From 5b0ce0251cdad763dff63f4ffbce64c5f6222a64 Mon Sep 17 00:00:00 2001 From: wanghao Date: Tue, 3 Dec 2024 19:40:23 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E4=BB=A3=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- package.json | 4 +- public/lib/Cesium/Cesium.js | 13508 ++++++------ .../lib/Cesium/ThirdParty/draco_decoder.wasm | Bin 285948 -> 285747 bytes .../{chunk-GFUBU5RD.js => chunk-2K72IAMD.js} | 16 +- .../{chunk-45FCQ3FJ.js => chunk-44LKXGXW.js} | 4 +- .../{chunk-CU5VINVO.js => chunk-46LYVLGL.js} | 4 +- .../{chunk-3U6PIWIV.js => chunk-4ALHVD6K.js} | 4 +- .../{chunk-6P5KAIBX.js => chunk-4BGNE6LH.js} | 4 +- .../{chunk-BUNDO2NJ.js => chunk-4ULMZV5R.js} | 4 +- .../{chunk-ZYB4DKDQ.js => chunk-5CZH3YOM.js} | 4 +- .../{chunk-YEGGJGFV.js => chunk-64YODNAO.js} | 4 +- .../{chunk-QTX6TFJQ.js => chunk-67ZE4UMX.js} | 4 +- .../{chunk-2NAI7YQ3.js => chunk-6DFUP66D.js} | 2 +- .../{chunk-ZPNGL6DU.js => chunk-6IQVYEBD.js} | 4 +- .../{chunk-CTEHZS7O.js => chunk-72NMS5KE.js} | 4 +- .../{chunk-UGB43LJM.js => chunk-A3VS2OZ2.js} | 4 +- .../{chunk-ESVPYFZH.js => chunk-ADZK2JLO.js} | 4 +- .../{chunk-ZDYLWKVC.js => chunk-AVHFP6LX.js} | 4 +- .../{chunk-S5WIMI2N.js => chunk-BMKF5JTH.js} | 4 +- .../{chunk-6X7WLTTW.js => chunk-BRDKDER4.js} | 2 +- .../{chunk-6KLVDWWE.js => chunk-CJFJKB5V.js} | 2 +- .../{chunk-YGSEQ273.js => chunk-D76R4V7H.js} | 4 +- .../{chunk-RAYRECQS.js => chunk-DW4EQ6YI.js} | 4 +- .../{chunk-WFZLZ2P5.js => chunk-E2XIHPTZ.js} | 4 +- .../{chunk-PFE76RUV.js => chunk-EXYLABM3.js} | 4 +- .../{chunk-ZKPELTMK.js => chunk-G6BZKWWN.js} | 4 +- .../{chunk-P75RMBWR.js => chunk-GCVZZUCS.js} | 4 +- .../{chunk-27UWHT4D.js => chunk-GNTVNTUY.js} | 4 +- .../{chunk-2HIRFTYB.js => chunk-GP5GXDAP.js} | 4 +- .../{chunk-QE3ZUOZY.js => chunk-GVFM5H7M.js} | 4 +- public/lib/Cesium/Workers/chunk-GXCW7MIH.js | 26 - .../{chunk-HBXZQO7G.js => chunk-HPB3ARQJ.js} | 4 +- .../{chunk-RFPX772U.js => chunk-HWH6BBH6.js} | 4 +- .../{chunk-UKRRGB4P.js => chunk-I66MFRXO.js} | 4 +- .../{chunk-KJJX7FYJ.js => chunk-J27DO7RZ.js} | 4 +- .../{chunk-3OZXQUAM.js => chunk-JHG5JGLM.js} | 4 +- .../{chunk-5E2B6U7T.js => chunk-JKCZ5NAK.js} | 4 +- .../{chunk-4TXI27XR.js => chunk-JLMPKQO4.js} | 4 +- .../{chunk-2744EW7N.js => chunk-LKADYPHQ.js} | 4 +- .../{chunk-AELLPJXN.js => chunk-LWGQRCCJ.js} | 4 +- .../{chunk-ZIUWYBT3.js => chunk-M2TWLQFJ.js} | 4 +- .../{chunk-U3H5JVOB.js => chunk-NIXFT7ZT.js} | 4 +- public/lib/Cesium/Workers/chunk-OWPC6DLM.js | 26 + .../{chunk-4FSVUTPL.js => chunk-OX5CTLXY.js} | 2 +- .../{chunk-A6IU7XS3.js => chunk-QIZB5B47.js} | 4 +- .../{chunk-DELT5W27.js => chunk-QT33UL57.js} | 4 +- .../{chunk-6YAFAZVV.js => chunk-RPAJTIFB.js} | 4 +- .../{chunk-542N7J5N.js => chunk-S4WTTFQO.js} | 4 +- .../{chunk-FEOZU7P7.js => chunk-SM4U4WO5.js} | 4 +- .../{chunk-ZXPIMV2C.js => chunk-SP2S5UZD.js} | 4 +- .../{chunk-XHJOIQBC.js => chunk-SXINKIB2.js} | 4 +- .../{chunk-JGTLNH7T.js => chunk-T7AQS7YI.js} | 4 +- .../{chunk-IFAARW2T.js => chunk-TP5B32RY.js} | 2 +- .../{chunk-FHVNMDL2.js => chunk-TZGYF5KJ.js} | 4 +- .../{chunk-35ZH4J6R.js => chunk-ULZ2QSU5.js} | 4 +- .../{chunk-JQWRUZSV.js => chunk-YEUI4ZO2.js} | 4 +- public/lib/Cesium/Workers/combineGeometry.js | 4 +- .../lib/Cesium/Workers/createBoxGeometry.js | 4 +- .../Workers/createBoxOutlineGeometry.js | 4 +- .../Cesium/Workers/createCircleGeometry.js | 4 +- .../Workers/createCircleOutlineGeometry.js | 4 +- .../Workers/createCoplanarPolygonGeometry.js | 4 +- .../createCoplanarPolygonOutlineGeometry.js | 4 +- .../Cesium/Workers/createCorridorGeometry.js | 4 +- .../Workers/createCorridorOutlineGeometry.js | 4 +- .../Cesium/Workers/createCylinderGeometry.js | 4 +- .../Workers/createCylinderOutlineGeometry.js | 4 +- .../Cesium/Workers/createEllipseGeometry.js | 4 +- .../Workers/createEllipseOutlineGeometry.js | 4 +- .../Cesium/Workers/createEllipsoidGeometry.js | 4 +- .../Workers/createEllipsoidOutlineGeometry.js | 4 +- .../Cesium/Workers/createFrustumGeometry.js | 4 +- .../Workers/createFrustumOutlineGeometry.js | 4 +- public/lib/Cesium/Workers/createGeometry.js | 4 +- .../Workers/createGroundPolylineGeometry.js | 4 +- .../lib/Cesium/Workers/createPlaneGeometry.js | 4 +- .../Workers/createPlaneOutlineGeometry.js | 4 +- .../Cesium/Workers/createPolygonGeometry.js | 4 +- .../Workers/createPolygonOutlineGeometry.js | 4 +- .../Cesium/Workers/createPolylineGeometry.js | 4 +- .../Workers/createPolylineVolumeGeometry.js | 4 +- .../createPolylineVolumeOutlineGeometry.js | 4 +- .../Cesium/Workers/createRectangleGeometry.js | 4 +- .../Workers/createRectangleOutlineGeometry.js | 4 +- .../Workers/createSimplePolylineGeometry.js | 4 +- .../Cesium/Workers/createSphereGeometry.js | 4 +- .../Workers/createSphereOutlineGeometry.js | 4 +- .../Workers/createTaskProcessorWorker.js | 4 +- .../createVectorTileClampedPolylines.js | 4 +- .../Workers/createVectorTileGeometries.js | 4 +- .../Cesium/Workers/createVectorTilePoints.js | 4 +- .../Workers/createVectorTilePolygons.js | 4 +- .../Workers/createVectorTilePolylines.js | 4 +- ...VerticesFromGoogleEarthEnterpriseBuffer.js | 4 +- .../Workers/createVerticesFromHeightmap.js | 4 +- .../createVerticesFromQuantizedTerrainMesh.js | 4 +- .../lib/Cesium/Workers/createWallGeometry.js | 4 +- .../Workers/createWallOutlineGeometry.js | 4 +- public/lib/Cesium/Workers/decodeDraco.js | 4 +- .../decodeGoogleEarthEnterprisePacket.js | 4 +- public/lib/Cesium/Workers/decodeI3S.js | 4 +- public/lib/Cesium/Workers/transcodeKTX2.js | 4 +- .../Cesium/Workers/transferTypedArrayTest.js | 2 +- .../Workers/upsampleQuantizedTerrainMesh.js | 4 +- public/lib/Cesium/index.cjs | 17850 +++++++-------- public/lib/Cesium/index.js | 17852 ++++++++-------- public/lib/mars3d/mars3d.css | 2 +- public/lib/mars3d/mars3d.d.ts | 124 +- public/lib/mars3d/mars3d.js | 4 +- .../mars3d/plugins/echarts/mars3d-echarts.js | 4 +- .../mars3d/plugins/heatmap/mars3d-heatmap.js | 4 +- public/lib/mars3d/plugins/mapv/mars3d-mapv.js | 4 +- .../lib/mars3d/plugins/space/mars3d-space.js | 4 +- public/lib/mars3d/plugins/wind/mars3d-wind.js | 4 +- src/components/mars-ui/README.md | 2 +- .../basis/clockAnimate-duration/map.js | 83 +- src/example/graphic/divGraphic/basis/map.js | 4 +- .../layer-graphic/draw/draw-model/index.vue | 2 +- src/example/layer-graphic/draw/draw/index.vue | 2 +- .../layer-graphic/draw/military/index.vue | 2 +- .../monomer/building-edit/index.vue | 2 +- .../monomer/household-edit/index.vue | 2 +- src/example/thing/analysis/measure/index.vue | 2 +- src/example/thing/other/task/CameraList.js | 2 +- src/example/thing/other/task/map.js | 34 + .../basic/graphic-editor/config/style.js | 19 + 126 files changed, 25403 insertions(+), 24565 deletions(-) rename public/lib/Cesium/Workers/{chunk-GFUBU5RD.js => chunk-2K72IAMD.js} (61%) rename public/lib/Cesium/Workers/{chunk-45FCQ3FJ.js => chunk-44LKXGXW.js} (96%) rename public/lib/Cesium/Workers/{chunk-CU5VINVO.js => chunk-46LYVLGL.js} (95%) rename public/lib/Cesium/Workers/{chunk-3U6PIWIV.js => chunk-4ALHVD6K.js} (90%) rename public/lib/Cesium/Workers/{chunk-6P5KAIBX.js => chunk-4BGNE6LH.js} (96%) rename public/lib/Cesium/Workers/{chunk-BUNDO2NJ.js => chunk-4ULMZV5R.js} (91%) rename public/lib/Cesium/Workers/{chunk-ZYB4DKDQ.js => chunk-5CZH3YOM.js} (93%) rename public/lib/Cesium/Workers/{chunk-YEGGJGFV.js => chunk-64YODNAO.js} (94%) rename public/lib/Cesium/Workers/{chunk-QTX6TFJQ.js => chunk-67ZE4UMX.js} (90%) rename public/lib/Cesium/Workers/{chunk-2NAI7YQ3.js => chunk-6DFUP66D.js} (99%) rename public/lib/Cesium/Workers/{chunk-ZPNGL6DU.js => chunk-6IQVYEBD.js} (85%) rename public/lib/Cesium/Workers/{chunk-CTEHZS7O.js => chunk-72NMS5KE.js} (91%) rename public/lib/Cesium/Workers/{chunk-UGB43LJM.js => chunk-A3VS2OZ2.js} (90%) rename public/lib/Cesium/Workers/{chunk-ESVPYFZH.js => chunk-ADZK2JLO.js} (91%) rename public/lib/Cesium/Workers/{chunk-ZDYLWKVC.js => chunk-AVHFP6LX.js} (90%) rename public/lib/Cesium/Workers/{chunk-S5WIMI2N.js => chunk-BMKF5JTH.js} (94%) rename public/lib/Cesium/Workers/{chunk-6X7WLTTW.js => chunk-BRDKDER4.js} (95%) rename public/lib/Cesium/Workers/{chunk-6KLVDWWE.js => chunk-CJFJKB5V.js} (95%) rename public/lib/Cesium/Workers/{chunk-YGSEQ273.js => chunk-D76R4V7H.js} (83%) rename public/lib/Cesium/Workers/{chunk-RAYRECQS.js => chunk-DW4EQ6YI.js} (97%) rename public/lib/Cesium/Workers/{chunk-WFZLZ2P5.js => chunk-E2XIHPTZ.js} (90%) rename public/lib/Cesium/Workers/{chunk-PFE76RUV.js => chunk-EXYLABM3.js} (97%) rename public/lib/Cesium/Workers/{chunk-ZKPELTMK.js => chunk-G6BZKWWN.js} (89%) rename public/lib/Cesium/Workers/{chunk-P75RMBWR.js => chunk-GCVZZUCS.js} (97%) rename public/lib/Cesium/Workers/{chunk-27UWHT4D.js => chunk-GNTVNTUY.js} (94%) rename public/lib/Cesium/Workers/{chunk-2HIRFTYB.js => chunk-GP5GXDAP.js} (90%) rename public/lib/Cesium/Workers/{chunk-QE3ZUOZY.js => chunk-GVFM5H7M.js} (91%) delete mode 100644 public/lib/Cesium/Workers/chunk-GXCW7MIH.js rename public/lib/Cesium/Workers/{chunk-HBXZQO7G.js => chunk-HPB3ARQJ.js} (88%) rename public/lib/Cesium/Workers/{chunk-RFPX772U.js => chunk-HWH6BBH6.js} (99%) rename public/lib/Cesium/Workers/{chunk-UKRRGB4P.js => chunk-I66MFRXO.js} (89%) rename public/lib/Cesium/Workers/{chunk-KJJX7FYJ.js => chunk-J27DO7RZ.js} (92%) rename public/lib/Cesium/Workers/{chunk-3OZXQUAM.js => chunk-JHG5JGLM.js} (88%) rename public/lib/Cesium/Workers/{chunk-5E2B6U7T.js => chunk-JKCZ5NAK.js} (88%) rename public/lib/Cesium/Workers/{chunk-4TXI27XR.js => chunk-JLMPKQO4.js} (96%) rename public/lib/Cesium/Workers/{chunk-2744EW7N.js => chunk-LKADYPHQ.js} (95%) rename public/lib/Cesium/Workers/{chunk-AELLPJXN.js => chunk-LWGQRCCJ.js} (97%) rename public/lib/Cesium/Workers/{chunk-ZIUWYBT3.js => chunk-M2TWLQFJ.js} (83%) rename public/lib/Cesium/Workers/{chunk-U3H5JVOB.js => chunk-NIXFT7ZT.js} (91%) create mode 100644 public/lib/Cesium/Workers/chunk-OWPC6DLM.js rename public/lib/Cesium/Workers/{chunk-4FSVUTPL.js => chunk-OX5CTLXY.js} (97%) rename public/lib/Cesium/Workers/{chunk-A6IU7XS3.js => chunk-QIZB5B47.js} (93%) rename public/lib/Cesium/Workers/{chunk-DELT5W27.js => chunk-QT33UL57.js} (94%) rename public/lib/Cesium/Workers/{chunk-6YAFAZVV.js => chunk-RPAJTIFB.js} (92%) rename public/lib/Cesium/Workers/{chunk-542N7J5N.js => chunk-S4WTTFQO.js} (96%) rename public/lib/Cesium/Workers/{chunk-FEOZU7P7.js => chunk-SM4U4WO5.js} (99%) rename public/lib/Cesium/Workers/{chunk-ZXPIMV2C.js => chunk-SP2S5UZD.js} (94%) rename public/lib/Cesium/Workers/{chunk-XHJOIQBC.js => chunk-SXINKIB2.js} (97%) rename public/lib/Cesium/Workers/{chunk-JGTLNH7T.js => chunk-T7AQS7YI.js} (89%) rename public/lib/Cesium/Workers/{chunk-IFAARW2T.js => chunk-TP5B32RY.js} (95%) rename public/lib/Cesium/Workers/{chunk-FHVNMDL2.js => chunk-TZGYF5KJ.js} (94%) rename public/lib/Cesium/Workers/{chunk-35ZH4J6R.js => chunk-ULZ2QSU5.js} (89%) rename public/lib/Cesium/Workers/{chunk-JQWRUZSV.js => chunk-YEUI4ZO2.js} (93%) diff --git a/package.json b/package.json index e4baf82fe..0ce59b1b9 100644 --- a/package.json +++ b/package.json @@ -25,8 +25,8 @@ "echarts": "^5.5.0", "localforage": "^1.10.0", "lodash-es": "^4.17.21", - "mars3d": "~3.8.7", - "mars3d-cesium": "^1.123.0", + "mars3d": "~3.8.8", + "mars3d-cesium": "^1.124.0", "monaco-editor": "^0.46.0", "nprogress": "^0.2.0", "serve": "^14.2.1", diff --git a/public/lib/Cesium/Cesium.js b/public/lib/Cesium/Cesium.js index 9308f9e7b..f6efec01d 100644 --- a/public/lib/Cesium/Cesium.js +++ b/public/lib/Cesium/Cesium.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,7 +23,7 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -var Cesium=(()=>{var ICe=Object.create;var UM=Object.defineProperty;var XCe=Object.getOwnPropertyDescriptor;var WCe=Object.getOwnPropertyNames;var PCe=Object.getPrototypeOf,vCe=Object.prototype.hasOwnProperty;var DM=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var fl=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),wCe=(e,t)=>{for(var n in t)UM(e,n,{get:t[n],enumerable:!0})},hq=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of WCe(t))!vCe.call(e,o)&&o!==n&&UM(e,o,{get:()=>t[o],enumerable:!(i=XCe(t,o))||i.enumerable});return e};var T=(e,t,n)=>(n=e!=null?ICe(PCe(e)):{},hq(t||!e||!e.__esModule?UM(n,"default",{value:e,enumerable:!0}):n,e)),FCe=e=>hq(UM({},"__esModule",{value:!0}),e);var S=fl(()=>{globalThis.CESIUM_WORKERS=atob("dmFyIENlc2l1bVdvcmtlcnM9KCgpPT57dmFyIFlTPU9iamVjdC5jcmVhdGU7dmFyIEJsPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgJFM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgWlM9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyIFFTPU9iamVjdC5nZXRQcm90b3R5cGVPZixKUz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBwcj0odD0+dHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6dHlwZW9mIFByb3h5PCJ1Ij9uZXcgUHJveHkodCx7Z2V0OihlLG4pPT4odHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6ZSlbbl19KTp0KShmdW5jdGlvbih0KXtpZih0eXBlb2YgcmVxdWlyZTwidSIpcmV0dXJuIHJlcXVpcmUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3Rocm93IEVycm9yKCdEeW5hbWljIHJlcXVpcmUgb2YgIicrdCsnIiBpcyBub3Qgc3VwcG9ydGVkJyl9KSxsMT10PT5lPT57dmFyIG49dFtlXTtpZihuKXJldHVybiBuKCk7dGhyb3cgbmV3IEVycm9yKCJNb2R1bGUgbm90IGZvdW5kIGluIGJ1bmRsZTogIitlKX07dmFyIFo9KHQsZSk9PigpPT4odCYmKGU9dCh0PTApKSxlKTt2YXIgWG49KHQsZSk9PigpPT4oZXx8dCgoZT17ZXhwb3J0czp7fX0pLmV4cG9ydHMsZSksZS5leHBvcnRzKSxkZT0odCxlKT0+e2Zvcih2YXIgbiBpbiBlKUJsKHQsbix7Z2V0OmVbbl0sZW51bWVyYWJsZTohMH0pfSxwMT0odCxlLG4sbyk9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgciBvZiBaUyhlKSkhSlMuY2FsbCh0LHIpJiZyIT09biYmQmwodCxyLHtnZXQ6KCk9PmVbcl0sZW51bWVyYWJsZTohKG89JFMoZSxyKSl8fG8uZW51bWVyYWJsZX0pO3JldHVybiB0fTt2YXIgZHI9KHQsZSxuKT0+KG49dCE9bnVsbD9ZUyhRUyh0KSk6e30scDEoZXx8IXR8fCF0Ll9fZXNNb2R1bGU/QmwobiwiZGVmYXVsdCIse3ZhbHVlOnQsZW51bWVyYWJsZTohMH0pOm4sdCkpLHRDPXQ9PnAxKEJsKHt9LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0KTtmdW5jdGlvbiBlQyh0KXtyZXR1cm4gdCE9bnVsbH12YXIgaCxmdD1aKCgpPT57aD1lQ30pO2Z1bmN0aW9uIFZzKHQpe3RoaXMubmFtZT0iRGV2ZWxvcGVyRXJyb3IiLHRoaXMubWVzc2FnZT10O2xldCBlO3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2gobil7ZT1uLnN0YWNrfXRoaXMuc3RhY2s9ZX12YXIgRixIdD1aKCgpPT57ZnQoKTtoKE9iamVjdC5jcmVhdGUpJiYoVnMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxWcy5wcm90b3R5cGUuY29uc3RydWN0b3I9VnMpO1ZzLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe2xldCB0PWAke3RoaXMubmFtZX06ICR7dGhpcy5tZXNzYWdlfWA7cmV0dXJuIGgodGhpcy5zdGFjaykmJih0Kz1gCiR7dGhpcy5zdGFjay50b1N0cmluZygpfWApLHR9O1ZzLnRocm93SW5zdGFudGlhdGlvbkVycm9yPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IFZzKCJUaGlzIGZ1bmN0aW9uIGRlZmluZXMgYW4gaW50ZXJmYWNlIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS4iKX07Rj1Wc30pO2Z1bmN0aW9uIG5DKHQpe3JldHVybmAke3R9IGlzIHJlcXVpcmVkLCBhY3R1YWwgdmFsdWUgd2FzIHVuZGVmaW5lZGB9ZnVuY3Rpb24gemModCxlLG4pe3JldHVybmBFeHBlY3RlZCAke259IHRvIGJlIHR5cGVvZiAke2V9LCBhY3R1YWwgdHlwZW9mIHdhcyAke3R9YH12YXIgWW4seSxYdD1aKCgpPT57ZnQoKTtIdCgpO1luPXt9O1luLnR5cGVPZj17fTtZbi5kZWZpbmVkPWZ1bmN0aW9uKHQsZSl7aWYoIWgoZSkpdGhyb3cgbmV3IEYobkModCkpfTtZbi50eXBlT2YuZnVuYz1mdW5jdGlvbih0LGUpe2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBGKHpjKHR5cGVvZiBlLCJmdW5jdGlvbiIsdCkpfTtZbi50eXBlT2Yuc3RyaW5nPWZ1bmN0aW9uKHQsZSl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBGKHpjKHR5cGVvZiBlLCJzdHJpbmciLHQpKX07WW4udHlwZU9mLm51bWJlcj1mdW5jdGlvbih0LGUpe2lmKHR5cGVvZiBlIT0ibnVtYmVyIil0aHJvdyBuZXcgRih6Yyh0eXBlb2YgZSwibnVtYmVyIix0KSl9O1luLnR5cGVPZi5udW1iZXIubGVzc1RoYW49ZnVuY3Rpb24odCxlLG4pe2lmKFluLnR5cGVPZi5udW1iZXIodCxlKSxlPj1uKXRocm93IG5ldyBGKGBFeHBlY3RlZCAke3R9IHRvIGJlIGxlc3MgdGhhbiAke259LCBhY3R1YWwgdmFsdWUgd2FzICR7ZX1gKX07WW4udHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzPWZ1bmN0aW9uKHQsZSxuKXtpZihZbi50eXBlT2YubnVtYmVyKHQsZSksZT5uKXRocm93IG5ldyBGKGBFeHBlY3RlZCAke3R9IHRvIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAke259LCBhY3R1YWwgdmFsdWUgd2FzICR7ZX1gKX07WW4udHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbj1mdW5jdGlvbih0LGUsbil7aWYoWW4udHlwZU9mLm51bWJlcih0LGUpLGU8PW4pdGhyb3cgbmV3IEYoYEV4cGVjdGVkICR7dH0gdG8gYmUgZ3JlYXRlciB0aGFuICR7bn0sIGFjdHVhbCB2YWx1ZSB3YXMgJHtlfWApfTtZbi50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHM9ZnVuY3Rpb24odCxlLG4pe2lmKFluLnR5cGVPZi5udW1iZXIodCxlKSxlPG4pdGhyb3cgbmV3IEYoYEV4cGVjdGVkICR7dH0gdG8gYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICR7bn0sIGFjdHVhbCB2YWx1ZSB3YXMgJHtlfWApfTtZbi50eXBlT2Yub2JqZWN0PWZ1bmN0aW9uKHQsZSl7aWYodHlwZW9mIGUhPSJvYmplY3QiKXRocm93IG5ldyBGKHpjKHR5cGVvZiBlLCJvYmplY3QiLHQpKX07WW4udHlwZU9mLmJvb2w9ZnVuY3Rpb24odCxlKXtpZih0eXBlb2YgZSE9ImJvb2xlYW4iKXRocm93IG5ldyBGKHpjKHR5cGVvZiBlLCJib29sZWFuIix0KSl9O1luLnR5cGVPZi5iaWdpbnQ9ZnVuY3Rpb24odCxlKXtpZih0eXBlb2YgZSE9ImJpZ2ludCIpdGhyb3cgbmV3IEYoemModHlwZW9mIGUsImJpZ2ludCIsdCkpfTtZbi50eXBlT2YubnVtYmVyLmVxdWFscz1mdW5jdGlvbih0LGUsbixvKXtpZihZbi50eXBlT2YubnVtYmVyKHQsbiksWW4udHlwZU9mLm51bWJlcihlLG8pLG4hPT1vKXRocm93IG5ldyBGKGAke3R9IG11c3QgYmUgZXF1YWwgdG8gJHtlfSwgdGhlIGFjdHVhbCB2YWx1ZXMgYXJlICR7bn0gYW5kICR7b31gKX07eT1Zbn0pO2Z1bmN0aW9uIGQxKHQsZSl7cmV0dXJuIHQ/P2V9dmFyIHgsSXQ9WigoKT0+e2QxLkVNUFRZX09CSkVDVD1PYmplY3QuZnJlZXplKHt9KTt4PWQxfSk7dmFyIGgxPVhuKChXVixtMSk9Pnt2YXIgUmk9ZnVuY3Rpb24odCl7dD09bnVsbCYmKHQ9bmV3IERhdGUoKS5nZXRUaW1lKCkpLHRoaXMuTj02MjQsdGhpcy5NPTM5Nyx0aGlzLk1BVFJJWF9BPTI1Njc0ODM2MTUsdGhpcy5VUFBFUl9NQVNLPTIxNDc0ODM2NDgsdGhpcy5MT1dFUl9NQVNLPTIxNDc0ODM2NDcsdGhpcy5tdD1uZXcgQXJyYXkodGhpcy5OKSx0aGlzLm10aT10aGlzLk4rMSx0LmNvbnN0cnVjdG9yPT1BcnJheT90aGlzLmluaXRfYnlfYXJyYXkodCx0Lmxlbmd0aCk6dGhpcy5pbml0X3NlZWQodCl9O1JpLnByb3RvdHlwZS5pbml0X3NlZWQ9ZnVuY3Rpb24odCl7Zm9yKHRoaXMubXRbMF09dD4+PjAsdGhpcy5tdGk9MTt0aGlzLm10aTx0aGlzLk47dGhpcy5tdGkrKyl7dmFyIHQ9dGhpcy5tdFt0aGlzLm10aS0xXV50aGlzLm10W3RoaXMubXRpLTFdPj4+MzA7dGhpcy5tdFt0aGlzLm10aV09KCgodCY0Mjk0OTAxNzYwKT4+PjE2KSoxODEyNDMzMjUzPDwxNikrKHQmNjU1MzUpKjE4MTI0MzMyNTMrdGhpcy5tdGksdGhpcy5tdFt0aGlzLm10aV0+Pj49MH19O1JpLnByb3RvdHlwZS5pbml0X2J5X2FycmF5PWZ1bmN0aW9uKHQsZSl7dmFyIG4sbyxyO2Zvcih0aGlzLmluaXRfc2VlZCgxOTY1MDIxOCksbj0xLG89MCxyPXRoaXMuTj5lP3RoaXMuTjplO3I7ci0tKXt2YXIgaT10aGlzLm10W24tMV1edGhpcy5tdFtuLTFdPj4+MzA7dGhpcy5tdFtuXT0odGhpcy5tdFtuXV4oKChpJjQyOTQ5MDE3NjApPj4+MTYpKjE2NjQ1MjU8PDE2KSsoaSY2NTUzNSkqMTY2NDUyNSkrdFtvXStvLHRoaXMubXRbbl0+Pj49MCxuKyssbysrLG4+PXRoaXMuTiYmKHRoaXMubXRbMF09dGhpcy5tdFt0aGlzLk4tMV0sbj0xKSxvPj1lJiYobz0wKX1mb3Iocj10aGlzLk4tMTtyO3ItLSl7dmFyIGk9dGhpcy5tdFtuLTFdXnRoaXMubXRbbi0xXT4+PjMwO3RoaXMubXRbbl09KHRoaXMubXRbbl1eKCgoaSY0Mjk0OTAxNzYwKT4+PjE2KSoxNTY2MDgzOTQxPDwxNikrKGkmNjU1MzUpKjE1NjYwODM5NDEpLW4sdGhpcy5tdFtuXT4+Pj0wLG4rKyxuPj10aGlzLk4mJih0aGlzLm10WzBdPXRoaXMubXRbdGhpcy5OLTFdLG49MSl9dGhpcy5tdFswXT0yMTQ3NDgzNjQ4fTtSaS5wcm90b3R5cGUucmFuZG9tX2ludD1mdW5jdGlvbigpe3ZhciB0LGU9bmV3IEFycmF5KDAsdGhpcy5NQVRSSVhfQSk7aWYodGhpcy5tdGk+PXRoaXMuTil7dmFyIG47Zm9yKHRoaXMubXRpPT10aGlzLk4rMSYmdGhpcy5pbml0X3NlZWQoNTQ4OSksbj0wO248dGhpcy5OLXRoaXMuTTtuKyspdD10aGlzLm10W25dJnRoaXMuVVBQRVJfTUFTS3x0aGlzLm10W24rMV0mdGhpcy5MT1dFUl9NQVNLLHRoaXMubXRbbl09dGhpcy5tdFtuK3RoaXMuTV1edD4+PjFeZVt0JjFdO2Zvcig7bjx0aGlzLk4tMTtuKyspdD10aGlzLm10W25dJnRoaXMuVVBQRVJfTUFTS3x0aGlzLm10W24rMV0mdGhpcy5MT1dFUl9NQVNLLHRoaXMubXRbbl09dGhpcy5tdFtuKyh0aGlzLk0tdGhpcy5OKV1edD4+PjFeZVt0JjFdO3Q9dGhpcy5tdFt0aGlzLk4tMV0mdGhpcy5VUFBFUl9NQVNLfHRoaXMubXRbMF0mdGhpcy5MT1dFUl9NQVNLLHRoaXMubXRbdGhpcy5OLTFdPXRoaXMubXRbdGhpcy5NLTFdXnQ+Pj4xXmVbdCYxXSx0aGlzLm10aT0wfXJldHVybiB0PXRoaXMubXRbdGhpcy5tdGkrK10sdF49dD4+PjExLHRePXQ8PDcmMjYzNjkyODY0MCx0Xj10PDwxNSY0MDIyNzMwNzUyLHRePXQ+Pj4xOCx0Pj4+MH07UmkucHJvdG90eXBlLnJhbmRvbV9pbnQzMT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJhbmRvbV9pbnQoKT4+PjF9O1JpLnByb3RvdHlwZS5yYW5kb21faW5jbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJhbmRvbV9pbnQoKSooMS80Mjk0OTY3Mjk1KX07UmkucHJvdG90eXBlLnJhbmRvbT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJhbmRvbV9pbnQoKSooMS80Mjk0OTY3Mjk2KX07UmkucHJvdG90eXBlLnJhbmRvbV9leGNsPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmFuZG9tX2ludCgpKy41KSooMS80Mjk0OTY3Mjk2KX07UmkucHJvdG90eXBlLnJhbmRvbV9sb25nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yYW5kb21faW50KCk+Pj41LGU9dGhpcy5yYW5kb21faW50KCk+Pj42O3JldHVybih0KjY3MTA4ODY0K2UpKigxLzkwMDcxOTkyNTQ3NDA5OTIpfTttMS5leHBvcnRzPVJpfSk7dmFyIE9tLHh0LFVsLF8xLE0sV3Q9WigoKT0+e09tPWRyKGgxKCksMSk7WHQoKTtJdCgpO2Z0KCk7SHQoKTt4dD17fTt4dC5FUFNJTE9OMT0uMTt4dC5FUFNJTE9OMj0uMDE7eHQuRVBTSUxPTjM9LjAwMTt4dC5FUFNJTE9OND0xZS00O3h0LkVQU0lMT041PTFlLTU7eHQuRVBTSUxPTjY9MWUtNjt4dC5FUFNJTE9ONz0xZS03O3h0LkVQU0lMT044PTFlLTg7eHQuRVBTSUxPTjk9MWUtOTt4dC5FUFNJTE9OMTA9MWUtMTA7eHQuRVBTSUxPTjExPTFlLTExO3h0LkVQU0lMT04xMj0xZS0xMjt4dC5FUFNJTE9OMTM9MWUtMTM7eHQuRVBTSUxPTjE0PTFlLTE0O3h0LkVQU0lMT04xNT0xZS0xNTt4dC5FUFNJTE9OMTY9MWUtMTY7eHQuRVBTSUxPTjE3PTFlLTE3O3h0LkVQU0lMT04xOD0xZS0xODt4dC5FUFNJTE9OMTk9MWUtMTk7eHQuRVBTSUxPTjIwPTFlLTIwO3h0LkVQU0lMT04yMT0xZS0yMTt4dC5HUkFWSVRBVElPTkFMUEFSQU1FVEVSPTM5ODYwMDQ0MThlNTt4dC5TT0xBUl9SQURJVVM9Njk1NWU1O3h0LkxVTkFSX1JBRElVUz0xNzM3NDAwO3h0LlNJWFRZX0ZPVVJfS0lMT0JZVEVTPTY0KjEwMjQ7eHQuRk9VUl9HSUdBQllURVM9NCoxMDI0KjEwMjQqMTAyNDt4dC5zaWduPXgoTWF0aC5zaWduLGZ1bmN0aW9uKGUpe3JldHVybiBlPStlLGU9PT0wfHxlIT09ZT9lOmU+MD8xOi0xfSk7eHQuc2lnbk5vdFplcm89ZnVuY3Rpb24odCl7cmV0dXJuIHQ8MD8tMToxfTt4dC50b1NOb3JtPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU9eChlLDI1NSksTWF0aC5yb3VuZCgoeHQuY2xhbXAodCwtMSwxKSouNSsuNSkqZSl9O3h0LmZyb21TTm9ybT1mdW5jdGlvbih0LGUpe3JldHVybiBlPXgoZSwyNTUpLHh0LmNsYW1wKHQsMCxlKS9lKjItMX07eHQubm9ybWFsaXplPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj1NYXRoLm1heChuLWUsMCksbj09PTA/MDp4dC5jbGFtcCgodC1lKS9uLDAsMSl9O3h0LnNpbmg9eChNYXRoLnNpbmgsZnVuY3Rpb24oZSl7cmV0dXJuKE1hdGguZXhwKGUpLU1hdGguZXhwKC1lKSkvMn0pO3h0LmNvc2g9eChNYXRoLmNvc2gsZnVuY3Rpb24oZSl7cmV0dXJuKE1hdGguZXhwKGUpK01hdGguZXhwKC1lKSkvMn0pO3h0LmxlcnA9ZnVuY3Rpb24odCxlLG4pe3JldHVybigxLW4pKnQrbiplfTt4dC5QST1NYXRoLlBJO3h0Lk9ORV9PVkVSX1BJPTEvTWF0aC5QSTt4dC5QSV9PVkVSX1RXTz1NYXRoLlBJLzI7eHQuUElfT1ZFUl9USFJFRT1NYXRoLlBJLzM7eHQuUElfT1ZFUl9GT1VSPU1hdGguUEkvNDt4dC5QSV9PVkVSX1NJWD1NYXRoLlBJLzY7eHQuVEhSRUVfUElfT1ZFUl9UV089MypNYXRoLlBJLzI7eHQuVFdPX1BJPTIqTWF0aC5QSTt4dC5PTkVfT1ZFUl9UV09fUEk9MS8oMipNYXRoLlBJKTt4dC5SQURJQU5TX1BFUl9ERUdSRUU9TWF0aC5QSS8xODA7eHQuREVHUkVFU19QRVJfUkFESUFOPTE4MC9NYXRoLlBJO3h0LlJBRElBTlNfUEVSX0FSQ1NFQ09ORD14dC5SQURJQU5TX1BFUl9ERUdSRUUvMzYwMDt4dC50b1JhZGlhbnM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImRlZ3JlZXMgaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQqeHQuUkFESUFOU19QRVJfREVHUkVFfTt4dC50b0RlZ3JlZXM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEYoInJhZGlhbnMgaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQqeHQuREVHUkVFU19QRVJfUkFESUFOfTt4dC5jb252ZXJ0TG9uZ2l0dWRlUmFuZ2U9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImFuZ2xlIGlzIHJlcXVpcmVkLiIpO2xldCBlPXh0LlRXT19QSSxuPXQtTWF0aC5mbG9vcih0L2UpKmU7cmV0dXJuIG48LU1hdGguUEk/bitlOm4+PU1hdGguUEk/bi1lOm59O3h0LmNsYW1wVG9MYXRpdHVkZVJhbmdlPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhbmdsZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4geHQuY2xhbXAodCwtMSp4dC5QSV9PVkVSX1RXTyx4dC5QSV9PVkVSX1RXTyl9O3h0Lm5lZ2F0aXZlUGlUb1BpPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhbmdsZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdD49LXh0LlBJJiZ0PD14dC5QST90Onh0Lnplcm9Ub1R3b1BpKHQreHQuUEkpLXh0LlBJfTt4dC56ZXJvVG9Ud29QaT1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigiYW5nbGUgaXMgcmVxdWlyZWQuIik7aWYodD49MCYmdDw9eHQuVFdPX1BJKXJldHVybiB0O2xldCBlPXh0Lm1vZCh0LHh0LlRXT19QSSk7cmV0dXJuIE1hdGguYWJzKGUpPHh0LkVQU0lMT04xNCYmTWF0aC5hYnModCk+eHQuRVBTSUxPTjE0P3h0LlRXT19QSTplfTt4dC5tb2Q9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigibSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigibiBpcyByZXF1aXJlZC4iKTtpZihlPT09MCl0aHJvdyBuZXcgRigiZGl2aXNvciBjYW5ub3QgYmUgMC4iKTtyZXR1cm4geHQuc2lnbih0KT09PXh0LnNpZ24oZSkmJk1hdGguYWJzKHQpPE1hdGguYWJzKGUpP3Q6KHQlZStlKSVlfTt4dC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJsZWZ0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJyaWdodCBpcyByZXF1aXJlZC4iKTtuPXgobiwwKSxvPXgobyxuKTtsZXQgcj1NYXRoLmFicyh0LWUpO3JldHVybiByPD1vfHxyPD1uKk1hdGgubWF4KE1hdGguYWJzKHQpLE1hdGguYWJzKGUpKX07eHQubGVzc1RoYW49ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJmaXJzdCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigic2Vjb25kIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJhYnNvbHV0ZUVwc2lsb24gaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQtZTwtbn07eHQubGVzc1RoYW5PckVxdWFscz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImZpcnN0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJzZWNvbmQgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoImFic29sdXRlRXBzaWxvbiBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdC1lPG59O3h0LmdyZWF0ZXJUaGFuPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigiZmlyc3QgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoInNlY29uZCBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigiYWJzb2x1dGVFcHNpbG9uIGlzIHJlcXVpcmVkLiIpO3JldHVybiB0LWU+bn07eHQuZ3JlYXRlclRoYW5PckVxdWFscz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImZpcnN0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJzZWNvbmQgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoImFic29sdXRlRXBzaWxvbiBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdC1lPi1ufTtVbD1bMV07eHQuZmFjdG9yaWFsPWZ1bmN0aW9uKHQpe2lmKHR5cGVvZiB0IT0ibnVtYmVyInx8dDwwKXRocm93IG5ldyBGKCJBIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCBpcyByZXF1aXJlZC4iKTtsZXQgZT1VbC5sZW5ndGg7aWYodD49ZSl7bGV0IG49VWxbZS0xXTtmb3IobGV0IG89ZTtvPD10O28rKyl7bGV0IHI9bipvO1VsLnB1c2gociksbj1yfX1yZXR1cm4gVWxbdF19O3h0LmluY3JlbWVudFdyYXA9ZnVuY3Rpb24odCxlLG4pe2lmKG49eChuLDApLCFoKHQpKXRocm93IG5ldyBGKCJuIGlzIHJlcXVpcmVkLiIpO2lmKGU8PW4pdGhyb3cgbmV3IEYoIm1heGltdW1WYWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBtaW5pbXVtVmFsdWUuIik7cmV0dXJuKyt0LHQ+ZSYmKHQ9biksdH07eHQuaXNQb3dlck9mVHdvPWZ1bmN0aW9uKHQpe2lmKHR5cGVvZiB0IT0ibnVtYmVyInx8dDwwfHx0PjQyOTQ5NjcyOTUpdGhyb3cgbmV3IEYoIkEgbnVtYmVyIGJldHdlZW4gMCBhbmQgKDJeMzIpLTEgaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQhPT0wJiYodCZ0LTEpPT09MH07eHQubmV4dFBvd2VyT2ZUd289ZnVuY3Rpb24odCl7aWYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHQ+MjE0NzQ4MzY0OCl0aHJvdyBuZXcgRigiQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAyXjMxIGlzIHJlcXVpcmVkLiIpO3JldHVybi0tdCx0fD10Pj4xLHR8PXQ+PjIsdHw9dD4+NCx0fD10Pj44LHR8PXQ+PjE2LCsrdCx0fTt4dC5wcmV2aW91c1Bvd2VyT2ZUd289ZnVuY3Rpb24odCl7aWYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHQ+NDI5NDk2NzI5NSl0aHJvdyBuZXcgRigiQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAoMl4zMiktMSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdHw9dD4+MSx0fD10Pj4yLHR8PXQ+PjQsdHw9dD4+OCx0fD10Pj4xNix0fD10Pj4zMix0PSh0Pj4+MCktKHQ+Pj4xKSx0fTt4dC5jbGFtcD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm51bWJlcigidmFsdWUiLHQpLHkudHlwZU9mLm51bWJlcigibWluIixlKSx5LnR5cGVPZi5udW1iZXIoIm1heCIsbiksdDxlP2U6dD5uP246dH07XzE9bmV3IE9tLmRlZmF1bHQ7eHQuc2V0UmFuZG9tTnVtYmVyU2VlZD1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigic2VlZCBpcyByZXF1aXJlZC4iKTtfMT1uZXcgT20uZGVmYXVsdCh0KX07eHQubmV4dFJhbmRvbU51bWJlcj1mdW5jdGlvbigpe3JldHVybiBfMS5yYW5kb20oKX07eHQucmFuZG9tQmV0d2Vlbj1mdW5jdGlvbih0LGUpe3JldHVybiB4dC5uZXh0UmFuZG9tTnVtYmVyKCkqKGUtdCkrdH07eHQuYWNvc0NsYW1wZWQ9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEYoInZhbHVlIGlzIHJlcXVpcmVkLiIpO3JldHVybiBNYXRoLmFjb3MoeHQuY2xhbXAodCwtMSwxKSl9O3h0LmFzaW5DbGFtcGVkPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJ2YWx1ZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gTWF0aC5hc2luKHh0LmNsYW1wKHQsLTEsMSkpfTt4dC5jaG9yZExlbmd0aD1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhbmdsZSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigicmFkaXVzIGlzIHJlcXVpcmVkLiIpO3JldHVybiAyKmUqTWF0aC5zaW4odCouNSl9O3h0LmxvZ0Jhc2U9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigibnVtYmVyIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJiYXNlIGlzIHJlcXVpcmVkLiIpO3JldHVybiBNYXRoLmxvZyh0KS9NYXRoLmxvZyhlKX07eHQuY2JydD14KE1hdGguY2JydCxmdW5jdGlvbihlKXtsZXQgbj1NYXRoLnBvdyhNYXRoLmFicyhlKSwuMzMzMzMzMzMzMzMzMzMzMyk7cmV0dXJuIGU8MD8tbjpufSk7eHQubG9nMj14KE1hdGgubG9nMixmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5sb2coZSkqTWF0aC5MT0cyRX0pO3h0LmZvZz1mdW5jdGlvbih0LGUpe2xldCBuPXQqZTtyZXR1cm4gMS1NYXRoLmV4cCgtKG4qbikpfTt4dC5mYXN0QXBwcm94aW1hdGVBdGFuPWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoIngiLHQpLHQqKC0uMTc4NCpNYXRoLmFicyh0KS0uMDY2Myp0KnQrMS4wMzAxKX07eHQuZmFzdEFwcHJveGltYXRlQXRhbjI9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5udW1iZXIoIngiLHQpLHkudHlwZU9mLm51bWJlcigieSIsZSk7bGV0IG4sbz1NYXRoLmFicyh0KTtuPU1hdGguYWJzKGUpO2xldCByPU1hdGgubWF4KG8sbik7bj1NYXRoLm1pbihvLG4pO2xldCBpPW4vcjtpZihpc05hTihpKSl0aHJvdyBuZXcgRigiZWl0aGVyIHggb3IgeSBtdXN0IGJlIG5vbnplcm8iKTtyZXR1cm4gbz14dC5mYXN0QXBwcm94aW1hdGVBdGFuKGkpLG89TWF0aC5hYnMoZSk+TWF0aC5hYnModCk/eHQuUElfT1ZFUl9UV08tbzpvLG89dDwwP3h0LlBJLW86byxvPWU8MD8tbzpvLG99O009eHR9KTtmdW5jdGlvbiBidCh0LGUsbil7dGhpcy54PXgodCwwKSx0aGlzLnk9eChlLDApLHRoaXMuej14KG4sMCl9dmFyIGtsLHkxLFZsLEVtLG9DLG1yLGpjLGEsRnQ9WigoKT0+e1h0KCk7SXQoKTtmdCgpO0h0KCk7V3QoKTtidC5mcm9tU3BoZXJpY2FsPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJzcGhlcmljYWwiLHQpLGgoZSl8fChlPW5ldyBidCk7bGV0IG49dC5jbG9jayxvPXQuY29uZSxyPXgodC5tYWduaXR1ZGUsMSksaT1yKk1hdGguc2luKG8pO3JldHVybiBlLng9aSpNYXRoLmNvcyhuKSxlLnk9aSpNYXRoLnNpbihuKSxlLno9cipNYXRoLmNvcyhvKSxlfTtidC5mcm9tRWxlbWVudHM9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIGgobyk/KG8ueD10LG8ueT1lLG8uej1uLG8pOm5ldyBidCh0LGUsbil9O2J0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS54PXQueCxlLnk9dC55LGUuej10LnosZSk6bmV3IGJ0KHQueCx0LnksdC56KX07YnQuZnJvbUNhcnRlc2lhbjQ9YnQuY2xvbmU7YnQucGFja2VkTGVuZ3RoPTM7YnQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuKytdPXQueSxlW25dPXQueixlfTtidC51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKSxoKG4pfHwobj1uZXcgYnQpLG4ueD10W2UrK10sbi55PXRbZSsrXSxuLno9dFtlXSxufTtidC5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImFycmF5Iix0KTtsZXQgbj10Lmxlbmd0aCxvPW4qMztpZighaChlKSllPW5ldyBBcnJheShvKTtlbHNle2lmKCFBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aCE9PW8pdGhyb3cgbmV3IEYoIklmIHJlc3VsdCBpcyBhIHR5cGVkIGFycmF5LCBpdCBtdXN0IGhhdmUgZXhhY3RseSBhcnJheS5sZW5ndGggKiAzIGVsZW1lbnRzIik7ZS5sZW5ndGghPT1vJiYoZS5sZW5ndGg9byl9Zm9yKGxldCByPTA7cjxuOysrcilidC5wYWNrKHRbcl0sZSxyKjMpO3JldHVybiBlfTtidC51bnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe2lmKHkuZGVmaW5lZCgiYXJyYXkiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJhcnJheS5sZW5ndGgiLHQubGVuZ3RoLDMpLHQubGVuZ3RoJTMhPT0wKXRocm93IG5ldyBGKCJhcnJheSBsZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMuIik7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uLzM6ZT1uZXcgQXJyYXkobi8zKTtmb3IobGV0IG89MDtvPG47bys9Myl7bGV0IHI9by8zO2Vbcl09YnQudW5wYWNrKHQsbyxlW3JdKX1yZXR1cm4gZX07YnQuZnJvbUFycmF5PWJ0LnVucGFjaztidC5tYXhpbXVtQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksTWF0aC5tYXgodC54LHQueSx0LnopfTtidC5taW5pbXVtQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksTWF0aC5taW4odC54LHQueSx0LnopfTtidC5taW5pbXVtQnlDb21wb25lbnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImZpcnN0Iix0KSx5LnR5cGVPZi5vYmplY3QoInNlY29uZCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD1NYXRoLm1pbih0LngsZS54KSxuLnk9TWF0aC5taW4odC55LGUueSksbi56PU1hdGgubWluKHQueixlLnopLG59O2J0Lm1heGltdW1CeUNvbXBvbmVudD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZmlyc3QiLHQpLHkudHlwZU9mLm9iamVjdCgic2Vjb25kIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PU1hdGgubWF4KHQueCxlLngpLG4ueT1NYXRoLm1heCh0LnksZS55KSxuLno9TWF0aC5tYXgodC56LGUueiksbn07YnQuY2xhbXA9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS50eXBlT2Yub2JqZWN0KCJtaW4iLGUpLHkudHlwZU9mLm9iamVjdCgibWF4IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyk7bGV0IHI9TS5jbGFtcCh0LngsZS54LG4ueCksaT1NLmNsYW1wKHQueSxlLnksbi55KSxzPU0uY2xhbXAodC56LGUueixuLnopO3JldHVybiBvLng9cixvLnk9aSxvLno9cyxvfTtidC5tYWduaXR1ZGVTcXVhcmVkPWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksdC54KnQueCt0LnkqdC55K3Queip0Lnp9O2J0Lm1hZ25pdHVkZT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KGJ0Lm1hZ25pdHVkZVNxdWFyZWQodCkpfTtrbD1uZXcgYnQ7YnQuZGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSxidC5zdWJ0cmFjdCh0LGUsa2wpLGJ0Lm1hZ25pdHVkZShrbCl9O2J0LmRpc3RhbmNlU3F1YXJlZD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLGJ0LnN1YnRyYWN0KHQsZSxrbCksYnQubWFnbml0dWRlU3F1YXJlZChrbCl9O2J0Lm5vcm1hbGl6ZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49YnQubWFnbml0dWRlKHQpO2lmKGUueD10LngvbixlLnk9dC55L24sZS56PXQuei9uLGlzTmFOKGUueCl8fGlzTmFOKGUueSl8fGlzTmFOKGUueikpdGhyb3cgbmV3IEYoIm5vcm1hbGl6ZWQgcmVzdWx0IGlzIG5vdCBhIG51bWJlciIpO3JldHVybiBlfTtidC5kb3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx0LngqZS54K3QueSplLnkrdC56KmUuen07YnQubXVsdGlwbHlDb21wb25lbnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCplLngsbi55PXQueSplLnksbi56PXQueiplLnosbn07YnQuZGl2aWRlQ29tcG9uZW50cz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngvZS54LG4ueT10LnkvZS55LG4uej10LnovZS56LG59O2J0LmFkZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngrZS54LG4ueT10LnkrZS55LG4uej10LnorZS56LG59O2J0LnN1YnRyYWN0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC1lLngsbi55PXQueS1lLnksbi56PXQuei1lLnosbn07YnQubXVsdGlwbHlCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxhciIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngqZSxuLnk9dC55KmUsbi56PXQueiplLG59O2J0LmRpdmlkZUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxuLno9dC56L2Usbn07YnQubmVnYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PS10LngsZS55PS10LnksZS56PS10LnosZX07YnQuYWJzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PU1hdGguYWJzKHQueCksZS55PU1hdGguYWJzKHQueSksZS56PU1hdGguYWJzKHQueiksZX07eTE9bmV3IGJ0O2J0LmxlcnA9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgic3RhcnQiLHQpLHkudHlwZU9mLm9iamVjdCgiZW5kIixlKSx5LnR5cGVPZi5udW1iZXIoInQiLG4pLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixvKSxidC5tdWx0aXBseUJ5U2NhbGFyKGUsbix5MSksbz1idC5tdWx0aXBseUJ5U2NhbGFyKHQsMS1uLG8pLGJ0LmFkZCh5MSxvLG8pfTtWbD1uZXcgYnQsRW09bmV3IGJ0O2J0LmFuZ2xlQmV0d2Vlbj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksYnQubm9ybWFsaXplKHQsVmwpLGJ0Lm5vcm1hbGl6ZShlLEVtKTtsZXQgbj1idC5kb3QoVmwsRW0pLG89YnQubWFnbml0dWRlKGJ0LmNyb3NzKFZsLEVtLFZsKSk7cmV0dXJuIE1hdGguYXRhbjIobyxuKX07b0M9bmV3IGJ0O2J0Lm1vc3RPcnRob2dvbmFsQXhpcz1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49YnQubm9ybWFsaXplKHQsb0MpO3JldHVybiBidC5hYnMobixuKSxuLng8PW4ueT9uLng8PW4uej9lPWJ0LmNsb25lKGJ0LlVOSVRfWCxlKTplPWJ0LmNsb25lKGJ0LlVOSVRfWixlKTpuLnk8PW4uej9lPWJ0LmNsb25lKGJ0LlVOSVRfWSxlKTplPWJ0LmNsb25lKGJ0LlVOSVRfWixlKSxlfTtidC5wcm9qZWN0VmVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImEiLHQpLHkuZGVmaW5lZCgiYiIsZSkseS5kZWZpbmVkKCJyZXN1bHQiLG4pO2xldCBvPWJ0LmRvdCh0LGUpL2J0LmRvdChlLGUpO3JldHVybiBidC5tdWx0aXBseUJ5U2NhbGFyKGUsbyxuKX07YnQuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0Lng9PT1lLngmJnQueT09PWUueSYmdC56PT09ZS56fTtidC5lcXVhbHNBcnJheT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHQueD09PWVbbl0mJnQueT09PWVbbisxXSYmdC56PT09ZVtuKzJdfTtidC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmTS5lcXVhbHNFcHNpbG9uKHQueCxlLngsbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueSxlLnksbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueixlLnosbixvKX07YnQuY3Jvc3M9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXQueCxyPXQueSxpPXQueixzPWUueCxmPWUueSx1PWUueixjPXIqdS1pKmYsbD1pKnMtbyp1LHA9bypmLXIqcztyZXR1cm4gbi54PWMsbi55PWwsbi56PXAsbn07YnQubWlkcG9pbnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9KHQueCtlLngpKi41LG4ueT0odC55K2UueSkqLjUsbi56PSh0LnorZS56KSouNSxufTtidC5mcm9tRGVncmVlcz1mdW5jdGlvbih0LGUsbixvLHIpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoImxvbmdpdHVkZSIsdCkseS50eXBlT2YubnVtYmVyKCJsYXRpdHVkZSIsZSksdD1NLnRvUmFkaWFucyh0KSxlPU0udG9SYWRpYW5zKGUpLGJ0LmZyb21SYWRpYW5zKHQsZSxuLG8scil9O21yPW5ldyBidCxqYz1uZXcgYnQ7YnQuX2VsbGlwc29pZFJhZGlpU3F1YXJlZD1uZXcgYnQoNjM3ODEzNyo2Mzc4MTM3LDYzNzgxMzcqNjM3ODEzNyw2MzU2NzUyMzE0MjQ1MTc5ZS05KjYzNTY3NTIzMTQyNDUxNzllLTkpO2J0LmZyb21SYWRpYW5zPWZ1bmN0aW9uKHQsZSxuLG8scil7eS50eXBlT2YubnVtYmVyKCJsb25naXR1ZGUiLHQpLHkudHlwZU9mLm51bWJlcigibGF0aXR1ZGUiLGUpLG49eChuLDApO2xldCBpPWgobyk/by5yYWRpaVNxdWFyZWQ6YnQuX2VsbGlwc29pZFJhZGlpU3F1YXJlZCxzPU1hdGguY29zKGUpO21yLng9cypNYXRoLmNvcyh0KSxtci55PXMqTWF0aC5zaW4odCksbXIuej1NYXRoLnNpbihlKSxtcj1idC5ub3JtYWxpemUobXIsbXIpLGJ0Lm11bHRpcGx5Q29tcG9uZW50cyhpLG1yLGpjKTtsZXQgZj1NYXRoLnNxcnQoYnQuZG90KG1yLGpjKSk7cmV0dXJuIGpjPWJ0LmRpdmlkZUJ5U2NhbGFyKGpjLGYsamMpLG1yPWJ0Lm11bHRpcGx5QnlTY2FsYXIobXIsbixtciksaChyKXx8KHI9bmV3IGJ0KSxidC5hZGQoamMsbXIscil9O2J0LmZyb21EZWdyZWVzQXJyYXk9ZnVuY3Rpb24odCxlLG4pe2lmKHkuZGVmaW5lZCgiY29vcmRpbmF0ZXMiLHQpLHQubGVuZ3RoPDJ8fHQubGVuZ3RoJTIhPT0wKXRocm93IG5ldyBGKCJ0aGUgbnVtYmVyIG9mIGNvb3JkaW5hdGVzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyIGFuZCBhdCBsZWFzdCAyIik7bGV0IG89dC5sZW5ndGg7aChuKT9uLmxlbmd0aD1vLzI6bj1uZXcgQXJyYXkoby8yKTtmb3IobGV0IHI9MDtyPG87cis9Mil7bGV0IGk9dFtyXSxzPXRbcisxXSxmPXIvMjtuW2ZdPWJ0LmZyb21EZWdyZWVzKGkscywwLGUsbltmXSl9cmV0dXJuIG59O2J0LmZyb21SYWRpYW5zQXJyYXk9ZnVuY3Rpb24odCxlLG4pe2lmKHkuZGVmaW5lZCgiY29vcmRpbmF0ZXMiLHQpLHQubGVuZ3RoPDJ8fHQubGVuZ3RoJTIhPT0wKXRocm93IG5ldyBGKCJ0aGUgbnVtYmVyIG9mIGNvb3JkaW5hdGVzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyIGFuZCBhdCBsZWFzdCAyIik7bGV0IG89dC5sZW5ndGg7aChuKT9uLmxlbmd0aD1vLzI6bj1uZXcgQXJyYXkoby8yKTtmb3IobGV0IHI9MDtyPG87cis9Mil7bGV0IGk9dFtyXSxzPXRbcisxXSxmPXIvMjtuW2ZdPWJ0LmZyb21SYWRpYW5zKGkscywwLGUsbltmXSl9cmV0dXJuIG59O2J0LmZyb21EZWdyZWVzQXJyYXlIZWlnaHRzPWZ1bmN0aW9uKHQsZSxuKXtpZih5LmRlZmluZWQoImNvb3JkaW5hdGVzIix0KSx0Lmxlbmd0aDwzfHx0Lmxlbmd0aCUzIT09MCl0aHJvdyBuZXcgRigidGhlIG51bWJlciBvZiBjb29yZGluYXRlcyBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMyBhbmQgYXQgbGVhc3QgMyIpO2xldCBvPXQubGVuZ3RoO2gobik/bi5sZW5ndGg9by8zOm49bmV3IEFycmF5KG8vMyk7Zm9yKGxldCByPTA7cjxvO3IrPTMpe2xldCBpPXRbcl0scz10W3IrMV0sZj10W3IrMl0sdT1yLzM7blt1XT1idC5mcm9tRGVncmVlcyhpLHMsZixlLG5bdV0pfXJldHVybiBufTtidC5mcm9tUmFkaWFuc0FycmF5SGVpZ2h0cz1mdW5jdGlvbih0LGUsbil7aWYoeS5kZWZpbmVkKCJjb29yZGluYXRlcyIsdCksdC5sZW5ndGg8M3x8dC5sZW5ndGglMyE9PTApdGhyb3cgbmV3IEYoInRoZSBudW1iZXIgb2YgY29vcmRpbmF0ZXMgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMgYW5kIGF0IGxlYXN0IDMiKTtsZXQgbz10Lmxlbmd0aDtoKG4pP24ubGVuZ3RoPW8vMzpuPW5ldyBBcnJheShvLzMpO2ZvcihsZXQgcj0wO3I8bztyKz0zKXtsZXQgaT10W3JdLHM9dFtyKzFdLGY9dFtyKzJdLHU9ci8zO25bdV09YnQuZnJvbVJhZGlhbnMoaSxzLGYsZSxuW3VdKX1yZXR1cm4gbn07YnQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBidCgwLDAsMCkpO2J0Lk9ORT1PYmplY3QuZnJlZXplKG5ldyBidCgxLDEsMSkpO2J0LlVOSVRfWD1PYmplY3QuZnJlZXplKG5ldyBidCgxLDAsMCkpO2J0LlVOSVRfWT1PYmplY3QuZnJlZXplKG5ldyBidCgwLDEsMCkpO2J0LlVOSVRfWj1PYmplY3QuZnJlZXplKG5ldyBidCgwLDAsMSkpO2J0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gYnQuY2xvbmUodGhpcyx0KX07YnQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gYnQuZXF1YWxzKHRoaXMsdCl9O2J0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYnQuZXF1YWxzRXBzaWxvbih0aGlzLHQsZSxuKX07YnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXMueH0sICR7dGhpcy55fSwgJHt0aGlzLnp9KWB9O2E9YnR9KTtmdW5jdGlvbiBzQyh0LGUsbixvLHIpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJjYXJ0ZXNpYW4gaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoIm9uZU92ZXJSYWRpaSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigib25lT3ZlclJhZGlpU3F1YXJlZCBpcyByZXF1aXJlZC4iKTtpZighaChvKSl0aHJvdyBuZXcgRigiY2VudGVyVG9sZXJhbmNlU3F1YXJlZCBpcyByZXF1aXJlZC4iKTtsZXQgaT10Lngscz10LnksZj10LnosdT1lLngsYz1lLnksbD1lLnoscD1pKmkqdSp1LGQ9cypzKmMqYyxtPWYqZipsKmwsXz1wK2QrbSxnPU1hdGguc3FydCgxL18pLGI9YS5tdWx0aXBseUJ5U2NhbGFyKHQsZyxyQyk7aWYoXzxvKXJldHVybiBpc0Zpbml0ZShnKT9hLmNsb25lKGIscik6dm9pZCAwO2xldCBUPW4ueCxPPW4ueSxFPW4ueix3PWlDO3cueD1iLngqVCoyLHcueT1iLnkqTyoyLHcuej1iLnoqRSoyO2xldCBDPSgxLWcpKmEubWFnbml0dWRlKHQpLyguNSphLm1hZ25pdHVkZSh3KSksTj0wLEksRCx2LEwsVSxBLFMsUCxCLGosSDtkb3tDLT1OLHY9MS8oMStDKlQpLEw9MS8oMStDKk8pLFU9MS8oMStDKkUpLEE9dip2LFM9TCpMLFA9VSpVLEI9QSp2LGo9UypMLEg9UCpVLEk9cCpBK2QqUyttKlAtMSxEPXAqQipUK2QqaipPK20qSCpFO2xldCBrPS0yKkQ7Tj1JL2t9d2hpbGUoTWF0aC5hYnMoSSk+TS5FUFNJTE9OMTIpO3JldHVybiBoKHIpPyhyLng9aSp2LHIueT1zKkwsci56PWYqVSxyKTpuZXcgYShpKnYscypMLGYqVSl9dmFyIHJDLGlDLEdsLFJtPVooKCk9PntGdCgpO2Z0KCk7SHQoKTtXdCgpO3JDPW5ldyBhLGlDPW5ldyBhO0dsPXNDfSk7ZnVuY3Rpb24gX24odCxlLG4pe3RoaXMubG9uZ2l0dWRlPXgodCwwKSx0aGlzLmxhdGl0dWRlPXgoZSwwKSx0aGlzLmhlaWdodD14KG4sMCl9dmFyIGNDLGFDLGZDLGN0LEllPVooKCk9PntGdCgpO1h0KCk7SXQoKTtmdCgpO1d0KCk7Um0oKTtfbi5mcm9tUmFkaWFucz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4geS50eXBlT2YubnVtYmVyKCJsb25naXR1ZGUiLHQpLHkudHlwZU9mLm51bWJlcigibGF0aXR1ZGUiLGUpLG49eChuLDApLGgobyk/KG8ubG9uZ2l0dWRlPXQsby5sYXRpdHVkZT1lLG8uaGVpZ2h0PW4sbyk6bmV3IF9uKHQsZSxuKX07X24uZnJvbURlZ3JlZXM9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm51bWJlcigibG9uZ2l0dWRlIix0KSx5LnR5cGVPZi5udW1iZXIoImxhdGl0dWRlIixlKSx0PU0udG9SYWRpYW5zKHQpLGU9TS50b1JhZGlhbnMoZSksX24uZnJvbVJhZGlhbnModCxlLG4sbyl9O2NDPW5ldyBhLGFDPW5ldyBhLGZDPW5ldyBhO19uLl9lbGxpcHNvaWRPbmVPdmVyUmFkaWk9bmV3IGEoMS82Mzc4MTM3LDEvNjM3ODEzNywxLzYzNTY3NTIzMTQyNDUxNzllLTkpO19uLl9lbGxpcHNvaWRPbmVPdmVyUmFkaWlTcXVhcmVkPW5ldyBhKDEvKDYzNzgxMzcqNjM3ODEzNyksMS8oNjM3ODEzNyo2Mzc4MTM3KSwxLyg2MzU2NzUyMzE0MjQ1MTc5ZS05KjYzNTY3NTIzMTQyNDUxNzllLTkpKTtfbi5fZWxsaXBzb2lkQ2VudGVyVG9sZXJhbmNlU3F1YXJlZD1NLkVQU0lMT04xO19uLmZyb21DYXJ0ZXNpYW49ZnVuY3Rpb24odCxlLG4pe2xldCBvPWgoZSk/ZS5vbmVPdmVyUmFkaWk6X24uX2VsbGlwc29pZE9uZU92ZXJSYWRpaSxyPWgoZSk/ZS5vbmVPdmVyUmFkaWlTcXVhcmVkOl9uLl9lbGxpcHNvaWRPbmVPdmVyUmFkaWlTcXVhcmVkLGk9aChlKT9lLl9jZW50ZXJUb2xlcmFuY2VTcXVhcmVkOl9uLl9lbGxpcHNvaWRDZW50ZXJUb2xlcmFuY2VTcXVhcmVkLHM9R2wodCxvLHIsaSxhQyk7aWYoIWgocykpcmV0dXJuO2xldCBmPWEubXVsdGlwbHlDb21wb25lbnRzKHMscixjQyk7Zj1hLm5vcm1hbGl6ZShmLGYpO2xldCB1PWEuc3VidHJhY3QodCxzLGZDKSxjPU1hdGguYXRhbjIoZi55LGYueCksbD1NYXRoLmFzaW4oZi56KSxwPU0uc2lnbihhLmRvdCh1LHQpKSphLm1hZ25pdHVkZSh1KTtyZXR1cm4gaChuKT8obi5sb25naXR1ZGU9YyxuLmxhdGl0dWRlPWwsbi5oZWlnaHQ9cCxuKTpuZXcgX24oYyxsLHApfTtfbi50b0NhcnRlc2lhbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiY2FydG9ncmFwaGljIix0KSxhLmZyb21SYWRpYW5zKHQubG9uZ2l0dWRlLHQubGF0aXR1ZGUsdC5oZWlnaHQsZSxuKX07X24uY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLmxvbmdpdHVkZT10LmxvbmdpdHVkZSxlLmxhdGl0dWRlPXQubGF0aXR1ZGUsZS5oZWlnaHQ9dC5oZWlnaHQsZSk6bmV3IF9uKHQubG9uZ2l0dWRlLHQubGF0aXR1ZGUsdC5oZWlnaHQpfTtfbi5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQubG9uZ2l0dWRlPT09ZS5sb25naXR1ZGUmJnQubGF0aXR1ZGU9PT1lLmxhdGl0dWRlJiZ0LmhlaWdodD09PWUuaGVpZ2h0fTtfbi5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj14KG4sMCksdD09PWV8fGgodCkmJmgoZSkmJk1hdGguYWJzKHQubG9uZ2l0dWRlLWUubG9uZ2l0dWRlKTw9biYmTWF0aC5hYnModC5sYXRpdHVkZS1lLmxhdGl0dWRlKTw9biYmTWF0aC5hYnModC5oZWlnaHQtZS5oZWlnaHQpPD1ufTtfbi5aRVJPPU9iamVjdC5mcmVlemUobmV3IF9uKDAsMCwwKSk7X24ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBfbi5jbG9uZSh0aGlzLHQpfTtfbi5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBfbi5lcXVhbHModGhpcyx0KX07X24ucHJvdG90eXBlLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gX24uZXF1YWxzRXBzaWxvbih0aGlzLHQsZSl9O19uLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybmAoJHt0aGlzLmxvbmdpdHVkZX0sICR7dGhpcy5sYXRpdHVkZX0sICR7dGhpcy5oZWlnaHR9KWB9O2N0PV9ufSk7ZnVuY3Rpb24ganQodCxlKXt0aGlzLng9eCh0LDApLHRoaXMueT14KGUsMCl9dmFyIHpsLGcxLEExLGIxLHVDLHR0LFVlPVooKCk9PntYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7anQuZnJvbUVsZW1lbnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaChuKT8obi54PXQsbi55PWUsbik6bmV3IGp0KHQsZSl9O2p0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS54PXQueCxlLnk9dC55LGUpOm5ldyBqdCh0LngsdC55KX07anQuZnJvbUNhcnRlc2lhbjM9anQuY2xvbmU7anQuZnJvbUNhcnRlc2lhbjQ9anQuY2xvbmU7anQucGFja2VkTGVuZ3RoPTI7anQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuXT10LnksZX07anQudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IGp0KSxuLng9dFtlKytdLG4ueT10W2VdLG59O2p0LnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiYXJyYXkiLHQpO2xldCBuPXQubGVuZ3RoLG89bioyO2lmKCFoKGUpKWU9bmV3IEFycmF5KG8pO2Vsc2V7aWYoIUFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoIT09byl0aHJvdyBuZXcgRigiSWYgcmVzdWx0IGlzIGEgdHlwZWQgYXJyYXksIGl0IG11c3QgaGF2ZSBleGFjdGx5IGFycmF5Lmxlbmd0aCAqIDIgZWxlbWVudHMiKTtlLmxlbmd0aCE9PW8mJihlLmxlbmd0aD1vKX1mb3IobGV0IHI9MDtyPG47KytyKWp0LnBhY2sodFtyXSxlLHIqMik7cmV0dXJuIGV9O2p0LnVucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7aWYoeS5kZWZpbmVkKCJhcnJheSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImFycmF5Lmxlbmd0aCIsdC5sZW5ndGgsMiksdC5sZW5ndGglMiE9PTApdGhyb3cgbmV3IEYoImFycmF5IGxlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMi4iKTtsZXQgbj10Lmxlbmd0aDtoKGUpP2UubGVuZ3RoPW4vMjplPW5ldyBBcnJheShuLzIpO2ZvcihsZXQgbz0wO288bjtvKz0yKXtsZXQgcj1vLzI7ZVtyXT1qdC51bnBhY2sodCxvLGVbcl0pfXJldHVybiBlfTtqdC5mcm9tQXJyYXk9anQudW5wYWNrO2p0Lm1heGltdW1Db21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSxNYXRoLm1heCh0LngsdC55KX07anQubWluaW11bUNvbXBvbmVudD1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLE1hdGgubWluKHQueCx0LnkpfTtqdC5taW5pbXVtQnlDb21wb25lbnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImZpcnN0Iix0KSx5LnR5cGVPZi5vYmplY3QoInNlY29uZCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD1NYXRoLm1pbih0LngsZS54KSxuLnk9TWF0aC5taW4odC55LGUueSksbn07anQubWF4aW11bUJ5Q29tcG9uZW50PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJmaXJzdCIsdCkseS50eXBlT2Yub2JqZWN0KCJzZWNvbmQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9TWF0aC5tYXgodC54LGUueCksbi55PU1hdGgubWF4KHQueSxlLnkpLG59O2p0LmNsYW1wPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkudHlwZU9mLm9iamVjdCgibWluIixlKSx5LnR5cGVPZi5vYmplY3QoIm1heCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pO2xldCByPU0uY2xhbXAodC54LGUueCxuLngpLGk9TS5jbGFtcCh0LnksZS55LG4ueSk7cmV0dXJuIG8ueD1yLG8ueT1pLG99O2p0Lm1hZ25pdHVkZVNxdWFyZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx0LngqdC54K3QueSp0Lnl9O2p0Lm1hZ25pdHVkZT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KGp0Lm1hZ25pdHVkZVNxdWFyZWQodCkpfTt6bD1uZXcganQ7anQuZGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSxqdC5zdWJ0cmFjdCh0LGUsemwpLGp0Lm1hZ25pdHVkZSh6bCl9O2p0LmRpc3RhbmNlU3F1YXJlZD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLGp0LnN1YnRyYWN0KHQsZSx6bCksanQubWFnbml0dWRlU3F1YXJlZCh6bCl9O2p0Lm5vcm1hbGl6ZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49anQubWFnbml0dWRlKHQpO2lmKGUueD10LngvbixlLnk9dC55L24saXNOYU4oZS54KXx8aXNOYU4oZS55KSl0aHJvdyBuZXcgRigibm9ybWFsaXplZCByZXN1bHQgaXMgbm90IGEgbnVtYmVyIik7cmV0dXJuIGV9O2p0LmRvdD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHQueCplLngrdC55KmUueX07anQuY3Jvc3M9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx0LngqZS55LXQueSplLnh9O2p0Lm11bHRpcGx5Q29tcG9uZW50cz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngqZS54LG4ueT10LnkqZS55LG59O2p0LmRpdmlkZUNvbXBvbmVudHM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54L2UueCxuLnk9dC55L2UueSxufTtqdC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54K2UueCxuLnk9dC55K2UueSxufTtqdC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngtZS54LG4ueT10LnktZS55LG59O2p0Lm11bHRpcGx5QnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54KmUsbi55PXQueSplLG59O2p0LmRpdmlkZUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxufTtqdC5uZWdhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9LXQueCxlLnk9LXQueSxlfTtqdC5hYnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9TWF0aC5hYnModC54KSxlLnk9TWF0aC5hYnModC55KSxlfTtnMT1uZXcganQ7anQubGVycD1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzdGFydCIsdCkseS50eXBlT2Yub2JqZWN0KCJlbmQiLGUpLHkudHlwZU9mLm51bWJlcigidCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pLGp0Lm11bHRpcGx5QnlTY2FsYXIoZSxuLGcxKSxvPWp0Lm11bHRpcGx5QnlTY2FsYXIodCwxLW4sbyksanQuYWRkKGcxLG8sbyl9O0ExPW5ldyBqdCxiMT1uZXcganQ7anQuYW5nbGVCZXR3ZWVuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksanQubm9ybWFsaXplKHQsQTEpLGp0Lm5vcm1hbGl6ZShlLGIxKSxNLmFjb3NDbGFtcGVkKGp0LmRvdChBMSxiMSkpfTt1Qz1uZXcganQ7anQubW9zdE9ydGhvZ29uYWxBeGlzPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1qdC5ub3JtYWxpemUodCx1Qyk7cmV0dXJuIGp0LmFicyhuLG4pLG4ueDw9bi55P2U9anQuY2xvbmUoanQuVU5JVF9YLGUpOmU9anQuY2xvbmUoanQuVU5JVF9ZLGUpLGV9O2p0LmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmdC54PT09ZS54JiZ0Lnk9PT1lLnl9O2p0LmVxdWFsc0FycmF5PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdC54PT09ZVtuXSYmdC55PT09ZVtuKzFdfTtqdC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmTS5lcXVhbHNFcHNpbG9uKHQueCxlLngsbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueSxlLnksbixvKX07anQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBqdCgwLDApKTtqdC5PTkU9T2JqZWN0LmZyZWV6ZShuZXcganQoMSwxKSk7anQuVU5JVF9YPU9iamVjdC5mcmVlemUobmV3IGp0KDEsMCkpO2p0LlVOSVRfWT1PYmplY3QuZnJlZXplKG5ldyBqdCgwLDEpKTtqdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIGp0LmNsb25lKHRoaXMsdCl9O2p0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIGp0LmVxdWFscyh0aGlzLHQpfTtqdC5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGp0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUsbil9O2p0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybmAoJHt0aGlzLnh9LCAke3RoaXMueX0pYH07dHQ9anR9KTtmdW5jdGlvbiB3MSh0LGUsbixvKXtlPXgoZSwwKSxuPXgobiwwKSxvPXgobywwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygieCIsZSwwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygieSIsbiwwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygieiIsbywwKSx0Ll9yYWRpaT1uZXcgYShlLG4sbyksdC5fcmFkaWlTcXVhcmVkPW5ldyBhKGUqZSxuKm4sbypvKSx0Ll9yYWRpaVRvVGhlRm91cnRoPW5ldyBhKGUqZSplKmUsbipuKm4qbixvKm8qbypvKSx0Ll9vbmVPdmVyUmFkaWk9bmV3IGEoZT09PTA/MDoxL2Usbj09PTA/MDoxL24sbz09PTA/MDoxL28pLHQuX29uZU92ZXJSYWRpaVNxdWFyZWQ9bmV3IGEoZT09PTA/MDoxLyhlKmUpLG49PT0wPzA6MS8obipuKSxvPT09MD8wOjEvKG8qbykpLHQuX21pbmltdW1SYWRpdXM9TWF0aC5taW4oZSxuLG8pLHQuX21heGltdW1SYWRpdXM9TWF0aC5tYXgoZSxuLG8pLHQuX2NlbnRlclRvbGVyYW5jZVNxdWFyZWQ9TS5FUFNJTE9OMSx0Ll9yYWRpaVNxdWFyZWQueiE9PTAmJih0Ll9zcXVhcmVkWE92ZXJTcXVhcmVkWj10Ll9yYWRpaVNxdWFyZWQueC90Ll9yYWRpaVNxdWFyZWQueil9ZnVuY3Rpb24geGUodCxlLG4pe3RoaXMuX3JhZGlpPXZvaWQgMCx0aGlzLl9yYWRpaVNxdWFyZWQ9dm9pZCAwLHRoaXMuX3JhZGlpVG9UaGVGb3VydGg9dm9pZCAwLHRoaXMuX29uZU92ZXJSYWRpaT12b2lkIDAsdGhpcy5fb25lT3ZlclJhZGlpU3F1YXJlZD12b2lkIDAsdGhpcy5fbWluaW11bVJhZGl1cz12b2lkIDAsdGhpcy5fbWF4aW11bVJhZGl1cz12b2lkIDAsdGhpcy5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZD12b2lkIDAsdGhpcy5fc3F1YXJlZFhPdmVyU3F1YXJlZFo9dm9pZCAwLHcxKHRoaXMsdCxlLG4pfWZ1bmN0aW9uIFQxKHQsZSxuKXt5LnR5cGVPZi5udW1iZXIoImEiLHQpLHkudHlwZU9mLm51bWJlcigiYiIsZSkseS50eXBlT2YuZnVuYygiZnVuYyIsbik7bGV0IG89LjUqKGUrdCkscj0uNSooZS10KSxpPTA7Zm9yKGxldCBzPTA7czw1O3MrKyl7bGV0IGY9cip5Q1tzXTtpKz1nQ1tzXSoobihvK2YpK24oby1mKSl9cmV0dXJuIGkqPXIsaX12YXIgbEMscEMsZEMsbUMsaEMsX0MseUMsZ0MsJCxadD1aKCgpPT57VWUoKTtGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7SHQoKTtXdCgpO1JtKCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeGUucHJvdG90eXBlLHtyYWRpaTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGlpfX0scmFkaWlTcXVhcmVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmFkaWlTcXVhcmVkfX0scmFkaWlUb1RoZUZvdXJ0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGlpVG9UaGVGb3VydGh9fSxvbmVPdmVyUmFkaWk6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vbmVPdmVyUmFkaWl9fSxvbmVPdmVyUmFkaWlTcXVhcmVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb25lT3ZlclJhZGlpU3F1YXJlZH19LG1pbmltdW1SYWRpdXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taW5pbXVtUmFkaXVzfX0sbWF4aW11bVJhZGl1czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21heGltdW1SYWRpdXN9fX0pO3hlLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpcmV0dXJuO2xldCBuPXQuX3JhZGlpO3JldHVybiBoKGUpPyhhLmNsb25lKG4sZS5fcmFkaWkpLGEuY2xvbmUodC5fcmFkaWlTcXVhcmVkLGUuX3JhZGlpU3F1YXJlZCksYS5jbG9uZSh0Ll9yYWRpaVRvVGhlRm91cnRoLGUuX3JhZGlpVG9UaGVGb3VydGgpLGEuY2xvbmUodC5fb25lT3ZlclJhZGlpLGUuX29uZU92ZXJSYWRpaSksYS5jbG9uZSh0Ll9vbmVPdmVyUmFkaWlTcXVhcmVkLGUuX29uZU92ZXJSYWRpaVNxdWFyZWQpLGUuX21pbmltdW1SYWRpdXM9dC5fbWluaW11bVJhZGl1cyxlLl9tYXhpbXVtUmFkaXVzPXQuX21heGltdW1SYWRpdXMsZS5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZD10Ll9jZW50ZXJUb2xlcmFuY2VTcXVhcmVkLGUpOm5ldyB4ZShuLngsbi55LG4ueil9O3hlLmZyb21DYXJ0ZXNpYW4zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgoZSl8fChlPW5ldyB4ZSksaCh0KSYmdzEoZSx0LngsdC55LHQueiksZX07eGUuV0dTODQ9T2JqZWN0LmZyZWV6ZShuZXcgeGUoNjM3ODEzNyw2Mzc4MTM3LDYzNTY3NTIzMTQyNDUxNzllLTkpKTt4ZS5VTklUX1NQSEVSRT1PYmplY3QuZnJlZXplKG5ldyB4ZSgxLDEsMSkpO3hlLk1PT049T2JqZWN0LmZyZWV6ZShuZXcgeGUoTS5MVU5BUl9SQURJVVMsTS5MVU5BUl9SQURJVVMsTS5MVU5BUl9SQURJVVMpKTt4ZS5fZGVmYXVsdD14ZS5XR1M4NDtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh4ZSx7ZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHhlLl9kZWZhdWx0fSxzZXQ6ZnVuY3Rpb24odCl7eS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseGUuX2RlZmF1bHQ9dCxhLl9lbGxpcHNvaWRSYWRpaVNxdWFyZWQ9dC5yYWRpaVNxdWFyZWQsY3QuX2VsbGlwc29pZE9uZU92ZXJSYWRpaT10Lm9uZU92ZXJSYWRpaSxjdC5fZWxsaXBzb2lkT25lT3ZlclJhZGlpU3F1YXJlZD10Lm9uZU92ZXJSYWRpaVNxdWFyZWQsY3QuX2VsbGlwc29pZENlbnRlclRvbGVyYW5jZVNxdWFyZWQ9dC5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZH19fSk7eGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiB4ZS5jbG9uZSh0aGlzLHQpfTt4ZS5wYWNrZWRMZW5ndGg9YS5wYWNrZWRMZW5ndGg7eGUucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0Ll9yYWRpaSxlLG4pLGV9O3hlLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89YS51bnBhY2sodCxlKTtyZXR1cm4geGUuZnJvbUNhcnRlc2lhbjMobyxuKX07eGUucHJvdG90eXBlLmdlb2NlbnRyaWNTdXJmYWNlTm9ybWFsPWEubm9ybWFsaXplO3hlLnByb3RvdHlwZS5nZW9kZXRpY1N1cmZhY2VOb3JtYWxDYXJ0b2dyYXBoaWM9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImNhcnRvZ3JhcGhpYyIsdCk7bGV0IG49dC5sb25naXR1ZGUsbz10LmxhdGl0dWRlLHI9TWF0aC5jb3MobyksaT1yKk1hdGguY29zKG4pLHM9cipNYXRoLnNpbihuKSxmPU1hdGguc2luKG8pO3JldHVybiBoKGUpfHwoZT1uZXcgYSksZS54PWksZS55PXMsZS56PWYsYS5ub3JtYWxpemUoZSxlKX07eGUucHJvdG90eXBlLmdlb2RldGljU3VyZmFjZU5vcm1hbD1mdW5jdGlvbih0LGUpe2lmKHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSxpc05hTih0LngpfHxpc05hTih0LnkpfHxpc05hTih0LnopKXRocm93IG5ldyBGKCJjYXJ0ZXNpYW4gaGFzIGEgTmFOIGNvbXBvbmVudCIpO2lmKCFhLmVxdWFsc0Vwc2lsb24odCxhLlpFUk8sTS5FUFNJTE9OMTQpKXJldHVybiBoKGUpfHwoZT1uZXcgYSksZT1hLm11bHRpcGx5Q29tcG9uZW50cyh0LHRoaXMuX29uZU92ZXJSYWRpaVNxdWFyZWQsZSksYS5ub3JtYWxpemUoZSxlKX07bEM9bmV3IGEscEM9bmV3IGE7eGUucHJvdG90eXBlLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuPWZ1bmN0aW9uKHQsZSl7bGV0IG49bEMsbz1wQzt0aGlzLmdlb2RldGljU3VyZmFjZU5vcm1hbENhcnRvZ3JhcGhpYyh0LG4pLGEubXVsdGlwbHlDb21wb25lbnRzKHRoaXMuX3JhZGlpU3F1YXJlZCxuLG8pO2xldCByPU1hdGguc3FydChhLmRvdChuLG8pKTtyZXR1cm4gYS5kaXZpZGVCeVNjYWxhcihvLHIsbyksYS5tdWx0aXBseUJ5U2NhbGFyKG4sdC5oZWlnaHQsbiksaChlKXx8KGU9bmV3IGEpLGEuYWRkKG8sbixlKX07eGUucHJvdG90eXBlLmNhcnRvZ3JhcGhpY0FycmF5VG9DYXJ0ZXNpYW5BcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydG9ncmFwaGljcyIsdCk7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uOmU9bmV3IEFycmF5KG4pO2ZvcihsZXQgbz0wO288bjtvKyspZVtvXT10aGlzLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKHRbb10sZVtvXSk7cmV0dXJuIGV9O2RDPW5ldyBhLG1DPW5ldyBhLGhDPW5ldyBhO3hlLnByb3RvdHlwZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYz1mdW5jdGlvbih0LGUpe2xldCBuPXRoaXMuc2NhbGVUb0dlb2RldGljU3VyZmFjZSh0LG1DKTtpZighaChuKSlyZXR1cm47bGV0IG89dGhpcy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobixkQykscj1hLnN1YnRyYWN0KHQsbixoQyksaT1NYXRoLmF0YW4yKG8ueSxvLngpLHM9TWF0aC5hc2luKG8ueiksZj1NLnNpZ24oYS5kb3Qocix0KSkqYS5tYWduaXR1ZGUocik7cmV0dXJuIGgoZSk/KGUubG9uZ2l0dWRlPWksZS5sYXRpdHVkZT1zLGUuaGVpZ2h0PWYsZSk6bmV3IGN0KGkscyxmKX07eGUucHJvdG90eXBlLmNhcnRlc2lhbkFycmF5VG9DYXJ0b2dyYXBoaWNBcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFucyIsdCk7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uOmU9bmV3IEFycmF5KG4pO2ZvcihsZXQgbz0wO288bjsrK28pZVtvXT10aGlzLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHRbb10sZVtvXSk7cmV0dXJuIGV9O3hlLnByb3RvdHlwZS5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEdsKHQsdGhpcy5fb25lT3ZlclJhZGlpLHRoaXMuX29uZU92ZXJSYWRpaVNxdWFyZWQsdGhpcy5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZCxlKX07eGUucHJvdG90eXBlLnNjYWxlVG9HZW9jZW50cmljU3VyZmFjZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSxoKGUpfHwoZT1uZXcgYSk7bGV0IG49dC54LG89dC55LHI9dC56LGk9dGhpcy5fb25lT3ZlclJhZGlpU3F1YXJlZCxzPTEvTWF0aC5zcXJ0KG4qbippLngrbypvKmkueStyKnIqaS56KTtyZXR1cm4gYS5tdWx0aXBseUJ5U2NhbGFyKHQscyxlKX07eGUucHJvdG90eXBlLnRyYW5zZm9ybVBvc2l0aW9uVG9TY2FsZWRTcGFjZT1mdW5jdGlvbih0LGUpe3JldHVybiBoKGUpfHwoZT1uZXcgYSksYS5tdWx0aXBseUNvbXBvbmVudHModCx0aGlzLl9vbmVPdmVyUmFkaWksZSl9O3hlLnByb3RvdHlwZS50cmFuc2Zvcm1Qb3NpdGlvbkZyb21TY2FsZWRTcGFjZT1mdW5jdGlvbih0LGUpe3JldHVybiBoKGUpfHwoZT1uZXcgYSksYS5tdWx0aXBseUNvbXBvbmVudHModCx0aGlzLl9yYWRpaSxlKX07eGUucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcz09PXR8fGgodCkmJmEuZXF1YWxzKHRoaXMuX3JhZGlpLHQuX3JhZGlpKX07eGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGlpLnRvU3RyaW5nKCl9O3hlLnByb3RvdHlwZS5nZXRTdXJmYWNlTm9ybWFsSW50ZXJzZWN0aW9uV2l0aFpBeGlzPWZ1bmN0aW9uKHQsZSxuKXtpZih5LnR5cGVPZi5vYmplY3QoInBvc2l0aW9uIix0KSwhTS5lcXVhbHNFcHNpbG9uKHRoaXMuX3JhZGlpLngsdGhpcy5fcmFkaWkueSxNLkVQU0lMT04xNSkpdGhyb3cgbmV3IEYoIkVsbGlwc29pZCBtdXN0IGJlIGFuIGVsbGlwc29pZCBvZiByZXZvbHV0aW9uIChyYWRpaS54ID09IHJhZGlpLnkpIik7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuKCJFbGxpcHNvaWQucmFkaWkueiIsdGhpcy5fcmFkaWkueiwwKSxlPXgoZSwwKTtsZXQgbz10aGlzLl9zcXVhcmVkWE92ZXJTcXVhcmVkWjtpZihoKG4pfHwobj1uZXcgYSksbi54PTAsbi55PTAsbi56PXQueiooMS1vKSwhKE1hdGguYWJzKG4ueik+PXRoaXMuX3JhZGlpLnotZSkpcmV0dXJuIG59O19DPW5ldyBhO3hlLnByb3RvdHlwZS5nZXRMb2NhbEN1cnZhdHVyZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgic3VyZmFjZVBvc2l0aW9uIix0KSxoKGUpfHwoZT1uZXcgdHQpO2xldCBuPXRoaXMuZ2V0U3VyZmFjZU5vcm1hbEludGVyc2VjdGlvbldpdGhaQXhpcyh0LDAsX0MpLG89YS5kaXN0YW5jZSh0LG4pLHI9dGhpcy5taW5pbXVtUmFkaXVzKm8vdGhpcy5tYXhpbXVtUmFkaXVzKioyLGk9bypyKioyO3JldHVybiB0dC5mcm9tRWxlbWVudHMoMS9vLDEvaSxlKX07eUM9Wy4xNDg4NzQzMzg5ODE2MywuNDMzMzk1Mzk0MTI5MjUsLjY3OTQwOTU2ODI5OTAyLC44NjUwNjMzNjY2ODg5OCwuOTczOTA2NTI4NTE3MTcsMF0sZ0M9Wy4yOTU1MjQyMjQ3MTQ3NSwuMjY5MjY2NzE5MzA5OTksLjIxOTA4NjM2MjUxNTk4LC4xNDk0NTEzNDkxNTA1OCwuMDY2NjcxMzQ0MzA4Njg0LDBdO3hlLnByb3RvdHlwZS5zdXJmYWNlQXJlYT1mdW5jdGlvbih0KXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCk7bGV0IGU9dC53ZXN0LG49dC5lYXN0LG89dC5zb3V0aCxyPXQubm9ydGg7Zm9yKDtuPGU7KW4rPU0uVFdPX1BJO2xldCBpPXRoaXMuX3JhZGlpU3F1YXJlZCxzPWkueCxmPWkueSx1PWkueixjPXMqZjtyZXR1cm4gVDEobyxyLGZ1bmN0aW9uKGwpe2xldCBwPU1hdGguY29zKGwpLGQ9TWF0aC5zaW4obCk7cmV0dXJuIE1hdGguY29zKGwpKlQxKGUsbixmdW5jdGlvbihtKXtsZXQgXz1NYXRoLmNvcyhtKSxnPU1hdGguc2luKG0pO3JldHVybiBNYXRoLnNxcnQoYypkKmQrdSooZipfKl8rcypnKmcpKnAqcCl9KX0pfTskPXhlfSk7ZnVuY3Rpb24gamwodCl7dGhpcy5fZWxsaXBzb2lkPXgodCwkLmRlZmF1bHQpLHRoaXMuX3NlbWltYWpvckF4aXM9dGhpcy5fZWxsaXBzb2lkLm1heGltdW1SYWRpdXMsdGhpcy5fb25lT3ZlclNlbWltYWpvckF4aXM9MS90aGlzLl9zZW1pbWFqb3JBeGlzfXZhciBKbixTaT1aKCgpPT57RnQoKTtJZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoamwucHJvdG90eXBlLHtlbGxpcHNvaWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGxpcHNvaWR9fX0pO2psLnByb3RvdHlwZS5wcm9qZWN0PWZ1bmN0aW9uKHQsZSl7bGV0IG49dGhpcy5fc2VtaW1ham9yQXhpcyxvPXQubG9uZ2l0dWRlKm4scj10LmxhdGl0dWRlKm4saT10LmhlaWdodDtyZXR1cm4gaChlKT8oZS54PW8sZS55PXIsZS56PWksZSk6bmV3IGEobyxyLGkpfTtqbC5wcm90b3R5cGUudW5wcm9qZWN0PWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImNhcnRlc2lhbiBpcyByZXF1aXJlZCIpO2xldCBuPXRoaXMuX29uZU92ZXJTZW1pbWFqb3JBeGlzLG89dC54Km4scj10LnkqbixpPXQuejtyZXR1cm4gaChlKT8oZS5sb25naXR1ZGU9byxlLmxhdGl0dWRlPXIsZS5oZWlnaHQ9aSxlKTpuZXcgY3QobyxyLGkpfTtKbj1qbH0pO3ZhciBBQyxTbixrcz1aKCgpPT57QUM9e09VVFNJREU6LTEsSU5URVJTRUNUSU5HOjAsSU5TSURFOjF9LFNuPU9iamVjdC5mcmVlemUoQUMpfSk7ZnVuY3Rpb24gYkModCxlKXt0aGlzLnN0YXJ0PXgodCwwKSx0aGlzLnN0b3A9eChlLDApfXZhciBRcixIbD1aKCgpPT57SXQoKTtRcj1iQ30pO2Z1bmN0aW9uIHd0KHQsZSxuLG8scixpLHMsZix1KXt0aGlzWzBdPXgodCwwKSx0aGlzWzFdPXgobywwKSx0aGlzWzJdPXgocywwKSx0aGlzWzNdPXgoZSwwKSx0aGlzWzRdPXgociwwKSx0aGlzWzVdPXgoZiwwKSx0aGlzWzZdPXgobiwwKSx0aGlzWzddPXgoaSwwKSx0aGlzWzhdPXgodSwwKX1mdW5jdGlvbiBSQyh0KXtsZXQgZT0wO2ZvcihsZXQgbj0wO248OTsrK24pe2xldCBvPXRbbl07ZSs9bypvfXJldHVybiBNYXRoLnNxcnQoZSl9ZnVuY3Rpb24gU0ModCl7bGV0IGU9MDtmb3IobGV0IG49MDtuPDM7KytuKXtsZXQgbz10W3d0LmdldEVsZW1lbnRJbmRleCh4bVtuXSxDbVtuXSldO2UrPTIqbypvfXJldHVybiBNYXRoLnNxcnQoZSl9ZnVuY3Rpb24gQ0ModCxlKXtsZXQgbj1NLkVQU0lMT04xNSxvPTAscj0xO2ZvcihsZXQgYz0wO2M8MzsrK2Mpe2xldCBsPU1hdGguYWJzKHRbd3QuZ2V0RWxlbWVudEluZGV4KHhtW2NdLENtW2NdKV0pO2w+byYmKHI9YyxvPWwpfWxldCBpPTEscz0wLGY9Q21bcl0sdT14bVtyXTtpZihNYXRoLmFicyh0W3d0LmdldEVsZW1lbnRJbmRleCh1LGYpXSk+bil7bGV0IGM9dFt3dC5nZXRFbGVtZW50SW5kZXgodSx1KV0sbD10W3d0LmdldEVsZW1lbnRJbmRleChmLGYpXSxwPXRbd3QuZ2V0RWxlbWVudEluZGV4KHUsZildLGQ9KGMtbCkvMi9wLG07ZDwwP209LTEvKC1kK01hdGguc3FydCgxK2QqZCkpOm09MS8oZCtNYXRoLnNxcnQoMStkKmQpKSxpPTEvTWF0aC5zcXJ0KDErbSptKSxzPW0qaX1yZXR1cm4gZT13dC5jbG9uZSh3dC5JREVOVElUWSxlKSxlW3d0LmdldEVsZW1lbnRJbmRleChmLGYpXT1lW3d0LmdldEVsZW1lbnRJbmRleCh1LHUpXT1pLGVbd3QuZ2V0RWxlbWVudEluZGV4KHUsZildPXMsZVt3dC5nZXRFbGVtZW50SW5kZXgoZix1KV09LXMsZX12YXIgVEMsd0MsU20sTzEsT0MsRUMsQ20seG0scWwsRTEseEMsUSxCbj1aKCgpPT57RnQoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7d3QucGFja2VkTGVuZ3RoPTk7d3QucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10WzBdLGVbbisrXT10WzFdLGVbbisrXT10WzJdLGVbbisrXT10WzNdLGVbbisrXT10WzRdLGVbbisrXT10WzVdLGVbbisrXT10WzZdLGVbbisrXT10WzddLGVbbisrXT10WzhdLGV9O3d0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyB3dCksblswXT10W2UrK10sblsxXT10W2UrK10sblsyXT10W2UrK10sblszXT10W2UrK10sbls0XT10W2UrK10sbls1XT10W2UrK10sbls2XT10W2UrK10sbls3XT10W2UrK10sbls4XT10W2UrK10sbn07d3QucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJhcnJheSIsdCk7bGV0IG49dC5sZW5ndGgsbz1uKjk7aWYoIWgoZSkpZT1uZXcgQXJyYXkobyk7ZWxzZXtpZighQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGghPT1vKXRocm93IG5ldyBGKCJJZiByZXN1bHQgaXMgYSB0eXBlZCBhcnJheSwgaXQgbXVzdCBoYXZlIGV4YWN0bHkgYXJyYXkubGVuZ3RoICogOSBlbGVtZW50cyIpO2UubGVuZ3RoIT09byYmKGUubGVuZ3RoPW8pfWZvcihsZXQgcj0wO3I8bjsrK3Ipd3QucGFjayh0W3JdLGUscio5KTtyZXR1cm4gZX07d3QudW5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXtpZih5LmRlZmluZWQoImFycmF5Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiYXJyYXkubGVuZ3RoIix0Lmxlbmd0aCw5KSx0Lmxlbmd0aCU5IT09MCl0aHJvdyBuZXcgRigiYXJyYXkgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA5LiIpO2xldCBuPXQubGVuZ3RoO2goZSk/ZS5sZW5ndGg9bi85OmU9bmV3IEFycmF5KG4vOSk7Zm9yKGxldCBvPTA7bzxuO28rPTkpe2xldCByPW8vOTtlW3JdPXd0LnVucGFjayh0LG8sZVtyXSl9cmV0dXJuIGV9O3d0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGVbNF09dFs0XSxlWzVdPXRbNV0sZVs2XT10WzZdLGVbN109dFs3XSxlWzhdPXRbOF0sZSk6bmV3IHd0KHRbMF0sdFszXSx0WzZdLHRbMV0sdFs0XSx0WzddLHRbMl0sdFs1XSx0WzhdKX07d3QuZnJvbUFycmF5PXd0LnVucGFjazt3dC5mcm9tQ29sdW1uTWFqb3JBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoInZhbHVlcyIsdCksd3QuY2xvbmUodCxlKX07d3QuZnJvbVJvd01ham9yQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5kZWZpbmVkKCJ2YWx1ZXMiLHQpLGgoZSk/KGVbMF09dFswXSxlWzFdPXRbM10sZVsyXT10WzZdLGVbM109dFsxXSxlWzRdPXRbNF0sZVs1XT10WzddLGVbNl09dFsyXSxlWzddPXRbNV0sZVs4XT10WzhdLGUpOm5ldyB3dCh0WzBdLHRbMV0sdFsyXSx0WzNdLHRbNF0sdFs1XSx0WzZdLHRbN10sdFs4XSl9O3d0LmZyb21RdWF0ZXJuaW9uPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KTtsZXQgbj10LngqdC54LG89dC54KnQueSxyPXQueCp0LnosaT10LngqdC53LHM9dC55KnQueSxmPXQueSp0LnosdT10LnkqdC53LGM9dC56KnQueixsPXQueip0LncscD10LncqdC53LGQ9bi1zLWMrcCxtPTIqKG8tbCksXz0yKihyK3UpLGc9MioobytsKSxiPS1uK3MtYytwLFQ9MiooZi1pKSxPPTIqKHItdSksRT0yKihmK2kpLHc9LW4tcytjK3A7cmV0dXJuIGgoZSk/KGVbMF09ZCxlWzFdPWcsZVsyXT1PLGVbM109bSxlWzRdPWIsZVs1XT1FLGVbNl09XyxlWzddPVQsZVs4XT13LGUpOm5ldyB3dChkLG0sXyxnLGIsVCxPLEUsdyl9O3d0LmZyb21IZWFkaW5nUGl0Y2hSb2xsPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJoZWFkaW5nUGl0Y2hSb2xsIix0KTtsZXQgbj1NYXRoLmNvcygtdC5waXRjaCksbz1NYXRoLmNvcygtdC5oZWFkaW5nKSxyPU1hdGguY29zKHQucm9sbCksaT1NYXRoLnNpbigtdC5waXRjaCkscz1NYXRoLnNpbigtdC5oZWFkaW5nKSxmPU1hdGguc2luKHQucm9sbCksdT1uKm8sYz0tcipzK2YqaSpvLGw9ZipzK3IqaSpvLHA9bipzLGQ9cipvK2YqaSpzLG09LWYqbytyKmkqcyxfPS1pLGc9ZipuLGI9cipuO3JldHVybiBoKGUpPyhlWzBdPXUsZVsxXT1wLGVbMl09XyxlWzNdPWMsZVs0XT1kLGVbNV09ZyxlWzZdPWwsZVs3XT1tLGVbOF09YixlKTpuZXcgd3QodSxjLGwscCxkLG0sXyxnLGIpfTt3dC5mcm9tU2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsdCksaChlKT8oZVswXT10LngsZVsxXT0wLGVbMl09MCxlWzNdPTAsZVs0XT10LnksZVs1XT0wLGVbNl09MCxlWzddPTAsZVs4XT10LnosZSk6bmV3IHd0KHQueCwwLDAsMCx0LnksMCwwLDAsdC56KX07d3QuZnJvbVVuaWZvcm1TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoInNjYWxlIix0KSxoKGUpPyhlWzBdPXQsZVsxXT0wLGVbMl09MCxlWzNdPTAsZVs0XT10LGVbNV09MCxlWzZdPTAsZVs3XT0wLGVbOF09dCxlKTpuZXcgd3QodCwwLDAsMCx0LDAsMCwwLHQpfTt3dC5mcm9tQ3Jvc3NQcm9kdWN0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmVjdG9yIix0KSxoKGUpPyhlWzBdPTAsZVsxXT10LnosZVsyXT0tdC55LGVbM109LXQueixlWzRdPTAsZVs1XT10LngsZVs2XT10LnksZVs3XT0tdC54LGVbOF09MCxlKTpuZXcgd3QoMCwtdC56LHQueSx0LnosMCwtdC54LC10LnksdC54LDApfTt3dC5mcm9tUm90YXRpb25YPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT0xLGVbMV09MCxlWzJdPTAsZVszXT0wLGVbNF09bixlWzVdPW8sZVs2XT0wLGVbN109LW8sZVs4XT1uLGUpOm5ldyB3dCgxLDAsMCwwLG4sLW8sMCxvLG4pfTt3dC5mcm9tUm90YXRpb25ZPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT1uLGVbMV09MCxlWzJdPS1vLGVbM109MCxlWzRdPTEsZVs1XT0wLGVbNl09byxlWzddPTAsZVs4XT1uLGUpOm5ldyB3dChuLDAsbywwLDEsMCwtbywwLG4pfTt3dC5mcm9tUm90YXRpb25aPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT1uLGVbMV09byxlWzJdPTAsZVszXT0tbyxlWzRdPW4sZVs1XT0wLGVbNl09MCxlWzddPTAsZVs4XT0xLGUpOm5ldyB3dChuLC1vLDAsbyxuLDAsMCwwLDEpfTt3dC50b0FycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSxoKGUpPyhlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZVs0XT10WzRdLGVbNV09dFs1XSxlWzZdPXRbNl0sZVs3XT10WzddLGVbOF09dFs4XSxlKTpbdFswXSx0WzFdLHRbMl0sdFszXSx0WzRdLHRbNV0sdFs2XSx0WzddLHRbOF1dfTt3dC5nZXRFbGVtZW50SW5kZXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInJvdyIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygicm93IixlLDIpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJjb2x1bW4iLHQsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImNvbHVtbiIsdCwyKSx0KjMrZX07d3QuZ2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGV4IixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwyKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89ZSozLHI9dFtvXSxpPXRbbysxXSxzPXRbbysyXTtyZXR1cm4gbi54PXIsbi55PWksbi56PXMsbn07d3Quc2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDIpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz13dC5jbG9uZSh0LG8pO2xldCByPWUqMztyZXR1cm4gb1tyXT1uLngsb1tyKzFdPW4ueSxvW3IrMl09bi56LG99O3d0LmdldFJvdz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbZV0scj10W2UrM10saT10W2UrNl07cmV0dXJuIG4ueD1vLG4ueT1yLG4uej1pLG59O3d0LnNldFJvdz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMikseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLG4pLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixvKSxvPXd0LmNsb25lKHQsbyksb1tlXT1uLngsb1tlKzNdPW4ueSxvW2UrNl09bi56LG99O1RDPW5ldyBhO3d0LnNldFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXd0LmdldFNjYWxlKHQsVEMpLHI9ZS54L28ueCxpPWUueS9vLnkscz1lLnovby56O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qcixuWzNdPXRbM10qaSxuWzRdPXRbNF0qaSxuWzVdPXRbNV0qaSxuWzZdPXRbNl0qcyxuWzddPXRbN10qcyxuWzhdPXRbOF0qcyxufTt3Qz1uZXcgYTt3dC5zZXRVbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89d3QuZ2V0U2NhbGUodCx3Qykscj1lL28ueCxpPWUvby55LHM9ZS9vLno7cmV0dXJuIG5bMF09dFswXSpyLG5bMV09dFsxXSpyLG5bMl09dFsyXSpyLG5bM109dFszXSppLG5bNF09dFs0XSppLG5bNV09dFs1XSppLG5bNl09dFs2XSpzLG5bN109dFs3XSpzLG5bOF09dFs4XSpzLG59O1NtPW5ldyBhO3d0LmdldFNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PWEubWFnbml0dWRlKGEuZnJvbUVsZW1lbnRzKHRbMF0sdFsxXSx0WzJdLFNtKSksZS55PWEubWFnbml0dWRlKGEuZnJvbUVsZW1lbnRzKHRbM10sdFs0XSx0WzVdLFNtKSksZS56PWEubWFnbml0dWRlKGEuZnJvbUVsZW1lbnRzKHRbNl0sdFs3XSx0WzhdLFNtKSksZX07TzE9bmV3IGE7d3QuZ2V0TWF4aW11bVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB3dC5nZXRTY2FsZSh0LE8xKSxhLm1heGltdW1Db21wb25lbnQoTzEpfTtPQz1uZXcgYTt3dC5zZXRSb3RhdGlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz13dC5nZXRTY2FsZSh0LE9DKTtyZXR1cm4gblswXT1lWzBdKm8ueCxuWzFdPWVbMV0qby54LG5bMl09ZVsyXSpvLngsblszXT1lWzNdKm8ueSxuWzRdPWVbNF0qby55LG5bNV09ZVs1XSpvLnksbls2XT1lWzZdKm8ueixuWzddPWVbN10qby56LG5bOF09ZVs4XSpvLnosbn07RUM9bmV3IGE7d3QuZ2V0Um90YXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXd0LmdldFNjYWxlKHQsRUMpO3JldHVybiBlWzBdPXRbMF0vbi54LGVbMV09dFsxXS9uLngsZVsyXT10WzJdL24ueCxlWzNdPXRbM10vbi55LGVbNF09dFs0XS9uLnksZVs1XT10WzVdL24ueSxlWzZdPXRbNl0vbi56LGVbN109dFs3XS9uLnosZVs4XT10WzhdL24ueixlfTt3dC5tdWx0aXBseT1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89dFswXSplWzBdK3RbM10qZVsxXSt0WzZdKmVbMl0scj10WzFdKmVbMF0rdFs0XSplWzFdK3RbN10qZVsyXSxpPXRbMl0qZVswXSt0WzVdKmVbMV0rdFs4XSplWzJdLHM9dFswXSplWzNdK3RbM10qZVs0XSt0WzZdKmVbNV0sZj10WzFdKmVbM10rdFs0XSplWzRdK3RbN10qZVs1XSx1PXRbMl0qZVszXSt0WzVdKmVbNF0rdFs4XSplWzVdLGM9dFswXSplWzZdK3RbM10qZVs3XSt0WzZdKmVbOF0sbD10WzFdKmVbNl0rdFs0XSplWzddK3RbN10qZVs4XSxwPXRbMl0qZVs2XSt0WzVdKmVbN10rdFs4XSplWzhdO3JldHVybiBuWzBdPW8sblsxXT1yLG5bMl09aSxuWzNdPXMsbls0XT1mLG5bNV09dSxuWzZdPWMsbls3XT1sLG5bOF09cCxufTt3dC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0rZVswXSxuWzFdPXRbMV0rZVsxXSxuWzJdPXRbMl0rZVsyXSxuWzNdPXRbM10rZVszXSxuWzRdPXRbNF0rZVs0XSxuWzVdPXRbNV0rZVs1XSxuWzZdPXRbNl0rZVs2XSxuWzddPXRbN10rZVs3XSxuWzhdPXRbOF0rZVs4XSxufTt3dC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXS1lWzBdLG5bMV09dFsxXS1lWzFdLG5bMl09dFsyXS1lWzJdLG5bM109dFszXS1lWzNdLG5bNF09dFs0XS1lWzRdLG5bNV09dFs1XS1lWzVdLG5bNl09dFs2XS1lWzZdLG5bN109dFs3XS1lWzddLG5bOF09dFs4XS1lWzhdLG59O3d0Lm11bHRpcGx5QnlWZWN0b3I9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUueCxyPWUueSxpPWUueixzPXRbMF0qbyt0WzNdKnIrdFs2XSppLGY9dFsxXSpvK3RbNF0qcit0WzddKmksdT10WzJdKm8rdFs1XSpyK3RbOF0qaTtyZXR1cm4gbi54PXMsbi55PWYsbi56PXUsbn07d3QubXVsdGlwbHlCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxhciIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXSplLG5bMV09dFsxXSplLG5bMl09dFsyXSplLG5bM109dFszXSplLG5bNF09dFs0XSplLG5bNV09dFs1XSplLG5bNl09dFs2XSplLG5bN109dFs3XSplLG5bOF09dFs4XSplLG59O3d0Lm11bHRpcGx5QnlTY2FsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdKmUueCxuWzFdPXRbMV0qZS54LG5bMl09dFsyXSplLngsblszXT10WzNdKmUueSxuWzRdPXRbNF0qZS55LG5bNV09dFs1XSplLnksbls2XT10WzZdKmUueixuWzddPXRbN10qZS56LG5bOF09dFs4XSplLnosbn07d3QubXVsdGlwbHlCeVVuaWZvcm1TY2FsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdKmUsblsxXT10WzFdKmUsblsyXT10WzJdKmUsblszXT10WzNdKmUsbls0XT10WzRdKmUsbls1XT10WzVdKmUsbls2XT10WzZdKmUsbls3XT10WzddKmUsbls4XT10WzhdKmUsbn07d3QubmVnYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT0tdFswXSxlWzFdPS10WzFdLGVbMl09LXRbMl0sZVszXT0tdFszXSxlWzRdPS10WzRdLGVbNV09LXRbNV0sZVs2XT0tdFs2XSxlWzddPS10WzddLGVbOF09LXRbOF0sZX07d3QudHJhbnNwb3NlPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj10WzBdLG89dFszXSxyPXRbNl0saT10WzFdLHM9dFs0XSxmPXRbN10sdT10WzJdLGM9dFs1XSxsPXRbOF07cmV0dXJuIGVbMF09bixlWzFdPW8sZVsyXT1yLGVbM109aSxlWzRdPXMsZVs1XT1mLGVbNl09dSxlWzddPWMsZVs4XT1sLGV9O0NtPVsxLDAsMF0seG09WzIsMiwxXTtxbD1uZXcgd3QsRTE9bmV3IHd0O3d0LmNvbXB1dGVFaWdlbkRlY29tcG9zaXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCk7bGV0IG49TS5FUFNJTE9OMjAsbz0xMCxyPTAsaT0wO2goZSl8fChlPXt9KTtsZXQgcz1lLnVuaXRhcnk9d3QuY2xvbmUod3QuSURFTlRJVFksZS51bml0YXJ5KSxmPWUuZGlhZ29uYWw9d3QuY2xvbmUodCxlLmRpYWdvbmFsKSx1PW4qUkMoZik7Zm9yKDtpPG8mJlNDKGYpPnU7KUNDKGYscWwpLHd0LnRyYW5zcG9zZShxbCxFMSksd3QubXVsdGlwbHkoZixxbCxmKSx3dC5tdWx0aXBseShFMSxmLGYpLHd0Lm11bHRpcGx5KHMscWwscyksKytyPjImJigrK2kscj0wKTtyZXR1cm4gZX07d3QuYWJzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT1NYXRoLmFicyh0WzBdKSxlWzFdPU1hdGguYWJzKHRbMV0pLGVbMl09TWF0aC5hYnModFsyXSksZVszXT1NYXRoLmFicyh0WzNdKSxlWzRdPU1hdGguYWJzKHRbNF0pLGVbNV09TWF0aC5hYnModFs1XSksZVs2XT1NYXRoLmFicyh0WzZdKSxlWzddPU1hdGguYWJzKHRbN10pLGVbOF09TWF0aC5hYnModFs4XSksZX07d3QuZGV0ZXJtaW5hbnQ9ZnVuY3Rpb24odCl7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpO2xldCBlPXRbMF0sbj10WzNdLG89dFs2XSxyPXRbMV0saT10WzRdLHM9dFs3XSxmPXRbMl0sdT10WzVdLGM9dFs4XTtyZXR1cm4gZSooaSpjLXUqcykrcioodSpvLW4qYykrZioobipzLWkqbyl9O3d0LmludmVyc2U9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXRbMF0sbz10WzFdLHI9dFsyXSxpPXRbM10scz10WzRdLGY9dFs1XSx1PXRbNl0sYz10WzddLGw9dFs4XSxwPXd0LmRldGVybWluYW50KHQpO2lmKE1hdGguYWJzKHApPD1NLkVQU0lMT04xNSl0aHJvdyBuZXcgRigibWF0cml4IGlzIG5vdCBpbnZlcnRpYmxlIik7ZVswXT1zKmwtYypmLGVbMV09YypyLW8qbCxlWzJdPW8qZi1zKnIsZVszXT11KmYtaSpsLGVbNF09bipsLXUqcixlWzVdPWkqci1uKmYsZVs2XT1pKmMtdSpzLGVbN109dSpvLW4qYyxlWzhdPW4qcy1pKm87bGV0IGQ9MS9wO3JldHVybiB3dC5tdWx0aXBseUJ5U2NhbGFyKGUsZCxlKX07eEM9bmV3IHd0O3d0LmludmVyc2VUcmFuc3Bvc2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSx3dC5pbnZlcnNlKHd0LnRyYW5zcG9zZSh0LHhDKSxlKX07d3QuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0WzBdPT09ZVswXSYmdFsxXT09PWVbMV0mJnRbMl09PT1lWzJdJiZ0WzNdPT09ZVszXSYmdFs0XT09PWVbNF0mJnRbNV09PT1lWzVdJiZ0WzZdPT09ZVs2XSYmdFs3XT09PWVbN10mJnRbOF09PT1lWzhdfTt3dC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj14KG4sMCksdD09PWV8fGgodCkmJmgoZSkmJk1hdGguYWJzKHRbMF0tZVswXSk8PW4mJk1hdGguYWJzKHRbMV0tZVsxXSk8PW4mJk1hdGguYWJzKHRbMl0tZVsyXSk8PW4mJk1hdGguYWJzKHRbM10tZVszXSk8PW4mJk1hdGguYWJzKHRbNF0tZVs0XSk8PW4mJk1hdGguYWJzKHRbNV0tZVs1XSk8PW4mJk1hdGguYWJzKHRbNl0tZVs2XSk8PW4mJk1hdGguYWJzKHRbN10tZVs3XSk8PW4mJk1hdGguYWJzKHRbOF0tZVs4XSk8PW59O3d0LklERU5USVRZPU9iamVjdC5mcmVlemUobmV3IHd0KDEsMCwwLDAsMSwwLDAsMCwxKSk7d3QuWkVSTz1PYmplY3QuZnJlZXplKG5ldyB3dCgwLDAsMCwwLDAsMCwwLDAsMCkpO3d0LkNPTFVNTjBST1cwPTA7d3QuQ09MVU1OMFJPVzE9MTt3dC5DT0xVTU4wUk9XMj0yO3d0LkNPTFVNTjFST1cwPTM7d3QuQ09MVU1OMVJPVzE9NDt3dC5DT0xVTU4xUk9XMj01O3d0LkNPTFVNTjJST1cwPTY7d3QuQ09MVU1OMlJPVzE9Nzt3dC5DT0xVTU4yUk9XMj04O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHd0LnByb3RvdHlwZSx7bGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd3QucGFja2VkTGVuZ3RofX19KTt3dC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIHd0LmNsb25lKHRoaXMsdCl9O3d0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIHd0LmVxdWFscyh0aGlzLHQpfTt3dC5lcXVhbHNBcnJheT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRbMF09PT1lW25dJiZ0WzFdPT09ZVtuKzFdJiZ0WzJdPT09ZVtuKzJdJiZ0WzNdPT09ZVtuKzNdJiZ0WzRdPT09ZVtuKzRdJiZ0WzVdPT09ZVtuKzVdJiZ0WzZdPT09ZVtuKzZdJiZ0WzddPT09ZVtuKzddJiZ0WzhdPT09ZVtuKzhdfTt3dC5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUpe3JldHVybiB3dC5lcXVhbHNFcHNpbG9uKHRoaXMsdCxlKX07d3QucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXNbMF19LCAke3RoaXNbM119LCAke3RoaXNbNl19KQooJHt0aGlzWzFdfSwgJHt0aGlzWzRdfSwgJHt0aGlzWzddfSkKKCR7dGhpc1syXX0sICR7dGhpc1s1XX0sICR7dGhpc1s4XX0pYH07UT13dH0pO2Z1bmN0aW9uIEx0KHQsZSxuLG8pe3RoaXMueD14KHQsMCksdGhpcy55PXgoZSwwKSx0aGlzLno9eChuLDApLHRoaXMudz14KG8sMCl9dmFyIEtsLFIxLFBDLFBtLGJvLE1DLE5DLFMxLGhlLGhyPVooKCk9PntYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7THQuZnJvbUVsZW1lbnRzPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIGgocik/KHIueD10LHIueT1lLHIuej1uLHIudz1vLHIpOm5ldyBMdCh0LGUsbixvKX07THQuZnJvbUNvbG9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY29sb3IiLHQpLGgoZSk/KGUueD10LnJlZCxlLnk9dC5ncmVlbixlLno9dC5ibHVlLGUudz10LmFscGhhLGUpOm5ldyBMdCh0LnJlZCx0LmdyZWVuLHQuYmx1ZSx0LmFscGhhKX07THQuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLng9dC54LGUueT10LnksZS56PXQueixlLnc9dC53LGUpOm5ldyBMdCh0LngsdC55LHQueix0LncpfTtMdC5wYWNrZWRMZW5ndGg9NDtMdC5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXQueCxlW24rK109dC55LGVbbisrXT10LnosZVtuXT10LncsZX07THQudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IEx0KSxuLng9dFtlKytdLG4ueT10W2UrK10sbi56PXRbZSsrXSxuLnc9dFtlXSxufTtMdC5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImFycmF5Iix0KTtsZXQgbj10Lmxlbmd0aCxvPW4qNDtpZighaChlKSllPW5ldyBBcnJheShvKTtlbHNle2lmKCFBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aCE9PW8pdGhyb3cgbmV3IEYoIklmIHJlc3VsdCBpcyBhIHR5cGVkIGFycmF5LCBpdCBtdXN0IGhhdmUgZXhhY3RseSBhcnJheS5sZW5ndGggKiA0IGVsZW1lbnRzIik7ZS5sZW5ndGghPT1vJiYoZS5sZW5ndGg9byl9Zm9yKGxldCByPTA7cjxuOysrcilMdC5wYWNrKHRbcl0sZSxyKjQpO3JldHVybiBlfTtMdC51bnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe2lmKHkuZGVmaW5lZCgiYXJyYXkiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJhcnJheS5sZW5ndGgiLHQubGVuZ3RoLDQpLHQubGVuZ3RoJTQhPT0wKXRocm93IG5ldyBGKCJhcnJheSBsZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQuIik7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uLzQ6ZT1uZXcgQXJyYXkobi80KTtmb3IobGV0IG89MDtvPG47bys9NCl7bGV0IHI9by80O2Vbcl09THQudW5wYWNrKHQsbyxlW3JdKX1yZXR1cm4gZX07THQuZnJvbUFycmF5PUx0LnVucGFjaztMdC5tYXhpbXVtQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksTWF0aC5tYXgodC54LHQueSx0LnosdC53KX07THQubWluaW11bUNvbXBvbmVudD1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLE1hdGgubWluKHQueCx0LnksdC56LHQudyl9O0x0Lm1pbmltdW1CeUNvbXBvbmVudD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZmlyc3QiLHQpLHkudHlwZU9mLm9iamVjdCgic2Vjb25kIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PU1hdGgubWluKHQueCxlLngpLG4ueT1NYXRoLm1pbih0LnksZS55KSxuLno9TWF0aC5taW4odC56LGUueiksbi53PU1hdGgubWluKHQudyxlLncpLG59O0x0Lm1heGltdW1CeUNvbXBvbmVudD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZmlyc3QiLHQpLHkudHlwZU9mLm9iamVjdCgic2Vjb25kIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PU1hdGgubWF4KHQueCxlLngpLG4ueT1NYXRoLm1heCh0LnksZS55KSxuLno9TWF0aC5tYXgodC56LGUueiksbi53PU1hdGgubWF4KHQudyxlLncpLG59O0x0LmNsYW1wPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkudHlwZU9mLm9iamVjdCgibWluIixlKSx5LnR5cGVPZi5vYmplY3QoIm1heCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pO2xldCByPU0uY2xhbXAodC54LGUueCxuLngpLGk9TS5jbGFtcCh0LnksZS55LG4ueSkscz1NLmNsYW1wKHQueixlLnosbi56KSxmPU0uY2xhbXAodC53LGUudyxuLncpO3JldHVybiBvLng9cixvLnk9aSxvLno9cyxvLnc9ZixvfTtMdC5tYWduaXR1ZGVTcXVhcmVkPWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksdC54KnQueCt0LnkqdC55K3Queip0LnordC53KnQud307THQubWFnbml0dWRlPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNxcnQoTHQubWFnbml0dWRlU3F1YXJlZCh0KSl9O0tsPW5ldyBMdDtMdC5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLEx0LnN1YnRyYWN0KHQsZSxLbCksTHQubWFnbml0dWRlKEtsKX07THQuZGlzdGFuY2VTcXVhcmVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksTHQuc3VidHJhY3QodCxlLEtsKSxMdC5tYWduaXR1ZGVTcXVhcmVkKEtsKX07THQubm9ybWFsaXplPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1MdC5tYWduaXR1ZGUodCk7aWYoZS54PXQueC9uLGUueT10LnkvbixlLno9dC56L24sZS53PXQudy9uLGlzTmFOKGUueCl8fGlzTmFOKGUueSl8fGlzTmFOKGUueil8fGlzTmFOKGUudykpdGhyb3cgbmV3IEYoIm5vcm1hbGl6ZWQgcmVzdWx0IGlzIG5vdCBhIG51bWJlciIpO3JldHVybiBlfTtMdC5kb3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx0LngqZS54K3QueSplLnkrdC56KmUueit0LncqZS53fTtMdC5tdWx0aXBseUNvbXBvbmVudHM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54KmUueCxuLnk9dC55KmUueSxuLno9dC56KmUueixuLnc9dC53KmUudyxufTtMdC5kaXZpZGVDb21wb25lbnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLngsbi55PXQueS9lLnksbi56PXQuei9lLnosbi53PXQudy9lLncsbn07THQuYWRkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCtlLngsbi55PXQueStlLnksbi56PXQueitlLnosbi53PXQudytlLncsbn07THQuc3VidHJhY3Q9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54LWUueCxuLnk9dC55LWUueSxuLno9dC56LWUueixuLnc9dC53LWUudyxufTtMdC5tdWx0aXBseUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCplLG4ueT10LnkqZSxuLno9dC56KmUsbi53PXQudyplLG59O0x0LmRpdmlkZUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxuLno9dC56L2Usbi53PXQudy9lLG59O0x0Lm5lZ2F0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpLGUueD0tdC54LGUueT0tdC55LGUuej0tdC56LGUudz0tdC53LGV9O0x0LmFicz1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpLGUueD1NYXRoLmFicyh0LngpLGUueT1NYXRoLmFicyh0LnkpLGUuej1NYXRoLmFicyh0LnopLGUudz1NYXRoLmFicyh0LncpLGV9O1IxPW5ldyBMdDtMdC5sZXJwPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInN0YXJ0Iix0KSx5LnR5cGVPZi5vYmplY3QoImVuZCIsZSkseS50eXBlT2YubnVtYmVyKCJ0IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksTHQubXVsdGlwbHlCeVNjYWxhcihlLG4sUjEpLG89THQubXVsdGlwbHlCeVNjYWxhcih0LDEtbixvKSxMdC5hZGQoUjEsbyxvKX07UEM9bmV3IEx0O0x0Lm1vc3RPcnRob2dvbmFsQXhpcz1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49THQubm9ybWFsaXplKHQsUEMpO3JldHVybiBMdC5hYnMobixuKSxuLng8PW4ueT9uLng8PW4uej9uLng8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWCxlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKTpuLno8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWixlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKTpuLnk8PW4uej9uLnk8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWSxlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKTpuLno8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWixlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKSxlfTtMdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQueD09PWUueCYmdC55PT09ZS55JiZ0Lno9PT1lLnomJnQudz09PWUud307THQuZXF1YWxzQXJyYXk9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0Lng9PT1lW25dJiZ0Lnk9PT1lW24rMV0mJnQuej09PWVbbisyXSYmdC53PT09ZVtuKzNdfTtMdC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmTS5lcXVhbHNFcHNpbG9uKHQueCxlLngsbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueSxlLnksbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueixlLnosbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQudyxlLncsbixvKX07THQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBMdCgwLDAsMCwwKSk7THQuT05FPU9iamVjdC5mcmVlemUobmV3IEx0KDEsMSwxLDEpKTtMdC5VTklUX1g9T2JqZWN0LmZyZWV6ZShuZXcgTHQoMSwwLDAsMCkpO0x0LlVOSVRfWT1PYmplY3QuZnJlZXplKG5ldyBMdCgwLDEsMCwwKSk7THQuVU5JVF9aPU9iamVjdC5mcmVlemUobmV3IEx0KDAsMCwxLDApKTtMdC5VTklUX1c9T2JqZWN0LmZyZWV6ZShuZXcgTHQoMCwwLDAsMSkpO0x0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gTHQuY2xvbmUodGhpcyx0KX07THQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gTHQuZXF1YWxzKHRoaXMsdCl9O0x0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gTHQuZXF1YWxzRXBzaWxvbih0aGlzLHQsZSxuKX07THQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXMueH0sICR7dGhpcy55fSwgJHt0aGlzLnp9LCAke3RoaXMud30pYH07UG09bmV3IEZsb2F0MzJBcnJheSgxKSxibz1uZXcgVWludDhBcnJheShQbS5idWZmZXIpLE1DPW5ldyBVaW50MzJBcnJheShbMjg3NDU0MDIwXSksTkM9bmV3IFVpbnQ4QXJyYXkoTUMuYnVmZmVyKSxTMT1OQ1swXT09PTY4O0x0LnBhY2tGbG9hdD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoInZhbHVlIix0KSxoKGUpfHwoZT1uZXcgTHQpLFBtWzBdPXQsUzE/KGUueD1ib1swXSxlLnk9Ym9bMV0sZS56PWJvWzJdLGUudz1ib1szXSk6KGUueD1ib1szXSxlLnk9Ym9bMl0sZS56PWJvWzFdLGUudz1ib1swXSksZX07THQudW5wYWNrRmxvYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicGFja2VkRmxvYXQiLHQpLFMxPyhib1swXT10LngsYm9bMV09dC55LGJvWzJdPXQueixib1szXT10LncpOihib1swXT10LncsYm9bMV09dC56LGJvWzJdPXQueSxib1szXT10LngpLFBtWzBdfTtoZT1MdH0pO2Z1bmN0aW9uIHNmKHQpe3RoaXMubmFtZT0iUnVudGltZUVycm9yIix0aGlzLm1lc3NhZ2U9dDtsZXQgZTt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKG4pe2U9bi5zdGFja310aGlzLnN0YWNrPWV9dmFyIEFlLEpyPVooKCk9PntmdCgpO2goT2JqZWN0LmNyZWF0ZSkmJihzZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLHNmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1zZik7c2YucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7bGV0IHQ9YCR7dGhpcy5uYW1lfTogJHt0aGlzLm1lc3NhZ2V9YDtyZXR1cm4gaCh0aGlzLnN0YWNrKSYmKHQrPWAKJHt0aGlzLnN0YWNrLnRvU3RyaW5nKCl9YCksdH07QWU9c2Z9KTtmdW5jdGlvbiBUdCh0LGUsbixvLHIsaSxzLGYsdSxjLGwscCxkLG0sXyxnKXt0aGlzWzBdPXgodCwwKSx0aGlzWzFdPXgociwwKSx0aGlzWzJdPXgodSwwKSx0aGlzWzNdPXgoZCwwKSx0aGlzWzRdPXgoZSwwKSx0aGlzWzVdPXgoaSwwKSx0aGlzWzZdPXgoYywwKSx0aGlzWzddPXgobSwwKSx0aGlzWzhdPXgobiwwKSx0aGlzWzldPXgocywwKSx0aGlzWzEwXT14KGwsMCksdGhpc1sxMV09eChfLDApLHRoaXNbMTJdPXgobywwKSx0aGlzWzEzXT14KGYsMCksdGhpc1sxNF09eChwLDApLHRoaXNbMTVdPXgoZywwKX12YXIgSGMscWMsY2YsSUMsdkMsTW0sQzEsTEMsREMsRkMsQkMsVUMsVkMsa0Msc3QsVW49WigoKT0+e0Z0KCk7aHIoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7Qm4oKTtKcigpO1R0LnBhY2tlZExlbmd0aD0xNjtUdC5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXRbMF0sZVtuKytdPXRbMV0sZVtuKytdPXRbMl0sZVtuKytdPXRbM10sZVtuKytdPXRbNF0sZVtuKytdPXRbNV0sZVtuKytdPXRbNl0sZVtuKytdPXRbN10sZVtuKytdPXRbOF0sZVtuKytdPXRbOV0sZVtuKytdPXRbMTBdLGVbbisrXT10WzExXSxlW24rK109dFsxMl0sZVtuKytdPXRbMTNdLGVbbisrXT10WzE0XSxlW25dPXRbMTVdLGV9O1R0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBUdCksblswXT10W2UrK10sblsxXT10W2UrK10sblsyXT10W2UrK10sblszXT10W2UrK10sbls0XT10W2UrK10sbls1XT10W2UrK10sbls2XT10W2UrK10sbls3XT10W2UrK10sbls4XT10W2UrK10sbls5XT10W2UrK10sblsxMF09dFtlKytdLG5bMTFdPXRbZSsrXSxuWzEyXT10W2UrK10sblsxM109dFtlKytdLG5bMTRdPXRbZSsrXSxuWzE1XT10W2VdLG59O1R0LnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiYXJyYXkiLHQpO2xldCBuPXQubGVuZ3RoLG89bioxNjtpZighaChlKSllPW5ldyBBcnJheShvKTtlbHNle2lmKCFBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aCE9PW8pdGhyb3cgbmV3IEYoIklmIHJlc3VsdCBpcyBhIHR5cGVkIGFycmF5LCBpdCBtdXN0IGhhdmUgZXhhY3RseSBhcnJheS5sZW5ndGggKiAxNiBlbGVtZW50cyIpO2UubGVuZ3RoIT09byYmKGUubGVuZ3RoPW8pfWZvcihsZXQgcj0wO3I8bjsrK3IpVHQucGFjayh0W3JdLGUscioxNik7cmV0dXJuIGV9O1R0LnVucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7aWYoeS5kZWZpbmVkKCJhcnJheSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImFycmF5Lmxlbmd0aCIsdC5sZW5ndGgsMTYpLHQubGVuZ3RoJTE2IT09MCl0aHJvdyBuZXcgRigiYXJyYXkgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi4iKTtsZXQgbj10Lmxlbmd0aDtoKGUpP2UubGVuZ3RoPW4vMTY6ZT1uZXcgQXJyYXkobi8xNik7Zm9yKGxldCBvPTA7bzxuO28rPTE2KXtsZXQgcj1vLzE2O2Vbcl09VHQudW5wYWNrKHQsbyxlW3JdKX1yZXR1cm4gZX07VHQuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZVs0XT10WzRdLGVbNV09dFs1XSxlWzZdPXRbNl0sZVs3XT10WzddLGVbOF09dFs4XSxlWzldPXRbOV0sZVsxMF09dFsxMF0sZVsxMV09dFsxMV0sZVsxMl09dFsxMl0sZVsxM109dFsxM10sZVsxNF09dFsxNF0sZVsxNV09dFsxNV0sZSk6bmV3IFR0KHRbMF0sdFs0XSx0WzhdLHRbMTJdLHRbMV0sdFs1XSx0WzldLHRbMTNdLHRbMl0sdFs2XSx0WzEwXSx0WzE0XSx0WzNdLHRbN10sdFsxMV0sdFsxNV0pfTtUdC5mcm9tQXJyYXk9VHQudW5wYWNrO1R0LmZyb21Db2x1bW5NYWpvckFycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgidmFsdWVzIix0KSxUdC5jbG9uZSh0LGUpfTtUdC5mcm9tUm93TWFqb3JBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoInZhbHVlcyIsdCksaChlKT8oZVswXT10WzBdLGVbMV09dFs0XSxlWzJdPXRbOF0sZVszXT10WzEyXSxlWzRdPXRbMV0sZVs1XT10WzVdLGVbNl09dFs5XSxlWzddPXRbMTNdLGVbOF09dFsyXSxlWzldPXRbNl0sZVsxMF09dFsxMF0sZVsxMV09dFsxNF0sZVsxMl09dFszXSxlWzEzXT10WzddLGVbMTRdPXRbMTFdLGVbMTVdPXRbMTVdLGUpOm5ldyBUdCh0WzBdLHRbMV0sdFsyXSx0WzNdLHRbNF0sdFs1XSx0WzZdLHRbN10sdFs4XSx0WzldLHRbMTBdLHRbMTFdLHRbMTJdLHRbMTNdLHRbMTRdLHRbMTVdKX07VHQuZnJvbVJvdGF0aW9uVHJhbnNsYXRpb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInJvdGF0aW9uIix0KSxlPXgoZSxhLlpFUk8pLGgobik/KG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJdLG5bM109MCxuWzRdPXRbM10sbls1XT10WzRdLG5bNl09dFs1XSxuWzddPTAsbls4XT10WzZdLG5bOV09dFs3XSxuWzEwXT10WzhdLG5bMTFdPTAsblsxMl09ZS54LG5bMTNdPWUueSxuWzE0XT1lLnosblsxNV09MSxuKTpuZXcgVHQodFswXSx0WzNdLHRbNl0sZS54LHRbMV0sdFs0XSx0WzddLGUueSx0WzJdLHRbNV0sdFs4XSxlLnosMCwwLDAsMSl9O1R0LmZyb21UcmFuc2xhdGlvblF1YXRlcm5pb25Sb3RhdGlvblNjYWxlPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgidHJhbnNsYXRpb24iLHQpLHkudHlwZU9mLm9iamVjdCgicm90YXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgic2NhbGUiLG4pLGgobyl8fChvPW5ldyBUdCk7bGV0IHI9bi54LGk9bi55LHM9bi56LGY9ZS54KmUueCx1PWUueCplLnksYz1lLngqZS56LGw9ZS54KmUudyxwPWUueSplLnksZD1lLnkqZS56LG09ZS55KmUudyxfPWUueiplLnosZz1lLnoqZS53LGI9ZS53KmUudyxUPWYtcC1fK2IsTz0yKih1LWcpLEU9MiooYyttKSx3PTIqKHUrZyksQz0tZitwLV8rYixOPTIqKGQtbCksST0yKihjLW0pLEQ9MiooZCtsKSx2PS1mLXArXytiO3JldHVybiBvWzBdPVQqcixvWzFdPXcqcixvWzJdPUkqcixvWzNdPTAsb1s0XT1PKmksb1s1XT1DKmksb1s2XT1EKmksb1s3XT0wLG9bOF09RSpzLG9bOV09TipzLG9bMTBdPXYqcyxvWzExXT0wLG9bMTJdPXQueCxvWzEzXT10Lnksb1sxNF09dC56LG9bMTVdPTEsb307VHQuZnJvbVRyYW5zbGF0aW9uUm90YXRpb25TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInRyYW5zbGF0aW9uUm90YXRpb25TY2FsZSIsdCksVHQuZnJvbVRyYW5zbGF0aW9uUXVhdGVybmlvblJvdGF0aW9uU2NhbGUodC50cmFuc2xhdGlvbix0LnJvdGF0aW9uLHQuc2NhbGUsZSl9O1R0LmZyb21UcmFuc2xhdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInRyYW5zbGF0aW9uIix0KSxUdC5mcm9tUm90YXRpb25UcmFuc2xhdGlvbihRLklERU5USVRZLHQsZSl9O1R0LmZyb21TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInNjYWxlIix0KSxoKGUpPyhlWzBdPXQueCxlWzFdPTAsZVsyXT0wLGVbM109MCxlWzRdPTAsZVs1XT10LnksZVs2XT0wLGVbN109MCxlWzhdPTAsZVs5XT0wLGVbMTBdPXQueixlWzExXT0wLGVbMTJdPTAsZVsxM109MCxlWzE0XT0wLGVbMTVdPTEsZSk6bmV3IFR0KHQueCwwLDAsMCwwLHQueSwwLDAsMCwwLHQueiwwLDAsMCwwLDEpfTtUdC5mcm9tVW5pZm9ybVNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm51bWJlcigic2NhbGUiLHQpLGgoZSk/KGVbMF09dCxlWzFdPTAsZVsyXT0wLGVbM109MCxlWzRdPTAsZVs1XT10LGVbNl09MCxlWzddPTAsZVs4XT0wLGVbOV09MCxlWzEwXT10LGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSxlKTpuZXcgVHQodCwwLDAsMCwwLHQsMCwwLDAsMCx0LDAsMCwwLDAsMSl9O1R0LmZyb21Sb3RhdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInJvdGF0aW9uIix0KSxoKGUpfHwoZT1uZXcgVHQpLGVbMF09dFswXSxlWzFdPXRbMV0sZVsyXT10WzJdLGVbM109MCxlWzRdPXRbM10sZVs1XT10WzRdLGVbNl09dFs1XSxlWzddPTAsZVs4XT10WzZdLGVbOV09dFs3XSxlWzEwXT10WzhdLGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSxlfTtIYz1uZXcgYSxxYz1uZXcgYSxjZj1uZXcgYTtUdC5mcm9tQ2FtZXJhPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYW1lcmEiLHQpO2xldCBuPXQucG9zaXRpb24sbz10LmRpcmVjdGlvbixyPXQudXA7eS50eXBlT2Yub2JqZWN0KCJjYW1lcmEucG9zaXRpb24iLG4pLHkudHlwZU9mLm9iamVjdCgiY2FtZXJhLmRpcmVjdGlvbiIsbykseS50eXBlT2Yub2JqZWN0KCJjYW1lcmEudXAiLHIpLGEubm9ybWFsaXplKG8sSGMpLGEubm9ybWFsaXplKGEuY3Jvc3MoSGMscixxYykscWMpLGEubm9ybWFsaXplKGEuY3Jvc3MocWMsSGMsY2YpLGNmKTtsZXQgaT1xYy54LHM9cWMueSxmPXFjLnosdT1IYy54LGM9SGMueSxsPUhjLnoscD1jZi54LGQ9Y2YueSxtPWNmLnosXz1uLngsZz1uLnksYj1uLnosVD1pKi1fK3MqLWcrZiotYixPPXAqLV8rZCotZyttKi1iLEU9dSpfK2MqZytsKmI7cmV0dXJuIGgoZSk/KGVbMF09aSxlWzFdPXAsZVsyXT0tdSxlWzNdPTAsZVs0XT1zLGVbNV09ZCxlWzZdPS1jLGVbN109MCxlWzhdPWYsZVs5XT1tLGVbMTBdPS1sLGVbMTFdPTAsZVsxMl09VCxlWzEzXT1PLGVbMTRdPUUsZVsxNV09MSxlKTpuZXcgVHQoaSxzLGYsVCxwLGQsbSxPLC11LC1jLC1sLEUsMCwwLDAsMSl9O1R0LmNvbXB1dGVQZXJzcGVjdGl2ZUZpZWxkT2ZWaWV3PWZ1bmN0aW9uKHQsZSxuLG8scil7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuKCJmb3ZZIix0LDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbigiZm92WSIsdCxNYXRoLlBJKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW4oIm5lYXIiLG4sMCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuKCJmYXIiLG8sMCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLHIpO2xldCBzPTEvTWF0aC50YW4odCouNSksZj1zL2UsdT0obytuKS8obi1vKSxjPTIqbypuLyhuLW8pO3JldHVybiByWzBdPWYsclsxXT0wLHJbMl09MCxyWzNdPTAscls0XT0wLHJbNV09cyxyWzZdPTAscls3XT0wLHJbOF09MCxyWzldPTAsclsxMF09dSxyWzExXT0tMSxyWzEyXT0wLHJbMTNdPTAsclsxNF09YyxyWzE1XT0wLHJ9O1R0LmNvbXB1dGVPcnRob2dyYXBoaWNPZmZDZW50ZXI9ZnVuY3Rpb24odCxlLG4sbyxyLGkscyl7eS50eXBlT2YubnVtYmVyKCJsZWZ0Iix0KSx5LnR5cGVPZi5udW1iZXIoInJpZ2h0IixlKSx5LnR5cGVPZi5udW1iZXIoImJvdHRvbSIsbikseS50eXBlT2YubnVtYmVyKCJ0b3AiLG8pLHkudHlwZU9mLm51bWJlcigibmVhciIscikseS50eXBlT2YubnVtYmVyKCJmYXIiLGkpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixzKTtsZXQgZj0xLyhlLXQpLHU9MS8oby1uKSxjPTEvKGktciksbD0tKGUrdCkqZixwPS0obytuKSp1LGQ9LShpK3IpKmM7cmV0dXJuIGYqPTIsdSo9MixjKj0tMixzWzBdPWYsc1sxXT0wLHNbMl09MCxzWzNdPTAsc1s0XT0wLHNbNV09dSxzWzZdPTAsc1s3XT0wLHNbOF09MCxzWzldPTAsc1sxMF09YyxzWzExXT0wLHNbMTJdPWwsc1sxM109cCxzWzE0XT1kLHNbMTVdPTEsc307VHQuY29tcHV0ZVBlcnNwZWN0aXZlT2ZmQ2VudGVyPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe3kudHlwZU9mLm51bWJlcigibGVmdCIsdCkseS50eXBlT2YubnVtYmVyKCJyaWdodCIsZSkseS50eXBlT2YubnVtYmVyKCJib3R0b20iLG4pLHkudHlwZU9mLm51bWJlcigidG9wIixvKSx5LnR5cGVPZi5udW1iZXIoIm5lYXIiLHIpLHkudHlwZU9mLm51bWJlcigiZmFyIixpKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIscyk7bGV0IGY9MipyLyhlLXQpLHU9MipyLyhvLW4pLGM9KGUrdCkvKGUtdCksbD0obytuKS8oby1uKSxwPS0oaStyKS8oaS1yKSxkPS0xLG09LTIqaSpyLyhpLXIpO3JldHVybiBzWzBdPWYsc1sxXT0wLHNbMl09MCxzWzNdPTAsc1s0XT0wLHNbNV09dSxzWzZdPTAsc1s3XT0wLHNbOF09YyxzWzldPWwsc1sxMF09cCxzWzExXT1kLHNbMTJdPTAsc1sxM109MCxzWzE0XT1tLHNbMTVdPTAsc307VHQuY29tcHV0ZUluZmluaXRlUGVyc3BlY3RpdmVPZmZDZW50ZXI9ZnVuY3Rpb24odCxlLG4sbyxyLGkpe3kudHlwZU9mLm51bWJlcigibGVmdCIsdCkseS50eXBlT2YubnVtYmVyKCJyaWdodCIsZSkseS50eXBlT2YubnVtYmVyKCJib3R0b20iLG4pLHkudHlwZU9mLm51bWJlcigidG9wIixvKSx5LnR5cGVPZi5udW1iZXIoIm5lYXIiLHIpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixpKTtsZXQgcz0yKnIvKGUtdCksZj0yKnIvKG8tbiksdT0oZSt0KS8oZS10KSxjPShvK24pLyhvLW4pLGw9LTEscD0tMSxkPS0yKnI7cmV0dXJuIGlbMF09cyxpWzFdPTAsaVsyXT0wLGlbM109MCxpWzRdPTAsaVs1XT1mLGlbNl09MCxpWzddPTAsaVs4XT11LGlbOV09YyxpWzEwXT1sLGlbMTFdPXAsaVsxMl09MCxpWzEzXT0wLGlbMTRdPWQsaVsxNV09MCxpfTtUdC5jb21wdXRlVmlld3BvcnRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0LGUsbixvKXtoKG8pfHwobz1uZXcgVHQpLHQ9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgcj14KHQueCwwKSxpPXgodC55LDApLHM9eCh0LndpZHRoLDApLGY9eCh0LmhlaWdodCwwKTtlPXgoZSwwKSxuPXgobiwxKTtsZXQgdT1zKi41LGM9ZiouNSxsPShuLWUpKi41LHA9dSxkPWMsbT1sLF89cit1LGc9aStjLGI9ZStsLFQ9MTtyZXR1cm4gb1swXT1wLG9bMV09MCxvWzJdPTAsb1szXT0wLG9bNF09MCxvWzVdPWQsb1s2XT0wLG9bN109MCxvWzhdPTAsb1s5XT0wLG9bMTBdPW0sb1sxMV09MCxvWzEyXT1fLG9bMTNdPWcsb1sxNF09YixvWzE1XT1ULG99O1R0LmNvbXB1dGVWaWV3PWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicG9zaXRpb24iLHQpLHkudHlwZU9mLm9iamVjdCgiZGlyZWN0aW9uIixlKSx5LnR5cGVPZi5vYmplY3QoInVwIixuKSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixvKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsciksclswXT1vLngsclsxXT1uLngsclsyXT0tZS54LHJbM109MCxyWzRdPW8ueSxyWzVdPW4ueSxyWzZdPS1lLnkscls3XT0wLHJbOF09by56LHJbOV09bi56LHJbMTBdPS1lLnosclsxMV09MCxyWzEyXT0tYS5kb3Qobyx0KSxyWzEzXT0tYS5kb3Qobix0KSxyWzE0XT1hLmRvdChlLHQpLHJbMTVdPTEscn07VHQudG9BcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCksaChlKT8oZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGVbNF09dFs0XSxlWzVdPXRbNV0sZVs2XT10WzZdLGVbN109dFs3XSxlWzhdPXRbOF0sZVs5XT10WzldLGVbMTBdPXRbMTBdLGVbMTFdPXRbMTFdLGVbMTJdPXRbMTJdLGVbMTNdPXRbMTNdLGVbMTRdPXRbMTRdLGVbMTVdPXRbMTVdLGUpOlt0WzBdLHRbMV0sdFsyXSx0WzNdLHRbNF0sdFs1XSx0WzZdLHRbN10sdFs4XSx0WzldLHRbMTBdLHRbMTFdLHRbMTJdLHRbMTNdLHRbMTRdLHRbMTVdXX07VHQuZ2V0RWxlbWVudEluZGV4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJyb3ciLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoInJvdyIsZSwzKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiY29sdW1uIix0LDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJjb2x1bW4iLHQsMyksdCo0K2V9O1R0LmdldENvbHVtbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMykseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUqNCxyPXRbb10saT10W28rMV0scz10W28rMl0sZj10W28rM107cmV0dXJuIG4ueD1yLG4ueT1pLG4uej1zLG4udz1mLG59O1R0LnNldENvbHVtbj1mdW5jdGlvbih0LGUsbixvKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGV4IixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwzKSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pLG89VHQuY2xvbmUodCxvKTtsZXQgcj1lKjQ7cmV0dXJuIG9bcl09bi54LG9bcisxXT1uLnksb1tyKzJdPW4ueixvW3IrM109bi53LG99O1R0LmdldFJvdz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMykseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbZV0scj10W2UrNF0saT10W2UrOF0scz10W2UrMTJdO3JldHVybiBuLng9byxuLnk9cixuLno9aSxuLnc9cyxufTtUdC5zZXRSb3c9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDMpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz1UdC5jbG9uZSh0LG8pLG9bZV09bi54LG9bZSs0XT1uLnksb1tlKzhdPW4ueixvW2UrMTJdPW4udyxvfTtUdC5zZXRUcmFuc2xhdGlvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInRyYW5zbGF0aW9uIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG5bNF09dFs0XSxuWzVdPXRbNV0sbls2XT10WzZdLG5bN109dFs3XSxuWzhdPXRbOF0sbls5XT10WzldLG5bMTBdPXRbMTBdLG5bMTFdPXRbMTFdLG5bMTJdPWUueCxuWzEzXT1lLnksblsxNF09ZS56LG5bMTVdPXRbMTVdLG59O0lDPW5ldyBhO1R0LnNldFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVR0LmdldFNjYWxlKHQsSUMpLHI9ZS54L28ueCxpPWUueS9vLnkscz1lLnovby56O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qcixuWzNdPXRbM10sbls0XT10WzRdKmksbls1XT10WzVdKmksbls2XT10WzZdKmksbls3XT10WzddLG5bOF09dFs4XSpzLG5bOV09dFs5XSpzLG5bMTBdPXRbMTBdKnMsblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbn07dkM9bmV3IGE7VHQuc2V0VW5pZm9ybVNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVR0LmdldFNjYWxlKHQsdkMpLHI9ZS9vLngsaT1lL28ueSxzPWUvby56O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qcixuWzNdPXRbM10sbls0XT10WzRdKmksbls1XT10WzVdKmksbls2XT10WzZdKmksbls3XT10WzddLG5bOF09dFs4XSpzLG5bOV09dFs5XSpzLG5bMTBdPXRbMTBdKnMsblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbn07TW09bmV3IGE7VHQuZ2V0U2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9YS5tYWduaXR1ZGUoYS5mcm9tRWxlbWVudHModFswXSx0WzFdLHRbMl0sTW0pKSxlLnk9YS5tYWduaXR1ZGUoYS5mcm9tRWxlbWVudHModFs0XSx0WzVdLHRbNl0sTW0pKSxlLno9YS5tYWduaXR1ZGUoYS5mcm9tRWxlbWVudHModFs4XSx0WzldLHRbMTBdLE1tKSksZX07QzE9bmV3IGE7VHQuZ2V0TWF4aW11bVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBUdC5nZXRTY2FsZSh0LEMxKSxhLm1heGltdW1Db21wb25lbnQoQzEpfTtMQz1uZXcgYTtUdC5zZXRSb3RhdGlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1UdC5nZXRTY2FsZSh0LExDKTtyZXR1cm4gblswXT1lWzBdKm8ueCxuWzFdPWVbMV0qby54LG5bMl09ZVsyXSpvLngsblszXT10WzNdLG5bNF09ZVszXSpvLnksbls1XT1lWzRdKm8ueSxuWzZdPWVbNV0qby55LG5bN109dFs3XSxuWzhdPWVbNl0qby56LG5bOV09ZVs3XSpvLnosblsxMF09ZVs4XSpvLnosblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbn07REM9bmV3IGE7VHQuZ2V0Um90YXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPVR0LmdldFNjYWxlKHQsREMpO3JldHVybiBlWzBdPXRbMF0vbi54LGVbMV09dFsxXS9uLngsZVsyXT10WzJdL24ueCxlWzNdPXRbNF0vbi55LGVbNF09dFs1XS9uLnksZVs1XT10WzZdL24ueSxlWzZdPXRbOF0vbi56LGVbN109dFs5XS9uLnosZVs4XT10WzEwXS9uLnosZX07VHQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0scj10WzFdLGk9dFsyXSxzPXRbM10sZj10WzRdLHU9dFs1XSxjPXRbNl0sbD10WzddLHA9dFs4XSxkPXRbOV0sbT10WzEwXSxfPXRbMTFdLGc9dFsxMl0sYj10WzEzXSxUPXRbMTRdLE89dFsxNV0sRT1lWzBdLHc9ZVsxXSxDPWVbMl0sTj1lWzNdLEk9ZVs0XSxEPWVbNV0sdj1lWzZdLEw9ZVs3XSxVPWVbOF0sQT1lWzldLFM9ZVsxMF0sUD1lWzExXSxCPWVbMTJdLGo9ZVsxM10sSD1lWzE0XSxrPWVbMTVdLEs9bypFK2YqdytwKkMrZypOLFg9cipFK3UqdytkKkMrYipOLFI9aSpFK2MqdyttKkMrVCpOLG90PXMqRStsKncrXypDK08qTixhdD1vKkkrZipEK3AqditnKkwscHQ9cipJK3UqRCtkKnYrYipMLHl0PWkqSStjKkQrbSp2K1QqTCxydD1zKkkrbCpEK18qditPKkwsUHQ9bypVK2YqQStwKlMrZypQLGd0PXIqVSt1KkErZCpTK2IqUCxDdD1pKlUrYypBK20qUytUKlAsbXQ9cypVK2wqQStfKlMrTypQLHV0PW8qQitmKmorcCpIK2cqayx2dD1yKkIrdSpqK2QqSCtiKmssenQ9aSpCK2MqaittKkgrVCprLG1lPXMqQitsKmorXypIK08qaztyZXR1cm4gblswXT1LLG5bMV09WCxuWzJdPVIsblszXT1vdCxuWzRdPWF0LG5bNV09cHQsbls2XT15dCxuWzddPXJ0LG5bOF09UHQsbls5XT1ndCxuWzEwXT1DdCxuWzExXT1tdCxuWzEyXT11dCxuWzEzXT12dCxuWzE0XT16dCxuWzE1XT1tZSxufTtUdC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0rZVswXSxuWzFdPXRbMV0rZVsxXSxuWzJdPXRbMl0rZVsyXSxuWzNdPXRbM10rZVszXSxuWzRdPXRbNF0rZVs0XSxuWzVdPXRbNV0rZVs1XSxuWzZdPXRbNl0rZVs2XSxuWzddPXRbN10rZVs3XSxuWzhdPXRbOF0rZVs4XSxuWzldPXRbOV0rZVs5XSxuWzEwXT10WzEwXStlWzEwXSxuWzExXT10WzExXStlWzExXSxuWzEyXT10WzEyXStlWzEyXSxuWzEzXT10WzEzXStlWzEzXSxuWzE0XT10WzE0XStlWzE0XSxuWzE1XT10WzE1XStlWzE1XSxufTtUdC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXS1lWzBdLG5bMV09dFsxXS1lWzFdLG5bMl09dFsyXS1lWzJdLG5bM109dFszXS1lWzNdLG5bNF09dFs0XS1lWzRdLG5bNV09dFs1XS1lWzVdLG5bNl09dFs2XS1lWzZdLG5bN109dFs3XS1lWzddLG5bOF09dFs4XS1lWzhdLG5bOV09dFs5XS1lWzldLG5bMTBdPXRbMTBdLWVbMTBdLG5bMTFdPXRbMTFdLWVbMTFdLG5bMTJdPXRbMTJdLWVbMTJdLG5bMTNdPXRbMTNdLWVbMTNdLG5bMTRdPXRbMTRdLWVbMTRdLG5bMTVdPXRbMTVdLWVbMTVdLG59O1R0Lm11bHRpcGx5VHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0scj10WzFdLGk9dFsyXSxzPXRbNF0sZj10WzVdLHU9dFs2XSxjPXRbOF0sbD10WzldLHA9dFsxMF0sZD10WzEyXSxtPXRbMTNdLF89dFsxNF0sZz1lWzBdLGI9ZVsxXSxUPWVbMl0sTz1lWzRdLEU9ZVs1XSx3PWVbNl0sQz1lWzhdLE49ZVs5XSxJPWVbMTBdLEQ9ZVsxMl0sdj1lWzEzXSxMPWVbMTRdLFU9bypnK3MqYitjKlQsQT1yKmcrZipiK2wqVCxTPWkqZyt1KmIrcCpULFA9bypPK3MqRStjKncsQj1yKk8rZipFK2wqdyxqPWkqTyt1KkUrcCp3LEg9bypDK3MqTitjKkksaz1yKkMrZipOK2wqSSxLPWkqQyt1Kk4rcCpJLFg9bypEK3MqditjKkwrZCxSPXIqRCtmKnYrbCpMK20sb3Q9aSpEK3UqditwKkwrXztyZXR1cm4gblswXT1VLG5bMV09QSxuWzJdPVMsblszXT0wLG5bNF09UCxuWzVdPUIsbls2XT1qLG5bN109MCxuWzhdPUgsbls5XT1rLG5bMTBdPUssblsxMV09MCxuWzEyXT1YLG5bMTNdPVIsblsxNF09b3QsblsxNV09MSxufTtUdC5tdWx0aXBseUJ5TWF0cml4Mz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicm90YXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz10WzBdLHI9dFsxXSxpPXRbMl0scz10WzRdLGY9dFs1XSx1PXRbNl0sYz10WzhdLGw9dFs5XSxwPXRbMTBdLGQ9ZVswXSxtPWVbMV0sXz1lWzJdLGc9ZVszXSxiPWVbNF0sVD1lWzVdLE89ZVs2XSxFPWVbN10sdz1lWzhdLEM9bypkK3MqbStjKl8sTj1yKmQrZiptK2wqXyxJPWkqZCt1Km0rcCpfLEQ9bypnK3MqYitjKlQsdj1yKmcrZipiK2wqVCxMPWkqZyt1KmIrcCpULFU9bypPK3MqRStjKncsQT1yKk8rZipFK2wqdyxTPWkqTyt1KkUrcCp3O3JldHVybiBuWzBdPUMsblsxXT1OLG5bMl09SSxuWzNdPTAsbls0XT1ELG5bNV09dixuWzZdPUwsbls3XT0wLG5bOF09VSxuWzldPUEsblsxMF09UyxuWzExXT0wLG5bMTJdPXRbMTJdLG5bMTNdPXRbMTNdLG5bMTRdPXRbMTRdLG5bMTVdPXRbMTVdLG59O1R0Lm11bHRpcGx5QnlUcmFuc2xhdGlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgidHJhbnNsYXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1lLngscj1lLnksaT1lLnoscz1vKnRbMF0rcip0WzRdK2kqdFs4XSt0WzEyXSxmPW8qdFsxXStyKnRbNV0raSp0WzldK3RbMTNdLHU9byp0WzJdK3IqdFs2XStpKnRbMTBdK3RbMTRdO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbls0XT10WzRdLG5bNV09dFs1XSxuWzZdPXRbNl0sbls3XT10WzddLG5bOF09dFs4XSxuWzldPXRbOV0sblsxMF09dFsxMF0sblsxMV09dFsxMV0sblsxMl09cyxuWzEzXT1mLG5bMTRdPXUsblsxNV09dFsxNV0sbn07VHQubXVsdGlwbHlCeVNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUueCxyPWUueSxpPWUuejtyZXR1cm4gbz09PTEmJnI9PT0xJiZpPT09MT9UdC5jbG9uZSh0LG4pOihuWzBdPW8qdFswXSxuWzFdPW8qdFsxXSxuWzJdPW8qdFsyXSxuWzNdPXRbM10sbls0XT1yKnRbNF0sbls1XT1yKnRbNV0sbls2XT1yKnRbNl0sbls3XT10WzddLG5bOF09aSp0WzhdLG5bOV09aSp0WzldLG5bMTBdPWkqdFsxMF0sblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbil9O1R0Lm11bHRpcGx5QnlVbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXSplLG5bMV09dFsxXSplLG5bMl09dFsyXSplLG5bM109dFszXSxuWzRdPXRbNF0qZSxuWzVdPXRbNV0qZSxuWzZdPXRbNl0qZSxuWzddPXRbN10sbls4XT10WzhdKmUsbls5XT10WzldKmUsblsxMF09dFsxMF0qZSxuWzExXT10WzExXSxuWzEyXT10WzEyXSxuWzEzXT10WzEzXSxuWzE0XT10WzE0XSxuWzE1XT10WzE1XSxufTtUdC5tdWx0aXBseUJ5VmVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1lLngscj1lLnksaT1lLnoscz1lLncsZj10WzBdKm8rdFs0XSpyK3RbOF0qaSt0WzEyXSpzLHU9dFsxXSpvK3RbNV0qcit0WzldKmkrdFsxM10qcyxjPXRbMl0qbyt0WzZdKnIrdFsxMF0qaSt0WzE0XSpzLGw9dFszXSpvK3RbN10qcit0WzExXSppK3RbMTVdKnM7cmV0dXJuIG4ueD1mLG4ueT11LG4uej1jLG4udz1sLG59O1R0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1lLngscj1lLnksaT1lLnoscz10WzBdKm8rdFs0XSpyK3RbOF0qaSxmPXRbMV0qbyt0WzVdKnIrdFs5XSppLHU9dFsyXSpvK3RbNl0qcit0WzEwXSppO3JldHVybiBuLng9cyxuLnk9ZixuLno9dSxufTtUdC5tdWx0aXBseUJ5UG9pbnQ9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUueCxyPWUueSxpPWUueixzPXRbMF0qbyt0WzRdKnIrdFs4XSppK3RbMTJdLGY9dFsxXSpvK3RbNV0qcit0WzldKmkrdFsxM10sdT10WzJdKm8rdFs2XSpyK3RbMTBdKmkrdFsxNF07cmV0dXJuIG4ueD1zLG4ueT1mLG4uej11LG59O1R0Lm11bHRpcGx5QnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0qZSxuWzFdPXRbMV0qZSxuWzJdPXRbMl0qZSxuWzNdPXRbM10qZSxuWzRdPXRbNF0qZSxuWzVdPXRbNV0qZSxuWzZdPXRbNl0qZSxuWzddPXRbN10qZSxuWzhdPXRbOF0qZSxuWzldPXRbOV0qZSxuWzEwXT10WzEwXSplLG5bMTFdPXRbMTFdKmUsblsxMl09dFsxMl0qZSxuWzEzXT10WzEzXSplLG5bMTRdPXRbMTRdKmUsblsxNV09dFsxNV0qZSxufTtUdC5uZWdhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlWzBdPS10WzBdLGVbMV09LXRbMV0sZVsyXT0tdFsyXSxlWzNdPS10WzNdLGVbNF09LXRbNF0sZVs1XT0tdFs1XSxlWzZdPS10WzZdLGVbN109LXRbN10sZVs4XT0tdFs4XSxlWzldPS10WzldLGVbMTBdPS10WzEwXSxlWzExXT0tdFsxMV0sZVsxMl09LXRbMTJdLGVbMTNdPS10WzEzXSxlWzE0XT0tdFsxNF0sZVsxNV09LXRbMTVdLGV9O1R0LnRyYW5zcG9zZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49dFsxXSxvPXRbMl0scj10WzNdLGk9dFs2XSxzPXRbN10sZj10WzExXTtyZXR1cm4gZVswXT10WzBdLGVbMV09dFs0XSxlWzJdPXRbOF0sZVszXT10WzEyXSxlWzRdPW4sZVs1XT10WzVdLGVbNl09dFs5XSxlWzddPXRbMTNdLGVbOF09byxlWzldPWksZVsxMF09dFsxMF0sZVsxMV09dFsxNF0sZVsxMl09cixlWzEzXT1zLGVbMTRdPWYsZVsxNV09dFsxNV0sZX07VHQuYWJzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT1NYXRoLmFicyh0WzBdKSxlWzFdPU1hdGguYWJzKHRbMV0pLGVbMl09TWF0aC5hYnModFsyXSksZVszXT1NYXRoLmFicyh0WzNdKSxlWzRdPU1hdGguYWJzKHRbNF0pLGVbNV09TWF0aC5hYnModFs1XSksZVs2XT1NYXRoLmFicyh0WzZdKSxlWzddPU1hdGguYWJzKHRbN10pLGVbOF09TWF0aC5hYnModFs4XSksZVs5XT1NYXRoLmFicyh0WzldKSxlWzEwXT1NYXRoLmFicyh0WzEwXSksZVsxMV09TWF0aC5hYnModFsxMV0pLGVbMTJdPU1hdGguYWJzKHRbMTJdKSxlWzEzXT1NYXRoLmFicyh0WzEzXSksZVsxNF09TWF0aC5hYnModFsxNF0pLGVbMTVdPU1hdGguYWJzKHRbMTVdKSxlfTtUdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnRbMTJdPT09ZVsxMl0mJnRbMTNdPT09ZVsxM10mJnRbMTRdPT09ZVsxNF0mJnRbMF09PT1lWzBdJiZ0WzFdPT09ZVsxXSYmdFsyXT09PWVbMl0mJnRbNF09PT1lWzRdJiZ0WzVdPT09ZVs1XSYmdFs2XT09PWVbNl0mJnRbOF09PT1lWzhdJiZ0WzldPT09ZVs5XSYmdFsxMF09PT1lWzEwXSYmdFszXT09PWVbM10mJnRbN109PT1lWzddJiZ0WzExXT09PWVbMTFdJiZ0WzE1XT09PWVbMTVdfTtUdC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj14KG4sMCksdD09PWV8fGgodCkmJmgoZSkmJk1hdGguYWJzKHRbMF0tZVswXSk8PW4mJk1hdGguYWJzKHRbMV0tZVsxXSk8PW4mJk1hdGguYWJzKHRbMl0tZVsyXSk8PW4mJk1hdGguYWJzKHRbM10tZVszXSk8PW4mJk1hdGguYWJzKHRbNF0tZVs0XSk8PW4mJk1hdGguYWJzKHRbNV0tZVs1XSk8PW4mJk1hdGguYWJzKHRbNl0tZVs2XSk8PW4mJk1hdGguYWJzKHRbN10tZVs3XSk8PW4mJk1hdGguYWJzKHRbOF0tZVs4XSk8PW4mJk1hdGguYWJzKHRbOV0tZVs5XSk8PW4mJk1hdGguYWJzKHRbMTBdLWVbMTBdKTw9biYmTWF0aC5hYnModFsxMV0tZVsxMV0pPD1uJiZNYXRoLmFicyh0WzEyXS1lWzEyXSk8PW4mJk1hdGguYWJzKHRbMTNdLWVbMTNdKTw9biYmTWF0aC5hYnModFsxNF0tZVsxNF0pPD1uJiZNYXRoLmFicyh0WzE1XS1lWzE1XSk8PW59O1R0LmdldFRyYW5zbGF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PXRbMTJdLGUueT10WzEzXSxlLno9dFsxNF0sZX07VHQuZ2V0TWF0cml4Mz1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpLGVbMF09dFswXSxlWzFdPXRbMV0sZVsyXT10WzJdLGVbM109dFs0XSxlWzRdPXRbNV0sZVs1XT10WzZdLGVbNl09dFs4XSxlWzddPXRbOV0sZVs4XT10WzEwXSxlfTtGQz1uZXcgUSxCQz1uZXcgUSxVQz1uZXcgaGUsVkM9bmV3IGhlKDAsMCwwLDEpO1R0LmludmVyc2U9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXRbMF0sbz10WzRdLHI9dFs4XSxpPXRbMTJdLHM9dFsxXSxmPXRbNV0sdT10WzldLGM9dFsxM10sbD10WzJdLHA9dFs2XSxkPXRbMTBdLG09dFsxNF0sXz10WzNdLGc9dFs3XSxiPXRbMTFdLFQ9dFsxNV0sTz1kKlQsRT1tKmIsdz1wKlQsQz1tKmcsTj1wKmIsST1kKmcsRD1sKlQsdj1tKl8sTD1sKmIsVT1kKl8sQT1sKmcsUz1wKl8sUD1PKmYrQyp1K04qYy0oRSpmK3cqdStJKmMpLEI9RSpzK0QqdStVKmMtKE8qcyt2KnUrTCpjKSxqPXcqcyt2KmYrQSpjLShDKnMrRCpmK1MqYyksSD1JKnMrTCpmK1MqdS0oTipzK1UqZitBKnUpLGs9RSpvK3cqcitJKmktKE8qbytDKnIrTippKSxLPU8qbit2KnIrTCppLShFKm4rRCpyK1UqaSksWD1DKm4rRCpvK1MqaS0odypuK3YqbytBKmkpLFI9TipuK1UqbytBKnItKEkqbitMKm8rUypyKTtPPXIqYyxFPWkqdSx3PW8qYyxDPWkqZixOPW8qdSxJPXIqZixEPW4qYyx2PWkqcyxMPW4qdSxVPXIqcyxBPW4qZixTPW8qcztsZXQgb3Q9TypnK0MqYitOKlQtKEUqZyt3KmIrSSpUKSxhdD1FKl8rRCpiK1UqVC0oTypfK3YqYitMKlQpLHB0PXcqXyt2KmcrQSpULShDKl8rRCpnK1MqVCkseXQ9SSpfK0wqZytTKmItKE4qXytVKmcrQSpiKSxydD13KmQrSSptK0UqcC0oTiptK08qcCtDKmQpLFB0PUwqbStPKmwrdipkLShEKmQrVSptK0UqbCksZ3Q9RCpwK1MqbStDKmwtKEEqbSt3KmwrdipwKSxDdD1BKmQrTipsK1UqcC0oTCpwK1MqZCtJKmwpLG10PW4qUCtvKkIrcipqK2kqSDtpZihNYXRoLmFicyhtdCk8TS5FUFNJTE9OMjEpe2lmKFEuZXF1YWxzRXBzaWxvbihUdC5nZXRNYXRyaXgzKHQsRkMpLEJDLE0uRVBTSUxPTjcpJiZoZS5lcXVhbHMoVHQuZ2V0Um93KHQsMyxVQyksVkMpKXJldHVybiBlWzBdPTAsZVsxXT0wLGVbMl09MCxlWzNdPTAsZVs0XT0wLGVbNV09MCxlWzZdPTAsZVs3XT0wLGVbOF09MCxlWzldPTAsZVsxMF09MCxlWzExXT0wLGVbMTJdPS10WzEyXSxlWzEzXT0tdFsxM10sZVsxNF09LXRbMTRdLGVbMTVdPTEsZTt0aHJvdyBuZXcgQWUoIm1hdHJpeCBpcyBub3QgaW52ZXJ0aWJsZSBiZWNhdXNlIGl0cyBkZXRlcm1pbmF0ZSBpcyB6ZXJvLiIpfXJldHVybiBtdD0xL210LGVbMF09UCptdCxlWzFdPUIqbXQsZVsyXT1qKm10LGVbM109SCptdCxlWzRdPWsqbXQsZVs1XT1LKm10LGVbNl09WCptdCxlWzddPVIqbXQsZVs4XT1vdCptdCxlWzldPWF0Km10LGVbMTBdPXB0Km10LGVbMTFdPXl0Km10LGVbMTJdPXJ0Km10LGVbMTNdPVB0Km10LGVbMTRdPWd0Km10LGVbMTVdPUN0Km10LGV9O1R0LmludmVyc2VUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49dFswXSxvPXRbMV0scj10WzJdLGk9dFs0XSxzPXRbNV0sZj10WzZdLHU9dFs4XSxjPXRbOV0sbD10WzEwXSxwPXRbMTJdLGQ9dFsxM10sbT10WzE0XSxfPS1uKnAtbypkLXIqbSxnPS1pKnAtcypkLWYqbSxiPS11KnAtYypkLWwqbTtyZXR1cm4gZVswXT1uLGVbMV09aSxlWzJdPXUsZVszXT0wLGVbNF09byxlWzVdPXMsZVs2XT1jLGVbN109MCxlWzhdPXIsZVs5XT1mLGVbMTBdPWwsZVsxMV09MCxlWzEyXT1fLGVbMTNdPWcsZVsxNF09YixlWzE1XT0xLGV9O2tDPW5ldyBUdDtUdC5pbnZlcnNlVHJhbnNwb3NlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksVHQuaW52ZXJzZShUdC50cmFuc3Bvc2UodCxrQyksZSl9O1R0LklERU5USVRZPU9iamVjdC5mcmVlemUobmV3IFR0KDEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDEpKTtUdC5aRVJPPU9iamVjdC5mcmVlemUobmV3IFR0KDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDApKTtUdC5DT0xVTU4wUk9XMD0wO1R0LkNPTFVNTjBST1cxPTE7VHQuQ09MVU1OMFJPVzI9MjtUdC5DT0xVTU4wUk9XMz0zO1R0LkNPTFVNTjFST1cwPTQ7VHQuQ09MVU1OMVJPVzE9NTtUdC5DT0xVTU4xUk9XMj02O1R0LkNPTFVNTjFST1czPTc7VHQuQ09MVU1OMlJPVzA9ODtUdC5DT0xVTU4yUk9XMT05O1R0LkNPTFVNTjJST1cyPTEwO1R0LkNPTFVNTjJST1czPTExO1R0LkNPTFVNTjNST1cwPTEyO1R0LkNPTFVNTjNST1cxPTEzO1R0LkNPTFVNTjNST1cyPTE0O1R0LkNPTFVNTjNST1czPTE1O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFR0LnByb3RvdHlwZSx7bGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gVHQucGFja2VkTGVuZ3RofX19KTtUdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIFR0LmNsb25lKHRoaXMsdCl9O1R0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIFR0LmVxdWFscyh0aGlzLHQpfTtUdC5lcXVhbHNBcnJheT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRbMF09PT1lW25dJiZ0WzFdPT09ZVtuKzFdJiZ0WzJdPT09ZVtuKzJdJiZ0WzNdPT09ZVtuKzNdJiZ0WzRdPT09ZVtuKzRdJiZ0WzVdPT09ZVtuKzVdJiZ0WzZdPT09ZVtuKzZdJiZ0WzddPT09ZVtuKzddJiZ0WzhdPT09ZVtuKzhdJiZ0WzldPT09ZVtuKzldJiZ0WzEwXT09PWVbbisxMF0mJnRbMTFdPT09ZVtuKzExXSYmdFsxMl09PT1lW24rMTJdJiZ0WzEzXT09PWVbbisxM10mJnRbMTRdPT09ZVtuKzE0XSYmdFsxNV09PT1lW24rMTVdfTtUdC5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUpe3JldHVybiBUdC5lcXVhbHNFcHNpbG9uKHRoaXMsdCxlKX07VHQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXNbMF19LCAke3RoaXNbNF19LCAke3RoaXNbOF19LCAke3RoaXNbMTJdfSkKKCR7dGhpc1sxXX0sICR7dGhpc1s1XX0sICR7dGhpc1s5XX0sICR7dGhpc1sxM119KQooJHt0aGlzWzJdfSwgJHt0aGlzWzZdfSwgJHt0aGlzWzEwXX0sICR7dGhpc1sxNF19KQooJHt0aGlzWzNdfSwgJHt0aGlzWzddfSwgJHt0aGlzWzExXX0sICR7dGhpc1sxNV19KWB9O3N0PVR0fSk7ZnVuY3Rpb24gR0ModCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLHkuZGVmaW5lZCgiaXRlbVRvRmluZCIsZSkseS5kZWZpbmVkKCJjb21wYXJhdG9yIixuKTtsZXQgbz0wLHI9dC5sZW5ndGgtMSxpLHM7Zm9yKDtvPD1yOyl7aWYoaT1+figobytyKS8yKSxzPW4odFtpXSxlKSxzPDApe289aSsxO2NvbnRpbnVlfWlmKHM+MCl7cj1pLTE7Y29udGludWV9cmV0dXJuIGl9cmV0dXJufihyKzEpfXZhciBHcyxObT1aKCgpPT57WHQoKTtHcz1HQ30pO2Z1bmN0aW9uIHpDKHQsZSxuLG8scil7dGhpcy54UG9sZVdhbmRlcj10LHRoaXMueVBvbGVXYW5kZXI9ZSx0aGlzLnhQb2xlT2Zmc2V0PW4sdGhpcy55UG9sZU9mZnNldD1vLHRoaXMudXQxTWludXNVdGM9cn12YXIgYWYsSW09WigoKT0+e2FmPXpDfSk7ZnVuY3Rpb24gakModCl7aWYodD09PW51bGx8fGlzTmFOKHQpKXRocm93IG5ldyBGKCJ5ZWFyIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgbnVtYmVyLiIpO3JldHVybiB0JTQ9PT0wJiZ0JTEwMCE9PTB8fHQlNDAwPT09MH12YXIgZmYsdm09WigoKT0+e0h0KCk7ZmY9akN9KTtmdW5jdGlvbiBIQyh0LGUsbixvLHIsaSxzLGYpe3Q9eCh0LDEpLGU9eChlLDEpLG49eChuLDEpLG89eChvLDApLHI9eChyLDApLGk9eChpLDApLHM9eChzLDApLGY9eChmLCExKSxnKCksYigpLHRoaXMueWVhcj10LHRoaXMubW9udGg9ZSx0aGlzLmRheT1uLHRoaXMuaG91cj1vLHRoaXMubWludXRlPXIsdGhpcy5zZWNvbmQ9aSx0aGlzLm1pbGxpc2Vjb25kPXMsdGhpcy5pc0xlYXBTZWNvbmQ9ZjtmdW5jdGlvbiBnKCl7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIlllYXIiLHQsMSkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIlllYXIiLHQsOTk5OSkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIk1vbnRoIixlLDEpLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJNb250aCIsZSwxMikseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIkRheSIsbiwxKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiRGF5IixuLDMxKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiSG91ciIsbywwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiSG91ciIsbywyMykseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIk1pbnV0ZSIsciwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiTWludXRlIixyLDU5KSx5LnR5cGVPZi5ib29sKCJJc0xlYXBTZWNvbmQiLGYpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJTZWNvbmQiLGksMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIlNlY29uZCIsaSxmPzYwOjU5KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiTWlsbGlzZWNvbmQiLHMsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuKCJNaWxsaXNlY29uZCIscywxZTMpfWZ1bmN0aW9uIGIoKXtsZXQgVD1lPT09MiYmZmYodCk/eDFbZS0xXSsxOngxW2UtMV07aWYobj5UKXRocm93IG5ldyBGKCJNb250aCBhbmQgRGF5IHJlcHJlc2VudHMgaW52YWxpZCBkYXRlIil9fXZhciB4MSxXbCxQMT1aKCgpPT57WHQoKTtJdCgpO0h0KCk7dm0oKTt4MT1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO1dsPUhDfSk7ZnVuY3Rpb24gcUModCxlKXt0aGlzLmp1bGlhbkRhdGU9dCx0aGlzLm9mZnNldD1lfXZhciBXZSxMbT1aKCgpPT57V2U9cUN9KTt2YXIgS0MseW4sWGw9WigoKT0+e0tDPXtTRUNPTkRTX1BFUl9NSUxMSVNFQ09ORDouMDAxLFNFQ09ORFNfUEVSX01JTlVURTo2MCxNSU5VVEVTX1BFUl9IT1VSOjYwLEhPVVJTX1BFUl9EQVk6MjQsU0VDT05EU19QRVJfSE9VUjozNjAwLE1JTlVURVNfUEVSX0RBWToxNDQwLFNFQ09ORFNfUEVSX0RBWTo4NjQwMCxEQVlTX1BFUl9KVUxJQU5fQ0VOVFVSWTozNjUyNSxQSUNPU0VDT05EOjFlLTksTU9ESUZJRURfSlVMSUFOX0RBVEVfRElGRkVSRU5DRToyNDAwMDAwNWUtMX0seW49T2JqZWN0LmZyZWV6ZShLQyl9KTt2YXIgV0MsT2UsWWw9WigoKT0+e1dDPXtVVEM6MCxUQUk6MX0sT2U9T2JqZWN0LmZyZWV6ZShXQyl9KTtmdW5jdGlvbiBEbSh0LGUpe3JldHVybiBHdC5jb21wYXJlKHQuanVsaWFuRGF0ZSxlLmp1bGlhbkRhdGUpfWZ1bmN0aW9uIEpsKHQpe0tjLmp1bGlhbkRhdGU9dDtsZXQgZT1HdC5sZWFwU2Vjb25kcyxuPUdzKGUsS2MsRG0pO248MCYmKG49fm4pLG4+PWUubGVuZ3RoJiYobj1lLmxlbmd0aC0xKTtsZXQgbz1lW25dLm9mZnNldDtuPjAmJkd0LnNlY29uZHNEaWZmZXJlbmNlKGVbbl0uanVsaWFuRGF0ZSx0KT5vJiYobi0tLG89ZVtuXS5vZmZzZXQpLEd0LmFkZFNlY29uZHModCxvLHQpfWZ1bmN0aW9uIE0xKHQsZSl7S2MuanVsaWFuRGF0ZT10O2xldCBuPUd0LmxlYXBTZWNvbmRzLG89R3MobixLYyxEbSk7aWYobzwwJiYobz1+byksbz09PTApcmV0dXJuIEd0LmFkZFNlY29uZHModCwtblswXS5vZmZzZXQsZSk7aWYobz49bi5sZW5ndGgpcmV0dXJuIEd0LmFkZFNlY29uZHModCwtbltvLTFdLm9mZnNldCxlKTtsZXQgcj1HdC5zZWNvbmRzRGlmZmVyZW5jZShuW29dLmp1bGlhbkRhdGUsdCk7aWYocj09PTApcmV0dXJuIEd0LmFkZFNlY29uZHModCwtbltvXS5vZmZzZXQsZSk7aWYoIShyPD0xKSlyZXR1cm4gR3QuYWRkU2Vjb25kcyh0LC1uWy0tb10ub2Zmc2V0LGUpfWZ1bmN0aW9uIG5zKHQsZSxuKXtsZXQgbz1lL3luLlNFQ09ORFNfUEVSX0RBWXwwO3JldHVybiB0Kz1vLGUtPXluLlNFQ09ORFNfUEVSX0RBWSpvLGU8MCYmKHQtLSxlKz15bi5TRUNPTkRTX1BFUl9EQVkpLG4uZGF5TnVtYmVyPXQsbi5zZWNvbmRzT2ZEYXk9ZSxufWZ1bmN0aW9uIEZtKHQsZSxuLG8scixpLHMpe2xldCBmPShlLTE0KS8xMnwwLHU9dCs0ODAwK2YsYz0oMTQ2MSp1LzR8MCkrKDM2NyooZS0yLTEyKmYpLzEyfDApLSgzKigodSsxMDApLzEwMHwwKS80fDApK24tMzIwNzU7bz1vLTEyLG88MCYmKG8rPTI0KTtsZXQgbD1pKyhvKnluLlNFQ09ORFNfUEVSX0hPVVIrcip5bi5TRUNPTkRTX1BFUl9NSU5VVEUrcyp5bi5TRUNPTkRTX1BFUl9NSUxMSVNFQ09ORCk7cmV0dXJuIGw+PTQzMjAwJiYoYy09MSksW2MsbF19ZnVuY3Rpb24gR3QodCxlLG4pe3RoaXMuZGF5TnVtYmVyPXZvaWQgMCx0aGlzLnNlY29uZHNPZkRheT12b2lkIDAsdD14KHQsMCksZT14KGUsMCksbj14KG4sT2UuVVRDKTtsZXQgbz10fDA7ZT1lKyh0LW8pKnluLlNFQ09ORFNfUEVSX0RBWSxucyhvLGUsdGhpcyksbj09PU9lLlVUQyYmSmwodGhpcyl9dmFyIE4xLCRsLFpsLEtjLFhDLFlDLCRDLFpDLFFDLEJtLEpDLHR4LGV4LERyLFFsLGtuLHRwPVooKCk9PntObSgpO0l0KCk7ZnQoKTtIdCgpO1AxKCk7dm0oKTtMbSgpO1hsKCk7WWwoKTtOMT1uZXcgV2wsJGw9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSxabD0yOTtLYz1uZXcgV2U7WEM9L14oXGR7NH0pJC8sWUM9L14oXGR7NH0pLShcZHsyfSkkLywkQz0vXihcZHs0fSktPyhcZHszfSkkLyxaQz0vXihcZHs0fSktP1coXGR7Mn0pLT8oXGR7MX0pPyQvLFFDPS9eKFxkezR9KS0/KFxkezJ9KS0/KFxkezJ9KSQvLEJtPS8oW1orXC1dKT8oXGR7Mn0pPzo/KFxkezJ9KT8kLyxKQz0vXihcZHsyfSkoXC5cZCspPy8uc291cmNlK0JtLnNvdXJjZSx0eD0vXihcZHsyfSk6PyhcZHsyfSkoXC5cZCspPy8uc291cmNlK0JtLnNvdXJjZSxleD0vXihcZHsyfSk6PyhcZHsyfSk6PyhcZHsyfSkoXC5cZCspPy8uc291cmNlK0JtLnNvdXJjZSxEcj0iSW52YWxpZCBJU08gODYwMSBkYXRlLiI7R3QuZnJvbUdyZWdvcmlhbkRhdGU9ZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBXbCkpdGhyb3cgbmV3IEYoImRhdGUgbXVzdCBiZSBhIHZhbGlkIEdyZWdvcmlhbkRhdGUuIik7bGV0IG49Rm0odC55ZWFyLHQubW9udGgsdC5kYXksdC5ob3VyLHQubWludXRlLHQuc2Vjb25kLHQubWlsbGlzZWNvbmQpO3JldHVybiBoKGUpPyhucyhuWzBdLG5bMV0sZSksSmwoZSksZSk6bmV3IEd0KG5bMF0sblsxXSxPZS5VVEMpfTtHdC5mcm9tRGF0ZT1mdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIERhdGUpfHxpc05hTih0LmdldFRpbWUoKSkpdGhyb3cgbmV3IEYoImRhdGUgbXVzdCBiZSBhIHZhbGlkIEphdmFTY3JpcHQgRGF0ZS4iKTtsZXQgbj1GbSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpKzEsdC5nZXRVVENEYXRlKCksdC5nZXRVVENIb3VycygpLHQuZ2V0VVRDTWludXRlcygpLHQuZ2V0VVRDU2Vjb25kcygpLHQuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpO3JldHVybiBoKGUpPyhucyhuWzBdLG5bMV0sZSksSmwoZSksZSk6bmV3IEd0KG5bMF0sblsxXSxPZS5VVEMpfTtHdC5mcm9tSXNvODYwMT1mdW5jdGlvbih0LGUpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgRihEcik7dD10LnJlcGxhY2UoIiwiLCIuIik7bGV0IG49dC5zcGxpdCgiVCIpLG8scj0xLGk9MSxzPTAsZj0wLHU9MCxjPTAsbD1uWzBdLHA9blsxXSxkLG07aWYoIWgobCkpdGhyb3cgbmV3IEYoRHIpO2xldCBfO2lmKG49bC5tYXRjaChRQyksbiE9PW51bGwpe2lmKF89bC5zcGxpdCgiLSIpLmxlbmd0aC0xLF8+MCYmXyE9PTIpdGhyb3cgbmV3IEYoRHIpO289K25bMV0scj0rblsyXSxpPStuWzNdfWVsc2UgaWYobj1sLm1hdGNoKFlDKSxuIT09bnVsbClvPStuWzFdLHI9K25bMl07ZWxzZSBpZihuPWwubWF0Y2goWEMpLG4hPT1udWxsKW89K25bMV07ZWxzZXtsZXQgTztpZihuPWwubWF0Y2goJEMpLG4hPT1udWxsKXtpZihvPStuWzFdLE89K25bMl0sbT1mZihvKSxPPDF8fG0mJk8+MzY2fHwhbSYmTz4zNjUpdGhyb3cgbmV3IEYoRHIpfWVsc2UgaWYobj1sLm1hdGNoKFpDKSxuIT09bnVsbCl7bz0rblsxXTtsZXQgRT0rblsyXSx3PStuWzNdfHwwO2lmKF89bC5zcGxpdCgiLSIpLmxlbmd0aC0xLF8+MCYmKCFoKG5bM10pJiZfIT09MXx8aChuWzNdKSYmXyE9PTIpKXRocm93IG5ldyBGKERyKTtsZXQgQz1uZXcgRGF0ZShEYXRlLlVUQyhvLDAsNCkpO089RSo3K3ctQy5nZXRVVENEYXkoKS0zfWVsc2UgdGhyb3cgbmV3IEYoRHIpO2Q9bmV3IERhdGUoRGF0ZS5VVEMobywwLDEpKSxkLnNldFVUQ0RhdGUoTykscj1kLmdldFVUQ01vbnRoKCkrMSxpPWQuZ2V0VVRDRGF0ZSgpfWlmKG09ZmYobykscjwxfHxyPjEyfHxpPDF8fChyIT09Mnx8IW0pJiZpPiRsW3ItMV18fG0mJnI9PT0yJiZpPlpsKXRocm93IG5ldyBGKERyKTtsZXQgZztpZihoKHApKXtpZihuPXAubWF0Y2goZXgpLG4hPT1udWxsKXtpZihfPXAuc3BsaXQoIjoiKS5sZW5ndGgtMSxfPjAmJl8hPT0yJiZfIT09Myl0aHJvdyBuZXcgRihEcik7cz0rblsxXSxmPStuWzJdLHU9K25bM10sYz0rKG5bNF18fDApKjFlMyxnPTV9ZWxzZSBpZihuPXAubWF0Y2godHgpLG4hPT1udWxsKXtpZihfPXAuc3BsaXQoIjoiKS5sZW5ndGgtMSxfPjIpdGhyb3cgbmV3IEYoRHIpO3M9K25bMV0sZj0rblsyXSx1PSsoblszXXx8MCkqNjAsZz00fWVsc2UgaWYobj1wLm1hdGNoKEpDKSxuIT09bnVsbClzPStuWzFdLGY9KyhuWzJdfHwwKSo2MCxnPTM7ZWxzZSB0aHJvdyBuZXcgRihEcik7aWYoZj49NjB8fHU+PTYxfHxzPjI0fHxzPT09MjQmJihmPjB8fHU+MHx8Yz4wKSl0aHJvdyBuZXcgRihEcik7bGV0IE89bltnXSxFPStuW2crMV0sdz0rKG5bZysyXXx8MCk7c3dpdGNoKE8pe2Nhc2UiKyI6cz1zLUUsZj1mLXc7YnJlYWs7Y2FzZSItIjpzPXMrRSxmPWYrdzticmVhaztjYXNlIloiOmJyZWFrO2RlZmF1bHQ6Zj1mK25ldyBEYXRlKERhdGUuVVRDKG8sci0xLGkscyxmKSkuZ2V0VGltZXpvbmVPZmZzZXQoKTticmVha319bGV0IGI9dT09PTYwO2ZvcihiJiZ1LS07Zj49NjA7KWYtPTYwLHMrKztmb3IoO3M+PTI0OylzLT0yNCxpKys7Zm9yKGQ9bSYmcj09PTI/Wmw6JGxbci0xXTtpPmQ7KWktPWQscisrLHI+MTImJihyLT0xMixvKyspLGQ9bSYmcj09PTI/Wmw6JGxbci0xXTtmb3IoO2Y8MDspZis9NjAscy0tO2Zvcig7czwwOylzKz0yNCxpLS07Zm9yKDtpPDE7KXItLSxyPDEmJihyKz0xMixvLS0pLGQ9bSYmcj09PTI/Wmw6JGxbci0xXSxpKz1kO2xldCBUPUZtKG8scixpLHMsZix1LGMpO3JldHVybiBoKGUpPyhucyhUWzBdLFRbMV0sZSksSmwoZSkpOmU9bmV3IEd0KFRbMF0sVFsxXSxPZS5VVEMpLGImJkd0LmFkZFNlY29uZHMoZSwxLGUpLGV9O0d0Lm5vdz1mdW5jdGlvbih0KXtyZXR1cm4gR3QuZnJvbURhdGUobmV3IERhdGUsdCl9O1FsPW5ldyBHdCgwLDAsT2UuVEFJKTtHdC50b0dyZWdvcmlhbkRhdGU9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtsZXQgbj0hMSxvPU0xKHQsUWwpO2gobyl8fChHdC5hZGRTZWNvbmRzKHQsLTEsUWwpLG89TTEoUWwsUWwpLG49ITApO2xldCByPW8uZGF5TnVtYmVyLGk9by5zZWNvbmRzT2ZEYXk7aT49NDMyMDAmJihyKz0xKTtsZXQgcz1yKzY4NTY5fDAsZj00KnMvMTQ2MDk3fDA7cz1zLSgoMTQ2MDk3KmYrMykvNHwwKXwwO2xldCB1PTRlMyoocysxKS8xNDYxMDAxfDA7cz1zLSgxNDYxKnUvNHwwKSszMXwwO2xldCBjPTgwKnMvMjQ0N3wwLGw9cy0oMjQ0NypjLzgwfDApfDA7cz1jLzExfDA7bGV0IHA9YysyLTEyKnN8MCxkPTEwMCooZi00OSkrdStzfDAsbT1pL3luLlNFQ09ORFNfUEVSX0hPVVJ8MCxfPWktbSp5bi5TRUNPTkRTX1BFUl9IT1VSLGc9Xy95bi5TRUNPTkRTX1BFUl9NSU5VVEV8MDtfPV8tZyp5bi5TRUNPTkRTX1BFUl9NSU5VVEU7bGV0IGI9X3wwLFQ9KF8tYikveW4uU0VDT05EU19QRVJfTUlMTElTRUNPTkQ7cmV0dXJuIG0rPTEyLG0+MjMmJihtLT0yNCksbiYmKGIrPTEpLGgoZSk/KGUueWVhcj1kLGUubW9udGg9cCxlLmRheT1sLGUuaG91cj1tLGUubWludXRlPWcsZS5zZWNvbmQ9YixlLm1pbGxpc2Vjb25kPVQsZS5pc0xlYXBTZWNvbmQ9bixlKTpuZXcgV2woZCxwLGwsbSxnLGIsVCxuKX07R3QudG9EYXRlPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2xldCBlPUd0LnRvR3JlZ29yaWFuRGF0ZSh0LE4xKSxuPWUuc2Vjb25kO3JldHVybiBlLmlzTGVhcFNlY29uZCYmKG4tPTEpLG5ldyBEYXRlKERhdGUuVVRDKGUueWVhcixlLm1vbnRoLTEsZS5kYXksZS5ob3VyLGUubWludXRlLG4sZS5taWxsaXNlY29uZCkpfTtHdC50b0lzbzg2MDE9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtsZXQgbj1HdC50b0dyZWdvcmlhbkRhdGUodCxOMSksbz1uLnllYXIscj1uLm1vbnRoLGk9bi5kYXkscz1uLmhvdXIsZj1uLm1pbnV0ZSx1PW4uc2Vjb25kLGM9bi5taWxsaXNlY29uZDtvPT09MWU0JiZyPT09MSYmaT09PTEmJnM9PT0wJiZmPT09MCYmdT09PTAmJmM9PT0wJiYobz05OTk5LHI9MTIsaT0zMSxzPTI0KTtsZXQgbDtyZXR1cm4haChlKSYmYyE9PTA/KGw9KGMqLjAxKS50b1N0cmluZygpLnJlcGxhY2UoIi4iLCIiKSxgJHtvLnRvU3RyaW5nKCkucGFkU3RhcnQoNCwiMCIpfS0ke3IudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7aS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1UJHtzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke2YudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7dS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0uJHtsfVpgKTohaChlKXx8ZT09PTA/YCR7by50b1N0cmluZygpLnBhZFN0YXJ0KDQsIjAiKX0tJHtyLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0ke2kudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9VCR7cy50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHtmLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke3UudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9WmA6KGw9KGMqLjAxKS50b0ZpeGVkKGUpLnJlcGxhY2UoIi4iLCIiKS5zbGljZSgwLGUpLGAke28udG9TdHJpbmcoKS5wYWRTdGFydCg0LCIwIil9LSR7ci50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHtpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfVQke3MudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7Zi50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHt1LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS4ke2x9WmApfTtHdC5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUuZGF5TnVtYmVyPXQuZGF5TnVtYmVyLGUuc2Vjb25kc09mRGF5PXQuc2Vjb25kc09mRGF5LGUpOm5ldyBHdCh0LmRheU51bWJlcix0LnNlY29uZHNPZkRheSxPZS5UQUkpfTtHdC5jb21wYXJlPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImxlZnQgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoInJpZ2h0IGlzIHJlcXVpcmVkLiIpO2xldCBuPXQuZGF5TnVtYmVyLWUuZGF5TnVtYmVyO3JldHVybiBuIT09MD9uOnQuc2Vjb25kc09mRGF5LWUuc2Vjb25kc09mRGF5fTtHdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQuZGF5TnVtYmVyPT09ZS5kYXlOdW1iZXImJnQuc2Vjb25kc09mRGF5PT09ZS5zZWNvbmRzT2ZEYXl9O0d0LmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuPXgobiwwKSx0PT09ZXx8aCh0KSYmaChlKSYmTWF0aC5hYnMoR3Quc2Vjb25kc0RpZmZlcmVuY2UodCxlKSk8PW59O0d0LnRvdGFsRGF5cz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdC5kYXlOdW1iZXIrdC5zZWNvbmRzT2ZEYXkveW4uU0VDT05EU19QRVJfREFZfTtHdC5zZWNvbmRzRGlmZmVyZW5jZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJsZWZ0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJyaWdodCBpcyByZXF1aXJlZC4iKTtyZXR1cm4odC5kYXlOdW1iZXItZS5kYXlOdW1iZXIpKnluLlNFQ09ORFNfUEVSX0RBWSsodC5zZWNvbmRzT2ZEYXktZS5zZWNvbmRzT2ZEYXkpfTtHdC5kYXlzRGlmZmVyZW5jZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJsZWZ0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJyaWdodCBpcyByZXF1aXJlZC4iKTtsZXQgbj10LmRheU51bWJlci1lLmRheU51bWJlcixvPSh0LnNlY29uZHNPZkRheS1lLnNlY29uZHNPZkRheSkveW4uU0VDT05EU19QRVJfREFZO3JldHVybiBuK299O0d0LmNvbXB1dGVUYWlNaW51c1V0Yz1mdW5jdGlvbih0KXtLYy5qdWxpYW5EYXRlPXQ7bGV0IGU9R3QubGVhcFNlY29uZHMsbj1HcyhlLEtjLERtKTtyZXR1cm4gbjwwJiYobj1+biwtLW4sbjwwJiYobj0wKSksZVtuXS5vZmZzZXR9O0d0LmFkZFNlY29uZHM9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJzZWNvbmRzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJyZXN1bHQgaXMgcmVxdWlyZWQuIik7cmV0dXJuIG5zKHQuZGF5TnVtYmVyLHQuc2Vjb25kc09mRGF5K2Usbil9O0d0LmFkZE1pbnV0ZXM9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJtaW51dGVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJyZXN1bHQgaXMgcmVxdWlyZWQuIik7bGV0IG89dC5zZWNvbmRzT2ZEYXkrZSp5bi5TRUNPTkRTX1BFUl9NSU5VVEU7cmV0dXJuIG5zKHQuZGF5TnVtYmVyLG8sbil9O0d0LmFkZEhvdXJzPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigiaG91cnMgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoInJlc3VsdCBpcyByZXF1aXJlZC4iKTtsZXQgbz10LnNlY29uZHNPZkRheStlKnluLlNFQ09ORFNfUEVSX0hPVVI7cmV0dXJuIG5zKHQuZGF5TnVtYmVyLG8sbil9O0d0LmFkZERheXM9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJkYXlzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJyZXN1bHQgaXMgcmVxdWlyZWQuIik7bGV0IG89dC5kYXlOdW1iZXIrZTtyZXR1cm4gbnMobyx0LnNlY29uZHNPZkRheSxuKX07R3QubGVzc1RoYW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3QuY29tcGFyZSh0LGUpPDB9O0d0Lmxlc3NUaGFuT3JFcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3QuY29tcGFyZSh0LGUpPD0wfTtHdC5ncmVhdGVyVGhhbj1mdW5jdGlvbih0LGUpe3JldHVybiBHdC5jb21wYXJlKHQsZSk+MH07R3QuZ3JlYXRlclRoYW5PckVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiBHdC5jb21wYXJlKHQsZSk+PTB9O0d0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gR3QuY2xvbmUodGhpcyx0KX07R3QucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gR3QuZXF1YWxzKHRoaXMsdCl9O0d0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEd0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUpfTtHdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gR3QudG9Jc284NjAxKHRoaXMpfTtHdC5sZWFwU2Vjb25kcz1bbmV3IFdlKG5ldyBHdCgyNDQxMzE3LDQzMjEwLE9lLlRBSSksMTApLG5ldyBXZShuZXcgR3QoMjQ0MTQ5OSw0MzIxMSxPZS5UQUkpLDExKSxuZXcgV2UobmV3IEd0KDI0NDE2ODMsNDMyMTIsT2UuVEFJKSwxMiksbmV3IFdlKG5ldyBHdCgyNDQyMDQ4LDQzMjEzLE9lLlRBSSksMTMpLG5ldyBXZShuZXcgR3QoMjQ0MjQxMyw0MzIxNCxPZS5UQUkpLDE0KSxuZXcgV2UobmV3IEd0KDI0NDI3NzgsNDMyMTUsT2UuVEFJKSwxNSksbmV3IFdlKG5ldyBHdCgyNDQzMTQ0LDQzMjE2LE9lLlRBSSksMTYpLG5ldyBXZShuZXcgR3QoMjQ0MzUwOSw0MzIxNyxPZS5UQUkpLDE3KSxuZXcgV2UobmV3IEd0KDI0NDM4NzQsNDMyMTgsT2UuVEFJKSwxOCksbmV3IFdlKG5ldyBHdCgyNDQ0MjM5LDQzMjE5LE9lLlRBSSksMTkpLG5ldyBXZShuZXcgR3QoMjQ0NDc4Niw0MzIyMCxPZS5UQUkpLDIwKSxuZXcgV2UobmV3IEd0KDI0NDUxNTEsNDMyMjEsT2UuVEFJKSwyMSksbmV3IFdlKG5ldyBHdCgyNDQ1NTE2LDQzMjIyLE9lLlRBSSksMjIpLG5ldyBXZShuZXcgR3QoMjQ0NjI0Nyw0MzIyMyxPZS5UQUkpLDIzKSxuZXcgV2UobmV3IEd0KDI0NDcxNjEsNDMyMjQsT2UuVEFJKSwyNCksbmV3IFdlKG5ldyBHdCgyNDQ3ODkyLDQzMjI1LE9lLlRBSSksMjUpLG5ldyBXZShuZXcgR3QoMjQ0ODI1Nyw0MzIyNixPZS5UQUkpLDI2KSxuZXcgV2UobmV3IEd0KDI0NDg4MDQsNDMyMjcsT2UuVEFJKSwyNyksbmV3IFdlKG5ldyBHdCgyNDQ5MTY5LDQzMjI4LE9lLlRBSSksMjgpLG5ldyBXZShuZXcgR3QoMjQ0OTUzNCw0MzIyOSxPZS5UQUkpLDI5KSxuZXcgV2UobmV3IEd0KDI0NTAwODMsNDMyMzAsT2UuVEFJKSwzMCksbmV3IFdlKG5ldyBHdCgyNDUwNjMwLDQzMjMxLE9lLlRBSSksMzEpLG5ldyBXZShuZXcgR3QoMjQ1MTE3OSw0MzIzMixPZS5UQUkpLDMyKSxuZXcgV2UobmV3IEd0KDI0NTM3MzYsNDMyMzMsT2UuVEFJKSwzMyksbmV3IFdlKG5ldyBHdCgyNDU0ODMyLDQzMjM0LE9lLlRBSSksMzQpLG5ldyBXZShuZXcgR3QoMjQ1NjEwOSw0MzIzNSxPZS5UQUkpLDM1KSxuZXcgV2UobmV3IEd0KDI0NTcyMDQsNDMyMzYsT2UuVEFJKSwzNiksbmV3IFdlKG5ldyBHdCgyNDU3NzU0LDQzMjM3LE9lLlRBSSksMzcpXTtrbj1HdH0pO3ZhciBJMT1YbigoV2MsWGMpPT57LyohIGh0dHBzOi8vbXRocy5iZS9wdW55Y29kZSB2MS40LjAgYnkgQG1hdGhpYXMgKi8oZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIFdjPT0ib2JqZWN0IiYmV2MmJiFXYy5ub2RlVHlwZSYmV2Msbj10eXBlb2YgWGM9PSJvYmplY3QiJiZYYyYmIVhjLm5vZGVUeXBlJiZYYyxvPXR5cGVvZiBnbG9iYWw9PSJvYmplY3QiJiZnbG9iYWw7KG8uZ2xvYmFsPT09b3x8by53aW5kb3c9PT1vfHxvLnNlbGY9PT1vKSYmKHQ9byk7dmFyIHIsaT0yMTQ3NDgzNjQ3LHM9MzYsZj0xLHU9MjYsYz0zOCxsPTcwMCxwPTcyLGQ9MTI4LG09Ii0iLF89L154bi0tLyxnPS9bXlx4MjAtXHg3RV0vLGI9L1tceDJFXHUzMDAyXHVGRjBFXHVGRjYxXS9nLFQ9e292ZXJmbG93OiJPdmVyZmxvdzogaW5wdXQgbmVlZHMgd2lkZXIgaW50ZWdlcnMgdG8gcHJvY2VzcyIsIm5vdC1iYXNpYyI6IklsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCkiLCJpbnZhbGlkLWlucHV0IjoiSW52YWxpZCBpbnB1dCJ9LE89cy1mLEU9TWF0aC5mbG9vcix3PVN0cmluZy5mcm9tQ2hhckNvZGUsQztmdW5jdGlvbiBOKGspe3Rocm93IG5ldyBSYW5nZUVycm9yKFRba10pfWZ1bmN0aW9uIEkoayxLKXtmb3IodmFyIFg9ay5sZW5ndGgsUj1bXTtYLS07KVJbWF09SyhrW1hdKTtyZXR1cm4gUn1mdW5jdGlvbiBEKGssSyl7dmFyIFg9ay5zcGxpdCgiQCIpLFI9IiI7WC5sZW5ndGg+MSYmKFI9WFswXSsiQCIsaz1YWzFdKSxrPWsucmVwbGFjZShiLCIuIik7dmFyIG90PWsuc3BsaXQoIi4iKSxhdD1JKG90LEspLmpvaW4oIi4iKTtyZXR1cm4gUithdH1mdW5jdGlvbiB2KGspe2Zvcih2YXIgSz1bXSxYPTAsUj1rLmxlbmd0aCxvdCxhdDtYPFI7KW90PWsuY2hhckNvZGVBdChYKyspLG90Pj01NTI5NiYmb3Q8PTU2MzE5JiZYPFI/KGF0PWsuY2hhckNvZGVBdChYKyspLChhdCY2NDUxMik9PTU2MzIwP0sucHVzaCgoKG90JjEwMjMpPDwxMCkrKGF0JjEwMjMpKzY1NTM2KTooSy5wdXNoKG90KSxYLS0pKTpLLnB1c2gob3QpO3JldHVybiBLfWZ1bmN0aW9uIEwoayl7cmV0dXJuIEkoayxmdW5jdGlvbihLKXt2YXIgWD0iIjtyZXR1cm4gSz42NTUzNSYmKEstPTY1NTM2LFgrPXcoSz4+PjEwJjEwMjN8NTUyOTYpLEs9NTYzMjB8SyYxMDIzKSxYKz13KEspLFh9KS5qb2luKCIiKX1mdW5jdGlvbiBVKGspe3JldHVybiBrLTQ4PDEwP2stMjI6ay02NTwyNj9rLTY1OmstOTc8MjY/ay05NzpzfWZ1bmN0aW9uIEEoayxLKXtyZXR1cm4gaysyMis3NSooazwyNiktKChLIT0wKTw8NSl9ZnVuY3Rpb24gUyhrLEssWCl7dmFyIFI9MDtmb3Ioaz1YP0Uoay9sKTprPj4xLGsrPUUoay9LKTtrPk8qdT4+MTtSKz1zKWs9RShrL08pO3JldHVybiBFKFIrKE8rMSkqay8oaytjKSl9ZnVuY3Rpb24gUChrKXt2YXIgSz1bXSxYPWsubGVuZ3RoLFIsb3Q9MCxhdD1kLHB0PXAseXQscnQsUHQsZ3QsQ3QsbXQsdXQsdnQsenQ7Zm9yKHl0PWsubGFzdEluZGV4T2YobSkseXQ8MCYmKHl0PTApLHJ0PTA7cnQ8eXQ7KytydClrLmNoYXJDb2RlQXQocnQpPj0xMjgmJk4oIm5vdC1iYXNpYyIpLEsucHVzaChrLmNoYXJDb2RlQXQocnQpKTtmb3IoUHQ9eXQ+MD95dCsxOjA7UHQ8WDspe2ZvcihndD1vdCxDdD0xLG10PXM7UHQ+PVgmJk4oImludmFsaWQtaW5wdXQiKSx1dD1VKGsuY2hhckNvZGVBdChQdCsrKSksKHV0Pj1zfHx1dD5FKChpLW90KS9DdCkpJiZOKCJvdmVyZmxvdyIpLG90Kz11dCpDdCx2dD1tdDw9cHQ/ZjptdD49cHQrdT91Om10LXB0LCEodXQ8dnQpO210Kz1zKXp0PXMtdnQsQ3Q+RShpL3p0KSYmTigib3ZlcmZsb3ciKSxDdCo9enQ7Uj1LLmxlbmd0aCsxLHB0PVMob3QtZ3QsUixndD09MCksRShvdC9SKT5pLWF0JiZOKCJvdmVyZmxvdyIpLGF0Kz1FKG90L1IpLG90JT1SLEsuc3BsaWNlKG90KyssMCxhdCl9cmV0dXJuIEwoSyl9ZnVuY3Rpb24gQihrKXt2YXIgSyxYLFIsb3QsYXQscHQseXQscnQsUHQsZ3QsQ3QsbXQ9W10sdXQsdnQsenQsbWU7Zm9yKGs9dihrKSx1dD1rLmxlbmd0aCxLPWQsWD0wLGF0PXAscHQ9MDtwdDx1dDsrK3B0KUN0PWtbcHRdLEN0PDEyOCYmbXQucHVzaCh3KEN0KSk7Zm9yKFI9b3Q9bXQubGVuZ3RoLG90JiZtdC5wdXNoKG0pO1I8dXQ7KXtmb3IoeXQ9aSxwdD0wO3B0PHV0OysrcHQpQ3Q9a1twdF0sQ3Q+PUsmJkN0PHl0JiYoeXQ9Q3QpO2Zvcih2dD1SKzEseXQtSz5FKChpLVgpL3Z0KSYmTigib3ZlcmZsb3ciKSxYKz0oeXQtSykqdnQsSz15dCxwdD0wO3B0PHV0OysrcHQpaWYoQ3Q9a1twdF0sQ3Q8SyYmKytYPmkmJk4oIm92ZXJmbG93IiksQ3Q9PUspe2ZvcihydD1YLFB0PXM7Z3Q9UHQ8PWF0P2Y6UHQ+PWF0K3U/dTpQdC1hdCwhKHJ0PGd0KTtQdCs9cyltZT1ydC1ndCx6dD1zLWd0LG10LnB1c2godyhBKGd0K21lJXp0LDApKSkscnQ9RShtZS96dCk7bXQucHVzaCh3KEEocnQsMCkpKSxhdD1TKFgsdnQsUj09b3QpLFg9MCwrK1J9KytYLCsrS31yZXR1cm4gbXQuam9pbigiIil9ZnVuY3Rpb24gaihrKXtyZXR1cm4gRChrLGZ1bmN0aW9uKEspe3JldHVybiBfLnRlc3QoSyk/UChLLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCkpOkt9KX1mdW5jdGlvbiBIKGspe3JldHVybiBEKGssZnVuY3Rpb24oSyl7cmV0dXJuIGcudGVzdChLKT8ieG4tLSIrQihLKTpLfSl9aWYocj17dmVyc2lvbjoiMS4zLjIiLHVjczI6e2RlY29kZTp2LGVuY29kZTpMfSxkZWNvZGU6UCxlbmNvZGU6Qix0b0FTQ0lJOkgsdG9Vbmljb2RlOmp9LHR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJnR5cGVvZiBkZWZpbmUuYW1kPT0ib2JqZWN0IiYmZGVmaW5lLmFtZClkZWZpbmUoInB1bnljb2RlIixmdW5jdGlvbigpe3JldHVybiByfSk7ZWxzZSBpZihlJiZuKWlmKFhjLmV4cG9ydHM9PWUpbi5leHBvcnRzPXI7ZWxzZSBmb3IoQyBpbiByKXIuaGFzT3duUHJvcGVydHkoQykmJihlW0NdPXJbQ10pO2Vsc2UgdC5wdW55Y29kZT1yfSkoV2MpfSk7dmFyIEwxPVhuKCh2MSxlcCk9PnsvKiEKICogVVJJLmpzIC0gTXV0YXRpbmcgVVJMcwogKiBJUHY2IFN1cHBvcnQKICoKICogVmVyc2lvbjogMS4xOS4xMQogKgogKiBBdXRob3I6IFJvZG5leSBSZWhtCiAqIFdlYjogaHR0cDovL21lZGlhbGl6ZS5naXRodWIuaW8vVVJJLmpzLwogKgogKiBMaWNlbnNlZCB1bmRlcgogKiAgIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UKICoKICovKGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3R5cGVvZiBlcD09Im9iamVjdCImJmVwLmV4cG9ydHM/ZXAuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6dC5JUHY2PWUodCl9KSh2MSxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9dCYmdC5JUHY2O2Z1bmN0aW9uIG4ocil7dmFyIGk9ci50b0xvd2VyQ2FzZSgpLHM9aS5zcGxpdCgiOiIpLGY9cy5sZW5ndGgsdT04O3NbMF09PT0iIiYmc1sxXT09PSIiJiZzWzJdPT09IiI/KHMuc2hpZnQoKSxzLnNoaWZ0KCkpOnNbMF09PT0iIiYmc1sxXT09PSIiP3Muc2hpZnQoKTpzW2YtMV09PT0iIiYmc1tmLTJdPT09IiImJnMucG9wKCksZj1zLmxlbmd0aCxzW2YtMV0uaW5kZXhPZigiLiIpIT09LTEmJih1PTcpO3ZhciBjO2ZvcihjPTA7YzxmJiZzW2NdIT09IiI7YysrKTtpZihjPHUpZm9yKHMuc3BsaWNlKGMsMSwiMDAwMCIpO3MubGVuZ3RoPHU7KXMuc3BsaWNlKGMsMCwiMDAwMCIpO2Zvcih2YXIgbCxwPTA7cDx1O3ArKyl7bD1zW3BdLnNwbGl0KCIiKTtmb3IodmFyIGQ9MDtkPDMmJihsWzBdPT09IjAiJiZsLmxlbmd0aD4xKTtkKyspbC5zcGxpY2UoMCwxKTtzW3BdPWwuam9pbigiIil9dmFyIG09LTEsXz0wLGc9MCxiPS0xLFQ9ITE7Zm9yKHA9MDtwPHU7cCsrKVQ/c1twXT09PSIwIj9nKz0xOihUPSExLGc+XyYmKG09YixfPWcpKTpzW3BdPT09IjAiJiYoVD0hMCxiPXAsZz0xKTtnPl8mJihtPWIsXz1nKSxfPjEmJnMuc3BsaWNlKG0sXywiIiksZj1zLmxlbmd0aDt2YXIgTz0iIjtmb3Ioc1swXT09PSIiJiYoTz0iOiIpLHA9MDtwPGYmJihPKz1zW3BdLHAhPT1mLTEpO3ArKylPKz0iOiI7cmV0dXJuIHNbZi0xXT09PSIiJiYoTys9IjoiKSxPfWZ1bmN0aW9uIG8oKXtyZXR1cm4gdC5JUHY2PT09dGhpcyYmKHQuSVB2Nj1lKSx0aGlzfXJldHVybntiZXN0Om4sbm9Db25mbGljdDpvfX0pfSk7dmFyIEYxPVhuKChEMSxucCk9PnsvKiEKICogVVJJLmpzIC0gTXV0YXRpbmcgVVJMcwogKiBTZWNvbmQgTGV2ZWwgRG9tYWluIChTTEQpIFN1cHBvcnQKICoKICogVmVyc2lvbjogMS4xOS4xMQogKgogKiBBdXRob3I6IFJvZG5leSBSZWhtCiAqIFdlYjogaHR0cDovL21lZGlhbGl6ZS5naXRodWIuaW8vVVJJLmpzLwogKgogKiBMaWNlbnNlZCB1bmRlcgogKiAgIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UKICoKICovKGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3R5cGVvZiBucD09Im9iamVjdCImJm5wLmV4cG9ydHM/bnAuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6dC5TZWNvbmRMZXZlbERvbWFpbnM9ZSh0KX0pKEQxLGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT10JiZ0LlNlY29uZExldmVsRG9tYWlucyxuPXtsaXN0OnthYzoiIGNvbSBnb3YgbWlsIG5ldCBvcmcgIixhZToiIGFjIGNvIGdvdiBtaWwgbmFtZSBuZXQgb3JnIHBybyBzY2ggIixhZjoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixhbDoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsYW86IiBjbyBlZCBndiBpdCBvZyBwYiAiLGFyOiIgY29tIGVkdSBnb2IgZ292IGludCBtaWwgbmV0IG9yZyB0dXIgIixhdDoiIGFjIGNvIGd2IG9yICIsYXU6IiBhc24gY29tIGNzaXJvIGVkdSBnb3YgaWQgbmV0IG9yZyAiLGJhOiIgY28gY29tIGVkdSBnb3YgbWlsIG5ldCBvcmcgcnMgdW5iaSB1bm1vIHVuc2EgdW50eiB1bnplICIsYmI6IiBiaXogY28gY29tIGVkdSBnb3YgaW5mbyBuZXQgb3JnIHN0b3JlIHR2ICIsYmg6IiBiaXogY2MgY29tIGVkdSBnb3YgaW5mbyBuZXQgb3JnICIsYm46IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsYm86IiBjb20gZWR1IGdvYiBnb3YgaW50IG1pbCBuZXQgb3JnIHR2ICIsYnI6IiBhZG0gYWR2IGFnciBhbSBhcnEgYXJ0IGF0byBiIGJpbyBibG9nIGJtZCBjaW0gY25nIGNudCBjb20gY29vcCBlY24gZWR1IGVuZyBlc3AgZXRjIGV0aSBmYXIgZmxvZyBmbSBmbmQgZm90IGZzdCBnMTIgZ2dmIGdvdiBpbWIgaW5kIGluZiBqb3IganVzIGxlbCBtYXQgbWVkIG1pbCBtdXMgbmV0IG5vbSBub3QgbnRyIG9kbyBvcmcgcHBnIHBybyBwc2MgcHNpIHFzbCByZWMgc2xnIHNydiB0bXAgdHJkIHR1ciB0diB2ZXQgdmxvZyB3aWtpIHpsZyAiLGJzOiIgY29tIGVkdSBnb3YgbmV0IG9yZyAiLGJ6OiIgZHUgZXQgb20gb3YgcmcgIixjYToiIGFiIGJjIG1iIG5iIG5mIG5sIG5zIG50IG51IG9uIHBlIHFjIHNrIHlrICIsY2s6IiBiaXogY28gZWR1IGdlbiBnb3YgaW5mbyBuZXQgb3JnICIsY246IiBhYyBhaCBiaiBjb20gY3EgZWR1IGZqIGdkIGdvdiBncyBneCBneiBoYSBoYiBoZSBoaSBobCBobiBqbCBqcyBqeCBsbiBtaWwgbmV0IG5tIG54IG9yZyBxaCBzYyBzZCBzaCBzbiBzeCB0aiB0dyB4aiB4eiB5biB6aiAiLGNvOiIgY29tIGVkdSBnb3YgbWlsIG5ldCBub20gb3JnICIsY3I6IiBhYyBjIGNvIGVkIGZpIGdvIG9yIHNhICIsY3k6IiBhYyBiaXogY29tIGVrbG9nZXMgZ292IGx0ZCBuYW1lIG5ldCBvcmcgcGFybGlhbWVudCBwcmVzcyBwcm8gdG0gIixkbzoiIGFydCBjb20gZWR1IGdvYiBnb3YgbWlsIG5ldCBvcmcgc2xkIHdlYiAiLGR6OiIgYXJ0IGFzc28gY29tIGVkdSBnb3YgbmV0IG9yZyBwb2wgIixlYzoiIGNvbSBlZHUgZmluIGdvdiBpbmZvIG1lZCBtaWwgbmV0IG9yZyBwcm8gIixlZzoiIGNvbSBlZHUgZXVuIGdvdiBtaWwgbmFtZSBuZXQgb3JnIHNjaSAiLGVyOiIgY29tIGVkdSBnb3YgaW5kIG1pbCBuZXQgb3JnIHJvY2hlc3QgdyAiLGVzOiIgY29tIGVkdSBnb2Igbm9tIG9yZyAiLGV0OiIgYml6IGNvbSBlZHUgZ292IGluZm8gbmFtZSBuZXQgb3JnICIsZmo6IiBhYyBiaXogY29tIGluZm8gbWlsIG5hbWUgbmV0IG9yZyBwcm8gIixmazoiIGFjIGNvIGdvdiBuZXQgbm9tIG9yZyAiLGZyOiIgYXNzbyBjb20gZiBnb3V2IG5vbSBwcmQgcHJlc3NlIHRtICIsZ2c6IiBjbyBuZXQgb3JnICIsZ2g6IiBjb20gZWR1IGdvdiBtaWwgb3JnICIsZ246IiBhYyBjb20gZ292IG5ldCBvcmcgIixncjoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsZ3Q6IiBjb20gZWR1IGdvYiBpbmQgbWlsIG5ldCBvcmcgIixndToiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixoazoiIGNvbSBlZHUgZ292IGlkdiBuZXQgb3JnICIsaHU6IiAyMDAwIGFncmFyIGJvbHQgY2FzaW5vIGNpdHkgY28gZXJvdGljYSBlcm90aWthIGZpbG0gZm9ydW0gZ2FtZXMgaG90ZWwgaW5mbyBpbmdhdGxhbiBqb2dhc3oga29ueXZlbG8gbGFrYXMgbWVkaWEgbmV3cyBvcmcgcHJpdiByZWtsYW0gc2V4IHNob3Agc3BvcnQgc3VsaSBzemV4IHRtIHRvenNkZSB1dGF6YXMgdmlkZW8gIixpZDoiIGFjIGNvIGdvIG1pbCBuZXQgb3Igc2NoIHdlYiAiLGlsOiIgYWMgY28gZ292IGlkZiBrMTIgbXVuaSBuZXQgb3JnICIsaW46IiBhYyBjbyBlZHUgZXJuZXQgZmlybSBnZW4gZ292IGkgaW5kIG1pbCBuZXQgbmljIG9yZyByZXMgIixpcToiIGNvbSBlZHUgZ292IGkgbWlsIG5ldCBvcmcgIixpcjoiIGFjIGNvIGRuc3NlYyBnb3YgaSBpZCBuZXQgb3JnIHNjaCAiLGl0OiIgZWR1IGdvdiAiLGplOiIgY28gbmV0IG9yZyAiLGpvOiIgY29tIGVkdSBnb3YgbWlsIG5hbWUgbmV0IG9yZyBzY2ggIixqcDoiIGFjIGFkIGNvIGVkIGdvIGdyIGxnIG5lIG9yICIsa2U6IiBhYyBjbyBnbyBpbmZvIG1lIG1vYmkgbmUgb3Igc2MgIixraDoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnIHBlciAiLGtpOiIgYml6IGNvbSBkZSBlZHUgZ292IGluZm8gbW9iIG5ldCBvcmcgdGVsICIsa206IiBhc3NvIGNvbSBjb29wIGVkdSBnb3V2IGsgbWVkZWNpbiBtaWwgbm9tIG5vdGFpcmVzIHBoYXJtYWNpZW5zIHByZXNzZSB0bSB2ZXRlcmluYWlyZSAiLGtuOiIgZWR1IGdvdiBuZXQgb3JnICIsa3I6IiBhYyBidXNhbiBjaHVuZ2J1ayBjaHVuZ25hbSBjbyBkYWVndSBkYWVqZW9uIGVzIGdhbmd3b24gZ28gZ3dhbmdqdSBneWVvbmdidWsgZ3llb25nZ2kgZ3llb25nbmFtIGhzIGluY2hlb24gamVqdSBqZW9uYnVrIGplb25uYW0gayBrZyBtaWwgbXMgbmUgb3IgcGUgcmUgc2Mgc2VvdWwgdWxzYW4gIixrdzoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixreToiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixrejoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsbGI6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsbGs6IiBhc3NuIGNvbSBlZHUgZ292IGdycCBob3RlbCBpbnQgbHRkIG5ldCBuZ28gb3JnIHNjaCBzb2Mgd2ViICIsbHI6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsbHY6IiBhc24gY29tIGNvbmYgZWR1IGdvdiBpZCBtaWwgbmV0IG9yZyAiLGx5OiIgY29tIGVkdSBnb3YgaWQgbWVkIG5ldCBvcmcgcGxjIHNjaCAiLG1hOiIgYWMgY28gZ292IG0gbmV0IG9yZyBwcmVzcyAiLG1jOiIgYXNzbyB0bSAiLG1lOiIgYWMgY28gZWR1IGdvdiBpdHMgbmV0IG9yZyBwcml2ICIsbWc6IiBjb20gZWR1IGdvdiBtaWwgbm9tIG9yZyBwcmQgdG0gIixtazoiIGNvbSBlZHUgZ292IGluZiBuYW1lIG5ldCBvcmcgcHJvICIsbWw6IiBjb20gZWR1IGdvdiBuZXQgb3JnIHByZXNzZSAiLG1uOiIgZWR1IGdvdiBvcmcgIixtbzoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixtdDoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixtdjoiIGFlcm8gYml6IGNvbSBjb29wIGVkdSBnb3YgaW5mbyBpbnQgbWlsIG11c2V1bSBuYW1lIG5ldCBvcmcgcHJvICIsbXc6IiBhYyBjbyBjb20gY29vcCBlZHUgZ292IGludCBtdXNldW0gbmV0IG9yZyAiLG14OiIgY29tIGVkdSBnb2IgbmV0IG9yZyAiLG15OiIgY29tIGVkdSBnb3YgbWlsIG5hbWUgbmV0IG9yZyBzY2ggIixuZjoiIGFydHMgY29tIGZpcm0gaW5mbyBuZXQgb3RoZXIgcGVyIHJlYyBzdG9yZSB3ZWIgIixuZzoiIGJpeiBjb20gZWR1IGdvdiBtaWwgbW9iaSBuYW1lIG5ldCBvcmcgc2NoICIsbmk6IiBhYyBjbyBjb20gZWR1IGdvYiBtaWwgbmV0IG5vbSBvcmcgIixucDoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsbnI6IiBiaXogY29tIGVkdSBnb3YgaW5mbyBuZXQgb3JnICIsb206IiBhYyBiaXogY28gY29tIGVkdSBnb3YgbWVkIG1pbCBtdXNldW0gbmV0IG9yZyBwcm8gc2NoICIscGU6IiBjb20gZWR1IGdvYiBtaWwgbmV0IG5vbSBvcmcgc2xkICIscGg6IiBjb20gZWR1IGdvdiBpIG1pbCBuZXQgbmdvIG9yZyAiLHBrOiIgYml6IGNvbSBlZHUgZmFtIGdvYiBnb2sgZ29uIGdvcCBnb3MgZ292IG5ldCBvcmcgd2ViICIscGw6IiBhcnQgYmlhbHlzdG9rIGJpeiBjb20gZWR1IGdkYSBnZGFuc2sgZ29yem93IGdvdiBpbmZvIGthdG93aWNlIGtyYWtvdyBsb2R6IGx1YmxpbiBtaWwgbmV0IG5nbyBvbHN6dHluIG9yZyBwb3puYW4gcHdyIHJhZG9tIHNsdXBzayBzemN6ZWNpbiB0b3J1biB3YXJzemF3YSB3YXcgd3JvYyB3cm9jbGF3IHpnb3JhICIscHI6IiBhYyBiaXogY29tIGVkdSBlc3QgZ292IGluZm8gaXNsYSBuYW1lIG5ldCBvcmcgcHJvIHByb2YgIixwczoiIGNvbSBlZHUgZ292IG5ldCBvcmcgcGxvIHNlYyAiLHB3OiIgYmVsYXUgY28gZWQgZ28gbmUgb3IgIixybzoiIGFydHMgY29tIGZpcm0gaW5mbyBub20gbnQgb3JnIHJlYyBzdG9yZSB0bSB3d3cgIixyczoiIGFjIGNvIGVkdSBnb3YgaW4gb3JnICIsc2I6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsc2M6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsc2g6IiBjbyBjb20gZWR1IGdvdiBuZXQgbm9tIG9yZyAiLHNsOiIgY29tIGVkdSBnb3YgbmV0IG9yZyAiLHN0OiIgY28gY29tIGNvbnN1bGFkbyBlZHUgZW1iYWl4YWRhIGdvdiBtaWwgbmV0IG9yZyBwcmluY2lwZSBzYW90b21lIHN0b3JlICIsc3Y6IiBjb20gZWR1IGdvYiBvcmcgcmVkICIsc3o6IiBhYyBjbyBvcmcgIix0cjoiIGF2IGJicyBiZWwgYml6IGNvbSBkciBlZHUgZ2VuIGdvdiBpbmZvIGsxMiBuYW1lIG5ldCBvcmcgcG9sIHRlbCB0c2sgdHYgd2ViICIsdHQ6IiBhZXJvIGJpeiBjYXQgY28gY29tIGNvb3AgZWR1IGdvdiBpbmZvIGludCBqb2JzIG1pbCBtb2JpIG11c2V1bSBuYW1lIG5ldCBvcmcgcHJvIHRlbCB0cmF2ZWwgIix0dzoiIGNsdWIgY29tIGViaXogZWR1IGdhbWUgZ292IGlkdiBtaWwgbmV0IG9yZyAiLG11OiIgYWMgY28gY29tIGdvdiBuZXQgb3Igb3JnICIsbXo6IiBhYyBjbyBlZHUgZ292IG9yZyAiLG5hOiIgY28gY29tICIsbno6IiBhYyBjbyBjcmkgZ2VlayBnZW4gZ292dCBoZWFsdGggaXdpIG1hb3JpIG1pbCBuZXQgb3JnIHBhcmxpYW1lbnQgc2Nob29sICIscGE6IiBhYm8gYWMgY29tIGVkdSBnb2IgaW5nIG1lZCBuZXQgbm9tIG9yZyBzbGQgIixwdDoiIGNvbSBlZHUgZ292IGludCBuZXQgbm9tZSBvcmcgcHVibCAiLHB5OiIgY29tIGVkdSBnb3YgbWlsIG5ldCBvcmcgIixxYToiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIscmU6IiBhc3NvIGNvbSBub20gIixydToiIGFjIGFkeWdleWEgYWx0YWkgYW11ciBhcmtoYW5nZWxzayBhc3RyYWtoYW4gYmFzaGtpcmlhIGJlbGdvcm9kIGJpciBicnlhbnNrIGJ1cnlhdGlhIGNiZyBjaGVsIGNoZWx5YWJpbnNrIGNoaXRhIGNodWtvdGthIGNodXZhc2hpYSBjb20gZGFnZXN0YW4gZS1idXJnIGVkdSBnb3YgZ3Jvem55IGludCBpcmt1dHNrIGl2YW5vdm8gaXpoZXZzayBqYXIgam9zaGthci1vbGEga2FsbXlraWEga2FsdWdhIGthbWNoYXRrYSBrYXJlbGlhIGthemFuIGtjaHIga2VtZXJvdm8ga2hhYmFyb3ZzayBraGFrYXNzaWEga2h2IGtpcm92IGtvZW5pZyBrb21pIGtvc3Ryb21hIGtyYW5veWFyc2sga3ViYW4ga3VyZ2FuIGt1cnNrIGxpcGV0c2sgbWFnYWRhbiBtYXJpIG1hcmktZWwgbWFyaW5lIG1pbCBtb3Jkb3ZpYSBtb3NyZWcgbXNrIG11cm1hbnNrIG5hbGNoaWsgbmV0IG5ub3Ygbm92IG5vdm9zaWJpcnNrIG5zayBvbXNrIG9yZW5idXJnIG9yZyBvcnlvbCBwZW56YSBwZXJtIHBwIHBza292IHB0eiBybmQgcnlhemFuIHNha2hhbGluIHNhbWFyYSBzYXJhdG92IHNpbWJpcnNrIHNtb2xlbnNrIHNwYiBzdGF2cm9wb2wgc3R2IHN1cmd1dCB0YW1ib3YgdGF0YXJzdGFuIHRvbSB0b21zayB0c2FyaXRzeW4gdHNrIHR1bGEgdHV2YSB0dmVyIHR5dW1lbiB1ZG0gdWRtdXJ0aWEgdWxhbi11ZGUgdmxhZGlrYXZrYXogdmxhZGltaXIgdmxhZGl2b3N0b2sgdm9sZ29ncmFkIHZvbG9nZGEgdm9yb25lemggdnJuIHZ5YXRrYSB5YWt1dGlhIHlhbWFsIHlla2F0ZXJpbmJ1cmcgeXV6aG5vLXNha2hhbGluc2sgIixydzoiIGFjIGNvIGNvbSBlZHUgZ291diBnb3YgaW50IG1pbCBuZXQgIixzYToiIGNvbSBlZHUgZ292IG1lZCBuZXQgb3JnIHB1YiBzY2ggIixzZDoiIGNvbSBlZHUgZ292IGluZm8gbWVkIG5ldCBvcmcgdHYgIixzZToiIGEgYWMgYiBiZCBjIGQgZSBmIGcgaCBpIGsgbCBtIG4gbyBvcmcgcCBwYXJ0aSBwcCBwcmVzcyByIHMgdCB0bSB1IHcgeCB5IHogIixzZzoiIGNvbSBlZHUgZ292IGlkbiBuZXQgb3JnIHBlciAiLHNuOiIgYXJ0IGNvbSBlZHUgZ291diBvcmcgcGVyc28gdW5pdiAiLHN5OiIgY29tIGVkdSBnb3YgbWlsIG5ldCBuZXdzIG9yZyAiLHRoOiIgYWMgY28gZ28gaW4gbWkgbmV0IG9yICIsdGo6IiBhYyBiaXogY28gY29tIGVkdSBnbyBnb3YgaW5mbyBpbnQgbWlsIG5hbWUgbmV0IG5pYyBvcmcgdGVzdCB3ZWIgIix0bjoiIGFncmluZXQgY29tIGRlZmVuc2UgZWR1bmV0IGVucyBmaW4gZ292IGluZCBpbmZvIGludGwgbWluY29tIG5hdCBuZXQgb3JnIHBlcnNvIHJucnQgcm5zIHJudSB0b3VyaXNtICIsdHo6IiBhYyBjbyBnbyBuZSBvciAiLHVhOiIgYml6IGNoZXJrYXNzeSBjaGVybmlnb3YgY2hlcm5vdnRzeSBjayBjbiBjbyBjb20gY3JpbWVhIGN2IGRuIGRuZXByb3BldHJvdnNrIGRvbmV0c2sgZHAgZWR1IGdvdiBpZiBpbiBpdmFuby1mcmFua2l2c2sga2gga2hhcmtvdiBraGVyc29uIGtobWVsbml0c2tpeSBraWV2IGtpcm92b2dyYWQga20ga3Iga3Mga3YgbGcgbHVnYW5zayBsdXRzayBsdml2IG1lIG1rIG5ldCBuaWtvbGFldiBvZCBvZGVzc2Egb3JnIHBsIHBvbHRhdmEgcHAgcm92bm8gcnYgc2ViYXN0b3BvbCBzdW15IHRlIHRlcm5vcGlsIHV6aGdvcm9kIHZpbm5pY2Egdm4gemFwb3Jpemh6aGUgemhpdG9taXIgenAgenQgIix1ZzoiIGFjIGNvIGdvIG5lIG9yIG9yZyBzYyAiLHVrOiIgYWMgYmwgYnJpdGlzaC1saWJyYXJ5IGNvIGN5bSBnb3YgZ292dCBpY25ldCBqZXQgbGVhIGx0ZCBtZSBtaWwgbW9kIG5hdGlvbmFsLWxpYnJhcnktc2NvdGxhbmQgbmVsIG5ldCBuaHMgbmljIG5scyBvcmcgb3JnbiBwYXJsaWFtZW50IHBsYyBwb2xpY2Ugc2NoIHNjb3Qgc29jICIsdXM6IiBkbmkgZmVkIGlzYSBraWRzIG5zbiAiLHV5OiIgY29tIGVkdSBndWIgbWlsIG5ldCBvcmcgIix2ZToiIGNvIGNvbSBlZHUgZ29iIGluZm8gbWlsIG5ldCBvcmcgd2ViICIsdmk6IiBjbyBjb20gazEyIG5ldCBvcmcgIix2bjoiIGFjIGJpeiBjb20gZWR1IGdvdiBoZWFsdGggaW5mbyBpbnQgbmFtZSBuZXQgb3JnIHBybyAiLHllOiIgY28gY29tIGdvdiBsdGQgbWUgbmV0IG9yZyBwbGMgIix5dToiIGFjIGNvIGVkdSBnb3Ygb3JnICIsemE6IiBhYyBhZ3JpYyBhbHQgYm91cnNlIGNpdHkgY28gY3liZXJuZXQgZGIgZWR1IGdvdiBncm9uZGFyIGlhY2Nlc3MgaW10IGluY2EgbGFuZGVzaWduIGxhdyBtaWwgbmV0IG5nbyBuaXMgbm9tIG9saXZldHRpIG9yZyBwaXggc2Nob29sIHRtIHdlYiAiLHptOiIgYWMgY28gY29tIGVkdSBnb3YgbmV0IG9yZyBzY2ggIixjb206ImFyIGJyIGNuIGRlIGV1IGdiIGdyIGh1IGpwbiBrciBubyBxYyBydSBzYSBzZSB1ayB1cyB1eSB6YSAiLG5ldDoiZ2IganAgc2UgdWsgIixvcmc6ImFlIixkZToiY29tICJ9LGhhczpmdW5jdGlvbihvKXt2YXIgcj1vLmxhc3RJbmRleE9mKCIuIik7aWYocjw9MHx8cj49by5sZW5ndGgtMSlyZXR1cm4hMTt2YXIgaT1vLmxhc3RJbmRleE9mKCIuIixyLTEpO2lmKGk8PTB8fGk+PXItMSlyZXR1cm4hMTt2YXIgcz1uLmxpc3Rbby5zbGljZShyKzEpXTtyZXR1cm4gcz9zLmluZGV4T2YoIiAiK28uc2xpY2UoaSsxLHIpKyIgIik+PTA6ITF9LGlzOmZ1bmN0aW9uKG8pe3ZhciByPW8ubGFzdEluZGV4T2YoIi4iKTtpZihyPD0wfHxyPj1vLmxlbmd0aC0xKXJldHVybiExO3ZhciBpPW8ubGFzdEluZGV4T2YoIi4iLHItMSk7aWYoaT49MClyZXR1cm4hMTt2YXIgcz1uLmxpc3Rbby5zbGljZShyKzEpXTtyZXR1cm4gcz9zLmluZGV4T2YoIiAiK28uc2xpY2UoMCxyKSsiICIpPj0wOiExfSxnZXQ6ZnVuY3Rpb24obyl7dmFyIHI9by5sYXN0SW5kZXhPZigiLiIpO2lmKHI8PTB8fHI+PW8ubGVuZ3RoLTEpcmV0dXJuIG51bGw7dmFyIGk9by5sYXN0SW5kZXhPZigiLiIsci0xKTtpZihpPD0wfHxpPj1yLTEpcmV0dXJuIG51bGw7dmFyIHM9bi5saXN0W28uc2xpY2UocisxKV07cmV0dXJuIXN8fHMuaW5kZXhPZigiICIrby5zbGljZShpKzEscikrIiAiKTwwP251bGw6by5zbGljZShpKzEpfSxub0NvbmZsaWN0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuU2Vjb25kTGV2ZWxEb21haW5zPT09dGhpcyYmKHQuU2Vjb25kTGV2ZWxEb21haW5zPWUpLHRoaXN9fTtyZXR1cm4gbn0pfSk7dmFyIHpzPVhuKChCMSxvcCk9PnsvKiEKICogVVJJLmpzIC0gTXV0YXRpbmcgVVJMcwogKgogKiBWZXJzaW9uOiAxLjE5LjExCiAqCiAqIEF1dGhvcjogUm9kbmV5IFJlaG0KICogV2ViOiBodHRwOi8vbWVkaWFsaXplLmdpdGh1Yi5pby9VUkkuanMvCiAqCiAqIExpY2Vuc2VkIHVuZGVyCiAqICAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZQogKgogKi8oZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7dHlwZW9mIG9wPT0ib2JqZWN0IiYmb3AuZXhwb3J0cz9vcC5leHBvcnRzPWUoSTEoKSxMMSgpLEYxKCkpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKFsiLi9wdW55Y29kZSIsIi4vSVB2NiIsIi4vU2Vjb25kTGV2ZWxEb21haW5zIl0sZSk6dC5VUkk9ZSh0LnB1bnljb2RlLHQuSVB2Nix0LlNlY29uZExldmVsRG9tYWlucyx0KX0pKEIxLGZ1bmN0aW9uKHQsZSxuLG8peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1vJiZvLlVSSTtmdW5jdGlvbiBpKEEsUyl7dmFyIFA9YXJndW1lbnRzLmxlbmd0aD49MSxCPWFyZ3VtZW50cy5sZW5ndGg+PTI7aWYoISh0aGlzIGluc3RhbmNlb2YgaSkpcmV0dXJuIFA/Qj9uZXcgaShBLFMpOm5ldyBpKEEpOm5ldyBpO2lmKEE9PT12b2lkIDApe2lmKFApdGhyb3cgbmV3IFR5cGVFcnJvcigidW5kZWZpbmVkIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IGZvciBVUkkiKTt0eXBlb2YgbG9jYXRpb248InUiP0E9bG9jYXRpb24uaHJlZisiIjpBPSIifWlmKEE9PT1udWxsJiZQKXRocm93IG5ldyBUeXBlRXJyb3IoIm51bGwgaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgZm9yIFVSSSIpO3JldHVybiB0aGlzLmhyZWYoQSksUyE9PXZvaWQgMD90aGlzLmFic29sdXRlVG8oUyk6dGhpc31mdW5jdGlvbiBzKEEpe3JldHVybi9eWzAtOV0rJC8udGVzdChBKX1pLnZlcnNpb249IjEuMTkuMTEiO3ZhciBmPWkucHJvdG90eXBlLHU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBjKEEpe3JldHVybiBBLnJlcGxhY2UoLyhbLiorP149IToke30oKXxbXF1cL1xcXSkvZywiXFwkMSIpfWZ1bmN0aW9uIGwoQSl7cmV0dXJuIEE9PT12b2lkIDA/IlVuZGVmaW5lZCI6U3RyaW5nKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChBKSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gcChBKXtyZXR1cm4gbChBKT09PSJBcnJheSJ9ZnVuY3Rpb24gZChBLFMpe3ZhciBQPXt9LEIsajtpZihsKFMpPT09IlJlZ0V4cCIpUD1udWxsO2Vsc2UgaWYocChTKSlmb3IoQj0wLGo9Uy5sZW5ndGg7QjxqO0IrKylQW1NbQl1dPSEwO2Vsc2UgUFtTXT0hMDtmb3IoQj0wLGo9QS5sZW5ndGg7QjxqO0IrKyl7dmFyIEg9UCYmUFtBW0JdXSE9PXZvaWQgMHx8IVAmJlMudGVzdChBW0JdKTtIJiYoQS5zcGxpY2UoQiwxKSxqLS0sQi0tKX1yZXR1cm4gQX1mdW5jdGlvbiBtKEEsUyl7dmFyIFAsQjtpZihwKFMpKXtmb3IoUD0wLEI9Uy5sZW5ndGg7UDxCO1ArKylpZighbShBLFNbUF0pKXJldHVybiExO3JldHVybiEwfXZhciBqPWwoUyk7Zm9yKFA9MCxCPUEubGVuZ3RoO1A8QjtQKyspaWYoaj09PSJSZWdFeHAiKXtpZih0eXBlb2YgQVtQXT09InN0cmluZyImJkFbUF0ubWF0Y2goUykpcmV0dXJuITB9ZWxzZSBpZihBW1BdPT09UylyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBfKEEsUyl7aWYoIXAoQSl8fCFwKFMpfHxBLmxlbmd0aCE9PVMubGVuZ3RoKXJldHVybiExO0Euc29ydCgpLFMuc29ydCgpO2Zvcih2YXIgUD0wLEI9QS5sZW5ndGg7UDxCO1ArKylpZihBW1BdIT09U1tQXSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBnKEEpe3ZhciBTPS9eXC8rfFwvKyQvZztyZXR1cm4gQS5yZXBsYWNlKFMsIiIpfWkuX3BhcnRzPWZ1bmN0aW9uKCl7cmV0dXJue3Byb3RvY29sOm51bGwsdXNlcm5hbWU6bnVsbCxwYXNzd29yZDpudWxsLGhvc3RuYW1lOm51bGwsdXJuOm51bGwscG9ydDpudWxsLHBhdGg6bnVsbCxxdWVyeTpudWxsLGZyYWdtZW50Om51bGwscHJldmVudEludmFsaWRIb3N0bmFtZTppLnByZXZlbnRJbnZhbGlkSG9zdG5hbWUsZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzOmkuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzLGVzY2FwZVF1ZXJ5U3BhY2U6aS5lc2NhcGVRdWVyeVNwYWNlfX0saS5wcmV2ZW50SW52YWxpZEhvc3RuYW1lPSExLGkuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzPSExLGkuZXNjYXBlUXVlcnlTcGFjZT0hMCxpLnByb3RvY29sX2V4cHJlc3Npb249L15bYS16XVthLXowLTkuKy1dKiQvaSxpLmlkbl9leHByZXNzaW9uPS9bXmEtejAtOVwuXy1dL2ksaS5wdW55Y29kZV9leHByZXNzaW9uPS8oeG4tLSkvaSxpLmlwNF9leHByZXNzaW9uPS9eXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfSQvLGkuaXA2X2V4cHJlc3Npb249L15ccyooKChbMC05QS1GYS1mXXsxLDR9Oil7N30oWzAtOUEtRmEtZl17MSw0fXw6KSl8KChbMC05QS1GYS1mXXsxLDR9Oil7Nn0oOlswLTlBLUZhLWZdezEsNH18KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXs1fSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDJ9KXw6KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXs0fSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDN9KXwoKDpbMC05QS1GYS1mXXsxLDR9KT86KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KChbMC05QS1GYS1mXXsxLDR9Oil7M30oKCg6WzAtOUEtRmEtZl17MSw0fSl7MSw0fSl8KCg6WzAtOUEtRmEtZl17MSw0fSl7MCwyfTooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXsyfSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDV9KXwoKDpbMC05QS1GYS1mXXsxLDR9KXswLDN9OigoMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoXC4oMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCgoWzAtOUEtRmEtZl17MSw0fTopezF9KCgoOlswLTlBLUZhLWZdezEsNH0pezEsNn0pfCgoOlswLTlBLUZhLWZdezEsNH0pezAsNH06KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KDooKCg6WzAtOUEtRmEtZl17MSw0fSl7MSw3fSl8KCg6WzAtOUEtRmEtZl17MSw0fSl7MCw1fTooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKSkoJS4rKT9ccyokLyxpLmZpbmRfdXJpX2V4cHJlc3Npb249L1xiKCg/OlthLXpdW1x3LV0rOig/OlwvezEsM318W2EtejAtOSVdKXx3d3dcZHswLDN9Wy5dfFthLXowLTkuXC1dK1suXVthLXpdezIsNH1cLykoPzpbXlxzKCk8Pl0rfFwoKFteXHMoKTw+XSt8KFwoW15ccygpPD5dK1wpKSkqXCkpKyg/OlwoKFteXHMoKTw+XSt8KFwoW15ccygpPD5dK1wpKSkqXCl8W15cc2AhKClcW1xde307OiciLiw8Pj/Cq8K74oCc4oCd4oCY4oCZXSkpL2lnLGkuZmluZFVyaT17c3RhcnQ6L1xiKD86KFthLXpdW2EtejAtOS4rLV0qOlwvXC8pfHd3d1wuKS9naSxlbmQ6L1tcc1xyXG5dfCQvLHRyaW06L1tgISgpXFtcXXt9OzonIi4sPD4/wqvCu+KAnOKAneKAnuKAmOKAmV0rJC8scGFyZW5zOi8oXChbXlwpXSpcKXxcW1teXF1dKlxdfFx7W159XSpcfXw8W14+XSo+KS9nfSxpLmxlYWRpbmdfd2hpdGVzcGFjZV9leHByZXNzaW9uPS9eW1x4MDAtXHgyMFx1MDBhMFx1MTY4MFx1MjAwMC1cdTIwMGFcdTIwMjhcdTIwMjlcdTIwMmZcdTIwNWZcdTMwMDBcdWZlZmZdKy8saS5hc2NpaV90YWJfd2hpdGVzcGFjZT0vW1x1MDAwOVx1MDAwQVx1MDAwRF0rL2csaS5kZWZhdWx0UG9ydHM9e2h0dHA6IjgwIixodHRwczoiNDQzIixmdHA6IjIxIixnb3BoZXI6IjcwIix3czoiODAiLHdzczoiNDQzIn0saS5ob3N0UHJvdG9jb2xzPVsiaHR0cCIsImh0dHBzIl0saS5pbnZhbGlkX2hvc3RuYW1lX2NoYXJhY3RlcnM9L1teYS16QS1aMC05XC5cLTpfXS8saS5kb21BdHRyaWJ1dGVzPXthOiJocmVmIixibG9ja3F1b3RlOiJjaXRlIixsaW5rOiJocmVmIixiYXNlOiJocmVmIixzY3JpcHQ6InNyYyIsZm9ybToiYWN0aW9uIixpbWc6InNyYyIsYXJlYToiaHJlZiIsaWZyYW1lOiJzcmMiLGVtYmVkOiJzcmMiLHNvdXJjZToic3JjIix0cmFjazoic3JjIixpbnB1dDoic3JjIixhdWRpbzoic3JjIix2aWRlbzoic3JjIn0saS5nZXREb21BdHRyaWJ1dGU9ZnVuY3Rpb24oQSl7aWYoISghQXx8IUEubm9kZU5hbWUpKXt2YXIgUz1BLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoIShTPT09ImlucHV0IiYmQS50eXBlIT09ImltYWdlIikpcmV0dXJuIGkuZG9tQXR0cmlidXRlc1tTXX19O2Z1bmN0aW9uIGIoQSl7cmV0dXJuIGVzY2FwZShBKX1mdW5jdGlvbiBUKEEpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoQSkucmVwbGFjZSgvWyEnKCkqXS9nLGIpLnJlcGxhY2UoL1wqL2csIiUyQSIpfWkuZW5jb2RlPVQsaS5kZWNvZGU9ZGVjb2RlVVJJQ29tcG9uZW50LGkuaXNvODg1OT1mdW5jdGlvbigpe2kuZW5jb2RlPWVzY2FwZSxpLmRlY29kZT11bmVzY2FwZX0saS51bmljb2RlPWZ1bmN0aW9uKCl7aS5lbmNvZGU9VCxpLmRlY29kZT1kZWNvZGVVUklDb21wb25lbnR9LGkuY2hhcmFjdGVycz17cGF0aG5hbWU6e2VuY29kZTp7ZXhwcmVzc2lvbjovJSgyNHwyNnwyQnwyQ3wzQnwzRHwzQXw0MCkvaWcsbWFwOnsiJTI0IjoiJCIsIiUyNiI6IiYiLCIlMkIiOiIrIiwiJTJDIjoiLCIsIiUzQiI6IjsiLCIlM0QiOiI9IiwiJTNBIjoiOiIsIiU0MCI6IkAifX0sZGVjb2RlOntleHByZXNzaW9uOi9bXC9cPyNdL2csbWFwOnsiLyI6IiUyRiIsIj8iOiIlM0YiLCIjIjoiJTIzIn19fSxyZXNlcnZlZDp7ZW5jb2RlOntleHByZXNzaW9uOi8lKDIxfDIzfDI0fDI2fDI3fDI4fDI5fDJBfDJCfDJDfDJGfDNBfDNCfDNEfDNGfDQwfDVCfDVEKS9pZyxtYXA6eyIlM0EiOiI6IiwiJTJGIjoiLyIsIiUzRiI6Ij8iLCIlMjMiOiIjIiwiJTVCIjoiWyIsIiU1RCI6Il0iLCIlNDAiOiJAIiwiJTIxIjoiISIsIiUyNCI6IiQiLCIlMjYiOiImIiwiJTI3IjoiJyIsIiUyOCI6IigiLCIlMjkiOiIpIiwiJTJBIjoiKiIsIiUyQiI6IisiLCIlMkMiOiIsIiwiJTNCIjoiOyIsIiUzRCI6Ij0ifX19LHVybnBhdGg6e2VuY29kZTp7ZXhwcmVzc2lvbjovJSgyMXwyNHwyN3wyOHwyOXwyQXwyQnwyQ3wzQnwzRHw0MCkvaWcsbWFwOnsiJTIxIjoiISIsIiUyNCI6IiQiLCIlMjciOiInIiwiJTI4IjoiKCIsIiUyOSI6IikiLCIlMkEiOiIqIiwiJTJCIjoiKyIsIiUyQyI6IiwiLCIlM0IiOiI7IiwiJTNEIjoiPSIsIiU0MCI6IkAifX0sZGVjb2RlOntleHByZXNzaW9uOi9bXC9cPyM6XS9nLG1hcDp7Ii8iOiIlMkYiLCI/IjoiJTNGIiwiIyI6IiUyMyIsIjoiOiIlM0EifX19fSxpLmVuY29kZVF1ZXJ5PWZ1bmN0aW9uKEEsUyl7dmFyIFA9aS5lbmNvZGUoQSsiIik7cmV0dXJuIFM9PT12b2lkIDAmJihTPWkuZXNjYXBlUXVlcnlTcGFjZSksUz9QLnJlcGxhY2UoLyUyMC9nLCIrIik6UH0saS5kZWNvZGVRdWVyeT1mdW5jdGlvbihBLFMpe0ErPSIiLFM9PT12b2lkIDAmJihTPWkuZXNjYXBlUXVlcnlTcGFjZSk7dHJ5e3JldHVybiBpLmRlY29kZShTP0EucmVwbGFjZSgvXCsvZywiJTIwIik6QSl9Y2F0Y2h7cmV0dXJuIEF9fTt2YXIgTz17ZW5jb2RlOiJlbmNvZGUiLGRlY29kZToiZGVjb2RlIn0sRSx3PWZ1bmN0aW9uKEEsUyl7cmV0dXJuIGZ1bmN0aW9uKFApe3RyeXtyZXR1cm4gaVtTXShQKyIiKS5yZXBsYWNlKGkuY2hhcmFjdGVyc1tBXVtTXS5leHByZXNzaW9uLGZ1bmN0aW9uKEIpe3JldHVybiBpLmNoYXJhY3RlcnNbQV1bU10ubWFwW0JdfSl9Y2F0Y2h7cmV0dXJuIFB9fX07Zm9yKEUgaW4gTylpW0UrIlBhdGhTZWdtZW50Il09dygicGF0aG5hbWUiLE9bRV0pLGlbRSsiVXJuUGF0aFNlZ21lbnQiXT13KCJ1cm5wYXRoIixPW0VdKTt2YXIgQz1mdW5jdGlvbihBLFMsUCl7cmV0dXJuIGZ1bmN0aW9uKEIpe3ZhciBqO1A/aj1mdW5jdGlvbihYKXtyZXR1cm4gaVtTXShpW1BdKFgpKX06aj1pW1NdO2Zvcih2YXIgSD0oQisiIikuc3BsaXQoQSksaz0wLEs9SC5sZW5ndGg7azxLO2srKylIW2tdPWooSFtrXSk7cmV0dXJuIEguam9pbihBKX19O2kuZGVjb2RlUGF0aD1DKCIvIiwiZGVjb2RlUGF0aFNlZ21lbnQiKSxpLmRlY29kZVVyblBhdGg9QygiOiIsImRlY29kZVVyblBhdGhTZWdtZW50IiksaS5yZWNvZGVQYXRoPUMoIi8iLCJlbmNvZGVQYXRoU2VnbWVudCIsImRlY29kZSIpLGkucmVjb2RlVXJuUGF0aD1DKCI6IiwiZW5jb2RlVXJuUGF0aFNlZ21lbnQiLCJkZWNvZGUiKSxpLmVuY29kZVJlc2VydmVkPXcoInJlc2VydmVkIiwiZW5jb2RlIiksaS5wYXJzZT1mdW5jdGlvbihBLFMpe3ZhciBQO3JldHVybiBTfHwoUz17cHJldmVudEludmFsaWRIb3N0bmFtZTppLnByZXZlbnRJbnZhbGlkSG9zdG5hbWV9KSxBPUEucmVwbGFjZShpLmxlYWRpbmdfd2hpdGVzcGFjZV9leHByZXNzaW9uLCIiKSxBPUEucmVwbGFjZShpLmFzY2lpX3RhYl93aGl0ZXNwYWNlLCIiKSxQPUEuaW5kZXhPZigiIyIpLFA+LTEmJihTLmZyYWdtZW50PUEuc3Vic3RyaW5nKFArMSl8fG51bGwsQT1BLnN1YnN0cmluZygwLFApKSxQPUEuaW5kZXhPZigiPyIpLFA+LTEmJihTLnF1ZXJ5PUEuc3Vic3RyaW5nKFArMSl8fG51bGwsQT1BLnN1YnN0cmluZygwLFApKSxBPUEucmVwbGFjZSgvXihodHRwcz98ZnRwfHdzcz8pPzorWy9cXF0qL2ksIiQxOi8vIiksQT1BLnJlcGxhY2UoL15bL1xcXXsyLH0vaSwiLy8iKSxBLnN1YnN0cmluZygwLDIpPT09Ii8vIj8oUy5wcm90b2NvbD1udWxsLEE9QS5zdWJzdHJpbmcoMiksQT1pLnBhcnNlQXV0aG9yaXR5KEEsUykpOihQPUEuaW5kZXhPZigiOiIpLFA+LTEmJihTLnByb3RvY29sPUEuc3Vic3RyaW5nKDAsUCl8fG51bGwsUy5wcm90b2NvbCYmIVMucHJvdG9jb2wubWF0Y2goaS5wcm90b2NvbF9leHByZXNzaW9uKT9TLnByb3RvY29sPXZvaWQgMDpBLnN1YnN0cmluZyhQKzEsUCszKS5yZXBsYWNlKC9cXC9nLCIvIik9PT0iLy8iPyhBPUEuc3Vic3RyaW5nKFArMyksQT1pLnBhcnNlQXV0aG9yaXR5KEEsUykpOihBPUEuc3Vic3RyaW5nKFArMSksUy51cm49ITApKSksUy5wYXRoPUEsU30saS5wYXJzZUhvc3Q9ZnVuY3Rpb24oQSxTKXtBfHwoQT0iIiksQT1BLnJlcGxhY2UoL1xcL2csIi8iKTt2YXIgUD1BLmluZGV4T2YoIi8iKSxCLGo7aWYoUD09PS0xJiYoUD1BLmxlbmd0aCksQS5jaGFyQXQoMCk9PT0iWyIpQj1BLmluZGV4T2YoIl0iKSxTLmhvc3RuYW1lPUEuc3Vic3RyaW5nKDEsQil8fG51bGwsUy5wb3J0PUEuc3Vic3RyaW5nKEIrMixQKXx8bnVsbCxTLnBvcnQ9PT0iLyImJihTLnBvcnQ9bnVsbCk7ZWxzZXt2YXIgSD1BLmluZGV4T2YoIjoiKSxrPUEuaW5kZXhPZigiLyIpLEs9QS5pbmRleE9mKCI6IixIKzEpO0shPT0tMSYmKGs9PT0tMXx8SzxrKT8oUy5ob3N0bmFtZT1BLnN1YnN0cmluZygwLFApfHxudWxsLFMucG9ydD1udWxsKTooaj1BLnN1YnN0cmluZygwLFApLnNwbGl0KCI6IiksUy5ob3N0bmFtZT1qWzBdfHxudWxsLFMucG9ydD1qWzFdfHxudWxsKX1yZXR1cm4gUy5ob3N0bmFtZSYmQS5zdWJzdHJpbmcoUCkuY2hhckF0KDApIT09Ii8iJiYoUCsrLEE9Ii8iK0EpLFMucHJldmVudEludmFsaWRIb3N0bmFtZSYmaS5lbnN1cmVWYWxpZEhvc3RuYW1lKFMuaG9zdG5hbWUsUy5wcm90b2NvbCksUy5wb3J0JiZpLmVuc3VyZVZhbGlkUG9ydChTLnBvcnQpLEEuc3Vic3RyaW5nKFApfHwiLyJ9LGkucGFyc2VBdXRob3JpdHk9ZnVuY3Rpb24oQSxTKXtyZXR1cm4gQT1pLnBhcnNlVXNlcmluZm8oQSxTKSxpLnBhcnNlSG9zdChBLFMpfSxpLnBhcnNlVXNlcmluZm89ZnVuY3Rpb24oQSxTKXt2YXIgUD1BLEI9QS5pbmRleE9mKCJcXCIpO0IhPT0tMSYmKEE9QS5yZXBsYWNlKC9cXC9nLCIvIikpO3ZhciBqPUEuaW5kZXhPZigiLyIpLEg9QS5sYXN0SW5kZXhPZigiQCIsaj4tMT9qOkEubGVuZ3RoLTEpLGs7cmV0dXJuIEg+LTEmJihqPT09LTF8fEg8aik/KGs9QS5zdWJzdHJpbmcoMCxIKS5zcGxpdCgiOiIpLFMudXNlcm5hbWU9a1swXT9pLmRlY29kZShrWzBdKTpudWxsLGsuc2hpZnQoKSxTLnBhc3N3b3JkPWtbMF0/aS5kZWNvZGUoay5qb2luKCI6IikpOm51bGwsQT1QLnN1YnN0cmluZyhIKzEpKTooUy51c2VybmFtZT1udWxsLFMucGFzc3dvcmQ9bnVsbCksQX0saS5wYXJzZVF1ZXJ5PWZ1bmN0aW9uKEEsUyl7aWYoIUEpcmV0dXJue307aWYoQT1BLnJlcGxhY2UoLyYrL2csIiYiKS5yZXBsYWNlKC9eXD8qJip8JiskL2csIiIpLCFBKXJldHVybnt9O2Zvcih2YXIgUD17fSxCPUEuc3BsaXQoIiYiKSxqPUIubGVuZ3RoLEgsayxLLFg9MDtYPGo7WCsrKUg9QltYXS5zcGxpdCgiPSIpLGs9aS5kZWNvZGVRdWVyeShILnNoaWZ0KCksUyksSz1ILmxlbmd0aD9pLmRlY29kZVF1ZXJ5KEguam9pbigiPSIpLFMpOm51bGwsayE9PSJfX3Byb3RvX18iJiYodS5jYWxsKFAsayk/KCh0eXBlb2YgUFtrXT09InN0cmluZyJ8fFBba109PT1udWxsKSYmKFBba109W1Bba11dKSxQW2tdLnB1c2goSykpOlBba109Syk7cmV0dXJuIFB9LGkuYnVpbGQ9ZnVuY3Rpb24oQSl7dmFyIFM9IiIsUD0hMTtyZXR1cm4gQS5wcm90b2NvbCYmKFMrPUEucHJvdG9jb2wrIjoiKSwhQS51cm4mJihTfHxBLmhvc3RuYW1lKSYmKFMrPSIvLyIsUD0hMCksUys9aS5idWlsZEF1dGhvcml0eShBKXx8IiIsdHlwZW9mIEEucGF0aD09InN0cmluZyImJihBLnBhdGguY2hhckF0KDApIT09Ii8iJiZQJiYoUys9Ii8iKSxTKz1BLnBhdGgpLHR5cGVvZiBBLnF1ZXJ5PT0ic3RyaW5nIiYmQS5xdWVyeSYmKFMrPSI/IitBLnF1ZXJ5KSx0eXBlb2YgQS5mcmFnbWVudD09InN0cmluZyImJkEuZnJhZ21lbnQmJihTKz0iIyIrQS5mcmFnbWVudCksU30saS5idWlsZEhvc3Q9ZnVuY3Rpb24oQSl7dmFyIFM9IiI7aWYoQS5ob3N0bmFtZSlpLmlwNl9leHByZXNzaW9uLnRlc3QoQS5ob3N0bmFtZSk/Uys9IlsiK0EuaG9zdG5hbWUrIl0iOlMrPUEuaG9zdG5hbWU7ZWxzZSByZXR1cm4iIjtyZXR1cm4gQS5wb3J0JiYoUys9IjoiK0EucG9ydCksU30saS5idWlsZEF1dGhvcml0eT1mdW5jdGlvbihBKXtyZXR1cm4gaS5idWlsZFVzZXJpbmZvKEEpK2kuYnVpbGRIb3N0KEEpfSxpLmJ1aWxkVXNlcmluZm89ZnVuY3Rpb24oQSl7dmFyIFM9IiI7cmV0dXJuIEEudXNlcm5hbWUmJihTKz1pLmVuY29kZShBLnVzZXJuYW1lKSksQS5wYXNzd29yZCYmKFMrPSI6IitpLmVuY29kZShBLnBhc3N3b3JkKSksUyYmKFMrPSJAIiksU30saS5idWlsZFF1ZXJ5PWZ1bmN0aW9uKEEsUyxQKXt2YXIgQj0iIixqLEgsayxLO2ZvcihIIGluIEEpaWYoSCE9PSJfX3Byb3RvX18iJiZ1LmNhbGwoQSxIKSlpZihwKEFbSF0pKWZvcihqPXt9LGs9MCxLPUFbSF0ubGVuZ3RoO2s8SztrKyspQVtIXVtrXSE9PXZvaWQgMCYmaltBW0hdW2tdKyIiXT09PXZvaWQgMCYmKEIrPSImIitpLmJ1aWxkUXVlcnlQYXJhbWV0ZXIoSCxBW0hdW2tdLFApLFMhPT0hMCYmKGpbQVtIXVtrXSsiIl09ITApKTtlbHNlIEFbSF0hPT12b2lkIDAmJihCKz0iJiIraS5idWlsZFF1ZXJ5UGFyYW1ldGVyKEgsQVtIXSxQKSk7cmV0dXJuIEIuc3Vic3RyaW5nKDEpfSxpLmJ1aWxkUXVlcnlQYXJhbWV0ZXI9ZnVuY3Rpb24oQSxTLFApe3JldHVybiBpLmVuY29kZVF1ZXJ5KEEsUCkrKFMhPT1udWxsPyI9IitpLmVuY29kZVF1ZXJ5KFMsUCk6IiIpfSxpLmFkZFF1ZXJ5PWZ1bmN0aW9uKEEsUyxQKXtpZih0eXBlb2YgUz09Im9iamVjdCIpZm9yKHZhciBCIGluIFMpdS5jYWxsKFMsQikmJmkuYWRkUXVlcnkoQSxCLFNbQl0pO2Vsc2UgaWYodHlwZW9mIFM9PSJzdHJpbmciKXtpZihBW1NdPT09dm9pZCAwKXtBW1NdPVA7cmV0dXJufWVsc2UgdHlwZW9mIEFbU109PSJzdHJpbmciJiYoQVtTXT1bQVtTXV0pO3AoUCl8fChQPVtQXSksQVtTXT0oQVtTXXx8W10pLmNvbmNhdChQKX1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5hZGRRdWVyeSgpIGFjY2VwdHMgYW4gb2JqZWN0LCBzdHJpbmcgYXMgdGhlIG5hbWUgcGFyYW1ldGVyIil9LGkuc2V0UXVlcnk9ZnVuY3Rpb24oQSxTLFApe2lmKHR5cGVvZiBTPT0ib2JqZWN0Iilmb3IodmFyIEIgaW4gUyl1LmNhbGwoUyxCKSYmaS5zZXRRdWVyeShBLEIsU1tCXSk7ZWxzZSBpZih0eXBlb2YgUz09InN0cmluZyIpQVtTXT1QPT09dm9pZCAwP251bGw6UDtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5zZXRRdWVyeSgpIGFjY2VwdHMgYW4gb2JqZWN0LCBzdHJpbmcgYXMgdGhlIG5hbWUgcGFyYW1ldGVyIil9LGkucmVtb3ZlUXVlcnk9ZnVuY3Rpb24oQSxTLFApe3ZhciBCLGosSDtpZihwKFMpKWZvcihCPTAsaj1TLmxlbmd0aDtCPGo7QisrKUFbU1tCXV09dm9pZCAwO2Vsc2UgaWYobChTKT09PSJSZWdFeHAiKWZvcihIIGluIEEpUy50ZXN0KEgpJiYoQVtIXT12b2lkIDApO2Vsc2UgaWYodHlwZW9mIFM9PSJvYmplY3QiKWZvcihIIGluIFMpdS5jYWxsKFMsSCkmJmkucmVtb3ZlUXVlcnkoQSxILFNbSF0pO2Vsc2UgaWYodHlwZW9mIFM9PSJzdHJpbmciKVAhPT12b2lkIDA/bChQKT09PSJSZWdFeHAiPyFwKEFbU10pJiZQLnRlc3QoQVtTXSk/QVtTXT12b2lkIDA6QVtTXT1kKEFbU10sUCk6QVtTXT09PVN0cmluZyhQKSYmKCFwKFApfHxQLmxlbmd0aD09PTEpP0FbU109dm9pZCAwOnAoQVtTXSkmJihBW1NdPWQoQVtTXSxQKSk6QVtTXT12b2lkIDA7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJVUkkucmVtb3ZlUXVlcnkoKSBhY2NlcHRzIGFuIG9iamVjdCwgc3RyaW5nLCBSZWdFeHAgYXMgdGhlIGZpcnN0IHBhcmFtZXRlciIpfSxpLmhhc1F1ZXJ5PWZ1bmN0aW9uKEEsUyxQLEIpe3N3aXRjaChsKFMpKXtjYXNlIlN0cmluZyI6YnJlYWs7Y2FzZSJSZWdFeHAiOmZvcih2YXIgaiBpbiBBKWlmKHUuY2FsbChBLGopJiZTLnRlc3QoaikmJihQPT09dm9pZCAwfHxpLmhhc1F1ZXJ5KEEsaixQKSkpcmV0dXJuITA7cmV0dXJuITE7Y2FzZSJPYmplY3QiOmZvcih2YXIgSCBpbiBTKWlmKHUuY2FsbChTLEgpJiYhaS5oYXNRdWVyeShBLEgsU1tIXSkpcmV0dXJuITE7cmV0dXJuITA7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVUkkuaGFzUXVlcnkoKSBhY2NlcHRzIGEgc3RyaW5nLCByZWd1bGFyIGV4cHJlc3Npb24gb3Igb2JqZWN0IGFzIHRoZSBuYW1lIHBhcmFtZXRlciIpfXN3aXRjaChsKFApKXtjYXNlIlVuZGVmaW5lZCI6cmV0dXJuIFMgaW4gQTtjYXNlIkJvb2xlYW4iOnZhciBrPSEhKHAoQVtTXSk/QVtTXS5sZW5ndGg6QVtTXSk7cmV0dXJuIFA9PT1rO2Nhc2UiRnVuY3Rpb24iOnJldHVybiEhUChBW1NdLFMsQSk7Y2FzZSJBcnJheSI6aWYoIXAoQVtTXSkpcmV0dXJuITE7dmFyIEs9Qj9tOl87cmV0dXJuIEsoQVtTXSxQKTtjYXNlIlJlZ0V4cCI6cmV0dXJuIHAoQVtTXSk/Qj9tKEFbU10sUCk6ITE6ISEoQVtTXSYmQVtTXS5tYXRjaChQKSk7Y2FzZSJOdW1iZXIiOlA9U3RyaW5nKFApO2Nhc2UiU3RyaW5nIjpyZXR1cm4gcChBW1NdKT9CP20oQVtTXSxQKTohMTpBW1NdPT09UDtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5oYXNRdWVyeSgpIGFjY2VwdHMgdW5kZWZpbmVkLCBib29sZWFuLCBzdHJpbmcsIG51bWJlciwgUmVnRXhwLCBGdW5jdGlvbiBhcyB0aGUgdmFsdWUgcGFyYW1ldGVyIil9fSxpLmpvaW5QYXRocz1mdW5jdGlvbigpe2Zvcih2YXIgQT1bXSxTPVtdLFA9MCxCPTA7Qjxhcmd1bWVudHMubGVuZ3RoO0IrKyl7dmFyIGo9bmV3IGkoYXJndW1lbnRzW0JdKTtBLnB1c2goaik7Zm9yKHZhciBIPWouc2VnbWVudCgpLGs9MDtrPEgubGVuZ3RoO2srKyl0eXBlb2YgSFtrXT09InN0cmluZyImJlMucHVzaChIW2tdKSxIW2tdJiZQKyt9aWYoIVMubGVuZ3RofHwhUClyZXR1cm4gbmV3IGkoIiIpO3ZhciBLPW5ldyBpKCIiKS5zZWdtZW50KFMpO3JldHVybihBWzBdLnBhdGgoKT09PSIifHxBWzBdLnBhdGgoKS5zbGljZSgwLDEpPT09Ii8iKSYmSy5wYXRoKCIvIitLLnBhdGgoKSksSy5ub3JtYWxpemUoKX0saS5jb21tb25QYXRoPWZ1bmN0aW9uKEEsUyl7dmFyIFA9TWF0aC5taW4oQS5sZW5ndGgsUy5sZW5ndGgpLEI7Zm9yKEI9MDtCPFA7QisrKWlmKEEuY2hhckF0KEIpIT09Uy5jaGFyQXQoQikpe0ItLTticmVha31yZXR1cm4gQjwxP0EuY2hhckF0KDApPT09Uy5jaGFyQXQoMCkmJkEuY2hhckF0KDApPT09Ii8iPyIvIjoiIjooKEEuY2hhckF0KEIpIT09Ii8ifHxTLmNoYXJBdChCKSE9PSIvIikmJihCPUEuc3Vic3RyaW5nKDAsQikubGFzdEluZGV4T2YoIi8iKSksQS5zdWJzdHJpbmcoMCxCKzEpKX0saS53aXRoaW5TdHJpbmc9ZnVuY3Rpb24oQSxTLFApe1B8fChQPXt9KTt2YXIgQj1QLnN0YXJ0fHxpLmZpbmRVcmkuc3RhcnQsaj1QLmVuZHx8aS5maW5kVXJpLmVuZCxIPVAudHJpbXx8aS5maW5kVXJpLnRyaW0saz1QLnBhcmVuc3x8aS5maW5kVXJpLnBhcmVucyxLPS9bYS16MC05LV09WyInXT8kL2k7Zm9yKEIubGFzdEluZGV4PTA7Oyl7dmFyIFg9Qi5leGVjKEEpO2lmKCFYKWJyZWFrO3ZhciBSPVguaW5kZXg7aWYoUC5pZ25vcmVIdG1sKXt2YXIgb3Q9QS5zbGljZShNYXRoLm1heChSLTMsMCksUik7aWYob3QmJksudGVzdChvdCkpY29udGludWV9Zm9yKHZhciBhdD1SK0Euc2xpY2UoUikuc2VhcmNoKGopLHB0PUEuc2xpY2UoUixhdCkseXQ9LTE7Oyl7dmFyIHJ0PWsuZXhlYyhwdCk7aWYoIXJ0KWJyZWFrO3ZhciBQdD1ydC5pbmRleCtydFswXS5sZW5ndGg7eXQ9TWF0aC5tYXgoeXQsUHQpfWlmKHl0Pi0xP3B0PXB0LnNsaWNlKDAseXQpK3B0LnNsaWNlKHl0KS5yZXBsYWNlKEgsIiIpOnB0PXB0LnJlcGxhY2UoSCwiIiksIShwdC5sZW5ndGg8PVhbMF0ubGVuZ3RoKSYmIShQLmlnbm9yZSYmUC5pZ25vcmUudGVzdChwdCkpKXthdD1SK3B0Lmxlbmd0aDt2YXIgZ3Q9UyhwdCxSLGF0LEEpO2lmKGd0PT09dm9pZCAwKXtCLmxhc3RJbmRleD1hdDtjb250aW51ZX1ndD1TdHJpbmcoZ3QpLEE9QS5zbGljZSgwLFIpK2d0K0Euc2xpY2UoYXQpLEIubGFzdEluZGV4PVIrZ3QubGVuZ3RofX1yZXR1cm4gQi5sYXN0SW5kZXg9MCxBfSxpLmVuc3VyZVZhbGlkSG9zdG5hbWU9ZnVuY3Rpb24oQSxTKXt2YXIgUD0hIUEsQj0hIVMsaj0hMTtpZihCJiYoaj1tKGkuaG9zdFByb3RvY29scyxTKSksaiYmIVApdGhyb3cgbmV3IFR5cGVFcnJvcigiSG9zdG5hbWUgY2Fubm90IGJlIGVtcHR5LCBpZiBwcm90b2NvbCBpcyAiK1MpO2lmKEEmJkEubWF0Y2goaS5pbnZhbGlkX2hvc3RuYW1lX2NoYXJhY3RlcnMpKXtpZighdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdIb3N0bmFtZSAiJytBKyciIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiBbQS1aMC05Li06X10gYW5kIFB1bnljb2RlLmpzIGlzIG5vdCBhdmFpbGFibGUnKTtpZih0LnRvQVNDSUkoQSkubWF0Y2goaS5pbnZhbGlkX2hvc3RuYW1lX2NoYXJhY3RlcnMpKXRocm93IG5ldyBUeXBlRXJyb3IoJ0hvc3RuYW1lICInK0ErJyIgY29udGFpbnMgY2hhcmFjdGVycyBvdGhlciB0aGFuIFtBLVowLTkuLTpfXScpfX0saS5lbnN1cmVWYWxpZFBvcnQ9ZnVuY3Rpb24oQSl7aWYoQSl7dmFyIFM9TnVtYmVyKEEpO2lmKCEocyhTKSYmUz4wJiZTPDY1NTM2KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdQb3J0ICInK0ErJyIgaXMgbm90IGEgdmFsaWQgcG9ydCcpfX0saS5ub0NvbmZsaWN0PWZ1bmN0aW9uKEEpe2lmKEEpe3ZhciBTPXtVUkk6dGhpcy5ub0NvbmZsaWN0KCl9O3JldHVybiBvLlVSSVRlbXBsYXRlJiZ0eXBlb2Ygby5VUklUZW1wbGF0ZS5ub0NvbmZsaWN0PT0iZnVuY3Rpb24iJiYoUy5VUklUZW1wbGF0ZT1vLlVSSVRlbXBsYXRlLm5vQ29uZmxpY3QoKSksby5JUHY2JiZ0eXBlb2Ygby5JUHY2Lm5vQ29uZmxpY3Q9PSJmdW5jdGlvbiImJihTLklQdjY9by5JUHY2Lm5vQ29uZmxpY3QoKSksby5TZWNvbmRMZXZlbERvbWFpbnMmJnR5cGVvZiBvLlNlY29uZExldmVsRG9tYWlucy5ub0NvbmZsaWN0PT0iZnVuY3Rpb24iJiYoUy5TZWNvbmRMZXZlbERvbWFpbnM9by5TZWNvbmRMZXZlbERvbWFpbnMubm9Db25mbGljdCgpKSxTfWVsc2Ugby5VUkk9PT10aGlzJiYoby5VUkk9cik7cmV0dXJuIHRoaXN9LGYuYnVpbGQ9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT0hMD90aGlzLl9kZWZlcnJlZF9idWlsZD0hMDooQT09PXZvaWQgMHx8dGhpcy5fZGVmZXJyZWRfYnVpbGQpJiYodGhpcy5fc3RyaW5nPWkuYnVpbGQodGhpcy5fcGFydHMpLHRoaXMuX2RlZmVycmVkX2J1aWxkPSExKSx0aGlzfSxmLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBpKHRoaXMpfSxmLnZhbHVlT2Y9Zi50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1aWxkKCExKS5fc3RyaW5nfTtmdW5jdGlvbiBOKEEpe3JldHVybiBmdW5jdGlvbihTLFApe3JldHVybiBTPT09dm9pZCAwP3RoaXMuX3BhcnRzW0FdfHwiIjoodGhpcy5fcGFydHNbQV09U3x8bnVsbCx0aGlzLmJ1aWxkKCFQKSx0aGlzKX19ZnVuY3Rpb24gSShBLFMpe3JldHVybiBmdW5jdGlvbihQLEIpe3JldHVybiBQPT09dm9pZCAwP3RoaXMuX3BhcnRzW0FdfHwiIjooUCE9PW51bGwmJihQPVArIiIsUC5jaGFyQXQoMCk9PT1TJiYoUD1QLnN1YnN0cmluZygxKSkpLHRoaXMuX3BhcnRzW0FdPVAsdGhpcy5idWlsZCghQiksdGhpcyl9fWYucHJvdG9jb2w9TigicHJvdG9jb2wiKSxmLnVzZXJuYW1lPU4oInVzZXJuYW1lIiksZi5wYXNzd29yZD1OKCJwYXNzd29yZCIpLGYuaG9zdG5hbWU9TigiaG9zdG5hbWUiKSxmLnBvcnQ9TigicG9ydCIpLGYucXVlcnk9SSgicXVlcnkiLCI/IiksZi5mcmFnbWVudD1JKCJmcmFnbWVudCIsIiMiKSxmLnNlYXJjaD1mdW5jdGlvbihBLFMpe3ZhciBQPXRoaXMucXVlcnkoQSxTKTtyZXR1cm4gdHlwZW9mIFA9PSJzdHJpbmciJiZQLmxlbmd0aD8iPyIrUDpQfSxmLmhhc2g9ZnVuY3Rpb24oQSxTKXt2YXIgUD10aGlzLmZyYWdtZW50KEEsUyk7cmV0dXJuIHR5cGVvZiBQPT0ic3RyaW5nIiYmUC5sZW5ndGg/IiMiK1A6UH0sZi5wYXRobmFtZT1mdW5jdGlvbihBLFMpe2lmKEE9PT12b2lkIDB8fEE9PT0hMCl7dmFyIFA9dGhpcy5fcGFydHMucGF0aHx8KHRoaXMuX3BhcnRzLmhvc3RuYW1lPyIvIjoiIik7cmV0dXJuIEE/KHRoaXMuX3BhcnRzLnVybj9pLmRlY29kZVVyblBhdGg6aS5kZWNvZGVQYXRoKShQKTpQfWVsc2UgcmV0dXJuIHRoaXMuX3BhcnRzLnVybj90aGlzLl9wYXJ0cy5wYXRoPUE/aS5yZWNvZGVVcm5QYXRoKEEpOiIiOnRoaXMuX3BhcnRzLnBhdGg9QT9pLnJlY29kZVBhdGgoQSk6Ii8iLHRoaXMuYnVpbGQoIVMpLHRoaXN9LGYucGF0aD1mLnBhdGhuYW1lLGYuaHJlZj1mdW5jdGlvbihBLFMpe3ZhciBQO2lmKEE9PT12b2lkIDApcmV0dXJuIHRoaXMudG9TdHJpbmcoKTt0aGlzLl9zdHJpbmc9IiIsdGhpcy5fcGFydHM9aS5fcGFydHMoKTt2YXIgQj1BIGluc3RhbmNlb2YgaSxqPXR5cGVvZiBBPT0ib2JqZWN0IiYmKEEuaG9zdG5hbWV8fEEucGF0aHx8QS5wYXRobmFtZSk7aWYoQS5ub2RlTmFtZSl7dmFyIEg9aS5nZXREb21BdHRyaWJ1dGUoQSk7QT1BW0hdfHwiIixqPSExfWlmKCFCJiZqJiZBLnBhdGhuYW1lIT09dm9pZCAwJiYoQT1BLnRvU3RyaW5nKCkpLHR5cGVvZiBBPT0ic3RyaW5nInx8QSBpbnN0YW5jZW9mIFN0cmluZyl0aGlzLl9wYXJ0cz1pLnBhcnNlKFN0cmluZyhBKSx0aGlzLl9wYXJ0cyk7ZWxzZSBpZihCfHxqKXt2YXIgaz1CP0EuX3BhcnRzOkE7Zm9yKFAgaW4gaylQIT09InF1ZXJ5IiYmdS5jYWxsKHRoaXMuX3BhcnRzLFApJiYodGhpcy5fcGFydHNbUF09a1tQXSk7ay5xdWVyeSYmdGhpcy5xdWVyeShrLnF1ZXJ5LCExKX1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgaW5wdXQiKTtyZXR1cm4gdGhpcy5idWlsZCghUyksdGhpc30sZi5pcz1mdW5jdGlvbihBKXt2YXIgUz0hMSxQPSExLEI9ITEsaj0hMSxIPSExLGs9ITEsSz0hMSxYPSF0aGlzLl9wYXJ0cy51cm47c3dpdGNoKHRoaXMuX3BhcnRzLmhvc3RuYW1lJiYoWD0hMSxQPWkuaXA0X2V4cHJlc3Npb24udGVzdCh0aGlzLl9wYXJ0cy5ob3N0bmFtZSksQj1pLmlwNl9leHByZXNzaW9uLnRlc3QodGhpcy5fcGFydHMuaG9zdG5hbWUpLFM9UHx8QixqPSFTLEg9aiYmbiYmbi5oYXModGhpcy5fcGFydHMuaG9zdG5hbWUpLGs9aiYmaS5pZG5fZXhwcmVzc2lvbi50ZXN0KHRoaXMuX3BhcnRzLmhvc3RuYW1lKSxLPWomJmkucHVueWNvZGVfZXhwcmVzc2lvbi50ZXN0KHRoaXMuX3BhcnRzLmhvc3RuYW1lKSksQS50b0xvd2VyQ2FzZSgpKXtjYXNlInJlbGF0aXZlIjpyZXR1cm4gWDtjYXNlImFic29sdXRlIjpyZXR1cm4hWDtjYXNlImRvbWFpbiI6Y2FzZSJuYW1lIjpyZXR1cm4gajtjYXNlInNsZCI6cmV0dXJuIEg7Y2FzZSJpcCI6cmV0dXJuIFM7Y2FzZSJpcDQiOmNhc2UiaXB2NCI6Y2FzZSJpbmV0NCI6cmV0dXJuIFA7Y2FzZSJpcDYiOmNhc2UiaXB2NiI6Y2FzZSJpbmV0NiI6cmV0dXJuIEI7Y2FzZSJpZG4iOnJldHVybiBrO2Nhc2UidXJsIjpyZXR1cm4hdGhpcy5fcGFydHMudXJuO2Nhc2UidXJuIjpyZXR1cm4hIXRoaXMuX3BhcnRzLnVybjtjYXNlInB1bnljb2RlIjpyZXR1cm4gS31yZXR1cm4gbnVsbH07dmFyIEQ9Zi5wcm90b2NvbCx2PWYucG9ydCxMPWYuaG9zdG5hbWU7Zi5wcm90b2NvbD1mdW5jdGlvbihBLFMpe2lmKEEmJihBPUEucmVwbGFjZSgvOihcL1wvKT8kLywiIiksIUEubWF0Y2goaS5wcm90b2NvbF9leHByZXNzaW9uKSkpdGhyb3cgbmV3IFR5cGVFcnJvcignUHJvdG9jb2wgIicrQStgIiBjb250YWlucyBjaGFyYWN0ZXJzIG90aGVyIHRoYW4gW0EtWjAtOS4rLV0gb3IgZG9lc24ndCBzdGFydCB3aXRoIFtBLVpdYCk7cmV0dXJuIEQuY2FsbCh0aGlzLEEsUyl9LGYuc2NoZW1lPWYucHJvdG9jb2wsZi5wb3J0PWZ1bmN0aW9uKEEsUyl7cmV0dXJuIHRoaXMuX3BhcnRzLnVybj9BPT09dm9pZCAwPyIiOnRoaXM6KEEhPT12b2lkIDAmJihBPT09MCYmKEE9bnVsbCksQSYmKEErPSIiLEEuY2hhckF0KDApPT09IjoiJiYoQT1BLnN1YnN0cmluZygxKSksaS5lbnN1cmVWYWxpZFBvcnQoQSkpKSx2LmNhbGwodGhpcyxBLFMpKX0sZi5ob3N0bmFtZT1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEEhPT12b2lkIDApe3ZhciBQPXtwcmV2ZW50SW52YWxpZEhvc3RuYW1lOnRoaXMuX3BhcnRzLnByZXZlbnRJbnZhbGlkSG9zdG5hbWV9LEI9aS5wYXJzZUhvc3QoQSxQKTtpZihCIT09Ii8iKXRocm93IG5ldyBUeXBlRXJyb3IoJ0hvc3RuYW1lICInK0ErJyIgY29udGFpbnMgY2hhcmFjdGVycyBvdGhlciB0aGFuIFtBLVowLTkuLV0nKTtBPVAuaG9zdG5hbWUsdGhpcy5fcGFydHMucHJldmVudEludmFsaWRIb3N0bmFtZSYmaS5lbnN1cmVWYWxpZEhvc3RuYW1lKEEsdGhpcy5fcGFydHMucHJvdG9jb2wpfXJldHVybiBMLmNhbGwodGhpcyxBLFMpfSxmLm9yaWdpbj1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDApe3ZhciBQPXRoaXMucHJvdG9jb2woKSxCPXRoaXMuYXV0aG9yaXR5KCk7cmV0dXJuIEI/KFA/UCsiOi8vIjoiIikrdGhpcy5hdXRob3JpdHkoKToiIn1lbHNle3ZhciBqPWkoQSk7cmV0dXJuIHRoaXMucHJvdG9jb2woai5wcm90b2NvbCgpKS5hdXRob3JpdHkoai5hdXRob3JpdHkoKSkuYnVpbGQoIVMpLHRoaXN9fSxmLmhvc3Q9ZnVuY3Rpb24oQSxTKXtpZih0aGlzLl9wYXJ0cy51cm4pcmV0dXJuIEE9PT12b2lkIDA/IiI6dGhpcztpZihBPT09dm9pZCAwKXJldHVybiB0aGlzLl9wYXJ0cy5ob3N0bmFtZT9pLmJ1aWxkSG9zdCh0aGlzLl9wYXJ0cyk6IiI7dmFyIFA9aS5wYXJzZUhvc3QoQSx0aGlzLl9wYXJ0cyk7aWYoUCE9PSIvIil0aHJvdyBuZXcgVHlwZUVycm9yKCdIb3N0bmFtZSAiJytBKyciIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiBbQS1aMC05Li1dJyk7cmV0dXJuIHRoaXMuYnVpbGQoIVMpLHRoaXN9LGYuYXV0aG9yaXR5PWZ1bmN0aW9uKEEsUyl7aWYodGhpcy5fcGFydHMudXJuKXJldHVybiBBPT09dm9pZCAwPyIiOnRoaXM7aWYoQT09PXZvaWQgMClyZXR1cm4gdGhpcy5fcGFydHMuaG9zdG5hbWU/aS5idWlsZEF1dGhvcml0eSh0aGlzLl9wYXJ0cyk6IiI7dmFyIFA9aS5wYXJzZUF1dGhvcml0eShBLHRoaXMuX3BhcnRzKTtpZihQIT09Ii8iKXRocm93IG5ldyBUeXBlRXJyb3IoJ0hvc3RuYW1lICInK0ErJyIgY29udGFpbnMgY2hhcmFjdGVycyBvdGhlciB0aGFuIFtBLVowLTkuLV0nKTtyZXR1cm4gdGhpcy5idWlsZCghUyksdGhpc30sZi51c2VyaW5mbz1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDApe3ZhciBQPWkuYnVpbGRVc2VyaW5mbyh0aGlzLl9wYXJ0cyk7cmV0dXJuIFAmJlAuc3Vic3RyaW5nKDAsUC5sZW5ndGgtMSl9ZWxzZSByZXR1cm4gQVtBLmxlbmd0aC0xXSE9PSJAIiYmKEErPSJAIiksaS5wYXJzZVVzZXJpbmZvKEEsdGhpcy5fcGFydHMpLHRoaXMuYnVpbGQoIVMpLHRoaXN9LGYucmVzb3VyY2U9ZnVuY3Rpb24oQSxTKXt2YXIgUDtyZXR1cm4gQT09PXZvaWQgMD90aGlzLnBhdGgoKSt0aGlzLnNlYXJjaCgpK3RoaXMuaGFzaCgpOihQPWkucGFyc2UoQSksdGhpcy5fcGFydHMucGF0aD1QLnBhdGgsdGhpcy5fcGFydHMucXVlcnk9UC5xdWVyeSx0aGlzLl9wYXJ0cy5mcmFnbWVudD1QLmZyYWdtZW50LHRoaXMuYnVpbGQoIVMpLHRoaXMpfSxmLnN1YmRvbWFpbj1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDApe2lmKCF0aGlzLl9wYXJ0cy5ob3N0bmFtZXx8dGhpcy5pcygiSVAiKSlyZXR1cm4iIjt2YXIgUD10aGlzLl9wYXJ0cy5ob3N0bmFtZS5sZW5ndGgtdGhpcy5kb21haW4oKS5sZW5ndGgtMTtyZXR1cm4gdGhpcy5fcGFydHMuaG9zdG5hbWUuc3Vic3RyaW5nKDAsUCl8fCIifWVsc2V7dmFyIEI9dGhpcy5fcGFydHMuaG9zdG5hbWUubGVuZ3RoLXRoaXMuZG9tYWluKCkubGVuZ3RoLGo9dGhpcy5fcGFydHMuaG9zdG5hbWUuc3Vic3RyaW5nKDAsQiksSD1uZXcgUmVnRXhwKCJeIitjKGopKTtpZihBJiZBLmNoYXJBdChBLmxlbmd0aC0xKSE9PSIuIiYmKEErPSIuIiksQS5pbmRleE9mKCI6IikhPT0tMSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEb21haW5zIGNhbm5vdCBjb250YWluIGNvbG9ucyIpO3JldHVybiBBJiZpLmVuc3VyZVZhbGlkSG9zdG5hbWUoQSx0aGlzLl9wYXJ0cy5wcm90b2NvbCksdGhpcy5fcGFydHMuaG9zdG5hbWU9dGhpcy5fcGFydHMuaG9zdG5hbWUucmVwbGFjZShILEEpLHRoaXMuYnVpbGQoIVMpLHRoaXN9fSxmLmRvbWFpbj1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKHR5cGVvZiBBPT0iYm9vbGVhbiImJihTPUEsQT12b2lkIDApLEE9PT12b2lkIDApe2lmKCF0aGlzLl9wYXJ0cy5ob3N0bmFtZXx8dGhpcy5pcygiSVAiKSlyZXR1cm4iIjt2YXIgUD10aGlzLl9wYXJ0cy5ob3N0bmFtZS5tYXRjaCgvXC4vZyk7aWYoUCYmUC5sZW5ndGg8MilyZXR1cm4gdGhpcy5fcGFydHMuaG9zdG5hbWU7dmFyIEI9dGhpcy5fcGFydHMuaG9zdG5hbWUubGVuZ3RoLXRoaXMudGxkKFMpLmxlbmd0aC0xO3JldHVybiBCPXRoaXMuX3BhcnRzLmhvc3RuYW1lLmxhc3RJbmRleE9mKCIuIixCLTEpKzEsdGhpcy5fcGFydHMuaG9zdG5hbWUuc3Vic3RyaW5nKEIpfHwiIn1lbHNle2lmKCFBKXRocm93IG5ldyBUeXBlRXJyb3IoImNhbm5vdCBzZXQgZG9tYWluIGVtcHR5Iik7aWYoQS5pbmRleE9mKCI6IikhPT0tMSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEb21haW5zIGNhbm5vdCBjb250YWluIGNvbG9ucyIpO2lmKGkuZW5zdXJlVmFsaWRIb3N0bmFtZShBLHRoaXMuX3BhcnRzLnByb3RvY29sKSwhdGhpcy5fcGFydHMuaG9zdG5hbWV8fHRoaXMuaXMoIklQIikpdGhpcy5fcGFydHMuaG9zdG5hbWU9QTtlbHNle3ZhciBqPW5ldyBSZWdFeHAoYyh0aGlzLmRvbWFpbigpKSsiJCIpO3RoaXMuX3BhcnRzLmhvc3RuYW1lPXRoaXMuX3BhcnRzLmhvc3RuYW1lLnJlcGxhY2UoaixBKX1yZXR1cm4gdGhpcy5idWlsZCghUyksdGhpc319LGYudGxkPWZ1bmN0aW9uKEEsUyl7aWYodGhpcy5fcGFydHMudXJuKXJldHVybiBBPT09dm9pZCAwPyIiOnRoaXM7aWYodHlwZW9mIEE9PSJib29sZWFuIiYmKFM9QSxBPXZvaWQgMCksQT09PXZvaWQgMCl7aWYoIXRoaXMuX3BhcnRzLmhvc3RuYW1lfHx0aGlzLmlzKCJJUCIpKXJldHVybiIiO3ZhciBQPXRoaXMuX3BhcnRzLmhvc3RuYW1lLmxhc3RJbmRleE9mKCIuIiksQj10aGlzLl9wYXJ0cy5ob3N0bmFtZS5zdWJzdHJpbmcoUCsxKTtyZXR1cm4gUyE9PSEwJiZuJiZuLmxpc3RbQi50b0xvd2VyQ2FzZSgpXSYmbi5nZXQodGhpcy5fcGFydHMuaG9zdG5hbWUpfHxCfWVsc2V7dmFyIGo7aWYoQSlpZihBLm1hdGNoKC9bXmEtekEtWjAtOS1dLykpaWYobiYmbi5pcyhBKSlqPW5ldyBSZWdFeHAoYyh0aGlzLnRsZCgpKSsiJCIpLHRoaXMuX3BhcnRzLmhvc3RuYW1lPXRoaXMuX3BhcnRzLmhvc3RuYW1lLnJlcGxhY2UoaixBKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RMRCAiJytBKyciIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiBbQS1aMC05XScpO2Vsc2V7aWYoIXRoaXMuX3BhcnRzLmhvc3RuYW1lfHx0aGlzLmlzKCJJUCIpKXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigiY2Fubm90IHNldCBUTEQgb24gbm9uLWRvbWFpbiBob3N0Iik7aj1uZXcgUmVnRXhwKGModGhpcy50bGQoKSkrIiQiKSx0aGlzLl9wYXJ0cy5ob3N0bmFtZT10aGlzLl9wYXJ0cy5ob3N0bmFtZS5yZXBsYWNlKGosQSl9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJjYW5ub3Qgc2V0IFRMRCBlbXB0eSIpO3JldHVybiB0aGlzLmJ1aWxkKCFTKSx0aGlzfX0sZi5kaXJlY3Rvcnk9ZnVuY3Rpb24oQSxTKXtpZih0aGlzLl9wYXJ0cy51cm4pcmV0dXJuIEE9PT12b2lkIDA/IiI6dGhpcztpZihBPT09dm9pZCAwfHxBPT09ITApe2lmKCF0aGlzLl9wYXJ0cy5wYXRoJiYhdGhpcy5fcGFydHMuaG9zdG5hbWUpcmV0dXJuIiI7aWYodGhpcy5fcGFydHMucGF0aD09PSIvIilyZXR1cm4iLyI7dmFyIFA9dGhpcy5fcGFydHMucGF0aC5sZW5ndGgtdGhpcy5maWxlbmFtZSgpLmxlbmd0aC0xLEI9dGhpcy5fcGFydHMucGF0aC5zdWJzdHJpbmcoMCxQKXx8KHRoaXMuX3BhcnRzLmhvc3RuYW1lPyIvIjoiIik7cmV0dXJuIEE/aS5kZWNvZGVQYXRoKEIpOkJ9ZWxzZXt2YXIgaj10aGlzLl9wYXJ0cy5wYXRoLmxlbmd0aC10aGlzLmZpbGVuYW1lKCkubGVuZ3RoLEg9dGhpcy5fcGFydHMucGF0aC5zdWJzdHJpbmcoMCxqKSxrPW5ldyBSZWdFeHAoIl4iK2MoSCkpO3JldHVybiB0aGlzLmlzKCJyZWxhdGl2ZSIpfHwoQXx8KEE9Ii8iKSxBLmNoYXJBdCgwKSE9PSIvIiYmKEE9Ii8iK0EpKSxBJiZBLmNoYXJBdChBLmxlbmd0aC0xKSE9PSIvIiYmKEErPSIvIiksQT1pLnJlY29kZVBhdGgoQSksdGhpcy5fcGFydHMucGF0aD10aGlzLl9wYXJ0cy5wYXRoLnJlcGxhY2UoayxBKSx0aGlzLmJ1aWxkKCFTKSx0aGlzfX0sZi5maWxlbmFtZT1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKHR5cGVvZiBBIT0ic3RyaW5nIil7aWYoIXRoaXMuX3BhcnRzLnBhdGh8fHRoaXMuX3BhcnRzLnBhdGg9PT0iLyIpcmV0dXJuIiI7dmFyIFA9dGhpcy5fcGFydHMucGF0aC5sYXN0SW5kZXhPZigiLyIpLEI9dGhpcy5fcGFydHMucGF0aC5zdWJzdHJpbmcoUCsxKTtyZXR1cm4gQT9pLmRlY29kZVBhdGhTZWdtZW50KEIpOkJ9ZWxzZXt2YXIgaj0hMTtBLmNoYXJBdCgwKT09PSIvIiYmKEE9QS5zdWJzdHJpbmcoMSkpLEEubWF0Y2goL1wuP1wvLykmJihqPSEwKTt2YXIgSD1uZXcgUmVnRXhwKGModGhpcy5maWxlbmFtZSgpKSsiJCIpO3JldHVybiBBPWkucmVjb2RlUGF0aChBKSx0aGlzLl9wYXJ0cy5wYXRoPXRoaXMuX3BhcnRzLnBhdGgucmVwbGFjZShILEEpLGo/dGhpcy5ub3JtYWxpemVQYXRoKFMpOnRoaXMuYnVpbGQoIVMpLHRoaXN9fSxmLnN1ZmZpeD1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDB8fEE9PT0hMCl7aWYoIXRoaXMuX3BhcnRzLnBhdGh8fHRoaXMuX3BhcnRzLnBhdGg9PT0iLyIpcmV0dXJuIiI7dmFyIFA9dGhpcy5maWxlbmFtZSgpLEI9UC5sYXN0SW5kZXhPZigiLiIpLGosSDtyZXR1cm4gQj09PS0xPyIiOihqPVAuc3Vic3RyaW5nKEIrMSksSD0vXlthLXowLTklXSskL2kudGVzdChqKT9qOiIiLEE/aS5kZWNvZGVQYXRoU2VnbWVudChIKTpIKX1lbHNle0EuY2hhckF0KDApPT09Ii4iJiYoQT1BLnN1YnN0cmluZygxKSk7dmFyIGs9dGhpcy5zdWZmaXgoKSxLO2lmKGspQT9LPW5ldyBSZWdFeHAoYyhrKSsiJCIpOks9bmV3IFJlZ0V4cChjKCIuIitrKSsiJCIpO2Vsc2V7aWYoIUEpcmV0dXJuIHRoaXM7dGhpcy5fcGFydHMucGF0aCs9Ii4iK2kucmVjb2RlUGF0aChBKX1yZXR1cm4gSyYmKEE9aS5yZWNvZGVQYXRoKEEpLHRoaXMuX3BhcnRzLnBhdGg9dGhpcy5fcGFydHMucGF0aC5yZXBsYWNlKEssQSkpLHRoaXMuYnVpbGQoIVMpLHRoaXN9fSxmLnNlZ21lbnQ9ZnVuY3Rpb24oQSxTLFApe3ZhciBCPXRoaXMuX3BhcnRzLnVybj8iOiI6Ii8iLGo9dGhpcy5wYXRoKCksSD1qLnN1YnN0cmluZygwLDEpPT09Ii8iLGs9ai5zcGxpdChCKTtpZihBIT09dm9pZCAwJiZ0eXBlb2YgQSE9Im51bWJlciImJihQPVMsUz1BLEE9dm9pZCAwKSxBIT09dm9pZCAwJiZ0eXBlb2YgQSE9Im51bWJlciIpdGhyb3cgbmV3IEVycm9yKCdCYWQgc2VnbWVudCAiJytBKyciLCBtdXN0IGJlIDAtYmFzZWQgaW50ZWdlcicpO2lmKEgmJmsuc2hpZnQoKSxBPDAmJihBPU1hdGgubWF4KGsubGVuZ3RoK0EsMCkpLFM9PT12b2lkIDApcmV0dXJuIEE9PT12b2lkIDA/azprW0FdO2lmKEE9PT1udWxsfHxrW0FdPT09dm9pZCAwKWlmKHAoUykpe2s9W107Zm9yKHZhciBLPTAsWD1TLmxlbmd0aDtLPFg7SysrKSFTW0tdLmxlbmd0aCYmKCFrLmxlbmd0aHx8IWtbay5sZW5ndGgtMV0ubGVuZ3RoKXx8KGsubGVuZ3RoJiYha1trLmxlbmd0aC0xXS5sZW5ndGgmJmsucG9wKCksay5wdXNoKGcoU1tLXSkpKX1lbHNlKFN8fHR5cGVvZiBTPT0ic3RyaW5nIikmJihTPWcoUyksa1trLmxlbmd0aC0xXT09PSIiP2tbay5sZW5ndGgtMV09UzprLnB1c2goUykpO2Vsc2UgUz9rW0FdPWcoUyk6ay5zcGxpY2UoQSwxKTtyZXR1cm4gSCYmay51bnNoaWZ0KCIiKSx0aGlzLnBhdGgoay5qb2luKEIpLFApfSxmLnNlZ21lbnRDb2RlZD1mdW5jdGlvbihBLFMsUCl7dmFyIEIsaixIO2lmKHR5cGVvZiBBIT0ibnVtYmVyIiYmKFA9UyxTPUEsQT12b2lkIDApLFM9PT12b2lkIDApe2lmKEI9dGhpcy5zZWdtZW50KEEsUyxQKSwhcChCKSlCPUIhPT12b2lkIDA/aS5kZWNvZGUoQik6dm9pZCAwO2Vsc2UgZm9yKGo9MCxIPUIubGVuZ3RoO2o8SDtqKyspQltqXT1pLmRlY29kZShCW2pdKTtyZXR1cm4gQn1pZighcChTKSlTPXR5cGVvZiBTPT0ic3RyaW5nInx8UyBpbnN0YW5jZW9mIFN0cmluZz9pLmVuY29kZShTKTpTO2Vsc2UgZm9yKGo9MCxIPVMubGVuZ3RoO2o8SDtqKyspU1tqXT1pLmVuY29kZShTW2pdKTtyZXR1cm4gdGhpcy5zZWdtZW50KEEsUyxQKX07dmFyIFU9Zi5xdWVyeTtyZXR1cm4gZi5xdWVyeT1mdW5jdGlvbihBLFMpe2lmKEE9PT0hMClyZXR1cm4gaS5wYXJzZVF1ZXJ5KHRoaXMuX3BhcnRzLnF1ZXJ5LHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpO2lmKHR5cGVvZiBBPT0iZnVuY3Rpb24iKXt2YXIgUD1pLnBhcnNlUXVlcnkodGhpcy5fcGFydHMucXVlcnksdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSksQj1BLmNhbGwodGhpcyxQKTtyZXR1cm4gdGhpcy5fcGFydHMucXVlcnk9aS5idWlsZFF1ZXJ5KEJ8fFAsdGhpcy5fcGFydHMuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLHRoaXMuYnVpbGQoIVMpLHRoaXN9ZWxzZSByZXR1cm4gQSE9PXZvaWQgMCYmdHlwZW9mIEEhPSJzdHJpbmciPyh0aGlzLl9wYXJ0cy5xdWVyeT1pLmJ1aWxkUXVlcnkoQSx0aGlzLl9wYXJ0cy5kdXBsaWNhdGVRdWVyeVBhcmFtZXRlcnMsdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSksdGhpcy5idWlsZCghUyksdGhpcyk6VS5jYWxsKHRoaXMsQSxTKX0sZi5zZXRRdWVyeT1mdW5jdGlvbihBLFMsUCl7dmFyIEI9aS5wYXJzZVF1ZXJ5KHRoaXMuX3BhcnRzLnF1ZXJ5LHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpO2lmKHR5cGVvZiBBPT0ic3RyaW5nInx8QSBpbnN0YW5jZW9mIFN0cmluZylCW0FdPVMhPT12b2lkIDA/UzpudWxsO2Vsc2UgaWYodHlwZW9mIEE9PSJvYmplY3QiKWZvcih2YXIgaiBpbiBBKXUuY2FsbChBLGopJiYoQltqXT1BW2pdKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5hZGRRdWVyeSgpIGFjY2VwdHMgYW4gb2JqZWN0LCBzdHJpbmcgYXMgdGhlIG5hbWUgcGFyYW1ldGVyIik7cmV0dXJuIHRoaXMuX3BhcnRzLnF1ZXJ5PWkuYnVpbGRRdWVyeShCLHRoaXMuX3BhcnRzLmR1cGxpY2F0ZVF1ZXJ5UGFyYW1ldGVycyx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKSx0eXBlb2YgQSE9InN0cmluZyImJihQPVMpLHRoaXMuYnVpbGQoIVApLHRoaXN9LGYuYWRkUXVlcnk9ZnVuY3Rpb24oQSxTLFApe3ZhciBCPWkucGFyc2VRdWVyeSh0aGlzLl9wYXJ0cy5xdWVyeSx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKTtyZXR1cm4gaS5hZGRRdWVyeShCLEEsUz09PXZvaWQgMD9udWxsOlMpLHRoaXMuX3BhcnRzLnF1ZXJ5PWkuYnVpbGRRdWVyeShCLHRoaXMuX3BhcnRzLmR1cGxpY2F0ZVF1ZXJ5UGFyYW1ldGVycyx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKSx0eXBlb2YgQSE9InN0cmluZyImJihQPVMpLHRoaXMuYnVpbGQoIVApLHRoaXN9LGYucmVtb3ZlUXVlcnk9ZnVuY3Rpb24oQSxTLFApe3ZhciBCPWkucGFyc2VRdWVyeSh0aGlzLl9wYXJ0cy5xdWVyeSx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKTtyZXR1cm4gaS5yZW1vdmVRdWVyeShCLEEsUyksdGhpcy5fcGFydHMucXVlcnk9aS5idWlsZFF1ZXJ5KEIsdGhpcy5fcGFydHMuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLHR5cGVvZiBBIT0ic3RyaW5nIiYmKFA9UyksdGhpcy5idWlsZCghUCksdGhpc30sZi5oYXNRdWVyeT1mdW5jdGlvbihBLFMsUCl7dmFyIEI9aS5wYXJzZVF1ZXJ5KHRoaXMuX3BhcnRzLnF1ZXJ5LHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpO3JldHVybiBpLmhhc1F1ZXJ5KEIsQSxTLFApfSxmLnNldFNlYXJjaD1mLnNldFF1ZXJ5LGYuYWRkU2VhcmNoPWYuYWRkUXVlcnksZi5yZW1vdmVTZWFyY2g9Zi5yZW1vdmVRdWVyeSxmLmhhc1NlYXJjaD1mLmhhc1F1ZXJ5LGYubm9ybWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BhcnRzLnVybj90aGlzLm5vcm1hbGl6ZVByb3RvY29sKCExKS5ub3JtYWxpemVQYXRoKCExKS5ub3JtYWxpemVRdWVyeSghMSkubm9ybWFsaXplRnJhZ21lbnQoITEpLmJ1aWxkKCk6dGhpcy5ub3JtYWxpemVQcm90b2NvbCghMSkubm9ybWFsaXplSG9zdG5hbWUoITEpLm5vcm1hbGl6ZVBvcnQoITEpLm5vcm1hbGl6ZVBhdGgoITEpLm5vcm1hbGl6ZVF1ZXJ5KCExKS5ub3JtYWxpemVGcmFnbWVudCghMSkuYnVpbGQoKX0sZi5ub3JtYWxpemVQcm90b2NvbD1mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIHRoaXMuX3BhcnRzLnByb3RvY29sPT0ic3RyaW5nIiYmKHRoaXMuX3BhcnRzLnByb3RvY29sPXRoaXMuX3BhcnRzLnByb3RvY29sLnRvTG93ZXJDYXNlKCksdGhpcy5idWlsZCghQSkpLHRoaXN9LGYubm9ybWFsaXplSG9zdG5hbWU9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX3BhcnRzLmhvc3RuYW1lJiYodGhpcy5pcygiSUROIikmJnQ/dGhpcy5fcGFydHMuaG9zdG5hbWU9dC50b0FTQ0lJKHRoaXMuX3BhcnRzLmhvc3RuYW1lKTp0aGlzLmlzKCJJUHY2IikmJmUmJih0aGlzLl9wYXJ0cy5ob3N0bmFtZT1lLmJlc3QodGhpcy5fcGFydHMuaG9zdG5hbWUpKSx0aGlzLl9wYXJ0cy5ob3N0bmFtZT10aGlzLl9wYXJ0cy5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpLHRoaXMuYnVpbGQoIUEpKSx0aGlzfSxmLm5vcm1hbGl6ZVBvcnQ9ZnVuY3Rpb24oQSl7cmV0dXJuIHR5cGVvZiB0aGlzLl9wYXJ0cy5wcm90b2NvbD09InN0cmluZyImJnRoaXMuX3BhcnRzLnBvcnQ9PT1pLmRlZmF1bHRQb3J0c1t0aGlzLl9wYXJ0cy5wcm90b2NvbF0mJih0aGlzLl9wYXJ0cy5wb3J0PW51bGwsdGhpcy5idWlsZCghQSkpLHRoaXN9LGYubm9ybWFsaXplUGF0aD1mdW5jdGlvbihBKXt2YXIgUz10aGlzLl9wYXJ0cy5wYXRoO2lmKCFTKXJldHVybiB0aGlzO2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gdGhpcy5fcGFydHMucGF0aD1pLnJlY29kZVVyblBhdGgodGhpcy5fcGFydHMucGF0aCksdGhpcy5idWlsZCghQSksdGhpcztpZih0aGlzLl9wYXJ0cy5wYXRoPT09Ii8iKXJldHVybiB0aGlzO1M9aS5yZWNvZGVQYXRoKFMpO3ZhciBQLEI9IiIsaixIO2ZvcihTLmNoYXJBdCgwKSE9PSIvIiYmKFA9ITAsUz0iLyIrUyksKFMuc2xpY2UoLTMpPT09Ii8uLiJ8fFMuc2xpY2UoLTIpPT09Ii8uIikmJihTKz0iLyIpLFM9Uy5yZXBsYWNlKC8oXC8oXC5cLykrKXwoXC9cLiQpL2csIi8iKS5yZXBsYWNlKC9cL3syLH0vZywiLyIpLFAmJihCPVMuc3Vic3RyaW5nKDEpLm1hdGNoKC9eKFwuXC5cLykrLyl8fCIiLEImJihCPUJbMF0pKTtqPVMuc2VhcmNoKC9cL1wuXC4oXC98JCkvKSxqIT09LTE7KXtpZihqPT09MCl7Uz1TLnN1YnN0cmluZygzKTtjb250aW51ZX1IPVMuc3Vic3RyaW5nKDAsaikubGFzdEluZGV4T2YoIi8iKSxIPT09LTEmJihIPWopLFM9Uy5zdWJzdHJpbmcoMCxIKStTLnN1YnN0cmluZyhqKzMpfXJldHVybiBQJiZ0aGlzLmlzKCJyZWxhdGl2ZSIpJiYoUz1CK1Muc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJ0cy5wYXRoPVMsdGhpcy5idWlsZCghQSksdGhpc30sZi5ub3JtYWxpemVQYXRobmFtZT1mLm5vcm1hbGl6ZVBhdGgsZi5ub3JtYWxpemVRdWVyeT1mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIHRoaXMuX3BhcnRzLnF1ZXJ5PT0ic3RyaW5nIiYmKHRoaXMuX3BhcnRzLnF1ZXJ5Lmxlbmd0aD90aGlzLnF1ZXJ5KGkucGFyc2VRdWVyeSh0aGlzLl9wYXJ0cy5xdWVyeSx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKSk6dGhpcy5fcGFydHMucXVlcnk9bnVsbCx0aGlzLmJ1aWxkKCFBKSksdGhpc30sZi5ub3JtYWxpemVGcmFnbWVudD1mdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fcGFydHMuZnJhZ21lbnR8fCh0aGlzLl9wYXJ0cy5mcmFnbWVudD1udWxsLHRoaXMuYnVpbGQoIUEpKSx0aGlzfSxmLm5vcm1hbGl6ZVNlYXJjaD1mLm5vcm1hbGl6ZVF1ZXJ5LGYubm9ybWFsaXplSGFzaD1mLm5vcm1hbGl6ZUZyYWdtZW50LGYuaXNvODg1OT1mdW5jdGlvbigpe3ZhciBBPWkuZW5jb2RlLFM9aS5kZWNvZGU7aS5lbmNvZGU9ZXNjYXBlLGkuZGVjb2RlPWRlY29kZVVSSUNvbXBvbmVudDt0cnl7dGhpcy5ub3JtYWxpemUoKX1maW5hbGx5e2kuZW5jb2RlPUEsaS5kZWNvZGU9U31yZXR1cm4gdGhpc30sZi51bmljb2RlPWZ1bmN0aW9uKCl7dmFyIEE9aS5lbmNvZGUsUz1pLmRlY29kZTtpLmVuY29kZT1ULGkuZGVjb2RlPXVuZXNjYXBlO3RyeXt0aGlzLm5vcm1hbGl6ZSgpfWZpbmFsbHl7aS5lbmNvZGU9QSxpLmRlY29kZT1TfXJldHVybiB0aGlzfSxmLnJlYWRhYmxlPWZ1bmN0aW9uKCl7dmFyIEE9dGhpcy5jbG9uZSgpO0EudXNlcm5hbWUoIiIpLnBhc3N3b3JkKCIiKS5ub3JtYWxpemUoKTt2YXIgUz0iIjtpZihBLl9wYXJ0cy5wcm90b2NvbCYmKFMrPUEuX3BhcnRzLnByb3RvY29sKyI6Ly8iKSxBLl9wYXJ0cy5ob3N0bmFtZSYmKEEuaXMoInB1bnljb2RlIikmJnQ/KFMrPXQudG9Vbmljb2RlKEEuX3BhcnRzLmhvc3RuYW1lKSxBLl9wYXJ0cy5wb3J0JiYoUys9IjoiK0EuX3BhcnRzLnBvcnQpKTpTKz1BLmhvc3QoKSksQS5fcGFydHMuaG9zdG5hbWUmJkEuX3BhcnRzLnBhdGgmJkEuX3BhcnRzLnBhdGguY2hhckF0KDApIT09Ii8iJiYoUys9Ii8iKSxTKz1BLnBhdGgoITApLEEuX3BhcnRzLnF1ZXJ5KXtmb3IodmFyIFA9IiIsQj0wLGo9QS5fcGFydHMucXVlcnkuc3BsaXQoIiYiKSxIPWoubGVuZ3RoO0I8SDtCKyspe3ZhciBrPShqW0JdfHwiIikuc3BsaXQoIj0iKTtQKz0iJiIraS5kZWNvZGVRdWVyeShrWzBdLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLnJlcGxhY2UoLyYvZywiJTI2Iiksa1sxXSE9PXZvaWQgMCYmKFArPSI9IitpLmRlY29kZVF1ZXJ5KGtbMV0sdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSkucmVwbGFjZSgvJi9nLCIlMjYiKSl9Uys9Ij8iK1Auc3Vic3RyaW5nKDEpfXJldHVybiBTKz1pLmRlY29kZVF1ZXJ5KEEuaGFzaCgpLCEwKSxTfSxmLmFic29sdXRlVG89ZnVuY3Rpb24oQSl7dmFyIFM9dGhpcy5jbG9uZSgpLFA9WyJwcm90b2NvbCIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJob3N0bmFtZSIsInBvcnQiXSxCLGosSDtpZih0aGlzLl9wYXJ0cy51cm4pdGhyb3cgbmV3IEVycm9yKCJVUk5zIGRvIG5vdCBoYXZlIGFueSBnZW5lcmFsbHkgZGVmaW5lZCBoaWVyYXJjaGljYWwgY29tcG9uZW50cyIpO2lmKEEgaW5zdGFuY2VvZiBpfHwoQT1uZXcgaShBKSksUy5fcGFydHMucHJvdG9jb2x8fChTLl9wYXJ0cy5wcm90b2NvbD1BLl9wYXJ0cy5wcm90b2NvbCx0aGlzLl9wYXJ0cy5ob3N0bmFtZSkpcmV0dXJuIFM7Zm9yKGo9MDtIPVBbal07aisrKVMuX3BhcnRzW0hdPUEuX3BhcnRzW0hdO3JldHVybiBTLl9wYXJ0cy5wYXRoPyhTLl9wYXJ0cy5wYXRoLnN1YnN0cmluZygtMik9PT0iLi4iJiYoUy5fcGFydHMucGF0aCs9Ii8iKSxTLnBhdGgoKS5jaGFyQXQoMCkhPT0iLyImJihCPUEuZGlyZWN0b3J5KCksQj1CfHwoQS5wYXRoKCkuaW5kZXhPZigiLyIpPT09MD8iLyI6IiIpLFMuX3BhcnRzLnBhdGg9KEI/QisiLyI6IiIpK1MuX3BhcnRzLnBhdGgsUy5ub3JtYWxpemVQYXRoKCkpKTooUy5fcGFydHMucGF0aD1BLl9wYXJ0cy5wYXRoLFMuX3BhcnRzLnF1ZXJ5fHwoUy5fcGFydHMucXVlcnk9QS5fcGFydHMucXVlcnkpKSxTLmJ1aWxkKCksU30sZi5yZWxhdGl2ZVRvPWZ1bmN0aW9uKEEpe3ZhciBTPXRoaXMuY2xvbmUoKS5ub3JtYWxpemUoKSxQLEIsaixILGs7aWYoUy5fcGFydHMudXJuKXRocm93IG5ldyBFcnJvcigiVVJOcyBkbyBub3QgaGF2ZSBhbnkgZ2VuZXJhbGx5IGRlZmluZWQgaGllcmFyY2hpY2FsIGNvbXBvbmVudHMiKTtpZihBPW5ldyBpKEEpLm5vcm1hbGl6ZSgpLFA9Uy5fcGFydHMsQj1BLl9wYXJ0cyxIPVMucGF0aCgpLGs9QS5wYXRoKCksSC5jaGFyQXQoMCkhPT0iLyIpdGhyb3cgbmV3IEVycm9yKCJVUkkgaXMgYWxyZWFkeSByZWxhdGl2ZSIpO2lmKGsuY2hhckF0KDApIT09Ii8iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNhbGN1bGF0ZSBhIFVSSSByZWxhdGl2ZSB0byBhbm90aGVyIHJlbGF0aXZlIFVSSSIpO2lmKFAucHJvdG9jb2w9PT1CLnByb3RvY29sJiYoUC5wcm90b2NvbD1udWxsKSxQLnVzZXJuYW1lIT09Qi51c2VybmFtZXx8UC5wYXNzd29yZCE9PUIucGFzc3dvcmR8fFAucHJvdG9jb2whPT1udWxsfHxQLnVzZXJuYW1lIT09bnVsbHx8UC5wYXNzd29yZCE9PW51bGwpcmV0dXJuIFMuYnVpbGQoKTtpZihQLmhvc3RuYW1lPT09Qi5ob3N0bmFtZSYmUC5wb3J0PT09Qi5wb3J0KVAuaG9zdG5hbWU9bnVsbCxQLnBvcnQ9bnVsbDtlbHNlIHJldHVybiBTLmJ1aWxkKCk7aWYoSD09PWspcmV0dXJuIFAucGF0aD0iIixTLmJ1aWxkKCk7aWYoaj1pLmNvbW1vblBhdGgoSCxrKSwhailyZXR1cm4gUy5idWlsZCgpO3ZhciBLPUIucGF0aC5zdWJzdHJpbmcoai5sZW5ndGgpLnJlcGxhY2UoL1teXC9dKiQvLCIiKS5yZXBsYWNlKC8uKj9cLy9nLCIuLi8iKTtyZXR1cm4gUC5wYXRoPUsrUC5wYXRoLnN1YnN0cmluZyhqLmxlbmd0aCl8fCIuLyIsUy5idWlsZCgpfSxmLmVxdWFscz1mdW5jdGlvbihBKXt2YXIgUz10aGlzLmNsb25lKCksUD1uZXcgaShBKSxCPXt9LGo9e30sSD17fSxrLEssWDtpZihTLm5vcm1hbGl6ZSgpLFAubm9ybWFsaXplKCksUy50b1N0cmluZygpPT09UC50b1N0cmluZygpKXJldHVybiEwO2lmKGs9Uy5xdWVyeSgpLEs9UC5xdWVyeSgpLFMucXVlcnkoIiIpLFAucXVlcnkoIiIpLFMudG9TdHJpbmcoKSE9PVAudG9TdHJpbmcoKXx8ay5sZW5ndGghPT1LLmxlbmd0aClyZXR1cm4hMTtCPWkucGFyc2VRdWVyeShrLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLGo9aS5wYXJzZVF1ZXJ5KEssdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSk7Zm9yKFggaW4gQilpZih1LmNhbGwoQixYKSl7aWYocChCW1hdKSl7aWYoIV8oQltYXSxqW1hdKSlyZXR1cm4hMX1lbHNlIGlmKEJbWF0hPT1qW1hdKXJldHVybiExO0hbWF09ITB9Zm9yKFggaW4gailpZih1LmNhbGwoaixYKSYmIUhbWF0pcmV0dXJuITE7cmV0dXJuITB9LGYucHJldmVudEludmFsaWRIb3N0bmFtZT1mdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fcGFydHMucHJldmVudEludmFsaWRIb3N0bmFtZT0hIUEsdGhpc30sZi5kdXBsaWNhdGVRdWVyeVBhcmFtZXRlcnM9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX3BhcnRzLmR1cGxpY2F0ZVF1ZXJ5UGFyYW1ldGVycz0hIUEsdGhpc30sZi5lc2NhcGVRdWVyeVNwYWNlPWZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlPSEhQSx0aGlzfSxpfSl9KTtmdW5jdGlvbiBueCh0KXtyZXR1cm4odC5sZW5ndGg9PT0wfHx0W3QubGVuZ3RoLTFdIT09Ii8iKSYmKHQ9YCR7dH0vYCksdH12YXIgVTEsVjE9WigoKT0+e1UxPW54fSk7ZnVuY3Rpb24gazEodCxlKXtpZih0PT09bnVsbHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiB0O2U9eChlLCExKTtsZXQgbj1uZXcgdC5jb25zdHJ1Y3Rvcjtmb3IobGV0IG8gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG8pKXtsZXQgcj10W29dO2UmJihyPWsxKHIsZSkpLG5bb109cn1yZXR1cm4gbn12YXIgWWMsRzE9WigoKT0+e0l0KCk7WWM9azF9KTtmdW5jdGlvbiB6MSh0LGUsbil7bj14KG4sITEpO2xldCBvPXt9LHI9aCh0KSxpPWgoZSkscyxmLHU7aWYocilmb3IocyBpbiB0KXQuaGFzT3duUHJvcGVydHkocykmJihmPXRbc10saSYmbiYmdHlwZW9mIGY9PSJvYmplY3QiJiZlLmhhc093blByb3BlcnR5KHMpPyh1PWVbc10sdHlwZW9mIHU9PSJvYmplY3QiP29bc109ejEoZix1LG4pOm9bc109Zik6b1tzXT1mKTtpZihpKWZvcihzIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShzKSYmIW8uaGFzT3duUHJvcGVydHkocykmJih1PWVbc10sb1tzXT11KTtyZXR1cm4gb312YXIgX3IscnA9WigoKT0+e0l0KCk7ZnQoKTtfcj16MX0pO2Z1bmN0aW9uIG94KCl7bGV0IHQsZSxuPW5ldyBQcm9taXNlKGZ1bmN0aW9uKG8scil7dD1vLGU9cn0pO3JldHVybntyZXNvbHZlOnQscmVqZWN0OmUscHJvbWlzZTpufX12YXIganMsVW09WigoKT0+e2pzPW94fSk7ZnVuY3Rpb24gVm0odCxlKXtsZXQgbjtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PCJ1IiYmKG49ZG9jdW1lbnQpLFZtLl9pbXBsZW1lbnRhdGlvbih0LGUsbil9dmFyIGoxLHVmLGttPVooKCk9PntqMT1kcih6cygpLDEpO0l0KCk7ZnQoKTtIdCgpO1ZtLl9pbXBsZW1lbnRhdGlvbj1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInJlbGF0aXZlIHVyaSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl7aWYodHlwZW9mIG4+InUiKXJldHVybiB0O2U9eChuLmJhc2VVUkksbi5sb2NhdGlvbi5ocmVmKX1sZXQgbz1uZXcgajEuZGVmYXVsdCh0KTtyZXR1cm4gby5zY2hlbWUoKSE9PSIiP28udG9TdHJpbmcoKTpvLmFic29sdXRlVG8oZSkudG9TdHJpbmcoKX07dWY9Vm19KTtmdW5jdGlvbiByeCh0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJ1cmkgaXMgcmVxdWlyZWQuIik7bGV0IG49IiIsbz10Lmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIG8hPT0tMSYmKG49dC5zdWJzdHJpbmcoMCxvKzEpKSxlJiYodD1uZXcgSDEuZGVmYXVsdCh0KSx0LnF1ZXJ5KCkubGVuZ3RoIT09MCYmKG4rPWA/JHt0LnF1ZXJ5KCl9YCksdC5mcmFnbWVudCgpLmxlbmd0aCE9PTAmJihuKz1gIyR7dC5mcmFnbWVudCgpfWApKSxufXZhciBIMSxxMSxLMT1aKCgpPT57SDE9ZHIoenMoKSwxKTtmdCgpO0h0KCk7cTE9cnh9KTtmdW5jdGlvbiBpeCh0KXtpZighaCh0KSl0aHJvdyBuZXcgRigidXJpIGlzIHJlcXVpcmVkLiIpO2xldCBlPW5ldyBXMS5kZWZhdWx0KHQpO2Uubm9ybWFsaXplKCk7bGV0IG49ZS5wYXRoKCksbz1uLmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIG8hPT0tMSYmKG49bi5zdWJzdHIobysxKSksbz1uLmxhc3RJbmRleE9mKCIuIiksbz09PS0xP249IiI6bj1uLnN1YnN0cihvKzEpLG59dmFyIFcxLFgxLFkxPVooKCk9PntXMT1kcih6cygpLDEpO2Z0KCk7SHQoKTtYMT1peH0pO2Z1bmN0aW9uIHN4KHQsZSxuKXtoKGUpfHwoZT10LndpZHRoKSxoKG4pfHwobj10LmhlaWdodCk7bGV0IG89JDFbZV07aChvKXx8KG89e30sJDFbZV09byk7bGV0IHI9b1tuXTtpZighaChyKSl7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7aS53aWR0aD1lLGkuaGVpZ2h0PW4scj1pLmdldENvbnRleHQoIjJkIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSksci5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249ImNvcHkiLG9bbl09cn1yZXR1cm4gci5kcmF3SW1hZ2UodCwwLDAsZSxuKSxyLmdldEltYWdlRGF0YSgwLDAsZSxuKS5kYXRhfXZhciAkMSxHbSxaMT1aKCgpPT57ZnQoKTskMT17fTtHbT1zeH0pO2Z1bmN0aW9uIGF4KHQpe3JldHVybiB5LnR5cGVPZi5zdHJpbmcoInVyaSIsdCksY3gudGVzdCh0KX12YXIgY3gsaXAsem09WigoKT0+e1h0KCk7Y3g9L15ibG9iOi9pO2lwPWF4fSk7ZnVuY3Rpb24gZngodCl7aCh0aSl8fCh0aT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpLHRpLmhyZWY9d2luZG93LmxvY2F0aW9uLmhyZWY7bGV0IGU9dGkuaG9zdCxuPXRpLnByb3RvY29sO3JldHVybiB0aS5ocmVmPXQsdGkuaHJlZj10aS5ocmVmLG4hPT10aS5wcm90b2NvbHx8ZSE9PXRpLmhvc3R9dmFyIHRpLFExLEoxPVooKCk9PntmdCgpO1ExPWZ4fSk7ZnVuY3Rpb24gbHgodCl7cmV0dXJuIHkudHlwZU9mLnN0cmluZygidXJpIix0KSx1eC50ZXN0KHQpfXZhciB1eCxzcCxqbT1aKCgpPT57WHQoKTt1eD0vXmRhdGE6L2k7c3A9bHh9KTtmdW5jdGlvbiBweCh0KXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyZXR1cm4gZS5hc3luYz0hMCxlLnNyYz10LG5ldyBQcm9taXNlKChuLG8pPT57d2luZG93LmNyb3NzT3JpZ2luSXNvbGF0ZWQmJmUuc2V0QXR0cmlidXRlKCJjcm9zc29yaWdpbiIsImFub255bW91cyIpO2xldCByPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07ZS5vbmxvYWQ9ZnVuY3Rpb24oKXtlLm9ubG9hZD12b2lkIDAsci5yZW1vdmVDaGlsZChlKSxuKCl9LGUub25lcnJvcj1mdW5jdGlvbihpKXtvKGkpfSxyLmFwcGVuZENoaWxkKGUpfSl9dmFyIHRBLGVBPVooKCk9Pnt0QT1weH0pO2Z1bmN0aW9uIGR4KHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJvYmogaXMgcmVxdWlyZWQuIik7bGV0IGU9IiI7Zm9yKGxldCBuIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShuKSl7bGV0IG89dFtuXSxyPWAke2VuY29kZVVSSUNvbXBvbmVudChuKX09YDtpZihBcnJheS5pc0FycmF5KG8pKWZvcihsZXQgaT0wLHM9by5sZW5ndGg7aTxzOysraSllKz1gJHtyK2VuY29kZVVSSUNvbXBvbmVudChvW2ldKX0mYDtlbHNlIGUrPWAke3IrZW5jb2RlVVJJQ29tcG9uZW50KG8pfSZgfXJldHVybiBlPWUuc2xpY2UoMCwtMSksZX12YXIgbkEsb0E9WigoKT0+e2Z0KCk7SHQoKTtuQT1keH0pO2Z1bmN0aW9uIG14KHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJxdWVyeVN0cmluZyBpcyByZXF1aXJlZC4iKTtsZXQgZT17fTtpZih0PT09IiIpcmV0dXJuIGU7bGV0IG49dC5yZXBsYWNlKC9cKy9nLCIlMjAiKS5zcGxpdCgvWyY7XS8pO2ZvcihsZXQgbz0wLHI9bi5sZW5ndGg7bzxyOysrbyl7bGV0IGk9bltvXS5zcGxpdCgiPSIpLHM9ZGVjb2RlVVJJQ29tcG9uZW50KGlbMF0pLGY9aVsxXTtoKGYpP2Y9ZGVjb2RlVVJJQ29tcG9uZW50KGYpOmY9IiI7bGV0IHU9ZVtzXTt0eXBlb2YgdT09InN0cmluZyI/ZVtzXT1bdSxmXTpBcnJheS5pc0FycmF5KHUpP3UucHVzaChmKTplW3NdPWZ9cmV0dXJuIGV9dmFyIHJBLGlBPVooKCk9PntmdCgpO0h0KCk7ckE9bXh9KTt2YXIgaHgsQ24sY3A9WigoKT0+e2h4PXtVTklTU1VFRDowLElTU1VFRDoxLEFDVElWRToyLFJFQ0VJVkVEOjMsQ0FOQ0VMTEVEOjQsRkFJTEVEOjV9LENuPU9iamVjdC5mcmVlemUoaHgpfSk7dmFyIF94LHNBLGNBPVooKCk9PntfeD17VEVSUkFJTjowLElNQUdFUlk6MSxUSUxFUzNEOjIsT1RIRVI6M30sc0E9T2JqZWN0LmZyZWV6ZShfeCl9KTtmdW5jdGlvbiBhcCh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9eCh0LnRocm90dGxlQnlTZXJ2ZXIsITEpLG49eCh0LnRocm90dGxlLCExKTt0aGlzLnVybD10LnVybCx0aGlzLnJlcXVlc3RGdW5jdGlvbj10LnJlcXVlc3RGdW5jdGlvbix0aGlzLmNhbmNlbEZ1bmN0aW9uPXQuY2FuY2VsRnVuY3Rpb24sdGhpcy5wcmlvcml0eUZ1bmN0aW9uPXQucHJpb3JpdHlGdW5jdGlvbix0aGlzLnByaW9yaXR5PXgodC5wcmlvcml0eSwwKSx0aGlzLnRocm90dGxlPW4sdGhpcy50aHJvdHRsZUJ5U2VydmVyPWUsdGhpcy50eXBlPXgodC50eXBlLHNBLk9USEVSKSx0aGlzLnNlcnZlcktleT10LnNlcnZlcktleSx0aGlzLnN0YXRlPUNuLlVOSVNTVUVELHRoaXMuZGVmZXJyZWQ9dm9pZCAwLHRoaXMuY2FuY2VsbGVkPSExfXZhciBhQSxmQT1aKCgpPT57SXQoKTtmdCgpO2NwKCk7Y0EoKTthcC5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKCl7dGhpcy5jYW5jZWxsZWQ9ITB9O2FwLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KT8odC51cmw9dGhpcy51cmwsdC5yZXF1ZXN0RnVuY3Rpb249dGhpcy5yZXF1ZXN0RnVuY3Rpb24sdC5jYW5jZWxGdW5jdGlvbj10aGlzLmNhbmNlbEZ1bmN0aW9uLHQucHJpb3JpdHlGdW5jdGlvbj10aGlzLnByaW9yaXR5RnVuY3Rpb24sdC5wcmlvcml0eT10aGlzLnByaW9yaXR5LHQudGhyb3R0bGU9dGhpcy50aHJvdHRsZSx0LnRocm90dGxlQnlTZXJ2ZXI9dGhpcy50aHJvdHRsZUJ5U2VydmVyLHQudHlwZT10aGlzLnR5cGUsdC5zZXJ2ZXJLZXk9dGhpcy5zZXJ2ZXJLZXksdC5zdGF0ZT1Dbi5VTklTU1VFRCx0LmRlZmVycmVkPXZvaWQgMCx0LmNhbmNlbGxlZD0hMSx0KTpuZXcgYXAodGhpcyl9O2FBPWFwfSk7ZnVuY3Rpb24geXgodCl7bGV0IGU9e307aWYoIXQpcmV0dXJuIGU7bGV0IG49dC5zcGxpdChgXHIKYCk7Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDsrK28pe2xldCByPW5bb10saT1yLmluZGV4T2YoIjogIik7aWYoaT4wKXtsZXQgcz1yLnN1YnN0cmluZygwLGkpLGY9ci5zdWJzdHJpbmcoaSsyKTtlW3NdPWZ9fXJldHVybiBlfXZhciB1QSxsQT1aKCgpPT57dUE9eXh9KTtmdW5jdGlvbiBwQSh0LGUsbil7dGhpcy5zdGF0dXNDb2RlPXQsdGhpcy5yZXNwb25zZT1lLHRoaXMucmVzcG9uc2VIZWFkZXJzPW4sdHlwZW9mIHRoaXMucmVzcG9uc2VIZWFkZXJzPT0ic3RyaW5nIiYmKHRoaXMucmVzcG9uc2VIZWFkZXJzPXVBKHRoaXMucmVzcG9uc2VIZWFkZXJzKSl9dmFyIGxmLGRBPVooKCk9PntmdCgpO2xBKCk7cEEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7bGV0IHQ9IlJlcXVlc3QgaGFzIGZhaWxlZC4iO3JldHVybiBoKHRoaXMuc3RhdHVzQ29kZSkmJih0Kz1gIFN0YXR1cyBDb2RlOiAke3RoaXMuc3RhdHVzQ29kZX1gKSx0fTtsZj1wQX0pO2Z1bmN0aW9uIHBmKCl7dGhpcy5fbGlzdGVuZXJzPVtdLHRoaXMuX3Njb3Blcz1bXSx0aGlzLl90b1JlbW92ZT1bXSx0aGlzLl9pbnNpZGVSYWlzZUV2ZW50PSExfWZ1bmN0aW9uIGd4KHQsZSl7cmV0dXJuIGUtdH12YXIgbUEsaEE9WigoKT0+e1h0KCk7ZnQoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhwZi5wcm90b3R5cGUse251bWJlck9mTGlzdGVuZXJzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGlzdGVuZXJzLmxlbmd0aC10aGlzLl90b1JlbW92ZS5sZW5ndGh9fX0pO3BmLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YuZnVuYygibGlzdGVuZXIiLHQpLHRoaXMuX2xpc3RlbmVycy5wdXNoKHQpLHRoaXMuX3Njb3Blcy5wdXNoKGUpO2xldCBuPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKCl7bi5yZW1vdmVFdmVudExpc3RlbmVyKHQsZSl9fTtwZi5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLmZ1bmMoImxpc3RlbmVyIix0KTtsZXQgbj10aGlzLl9saXN0ZW5lcnMsbz10aGlzLl9zY29wZXMscj0tMTtmb3IobGV0IGk9MDtpPG4ubGVuZ3RoO2krKylpZihuW2ldPT09dCYmb1tpXT09PWUpe3I9aTticmVha31yZXR1cm4gciE9PS0xPyh0aGlzLl9pbnNpZGVSYWlzZUV2ZW50Pyh0aGlzLl90b1JlbW92ZS5wdXNoKHIpLG5bcl09dm9pZCAwLG9bcl09dm9pZCAwKToobi5zcGxpY2UociwxKSxvLnNwbGljZShyLDEpKSwhMCk6ITF9O3BmLnByb3RvdHlwZS5yYWlzZUV2ZW50PWZ1bmN0aW9uKCl7dGhpcy5faW5zaWRlUmFpc2VFdmVudD0hMDtsZXQgdCxlPXRoaXMuX2xpc3RlbmVycyxuPXRoaXMuX3Njb3BlcyxvPWUubGVuZ3RoO2Zvcih0PTA7dDxvO3QrKyl7bGV0IGk9ZVt0XTtoKGkpJiZlW3RdLmFwcGx5KG5bdF0sYXJndW1lbnRzKX1sZXQgcj10aGlzLl90b1JlbW92ZTtpZihvPXIubGVuZ3RoLG8+MCl7Zm9yKHIuc29ydChneCksdD0wO3Q8bzt0Kyspe2xldCBpPXJbdF07ZS5zcGxpY2UoaSwxKSxuLnNwbGljZShpLDEpfXIubGVuZ3RoPTB9dGhpcy5faW5zaWRlUmFpc2VFdmVudD0hMX07bUE9cGZ9KTtmdW5jdGlvbiBIcyh0KXt5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMiLHQpLHkuZGVmaW5lZCgib3B0aW9ucy5jb21wYXJhdG9yIix0LmNvbXBhcmF0b3IpLHRoaXMuX2NvbXBhcmF0b3I9dC5jb21wYXJhdG9yLHRoaXMuX2FycmF5PVtdLHRoaXMuX2xlbmd0aD0wLHRoaXMuX21heGltdW1MZW5ndGg9dm9pZCAwfWZ1bmN0aW9uIEhtKHQsZSxuKXtsZXQgbz10W2VdO3RbZV09dFtuXSx0W25dPW99dmFyIF9BLHlBPVooKCk9PntYdCgpO0l0KCk7ZnQoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhIcy5wcm90b3R5cGUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xlbmd0aH19LGludGVybmFsQXJyYXk6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcnJheX19LG1heGltdW1MZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXhpbXVtTGVuZ3RofSxzZXQ6ZnVuY3Rpb24odCl7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIm1heGltdW1MZW5ndGgiLHQsMCk7bGV0IGU9dGhpcy5fbGVuZ3RoO2lmKHQ8ZSl7bGV0IG49dGhpcy5fYXJyYXk7Zm9yKGxldCBvPXQ7bzxlOysrbyluW29dPXZvaWQgMDt0aGlzLl9sZW5ndGg9dCxuLmxlbmd0aD10fXRoaXMuX21heGltdW1MZW5ndGg9dH19LGNvbXBhcmF0b3I6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb21wYXJhdG9yfX19KTtIcy5wcm90b3R5cGUucmVzZXJ2ZT1mdW5jdGlvbih0KXt0PXgodCx0aGlzLl9sZW5ndGgpLHRoaXMuX2FycmF5Lmxlbmd0aD10fTtIcy5wcm90b3R5cGUuaGVhcGlmeT1mdW5jdGlvbih0KXt0PXgodCwwKTtsZXQgZT10aGlzLl9sZW5ndGgsbj10aGlzLl9jb21wYXJhdG9yLG89dGhpcy5fYXJyYXkscj0tMSxpPSEwO2Zvcig7aTspe2xldCBzPTIqKHQrMSksZj1zLTE7ZjxlJiZuKG9bZl0sb1t0XSk8MD9yPWY6cj10LHM8ZSYmbihvW3NdLG9bcl0pPDAmJihyPXMpLHIhPT10PyhIbShvLHIsdCksdD1yKTppPSExfX07SHMucHJvdG90eXBlLnJlc29ydD1mdW5jdGlvbigpe2xldCB0PXRoaXMuX2xlbmd0aDtmb3IobGV0IGU9TWF0aC5jZWlsKHQvMik7ZT49MDstLWUpdGhpcy5oZWFwaWZ5KGUpfTtIcy5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQpe3kuZGVmaW5lZCgiZWxlbWVudCIsdCk7bGV0IGU9dGhpcy5fYXJyYXksbj10aGlzLl9jb21wYXJhdG9yLG89dGhpcy5fbWF4aW11bUxlbmd0aCxyPXRoaXMuX2xlbmd0aCsrO2ZvcihyPGUubGVuZ3RoP2Vbcl09dDplLnB1c2godCk7ciE9PTA7KXtsZXQgcz1NYXRoLmZsb29yKChyLTEpLzIpO2lmKG4oZVtyXSxlW3NdKTwwKUhtKGUscixzKSxyPXM7ZWxzZSBicmVha31sZXQgaTtyZXR1cm4gaChvKSYmdGhpcy5fbGVuZ3RoPm8mJihpPWVbb10sdGhpcy5fbGVuZ3RoPW8pLGl9O0hzLnByb3RvdHlwZS5wb3A9ZnVuY3Rpb24odCl7aWYodD14KHQsMCksdGhpcy5fbGVuZ3RoPT09MClyZXR1cm47eS50eXBlT2YubnVtYmVyLmxlc3NUaGFuKCJpbmRleCIsdCx0aGlzLl9sZW5ndGgpO2xldCBlPXRoaXMuX2FycmF5LG49ZVt0XTtyZXR1cm4gSG0oZSx0LC0tdGhpcy5fbGVuZ3RoKSx0aGlzLmhlYXBpZnkodCksZVt0aGlzLl9sZW5ndGhdPXZvaWQgMCxufTtfQT1Ic30pO2Z1bmN0aW9uIEF4KHQsZSl7cmV0dXJuIHQucHJpb3JpdHktZS5wcmlvcml0eX1mdW5jdGlvbiBUbigpe31mdW5jdGlvbiBnQSh0KXtoKHQucHJpb3JpdHlGdW5jdGlvbikmJih0LnByaW9yaXR5PXQucHJpb3JpdHlGdW5jdGlvbigpKX1mdW5jdGlvbiBBQSh0KXtyZXR1cm4gdC5zdGF0ZT09PUNuLlVOSVNTVUVEJiYodC5zdGF0ZT1Dbi5JU1NVRUQsdC5kZWZlcnJlZD1qcygpKSx0LmRlZmVycmVkLnByb21pc2V9ZnVuY3Rpb24gVHgodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHQuc3RhdGU9PT1Dbi5DQU5DRUxMRUQpcmV0dXJuO2xldCBuPXQuZGVmZXJyZWQ7LS1qZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzLC0tQ2lbdC5zZXJ2ZXJLZXldLHVwLnJhaXNlRXZlbnQoKSx0LnN0YXRlPUNuLlJFQ0VJVkVELHQuZGVmZXJyZWQ9dm9pZCAwLG4ucmVzb2x2ZShlKX19ZnVuY3Rpb24gd3godCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3Quc3RhdGUhPT1Dbi5DQU5DRUxMRUQmJigrK2plLm51bWJlck9mRmFpbGVkUmVxdWVzdHMsLS1qZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzLC0tQ2lbdC5zZXJ2ZXJLZXldLHVwLnJhaXNlRXZlbnQoZSksdC5zdGF0ZT1Dbi5GQUlMRUQsdC5kZWZlcnJlZC5yZWplY3QoZSkpfX1mdW5jdGlvbiBiQSh0KXtsZXQgZT1BQSh0KTtyZXR1cm4gdC5zdGF0ZT1Dbi5BQ1RJVkUsZWkucHVzaCh0KSwrK2plLm51bWJlck9mQWN0aXZlUmVxdWVzdHMsKytqZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzRXZlciwrK0NpW3Quc2VydmVyS2V5XSx0LnJlcXVlc3RGdW5jdGlvbigpLnRoZW4oVHgodCkpLmNhdGNoKHd4KHQpKSxlfWZ1bmN0aW9uIHFzKHQpe2xldCBlPXQuc3RhdGU9PT1Dbi5BQ1RJVkU7aWYodC5zdGF0ZT1Dbi5DQU5DRUxMRUQsKytqZS5udW1iZXJPZkNhbmNlbGxlZFJlcXVlc3RzLGgodC5kZWZlcnJlZCkpe2xldCBuPXQuZGVmZXJyZWQ7dC5kZWZlcnJlZD12b2lkIDAsbi5yZWplY3QoKX1lJiYoLS1qZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzLC0tQ2lbdC5zZXJ2ZXJLZXldLCsramUubnVtYmVyT2ZDYW5jZWxsZWRBY3RpdmVSZXF1ZXN0cyksaCh0LmNhbmNlbEZ1bmN0aW9uKSYmdC5jYW5jZWxGdW5jdGlvbigpfWZ1bmN0aW9uIE94KCl7VG4uZGVidWdTaG93U3RhdGlzdGljcyYmKGplLm51bWJlck9mQWN0aXZlUmVxdWVzdHM9PT0wJiZqZS5sYXN0TnVtYmVyT2ZBY3RpdmVSZXF1ZXN0cz4wJiYoamUubnVtYmVyT2ZBdHRlbXB0ZWRSZXF1ZXN0cz4wJiYoY29uc29sZS5sb2coYE51bWJlciBvZiBhdHRlbXB0ZWQgcmVxdWVzdHM6ICR7amUubnVtYmVyT2ZBdHRlbXB0ZWRSZXF1ZXN0c31gKSxqZS5udW1iZXJPZkF0dGVtcHRlZFJlcXVlc3RzPTApLGplLm51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHM+MCYmKGNvbnNvbGUubG9nKGBOdW1iZXIgb2YgY2FuY2VsbGVkIHJlcXVlc3RzOiAke2plLm51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHN9YCksamUubnVtYmVyT2ZDYW5jZWxsZWRSZXF1ZXN0cz0wKSxqZS5udW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzPjAmJihjb25zb2xlLmxvZyhgTnVtYmVyIG9mIGNhbmNlbGxlZCBhY3RpdmUgcmVxdWVzdHM6ICR7amUubnVtYmVyT2ZDYW5jZWxsZWRBY3RpdmVSZXF1ZXN0c31gKSxqZS5udW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzPTApLGplLm51bWJlck9mRmFpbGVkUmVxdWVzdHM+MCYmKGNvbnNvbGUubG9nKGBOdW1iZXIgb2YgZmFpbGVkIHJlcXVlc3RzOiAke2plLm51bWJlck9mRmFpbGVkUmVxdWVzdHN9YCksamUubnVtYmVyT2ZGYWlsZWRSZXF1ZXN0cz0wKSksamUubGFzdE51bWJlck9mQWN0aXZlUmVxdWVzdHM9amUubnVtYmVyT2ZBY3RpdmVSZXF1ZXN0cyl9dmFyIGZwLGplLCRjLFRvLGVpLENpLGJ4LHVwLGxwLFRBPVooKCk9PntmcD1kcih6cygpLDEpO1h0KCk7SXQoKTtVbSgpO2Z0KCk7aEEoKTt5QSgpO3ptKCk7am0oKTtjcCgpO2plPXtudW1iZXJPZkF0dGVtcHRlZFJlcXVlc3RzOjAsbnVtYmVyT2ZBY3RpdmVSZXF1ZXN0czowLG51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHM6MCxudW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzOjAsbnVtYmVyT2ZGYWlsZWRSZXF1ZXN0czowLG51bWJlck9mQWN0aXZlUmVxdWVzdHNFdmVyOjAsbGFzdE51bWJlck9mQWN0aXZlUmVxdWVzdHM6MH0sJGM9MjAsVG89bmV3IF9BKHtjb21wYXJhdG9yOkF4fSk7VG8ubWF4aW11bUxlbmd0aD0kYztUby5yZXNlcnZlKCRjKTtlaT1bXSxDaT17fSxieD10eXBlb2YgZG9jdW1lbnQ8InUiP25ldyBmcC5kZWZhdWx0KGRvY3VtZW50LmxvY2F0aW9uLmhyZWYpOm5ldyBmcC5kZWZhdWx0LHVwPW5ldyBtQTtUbi5tYXhpbXVtUmVxdWVzdHM9NTA7VG4ubWF4aW11bVJlcXVlc3RzUGVyU2VydmVyPTE4O1RuLnJlcXVlc3RzQnlTZXJ2ZXI9e307VG4udGhyb3R0bGVSZXF1ZXN0cz0hMDtUbi5kZWJ1Z1Nob3dTdGF0aXN0aWNzPSExO1RuLnJlcXVlc3RDb21wbGV0ZWRFdmVudD11cDtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhUbix7c3RhdGlzdGljczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGplfX0scHJpb3JpdHlIZWFwTGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJGN9LHNldDpmdW5jdGlvbih0KXtpZih0PCRjKWZvcig7VG8ubGVuZ3RoPnQ7KXtsZXQgZT1Uby5wb3AoKTtxcyhlKX0kYz10LFRvLm1heGltdW1MZW5ndGg9dCxUby5yZXNlcnZlKHQpfX19KTtUbi5zZXJ2ZXJIYXNPcGVuU2xvdHM9ZnVuY3Rpb24odCxlKXtlPXgoZSwxKTtsZXQgbj14KFRuLnJlcXVlc3RzQnlTZXJ2ZXJbdF0sVG4ubWF4aW11bVJlcXVlc3RzUGVyU2VydmVyKTtyZXR1cm4gQ2lbdF0rZTw9bn07VG4uaGVhcEhhc09wZW5TbG90cz1mdW5jdGlvbih0KXtyZXR1cm4gVG8ubGVuZ3RoK3Q8PSRjfTtUbi51cGRhdGU9ZnVuY3Rpb24oKXtsZXQgdCxlLG49MCxvPWVpLmxlbmd0aDtmb3IodD0wO3Q8bzsrK3Qpe2lmKGU9ZWlbdF0sZS5jYW5jZWxsZWQmJnFzKGUpLGUuc3RhdGUhPT1Dbi5BQ1RJVkUpeysrbjtjb250aW51ZX1uPjAmJihlaVt0LW5dPWUpfWVpLmxlbmd0aC09bjtsZXQgcj1Uby5pbnRlcm5hbEFycmF5LGk9VG8ubGVuZ3RoO2Zvcih0PTA7dDxpOysrdClnQShyW3RdKTtUby5yZXNvcnQoKTtsZXQgcz1NYXRoLm1heChUbi5tYXhpbXVtUmVxdWVzdHMtZWkubGVuZ3RoLDApLGY9MDtmb3IoO2Y8cyYmVG8ubGVuZ3RoPjA7KXtpZihlPVRvLnBvcCgpLGUuY2FuY2VsbGVkKXtxcyhlKTtjb250aW51ZX1pZihlLnRocm90dGxlQnlTZXJ2ZXImJiFUbi5zZXJ2ZXJIYXNPcGVuU2xvdHMoZS5zZXJ2ZXJLZXkpKXtxcyhlKTtjb250aW51ZX1iQShlKSwrK2Z9T3goKX07VG4uZ2V0U2VydmVyS2V5PWZ1bmN0aW9uKHQpe3kudHlwZU9mLnN0cmluZygidXJsIix0KTtsZXQgZT1uZXcgZnAuZGVmYXVsdCh0KTtlLnNjaGVtZSgpPT09IiImJihlPWUuYWJzb2x1dGVUbyhieCksZS5ub3JtYWxpemUoKSk7bGV0IG49ZS5hdXRob3JpdHkoKTsvOi8udGVzdChuKXx8KG49YCR7bn06JHtlLnNjaGVtZSgpPT09Imh0dHBzIj8iNDQzIjoiODAifWApO2xldCBvPUNpW25dO3JldHVybiBoKG8pfHwoQ2lbbl09MCksbn07VG4ucmVxdWVzdD1mdW5jdGlvbih0KXtpZih5LnR5cGVPZi5vYmplY3QoInJlcXVlc3QiLHQpLHkudHlwZU9mLnN0cmluZygicmVxdWVzdC51cmwiLHQudXJsKSx5LnR5cGVPZi5mdW5jKCJyZXF1ZXN0LnJlcXVlc3RGdW5jdGlvbiIsdC5yZXF1ZXN0RnVuY3Rpb24pLHNwKHQudXJsKXx8aXAodC51cmwpKXJldHVybiB1cC5yYWlzZUV2ZW50KCksdC5zdGF0ZT1Dbi5SRUNFSVZFRCx0LnJlcXVlc3RGdW5jdGlvbigpO2lmKCsramUubnVtYmVyT2ZBdHRlbXB0ZWRSZXF1ZXN0cyxoKHQuc2VydmVyS2V5KXx8KHQuc2VydmVyS2V5PVRuLmdldFNlcnZlcktleSh0LnVybCkpLFRuLnRocm90dGxlUmVxdWVzdHMmJnQudGhyb3R0bGVCeVNlcnZlciYmIVRuLnNlcnZlckhhc09wZW5TbG90cyh0LnNlcnZlcktleSkpcmV0dXJuO2lmKCFUbi50aHJvdHRsZVJlcXVlc3RzfHwhdC50aHJvdHRsZSlyZXR1cm4gYkEodCk7aWYoZWkubGVuZ3RoPj1Ubi5tYXhpbXVtUmVxdWVzdHMpcmV0dXJuO2dBKHQpO2xldCBlPVRvLmluc2VydCh0KTtpZihoKGUpKXtpZihlPT09dClyZXR1cm47cXMoZSl9cmV0dXJuIEFBKHQpfTtUbi5jbGVhckZvclNwZWNzPWZ1bmN0aW9uKCl7Zm9yKDtUby5sZW5ndGg+MDspe2xldCBlPVRvLnBvcCgpO3FzKGUpfWxldCB0PWVpLmxlbmd0aDtmb3IobGV0IGU9MDtlPHQ7KytlKXFzKGVpW2VdKTtlaS5sZW5ndGg9MCxDaT17fSxqZS5udW1iZXJPZkF0dGVtcHRlZFJlcXVlc3RzPTAsamUubnVtYmVyT2ZBY3RpdmVSZXF1ZXN0cz0wLGplLm51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHM9MCxqZS5udW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzPTAsamUubnVtYmVyT2ZGYWlsZWRSZXF1ZXN0cz0wLGplLm51bWJlck9mQWN0aXZlUmVxdWVzdHNFdmVyPTAsamUubGFzdE51bWJlck9mQWN0aXZlUmVxdWVzdHM9MH07VG4ubnVtYmVyT2ZBY3RpdmVSZXF1ZXN0c0J5U2VydmVyPWZ1bmN0aW9uKHQpe3JldHVybiBDaVt0XX07VG4ucmVxdWVzdEhlYXA9VG87bHA9VG59KTtmdW5jdGlvbiBFeCh0KXtsZXQgZT1uZXcgd0EuZGVmYXVsdCh0KTtlLm5vcm1hbGl6ZSgpO2xldCBuPWUuYXV0aG9yaXR5KCk7aWYobi5sZW5ndGghPT0wKXtpZihlLmF1dGhvcml0eShuKSxuLmluZGV4T2YoIkAiKSE9PS0xJiYobj1uLnNwbGl0KCJAIilbMV0pLG4uaW5kZXhPZigiOiIpPT09LTEpe2xldCBvPWUuc2NoZW1lKCk7aWYoby5sZW5ndGg9PT0wJiYobz13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wsbz1vLnN1YnN0cmluZygwLG8ubGVuZ3RoLTEpKSxvPT09Imh0dHAiKW4rPSI6ODAiO2Vsc2UgaWYobz09PSJodHRwcyIpbis9Ijo0NDMiO2Vsc2UgcmV0dXJufXJldHVybiBufX12YXIgd0EsZGYsWmMscW0sT0E9WigoKT0+e3dBPWRyKHpzKCksMSk7ZnQoKTtIdCgpO2RmPXt9LFpjPXt9O2RmLmFkZD1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJob3N0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpfHxlPD0wKXRocm93IG5ldyBGKCJwb3J0IGlzIHJlcXVpcmVkIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLiIpO2xldCBuPWAke3QudG9Mb3dlckNhc2UoKX06JHtlfWA7aChaY1tuXSl8fChaY1tuXT0hMCl9O2RmLnJlbW92ZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJob3N0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpfHxlPD0wKXRocm93IG5ldyBGKCJwb3J0IGlzIHJlcXVpcmVkIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLiIpO2xldCBuPWAke3QudG9Mb3dlckNhc2UoKX06JHtlfWA7aChaY1tuXSkmJmRlbGV0ZSBaY1tuXX07ZGYuY29udGFpbnM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEYoInVybCBpcyByZXF1aXJlZC4iKTtsZXQgZT1FeCh0KTtyZXR1cm4hIShoKGUpJiZoKFpjW2VdKSl9O2RmLmNsZWFyPWZ1bmN0aW9uKCl7WmM9e319O3FtPWRmfSk7ZnVuY3Rpb24ga3QodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHQ9e3VybDp0fSkseS50eXBlT2Yuc3RyaW5nKCJvcHRpb25zLnVybCIsdC51cmwpLHRoaXMuX3VybD12b2lkIDAsdGhpcy5fdGVtcGxhdGVWYWx1ZXM9bmkodC50ZW1wbGF0ZVZhbHVlcyx7fSksdGhpcy5fcXVlcnlQYXJhbWV0ZXJzPW5pKHQucXVlcnlQYXJhbWV0ZXJzLHt9KSx0aGlzLmhlYWRlcnM9bmkodC5oZWFkZXJzLHt9KSx0aGlzLnJlcXVlc3Q9eCh0LnJlcXVlc3QsbmV3IGFBKSx0aGlzLnByb3h5PXQucHJveHksdGhpcy5yZXRyeUNhbGxiYWNrPXQucmV0cnlDYWxsYmFjayx0aGlzLnJldHJ5QXR0ZW1wdHM9eCh0LnJldHJ5QXR0ZW1wdHMsMCksdGhpcy5fcmV0cnlDb3VudD0wLHgodC5wYXJzZVVybCwhMCk/dGhpcy5wYXJzZVVybCh0LnVybCwhMCwhMCk6dGhpcy5fdXJsPXQudXJsLHRoaXMuX2NyZWRpdHM9dC5jcmVkaXRzfWZ1bmN0aW9uIG5pKHQsZSl7cmV0dXJuIGgodCk/WWModCk6ZX1mdW5jdGlvbiBSeCh0KXtyZXR1cm4gdC5sZW5ndGg9PT0wP3t9OnQuaW5kZXhPZigiPSIpPT09LTE/e1t0XTp2b2lkIDB9OnJBKHQpfWZ1bmN0aW9uIGRwKHQsZSxuKXtpZighbilyZXR1cm4gX3IodCxlKTtsZXQgbz1ZYyh0LCEwKTtmb3IobGV0IHIgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHIpKXtsZXQgaT1vW3JdLHM9ZVtyXTtoKGkpPyhBcnJheS5pc0FycmF5KGkpfHwoaT1vW3JdPVtpXSksb1tyXT1pLmNvbmNhdChzKSk6b1tyXT1BcnJheS5pc0FycmF5KHMpP3Muc2xpY2UoKTpzfXJldHVybiBvfWZ1bmN0aW9uIFN4KHQpe2xldCBlPU9iamVjdC5rZXlzKHQpO3JldHVybiBlLmxlbmd0aD09PTA/IiI6ZS5sZW5ndGg9PT0xJiYhaCh0W2VbMF1dKT9gPyR7ZVswXX1gOmA/JHtuQSh0KX1gfWZ1bmN0aW9uIEttKHQpe2xldCBlPXQucmVzb3VyY2Usbj10LmZsaXBZLG89dC5za2lwQ29sb3JTcGFjZUNvbnZlcnNpb24scj10LnByZWZlckltYWdlQml0bWFwLGk9ZS5yZXF1ZXN0O2kudXJsPWUudXJsLGkucmVxdWVzdEZ1bmN0aW9uPWZ1bmN0aW9uKCl7bGV0IGY9ITE7IWUuaXNEYXRhVXJpJiYhZS5pc0Jsb2JVcmkmJihmPWUuaXNDcm9zc09yaWdpblVybCk7bGV0IHU9anMoKTtyZXR1cm4ga3QuX0ltcGxlbWVudGF0aW9ucy5jcmVhdGVJbWFnZShpLGYsdSxuLG8sciksdS5wcm9taXNlfTtsZXQgcz1scC5yZXF1ZXN0KGkpO2lmKGgocykpcmV0dXJuIHMuY2F0Y2goZnVuY3Rpb24oZil7cmV0dXJuIGkuc3RhdGUhPT1Dbi5GQUlMRUQ/UHJvbWlzZS5yZWplY3QoZik6ZS5yZXRyeU9uRXJyb3IoZikudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdT8oaS5zdGF0ZT1Dbi5VTklTU1VFRCxpLmRlZmVycmVkPXZvaWQgMCxLbSh7cmVzb3VyY2U6ZSxmbGlwWTpuLHNraXBDb2xvclNwYWNlQ29udmVyc2lvbjpvLHByZWZlckltYWdlQml0bWFwOnJ9KSk6UHJvbWlzZS5yZWplY3QoZil9KX0pfWZ1bmN0aW9uIENBKHQsZSxuKXtsZXQgbz17fTtvW2VdPW4sdC5zZXRRdWVyeVBhcmFtZXRlcnMobyk7bGV0IHI9dC5yZXF1ZXN0LGk9dC51cmw7ci51cmw9aSxyLnJlcXVlc3RGdW5jdGlvbj1mdW5jdGlvbigpe2xldCBmPWpzKCk7cmV0dXJuIHdpbmRvd1tuXT1mdW5jdGlvbih1KXtmLnJlc29sdmUodSk7dHJ5e2RlbGV0ZSB3aW5kb3dbbl19Y2F0Y2h7d2luZG93W25dPXZvaWQgMH19LGt0Ll9JbXBsZW1lbnRhdGlvbnMubG9hZEFuZEV4ZWN1dGVTY3JpcHQoaSxuLGYpLGYucHJvbWlzZX07bGV0IHM9bHAucmVxdWVzdChyKTtpZihoKHMpKXJldHVybiBzLmNhdGNoKGZ1bmN0aW9uKGYpe3JldHVybiByLnN0YXRlIT09Q24uRkFJTEVEP1Byb21pc2UucmVqZWN0KGYpOnQucmV0cnlPbkVycm9yKGYpLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIHU/KHIuc3RhdGU9Q24uVU5JU1NVRUQsci5kZWZlcnJlZD12b2lkIDAsQ0EodCxlLG4pKTpQcm9taXNlLnJlamVjdChmKX0pfSl9ZnVuY3Rpb24gV20odCl7aWYodC5zdGF0ZT09PUNuLklTU1VFRHx8dC5zdGF0ZT09PUNuLkFDVElWRSl0aHJvdyBuZXcgQWUoIlRoZSBSZXNvdXJjZSBpcyBhbHJlYWR5IGJlaW5nIGZldGNoZWQuIik7dC5zdGF0ZT1Dbi5VTklTU1VFRCx0LmRlZmVycmVkPXZvaWQgMH1mdW5jdGlvbiBwcCh0LGUpe2xldCBuPWRlY29kZVVSSUNvbXBvbmVudChlKTtyZXR1cm4gdD9hdG9iKG4pOm59ZnVuY3Rpb24gRUEodCxlKXtsZXQgbj1wcCh0LGUpLG89bmV3IEFycmF5QnVmZmVyKG4ubGVuZ3RoKSxyPW5ldyBVaW50OEFycmF5KG8pO2ZvcihsZXQgaT0wO2k8bi5sZW5ndGg7aSsrKXJbaV09bi5jaGFyQ29kZUF0KGkpO3JldHVybiBvfWZ1bmN0aW9uIHh4KHQsZSl7ZT14KGUsIiIpO2xldCBuPXRbMV0sbz0hIXRbMl0scj10WzNdLGkscztzd2l0Y2goZSl7Y2FzZSIiOmNhc2UidGV4dCI6cmV0dXJuIHBwKG8scik7Y2FzZSJhcnJheWJ1ZmZlciI6cmV0dXJuIEVBKG8scik7Y2FzZSJibG9iIjpyZXR1cm4gaT1FQShvLHIpLG5ldyBCbG9iKFtpXSx7dHlwZTpufSk7Y2FzZSJkb2N1bWVudCI6cmV0dXJuIHM9bmV3IERPTVBhcnNlcixzLnBhcnNlRnJvbVN0cmluZyhwcChvLHIpLG4pO2Nhc2UianNvbiI6cmV0dXJuIEpTT04ucGFyc2UocHAobyxyKSk7ZGVmYXVsdDp0aHJvdyBuZXcgRihgVW5oYW5kbGVkIHJlc3BvbnNlVHlwZTogJHtlfWApfX1mdW5jdGlvbiBQeCh0LGUsbixvLHIsaSxzKXtmZXRjaCh0LHttZXRob2Q6bixoZWFkZXJzOnJ9KS50aGVuKGFzeW5jIGY9PntpZighZi5vayl7bGV0IHU9e307Zi5oZWFkZXJzLmZvckVhY2goKGMsbCk9Pnt1W2xdPWN9KSxpLnJlamVjdChuZXcgbGYoZi5zdGF0dXMsZix1KSk7cmV0dXJufXN3aXRjaChlKXtjYXNlInRleHQiOmkucmVzb2x2ZShmLnRleHQoKSk7YnJlYWs7Y2FzZSJqc29uIjppLnJlc29sdmUoZi5qc29uKCkpO2JyZWFrO2RlZmF1bHQ6aS5yZXNvbHZlKG5ldyBVaW50OEFycmF5KGF3YWl0IGYuYXJyYXlCdWZmZXIoKSkuYnVmZmVyKTticmVha319KS5jYXRjaCgoKT0+e2kucmVqZWN0KG5ldyBsZil9KX12YXIgUkEsU0EsUWMsQ3gsTXgsb2ksbWY9WigoKT0+e1JBPWRyKHpzKCksMSk7VjEoKTtYdCgpO0cxKCk7cnAoKTtJdCgpO1VtKCk7ZnQoKTtIdCgpO2ttKCk7SzEoKTtZMSgpO1oxKCk7em0oKTtKMSgpO2ptKCk7ZUEoKTtXdCgpO29BKCk7aUEoKTtmQSgpO2RBKCk7VEEoKTtjcCgpO0pyKCk7T0EoKTtTQT1mdW5jdGlvbigpe3RyeXtsZXQgdD1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIHQub3BlbigiR0VUIiwiIyIsITApLHQucmVzcG9uc2VUeXBlPSJibG9iIix0LnJlc3BvbnNlVHlwZT09PSJibG9iIn1jYXRjaHtyZXR1cm4hMX19KCk7a3QuY3JlYXRlSWZOZWVkZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBrdD90LmdldERlcml2ZWRSZXNvdXJjZSh7cmVxdWVzdDp0LnJlcXVlc3R9KTp0eXBlb2YgdCE9InN0cmluZyI/dDpuZXcga3Qoe3VybDp0fSl9O2t0LnN1cHBvcnRzSW1hZ2VCaXRtYXBPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIGgoUWMpP1FjOnR5cGVvZiBjcmVhdGVJbWFnZUJpdG1hcCE9ImZ1bmN0aW9uIj8oUWM9UHJvbWlzZS5yZXNvbHZlKCExKSxRYyk6KFFjPWt0LmZldGNoQmxvYih7dXJsOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQUlBQUFDUWQxUGVBQUFBQkdkQlRVRUFBRTRnM3JFaURnQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFERWxFUVZRSTEyTmc2R0FBQUFFVUFJbmdFM1ppQUFBQUFFbEZUa1N1UW1DQyJ9KS50aGVuKGZ1bmN0aW9uKGUpe2xldCBuPXtpbWFnZU9yaWVudGF0aW9uOiJmbGlwWSIscHJlbXVsdGlwbHlBbHBoYToibm9uZSIsY29sb3JTcGFjZUNvbnZlcnNpb246Im5vbmUifTtyZXR1cm4gUHJvbWlzZS5hbGwoW2NyZWF0ZUltYWdlQml0bWFwKGUsbiksY3JlYXRlSW1hZ2VCaXRtYXAoZSldKX0pLnRoZW4oZnVuY3Rpb24oZSl7bGV0IG49R20oZVswXSksbz1HbShlWzFdKTtyZXR1cm4gblsxXSE9PW9bMV19KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSksUWMpfTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhrdCx7aXNCbG9iU3VwcG9ydGVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gU0F9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGt0LnByb3RvdHlwZSx7cXVlcnlQYXJhbWV0ZXJzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcXVlcnlQYXJhbWV0ZXJzfX0sdGVtcGxhdGVWYWx1ZXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl90ZW1wbGF0ZVZhbHVlc319LHVybDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VXJsQ29tcG9uZW50KCEwLCEwKX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMucGFyc2VVcmwodCwhMSwhMSl9fSxleHRlbnNpb246e2dldDpmdW5jdGlvbigpe3JldHVybiBYMSh0aGlzLl91cmwpfX0saXNEYXRhVXJpOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gc3AodGhpcy5fdXJsKX19LGlzQmxvYlVyaTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGlwKHRoaXMuX3VybCl9fSxpc0Nyb3NzT3JpZ2luVXJsOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUTEodGhpcy5fdXJsKX19LGhhc0hlYWRlcnM6e2dldDpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmhlYWRlcnMpLmxlbmd0aD4wfX0sY3JlZGl0czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NyZWRpdHN9fX0pO2t0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFVybENvbXBvbmVudCghMCwhMCl9O2t0LnByb3RvdHlwZS5wYXJzZVVybD1mdW5jdGlvbih0LGUsbixvKXtsZXQgcj1uZXcgUkEuZGVmYXVsdCh0KSxpPVJ4KHIucXVlcnkoKSk7dGhpcy5fcXVlcnlQYXJhbWV0ZXJzPWU/ZHAoaSx0aGlzLnF1ZXJ5UGFyYW1ldGVycyxuKTppLHIuc2VhcmNoKCIiKSxyLmZyYWdtZW50KCIiKSxoKG8pJiZyLnNjaGVtZSgpPT09IiImJihyPXIuYWJzb2x1dGVUbyh1ZihvKSkpLHRoaXMuX3VybD1yLnRvU3RyaW5nKCl9O2t0LnByb3RvdHlwZS5nZXRVcmxDb21wb25lbnQ9ZnVuY3Rpb24odCxlKXtpZih0aGlzLmlzRGF0YVVyaSlyZXR1cm4gdGhpcy5fdXJsO2xldCBuPXRoaXMuX3VybDt0JiYobj1gJHtufSR7U3godGhpcy5xdWVyeVBhcmFtZXRlcnMpfWApLG49bi5yZXBsYWNlKC8lN0IvZywieyIpLnJlcGxhY2UoLyU3RC9nLCJ9Iik7bGV0IG89dGhpcy5fdGVtcGxhdGVWYWx1ZXM7cmV0dXJuIE9iamVjdC5rZXlzKG8pLmxlbmd0aD4wJiYobj1uLnJlcGxhY2UoL3soLio/KX0vZyxmdW5jdGlvbihyLGkpe2xldCBzPW9baV07cmV0dXJuIGgocyk/ZW5jb2RlVVJJQ29tcG9uZW50KHMpOnJ9KSksZSYmaCh0aGlzLnByb3h5KSYmKG49dGhpcy5wcm94eS5nZXRVUkwobikpLG59O2t0LnByb3RvdHlwZS5zZXRRdWVyeVBhcmFtZXRlcnM9ZnVuY3Rpb24odCxlKXtlP3RoaXMuX3F1ZXJ5UGFyYW1ldGVycz1kcCh0aGlzLl9xdWVyeVBhcmFtZXRlcnMsdCwhMSk6dGhpcy5fcXVlcnlQYXJhbWV0ZXJzPWRwKHQsdGhpcy5fcXVlcnlQYXJhbWV0ZXJzLCExKX07a3QucHJvdG90eXBlLmFwcGVuZFF1ZXJ5UGFyYW1ldGVycz1mdW5jdGlvbih0KXt0aGlzLl9xdWVyeVBhcmFtZXRlcnM9ZHAodCx0aGlzLl9xdWVyeVBhcmFtZXRlcnMsITApfTtrdC5wcm90b3R5cGUuc2V0VGVtcGxhdGVWYWx1ZXM9ZnVuY3Rpb24odCxlKXtlP3RoaXMuX3RlbXBsYXRlVmFsdWVzPV9yKHRoaXMuX3RlbXBsYXRlVmFsdWVzLHQpOnRoaXMuX3RlbXBsYXRlVmFsdWVzPV9yKHQsdGhpcy5fdGVtcGxhdGVWYWx1ZXMpfTtrdC5wcm90b3R5cGUuZ2V0RGVyaXZlZFJlc291cmNlPWZ1bmN0aW9uKHQpe2xldCBlPXRoaXMuY2xvbmUoKTtpZihlLl9yZXRyeUNvdW50PTAsaCh0LnVybCkpe2xldCBuPXgodC5wcmVzZXJ2ZVF1ZXJ5UGFyYW1ldGVycywhMSk7ZS5wYXJzZVVybCh0LnVybCwhMCxuLHRoaXMuX3VybCl9cmV0dXJuIGgodC5xdWVyeVBhcmFtZXRlcnMpJiYoZS5fcXVlcnlQYXJhbWV0ZXJzPV9yKHQucXVlcnlQYXJhbWV0ZXJzLGUucXVlcnlQYXJhbWV0ZXJzKSksaCh0LnRlbXBsYXRlVmFsdWVzKSYmKGUuX3RlbXBsYXRlVmFsdWVzPV9yKHQudGVtcGxhdGVWYWx1ZXMsZS50ZW1wbGF0ZVZhbHVlcykpLGgodC5oZWFkZXJzKSYmKGUuaGVhZGVycz1fcih0LmhlYWRlcnMsZS5oZWFkZXJzKSksaCh0LnByb3h5KSYmKGUucHJveHk9dC5wcm94eSksaCh0LnJlcXVlc3QpJiYoZS5yZXF1ZXN0PXQucmVxdWVzdCksaCh0LnJldHJ5Q2FsbGJhY2spJiYoZS5yZXRyeUNhbGxiYWNrPXQucmV0cnlDYWxsYmFjayksaCh0LnJldHJ5QXR0ZW1wdHMpJiYoZS5yZXRyeUF0dGVtcHRzPXQucmV0cnlBdHRlbXB0cyksZX07a3QucHJvdG90eXBlLnJldHJ5T25FcnJvcj1mdW5jdGlvbih0KXtsZXQgZT10aGlzLnJldHJ5Q2FsbGJhY2s7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiJ8fHRoaXMuX3JldHJ5Q291bnQ+PXRoaXMucmV0cnlBdHRlbXB0cylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKTtsZXQgbj10aGlzO3JldHVybiBQcm9taXNlLnJlc29sdmUoZSh0aGlzLHQpKS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybisrbi5fcmV0cnlDb3VudCxvfSl9O2t0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KT8odC5fdXJsPXRoaXMuX3VybCx0Ll9xdWVyeVBhcmFtZXRlcnM9WWModGhpcy5fcXVlcnlQYXJhbWV0ZXJzKSx0Ll90ZW1wbGF0ZVZhbHVlcz1ZYyh0aGlzLl90ZW1wbGF0ZVZhbHVlcyksdC5oZWFkZXJzPVljKHRoaXMuaGVhZGVycyksdC5wcm94eT10aGlzLnByb3h5LHQucmV0cnlDYWxsYmFjaz10aGlzLnJldHJ5Q2FsbGJhY2ssdC5yZXRyeUF0dGVtcHRzPXRoaXMucmV0cnlBdHRlbXB0cyx0Ll9yZXRyeUNvdW50PTAsdC5yZXF1ZXN0PXRoaXMucmVxdWVzdC5jbG9uZSgpLHQpOm5ldyBrdCh7dXJsOnRoaXMuX3VybCxxdWVyeVBhcmFtZXRlcnM6dGhpcy5xdWVyeVBhcmFtZXRlcnMsdGVtcGxhdGVWYWx1ZXM6dGhpcy50ZW1wbGF0ZVZhbHVlcyxoZWFkZXJzOnRoaXMuaGVhZGVycyxwcm94eTp0aGlzLnByb3h5LHJldHJ5Q2FsbGJhY2s6dGhpcy5yZXRyeUNhbGxiYWNrLHJldHJ5QXR0ZW1wdHM6dGhpcy5yZXRyeUF0dGVtcHRzLHJlcXVlc3Q6dGhpcy5yZXF1ZXN0LmNsb25lKCkscGFyc2VVcmw6ITEsY3JlZGl0czpoKHRoaXMuY3JlZGl0cyk/dGhpcy5jcmVkaXRzLnNsaWNlKCk6dm9pZCAwfSl9O2t0LnByb3RvdHlwZS5nZXRCYXNlVXJpPWZ1bmN0aW9uKHQpe3JldHVybiBxMSh0aGlzLmdldFVybENvbXBvbmVudCh0KSx0KX07a3QucHJvdG90eXBlLmFwcGVuZEZvcndhcmRTbGFzaD1mdW5jdGlvbigpe3RoaXMuX3VybD1VMSh0aGlzLl91cmwpfTtrdC5wcm90b3R5cGUuZmV0Y2hBcnJheUJ1ZmZlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZldGNoKHtyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn0pfTtrdC5mZXRjaEFycmF5QnVmZmVyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2hBcnJheUJ1ZmZlcigpfTtrdC5wcm90b3R5cGUuZmV0Y2hCbG9iPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmV0Y2goe3Jlc3BvbnNlVHlwZToiYmxvYiJ9KX07a3QuZmV0Y2hCbG9iPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2hCbG9iKCl9O2t0LnByb3RvdHlwZS5mZXRjaEltYWdlPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT14KHQucHJlZmVySW1hZ2VCaXRtYXAsITEpLG49eCh0LnByZWZlckJsb2IsITEpLG89eCh0LmZsaXBZLCExKSxyPXgodC5za2lwQ29sb3JTcGFjZUNvbnZlcnNpb24sITEpO2lmKFdtKHRoaXMucmVxdWVzdCksIVNBfHx0aGlzLmlzRGF0YVVyaXx8dGhpcy5pc0Jsb2JVcml8fCF0aGlzLmhhc0hlYWRlcnMmJiFuKXJldHVybiBLbSh7cmVzb3VyY2U6dGhpcyxmbGlwWTpvLHNraXBDb2xvclNwYWNlQ29udmVyc2lvbjpyLHByZWZlckltYWdlQml0bWFwOmV9KTtsZXQgaT10aGlzLmZldGNoQmxvYigpO2lmKCFoKGkpKXJldHVybjtsZXQgcyxmLHUsYztyZXR1cm4ga3Quc3VwcG9ydHNJbWFnZUJpdG1hcE9wdGlvbnMoKS50aGVuKGZ1bmN0aW9uKGwpe3JldHVybiBzPWwsZj1zJiZlLGl9KS50aGVuKGZ1bmN0aW9uKGwpe2lmKCFoKGwpKXJldHVybjtpZihjPWwsZilyZXR1cm4ga3QuY3JlYXRlSW1hZ2VCaXRtYXBGcm9tQmxvYihsLHtmbGlwWTpvLHByZW11bHRpcGx5QWxwaGE6ITEsc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uOnJ9KTtsZXQgcD13aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChsKTtyZXR1cm4gdT1uZXcga3Qoe3VybDpwfSksS20oe3Jlc291cmNlOnUsZmxpcFk6byxza2lwQ29sb3JTcGFjZUNvbnZlcnNpb246cixwcmVmZXJJbWFnZUJpdG1hcDohMX0pfSkudGhlbihmdW5jdGlvbihsKXtpZihoKGwpKXJldHVybiBsLmJsb2I9YyxmfHx3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1LnVybCksbH0pLmNhdGNoKGZ1bmN0aW9uKGwpe3JldHVybiBoKHUpJiZ3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1LnVybCksbC5ibG9iPWMsUHJvbWlzZS5yZWplY3QobCl9KX07a3QuZmV0Y2hJbWFnZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLmZldGNoSW1hZ2Uoe2ZsaXBZOnQuZmxpcFksc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uOnQuc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uLHByZWZlckJsb2I6dC5wcmVmZXJCbG9iLHByZWZlckltYWdlQml0bWFwOnQucHJlZmVySW1hZ2VCaXRtYXB9KX07a3QucHJvdG90eXBlLmZldGNoVGV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZldGNoKHtyZXNwb25zZVR5cGU6InRleHQifSl9O2t0LmZldGNoVGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLmZldGNoVGV4dCgpfTtrdC5wcm90b3R5cGUuZmV0Y2hKc29uPWZ1bmN0aW9uKCl7bGV0IHQ9dGhpcy5mZXRjaCh7cmVzcG9uc2VUeXBlOiJ0ZXh0IixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24sKi8qO3E9MC4wMSJ9fSk7aWYoaCh0KSlyZXR1cm4gdC50aGVuKGZ1bmN0aW9uKGUpe2lmKGgoZSkpcmV0dXJuIEpTT04ucGFyc2UoZSl9KX07a3QuZmV0Y2hKc29uPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2hKc29uKCl9O2t0LnByb3RvdHlwZS5mZXRjaFhNTD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZldGNoKHtyZXNwb25zZVR5cGU6ImRvY3VtZW50IixvdmVycmlkZU1pbWVUeXBlOiJ0ZXh0L3htbCJ9KX07a3QuZmV0Y2hYTUw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5mZXRjaFhNTCgpfTtrdC5wcm90b3R5cGUuZmV0Y2hKc29ucD1mdW5jdGlvbih0KXt0PXgodCwiY2FsbGJhY2siKSxXbSh0aGlzLnJlcXVlc3QpO2xldCBlO2RvIGU9YGxvYWRKc29ucCR7TS5uZXh0UmFuZG9tTnVtYmVyKCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiw4KX1gO3doaWxlKGgod2luZG93W2VdKSk7cmV0dXJuIENBKHRoaXMsdCxlKX07a3QuZmV0Y2hKc29ucD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLmZldGNoSnNvbnAodC5jYWxsYmFja1BhcmFtZXRlck5hbWUpfTtrdC5wcm90b3R5cGUuX21ha2VSZXF1ZXN0PWZ1bmN0aW9uKHQpe2xldCBlPXRoaXM7V20oZS5yZXF1ZXN0KTtsZXQgbj1lLnJlcXVlc3Qsbz1lLnVybDtuLnVybD1vLG4ucmVxdWVzdEZ1bmN0aW9uPWZ1bmN0aW9uKCl7bGV0IGk9dC5yZXNwb25zZVR5cGUscz1fcih0LmhlYWRlcnMsZS5oZWFkZXJzKSxmPXQub3ZlcnJpZGVNaW1lVHlwZSx1PXQubWV0aG9kLGM9dC5kYXRhLGw9anMoKSxwPWt0Ll9JbXBsZW1lbnRhdGlvbnMubG9hZFdpdGhYaHIobyxpLHUsYyxzLGwsZik7cmV0dXJuIGgocCkmJmgocC5hYm9ydCkmJihuLmNhbmNlbEZ1bmN0aW9uPWZ1bmN0aW9uKCl7cC5hYm9ydCgpfSksbC5wcm9taXNlfTtsZXQgcj1scC5yZXF1ZXN0KG4pO2lmKGgocikpcmV0dXJuIHIudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gbi5jYW5jZWxGdW5jdGlvbj12b2lkIDAsaX0pLmNhdGNoKGZ1bmN0aW9uKGkpe3JldHVybiBuLmNhbmNlbEZ1bmN0aW9uPXZvaWQgMCxuLnN0YXRlIT09Q24uRkFJTEVEP1Byb21pc2UucmVqZWN0KGkpOmUucmV0cnlPbkVycm9yKGkpLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHM/KG4uc3RhdGU9Q24uVU5JU1NVRUQsbi5kZWZlcnJlZD12b2lkIDAsZS5mZXRjaCh0KSk6UHJvbWlzZS5yZWplY3QoaSl9KX0pfTtDeD0vXmRhdGE6KC4qPykoO2Jhc2U2NCk/LCguKikkLztrdC5wcm90b3R5cGUuZmV0Y2g9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bmkodCx7fSksdC5tZXRob2Q9IkdFVCIsdGhpcy5fbWFrZVJlcXVlc3QodCl9O2t0LmZldGNoPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2goe3Jlc3BvbnNlVHlwZTp0LnJlc3BvbnNlVHlwZSxvdmVycmlkZU1pbWVUeXBlOnQub3ZlcnJpZGVNaW1lVHlwZX0pfTtrdC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0PW5pKHQse30pLHQubWV0aG9kPSJERUxFVEUiLHRoaXMuX21ha2VSZXF1ZXN0KHQpfTtrdC5kZWxldGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5kZWxldGUoe3Jlc3BvbnNlVHlwZTp0LnJlc3BvbnNlVHlwZSxvdmVycmlkZU1pbWVUeXBlOnQub3ZlcnJpZGVNaW1lVHlwZSxkYXRhOnQuZGF0YX0pfTtrdC5wcm90b3R5cGUuaGVhZD1mdW5jdGlvbih0KXtyZXR1cm4gdD1uaSh0LHt9KSx0Lm1ldGhvZD0iSEVBRCIsdGhpcy5fbWFrZVJlcXVlc3QodCl9O2t0LmhlYWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5oZWFkKHtyZXNwb25zZVR5cGU6dC5yZXNwb25zZVR5cGUsb3ZlcnJpZGVNaW1lVHlwZTp0Lm92ZXJyaWRlTWltZVR5cGV9KX07a3QucHJvdG90eXBlLm9wdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bmkodCx7fSksdC5tZXRob2Q9Ik9QVElPTlMiLHRoaXMuX21ha2VSZXF1ZXN0KHQpfTtrdC5vcHRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkub3B0aW9ucyh7cmVzcG9uc2VUeXBlOnQucmVzcG9uc2VUeXBlLG92ZXJyaWRlTWltZVR5cGU6dC5vdmVycmlkZU1pbWVUeXBlfSl9O2t0LnByb3RvdHlwZS5wb3N0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgiZGF0YSIsdCksZT1uaShlLHt9KSxlLm1ldGhvZD0iUE9TVCIsZS5kYXRhPXQsdGhpcy5fbWFrZVJlcXVlc3QoZSl9O2t0LnBvc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5wb3N0KHQuZGF0YSx7cmVzcG9uc2VUeXBlOnQucmVzcG9uc2VUeXBlLG92ZXJyaWRlTWltZVR5cGU6dC5vdmVycmlkZU1pbWVUeXBlfSl9O2t0LnByb3RvdHlwZS5wdXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5kZWZpbmVkKCJkYXRhIix0KSxlPW5pKGUse30pLGUubWV0aG9kPSJQVVQiLGUuZGF0YT10LHRoaXMuX21ha2VSZXF1ZXN0KGUpfTtrdC5wdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5wdXQodC5kYXRhLHtyZXNwb25zZVR5cGU6dC5yZXNwb25zZVR5cGUsb3ZlcnJpZGVNaW1lVHlwZTp0Lm92ZXJyaWRlTWltZVR5cGV9KX07a3QucHJvdG90eXBlLnBhdGNoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgiZGF0YSIsdCksZT1uaShlLHt9KSxlLm1ldGhvZD0iUEFUQ0giLGUuZGF0YT10LHRoaXMuX21ha2VSZXF1ZXN0KGUpfTtrdC5wYXRjaD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLnBhdGNoKHQuZGF0YSx7cmVzcG9uc2VUeXBlOnQucmVzcG9uc2VUeXBlLG92ZXJyaWRlTWltZVR5cGU6dC5vdmVycmlkZU1pbWVUeXBlfSl9O2t0Ll9JbXBsZW1lbnRhdGlvbnM9e307a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50PWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1uZXcgSW1hZ2U7by5vbmxvYWQ9ZnVuY3Rpb24oKXtvLm5hdHVyYWxXaWR0aD09PTAmJm8ubmF0dXJhbEhlaWdodD09PTAmJm8ud2lkdGg9PT0wJiZvLmhlaWdodD09PTAmJihvLndpZHRoPTMwMCxvLmhlaWdodD0xNTApLG4ucmVzb2x2ZShvKX0sby5vbmVycm9yPWZ1bmN0aW9uKHIpe24ucmVqZWN0KHIpfSxlJiYocW0uY29udGFpbnModCk/by5jcm9zc09yaWdpbj0idXNlLWNyZWRlbnRpYWxzIjpvLmNyb3NzT3JpZ2luPSIiKSxvLnNyYz10fTtrdC5fSW1wbGVtZW50YXRpb25zLmNyZWF0ZUltYWdlPWZ1bmN0aW9uKHQsZSxuLG8scixpKXtsZXQgcz10LnVybDtrdC5zdXBwb3J0c0ltYWdlQml0bWFwT3B0aW9ucygpLnRoZW4oZnVuY3Rpb24oZil7aWYoIShmJiZpKSl7a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50KHMsZSxuKTtyZXR1cm59bGV0IHU9ImJsb2IiLGM9IkdFVCIsbD1qcygpLHA9a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkV2l0aFhocihzLHUsYyx2b2lkIDAsdm9pZCAwLGwsdm9pZCAwLHZvaWQgMCx2b2lkIDApO3JldHVybiBoKHApJiZoKHAuYWJvcnQpJiYodC5jYW5jZWxGdW5jdGlvbj1mdW5jdGlvbigpe3AuYWJvcnQoKX0pLGwucHJvbWlzZS50aGVuKGZ1bmN0aW9uKGQpe2lmKCFoKGQpKXtuLnJlamVjdChuZXcgQWUoYFN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgJHtzfSBidXQgaXQgY29udGFpbmVkIG5vIGNvbnRlbnQuYCkpO3JldHVybn1yZXR1cm4ga3QuY3JlYXRlSW1hZ2VCaXRtYXBGcm9tQmxvYihkLHtmbGlwWTpvLHByZW11bHRpcGx5QWxwaGE6ITEsc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uOnJ9KX0pLnRoZW4oZnVuY3Rpb24oZCl7bi5yZXNvbHZlKGQpfSl9KS5jYXRjaChmdW5jdGlvbihmKXtuLnJlamVjdChmKX0pfTtrdC5jcmVhdGVJbWFnZUJpdG1hcEZyb21CbG9iPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgib3B0aW9ucyIsZSkseS50eXBlT2YuYm9vbCgib3B0aW9ucy5mbGlwWSIsZS5mbGlwWSkseS50eXBlT2YuYm9vbCgib3B0aW9ucy5wcmVtdWx0aXBseUFscGhhIixlLnByZW11bHRpcGx5QWxwaGEpLHkudHlwZU9mLmJvb2woIm9wdGlvbnMuc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uIixlLnNraXBDb2xvclNwYWNlQ29udmVyc2lvbiksY3JlYXRlSW1hZ2VCaXRtYXAodCx7aW1hZ2VPcmllbnRhdGlvbjplLmZsaXBZPyJmbGlwWSI6Im5vbmUiLHByZW11bHRpcGx5QWxwaGE6ZS5wcmVtdWx0aXBseUFscGhhPyJwcmVtdWx0aXBseSI6Im5vbmUiLGNvbG9yU3BhY2VDb252ZXJzaW9uOmUuc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uPyJub25lIjoiZGVmYXVsdCJ9KX07TXg9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0PiJ1IjtrdC5fSW1wbGVtZW50YXRpb25zLmxvYWRXaXRoWGhyPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe2xldCBmPUN4LmV4ZWModCk7aWYoZiE9PW51bGwpe2kucmVzb2x2ZSh4eChmLGUpKTtyZXR1cm59aWYoTXgpe1B4KHQsZSxuLG8scixpLHMpO3JldHVybn1sZXQgdT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYocW0uY29udGFpbnModCkmJih1LndpdGhDcmVkZW50aWFscz0hMCksdS5vcGVuKG4sdCwhMCksaChzKSYmaCh1Lm92ZXJyaWRlTWltZVR5cGUpJiZ1Lm92ZXJyaWRlTWltZVR5cGUocyksaChyKSlmb3IobGV0IGwgaW4gcilyLmhhc093blByb3BlcnR5KGwpJiZ1LnNldFJlcXVlc3RIZWFkZXIobCxyW2xdKTtoKGUpJiYodS5yZXNwb25zZVR5cGU9ZSk7bGV0IGM9ITE7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIiYmKGM9dC5pbmRleE9mKCJmaWxlOi8vIik9PT0wfHx0eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93LmxvY2F0aW9uLm9yaWdpbj09PSJmaWxlOi8vIiksdS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZigodS5zdGF0dXM8MjAwfHx1LnN0YXR1cz49MzAwKSYmIShjJiZ1LnN0YXR1cz09PTApKXtpLnJlamVjdChuZXcgbGYodS5zdGF0dXMsdS5yZXNwb25zZSx1LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSk7cmV0dXJufWxldCBsPXUucmVzcG9uc2UscD11LnJlc3BvbnNlVHlwZTtpZihuPT09IkhFQUQifHxuPT09Ik9QVElPTlMiKXtsZXQgbT11LmdldEFsbFJlc3BvbnNlSGVhZGVycygpLnRyaW0oKS5zcGxpdCgvW1xyXG5dKy8pLF89e307bS5mb3JFYWNoKGZ1bmN0aW9uKGcpe2xldCBiPWcuc3BsaXQoIjogIiksVD1iLnNoaWZ0KCk7X1tUXT1iLmpvaW4oIjogIil9KSxpLnJlc29sdmUoXyk7cmV0dXJufWlmKHUuc3RhdHVzPT09MjA0KWkucmVzb2x2ZSh2b2lkIDApO2Vsc2UgaWYoaChsKSYmKCFoKGUpfHxwPT09ZSkpaS5yZXNvbHZlKGwpO2Vsc2UgaWYoZT09PSJqc29uIiYmdHlwZW9mIGw9PSJzdHJpbmciKXRyeXtpLnJlc29sdmUoSlNPTi5wYXJzZShsKSl9Y2F0Y2goZCl7aS5yZWplY3QoZCl9ZWxzZShwPT09IiJ8fHA9PT0iZG9jdW1lbnQiKSYmaCh1LnJlc3BvbnNlWE1MKSYmdS5yZXNwb25zZVhNTC5oYXNDaGlsZE5vZGVzKCk/aS5yZXNvbHZlKHUucmVzcG9uc2VYTUwpOihwPT09IiJ8fHA9PT0idGV4dCIpJiZoKHUucmVzcG9uc2VUZXh0KT9pLnJlc29sdmUodS5yZXNwb25zZVRleHQpOmkucmVqZWN0KG5ldyBBZSgiSW52YWxpZCBYTUxIdHRwUmVxdWVzdCByZXNwb25zZSB0eXBlLiIpKX0sdS5vbmVycm9yPWZ1bmN0aW9uKGwpe2kucmVqZWN0KG5ldyBsZil9LHUuc2VuZChvKSx1fTtrdC5fSW1wbGVtZW50YXRpb25zLmxvYWRBbmRFeGVjdXRlU2NyaXB0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdEEodCxlKS5jYXRjaChmdW5jdGlvbihvKXtuLnJlamVjdChvKX0pfTtrdC5fRGVmYXVsdEltcGxlbWVudGF0aW9ucz17fTtrdC5fRGVmYXVsdEltcGxlbWVudGF0aW9ucy5jcmVhdGVJbWFnZT1rdC5fSW1wbGVtZW50YXRpb25zLmNyZWF0ZUltYWdlO2t0Ll9EZWZhdWx0SW1wbGVtZW50YXRpb25zLmxvYWRXaXRoWGhyPWt0Ll9JbXBsZW1lbnRhdGlvbnMubG9hZFdpdGhYaHI7a3QuX0RlZmF1bHRJbXBsZW1lbnRhdGlvbnMubG9hZEFuZEV4ZWN1dGVTY3JpcHQ9a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkQW5kRXhlY3V0ZVNjcmlwdDtrdC5ERUZBVUxUPU9iamVjdC5mcmVlemUobmV3IGt0KHt1cmw6dHlwZW9mIGRvY3VtZW50PiJ1Ij8iIjpkb2N1bWVudC5sb2NhdGlvbi5ocmVmLnNwbGl0KCI/IilbMF19KSk7b2k9a3R9KTtmdW5jdGlvbiBfZih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCksdGhpcy5fZGF0ZXM9dm9pZCAwLHRoaXMuX3NhbXBsZXM9dm9pZCAwLHRoaXMuX2RhdGVDb2x1bW49LTEsdGhpcy5feFBvbGVXYW5kZXJSYWRpYW5zQ29sdW1uPS0xLHRoaXMuX3lQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbj0tMSx0aGlzLl91dDFNaW51c1V0Y1NlY29uZHNDb2x1bW49LTEsdGhpcy5feENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zQ29sdW1uPS0xLHRoaXMuX3lDZWxlc3RpYWxQb2xlT2Zmc2V0UmFkaWFuc0NvbHVtbj0tMSx0aGlzLl90YWlNaW51c1V0Y1NlY29uZHNDb2x1bW49LTEsdGhpcy5fY29sdW1uQ291bnQ9MCx0aGlzLl9sYXN0SW5kZXg9LTEsdGhpcy5fYWRkTmV3TGVhcFNlY29uZHM9eCh0LmFkZE5ld0xlYXBTZWNvbmRzLCEwKSxoKHQuZGF0YSk/eEEodGhpcyx0LmRhdGEpOnhBKHRoaXMse2NvbHVtbk5hbWVzOlsiZGF0ZUlzbzg2MDEiLCJtb2RpZmllZEp1bGlhbkRhdGVVdGMiLCJ4UG9sZVdhbmRlclJhZGlhbnMiLCJ5UG9sZVdhbmRlclJhZGlhbnMiLCJ1dDFNaW51c1V0Y1NlY29uZHMiLCJsZW5ndGhPZkRheUNvcnJlY3Rpb25TZWNvbmRzIiwieENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zIiwieUNlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zIiwidGFpTWludXNVdGNTZWNvbmRzIl0sc2FtcGxlczpbXX0pfWZ1bmN0aW9uIE54KHQsZSl7cmV0dXJuIGtuLmNvbXBhcmUodC5qdWxpYW5EYXRlLGUpfWZ1bmN0aW9uIHhBKHQsZSl7aWYoIWgoZS5jb2x1bW5OYW1lcykpdGhyb3cgbmV3IEFlKCJFcnJvciBpbiBsb2FkZWQgRU9QIGRhdGE6IFRoZSBjb2x1bW5OYW1lcyBwcm9wZXJ0eSBpcyByZXF1aXJlZC4iKTtpZighaChlLnNhbXBsZXMpKXRocm93IG5ldyBBZSgiRXJyb3IgaW4gbG9hZGVkIEVPUCBkYXRhOiBUaGUgc2FtcGxlcyBwcm9wZXJ0eSBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLmNvbHVtbk5hbWVzLmluZGV4T2YoIm1vZGlmaWVkSnVsaWFuRGF0ZVV0YyIpLG89ZS5jb2x1bW5OYW1lcy5pbmRleE9mKCJ4UG9sZVdhbmRlclJhZGlhbnMiKSxyPWUuY29sdW1uTmFtZXMuaW5kZXhPZigieVBvbGVXYW5kZXJSYWRpYW5zIiksaT1lLmNvbHVtbk5hbWVzLmluZGV4T2YoInV0MU1pbnVzVXRjU2Vjb25kcyIpLHM9ZS5jb2x1bW5OYW1lcy5pbmRleE9mKCJ4Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnMiKSxmPWUuY29sdW1uTmFtZXMuaW5kZXhPZigieUNlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zIiksdT1lLmNvbHVtbk5hbWVzLmluZGV4T2YoInRhaU1pbnVzVXRjU2Vjb25kcyIpO2lmKG48MHx8bzwwfHxyPDB8fGk8MHx8czwwfHxmPDB8fHU8MCl0aHJvdyBuZXcgQWUoIkVycm9yIGluIGxvYWRlZCBFT1AgZGF0YTogVGhlIGNvbHVtbk5hbWVzIHByb3BlcnR5IG11c3QgaW5jbHVkZSBtb2RpZmllZEp1bGlhbkRhdGVVdGMsIHhQb2xlV2FuZGVyUmFkaWFucywgeVBvbGVXYW5kZXJSYWRpYW5zLCB1dDFNaW51c1V0Y1NlY29uZHMsIHhDZWxlc3RpYWxQb2xlT2Zmc2V0UmFkaWFucywgeUNlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zLCBhbmQgdGFpTWludXNVdGNTZWNvbmRzIGNvbHVtbnMiKTtsZXQgYz10Ll9zYW1wbGVzPWUuc2FtcGxlcyxsPXQuX2RhdGVzPVtdO3QuX2RhdGVDb2x1bW49bix0Ll94UG9sZVdhbmRlclJhZGlhbnNDb2x1bW49byx0Ll95UG9sZVdhbmRlclJhZGlhbnNDb2x1bW49cix0Ll91dDFNaW51c1V0Y1NlY29uZHNDb2x1bW49aSx0Ll94Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW49cyx0Ll95Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW49Zix0Ll90YWlNaW51c1V0Y1NlY29uZHNDb2x1bW49dSx0Ll9jb2x1bW5Db3VudD1lLmNvbHVtbk5hbWVzLmxlbmd0aCx0Ll9sYXN0SW5kZXg9dm9pZCAwO2xldCBwLGQ9dC5fYWRkTmV3TGVhcFNlY29uZHM7Zm9yKGxldCBtPTAsXz1jLmxlbmd0aDttPF87bSs9dC5fY29sdW1uQ291bnQpe2xldCBnPWNbbStuXSxiPWNbbSt1XSxUPWcreW4uTU9ESUZJRURfSlVMSUFOX0RBVEVfRElGRkVSRU5DRSxPPW5ldyBrbihULGIsT2UuVEFJKTtpZihsLnB1c2goTyksZCl7aWYoYiE9PXAmJmgocCkpe2xldCBFPWtuLmxlYXBTZWNvbmRzLHc9R3MoRSxPLE54KTtpZih3PDApe2xldCBDPW5ldyBXZShPLGIpO0Uuc3BsaWNlKH53LDAsQyl9fXA9Yn19fWZ1bmN0aW9uIFBBKHQsZSxuLG8scil7bGV0IGk9bipvO3IueFBvbGVXYW5kZXI9ZVtpK3QuX3hQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbl0sci55UG9sZVdhbmRlcj1lW2krdC5feVBvbGVXYW5kZXJSYWRpYW5zQ29sdW1uXSxyLnhQb2xlT2Zmc2V0PWVbaSt0Ll94Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW5dLHIueVBvbGVPZmZzZXQ9ZVtpK3QuX3lDZWxlc3RpYWxQb2xlT2Zmc2V0UmFkaWFuc0NvbHVtbl0sci51dDFNaW51c1V0Yz1lW2krdC5fdXQxTWludXNVdGNTZWNvbmRzQ29sdW1uXX1mdW5jdGlvbiBoZih0LGUsbil7cmV0dXJuIGUrdCoobi1lKX1mdW5jdGlvbiBNQSh0LGUsbixvLHIsaSxzKXtsZXQgZj10Ll9jb2x1bW5Db3VudDtpZihpPmUubGVuZ3RoLTEpcmV0dXJuIHMueFBvbGVXYW5kZXI9MCxzLnlQb2xlV2FuZGVyPTAscy54UG9sZU9mZnNldD0wLHMueVBvbGVPZmZzZXQ9MCxzLnV0MU1pbnVzVXRjPTAscztsZXQgdT1lW3JdLGM9ZVtpXTtpZih1LmVxdWFscyhjKXx8by5lcXVhbHModSkpcmV0dXJuIFBBKHQsbixyLGYscykscztpZihvLmVxdWFscyhjKSlyZXR1cm4gUEEodCxuLGksZixzKSxzO2xldCBsPWtuLnNlY29uZHNEaWZmZXJlbmNlKG8sdSkva24uc2Vjb25kc0RpZmZlcmVuY2UoYyx1KSxwPXIqZixkPWkqZixtPW5bcCt0Ll91dDFNaW51c1V0Y1NlY29uZHNDb2x1bW5dLF89bltkK3QuX3V0MU1pbnVzVXRjU2Vjb25kc0NvbHVtbl0sZz1fLW07aWYoZz4uNXx8ZzwtLjUpe2xldCBiPW5bcCt0Ll90YWlNaW51c1V0Y1NlY29uZHNDb2x1bW5dLFQ9bltkK3QuX3RhaU1pbnVzVXRjU2Vjb25kc0NvbHVtbl07YiE9PVQmJihjLmVxdWFscyhvKT9tPV86Xy09VC1iKX1yZXR1cm4gcy54UG9sZVdhbmRlcj1oZihsLG5bcCt0Ll94UG9sZVdhbmRlclJhZGlhbnNDb2x1bW5dLG5bZCt0Ll94UG9sZVdhbmRlclJhZGlhbnNDb2x1bW5dKSxzLnlQb2xlV2FuZGVyPWhmKGwsbltwK3QuX3lQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbl0sbltkK3QuX3lQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbl0pLHMueFBvbGVPZmZzZXQ9aGYobCxuW3ArdC5feENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zQ29sdW1uXSxuW2QrdC5feENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zQ29sdW1uXSkscy55UG9sZU9mZnNldD1oZihsLG5bcCt0Ll95Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW5dLG5bZCt0Ll95Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW5dKSxzLnV0MU1pbnVzVXRjPWhmKGwsbSxfKSxzfXZhciBOQSxJQT1aKCgpPT57Tm0oKTtYdCgpO0l0KCk7ZnQoKTtJbSgpO3RwKCk7TG0oKTttZigpO0pyKCk7WGwoKTtZbCgpO19mLmZyb21Vcmw9YXN5bmMgZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoInVybCIsdCksZT14KGUseC5FTVBUWV9PQkpFQ1QpO2xldCBuPW9pLmNyZWF0ZUlmTmVlZGVkKHQpLG87dHJ5e289YXdhaXQgbi5mZXRjaEpzb24oKX1jYXRjaHt0aHJvdyBuZXcgQWUoYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHJldHJpZXZpbmcgdGhlIEVPUCBkYXRhIGZyb20gdGhlIFVSTCAke24udXJsfS5gKX1yZXR1cm4gbmV3IF9mKHthZGROZXdMZWFwU2Vjb25kczplLmFkZE5ld0xlYXBTZWNvbmRzLGRhdGE6b30pfTtfZi5OT05FPU9iamVjdC5mcmVlemUoe2NvbXB1dGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gaChlKT8oZS54UG9sZVdhbmRlcj0wLGUueVBvbGVXYW5kZXI9MCxlLnhQb2xlT2Zmc2V0PTAsZS55UG9sZU9mZnNldD0wLGUudXQxTWludXNVdGM9MCk6ZT1uZXcgYWYoMCwwLDAsMCwwKSxlfX0pO19mLnByb3RvdHlwZS5jb21wdXRlPWZ1bmN0aW9uKHQsZSl7aWYoIWgodGhpcy5fc2FtcGxlcykpcmV0dXJuO2lmKGgoZSl8fChlPW5ldyBhZigwLDAsMCwwLDApKSx0aGlzLl9zYW1wbGVzLmxlbmd0aD09PTApcmV0dXJuIGUueFBvbGVXYW5kZXI9MCxlLnlQb2xlV2FuZGVyPTAsZS54UG9sZU9mZnNldD0wLGUueVBvbGVPZmZzZXQ9MCxlLnV0MU1pbnVzVXRjPTAsZTtsZXQgbj10aGlzLl9kYXRlcyxvPXRoaXMuX2xhc3RJbmRleCxyPTAsaT0wO2lmKGgobykpe2xldCBmPW5bb10sdT1uW28rMV0sYz1rbi5sZXNzVGhhbk9yRXF1YWxzKGYsdCksbD0haCh1KSxwPWx8fGtuLmdyZWF0ZXJUaGFuT3JFcXVhbHModSx0KTtpZihjJiZwKXJldHVybiByPW8sIWwmJnUuZXF1YWxzKHQpJiYrK3IsaT1yKzEsTUEodGhpcyxuLHRoaXMuX3NhbXBsZXMsdCxyLGksZSksZX1sZXQgcz1HcyhuLHQsa24uY29tcGFyZSx0aGlzLl9kYXRlQ29sdW1uKTtyZXR1cm4gcz49MD8oczxuLmxlbmd0aC0xJiZuW3MrMV0uZXF1YWxzKHQpJiYrK3Mscj1zLGk9cyk6KGk9fnMscj1pLTEscjwwJiYocj0wKSksdGhpcy5fbGFzdEluZGV4PXIsTUEodGhpcyxuLHRoaXMuX3NhbXBsZXMsdCxyLGksZSksZX07TkE9X2Z9KTtmdW5jdGlvbiB3byh0LGUsbil7dGhpcy5oZWFkaW5nPXgodCwwKSx0aGlzLnBpdGNoPXgoZSwwKSx0aGlzLnJvbGw9eChuLDApfXZhciBtcCx2QT1aKCgpPT57SXQoKTtmdCgpO0h0KCk7V3QoKTt3by5mcm9tUXVhdGVybmlvbj1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJxdWF0ZXJuaW9uIGlzIHJlcXVpcmVkIik7aChlKXx8KGU9bmV3IHdvKTtsZXQgbj0yKih0LncqdC55LXQueip0LngpLG89MS0yKih0LngqdC54K3QueSp0LnkpLHI9MioodC53KnQueCt0LnkqdC56KSxpPTEtMioodC55KnQueSt0LnoqdC56KSxzPTIqKHQudyp0LnordC54KnQueSk7cmV0dXJuIGUuaGVhZGluZz0tTWF0aC5hdGFuMihzLGkpLGUucm9sbD1NYXRoLmF0YW4yKHIsbyksZS5waXRjaD0tTS5hc2luQ2xhbXBlZChuKSxlfTt3by5mcm9tRGVncmVlcz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgRigiaGVhZGluZyBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJwaXRjaCBpcyByZXF1aXJlZCIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJyb2xsIGlzIHJlcXVpcmVkIik7cmV0dXJuIGgobyl8fChvPW5ldyB3byksby5oZWFkaW5nPXQqTS5SQURJQU5TX1BFUl9ERUdSRUUsby5waXRjaD1lKk0uUkFESUFOU19QRVJfREVHUkVFLG8ucm9sbD1uKk0uUkFESUFOU19QRVJfREVHUkVFLG99O3dvLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS5oZWFkaW5nPXQuaGVhZGluZyxlLnBpdGNoPXQucGl0Y2gsZS5yb2xsPXQucm9sbCxlKTpuZXcgd28odC5oZWFkaW5nLHQucGl0Y2gsdC5yb2xsKX07d28uZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0LmhlYWRpbmc9PT1lLmhlYWRpbmcmJnQucGl0Y2g9PT1lLnBpdGNoJiZ0LnJvbGw9PT1lLnJvbGx9O3dvLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZNLmVxdWFsc0Vwc2lsb24odC5oZWFkaW5nLGUuaGVhZGluZyxuLG8pJiZNLmVxdWFsc0Vwc2lsb24odC5waXRjaCxlLnBpdGNoLG4sbykmJk0uZXF1YWxzRXBzaWxvbih0LnJvbGwsZS5yb2xsLG4sbyl9O3dvLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gd28uY2xvbmUodGhpcyx0KX07d28ucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gd28uZXF1YWxzKHRoaXMsdCl9O3dvLnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gd28uZXF1YWxzRXBzaWxvbih0aGlzLHQsZSxuKX07d28ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXMuaGVhZGluZ30sICR7dGhpcy5waXRjaH0sICR7dGhpcy5yb2xsfSlgfTttcD13b30pO2Z1bmN0aW9uIEl4KCl7bGV0IHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuOysrZSl7bGV0IG89dFtlXS5nZXRBdHRyaWJ1dGUoInNyYyIpLHI9REEuZXhlYyhvKTtpZihyIT09bnVsbClyZXR1cm4gclsxXX19ZnVuY3Rpb24gRkEodCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD4idSI/dDooaChocCl8fChocD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpLGhwLmhyZWY9dCxocC5ocmVmKX1mdW5jdGlvbiBCQSgpe2lmKGgoS3MpKXJldHVybiBLcztsZXQgdDtpZih0eXBlb2YgQ0VTSVVNX0JBU0VfVVJMPCJ1Ij90PUNFU0lVTV9CQVNFX1VSTDpoKExBPy51cmwpP3Q9dWYoIi4iLExBLnVybCk6dHlwZW9mIGRlZmluZT09Im9iamVjdCImJmgoZGVmaW5lLmFtZCkmJiFkZWZpbmUuYW1kLnRvVXJsVW5kZWZpbmVkJiZoKHByLnRvVXJsKT90PXVmKCIuLiIsV3MoIkNvcmUvYnVpbGRNb2R1bGVVcmwuanMiKSk6dD1JeCgpLCFoKHQpKXRocm93IG5ldyBGKCJVbmFibGUgdG8gZGV0ZXJtaW5lIENlc2l1bSBiYXNlIFVSTCBhdXRvbWF0aWNhbGx5LCB0cnkgZGVmaW5pbmcgYSBnbG9iYWwgdmFyaWFibGUgY2FsbGVkIENFU0lVTV9CQVNFX1VSTC4iKTtyZXR1cm4gS3M9bmV3IG9pKHt1cmw6RkEodCl9KSxLcy5hcHBlbmRGb3J3YXJkU2xhc2goKSxLc31mdW5jdGlvbiB2eCh0KXtyZXR1cm4gRkEocHIudG9VcmwoYC4uLyR7dH1gKSl9ZnVuY3Rpb24gVUEodCl7cmV0dXJuIEJBKCkuZ2V0RGVyaXZlZFJlc291cmNlKHt1cmw6dH0pLnVybH1mdW5jdGlvbiBXcyh0KXtyZXR1cm4gaChfcCl8fCh0eXBlb2YgZGVmaW5lPT0ib2JqZWN0IiYmaChkZWZpbmUuYW1kKSYmIWRlZmluZS5hbWQudG9VcmxVbmRlZmluZWQmJmgocHIudG9VcmwpP19wPXZ4Ol9wPVVBKSxfcCh0KX12YXIgTEEsREEsaHAsS3MsX3AseXAsWG09WigoKT0+e2Z0KCk7SHQoKTtrbSgpO21mKCk7TEE9e30sREE9LygoPzouKlwvKXxeKUNlc2l1bVwuanMoPzpcP3xcI3wkKS87V3MuX2Nlc2l1bVNjcmlwdFJlZ2V4PURBO1dzLl9idWlsZE1vZHVsZVVybEZyb21CYXNlVXJsPVVBO1dzLl9jbGVhckJhc2VSZXNvdXJjZT1mdW5jdGlvbigpe0tzPXZvaWQgMH07V3Muc2V0QmFzZVVybD1mdW5jdGlvbih0KXtLcz1vaS5ERUZBVUxULmdldERlcml2ZWRSZXNvdXJjZSh7dXJsOnR9KX07V3MuZ2V0Q2VzaXVtQmFzZVVybD1CQTt5cD1Xc30pO2Z1bmN0aW9uIEx4KHQsZSxuKXt0aGlzLng9dCx0aGlzLnk9ZSx0aGlzLnM9bn12YXIgZ3AsWW09WigoKT0+e2dwPUx4fSk7ZnVuY3Rpb24gUW0odCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHRoaXMuX3h5c0ZpbGVVcmxUZW1wbGF0ZT1vaS5jcmVhdGVJZk5lZWRlZCh0Lnh5c0ZpbGVVcmxUZW1wbGF0ZSksdGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyPXgodC5pbnRlcnBvbGF0aW9uT3JkZXIsOSksdGhpcy5fc2FtcGxlWmVyb0p1bGlhbkVwaGVtZXJpc0RhdGU9eCh0LnNhbXBsZVplcm9KdWxpYW5FcGhlbWVyaXNEYXRlLDI0NDIzOTY1ZS0xKSx0aGlzLl9zYW1wbGVaZXJvRGF0ZVRUPW5ldyBrbih0aGlzLl9zYW1wbGVaZXJvSnVsaWFuRXBoZW1lcmlzRGF0ZSwwLE9lLlRBSSksdGhpcy5fc3RlcFNpemVEYXlzPXgodC5zdGVwU2l6ZURheXMsMSksdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGU9eCh0LnNhbXBsZXNQZXJYeXNGaWxlLDFlMyksdGhpcy5fdG90YWxTYW1wbGVzPXgodC50b3RhbFNhbXBsZXMsMjc0MjYpLHRoaXMuX3NhbXBsZXM9bmV3IEFycmF5KHRoaXMuX3RvdGFsU2FtcGxlcyozKSx0aGlzLl9jaHVua0Rvd25sb2Fkc0luUHJvZ3Jlc3M9W107bGV0IGU9dGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyLG49dGhpcy5fZGVub21pbmF0b3JzPW5ldyBBcnJheShlKzEpLG89dGhpcy5feFRhYmxlPW5ldyBBcnJheShlKzEpLHI9TWF0aC5wb3codGhpcy5fc3RlcFNpemVEYXlzLGUpO2ZvcihsZXQgaT0wO2k8PWU7KytpKXtuW2ldPXIsb1tpXT1pKnRoaXMuX3N0ZXBTaXplRGF5cztmb3IobGV0IHM9MDtzPD1lOysrcylzIT09aSYmKG5baV0qPWktcyk7bltpXT0xL25baV19dGhpcy5fd29yaz1uZXcgQXJyYXkoZSsxKSx0aGlzLl9jb2VmPW5ldyBBcnJheShlKzEpfWZ1bmN0aW9uICRtKHQsZSxuKXtsZXQgbz1EeDtyZXR1cm4gby5kYXlOdW1iZXI9ZSxvLnNlY29uZHNPZkRheT1uLGtuLmRheXNEaWZmZXJlbmNlKG8sdC5fc2FtcGxlWmVyb0RhdGVUVCl9ZnVuY3Rpb24gWm0odCxlKXtpZih0Ll9jaHVua0Rvd25sb2Fkc0luUHJvZ3Jlc3NbZV0pcmV0dXJuIHQuX2NodW5rRG93bmxvYWRzSW5Qcm9ncmVzc1tlXTtsZXQgbixvPXQuX3h5c0ZpbGVVcmxUZW1wbGF0ZTtoKG8pP249by5nZXREZXJpdmVkUmVzb3VyY2Uoe3RlbXBsYXRlVmFsdWVzOnswOmV9fSk6bj1uZXcgb2koe3VybDp5cChgQXNzZXRzL0lBVTIwMDZfWFlTL0lBVTIwMDZfWFlTXyR7ZX0uanNvbmApfSk7bGV0IHI9bi5mZXRjaEpzb24oKS50aGVuKGZ1bmN0aW9uKGkpe3QuX2NodW5rRG93bmxvYWRzSW5Qcm9ncmVzc1tlXT0hMTtsZXQgcz10Ll9zYW1wbGVzLGY9aS5zYW1wbGVzLHU9ZSp0Ll9zYW1wbGVzUGVyWHlzRmlsZSozO2ZvcihsZXQgYz0wLGw9Zi5sZW5ndGg7YzxsOysrYylzW3UrY109ZltjXX0pO3JldHVybiB0Ll9jaHVua0Rvd25sb2Fkc0luUHJvZ3Jlc3NbZV09cixyfXZhciBEeCxWQSxrQT1aKCgpPT57WG0oKTtJdCgpO2Z0KCk7WW0oKTt0cCgpO21mKCk7WWwoKTtEeD1uZXcga24oMCwwLE9lLlRBSSk7UW0ucHJvdG90eXBlLnByZWxvYWQ9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9JG0odGhpcyx0LGUpLGk9JG0odGhpcyxuLG8pLHM9ci90aGlzLl9zdGVwU2l6ZURheXMtdGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyLzJ8MDtzPDAmJihzPTApO2xldCBmPWkvdGhpcy5fc3RlcFNpemVEYXlzLXRoaXMuX2ludGVycG9sYXRpb25PcmRlci8yfDArdGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyO2Y+PXRoaXMuX3RvdGFsU2FtcGxlcyYmKGY9dGhpcy5fdG90YWxTYW1wbGVzLTEpO2xldCB1PXMvdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGV8MCxjPWYvdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGV8MCxsPVtdO2ZvcihsZXQgcD11O3A8PWM7KytwKWwucHVzaChabSh0aGlzLHApKTtyZXR1cm4gUHJvbWlzZS5hbGwobCl9O1FtLnByb3RvdHlwZS5jb21wdXRlWHlzUmFkaWFucz1mdW5jdGlvbih0LGUsbil7bGV0IG89JG0odGhpcyx0LGUpO2lmKG88MClyZXR1cm47bGV0IHI9by90aGlzLl9zdGVwU2l6ZURheXN8MDtpZihyPj10aGlzLl90b3RhbFNhbXBsZXMpcmV0dXJuO2xldCBpPXRoaXMuX2ludGVycG9sYXRpb25PcmRlcixzPXItKGkvMnwwKTtzPDAmJihzPTApO2xldCBmPXMraTtmPj10aGlzLl90b3RhbFNhbXBsZXMmJihmPXRoaXMuX3RvdGFsU2FtcGxlcy0xLHM9Zi1pLHM8MCYmKHM9MCkpO2xldCB1PSExLGM9dGhpcy5fc2FtcGxlcztpZihoKGNbcyozXSl8fChabSh0aGlzLHMvdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGV8MCksdT0hMCksaChjW2YqM10pfHwoWm0odGhpcyxmL3RoaXMuX3NhbXBsZXNQZXJYeXNGaWxlfDApLHU9ITApLHUpcmV0dXJuO2gobik/KG4ueD0wLG4ueT0wLG4ucz0wKTpuPW5ldyBncCgwLDAsMCk7bGV0IGw9by1zKnRoaXMuX3N0ZXBTaXplRGF5cyxwPXRoaXMuX3dvcmssZD10aGlzLl9kZW5vbWluYXRvcnMsbT10aGlzLl9jb2VmLF89dGhpcy5feFRhYmxlLGcsYjtmb3IoZz0wO2c8PWk7KytnKXBbZ109bC1fW2ddO2ZvcihnPTA7Zzw9aTsrK2cpe2ZvcihtW2ddPTEsYj0wO2I8PWk7KytiKWIhPT1nJiYobVtnXSo9cFtiXSk7bVtnXSo9ZFtnXTtsZXQgVD0ocytnKSozO24ueCs9bVtnXSpjW1QrK10sbi55Kz1tW2ddKmNbVCsrXSxuLnMrPW1bZ10qY1tUXX1yZXR1cm4gbn07VkE9UW19KTt2YXIgb3MsTm4scW8sR0EsekE9WigoKT0+e2Z0KCk7Tm49e3JlcXVlc3RGdWxsc2NyZWVuOnZvaWQgMCxleGl0RnVsbHNjcmVlbjp2b2lkIDAsZnVsbHNjcmVlbkVuYWJsZWQ6dm9pZCAwLGZ1bGxzY3JlZW5FbGVtZW50OnZvaWQgMCxmdWxsc2NyZWVuY2hhbmdlOnZvaWQgMCxmdWxsc2NyZWVuZXJyb3I6dm9pZCAwfSxxbz17fTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhxbyx7ZWxlbWVudDp7Z2V0OmZ1bmN0aW9uKCl7aWYocW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkpcmV0dXJuIGRvY3VtZW50W05uLmZ1bGxzY3JlZW5FbGVtZW50XX19LGNoYW5nZUV2ZW50TmFtZTp7Z2V0OmZ1bmN0aW9uKCl7aWYocW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkpcmV0dXJuIE5uLmZ1bGxzY3JlZW5jaGFuZ2V9fSxlcnJvckV2ZW50TmFtZTp7Z2V0OmZ1bmN0aW9uKCl7aWYocW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkpcmV0dXJuIE5uLmZ1bGxzY3JlZW5lcnJvcn19LGVuYWJsZWQ6e2dldDpmdW5jdGlvbigpe2lmKHFvLnN1cHBvcnRzRnVsbHNjcmVlbigpKXJldHVybiBkb2N1bWVudFtObi5mdWxsc2NyZWVuRW5hYmxlZF19fSxmdWxsc2NyZWVuOntnZXQ6ZnVuY3Rpb24oKXtpZihxby5zdXBwb3J0c0Z1bGxzY3JlZW4oKSlyZXR1cm4gcW8uZWxlbWVudCE9PW51bGx9fX0pO3FvLnN1cHBvcnRzRnVsbHNjcmVlbj1mdW5jdGlvbigpe2lmKGgob3MpKXJldHVybiBvcztvcz0hMTtsZXQgdD1kb2N1bWVudC5ib2R5O2lmKHR5cGVvZiB0LnJlcXVlc3RGdWxsc2NyZWVuPT0iZnVuY3Rpb24iKXJldHVybiBObi5yZXF1ZXN0RnVsbHNjcmVlbj0icmVxdWVzdEZ1bGxzY3JlZW4iLE5uLmV4aXRGdWxsc2NyZWVuPSJleGl0RnVsbHNjcmVlbiIsTm4uZnVsbHNjcmVlbkVuYWJsZWQ9ImZ1bGxzY3JlZW5FbmFibGVkIixObi5mdWxsc2NyZWVuRWxlbWVudD0iZnVsbHNjcmVlbkVsZW1lbnQiLE5uLmZ1bGxzY3JlZW5jaGFuZ2U9ImZ1bGxzY3JlZW5jaGFuZ2UiLE5uLmZ1bGxzY3JlZW5lcnJvcj0iZnVsbHNjcmVlbmVycm9yIixvcz0hMCxvcztsZXQgZT1bIndlYmtpdCIsIm1veiIsIm8iLCJtcyIsImtodG1sIl0sbjtmb3IobGV0IG89MCxyPWUubGVuZ3RoO288cjsrK28pe2xldCBpPWVbb107bj1gJHtpfVJlcXVlc3RGdWxsc2NyZWVuYCx0eXBlb2YgdFtuXT09ImZ1bmN0aW9uIj8oTm4ucmVxdWVzdEZ1bGxzY3JlZW49bixvcz0hMCk6KG49YCR7aX1SZXF1ZXN0RnVsbFNjcmVlbmAsdHlwZW9mIHRbbl09PSJmdW5jdGlvbiImJihObi5yZXF1ZXN0RnVsbHNjcmVlbj1uLG9zPSEwKSksbj1gJHtpfUV4aXRGdWxsc2NyZWVuYCx0eXBlb2YgZG9jdW1lbnRbbl09PSJmdW5jdGlvbiI/Tm4uZXhpdEZ1bGxzY3JlZW49bjoobj1gJHtpfUNhbmNlbEZ1bGxTY3JlZW5gLHR5cGVvZiBkb2N1bWVudFtuXT09ImZ1bmN0aW9uIiYmKE5uLmV4aXRGdWxsc2NyZWVuPW4pKSxuPWAke2l9RnVsbHNjcmVlbkVuYWJsZWRgLGRvY3VtZW50W25dIT09dm9pZCAwP05uLmZ1bGxzY3JlZW5FbmFibGVkPW46KG49YCR7aX1GdWxsU2NyZWVuRW5hYmxlZGAsZG9jdW1lbnRbbl0hPT12b2lkIDAmJihObi5mdWxsc2NyZWVuRW5hYmxlZD1uKSksbj1gJHtpfUZ1bGxzY3JlZW5FbGVtZW50YCxkb2N1bWVudFtuXSE9PXZvaWQgMD9Obi5mdWxsc2NyZWVuRWxlbWVudD1uOihuPWAke2l9RnVsbFNjcmVlbkVsZW1lbnRgLGRvY3VtZW50W25dIT09dm9pZCAwJiYoTm4uZnVsbHNjcmVlbkVsZW1lbnQ9bikpLG49YCR7aX1mdWxsc2NyZWVuY2hhbmdlYCxkb2N1bWVudFtgb24ke259YF0hPT12b2lkIDAmJihpPT09Im1zIiYmKG49Ik1TRnVsbHNjcmVlbkNoYW5nZSIpLE5uLmZ1bGxzY3JlZW5jaGFuZ2U9biksbj1gJHtpfWZ1bGxzY3JlZW5lcnJvcmAsZG9jdW1lbnRbYG9uJHtufWBdIT09dm9pZCAwJiYoaT09PSJtcyImJihuPSJNU0Z1bGxzY3JlZW5FcnJvciIpLE5uLmZ1bGxzY3JlZW5lcnJvcj1uKX1yZXR1cm4gb3N9O3FvLnJlcXVlc3RGdWxsc2NyZWVuPWZ1bmN0aW9uKHQsZSl7cW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkmJnRbTm4ucmVxdWVzdEZ1bGxzY3JlZW5dKHt2ckRpc3BsYXk6ZX0pfTtxby5leGl0RnVsbHNjcmVlbj1mdW5jdGlvbigpe3FvLnN1cHBvcnRzRnVsbHNjcmVlbigpJiZkb2N1bWVudFtObi5leGl0RnVsbHNjcmVlbl0oKX07cW8uX25hbWVzPU5uO0dBPXFvfSk7ZnVuY3Rpb24gWHModCl7bGV0IGU9dC5zcGxpdCgiLiIpO2ZvcihsZXQgbj0wLG89ZS5sZW5ndGg7bjxvOysrbillW25dPXBhcnNlSW50KGVbbl0sMTApO3JldHVybiBlfWZ1bmN0aW9uIHJoKCl7aWYoIWgoQXApJiYoQXA9ITEsIVJwKCkpKXtsZXQgdD0vIENocm9tZVwvKFtcLjAtOV0rKS8uZXhlYyhFby51c2VyQWdlbnQpO3QhPT1udWxsJiYoQXA9ITAsakE9WHModFsxXSkpfXJldHVybiBBcH1mdW5jdGlvbiBGeCgpe3JldHVybiByaCgpJiZqQX1mdW5jdGlvbiBxQSgpe2lmKCFoKGJwKSYmKGJwPSExLCFyaCgpJiYhUnAoKSYmLyBTYWZhcmlcL1tcLjAtOV0rLy50ZXN0KEVvLnVzZXJBZ2VudCkpKXtsZXQgdD0vIFZlcnNpb25cLyhbXC4wLTldKykvLmV4ZWMoRW8udXNlckFnZW50KTt0IT09bnVsbCYmKGJwPSEwLEhBPVhzKHRbMV0pKX1yZXR1cm4gYnB9ZnVuY3Rpb24gQngoKXtyZXR1cm4gcUEoKSYmSEF9ZnVuY3Rpb24gS0EoKXtpZighaChUcCkpe1RwPSExO2xldCB0PS8gQXBwbGVXZWJLaXRcLyhbXC4wLTldKykoXCs/KS8uZXhlYyhFby51c2VyQWdlbnQpO3QhPT1udWxsJiYoVHA9ITAsbmg9WHModFsxXSksbmguaXNOaWdodGx5PSEhdFsyXSl9cmV0dXJuIFRwfWZ1bmN0aW9uIFV4KCl7cmV0dXJuIEtBKCkmJm5ofWZ1bmN0aW9uIFdBKCl7aWYoIWgoeWYpKXt5Zj0hMTtsZXQgdDtFby5hcHBOYW1lPT09Ik1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI/KHQ9L01TSUUgKFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhFby51c2VyQWdlbnQpLHQhPT1udWxsJiYoeWY9ITAsb2g9WHModFsxXSkpKTpFby5hcHBOYW1lPT09Ik5ldHNjYXBlIiYmKHQ9L1RyaWRlbnRcLy4qcnY6KFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhFby51c2VyQWdlbnQpLHQhPT1udWxsJiYoeWY9ITAsb2g9WHModFsxXSkpKX1yZXR1cm4geWZ9ZnVuY3Rpb24gVngoKXtyZXR1cm4gV0EoKSYmb2h9ZnVuY3Rpb24gUnAoKXtpZighaCh3cCkpe3dwPSExO2xldCB0PS8gRWRnXC8oW1wuMC05XSspLy5leGVjKEVvLnVzZXJBZ2VudCk7dCE9PW51bGwmJih3cD0hMCxYQT1Ycyh0WzFdKSl9cmV0dXJuIHdwfWZ1bmN0aW9uIGt4KCl7cmV0dXJuIFJwKCkmJlhBfWZ1bmN0aW9uIFNwKCl7aWYoIWgoT3ApKXtPcD0hMTtsZXQgdD0vRmlyZWZveFwvKFtcLjAtOV0rKS8uZXhlYyhFby51c2VyQWdlbnQpO3QhPT1udWxsJiYoT3A9ITAsaWg9WHModFsxXSkpfXJldHVybiBPcH1mdW5jdGlvbiBHeCgpe3JldHVybiBoKEptKXx8KEptPS9XaW5kb3dzL2kudGVzdChFby5hcHBWZXJzaW9uKSksSm19ZnVuY3Rpb24gengoKXtyZXR1cm4gaCh0aCl8fCh0aD1uYXZpZ2F0b3IucGxhdGZvcm09PT0iaVBob25lInx8bmF2aWdhdG9yLnBsYXRmb3JtPT09ImlQb2QifHxuYXZpZ2F0b3IucGxhdGZvcm09PT0iaVBhZCIpLHRofWZ1bmN0aW9uIGp4KCl7cmV0dXJuIFNwKCkmJmlofWZ1bmN0aW9uIEh4KCl7cmV0dXJuIGgoZWgpfHwoZWg9IVNwKCkmJnR5cGVvZiBQb2ludGVyRXZlbnQ8InUiJiYoIWgoRW8ucG9pbnRlckVuYWJsZWQpfHxFby5wb2ludGVyRW5hYmxlZCkpLGVofWZ1bmN0aW9uICRBKCl7aWYoIWgoRXApKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTt0LnNldEF0dHJpYnV0ZSgic3R5bGUiLCJpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7aW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7Iik7bGV0IGU9dC5zdHlsZS5pbWFnZVJlbmRlcmluZztFcD1oKGUpJiZlIT09IiIsRXAmJihZQT1lKX1yZXR1cm4gRXB9ZnVuY3Rpb24gcXgoKXtyZXR1cm4gJEEoKT9ZQTp2b2lkIDB9ZnVuY3Rpb24gT28oKXtpZighT28uaW5pdGlhbGl6ZWQpdGhyb3cgbmV3IEYoIllvdSBtdXN0IGNhbGwgRmVhdHVyZURldGVjdGlvbi5zdXBwb3J0c1dlYlAuaW5pdGlhbGl6ZSBhbmQgd2FpdCBmb3IgdGhlIHByb21pc2UgdG8gcmVzb2x2ZSBiZWZvcmUgY2FsbGluZyBGZWF0dXJlRGV0ZWN0aW9uLnN1cHBvcnRzV2ViUCIpO3JldHVybiBPby5fcmVzdWx0fXZhciBFbyxBcCxqQSxicCxIQSxUcCxuaCx5ZixvaCx3cCxYQSxPcCxpaCxKbSx0aCxlaCxZQSxFcCxKYyx5cixZcyxzaD1aKCgpPT57WHQoKTtJdCgpO2Z0KCk7SHQoKTt6QSgpO3R5cGVvZiBuYXZpZ2F0b3I8InUiP0VvPW5hdmlnYXRvcjpFbz17fTtPby5fcHJvbWlzZT12b2lkIDA7T28uX3Jlc3VsdD12b2lkIDA7T28uaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBoKE9vLl9wcm9taXNlKXx8KE9vLl9wcm9taXNlPW5ldyBQcm9taXNlKHQ9PntsZXQgZT1uZXcgSW1hZ2U7ZS5vbmxvYWQ9ZnVuY3Rpb24oKXtPby5fcmVzdWx0PWUud2lkdGg+MCYmZS5oZWlnaHQ+MCx0KE9vLl9yZXN1bHQpfSxlLm9uZXJyb3I9ZnVuY3Rpb24oKXtPby5fcmVzdWx0PSExLHQoT28uX3Jlc3VsdCl9LGUuc3JjPSJkYXRhOmltYWdlL3dlYnA7YmFzZTY0LFVrbEdSaUlBQUFCWFJVSlFWbEE0SUJZQUFBQXdBUUNkQVNvQkFBRUFEc0QrSmFRQUEzQUFBQUFBIn0pKSxPby5fcHJvbWlzZX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoT28se2luaXRpYWxpemVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaChPby5fcmVzdWx0KX19fSk7SmM9W107dHlwZW9mIEFycmF5QnVmZmVyPCJ1IiYmKEpjLnB1c2goSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXkpLHR5cGVvZiBVaW50OENsYW1wZWRBcnJheTwidSImJkpjLnB1c2goVWludDhDbGFtcGVkQXJyYXkpLHR5cGVvZiBVaW50OENsYW1wZWRBcnJheTwidSImJkpjLnB1c2goVWludDhDbGFtcGVkQXJyYXkpLHR5cGVvZiBCaWdJbnQ2NEFycmF5PCJ1IiYmSmMucHVzaChCaWdJbnQ2NEFycmF5KSx0eXBlb2YgQmlnVWludDY0QXJyYXk8InUiJiZKYy5wdXNoKEJpZ1VpbnQ2NEFycmF5KSk7eXI9e2lzQ2hyb21lOnJoLGNocm9tZVZlcnNpb246RngsaXNTYWZhcmk6cUEsc2FmYXJpVmVyc2lvbjpCeCxpc1dlYmtpdDpLQSx3ZWJraXRWZXJzaW9uOlV4LGlzSW50ZXJuZXRFeHBsb3JlcjpXQSxpbnRlcm5ldEV4cGxvcmVyVmVyc2lvbjpWeCxpc0VkZ2U6UnAsZWRnZVZlcnNpb246a3gsaXNGaXJlZm94OlNwLGZpcmVmb3hWZXJzaW9uOmp4LGlzV2luZG93czpHeCxpc0lQYWRPcklPUzp6eCxoYXJkd2FyZUNvbmN1cnJlbmN5OngoRW8uaGFyZHdhcmVDb25jdXJyZW5jeSwzKSxzdXBwb3J0c1BvaW50ZXJFdmVudHM6SHgsc3VwcG9ydHNJbWFnZVJlbmRlcmluZ1BpeGVsYXRlZDokQSxzdXBwb3J0c1dlYlA6T28saW1hZ2VSZW5kZXJpbmdWYWx1ZTpxeCx0eXBlZEFycmF5VHlwZXM6SmN9O3lyLnN1cHBvcnRzQmFzaXM9ZnVuY3Rpb24odCl7cmV0dXJuIHlyLnN1cHBvcnRzV2ViQXNzZW1ibHkoKSYmdC5jb250ZXh0LnN1cHBvcnRzQmFzaXN9O3lyLnN1cHBvcnRzRnVsbHNjcmVlbj1mdW5jdGlvbigpe3JldHVybiBHQS5zdXBwb3J0c0Z1bGxzY3JlZW4oKX07eXIuc3VwcG9ydHNUeXBlZEFycmF5cz1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXI8InUifTt5ci5zdXBwb3J0c0JpZ0ludDY0QXJyYXk9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludDY0QXJyYXk8InUifTt5ci5zdXBwb3J0c0JpZ1VpbnQ2NEFycmF5PWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBCaWdVaW50NjRBcnJheTwidSJ9O3lyLnN1cHBvcnRzQmlnSW50PWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBCaWdJbnQ8InUifTt5ci5zdXBwb3J0c1dlYldvcmtlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFdvcmtlcjwidSJ9O3lyLnN1cHBvcnRzV2ViQXNzZW1ibHk9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFdlYkFzc2VtYmx5PCJ1In07eXIuc3VwcG9ydHNXZWJnbDI9ZnVuY3Rpb24odCl7cmV0dXJuIHkuZGVmaW5lZCgic2NlbmUiLHQpLHQuY29udGV4dC53ZWJnbDJ9O3lyLnN1cHBvcnRzRXNtV2ViV29ya2Vycz1mdW5jdGlvbigpe3JldHVybiFTcCgpfHxwYXJzZUludChpaCk+PTExNH07WXM9eXJ9KTtmdW5jdGlvbiBFdCh0LGUsbixvKXt0aGlzLng9eCh0LDApLHRoaXMueT14KGUsMCksdGhpcy56PXgobiwwKSx0aGlzLnc9eChvLDApfXZhciBnZixLeCxXeCxaQSxRQSxjaCxKQSxDcCxhaCxGcix0Yix4cCxmaCxlYix1aCxsaCxYeCxZeCxBZix0YSwkeCxuYixQcCxNcCx4aSxQaSxlZSxLbz1aKCgpPT57RnQoKTtYdCgpO0l0KCk7ZnQoKTtzaCgpO1d0KCk7Qm4oKTtnZj1uZXcgYTtFdC5mcm9tQXhpc0FuZ2xlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoImF4aXMiLHQpLHkudHlwZU9mLm51bWJlcigiYW5nbGUiLGUpO2xldCBvPWUvMixyPU1hdGguc2luKG8pO2dmPWEubm9ybWFsaXplKHQsZ2YpO2xldCBpPWdmLngqcixzPWdmLnkqcixmPWdmLnoqcix1PU1hdGguY29zKG8pO3JldHVybiBoKG4pPyhuLng9aSxuLnk9cyxuLno9ZixuLnc9dSxuKTpuZXcgRXQoaSxzLGYsdSl9O0t4PVsxLDIsMF0sV3g9bmV3IEFycmF5KDMpO0V0LmZyb21Sb3RhdGlvbk1hdHJpeD1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KTtsZXQgbixvLHIsaSxzLGY9dFtRLkNPTFVNTjBST1cwXSx1PXRbUS5DT0xVTU4xUk9XMV0sYz10W1EuQ09MVU1OMlJPVzJdLGw9Zit1K2M7aWYobD4wKW49TWF0aC5zcXJ0KGwrMSkscz0uNSpuLG49LjUvbixvPSh0W1EuQ09MVU1OMVJPVzJdLXRbUS5DT0xVTU4yUk9XMV0pKm4scj0odFtRLkNPTFVNTjJST1cwXS10W1EuQ09MVU1OMFJPVzJdKSpuLGk9KHRbUS5DT0xVTU4wUk9XMV0tdFtRLkNPTFVNTjFST1cwXSkqbjtlbHNle2xldCBwPUt4LGQ9MDt1PmYmJihkPTEpLGM+ZiYmYz51JiYoZD0yKTtsZXQgbT1wW2RdLF89cFttXTtuPU1hdGguc3FydCh0W1EuZ2V0RWxlbWVudEluZGV4KGQsZCldLXRbUS5nZXRFbGVtZW50SW5kZXgobSxtKV0tdFtRLmdldEVsZW1lbnRJbmRleChfLF8pXSsxKTtsZXQgZz1XeDtnW2RdPS41Km4sbj0uNS9uLHM9KHRbUS5nZXRFbGVtZW50SW5kZXgoXyxtKV0tdFtRLmdldEVsZW1lbnRJbmRleChtLF8pXSkqbixnW21dPSh0W1EuZ2V0RWxlbWVudEluZGV4KG0sZCldK3RbUS5nZXRFbGVtZW50SW5kZXgoZCxtKV0pKm4sZ1tfXT0odFtRLmdldEVsZW1lbnRJbmRleChfLGQpXSt0W1EuZ2V0RWxlbWVudEluZGV4KGQsXyldKSpuLG89LWdbMF0scj0tZ1sxXSxpPS1nWzJdfXJldHVybiBoKGUpPyhlLng9byxlLnk9cixlLno9aSxlLnc9cyxlKTpuZXcgRXQobyxyLGkscyl9O1pBPW5ldyBFdCxRQT1uZXcgRXQsY2g9bmV3IEV0LEpBPW5ldyBFdDtFdC5mcm9tSGVhZGluZ1BpdGNoUm9sbD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImhlYWRpbmdQaXRjaFJvbGwiLHQpLEpBPUV0LmZyb21BeGlzQW5nbGUoYS5VTklUX1gsdC5yb2xsLFpBKSxjaD1FdC5mcm9tQXhpc0FuZ2xlKGEuVU5JVF9ZLC10LnBpdGNoLGUpLGU9RXQubXVsdGlwbHkoY2gsSkEsY2gpLFFBPUV0LmZyb21BeGlzQW5nbGUoYS5VTklUX1osLXQuaGVhZGluZyxaQSksRXQubXVsdGlwbHkoUUEsZSxlKX07Q3A9bmV3IGEsYWg9bmV3IGEsRnI9bmV3IEV0LHRiPW5ldyBFdCx4cD1uZXcgRXQ7RXQucGFja2VkTGVuZ3RoPTQ7RXQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuKytdPXQueSxlW24rK109dC56LGVbbl09dC53LGV9O0V0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBFdCksbi54PXRbZV0sbi55PXRbZSsxXSxuLno9dFtlKzJdLG4udz10W2UrM10sbn07RXQucGFja2VkSW50ZXJwb2xhdGlvbkxlbmd0aD0zO0V0LmNvbnZlcnRQYWNrZWRBcnJheUZvckludGVycG9sYXRpb249ZnVuY3Rpb24odCxlLG4sbyl7RXQudW5wYWNrKHQsbio0LHhwKSxFdC5jb25qdWdhdGUoeHAseHApO2ZvcihsZXQgcj0wLGk9bi1lKzE7cjxpO3IrKyl7bGV0IHM9ciozO0V0LnVucGFjayh0LChlK3IpKjQsRnIpLEV0Lm11bHRpcGx5KEZyLHhwLEZyKSxGci53PDAmJkV0Lm5lZ2F0ZShGcixGciksRXQuY29tcHV0ZUF4aXMoRnIsQ3ApO2xldCBmPUV0LmNvbXB1dGVBbmdsZShGcik7aChvKXx8KG89W10pLG9bc109Q3AueCpmLG9bcysxXT1DcC55KmYsb1tzKzJdPUNwLnoqZn19O0V0LnVucGFja0ludGVycG9sYXRpb25SZXN1bHQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtoKHIpfHwocj1uZXcgRXQpLGEuZnJvbUFycmF5KHQsMCxhaCk7bGV0IGk9YS5tYWduaXR1ZGUoYWgpO3JldHVybiBFdC51bnBhY2soZSxvKjQsdGIpLGk9PT0wP0V0LmNsb25lKEV0LklERU5USVRZLEZyKTpFdC5mcm9tQXhpc0FuZ2xlKGFoLGksRnIpLEV0Lm11bHRpcGx5KEZyLHRiLHIpfTtFdC5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUueD10LngsZS55PXQueSxlLno9dC56LGUudz10LncsZSk6bmV3IEV0KHQueCx0LnksdC56LHQudyl9O0V0LmNvbmp1Z2F0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInF1YXRlcm5pb24iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9LXQueCxlLnk9LXQueSxlLno9LXQueixlLnc9dC53LGV9O0V0Lm1hZ25pdHVkZVNxdWFyZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicXVhdGVybmlvbiIsdCksdC54KnQueCt0LnkqdC55K3Queip0LnordC53KnQud307RXQubWFnbml0dWRlPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNxcnQoRXQubWFnbml0dWRlU3F1YXJlZCh0KSl9O0V0Lm5vcm1hbGl6ZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj0xL0V0Lm1hZ25pdHVkZSh0KSxvPXQueCpuLHI9dC55Km4saT10LnoqbixzPXQudypuO3JldHVybiBlLng9byxlLnk9cixlLno9aSxlLnc9cyxlfTtFdC5pbnZlcnNlPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPUV0Lm1hZ25pdHVkZVNxdWFyZWQodCk7cmV0dXJuIGU9RXQuY29uanVnYXRlKHQsZSksRXQubXVsdGlwbHlCeVNjYWxhcihlLDEvbixlKX07RXQuYWRkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCtlLngsbi55PXQueStlLnksbi56PXQueitlLnosbi53PXQudytlLncsbn07RXQuc3VidHJhY3Q9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54LWUueCxuLnk9dC55LWUueSxuLno9dC56LWUueixuLnc9dC53LWUudyxufTtFdC5uZWdhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PS10LngsZS55PS10LnksZS56PS10LnosZS53PS10LncsZX07RXQuZG90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksdC54KmUueCt0LnkqZS55K3QueiplLnordC53KmUud307RXQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXQueCxyPXQueSxpPXQueixzPXQudyxmPWUueCx1PWUueSxjPWUueixsPWUudyxwPXMqZitvKmwrcipjLWkqdSxkPXMqdS1vKmMrcipsK2kqZixtPXMqYytvKnUtcipmK2kqbCxfPXMqbC1vKmYtcip1LWkqYztyZXR1cm4gbi54PXAsbi55PWQsbi56PW0sbi53PV8sbn07RXQubXVsdGlwbHlCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicXVhdGVybmlvbiIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54KmUsbi55PXQueSplLG4uej10LnoqZSxuLnc9dC53KmUsbn07RXQuZGl2aWRlQnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInF1YXRlcm5pb24iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxuLno9dC56L2Usbi53PXQudy9lLG59O0V0LmNvbXB1dGVBeGlzPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49dC53O2lmKE1hdGguYWJzKG4tMSk8TS5FUFNJTE9ONnx8TWF0aC5hYnMobisxKTxNLkVQU0lMT042KXJldHVybiBlLng9MSxlLnk9ZS56PTAsZTtsZXQgbz0xL01hdGguc3FydCgxLW4qbik7cmV0dXJuIGUueD10LngqbyxlLnk9dC55Km8sZS56PXQueipvLGV9O0V0LmNvbXB1dGVBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KSxNYXRoLmFicyh0LnctMSk8TS5FUFNJTE9ONj8wOjIqTWF0aC5hY29zKHQudyl9O2ZoPW5ldyBFdDtFdC5sZXJwPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInN0YXJ0Iix0KSx5LnR5cGVPZi5vYmplY3QoImVuZCIsZSkseS50eXBlT2YubnVtYmVyKCJ0IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksZmg9RXQubXVsdGlwbHlCeVNjYWxhcihlLG4sZmgpLG89RXQubXVsdGlwbHlCeVNjYWxhcih0LDEtbixvKSxFdC5hZGQoZmgsbyxvKX07ZWI9bmV3IEV0LHVoPW5ldyBFdCxsaD1uZXcgRXQ7RXQuc2xlcnA9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJzdGFydCIsdCkseS50eXBlT2Yub2JqZWN0KCJlbmQiLGUpLHkudHlwZU9mLm51bWJlcigidCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pO2xldCByPUV0LmRvdCh0LGUpLGk9ZTtpZihyPDAmJihyPS1yLGk9ZWI9RXQubmVnYXRlKGUsZWIpKSwxLXI8TS5FUFNJTE9ONilyZXR1cm4gRXQubGVycCh0LGksbixvKTtsZXQgcz1NYXRoLmFjb3Mocik7cmV0dXJuIHVoPUV0Lm11bHRpcGx5QnlTY2FsYXIodCxNYXRoLnNpbigoMS1uKSpzKSx1aCksbGg9RXQubXVsdGlwbHlCeVNjYWxhcihpLE1hdGguc2luKG4qcyksbGgpLG89RXQuYWRkKHVoLGxoLG8pLEV0Lm11bHRpcGx5QnlTY2FsYXIobywxL01hdGguc2luKHMpLG8pfTtFdC5sb2c9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoInF1YXRlcm5pb24iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1NLmFjb3NDbGFtcGVkKHQudyksbz0wO3JldHVybiBuIT09MCYmKG89bi9NYXRoLnNpbihuKSksYS5tdWx0aXBseUJ5U2NhbGFyKHQsbyxlKX07RXQuZXhwPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1hLm1hZ25pdHVkZSh0KSxvPTA7cmV0dXJuIG4hPT0wJiYobz1NYXRoLnNpbihuKS9uKSxlLng9dC54Km8sZS55PXQueSpvLGUuej10LnoqbyxlLnc9TWF0aC5jb3MobiksZX07WHg9bmV3IGEsWXg9bmV3IGEsQWY9bmV3IEV0LHRhPW5ldyBFdDtFdC5jb21wdXRlSW5uZXJRdWFkcmFuZ2xlPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgicTAiLHQpLHkudHlwZU9mLm9iamVjdCgicTEiLGUpLHkudHlwZU9mLm9iamVjdCgicTIiLG4pLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixvKTtsZXQgcj1FdC5jb25qdWdhdGUoZSxBZik7RXQubXVsdGlwbHkocixuLHRhKTtsZXQgaT1FdC5sb2codGEsWHgpO0V0Lm11bHRpcGx5KHIsdCx0YSk7bGV0IHM9RXQubG9nKHRhLFl4KTtyZXR1cm4gYS5hZGQoaSxzLGkpLGEubXVsdGlwbHlCeVNjYWxhcihpLC4yNSxpKSxhLm5lZ2F0ZShpLGkpLEV0LmV4cChpLEFmKSxFdC5tdWx0aXBseShlLEFmLG8pfTtFdC5zcXVhZD1mdW5jdGlvbih0LGUsbixvLHIsaSl7eS50eXBlT2Yub2JqZWN0KCJxMCIsdCkseS50eXBlT2Yub2JqZWN0KCJxMSIsZSkseS50eXBlT2Yub2JqZWN0KCJzMCIsbikseS50eXBlT2Yub2JqZWN0KCJzMSIsbykseS50eXBlT2YubnVtYmVyKCJ0IixyKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsaSk7bGV0IHM9RXQuc2xlcnAodCxlLHIsQWYpLGY9RXQuc2xlcnAobixvLHIsdGEpO3JldHVybiBFdC5zbGVycChzLGYsMipyKigxLXIpLGkpfTskeD1uZXcgRXQsbmI9MS45MDExMDc0NTM1MTczMDAzLFBwPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdLE1wPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdLHhpPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdLFBpPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdO2ZvcihsZXQgdD0wO3Q8NzsrK3Qpe2xldCBlPXQrMSxuPTIqZSsxO1BwW3RdPTEvKGUqbiksTXBbdF09ZS9ufVBwWzddPW5iLyg4KjE3KTtNcFs3XT1uYio4LzE3O0V0LmZhc3RTbGVycD1mdW5jdGlvbih0LGUsbixvKXt5LnR5cGVPZi5vYmplY3QoInN0YXJ0Iix0KSx5LnR5cGVPZi5vYmplY3QoImVuZCIsZSkseS50eXBlT2YubnVtYmVyKCJ0IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyk7bGV0IHI9RXQuZG90KHQsZSksaTtyPj0wP2k9MTooaT0tMSxyPS1yKTtsZXQgcz1yLTEsZj0xLW4sdT1uKm4sYz1mKmY7Zm9yKGxldCBtPTc7bT49MDstLW0peGlbbV09KFBwW21dKnUtTXBbbV0pKnMsUGlbbV09KFBwW21dKmMtTXBbbV0pKnM7bGV0IGw9aSpuKigxK3hpWzBdKigxK3hpWzFdKigxK3hpWzJdKigxK3hpWzNdKigxK3hpWzRdKigxK3hpWzVdKigxK3hpWzZdKigxK3hpWzddKSkpKSkpKSkscD1mKigxK1BpWzBdKigxK1BpWzFdKigxK1BpWzJdKigxK1BpWzNdKigxK1BpWzRdKigxK1BpWzVdKigxK1BpWzZdKigxK1BpWzddKSkpKSkpKSksZD1FdC5tdWx0aXBseUJ5U2NhbGFyKHQscCwkeCk7cmV0dXJuIEV0Lm11bHRpcGx5QnlTY2FsYXIoZSxsLG8pLEV0LmFkZChkLG8sbyl9O0V0LmZhc3RTcXVhZD1mdW5jdGlvbih0LGUsbixvLHIsaSl7eS50eXBlT2Yub2JqZWN0KCJxMCIsdCkseS50eXBlT2Yub2JqZWN0KCJxMSIsZSkseS50eXBlT2Yub2JqZWN0KCJzMCIsbikseS50eXBlT2Yub2JqZWN0KCJzMSIsbykseS50eXBlT2YubnVtYmVyKCJ0IixyKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsaSk7bGV0IHM9RXQuZmFzdFNsZXJwKHQsZSxyLEFmKSxmPUV0LmZhc3RTbGVycChuLG8scix0YSk7cmV0dXJuIEV0LmZhc3RTbGVycChzLGYsMipyKigxLXIpLGkpfTtFdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQueD09PWUueCYmdC55PT09ZS55JiZ0Lno9PT1lLnomJnQudz09PWUud307RXQuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG49eChuLDApLHQ9PT1lfHxoKHQpJiZoKGUpJiZNYXRoLmFicyh0LngtZS54KTw9biYmTWF0aC5hYnModC55LWUueSk8PW4mJk1hdGguYWJzKHQuei1lLnopPD1uJiZNYXRoLmFicyh0LnctZS53KTw9bn07RXQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBFdCgwLDAsMCwwKSk7RXQuSURFTlRJVFk9T2JqZWN0LmZyZWV6ZShuZXcgRXQoMCwwLDAsMSkpO0V0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gRXQuY2xvbmUodGhpcyx0KX07RXQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gRXQuZXF1YWxzKHRoaXMsdCl9O0V0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEV0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUpfTtFdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5gKCR7dGhpcy54fSwgJHt0aGlzLnl9LCAke3RoaXMuen0sICR7dGhpcy53fSlgfTtlZT1FdH0pO3ZhciBSZSxwaCxlYSxkaCxXbyxycyxpcyxzcyxaeCxReCxKeCx0MyxlMyxuMyxvMyxvYixyMyxpMyxzMyxjMyxhMyxmMyx1MyxsMyxwMyxkMyxOcCxfaCxtMyxoMyxfMyxJcCx5MyxnMyxBMyxiMyxtaCxoaCxUMyx3MyxPMyxFMyxyYixpYix5aCxSMyxTMyxnaCxzYixYbyxjcz1aKCgpPT57VWUoKTtGdCgpO2hyKCk7SWUoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO0lBKCk7SW0oKTtadCgpO3ZBKCk7a0EoKTtZbSgpO3RwKCk7V3QoKTtCbigpO1VuKCk7S28oKTtYbCgpO1JlPXt9LHBoPXt1cDp7c291dGg6ImVhc3QiLG5vcnRoOiJ3ZXN0Iix3ZXN0OiJzb3V0aCIsZWFzdDoibm9ydGgifSxkb3duOntzb3V0aDoid2VzdCIsbm9ydGg6ImVhc3QiLHdlc3Q6Im5vcnRoIixlYXN0OiJzb3V0aCJ9LHNvdXRoOnt1cDoid2VzdCIsZG93bjoiZWFzdCIsd2VzdDoiZG93biIsZWFzdDoidXAifSxub3J0aDp7dXA6ImVhc3QiLGRvd246Indlc3QiLHdlc3Q6InVwIixlYXN0OiJkb3duIn0sd2VzdDp7dXA6Im5vcnRoIixkb3duOiJzb3V0aCIsbm9ydGg6ImRvd24iLHNvdXRoOiJ1cCJ9LGVhc3Q6e3VwOiJzb3V0aCIsZG93bjoibm9ydGgiLG5vcnRoOiJ1cCIsc291dGg6ImRvd24ifX0sZWE9e25vcnRoOlstMSwwLDBdLGVhc3Q6WzAsMSwwXSx1cDpbMCwwLDFdLHNvdXRoOlsxLDAsMF0sd2VzdDpbMCwtMSwwXSxkb3duOlswLDAsLTFdfSxkaD17fSxXbz17ZWFzdDpuZXcgYSxub3J0aDpuZXcgYSx1cDpuZXcgYSx3ZXN0Om5ldyBhLHNvdXRoOm5ldyBhLGRvd246bmV3IGF9LHJzPW5ldyBhLGlzPW5ldyBhLHNzPW5ldyBhO1JlLmxvY2FsRnJhbWVUb0ZpeGVkRnJhbWVHZW5lcmF0b3I9ZnVuY3Rpb24odCxlKXtpZighcGguaGFzT3duUHJvcGVydHkodCl8fCFwaFt0XS5oYXNPd25Qcm9wZXJ0eShlKSl0aHJvdyBuZXcgRigiZmlyc3RBeGlzIGFuZCBzZWNvbmRBeGlzIG11c3QgYmUgZWFzdCwgbm9ydGgsIHVwLCB3ZXN0LCBzb3V0aCBvciBkb3duLiIpO2xldCBuPXBoW3RdW2VdLG8scj10K2U7cmV0dXJuIGgoZGhbcl0pP289ZGhbcl06KG89ZnVuY3Rpb24oaSxzLGYpe2lmKCFoKGkpKXRocm93IG5ldyBGKCJvcmlnaW4gaXMgcmVxdWlyZWQuIik7aWYoaXNOYU4oaS54KXx8aXNOYU4oaS55KXx8aXNOYU4oaS56KSl0aHJvdyBuZXcgRigib3JpZ2luIGhhcyBhIE5hTiBjb21wb25lbnQiKTtpZihoKGYpfHwoZj1uZXcgc3QpLGEuZXF1YWxzRXBzaWxvbihpLGEuWkVSTyxNLkVQU0lMT04xNCkpYS51bnBhY2soZWFbdF0sMCxycyksYS51bnBhY2soZWFbZV0sMCxpcyksYS51bnBhY2soZWFbbl0sMCxzcyk7ZWxzZSBpZihNLmVxdWFsc0Vwc2lsb24oaS54LDAsTS5FUFNJTE9OMTQpJiZNLmVxdWFsc0Vwc2lsb24oaS55LDAsTS5FUFNJTE9OMTQpKXtsZXQgdT1NLnNpZ24oaS56KTthLnVucGFjayhlYVt0XSwwLHJzKSx0IT09ImVhc3QiJiZ0IT09Indlc3QiJiZhLm11bHRpcGx5QnlTY2FsYXIocnMsdSxycyksYS51bnBhY2soZWFbZV0sMCxpcyksZSE9PSJlYXN0IiYmZSE9PSJ3ZXN0IiYmYS5tdWx0aXBseUJ5U2NhbGFyKGlzLHUsaXMpLGEudW5wYWNrKGVhW25dLDAsc3MpLG4hPT0iZWFzdCImJm4hPT0id2VzdCImJmEubXVsdGlwbHlCeVNjYWxhcihzcyx1LHNzKX1lbHNle3M9eChzLCQuZGVmYXVsdCkscy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoaSxXby51cCk7bGV0IHU9V28udXAsYz1Xby5lYXN0O2MueD0taS55LGMueT1pLngsYy56PTAsYS5ub3JtYWxpemUoYyxXby5lYXN0KSxhLmNyb3NzKHUsYyxXby5ub3J0aCksYS5tdWx0aXBseUJ5U2NhbGFyKFdvLnVwLC0xLFdvLmRvd24pLGEubXVsdGlwbHlCeVNjYWxhcihXby5lYXN0LC0xLFdvLndlc3QpLGEubXVsdGlwbHlCeVNjYWxhcihXby5ub3J0aCwtMSxXby5zb3V0aCkscnM9V29bdF0saXM9V29bZV0sc3M9V29bbl19cmV0dXJuIGZbMF09cnMueCxmWzFdPXJzLnksZlsyXT1ycy56LGZbM109MCxmWzRdPWlzLngsZls1XT1pcy55LGZbNl09aXMueixmWzddPTAsZls4XT1zcy54LGZbOV09c3MueSxmWzEwXT1zcy56LGZbMTFdPTAsZlsxMl09aS54LGZbMTNdPWkueSxmWzE0XT1pLnosZlsxNV09MSxmfSxkaFtyXT1vKSxvfTtSZS5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZT1SZS5sb2NhbEZyYW1lVG9GaXhlZEZyYW1lR2VuZXJhdG9yKCJlYXN0Iiwibm9ydGgiKTtSZS5ub3J0aEVhc3REb3duVG9GaXhlZEZyYW1lPVJlLmxvY2FsRnJhbWVUb0ZpeGVkRnJhbWVHZW5lcmF0b3IoIm5vcnRoIiwiZWFzdCIpO1JlLm5vcnRoVXBFYXN0VG9GaXhlZEZyYW1lPVJlLmxvY2FsRnJhbWVUb0ZpeGVkRnJhbWVHZW5lcmF0b3IoIm5vcnRoIiwidXAiKTtSZS5ub3J0aFdlc3RVcFRvRml4ZWRGcmFtZT1SZS5sb2NhbEZyYW1lVG9GaXhlZEZyYW1lR2VuZXJhdG9yKCJub3J0aCIsIndlc3QiKTtaeD1uZXcgZWUsUXg9bmV3IGEoMSwxLDEpLEp4PW5ldyBzdDtSZS5oZWFkaW5nUGl0Y2hSb2xsVG9GaXhlZEZyYW1lPWZ1bmN0aW9uKHQsZSxuLG8scil7eS50eXBlT2Yub2JqZWN0KCJIZWFkaW5nUGl0Y2hSb2xsIixlKSxvPXgobyxSZS5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZSk7bGV0IGk9ZWUuZnJvbUhlYWRpbmdQaXRjaFJvbGwoZSxaeCkscz1zdC5mcm9tVHJhbnNsYXRpb25RdWF0ZXJuaW9uUm90YXRpb25TY2FsZShhLlpFUk8saSxReCxKeCk7cmV0dXJuIHI9byh0LG4sciksc3QubXVsdGlwbHkocixzLHIpfTt0Mz1uZXcgc3QsZTM9bmV3IFE7UmUuaGVhZGluZ1BpdGNoUm9sbFF1YXRlcm5pb249ZnVuY3Rpb24odCxlLG4sbyxyKXt5LnR5cGVPZi5vYmplY3QoIkhlYWRpbmdQaXRjaFJvbGwiLGUpO2xldCBpPVJlLmhlYWRpbmdQaXRjaFJvbGxUb0ZpeGVkRnJhbWUodCxlLG4sbyx0Mykscz1zdC5nZXRNYXRyaXgzKGksZTMpO3JldHVybiBlZS5mcm9tUm90YXRpb25NYXRyaXgocyxyKX07bjM9bmV3IGEoMSwxLDEpLG8zPW5ldyBhLG9iPW5ldyBzdCxyMz1uZXcgc3QsaTM9bmV3IFEsczM9bmV3IGVlO1JlLmZpeGVkRnJhbWVUb0hlYWRpbmdQaXRjaFJvbGw9ZnVuY3Rpb24odCxlLG4sbyl7eS5kZWZpbmVkKCJ0cmFuc2Zvcm0iLHQpLGU9eChlLCQuZGVmYXVsdCksbj14KG4sUmUuZWFzdE5vcnRoVXBUb0ZpeGVkRnJhbWUpLGgobyl8fChvPW5ldyBtcCk7bGV0IHI9c3QuZ2V0VHJhbnNsYXRpb24odCxvMyk7aWYoYS5lcXVhbHMocixhLlpFUk8pKXJldHVybiBvLmhlYWRpbmc9MCxvLnBpdGNoPTAsby5yb2xsPTAsbztsZXQgaT1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24obihyLGUsb2IpLG9iKSxzPXN0LnNldFNjYWxlKHQsbjMscjMpO3M9c3Quc2V0VHJhbnNsYXRpb24ocyxhLlpFUk8scyksaT1zdC5tdWx0aXBseShpLHMsaSk7bGV0IGY9ZWUuZnJvbVJvdGF0aW9uTWF0cml4KHN0LmdldE1hdHJpeDMoaSxpMyksczMpO3JldHVybiBmPWVlLm5vcm1hbGl6ZShmLGYpLG1wLmZyb21RdWF0ZXJuaW9uKGYsbyl9O2MzPTYqMzYwMCs0MSo2MCs1MC41NDg0MSxhMz04NjQwMTg0ODEyODY2ZS02LGYzPS4wOTMxMDQsdTM9LTYyZS03LGwzPTExNzcyNzU4Mzg0NjY4ZS0zMixwMz03MjkyMTE1ODU1M2UtMTUsZDM9TS5UV09fUEkvODY0MDAsTnA9bmV3IGtuO1JlLmNvbXB1dGVJY3JmVG9DZW50cmFsQm9keUZpeGVkTWF0cml4PWZ1bmN0aW9uKHQsZSl7bGV0IG49UmUuY29tcHV0ZUljcmZUb0ZpeGVkTWF0cml4KHQsZSk7cmV0dXJuIGgobil8fChuPVJlLmNvbXB1dGVUZW1lVG9Qc2V1ZG9GaXhlZE1hdHJpeCh0LGUpKSxufTtSZS5jb21wdXRlVGVtZVRvUHNldWRvRml4ZWRNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigiZGF0ZSBpcyByZXF1aXJlZC4iKTtOcD1rbi5hZGRTZWNvbmRzKHQsLWtuLmNvbXB1dGVUYWlNaW51c1V0Yyh0KSxOcCk7bGV0IG49TnAuZGF5TnVtYmVyLG89TnAuc2Vjb25kc09mRGF5LHIsaT1uLTI0NTE1NDU7bz49NDMyMDA/cj0oaSsuNSkveW4uREFZU19QRVJfSlVMSUFOX0NFTlRVUlk6cj0oaS0uNSkveW4uREFZU19QRVJfSlVMSUFOX0NFTlRVUlk7bGV0IGY9KGMzK3IqKGEzK3IqKGYzK3IqdTMpKSkqZDMlTS5UV09fUEksdT1wMytsMyoobi0yNDUxNTQ1NWUtMSksYz0obyt5bi5TRUNPTkRTX1BFUl9EQVkqLjUpJXluLlNFQ09ORFNfUEVSX0RBWSxsPWYrdSpjLHA9TWF0aC5jb3MobCksZD1NYXRoLnNpbihsKTtyZXR1cm4gaChlKT8oZVswXT1wLGVbMV09LWQsZVsyXT0wLGVbM109ZCxlWzRdPXAsZVs1XT0wLGVbNl09MCxlWzddPTAsZVs4XT0xLGUpOm5ldyBRKHAsZCwwLC1kLHAsMCwwLDAsMSl9O1JlLmlhdTIwMDZYeXNEYXRhPW5ldyBWQTtSZS5lYXJ0aE9yaWVudGF0aW9uUGFyYW1ldGVycz1OQS5OT05FO19oPTMyLjE4NCxtMz0yNDUxNTQ1O1JlLnByZWxvYWRJY3JmRml4ZWQ9ZnVuY3Rpb24odCl7bGV0IGU9dC5zdGFydC5kYXlOdW1iZXIsbj10LnN0YXJ0LnNlY29uZHNPZkRheStfaCxvPXQuc3RvcC5kYXlOdW1iZXIscj10LnN0b3Auc2Vjb25kc09mRGF5K19oO3JldHVybiBSZS5pYXUyMDA2WHlzRGF0YS5wcmVsb2FkKGUsbixvLHIpfTtSZS5jb21wdXRlSWNyZlRvRml4ZWRNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigiZGF0ZSBpcyByZXF1aXJlZC4iKTtoKGUpfHwoZT1uZXcgUSk7bGV0IG49UmUuY29tcHV0ZUZpeGVkVG9JY3JmTWF0cml4KHQsZSk7aWYoaChuKSlyZXR1cm4gUS50cmFuc3Bvc2UobixlKX07aDM9MzIuMTg0LF8zPTI0NTE1NDUsSXA9bmV3IG1wLHkzPW5ldyBRLGczPW5ldyBrbjtSZS5jb21wdXRlTW9vbkZpeGVkVG9JY3JmTWF0cml4PWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImRhdGUgaXMgcmVxdWlyZWQuIik7aChlKXx8KGU9bmV3IFEpO2xldCBuPWtuLmFkZFNlY29uZHModCxoMyxnMyksbz1rbi50b3RhbERheXMobiktXzMscj1NLnRvUmFkaWFucygxMi4xMTIpLU0udG9SYWRpYW5zKC4wNTI5OTIpKm8saT1NLnRvUmFkaWFucygyNC4yMjQpLU0udG9SYWRpYW5zKC4xMDU5ODQpKm8scz1NLnRvUmFkaWFucygyMjcuNjQ1KStNLnRvUmFkaWFucygxMy4wMTIpKm8sZj1NLnRvUmFkaWFucygyNjEuMTA1KStNLnRvUmFkaWFucygxMy4zNDA3MTYpKm8sdT1NLnRvUmFkaWFucygzNTgpK00udG9SYWRpYW5zKC45ODU2KSpvO3JldHVybiBJcC5waXRjaD1NLnRvUmFkaWFucygxODApLU0udG9SYWRpYW5zKDMuODc4KSpNYXRoLnNpbihyKS1NLnRvUmFkaWFucyguMTIpKk1hdGguc2luKGkpK00udG9SYWRpYW5zKC4wNykqTWF0aC5zaW4ocyktTS50b1JhZGlhbnMoLjAxNykqTWF0aC5zaW4oZiksSXAucm9sbD1NLnRvUmFkaWFucyg2Ni41My05MCkrTS50b1JhZGlhbnMoMS41NDMpKk1hdGguY29zKHIpK00udG9SYWRpYW5zKC4yNCkqTWF0aC5jb3MoaSktTS50b1JhZGlhbnMoLjAyOCkqTWF0aC5jb3MocykrTS50b1JhZGlhbnMoLjAwNykqTWF0aC5jb3MoZiksSXAuaGVhZGluZz1NLnRvUmFkaWFucygyNDQuMzc1LTkwKStNLnRvUmFkaWFucygxMy4xNzYzNTgzMSkqbytNLnRvUmFkaWFucygzLjU1OCkqTWF0aC5zaW4ocikrTS50b1JhZGlhbnMoLjEyMSkqTWF0aC5zaW4oaSktTS50b1JhZGlhbnMoLjA2NCkqTWF0aC5zaW4ocykrTS50b1JhZGlhbnMoLjAxNikqTWF0aC5zaW4oZikrTS50b1JhZGlhbnMoLjAyNSkqTWF0aC5zaW4odSksUS5mcm9tSGVhZGluZ1BpdGNoUm9sbChJcCx5Myl9O1JlLmNvbXB1dGVJY3JmVG9Nb29uRml4ZWRNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigiZGF0ZSBpcyByZXF1aXJlZC4iKTtoKGUpfHwoZT1uZXcgUSk7bGV0IG49UmUuY29tcHV0ZU1vb25GaXhlZFRvSWNyZk1hdHJpeCh0LGUpO2lmKGgobikpcmV0dXJuIFEudHJhbnNwb3NlKG4sZSl9O0EzPW5ldyBncCgwLDAsMCksYjM9bmV3IGFmKDAsMCwwLDAsMCwwKSxtaD1uZXcgUSxoaD1uZXcgUTtSZS5jb21wdXRlRml4ZWRUb0ljcmZNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigiZGF0ZSBpcyByZXF1aXJlZC4iKTtoKGUpfHwoZT1uZXcgUSk7bGV0IG49UmUuZWFydGhPcmllbnRhdGlvblBhcmFtZXRlcnMuY29tcHV0ZSh0LGIzKTtpZighaChuKSlyZXR1cm47bGV0IG89dC5kYXlOdW1iZXIscj10LnNlY29uZHNPZkRheStfaCxpPVJlLmlhdTIwMDZYeXNEYXRhLmNvbXB1dGVYeXNSYWRpYW5zKG8scixBMyk7aWYoIWgoaSkpcmV0dXJuO2xldCBzPWkueCtuLnhQb2xlT2Zmc2V0LGY9aS55K24ueVBvbGVPZmZzZXQsdT0xLygxK01hdGguc3FydCgxLXMqcy1mKmYpKSxjPW1oO2NbMF09MS11KnMqcyxjWzNdPS11KnMqZixjWzZdPXMsY1sxXT0tdSpzKmYsY1s0XT0xLXUqZipmLGNbN109ZixjWzJdPS1zLGNbNV09LWYsY1s4XT0xLXUqKHMqcytmKmYpO2xldCBsPVEuZnJvbVJvdGF0aW9uWigtaS5zLGhoKSxwPVEubXVsdGlwbHkoYyxsLG1oKSxkPXQuZGF5TnVtYmVyLG09dC5zZWNvbmRzT2ZEYXkta24uY29tcHV0ZVRhaU1pbnVzVXRjKHQpK24udXQxTWludXNVdGMsXz1kLTI0NTE1NDUsZz1tL3luLlNFQ09ORFNfUEVSX0RBWSxiPS43NzkwNTcyNzMyNjQrZysuMDAyNzM3ODExOTExMzU0NDgqKF8rZyk7Yj1iJTEqTS5UV09fUEk7bGV0IFQ9US5mcm9tUm90YXRpb25aKGIsaGgpLE89US5tdWx0aXBseShwLFQsbWgpLEU9TWF0aC5jb3Mobi54UG9sZVdhbmRlciksdz1NYXRoLmNvcyhuLnlQb2xlV2FuZGVyKSxDPU1hdGguc2luKG4ueFBvbGVXYW5kZXIpLE49TWF0aC5zaW4obi55UG9sZVdhbmRlciksST1vLW0zK3IveW4uU0VDT05EU19QRVJfREFZO0kvPTM2NTI1O2xldCBEPS00N2UtNipJKk0uUkFESUFOU19QRVJfREVHUkVFLzM2MDAsdj1NYXRoLmNvcyhEKSxMPU1hdGguc2luKEQpLFU9aGg7cmV0dXJuIFVbMF09RSp2LFVbMV09RSpMLFVbMl09QyxVWzNdPS13KkwrTipDKnYsVVs0XT13KnYrTipDKkwsVVs1XT0tTipFLFVbNl09LU4qTC13KkMqdixVWzddPU4qdi13KkMqTCxVWzhdPXcqRSxRLm11bHRpcGx5KE8sVSxlKX07VDM9bmV3IGhlO1JlLnBvaW50VG9XaW5kb3dDb29yZGluYXRlcz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4gbz1SZS5wb2ludFRvR0xXaW5kb3dDb29yZGluYXRlcyh0LGUsbixvKSxvLnk9MiplWzVdLW8ueSxvfTtSZS5wb2ludFRvR0xXaW5kb3dDb29yZGluYXRlcz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgRigibW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigidmlld3BvcnRUcmFuc2Zvcm1hdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigicG9pbnQgaXMgcmVxdWlyZWQuIik7aChvKXx8KG89bmV3IHR0KTtsZXQgcj1UMztyZXR1cm4gc3QubXVsdGlwbHlCeVZlY3Rvcih0LGhlLmZyb21FbGVtZW50cyhuLngsbi55LG4ueiwxLHIpLHIpLGhlLm11bHRpcGx5QnlTY2FsYXIociwxL3IudyxyKSxzdC5tdWx0aXBseUJ5VmVjdG9yKGUscixyKSx0dC5mcm9tQ2FydGVzaWFuNChyLG8pfTt3Mz1uZXcgYSxPMz1uZXcgYSxFMz1uZXcgYTtSZS5yb3RhdGlvbk1hdHJpeEZyb21Qb3NpdGlvblZlbG9jaXR5PWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJwb3NpdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigidmVsb2NpdHkgaXMgcmVxdWlyZWQuIik7bGV0IHI9eChuLCQuZGVmYXVsdCkuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHQsdzMpLGk9YS5jcm9zcyhlLHIsTzMpO2EuZXF1YWxzRXBzaWxvbihpLGEuWkVSTyxNLkVQU0lMT042KSYmKGk9YS5jbG9uZShhLlVOSVRfWCxpKSk7bGV0IHM9YS5jcm9zcyhpLGUsRTMpO3JldHVybiBhLm5vcm1hbGl6ZShzLHMpLGEuY3Jvc3MoZSxzLGkpLGEubmVnYXRlKGksaSksYS5ub3JtYWxpemUoaSxpKSxoKG8pfHwobz1uZXcgUSksb1swXT1lLngsb1sxXT1lLnksb1syXT1lLnosb1szXT1pLngsb1s0XT1pLnksb1s1XT1pLnosb1s2XT1zLngsb1s3XT1zLnksb1s4XT1zLnosb307cmI9bmV3IHN0KDAsMCwxLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwwLDEpLGliPW5ldyBjdCx5aD1uZXcgYSxSMz1uZXcgYSxTMz1uZXcgUSxnaD1uZXcgc3Qsc2I9bmV3IHN0O1JlLmJhc2lzVG8yRD1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInByb2plY3Rpb24gaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoIm1hdHJpeCBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigicmVzdWx0IGlzIHJlcXVpcmVkLiIpO2xldCBvPXN0LmdldFRyYW5zbGF0aW9uKGUsUjMpLHI9dC5lbGxpcHNvaWQsaTtpZihhLmVxdWFscyhvLGEuWkVSTykpaT1hLmNsb25lKGEuWkVSTyx5aCk7ZWxzZXtsZXQgbD1yLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG8saWIpO2k9dC5wcm9qZWN0KGwseWgpLGEuZnJvbUVsZW1lbnRzKGkueixpLngsaS55LGkpfWxldCBzPVJlLmVhc3ROb3J0aFVwVG9GaXhlZEZyYW1lKG8scixnaCksZj1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24ocyxzYiksdT1zdC5nZXRNYXRyaXgzKGUsUzMpLGM9c3QubXVsdGlwbHlCeU1hdHJpeDMoZix1LG4pO3JldHVybiBzdC5tdWx0aXBseShyYixjLG4pLHN0LnNldFRyYW5zbGF0aW9uKG4saSxuKSxufTtSZS5lbGxpcHNvaWRUbzJETW9kZWxNYXRyaXg9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJwcm9qZWN0aW9uIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJjZW50ZXIgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoInJlc3VsdCBpcyByZXF1aXJlZC4iKTtsZXQgbz10LmVsbGlwc29pZCxyPVJlLmVhc3ROb3J0aFVwVG9GaXhlZEZyYW1lKGUsbyxnaCksaT1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24ocixzYikscz1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGUsaWIpLGY9dC5wcm9qZWN0KHMseWgpO2EuZnJvbUVsZW1lbnRzKGYueixmLngsZi55LGYpO2xldCB1PXN0LmZyb21UcmFuc2xhdGlvbihmLGdoKTtyZXR1cm4gc3QubXVsdGlwbHkocmIsaSxuKSxzdC5tdWx0aXBseSh1LG4sbiksbn07WG89UmV9KTtmdW5jdGlvbiBiZih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJpZGVudGlmaWVyIGlzIHJlcXVpcmVkLiIpO2goY2JbdF0pfHwoY2JbdF09ITAsY29uc29sZS53YXJuKHgoZSx0KSkpfXZhciBjYixuYSx2cD1aKCgpPT57SXQoKTtmdCgpO0h0KCk7Y2I9e307YmYuZ2VvbWV0cnlPdXRsaW5lcz0iRW50aXR5IGdlb21ldHJ5IG91dGxpbmVzIGFyZSB1bnN1cHBvcnRlZCBvbiB0ZXJyYWluLiBPdXRsaW5lcyB3aWxsIGJlIGRpc2FibGVkLiBUbyBlbmFibGUgb3V0bGluZXMsIGRpc2FibGUgZ2VvbWV0cnkgdGVycmFpbiBjbGFtcGluZyBieSBleHBsaWNpdGx5IHNldHRpbmcgaGVpZ2h0IHRvIDAuIjtiZi5nZW9tZXRyeVpJbmRleD0iRW50aXR5IGdlb21ldHJ5IHdpdGggekluZGV4IGFyZSB1bnN1cHBvcnRlZCB3aGVuIGhlaWdodCBvciBleHRydWRlZEhlaWdodCBhcmUgZGVmaW5lZC4gIHpJbmRleCB3aWxsIGJlIGlnbm9yZWQiO2JmLmdlb21ldHJ5SGVpZ2h0UmVmZXJlbmNlPSJFbnRpdHkgY29ycmlkb3IsIGVsbGlwc2UsIHBvbHlnb24gb3IgcmVjdGFuZ2xlIHdpdGggaGVpZ2h0UmVmZXJlbmNlIG11c3QgYWxzbyBoYXZlIGEgZGVmaW5lZCBoZWlnaHQuICBoZWlnaHRSZWZlcmVuY2Ugd2lsbCBiZSBpZ25vcmVkIjtiZi5nZW9tZXRyeUV4dHJ1ZGVkSGVpZ2h0UmVmZXJlbmNlPSJFbnRpdHkgY29ycmlkb3IsIGVsbGlwc2UsIHBvbHlnb24gb3IgcmVjdGFuZ2xlIHdpdGggZXh0cnVkZWRIZWlnaHRSZWZlcmVuY2UgbXVzdCBhbHNvIGhhdmUgYSBkZWZpbmVkIGV4dHJ1ZGVkSGVpZ2h0LiAgZXh0cnVkZWRIZWlnaHRSZWZlcmVuY2Ugd2lsbCBiZSBpZ25vcmVkIjtuYT1iZn0pO2Z1bmN0aW9uIEMzKHQsZSl7aWYoIWgodCl8fCFoKGUpKXRocm93IG5ldyBGKCJpZGVudGlmaWVyIGFuZCBtZXNzYWdlIGFyZSByZXF1aXJlZC4iKTtuYSh0LGUpfXZhciBhYixmYj1aKCgpPT57ZnQoKTtIdCgpO3ZwKCk7YWI9QzN9KTtmdW5jdGlvbiBzZSh0LGUsbixvKXt0aGlzLndlc3Q9eCh0LDApLHRoaXMuc291dGg9eChlLDApLHRoaXMuZWFzdD14KG4sMCksdGhpcy5ub3J0aD14KG8sMCl9dmFyIHgzLFAzLE0zLE4zLEkzLEFoLHYzLE50LHduPVooKCk9PntGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7WnQoKTtXdCgpO2NzKCk7VW4oKTtmYigpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHNlLnByb3RvdHlwZSx7d2lkdGg6e2dldDpmdW5jdGlvbigpe3JldHVybiBzZS5jb21wdXRlV2lkdGgodGhpcyl9fSxoZWlnaHQ6e2dldDpmdW5jdGlvbigpe3JldHVybiBzZS5jb21wdXRlSGVpZ2h0KHRoaXMpfX19KTtzZS5wYWNrZWRMZW5ndGg9NDtzZS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXQud2VzdCxlW24rK109dC5zb3V0aCxlW24rK109dC5lYXN0LGVbbl09dC5ub3J0aCxlfTtzZS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKSxoKG4pfHwobj1uZXcgc2UpLG4ud2VzdD10W2UrK10sbi5zb3V0aD10W2UrK10sbi5lYXN0PXRbZSsrXSxuLm5vcnRoPXRbZV0sbn07c2UuY29tcHV0ZVdpZHRoPWZ1bmN0aW9uKHQpe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KTtsZXQgZT10LmVhc3Qsbj10Lndlc3Q7cmV0dXJuIGU8biYmKGUrPU0uVFdPX1BJKSxlLW59O3NlLmNvbXB1dGVIZWlnaHQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KSx0Lm5vcnRoLXQuc291dGh9O3NlLmZyb21EZWdyZWVzPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIHQ9TS50b1JhZGlhbnMoeCh0LDApKSxlPU0udG9SYWRpYW5zKHgoZSwwKSksbj1NLnRvUmFkaWFucyh4KG4sMCkpLG89TS50b1JhZGlhbnMoeChvLDApKSxoKHIpPyhyLndlc3Q9dCxyLnNvdXRoPWUsci5lYXN0PW4sci5ub3J0aD1vLHIpOm5ldyBzZSh0LGUsbixvKX07c2UuZnJvbVJhZGlhbnM9ZnVuY3Rpb24odCxlLG4sbyxyKXtyZXR1cm4gaChyKT8oci53ZXN0PXgodCwwKSxyLnNvdXRoPXgoZSwwKSxyLmVhc3Q9eChuLDApLHIubm9ydGg9eChvLDApLHIpOm5ldyBzZSh0LGUsbixvKX07c2UuZnJvbUNhcnRvZ3JhcGhpY0FycmF5PWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJjYXJ0b2dyYXBoaWNzIix0KTtsZXQgbj1OdW1iZXIuTUFYX1ZBTFVFLG89LU51bWJlci5NQVhfVkFMVUUscj1OdW1iZXIuTUFYX1ZBTFVFLGk9LU51bWJlci5NQVhfVkFMVUUscz1OdW1iZXIuTUFYX1ZBTFVFLGY9LU51bWJlci5NQVhfVkFMVUU7Zm9yKGxldCB1PTAsYz10Lmxlbmd0aDt1PGM7dSsrKXtsZXQgbD10W3VdO249TWF0aC5taW4obixsLmxvbmdpdHVkZSksbz1NYXRoLm1heChvLGwubG9uZ2l0dWRlKSxzPU1hdGgubWluKHMsbC5sYXRpdHVkZSksZj1NYXRoLm1heChmLGwubGF0aXR1ZGUpO2xldCBwPWwubG9uZ2l0dWRlPj0wP2wubG9uZ2l0dWRlOmwubG9uZ2l0dWRlK00uVFdPX1BJO3I9TWF0aC5taW4ocixwKSxpPU1hdGgubWF4KGkscCl9cmV0dXJuIG8tbj5pLXImJihuPXIsbz1pLG8+TS5QSSYmKG89by1NLlRXT19QSSksbj5NLlBJJiYobj1uLU0uVFdPX1BJKSksaChlKT8oZS53ZXN0PW4sZS5zb3V0aD1zLGUuZWFzdD1vLGUubm9ydGg9ZixlKTpuZXcgc2UobixzLG8sZil9O3NlLmZyb21DYXJ0ZXNpYW5BcnJheT1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJjYXJ0ZXNpYW5zIix0KSxlPXgoZSwkLmRlZmF1bHQpO2xldCBvPU51bWJlci5NQVhfVkFMVUUscj0tTnVtYmVyLk1BWF9WQUxVRSxpPU51bWJlci5NQVhfVkFMVUUscz0tTnVtYmVyLk1BWF9WQUxVRSxmPU51bWJlci5NQVhfVkFMVUUsdT0tTnVtYmVyLk1BWF9WQUxVRTtmb3IobGV0IGM9MCxsPXQubGVuZ3RoO2M8bDtjKyspe2xldCBwPWUuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWModFtjXSk7bz1NYXRoLm1pbihvLHAubG9uZ2l0dWRlKSxyPU1hdGgubWF4KHIscC5sb25naXR1ZGUpLGY9TWF0aC5taW4oZixwLmxhdGl0dWRlKSx1PU1hdGgubWF4KHUscC5sYXRpdHVkZSk7bGV0IGQ9cC5sb25naXR1ZGU+PTA/cC5sb25naXR1ZGU6cC5sb25naXR1ZGUrTS5UV09fUEk7aT1NYXRoLm1pbihpLGQpLHM9TWF0aC5tYXgocyxkKX1yZXR1cm4gci1vPnMtaSYmKG89aSxyPXMscj5NLlBJJiYocj1yLU0uVFdPX1BJKSxvPk0uUEkmJihvPW8tTS5UV09fUEkpKSxoKG4pPyhuLndlc3Q9byxuLnNvdXRoPWYsbi5lYXN0PXIsbi5ub3J0aD11LG4pOm5ldyBzZShvLGYscix1KX07eDM9bmV3IGEsUDM9bmV3IGEsTTM9bmV3IGEsTjM9bmV3IGEsSTM9bmV3IGEsQWg9bmV3IEFycmF5KDUpO2ZvcihsZXQgdD0wO3Q8QWgubGVuZ3RoOysrdClBaFt0XT1uZXcgYTtzZS5mcm9tQm91bmRpbmdTcGhlcmU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgiYm91bmRpbmdTcGhlcmUiLHQpO2xldCBvPXQuY2VudGVyLHI9dC5yYWRpdXM7aWYoaChlKXx8KGU9JC5kZWZhdWx0KSxoKG4pfHwobj1uZXcgc2UpLGEuZXF1YWxzKG8sYS5aRVJPKSlyZXR1cm4gc2UuY2xvbmUoc2UuTUFYX1ZBTFVFLG4pLG47bGV0IGk9WG8uZWFzdE5vcnRoVXBUb0ZpeGVkRnJhbWUobyxlLHgzKSxzPXN0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yKGksYS5VTklUX1gsUDMpO2Eubm9ybWFsaXplKHMscyk7bGV0IGY9c3QubXVsdGlwbHlCeVBvaW50QXNWZWN0b3IoaSxhLlVOSVRfWSxNMyk7YS5ub3JtYWxpemUoZixmKSxhLm11bHRpcGx5QnlTY2FsYXIoZixyLGYpLGEubXVsdGlwbHlCeVNjYWxhcihzLHIscyk7bGV0IHU9YS5uZWdhdGUoZixJMyksYz1hLm5lZ2F0ZShzLE4zKSxsPUFoLHA9bFswXTtyZXR1cm4gYS5hZGQobyxmLHApLHA9bFsxXSxhLmFkZChvLGMscCkscD1sWzJdLGEuYWRkKG8sdSxwKSxwPWxbM10sYS5hZGQobyxzLHApLGxbNF09byxzZS5mcm9tQ2FydGVzaWFuQXJyYXkobCxlLG4pfTtzZS5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUud2VzdD10Lndlc3QsZS5zb3V0aD10LnNvdXRoLGUuZWFzdD10LmVhc3QsZS5ub3J0aD10Lm5vcnRoLGUpOm5ldyBzZSh0Lndlc3QsdC5zb3V0aCx0LmVhc3QsdC5ub3J0aCl9O3NlLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuPXgobiwwKSx0PT09ZXx8aCh0KSYmaChlKSYmTWF0aC5hYnModC53ZXN0LWUud2VzdCk8PW4mJk1hdGguYWJzKHQuc291dGgtZS5zb3V0aCk8PW4mJk1hdGguYWJzKHQuZWFzdC1lLmVhc3QpPD1uJiZNYXRoLmFicyh0Lm5vcnRoLWUubm9ydGgpPD1ufTtzZS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIHNlLmNsb25lKHRoaXMsdCl9O3NlLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIHNlLmVxdWFscyh0aGlzLHQpfTtzZS5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQud2VzdD09PWUud2VzdCYmdC5zb3V0aD09PWUuc291dGgmJnQuZWFzdD09PWUuZWFzdCYmdC5ub3J0aD09PWUubm9ydGh9O3NlLnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHNlLmVxdWFsc0Vwc2lsb24odGhpcyx0LGUpfTtzZS52YWxpZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gYWIoIlJlY3RhbmdsZS52YWxpZGF0ZSIsIlJlY3RhbmdsZS52YWxpZGF0ZSBpcyBhIG5vLW9wIGFuZCBoYXMgYmVlbiBkZXByZWNhdGVkLiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gQ2VzaXVtIDEuMTI0LiIpLHNlLl92YWxpZGF0ZSh0KX07c2UuX3ZhbGlkYXRlPWZ1bmN0aW9uKHQpe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KTtsZXQgZT10Lm5vcnRoO3kudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJub3J0aCIsZSwtTS5QSV9PVkVSX1RXTykseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIm5vcnRoIixlLE0uUElfT1ZFUl9UV08pO2xldCBuPXQuc291dGg7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInNvdXRoIixuLC1NLlBJX09WRVJfVFdPKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygic291dGgiLG4sTS5QSV9PVkVSX1RXTyk7bGV0IG89dC53ZXN0O3kudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJ3ZXN0IixvLC1NYXRoLlBJKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygid2VzdCIsbyxNYXRoLlBJKTtsZXQgcj10LmVhc3Q7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImVhc3QiLHIsLU1hdGguUEkpLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJlYXN0IixyLE1hdGguUEkpfTtzZS5zb3V0aHdlc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQud2VzdCxlLmxhdGl0dWRlPXQuc291dGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC53ZXN0LHQuc291dGgpfTtzZS5ub3J0aHdlc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQud2VzdCxlLmxhdGl0dWRlPXQubm9ydGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC53ZXN0LHQubm9ydGgpfTtzZS5ub3J0aGVhc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQuZWFzdCxlLmxhdGl0dWRlPXQubm9ydGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC5lYXN0LHQubm9ydGgpfTtzZS5zb3V0aGVhc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQuZWFzdCxlLmxhdGl0dWRlPXQuc291dGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC5lYXN0LHQuc291dGgpfTtzZS5jZW50ZXI9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCk7bGV0IG49dC5lYXN0LG89dC53ZXN0O248byYmKG4rPU0uVFdPX1BJKTtsZXQgcj1NLm5lZ2F0aXZlUGlUb1BpKChvK24pKi41KSxpPSh0LnNvdXRoK3Qubm9ydGgpKi41O3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT1yLGUubGF0aXR1ZGU9aSxlLmhlaWdodD0wLGUpOm5ldyBjdChyLGkpfTtzZS5pbnRlcnNlY3Rpb249ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KSx5LnR5cGVPZi5vYmplY3QoIm90aGVyUmVjdGFuZ2xlIixlKTtsZXQgbz10LmVhc3Qscj10Lndlc3QsaT1lLmVhc3Qscz1lLndlc3Q7bzxyJiZpPjA/bys9TS5UV09fUEk6aTxzJiZvPjAmJihpKz1NLlRXT19QSSksbzxyJiZzPDA/cys9TS5UV09fUEk6aTxzJiZyPDAmJihyKz1NLlRXT19QSSk7bGV0IGY9TS5uZWdhdGl2ZVBpVG9QaShNYXRoLm1heChyLHMpKSx1PU0ubmVnYXRpdmVQaVRvUGkoTWF0aC5taW4obyxpKSk7aWYoKHQud2VzdDx0LmVhc3R8fGUud2VzdDxlLmVhc3QpJiZ1PD1mKXJldHVybjtsZXQgYz1NYXRoLm1heCh0LnNvdXRoLGUuc291dGgpLGw9TWF0aC5taW4odC5ub3J0aCxlLm5vcnRoKTtpZighKGM+PWwpKXJldHVybiBoKG4pPyhuLndlc3Q9ZixuLnNvdXRoPWMsbi5lYXN0PXUsbi5ub3J0aD1sLG4pOm5ldyBzZShmLGMsdSxsKX07c2Uuc2ltcGxlSW50ZXJzZWN0aW9uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCkseS50eXBlT2Yub2JqZWN0KCJvdGhlclJlY3RhbmdsZSIsZSk7bGV0IG89TWF0aC5tYXgodC53ZXN0LGUud2VzdCkscj1NYXRoLm1heCh0LnNvdXRoLGUuc291dGgpLGk9TWF0aC5taW4odC5lYXN0LGUuZWFzdCkscz1NYXRoLm1pbih0Lm5vcnRoLGUubm9ydGgpO2lmKCEocj49c3x8bz49aSkpcmV0dXJuIGgobik/KG4ud2VzdD1vLG4uc291dGg9cixuLmVhc3Q9aSxuLm5vcnRoPXMsbik6bmV3IHNlKG8scixpLHMpfTtzZS51bmlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLHkudHlwZU9mLm9iamVjdCgib3RoZXJSZWN0YW5nbGUiLGUpLGgobil8fChuPW5ldyBzZSk7bGV0IG89dC5lYXN0LHI9dC53ZXN0LGk9ZS5lYXN0LHM9ZS53ZXN0O288ciYmaT4wP28rPU0uVFdPX1BJOmk8cyYmbz4wJiYoaSs9TS5UV09fUEkpLG88ciYmczwwP3MrPU0uVFdPX1BJOmk8cyYmcjwwJiYocis9TS5UV09fUEkpO2xldCBmPU0ubmVnYXRpdmVQaVRvUGkoTWF0aC5taW4ocixzKSksdT1NLm5lZ2F0aXZlUGlUb1BpKE1hdGgubWF4KG8saSkpO3JldHVybiBuLndlc3Q9ZixuLnNvdXRoPU1hdGgubWluKHQuc291dGgsZS5zb3V0aCksbi5lYXN0PXUsbi5ub3J0aD1NYXRoLm1heCh0Lm5vcnRoLGUubm9ydGgpLG59O3NlLmV4cGFuZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRvZ3JhcGhpYyIsZSksaChuKXx8KG49bmV3IHNlKSxuLndlc3Q9TWF0aC5taW4odC53ZXN0LGUubG9uZ2l0dWRlKSxuLnNvdXRoPU1hdGgubWluKHQuc291dGgsZS5sYXRpdHVkZSksbi5lYXN0PU1hdGgubWF4KHQuZWFzdCxlLmxvbmdpdHVkZSksbi5ub3J0aD1NYXRoLm1heCh0Lm5vcnRoLGUubGF0aXR1ZGUpLG59O3NlLmNvbnRhaW5zPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLHkudHlwZU9mLm9iamVjdCgiY2FydG9ncmFwaGljIixlKTtsZXQgbj1lLmxvbmdpdHVkZSxvPWUubGF0aXR1ZGUscj10Lndlc3QsaT10LmVhc3Q7cmV0dXJuIGk8ciYmKGkrPU0uVFdPX1BJLG48MCYmKG4rPU0uVFdPX1BJKSksKG4+cnx8TS5lcXVhbHNFcHNpbG9uKG4scixNLkVQU0lMT04xNCkpJiYobjxpfHxNLmVxdWFsc0Vwc2lsb24obixpLE0uRVBTSUxPTjE0KSkmJm8+PXQuc291dGgmJm88PXQubm9ydGh9O3YzPW5ldyBjdDtzZS5zdWJzYW1wbGU9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGU9eChlLCQuZGVmYXVsdCksbj14KG4sMCksaChvKXx8KG89W10pO2xldCByPTAsaT10Lm5vcnRoLHM9dC5zb3V0aCxmPXQuZWFzdCx1PXQud2VzdCxjPXYzO2MuaGVpZ2h0PW4sYy5sb25naXR1ZGU9dSxjLmxhdGl0dWRlPWksb1tyXT1lLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGMsb1tyXSkscisrLGMubG9uZ2l0dWRlPWYsb1tyXT1lLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGMsb1tyXSkscisrLGMubGF0aXR1ZGU9cyxvW3JdPWUuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oYyxvW3JdKSxyKyssYy5sb25naXR1ZGU9dSxvW3JdPWUuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oYyxvW3JdKSxyKyssaTwwP2MubGF0aXR1ZGU9aTpzPjA/Yy5sYXRpdHVkZT1zOmMubGF0aXR1ZGU9MDtmb3IobGV0IGw9MTtsPDg7KytsKWMubG9uZ2l0dWRlPS1NYXRoLlBJK2wqTS5QSV9PVkVSX1RXTyxzZS5jb250YWlucyh0LGMpJiYob1tyXT1lLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGMsb1tyXSkscisrKTtyZXR1cm4gYy5sYXRpdHVkZT09PTAmJihjLmxvbmdpdHVkZT11LG9bcl09ZS5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihjLG9bcl0pLHIrKyxjLmxvbmdpdHVkZT1mLG9bcl09ZS5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihjLG9bcl0pLHIrKyksby5sZW5ndGg9cixvfTtzZS5zdWJzZWN0aW9uPWZ1bmN0aW9uKHQsZSxuLG8scixpKXtpZih5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIndlc3RMZXJwIixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJ3ZXN0TGVycCIsZSwxKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygic291dGhMZXJwIixuLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJzb3V0aExlcnAiLG4sMSkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImVhc3RMZXJwIixvLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJlYXN0TGVycCIsbywxKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygibm9ydGhMZXJwIixyLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJub3J0aExlcnAiLHIsMSkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIndlc3RMZXJwIixlLG8pLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJzb3V0aExlcnAiLG4sciksaChpKXx8KGk9bmV3IHNlKSx0Lndlc3Q8PXQuZWFzdCl7bGV0IGY9dC5lYXN0LXQud2VzdDtpLndlc3Q9dC53ZXN0K2UqZixpLmVhc3Q9dC53ZXN0K28qZn1lbHNle2xldCBmPU0uVFdPX1BJK3QuZWFzdC10Lndlc3Q7aS53ZXN0PU0ubmVnYXRpdmVQaVRvUGkodC53ZXN0K2UqZiksaS5lYXN0PU0ubmVnYXRpdmVQaVRvUGkodC53ZXN0K28qZil9bGV0IHM9dC5ub3J0aC10LnNvdXRoO3JldHVybiBpLnNvdXRoPXQuc291dGgrbipzLGkubm9ydGg9dC5zb3V0aCtyKnMsZT09PTEmJihpLndlc3Q9dC5lYXN0KSxvPT09MSYmKGkuZWFzdD10LmVhc3QpLG49PT0xJiYoaS5zb3V0aD10Lm5vcnRoKSxyPT09MSYmKGkubm9ydGg9dC5ub3J0aCksaX07c2UuTUFYX1ZBTFVFPU9iamVjdC5mcmVlemUobmV3IHNlKC1NYXRoLlBJLC1NLlBJX09WRVJfVFdPLE1hdGguUEksTS5QSV9PVkVSX1RXTykpO050PXNlfSk7ZnVuY3Rpb24gbmUodCxlKXt0aGlzLmNlbnRlcj1hLmNsb25lKHgodCxhLlpFUk8pKSx0aGlzLnJhZGl1cz14KGUsMCl9dmFyIHdoLE9oLEVoLFJoLFNoLENoLHhoLGlvLFBoLE1oLE5oLEloLEwzLHViLEQzLEYzLGJoLFRoLEIzLFUzLFYzLGszLEczLHozLGozLEgzLHEzLEszLFczLFgzLGxiLFkzLCQzLFozLFEzLEozLGRiLHBiLEF0LHZlPVooKCk9PntGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7WnQoKTtTaSgpO2tzKCk7SGwoKTtXdCgpO0JuKCk7VW4oKTt3bigpO3doPW5ldyBhLE9oPW5ldyBhLEVoPW5ldyBhLFJoPW5ldyBhLFNoPW5ldyBhLENoPW5ldyBhLHhoPW5ldyBhLGlvPW5ldyBhLFBoPW5ldyBhLE1oPW5ldyBhLE5oPW5ldyBhLEloPW5ldyBhLEwzPTQvMypNLlBJO25lLmZyb21Qb2ludHM9ZnVuY3Rpb24odCxlKXtpZihoKGUpfHwoZT1uZXcgbmUpLCFoKHQpfHx0Lmxlbmd0aD09PTApcmV0dXJuIGUuY2VudGVyPWEuY2xvbmUoYS5aRVJPLGUuY2VudGVyKSxlLnJhZGl1cz0wLGU7bGV0IG49YS5jbG9uZSh0WzBdLHhoKSxvPWEuY2xvbmUobix3aCkscj1hLmNsb25lKG4sT2gpLGk9YS5jbG9uZShuLEVoKSxzPWEuY2xvbmUobixSaCksZj1hLmNsb25lKG4sU2gpLHU9YS5jbG9uZShuLENoKSxjPXQubGVuZ3RoLGw7Zm9yKGw9MTtsPGM7bCsrKXthLmNsb25lKHRbbF0sbik7bGV0IEQ9bi54LHY9bi55LEw9bi56O0Q8by54JiZhLmNsb25lKG4sbyksRD5zLngmJmEuY2xvbmUobixzKSx2PHIueSYmYS5jbG9uZShuLHIpLHY+Zi55JiZhLmNsb25lKG4sZiksTDxpLnomJmEuY2xvbmUobixpKSxMPnUueiYmYS5jbG9uZShuLHUpfWxldCBwPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KHMsbyxpbykpLGQ9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QoZixyLGlvKSksbT1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdCh1LGksaW8pKSxfPW8sZz1zLGI9cDtkPmImJihiPWQsXz1yLGc9ZiksbT5iJiYoYj1tLF89aSxnPXUpO2xldCBUPVBoO1QueD0oXy54K2cueCkqLjUsVC55PShfLnkrZy55KSouNSxULno9KF8ueitnLnopKi41O2xldCBPPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGcsVCxpbykpLEU9TWF0aC5zcXJ0KE8pLHc9TWg7dy54PW8ueCx3Lnk9ci55LHcuej1pLno7bGV0IEM9Tmg7Qy54PXMueCxDLnk9Zi55LEMuej11Lno7bGV0IE49YS5taWRwb2ludCh3LEMsSWgpLEk9MDtmb3IobD0wO2w8YztsKyspe2EuY2xvbmUodFtsXSxuKTtsZXQgRD1hLm1hZ25pdHVkZShhLnN1YnRyYWN0KG4sTixpbykpO0Q+SSYmKEk9RCk7bGV0IHY9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QobixULGlvKSk7aWYodj5PKXtsZXQgTD1NYXRoLnNxcnQodik7RT0oRStMKSouNSxPPUUqRTtsZXQgVT1MLUU7VC54PShFKlQueCtVKm4ueCkvTCxULnk9KEUqVC55K1Uqbi55KS9MLFQuej0oRSpULnorVSpuLnopL0x9fXJldHVybiBFPEk/KGEuY2xvbmUoVCxlLmNlbnRlciksZS5yYWRpdXM9RSk6KGEuY2xvbmUoTixlLmNlbnRlciksZS5yYWRpdXM9SSksZX07dWI9bmV3IEpuLEQzPW5ldyBhLEYzPW5ldyBhLGJoPW5ldyBjdCxUaD1uZXcgY3Q7bmUuZnJvbVJlY3RhbmdsZTJEPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbmUuZnJvbVJlY3RhbmdsZVdpdGhIZWlnaHRzMkQodCxlLDAsMCxuKX07bmUuZnJvbVJlY3RhbmdsZVdpdGhIZWlnaHRzMkQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZihoKHIpfHwocj1uZXcgbmUpLCFoKHQpKXJldHVybiByLmNlbnRlcj1hLmNsb25lKGEuWkVSTyxyLmNlbnRlciksci5yYWRpdXM9MCxyO3ViLl9lbGxpcHNvaWQ9JC5kZWZhdWx0LGU9eChlLHViKSxOdC5zb3V0aHdlc3QodCxiaCksYmguaGVpZ2h0PW4sTnQubm9ydGhlYXN0KHQsVGgpLFRoLmhlaWdodD1vO2xldCBpPWUucHJvamVjdChiaCxEMykscz1lLnByb2plY3QoVGgsRjMpLGY9cy54LWkueCx1PXMueS1pLnksYz1zLnotaS56O3IucmFkaXVzPU1hdGguc3FydChmKmYrdSp1K2MqYykqLjU7bGV0IGw9ci5jZW50ZXI7cmV0dXJuIGwueD1pLngrZiouNSxsLnk9aS55K3UqLjUsbC56PWkueitjKi41LHJ9O0IzPVtdO25lLmZyb21SZWN0YW5nbGUzRD1mdW5jdGlvbih0LGUsbixvKXtpZihlPXgoZSwkLmRlZmF1bHQpLG49eChuLDApLGgobyl8fChvPW5ldyBuZSksIWgodCkpcmV0dXJuIG8uY2VudGVyPWEuY2xvbmUoYS5aRVJPLG8uY2VudGVyKSxvLnJhZGl1cz0wLG87bGV0IHI9TnQuc3Vic2FtcGxlKHQsZSxuLEIzKTtyZXR1cm4gbmUuZnJvbVBvaW50cyhyLG8pfTtuZS5mcm9tVmVydGljZXM9ZnVuY3Rpb24odCxlLG4sbyl7aWYoaChvKXx8KG89bmV3IG5lKSwhaCh0KXx8dC5sZW5ndGg9PT0wKXJldHVybiBvLmNlbnRlcj1hLmNsb25lKGEuWkVSTyxvLmNlbnRlciksby5yYWRpdXM9MCxvO2U9eChlLGEuWkVSTyksbj14KG4sMykseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInN0cmlkZSIsbiwzKTtsZXQgcj14aDtyLng9dFswXStlLngsci55PXRbMV0rZS55LHIuej10WzJdK2UuejtsZXQgaT1hLmNsb25lKHIsd2gpLHM9YS5jbG9uZShyLE9oKSxmPWEuY2xvbmUocixFaCksdT1hLmNsb25lKHIsUmgpLGM9YS5jbG9uZShyLFNoKSxsPWEuY2xvbmUocixDaCkscD10Lmxlbmd0aCxkO2ZvcihkPTA7ZDxwO2QrPW4pe2xldCBMPXRbZF0rZS54LFU9dFtkKzFdK2UueSxBPXRbZCsyXStlLno7ci54PUwsci55PVUsci56PUEsTDxpLngmJmEuY2xvbmUocixpKSxMPnUueCYmYS5jbG9uZShyLHUpLFU8cy55JiZhLmNsb25lKHIscyksVT5jLnkmJmEuY2xvbmUocixjKSxBPGYueiYmYS5jbG9uZShyLGYpLEE+bC56JiZhLmNsb25lKHIsbCl9bGV0IG09YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QodSxpLGlvKSksXz1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChjLHMsaW8pKSxnPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGwsZixpbykpLGI9aSxUPXUsTz1tO18+TyYmKE89XyxiPXMsVD1jKSxnPk8mJihPPWcsYj1mLFQ9bCk7bGV0IEU9UGg7RS54PShiLngrVC54KSouNSxFLnk9KGIueStULnkpKi41LEUuej0oYi56K1QueikqLjU7bGV0IHc9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QoVCxFLGlvKSksQz1NYXRoLnNxcnQodyksTj1NaDtOLng9aS54LE4ueT1zLnksTi56PWYuejtsZXQgST1OaDtJLng9dS54LEkueT1jLnksSS56PWwuejtsZXQgRD1hLm1pZHBvaW50KE4sSSxJaCksdj0wO2ZvcihkPTA7ZDxwO2QrPW4pe3IueD10W2RdK2UueCxyLnk9dFtkKzFdK2UueSxyLno9dFtkKzJdK2UuejtsZXQgTD1hLm1hZ25pdHVkZShhLnN1YnRyYWN0KHIsRCxpbykpO0w+diYmKHY9TCk7bGV0IFU9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QocixFLGlvKSk7aWYoVT53KXtsZXQgQT1NYXRoLnNxcnQoVSk7Qz0oQytBKSouNSx3PUMqQztsZXQgUz1BLUM7RS54PShDKkUueCtTKnIueCkvQSxFLnk9KEMqRS55K1Mqci55KS9BLEUuej0oQypFLnorUypyLnopL0F9fXJldHVybiBDPHY/KGEuY2xvbmUoRSxvLmNlbnRlciksby5yYWRpdXM9Qyk6KGEuY2xvbmUoRCxvLmNlbnRlciksby5yYWRpdXM9diksb307bmUuZnJvbUVuY29kZWRDYXJ0ZXNpYW5WZXJ0aWNlcz1mdW5jdGlvbih0LGUsbil7aWYoaChuKXx8KG49bmV3IG5lKSwhaCh0KXx8IWgoZSl8fHQubGVuZ3RoIT09ZS5sZW5ndGh8fHQubGVuZ3RoPT09MClyZXR1cm4gbi5jZW50ZXI9YS5jbG9uZShhLlpFUk8sbi5jZW50ZXIpLG4ucmFkaXVzPTAsbjtsZXQgbz14aDtvLng9dFswXStlWzBdLG8ueT10WzFdK2VbMV0sby56PXRbMl0rZVsyXTtsZXQgcj1hLmNsb25lKG8sd2gpLGk9YS5jbG9uZShvLE9oKSxzPWEuY2xvbmUobyxFaCksZj1hLmNsb25lKG8sUmgpLHU9YS5jbG9uZShvLFNoKSxjPWEuY2xvbmUobyxDaCksbD10Lmxlbmd0aCxwO2ZvcihwPTA7cDxsO3ArPTMpe2xldCB2PXRbcF0rZVtwXSxMPXRbcCsxXStlW3ArMV0sVT10W3ArMl0rZVtwKzJdO28ueD12LG8ueT1MLG8uej1VLHY8ci54JiZhLmNsb25lKG8sciksdj5mLngmJmEuY2xvbmUobyxmKSxMPGkueSYmYS5jbG9uZShvLGkpLEw+dS55JiZhLmNsb25lKG8sdSksVTxzLnomJmEuY2xvbmUobyxzKSxVPmMueiYmYS5jbG9uZShvLGMpfWxldCBkPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGYscixpbykpLG09YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QodSxpLGlvKSksXz1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChjLHMsaW8pKSxnPXIsYj1mLFQ9ZDttPlQmJihUPW0sZz1pLGI9dSksXz5UJiYoVD1fLGc9cyxiPWMpO2xldCBPPVBoO08ueD0oZy54K2IueCkqLjUsTy55PShnLnkrYi55KSouNSxPLno9KGcueitiLnopKi41O2xldCBFPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGIsTyxpbykpLHc9TWF0aC5zcXJ0KEUpLEM9TWg7Qy54PXIueCxDLnk9aS55LEMuej1zLno7bGV0IE49Tmg7Ti54PWYueCxOLnk9dS55LE4uej1jLno7bGV0IEk9YS5taWRwb2ludChDLE4sSWgpLEQ9MDtmb3IocD0wO3A8bDtwKz0zKXtvLng9dFtwXStlW3BdLG8ueT10W3ArMV0rZVtwKzFdLG8uej10W3ArMl0rZVtwKzJdO2xldCB2PWEubWFnbml0dWRlKGEuc3VidHJhY3QobyxJLGlvKSk7dj5EJiYoRD12KTtsZXQgTD1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChvLE8saW8pKTtpZihMPkUpe2xldCBVPU1hdGguc3FydChMKTt3PSh3K1UpKi41LEU9dyp3O2xldCBBPVUtdztPLng9KHcqTy54K0Eqby54KS9VLE8ueT0odypPLnkrQSpvLnkpL1UsTy56PSh3Kk8ueitBKm8ueikvVX19cmV0dXJuIHc8RD8oYS5jbG9uZShPLG4uY2VudGVyKSxuLnJhZGl1cz13KTooYS5jbG9uZShJLG4uY2VudGVyKSxuLnJhZGl1cz1EKSxufTtuZS5mcm9tQ29ybmVyUG9pbnRzPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoImNvcm5lciIsdCkseS50eXBlT2Yub2JqZWN0KCJvcHBvc2l0ZUNvcm5lciIsZSksaChuKXx8KG49bmV3IG5lKTtsZXQgbz1hLm1pZHBvaW50KHQsZSxuLmNlbnRlcik7cmV0dXJuIG4ucmFkaXVzPWEuZGlzdGFuY2UobyxlKSxufTtuZS5mcm9tRWxsaXBzb2lkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZWxsaXBzb2lkIix0KSxoKGUpfHwoZT1uZXcgbmUpLGEuY2xvbmUoYS5aRVJPLGUuY2VudGVyKSxlLnJhZGl1cz10Lm1heGltdW1SYWRpdXMsZX07VTM9bmV3IGE7bmUuZnJvbUJvdW5kaW5nU3BoZXJlcz1mdW5jdGlvbih0LGUpe2lmKGgoZSl8fChlPW5ldyBuZSksIWgodCl8fHQubGVuZ3RoPT09MClyZXR1cm4gZS5jZW50ZXI9YS5jbG9uZShhLlpFUk8sZS5jZW50ZXIpLGUucmFkaXVzPTAsZTtsZXQgbj10Lmxlbmd0aDtpZihuPT09MSlyZXR1cm4gbmUuY2xvbmUodFswXSxlKTtpZihuPT09MilyZXR1cm4gbmUudW5pb24odFswXSx0WzFdLGUpO2xldCBvPVtdLHI7Zm9yKHI9MDtyPG47cisrKW8ucHVzaCh0W3JdLmNlbnRlcik7ZT1uZS5mcm9tUG9pbnRzKG8sZSk7bGV0IGk9ZS5jZW50ZXIscz1lLnJhZGl1cztmb3Iocj0wO3I8bjtyKyspe2xldCBmPXRbcl07cz1NYXRoLm1heChzLGEuZGlzdGFuY2UoaSxmLmNlbnRlcixVMykrZi5yYWRpdXMpfXJldHVybiBlLnJhZGl1cz1zLGV9O1YzPW5ldyBhLGszPW5ldyBhLEczPW5ldyBhO25lLmZyb21PcmllbnRlZEJvdW5kaW5nQm94PWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJvcmllbnRlZEJvdW5kaW5nQm94Iix0KSxoKGUpfHwoZT1uZXcgbmUpO2xldCBuPXQuaGFsZkF4ZXMsbz1RLmdldENvbHVtbihuLDAsVjMpLHI9US5nZXRDb2x1bW4obiwxLGszKSxpPVEuZ2V0Q29sdW1uKG4sMixHMyk7cmV0dXJuIGEuYWRkKG8scixvKSxhLmFkZChvLGksbyksZS5jZW50ZXI9YS5jbG9uZSh0LmNlbnRlcixlLmNlbnRlciksZS5yYWRpdXM9YS5tYWduaXR1ZGUobyksZX07ejM9bmV3IGEsajM9bmV3IGE7bmUuZnJvbVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJ0cmFuc2Zvcm1hdGlvbiIsdCksaChlKXx8KGU9bmV3IG5lKTtsZXQgbj1zdC5nZXRUcmFuc2xhdGlvbih0LHozKSxvPXN0LmdldFNjYWxlKHQsajMpLHI9LjUqYS5tYWduaXR1ZGUobyk7cmV0dXJuIGUuY2VudGVyPWEuY2xvbmUobixlLmNlbnRlciksZS5yYWRpdXM9cixlfTtuZS5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUuY2VudGVyPWEuY2xvbmUodC5jZW50ZXIsZS5jZW50ZXIpLGUucmFkaXVzPXQucmFkaXVzLGUpOm5ldyBuZSh0LmNlbnRlcix0LnJhZGl1cyl9O25lLnBhY2tlZExlbmd0aD00O25lLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApO2xldCBvPXQuY2VudGVyO3JldHVybiBlW24rK109by54LGVbbisrXT1vLnksZVtuKytdPW8ueixlW25dPXQucmFkaXVzLGV9O25lLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IG5lKTtsZXQgbz1uLmNlbnRlcjtyZXR1cm4gby54PXRbZSsrXSxvLnk9dFtlKytdLG8uej10W2UrK10sbi5yYWRpdXM9dFtlXSxufTtIMz1uZXcgYSxxMz1uZXcgYTtuZS51bmlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSxoKG4pfHwobj1uZXcgbmUpO2xldCBvPXQuY2VudGVyLHI9dC5yYWRpdXMsaT1lLmNlbnRlcixzPWUucmFkaXVzLGY9YS5zdWJ0cmFjdChpLG8sSDMpLHU9YS5tYWduaXR1ZGUoZik7aWYocj49dStzKXJldHVybiB0LmNsb25lKG4pLG47aWYocz49dStyKXJldHVybiBlLmNsb25lKG4pLG47bGV0IGM9KHIrdStzKSouNSxsPWEubXVsdGlwbHlCeVNjYWxhcihmLCgtcitjKS91LHEzKTtyZXR1cm4gYS5hZGQobCxvLGwpLGEuY2xvbmUobCxuLmNlbnRlciksbi5yYWRpdXM9YyxufTtLMz1uZXcgYTtuZS5leHBhbmQ9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgic3BoZXJlIix0KSx5LnR5cGVPZi5vYmplY3QoInBvaW50IixlKSxuPW5lLmNsb25lKHQsbik7bGV0IG89YS5tYWduaXR1ZGUoYS5zdWJ0cmFjdChlLG4uY2VudGVyLEszKSk7cmV0dXJuIG8+bi5yYWRpdXMmJihuLnJhZGl1cz1vKSxufTtuZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgic3BoZXJlIix0KSx5LnR5cGVPZi5vYmplY3QoInBsYW5lIixlKTtsZXQgbj10LmNlbnRlcixvPXQucmFkaXVzLHI9ZS5ub3JtYWwsaT1hLmRvdChyLG4pK2UuZGlzdGFuY2U7cmV0dXJuIGk8LW8/U24uT1VUU0lERTppPG8/U24uSU5URVJTRUNUSU5HOlNuLklOU0lERX07bmUudHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLHkudHlwZU9mLm9iamVjdCgidHJhbnNmb3JtIixlKSxoKG4pfHwobj1uZXcgbmUpLG4uY2VudGVyPXN0Lm11bHRpcGx5QnlQb2ludChlLHQuY2VudGVyLG4uY2VudGVyKSxuLnJhZGl1cz1zdC5nZXRNYXhpbXVtU2NhbGUoZSkqdC5yYWRpdXMsbn07VzM9bmV3IGE7bmUuZGlzdGFuY2VTcXVhcmVkVG89ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoInNwaGVyZSIsdCkseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLGUpO2xldCBuPWEuc3VidHJhY3QodC5jZW50ZXIsZSxXMyksbz1hLm1hZ25pdHVkZShuKS10LnJhZGl1cztyZXR1cm4gbzw9MD8wOm8qb307bmUudHJhbnNmb3JtV2l0aG91dFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLHkudHlwZU9mLm9iamVjdCgidHJhbnNmb3JtIixlKSxoKG4pfHwobj1uZXcgbmUpLG4uY2VudGVyPXN0Lm11bHRpcGx5QnlQb2ludChlLHQuY2VudGVyLG4uY2VudGVyKSxuLnJhZGl1cz10LnJhZGl1cyxufTtYMz1uZXcgYTtuZS5jb21wdXRlUGxhbmVEaXN0YW5jZXM9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLHkudHlwZU9mLm9iamVjdCgicG9zaXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgiZGlyZWN0aW9uIixuKSxoKG8pfHwobz1uZXcgUXIpO2xldCByPWEuc3VidHJhY3QodC5jZW50ZXIsZSxYMyksaT1hLmRvdChuLHIpO3JldHVybiBvLnN0YXJ0PWktdC5yYWRpdXMsby5zdG9wPWkrdC5yYWRpdXMsb307bGI9bmV3IGEsWTM9bmV3IGEsJDM9bmV3IGEsWjM9bmV3IGEsUTM9bmV3IGEsSjM9bmV3IGN0LGRiPW5ldyBBcnJheSg4KTtmb3IobGV0IHQ9MDt0PDg7Kyt0KWRiW3RdPW5ldyBhO3BiPW5ldyBKbjtuZS5wcm9qZWN0VG8yRD1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLHBiLl9lbGxpcHNvaWQ9JC5kZWZhdWx0LGU9eChlLHBiKTtsZXQgbz1lLmVsbGlwc29pZCxyPXQuY2VudGVyLGk9dC5yYWRpdXMsczthLmVxdWFscyhyLGEuWkVSTyk/cz1hLmNsb25lKGEuVU5JVF9YLGxiKTpzPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHIsbGIpO2xldCBmPWEuY3Jvc3MoYS5VTklUX1oscyxZMyk7YS5ub3JtYWxpemUoZixmKTtsZXQgdT1hLmNyb3NzKHMsZiwkMyk7YS5ub3JtYWxpemUodSx1KSxhLm11bHRpcGx5QnlTY2FsYXIocyxpLHMpLGEubXVsdGlwbHlCeVNjYWxhcih1LGksdSksYS5tdWx0aXBseUJ5U2NhbGFyKGYsaSxmKTtsZXQgYz1hLm5lZ2F0ZSh1LFEzKSxsPWEubmVnYXRlKGYsWjMpLHA9ZGIsZD1wWzBdO2EuYWRkKHMsdSxkKSxhLmFkZChkLGYsZCksZD1wWzFdLGEuYWRkKHMsdSxkKSxhLmFkZChkLGwsZCksZD1wWzJdLGEuYWRkKHMsYyxkKSxhLmFkZChkLGwsZCksZD1wWzNdLGEuYWRkKHMsYyxkKSxhLmFkZChkLGYsZCksYS5uZWdhdGUocyxzKSxkPXBbNF0sYS5hZGQocyx1LGQpLGEuYWRkKGQsZixkKSxkPXBbNV0sYS5hZGQocyx1LGQpLGEuYWRkKGQsbCxkKSxkPXBbNl0sYS5hZGQocyxjLGQpLGEuYWRkKGQsbCxkKSxkPXBbN10sYS5hZGQocyxjLGQpLGEuYWRkKGQsZixkKTtsZXQgbT1wLmxlbmd0aDtmb3IobGV0IFQ9MDtUPG07KytUKXtsZXQgTz1wW1RdO2EuYWRkKHIsTyxPKTtsZXQgRT1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKE8sSjMpO2UucHJvamVjdChFLE8pfW49bmUuZnJvbVBvaW50cyhwLG4pLHI9bi5jZW50ZXI7bGV0IF89ci54LGc9ci55LGI9ci56O3JldHVybiByLng9YixyLnk9XyxyLno9ZyxufTtuZS5pc09jY2x1ZGVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgic3BoZXJlIix0KSx5LnR5cGVPZi5vYmplY3QoIm9jY2x1ZGVyIixlKSwhZS5pc0JvdW5kaW5nU3BoZXJlVmlzaWJsZSh0KX07bmUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZhLmVxdWFscyh0LmNlbnRlcixlLmNlbnRlcikmJnQucmFkaXVzPT09ZS5yYWRpdXN9O25lLnByb3RvdHlwZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0KXtyZXR1cm4gbmUuaW50ZXJzZWN0UGxhbmUodGhpcyx0KX07bmUucHJvdG90eXBlLmRpc3RhbmNlU3F1YXJlZFRvPWZ1bmN0aW9uKHQpe3JldHVybiBuZS5kaXN0YW5jZVNxdWFyZWRUbyh0aGlzLHQpfTtuZS5wcm90b3R5cGUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbmUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzKHRoaXMsdCxlLG4pfTtuZS5wcm90b3R5cGUuaXNPY2NsdWRlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmUuaXNPY2NsdWRlZCh0aGlzLHQpfTtuZS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBuZS5lcXVhbHModGhpcyx0KX07bmUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBuZS5jbG9uZSh0aGlzLHQpfTtuZS5wcm90b3R5cGUudm9sdW1lPWZ1bmN0aW9uKCl7bGV0IHQ9dGhpcy5yYWRpdXM7cmV0dXJuIEwzKnQqdCp0fTtBdD1uZX0pO3ZhciB0UCxxdCwkcz1aKCgpPT57dFA9e0RFUFRIX0JVRkZFUl9CSVQ6MjU2LFNURU5DSUxfQlVGRkVSX0JJVDoxMDI0LENPTE9SX0JVRkZFUl9CSVQ6MTYzODQsUE9JTlRTOjAsTElORVM6MSxMSU5FX0xPT1A6MixMSU5FX1NUUklQOjMsVFJJQU5HTEVTOjQsVFJJQU5HTEVfU1RSSVA6NSxUUklBTkdMRV9GQU46NixaRVJPOjAsT05FOjEsU1JDX0NPTE9SOjc2OCxPTkVfTUlOVVNfU1JDX0NPTE9SOjc2OSxTUkNfQUxQSEE6NzcwLE9ORV9NSU5VU19TUkNfQUxQSEE6NzcxLERTVF9BTFBIQTo3NzIsT05FX01JTlVTX0RTVF9BTFBIQTo3NzMsRFNUX0NPTE9SOjc3NCxPTkVfTUlOVVNfRFNUX0NPTE9SOjc3NSxTUkNfQUxQSEFfU0FUVVJBVEU6Nzc2LEZVTkNfQUREOjMyNzc0LEJMRU5EX0VRVUFUSU9OOjMyNzc3LEJMRU5EX0VRVUFUSU9OX1JHQjozMjc3NyxCTEVORF9FUVVBVElPTl9BTFBIQTozNDg3NyxGVU5DX1NVQlRSQUNUOjMyNzc4LEZVTkNfUkVWRVJTRV9TVUJUUkFDVDozMjc3OSxCTEVORF9EU1RfUkdCOjMyOTY4LEJMRU5EX1NSQ19SR0I6MzI5NjksQkxFTkRfRFNUX0FMUEhBOjMyOTcwLEJMRU5EX1NSQ19BTFBIQTozMjk3MSxDT05TVEFOVF9DT0xPUjozMjc2OSxPTkVfTUlOVVNfQ09OU1RBTlRfQ09MT1I6MzI3NzAsQ09OU1RBTlRfQUxQSEE6MzI3NzEsT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBOjMyNzcyLEJMRU5EX0NPTE9SOjMyNzczLEFSUkFZX0JVRkZFUjozNDk2MixFTEVNRU5UX0FSUkFZX0JVRkZFUjozNDk2MyxBUlJBWV9CVUZGRVJfQklORElORzozNDk2NCxFTEVNRU5UX0FSUkFZX0JVRkZFUl9CSU5ESU5HOjM0OTY1LFNUUkVBTV9EUkFXOjM1MDQwLFNUQVRJQ19EUkFXOjM1MDQ0LERZTkFNSUNfRFJBVzozNTA0OCxCVUZGRVJfU0laRTozNDY2MCxCVUZGRVJfVVNBR0U6MzQ2NjEsQ1VSUkVOVF9WRVJURVhfQVRUUklCOjM0MzQyLEZST05UOjEwMjgsQkFDSzoxMDI5LEZST05UX0FORF9CQUNLOjEwMzIsQ1VMTF9GQUNFOjI4ODQsQkxFTkQ6MzA0MixESVRIRVI6MzAyNCxTVEVOQ0lMX1RFU1Q6Mjk2MCxERVBUSF9URVNUOjI5MjksU0NJU1NPUl9URVNUOjMwODksUE9MWUdPTl9PRkZTRVRfRklMTDozMjgyMyxTQU1QTEVfQUxQSEFfVE9fQ09WRVJBR0U6MzI5MjYsU0FNUExFX0NPVkVSQUdFOjMyOTI4LE5PX0VSUk9SOjAsSU5WQUxJRF9FTlVNOjEyODAsSU5WQUxJRF9WQUxVRToxMjgxLElOVkFMSURfT1BFUkFUSU9OOjEyODIsT1VUX09GX01FTU9SWToxMjg1LENXOjIzMDQsQ0NXOjIzMDUsTElORV9XSURUSDoyODQ5LEFMSUFTRURfUE9JTlRfU0laRV9SQU5HRTozMzkwMSxBTElBU0VEX0xJTkVfV0lEVEhfUkFOR0U6MzM5MDIsQ1VMTF9GQUNFX01PREU6Mjg4NSxGUk9OVF9GQUNFOjI4ODYsREVQVEhfUkFOR0U6MjkyOCxERVBUSF9XUklURU1BU0s6MjkzMCxERVBUSF9DTEVBUl9WQUxVRToyOTMxLERFUFRIX0ZVTkM6MjkzMixTVEVOQ0lMX0NMRUFSX1ZBTFVFOjI5NjEsU1RFTkNJTF9GVU5DOjI5NjIsU1RFTkNJTF9GQUlMOjI5NjQsU1RFTkNJTF9QQVNTX0RFUFRIX0ZBSUw6Mjk2NSxTVEVOQ0lMX1BBU1NfREVQVEhfUEFTUzoyOTY2LFNURU5DSUxfUkVGOjI5NjcsU1RFTkNJTF9WQUxVRV9NQVNLOjI5NjMsU1RFTkNJTF9XUklURU1BU0s6Mjk2OCxTVEVOQ0lMX0JBQ0tfRlVOQzozNDgxNixTVEVOQ0lMX0JBQ0tfRkFJTDozNDgxNyxTVEVOQ0lMX0JBQ0tfUEFTU19ERVBUSF9GQUlMOjM0ODE4LFNURU5DSUxfQkFDS19QQVNTX0RFUFRIX1BBU1M6MzQ4MTksU1RFTkNJTF9CQUNLX1JFRjozNjAwMyxTVEVOQ0lMX0JBQ0tfVkFMVUVfTUFTSzozNjAwNCxTVEVOQ0lMX0JBQ0tfV1JJVEVNQVNLOjM2MDA1LFZJRVdQT1JUOjI5NzgsU0NJU1NPUl9CT1g6MzA4OCxDT0xPUl9DTEVBUl9WQUxVRTozMTA2LENPTE9SX1dSSVRFTUFTSzozMTA3LFVOUEFDS19BTElHTk1FTlQ6MzMxNyxQQUNLX0FMSUdOTUVOVDozMzMzLE1BWF9URVhUVVJFX1NJWkU6MzM3OSxNQVhfVklFV1BPUlRfRElNUzozMzg2LFNVQlBJWEVMX0JJVFM6MzQwOCxSRURfQklUUzozNDEwLEdSRUVOX0JJVFM6MzQxMSxCTFVFX0JJVFM6MzQxMixBTFBIQV9CSVRTOjM0MTMsREVQVEhfQklUUzozNDE0LFNURU5DSUxfQklUUzozNDE1LFBPTFlHT05fT0ZGU0VUX1VOSVRTOjEwNzUyLFBPTFlHT05fT0ZGU0VUX0ZBQ1RPUjozMjgyNCxURVhUVVJFX0JJTkRJTkdfMkQ6MzI4NzMsU0FNUExFX0JVRkZFUlM6MzI5MzYsU0FNUExFUzozMjkzNyxTQU1QTEVfQ09WRVJBR0VfVkFMVUU6MzI5MzgsU0FNUExFX0NPVkVSQUdFX0lOVkVSVDozMjkzOSxDT01QUkVTU0VEX1RFWFRVUkVfRk9STUFUUzozNDQ2NyxET05UX0NBUkU6NDM1MixGQVNURVNUOjQzNTMsTklDRVNUOjQzNTQsR0VORVJBVEVfTUlQTUFQX0hJTlQ6MzMxNzAsQllURTo1MTIwLFVOU0lHTkVEX0JZVEU6NTEyMSxTSE9SVDo1MTIyLFVOU0lHTkVEX1NIT1JUOjUxMjMsSU5UOjUxMjQsVU5TSUdORURfSU5UOjUxMjUsRkxPQVQ6NTEyNixERVBUSF9DT01QT05FTlQ6NjQwMixBTFBIQTo2NDA2LFJHQjo2NDA3LFJHQkE6NjQwOCxMVU1JTkFOQ0U6NjQwOSxMVU1JTkFOQ0VfQUxQSEE6NjQxMCxVTlNJR05FRF9TSE9SVF80XzRfNF80OjMyODE5LFVOU0lHTkVEX1NIT1JUXzVfNV81XzE6MzI4MjAsVU5TSUdORURfU0hPUlRfNV82XzU6MzM2MzUsRlJBR01FTlRfU0hBREVSOjM1NjMyLFZFUlRFWF9TSEFERVI6MzU2MzMsTUFYX1ZFUlRFWF9BVFRSSUJTOjM0OTIxLE1BWF9WRVJURVhfVU5JRk9STV9WRUNUT1JTOjM2MzQ3LE1BWF9WQVJZSU5HX1ZFQ1RPUlM6MzYzNDgsTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFM6MzU2NjEsTUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTOjM1NjYwLE1BWF9URVhUVVJFX0lNQUdFX1VOSVRTOjM0OTMwLE1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlM6MzYzNDksU0hBREVSX1RZUEU6MzU2NjMsREVMRVRFX1NUQVRVUzozNTcxMixMSU5LX1NUQVRVUzozNTcxNCxWQUxJREFURV9TVEFUVVM6MzU3MTUsQVRUQUNIRURfU0hBREVSUzozNTcxNyxBQ1RJVkVfVU5JRk9STVM6MzU3MTgsQUNUSVZFX0FUVFJJQlVURVM6MzU3MjEsU0hBRElOR19MQU5HVUFHRV9WRVJTSU9OOjM1NzI0LENVUlJFTlRfUFJPR1JBTTozNTcyNSxORVZFUjo1MTIsTEVTUzo1MTMsRVFVQUw6NTE0LExFUVVBTDo1MTUsR1JFQVRFUjo1MTYsTk9URVFVQUw6NTE3LEdFUVVBTDo1MTgsQUxXQVlTOjUxOSxLRUVQOjc2ODAsUkVQTEFDRTo3NjgxLElOQ1I6NzY4MixERUNSOjc2ODMsSU5WRVJUOjUzODYsSU5DUl9XUkFQOjM0MDU1LERFQ1JfV1JBUDozNDA1NixWRU5ET1I6NzkzNixSRU5ERVJFUjo3OTM3LFZFUlNJT046NzkzOCxORUFSRVNUOjk3MjgsTElORUFSOjk3MjksTkVBUkVTVF9NSVBNQVBfTkVBUkVTVDo5OTg0LExJTkVBUl9NSVBNQVBfTkVBUkVTVDo5OTg1LE5FQVJFU1RfTUlQTUFQX0xJTkVBUjo5OTg2LExJTkVBUl9NSVBNQVBfTElORUFSOjk5ODcsVEVYVFVSRV9NQUdfRklMVEVSOjEwMjQwLFRFWFRVUkVfTUlOX0ZJTFRFUjoxMDI0MSxURVhUVVJFX1dSQVBfUzoxMDI0MixURVhUVVJFX1dSQVBfVDoxMDI0MyxURVhUVVJFXzJEOjM1NTMsVEVYVFVSRTo1ODkwLFRFWFRVUkVfQ1VCRV9NQVA6MzQwNjcsVEVYVFVSRV9CSU5ESU5HX0NVQkVfTUFQOjM0MDY4LFRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWDozNDA2OSxURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1g6MzQwNzAsVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZOjM0MDcxLFRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWTozNDA3MixURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1o6MzQwNzMsVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aOjM0MDc0LE1BWF9DVUJFX01BUF9URVhUVVJFX1NJWkU6MzQwNzYsVEVYVFVSRTA6MzM5ODQsVEVYVFVSRTE6MzM5ODUsVEVYVFVSRTI6MzM5ODYsVEVYVFVSRTM6MzM5ODcsVEVYVFVSRTQ6MzM5ODgsVEVYVFVSRTU6MzM5ODksVEVYVFVSRTY6MzM5OTAsVEVYVFVSRTc6MzM5OTEsVEVYVFVSRTg6MzM5OTIsVEVYVFVSRTk6MzM5OTMsVEVYVFVSRTEwOjMzOTk0LFRFWFRVUkUxMTozMzk5NSxURVhUVVJFMTI6MzM5OTYsVEVYVFVSRTEzOjMzOTk3LFRFWFRVUkUxNDozMzk5OCxURVhUVVJFMTU6MzM5OTksVEVYVFVSRTE2OjM0ZTMsVEVYVFVSRTE3OjM0MDAxLFRFWFRVUkUxODozNDAwMixURVhUVVJFMTk6MzQwMDMsVEVYVFVSRTIwOjM0MDA0LFRFWFRVUkUyMTozNDAwNSxURVhUVVJFMjI6MzQwMDYsVEVYVFVSRTIzOjM0MDA3LFRFWFRVUkUyNDozNDAwOCxURVhUVVJFMjU6MzQwMDksVEVYVFVSRTI2OjM0MDEwLFRFWFRVUkUyNzozNDAxMSxURVhUVVJFMjg6MzQwMTIsVEVYVFVSRTI5OjM0MDEzLFRFWFRVUkUzMDozNDAxNCxURVhUVVJFMzE6MzQwMTUsQUNUSVZFX1RFWFRVUkU6MzQwMTYsUkVQRUFUOjEwNDk3LENMQU1QX1RPX0VER0U6MzMwNzEsTUlSUk9SRURfUkVQRUFUOjMzNjQ4LEZMT0FUX1ZFQzI6MzU2NjQsRkxPQVRfVkVDMzozNTY2NSxGTE9BVF9WRUM0OjM1NjY2LElOVF9WRUMyOjM1NjY3LElOVF9WRUMzOjM1NjY4LElOVF9WRUM0OjM1NjY5LEJPT0w6MzU2NzAsQk9PTF9WRUMyOjM1NjcxLEJPT0xfVkVDMzozNTY3MixCT09MX1ZFQzQ6MzU2NzMsRkxPQVRfTUFUMjozNTY3NCxGTE9BVF9NQVQzOjM1Njc1LEZMT0FUX01BVDQ6MzU2NzYsU0FNUExFUl8yRDozNTY3OCxTQU1QTEVSX0NVQkU6MzU2ODAsVkVSVEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVEOjM0MzM4LFZFUlRFWF9BVFRSSUJfQVJSQVlfU0laRTozNDMzOSxWRVJURVhfQVRUUklCX0FSUkFZX1NUUklERTozNDM0MCxWRVJURVhfQVRUUklCX0FSUkFZX1RZUEU6MzQzNDEsVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVEOjM0OTIyLFZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUjozNDM3MyxWRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HOjM0OTc1LElNUExFTUVOVEFUSU9OX0NPTE9SX1JFQURfVFlQRTozNTczOCxJTVBMRU1FTlRBVElPTl9DT0xPUl9SRUFEX0ZPUk1BVDozNTczOSxDT01QSUxFX1NUQVRVUzozNTcxMyxMT1dfRkxPQVQ6MzYzMzYsTUVESVVNX0ZMT0FUOjM2MzM3LEhJR0hfRkxPQVQ6MzYzMzgsTE9XX0lOVDozNjMzOSxNRURJVU1fSU5UOjM2MzQwLEhJR0hfSU5UOjM2MzQxLEZSQU1FQlVGRkVSOjM2MTYwLFJFTkRFUkJVRkZFUjozNjE2MSxSR0JBNDozMjg1NCxSR0I1X0ExOjMyODU1LFJHQjU2NTozNjE5NCxERVBUSF9DT01QT05FTlQxNjozMzE4OSxTVEVOQ0lMX0lOREVYOjY0MDEsU1RFTkNJTF9JTkRFWDg6MzYxNjgsREVQVEhfU1RFTkNJTDozNDA0MSxSRU5ERVJCVUZGRVJfV0lEVEg6MzYxNjIsUkVOREVSQlVGRkVSX0hFSUdIVDozNjE2MyxSRU5ERVJCVUZGRVJfSU5URVJOQUxfRk9STUFUOjM2MTY0LFJFTkRFUkJVRkZFUl9SRURfU0laRTozNjE3NixSRU5ERVJCVUZGRVJfR1JFRU5fU0laRTozNjE3NyxSRU5ERVJCVUZGRVJfQkxVRV9TSVpFOjM2MTc4LFJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFOjM2MTc5LFJFTkRFUkJVRkZFUl9ERVBUSF9TSVpFOjM2MTgwLFJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkU6MzYxODEsRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRTozNjA0OCxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FOjM2MDQ5LEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTDozNjA1MCxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9NQVBfRkFDRTozNjA1MSxDT0xPUl9BVFRBQ0hNRU5UMDozNjA2NCxERVBUSF9BVFRBQ0hNRU5UOjM2MDk2LFNURU5DSUxfQVRUQUNITUVOVDozNjEyOCxERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQ6MzMzMDYsTk9ORTowLEZSQU1FQlVGRkVSX0NPTVBMRVRFOjM2MDUzLEZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVDozNjA1NCxGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVDozNjA1NSxGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlM6MzYwNTcsRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQ6MzYwNjEsRlJBTUVCVUZGRVJfQklORElORzozNjAwNixSRU5ERVJCVUZGRVJfQklORElORzozNjAwNyxNQVhfUkVOREVSQlVGRkVSX1NJWkU6MzQwMjQsSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT046MTI4NixVTlBBQ0tfRkxJUF9ZX1dFQkdMOjM3NDQwLFVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTDozNzQ0MSxDT05URVhUX0xPU1RfV0VCR0w6Mzc0NDIsVU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lPTl9XRUJHTDozNzQ0MyxCUk9XU0VSX0RFRkFVTFRfV0VCR0w6Mzc0NDQsQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVDozMzc3NixDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDozMzc3NyxDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0VYVDozMzc3OCxDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQ1X0VYVDozMzc3OSxDT01QUkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HOjM1ODQwLENPTVBSRVNTRURfUkdCX1BWUlRDXzJCUFBWMV9JTUc6MzU4NDEsQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzRCUFBWMV9JTUc6MzU4NDIsQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzJCUFBWMV9JTUc6MzU4NDMsQ09NUFJFU1NFRF9SR0JBX0FTVENfNHg0X1dFQkdMOjM3ODA4LENPTVBSRVNTRURfUkdCX0VUQzFfV0VCR0w6MzYxOTYsQ09NUFJFU1NFRF9SR0JBX0JQVENfVU5PUk06MzY0OTIsSEFMRl9GTE9BVF9PRVM6MzYxOTMsRE9VQkxFOjUxMzAsUkVBRF9CVUZGRVI6MzA3NCxVTlBBQ0tfUk9XX0xFTkdUSDozMzE0LFVOUEFDS19TS0lQX1JPV1M6MzMxNSxVTlBBQ0tfU0tJUF9QSVhFTFM6MzMxNixQQUNLX1JPV19MRU5HVEg6MzMzMCxQQUNLX1NLSVBfUk9XUzozMzMxLFBBQ0tfU0tJUF9QSVhFTFM6MzMzMixDT0xPUjo2MTQ0LERFUFRIOjYxNDUsU1RFTkNJTDo2MTQ2LFJFRDo2NDAzLFJHQjg6MzI4NDksUkdCQTg6MzI4NTYsUkdCMTBfQTI6MzI4NTcsVEVYVFVSRV9CSU5ESU5HXzNEOjMyODc0LFVOUEFDS19TS0lQX0lNQUdFUzozMjg3NyxVTlBBQ0tfSU1BR0VfSEVJR0hUOjMyODc4LFRFWFRVUkVfM0Q6MzI4NzksVEVYVFVSRV9XUkFQX1I6MzI4ODIsTUFYXzNEX1RFWFRVUkVfU0laRTozMjg4MyxVTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVY6MzM2NDAsTUFYX0VMRU1FTlRTX1ZFUlRJQ0VTOjMzZTMsTUFYX0VMRU1FTlRTX0lORElDRVM6MzMwMDEsVEVYVFVSRV9NSU5fTE9EOjMzMDgyLFRFWFRVUkVfTUFYX0xPRDozMzA4MyxURVhUVVJFX0JBU0VfTEVWRUw6MzMwODQsVEVYVFVSRV9NQVhfTEVWRUw6MzMwODUsTUlOOjMyNzc1LE1BWDozMjc3NixERVBUSF9DT01QT05FTlQyNDozMzE5MCxNQVhfVEVYVFVSRV9MT0RfQklBUzozNDA0NSxURVhUVVJFX0NPTVBBUkVfTU9ERTozNDg5MixURVhUVVJFX0NPTVBBUkVfRlVOQzozNDg5MyxDVVJSRU5UX1FVRVJZOjM0OTE3LFFVRVJZX1JFU1VMVDozNDkxOCxRVUVSWV9SRVNVTFRfQVZBSUxBQkxFOjM0OTE5LFNUUkVBTV9SRUFEOjM1MDQxLFNUUkVBTV9DT1BZOjM1MDQyLFNUQVRJQ19SRUFEOjM1MDQ1LFNUQVRJQ19DT1BZOjM1MDQ2LERZTkFNSUNfUkVBRDozNTA0OSxEWU5BTUlDX0NPUFk6MzUwNTAsTUFYX0RSQVdfQlVGRkVSUzozNDg1MixEUkFXX0JVRkZFUjA6MzQ4NTMsRFJBV19CVUZGRVIxOjM0ODU0LERSQVdfQlVGRkVSMjozNDg1NSxEUkFXX0JVRkZFUjM6MzQ4NTYsRFJBV19CVUZGRVI0OjM0ODU3LERSQVdfQlVGRkVSNTozNDg1OCxEUkFXX0JVRkZFUjY6MzQ4NTksRFJBV19CVUZGRVI3OjM0ODYwLERSQVdfQlVGRkVSODozNDg2MSxEUkFXX0JVRkZFUjk6MzQ4NjIsRFJBV19CVUZGRVIxMDozNDg2MyxEUkFXX0JVRkZFUjExOjM0ODY0LERSQVdfQlVGRkVSMTI6MzQ4NjUsRFJBV19CVUZGRVIxMzozNDg2NixEUkFXX0JVRkZFUjE0OjM0ODY3LERSQVdfQlVGRkVSMTU6MzQ4NjgsTUFYX0ZSQUdNRU5UX1VOSUZPUk1fQ09NUE9ORU5UUzozNTY1NyxNQVhfVkVSVEVYX1VOSUZPUk1fQ09NUE9ORU5UUzozNTY1OCxTQU1QTEVSXzNEOjM1Njc5LFNBTVBMRVJfMkRfU0hBRE9XOjM1NjgyLEZSQUdNRU5UX1NIQURFUl9ERVJJVkFUSVZFX0hJTlQ6MzU3MjMsUElYRUxfUEFDS19CVUZGRVI6MzUwNTEsUElYRUxfVU5QQUNLX0JVRkZFUjozNTA1MixQSVhFTF9QQUNLX0JVRkZFUl9CSU5ESU5HOjM1MDUzLFBJWEVMX1VOUEFDS19CVUZGRVJfQklORElORzozNTA1NSxGTE9BVF9NQVQyeDM6MzU2ODUsRkxPQVRfTUFUMng0OjM1Njg2LEZMT0FUX01BVDN4MjozNTY4NyxGTE9BVF9NQVQzeDQ6MzU2ODgsRkxPQVRfTUFUNHgyOjM1Njg5LEZMT0FUX01BVDR4MzozNTY5MCxTUkdCOjM1OTA0LFNSR0I4OjM1OTA1LFNSR0I4X0FMUEhBODozNTkwNyxDT01QQVJFX1JFRl9UT19URVhUVVJFOjM0ODk0LFJHQkEzMkY6MzQ4MzYsUkdCMzJGOjM0ODM3LFJHQkExNkY6MzQ4NDIsUkdCMTZGOjM0ODQzLFZFUlRFWF9BVFRSSUJfQVJSQVlfSU5URUdFUjozNTA2OSxNQVhfQVJSQVlfVEVYVFVSRV9MQVlFUlM6MzUwNzEsTUlOX1BST0dSQU1fVEVYRUxfT0ZGU0VUOjM1MDc2LE1BWF9QUk9HUkFNX1RFWEVMX09GRlNFVDozNTA3NyxNQVhfVkFSWUlOR19DT01QT05FTlRTOjM1NjU5LFRFWFRVUkVfMkRfQVJSQVk6MzU4NjYsVEVYVFVSRV9CSU5ESU5HXzJEX0FSUkFZOjM1ODY5LFIxMUZfRzExRl9CMTBGOjM1ODk4LFVOU0lHTkVEX0lOVF8xMEZfMTFGXzExRl9SRVY6MzU4OTksUkdCOV9FNTozNTkwMSxVTlNJR05FRF9JTlRfNV85XzlfOV9SRVY6MzU5MDIsVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9NT0RFOjM1OTY3LE1BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVfQ09NUE9ORU5UUzozNTk2OCxUUkFOU0ZPUk1fRkVFREJBQ0tfVkFSWUlOR1M6MzU5NzEsVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9TVEFSVDozNTk3MixUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX1NJWkU6MzU5NzMsVFJBTlNGT1JNX0ZFRURCQUNLX1BSSU1JVElWRVNfV1JJVFRFTjozNTk3NixSQVNURVJJWkVSX0RJU0NBUkQ6MzU5NzcsTUFYX1RSQU5TRk9STV9GRUVEQkFDS19JTlRFUkxFQVZFRF9DT01QT05FTlRTOjM1OTc4LE1BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVfQVRUUklCUzozNTk3OSxJTlRFUkxFQVZFRF9BVFRSSUJTOjM1OTgwLFNFUEFSQVRFX0FUVFJJQlM6MzU5ODEsVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUjozNTk4MixUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX0JJTkRJTkc6MzU5ODMsUkdCQTMyVUk6MzYyMDgsUkdCMzJVSTozNjIwOSxSR0JBMTZVSTozNjIxNCxSR0IxNlVJOjM2MjE1LFJHQkE4VUk6MzYyMjAsUkdCOFVJOjM2MjIxLFJHQkEzMkk6MzYyMjYsUkdCMzJJOjM2MjI3LFJHQkExNkk6MzYyMzIsUkdCMTZJOjM2MjMzLFJHQkE4STozNjIzOCxSR0I4STozNjIzOSxSRURfSU5URUdFUjozNjI0NCxSR0JfSU5URUdFUjozNjI0OCxSR0JBX0lOVEVHRVI6MzYyNDksU0FNUExFUl8yRF9BUlJBWTozNjI4OSxTQU1QTEVSXzJEX0FSUkFZX1NIQURPVzozNjI5MixTQU1QTEVSX0NVQkVfU0hBRE9XOjM2MjkzLFVOU0lHTkVEX0lOVF9WRUMyOjM2Mjk0LFVOU0lHTkVEX0lOVF9WRUMzOjM2Mjk1LFVOU0lHTkVEX0lOVF9WRUM0OjM2Mjk2LElOVF9TQU1QTEVSXzJEOjM2Mjk4LElOVF9TQU1QTEVSXzNEOjM2Mjk5LElOVF9TQU1QTEVSX0NVQkU6MzYzMDAsSU5UX1NBTVBMRVJfMkRfQVJSQVk6MzYzMDMsVU5TSUdORURfSU5UX1NBTVBMRVJfMkQ6MzYzMDYsVU5TSUdORURfSU5UX1NBTVBMRVJfM0Q6MzYzMDcsVU5TSUdORURfSU5UX1NBTVBMRVJfQ1VCRTozNjMwOCxVTlNJR05FRF9JTlRfU0FNUExFUl8yRF9BUlJBWTozNjMxMSxERVBUSF9DT01QT05FTlQzMkY6MzYwMTIsREVQVEgzMkZfU1RFTkNJTDg6MzYwMTMsRkxPQVRfMzJfVU5TSUdORURfSU5UXzI0XzhfUkVWOjM2MjY5LEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfQ09MT1JfRU5DT0RJTkc6MzMyOTYsRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9DT01QT05FTlRfVFlQRTozMzI5NyxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1JFRF9TSVpFOjMzMjk4LEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfR1JFRU5fU0laRTozMzI5OSxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0JMVUVfU0laRTozMzMwMCxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0FMUEhBX1NJWkU6MzMzMDEsRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9ERVBUSF9TSVpFOjMzMzAyLEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfU1RFTkNJTF9TSVpFOjMzMzAzLEZSQU1FQlVGRkVSX0RFRkFVTFQ6MzMzMDQsVU5TSUdORURfSU5UXzI0Xzg6MzQwNDIsREVQVEgyNF9TVEVOQ0lMODozNTA1NixVTlNJR05FRF9OT1JNQUxJWkVEOjM1ODYzLERSQVdfRlJBTUVCVUZGRVJfQklORElORzozNjAwNixSRUFEX0ZSQU1FQlVGRkVSOjM2MDA4LERSQVdfRlJBTUVCVUZGRVI6MzYwMDksUkVBRF9GUkFNRUJVRkZFUl9CSU5ESU5HOjM2MDEwLFJFTkRFUkJVRkZFUl9TQU1QTEVTOjM2MDExLEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MQVlFUjozNjA1MixNQVhfQ09MT1JfQVRUQUNITUVOVFM6MzYwNjMsQ09MT1JfQVRUQUNITUVOVDE6MzYwNjUsQ09MT1JfQVRUQUNITUVOVDI6MzYwNjYsQ09MT1JfQVRUQUNITUVOVDM6MzYwNjcsQ09MT1JfQVRUQUNITUVOVDQ6MzYwNjgsQ09MT1JfQVRUQUNITUVOVDU6MzYwNjksQ09MT1JfQVRUQUNITUVOVDY6MzYwNzAsQ09MT1JfQVRUQUNITUVOVDc6MzYwNzEsQ09MT1JfQVRUQUNITUVOVDg6MzYwNzIsQ09MT1JfQVRUQUNITUVOVDk6MzYwNzMsQ09MT1JfQVRUQUNITUVOVDEwOjM2MDc0LENPTE9SX0FUVEFDSE1FTlQxMTozNjA3NSxDT0xPUl9BVFRBQ0hNRU5UMTI6MzYwNzYsQ09MT1JfQVRUQUNITUVOVDEzOjM2MDc3LENPTE9SX0FUVEFDSE1FTlQxNDozNjA3OCxDT0xPUl9BVFRBQ0hNRU5UMTU6MzYwNzksRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NVUxUSVNBTVBMRTozNjE4MixNQVhfU0FNUExFUzozNjE4MyxIQUxGX0ZMT0FUOjUxMzEsUkc6MzMzMTksUkdfSU5URUdFUjozMzMyMCxSODozMzMyMSxSRzg6MzMzMjMsUjE2RjozMzMyNSxSMzJGOjMzMzI2LFJHMTZGOjMzMzI3LFJHMzJGOjMzMzI4LFI4STozMzMyOSxSOFVJOjMzMzMwLFIxNkk6MzMzMzEsUjE2VUk6MzMzMzIsUjMySTozMzMzMyxSMzJVSTozMzMzNCxSRzhJOjMzMzM1LFJHOFVJOjMzMzM2LFJHMTZJOjMzMzM3LFJHMTZVSTozMzMzOCxSRzMySTozMzMzOSxSRzMyVUk6MzMzNDAsVkVSVEVYX0FSUkFZX0JJTkRJTkc6MzQyMjksUjhfU05PUk06MzY3NTYsUkc4X1NOT1JNOjM2NzU3LFJHQjhfU05PUk06MzY3NTgsUkdCQThfU05PUk06MzY3NTksU0lHTkVEX05PUk1BTElaRUQ6MzY3NjQsQ09QWV9SRUFEX0JVRkZFUjozNjY2MixDT1BZX1dSSVRFX0JVRkZFUjozNjY2MyxDT1BZX1JFQURfQlVGRkVSX0JJTkRJTkc6MzY2NjIsQ09QWV9XUklURV9CVUZGRVJfQklORElORzozNjY2MyxVTklGT1JNX0JVRkZFUjozNTM0NSxVTklGT1JNX0JVRkZFUl9CSU5ESU5HOjM1MzY4LFVOSUZPUk1fQlVGRkVSX1NUQVJUOjM1MzY5LFVOSUZPUk1fQlVGRkVSX1NJWkU6MzUzNzAsTUFYX1ZFUlRFWF9VTklGT1JNX0JMT0NLUzozNTM3MSxNQVhfRlJBR01FTlRfVU5JRk9STV9CTE9DS1M6MzUzNzMsTUFYX0NPTUJJTkVEX1VOSUZPUk1fQkxPQ0tTOjM1Mzc0LE1BWF9VTklGT1JNX0JVRkZFUl9CSU5ESU5HUzozNTM3NSxNQVhfVU5JRk9STV9CTE9DS19TSVpFOjM1Mzc2LE1BWF9DT01CSU5FRF9WRVJURVhfVU5JRk9STV9DT01QT05FTlRTOjM1Mzc3LE1BWF9DT01CSU5FRF9GUkFHTUVOVF9VTklGT1JNX0NPTVBPTkVOVFM6MzUzNzksVU5JRk9STV9CVUZGRVJfT0ZGU0VUX0FMSUdOTUVOVDozNTM4MCxBQ1RJVkVfVU5JRk9STV9CTE9DS1M6MzUzODIsVU5JRk9STV9UWVBFOjM1MzgzLFVOSUZPUk1fU0laRTozNTM4NCxVTklGT1JNX0JMT0NLX0lOREVYOjM1Mzg2LFVOSUZPUk1fT0ZGU0VUOjM1Mzg3LFVOSUZPUk1fQVJSQVlfU1RSSURFOjM1Mzg4LFVOSUZPUk1fTUFUUklYX1NUUklERTozNTM4OSxVTklGT1JNX0lTX1JPV19NQUpPUjozNTM5MCxVTklGT1JNX0JMT0NLX0JJTkRJTkc6MzUzOTEsVU5JRk9STV9CTE9DS19EQVRBX1NJWkU6MzUzOTIsVU5JRk9STV9CTE9DS19BQ1RJVkVfVU5JRk9STVM6MzUzOTQsVU5JRk9STV9CTE9DS19BQ1RJVkVfVU5JRk9STV9JTkRJQ0VTOjM1Mzk1LFVOSUZPUk1fQkxPQ0tfUkVGRVJFTkNFRF9CWV9WRVJURVhfU0hBREVSOjM1Mzk2LFVOSUZPUk1fQkxPQ0tfUkVGRVJFTkNFRF9CWV9GUkFHTUVOVF9TSEFERVI6MzUzOTgsSU5WQUxJRF9JTkRFWDo0Mjk0OTY3Mjk1LE1BWF9WRVJURVhfT1VUUFVUX0NPTVBPTkVOVFM6MzcxNTQsTUFYX0ZSQUdNRU5UX0lOUFVUX0NPTVBPTkVOVFM6MzcxNTcsTUFYX1NFUlZFUl9XQUlUX1RJTUVPVVQ6MzcxMzcsT0JKRUNUX1RZUEU6MzcxMzgsU1lOQ19DT05ESVRJT046MzcxMzksU1lOQ19TVEFUVVM6MzcxNDAsU1lOQ19GTEFHUzozNzE0MSxTWU5DX0ZFTkNFOjM3MTQyLFNZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFOjM3MTQzLFVOU0lHTkFMRUQ6MzcxNDQsU0lHTkFMRUQ6MzcxNDUsQUxSRUFEWV9TSUdOQUxFRDozNzE0NixUSU1FT1VUX0VYUElSRUQ6MzcxNDcsQ09ORElUSU9OX1NBVElTRklFRDozNzE0OCxXQUlUX0ZBSUxFRDozNzE0OSxTWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVDoxLFZFUlRFWF9BVFRSSUJfQVJSQVlfRElWSVNPUjozNTA3MCxBTllfU0FNUExFU19QQVNTRUQ6MzU4ODcsQU5ZX1NBTVBMRVNfUEFTU0VEX0NPTlNFUlZBVElWRTozNjIwMixTQU1QTEVSX0JJTkRJTkc6MzUwOTcsUkdCMTBfQTJVSTozNjk3NSxJTlRfMl8xMF8xMF8xMF9SRVY6MzYyNTUsVFJBTlNGT1JNX0ZFRURCQUNLOjM2Mzg2LFRSQU5TRk9STV9GRUVEQkFDS19QQVVTRUQ6MzYzODcsVFJBTlNGT1JNX0ZFRURCQUNLX0FDVElWRTozNjM4OCxUUkFOU0ZPUk1fRkVFREJBQ0tfQklORElORzozNjM4OSxDT01QUkVTU0VEX1IxMV9FQUM6Mzc0ODgsQ09NUFJFU1NFRF9TSUdORURfUjExX0VBQzozNzQ4OSxDT01QUkVTU0VEX1JHMTFfRUFDOjM3NDkwLENPTVBSRVNTRURfU0lHTkVEX1JHMTFfRUFDOjM3NDkxLENPTVBSRVNTRURfUkdCOF9FVEMyOjM3NDkyLENPTVBSRVNTRURfU1JHQjhfRVRDMjozNzQ5MyxDT01QUkVTU0VEX1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyOjM3NDk0LENPTVBSRVNTRURfU1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyOjM3NDk1LENPTVBSRVNTRURfUkdCQThfRVRDMl9FQUM6Mzc0OTYsQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfRVRDMl9FQUM6Mzc0OTcsVEVYVFVSRV9JTU1VVEFCTEVfRk9STUFUOjM3MTY3LE1BWF9FTEVNRU5UX0lOREVYOjM2MjAzLFRFWFRVUkVfSU1NVVRBQkxFX0xFVkVMUzozMzUwMyxNQVhfVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQ6MzQwNDd9LHF0PU9iamVjdC5mcmVlemUodFApfSk7dmFyIGNlLG50LEZlPVooKCk9PntJdCgpO2Z0KCk7SHQoKTskcygpO2NlPXtCWVRFOnF0LkJZVEUsVU5TSUdORURfQllURTpxdC5VTlNJR05FRF9CWVRFLFNIT1JUOnF0LlNIT1JULFVOU0lHTkVEX1NIT1JUOnF0LlVOU0lHTkVEX1NIT1JULElOVDpxdC5JTlQsVU5TSUdORURfSU5UOnF0LlVOU0lHTkVEX0lOVCxGTE9BVDpxdC5GTE9BVCxET1VCTEU6cXQuRE9VQkxFfTtjZS5nZXRTaXplSW5CeXRlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigidmFsdWUgaXMgcmVxdWlyZWQuIik7c3dpdGNoKHQpe2Nhc2UgY2UuQllURTpyZXR1cm4gSW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2UgY2UuVU5TSUdORURfQllURTpyZXR1cm4gVWludDhBcnJheS5CWVRFU19QRVJfRUxFTUVOVDtjYXNlIGNlLlNIT1JUOnJldHVybiBJbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2UgY2UuVU5TSUdORURfU0hPUlQ6cmV0dXJuIFVpbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2UgY2UuSU5UOnJldHVybiBJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2UgY2UuVU5TSUdORURfSU5UOnJldHVybiBVaW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVDtjYXNlIGNlLkZMT0FUOnJldHVybiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7Y2FzZSBjZS5ET1VCTEU6cmV0dXJuIEZsb2F0NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVDtkZWZhdWx0OnRocm93IG5ldyBGKCJjb21wb25lbnREYXRhdHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O2NlLmZyb21UeXBlZEFycmF5PWZ1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBJbnQ4QXJyYXkpcmV0dXJuIGNlLkJZVEU7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIGNlLlVOU0lHTkVEX0JZVEU7aWYodCBpbnN0YW5jZW9mIEludDE2QXJyYXkpcmV0dXJuIGNlLlNIT1JUO2lmKHQgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlyZXR1cm4gY2UuVU5TSUdORURfU0hPUlQ7aWYodCBpbnN0YW5jZW9mIEludDMyQXJyYXkpcmV0dXJuIGNlLklOVDtpZih0IGluc3RhbmNlb2YgVWludDMyQXJyYXkpcmV0dXJuIGNlLlVOU0lHTkVEX0lOVDtpZih0IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5KXJldHVybiBjZS5GTE9BVDtpZih0IGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KXJldHVybiBjZS5ET1VCTEU7dGhyb3cgbmV3IEYoImFycmF5IG11c3QgYmUgYW4gSW50OEFycmF5LCBVaW50OEFycmF5LCBJbnQxNkFycmF5LCBVaW50MTZBcnJheSwgSW50MzJBcnJheSwgVWludDMyQXJyYXksIEZsb2F0MzJBcnJheSwgb3IgRmxvYXQ2NEFycmF5LiIpfTtjZS52YWxpZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KSYmKHQ9PT1jZS5CWVRFfHx0PT09Y2UuVU5TSUdORURfQllURXx8dD09PWNlLlNIT1JUfHx0PT09Y2UuVU5TSUdORURfU0hPUlR8fHQ9PT1jZS5JTlR8fHQ9PT1jZS5VTlNJR05FRF9JTlR8fHQ9PT1jZS5GTE9BVHx8dD09PWNlLkRPVUJMRSl9O2NlLmNyZWF0ZVR5cGVkQXJyYXk9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigiY29tcG9uZW50RGF0YXR5cGUgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoInZhbHVlc09yTGVuZ3RoIGlzIHJlcXVpcmVkLiIpO3N3aXRjaCh0KXtjYXNlIGNlLkJZVEU6cmV0dXJuIG5ldyBJbnQ4QXJyYXkoZSk7Y2FzZSBjZS5VTlNJR05FRF9CWVRFOnJldHVybiBuZXcgVWludDhBcnJheShlKTtjYXNlIGNlLlNIT1JUOnJldHVybiBuZXcgSW50MTZBcnJheShlKTtjYXNlIGNlLlVOU0lHTkVEX1NIT1JUOnJldHVybiBuZXcgVWludDE2QXJyYXkoZSk7Y2FzZSBjZS5JTlQ6cmV0dXJuIG5ldyBJbnQzMkFycmF5KGUpO2Nhc2UgY2UuVU5TSUdORURfSU5UOnJldHVybiBuZXcgVWludDMyQXJyYXkoZSk7Y2FzZSBjZS5GTE9BVDpyZXR1cm4gbmV3IEZsb2F0MzJBcnJheShlKTtjYXNlIGNlLkRPVUJMRTpyZXR1cm4gbmV3IEZsb2F0NjRBcnJheShlKTtkZWZhdWx0OnRocm93IG5ldyBGKCJjb21wb25lbnREYXRhdHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O2NlLmNyZWF0ZUFycmF5QnVmZmVyVmlldz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgRigiY29tcG9uZW50RGF0YXR5cGUgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImJ1ZmZlciBpcyByZXF1aXJlZC4iKTtzd2l0Y2gobj14KG4sMCksbz14KG8sKGUuYnl0ZUxlbmd0aC1uKS9jZS5nZXRTaXplSW5CeXRlcyh0KSksdCl7Y2FzZSBjZS5CWVRFOnJldHVybiBuZXcgSW50OEFycmF5KGUsbixvKTtjYXNlIGNlLlVOU0lHTkVEX0JZVEU6cmV0dXJuIG5ldyBVaW50OEFycmF5KGUsbixvKTtjYXNlIGNlLlNIT1JUOnJldHVybiBuZXcgSW50MTZBcnJheShlLG4sbyk7Y2FzZSBjZS5VTlNJR05FRF9TSE9SVDpyZXR1cm4gbmV3IFVpbnQxNkFycmF5KGUsbixvKTtjYXNlIGNlLklOVDpyZXR1cm4gbmV3IEludDMyQXJyYXkoZSxuLG8pO2Nhc2UgY2UuVU5TSUdORURfSU5UOnJldHVybiBuZXcgVWludDMyQXJyYXkoZSxuLG8pO2Nhc2UgY2UuRkxPQVQ6cmV0dXJuIG5ldyBGbG9hdDMyQXJyYXkoZSxuLG8pO2Nhc2UgY2UuRE9VQkxFOnJldHVybiBuZXcgRmxvYXQ2NEFycmF5KGUsbixvKTtkZWZhdWx0OnRocm93IG5ldyBGKCJjb21wb25lbnREYXRhdHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O2NlLmZyb21OYW1lPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIkJZVEUiOnJldHVybiBjZS5CWVRFO2Nhc2UiVU5TSUdORURfQllURSI6cmV0dXJuIGNlLlVOU0lHTkVEX0JZVEU7Y2FzZSJTSE9SVCI6cmV0dXJuIGNlLlNIT1JUO2Nhc2UiVU5TSUdORURfU0hPUlQiOnJldHVybiBjZS5VTlNJR05FRF9TSE9SVDtjYXNlIklOVCI6cmV0dXJuIGNlLklOVDtjYXNlIlVOU0lHTkVEX0lOVCI6cmV0dXJuIGNlLlVOU0lHTkVEX0lOVDtjYXNlIkZMT0FUIjpyZXR1cm4gY2UuRkxPQVQ7Y2FzZSJET1VCTEUiOnJldHVybiBjZS5ET1VCTEU7ZGVmYXVsdDp0aHJvdyBuZXcgRigibmFtZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O250PU9iamVjdC5mcmVlemUoY2UpfSk7dmFyIGVQLE1pLExwPVooKCk9PntlUD17Tk9ORTowLFRSSUFOR0xFUzoxLExJTkVTOjIsUE9MWUxJTkVTOjN9LE1pPU9iamVjdC5mcmVlemUoZVApfSk7ZnVuY3Rpb24gWXQodCxlLG4sbyl7dGhpc1swXT14KHQsMCksdGhpc1sxXT14KG4sMCksdGhpc1syXT14KGUsMCksdGhpc1szXT14KG8sMCl9dmFyIG5QLG9QLG1iLGhiLHJQLGlQLFlvLFRmPVooKCk9PntVZSgpO1h0KCk7SXQoKTtmdCgpO0h0KCk7WXQucGFja2VkTGVuZ3RoPTQ7WXQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10WzBdLGVbbisrXT10WzFdLGVbbisrXT10WzJdLGVbbisrXT10WzNdLGV9O1l0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBZdCksblswXT10W2UrK10sblsxXT10W2UrK10sblsyXT10W2UrK10sblszXT10W2UrK10sbn07WXQucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJhcnJheSIsdCk7bGV0IG49dC5sZW5ndGgsbz1uKjQ7aWYoIWgoZSkpZT1uZXcgQXJyYXkobyk7ZWxzZXtpZighQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGghPT1vKXRocm93IG5ldyBGKCJJZiByZXN1bHQgaXMgYSB0eXBlZCBhcnJheSwgaXQgbXVzdCBoYXZlIGV4YWN0bHkgYXJyYXkubGVuZ3RoICogNCBlbGVtZW50cyIpO2UubGVuZ3RoIT09byYmKGUubGVuZ3RoPW8pfWZvcihsZXQgcj0wO3I8bjsrK3IpWXQucGFjayh0W3JdLGUscio0KTtyZXR1cm4gZX07WXQudW5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXtpZih5LmRlZmluZWQoImFycmF5Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiYXJyYXkubGVuZ3RoIix0Lmxlbmd0aCw0KSx0Lmxlbmd0aCU0IT09MCl0aHJvdyBuZXcgRigiYXJyYXkgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0LiIpO2xldCBuPXQubGVuZ3RoO2goZSk/ZS5sZW5ndGg9bi80OmU9bmV3IEFycmF5KG4vNCk7Zm9yKGxldCBvPTA7bzxuO28rPTQpe2xldCByPW8vNDtlW3JdPVl0LnVucGFjayh0LG8sZVtyXSl9cmV0dXJuIGV9O1l0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGUpOm5ldyBZdCh0WzBdLHRbMl0sdFsxXSx0WzNdKX07WXQuZnJvbUFycmF5PVl0LnVucGFjaztZdC5mcm9tQ29sdW1uTWFqb3JBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoInZhbHVlcyIsdCksWXQuY2xvbmUodCxlKX07WXQuZnJvbVJvd01ham9yQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5kZWZpbmVkKCJ2YWx1ZXMiLHQpLGgoZSk/KGVbMF09dFswXSxlWzFdPXRbMl0sZVsyXT10WzFdLGVbM109dFszXSxlKTpuZXcgWXQodFswXSx0WzFdLHRbMl0sdFszXSl9O1l0LmZyb21TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInNjYWxlIix0KSxoKGUpPyhlWzBdPXQueCxlWzFdPTAsZVsyXT0wLGVbM109dC55LGUpOm5ldyBZdCh0LngsMCwwLHQueSl9O1l0LmZyb21Vbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2YubnVtYmVyKCJzY2FsZSIsdCksaChlKT8oZVswXT10LGVbMV09MCxlWzJdPTAsZVszXT10LGUpOm5ldyBZdCh0LDAsMCx0KX07WXQuZnJvbVJvdGF0aW9uPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT1uLGVbMV09byxlWzJdPS1vLGVbM109bixlKTpuZXcgWXQobiwtbyxvLG4pfTtZdC50b0FycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSxoKGUpPyhlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZSk6W3RbMF0sdFsxXSx0WzJdLHRbM11dfTtZdC5nZXRFbGVtZW50SW5kZXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInJvdyIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygicm93IixlLDEpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJjb2x1bW4iLHQsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImNvbHVtbiIsdCwxKSx0KjIrZX07WXQuZ2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGV4IixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwxKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89ZSoyLHI9dFtvXSxpPXRbbysxXTtyZXR1cm4gbi54PXIsbi55PWksbn07WXQuc2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDEpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz1ZdC5jbG9uZSh0LG8pO2xldCByPWUqMjtyZXR1cm4gb1tyXT1uLngsb1tyKzFdPW4ueSxvfTtZdC5nZXRSb3c9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDEpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz10W2VdLHI9dFtlKzJdO3JldHVybiBuLng9byxuLnk9cixufTtZdC5zZXRSb3c9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDEpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz1ZdC5jbG9uZSh0LG8pLG9bZV09bi54LG9bZSsyXT1uLnksb307blA9bmV3IHR0O1l0LnNldFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVl0LmdldFNjYWxlKHQsblApLHI9ZS54L28ueCxpPWUueS9vLnk7cmV0dXJuIG5bMF09dFswXSpyLG5bMV09dFsxXSpyLG5bMl09dFsyXSppLG5bM109dFszXSppLG59O29QPW5ldyB0dDtZdC5zZXRVbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89WXQuZ2V0U2NhbGUodCxvUCkscj1lL28ueCxpPWUvby55O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qaSxuWzNdPXRbM10qaSxufTttYj1uZXcgdHQ7WXQuZ2V0U2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9dHQubWFnbml0dWRlKHR0LmZyb21FbGVtZW50cyh0WzBdLHRbMV0sbWIpKSxlLnk9dHQubWFnbml0dWRlKHR0LmZyb21FbGVtZW50cyh0WzJdLHRbM10sbWIpKSxlfTtoYj1uZXcgdHQ7WXQuZ2V0TWF4aW11bVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBZdC5nZXRTY2FsZSh0LGhiKSx0dC5tYXhpbXVtQ29tcG9uZW50KGhiKX07clA9bmV3IHR0O1l0LnNldFJvdGF0aW9uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVl0LmdldFNjYWxlKHQsclApO3JldHVybiBuWzBdPWVbMF0qby54LG5bMV09ZVsxXSpvLngsblsyXT1lWzJdKm8ueSxuWzNdPWVbM10qby55LG59O2lQPW5ldyB0dDtZdC5nZXRSb3RhdGlvbj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49WXQuZ2V0U2NhbGUodCxpUCk7cmV0dXJuIGVbMF09dFswXS9uLngsZVsxXT10WzFdL24ueCxlWzJdPXRbMl0vbi55LGVbM109dFszXS9uLnksZX07WXQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0qZVswXSt0WzJdKmVbMV0scj10WzBdKmVbMl0rdFsyXSplWzNdLGk9dFsxXSplWzBdK3RbM10qZVsxXSxzPXRbMV0qZVsyXSt0WzNdKmVbM107cmV0dXJuIG5bMF09byxuWzFdPWksblsyXT1yLG5bM109cyxufTtZdC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0rZVswXSxuWzFdPXRbMV0rZVsxXSxuWzJdPXRbMl0rZVsyXSxuWzNdPXRbM10rZVszXSxufTtZdC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXS1lWzBdLG5bMV09dFsxXS1lWzFdLG5bMl09dFsyXS1lWzJdLG5bM109dFszXS1lWzNdLG59O1l0Lm11bHRpcGx5QnlWZWN0b3I9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0qZS54K3RbMl0qZS55LHI9dFsxXSplLngrdFszXSplLnk7cmV0dXJuIG4ueD1vLG4ueT1yLG59O1l0Lm11bHRpcGx5QnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0qZSxuWzFdPXRbMV0qZSxuWzJdPXRbMl0qZSxuWzNdPXRbM10qZSxufTtZdC5tdWx0aXBseUJ5U2NhbGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXSplLngsblsxXT10WzFdKmUueCxuWzJdPXRbMl0qZS55LG5bM109dFszXSplLnksbn07WXQubXVsdGlwbHlCeVVuaWZvcm1TY2FsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdKmUsblsxXT10WzFdKmUsblsyXT10WzJdKmUsblszXT10WzNdKmUsbn07WXQubmVnYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT0tdFswXSxlWzFdPS10WzFdLGVbMl09LXRbMl0sZVszXT0tdFszXSxlfTtZdC50cmFuc3Bvc2U9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXRbMF0sbz10WzJdLHI9dFsxXSxpPXRbM107cmV0dXJuIGVbMF09bixlWzFdPW8sZVsyXT1yLGVbM109aSxlfTtZdC5hYnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlWzBdPU1hdGguYWJzKHRbMF0pLGVbMV09TWF0aC5hYnModFsxXSksZVsyXT1NYXRoLmFicyh0WzJdKSxlWzNdPU1hdGguYWJzKHRbM10pLGV9O1l0LmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmdFswXT09PWVbMF0mJnRbMV09PT1lWzFdJiZ0WzJdPT09ZVsyXSYmdFszXT09PWVbM119O1l0LmVxdWFsc0FycmF5PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdFswXT09PWVbbl0mJnRbMV09PT1lW24rMV0mJnRbMl09PT1lW24rMl0mJnRbM109PT1lW24rM119O1l0LmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuPXgobiwwKSx0PT09ZXx8aCh0KSYmaChlKSYmTWF0aC5hYnModFswXS1lWzBdKTw9biYmTWF0aC5hYnModFsxXS1lWzFdKTw9biYmTWF0aC5hYnModFsyXS1lWzJdKTw9biYmTWF0aC5hYnModFszXS1lWzNdKTw9bn07WXQuSURFTlRJVFk9T2JqZWN0LmZyZWV6ZShuZXcgWXQoMSwwLDAsMSkpO1l0LlpFUk89T2JqZWN0LmZyZWV6ZShuZXcgWXQoMCwwLDAsMCkpO1l0LkNPTFVNTjBST1cwPTA7WXQuQ09MVU1OMFJPVzE9MTtZdC5DT0xVTU4xUk9XMD0yO1l0LkNPTFVNTjFST1cxPTM7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoWXQucHJvdG90eXBlLHtsZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiBZdC5wYWNrZWRMZW5ndGh9fX0pO1l0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gWXQuY2xvbmUodGhpcyx0KX07WXQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gWXQuZXF1YWxzKHRoaXMsdCl9O1l0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFl0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUpfTtZdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5gKCR7dGhpc1swXX0sICR7dGhpc1syXX0pCigke3RoaXNbMV19LCAke3RoaXNbM119KWB9O1lvPVl0fSk7dmFyIG1vLEJ0LHRuPVooKCk9PnskcygpO21vPXtQT0lOVFM6cXQuUE9JTlRTLExJTkVTOnF0LkxJTkVTLExJTkVfTE9PUDpxdC5MSU5FX0xPT1AsTElORV9TVFJJUDpxdC5MSU5FX1NUUklQLFRSSUFOR0xFUzpxdC5UUklBTkdMRVMsVFJJQU5HTEVfU1RSSVA6cXQuVFJJQU5HTEVfU1RSSVAsVFJJQU5HTEVfRkFOOnF0LlRSSUFOR0xFX0ZBTn07bW8uaXNMaW5lcz1mdW5jdGlvbih0KXtyZXR1cm4gdD09PW1vLkxJTkVTfHx0PT09bW8uTElORV9MT09QfHx0PT09bW8uTElORV9TVFJJUH07bW8uaXNUcmlhbmdsZXM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1tby5UUklBTkdMRVN8fHQ9PT1tby5UUklBTkdMRV9TVFJJUHx8dD09PW1vLlRSSUFOR0xFX0ZBTn07bW8udmFsaWRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1tby5QT0lOVFN8fHQ9PT1tby5MSU5FU3x8dD09PW1vLkxJTkVfTE9PUHx8dD09PW1vLkxJTkVfU1RSSVB8fHQ9PT1tby5UUklBTkdMRVN8fHQ9PT1tby5UUklBTkdMRV9TVFJJUHx8dD09PW1vLlRSSUFOR0xFX0ZBTn07QnQ9T2JqZWN0LmZyZWV6ZShtbyl9KTtmdW5jdGlvbiB2aCh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCkseS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLmF0dHJpYnV0ZXMiLHQuYXR0cmlidXRlcyksdGhpcy5hdHRyaWJ1dGVzPXQuYXR0cmlidXRlcyx0aGlzLmluZGljZXM9dC5pbmRpY2VzLHRoaXMucHJpbWl0aXZlVHlwZT14KHQucHJpbWl0aXZlVHlwZSxCdC5UUklBTkdMRVMpLHRoaXMuYm91bmRpbmdTcGhlcmU9dC5ib3VuZGluZ1NwaGVyZSx0aGlzLmdlb21ldHJ5VHlwZT14KHQuZ2VvbWV0cnlUeXBlLE1pLk5PTkUpLHRoaXMuYm91bmRpbmdTcGhlcmVDVj10LmJvdW5kaW5nU3BoZXJlQ1YsdGhpcy5vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGV9dmFyIHNQLGNQLF9iLGFQLGZQLHVQLGxQLHBQLGRQLG1QLFV0LFhlPVooKCk9PntVZSgpO0Z0KCk7SWUoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO0xwKCk7VGYoKTtCbigpO1VuKCk7dG4oKTtLbygpO3duKCk7Y3MoKTt2aC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcz1mdW5jdGlvbih0KXt5LnR5cGVPZi5vYmplY3QoImdlb21ldHJ5Iix0KTtsZXQgZT0tMTtmb3IobGV0IG4gaW4gdC5hdHRyaWJ1dGVzKWlmKHQuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShuKSYmaCh0LmF0dHJpYnV0ZXNbbl0pJiZoKHQuYXR0cmlidXRlc1tuXS52YWx1ZXMpKXtsZXQgbz10LmF0dHJpYnV0ZXNbbl0scj1vLnZhbHVlcy5sZW5ndGgvby5jb21wb25lbnRzUGVyQXR0cmlidXRlO2lmKGUhPT1yJiZlIT09LTEpdGhyb3cgbmV3IEYoIkFsbCBhdHRyaWJ1dGUgbGlzdHMgbXVzdCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBhdHRyaWJ1dGVzLiIpO2U9cn1yZXR1cm4gZX07c1A9bmV3IGN0LGNQPW5ldyBhLF9iPW5ldyBzdCxhUD1bbmV3IGN0LG5ldyBjdCxuZXcgY3RdLGZQPVtuZXcgdHQsbmV3IHR0LG5ldyB0dF0sdVA9W25ldyB0dCxuZXcgdHQsbmV3IHR0XSxsUD1uZXcgYSxwUD1uZXcgZWUsZFA9bmV3IHN0LG1QPW5ldyBZbzt2aC5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50cz1mdW5jdGlvbih0LGUsbixvKXtsZXQgcixpPU50LmNlbnRlcihvLHNQKSxzPWN0LnRvQ2FydGVzaWFuKGksbixjUCksZj1Yby5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZShzLG4sX2IpLHU9c3QuaW52ZXJzZShmLF9iKSxjPWZQLGw9YVA7bFswXS5sb25naXR1ZGU9by53ZXN0LGxbMF0ubGF0aXR1ZGU9by5zb3V0aCxsWzFdLmxvbmdpdHVkZT1vLndlc3QsbFsxXS5sYXRpdHVkZT1vLm5vcnRoLGxbMl0ubG9uZ2l0dWRlPW8uZWFzdCxsWzJdLmxhdGl0dWRlPW8uc291dGg7bGV0IHA9bFA7Zm9yKHI9MDtyPDM7cisrKWN0LnRvQ2FydGVzaWFuKGxbcl0sbixwKSxwPXN0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yKHUscCxwKSxjW3JdLng9cC54LGNbcl0ueT1wLnk7bGV0IGQ9ZWUuZnJvbUF4aXNBbmdsZShhLlVOSVRfWiwtZSxwUCksbT1RLmZyb21RdWF0ZXJuaW9uKGQsZFApLF89dC5sZW5ndGgsZz1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksYj1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksVD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksTz1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7Zm9yKHI9MDtyPF87cisrKXA9c3QubXVsdGlwbHlCeVBvaW50QXNWZWN0b3IodSx0W3JdLHApLHA9US5tdWx0aXBseUJ5VmVjdG9yKG0scCxwKSxnPU1hdGgubWluKGcscC54KSxiPU1hdGgubWluKGIscC55KSxUPU1hdGgubWF4KFQscC54KSxPPU1hdGgubWF4KE8scC55KTtsZXQgRT1Zby5mcm9tUm90YXRpb24oZSxtUCksdz11UDt3WzBdLng9Zyx3WzBdLnk9Yix3WzFdLng9Zyx3WzFdLnk9Tyx3WzJdLng9VCx3WzJdLnk9YjtsZXQgQz1jWzBdLE49Y1syXS54LUMueCxJPWNbMV0ueS1DLnk7Zm9yKHI9MDtyPDM7cisrKXtsZXQgQT13W3JdO1lvLm11bHRpcGx5QnlWZWN0b3IoRSxBLEEpLEEueD0oQS54LUMueCkvTixBLnk9KEEueS1DLnkpL0l9bGV0IEQ9d1swXSx2PXdbMV0sTD13WzJdLFU9bmV3IEFycmF5KDYpO3JldHVybiB0dC5wYWNrKEQsVSksdHQucGFjayh2LFUsMiksdHQucGFjayhMLFUsNCksVX07VXQ9dmh9KTtmdW5jdGlvbiBoUCh0KXtpZih0PXgodCx4LkVNUFRZX09CSkVDVCksIWgodC5jb21wb25lbnREYXRhdHlwZSkpdGhyb3cgbmV3IEYoIm9wdGlvbnMuY29tcG9uZW50RGF0YXR5cGUgaXMgcmVxdWlyZWQuIik7aWYoIWgodC5jb21wb25lbnRzUGVyQXR0cmlidXRlKSl0aHJvdyBuZXcgRigib3B0aW9ucy5jb21wb25lbnRzUGVyQXR0cmlidXRlIGlzIHJlcXVpcmVkLiIpO2lmKHQuY29tcG9uZW50c1BlckF0dHJpYnV0ZTwxfHx0LmNvbXBvbmVudHNQZXJBdHRyaWJ1dGU+NCl0aHJvdyBuZXcgRigib3B0aW9ucy5jb21wb25lbnRzUGVyQXR0cmlidXRlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA0LiIpO2lmKCFoKHQudmFsdWVzKSl0aHJvdyBuZXcgRigib3B0aW9ucy52YWx1ZXMgaXMgcmVxdWlyZWQuIik7dGhpcy5jb21wb25lbnREYXRhdHlwZT10LmNvbXBvbmVudERhdGF0eXBlLHRoaXMuY29tcG9uZW50c1BlckF0dHJpYnV0ZT10LmNvbXBvbmVudHNQZXJBdHRyaWJ1dGUsdGhpcy5ub3JtYWxpemU9eCh0Lm5vcm1hbGl6ZSwhMSksdGhpcy52YWx1ZXM9dC52YWx1ZXN9dmFyIGl0LFllPVooKCk9PntJdCgpO2Z0KCk7SHQoKTtpdD1oUH0pO2Z1bmN0aW9uIF9QKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx0aGlzLnBvc2l0aW9uPXQucG9zaXRpb24sdGhpcy5ub3JtYWw9dC5ub3JtYWwsdGhpcy5zdD10LnN0LHRoaXMuYml0YW5nZW50PXQuYml0YW5nZW50LHRoaXMudGFuZ2VudD10LnRhbmdlbnQsdGhpcy5jb2xvcj10LmNvbG9yfXZhciBpZSxhbj1aKCgpPT57SXQoKTtpZT1fUH0pO3ZhciBIZSx5YixnYj1aKCgpPT57VWUoKTtGdCgpO2hyKCk7WHQoKTtIdCgpO1RmKCk7Qm4oKTtVbigpO0hlPXtTQ0FMQVI6IlNDQUxBUiIsVkVDMjoiVkVDMiIsVkVDMzoiVkVDMyIsVkVDNDoiVkVDNCIsTUFUMjoiTUFUMiIsTUFUMzoiTUFUMyIsTUFUNDoiTUFUNCJ9O0hlLmdldE1hdGhUeXBlPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIEhlLlNDQUxBUjpyZXR1cm4gTnVtYmVyO2Nhc2UgSGUuVkVDMjpyZXR1cm4gdHQ7Y2FzZSBIZS5WRUMzOnJldHVybiBhO2Nhc2UgSGUuVkVDNDpyZXR1cm4gaGU7Y2FzZSBIZS5NQVQyOnJldHVybiBZbztjYXNlIEhlLk1BVDM6cmV0dXJuIFE7Y2FzZSBIZS5NQVQ0OnJldHVybiBzdDtkZWZhdWx0OnRocm93IG5ldyBGKCJhdHRyaWJ1dGVUeXBlIGlzIG5vdCBhIHZhbGlkIHZhbHVlLiIpfX07SGUuZ2V0TnVtYmVyT2ZDb21wb25lbnRzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIEhlLlNDQUxBUjpyZXR1cm4gMTtjYXNlIEhlLlZFQzI6cmV0dXJuIDI7Y2FzZSBIZS5WRUMzOnJldHVybiAzO2Nhc2UgSGUuVkVDNDpjYXNlIEhlLk1BVDI6cmV0dXJuIDQ7Y2FzZSBIZS5NQVQzOnJldHVybiA5O2Nhc2UgSGUuTUFUNDpyZXR1cm4gMTY7ZGVmYXVsdDp0aHJvdyBuZXcgRigiYXR0cmlidXRlVHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O0hlLmdldEF0dHJpYnV0ZUxvY2F0aW9uQ291bnQ9ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2UgSGUuU0NBTEFSOmNhc2UgSGUuVkVDMjpjYXNlIEhlLlZFQzM6Y2FzZSBIZS5WRUM0OnJldHVybiAxO2Nhc2UgSGUuTUFUMjpyZXR1cm4gMjtjYXNlIEhlLk1BVDM6cmV0dXJuIDM7Y2FzZSBIZS5NQVQ0OnJldHVybiA0O2RlZmF1bHQ6dGhyb3cgbmV3IEYoImF0dHJpYnV0ZVR5cGUgaXMgbm90IGEgdmFsaWQgdmFsdWUuIil9fTtIZS5nZXRHbHNsVHlwZT1mdW5jdGlvbih0KXtzd2l0Y2goeS50eXBlT2Yuc3RyaW5nKCJhdHRyaWJ1dGVUeXBlIix0KSx0KXtjYXNlIEhlLlNDQUxBUjpyZXR1cm4iZmxvYXQiO2Nhc2UgSGUuVkVDMjpyZXR1cm4idmVjMiI7Y2FzZSBIZS5WRUMzOnJldHVybiJ2ZWMzIjtjYXNlIEhlLlZFQzQ6cmV0dXJuInZlYzQiO2Nhc2UgSGUuTUFUMjpyZXR1cm4ibWF0MiI7Y2FzZSBIZS5NQVQzOnJldHVybiJtYXQzIjtjYXNlIEhlLk1BVDQ6cmV0dXJuIm1hdDQiO2RlZmF1bHQ6dGhyb3cgbmV3IEYoImF0dHJpYnV0ZVR5cGUgaXMgbm90IGEgdmFsaWQgdmFsdWUuIil9fTt5Yj1PYmplY3QuZnJlZXplKEhlKX0pO2Z1bmN0aW9uIERwKHQpe3JldHVybiBUYlswXT10LFRiWzBdfWZ1bmN0aW9uIExoKHQpe3JldHVybiB0Pj4xXi0odCYxKX12YXIgQWIsYmIsZW4sd2YsVGIsRGgsbm4sYXM9WigoKT0+e1VlKCk7RnQoKTtGZSgpO1h0KCk7ZnQoKTtIdCgpO1d0KCk7Z2IoKTtBYj0xLzI1NixiYj0yNTYsZW49e307ZW4ub2N0RW5jb2RlSW5SYW5nZT1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJ2ZWN0b3IiLHQpLHkuZGVmaW5lZCgicmVzdWx0IixuKTtsZXQgbz1hLm1hZ25pdHVkZVNxdWFyZWQodCk7aWYoTWF0aC5hYnMoby0xKT5NLkVQU0lMT042KXRocm93IG5ldyBGKCJ2ZWN0b3IgbXVzdCBiZSBub3JtYWxpemVkLiIpO2lmKG4ueD10LngvKE1hdGguYWJzKHQueCkrTWF0aC5hYnModC55KStNYXRoLmFicyh0LnopKSxuLnk9dC55LyhNYXRoLmFicyh0LngpK01hdGguYWJzKHQueSkrTWF0aC5hYnModC56KSksdC56PDApe2xldCByPW4ueCxpPW4ueTtuLng9KDEtTWF0aC5hYnMoaSkpKk0uc2lnbk5vdFplcm8ociksbi55PSgxLU1hdGguYWJzKHIpKSpNLnNpZ25Ob3RaZXJvKGkpfXJldHVybiBuLng9TS50b1NOb3JtKG4ueCxlKSxuLnk9TS50b1NOb3JtKG4ueSxlKSxufTtlbi5vY3RFbmNvZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZW4ub2N0RW5jb2RlSW5SYW5nZSh0LDI1NSxlKX07d2Y9bmV3IHR0LFRiPW5ldyBVaW50OEFycmF5KDEpO2VuLm9jdEVuY29kZVRvQ2FydGVzaWFuND1mdW5jdGlvbih0LGUpe3JldHVybiBlbi5vY3RFbmNvZGVJblJhbmdlKHQsNjU1MzUsd2YpLGUueD1EcCh3Zi54KkFiKSxlLnk9RHAod2YueCksZS56PURwKHdmLnkqQWIpLGUudz1EcCh3Zi55KSxlfTtlbi5vY3REZWNvZGVJblJhbmdlPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKHkuZGVmaW5lZCgicmVzdWx0IixvKSx0PDB8fHQ+bnx8ZTwwfHxlPm4pdGhyb3cgbmV3IEYoYHggYW5kIHkgbXVzdCBiZSB1bnNpZ25lZCBub3JtYWxpemVkIGludGVnZXJzIGJldHdlZW4gMCBhbmQgJHtufWApO2lmKG8ueD1NLmZyb21TTm9ybSh0LG4pLG8ueT1NLmZyb21TTm9ybShlLG4pLG8uej0xLShNYXRoLmFicyhvLngpK01hdGguYWJzKG8ueSkpLG8uejwwKXtsZXQgcj1vLng7by54PSgxLU1hdGguYWJzKG8ueSkpKk0uc2lnbk5vdFplcm8ociksby55PSgxLU1hdGguYWJzKHIpKSpNLnNpZ25Ob3RaZXJvKG8ueSl9cmV0dXJuIGEubm9ybWFsaXplKG8sbyl9O2VuLm9jdERlY29kZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGVuLm9jdERlY29kZUluUmFuZ2UodCxlLDI1NSxuKX07ZW4ub2N0RGVjb2RlRnJvbUNhcnRlc2lhbjQ9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImVuY29kZWQiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj10Lngsbz10Lnkscj10LnosaT10Lnc7aWYobjwwfHxuPjI1NXx8bzwwfHxvPjI1NXx8cjwwfHxyPjI1NXx8aTwwfHxpPjI1NSl0aHJvdyBuZXcgRigieCwgeSwgeiwgYW5kIHcgbXVzdCBiZSB1bnNpZ25lZCBub3JtYWxpemVkIGludGVnZXJzIGJldHdlZW4gMCBhbmQgMjU1Iik7bGV0IHM9bipiYitvLGY9cipiYitpO3JldHVybiBlbi5vY3REZWNvZGVJblJhbmdlKHMsZiw2NTUzNSxlKX07ZW4ub2N0UGFja0Zsb2F0PWZ1bmN0aW9uKHQpe3JldHVybiB5LmRlZmluZWQoImVuY29kZWQiLHQpLDI1Nip0LngrdC55fTtEaD1uZXcgdHQ7ZW4ub2N0RW5jb2RlRmxvYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGVuLm9jdEVuY29kZSh0LERoKSxlbi5vY3RQYWNrRmxvYXQoRGgpfTtlbi5vY3REZWNvZGVGbG9hdD1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgidmFsdWUiLHQpO2xldCBuPXQvMjU2LG89TWF0aC5mbG9vcihuKSxyPShuLW8pKjI1NjtyZXR1cm4gZW4ub2N0RGVjb2RlKG8scixlKX07ZW4ub2N0UGFjaz1mdW5jdGlvbih0LGUsbixvKXt5LmRlZmluZWQoInYxIix0KSx5LmRlZmluZWQoInYyIixlKSx5LmRlZmluZWQoInYzIixuKSx5LmRlZmluZWQoInJlc3VsdCIsbyk7bGV0IHI9ZW4ub2N0RW5jb2RlRmxvYXQodCksaT1lbi5vY3RFbmNvZGVGbG9hdChlKSxzPWVuLm9jdEVuY29kZShuLERoKTtyZXR1cm4gby54PTY1NTM2KnMueCtyLG8ueT02NTUzNipzLnkraSxvfTtlbi5vY3RVbnBhY2s9ZnVuY3Rpb24odCxlLG4sbyl7eS5kZWZpbmVkKCJwYWNrZWQiLHQpLHkuZGVmaW5lZCgidjEiLGUpLHkuZGVmaW5lZCgidjIiLG4pLHkuZGVmaW5lZCgidjMiLG8pO2xldCByPXQueC82NTUzNixpPU1hdGguZmxvb3Iocikscz0oci1pKSo2NTUzNjtyPXQueS82NTUzNjtsZXQgZj1NYXRoLmZsb29yKHIpLHU9KHItZikqNjU1MzY7ZW4ub2N0RGVjb2RlRmxvYXQocyxlKSxlbi5vY3REZWNvZGVGbG9hdCh1LG4pLGVuLm9jdERlY29kZShpLGYsbyl9O2VuLmNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzPWZ1bmN0aW9uKHQpe3kuZGVmaW5lZCgidGV4dHVyZUNvb3JkaW5hdGVzIix0KTtsZXQgZT10LngqNDA5NXwwLG49dC55KjQwOTV8MDtyZXR1cm4gNDA5NiplK259O2VuLmRlY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXM9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNvbXByZXNzZWQiLHQpLHkuZGVmaW5lZCgicmVzdWx0IixlKTtsZXQgbj10LzQwOTYsbz1NYXRoLmZsb29yKG4pO3JldHVybiBlLng9by80MDk1LGUueT0odC1vKjQwOTYpLzQwOTUsZX07ZW4uemlnWmFnRGVsdGFEZWNvZGU9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgidUJ1ZmZlciIsdCkseS5kZWZpbmVkKCJ2QnVmZmVyIixlKSx5LnR5cGVPZi5udW1iZXIuZXF1YWxzKCJ1QnVmZmVyLmxlbmd0aCIsInZCdWZmZXIubGVuZ3RoIix0Lmxlbmd0aCxlLmxlbmd0aCksaChuKSYmeS50eXBlT2YubnVtYmVyLmVxdWFscygidUJ1ZmZlci5sZW5ndGgiLCJoZWlnaHRCdWZmZXIubGVuZ3RoIix0Lmxlbmd0aCxuLmxlbmd0aCk7bGV0IG89dC5sZW5ndGgscj0wLGk9MCxzPTA7Zm9yKGxldCBmPTA7ZjxvOysrZilyKz1MaCh0W2ZdKSxpKz1MaChlW2ZdKSx0W2ZdPXIsZVtmXT1pLGgobikmJihzKz1MaChuW2ZdKSxuW2ZdPXMpfTtlbi5kZXF1YW50aXplPWZ1bmN0aW9uKHQsZSxuLG8pe3kuZGVmaW5lZCgidHlwZWRBcnJheSIsdCkseS5kZWZpbmVkKCJjb21wb25lbnREYXRhdHlwZSIsZSkseS5kZWZpbmVkKCJ0eXBlIixuKSx5LmRlZmluZWQoImNvdW50IixvKTtsZXQgcj15Yi5nZXROdW1iZXJPZkNvbXBvbmVudHMobiksaTtzd2l0Y2goZSl7Y2FzZSBudC5CWVRFOmk9MTI3O2JyZWFrO2Nhc2UgbnQuVU5TSUdORURfQllURTppPTI1NTticmVhaztjYXNlIG50LlNIT1JUOmk9MzI3Njc7YnJlYWs7Y2FzZSBudC5VTlNJR05FRF9TSE9SVDppPTY1NTM1O2JyZWFrO2Nhc2UgbnQuSU5UOmk9MjE0NzQ4MzY0NzticmVhaztjYXNlIG50LlVOU0lHTkVEX0lOVDppPTQyOTQ5NjcyOTU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRihgQ2Fubm90IGRlcXVhbnRpemUgY29tcG9uZW50IGRhdGF0eXBlOiAke2V9YCl9bGV0IHM9bmV3IEZsb2F0MzJBcnJheShvKnIpO2ZvcihsZXQgZj0wO2Y8bztmKyspZm9yKGxldCB1PTA7dTxyO3UrKyl7bGV0IGM9ZipyK3U7c1tjXT1NYXRoLm1heCh0W2NdL2ksLTEpfXJldHVybiBzfTtlbi5kZWNvZGVSR0I1NjU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoInR5cGVkQXJyYXkiLHQpO2xldCBuPXQubGVuZ3RoKjM7aChlKSYmeS50eXBlT2YubnVtYmVyLmVxdWFscygicmVzdWx0Lmxlbmd0aCIsInR5cGVkQXJyYXkubGVuZ3RoICogMyIsZS5sZW5ndGgsbik7bGV0IG89dC5sZW5ndGg7aChlKXx8KGU9bmV3IEZsb2F0MzJBcnJheShvKjMpKTtsZXQgcj0zMSxpPTYzLHM9MS8zMSxmPTEvNjM7Zm9yKGxldCB1PTA7dTxvO3UrKyl7bGV0IGM9dFt1XSxsPWM+PjExLHA9Yz4+NSZpLGQ9YyZyLG09Myp1O2VbbV09bCpzLGVbbSsxXT1wKmYsZVttKzJdPWQqc31yZXR1cm4gZX07bm49ZW59KTtmdW5jdGlvbiB5UCh0LGUsbixvLHIpe3kuZGVmaW5lZCgicG9pbnQiLHQpLHkuZGVmaW5lZCgicDAiLGUpLHkuZGVmaW5lZCgicDEiLG4pLHkuZGVmaW5lZCgicDIiLG8pLGgocil8fChyPW5ldyBhKTtsZXQgaSxzLGYsdSxjLGwscCxkO2lmKGgoZS56KSl7aWYoYS5lcXVhbHNFcHNpbG9uKHQsZSxNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1gscik7aWYoYS5lcXVhbHNFcHNpbG9uKHQsbixNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1kscik7aWYoYS5lcXVhbHNFcHNpbG9uKHQsbyxNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1oscik7aT1hLnN1YnRyYWN0KG4sZSx3Yikscz1hLnN1YnRyYWN0KG8sZSxPYiksZj1hLnN1YnRyYWN0KHQsZSxFYiksdT1hLmRvdChpLGkpLGM9YS5kb3QoaSxzKSxsPWEuZG90KGksZikscD1hLmRvdChzLHMpLGQ9YS5kb3QocyxmKX1lbHNle2lmKHR0LmVxdWFsc0Vwc2lsb24odCxlLE0uRVBTSUxPTjE0KSlyZXR1cm4gYS5jbG9uZShhLlVOSVRfWCxyKTtpZih0dC5lcXVhbHNFcHNpbG9uKHQsbixNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1kscik7aWYodHQuZXF1YWxzRXBzaWxvbih0LG8sTS5FUFNJTE9OMTQpKXJldHVybiBhLmNsb25lKGEuVU5JVF9aLHIpO2k9dHQuc3VidHJhY3QobixlLHdiKSxzPXR0LnN1YnRyYWN0KG8sZSxPYiksZj10dC5zdWJ0cmFjdCh0LGUsRWIpLHU9dHQuZG90KGksaSksYz10dC5kb3QoaSxzKSxsPXR0LmRvdChpLGYpLHA9dHQuZG90KHMscyksZD10dC5kb3QocyxmKX1yLnk9cCpsLWMqZCxyLno9dSpkLWMqbDtsZXQgbT11KnAtYypjO2lmKG0hPT0wKXJldHVybiByLnkvPW0sci56Lz1tLHIueD0xLXIueS1yLnoscn12YXIgd2IsT2IsRWIsUmIsU2I9WigoKT0+e1VlKCk7RnQoKTtYdCgpO2Z0KCk7V3QoKTt3Yj1uZXcgYSxPYj1uZXcgYSxFYj1uZXcgYTtSYj15UH0pO2Z1bmN0aW9uIHJpKCl7dGhpcy5oaWdoPWEuY2xvbmUoYS5aRVJPKSx0aGlzLmxvdz1hLmNsb25lKGEuWkVSTyl9dmFyIE5pLEZoLFpzLEJoPVooKCk9PntGdCgpO1h0KCk7ZnQoKTtyaS5lbmNvZGU9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5udW1iZXIoInZhbHVlIix0KSxoKGUpfHwoZT17aGlnaDowLGxvdzowfSk7bGV0IG47cmV0dXJuIHQ+PTA/KG49TWF0aC5mbG9vcih0LzY1NTM2KSo2NTUzNixlLmhpZ2g9bixlLmxvdz10LW4pOihuPU1hdGguZmxvb3IoLXQvNjU1MzYpKjY1NTM2LGUuaGlnaD0tbixlLmxvdz10K24pLGV9O05pPXtoaWdoOjAsbG93OjB9O3JpLmZyb21DYXJ0ZXNpYW49ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksaChlKXx8KGU9bmV3IHJpKTtsZXQgbj1lLmhpZ2gsbz1lLmxvdztyZXR1cm4gcmkuZW5jb2RlKHQueCxOaSksbi54PU5pLmhpZ2gsby54PU5pLmxvdyxyaS5lbmNvZGUodC55LE5pKSxuLnk9TmkuaGlnaCxvLnk9TmkubG93LHJpLmVuY29kZSh0LnosTmkpLG4uej1OaS5oaWdoLG8uej1OaS5sb3csZX07Rmg9bmV3IHJpO3JpLndyaXRlRWxlbWVudHM9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiY2FydGVzaWFuQXJyYXkiLGUpLHkudHlwZU9mLm51bWJlcigiaW5kZXgiLG4pLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsbiwwKSxyaS5mcm9tQ2FydGVzaWFuKHQsRmgpO2xldCBvPUZoLmhpZ2gscj1GaC5sb3c7ZVtuXT1vLngsZVtuKzFdPW8ueSxlW24rMl09by56LGVbbiszXT1yLngsZVtuKzRdPXIueSxlW24rNV09ci56fTtacz1yaX0pO3ZhciB0byxEdCwkZT1aKCgpPT57ZnQoKTtIdCgpO1d0KCk7JHMoKTt0bz17VU5TSUdORURfQllURTpxdC5VTlNJR05FRF9CWVRFLFVOU0lHTkVEX1NIT1JUOnF0LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDpxdC5VTlNJR05FRF9JTlR9O3RvLmdldFNpemVJbkJ5dGVzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIHRvLlVOU0lHTkVEX0JZVEU6cmV0dXJuIFVpbnQ4QXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7Y2FzZSB0by5VTlNJR05FRF9TSE9SVDpyZXR1cm4gVWludDE2QXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7Y2FzZSB0by5VTlNJR05FRF9JTlQ6cmV0dXJuIFVpbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UfXRocm93IG5ldyBGKCJpbmRleERhdGF0eXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgdmFsaWQgSW5kZXhEYXRhdHlwZSBjb25zdGFudC4iKX07dG8uZnJvbVNpemVJbkJ5dGVzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIDI6cmV0dXJuIHRvLlVOU0lHTkVEX1NIT1JUO2Nhc2UgNDpyZXR1cm4gdG8uVU5TSUdORURfSU5UO2Nhc2UgMTpyZXR1cm4gdG8uVU5TSUdORURfQllURTtkZWZhdWx0OnRocm93IG5ldyBGKCJTaXplIGluIGJ5dGVzIGNhbm5vdCBiZSBtYXBwZWQgdG8gYW4gSW5kZXhEYXRhdHlwZSIpfX07dG8udmFsaWRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGgodCkmJih0PT09dG8uVU5TSUdORURfQllURXx8dD09PXRvLlVOU0lHTkVEX1NIT1JUfHx0PT09dG8uVU5TSUdORURfSU5UKX07dG8uY3JlYXRlVHlwZWRBcnJheT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJudW1iZXJPZlZlcnRpY2VzIGlzIHJlcXVpcmVkLiIpO3JldHVybiB0Pj1NLlNJWFRZX0ZPVVJfS0lMT0JZVEVTP25ldyBVaW50MzJBcnJheShlKTpuZXcgVWludDE2QXJyYXkoZSl9O3RvLmNyZWF0ZVR5cGVkQXJyYXlGcm9tQXJyYXlCdWZmZXI9ZnVuY3Rpb24odCxlLG4sbyl7aWYoIWgodCkpdGhyb3cgbmV3IEYoIm51bWJlck9mVmVydGljZXMgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoInNvdXJjZUFycmF5IGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJieXRlT2Zmc2V0IGlzIHJlcXVpcmVkLiIpO3JldHVybiB0Pj1NLlNJWFRZX0ZPVVJfS0lMT0JZVEVTP25ldyBVaW50MzJBcnJheShlLG4sbyk6bmV3IFVpbnQxNkFycmF5KGUsbixvKX07dG8uZnJvbVR5cGVkQXJyYXk9ZnVuY3Rpb24odCl7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHRvLlVOU0lHTkVEX0JZVEU7aWYodCBpbnN0YW5jZW9mIFVpbnQxNkFycmF5KXJldHVybiB0by5VTlNJR05FRF9TSE9SVDtpZih0IGluc3RhbmNlb2YgVWludDMyQXJyYXkpcmV0dXJuIHRvLlVOU0lHTkVEX0lOVDt0aHJvdyBuZXcgRigiYXJyYXkgbXVzdCBiZSBhIFVpbnQ4QXJyYXksIFVpbnQxNkFycmF5LCBvciBVaW50MzJBcnJheS4iKX07RHQ9T2JqZWN0LmZyZWV6ZSh0byl9KTtmdW5jdGlvbiBDYih0LGUsbil7bGV0IG89dCtlO3JldHVybiBNLnNpZ24odCkhPT1NLnNpZ24oZSkmJk1hdGguYWJzKG8vTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKTxuPzA6b312YXIgVWgsZ3IsRnA9WigoKT0+e0h0KCk7V3QoKTtVaD17fTtVaC5jb21wdXRlRGlzY3JpbWluYW50PWZ1bmN0aW9uKHQsZSxuKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEYoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBGKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgRigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtyZXR1cm4gZSplLTQqdCpufTtVaC5jb21wdXRlUmVhbFJvb3RzPWZ1bmN0aW9uKHQsZSxuKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEYoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBGKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgRigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtsZXQgbztpZih0PT09MClyZXR1cm4gZT09PTA/W106Wy1uL2VdO2lmKGU9PT0wKXtpZihuPT09MClyZXR1cm5bMCwwXTtsZXQgdT1NYXRoLmFicyhuKSxjPU1hdGguYWJzKHQpO2lmKHU8YyYmdS9jPE0uRVBTSUxPTjE0KXJldHVyblswLDBdO2lmKHU+YyYmYy91PE0uRVBTSUxPTjE0KXJldHVybltdO2lmKG89LW4vdCxvPDApcmV0dXJuW107bGV0IGw9TWF0aC5zcXJ0KG8pO3JldHVyblstbCxsXX1lbHNlIGlmKG49PT0wKXJldHVybiBvPS1lL3QsbzwwP1tvLDBdOlswLG9dO2xldCByPWUqZSxpPTQqdCpuLHM9Q2IociwtaSxNLkVQU0lMT04xNCk7aWYoczwwKXJldHVybltdO2xldCBmPS0uNSpDYihlLE0uc2lnbihlKSpNYXRoLnNxcnQocyksTS5FUFNJTE9OMTQpO3JldHVybiBlPjA/W2YvdCxuL2ZdOltuL2YsZi90XX07Z3I9VWh9KTtmdW5jdGlvbiBWaCh0LGUsbixvKXtsZXQgcj10LGk9ZS8zLHM9bi8zLGY9byx1PXIqcyxjPWkqZixsPWkqaSxwPXMqcyxkPXIqcy1sLG09cipmLWkqcyxfPWkqZi1wLGc9NCpkKl8tbSptLGIsVDtpZihnPDApe2xldCBSLG90LGF0O2wqYz49dSpwPyhSPXIsb3Q9ZCxhdD0tMippKmQrciptKTooUj1mLG90PV8sYXQ9LWYqbSsyKnMqXyk7bGV0IHl0PS0oYXQ8MD8tMToxKSpNYXRoLmFicyhSKSpNYXRoLnNxcnQoLWcpO1Q9LWF0K3l0O2xldCBydD1ULzIsUHQ9cnQ8MD8tTWF0aC5wb3coLXJ0LDEvMyk6TWF0aC5wb3cocnQsMS8zKSxndD1UPT09eXQ/LVB0Oi1vdC9QdDtyZXR1cm4gYj1vdDw9MD9QdCtndDotYXQvKFB0KlB0K2d0Kmd0K290KSxsKmM+PXUqcD9bKGItaSkvcl06Wy1mLyhiK3MpXX1sZXQgTz1kLEU9LTIqaSpkK3IqbSx3PV8sQz0tZiptKzIqcypfLE49TWF0aC5zcXJ0KGcpLEk9TWF0aC5zcXJ0KDMpLzIsRD1NYXRoLmFicyhNYXRoLmF0YW4yKHIqTiwtRSkvMyk7Yj0yKk1hdGguc3FydCgtTyk7bGV0IHY9TWF0aC5jb3MoRCk7VD1iKnY7bGV0IEw9YiooLXYvMi1JKk1hdGguc2luKEQpKSxVPVQrTD4yKmk/VC1pOkwtaSxBPXIsUz1VL0E7RD1NYXRoLmFicyhNYXRoLmF0YW4yKGYqTiwtQykvMyksYj0yKk1hdGguc3FydCgtdyksdj1NYXRoLmNvcyhEKSxUPWIqdixMPWIqKC12LzItSSpNYXRoLnNpbihEKSk7bGV0IFA9LWYsQj1UK0w8MipzP1QrczpMK3Msaj1QL0IsSD1BKkIsaz0tVSpCLUEqUCxLPVUqUCxYPShzKmstaSpLKS8oLWkqaytzKkgpO3JldHVybiBTPD1YP1M8PWo/WDw9aj9bUyxYLGpdOltTLGosWF06W2osUyxYXTpTPD1qP1tYLFMsal06WDw9aj9bWCxqLFNdOltqLFgsU119dmFyIGtoLEJwLHhiPVooKCk9PntIdCgpO0ZwKCk7a2g9e307a2guY29tcHV0ZURpc2NyaW1pbmFudD1mdW5jdGlvbih0LGUsbixvKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEYoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBGKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgRigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgbyE9Im51bWJlciIpdGhyb3cgbmV3IEYoImQgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7bGV0IHI9dCp0LGk9ZSplLHM9bipuLGY9bypvO3JldHVybiAxOCp0KmUqbipvK2kqcy0yNypyKmYtNCoodCpzKm4raSplKm8pfTtraC5jb21wdXRlUmVhbFJvb3RzPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKHR5cGVvZiB0IT0ibnVtYmVyIil0aHJvdyBuZXcgRigiYSBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgZSE9Im51bWJlciIpdGhyb3cgbmV3IEYoImIgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIG4hPSJudW1iZXIiKXRocm93IG5ldyBGKCJjIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBvIT0ibnVtYmVyIil0aHJvdyBuZXcgRigiZCBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtsZXQgcixpO2lmKHQ9PT0wKXJldHVybiBnci5jb21wdXRlUmVhbFJvb3RzKGUsbixvKTtpZihlPT09MCl7aWYobj09PTApe2lmKG89PT0wKXJldHVyblswLDAsMF07aT0tby90O2xldCBzPWk8MD8tTWF0aC5wb3coLWksMS8zKTpNYXRoLnBvdyhpLDEvMyk7cmV0dXJuW3MscyxzXX1lbHNlIGlmKG89PT0wKXJldHVybiByPWdyLmNvbXB1dGVSZWFsUm9vdHModCwwLG4pLHIuTGVuZ3RoPT09MD9bMF06W3JbMF0sMCxyWzFdXTtyZXR1cm4gVmgodCwwLG4sbyl9ZWxzZXtpZihuPT09MClyZXR1cm4gbz09PTA/KGk9LWUvdCxpPDA/W2ksMCwwXTpbMCwwLGldKTpWaCh0LGUsMCxvKTtpZihvPT09MClyZXR1cm4gcj1nci5jb21wdXRlUmVhbFJvb3RzKHQsZSxuKSxyLmxlbmd0aD09PTA/WzBdOnJbMV08PTA/W3JbMF0sclsxXSwwXTpyWzBdPj0wP1swLHJbMF0sclsxXV06W3JbMF0sMCxyWzFdXX1yZXR1cm4gVmgodCxlLG4sbyl9O0JwPWtofSk7ZnVuY3Rpb24gQnIodCxlLG4sbyl7bGV0IHI9dCp0LGk9ZS0zKnIvOCxzPW4tZSp0LzIrcip0LzgsZj1vLW4qdC80K2Uqci8xNi0zKnIqci8yNTYsdT1CcC5jb21wdXRlUmVhbFJvb3RzKDEsMippLGkqaS00KmYsLXMqcyk7aWYodS5sZW5ndGg+MCl7bGV0IGM9LXQvNCxsPXVbdS5sZW5ndGgtMV07aWYoTWF0aC5hYnMobCk8TS5FUFNJTE9OMTQpe2xldCBwPWdyLmNvbXB1dGVSZWFsUm9vdHMoMSxpLGYpO2lmKHAubGVuZ3RoPT09Mil7bGV0IGQ9cFswXSxtPXBbMV0sXztpZihkPj0wJiZtPj0wKXtsZXQgZz1NYXRoLnNxcnQoZCksYj1NYXRoLnNxcnQobSk7cmV0dXJuW2MtYixjLWcsYytnLGMrYl19ZWxzZXtpZihkPj0wJiZtPDApcmV0dXJuIF89TWF0aC5zcXJ0KGQpLFtjLV8sYytfXTtpZihkPDAmJm0+PTApcmV0dXJuIF89TWF0aC5zcXJ0KG0pLFtjLV8sYytfXX19cmV0dXJuW119ZWxzZSBpZihsPjApe2xldCBwPU1hdGguc3FydChsKSxkPShpK2wtcy9wKS8yLG09KGkrbCtzL3ApLzIsXz1nci5jb21wdXRlUmVhbFJvb3RzKDEscCxkKSxnPWdyLmNvbXB1dGVSZWFsUm9vdHMoMSwtcCxtKTtyZXR1cm4gXy5sZW5ndGghPT0wPyhfWzBdKz1jLF9bMV0rPWMsZy5sZW5ndGghPT0wPyhnWzBdKz1jLGdbMV0rPWMsX1sxXTw9Z1swXT9bX1swXSxfWzFdLGdbMF0sZ1sxXV06Z1sxXTw9X1swXT9bZ1swXSxnWzFdLF9bMF0sX1sxXV06X1swXT49Z1swXSYmX1sxXTw9Z1sxXT9bZ1swXSxfWzBdLF9bMV0sZ1sxXV06Z1swXT49X1swXSYmZ1sxXTw9X1sxXT9bX1swXSxnWzBdLGdbMV0sX1sxXV06X1swXT5nWzBdJiZfWzBdPGdbMV0/W2dbMF0sX1swXSxnWzFdLF9bMV1dOltfWzBdLGdbMF0sX1sxXSxnWzFdXSk6Xyk6Zy5sZW5ndGghPT0wPyhnWzBdKz1jLGdbMV0rPWMsZyk6W119fXJldHVybltdfWZ1bmN0aW9uIE9mKHQsZSxuLG8pe2xldCByPW4qbixpPWUqZSxzPXQqdCxmPS0yKmUsdT1uKnQraS00Km8sYz1zKm8tbiplKnQrcixsPUJwLmNvbXB1dGVSZWFsUm9vdHMoMSxmLHUsYyk7aWYobC5sZW5ndGg+MCl7bGV0IHA9bFswXSxkPWUtcCxtPWQqZCxfPXQvMixnPWQvMixiPW0tNCpvLFQ9bSs0Kk1hdGguYWJzKG8pLE89cy00KnAsRT1zKzQqTWF0aC5hYnMocCksdyxDO2lmKHA8MHx8YipFPE8qVCl7bGV0IEE9TWF0aC5zcXJ0KE8pO3c9QS8yLEM9QT09PTA/MDoodCpnLW4pL0F9ZWxzZXtsZXQgQT1NYXRoLnNxcnQoYik7dz1BPT09MD8wOih0KmctbikvQSxDPUEvMn1sZXQgTixJO189PT0wJiZ3PT09MD8oTj0wLEk9MCk6TS5zaWduKF8pPT09TS5zaWduKHcpPyhOPV8rdyxJPXAvTik6KEk9Xy13LE49cC9JKTtsZXQgRCx2O2c9PT0wJiZDPT09MD8oRD0wLHY9MCk6TS5zaWduKGcpPT09TS5zaWduKEMpPyhEPWcrQyx2PW8vRCk6KHY9Zy1DLEQ9by92KTtsZXQgTD1nci5jb21wdXRlUmVhbFJvb3RzKDEsTixEKSxVPWdyLmNvbXB1dGVSZWFsUm9vdHMoMSxJLHYpO2lmKEwubGVuZ3RoIT09MClyZXR1cm4gVS5sZW5ndGghPT0wP0xbMV08PVVbMF0/W0xbMF0sTFsxXSxVWzBdLFVbMV1dOlVbMV08PUxbMF0/W1VbMF0sVVsxXSxMWzBdLExbMV1dOkxbMF0+PVVbMF0mJkxbMV08PVVbMV0/W1VbMF0sTFswXSxMWzFdLFVbMV1dOlVbMF0+PUxbMF0mJlVbMV08PUxbMV0/W0xbMF0sVVswXSxVWzFdLExbMV1dOkxbMF0+VVswXSYmTFswXTxVWzFdP1tVWzBdLExbMF0sVVsxXSxMWzFdXTpbTFswXSxVWzBdLExbMV0sVVsxXV06TDtpZihVLmxlbmd0aCE9PTApcmV0dXJuIFV9cmV0dXJuW119dmFyIEdoLFBiLE1iPVooKCk9Pnt4YigpO0h0KCk7V3QoKTtGcCgpO0doPXt9O0doLmNvbXB1dGVEaXNjcmltaW5hbnQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEYoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBGKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgRigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgbyE9Im51bWJlciIpdGhyb3cgbmV3IEYoImQgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIHIhPSJudW1iZXIiKXRocm93IG5ldyBGKCJlIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2xldCBpPXQqdCxzPWkqdCxmPWUqZSx1PWYqZSxjPW4qbixsPWMqbixwPW8qbyxkPXAqbyxtPXIqcixfPW0qcjtyZXR1cm4gZipjKnAtNCp1KmQtNCp0KmwqcCsxOCp0KmUqbipkLTI3KmkqcCpwKzI1NipzKl8rciooMTgqdSpuKm8tNCpmKmwrMTYqdCpjKmMtODAqdCplKmMqby02KnQqZipwKzE0NCppKm4qcCkrbSooMTQ0KnQqZipuLTI3KmYqZi0xMjgqaSpjLTE5MippKmUqbyl9O0doLmNvbXB1dGVSZWFsUm9vdHM9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEYoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBGKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgRigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgbyE9Im51bWJlciIpdGhyb3cgbmV3IEYoImQgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIHIhPSJudW1iZXIiKXRocm93IG5ldyBGKCJlIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKE1hdGguYWJzKHQpPE0uRVBTSUxPTjE1KXJldHVybiBCcC5jb21wdXRlUmVhbFJvb3RzKGUsbixvLHIpO2xldCBpPWUvdCxzPW4vdCxmPW8vdCx1PXIvdCxjPWk8MD8xOjA7c3dpdGNoKGMrPXM8MD9jKzE6YyxjKz1mPDA/YysxOmMsYys9dTwwP2MrMTpjLGMpe2Nhc2UgMDpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxOnJldHVybiBPZihpLHMsZix1KTtjYXNlIDI6cmV0dXJuIE9mKGkscyxmLHUpO2Nhc2UgMzpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSA0OnJldHVybiBCcihpLHMsZix1KTtjYXNlIDU6cmV0dXJuIE9mKGkscyxmLHUpO2Nhc2UgNjpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSA3OnJldHVybiBCcihpLHMsZix1KTtjYXNlIDg6cmV0dXJuIE9mKGkscyxmLHUpO2Nhc2UgOTpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxMDpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxMTpyZXR1cm4gT2YoaSxzLGYsdSk7Y2FzZSAxMjpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxMzpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxNDpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxNTpyZXR1cm4gQnIoaSxzLGYsdSk7ZGVmYXVsdDpyZXR1cm59fTtQYj1HaH0pO2Z1bmN0aW9uIFVwKHQsZSl7ZT1hLmNsb25lKHgoZSxhLlpFUk8pKSxhLmVxdWFscyhlLGEuWkVSTyl8fGEubm9ybWFsaXplKGUsZSksdGhpcy5vcmlnaW49YS5jbG9uZSh4KHQsYS5aRVJPKSksdGhpcy5kaXJlY3Rpb249ZX12YXIgUXMsVnA9WigoKT0+e0Z0KCk7WHQoKTtJdCgpO2Z0KCk7VXAuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLm9yaWdpbj1hLmNsb25lKHQub3JpZ2luKSxlLmRpcmVjdGlvbj1hLmNsb25lKHQuZGlyZWN0aW9uKSxlKTpuZXcgVXAodC5vcmlnaW4sdC5kaXJlY3Rpb24pfTtVcC5nZXRQb2ludD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicmF5Iix0KSx5LnR5cGVPZi5udW1iZXIoInQiLGUpLGgobil8fChuPW5ldyBhKSxuPWEubXVsdGlwbHlCeVNjYWxhcih0LmRpcmVjdGlvbixlLG4pLGEuYWRkKHQub3JpZ2luLG4sbil9O1FzPVVwfSk7ZnVuY3Rpb24gVFAodCxlLG4sbyl7bGV0IHI9ZSplLTQqdCpuO2lmKHI8MClyZXR1cm47aWYocj4wKXtsZXQgcz0xLygyKnQpLGY9TWF0aC5zcXJ0KHIpLHU9KC1lK2YpKnMsYz0oLWUtZikqcztyZXR1cm4gdTxjPyhvLnJvb3QwPXUsby5yb290MT1jKTooby5yb290MD1jLG8ucm9vdDE9dSksb31sZXQgaT0tZS8oMip0KTtpZihpIT09MClyZXR1cm4gby5yb290MD1vLnJvb3QxPWksb31mdW5jdGlvbiBWYih0LGUsbil7aChuKXx8KG49bmV3IFFyKTtsZXQgbz10Lm9yaWdpbixyPXQuZGlyZWN0aW9uLGk9ZS5jZW50ZXIscz1lLnJhZGl1cyplLnJhZGl1cyxmPWEuc3VidHJhY3QobyxpLFViKSx1PWEuZG90KHIsciksYz0yKmEuZG90KHIsZiksbD1hLm1hZ25pdHVkZVNxdWFyZWQoZiktcyxwPVRQKHUsYyxsLHdQKTtpZihoKHApKXJldHVybiBuLnN0YXJ0PXAucm9vdDAsbi5zdG9wPXAucm9vdDEsbn1mdW5jdGlvbiBKcyh0LGUsbil7bGV0IG89dCtlO3JldHVybiBNLnNpZ24odCkhPT1NLnNpZ24oZSkmJk1hdGguYWJzKG8vTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKTxuPzA6b312YXIgZ24sZ1AsQVAsVWIsTmIsSWIsYlAsd1AsT1AsRVAsUlAsemgsdmIsTGIsa3AsU1AsQ1AseFAsUFAsTVAsTlAsRGIsRmIsQmIsSVAsdlAsTFAsaG8sdGM9WigoKT0+e0Z0KCk7SWUoKTtJdCgpO2Z0KCk7SHQoKTtIbCgpO1d0KCk7Qm4oKTtGcCgpO01iKCk7VnAoKTtnbj17fTtnbi5yYXlQbGFuZT1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInJheSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigicGxhbmUgaXMgcmVxdWlyZWQuIik7aChuKXx8KG49bmV3IGEpO2xldCBvPXQub3JpZ2luLHI9dC5kaXJlY3Rpb24saT1lLm5vcm1hbCxzPWEuZG90KGkscik7aWYoTWF0aC5hYnMocyk8TS5FUFNJTE9OMTUpcmV0dXJuO2xldCBmPSgtZS5kaXN0YW5jZS1hLmRvdChpLG8pKS9zO2lmKCEoZjwwKSlyZXR1cm4gbj1hLm11bHRpcGx5QnlTY2FsYXIocixmLG4pLGEuYWRkKG8sbixuKX07Z1A9bmV3IGEsQVA9bmV3IGEsVWI9bmV3IGEsTmI9bmV3IGEsSWI9bmV3IGE7Z24ucmF5VHJpYW5nbGVQYXJhbWV0cmljPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInJheSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigicDAgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoInAxIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG8pKXRocm93IG5ldyBGKCJwMiBpcyByZXF1aXJlZC4iKTtyPXgociwhMSk7bGV0IGk9dC5vcmlnaW4scz10LmRpcmVjdGlvbixmPWEuc3VidHJhY3QobixlLGdQKSx1PWEuc3VidHJhY3QobyxlLEFQKSxjPWEuY3Jvc3Mocyx1LFViKSxsPWEuZG90KGYsYykscCxkLG0sXyxnO2lmKHIpe2lmKGw8TS5FUFNJTE9ONnx8KHA9YS5zdWJ0cmFjdChpLGUsTmIpLG09YS5kb3QocCxjKSxtPDB8fG0+bCl8fChkPWEuY3Jvc3MocCxmLEliKSxfPWEuZG90KHMsZCksXzwwfHxtK18+bCkpcmV0dXJuO2c9YS5kb3QodSxkKS9sfWVsc2V7aWYoTWF0aC5hYnMobCk8TS5FUFNJTE9ONilyZXR1cm47bGV0IGI9MS9sO2lmKHA9YS5zdWJ0cmFjdChpLGUsTmIpLG09YS5kb3QocCxjKSpiLG08MHx8bT4xfHwoZD1hLmNyb3NzKHAsZixJYiksXz1hLmRvdChzLGQpKmIsXzwwfHxtK18+MSkpcmV0dXJuO2c9YS5kb3QodSxkKSpifXJldHVybiBnfTtnbi5yYXlUcmlhbmdsZT1mdW5jdGlvbih0LGUsbixvLHIsaSl7bGV0IHM9Z24ucmF5VHJpYW5nbGVQYXJhbWV0cmljKHQsZSxuLG8scik7aWYoISghaChzKXx8czwwKSlyZXR1cm4gaChpKXx8KGk9bmV3IGEpLGEubXVsdGlwbHlCeVNjYWxhcih0LmRpcmVjdGlvbixzLGkpLGEuYWRkKHQub3JpZ2luLGksaSl9O2JQPW5ldyBRcztnbi5saW5lU2VnbWVudFRyaWFuZ2xlPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJ2MCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigidjEgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoInAwIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG8pKXRocm93IG5ldyBGKCJwMSBpcyByZXF1aXJlZC4iKTtpZighaChyKSl0aHJvdyBuZXcgRigicDIgaXMgcmVxdWlyZWQuIik7bGV0IGY9YlA7YS5jbG9uZSh0LGYub3JpZ2luKSxhLnN1YnRyYWN0KGUsdCxmLmRpcmVjdGlvbiksYS5ub3JtYWxpemUoZi5kaXJlY3Rpb24sZi5kaXJlY3Rpb24pO2xldCB1PWduLnJheVRyaWFuZ2xlUGFyYW1ldHJpYyhmLG4sbyxyLGkpO2lmKCEoIWgodSl8fHU8MHx8dT5hLmRpc3RhbmNlKHQsZSkpKXJldHVybiBoKHMpfHwocz1uZXcgYSksYS5tdWx0aXBseUJ5U2NhbGFyKGYuZGlyZWN0aW9uLHUscyksYS5hZGQoZi5vcmlnaW4scyxzKX07d1A9e3Jvb3QwOjAscm9vdDE6MH07Z24ucmF5U3BoZXJlPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigicmF5IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJzcGhlcmUgaXMgcmVxdWlyZWQuIik7aWYobj1WYih0LGUsbiksISghaChuKXx8bi5zdG9wPDApKXJldHVybiBuLnN0YXJ0PU1hdGgubWF4KG4uc3RhcnQsMCksbn07T1A9bmV3IFFzO2duLmxpbmVTZWdtZW50U3BoZXJlPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJwMCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigicDEgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoInNwaGVyZSBpcyByZXF1aXJlZC4iKTtsZXQgcj1PUDthLmNsb25lKHQsci5vcmlnaW4pO2xldCBpPWEuc3VidHJhY3QoZSx0LHIuZGlyZWN0aW9uKSxzPWEubWFnbml0dWRlKGkpO2lmKGEubm9ybWFsaXplKGksaSksbz1WYihyLG4sbyksISghaChvKXx8by5zdG9wPDB8fG8uc3RhcnQ+cykpcmV0dXJuIG8uc3RhcnQ9TWF0aC5tYXgoby5zdGFydCwwKSxvLnN0b3A9TWF0aC5taW4oby5zdG9wLHMpLG99O0VQPW5ldyBhLFJQPW5ldyBhO2duLnJheUVsbGlwc29pZD1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJyYXkgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImVsbGlwc29pZCBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLm9uZU92ZXJSYWRpaSxvPWEubXVsdGlwbHlDb21wb25lbnRzKG4sdC5vcmlnaW4sRVApLHI9YS5tdWx0aXBseUNvbXBvbmVudHMobix0LmRpcmVjdGlvbixSUCksaT1hLm1hZ25pdHVkZVNxdWFyZWQobykscz1hLmRvdChvLHIpLGYsdSxjLGwscDtpZihpPjEpe2lmKHM+PTApcmV0dXJuO2xldCBkPXMqcztpZihmPWktMSx1PWEubWFnbml0dWRlU3F1YXJlZChyKSxjPXUqZixkPGMpcmV0dXJuO2lmKGQ+Yyl7bD1zKnMtYyxwPS1zK01hdGguc3FydChsKTtsZXQgXz1wL3UsZz1mL3A7cmV0dXJuIF88Zz9uZXcgUXIoXyxnKTp7c3RhcnQ6ZyxzdG9wOl99fWxldCBtPU1hdGguc3FydChmL3UpO3JldHVybiBuZXcgUXIobSxtKX1lbHNlIGlmKGk8MSlyZXR1cm4gZj1pLTEsdT1hLm1hZ25pdHVkZVNxdWFyZWQociksYz11KmYsbD1zKnMtYyxwPS1zK01hdGguc3FydChsKSxuZXcgUXIoMCxwL3UpO2lmKHM8MClyZXR1cm4gdT1hLm1hZ25pdHVkZVNxdWFyZWQociksbmV3IFFyKDAsLXMvdSl9O2duLnF1YWRyYXRpY1ZlY3RvckV4cHJlc3Npb249ZnVuY3Rpb24odCxlLG4sbyxyKXtsZXQgaT1vKm8scz1yKnIsZj0odFtRLkNPTFVNTjFST1cxXS10W1EuQ09MVU1OMlJPVzJdKSpzLHU9cioobypKcyh0W1EuQ09MVU1OMVJPVzBdLHRbUS5DT0xVTU4wUk9XMV0sTS5FUFNJTE9OMTUpK2UueSksYz10W1EuQ09MVU1OMFJPVzBdKmkrdFtRLkNPTFVNTjJST1cyXSpzK28qZS54K24sbD1zKkpzKHRbUS5DT0xVTU4yUk9XMV0sdFtRLkNPTFVNTjFST1cyXSxNLkVQU0lMT04xNSkscD1yKihvKkpzKHRbUS5DT0xVTU4yUk9XMF0sdFtRLkNPTFVNTjBST1cyXSkrZS56KSxkLG09W107aWYocD09PTAmJmw9PT0wKXtpZihkPWdyLmNvbXB1dGVSZWFsUm9vdHMoZix1LGMpLGQubGVuZ3RoPT09MClyZXR1cm4gbTtsZXQgRD1kWzBdLHY9TWF0aC5zcXJ0KE1hdGgubWF4KDEtRCpELDApKTtpZihtLnB1c2gobmV3IGEobyxyKkQsciotdikpLG0ucHVzaChuZXcgYShvLHIqRCxyKnYpKSxkLmxlbmd0aD09PTIpe2xldCBMPWRbMV0sVT1NYXRoLnNxcnQoTWF0aC5tYXgoMS1MKkwsMCkpO20ucHVzaChuZXcgYShvLHIqTCxyKi1VKSksbS5wdXNoKG5ldyBhKG8scipMLHIqVSkpfXJldHVybiBtfWxldCBfPXAqcCxnPWwqbCxiPWYqZixUPXAqbCxPPWIrZyxFPTIqKHUqZitUKSx3PTIqYypmK3UqdS1nK18sQz0yKihjKnUtVCksTj1jKmMtXztpZihPPT09MCYmRT09PTAmJnc9PT0wJiZDPT09MClyZXR1cm4gbTtkPVBiLmNvbXB1dGVSZWFsUm9vdHMoTyxFLHcsQyxOKTtsZXQgST1kLmxlbmd0aDtpZihJPT09MClyZXR1cm4gbTtmb3IobGV0IEQ9MDtEPEk7KytEKXtsZXQgdj1kW0RdLEw9dip2LFU9TWF0aC5tYXgoMS1MLDApLEE9TWF0aC5zcXJ0KFUpLFM7TS5zaWduKGYpPT09TS5zaWduKGMpP1M9SnMoZipMK2MsdSp2LE0uRVBTSUxPTjEyKTpNLnNpZ24oYyk9PT1NLnNpZ24odSp2KT9TPUpzKGYqTCx1KnYrYyxNLkVQU0lMT04xMik6Uz1KcyhmKkwrdSp2LGMsTS5FUFNJTE9OMTIpO2xldCBQPUpzKGwqdixwLE0uRVBTSUxPTjE1KSxCPVMqUDtCPDA/bS5wdXNoKG5ldyBhKG8scip2LHIqQSkpOkI+MD9tLnB1c2gobmV3IGEobyxyKnYsciotQSkpOkEhPT0wPyhtLnB1c2gobmV3IGEobyxyKnYsciotQSkpLG0ucHVzaChuZXcgYShvLHIqdixyKkEpKSwrK0QpOm0ucHVzaChuZXcgYShvLHIqdixyKkEpKX1yZXR1cm4gbX07emg9bmV3IGEsdmI9bmV3IGEsTGI9bmV3IGEsa3A9bmV3IGEsU1A9bmV3IGEsQ1A9bmV3IFEseFA9bmV3IFEsUFA9bmV3IFEsTVA9bmV3IFEsTlA9bmV3IFEsRGI9bmV3IFEsRmI9bmV3IFEsQmI9bmV3IGEsSVA9bmV3IGEsdlA9bmV3IGN0O2duLmdyYXppbmdBbHRpdHVkZUxvY2F0aW9uPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoInJheSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigiZWxsaXBzb2lkIGlzIHJlcXVpcmVkLiIpO2xldCBuPXQub3JpZ2luLG89dC5kaXJlY3Rpb247aWYoIWEuZXF1YWxzKG4sYS5aRVJPKSl7bGV0IE49ZS5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobix6aCk7aWYoYS5kb3QobyxOKT49MClyZXR1cm4gbn1sZXQgcj1oKHRoaXMucmF5RWxsaXBzb2lkKHQsZSkpLGk9ZS50cmFuc2Zvcm1Qb3NpdGlvblRvU2NhbGVkU3BhY2Uobyx6aCkscz1hLm5vcm1hbGl6ZShpLGkpLGY9YS5tb3N0T3J0aG9nb25hbEF4aXMoaSxrcCksdT1hLm5vcm1hbGl6ZShhLmNyb3NzKGYscyx2YiksdmIpLGM9YS5ub3JtYWxpemUoYS5jcm9zcyhzLHUsTGIpLExiKSxsPUNQO2xbMF09cy54LGxbMV09cy55LGxbMl09cy56LGxbM109dS54LGxbNF09dS55LGxbNV09dS56LGxbNl09Yy54LGxbN109Yy55LGxbOF09Yy56O2xldCBwPVEudHJhbnNwb3NlKGwseFApLGQ9US5mcm9tU2NhbGUoZS5yYWRpaSxQUCksbT1RLmZyb21TY2FsZShlLm9uZU92ZXJSYWRpaSxNUCksXz1OUDtfWzBdPTAsX1sxXT0tby56LF9bMl09by55LF9bM109by56LF9bNF09MCxfWzVdPS1vLngsX1s2XT0tby55LF9bN109by54LF9bOF09MDtsZXQgZz1RLm11bHRpcGx5KFEubXVsdGlwbHkocCxtLERiKSxfLERiKSxiPVEubXVsdGlwbHkoUS5tdWx0aXBseShnLGQsRmIpLGwsRmIpLFQ9US5tdWx0aXBseUJ5VmVjdG9yKGcsbixTUCksTz1nbi5xdWFkcmF0aWNWZWN0b3JFeHByZXNzaW9uKGIsYS5uZWdhdGUoVCx6aCksMCwwLDEpLEUsdyxDPU8ubGVuZ3RoO2lmKEM+MCl7bGV0IE49YS5jbG9uZShhLlpFUk8sSVApLEk9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2ZvcihsZXQgdj0wO3Y8QzsrK3Ype0U9US5tdWx0aXBseUJ5VmVjdG9yKGQsUS5tdWx0aXBseUJ5VmVjdG9yKGwsT1t2XSxCYiksQmIpO2xldCBMPWEubm9ybWFsaXplKGEuc3VidHJhY3QoRSxuLGtwKSxrcCksVT1hLmRvdChMLG8pO1U+SSYmKEk9VSxOPWEuY2xvbmUoRSxOKSl9bGV0IEQ9ZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhOLHZQKTtyZXR1cm4gST1NLmNsYW1wKEksMCwxKSx3PWEubWFnbml0dWRlKGEuc3VidHJhY3QoTixuLGtwKSkqTWF0aC5zcXJ0KDEtSSpJKSx3PXI/LXc6dyxELmhlaWdodD13LGUuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oRCxuZXcgYSl9fTtMUD1uZXcgYTtnbi5saW5lU2VnbWVudFBsYW5lPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJlbmRQb2ludDAgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImVuZFBvaW50MSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigicGxhbmUgaXMgcmVxdWlyZWQuIik7aChvKXx8KG89bmV3IGEpO2xldCByPWEuc3VidHJhY3QoZSx0LExQKSxpPW4ubm9ybWFsLHM9YS5kb3QoaSxyKTtpZihNYXRoLmFicyhzKTxNLkVQU0lMT042KXJldHVybjtsZXQgZj1hLmRvdChpLHQpLHU9LShuLmRpc3RhbmNlK2YpL3M7aWYoISh1PDB8fHU+MSkpcmV0dXJuIGEubXVsdGlwbHlCeVNjYWxhcihyLHUsbyksYS5hZGQodCxvLG8pLG99O2duLnRyaWFuZ2xlUGxhbmVJbnRlcnNlY3Rpb249ZnVuY3Rpb24odCxlLG4sbyl7aWYoIWgodCl8fCFoKGUpfHwhaChuKXx8IWgobykpdGhyb3cgbmV3IEYoInAwLCBwMSwgcDIsIGFuZCBwbGFuZSBhcmUgcmVxdWlyZWQuIik7bGV0IHI9by5ub3JtYWwsaT1vLmRpc3RhbmNlLHM9YS5kb3Qocix0KStpPDAsZj1hLmRvdChyLGUpK2k8MCx1PWEuZG90KHIsbikraTwwLGM9MDtjKz1zPzE6MCxjKz1mPzE6MCxjKz11PzE6MDtsZXQgbCxwO2lmKChjPT09MXx8Yz09PTIpJiYobD1uZXcgYSxwPW5ldyBhKSxjPT09MSl7aWYocylyZXR1cm4gZ24ubGluZVNlZ21lbnRQbGFuZSh0LGUsbyxsKSxnbi5saW5lU2VnbWVudFBsYW5lKHQsbixvLHApLHtwb3NpdGlvbnM6W3QsZSxuLGwscF0saW5kaWNlczpbMCwzLDQsMSwyLDQsMSw0LDNdfTtpZihmKXJldHVybiBnbi5saW5lU2VnbWVudFBsYW5lKGUsbixvLGwpLGduLmxpbmVTZWdtZW50UGxhbmUoZSx0LG8scCkse3Bvc2l0aW9uczpbdCxlLG4sbCxwXSxpbmRpY2VzOlsxLDMsNCwyLDAsNCwyLDQsM119O2lmKHUpcmV0dXJuIGduLmxpbmVTZWdtZW50UGxhbmUobix0LG8sbCksZ24ubGluZVNlZ21lbnRQbGFuZShuLGUsbyxwKSx7cG9zaXRpb25zOlt0LGUsbixsLHBdLGluZGljZXM6WzIsMyw0LDAsMSw0LDAsNCwzXX19ZWxzZSBpZihjPT09MilpZihzKWlmKGYpe2lmKCF1KXJldHVybiBnbi5saW5lU2VnbWVudFBsYW5lKHQsbixvLGwpLGduLmxpbmVTZWdtZW50UGxhbmUoZSxuLG8scCkse3Bvc2l0aW9uczpbdCxlLG4sbCxwXSxpbmRpY2VzOlswLDEsNCwwLDQsMywyLDMsNF19fWVsc2UgcmV0dXJuIGduLmxpbmVTZWdtZW50UGxhbmUobixlLG8sbCksZ24ubGluZVNlZ21lbnRQbGFuZSh0LGUsbyxwKSx7cG9zaXRpb25zOlt0LGUsbixsLHBdLGluZGljZXM6WzIsMCw0LDIsNCwzLDEsMyw0XX07ZWxzZSByZXR1cm4gZ24ubGluZVNlZ21lbnRQbGFuZShlLHQsbyxsKSxnbi5saW5lU2VnbWVudFBsYW5lKG4sdCxvLHApLHtwb3NpdGlvbnM6W3QsZSxuLGwscF0saW5kaWNlczpbMSwyLDQsMSw0LDMsMCwzLDRdfX07aG89Z259KTtmdW5jdGlvbiBlbyh0LGUpe2lmKHkudHlwZU9mLm9iamVjdCgibm9ybWFsIix0KSwhTS5lcXVhbHNFcHNpbG9uKGEubWFnbml0dWRlKHQpLDEsTS5FUFNJTE9ONikpdGhyb3cgbmV3IEYoIm5vcm1hbCBtdXN0IGJlIG5vcm1hbGl6ZWQuIik7eS50eXBlT2YubnVtYmVyKCJkaXN0YW5jZSIsZSksdGhpcy5ub3JtYWw9YS5jbG9uZSh0KSx0aGlzLmRpc3RhbmNlPWV9dmFyIERQLEZQLEJQLFVQLFZQLG9uLGZzPVooKCk9PntGdCgpO2hyKCk7WHQoKTtmdCgpO0h0KCk7V3QoKTtVbigpO2VvLmZyb21Qb2ludE5vcm1hbD1mdW5jdGlvbih0LGUsbil7aWYoeS50eXBlT2Yub2JqZWN0KCJwb2ludCIsdCkseS50eXBlT2Yub2JqZWN0KCJub3JtYWwiLGUpLCFNLmVxdWFsc0Vwc2lsb24oYS5tYWduaXR1ZGUoZSksMSxNLkVQU0lMT042KSl0aHJvdyBuZXcgRigibm9ybWFsIG11c3QgYmUgbm9ybWFsaXplZC4iKTtsZXQgbz0tYS5kb3QoZSx0KTtyZXR1cm4gaChuKT8oYS5jbG9uZShlLG4ubm9ybWFsKSxuLmRpc3RhbmNlPW8sbik6bmV3IGVvKGUsbyl9O0RQPW5ldyBhO2VvLmZyb21DYXJ0ZXNpYW40PWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjb2VmZmljaWVudHMiLHQpO2xldCBuPWEuZnJvbUNhcnRlc2lhbjQodCxEUCksbz10Lnc7aWYoIU0uZXF1YWxzRXBzaWxvbihhLm1hZ25pdHVkZShuKSwxLE0uRVBTSUxPTjYpKXRocm93IG5ldyBGKCJub3JtYWwgbXVzdCBiZSBub3JtYWxpemVkLiIpO3JldHVybiBoKGUpPyhhLmNsb25lKG4sZS5ub3JtYWwpLGUuZGlzdGFuY2U9byxlKTpuZXcgZW8obixvKX07ZW8uZ2V0UG9pbnREaXN0YW5jZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInBsYW5lIix0KSx5LnR5cGVPZi5vYmplY3QoInBvaW50IixlKSxhLmRvdCh0Lm5vcm1hbCxlKSt0LmRpc3RhbmNlfTtGUD1uZXcgYTtlby5wcm9qZWN0UG9pbnRPbnRvUGxhbmU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgicGxhbmUiLHQpLHkudHlwZU9mLm9iamVjdCgicG9pbnQiLGUpLGgobil8fChuPW5ldyBhKTtsZXQgbz1lby5nZXRQb2ludERpc3RhbmNlKHQsZSkscj1hLm11bHRpcGx5QnlTY2FsYXIodC5ub3JtYWwsbyxGUCk7cmV0dXJuIGEuc3VidHJhY3QoZSxyLG4pfTtCUD1uZXcgc3QsVVA9bmV3IGhlLFZQPW5ldyBhO2VvLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJwbGFuZSIsdCkseS50eXBlT2Yub2JqZWN0KCJ0cmFuc2Zvcm0iLGUpO2xldCBvPXQubm9ybWFsLHI9dC5kaXN0YW5jZSxpPXN0LmludmVyc2VUcmFuc3Bvc2UoZSxCUCkscz1oZS5mcm9tRWxlbWVudHMoby54LG8ueSxvLnoscixVUCk7cz1zdC5tdWx0aXBseUJ5VmVjdG9yKGkscyxzKTtsZXQgZj1hLmZyb21DYXJ0ZXNpYW40KHMsVlApO3JldHVybiBzPWhlLmRpdmlkZUJ5U2NhbGFyKHMsYS5tYWduaXR1ZGUoZikscyksZW8uZnJvbUNhcnRlc2lhbjQocyxuKX07ZW8uY2xvbmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJwbGFuZSIsdCksaChlKT8oYS5jbG9uZSh0Lm5vcm1hbCxlLm5vcm1hbCksZS5kaXN0YW5jZT10LmRpc3RhbmNlLGUpOm5ldyBlbyh0Lm5vcm1hbCx0LmRpc3RhbmNlKX07ZW8uZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksdC5kaXN0YW5jZT09PWUuZGlzdGFuY2UmJmEuZXF1YWxzKHQubm9ybWFsLGUubm9ybWFsKX07ZW8uT1JJR0lOX1hZX1BMQU5FPU9iamVjdC5mcmVlemUobmV3IGVvKGEuVU5JVF9aLDApKTtlby5PUklHSU5fWVpfUExBTkU9T2JqZWN0LmZyZWV6ZShuZXcgZW8oYS5VTklUX1gsMCkpO2VvLk9SSUdJTl9aWF9QTEFORT1PYmplY3QuZnJlZXplKG5ldyBlbyhhLlVOSVRfWSwwKSk7b249ZW99KTt2YXIgamgsa2IsR2I9WigoKT0+e0l0KCk7ZnQoKTtIdCgpO2poPXt9O2poLmNhbGN1bGF0ZUFDTVI9ZnVuY3Rpb24odCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQuaW5kaWNlcyxuPXQubWF4aW11bUluZGV4LG89eCh0LmNhY2hlU2l6ZSwyNCk7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImluZGljZXMgaXMgcmVxdWlyZWQuIik7bGV0IHI9ZS5sZW5ndGg7aWYocjwzfHxyJTMhPT0wKXRocm93IG5ldyBGKCJpbmRpY2VzIGxlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgdGhyZWUuIik7aWYobjw9MCl0aHJvdyBuZXcgRigibWF4aW11bUluZGV4IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7aWYobzwzKXRocm93IG5ldyBGKCJjYWNoZVNpemUgbXVzdCBiZSBncmVhdGVyIHRoYW4gdHdvLiIpO2lmKCFoKG4pKXtuPTA7bGV0IGY9MCx1PWVbZl07Zm9yKDtmPHI7KXU+biYmKG49dSksKytmLHU9ZVtmXX1sZXQgaT1bXTtmb3IobGV0IGY9MDtmPG4rMTtmKyspaVtmXT0wO2xldCBzPW8rMTtmb3IobGV0IGY9MDtmPHI7KytmKXMtaVtlW2ZdXT5vJiYoaVtlW2ZdXT1zLCsrcyk7cmV0dXJuKHMtbysxKS8oci8zKX07amgudGlwc2lmeT1mdW5jdGlvbih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5pbmRpY2VzLG49dC5tYXhpbXVtSW5kZXgsbz14KHQuY2FjaGVTaXplLDI0KSxyO2Z1bmN0aW9uIGkoVSxBLFMsUCl7Zm9yKDtBLmxlbmd0aD49MTspe2xldCBCPUFbQS5sZW5ndGgtMV07aWYoQS5zcGxpY2UoQS5sZW5ndGgtMSwxKSxVW0JdLm51bUxpdmVUcmlhbmdsZXM+MClyZXR1cm4gQn1mb3IoO3I8UDspe2lmKFVbcl0ubnVtTGl2ZVRyaWFuZ2xlcz4wKXJldHVybisrcixyLTE7KytyfXJldHVybi0xfWZ1bmN0aW9uIHMoVSxBLFMsUCxCLGosSCl7bGV0IGs9LTEsSyxYPS0xLFI9MDtmb3IoO1I8Uy5sZW5ndGg7KXtsZXQgb3Q9U1tSXTtQW290XS5udW1MaXZlVHJpYW5nbGVzJiYoSz0wLEItUFtvdF0udGltZVN0YW1wKzIqUFtvdF0ubnVtTGl2ZVRyaWFuZ2xlczw9QSYmKEs9Qi1QW290XS50aW1lU3RhbXApLChLPlh8fFg9PT0tMSkmJihYPUssaz1vdCkpLCsrUn1yZXR1cm4gaz09PS0xP2koUCxqLFUsSCk6a31pZighaChlKSl0aHJvdyBuZXcgRigiaW5kaWNlcyBpcyByZXF1aXJlZC4iKTtsZXQgZj1lLmxlbmd0aDtpZihmPDN8fGYlMyE9PTApdGhyb3cgbmV3IEYoImluZGljZXMgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiB0aHJlZS4iKTtpZihuPD0wKXRocm93IG5ldyBGKCJtYXhpbXVtSW5kZXggbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4iKTtpZihvPDMpdGhyb3cgbmV3IEYoImNhY2hlU2l6ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0d28uIik7bGV0IHU9MCxjPTAsbD1lW2NdLHA9ZjtpZihoKG4pKXU9bisxO2Vsc2V7Zm9yKDtjPHA7KWw+dSYmKHU9bCksKytjLGw9ZVtjXTtpZih1PT09LTEpcmV0dXJuIDA7Kyt1fWxldCBkPVtdLG07Zm9yKG09MDttPHU7bSsrKWRbbV09e251bUxpdmVUcmlhbmdsZXM6MCx0aW1lU3RhbXA6MCx2ZXJ0ZXhUcmlhbmdsZXM6W119O2M9MDtsZXQgXz0wO2Zvcig7YzxwOylkW2VbY11dLnZlcnRleFRyaWFuZ2xlcy5wdXNoKF8pLCsrZFtlW2NdXS5udW1MaXZlVHJpYW5nbGVzLGRbZVtjKzFdXS52ZXJ0ZXhUcmlhbmdsZXMucHVzaChfKSwrK2RbZVtjKzFdXS5udW1MaXZlVHJpYW5nbGVzLGRbZVtjKzJdXS52ZXJ0ZXhUcmlhbmdsZXMucHVzaChfKSwrK2RbZVtjKzJdXS5udW1MaXZlVHJpYW5nbGVzLCsrXyxjKz0zO2xldCBnPTAsYj1vKzE7cj0xO2xldCBUPVtdLE89W10sRSx3LEM9MCxOPVtdLEk9Zi8zLEQ9W107Zm9yKG09MDttPEk7bSsrKURbbV09ITE7bGV0IHYsTDtmb3IoO2chPT0tMTspe1Q9W10sdz1kW2ddLEw9dy52ZXJ0ZXhUcmlhbmdsZXMubGVuZ3RoO2ZvcihsZXQgVT0wO1U8TDsrK1UpaWYoXz13LnZlcnRleFRyaWFuZ2xlc1tVXSwhRFtfXSl7RFtfXT0hMCxjPV8rXytfO2ZvcihsZXQgQT0wO0E8MzsrK0Epdj1lW2NdLFQucHVzaCh2KSxPLnB1c2godiksTltDXT12LCsrQyxFPWRbdl0sLS1FLm51bUxpdmVUcmlhbmdsZXMsYi1FLnRpbWVTdGFtcD5vJiYoRS50aW1lU3RhbXA9YiwrK2IpLCsrY31nPXMoZSxvLFQsZCxiLE8sdSl9cmV0dXJuIE59O2tiPWpofSk7ZnVuY3Rpb24gV3AodCxlLG4sbyxyKXt0W2UrK109bix0W2UrK109byx0W2UrK109byx0W2UrK109cix0W2UrK109cix0W2VdPW59ZnVuY3Rpb24ga1AodCl7bGV0IGU9dC5sZW5ndGgsbj1lLzMqNixvPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZSxuKSxyPTA7Zm9yKGxldCBpPTA7aTxlO2krPTMscis9NilXcChvLHIsdFtpXSx0W2krMV0sdFtpKzJdKTtyZXR1cm4gb31mdW5jdGlvbiBHUCh0KXtsZXQgZT10Lmxlbmd0aDtpZihlPj0zKXtsZXQgbj0oZS0yKSo2LG89RHQuY3JlYXRlVHlwZWRBcnJheShlLG4pO1dwKG8sMCx0WzBdLHRbMV0sdFsyXSk7bGV0IHI9Njtmb3IobGV0IGk9MztpPGU7KytpLHIrPTYpV3AobyxyLHRbaS0xXSx0W2ldLHRbaS0yXSk7cmV0dXJuIG99cmV0dXJuIG5ldyBVaW50MTZBcnJheX1mdW5jdGlvbiB6UCh0KXtpZih0Lmxlbmd0aD4wKXtsZXQgZT10Lmxlbmd0aC0xLG49KGUtMSkqNixvPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZSxuKSxyPXRbMF0saT0wO2ZvcihsZXQgcz0xO3M8ZTsrK3MsaSs9NilXcChvLGkscix0W3NdLHRbcysxXSk7cmV0dXJuIG99cmV0dXJuIG5ldyBVaW50MTZBcnJheX1mdW5jdGlvbiB6Yih0KXtsZXQgZT17fTtmb3IobGV0IG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZoKHRbbl0pJiZoKHRbbl0udmFsdWVzKSl7bGV0IG89dFtuXTtlW25dPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6by5jb21wb25lbnREYXRhdHlwZSxjb21wb25lbnRzUGVyQXR0cmlidXRlOm8uY29tcG9uZW50c1BlckF0dHJpYnV0ZSxub3JtYWxpemU6by5ub3JtYWxpemUsdmFsdWVzOltdfSl9cmV0dXJuIGV9ZnVuY3Rpb24galAodCxlLG4pe2ZvcihsZXQgbyBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobykmJmgoZVtvXSkmJmgoZVtvXS52YWx1ZXMpKXtsZXQgcj1lW29dO2ZvcihsZXQgaT0wO2k8ci5jb21wb25lbnRzUGVyQXR0cmlidXRlOysraSl0W29dLnZhbHVlcy5wdXNoKHIudmFsdWVzW24qci5jb21wb25lbnRzUGVyQXR0cmlidXRlK2ldKX19ZnVuY3Rpb24gcWgodCxlKXtpZihoKGUpKXtsZXQgbj1lLnZhbHVlcyxvPW4ubGVuZ3RoO2ZvcihsZXQgcj0wO3I8bztyKz0zKWEudW5wYWNrKG4scixWciksc3QubXVsdGlwbHlCeVBvaW50KHQsVnIsVnIpLGEucGFjayhWcixuLHIpfX1mdW5jdGlvbiBLaCh0LGUpe2lmKGgoZSkpe2xldCBuPWUudmFsdWVzLG89bi5sZW5ndGg7Zm9yKGxldCByPTA7cjxvO3IrPTMpYS51bnBhY2sobixyLFZyKSxRLm11bHRpcGx5QnlWZWN0b3IodCxWcixWciksVnI9YS5ub3JtYWxpemUoVnIsVnIpLGEucGFjayhWcixuLHIpfX1mdW5jdGlvbiBxUCh0LGUpe2xldCBuPXQubGVuZ3RoLG89e30scj10WzBdW2VdLmF0dHJpYnV0ZXMsaTtmb3IoaSBpbiByKWlmKHIuaGFzT3duUHJvcGVydHkoaSkmJmgocltpXSkmJmgocltpXS52YWx1ZXMpKXtsZXQgcz1yW2ldLGY9cy52YWx1ZXMubGVuZ3RoLHU9ITA7Zm9yKGxldCBjPTE7YzxuOysrYyl7bGV0IGw9dFtjXVtlXS5hdHRyaWJ1dGVzW2ldO2lmKCFoKGwpfHxzLmNvbXBvbmVudERhdGF0eXBlIT09bC5jb21wb25lbnREYXRhdHlwZXx8cy5jb21wb25lbnRzUGVyQXR0cmlidXRlIT09bC5jb21wb25lbnRzUGVyQXR0cmlidXRlfHxzLm5vcm1hbGl6ZSE9PWwubm9ybWFsaXplKXt1PSExO2JyZWFrfWYrPWwudmFsdWVzLmxlbmd0aH11JiYob1tpXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOnMuY29tcG9uZW50RGF0YXR5cGUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTpzLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGUsbm9ybWFsaXplOnMubm9ybWFsaXplLHZhbHVlczpudC5jcmVhdGVUeXBlZEFycmF5KHMuY29tcG9uZW50RGF0YXR5cGUsZil9KSl9cmV0dXJuIG99ZnVuY3Rpb24gV2godCxlKXtsZXQgbj10Lmxlbmd0aCxvLHIsaSxzLGY9dFswXS5tb2RlbE1hdHJpeCx1PWgodFswXVtlXS5pbmRpY2VzKSxjPXRbMF1bZV0ucHJpbWl0aXZlVHlwZTtmb3Iocj0xO3I8bjsrK3Ipe2lmKCFzdC5lcXVhbHModFtyXS5tb2RlbE1hdHJpeCxmKSl0aHJvdyBuZXcgRigiQWxsIGluc3RhbmNlcyBtdXN0IGhhdmUgdGhlIHNhbWUgbW9kZWxNYXRyaXguIik7aWYoaCh0W3JdW2VdLmluZGljZXMpIT09dSl0aHJvdyBuZXcgRigiQWxsIGluc3RhbmNlIGdlb21ldHJpZXMgbXVzdCBoYXZlIGFuIGluZGljZXMgb3Igbm90IGhhdmUgb25lLiIpO2lmKHRbcl1bZV0ucHJpbWl0aXZlVHlwZSE9PWMpdGhyb3cgbmV3IEYoIkFsbCBpbnN0YW5jZSBnZW9tZXRyaWVzIG11c3QgaGF2ZSB0aGUgc2FtZSBwcmltaXRpdmVUeXBlLiIpfWxldCBsPXFQKHQsZSkscCxkLG07Zm9yKG8gaW4gbClpZihsLmhhc093blByb3BlcnR5KG8pKWZvcihwPWxbb10udmFsdWVzLHM9MCxyPTA7cjxuOysrcilmb3IoZD10W3JdW2VdLmF0dHJpYnV0ZXNbb10udmFsdWVzLG09ZC5sZW5ndGgsaT0wO2k8bTsrK2kpcFtzKytdPWRbaV07bGV0IF87aWYodSl7bGV0IE89MDtmb3Iocj0wO3I8bjsrK3IpTys9dFtyXVtlXS5pbmRpY2VzLmxlbmd0aDtsZXQgRT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyhuZXcgVXQoe2F0dHJpYnV0ZXM6bCxwcmltaXRpdmVUeXBlOkJ0LlBPSU5UU30pKSx3PUR0LmNyZWF0ZVR5cGVkQXJyYXkoRSxPKSxDPTAsTj0wO2ZvcihyPTA7cjxuOysrcil7bGV0IEk9dFtyXVtlXS5pbmRpY2VzLEQ9SS5sZW5ndGg7Zm9yKHM9MDtzPEQ7KytzKXdbQysrXT1OK0lbc107Tis9VXQuY29tcHV0ZU51bWJlck9mVmVydGljZXModFtyXVtlXSl9Xz13fWxldCBnPW5ldyBhLGI9MCxUO2ZvcihyPTA7cjxuOysrcil7aWYoVD10W3JdW2VdLmJvdW5kaW5nU3BoZXJlLCFoKFQpKXtnPXZvaWQgMDticmVha31hLmFkZChULmNlbnRlcixnLGcpfWlmKGgoZykpZm9yKGEuZGl2aWRlQnlTY2FsYXIoZyxuLGcpLHI9MDtyPG47KytyKXtUPXRbcl1bZV0uYm91bmRpbmdTcGhlcmU7bGV0IE89YS5tYWduaXR1ZGUoYS5zdWJ0cmFjdChULmNlbnRlcixnLEtQKSkrVC5yYWRpdXM7Tz5iJiYoYj1PKX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmwsaW5kaWNlczpfLHByaW1pdGl2ZVR5cGU6Yyxib3VuZGluZ1NwaGVyZTpoKGcpP25ldyBBdChnLGIpOnZvaWQgMH0pfWZ1bmN0aW9uIFlQKHQpe2lmKGgodC5pbmRpY2VzKSlyZXR1cm4gdDtsZXQgZT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtpZihlPDMpdGhyb3cgbmV3IEYoIlRoZSBudW1iZXIgb2YgdmVydGljZXMgbXVzdCBiZSBhdCBsZWFzdCB0aHJlZS4iKTtpZihlJTMhPT0wKXRocm93IG5ldyBGKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiB0aHJlZS4iKTtsZXQgbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSk7Zm9yKGxldCBvPTA7bzxlOysrbyluW29dPW87cmV0dXJuIHQuaW5kaWNlcz1uLHR9ZnVuY3Rpb24gJFAodCl7bGV0IGU9VXQuY29tcHV0ZU51bWJlck9mVmVydGljZXModCk7aWYoZTwzKXRocm93IG5ldyBGKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYXQgbGVhc3QgdGhyZWUuIik7bGV0IG49RHQuY3JlYXRlVHlwZWRBcnJheShlLChlLTIpKjMpO25bMF09MSxuWzFdPTAsblsyXT0yO2xldCBvPTM7Zm9yKGxldCByPTM7cjxlOysrciluW28rK109ci0xLG5bbysrXT0wLG5bbysrXT1yO3JldHVybiB0LmluZGljZXM9bix0LnByaW1pdGl2ZVR5cGU9QnQuVFJJQU5HTEVTLHR9ZnVuY3Rpb24gWlAodCl7bGV0IGU9VXQuY29tcHV0ZU51bWJlck9mVmVydGljZXModCk7aWYoZTwzKXRocm93IG5ldyBGKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYXQgbGVhc3QgMy4iKTtsZXQgbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsKGUtMikqMyk7blswXT0wLG5bMV09MSxuWzJdPTIsZT4zJiYoblszXT0wLG5bNF09MixuWzVdPTMpO2xldCBvPTY7Zm9yKGxldCByPTM7cjxlLTE7cis9MiluW28rK109cixuW28rK109ci0xLG5bbysrXT1yKzEscisyPGUmJihuW28rK109cixuW28rK109cisxLG5bbysrXT1yKzIpO3JldHVybiB0LmluZGljZXM9bix0LnByaW1pdGl2ZVR5cGU9QnQuVFJJQU5HTEVTLHR9ZnVuY3Rpb24gUVAodCl7aWYoaCh0LmluZGljZXMpKXJldHVybiB0O2xldCBlPVV0LmNvbXB1dGVOdW1iZXJPZlZlcnRpY2VzKHQpO2lmKGU8Mil0aHJvdyBuZXcgRigiVGhlIG51bWJlciBvZiB2ZXJ0aWNlcyBtdXN0IGJlIGF0IGxlYXN0IHR3by4iKTtpZihlJTIhPT0wKXRocm93IG5ldyBGKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyLiIpO2xldCBuPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZSxlKTtmb3IobGV0IG89MDtvPGU7KytvKW5bb109bztyZXR1cm4gdC5pbmRpY2VzPW4sdH1mdW5jdGlvbiBKUCh0KXtsZXQgZT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtpZihlPDIpdGhyb3cgbmV3IEYoIlRoZSBudW1iZXIgb2YgdmVydGljZXMgbXVzdCBiZSBhdCBsZWFzdCB0d28uIik7bGV0IG49RHQuY3JlYXRlVHlwZWRBcnJheShlLChlLTEpKjIpO25bMF09MCxuWzFdPTE7bGV0IG89Mjtmb3IobGV0IHI9MjtyPGU7KytyKW5bbysrXT1yLTEsbltvKytdPXI7cmV0dXJuIHQuaW5kaWNlcz1uLHQucHJpbWl0aXZlVHlwZT1CdC5MSU5FUyx0fWZ1bmN0aW9uIHRNKHQpe2xldCBlPVV0LmNvbXB1dGVOdW1iZXJPZlZlcnRpY2VzKHQpO2lmKGU8Mil0aHJvdyBuZXcgRigiVGhlIG51bWJlciBvZiB2ZXJ0aWNlcyBtdXN0IGJlIGF0IGxlYXN0IHR3by4iKTtsZXQgbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSoyKTtuWzBdPTAsblsxXT0xO2xldCBvPTI7Zm9yKGxldCByPTI7cjxlOysrciluW28rK109ci0xLG5bbysrXT1yO3JldHVybiBuW28rK109ZS0xLG5bb109MCx0LmluZGljZXM9bix0LnByaW1pdGl2ZVR5cGU9QnQuTElORVMsdH1mdW5jdGlvbiBlTSh0KXtzd2l0Y2godC5wcmltaXRpdmVUeXBlKXtjYXNlIEJ0LlRSSUFOR0xFX0ZBTjpyZXR1cm4gJFAodCk7Y2FzZSBCdC5UUklBTkdMRV9TVFJJUDpyZXR1cm4gWlAodCk7Y2FzZSBCdC5UUklBTkdMRVM6cmV0dXJuIFlQKHQpO2Nhc2UgQnQuTElORV9TVFJJUDpyZXR1cm4gSlAodCk7Y2FzZSBCdC5MSU5FX0xPT1A6cmV0dXJuIHRNKHQpO2Nhc2UgQnQuTElORVM6cmV0dXJuIFFQKHQpfXJldHVybiB0fWZ1bmN0aW9uIHVzKHQsZSl7TWF0aC5hYnModC55KTxNLkVQU0lMT042JiYoZT90Lnk9LU0uRVBTSUxPTjY6dC55PU0uRVBTSUxPTjYpfWZ1bmN0aW9uIG5NKHQsZSxuKXtpZih0LnkhPT0wJiZlLnkhPT0wJiZuLnkhPT0wKXt1cyh0LHQueTwwKSx1cyhlLGUueTwwKSx1cyhuLG4ueTwwKTtyZXR1cm59bGV0IG89TWF0aC5hYnModC55KSxyPU1hdGguYWJzKGUueSksaT1NYXRoLmFicyhuLnkpLHM7bz5yP28+aT9zPU0uc2lnbih0LnkpOnM9TS5zaWduKG4ueSk6cj5pP3M9TS5zaWduKGUueSk6cz1NLnNpZ24obi55KTtsZXQgZj1zPDA7dXModCxmKSx1cyhlLGYpLHVzKG4sZil9ZnVuY3Rpb24gYnIodCxlLG4sbyl7YS5hZGQodCxhLm11bHRpcGx5QnlTY2FsYXIoYS5zdWJ0cmFjdChlLHQsV2IpLHQueS8odC55LWUueSksV2IpLG4pLGEuY2xvbmUobixvKSx1cyhuLCEwKSx1cyhvLCExKX1mdW5jdGlvbiBvTSh0LGUsbil7aWYodC54Pj0wfHxlLng+PTB8fG4ueD49MClyZXR1cm47bk0odCxlLG4pO2xldCBvPXQueTwwLHI9ZS55PDAsaT1uLnk8MCxzPTA7cys9bz8xOjAscys9cj8xOjAscys9aT8xOjA7bGV0IGY9WGguaW5kaWNlcztzPT09MT8oZlsxXT0zLGZbMl09NCxmWzVdPTYsZls3XT02LGZbOF09NSxvPyhicih0LGUsZWMsb2MpLGJyKHQsbixuYyxyYyksZlswXT0wLGZbM109MSxmWzRdPTIsZls2XT0xKTpyPyhicihlLG4sZWMsb2MpLGJyKGUsdCxuYyxyYyksZlswXT0xLGZbM109MixmWzRdPTAsZls2XT0yKTppJiYoYnIobix0LGVjLG9jKSxicihuLGUsbmMscmMpLGZbMF09MixmWzNdPTAsZls0XT0xLGZbNl09MCkpOnM9PT0yJiYoZlsyXT00LGZbNF09NCxmWzVdPTMsZls3XT01LGZbOF09NixvP3I/aXx8KGJyKG4sdCxlYyxvYyksYnIobixlLG5jLHJjKSxmWzBdPTAsZlsxXT0xLGZbM109MCxmWzZdPTIpOihicihlLG4sZWMsb2MpLGJyKGUsdCxuYyxyYyksZlswXT0yLGZbMV09MCxmWzNdPTIsZls2XT0xKTooYnIodCxlLGVjLG9jKSxicih0LG4sbmMscmMpLGZbMF09MSxmWzFdPTIsZlszXT0xLGZbNl09MCkpO2xldCB1PVhoLnBvc2l0aW9ucztyZXR1cm4gdVswXT10LHVbMV09ZSx1WzJdPW4sdS5sZW5ndGg9Mywocz09PTF8fHM9PT0yKSYmKHVbM109ZWMsdVs0XT1uYyx1WzVdPW9jLHVbNl09cmMsdS5sZW5ndGg9NyksWGh9ZnVuY3Rpb24gWGIodCxlKXtsZXQgbj10LmF0dHJpYnV0ZXM7aWYobi5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoPT09MClyZXR1cm47Zm9yKGxldCByIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSYmaChuW3JdKSYmaChuW3JdLnZhbHVlcykpe2xldCBpPW5bcl07aS52YWx1ZXM9bnQuY3JlYXRlVHlwZWRBcnJheShpLmNvbXBvbmVudERhdGF0eXBlLGkudmFsdWVzKX1sZXQgbz1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtyZXR1cm4gdC5pbmRpY2VzPUR0LmNyZWF0ZVR5cGVkQXJyYXkobyx0LmluZGljZXMpLGUmJih0LmJvdW5kaW5nU3BoZXJlPUF0LmZyb21WZXJ0aWNlcyhuLnBvc2l0aW9uLnZhbHVlcykpLHR9ZnVuY3Rpb24gc2EodCl7bGV0IGU9dC5hdHRyaWJ1dGVzLG49e307Zm9yKGxldCBvIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShvKSYmaChlW29dKSYmaChlW29dLnZhbHVlcykpe2xldCByPWVbb107bltvXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOnIuY29tcG9uZW50RGF0YXR5cGUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTpyLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGUsbm9ybWFsaXplOnIubm9ybWFsaXplLHZhbHVlczpbXX0pfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6bixpbmRpY2VzOltdLHByaW1pdGl2ZVR5cGU6dC5wcmltaXRpdmVUeXBlfSl9ZnVuY3Rpb24gUWgodCxlLG4pe2xldCBvPWgodC5nZW9tZXRyeS5ib3VuZGluZ1NwaGVyZSk7ZT1YYihlLG8pLG49WGIobixvKSxoKG4pJiYhaChlKT90Lmdlb21ldHJ5PW46IWgobikmJmgoZSk/dC5nZW9tZXRyeT1lOih0Lndlc3RIZW1pc3BoZXJlR2VvbWV0cnk9ZSx0LmVhc3RIZW1pc3BoZXJlR2VvbWV0cnk9bix0Lmdlb21ldHJ5PXZvaWQgMCl9ZnVuY3Rpb24gSmgodCxlKXtsZXQgbj1uZXcgdCxvPW5ldyB0LHI9bmV3IHQ7cmV0dXJuIGZ1bmN0aW9uKGkscyxmLHUsYyxsLHAsZCl7bGV0IG09dC5mcm9tQXJyYXkoYyxpKmUsbiksXz10LmZyb21BcnJheShjLHMqZSxvKSxnPXQuZnJvbUFycmF5KGMsZiplLHIpO3QubXVsdGlwbHlCeVNjYWxhcihtLHUueCxtKSx0Lm11bHRpcGx5QnlTY2FsYXIoXyx1LnksXyksdC5tdWx0aXBseUJ5U2NhbGFyKGcsdS56LGcpO2xldCBiPXQuYWRkKG0sXyxtKTt0LmFkZChiLGcsYiksZCYmdC5ub3JtYWxpemUoYixiKSx0LnBhY2soYixsLHAqZSl9fWZ1bmN0aW9uIEhwKHQsZSxuLG8scixpLHMsZix1LGMsbCxwLGQsbSxfLGcpe2lmKCFoKGkpJiYhaChzKSYmIWgoZikmJiFoKHUpJiYhaChjKSYmbT09PTApcmV0dXJuO2xldCBiPWEuZnJvbUFycmF5KHIsdCozLFNmKSxUPWEuZnJvbUFycmF5KHIsZSozLFloKSxPPWEuZnJvbUFycmF5KHIsbiozLCRoKSxFPVJiKG8sYixULE8sc00pO2lmKGgoRSkpe2lmKGgoaSkmJktwKHQsZSxuLEUsaSxwLm5vcm1hbC52YWx1ZXMsZywhMCksaChjKSl7bGV0IHc9YS5mcm9tQXJyYXkoYyx0KjMsU2YpLEM9YS5mcm9tQXJyYXkoYyxlKjMsWWgpLE49YS5mcm9tQXJyYXkoYyxuKjMsJGgpO2EubXVsdGlwbHlCeVNjYWxhcih3LEUueCx3KSxhLm11bHRpcGx5QnlTY2FsYXIoQyxFLnksQyksYS5tdWx0aXBseUJ5U2NhbGFyKE4sRS56LE4pO2xldCBJOyFhLmVxdWFscyh3LGEuWkVSTyl8fCFhLmVxdWFscyhDLGEuWkVSTyl8fCFhLmVxdWFscyhOLGEuWkVSTyk/KEk9YS5hZGQodyxDLHcpLGEuYWRkKEksTixJKSxhLm5vcm1hbGl6ZShJLEkpKTooST1TZixJLng9MCxJLnk9MCxJLno9MCksYS5wYWNrKEkscC5leHRydWRlRGlyZWN0aW9uLnZhbHVlcyxnKjMpfWlmKGgobCkmJmlNKHQsZSxuLEUsbCxwLmFwcGx5T2Zmc2V0LnZhbHVlcyxnKSxoKHMpJiZLcCh0LGUsbixFLHMscC50YW5nZW50LnZhbHVlcyxnLCEwKSxoKGYpJiZLcCh0LGUsbixFLGYscC5iaXRhbmdlbnQudmFsdWVzLGcsITApLGgodSkmJnRUKHQsZSxuLEUsdSxwLnN0LnZhbHVlcyxnKSxtPjApZm9yKGxldCB3PTA7dzxtO3crKyl7bGV0IEM9ZFt3XTtjTSh0LGUsbixFLGcsX1tDXSxwW0NdKX19fWZ1bmN0aW9uIGNNKHQsZSxuLG8scixpLHMpe2xldCBmPWkuY29tcG9uZW50c1BlckF0dHJpYnV0ZSx1PWkudmFsdWVzLGM9cy52YWx1ZXM7c3dpdGNoKGYpe2Nhc2UgNDpyTSh0LGUsbixvLHUsYyxyLCExKTticmVhaztjYXNlIDM6S3AodCxlLG4sbyx1LGMsciwhMSk7YnJlYWs7Y2FzZSAyOnRUKHQsZSxuLG8sdSxjLHIsITEpO2JyZWFrO2RlZmF1bHQ6Y1tyXT11W3RdKm8ueCt1W2VdKm8ueSt1W25dKm8uen19ZnVuY3Rpb24gaWkodCxlLG4sbyxyLGkpe2xldCBzPXQucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zO2lmKHIhPT0tMSl7bGV0IGY9b1tyXSx1PW5bZl07cmV0dXJuIHU9PT0tMT8obltmXT1zLHQucG9zaXRpb24udmFsdWVzLnB1c2goaS54LGkueSxpLnopLGUucHVzaChzKSxzKTooZS5wdXNoKHUpLHUpfXJldHVybiB0LnBvc2l0aW9uLnZhbHVlcy5wdXNoKGkueCxpLnksaS56KSxlLnB1c2gocyksc31mdW5jdGlvbiBZYih0KXtsZXQgZT10Lmdlb21ldHJ5LG49ZS5hdHRyaWJ1dGVzLG89bi5wb3NpdGlvbi52YWx1ZXMscj1oKG4ubm9ybWFsKT9uLm5vcm1hbC52YWx1ZXM6dm9pZCAwLGk9aChuLmJpdGFuZ2VudCk/bi5iaXRhbmdlbnQudmFsdWVzOnZvaWQgMCxzPWgobi50YW5nZW50KT9uLnRhbmdlbnQudmFsdWVzOnZvaWQgMCxmPWgobi5zdCk/bi5zdC52YWx1ZXM6dm9pZCAwLHU9aChuLmV4dHJ1ZGVEaXJlY3Rpb24pP24uZXh0cnVkZURpcmVjdGlvbi52YWx1ZXM6dm9pZCAwLGM9aChuLmFwcGx5T2Zmc2V0KT9uLmFwcGx5T2Zmc2V0LnZhbHVlczp2b2lkIDAsbD1lLmluZGljZXMscD1bXTtmb3IobGV0IEkgaW4gbiluLmhhc093blByb3BlcnR5KEkpJiYhYU1bSV0mJmgobltJXSkmJnAucHVzaChJKTtsZXQgZD1wLmxlbmd0aCxtPXNhKGUpLF89c2EoZSksZyxiLFQsTyxFLHc9W107dy5sZW5ndGg9by5sZW5ndGgvMztsZXQgQz1bXTtmb3IoQy5sZW5ndGg9by5sZW5ndGgvMyxFPTA7RTx3Lmxlbmd0aDsrK0Upd1tFXT0tMSxDW0VdPS0xO2xldCBOPWwubGVuZ3RoO2ZvcihFPTA7RTxOO0UrPTMpe2xldCBJPWxbRV0sRD1sW0UrMV0sdj1sW0UrMl0sTD1hLmZyb21BcnJheShvLEkqMyksVT1hLmZyb21BcnJheShvLEQqMyksQT1hLmZyb21BcnJheShvLHYqMyksUz1vTShMLFUsQSk7aWYoaChTKSYmUy5wb3NpdGlvbnMubGVuZ3RoPjMpe2xldCBQPVMucG9zaXRpb25zLEI9Uy5pbmRpY2VzLGo9Qi5sZW5ndGg7Zm9yKGxldCBIPTA7SDxqOysrSCl7bGV0IGs9QltIXSxLPVBba107Sy55PDA/KGc9Xy5hdHRyaWJ1dGVzLGI9Xy5pbmRpY2VzLFQ9dyk6KGc9bS5hdHRyaWJ1dGVzLGI9bS5pbmRpY2VzLFQ9QyksTz1paShnLGIsVCxsLGs8Mz9FK2s6LTEsSyksSHAoSSxELHYsSyxvLHIscyxpLGYsdSxjLGcscCxkLG4sTyl9fWVsc2UgaChTKSYmKEw9Uy5wb3NpdGlvbnNbMF0sVT1TLnBvc2l0aW9uc1sxXSxBPVMucG9zaXRpb25zWzJdKSxMLnk8MD8oZz1fLmF0dHJpYnV0ZXMsYj1fLmluZGljZXMsVD13KTooZz1tLmF0dHJpYnV0ZXMsYj1tLmluZGljZXMsVD1DKSxPPWlpKGcsYixULGwsRSxMKSxIcChJLEQsdixMLG8scixzLGksZix1LGMsZyxwLGQsbixPKSxPPWlpKGcsYixULGwsRSsxLFUpLEhwKEksRCx2LFUsbyxyLHMsaSxmLHUsYyxnLHAsZCxuLE8pLE89aWkoZyxiLFQsbCxFKzIsQSksSHAoSSxELHYsQSxvLHIscyxpLGYsdSxjLGcscCxkLG4sTyl9UWgodCxfLG0pfWZ1bmN0aW9uIGlhKHQsZSxuLG8scixpLHMpe2lmKCFoKHMpKXJldHVybjtsZXQgZj1hLmZyb21BcnJheShvLHQqMyxTZik7YS5lcXVhbHNFcHNpbG9uKGYsbixNLkVQU0lMT04xMCk/aS5hcHBseU9mZnNldC52YWx1ZXNbcl09c1t0XTppLmFwcGx5T2Zmc2V0LnZhbHVlc1tyXT1zW2VdfWZ1bmN0aW9uICRiKHQpe2xldCBlPXQuZ2VvbWV0cnksbj1lLmF0dHJpYnV0ZXMsbz1uLnBvc2l0aW9uLnZhbHVlcyxyPWgobi5hcHBseU9mZnNldCk/bi5hcHBseU9mZnNldC52YWx1ZXM6dm9pZCAwLGk9ZS5pbmRpY2VzLHM9c2EoZSksZj1zYShlKSx1LGM9aS5sZW5ndGgsbD1bXTtsLmxlbmd0aD1vLmxlbmd0aC8zO2xldCBwPVtdO2ZvcihwLmxlbmd0aD1vLmxlbmd0aC8zLHU9MDt1PGwubGVuZ3RoOysrdSlsW3VdPS0xLHBbdV09LTE7Zm9yKHU9MDt1PGM7dSs9Mil7bGV0IGQ9aVt1XSxtPWlbdSsxXSxfPWEuZnJvbUFycmF5KG8sZCozLFNmKSxnPWEuZnJvbUFycmF5KG8sbSozLFloKSxiO01hdGguYWJzKF8ueSk8TS5FUFNJTE9ONiYmKF8ueTwwP18ueT0tTS5FUFNJTE9ONjpfLnk9TS5FUFNJTE9ONiksTWF0aC5hYnMoZy55KTxNLkVQU0lMT042JiYoZy55PDA/Zy55PS1NLkVQU0lMT042OmcueT1NLkVQU0lMT042KTtsZXQgVD1zLmF0dHJpYnV0ZXMsTz1zLmluZGljZXMsRT1wLHc9Zi5hdHRyaWJ1dGVzLEM9Zi5pbmRpY2VzLE49bCxJPWhvLmxpbmVTZWdtZW50UGxhbmUoXyxnLGVULCRoKTtpZihoKEkpKXtsZXQgRD1hLm11bHRpcGx5QnlTY2FsYXIoYS5VTklUX1ksNSpNLkVQU0lMT045LGZNKTtfLnk8MCYmKGEubmVnYXRlKEQsRCksVD1mLmF0dHJpYnV0ZXMsTz1mLmluZGljZXMsRT1sLHc9cy5hdHRyaWJ1dGVzLEM9cy5pbmRpY2VzLE49cCk7bGV0IHY9YS5hZGQoSSxELHVNKTtiPWlpKFQsTyxFLGksdSxfKSxpYShkLG0sXyxvLGIsVCxyKSxiPWlpKFQsTyxFLGksLTEsdiksaWEoZCxtLHYsbyxiLFQsciksYS5uZWdhdGUoRCxEKSxhLmFkZChJLEQsdiksYj1paSh3LEMsTixpLC0xLHYpLGlhKGQsbSx2LG8sYix3LHIpLGI9aWkodyxDLE4saSx1KzEsZyksaWEoZCxtLGcsbyxiLHcscil9ZWxzZXtsZXQgRCx2LEw7Xy55PDA/KEQ9Zi5hdHRyaWJ1dGVzLHY9Zi5pbmRpY2VzLEw9bCk6KEQ9cy5hdHRyaWJ1dGVzLHY9cy5pbmRpY2VzLEw9cCksYj1paShELHYsTCxpLHUsXyksaWEoZCxtLF8sbyxiLEQsciksYj1paShELHYsTCxpLHUrMSxnKSxpYShkLG0sZyxvLGIsRCxyKX19UWgodCxmLHMpfWZ1bmN0aW9uIEpiKHQpe2xldCBlPXQuYXR0cmlidXRlcyxuPWUucG9zaXRpb24udmFsdWVzLG89ZS5wcmV2UG9zaXRpb24udmFsdWVzLHI9ZS5uZXh0UG9zaXRpb24udmFsdWVzLGk9bi5sZW5ndGg7Zm9yKGxldCBzPTA7czxpO3MrPTMpe2xldCBmPWEudW5wYWNrKG4scyxuVCk7aWYoZi54PjApY29udGludWU7bGV0IHU9YS51bnBhY2sobyxzLG9UKTsoZi55PDAmJnUueT4wfHxmLnk+MCYmdS55PDApJiYocy0zPjA/KG9bc109bltzLTNdLG9bcysxXT1uW3MtMl0sb1tzKzJdPW5bcy0xXSk6YS5wYWNrKGYsbyxzKSk7bGV0IGM9YS51bnBhY2socixzLFpoKTsoZi55PDAmJmMueT4wfHxmLnk+MCYmYy55PDApJiYocyszPGk/KHJbc109bltzKzNdLHJbcysxXT1uW3MrNF0scltzKzJdPW5bcys1XSk6YS5wYWNrKGYscixzKSl9fWZ1bmN0aW9uIF9NKHQpe2xldCBlPXQuZ2VvbWV0cnksbj1lLmF0dHJpYnV0ZXMsbz1uLnBvc2l0aW9uLnZhbHVlcyxyPW4ucHJldlBvc2l0aW9uLnZhbHVlcyxpPW4ubmV4dFBvc2l0aW9uLnZhbHVlcyxzPW4uZXhwYW5kQW5kV2lkdGgudmFsdWVzLGY9aChuLnN0KT9uLnN0LnZhbHVlczp2b2lkIDAsdT1oKG4uY29sb3IpP24uY29sb3IudmFsdWVzOnZvaWQgMCxjPXNhKGUpLGw9c2EoZSkscCxkLG0sXz0hMSxnPW8ubGVuZ3RoLzM7Zm9yKHA9MDtwPGc7cCs9NCl7bGV0IGI9cCxUPXArMixPPWEuZnJvbUFycmF5KG8sYiozLG5UKSxFPWEuZnJvbUFycmF5KG8sVCozLG9UKTtpZihNYXRoLmFicyhPLnkpPHFwKWZvcihPLnk9cXAqKEUueTwwPy0xOjEpLG9bcCozKzFdPU8ueSxvWyhwKzEpKjMrMV09Ty55LGQ9YiozO2Q8YiozKzQqMztkKz0zKXJbZF09b1twKjNdLHJbZCsxXT1vW3AqMysxXSxyW2QrMl09b1twKjMrMl07aWYoTWF0aC5hYnMoRS55KTxxcClmb3IoRS55PXFwKihPLnk8MD8tMToxKSxvWyhwKzIpKjMrMV09RS55LG9bKHArMykqMysxXT1FLnksZD1iKjM7ZDxiKjMrNCozO2QrPTMpaVtkXT1vWyhwKzIpKjNdLGlbZCsxXT1vWyhwKzIpKjMrMV0saVtkKzJdPW9bKHArMikqMysyXTtsZXQgdz1jLmF0dHJpYnV0ZXMsQz1jLmluZGljZXMsTj1sLmF0dHJpYnV0ZXMsST1sLmluZGljZXMsRD1oby5saW5lU2VnbWVudFBsYW5lKE8sRSxlVCxwTSk7aWYoaChEKSl7Xz0hMDtsZXQgdj1hLm11bHRpcGx5QnlTY2FsYXIoYS5VTklUX1ksaE0sZE0pO08ueTwwJiYoYS5uZWdhdGUodix2KSx3PWwuYXR0cmlidXRlcyxDPWwuaW5kaWNlcyxOPWMuYXR0cmlidXRlcyxJPWMuaW5kaWNlcyk7bGV0IEw9YS5hZGQoRCx2LG1NKTt3LnBvc2l0aW9uLnZhbHVlcy5wdXNoKE8ueCxPLnksTy56LE8ueCxPLnksTy56KSx3LnBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSx3LnBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSx3LnByZXZQb3NpdGlvbi52YWx1ZXMucHVzaChyW2IqM10scltiKjMrMV0scltiKjMrMl0pLHcucHJldlBvc2l0aW9uLnZhbHVlcy5wdXNoKHJbYiozKzNdLHJbYiozKzRdLHJbYiozKzVdKSx3LnByZXZQb3NpdGlvbi52YWx1ZXMucHVzaChPLngsTy55LE8ueixPLngsTy55LE8ueiksdy5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLHcubmV4dFBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSx3Lm5leHRQb3NpdGlvbi52YWx1ZXMucHVzaChMLngsTC55LEwueiksdy5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLGEubmVnYXRlKHYsdiksYS5hZGQoRCx2LEwpLE4ucG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLE4ucG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLE4ucG9zaXRpb24udmFsdWVzLnB1c2goRS54LEUueSxFLnosRS54LEUueSxFLnopLE4ucHJldlBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSxOLnByZXZQb3NpdGlvbi52YWx1ZXMucHVzaChMLngsTC55LEwueiksTi5wcmV2UG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLE4ucHJldlBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSxOLm5leHRQb3NpdGlvbi52YWx1ZXMucHVzaChFLngsRS55LEUueixFLngsRS55LEUueiksTi5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goaVtUKjNdLGlbVCozKzFdLGlbVCozKzJdKSxOLm5leHRQb3NpdGlvbi52YWx1ZXMucHVzaChpW1QqMyszXSxpW1QqMys0XSxpW1QqMys1XSk7bGV0IFU9dHQuZnJvbUFycmF5KHMsYioyLFpiKSxBPU1hdGguYWJzKFUueSk7dy5leHBhbmRBbmRXaWR0aC52YWx1ZXMucHVzaCgtMSxBLDEsQSksdy5leHBhbmRBbmRXaWR0aC52YWx1ZXMucHVzaCgtMSwtQSwxLC1BKSxOLmV4cGFuZEFuZFdpZHRoLnZhbHVlcy5wdXNoKC0xLEEsMSxBKSxOLmV4cGFuZEFuZFdpZHRoLnZhbHVlcy5wdXNoKC0xLC1BLDEsLUEpO2xldCBTPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KEQsTyxaaCkpO2lmKFMvPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KEUsTyxaaCkpLGgodSkpe2xldCBQPWhlLmZyb21BcnJheSh1LGIqNCxRYiksQj1oZS5mcm9tQXJyYXkodSxUKjQsUWIpLGo9TS5sZXJwKFAueCxCLngsUyksSD1NLmxlcnAoUC55LEIueSxTKSxrPU0ubGVycChQLnosQi56LFMpLEs9TS5sZXJwKFAudyxCLncsUyk7Zm9yKGQ9Yio0O2Q8Yio0KzIqNDsrK2Qpdy5jb2xvci52YWx1ZXMucHVzaCh1W2RdKTtmb3Iody5jb2xvci52YWx1ZXMucHVzaChqLEgsayxLKSx3LmNvbG9yLnZhbHVlcy5wdXNoKGosSCxrLEspLE4uY29sb3IudmFsdWVzLnB1c2goaixILGssSyksTi5jb2xvci52YWx1ZXMucHVzaChqLEgsayxLKSxkPVQqNDtkPFQqNCsyKjQ7KytkKU4uY29sb3IudmFsdWVzLnB1c2godVtkXSl9aWYoaChmKSl7bGV0IFA9dHQuZnJvbUFycmF5KGYsYioyLFpiKSxCPXR0LmZyb21BcnJheShmLChwKzMpKjIsbE0pLGo9TS5sZXJwKFAueCxCLngsUyk7Zm9yKGQ9YioyO2Q8YioyKzIqMjsrK2Qpdy5zdC52YWx1ZXMucHVzaChmW2RdKTtmb3Iody5zdC52YWx1ZXMucHVzaChqLFAueSksdy5zdC52YWx1ZXMucHVzaChqLEIueSksTi5zdC52YWx1ZXMucHVzaChqLFAueSksTi5zdC52YWx1ZXMucHVzaChqLEIueSksZD1UKjI7ZDxUKjIrMioyOysrZClOLnN0LnZhbHVlcy5wdXNoKGZbZF0pfW09dy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMtNCxDLnB1c2gobSxtKzIsbSsxKSxDLnB1c2gobSsxLG0rMixtKzMpLG09Ti5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMtNCxJLnB1c2gobSxtKzIsbSsxKSxJLnB1c2gobSsxLG0rMixtKzMpfWVsc2V7bGV0IHYsTDtmb3IoTy55PDA/KHY9bC5hdHRyaWJ1dGVzLEw9bC5pbmRpY2VzKToodj1jLmF0dHJpYnV0ZXMsTD1jLmluZGljZXMpLHYucG9zaXRpb24udmFsdWVzLnB1c2goTy54LE8ueSxPLnopLHYucG9zaXRpb24udmFsdWVzLnB1c2goTy54LE8ueSxPLnopLHYucG9zaXRpb24udmFsdWVzLnB1c2goRS54LEUueSxFLnopLHYucG9zaXRpb24udmFsdWVzLnB1c2goRS54LEUueSxFLnopLGQ9cCozO2Q8cCozKzQqMzsrK2Qpdi5wcmV2UG9zaXRpb24udmFsdWVzLnB1c2gocltkXSksdi5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goaVtkXSk7Zm9yKGQ9cCoyO2Q8cCoyKzQqMjsrK2Qpdi5leHBhbmRBbmRXaWR0aC52YWx1ZXMucHVzaChzW2RdKSxoKGYpJiZ2LnN0LnZhbHVlcy5wdXNoKGZbZF0pO2lmKGgodSkpZm9yKGQ9cCo0O2Q8cCo0KzQqNDsrK2Qpdi5jb2xvci52YWx1ZXMucHVzaCh1W2RdKTttPXYucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLTQsTC5wdXNoKG0sbSsyLG0rMSksTC5wdXNoKG0rMSxtKzIsbSszKX19XyYmKEpiKGwpLEpiKGMpKSxRaCh0LGwsYyl9dmFyIHZvLGpiLEhQLEhoLFZyLEdwLHpwLEtQLEFyLEVmLG9hLHJhLFdQLEhiLFhQLFJmLFVyLHFiLEtiLGpwLFdiLGVjLG5jLG9jLHJjLFhoLHJNLEtwLHRULGlNLFNmLFloLCRoLHNNLGFNLGVULGZNLHVNLFpiLGxNLG5ULG9ULFpoLHBNLGRNLG1NLFFiLGhNLHFwLFZlLHNpPVooKCk9PnthcygpO1NiKCk7dmUoKTtVZSgpO0Z0KCk7aHIoKTtJZSgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7QmgoKTtTaSgpO1hlKCk7WWUoKTtMcCgpOyRlKCk7a3MoKTt0YygpO1d0KCk7Qm4oKTtVbigpO2ZzKCk7dG4oKTtHYigpO3ZvPXt9O3ZvLnRvV2lyZWZyYW1lPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtsZXQgZT10LmluZGljZXM7aWYoaChlKSl7c3dpdGNoKHQucHJpbWl0aXZlVHlwZSl7Y2FzZSBCdC5UUklBTkdMRVM6dC5pbmRpY2VzPWtQKGUpO2JyZWFrO2Nhc2UgQnQuVFJJQU5HTEVfU1RSSVA6dC5pbmRpY2VzPUdQKGUpO2JyZWFrO2Nhc2UgQnQuVFJJQU5HTEVfRkFOOnQuaW5kaWNlcz16UChlKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBGKCJnZW9tZXRyeS5wcmltaXRpdmVUeXBlIG11c3QgYmUgVFJJQU5HTEVTLCBUUklBTkdMRV9TVFJJUCwgb3IgVFJJQU5HTEVfRkFOLiIpfXQucHJpbWl0aXZlVHlwZT1CdC5MSU5FU31yZXR1cm4gdH07dm8uY3JlYXRlTGluZVNlZ21lbnRzRm9yVmVjdG9ycz1mdW5jdGlvbih0LGUsbil7aWYoZT14KGUsIm5vcm1hbCIpLCFoKHQpKXRocm93IG5ldyBGKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtpZighaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24pKXRocm93IG5ldyBGKCJnZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uIGlzIHJlcXVpcmVkLiIpO2lmKCFoKHQuYXR0cmlidXRlc1tlXSkpdGhyb3cgbmV3IEYoYGdlb21ldHJ5LmF0dHJpYnV0ZXMgbXVzdCBoYXZlIGFuIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGF0dHJpYnV0ZU5hbWUgcGFyYW1ldGVyLCAke2V9LmApO249eChuLDFlNCk7bGV0IG89dC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxyPXQuYXR0cmlidXRlc1tlXS52YWx1ZXMsaT1vLmxlbmd0aCxzPW5ldyBGbG9hdDY0QXJyYXkoMippKSxmPTA7Zm9yKGxldCBsPTA7bDxpO2wrPTMpc1tmKytdPW9bbF0sc1tmKytdPW9bbCsxXSxzW2YrK109b1tsKzJdLHNbZisrXT1vW2xdK3JbbF0qbixzW2YrK109b1tsKzFdK3JbbCsxXSpuLHNbZisrXT1vW2wrMl0rcltsKzJdKm47bGV0IHUsYz10LmJvdW5kaW5nU3BoZXJlO3JldHVybiBoKGMpJiYodT1uZXcgQXQoYy5jZW50ZXIsYy5yYWRpdXMrbikpLG5ldyBVdCh7YXR0cmlidXRlczp7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpzfSl9LHByaW1pdGl2ZVR5cGU6QnQuTElORVMsYm91bmRpbmdTcGhlcmU6dX0pfTt2by5jcmVhdGVBdHRyaWJ1dGVMb2NhdGlvbnM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImdlb21ldHJ5IGlzIHJlcXVpcmVkLiIpO2xldCBlPVsicG9zaXRpb24iLCJwb3NpdGlvbkhpZ2giLCJwb3NpdGlvbkxvdyIsInBvc2l0aW9uM0RIaWdoIiwicG9zaXRpb24zRExvdyIsInBvc2l0aW9uMkRIaWdoIiwicG9zaXRpb24yRExvdyIsInBpY2tDb2xvciIsIm5vcm1hbCIsInN0IiwidGFuZ2VudCIsImJpdGFuZ2VudCIsImV4dHJ1ZGVEaXJlY3Rpb24iLCJjb21wcmVzc2VkQXR0cmlidXRlcyJdLG49dC5hdHRyaWJ1dGVzLG89e30scj0wLGkscz1lLmxlbmd0aDtmb3IoaT0wO2k8czsrK2kpe2xldCBmPWVbaV07aChuW2ZdKSYmKG9bZl09cisrKX1mb3IobGV0IGYgaW4gbiluLmhhc093blByb3BlcnR5KGYpJiYhaChvW2ZdKSYmKG9bZl09cisrKTtyZXR1cm4gb307dm8ucmVvcmRlckZvclByZVZlcnRleENhY2hlPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtsZXQgZT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KSxuPXQuaW5kaWNlcztpZihoKG4pKXtsZXQgbz1uZXcgSW50MzJBcnJheShlKTtmb3IobGV0IGQ9MDtkPGU7ZCsrKW9bZF09LTE7bGV0IHI9bixpPXIubGVuZ3RoLHM9RHQuY3JlYXRlVHlwZWRBcnJheShlLGkpLGY9MCx1PTAsYz0wLGw7Zm9yKDtmPGk7KWw9b1tyW2ZdXSxsIT09LTE/c1t1XT1sOihsPXJbZl0sb1tsXT1jLHNbdV09YywrK2MpLCsrZiwrK3U7dC5pbmRpY2VzPXM7bGV0IHA9dC5hdHRyaWJ1dGVzO2ZvcihsZXQgZCBpbiBwKWlmKHAuaGFzT3duUHJvcGVydHkoZCkmJmgocFtkXSkmJmgocFtkXS52YWx1ZXMpKXtsZXQgbT1wW2RdLF89bS52YWx1ZXMsZz0wLGI9bS5jb21wb25lbnRzUGVyQXR0cmlidXRlLFQ9bnQuY3JlYXRlVHlwZWRBcnJheShtLmNvbXBvbmVudERhdGF0eXBlLGMqYik7Zm9yKDtnPGU7KXtsZXQgTz1vW2ddO2lmKE8hPT0tMSlmb3IobGV0IEU9MDtFPGI7RSsrKVRbYipPK0VdPV9bYipnK0VdOysrZ31tLnZhbHVlcz1UfX1yZXR1cm4gdH07dm8ucmVvcmRlckZvclBvc3RWZXJ0ZXhDYWNoZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtsZXQgbj10LmluZGljZXM7aWYodC5wcmltaXRpdmVUeXBlPT09QnQuVFJJQU5HTEVTJiZoKG4pKXtsZXQgbz1uLmxlbmd0aCxyPTA7Zm9yKGxldCBpPTA7aTxvO2krKyluW2ldPnImJihyPW5baV0pO3QuaW5kaWNlcz1rYi50aXBzaWZ5KHtpbmRpY2VzOm4sbWF4aW11bUluZGV4OnIsY2FjaGVTaXplOmV9KX1yZXR1cm4gdH07dm8uZml0VG9VbnNpZ25lZFNob3J0SW5kaWNlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigiZ2VvbWV0cnkgaXMgcmVxdWlyZWQuIik7aWYoaCh0LmluZGljZXMpJiZ0LnByaW1pdGl2ZVR5cGUhPT1CdC5UUklBTkdMRVMmJnQucHJpbWl0aXZlVHlwZSE9PUJ0LkxJTkVTJiZ0LnByaW1pdGl2ZVR5cGUhPT1CdC5QT0lOVFMpdGhyb3cgbmV3IEYoImdlb21ldHJ5LnByaW1pdGl2ZVR5cGUgbXVzdCBlcXVhbCB0byBQcmltaXRpdmVUeXBlLlRSSUFOR0xFUywgUHJpbWl0aXZlVHlwZS5MSU5FUywgb3IgUHJpbWl0aXZlVHlwZS5QT0lOVFMuIik7bGV0IGU9W10sbj1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtpZihoKHQuaW5kaWNlcykmJm4+PU0uU0lYVFlfRk9VUl9LSUxPQllURVMpe2xldCBvPVtdLHI9W10saT0wLHM9emIodC5hdHRyaWJ1dGVzKSxmPXQuaW5kaWNlcyx1PWYubGVuZ3RoLGM7dC5wcmltaXRpdmVUeXBlPT09QnQuVFJJQU5HTEVTP2M9Mzp0LnByaW1pdGl2ZVR5cGU9PT1CdC5MSU5FUz9jPTI6dC5wcmltaXRpdmVUeXBlPT09QnQuUE9JTlRTJiYoYz0xKTtmb3IobGV0IGw9MDtsPHU7bCs9Yyl7Zm9yKGxldCBwPTA7cDxjOysrcCl7bGV0IGQ9ZltsK3BdLG09b1tkXTtoKG0pfHwobT1pKyssb1tkXT1tLGpQKHMsdC5hdHRyaWJ1dGVzLGQpKSxyLnB1c2gobSl9aStjPj1NLlNJWFRZX0ZPVVJfS0lMT0JZVEVTJiYoZS5wdXNoKG5ldyBVdCh7YXR0cmlidXRlczpzLGluZGljZXM6cixwcmltaXRpdmVUeXBlOnQucHJpbWl0aXZlVHlwZSxib3VuZGluZ1NwaGVyZTp0LmJvdW5kaW5nU3BoZXJlLGJvdW5kaW5nU3BoZXJlQ1Y6dC5ib3VuZGluZ1NwaGVyZUNWfSkpLG89W10scj1bXSxpPTAscz16Yih0LmF0dHJpYnV0ZXMpKX1yLmxlbmd0aCE9PTAmJmUucHVzaChuZXcgVXQoe2F0dHJpYnV0ZXM6cyxpbmRpY2VzOnIscHJpbWl0aXZlVHlwZTp0LnByaW1pdGl2ZVR5cGUsYm91bmRpbmdTcGhlcmU6dC5ib3VuZGluZ1NwaGVyZSxib3VuZGluZ1NwaGVyZUNWOnQuYm91bmRpbmdTcGhlcmVDVn0pKX1lbHNlIGUucHVzaCh0KTtyZXR1cm4gZX07amI9bmV3IGEsSFA9bmV3IGN0O3ZvLnByb2plY3RUbzJEPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImdlb21ldHJ5IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJhdHRyaWJ1dGVOYW1lIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJhdHRyaWJ1dGVOYW1lM0QgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEYoImF0dHJpYnV0ZU5hbWUyRCBpcyByZXF1aXJlZC4iKTtpZighaCh0LmF0dHJpYnV0ZXNbZV0pKXRocm93IG5ldyBGKGBnZW9tZXRyeSBtdXN0IGhhdmUgYXR0cmlidXRlIG1hdGNoaW5nIHRoZSBhdHRyaWJ1dGVOYW1lIGFyZ3VtZW50OiAke2V9LmApO2lmKHQuYXR0cmlidXRlc1tlXS5jb21wb25lbnREYXRhdHlwZSE9PW50LkRPVUJMRSl0aHJvdyBuZXcgRigiVGhlIGF0dHJpYnV0ZSBjb21wb25lbnREYXRhdHlwZSBtdXN0IGJlIENvbXBvbmVudERhdGF0eXBlLkRPVUJMRS4iKTtsZXQgaT10LmF0dHJpYnV0ZXNbZV07cj1oKHIpP3I6bmV3IEpuO2xldCBzPXIuZWxsaXBzb2lkLGY9aS52YWx1ZXMsdT1uZXcgRmxvYXQ2NEFycmF5KGYubGVuZ3RoKSxjPTA7Zm9yKGxldCBsPTA7bDxmLmxlbmd0aDtsKz0zKXtsZXQgcD1hLmZyb21BcnJheShmLGwsamIpLGQ9cy5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhwLEhQKTtpZighaChkKSl0aHJvdyBuZXcgRihgQ291bGQgbm90IHByb2plY3QgcG9pbnQgKCR7cC54fSwgJHtwLnl9LCAke3Auen0pIHRvIDJELmApO2xldCBtPXIucHJvamVjdChkLGpiKTt1W2MrK109bS54LHVbYysrXT1tLnksdVtjKytdPW0uen1yZXR1cm4gdC5hdHRyaWJ1dGVzW25dPWksdC5hdHRyaWJ1dGVzW29dPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6dX0pLGRlbGV0ZSB0LmF0dHJpYnV0ZXNbZV0sdH07SGg9e2hpZ2g6MCxsb3c6MH07dm8uZW5jb2RlQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigiYXR0cmlidXRlTmFtZSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigiYXR0cmlidXRlSGlnaE5hbWUgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEYoImF0dHJpYnV0ZUxvd05hbWUgaXMgcmVxdWlyZWQuIik7aWYoIWgodC5hdHRyaWJ1dGVzW2VdKSl0aHJvdyBuZXcgRihgZ2VvbWV0cnkgbXVzdCBoYXZlIGF0dHJpYnV0ZSBtYXRjaGluZyB0aGUgYXR0cmlidXRlTmFtZSBhcmd1bWVudDogJHtlfS5gKTtpZih0LmF0dHJpYnV0ZXNbZV0uY29tcG9uZW50RGF0YXR5cGUhPT1udC5ET1VCTEUpdGhyb3cgbmV3IEYoIlRoZSBhdHRyaWJ1dGUgY29tcG9uZW50RGF0YXR5cGUgbXVzdCBiZSBDb21wb25lbnREYXRhdHlwZS5ET1VCTEUuIik7bGV0IHI9dC5hdHRyaWJ1dGVzW2VdLGk9ci52YWx1ZXMscz1pLmxlbmd0aCxmPW5ldyBGbG9hdDMyQXJyYXkocyksdT1uZXcgRmxvYXQzMkFycmF5KHMpO2ZvcihsZXQgbD0wO2w8czsrK2wpWnMuZW5jb2RlKGlbbF0sSGgpLGZbbF09SGguaGlnaCx1W2xdPUhoLmxvdztsZXQgYz1yLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGU7cmV0dXJuIHQuYXR0cmlidXRlc1tuXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Yyx2YWx1ZXM6Zn0pLHQuYXR0cmlidXRlc1tvXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Yyx2YWx1ZXM6dX0pLGRlbGV0ZSB0LmF0dHJpYnV0ZXNbZV0sdH07VnI9bmV3IGE7R3A9bmV3IHN0LHpwPW5ldyBRO3ZvLnRyYW5zZm9ybVRvV29ybGRDb29yZGluYXRlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigiaW5zdGFuY2UgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5tb2RlbE1hdHJpeDtpZihzdC5lcXVhbHMoZSxzdC5JREVOVElUWSkpcmV0dXJuIHQ7bGV0IG49dC5nZW9tZXRyeS5hdHRyaWJ1dGVzO3FoKGUsbi5wb3NpdGlvbikscWgoZSxuLnByZXZQb3NpdGlvbikscWgoZSxuLm5leHRQb3NpdGlvbiksKGgobi5ub3JtYWwpfHxoKG4udGFuZ2VudCl8fGgobi5iaXRhbmdlbnQpKSYmKHN0LmludmVyc2UoZSxHcCksc3QudHJhbnNwb3NlKEdwLEdwKSxzdC5nZXRNYXRyaXgzKEdwLHpwKSxLaCh6cCxuLm5vcm1hbCksS2goenAsbi50YW5nZW50KSxLaCh6cCxuLmJpdGFuZ2VudCkpO2xldCBvPXQuZ2VvbWV0cnkuYm91bmRpbmdTcGhlcmU7cmV0dXJuIGgobykmJih0Lmdlb21ldHJ5LmJvdW5kaW5nU3BoZXJlPUF0LnRyYW5zZm9ybShvLGUsbykpLHQubW9kZWxNYXRyaXg9c3QuY2xvbmUoc3QuSURFTlRJVFkpLHR9O0tQPW5ldyBhO3ZvLmNvbWJpbmVJbnN0YW5jZXM9ZnVuY3Rpb24odCl7aWYoIWgodCl8fHQubGVuZ3RoPDEpdGhyb3cgbmV3IEYoImluc3RhbmNlcyBpcyByZXF1aXJlZCBhbmQgbXVzdCBoYXZlIGxlbmd0aCBncmVhdGVyIHRoYW4gemVyby4iKTtsZXQgZT1bXSxuPVtdLG89dC5sZW5ndGg7Zm9yKGxldCBpPTA7aTxvOysraSl7bGV0IHM9dFtpXTtoKHMuZ2VvbWV0cnkpP2UucHVzaChzKTpoKHMud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSkmJmgocy5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5KSYmbi5wdXNoKHMpfWxldCByPVtdO3JldHVybiBlLmxlbmd0aD4wJiZyLnB1c2goV2goZSwiZ2VvbWV0cnkiKSksbi5sZW5ndGg+MCYmKHIucHVzaChXaChuLCJ3ZXN0SGVtaXNwaGVyZUdlb21ldHJ5IikpLHIucHVzaChXaChuLCJlYXN0SGVtaXNwaGVyZUdlb21ldHJ5IikpKSxyfTtBcj1uZXcgYSxFZj1uZXcgYSxvYT1uZXcgYSxyYT1uZXcgYTt2by5jb21wdXRlTm9ybWFsPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtpZighaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24pfHwhaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzKSl0aHJvdyBuZXcgRigiZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMgaXMgcmVxdWlyZWQuIik7aWYoIWgodC5pbmRpY2VzKSl0aHJvdyBuZXcgRigiZ2VvbWV0cnkuaW5kaWNlcyBpcyByZXF1aXJlZC4iKTtpZih0LmluZGljZXMubGVuZ3RoPDJ8fHQuaW5kaWNlcy5sZW5ndGglMyE9PTApdGhyb3cgbmV3IEYoImdlb21ldHJ5LmluZGljZXMgbGVuZ3RoIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAgYW5kIGJlIGEgbXVsdGlwbGUgb2YgMy4iKTtpZih0LnByaW1pdGl2ZVR5cGUhPT1CdC5UUklBTkdMRVMpdGhyb3cgbmV3IEYoImdlb21ldHJ5LnByaW1pdGl2ZVR5cGUgbXVzdCBiZSBQcmltaXRpdmVUeXBlLlRSSUFOR0xFUy4iKTtsZXQgZT10LmluZGljZXMsbj10LmF0dHJpYnV0ZXMsbz1uLnBvc2l0aW9uLnZhbHVlcyxyPW4ucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLGk9ZS5sZW5ndGgscz1uZXcgQXJyYXkociksZj1uZXcgQXJyYXkoaS8zKSx1PW5ldyBBcnJheShpKSxjO2ZvcihjPTA7YzxyO2MrKylzW2NdPXtpbmRleE9mZnNldDowLGNvdW50OjAsY3VycmVudENvdW50OjB9O2xldCBsPTA7Zm9yKGM9MDtjPGk7Yys9Myl7bGV0IF89ZVtjXSxnPWVbYysxXSxiPWVbYysyXSxUPV8qMyxPPWcqMyxFPWIqMztFZi54PW9bVF0sRWYueT1vW1QrMV0sRWYuej1vW1QrMl0sb2EueD1vW09dLG9hLnk9b1tPKzFdLG9hLno9b1tPKzJdLHJhLng9b1tFXSxyYS55PW9bRSsxXSxyYS56PW9bRSsyXSxzW19dLmNvdW50Kyssc1tnXS5jb3VudCsrLHNbYl0uY291bnQrKyxhLnN1YnRyYWN0KG9hLEVmLG9hKSxhLnN1YnRyYWN0KHJhLEVmLHJhKSxmW2xdPWEuY3Jvc3Mob2EscmEsbmV3IGEpLGwrK31sZXQgcD0wO2ZvcihjPTA7YzxyO2MrKylzW2NdLmluZGV4T2Zmc2V0Kz1wLHArPXNbY10uY291bnQ7bD0wO2xldCBkO2ZvcihjPTA7YzxpO2MrPTMpe2Q9c1tlW2NdXTtsZXQgXz1kLmluZGV4T2Zmc2V0K2QuY3VycmVudENvdW50O3VbX109bCxkLmN1cnJlbnRDb3VudCsrLGQ9c1tlW2MrMV1dLF89ZC5pbmRleE9mZnNldCtkLmN1cnJlbnRDb3VudCx1W19dPWwsZC5jdXJyZW50Q291bnQrKyxkPXNbZVtjKzJdXSxfPWQuaW5kZXhPZmZzZXQrZC5jdXJyZW50Q291bnQsdVtfXT1sLGQuY3VycmVudENvdW50KyssbCsrfWxldCBtPW5ldyBGbG9hdDMyQXJyYXkociozKTtmb3IoYz0wO2M8cjtjKyspe2xldCBfPWMqMztpZihkPXNbY10sYS5jbG9uZShhLlpFUk8sQXIpLGQuY291bnQ+MCl7Zm9yKGw9MDtsPGQuY291bnQ7bCsrKWEuYWRkKEFyLGZbdVtkLmluZGV4T2Zmc2V0K2xdXSxBcik7YS5lcXVhbHNFcHNpbG9uKGEuWkVSTyxBcixNLkVQU0lMT04xMCkmJmEuY2xvbmUoZlt1W2QuaW5kZXhPZmZzZXRdXSxBcil9YS5lcXVhbHNFcHNpbG9uKGEuWkVSTyxBcixNLkVQU0lMT04xMCkmJihBci56PTEpLGEubm9ybWFsaXplKEFyLEFyKSxtW19dPUFyLngsbVtfKzFdPUFyLnksbVtfKzJdPUFyLnp9cmV0dXJuIHQuYXR0cmlidXRlcy5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm19KSx0fTtXUD1uZXcgYSxIYj1uZXcgYSxYUD1uZXcgYTt2by5jb21wdXRlVGFuZ2VudEFuZEJpdGFuZ2VudD1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigiZ2VvbWV0cnkgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5hdHRyaWJ1dGVzLG49dC5pbmRpY2VzO2lmKCFoKGUucG9zaXRpb24pfHwhaChlLnBvc2l0aW9uLnZhbHVlcykpdGhyb3cgbmV3IEYoImdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUubm9ybWFsKXx8IWgoZS5ub3JtYWwudmFsdWVzKSl0aHJvdyBuZXcgRigiZ2VvbWV0cnkuYXR0cmlidXRlcy5ub3JtYWwudmFsdWVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUuc3QpfHwhaChlLnN0LnZhbHVlcykpdGhyb3cgbmV3IEYoImdlb21ldHJ5LmF0dHJpYnV0ZXMuc3QudmFsdWVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJnZW9tZXRyeS5pbmRpY2VzIGlzIHJlcXVpcmVkLiIpO2lmKG4ubGVuZ3RoPDJ8fG4ubGVuZ3RoJTMhPT0wKXRocm93IG5ldyBGKCJnZW9tZXRyeS5pbmRpY2VzIGxlbmd0aCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIGFuZCBiZSBhIG11bHRpcGxlIG9mIDMuIik7aWYodC5wcmltaXRpdmVUeXBlIT09QnQuVFJJQU5HTEVTKXRocm93IG5ldyBGKCJnZW9tZXRyeS5wcmltaXRpdmVUeXBlIG11c3QgYmUgUHJpbWl0aXZlVHlwZS5UUklBTkdMRVMuIik7bGV0IG89dC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxyPXQuYXR0cmlidXRlcy5ub3JtYWwudmFsdWVzLGk9dC5hdHRyaWJ1dGVzLnN0LnZhbHVlcyxzPXQuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMsZj1uLmxlbmd0aCx1PW5ldyBBcnJheShzKjMpLGM7Zm9yKGM9MDtjPHUubGVuZ3RoO2MrKyl1W2NdPTA7bGV0IGwscCxkO2ZvcihjPTA7YzxmO2MrPTMpe2xldCBnPW5bY10sYj1uW2MrMV0sVD1uW2MrMl07bD1nKjMscD1iKjMsZD1UKjM7bGV0IE89ZyoyLEU9YioyLHc9VCoyLEM9b1tsXSxOPW9bbCsxXSxJPW9bbCsyXSxEPWlbT10sdj1pW08rMV0sTD1pW0UrMV0tdixVPWlbdysxXS12LEE9MS8oKGlbRV0tRCkqVS0oaVt3XS1EKSpMKSxTPShVKihvW3BdLUMpLUwqKG9bZF0tQykpKkEsUD0oVSoob1twKzFdLU4pLUwqKG9bZCsxXS1OKSkqQSxCPShVKihvW3ArMl0tSSktTCoob1tkKzJdLUkpKSpBO3VbbF0rPVMsdVtsKzFdKz1QLHVbbCsyXSs9Qix1W3BdKz1TLHVbcCsxXSs9UCx1W3ArMl0rPUIsdVtkXSs9Uyx1W2QrMV0rPVAsdVtkKzJdKz1CfWxldCBtPW5ldyBGbG9hdDMyQXJyYXkocyozKSxfPW5ldyBGbG9hdDMyQXJyYXkocyozKTtmb3IoYz0wO2M8cztjKyspe2w9YyozLHA9bCsxLGQ9bCsyO2xldCBnPWEuZnJvbUFycmF5KHIsbCxXUCksYj1hLmZyb21BcnJheSh1LGwsWFApLFQ9YS5kb3QoZyxiKTthLm11bHRpcGx5QnlTY2FsYXIoZyxULEhiKSxhLm5vcm1hbGl6ZShhLnN1YnRyYWN0KGIsSGIsYiksYiksbVtsXT1iLngsbVtwXT1iLnksbVtkXT1iLnosYS5ub3JtYWxpemUoYS5jcm9zcyhnLGIsYiksYiksX1tsXT1iLngsX1twXT1iLnksX1tkXT1iLnp9cmV0dXJuIHQuYXR0cmlidXRlcy50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczptfSksdC5hdHRyaWJ1dGVzLmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6X30pLHR9O1JmPW5ldyB0dCxVcj1uZXcgYSxxYj1uZXcgYSxLYj1uZXcgYSxqcD1uZXcgdHQ7dm8uY29tcHJlc3NWZXJ0aWNlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigiZ2VvbWV0cnkgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5hdHRyaWJ1dGVzLmV4dHJ1ZGVEaXJlY3Rpb24sbixvO2lmKGgoZSkpe2xldCBOPWUudmFsdWVzO289Ti5sZW5ndGgvMztsZXQgST1uZXcgRmxvYXQzMkFycmF5KG8qMiksRD0wO2ZvcihuPTA7bjxvOysrbil7aWYoYS5mcm9tQXJyYXkoTixuKjMsVXIpLGEuZXF1YWxzKFVyLGEuWkVSTykpe0QrPTI7Y29udGludWV9anA9bm4ub2N0RW5jb2RlSW5SYW5nZShVciw2NTUzNSxqcCksSVtEKytdPWpwLngsSVtEKytdPWpwLnl9cmV0dXJuIHQuYXR0cmlidXRlcy5jb21wcmVzc2VkQXR0cmlidXRlcz1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6SX0pLGRlbGV0ZSB0LmF0dHJpYnV0ZXMuZXh0cnVkZURpcmVjdGlvbix0fWxldCByPXQuYXR0cmlidXRlcy5ub3JtYWwsaT10LmF0dHJpYnV0ZXMuc3Qscz1oKHIpLGY9aChpKTtpZighcyYmIWYpcmV0dXJuIHQ7bGV0IHU9dC5hdHRyaWJ1dGVzLnRhbmdlbnQsYz10LmF0dHJpYnV0ZXMuYml0YW5nZW50LGw9aCh1KSxwPWgoYyksZCxtLF8sZztzJiYoZD1yLnZhbHVlcyksZiYmKG09aS52YWx1ZXMpLGwmJihfPXUudmFsdWVzKSxwJiYoZz1jLnZhbHVlcyksbz0ocz9kLmxlbmd0aDptLmxlbmd0aCkvKHM/MzoyKTtsZXQgTz1vLEU9ZiYmcz8yOjE7RSs9bHx8cD8xOjAsTyo9RTtsZXQgdz1uZXcgRmxvYXQzMkFycmF5KE8pLEM9MDtmb3Iobj0wO248bzsrK24pe2YmJih0dC5mcm9tQXJyYXkobSxuKjIsUmYpLHdbQysrXT1ubi5jb21wcmVzc1RleHR1cmVDb29yZGluYXRlcyhSZikpO2xldCBOPW4qMztzJiZoKF8pJiZoKGcpPyhhLmZyb21BcnJheShkLE4sVXIpLGEuZnJvbUFycmF5KF8sTixxYiksYS5mcm9tQXJyYXkoZyxOLEtiKSxubi5vY3RQYWNrKFVyLHFiLEtiLFJmKSx3W0MrK109UmYueCx3W0MrK109UmYueSk6KHMmJihhLmZyb21BcnJheShkLE4sVXIpLHdbQysrXT1ubi5vY3RFbmNvZGVGbG9hdChVcikpLGwmJihhLmZyb21BcnJheShfLE4sVXIpLHdbQysrXT1ubi5vY3RFbmNvZGVGbG9hdChVcikpLHAmJihhLmZyb21BcnJheShnLE4sVXIpLHdbQysrXT1ubi5vY3RFbmNvZGVGbG9hdChVcikpKX1yZXR1cm4gdC5hdHRyaWJ1dGVzLmNvbXByZXNzZWRBdHRyaWJ1dGVzPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTpFLHZhbHVlczp3fSkscyYmZGVsZXRlIHQuYXR0cmlidXRlcy5ub3JtYWwsZiYmZGVsZXRlIHQuYXR0cmlidXRlcy5zdCxwJiZkZWxldGUgdC5hdHRyaWJ1dGVzLmJpdGFuZ2VudCxsJiZkZWxldGUgdC5hdHRyaWJ1dGVzLnRhbmdlbnQsdH07V2I9bmV3IGE7ZWM9bmV3IGEsbmM9bmV3IGEsb2M9bmV3IGEscmM9bmV3IGEsWGg9e3Bvc2l0aW9uczpuZXcgQXJyYXkoNyksaW5kaWNlczpuZXcgQXJyYXkoMyozKX07ck09SmgoaGUsNCksS3A9SmgoYSwzKSx0VD1KaCh0dCwyKSxpTT1mdW5jdGlvbih0LGUsbixvLHIsaSxzKXtsZXQgZj1yW3RdKm8ueCx1PXJbZV0qby55LGM9cltuXSpvLno7aVtzXT1mK3UrYz5NLkVQU0lMT042PzE6MH0sU2Y9bmV3IGEsWWg9bmV3IGEsJGg9bmV3IGEsc009bmV3IGE7YU09e3Bvc2l0aW9uOiEwLG5vcm1hbDohMCxiaXRhbmdlbnQ6ITAsdGFuZ2VudDohMCxzdDohMCxleHRydWRlRGlyZWN0aW9uOiEwLGFwcGx5T2Zmc2V0OiEwfTtlVD1vbi5mcm9tUG9pbnROb3JtYWwoYS5aRVJPLGEuVU5JVF9ZKSxmTT1uZXcgYSx1TT1uZXcgYTtaYj1uZXcgdHQsbE09bmV3IHR0LG5UPW5ldyBhLG9UPW5ldyBhLFpoPW5ldyBhLHBNPW5ldyBhLGRNPW5ldyBhLG1NPW5ldyBhLFFiPW5ldyBoZTtoTT01Kk0uRVBTSUxPTjkscXA9TS5FUFNJTE9ONjt2by5zcGxpdExvbmdpdHVkZT1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgRigiaW5zdGFuY2UgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5nZW9tZXRyeSxuPWUuYm91bmRpbmdTcGhlcmU7aWYoaChuKSYmKG4uY2VudGVyLngtbi5yYWRpdXM+MHx8QXQuaW50ZXJzZWN0UGxhbmUobixvbi5PUklHSU5fWlhfUExBTkUpIT09U24uSU5URVJTRUNUSU5HKSlyZXR1cm4gdDtpZihlLmdlb21ldHJ5VHlwZSE9PU1pLk5PTkUpc3dpdGNoKGUuZ2VvbWV0cnlUeXBlKXtjYXNlIE1pLlBPTFlMSU5FUzpfTSh0KTticmVhaztjYXNlIE1pLlRSSUFOR0xFUzpZYih0KTticmVhaztjYXNlIE1pLkxJTkVTOiRiKHQpO2JyZWFrfWVsc2UgZU0oZSksZS5wcmltaXRpdmVUeXBlPT09QnQuVFJJQU5HTEVTP1liKHQpOmUucHJpbWl0aXZlVHlwZT09PUJ0LkxJTkVTJiYkYih0KTtyZXR1cm4gdH07VmU9dm99KTtmdW5jdGlvbiBDZih0LGUsbil7dD14KHQsMCksZT14KGUsMCksbj14KG4sMCksdGhpcy52YWx1ZT1uZXcgRmxvYXQzMkFycmF5KFt0LGUsbl0pfXZhciByVCxpVD1aKCgpPT57WHQoKTtGZSgpO0l0KCk7ZnQoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhDZi5wcm90b3R5cGUse2NvbXBvbmVudERhdGF0eXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnQuRkxPQVR9fSxjb21wb25lbnRzUGVyQXR0cmlidXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gM319LG5vcm1hbGl6ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITF9fX0pO0NmLmZyb21DYXJ0ZXNpYW4zPWZ1bmN0aW9uKHQpe3JldHVybiB5LmRlZmluZWQoIm9mZnNldCIsdCksbmV3IENmKHQueCx0LnksdC56KX07Q2YudG9WYWx1ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoIm9mZnNldCIsdCksaChlKXx8KGU9bmV3IEZsb2F0MzJBcnJheShbdC54LHQueSx0LnpdKSksZVswXT10LngsZVsxXT10LnksZVsyXT10LnosZX07clQ9Q2Z9KTtmdW5jdGlvbiAkbyh0KXt0aGlzLl9lbGxpcHNvaWQ9eCh0LCQuV0dTODQpLHRoaXMuX3NlbWltYWpvckF4aXM9dGhpcy5fZWxsaXBzb2lkLm1heGltdW1SYWRpdXMsdGhpcy5fb25lT3ZlclNlbWltYWpvckF4aXM9MS90aGlzLl9zZW1pbWFqb3JBeGlzfXZhciBubyxpYz1aKCgpPT57RnQoKTtJZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7V3QoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcygkby5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19fSk7JG8ubWVyY2F0b3JBbmdsZVRvR2VvZGV0aWNMYXRpdHVkZT1mdW5jdGlvbih0KXtyZXR1cm4gTS5QSV9PVkVSX1RXTy0yKk1hdGguYXRhbihNYXRoLmV4cCgtdCkpfTskby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlPWZ1bmN0aW9uKHQpe3Q+JG8uTWF4aW11bUxhdGl0dWRlP3Q9JG8uTWF4aW11bUxhdGl0dWRlOnQ8LSRvLk1heGltdW1MYXRpdHVkZSYmKHQ9LSRvLk1heGltdW1MYXRpdHVkZSk7bGV0IGU9TWF0aC5zaW4odCk7cmV0dXJuIC41Kk1hdGgubG9nKCgxK2UpLygxLWUpKX07JG8uTWF4aW11bUxhdGl0dWRlPSRvLm1lcmNhdG9yQW5nbGVUb0dlb2RldGljTGF0aXR1ZGUoTWF0aC5QSSk7JG8ucHJvdG90eXBlLnByb2plY3Q9ZnVuY3Rpb24odCxlKXtsZXQgbj10aGlzLl9zZW1pbWFqb3JBeGlzLG89dC5sb25naXR1ZGUqbixyPSRvLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUodC5sYXRpdHVkZSkqbixpPXQuaGVpZ2h0O3JldHVybiBoKGUpPyhlLng9byxlLnk9cixlLno9aSxlKTpuZXcgYShvLHIsaSl9OyRvLnByb3RvdHlwZS51bnByb2plY3Q9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigiY2FydGVzaWFuIGlzIHJlcXVpcmVkIik7bGV0IG49dGhpcy5fb25lT3ZlclNlbWltYWpvckF4aXMsbz10LngqbixyPSRvLm1lcmNhdG9yQW5nbGVUb0dlb2RldGljTGF0aXR1ZGUodC55Km4pLGk9dC56O3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT1vLGUubGF0aXR1ZGU9cixlLmhlaWdodD1pLGUpOm5ldyBjdChvLHIsaSl9O25vPSRvfSk7ZnVuY3Rpb24geU0odCxlLG4pe2xldCBvPSFuLHI9dC5sZW5ndGgsaTtpZighbyYmcj4xKXtsZXQgcz10WzBdLm1vZGVsTWF0cml4O2ZvcihpPTE7aTxyOysraSlpZighc3QuZXF1YWxzKHMsdFtpXS5tb2RlbE1hdHJpeCkpe289ITA7YnJlYWt9fWlmKG8pZm9yKGk9MDtpPHI7KytpKWgodFtpXS5nZW9tZXRyeSkmJlZlLnRyYW5zZm9ybVRvV29ybGRDb29yZGluYXRlcyh0W2ldKTtlbHNlIHN0Lm11bHRpcGx5VHJhbnNmb3JtYXRpb24oZSx0WzBdLm1vZGVsTWF0cml4LGUpfWZ1bmN0aW9uIHQwKHQsZSl7bGV0IG49dC5hdHRyaWJ1dGVzLG89bi5wb3NpdGlvbixyPW8udmFsdWVzLmxlbmd0aC9vLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGU7bi5iYXRjaElkPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpuZXcgRmxvYXQzMkFycmF5KHIpfSk7bGV0IGk9bi5iYXRjaElkLnZhbHVlcztmb3IobGV0IHM9MDtzPHI7KytzKWlbc109ZX1mdW5jdGlvbiBnTSh0KXtsZXQgZT10Lmxlbmd0aDtmb3IobGV0IG49MDtuPGU7KytuKXtsZXQgbz10W25dO2goby5nZW9tZXRyeSk/dDAoby5nZW9tZXRyeSxuKTpoKG8ud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSkmJmgoby5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5KSYmKHQwKG8ud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSxuKSx0MChvLmVhc3RIZW1pc3BoZXJlR2VvbWV0cnksbikpfX1mdW5jdGlvbiBBTSh0KXtsZXQgZT10Lmluc3RhbmNlcyxuPXQucHJvamVjdGlvbixvPXQuZWxlbWVudEluZGV4VWludFN1cHBvcnRlZCxyPXQuc2NlbmUzRE9ubHksaT10LnZlcnRleENhY2hlT3B0aW1pemUscz10LmNvbXByZXNzVmVydGljZXMsZj10Lm1vZGVsTWF0cml4LHUsYyxsLHA9ZS5sZW5ndGg7Zm9yKHU9MDt1PHA7Kyt1KWlmKGgoZVt1XS5nZW9tZXRyeSkpe2w9ZVt1XS5nZW9tZXRyeS5wcmltaXRpdmVUeXBlO2JyZWFrfWZvcih1PTE7dTxwOysrdSlpZihoKGVbdV0uZ2VvbWV0cnkpJiZlW3VdLmdlb21ldHJ5LnByaW1pdGl2ZVR5cGUhPT1sKXRocm93IG5ldyBGKCJBbGwgaW5zdGFuY2UgZ2VvbWV0cmllcyBtdXN0IGhhdmUgdGhlIHNhbWUgcHJpbWl0aXZlVHlwZS4iKTtpZih5TShlLGYsciksIXIpZm9yKHU9MDt1PHA7Kyt1KWgoZVt1XS5nZW9tZXRyeSkmJlZlLnNwbGl0TG9uZ2l0dWRlKGVbdV0pO2lmKGdNKGUpLGkpZm9yKHU9MDt1PHA7Kyt1KXtsZXQgbT1lW3VdO2gobS5nZW9tZXRyeSk/KFZlLnJlb3JkZXJGb3JQb3N0VmVydGV4Q2FjaGUobS5nZW9tZXRyeSksVmUucmVvcmRlckZvclByZVZlcnRleENhY2hlKG0uZ2VvbWV0cnkpKTpoKG0ud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSkmJmgobS5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5KSYmKFZlLnJlb3JkZXJGb3JQb3N0VmVydGV4Q2FjaGUobS53ZXN0SGVtaXNwaGVyZUdlb21ldHJ5KSxWZS5yZW9yZGVyRm9yUHJlVmVydGV4Q2FjaGUobS53ZXN0SGVtaXNwaGVyZUdlb21ldHJ5KSxWZS5yZW9yZGVyRm9yUG9zdFZlcnRleENhY2hlKG0uZWFzdEhlbWlzcGhlcmVHZW9tZXRyeSksVmUucmVvcmRlckZvclByZVZlcnRleENhY2hlKG0uZWFzdEhlbWlzcGhlcmVHZW9tZXRyeSkpfWxldCBkPVZlLmNvbWJpbmVJbnN0YW5jZXMoZSk7Zm9yKHA9ZC5sZW5ndGgsdT0wO3U8cDsrK3Upe2M9ZFt1XTtsZXQgbT1jLmF0dHJpYnV0ZXM7aWYocilmb3IobGV0IF8gaW4gbSltLmhhc093blByb3BlcnR5KF8pJiZtW19dLmNvbXBvbmVudERhdGF0eXBlPT09bnQuRE9VQkxFJiZWZS5lbmNvZGVBdHRyaWJ1dGUoYyxfLGAke199M0RIaWdoYCxgJHtffTNETG93YCk7ZWxzZSBmb3IobGV0IF8gaW4gbSlpZihtLmhhc093blByb3BlcnR5KF8pJiZtW19dLmNvbXBvbmVudERhdGF0eXBlPT09bnQuRE9VQkxFKXtsZXQgZz1gJHtffTNEYCxiPWAke199MkRgO1ZlLnByb2plY3RUbzJEKGMsXyxnLGIsbiksaChjLmJvdW5kaW5nU3BoZXJlKSYmXz09PSJwb3NpdGlvbiImJihjLmJvdW5kaW5nU3BoZXJlQ1Y9QXQuZnJvbVZlcnRpY2VzKGMuYXR0cmlidXRlcy5wb3NpdGlvbjJELnZhbHVlcykpLFZlLmVuY29kZUF0dHJpYnV0ZShjLGcsYCR7Z31IaWdoYCxgJHtnfUxvd2ApLFZlLmVuY29kZUF0dHJpYnV0ZShjLGIsYCR7Yn1IaWdoYCxgJHtifUxvd2ApfXMmJlZlLmNvbXByZXNzVmVydGljZXMoYyl9aWYoIW8pe2xldCBtPVtdO2ZvcihwPWQubGVuZ3RoLHU9MDt1PHA7Kyt1KWM9ZFt1XSxtPW0uY29uY2F0KFZlLmZpdFRvVW5zaWduZWRTaG9ydEluZGljZXMoYykpO2Q9bX1yZXR1cm4gZH1mdW5jdGlvbiBlMCh0LGUsbixvKXtsZXQgcixpLHMsZj1vLmxlbmd0aC0xO2lmKGY+PTApe2xldCBjPW9bZl07cj1jLm9mZnNldCtjLmNvdW50LHM9Yy5pbmRleCxpPW5bc10uaW5kaWNlcy5sZW5ndGh9ZWxzZSByPTAscz0wLGk9bltzXS5pbmRpY2VzLmxlbmd0aDtsZXQgdT10Lmxlbmd0aDtmb3IobGV0IGM9MDtjPHU7KytjKXtsZXQgcD10W2NdW2VdO2lmKCFoKHApKWNvbnRpbnVlO2xldCBkPXAuaW5kaWNlcy5sZW5ndGg7citkPmkmJihyPTAsaT1uWysrc10uaW5kaWNlcy5sZW5ndGgpLG8ucHVzaCh7aW5kZXg6cyxvZmZzZXQ6cixjb3VudDpkfSkscis9ZH19ZnVuY3Rpb24gYk0odCxlKXtsZXQgbj1bXTtyZXR1cm4gZTAodCwiZ2VvbWV0cnkiLGUsbiksZTAodCwid2VzdEhlbWlzcGhlcmVHZW9tZXRyeSIsZSxuKSxlMCh0LCJlYXN0SGVtaXNwaGVyZUdlb21ldHJ5IixlLG4pLG59ZnVuY3Rpb24gVE0odCxlKXtsZXQgbj10LmF0dHJpYnV0ZXM7Zm9yKGxldCBvIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShvKSl7bGV0IHI9bltvXTtoKHIpJiZoKHIudmFsdWVzKSYmZS5wdXNoKHIudmFsdWVzLmJ1ZmZlcil9aCh0LmluZGljZXMpJiZlLnB1c2godC5pbmRpY2VzLmJ1ZmZlcil9ZnVuY3Rpb24gd00odCxlKXtsZXQgbj10Lmxlbmd0aDtmb3IobGV0IG89MDtvPG47KytvKVRNKHRbb10sZSl9ZnVuY3Rpb24gT00odCl7bGV0IGU9MSxuPXQubGVuZ3RoO2ZvcihsZXQgbz0wO288bjtvKyspe2xldCByPXRbb107aWYoKytlLCFoKHIpKWNvbnRpbnVlO2xldCBpPXIuYXR0cmlidXRlcztlKz03KzIqQXQucGFja2VkTGVuZ3RoKyhoKHIuaW5kaWNlcyk/ci5pbmRpY2VzLmxlbmd0aDowKTtmb3IobGV0IHMgaW4gaSlpZihpLmhhc093blByb3BlcnR5KHMpJiZoKGlbc10pKXtsZXQgZj1pW3NdO2UrPTUrZi52YWx1ZXMubGVuZ3RofX1yZXR1cm4gZX1mdW5jdGlvbiBFTSh0LGUpe2xldCBuPXQubGVuZ3RoLG89bmV3IEZsb2F0NjRBcnJheSgxK24qMTkpLHI9MDtvW3IrK109bjtmb3IobGV0IGk9MDtpPG47aSsrKXtsZXQgcz10W2ldO2lmKHN0LnBhY2socy5tb2RlbE1hdHJpeCxvLHIpLHIrPXN0LnBhY2tlZExlbmd0aCxoKHMuYXR0cmlidXRlcykmJmgocy5hdHRyaWJ1dGVzLm9mZnNldCkpe2xldCBmPXMuYXR0cmlidXRlcy5vZmZzZXQudmFsdWU7b1tyXT1mWzBdLG9bcisxXT1mWzFdLG9bcisyXT1mWzJdfXIrPTN9cmV0dXJuIGUucHVzaChvLmJ1ZmZlciksb31mdW5jdGlvbiBSTSh0KXtsZXQgZT10LG49bmV3IEFycmF5KGVbMF0pLG89MCxyPTE7Zm9yKDtyPGUubGVuZ3RoOyl7bGV0IGk9c3QudW5wYWNrKGUscikscztyKz1zdC5wYWNrZWRMZW5ndGgsaChlW3JdKSYmKHM9e29mZnNldDpuZXcgclQoZVtyXSxlW3IrMV0sZVtyKzJdKX0pLHIrPTMsbltvKytdPXttb2RlbE1hdHJpeDppLGF0dHJpYnV0ZXM6c319cmV0dXJuIG59ZnVuY3Rpb24gc1QodCl7bGV0IGU9dC5sZW5ndGgsbj0xKyhBdC5wYWNrZWRMZW5ndGgrMSkqZSxvPW5ldyBGbG9hdDMyQXJyYXkobikscj0wO29bcisrXT1lO2ZvcihsZXQgaT0wO2k8ZTsrK2kpe2xldCBzPXRbaV07aChzKT8ob1tyKytdPTEsQXQucGFjayh0W2ldLG8scikpOm9bcisrXT0wLHIrPUF0LnBhY2tlZExlbmd0aH1yZXR1cm4gb31mdW5jdGlvbiBjVCh0KXtsZXQgZT1uZXcgQXJyYXkodFswXSksbj0wLG89MTtmb3IoO288dC5sZW5ndGg7KXRbbysrXT09PTEmJihlW25dPUF0LnVucGFjayh0LG8pKSwrK24sbys9QXQucGFja2VkTGVuZ3RoO3JldHVybiBlfXZhciBJaSxjYSxuMD1aKCgpPT57dmUoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7U2koKTtYZSgpO1llKCk7YW4oKTtzaSgpOyRlKCk7VW4oKTtpVCgpO2ljKCk7SWk9e307SWkuY29tYmluZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlLG4sbz10Lmluc3RhbmNlcyxyPW8ubGVuZ3RoLGkscyxmPSExO3I+MCYmKGU9QU0odCksZS5sZW5ndGg+MCYmKG49VmUuY3JlYXRlQXR0cmlidXRlTG9jYXRpb25zKGVbMF0pLHQuY3JlYXRlUGlja09mZnNldHMmJihpPWJNKG8sZSkpKSxoKG9bMF0uYXR0cmlidXRlcykmJmgob1swXS5hdHRyaWJ1dGVzLm9mZnNldCkmJihzPW5ldyBBcnJheShyKSxmPSEwKSk7bGV0IHU9bmV3IEFycmF5KHIpLGM9bmV3IEFycmF5KHIpO2ZvcihsZXQgbD0wO2w8cjsrK2wpe2xldCBwPW9bbF0sZD1wLmdlb21ldHJ5O2goZCkmJih1W2xdPWQuYm91bmRpbmdTcGhlcmUsY1tsXT1kLmJvdW5kaW5nU3BoZXJlQ1YsZiYmKHNbbF09cC5nZW9tZXRyeS5vZmZzZXRBdHRyaWJ1dGUpKTtsZXQgbT1wLmVhc3RIZW1pc3BoZXJlR2VvbWV0cnksXz1wLndlc3RIZW1pc3BoZXJlR2VvbWV0cnk7aChtKSYmaChfKSYmKGgobS5ib3VuZGluZ1NwaGVyZSkmJmgoXy5ib3VuZGluZ1NwaGVyZSkmJih1W2xdPUF0LnVuaW9uKG0uYm91bmRpbmdTcGhlcmUsXy5ib3VuZGluZ1NwaGVyZSkpLGgobS5ib3VuZGluZ1NwaGVyZUNWKSYmaChfLmJvdW5kaW5nU3BoZXJlQ1YpJiYoY1tsXT1BdC51bmlvbihtLmJvdW5kaW5nU3BoZXJlQ1YsXy5ib3VuZGluZ1NwaGVyZUNWKSkpfXJldHVybntnZW9tZXRyaWVzOmUsbW9kZWxNYXRyaXg6dC5tb2RlbE1hdHJpeCxhdHRyaWJ1dGVMb2NhdGlvbnM6bixwaWNrT2Zmc2V0czppLG9mZnNldEluc3RhbmNlRXh0ZW5kOnMsYm91bmRpbmdTcGhlcmVzOnUsYm91bmRpbmdTcGhlcmVzQ1Y6Y319O0lpLnBhY2tDcmVhdGVHZW9tZXRyeVJlc3VsdHM9ZnVuY3Rpb24odCxlKXtsZXQgbj1uZXcgRmxvYXQ2NEFycmF5KE9NKHQpKSxvPVtdLHI9e30saT10Lmxlbmd0aCxzPTA7bltzKytdPWk7Zm9yKGxldCBmPTA7ZjxpO2YrKyl7bGV0IHU9dFtmXSxjPWgodSk7aWYobltzKytdPWM/MTowLCFjKWNvbnRpbnVlO25bcysrXT11LnByaW1pdGl2ZVR5cGUsbltzKytdPXUuZ2VvbWV0cnlUeXBlLG5bcysrXT14KHUub2Zmc2V0QXR0cmlidXRlLC0xKTtsZXQgbD1oKHUuYm91bmRpbmdTcGhlcmUpPzE6MDtuW3MrK109bCxsJiZBdC5wYWNrKHUuYm91bmRpbmdTcGhlcmUsbixzKSxzKz1BdC5wYWNrZWRMZW5ndGg7bGV0IHA9aCh1LmJvdW5kaW5nU3BoZXJlQ1YpPzE6MDtuW3MrK109cCxwJiZBdC5wYWNrKHUuYm91bmRpbmdTcGhlcmVDVixuLHMpLHMrPUF0LnBhY2tlZExlbmd0aDtsZXQgZD11LmF0dHJpYnV0ZXMsbT1bXTtmb3IobGV0IGcgaW4gZClkLmhhc093blByb3BlcnR5KGcpJiZoKGRbZ10pJiYobS5wdXNoKGcpLGgocltnXSl8fChyW2ddPW8ubGVuZ3RoLG8ucHVzaChnKSkpO25bcysrXT1tLmxlbmd0aDtmb3IobGV0IGc9MDtnPG0ubGVuZ3RoO2crKyl7bGV0IGI9bVtnXSxUPWRbYl07bltzKytdPXJbYl0sbltzKytdPVQuY29tcG9uZW50RGF0YXR5cGUsbltzKytdPVQuY29tcG9uZW50c1BlckF0dHJpYnV0ZSxuW3MrK109VC5ub3JtYWxpemU/MTowLG5bcysrXT1ULnZhbHVlcy5sZW5ndGgsbi5zZXQoVC52YWx1ZXMscykscys9VC52YWx1ZXMubGVuZ3RofWxldCBfPWgodS5pbmRpY2VzKT91LmluZGljZXMubGVuZ3RoOjA7bltzKytdPV8sXz4wJiYobi5zZXQodS5pbmRpY2VzLHMpLHMrPV8pfXJldHVybiBlLnB1c2gobi5idWZmZXIpLHtzdHJpbmdUYWJsZTpvLHBhY2tlZERhdGE6bn19O0lpLnVucGFja0NyZWF0ZUdlb21ldHJ5UmVzdWx0cz1mdW5jdGlvbih0KXtsZXQgZT10LnN0cmluZ1RhYmxlLG49dC5wYWNrZWREYXRhLG8scj1uZXcgQXJyYXkoblswXSksaT0wLHM9MTtmb3IoO3M8bi5sZW5ndGg7KXtpZighKG5bcysrXT09PTEpKXtyW2krK109dm9pZCAwO2NvbnRpbnVlfWxldCB1PW5bcysrXSxjPW5bcysrXSxsPW5bcysrXTtsPT09LTEmJihsPXZvaWQgMCk7bGV0IHAsZDtuW3MrK109PT0xJiYocD1BdC51bnBhY2sobixzKSkscys9QXQucGFja2VkTGVuZ3RoLG5bcysrXT09PTEmJihkPUF0LnVucGFjayhuLHMpKSxzKz1BdC5wYWNrZWRMZW5ndGg7bGV0IGcsYixULE89bmV3IGllLEU9bltzKytdO2ZvcihvPTA7bzxFO28rKyl7bGV0IEM9ZVtuW3MrK11dLE49bltzKytdO1Q9bltzKytdO2xldCBJPW5bcysrXSE9PTA7Zz1uW3MrK10sYj1udC5jcmVhdGVUeXBlZEFycmF5KE4sZyk7Zm9yKGxldCBEPTA7RDxnO0QrKyliW0RdPW5bcysrXTtPW0NdPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6Tixjb21wb25lbnRzUGVyQXR0cmlidXRlOlQsbm9ybWFsaXplOkksdmFsdWVzOmJ9KX1sZXQgdztpZihnPW5bcysrXSxnPjApe2xldCBDPWIubGVuZ3RoL1Q7Zm9yKHc9RHQuY3JlYXRlVHlwZWRBcnJheShDLGcpLG89MDtvPGc7bysrKXdbb109bltzKytdfXJbaSsrXT1uZXcgVXQoe3ByaW1pdGl2ZVR5cGU6dSxnZW9tZXRyeVR5cGU6Yyxib3VuZGluZ1NwaGVyZTpwLGJvdW5kaW5nU3BoZXJlQ1Y6ZCxpbmRpY2VzOncsYXR0cmlidXRlczpPLG9mZnNldEF0dHJpYnV0ZTpsfSl9cmV0dXJuIHJ9O0lpLnBhY2tDb21iaW5lR2VvbWV0cnlQYXJhbWV0ZXJzPWZ1bmN0aW9uKHQsZSl7bGV0IG49dC5jcmVhdGVHZW9tZXRyeVJlc3VsdHMsbz1uLmxlbmd0aDtmb3IobGV0IHI9MDtyPG87cisrKWUucHVzaChuW3JdLnBhY2tlZERhdGEuYnVmZmVyKTtyZXR1cm57Y3JlYXRlR2VvbWV0cnlSZXN1bHRzOnQuY3JlYXRlR2VvbWV0cnlSZXN1bHRzLHBhY2tlZEluc3RhbmNlczpFTSh0Lmluc3RhbmNlcyxlKSxlbGxpcHNvaWQ6dC5lbGxpcHNvaWQsaXNHZW9ncmFwaGljOnQucHJvamVjdGlvbiBpbnN0YW5jZW9mIEpuLGVsZW1lbnRJbmRleFVpbnRTdXBwb3J0ZWQ6dC5lbGVtZW50SW5kZXhVaW50U3VwcG9ydGVkLHNjZW5lM0RPbmx5OnQuc2NlbmUzRE9ubHksdmVydGV4Q2FjaGVPcHRpbWl6ZTp0LnZlcnRleENhY2hlT3B0aW1pemUsY29tcHJlc3NWZXJ0aWNlczp0LmNvbXByZXNzVmVydGljZXMsbW9kZWxNYXRyaXg6dC5tb2RlbE1hdHJpeCxjcmVhdGVQaWNrT2Zmc2V0czp0LmNyZWF0ZVBpY2tPZmZzZXRzfX07SWkudW5wYWNrQ29tYmluZUdlb21ldHJ5UGFyYW1ldGVycz1mdW5jdGlvbih0KXtsZXQgZT1STSh0LnBhY2tlZEluc3RhbmNlcyksbj10LmNyZWF0ZUdlb21ldHJ5UmVzdWx0cyxvPW4ubGVuZ3RoLHI9MDtmb3IobGV0IGY9MDtmPG87ZisrKXtsZXQgdT1JaS51bnBhY2tDcmVhdGVHZW9tZXRyeVJlc3VsdHMobltmXSksYz11Lmxlbmd0aDtmb3IobGV0IGw9MDtsPGM7bCsrKXtsZXQgcD11W2xdLGQ9ZVtyXTtkLmdlb21ldHJ5PXAsKytyfX1sZXQgaT0kLmNsb25lKHQuZWxsaXBzb2lkKSxzPXQuaXNHZW9ncmFwaGljP25ldyBKbihpKTpuZXcgbm8oaSk7cmV0dXJue2luc3RhbmNlczplLGVsbGlwc29pZDppLHByb2plY3Rpb246cyxlbGVtZW50SW5kZXhVaW50U3VwcG9ydGVkOnQuZWxlbWVudEluZGV4VWludFN1cHBvcnRlZCxzY2VuZTNET25seTp0LnNjZW5lM0RPbmx5LHZlcnRleENhY2hlT3B0aW1pemU6dC52ZXJ0ZXhDYWNoZU9wdGltaXplLGNvbXByZXNzVmVydGljZXM6dC5jb21wcmVzc1ZlcnRpY2VzLG1vZGVsTWF0cml4OnN0LmNsb25lKHQubW9kZWxNYXRyaXgpLGNyZWF0ZVBpY2tPZmZzZXRzOnQuY3JlYXRlUGlja09mZnNldHN9fTtJaS5wYWNrQ29tYmluZUdlb21ldHJ5UmVzdWx0cz1mdW5jdGlvbih0LGUpe2godC5nZW9tZXRyaWVzKSYmd00odC5nZW9tZXRyaWVzLGUpO2xldCBuPXNUKHQuYm91bmRpbmdTcGhlcmVzKSxvPXNUKHQuYm91bmRpbmdTcGhlcmVzQ1YpO3JldHVybiBlLnB1c2gobi5idWZmZXIsby5idWZmZXIpLHtnZW9tZXRyaWVzOnQuZ2VvbWV0cmllcyxhdHRyaWJ1dGVMb2NhdGlvbnM6dC5hdHRyaWJ1dGVMb2NhdGlvbnMsbW9kZWxNYXRyaXg6dC5tb2RlbE1hdHJpeCxwaWNrT2Zmc2V0czp0LnBpY2tPZmZzZXRzLG9mZnNldEluc3RhbmNlRXh0ZW5kOnQub2Zmc2V0SW5zdGFuY2VFeHRlbmQsYm91bmRpbmdTcGhlcmVzOm4sYm91bmRpbmdTcGhlcmVzQ1Y6b319O0lpLnVucGFja0NvbWJpbmVHZW9tZXRyeVJlc3VsdHM9ZnVuY3Rpb24odCl7cmV0dXJue2dlb21ldHJpZXM6dC5nZW9tZXRyaWVzLGF0dHJpYnV0ZUxvY2F0aW9uczp0LmF0dHJpYnV0ZUxvY2F0aW9ucyxtb2RlbE1hdHJpeDp0Lm1vZGVsTWF0cml4LHBpY2tPZmZzZXRzOnQucGlja09mZnNldHMsb2Zmc2V0SW5zdGFuY2VFeHRlbmQ6dC5vZmZzZXRJbnN0YW5jZUV4dGVuZCxib3VuZGluZ1NwaGVyZXM6Y1QodC5ib3VuZGluZ1NwaGVyZXMpLGJvdW5kaW5nU3BoZXJlc0NWOmNUKHQuYm91bmRpbmdTcGhlcmVzQ1YpfX07Y2E9SWl9KTtmdW5jdGlvbiBTTSh0KXtsZXQgZSxuPXQubmFtZSxvPXQubWVzc2FnZTtoKG4pJiZoKG8pP2U9YCR7bn06ICR7b31gOmU9dC50b1N0cmluZygpO2xldCByPXQuc3RhY2s7cmV0dXJuIGgocikmJihlKz1gCiR7cn1gKSxlfXZhciBhVCxmVD1aKCgpPT57ZnQoKTthVD1TTX0pO3ZhciBvMD17fTtkZShvMCx7ZGVmYXVsdDooKT0+UWV9KTtmdW5jdGlvbiBDTSh0KXthc3luYyBmdW5jdGlvbiBlKHtkYXRhOm99KXtsZXQgcj1bXSxpPXtpZDpvLmlkLHJlc3VsdDp2b2lkIDAsZXJyb3I6dm9pZCAwfTtzZWxmLkNFU0lVTV9CQVNFX1VSTD1vLmJhc2VVcmw7dHJ5e2xldCBzPWF3YWl0IHQoby5wYXJhbWV0ZXJzLHIpO2kucmVzdWx0PXN9Y2F0Y2gocyl7cyBpbnN0YW5jZW9mIEVycm9yP2kuZXJyb3I9e25hbWU6cy5uYW1lLG1lc3NhZ2U6cy5tZXNzYWdlLHN0YWNrOnMuc3RhY2t9OmkuZXJyb3I9c31vLmNhblRyYW5zZmVyQXJyYXlCdWZmZXJ8fChyLmxlbmd0aD0wKTt0cnl7cG9zdE1lc3NhZ2UoaSxyKX1jYXRjaChzKXtpLnJlc3VsdD12b2lkIDAsaS5lcnJvcj1gcG9zdE1lc3NhZ2UgZmFpbGVkIHdpdGggZXJyb3I6ICR7YVQocyl9CiAgd2l0aCByZXNwb25zZU1lc3NhZ2U6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCxwb3N0TWVzc2FnZShpKX19ZnVuY3Rpb24gbihvKXtwb3N0TWVzc2FnZSh7aWQ6by5kYXRhPy5pZCxlcnJvcjpgcG9zdE1lc3NhZ2UgZmFpbGVkIHdpdGggZXJyb3I6ICR7SlNPTi5zdHJpbmdpZnkobyl9YH0pfXJldHVybiBzZWxmLm9ubWVzc2FnZT1lLHNlbGYub25tZXNzYWdlZXJyb3I9bixzZWxmfXZhciBRZSxzbz1aKCgpPT57ZlQoKTtRZT1DTX0pO3ZhciByMD17fTtkZShyMCx7ZGVmYXVsdDooKT0+UE19KTtmdW5jdGlvbiB4TSh0LGUpe2xldCBuPWNhLnVucGFja0NvbWJpbmVHZW9tZXRyeVBhcmFtZXRlcnModCksbz1jYS5jb21iaW5lR2VvbWV0cnkobik7cmV0dXJuIGNhLnBhY2tDb21iaW5lR2VvbWV0cnlSZXN1bHRzKG8sZSl9dmFyIFBNLGkwPVooKCk9PntuMCgpO3NvKCk7UE09UWUoeE0pfSk7dmFyIE1NLGZlLExvPVooKCk9PntNTT17Tk9ORTowLFRPUDoxLEFMTDoyfSxmZT1PYmplY3QuZnJlZXplKE1NKX0pO2Z1bmN0aW9uIEduKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx0aGlzLnBvc2l0aW9uPXgodC5wb3NpdGlvbiwhMSksdGhpcy5ub3JtYWw9eCh0Lm5vcm1hbCwhMSksdGhpcy5zdD14KHQuc3QsITEpLHRoaXMuYml0YW5nZW50PXgodC5iaXRhbmdlbnQsITEpLHRoaXMudGFuZ2VudD14KHQudGFuZ2VudCwhMSksdGhpcy5jb2xvcj14KHQuY29sb3IsITEpfXZhciBkdCxSbz1aKCgpPT57SXQoKTtmdCgpO0h0KCk7R24uUE9TSVRJT05fT05MWT1PYmplY3QuZnJlZXplKG5ldyBHbih7cG9zaXRpb246ITB9KSk7R24uUE9TSVRJT05fQU5EX05PUk1BTD1PYmplY3QuZnJlZXplKG5ldyBHbih7cG9zaXRpb246ITAsbm9ybWFsOiEwfSkpO0duLlBPU0lUSU9OX05PUk1BTF9BTkRfU1Q9T2JqZWN0LmZyZWV6ZShuZXcgR24oe3Bvc2l0aW9uOiEwLG5vcm1hbDohMCxzdDohMH0pKTtHbi5QT1NJVElPTl9BTkRfU1Q9T2JqZWN0LmZyZWV6ZShuZXcgR24oe3Bvc2l0aW9uOiEwLHN0OiEwfSkpO0duLlBPU0lUSU9OX0FORF9DT0xPUj1PYmplY3QuZnJlZXplKG5ldyBHbih7cG9zaXRpb246ITAsY29sb3I6ITB9KSk7R24uQUxMPU9iamVjdC5mcmVlemUobmV3IEduKHtwb3NpdGlvbjohMCxub3JtYWw6ITAsc3Q6ITAsdGFuZ2VudDohMCxiaXRhbmdlbnQ6ITB9KSk7R24uREVGQVVMVD1Hbi5QT1NJVElPTl9OT1JNQUxfQU5EX1NUO0duLnBhY2tlZExlbmd0aD02O0duLnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJ2YWx1ZSBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO3JldHVybiBuPXgobiwwKSxlW24rK109dC5wb3NpdGlvbj8xOjAsZVtuKytdPXQubm9ybWFsPzE6MCxlW24rK109dC5zdD8xOjAsZVtuKytdPXQudGFuZ2VudD8xOjAsZVtuKytdPXQuYml0YW5nZW50PzE6MCxlW25dPXQuY29sb3I/MTowLGV9O0duLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7cmV0dXJuIGU9eChlLDApLGgobil8fChuPW5ldyBHbiksbi5wb3NpdGlvbj10W2UrK109PT0xLG4ubm9ybWFsPXRbZSsrXT09PTEsbi5zdD10W2UrK109PT0xLG4udGFuZ2VudD10W2UrK109PT0xLG4uYml0YW5nZW50PXRbZSsrXT09PTEsbi5jb2xvcj10W2VdPT09MSxufTtHbi5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSl8fChlPW5ldyBHbiksZS5wb3NpdGlvbj10LnBvc2l0aW9uLGUubm9ybWFsPXQubm9ybWFsLGUuc3Q9dC5zdCxlLnRhbmdlbnQ9dC50YW5nZW50LGUuYml0YW5nZW50PXQuYml0YW5nZW50LGUuY29sb3I9dC5jb2xvcixlfTtkdD1Hbn0pO2Z1bmN0aW9uIHJyKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10Lm1pbmltdW0sbj10Lm1heGltdW07aWYoeS50eXBlT2Yub2JqZWN0KCJtaW4iLGUpLHkudHlwZU9mLm9iamVjdCgibWF4IixuKSxoKHQub2Zmc2V0QXR0cmlidXRlKSYmdC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApdGhyb3cgbmV3IEYoIkdlb21ldHJ5T2Zmc2V0QXR0cmlidXRlLlRPUCBpcyBub3QgYSBzdXBwb3J0ZWQgb3B0aW9ucy5vZmZzZXRBdHRyaWJ1dGUgZm9yIHRoaXMgZ2VvbWV0cnkuIik7bGV0IG89eCh0LnZlcnRleEZvcm1hdCxkdC5ERUZBVUxUKTt0aGlzLl9taW5pbXVtPWEuY2xvbmUoZSksdGhpcy5fbWF4aW11bT1hLmNsb25lKG4pLHRoaXMuX3ZlcnRleEZvcm1hdD1vLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVCb3hHZW9tZXRyeSJ9dmFyIE5NLGxULHBULGRULHVULHMwLHhmLGMwPVooKCk9Pnt2ZSgpO0Z0KCk7WHQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1hlKCk7WWUoKTthbigpO0xvKCk7dG4oKTtSbygpO05NPW5ldyBhO3JyLmZyb21EaW1lbnNpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LmRpbWVuc2lvbnM7eS50eXBlT2Yub2JqZWN0KCJkaW1lbnNpb25zIixlKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiZGltZW5zaW9ucy54IixlLngsMCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImRpbWVuc2lvbnMueSIsZS55LDApLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJkaW1lbnNpb25zLnoiLGUueiwwKTtsZXQgbj1hLm11bHRpcGx5QnlTY2FsYXIoZSwuNSxuZXcgYSk7cmV0dXJuIG5ldyBycih7bWluaW11bTphLm5lZ2F0ZShuLG5ldyBhKSxtYXhpbXVtOm4sdmVydGV4Rm9ybWF0OnQudmVydGV4Rm9ybWF0LG9mZnNldEF0dHJpYnV0ZTp0Lm9mZnNldEF0dHJpYnV0ZX0pfTtyci5mcm9tQXhpc0FsaWduZWRCb3VuZGluZ0JveD1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJib3VuZGluZ0JveCIsdCksbmV3IHJyKHttaW5pbXVtOnQubWluaW11bSxtYXhpbXVtOnQubWF4aW11bX0pfTtyci5wYWNrZWRMZW5ndGg9MiphLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrMTtyci5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksYS5wYWNrKHQuX21pbmltdW0sZSxuKSxhLnBhY2sodC5fbWF4aW11bSxlLG4rYS5wYWNrZWRMZW5ndGgpLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbisyKmEucGFja2VkTGVuZ3RoKSxlW24rMiphLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGhdPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtsVD1uZXcgYSxwVD1uZXcgYSxkVD1uZXcgZHQsdVQ9e21pbmltdW06bFQsbWF4aW11bTpwVCx2ZXJ0ZXhGb3JtYXQ6ZFQsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07cnIudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz1hLnVucGFjayh0LGUsbFQpLHI9YS51bnBhY2sodCxlK2EucGFja2VkTGVuZ3RoLHBUKSxpPWR0LnVucGFjayh0LGUrMiphLnBhY2tlZExlbmd0aCxkVCkscz10W2UrMiphLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGhdO3JldHVybiBoKG4pPyhuLl9taW5pbXVtPWEuY2xvbmUobyxuLl9taW5pbXVtKSxuLl9tYXhpbXVtPWEuY2xvbmUocixuLl9tYXhpbXVtKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoaSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX29mZnNldEF0dHJpYnV0ZT1zPT09LTE/dm9pZCAwOnMsbik6KHVULm9mZnNldEF0dHJpYnV0ZT1zPT09LTE/dm9pZCAwOnMsbmV3IHJyKHVUKSl9O3JyLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX21pbmltdW0sbj10Ll9tYXhpbXVtLG89dC5fdmVydGV4Rm9ybWF0O2lmKGEuZXF1YWxzKGUsbikpcmV0dXJuO2xldCByPW5ldyBpZSxpLHM7aWYoby5wb3NpdGlvbiYmKG8uc3R8fG8ubm9ybWFsfHxvLnRhbmdlbnR8fG8uYml0YW5nZW50KSl7aWYoby5wb3NpdGlvbiYmKHM9bmV3IEZsb2F0NjRBcnJheSg2KjQqMyksc1swXT1lLngsc1sxXT1lLnksc1syXT1uLnosc1szXT1uLngsc1s0XT1lLnksc1s1XT1uLnosc1s2XT1uLngsc1s3XT1uLnksc1s4XT1uLnosc1s5XT1lLngsc1sxMF09bi55LHNbMTFdPW4ueixzWzEyXT1lLngsc1sxM109ZS55LHNbMTRdPWUueixzWzE1XT1uLngsc1sxNl09ZS55LHNbMTddPWUueixzWzE4XT1uLngsc1sxOV09bi55LHNbMjBdPWUueixzWzIxXT1lLngsc1syMl09bi55LHNbMjNdPWUueixzWzI0XT1uLngsc1syNV09ZS55LHNbMjZdPWUueixzWzI3XT1uLngsc1syOF09bi55LHNbMjldPWUueixzWzMwXT1uLngsc1szMV09bi55LHNbMzJdPW4ueixzWzMzXT1uLngsc1szNF09ZS55LHNbMzVdPW4ueixzWzM2XT1lLngsc1szN109ZS55LHNbMzhdPWUueixzWzM5XT1lLngsc1s0MF09bi55LHNbNDFdPWUueixzWzQyXT1lLngsc1s0M109bi55LHNbNDRdPW4ueixzWzQ1XT1lLngsc1s0Nl09ZS55LHNbNDddPW4ueixzWzQ4XT1lLngsc1s0OV09bi55LHNbNTBdPWUueixzWzUxXT1uLngsc1s1Ml09bi55LHNbNTNdPWUueixzWzU0XT1uLngsc1s1NV09bi55LHNbNTZdPW4ueixzWzU3XT1lLngsc1s1OF09bi55LHNbNTldPW4ueixzWzYwXT1lLngsc1s2MV09ZS55LHNbNjJdPWUueixzWzYzXT1uLngsc1s2NF09ZS55LHNbNjVdPWUueixzWzY2XT1uLngsc1s2N109ZS55LHNbNjhdPW4ueixzWzY5XT1lLngsc1s3MF09ZS55LHNbNzFdPW4ueixyLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6c30pKSxvLm5vcm1hbCl7bGV0IGM9bmV3IEZsb2F0MzJBcnJheSg3Mik7Y1swXT0wLGNbMV09MCxjWzJdPTEsY1szXT0wLGNbNF09MCxjWzVdPTEsY1s2XT0wLGNbN109MCxjWzhdPTEsY1s5XT0wLGNbMTBdPTAsY1sxMV09MSxjWzEyXT0wLGNbMTNdPTAsY1sxNF09LTEsY1sxNV09MCxjWzE2XT0wLGNbMTddPS0xLGNbMThdPTAsY1sxOV09MCxjWzIwXT0tMSxjWzIxXT0wLGNbMjJdPTAsY1syM109LTEsY1syNF09MSxjWzI1XT0wLGNbMjZdPTAsY1syN109MSxjWzI4XT0wLGNbMjldPTAsY1szMF09MSxjWzMxXT0wLGNbMzJdPTAsY1szM109MSxjWzM0XT0wLGNbMzVdPTAsY1szNl09LTEsY1szN109MCxjWzM4XT0wLGNbMzldPS0xLGNbNDBdPTAsY1s0MV09MCxjWzQyXT0tMSxjWzQzXT0wLGNbNDRdPTAsY1s0NV09LTEsY1s0Nl09MCxjWzQ3XT0wLGNbNDhdPTAsY1s0OV09MSxjWzUwXT0wLGNbNTFdPTAsY1s1Ml09MSxjWzUzXT0wLGNbNTRdPTAsY1s1NV09MSxjWzU2XT0wLGNbNTddPTAsY1s1OF09MSxjWzU5XT0wLGNbNjBdPTAsY1s2MV09LTEsY1s2Ml09MCxjWzYzXT0wLGNbNjRdPS0xLGNbNjVdPTAsY1s2Nl09MCxjWzY3XT0tMSxjWzY4XT0wLGNbNjldPTAsY1s3MF09LTEsY1s3MV09MCxyLm5vcm1hbD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Y30pfWlmKG8uc3Qpe2xldCBjPW5ldyBGbG9hdDMyQXJyYXkoNDgpO2NbMF09MCxjWzFdPTAsY1syXT0xLGNbM109MCxjWzRdPTEsY1s1XT0xLGNbNl09MCxjWzddPTEsY1s4XT0xLGNbOV09MCxjWzEwXT0wLGNbMTFdPTAsY1sxMl09MCxjWzEzXT0xLGNbMTRdPTEsY1sxNV09MSxjWzE2XT0wLGNbMTddPTAsY1sxOF09MSxjWzE5XT0wLGNbMjBdPTEsY1syMV09MSxjWzIyXT0wLGNbMjNdPTEsY1syNF09MSxjWzI1XT0wLGNbMjZdPTAsY1syN109MCxjWzI4XT0wLGNbMjldPTEsY1szMF09MSxjWzMxXT0xLGNbMzJdPTEsY1szM109MCxjWzM0XT0wLGNbMzVdPTAsY1szNl09MCxjWzM3XT0xLGNbMzhdPTEsY1szOV09MSxjWzQwXT0wLGNbNDFdPTAsY1s0Ml09MSxjWzQzXT0wLGNbNDRdPTEsY1s0NV09MSxjWzQ2XT0wLGNbNDddPTEsci5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6Y30pfWlmKG8udGFuZ2VudCl7bGV0IGM9bmV3IEZsb2F0MzJBcnJheSg3Mik7Y1swXT0xLGNbMV09MCxjWzJdPTAsY1szXT0xLGNbNF09MCxjWzVdPTAsY1s2XT0xLGNbN109MCxjWzhdPTAsY1s5XT0xLGNbMTBdPTAsY1sxMV09MCxjWzEyXT0tMSxjWzEzXT0wLGNbMTRdPTAsY1sxNV09LTEsY1sxNl09MCxjWzE3XT0wLGNbMThdPS0xLGNbMTldPTAsY1syMF09MCxjWzIxXT0tMSxjWzIyXT0wLGNbMjNdPTAsY1syNF09MCxjWzI1XT0xLGNbMjZdPTAsY1syN109MCxjWzI4XT0xLGNbMjldPTAsY1szMF09MCxjWzMxXT0xLGNbMzJdPTAsY1szM109MCxjWzM0XT0xLGNbMzVdPTAsY1szNl09MCxjWzM3XT0tMSxjWzM4XT0wLGNbMzldPTAsY1s0MF09LTEsY1s0MV09MCxjWzQyXT0wLGNbNDNdPS0xLGNbNDRdPTAsY1s0NV09MCxjWzQ2XT0tMSxjWzQ3XT0wLGNbNDhdPS0xLGNbNDldPTAsY1s1MF09MCxjWzUxXT0tMSxjWzUyXT0wLGNbNTNdPTAsY1s1NF09LTEsY1s1NV09MCxjWzU2XT0wLGNbNTddPS0xLGNbNThdPTAsY1s1OV09MCxjWzYwXT0xLGNbNjFdPTAsY1s2Ml09MCxjWzYzXT0xLGNbNjRdPTAsY1s2NV09MCxjWzY2XT0xLGNbNjddPTAsY1s2OF09MCxjWzY5XT0xLGNbNzBdPTAsY1s3MV09MCxyLnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmN9KX1pZihvLmJpdGFuZ2VudCl7bGV0IGM9bmV3IEZsb2F0MzJBcnJheSg3Mik7Y1swXT0wLGNbMV09MSxjWzJdPTAsY1szXT0wLGNbNF09MSxjWzVdPTAsY1s2XT0wLGNbN109MSxjWzhdPTAsY1s5XT0wLGNbMTBdPTEsY1sxMV09MCxjWzEyXT0wLGNbMTNdPTEsY1sxNF09MCxjWzE1XT0wLGNbMTZdPTEsY1sxN109MCxjWzE4XT0wLGNbMTldPTEsY1syMF09MCxjWzIxXT0wLGNbMjJdPTEsY1syM109MCxjWzI0XT0wLGNbMjVdPTAsY1syNl09MSxjWzI3XT0wLGNbMjhdPTAsY1syOV09MSxjWzMwXT0wLGNbMzFdPTAsY1szMl09MSxjWzMzXT0wLGNbMzRdPTAsY1szNV09MSxjWzM2XT0wLGNbMzddPTAsY1szOF09MSxjWzM5XT0wLGNbNDBdPTAsY1s0MV09MSxjWzQyXT0wLGNbNDNdPTAsY1s0NF09MSxjWzQ1XT0wLGNbNDZdPTAsY1s0N109MSxjWzQ4XT0wLGNbNDldPTAsY1s1MF09MSxjWzUxXT0wLGNbNTJdPTAsY1s1M109MSxjWzU0XT0wLGNbNTVdPTAsY1s1Nl09MSxjWzU3XT0wLGNbNThdPTAsY1s1OV09MSxjWzYwXT0wLGNbNjFdPTAsY1s2Ml09MSxjWzYzXT0wLGNbNjRdPTAsY1s2NV09MSxjWzY2XT0wLGNbNjddPTAsY1s2OF09MSxjWzY5XT0wLGNbNzBdPTAsY1s3MV09MSxyLmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Y30pfWk9bmV3IFVpbnQxNkFycmF5KDYqMiozKSxpWzBdPTAsaVsxXT0xLGlbMl09MixpWzNdPTAsaVs0XT0yLGlbNV09MyxpWzZdPTYsaVs3XT01LGlbOF09NCxpWzldPTcsaVsxMF09NixpWzExXT00LGlbMTJdPTgsaVsxM109OSxpWzE0XT0xMCxpWzE1XT04LGlbMTZdPTEwLGlbMTddPTExLGlbMThdPTE0LGlbMTldPTEzLGlbMjBdPTEyLGlbMjFdPTE1LGlbMjJdPTE0LGlbMjNdPTEyLGlbMjRdPTE4LGlbMjVdPTE3LGlbMjZdPTE2LGlbMjddPTE5LGlbMjhdPTE4LGlbMjldPTE2LGlbMzBdPTIwLGlbMzFdPTIxLGlbMzJdPTIyLGlbMzNdPTIwLGlbMzRdPTIyLGlbMzVdPTIzfWVsc2Ugcz1uZXcgRmxvYXQ2NEFycmF5KDgqMyksc1swXT1lLngsc1sxXT1lLnksc1syXT1lLnosc1szXT1uLngsc1s0XT1lLnksc1s1XT1lLnosc1s2XT1uLngsc1s3XT1uLnksc1s4XT1lLnosc1s5XT1lLngsc1sxMF09bi55LHNbMTFdPWUueixzWzEyXT1lLngsc1sxM109ZS55LHNbMTRdPW4ueixzWzE1XT1uLngsc1sxNl09ZS55LHNbMTddPW4ueixzWzE4XT1uLngsc1sxOV09bi55LHNbMjBdPW4ueixzWzIxXT1lLngsc1syMl09bi55LHNbMjNdPW4ueixyLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6c30pLGk9bmV3IFVpbnQxNkFycmF5KDYqMiozKSxpWzBdPTQsaVsxXT01LGlbMl09NixpWzNdPTQsaVs0XT02LGlbNV09NyxpWzZdPTEsaVs3XT0wLGlbOF09MyxpWzldPTEsaVsxMF09MyxpWzExXT0yLGlbMTJdPTEsaVsxM109NixpWzE0XT01LGlbMTVdPTEsaVsxNl09MixpWzE3XT02LGlbMThdPTIsaVsxOV09MyxpWzIwXT03LGlbMjFdPTIsaVsyMl09NyxpWzIzXT02LGlbMjRdPTMsaVsyNV09MCxpWzI2XT00LGlbMjddPTMsaVsyOF09NCxpWzI5XT03LGlbMzBdPTAsaVszMV09MSxpWzMyXT01LGlbMzNdPTAsaVszNF09NSxpWzM1XT00O2xldCBmPWEuc3VidHJhY3QobixlLE5NKSx1PWEubWFnbml0dWRlKGYpKi41O2lmKGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IGM9cy5sZW5ndGgsbD10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxwPW5ldyBVaW50OEFycmF5KGMvMykuZmlsbChsKTtyLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnB9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOnIsaW5kaWNlczppLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOm5ldyBBdChhLlpFUk8sdSksb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTtyci5nZXRVbml0Qm94PWZ1bmN0aW9uKCl7cmV0dXJuIGgoczApfHwoczA9cnIuY3JlYXRlR2VvbWV0cnkocnIuZnJvbURpbWVuc2lvbnMoe2RpbWVuc2lvbnM6bmV3IGEoMSwxLDEpLHZlcnRleEZvcm1hdDpkdC5QT1NJVElPTl9PTkxZfSkpKSxzMH07eGY9cnJ9KTt2YXIgYTA9e307ZGUoYTAse2RlZmF1bHQ6KCk9PnZNfSk7ZnVuY3Rpb24gSU0odCxlKXtyZXR1cm4gaChlKSYmKHQ9eGYudW5wYWNrKHQsZSkpLHhmLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciB2TSxmMD1aKCgpPT57YzAoKTtmdCgpO3ZNPUlNfSk7ZnVuY3Rpb24gY2kodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQubWluaW11bSxuPXQubWF4aW11bTtpZih5LnR5cGVPZi5vYmplY3QoIm1pbiIsZSkseS50eXBlT2Yub2JqZWN0KCJtYXgiLG4pLGgodC5vZmZzZXRBdHRyaWJ1dGUpJiZ0Lm9mZnNldEF0dHJpYnV0ZT09PWZlLlRPUCl0aHJvdyBuZXcgRigiR2VvbWV0cnlPZmZzZXRBdHRyaWJ1dGUuVE9QIGlzIG5vdCBhIHN1cHBvcnRlZCBvcHRpb25zLm9mZnNldEF0dHJpYnV0ZSBmb3IgdGhpcyBnZW9tZXRyeS4iKTt0aGlzLl9taW49YS5jbG9uZShlKSx0aGlzLl9tYXg9YS5jbG9uZShuKSx0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlQm94T3V0bGluZUdlb21ldHJ5In12YXIgTE0saFQsX1QsbVQsdTAseVQ9WigoKT0+e3ZlKCk7RnQoKTtYdCgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WGUoKTtZZSgpO2FuKCk7TG8oKTt0bigpO0xNPW5ldyBhO2NpLmZyb21EaW1lbnNpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LmRpbWVuc2lvbnM7eS50eXBlT2Yub2JqZWN0KCJkaW1lbnNpb25zIixlKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiZGltZW5zaW9ucy54IixlLngsMCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImRpbWVuc2lvbnMueSIsZS55LDApLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJkaW1lbnNpb25zLnoiLGUueiwwKTtsZXQgbj1hLm11bHRpcGx5QnlTY2FsYXIoZSwuNSxuZXcgYSk7cmV0dXJuIG5ldyBjaSh7bWluaW11bTphLm5lZ2F0ZShuLG5ldyBhKSxtYXhpbXVtOm4sb2Zmc2V0QXR0cmlidXRlOnQub2Zmc2V0QXR0cmlidXRlfSl9O2NpLmZyb21BeGlzQWxpZ25lZEJvdW5kaW5nQm94PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImJvdW5kaW5kQm94Iix0KSxuZXcgY2koe21pbmltdW06dC5taW5pbXVtLG1heGltdW06dC5tYXhpbXVtfSl9O2NpLnBhY2tlZExlbmd0aD0yKmEucGFja2VkTGVuZ3RoKzE7Y2kucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0Ll9taW4sZSxuKSxhLnBhY2sodC5fbWF4LGUsbithLnBhY2tlZExlbmd0aCksZVtuK2EucGFja2VkTGVuZ3RoKjJdPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtoVD1uZXcgYSxfVD1uZXcgYSxtVD17bWluaW11bTpoVCxtYXhpbXVtOl9ULG9mZnNldEF0dHJpYnV0ZTp2b2lkIDB9O2NpLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89YS51bnBhY2sodCxlLGhUKSxyPWEudW5wYWNrKHQsZSthLnBhY2tlZExlbmd0aCxfVCksaT10W2UrYS5wYWNrZWRMZW5ndGgqMl07cmV0dXJuIGgobik/KG4uX21pbj1hLmNsb25lKG8sbi5fbWluKSxuLl9tYXg9YS5jbG9uZShyLG4uX21heCksbi5fb2Zmc2V0QXR0cmlidXRlPWk9PT0tMT92b2lkIDA6aSxuKToobVQub2Zmc2V0QXR0cmlidXRlPWk9PT0tMT92b2lkIDA6aSxuZXcgY2kobVQpKX07Y2kuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fbWluLG49dC5fbWF4O2lmKGEuZXF1YWxzKGUsbikpcmV0dXJuO2xldCBvPW5ldyBpZSxyPW5ldyBVaW50MTZBcnJheSgxMioyKSxpPW5ldyBGbG9hdDY0QXJyYXkoOCozKTtpWzBdPWUueCxpWzFdPWUueSxpWzJdPWUueixpWzNdPW4ueCxpWzRdPWUueSxpWzVdPWUueixpWzZdPW4ueCxpWzddPW4ueSxpWzhdPWUueixpWzldPWUueCxpWzEwXT1uLnksaVsxMV09ZS56LGlbMTJdPWUueCxpWzEzXT1lLnksaVsxNF09bi56LGlbMTVdPW4ueCxpWzE2XT1lLnksaVsxN109bi56LGlbMThdPW4ueCxpWzE5XT1uLnksaVsyMF09bi56LGlbMjFdPWUueCxpWzIyXT1uLnksaVsyM109bi56LG8ucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczppfSksclswXT00LHJbMV09NSxyWzJdPTUsclszXT02LHJbNF09NixyWzVdPTcscls2XT03LHJbN109NCxyWzhdPTAscls5XT0xLHJbMTBdPTEsclsxMV09MixyWzEyXT0yLHJbMTNdPTMsclsxNF09MyxyWzE1XT0wLHJbMTZdPTAsclsxN109NCxyWzE4XT0xLHJbMTldPTUsclsyMF09MixyWzIxXT02LHJbMjJdPTMsclsyM109NztsZXQgcz1hLnN1YnRyYWN0KG4sZSxMTSksZj1hLm1hZ25pdHVkZShzKSouNTtpZihoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCB1PWkubGVuZ3RoLGM9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsbD1uZXcgVWludDhBcnJheSh1LzMpLmZpbGwoYyk7by5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpsfSl9cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpvLGluZGljZXM6cixwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOm5ldyBBdChhLlpFUk8sZiksb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTt1MD1jaX0pO3ZhciBsMD17fTtkZShsMCx7ZGVmYXVsdDooKT0+Rk19KTtmdW5jdGlvbiBETSh0LGUpe3JldHVybiBoKGUpJiYodD11MC51bnBhY2sodCxlKSksdTAuY3JlYXRlR2VvbWV0cnkodCl9dmFyIEZNLHAwPVooKCk9Pnt5VCgpO2Z0KCk7Rk09RE19KTtmdW5jdGlvbiBhYSh0LGUsbixvLHIsaSxzLGYsdSxjKXtsZXQgbD10K2U7YS5tdWx0aXBseUJ5U2NhbGFyKG8sTWF0aC5jb3MobCksWHApLGEubXVsdGlwbHlCeVNjYWxhcihuLE1hdGguc2luKGwpLGdUKSxhLmFkZChYcCxnVCxYcCk7bGV0IHA9TWF0aC5jb3ModCk7cD1wKnA7bGV0IGQ9TWF0aC5zaW4odCk7ZD1kKmQ7bGV0IF89aS9NYXRoLnNxcnQocypwK3IqZCkvZjtyZXR1cm4gZWUuZnJvbUF4aXNBbmdsZShYcCxfLEFUKSxRLmZyb21RdWF0ZXJuaW9uKEFULGJUKSxRLm11bHRpcGx5QnlWZWN0b3IoYlQsdSxjKSxhLm5vcm1hbGl6ZShjLGMpLGEubXVsdGlwbHlCeVNjYWxhcihjLGYsYyksY312YXIgbTAsWHAsZ1QsQVQsYlQsVFQsd1QsZDAsQk0sVU0sVk0sa00sa3IsaDA9WigoKT0+e0Z0KCk7V3QoKTtCbigpO0tvKCk7bTA9e30sWHA9bmV3IGEsZ1Q9bmV3IGEsQVQ9bmV3IGVlLGJUPW5ldyBRO1RUPW5ldyBhLHdUPW5ldyBhLGQwPW5ldyBhLEJNPW5ldyBhO20wLnJhaXNlUG9zaXRpb25zVG9IZWlnaHQ9ZnVuY3Rpb24odCxlLG4pe2xldCBvPWUuZWxsaXBzb2lkLHI9ZS5oZWlnaHQsaT1lLmV4dHJ1ZGVkSGVpZ2h0LHM9bj90Lmxlbmd0aC8zKjI6dC5sZW5ndGgvMyxmPW5ldyBGbG9hdDY0QXJyYXkocyozKSx1PXQubGVuZ3RoLGM9bj91OjA7Zm9yKGxldCBsPTA7bDx1O2wrPTMpe2xldCBwPWwrMSxkPWwrMixtPWEuZnJvbUFycmF5KHQsbCxUVCk7by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKG0sbSk7bGV0IF89YS5jbG9uZShtLHdUKSxnPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKG0sQk0pLGI9YS5tdWx0aXBseUJ5U2NhbGFyKGcscixkMCk7YS5hZGQobSxiLG0pLG4mJihhLm11bHRpcGx5QnlTY2FsYXIoZyxpLGIpLGEuYWRkKF8sYixfKSxmW2wrY109Xy54LGZbcCtjXT1fLnksZltkK2NdPV8ueiksZltsXT1tLngsZltwXT1tLnksZltkXT1tLnp9cmV0dXJuIGZ9O1VNPW5ldyBhLFZNPW5ldyBhLGtNPW5ldyBhO20wLmNvbXB1dGVFbGxpcHNlUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LnNlbWlNaW5vckF4aXMscj10LnNlbWlNYWpvckF4aXMsaT10LnJvdGF0aW9uLHM9dC5jZW50ZXIsZj10LmdyYW51bGFyaXR5KjgsdT1vKm8sYz1yKnIsbD1yKm8scD1hLm1hZ25pdHVkZShzKSxkPWEubm9ybWFsaXplKHMsVU0pLG09YS5jcm9zcyhhLlVOSVRfWixzLFZNKTttPWEubm9ybWFsaXplKG0sbSk7bGV0IF89YS5jcm9zcyhkLG0sa00pLGc9MStNYXRoLmNlaWwoTS5QSV9PVkVSX1RXTy9mKSxiPU0uUElfT1ZFUl9UV08vKGctMSksVD1NLlBJX09WRVJfVFdPLWcqYjtUPDAmJihnLT1NYXRoLmNlaWwoTWF0aC5hYnMoVCkvYikpO2xldCBPPTIqKGcqKGcrMikpLEU9ZT9uZXcgQXJyYXkoTyozKTp2b2lkIDAsdz0wLEM9VFQsTj13VCxJPWcqNCozLEQ9SS0xLHY9MCxMPW4/bmV3IEFycmF5KEkpOnZvaWQgMCxVLEEsUyxQLEI7Zm9yKFQ9TS5QSV9PVkVSX1RXTyxDPWFhKFQsaSxfLG0sdSxsLGMscCxkLEMpLGUmJihFW3crK109Qy54LEVbdysrXT1DLnksRVt3KytdPUMueiksbiYmKExbRC0tXT1DLnosTFtELS1dPUMueSxMW0QtLV09Qy54KSxUPU0uUElfT1ZFUl9UV08tYixVPTE7VTxnKzE7KytVKXtpZihDPWFhKFQsaSxfLG0sdSxsLGMscCxkLEMpLE49YWEoTWF0aC5QSS1ULGksXyxtLHUsbCxjLHAsZCxOKSxlKXtmb3IoRVt3KytdPUMueCxFW3crK109Qy55LEVbdysrXT1DLnosUz0yKlUrMixBPTE7QTxTLTE7KytBKVA9QS8oUy0xKSxCPWEubGVycChDLE4sUCxkMCksRVt3KytdPUIueCxFW3crK109Qi55LEVbdysrXT1CLno7RVt3KytdPU4ueCxFW3crK109Ti55LEVbdysrXT1OLnp9biYmKExbRC0tXT1DLnosTFtELS1dPUMueSxMW0QtLV09Qy54LExbdisrXT1OLngsTFt2KytdPU4ueSxMW3YrK109Ti56KSxUPU0uUElfT1ZFUl9UV08tKFUrMSkqYn1mb3IoVT1nO1U+MTstLVUpe2lmKFQ9TS5QSV9PVkVSX1RXTy0oVS0xKSpiLEM9YWEoLVQsaSxfLG0sdSxsLGMscCxkLEMpLE49YWEoVCtNYXRoLlBJLGksXyxtLHUsbCxjLHAsZCxOKSxlKXtmb3IoRVt3KytdPUMueCxFW3crK109Qy55LEVbdysrXT1DLnosUz0yKihVLTEpKzIsQT0xO0E8Uy0xOysrQSlQPUEvKFMtMSksQj1hLmxlcnAoQyxOLFAsZDApLEVbdysrXT1CLngsRVt3KytdPUIueSxFW3crK109Qi56O0VbdysrXT1OLngsRVt3KytdPU4ueSxFW3crK109Ti56fW4mJihMW0QtLV09Qy56LExbRC0tXT1DLnksTFtELS1dPUMueCxMW3YrK109Ti54LExbdisrXT1OLnksTFt2KytdPU4ueil9VD1NLlBJX09WRVJfVFdPLEM9YWEoLVQsaSxfLG0sdSxsLGMscCxkLEMpO2xldCBqPXt9O3JldHVybiBlJiYoRVt3KytdPUMueCxFW3crK109Qy55LEVbdysrXT1DLnosai5wb3NpdGlvbnM9RSxqLm51bVB0cz1nKSxuJiYoTFtELS1dPUMueixMW0QtLV09Qy55LExbRC0tXT1DLngsai5vdXRlclBvc2l0aW9ucz1MKSxqfTtrcj1tMH0pO2Z1bmN0aW9uIEdNKHQpe2lmKHQ9eCh0LHguRU1QVFlfT0JKRUNUKSwhaCh0Lmdlb21ldHJ5KSl0aHJvdyBuZXcgRigib3B0aW9ucy5nZW9tZXRyeSBpcyByZXF1aXJlZC4iKTt0aGlzLmdlb21ldHJ5PXQuZ2VvbWV0cnksdGhpcy5tb2RlbE1hdHJpeD1zdC5jbG9uZSh4KHQubW9kZWxNYXRyaXgsc3QuSURFTlRJVFkpKSx0aGlzLmlkPXQuaWQsdGhpcy5waWNrUHJpbWl0aXZlPXQucGlja1ByaW1pdGl2ZSx0aGlzLmF0dHJpYnV0ZXM9eCh0LmF0dHJpYnV0ZXMse30pLHRoaXMud2VzdEhlbWlzcGhlcmVHZW9tZXRyeT12b2lkIDAsdGhpcy5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5PXZvaWQgMH12YXIgY28sc2M9WigoKT0+e0l0KCk7ZnQoKTtIdCgpO1VuKCk7Y289R019KTtmdW5jdGlvbiBOVCh0LGUsbil7bGV0IG89ZS52ZXJ0ZXhGb3JtYXQscj1lLmNlbnRlcixpPWUuc2VtaU1ham9yQXhpcyxzPWUuc2VtaU1pbm9yQXhpcyxmPWUuZWxsaXBzb2lkLHU9ZS5zdFJvdGF0aW9uLGM9bj90Lmxlbmd0aC8zKjI6dC5sZW5ndGgvMyxsPWUuc2hhZG93Vm9sdW1lLHA9by5zdD9uZXcgRmxvYXQzMkFycmF5KGMqMik6dm9pZCAwLGQ9by5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShjKjMpOnZvaWQgMCxtPW8udGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KGMqMyk6dm9pZCAwLF89by5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShjKjMpOnZvaWQgMCxnPWw/bmV3IEZsb2F0MzJBcnJheShjKjMpOnZvaWQgMCxiPTAsVD1SVCxPPVNULEU9Q1Qsdz1uZXcgSm4oZiksQz13LnByb2plY3QoZi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhyLFpwKSx4VCksTj1mLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UocixmYSk7Zi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoTixOKTtsZXQgST1FVCxEPXpNO2lmKHUhPT0wKXtsZXQgQj1lZS5mcm9tQXhpc0FuZ2xlKE4sdSxnMCk7ST1RLmZyb21RdWF0ZXJuaW9uKEIsSSksQj1lZS5mcm9tQXhpc0FuZ2xlKE4sLXUsZzApLEQ9US5mcm9tUXVhdGVybmlvbihCLEQpfWVsc2UgST1RLmNsb25lKFEuSURFTlRJVFksSSksRD1RLmNsb25lKFEuSURFTlRJVFksRCk7bGV0IHY9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksUFQpLEw9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksTVQpLFU9dC5sZW5ndGgsQT1uP1U6MCxTPUEvMyoyO2ZvcihsZXQgQj0wO0I8VTtCKz0zKXtsZXQgaj1CKzEsSD1CKzIsaz1hLmZyb21BcnJheSh0LEIsZmEpO2lmKG8uc3Qpe2xldCBLPVEubXVsdGlwbHlCeVZlY3RvcihJLGssXzApLFg9dy5wcm9qZWN0KGYuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoSyxacCkseTApO2Euc3VidHJhY3QoWCxDLFgpLCRuLng9KFgueCtpKS8oMippKSwkbi55PShYLnkrcykvKDIqcyksdi54PU1hdGgubWluKCRuLngsdi54KSx2Lnk9TWF0aC5taW4oJG4ueSx2LnkpLEwueD1NYXRoLm1heCgkbi54LEwueCksTC55PU1hdGgubWF4KCRuLnksTC55KSxuJiYocFtiK1NdPSRuLngscFtiKzErU109JG4ueSkscFtiKytdPSRuLngscFtiKytdPSRuLnl9KG8ubm9ybWFsfHxvLnRhbmdlbnR8fG8uYml0YW5nZW50fHxsKSYmKFQ9Zi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoayxUKSxsJiYoZ1tCK0FdPS1ULngsZ1tqK0FdPS1ULnksZ1tIK0FdPS1ULnopLChvLm5vcm1hbHx8by50YW5nZW50fHxvLmJpdGFuZ2VudCkmJigoby50YW5nZW50fHxvLmJpdGFuZ2VudCkmJihPPWEubm9ybWFsaXplKGEuY3Jvc3MoYS5VTklUX1osVCxPKSxPKSxRLm11bHRpcGx5QnlWZWN0b3IoRCxPLE8pKSxvLm5vcm1hbCYmKGRbQl09VC54LGRbal09VC55LGRbSF09VC56LG4mJihkW0IrQV09LVQueCxkW2orQV09LVQueSxkW0grQV09LVQueikpLG8udGFuZ2VudCYmKG1bQl09Ty54LG1bal09Ty55LG1bSF09Ty56LG4mJihtW0IrQV09LU8ueCxtW2orQV09LU8ueSxtW0grQV09LU8ueikpLG8uYml0YW5nZW50JiYoRT1hLm5vcm1hbGl6ZShhLmNyb3NzKFQsTyxFKSxFKSxfW0JdPUUueCxfW2pdPUUueSxfW0hdPUUueixuJiYoX1tCK0FdPUUueCxfW2orQV09RS55LF9bSCtBXT1FLnopKSkpfWlmKG8uc3Qpe1U9cC5sZW5ndGg7Zm9yKGxldCBCPTA7QjxVO0IrPTIpcFtCXT0ocFtCXS12LngpLyhMLngtdi54KSxwW0IrMV09KHBbQisxXS12LnkpLyhMLnktdi55KX1sZXQgUD1uZXcgaWU7aWYoby5wb3NpdGlvbil7bGV0IEI9a3IucmFpc2VQb3NpdGlvbnNUb0hlaWdodCh0LGUsbik7UC5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkJ9KX1pZihvLnN0JiYoUC5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6cH0pKSxvLm5vcm1hbCYmKFAubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpkfSkpLG8udGFuZ2VudCYmKFAudGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6bX0pKSxvLmJpdGFuZ2VudCYmKFAuYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpffSkpLGwmJihQLmV4dHJ1ZGVEaXJlY3Rpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmd9KSksbiYmaChlLm9mZnNldEF0dHJpYnV0ZSkpe2xldCBCPW5ldyBVaW50OEFycmF5KGMpO2lmKGUub2Zmc2V0QXR0cmlidXRlPT09ZmUuVE9QKUI9Qi5maWxsKDEsMCxjLzIpO2Vsc2V7bGV0IGo9ZS5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MTtCPUIuZmlsbChqKX1QLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOkJ9KX1yZXR1cm4gUH1mdW5jdGlvbiBJVCh0KXtsZXQgZT1uZXcgQXJyYXkoMTIqKHQqKHQrMSkpLTYpLG49MCxvLHIsaSxzLGY7Zm9yKG89MCxpPTEscz0wO3M8MztzKyspZVtuKytdPWkrKyxlW24rK109byxlW24rK109aTtmb3Iocz0yO3M8dCsxOysrcyl7Zm9yKGk9cyoocysxKS0xLG89KHMtMSkqcy0xLGVbbisrXT1pKyssZVtuKytdPW8sZVtuKytdPWkscj0yKnMsZj0wO2Y8ci0xOysrZillW24rK109aSxlW24rK109bysrLGVbbisrXT1vLGVbbisrXT1pKyssZVtuKytdPW8sZVtuKytdPWk7ZVtuKytdPWkrKyxlW24rK109byxlW24rK109aX1mb3Iocj10KjIsKytpLCsrbyxzPTA7czxyLTE7KytzKWVbbisrXT1pLGVbbisrXT1vKyssZVtuKytdPW8sZVtuKytdPWkrKyxlW24rK109byxlW24rK109aTtmb3IoZVtuKytdPWksZVtuKytdPW8rKyxlW24rK109byxlW24rK109aSsrLGVbbisrXT1vKyssZVtuKytdPW8sKytvLHM9dC0xO3M+MTstLXMpe2ZvcihlW24rK109bysrLGVbbisrXT1vLGVbbisrXT1pLHI9MipzLGY9MDtmPHItMTsrK2YpZVtuKytdPWksZVtuKytdPW8rKyxlW24rK109byxlW24rK109aSsrLGVbbisrXT1vLGVbbisrXT1pO2VbbisrXT1vKyssZVtuKytdPW8rKyxlW24rK109aSsrfWZvcihzPTA7czwzO3MrKyllW24rK109bysrLGVbbisrXT1vLGVbbisrXT1pO3JldHVybiBlfWZ1bmN0aW9uIGpNKHQpe2xldCBlPXQuY2VudGVyO2NjPWEubXVsdGlwbHlCeVNjYWxhcih0LmVsbGlwc29pZC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZSxjYyksdC5oZWlnaHQsY2MpLGNjPWEuYWRkKGUsY2MsY2MpO2xldCBuPW5ldyBBdChjYyx0LnNlbWlNYWpvckF4aXMpLG89a3IuY29tcHV0ZUVsbGlwc2VQb3NpdGlvbnModCwhMCwhMSkscj1vLnBvc2l0aW9ucyxpPW8ubnVtUHRzLHM9TlQocix0LCExKSxmPUlUKGkpO3JldHVybiBmPUR0LmNyZWF0ZVR5cGVkQXJyYXkoci5sZW5ndGgvMyxmKSx7Ym91bmRpbmdTcGhlcmU6bixhdHRyaWJ1dGVzOnMsaW5kaWNlczpmfX1mdW5jdGlvbiBITSh0LGUpe2xldCBuPWUudmVydGV4Rm9ybWF0LG89ZS5jZW50ZXIscj1lLnNlbWlNYWpvckF4aXMsaT1lLnNlbWlNaW5vckF4aXMscz1lLmVsbGlwc29pZCxmPWUuaGVpZ2h0LHU9ZS5leHRydWRlZEhlaWdodCxjPWUuc3RSb3RhdGlvbixsPXQubGVuZ3RoLzMqMixwPW5ldyBGbG9hdDY0QXJyYXkobCozKSxkPW4uc3Q/bmV3IEZsb2F0MzJBcnJheShsKjIpOnZvaWQgMCxtPW4ubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkobCozKTp2b2lkIDAsXz1uLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShsKjMpOnZvaWQgMCxnPW4uYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkobCozKTp2b2lkIDAsYj1lLnNoYWRvd1ZvbHVtZSxUPWI/bmV3IEZsb2F0MzJBcnJheShsKjMpOnZvaWQgMCxPPTAsRT1SVCx3PVNULEM9Q1QsTj1uZXcgSm4ocyksST1OLnByb2plY3Qocy5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhvLFpwKSx4VCksRD1zLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UobyxmYSk7cy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoRCxEKTtsZXQgdj1lZS5mcm9tQXhpc0FuZ2xlKEQsYyxnMCksTD1RLmZyb21RdWF0ZXJuaW9uKHYsRVQpLFU9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksUFQpLEE9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksTVQpLFM9dC5sZW5ndGgsUD1TLzMqMjtmb3IobGV0IGo9MDtqPFM7ais9Myl7bGV0IEg9aisxLGs9aisyLEs9YS5mcm9tQXJyYXkodCxqLGZhKSxYO2lmKG4uc3Qpe2xldCBvdD1RLm11bHRpcGx5QnlWZWN0b3IoTCxLLF8wKSxhdD1OLnByb2plY3Qocy5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhvdCxacCkseTApO2Euc3VidHJhY3QoYXQsSSxhdCksJG4ueD0oYXQueCtyKS8oMipyKSwkbi55PShhdC55K2kpLygyKmkpLFUueD1NYXRoLm1pbigkbi54LFUueCksVS55PU1hdGgubWluKCRuLnksVS55KSxBLng9TWF0aC5tYXgoJG4ueCxBLngpLEEueT1NYXRoLm1heCgkbi55LEEueSksZFtPK1BdPSRuLngsZFtPKzErUF09JG4ueSxkW08rK109JG4ueCxkW08rK109JG4ueX1LPXMuc2NhbGVUb0dlb2RldGljU3VyZmFjZShLLEspLFg9YS5jbG9uZShLLF8wKSxFPXMuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKEssRSksYiYmKFRbaitTXT0tRS54LFRbSCtTXT0tRS55LFRbaytTXT0tRS56KTtsZXQgUj1hLm11bHRpcGx5QnlTY2FsYXIoRSxmLE9UKTtpZihLPWEuYWRkKEssUixLKSxSPWEubXVsdGlwbHlCeVNjYWxhcihFLHUsUiksWD1hLmFkZChYLFIsWCksbi5wb3NpdGlvbiYmKHBbaitTXT1YLngscFtIK1NdPVgueSxwW2srU109WC56LHBbal09Sy54LHBbSF09Sy55LHBba109Sy56KSxuLm5vcm1hbHx8bi50YW5nZW50fHxuLmJpdGFuZ2VudCl7Qz1hLmNsb25lKEUsQyk7bGV0IG90PWEuZnJvbUFycmF5KHQsKGorMyklUyxPVCk7YS5zdWJ0cmFjdChvdCxLLG90KTtsZXQgYXQ9YS5zdWJ0cmFjdChYLEsseTApO0U9YS5ub3JtYWxpemUoYS5jcm9zcyhhdCxvdCxFKSxFKSxuLm5vcm1hbCYmKG1bal09RS54LG1bSF09RS55LG1ba109RS56LG1baitTXT1FLngsbVtIK1NdPUUueSxtW2srU109RS56KSxuLnRhbmdlbnQmJih3PWEubm9ybWFsaXplKGEuY3Jvc3MoQyxFLHcpLHcpLF9bal09dy54LF9bSF09dy55LF9ba109dy56LF9baitTXT13LngsX1tqKzErU109dy55LF9baisyK1NdPXcueiksbi5iaXRhbmdlbnQmJihnW2pdPUMueCxnW0hdPUMueSxnW2tdPUMueixnW2orU109Qy54LGdbSCtTXT1DLnksZ1trK1NdPUMueil9fWlmKG4uc3Qpe1M9ZC5sZW5ndGg7Zm9yKGxldCBqPTA7ajxTO2orPTIpZFtqXT0oZFtqXS1VLngpLyhBLngtVS54KSxkW2orMV09KGRbaisxXS1VLnkpLyhBLnktVS55KX1sZXQgQj1uZXcgaWU7aWYobi5wb3NpdGlvbiYmKEIucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpwfSkpLG4uc3QmJihCLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpkfSkpLG4ubm9ybWFsJiYoQi5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm19KSksbi50YW5nZW50JiYoQi50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpffSkpLG4uYml0YW5nZW50JiYoQi5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmd9KSksYiYmKEIuZXh0cnVkZURpcmVjdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6VH0pKSxoKGUub2Zmc2V0QXR0cmlidXRlKSl7bGV0IGo9bmV3IFVpbnQ4QXJyYXkobCk7aWYoZS5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1Apaj1qLmZpbGwoMSwwLGwvMik7ZWxzZXtsZXQgSD1lLm9mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxO2o9ai5maWxsKEgpfUIuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6an0pfXJldHVybiBCfWZ1bmN0aW9uIHFNKHQpe2xldCBlPXQubGVuZ3RoLzMsbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSo2KSxvPTA7Zm9yKGxldCByPTA7cjxlO3IrKyl7bGV0IGk9cixzPXIrZSxmPShpKzEpJWUsdT1mK2U7bltvKytdPWksbltvKytdPXMsbltvKytdPWYsbltvKytdPWYsbltvKytdPXMsbltvKytdPXV9cmV0dXJuIG59ZnVuY3Rpb24gS00odCl7bGV0IGU9dC5jZW50ZXIsbj10LmVsbGlwc29pZCxvPXQuc2VtaU1ham9yQXhpcyxyPWEubXVsdGlwbHlCeVNjYWxhcihuLmdlb2RldGljU3VyZmFjZU5vcm1hbChlLGZhKSx0LmhlaWdodCxmYSk7WXAuY2VudGVyPWEuYWRkKGUscixZcC5jZW50ZXIpLFlwLnJhZGl1cz1vLHI9YS5tdWx0aXBseUJ5U2NhbGFyKG4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGUsciksdC5leHRydWRlZEhlaWdodCxyKSwkcC5jZW50ZXI9YS5hZGQoZSxyLCRwLmNlbnRlciksJHAucmFkaXVzPW87bGV0IGk9a3IuY29tcHV0ZUVsbGlwc2VQb3NpdGlvbnModCwhMCwhMCkscz1pLnBvc2l0aW9ucyxmPWkubnVtUHRzLHU9aS5vdXRlclBvc2l0aW9ucyxjPUF0LnVuaW9uKFlwLCRwKSxsPU5UKHMsdCwhMCkscD1JVChmKSxkPXAubGVuZ3RoO3AubGVuZ3RoPWQqMjtsZXQgbT1zLmxlbmd0aC8zO2ZvcihsZXQgdz0wO3c8ZDt3Kz0zKXBbdytkXT1wW3crMl0rbSxwW3crMStkXT1wW3crMV0rbSxwW3crMitkXT1wW3ddK207bGV0IF89RHQuY3JlYXRlVHlwZWRBcnJheShtKjIvMyxwKSxnPW5ldyBVdCh7YXR0cmlidXRlczpsLGluZGljZXM6XyxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFU30pLGI9SE0odSx0KTtwPXFNKHUpO2xldCBUPUR0LmNyZWF0ZVR5cGVkQXJyYXkodS5sZW5ndGgqMi8zLHApLE89bmV3IFV0KHthdHRyaWJ1dGVzOmIsaW5kaWNlczpULHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfSksRT1WZS5jb21iaW5lSW5zdGFuY2VzKFtuZXcgY28oe2dlb21ldHJ5Omd9KSxuZXcgY28oe2dlb21ldHJ5Ok99KV0pO3JldHVybntib3VuZGluZ1NwaGVyZTpjLGF0dHJpYnV0ZXM6RVswXS5hdHRyaWJ1dGVzLGluZGljZXM6RVswXS5pbmRpY2VzfX1mdW5jdGlvbiB2VCh0LGUsbixvLHIsaSxzKXtsZXQgdT1rci5jb21wdXRlRWxsaXBzZVBvc2l0aW9ucyh7Y2VudGVyOnQsc2VtaU1ham9yQXhpczplLHNlbWlNaW5vckF4aXM6bixyb3RhdGlvbjpvLGdyYW51bGFyaXR5OnJ9LCExLCEwKS5vdXRlclBvc2l0aW9ucyxjPXUubGVuZ3RoLzMsbD1uZXcgQXJyYXkoYyk7Zm9yKGxldCBkPTA7ZDxjOysrZClsW2RdPWEuZnJvbUFycmF5KHUsZCozKTtsZXQgcD1OdC5mcm9tQ2FydGVzaWFuQXJyYXkobCxpLHMpO3JldHVybiBwLndpZHRoPk0uUEkmJihwLm5vcnRoPXAubm9ydGg+MD9NLlBJX09WRVJfVFdPLU0uRVBTSUxPTjc6cC5ub3J0aCxwLnNvdXRoPXAuc291dGg8MD9NLkVQU0lMT043LU0uUElfT1ZFUl9UV086cC5zb3V0aCxwLmVhc3Q9TS5QSSxwLndlc3Q9LU0uUEkpLHB9ZnVuY3Rpb24gZmkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQuY2VudGVyLG49eCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpLG89dC5zZW1pTWFqb3JBeGlzLHI9dC5zZW1pTWlub3JBeGlzLGk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxzPXgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCk7aWYoeS5kZWZpbmVkKCJvcHRpb25zLmNlbnRlciIsZSkseS50eXBlT2YubnVtYmVyKCJvcHRpb25zLnNlbWlNYWpvckF4aXMiLG8pLHkudHlwZU9mLm51bWJlcigib3B0aW9ucy5zZW1pTWlub3JBeGlzIixyKSxvPHIpdGhyb3cgbmV3IEYoInNlbWlNYWpvckF4aXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlbWlNaW5vckF4aXMuIik7aWYoaTw9MCl0aHJvdyBuZXcgRigiZ3JhbnVsYXJpdHkgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4iKTtsZXQgZj14KHQuaGVpZ2h0LDApLHU9eCh0LmV4dHJ1ZGVkSGVpZ2h0LGYpO3RoaXMuX2NlbnRlcj1hLmNsb25lKGUpLHRoaXMuX3NlbWlNYWpvckF4aXM9byx0aGlzLl9zZW1pTWlub3JBeGlzPXIsdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUobiksdGhpcy5fcm90YXRpb249eCh0LnJvdGF0aW9uLDApLHRoaXMuX3N0Um90YXRpb249eCh0LnN0Um90YXRpb24sMCksdGhpcy5faGVpZ2h0PU1hdGgubWF4KHUsZiksdGhpcy5fZ3JhbnVsYXJpdHk9aSx0aGlzLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUocyksdGhpcy5fZXh0cnVkZWRIZWlnaHQ9TWF0aC5taW4odSxmKSx0aGlzLl9zaGFkb3dWb2x1bWU9eCh0LnNoYWRvd1ZvbHVtZSwhMSksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlRWxsaXBzZUdlb21ldHJ5Iix0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fcmVjdGFuZ2xlPXZvaWQgMCx0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzPXZvaWQgMH1mdW5jdGlvbiBXTSh0KXtsZXQgZT0tdC5fc3RSb3RhdGlvbjtpZihlPT09MClyZXR1cm5bMCwwLDAsMSwxLDBdO2xldCBvPWtyLmNvbXB1dGVFbGxpcHNlUG9zaXRpb25zKHtjZW50ZXI6dC5fY2VudGVyLHNlbWlNYWpvckF4aXM6dC5fc2VtaU1ham9yQXhpcyxzZW1pTWlub3JBeGlzOnQuX3NlbWlNaW5vckF4aXMscm90YXRpb246dC5fcm90YXRpb24sZ3JhbnVsYXJpdHk6dC5fZ3JhbnVsYXJpdHl9LCExLCEwKS5vdXRlclBvc2l0aW9ucyxyPW8ubGVuZ3RoLzMsaT1uZXcgQXJyYXkocik7Zm9yKGxldCB1PTA7dTxyOysrdSlpW3VdPWEuZnJvbUFycmF5KG8sdSozKTtsZXQgcz10Ll9lbGxpcHNvaWQsZj10LnJlY3RhbmdsZTtyZXR1cm4gVXQuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHMoaSxlLHMsZil9dmFyIGZhLF8wLHkwLE9ULCRuLEVULHpNLGcwLFJULFNULENULFpwLHhULFBULE1ULGNjLFlwLCRwLExULERULEZULGFpLEdyLEEwPVooKCk9Pnt2ZSgpO1VlKCk7RnQoKTtJZSgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtoMCgpO1p0KCk7U2koKTtYZSgpO1llKCk7YW4oKTtzYygpO0xvKCk7c2koKTskZSgpO1d0KCk7Qm4oKTt0bigpO0tvKCk7d24oKTtSbygpO2ZhPW5ldyBhLF8wPW5ldyBhLHkwPW5ldyBhLE9UPW5ldyBhLCRuPW5ldyB0dCxFVD1uZXcgUSx6TT1uZXcgUSxnMD1uZXcgZWUsUlQ9bmV3IGEsU1Q9bmV3IGEsQ1Q9bmV3IGEsWnA9bmV3IGN0LHhUPW5ldyBhLFBUPW5ldyB0dCxNVD1uZXcgdHQ7Y2M9bmV3IGE7WXA9bmV3IEF0LCRwPW5ldyBBdDtmaS5wYWNrZWRMZW5ndGg9YS5wYWNrZWRMZW5ndGgrJC5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RoKzk7ZmkucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0Ll9jZW50ZXIsZSxuKSxuKz1hLnBhY2tlZExlbmd0aCwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX3NlbWlNYWpvckF4aXMsZVtuKytdPXQuX3NlbWlNaW5vckF4aXMsZVtuKytdPXQuX3JvdGF0aW9uLGVbbisrXT10Ll9zdFJvdGF0aW9uLGVbbisrXT10Ll9oZWlnaHQsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fc2hhZG93Vm9sdW1lPzE6MCxlW25dPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtMVD1uZXcgYSxEVD1uZXcgJCxGVD1uZXcgZHQsYWk9e2NlbnRlcjpMVCxlbGxpcHNvaWQ6RFQsdmVydGV4Rm9ybWF0OkZULHNlbWlNYWpvckF4aXM6dm9pZCAwLHNlbWlNaW5vckF4aXM6dm9pZCAwLHJvdGF0aW9uOnZvaWQgMCxzdFJvdGF0aW9uOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMCxleHRydWRlZEhlaWdodDp2b2lkIDAsc2hhZG93Vm9sdW1lOnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTtmaS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPWEudW5wYWNrKHQsZSxMVCk7ZSs9YS5wYWNrZWRMZW5ndGg7bGV0IHI9JC51bnBhY2sodCxlLERUKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT1kdC51bnBhY2sodCxlLEZUKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IHM9dFtlKytdLGY9dFtlKytdLHU9dFtlKytdLGM9dFtlKytdLGw9dFtlKytdLHA9dFtlKytdLGQ9dFtlKytdLG09dFtlKytdPT09MSxfPXRbZV07cmV0dXJuIGgobik/KG4uX2NlbnRlcj1hLmNsb25lKG8sbi5fY2VudGVyKSxuLl9lbGxpcHNvaWQ9JC5jbG9uZShyLG4uX2VsbGlwc29pZCksbi5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKGksbi5fdmVydGV4Rm9ybWF0KSxuLl9zZW1pTWFqb3JBeGlzPXMsbi5fc2VtaU1pbm9yQXhpcz1mLG4uX3JvdGF0aW9uPXUsbi5fc3RSb3RhdGlvbj1jLG4uX2hlaWdodD1sLG4uX2dyYW51bGFyaXR5PXAsbi5fZXh0cnVkZWRIZWlnaHQ9ZCxuLl9zaGFkb3dWb2x1bWU9bSxuLl9vZmZzZXRBdHRyaWJ1dGU9Xz09PS0xP3ZvaWQgMDpfLG4pOihhaS5oZWlnaHQ9bCxhaS5leHRydWRlZEhlaWdodD1kLGFpLmdyYW51bGFyaXR5PXAsYWkuc3RSb3RhdGlvbj1jLGFpLnJvdGF0aW9uPXUsYWkuc2VtaU1ham9yQXhpcz1zLGFpLnNlbWlNaW5vckF4aXM9ZixhaS5zaGFkb3dWb2x1bWU9bSxhaS5vZmZzZXRBdHRyaWJ1dGU9Xz09PS0xP3ZvaWQgMDpfLG5ldyBmaShhaSkpfTtmaS5jb21wdXRlUmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBuPXQuY2VudGVyLG89eCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpLHI9dC5zZW1pTWFqb3JBeGlzLGk9dC5zZW1pTWlub3JBeGlzLHM9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxmPXgodC5yb3RhdGlvbiwwKTtpZih5LmRlZmluZWQoIm9wdGlvbnMuY2VudGVyIixuKSx5LnR5cGVPZi5udW1iZXIoIm9wdGlvbnMuc2VtaU1ham9yQXhpcyIscikseS50eXBlT2YubnVtYmVyKCJvcHRpb25zLnNlbWlNaW5vckF4aXMiLGkpLHI8aSl0aHJvdyBuZXcgRigic2VtaU1ham9yQXhpcyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc2VtaU1pbm9yQXhpcy4iKTtpZihzPD0wKXRocm93IG5ldyBGKCJncmFudWxhcml0eSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiIpO3JldHVybiB2VChuLHIsaSxmLHMsbyxlKX07ZmkuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7aWYodC5fc2VtaU1ham9yQXhpczw9MHx8dC5fc2VtaU1pbm9yQXhpczw9MClyZXR1cm47bGV0IGU9dC5faGVpZ2h0LG49dC5fZXh0cnVkZWRIZWlnaHQsbz0hTS5lcXVhbHNFcHNpbG9uKGUsbiwwLE0uRVBTSUxPTjIpO3QuX2NlbnRlcj10Ll9lbGxpcHNvaWQuc2NhbGVUb0dlb2RldGljU3VyZmFjZSh0Ll9jZW50ZXIsdC5fY2VudGVyKTtsZXQgcj17Y2VudGVyOnQuX2NlbnRlcixzZW1pTWFqb3JBeGlzOnQuX3NlbWlNYWpvckF4aXMsc2VtaU1pbm9yQXhpczp0Ll9zZW1pTWlub3JBeGlzLGVsbGlwc29pZDp0Ll9lbGxpcHNvaWQscm90YXRpb246dC5fcm90YXRpb24saGVpZ2h0OmUsZ3JhbnVsYXJpdHk6dC5fZ3JhbnVsYXJpdHksdmVydGV4Rm9ybWF0OnQuX3ZlcnRleEZvcm1hdCxzdFJvdGF0aW9uOnQuX3N0Um90YXRpb259LGk7aWYobylyLmV4dHJ1ZGVkSGVpZ2h0PW4sci5zaGFkb3dWb2x1bWU9dC5fc2hhZG93Vm9sdW1lLHIub2Zmc2V0QXR0cmlidXRlPXQuX29mZnNldEF0dHJpYnV0ZSxpPUtNKHIpO2Vsc2UgaWYoaT1qTShyKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBzPWkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLGY9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsdT1uZXcgVWludDhBcnJheShzLzMpLmZpbGwoZik7aS5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnV9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmkuYXR0cmlidXRlcyxpbmRpY2VzOmkuaW5kaWNlcyxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFUyxib3VuZGluZ1NwaGVyZTppLmJvdW5kaW5nU3BoZXJlLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07ZmkuY3JlYXRlU2hhZG93Vm9sdW1lPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10Ll9ncmFudWxhcml0eSxyPXQuX2VsbGlwc29pZCxpPWUobyxyKSxzPW4obyxyKTtyZXR1cm4gbmV3IGZpKHtjZW50ZXI6dC5fY2VudGVyLHNlbWlNYWpvckF4aXM6dC5fc2VtaU1ham9yQXhpcyxzZW1pTWlub3JBeGlzOnQuX3NlbWlNaW5vckF4aXMsZWxsaXBzb2lkOnIscm90YXRpb246dC5fcm90YXRpb24sc3RSb3RhdGlvbjp0Ll9zdFJvdGF0aW9uLGdyYW51bGFyaXR5Om8sZXh0cnVkZWRIZWlnaHQ6aSxoZWlnaHQ6cyx2ZXJ0ZXhGb3JtYXQ6ZHQuUE9TSVRJT05fT05MWSxzaGFkb3dWb2x1bWU6ITB9KX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZmkucHJvdG90eXBlLHtyZWN0YW5nbGU6e2dldDpmdW5jdGlvbigpe3JldHVybiBoKHRoaXMuX3JlY3RhbmdsZSl8fCh0aGlzLl9yZWN0YW5nbGU9dlQodGhpcy5fY2VudGVyLHRoaXMuX3NlbWlNYWpvckF4aXMsdGhpcy5fc2VtaU1pbm9yQXhpcyx0aGlzLl9yb3RhdGlvbix0aGlzLl9ncmFudWxhcml0eSx0aGlzLl9lbGxpcHNvaWQpKSx0aGlzLl9yZWN0YW5nbGV9fSx0ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzKXx8KHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM9V00odGhpcykpLHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHN9fX0pO0dyPWZpfSk7ZnVuY3Rpb24gdmkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucmFkaXVzO3kudHlwZU9mLm51bWJlcigicmFkaXVzIixlKTtsZXQgbj17Y2VudGVyOnQuY2VudGVyLHNlbWlNYWpvckF4aXM6ZSxzZW1pTWlub3JBeGlzOmUsZWxsaXBzb2lkOnQuZWxsaXBzb2lkLGhlaWdodDp0LmhlaWdodCxleHRydWRlZEhlaWdodDp0LmV4dHJ1ZGVkSGVpZ2h0LGdyYW51bGFyaXR5OnQuZ3JhbnVsYXJpdHksdmVydGV4Rm9ybWF0OnQudmVydGV4Rm9ybWF0LHN0Um90YXRpb246dC5zdFJvdGF0aW9uLHNoYWRvd1ZvbHVtZTp0LnNoYWRvd1ZvbHVtZX07dGhpcy5fZWxsaXBzZUdlb21ldHJ5PW5ldyBHcihuKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDaXJjbGVHZW9tZXRyeSJ9dmFyIEJULF9vLGIwLFVUPVooKCk9PntGdCgpO1h0KCk7SXQoKTtmdCgpO0EwKCk7WnQoKTtSbygpO3ZpLnBhY2tlZExlbmd0aD1Hci5wYWNrZWRMZW5ndGg7dmkucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLEdyLnBhY2sodC5fZWxsaXBzZUdlb21ldHJ5LGUsbil9O0JUPW5ldyBHcih7Y2VudGVyOm5ldyBhLHNlbWlNYWpvckF4aXM6MSxzZW1pTWlub3JBeGlzOjF9KSxfbz17Y2VudGVyOm5ldyBhLHJhZGl1czp2b2lkIDAsZWxsaXBzb2lkOiQuY2xvbmUoJC5kZWZhdWx0KSxoZWlnaHQ6dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDAsdmVydGV4Rm9ybWF0Om5ldyBkdCxzdFJvdGF0aW9uOnZvaWQgMCxzZW1pTWFqb3JBeGlzOnZvaWQgMCxzZW1pTWlub3JBeGlzOnZvaWQgMCxzaGFkb3dWb2x1bWU6dm9pZCAwfTt2aS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2xldCBvPUdyLnVucGFjayh0LGUsQlQpO3JldHVybiBfby5jZW50ZXI9YS5jbG9uZShvLl9jZW50ZXIsX28uY2VudGVyKSxfby5lbGxpcHNvaWQ9JC5jbG9uZShvLl9lbGxpcHNvaWQsX28uZWxsaXBzb2lkKSxfby5lbGxpcHNvaWQ9JC5jbG9uZShvLl9lbGxpcHNvaWQsQlQuX2VsbGlwc29pZCksX28uaGVpZ2h0PW8uX2hlaWdodCxfby5leHRydWRlZEhlaWdodD1vLl9leHRydWRlZEhlaWdodCxfby5ncmFudWxhcml0eT1vLl9ncmFudWxhcml0eSxfby52ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoby5fdmVydGV4Rm9ybWF0LF9vLnZlcnRleEZvcm1hdCksX28uc3RSb3RhdGlvbj1vLl9zdFJvdGF0aW9uLF9vLnNoYWRvd1ZvbHVtZT1vLl9zaGFkb3dWb2x1bWUsaChuKT8oX28uc2VtaU1ham9yQXhpcz1vLl9zZW1pTWFqb3JBeGlzLF9vLnNlbWlNaW5vckF4aXM9by5fc2VtaU1pbm9yQXhpcyxuLl9lbGxpcHNlR2VvbWV0cnk9bmV3IEdyKF9vKSxuKTooX28ucmFkaXVzPW8uX3NlbWlNYWpvckF4aXMsbmV3IHZpKF9vKSl9O3ZpLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe3JldHVybiBHci5jcmVhdGVHZW9tZXRyeSh0Ll9lbGxpcHNlR2VvbWV0cnkpfTt2aS5jcmVhdGVTaGFkb3dWb2x1bWU9ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQuX2VsbGlwc2VHZW9tZXRyeS5fZ3JhbnVsYXJpdHkscj10Ll9lbGxpcHNlR2VvbWV0cnkuX2VsbGlwc29pZCxpPWUobyxyKSxzPW4obyxyKTtyZXR1cm4gbmV3IHZpKHtjZW50ZXI6dC5fZWxsaXBzZUdlb21ldHJ5Ll9jZW50ZXIscmFkaXVzOnQuX2VsbGlwc2VHZW9tZXRyeS5fc2VtaU1ham9yQXhpcyxlbGxpcHNvaWQ6cixzdFJvdGF0aW9uOnQuX2VsbGlwc2VHZW9tZXRyeS5fc3RSb3RhdGlvbixncmFudWxhcml0eTpvLGV4dHJ1ZGVkSGVpZ2h0OmksaGVpZ2h0OnMsdmVydGV4Rm9ybWF0OmR0LlBPU0lUSU9OX09OTFksc2hhZG93Vm9sdW1lOiEwfSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHZpLnByb3RvdHlwZSx7cmVjdGFuZ2xlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZWxsaXBzZUdlb21ldHJ5LnJlY3RhbmdsZX19LHRleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGxpcHNlR2VvbWV0cnkudGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50c319fSk7YjA9dml9KTt2YXIgVDA9e307ZGUoVDAse2RlZmF1bHQ6KCk9PllNfSk7ZnVuY3Rpb24gWE0odCxlKXtyZXR1cm4gaChlKSYmKHQ9YjAudW5wYWNrKHQsZSkpLHQuX2VsbGlwc2VHZW9tZXRyeS5fY2VudGVyPWEuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9jZW50ZXIpLHQuX2VsbGlwc2VHZW9tZXRyeS5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9lbGxpcHNvaWQpLGIwLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBZTSx3MD1aKCgpPT57RnQoKTtVVCgpO2Z0KCk7WnQoKTtZTT1YTX0pO2Z1bmN0aW9uICRNKHQpe2xldCBlPXQuY2VudGVyO2FjPWEubXVsdGlwbHlCeVNjYWxhcih0LmVsbGlwc29pZC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZSxhYyksdC5oZWlnaHQsYWMpLGFjPWEuYWRkKGUsYWMsYWMpO2xldCBuPW5ldyBBdChhYyx0LnNlbWlNYWpvckF4aXMpLG89a3IuY29tcHV0ZUVsbGlwc2VQb3NpdGlvbnModCwhMSwhMCkub3V0ZXJQb3NpdGlvbnMscj1uZXcgaWUoe3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6a3IucmFpc2VQb3NpdGlvbnNUb0hlaWdodChvLHQsITEpfSl9KSxpPW8ubGVuZ3RoLzMscz1EdC5jcmVhdGVUeXBlZEFycmF5KGksaSoyKSxmPTA7Zm9yKGxldCB1PTA7dTxpOysrdSlzW2YrK109dSxzW2YrK109KHUrMSklaTtyZXR1cm57Ym91bmRpbmdTcGhlcmU6bixhdHRyaWJ1dGVzOnIsaW5kaWNlczpzfX1mdW5jdGlvbiBaTSh0KXtsZXQgZT10LmNlbnRlcixuPXQuZWxsaXBzb2lkLG89dC5zZW1pTWFqb3JBeGlzLHI9YS5tdWx0aXBseUJ5U2NhbGFyKG4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGUsVlQpLHQuaGVpZ2h0LFZUKTtRcC5jZW50ZXI9YS5hZGQoZSxyLFFwLmNlbnRlciksUXAucmFkaXVzPW8scj1hLm11bHRpcGx5QnlTY2FsYXIobi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZSxyKSx0LmV4dHJ1ZGVkSGVpZ2h0LHIpLEpwLmNlbnRlcj1hLmFkZChlLHIsSnAuY2VudGVyKSxKcC5yYWRpdXM9bztsZXQgaT1rci5jb21wdXRlRWxsaXBzZVBvc2l0aW9ucyh0LCExLCEwKS5vdXRlclBvc2l0aW9ucyxzPW5ldyBpZSh7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczprci5yYWlzZVBvc2l0aW9uc1RvSGVpZ2h0KGksdCwhMCl9KX0pO2k9cy5wb3NpdGlvbi52YWx1ZXM7bGV0IGY9QXQudW5pb24oUXAsSnApLHU9aS5sZW5ndGgvMztpZihoKHQub2Zmc2V0QXR0cmlidXRlKSl7bGV0IF89bmV3IFVpbnQ4QXJyYXkodSk7aWYodC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApXz1fLmZpbGwoMSwwLHUvMik7ZWxzZXtsZXQgZz10Lm9mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxO189Xy5maWxsKGcpfXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6X30pfWxldCBjPXgodC5udW1iZXJPZlZlcnRpY2FsTGluZXMsMTYpO2M9TS5jbGFtcChjLDAsdS8yKTtsZXQgbD1EdC5jcmVhdGVUeXBlZEFycmF5KHUsdSoyK2MqMik7dS89MjtsZXQgcD0wLGQ7Zm9yKGQ9MDtkPHU7KytkKWxbcCsrXT1kLGxbcCsrXT0oZCsxKSV1LGxbcCsrXT1kK3UsbFtwKytdPShkKzEpJXUrdTtsZXQgbTtpZihjPjApe2xldCBfPU1hdGgubWluKGMsdSk7bT1NYXRoLnJvdW5kKHUvXyk7bGV0IGc9TWF0aC5taW4obSpjLHUpO2ZvcihkPTA7ZDxnO2QrPW0pbFtwKytdPWQsbFtwKytdPWQrdX1yZXR1cm57Ym91bmRpbmdTcGhlcmU6ZixhdHRyaWJ1dGVzOnMsaW5kaWNlczpsfX1mdW5jdGlvbiB1YSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5jZW50ZXIsbj14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCksbz10LnNlbWlNYWpvckF4aXMscj10LnNlbWlNaW5vckF4aXMsaT14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJjZW50ZXIgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEYoInNlbWlNYWpvckF4aXMgaXMgcmVxdWlyZWQuIik7aWYoIWgocikpdGhyb3cgbmV3IEYoInNlbWlNaW5vckF4aXMgaXMgcmVxdWlyZWQuIik7aWYobzxyKXRocm93IG5ldyBGKCJzZW1pTWFqb3JBeGlzIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBzZW1pTWlub3JBeGlzLiIpO2lmKGk8PTApdGhyb3cgbmV3IEYoImdyYW51bGFyaXR5IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7bGV0IHM9eCh0LmhlaWdodCwwKSxmPXgodC5leHRydWRlZEhlaWdodCxzKTt0aGlzLl9jZW50ZXI9YS5jbG9uZShlKSx0aGlzLl9zZW1pTWFqb3JBeGlzPW8sdGhpcy5fc2VtaU1pbm9yQXhpcz1yLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKG4pLHRoaXMuX3JvdGF0aW9uPXgodC5yb3RhdGlvbiwwKSx0aGlzLl9oZWlnaHQ9TWF0aC5tYXgoZixzKSx0aGlzLl9ncmFudWxhcml0eT1pLHRoaXMuX2V4dHJ1ZGVkSGVpZ2h0PU1hdGgubWluKGYscyksdGhpcy5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzPU1hdGgubWF4KHgodC5udW1iZXJPZlZlcnRpY2FsTGluZXMsMTYpLDApLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVFbGxpcHNlT3V0bGluZUdlb21ldHJ5In12YXIgVlQsYWMsUXAsSnAsa1QsR1QsTGksenIsTzA9WigoKT0+e3ZlKCk7RnQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO2gwKCk7WnQoKTtYZSgpO1llKCk7YW4oKTtMbygpOyRlKCk7V3QoKTt0bigpO1ZUPW5ldyBhLGFjPW5ldyBhO1FwPW5ldyBBdCxKcD1uZXcgQXQ7dWEucGFja2VkTGVuZ3RoPWEucGFja2VkTGVuZ3RoKyQucGFja2VkTGVuZ3RoKzg7dWEucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7cmV0dXJuIG49eChuLDApLGEucGFjayh0Ll9jZW50ZXIsZSxuKSxuKz1hLnBhY2tlZExlbmd0aCwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX3NlbWlNYWpvckF4aXMsZVtuKytdPXQuX3NlbWlNaW5vckF4aXMsZVtuKytdPXQuX3JvdGF0aW9uLGVbbisrXT10Ll9oZWlnaHQsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzLGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O2tUPW5ldyBhLEdUPW5ldyAkLExpPXtjZW50ZXI6a1QsZWxsaXBzb2lkOkdULHNlbWlNYWpvckF4aXM6dm9pZCAwLHNlbWlNaW5vckF4aXM6dm9pZCAwLHJvdGF0aW9uOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMCxleHRydWRlZEhlaWdodDp2b2lkIDAsbnVtYmVyT2ZWZXJ0aWNhbExpbmVzOnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTt1YS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvPWEudW5wYWNrKHQsZSxrVCk7ZSs9YS5wYWNrZWRMZW5ndGg7bGV0IHI9JC51bnBhY2sodCxlLEdUKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT10W2UrK10scz10W2UrK10sZj10W2UrK10sdT10W2UrK10sYz10W2UrK10sbD10W2UrK10scD10W2UrK10sZD10W2VdO3JldHVybiBoKG4pPyhuLl9jZW50ZXI9YS5jbG9uZShvLG4uX2NlbnRlciksbi5fZWxsaXBzb2lkPSQuY2xvbmUocixuLl9lbGxpcHNvaWQpLG4uX3NlbWlNYWpvckF4aXM9aSxuLl9zZW1pTWlub3JBeGlzPXMsbi5fcm90YXRpb249ZixuLl9oZWlnaHQ9dSxuLl9ncmFudWxhcml0eT1jLG4uX2V4dHJ1ZGVkSGVpZ2h0PWwsbi5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzPXAsbi5fb2Zmc2V0QXR0cmlidXRlPWQ9PT0tMT92b2lkIDA6ZCxuKTooTGkuaGVpZ2h0PXUsTGkuZXh0cnVkZWRIZWlnaHQ9bCxMaS5ncmFudWxhcml0eT1jLExpLnJvdGF0aW9uPWYsTGkuc2VtaU1ham9yQXhpcz1pLExpLnNlbWlNaW5vckF4aXM9cyxMaS5udW1iZXJPZlZlcnRpY2FsTGluZXM9cCxMaS5vZmZzZXRBdHRyaWJ1dGU9ZD09PS0xP3ZvaWQgMDpkLG5ldyB1YShMaSkpfTt1YS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtpZih0Ll9zZW1pTWFqb3JBeGlzPD0wfHx0Ll9zZW1pTWlub3JBeGlzPD0wKXJldHVybjtsZXQgZT10Ll9oZWlnaHQsbj10Ll9leHRydWRlZEhlaWdodCxvPSFNLmVxdWFsc0Vwc2lsb24oZSxuLDAsTS5FUFNJTE9OMik7dC5fY2VudGVyPXQuX2VsbGlwc29pZC5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKHQuX2NlbnRlcix0Ll9jZW50ZXIpO2xldCByPXtjZW50ZXI6dC5fY2VudGVyLHNlbWlNYWpvckF4aXM6dC5fc2VtaU1ham9yQXhpcyxzZW1pTWlub3JBeGlzOnQuX3NlbWlNaW5vckF4aXMsZWxsaXBzb2lkOnQuX2VsbGlwc29pZCxyb3RhdGlvbjp0Ll9yb3RhdGlvbixoZWlnaHQ6ZSxncmFudWxhcml0eTp0Ll9ncmFudWxhcml0eSxudW1iZXJPZlZlcnRpY2FsTGluZXM6dC5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzfSxpO2lmKG8pci5leHRydWRlZEhlaWdodD1uLHIub2Zmc2V0QXR0cmlidXRlPXQuX29mZnNldEF0dHJpYnV0ZSxpPVpNKHIpO2Vsc2UgaWYoaT0kTShyKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBzPWkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLGY9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsdT1uZXcgVWludDhBcnJheShzLzMpLmZpbGwoZik7aS5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnV9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmkuYXR0cmlidXRlcyxpbmRpY2VzOmkuaW5kaWNlcyxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOmkuYm91bmRpbmdTcGhlcmUsb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTt6cj11YX0pO2Z1bmN0aW9uIGxhKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnJhZGl1czt5LnR5cGVPZi5udW1iZXIoInJhZGl1cyIsZSk7bGV0IG49e2NlbnRlcjp0LmNlbnRlcixzZW1pTWFqb3JBeGlzOmUsc2VtaU1pbm9yQXhpczplLGVsbGlwc29pZDp0LmVsbGlwc29pZCxoZWlnaHQ6dC5oZWlnaHQsZXh0cnVkZWRIZWlnaHQ6dC5leHRydWRlZEhlaWdodCxncmFudWxhcml0eTp0LmdyYW51bGFyaXR5LG51bWJlck9mVmVydGljYWxMaW5lczp0Lm51bWJlck9mVmVydGljYWxMaW5lc307dGhpcy5fZWxsaXBzZUdlb21ldHJ5PW5ldyB6cihuKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDaXJjbGVPdXRsaW5lR2VvbWV0cnkifXZhciBRTSxpcixFMCx6VD1aKCgpPT57RnQoKTtYdCgpO0l0KCk7ZnQoKTtPMCgpO1p0KCk7bGEucGFja2VkTGVuZ3RoPXpyLnBhY2tlZExlbmd0aDtsYS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCksenIucGFjayh0Ll9lbGxpcHNlR2VvbWV0cnksZSxuKX07UU09bmV3IHpyKHtjZW50ZXI6bmV3IGEsc2VtaU1ham9yQXhpczoxLHNlbWlNaW5vckF4aXM6MX0pLGlyPXtjZW50ZXI6bmV3IGEscmFkaXVzOnZvaWQgMCxlbGxpcHNvaWQ6JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSxoZWlnaHQ6dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDAsbnVtYmVyT2ZWZXJ0aWNhbExpbmVzOnZvaWQgMCxzZW1pTWFqb3JBeGlzOnZvaWQgMCxzZW1pTWlub3JBeGlzOnZvaWQgMH07bGEudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz16ci51bnBhY2sodCxlLFFNKTtyZXR1cm4gaXIuY2VudGVyPWEuY2xvbmUoby5fY2VudGVyLGlyLmNlbnRlciksaXIuZWxsaXBzb2lkPSQuY2xvbmUoby5fZWxsaXBzb2lkLGlyLmVsbGlwc29pZCksaXIuaGVpZ2h0PW8uX2hlaWdodCxpci5leHRydWRlZEhlaWdodD1vLl9leHRydWRlZEhlaWdodCxpci5ncmFudWxhcml0eT1vLl9ncmFudWxhcml0eSxpci5udW1iZXJPZlZlcnRpY2FsTGluZXM9by5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzLGgobik/KGlyLnNlbWlNYWpvckF4aXM9by5fc2VtaU1ham9yQXhpcyxpci5zZW1pTWlub3JBeGlzPW8uX3NlbWlNaW5vckF4aXMsbi5fZWxsaXBzZUdlb21ldHJ5PW5ldyB6cihpciksbik6KGlyLnJhZGl1cz1vLl9zZW1pTWFqb3JBeGlzLG5ldyBsYShpcikpfTtsYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtyZXR1cm4genIuY3JlYXRlR2VvbWV0cnkodC5fZWxsaXBzZUdlb21ldHJ5KX07RTA9bGF9KTt2YXIgUjA9e307ZGUoUjAse2RlZmF1bHQ6KCk9PnROfSk7ZnVuY3Rpb24gSk0odCxlKXtyZXR1cm4gaChlKSYmKHQ9RTAudW5wYWNrKHQsZSkpLHQuX2VsbGlwc2VHZW9tZXRyeS5fY2VudGVyPWEuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9jZW50ZXIpLHQuX2VsbGlwc2VHZW9tZXRyeS5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9lbGxpcHNvaWQpLEUwLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciB0TixTMD1aKCgpPT57RnQoKTt6VCgpO2Z0KCk7WnQoKTt0Tj1KTX0pO2Z1bmN0aW9uIGVOKHQsZSxuLG8pe2lmKHkuZGVmaW5lZCgiZXF1YWxzRXBzaWxvbiIsZSksIWgodCkpcmV0dXJuO249eChuLCExKTtsZXQgcj1oKG8pLGk9dC5sZW5ndGg7aWYoaTwyKXJldHVybiB0O2xldCBzLGY9dFswXSx1LGMsbD0wLHA9LTE7Zm9yKHM9MTtzPGk7KytzKXU9dFtzXSxlKGYsdSxqVCk/KGgoYyl8fChjPXQuc2xpY2UoMCxzKSxsPXMtMSxwPTApLHImJm8ucHVzaChzKSk6KGgoYykmJihjLnB1c2godSksbD1zLHImJihwPW8ubGVuZ3RoKSksZj11KTtyZXR1cm4gbiYmZSh0WzBdLHRbaS0xXSxqVCkmJihyJiYoaChjKT9vLnNwbGljZShwLDAsbCk6by5wdXNoKGktMSkpLGgoYyk/Yy5sZW5ndGgtPTE6Yz10LnNsaWNlKDAsLTEpKSxoKGMpP2M6dH12YXIgalQseG4sanI9WigoKT0+e1h0KCk7SXQoKTtmdCgpO1d0KCk7alQ9TS5FUFNJTE9OMTA7eG49ZU59KTtmdW5jdGlvbiBJbih0LGUsbixvKXt0aGlzLng9eCh0LDApLHRoaXMueT14KGUsMCksdGhpcy53aWR0aD14KG4sMCksdGhpcy5oZWlnaHQ9eChvLDApfXZhciBIVCxuTixvTixIcixQZj1aKCgpPT57VWUoKTtJZSgpO1h0KCk7SXQoKTtmdCgpO1p0KCk7U2koKTtrcygpO3duKCk7SW4ucGFja2VkTGVuZ3RoPTQ7SW4ucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuKytdPXQueSxlW24rK109dC53aWR0aCxlW25dPXQuaGVpZ2h0LGV9O0luLnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBJbiksbi54PXRbZSsrXSxuLnk9dFtlKytdLG4ud2lkdGg9dFtlKytdLG4uaGVpZ2h0PXRbZV0sbn07SW4uZnJvbVBvaW50cz1mdW5jdGlvbih0LGUpe2lmKGgoZSl8fChlPW5ldyBJbiksIWgodCl8fHQubGVuZ3RoPT09MClyZXR1cm4gZS54PTAsZS55PTAsZS53aWR0aD0wLGUuaGVpZ2h0PTAsZTtsZXQgbj10Lmxlbmd0aCxvPXRbMF0ueCxyPXRbMF0ueSxpPXRbMF0ueCxzPXRbMF0ueTtmb3IobGV0IGY9MTtmPG47ZisrKXtsZXQgdT10W2ZdLGM9dS54LGw9dS55O289TWF0aC5taW4oYyxvKSxpPU1hdGgubWF4KGMsaSkscj1NYXRoLm1pbihsLHIpLHM9TWF0aC5tYXgobCxzKX1yZXR1cm4gZS54PW8sZS55PXIsZS53aWR0aD1pLW8sZS5oZWlnaHQ9cy1yLGV9O0hUPW5ldyBKbixuTj1uZXcgY3Qsb049bmV3IGN0O0luLmZyb21SZWN0YW5nbGU9ZnVuY3Rpb24odCxlLG4pe2lmKGgobil8fChuPW5ldyBJbiksIWgodCkpcmV0dXJuIG4ueD0wLG4ueT0wLG4ud2lkdGg9MCxuLmhlaWdodD0wLG47SFQuX2VsbGlwc29pZD0kLmRlZmF1bHQsZT14KGUsSFQpO2xldCBvPWUucHJvamVjdChOdC5zb3V0aHdlc3QodCxuTikpLHI9ZS5wcm9qZWN0KE50Lm5vcnRoZWFzdCh0LG9OKSk7cmV0dXJuIHR0LnN1YnRyYWN0KHIsbyxyKSxuLng9by54LG4ueT1vLnksbi53aWR0aD1yLngsbi5oZWlnaHQ9ci55LG59O0luLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS54PXQueCxlLnk9dC55LGUud2lkdGg9dC53aWR0aCxlLmhlaWdodD10LmhlaWdodCxlKTpuZXcgSW4odC54LHQueSx0LndpZHRoLHQuaGVpZ2h0KX07SW4udW5pb249ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksaChuKXx8KG49bmV3IEluKTtsZXQgbz1NYXRoLm1pbih0LngsZS54KSxyPU1hdGgubWluKHQueSxlLnkpLGk9TWF0aC5tYXgodC54K3Qud2lkdGgsZS54K2Uud2lkdGgpLHM9TWF0aC5tYXgodC55K3QuaGVpZ2h0LGUueStlLmhlaWdodCk7cmV0dXJuIG4ueD1vLG4ueT1yLG4ud2lkdGg9aS1vLG4uaGVpZ2h0PXMtcixufTtJbi5leHBhbmQ9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KSx5LnR5cGVPZi5vYmplY3QoInBvaW50IixlKSxuPUluLmNsb25lKHQsbik7bGV0IG89ZS54LW4ueCxyPWUueS1uLnk7cmV0dXJuIG8+bi53aWR0aD9uLndpZHRoPW86bzwwJiYobi53aWR0aC09byxuLng9ZS54KSxyPm4uaGVpZ2h0P24uaGVpZ2h0PXI6cjwwJiYobi5oZWlnaHQtPXIsbi55PWUueSksbn07SW4uaW50ZXJzZWN0PWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKTtsZXQgbj10Lngsbz10Lnkscj1lLngsaT1lLnk7cmV0dXJuIG4+citlLndpZHRofHxuK3Qud2lkdGg8cnx8byt0LmhlaWdodDxpfHxvPmkrZS5oZWlnaHQ/U24uT1VUU0lERTpTbi5JTlRFUlNFQ1RJTkd9O0luLmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmdC54PT09ZS54JiZ0Lnk9PT1lLnkmJnQud2lkdGg9PT1lLndpZHRoJiZ0LmhlaWdodD09PWUuaGVpZ2h0fTtJbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIEluLmNsb25lKHRoaXMsdCl9O0luLnByb3RvdHlwZS5pbnRlcnNlY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIEluLmludGVyc2VjdCh0aGlzLHQpfTtJbi5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBJbi5lcXVhbHModGhpcyx0KX07SHI9SW59KTtmdW5jdGlvbiBEbyh0LGUsbil7dGhpcy5taW5pbXVtPWEuY2xvbmUoeCh0LGEuWkVSTykpLHRoaXMubWF4aW11bT1hLmNsb25lKHgoZSxhLlpFUk8pKSxoKG4pP249YS5jbG9uZShuKTpuPWEubWlkcG9pbnQodGhpcy5taW5pbXVtLHRoaXMubWF4aW11bSxuZXcgYSksdGhpcy5jZW50ZXI9bn12YXIgdGQsRGksTWY9WigoKT0+e0Z0KCk7WHQoKTtJdCgpO2Z0KCk7a3MoKTtEby5mcm9tQ29ybmVycz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgibWluaW11bSIsdCkseS5kZWZpbmVkKCJtYXhpbXVtIixlKSxoKG4pfHwobj1uZXcgRG8pLG4ubWluaW11bT1hLmNsb25lKHQsbi5taW5pbXVtKSxuLm1heGltdW09YS5jbG9uZShlLG4ubWF4aW11bSksbi5jZW50ZXI9YS5taWRwb2ludCh0LGUsbi5jZW50ZXIpLG59O0RvLmZyb21Qb2ludHM9ZnVuY3Rpb24odCxlKXtpZihoKGUpfHwoZT1uZXcgRG8pLCFoKHQpfHx0Lmxlbmd0aD09PTApcmV0dXJuIGUubWluaW11bT1hLmNsb25lKGEuWkVSTyxlLm1pbmltdW0pLGUubWF4aW11bT1hLmNsb25lKGEuWkVSTyxlLm1heGltdW0pLGUuY2VudGVyPWEuY2xvbmUoYS5aRVJPLGUuY2VudGVyKSxlO2xldCBuPXRbMF0ueCxvPXRbMF0ueSxyPXRbMF0ueixpPXRbMF0ueCxzPXRbMF0ueSxmPXRbMF0ueix1PXQubGVuZ3RoO2ZvcihsZXQgcD0xO3A8dTtwKyspe2xldCBkPXRbcF0sbT1kLngsXz1kLnksZz1kLno7bj1NYXRoLm1pbihtLG4pLGk9TWF0aC5tYXgobSxpKSxvPU1hdGgubWluKF8sbykscz1NYXRoLm1heChfLHMpLHI9TWF0aC5taW4oZyxyKSxmPU1hdGgubWF4KGcsZil9bGV0IGM9ZS5taW5pbXVtO2MueD1uLGMueT1vLGMuej1yO2xldCBsPWUubWF4aW11bTtyZXR1cm4gbC54PWksbC55PXMsbC56PWYsZS5jZW50ZXI9YS5taWRwb2ludChjLGwsZS5jZW50ZXIpLGV9O0RvLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS5taW5pbXVtPWEuY2xvbmUodC5taW5pbXVtLGUubWluaW11bSksZS5tYXhpbXVtPWEuY2xvbmUodC5tYXhpbXVtLGUubWF4aW11bSksZS5jZW50ZXI9YS5jbG9uZSh0LmNlbnRlcixlLmNlbnRlciksZSk6bmV3IERvKHQubWluaW11bSx0Lm1heGltdW0sdC5jZW50ZXIpfTtEby5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJmEuZXF1YWxzKHQuY2VudGVyLGUuY2VudGVyKSYmYS5lcXVhbHModC5taW5pbXVtLGUubWluaW11bSkmJmEuZXF1YWxzKHQubWF4aW11bSxlLm1heGltdW0pfTt0ZD1uZXcgYTtEby5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiYm94Iix0KSx5LmRlZmluZWQoInBsYW5lIixlKSx0ZD1hLnN1YnRyYWN0KHQubWF4aW11bSx0Lm1pbmltdW0sdGQpO2xldCBuPWEubXVsdGlwbHlCeVNjYWxhcih0ZCwuNSx0ZCksbz1lLm5vcm1hbCxyPW4ueCpNYXRoLmFicyhvLngpK24ueSpNYXRoLmFicyhvLnkpK24ueipNYXRoLmFicyhvLnopLGk9YS5kb3QodC5jZW50ZXIsbykrZS5kaXN0YW5jZTtyZXR1cm4gaS1yPjA/U24uSU5TSURFOmkrcjwwP1NuLk9VVFNJREU6U24uSU5URVJTRUNUSU5HfTtEby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIERvLmNsb25lKHRoaXMsdCl9O0RvLnByb3RvdHlwZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0KXtyZXR1cm4gRG8uaW50ZXJzZWN0UGxhbmUodGhpcyx0KX07RG8ucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gRG8uZXF1YWxzKHRoaXMsdCl9O0RpPURvfSk7ZnVuY3Rpb24gdWkodCxlKXtpZih5LmRlZmluZWQoIm9yaWdpbiIsdCksZT14KGUsJC5kZWZhdWx0KSx0PWUuc2NhbGVUb0dlb2RldGljU3VyZmFjZSh0KSwhaCh0KSl0aHJvdyBuZXcgRigib3JpZ2luIG11c3Qgbm90IGJlIGF0IHRoZSBjZW50ZXIgb2YgdGhlIGVsbGlwc29pZC4iKTtsZXQgbj1Yby5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZSh0LGUpO3RoaXMuX2VsbGlwc29pZD1lLHRoaXMuX29yaWdpbj10LHRoaXMuX3hBeGlzPWEuZnJvbUNhcnRlc2lhbjQoc3QuZ2V0Q29sdW1uKG4sMCxDMCkpLHRoaXMuX3lBeGlzPWEuZnJvbUNhcnRlc2lhbjQoc3QuZ2V0Q29sdW1uKG4sMSxDMCkpO2xldCBvPWEuZnJvbUNhcnRlc2lhbjQoc3QuZ2V0Q29sdW1uKG4sMixDMCkpO3RoaXMuX3BsYW5lPW9uLmZyb21Qb2ludE5vcm1hbCh0LG8pfXZhciBDMCxyTixxVCxlZCxpTix5byxwYT1aKCgpPT57TWYoKTtVZSgpO0Z0KCk7aHIoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7dGMoKTtVbigpO2ZzKCk7VnAoKTtjcygpO0MwPW5ldyBoZTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh1aS5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19LG9yaWdpbjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29yaWdpbn19LHBsYW5lOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGxhbmV9fSx4QXhpczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3hBeGlzfX0seUF4aXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl95QXhpc319LHpBeGlzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGxhbmUubm9ybWFsfX19KTtyTj1uZXcgRGk7dWkuZnJvbVBvaW50cz1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFucyIsdCk7bGV0IG49RGkuZnJvbVBvaW50cyh0LHJOKTtyZXR1cm4gbmV3IHVpKG4uY2VudGVyLGUpfTtxVD1uZXcgUXMsZWQ9bmV3IGE7dWkucHJvdG90eXBlLnByb2plY3RQb2ludE9udG9QbGFuZT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFuIix0KTtsZXQgbj1xVDtuLm9yaWdpbj10LGEubm9ybWFsaXplKHQsbi5kaXJlY3Rpb24pO2xldCBvPWhvLnJheVBsYW5lKG4sdGhpcy5fcGxhbmUsZWQpO2lmKGgobyl8fChhLm5lZ2F0ZShuLmRpcmVjdGlvbixuLmRpcmVjdGlvbiksbz1oby5yYXlQbGFuZShuLHRoaXMuX3BsYW5lLGVkKSksaChvKSl7bGV0IHI9YS5zdWJ0cmFjdChvLHRoaXMuX29yaWdpbixvKSxpPWEuZG90KHRoaXMuX3hBeGlzLHIpLHM9YS5kb3QodGhpcy5feUF4aXMscik7cmV0dXJuIGgoZSk/KGUueD1pLGUueT1zLGUpOm5ldyB0dChpLHMpfX07dWkucHJvdG90eXBlLnByb2plY3RQb2ludHNPbnRvUGxhbmU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbnMiLHQpLGgoZSl8fChlPVtdKTtsZXQgbj0wLG89dC5sZW5ndGg7Zm9yKGxldCByPTA7cjxvO3IrKyl7bGV0IGk9dGhpcy5wcm9qZWN0UG9pbnRPbnRvUGxhbmUodFtyXSxlW25dKTtoKGkpJiYoZVtuXT1pLG4rKyl9cmV0dXJuIGUubGVuZ3RoPW4sZX07dWkucHJvdG90eXBlLnByb2plY3RQb2ludFRvTmVhcmVzdE9uUGxhbmU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbiIsdCksaChlKXx8KGU9bmV3IHR0KTtsZXQgbj1xVDtuLm9yaWdpbj10LGEuY2xvbmUodGhpcy5fcGxhbmUubm9ybWFsLG4uZGlyZWN0aW9uKTtsZXQgbz1oby5yYXlQbGFuZShuLHRoaXMuX3BsYW5lLGVkKTtoKG8pfHwoYS5uZWdhdGUobi5kaXJlY3Rpb24sbi5kaXJlY3Rpb24pLG89aG8ucmF5UGxhbmUobix0aGlzLl9wbGFuZSxlZCkpO2xldCByPWEuc3VidHJhY3Qobyx0aGlzLl9vcmlnaW4sbyksaT1hLmRvdCh0aGlzLl94QXhpcyxyKSxzPWEuZG90KHRoaXMuX3lBeGlzLHIpO3JldHVybiBlLng9aSxlLnk9cyxlfTt1aS5wcm90b3R5cGUucHJvamVjdFBvaW50c1RvTmVhcmVzdE9uUGxhbmU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbnMiLHQpLGgoZSl8fChlPVtdKTtsZXQgbj10Lmxlbmd0aDtlLmxlbmd0aD1uO2ZvcihsZXQgbz0wO288bjtvKyspZVtvXT10aGlzLnByb2plY3RQb2ludFRvTmVhcmVzdE9uUGxhbmUodFtvXSxlW29dKTtyZXR1cm4gZX07aU49bmV3IGE7dWkucHJvdG90eXBlLnByb2plY3RQb2ludE9udG9FbGxpcHNvaWQ9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbiIsdCksaChlKXx8KGU9bmV3IGEpO2xldCBuPXRoaXMuX2VsbGlwc29pZCxvPXRoaXMuX29yaWdpbixyPXRoaXMuX3hBeGlzLGk9dGhpcy5feUF4aXMscz1pTjtyZXR1cm4gYS5tdWx0aXBseUJ5U2NhbGFyKHIsdC54LHMpLGU9YS5hZGQobyxzLGUpLGEubXVsdGlwbHlCeVNjYWxhcihpLHQueSxzKSxhLmFkZChlLHMsZSksbi5zY2FsZVRvR2VvY2VudHJpY1N1cmZhY2UoZSxlKSxlfTt1aS5wcm90b3R5cGUucHJvamVjdFBvaW50c09udG9FbGxpcHNvaWQ9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbnMiLHQpO2xldCBuPXQubGVuZ3RoO2goZSk/ZS5sZW5ndGg9bjplPW5ldyBBcnJheShuKTtmb3IobGV0IG89MDtvPG47KytvKWVbb109dGhpcy5wcm9qZWN0UG9pbnRPbnRvRWxsaXBzb2lkKHRbb10sZVtvXSk7cmV0dXJuIGV9O3lvPXVpfSk7ZnVuY3Rpb24gQmUodCxlKXt0aGlzLmNlbnRlcj1hLmNsb25lKHgodCxhLlpFUk8pKSx0aGlzLmhhbGZBeGVzPVEuY2xvbmUoeChlLFEuWkVSTykpfWZ1bmN0aW9uIEtUKHQsZSxuLG8scixpLHMsZix1LGMsbCl7aWYoIWgocil8fCFoKGkpfHwhaChzKXx8IWgoZil8fCFoKHUpfHwhaChjKSl0aHJvdyBuZXcgRigiYWxsIGV4dGVudHMgKG1pbmltdW0vbWF4aW11bSBYL1kvWikgYXJlIHJlcXVpcmVkLiIpO2gobCl8fChsPW5ldyBCZSk7bGV0IHA9bC5oYWxmQXhlcztRLnNldENvbHVtbihwLDAsZSxwKSxRLnNldENvbHVtbihwLDEsbixwKSxRLnNldENvbHVtbihwLDIsbyxwKTtsZXQgZD1aVDtkLng9KHIraSkvMixkLnk9KHMrZikvMixkLno9KHUrYykvMjtsZXQgbT1tTjttLng9KGktcikvMixtLnk9KGYtcykvMixtLno9KGMtdSkvMjtsZXQgXz1sLmNlbnRlcjtyZXR1cm4gZD1RLm11bHRpcGx5QnlWZWN0b3IocCxkLGQpLGEuYWRkKHQsZCxfKSxRLm11bHRpcGx5QnlTY2FsZShwLG0scCksbH12YXIgc04sY04sYU4sZk4sdU4sbE4scE4sZE4sWlQsbU4sV1QsaE4sX04seU4sZ04sQU4sYk4sVE4sWFQsd04sWVQsT04sRU4sUk4sU04sQ04seE4sUE4sTU4sTk4sSU4sdk4sTE4sRE4sRk4sQk4sUVQsSlQsdHcsVU4sJFQsVk4sa04sR04sek4sak4sSE4scU4sS04sU28sZGE9WigoKT0+e3ZlKCk7VWUoKTtGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO3BhKCk7a3MoKTtIbCgpO1d0KCk7Qm4oKTtVbigpO2ZzKCk7d24oKTtCZS5wYWNrZWRMZW5ndGg9YS5wYWNrZWRMZW5ndGgrUS5wYWNrZWRMZW5ndGg7QmUucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0LmNlbnRlcixlLG4pLFEucGFjayh0LmhhbGZBeGVzLGUsbithLnBhY2tlZExlbmd0aCksZX07QmUudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IEJlKSxhLnVucGFjayh0LGUsbi5jZW50ZXIpLFEudW5wYWNrKHQsZSthLnBhY2tlZExlbmd0aCxuLmhhbGZBeGVzKSxufTtzTj1uZXcgYSxjTj1uZXcgYSxhTj1uZXcgYSxmTj1uZXcgYSx1Tj1uZXcgYSxsTj1uZXcgYSxwTj1uZXcgUSxkTj17dW5pdGFyeTpuZXcgUSxkaWFnb25hbDpuZXcgUX07QmUuZnJvbVBvaW50cz1mdW5jdGlvbih0LGUpe2lmKGgoZSl8fChlPW5ldyBCZSksIWgodCl8fHQubGVuZ3RoPT09MClyZXR1cm4gZS5oYWxmQXhlcz1RLlpFUk8sZS5jZW50ZXI9YS5aRVJPLGU7bGV0IG4sbz10Lmxlbmd0aCxyPWEuY2xvbmUodFswXSxzTik7Zm9yKG49MTtuPG87bisrKWEuYWRkKHIsdFtuXSxyKTtsZXQgaT0xL287YS5tdWx0aXBseUJ5U2NhbGFyKHIsaSxyKTtsZXQgcz0wLGY9MCx1PTAsYz0wLGw9MCxwPTAsZDtmb3Iobj0wO248bztuKyspZD1hLnN1YnRyYWN0KHRbbl0scixjTikscys9ZC54KmQueCxmKz1kLngqZC55LHUrPWQueCpkLnosYys9ZC55KmQueSxsKz1kLnkqZC56LHArPWQueipkLno7cyo9aSxmKj1pLHUqPWksYyo9aSxsKj1pLHAqPWk7bGV0IG09cE47bVswXT1zLG1bMV09ZixtWzJdPXUsbVszXT1mLG1bNF09YyxtWzVdPWwsbVs2XT11LG1bN109bCxtWzhdPXA7bGV0IF89US5jb21wdXRlRWlnZW5EZWNvbXBvc2l0aW9uKG0sZE4pLGc9US5jbG9uZShfLnVuaXRhcnksZS5oYWxmQXhlcyksYj1RLmdldENvbHVtbihnLDAsZk4pLFQ9US5nZXRDb2x1bW4oZywxLHVOKSxPPVEuZ2V0Q29sdW1uKGcsMixsTiksRT0tTnVtYmVyLk1BWF9WQUxVRSx3PS1OdW1iZXIuTUFYX1ZBTFVFLEM9LU51bWJlci5NQVhfVkFMVUUsTj1OdW1iZXIuTUFYX1ZBTFVFLEk9TnVtYmVyLk1BWF9WQUxVRSxEPU51bWJlci5NQVhfVkFMVUU7Zm9yKG49MDtuPG87bisrKWQ9dFtuXSxFPU1hdGgubWF4KGEuZG90KGIsZCksRSksdz1NYXRoLm1heChhLmRvdChULGQpLHcpLEM9TWF0aC5tYXgoYS5kb3QoTyxkKSxDKSxOPU1hdGgubWluKGEuZG90KGIsZCksTiksST1NYXRoLm1pbihhLmRvdChULGQpLEkpLEQ9TWF0aC5taW4oYS5kb3QoTyxkKSxEKTtiPWEubXVsdGlwbHlCeVNjYWxhcihiLC41KihOK0UpLGIpLFQ9YS5tdWx0aXBseUJ5U2NhbGFyKFQsLjUqKEkrdyksVCksTz1hLm11bHRpcGx5QnlTY2FsYXIoTywuNSooRCtDKSxPKTtsZXQgdj1hLmFkZChiLFQsZS5jZW50ZXIpO2EuYWRkKHYsTyx2KTtsZXQgTD1hTjtyZXR1cm4gTC54PUUtTixMLnk9dy1JLEwuej1DLUQsYS5tdWx0aXBseUJ5U2NhbGFyKEwsLjUsTCksUS5tdWx0aXBseUJ5U2NhbGUoZS5oYWxmQXhlcyxMLGUuaGFsZkF4ZXMpLGV9O1pUPW5ldyBhLG1OPW5ldyBhO1dUPW5ldyBjdCxoTj1uZXcgYSxfTj1uZXcgY3QseU49bmV3IGN0LGdOPW5ldyBjdCxBTj1uZXcgY3QsYk49bmV3IGN0LFROPW5ldyBhLFhUPW5ldyBhLHdOPW5ldyBhLFlUPW5ldyBhLE9OPW5ldyBhLEVOPW5ldyB0dCxSTj1uZXcgdHQsU049bmV3IHR0LENOPW5ldyB0dCx4Tj1uZXcgdHQsUE49bmV3IGEsTU49bmV3IGEsTk49bmV3IGEsSU49bmV3IGEsdk49bmV3IHR0LExOPW5ldyBhLEROPW5ldyBhLEZOPW5ldyBhLEJOPW5ldyBvbihhLlVOSVRfWCwwKTtCZS5mcm9tUmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInJlY3RhbmdsZSBpcyByZXF1aXJlZCIpO2lmKHQud2lkdGg8MHx8dC53aWR0aD5NLlRXT19QSSl0aHJvdyBuZXcgRigiUmVjdGFuZ2xlIHdpZHRoIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyICogcGkiKTtpZih0LmhlaWdodDwwfHx0LmhlaWdodD5NLlBJKXRocm93IG5ldyBGKCJSZWN0YW5nbGUgaGVpZ2h0IG11c3QgYmUgYmV0d2VlbiAwIGFuZCBwaSIpO2lmKGgobykmJiFNLmVxdWFsc0Vwc2lsb24oby5yYWRpaS54LG8ucmFkaWkueSxNLkVQU0lMT04xNSkpdGhyb3cgbmV3IEYoIkVsbGlwc29pZCBtdXN0IGJlIGFuIGVsbGlwc29pZCBvZiByZXZvbHV0aW9uIChyYWRpaS54ID09IHJhZGlpLnkpIik7ZT14KGUsMCksbj14KG4sMCksbz14KG8sJC5kZWZhdWx0KTtsZXQgaSxzLGYsdSxjLGwscDtpZih0LndpZHRoPD1NLlBJKXtsZXQgST1OdC5jZW50ZXIodCxXVCksRD1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKEksaE4pLHY9bmV3IHlvKEQsbyk7cD12LnBsYW5lO2xldCBMPUkubG9uZ2l0dWRlLFU9dC5zb3V0aDwwJiZ0Lm5vcnRoPjA/MDpJLmxhdGl0dWRlLEE9Y3QuZnJvbVJhZGlhbnMoTCx0Lm5vcnRoLG4sX04pLFM9Y3QuZnJvbVJhZGlhbnModC53ZXN0LHQubm9ydGgsbix5TiksUD1jdC5mcm9tUmFkaWFucyh0Lndlc3QsVSxuLGdOKSxCPWN0LmZyb21SYWRpYW5zKHQud2VzdCx0LnNvdXRoLG4sQU4pLGo9Y3QuZnJvbVJhZGlhbnMoTCx0LnNvdXRoLG4sYk4pLEg9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihBLFROKSxrPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oUyxYVCksSz1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKFAsd04pLFg9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihCLFlUKSxSPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oaixPTiksb3Q9di5wcm9qZWN0UG9pbnRUb05lYXJlc3RPblBsYW5lKEgsRU4pLGF0PXYucHJvamVjdFBvaW50VG9OZWFyZXN0T25QbGFuZShrLFJOKSxwdD12LnByb2plY3RQb2ludFRvTmVhcmVzdE9uUGxhbmUoSyxTTikseXQ9di5wcm9qZWN0UG9pbnRUb05lYXJlc3RPblBsYW5lKFgsQ04pLHJ0PXYucHJvamVjdFBvaW50VG9OZWFyZXN0T25QbGFuZShSLHhOKTtyZXR1cm4gaT1NYXRoLm1pbihhdC54LHB0LngseXQueCkscz0taSx1PU1hdGgubWF4KGF0Lnksb3QueSksZj1NYXRoLm1pbih5dC55LHJ0LnkpLFMuaGVpZ2h0PUIuaGVpZ2h0PWUsaz1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKFMsWFQpLFg9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihCLFlUKSxjPU1hdGgubWluKG9uLmdldFBvaW50RGlzdGFuY2UocCxrKSxvbi5nZXRQb2ludERpc3RhbmNlKHAsWCkpLGw9bixLVCh2Lm9yaWdpbix2LnhBeGlzLHYueUF4aXMsdi56QXhpcyxpLHMsZix1LGMsbCxyKX1sZXQgZD10LnNvdXRoPjAsbT10Lm5vcnRoPDAsXz1kP3Quc291dGg6bT90Lm5vcnRoOjAsZz1OdC5jZW50ZXIodCxXVCkubG9uZ2l0dWRlLGI9YS5mcm9tUmFkaWFucyhnLF8sbixvLFBOKTtiLno9MDtsZXQgTz1NYXRoLmFicyhiLngpPE0uRVBTSUxPTjEwJiZNYXRoLmFicyhiLnkpPE0uRVBTSUxPTjEwP2EuVU5JVF9YOmEubm9ybWFsaXplKGIsTU4pLEU9YS5VTklUX1osdz1hLmNyb3NzKE8sRSxOTik7cD1vbi5mcm9tUG9pbnROb3JtYWwoYixPLEJOKTtsZXQgQz1hLmZyb21SYWRpYW5zKGcrTS5QSV9PVkVSX1RXTyxfLG4sbyxJTik7cz1hLmRvdChvbi5wcm9qZWN0UG9pbnRPbnRvUGxhbmUocCxDLHZOKSx3KSxpPS1zLHU9YS5mcm9tUmFkaWFucygwLHQubm9ydGgsbT9lOm4sbyxMTikueixmPWEuZnJvbVJhZGlhbnMoMCx0LnNvdXRoLGQ/ZTpuLG8sRE4pLno7bGV0IE49YS5mcm9tUmFkaWFucyh0LmVhc3QsXyxuLG8sRk4pO3JldHVybiBjPW9uLmdldFBvaW50RGlzdGFuY2UocCxOKSxsPTAsS1QoYix3LEUsTyxpLHMsZix1LGMsbCxyKX07QmUuZnJvbVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidHJhbnNmb3JtYXRpb24iLHQpLGgoZSl8fChlPW5ldyBCZSksZS5jZW50ZXI9c3QuZ2V0VHJhbnNsYXRpb24odCxlLmNlbnRlciksZS5oYWxmQXhlcz1zdC5nZXRNYXRyaXgzKHQsZS5oYWxmQXhlcyksZS5oYWxmQXhlcz1RLm11bHRpcGx5QnlTY2FsYXIoZS5oYWxmQXhlcywuNSxlLmhhbGZBeGVzKSxlfTtCZS5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGEuY2xvbmUodC5jZW50ZXIsZS5jZW50ZXIpLFEuY2xvbmUodC5oYWxmQXhlcyxlLmhhbGZBeGVzKSxlKTpuZXcgQmUodC5jZW50ZXIsdC5oYWxmQXhlcyl9O0JlLmludGVyc2VjdFBsYW5lPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImJveCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigicGxhbmUgaXMgcmVxdWlyZWQuIik7bGV0IG49dC5jZW50ZXIsbz1lLm5vcm1hbCxyPXQuaGFsZkF4ZXMsaT1vLngscz1vLnksZj1vLnosdT1NYXRoLmFicyhpKnJbUS5DT0xVTU4wUk9XMF0rcypyW1EuQ09MVU1OMFJPVzFdK2YqcltRLkNPTFVNTjBST1cyXSkrTWF0aC5hYnMoaSpyW1EuQ09MVU1OMVJPVzBdK3MqcltRLkNPTFVNTjFST1cxXStmKnJbUS5DT0xVTU4xUk9XMl0pK01hdGguYWJzKGkqcltRLkNPTFVNTjJST1cwXStzKnJbUS5DT0xVTU4yUk9XMV0rZipyW1EuQ09MVU1OMlJPVzJdKSxjPWEuZG90KG8sbikrZS5kaXN0YW5jZTtyZXR1cm4gYzw9LXU/U24uT1VUU0lERTpjPj11P1NuLklOU0lERTpTbi5JTlRFUlNFQ1RJTkd9O1FUPW5ldyBhLEpUPW5ldyBhLHR3PW5ldyBhLFVOPW5ldyBhLCRUPW5ldyBhLFZOPW5ldyBhO0JlLmRpc3RhbmNlU3F1YXJlZFRvPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImJveCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigiY2FydGVzaWFuIGlzIHJlcXVpcmVkLiIpO2xldCBuPWEuc3VidHJhY3QoZSx0LmNlbnRlcixaVCksbz10LmhhbGZBeGVzLHI9US5nZXRDb2x1bW4obywwLFFUKSxpPVEuZ2V0Q29sdW1uKG8sMSxKVCkscz1RLmdldENvbHVtbihvLDIsdHcpLGY9YS5tYWduaXR1ZGUociksdT1hLm1hZ25pdHVkZShpKSxjPWEubWFnbml0dWRlKHMpLGw9ITAscD0hMCxkPSEwO2Y+MD9hLmRpdmlkZUJ5U2NhbGFyKHIsZixyKTpsPSExLHU+MD9hLmRpdmlkZUJ5U2NhbGFyKGksdSxpKTpwPSExLGM+MD9hLmRpdmlkZUJ5U2NhbGFyKHMsYyxzKTpkPSExO2xldCBtPSFsKyFwKyFkLF8sZyxiO2lmKG09PT0xKXtsZXQgdz1yO189aSxnPXMscD9kfHwodz1zLGc9cik6KHc9aSxfPXIpLGI9YS5jcm9zcyhfLGcsJFQpLHc9PT1yP3I9Yjp3PT09aT9pPWI6dz09PXMmJihzPWIpfWVsc2UgaWYobT09PTIpe189cixwP189aTpkJiYoXz1zKTtsZXQgdz1hLlVOSVRfWTt3LmVxdWFsc0Vwc2lsb24oXyxNLkVQU0lMT04zKSYmKHc9YS5VTklUX1gpLGc9YS5jcm9zcyhfLHcsVU4pLGEubm9ybWFsaXplKGcsZyksYj1hLmNyb3NzKF8sZywkVCksYS5ub3JtYWxpemUoYixiKSxfPT09cj8oaT1nLHM9Yik6Xz09PWk/KHM9ZyxyPWIpOl89PT1zJiYocj1nLGk9Yil9ZWxzZSBtPT09MyYmKHI9YS5VTklUX1gsaT1hLlVOSVRfWSxzPWEuVU5JVF9aKTtsZXQgVD1WTjtULng9YS5kb3QobixyKSxULnk9YS5kb3QobixpKSxULno9YS5kb3QobixzKTtsZXQgTz0wLEU7cmV0dXJuIFQueDwtZj8oRT1ULngrZixPKz1FKkUpOlQueD5mJiYoRT1ULngtZixPKz1FKkUpLFQueTwtdT8oRT1ULnkrdSxPKz1FKkUpOlQueT51JiYoRT1ULnktdSxPKz1FKkUpLFQuejwtYz8oRT1ULnorYyxPKz1FKkUpOlQuej5jJiYoRT1ULnotYyxPKz1FKkUpLE99O2tOPW5ldyBhLEdOPW5ldyBhO0JlLmNvbXB1dGVQbGFuZURpc3RhbmNlcz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgRigiYm94IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJwb3NpdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigiZGlyZWN0aW9uIGlzIHJlcXVpcmVkLiIpO2gobyl8fChvPW5ldyBRcik7bGV0IHI9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGk9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHM9dC5jZW50ZXIsZj10LmhhbGZBeGVzLHU9US5nZXRDb2x1bW4oZiwwLFFUKSxjPVEuZ2V0Q29sdW1uKGYsMSxKVCksbD1RLmdldENvbHVtbihmLDIsdHcpLHA9YS5hZGQodSxjLGtOKTthLmFkZChwLGwscCksYS5hZGQocCxzLHApO2xldCBkPWEuc3VidHJhY3QocCxlLEdOKSxtPWEuZG90KG4sZCk7cmV0dXJuIHI9TWF0aC5taW4obSxyKSxpPU1hdGgubWF4KG0saSksYS5hZGQocyx1LHApLGEuYWRkKHAsYyxwKSxhLnN1YnRyYWN0KHAsbCxwKSxhLnN1YnRyYWN0KHAsZSxkKSxtPWEuZG90KG4sZCkscj1NYXRoLm1pbihtLHIpLGk9TWF0aC5tYXgobSxpKSxhLmFkZChzLHUscCksYS5zdWJ0cmFjdChwLGMscCksYS5hZGQocCxsLHApLGEuc3VidHJhY3QocCxlLGQpLG09YS5kb3QobixkKSxyPU1hdGgubWluKG0sciksaT1NYXRoLm1heChtLGkpLGEuYWRkKHMsdSxwKSxhLnN1YnRyYWN0KHAsYyxwKSxhLnN1YnRyYWN0KHAsbCxwKSxhLnN1YnRyYWN0KHAsZSxkKSxtPWEuZG90KG4sZCkscj1NYXRoLm1pbihtLHIpLGk9TWF0aC5tYXgobSxpKSxhLnN1YnRyYWN0KHMsdSxwKSxhLmFkZChwLGMscCksYS5hZGQocCxsLHApLGEuc3VidHJhY3QocCxlLGQpLG09YS5kb3QobixkKSxyPU1hdGgubWluKG0sciksaT1NYXRoLm1heChtLGkpLGEuc3VidHJhY3Qocyx1LHApLGEuYWRkKHAsYyxwKSxhLnN1YnRyYWN0KHAsbCxwKSxhLnN1YnRyYWN0KHAsZSxkKSxtPWEuZG90KG4sZCkscj1NYXRoLm1pbihtLHIpLGk9TWF0aC5tYXgobSxpKSxhLnN1YnRyYWN0KHMsdSxwKSxhLnN1YnRyYWN0KHAsYyxwKSxhLmFkZChwLGwscCksYS5zdWJ0cmFjdChwLGUsZCksbT1hLmRvdChuLGQpLHI9TWF0aC5taW4obSxyKSxpPU1hdGgubWF4KG0saSksYS5zdWJ0cmFjdChzLHUscCksYS5zdWJ0cmFjdChwLGMscCksYS5zdWJ0cmFjdChwLGwscCksYS5zdWJ0cmFjdChwLGUsZCksbT1hLmRvdChuLGQpLHI9TWF0aC5taW4obSxyKSxpPU1hdGgubWF4KG0saSksby5zdGFydD1yLG8uc3RvcD1pLG99O3pOPW5ldyBhLGpOPW5ldyBhLEhOPW5ldyBhO0JlLmNvbXB1dGVDb3JuZXJzPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJib3giLHQpLGgoZSl8fChlPVtuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYV0pO2xldCBuPXQuY2VudGVyLG89dC5oYWxmQXhlcyxyPVEuZ2V0Q29sdW1uKG8sMCx6TiksaT1RLmdldENvbHVtbihvLDEsak4pLHM9US5nZXRDb2x1bW4obywyLEhOKTtyZXR1cm4gYS5jbG9uZShuLGVbMF0pLGEuc3VidHJhY3QoZVswXSxyLGVbMF0pLGEuc3VidHJhY3QoZVswXSxpLGVbMF0pLGEuc3VidHJhY3QoZVswXSxzLGVbMF0pLGEuY2xvbmUobixlWzFdKSxhLnN1YnRyYWN0KGVbMV0scixlWzFdKSxhLnN1YnRyYWN0KGVbMV0saSxlWzFdKSxhLmFkZChlWzFdLHMsZVsxXSksYS5jbG9uZShuLGVbMl0pLGEuc3VidHJhY3QoZVsyXSxyLGVbMl0pLGEuYWRkKGVbMl0saSxlWzJdKSxhLnN1YnRyYWN0KGVbMl0scyxlWzJdKSxhLmNsb25lKG4sZVszXSksYS5zdWJ0cmFjdChlWzNdLHIsZVszXSksYS5hZGQoZVszXSxpLGVbM10pLGEuYWRkKGVbM10scyxlWzNdKSxhLmNsb25lKG4sZVs0XSksYS5hZGQoZVs0XSxyLGVbNF0pLGEuc3VidHJhY3QoZVs0XSxpLGVbNF0pLGEuc3VidHJhY3QoZVs0XSxzLGVbNF0pLGEuY2xvbmUobixlWzVdKSxhLmFkZChlWzVdLHIsZVs1XSksYS5zdWJ0cmFjdChlWzVdLGksZVs1XSksYS5hZGQoZVs1XSxzLGVbNV0pLGEuY2xvbmUobixlWzZdKSxhLmFkZChlWzZdLHIsZVs2XSksYS5hZGQoZVs2XSxpLGVbNl0pLGEuc3VidHJhY3QoZVs2XSxzLGVbNl0pLGEuY2xvbmUobixlWzddKSxhLmFkZChlWzddLHIsZVs3XSksYS5hZGQoZVs3XSxpLGVbN10pLGEuYWRkKGVbN10scyxlWzddKSxlfTtxTj1uZXcgUTtCZS5jb21wdXRlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImJveCIsdCksaChlKXx8KGU9bmV3IHN0KTtsZXQgbj10LmNlbnRlcixvPVEubXVsdGlwbHlCeVVuaWZvcm1TY2FsZSh0LmhhbGZBeGVzLDIscU4pO3JldHVybiBzdC5mcm9tUm90YXRpb25UcmFuc2xhdGlvbihvLG4sZSl9O0tOPW5ldyBBdDtCZS5pc09jY2x1ZGVkPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImJveCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigib2NjbHVkZXIgaXMgcmVxdWlyZWQuIik7bGV0IG49QXQuZnJvbU9yaWVudGVkQm91bmRpbmdCb3godCxLTik7cmV0dXJuIWUuaXNCb3VuZGluZ1NwaGVyZVZpc2libGUobil9O0JlLnByb3RvdHlwZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0KXtyZXR1cm4gQmUuaW50ZXJzZWN0UGxhbmUodGhpcyx0KX07QmUucHJvdG90eXBlLmRpc3RhbmNlU3F1YXJlZFRvPWZ1bmN0aW9uKHQpe3JldHVybiBCZS5kaXN0YW5jZVNxdWFyZWRUbyh0aGlzLHQpfTtCZS5wcm90b3R5cGUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gQmUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzKHRoaXMsdCxlLG4pfTtCZS5wcm90b3R5cGUuY29tcHV0ZUNvcm5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuIEJlLmNvbXB1dGVDb3JuZXJzKHRoaXMsdCl9O0JlLnByb3RvdHlwZS5jb21wdXRlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIEJlLmNvbXB1dGVUcmFuc2Zvcm1hdGlvbih0aGlzLHQpfTtCZS5wcm90b3R5cGUuaXNPY2NsdWRlZD1mdW5jdGlvbih0KXtyZXR1cm4gQmUuaXNPY2NsdWRlZCh0aGlzLHQpfTtCZS5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJmEuZXF1YWxzKHQuY2VudGVyLGUuY2VudGVyKSYmUS5lcXVhbHModC5oYWxmQXhlcyxlLmhhbGZBeGVzKX07QmUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBCZS5jbG9uZSh0aGlzLHQpfTtCZS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBCZS5lcXVhbHModGhpcyx0KX07U289QmV9KTtmdW5jdGlvbiBpdyh0LGUsbixvLHIpe2xldCBpPWEuc3VidHJhY3QodCxlLFdOKSxzPWEuZG90KG4saSksZj1hLmRvdChvLGkpO3JldHVybiB0dC5mcm9tRWxlbWVudHMocyxmLHIpfXZhciBOZixXTixldyxudyxvdyxydyxtYSx4MD1aKCgpPT57VWUoKTtGdCgpO1h0KCk7Qm4oKTtkYSgpO05mPXt9LFdOPW5ldyBhLGV3PW5ldyBhLG53PW5ldyBhLG93PW5ldyBhLHJ3PW5ldyBTbztOZi52YWxpZE91dGxpbmU9ZnVuY3Rpb24odCl7eS5kZWZpbmVkKCJwb3NpdGlvbnMiLHQpO2xldCBuPVNvLmZyb21Qb2ludHModCxydykuaGFsZkF4ZXMsbz1RLmdldENvbHVtbihuLDAsZXcpLHI9US5nZXRDb2x1bW4obiwxLG53KSxpPVEuZ2V0Q29sdW1uKG4sMixvdykscz1hLm1hZ25pdHVkZShvKSxmPWEubWFnbml0dWRlKHIpLHU9YS5tYWduaXR1ZGUoaSk7cmV0dXJuIShzPT09MCYmKGY9PT0wfHx1PT09MCl8fGY9PT0wJiZ1PT09MCl9O05mLmNvbXB1dGVQcm9qZWN0VG8yREFyZ3VtZW50cz1mdW5jdGlvbih0LGUsbixvKXt5LmRlZmluZWQoInBvc2l0aW9ucyIsdCkseS5kZWZpbmVkKCJjZW50ZXJSZXN1bHQiLGUpLHkuZGVmaW5lZCgicGxhbmVBeGlzMVJlc3VsdCIsbikseS5kZWZpbmVkKCJwbGFuZUF4aXMyUmVzdWx0IixvKTtsZXQgcj1Tby5mcm9tUG9pbnRzKHQscncpLGk9ci5oYWxmQXhlcyxzPVEuZ2V0Q29sdW1uKGksMCxldyksZj1RLmdldENvbHVtbihpLDEsbncpLHU9US5nZXRDb2x1bW4oaSwyLG93KSxjPWEubWFnbml0dWRlKHMpLGw9YS5tYWduaXR1ZGUoZikscD1hLm1hZ25pdHVkZSh1KSxkPU1hdGgubWluKGMsbCxwKTtpZihjPT09MCYmKGw9PT0wfHxwPT09MCl8fGw9PT0wJiZwPT09MClyZXR1cm4hMTtsZXQgbSxfO3JldHVybihkPT09bHx8ZD09PXApJiYobT1zKSxkPT09Yz9tPWY6ZD09PXAmJihfPWYpLChkPT09Y3x8ZD09PWwpJiYoXz11KSxhLm5vcm1hbGl6ZShtLG4pLGEubm9ybWFsaXplKF8sbyksYS5jbG9uZShyLmNlbnRlcixlKSwhMH07TmYuY3JlYXRlUHJvamVjdFBvaW50c1RvMkRGdW5jdGlvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8pe2xldCByPW5ldyBBcnJheShvLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxvLmxlbmd0aDtpKyspcltpXT1pdyhvW2ldLHQsZSxuKTtyZXR1cm4gcn19O05mLmNyZWF0ZVByb2plY3RQb2ludFRvMkRGdW5jdGlvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8scil7cmV0dXJuIGl3KG8sdCxlLG4scil9fTttYT1OZn0pO3ZhciBYTixfZSxmYz1aKCgpPT57WE49e05PTkU6MCxHRU9ERVNJQzoxLFJIVU1COjJ9LF9lPU9iamVjdC5mcmVlemUoWE4pfSk7ZnVuY3Rpb24gTTAodCxlLG4pe2lmKHQ9PT0wKXJldHVybiBlKm47bGV0IG89dCp0LHI9bypvLGk9cipvLHM9aSpvLGY9cypvLHU9ZipvLGM9bixsPU1hdGguc2luKDIqYykscD1NYXRoLnNpbig0KmMpLGQ9TWF0aC5zaW4oNipjKSxtPU1hdGguc2luKDgqYyksXz1NYXRoLnNpbigxMCpjKSxnPU1hdGguc2luKDEyKmMpO3JldHVybiBlKigoMS1vLzQtMypyLzY0LTUqaS8yNTYtMTc1KnMvMTYzODQtNDQxKmYvNjU1MzYtNDg1MSp1LzEwNDg1NzYpKmMtKDMqby84KzMqci8zMis0NSppLzEwMjQrMTA1KnMvNDA5NisyMjA1KmYvMTMxMDcyKzYyMzcqdS81MjQyODgpKmwrKDE1KnIvMjU2KzQ1KmkvMTAyNCs1MjUqcy8xNjM4NCsxNTc1KmYvNjU1MzYrMTU1OTI1KnUvODM4ODYwOCkqcC0oMzUqaS8zMDcyKzE3NSpzLzEyMjg4KzM2NzUqZi8yNjIxNDQrMTM0NzUqdS8xMDQ4NTc2KSpkKygzMTUqcy8xMzEwNzIrMjIwNSpmLzUyNDI4OCs0MzY1OSp1LzgzODg2MDgpKm0tKDY5MypmLzEzMTA3MjArNjIzNyp1LzUyNDI4ODApKl8rMTAwMSp1LzgzODg2MDgqZyl9ZnVuY3Rpb24gWU4odCxlLG4pe2xldCBvPXQvbjtpZihlPT09MClyZXR1cm4gbztsZXQgcj1vKm8saT1yKm8scz1pKm8sZj1lLHU9ZipmLGM9dSp1LGw9Yyp1LHA9bCp1LGQ9cCp1LG09ZCp1LF89TWF0aC5zaW4oMipvKSxnPU1hdGguY29zKDIqbyksYj1NYXRoLnNpbig0Km8pLFQ9TWF0aC5jb3MoNCpvKSxPPU1hdGguc2luKDYqbyksRT1NYXRoLmNvcyg2Km8pLHc9TWF0aC5zaW4oOCpvKSxDPU1hdGguY29zKDgqbyksTj1NYXRoLnNpbigxMCpvKSxJPU1hdGguY29zKDEwKm8pLEQ9TWF0aC5zaW4oMTIqbyk7cmV0dXJuIG8rbyp1LzQrNypvKmMvNjQrMTUqbypsLzI1Nis1NzkqbypwLzE2Mzg0KzE1MTUqbypkLzY1NTM2KzE2ODM3Km8qbS8xMDQ4NTc2KygzKm8qYy8xNis0NSpvKmwvMjU2LW8qKDMyKnItNTYxKSpwLzQwOTYtbyooMjMyKnItMTY3NykqZC8xNjM4NCtvKigzOTk5ODUtOTA1NjAqcis1MTIqcykqbS81MjQyODgwKSpnKygyMSpvKmwvMjU2KzQ4MypvKnAvNDA5Ni1vKigyMjQqci0xOTY5KSpkLzE2Mzg0LW8qKDMzMTUyKnItMTEyNTk5KSptLzEwNDg1NzYpKlQrKDE1MSpvKnAvNDA5Nis0NjgxKm8qZC82NTUzNisxNDc5Km8qbS8xNjM4NC00NTMqaSptLzMyNzY4KSpFKygxMDk3Km8qZC82NTUzNis0Mjc4MypvKm0vMTA0ODU3NikqQys4MDExKm8qbS8xMDQ4NTc2KkkrKDMqdS84KzMqYy8xNisyMTMqbC8yMDQ4LTMqcipsLzY0KzI1NSpwLzQwOTYtMzMqcipwLzUxMisyMDg2MSpkLzUyNDI4OC0zMypyKmQvNTEyK3MqZC8xMDI0KzI4MjczKm0vMTA0ODU3Ni00NzEqciptLzgxOTIrOSpzKm0vNDA5NikqXysoMjEqYy8yNTYrMjEqbC8yNTYrNTMzKnAvODE5Mi0yMSpyKnAvNTEyKzE5NypkLzQwOTYtMzE1KnIqZC80MDk2KzU4NDAzOSptLzE2Nzc3MjE2LTEyNTE3KnIqbS8xMzEwNzIrNypzKm0vMjA0OCkqYisoMTUxKmwvNjE0NCsxNTEqcC80MDk2KzUwMTkqZC8xMzEwNzItNDUzKnIqZC8xNjM4NCsyNjk2NSptLzc4NjQzMi04NjA3KnIqbS8xMzEwNzIpKk8rKDEwOTcqcC8xMzEwNzIrMTA5NypkLzY1NTM2KzIyNTc5NyptLzEwNDg1NzYwLTEwOTcqciptLzY1NTM2KSp3Kyg4MDExKmQvMjYyMTQ0MCs4MDExKm0vMTA0ODU3NikqTisyOTMzOTMqbS8yNTE2NTgyNDAqRH1mdW5jdGlvbiBoYSh0LGUpe2lmKHQ9PT0wKXJldHVybiBNYXRoLmxvZyhNYXRoLnRhbiguNSooTS5QSV9PVkVSX1RXTytlKSkpO2xldCBuPXQqTWF0aC5zaW4oZSk7cmV0dXJuIE1hdGgubG9nKE1hdGgudGFuKC41KihNLlBJX09WRVJfVFdPK2UpKSktdC8yKk1hdGgubG9nKCgxK24pLygxLW4pKX1mdW5jdGlvbiAkTih0LGUsbixvLHIpe2xldCBpPWhhKHQuX2VsbGlwdGljaXR5LG4pLHM9aGEodC5fZWxsaXB0aWNpdHkscik7cmV0dXJuIE1hdGguYXRhbjIoTS5uZWdhdGl2ZVBpVG9QaShvLWUpLHMtaSl9ZnVuY3Rpb24gWk4odCxlLG4sbyxyLGkscyl7bGV0IGY9dC5faGVhZGluZyx1PWktbyxjPTA7aWYoTS5lcXVhbHNFcHNpbG9uKE1hdGguYWJzKGYpLE0uUElfT1ZFUl9UV08sTS5FUFNJTE9OOCkpaWYoZT09PW4pYz1lKk1hdGguY29zKHIpKk0ubmVnYXRpdmVQaVRvUGkodSk7ZWxzZXtsZXQgbD1NYXRoLnNpbihyKTtjPWUqTWF0aC5jb3MocikqTS5uZWdhdGl2ZVBpVG9QaSh1KS9NYXRoLnNxcnQoMS10Ll9lbGxpcHRpY2l0eVNxdWFyZWQqbCpsKX1lbHNle2xldCBsPU0wKHQuX2VsbGlwdGljaXR5LGUscik7Yz0oTTAodC5fZWxsaXB0aWNpdHksZSxzKS1sKS9NYXRoLmNvcyhmKX1yZXR1cm4gTWF0aC5hYnMoYyl9ZnVuY3Rpb24gc3codCxlLG4sbyl7bGV0IHI9YS5ub3JtYWxpemUoby5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihlLFAwKSxRTiksaT1hLm5vcm1hbGl6ZShvLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKG4sUDApLFAwKTt5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygidmFsdWUiLE1hdGguYWJzKE1hdGguYWJzKGEuYW5nbGVCZXR3ZWVuKHIsaSkpLU1hdGguUEkpLC4wMTI1KTtsZXQgcz1vLm1heGltdW1SYWRpdXMsZj1vLm1pbmltdW1SYWRpdXMsdT1zKnMsYz1mKmY7dC5fZWxsaXB0aWNpdHlTcXVhcmVkPSh1LWMpL3UsdC5fZWxsaXB0aWNpdHk9TWF0aC5zcXJ0KHQuX2VsbGlwdGljaXR5U3F1YXJlZCksdC5fc3RhcnQ9Y3QuY2xvbmUoZSx0Ll9zdGFydCksdC5fc3RhcnQuaGVpZ2h0PTAsdC5fZW5kPWN0LmNsb25lKG4sdC5fZW5kKSx0Ll9lbmQuaGVpZ2h0PTAsdC5faGVhZGluZz0kTih0LGUubG9uZ2l0dWRlLGUubGF0aXR1ZGUsbi5sb25naXR1ZGUsbi5sYXRpdHVkZSksdC5fZGlzdGFuY2U9Wk4odCxvLm1heGltdW1SYWRpdXMsby5taW5pbXVtUmFkaXVzLGUubG9uZ2l0dWRlLGUubGF0aXR1ZGUsbi5sb25naXR1ZGUsbi5sYXRpdHVkZSl9ZnVuY3Rpb24gY3codCxlLG4sbyxyLGkpe2lmKG49PT0wKXJldHVybiBjdC5jbG9uZSh0LGkpO2xldCBzPXIqcixmLHUsYztpZihNYXRoLmFicyhNLlBJX09WRVJfVFdPLU1hdGguYWJzKGUpKT5NLkVQU0lMT044KXtsZXQgbD1NMChyLG8sdC5sYXRpdHVkZSkscD1uKk1hdGguY29zKGUpLGQ9bCtwO2lmKHU9WU4oZCxyLG8pLE1hdGguYWJzKGUpPE0uRVBTSUxPTjEwKWY9TS5uZWdhdGl2ZVBpVG9QaSh0LmxvbmdpdHVkZSk7ZWxzZXtsZXQgbT1oYShyLHQubGF0aXR1ZGUpLF89aGEocix1KTtjPU1hdGgudGFuKGUpKihfLW0pLGY9TS5uZWdhdGl2ZVBpVG9QaSh0LmxvbmdpdHVkZStjKX19ZWxzZXt1PXQubGF0aXR1ZGU7bGV0IGw7aWYocj09PTApbD1vKk1hdGguY29zKHQubGF0aXR1ZGUpO2Vsc2V7bGV0IHA9TWF0aC5zaW4odC5sYXRpdHVkZSk7bD1vKk1hdGguY29zKHQubGF0aXR1ZGUpL01hdGguc3FydCgxLXMqcCpwKX1jPW4vbCxlPjA/Zj1NLm5lZ2F0aXZlUGlUb1BpKHQubG9uZ2l0dWRlK2MpOmY9TS5uZWdhdGl2ZVBpVG9QaSh0LmxvbmdpdHVkZS1jKX1yZXR1cm4gaChpKT8oaS5sb25naXR1ZGU9ZixpLmxhdGl0dWRlPXUsaS5oZWlnaHQ9MCxpKTpuZXcgY3QoZix1LDApfWZ1bmN0aW9uIEZpKHQsZSxuKXtsZXQgbz14KG4sJC5kZWZhdWx0KTt0aGlzLl9lbGxpcHNvaWQ9byx0aGlzLl9zdGFydD1uZXcgY3QsdGhpcy5fZW5kPW5ldyBjdCx0aGlzLl9oZWFkaW5nPXZvaWQgMCx0aGlzLl9kaXN0YW5jZT12b2lkIDAsdGhpcy5fZWxsaXB0aWNpdHk9dm9pZCAwLHRoaXMuX2VsbGlwdGljaXR5U3F1YXJlZD12b2lkIDAsaCh0KSYmaChlKSYmc3codGhpcyx0LGUsbyl9dmFyIFFOLFAwLFpvLElmPVooKCk9PntGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1d0KCk7UU49bmV3IGEsUDA9bmV3IGE7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRmkucHJvdG90eXBlLHtlbGxpcHNvaWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGxpcHNvaWR9fSxzdXJmYWNlRGlzdGFuY2U6e2dldDpmdW5jdGlvbigpe3JldHVybiB5LmRlZmluZWQoImRpc3RhbmNlIix0aGlzLl9kaXN0YW5jZSksdGhpcy5fZGlzdGFuY2V9fSxzdGFydDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0YXJ0fX0sZW5kOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW5kfX0saGVhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHkuZGVmaW5lZCgiZGlzdGFuY2UiLHRoaXMuX2Rpc3RhbmNlKSx0aGlzLl9oZWFkaW5nfX19KTtGaS5mcm9tU3RhcnRIZWFkaW5nRGlzdGFuY2U9ZnVuY3Rpb24odCxlLG4sbyxyKXt5LmRlZmluZWQoInN0YXJ0Iix0KSx5LmRlZmluZWQoImhlYWRpbmciLGUpLHkuZGVmaW5lZCgiZGlzdGFuY2UiLG4pLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbigiZGlzdGFuY2UiLG4sMCk7bGV0IGk9eChvLCQuZGVmYXVsdCkscz1pLm1heGltdW1SYWRpdXMsZj1pLm1pbmltdW1SYWRpdXMsdT1zKnMsYz1mKmYsbD1NYXRoLnNxcnQoKHUtYykvdSk7ZT1NLm5lZ2F0aXZlUGlUb1BpKGUpO2xldCBwPWN3KHQsZSxuLGkubWF4aW11bVJhZGl1cyxsKTtyZXR1cm4haChyKXx8aChvKSYmIW8uZXF1YWxzKHIuZWxsaXBzb2lkKT9uZXcgRmkodCxwLGkpOihyLnNldEVuZFBvaW50cyh0LHApLHIpfTtGaS5wcm90b3R5cGUuc2V0RW5kUG9pbnRzPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJzdGFydCIsdCkseS5kZWZpbmVkKCJlbmQiLGUpLHN3KHRoaXMsdCxlLHRoaXMuX2VsbGlwc29pZCl9O0ZpLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nRnJhY3Rpb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlKHQqdGhpcy5fZGlzdGFuY2UsZSl9O0ZpLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7aWYoeS50eXBlT2YubnVtYmVyKCJkaXN0YW5jZSIsdCksIWgodGhpcy5fZGlzdGFuY2UpfHx0aGlzLl9kaXN0YW5jZT09PTApdGhyb3cgbmV3IEYoIkVsbGlwc29pZFJodW1iTGluZSBtdXN0IGhhdmUgZGlzdGluY3Qgc3RhcnQgYW5kIGVuZCBzZXQuIik7cmV0dXJuIGN3KHRoaXMuX3N0YXJ0LHRoaXMuX2hlYWRpbmcsdCx0aGlzLl9lbGxpcHNvaWQubWF4aW11bVJhZGl1cyx0aGlzLl9lbGxpcHRpY2l0eSxlKX07RmkucHJvdG90eXBlLmZpbmRJbnRlcnNlY3Rpb25XaXRoTG9uZ2l0dWRlPWZ1bmN0aW9uKHQsZSl7aWYoeS50eXBlT2YubnVtYmVyKCJpbnRlcnNlY3Rpb25Mb25naXR1ZGUiLHQpLCFoKHRoaXMuX2Rpc3RhbmNlKXx8dGhpcy5fZGlzdGFuY2U9PT0wKXRocm93IG5ldyBGKCJFbGxpcHNvaWRSaHVtYkxpbmUgbXVzdCBoYXZlIGRpc3RpbmN0IHN0YXJ0IGFuZCBlbmQgc2V0LiIpO2xldCBuPXRoaXMuX2VsbGlwdGljaXR5LG89dGhpcy5faGVhZGluZyxyPU1hdGguYWJzKG8pLGk9dGhpcy5fc3RhcnQ7aWYodD1NLm5lZ2F0aXZlUGlUb1BpKHQpLE0uZXF1YWxzRXBzaWxvbihNYXRoLmFicyh0KSxNYXRoLlBJLE0uRVBTSUxPTjE0KSYmKHQ9TS5zaWduKGkubG9uZ2l0dWRlKSpNYXRoLlBJKSxoKGUpfHwoZT1uZXcgY3QpLE1hdGguYWJzKE0uUElfT1ZFUl9UV08tcik8PU0uRVBTSUxPTjgpcmV0dXJuIGUubG9uZ2l0dWRlPXQsZS5sYXRpdHVkZT1pLmxhdGl0dWRlLGUuaGVpZ2h0PTAsZTtpZihNLmVxdWFsc0Vwc2lsb24oTWF0aC5hYnMoTS5QSV9PVkVSX1RXTy1yKSxNLlBJX09WRVJfVFdPLE0uRVBTSUxPTjgpKXJldHVybiBNLmVxdWFsc0Vwc2lsb24odCxpLmxvbmdpdHVkZSxNLkVQU0lMT04xMik/dm9pZCAwOihlLmxvbmdpdHVkZT10LGUubGF0aXR1ZGU9TS5QSV9PVkVSX1RXTypNLnNpZ24oTS5QSV9PVkVSX1RXTy1vKSxlLmhlaWdodD0wLGUpO2xldCBzPWkubGF0aXR1ZGUsZj1uKk1hdGguc2luKHMpLHU9TWF0aC50YW4oLjUqKE0uUElfT1ZFUl9UV08rcykpKk1hdGguZXhwKCh0LWkubG9uZ2l0dWRlKS9NYXRoLnRhbihvKSksYz0oMStmKS8oMS1mKSxsPWkubGF0aXR1ZGUscDtkb3twPWw7bGV0IGQ9bipNYXRoLnNpbihwKSxtPSgxK2QpLygxLWQpO2w9MipNYXRoLmF0YW4odSpNYXRoLnBvdyhtL2Msbi8yKSktTS5QSV9PVkVSX1RXT313aGlsZSghTS5lcXVhbHNFcHNpbG9uKGwscCxNLkVQU0lMT04xMikpO3JldHVybiBlLmxvbmdpdHVkZT10LGUubGF0aXR1ZGU9bCxlLmhlaWdodD0wLGV9O0ZpLnByb3RvdHlwZS5maW5kSW50ZXJzZWN0aW9uV2l0aExhdGl0dWRlPWZ1bmN0aW9uKHQsZSl7aWYoeS50eXBlT2YubnVtYmVyKCJpbnRlcnNlY3Rpb25MYXRpdHVkZSIsdCksIWgodGhpcy5fZGlzdGFuY2UpfHx0aGlzLl9kaXN0YW5jZT09PTApdGhyb3cgbmV3IEYoIkVsbGlwc29pZFJodW1iTGluZSBtdXN0IGhhdmUgZGlzdGluY3Qgc3RhcnQgYW5kIGVuZCBzZXQuIik7bGV0IG49dGhpcy5fZWxsaXB0aWNpdHksbz10aGlzLl9oZWFkaW5nLHI9dGhpcy5fc3RhcnQ7aWYoTS5lcXVhbHNFcHNpbG9uKE1hdGguYWJzKG8pLE0uUElfT1ZFUl9UV08sTS5FUFNJTE9OOCkpcmV0dXJuO2xldCBpPWhhKG4sci5sYXRpdHVkZSkscz1oYShuLHQpLGY9TWF0aC50YW4obykqKHMtaSksdT1NLm5lZ2F0aXZlUGlUb1BpKHIubG9uZ2l0dWRlK2YpO3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT11LGUubGF0aXR1ZGU9dCxlLmhlaWdodD0wLGUpOm5ldyBjdCh1LHQsMCl9O1pvPUZpfSk7ZnVuY3Rpb24gSk4odCxlKXt0aGlzLnBvc2l0aW9ucz1oKHQpP3Q6W10sdGhpcy5ob2xlcz1oKGUpP2U6W119dmFyIGF3LGZ3PVooKCk9PntmdCgpO2F3PUpOfSk7ZnVuY3Rpb24gdjAodCxlLG49Mil7bGV0IG89ZSYmZS5sZW5ndGgscj1vP2VbMF0qbjp0Lmxlbmd0aCxpPWx3KHQsMCxyLG4sITApLHM9W107aWYoIWl8fGkubmV4dD09PWkucHJldilyZXR1cm4gcztsZXQgZix1LGM7aWYobyYmKGk9ckkodCxlLGksbikpLHQubGVuZ3RoPjgwKm4pe2Y9MS8wLHU9MS8wO2xldCBsPS0xLzAscD0tMS8wO2ZvcihsZXQgZD1uO2Q8cjtkKz1uKXtsZXQgbT10W2RdLF89dFtkKzFdO208ZiYmKGY9bSksXzx1JiYodT1fKSxtPmwmJihsPW0pLF8+cCYmKHA9Xyl9Yz1NYXRoLm1heChsLWYscC11KSxjPWMhPT0wPzMyNzY3L2M6MH1yZXR1cm4gdmYoaSxzLG4sZix1LGMsMCksc31mdW5jdGlvbiBsdyh0LGUsbixvLHIpe2xldCBpO2lmKHI9PT1oSSh0LGUsbixvKT4wKWZvcihsZXQgcz1lO3M8bjtzKz1vKWk9dXcocy9vfDAsdFtzXSx0W3MrMV0saSk7ZWxzZSBmb3IobGV0IHM9bi1vO3M+PWU7cy09bylpPXV3KHMvb3wwLHRbc10sdFtzKzFdLGkpO3JldHVybiBpJiZyZChpLGkubmV4dCkmJihEZihpKSxpPWkubmV4dCksaX1mdW5jdGlvbiB1Yyh0LGUpe2lmKCF0KXJldHVybiB0O2V8fChlPXQpO2xldCBuPXQsbztkbyBpZihvPSExLCFuLnN0ZWluZXImJihyZChuLG4ubmV4dCl8fHZuKG4ucHJldixuLG4ubmV4dCk9PT0wKSl7aWYoRGYobiksbj1lPW4ucHJldixuPT09bi5uZXh0KWJyZWFrO289ITB9ZWxzZSBuPW4ubmV4dDt3aGlsZShvfHxuIT09ZSk7cmV0dXJuIGV9ZnVuY3Rpb24gdmYodCxlLG4sbyxyLGkscyl7aWYoIXQpcmV0dXJuOyFzJiZpJiZmSSh0LG8scixpKTtsZXQgZj10O2Zvcig7dC5wcmV2IT09dC5uZXh0Oyl7bGV0IHU9dC5wcmV2LGM9dC5uZXh0O2lmKGk/ZUkodCxvLHIsaSk6dEkodCkpe2UucHVzaCh1LmksdC5pLGMuaSksRGYodCksdD1jLm5leHQsZj1jLm5leHQ7Y29udGludWV9aWYodD1jLHQ9PT1mKXtzP3M9PT0xPyh0PW5JKHVjKHQpLGUpLHZmKHQsZSxuLG8scixpLDIpKTpzPT09MiYmb0kodCxlLG4sbyxyLGkpOnZmKHVjKHQpLGUsbixvLHIsaSwxKTticmVha319fWZ1bmN0aW9uIHRJKHQpe2xldCBlPXQucHJldixuPXQsbz10Lm5leHQ7aWYodm4oZSxuLG8pPj0wKXJldHVybiExO2xldCByPWUueCxpPW4ueCxzPW8ueCxmPWUueSx1PW4ueSxjPW8ueSxsPXI8aT9yPHM/cjpzOmk8cz9pOnMscD1mPHU/ZjxjP2Y6Yzp1PGM/dTpjLGQ9cj5pP3I+cz9yOnM6aT5zP2k6cyxtPWY+dT9mPmM/ZjpjOnU+Yz91OmMsXz1vLm5leHQ7Zm9yKDtfIT09ZTspe2lmKF8ueD49bCYmXy54PD1kJiZfLnk+PXAmJl8ueTw9bSYmX2EocixmLGksdSxzLGMsXy54LF8ueSkmJnZuKF8ucHJldixfLF8ubmV4dCk+PTApcmV0dXJuITE7Xz1fLm5leHR9cmV0dXJuITB9ZnVuY3Rpb24gZUkodCxlLG4sbyl7bGV0IHI9dC5wcmV2LGk9dCxzPXQubmV4dDtpZih2bihyLGkscyk+PTApcmV0dXJuITE7bGV0IGY9ci54LHU9aS54LGM9cy54LGw9ci55LHA9aS55LGQ9cy55LG09Zjx1P2Y8Yz9mOmM6dTxjP3U6YyxfPWw8cD9sPGQ/bDpkOnA8ZD9wOmQsZz1mPnU/Zj5jP2Y6Yzp1PmM/dTpjLGI9bD5wP2w+ZD9sOmQ6cD5kP3A6ZCxUPU4wKG0sXyxlLG4sbyksTz1OMChnLGIsZSxuLG8pLEU9dC5wcmV2Wix3PXQubmV4dFo7Zm9yKDtFJiZFLno+PVQmJncmJncuejw9Tzspe2lmKEUueD49bSYmRS54PD1nJiZFLnk+PV8mJkUueTw9YiYmRSE9PXImJkUhPT1zJiZfYShmLGwsdSxwLGMsZCxFLngsRS55KSYmdm4oRS5wcmV2LEUsRS5uZXh0KT49MHx8KEU9RS5wcmV2Wix3Lng+PW0mJncueDw9ZyYmdy55Pj1fJiZ3Lnk8PWImJnchPT1yJiZ3IT09cyYmX2EoZixsLHUscCxjLGQsdy54LHcueSkmJnZuKHcucHJldix3LHcubmV4dCk+PTApKXJldHVybiExO3c9dy5uZXh0Wn1mb3IoO0UmJkUuej49VDspe2lmKEUueD49bSYmRS54PD1nJiZFLnk+PV8mJkUueTw9YiYmRSE9PXImJkUhPT1zJiZfYShmLGwsdSxwLGMsZCxFLngsRS55KSYmdm4oRS5wcmV2LEUsRS5uZXh0KT49MClyZXR1cm4hMTtFPUUucHJldlp9Zm9yKDt3JiZ3Lno8PU87KXtpZih3Lng+PW0mJncueDw9ZyYmdy55Pj1fJiZ3Lnk8PWImJnchPT1yJiZ3IT09cyYmX2EoZixsLHUscCxjLGQsdy54LHcueSkmJnZuKHcucHJldix3LHcubmV4dCk+PTApcmV0dXJuITE7dz13Lm5leHRafXJldHVybiEwfWZ1bmN0aW9uIG5JKHQsZSl7bGV0IG49dDtkb3tsZXQgbz1uLnByZXYscj1uLm5leHQubmV4dDshcmQobyxyKSYmcHcobyxuLG4ubmV4dCxyKSYmTGYobyxyKSYmTGYocixvKSYmKGUucHVzaChvLmksbi5pLHIuaSksRGYobiksRGYobi5uZXh0KSxuPXQ9ciksbj1uLm5leHR9d2hpbGUobiE9PXQpO3JldHVybiB1YyhuKX1mdW5jdGlvbiBvSSh0LGUsbixvLHIsaSl7bGV0IHM9dDtkb3tsZXQgZj1zLm5leHQubmV4dDtmb3IoO2YhPT1zLnByZXY7KXtpZihzLmkhPT1mLmkmJnBJKHMsZikpe2xldCB1PWR3KHMsZik7cz11YyhzLHMubmV4dCksdT11Yyh1LHUubmV4dCksdmYocyxlLG4sbyxyLGksMCksdmYodSxlLG4sbyxyLGksMCk7cmV0dXJufWY9Zi5uZXh0fXM9cy5uZXh0fXdoaWxlKHMhPT10KX1mdW5jdGlvbiBySSh0LGUsbixvKXtsZXQgcj1bXTtmb3IobGV0IGk9MCxzPWUubGVuZ3RoO2k8cztpKyspe2xldCBmPWVbaV0qbyx1PWk8cy0xP2VbaSsxXSpvOnQubGVuZ3RoLGM9bHcodCxmLHUsbywhMSk7Yz09PWMubmV4dCYmKGMuc3RlaW5lcj0hMCksci5wdXNoKGxJKGMpKX1yLnNvcnQoaUkpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKW49c0kocltpXSxuKTtyZXR1cm4gbn1mdW5jdGlvbiBpSSh0LGUpe3JldHVybiB0LngtZS54fWZ1bmN0aW9uIHNJKHQsZSl7bGV0IG49Y0kodCxlKTtpZighbilyZXR1cm4gZTtsZXQgbz1kdyhuLHQpO3JldHVybiB1YyhvLG8ubmV4dCksdWMobixuLm5leHQpfWZ1bmN0aW9uIGNJKHQsZSl7bGV0IG49ZSxvPXQueCxyPXQueSxpPS0xLzAscztkb3tpZihyPD1uLnkmJnI+PW4ubmV4dC55JiZuLm5leHQueSE9PW4ueSl7bGV0IHA9bi54KyhyLW4ueSkqKG4ubmV4dC54LW4ueCkvKG4ubmV4dC55LW4ueSk7aWYocDw9byYmcD5pJiYoaT1wLHM9bi54PG4ubmV4dC54P246bi5uZXh0LHA9PT1vKSlyZXR1cm4gc31uPW4ubmV4dH13aGlsZShuIT09ZSk7aWYoIXMpcmV0dXJuIG51bGw7bGV0IGY9cyx1PXMueCxjPXMueSxsPTEvMDtuPXM7ZG97aWYobz49bi54JiZuLng+PXUmJm8hPT1uLngmJl9hKHI8Yz9vOmkscix1LGMscjxjP2k6byxyLG4ueCxuLnkpKXtsZXQgcD1NYXRoLmFicyhyLW4ueSkvKG8tbi54KTtMZihuLHQpJiYocDxsfHxwPT09bCYmKG4ueD5zLnh8fG4ueD09PXMueCYmYUkocyxuKSkpJiYocz1uLGw9cCl9bj1uLm5leHR9d2hpbGUobiE9PWYpO3JldHVybiBzfWZ1bmN0aW9uIGFJKHQsZSl7cmV0dXJuIHZuKHQucHJldix0LGUucHJldik8MCYmdm4oZS5uZXh0LHQsdC5uZXh0KTwwfWZ1bmN0aW9uIGZJKHQsZSxuLG8pe2xldCByPXQ7ZG8gci56PT09MCYmKHIuej1OMChyLngsci55LGUsbixvKSksci5wcmV2Wj1yLnByZXYsci5uZXh0Wj1yLm5leHQscj1yLm5leHQ7d2hpbGUociE9PXQpO3IucHJldloubmV4dFo9bnVsbCxyLnByZXZaPW51bGwsdUkocil9ZnVuY3Rpb24gdUkodCl7bGV0IGUsbj0xO2Rve2xldCBvPXQscjt0PW51bGw7bGV0IGk9bnVsbDtmb3IoZT0wO287KXtlKys7bGV0IHM9byxmPTA7Zm9yKGxldCBjPTA7YzxuJiYoZisrLHM9cy5uZXh0WiwhIXMpO2MrKyk7bGV0IHU9bjtmb3IoO2Y+MHx8dT4wJiZzOylmIT09MCYmKHU9PT0wfHwhc3x8by56PD1zLnopPyhyPW8sbz1vLm5leHRaLGYtLSk6KHI9cyxzPXMubmV4dFosdS0tKSxpP2kubmV4dFo9cjp0PXIsci5wcmV2Wj1pLGk9cjtvPXN9aS5uZXh0Wj1udWxsLG4qPTJ9d2hpbGUoZT4xKTtyZXR1cm4gdH1mdW5jdGlvbiBOMCh0LGUsbixvLHIpe3JldHVybiB0PSh0LW4pKnJ8MCxlPShlLW8pKnJ8MCx0PSh0fHQ8PDgpJjE2NzExOTM1LHQ9KHR8dDw8NCkmMjUyNjQ1MTM1LHQ9KHR8dDw8MikmODU4OTkzNDU5LHQ9KHR8dDw8MSkmMTQzMTY1NTc2NSxlPShlfGU8PDgpJjE2NzExOTM1LGU9KGV8ZTw8NCkmMjUyNjQ1MTM1LGU9KGV8ZTw8MikmODU4OTkzNDU5LGU9KGV8ZTw8MSkmMTQzMTY1NTc2NSx0fGU8PDF9ZnVuY3Rpb24gbEkodCl7bGV0IGU9dCxuPXQ7ZG8oZS54PG4ueHx8ZS54PT09bi54JiZlLnk8bi55KSYmKG49ZSksZT1lLm5leHQ7d2hpbGUoZSE9PXQpO3JldHVybiBufWZ1bmN0aW9uIF9hKHQsZSxuLG8scixpLHMsZil7cmV0dXJuKHItcykqKGUtZik+PSh0LXMpKihpLWYpJiYodC1zKSooby1mKT49KG4tcykqKGUtZikmJihuLXMpKihpLWYpPj0oci1zKSooby1mKX1mdW5jdGlvbiBwSSh0LGUpe3JldHVybiB0Lm5leHQuaSE9PWUuaSYmdC5wcmV2LmkhPT1lLmkmJiFkSSh0LGUpJiYoTGYodCxlKSYmTGYoZSx0KSYmbUkodCxlKSYmKHZuKHQucHJldix0LGUucHJldil8fHZuKHQsZS5wcmV2LGUpKXx8cmQodCxlKSYmdm4odC5wcmV2LHQsdC5uZXh0KT4wJiZ2bihlLnByZXYsZSxlLm5leHQpPjApfWZ1bmN0aW9uIHZuKHQsZSxuKXtyZXR1cm4oZS55LXQueSkqKG4ueC1lLngpLShlLngtdC54KSoobi55LWUueSl9ZnVuY3Rpb24gcmQodCxlKXtyZXR1cm4gdC54PT09ZS54JiZ0Lnk9PT1lLnl9ZnVuY3Rpb24gcHcodCxlLG4sbyl7bGV0IHI9b2Qodm4odCxlLG4pKSxpPW9kKHZuKHQsZSxvKSkscz1vZCh2bihuLG8sdCkpLGY9b2Qodm4obixvLGUpKTtyZXR1cm4hIShyIT09aSYmcyE9PWZ8fHI9PT0wJiZuZCh0LG4sZSl8fGk9PT0wJiZuZCh0LG8sZSl8fHM9PT0wJiZuZChuLHQsbyl8fGY9PT0wJiZuZChuLGUsbykpfWZ1bmN0aW9uIG5kKHQsZSxuKXtyZXR1cm4gZS54PD1NYXRoLm1heCh0Lngsbi54KSYmZS54Pj1NYXRoLm1pbih0Lngsbi54KSYmZS55PD1NYXRoLm1heCh0Lnksbi55KSYmZS55Pj1NYXRoLm1pbih0Lnksbi55KX1mdW5jdGlvbiBvZCh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gZEkodCxlKXtsZXQgbj10O2Rve2lmKG4uaSE9PXQuaSYmbi5uZXh0LmkhPT10LmkmJm4uaSE9PWUuaSYmbi5uZXh0LmkhPT1lLmkmJnB3KG4sbi5uZXh0LHQsZSkpcmV0dXJuITA7bj1uLm5leHR9d2hpbGUobiE9PXQpO3JldHVybiExfWZ1bmN0aW9uIExmKHQsZSl7cmV0dXJuIHZuKHQucHJldix0LHQubmV4dCk8MD92bih0LGUsdC5uZXh0KT49MCYmdm4odCx0LnByZXYsZSk+PTA6dm4odCxlLHQucHJldik8MHx8dm4odCx0Lm5leHQsZSk8MH1mdW5jdGlvbiBtSSh0LGUpe2xldCBuPXQsbz0hMSxyPSh0LngrZS54KS8yLGk9KHQueStlLnkpLzI7ZG8gbi55PmkhPW4ubmV4dC55PmkmJm4ubmV4dC55IT09bi55JiZyPChuLm5leHQueC1uLngpKihpLW4ueSkvKG4ubmV4dC55LW4ueSkrbi54JiYobz0hbyksbj1uLm5leHQ7d2hpbGUobiE9PXQpO3JldHVybiBvfWZ1bmN0aW9uIGR3KHQsZSl7bGV0IG49STAodC5pLHQueCx0LnkpLG89STAoZS5pLGUueCxlLnkpLHI9dC5uZXh0LGk9ZS5wcmV2O3JldHVybiB0Lm5leHQ9ZSxlLnByZXY9dCxuLm5leHQ9cixyLnByZXY9bixvLm5leHQ9bixuLnByZXY9byxpLm5leHQ9byxvLnByZXY9aSxvfWZ1bmN0aW9uIHV3KHQsZSxuLG8pe2xldCByPUkwKHQsZSxuKTtyZXR1cm4gbz8oci5uZXh0PW8ubmV4dCxyLnByZXY9byxvLm5leHQucHJldj1yLG8ubmV4dD1yKTooci5wcmV2PXIsci5uZXh0PXIpLHJ9ZnVuY3Rpb24gRGYodCl7dC5uZXh0LnByZXY9dC5wcmV2LHQucHJldi5uZXh0PXQubmV4dCx0LnByZXZaJiYodC5wcmV2Wi5uZXh0Wj10Lm5leHRaKSx0Lm5leHRaJiYodC5uZXh0Wi5wcmV2Wj10LnByZXZaKX1mdW5jdGlvbiBJMCh0LGUsbil7cmV0dXJue2k6dCx4OmUseTpuLHByZXY6bnVsbCxuZXh0Om51bGwsejowLHByZXZaOm51bGwsbmV4dFo6bnVsbCxzdGVpbmVyOiExfX1mdW5jdGlvbiBoSSh0LGUsbixvKXtsZXQgcj0wO2ZvcihsZXQgaT1lLHM9bi1vO2k8bjtpKz1vKXIrPSh0W3NdLXRbaV0pKih0W2krMV0rdFtzKzFdKSxzPWk7cmV0dXJuIHJ9dmFyIG13PVooKCk9Pnt9KTt2YXIgaWQsQ28sbGM9WigoKT0+eyRzKCk7aWQ9e0NMT0NLV0lTRTpxdC5DVyxDT1VOVEVSX0NMT0NLV0lTRTpxdC5DQ1d9O2lkLnZhbGlkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09aWQuQ0xPQ0tXSVNFfHx0PT09aWQuQ09VTlRFUl9DTE9DS1dJU0V9O0NvPU9iamVjdC5mcmVlemUoaWQpfSk7dmFyIF9JLHlJLGxzLGd3LEF3LGJ3LGh3LF93LHl3LEJpLFR3LHd3LE93LHlhLGdJLEFJLGJJLEwwLFBlLHFyPVooKCk9PnttdygpO1VlKCk7RnQoKTtJZSgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7WnQoKTtJZigpO1hlKCk7WWUoKTtXdCgpO3RuKCk7bGMoKTtfST1uZXcgYSx5ST1uZXcgYSxscz17fTtscy5jb21wdXRlQXJlYTJEPWZ1bmN0aW9uKHQpe3kuZGVmaW5lZCgicG9zaXRpb25zIix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygicG9zaXRpb25zLmxlbmd0aCIsdC5sZW5ndGgsMyk7bGV0IGU9dC5sZW5ndGgsbj0wO2ZvcihsZXQgbz1lLTEscj0wO3I8ZTtvPXIrKyl7bGV0IGk9dFtvXSxzPXRbcl07bis9aS54KnMueS1zLngqaS55fXJldHVybiBuKi41fTtscy5jb21wdXRlV2luZGluZ09yZGVyMkQ9ZnVuY3Rpb24odCl7cmV0dXJuIGxzLmNvbXB1dGVBcmVhMkQodCk+MD9Dby5DT1VOVEVSX0NMT0NLV0lTRTpDby5DTE9DS1dJU0V9O2xzLnRyaWFuZ3VsYXRlPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJwb3NpdGlvbnMiLHQpO2xldCBuPXR0LnBhY2tBcnJheSh0KTtyZXR1cm4gdjAobixlLDIpfTtndz1uZXcgYSxBdz1uZXcgYSxidz1uZXcgYSxodz1uZXcgYSxfdz1uZXcgYSx5dz1uZXcgYSxCaT1uZXcgYSxUdz1uZXcgdHQsd3c9bmV3IHR0LE93PW5ldyB0dCx5YT1uZXcgdHQ7bHMuY29tcHV0ZVN1YmRpdmlzaW9uPWZ1bmN0aW9uKHQsZSxuLG8scil7cj14KHIsTS5SQURJQU5TX1BFUl9ERUdSRUUpO2xldCBpPWgobyk7eS50eXBlT2Yub2JqZWN0KCJlbGxpcHNvaWQiLHQpLHkuZGVmaW5lZCgicG9zaXRpb25zIixlKSx5LmRlZmluZWQoImluZGljZXMiLG4pLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRpY2VzLmxlbmd0aCIsbi5sZW5ndGgsMykseS50eXBlT2YubnVtYmVyLmVxdWFscygiaW5kaWNlcy5sZW5ndGggJSAzIiwiMCIsbi5sZW5ndGglMywwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW4oImdyYW51bGFyaXR5IixyLDApO2xldCBzPW4uc2xpY2UoMCksZix1PWUubGVuZ3RoLGM9bmV3IEFycmF5KHUqMyksbD1uZXcgQXJyYXkodSoyKSxwPTAsZD0wO2ZvcihmPTA7Zjx1O2YrKyl7bGV0IEU9ZVtmXTtpZihjW3ArK109RS54LGNbcCsrXT1FLnksY1twKytdPUUueixpKXtsZXQgdz1vW2ZdO2xbZCsrXT13LngsbFtkKytdPXcueX19bGV0IG09W10sXz17fSxnPXQubWF4aW11bVJhZGl1cyxiPU0uY2hvcmRMZW5ndGgocixnKSxUPWIqYjtmb3IoO3MubGVuZ3RoPjA7KXtsZXQgRT1zLnBvcCgpLHc9cy5wb3AoKSxDPXMucG9wKCksTj1hLmZyb21BcnJheShjLEMqMyxndyksST1hLmZyb21BcnJheShjLHcqMyxBdyksRD1hLmZyb21BcnJheShjLEUqMyxidyksdixMLFU7aSYmKHY9dHQuZnJvbUFycmF5KGwsQyoyLFR3KSxMPXR0LmZyb21BcnJheShsLHcqMix3dyksVT10dC5mcm9tQXJyYXkobCxFKjIsT3cpKTtsZXQgQT1hLm11bHRpcGx5QnlTY2FsYXIoYS5ub3JtYWxpemUoTixodyksZyxodyksUz1hLm11bHRpcGx5QnlTY2FsYXIoYS5ub3JtYWxpemUoSSxfdyksZyxfdyksUD1hLm11bHRpcGx5QnlTY2FsYXIoYS5ub3JtYWxpemUoRCx5dyksZyx5dyksQj1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChBLFMsQmkpKSxqPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KFMsUCxCaSkpLEg9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QoUCxBLEJpKSksaz1NYXRoLm1heChCLGosSCksSyxYLFI7az5UP0I9PT1rPyhLPWAke01hdGgubWluKEMsdyl9ICR7TWF0aC5tYXgoQyx3KX1gLGY9X1tLXSxoKGYpfHwoWD1hLmFkZChOLEksQmkpLGEubXVsdGlwbHlCeVNjYWxhcihYLC41LFgpLGMucHVzaChYLngsWC55LFgueiksZj1jLmxlbmd0aC8zLTEsX1tLXT1mLGkmJihSPXR0LmFkZCh2LEwseWEpLHR0Lm11bHRpcGx5QnlTY2FsYXIoUiwuNSxSKSxsLnB1c2goUi54LFIueSkpKSxzLnB1c2goQyxmLEUpLHMucHVzaChmLHcsRSkpOmo9PT1rPyhLPWAke01hdGgubWluKHcsRSl9ICR7TWF0aC5tYXgodyxFKX1gLGY9X1tLXSxoKGYpfHwoWD1hLmFkZChJLEQsQmkpLGEubXVsdGlwbHlCeVNjYWxhcihYLC41LFgpLGMucHVzaChYLngsWC55LFgueiksZj1jLmxlbmd0aC8zLTEsX1tLXT1mLGkmJihSPXR0LmFkZChMLFUseWEpLHR0Lm11bHRpcGx5QnlTY2FsYXIoUiwuNSxSKSxsLnB1c2goUi54LFIueSkpKSxzLnB1c2godyxmLEMpLHMucHVzaChmLEUsQykpOkg9PT1rJiYoSz1gJHtNYXRoLm1pbihFLEMpfSAke01hdGgubWF4KEUsQyl9YCxmPV9bS10saChmKXx8KFg9YS5hZGQoRCxOLEJpKSxhLm11bHRpcGx5QnlTY2FsYXIoWCwuNSxYKSxjLnB1c2goWC54LFgueSxYLnopLGY9Yy5sZW5ndGgvMy0xLF9bS109ZixpJiYoUj10dC5hZGQoVSx2LHlhKSx0dC5tdWx0aXBseUJ5U2NhbGFyKFIsLjUsUiksbC5wdXNoKFIueCxSLnkpKSkscy5wdXNoKEUsZix3KSxzLnB1c2goZixDLHcpKToobS5wdXNoKEMpLG0ucHVzaCh3KSxtLnB1c2goRSkpfWxldCBPPXthdHRyaWJ1dGVzOntwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmN9KX0saW5kaWNlczptLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfTtyZXR1cm4gaSYmKE8uYXR0cmlidXRlcy5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6bH0pKSxuZXcgVXQoTyl9O2dJPW5ldyBjdCxBST1uZXcgY3QsYkk9bmV3IGN0LEwwPW5ldyBjdDtscy5jb21wdXRlUmh1bWJMaW5lU3ViZGl2aXNpb249ZnVuY3Rpb24odCxlLG4sbyxyKXtyPXgocixNLlJBRElBTlNfUEVSX0RFR1JFRSk7bGV0IGk9aChvKTt5LnR5cGVPZi5vYmplY3QoImVsbGlwc29pZCIsdCkseS5kZWZpbmVkKCJwb3NpdGlvbnMiLGUpLHkuZGVmaW5lZCgiaW5kaWNlcyIsbikseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGljZXMubGVuZ3RoIixuLmxlbmd0aCwzKSx5LnR5cGVPZi5udW1iZXIuZXF1YWxzKCJpbmRpY2VzLmxlbmd0aCAlIDMiLCIwIixuLmxlbmd0aCUzLDApLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbigiZ3JhbnVsYXJpdHkiLHIsMCk7bGV0IHM9bi5zbGljZSgwKSxmLHU9ZS5sZW5ndGgsYz1uZXcgQXJyYXkodSozKSxsPW5ldyBBcnJheSh1KjIpLHA9MCxkPTA7Zm9yKGY9MDtmPHU7ZisrKXtsZXQgQz1lW2ZdO2lmKGNbcCsrXT1DLngsY1twKytdPUMueSxjW3ArK109Qy56LGkpe2xldCBOPW9bZl07bFtkKytdPU4ueCxsW2QrK109Ti55fX1sZXQgbT1bXSxfPXt9LGc9dC5tYXhpbXVtUmFkaXVzLGI9TS5jaG9yZExlbmd0aChyLGcpLFQ9bmV3IFpvKHZvaWQgMCx2b2lkIDAsdCksTz1uZXcgWm8odm9pZCAwLHZvaWQgMCx0KSxFPW5ldyBabyh2b2lkIDAsdm9pZCAwLHQpO2Zvcig7cy5sZW5ndGg+MDspe2xldCBDPXMucG9wKCksTj1zLnBvcCgpLEk9cy5wb3AoKSxEPWEuZnJvbUFycmF5KGMsSSozLGd3KSx2PWEuZnJvbUFycmF5KGMsTiozLEF3KSxMPWEuZnJvbUFycmF5KGMsQyozLGJ3KSxVLEEsUztpJiYoVT10dC5mcm9tQXJyYXkobCxJKjIsVHcpLEE9dHQuZnJvbUFycmF5KGwsTioyLHd3KSxTPXR0LmZyb21BcnJheShsLEMqMixPdykpO2xldCBQPXQuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoRCxnSSksQj10LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHYsQUkpLGo9dC5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhMLGJJKTtULnNldEVuZFBvaW50cyhQLEIpO2xldCBIPVQuc3VyZmFjZURpc3RhbmNlO08uc2V0RW5kUG9pbnRzKEIsaik7bGV0IGs9Ty5zdXJmYWNlRGlzdGFuY2U7RS5zZXRFbmRQb2ludHMoaixQKTtsZXQgSz1FLnN1cmZhY2VEaXN0YW5jZSxYPU1hdGgubWF4KEgsayxLKSxSLG90LGF0LHB0LHl0O1g+Yj9IPT09WD8oUj1gJHtNYXRoLm1pbihJLE4pfSAke01hdGgubWF4KEksTil9YCxmPV9bUl0saChmKXx8KG90PVQuaW50ZXJwb2xhdGVVc2luZ0ZyYWN0aW9uKC41LEwwKSxhdD0oUC5oZWlnaHQrQi5oZWlnaHQpKi41LHB0PWEuZnJvbVJhZGlhbnMob3QubG9uZ2l0dWRlLG90LmxhdGl0dWRlLGF0LHQsQmkpLGMucHVzaChwdC54LHB0LnkscHQueiksZj1jLmxlbmd0aC8zLTEsX1tSXT1mLGkmJih5dD10dC5hZGQoVSxBLHlhKSx0dC5tdWx0aXBseUJ5U2NhbGFyKHl0LC41LHl0KSxsLnB1c2goeXQueCx5dC55KSkpLHMucHVzaChJLGYsQykscy5wdXNoKGYsTixDKSk6az09PVg/KFI9YCR7TWF0aC5taW4oTixDKX0gJHtNYXRoLm1heChOLEMpfWAsZj1fW1JdLGgoZil8fChvdD1PLmludGVycG9sYXRlVXNpbmdGcmFjdGlvbiguNSxMMCksYXQ9KEIuaGVpZ2h0K2ouaGVpZ2h0KSouNSxwdD1hLmZyb21SYWRpYW5zKG90LmxvbmdpdHVkZSxvdC5sYXRpdHVkZSxhdCx0LEJpKSxjLnB1c2gocHQueCxwdC55LHB0LnopLGY9Yy5sZW5ndGgvMy0xLF9bUl09ZixpJiYoeXQ9dHQuYWRkKEEsUyx5YSksdHQubXVsdGlwbHlCeVNjYWxhcih5dCwuNSx5dCksbC5wdXNoKHl0LngseXQueSkpKSxzLnB1c2goTixmLEkpLHMucHVzaChmLEMsSSkpOks9PT1YJiYoUj1gJHtNYXRoLm1pbihDLEkpfSAke01hdGgubWF4KEMsSSl9YCxmPV9bUl0saChmKXx8KG90PUUuaW50ZXJwb2xhdGVVc2luZ0ZyYWN0aW9uKC41LEwwKSxhdD0oai5oZWlnaHQrUC5oZWlnaHQpKi41LHB0PWEuZnJvbVJhZGlhbnMob3QubG9uZ2l0dWRlLG90LmxhdGl0dWRlLGF0LHQsQmkpLGMucHVzaChwdC54LHB0LnkscHQueiksZj1jLmxlbmd0aC8zLTEsX1tSXT1mLGkmJih5dD10dC5hZGQoUyxVLHlhKSx0dC5tdWx0aXBseUJ5U2NhbGFyKHl0LC41LHl0KSxsLnB1c2goeXQueCx5dC55KSkpLHMucHVzaChDLGYsTikscy5wdXNoKGYsSSxOKSk6KG0ucHVzaChJKSxtLnB1c2goTiksbS5wdXNoKEMpKX1sZXQgdz17YXR0cmlidXRlczp7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpjfSl9LGluZGljZXM6bSxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFU307cmV0dXJuIGkmJih3LmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOmx9KSksbmV3IFV0KHcpfTtscy5zY2FsZVRvR2VvZGV0aWNIZWlnaHQ9ZnVuY3Rpb24odCxlLG4sbyl7bj14KG4sJC5kZWZhdWx0KTtsZXQgcj1fSSxpPXlJO2lmKGU9eChlLDApLG89eChvLCEwKSxoKHQpKXtsZXQgcz10Lmxlbmd0aDtmb3IobGV0IGY9MDtmPHM7Zis9MylhLmZyb21BcnJheSh0LGYsaSksbyYmKGk9bi5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGksaSkpLGUhPT0wJiYocj1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChpLHIpLGEubXVsdGlwbHlCeVNjYWxhcihyLGUsciksYS5hZGQoaSxyLGkpKSx0W2ZdPWkueCx0W2YrMV09aS55LHRbZisyXT1pLnp9cmV0dXJuIHR9O1BlPWxzfSk7ZnVuY3Rpb24gcHMoKXt0aGlzLl9hcnJheT1bXSx0aGlzLl9vZmZzZXQ9MCx0aGlzLl9sZW5ndGg9MH12YXIgRDAsRXc9WigoKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHBzLnByb3RvdHlwZSx7bGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGVuZ3RofX19KTtwcy5wcm90b3R5cGUuZW5xdWV1ZT1mdW5jdGlvbih0KXt0aGlzLl9hcnJheS5wdXNoKHQpLHRoaXMuX2xlbmd0aCsrfTtwcy5wcm90b3R5cGUuZGVxdWV1ZT1mdW5jdGlvbigpe2lmKHRoaXMuX2xlbmd0aD09PTApcmV0dXJuO2xldCB0PXRoaXMuX2FycmF5LGU9dGhpcy5fb2Zmc2V0LG49dFtlXTtyZXR1cm4gdFtlXT12b2lkIDAsZSsrLGU+MTAmJmUqMj50Lmxlbmd0aCYmKHRoaXMuX2FycmF5PXQuc2xpY2UoZSksZT0wKSx0aGlzLl9vZmZzZXQ9ZSx0aGlzLl9sZW5ndGgtLSxufTtwcy5wcm90b3R5cGUucGVlaz1mdW5jdGlvbigpe2lmKHRoaXMuX2xlbmd0aCE9PTApcmV0dXJuIHRoaXMuX2FycmF5W3RoaXMuX29mZnNldF19O3BzLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYXJyYXkuaW5kZXhPZih0KSE9PS0xfTtwcy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9hcnJheS5sZW5ndGg9dGhpcy5fb2Zmc2V0PXRoaXMuX2xlbmd0aD0wfTtwcy5wcm90b3R5cGUuc29ydD1mdW5jdGlvbih0KXt0aGlzLl9vZmZzZXQ+MCYmKHRoaXMuX2FycmF5PXRoaXMuX2FycmF5LnNsaWNlKHRoaXMuX29mZnNldCksdGhpcy5fb2Zmc2V0PTApLHRoaXMuX2FycmF5LnNvcnQodCl9O0QwPXBzfSk7ZnVuY3Rpb24gQ3codCxlLG4sbyl7cmV0dXJuIHR0LnN1YnRyYWN0KGUsdCxwYyksdHQubXVsdGlwbHlCeVNjYWxhcihwYyxuL28scGMpLHR0LmFkZCh0LHBjLHBjKSxbcGMueCxwYy55XX1mdW5jdGlvbiBUSSh0LGUsbixvKXtyZXR1cm4gYS5zdWJ0cmFjdChlLHQsZHMpLGEubXVsdGlwbHlCeVNjYWxhcihkcyxuL28sZHMpLGEuYWRkKHQsZHMsZHMpLFtkcy54LGRzLnksZHMuel19ZnVuY3Rpb24gUEkodCxlLG4pe2xldCBvPW4uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWModCxjZCkscj1uLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGUsYWQpO2lmKE1hdGguc2lnbihvLmxhdGl0dWRlKT09PU1hdGguc2lnbihyLmxhdGl0dWRlKSlyZXR1cm47c2Quc2V0RW5kUG9pbnRzKG8scik7bGV0IGk9c2QuZmluZEludGVyc2VjdGlvbldpdGhMYXRpdHVkZSgwLHhJKTtpZighaChpKSlyZXR1cm47bGV0IHM9TWF0aC5taW4oby5sb25naXR1ZGUsci5sb25naXR1ZGUpLGY9TWF0aC5tYXgoby5sb25naXR1ZGUsci5sb25naXR1ZGUpO2lmKE1hdGguYWJzKGYtcyk+TS5QSSl7bGV0IHU9cztzPWYsZj11fWlmKCEoaS5sb25naXR1ZGU8c3x8aS5sb25naXR1ZGU+ZikpcmV0dXJuIG4uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oaSl9ZnVuY3Rpb24gTUkodCxlLG4sbyl7aWYobz09PV9lLlJIVU1CKXJldHVybiBQSSh0LGUsbik7bGV0IHI9aG8ubGluZVNlZ21lbnRQbGFuZSh0LGUsb24uT1JJR0lOX1hZX1BMQU5FKTtpZihoKHIpKXJldHVybiBuLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UocixyKX1mdW5jdGlvbiBJSSh0LGUsbil7bGV0IG89W10scixpLHMsZix1LGM9MDtmb3IoO2M8dC5sZW5ndGg7KXtyPXRbY10saT10WyhjKzEpJXQubGVuZ3RoXSxzPU0uc2lnbihyLnopLGY9TS5zaWduKGkueik7bGV0IGw9cD0+ZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhwLE5JKS5sb25naXR1ZGU7aWYocz09PTApby5wdXNoKHtwb3NpdGlvbjpjLHR5cGU6cyx2aXNpdGVkOiExLG5leHQ6Zix0aGV0YTpsKHIpfSk7ZWxzZSBpZihmIT09MCl7aWYodT1NSShyLGksZSxuKSwrK2MsIWgodSkpY29udGludWU7dC5zcGxpY2UoYywwLHUpLG8ucHVzaCh7cG9zaXRpb246Yyx0eXBlOnMsdmlzaXRlZDohMSxuZXh0OmYsdGhldGE6bCh1KX0pfSsrY31yZXR1cm4gb31mdW5jdGlvbiB4dyh0LGUsbixvLHIsaSxzKXtsZXQgZj1bXSx1PWksYz1wPT5kPT5kLnBvc2l0aW9uPT09cCxsPVtdO2Rve2xldCBwPW5bdV07Zi5wdXNoKHApO2xldCBkPW8uZmluZEluZGV4KGModSkpLG09b1tkXTtpZighaChtKSl7Kyt1O2NvbnRpbnVlfWxldHt2aXNpdGVkOl8sdHlwZTpnLG5leHQ6Yn09bTtpZihtLnZpc2l0ZWQ9ITAsZz09PTApe2lmKGI9PT0wKXtsZXQgdz1vW2QtKHM/MTotMSldO2lmKHc/LnBvc2l0aW9uPT09dSsxKXcudmlzaXRlZD0hMDtlbHNleysrdTtjb250aW51ZX19aWYoIV8mJnMmJmI+MHx8aT09PXUmJiFzJiZiPDApeysrdTtjb250aW51ZX19aWYoIShzP2c+PTA6Zzw9MCkpeysrdTtjb250aW51ZX1ffHxsLnB1c2godSk7bGV0IE89ZCsocz8xOi0xKSxFPW9bT107aWYoIWgoRSkpeysrdTtjb250aW51ZX11PUUucG9zaXRpb259d2hpbGUodTxuLmxlbmd0aCYmdT49MCYmdSE9PWkmJmYubGVuZ3RoPG4ubGVuZ3RoKTt0LnNwbGljZShlLHIsZik7Zm9yKGxldCBwIG9mIGwpZT14dyh0LCsrZSxuLG8sMCxwLCFzKTtyZXR1cm4gZX12YXIgT24scGMsZHMsY2QsYWQsd0ksT0ksc2QsRUksUkksU0ksQ0kseEksTkksdkksTEksREksRkksUncsU3csQkksVUkseWUsRmY9WigoKT0+e2ZjKCk7anIoKTtVZSgpO0Z0KCk7SWUoKTtGZSgpO0l0KCk7ZnQoKTtadCgpO0lmKCk7WGUoKTtZZSgpO2FuKCk7c2koKTskZSgpO3RjKCk7V3QoKTtCbigpO2ZzKCk7ZncoKTtxcigpO3RuKCk7S28oKTtFdygpO2xjKCk7T249e307T24uY29tcHV0ZUhpZXJhcmNoeVBhY2tlZExlbmd0aD1mdW5jdGlvbih0LGUpe2xldCBuPTAsbz1bdF07Zm9yKDtvLmxlbmd0aD4wOyl7bGV0IHI9by5wb3AoKTtpZighaChyKSljb250aW51ZTtuKz0yO2xldCBpPXIucG9zaXRpb25zLHM9ci5ob2xlcztpZihoKGkpJiZpLmxlbmd0aD4wJiYobis9aS5sZW5ndGgqZS5wYWNrZWRMZW5ndGgpLGgocykpe2xldCBmPXMubGVuZ3RoO2ZvcihsZXQgdT0wO3U8ZjsrK3Upby5wdXNoKHNbdV0pfX1yZXR1cm4gbn07T24ucGFja1BvbHlnb25IaWVyYXJjaHk9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9W3RdO2Zvcig7ci5sZW5ndGg+MDspe2xldCBpPXIucG9wKCk7aWYoIWgoaSkpY29udGludWU7bGV0IHM9aS5wb3NpdGlvbnMsZj1pLmhvbGVzO2lmKGVbbisrXT1oKHMpP3MubGVuZ3RoOjAsZVtuKytdPWgoZik/Zi5sZW5ndGg6MCxoKHMpKXtsZXQgdT1zLmxlbmd0aDtmb3IobGV0IGM9MDtjPHU7KytjLG4rPW8ucGFja2VkTGVuZ3RoKW8ucGFjayhzW2NdLGUsbil9aWYoaChmKSl7bGV0IHU9Zi5sZW5ndGg7Zm9yKGxldCBjPTA7Yzx1OysrYylyLnB1c2goZltjXSl9fXJldHVybiBufTtPbi51bnBhY2tQb2x5Z29uSGllcmFyY2h5PWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10W2UrK10scj10W2UrK10saT1uZXcgQXJyYXkobykscz1yPjA/bmV3IEFycmF5KHIpOnZvaWQgMDtmb3IobGV0IGY9MDtmPG87KytmLGUrPW4ucGFja2VkTGVuZ3RoKWlbZl09bi51bnBhY2sodCxlKTtmb3IobGV0IGY9MDtmPHI7KytmKXNbZl09T24udW5wYWNrUG9seWdvbkhpZXJhcmNoeSh0LGUsbiksZT1zW2ZdLnN0YXJ0aW5nSW5kZXgsZGVsZXRlIHNbZl0uc3RhcnRpbmdJbmRleDtyZXR1cm57cG9zaXRpb25zOmksaG9sZXM6cyxzdGFydGluZ0luZGV4OmV9fTtwYz1uZXcgdHQ7ZHM9bmV3IGE7T24uc3ViZGl2aWRlTGluZUNvdW50PWZ1bmN0aW9uKHQsZSxuKXtsZXQgcj1hLmRpc3RhbmNlKHQsZSkvbixpPU1hdGgubWF4KDAsTWF0aC5jZWlsKE0ubG9nMihyKSkpO3JldHVybiBNYXRoLnBvdygyLGkpfTtjZD1uZXcgY3QsYWQ9bmV3IGN0LHdJPW5ldyBjdCxPST1uZXcgYSxzZD1uZXcgWm87T24uc3ViZGl2aWRlUmh1bWJMaW5lQ291bnQ9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9dC5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhlLGNkKSxpPXQuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMobixhZCksZj1uZXcgWm8ocixpLHQpLnN1cmZhY2VEaXN0YW5jZS9vLHU9TWF0aC5tYXgoMCxNYXRoLmNlaWwoTS5sb2cyKGYpKSk7cmV0dXJuIE1hdGgucG93KDIsdSl9O09uLnN1YmRpdmlkZVRleGNvb3JkTGluZT1mdW5jdGlvbih0LGUsbixvLHIsaSl7bGV0IHM9T24uc3ViZGl2aWRlTGluZUNvdW50KG4sbyxyKSxmPXR0LmRpc3RhbmNlKHQsZSksdT1mL3MsYz1pO2MubGVuZ3RoPXMqMjtsZXQgbD0wO2ZvcihsZXQgcD0wO3A8cztwKyspe2xldCBkPUN3KHQsZSxwKnUsZik7Y1tsKytdPWRbMF0sY1tsKytdPWRbMV19cmV0dXJuIGN9O09uLnN1YmRpdmlkZUxpbmU9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9T24uc3ViZGl2aWRlTGluZUNvdW50KHQsZSxuKSxpPWEuZGlzdGFuY2UodCxlKSxzPWkvcjtoKG8pfHwobz1bXSk7bGV0IGY9bztmLmxlbmd0aD1yKjM7bGV0IHU9MDtmb3IobGV0IGM9MDtjPHI7YysrKXtsZXQgbD1USSh0LGUsYypzLGkpO2ZbdSsrXT1sWzBdLGZbdSsrXT1sWzFdLGZbdSsrXT1sWzJdfXJldHVybiBmfTtPbi5zdWJkaXZpZGVUZXhjb29yZFJodW1iTGluZT1mdW5jdGlvbih0LGUsbixvLHIsaSxzKXtsZXQgZj1uLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG8sY2QpLHU9bi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhyLGFkKTtzZC5zZXRFbmRQb2ludHMoZix1KTtsZXQgYz1zZC5zdXJmYWNlRGlzdGFuY2UvaSxsPU1hdGgubWF4KDAsTWF0aC5jZWlsKE0ubG9nMihjKSkpLHA9TWF0aC5wb3coMixsKSxkPXR0LmRpc3RhbmNlKHQsZSksbT1kL3AsXz1zO18ubGVuZ3RoPXAqMjtsZXQgZz0wO2ZvcihsZXQgYj0wO2I8cDtiKyspe2xldCBUPUN3KHQsZSxiKm0sZCk7X1tnKytdPVRbMF0sX1tnKytdPVRbMV19cmV0dXJuIF99O09uLnN1YmRpdmlkZVJodW1iTGluZT1mdW5jdGlvbih0LGUsbixvLHIpe2xldCBpPXQuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZSxjZCkscz10LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG4sYWQpLGY9bmV3IFpvKGkscyx0KSx1PWYuc3VyZmFjZURpc3RhbmNlL28sYz1NYXRoLm1heCgwLE1hdGguY2VpbChNLmxvZzIodSkpKSxsPU1hdGgucG93KDIsYykscD1mLnN1cmZhY2VEaXN0YW5jZS9sO2gocil8fChyPVtdKTtsZXQgZD1yO2QubGVuZ3RoPWwqMztsZXQgbT0wO2ZvcihsZXQgXz0wO188bDtfKyspe2xldCBnPWYuaW50ZXJwb2xhdGVVc2luZ1N1cmZhY2VEaXN0YW5jZShfKnAsd0kpLGI9dC5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihnLE9JKTtkW20rK109Yi54LGRbbSsrXT1iLnksZFttKytdPWIuen1yZXR1cm4gZH07RUk9bmV3IGEsUkk9bmV3IGEsU0k9bmV3IGEsQ0k9bmV3IGE7T24uc2NhbGVUb0dlb2RldGljSGVpZ2h0RXh0cnVkZWQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtvPXgobywkLmRlZmF1bHQpO2xldCBpPUVJLHM9UkksZj1TSSx1PUNJO2lmKGgodCkmJmgodC5hdHRyaWJ1dGVzKSYmaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24pKXtsZXQgYz10LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLGw9Yy5sZW5ndGgvMjtmb3IobGV0IHA9MDtwPGw7cCs9MylhLmZyb21BcnJheShjLHAsZiksby5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZixpKSx1PW8uc2NhbGVUb0dlb2RldGljU3VyZmFjZShmLHUpLHM9YS5tdWx0aXBseUJ5U2NhbGFyKGksbixzKSxzPWEuYWRkKHUscyxzKSxjW3ArbF09cy54LGNbcCsxK2xdPXMueSxjW3ArMitsXT1zLnosciYmKHU9YS5jbG9uZShmLHUpKSxzPWEubXVsdGlwbHlCeVNjYWxhcihpLGUscykscz1hLmFkZCh1LHMscyksY1twXT1zLngsY1twKzFdPXMueSxjW3ArMl09cy56fXJldHVybiB0fTtPbi5wb2x5Z29uT3V0bGluZXNGcm9tSGllcmFyY2h5PWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1bXSxyPW5ldyBEMDtyLmVucXVldWUodCk7bGV0IGkscyxmO2Zvcig7ci5sZW5ndGghPT0wOyl7bGV0IHU9ci5kZXF1ZXVlKCksYz11LnBvc2l0aW9ucztpZihlKWZvcihmPWMubGVuZ3RoLGk9MDtpPGY7aSsrKW4uc2NhbGVUb0dlb2RldGljU3VyZmFjZShjW2ldLGNbaV0pO2lmKGM9eG4oYyxhLmVxdWFsc0Vwc2lsb24sITApLGMubGVuZ3RoPDMpY29udGludWU7bGV0IGw9dS5ob2xlcz91LmhvbGVzLmxlbmd0aDowO2ZvcihpPTA7aTxsO2krKyl7bGV0IHA9dS5ob2xlc1tpXSxkPXAucG9zaXRpb25zO2lmKGUpZm9yKGY9ZC5sZW5ndGgscz0wO3M8ZjsrK3Mpbi5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGRbc10sZFtzXSk7aWYoZD14bihkLGEuZXF1YWxzRXBzaWxvbiwhMCksZC5sZW5ndGg8Myljb250aW51ZTtvLnB1c2goZCk7bGV0IG09MDtmb3IoaChwLmhvbGVzKSYmKG09cC5ob2xlcy5sZW5ndGgpLHM9MDtzPG07cysrKXIuZW5xdWV1ZShwLmhvbGVzW3NdKX1vLnB1c2goYyl9cmV0dXJuIG99O3hJPW5ldyBjdDtOST1uZXcgY3Q7T24uc3BsaXRQb2x5Z29uc09uRXF1YXRvcj1mdW5jdGlvbih0LGUsbixvKXtoKG8pfHwobz1bXSksby5zcGxpY2UoMCwwLC4uLnQpLG8ubGVuZ3RoPXQubGVuZ3RoO2xldCByPTA7Zm9yKDtyPG8ubGVuZ3RoOyl7bGV0IGk9b1tyXSxzPWkuc2xpY2UoKTtpZihpLmxlbmd0aDwzKXtvW3JdPXMsKytyO2NvbnRpbnVlfWxldCBmPUlJKHMsZSxuKTtpZihzLmxlbmd0aD09PWkubGVuZ3RofHxmLmxlbmd0aDw9MSl7b1tyXT1zLCsrcjtjb250aW51ZX1mLnNvcnQoKGMsbCk9PmMudGhldGEtbC50aGV0YSk7bGV0IHU9c1swXS56Pj0wO3I9eHcobyxyLHMsZiwxLDAsdSl9cmV0dXJuIG99O09uLnBvbHlnb25zRnJvbUhpZXJhcmNoeT1mdW5jdGlvbih0LGUsbixvLHIsaSl7bGV0IHM9W10sZj1bXSx1PW5ldyBEMDt1LmVucXVldWUodCk7bGV0IGM9aChpKTtmb3IoO3UubGVuZ3RoIT09MDspe2xldCBsPXUuZGVxdWV1ZSgpLHA9bC5wb3NpdGlvbnMsZD1sLmhvbGVzLG0sXztpZihvKWZvcihfPXAubGVuZ3RoLG09MDttPF87bSsrKXIuc2NhbGVUb0dlb2RldGljU3VyZmFjZShwW21dLHBbbV0pO2lmKGV8fChwPXhuKHAsYS5lcXVhbHNFcHNpbG9uLCEwKSkscC5sZW5ndGg8Myljb250aW51ZTtsZXQgZz1uKHApO2lmKCFoKGcpKWNvbnRpbnVlO2xldCBiPVtdLFQ9UGUuY29tcHV0ZVdpbmRpbmdPcmRlcjJEKGcpO2lmKFQ9PT1Dby5DTE9DS1dJU0UmJihnLnJldmVyc2UoKSxwPXAuc2xpY2UoKS5yZXZlcnNlKCkpLGMpe2M9ITE7bGV0IE49W3BdO2lmKE49aShOLE4pLE4ubGVuZ3RoPjEpe2ZvcihsZXQgSSBvZiBOKXUuZW5xdWV1ZShuZXcgYXcoSSxkKSk7Y29udGludWV9fWxldCBPPXAuc2xpY2UoKSxFPWgoZCk/ZC5sZW5ndGg6MCx3PVtdLEM7Zm9yKG09MDttPEU7bSsrKXtsZXQgTj1kW21dLEk9Ti5wb3NpdGlvbnM7aWYobylmb3IoXz1JLmxlbmd0aCxDPTA7QzxfOysrQylyLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UoSVtDXSxJW0NdKTtpZihlfHwoST14bihJLGEuZXF1YWxzRXBzaWxvbiwhMCkpLEkubGVuZ3RoPDMpY29udGludWU7bGV0IEQ9bihJKTtpZighaChEKSljb250aW51ZTtUPVBlLmNvbXB1dGVXaW5kaW5nT3JkZXIyRChEKSxUPT09Q28uQ0xPQ0tXSVNFJiYoRC5yZXZlcnNlKCksST1JLnNsaWNlKCkucmV2ZXJzZSgpKSx3LnB1c2goSSksYi5wdXNoKE8ubGVuZ3RoKSxPPU8uY29uY2F0KEkpLGc9Zy5jb25jYXQoRCk7bGV0IHY9MDtmb3IoaChOLmhvbGVzKSYmKHY9Ti5ob2xlcy5sZW5ndGgpLEM9MDtDPHY7QysrKXUuZW5xdWV1ZShOLmhvbGVzW0NdKX1zLnB1c2goe291dGVyUmluZzpwLGhvbGVzOnd9KSxmLnB1c2goe3Bvc2l0aW9uczpPLHBvc2l0aW9uczJEOmcsaG9sZXM6Yn0pfXJldHVybntoaWVyYXJjaHk6cyxwb2x5Z29uczpmfX07dkk9bmV3IHR0LExJPW5ldyBhLERJPW5ldyBlZSxGST1uZXcgUTtPbi5jb21wdXRlQm91bmRpbmdSZWN0YW5nbGU9ZnVuY3Rpb24odCxlLG4sbyxyKXtsZXQgaT1lZS5mcm9tQXhpc0FuZ2xlKHQsbyxESSkscz1RLmZyb21RdWF0ZXJuaW9uKGksRkkpLGY9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGM9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGw9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHA9bi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxwOysrZCl7bGV0IG09YS5jbG9uZShuW2RdLExJKTtRLm11bHRpcGx5QnlWZWN0b3IocyxtLG0pO2xldCBfPWUobSx2SSk7aChfKSYmKGY9TWF0aC5taW4oZixfLngpLHU9TWF0aC5tYXgodSxfLngpLGM9TWF0aC5taW4oYyxfLnkpLGw9TWF0aC5tYXgobCxfLnkpKX1yZXR1cm4gci54PWYsci55PWMsci53aWR0aD11LWYsci5oZWlnaHQ9bC1jLHJ9O09uLmNyZWF0ZUdlb21ldHJ5RnJvbVBvc2l0aW9ucz1mdW5jdGlvbih0LGUsbixvLHIsaSxzKXtsZXQgZj1QZS50cmlhbmd1bGF0ZShlLnBvc2l0aW9uczJELGUuaG9sZXMpO2YubGVuZ3RoPDMmJihmPVswLDEsMl0pO2xldCB1PWUucG9zaXRpb25zLGM9aChuKSxsPWM/bi5wb3NpdGlvbnM6dm9pZCAwO2lmKHIpe2xldCBwPXUubGVuZ3RoLGQ9bmV3IEFycmF5KHAqMyksbT0wO2ZvcihsZXQgYj0wO2I8cDtiKyspe2xldCBUPXVbYl07ZFttKytdPVQueCxkW20rK109VC55LGRbbSsrXT1ULnp9bGV0IF89e2F0dHJpYnV0ZXM6e3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6ZH0pfSxpbmRpY2VzOmYscHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVN9O2MmJihfLmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOnR0LnBhY2tBcnJheShsKX0pKTtsZXQgZz1uZXcgVXQoXyk7cmV0dXJuIGkubm9ybWFsP1ZlLmNvbXB1dGVOb3JtYWwoZyk6Z31pZihzPT09X2UuR0VPREVTSUMpcmV0dXJuIFBlLmNvbXB1dGVTdWJkaXZpc2lvbih0LHUsZixsLG8pO2lmKHM9PT1fZS5SSFVNQilyZXR1cm4gUGUuY29tcHV0ZVJodW1iTGluZVN1YmRpdmlzaW9uKHQsdSxmLGwsbyl9O1J3PVtdLFN3PVtdLEJJPW5ldyBhLFVJPW5ldyBhO09uLmNvbXB1dGVXYWxsR2VvbWV0cnk9ZnVuY3Rpb24odCxlLG4sbyxyLGkpe2xldCBzLGYsdSxjLGwscCxkLG0sXyxnPXQubGVuZ3RoLGI9MCxUPTAsTz1oKGUpLEU9Tz9lLnBvc2l0aW9uczp2b2lkIDA7aWYocilmb3IoZj1nKjMqMixzPW5ldyBBcnJheShmKjIpLE8mJihfPWcqMioyLG09bmV3IEFycmF5KF8qMikpLHU9MDt1PGc7dSsrKWM9dFt1XSxsPXRbKHUrMSklZ10sc1tiXT1zW2IrZl09Yy54LCsrYixzW2JdPXNbYitmXT1jLnksKytiLHNbYl09c1tiK2ZdPWMueiwrK2Isc1tiXT1zW2IrZl09bC54LCsrYixzW2JdPXNbYitmXT1sLnksKytiLHNbYl09c1tiK2ZdPWwueiwrK2IsTyYmKHA9RVt1XSxkPUVbKHUrMSklZ10sbVtUXT1tW1QrX109cC54LCsrVCxtW1RdPW1bVCtfXT1wLnksKytULG1bVF09bVtUK19dPWQueCwrK1QsbVtUXT1tW1QrX109ZC55LCsrVCk7ZWxzZXtsZXQgRD1NLmNob3JkTGVuZ3RoKG8sbi5tYXhpbXVtUmFkaXVzKSx2PTA7aWYoaT09PV9lLkdFT0RFU0lDKWZvcih1PTA7dTxnO3UrKyl2Kz1Pbi5zdWJkaXZpZGVMaW5lQ291bnQodFt1XSx0Wyh1KzEpJWddLEQpO2Vsc2UgaWYoaT09PV9lLlJIVU1CKWZvcih1PTA7dTxnO3UrKyl2Kz1Pbi5zdWJkaXZpZGVSaHVtYkxpbmVDb3VudChuLHRbdV0sdFsodSsxKSVnXSxEKTtmb3IoZj0oditnKSozLHM9bmV3IEFycmF5KGYqMiksTyYmKF89KHYrZykqMixtPW5ldyBBcnJheShfKjIpKSx1PTA7dTxnO3UrKyl7Yz10W3VdLGw9dFsodSsxKSVnXTtsZXQgTCxVO08mJihwPUVbdV0sZD1FWyh1KzEpJWddKSxpPT09X2UuR0VPREVTSUM/KEw9T24uc3ViZGl2aWRlTGluZShjLGwsRCxTdyksTyYmKFU9T24uc3ViZGl2aWRlVGV4Y29vcmRMaW5lKHAsZCxjLGwsRCxSdykpKTppPT09X2UuUkhVTUImJihMPU9uLnN1YmRpdmlkZVJodW1iTGluZShuLGMsbCxELFN3KSxPJiYoVT1Pbi5zdWJkaXZpZGVUZXhjb29yZFJodW1iTGluZShwLGQsbixjLGwsRCxSdykpKTtsZXQgQT1MLmxlbmd0aDtmb3IobGV0IFM9MDtTPEE7KytTLCsrYilzW2JdPUxbU10sc1tiK2ZdPUxbU107aWYoc1tiXT1sLngsc1tiK2ZdPWwueCwrK2Isc1tiXT1sLnksc1tiK2ZdPWwueSwrK2Isc1tiXT1sLnosc1tiK2ZdPWwueiwrK2IsTyl7bGV0IFM9VS5sZW5ndGg7Zm9yKGxldCBQPTA7UDxTOysrUCwrK1QpbVtUXT1VW1BdLG1bVCtfXT1VW1BdO21bVF09ZC54LG1bVCtfXT1kLngsKytULG1bVF09ZC55LG1bVCtfXT1kLnksKytUfX19Zz1zLmxlbmd0aDtsZXQgdz1EdC5jcmVhdGVUeXBlZEFycmF5KGcvMyxnLXQubGVuZ3RoKjYpLEM9MDtmb3IoZy89Nix1PTA7dTxnO3UrKyl7bGV0IEQ9dSx2PUQrMSxMPUQrZyxVPUwrMTtjPWEuZnJvbUFycmF5KHMsRCozLEJJKSxsPWEuZnJvbUFycmF5KHMsdiozLFVJKSwhYS5lcXVhbHNFcHNpbG9uKGMsbCxNLkVQU0lMT04xMCxNLkVQU0lMT04xMCkmJih3W0MrK109RCx3W0MrK109TCx3W0MrK109dix3W0MrK109dix3W0MrK109TCx3W0MrK109VSl9bGV0IE49e2F0dHJpYnV0ZXM6bmV3IGllKHtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnN9KX0pLGluZGljZXM6dyxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFU307cmV0dXJuIE8mJihOLmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOm19KSksbmV3IFV0KE4pfTt5ZT1Pbn0pO2Z1bmN0aW9uIFpJKHQsZSxuLG8scixpLHMsZix1KXtsZXQgYz10LnBvc2l0aW9ucyxsPVBlLnRyaWFuZ3VsYXRlKHQucG9zaXRpb25zMkQsdC5ob2xlcyk7bC5sZW5ndGg8MyYmKGw9WzAsMSwyXSk7bGV0IHA9RHQuY3JlYXRlVHlwZWRBcnJheShjLmxlbmd0aCxsLmxlbmd0aCk7cC5zZXQobCk7bGV0IGQ9WEk7aWYobyE9PTApe2xldCBVPWVlLmZyb21BeGlzQW5nbGUocyxvLFB3KTtpZihkPVEuZnJvbVF1YXRlcm5pb24oVSxkKSxlLnRhbmdlbnR8fGUuYml0YW5nZW50KXtVPWVlLmZyb21BeGlzQW5nbGUocywtbyxQdyk7bGV0IEE9US5mcm9tUXVhdGVybmlvbihVLFlJKTtmPWEubm9ybWFsaXplKFEubXVsdGlwbHlCeVZlY3RvcihBLGYsZiksZiksZS5iaXRhbmdlbnQmJih1PWEubm9ybWFsaXplKGEuY3Jvc3MocyxmLHUpLHUpKX19ZWxzZSBkPVEuY2xvbmUoUS5JREVOVElUWSxkKTtsZXQgbT16STtlLnN0JiYobS54PW4ueCxtLnk9bi55KTtsZXQgXz1jLmxlbmd0aCxnPV8qMyxiPW5ldyBGbG9hdDY0QXJyYXkoZyksVD1lLm5vcm1hbD9uZXcgRmxvYXQzMkFycmF5KGcpOnZvaWQgMCxPPWUudGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KGcpOnZvaWQgMCxFPWUuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkoZyk6dm9pZCAwLHc9ZS5zdD9uZXcgRmxvYXQzMkFycmF5KF8qMik6dm9pZCAwLEM9MCxOPTAsST0wLEQ9MCx2PTA7Zm9yKGxldCBVPTA7VTxfO1UrKyl7bGV0IEE9Y1tVXTtpZihiW0MrK109QS54LGJbQysrXT1BLnksYltDKytdPUEueixlLnN0KWlmKGgocikmJnIucG9zaXRpb25zLmxlbmd0aD09PV8pd1t2KytdPXIucG9zaXRpb25zW1VdLngsd1t2KytdPXIucG9zaXRpb25zW1VdLnk7ZWxzZXtsZXQgUz1RLm11bHRpcGx5QnlWZWN0b3IoZCxBLFZJKSxQPWkoUyxHSSk7dHQuc3VidHJhY3QoUCxtLFApO2xldCBCPU0uY2xhbXAoUC54L24ud2lkdGgsMCwxKSxqPU0uY2xhbXAoUC55L24uaGVpZ2h0LDAsMSk7d1t2KytdPUIsd1t2KytdPWp9ZS5ub3JtYWwmJihUW04rK109cy54LFRbTisrXT1zLnksVFtOKytdPXMueiksZS50YW5nZW50JiYoT1tEKytdPWYueCxPW0QrK109Zi55LE9bRCsrXT1mLnopLGUuYml0YW5nZW50JiYoRVtJKytdPXUueCxFW0krK109dS55LEVbSSsrXT11LnopfWxldCBMPW5ldyBpZTtyZXR1cm4gZS5wb3NpdGlvbiYmKEwucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpifSkpLGUubm9ybWFsJiYoTC5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOlR9KSksZS50YW5nZW50JiYoTC50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpPfSkpLGUuYml0YW5nZW50JiYoTC5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkV9KSksZS5zdCYmKEwuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOnd9KSksbmV3IFV0KHthdHRyaWJ1dGVzOkwsaW5kaWNlczpwLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfSl9ZnVuY3Rpb24gZGModCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucG9seWdvbkhpZXJhcmNoeSxuPXQudGV4dHVyZUNvb3JkaW5hdGVzO3kuZGVmaW5lZCgib3B0aW9ucy5wb2x5Z29uSGllcmFyY2h5IixlKTtsZXQgbz14KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpO3RoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShvKSx0aGlzLl9wb2x5Z29uSGllcmFyY2h5PWUsdGhpcy5fc3RSb3RhdGlvbj14KHQuc3RSb3RhdGlvbiwwKSx0aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZSh4KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkpLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUNvcGxhbmFyUG9seWdvbkdlb21ldHJ5Iix0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZXM9bix0aGlzLnBhY2tlZExlbmd0aD15ZS5jb21wdXRlSGllcmFyY2h5UGFja2VkTGVuZ3RoKGUsYSkrZHQucGFja2VkTGVuZ3RoKyQucGFja2VkTGVuZ3RoKyhoKG4pP3llLmNvbXB1dGVIaWVyYXJjaHlQYWNrZWRMZW5ndGgobix0dCk6MSkrMn12YXIgVkksa0ksR0ksekksakksSEkscUksQmYsS0ksV0ksUHcsWEksWUksJEksUUksSkksdHYsRjAsTXc9WigoKT0+e2pyKCk7UGYoKTt2ZSgpO1VlKCk7RnQoKTtYdCgpO0ZlKCk7eDAoKTtJdCgpO2Z0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtzYygpO3NpKCk7JGUoKTtXdCgpO0JuKCk7RmYoKTtxcigpO3RuKCk7S28oKTtSbygpO1ZJPW5ldyBhLGtJPW5ldyBIcixHST1uZXcgdHQsekk9bmV3IHR0LGpJPW5ldyBhLEhJPW5ldyBhLHFJPW5ldyBhLEJmPW5ldyBhLEtJPW5ldyBhLFdJPW5ldyBhLFB3PW5ldyBlZSxYST1uZXcgUSxZST1uZXcgUSwkST1uZXcgYTtkYy5mcm9tUG9zaXRpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIix0LnBvc2l0aW9ucyk7bGV0IGU9e3BvbHlnb25IaWVyYXJjaHk6e3Bvc2l0aW9uczp0LnBvc2l0aW9uc30sdmVydGV4Rm9ybWF0OnQudmVydGV4Rm9ybWF0LHN0Um90YXRpb246dC5zdFJvdGF0aW9uLGVsbGlwc29pZDp0LmVsbGlwc29pZCx0ZXh0dXJlQ29vcmRpbmF0ZXM6dC50ZXh0dXJlQ29vcmRpbmF0ZXN9O3JldHVybiBuZXcgZGMoZSl9O2RjLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxuPXllLnBhY2tQb2x5Z29uSGllcmFyY2h5KHQuX3BvbHlnb25IaWVyYXJjaHksZSxuLGEpLCQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW24rK109dC5fc3RSb3RhdGlvbixoKHQuX3RleHR1cmVDb29yZGluYXRlcyk/bj15ZS5wYWNrUG9seWdvbkhpZXJhcmNoeSh0Ll90ZXh0dXJlQ29vcmRpbmF0ZXMsZSxuLHR0KTplW24rK109LTEsZVtuKytdPXQucGFja2VkTGVuZ3RoLGV9O1FJPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksSkk9bmV3IGR0LHR2PXtwb2x5Z29uSGllcmFyY2h5Ont9fTtkYy51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXllLnVucGFja1BvbHlnb25IaWVyYXJjaHkodCxlLGEpO2U9by5zdGFydGluZ0luZGV4LGRlbGV0ZSBvLnN0YXJ0aW5nSW5kZXg7bGV0IHI9JC51bnBhY2sodCxlLFFJKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT1kdC51bnBhY2sodCxlLEpJKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IHM9dFtlKytdLGY9dFtlXT09PS0xP3ZvaWQgMDp5ZS51bnBhY2tQb2x5Z29uSGllcmFyY2h5KHQsZSx0dCk7aChmKT8oZT1mLnN0YXJ0aW5nSW5kZXgsZGVsZXRlIGYuc3RhcnRpbmdJbmRleCk6ZSsrO2xldCB1PXRbZSsrXTtyZXR1cm4gaChuKXx8KG49bmV3IGRjKHR2KSksbi5fcG9seWdvbkhpZXJhcmNoeT1vLG4uX2VsbGlwc29pZD0kLmNsb25lKHIsbi5fZWxsaXBzb2lkKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoaSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX3N0Um90YXRpb249cyxuLl90ZXh0dXJlQ29vcmRpbmF0ZXM9ZixuLnBhY2tlZExlbmd0aD11LG59O2RjLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3ZlcnRleEZvcm1hdCxuPXQuX3BvbHlnb25IaWVyYXJjaHksbz10Ll9zdFJvdGF0aW9uLHI9dC5fdGV4dHVyZUNvb3JkaW5hdGVzLGk9aChyKSxzPW4ucG9zaXRpb25zO2lmKHM9eG4ocyxhLmVxdWFsc0Vwc2lsb24sITApLHMubGVuZ3RoPDMpcmV0dXJuO2xldCBmPWpJLHU9SEksYz1xSSxsPUtJLHA9V0k7aWYoIW1hLmNvbXB1dGVQcm9qZWN0VG8yREFyZ3VtZW50cyhzLEJmLGwscCkpcmV0dXJuO2lmKGY9YS5jcm9zcyhsLHAsZiksZj1hLm5vcm1hbGl6ZShmLGYpLCFhLmVxdWFsc0Vwc2lsb24oQmYsYS5aRVJPLE0uRVBTSUxPTjYpKXtsZXQgdj10Ll9lbGxpcHNvaWQuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKEJmLCRJKTthLmRvdChmLHYpPDAmJihmPWEubmVnYXRlKGYsZiksbD1hLm5lZ2F0ZShsLGwpKX1sZXQgbT1tYS5jcmVhdGVQcm9qZWN0UG9pbnRzVG8yREZ1bmN0aW9uKEJmLGwscCksXz1tYS5jcmVhdGVQcm9qZWN0UG9pbnRUbzJERnVuY3Rpb24oQmYsbCxwKTtlLnRhbmdlbnQmJih1PWEuY2xvbmUobCx1KSksZS5iaXRhbmdlbnQmJihjPWEuY2xvbmUocCxjKSk7bGV0IGc9eWUucG9seWdvbnNGcm9tSGllcmFyY2h5KG4saSxtLCExKSxiPWcuaGllcmFyY2h5LFQ9Zy5wb2x5Z29ucyxPPWZ1bmN0aW9uKHYpe3JldHVybiB2fSxFPWk/eWUucG9seWdvbnNGcm9tSGllcmFyY2h5KHIsITAsTywhMSkucG9seWdvbnM6dm9pZCAwO2lmKGIubGVuZ3RoPT09MClyZXR1cm47cz1iWzBdLm91dGVyUmluZztsZXQgdz1BdC5mcm9tUG9pbnRzKHMpLEM9eWUuY29tcHV0ZUJvdW5kaW5nUmVjdGFuZ2xlKGYsXyxzLG8sa0kpLE49W107Zm9yKGxldCB2PTA7djxULmxlbmd0aDt2Kyspe2xldCBMPW5ldyBjbyh7Z2VvbWV0cnk6WkkoVFt2XSxlLEMsbyxpP0Vbdl06dm9pZCAwLF8sZix1LGMpfSk7Ti5wdXNoKEwpfWxldCBJPVZlLmNvbWJpbmVJbnN0YW5jZXMoTilbMF07SS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1uZXcgRmxvYXQ2NEFycmF5KEkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMpLEkuaW5kaWNlcz1EdC5jcmVhdGVUeXBlZEFycmF5KEkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMsSS5pbmRpY2VzKTtsZXQgRD1JLmF0dHJpYnV0ZXM7cmV0dXJuIGUucG9zaXRpb258fGRlbGV0ZSBELnBvc2l0aW9uLG5ldyBVdCh7YXR0cmlidXRlczpELGluZGljZXM6SS5pbmRpY2VzLHByaW1pdGl2ZVR5cGU6SS5wcmltaXRpdmVUeXBlLGJvdW5kaW5nU3BoZXJlOnd9KX07RjA9ZGN9KTt2YXIgQjA9e307ZGUoQjAse2RlZmF1bHQ6KCk9Pm52fSk7ZnVuY3Rpb24gZXYodCxlKXtyZXR1cm4gaChlKSYmKHQ9RjAudW5wYWNrKHQsZSkpLEYwLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBudixVMD1aKCgpPT57TXcoKTtmdCgpO252PWV2fSk7ZnVuY3Rpb24gb3YodCl7bGV0IGU9dC5sZW5ndGgsbj1uZXcgRmxvYXQ2NEFycmF5KGUqMyksbz1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSoyKSxyPTAsaT0wO2ZvcihsZXQgZj0wO2Y8ZTtmKyspe2xldCB1PXRbZl07bltyKytdPXUueCxuW3IrK109dS55LG5bcisrXT11Lnosb1tpKytdPWYsb1tpKytdPShmKzEpJWV9bGV0IHM9bmV3IGllKHtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm59KX0pO3JldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6cyxpbmRpY2VzOm8scHJpbWl0aXZlVHlwZTpCdC5MSU5FU30pfWZ1bmN0aW9uIG1jKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvbHlnb25IaWVyYXJjaHk7eS5kZWZpbmVkKCJvcHRpb25zLnBvbHlnb25IaWVyYXJjaHkiLGUpLHRoaXMuX3BvbHlnb25IaWVyYXJjaHk9ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDb3BsYW5hclBvbHlnb25PdXRsaW5lR2VvbWV0cnkiLHRoaXMucGFja2VkTGVuZ3RoPXllLmNvbXB1dGVIaWVyYXJjaHlQYWNrZWRMZW5ndGgoZSxhKSsxfXZhciBydixWMCxOdz1aKCgpPT57anIoKTt2ZSgpO0Z0KCk7WHQoKTtGZSgpO3gwKCk7SXQoKTtmdCgpO1hlKCk7WWUoKTthbigpO3NjKCk7c2koKTskZSgpO0ZmKCk7dG4oKTttYy5mcm9tUG9zaXRpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIix0LnBvc2l0aW9ucyk7bGV0IGU9e3BvbHlnb25IaWVyYXJjaHk6e3Bvc2l0aW9uczp0LnBvc2l0aW9uc319O3JldHVybiBuZXcgbWMoZSl9O21jLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxuPXllLnBhY2tQb2x5Z29uSGllcmFyY2h5KHQuX3BvbHlnb25IaWVyYXJjaHksZSxuLGEpLGVbbl09dC5wYWNrZWRMZW5ndGgsZX07cnY9e3BvbHlnb25IaWVyYXJjaHk6e319O21jLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89eWUudW5wYWNrUG9seWdvbkhpZXJhcmNoeSh0LGUsYSk7ZT1vLnN0YXJ0aW5nSW5kZXgsZGVsZXRlIG8uc3RhcnRpbmdJbmRleDtsZXQgcj10W2VdO3JldHVybiBoKG4pfHwobj1uZXcgbWMocnYpKSxuLl9wb2x5Z29uSGllcmFyY2h5PW8sbi5wYWNrZWRMZW5ndGg9cixufTttYy5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9wb2x5Z29uSGllcmFyY2h5LG49ZS5wb3NpdGlvbnM7aWYobj14bihuLGEuZXF1YWxzRXBzaWxvbiwhMCksbi5sZW5ndGg8M3x8IW1hLnZhbGlkT3V0bGluZShuKSlyZXR1cm47bGV0IHI9eWUucG9seWdvbk91dGxpbmVzRnJvbUhpZXJhcmNoeShlLCExKTtpZihyLmxlbmd0aD09PTApcmV0dXJuO2xldCBpPVtdO2ZvcihsZXQgdT0wO3U8ci5sZW5ndGg7dSsrKXtsZXQgYz1uZXcgY28oe2dlb21ldHJ5Om92KHJbdV0pfSk7aS5wdXNoKGMpfWxldCBzPVZlLmNvbWJpbmVJbnN0YW5jZXMoaSlbMF0sZj1BdC5mcm9tUG9pbnRzKGUucG9zaXRpb25zKTtyZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOnMuYXR0cmlidXRlcyxpbmRpY2VzOnMuaW5kaWNlcyxwcmltaXRpdmVUeXBlOnMucHJpbWl0aXZlVHlwZSxib3VuZGluZ1NwaGVyZTpmfSl9O1YwPW1jfSk7dmFyIGswPXt9O2RlKGswLHtkZWZhdWx0OigpPT5zdn0pO2Z1bmN0aW9uIGl2KHQsZSl7cmV0dXJuIGgoZSkmJih0PVYwLnVucGFjayh0LGUpKSx0Ll9lbGxpcHNvaWQ9JC5jbG9uZSh0Ll9lbGxpcHNvaWQpLFYwLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBzdixHMD1aKCgpPT57TncoKTtmdCgpO1p0KCk7c3Y9aXZ9KTt2YXIgY3YsZm4saGM9WigoKT0+e2N2PXtST1VOREVEOjAsTUlURVJFRDoxLEJFVkVMRUQ6Mn0sZm49T2JqZWN0LmZyZWV6ZShjdil9KTtmdW5jdGlvbiBhdih0KXtsZXQgZT10Ll91U3F1YXJlZCxuPXQuX2VsbGlwc29pZC5tYXhpbXVtUmFkaXVzLG89dC5fZWxsaXBzb2lkLm1pbmltdW1SYWRpdXMscj0obi1vKS9uLGk9TWF0aC5jb3ModC5fc3RhcnRIZWFkaW5nKSxzPU1hdGguc2luKHQuX3N0YXJ0SGVhZGluZyksZj0oMS1yKSpNYXRoLnRhbih0Ll9zdGFydC5sYXRpdHVkZSksdT0xL01hdGguc3FydCgxK2YqZiksYz11KmYsbD1NYXRoLmF0YW4yKGYsaSkscD11KnMsZD1wKnAsbT0xLWQsXz1NYXRoLnNxcnQobSksZz1lLzQsYj1nKmcsVD1iKmcsTz1iKmIsRT0xK2ctMypiLzQrNSpULzQtMTc1Kk8vNjQsdz0xLWcrMTUqYi84LTM1KlQvOCxDPTEtMypnKzM1KmIvNCxOPTEtNSpnLEk9RSpsLXcqTWF0aC5zaW4oMipsKSpnLzItQypNYXRoLnNpbig0KmwpKmIvMTYtTipNYXRoLnNpbig2KmwpKlQvNDgtTWF0aC5zaW4oOCpsKSo1Kk8vNTEyLEQ9dC5fY29uc3RhbnRzO0QuYT1uLEQuYj1vLEQuZj1yLEQuY29zaW5lSGVhZGluZz1pLEQuc2luZUhlYWRpbmc9cyxELnRhblU9ZixELmNvc2luZVU9dSxELnNpbmVVPWMsRC5zaWdtYT1sLEQuc2luZUFscGhhPXAsRC5zaW5lU3F1YXJlZEFscGhhPWQsRC5jb3NpbmVTcXVhcmVkQWxwaGE9bSxELmNvc2luZUFscGhhPV8sRC51Mk92ZXI0PWcsRC51NE92ZXIxNj1iLEQudTZPdmVyNjQ9VCxELnU4T3ZlcjI1Nj1PLEQuYTA9RSxELmExPXcsRC5hMj1DLEQuYTM9TixELmRpc3RhbmNlUmF0aW89SX1mdW5jdGlvbiBmdih0LGUpe3JldHVybiB0KmUqKDQrdCooNC0zKmUpKS8xNn1mdW5jdGlvbiBJdyh0LGUsbixvLHIsaSxzKXtsZXQgZj1mdih0LG4pO3JldHVybigxLWYpKnQqZSoobytmKnIqKHMrZippKigyKnMqcy0xKSkpfWZ1bmN0aW9uIHV2KHQsZSxuLG8scixpLHMpe2xldCBmPShlLW4pL2UsdT1pLW8sYz1NYXRoLmF0YW4oKDEtZikqTWF0aC50YW4ocikpLGw9TWF0aC5hdGFuKCgxLWYpKk1hdGgudGFuKHMpKSxwPU1hdGguY29zKGMpLGQ9TWF0aC5zaW4oYyksbT1NYXRoLmNvcyhsKSxfPU1hdGguc2luKGwpLGc9cCptLGI9cCpfLFQ9ZCpfLE89ZCptLEU9dSx3PU0uVFdPX1BJLEM9TWF0aC5jb3MoRSksTj1NYXRoLnNpbihFKSxJLEQsdixMLFU7ZG97Qz1NYXRoLmNvcyhFKSxOPU1hdGguc2luKEUpO2xldCBYPWItTypDO3Y9TWF0aC5zcXJ0KG0qbSpOKk4rWCpYKSxEPVQrZypDLEk9TWF0aC5hdGFuMih2LEQpO2xldCBSO3Y9PT0wPyhSPTAsTD0xKTooUj1nKk4vdixMPTEtUipSKSx3PUUsVT1ELTIqVC9MLGlzRmluaXRlKFUpfHwoVT0wKSxFPXUrSXcoZixSLEwsSSx2LEQsVSl9d2hpbGUoTWF0aC5hYnMoRS13KT5NLkVQU0lMT04xMik7bGV0IEE9TCooZSplLW4qbikvKG4qbiksUz0xK0EqKDQwOTYrQSooQSooMzIwLTE3NSpBKS03NjgpKS8xNjM4NCxQPUEqKDI1NitBKihBKig3NC00NypBKS0xMjgpKS8xMDI0LEI9VSpVLGo9UCp2KihVK1AqKEQqKDIqQi0xKS1QKlUqKDQqdip2LTMpKig0KkItMykvNikvNCksSD1uKlMqKEktaiksaz1NYXRoLmF0YW4yKG0qTixiLU8qQyksSz1NYXRoLmF0YW4yKHAqTixiKkMtTyk7dC5fZGlzdGFuY2U9SCx0Ll9zdGFydEhlYWRpbmc9ayx0Ll9lbmRIZWFkaW5nPUssdC5fdVNxdWFyZWQ9QX1mdW5jdGlvbiB2dyh0LGUsbixvKXtsZXQgcj1hLm5vcm1hbGl6ZShvLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGUsejApLGx2KSxpPWEubm9ybWFsaXplKG8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4obix6MCksejApO3kudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJ2YWx1ZSIsTWF0aC5hYnMoTWF0aC5hYnMoYS5hbmdsZUJldHdlZW4ocixpKSktTWF0aC5QSSksLjAxMjUpLHV2KHQsby5tYXhpbXVtUmFkaXVzLG8ubWluaW11bVJhZGl1cyxlLmxvbmdpdHVkZSxlLmxhdGl0dWRlLG4ubG9uZ2l0dWRlLG4ubGF0aXR1ZGUpLHQuX3N0YXJ0PWN0LmNsb25lKGUsdC5fc3RhcnQpLHQuX2VuZD1jdC5jbG9uZShuLHQuX2VuZCksdC5fc3RhcnQuaGVpZ2h0PTAsdC5fZW5kLmhlaWdodD0wLGF2KHQpfWZ1bmN0aW9uIFVmKHQsZSxuKXtsZXQgbz14KG4sJC5kZWZhdWx0KTt0aGlzLl9lbGxpcHNvaWQ9byx0aGlzLl9zdGFydD1uZXcgY3QsdGhpcy5fZW5kPW5ldyBjdCx0aGlzLl9jb25zdGFudHM9e30sdGhpcy5fc3RhcnRIZWFkaW5nPXZvaWQgMCx0aGlzLl9lbmRIZWFkaW5nPXZvaWQgMCx0aGlzLl9kaXN0YW5jZT12b2lkIDAsdGhpcy5fdVNxdWFyZWQ9dm9pZCAwLGgodCkmJmgoZSkmJnZ3KHRoaXMsdCxlLG8pfXZhciBsdix6MCxmZCxqMD1aKCgpPT57RnQoKTtJZSgpO1h0KCk7SXQoKTtmdCgpO1p0KCk7V3QoKTtsdj1uZXcgYSx6MD1uZXcgYTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhVZi5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19LHN1cmZhY2VEaXN0YW5jZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHkuZGVmaW5lZCgiZGlzdGFuY2UiLHRoaXMuX2Rpc3RhbmNlKSx0aGlzLl9kaXN0YW5jZX19LHN0YXJ0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhcnR9fSxlbmQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbmR9fSxzdGFydEhlYWRpbmc6e2dldDpmdW5jdGlvbigpe3JldHVybiB5LmRlZmluZWQoImRpc3RhbmNlIix0aGlzLl9kaXN0YW5jZSksdGhpcy5fc3RhcnRIZWFkaW5nfX0sZW5kSGVhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHkuZGVmaW5lZCgiZGlzdGFuY2UiLHRoaXMuX2Rpc3RhbmNlKSx0aGlzLl9lbmRIZWFkaW5nfX19KTtVZi5wcm90b3R5cGUuc2V0RW5kUG9pbnRzPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJzdGFydCIsdCkseS5kZWZpbmVkKCJlbmQiLGUpLHZ3KHRoaXMsdCxlLHRoaXMuX2VsbGlwc29pZCl9O1VmLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nRnJhY3Rpb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlKHRoaXMuX2Rpc3RhbmNlKnQsZSl9O1VmLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJkaXN0YW5jZSIsdGhpcy5fZGlzdGFuY2UpO2xldCBuPXRoaXMuX2NvbnN0YW50cyxvPW4uZGlzdGFuY2VSYXRpbyt0L24uYixyPU1hdGguY29zKDIqbyksaT1NYXRoLmNvcyg0Km8pLHM9TWF0aC5jb3MoNipvKSxmPU1hdGguc2luKDIqbyksdT1NYXRoLnNpbig0Km8pLGM9TWF0aC5zaW4oNipvKSxsPU1hdGguc2luKDgqbykscD1vKm8sZD1vKnAsbT1uLnU4T3ZlcjI1NixfPW4udTJPdmVyNCxnPW4udTZPdmVyNjQsYj1uLnU0T3ZlcjE2LFQ9MipkKm0qci8zK28qKDEtXys3KmIvNC0xNSpnLzQrNTc5Km0vNjQtKGItMTUqZy80KzE4NyptLzE2KSpyLSg1KmcvNC0xMTUqbS8xNikqaS0yOSptKnMvMTYpKyhfLzItYis3MSpnLzMyLTg1Km0vMTYpKmYrKDUqYi8xNi01KmcvNCszODMqbS85NikqdS1wKigoZy0xMSptLzIpKmYrNSptKnUvMikrKDI5KmcvOTYtMjkqbS8xNikqYys1MzkqbSpsLzE1MzYsTz1NYXRoLmFzaW4oTWF0aC5zaW4oVCkqbi5jb3NpbmVBbHBoYSksRT1NYXRoLmF0YW4obi5hL24uYipNYXRoLnRhbihPKSk7VD1ULW4uc2lnbWE7bGV0IHc9TWF0aC5jb3MoMipuLnNpZ21hK1QpLEM9TWF0aC5zaW4oVCksTj1NYXRoLmNvcyhUKSxJPW4uY29zaW5lVSpOLEQ9bi5zaW5lVSpDLEw9TWF0aC5hdGFuMihDKm4uc2luZUhlYWRpbmcsSS1EKm4uY29zaW5lSGVhZGluZyktSXcobi5mLG4uc2luZUFscGhhLG4uY29zaW5lU3F1YXJlZEFscGhhLFQsQyxOLHcpO3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT10aGlzLl9zdGFydC5sb25naXR1ZGUrTCxlLmxhdGl0dWRlPUUsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodGhpcy5fc3RhcnQubG9uZ2l0dWRlK0wsRSwwKX07ZmQ9VWZ9KTtmdW5jdGlvbiBCdyh0LGUsbil7bGV0IG89cTA7by5sZW5ndGg9dDtsZXQgcjtpZihlPT09bil7Zm9yKHI9MDtyPHQ7cisrKW9bcl09ZTtyZXR1cm4gb31sZXQgcz0obi1lKS90O2ZvcihyPTA7cjx0O3IrKyl7bGV0IGY9ZStyKnM7b1tyXT1mfXJldHVybiBvfWZ1bmN0aW9uIGJ2KHQsZSxuLG8scixpLHMsZil7bGV0IHU9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKHQsSzApLGM9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGUsQXYpLGw9Rm8ubnVtYmVyT2ZQb2ludHModCxlLG4pLHA9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyh1LGxkKSxkPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoYyx1ZCksbT1CdyhsLHIsaSk7SDAuc2V0RW5kUG9pbnRzKHAsZCk7bGV0IF89SDAuc3VyZmFjZURpc3RhbmNlL2wsZz1mO3AuaGVpZ2h0PXI7bGV0IGI9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihwLG1zKTthLnBhY2soYixzLGcpLGcrPTM7Zm9yKGxldCBUPTE7VDxsO1QrKyl7bGV0IE89SDAuaW50ZXJwb2xhdGVVc2luZ1N1cmZhY2VEaXN0YW5jZShUKl8sdWQpO08uaGVpZ2h0PW1bVF0sYj1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKE8sbXMpLGEucGFjayhiLHMsZyksZys9M31yZXR1cm4gZ31mdW5jdGlvbiBUdih0LGUsbixvLHIsaSxzLGYpe2xldCB1PW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWModCxsZCksYz1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGUsdWQpLGw9Rm8ubnVtYmVyT2ZQb2ludHNSaHVtYkxpbmUodSxjLG4pO3UuaGVpZ2h0PTAsYy5oZWlnaHQ9MDtsZXQgcD1CdyhsLHIsaSk7VmYuZWxsaXBzb2lkLmVxdWFscyhvKXx8KFZmPW5ldyBabyh2b2lkIDAsdm9pZCAwLG8pKSxWZi5zZXRFbmRQb2ludHModSxjKTtsZXQgZD1WZi5zdXJmYWNlRGlzdGFuY2UvbCxtPWY7dS5oZWlnaHQ9cjtsZXQgXz1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKHUsbXMpO2EucGFjayhfLHMsbSksbSs9Mztmb3IobGV0IGc9MTtnPGw7ZysrKXtsZXQgYj1WZi5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlKGcqZCx1ZCk7Yi5oZWlnaHQ9cFtnXSxfPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oYixtcyksYS5wYWNrKF8scyxtKSxtKz0zfXJldHVybiBtfXZhciBGbyxwdixkdixtdixMdyxodixEdyxfdix5dixndixxMCxsZCx1ZCxtcyxLMCxBdixIMCxWZixGdyx3dixBbixnYT1aKCgpPT57RnQoKTtJZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7ajAoKTtJZigpO3RjKCk7V3QoKTtVbigpO2ZzKCk7Rm89e307Rm8ubnVtYmVyT2ZQb2ludHM9ZnVuY3Rpb24odCxlLG4pe2xldCBvPWEuZGlzdGFuY2UodCxlKTtyZXR1cm4gTWF0aC5jZWlsKG8vbil9O0ZvLm51bWJlck9mUG9pbnRzUmh1bWJMaW5lPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1NYXRoLnBvdyh0LmxvbmdpdHVkZS1lLmxvbmdpdHVkZSwyKStNYXRoLnBvdyh0LmxhdGl0dWRlLWUubGF0aXR1ZGUsMik7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5jZWlsKE1hdGguc3FydChvLyhuKm4pKSkpfTtwdj1uZXcgY3Q7Rm8uZXh0cmFjdEhlaWdodHM9ZnVuY3Rpb24odCxlKXtsZXQgbj10Lmxlbmd0aCxvPW5ldyBBcnJheShuKTtmb3IobGV0IHI9MDtyPG47cisrKXtsZXQgaT10W3JdO29bcl09ZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhpLHB2KS5oZWlnaHR9cmV0dXJuIG99O2R2PW5ldyBzdCxtdj1uZXcgYSxMdz1uZXcgYSxodj1uZXcgb24oYS5VTklUX1gsMCksRHc9bmV3IGEsX3Y9bmV3IG9uKGEuVU5JVF9YLDApLHl2PW5ldyBhLGd2PW5ldyBhLHEwPVtdO2xkPW5ldyBjdCx1ZD1uZXcgY3QsbXM9bmV3IGEsSzA9bmV3IGEsQXY9bmV3IGEsSDA9bmV3IGZkLFZmPW5ldyBabztGby53cmFwTG9uZ2l0dWRlPWZ1bmN0aW9uKHQsZSl7bGV0IG49W10sbz1bXTtpZihoKHQpJiZ0Lmxlbmd0aD4wKXtlPXgoZSxzdC5JREVOVElUWSk7bGV0IHI9c3QuaW52ZXJzZVRyYW5zZm9ybWF0aW9uKGUsZHYpLGk9c3QubXVsdGlwbHlCeVBvaW50KHIsYS5aRVJPLG12KSxzPWEubm9ybWFsaXplKHN0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yKHIsYS5VTklUX1ksTHcpLEx3KSxmPW9uLmZyb21Qb2ludE5vcm1hbChpLHMsaHYpLHU9YS5ub3JtYWxpemUoc3QubXVsdGlwbHlCeVBvaW50QXNWZWN0b3IocixhLlVOSVRfWCxEdyksRHcpLGM9b24uZnJvbVBvaW50Tm9ybWFsKGksdSxfdiksbD0xO24ucHVzaChhLmNsb25lKHRbMF0pKTtsZXQgcD1uWzBdLGQ9dC5sZW5ndGg7Zm9yKGxldCBtPTE7bTxkOysrbSl7bGV0IF89dFttXTtpZihvbi5nZXRQb2ludERpc3RhbmNlKGMscCk8MHx8b24uZ2V0UG9pbnREaXN0YW5jZShjLF8pPDApe2xldCBnPWhvLmxpbmVTZWdtZW50UGxhbmUocCxfLGYseXYpO2lmKGgoZykpe2xldCBiPWEubXVsdGlwbHlCeVNjYWxhcihzLDVlLTksZ3YpO29uLmdldFBvaW50RGlzdGFuY2UoZixwKTwwJiZhLm5lZ2F0ZShiLGIpLG4ucHVzaChhLmFkZChnLGIsbmV3IGEpKSxvLnB1c2gobCsxKSxhLm5lZ2F0ZShiLGIpLG4ucHVzaChhLmFkZChnLGIsbmV3IGEpKSxsPTF9fW4ucHVzaChhLmNsb25lKHRbbV0pKSxsKysscD1ffW8ucHVzaChsKX1yZXR1cm57cG9zaXRpb25zOm4sbGVuZ3RoczpvfX07Rm8uZ2VuZXJhdGVBcmM9ZnVuY3Rpb24odCl7aCh0KXx8KHQ9e30pO2xldCBlPXQucG9zaXRpb25zO2lmKCFoKGUpKXRocm93IG5ldyBGKCJvcHRpb25zLnBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLmxlbmd0aCxvPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxyPXgodC5oZWlnaHQsMCksaT1BcnJheS5pc0FycmF5KHIpO2lmKG48MSlyZXR1cm5bXTtpZihuPT09MSl7bGV0IGc9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGVbMF0sSzApO2lmKHI9aT9yWzBdOnIsciE9PTApe2xldCBiPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGcsbXMpO2EubXVsdGlwbHlCeVNjYWxhcihiLHIsYiksYS5hZGQoZyxiLGcpfXJldHVybltnLngsZy55LGcuel19bGV0IHM9dC5taW5EaXN0YW5jZTtpZighaChzKSl7bGV0IGc9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKTtzPU0uY2hvcmRMZW5ndGgoZyxvLm1heGltdW1SYWRpdXMpfWxldCBmPTAsdTtmb3IodT0wO3U8bi0xO3UrKylmKz1Gby5udW1iZXJPZlBvaW50cyhlW3VdLGVbdSsxXSxzKTtsZXQgYz0oZisxKSozLGw9bmV3IEFycmF5KGMpLHA9MDtmb3IodT0wO3U8bi0xO3UrKyl7bGV0IGc9ZVt1XSxiPWVbdSsxXSxUPWk/clt1XTpyLE89aT9yW3UrMV06cjtwPWJ2KGcsYixzLG8sVCxPLGwscCl9cTAubGVuZ3RoPTA7bGV0IGQ9ZVtuLTFdLG09by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhkLGxkKTttLmhlaWdodD1pP3Jbbi0xXTpyO2xldCBfPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4obSxtcyk7cmV0dXJuIGEucGFjayhfLGwsYy0zKSxsfTtGdz1uZXcgY3Qsd3Y9bmV3IGN0O0ZvLmdlbmVyYXRlUmh1bWJBcmM9ZnVuY3Rpb24odCl7aCh0KXx8KHQ9e30pO2xldCBlPXQucG9zaXRpb25zO2lmKCFoKGUpKXRocm93IG5ldyBGKCJvcHRpb25zLnBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLmxlbmd0aCxvPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxyPXgodC5oZWlnaHQsMCksaT1BcnJheS5pc0FycmF5KHIpO2lmKG48MSlyZXR1cm5bXTtpZihuPT09MSl7bGV0IFQ9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGVbMF0sSzApO2lmKHI9aT9yWzBdOnIsciE9PTApe2xldCBPPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKFQsbXMpO2EubXVsdGlwbHlCeVNjYWxhcihPLHIsTyksYS5hZGQoVCxPLFQpfXJldHVybltULngsVC55LFQuel19bGV0IHM9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxmPTAsdSxjPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZVswXSxGdyksbDtmb3IodT0wO3U8bi0xO3UrKylsPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZVt1KzFdLHd2KSxmKz1Gby5udW1iZXJPZlBvaW50c1JodW1iTGluZShjLGwscyksYz1jdC5jbG9uZShsLEZ3KTtsZXQgcD0oZisxKSozLGQ9bmV3IEFycmF5KHApLG09MDtmb3IodT0wO3U8bi0xO3UrKyl7bGV0IFQ9ZVt1XSxPPWVbdSsxXSxFPWk/clt1XTpyLHc9aT9yW3UrMV06cjttPVR2KFQsTyxzLG8sRSx3LGQsbSl9cTAubGVuZ3RoPTA7bGV0IF89ZVtuLTFdLGc9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhfLGxkKTtnLmhlaWdodD1pP3Jbbi0xXTpyO2xldCBiPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oZyxtcyk7cmV0dXJuIGEucGFjayhiLGQscC0zKSxkfTtGby5nZW5lcmF0ZUNhcnRlc2lhbkFyYz1mdW5jdGlvbih0KXtsZXQgZT1Gby5nZW5lcmF0ZUFyYyh0KSxuPWUubGVuZ3RoLzMsbz1uZXcgQXJyYXkobik7Zm9yKGxldCByPTA7cjxuO3IrKylvW3JdPWEudW5wYWNrKGUsciozKTtyZXR1cm4gb307Rm8uZ2VuZXJhdGVDYXJ0ZXNpYW5SaHVtYkFyYz1mdW5jdGlvbih0KXtsZXQgZT1Gby5nZW5lcmF0ZVJodW1iQXJjKHQpLG49ZS5sZW5ndGgvMyxvPW5ldyBBcnJheShuKTtmb3IobGV0IHI9MDtyPG47cisrKW9bcl09YS51bnBhY2soZSxyKjMpO3JldHVybiBvfTtBbj1Gb30pO2Z1bmN0aW9uIEl2KHQsZSl7bGV0IG49bmV3IEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IG89MDtvPHQubGVuZ3RoO28rKyl7bGV0IHI9dFtvXTtXMD1lLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHIsVzApLG5bb109VzAuaGVpZ2h0LHRbb109ZS5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKHIscil9cmV0dXJuIG59ZnVuY3Rpb24gWDAodCxlLG4sbyl7bGV0IHI9dFswXSxpPXRbMV0scz1hLmFuZ2xlQmV0d2VlbihyLGkpLGY9TWF0aC5jZWlsKHMvbyksdT1uZXcgQXJyYXkoZiksYztpZihlPT09bil7Zm9yKGM9MDtjPGY7YysrKXVbY109ZTtyZXR1cm4gdS5wdXNoKG4pLHV9bGV0IHA9KG4tZSkvZjtmb3IoYz0xO2M8ZjtjKyspe2xldCBkPWUrYypwO3VbY109ZH1yZXR1cm4gdVswXT1lLHUucHVzaChuKSx1fWZ1bmN0aW9uIHZ2KHQsZSxuLG8pe2xldCByPW5ldyB5byhuLG8pLGk9ci5wcm9qZWN0UG9pbnRPbnRvUGxhbmUoYS5hZGQobix0LGRkKSxkZCkscz1yLnByb2plY3RQb2ludE9udG9QbGFuZShhLmFkZChuLGUsbWQpLG1kKSxmPXR0LmFuZ2xlQmV0d2VlbihpLHMpO3JldHVybiBzLngqaS55LXMueSppLng+PTA/LWY6Zn1mdW5jdGlvbiBVaSh0LGUsbixvLHIsaSxzLGYpe2xldCB1PUJ2LGM9VXY7X2M9WG8uZWFzdE5vcnRoVXBUb0ZpeGVkRnJhbWUodCxyLF9jKSx1PXN0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yKF9jLEx2LHUpLHU9YS5ub3JtYWxpemUodSx1KTtsZXQgbD12dih1LGUsdCxyKTtZMD1RLmZyb21Sb3RhdGlvbloobCxZMCksVXcuej1pLF9jPXN0Lm11bHRpcGx5VHJhbnNmb3JtYXRpb24oX2Msc3QuZnJvbVJvdGF0aW9uVHJhbnNsYXRpb24oWTAsVXcsRHYpLF9jKTtsZXQgcD1GdjtwWzBdPXM7Zm9yKGxldCBkPTA7ZDxmO2QrKylmb3IobGV0IG09MDttPG4ubGVuZ3RoO20rPTMpYz1hLmZyb21BcnJheShuLG0sYyksYz1RLm11bHRpcGx5QnlWZWN0b3IocCxjLGMpLGM9c3QubXVsdGlwbHlCeVBvaW50KF9jLGMsYyksby5wdXNoKGMueCxjLnksYy56KTtyZXR1cm4gb31mdW5jdGlvbiAkMCh0LGUsbixvLHIsaSxzKXtmb3IobGV0IGY9MDtmPHQubGVuZ3RoO2YrPTMpe2xldCB1PWEuZnJvbUFycmF5KHQsZixWdik7bz1VaSh1LGUsbixvLHIsaVtmLzNdLHMsMSl9cmV0dXJuIG99ZnVuY3Rpb24ga3YodCxlKXtsZXQgbj10Lmxlbmd0aCxvPW5ldyBBcnJheShuKjYpLHI9MCxpPWUueCtlLndpZHRoLzIscz1lLnkrZS5oZWlnaHQvMixmPXRbMF07b1tyKytdPWYueC1pLG9bcisrXT0wLG9bcisrXT1mLnktcztmb3IobGV0IHU9MTt1PG47dSsrKXtmPXRbdV07bGV0IGM9Zi54LWksbD1mLnktcztvW3IrK109YyxvW3IrK109MCxvW3IrK109bCxvW3IrK109YyxvW3IrK109MCxvW3IrK109bH1yZXR1cm4gZj10WzBdLG9bcisrXT1mLngtaSxvW3IrK109MCxvW3IrK109Zi55LXMsb31mdW5jdGlvbiBWdyh0LGUpe2xldCBuPXQubGVuZ3RoLG89bmV3IEFycmF5KG4qMykscj0wLGk9ZS54K2Uud2lkdGgvMixzPWUueStlLmhlaWdodC8yO2ZvcihsZXQgZj0wO2Y8bjtmKyspb1tyKytdPXRbZl0ueC1pLG9bcisrXT0wLG9bcisrXT10W2ZdLnktcztyZXR1cm4gb31mdW5jdGlvbiBqdyh0LGUsbixvLHIsaSxzLGYsdSxjKXtsZXQgbD1hLmFuZ2xlQmV0d2VlbihhLnN1YnRyYWN0KGUsdCxBYSksYS5zdWJ0cmFjdChuLHQscGQpKSxwPW89PT1mbi5CRVZFTEVEPzA6TWF0aC5jZWlsKGwvTS50b1JhZGlhbnMoNSkpLGQ7cj9kPVEuZnJvbVF1YXRlcm5pb24oZWUuZnJvbUF4aXNBbmdsZShhLm5lZ2F0ZSh0LEFhKSxsLyhwKzEpLGt3KSx6dyk6ZD1RLmZyb21RdWF0ZXJuaW9uKGVlLmZyb21BeGlzQW5nbGUodCxsLyhwKzEpLGt3KSx6dyk7bGV0IG0sXztpZihlPWEuY2xvbmUoZSxHdykscD4wKXtsZXQgZz1jPzI6MTtmb3IobGV0IGI9MDtiPHA7YisrKWU9US5tdWx0aXBseUJ5VmVjdG9yKGQsZSxlKSxtPWEuc3VidHJhY3QoZSx0LEFhKSxtPWEubm9ybWFsaXplKG0sbSkscnx8KG09YS5uZWdhdGUobSxtKSksXz1pLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UoZSxwZCkscz1VaShfLG0sZixzLGksdSwxLGcpfWVsc2UgbT1hLnN1YnRyYWN0KGUsdCxBYSksbT1hLm5vcm1hbGl6ZShtLG0pLHJ8fChtPWEubmVnYXRlKG0sbSkpLF89aS5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGUscGQpLHM9VWkoXyxtLGYscyxpLHUsMSwxKSxuPWEuY2xvbmUobixHdyksbT1hLnN1YnRyYWN0KG4sdCxBYSksbT1hLm5vcm1hbGl6ZShtLG0pLHJ8fChtPWEubmVnYXRlKG0sbSkpLF89aS5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKG4scGQpLHM9VWkoXyxtLGYscyxpLHUsMSwxKTtyZXR1cm4gc312YXIgYW8sT3YsRXYsUnYsU3YsQ3YseHYsUHYsTXYsTnYsQWEscGQsa2YsVzAsZGQsbWQsTHYsX2MsRHYsWTAsRnYsQnYsVXYsVXcsVnYsa3csR3csencsR3YsenYsaHMsaGQ9WigoKT0+e1VlKCk7RnQoKTtocigpO0llKCk7aGMoKTtwYSgpO1d0KCk7Qm4oKTtVbigpO2dhKCk7S28oKTtjcygpO3ZwKCk7YW89W25ldyBhLG5ldyBhXSxPdj1uZXcgYSxFdj1uZXcgYSxSdj1uZXcgYSxTdj1uZXcgYSxDdj1uZXcgYSx4dj1uZXcgYSxQdj1uZXcgYSxNdj1uZXcgYSxOdj1uZXcgYSxBYT1uZXcgYSxwZD1uZXcgYSxrZj17fSxXMD1uZXcgY3Q7ZGQ9bmV3IGEsbWQ9bmV3IGE7THY9bmV3IGEoLTEsMCwwKSxfYz1uZXcgc3QsRHY9bmV3IHN0LFkwPW5ldyBRLEZ2PVEuSURFTlRJVFkuY2xvbmUoKSxCdj1uZXcgYSxVdj1uZXcgaGUsVXc9bmV3IGE7VnY9bmV3IGE7a3c9bmV3IGVlLEd3PW5ldyBhLHp3PW5ldyBRO2tmLnJlbW92ZUR1cGxpY2F0ZXNGcm9tU2hhcGU9ZnVuY3Rpb24odCl7bGV0IGU9dC5sZW5ndGgsbj1bXTtmb3IobGV0IG89ZS0xLHI9MDtyPGU7bz1yKyspe2xldCBpPXRbb10scz10W3JdO3R0LmVxdWFscyhpLHMpfHxuLnB1c2gocyl9cmV0dXJuIG59O2tmLmFuZ2xlSXNHcmVhdGVyVGhhblBpPWZ1bmN0aW9uKHQsZSxuLG8pe2xldCByPW5ldyB5byhuLG8pLGk9ci5wcm9qZWN0UG9pbnRPbnRvUGxhbmUoYS5hZGQobix0LGRkKSxkZCkscz1yLnByb2plY3RQb2ludE9udG9QbGFuZShhLmFkZChuLGUsbWQpLG1kKTtyZXR1cm4gcy54KmkueS1zLnkqaS54Pj0wfTtHdj1uZXcgYSx6dj1uZXcgYTtrZi5jb21wdXRlUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSxuLG8scil7bGV0IGk9by5fZWxsaXBzb2lkLHM9SXYodCxpKSxmPW8uX2dyYW51bGFyaXR5LHU9by5fY29ybmVyVHlwZSxjPXI/a3YoZSxuKTpWdyhlLG4pLGw9cj9WdyhlLG4pOnZvaWQgMCxwPW4uaGVpZ2h0LzIsZD1uLndpZHRoLzIsbT10Lmxlbmd0aCxfPVtdLGc9cj9bXTp2b2lkIDAsYj1PdixUPUV2LE89UnYsRT1Tdix3PUN2LEM9eHYsTj1QdixJPU12LEQ9TnYsdj10WzBdLEw9dFsxXTtFPWkuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHYsRSksYj1hLnN1YnRyYWN0KEwsdixiKSxiPWEubm9ybWFsaXplKGIsYiksST1hLmNyb3NzKEUsYixJKSxJPWEubm9ybWFsaXplKEksSSk7bGV0IFU9c1swXSxBPXNbMV07ciYmKGc9VWkodixJLGwsZyxpLFUrcCwxLDEpKSxEPWEuY2xvbmUodixEKSx2PUwsVD1hLm5lZ2F0ZShiLFQpO2xldCBTLFA7Zm9yKGxldCBIPTE7SDxtLTE7SCsrKXtsZXQgaz1yPzI6MTtpZihMPXRbSCsxXSx2LmVxdWFscyhMKSl7bmEoIlBvc2l0aW9ucyBhcmUgdG9vIGNsb3NlIGFuZCBhcmUgY29uc2lkZXJlZCBlcXVpdmFsZW50IHdpdGggcm91bmRpbmcgZXJyb3IuIik7Y29udGludWV9Yj1hLnN1YnRyYWN0KEwsdixiKSxiPWEubm9ybWFsaXplKGIsYiksTz1hLmFkZChiLFQsTyksTz1hLm5vcm1hbGl6ZShPLE8pLEU9aS5nZW9kZXRpY1N1cmZhY2VOb3JtYWwodixFKTtsZXQgSz1hLm11bHRpcGx5QnlTY2FsYXIoRSxhLmRvdChiLEUpLEd2KTthLnN1YnRyYWN0KGIsSyxLKSxhLm5vcm1hbGl6ZShLLEspO2xldCBYPWEubXVsdGlwbHlCeVNjYWxhcihFLGEuZG90KFQsRSksenYpO2lmKGEuc3VidHJhY3QoVCxYLFgpLGEubm9ybWFsaXplKFgsWCksIU0uZXF1YWxzRXBzaWxvbihNYXRoLmFicyhhLmRvdChLLFgpKSwxLE0uRVBTSUxPTjcpKXtPPWEuY3Jvc3MoTyxFLE8pLE89YS5jcm9zcyhFLE8sTyksTz1hLm5vcm1hbGl6ZShPLE8pO2xldCBvdD0xL01hdGgubWF4KC4yNSxhLm1hZ25pdHVkZShhLmNyb3NzKE8sVCxBYSkpKSxhdD1rZi5hbmdsZUlzR3JlYXRlclRoYW5QaShiLFQsdixpKTthdD8odz1hLmFkZCh2LGEubXVsdGlwbHlCeVNjYWxhcihPLG90KmQsTyksdyksQz1hLmFkZCh3LGEubXVsdGlwbHlCeVNjYWxhcihJLGQsQyksQyksYW9bMF09YS5jbG9uZShELGFvWzBdKSxhb1sxXT1hLmNsb25lKEMsYW9bMV0pLFM9WDAoYW8sVStwLEErcCxmKSxQPUFuLmdlbmVyYXRlQXJjKHtwb3NpdGlvbnM6YW8sZ3JhbnVsYXJpdHk6ZixlbGxpcHNvaWQ6aX0pLF89JDAoUCxJLGMsXyxpLFMsMSksST1hLmNyb3NzKEUsYixJKSxJPWEubm9ybWFsaXplKEksSSksTj1hLmFkZCh3LGEubXVsdGlwbHlCeVNjYWxhcihJLGQsTiksTiksdT09PWZuLlJPVU5ERUR8fHU9PT1mbi5CRVZFTEVEP2p3KHcsQyxOLHUsYXQsaSxfLGMsQStwLHIpOihPPWEubmVnYXRlKE8sTyksXz1VaSh2LE8sYyxfLGksQStwLG90LGspKSxEPWEuY2xvbmUoTixEKSk6KHc9YS5hZGQodixhLm11bHRpcGx5QnlTY2FsYXIoTyxvdCpkLE8pLHcpLEM9YS5hZGQodyxhLm11bHRpcGx5QnlTY2FsYXIoSSwtZCxDKSxDKSxhb1swXT1hLmNsb25lKEQsYW9bMF0pLGFvWzFdPWEuY2xvbmUoQyxhb1sxXSksUz1YMChhbyxVK3AsQStwLGYpLFA9QW4uZ2VuZXJhdGVBcmMoe3Bvc2l0aW9uczphbyxncmFudWxhcml0eTpmLGVsbGlwc29pZDppfSksXz0kMChQLEksYyxfLGksUywxKSxJPWEuY3Jvc3MoRSxiLEkpLEk9YS5ub3JtYWxpemUoSSxJKSxOPWEuYWRkKHcsYS5tdWx0aXBseUJ5U2NhbGFyKEksLWQsTiksTiksdT09PWZuLlJPVU5ERUR8fHU9PT1mbi5CRVZFTEVEP2p3KHcsQyxOLHUsYXQsaSxfLGMsQStwLHIpOl89VWkodixPLGMsXyxpLEErcCxvdCxrKSxEPWEuY2xvbmUoTixEKSksVD1hLm5lZ2F0ZShiLFQpfWVsc2UgXz1VaShELEksYyxfLGksVStwLDEsMSksRD12O1U9QSxBPXNbSCsxXSx2PUx9YW9bMF09YS5jbG9uZShELGFvWzBdKSxhb1sxXT1hLmNsb25lKHYsYW9bMV0pLFM9WDAoYW8sVStwLEErcCxmKSxQPUFuLmdlbmVyYXRlQXJjKHtwb3NpdGlvbnM6YW8sZ3JhbnVsYXJpdHk6ZixlbGxpcHNvaWQ6aX0pLF89JDAoUCxJLGMsXyxpLFMsMSksciYmKGc9VWkodixJLGwsZyxpLEErcCwxLDEpKSxtPV8ubGVuZ3RoO2xldCBCPXI/bStnLmxlbmd0aDptLGo9bmV3IEZsb2F0NjRBcnJheShCKTtyZXR1cm4gai5zZXQoXyksciYmai5zZXQoZyxtKSxqfTtocz1rZn0pO2Z1bmN0aW9uIF9kKHQsZSxuLG8scil7bGV0IGk9YS5hbmdsZUJldHdlZW4oYS5zdWJ0cmFjdChlLHQsYmEpLGEuc3VidHJhY3Qobix0LFh3KSkscz1vPT09Zm4uQkVWRUxFRD8xOk1hdGguY2VpbChpL00udG9SYWRpYW5zKDUpKSsxLGY9cyozLHU9bmV3IEFycmF5KGYpO3VbZi0zXT1uLngsdVtmLTJdPW4ueSx1W2YtMV09bi56O2xldCBjO3I/Yz1RLmZyb21RdWF0ZXJuaW9uKGVlLmZyb21BeGlzQW5nbGUoYS5uZWdhdGUodCxiYSksaS9zLHF3KSxLdyk6Yz1RLmZyb21RdWF0ZXJuaW9uKGVlLmZyb21BeGlzQW5nbGUodCxpL3MscXcpLEt3KTtsZXQgbD0wO2U9YS5jbG9uZShlLGJhKTtmb3IobGV0IHA9MDtwPHM7cCsrKWU9US5tdWx0aXBseUJ5VmVjdG9yKGMsZSxlKSx1W2wrK109ZS54LHVbbCsrXT1lLnksdVtsKytdPWUuejtyZXR1cm4gdX1mdW5jdGlvbiBadih0KXtsZXQgZT1ZdyxuPSR3LG89Wncscj10WzFdO249YS5mcm9tQXJyYXkodFsxXSxyLmxlbmd0aC0zLG4pLG89YS5mcm9tQXJyYXkodFswXSwwLG8pLGU9YS5taWRwb2ludChuLG8sZSk7bGV0IGk9X2QoZSxuLG8sZm4uUk9VTkRFRCwhMSkscz10Lmxlbmd0aC0xLGY9dFtzLTFdO3I9dFtzXSxuPWEuZnJvbUFycmF5KGYsZi5sZW5ndGgtMyxuKSxvPWEuZnJvbUFycmF5KHIsMCxvKSxlPWEubWlkcG9pbnQobixvLGUpO2xldCB1PV9kKGUsbixvLGZuLlJPVU5ERUQsITEpO3JldHVybltpLHVdfWZ1bmN0aW9uIFd3KHQsZSxuLG8pe2xldCByPWJhO3JldHVybiBvP3I9YS5hZGQodCxlLHIpOihlPWEubmVnYXRlKGUsZSkscj1hLmFkZCh0LGUscikpLFtyLngsci55LHIueixuLngsbi55LG4uel19ZnVuY3Rpb24gWjAodCxlLG4sbyl7bGV0IHI9bmV3IEFycmF5KHQubGVuZ3RoKSxpPW5ldyBBcnJheSh0Lmxlbmd0aCkscz1hLm11bHRpcGx5QnlTY2FsYXIoZSxuLGJhKSxmPWEubmVnYXRlKHMsWHcpLHU9MCxjPXQubGVuZ3RoLTE7Zm9yKGxldCBsPTA7bDx0Lmxlbmd0aDtsKz0zKXtsZXQgcD1hLmZyb21BcnJheSh0LGwsanYpLGQ9YS5hZGQocCxmLEh3KTtyW3UrK109ZC54LHJbdSsrXT1kLnksclt1KytdPWQuejtsZXQgbT1hLmFkZChwLHMsSHcpO2lbYy0tXT1tLnosaVtjLS1dPW0ueSxpW2MtLV09bS54fXJldHVybiBvLnB1c2gocixpKSxvfXZhciBRMCxiYSxYdyxqdixIdyxCbyxZdywkdyxadyxIdixxdixLdixXdixYdixZdiwkdixxdyxLdyxRdixKdixxZSxKMD1aKCgpPT57RnQoKTtoYygpO2Z0KCk7V3QoKTtCbigpO2dhKCk7aGQoKTtLbygpO1EwPXt9LGJhPW5ldyBhLFh3PW5ldyBhLGp2PW5ldyBhLEh3PW5ldyBhLEJvPVtuZXcgYSxuZXcgYV0sWXc9bmV3IGEsJHc9bmV3IGEsWnc9bmV3IGEsSHY9bmV3IGEscXY9bmV3IGEsS3Y9bmV3IGEsV3Y9bmV3IGEsWHY9bmV3IGEsWXY9bmV3IGEsJHY9bmV3IGEscXc9bmV3IGVlLEt3PW5ldyBRO1EwLmFkZEF0dHJpYnV0ZT1mdW5jdGlvbih0LGUsbixvKXtsZXQgcj1lLngsaT1lLnkscz1lLno7aChuKSYmKHRbbl09cix0W24rMV09aSx0W24rMl09cyksaChvKSYmKHRbb109cyx0W28tMV09aSx0W28tMl09cil9O1F2PW5ldyBhLEp2PW5ldyBhO1EwLmNvbXB1dGVQb3NpdGlvbnM9ZnVuY3Rpb24odCl7bGV0IGU9dC5ncmFudWxhcml0eSxuPXQucG9zaXRpb25zLG89dC5lbGxpcHNvaWQscj10LndpZHRoLzIsaT10LmNvcm5lclR5cGUscz10LnNhdmVBdHRyaWJ1dGVzLGY9WXcsdT0kdyxjPVp3LGw9SHYscD1xdixkPUt2LG09V3YsXz1YdixnPVl2LGI9JHYsVD1bXSxPPXM/W106dm9pZCAwLEU9cz9bXTp2b2lkIDAsdz1uWzBdLEM9blsxXTt1PWEubm9ybWFsaXplKGEuc3VidHJhY3QoQyx3LHUpLHUpLGY9by5nZW9kZXRpY1N1cmZhY2VOb3JtYWwodyxmKSxsPWEubm9ybWFsaXplKGEuY3Jvc3MoZix1LGwpLGwpLHMmJihPLnB1c2gobC54LGwueSxsLnopLEUucHVzaChmLngsZi55LGYueikpLG09YS5jbG9uZSh3LG0pLHc9QyxjPWEubmVnYXRlKHUsYyk7bGV0IE4sST1bXSxELHY9bi5sZW5ndGg7Zm9yKEQ9MTtEPHYtMTtEKyspe2Y9by5nZW9kZXRpY1N1cmZhY2VOb3JtYWwodyxmKSxDPW5bRCsxXSx1PWEubm9ybWFsaXplKGEuc3VidHJhY3QoQyx3LHUpLHUpLHA9YS5ub3JtYWxpemUoYS5hZGQodSxjLHApLHApO2xldCBVPWEubXVsdGlwbHlCeVNjYWxhcihmLGEuZG90KHUsZiksUXYpO2Euc3VidHJhY3QodSxVLFUpLGEubm9ybWFsaXplKFUsVSk7bGV0IEE9YS5tdWx0aXBseUJ5U2NhbGFyKGYsYS5kb3QoYyxmKSxKdik7aWYoYS5zdWJ0cmFjdChjLEEsQSksYS5ub3JtYWxpemUoQSxBKSwhTS5lcXVhbHNFcHNpbG9uKE1hdGguYWJzKGEuZG90KFUsQSkpLDEsTS5FUFNJTE9ONykpe3A9YS5jcm9zcyhwLGYscCkscD1hLmNyb3NzKGYscCxwKSxwPWEubm9ybWFsaXplKHAscCk7bGV0IFA9ci9NYXRoLm1heCguMjUsYS5tYWduaXR1ZGUoYS5jcm9zcyhwLGMsYmEpKSksQj1ocy5hbmdsZUlzR3JlYXRlclRoYW5QaSh1LGMsdyxvKTtwPWEubXVsdGlwbHlCeVNjYWxhcihwLFAscCksQj8oXz1hLmFkZCh3LHAsXyksYj1hLmFkZChfLGEubXVsdGlwbHlCeVNjYWxhcihsLHIsYiksYiksZz1hLmFkZChfLGEubXVsdGlwbHlCeVNjYWxhcihsLHIqMixnKSxnKSxCb1swXT1hLmNsb25lKG0sQm9bMF0pLEJvWzFdPWEuY2xvbmUoYixCb1sxXSksTj1Bbi5nZW5lcmF0ZUFyYyh7cG9zaXRpb25zOkJvLGdyYW51bGFyaXR5OmUsZWxsaXBzb2lkOm99KSxUPVowKE4sbCxyLFQpLHMmJihPLnB1c2gobC54LGwueSxsLnopLEUucHVzaChmLngsZi55LGYueikpLGQ9YS5jbG9uZShnLGQpLGw9YS5ub3JtYWxpemUoYS5jcm9zcyhmLHUsbCksbCksZz1hLmFkZChfLGEubXVsdGlwbHlCeVNjYWxhcihsLHIqMixnKSxnKSxtPWEuYWRkKF8sYS5tdWx0aXBseUJ5U2NhbGFyKGwscixtKSxtKSxpPT09Zm4uUk9VTkRFRHx8aT09PWZuLkJFVkVMRUQ/SS5wdXNoKHtsZWZ0UG9zaXRpb25zOl9kKF8sZCxnLGksQil9KTpJLnB1c2goe2xlZnRQb3NpdGlvbnM6V3codyxhLm5lZ2F0ZShwLHApLGcsQil9KSk6KGc9YS5hZGQodyxwLGcpLGI9YS5hZGQoZyxhLm5lZ2F0ZShhLm11bHRpcGx5QnlTY2FsYXIobCxyLGIpLGIpLGIpLF89YS5hZGQoZyxhLm5lZ2F0ZShhLm11bHRpcGx5QnlTY2FsYXIobCxyKjIsXyksXyksXyksQm9bMF09YS5jbG9uZShtLEJvWzBdKSxCb1sxXT1hLmNsb25lKGIsQm9bMV0pLE49QW4uZ2VuZXJhdGVBcmMoe3Bvc2l0aW9uczpCbyxncmFudWxhcml0eTplLGVsbGlwc29pZDpvfSksVD1aMChOLGwscixUKSxzJiYoTy5wdXNoKGwueCxsLnksbC56KSxFLnB1c2goZi54LGYueSxmLnopKSxkPWEuY2xvbmUoXyxkKSxsPWEubm9ybWFsaXplKGEuY3Jvc3MoZix1LGwpLGwpLF89YS5hZGQoZyxhLm5lZ2F0ZShhLm11bHRpcGx5QnlTY2FsYXIobCxyKjIsXyksXyksXyksbT1hLmFkZChnLGEubmVnYXRlKGEubXVsdGlwbHlCeVNjYWxhcihsLHIsbSksbSksbSksaT09PWZuLlJPVU5ERUR8fGk9PT1mbi5CRVZFTEVEP0kucHVzaCh7cmlnaHRQb3NpdGlvbnM6X2QoZyxkLF8saSxCKX0pOkkucHVzaCh7cmlnaHRQb3NpdGlvbnM6V3codyxwLF8sQil9KSksYz1hLm5lZ2F0ZSh1LGMpfXc9Q31mPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHcsZiksQm9bMF09YS5jbG9uZShtLEJvWzBdKSxCb1sxXT1hLmNsb25lKHcsQm9bMV0pLE49QW4uZ2VuZXJhdGVBcmMoe3Bvc2l0aW9uczpCbyxncmFudWxhcml0eTplLGVsbGlwc29pZDpvfSksVD1aMChOLGwscixUKSxzJiYoTy5wdXNoKGwueCxsLnksbC56KSxFLnB1c2goZi54LGYueSxmLnopKTtsZXQgTDtyZXR1cm4gaT09PWZuLlJPVU5ERUQmJihMPVp2KFQpKSx7cG9zaXRpb25zOlQsY29ybmVyczpJLGxlZnRzOk8sbm9ybWFsczpFLGVuZFBvc2l0aW9uczpMfX07cWU9UTB9KTtmdW5jdGlvbiBvTyh0LGUpe2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKXRbbl09ZS5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKHRbbl0sdFtuXSk7cmV0dXJuIHR9ZnVuY3Rpb24gS3IodCxlLG4sbyxyLGkpe2xldCBzPXQubm9ybWFscyxmPXQudGFuZ2VudHMsdT10LmJpdGFuZ2VudHMsYz1hLm5vcm1hbGl6ZShhLmNyb3NzKG4sZSxfcyksX3MpO2kubm9ybWFsJiZxZS5hZGRBdHRyaWJ1dGUocyxlLG8sciksaS50YW5nZW50JiZxZS5hZGRBdHRyaWJ1dGUoZixjLG8sciksaS5iaXRhbmdlbnQmJnFlLmFkZEF0dHJpYnV0ZSh1LG4sbyxyKX1mdW5jdGlvbiByTyh0LGUsbil7bGV0IG89dC5wb3NpdGlvbnMscj10LmNvcm5lcnMsaT10LmVuZFBvc2l0aW9ucyxzPXQubGVmdHMsZj10Lm5vcm1hbHMsdT1uZXcgaWUsYyxsPTAscD0wLGQsbT0wLF87Zm9yKGQ9MDtkPG8ubGVuZ3RoO2QrPTIpXz1vW2RdLmxlbmd0aC0zLGwrPV8sbSs9XyoyLHArPW9bZCsxXS5sZW5ndGgtMztmb3IobCs9MyxwKz0zLGQ9MDtkPHIubGVuZ3RoO2QrKyl7Yz1yW2RdO2xldCBydD1yW2RdLmxlZnRQb3NpdGlvbnM7aChydCk/KF89cnQubGVuZ3RoLGwrPV8sbSs9Xyk6KF89cltkXS5yaWdodFBvc2l0aW9ucy5sZW5ndGgscCs9XyxtKz1fKX1sZXQgZz1oKGkpLGI7ZyYmKGI9aVswXS5sZW5ndGgtMyxsKz1iLHArPWIsYi89MyxtKz1iKjYpO2xldCBUPWwrcCxPPW5ldyBGbG9hdDY0QXJyYXkoVCksRT1lLm5vcm1hbD9uZXcgRmxvYXQzMkFycmF5KFQpOnZvaWQgMCx3PWUudGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KFQpOnZvaWQgMCxDPWUuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkoVCk6dm9pZCAwLE49e25vcm1hbHM6RSx0YW5nZW50czp3LGJpdGFuZ2VudHM6Q30sST0wLEQ9VC0xLHYsTCxVLEEsUz10TyxQPWVPLEIsaixIPWIvMixrPUR0LmNyZWF0ZVR5cGVkQXJyYXkoVC8zLG0pLEs9MDtpZihnKXtqPXlkLEI9Z2Q7bGV0IHJ0PWlbMF07Zm9yKFM9YS5mcm9tQXJyYXkoZiwwLFMpLFA9YS5mcm9tQXJyYXkocywwLFApLGQ9MDtkPEg7ZCsrKWo9YS5mcm9tQXJyYXkocnQsKEgtMS1kKSozLGopLEI9YS5mcm9tQXJyYXkocnQsKEgrZCkqMyxCKSxxZS5hZGRBdHRyaWJ1dGUoTyxCLEkpLHFlLmFkZEF0dHJpYnV0ZShPLGosdm9pZCAwLEQpLEtyKE4sUyxQLEksRCxlKSxMPUkvMyxBPUwrMSx2PShELTIpLzMsVT12LTEsa1tLKytdPXYsa1tLKytdPUwsa1tLKytdPVUsa1tLKytdPVUsa1tLKytdPUwsa1tLKytdPUEsSSs9MyxELT0zfWxldCBYPTAsUj0wLG90PW9bWCsrXSxhdD1vW1grK107Ty5zZXQob3QsSSksTy5zZXQoYXQsRC1hdC5sZW5ndGgrMSksUD1hLmZyb21BcnJheShzLFIsUCk7bGV0IHB0LHl0O2ZvcihfPWF0Lmxlbmd0aC0zLGQ9MDtkPF87ZCs9MylwdD1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChhLmZyb21BcnJheShvdCxkLF9zKSxfcykseXQ9bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoYS5mcm9tQXJyYXkoYXQsXy1kLFRhKSxUYSksUz1hLm5vcm1hbGl6ZShhLmFkZChwdCx5dCxTKSxTKSxLcihOLFMsUCxJLEQsZSksTD1JLzMsQT1MKzEsdj0oRC0yKS8zLFU9di0xLGtbSysrXT12LGtbSysrXT1MLGtbSysrXT1VLGtbSysrXT1VLGtbSysrXT1MLGtbSysrXT1BLEkrPTMsRC09Mztmb3IocHQ9bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoYS5mcm9tQXJyYXkob3QsXyxfcyksX3MpLHl0PW4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGEuZnJvbUFycmF5KGF0LF8sVGEpLFRhKSxTPWEubm9ybWFsaXplKGEuYWRkKHB0LHl0LFMpLFMpLFIrPTMsZD0wO2Q8ci5sZW5ndGg7ZCsrKXtsZXQgcnQ7Yz1yW2RdO2xldCBQdD1jLmxlZnRQb3NpdGlvbnMsZ3Q9Yy5yaWdodFBvc2l0aW9ucyxDdCxtdCx1dD1uTyx2dD15ZCx6dD1nZDtpZihTPWEuZnJvbUFycmF5KGYsUixTKSxoKFB0KSl7Zm9yKEtyKE4sUyxQLHZvaWQgMCxELGUpLEQtPTMsQ3Q9QSxtdD1VLHJ0PTA7cnQ8UHQubGVuZ3RoLzM7cnQrKyl1dD1hLmZyb21BcnJheShQdCxydCozLHV0KSxrW0srK109Q3Qsa1tLKytdPW10LXJ0LTEsa1tLKytdPW10LXJ0LHFlLmFkZEF0dHJpYnV0ZShPLHV0LHZvaWQgMCxEKSx2dD1hLmZyb21BcnJheShPLChtdC1ydC0xKSozLHZ0KSx6dD1hLmZyb21BcnJheShPLEN0KjMsenQpLFA9YS5ub3JtYWxpemUoYS5zdWJ0cmFjdCh2dCx6dCxQKSxQKSxLcihOLFMsUCx2b2lkIDAsRCxlKSxELT0zO3V0PWEuZnJvbUFycmF5KE8sQ3QqMyx1dCksdnQ9YS5zdWJ0cmFjdChhLmZyb21BcnJheShPLG10KjMsdnQpLHV0LHZ0KSx6dD1hLnN1YnRyYWN0KGEuZnJvbUFycmF5KE8sKG10LXJ0KSozLHp0KSx1dCx6dCksUD1hLm5vcm1hbGl6ZShhLmFkZCh2dCx6dCxQKSxQKSxLcihOLFMsUCxJLHZvaWQgMCxlKSxJKz0zfWVsc2V7Zm9yKEtyKE4sUyxQLEksdm9pZCAwLGUpLEkrPTMsQ3Q9VSxtdD1BLHJ0PTA7cnQ8Z3QubGVuZ3RoLzM7cnQrKyl1dD1hLmZyb21BcnJheShndCxydCozLHV0KSxrW0srK109Q3Qsa1tLKytdPW10K3J0LGtbSysrXT1tdCtydCsxLHFlLmFkZEF0dHJpYnV0ZShPLHV0LEkpLHZ0PWEuZnJvbUFycmF5KE8sQ3QqMyx2dCksenQ9YS5mcm9tQXJyYXkoTywobXQrcnQpKjMsenQpLFA9YS5ub3JtYWxpemUoYS5zdWJ0cmFjdCh2dCx6dCxQKSxQKSxLcihOLFMsUCxJLHZvaWQgMCxlKSxJKz0zO3V0PWEuZnJvbUFycmF5KE8sQ3QqMyx1dCksdnQ9YS5zdWJ0cmFjdChhLmZyb21BcnJheShPLChtdCtydCkqMyx2dCksdXQsdnQpLHp0PWEuc3VidHJhY3QoYS5mcm9tQXJyYXkoTyxtdCozLHp0KSx1dCx6dCksUD1hLm5vcm1hbGl6ZShhLm5lZ2F0ZShhLmFkZCh6dCx2dCxQKSxQKSxQKSxLcihOLFMsUCx2b2lkIDAsRCxlKSxELT0zfWZvcihvdD1vW1grK10sYXQ9b1tYKytdLG90LnNwbGljZSgwLDMpLGF0LnNwbGljZShhdC5sZW5ndGgtMywzKSxPLnNldChvdCxJKSxPLnNldChhdCxELWF0Lmxlbmd0aCsxKSxfPWF0Lmxlbmd0aC0zLFIrPTMsUD1hLmZyb21BcnJheShzLFIsUCkscnQ9MDtydDxhdC5sZW5ndGg7cnQrPTMpcHQ9bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoYS5mcm9tQXJyYXkob3QscnQsX3MpLF9zKSx5dD1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChhLmZyb21BcnJheShhdCxfLXJ0LFRhKSxUYSksUz1hLm5vcm1hbGl6ZShhLmFkZChwdCx5dCxTKSxTKSxLcihOLFMsUCxJLEQsZSksQT1JLzMsTD1BLTEsVT0oRC0yKS8zLHY9VSsxLGtbSysrXT12LGtbSysrXT1MLGtbSysrXT1VLGtbSysrXT1VLGtbSysrXT1MLGtbSysrXT1BLEkrPTMsRC09MztJLT0zLEQrPTN9aWYoUz1hLmZyb21BcnJheShmLGYubGVuZ3RoLTMsUyksS3IoTixTLFAsSSxELGUpLGcpe0krPTMsRC09MyxqPXlkLEI9Z2Q7bGV0IHJ0PWlbMV07Zm9yKGQ9MDtkPEg7ZCsrKWo9YS5mcm9tQXJyYXkocnQsKGItZC0xKSozLGopLEI9YS5mcm9tQXJyYXkocnQsZCozLEIpLHFlLmFkZEF0dHJpYnV0ZShPLGosdm9pZCAwLEQpLHFlLmFkZEF0dHJpYnV0ZShPLEIsSSksS3IoTixTLFAsSSxELGUpLEE9SS8zLEw9QS0xLFU9KEQtMikvMyx2PVUrMSxrW0srK109dixrW0srK109TCxrW0srK109VSxrW0srK109VSxrW0srK109TCxrW0srK109QSxJKz0zLEQtPTN9aWYodS5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOk99KSxlLnN0KXtsZXQgcnQ9bmV3IEZsb2F0MzJBcnJheShULzMqMiksUHQsZ3QsQ3Q9MDtpZihnKXtsLz0zLHAvPTM7bGV0IG10PU1hdGguUEkvKGIrMSk7Z3Q9MS8obC1iKzEpLFB0PTEvKHAtYisxKTtsZXQgdXQsdnQ9Yi8yO2ZvcihkPXZ0KzE7ZDxiKzE7ZCsrKXV0PU0uUElfT1ZFUl9UV08rbXQqZCxydFtDdCsrXT1QdCooMStNYXRoLmNvcyh1dCkpLHJ0W0N0KytdPS41KigxK01hdGguc2luKHV0KSk7Zm9yKGQ9MTtkPHAtYisxO2QrKylydFtDdCsrXT1kKlB0LHJ0W0N0KytdPTA7Zm9yKGQ9YjtkPnZ0O2QtLSl1dD1NLlBJX09WRVJfVFdPLWQqbXQscnRbQ3QrK109MS1QdCooMStNYXRoLmNvcyh1dCkpLHJ0W0N0KytdPS41KigxK01hdGguc2luKHV0KSk7Zm9yKGQ9dnQ7ZD4wO2QtLSl1dD1NLlBJX09WRVJfVFdPLW10KmQscnRbQ3QrK109MS1ndCooMStNYXRoLmNvcyh1dCkpLHJ0W0N0KytdPS41KigxK01hdGguc2luKHV0KSk7Zm9yKGQ9bC1iO2Q+MDtkLS0pcnRbQ3QrK109ZCpndCxydFtDdCsrXT0xO2ZvcihkPTE7ZDx2dCsxO2QrKyl1dD1NLlBJX09WRVJfVFdPK210KmQscnRbQ3QrK109Z3QqKDErTWF0aC5jb3ModXQpKSxydFtDdCsrXT0uNSooMStNYXRoLnNpbih1dCkpfWVsc2V7Zm9yKGwvPTMscC89MyxndD0xLyhsLTEpLFB0PTEvKHAtMSksZD0wO2Q8cDtkKyspcnRbQ3QrK109ZCpQdCxydFtDdCsrXT0wO2ZvcihkPWw7ZD4wO2QtLSlydFtDdCsrXT0oZC0xKSpndCxydFtDdCsrXT0xfXUuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOnJ0fSl9cmV0dXJuIGUubm9ybWFsJiYodS5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOk4ubm9ybWFsc30pKSxlLnRhbmdlbnQmJih1LnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOk4udGFuZ2VudHN9KSksZS5iaXRhbmdlbnQmJih1LmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Ti5iaXRhbmdlbnRzfSkpLHthdHRyaWJ1dGVzOnUsaW5kaWNlczprfX1mdW5jdGlvbiBlTCh0LGUpe2lmKCFlLm5vcm1hbCYmIWUudGFuZ2VudCYmIWUuYml0YW5nZW50JiYhZS5zdClyZXR1cm4gdDtsZXQgbj10LnBvc2l0aW9uLnZhbHVlcyxvLHI7KGUubm9ybWFsfHxlLmJpdGFuZ2VudCkmJihvPXQubm9ybWFsLnZhbHVlcyxyPXQuYml0YW5nZW50LnZhbHVlcyk7bGV0IGk9dC5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzE4LHM9aSozLGY9aSoyLHU9cyoyLGM7aWYoZS5ub3JtYWx8fGUuYml0YW5nZW50fHxlLnRhbmdlbnQpe2xldCBsPWUubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkocyo2KTp2b2lkIDAscD1lLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShzKjYpOnZvaWQgMCxkPWUuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkocyo2KTp2b2lkIDAsbT10TyxfPWVPLGc9eWQsYj1nZCxUPXRMLE89bk8sRT11O2ZvcihjPTA7YzxzO2MrPTMpe2xldCB3PUUrdTttPWEuZnJvbUFycmF5KG4sYyxtKSxfPWEuZnJvbUFycmF5KG4sYytzLF8pLGc9YS5mcm9tQXJyYXkobiwoYyszKSVzLGcpLF89YS5zdWJ0cmFjdChfLG0sXyksZz1hLnN1YnRyYWN0KGcsbSxnKSxiPWEubm9ybWFsaXplKGEuY3Jvc3MoXyxnLGIpLGIpLGUubm9ybWFsJiYocWUuYWRkQXR0cmlidXRlKGwsYix3KSxxZS5hZGRBdHRyaWJ1dGUobCxiLHcrMykscWUuYWRkQXR0cmlidXRlKGwsYixFKSxxZS5hZGRBdHRyaWJ1dGUobCxiLEUrMykpLChlLnRhbmdlbnR8fGUuYml0YW5nZW50KSYmKE89YS5mcm9tQXJyYXkobyxjLE8pLGUuYml0YW5nZW50JiYocWUuYWRkQXR0cmlidXRlKGQsTyx3KSxxZS5hZGRBdHRyaWJ1dGUoZCxPLHcrMykscWUuYWRkQXR0cmlidXRlKGQsTyxFKSxxZS5hZGRBdHRyaWJ1dGUoZCxPLEUrMykpLGUudGFuZ2VudCYmKFQ9YS5ub3JtYWxpemUoYS5jcm9zcyhPLGIsVCksVCkscWUuYWRkQXR0cmlidXRlKHAsVCx3KSxxZS5hZGRBdHRyaWJ1dGUocCxULHcrMykscWUuYWRkQXR0cmlidXRlKHAsVCxFKSxxZS5hZGRBdHRyaWJ1dGUocCxULEUrMykpKSxFKz02fWlmKGUubm9ybWFsKXtmb3IobC5zZXQobyksYz0wO2M8cztjKz0zKWxbYytzXT0tb1tjXSxsW2MrcysxXT0tb1tjKzFdLGxbYytzKzJdPS1vW2MrMl07dC5ub3JtYWwudmFsdWVzPWx9ZWxzZSB0Lm5vcm1hbD12b2lkIDA7aWYoZS5iaXRhbmdlbnQ/KGQuc2V0KHIpLGQuc2V0KHIscyksdC5iaXRhbmdlbnQudmFsdWVzPWQpOnQuYml0YW5nZW50PXZvaWQgMCxlLnRhbmdlbnQpe2xldCB3PXQudGFuZ2VudC52YWx1ZXM7cC5zZXQodykscC5zZXQodyxzKSx0LnRhbmdlbnQudmFsdWVzPXB9fWlmKGUuc3Qpe2xldCBsPXQuc3QudmFsdWVzLHA9bmV3IEZsb2F0MzJBcnJheShmKjYpO3Auc2V0KGwpLHAuc2V0KGwsZik7bGV0IGQ9ZioyO2ZvcihsZXQgbT0wO208MjttKyspe2ZvcihwW2QrK109bFswXSxwW2QrK109bFsxXSxjPTI7YzxmO2MrPTIpe2xldCBfPWxbY10sZz1sW2MrMV07cFtkKytdPV8scFtkKytdPWcscFtkKytdPV8scFtkKytdPWd9cFtkKytdPWxbMF0scFtkKytdPWxbMV19dC5zdC52YWx1ZXM9cH1yZXR1cm4gdH1mdW5jdGlvbiB0Xyh0LGUsbil7bltlKytdPXRbMF0sbltlKytdPXRbMV0sbltlKytdPXRbMl07Zm9yKGxldCBvPTM7bzx0Lmxlbmd0aDtvKz0zKXtsZXQgcj10W29dLGk9dFtvKzFdLHM9dFtvKzJdO25bZSsrXT1yLG5bZSsrXT1pLG5bZSsrXT1zLG5bZSsrXT1yLG5bZSsrXT1pLG5bZSsrXT1zfXJldHVybiBuW2UrK109dFswXSxuW2UrK109dFsxXSxuW2UrK109dFsyXSxufWZ1bmN0aW9uIG5MKHQsZSl7bGV0IG49bmV3IGR0KHtwb3NpdGlvbjplLnBvc2l0aW9uLG5vcm1hbDplLm5vcm1hbHx8ZS5iaXRhbmdlbnR8fHQuc2hhZG93Vm9sdW1lLHRhbmdlbnQ6ZS50YW5nZW50LGJpdGFuZ2VudDplLm5vcm1hbHx8ZS5iaXRhbmdlbnQsc3Q6ZS5zdH0pLG89dC5lbGxpcHNvaWQscj1xZS5jb21wdXRlUG9zaXRpb25zKHQpLGk9ck8ocixuLG8pLHM9dC5oZWlnaHQsZj10LmV4dHJ1ZGVkSGVpZ2h0LHU9aS5hdHRyaWJ1dGVzLGM9aS5pbmRpY2VzLGw9dS5wb3NpdGlvbi52YWx1ZXMscD1sLmxlbmd0aCxkPW5ldyBGbG9hdDY0QXJyYXkocCo2KSxtPW5ldyBGbG9hdDY0QXJyYXkocCk7bS5zZXQobCk7bGV0IF89bmV3IEZsb2F0NjRBcnJheShwKjQpO2w9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KGwscyxvKSxfPXRfKGwsMCxfKSxtPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChtLGYsbyksXz10XyhtLHAqMixfKSxkLnNldChsKSxkLnNldChtLHApLGQuc2V0KF8scCoyKSx1LnBvc2l0aW9uLnZhbHVlcz1kLHU9ZUwodSxlKTtsZXQgZyxiPXAvMztpZih0LnNoYWRvd1ZvbHVtZSl7bGV0IHY9dS5ub3JtYWwudmFsdWVzO3A9di5sZW5ndGg7bGV0IEw9bmV3IEZsb2F0MzJBcnJheShwKjYpO2ZvcihnPTA7ZzxwO2crKyl2W2ddPS12W2ddO0wuc2V0KHYscCksTD10Xyh2LHAqNCxMKSx1LmV4dHJ1ZGVEaXJlY3Rpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkx9KSxlLm5vcm1hbHx8KHUubm9ybWFsPXZvaWQgMCl9aWYoaCh0Lm9mZnNldEF0dHJpYnV0ZSkpe2xldCB2PW5ldyBVaW50OEFycmF5KGIqNik7aWYodC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1Apdj12LmZpbGwoMSwwLGIpLmZpbGwoMSxiKjIsYio0KTtlbHNle2xldCBMPXQub2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjE7dj12LmZpbGwoTCl9dS5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczp2fSl9bGV0IFQ9Yy5sZW5ndGgsTz1iK2IsRT1EdC5jcmVhdGVUeXBlZEFycmF5KGQubGVuZ3RoLzMsVCoyK08qMyk7RS5zZXQoYyk7bGV0IHc9VDtmb3IoZz0wO2c8VDtnKz0zKXtsZXQgdj1jW2ddLEw9Y1tnKzFdLFU9Y1tnKzJdO0VbdysrXT1VK2IsRVt3KytdPUwrYixFW3crK109ditifWxldCBDLE4sSSxEO2ZvcihnPTA7ZzxPO2crPTIpQz1nK08sTj1DK08sST1DKzEsRD1OKzEsRVt3KytdPUMsRVt3KytdPU4sRVt3KytdPUksRVt3KytdPUksRVt3KytdPU4sRVt3KytdPUQ7cmV0dXJue2F0dHJpYnV0ZXM6dSxpbmRpY2VzOkV9fWZ1bmN0aW9uIEp3KHQsZSxuLG8scixpKXtsZXQgcz1hLnN1YnRyYWN0KGUsdCxRdyk7YS5ub3JtYWxpemUocyxzKTtsZXQgZj1uLmdlb2RldGljU3VyZmFjZU5vcm1hbCh0LEdmKSx1PWEuY3Jvc3MocyxmLFF3KTthLm11bHRpcGx5QnlTY2FsYXIodSxvLHUpO2xldCBjPXIubGF0aXR1ZGUsbD1yLmxvbmdpdHVkZSxwPWkubGF0aXR1ZGUsZD1pLmxvbmdpdHVkZTthLmFkZCh0LHUsR2YpLG4uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoR2Ysd3IpO2xldCBtPXdyLmxhdGl0dWRlLF89d3IubG9uZ2l0dWRlO2M9TWF0aC5taW4oYyxtKSxsPU1hdGgubWluKGwsXykscD1NYXRoLm1heChwLG0pLGQ9TWF0aC5tYXgoZCxfKSxhLnN1YnRyYWN0KHQsdSxHZiksbi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhHZix3ciksbT13ci5sYXRpdHVkZSxfPXdyLmxvbmdpdHVkZSxjPU1hdGgubWluKGMsbSksbD1NYXRoLm1pbihsLF8pLHA9TWF0aC5tYXgocCxtKSxkPU1hdGgubWF4KGQsXyksci5sYXRpdHVkZT1jLHIubG9uZ2l0dWRlPWwsaS5sYXRpdHVkZT1wLGkubG9uZ2l0dWRlPWR9ZnVuY3Rpb24gaU8odCxlLG4sbyxyKXt0PW9PKHQsZSk7bGV0IGk9eG4odCxhLmVxdWFsc0Vwc2lsb24pLHM9aS5sZW5ndGg7aWYoczwyfHxuPD0wKXJldHVybiBuZXcgTnQ7bGV0IGY9biouNTtRby5sYXRpdHVkZT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksUW8ubG9uZ2l0dWRlPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxKby5sYXRpdHVkZT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksSm8ubG9uZ2l0dWRlPU51bWJlci5ORUdBVElWRV9JTkZJTklUWTtsZXQgdSxjO2lmKG89PT1mbi5ST1VOREVEKXtsZXQgZD1pWzBdO2Euc3VidHJhY3QoZCxpWzFdLFRyKSxhLm5vcm1hbGl6ZShUcixUciksYS5tdWx0aXBseUJ5U2NhbGFyKFRyLGYsVHIpLGEuYWRkKGQsVHIsemYpLGUuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoemYsd3IpLHU9d3IubGF0aXR1ZGUsYz13ci5sb25naXR1ZGUsUW8ubGF0aXR1ZGU9TWF0aC5taW4oUW8ubGF0aXR1ZGUsdSksUW8ubG9uZ2l0dWRlPU1hdGgubWluKFFvLmxvbmdpdHVkZSxjKSxKby5sYXRpdHVkZT1NYXRoLm1heChKby5sYXRpdHVkZSx1KSxKby5sb25naXR1ZGU9TWF0aC5tYXgoSm8ubG9uZ2l0dWRlLGMpfWZvcihsZXQgZD0wO2Q8cy0xOysrZClKdyhpW2RdLGlbZCsxXSxlLGYsUW8sSm8pO2xldCBsPWlbcy0xXTthLnN1YnRyYWN0KGwsaVtzLTJdLFRyKSxhLm5vcm1hbGl6ZShUcixUciksYS5tdWx0aXBseUJ5U2NhbGFyKFRyLGYsVHIpLGEuYWRkKGwsVHIsemYpLEp3KGwsemYsZSxmLFFvLEpvKSxvPT09Zm4uUk9VTkRFRCYmKGUuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoemYsd3IpLHU9d3IubGF0aXR1ZGUsYz13ci5sb25naXR1ZGUsUW8ubGF0aXR1ZGU9TWF0aC5taW4oUW8ubGF0aXR1ZGUsdSksUW8ubG9uZ2l0dWRlPU1hdGgubWluKFFvLmxvbmdpdHVkZSxjKSxKby5sYXRpdHVkZT1NYXRoLm1heChKby5sYXRpdHVkZSx1KSxKby5sb25naXR1ZGU9TWF0aC5tYXgoSm8ubG9uZ2l0dWRlLGMpKTtsZXQgcD1oKHIpP3I6bmV3IE50O3JldHVybiBwLm5vcnRoPUpvLmxhdGl0dWRlLHAuc291dGg9UW8ubGF0aXR1ZGUscC5lYXN0PUpvLmxvbmdpdHVkZSxwLndlc3Q9UW8ubG9uZ2l0dWRlLHB9ZnVuY3Rpb24ga2kodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucG9zaXRpb25zLG49dC53aWR0aDt5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIixlKSx5LmRlZmluZWQoIm9wdGlvbnMud2lkdGgiLG4pO2xldCBvPXgodC5oZWlnaHQsMCkscj14KHQuZXh0cnVkZWRIZWlnaHQsbyk7dGhpcy5fcG9zaXRpb25zPWUsdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUoeCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpKSx0aGlzLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoeCh0LnZlcnRleEZvcm1hdCxkdC5ERUZBVUxUKSksdGhpcy5fd2lkdGg9bix0aGlzLl9oZWlnaHQ9TWF0aC5tYXgobyxyKSx0aGlzLl9leHRydWRlZEhlaWdodD1NYXRoLm1pbihvLHIpLHRoaXMuX2Nvcm5lclR5cGU9eCh0LmNvcm5lclR5cGUsZm4uUk9VTkRFRCksdGhpcy5fZ3JhbnVsYXJpdHk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSx0aGlzLl9zaGFkb3dWb2x1bWU9eCh0LnNoYWRvd1ZvbHVtZSwhMSksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlQ29ycmlkb3JHZW9tZXRyeSIsdGhpcy5fb2Zmc2V0QXR0cmlidXRlPXQub2Zmc2V0QXR0cmlidXRlLHRoaXMuX3JlY3RhbmdsZT12b2lkIDAsdGhpcy5wYWNrZWRMZW5ndGg9MStlLmxlbmd0aCphLnBhY2tlZExlbmd0aCskLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrN312YXIgdE8sZU8seWQsZ2QsdEwsbk8sX3MsVGEsUXcsR2Ysd3IsVHIsemYsUW8sSm8sc08sY08sVmksZV8sYU89WigoKT0+e2pyKCk7dmUoKTtGdCgpO0llKCk7WHQoKTtGZSgpO2hjKCk7SjAoKTtJdCgpO2Z0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtMbygpOyRlKCk7V3QoKTtxcigpO3RuKCk7d24oKTtSbygpO3RPPW5ldyBhLGVPPW5ldyBhLHlkPW5ldyBhLGdkPW5ldyBhLHRMPW5ldyBhLG5PPW5ldyBhLF9zPW5ldyBhLFRhPW5ldyBhO1F3PW5ldyBhLEdmPW5ldyBhLHdyPW5ldyBjdDtUcj1uZXcgYSx6Zj1uZXcgYSxRbz1uZXcgY3QsSm89bmV3IGN0O2tpLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApO2xldCBvPXQuX3Bvc2l0aW9ucyxyPW8ubGVuZ3RoO2VbbisrXT1yO2ZvcihsZXQgaT0wO2k8cjsrK2ksbis9YS5wYWNrZWRMZW5ndGgpYS5wYWNrKG9baV0sZSxuKTtyZXR1cm4gJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbiksbis9ZHQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll93aWR0aCxlW24rK109dC5faGVpZ2h0LGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fY29ybmVyVHlwZSxlW24rK109dC5fZ3JhbnVsYXJpdHksZVtuKytdPXQuX3NoYWRvd1ZvbHVtZT8xOjAsZVtuXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZX07c089JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSxjTz1uZXcgZHQsVmk9e3Bvc2l0aW9uczp2b2lkIDAsZWxsaXBzb2lkOnNPLHZlcnRleEZvcm1hdDpjTyx3aWR0aDp2b2lkIDAsaGVpZ2h0OnZvaWQgMCxleHRydWRlZEhlaWdodDp2b2lkIDAsY29ybmVyVHlwZTp2b2lkIDAsZ3JhbnVsYXJpdHk6dm9pZCAwLHNoYWRvd1ZvbHVtZTp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07a2kudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz10W2UrK10scj1uZXcgQXJyYXkobyk7Zm9yKGxldCBfPTA7XzxvOysrXyxlKz1hLnBhY2tlZExlbmd0aClyW19dPWEudW5wYWNrKHQsZSk7bGV0IGk9JC51bnBhY2sodCxlLHNPKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgcz1kdC51bnBhY2sodCxlLGNPKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IGY9dFtlKytdLHU9dFtlKytdLGM9dFtlKytdLGw9dFtlKytdLHA9dFtlKytdLGQ9dFtlKytdPT09MSxtPXRbZV07cmV0dXJuIGgobik/KG4uX3Bvc2l0aW9ucz1yLG4uX2VsbGlwc29pZD0kLmNsb25lKGksbi5fZWxsaXBzb2lkKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUocyxuLl92ZXJ0ZXhGb3JtYXQpLG4uX3dpZHRoPWYsbi5faGVpZ2h0PXUsbi5fZXh0cnVkZWRIZWlnaHQ9YyxuLl9jb3JuZXJUeXBlPWwsbi5fZ3JhbnVsYXJpdHk9cCxuLl9zaGFkb3dWb2x1bWU9ZCxuLl9vZmZzZXRBdHRyaWJ1dGU9bT09PS0xP3ZvaWQgMDptLG4pOihWaS5wb3NpdGlvbnM9cixWaS53aWR0aD1mLFZpLmhlaWdodD11LFZpLmV4dHJ1ZGVkSGVpZ2h0PWMsVmkuY29ybmVyVHlwZT1sLFZpLmdyYW51bGFyaXR5PXAsVmkuc2hhZG93Vm9sdW1lPWQsVmkub2Zmc2V0QXR0cmlidXRlPW09PT0tMT92b2lkIDA6bSxuZXcga2koVmkpKX07a2kuY29tcHV0ZVJlY3RhbmdsZT1mdW5jdGlvbih0LGUpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgbj10LnBvc2l0aW9ucyxvPXQud2lkdGg7eS5kZWZpbmVkKCJvcHRpb25zLnBvc2l0aW9ucyIsbikseS5kZWZpbmVkKCJvcHRpb25zLndpZHRoIixvKTtsZXQgcj14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCksaT14KHQuY29ybmVyVHlwZSxmbi5ST1VOREVEKTtyZXR1cm4gaU8obixyLG8saSxlKX07a2kuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fcG9zaXRpb25zLG49dC5fd2lkdGgsbz10Ll9lbGxpcHNvaWQ7ZT1vTyhlLG8pO2xldCByPXhuKGUsYS5lcXVhbHNFcHNpbG9uKTtpZihyLmxlbmd0aDwyfHxuPD0wKXJldHVybjtsZXQgaT10Ll9oZWlnaHQscz10Ll9leHRydWRlZEhlaWdodCxmPSFNLmVxdWFsc0Vwc2lsb24oaSxzLDAsTS5FUFNJTE9OMiksdT10Ll92ZXJ0ZXhGb3JtYXQsYz17ZWxsaXBzb2lkOm8scG9zaXRpb25zOnIsd2lkdGg6bixjb3JuZXJUeXBlOnQuX2Nvcm5lclR5cGUsZ3JhbnVsYXJpdHk6dC5fZ3JhbnVsYXJpdHksc2F2ZUF0dHJpYnV0ZXM6ITB9LGw7aWYoZiljLmhlaWdodD1pLGMuZXh0cnVkZWRIZWlnaHQ9cyxjLnNoYWRvd1ZvbHVtZT10Ll9zaGFkb3dWb2x1bWUsYy5vZmZzZXRBdHRyaWJ1dGU9dC5fb2Zmc2V0QXR0cmlidXRlLGw9bkwoYyx1KTtlbHNle2xldCBtPXFlLmNvbXB1dGVQb3NpdGlvbnMoYyk7aWYobD1yTyhtLHUsbyksbC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQobC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxpLG8pLGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IF89dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsZz1sLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aCxiPW5ldyBVaW50OEFycmF5KGcvMykuZmlsbChfKTtsLmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6Yn0pfX1sZXQgcD1sLmF0dHJpYnV0ZXMsZD1BdC5mcm9tVmVydGljZXMocC5wb3NpdGlvbi52YWx1ZXMsdm9pZCAwLDMpO3JldHVybiB1LnBvc2l0aW9ufHwobC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz12b2lkIDApLG5ldyBVdCh7YXR0cmlidXRlczpwLGluZGljZXM6bC5pbmRpY2VzLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOmQsb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTtraS5jcmVhdGVTaGFkb3dWb2x1bWU9ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQuX2dyYW51bGFyaXR5LHI9dC5fZWxsaXBzb2lkLGk9ZShvLHIpLHM9bihvLHIpO3JldHVybiBuZXcga2koe3Bvc2l0aW9uczp0Ll9wb3NpdGlvbnMsd2lkdGg6dC5fd2lkdGgsY29ybmVyVHlwZTp0Ll9jb3JuZXJUeXBlLGVsbGlwc29pZDpyLGdyYW51bGFyaXR5Om8sZXh0cnVkZWRIZWlnaHQ6aSxoZWlnaHQ6cyx2ZXJ0ZXhGb3JtYXQ6ZHQuUE9TSVRJT05fT05MWSxzaGFkb3dWb2x1bWU6ITB9KX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoa2kucHJvdG90eXBlLHtyZWN0YW5nbGU6e2dldDpmdW5jdGlvbigpe3JldHVybiBoKHRoaXMuX3JlY3RhbmdsZSl8fCh0aGlzLl9yZWN0YW5nbGU9aU8odGhpcy5fcG9zaXRpb25zLHRoaXMuX2VsbGlwc29pZCx0aGlzLl93aWR0aCx0aGlzLl9jb3JuZXJUeXBlKSksdGhpcy5fcmVjdGFuZ2xlfX0sdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuWzAsMCwwLDEsMSwwXX19fSk7ZV89a2l9KTt2YXIgbl89e307ZGUobl8se2RlZmF1bHQ6KCk9PnJMfSk7ZnVuY3Rpb24gb0wodCxlKXtyZXR1cm4gaChlKSYmKHQ9ZV8udW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksZV8uY3JlYXRlR2VvbWV0cnkodCl9dmFyIHJMLG9fPVooKCk9PnthTygpO2Z0KCk7WnQoKTtyTD1vTH0pO2Z1bmN0aW9uIHNMKHQsZSl7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXT1lLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UodFtuXSx0W25dKTtyZXR1cm4gdH1mdW5jdGlvbiBsTyh0LGUpe2xldCBuPVtdLG89dC5wb3NpdGlvbnMscj10LmNvcm5lcnMsaT10LmVuZFBvc2l0aW9ucyxzPW5ldyBpZSxmLHU9MCxjPTAsbCxwPTAsZDtmb3IobD0wO2w8by5sZW5ndGg7bCs9MilkPW9bbF0ubGVuZ3RoLTMsdSs9ZCxwKz1kLzMqNCxjKz1vW2wrMV0ubGVuZ3RoLTM7Zm9yKHUrPTMsYys9MyxsPTA7bDxyLmxlbmd0aDtsKyspe2Y9cltsXTtsZXQgQj1yW2xdLmxlZnRQb3NpdGlvbnM7aChCKT8oZD1CLmxlbmd0aCx1Kz1kLHArPWQvMyoyKTooZD1yW2xdLnJpZ2h0UG9zaXRpb25zLmxlbmd0aCxjKz1kLHArPWQvMyoyKX1sZXQgbT1oKGkpLF87bSYmKF89aVswXS5sZW5ndGgtMyx1Kz1fLGMrPV8sXy89MyxwKz1fKjQpO2xldCBnPXUrYyxiPW5ldyBGbG9hdDY0QXJyYXkoZyksVD0wLE89Zy0xLEUsdyxDLE4sSSxELHY9Xy8yLEw9RHQuY3JlYXRlVHlwZWRBcnJheShnLzMscCs0KSxVPTA7aWYoTFtVKytdPVQvMyxMW1UrK109KE8tMikvMyxtKXtuLnB1c2goVC8zKSxEPWZPLEk9dU87bGV0IEI9aVswXTtmb3IobD0wO2w8djtsKyspRD1hLmZyb21BcnJheShCLCh2LTEtbCkqMyxEKSxJPWEuZnJvbUFycmF5KEIsKHYrbCkqMyxJKSxxZS5hZGRBdHRyaWJ1dGUoYixJLFQpLHFlLmFkZEF0dHJpYnV0ZShiLEQsdm9pZCAwLE8pLHc9VC8zLE49dysxLEU9KE8tMikvMyxDPUUtMSxMW1UrK109RSxMW1UrK109QyxMW1UrK109dyxMW1UrK109TixUKz0zLE8tPTN9bGV0IEE9MCxTPW9bQSsrXSxQPW9bQSsrXTtmb3IoYi5zZXQoUyxUKSxiLnNldChQLE8tUC5sZW5ndGgrMSksZD1QLmxlbmd0aC0zLG4ucHVzaChULzMsKE8tMikvMyksbD0wO2w8ZDtsKz0zKXc9VC8zLE49dysxLEU9KE8tMikvMyxDPUUtMSxMW1UrK109RSxMW1UrK109QyxMW1UrK109dyxMW1UrK109TixUKz0zLE8tPTM7Zm9yKGw9MDtsPHIubGVuZ3RoO2wrKyl7bGV0IEI7Zj1yW2xdO2xldCBqPWYubGVmdFBvc2l0aW9ucyxIPWYucmlnaHRQb3NpdGlvbnMsayxLPWlMO2lmKGgoaikpe2ZvcihPLT0zLGs9QyxuLnB1c2goTiksQj0wO0I8ai5sZW5ndGgvMztCKyspSz1hLmZyb21BcnJheShqLEIqMyxLKSxMW1UrK109ay1CLTEsTFtVKytdPWstQixxZS5hZGRBdHRyaWJ1dGUoYixLLHZvaWQgMCxPKSxPLT0zO24ucHVzaChrLU1hdGguZmxvb3Ioai5sZW5ndGgvNikpLGU9PT1mbi5CRVZFTEVEJiZuLnB1c2goKE8tMikvMysxKSxUKz0zfWVsc2V7Zm9yKFQrPTMsaz1OLG4ucHVzaChDKSxCPTA7QjxILmxlbmd0aC8zO0IrKylLPWEuZnJvbUFycmF5KEgsQiozLEspLExbVSsrXT1rK0IsTFtVKytdPWsrQisxLHFlLmFkZEF0dHJpYnV0ZShiLEssVCksVCs9MztuLnB1c2goaytNYXRoLmZsb29yKEgubGVuZ3RoLzYpKSxlPT09Zm4uQkVWRUxFRCYmbi5wdXNoKFQvMy0xKSxPLT0zfWZvcihTPW9bQSsrXSxQPW9bQSsrXSxTLnNwbGljZSgwLDMpLFAuc3BsaWNlKFAubGVuZ3RoLTMsMyksYi5zZXQoUyxUKSxiLnNldChQLE8tUC5sZW5ndGgrMSksZD1QLmxlbmd0aC0zLEI9MDtCPFAubGVuZ3RoO0IrPTMpTj1ULzMsdz1OLTEsQz0oTy0yKS8zLEU9QysxLExbVSsrXT1FLExbVSsrXT1DLExbVSsrXT13LExbVSsrXT1OLFQrPTMsTy09MztULT0zLE8rPTMsbi5wdXNoKFQvMywoTy0yKS8zKX1pZihtKXtUKz0zLE8tPTMsRD1mTyxJPXVPO2xldCBCPWlbMV07Zm9yKGw9MDtsPHY7bCsrKUQ9YS5mcm9tQXJyYXkoQiwoXy1sLTEpKjMsRCksST1hLmZyb21BcnJheShCLGwqMyxJKSxxZS5hZGRBdHRyaWJ1dGUoYixELHZvaWQgMCxPKSxxZS5hZGRBdHRyaWJ1dGUoYixJLFQpLE49VC8zLHc9Ti0xLEM9KE8tMikvMyxFPUMrMSxMW1UrK109RSxMW1UrK109QyxMW1UrK109dyxMW1UrK109TixUKz0zLE8tPTM7bi5wdXNoKFQvMyl9ZWxzZSBuLnB1c2goVC8zLChPLTIpLzMpO3JldHVybiBMW1UrK109VC8zLExbVSsrXT0oTy0yKS8zLHMucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpifSkse2F0dHJpYnV0ZXM6cyxpbmRpY2VzOkwsd2FsbEluZGljZXM6bn19ZnVuY3Rpb24gY0wodCl7bGV0IGU9dC5lbGxpcHNvaWQsbj1xZS5jb21wdXRlUG9zaXRpb25zKHQpLG89bE8obix0LmNvcm5lclR5cGUpLHI9by53YWxsSW5kaWNlcyxpPXQuaGVpZ2h0LHM9dC5leHRydWRlZEhlaWdodCxmPW8uYXR0cmlidXRlcyx1PW8uaW5kaWNlcyxjPWYucG9zaXRpb24udmFsdWVzLGw9Yy5sZW5ndGgscD1uZXcgRmxvYXQ2NEFycmF5KGwpO3Auc2V0KGMpO2xldCBkPW5ldyBGbG9hdDY0QXJyYXkobCoyKTtpZihjPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChjLGksZSkscD1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQocCxzLGUpLGQuc2V0KGMpLGQuc2V0KHAsbCksZi5wb3NpdGlvbi52YWx1ZXM9ZCxsLz0zLGgodC5vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgRT1uZXcgVWludDhBcnJheShsKjIpO2lmKHQub2Zmc2V0QXR0cmlidXRlPT09ZmUuVE9QKUU9RS5maWxsKDEsMCxsKTtlbHNle2xldCB3PXQub2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjE7RT1FLmZpbGwodyl9Zi5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpFfSl9bGV0IG0sXz11Lmxlbmd0aCxnPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZC5sZW5ndGgvMywoXytyLmxlbmd0aCkqMik7Zy5zZXQodSk7bGV0IGI9Xztmb3IobT0wO208XzttKz0yKXtsZXQgRT11W21dLHc9dVttKzFdO2dbYisrXT1FK2wsZ1tiKytdPXcrbH1sZXQgVCxPO2ZvcihtPTA7bTxyLmxlbmd0aDttKyspVD1yW21dLE89VCtsLGdbYisrXT1ULGdbYisrXT1PO3JldHVybnthdHRyaWJ1dGVzOmYsaW5kaWNlczpnfX1mdW5jdGlvbiBqZih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnMsbj10LndpZHRoO3kudHlwZU9mLm9iamVjdCgib3B0aW9ucy5wb3NpdGlvbnMiLGUpLHkudHlwZU9mLm51bWJlcigib3B0aW9ucy53aWR0aCIsbik7bGV0IG89eCh0LmhlaWdodCwwKSxyPXgodC5leHRydWRlZEhlaWdodCxvKTt0aGlzLl9wb3NpdGlvbnM9ZSx0aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZSh4KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkpLHRoaXMuX3dpZHRoPW4sdGhpcy5faGVpZ2h0PU1hdGgubWF4KG8sciksdGhpcy5fZXh0cnVkZWRIZWlnaHQ9TWF0aC5taW4obyxyKSx0aGlzLl9jb3JuZXJUeXBlPXgodC5jb3JuZXJUeXBlLGZuLlJPVU5ERUQpLHRoaXMuX2dyYW51bGFyaXR5PXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSksdGhpcy5fb2Zmc2V0QXR0cmlidXRlPXQub2Zmc2V0QXR0cmlidXRlLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUNvcnJpZG9yT3V0bGluZUdlb21ldHJ5Iix0aGlzLnBhY2tlZExlbmd0aD0xK2UubGVuZ3RoKmEucGFja2VkTGVuZ3RoKyQucGFja2VkTGVuZ3RoKzZ9dmFyIGZPLHVPLGlMLHBPLHlzLHJfLGRPPVooKCk9PntqcigpO3ZlKCk7RnQoKTtYdCgpO0ZlKCk7aGMoKTtKMCgpO0l0KCk7ZnQoKTtadCgpO1hlKCk7WWUoKTthbigpO0xvKCk7JGUoKTtXdCgpO3FyKCk7dG4oKTtmTz1uZXcgYSx1Tz1uZXcgYSxpTD1uZXcgYTtqZi5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LnR5cGVPZi5vYmplY3QoImFycmF5IixlKSxuPXgobiwwKTtsZXQgbz10Ll9wb3NpdGlvbnMscj1vLmxlbmd0aDtlW24rK109cjtmb3IobGV0IGk9MDtpPHI7KytpLG4rPWEucGFja2VkTGVuZ3RoKWEucGFjayhvW2ldLGUsbik7cmV0dXJuICQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxlW24rK109dC5fd2lkdGgsZVtuKytdPXQuX2hlaWdodCxlW24rK109dC5fZXh0cnVkZWRIZWlnaHQsZVtuKytdPXQuX2Nvcm5lclR5cGUsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O3BPPSQuY2xvbmUoJC5VTklUX1NQSEVSRSkseXM9e3Bvc2l0aW9uczp2b2lkIDAsZWxsaXBzb2lkOnBPLHdpZHRoOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxjb3JuZXJUeXBlOnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07amYudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz10W2UrK10scj1uZXcgQXJyYXkobyk7Zm9yKGxldCBkPTA7ZDxvOysrZCxlKz1hLnBhY2tlZExlbmd0aClyW2RdPWEudW5wYWNrKHQsZSk7bGV0IGk9JC51bnBhY2sodCxlLHBPKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgcz10W2UrK10sZj10W2UrK10sdT10W2UrK10sYz10W2UrK10sbD10W2UrK10scD10W2VdO3JldHVybiBoKG4pPyhuLl9wb3NpdGlvbnM9cixuLl9lbGxpcHNvaWQ9JC5jbG9uZShpLG4uX2VsbGlwc29pZCksbi5fd2lkdGg9cyxuLl9oZWlnaHQ9ZixuLl9leHRydWRlZEhlaWdodD11LG4uX2Nvcm5lclR5cGU9YyxuLl9ncmFudWxhcml0eT1sLG4uX29mZnNldEF0dHJpYnV0ZT1wPT09LTE/dm9pZCAwOnAsbik6KHlzLnBvc2l0aW9ucz1yLHlzLndpZHRoPXMseXMuaGVpZ2h0PWYseXMuZXh0cnVkZWRIZWlnaHQ9dSx5cy5jb3JuZXJUeXBlPWMseXMuZ3JhbnVsYXJpdHk9bCx5cy5vZmZzZXRBdHRyaWJ1dGU9cD09PS0xP3ZvaWQgMDpwLG5ldyBqZih5cykpfTtqZi5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9wb3NpdGlvbnMsbj10Ll93aWR0aCxvPXQuX2VsbGlwc29pZDtlPXNMKGUsbyk7bGV0IHI9eG4oZSxhLmVxdWFsc0Vwc2lsb24pO2lmKHIubGVuZ3RoPDJ8fG48PTApcmV0dXJuO2xldCBpPXQuX2hlaWdodCxzPXQuX2V4dHJ1ZGVkSGVpZ2h0LGY9IU0uZXF1YWxzRXBzaWxvbihpLHMsMCxNLkVQU0lMT04yKSx1PXtlbGxpcHNvaWQ6byxwb3NpdGlvbnM6cix3aWR0aDpuLGNvcm5lclR5cGU6dC5fY29ybmVyVHlwZSxncmFudWxhcml0eTp0Ll9ncmFudWxhcml0eSxzYXZlQXR0cmlidXRlczohMX0sYztpZihmKXUuaGVpZ2h0PWksdS5leHRydWRlZEhlaWdodD1zLHUub2Zmc2V0QXR0cmlidXRlPXQuX29mZnNldEF0dHJpYnV0ZSxjPWNMKHUpO2Vsc2V7bGV0IGQ9cWUuY29tcHV0ZVBvc2l0aW9ucyh1KTtpZihjPWxPKGQsdS5jb3JuZXJUeXBlKSxjLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChjLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLGksbyksaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgbT1jLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aCxfPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxLGc9bmV3IFVpbnQ4QXJyYXkobS8zKS5maWxsKF8pO2MuYXR0cmlidXRlcy5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpnfSl9fWxldCBsPWMuYXR0cmlidXRlcyxwPUF0LmZyb21WZXJ0aWNlcyhsLnBvc2l0aW9uLnZhbHVlcyx2b2lkIDAsMyk7cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpsLGluZGljZXM6Yy5pbmRpY2VzLHByaW1pdGl2ZVR5cGU6QnQuTElORVMsYm91bmRpbmdTcGhlcmU6cCxvZmZzZXRBdHRyaWJ1dGU6dC5fb2Zmc2V0QXR0cmlidXRlfSl9O3JfPWpmfSk7dmFyIGlfPXt9O2RlKGlfLHtkZWZhdWx0OigpPT5mTH0pO2Z1bmN0aW9uIGFMKHQsZSl7cmV0dXJuIGgoZSkmJih0PXJfLnVucGFjayh0LGUpKSx0Ll9lbGxpcHNvaWQ9JC5jbG9uZSh0Ll9lbGxpcHNvaWQpLHJfLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBmTCxzXz1aKCgpPT57ZE8oKTtmdCgpO1p0KCk7Zkw9YUx9KTt2YXIgbU8sQWQsY189WigoKT0+e1d0KCk7bU89e307bU8uY29tcHV0ZVBvc2l0aW9ucz1mdW5jdGlvbih0LGUsbixvLHIpe2xldCBpPXQqLjUscz0taSxmPW8rbyx1PXI/MipmOmYsYz1uZXcgRmxvYXQ2NEFycmF5KHUqMyksbCxwPTAsZD0wLG09cj9mKjM6MCxfPXI/KGYrbykqMzpvKjM7Zm9yKGw9MDtsPG87bCsrKXtsZXQgZz1sL28qTS5UV09fUEksYj1NYXRoLmNvcyhnKSxUPU1hdGguc2luKGcpLE89YipuLEU9VCpuLHc9YiplLEM9VCplO2NbZCttXT1PLGNbZCttKzFdPUUsY1tkK20rMl09cyxjW2QrX109dyxjW2QrXysxXT1DLGNbZCtfKzJdPWksZCs9MyxyJiYoY1twKytdPU8sY1twKytdPUUsY1twKytdPXMsY1twKytdPXcsY1twKytdPUMsY1twKytdPWkpfXJldHVybiBjfTtBZD1tT30pO2Z1bmN0aW9uIEdpKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10Lmxlbmd0aCxuPXQudG9wUmFkaXVzLG89dC5ib3R0b21SYWRpdXMscj14KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpLGk9eCh0LnNsaWNlcywxMjgpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJvcHRpb25zLmxlbmd0aCBtdXN0IGJlIGRlZmluZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoIm9wdGlvbnMudG9wUmFkaXVzIG11c3QgYmUgZGVmaW5lZC4iKTtpZighaChvKSl0aHJvdyBuZXcgRigib3B0aW9ucy5ib3R0b21SYWRpdXMgbXVzdCBiZSBkZWZpbmVkLiIpO2lmKGk8Myl0aHJvdyBuZXcgRigib3B0aW9ucy5zbGljZXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMy4iKTtpZihoKHQub2Zmc2V0QXR0cmlidXRlKSYmdC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApdGhyb3cgbmV3IEYoIkdlb21ldHJ5T2Zmc2V0QXR0cmlidXRlLlRPUCBpcyBub3QgYSBzdXBwb3J0ZWQgb3B0aW9ucy5vZmZzZXRBdHRyaWJ1dGUgZm9yIHRoaXMgZ2VvbWV0cnkuIik7dGhpcy5fbGVuZ3RoPWUsdGhpcy5fdG9wUmFkaXVzPW4sdGhpcy5fYm90dG9tUmFkaXVzPW8sdGhpcy5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKHIpLHRoaXMuX3NsaWNlcz1pLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDeWxpbmRlckdlb21ldHJ5In12YXIgYV8sdUwsbEwscEwsZEwsaE8sd2EsZl8sSGYsdV89WigoKT0+e3ZlKCk7VWUoKTtGdCgpO0ZlKCk7Y18oKTtJdCgpO2Z0KCk7SHQoKTtYZSgpO1llKCk7YW4oKTtMbygpOyRlKCk7V3QoKTt0bigpO1JvKCk7YV89bmV3IHR0LHVMPW5ldyBhLGxMPW5ldyBhLHBMPW5ldyBhLGRMPW5ldyBhO0dpLnBhY2tlZExlbmd0aD1kdC5wYWNrZWRMZW5ndGgrNTtHaS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgRigiYXJyYXkgaXMgcmVxdWlyZWQiKTtyZXR1cm4gbj14KG4sMCksZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX2xlbmd0aCxlW24rK109dC5fdG9wUmFkaXVzLGVbbisrXT10Ll9ib3R0b21SYWRpdXMsZVtuKytdPXQuX3NsaWNlcyxlW25dPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtoTz1uZXcgZHQsd2E9e3ZlcnRleEZvcm1hdDpoTyxsZW5ndGg6dm9pZCAwLHRvcFJhZGl1czp2b2lkIDAsYm90dG9tUmFkaXVzOnZvaWQgMCxzbGljZXM6dm9pZCAwLG9mZnNldEF0dHJpYnV0ZTp2b2lkIDB9O0dpLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG89ZHQudW5wYWNrKHQsZSxoTyk7ZSs9ZHQucGFja2VkTGVuZ3RoO2xldCByPXRbZSsrXSxpPXRbZSsrXSxzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZV07cmV0dXJuIGgobik/KG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShvLG4uX3ZlcnRleEZvcm1hdCksbi5fbGVuZ3RoPXIsbi5fdG9wUmFkaXVzPWksbi5fYm90dG9tUmFkaXVzPXMsbi5fc2xpY2VzPWYsbi5fb2Zmc2V0QXR0cmlidXRlPXU9PT0tMT92b2lkIDA6dSxuKTood2EubGVuZ3RoPXIsd2EudG9wUmFkaXVzPWksd2EuYm90dG9tUmFkaXVzPXMsd2Euc2xpY2VzPWYsd2Eub2Zmc2V0QXR0cmlidXRlPXU9PT0tMT92b2lkIDA6dSxuZXcgR2kod2EpKX07R2kuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fbGVuZ3RoLG49dC5fdG9wUmFkaXVzLG89dC5fYm90dG9tUmFkaXVzLHI9dC5fdmVydGV4Rm9ybWF0LGk9dC5fc2xpY2VzO2lmKGU8PTB8fG48MHx8bzwwfHxuPT09MCYmbz09PTApcmV0dXJuO2xldCBzPWkraSxmPWkrcyx1PXMrcyxjPUFkLmNvbXB1dGVQb3NpdGlvbnMoZSxuLG8saSwhMCksbD1yLnN0P25ldyBGbG9hdDMyQXJyYXkodSoyKTp2b2lkIDAscD1yLm5vcm1hbD9uZXcgRmxvYXQzMkFycmF5KHUqMyk6dm9pZCAwLGQ9ci50YW5nZW50P25ldyBGbG9hdDMyQXJyYXkodSozKTp2b2lkIDAsbT1yLmJpdGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KHUqMyk6dm9pZCAwLF8sZz1yLm5vcm1hbHx8ci50YW5nZW50fHxyLmJpdGFuZ2VudDtpZihnKXtsZXQgST1yLnRhbmdlbnR8fHIuYml0YW5nZW50LEQ9MCx2PTAsTD0wLFU9TWF0aC5hdGFuMihvLW4sZSksQT11TDtBLno9TWF0aC5zaW4oVSk7bGV0IFM9TWF0aC5jb3MoVSksUD1wTCxCPWxMO2ZvcihfPTA7XzxpO18rKyl7bGV0IGo9Xy9pKk0uVFdPX1BJLEg9UypNYXRoLmNvcyhqKSxrPVMqTWF0aC5zaW4oaik7ZyYmKEEueD1ILEEueT1rLEkmJihQPWEubm9ybWFsaXplKGEuY3Jvc3MoYS5VTklUX1osQSxQKSxQKSksci5ub3JtYWwmJihwW0QrK109QS54LHBbRCsrXT1BLnkscFtEKytdPUEueixwW0QrK109QS54LHBbRCsrXT1BLnkscFtEKytdPUEueiksci50YW5nZW50JiYoZFt2KytdPVAueCxkW3YrK109UC55LGRbdisrXT1QLnosZFt2KytdPVAueCxkW3YrK109UC55LGRbdisrXT1QLnopLHIuYml0YW5nZW50JiYoQj1hLm5vcm1hbGl6ZShhLmNyb3NzKEEsUCxCKSxCKSxtW0wrK109Qi54LG1bTCsrXT1CLnksbVtMKytdPUIueixtW0wrK109Qi54LG1bTCsrXT1CLnksbVtMKytdPUIueikpfWZvcihfPTA7XzxpO18rKylyLm5vcm1hbCYmKHBbRCsrXT0wLHBbRCsrXT0wLHBbRCsrXT0tMSksci50YW5nZW50JiYoZFt2KytdPTEsZFt2KytdPTAsZFt2KytdPTApLHIuYml0YW5nZW50JiYobVtMKytdPTAsbVtMKytdPS0xLG1bTCsrXT0wKTtmb3IoXz0wO188aTtfKyspci5ub3JtYWwmJihwW0QrK109MCxwW0QrK109MCxwW0QrK109MSksci50YW5nZW50JiYoZFt2KytdPTEsZFt2KytdPTAsZFt2KytdPTApLHIuYml0YW5nZW50JiYobVtMKytdPTAsbVtMKytdPTEsbVtMKytdPTApfWxldCBiPTEyKmktMTIsVD1EdC5jcmVhdGVUeXBlZEFycmF5KHUsYiksTz0wLEU9MDtmb3IoXz0wO188aS0xO18rKylUW08rK109RSxUW08rK109RSsyLFRbTysrXT1FKzMsVFtPKytdPUUsVFtPKytdPUUrMyxUW08rK109RSsxLEUrPTI7Zm9yKFRbTysrXT1zLTIsVFtPKytdPTAsVFtPKytdPTEsVFtPKytdPXMtMixUW08rK109MSxUW08rK109cy0xLF89MTtfPGktMTtfKyspVFtPKytdPXMrXysxLFRbTysrXT1zK18sVFtPKytdPXM7Zm9yKF89MTtfPGktMTtfKyspVFtPKytdPWYsVFtPKytdPWYrXyxUW08rK109ZitfKzE7bGV0IHc9MDtpZihyLnN0KXtsZXQgST1NYXRoLm1heChuLG8pO2ZvcihfPTA7Xzx1O18rKyl7bGV0IEQ9YS5mcm9tQXJyYXkoYyxfKjMsZEwpO2xbdysrXT0oRC54K0kpLygyKkkpLGxbdysrXT0oRC55K0kpLygyKkkpfX1sZXQgQz1uZXcgaWU7ci5wb3NpdGlvbiYmKEMucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpjfSkpLHIubm9ybWFsJiYoQy5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnB9KSksci50YW5nZW50JiYoQy50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpkfSkpLHIuYml0YW5nZW50JiYoQy5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm19KSksci5zdCYmKEMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOmx9KSksYV8ueD1lKi41LGFfLnk9TWF0aC5tYXgobyxuKTtsZXQgTj1uZXcgQXQoYS5aRVJPLHR0Lm1hZ25pdHVkZShhXykpO2lmKGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7ZT1jLmxlbmd0aDtsZXQgST10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxEPW5ldyBVaW50OEFycmF5KGUvMykuZmlsbChJKTtDLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOkR9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOkMsaW5kaWNlczpULHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOk4sb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTtHaS5nZXRVbml0Q3lsaW5kZXI9ZnVuY3Rpb24oKXtyZXR1cm4gaChmXyl8fChmXz1HaS5jcmVhdGVHZW9tZXRyeShuZXcgR2koe3RvcFJhZGl1czoxLGJvdHRvbVJhZGl1czoxLGxlbmd0aDoxLHZlcnRleEZvcm1hdDpkdC5QT1NJVElPTl9PTkxZfSkpKSxmX307SGY9R2l9KTt2YXIgbF89e307ZGUobF8se2RlZmF1bHQ6KCk9PmhMfSk7ZnVuY3Rpb24gbUwodCxlKXtyZXR1cm4gaChlKSYmKHQ9SGYudW5wYWNrKHQsZSkpLEhmLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBoTCxwXz1aKCgpPT57dV8oKTtmdCgpO2hMPW1MfSk7ZnVuY3Rpb24gT2EodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQubGVuZ3RoLG49dC50b3BSYWRpdXMsbz10LmJvdHRvbVJhZGl1cyxyPXgodC5zbGljZXMsMTI4KSxpPU1hdGgubWF4KHgodC5udW1iZXJPZlZlcnRpY2FsTGluZXMsMTYpLDApO2lmKHkudHlwZU9mLm51bWJlcigib3B0aW9ucy5wb3NpdGlvbnMiLGUpLHkudHlwZU9mLm51bWJlcigib3B0aW9ucy50b3BSYWRpdXMiLG4pLHkudHlwZU9mLm51bWJlcigib3B0aW9ucy5ib3R0b21SYWRpdXMiLG8pLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJvcHRpb25zLnNsaWNlcyIsciwzKSxoKHQub2Zmc2V0QXR0cmlidXRlKSYmdC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApdGhyb3cgbmV3IEYoIkdlb21ldHJ5T2Zmc2V0QXR0cmlidXRlLlRPUCBpcyBub3QgYSBzdXBwb3J0ZWQgb3B0aW9ucy5vZmZzZXRBdHRyaWJ1dGUgZm9yIHRoaXMgZ2VvbWV0cnkuIik7dGhpcy5fbGVuZ3RoPWUsdGhpcy5fdG9wUmFkaXVzPW4sdGhpcy5fYm90dG9tUmFkaXVzPW8sdGhpcy5fc2xpY2VzPXIsdGhpcy5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzPWksdGhpcy5fb2Zmc2V0QXR0cmlidXRlPXQub2Zmc2V0QXR0cmlidXRlLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUN5bGluZGVyT3V0bGluZUdlb21ldHJ5In12YXIgZF8seWMsbV8sX089WigoKT0+e3ZlKCk7VWUoKTtGdCgpO1h0KCk7RmUoKTtjXygpO0l0KCk7ZnQoKTtIdCgpO1hlKCk7WWUoKTthbigpO0xvKCk7JGUoKTt0bigpO2RfPW5ldyB0dDtPYS5wYWNrZWRMZW5ndGg9NjtPYS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXQuX2xlbmd0aCxlW24rK109dC5fdG9wUmFkaXVzLGVbbisrXT10Ll9ib3R0b21SYWRpdXMsZVtuKytdPXQuX3NsaWNlcyxlW24rK109dC5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzLGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O3ljPXtsZW5ndGg6dm9pZCAwLHRvcFJhZGl1czp2b2lkIDAsYm90dG9tUmFkaXVzOnZvaWQgMCxzbGljZXM6dm9pZCAwLG51bWJlck9mVmVydGljYWxMaW5lczp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07T2EudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz10W2UrK10scj10W2UrK10saT10W2UrK10scz10W2UrK10sZj10W2UrK10sdT10W2VdO3JldHVybiBoKG4pPyhuLl9sZW5ndGg9byxuLl90b3BSYWRpdXM9cixuLl9ib3R0b21SYWRpdXM9aSxuLl9zbGljZXM9cyxuLl9udW1iZXJPZlZlcnRpY2FsTGluZXM9ZixuLl9vZmZzZXRBdHRyaWJ1dGU9dT09PS0xP3ZvaWQgMDp1LG4pOih5Yy5sZW5ndGg9byx5Yy50b3BSYWRpdXM9cix5Yy5ib3R0b21SYWRpdXM9aSx5Yy5zbGljZXM9cyx5Yy5udW1iZXJPZlZlcnRpY2FsTGluZXM9Zix5Yy5vZmZzZXRBdHRyaWJ1dGU9dT09PS0xP3ZvaWQgMDp1LG5ldyBPYSh5YykpfTtPYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9sZW5ndGgsbj10Ll90b3BSYWRpdXMsbz10Ll9ib3R0b21SYWRpdXMscj10Ll9zbGljZXMsaT10Ll9udW1iZXJPZlZlcnRpY2FsTGluZXM7aWYoZTw9MHx8bjwwfHxvPDB8fG49PT0wJiZvPT09MClyZXR1cm47bGV0IHM9cioyLGY9QWQuY29tcHV0ZVBvc2l0aW9ucyhlLG4sbyxyLCExKSx1PXIqMixjO2lmKGk+MCl7bGV0IGc9TWF0aC5taW4oaSxyKTtjPU1hdGgucm91bmQoci9nKSx1Kz1nfWxldCBsPUR0LmNyZWF0ZVR5cGVkQXJyYXkocyx1KjIpLHA9MCxkO2ZvcihkPTA7ZDxyLTE7ZCsrKWxbcCsrXT1kLGxbcCsrXT1kKzEsbFtwKytdPWQrcixsW3ArK109ZCsxK3I7aWYobFtwKytdPXItMSxsW3ArK109MCxsW3ArK109cityLTEsbFtwKytdPXIsaT4wKWZvcihkPTA7ZDxyO2QrPWMpbFtwKytdPWQsbFtwKytdPWQrcjtsZXQgbT1uZXcgaWU7bS5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmZ9KSxkXy54PWUqLjUsZF8ueT1NYXRoLm1heChvLG4pO2xldCBfPW5ldyBBdChhLlpFUk8sdHQubWFnbml0dWRlKGRfKSk7aWYoaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtlPWYubGVuZ3RoO2xldCBnPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxLGI9bmV3IFVpbnQ4QXJyYXkoZS8zKS5maWxsKGcpO20uYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6Yn0pfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6bSxpbmRpY2VzOmwscHJpbWl0aXZlVHlwZTpCdC5MSU5FUyxib3VuZGluZ1NwaGVyZTpfLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07bV89T2F9KTt2YXIgaF89e307ZGUoaF8se2RlZmF1bHQ6KCk9PnlMfSk7ZnVuY3Rpb24gX0wodCxlKXtyZXR1cm4gaChlKSYmKHQ9bV8udW5wYWNrKHQsZSkpLG1fLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciB5TCxfXz1aKCgpPT57X08oKTtmdCgpO3lMPV9MfSk7dmFyIHlfPXt9O2RlKHlfLHtkZWZhdWx0OigpPT5BTH0pO2Z1bmN0aW9uIGdMKHQsZSl7cmV0dXJuIGgoZSkmJih0PUdyLnVucGFjayh0LGUpKSx0Ll9jZW50ZXI9YS5jbG9uZSh0Ll9jZW50ZXIpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksR3IuY3JlYXRlR2VvbWV0cnkodCl9dmFyIEFMLGdfPVooKCk9PntGdCgpO2Z0KCk7QTAoKTtadCgpO0FMPWdMfSk7dmFyIEFfPXt9O2RlKEFfLHtkZWZhdWx0OigpPT5UTH0pO2Z1bmN0aW9uIGJMKHQsZSl7cmV0dXJuIGgoZSkmJih0PXpyLnVucGFjayh0LGUpKSx0Ll9jZW50ZXI9YS5jbG9uZSh0Ll9jZW50ZXIpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksenIuY3JlYXRlR2VvbWV0cnkodCl9dmFyIFRMLGJfPVooKCk9PntGdCgpO2Z0KCk7TzAoKTtadCgpO1RMPWJMfSk7ZnVuY3Rpb24gemkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXgodC5yYWRpaSxDTCksbj14KHQuaW5uZXJSYWRpaSxlKSxvPXgodC5taW5pbXVtQ2xvY2ssMCkscj14KHQubWF4aW11bUNsb2NrLE0uVFdPX1BJKSxpPXgodC5taW5pbXVtQ29uZSwwKSxzPXgodC5tYXhpbXVtQ29uZSxNLlBJKSxmPU1hdGgucm91bmQoeCh0LnN0YWNrUGFydGl0aW9ucyw2NCkpLHU9TWF0aC5yb3VuZCh4KHQuc2xpY2VQYXJ0aXRpb25zLDY0KSksYz14KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpO2lmKHU8Myl0aHJvdyBuZXcgRigib3B0aW9ucy5zbGljZVBhcnRpdGlvbnMgY2Fubm90IGJlIGxlc3MgdGhhbiB0aHJlZS4iKTtpZihmPDMpdGhyb3cgbmV3IEYoIm9wdGlvbnMuc3RhY2tQYXJ0aXRpb25zIGNhbm5vdCBiZSBsZXNzIHRoYW4gdGhyZWUuIik7dGhpcy5fcmFkaWk9YS5jbG9uZShlKSx0aGlzLl9pbm5lclJhZGlpPWEuY2xvbmUobiksdGhpcy5fbWluaW11bUNsb2NrPW8sdGhpcy5fbWF4aW11bUNsb2NrPXIsdGhpcy5fbWluaW11bUNvbmU9aSx0aGlzLl9tYXhpbXVtQ29uZT1zLHRoaXMuX3N0YWNrUGFydGl0aW9ucz1mLHRoaXMuX3NsaWNlUGFydGl0aW9ucz11LHRoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShjKSx0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlRWxsaXBzb2lkR2VvbWV0cnkifXZhciB3TCxPTCxFTCxSTCxTTCxDTCx5TyxnTyxBTyxiTyxUTyxncyxUXyxzcixiZD1aKCgpPT57dmUoKTtVZSgpO0Z0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1hlKCk7WWUoKTthbigpO0xvKCk7JGUoKTtXdCgpO3RuKCk7Um8oKTt3TD1uZXcgYSxPTD1uZXcgYSxFTD1uZXcgYSxSTD1uZXcgYSxTTD1uZXcgYSxDTD1uZXcgYSgxLDEsMSkseU89TWF0aC5jb3MsZ089TWF0aC5zaW47emkucGFja2VkTGVuZ3RoPTIqYS5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RoKzc7emkucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7cmV0dXJuIG49eChuLDApLGEucGFjayh0Ll9yYWRpaSxlLG4pLG4rPWEucGFja2VkTGVuZ3RoLGEucGFjayh0Ll9pbm5lclJhZGlpLGUsbiksbis9YS5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX21pbmltdW1DbG9jayxlW24rK109dC5fbWF4aW11bUNsb2NrLGVbbisrXT10Ll9taW5pbXVtQ29uZSxlW24rK109dC5fbWF4aW11bUNvbmUsZVtuKytdPXQuX3N0YWNrUGFydGl0aW9ucyxlW24rK109dC5fc2xpY2VQYXJ0aXRpb25zLGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O0FPPW5ldyBhLGJPPW5ldyBhLFRPPW5ldyBkdCxncz17cmFkaWk6QU8saW5uZXJSYWRpaTpiTyx2ZXJ0ZXhGb3JtYXQ6VE8sbWluaW11bUNsb2NrOnZvaWQgMCxtYXhpbXVtQ2xvY2s6dm9pZCAwLG1pbmltdW1Db25lOnZvaWQgMCxtYXhpbXVtQ29uZTp2b2lkIDAsc3RhY2tQYXJ0aXRpb25zOnZvaWQgMCxzbGljZVBhcnRpdGlvbnM6dm9pZCAwLG9mZnNldEF0dHJpYnV0ZTp2b2lkIDB9O3ppLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG89YS51bnBhY2sodCxlLEFPKTtlKz1hLnBhY2tlZExlbmd0aDtsZXQgcj1hLnVucGFjayh0LGUsYk8pO2UrPWEucGFja2VkTGVuZ3RoO2xldCBpPWR0LnVucGFjayh0LGUsVE8pO2UrPWR0LnBhY2tlZExlbmd0aDtsZXQgcz10W2UrK10sZj10W2UrK10sdT10W2UrK10sYz10W2UrK10sbD10W2UrK10scD10W2UrK10sZD10W2VdO3JldHVybiBoKG4pPyhuLl9yYWRpaT1hLmNsb25lKG8sbi5fcmFkaWkpLG4uX2lubmVyUmFkaWk9YS5jbG9uZShyLG4uX2lubmVyUmFkaWkpLG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShpLG4uX3ZlcnRleEZvcm1hdCksbi5fbWluaW11bUNsb2NrPXMsbi5fbWF4aW11bUNsb2NrPWYsbi5fbWluaW11bUNvbmU9dSxuLl9tYXhpbXVtQ29uZT1jLG4uX3N0YWNrUGFydGl0aW9ucz1sLG4uX3NsaWNlUGFydGl0aW9ucz1wLG4uX29mZnNldEF0dHJpYnV0ZT1kPT09LTE/dm9pZCAwOmQsbik6KGdzLm1pbmltdW1DbG9jaz1zLGdzLm1heGltdW1DbG9jaz1mLGdzLm1pbmltdW1Db25lPXUsZ3MubWF4aW11bUNvbmU9Yyxncy5zdGFja1BhcnRpdGlvbnM9bCxncy5zbGljZVBhcnRpdGlvbnM9cCxncy5vZmZzZXRBdHRyaWJ1dGU9ZD09PS0xP3ZvaWQgMDpkLG5ldyB6aShncykpfTt6aS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9yYWRpaTtpZihlLng8PTB8fGUueTw9MHx8ZS56PD0wKXJldHVybjtsZXQgbj10Ll9pbm5lclJhZGlpO2lmKG4ueDw9MHx8bi55PD0wfHxuLno8PTApcmV0dXJuO2xldCBvPXQuX21pbmltdW1DbG9jayxyPXQuX21heGltdW1DbG9jayxpPXQuX21pbmltdW1Db25lLHM9dC5fbWF4aW11bUNvbmUsZj10Ll92ZXJ0ZXhGb3JtYXQsdT10Ll9zbGljZVBhcnRpdGlvbnMrMSxjPXQuX3N0YWNrUGFydGl0aW9ucysxO3U9TWF0aC5yb3VuZCh1Kk1hdGguYWJzKHItbykvTS5UV09fUEkpLGM9TWF0aC5yb3VuZChjKk1hdGguYWJzKHMtaSkvTS5QSSksdTwyJiYodT0yKSxjPDImJihjPTIpO2xldCBsLHAsZD0wLG09W2ldLF89W29dO2ZvcihsPTA7bDxjO2wrKyltLnB1c2goaStsKihzLWkpLyhjLTEpKTtmb3IobS5wdXNoKHMpLHA9MDtwPHU7cCsrKV8ucHVzaChvK3AqKHItbykvKHUtMSkpO18ucHVzaChyKTtsZXQgZz1tLmxlbmd0aCxiPV8ubGVuZ3RoLFQ9MCxPPTEsRT1uLnghPT1lLnh8fG4ueSE9PWUueXx8bi56IT09ZS56LHc9ITEsQz0hMSxOPSExO0UmJihPPTIsaT4wJiYodz0hMCxUKz11LTEpLHM8TWF0aC5QSSYmKEM9ITAsVCs9dS0xKSwoci1vKSVNLlRXT19QST8oTj0hMCxUKz0oYy0xKSoyKzEpOlQrPTEpO2xldCBJPWIqZypPLEQ9bmV3IEZsb2F0NjRBcnJheShJKjMpLHY9bmV3IEFycmF5KEkpLmZpbGwoITEpLEw9bmV3IEFycmF5KEkpLmZpbGwoITEpLFU9dSpjKk8sQT02KihVK1QrMS0odStjKSpPKSxTPUR0LmNyZWF0ZVR5cGVkQXJyYXkoVSxBKSxQPWYubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkoSSozKTp2b2lkIDAsQj1mLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShJKjMpOnZvaWQgMCxqPWYuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkoSSozKTp2b2lkIDAsSD1mLnN0P25ldyBGbG9hdDMyQXJyYXkoSSoyKTp2b2lkIDAsaz1uZXcgQXJyYXkoZyksSz1uZXcgQXJyYXkoZyk7Zm9yKGw9MDtsPGc7bCsrKWtbbF09Z08obVtsXSksS1tsXT15TyhtW2xdKTtsZXQgWD1uZXcgQXJyYXkoYiksUj1uZXcgQXJyYXkoYik7Zm9yKHA9MDtwPGI7cCsrKVJbcF09eU8oX1twXSksWFtwXT1nTyhfW3BdKTtmb3IobD0wO2w8ZztsKyspZm9yKHA9MDtwPGI7cCsrKURbZCsrXT1lLngqa1tsXSpSW3BdLERbZCsrXT1lLnkqa1tsXSpYW3BdLERbZCsrXT1lLnoqS1tsXTtsZXQgb3Q9SS8yO2lmKEUpZm9yKGw9MDtsPGc7bCsrKWZvcihwPTA7cDxiO3ArKylEW2QrK109bi54KmtbbF0qUltwXSxEW2QrK109bi55KmtbbF0qWFtwXSxEW2QrK109bi56KktbbF0sdltvdF09ITAsbD4wJiZsIT09Zy0xJiZwIT09MCYmcCE9PWItMSYmKExbb3RdPSEwKSxvdCsrO2Q9MDtsZXQgYXQscHQ7Zm9yKGw9MTtsPGctMjtsKyspZm9yKGF0PWwqYixwdD0obCsxKSpiLHA9MTtwPGItMjtwKyspU1tkKytdPXB0K3AsU1tkKytdPXB0K3ArMSxTW2QrK109YXQrcCsxLFNbZCsrXT1wdCtwLFNbZCsrXT1hdCtwKzEsU1tkKytdPWF0K3A7aWYoRSl7bGV0IHBlPWcqYjtmb3IobD0xO2w8Zy0yO2wrKylmb3IoYXQ9cGUrbCpiLHB0PXBlKyhsKzEpKmIscD0xO3A8Yi0yO3ArKylTW2QrK109cHQrcCxTW2QrK109YXQrcCxTW2QrK109YXQrcCsxLFNbZCsrXT1wdCtwLFNbZCsrXT1hdCtwKzEsU1tkKytdPXB0K3ArMX1sZXQgeXQscnQ7aWYoRSl7aWYodylmb3IocnQ9ZypiLGw9MTtsPGItMjtsKyspU1tkKytdPWwsU1tkKytdPWwrMSxTW2QrK109cnQrbCsxLFNbZCsrXT1sLFNbZCsrXT1ydCtsKzEsU1tkKytdPXJ0K2w7aWYoQylmb3IoeXQ9ZypiLWIscnQ9ZypiKk8tYixsPTE7bDxiLTI7bCsrKVNbZCsrXT15dCtsKzEsU1tkKytdPXl0K2wsU1tkKytdPXJ0K2wsU1tkKytdPXl0K2wrMSxTW2QrK109cnQrbCxTW2QrK109cnQrbCsxfWlmKE4pe2ZvcihsPTE7bDxnLTI7bCsrKXJ0PWIqZytiKmwseXQ9YipsLFNbZCsrXT1ydCxTW2QrK109eXQrYixTW2QrK109eXQsU1tkKytdPXJ0LFNbZCsrXT1ydCtiLFNbZCsrXT15dCtiO2ZvcihsPTE7bDxnLTI7bCsrKXJ0PWIqZytiKihsKzEpLTEseXQ9YioobCsxKS0xLFNbZCsrXT15dCtiLFNbZCsrXT1ydCxTW2QrK109eXQsU1tkKytdPXl0K2IsU1tkKytdPXJ0K2IsU1tkKytdPXJ0fWxldCBQdD1uZXcgaWU7Zi5wb3NpdGlvbiYmKFB0LnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6RH0pKTtsZXQgZ3Q9MCxDdD0wLG10PTAsdXQ9MCx2dD1JLzIsenQsbWU9JC5mcm9tQ2FydGVzaWFuMyhlKSxhZT0kLmZyb21DYXJ0ZXNpYW4zKG4pO2lmKGYuc3R8fGYubm9ybWFsfHxmLnRhbmdlbnR8fGYuYml0YW5nZW50KXtmb3IobD0wO2w8STtsKyspe3p0PXZbbF0/YWU6bWU7bGV0IHBlPWEuZnJvbUFycmF5KEQsbCozLHdMKSx1ZT16dC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwocGUsT0wpO2lmKExbbF0mJmEubmVnYXRlKHVlLHVlKSxmLnN0KXtsZXQgUXQ9dHQubmVnYXRlKHVlLFNMKTtIW2d0KytdPU1hdGguYXRhbjIoUXQueSxRdC54KS9NLlRXT19QSSsuNSxIW2d0KytdPU1hdGguYXNpbih1ZS56KS9NYXRoLlBJKy41fWlmKGYubm9ybWFsJiYoUFtDdCsrXT11ZS54LFBbQ3QrK109dWUueSxQW0N0KytdPXVlLnopLGYudGFuZ2VudHx8Zi5iaXRhbmdlbnQpe2xldCBRdD1FTCxKdD0wLE5lO2lmKHZbbF0mJihKdD12dCksIXcmJmw+PUp0JiZsPEp0K2IqMj9OZT1hLlVOSVRfWDpOZT1hLlVOSVRfWixhLmNyb3NzKE5lLHVlLFF0KSxhLm5vcm1hbGl6ZShRdCxRdCksZi50YW5nZW50JiYoQlttdCsrXT1RdC54LEJbbXQrK109UXQueSxCW210KytdPVF0LnopLGYuYml0YW5nZW50KXtsZXQgZ2U9YS5jcm9zcyh1ZSxRdCxSTCk7YS5ub3JtYWxpemUoZ2UsZ2UpLGpbdXQrK109Z2UueCxqW3V0KytdPWdlLnksalt1dCsrXT1nZS56fX19Zi5zdCYmKFB0LnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpIfSkpLGYubm9ybWFsJiYoUHQubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpQfSkpLGYudGFuZ2VudCYmKFB0LnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkJ9KSksZi5iaXRhbmdlbnQmJihQdC5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmp9KSl9aWYoaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgcGU9RC5sZW5ndGgsdWU9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsUXQ9bmV3IFVpbnQ4QXJyYXkocGUvMykuZmlsbCh1ZSk7UHQuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6UXR9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOlB0LGluZGljZXM6UyxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFUyxib3VuZGluZ1NwaGVyZTpBdC5mcm9tRWxsaXBzb2lkKG1lKSxvZmZzZXRBdHRyaWJ1dGU6dC5fb2Zmc2V0QXR0cmlidXRlfSl9O3ppLmdldFVuaXRFbGxpcHNvaWQ9ZnVuY3Rpb24oKXtyZXR1cm4gaChUXyl8fChUXz16aS5jcmVhdGVHZW9tZXRyeShuZXcgemkoe3JhZGlpOm5ldyBhKDEsMSwxKSx2ZXJ0ZXhGb3JtYXQ6ZHQuUE9TSVRJT05fT05MWX0pKSksVF99O3NyPXppfSk7dmFyIHdfPXt9O2RlKHdfLHtkZWZhdWx0OigpPT5QTH0pO2Z1bmN0aW9uIHhMKHQsZSl7cmV0dXJuIGgoZSkmJih0PXNyLnVucGFjayh0LGUpKSxzci5jcmVhdGVHZW9tZXRyeSh0KX12YXIgUEwsT189WigoKT0+e2Z0KCk7YmQoKTtQTD14TH0pO2Z1bmN0aW9uIEVhKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT14KHQucmFkaWksTUwpLG49eCh0LmlubmVyUmFkaWksZSksbz14KHQubWluaW11bUNsb2NrLDApLHI9eCh0Lm1heGltdW1DbG9jayxNLlRXT19QSSksaT14KHQubWluaW11bUNvbmUsMCkscz14KHQubWF4aW11bUNvbmUsTS5QSSksZj1NYXRoLnJvdW5kKHgodC5zdGFja1BhcnRpdGlvbnMsMTApKSx1PU1hdGgucm91bmQoeCh0LnNsaWNlUGFydGl0aW9ucyw4KSksYz1NYXRoLnJvdW5kKHgodC5zdWJkaXZpc2lvbnMsMTI4KSk7aWYoZjwxKXRocm93IG5ldyBGKCJvcHRpb25zLnN0YWNrUGFydGl0aW9ucyBjYW5ub3QgYmUgbGVzcyB0aGFuIDEiKTtpZih1PDApdGhyb3cgbmV3IEYoIm9wdGlvbnMuc2xpY2VQYXJ0aXRpb25zIGNhbm5vdCBiZSBsZXNzIHRoYW4gMCIpO2lmKGM8MCl0aHJvdyBuZXcgRigib3B0aW9ucy5zdWJkaXZpc2lvbnMgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gemVyby4iKTtpZihoKHQub2Zmc2V0QXR0cmlidXRlKSYmdC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApdGhyb3cgbmV3IEYoIkdlb21ldHJ5T2Zmc2V0QXR0cmlidXRlLlRPUCBpcyBub3QgYSBzdXBwb3J0ZWQgb3B0aW9ucy5vZmZzZXRBdHRyaWJ1dGUgZm9yIHRoaXMgZ2VvbWV0cnkuIik7dGhpcy5fcmFkaWk9YS5jbG9uZShlKSx0aGlzLl9pbm5lclJhZGlpPWEuY2xvbmUobiksdGhpcy5fbWluaW11bUNsb2NrPW8sdGhpcy5fbWF4aW11bUNsb2NrPXIsdGhpcy5fbWluaW11bUNvbmU9aSx0aGlzLl9tYXhpbXVtQ29uZT1zLHRoaXMuX3N0YWNrUGFydGl0aW9ucz1mLHRoaXMuX3NsaWNlUGFydGl0aW9ucz11LHRoaXMuX3N1YmRpdmlzaW9ucz1jLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVFbGxpcHNvaWRPdXRsaW5lR2VvbWV0cnkifXZhciBNTCxUZCx3ZCx3TyxPTyxqaSxXcixFXz1aKCgpPT57dmUoKTtGdCgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtMbygpOyRlKCk7V3QoKTt0bigpO01MPW5ldyBhKDEsMSwxKSxUZD1NYXRoLmNvcyx3ZD1NYXRoLnNpbjtFYS5wYWNrZWRMZW5ndGg9MiphLnBhY2tlZExlbmd0aCs4O0VhLnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJ2YWx1ZSBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO3JldHVybiBuPXgobiwwKSxhLnBhY2sodC5fcmFkaWksZSxuKSxuKz1hLnBhY2tlZExlbmd0aCxhLnBhY2sodC5faW5uZXJSYWRpaSxlLG4pLG4rPWEucGFja2VkTGVuZ3RoLGVbbisrXT10Ll9taW5pbXVtQ2xvY2ssZVtuKytdPXQuX21heGltdW1DbG9jayxlW24rK109dC5fbWluaW11bUNvbmUsZVtuKytdPXQuX21heGltdW1Db25lLGVbbisrXT10Ll9zdGFja1BhcnRpdGlvbnMsZVtuKytdPXQuX3NsaWNlUGFydGl0aW9ucyxlW24rK109dC5fc3ViZGl2aXNpb25zLGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O3dPPW5ldyBhLE9PPW5ldyBhLGppPXtyYWRpaTp3Tyxpbm5lclJhZGlpOk9PLG1pbmltdW1DbG9jazp2b2lkIDAsbWF4aW11bUNsb2NrOnZvaWQgMCxtaW5pbXVtQ29uZTp2b2lkIDAsbWF4aW11bUNvbmU6dm9pZCAwLHN0YWNrUGFydGl0aW9uczp2b2lkIDAsc2xpY2VQYXJ0aXRpb25zOnZvaWQgMCxzdWJkaXZpc2lvbnM6dm9pZCAwLG9mZnNldEF0dHJpYnV0ZTp2b2lkIDB9O0VhLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG89YS51bnBhY2sodCxlLHdPKTtlKz1hLnBhY2tlZExlbmd0aDtsZXQgcj1hLnVucGFjayh0LGUsT08pO2UrPWEucGFja2VkTGVuZ3RoO2xldCBpPXRbZSsrXSxzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZSsrXSxjPXRbZSsrXSxsPXRbZSsrXSxwPXRbZSsrXSxkPXRbZV07cmV0dXJuIGgobik/KG4uX3JhZGlpPWEuY2xvbmUobyxuLl9yYWRpaSksbi5faW5uZXJSYWRpaT1hLmNsb25lKHIsbi5faW5uZXJSYWRpaSksbi5fbWluaW11bUNsb2NrPWksbi5fbWF4aW11bUNsb2NrPXMsbi5fbWluaW11bUNvbmU9ZixuLl9tYXhpbXVtQ29uZT11LG4uX3N0YWNrUGFydGl0aW9ucz1jLG4uX3NsaWNlUGFydGl0aW9ucz1sLG4uX3N1YmRpdmlzaW9ucz1wLG4uX29mZnNldEF0dHJpYnV0ZT1kPT09LTE/dm9pZCAwOmQsbik6KGppLm1pbmltdW1DbG9jaz1pLGppLm1heGltdW1DbG9jaz1zLGppLm1pbmltdW1Db25lPWYsamkubWF4aW11bUNvbmU9dSxqaS5zdGFja1BhcnRpdGlvbnM9YyxqaS5zbGljZVBhcnRpdGlvbnM9bCxqaS5zdWJkaXZpc2lvbnM9cCxqaS5vZmZzZXRBdHRyaWJ1dGU9ZD09PS0xP3ZvaWQgMDpkLG5ldyBFYShqaSkpfTtFYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9yYWRpaTtpZihlLng8PTB8fGUueTw9MHx8ZS56PD0wKXJldHVybjtsZXQgbj10Ll9pbm5lclJhZGlpO2lmKG4ueDw9MHx8bi55PD0wfHxuLno8PTApcmV0dXJuO2xldCBvPXQuX21pbmltdW1DbG9jayxyPXQuX21heGltdW1DbG9jayxpPXQuX21pbmltdW1Db25lLHM9dC5fbWF4aW11bUNvbmUsZj10Ll9zdWJkaXZpc2lvbnMsdT0kLmZyb21DYXJ0ZXNpYW4zKGUpLGM9dC5fc2xpY2VQYXJ0aXRpb25zKzEsbD10Ll9zdGFja1BhcnRpdGlvbnMrMTtjPU1hdGgucm91bmQoYypNYXRoLmFicyhyLW8pL00uVFdPX1BJKSxsPU1hdGgucm91bmQobCpNYXRoLmFicyhzLWkpL00uUEkpLGM8MiYmKGM9MiksbDwyJiYobD0yKTtsZXQgcD0wLGQ9MSxtPW4ueCE9PWUueHx8bi55IT09ZS55fHxuLnohPT1lLnosXz0hMSxnPSExO20mJihkPTIsaT4wJiYoXz0hMCxwKz1jKSxzPE1hdGguUEkmJihnPSEwLHArPWMpKTtsZXQgYj1mKmQqKGwrYyksVD1uZXcgRmxvYXQ2NEFycmF5KGIqMyksTz0yKihiK3AtKGMrbCkqZCksRT1EdC5jcmVhdGVUeXBlZEFycmF5KGIsTyksdyxDLE4sSSxEPTAsdj1uZXcgQXJyYXkobCksTD1uZXcgQXJyYXkobCk7Zm9yKHc9MDt3PGw7dysrKUk9aSt3KihzLWkpLyhsLTEpLHZbd109d2QoSSksTFt3XT1UZChJKTtsZXQgVT1uZXcgQXJyYXkoZiksQT1uZXcgQXJyYXkoZik7Zm9yKHc9MDt3PGY7dysrKU49byt3KihyLW8pLyhmLTEpLFVbd109d2QoTiksQVt3XT1UZChOKTtmb3Iodz0wO3c8bDt3KyspZm9yKEM9MDtDPGY7QysrKVRbRCsrXT1lLngqdlt3XSpBW0NdLFRbRCsrXT1lLnkqdlt3XSpVW0NdLFRbRCsrXT1lLnoqTFt3XTtpZihtKWZvcih3PTA7dzxsO3crKylmb3IoQz0wO0M8ZjtDKyspVFtEKytdPW4ueCp2W3ddKkFbQ10sVFtEKytdPW4ueSp2W3ddKlVbQ10sVFtEKytdPW4ueipMW3ddO2Zvcih2Lmxlbmd0aD1mLEwubGVuZ3RoPWYsdz0wO3c8Zjt3KyspST1pK3cqKHMtaSkvKGYtMSksdlt3XT13ZChJKSxMW3ddPVRkKEkpO2ZvcihVLmxlbmd0aD1jLEEubGVuZ3RoPWMsdz0wO3c8Yzt3KyspTj1vK3cqKHItbykvKGMtMSksVVt3XT13ZChOKSxBW3ddPVRkKE4pO2Zvcih3PTA7dzxmO3crKylmb3IoQz0wO0M8YztDKyspVFtEKytdPWUueCp2W3ddKkFbQ10sVFtEKytdPWUueSp2W3ddKlVbQ10sVFtEKytdPWUueipMW3ddO2lmKG0pZm9yKHc9MDt3PGY7dysrKWZvcihDPTA7QzxjO0MrKylUW0QrK109bi54KnZbd10qQVtDXSxUW0QrK109bi55KnZbd10qVVtDXSxUW0QrK109bi56Kkxbd107Zm9yKEQ9MCx3PTA7dzxsKmQ7dysrKXtsZXQgQj13KmY7Zm9yKEM9MDtDPGYtMTtDKyspRVtEKytdPUIrQyxFW0QrK109QitDKzF9bGV0IFM9bCpmKmQ7Zm9yKHc9MDt3PGM7dysrKWZvcihDPTA7QzxmLTE7QysrKUVbRCsrXT1TK3crQypjLEVbRCsrXT1TK3crKEMrMSkqYztpZihtKWZvcihTPWwqZipkK2MqZix3PTA7dzxjO3crKylmb3IoQz0wO0M8Zi0xO0MrKylFW0QrK109Uyt3K0MqYyxFW0QrK109Uyt3KyhDKzEpKmM7aWYobSl7bGV0IEI9bCpmKmQsaj1CK2YqYztpZihfKWZvcih3PTA7dzxjO3crKylFW0QrK109Qit3LEVbRCsrXT1qK3c7aWYoZylmb3IoQis9ZipjLWMsais9ZipjLWMsdz0wO3c8Yzt3KyspRVtEKytdPUIrdyxFW0QrK109ait3fWxldCBQPW5ldyBpZSh7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpUfSl9KTtpZihoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBCPVQubGVuZ3RoLGo9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsSD1uZXcgVWludDhBcnJheShCLzMpLmZpbGwoaik7UC5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpIfSl9cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpQLGluZGljZXM6RSxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOkF0LmZyb21FbGxpcHNvaWQodSksb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTtXcj1FYX0pO3ZhciBSXz17fTtkZShSXyx7ZGVmYXVsdDooKT0+SUx9KTtmdW5jdGlvbiBOTCh0LGUpe3JldHVybiBoKHQuYnVmZmVyLGUpJiYodD1Xci51bnBhY2sodCxlKSksV3IuY3JlYXRlR2VvbWV0cnkodCl9dmFyIElMLFNfPVooKCk9PntmdCgpO0VfKCk7SUw9Tkx9KTtmdW5jdGlvbiBPcih0KXt0aGlzLnBsYW5lcz14KHQsW10pfXZhciBxZixBcyx2TCxFTyxPZCxDXz1aKCgpPT57RnQoKTtocigpO0l0KCk7ZnQoKTtIdCgpO2tzKCk7ZnMoKTtxZj1bbmV3IGEsbmV3IGEsbmV3IGFdO2EuY2xvbmUoYS5VTklUX1gscWZbMF0pO2EuY2xvbmUoYS5VTklUX1kscWZbMV0pO2EuY2xvbmUoYS5VTklUX1oscWZbMl0pO0FzPW5ldyBhLHZMPW5ldyBhLEVPPW5ldyBvbihuZXcgYSgxLDAsMCksMCk7T3IuZnJvbUJvdW5kaW5nU3BoZXJlPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEYoImJvdW5kaW5nU3BoZXJlIGlzIHJlcXVpcmVkLiIpO2goZSl8fChlPW5ldyBPcik7bGV0IG49cWYubGVuZ3RoLG89ZS5wbGFuZXM7by5sZW5ndGg9MipuO2xldCByPXQuY2VudGVyLGk9dC5yYWRpdXMscz0wO2ZvcihsZXQgZj0wO2Y8bjsrK2Ype2xldCB1PXFmW2ZdLGM9b1tzXSxsPW9bcysxXTtoKGMpfHwoYz1vW3NdPW5ldyBoZSksaChsKXx8KGw9b1tzKzFdPW5ldyBoZSksYS5tdWx0aXBseUJ5U2NhbGFyKHUsLWksQXMpLGEuYWRkKHIsQXMsQXMpLGMueD11LngsYy55PXUueSxjLno9dS56LGMudz0tYS5kb3QodSxBcyksYS5tdWx0aXBseUJ5U2NhbGFyKHUsaSxBcyksYS5hZGQocixBcyxBcyksbC54PS11LngsbC55PS11LnksbC56PS11LnosbC53PS1hLmRvdChhLm5lZ2F0ZSh1LHZMKSxBcykscys9Mn1yZXR1cm4gZX07T3IucHJvdG90eXBlLmNvbXB1dGVWaXNpYmlsaXR5PWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBGKCJib3VuZGluZ1ZvbHVtZSBpcyByZXF1aXJlZC4iKTtsZXQgZT10aGlzLnBsYW5lcyxuPSExO2ZvcihsZXQgbz0wLHI9ZS5sZW5ndGg7bzxyOysrbyl7bGV0IGk9dC5pbnRlcnNlY3RQbGFuZShvbi5mcm9tQ2FydGVzaWFuNChlW29dLEVPKSk7aWYoaT09PVNuLk9VVFNJREUpcmV0dXJuIFNuLk9VVFNJREU7aT09PVNuLklOVEVSU0VDVElORyYmKG49ITApfXJldHVybiBuP1NuLklOVEVSU0VDVElORzpTbi5JTlNJREV9O09yLnByb3RvdHlwZS5jb21wdXRlVmlzaWJpbGl0eVdpdGhQbGFuZU1hc2s9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgRigiYm91bmRpbmdWb2x1bWUgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoInBhcmVudFBsYW5lTWFzayBpcyByZXF1aXJlZC4iKTtpZihlPT09T3IuTUFTS19PVVRTSURFfHxlPT09T3IuTUFTS19JTlNJREUpcmV0dXJuIGU7bGV0IG49T3IuTUFTS19JTlNJREUsbz10aGlzLnBsYW5lcztmb3IobGV0IHI9MCxpPW8ubGVuZ3RoO3I8aTsrK3Ipe2xldCBzPXI8MzE/MTw8cjowO2lmKHI8MzEmJiEoZSZzKSljb250aW51ZTtsZXQgZj10LmludGVyc2VjdFBsYW5lKG9uLmZyb21DYXJ0ZXNpYW40KG9bcl0sRU8pKTtpZihmPT09U24uT1VUU0lERSlyZXR1cm4gT3IuTUFTS19PVVRTSURFO2Y9PT1Tbi5JTlRFUlNFQ1RJTkcmJihufD1zKX1yZXR1cm4gbn07T3IuTUFTS19PVVRTSURFPTQyOTQ5NjcyOTU7T3IuTUFTS19JTlNJREU9MDtPci5NQVNLX0lOREVURVJNSU5BVEU9MjE0NzQ4MzY0NztPZD1Pcn0pO2Z1bmN0aW9uIGxpKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx0aGlzLmxlZnQ9dC5sZWZ0LHRoaXMuX2xlZnQ9dm9pZCAwLHRoaXMucmlnaHQ9dC5yaWdodCx0aGlzLl9yaWdodD12b2lkIDAsdGhpcy50b3A9dC50b3AsdGhpcy5fdG9wPXZvaWQgMCx0aGlzLmJvdHRvbT10LmJvdHRvbSx0aGlzLl9ib3R0b209dm9pZCAwLHRoaXMubmVhcj14KHQubmVhciwxKSx0aGlzLl9uZWFyPXRoaXMubmVhcix0aGlzLmZhcj14KHQuZmFyLDVlOCksdGhpcy5fZmFyPXRoaXMuZmFyLHRoaXMuX2N1bGxpbmdWb2x1bWU9bmV3IE9kLHRoaXMuX29ydGhvZ3JhcGhpY01hdHJpeD1uZXcgc3R9ZnVuY3Rpb24gUk8odCl7aWYoIWgodC5yaWdodCl8fCFoKHQubGVmdCl8fCFoKHQudG9wKXx8IWgodC5ib3R0b20pfHwhaCh0Lm5lYXIpfHwhaCh0LmZhcikpdGhyb3cgbmV3IEYoInJpZ2h0LCBsZWZ0LCB0b3AsIGJvdHRvbSwgbmVhciwgb3IgZmFyIHBhcmFtZXRlcnMgYXJlIG5vdCBzZXQuIik7aWYodC50b3AhPT10Ll90b3B8fHQuYm90dG9tIT09dC5fYm90dG9tfHx0LmxlZnQhPT10Ll9sZWZ0fHx0LnJpZ2h0IT09dC5fcmlnaHR8fHQubmVhciE9PXQuX25lYXJ8fHQuZmFyIT09dC5fZmFyKXtpZih0LmxlZnQ+dC5yaWdodCl0aHJvdyBuZXcgRigicmlnaHQgbXVzdCBiZSBncmVhdGVyIHRoYW4gbGVmdC4iKTtpZih0LmJvdHRvbT50LnRvcCl0aHJvdyBuZXcgRigidG9wIG11c3QgYmUgZ3JlYXRlciB0aGFuIGJvdHRvbS4iKTt0Lm5lYXI8PTB8fHQubmVhcj50LmZhcix0Ll9sZWZ0PXQubGVmdCx0Ll9yaWdodD10LnJpZ2h0LHQuX3RvcD10LnRvcCx0Ll9ib3R0b209dC5ib3R0b20sdC5fbmVhcj10Lm5lYXIsdC5fZmFyPXQuZmFyLHQuX29ydGhvZ3JhcGhpY01hdHJpeD1zdC5jb21wdXRlT3J0aG9ncmFwaGljT2ZmQ2VudGVyKHQubGVmdCx0LnJpZ2h0LHQuYm90dG9tLHQudG9wLHQubmVhcix0LmZhcix0Ll9vcnRob2dyYXBoaWNNYXRyaXgpfX12YXIgTEwsREwsRkwseF8sU08sQ089WigoKT0+e0Z0KCk7aHIoKTtDXygpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7VW4oKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsaS5wcm90b3R5cGUse3Byb2plY3Rpb25NYXRyaXg6e2dldDpmdW5jdGlvbigpe3JldHVybiBSTyh0aGlzKSx0aGlzLl9vcnRob2dyYXBoaWNNYXRyaXh9fX0pO0xMPW5ldyBhLERMPW5ldyBhLEZMPW5ldyBhLHhfPW5ldyBhO2xpLnByb3RvdHlwZS5jb21wdXRlQ3VsbGluZ1ZvbHVtZT1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInBvc2l0aW9uIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJkaXJlY3Rpb24gaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoInVwIGlzIHJlcXVpcmVkLiIpO2xldCBvPXRoaXMuX2N1bGxpbmdWb2x1bWUucGxhbmVzLHI9dGhpcy50b3AsaT10aGlzLmJvdHRvbSxzPXRoaXMucmlnaHQsZj10aGlzLmxlZnQsdT10aGlzLm5lYXIsYz10aGlzLmZhcixsPWEuY3Jvc3MoZSxuLExMKTthLm5vcm1hbGl6ZShsLGwpO2xldCBwPURMO2EubXVsdGlwbHlCeVNjYWxhcihlLHUscCksYS5hZGQodCxwLHApO2xldCBkPUZMO2EubXVsdGlwbHlCeVNjYWxhcihsLGYsZCksYS5hZGQocCxkLGQpO2xldCBtPW9bMF07cmV0dXJuIGgobSl8fChtPW9bMF09bmV3IGhlKSxtLng9bC54LG0ueT1sLnksbS56PWwueixtLnc9LWEuZG90KGwsZCksYS5tdWx0aXBseUJ5U2NhbGFyKGwscyxkKSxhLmFkZChwLGQsZCksbT1vWzFdLGgobSl8fChtPW9bMV09bmV3IGhlKSxtLng9LWwueCxtLnk9LWwueSxtLno9LWwueixtLnc9LWEuZG90KGEubmVnYXRlKGwseF8pLGQpLGEubXVsdGlwbHlCeVNjYWxhcihuLGksZCksYS5hZGQocCxkLGQpLG09b1syXSxoKG0pfHwobT1vWzJdPW5ldyBoZSksbS54PW4ueCxtLnk9bi55LG0uej1uLnosbS53PS1hLmRvdChuLGQpLGEubXVsdGlwbHlCeVNjYWxhcihuLHIsZCksYS5hZGQocCxkLGQpLG09b1szXSxoKG0pfHwobT1vWzNdPW5ldyBoZSksbS54PS1uLngsbS55PS1uLnksbS56PS1uLnosbS53PS1hLmRvdChhLm5lZ2F0ZShuLHhfKSxkKSxtPW9bNF0saChtKXx8KG09b1s0XT1uZXcgaGUpLG0ueD1lLngsbS55PWUueSxtLno9ZS56LG0udz0tYS5kb3QoZSxwKSxhLm11bHRpcGx5QnlTY2FsYXIoZSxjLGQpLGEuYWRkKHQsZCxkKSxtPW9bNV0saChtKXx8KG09b1s1XT1uZXcgaGUpLG0ueD0tZS54LG0ueT0tZS55LG0uej0tZS56LG0udz0tYS5kb3QoYS5uZWdhdGUoZSx4XyksZCksdGhpcy5fY3VsbGluZ1ZvbHVtZX07bGkucHJvdG90eXBlLmdldFBpeGVsRGltZW5zaW9ucz1mdW5jdGlvbih0LGUsbixvLHIpe2lmKFJPKHRoaXMpLCFoKHQpfHwhaChlKSl0aHJvdyBuZXcgRigiQm90aCBkcmF3aW5nQnVmZmVyV2lkdGggYW5kIGRyYXdpbmdCdWZmZXJIZWlnaHQgYXJlIHJlcXVpcmVkLiIpO2lmKHQ8PTApdGhyb3cgbmV3IEYoImRyYXdpbmdCdWZmZXJXaWR0aCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiIpO2lmKGU8PTApdGhyb3cgbmV3IEYoImRyYXdpbmdCdWZmZXJIZWlnaHQgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4iKTtpZighaChuKSl0aHJvdyBuZXcgRigiZGlzdGFuY2UgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEYoInBpeGVsUmF0aW8gaXMgcmVxdWlyZWQuIik7aWYobzw9MCl0aHJvdyBuZXcgRigicGl4ZWxSYXRpbyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiIpO2lmKCFoKHIpKXRocm93IG5ldyBGKCJBIHJlc3VsdCBvYmplY3QgaXMgcmVxdWlyZWQuIik7bGV0IGk9dGhpcy5yaWdodC10aGlzLmxlZnQscz10aGlzLnRvcC10aGlzLmJvdHRvbSxmPW8qaS90LHU9bypzL2U7cmV0dXJuIHIueD1mLHIueT11LHJ9O2xpLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KXx8KHQ9bmV3IGxpKSx0LmxlZnQ9dGhpcy5sZWZ0LHQucmlnaHQ9dGhpcy5yaWdodCx0LnRvcD10aGlzLnRvcCx0LmJvdHRvbT10aGlzLmJvdHRvbSx0Lm5lYXI9dGhpcy5uZWFyLHQuZmFyPXRoaXMuZmFyLHQuX2xlZnQ9dm9pZCAwLHQuX3JpZ2h0PXZvaWQgMCx0Ll90b3A9dm9pZCAwLHQuX2JvdHRvbT12b2lkIDAsdC5fbmVhcj12b2lkIDAsdC5fZmFyPXZvaWQgMCx0fTtsaS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBoKHQpJiZ0IGluc3RhbmNlb2YgbGkmJnRoaXMucmlnaHQ9PT10LnJpZ2h0JiZ0aGlzLmxlZnQ9PT10LmxlZnQmJnRoaXMudG9wPT09dC50b3AmJnRoaXMuYm90dG9tPT09dC5ib3R0b20mJnRoaXMubmVhcj09PXQubmVhciYmdGhpcy5mYXI9PT10LmZhcn07bGkucHJvdG90eXBlLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0PT09dGhpc3x8aCh0KSYmdCBpbnN0YW5jZW9mIGxpJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5yaWdodCx0LnJpZ2h0LGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLmxlZnQsdC5sZWZ0LGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLnRvcCx0LnRvcCxlLG4pJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5ib3R0b20sdC5ib3R0b20sZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMubmVhcix0Lm5lYXIsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMuZmFyLHQuZmFyLGUsbil9O1NPPWxpfSk7ZnVuY3Rpb24gdHIodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHRoaXMuX29mZkNlbnRlckZydXN0dW09bmV3IFNPLHRoaXMud2lkdGg9dC53aWR0aCx0aGlzLl93aWR0aD12b2lkIDAsdGhpcy5hc3BlY3RSYXRpbz10LmFzcGVjdFJhdGlvLHRoaXMuX2FzcGVjdFJhdGlvPXZvaWQgMCx0aGlzLm5lYXI9eCh0Lm5lYXIsMSksdGhpcy5fbmVhcj10aGlzLm5lYXIsdGhpcy5mYXI9eCh0LmZhciw1ZTgpLHRoaXMuX2Zhcj10aGlzLmZhcn1mdW5jdGlvbiBicyh0KXtpZighaCh0LndpZHRoKXx8IWgodC5hc3BlY3RSYXRpbyl8fCFoKHQubmVhcil8fCFoKHQuZmFyKSl0aHJvdyBuZXcgRigid2lkdGgsIGFzcGVjdFJhdGlvLCBuZWFyLCBvciBmYXIgcGFyYW1ldGVycyBhcmUgbm90IHNldC4iKTtsZXQgZT10Ll9vZmZDZW50ZXJGcnVzdHVtO2lmKHQud2lkdGghPT10Ll93aWR0aHx8dC5hc3BlY3RSYXRpbyE9PXQuX2FzcGVjdFJhdGlvfHx0Lm5lYXIhPT10Ll9uZWFyfHx0LmZhciE9PXQuX2Zhcil7aWYodC5hc3BlY3RSYXRpbzwwKXRocm93IG5ldyBGKCJhc3BlY3RSYXRpbyBtdXN0IGJlIHBvc2l0aXZlLiIpO2lmKHQubmVhcjwwfHx0Lm5lYXI+dC5mYXIpdGhyb3cgbmV3IEYoIm5lYXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybyBhbmQgbGVzcyB0aGFuIGZhci4iKTt0Ll9hc3BlY3RSYXRpbz10LmFzcGVjdFJhdGlvLHQuX3dpZHRoPXQud2lkdGgsdC5fbmVhcj10Lm5lYXIsdC5fZmFyPXQuZmFyO2xldCBuPTEvdC5hc3BlY3RSYXRpbztlLnJpZ2h0PXQud2lkdGgqLjUsZS5sZWZ0PS1lLnJpZ2h0LGUudG9wPW4qZS5yaWdodCxlLmJvdHRvbT0tZS50b3AsZS5uZWFyPXQubmVhcixlLmZhcj10LmZhcn19dmFyIHhvLFBfPVooKCk9PntYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7Q08oKTt0ci5wYWNrZWRMZW5ndGg9NDt0ci5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXQud2lkdGgsZVtuKytdPXQuYXNwZWN0UmF0aW8sZVtuKytdPXQubmVhcixlW25dPXQuZmFyLGV9O3RyLnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyB0ciksbi53aWR0aD10W2UrK10sbi5hc3BlY3RSYXRpbz10W2UrK10sbi5uZWFyPXRbZSsrXSxuLmZhcj10W2VdLG59O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRyLnByb3RvdHlwZSx7cHJvamVjdGlvbk1hdHJpeDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJzKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW0ucHJvamVjdGlvbk1hdHJpeH19LG9mZkNlbnRlckZydXN0dW06e2dldDpmdW5jdGlvbigpe3JldHVybiBicyh0aGlzKSx0aGlzLl9vZmZDZW50ZXJGcnVzdHVtfX19KTt0ci5wcm90b3R5cGUuY29tcHV0ZUN1bGxpbmdWb2x1bWU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBicyh0aGlzKSx0aGlzLl9vZmZDZW50ZXJGcnVzdHVtLmNvbXB1dGVDdWxsaW5nVm9sdW1lKHQsZSxuKX07dHIucHJvdG90eXBlLmdldFBpeGVsRGltZW5zaW9ucz1mdW5jdGlvbih0LGUsbixvLHIpe3JldHVybiBicyh0aGlzKSx0aGlzLl9vZmZDZW50ZXJGcnVzdHVtLmdldFBpeGVsRGltZW5zaW9ucyh0LGUsbixvLHIpfTt0ci5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIGgodCl8fCh0PW5ldyB0ciksdC5hc3BlY3RSYXRpbz10aGlzLmFzcGVjdFJhdGlvLHQud2lkdGg9dGhpcy53aWR0aCx0Lm5lYXI9dGhpcy5uZWFyLHQuZmFyPXRoaXMuZmFyLHQuX2FzcGVjdFJhdGlvPXZvaWQgMCx0Ll93aWR0aD12b2lkIDAsdC5fbmVhcj12b2lkIDAsdC5fZmFyPXZvaWQgMCx0aGlzLl9vZmZDZW50ZXJGcnVzdHVtLmNsb25lKHQuX29mZkNlbnRlckZydXN0dW0pLHR9O3RyLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIWgodCl8fCEodCBpbnN0YW5jZW9mIHRyKT8hMTooYnModGhpcyksYnModCksdGhpcy53aWR0aD09PXQud2lkdGgmJnRoaXMuYXNwZWN0UmF0aW89PT10LmFzcGVjdFJhdGlvJiZ0aGlzLl9vZmZDZW50ZXJGcnVzdHVtLmVxdWFscyh0Ll9vZmZDZW50ZXJGcnVzdHVtKSl9O3RyLnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4haCh0KXx8ISh0IGluc3RhbmNlb2YgdHIpPyExOihicyh0aGlzKSxicyh0KSxNLmVxdWFsc0Vwc2lsb24odGhpcy53aWR0aCx0LndpZHRoLGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLmFzcGVjdFJhdGlvLHQuYXNwZWN0UmF0aW8sZSxuKSYmdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5lcXVhbHNFcHNpbG9uKHQuX29mZkNlbnRlckZydXN0dW0sZSxuKSl9O3hvPXRyfSk7ZnVuY3Rpb24gcGkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHRoaXMubGVmdD10LmxlZnQsdGhpcy5fbGVmdD12b2lkIDAsdGhpcy5yaWdodD10LnJpZ2h0LHRoaXMuX3JpZ2h0PXZvaWQgMCx0aGlzLnRvcD10LnRvcCx0aGlzLl90b3A9dm9pZCAwLHRoaXMuYm90dG9tPXQuYm90dG9tLHRoaXMuX2JvdHRvbT12b2lkIDAsdGhpcy5uZWFyPXgodC5uZWFyLDEpLHRoaXMuX25lYXI9dGhpcy5uZWFyLHRoaXMuZmFyPXgodC5mYXIsNWU4KSx0aGlzLl9mYXI9dGhpcy5mYXIsdGhpcy5fY3VsbGluZ1ZvbHVtZT1uZXcgT2QsdGhpcy5fcGVyc3BlY3RpdmVNYXRyaXg9bmV3IHN0LHRoaXMuX2luZmluaXRlUGVyc3BlY3RpdmU9bmV3IHN0fWZ1bmN0aW9uIE1fKHQpe2lmKCFoKHQucmlnaHQpfHwhaCh0LmxlZnQpfHwhaCh0LnRvcCl8fCFoKHQuYm90dG9tKXx8IWgodC5uZWFyKXx8IWgodC5mYXIpKXRocm93IG5ldyBGKCJyaWdodCwgbGVmdCwgdG9wLCBib3R0b20sIG5lYXIsIG9yIGZhciBwYXJhbWV0ZXJzIGFyZSBub3Qgc2V0LiIpO2xldHt0b3A6ZSxib3R0b206bixyaWdodDpvLGxlZnQ6cixuZWFyOmksZmFyOnN9PXQ7aWYoZSE9PXQuX3RvcHx8biE9PXQuX2JvdHRvbXx8ciE9PXQuX2xlZnR8fG8hPT10Ll9yaWdodHx8aSE9PXQuX25lYXJ8fHMhPT10Ll9mYXIpe2lmKHQubmVhcjw9MHx8dC5uZWFyPnQuZmFyKXRocm93IG5ldyBGKCJuZWFyIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8gYW5kIGxlc3MgdGhhbiBmYXIuIik7dC5fbGVmdD1yLHQuX3JpZ2h0PW8sdC5fdG9wPWUsdC5fYm90dG9tPW4sdC5fbmVhcj1pLHQuX2Zhcj1zLHQuX3BlcnNwZWN0aXZlTWF0cml4PXN0LmNvbXB1dGVQZXJzcGVjdGl2ZU9mZkNlbnRlcihyLG8sbixlLGkscyx0Ll9wZXJzcGVjdGl2ZU1hdHJpeCksdC5faW5maW5pdGVQZXJzcGVjdGl2ZT1zdC5jb21wdXRlSW5maW5pdGVQZXJzcGVjdGl2ZU9mZkNlbnRlcihyLG8sbixlLGksdC5faW5maW5pdGVQZXJzcGVjdGl2ZSl9fXZhciBCTCxVTCxWTCxrTCx4TyxQTz1aKCgpPT57RnQoKTtocigpO0NfKCk7SXQoKTtmdCgpO0h0KCk7V3QoKTtVbigpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHBpLnByb3RvdHlwZSx7cHJvamVjdGlvbk1hdHJpeDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE1fKHRoaXMpLHRoaXMuX3BlcnNwZWN0aXZlTWF0cml4fX0saW5maW5pdGVQcm9qZWN0aW9uTWF0cml4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTV8odGhpcyksdGhpcy5faW5maW5pdGVQZXJzcGVjdGl2ZX19fSk7Qkw9bmV3IGEsVUw9bmV3IGEsVkw9bmV3IGEsa0w9bmV3IGE7cGkucHJvdG90eXBlLmNvbXB1dGVDdWxsaW5nVm9sdW1lPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigicG9zaXRpb24gaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImRpcmVjdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigidXAgaXMgcmVxdWlyZWQuIik7bGV0IG89dGhpcy5fY3VsbGluZ1ZvbHVtZS5wbGFuZXMscj10aGlzLnRvcCxpPXRoaXMuYm90dG9tLHM9dGhpcy5yaWdodCxmPXRoaXMubGVmdCx1PXRoaXMubmVhcixjPXRoaXMuZmFyLGw9YS5jcm9zcyhlLG4sQkwpLHA9VUw7YS5tdWx0aXBseUJ5U2NhbGFyKGUsdSxwKSxhLmFkZCh0LHAscCk7bGV0IGQ9Vkw7YS5tdWx0aXBseUJ5U2NhbGFyKGUsYyxkKSxhLmFkZCh0LGQsZCk7bGV0IG09a0w7YS5tdWx0aXBseUJ5U2NhbGFyKGwsZixtKSxhLmFkZChwLG0sbSksYS5zdWJ0cmFjdChtLHQsbSksYS5ub3JtYWxpemUobSxtKSxhLmNyb3NzKG0sbixtKSxhLm5vcm1hbGl6ZShtLG0pO2xldCBfPW9bMF07cmV0dXJuIGgoXyl8fChfPW9bMF09bmV3IGhlKSxfLng9bS54LF8ueT1tLnksXy56PW0ueixfLnc9LWEuZG90KG0sdCksYS5tdWx0aXBseUJ5U2NhbGFyKGwscyxtKSxhLmFkZChwLG0sbSksYS5zdWJ0cmFjdChtLHQsbSksYS5jcm9zcyhuLG0sbSksYS5ub3JtYWxpemUobSxtKSxfPW9bMV0saChfKXx8KF89b1sxXT1uZXcgaGUpLF8ueD1tLngsXy55PW0ueSxfLno9bS56LF8udz0tYS5kb3QobSx0KSxhLm11bHRpcGx5QnlTY2FsYXIobixpLG0pLGEuYWRkKHAsbSxtKSxhLnN1YnRyYWN0KG0sdCxtKSxhLmNyb3NzKGwsbSxtKSxhLm5vcm1hbGl6ZShtLG0pLF89b1syXSxoKF8pfHwoXz1vWzJdPW5ldyBoZSksXy54PW0ueCxfLnk9bS55LF8uej1tLnosXy53PS1hLmRvdChtLHQpLGEubXVsdGlwbHlCeVNjYWxhcihuLHIsbSksYS5hZGQocCxtLG0pLGEuc3VidHJhY3QobSx0LG0pLGEuY3Jvc3MobSxsLG0pLGEubm9ybWFsaXplKG0sbSksXz1vWzNdLGgoXyl8fChfPW9bM109bmV3IGhlKSxfLng9bS54LF8ueT1tLnksXy56PW0ueixfLnc9LWEuZG90KG0sdCksXz1vWzRdLGgoXyl8fChfPW9bNF09bmV3IGhlKSxfLng9ZS54LF8ueT1lLnksXy56PWUueixfLnc9LWEuZG90KGUscCksYS5uZWdhdGUoZSxtKSxfPW9bNV0saChfKXx8KF89b1s1XT1uZXcgaGUpLF8ueD1tLngsXy55PW0ueSxfLno9bS56LF8udz0tYS5kb3QobSxkKSx0aGlzLl9jdWxsaW5nVm9sdW1lfTtwaS5wcm90b3R5cGUuZ2V0UGl4ZWxEaW1lbnNpb25zPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoTV8odGhpcyksIWgodCl8fCFoKGUpKXRocm93IG5ldyBGKCJCb3RoIGRyYXdpbmdCdWZmZXJXaWR0aCBhbmQgZHJhd2luZ0J1ZmZlckhlaWdodCBhcmUgcmVxdWlyZWQuIik7aWYodDw9MCl0aHJvdyBuZXcgRigiZHJhd2luZ0J1ZmZlcldpZHRoIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7aWYoZTw9MCl0aHJvdyBuZXcgRigiZHJhd2luZ0J1ZmZlckhlaWdodCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiIpO2lmKCFoKG4pKXRocm93IG5ldyBGKCJkaXN0YW5jZSBpcyByZXF1aXJlZC4iKTtpZighaChvKSl0aHJvdyBuZXcgRigicGl4ZWxSYXRpbyBpcyByZXF1aXJlZCIpO2lmKG88PTApdGhyb3cgbmV3IEYoInBpeGVsUmF0aW8gbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4iKTtpZighaChyKSl0aHJvdyBuZXcgRigiQSByZXN1bHQgb2JqZWN0IGlzIHJlcXVpcmVkLiIpO2xldCBpPTEvdGhpcy5uZWFyLHM9dGhpcy50b3AqaSxmPTIqbypuKnMvZTtzPXRoaXMucmlnaHQqaTtsZXQgdT0yKm8qbipzL3Q7cmV0dXJuIHIueD11LHIueT1mLHJ9O3BpLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KXx8KHQ9bmV3IHBpKSx0LnJpZ2h0PXRoaXMucmlnaHQsdC5sZWZ0PXRoaXMubGVmdCx0LnRvcD10aGlzLnRvcCx0LmJvdHRvbT10aGlzLmJvdHRvbSx0Lm5lYXI9dGhpcy5uZWFyLHQuZmFyPXRoaXMuZmFyLHQuX2xlZnQ9dm9pZCAwLHQuX3JpZ2h0PXZvaWQgMCx0Ll90b3A9dm9pZCAwLHQuX2JvdHRvbT12b2lkIDAsdC5fbmVhcj12b2lkIDAsdC5fZmFyPXZvaWQgMCx0fTtwaS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBoKHQpJiZ0IGluc3RhbmNlb2YgcGkmJnRoaXMucmlnaHQ9PT10LnJpZ2h0JiZ0aGlzLmxlZnQ9PT10LmxlZnQmJnRoaXMudG9wPT09dC50b3AmJnRoaXMuYm90dG9tPT09dC5ib3R0b20mJnRoaXMubmVhcj09PXQubmVhciYmdGhpcy5mYXI9PT10LmZhcn07cGkucHJvdG90eXBlLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0PT09dGhpc3x8aCh0KSYmdCBpbnN0YW5jZW9mIHBpJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5yaWdodCx0LnJpZ2h0LGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLmxlZnQsdC5sZWZ0LGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLnRvcCx0LnRvcCxlLG4pJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5ib3R0b20sdC5ib3R0b20sZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMubmVhcix0Lm5lYXIsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMuZmFyLHQuZmFyLGUsbil9O3hPPXBpfSk7ZnVuY3Rpb24gZXIodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHRoaXMuX29mZkNlbnRlckZydXN0dW09bmV3IHhPLHRoaXMuZm92PXQuZm92LHRoaXMuX2Zvdj12b2lkIDAsdGhpcy5fZm92eT12b2lkIDAsdGhpcy5fc3NlRGVub21pbmF0b3I9dm9pZCAwLHRoaXMuYXNwZWN0UmF0aW89dC5hc3BlY3RSYXRpbyx0aGlzLl9hc3BlY3RSYXRpbz12b2lkIDAsdGhpcy5uZWFyPXgodC5uZWFyLDEpLHRoaXMuX25lYXI9dGhpcy5uZWFyLHRoaXMuZmFyPXgodC5mYXIsNWU4KSx0aGlzLl9mYXI9dGhpcy5mYXIsdGhpcy54T2Zmc2V0PXgodC54T2Zmc2V0LDApLHRoaXMuX3hPZmZzZXQ9dGhpcy54T2Zmc2V0LHRoaXMueU9mZnNldD14KHQueU9mZnNldCwwKSx0aGlzLl95T2Zmc2V0PXRoaXMueU9mZnNldH1mdW5jdGlvbiBYcih0KXtpZighaCh0LmZvdil8fCFoKHQuYXNwZWN0UmF0aW8pfHwhaCh0Lm5lYXIpfHwhaCh0LmZhcikpdGhyb3cgbmV3IEYoImZvdiwgYXNwZWN0UmF0aW8sIG5lYXIsIG9yIGZhciBwYXJhbWV0ZXJzIGFyZSBub3Qgc2V0LiIpO2lmKCEodC5mb3YhPT10Ll9mb3Z8fHQuYXNwZWN0UmF0aW8hPT10Ll9hc3BlY3RSYXRpb3x8dC5uZWFyIT09dC5fbmVhcnx8dC5mYXIhPT10Ll9mYXJ8fHQueE9mZnNldCE9PXQuX3hPZmZzZXR8fHQueU9mZnNldCE9PXQuX3lPZmZzZXQpKXJldHVybjtpZih5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiZm92Iix0LmZvdiwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW4oImZvdiIsdC5mb3YsTWF0aC5QSSkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImFzcGVjdFJhdGlvIix0LmFzcGVjdFJhdGlvLDApLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJuZWFyIix0Lm5lYXIsMCksdC5uZWFyPnQuZmFyKXRocm93IG5ldyBGKCJuZWFyIG11c3QgYmUgbGVzcyB0aGFuIGZhci4iKTt0Ll9hc3BlY3RSYXRpbz10LmFzcGVjdFJhdGlvLHQuX2Zvdj10LmZvdix0Ll9mb3Z5PXQuYXNwZWN0UmF0aW88PTE/dC5mb3Y6TWF0aC5hdGFuKE1hdGgudGFuKHQuZm92Ki41KS90LmFzcGVjdFJhdGlvKSoyLHQuX25lYXI9dC5uZWFyLHQuX2Zhcj10LmZhcix0Ll9zc2VEZW5vbWluYXRvcj0yKk1hdGgudGFuKC41KnQuX2ZvdnkpLHQuX3hPZmZzZXQ9dC54T2Zmc2V0LHQuX3lPZmZzZXQ9dC55T2Zmc2V0O2xldCBuPXQuX29mZkNlbnRlckZydXN0dW07bi50b3A9dC5uZWFyKk1hdGgudGFuKC41KnQuX2ZvdnkpLG4uYm90dG9tPS1uLnRvcCxuLnJpZ2h0PXQuYXNwZWN0UmF0aW8qbi50b3Asbi5sZWZ0PS1uLnJpZ2h0LG4ubmVhcj10Lm5lYXIsbi5mYXI9dC5mYXIsbi5yaWdodCs9dC54T2Zmc2V0LG4ubGVmdCs9dC54T2Zmc2V0LG4udG9wKz10LnlPZmZzZXQsbi5ib3R0b20rPXQueU9mZnNldH12YXIgUG8sTl89WigoKT0+e1h0KCk7SXQoKTtmdCgpO0h0KCk7V3QoKTtQTygpO2VyLnBhY2tlZExlbmd0aD02O2VyLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxlW24rK109dC5mb3YsZVtuKytdPXQuYXNwZWN0UmF0aW8sZVtuKytdPXQubmVhcixlW24rK109dC5mYXIsZVtuKytdPXQueE9mZnNldCxlW25dPXQueU9mZnNldCxlfTtlci51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKSxoKG4pfHwobj1uZXcgZXIpLG4uZm92PXRbZSsrXSxuLmFzcGVjdFJhdGlvPXRbZSsrXSxuLm5lYXI9dFtlKytdLG4uZmFyPXRbZSsrXSxuLnhPZmZzZXQ9dFtlKytdLG4ueU9mZnNldD10W2VdLG59O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGVyLnByb3RvdHlwZSx7cHJvamVjdGlvbk1hdHJpeDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFhyKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW0ucHJvamVjdGlvbk1hdHJpeH19LGluZmluaXRlUHJvamVjdGlvbk1hdHJpeDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFhyKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW0uaW5maW5pdGVQcm9qZWN0aW9uTWF0cml4fX0sZm92eTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFhyKHRoaXMpLHRoaXMuX2Zvdnl9fSxzc2VEZW5vbWluYXRvcjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFhyKHRoaXMpLHRoaXMuX3NzZURlbm9taW5hdG9yfX0sb2ZmQ2VudGVyRnJ1c3R1bTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIFhyKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW19fX0pO2VyLnByb3RvdHlwZS5jb21wdXRlQ3VsbGluZ1ZvbHVtZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIFhyKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW0uY29tcHV0ZUN1bGxpbmdWb2x1bWUodCxlLG4pfTtlci5wcm90b3R5cGUuZ2V0UGl4ZWxEaW1lbnNpb25zPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIFhyKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW0uZ2V0UGl4ZWxEaW1lbnNpb25zKHQsZSxuLG8scil9O2VyLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KXx8KHQ9bmV3IGVyKSx0LmFzcGVjdFJhdGlvPXRoaXMuYXNwZWN0UmF0aW8sdC5mb3Y9dGhpcy5mb3YsdC5uZWFyPXRoaXMubmVhcix0LmZhcj10aGlzLmZhcix0Ll9hc3BlY3RSYXRpbz12b2lkIDAsdC5fZm92PXZvaWQgMCx0Ll9uZWFyPXZvaWQgMCx0Ll9mYXI9dm9pZCAwLHRoaXMuX29mZkNlbnRlckZydXN0dW0uY2xvbmUodC5fb2ZmQ2VudGVyRnJ1c3R1bSksdH07ZXIucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4haCh0KXx8ISh0IGluc3RhbmNlb2YgZXIpPyExOihYcih0aGlzKSxYcih0KSx0aGlzLmZvdj09PXQuZm92JiZ0aGlzLmFzcGVjdFJhdGlvPT09dC5hc3BlY3RSYXRpbyYmdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5lcXVhbHModC5fb2ZmQ2VudGVyRnJ1c3R1bSkpfTtlci5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIWgodCl8fCEodCBpbnN0YW5jZW9mIGVyKT8hMTooWHIodGhpcyksWHIodCksTS5lcXVhbHNFcHNpbG9uKHRoaXMuZm92LHQuZm92LGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLmFzcGVjdFJhdGlvLHQuYXNwZWN0UmF0aW8sZSxuKSYmdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5lcXVhbHNFcHNpbG9uKHQuX29mZkNlbnRlckZydXN0dW0sZSxuKSl9O1BvPWVyfSk7ZnVuY3Rpb24gZ2ModCl7eS50eXBlT2Yub2JqZWN0KCJvcHRpb25zIix0KSx5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMuZnJ1c3R1bSIsdC5mcnVzdHVtKSx5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMub3JpZ2luIix0Lm9yaWdpbikseS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLm9yaWVudGF0aW9uIix0Lm9yaWVudGF0aW9uKTtsZXQgZT10LmZydXN0dW0sbj10Lm9yaWVudGF0aW9uLG89dC5vcmlnaW4scj14KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpLGk9eCh0Ll9kcmF3TmVhclBsYW5lLCEwKSxzLGY7ZSBpbnN0YW5jZW9mIFBvPyhzPUVkLGY9UG8ucGFja2VkTGVuZ3RoKTplIGluc3RhbmNlb2YgeG8mJihzPUdMLGY9eG8ucGFja2VkTGVuZ3RoKSx0aGlzLl9mcnVzdHVtVHlwZT1zLHRoaXMuX2ZydXN0dW09ZS5jbG9uZSgpLHRoaXMuX29yaWdpbj1hLmNsb25lKG8pLHRoaXMuX29yaWVudGF0aW9uPWVlLmNsb25lKG4pLHRoaXMuX2RyYXdOZWFyUGxhbmU9aSx0aGlzLl92ZXJ0ZXhGb3JtYXQ9cix0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVGcnVzdHVtR2VvbWV0cnkiLHRoaXMucGFja2VkTGVuZ3RoPTIrZithLnBhY2tlZExlbmd0aCtlZS5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RofWZ1bmN0aW9uIFJhKHQsZSxuLG8scixpLHMsZil7bGV0IHU9dC8zKjI7Zm9yKGxldCBjPTA7Yzw0OysrYyloKGUpJiYoZVt0XT1pLngsZVt0KzFdPWkueSxlW3QrMl09aS56KSxoKG4pJiYoblt0XT1zLngsblt0KzFdPXMueSxuW3QrMl09cy56KSxoKG8pJiYob1t0XT1mLngsb1t0KzFdPWYueSxvW3QrMl09Zi56KSx0Kz0zO3JbdV09MCxyW3UrMV09MCxyW3UrMl09MSxyW3UrM109MCxyW3UrNF09MSxyW3UrNV09MSxyW3UrNl09MCxyW3UrN109MX12YXIgRWQsR0wsekwsakwsSEwscUwsS0wsV0wsWEwsSV8sTU8sTk8sSU8sWUwsJEwsWkwsVHMsS2Ysdk8sV2Ysdl89WigoKT0+e3ZlKCk7RnQoKTtocigpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7WGUoKTtZZSgpO2FuKCk7Qm4oKTtVbigpO1BfKCk7Tl8oKTt0bigpO0tvKCk7Um8oKTtFZD0wLEdMPTE7Z2MucGFjaz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCk7bGV0IG89dC5fZnJ1c3R1bVR5cGUscj10Ll9mcnVzdHVtO3JldHVybiBlW24rK109byxvPT09RWQ/KFBvLnBhY2socixlLG4pLG4rPVBvLnBhY2tlZExlbmd0aCk6KHhvLnBhY2socixlLG4pLG4rPXhvLnBhY2tlZExlbmd0aCksYS5wYWNrKHQuX29yaWdpbixlLG4pLG4rPWEucGFja2VkTGVuZ3RoLGVlLnBhY2sodC5fb3JpZW50YXRpb24sZSxuKSxuKz1lZS5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuXT10Ll9kcmF3TmVhclBsYW5lPzE6MCxlfTt6TD1uZXcgUG8sakw9bmV3IHhvLEhMPW5ldyBlZSxxTD1uZXcgYSxLTD1uZXcgZHQ7Z2MudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz10W2UrK10scjtvPT09RWQ/KHI9UG8udW5wYWNrKHQsZSx6TCksZSs9UG8ucGFja2VkTGVuZ3RoKToocj14by51bnBhY2sodCxlLGpMKSxlKz14by5wYWNrZWRMZW5ndGgpO2xldCBpPWEudW5wYWNrKHQsZSxxTCk7ZSs9YS5wYWNrZWRMZW5ndGg7bGV0IHM9ZWUudW5wYWNrKHQsZSxITCk7ZSs9ZWUucGFja2VkTGVuZ3RoO2xldCBmPWR0LnVucGFjayh0LGUsS0wpO2UrPWR0LnBhY2tlZExlbmd0aDtsZXQgdT10W2VdPT09MTtpZighaChuKSlyZXR1cm4gbmV3IGdjKHtmcnVzdHVtOnIsb3JpZ2luOmksb3JpZW50YXRpb246cyx2ZXJ0ZXhGb3JtYXQ6ZixfZHJhd05lYXJQbGFuZTp1fSk7bGV0IGM9bz09PW4uX2ZydXN0dW1UeXBlP24uX2ZydXN0dW06dm9pZCAwO3JldHVybiBuLl9mcnVzdHVtPXIuY2xvbmUoYyksbi5fZnJ1c3R1bVR5cGU9byxuLl9vcmlnaW49YS5jbG9uZShpLG4uX29yaWdpbiksbi5fb3JpZW50YXRpb249ZWUuY2xvbmUocyxuLl9vcmllbnRhdGlvbiksbi5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKGYsbi5fdmVydGV4Rm9ybWF0KSxuLl9kcmF3TmVhclBsYW5lPXUsbn07V0w9bmV3IFEsWEw9bmV3IHN0LElfPW5ldyBzdCxNTz1uZXcgYSxOTz1uZXcgYSxJTz1uZXcgYSxZTD1uZXcgYSwkTD1uZXcgYSxaTD1uZXcgYSxUcz1uZXcgQXJyYXkoMyksS2Y9bmV3IEFycmF5KDQpO0tmWzBdPW5ldyBoZSgtMSwtMSwxLDEpO0tmWzFdPW5ldyBoZSgxLC0xLDEsMSk7S2ZbMl09bmV3IGhlKDEsMSwxLDEpO0tmWzNdPW5ldyBoZSgtMSwxLDEsMSk7dk89bmV3IEFycmF5KDQpO2ZvcihsZXQgdD0wO3Q8NDsrK3Qpdk9bdF09bmV3IGhlO2djLl9jb21wdXRlTmVhckZhclBsYW5lcz1mdW5jdGlvbih0LGUsbixvLHIsaSxzLGYpe2xldCB1PVEuZnJvbVF1YXRlcm5pb24oZSxXTCksYz14KGksTU8pLGw9eChzLE5PKSxwPXgoZixJTyk7Yz1RLmdldENvbHVtbih1LDAsYyksbD1RLmdldENvbHVtbih1LDEsbCkscD1RLmdldENvbHVtbih1LDIscCksYS5ub3JtYWxpemUoYyxjKSxhLm5vcm1hbGl6ZShsLGwpLGEubm9ybWFsaXplKHAscCksYS5uZWdhdGUoYyxjKTtsZXQgZD1zdC5jb21wdXRlVmlldyh0LHAsbCxjLFhMKSxtLF8sZz1vLnByb2plY3Rpb25NYXRyaXg7aWYobj09PUVkKXtsZXQgYj1zdC5tdWx0aXBseShnLGQsSV8pO189c3QuaW52ZXJzZShiLElfKX1lbHNlIG09c3QuaW52ZXJzZVRyYW5zZm9ybWF0aW9uKGQsSV8pO2goXyk/KFRzWzBdPW8ubmVhcixUc1sxXT1vLmZhcik6KFRzWzBdPTAsVHNbMV09by5uZWFyLFRzWzJdPW8uZmFyKTtmb3IobGV0IGI9MDtiPDI7KytiKWZvcihsZXQgVD0wO1Q8NDsrK1Qpe2xldCBPPWhlLmNsb25lKEtmW1RdLHZPW1RdKTtpZihoKF8pKXtPPXN0Lm11bHRpcGx5QnlWZWN0b3IoXyxPLE8pO2xldCBFPTEvTy53O2EubXVsdGlwbHlCeVNjYWxhcihPLEUsTyksYS5zdWJ0cmFjdChPLHQsTyksYS5ub3JtYWxpemUoTyxPKTtsZXQgdz1hLmRvdChwLE8pO2EubXVsdGlwbHlCeVNjYWxhcihPLFRzW2JdL3csTyksYS5hZGQoTyx0LE8pfWVsc2V7bGV0IEU9by5vZmZDZW50ZXJGcnVzdHVtO2goRSkmJihvPUUpO2xldCB3PVRzW2JdLEM9VHNbYisxXTtPLng9KE8ueCooby5yaWdodC1vLmxlZnQpK28ubGVmdCtvLnJpZ2h0KSouNSxPLnk9KE8ueSooby50b3Atby5ib3R0b20pK28uYm90dG9tK28udG9wKSouNSxPLno9KE8ueioody1DKS13LUMpKi41LE8udz0xLHN0Lm11bHRpcGx5QnlWZWN0b3IobSxPLE8pfXJbMTIqYitUKjNdPU8ueCxyWzEyKmIrVCozKzFdPU8ueSxyWzEyKmIrVCozKzJdPU8uen19O2djLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX2ZydXN0dW1UeXBlLG49dC5fZnJ1c3R1bSxvPXQuX29yaWdpbixyPXQuX29yaWVudGF0aW9uLGk9dC5fZHJhd05lYXJQbGFuZSxzPXQuX3ZlcnRleEZvcm1hdCxmPWk/Njo1LHU9bmV3IEZsb2F0NjRBcnJheSgzKjQqNik7Z2MuX2NvbXB1dGVOZWFyRmFyUGxhbmVzKG8scixlLG4sdSk7bGV0IGM9Myo0KjI7dVtjXT11WzMqNF0sdVtjKzFdPXVbMyo0KzFdLHVbYysyXT11WzMqNCsyXSx1W2MrM109dVswXSx1W2MrNF09dVsxXSx1W2MrNV09dVsyXSx1W2MrNl09dVszKjNdLHVbYys3XT11WzMqMysxXSx1W2MrOF09dVszKjMrMl0sdVtjKzldPXVbMyo3XSx1W2MrMTBdPXVbMyo3KzFdLHVbYysxMV09dVszKjcrMl0sYys9Myo0LHVbY109dVszKjVdLHVbYysxXT11WzMqNSsxXSx1W2MrMl09dVszKjUrMl0sdVtjKzNdPXVbM10sdVtjKzRdPXVbNF0sdVtjKzVdPXVbNV0sdVtjKzZdPXVbMF0sdVtjKzddPXVbMV0sdVtjKzhdPXVbMl0sdVtjKzldPXVbMyo0XSx1W2MrMTBdPXVbMyo0KzFdLHVbYysxMV09dVszKjQrMl0sYys9Myo0LHVbY109dVszXSx1W2MrMV09dVs0XSx1W2MrMl09dVs1XSx1W2MrM109dVszKjVdLHVbYys0XT11WzMqNSsxXSx1W2MrNV09dVszKjUrMl0sdVtjKzZdPXVbMyo2XSx1W2MrN109dVszKjYrMV0sdVtjKzhdPXVbMyo2KzJdLHVbYys5XT11WzMqMl0sdVtjKzEwXT11WzMqMisxXSx1W2MrMTFdPXVbMyoyKzJdLGMrPTMqNCx1W2NdPXVbMyoyXSx1W2MrMV09dVszKjIrMV0sdVtjKzJdPXVbMyoyKzJdLHVbYyszXT11WzMqNl0sdVtjKzRdPXVbMyo2KzFdLHVbYys1XT11WzMqNisyXSx1W2MrNl09dVszKjddLHVbYys3XT11WzMqNysxXSx1W2MrOF09dVszKjcrMl0sdVtjKzldPXVbMyozXSx1W2MrMTBdPXVbMyozKzFdLHVbYysxMV09dVszKjMrMl0saXx8KHU9dS5zdWJhcnJheSgzKjQpKTtsZXQgbD1uZXcgaWUoe3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6dX0pfSk7aWYoaChzLm5vcm1hbCl8fGgocy50YW5nZW50KXx8aChzLmJpdGFuZ2VudCl8fGgocy5zdCkpe2xldCBkPWgocy5ub3JtYWwpP25ldyBGbG9hdDMyQXJyYXkoMTIqZik6dm9pZCAwLG09aChzLnRhbmdlbnQpP25ldyBGbG9hdDMyQXJyYXkoMyo0KmYpOnZvaWQgMCxfPWgocy5iaXRhbmdlbnQpP25ldyBGbG9hdDMyQXJyYXkoMyo0KmYpOnZvaWQgMCxnPWgocy5zdCk/bmV3IEZsb2F0MzJBcnJheSgyKjQqZik6dm9pZCAwLGI9TU8sVD1OTyxPPUlPLEU9YS5uZWdhdGUoYixZTCksdz1hLm5lZ2F0ZShULCRMKSxDPWEubmVnYXRlKE8sWkwpO2M9MCxpJiYoUmEoYyxkLG0sXyxnLEMsYixUKSxjKz0zKjQpLFJhKGMsZCxtLF8sZyxPLEUsVCksYys9Myo0LFJhKGMsZCxtLF8sZyxFLEMsVCksYys9Myo0LFJhKGMsZCxtLF8sZyx3LEMsRSksYys9Myo0LFJhKGMsZCxtLF8sZyxiLE8sVCksYys9Myo0LFJhKGMsZCxtLF8sZyxULE8sRSksaChkKSYmKGwubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpkfSkpLGgobSkmJihsLnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm19KSksaChfKSYmKGwuYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpffSkpLGgoZykmJihsLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpnfSkpfWxldCBwPW5ldyBVaW50MTZBcnJheSg2KmYpO2ZvcihsZXQgZD0wO2Q8ZjsrK2Qpe2xldCBtPWQqNixfPWQqNDtwW21dPV8scFttKzFdPV8rMSxwW20rMl09XysyLHBbbSszXT1fLHBbbSs0XT1fKzIscFttKzVdPV8rM31yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmwsaW5kaWNlczpwLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOkF0LmZyb21WZXJ0aWNlcyh1KX0pfTtXZj1nY30pO3ZhciBMXz17fTtkZShMXyx7ZGVmYXVsdDooKT0+Skx9KTtmdW5jdGlvbiBRTCh0LGUpe3JldHVybiBoKGUpJiYodD1XZi51bnBhY2sodCxlKSksV2YuY3JlYXRlR2VvbWV0cnkodCl9dmFyIEpMLERfPVooKCk9PntmdCgpO3ZfKCk7Skw9UUx9KTtmdW5jdGlvbiBYZih0KXt5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMiLHQpLHkudHlwZU9mLm9iamVjdCgib3B0aW9ucy5mcnVzdHVtIix0LmZydXN0dW0pLHkudHlwZU9mLm9iamVjdCgib3B0aW9ucy5vcmlnaW4iLHQub3JpZ2luKSx5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMub3JpZW50YXRpb24iLHQub3JpZW50YXRpb24pO2xldCBlPXQuZnJ1c3R1bSxuPXQub3JpZW50YXRpb24sbz10Lm9yaWdpbixyPXgodC5fZHJhd05lYXJQbGFuZSwhMCksaSxzO2UgaW5zdGFuY2VvZiBQbz8oaT1GXyxzPVBvLnBhY2tlZExlbmd0aCk6ZSBpbnN0YW5jZW9mIHhvJiYoaT10RCxzPXhvLnBhY2tlZExlbmd0aCksdGhpcy5fZnJ1c3R1bVR5cGU9aSx0aGlzLl9mcnVzdHVtPWUuY2xvbmUoKSx0aGlzLl9vcmlnaW49YS5jbG9uZShvKSx0aGlzLl9vcmllbnRhdGlvbj1lZS5jbG9uZShuKSx0aGlzLl9kcmF3TmVhclBsYW5lPXIsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlRnJ1c3R1bU91dGxpbmVHZW9tZXRyeSIsdGhpcy5wYWNrZWRMZW5ndGg9MitzK2EucGFja2VkTGVuZ3RoK2VlLnBhY2tlZExlbmd0aH12YXIgRl8sdEQsZUQsbkQsb0QsckQsQl8sTE89WigoKT0+e3ZlKCk7RnQoKTtYdCgpO0ZlKCk7SXQoKTtmdCgpO3ZfKCk7WGUoKTtZZSgpO2FuKCk7UF8oKTtOXygpO3RuKCk7S28oKTtGXz0wLHREPTE7WGYucGFjaz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCk7bGV0IG89dC5fZnJ1c3R1bVR5cGUscj10Ll9mcnVzdHVtO3JldHVybiBlW24rK109byxvPT09Rl8/KFBvLnBhY2socixlLG4pLG4rPVBvLnBhY2tlZExlbmd0aCk6KHhvLnBhY2socixlLG4pLG4rPXhvLnBhY2tlZExlbmd0aCksYS5wYWNrKHQuX29yaWdpbixlLG4pLG4rPWEucGFja2VkTGVuZ3RoLGVlLnBhY2sodC5fb3JpZW50YXRpb24sZSxuKSxuKz1lZS5wYWNrZWRMZW5ndGgsZVtuXT10Ll9kcmF3TmVhclBsYW5lPzE6MCxlfTtlRD1uZXcgUG8sbkQ9bmV3IHhvLG9EPW5ldyBlZSxyRD1uZXcgYTtYZi51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXRbZSsrXSxyO289PT1GXz8ocj1Qby51bnBhY2sodCxlLGVEKSxlKz1Qby5wYWNrZWRMZW5ndGgpOihyPXhvLnVucGFjayh0LGUsbkQpLGUrPXhvLnBhY2tlZExlbmd0aCk7bGV0IGk9YS51bnBhY2sodCxlLHJEKTtlKz1hLnBhY2tlZExlbmd0aDtsZXQgcz1lZS51bnBhY2sodCxlLG9EKTtlKz1lZS5wYWNrZWRMZW5ndGg7bGV0IGY9dFtlXT09PTE7aWYoIWgobikpcmV0dXJuIG5ldyBYZih7ZnJ1c3R1bTpyLG9yaWdpbjppLG9yaWVudGF0aW9uOnMsX2RyYXdOZWFyUGxhbmU6Zn0pO2xldCB1PW89PT1uLl9mcnVzdHVtVHlwZT9uLl9mcnVzdHVtOnZvaWQgMDtyZXR1cm4gbi5fZnJ1c3R1bT1yLmNsb25lKHUpLG4uX2ZydXN0dW1UeXBlPW8sbi5fb3JpZ2luPWEuY2xvbmUoaSxuLl9vcmlnaW4pLG4uX29yaWVudGF0aW9uPWVlLmNsb25lKHMsbi5fb3JpZW50YXRpb24pLG4uX2RyYXdOZWFyUGxhbmU9ZixufTtYZi5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9mcnVzdHVtVHlwZSxuPXQuX2ZydXN0dW0sbz10Ll9vcmlnaW4scj10Ll9vcmllbnRhdGlvbixpPXQuX2RyYXdOZWFyUGxhbmUscz1uZXcgRmxvYXQ2NEFycmF5KDMqNCoyKTtXZi5fY29tcHV0ZU5lYXJGYXJQbGFuZXMobyxyLGUsbixzKTtsZXQgZj1uZXcgaWUoe3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6c30pfSksdSxjLGw9aT8yOjEscD1uZXcgVWludDE2QXJyYXkoOCoobCsxKSksZD1pPzA6MTtmb3IoO2Q8MjsrK2QpdT1pP2QqODowLGM9ZCo0LHBbdV09YyxwW3UrMV09YysxLHBbdSsyXT1jKzEscFt1KzNdPWMrMixwW3UrNF09YysyLHBbdSs1XT1jKzMscFt1KzZdPWMrMyxwW3UrN109Yztmb3IoZD0wO2Q8MjsrK2QpdT0obCtkKSo4LGM9ZCo0LHBbdV09YyxwW3UrMV09Yys0LHBbdSsyXT1jKzEscFt1KzNdPWMrNSxwW3UrNF09YysyLHBbdSs1XT1jKzYscFt1KzZdPWMrMyxwW3UrN109Yys3O3JldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6ZixpbmRpY2VzOnAscHJpbWl0aXZlVHlwZTpCdC5MSU5FUyxib3VuZGluZ1NwaGVyZTpBdC5mcm9tVmVydGljZXMocyl9KX07Ql89WGZ9KTt2YXIgVV89e307ZGUoVV8se2RlZmF1bHQ6KCk9PnNEfSk7ZnVuY3Rpb24gaUQodCxlKXtyZXR1cm4gaChlKSYmKHQ9Ql8udW5wYWNrKHQsZSkpLEJfLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBzRCxWXz1aKCgpPT57ZnQoKTtMTygpO3NEPWlEfSk7ZnVuY3Rpb24gd3ModCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHRoaXMuX2VsbGlwc29pZD14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCksdGhpcy5fcmVjdGFuZ2xlPXgodC5yZWN0YW5nbGUsTnQuTUFYX1ZBTFVFKSx0aGlzLl9wcm9qZWN0aW9uPW5ldyBKbih0aGlzLl9lbGxpcHNvaWQpLHRoaXMuX251bWJlck9mTGV2ZWxaZXJvVGlsZXNYPXgodC5udW1iZXJPZkxldmVsWmVyb1RpbGVzWCwyKSx0aGlzLl9udW1iZXJPZkxldmVsWmVyb1RpbGVzWT14KHQubnVtYmVyT2ZMZXZlbFplcm9UaWxlc1ksMSl9dmFyIERPLEZPPVooKCk9PntVZSgpO1h0KCk7SXQoKTtmdCgpO1p0KCk7U2koKTtXdCgpO3duKCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMod3MucHJvdG90eXBlLHtlbGxpcHNvaWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGxpcHNvaWR9fSxyZWN0YW5nbGU6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9yZWN0YW5nbGV9fSxwcm9qZWN0aW9uOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcHJvamVjdGlvbn19fSk7d3MucHJvdG90eXBlLmdldE51bWJlck9mWFRpbGVzQXRMZXZlbD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbnVtYmVyT2ZMZXZlbFplcm9UaWxlc1g8PHR9O3dzLnByb3RvdHlwZS5nZXROdW1iZXJPZllUaWxlc0F0TGV2ZWw9ZnVuY3Rpb24odCl7cmV0dXJuIHRoaXMuX251bWJlck9mTGV2ZWxaZXJvVGlsZXNZPDx0fTt3cy5wcm90b3R5cGUucmVjdGFuZ2xlVG9OYXRpdmVSZWN0YW5nbGU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoInJlY3RhbmdsZSIsdCk7bGV0IG49TS50b0RlZ3JlZXModC53ZXN0KSxvPU0udG9EZWdyZWVzKHQuc291dGgpLHI9TS50b0RlZ3JlZXModC5lYXN0KSxpPU0udG9EZWdyZWVzKHQubm9ydGgpO3JldHVybiBoKGUpPyhlLndlc3Q9bixlLnNvdXRoPW8sZS5lYXN0PXIsZS5ub3J0aD1pLGUpOm5ldyBOdChuLG8scixpKX07d3MucHJvdG90eXBlLnRpbGVYWVRvTmF0aXZlUmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSxuLG8pe2xldCByPXRoaXMudGlsZVhZVG9SZWN0YW5nbGUodCxlLG4sbyk7cmV0dXJuIHIud2VzdD1NLnRvRGVncmVlcyhyLndlc3QpLHIuc291dGg9TS50b0RlZ3JlZXMoci5zb3V0aCksci5lYXN0PU0udG9EZWdyZWVzKHIuZWFzdCksci5ub3J0aD1NLnRvRGVncmVlcyhyLm5vcnRoKSxyfTt3cy5wcm90b3R5cGUudGlsZVhZVG9SZWN0YW5nbGU9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9dGhpcy5fcmVjdGFuZ2xlLGk9dGhpcy5nZXROdW1iZXJPZlhUaWxlc0F0TGV2ZWwobikscz10aGlzLmdldE51bWJlck9mWVRpbGVzQXRMZXZlbChuKSxmPXIud2lkdGgvaSx1PXQqZityLndlc3QsYz0odCsxKSpmK3Iud2VzdCxsPXIuaGVpZ2h0L3MscD1yLm5vcnRoLWUqbCxkPXIubm9ydGgtKGUrMSkqbDtyZXR1cm4gaChvKXx8KG89bmV3IE50KHUsZCxjLHApKSxvLndlc3Q9dSxvLnNvdXRoPWQsby5lYXN0PWMsby5ub3J0aD1wLG99O3dzLnByb3RvdHlwZS5wb3NpdGlvblRvVGlsZVhZPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10aGlzLl9yZWN0YW5nbGU7aWYoIU50LmNvbnRhaW5zKG8sdCkpcmV0dXJuO2xldCByPXRoaXMuZ2V0TnVtYmVyT2ZYVGlsZXNBdExldmVsKGUpLGk9dGhpcy5nZXROdW1iZXJPZllUaWxlc0F0TGV2ZWwoZSkscz1vLndpZHRoL3IsZj1vLmhlaWdodC9pLHU9dC5sb25naXR1ZGU7by5lYXN0PG8ud2VzdCYmKHUrPU0uVFdPX1BJKTtsZXQgYz0odS1vLndlc3QpL3N8MDtjPj1yJiYoYz1yLTEpO2xldCBsPShvLm5vcnRoLXQubGF0aXR1ZGUpL2Z8MDtyZXR1cm4gbD49aSYmKGw9aS0xKSxoKG4pPyhuLng9YyxuLnk9bCxuKTpuZXcgdHQoYyxsKX07RE89d3N9KTtmdW5jdGlvbiBHTyh0KXtjdC5mcm9tUmFkaWFucyh0LmVhc3QsdC5ub3J0aCwwLFlmWzBdKSxjdC5mcm9tUmFkaWFucyh0Lndlc3QsdC5ub3J0aCwwLFlmWzFdKSxjdC5mcm9tUmFkaWFucyh0LmVhc3QsdC5zb3V0aCwwLFlmWzJdKSxjdC5mcm9tUmFkaWFucyh0Lndlc3QsdC5zb3V0aCwwLFlmWzNdKTtsZXQgZT0wLG49MCxvPTAscj0wLGk9UG4uX3RlcnJhaW5IZWlnaHRzTWF4TGV2ZWwscztmb3Iocz0wO3M8PWk7KytzKXtsZXQgZj0hMTtmb3IobGV0IHU9MDt1PDQ7Kyt1KXtsZXQgYz1ZZlt1XTtpZihhRC5wb3NpdGlvblRvVGlsZVhZKGMscywkZiksdT09PTApbz0kZi54LHI9JGYueTtlbHNlIGlmKG8hPT0kZi54fHxyIT09JGYueSl7Zj0hMDticmVha319aWYoZilicmVhaztlPW8sbj1yfWlmKHMhPT0wKXJldHVybnt4OmUseTpuLGxldmVsOnM+aT9pOnMtMX19dmFyIEJPLFVPLFZPLGtfLGNELGtPLGFELFlmLCRmLFBuLFJkLEdfPVooKCk9Pnt2ZSgpO1htKCk7VWUoKTtGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO0ZPKCk7d24oKTttZigpO0JPPW5ldyBhLFVPPW5ldyBhLFZPPW5ldyBjdCxrXz1uZXcgYSxjRD1uZXcgYSxrTz1uZXcgQXQsYUQ9bmV3IERPLFlmPVtuZXcgY3QsbmV3IGN0LG5ldyBjdCxuZXcgY3RdLCRmPW5ldyB0dCxQbj17fTtQbi5pbml0aWFsaXplPWZ1bmN0aW9uKCl7bGV0IHQ9UG4uX2luaXRQcm9taXNlO3JldHVybiBoKHQpfHwodD1vaS5mZXRjaEpzb24oeXAoIkFzc2V0cy9hcHByb3hpbWF0ZVRlcnJhaW5IZWlnaHRzLmpzb24iKSkudGhlbihmdW5jdGlvbihlKXtQbi5fdGVycmFpbkhlaWdodHM9ZX0pLFBuLl9pbml0UHJvbWlzZT10KSx0fTtQbi5nZXRNaW5pbXVtTWF4aW11bUhlaWdodHM9ZnVuY3Rpb24odCxlKXtpZih5LmRlZmluZWQoInJlY3RhbmdsZSIsdCksIWgoUG4uX3RlcnJhaW5IZWlnaHRzKSl0aHJvdyBuZXcgRigiWW91IG11c3QgY2FsbCBBcHByb3hpbWF0ZVRlcnJhaW5IZWlnaHRzLmluaXRpYWxpemUgYW5kIHdhaXQgZm9yIHRoZSBwcm9taXNlIHRvIHJlc29sdmUgYmVmb3JlIHVzaW5nIHRoaXMgZnVuY3Rpb24iKTtlPXgoZSwkLmRlZmF1bHQpO2xldCBuPUdPKHQpLG89UG4uX2RlZmF1bHRNaW5UZXJyYWluSGVpZ2h0LHI9UG4uX2RlZmF1bHRNYXhUZXJyYWluSGVpZ2h0O2lmKGgobikpe2xldCBpPWAke24ubGV2ZWx9LSR7bi54fS0ke24ueX1gLHM9UG4uX3RlcnJhaW5IZWlnaHRzW2ldO2gocykmJihvPXNbMF0scj1zWzFdKSxlLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKE50Lm5vcnRoZWFzdCh0LFZPKSxCTyksZS5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihOdC5zb3V0aHdlc3QodCxWTyksVU8pLGEubWlkcG9pbnQoVU8sQk8sa18pO2xldCBmPWUuc2NhbGVUb0dlb2RldGljU3VyZmFjZShrXyxjRCk7aWYoaChmKSl7bGV0IHU9YS5kaXN0YW5jZShrXyxmKTtvPU1hdGgubWluKG8sLXUpfWVsc2Ugbz1Qbi5fZGVmYXVsdE1pblRlcnJhaW5IZWlnaHR9cmV0dXJuIG89TWF0aC5tYXgoUG4uX2RlZmF1bHRNaW5UZXJyYWluSGVpZ2h0LG8pLHttaW5pbXVtVGVycmFpbkhlaWdodDpvLG1heGltdW1UZXJyYWluSGVpZ2h0OnJ9fTtQbi5nZXRCb3VuZGluZ1NwaGVyZT1mdW5jdGlvbih0LGUpe2lmKHkuZGVmaW5lZCgicmVjdGFuZ2xlIix0KSwhaChQbi5fdGVycmFpbkhlaWdodHMpKXRocm93IG5ldyBGKCJZb3UgbXVzdCBjYWxsIEFwcHJveGltYXRlVGVycmFpbkhlaWdodHMuaW5pdGlhbGl6ZSBhbmQgd2FpdCBmb3IgdGhlIHByb21pc2UgdG8gcmVzb2x2ZSBiZWZvcmUgdXNpbmcgdGhpcyBmdW5jdGlvbiIpO2U9eChlLCQuZGVmYXVsdCk7bGV0IG49R08odCksbz1Qbi5fZGVmYXVsdE1heFRlcnJhaW5IZWlnaHQ7aWYoaChuKSl7bGV0IGk9YCR7bi5sZXZlbH0tJHtuLnh9LSR7bi55fWAscz1Qbi5fdGVycmFpbkhlaWdodHNbaV07aChzKSYmKG89c1sxXSl9bGV0IHI9QXQuZnJvbVJlY3RhbmdsZTNEKHQsZSwwKTtyZXR1cm4gQXQuZnJvbVJlY3RhbmdsZTNEKHQsZSxvLGtPKSxBdC51bmlvbihyLGtPLHIpfTtQbi5fdGVycmFpbkhlaWdodHNNYXhMZXZlbD02O1BuLl9kZWZhdWx0TWF4VGVycmFpbkhlaWdodD05ZTM7UG4uX2RlZmF1bHRNaW5UZXJyYWluSGVpZ2h0PS0xZTU7UG4uX3RlcnJhaW5IZWlnaHRzPXZvaWQgMDtQbi5faW5pdFByb21pc2U9dm9pZCAwO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFBuLHtpbml0aWFsaXplZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGgoUG4uX3RlcnJhaW5IZWlnaHRzKX19fSk7UmQ9UG59KTtmdW5jdGlvbiBFcyh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnM7aWYoIWgoZSl8fGUubGVuZ3RoPDIpdGhyb3cgbmV3IEYoIkF0IGxlYXN0IHR3byBwb3NpdGlvbnMgYXJlIHJlcXVpcmVkLiIpO2lmKGgodC5hcmNUeXBlKSYmdC5hcmNUeXBlIT09X2UuR0VPREVTSUMmJnQuYXJjVHlwZSE9PV9lLlJIVU1CKXRocm93IG5ldyBGKCJWYWxpZCBvcHRpb25zIGZvciBhcmNUeXBlIGFyZSBBcmNUeXBlLkdFT0RFU0lDIGFuZCBBcmNUeXBlLlJIVU1CLiIpO3RoaXMud2lkdGg9eCh0LndpZHRoLDEpLHRoaXMuX3Bvc2l0aW9ucz1lLHRoaXMuZ3JhbnVsYXJpdHk9eCh0LmdyYW51bGFyaXR5LDk5OTkpLHRoaXMubG9vcD14KHQubG9vcCwhMSksdGhpcy5hcmNUeXBlPXgodC5hcmNUeXBlLF9lLkdFT0RFU0lDKSx0aGlzLl9lbGxpcHNvaWQ9JC5kZWZhdWx0LHRoaXMuX3Byb2plY3Rpb25JbmRleD0wLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUdyb3VuZFBvbHlsaW5lR2VvbWV0cnkiLHRoaXMuX3NjZW5lM0RPbmx5PSExfWZ1bmN0aW9uIFhfKHQsZSxuLG8scil7bGV0IGk9VW8obyx0LDAsdUQpLHM9VW8obyx0LG4sak8pLGY9VW8obyxlLDAsSE8pLHU9SGkocyxpLGpPKSxjPUhpKGYsaSxITyk7cmV0dXJuIGEuY3Jvc3MoYyx1LHIpLGEubm9ybWFsaXplKHIscil9ZnVuY3Rpb24gel8odCxlLG4sbyxyLGkscyxmLHUsYyxsKXtpZihyPT09MClyZXR1cm47bGV0IHA7aT09PV9lLkdFT0RFU0lDP3A9bmV3IGZkKHQsZSxzKTppPT09X2UuUkhVTUImJihwPW5ldyBabyh0LGUscykpO2xldCBkPXAuc3VyZmFjZURpc3RhbmNlO2lmKGQ8cilyZXR1cm47bGV0IG09WF8odCxlLG8scyxtRCksXz1NYXRoLmNlaWwoZC9yKSxnPWQvXyxiPWcsVD1fLTEsTz1mLmxlbmd0aDtmb3IobGV0IEU9MDtFPFQ7RSsrKXtsZXQgdz1wLmludGVycG9sYXRlVXNpbmdTdXJmYWNlRGlzdGFuY2UoYixsRCksQz1VbyhzLHcsbixwRCksTj1VbyhzLHcsbyxkRCk7YS5wYWNrKG0sZixPKSxhLnBhY2soQyx1LE8pLGEucGFjayhOLGMsTyksbC5wdXNoKHcubGF0aXR1ZGUpLGwucHVzaCh3LmxvbmdpdHVkZSksTys9MyxiKz1nfX1mdW5jdGlvbiBVbyh0LGUsbixvKXtyZXR1cm4gY3QuY2xvbmUoZSxqXyksal8uaGVpZ2h0PW4sY3QudG9DYXJ0ZXNpYW4oal8sdCxvKX1mdW5jdGlvbiBIaSh0LGUsbil7cmV0dXJuIGEuc3VidHJhY3QodCxlLG4pLGEubm9ybWFsaXplKG4sbiksbn1mdW5jdGlvbiBxTyh0LGUsbixvKXtyZXR1cm4gbz1IaSh0LGUsbyksbz1hLmNyb3NzKG8sbixvKSxvPWEubm9ybWFsaXplKG8sbyksbz1hLmNyb3NzKG4sbyxvKSxvfWZ1bmN0aW9uIEhfKHQsZSxuLG8scil7bGV0IGk9SGkobixlLHVFKSxzPXFPKHQsZSxpLGhEKSxmPXFPKG8sZSxpLF9EKTtpZihNLmVxdWFsc0Vwc2lsb24oYS5kb3QocyxmKSxBRCxNLkVQU0lMT041KSlyZXR1cm4gcj1hLmNyb3NzKGkscyxyKSxyPWEubm9ybWFsaXplKHIscikscjtyPWEuYWRkKGYscyxyKSxyPWEubm9ybWFsaXplKHIscik7bGV0IHU9YS5jcm9zcyhpLHIseUQpO3JldHVybiBhLmRvdChmLHUpPGdEJiYocj1hLm5lZ2F0ZShyLHIpKSxyfWZ1bmN0aW9uIFhPKHQsZSxuLG8pe2xldCByPUhpKG4sZSxSRCksaT1hLmRvdChyLHQpO2lmKGk+Y0V8fGk8ek8pe2xldCBzPUhpKG8sbix1RSksZj1pPHpPP00uUElfT1ZFUl9UV086LU0uUElfT1ZFUl9UV08sdT1lZS5mcm9tQXhpc0FuZ2xlKHMsZixDRCksYz1RLmZyb21RdWF0ZXJuaW9uKHUsU0QpO3JldHVybiBRLm11bHRpcGx5QnlWZWN0b3IoYyx0LHQpLCEwfXJldHVybiExfWZ1bmN0aW9uIFpmKHQsZSxuLG8scil7bGV0IGk9Y3QudG9DYXJ0ZXNpYW4oZSx0Ll9lbGxpcHNvaWQseEQpLHM9YS5hZGQoaSxuLCRPKSxmPSExLHU9dC5fZWxsaXBzb2lkLGM9dS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhzLFlPKTtNYXRoLmFicyhlLmxvbmdpdHVkZS1jLmxvbmdpdHVkZSk+TS5QSV9PVkVSX1RXTyYmKGY9ITAscz1hLnN1YnRyYWN0KGksbiwkTyksYz11LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHMsWU8pKSxjLmhlaWdodD0wO2xldCBsPXQucHJvamVjdChjLHIpO3JldHVybiByPWEuc3VidHJhY3QobCxvLHIpLHIuej0wLHI9YS5ub3JtYWxpemUocixyKSxmJiZhLm5lZ2F0ZShyLHIpLHJ9ZnVuY3Rpb24gUU8odCxlLG4sbyxyLGkpe2xldCBzPWEuc3VidHJhY3QoZSx0LFBEKTthLm5vcm1hbGl6ZShzLHMpO2xldCBmPW4tYUUsdT1hLm11bHRpcGx5QnlTY2FsYXIocyxmLFpPKTthLmFkZCh0LHUscik7bGV0IGM9by1mRTt1PWEubXVsdGlwbHlCeVNjYWxhcihzLGMsWk8pLGEuYWRkKGUsdSxpKX1mdW5jdGlvbiB4ZCh0LGUpe2xldCBuPW9uLmdldFBvaW50RGlzdGFuY2UoUGQsdCksbz1vbi5nZXRQb2ludERpc3RhbmNlKFBkLGUpLHI9TUQ7TS5lcXVhbHNFcHNpbG9uKG4sMCxNLkVQU0lMT04yKT8ocj1IaShlLHQsciksYS5tdWx0aXBseUJ5U2NhbGFyKHIsTS5FUFNJTE9OMixyKSxhLmFkZCh0LHIsdCkpOk0uZXF1YWxzRXBzaWxvbihvLDAsTS5FUFNJTE9OMikmJihyPUhpKHQsZSxyKSxhLm11bHRpcGx5QnlTY2FsYXIocixNLkVQU0lMT04yLHIpLGEuYWRkKGUscixlKSl9ZnVuY3Rpb24gTkQodCxlKXtsZXQgbj1NYXRoLmFicyh0LmxvbmdpdHVkZSksbz1NYXRoLmFicyhlLmxvbmdpdHVkZSk7aWYoTS5lcXVhbHNFcHNpbG9uKG4sTS5QSSxNLkVQU0lMT04xMSkpe2xldCByPU0uc2lnbihlLmxvbmdpdHVkZSk7cmV0dXJuIHQubG9uZ2l0dWRlPXIqKG4tTS5FUFNJTE9OMTEpLDF9ZWxzZSBpZihNLmVxdWFsc0Vwc2lsb24obyxNLlBJLE0uRVBTSUxPTjExKSl7bGV0IHI9TS5zaWduKHQubG9uZ2l0dWRlKTtyZXR1cm4gZS5sb25naXR1ZGU9ciooby1NLkVQU0lMT04xMSksMn1yZXR1cm4gMH1mdW5jdGlvbiAkRCh0LGUsbixvLHIsaSxzKXtsZXQgZix1LGM9ZS5fZWxsaXBzb2lkLGw9bi5sZW5ndGgvMy0xLHA9bCo4LGQ9cCo0LG09bCozNixfPXA+NjU1MzU/bmV3IFVpbnQzMkFycmF5KG0pOm5ldyBVaW50MTZBcnJheShtKSxnPW5ldyBGbG9hdDY0QXJyYXkocCozKSxiPW5ldyBGbG9hdDMyQXJyYXkoZCksVD1uZXcgRmxvYXQzMkFycmF5KGQpLE89bmV3IEZsb2F0MzJBcnJheShkKSxFPW5ldyBGbG9hdDMyQXJyYXkoZCksdz1uZXcgRmxvYXQzMkFycmF5KGQpLEMsTixJLEQ7cyYmKEM9bmV3IEZsb2F0MzJBcnJheShkKSxOPW5ldyBGbG9hdDMyQXJyYXkoZCksST1uZXcgRmxvYXQzMkFycmF5KGQpLEQ9bmV3IEZsb2F0MzJBcnJheShwKjIpKTtsZXQgdj1pLmxlbmd0aC8yLEw9MCxVPWxFO1UuaGVpZ2h0PTA7bGV0IEE9cEU7QS5oZWlnaHQ9MDtsZXQgUz1KTyxQPXFfO2lmKHMpZm9yKHU9MCxmPTE7Zjx2O2YrKylVLmxhdGl0dWRlPWlbdV0sVS5sb25naXR1ZGU9aVt1KzFdLEEubGF0aXR1ZGU9aVt1KzJdLEEubG9uZ2l0dWRlPWlbdSszXSxTPWUucHJvamVjdChVLFMpLFA9ZS5wcm9qZWN0KEEsUCksTCs9YS5kaXN0YW5jZShTLFApLHUrPTI7bGV0IEI9by5sZW5ndGgvMztQPWEudW5wYWNrKG8sMCxQKTtsZXQgaj0wO2Zvcih1PTMsZj0xO2Y8QjtmKyspUz1hLmNsb25lKFAsUyksUD1hLnVucGFjayhvLHUsUCksais9YS5kaXN0YW5jZShTLFApLHUrPTM7bGV0IEg7dT0zO2xldCBrPTAsSz0wLFg9MCxSPTAsb3Q9ITEsYXQ9YS51bnBhY2sobiwwLGVFKSxwdD1hLnVucGFjayhvLDAscV8pLHl0PWEudW5wYWNrKHIsMCxuRSk7aWYodCl7bGV0IHp0PWEudW5wYWNrKG4sbi5sZW5ndGgtNix0RSk7WE8oeXQsenQsYXQscHQpJiYoeXQ9YS5uZWdhdGUoeXQseXQpKX1sZXQgcnQ9MCxQdD0wLGd0PTA7Zm9yKGY9MDtmPGw7ZisrKXtsZXQgenQ9YS5jbG9uZShhdCx0RSksbWU9YS5jbG9uZShwdCxKTyksYWU9YS5jbG9uZSh5dCxJRCk7b3QmJihhZT1hLm5lZ2F0ZShhZSxhZSkpLGF0PWEudW5wYWNrKG4sdSxlRSkscHQ9YS51bnBhY2sobyx1LHFfKSx5dD1hLnVucGFjayhyLHUsbkUpLG90PVhPKHl0LHp0LGF0LHB0KSxVLmxhdGl0dWRlPWlba10sVS5sb25naXR1ZGU9aVtrKzFdLEEubGF0aXR1ZGU9aVtrKzJdLEEubG9uZ2l0dWRlPWlbayszXTtsZXQgcGUsdWUsUXQsSnQ7aWYocyl7bGV0IExlPU5EKFUsQSk7cGU9ZS5wcm9qZWN0KFUsVkQpLHVlPWUucHJvamVjdChBLGtEKTtsZXQgRG49SGkodWUscGUsckUpO0RuLnk9TWF0aC5hYnMoRG4ueSksUXQ9S18sSnQ9V18sTGU9PT0wfHxhLmRvdChEbixhLlVOSVRfWSk+Y0U/KFF0PVpmKGUsVSxhZSxwZSxLXyksSnQ9WmYoZSxBLHl0LHVlLFdfKSk6TGU9PT0xPyhKdD1aZihlLEEseXQsdWUsV18pLFF0Lng9MCxRdC55PU0uc2lnbihVLmxvbmdpdHVkZS1NYXRoLmFicyhBLmxvbmdpdHVkZSkpLFF0Lno9MCk6KFF0PVpmKGUsVSxhZSxwZSxLXyksSnQueD0wLEp0Lnk9TS5zaWduKFUubG9uZ2l0dWRlLUEubG9uZ2l0dWRlKSxKdC56PTApfWxldCBOZT1hLmRpc3RhbmNlKG1lLHB0KSxnZT1acy5mcm9tQ2FydGVzaWFuKHp0LEtEKSxFZT1hLnN1YnRyYWN0KGF0LHp0LEdEKSx1bj1hLm5vcm1hbGl6ZShFZSxvRSksa2U9YS5zdWJ0cmFjdChtZSx6dCx6RCk7a2U9YS5ub3JtYWxpemUoa2Usa2UpO2xldCBiZT1hLmNyb3NzKHVuLGtlLG9FKTtiZT1hLm5vcm1hbGl6ZShiZSxiZSk7bGV0IGxuPWEuY3Jvc3Moa2UsYWUsSEQpO2xuPWEubm9ybWFsaXplKGxuLGxuKTtsZXQgcG49YS5zdWJ0cmFjdChwdCxhdCxqRCk7cG49YS5ub3JtYWxpemUocG4scG4pO2xldCBFbj1hLmNyb3NzKHl0LHBuLHFEKTtFbj1hLm5vcm1hbGl6ZShFbixFbik7bGV0IHJlPU5lL2osJHQ9cnQvaixHZT0wLGRuLHNuLG1uLGZvPTAsSG49MDtpZihzKXtHZT1hLmRpc3RhbmNlKHBlLHVlKSxkbj1acy5mcm9tQ2FydGVzaWFuKHBlLFdEKSxzbj1hLnN1YnRyYWN0KHVlLHBlLHJFKSxtbj1hLm5vcm1hbGl6ZShzbixYRCk7bGV0IExlPW1uLng7bW4ueD1tbi55LG1uLnk9LUxlLGZvPUdlL0wsSG49UHQvTH1mb3IoSD0wO0g8ODtIKyspe2xldCBMZT1SK0gqNCxEbj1LK0gqMixXbj1MZSszLHpvPUg8ND8xOi0xLHJuPUg9PT0yfHxIPT09M3x8SD09PTZ8fEg9PT03PzE6LTE7YS5wYWNrKGdlLmhpZ2gsYixMZSksYltXbl09RWUueCxhLnBhY2soZ2UubG93LFQsTGUpLFRbV25dPUVlLnksYS5wYWNrKGxuLE8sTGUpLE9bV25dPUVlLnosYS5wYWNrKEVuLEUsTGUpLEVbV25dPXJlKnpvLGEucGFjayhiZSx3LExlKTtsZXQgUm49JHQqcm47Um49PT0wJiZybjwwJiYoUm49OSksd1tXbl09Um4scyYmKENbTGVdPWRuLmhpZ2gueCxDW0xlKzFdPWRuLmhpZ2gueSxDW0xlKzJdPWRuLmxvdy54LENbTGUrM109ZG4ubG93LnksSVtMZV09LVF0LnksSVtMZSsxXT1RdC54LElbTGUrMl09SnQueSxJW0xlKzNdPS1KdC54LE5bTGVdPXNuLngsTltMZSsxXT1zbi55LE5bTGUrMl09bW4ueCxOW0xlKzNdPW1uLnksRFtEbl09Zm8qem8sUm49SG4qcm4sUm49PT0wJiZybjwwJiYoUm49OSksRFtEbisxXT1Sbil9bGV0IFplPUJELGNuPVVELEtlPURELGhuPUZELHVvPU50LmZyb21DYXJ0b2dyYXBoaWNBcnJheSh2RCxMRCkscW49UmQuZ2V0TWluaW11bU1heGltdW1IZWlnaHRzKHVvLGMpLEtuPXFuLm1pbmltdW1UZXJyYWluSGVpZ2h0LGxvPXFuLm1heGltdW1UZXJyYWluSGVpZ2h0O2d0Kz1NYXRoLmFicyhLbiksZ3QrPU1hdGguYWJzKGxvKSxRTyh6dCxtZSxLbixsbyxaZSxLZSksUU8oYXQscHQsS24sbG8sY24saG4pO2xldCB6ZT1hLm11bHRpcGx5QnlTY2FsYXIoYmUsTS5FUFNJTE9ONSxpRSk7YS5hZGQoWmUsemUsWmUpLGEuYWRkKGNuLHplLGNuKSxhLmFkZChLZSx6ZSxLZSksYS5hZGQoaG4semUsaG4pLHhkKFplLGNuKSx4ZChLZSxobiksYS5wYWNrKFplLGcsWCksYS5wYWNrKGNuLGcsWCszKSxhLnBhY2soaG4sZyxYKzYpLGEucGFjayhLZSxnLFgrOSksemU9YS5tdWx0aXBseUJ5U2NhbGFyKGJlLC0yKk0uRVBTSUxPTjUsaUUpLGEuYWRkKFplLHplLFplKSxhLmFkZChjbix6ZSxjbiksYS5hZGQoS2UsemUsS2UpLGEuYWRkKGhuLHplLGhuKSx4ZChaZSxjbikseGQoS2UsaG4pLGEucGFjayhaZSxnLFgrMTIpLGEucGFjayhjbixnLFgrMTUpLGEucGFjayhobixnLFgrMTgpLGEucGFjayhLZSxnLFgrMjEpLGsrPTIsdSs9MyxLKz0xNixYKz0yNCxSKz0zMixydCs9TmUsUHQrPUdlfXU9MDtsZXQgQ3Q9MDtmb3IoZj0wO2Y8bDtmKyspe2ZvcihIPTA7SDxzRTtIKyspX1t1K0hdPWRFW0hdK0N0O0N0Kz04LHUrPXNFfWxldCBtdD1ZRDtBdC5mcm9tVmVydGljZXMobixhLlpFUk8sMyxtdFswXSksQXQuZnJvbVZlcnRpY2VzKG8sYS5aRVJPLDMsbXRbMV0pO2xldCB1dD1BdC5mcm9tQm91bmRpbmdTcGhlcmVzKG10KTt1dC5yYWRpdXMrPWd0LyhsKjIpO2xldCB2dD17cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLG5vcm1hbGl6ZTohMSx2YWx1ZXM6Z30pLHN0YXJ0SGlBbmRGb3J3YXJkT2Zmc2V0WDpPcyhiKSxzdGFydExvQW5kRm9yd2FyZE9mZnNldFk6T3MoVCksc3RhcnROb3JtYWxBbmRGb3J3YXJkT2Zmc2V0WjpPcyhPKSxlbmROb3JtYWxBbmRUZXh0dXJlQ29vcmRpbmF0ZU5vcm1hbGl6YXRpb25YOk9zKEUpLHJpZ2h0Tm9ybWFsQW5kVGV4dHVyZUNvb3JkaW5hdGVOb3JtYWxpemF0aW9uWTpPcyh3KX07cmV0dXJuIHMmJih2dC5zdGFydEhpTG8yRD1PcyhDKSx2dC5vZmZzZXRBbmRSaWdodDJEPU9zKE4pLHZ0LnN0YXJ0RW5kTm9ybWFsczJEPU9zKEkpLHZ0LnRleGNvb3JkTm9ybWFsaXphdGlvbjJEPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLG5vcm1hbGl6ZTohMSx2YWx1ZXM6RH0pKSxuZXcgVXQoe2F0dHJpYnV0ZXM6dnQsaW5kaWNlczpfLGJvdW5kaW5nU3BoZXJlOnV0fSl9ZnVuY3Rpb24gT3ModCl7cmV0dXJuIG5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTo0LG5vcm1hbGl6ZTohMSx2YWx1ZXM6dH0pfXZhciBZXyxmRCxjRSx6TyxhRSxmRSx1RCxqTyxITyxsRCxwRCxkRCxtRCxqXyxoRCxfRCx5RCx1RSxnRCxBRCxQZCxiRCxURCx3RCxPRCxFRCxTZCxDZCxLTyxXTyxSRCxTRCxDRCxZTyx4RCwkTyxQRCxaTyxNRCxsRSxwRSxKTyxxXyx0RSxlRSxJRCxuRSx2RCxMRCxERCxGRCxCRCxVRCxWRCxrRCxLXyxXXyxHRCx6RCxqRCxvRSxIRCxxRCxLRCxXRCxyRSxYRCxpRSxZRCxkRSxzRSwkXyxtRT1aKCgpPT57R18oKTtmYygpO2pyKCk7dmUoKTtGdCgpO0llKCk7WHQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7ajAoKTtJZigpO0JoKCk7U2koKTtYZSgpO1llKCk7dGMoKTtXdCgpO0JuKCk7ZnMoKTtLbygpO3duKCk7aWMoKTtZXz1bSm4sbm9dLGZEPVlfLmxlbmd0aCxjRT1NYXRoLmNvcyhNLnRvUmFkaWFucygzMCkpLHpPPU1hdGguY29zKE0udG9SYWRpYW5zKDE1MCkpLGFFPTAsZkU9MWUzO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEVzLnByb3RvdHlwZSx7cGFja2VkTGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gMSt0aGlzLl9wb3NpdGlvbnMubGVuZ3RoKjMrMSsxKzErJC5wYWNrZWRMZW5ndGgrMSsxfX19KTtFcy5zZXRQcm9qZWN0aW9uQW5kRWxsaXBzb2lkPWZ1bmN0aW9uKHQsZSl7bGV0IG49MDtmb3IobGV0IG89MDtvPGZEO28rKylpZihlIGluc3RhbmNlb2YgWV9bb10pe249bzticmVha310Ll9wcm9qZWN0aW9uSW5kZXg9bix0Ll9lbGxpcHNvaWQ9ZS5lbGxpcHNvaWR9O3VEPW5ldyBhLGpPPW5ldyBhLEhPPW5ldyBhO2xEPW5ldyBjdCxwRD1uZXcgYSxkRD1uZXcgYSxtRD1uZXcgYTtqXz1uZXcgY3Q7RXMucGFjaz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSk7bGV0IG89eChuLDApLHI9dC5fcG9zaXRpb25zLGk9ci5sZW5ndGg7ZVtvKytdPWk7Zm9yKGxldCBzPTA7czxpOysrcyl7bGV0IGY9cltzXTthLnBhY2soZixlLG8pLG8rPTN9cmV0dXJuIGVbbysrXT10LmdyYW51bGFyaXR5LGVbbysrXT10Lmxvb3A/MTowLGVbbysrXT10LmFyY1R5cGUsJC5wYWNrKHQuX2VsbGlwc29pZCxlLG8pLG8rPSQucGFja2VkTGVuZ3RoLGVbbysrXT10Ll9wcm9qZWN0aW9uSW5kZXgsZVtvKytdPXQuX3NjZW5lM0RPbmx5PzE6MCxlfTtFcy51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpO2xldCBvPXgoZSwwKSxyPXRbbysrXSxpPW5ldyBBcnJheShyKTtmb3IobGV0IGQ9MDtkPHI7ZCsrKWlbZF09YS51bnBhY2sodCxvKSxvKz0zO2xldCBzPXRbbysrXSxmPXRbbysrXT09PTEsdT10W28rK10sYz0kLnVucGFjayh0LG8pO28rPSQucGFja2VkTGVuZ3RoO2xldCBsPXRbbysrXSxwPXRbbysrXT09PTE7cmV0dXJuIGgobil8fChuPW5ldyBFcyh7cG9zaXRpb25zOml9KSksbi5fcG9zaXRpb25zPWksbi5ncmFudWxhcml0eT1zLG4ubG9vcD1mLG4uYXJjVHlwZT11LG4uX2VsbGlwc29pZD1jLG4uX3Byb2plY3Rpb25JbmRleD1sLG4uX3NjZW5lM0RPbmx5PXAsbn07aEQ9bmV3IGEsX0Q9bmV3IGEseUQ9bmV3IGEsdUU9bmV3IGEsZ0Q9MCxBRD0tMTtQZD1vbi5mcm9tUG9pbnROb3JtYWwoYS5aRVJPLGEuVU5JVF9ZKSxiRD1uZXcgYSxURD1uZXcgYSx3RD1uZXcgYSxPRD1uZXcgYSxFRD1uZXcgYSxTZD1uZXcgYSxDZD1uZXcgY3QsS089bmV3IGN0LFdPPW5ldyBjdDtFcy5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT0hdC5fc2NlbmUzRE9ubHksbj10Lmxvb3Asbz10Ll9lbGxpcHNvaWQscj10LmdyYW51bGFyaXR5LGk9dC5hcmNUeXBlLHM9bmV3IFlfW3QuX3Byb2plY3Rpb25JbmRleF0obyksZj1hRSx1PWZFLGMsbCxwPXQuX3Bvc2l0aW9ucyxkPXAubGVuZ3RoO2Q9PT0yJiYobj0hMSk7bGV0IG0sXyxnLGIsVD1uZXcgWm8odm9pZCAwLHZvaWQgMCxvKSxPLEUsdyxDPVtwWzBdXTtmb3IobD0wO2w8ZC0xO2wrKyltPXBbbF0sXz1wW2wrMV0sTz1oby5saW5lU2VnbWVudFBsYW5lKG0sXyxQZCxTZCksaChPKSYmIWEuZXF1YWxzRXBzaWxvbihPLG0sTS5FUFNJTE9ONykmJiFhLmVxdWFsc0Vwc2lsb24oTyxfLE0uRVBTSUxPTjcpJiYodC5hcmNUeXBlPT09X2UuR0VPREVTSUM/Qy5wdXNoKGEuY2xvbmUoTykpOnQuYXJjVHlwZT09PV9lLlJIVU1CJiYodz1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKE8sQ2QpLmxvbmdpdHVkZSxnPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMobSxDZCksYj1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKF8sS08pLFQuc2V0RW5kUG9pbnRzKGcsYiksRT1ULmZpbmRJbnRlcnNlY3Rpb25XaXRoTG9uZ2l0dWRlKHcsV08pLE89by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihFLFNkKSxoKE8pJiYhYS5lcXVhbHNFcHNpbG9uKE8sbSxNLkVQU0lMT043KSYmIWEuZXF1YWxzRXBzaWxvbihPLF8sTS5FUFNJTE9ONykmJkMucHVzaChhLmNsb25lKE8pKSkpLEMucHVzaChfKTtuJiYobT1wW2QtMV0sXz1wWzBdLE89aG8ubGluZVNlZ21lbnRQbGFuZShtLF8sUGQsU2QpLGgoTykmJiFhLmVxdWFsc0Vwc2lsb24oTyxtLE0uRVBTSUxPTjcpJiYhYS5lcXVhbHNFcHNpbG9uKE8sXyxNLkVQU0lMT043KSYmKHQuYXJjVHlwZT09PV9lLkdFT0RFU0lDP0MucHVzaChhLmNsb25lKE8pKTp0LmFyY1R5cGU9PT1fZS5SSFVNQiYmKHc9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhPLENkKS5sb25naXR1ZGUsZz1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG0sQ2QpLGI9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhfLEtPKSxULnNldEVuZFBvaW50cyhnLGIpLEU9VC5maW5kSW50ZXJzZWN0aW9uV2l0aExvbmdpdHVkZSh3LFdPKSxPPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oRSxTZCksaChPKSYmIWEuZXF1YWxzRXBzaWxvbihPLG0sTS5FUFNJTE9ONykmJiFhLmVxdWFsc0Vwc2lsb24oTyxfLE0uRVBTSUxPTjcpJiZDLnB1c2goYS5jbG9uZShPKSkpKSk7bGV0IE49Qy5sZW5ndGgsST1uZXcgQXJyYXkoTik7Zm9yKGw9MDtsPE47bCsrKXtsZXQgb3Q9Y3QuZnJvbUNhcnRlc2lhbihDW2xdLG8pO290LmhlaWdodD0wLElbbF09b3R9aWYoST14bihJLGN0LmVxdWFsc0Vwc2lsb24pLE49SS5sZW5ndGgsTjwyKXJldHVybjtsZXQgRD1bXSx2PVtdLEw9W10sVT1bXSxBPWJELFM9VEQsUD13RCxCPU9ELGo9RUQsSD1JWzBdLGs9SVsxXSxLPUlbTi0xXTtmb3IoQT1VbyhvLEssZixBKSxCPVVvKG8sayxmLEIpLFM9VW8obyxILGYsUyksUD1VbyhvLEgsdSxQKSxuP2o9SF8oQSxTLFAsQixqKTpqPVhfKEgsayx1LG8saiksYS5wYWNrKGosdiwwKSxhLnBhY2soUyxMLDApLGEucGFjayhQLFUsMCksRC5wdXNoKEgubGF0aXR1ZGUpLEQucHVzaChILmxvbmdpdHVkZSksel8oSCxrLGYsdSxyLGksbyx2LEwsVSxEKSxsPTE7bDxOLTE7KytsKXtBPWEuY2xvbmUoUyxBKSxTPWEuY2xvbmUoQixTKTtsZXQgb3Q9SVtsXTtVbyhvLG90LHUsUCksVW8obyxJW2wrMV0sZixCKSxIXyhBLFMsUCxCLGopLGM9di5sZW5ndGgsYS5wYWNrKGosdixjKSxhLnBhY2soUyxMLGMpLGEucGFjayhQLFUsYyksRC5wdXNoKG90LmxhdGl0dWRlKSxELnB1c2gob3QubG9uZ2l0dWRlKSx6XyhJW2xdLElbbCsxXSxmLHUscixpLG8sdixMLFUsRCl9bGV0IFg9SVtOLTFdLFI9SVtOLTJdO2lmKFM9VW8obyxYLGYsUyksUD1VbyhvLFgsdSxQKSxuKXtsZXQgb3Q9SVswXTtBPVVvKG8sUixmLEEpLEI9VW8obyxvdCxmLEIpLGo9SF8oQSxTLFAsQixqKX1lbHNlIGo9WF8oUixYLHUsbyxqKTtpZihjPXYubGVuZ3RoLGEucGFjayhqLHYsYyksYS5wYWNrKFMsTCxjKSxhLnBhY2soUCxVLGMpLEQucHVzaChYLmxhdGl0dWRlKSxELnB1c2goWC5sb25naXR1ZGUpLG4pe2Zvcih6XyhYLEgsZix1LHIsaSxvLHYsTCxVLEQpLGM9di5sZW5ndGgsbD0wO2w8MzsrK2wpdltjK2xdPXZbbF0sTFtjK2xdPUxbbF0sVVtjK2xdPVVbbF07RC5wdXNoKEgubGF0aXR1ZGUpLEQucHVzaChILmxvbmdpdHVkZSl9cmV0dXJuICREKG4scyxMLFUsdixELGUpfTtSRD1uZXcgYSxTRD1uZXcgUSxDRD1uZXcgZWU7WU89bmV3IGN0LHhEPW5ldyBhLCRPPW5ldyBhO1BEPW5ldyBhLFpPPW5ldyBhO01EPW5ldyBhO2xFPW5ldyBjdCxwRT1uZXcgY3QsSk89bmV3IGEscV89bmV3IGEsdEU9bmV3IGEsZUU9bmV3IGEsSUQ9bmV3IGEsbkU9bmV3IGEsdkQ9W2xFLHBFXSxMRD1uZXcgTnQsREQ9bmV3IGEsRkQ9bmV3IGEsQkQ9bmV3IGEsVUQ9bmV3IGEsVkQ9bmV3IGEsa0Q9bmV3IGEsS189bmV3IGEsV189bmV3IGEsR0Q9bmV3IGEsekQ9bmV3IGEsakQ9bmV3IGEsb0U9bmV3IGEsSEQ9bmV3IGEscUQ9bmV3IGEsS0Q9bmV3IFpzLFdEPW5ldyBacyxyRT1uZXcgYSxYRD1uZXcgYSxpRT1uZXcgYSxZRD1bbmV3IEF0LG5ldyBBdF0sZEU9WzAsMiwxLDAsMywyLDAsNywzLDAsNCw3LDAsNSw0LDAsMSw1LDUsNyw0LDUsNiw3LDUsMiw2LDUsMSwyLDMsNiwyLDMsNyw2XSxzRT1kRS5sZW5ndGg7RXMuX3Byb2plY3ROb3JtYWw9WmY7JF89RXN9KTt2YXIgWl89e307ZGUoWl8se2RlZmF1bHQ6KCk9PlFEfSk7ZnVuY3Rpb24gWkQodCxlKXtyZXR1cm4gUmQuaW5pdGlhbGl6ZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gaChlKSYmKHQ9JF8udW5wYWNrKHQsZSkpLCRfLmNyZWF0ZUdlb21ldHJ5KHQpfSl9dmFyIFFELFFfPVooKCk9PntHXygpO2Z0KCk7bUUoKTtRRD1aRH0pO2Z1bmN0aW9uIFNhKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT14KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpO3RoaXMuX3ZlcnRleEZvcm1hdD1lLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVBsYW5lR2VvbWV0cnkifXZhciBoRSxKRCxNZCxOZCxKXyxfRT1aKCgpPT57dmUoKTtGdCgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7WGUoKTtZZSgpO2FuKCk7dG4oKTtSbygpO1NhLnBhY2tlZExlbmd0aD1kdC5wYWNrZWRMZW5ndGg7U2EucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbiksZX07aEU9bmV3IGR0LEpEPXt2ZXJ0ZXhGb3JtYXQ6aEV9O1NhLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89ZHQudW5wYWNrKHQsZSxoRSk7cmV0dXJuIGgobik/KG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShvLG4uX3ZlcnRleEZvcm1hdCksbik6bmV3IFNhKEpEKX07TWQ9bmV3IGEoLS41LC0uNSwwKSxOZD1uZXcgYSguNSwuNSwwKTtTYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll92ZXJ0ZXhGb3JtYXQsbj1uZXcgaWUsbyxyO2lmKGUucG9zaXRpb24pe2lmKHI9bmV3IEZsb2F0NjRBcnJheSg0KjMpLHJbMF09TWQueCxyWzFdPU1kLnksclsyXT0wLHJbM109TmQueCxyWzRdPU1kLnkscls1XT0wLHJbNl09TmQueCxyWzddPU5kLnkscls4XT0wLHJbOV09TWQueCxyWzEwXT1OZC55LHJbMTFdPTAsbi5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnJ9KSxlLm5vcm1hbCl7bGV0IGk9bmV3IEZsb2F0MzJBcnJheSgxMik7aVswXT0wLGlbMV09MCxpWzJdPTEsaVszXT0wLGlbNF09MCxpWzVdPTEsaVs2XT0wLGlbN109MCxpWzhdPTEsaVs5XT0wLGlbMTBdPTAsaVsxMV09MSxuLm5vcm1hbD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6aX0pfWlmKGUuc3Qpe2xldCBpPW5ldyBGbG9hdDMyQXJyYXkoOCk7aVswXT0wLGlbMV09MCxpWzJdPTEsaVszXT0wLGlbNF09MSxpWzVdPTEsaVs2XT0wLGlbN109MSxuLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczppfSl9aWYoZS50YW5nZW50KXtsZXQgaT1uZXcgRmxvYXQzMkFycmF5KDEyKTtpWzBdPTEsaVsxXT0wLGlbMl09MCxpWzNdPTEsaVs0XT0wLGlbNV09MCxpWzZdPTEsaVs3XT0wLGlbOF09MCxpWzldPTEsaVsxMF09MCxpWzExXT0wLG4udGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6aX0pfWlmKGUuYml0YW5nZW50KXtsZXQgaT1uZXcgRmxvYXQzMkFycmF5KDEyKTtpWzBdPTAsaVsxXT0xLGlbMl09MCxpWzNdPTAsaVs0XT0xLGlbNV09MCxpWzZdPTAsaVs3XT0xLGlbOF09MCxpWzldPTAsaVsxMF09MSxpWzExXT0wLG4uYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczppfSl9bz1uZXcgVWludDE2QXJyYXkoMiozKSxvWzBdPTAsb1sxXT0xLG9bMl09MixvWzNdPTAsb1s0XT0yLG9bNV09M31yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOm4saW5kaWNlczpvLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOm5ldyBBdChhLlpFUk8sTWF0aC5zcXJ0KDIpKX0pfTtKXz1TYX0pO3ZhciB0eT17fTtkZSh0eSx7ZGVmYXVsdDooKT0+ZUZ9KTtmdW5jdGlvbiB0Rih0LGUpe3JldHVybiBoKGUpJiYodD1KXy51bnBhY2sodCxlKSksSl8uY3JlYXRlR2VvbWV0cnkodCl9dmFyIGVGLGV5PVooKCk9PntmdCgpO19FKCk7ZUY9dEZ9KTtmdW5jdGlvbiBDYSgpe3RoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVBsYW5lT3V0bGluZUdlb21ldHJ5In12YXIgUnMsSWQsbnkseUU9WigoKT0+e3ZlKCk7RnQoKTtYdCgpO0ZlKCk7ZnQoKTtYZSgpO1llKCk7YW4oKTt0bigpO0NhLnBhY2tlZExlbmd0aD0wO0NhLnBhY2s9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5kZWZpbmVkKCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksZX07Q2EudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksaChuKT9uOm5ldyBDYX07UnM9bmV3IGEoLS41LC0uNSwwKSxJZD1uZXcgYSguNSwuNSwwKTtDYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbigpe2xldCB0PW5ldyBpZSxlPW5ldyBVaW50MTZBcnJheSg0KjIpLG49bmV3IEZsb2F0NjRBcnJheSg0KjMpO3JldHVybiBuWzBdPVJzLngsblsxXT1Scy55LG5bMl09UnMueixuWzNdPUlkLngsbls0XT1Scy55LG5bNV09UnMueixuWzZdPUlkLngsbls3XT1JZC55LG5bOF09UnMueixuWzldPVJzLngsblsxMF09SWQueSxuWzExXT1Scy56LHQucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpufSksZVswXT0wLGVbMV09MSxlWzJdPTEsZVszXT0yLGVbNF09MixlWzVdPTMsZVs2XT0zLGVbN109MCxuZXcgVXQoe2F0dHJpYnV0ZXM6dCxpbmRpY2VzOmUscHJpbWl0aXZlVHlwZTpCdC5MSU5FUyxib3VuZGluZ1NwaGVyZTpuZXcgQXQoYS5aRVJPLE1hdGguc3FydCgyKSl9KX07bnk9Q2F9KTt2YXIgb3k9e307ZGUob3kse2RlZmF1bHQ6KCk9Pm9GfSk7ZnVuY3Rpb24gbkYodCxlKXtyZXR1cm4gaChlKSYmKHQ9bnkudW5wYWNrKHQsZSkpLG55LmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBvRixyeT1aKCgpPT57ZnQoKTt5RSgpO29GPW5GfSk7ZnVuY3Rpb24gTG4odCxlKXt0aGlzLnBvc2l0aW9uPXQsaCh0aGlzLnBvc2l0aW9uKXx8KHRoaXMucG9zaXRpb249bmV3IHR0KSx0aGlzLnRhbmdlbnRQbGFuZT1lLGgodGhpcy50YW5nZW50UGxhbmUpfHwodGhpcy50YW5nZW50UGxhbmU9TG4uTk9SVEhfUE9MRV9UQU5HRU5UX1BMQU5FKX12YXIgeGEsckYsaUYsc0YsY0YsY3IsZ0U9WigoKT0+e1VlKCk7RnQoKTtJZSgpO1h0KCk7ZnQoKTtadCgpO3BhKCk7dGMoKTtXdCgpO1ZwKCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTG4ucHJvdG90eXBlLHtlbGxpcHNvaWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRhbmdlbnRQbGFuZS5lbGxpcHNvaWR9fSx4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wb3NpdGlvbi54fX0seTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucG9zaXRpb24ueX19LGNvbmZvcm1hbExhdGl0dWRlOntnZXQ6ZnVuY3Rpb24oKXtsZXQgdD10dC5tYWduaXR1ZGUodGhpcy5wb3NpdGlvbiksZT0yKnRoaXMuZWxsaXBzb2lkLm1heGltdW1SYWRpdXM7cmV0dXJuIHRoaXMudGFuZ2VudFBsYW5lLnBsYW5lLm5vcm1hbC56KihNLlBJX09WRVJfVFdPLTIqTWF0aC5hdGFuMih0LGUpKX19LGxvbmdpdHVkZTp7Z2V0OmZ1bmN0aW9uKCl7bGV0IHQ9TS5QSV9PVkVSX1RXTytNYXRoLmF0YW4yKHRoaXMueSx0aGlzLngpO3JldHVybiB0Pk1hdGguUEkmJih0LT1NLlRXT19QSSksdH19fSk7eGE9bmV3IGN0LHJGPW5ldyBhO0xuLnByb3RvdHlwZS5nZXRMYXRpdHVkZT1mdW5jdGlvbih0KXtoKHQpfHwodD0kLmRlZmF1bHQpLHhhLmxhdGl0dWRlPXRoaXMuY29uZm9ybWFsTGF0aXR1ZGUseGEubG9uZ2l0dWRlPXRoaXMubG9uZ2l0dWRlLHhhLmhlaWdodD0wO2xldCBlPXRoaXMuZWxsaXBzb2lkLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKHhhLHJGKTtyZXR1cm4gdC5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhlLHhhKSx4YS5sYXRpdHVkZX07aUY9bmV3IFFzLHNGPW5ldyBhLGNGPW5ldyBhO0xuLmZyb21DYXJ0ZXNpYW49ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbiIsdCk7bGV0IG49TS5zaWduTm90WmVybyh0LnopLG89TG4uTk9SVEhfUE9MRV9UQU5HRU5UX1BMQU5FLHI9TG4uU09VVEhfUE9MRTtuPDAmJihvPUxuLlNPVVRIX1BPTEVfVEFOR0VOVF9QTEFORSxyPUxuLk5PUlRIX1BPTEUpO2xldCBpPWlGO2kub3JpZ2luPW8uZWxsaXBzb2lkLnNjYWxlVG9HZW9jZW50cmljU3VyZmFjZSh0LGkub3JpZ2luKSxpLmRpcmVjdGlvbj1hLnN1YnRyYWN0KGkub3JpZ2luLHIsc0YpLGEubm9ybWFsaXplKGkuZGlyZWN0aW9uLGkuZGlyZWN0aW9uKTtsZXQgcz1oby5yYXlQbGFuZShpLG8ucGxhbmUsY0YpLGY9YS5zdWJ0cmFjdChzLHIscyksdT1hLmRvdChvLnhBeGlzLGYpLGM9biphLmRvdChvLnlBeGlzLGYpO3JldHVybiBoKGUpPyhlLnBvc2l0aW9uPW5ldyB0dCh1LGMpLGUudGFuZ2VudFBsYW5lPW8sZSk6bmV3IExuKG5ldyB0dCh1LGMpLG8pfTtMbi5mcm9tQ2FydGVzaWFuQXJyYXk9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbnMiLHQpO2xldCBuPXQubGVuZ3RoO2goZSk/ZS5sZW5ndGg9bjplPW5ldyBBcnJheShuKTtmb3IobGV0IG89MDtvPG47bysrKWVbb109TG4uZnJvbUNhcnRlc2lhbih0W29dLGVbb10pO3JldHVybiBlfTtMbi5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUucG9zaXRpb249dC5wb3NpdGlvbixlLnRhbmdlbnRQbGFuZT10LnRhbmdlbnRQbGFuZSxlKTpuZXcgTG4odC5wb3NpdGlvbix0LnRhbmdlbnRQbGFuZSl9O0xuLkhBTEZfVU5JVF9TUEhFUkU9T2JqZWN0LmZyZWV6ZShuZXcgJCguNSwuNSwuNSkpO0xuLk5PUlRIX1BPTEU9T2JqZWN0LmZyZWV6ZShuZXcgYSgwLDAsLjUpKTtMbi5TT1VUSF9QT0xFPU9iamVjdC5mcmVlemUobmV3IGEoMCwwLC0uNSkpO0xuLk5PUlRIX1BPTEVfVEFOR0VOVF9QTEFORT1PYmplY3QuZnJlZXplKG5ldyB5byhMbi5OT1JUSF9QT0xFLExuLkhBTEZfVU5JVF9TUEhFUkUpKTtMbi5TT1VUSF9QT0xFX1RBTkdFTlRfUExBTkU9T2JqZWN0LmZyZWV6ZShuZXcgeW8oTG4uU09VVEhfUE9MRSxMbi5IQUxGX1VOSVRfU1BIRVJFKSk7Y3I9TG59KTtmdW5jdGlvbiBmRih0LGUsbixvKXtsZXQgaT1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHQsYUYpLmhlaWdodCxzPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZSxBRSk7cy5oZWlnaHQ9aSxvLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKHMsZSk7bGV0IGY9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhuLEFFKTtmLmhlaWdodD1pLTEwMCxvLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGYsbil9ZnVuY3Rpb24gaXkodCl7bGV0IGU9dC52ZXJ0ZXhGb3JtYXQsbj10Lmdlb21ldHJ5LG89dC5zaGFkb3dWb2x1bWUscj1uLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLGk9aChuLmF0dHJpYnV0ZXMuc3QpP24uYXR0cmlidXRlcy5zdC52YWx1ZXM6dm9pZCAwLHM9ci5sZW5ndGgsZj10LndhbGwsdT10LnRvcHx8ZixjPXQuYm90dG9tfHxmO2lmKGUuc3R8fGUubm9ybWFsfHxlLnRhbmdlbnR8fGUuYml0YW5nZW50fHxvKXtsZXQgbD10LmJvdW5kaW5nUmVjdGFuZ2xlLHA9dC5yb3RhdGlvbkF4aXMsZD10LnByb2plY3RUbzJkLG09dC5lbGxpcHNvaWQsXz10LnN0Um90YXRpb24sZz10LnBlclBvc2l0aW9uSGVpZ2h0LGI9X0Y7Yi54PWwueCxiLnk9bC55O2xldCBUPWUuc3Q/bmV3IEZsb2F0MzJBcnJheSgyKihzLzMpKTp2b2lkIDAsTztlLm5vcm1hbCYmKGcmJnUmJiFmP089bi5hdHRyaWJ1dGVzLm5vcm1hbC52YWx1ZXM6Tz1uZXcgRmxvYXQzMkFycmF5KHMpKTtsZXQgRT1lLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShzKTp2b2lkIDAsdz1lLmJpdGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KHMpOnZvaWQgMCxDPW8/bmV3IEZsb2F0MzJBcnJheShzKTp2b2lkIDAsTj0wLEk9MCxEPWxGLHY9cEYsTD1kRixVPSEwLEE9QUYsUz1iRjtpZihfIT09MCl7bGV0IGo9ZWUuZnJvbUF4aXNBbmdsZShwLF8sVEUpO0E9US5mcm9tUXVhdGVybmlvbihqLEEpLGo9ZWUuZnJvbUF4aXNBbmdsZShwLC1fLFRFKSxTPVEuZnJvbVF1YXRlcm5pb24oaixTKX1lbHNlIEE9US5jbG9uZShRLklERU5USVRZLEEpLFM9US5jbG9uZShRLklERU5USVRZLFMpO2xldCBQPTAsQj0wO3UmJmMmJihQPXMvMixCPXMvMyxzLz0yKTtmb3IobGV0IGo9MDtqPHM7ais9Myl7bGV0IEg9YS5mcm9tQXJyYXkocixqLGdGKTtpZihlLnN0JiYhaChpKSl7bGV0IGs9US5tdWx0aXBseUJ5VmVjdG9yKEEsSCx1Rik7az1tLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UoayxrKTtsZXQgSz1kKFtrXSx5RilbMF07dHQuc3VidHJhY3QoSyxiLEspO2xldCBYPU0uY2xhbXAoSy54L2wud2lkdGgsMCwxKSxSPU0uY2xhbXAoSy55L2wuaGVpZ2h0LDAsMSk7YyYmKFRbTitCXT1YLFRbTisxK0JdPVIpLHUmJihUW05dPVgsVFtOKzFdPVIpLE4rPTJ9aWYoZS5ub3JtYWx8fGUudGFuZ2VudHx8ZS5iaXRhbmdlbnR8fG8pe2xldCBrPUkrMSxLPUkrMjtpZihmKXtpZihqKzM8cyl7bGV0IFg9YS5mcm9tQXJyYXkocixqKzMsbUYpO2lmKFUpe2xldCBSPWEuZnJvbUFycmF5KHIsaitzLGhGKTtnJiZmRihILFgsUixtKSxhLnN1YnRyYWN0KFgsSCxYKSxhLnN1YnRyYWN0KFIsSCxSKSxEPWEubm9ybWFsaXplKGEuY3Jvc3MoUixYLEQpLEQpLFU9ITF9YS5lcXVhbHNFcHNpbG9uKFgsSCxNLkVQU0lMT04xMCkmJihVPSEwKX0oZS50YW5nZW50fHxlLmJpdGFuZ2VudCkmJihMPW0uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKEgsTCksZS50YW5nZW50JiYodj1hLm5vcm1hbGl6ZShhLmNyb3NzKEwsRCx2KSx2KSkpfWVsc2UgRD1tLmdlb2RldGljU3VyZmFjZU5vcm1hbChILEQpLChlLnRhbmdlbnR8fGUuYml0YW5nZW50KSYmKGcmJih2ZD1hLmZyb21BcnJheShPLEksdmQpLGRpPWEuY3Jvc3MoYS5VTklUX1osdmQsZGkpLGRpPWEubm9ybWFsaXplKFEubXVsdGlwbHlCeVZlY3RvcihTLGRpLGRpKSxkaSksZS5iaXRhbmdlbnQmJihQYT1hLm5vcm1hbGl6ZShhLmNyb3NzKHZkLGRpLFBhKSxQYSkpKSx2PWEuY3Jvc3MoYS5VTklUX1osRCx2KSx2PWEubm9ybWFsaXplKFEubXVsdGlwbHlCeVZlY3RvcihTLHYsdiksdiksZS5iaXRhbmdlbnQmJihMPWEubm9ybWFsaXplKGEuY3Jvc3MoRCx2LEwpLEwpKSk7ZS5ub3JtYWwmJih0LndhbGw/KE9bSStQXT1ELngsT1trK1BdPUQueSxPW0srUF09RC56KTpjJiYoT1tJK1BdPS1ELngsT1trK1BdPS1ELnksT1tLK1BdPS1ELnopLCh1JiYhZ3x8ZikmJihPW0ldPUQueCxPW2tdPUQueSxPW0tdPUQueikpLG8mJihmJiYoRD1tLmdlb2RldGljU3VyZmFjZU5vcm1hbChILEQpKSxDW0krUF09LUQueCxDW2srUF09LUQueSxDW0srUF09LUQueiksZS50YW5nZW50JiYodC53YWxsPyhFW0krUF09di54LEVbaytQXT12LnksRVtLK1BdPXYueik6YyYmKEVbSStQXT0tdi54LEVbaytQXT0tdi55LEVbSytQXT0tdi56KSx1JiYoZz8oRVtJXT1kaS54LEVba109ZGkueSxFW0tdPWRpLnopOihFW0ldPXYueCxFW2tdPXYueSxFW0tdPXYueikpKSxlLmJpdGFuZ2VudCYmKGMmJih3W0krUF09TC54LHdbaytQXT1MLnksd1tLK1BdPUwueiksdSYmKGc/KHdbSV09UGEueCx3W2tdPVBhLnksd1tLXT1QYS56KTood1tJXT1MLngsd1trXT1MLnksd1tLXT1MLnopKSksSSs9M319ZS5zdCYmIWgoaSkmJihuLmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOlR9KSksZS5ub3JtYWwmJihuLmF0dHJpYnV0ZXMubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpPfSkpLGUudGFuZ2VudCYmKG4uYXR0cmlidXRlcy50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpFfSkpLGUuYml0YW5nZW50JiYobi5hdHRyaWJ1dGVzLmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6d30pKSxvJiYobi5hdHRyaWJ1dGVzLmV4dHJ1ZGVEaXJlY3Rpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkN9KSl9aWYodC5leHRydWRlJiZoKHQub2Zmc2V0QXR0cmlidXRlKSl7bGV0IGw9ci5sZW5ndGgvMyxwPW5ldyBVaW50OEFycmF5KGwpO2lmKHQub2Zmc2V0QXR0cmlidXRlPT09ZmUuVE9QKXUmJmN8fGY/cD1wLmZpbGwoMSwwLGwvMik6dSYmKHA9cC5maWxsKDEpKTtlbHNle2xldCBkPXQub2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjE7cD1wLmZpbGwoZCl9bi5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnB9KX1yZXR1cm4gbn1mdW5jdGlvbiBURih0LGUsbixvLHIsaSxzLGYsdSxjKXtsZXQgbD17d2FsbHM6W119LHA7aWYoc3x8Zil7bGV0IE89eWUuY3JlYXRlR2VvbWV0cnlGcm9tUG9zaXRpb25zKHQsZSxuLG8saSx1LGMpLEU9Ty5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyx3PU8uaW5kaWNlcyxDLE47aWYocyYmZil7bGV0IEk9RS5jb25jYXQoRSk7Qz1JLmxlbmd0aC8zLE49RHQuY3JlYXRlVHlwZWRBcnJheShDLHcubGVuZ3RoKjIpLE4uc2V0KHcpO2xldCBEPXcubGVuZ3RoLHY9Qy8yO2ZvcihwPTA7cDxEO3ArPTMpe2xldCBMPU5bcF0rdixVPU5bcCsxXSt2LEE9TltwKzJdK3Y7TltwK0RdPUEsTltwKzErRF09VSxOW3ArMitEXT1MfWlmKE8uYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9SSxpJiZ1Lm5vcm1hbCl7bGV0IEw9Ty5hdHRyaWJ1dGVzLm5vcm1hbC52YWx1ZXM7Ty5hdHRyaWJ1dGVzLm5vcm1hbC52YWx1ZXM9bmV3IEZsb2F0MzJBcnJheShJLmxlbmd0aCksTy5hdHRyaWJ1dGVzLm5vcm1hbC52YWx1ZXMuc2V0KEwpfWlmKHUuc3QmJmgobikpe2xldCBMPU8uYXR0cmlidXRlcy5zdC52YWx1ZXM7Ty5hdHRyaWJ1dGVzLnN0LnZhbHVlcz1uZXcgRmxvYXQzMkFycmF5KEMqMiksTy5hdHRyaWJ1dGVzLnN0LnZhbHVlcz1MLmNvbmNhdChMKX1PLmluZGljZXM9Tn1lbHNlIGlmKGYpe2ZvcihDPUUubGVuZ3RoLzMsTj1EdC5jcmVhdGVUeXBlZEFycmF5KEMsdy5sZW5ndGgpLHA9MDtwPHcubGVuZ3RoO3ArPTMpTltwXT13W3ArMl0sTltwKzFdPXdbcCsxXSxOW3ArMl09d1twXTtPLmluZGljZXM9Tn1sLnRvcEFuZEJvdHRvbT1uZXcgY28oe2dlb21ldHJ5Ok99KX1sZXQgZD1yLm91dGVyUmluZyxtPXlvLmZyb21Qb2ludHMoZCx0KSxfPW0ucHJvamVjdFBvaW50c09udG9QbGFuZShkLHdFKSxnPVBlLmNvbXB1dGVXaW5kaW5nT3JkZXIyRChfKTtnPT09Q28uQ0xPQ0tXSVNFJiYoZD1kLnNsaWNlKCkucmV2ZXJzZSgpKTtsZXQgYj15ZS5jb21wdXRlV2FsbEdlb21ldHJ5KGQsbix0LG8saSxjKTtsLndhbGxzLnB1c2gobmV3IGNvKHtnZW9tZXRyeTpifSkpO2xldCBUPXIuaG9sZXM7Zm9yKHA9MDtwPFQubGVuZ3RoO3ArKyl7bGV0IE89VFtwXTtfPW0ucHJvamVjdFBvaW50c09udG9QbGFuZShPLHdFKSxnPVBlLmNvbXB1dGVXaW5kaW5nT3JkZXIyRChfKSxnPT09Q28uQ09VTlRFUl9DTE9DS1dJU0UmJihPPU8uc2xpY2UoKS5yZXZlcnNlKCkpLGI9eWUuY29tcHV0ZVdhbGxHZW9tZXRyeShPLG4sdCxvLGksYyksbC53YWxscy5wdXNoKG5ldyBjbyh7Z2VvbWV0cnk6Yn0pKX1yZXR1cm4gbH1mdW5jdGlvbiBScih0KXtpZih5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMiLHQpLHkudHlwZU9mLm9iamVjdCgib3B0aW9ucy5wb2x5Z29uSGllcmFyY2h5Iix0LnBvbHlnb25IaWVyYXJjaHkpLGgodC5wZXJQb3NpdGlvbkhlaWdodCkmJnQucGVyUG9zaXRpb25IZWlnaHQmJmgodC5oZWlnaHQpKXRocm93IG5ldyBGKCJDYW5ub3QgdXNlIGJvdGggb3B0aW9ucy5wZXJQb3NpdGlvbkhlaWdodCBhbmQgb3B0aW9ucy5oZWlnaHQiKTtpZihoKHQuYXJjVHlwZSkmJnQuYXJjVHlwZSE9PV9lLkdFT0RFU0lDJiZ0LmFyY1R5cGUhPT1fZS5SSFVNQil0aHJvdyBuZXcgRigiSW52YWxpZCBhcmNUeXBlLiBWYWxpZCBvcHRpb25zIGFyZSBBcmNUeXBlLkdFT0RFU0lDIGFuZCBBcmNUeXBlLlJIVU1CLiIpO2xldCBlPXQucG9seWdvbkhpZXJhcmNoeSxuPXgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCksbz14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkscj14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLGk9eCh0LnN0Um90YXRpb24sMCkscz10LnRleHR1cmVDb29yZGluYXRlcyxmPXgodC5wZXJQb3NpdGlvbkhlaWdodCwhMSksdT1mJiZoKHQuZXh0cnVkZWRIZWlnaHQpLGM9eCh0LmhlaWdodCwwKSxsPXgodC5leHRydWRlZEhlaWdodCxjKTtpZighdSl7bGV0IHA9TWF0aC5tYXgoYyxsKTtsPU1hdGgubWluKGMsbCksYz1wfXRoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShuKSx0aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZShvKSx0aGlzLl9ncmFudWxhcml0eT1yLHRoaXMuX3N0Um90YXRpb249aSx0aGlzLl9oZWlnaHQ9Yyx0aGlzLl9leHRydWRlZEhlaWdodD1sLHRoaXMuX2Nsb3NlVG9wPXgodC5jbG9zZVRvcCwhMCksdGhpcy5fY2xvc2VCb3R0b209eCh0LmNsb3NlQm90dG9tLCEwKSx0aGlzLl9wb2x5Z29uSGllcmFyY2h5PWUsdGhpcy5fcGVyUG9zaXRpb25IZWlnaHQ9Zix0aGlzLl9wZXJQb3NpdGlvbkhlaWdodEV4dHJ1ZGU9dSx0aGlzLl9zaGFkb3dWb2x1bWU9eCh0LnNoYWRvd1ZvbHVtZSwhMSksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlUG9seWdvbkdlb21ldHJ5Iix0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fYXJjVHlwZT14KHQuYXJjVHlwZSxfZS5HRU9ERVNJQyksdGhpcy5fcmVjdGFuZ2xlPXZvaWQgMCx0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzPXZvaWQgMCx0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZXM9cyx0aGlzLnBhY2tlZExlbmd0aD15ZS5jb21wdXRlSGllcmFyY2h5UGFja2VkTGVuZ3RoKGUsYSkrJC5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RoKyhzP3llLmNvbXB1dGVIaWVyYXJjaHlQYWNrZWRMZW5ndGgocyx0dCk6MSkrMTJ9ZnVuY3Rpb24gT0UodCxlLG4sbyxyLGkpe2xldCBzPXQubG9uZ2l0dWRlLGY9cz49MD9zOnMrTS5UV09fUEk7ci53ZXN0T3ZlcklkbD1NYXRoLm1pbihyLndlc3RPdmVySWRsLGYpLHIuZWFzdE92ZXJJZGw9TWF0aC5tYXgoci5lYXN0T3ZlcklkbCxmKSxpLndlc3Q9TWF0aC5taW4oaS53ZXN0LHMpLGkuZWFzdD1NYXRoLm1heChpLmVhc3Qscyk7bGV0IHU9dC5nZXRMYXRpdHVkZShuKSxjPXU7aWYoaS5zb3V0aD1NYXRoLm1pbihpLnNvdXRoLHUpLGkubm9ydGg9TWF0aC5tYXgoaS5ub3J0aCx1KSxvIT09X2UuUkhVTUIpe2xldCBkPXR0LnN1YnRyYWN0KGUucG9zaXRpb24sdC5wb3NpdGlvbixSRiksbT10dC5kb3QoZS5wb3NpdGlvbixkKS90dC5kb3QoZCxkKTtpZihtPjAmJm08MSl7bGV0IF89dHQuYWRkKGUucG9zaXRpb24sdHQubXVsdGlwbHlCeVNjYWxhcihkLC1tLGQpLFNGKSxnPWNyLmNsb25lKGUsQ0YpO2cucG9zaXRpb249XztsZXQgYj1nLmdldExhdGl0dWRlKG4pO2kuc291dGg9TWF0aC5taW4oaS5zb3V0aCxiKSxpLm5vcnRoPU1hdGgubWF4KGkubm9ydGgsYiksTWF0aC5hYnModSk+TWF0aC5hYnMoYikmJihjPWIpfX1sZXQgbD1lLngqdC55LXQueCplLnkscD1NYXRoLnNpZ24obCk7cCE9PTAmJihwKj10dC5hbmdsZUJldHdlZW4oZS5wb3NpdGlvbix0LnBvc2l0aW9uKSksYz49MCYmKHIubm9ydGhBbmdsZSs9cCksYzw9MCYmKHIuc291dGhBbmdsZSs9cCl9ZnVuY3Rpb24gTUYodCxlLG4pe3JldHVybiB0LmhlaWdodD49TS5QSXx8dC53aWR0aD49TS5QST9jci5mcm9tQ2FydGVzaWFuKGVbMF0sUEYpLnRhbmdlbnRQbGFuZTp5by5mcm9tUG9pbnRzKGUsbil9ZnVuY3Rpb24gTkYodCxlLG4pe3JldHVybihvLHIpPT57aWYodC5oZWlnaHQ+PU0uUEl8fHQud2lkdGg+PU0uUEkpe2lmKHQuc291dGg8MCYmdC5ub3J0aD4wKXtoKHIpfHwocj1bXSk7Zm9yKGxldCBzPTA7czxvLmxlbmd0aDsrK3Mpe2xldCBmPW4uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMob1tzXSxSRSk7cltzXT1uZXcgdHQoZi5sb25naXR1ZGUvTS5QSSxmLmxhdGl0dWRlL00uUElfT1ZFUl9UV08pfXJldHVybiByLmxlbmd0aD1vLmxlbmd0aCxyfXJldHVybiBjci5mcm9tQ2FydGVzaWFuQXJyYXkobyxyKX1yZXR1cm4geW8uZnJvbVBvaW50cyhlLG4pLnByb2plY3RQb2ludHNPbnRvUGxhbmUobyxyKX19ZnVuY3Rpb24gSUYodCxlLG4pe2lmKHQuaGVpZ2h0Pj1NLlBJfHx0LndpZHRoPj1NLlBJKXJldHVybihyLGkpPT57aWYodC5zb3V0aDwwJiZ0Lm5vcnRoPjApe2xldCBzPW4uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMocixSRSk7cmV0dXJuIGgoaSl8fChpPW5ldyB0dCksaS54PXMubG9uZ2l0dWRlL00uUEksaS55PXMubGF0aXR1ZGUvTS5QSV9PVkVSX1RXTyxpfXJldHVybiBjci5mcm9tQ2FydGVzaWFuKHIsaSl9O2xldCBvPXlvLmZyb21Qb2ludHMoZSxuKTtyZXR1cm4ocixpKT0+by5wcm9qZWN0UG9pbnRzT250b1BsYW5lKHIsaSl9ZnVuY3Rpb24gdkYodCxlLG4sbyl7cmV0dXJuKHIsaSk9PiFvJiYodC5oZWlnaHQ+PU0uUElfT1ZFUl9UV098fHQud2lkdGg+PTIqTS5QSV9PVkVSX1RIUkVFKT95ZS5zcGxpdFBvbHlnb25zT25FcXVhdG9yKHIsZSxuLGkpOnJ9ZnVuY3Rpb24gTEYodCxlLG4sbyl7aWYoZS5oZWlnaHQ+PU0uUEl8fGUud2lkdGg+PU0uUEkpcmV0dXJuIEhyLmZyb21SZWN0YW5nbGUoZSx2b2lkIDAsYkUpO2xldCByPXQsaT15by5mcm9tUG9pbnRzKHIsbik7cmV0dXJuIHllLmNvbXB1dGVCb3VuZGluZ1JlY3RhbmdsZShpLnBsYW5lLm5vcm1hbCxpLnByb2plY3RQb2ludE9udG9QbGFuZS5iaW5kKGkpLHIsbyxiRSl9ZnVuY3Rpb24gREYodCl7bGV0IGU9LXQuX3N0Um90YXRpb247aWYoZT09PTApcmV0dXJuWzAsMCwwLDEsMSwwXTtsZXQgbj10Ll9lbGxpcHNvaWQsbz10Ll9wb2x5Z29uSGllcmFyY2h5LnBvc2l0aW9ucyxyPXQucmVjdGFuZ2xlO3JldHVybiBVdC5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50cyhvLGUsbixyKX12YXIgYUYsQUUsYkUsdUYsbEYscEYsZEYsbUYsaEYsdmQsZGksUGEsX0YseUYsZ0YsVEUsQUYsYkYsd0Usd0YsT0YsRUYsUkYsU0YsQ0YsRUUseEYsRXIsUEYsUkUsc3ksU0U9WigoKT0+e2ZjKCk7UGYoKTt2ZSgpO1VlKCk7RnQoKTtJZSgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO3BhKCk7WGUoKTtZZSgpO3NjKCk7TG8oKTtzaSgpOyRlKCk7V3QoKTtCbigpO0ZmKCk7cXIoKTtLbygpO3duKCk7Z0UoKTtSbygpO2xjKCk7YUY9bmV3IGN0LEFFPW5ldyBjdDtiRT1uZXcgSHIsdUY9bmV3IGEsbEY9bmV3IGEscEY9bmV3IGEsZEY9bmV3IGEsbUY9bmV3IGEsaEY9bmV3IGEsdmQ9bmV3IGEsZGk9bmV3IGEsUGE9bmV3IGEsX0Y9bmV3IHR0LHlGPW5ldyB0dCxnRj1uZXcgYSxURT1uZXcgZWUsQUY9bmV3IFEsYkY9bmV3IFE7d0U9W107UnIuZnJvbVBvc2l0aW9ucz1mdW5jdGlvbih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCkseS5kZWZpbmVkKCJvcHRpb25zLnBvc2l0aW9ucyIsdC5wb3NpdGlvbnMpO2xldCBlPXtwb2x5Z29uSGllcmFyY2h5Ontwb3NpdGlvbnM6dC5wb3NpdGlvbnN9LGhlaWdodDp0LmhlaWdodCxleHRydWRlZEhlaWdodDp0LmV4dHJ1ZGVkSGVpZ2h0LHZlcnRleEZvcm1hdDp0LnZlcnRleEZvcm1hdCxzdFJvdGF0aW9uOnQuc3RSb3RhdGlvbixlbGxpcHNvaWQ6dC5lbGxpcHNvaWQsZ3JhbnVsYXJpdHk6dC5ncmFudWxhcml0eSxwZXJQb3NpdGlvbkhlaWdodDp0LnBlclBvc2l0aW9uSGVpZ2h0LGNsb3NlVG9wOnQuY2xvc2VUb3AsY2xvc2VCb3R0b206dC5jbG9zZUJvdHRvbSxvZmZzZXRBdHRyaWJ1dGU6dC5vZmZzZXRBdHRyaWJ1dGUsYXJjVHlwZTp0LmFyY1R5cGUsdGV4dHVyZUNvb3JkaW5hdGVzOnQudGV4dHVyZUNvb3JkaW5hdGVzfTtyZXR1cm4gbmV3IFJyKGUpfTtSci5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksbj15ZS5wYWNrUG9seWdvbkhpZXJhcmNoeSh0Ll9wb2x5Z29uSGllcmFyY2h5LGUsbixhKSwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX2hlaWdodCxlW24rK109dC5fZXh0cnVkZWRIZWlnaHQsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbisrXT10Ll9zdFJvdGF0aW9uLGVbbisrXT10Ll9wZXJQb3NpdGlvbkhlaWdodEV4dHJ1ZGU/MTowLGVbbisrXT10Ll9wZXJQb3NpdGlvbkhlaWdodD8xOjAsZVtuKytdPXQuX2Nsb3NlVG9wPzE6MCxlW24rK109dC5fY2xvc2VCb3R0b20/MTowLGVbbisrXT10Ll9zaGFkb3dWb2x1bWU/MTowLGVbbisrXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZVtuKytdPXQuX2FyY1R5cGUsaCh0Ll90ZXh0dXJlQ29vcmRpbmF0ZXMpP249eWUucGFja1BvbHlnb25IaWVyYXJjaHkodC5fdGV4dHVyZUNvb3JkaW5hdGVzLGUsbix0dCk6ZVtuKytdPS0xLGVbbisrXT10LnBhY2tlZExlbmd0aCxlfTt3Rj0kLmNsb25lKCQuVU5JVF9TUEhFUkUpLE9GPW5ldyBkdCxFRj17cG9seWdvbkhpZXJhcmNoeTp7fX07UnIudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz15ZS51bnBhY2tQb2x5Z29uSGllcmFyY2h5KHQsZSxhKTtlPW8uc3RhcnRpbmdJbmRleCxkZWxldGUgby5zdGFydGluZ0luZGV4O2xldCByPSQudW5wYWNrKHQsZSx3Rik7ZSs9JC5wYWNrZWRMZW5ndGg7bGV0IGk9ZHQudW5wYWNrKHQsZSxPRik7ZSs9ZHQucGFja2VkTGVuZ3RoO2xldCBzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZSsrXSxjPXRbZSsrXSxsPXRbZSsrXT09PTEscD10W2UrK109PT0xLGQ9dFtlKytdPT09MSxtPXRbZSsrXT09PTEsXz10W2UrK109PT0xLGc9dFtlKytdLGI9dFtlKytdLFQ9dFtlXT09PS0xP3ZvaWQgMDp5ZS51bnBhY2tQb2x5Z29uSGllcmFyY2h5KHQsZSx0dCk7aChUKT8oZT1ULnN0YXJ0aW5nSW5kZXgsZGVsZXRlIFQuc3RhcnRpbmdJbmRleCk6ZSsrO2xldCBPPXRbZSsrXTtyZXR1cm4gaChuKXx8KG49bmV3IFJyKEVGKSksbi5fcG9seWdvbkhpZXJhcmNoeT1vLG4uX2VsbGlwc29pZD0kLmNsb25lKHIsbi5fZWxsaXBzb2lkKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoaSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX2hlaWdodD1zLG4uX2V4dHJ1ZGVkSGVpZ2h0PWYsbi5fZ3JhbnVsYXJpdHk9dSxuLl9zdFJvdGF0aW9uPWMsbi5fcGVyUG9zaXRpb25IZWlnaHRFeHRydWRlPWwsbi5fcGVyUG9zaXRpb25IZWlnaHQ9cCxuLl9jbG9zZVRvcD1kLG4uX2Nsb3NlQm90dG9tPW0sbi5fc2hhZG93Vm9sdW1lPV8sbi5fb2Zmc2V0QXR0cmlidXRlPWc9PT0tMT92b2lkIDA6ZyxuLl9hcmNUeXBlPWIsbi5fdGV4dHVyZUNvb3JkaW5hdGVzPVQsbi5wYWNrZWRMZW5ndGg9TyxufTtSRj1uZXcgdHQsU0Y9bmV3IHR0LENGPW5ldyBjcjtFRT1uZXcgY3IseEY9bmV3IGNyLEVyPXtub3J0aEFuZ2xlOjAsc291dGhBbmdsZTowLHdlc3RPdmVySWRsOjAsZWFzdE92ZXJJZGw6MH07UnIuY29tcHV0ZVJlY3RhbmdsZUZyb21Qb3NpdGlvbnM9ZnVuY3Rpb24odCxlLG4sbyl7aWYoeS5kZWZpbmVkKCJwb3NpdGlvbnMiLHQpLGgobyl8fChvPW5ldyBOdCksdC5sZW5ndGg8MylyZXR1cm4gbztvLndlc3Q9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLG8uZWFzdD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksby5zb3V0aD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksby5ub3J0aD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksRXIubm9ydGhBbmdsZT0wLEVyLnNvdXRoQW5nbGU9MCxFci53ZXN0T3ZlcklkbD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksRXIuZWFzdE92ZXJJZGw9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2xldCByPXQubGVuZ3RoLGk9Y3IuZnJvbUNhcnRlc2lhbih0WzBdLHhGKTtmb3IobGV0IHM9MTtzPHI7cysrKXtsZXQgZj1jci5mcm9tQ2FydGVzaWFuKHRbc10sRUUpO09FKGYsaSxlLG4sRXIsbyksaT1jci5jbG9uZShmLGkpfXJldHVybiBPRShjci5mcm9tQ2FydGVzaWFuKHRbMF0sRUUpLGksZSxuLEVyLG8pLG8uZWFzdC1vLndlc3Q+RXIuZWFzdE92ZXJJZGwtRXIud2VzdE92ZXJJZGwmJihvLndlc3Q9RXIud2VzdE92ZXJJZGwsby5lYXN0PUVyLmVhc3RPdmVySWRsLG8uZWFzdD5NLlBJJiYoby5lYXN0PW8uZWFzdC1NLlRXT19QSSksby53ZXN0Pk0uUEkmJihvLndlc3Q9by53ZXN0LU0uVFdPX1BJKSksTS5lcXVhbHNFcHNpbG9uKE1hdGguYWJzKEVyLm5vcnRoQW5nbGUpLE0uVFdPX1BJLE0uRVBTSUxPTjEwKSYmKG8ubm9ydGg9TS5QSV9PVkVSX1RXTyxvLmVhc3Q9TS5QSSxvLndlc3Q9LU0uUEkpLE0uZXF1YWxzRXBzaWxvbihNYXRoLmFicyhFci5zb3V0aEFuZ2xlKSxNLlRXT19QSSxNLkVQU0lMT04xMCkmJihvLnNvdXRoPS1NLlBJX09WRVJfVFdPLG8uZWFzdD1NLlBJLG8ud2VzdD0tTS5QSSksb307UEY9bmV3IGNyO1JFPW5ldyBjdDtSci5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll92ZXJ0ZXhGb3JtYXQsbj10Ll9lbGxpcHNvaWQsbz10Ll9ncmFudWxhcml0eSxyPXQuX3N0Um90YXRpb24saT10Ll9wb2x5Z29uSGllcmFyY2h5LHM9dC5fcGVyUG9zaXRpb25IZWlnaHQsZj10Ll9jbG9zZVRvcCx1PXQuX2Nsb3NlQm90dG9tLGM9dC5fYXJjVHlwZSxsPXQuX3RleHR1cmVDb29yZGluYXRlcyxwPWgobCksZD1pLnBvc2l0aW9ucztpZihkLmxlbmd0aDwzKXJldHVybjtsZXQgbT10LnJlY3RhbmdsZSxfPXllLnBvbHlnb25zRnJvbUhpZXJhcmNoeShpLHAsTkYobSxkLG4pLCFzLG4sdkYobSxuLGMscykpLGc9Xy5oaWVyYXJjaHksYj1fLnBvbHlnb25zLFQ9ZnVuY3Rpb24oUCl7cmV0dXJuIFB9LE89cD95ZS5wb2x5Z29uc0Zyb21IaWVyYXJjaHkobCwhMCxULCExLG4pLnBvbHlnb25zOnZvaWQgMDtpZihnLmxlbmd0aD09PTApcmV0dXJuO2xldCBFPWdbMF0ub3V0ZXJSaW5nLHc9TEYoRSxtLG4sciksQz1bXSxOPXQuX2hlaWdodCxJPXQuX2V4dHJ1ZGVkSGVpZ2h0LEQ9dC5fcGVyUG9zaXRpb25IZWlnaHRFeHRydWRlfHwhTS5lcXVhbHNFcHNpbG9uKE4sSSwwLE0uRVBTSUxPTjIpLHY9e3BlclBvc2l0aW9uSGVpZ2h0OnMsdmVydGV4Rm9ybWF0OmUsZ2VvbWV0cnk6dm9pZCAwLHJvdGF0aW9uQXhpczpNRihtLEUsbikucGxhbmUubm9ybWFsLHByb2plY3RUbzJkOklGKG0sRSxuKSxib3VuZGluZ1JlY3RhbmdsZTp3LGVsbGlwc29pZDpuLHN0Um90YXRpb246cix0ZXh0dXJlQ29vcmRpbmF0ZXM6dm9pZCAwLGJvdHRvbTohMSx0b3A6ITAsd2FsbDohMSxleHRydWRlOiExLGFyY1R5cGU6Y30sTDtpZihEKWZvcih2LmV4dHJ1ZGU9ITAsdi50b3A9Zix2LmJvdHRvbT11LHYuc2hhZG93Vm9sdW1lPXQuX3NoYWRvd1ZvbHVtZSx2Lm9mZnNldEF0dHJpYnV0ZT10Ll9vZmZzZXRBdHRyaWJ1dGUsTD0wO0w8Yi5sZW5ndGg7TCsrKXtsZXQgUD1URihuLGJbTF0scD9PW0xdOnZvaWQgMCxvLGdbTF0scyxmLHUsZSxjKSxCO2YmJnU/KEI9UC50b3BBbmRCb3R0b20sdi5nZW9tZXRyeT15ZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHRFeHRydWRlZChCLmdlb21ldHJ5LE4sSSxuLHMpKTpmPyhCPVAudG9wQW5kQm90dG9tLEIuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KEIuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsTixuLCFzKSx2Lmdlb21ldHJ5PUIuZ2VvbWV0cnkpOnUmJihCPVAudG9wQW5kQm90dG9tLEIuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KEIuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsSSxuLCEwKSx2Lmdlb21ldHJ5PUIuZ2VvbWV0cnkpLChmfHx1KSYmKHYud2FsbD0hMSxCLmdlb21ldHJ5PWl5KHYpLEMucHVzaChCKSk7bGV0IGo9UC53YWxsczt2LndhbGw9ITA7Zm9yKGxldCBIPTA7SDxqLmxlbmd0aDtIKyspe2xldCBrPWpbSF07di5nZW9tZXRyeT15ZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHRFeHRydWRlZChrLmdlb21ldHJ5LE4sSSxuLHMpLGsuZ2VvbWV0cnk9aXkodiksQy5wdXNoKGspfX1lbHNlIGZvcihMPTA7TDxiLmxlbmd0aDtMKyspe2xldCBQPW5ldyBjbyh7Z2VvbWV0cnk6eWUuY3JlYXRlR2VvbWV0cnlGcm9tUG9zaXRpb25zKG4sYltMXSxwP09bTF06dm9pZCAwLG8scyxlLGMpfSk7aWYoUC5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQoUC5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxOLG4sIXMpLHYuZ2VvbWV0cnk9UC5nZW9tZXRyeSxQLmdlb21ldHJ5PWl5KHYpLGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IEI9UC5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcy5sZW5ndGgsaj10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxIPW5ldyBVaW50OEFycmF5KEIvMykuZmlsbChqKTtQLmdlb21ldHJ5LmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6SH0pfUMucHVzaChQKX1sZXQgVT1WZS5jb21iaW5lSW5zdGFuY2VzKEMpWzBdO1UuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9bmV3IEZsb2F0NjRBcnJheShVLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzKSxVLmluZGljZXM9RHQuY3JlYXRlVHlwZWRBcnJheShVLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLFUuaW5kaWNlcyk7bGV0IEE9VS5hdHRyaWJ1dGVzLFM9QXQuZnJvbVZlcnRpY2VzKEEucG9zaXRpb24udmFsdWVzKTtyZXR1cm4gZS5wb3NpdGlvbnx8ZGVsZXRlIEEucG9zaXRpb24sbmV3IFV0KHthdHRyaWJ1dGVzOkEsaW5kaWNlczpVLmluZGljZXMscHJpbWl0aXZlVHlwZTpVLnByaW1pdGl2ZVR5cGUsYm91bmRpbmdTcGhlcmU6UyxvZmZzZXRBdHRyaWJ1dGU6dC5fb2Zmc2V0QXR0cmlidXRlfSl9O1JyLmNyZWF0ZVNoYWRvd1ZvbHVtZT1mdW5jdGlvbih0LGUsbil7bGV0IG89dC5fZ3JhbnVsYXJpdHkscj10Ll9lbGxpcHNvaWQsaT1lKG8scikscz1uKG8scik7cmV0dXJuIG5ldyBScih7cG9seWdvbkhpZXJhcmNoeTp0Ll9wb2x5Z29uSGllcmFyY2h5LGVsbGlwc29pZDpyLHN0Um90YXRpb246dC5fc3RSb3RhdGlvbixncmFudWxhcml0eTpvLHBlclBvc2l0aW9uSGVpZ2h0OiExLGV4dHJ1ZGVkSGVpZ2h0OmksaGVpZ2h0OnMsdmVydGV4Rm9ybWF0OmR0LlBPU0lUSU9OX09OTFksc2hhZG93Vm9sdW1lOiEwLGFyY1R5cGU6dC5fYXJjVHlwZX0pfTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhSci5wcm90b3R5cGUse3JlY3RhbmdsZTp7Z2V0OmZ1bmN0aW9uKCl7aWYoIWgodGhpcy5fcmVjdGFuZ2xlKSl7bGV0IHQ9dGhpcy5fcG9seWdvbkhpZXJhcmNoeS5wb3NpdGlvbnM7dGhpcy5fcmVjdGFuZ2xlPVJyLmNvbXB1dGVSZWN0YW5nbGVGcm9tUG9zaXRpb25zKHQsdGhpcy5fZWxsaXBzb2lkLHRoaXMuX2FyY1R5cGUpfXJldHVybiB0aGlzLl9yZWN0YW5nbGV9fSx0ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzKXx8KHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM9REYodGhpcykpLHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHN9fX0pO3N5PVJyfSk7dmFyIGN5PXt9O2RlKGN5LHtkZWZhdWx0OigpPT5CRn0pO2Z1bmN0aW9uIEZGKHQsZSl7cmV0dXJuIGgoZSkmJih0PXN5LnVucGFjayh0LGUpKSx0Ll9lbGxpcHNvaWQ9JC5jbG9uZSh0Ll9lbGxpcHNvaWQpLHN5LmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBCRixheT1aKCgpPT57ZnQoKTtadCgpO1NFKCk7QkY9RkZ9KTtmdW5jdGlvbiBVRih0LGUsbixvLHIpe2xldCBzPXlvLmZyb21Qb2ludHMoZSx0KS5wcm9qZWN0UG9pbnRzT250b1BsYW5lKGUsQ0UpO1BlLmNvbXB1dGVXaW5kaW5nT3JkZXIyRChzKT09PUNvLkNMT0NLV0lTRSYmKHMucmV2ZXJzZSgpLGU9ZS5zbGljZSgpLnJldmVyc2UoKSk7bGV0IHUsYyxsPWUubGVuZ3RoLHA9MDtpZihvKWZvcih1PW5ldyBGbG9hdDY0QXJyYXkobCoyKjMpLGM9MDtjPGw7YysrKXtsZXQgXz1lW2NdLGc9ZVsoYysxKSVsXTt1W3ArK109Xy54LHVbcCsrXT1fLnksdVtwKytdPV8ueix1W3ArK109Zy54LHVbcCsrXT1nLnksdVtwKytdPWcuen1lbHNle2xldCBfPTA7aWYocj09PV9lLkdFT0RFU0lDKWZvcihjPTA7YzxsO2MrKylfKz15ZS5zdWJkaXZpZGVMaW5lQ291bnQoZVtjXSxlWyhjKzEpJWxdLG4pO2Vsc2UgaWYocj09PV9lLlJIVU1CKWZvcihjPTA7YzxsO2MrKylfKz15ZS5zdWJkaXZpZGVSaHVtYkxpbmVDb3VudCh0LGVbY10sZVsoYysxKSVsXSxuKTtmb3IodT1uZXcgRmxvYXQ2NEFycmF5KF8qMyksYz0wO2M8bDtjKyspe2xldCBnO3I9PT1fZS5HRU9ERVNJQz9nPXllLnN1YmRpdmlkZUxpbmUoZVtjXSxlWyhjKzEpJWxdLG4sTGQpOnI9PT1fZS5SSFVNQiYmKGc9eWUuc3ViZGl2aWRlUmh1bWJMaW5lKHQsZVtjXSxlWyhjKzEpJWxdLG4sTGQpKTtsZXQgYj1nLmxlbmd0aDtmb3IobGV0IFQ9MDtUPGI7KytUKXVbcCsrXT1nW1RdfX1sPXUubGVuZ3RoLzM7bGV0IGQ9bCoyLG09RHQuY3JlYXRlVHlwZWRBcnJheShsLGQpO2ZvcihwPTAsYz0wO2M8bC0xO2MrKyltW3ArK109YyxtW3ArK109YysxO3JldHVybiBtW3ArK109bC0xLG1bcCsrXT0wLG5ldyBjbyh7Z2VvbWV0cnk6bmV3IFV0KHthdHRyaWJ1dGVzOm5ldyBpZSh7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczp1fSl9KSxpbmRpY2VzOm0scHJpbWl0aXZlVHlwZTpCdC5MSU5FU30pfSl9ZnVuY3Rpb24gVkYodCxlLG4sbyxyKXtsZXQgcz15by5mcm9tUG9pbnRzKGUsdCkucHJvamVjdFBvaW50c09udG9QbGFuZShlLENFKTtQZS5jb21wdXRlV2luZGluZ09yZGVyMkQocyk9PT1Dby5DTE9DS1dJU0UmJihzLnJldmVyc2UoKSxlPWUuc2xpY2UoKS5yZXZlcnNlKCkpO2xldCB1LGMsbD1lLmxlbmd0aCxwPW5ldyBBcnJheShsKSxkPTA7aWYobylmb3IodT1uZXcgRmxvYXQ2NEFycmF5KGwqMiozKjIpLGM9MDtjPGw7KytjKXtwW2NdPWQvMztsZXQgYj1lW2NdLFQ9ZVsoYysxKSVsXTt1W2QrK109Yi54LHVbZCsrXT1iLnksdVtkKytdPWIueix1W2QrK109VC54LHVbZCsrXT1ULnksdVtkKytdPVQuen1lbHNle2xldCBiPTA7aWYocj09PV9lLkdFT0RFU0lDKWZvcihjPTA7YzxsO2MrKyliKz15ZS5zdWJkaXZpZGVMaW5lQ291bnQoZVtjXSxlWyhjKzEpJWxdLG4pO2Vsc2UgaWYocj09PV9lLlJIVU1CKWZvcihjPTA7YzxsO2MrKyliKz15ZS5zdWJkaXZpZGVSaHVtYkxpbmVDb3VudCh0LGVbY10sZVsoYysxKSVsXSxuKTtmb3IodT1uZXcgRmxvYXQ2NEFycmF5KGIqMyoyKSxjPTA7YzxsOysrYyl7cFtjXT1kLzM7bGV0IFQ7cj09PV9lLkdFT0RFU0lDP1Q9eWUuc3ViZGl2aWRlTGluZShlW2NdLGVbKGMrMSklbF0sbixMZCk6cj09PV9lLlJIVU1CJiYoVD15ZS5zdWJkaXZpZGVSaHVtYkxpbmUodCxlW2NdLGVbKGMrMSklbF0sbixMZCkpO2xldCBPPVQubGVuZ3RoO2ZvcihsZXQgRT0wO0U8TzsrK0UpdVtkKytdPVRbRV19fWw9dS5sZW5ndGgvKDMqMik7bGV0IG09cC5sZW5ndGgsXz0obCoyK20pKjIsZz1EdC5jcmVhdGVUeXBlZEFycmF5KGwrbSxfKTtmb3IoZD0wLGM9MDtjPGw7KytjKWdbZCsrXT1jLGdbZCsrXT0oYysxKSVsLGdbZCsrXT1jK2wsZ1tkKytdPShjKzEpJWwrbDtmb3IoYz0wO2M8bTtjKyspe2xldCBiPXBbY107Z1tkKytdPWIsZ1tkKytdPWIrbH1yZXR1cm4gbmV3IGNvKHtnZW9tZXRyeTpuZXcgVXQoe2F0dHJpYnV0ZXM6bmV3IGllKHtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnV9KX0pLGluZGljZXM6ZyxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTfSl9KX1mdW5jdGlvbiBBYyh0KXtpZih5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMiLHQpLHkudHlwZU9mLm9iamVjdCgib3B0aW9ucy5wb2x5Z29uSGllcmFyY2h5Iix0LnBvbHlnb25IaWVyYXJjaHkpLHQucGVyUG9zaXRpb25IZWlnaHQmJmgodC5oZWlnaHQpKXRocm93IG5ldyBGKCJDYW5ub3QgdXNlIGJvdGggb3B0aW9ucy5wZXJQb3NpdGlvbkhlaWdodCBhbmQgb3B0aW9ucy5oZWlnaHQiKTtpZihoKHQuYXJjVHlwZSkmJnQuYXJjVHlwZSE9PV9lLkdFT0RFU0lDJiZ0LmFyY1R5cGUhPT1fZS5SSFVNQil0aHJvdyBuZXcgRigiSW52YWxpZCBhcmNUeXBlLiBWYWxpZCBvcHRpb25zIGFyZSBBcmNUeXBlLkdFT0RFU0lDIGFuZCBBcmNUeXBlLlJIVU1CLiIpO2xldCBlPXQucG9seWdvbkhpZXJhcmNoeSxuPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxvPXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSkscj14KHQucGVyUG9zaXRpb25IZWlnaHQsITEpLGk9ciYmaCh0LmV4dHJ1ZGVkSGVpZ2h0KSxzPXgodC5hcmNUeXBlLF9lLkdFT0RFU0lDKSxmPXgodC5oZWlnaHQsMCksdT14KHQuZXh0cnVkZWRIZWlnaHQsZik7aWYoIWkpe2xldCBjPU1hdGgubWF4KGYsdSk7dT1NYXRoLm1pbihmLHUpLGY9Y310aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZShuKSx0aGlzLl9ncmFudWxhcml0eT1vLHRoaXMuX2hlaWdodD1mLHRoaXMuX2V4dHJ1ZGVkSGVpZ2h0PXUsdGhpcy5fYXJjVHlwZT1zLHRoaXMuX3BvbHlnb25IaWVyYXJjaHk9ZSx0aGlzLl9wZXJQb3NpdGlvbkhlaWdodD1yLHRoaXMuX3BlclBvc2l0aW9uSGVpZ2h0RXh0cnVkZT1pLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVQb2x5Z29uT3V0bGluZUdlb21ldHJ5Iix0aGlzLnBhY2tlZExlbmd0aD15ZS5jb21wdXRlSGllcmFyY2h5UGFja2VkTGVuZ3RoKGUsYSkrJC5wYWNrZWRMZW5ndGgrOH12YXIgQ0UsTGQsa0YsR0YsZnkseEU9WigoKT0+e2ZjKCk7dmUoKTtGdCgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO3BhKCk7WGUoKTtZZSgpO2FuKCk7c2MoKTtMbygpO3NpKCk7JGUoKTtXdCgpO0ZmKCk7cXIoKTt0bigpO2xjKCk7Q0U9W10sTGQ9W107QWMucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLG49eWUucGFja1BvbHlnb25IaWVyYXJjaHkodC5fcG9seWdvbkhpZXJhcmNoeSxlLG4sYSksJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll9oZWlnaHQsZVtuKytdPXQuX2V4dHJ1ZGVkSGVpZ2h0LGVbbisrXT10Ll9ncmFudWxhcml0eSxlW24rK109dC5fcGVyUG9zaXRpb25IZWlnaHRFeHRydWRlPzE6MCxlW24rK109dC5fcGVyUG9zaXRpb25IZWlnaHQ/MTowLGVbbisrXT10Ll9hcmNUeXBlLGVbbisrXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZVtuXT10LnBhY2tlZExlbmd0aCxlfTtrRj0kLmNsb25lKCQuVU5JVF9TUEhFUkUpLEdGPXtwb2x5Z29uSGllcmFyY2h5Ont9fTtBYy51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXllLnVucGFja1BvbHlnb25IaWVyYXJjaHkodCxlLGEpO2U9by5zdGFydGluZ0luZGV4LGRlbGV0ZSBvLnN0YXJ0aW5nSW5kZXg7bGV0IHI9JC51bnBhY2sodCxlLGtGKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT10W2UrK10scz10W2UrK10sZj10W2UrK10sdT10W2UrK109PT0xLGM9dFtlKytdPT09MSxsPXRbZSsrXSxwPXRbZSsrXSxkPXRbZV07cmV0dXJuIGgobil8fChuPW5ldyBBYyhHRikpLG4uX3BvbHlnb25IaWVyYXJjaHk9byxuLl9lbGxpcHNvaWQ9JC5jbG9uZShyLG4uX2VsbGlwc29pZCksbi5faGVpZ2h0PWksbi5fZXh0cnVkZWRIZWlnaHQ9cyxuLl9ncmFudWxhcml0eT1mLG4uX3BlclBvc2l0aW9uSGVpZ2h0PWMsbi5fcGVyUG9zaXRpb25IZWlnaHRFeHRydWRlPXUsbi5fYXJjVHlwZT1sLG4uX29mZnNldEF0dHJpYnV0ZT1wPT09LTE/dm9pZCAwOnAsbi5wYWNrZWRMZW5ndGg9ZCxufTtBYy5mcm9tUG9zaXRpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIix0LnBvc2l0aW9ucyk7bGV0IGU9e3BvbHlnb25IaWVyYXJjaHk6e3Bvc2l0aW9uczp0LnBvc2l0aW9uc30saGVpZ2h0OnQuaGVpZ2h0LGV4dHJ1ZGVkSGVpZ2h0OnQuZXh0cnVkZWRIZWlnaHQsZWxsaXBzb2lkOnQuZWxsaXBzb2lkLGdyYW51bGFyaXR5OnQuZ3JhbnVsYXJpdHkscGVyUG9zaXRpb25IZWlnaHQ6dC5wZXJQb3NpdGlvbkhlaWdodCxhcmNUeXBlOnQuYXJjVHlwZSxvZmZzZXRBdHRyaWJ1dGU6dC5vZmZzZXRBdHRyaWJ1dGV9O3JldHVybiBuZXcgQWMoZSl9O0FjLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX2VsbGlwc29pZCxuPXQuX2dyYW51bGFyaXR5LG89dC5fcG9seWdvbkhpZXJhcmNoeSxyPXQuX3BlclBvc2l0aW9uSGVpZ2h0LGk9dC5fYXJjVHlwZSxzPXllLnBvbHlnb25PdXRsaW5lc0Zyb21IaWVyYXJjaHkobywhcixlKTtpZihzLmxlbmd0aD09PTApcmV0dXJuO2xldCBmLHU9W10sYz1NLmNob3JkTGVuZ3RoKG4sZS5tYXhpbXVtUmFkaXVzKSxsPXQuX2hlaWdodCxwPXQuX2V4dHJ1ZGVkSGVpZ2h0LGQ9dC5fcGVyUG9zaXRpb25IZWlnaHRFeHRydWRlfHwhTS5lcXVhbHNFcHNpbG9uKGwscCwwLE0uRVBTSUxPTjIpLG0sXztpZihkKWZvcihfPTA7XzxzLmxlbmd0aDtfKyspe2lmKGY9VkYoZSxzW19dLGMscixpKSxmLmdlb21ldHJ5PXllLnNjYWxlVG9HZW9kZXRpY0hlaWdodEV4dHJ1ZGVkKGYuZ2VvbWV0cnksbCxwLGUsciksaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgVD1mLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLE89bmV3IFVpbnQ4QXJyYXkoVCk7dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuVE9QP089Ty5maWxsKDEsMCxULzIpOihtPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxLE89Ty5maWxsKG0pKSxmLmdlb21ldHJ5LmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6T30pfXUucHVzaChmKX1lbHNlIGZvcihfPTA7XzxzLmxlbmd0aDtfKyspe2lmKGY9VUYoZSxzW19dLGMscixpKSxmLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChmLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLGwsZSwhciksaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgVD1mLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aDttPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxO2xldCBPPW5ldyBVaW50OEFycmF5KFQvMykuZmlsbChtKTtmLmdlb21ldHJ5LmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6T30pfXUucHVzaChmKX1sZXQgZz1WZS5jb21iaW5lSW5zdGFuY2VzKHUpWzBdLGI9QXQuZnJvbVZlcnRpY2VzKGcuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMpO3JldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6Zy5hdHRyaWJ1dGVzLGluZGljZXM6Zy5pbmRpY2VzLHByaW1pdGl2ZVR5cGU6Zy5wcmltaXRpdmVUeXBlLGJvdW5kaW5nU3BoZXJlOmIsb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTtmeT1BY30pO3ZhciB1eT17fTtkZSh1eSx7ZGVmYXVsdDooKT0+akZ9KTtmdW5jdGlvbiB6Rih0LGUpe3JldHVybiBoKGUpJiYodD1meS51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxmeS5jcmVhdGVHZW9tZXRyeSh0KX12YXIgakYsbHk9WigoKT0+e2Z0KCk7WnQoKTt4RSgpO2pGPXpGfSk7ZnVuY3Rpb24gcHkodCxlLG4pe3JldHVybiBuPDAmJihuKz0xKSxuPjEmJihuLT0xKSxuKjY8MT90KyhlLXQpKjYqbjpuKjI8MT9lOm4qMzwyP3QrKGUtdCkqKDIvMy1uKSo2OnR9ZnVuY3Rpb24gcSh0LGUsbixvKXt0aGlzLnJlZD14KHQsMSksdGhpcy5ncmVlbj14KGUsMSksdGhpcy5ibHVlPXgobiwxKSx0aGlzLmFscGhhPXgobywxKX12YXIgZHksbXkscWksSEYscUYsS0YsV0Ysb2UsTWE9WigoKT0+e1h0KCk7SXQoKTtmdCgpO3NoKCk7V3QoKTtxLmZyb21DYXJ0ZXNpYW40PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSxoKGUpPyhlLnJlZD10LngsZS5ncmVlbj10LnksZS5ibHVlPXQueixlLmFscGhhPXQudyxlKTpuZXcgcSh0LngsdC55LHQueix0LncpfTtxLmZyb21CeXRlcz1mdW5jdGlvbih0LGUsbixvLHIpe3JldHVybiB0PXEuYnl0ZVRvRmxvYXQoeCh0LDI1NSkpLGU9cS5ieXRlVG9GbG9hdCh4KGUsMjU1KSksbj1xLmJ5dGVUb0Zsb2F0KHgobiwyNTUpKSxvPXEuYnl0ZVRvRmxvYXQoeChvLDI1NSkpLGgocik/KHIucmVkPXQsci5ncmVlbj1lLHIuYmx1ZT1uLHIuYWxwaGE9byxyKTpuZXcgcSh0LGUsbixvKX07cS5mcm9tQWxwaGE9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNvbG9yIix0KSx5LnR5cGVPZi5udW1iZXIoImFscGhhIixlKSxoKG4pPyhuLnJlZD10LnJlZCxuLmdyZWVuPXQuZ3JlZW4sbi5ibHVlPXQuYmx1ZSxuLmFscGhhPWUsbik6bmV3IHEodC5yZWQsdC5ncmVlbix0LmJsdWUsZSl9O1lzLnN1cHBvcnRzVHlwZWRBcnJheXMoKSYmKGR5PW5ldyBBcnJheUJ1ZmZlcig0KSxteT1uZXcgVWludDMyQXJyYXkoZHkpLHFpPW5ldyBVaW50OEFycmF5KGR5KSk7cS5mcm9tUmdiYT1mdW5jdGlvbih0LGUpe3JldHVybiBteVswXT10LHEuZnJvbUJ5dGVzKHFpWzBdLHFpWzFdLHFpWzJdLHFpWzNdLGUpfTtxLmZyb21Ic2w9ZnVuY3Rpb24odCxlLG4sbyxyKXt0PXgodCwwKSUxLGU9eChlLDApLG49eChuLDApLG89eChvLDEpO2xldCBpPW4scz1uLGY9bjtpZihlIT09MCl7bGV0IHU7bjwuNT91PW4qKDErZSk6dT1uK2UtbiplO2xldCBjPTIqbi11O2k9cHkoYyx1LHQrMS8zKSxzPXB5KGMsdSx0KSxmPXB5KGMsdSx0LTEvMyl9cmV0dXJuIGgocik/KHIucmVkPWksci5ncmVlbj1zLHIuYmx1ZT1mLHIuYWxwaGE9byxyKTpuZXcgcShpLHMsZixvKX07cS5mcm9tUmFuZG9tPWZ1bmN0aW9uKHQsZSl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBuPXQucmVkO2lmKCFoKG4pKXtsZXQgcz14KHQubWluaW11bVJlZCwwKSxmPXgodC5tYXhpbXVtUmVkLDEpO3kudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJtaW5pbXVtUmVkIixzLGYpLG49cytNLm5leHRSYW5kb21OdW1iZXIoKSooZi1zKX1sZXQgbz10LmdyZWVuO2lmKCFoKG8pKXtsZXQgcz14KHQubWluaW11bUdyZWVuLDApLGY9eCh0Lm1heGltdW1HcmVlbiwxKTt5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygibWluaW11bUdyZWVuIixzLGYpLG89cytNLm5leHRSYW5kb21OdW1iZXIoKSooZi1zKX1sZXQgcj10LmJsdWU7aWYoIWgocikpe2xldCBzPXgodC5taW5pbXVtQmx1ZSwwKSxmPXgodC5tYXhpbXVtQmx1ZSwxKTt5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygibWluaW11bUJsdWUiLHMsZikscj1zK00ubmV4dFJhbmRvbU51bWJlcigpKihmLXMpfWxldCBpPXQuYWxwaGE7aWYoIWgoaSkpe2xldCBzPXgodC5taW5pbXVtQWxwaGEsMCksZj14KHQubWF4aW11bUFscGhhLDEpO3kudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJtaW51bXVtQWxwaGEiLHMsZiksaT1zK00ubmV4dFJhbmRvbU51bWJlcigpKihmLXMpfXJldHVybiBoKGUpPyhlLnJlZD1uLGUuZ3JlZW49byxlLmJsdWU9cixlLmFscGhhPWksZSk6bmV3IHEobixvLHIsaSl9O0hGPS9eIyhbMC05YS1mXSkoWzAtOWEtZl0pKFswLTlhLWZdKShbMC05YS1mXSk/JC9pLHFGPS9eIyhbMC05YS1mXXsyfSkoWzAtOWEtZl17Mn0pKFswLTlhLWZdezJ9KShbMC05YS1mXXsyfSk/JC9pLEtGPS9ecmdiYT9ccypcKFxzKihbMC05Ll0rJT8pXHMqWyxcc10rXHMqKFswLTkuXSslPylccypbLFxzXStccyooWzAtOS5dKyU/KSg/OlxzKlssXHMvXStccyooWzAtOS5dKykpP1xzKlwpJC9pLFdGPS9eaHNsYT9ccypcKFxzKihbMC05Ll0rKVxzKlssXHNdK1xzKihbMC05Ll0rJSlccypbLFxzXStccyooWzAtOS5dKyUpKD86XHMqWyxccy9dK1xzKihbMC05Ll0rKSk/XHMqXCkkL2k7cS5mcm9tQ3NzQ29sb3JTdHJpbmc9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5zdHJpbmcoImNvbG9yIix0KSxoKGUpfHwoZT1uZXcgcSksdD10LnRyaW0oKTtsZXQgbj1xW3QudG9VcHBlckNhc2UoKV07aWYoaChuKSlyZXR1cm4gcS5jbG9uZShuLGUpLGU7bGV0IG89SEYuZXhlYyh0KTtyZXR1cm4gbyE9PW51bGw/KGUucmVkPXBhcnNlSW50KG9bMV0sMTYpLzE1LGUuZ3JlZW49cGFyc2VJbnQob1syXSwxNikvMTUsZS5ibHVlPXBhcnNlSW50KG9bM10sMTYpLzE1LGUuYWxwaGE9cGFyc2VJbnQoeChvWzRdLCJmIiksMTYpLzE1LGUpOihvPXFGLmV4ZWModCksbyE9PW51bGw/KGUucmVkPXBhcnNlSW50KG9bMV0sMTYpLzI1NSxlLmdyZWVuPXBhcnNlSW50KG9bMl0sMTYpLzI1NSxlLmJsdWU9cGFyc2VJbnQob1szXSwxNikvMjU1LGUuYWxwaGE9cGFyc2VJbnQoeChvWzRdLCJmZiIpLDE2KS8yNTUsZSk6KG89S0YuZXhlYyh0KSxvIT09bnVsbD8oZS5yZWQ9cGFyc2VGbG9hdChvWzFdKS8ob1sxXS5zdWJzdHIoLTEpPT09IiUiPzEwMDoyNTUpLGUuZ3JlZW49cGFyc2VGbG9hdChvWzJdKS8ob1syXS5zdWJzdHIoLTEpPT09IiUiPzEwMDoyNTUpLGUuYmx1ZT1wYXJzZUZsb2F0KG9bM10pLyhvWzNdLnN1YnN0cigtMSk9PT0iJSI/MTAwOjI1NSksZS5hbHBoYT1wYXJzZUZsb2F0KHgob1s0XSwiMS4wIikpLGUpOihvPVdGLmV4ZWModCksbyE9PW51bGw/cS5mcm9tSHNsKHBhcnNlRmxvYXQob1sxXSkvMzYwLHBhcnNlRmxvYXQob1syXSkvMTAwLHBhcnNlRmxvYXQob1szXSkvMTAwLHBhcnNlRmxvYXQoeChvWzRdLCIxLjAiKSksZSk6KGU9dm9pZCAwLGUpKSkpfTtxLnBhY2tlZExlbmd0aD00O3EucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LnJlZCxlW24rK109dC5ncmVlbixlW24rK109dC5ibHVlLGVbbl09dC5hbHBoYSxlfTtxLnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBxKSxuLnJlZD10W2UrK10sbi5ncmVlbj10W2UrK10sbi5ibHVlPXRbZSsrXSxuLmFscGhhPXRbZV0sbn07cS5ieXRlVG9GbG9hdD1mdW5jdGlvbih0KXtyZXR1cm4gdC8yNTV9O3EuZmxvYXRUb0J5dGU9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT0xPzI1NTp0KjI1NnwwfTtxLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS5yZWQ9dC5yZWQsZS5ncmVlbj10LmdyZWVuLGUuYmx1ZT10LmJsdWUsZS5hbHBoYT10LmFscGhhLGUpOm5ldyBxKHQucmVkLHQuZ3JlZW4sdC5ibHVlLHQuYWxwaGEpfTtxLmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmdC5yZWQ9PT1lLnJlZCYmdC5ncmVlbj09PWUuZ3JlZW4mJnQuYmx1ZT09PWUuYmx1ZSYmdC5hbHBoYT09PWUuYWxwaGF9O3EuZXF1YWxzQXJyYXk9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0LnJlZD09PWVbbl0mJnQuZ3JlZW49PT1lW24rMV0mJnQuYmx1ZT09PWVbbisyXSYmdC5hbHBoYT09PWVbbiszXX07cS5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIHEuY2xvbmUodGhpcyx0KX07cS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBxLmVxdWFscyh0aGlzLHQpfTtxLnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHRoaXM9PT10fHxoKHQpJiZNYXRoLmFicyh0aGlzLnJlZC10LnJlZCk8PWUmJk1hdGguYWJzKHRoaXMuZ3JlZW4tdC5ncmVlbik8PWUmJk1hdGguYWJzKHRoaXMuYmx1ZS10LmJsdWUpPD1lJiZNYXRoLmFicyh0aGlzLmFscGhhLXQuYWxwaGEpPD1lfTtxLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybmAoJHt0aGlzLnJlZH0sICR7dGhpcy5ncmVlbn0sICR7dGhpcy5ibHVlfSwgJHt0aGlzLmFscGhhfSlgfTtxLnByb3RvdHlwZS50b0Nzc0NvbG9yU3RyaW5nPWZ1bmN0aW9uKCl7bGV0IHQ9cS5mbG9hdFRvQnl0ZSh0aGlzLnJlZCksZT1xLmZsb2F0VG9CeXRlKHRoaXMuZ3JlZW4pLG49cS5mbG9hdFRvQnl0ZSh0aGlzLmJsdWUpO3JldHVybiB0aGlzLmFscGhhPT09MT9gcmdiKCR7dH0sJHtlfSwke259KWA6YHJnYmEoJHt0fSwke2V9LCR7bn0sJHt0aGlzLmFscGhhfSlgfTtxLnByb3RvdHlwZS50b0Nzc0hleFN0cmluZz1mdW5jdGlvbigpe2xldCB0PXEuZmxvYXRUb0J5dGUodGhpcy5yZWQpLnRvU3RyaW5nKDE2KTt0Lmxlbmd0aDwyJiYodD1gMCR7dH1gKTtsZXQgZT1xLmZsb2F0VG9CeXRlKHRoaXMuZ3JlZW4pLnRvU3RyaW5nKDE2KTtlLmxlbmd0aDwyJiYoZT1gMCR7ZX1gKTtsZXQgbj1xLmZsb2F0VG9CeXRlKHRoaXMuYmx1ZSkudG9TdHJpbmcoMTYpO2lmKG4ubGVuZ3RoPDImJihuPWAwJHtufWApLHRoaXMuYWxwaGE8MSl7bGV0IG89cS5mbG9hdFRvQnl0ZSh0aGlzLmFscGhhKS50b1N0cmluZygxNik7cmV0dXJuIG8ubGVuZ3RoPDImJihvPWAwJHtvfWApLGAjJHt0fSR7ZX0ke259JHtvfWB9cmV0dXJuYCMke3R9JHtlfSR7bn1gfTtxLnByb3RvdHlwZS50b0J5dGVzPWZ1bmN0aW9uKHQpe2xldCBlPXEuZmxvYXRUb0J5dGUodGhpcy5yZWQpLG49cS5mbG9hdFRvQnl0ZSh0aGlzLmdyZWVuKSxvPXEuZmxvYXRUb0J5dGUodGhpcy5ibHVlKSxyPXEuZmxvYXRUb0J5dGUodGhpcy5hbHBoYSk7cmV0dXJuIGgodCk/KHRbMF09ZSx0WzFdPW4sdFsyXT1vLHRbM109cix0KTpbZSxuLG8scl19O3EucHJvdG90eXBlLnRvUmdiYT1mdW5jdGlvbigpe3JldHVybiBxaVswXT1xLmZsb2F0VG9CeXRlKHRoaXMucmVkKSxxaVsxXT1xLmZsb2F0VG9CeXRlKHRoaXMuZ3JlZW4pLHFpWzJdPXEuZmxvYXRUb0J5dGUodGhpcy5ibHVlKSxxaVszXT1xLmZsb2F0VG9CeXRlKHRoaXMuYWxwaGEpLG15WzBdfTtxLnByb3RvdHlwZS5icmlnaHRlbj1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoIm1hZ25pdHVkZSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIm1hZ25pdHVkZSIsdCwwKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksdD0xLXQsZS5yZWQ9MS0oMS10aGlzLnJlZCkqdCxlLmdyZWVuPTEtKDEtdGhpcy5ncmVlbikqdCxlLmJsdWU9MS0oMS10aGlzLmJsdWUpKnQsZS5hbHBoYT10aGlzLmFscGhhLGV9O3EucHJvdG90eXBlLmRhcmtlbj1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoIm1hZ25pdHVkZSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIm1hZ25pdHVkZSIsdCwwKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksdD0xLXQsZS5yZWQ9dGhpcy5yZWQqdCxlLmdyZWVuPXRoaXMuZ3JlZW4qdCxlLmJsdWU9dGhpcy5ibHVlKnQsZS5hbHBoYT10aGlzLmFscGhhLGV9O3EucHJvdG90eXBlLndpdGhBbHBoYT1mdW5jdGlvbih0LGUpe3JldHVybiBxLmZyb21BbHBoYSh0aGlzLHQsZSl9O3EuYWRkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi5yZWQ9dC5yZWQrZS5yZWQsbi5ncmVlbj10LmdyZWVuK2UuZ3JlZW4sbi5ibHVlPXQuYmx1ZStlLmJsdWUsbi5hbHBoYT10LmFscGhhK2UuYWxwaGEsbn07cS5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ucmVkPXQucmVkLWUucmVkLG4uZ3JlZW49dC5ncmVlbi1lLmdyZWVuLG4uYmx1ZT10LmJsdWUtZS5ibHVlLG4uYWxwaGE9dC5hbHBoYS1lLmFscGhhLG59O3EubXVsdGlwbHk9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLnJlZD10LnJlZCplLnJlZCxuLmdyZWVuPXQuZ3JlZW4qZS5ncmVlbixuLmJsdWU9dC5ibHVlKmUuYmx1ZSxuLmFscGhhPXQuYWxwaGEqZS5hbHBoYSxufTtxLmRpdmlkZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ucmVkPXQucmVkL2UucmVkLG4uZ3JlZW49dC5ncmVlbi9lLmdyZWVuLG4uYmx1ZT10LmJsdWUvZS5ibHVlLG4uYWxwaGE9dC5hbHBoYS9lLmFscGhhLG59O3EubW9kPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi5yZWQ9dC5yZWQlZS5yZWQsbi5ncmVlbj10LmdyZWVuJWUuZ3JlZW4sbi5ibHVlPXQuYmx1ZSVlLmJsdWUsbi5hbHBoYT10LmFscGhhJWUuYWxwaGEsbn07cS5sZXJwPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInN0YXJ0Iix0KSx5LnR5cGVPZi5vYmplY3QoImVuZCIsZSkseS50eXBlT2YubnVtYmVyKCJ0IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksby5yZWQ9TS5sZXJwKHQucmVkLGUucmVkLG4pLG8uZ3JlZW49TS5sZXJwKHQuZ3JlZW4sZS5ncmVlbixuKSxvLmJsdWU9TS5sZXJwKHQuYmx1ZSxlLmJsdWUsbiksby5hbHBoYT1NLmxlcnAodC5hbHBoYSxlLmFscGhhLG4pLG99O3EubXVsdGlwbHlCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY29sb3IiLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi5yZWQ9dC5yZWQqZSxuLmdyZWVuPXQuZ3JlZW4qZSxuLmJsdWU9dC5ibHVlKmUsbi5hbHBoYT10LmFscGhhKmUsbn07cS5kaXZpZGVCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY29sb3IiLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi5yZWQ9dC5yZWQvZSxuLmdyZWVuPXQuZ3JlZW4vZSxuLmJsdWU9dC5ibHVlL2Usbi5hbHBoYT10LmFscGhhL2Usbn07cS5BTElDRUJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0YwRjhGRiIpKTtxLkFOVElRVUVXSElURT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkFFQkQ3IikpO3EuQVFVQT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDBGRkZGIikpO3EuQVFVQU1BUklORT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjN0ZGRkQ0IikpO3EuQVpVUkU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0YwRkZGRiIpKTtxLkJFSUdFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGNUY1REMiKSk7cS5CSVNRVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRTRDNCIpKTtxLkJMQUNLPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMDAwMDAiKSk7cS5CTEFOQ0hFREFMTU9ORD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZFQkNEIikpO3EuQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDAwMEZGIikpO3EuQkxVRVZJT0xFVD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjOEEyQkUyIikpO3EuQlJPV049T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0E1MkEyQSIpKTtxLkJVUkxZV09PRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjREVCODg3IikpO3EuQ0FERVRCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM1RjlFQTAiKSk7cS5DSEFSVFJFVVNFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM3RkZGMDAiKSk7cS5DSE9DT0xBVEU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0QyNjkxRSIpKTtxLkNPUkFMPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRjdGNTAiKSk7cS5DT1JORkxPV0VSQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNjQ5NUVEIikpO3EuQ09STlNJTEs9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRjhEQyIpKTtxLkNSSU1TT049T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0RDMTQzQyIpKTtxLkNZQU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwRkZGRiIpKTtxLkRBUktCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMDAwOEIiKSk7cS5EQVJLQ1lBTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDA4QjhCIikpO3EuREFSS0dPTERFTlJPRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQjg4NjBCIikpO3EuREFSS0dSQVk9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0E5QTlBOSIpKTtxLkRBUktHUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDA2NDAwIikpO3EuREFSS0dSRVk9cS5EQVJLR1JBWTtxLkRBUktLSEFLST1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQkRCNzZCIikpO3EuREFSS01BR0VOVEE9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzhCMDA4QiIpKTtxLkRBUktPTElWRUdSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM1NTZCMkYiKSk7cS5EQVJLT1JBTkdFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRjhDMDAiKSk7cS5EQVJLT1JDSElEPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM5OTMyQ0MiKSk7cS5EQVJLUkVEPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM4QjAwMDAiKSk7cS5EQVJLU0FMTU9OPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNFOTk2N0EiKSk7cS5EQVJLU0VBR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzhGQkM4RiIpKTtxLkRBUktTTEFURUJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzQ4M0Q4QiIpKTtxLkRBUktTTEFURUdSQVk9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzJGNEY0RiIpKTtxLkRBUktTTEFURUdSRVk9cS5EQVJLU0xBVEVHUkFZO3EuREFSS1RVUlFVT0lTRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDBDRUQxIikpO3EuREFSS1ZJT0xFVD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjOTQwMEQzIikpO3EuREVFUFBJTks9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGMTQ5MyIpKTtxLkRFRVBTS1lCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMEJGRkYiKSk7cS5ESU1HUkFZPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM2OTY5NjkiKSk7cS5ESU1HUkVZPXEuRElNR1JBWTtxLkRPREdFUkJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzFFOTBGRiIpKTtxLkZJUkVCUklDSz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQjIyMjIyIikpO3EuRkxPUkFMV0hJVEU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRkFGMCIpKTtxLkZPUkVTVEdSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMyMjhCMjIiKSk7cS5GVUNIU0lBPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRjAwRkYiKSk7cS5HQUlOU0JPUk89T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0RDRENEQyIpKTtxLkdIT1NUV0hJVEU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0Y4RjhGRiIpKTtxLkdPTEQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRDcwMCIpKTtxLkdPTERFTlJPRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjREFBNTIwIikpO3EuR1JBWT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjODA4MDgwIikpO3EuR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwODAwMCIpKTtxLkdSRUVOWUVMTE9XPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNBREZGMkYiKSk7cS5HUkVZPXEuR1JBWTtxLkhPTkVZREVXPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGMEZGRjAiKSk7cS5IT1RQSU5LPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRjY5QjQiKSk7cS5JTkRJQU5SRUQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0NENUM1QyIpKTtxLklORElHTz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNEIwMDgyIikpO3EuSVZPUlk9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRkZGMCIpKTtxLktIQUtJPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGMEU2OEMiKSk7cS5MQVZFTkRFUj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRTZFNkZBIikpO3EuTEFWRU5EQVJfQkxVU0g9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRjBGNSIpKTtxLkxBV05HUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjN0NGQzAwIikpO3EuTEVNT05DSElGRk9OPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkZBQ0QiKSk7cS5MSUdIVEJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0FERDhFNiIpKTtxLkxJR0hUQ09SQUw9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0YwODA4MCIpKTtxLkxJR0hUQ1lBTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRTBGRkZGIikpO3EuTElHSFRHT0xERU5ST0RZRUxMT1c9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZBRkFEMiIpKTtxLkxJR0hUR1JBWT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRDNEM0QzIikpO3EuTElHSFRHUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjOTBFRTkwIikpO3EuTElHSFRHUkVZPXEuTElHSFRHUkFZO3EuTElHSFRQSU5LPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkI2QzEiKSk7cS5MSUdIVFNFQUdSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMyMEIyQUEiKSk7cS5MSUdIVFNLWUJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzg3Q0VGQSIpKTtxLkxJR0hUU0xBVEVHUkFZPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM3Nzg4OTkiKSk7cS5MSUdIVFNMQVRFR1JFWT1xLkxJR0hUU0xBVEVHUkFZO3EuTElHSFRTVEVFTEJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0IwQzRERSIpKTtxLkxJR0hUWUVMTE9XPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkZGRTAiKSk7cS5MSU1FPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMEZGMDAiKSk7cS5MSU1FR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzMyQ0QzMiIpKTtxLkxJTkVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGQUYwRTYiKSk7cS5NQUdFTlRBPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRjAwRkYiKSk7cS5NQVJPT049T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzgwMDAwMCIpKTtxLk1FRElVTUFRVUFNQVJJTkU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzY2Q0RBQSIpKTtxLk1FRElVTUJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwMDBDRCIpKTtxLk1FRElVTU9SQ0hJRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQkE1NUQzIikpO3EuTUVESVVNUFVSUExFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM5MzcwREIiKSk7cS5NRURJVU1TRUFHUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjM0NCMzcxIikpO3EuTUVESVVNU0xBVEVCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM3QjY4RUUiKSk7cS5NRURJVU1TUFJJTkdHUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDBGQTlBIikpO3EuTUVESVVNVFVSUVVPSVNFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM0OEQxQ0MiKSk7cS5NRURJVU1WSU9MRVRSRUQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0M3MTU4NSIpKTtxLk1JRE5JR0hUQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMTkxOTcwIikpO3EuTUlOVENSRUFNPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGNUZGRkEiKSk7cS5NSVNUWVJPU0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRTRFMSIpKTtxLk1PQ0NBU0lOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkU0QjUiKSk7cS5OQVZBSk9XSElURT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZERUFEIikpO3EuTkFWWT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDAwMDgwIikpO3EuT0xETEFDRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkRGNUU2IikpO3EuT0xJVkU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzgwODAwMCIpKTtxLk9MSVZFRFJBQj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNkI4RTIzIikpO3EuT1JBTkdFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkE1MDAiKSk7cS5PUkFOR0VSRUQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGNDUwMCIpKTtxLk9SQ0hJRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjREE3MEQ2IikpO3EuUEFMRUdPTERFTlJPRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRUVFOEFBIikpO3EuUEFMRUdSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM5OEZCOTgiKSk7cS5QQUxFVFVSUVVPSVNFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNBRkVFRUUiKSk7cS5QQUxFVklPTEVUUkVEPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNEQjcwOTMiKSk7cS5QQVBBWUFXSElQPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkVGRDUiKSk7cS5QRUFDSFBVRkY9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGREFCOSIpKTtxLlBFUlU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0NEODUzRiIpKTtxLlBJTks9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGQzBDQiIpKTtxLlBMVU09T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0REQTBERCIpKTtxLlBPV0RFUkJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0IwRTBFNiIpKTtxLlBVUlBMRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjODAwMDgwIikpO3EuUkVEPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRjAwMDAiKSk7cS5ST1NZQlJPV049T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0JDOEY4RiIpKTtxLlJPWUFMQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNDE2OUUxIikpO3EuU0FERExFQlJPV049T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzhCNDUxMyIpKTtxLlNBTE1PTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkE4MDcyIikpO3EuU0FORFlCUk9XTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRjRBNDYwIikpO3EuU0VBR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzJFOEI1NyIpKTtxLlNFQVNIRUxMPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkY1RUUiKSk7cS5TSUVOTkE9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0EwNTIyRCIpKTtxLlNJTFZFUj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQzBDMEMwIikpO3EuU0tZQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjODdDRUVCIikpO3EuU0xBVEVCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM2QTVBQ0QiKSk7cS5TTEFURUdSQVk9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzcwODA5MCIpKTtxLlNMQVRFR1JFWT1xLlNMQVRFR1JBWTtxLlNOT1c9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRkFGQSIpKTtxLlNQUklOR0dSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMEZGN0YiKSk7cS5TVEVFTEJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzQ2ODJCNCIpKTtxLlRBTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRDJCNDhDIikpO3EuVEVBTD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDA4MDgwIikpO3EuVEhJU1RMRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRDhCRkQ4IikpO3EuVE9NQVRPPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRjYzNDciKSk7cS5UVVJRVU9JU0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzQwRTBEMCIpKTtxLlZJT0xFVD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRUU4MkVFIikpO3EuV0hFQVQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0Y1REVCMyIpKTtxLldISVRFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkZGRkYiKSk7cS5XSElURVNNT0tFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGNUY1RjUiKSk7cS5ZRUxMT1c9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRkYwMCIpKTtxLllFTExPV0dSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM5QUNEMzIiKSk7cS5UUkFOU1BBUkVOVD1PYmplY3QuZnJlZXplKG5ldyBxKDAsMCwwLDApKTtvZT1xfSk7ZnVuY3Rpb24gWEYodCxlLG4sbyxyKXtsZXQgaT12RTtpLmxlbmd0aD1yO2xldCBzLGY9bi5yZWQsdT1uLmdyZWVuLGM9bi5ibHVlLGw9bi5hbHBoYSxwPW8ucmVkLGQ9by5ncmVlbixtPW8uYmx1ZSxfPW8uYWxwaGE7aWYob2UuZXF1YWxzKG4sbykpe2ZvcihzPTA7czxyO3MrKylpW3NdPW9lLmNsb25lKG4pO3JldHVybiBpfWxldCBnPShwLWYpL3IsYj0oZC11KS9yLFQ9KG0tYykvcixPPShfLWwpL3I7Zm9yKHM9MDtzPHI7cysrKWlbc109bmV3IG9lKGYrcypnLHUrcypiLGMrcypULGwrcypPKTtyZXR1cm4gaX1mdW5jdGlvbiBRZih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnMsbj10LmNvbG9ycyxvPXgodC53aWR0aCwxKSxyPXgodC5jb2xvcnNQZXJWZXJ0ZXgsITEpO2lmKCFoKGUpfHxlLmxlbmd0aDwyKXRocm93IG5ldyBGKCJBdCBsZWFzdCB0d28gcG9zaXRpb25zIGFyZSByZXF1aXJlZC4iKTtpZih0eXBlb2YgbyE9Im51bWJlciIpdGhyb3cgbmV3IEYoIndpZHRoIG11c3QgYmUgYSBudW1iZXIiKTtpZihoKG4pJiYociYmbi5sZW5ndGg8ZS5sZW5ndGh8fCFyJiZuLmxlbmd0aDxlLmxlbmd0aC0xKSl0aHJvdyBuZXcgRigiY29sb3JzIGhhcyBhbiBpbnZhbGlkIGxlbmd0aC4iKTt0aGlzLl9wb3NpdGlvbnM9ZSx0aGlzLl9jb2xvcnM9bix0aGlzLl93aWR0aD1vLHRoaXMuX2NvbG9yc1BlclZlcnRleD1yLHRoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZSh4KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpKSx0aGlzLl9hcmNUeXBlPXgodC5hcmNUeXBlLF9lLkdFT0RFU0lDKSx0aGlzLl9ncmFudWxhcml0eT14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKHgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlUG9seWxpbmVHZW9tZXRyeSI7bGV0IGk9MStlLmxlbmd0aCphLnBhY2tlZExlbmd0aDtpKz1oKG4pPzErbi5sZW5ndGgqb2UucGFja2VkTGVuZ3RoOjEsdGhpcy5wYWNrZWRMZW5ndGg9aSskLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrNH12YXIgdkUsTEUsREUsYmMsUEUsTUUsTkUsSUUsaHksRkU9WigoKT0+e2ZjKCk7anIoKTt2ZSgpO0Z0KCk7TWEoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7WGUoKTtZZSgpO2FuKCk7THAoKTskZSgpO1d0KCk7Z2EoKTt0bigpO1JvKCk7dkU9W107UWYucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7bj14KG4sMCk7bGV0IG8scj10Ll9wb3NpdGlvbnMsaT1yLmxlbmd0aDtmb3IoZVtuKytdPWksbz0wO288aTsrK28sbis9YS5wYWNrZWRMZW5ndGgpYS5wYWNrKHJbb10sZSxuKTtsZXQgcz10Ll9jb2xvcnM7Zm9yKGk9aChzKT9zLmxlbmd0aDowLGVbbisrXT1pLG89MDtvPGk7KytvLG4rPW9lLnBhY2tlZExlbmd0aClvZS5wYWNrKHNbb10sZSxuKTtyZXR1cm4gJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbiksbis9ZHQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll93aWR0aCxlW24rK109dC5fY29sb3JzUGVyVmVydGV4PzE6MCxlW24rK109dC5fYXJjVHlwZSxlW25dPXQuX2dyYW51bGFyaXR5LGV9O0xFPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksREU9bmV3IGR0LGJjPXtwb3NpdGlvbnM6dm9pZCAwLGNvbG9yczp2b2lkIDAsZWxsaXBzb2lkOkxFLHZlcnRleEZvcm1hdDpERSx3aWR0aDp2b2lkIDAsY29sb3JzUGVyVmVydGV4OnZvaWQgMCxhcmNUeXBlOnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDB9O1FmLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG8scj10W2UrK10saT1uZXcgQXJyYXkocik7Zm9yKG89MDtvPHI7KytvLGUrPWEucGFja2VkTGVuZ3RoKWlbb109YS51bnBhY2sodCxlKTtyPXRbZSsrXTtsZXQgcz1yPjA/bmV3IEFycmF5KHIpOnZvaWQgMDtmb3Iobz0wO288cjsrK28sZSs9b2UucGFja2VkTGVuZ3RoKXNbb109b2UudW5wYWNrKHQsZSk7bGV0IGY9JC51bnBhY2sodCxlLExFKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgdT1kdC51bnBhY2sodCxlLERFKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IGM9dFtlKytdLGw9dFtlKytdPT09MSxwPXRbZSsrXSxkPXRbZV07cmV0dXJuIGgobik/KG4uX3Bvc2l0aW9ucz1pLG4uX2NvbG9ycz1zLG4uX2VsbGlwc29pZD0kLmNsb25lKGYsbi5fZWxsaXBzb2lkKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUodSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX3dpZHRoPWMsbi5fY29sb3JzUGVyVmVydGV4PWwsbi5fYXJjVHlwZT1wLG4uX2dyYW51bGFyaXR5PWQsbik6KGJjLnBvc2l0aW9ucz1pLGJjLmNvbG9ycz1zLGJjLndpZHRoPWMsYmMuY29sb3JzUGVyVmVydGV4PWwsYmMuYXJjVHlwZT1wLGJjLmdyYW51bGFyaXR5PWQsbmV3IFFmKGJjKSl9O1BFPW5ldyBhLE1FPW5ldyBhLE5FPW5ldyBhLElFPW5ldyBhO1FmLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3dpZHRoLG49dC5fdmVydGV4Rm9ybWF0LG89dC5fY29sb3JzLHI9dC5fY29sb3JzUGVyVmVydGV4LGk9dC5fYXJjVHlwZSxzPXQuX2dyYW51bGFyaXR5LGY9dC5fZWxsaXBzb2lkLHUsYyxsLHA9W10sZD14bih0Ll9wb3NpdGlvbnMsYS5lcXVhbHNFcHNpbG9uLCExLHApO2lmKGgobykmJnAubGVuZ3RoPjApe2xldCBCPTAsaj1wWzBdO289by5maWx0ZXIoZnVuY3Rpb24oSCxrKXtsZXQgSz0hMTtyZXR1cm4gcj9LPWs9PT1qfHxrPT09MCYmaj09PTE6Sz1rKzE9PT1qLEs/KEIrKyxqPXBbQl0sITEpOiEwfSl9bGV0IG09ZC5sZW5ndGg7aWYobTwyfHxlPD0wKXJldHVybjtpZihpPT09X2UuR0VPREVTSUN8fGk9PT1fZS5SSFVNQil7bGV0IEIsajtpPT09X2UuR0VPREVTSUM/KEI9TS5jaG9yZExlbmd0aChzLGYubWF4aW11bVJhZGl1cyksaj1Bbi5udW1iZXJPZlBvaW50cyk6KEI9cyxqPUFuLm51bWJlck9mUG9pbnRzUmh1bWJMaW5lKTtsZXQgSD1Bbi5leHRyYWN0SGVpZ2h0cyhkLGYpO2lmKGgobykpe2xldCBrPTE7Zm9yKHU9MDt1PG0tMTsrK3Upays9aihkW3VdLGRbdSsxXSxCKTtsZXQgSz1uZXcgQXJyYXkoayksWD0wO2Zvcih1PTA7dTxtLTE7Kyt1KXtsZXQgUj1kW3VdLG90PWRbdSsxXSxhdD1vW3VdLHB0PWooUixvdCxCKTtpZihyJiZ1PGspe2xldCB5dD1vW3UrMV0scnQ9WEYoUixvdCxhdCx5dCxwdCksUHQ9cnQubGVuZ3RoO2ZvcihjPTA7YzxQdDsrK2MpS1tYKytdPXJ0W2NdfWVsc2UgZm9yKGM9MDtjPHB0OysrYylLW1grK109b2UuY2xvbmUoYXQpfUtbWF09b2UuY2xvbmUob1tvLmxlbmd0aC0xXSksbz1LLHZFLmxlbmd0aD0wfWk9PT1fZS5HRU9ERVNJQz9kPUFuLmdlbmVyYXRlQ2FydGVzaWFuQXJjKHtwb3NpdGlvbnM6ZCxtaW5EaXN0YW5jZTpCLGVsbGlwc29pZDpmLGhlaWdodDpIfSk6ZD1Bbi5nZW5lcmF0ZUNhcnRlc2lhblJodW1iQXJjKHtwb3NpdGlvbnM6ZCxncmFudWxhcml0eTpCLGVsbGlwc29pZDpmLGhlaWdodDpIfSl9bT1kLmxlbmd0aDtsZXQgXz1tKjQtNCxnPW5ldyBGbG9hdDY0QXJyYXkoXyozKSxiPW5ldyBGbG9hdDY0QXJyYXkoXyozKSxUPW5ldyBGbG9hdDY0QXJyYXkoXyozKSxPPW5ldyBGbG9hdDMyQXJyYXkoXyoyKSxFPW4uc3Q/bmV3IEZsb2F0MzJBcnJheShfKjIpOnZvaWQgMCx3PWgobyk/bmV3IFVpbnQ4QXJyYXkoXyo0KTp2b2lkIDAsQz0wLE49MCxJPTAsRD0wLHY7Zm9yKGM9MDtjPG07KytjKXtjPT09MD8odj1QRSxhLnN1YnRyYWN0KGRbMF0sZFsxXSx2KSxhLmFkZChkWzBdLHYsdikpOnY9ZFtjLTFdLGEuY2xvbmUodixORSksYS5jbG9uZShkW2NdLE1FKSxjPT09bS0xPyh2PVBFLGEuc3VidHJhY3QoZFttLTFdLGRbbS0yXSx2KSxhLmFkZChkW20tMV0sdix2KSk6dj1kW2MrMV0sYS5jbG9uZSh2LElFKTtsZXQgQixqO2godykmJihjIT09MCYmIXI/Qj1vW2MtMV06Qj1vW2NdLGMhPT1tLTEmJihqPW9bY10pKTtsZXQgSD1jPT09MD8yOjAsaz1jPT09bS0xPzI6NDtmb3IobD1IO2w8azsrK2wpe2EucGFjayhNRSxnLEMpLGEucGFjayhORSxiLEMpLGEucGFjayhJRSxULEMpLEMrPTM7bGV0IEs9bC0yPDA/LTE6MTtpZihPW04rK109MioobCUyKS0xLE9bTisrXT1LKmUsbi5zdCYmKEVbSSsrXT1jLyhtLTEpLEVbSSsrXT1NYXRoLm1heChPW04tMl0sMCkpLGgodykpe2xldCBYPWw8Mj9COmo7d1tEKytdPW9lLmZsb2F0VG9CeXRlKFgucmVkKSx3W0QrK109b2UuZmxvYXRUb0J5dGUoWC5ncmVlbiksd1tEKytdPW9lLmZsb2F0VG9CeXRlKFguYmx1ZSksd1tEKytdPW9lLmZsb2F0VG9CeXRlKFguYWxwaGEpfX19bGV0IEw9bmV3IGllO0wucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpnfSksTC5wcmV2UG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpifSksTC5uZXh0UG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpUfSksTC5leHBhbmRBbmRXaWR0aD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6T30pLG4uc3QmJihMLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpFfSkpLGgodykmJihMLmNvbG9yPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjQsdmFsdWVzOncsbm9ybWFsaXplOiEwfSkpO2xldCBVPUR0LmNyZWF0ZVR5cGVkQXJyYXkoXyxtKjYtNiksQT0wLFM9MCxQPW0tMTtmb3IoYz0wO2M8UDsrK2MpVVtTKytdPUEsVVtTKytdPUErMixVW1MrK109QSsxLFVbUysrXT1BKzEsVVtTKytdPUErMixVW1MrK109QSszLEErPTQ7cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpMLGluZGljZXM6VSxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFUyxib3VuZGluZ1NwaGVyZTpBdC5mcm9tUG9pbnRzKGQpLGdlb21ldHJ5VHlwZTpNaS5QT0xZTElORVN9KX07aHk9UWZ9KTt2YXIgX3k9e307ZGUoX3kse2RlZmF1bHQ6KCk9PiRGfSk7ZnVuY3Rpb24gWUYodCxlKXtyZXR1cm4gaChlKSYmKHQ9aHkudW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksaHkuY3JlYXRlR2VvbWV0cnkodCl9dmFyICRGLHl5PVooKCk9PntmdCgpO1p0KCk7RkUoKTskRj1ZRn0pO2Z1bmN0aW9uIFpGKHQsZSxuLG8pe2xldCByPW5ldyBpZTtvLnBvc2l0aW9uJiYoci5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnR9KSk7bGV0IGk9ZS5sZW5ndGgscz10Lmxlbmd0aC8zLGY9KHMtaSoyKS8oaSoyKSx1PVBlLnRyaWFuZ3VsYXRlKGUpLGM9KGYtMSkqaSo2K3UubGVuZ3RoKjIsbD1EdC5jcmVhdGVUeXBlZEFycmF5KHMsYykscCxkLG0sXyxnLGIsVD1pKjIsTz0wO2ZvcihwPTA7cDxmLTE7cCsrKXtmb3IoZD0wO2Q8aS0xO2QrKyltPWQqMitwKmkqMixiPW0rVCxfPW0rMSxnPV8rVCxsW08rK109XyxsW08rK109bSxsW08rK109ZyxsW08rK109ZyxsW08rK109bSxsW08rK109YjttPWkqMi0yK3AqaSoyLF89bSsxLGc9XytULGI9bStULGxbTysrXT1fLGxbTysrXT1tLGxbTysrXT1nLGxbTysrXT1nLGxbTysrXT1tLGxbTysrXT1ifWlmKG8uc3R8fG8udGFuZ2VudHx8by5iaXRhbmdlbnQpe2xldCBDPW5ldyBGbG9hdDMyQXJyYXkocyoyKSxOPTEvKGYtMSksST0xL24uaGVpZ2h0LEQ9bi5oZWlnaHQvMix2LEwsVT0wO2ZvcihwPTA7cDxmO3ArKyl7Zm9yKHY9cCpOLEw9SSooZVswXS55K0QpLENbVSsrXT12LENbVSsrXT1MLGQ9MTtkPGk7ZCsrKUw9SSooZVtkXS55K0QpLENbVSsrXT12LENbVSsrXT1MLENbVSsrXT12LENbVSsrXT1MO0w9SSooZVswXS55K0QpLENbVSsrXT12LENbVSsrXT1MfWZvcihkPTA7ZDxpO2QrKyl2PTAsTD1JKihlW2RdLnkrRCksQ1tVKytdPXYsQ1tVKytdPUw7Zm9yKGQ9MDtkPGk7ZCsrKXY9KGYtMSkqTixMPUkqKGVbZF0ueStEKSxDW1UrK109dixDW1UrK109TDtyLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpuZXcgRmxvYXQzMkFycmF5KEMpfSl9bGV0IEU9cy1pKjI7Zm9yKHA9MDtwPHUubGVuZ3RoO3ArPTMpe2xldCBDPXVbcF0rRSxOPXVbcCsxXStFLEk9dVtwKzJdK0U7bFtPKytdPUMsbFtPKytdPU4sbFtPKytdPUksbFtPKytdPUkraSxsW08rK109TitpLGxbTysrXT1DK2l9bGV0IHc9bmV3IFV0KHthdHRyaWJ1dGVzOnIsaW5kaWNlczpsLGJvdW5kaW5nU3BoZXJlOkF0LmZyb21WZXJ0aWNlcyh0KSxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFU30pO2lmKG8ubm9ybWFsJiYodz1WZS5jb21wdXRlTm9ybWFsKHcpKSxvLnRhbmdlbnR8fG8uYml0YW5nZW50KXt0cnl7dz1WZS5jb21wdXRlVGFuZ2VudEFuZEJpdGFuZ2VudCh3KX1jYXRjaHtuYSgicG9seWxpbmUtdm9sdW1lLXRhbmdlbnQtYml0YW5nZW50IiwiVW5hYmxlIHRvIGNvbXB1dGUgdGFuZ2VudHMgYW5kIGJpdGFuZ2VudHMgZm9yIHBvbHlsaW5lIHZvbHVtZSBnZW9tZXRyeSIpfW8udGFuZ2VudHx8KHcuYXR0cmlidXRlcy50YW5nZW50PXZvaWQgMCksby5iaXRhbmdlbnR8fCh3LmF0dHJpYnV0ZXMuYml0YW5nZW50PXZvaWQgMCksby5zdHx8KHcuYXR0cmlidXRlcy5zdD12b2lkIDApfXJldHVybiB3fWZ1bmN0aW9uIHR1KHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvbHlsaW5lUG9zaXRpb25zLG49dC5zaGFwZVBvc2l0aW9ucztpZighaChlKSl0aHJvdyBuZXcgRigib3B0aW9ucy5wb2x5bGluZVBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigib3B0aW9ucy5zaGFwZVBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTt0aGlzLl9wb3NpdGlvbnM9ZSx0aGlzLl9zaGFwZT1uLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKHgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSksdGhpcy5fY29ybmVyVHlwZT14KHQuY29ybmVyVHlwZSxmbi5ST1VOREVEKSx0aGlzLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoeCh0LnZlcnRleEZvcm1hdCxkdC5ERUZBVUxUKSksdGhpcy5fZ3JhbnVsYXJpdHk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVQb2x5bGluZVZvbHVtZUdlb21ldHJ5IjtsZXQgbz0xK2UubGVuZ3RoKmEucGFja2VkTGVuZ3RoO28rPTErbi5sZW5ndGgqdHQucGFja2VkTGVuZ3RoLHRoaXMucGFja2VkTGVuZ3RoPW8rJC5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RoKzJ9dmFyIEJFLFVFLEpmLFFGLGd5LFZFPVooKCk9PntqcigpO1BmKCk7dmUoKTtVZSgpO0Z0KCk7RmUoKTtoYygpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7WGUoKTtZZSgpO2FuKCk7c2koKTskZSgpO1d0KCk7dnAoKTtxcigpO2hkKCk7dG4oKTtSbygpO2xjKCk7dHUucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7bj14KG4sMCk7bGV0IG8scj10Ll9wb3NpdGlvbnMsaT1yLmxlbmd0aDtmb3IoZVtuKytdPWksbz0wO288aTsrK28sbis9YS5wYWNrZWRMZW5ndGgpYS5wYWNrKHJbb10sZSxuKTtsZXQgcz10Ll9zaGFwZTtmb3IoaT1zLmxlbmd0aCxlW24rK109aSxvPTA7bzxpOysrbyxuKz10dC5wYWNrZWRMZW5ndGgpdHQucGFjayhzW29dLGUsbik7cmV0dXJuICQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW24rK109dC5fY29ybmVyVHlwZSxlW25dPXQuX2dyYW51bGFyaXR5LGV9O0JFPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksVUU9bmV3IGR0LEpmPXtwb2x5bGluZVBvc2l0aW9uczp2b2lkIDAsc2hhcGVQb3NpdGlvbnM6dm9pZCAwLGVsbGlwc29pZDpCRSx2ZXJ0ZXhGb3JtYXQ6VUUsY29ybmVyVHlwZTp2b2lkIDAsZ3JhbnVsYXJpdHk6dm9pZCAwfTt0dS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvLHI9dFtlKytdLGk9bmV3IEFycmF5KHIpO2ZvcihvPTA7bzxyOysrbyxlKz1hLnBhY2tlZExlbmd0aClpW29dPWEudW5wYWNrKHQsZSk7cj10W2UrK107bGV0IHM9bmV3IEFycmF5KHIpO2ZvcihvPTA7bzxyOysrbyxlKz10dC5wYWNrZWRMZW5ndGgpc1tvXT10dC51bnBhY2sodCxlKTtsZXQgZj0kLnVucGFjayh0LGUsQkUpO2UrPSQucGFja2VkTGVuZ3RoO2xldCB1PWR0LnVucGFjayh0LGUsVUUpO2UrPWR0LnBhY2tlZExlbmd0aDtsZXQgYz10W2UrK10sbD10W2VdO3JldHVybiBoKG4pPyhuLl9wb3NpdGlvbnM9aSxuLl9zaGFwZT1zLG4uX2VsbGlwc29pZD0kLmNsb25lKGYsbi5fZWxsaXBzb2lkKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUodSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX2Nvcm5lclR5cGU9YyxuLl9ncmFudWxhcml0eT1sLG4pOihKZi5wb2x5bGluZVBvc2l0aW9ucz1pLEpmLnNoYXBlUG9zaXRpb25zPXMsSmYuY29ybmVyVHlwZT1jLEpmLmdyYW51bGFyaXR5PWwsbmV3IHR1KEpmKSl9O1FGPW5ldyBIcjt0dS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9wb3NpdGlvbnMsbj14bihlLGEuZXF1YWxzRXBzaWxvbiksbz10Ll9zaGFwZTtpZihvPWhzLnJlbW92ZUR1cGxpY2F0ZXNGcm9tU2hhcGUobyksbi5sZW5ndGg8Mnx8by5sZW5ndGg8MylyZXR1cm47UGUuY29tcHV0ZVdpbmRpbmdPcmRlcjJEKG8pPT09Q28uQ0xPQ0tXSVNFJiZvLnJldmVyc2UoKTtsZXQgcj1Ici5mcm9tUG9pbnRzKG8sUUYpLGk9aHMuY29tcHV0ZVBvc2l0aW9ucyhuLG8scix0LCEwKTtyZXR1cm4gWkYoaSxvLHIsdC5fdmVydGV4Rm9ybWF0KX07Z3k9dHV9KTt2YXIgQXk9e307ZGUoQXkse2RlZmF1bHQ6KCk9PnRCfSk7ZnVuY3Rpb24gSkYodCxlKXtyZXR1cm4gaChlKSYmKHQ9Z3kudW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksZ3kuY3JlYXRlR2VvbWV0cnkodCl9dmFyIHRCLGJ5PVooKCk9PntmdCgpO1p0KCk7VkUoKTt0Qj1KRn0pO2Z1bmN0aW9uIGVCKHQsZSl7bGV0IG49bmV3IGllO24ucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczp0fSk7bGV0IG89ZS5sZW5ndGgscj1uLnBvc2l0aW9uLnZhbHVlcy5sZW5ndGgvMyxzPXQubGVuZ3RoLzMvbyxmPUR0LmNyZWF0ZVR5cGVkQXJyYXkociwyKm8qKHMrMSkpLHUsYyxsPTA7dT0wO2xldCBwPXUqbztmb3IoYz0wO2M8by0xO2MrKylmW2wrK109YytwLGZbbCsrXT1jK3ArMTtmb3IoZltsKytdPW8tMStwLGZbbCsrXT1wLHU9cy0xLHA9dSpvLGM9MDtjPG8tMTtjKyspZltsKytdPWMrcCxmW2wrK109YytwKzE7Zm9yKGZbbCsrXT1vLTErcCxmW2wrK109cCx1PTA7dTxzLTE7dSsrKXtsZXQgbT1vKnUsXz1tK287Zm9yKGM9MDtjPG87YysrKWZbbCsrXT1jK20sZltsKytdPWMrX31yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOm4saW5kaWNlczpEdC5jcmVhdGVUeXBlZEFycmF5KHIsZiksYm91bmRpbmdTcGhlcmU6QXQuZnJvbVZlcnRpY2VzKHQpLHByaW1pdGl2ZVR5cGU6QnQuTElORVN9KX1mdW5jdGlvbiBudSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb2x5bGluZVBvc2l0aW9ucyxuPXQuc2hhcGVQb3NpdGlvbnM7aWYoIWgoZSkpdGhyb3cgbmV3IEYoIm9wdGlvbnMucG9seWxpbmVQb3NpdGlvbnMgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoIm9wdGlvbnMuc2hhcGVQb3NpdGlvbnMgaXMgcmVxdWlyZWQuIik7dGhpcy5fcG9zaXRpb25zPWUsdGhpcy5fc2hhcGU9bix0aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZSh4KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkpLHRoaXMuX2Nvcm5lclR5cGU9eCh0LmNvcm5lclR5cGUsZm4uUk9VTkRFRCksdGhpcy5fZ3JhbnVsYXJpdHk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVQb2x5bGluZVZvbHVtZU91dGxpbmVHZW9tZXRyeSI7bGV0IG89MStlLmxlbmd0aCphLnBhY2tlZExlbmd0aDtvKz0xK24ubGVuZ3RoKnR0LnBhY2tlZExlbmd0aCx0aGlzLnBhY2tlZExlbmd0aD1vKyQucGFja2VkTGVuZ3RoKzJ9dmFyIGtFLGV1LG5CLFR5LEdFPVooKCk9PntqcigpO1BmKCk7dmUoKTtVZSgpO0Z0KCk7RmUoKTtoYygpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7WGUoKTtZZSgpO2FuKCk7JGUoKTtXdCgpO3FyKCk7aGQoKTt0bigpO2xjKCk7bnUucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7bj14KG4sMCk7bGV0IG8scj10Ll9wb3NpdGlvbnMsaT1yLmxlbmd0aDtmb3IoZVtuKytdPWksbz0wO288aTsrK28sbis9YS5wYWNrZWRMZW5ndGgpYS5wYWNrKHJbb10sZSxuKTtsZXQgcz10Ll9zaGFwZTtmb3IoaT1zLmxlbmd0aCxlW24rK109aSxvPTA7bzxpOysrbyxuKz10dC5wYWNrZWRMZW5ndGgpdHQucGFjayhzW29dLGUsbik7cmV0dXJuICQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxlW24rK109dC5fY29ybmVyVHlwZSxlW25dPXQuX2dyYW51bGFyaXR5LGV9O2tFPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksZXU9e3BvbHlsaW5lUG9zaXRpb25zOnZvaWQgMCxzaGFwZVBvc2l0aW9uczp2b2lkIDAsZWxsaXBzb2lkOmtFLGhlaWdodDp2b2lkIDAsY29ybmVyVHlwZTp2b2lkIDAsZ3JhbnVsYXJpdHk6dm9pZCAwfTtudS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvLHI9dFtlKytdLGk9bmV3IEFycmF5KHIpO2ZvcihvPTA7bzxyOysrbyxlKz1hLnBhY2tlZExlbmd0aClpW29dPWEudW5wYWNrKHQsZSk7cj10W2UrK107bGV0IHM9bmV3IEFycmF5KHIpO2ZvcihvPTA7bzxyOysrbyxlKz10dC5wYWNrZWRMZW5ndGgpc1tvXT10dC51bnBhY2sodCxlKTtsZXQgZj0kLnVucGFjayh0LGUsa0UpO2UrPSQucGFja2VkTGVuZ3RoO2xldCB1PXRbZSsrXSxjPXRbZV07cmV0dXJuIGgobik/KG4uX3Bvc2l0aW9ucz1pLG4uX3NoYXBlPXMsbi5fZWxsaXBzb2lkPSQuY2xvbmUoZixuLl9lbGxpcHNvaWQpLG4uX2Nvcm5lclR5cGU9dSxuLl9ncmFudWxhcml0eT1jLG4pOihldS5wb2x5bGluZVBvc2l0aW9ucz1pLGV1LnNoYXBlUG9zaXRpb25zPXMsZXUuY29ybmVyVHlwZT11LGV1LmdyYW51bGFyaXR5PWMsbmV3IG51KGV1KSl9O25CPW5ldyBIcjtudS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9wb3NpdGlvbnMsbj14bihlLGEuZXF1YWxzRXBzaWxvbiksbz10Ll9zaGFwZTtpZihvPWhzLnJlbW92ZUR1cGxpY2F0ZXNGcm9tU2hhcGUobyksbi5sZW5ndGg8Mnx8by5sZW5ndGg8MylyZXR1cm47UGUuY29tcHV0ZVdpbmRpbmdPcmRlcjJEKG8pPT09Q28uQ0xPQ0tXSVNFJiZvLnJldmVyc2UoKTtsZXQgcj1Ici5mcm9tUG9pbnRzKG8sbkIpLGk9aHMuY29tcHV0ZVBvc2l0aW9ucyhuLG8scix0LCExKTtyZXR1cm4gZUIoaSxvKX07VHk9bnV9KTt2YXIgd3k9e307ZGUod3kse2RlZmF1bHQ6KCk9PnJCfSk7ZnVuY3Rpb24gb0IodCxlKXtyZXR1cm4gaChlKSYmKHQ9VHkudW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksVHkuY3JlYXRlR2VvbWV0cnkodCl9dmFyIHJCLE95PVooKCk9PntmdCgpO1p0KCk7R0UoKTtyQj1vQn0pO2Z1bmN0aW9uIEhFKHQsZSxuLG8scixpLHMpe2xldCBmPU1hdGguY29zKGUpLHU9bypmLGM9bipmLGw9TWF0aC5zaW4oZSkscD1vKmwsZD1uKmw7b3UuX2VsbGlwc29pZD0kLmRlZmF1bHQsU3I9b3UucHJvamVjdCh0LFNyKSxTcj1hLnN1YnRyYWN0KFNyLERkLFNyKTtsZXQgbT1Zby5mcm9tUm90YXRpb24oZSxzQik7U3I9WW8ubXVsdGlwbHlCeVZlY3RvcihtLFNyLFNyKSxTcj1hLmFkZChTcixEZCxTciksdD1vdS51bnByb2plY3QoU3IsdCksaS09MSxzLT0xO2xldCBfPXQubGF0aXR1ZGUsZz1fK2kqZCxiPV8tdSpzLFQ9Xy11KnMraSpkLE89TWF0aC5tYXgoXyxnLGIsVCksRT1NYXRoLm1pbihfLGcsYixUKSx3PXQubG9uZ2l0dWRlLEM9dytpKmMsTj13K3MqcCxJPXcrcypwK2kqYyxEPU1hdGgubWF4KHcsQyxOLEkpLHY9TWF0aC5taW4odyxDLE4sSSk7cmV0dXJue25vcnRoOk8sc291dGg6RSxlYXN0OkQsd2VzdDp2LGdyYW5ZQ29zOnUsZ3JhbllTaW46cCxncmFuWENvczpjLGdyYW5YU2luOmQsbndDb3JuZXI6dH19dmFyIHpFLGpFLGlCLEV5LHNCLFNyLGNCLERkLG91LGdvLFJ5PVooKCk9PntGdCgpO0llKCk7ZnQoKTtIdCgpO1p0KCk7U2koKTtXdCgpO1RmKCk7d24oKTt6RT1NYXRoLmNvcyxqRT1NYXRoLnNpbixpQj1NYXRoLnNxcnQsRXk9e307RXkuY29tcHV0ZVBvc2l0aW9uPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe2xldCBmPWUucmFkaWlTcXVhcmVkLHU9dC5ud0Nvcm5lcixjPXQuYm91bmRpbmdSZWN0YW5nbGUsbD11LmxhdGl0dWRlLXQuZ3JhbllDb3MqbytyKnQuZ3JhblhTaW4scD16RShsKSxkPWpFKGwpLG09Zi56KmQsXz11LmxvbmdpdHVkZStvKnQuZ3JhbllTaW4rcip0LmdyYW5YQ29zLGc9cCp6RShfKSxiPXAqakUoXyksVD1mLngqZyxPPWYueSpiLEU9aUIoVCpnK08qYittKmQpO2lmKGkueD1UL0UsaS55PU8vRSxpLno9bS9FLG4pe2xldCB3PXQuc3ROd0Nvcm5lcjtoKHcpPyhsPXcubGF0aXR1ZGUtdC5zdEdyYW5ZQ29zKm8rcip0LnN0R3JhblhTaW4sXz13LmxvbmdpdHVkZStvKnQuc3RHcmFuWVNpbityKnQuc3RHcmFuWENvcyxzLng9KF8tdC5zdFdlc3QpKnQubG9uU2NhbGFyLHMueT0obC10LnN0U291dGgpKnQubGF0U2NhbGFyKToocy54PShfLWMud2VzdCkqdC5sb25TY2FsYXIscy55PShsLWMuc291dGgpKnQubGF0U2NhbGFyKX19O3NCPW5ldyBZbyxTcj1uZXcgYSxjQj1uZXcgY3QsRGQ9bmV3IGEsb3U9bmV3IEpuO0V5LmNvbXB1dGVPcHRpb25zPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe2xldCBmPXQuZWFzdCx1PXQud2VzdCxjPXQubm9ydGgsbD10LnNvdXRoLHA9ITEsZD0hMTtjPT09TS5QSV9PVkVSX1RXTyYmKHA9ITApLGw9PT0tTS5QSV9PVkVSX1RXTyYmKGQ9ITApO2xldCBtLF89Yy1sO3U+Zj9tPU0uVFdPX1BJLXUrZjptPWYtdTtsZXQgZz1NYXRoLmNlaWwobS9lKSsxLGI9TWF0aC5jZWlsKF8vZSkrMSxUPW0vKGctMSksTz1fLyhiLTEpLEU9TnQubm9ydGh3ZXN0KHQsaSksdz1OdC5jZW50ZXIodCxjQik7KG4hPT0wfHxvIT09MCkmJih3LmxvbmdpdHVkZTxFLmxvbmdpdHVkZSYmKHcubG9uZ2l0dWRlKz1NLlRXT19QSSksb3UuX2VsbGlwc29pZD0kLmRlZmF1bHQsRGQ9b3UucHJvamVjdCh3LERkKSk7bGV0IEM9TyxOPVQsST0wLEQ9MCx2PU50LmNsb25lKHQsciksTD17Z3JhbllDb3M6QyxncmFuWVNpbjpJLGdyYW5YQ29zOk4sZ3JhblhTaW46RCxud0Nvcm5lcjpFLGJvdW5kaW5nUmVjdGFuZ2xlOnYsd2lkdGg6ZyxoZWlnaHQ6Yixub3J0aENhcDpwLHNvdXRoQ2FwOmR9O2lmKG4hPT0wKXtsZXQgVT1IRShFLG4sVCxPLHcsZyxiKTtpZihjPVUubm9ydGgsbD1VLnNvdXRoLGY9VS5lYXN0LHU9VS53ZXN0LGM8LU0uUElfT1ZFUl9UV098fGM+TS5QSV9PVkVSX1RXT3x8bDwtTS5QSV9PVkVSX1RXT3x8bD5NLlBJX09WRVJfVFdPKXRocm93IG5ldyBGKCJSb3RhdGVkIHJlY3RhbmdsZSBpcyBpbnZhbGlkLiAgSXQgY3Jvc3NlcyBvdmVyIGVpdGhlciB0aGUgbm9ydGggb3Igc291dGggcG9sZS4iKTtMLmdyYW5ZQ29zPVUuZ3JhbllDb3MsTC5ncmFuWVNpbj1VLmdyYW5ZU2luLEwuZ3JhblhDb3M9VS5ncmFuWENvcyxMLmdyYW5YU2luPVUuZ3JhblhTaW4sdi5ub3J0aD1jLHYuc291dGg9bCx2LmVhc3Q9Zix2Lndlc3Q9dX1pZihvIT09MCl7bj1uLW87bGV0IFU9TnQubm9ydGh3ZXN0KHYscyksQT1IRShVLG4sVCxPLHcsZyxiKTtMLnN0R3JhbllDb3M9QS5ncmFuWUNvcyxMLnN0R3JhblhDb3M9QS5ncmFuWENvcyxMLnN0R3JhbllTaW49QS5ncmFuWVNpbixMLnN0R3JhblhTaW49QS5ncmFuWFNpbixMLnN0TndDb3JuZXI9VSxMLnN0V2VzdD1BLndlc3QsTC5zdFNvdXRoPUEuc291dGh9cmV0dXJuIEx9O2dvPUV5fSk7ZnVuY3Rpb24gWkUodCxlKXtsZXQgbj1uZXcgVXQoe2F0dHJpYnV0ZXM6bmV3IGllLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfSk7cmV0dXJuIG4uYXR0cmlidXRlcy5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmUucG9zaXRpb25zfSksdC5ub3JtYWwmJihuLmF0dHJpYnV0ZXMubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczplLm5vcm1hbHN9KSksdC50YW5nZW50JiYobi5hdHRyaWJ1dGVzLnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmUudGFuZ2VudHN9KSksdC5iaXRhbmdlbnQmJihuLmF0dHJpYnV0ZXMuYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczplLmJpdGFuZ2VudHN9KSksbn1mdW5jdGlvbiBsQih0LGUsbixvKXtsZXQgcj10Lmxlbmd0aCxpPWUubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkocik6dm9pZCAwLHM9ZS50YW5nZW50P25ldyBGbG9hdDMyQXJyYXkocik6dm9pZCAwLGY9ZS5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShyKTp2b2lkIDAsdT0wLGM9WUUsbD1YRSxwPVdFO2lmKGUubm9ybWFsfHxlLnRhbmdlbnR8fGUuYml0YW5nZW50KWZvcihsZXQgZD0wO2Q8cjtkKz0zKXtsZXQgbT1hLmZyb21BcnJheSh0LGQsU3kpLF89dSsxLGc9dSsyO3A9bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobSxwKSwoZS50YW5nZW50fHxlLmJpdGFuZ2VudCkmJihhLmNyb3NzKGEuVU5JVF9aLHAsbCksUS5tdWx0aXBseUJ5VmVjdG9yKG8sbCxsKSxhLm5vcm1hbGl6ZShsLGwpLGUuYml0YW5nZW50JiZhLm5vcm1hbGl6ZShhLmNyb3NzKHAsbCxjKSxjKSksZS5ub3JtYWwmJihpW3VdPXAueCxpW19dPXAueSxpW2ddPXAueiksZS50YW5nZW50JiYoc1t1XT1sLngsc1tfXT1sLnksc1tnXT1sLnopLGUuYml0YW5nZW50JiYoZlt1XT1jLngsZltfXT1jLnksZltnXT1jLnopLHUrPTN9cmV0dXJuIFpFKGUse3Bvc2l0aW9uczp0LG5vcm1hbHM6aSx0YW5nZW50czpzLGJpdGFuZ2VudHM6Zn0pfWZ1bmN0aW9uIHBCKHQsZSxuKXtsZXQgbz10Lmxlbmd0aCxyPWUubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkobyk6dm9pZCAwLGk9ZS50YW5nZW50P25ldyBGbG9hdDMyQXJyYXkobyk6dm9pZCAwLHM9ZS5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShvKTp2b2lkIDAsZj0wLHU9MCxjPTAsbD0hMCxwPVlFLGQ9WEUsbT1XRTtpZihlLm5vcm1hbHx8ZS50YW5nZW50fHxlLmJpdGFuZ2VudClmb3IobGV0IF89MDtfPG87Xys9Nil7bGV0IGc9YS5mcm9tQXJyYXkodCxfLFN5KSxiPWEuZnJvbUFycmF5KHQsKF8rNiklbyxDeSk7aWYobCl7bGV0IFQ9YS5mcm9tQXJyYXkodCwoXyszKSVvLFFFKTthLnN1YnRyYWN0KGIsZyxiKSxhLnN1YnRyYWN0KFQsZyxUKSxtPWEubm9ybWFsaXplKGEuY3Jvc3MoVCxiLG0pLG0pLGw9ITF9YS5lcXVhbHNFcHNpbG9uKGIsZyxNLkVQU0lMT04xMCkmJihsPSEwKSwoZS50YW5nZW50fHxlLmJpdGFuZ2VudCkmJihwPW4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGcscCksZS50YW5nZW50JiYoZD1hLm5vcm1hbGl6ZShhLmNyb3NzKHAsbSxkKSxkKSkpLGUubm9ybWFsJiYocltmKytdPW0ueCxyW2YrK109bS55LHJbZisrXT1tLnoscltmKytdPW0ueCxyW2YrK109bS55LHJbZisrXT1tLnopLGUudGFuZ2VudCYmKGlbdSsrXT1kLngsaVt1KytdPWQueSxpW3UrK109ZC56LGlbdSsrXT1kLngsaVt1KytdPWQueSxpW3UrK109ZC56KSxlLmJpdGFuZ2VudCYmKHNbYysrXT1wLngsc1tjKytdPXAueSxzW2MrK109cC56LHNbYysrXT1wLngsc1tjKytdPXAueSxzW2MrK109cC56KX1yZXR1cm4gWkUoZSx7cG9zaXRpb25zOnQsbm9ybWFsczpyLHRhbmdlbnRzOmksYml0YW5nZW50czpzfSl9ZnVuY3Rpb24gSkUodCxlKXtsZXQgbj10Ll92ZXJ0ZXhGb3JtYXQsbz10Ll9lbGxpcHNvaWQscj1lLmhlaWdodCxpPWUud2lkdGgscz1lLm5vcnRoQ2FwLGY9ZS5zb3V0aENhcCx1PTAsYz1yLGw9cixwPTA7cyYmKHU9MSxsLT0xLHArPTEpLGYmJihjLT0xLGwtPTEscCs9MSkscCs9aSpsO2xldCBkPW4ucG9zaXRpb24/bmV3IEZsb2F0NjRBcnJheShwKjMpOnZvaWQgMCxtPW4uc3Q/bmV3IEZsb2F0MzJBcnJheShwKjIpOnZvaWQgMCxfPTAsZz0wLGI9U3ksVD1hQixPPU51bWJlci5NQVhfVkFMVUUsRT1OdW1iZXIuTUFYX1ZBTFVFLHc9LU51bWJlci5NQVhfVkFMVUUsQz0tTnVtYmVyLk1BWF9WQUxVRTtmb3IobGV0IEE9dTtBPGM7KytBKWZvcihsZXQgUz0wO1M8aTsrK1MpZ28uY29tcHV0ZVBvc2l0aW9uKGUsbyxuLnN0LEEsUyxiLFQpLGRbXysrXT1iLngsZFtfKytdPWIueSxkW18rK109Yi56LG4uc3QmJihtW2crK109VC54LG1bZysrXT1ULnksTz1NYXRoLm1pbihPLFQueCksRT1NYXRoLm1pbihFLFQueSksdz1NYXRoLm1heCh3LFQueCksQz1NYXRoLm1heChDLFQueSkpO2lmKHMmJihnby5jb21wdXRlUG9zaXRpb24oZSxvLG4uc3QsMCwwLGIsVCksZFtfKytdPWIueCxkW18rK109Yi55LGRbXysrXT1iLnosbi5zdCYmKG1bZysrXT1ULngsbVtnKytdPVQueSxPPVQueCxFPVQueSx3PVQueCxDPVQueSkpLGYmJihnby5jb21wdXRlUG9zaXRpb24oZSxvLG4uc3Qsci0xLDAsYixUKSxkW18rK109Yi54LGRbXysrXT1iLnksZFtfXT1iLnosbi5zdCYmKG1bZysrXT1ULngsbVtnXT1ULnksTz1NYXRoLm1pbihPLFQueCksRT1NYXRoLm1pbihFLFQueSksdz1NYXRoLm1heCh3LFQueCksQz1NYXRoLm1heChDLFQueSkpKSxuLnN0JiYoTzwwfHxFPDB8fHc+MXx8Qz4xKSlmb3IobGV0IEE9MDtBPG0ubGVuZ3RoO0ErPTIpbVtBXT0obVtBXS1PKS8ody1PKSxtW0ErMV09KG1bQSsxXS1FKS8oQy1FKTtsZXQgTj1sQihkLG4sbyxlLnRhbmdlbnRSb3RhdGlvbk1hdHJpeCksST02KihpLTEpKihsLTEpO3MmJihJKz0zKihpLTEpKSxmJiYoSSs9MyooaS0xKSk7bGV0IEQ9RHQuY3JlYXRlVHlwZWRBcnJheShwLEkpLHY9MCxMPTAsVTtmb3IoVT0wO1U8bC0xOysrVSl7Zm9yKGxldCBBPTA7QTxpLTE7KytBKXtsZXQgUz12LFA9UytpLEI9UCsxLGo9UysxO0RbTCsrXT1TLERbTCsrXT1QLERbTCsrXT1qLERbTCsrXT1qLERbTCsrXT1QLERbTCsrXT1CLCsrdn0rK3Z9aWYoc3x8Zil7bGV0IEE9cC0xLFM9cC0xO3MmJmYmJihBPXAtMik7bGV0IFAsQjtpZih2PTAscylmb3IoVT0wO1U8aS0xO1UrKylQPXYsQj1QKzEsRFtMKytdPUEsRFtMKytdPVAsRFtMKytdPUIsKyt2O2lmKGYpZm9yKHY9KGwtMSkqaSxVPTA7VTxpLTE7VSsrKVA9dixCPVArMSxEW0wrK109UCxEW0wrK109UyxEW0wrK109QiwrK3Z9cmV0dXJuIE4uaW5kaWNlcz1ELG4uc3QmJihOLmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOm19KSksTn1mdW5jdGlvbiBOYSh0LGUsbixvLHIpe3JldHVybiB0W2UrK109b1tuXSx0W2UrK109b1tuKzFdLHRbZSsrXT1vW24rMl0sdFtlKytdPXJbbl0sdFtlKytdPXJbbisxXSx0W2VdPXJbbisyXSx0fWZ1bmN0aW9uIElhKHQsZSxuLG8pe3JldHVybiB0W2UrK109b1tuXSx0W2UrK109b1tuKzFdLHRbZSsrXT1vW25dLHRbZV09b1tuKzFdLHR9ZnVuY3Rpb24gZEIodCxlKXtsZXQgbj10Ll9zaGFkb3dWb2x1bWUsbz10Ll9vZmZzZXRBdHRyaWJ1dGUscj10Ll92ZXJ0ZXhGb3JtYXQsaT10Ll9leHRydWRlZEhlaWdodCxzPXQuX3N1cmZhY2VIZWlnaHQsZj10Ll9lbGxpcHNvaWQsdT1lLmhlaWdodCxjPWUud2lkdGgsbDtpZihuKXtsZXQgSnQ9ZHQuY2xvbmUocix4eSk7SnQubm9ybWFsPSEwLHQuX3ZlcnRleEZvcm1hdD1KdH1sZXQgcD1KRSh0LGUpO24mJih0Ll92ZXJ0ZXhGb3JtYXQ9cik7bGV0IGQ9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KHAuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMscyxmLCExKTtkPW5ldyBGbG9hdDY0QXJyYXkoZCk7bGV0IG09ZC5sZW5ndGgsXz1tKjIsZz1uZXcgRmxvYXQ2NEFycmF5KF8pO2cuc2V0KGQpO2xldCBiPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChwLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLGksZik7Zy5zZXQoYixtKSxwLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzPWc7bGV0IFQ9ci5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShfKTp2b2lkIDAsTz1yLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShfKTp2b2lkIDAsRT1yLmJpdGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KF8pOnZvaWQgMCx3PXIuc3Q/bmV3IEZsb2F0MzJBcnJheShfLzMqMik6dm9pZCAwLEMsTjtpZihyLm5vcm1hbCl7Zm9yKE49cC5hdHRyaWJ1dGVzLm5vcm1hbC52YWx1ZXMsVC5zZXQoTiksbD0wO2w8bTtsKyspTltsXT0tTltsXTtULnNldChOLG0pLHAuYXR0cmlidXRlcy5ub3JtYWwudmFsdWVzPVR9aWYobil7Tj1wLmF0dHJpYnV0ZXMubm9ybWFsLnZhbHVlcyxyLm5vcm1hbHx8KHAuYXR0cmlidXRlcy5ub3JtYWw9dm9pZCAwKTtsZXQgSnQ9bmV3IEZsb2F0MzJBcnJheShfKTtmb3IobD0wO2w8bTtsKyspTltsXT0tTltsXTtKdC5zZXQoTixtKSxwLmF0dHJpYnV0ZXMuZXh0cnVkZURpcmVjdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6SnR9KX1sZXQgSSxEPWgobyk7aWYoRCl7bGV0IEp0PW0vMyoyLE5lPW5ldyBVaW50OEFycmF5KEp0KTtvPT09ZmUuVE9QP05lPU5lLmZpbGwoMSwwLEp0LzIpOihJPW89PT1mZS5OT05FPzA6MSxOZT1OZS5maWxsKEkpKSxwLmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6TmV9KX1pZihyLnRhbmdlbnQpe2xldCBKdD1wLmF0dHJpYnV0ZXMudGFuZ2VudC52YWx1ZXM7Zm9yKE8uc2V0KEp0KSxsPTA7bDxtO2wrKylKdFtsXT0tSnRbbF07Ty5zZXQoSnQsbSkscC5hdHRyaWJ1dGVzLnRhbmdlbnQudmFsdWVzPU99aWYoci5iaXRhbmdlbnQpe2xldCBKdD1wLmF0dHJpYnV0ZXMuYml0YW5nZW50LnZhbHVlcztFLnNldChKdCksRS5zZXQoSnQsbSkscC5hdHRyaWJ1dGVzLmJpdGFuZ2VudC52YWx1ZXM9RX1yLnN0JiYoQz1wLmF0dHJpYnV0ZXMuc3QudmFsdWVzLHcuc2V0KEMpLHcuc2V0KEMsbS8zKjIpLHAuYXR0cmlidXRlcy5zdC52YWx1ZXM9dyk7bGV0IHY9cC5pbmRpY2VzLEw9di5sZW5ndGgsVT1tLzMsQT1EdC5jcmVhdGVUeXBlZEFycmF5KF8vMyxMKjIpO2ZvcihBLnNldCh2KSxsPTA7bDxMO2wrPTMpQVtsK0xdPXZbbCsyXStVLEFbbCsxK0xdPXZbbCsxXStVLEFbbCsyK0xdPXZbbF0rVTtwLmluZGljZXM9QTtsZXQgUz1lLm5vcnRoQ2FwLFA9ZS5zb3V0aENhcCxCPXUsaj0yLEg9MCxrPTQsSz00O1MmJihqLT0xLEItPTEsSCs9MSxrLT0yLEstPTEpLFAmJihqLT0xLEItPTEsSCs9MSxrLT0yLEstPTEpLEgrPWoqYysyKkItaztsZXQgWD0oSCtLKSoyLFI9bmV3IEZsb2F0NjRBcnJheShYKjMpLG90PW4/bmV3IEZsb2F0MzJBcnJheShYKjMpOnZvaWQgMCxhdD1EP25ldyBVaW50OEFycmF5KFgpOnZvaWQgMCxwdD1yLnN0P25ldyBGbG9hdDMyQXJyYXkoWCoyKTp2b2lkIDAseXQ9bz09PWZlLlRPUDtEJiYheXQmJihJPW89PT1mZS5BTEw/MTowLGF0PWF0LmZpbGwoSSkpO2xldCBydD0wLFB0PTAsZ3Q9MCxDdD0wLG10PWMqQix1dDtmb3IobD0wO2w8bXQ7bCs9Yyl1dD1sKjMsUj1OYShSLHJ0LHV0LGQsYikscnQrPTYsci5zdCYmKHB0PUlhKHB0LFB0LGwqMixDKSxQdCs9NCksbiYmKGd0Kz0zLG90W2d0KytdPU5bdXRdLG90W2d0KytdPU5bdXQrMV0sb3RbZ3QrK109Tlt1dCsyXSkseXQmJihhdFtDdCsrXT0xLEN0Kz0xKTtpZihQKXtsZXQgSnQ9Uz9tdCsxOm10O2Zvcih1dD1KdCozLGw9MDtsPDI7bCsrKVI9TmEoUixydCx1dCxkLGIpLHJ0Kz02LHIuc3QmJihwdD1JYShwdCxQdCxKdCoyLEMpLFB0Kz00KSxuJiYoZ3QrPTMsb3RbZ3QrK109Tlt1dF0sb3RbZ3QrK109Tlt1dCsxXSxvdFtndCsrXT1OW3V0KzJdKSx5dCYmKGF0W0N0KytdPTEsQ3QrPTEpfWVsc2UgZm9yKGw9bXQtYztsPG10O2wrKyl1dD1sKjMsUj1OYShSLHJ0LHV0LGQsYikscnQrPTYsci5zdCYmKHB0PUlhKHB0LFB0LGwqMixDKSxQdCs9NCksbiYmKGd0Kz0zLG90W2d0KytdPU5bdXRdLG90W2d0KytdPU5bdXQrMV0sb3RbZ3QrK109Tlt1dCsyXSkseXQmJihhdFtDdCsrXT0xLEN0Kz0xKTtmb3IobD1tdC0xO2w+MDtsLT1jKXV0PWwqMyxSPU5hKFIscnQsdXQsZCxiKSxydCs9NixyLnN0JiYocHQ9SWEocHQsUHQsbCoyLEMpLFB0Kz00KSxuJiYoZ3QrPTMsb3RbZ3QrK109Tlt1dF0sb3RbZ3QrK109Tlt1dCsxXSxvdFtndCsrXT1OW3V0KzJdKSx5dCYmKGF0W0N0KytdPTEsQ3QrPTEpO2lmKFMpe2xldCBKdD1tdDtmb3IodXQ9SnQqMyxsPTA7bDwyO2wrKylSPU5hKFIscnQsdXQsZCxiKSxydCs9NixyLnN0JiYocHQ9SWEocHQsUHQsSnQqMixDKSxQdCs9NCksbiYmKGd0Kz0zLG90W2d0KytdPU5bdXRdLG90W2d0KytdPU5bdXQrMV0sb3RbZ3QrK109Tlt1dCsyXSkseXQmJihhdFtDdCsrXT0xLEN0Kz0xKX1lbHNlIGZvcihsPWMtMTtsPj0wO2wtLSl1dD1sKjMsUj1OYShSLHJ0LHV0LGQsYikscnQrPTYsci5zdCYmKHB0PUlhKHB0LFB0LGwqMixDKSxQdCs9NCksbiYmKGd0Kz0zLG90W2d0KytdPU5bdXRdLG90W2d0KytdPU5bdXQrMV0sb3RbZ3QrK109Tlt1dCsyXSkseXQmJihhdFtDdCsrXT0xLEN0Kz0xKTtsZXQgdnQ9cEIoUixyLGYpO3Iuc3QmJih2dC5hdHRyaWJ1dGVzLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpwdH0pKSxuJiYodnQuYXR0cmlidXRlcy5leHRydWRlRGlyZWN0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpvdH0pKSxEJiYodnQuYXR0cmlidXRlcy5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczphdH0pKTtsZXQgenQ9RHQuY3JlYXRlVHlwZWRBcnJheShYLEgqNiksbWUsYWUscGUsdWU7bT1SLmxlbmd0aC8zO2xldCBRdD0wO2ZvcihsPTA7bDxtLTE7bCs9Mil7bWU9bCx1ZT0obWUrMiklbTtsZXQgSnQ9YS5mcm9tQXJyYXkoUixtZSozLEN5KSxOZT1hLmZyb21BcnJheShSLHVlKjMsUUUpO2EuZXF1YWxzRXBzaWxvbihKdCxOZSxNLkVQU0lMT04xMCl8fChhZT0obWUrMSklbSxwZT0oYWUrMiklbSx6dFtRdCsrXT1tZSx6dFtRdCsrXT1hZSx6dFtRdCsrXT11ZSx6dFtRdCsrXT11ZSx6dFtRdCsrXT1hZSx6dFtRdCsrXT1wZSl9cmV0dXJuIHZ0LmluZGljZXM9enQsdnQ9VmUuY29tYmluZUluc3RhbmNlcyhbbmV3IGNvKHtnZW9tZXRyeTpwfSksbmV3IGNvKHtnZW9tZXRyeTp2dH0pXSksdnRbMF19ZnVuY3Rpb24gUHkodCxlLG4sbyxyKXtpZihuPT09MClyZXR1cm4gTnQuY2xvbmUodCxyKTtsZXQgaT1nby5jb21wdXRlT3B0aW9ucyh0LGUsbiwwLCRFLHRSKSxzPWkuaGVpZ2h0LGY9aS53aWR0aCx1PW1CO3JldHVybiBnby5jb21wdXRlUG9zaXRpb24oaSxvLCExLDAsMCx1WzBdKSxnby5jb21wdXRlUG9zaXRpb24oaSxvLCExLDAsZi0xLHVbMV0pLGdvLmNvbXB1dGVQb3NpdGlvbihpLG8sITEscy0xLDAsdVsyXSksZ28uY29tcHV0ZVBvc2l0aW9uKGksbywhMSxzLTEsZi0xLHVbM10pLE50LmZyb21DYXJ0ZXNpYW5BcnJheSh1LG8scil9ZnVuY3Rpb24gbWkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucmVjdGFuZ2xlO2lmKHkudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIixlKSxOdC5fdmFsaWRhdGUoZSksZS5ub3J0aDxlLnNvdXRoKXRocm93IG5ldyBGKCJvcHRpb25zLnJlY3RhbmdsZS5ub3J0aCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byBvcHRpb25zLnJlY3RhbmdsZS5zb3V0aCIpO2xldCBuPXgodC5oZWlnaHQsMCksbz14KHQuZXh0cnVkZWRIZWlnaHQsbik7dGhpcy5fcmVjdGFuZ2xlPU50LmNsb25lKGUpLHRoaXMuX2dyYW51bGFyaXR5PXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSksdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUoeCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpKSx0aGlzLl9zdXJmYWNlSGVpZ2h0PU1hdGgubWF4KG4sbyksdGhpcy5fcm90YXRpb249eCh0LnJvdGF0aW9uLDApLHRoaXMuX3N0Um90YXRpb249eCh0LnN0Um90YXRpb24sMCksdGhpcy5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKHgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCkpLHRoaXMuX2V4dHJ1ZGVkSGVpZ2h0PU1hdGgubWluKG4sbyksdGhpcy5fc2hhZG93Vm9sdW1lPXgodC5zaGFkb3dWb2x1bWUsITEpLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVJlY3RhbmdsZUdlb21ldHJ5Iix0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fcm90YXRlZFJlY3RhbmdsZT12b2lkIDAsdGhpcy5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50cz12b2lkIDB9ZnVuY3Rpb24gVEIodCl7aWYodC5fc3RSb3RhdGlvbj09PTApcmV0dXJuWzAsMCwwLDEsMSwwXTtsZXQgZT1OdC5jbG9uZSh0Ll9yZWN0YW5nbGUsS0UpLG49dC5fZ3JhbnVsYXJpdHksbz10Ll9lbGxpcHNvaWQscj10Ll9yb3RhdGlvbi10Ll9zdFJvdGF0aW9uLGk9UHkoZSxuLHIsbyxLRSkscz1nQjtzWzBdLng9aS53ZXN0LHNbMF0ueT1pLnNvdXRoLHNbMV0ueD1pLndlc3Qsc1sxXS55PWkubm9ydGgsc1syXS54PWkuZWFzdCxzWzJdLnk9aS5zb3V0aDtsZXQgZj10LnJlY3RhbmdsZSx1PVlvLmZyb21Sb3RhdGlvbih0Ll9zdFJvdGF0aW9uLEFCKSxjPU50LmNlbnRlcihmLGJCKTtmb3IobGV0IF89MDtfPDM7KytfKXtsZXQgZz1zW19dO2cueC09Yy5sb25naXR1ZGUsZy55LT1jLmxhdGl0dWRlLFlvLm11bHRpcGx5QnlWZWN0b3IodSxnLGcpLGcueCs9Yy5sb25naXR1ZGUsZy55Kz1jLmxhdGl0dWRlLGcueD0oZy54LWYud2VzdCkvZi53aWR0aCxnLnk9KGcueS1mLnNvdXRoKS9mLmhlaWdodH1sZXQgbD1zWzBdLHA9c1sxXSxkPXNbMl0sbT1uZXcgQXJyYXkoNik7cmV0dXJuIHR0LnBhY2sobCxtKSx0dC5wYWNrKHAsbSwyKSx0dC5wYWNrKGQsbSw0KSxtfXZhciBTeSxXRSxYRSxZRSwkRSxhQixmQix1QixDeSxRRSx4eSxtQix0UixoQixlUixuUixTcyxfQixxRSx5QixLRSxnQixBQixiQixNeSxvUj1aKCgpPT57dmUoKTtVZSgpO0Z0KCk7SWUoKTtYdCgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtzYygpO0xvKCk7c2koKTskZSgpO1d0KCk7VGYoKTtCbigpO3FyKCk7dG4oKTtLbygpO3duKCk7UnkoKTtSbygpO1N5PW5ldyBhLFdFPW5ldyBhLFhFPW5ldyBhLFlFPW5ldyBhLCRFPW5ldyBOdCxhQj1uZXcgdHQsZkI9bmV3IEF0LHVCPW5ldyBBdDtDeT1uZXcgYSxRRT1uZXcgYTt4eT1uZXcgZHQ7bUI9W25ldyBhLG5ldyBhLG5ldyBhLG5ldyBhXSx0Uj1uZXcgY3QsaEI9bmV3IGN0O21pLnBhY2tlZExlbmd0aD1OdC5wYWNrZWRMZW5ndGgrJC5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RoKzc7bWkucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLE50LnBhY2sodC5fcmVjdGFuZ2xlLGUsbiksbis9TnQucGFja2VkTGVuZ3RoLCQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW24rK109dC5fZ3JhbnVsYXJpdHksZVtuKytdPXQuX3N1cmZhY2VIZWlnaHQsZVtuKytdPXQuX3JvdGF0aW9uLGVbbisrXT10Ll9zdFJvdGF0aW9uLGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fc2hhZG93Vm9sdW1lPzE6MCxlW25dPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtlUj1uZXcgTnQsblI9JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSxTcz17cmVjdGFuZ2xlOmVSLGVsbGlwc29pZDpuUix2ZXJ0ZXhGb3JtYXQ6eHksZ3JhbnVsYXJpdHk6dm9pZCAwLGhlaWdodDp2b2lkIDAscm90YXRpb246dm9pZCAwLHN0Um90YXRpb246dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxzaGFkb3dWb2x1bWU6dm9pZCAwLG9mZnNldEF0dHJpYnV0ZTp2b2lkIDB9O21pLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89TnQudW5wYWNrKHQsZSxlUik7ZSs9TnQucGFja2VkTGVuZ3RoO2xldCByPSQudW5wYWNrKHQsZSxuUik7ZSs9JC5wYWNrZWRMZW5ndGg7bGV0IGk9ZHQudW5wYWNrKHQsZSx4eSk7ZSs9ZHQucGFja2VkTGVuZ3RoO2xldCBzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZSsrXSxjPXRbZSsrXSxsPXRbZSsrXSxwPXRbZSsrXT09PTEsZD10W2VdO3JldHVybiBoKG4pPyhuLl9yZWN0YW5nbGU9TnQuY2xvbmUobyxuLl9yZWN0YW5nbGUpLG4uX2VsbGlwc29pZD0kLmNsb25lKHIsbi5fZWxsaXBzb2lkKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoaSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX2dyYW51bGFyaXR5PXMsbi5fc3VyZmFjZUhlaWdodD1mLG4uX3JvdGF0aW9uPXUsbi5fc3RSb3RhdGlvbj1jLG4uX2V4dHJ1ZGVkSGVpZ2h0PWwsbi5fc2hhZG93Vm9sdW1lPXAsbi5fb2Zmc2V0QXR0cmlidXRlPWQ9PT0tMT92b2lkIDA6ZCxuKTooU3MuZ3JhbnVsYXJpdHk9cyxTcy5oZWlnaHQ9ZixTcy5yb3RhdGlvbj11LFNzLnN0Um90YXRpb249YyxTcy5leHRydWRlZEhlaWdodD1sLFNzLnNoYWRvd1ZvbHVtZT1wLFNzLm9mZnNldEF0dHJpYnV0ZT1kPT09LTE/dm9pZCAwOmQsbmV3IG1pKFNzKSl9O21pLmNvbXB1dGVSZWN0YW5nbGU9ZnVuY3Rpb24odCxlKXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IG49dC5yZWN0YW5nbGU7aWYoeS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLG4pLE50Ll92YWxpZGF0ZShuKSxuLm5vcnRoPG4uc291dGgpdGhyb3cgbmV3IEYoIm9wdGlvbnMucmVjdGFuZ2xlLm5vcnRoIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIG9wdGlvbnMucmVjdGFuZ2xlLnNvdXRoIik7bGV0IG89eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxyPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxpPXgodC5yb3RhdGlvbiwwKTtyZXR1cm4gUHkobixvLGkscixlKX07X0I9bmV3IFEscUU9bmV3IGVlLHlCPW5ldyBjdDttaS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtpZihNLmVxdWFsc0Vwc2lsb24odC5fcmVjdGFuZ2xlLm5vcnRoLHQuX3JlY3RhbmdsZS5zb3V0aCxNLkVQU0lMT04xMCl8fE0uZXF1YWxzRXBzaWxvbih0Ll9yZWN0YW5nbGUuZWFzdCx0Ll9yZWN0YW5nbGUud2VzdCxNLkVQU0lMT04xMCkpcmV0dXJuO2xldCBlPXQuX3JlY3RhbmdsZSxuPXQuX2VsbGlwc29pZCxvPXQuX3JvdGF0aW9uLHI9dC5fc3RSb3RhdGlvbixpPXQuX3ZlcnRleEZvcm1hdCxzPWdvLmNvbXB1dGVPcHRpb25zKGUsdC5fZ3JhbnVsYXJpdHksbyxyLCRFLHRSLGhCKSxmPV9CO2lmKHIhPT0wfHxvIT09MCl7bGV0IG09TnQuY2VudGVyKGUseUIpLF89bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWxDYXJ0b2dyYXBoaWMobSxDeSk7ZWUuZnJvbUF4aXNBbmdsZShfLC1yLHFFKSxRLmZyb21RdWF0ZXJuaW9uKHFFLGYpfWVsc2UgUS5jbG9uZShRLklERU5USVRZLGYpO2xldCB1PXQuX3N1cmZhY2VIZWlnaHQsYz10Ll9leHRydWRlZEhlaWdodCxsPSFNLmVxdWFsc0Vwc2lsb24odSxjLDAsTS5FUFNJTE9OMik7cy5sb25TY2FsYXI9MS90Ll9yZWN0YW5nbGUud2lkdGgscy5sYXRTY2FsYXI9MS90Ll9yZWN0YW5nbGUuaGVpZ2h0LHMudGFuZ2VudFJvdGF0aW9uTWF0cml4PWY7bGV0IHAsZDtpZihlPXQuX3JlY3RhbmdsZSxsKXtwPWRCKHQscyk7bGV0IG09QXQuZnJvbVJlY3RhbmdsZTNEKGUsbix1LHVCKSxfPUF0LmZyb21SZWN0YW5nbGUzRChlLG4sYyxmQik7ZD1BdC51bmlvbihtLF8pfWVsc2V7aWYocD1KRSh0LHMpLHAuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KHAuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsdSxuLCExKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBtPXAuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLF89dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsZz1uZXcgVWludDhBcnJheShtLzMpLmZpbGwoXyk7cC5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOmd9KX1kPUF0LmZyb21SZWN0YW5nbGUzRChlLG4sdSl9cmV0dXJuIGkucG9zaXRpb258fGRlbGV0ZSBwLmF0dHJpYnV0ZXMucG9zaXRpb24sbmV3IFV0KHthdHRyaWJ1dGVzOnAuYXR0cmlidXRlcyxpbmRpY2VzOnAuaW5kaWNlcyxwcmltaXRpdmVUeXBlOnAucHJpbWl0aXZlVHlwZSxib3VuZGluZ1NwaGVyZTpkLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07bWkuY3JlYXRlU2hhZG93Vm9sdW1lPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10Ll9ncmFudWxhcml0eSxyPXQuX2VsbGlwc29pZCxpPWUobyxyKSxzPW4obyxyKTtyZXR1cm4gbmV3IG1pKHtyZWN0YW5nbGU6dC5fcmVjdGFuZ2xlLHJvdGF0aW9uOnQuX3JvdGF0aW9uLGVsbGlwc29pZDpyLHN0Um90YXRpb246dC5fc3RSb3RhdGlvbixncmFudWxhcml0eTpvLGV4dHJ1ZGVkSGVpZ2h0OnMsaGVpZ2h0OmksdmVydGV4Rm9ybWF0OmR0LlBPU0lUSU9OX09OTFksc2hhZG93Vm9sdW1lOiEwfSl9O0tFPW5ldyBOdCxnQj1bbmV3IHR0LG5ldyB0dCxuZXcgdHRdLEFCPW5ldyBZbyxiQj1uZXcgY3Q7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMobWkucHJvdG90eXBlLHtyZWN0YW5nbGU6e2dldDpmdW5jdGlvbigpe3JldHVybiBoKHRoaXMuX3JvdGF0ZWRSZWN0YW5nbGUpfHwodGhpcy5fcm90YXRlZFJlY3RhbmdsZT1QeSh0aGlzLl9yZWN0YW5nbGUsdGhpcy5fZ3JhbnVsYXJpdHksdGhpcy5fcm90YXRpb24sdGhpcy5fZWxsaXBzb2lkKSksdGhpcy5fcm90YXRlZFJlY3RhbmdsZX19LHRleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM6e2dldDpmdW5jdGlvbigpe3JldHVybiBoKHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHMpfHwodGhpcy5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50cz1UQih0aGlzKSksdGhpcy5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50c319fSk7TXk9bWl9KTt2YXIgTnk9e307ZGUoTnkse2RlZmF1bHQ6KCk9Pk9CfSk7ZnVuY3Rpb24gd0IodCxlKXtyZXR1cm4gaChlKSYmKHQ9TXkudW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksdC5fcmVjdGFuZ2xlPU50LmNsb25lKHQuX3JlY3RhbmdsZSksTXkuY3JlYXRlR2VvbWV0cnkodCl9dmFyIE9CLEl5PVooKCk9PntmdCgpO1p0KCk7d24oKTtvUigpO09CPXdCfSk7ZnVuY3Rpb24gclIodCxlKXtsZXQgbj10Ll9lbGxpcHNvaWQsbz1lLmhlaWdodCxyPWUud2lkdGgsaT1lLm5vcnRoQ2FwLHM9ZS5zb3V0aENhcCxmPW8sdT0yLGM9MCxsPTQ7aSYmKHUtPTEsZi09MSxjKz0xLGwtPTIpLHMmJih1LT0xLGYtPTEsYys9MSxsLT0yKSxjKz11KnIrMipmLWw7bGV0IHA9bmV3IEZsb2F0NjRBcnJheShjKjMpLGQ9MCxtPTAsXyxnPVNCO2lmKGkpZ28uY29tcHV0ZVBvc2l0aW9uKGUsbiwhMSxtLDAsZykscFtkKytdPWcueCxwW2QrK109Zy55LHBbZCsrXT1nLno7ZWxzZSBmb3IoXz0wO188cjtfKyspZ28uY29tcHV0ZVBvc2l0aW9uKGUsbiwhMSxtLF8sZykscFtkKytdPWcueCxwW2QrK109Zy55LHBbZCsrXT1nLno7Zm9yKF89ci0xLG09MTttPG87bSsrKWdvLmNvbXB1dGVQb3NpdGlvbihlLG4sITEsbSxfLGcpLHBbZCsrXT1nLngscFtkKytdPWcueSxwW2QrK109Zy56O2lmKG09by0xLCFzKWZvcihfPXItMjtfPj0wO18tLSlnby5jb21wdXRlUG9zaXRpb24oZSxuLCExLG0sXyxnKSxwW2QrK109Zy54LHBbZCsrXT1nLnkscFtkKytdPWcuejtmb3IoXz0wLG09by0yO20+MDttLS0pZ28uY29tcHV0ZVBvc2l0aW9uKGUsbiwhMSxtLF8sZykscFtkKytdPWcueCxwW2QrK109Zy55LHBbZCsrXT1nLno7bGV0IGI9cC5sZW5ndGgvMyoyLFQ9RHQuY3JlYXRlVHlwZWRBcnJheShwLmxlbmd0aC8zLGIpLE89MDtmb3IobGV0IHc9MDt3PHAubGVuZ3RoLzMtMTt3KyspVFtPKytdPXcsVFtPKytdPXcrMTtUW08rK109cC5sZW5ndGgvMy0xLFRbTysrXT0wO2xldCBFPW5ldyBVdCh7YXR0cmlidXRlczpuZXcgaWUscHJpbWl0aXZlVHlwZTpCdC5MSU5FU30pO3JldHVybiBFLmF0dHJpYnV0ZXMucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpwfSksRS5pbmRpY2VzPVQsRX1mdW5jdGlvbiB4Qih0LGUpe2xldCBuPXQuX3N1cmZhY2VIZWlnaHQsbz10Ll9leHRydWRlZEhlaWdodCxyPXQuX2VsbGlwc29pZCxpPXJSKHQsZSkscz1lLmhlaWdodCxmPWUud2lkdGgsdT1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQoaS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxuLHIsITEpLGM9dS5sZW5ndGgsbD1uZXcgRmxvYXQ2NEFycmF5KGMqMik7bC5zZXQodSk7bGV0IHA9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KGkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsbyxyKTtsLnNldChwLGMpLGkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9bDtsZXQgZD1lLm5vcnRoQ2FwLG09ZS5zb3V0aENhcCxfPTQ7ZCYmKF8tPTEpLG0mJihfLT0xKTtsZXQgZz0obC5sZW5ndGgvMytfKSoyLGI9RHQuY3JlYXRlVHlwZWRBcnJheShsLmxlbmd0aC8zLGcpO2M9bC5sZW5ndGgvNjtsZXQgVD0wO2ZvcihsZXQgRT0wO0U8Yy0xO0UrKyliW1QrK109RSxiW1QrK109RSsxLGJbVCsrXT1FK2MsYltUKytdPUUrYysxO2JbVCsrXT1jLTEsYltUKytdPTAsYltUKytdPWMrYy0xLGJbVCsrXT1jLGJbVCsrXT0wLGJbVCsrXT1jO2xldCBPO2lmKGQpTz1zLTE7ZWxzZXtsZXQgRT1mLTE7YltUKytdPUUsYltUKytdPUUrYyxPPWYrcy0yfWlmKGJbVCsrXT1PLGJbVCsrXT1PK2MsIW0pe2xldCBFPWYrTy0xO2JbVCsrXT1FLGJbVF09RStjfXJldHVybiBpLmluZGljZXM9YixpfWZ1bmN0aW9uIExhKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnJlY3RhbmdsZSxuPXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSksbz14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkscj14KHQucm90YXRpb24sMCk7aWYoIWgoZSkpdGhyb3cgbmV3IEYoInJlY3RhbmdsZSBpcyByZXF1aXJlZC4iKTtpZihOdC5fdmFsaWRhdGUoZSksZS5ub3J0aDxlLnNvdXRoKXRocm93IG5ldyBGKCJvcHRpb25zLnJlY3RhbmdsZS5ub3J0aCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvcHRpb25zLnJlY3RhbmdsZS5zb3V0aCIpO2xldCBpPXgodC5oZWlnaHQsMCkscz14KHQuZXh0cnVkZWRIZWlnaHQsaSk7dGhpcy5fcmVjdGFuZ2xlPU50LmNsb25lKGUpLHRoaXMuX2dyYW51bGFyaXR5PW4sdGhpcy5fZWxsaXBzb2lkPW8sdGhpcy5fc3VyZmFjZUhlaWdodD1NYXRoLm1heChpLHMpLHRoaXMuX3JvdGF0aW9uPXIsdGhpcy5fZXh0cnVkZWRIZWlnaHQ9TWF0aC5taW4oaSxzKSx0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlUmVjdGFuZ2xlT3V0bGluZUdlb21ldHJ5In12YXIgRUIsUkIsU0IsQ0IsaVIsc1IsdmEsUEIsdnksY1I9WigoKT0+e3ZlKCk7RnQoKTtJZSgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtMbygpOyRlKCk7V3QoKTtxcigpO3RuKCk7d24oKTtSeSgpO0VCPW5ldyBBdCxSQj1uZXcgQXQsU0I9bmV3IGEsQ0I9bmV3IE50O0xhLnBhY2tlZExlbmd0aD1OdC5wYWNrZWRMZW5ndGgrJC5wYWNrZWRMZW5ndGgrNTtMYS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgRigiYXJyYXkgaXMgcmVxdWlyZWQiKTtyZXR1cm4gbj14KG4sMCksTnQucGFjayh0Ll9yZWN0YW5nbGUsZSxuKSxuKz1OdC5wYWNrZWRMZW5ndGgsJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll9ncmFudWxhcml0eSxlW24rK109dC5fc3VyZmFjZUhlaWdodCxlW24rK109dC5fcm90YXRpb24sZVtuKytdPXQuX2V4dHJ1ZGVkSGVpZ2h0LGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O2lSPW5ldyBOdCxzUj0kLmNsb25lKCQuVU5JVF9TUEhFUkUpLHZhPXtyZWN0YW5nbGU6aVIsZWxsaXBzb2lkOnNSLGdyYW51bGFyaXR5OnZvaWQgMCxoZWlnaHQ6dm9pZCAwLHJvdGF0aW9uOnZvaWQgMCxleHRydWRlZEhlaWdodDp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07TGEudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigiYXJyYXkgaXMgcmVxdWlyZWQiKTtlPXgoZSwwKTtsZXQgbz1OdC51bnBhY2sodCxlLGlSKTtlKz1OdC5wYWNrZWRMZW5ndGg7bGV0IHI9JC51bnBhY2sodCxlLHNSKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT10W2UrK10scz10W2UrK10sZj10W2UrK10sdT10W2UrK10sYz10W2VdO3JldHVybiBoKG4pPyhuLl9yZWN0YW5nbGU9TnQuY2xvbmUobyxuLl9yZWN0YW5nbGUpLG4uX2VsbGlwc29pZD0kLmNsb25lKHIsbi5fZWxsaXBzb2lkKSxuLl9zdXJmYWNlSGVpZ2h0PXMsbi5fcm90YXRpb249ZixuLl9leHRydWRlZEhlaWdodD11LG4uX29mZnNldEF0dHJpYnV0ZT1jPT09LTE/dm9pZCAwOmMsbik6KHZhLmdyYW51bGFyaXR5PWksdmEuaGVpZ2h0PXMsdmEucm90YXRpb249Zix2YS5leHRydWRlZEhlaWdodD11LHZhLm9mZnNldEF0dHJpYnV0ZT1jPT09LTE/dm9pZCAwOmMsbmV3IExhKHZhKSl9O1BCPW5ldyBjdDtMYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9yZWN0YW5nbGUsbj10Ll9lbGxpcHNvaWQsbz1nby5jb21wdXRlT3B0aW9ucyhlLHQuX2dyYW51bGFyaXR5LHQuX3JvdGF0aW9uLDAsQ0IsUEIpLHIsaTtpZihNLmVxdWFsc0Vwc2lsb24oZS5ub3J0aCxlLnNvdXRoLE0uRVBTSUxPTjEwKXx8TS5lcXVhbHNFcHNpbG9uKGUuZWFzdCxlLndlc3QsTS5FUFNJTE9OMTApKXJldHVybjtsZXQgcz10Ll9zdXJmYWNlSGVpZ2h0LGY9dC5fZXh0cnVkZWRIZWlnaHQsdT0hTS5lcXVhbHNFcHNpbG9uKHMsZiwwLE0uRVBTSUxPTjIpLGM7aWYodSl7aWYocj14Qih0LG8pLGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IGQ9ci5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcy5sZW5ndGgvMyxtPW5ldyBVaW50OEFycmF5KGQpO3QuX29mZnNldEF0dHJpYnV0ZT09PWZlLlRPUD9tPW0uZmlsbCgxLDAsZC8yKTooYz10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxtPW0uZmlsbChjKSksci5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOm19KX1sZXQgbD1BdC5mcm9tUmVjdGFuZ2xlM0QoZSxuLHMsUkIpLHA9QXQuZnJvbVJlY3RhbmdsZTNEKGUsbixmLEVCKTtpPUF0LnVuaW9uKGwscCl9ZWxzZXtpZihyPXJSKHQsbyksci5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQoci5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxzLG4sITEpLGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IGw9ci5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcy5sZW5ndGg7Yz10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MTtsZXQgcD1uZXcgVWludDhBcnJheShsLzMpLmZpbGwoYyk7ci5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnB9KX1pPUF0LmZyb21SZWN0YW5nbGUzRChlLG4scyl9cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpyLmF0dHJpYnV0ZXMsaW5kaWNlczpyLmluZGljZXMscHJpbWl0aXZlVHlwZTpCdC5MSU5FUyxib3VuZGluZ1NwaGVyZTppLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07dnk9TGF9KTt2YXIgTHk9e307ZGUoTHkse2RlZmF1bHQ6KCk9Pk5CfSk7ZnVuY3Rpb24gTUIodCxlKXtyZXR1cm4gaChlKSYmKHQ9dnkudW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksdC5fcmVjdGFuZ2xlPU50LmNsb25lKHQuX3JlY3RhbmdsZSksdnkuY3JlYXRlR2VvbWV0cnkodCl9dmFyIE5CLER5PVooKCk9PntmdCgpO1p0KCk7d24oKTtjUigpO05CPU1CfSk7ZnVuY3Rpb24gSUIodCxlLG4sbyxyLGkscyl7bGV0IGY9QW4ubnVtYmVyT2ZQb2ludHModCxlLHIpLHUsYz1uLnJlZCxsPW4uZ3JlZW4scD1uLmJsdWUsZD1uLmFscGhhLG09by5yZWQsXz1vLmdyZWVuLGc9by5ibHVlLGI9by5hbHBoYTtpZihvZS5lcXVhbHMobixvKSl7Zm9yKHU9MDt1PGY7dSsrKWlbcysrXT1vZS5mbG9hdFRvQnl0ZShjKSxpW3MrK109b2UuZmxvYXRUb0J5dGUobCksaVtzKytdPW9lLmZsb2F0VG9CeXRlKHApLGlbcysrXT1vZS5mbG9hdFRvQnl0ZShkKTtyZXR1cm4gc31sZXQgVD0obS1jKS9mLE89KF8tbCkvZixFPShnLXApL2Ysdz0oYi1kKS9mLEM9cztmb3IodT0wO3U8Zjt1KyspaVtDKytdPW9lLmZsb2F0VG9CeXRlKGMrdSpUKSxpW0MrK109b2UuZmxvYXRUb0J5dGUobCt1Kk8pLGlbQysrXT1vZS5mbG9hdFRvQnl0ZShwK3UqRSksaVtDKytdPW9lLmZsb2F0VG9CeXRlKGQrdSp3KTtyZXR1cm4gQ31mdW5jdGlvbiBydSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnMsbj10LmNvbG9ycyxvPXgodC5jb2xvcnNQZXJWZXJ0ZXgsITEpO2lmKCFoKGUpfHxlLmxlbmd0aDwyKXRocm93IG5ldyBGKCJBdCBsZWFzdCB0d28gcG9zaXRpb25zIGFyZSByZXF1aXJlZC4iKTtpZihoKG4pJiYobyYmbi5sZW5ndGg8ZS5sZW5ndGh8fCFvJiZuLmxlbmd0aDxlLmxlbmd0aC0xKSl0aHJvdyBuZXcgRigiY29sb3JzIGhhcyBhbiBpbnZhbGlkIGxlbmd0aC4iKTt0aGlzLl9wb3NpdGlvbnM9ZSx0aGlzLl9jb2xvcnM9bix0aGlzLl9jb2xvcnNQZXJWZXJ0ZXg9byx0aGlzLl9hcmNUeXBlPXgodC5hcmNUeXBlLF9lLkdFT0RFU0lDKSx0aGlzLl9ncmFudWxhcml0eT14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLHRoaXMuX2VsbGlwc29pZD14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlU2ltcGxlUG9seWxpbmVHZW9tZXRyeSI7bGV0IHI9MStlLmxlbmd0aCphLnBhY2tlZExlbmd0aDtyKz1oKG4pPzErbi5sZW5ndGgqb2UucGFja2VkTGVuZ3RoOjEsdGhpcy5wYWNrZWRMZW5ndGg9ciskLnBhY2tlZExlbmd0aCszfXZhciBGZCxCZCx2QixGeSxhUj1aKCgpPT57ZmMoKTt2ZSgpO0Z0KCk7TWEoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7WGUoKTtZZSgpO2FuKCk7JGUoKTtXdCgpO2dhKCk7dG4oKTtydS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgRigiYXJyYXkgaXMgcmVxdWlyZWQiKTtuPXgobiwwKTtsZXQgbyxyPXQuX3Bvc2l0aW9ucyxpPXIubGVuZ3RoO2ZvcihlW24rK109aSxvPTA7bzxpOysrbyxuKz1hLnBhY2tlZExlbmd0aClhLnBhY2socltvXSxlLG4pO2xldCBzPXQuX2NvbG9ycztmb3IoaT1oKHMpP3MubGVuZ3RoOjAsZVtuKytdPWksbz0wO288aTsrK28sbis9b2UucGFja2VkTGVuZ3RoKW9lLnBhY2soc1tvXSxlLG4pO3JldHVybiAkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX2NvbG9yc1BlclZlcnRleD8xOjAsZVtuKytdPXQuX2FyY1R5cGUsZVtuXT10Ll9ncmFudWxhcml0eSxlfTtydS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvLHI9dFtlKytdLGk9bmV3IEFycmF5KHIpO2ZvcihvPTA7bzxyOysrbyxlKz1hLnBhY2tlZExlbmd0aClpW29dPWEudW5wYWNrKHQsZSk7cj10W2UrK107bGV0IHM9cj4wP25ldyBBcnJheShyKTp2b2lkIDA7Zm9yKG89MDtvPHI7KytvLGUrPW9lLnBhY2tlZExlbmd0aClzW29dPW9lLnVucGFjayh0LGUpO2xldCBmPSQudW5wYWNrKHQsZSk7ZSs9JC5wYWNrZWRMZW5ndGg7bGV0IHU9dFtlKytdPT09MSxjPXRbZSsrXSxsPXRbZV07cmV0dXJuIGgobik/KG4uX3Bvc2l0aW9ucz1pLG4uX2NvbG9ycz1zLG4uX2VsbGlwc29pZD1mLG4uX2NvbG9yc1BlclZlcnRleD11LG4uX2FyY1R5cGU9YyxuLl9ncmFudWxhcml0eT1sLG4pOm5ldyBydSh7cG9zaXRpb25zOmksY29sb3JzOnMsZWxsaXBzb2lkOmYsY29sb3JzUGVyVmVydGV4OnUsYXJjVHlwZTpjLGdyYW51bGFyaXR5Omx9KX07RmQ9bmV3IEFycmF5KDIpLEJkPW5ldyBBcnJheSgyKSx2Qj17cG9zaXRpb25zOkZkLGhlaWdodDpCZCxlbGxpcHNvaWQ6dm9pZCAwLG1pbkRpc3RhbmNlOnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDB9O3J1LmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3Bvc2l0aW9ucyxuPXQuX2NvbG9ycyxvPXQuX2NvbG9yc1BlclZlcnRleCxyPXQuX2FyY1R5cGUsaT10Ll9ncmFudWxhcml0eSxzPXQuX2VsbGlwc29pZCxmPU0uY2hvcmRMZW5ndGgoaSxzLm1heGltdW1SYWRpdXMpLHU9aChuKSYmIW8sYyxsPWUubGVuZ3RoLHAsZCxtLF8sZz0wO2lmKHI9PT1fZS5HRU9ERVNJQ3x8cj09PV9lLlJIVU1CKXtsZXQgdyxDLE47cj09PV9lLkdFT0RFU0lDPyh3PU0uY2hvcmRMZW5ndGgoaSxzLm1heGltdW1SYWRpdXMpLEM9QW4ubnVtYmVyT2ZQb2ludHMsTj1Bbi5nZW5lcmF0ZUFyYyk6KHc9aSxDPUFuLm51bWJlck9mUG9pbnRzUmh1bWJMaW5lLE49QW4uZ2VuZXJhdGVSaHVtYkFyYyk7bGV0IEk9QW4uZXh0cmFjdEhlaWdodHMoZSxzKSxEPXZCO2lmKHI9PT1fZS5HRU9ERVNJQz9ELm1pbkRpc3RhbmNlPWY6RC5ncmFudWxhcml0eT1pLEQuZWxsaXBzb2lkPXMsdSl7bGV0IHY9MDtmb3IoYz0wO2M8bC0xO2MrKyl2Kz1DKGVbY10sZVtjKzFdLHcpKzE7cD1uZXcgRmxvYXQ2NEFycmF5KHYqMyksbT1uZXcgVWludDhBcnJheSh2KjQpLEQucG9zaXRpb25zPUZkLEQuaGVpZ2h0PUJkO2xldCBMPTA7Zm9yKGM9MDtjPGwtMTsrK2Mpe0ZkWzBdPWVbY10sRmRbMV09ZVtjKzFdLEJkWzBdPUlbY10sQmRbMV09SVtjKzFdO2xldCBVPU4oRCk7aWYoaChuKSl7bGV0IEE9VS5sZW5ndGgvMztfPW5bY107Zm9yKGxldCBTPTA7UzxBOysrUyltW0wrK109b2UuZmxvYXRUb0J5dGUoXy5yZWQpLG1bTCsrXT1vZS5mbG9hdFRvQnl0ZShfLmdyZWVuKSxtW0wrK109b2UuZmxvYXRUb0J5dGUoXy5ibHVlKSxtW0wrK109b2UuZmxvYXRUb0J5dGUoXy5hbHBoYSl9cC5zZXQoVSxnKSxnKz1VLmxlbmd0aH19ZWxzZSBpZihELnBvc2l0aW9ucz1lLEQuaGVpZ2h0PUkscD1uZXcgRmxvYXQ2NEFycmF5KE4oRCkpLGgobikpe2ZvcihtPW5ldyBVaW50OEFycmF5KHAubGVuZ3RoLzMqNCksYz0wO2M8bC0xOysrYyl7bGV0IEw9ZVtjXSxVPWVbYysxXSxBPW5bY10sUz1uW2MrMV07Zz1JQihMLFUsQSxTLGYsbSxnKX1sZXQgdj1uW2wtMV07bVtnKytdPW9lLmZsb2F0VG9CeXRlKHYucmVkKSxtW2crK109b2UuZmxvYXRUb0J5dGUodi5ncmVlbiksbVtnKytdPW9lLmZsb2F0VG9CeXRlKHYuYmx1ZSksbVtnKytdPW9lLmZsb2F0VG9CeXRlKHYuYWxwaGEpfX1lbHNle2Q9dT9sKjItMjpsLHA9bmV3IEZsb2F0NjRBcnJheShkKjMpLG09aChuKT9uZXcgVWludDhBcnJheShkKjQpOnZvaWQgMDtsZXQgdz0wLEM9MDtmb3IoYz0wO2M8bDsrK2Mpe2xldCBOPWVbY107aWYodSYmYz4wJiYoYS5wYWNrKE4scCx3KSx3Kz0zLF89bltjLTFdLG1bQysrXT1vZS5mbG9hdFRvQnl0ZShfLnJlZCksbVtDKytdPW9lLmZsb2F0VG9CeXRlKF8uZ3JlZW4pLG1bQysrXT1vZS5mbG9hdFRvQnl0ZShfLmJsdWUpLG1bQysrXT1vZS5mbG9hdFRvQnl0ZShfLmFscGhhKSksdSYmYz09PWwtMSlicmVhazthLnBhY2soTixwLHcpLHcrPTMsaChuKSYmKF89bltjXSxtW0MrK109b2UuZmxvYXRUb0J5dGUoXy5yZWQpLG1bQysrXT1vZS5mbG9hdFRvQnl0ZShfLmdyZWVuKSxtW0MrK109b2UuZmxvYXRUb0J5dGUoXy5ibHVlKSxtW0MrK109b2UuZmxvYXRUb0J5dGUoXy5hbHBoYSkpfX1sZXQgYj1uZXcgaWU7Yi5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnB9KSxoKG4pJiYoYi5jb2xvcj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTo0LHZhbHVlczptLG5vcm1hbGl6ZTohMH0pKSxkPXAubGVuZ3RoLzM7bGV0IFQ9KGQtMSkqMixPPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZCxUKSxFPTA7Zm9yKGM9MDtjPGQtMTsrK2MpT1tFKytdPWMsT1tFKytdPWMrMTtyZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmIsaW5kaWNlczpPLHByaW1pdGl2ZVR5cGU6QnQuTElORVMsYm91bmRpbmdTcGhlcmU6QXQuZnJvbVBvaW50cyhlKX0pfTtGeT1ydX0pO3ZhciBCeT17fTtkZShCeSx7ZGVmYXVsdDooKT0+REJ9KTtmdW5jdGlvbiBMQih0LGUpe3JldHVybiBoKGUpJiYodD1GeS51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxGeS5jcmVhdGVHZW9tZXRyeSh0KX12YXIgREIsVXk9WigoKT0+e2Z0KCk7WnQoKTthUigpO0RCPUxCfSk7ZnVuY3Rpb24gRGEodCl7bGV0IGU9eCh0LnJhZGl1cywxKSxvPXtyYWRpaTpuZXcgYShlLGUsZSksc3RhY2tQYXJ0aXRpb25zOnQuc3RhY2tQYXJ0aXRpb25zLHNsaWNlUGFydGl0aW9uczp0LnNsaWNlUGFydGl0aW9ucyx2ZXJ0ZXhGb3JtYXQ6dC52ZXJ0ZXhGb3JtYXR9O3RoaXMuX2VsbGlwc29pZEdlb21ldHJ5PW5ldyBzcihvKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVTcGhlcmVHZW9tZXRyeSJ9dmFyIEZCLENzLFZ5LGZSPVooKCk9PntGdCgpO1h0KCk7SXQoKTtmdCgpO2JkKCk7Um8oKTtEYS5wYWNrZWRMZW5ndGg9c3IucGFja2VkTGVuZ3RoO0RhLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSxzci5wYWNrKHQuX2VsbGlwc29pZEdlb21ldHJ5LGUsbil9O0ZCPW5ldyBzcixDcz17cmFkaXVzOnZvaWQgMCxyYWRpaTpuZXcgYSx2ZXJ0ZXhGb3JtYXQ6bmV3IGR0LHN0YWNrUGFydGl0aW9uczp2b2lkIDAsc2xpY2VQYXJ0aXRpb25zOnZvaWQgMH07RGEudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1zci51bnBhY2sodCxlLEZCKTtyZXR1cm4gQ3MudmVydGV4Rm9ybWF0PWR0LmNsb25lKG8uX3ZlcnRleEZvcm1hdCxDcy52ZXJ0ZXhGb3JtYXQpLENzLnN0YWNrUGFydGl0aW9ucz1vLl9zdGFja1BhcnRpdGlvbnMsQ3Muc2xpY2VQYXJ0aXRpb25zPW8uX3NsaWNlUGFydGl0aW9ucyxoKG4pPyhhLmNsb25lKG8uX3JhZGlpLENzLnJhZGlpKSxuLl9lbGxpcHNvaWRHZW9tZXRyeT1uZXcgc3IoQ3MpLG4pOihDcy5yYWRpdXM9by5fcmFkaWkueCxuZXcgRGEoQ3MpKX07RGEuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7cmV0dXJuIHNyLmNyZWF0ZUdlb21ldHJ5KHQuX2VsbGlwc29pZEdlb21ldHJ5KX07Vnk9RGF9KTt2YXIga3k9e307ZGUoa3kse2RlZmF1bHQ6KCk9PlVCfSk7ZnVuY3Rpb24gQkIodCxlKXtyZXR1cm4gaChlKSYmKHQ9VnkudW5wYWNrKHQsZSkpLFZ5LmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBVQixHeT1aKCgpPT57ZnQoKTtmUigpO1VCPUJCfSk7ZnVuY3Rpb24gRmEodCl7bGV0IGU9eCh0LnJhZGl1cywxKSxvPXtyYWRpaTpuZXcgYShlLGUsZSksc3RhY2tQYXJ0aXRpb25zOnQuc3RhY2tQYXJ0aXRpb25zLHNsaWNlUGFydGl0aW9uczp0LnNsaWNlUGFydGl0aW9ucyxzdWJkaXZpc2lvbnM6dC5zdWJkaXZpc2lvbnN9O3RoaXMuX2VsbGlwc29pZEdlb21ldHJ5PW5ldyBXcihvKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVTcGhlcmVPdXRsaW5lR2VvbWV0cnkifXZhciBWQixUYyx6eSx1Uj1aKCgpPT57RnQoKTtYdCgpO0l0KCk7ZnQoKTtFXygpO0ZhLnBhY2tlZExlbmd0aD1Xci5wYWNrZWRMZW5ndGg7RmEucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLFdyLnBhY2sodC5fZWxsaXBzb2lkR2VvbWV0cnksZSxuKX07VkI9bmV3IFdyLFRjPXtyYWRpdXM6dm9pZCAwLHJhZGlpOm5ldyBhLHN0YWNrUGFydGl0aW9uczp2b2lkIDAsc2xpY2VQYXJ0aXRpb25zOnZvaWQgMCxzdWJkaXZpc2lvbnM6dm9pZCAwfTtGYS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2xldCBvPVdyLnVucGFjayh0LGUsVkIpO3JldHVybiBUYy5zdGFja1BhcnRpdGlvbnM9by5fc3RhY2tQYXJ0aXRpb25zLFRjLnNsaWNlUGFydGl0aW9ucz1vLl9zbGljZVBhcnRpdGlvbnMsVGMuc3ViZGl2aXNpb25zPW8uX3N1YmRpdmlzaW9ucyxoKG4pPyhhLmNsb25lKG8uX3JhZGlpLFRjLnJhZGlpKSxuLl9lbGxpcHNvaWRHZW9tZXRyeT1uZXcgV3IoVGMpLG4pOihUYy5yYWRpdXM9by5fcmFkaWkueCxuZXcgRmEoVGMpKX07RmEuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7cmV0dXJuIFdyLmNyZWF0ZUdlb21ldHJ5KHQuX2VsbGlwc29pZEdlb21ldHJ5KX07enk9RmF9KTt2YXIgank9e307ZGUoankse2RlZmF1bHQ6KCk9PkdCfSk7ZnVuY3Rpb24ga0IodCxlKXtyZXR1cm4gaChlKSYmKHQ9enkudW5wYWNrKHQsZSkpLHp5LmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBHQixIeT1aKCgpPT57ZnQoKTt1UigpO0dCPWtCfSk7dmFyIHF5PXt9O2RlKHF5LHtkZWZhdWx0OigpPT5jNH0pO2Z1bmN0aW9uIHFCKHQsZSxuLG8scixpLHMpe2xldCBmPXQubGVuZ3RoLHU9bmV3IEZsb2F0NjRBcnJheShmKjMpO2ZvcihsZXQgYz0wO2M8ZjsrK2Mpe2xldCBsPXRbY10scD1lW2NdLGQ9bltjXSxtPU0ubGVycChvLndlc3Qsby5lYXN0LGwvaXUpLF89TS5sZXJwKG8uc291dGgsby5ub3J0aCxwL2l1KSxnPU0ubGVycChyLGksZC9pdSksYj1jdC5mcm9tUmFkaWFucyhtLF8sZyxqQiksVD1zLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGIsSEIpO2EucGFjayhULHUsYyozKX1yZXR1cm4gdX1mdW5jdGlvbiBLQih0KXtsZXQgZT10Lmxlbmd0aCxuPW5ldyBVaW50MzJBcnJheShlKzEpLG89MDtmb3IobGV0IHI9MDtyPGU7KytyKW5bcl09byxvKz10W3JdO3JldHVybiBuW2VdPW8sbn1mdW5jdGlvbiBZQih0LGUsbixvKXtsZXQgcj1vLmxlbmd0aCxpPXQubGVuZ3RoLHM9bmV3IFVpbnQ4QXJyYXkoaSksZj1XQix1PVhCLGM9MDtmb3IobGV0IHA9MDtwPHI7cCsrKXtsZXQgZD1vW3BdLG09ZDtmb3IobGV0IF89MTtfPGQ7XysrKXtsZXQgZz1jK18sYj1nLTE7dS5sb25naXR1ZGU9dFtnXSx1LmxhdGl0dWRlPWVbZ10sZi5sb25naXR1ZGU9dFtiXSxmLmxhdGl0dWRlPWVbYl0sY3QuZXF1YWxzKHUsZikmJihtLS0sc1tiXT0xKX1vW3BdPW0sYys9ZH1sZXQgbD0wO2ZvcihsZXQgcD0wO3A8aTtwKyspc1twXSE9PTEmJih0W2xdPXRbcF0sZVtsXT1lW3BdLG5bbF09bltwXSxsKyspfWZ1bmN0aW9uIGhSKHQpe2xldCBlPXQqOCxuPWUqMyxvPWUqNDt0aGlzLnN0YXJ0RWxsaXBzb2lkTm9ybWFscz1uZXcgRmxvYXQzMkFycmF5KG4pLHRoaXMuZW5kRWxsaXBzb2lkTm9ybWFscz1uZXcgRmxvYXQzMkFycmF5KG4pLHRoaXMuc3RhcnRQb3NpdGlvbkFuZEhlaWdodHM9bmV3IEZsb2F0MzJBcnJheShvKSx0aGlzLnN0YXJ0RmFjZU5vcm1hbEFuZFZlcnRleENvcm5lcklkcz1uZXcgRmxvYXQzMkFycmF5KG8pLHRoaXMuZW5kUG9zaXRpb25BbmRIZWlnaHRzPW5ldyBGbG9hdDMyQXJyYXkobyksdGhpcy5lbmRGYWNlTm9ybWFsQW5kSGFsZldpZHRocz1uZXcgRmxvYXQzMkFycmF5KG8pLHRoaXMudmVydGV4QmF0Y2hJZHM9bmV3IFVpbnQxNkFycmF5KGUpLHRoaXMuaW5kaWNlcz1EdC5jcmVhdGVUeXBlZEFycmF5KGUsMzYqdCksdGhpcy52ZWMzT2Zmc2V0PTAsdGhpcy52ZWM0T2Zmc2V0PTAsdGhpcy5iYXRjaElkT2Zmc2V0PTAsdGhpcy5pbmRleE9mZnNldD0wLHRoaXMudm9sdW1lU3RhcnRJbmRleD0wfWZ1bmN0aW9uIHBSKHQsZSxuLG8scil7bGV0IGk9YS5zdWJ0cmFjdChuLGUsJEIpLHM9YS5zdWJ0cmFjdChlLHQsbFIpO3JldHVybiBhLm5vcm1hbGl6ZShpLGkpLGEubm9ybWFsaXplKHMscyksYS5kb3QoaSxzKTx6QiYmKHM9YS5tdWx0aXBseUJ5U2NhbGFyKHMsLTEsbFIpKSxhLmFkZChpLHMsciksYS5lcXVhbHMocixhLlpFUk8pJiYocj1hLnN1YnRyYWN0KHQsZSkpLGEuY3Jvc3MocixvLHIpLGEuY3Jvc3MobyxyLHIpLGEubm9ybWFsaXplKHIscikscn1mdW5jdGlvbiBzNCh0LGUpe2xldCBuPW5ldyBVaW50MTZBcnJheSh0LnBvc2l0aW9ucyksbz1uZXcgVWludDE2QXJyYXkodC53aWR0aHMpLHI9bmV3IFVpbnQzMkFycmF5KHQuY291bnRzKSxpPW5ldyBVaW50MTZBcnJheSh0LmJhdGNoSWRzKSxzPWU0LGY9bjQsdT1vNCxjPW5ldyBGbG9hdDY0QXJyYXkodC5wYWNrZWRCdWZmZXIpLGw9MCxwPWNbbCsrXSxkPWNbbCsrXTtOdC51bnBhY2soYyxsLHMpLGwrPU50LnBhY2tlZExlbmd0aCwkLnVucGFjayhjLGwsZiksbCs9JC5wYWNrZWRMZW5ndGgsYS51bnBhY2soYyxsLHUpO2xldCBtLF89bi5sZW5ndGgvMyxnPW4uc3ViYXJyYXkoMCxfKSxiPW4uc3ViYXJyYXkoXywyKl8pLFQ9bi5zdWJhcnJheSgyKl8sMypfKTtubi56aWdaYWdEZWx0YURlY29kZShnLGIsVCksWUIoZyxiLFQscik7bGV0IE89ci5sZW5ndGgsRT0wO2ZvcihtPTA7bTxPO20rKyl7bGV0IFU9clttXTtFKz1VLTF9bGV0IHc9bmV3IGhSKEUpLEM9cUIoZyxiLFQscyxwLGQsZix1KTtfPWcubGVuZ3RoO2xldCBOPW5ldyBGbG9hdDMyQXJyYXkoXyozKTtmb3IobT0wO208XzsrK20pTlttKjNdPUNbbSozXS11LngsTlttKjMrMV09Q1ttKjMrMV0tdS55LE5bbSozKzJdPUNbbSozKzJdLXUuejtsZXQgST0wLEQ9MDtmb3IobT0wO208TzttKyspe2xldCBVPXJbbV0tMSxBPW9bbV0qLjUsUz1pW21dLFA9STtmb3IobGV0IEI9MDtCPFU7QisrKXtsZXQgaj1hLnVucGFjayhOLEkscjQpLEg9YS51bnBhY2soTixJKzMsaTQpLGs9VFtEXSxLPVRbRCsxXTtrPU0ubGVycChwLGQsay9pdSksSz1NLmxlcnAocCxkLEsvaXUpLEQrKztsZXQgWD1VZCxSPVZkO2lmKEI9PT0wKXtsZXQgb3Q9UCtVKjMsYXQ9YS51bnBhY2soTixvdCxVZCk7aWYoYS5lcXVhbHMoYXQsaikpYS51bnBhY2soTixvdC0zLFgpO2Vsc2V7bGV0IHB0PWEuc3VidHJhY3QoaixILFVkKTtYPWEuYWRkKHB0LGosVWQpfX1lbHNlIGEudW5wYWNrKE4sSS0zLFgpO2lmKEI9PT1VLTEpe2xldCBvdD1hLnVucGFjayhOLFAsVmQpO2lmKGEuZXF1YWxzKG90LEgpKWEudW5wYWNrKE4sUCszLFIpO2Vsc2V7bGV0IGF0PWEuc3VidHJhY3QoSCxqLFZkKTtSPWEuYWRkKGF0LEgsVmQpfX1lbHNlIGEudW5wYWNrKE4sSSs2LFIpO3cuYWRkVm9sdW1lKFgsaixILFIsayxLLEEsUyx1LGYpLEkrPTN9SSs9MyxEKyt9bGV0IHY9dy5pbmRpY2VzO2UucHVzaCh3LnN0YXJ0RWxsaXBzb2lkTm9ybWFscy5idWZmZXIpLGUucHVzaCh3LmVuZEVsbGlwc29pZE5vcm1hbHMuYnVmZmVyKSxlLnB1c2gody5zdGFydFBvc2l0aW9uQW5kSGVpZ2h0cy5idWZmZXIpLGUucHVzaCh3LnN0YXJ0RmFjZU5vcm1hbEFuZFZlcnRleENvcm5lcklkcy5idWZmZXIpLGUucHVzaCh3LmVuZFBvc2l0aW9uQW5kSGVpZ2h0cy5idWZmZXIpLGUucHVzaCh3LmVuZEZhY2VOb3JtYWxBbmRIYWxmV2lkdGhzLmJ1ZmZlciksZS5wdXNoKHcudmVydGV4QmF0Y2hJZHMuYnVmZmVyKSxlLnB1c2godi5idWZmZXIpO2xldCBMPXtpbmRleERhdGF0eXBlOnYuQllURVNfUEVSX0VMRU1FTlQ9PT0yP0R0LlVOU0lHTkVEX1NIT1JUOkR0LlVOU0lHTkVEX0lOVCxzdGFydEVsbGlwc29pZE5vcm1hbHM6dy5zdGFydEVsbGlwc29pZE5vcm1hbHMuYnVmZmVyLGVuZEVsbGlwc29pZE5vcm1hbHM6dy5lbmRFbGxpcHNvaWROb3JtYWxzLmJ1ZmZlcixzdGFydFBvc2l0aW9uQW5kSGVpZ2h0czp3LnN0YXJ0UG9zaXRpb25BbmRIZWlnaHRzLmJ1ZmZlcixzdGFydEZhY2VOb3JtYWxBbmRWZXJ0ZXhDb3JuZXJJZHM6dy5zdGFydEZhY2VOb3JtYWxBbmRWZXJ0ZXhDb3JuZXJJZHMuYnVmZmVyLGVuZFBvc2l0aW9uQW5kSGVpZ2h0czp3LmVuZFBvc2l0aW9uQW5kSGVpZ2h0cy5idWZmZXIsZW5kRmFjZU5vcm1hbEFuZEhhbGZXaWR0aHM6dy5lbmRGYWNlTm9ybWFsQW5kSGFsZldpZHRocy5idWZmZXIsdmVydGV4QmF0Y2hJZHM6dy52ZXJ0ZXhCYXRjaElkcy5idWZmZXIsaW5kaWNlczp2LmJ1ZmZlcn07aWYodC5rZWVwRGVjb2RlZFBvc2l0aW9ucyl7bGV0IFU9S0Iocik7ZS5wdXNoKEMuYnVmZmVyLFUuYnVmZmVyKSxMPV9yKEwse2RlY29kZWRQb3NpdGlvbnM6Qy5idWZmZXIsZGVjb2RlZFBvc2l0aW9uT2Zmc2V0czpVLmJ1ZmZlcn0pfXJldHVybiBMfXZhciBpdSx6QixqQixIQixXQixYQixsUiwkQixfUixkUixtUixaQixRQixKQix0NCxlNCxuNCxvNCxVZCxyNCxpNCxWZCxjNCxLeT1aKCgpPT57YXMoKTtGdCgpO0llKCk7cnAoKTtadCgpOyRlKCk7V3QoKTt3bigpO3NvKCk7aXU9MzI3NjcsekI9TWF0aC5jb3MoTS50b1JhZGlhbnMoMTUwKSksakI9bmV3IGN0LEhCPW5ldyBhO1dCPW5ldyBjdCxYQj1uZXcgY3Q7bFI9bmV3IGEsJEI9bmV3IGE7X1I9WzAsMiw2LDAsNiw0LDAsMSwzLDAsMywyLDAsNCw1LDAsNSwxLDUsMywxLDUsNywzLDcsNSw0LDcsNCw2LDcsNiwyLDcsMiwzXSxkUj1fUi5sZW5ndGgsbVI9bmV3IGEsWkI9bmV3IGEsUUI9bmV3IGEsSkI9bmV3IGEsdDQ9bmV3IGE7aFIucHJvdG90eXBlLmFkZFZvbHVtZT1mdW5jdGlvbih0LGUsbixvLHIsaSxzLGYsdSxjKXtsZXQgbD1hLmFkZChlLHUsbVIpLHA9Yy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobCxaQik7bD1hLmFkZChuLHUsbVIpO2xldCBkPWMuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGwsSkIpLG09cFIodCxlLG4scCxRQiksXz1wUihvLG4sZSxkLHQ0KSxnPXRoaXMuc3RhcnRFbGxpcHNvaWROb3JtYWxzLGI9dGhpcy5lbmRFbGxpcHNvaWROb3JtYWxzLFQ9dGhpcy5zdGFydFBvc2l0aW9uQW5kSGVpZ2h0cyxPPXRoaXMuc3RhcnRGYWNlTm9ybWFsQW5kVmVydGV4Q29ybmVySWRzLEU9dGhpcy5lbmRQb3NpdGlvbkFuZEhlaWdodHMsdz10aGlzLmVuZEZhY2VOb3JtYWxBbmRIYWxmV2lkdGhzLEM9dGhpcy52ZXJ0ZXhCYXRjaElkcyxOPXRoaXMuYmF0Y2hJZE9mZnNldCxJPXRoaXMudmVjM09mZnNldCxEPXRoaXMudmVjNE9mZnNldCx2O2Zvcih2PTA7djw4O3YrKylhLnBhY2socCxnLEkpLGEucGFjayhkLGIsSSksYS5wYWNrKGUsVCxEKSxUW0QrM109cixhLnBhY2sobixFLEQpLEVbRCszXT1pLGEucGFjayhtLE8sRCksT1tEKzNdPXYsYS5wYWNrKF8sdyxEKSx3W0QrM109cyxDW04rK109ZixJKz0zLEQrPTQ7dGhpcy5iYXRjaElkT2Zmc2V0PU4sdGhpcy52ZWMzT2Zmc2V0PUksdGhpcy52ZWM0T2Zmc2V0PUQ7bGV0IEw9dGhpcy5pbmRpY2VzLFU9dGhpcy52b2x1bWVTdGFydEluZGV4LEE9dGhpcy5pbmRleE9mZnNldDtmb3Iodj0wO3Y8ZFI7disrKUxbQSt2XT1fUlt2XStVO3RoaXMudm9sdW1lU3RhcnRJbmRleCs9OCx0aGlzLmluZGV4T2Zmc2V0Kz1kUn07ZTQ9bmV3IE50LG40PW5ldyAkLG80PW5ldyBhLFVkPW5ldyBhLHI0PW5ldyBhLGk0PW5ldyBhLFZkPW5ldyBhO2M0PVFlKHM0KX0pO2Z1bmN0aW9uIGE0KHQpe3RoaXMub2Zmc2V0PXQub2Zmc2V0LHRoaXMuY291bnQ9dC5jb3VudCx0aGlzLmNvbG9yPXQuY29sb3IsdGhpcy5iYXRjaElkcz10LmJhdGNoSWRzfXZhciB5UixnUj1aKCgpPT57eVI9YTR9KTt2YXIgV3k9e307ZGUoV3kse2RlZmF1bHQ6KCk9Pnc0fSk7ZnVuY3Rpb24gZDQodCxlKXtsZXQgbj1lKmY0LG89YS51bnBhY2sodCxuLEdkKTtuKz1hLnBhY2tlZExlbmd0aDtsZXQgcj1zdC51bnBhY2sodCxuLENyLm1vZGVsTWF0cml4KTtzdC5tdWx0aXBseUJ5U2NhbGUocixvLHIpO2xldCBpPUNyLmJvdW5kaW5nVm9sdW1lO3JldHVybiBhLmNsb25lKGEuWkVSTyxpLmNlbnRlciksaS5yYWRpdXM9TWF0aC5zcXJ0KDMpLENyfWZ1bmN0aW9uIG00KHQsZSl7bGV0IG49ZSp1NCxvPXRbbisrXSxyPXRbbisrXSxpPWEuZnJvbUVsZW1lbnRzKG8sbyxyLEdkKSxzPXN0LnVucGFjayh0LG4sQ3IubW9kZWxNYXRyaXgpO3N0Lm11bHRpcGx5QnlTY2FsZShzLGkscyk7bGV0IGY9Q3IuYm91bmRpbmdWb2x1bWU7cmV0dXJuIGEuY2xvbmUoYS5aRVJPLGYuY2VudGVyKSxmLnJhZGl1cz1NYXRoLnNxcnQoMiksQ3J9ZnVuY3Rpb24gaDQodCxlKXtsZXQgbj1lKmw0LG89YS51bnBhY2sodCxuLEdkKTtuKz1hLnBhY2tlZExlbmd0aDtsZXQgcj1zdC51bnBhY2sodCxuLENyLm1vZGVsTWF0cml4KTtzdC5tdWx0aXBseUJ5U2NhbGUocixvLHIpO2xldCBpPUNyLmJvdW5kaW5nVm9sdW1lO3JldHVybiBhLmNsb25lKGEuWkVSTyxpLmNlbnRlciksaS5yYWRpdXM9MSxDcn1mdW5jdGlvbiBfNCh0LGUpe2xldCBuPWUqcDQsbz10W24rK10scj1hLnVucGFjayh0LG4sR2QpLGk9c3QuZnJvbVRyYW5zbGF0aW9uKHIsQ3IubW9kZWxNYXRyaXgpO3N0Lm11bHRpcGx5QnlVbmlmb3JtU2NhbGUoaSxvLGkpO2xldCBzPUNyLmJvdW5kaW5nVm9sdW1lO3JldHVybiBhLmNsb25lKGEuWkVSTyxzLmNlbnRlcikscy5yYWRpdXM9MSxDcn1mdW5jdGlvbiBrZCh0LGUsbixvLHIpe2lmKCFoKGUpKXJldHVybjtsZXQgaT1uLmxlbmd0aCxzPW8uYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsZj1vLmluZGljZXMsdT10LnBvc2l0aW9ucyxjPXQudmVydGV4QmF0Y2hJZHMsbD10LmluZGljZXMscD10LmJhdGNoSWRzLGQ9dC5iYXRjaFRhYmxlQ29sb3JzLG09dC5iYXRjaGVkSW5kaWNlcyxfPXQuaW5kZXhPZmZzZXRzLGc9dC5pbmRleENvdW50cyxiPXQuYm91bmRpbmdWb2x1bWVzLFQ9dC5tb2RlbE1hdHJpeCxPPXQuY2VudGVyLEU9dC5wb3NpdGlvbk9mZnNldCx3PXQuYmF0Y2hJZEluZGV4LEM9dC5pbmRleE9mZnNldCxOPXQuYmF0Y2hlZEluZGljZXNPZmZzZXQ7Zm9yKGxldCBJPTA7STxpOysrSSl7bGV0IEQ9cihlLEkpLHY9RC5tb2RlbE1hdHJpeDtzdC5tdWx0aXBseShULHYsdik7bGV0IEw9bltJXSxVPXMubGVuZ3RoO2ZvcihsZXQgUD0wO1A8VTtQKz0zKXtsZXQgQj1hLnVucGFjayhzLFAseTQpO3N0Lm11bHRpcGx5QnlQb2ludCh2LEIsQiksYS5zdWJ0cmFjdChCLE8sQiksYS5wYWNrKEIsdSxFKjMrUCksY1t3KytdPUx9bGV0IEE9Zi5sZW5ndGg7Zm9yKGxldCBQPTA7UDxBOysrUClsW0MrUF09ZltQXStFO2xldCBTPUkrTjttW1NdPW5ldyB5Uih7b2Zmc2V0OkMsY291bnQ6QSxjb2xvcjpvZS5mcm9tUmdiYShkW0xdKSxiYXRjaElkczpbTF19KSxwW1NdPUwsX1tTXT1DLGdbU109QSxiW1NdPUF0LnRyYW5zZm9ybShELmJvdW5kaW5nVm9sdW1lLHYpLEUrPVUvMyxDKz1BfXQucG9zaXRpb25PZmZzZXQ9RSx0LmJhdGNoSWRJbmRleD13LHQuaW5kZXhPZmZzZXQ9Qyx0LmJhdGNoZWRJbmRpY2VzT2Zmc2V0Kz1pfWZ1bmN0aW9uIGc0KHQpe2xldCBlPW5ldyBGbG9hdDY0QXJyYXkodCksbj0wO2EudW5wYWNrKGUsbixBUiksbis9YS5wYWNrZWRMZW5ndGgsc3QudW5wYWNrKGUsbixiUil9ZnVuY3Rpb24gQTQodCl7bGV0IGU9dC5sZW5ndGgsbj0wO2ZvcihsZXQgbz0wO288ZTsrK28pbis9b2UucGFja2VkTGVuZ3RoKzMrdFtvXS5iYXRjaElkcy5sZW5ndGg7cmV0dXJuIG59ZnVuY3Rpb24gYjQodCxlLG4pe2xldCBvPW4ubGVuZ3RoLHI9MitvKkF0LnBhY2tlZExlbmd0aCsxK0E0KGUpLGk9bmV3IEZsb2F0NjRBcnJheShyKSxzPTA7aVtzKytdPXQsaVtzKytdPW87Zm9yKGxldCB1PTA7dTxvOysrdSlBdC5wYWNrKG5bdV0saSxzKSxzKz1BdC5wYWNrZWRMZW5ndGg7bGV0IGY9ZS5sZW5ndGg7aVtzKytdPWY7Zm9yKGxldCB1PTA7dTxmOysrdSl7bGV0IGM9ZVt1XTtvZS5wYWNrKGMuY29sb3IsaSxzKSxzKz1vZS5wYWNrZWRMZW5ndGgsaVtzKytdPWMub2Zmc2V0LGlbcysrXT1jLmNvdW50O2xldCBsPWMuYmF0Y2hJZHMscD1sLmxlbmd0aDtpW3MrK109cDtmb3IobGV0IGQ9MDtkPHA7KytkKWlbcysrXT1sW2RdfXJldHVybiBpfWZ1bmN0aW9uIFQ0KHQsZSl7bGV0IG49aCh0LmJveGVzKT9uZXcgRmxvYXQzMkFycmF5KHQuYm94ZXMpOnZvaWQgMCxvPWgodC5ib3hCYXRjaElkcyk/bmV3IFVpbnQxNkFycmF5KHQuYm94QmF0Y2hJZHMpOnZvaWQgMCxyPWgodC5jeWxpbmRlcnMpP25ldyBGbG9hdDMyQXJyYXkodC5jeWxpbmRlcnMpOnZvaWQgMCxpPWgodC5jeWxpbmRlckJhdGNoSWRzKT9uZXcgVWludDE2QXJyYXkodC5jeWxpbmRlckJhdGNoSWRzKTp2b2lkIDAscz1oKHQuZWxsaXBzb2lkcyk/bmV3IEZsb2F0MzJBcnJheSh0LmVsbGlwc29pZHMpOnZvaWQgMCxmPWgodC5lbGxpcHNvaWRCYXRjaElkcyk/bmV3IFVpbnQxNkFycmF5KHQuZWxsaXBzb2lkQmF0Y2hJZHMpOnZvaWQgMCx1PWgodC5zcGhlcmVzKT9uZXcgRmxvYXQzMkFycmF5KHQuc3BoZXJlcyk6dm9pZCAwLGM9aCh0LnNwaGVyZUJhdGNoSWRzKT9uZXcgVWludDE2QXJyYXkodC5zcGhlcmVCYXRjaElkcyk6dm9pZCAwLGw9aChuKT9vLmxlbmd0aDowLHA9aChyKT9pLmxlbmd0aDowLGQ9aChzKT9mLmxlbmd0aDowLG09aCh1KT9jLmxlbmd0aDowLF89eGYuZ2V0VW5pdEJveCgpLGc9SGYuZ2V0VW5pdEN5bGluZGVyKCksYj1zci5nZXRVbml0RWxsaXBzb2lkKCksVD1fLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLE89Zy5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxFPWIuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsdz1ULmxlbmd0aCpsO3crPU8ubGVuZ3RoKnAsdys9RS5sZW5ndGgqKGQrbSk7bGV0IEM9Xy5pbmRpY2VzLE49Zy5pbmRpY2VzLEk9Yi5pbmRpY2VzLEQ9Qy5sZW5ndGgqbDtEKz1OLmxlbmd0aCpwLEQrPUkubGVuZ3RoKihkK20pO2xldCB2PW5ldyBGbG9hdDMyQXJyYXkodyksTD1uZXcgVWludDE2QXJyYXkody8zKSxVPUR0LmNyZWF0ZVR5cGVkQXJyYXkody8zLEQpLEE9bCtwK2QrbSxTPW5ldyBVaW50MTZBcnJheShBKSxQPW5ldyBBcnJheShBKSxCPW5ldyBVaW50MzJBcnJheShBKSxqPW5ldyBVaW50MzJBcnJheShBKSxIPW5ldyBBcnJheShBKTtnNCh0LnBhY2tlZEJ1ZmZlcik7bGV0IGs9e2JhdGNoVGFibGVDb2xvcnM6bmV3IFVpbnQzMkFycmF5KHQuYmF0Y2hUYWJsZUNvbG9ycykscG9zaXRpb25zOnYsdmVydGV4QmF0Y2hJZHM6TCxpbmRpY2VzOlUsYmF0Y2hJZHM6UyxiYXRjaGVkSW5kaWNlczpQLGluZGV4T2Zmc2V0czpCLGluZGV4Q291bnRzOmosYm91bmRpbmdWb2x1bWVzOkgscG9zaXRpb25PZmZzZXQ6MCxiYXRjaElkSW5kZXg6MCxpbmRleE9mZnNldDowLGJhdGNoZWRJbmRpY2VzT2Zmc2V0OjAsbW9kZWxNYXRyaXg6YlIsY2VudGVyOkFSfTtrZChrLG4sbyxfLGQ0KSxrZChrLHIsaSxnLG00KSxrZChrLHMsZixiLGg0KSxrZChrLHUsYyxiLF80KTtsZXQgSz1iNChVLkJZVEVTX1BFUl9FTEVNRU5ULFAsSCk7cmV0dXJuIGUucHVzaCh2LmJ1ZmZlcixMLmJ1ZmZlcixVLmJ1ZmZlciksZS5wdXNoKFMuYnVmZmVyLEIuYnVmZmVyLGouYnVmZmVyKSxlLnB1c2goSy5idWZmZXIpLHtwb3NpdGlvbnM6di5idWZmZXIsdmVydGV4QmF0Y2hJZHM6TC5idWZmZXIsaW5kaWNlczpVLmJ1ZmZlcixpbmRleE9mZnNldHM6Qi5idWZmZXIsaW5kZXhDb3VudHM6ai5idWZmZXIsYmF0Y2hJZHM6Uy5idWZmZXIscGFja2VkQnVmZmVyOksuYnVmZmVyfX12YXIgR2QsZjQsdTQsbDQscDQsQ3IseTQsQVIsYlIsdzQsWHk9WigoKT0+e3ZlKCk7YzAoKTtGdCgpO01hKCk7dV8oKTtmdCgpO2JkKCk7JGUoKTtVbigpO2dSKCk7c28oKTtHZD1uZXcgYSxmND1zdC5wYWNrZWRMZW5ndGgrYS5wYWNrZWRMZW5ndGgsdTQ9c3QucGFja2VkTGVuZ3RoKzIsbDQ9c3QucGFja2VkTGVuZ3RoK2EucGFja2VkTGVuZ3RoLHA0PWEucGFja2VkTGVuZ3RoKzEsQ3I9e21vZGVsTWF0cml4Om5ldyBzdCxib3VuZGluZ1ZvbHVtZTpuZXcgQXR9O3k0PW5ldyBhO0FSPW5ldyBhLGJSPW5ldyBzdDt3ND1RZShUNCl9KTt2YXIgJHk9e307ZGUoJHkse2RlZmF1bHQ6KCk9PkM0fSk7ZnVuY3Rpb24gUjQodCl7dD1uZXcgRmxvYXQ2NEFycmF5KHQpO2xldCBlPTA7emQubWluPXRbZSsrXSx6ZC5tYXg9dFtlKytdLE50LnVucGFjayh0LGUsVFIpLGUrPU50LnBhY2tlZExlbmd0aCwkLnVucGFjayh0LGUsd1IpfWZ1bmN0aW9uIFM0KHQsZSl7bGV0IG49bmV3IFVpbnQxNkFycmF5KHQucG9zaXRpb25zKTtSNCh0LnBhY2tlZEJ1ZmZlcik7bGV0IG89VFIscj13UixpPXpkLm1pbixzPXpkLm1heCxmPW4ubGVuZ3RoLzMsdT1uLnN1YmFycmF5KDAsZiksYz1uLnN1YmFycmF5KGYsMipmKSxsPW4uc3ViYXJyYXkoMipmLDMqZik7bm4uemlnWmFnRGVsdGFEZWNvZGUodSxjLGwpO2xldCBwPW5ldyBGbG9hdDY0QXJyYXkobi5sZW5ndGgpO2ZvcihsZXQgZD0wO2Q8ZjsrK2Qpe2xldCBtPXVbZF0sXz1jW2RdLGc9bFtkXSxiPU0ubGVycChvLndlc3Qsby5lYXN0LG0vWXkpLFQ9TS5sZXJwKG8uc291dGgsby5ub3J0aCxfL1l5KSxPPU0ubGVycChpLHMsZy9ZeSksRT1jdC5mcm9tUmFkaWFucyhiLFQsTyxPNCksdz1yLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKEUsRTQpO2EucGFjayh3LHAsZCozKX1yZXR1cm4gZS5wdXNoKHAuYnVmZmVyKSx7cG9zaXRpb25zOnAuYnVmZmVyfX12YXIgWXksTzQsRTQsVFIsd1IsemQsQzQsWnk9WigoKT0+e2FzKCk7RnQoKTtJZSgpO1p0KCk7V3QoKTt3bigpO3NvKCk7WXk9MzI3NjcsTzQ9bmV3IGN0LEU0PW5ldyBhLFRSPW5ldyBOdCx3Uj1uZXcgJCx6ZD17bWluOnZvaWQgMCxtYXg6dm9pZCAwfTtDND1RZShTNCl9KTt2YXIgUXk9e307ZGUoUXkse2RlZmF1bHQ6KCk9PkI0fSk7ZnVuY3Rpb24geDQodCl7bGV0IGU9bmV3IEZsb2F0NjRBcnJheSh0KSxuPTA7QmEuaW5kZXhCeXRlc1BlckVsZW1lbnQ9ZVtuKytdLEJhLm1pbj1lW24rK10sQmEubWF4PWVbbisrXSxhLnVucGFjayhlLG4sU1IpLG4rPWEucGFja2VkTGVuZ3RoLCQudW5wYWNrKGUsbixDUiksbis9JC5wYWNrZWRMZW5ndGgsTnQudW5wYWNrKGUsbix4Uil9ZnVuY3Rpb24gUDQodCl7bGV0IGU9dC5sZW5ndGgsbj0wO2ZvcihsZXQgbz0wO288ZTsrK28pbis9b2UucGFja2VkTGVuZ3RoKzMrdFtvXS5iYXRjaElkcy5sZW5ndGg7cmV0dXJuIG59ZnVuY3Rpb24gTTQodCxlLG4pe2xldCBvPWUubGVuZ3RoLHI9MitvKlNvLnBhY2tlZExlbmd0aCsxK1A0KG4pLGk9bmV3IEZsb2F0NjRBcnJheShyKSxzPTA7aVtzKytdPXQsaVtzKytdPW87Zm9yKGxldCB1PTA7dTxvOysrdSlTby5wYWNrKGVbdV0saSxzKSxzKz1Tby5wYWNrZWRMZW5ndGg7bGV0IGY9bi5sZW5ndGg7aVtzKytdPWY7Zm9yKGxldCB1PTA7dTxmOysrdSl7bGV0IGM9blt1XTtvZS5wYWNrKGMuY29sb3IsaSxzKSxzKz1vZS5wYWNrZWRMZW5ndGgsaVtzKytdPWMub2Zmc2V0LGlbcysrXT1jLmNvdW50O2xldCBsPWMuYmF0Y2hJZHMscD1sLmxlbmd0aDtpW3MrK109cDtmb3IobGV0IGQ9MDtkPHA7KytkKWlbcysrXT1sW2RdfXJldHVybiBpfWZ1bmN0aW9uIEY0KHQsZSl7eDQodC5wYWNrZWRCdWZmZXIpO2xldCBuO0JhLmluZGV4Qnl0ZXNQZXJFbGVtZW50PT09Mj9uPW5ldyBVaW50MTZBcnJheSh0LmluZGljZXMpOm49bmV3IFVpbnQzMkFycmF5KHQuaW5kaWNlcyk7bGV0IHI9bmV3IFVpbnQxNkFycmF5KHQucG9zaXRpb25zKSxpPW5ldyBVaW50MzJBcnJheSh0LmNvdW50cykscz1uZXcgVWludDMyQXJyYXkodC5pbmRleENvdW50cyksZj1uZXcgVWludDMyQXJyYXkodC5iYXRjaElkcyksdT1uZXcgVWludDMyQXJyYXkodC5iYXRjaFRhYmxlQ29sb3JzKSxjPW5ldyBBcnJheShpLmxlbmd0aCksbD1TUixwPUNSLGQ9eFIsbT1CYS5taW4sXz1CYS5tYXgsZz10Lm1pbmltdW1IZWlnaHRzLGI9dC5tYXhpbXVtSGVpZ2h0cztoKGcpJiZoKGIpJiYoZz1uZXcgRmxvYXQzMkFycmF5KGcpLGI9bmV3IEZsb2F0MzJBcnJheShiKSk7bGV0IFQsTyxFLHc9ci5sZW5ndGgvMixDPXIuc3ViYXJyYXkoMCx3KSxOPXIuc3ViYXJyYXkodywyKncpO25uLnppZ1phZ0RlbHRhRGVjb2RlKEMsTik7bGV0IEk9bmV3IEZsb2F0NjRBcnJheSh3KjMpO2ZvcihUPTA7VDx3OysrVCl7bGV0IHJ0PUNbVF0sUHQ9TltUXSxndD1NLmxlcnAoZC53ZXN0LGQuZWFzdCxydC9PUiksQ3Q9TS5sZXJwKGQuc291dGgsZC5ub3J0aCxQdC9PUiksbXQ9Y3QuZnJvbVJhZGlhbnMoZ3QsQ3QsMCxSUiksdXQ9cC5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihtdCxFUik7YS5wYWNrKHV0LEksVCozKX1sZXQgRD1pLmxlbmd0aCx2PW5ldyBBcnJheShEKSxMPW5ldyBBcnJheShEKSxVPTAsQT0wO2ZvcihUPTA7VDxEOysrVCl2W1RdPVUsTFtUXT1BLFUrPWlbVF0sQSs9c1tUXTtsZXQgUz1uZXcgRmxvYXQzMkFycmF5KHcqMyoyKSxQPW5ldyBVaW50MTZBcnJheSh3KjIpLEI9bmV3IFVpbnQzMkFycmF5KEwubGVuZ3RoKSxqPW5ldyBVaW50MzJBcnJheShzLmxlbmd0aCksSD1bXSxrPXt9O2ZvcihUPTA7VDxEOysrVClFPXVbVF0saChrW0VdKT8oa1tFXS5wb3NpdGlvbkxlbmd0aCs9aVtUXSxrW0VdLmluZGV4TGVuZ3RoKz1zW1RdLGtbRV0uYmF0Y2hJZHMucHVzaChUKSk6a1tFXT17cG9zaXRpb25MZW5ndGg6aVtUXSxpbmRleExlbmd0aDpzW1RdLG9mZnNldDowLGluZGV4T2Zmc2V0OjAsYmF0Y2hJZHM6W1RdfTtsZXQgSyxYPTAsUj0wO2ZvcihFIGluIGspaWYoay5oYXNPd25Qcm9wZXJ0eShFKSl7Sz1rW0VdLEsub2Zmc2V0PVgsSy5pbmRleE9mZnNldD1SO2xldCBydD1LLnBvc2l0aW9uTGVuZ3RoKjIsUHQ9Sy5pbmRleExlbmd0aCoyK0sucG9zaXRpb25MZW5ndGgqNjtYKz1ydCxSKz1QdCxLLmluZGV4TGVuZ3RoPVB0fWxldCBvdD1bXTtmb3IoRSBpbiBrKWsuaGFzT3duUHJvcGVydHkoRSkmJihLPWtbRV0sb3QucHVzaCh7Y29sb3I6b2UuZnJvbVJnYmEocGFyc2VJbnQoRSkpLG9mZnNldDpLLmluZGV4T2Zmc2V0LGNvdW50OksuaW5kZXhMZW5ndGgsYmF0Y2hJZHM6Sy5iYXRjaElkc30pKTtmb3IoVD0wO1Q8RDsrK1Qpe0U9dVtUXSxLPWtbRV07bGV0IHJ0PUsub2Zmc2V0LFB0PXJ0KjMsZ3Q9cnQsQ3Q9dltUXSxtdD1pW1RdLHV0PWZbVF0sdnQ9bSx6dD1fO2goZykmJmgoYikmJih2dD1nW1RdLHp0PWJbVF0pO2xldCBtZT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksYWU9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHBlPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSx1ZT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7Zm9yKE89MDtPPG10OysrTyl7bGV0IGdlPWEudW5wYWNrKEksQ3QqMytPKjMsRVIpO3Auc2NhbGVUb0dlb2RldGljU3VyZmFjZShnZSxnZSk7bGV0IEVlPXAuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZ2UsUlIpLHVuPUVlLmxhdGl0dWRlLGtlPUVlLmxvbmdpdHVkZTttZT1NYXRoLm1pbih1bixtZSksYWU9TWF0aC5tYXgodW4sYWUpLHBlPU1hdGgubWluKGtlLHBlKSx1ZT1NYXRoLm1heChrZSx1ZSk7bGV0IGJlPXAuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGdlLE40KSxsbj1hLm11bHRpcGx5QnlTY2FsYXIoYmUsdnQsSTQpLHBuPWEuYWRkKGdlLGxuLHY0KTtsbj1hLm11bHRpcGx5QnlTY2FsYXIoYmUsenQsbG4pO2xldCBFbj1hLmFkZChnZSxsbixMNCk7YS5zdWJ0cmFjdChFbixsLEVuKSxhLnN1YnRyYWN0KHBuLGwscG4pLGEucGFjayhFbixTLFB0KSxhLnBhY2socG4sUyxQdCszKSxQW2d0XT11dCxQW2d0KzFdPXV0LFB0Kz02LGd0Kz0yfWQ9RDQsZC53ZXN0PXBlLGQuZWFzdD11ZSxkLnNvdXRoPW1lLGQubm9ydGg9YWUsY1tUXT1Tby5mcm9tUmVjdGFuZ2xlKGQsbSxfLHApO2xldCBRdD1LLmluZGV4T2Zmc2V0LEp0PUxbVF0sTmU9c1tUXTtmb3IoQltUXT1RdCxPPTA7TzxOZTtPKz0zKXtsZXQgZ2U9bltKdCtPXS1DdCxFZT1uW0p0K08rMV0tQ3QsdW49bltKdCtPKzJdLUN0O0hbUXQrK109Z2UqMitydCxIW1F0KytdPUVlKjIrcnQsSFtRdCsrXT11bioyK3J0LEhbUXQrK109dW4qMisxK3J0LEhbUXQrK109RWUqMisxK3J0LEhbUXQrK109Z2UqMisxK3J0fWZvcihPPTA7TzxtdDsrK08pe2xldCBnZT1PLEVlPShPKzEpJW10O0hbUXQrK109Z2UqMisxK3J0LEhbUXQrK109RWUqMitydCxIW1F0KytdPWdlKjIrcnQsSFtRdCsrXT1nZSoyKzErcnQsSFtRdCsrXT1FZSoyKzErcnQsSFtRdCsrXT1FZSoyK3J0fUsub2Zmc2V0Kz1tdCoyLEsuaW5kZXhPZmZzZXQ9UXQsaltUXT1RdC1CW1RdfUg9RHQuY3JlYXRlVHlwZWRBcnJheShTLmxlbmd0aC8zLEgpO2xldCBhdD1vdC5sZW5ndGg7Zm9yKGxldCBydD0wO3J0PGF0OysrcnQpe2xldCBQdD1vdFtydF0uYmF0Y2hJZHMsZ3Q9MCxDdD1QdC5sZW5ndGg7Zm9yKGxldCBtdD0wO210PEN0OysrbXQpZ3QrPWpbUHRbbXRdXTtvdFtydF0uY291bnQ9Z3R9bGV0IHB0PUguQllURVNfUEVSX0VMRU1FTlQ9PT0yP0R0LlVOU0lHTkVEX1NIT1JUOkR0LlVOU0lHTkVEX0lOVCx5dD1NNChwdCxjLG90KTtyZXR1cm4gZS5wdXNoKFMuYnVmZmVyLEguYnVmZmVyLEIuYnVmZmVyLGouYnVmZmVyLFAuYnVmZmVyLHl0LmJ1ZmZlcikse3Bvc2l0aW9uczpTLmJ1ZmZlcixpbmRpY2VzOkguYnVmZmVyLGluZGV4T2Zmc2V0czpCLmJ1ZmZlcixpbmRleENvdW50czpqLmJ1ZmZlcixiYXRjaElkczpQLmJ1ZmZlcixwYWNrZWRCdWZmZXI6eXQuYnVmZmVyfX12YXIgU1IsQ1IseFIsQmEsT1IsRVIsTjQsSTQsdjQsTDQsUlIsRDQsQjQsSnk9WigoKT0+e2FzKCk7RnQoKTtJZSgpO01hKCk7ZnQoKTtadCgpOyRlKCk7V3QoKTtkYSgpO3duKCk7c28oKTtTUj1uZXcgYSxDUj1uZXcgJCx4Uj1uZXcgTnQsQmE9e21pbjp2b2lkIDAsbWF4OnZvaWQgMCxpbmRleEJ5dGVzUGVyRWxlbWVudDp2b2lkIDB9O09SPTMyNzY3LEVSPW5ldyBhLE40PW5ldyBhLEk0PW5ldyBhLHY0PW5ldyBhLEw0PW5ldyBhLFJSPW5ldyBjdCxEND1uZXcgTnQ7QjQ9UWUoRjQpfSk7ZnVuY3Rpb24gazQodCxlLG4sbyxyKXtsZXQgaT10Lmxlbmd0aC8zLHM9dC5zdWJhcnJheSgwLGkpLGY9dC5zdWJhcnJheShpLDIqaSksdT10LnN1YmFycmF5KDIqaSwzKmkpO25uLnppZ1phZ0RlbHRhRGVjb2RlKHMsZix1KTtsZXQgYz1uZXcgRmxvYXQ2NEFycmF5KHQubGVuZ3RoKTtmb3IobGV0IGw9MDtsPGk7KytsKXtsZXQgcD1zW2xdLGQ9ZltsXSxtPXVbbF0sXz1NLmxlcnAoZS53ZXN0LGUuZWFzdCxwL3RnKSxnPU0ubGVycChlLnNvdXRoLGUubm9ydGgsZC90ZyksYj1NLmxlcnAobixvLG0vdGcpLFQ9Y3QuZnJvbVJhZGlhbnMoXyxnLGIsVTQpLE89ci5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihULFY0KTthLnBhY2soTyxjLGwqMyl9cmV0dXJuIGN9dmFyIHRnLFU0LFY0LFBSLE1SPVooKCk9PnthcygpO0Z0KCk7SWUoKTtXdCgpO3RnPTMyNzY3LFU0PW5ldyBjdCxWND1uZXcgYTtQUj1rNH0pO3ZhciBlZz17fTtkZShlZyx7ZGVmYXVsdDooKT0+cTR9KTtmdW5jdGlvbiBHNCh0KXt0PW5ldyBGbG9hdDY0QXJyYXkodCk7bGV0IGU9MDtqZC5taW49dFtlKytdLGpkLm1heD10W2UrK10sTnQudW5wYWNrKHQsZSxEUiksZSs9TnQucGFja2VkTGVuZ3RoLCQudW5wYWNrKHQsZSxGUiksZSs9JC5wYWNrZWRMZW5ndGgsYS51bnBhY2sodCxlLEJSKX1mdW5jdGlvbiB6NCh0KXtsZXQgZT10Lmxlbmd0aCxuPW5ldyBVaW50MzJBcnJheShlKzEpLG89MDtmb3IobGV0IHI9MDtyPGU7KytyKW5bcl09byxvKz10W3JdO3JldHVybiBuW2VdPW8sbn1mdW5jdGlvbiBINCh0LGUpe2xldCBuPW5ldyBVaW50MTZBcnJheSh0LnBvc2l0aW9ucyksbz1uZXcgVWludDE2QXJyYXkodC53aWR0aHMpLHI9bmV3IFVpbnQzMkFycmF5KHQuY291bnRzKSxpPW5ldyBVaW50MTZBcnJheSh0LmJhdGNoSWRzKTtHNCh0LnBhY2tlZEJ1ZmZlcik7bGV0IHM9RFIsZj1GUix1PUJSLGM9amQubWluLGw9amQubWF4LHA9UFIobixzLGMsbCxmKSxkPXAubGVuZ3RoLzMsbT1kKjQtNCxfPW5ldyBGbG9hdDMyQXJyYXkobSozKSxnPW5ldyBGbG9hdDMyQXJyYXkobSozKSxiPW5ldyBGbG9hdDMyQXJyYXkobSozKSxUPW5ldyBGbG9hdDMyQXJyYXkobSoyKSxPPW5ldyBVaW50MTZBcnJheShtKSxFPTAsdz0wLEM9MCxOLEk9MCxEPXIubGVuZ3RoO2ZvcihOPTA7TjxEOysrTil7bGV0IFM9cltOXSxQPW9bTl0sQj1pW05dO2ZvcihsZXQgaj0wO2o8UzsrK2ope2xldCBIO2lmKGo9PT0wKXtsZXQgb3Q9YS51bnBhY2socCxJKjMsTlIpLGF0PWEudW5wYWNrKHAsKEkrMSkqMyxJUik7SD1hLnN1YnRyYWN0KG90LGF0LHZSKSxhLmFkZChvdCxILEgpfWVsc2UgSD1hLnVucGFjayhwLChJK2otMSkqMyx2Uik7bGV0IGs9YS51bnBhY2socCwoSStqKSozLGo0KSxLO2lmKGo9PT1TLTEpe2xldCBvdD1hLnVucGFjayhwLChJK1MtMSkqMyxOUiksYXQ9YS51bnBhY2socCwoSStTLTIpKjMsSVIpO0s9YS5zdWJ0cmFjdChvdCxhdCxMUiksYS5hZGQob3QsSyxLKX1lbHNlIEs9YS51bnBhY2socCwoSStqKzEpKjMsTFIpO2Euc3VidHJhY3QoSCx1LEgpLGEuc3VidHJhY3Qoayx1LGspLGEuc3VidHJhY3QoSyx1LEspO2xldCBYPWo9PT0wPzI6MCxSPWo9PT1TLTE/Mjo0O2ZvcihsZXQgb3Q9WDtvdDxSOysrb3Qpe2EucGFjayhrLF8sRSksYS5wYWNrKEgsZyxFKSxhLnBhY2soSyxiLEUpLEUrPTM7bGV0IGF0PW90LTI8MD8tMToxO1RbdysrXT0yKihvdCUyKS0xLFRbdysrXT1hdCpQLE9bQysrXT1CfX1JKz1TfWxldCB2PUR0LmNyZWF0ZVR5cGVkQXJyYXkobSxkKjYtNiksTD0wLFU9MDtmb3IoRD1kLTEsTj0wO048RDsrK04pdltVKytdPUwsdltVKytdPUwrMix2W1UrK109TCsxLHZbVSsrXT1MKzEsdltVKytdPUwrMix2W1UrK109TCszLEwrPTQ7ZS5wdXNoKF8uYnVmZmVyLGcuYnVmZmVyLGIuYnVmZmVyKSxlLnB1c2goVC5idWZmZXIsTy5idWZmZXIsdi5idWZmZXIpO2xldCBBPXtpbmRleERhdGF0eXBlOnYuQllURVNfUEVSX0VMRU1FTlQ9PT0yP0R0LlVOU0lHTkVEX1NIT1JUOkR0LlVOU0lHTkVEX0lOVCxjdXJyZW50UG9zaXRpb25zOl8uYnVmZmVyLHByZXZpb3VzUG9zaXRpb25zOmcuYnVmZmVyLG5leHRQb3NpdGlvbnM6Yi5idWZmZXIsZXhwYW5kQW5kV2lkdGg6VC5idWZmZXIsYmF0Y2hJZHM6Ty5idWZmZXIsaW5kaWNlczp2LmJ1ZmZlcn07aWYodC5rZWVwRGVjb2RlZFBvc2l0aW9ucyl7bGV0IFM9ejQocik7ZS5wdXNoKHAuYnVmZmVyLFMuYnVmZmVyKSxBPV9yKEEse2RlY29kZWRQb3NpdGlvbnM6cC5idWZmZXIsZGVjb2RlZFBvc2l0aW9uT2Zmc2V0czpTLmJ1ZmZlcn0pfXJldHVybiBBfXZhciBEUixGUixCUixqZCxOUixJUix2UixqNCxMUixxNCxuZz1aKCgpPT57RnQoKTtycCgpO01SKCk7WnQoKTskZSgpO3duKCk7c28oKTtEUj1uZXcgTnQsRlI9bmV3ICQsQlI9bmV3IGEsamQ9e21pbjp2b2lkIDAsbWF4OnZvaWQgMH07TlI9bmV3IGEsSVI9bmV3IGEsdlI9bmV3IGEsajQ9bmV3IGEsTFI9bmV3IGE7cTQ9UWUoSDQpfSk7ZnVuY3Rpb24gaGkodCxlKXt5LnR5cGVPZi5vYmplY3QoImVsbGlwc29pZCIsdCksdGhpcy5fZWxsaXBzb2lkPXQsdGhpcy5fY2FtZXJhUG9zaXRpb249bmV3IGEsdGhpcy5fY2FtZXJhUG9zaXRpb25JblNjYWxlZFNwYWNlPW5ldyBhLHRoaXMuX2Rpc3RhbmNlVG9MaW1iSW5TY2FsZWRTcGFjZVNxdWFyZWQ9MCxoKGUpJiYodGhpcy5jYW1lcmFQb3NpdGlvbj1lKX1mdW5jdGlvbiBrUih0LGUsbil7aWYoaChlKSYmZTwwJiZ0Lm1pbmltdW1SYWRpdXM+LWUpe2xldCBvPWEuZnJvbUVsZW1lbnRzKHQucmFkaWkueCtlLHQucmFkaWkueStlLHQucmFkaWkueitlLFg0KTt0PSQuZnJvbUNhcnRlc2lhbjMobyxuKX1yZXR1cm4gdH1mdW5jdGlvbiBHUih0LGUsbixvKXt5LnR5cGVPZi5vYmplY3QoImRpcmVjdGlvblRvUG9pbnQiLGUpLHkuZGVmaW5lZCgicG9zaXRpb25zIixuKSxoKG8pfHwobz1uZXcgYSk7bGV0IHI9cVIodCxlKSxpPTA7Zm9yKGxldCBzPTAsZj1uLmxlbmd0aDtzPGY7KytzKXtsZXQgdT1uW3NdLGM9alIodCx1LHIpO2lmKGM8MClyZXR1cm47aT1NYXRoLm1heChpLGMpfXJldHVybiBIUihyLGksbyl9ZnVuY3Rpb24gelIodCxlLG4sbyxyLGkpe3kudHlwZU9mLm9iamVjdCgiZGlyZWN0aW9uVG9Qb2ludCIsZSkseS5kZWZpbmVkKCJ2ZXJ0aWNlcyIsbikseS50eXBlT2YubnVtYmVyKCJzdHJpZGUiLG8pLGgoaSl8fChpPW5ldyBhKSxvPXgobywzKSxyPXgocixhLlpFUk8pO2xldCBzPXFSKHQsZSksZj0wO2ZvcihsZXQgdT0wLGM9bi5sZW5ndGg7dTxjO3UrPW8pe0hkLng9blt1XStyLngsSGQueT1uW3UrMV0rci55LEhkLno9blt1KzJdK3IuejtsZXQgbD1qUih0LEhkLHMpO2lmKGw8MClyZXR1cm47Zj1NYXRoLm1heChmLGwpfXJldHVybiBIUihzLGYsaSl9ZnVuY3Rpb24gcmcodCxlLG4pe2xldCBvPWUscj1uLGk9YS5zdWJ0cmFjdCh0LG8sVVIpLHM9LWEuZG90KGksbyk7cmV0dXJuIShyPDA/cz4wOnM+ciYmcypzL2EubWFnbml0dWRlU3F1YXJlZChpKT5yKX1mdW5jdGlvbiBqUih0LGUsbil7bGV0IG89dC50cmFuc2Zvcm1Qb3NpdGlvblRvU2NhbGVkU3BhY2UoZSxZNCkscj1hLm1hZ25pdHVkZVNxdWFyZWQobyksaT1NYXRoLnNxcnQocikscz1hLmRpdmlkZUJ5U2NhbGFyKG8saSwkNCk7cj1NYXRoLm1heCgxLHIpLGk9TWF0aC5tYXgoMSxpKTtsZXQgZj1hLmRvdChzLG4pLHU9YS5tYWduaXR1ZGUoYS5jcm9zcyhzLG4scykpLGM9MS9pLGw9TWF0aC5zcXJ0KHItMSkqYztyZXR1cm4gMS8oZipjLXUqbCl9ZnVuY3Rpb24gSFIodCxlLG4pe2lmKCEoZTw9MHx8ZT09PTEvMHx8ZSE9PWUpKXJldHVybiBhLm11bHRpcGx5QnlTY2FsYXIodCxlLG4pfWZ1bmN0aW9uIHFSKHQsZSl7cmV0dXJuIGEuZXF1YWxzKGUsYS5aRVJPKT9lOih0LnRyYW5zZm9ybVBvc2l0aW9uVG9TY2FsZWRTcGFjZShlLG9nKSxhLm5vcm1hbGl6ZShvZyxvZykpfXZhciBVUixLNCxWUixXNCxYNCxIZCxZNCwkNCxvZyx4cyxzdT1aKCgpPT57dmUoKTtGdCgpO1h0KCk7SXQoKTtmdCgpO1p0KCk7d24oKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhoaS5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19LGNhbWVyYVBvc2l0aW9uOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fY2FtZXJhUG9zaXRpb259LHNldDpmdW5jdGlvbih0KXtsZXQgbj10aGlzLl9lbGxpcHNvaWQudHJhbnNmb3JtUG9zaXRpb25Ub1NjYWxlZFNwYWNlKHQsdGhpcy5fY2FtZXJhUG9zaXRpb25JblNjYWxlZFNwYWNlKSxvPWEubWFnbml0dWRlU3F1YXJlZChuKS0xO2EuY2xvbmUodCx0aGlzLl9jYW1lcmFQb3NpdGlvbiksdGhpcy5fY2FtZXJhUG9zaXRpb25JblNjYWxlZFNwYWNlPW4sdGhpcy5fZGlzdGFuY2VUb0xpbWJJblNjYWxlZFNwYWNlU3F1YXJlZD1vfX19KTtVUj1uZXcgYTtoaS5wcm90b3R5cGUuaXNQb2ludFZpc2libGU9ZnVuY3Rpb24odCl7bGV0IG49dGhpcy5fZWxsaXBzb2lkLnRyYW5zZm9ybVBvc2l0aW9uVG9TY2FsZWRTcGFjZSh0LFVSKTtyZXR1cm4gcmcobix0aGlzLl9jYW1lcmFQb3NpdGlvbkluU2NhbGVkU3BhY2UsdGhpcy5fZGlzdGFuY2VUb0xpbWJJblNjYWxlZFNwYWNlU3F1YXJlZCl9O2hpLnByb3RvdHlwZS5pc1NjYWxlZFNwYWNlUG9pbnRWaXNpYmxlPWZ1bmN0aW9uKHQpe3JldHVybiByZyh0LHRoaXMuX2NhbWVyYVBvc2l0aW9uSW5TY2FsZWRTcGFjZSx0aGlzLl9kaXN0YW5jZVRvTGltYkluU2NhbGVkU3BhY2VTcXVhcmVkKX07SzQ9bmV3IGE7aGkucHJvdG90eXBlLmlzU2NhbGVkU3BhY2VQb2ludFZpc2libGVQb3NzaWJseVVuZGVyRWxsaXBzb2lkPWZ1bmN0aW9uKHQsZSl7bGV0IG49dGhpcy5fZWxsaXBzb2lkLG8scjtyZXR1cm4gaChlKSYmZTwwJiZuLm1pbmltdW1SYWRpdXM+LWU/KHI9SzQsci54PXRoaXMuX2NhbWVyYVBvc2l0aW9uLngvKG4ucmFkaWkueCtlKSxyLnk9dGhpcy5fY2FtZXJhUG9zaXRpb24ueS8obi5yYWRpaS55K2UpLHIuej10aGlzLl9jYW1lcmFQb3NpdGlvbi56LyhuLnJhZGlpLnorZSksbz1yLngqci54K3IueSpyLnkrci56KnIuei0xKToocj10aGlzLl9jYW1lcmFQb3NpdGlvbkluU2NhbGVkU3BhY2Usbz10aGlzLl9kaXN0YW5jZVRvTGltYkluU2NhbGVkU3BhY2VTcXVhcmVkKSxyZyh0LHIsbyl9O2hpLnByb3RvdHlwZS5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIEdSKHRoaXMuX2VsbGlwc29pZCx0LGUsbil9O1ZSPSQuY2xvbmUoJC5VTklUX1NQSEVSRSk7aGkucHJvdG90eXBlLmNvbXB1dGVIb3Jpem9uQ3VsbGluZ1BvaW50UG9zc2libHlVbmRlckVsbGlwc29pZD1mdW5jdGlvbih0LGUsbixvKXtsZXQgcj1rUih0aGlzLl9lbGxpcHNvaWQsbixWUik7cmV0dXJuIEdSKHIsdCxlLG8pfTtoaS5wcm90b3R5cGUuY29tcHV0ZUhvcml6b25DdWxsaW5nUG9pbnRGcm9tVmVydGljZXM9ZnVuY3Rpb24odCxlLG4sbyxyKXtyZXR1cm4gelIodGhpcy5fZWxsaXBzb2lkLHQsZSxuLG8scil9O2hpLnByb3RvdHlwZS5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludEZyb21WZXJ0aWNlc1Bvc3NpYmx5VW5kZXJFbGxpcHNvaWQ9ZnVuY3Rpb24odCxlLG4sbyxyLGkpe2xldCBzPWtSKHRoaXMuX2VsbGlwc29pZCxyLFZSKTtyZXR1cm4gelIocyx0LGUsbixvLGkpfTtXND1bXTtoaS5wcm90b3R5cGUuY29tcHV0ZUhvcml6b25DdWxsaW5nUG9pbnRGcm9tUmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCk7bGV0IG89TnQuc3Vic2FtcGxlKHQsZSwwLFc0KSxyPUF0LmZyb21Qb2ludHMobyk7aWYoIShhLm1hZ25pdHVkZShyLmNlbnRlcik8LjEqZS5taW5pbXVtUmFkaXVzKSlyZXR1cm4gdGhpcy5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludChyLmNlbnRlcixvLG4pfTtYND1uZXcgYTtIZD1uZXcgYTtZND1uZXcgYSwkND1uZXcgYTtvZz1uZXcgYTt4cz1oaX0pO3ZhciBxZCxaNCxLUixXUj1aKCgpPT57RnQoKTtJZSgpO0h0KCk7ZnQoKTtxZD17fTtxZC5nZXRIZWlnaHQ9ZnVuY3Rpb24odCxlLG4pe2lmKCFOdW1iZXIuaXNGaW5pdGUoZSkpdGhyb3cgbmV3IEYoInNjYWxlIG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyLiIpO2lmKCFOdW1iZXIuaXNGaW5pdGUobikpdGhyb3cgbmV3IEYoInJlbGF0aXZlSGVpZ2h0IG11c3QgYmUgYSBmaW5pdGUgbnVtYmVyLiIpO3JldHVybih0LW4pKmUrbn07WjQ9bmV3IGN0O3FkLmdldFBvc2l0aW9uPWZ1bmN0aW9uKHQsZSxuLG8scil7bGV0IGk9ZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyh0LFo0KTtpZighaChpKSlyZXR1cm4gYS5jbG9uZSh0LHIpO2xldCBzPXFkLmdldEhlaWdodChpLmhlaWdodCxuLG8pO3JldHVybiBhLmZyb21SYWRpYW5zKGkubG9uZ2l0dWRlLGkubGF0aXR1ZGUscyxlLHIpfTtLUj1xZH0pO3ZhciBRNCx4cixYUj1aKCgpPT57UTQ9e05PTkU6MCxCSVRTMTI6MX0seHI9T2JqZWN0LmZyZWV6ZShRNCl9KTtmdW5jdGlvbiBNbyh0LGUsbixvLHIsaSxzLGYsdSxjKXtsZXQgbD14ci5OT05FLHAsZDtpZihoKGUpJiZoKG4pJiZoKG8pJiZoKHIpKXtsZXQgbT1lLm1pbmltdW0sXz1lLm1heGltdW0sZz1hLnN1YnRyYWN0KF8sbSxKNCksYj1vLW47TWF0aC5tYXgoYS5tYXhpbXVtQ29tcG9uZW50KGcpLGIpPGVVLTE/bD14ci5CSVRTMTI6bD14ci5OT05FLHA9c3QuaW52ZXJzZVRyYW5zZm9ybWF0aW9uKHIsbmV3IHN0KTtsZXQgTz1hLm5lZ2F0ZShtLHdjKTtzdC5tdWx0aXBseShzdC5mcm9tVHJhbnNsYXRpb24oTyxLZCkscCxwKTtsZXQgRT13YztFLng9MS9nLngsRS55PTEvZy55LEUuej0xL2cueixzdC5tdWx0aXBseShzdC5mcm9tU2NhbGUoRSxLZCkscCxwKSxkPXN0LmNsb25lKHIpLHN0LnNldFRyYW5zbGF0aW9uKGQsYS5aRVJPLGQpLHI9c3QuY2xvbmUocixuZXcgc3QpO2xldCB3PXN0LmZyb21UcmFuc2xhdGlvbihtLEtkKSxDPXN0LmZyb21TY2FsZShnLHRVKSxOPXN0Lm11bHRpcGx5KHcsQyxLZCk7c3QubXVsdGlwbHkocixOLHIpLHN0Lm11bHRpcGx5KGQsTixkKX10aGlzLnF1YW50aXphdGlvbj1sLHRoaXMubWluaW11bUhlaWdodD1uLHRoaXMubWF4aW11bUhlaWdodD1vLHRoaXMuY2VudGVyPWEuY2xvbmUodCksdGhpcy50b1NjYWxlZEVOVT1wLHRoaXMuZnJvbVNjYWxlZEVOVT1yLHRoaXMubWF0cml4PWQsdGhpcy5oYXNWZXJ0ZXhOb3JtYWxzPWksdGhpcy5oYXNXZWJNZXJjYXRvclQ9eChzLCExKSx0aGlzLmhhc0dlb2RldGljU3VyZmFjZU5vcm1hbHM9eChmLCExKSx0aGlzLmV4YWdnZXJhdGlvbj14KHUsMSksdGhpcy5leGFnZ2VyYXRpb25SZWxhdGl2ZUhlaWdodD14KGMsMCksdGhpcy5zdHJpZGU9MCx0aGlzLl9vZmZzZXRHZW9kZXRpY1N1cmZhY2VOb3JtYWw9MCx0aGlzLl9vZmZzZXRWZXJ0ZXhOb3JtYWw9MCx0aGlzLl9jYWxjdWxhdGVTdHJpZGVBbmRPZmZzZXRzKCl9dmFyIHdjLEo0LFByLEtkLHRVLGVVLG5VLFlSLFdkLFhkLFBzLGN1PVooKCk9PnthcygpO1VlKCk7RnQoKTtGZSgpO0l0KCk7ZnQoKTtXdCgpO1VuKCk7V1IoKTtYUigpO3djPW5ldyBhLEo0PW5ldyBhLFByPW5ldyB0dCxLZD1uZXcgc3QsdFU9bmV3IHN0LGVVPU1hdGgucG93KDIsMTIpO01vLnByb3RvdHlwZS5lbmNvZGU9ZnVuY3Rpb24odCxlLG4sbyxyLGkscyxmKXtsZXQgdT1vLngsYz1vLnk7aWYodGhpcy5xdWFudGl6YXRpb249PT14ci5CSVRTMTIpe249c3QubXVsdGlwbHlCeVBvaW50KHRoaXMudG9TY2FsZWRFTlUsbix3Yyksbi54PU0uY2xhbXAobi54LDAsMSksbi55PU0uY2xhbXAobi55LDAsMSksbi56PU0uY2xhbXAobi56LDAsMSk7bGV0IGw9dGhpcy5tYXhpbXVtSGVpZ2h0LXRoaXMubWluaW11bUhlaWdodCxwPU0uY2xhbXAoKHItdGhpcy5taW5pbXVtSGVpZ2h0KS9sLDAsMSk7dHQuZnJvbUVsZW1lbnRzKG4ueCxuLnksUHIpO2xldCBkPW5uLmNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKFByKTt0dC5mcm9tRWxlbWVudHMobi56LHAsUHIpO2xldCBtPW5uLmNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKFByKTt0dC5mcm9tRWxlbWVudHModSxjLFByKTtsZXQgXz1ubi5jb21wcmVzc1RleHR1cmVDb29yZGluYXRlcyhQcik7aWYodFtlKytdPWQsdFtlKytdPW0sdFtlKytdPV8sdGhpcy5oYXNXZWJNZXJjYXRvclQpe3R0LmZyb21FbGVtZW50cyhzLDAsUHIpO2xldCBnPW5uLmNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKFByKTt0W2UrK109Z319ZWxzZSBhLnN1YnRyYWN0KG4sdGhpcy5jZW50ZXIsd2MpLHRbZSsrXT13Yy54LHRbZSsrXT13Yy55LHRbZSsrXT13Yy56LHRbZSsrXT1yLHRbZSsrXT11LHRbZSsrXT1jLHRoaXMuaGFzV2ViTWVyY2F0b3JUJiYodFtlKytdPXMpO3JldHVybiB0aGlzLmhhc1ZlcnRleE5vcm1hbHMmJih0W2UrK109bm4ub2N0UGFja0Zsb2F0KGkpKSx0aGlzLmhhc0dlb2RldGljU3VyZmFjZU5vcm1hbHMmJih0W2UrK109Zi54LHRbZSsrXT1mLnksdFtlKytdPWYueiksZX07blU9bmV3IGEsWVI9bmV3IGE7TW8ucHJvdG90eXBlLmFkZEdlb2RldGljU3VyZmFjZU5vcm1hbHM9ZnVuY3Rpb24odCxlLG4pe2lmKHRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscylyZXR1cm47bGV0IG89dGhpcy5zdHJpZGUscj10Lmxlbmd0aC9vO3RoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscz0hMCx0aGlzLl9jYWxjdWxhdGVTdHJpZGVBbmRPZmZzZXRzKCk7bGV0IGk9dGhpcy5zdHJpZGU7Zm9yKGxldCBzPTA7czxyO3MrKyl7Zm9yKGxldCBsPTA7bDxvO2wrKyl7bGV0IHA9cypvK2wsZD1zKmkrbDtlW2RdPXRbcF19bGV0IGY9dGhpcy5kZWNvZGVQb3NpdGlvbihlLHMsblUpLHU9bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZixZUiksYz1zKmkrdGhpcy5fb2Zmc2V0R2VvZGV0aWNTdXJmYWNlTm9ybWFsO2VbY109dS54LGVbYysxXT11LnksZVtjKzJdPXUuen19O01vLnByb3RvdHlwZS5yZW1vdmVHZW9kZXRpY1N1cmZhY2VOb3JtYWxzPWZ1bmN0aW9uKHQsZSl7aWYoIXRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscylyZXR1cm47bGV0IG49dGhpcy5zdHJpZGUsbz10Lmxlbmd0aC9uO3RoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscz0hMSx0aGlzLl9jYWxjdWxhdGVTdHJpZGVBbmRPZmZzZXRzKCk7bGV0IHI9dGhpcy5zdHJpZGU7Zm9yKGxldCBpPTA7aTxvO2krKylmb3IobGV0IHM9MDtzPHI7cysrKXtsZXQgZj1pKm4rcyx1PWkqcitzO2VbdV09dFtmXX19O01vLnByb3RvdHlwZS5kZWNvZGVQb3NpdGlvbj1mdW5jdGlvbih0LGUsbil7aWYoaChuKXx8KG49bmV3IGEpLGUqPXRoaXMuc3RyaWRlLHRoaXMucXVhbnRpemF0aW9uPT09eHIuQklUUzEyKXtsZXQgbz1ubi5kZWNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKHRbZV0sUHIpO24ueD1vLngsbi55PW8ueTtsZXQgcj1ubi5kZWNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKHRbZSsxXSxQcik7cmV0dXJuIG4uej1yLngsc3QubXVsdGlwbHlCeVBvaW50KHRoaXMuZnJvbVNjYWxlZEVOVSxuLG4pfXJldHVybiBuLng9dFtlXSxuLnk9dFtlKzFdLG4uej10W2UrMl0sYS5hZGQobix0aGlzLmNlbnRlcixuKX07TW8ucHJvdG90eXBlLmdldEV4YWdnZXJhdGVkUG9zaXRpb249ZnVuY3Rpb24odCxlLG4pe249dGhpcy5kZWNvZGVQb3NpdGlvbih0LGUsbik7bGV0IG89dGhpcy5leGFnZ2VyYXRpb24scj10aGlzLmV4YWdnZXJhdGlvblJlbGF0aXZlSGVpZ2h0O2lmKG8hPT0xJiZ0aGlzLmhhc0dlb2RldGljU3VyZmFjZU5vcm1hbHMpe2xldCBzPXRoaXMuZGVjb2RlR2VvZGV0aWNTdXJmYWNlTm9ybWFsKHQsZSxZUiksZj10aGlzLmRlY29kZUhlaWdodCh0LGUpLHU9S1IuZ2V0SGVpZ2h0KGYsbyxyKS1mO24ueCs9cy54KnUsbi55Kz1zLnkqdSxuLnorPXMueip1fXJldHVybiBufTtNby5wcm90b3R5cGUuZGVjb2RlVGV4dHVyZUNvb3JkaW5hdGVzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaChuKXx8KG49bmV3IHR0KSxlKj10aGlzLnN0cmlkZSx0aGlzLnF1YW50aXphdGlvbj09PXhyLkJJVFMxMj9ubi5kZWNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKHRbZSsyXSxuKTp0dC5mcm9tRWxlbWVudHModFtlKzRdLHRbZSs1XSxuKX07TW8ucHJvdG90eXBlLmRlY29kZUhlaWdodD1mdW5jdGlvbih0LGUpe3JldHVybiBlKj10aGlzLnN0cmlkZSx0aGlzLnF1YW50aXphdGlvbj09PXhyLkJJVFMxMj9ubi5kZWNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKHRbZSsxXSxQcikueSoodGhpcy5tYXhpbXVtSGVpZ2h0LXRoaXMubWluaW11bUhlaWdodCkrdGhpcy5taW5pbXVtSGVpZ2h0OnRbZSszXX07TW8ucHJvdG90eXBlLmRlY29kZVdlYk1lcmNhdG9yVD1mdW5jdGlvbih0LGUpe3JldHVybiBlKj10aGlzLnN0cmlkZSx0aGlzLnF1YW50aXphdGlvbj09PXhyLkJJVFMxMj9ubi5kZWNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKHRbZSszXSxQcikueDp0W2UrNl19O01vLnByb3RvdHlwZS5nZXRPY3RFbmNvZGVkTm9ybWFsPWZ1bmN0aW9uKHQsZSxuKXtlPWUqdGhpcy5zdHJpZGUrdGhpcy5fb2Zmc2V0VmVydGV4Tm9ybWFsO2xldCBvPXRbZV0vMjU2LHI9TWF0aC5mbG9vcihvKSxpPShvLXIpKjI1NjtyZXR1cm4gdHQuZnJvbUVsZW1lbnRzKHIsaSxuKX07TW8ucHJvdG90eXBlLmRlY29kZUdlb2RldGljU3VyZmFjZU5vcm1hbD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGU9ZSp0aGlzLnN0cmlkZSt0aGlzLl9vZmZzZXRHZW9kZXRpY1N1cmZhY2VOb3JtYWwsbi54PXRbZV0sbi55PXRbZSsxXSxuLno9dFtlKzJdLG59O01vLnByb3RvdHlwZS5fY2FsY3VsYXRlU3RyaWRlQW5kT2Zmc2V0cz1mdW5jdGlvbigpe2xldCB0PTA7c3dpdGNoKHRoaXMucXVhbnRpemF0aW9uKXtjYXNlIHhyLkJJVFMxMjp0Kz0zO2JyZWFrO2RlZmF1bHQ6dCs9Nn10aGlzLmhhc1dlYk1lcmNhdG9yVCYmKHQrPTEpLHRoaXMuaGFzVmVydGV4Tm9ybWFscyYmKHRoaXMuX29mZnNldFZlcnRleE5vcm1hbD10LHQrPTEpLHRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscyYmKHRoaXMuX29mZnNldEdlb2RldGljU3VyZmFjZU5vcm1hbD10LHQrPTMpLHRoaXMuc3RyaWRlPXR9O1dkPXtwb3NpdGlvbjNEQW5kSGVpZ2h0OjAsdGV4dHVyZUNvb3JkQW5kRW5jb2RlZE5vcm1hbHM6MSxnZW9kZXRpY1N1cmZhY2VOb3JtYWw6Mn0sWGQ9e2NvbXByZXNzZWQwOjAsY29tcHJlc3NlZDE6MSxnZW9kZXRpY1N1cmZhY2VOb3JtYWw6Mn07TW8ucHJvdG90eXBlLmdldEF0dHJpYnV0ZXM9ZnVuY3Rpb24odCl7bGV0IGU9bnQuRkxPQVQsbj1udC5nZXRTaXplSW5CeXRlcyhlKSxvPXRoaXMuc3RyaWRlKm4scj0wLGk9W107ZnVuY3Rpb24gcyhmLHUpe2kucHVzaCh7aW5kZXg6Zix2ZXJ0ZXhCdWZmZXI6dCxjb21wb25lbnREYXRhdHlwZTplLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6dSxvZmZzZXRJbkJ5dGVzOnIsc3RyaWRlSW5CeXRlczpvfSkscis9dSpufWlmKHRoaXMucXVhbnRpemF0aW9uPT09eHIuTk9ORSl7cyhXZC5wb3NpdGlvbjNEQW5kSGVpZ2h0LDQpO2xldCBmPTI7Zis9dGhpcy5oYXNXZWJNZXJjYXRvclQ/MTowLGYrPXRoaXMuaGFzVmVydGV4Tm9ybWFscz8xOjAscyhXZC50ZXh0dXJlQ29vcmRBbmRFbmNvZGVkTm9ybWFscyxmKSx0aGlzLmhhc0dlb2RldGljU3VyZmFjZU5vcm1hbHMmJnMoV2QuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsLDMpfWVsc2V7bGV0IGY9dGhpcy5oYXNXZWJNZXJjYXRvclR8fHRoaXMuaGFzVmVydGV4Tm9ybWFscyx1PXRoaXMuaGFzV2ViTWVyY2F0b3JUJiZ0aGlzLmhhc1ZlcnRleE5vcm1hbHM7cyhYZC5jb21wcmVzc2VkMCxmPzQ6MyksdSYmcyhYZC5jb21wcmVzc2VkMSwxKSx0aGlzLmhhc0dlb2RldGljU3VyZmFjZU5vcm1hbHMmJnMoWGQuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsLDMpfXJldHVybiBpfTtNby5wcm90b3R5cGUuZ2V0QXR0cmlidXRlTG9jYXRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucXVhbnRpemF0aW9uPT09eHIuTk9ORT9XZDpYZH07TW8uY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpfHwoZT1uZXcgTW8pLGUucXVhbnRpemF0aW9uPXQucXVhbnRpemF0aW9uLGUubWluaW11bUhlaWdodD10Lm1pbmltdW1IZWlnaHQsZS5tYXhpbXVtSGVpZ2h0PXQubWF4aW11bUhlaWdodCxlLmNlbnRlcj1hLmNsb25lKHQuY2VudGVyKSxlLnRvU2NhbGVkRU5VPXN0LmNsb25lKHQudG9TY2FsZWRFTlUpLGUuZnJvbVNjYWxlZEVOVT1zdC5jbG9uZSh0LmZyb21TY2FsZWRFTlUpLGUubWF0cml4PXN0LmNsb25lKHQubWF0cml4KSxlLmhhc1ZlcnRleE5vcm1hbHM9dC5oYXNWZXJ0ZXhOb3JtYWxzLGUuaGFzV2ViTWVyY2F0b3JUPXQuaGFzV2ViTWVyY2F0b3JULGUuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscz10Lmhhc0dlb2RldGljU3VyZmFjZU5vcm1hbHMsZS5leGFnZ2VyYXRpb249dC5leGFnZ2VyYXRpb24sZS5leGFnZ2VyYXRpb25SZWxhdGl2ZUhlaWdodD10LmV4YWdnZXJhdGlvblJlbGF0aXZlSGVpZ2h0LGUuX2NhbGN1bGF0ZVN0cmlkZUFuZE9mZnNldHMoKSxlfTtQcz1Nb30pO3ZhciBzZz17fTtkZShzZyx7ZGVmYXVsdDooKT0+dVV9KTtmdW5jdGlvbiBhdSh0LGUsbil7bj14KG4sTSk7bGV0IG89dC5sZW5ndGg7Zm9yKGxldCByPTA7cjxvOysrcilpZihuLmVxdWFsc0Vwc2lsb24odFtyXSxlLE0uRVBTSUxPTjEyKSlyZXR1cm4gcjtyZXR1cm4tMX1mdW5jdGlvbiBpVSh0LGUpe3QuZWxsaXBzb2lkPSQuY2xvbmUodC5lbGxpcHNvaWQpLHQucmVjdGFuZ2xlPU50LmNsb25lKHQucmVjdGFuZ2xlKTtsZXQgbj1mVSh0LmJ1ZmZlcix0LnJlbGF0aXZlVG9DZW50ZXIsdC5lbGxpcHNvaWQsdC5yZWN0YW5nbGUsdC5uYXRpdmVSZWN0YW5nbGUsdC5leGFnZ2VyYXRpb24sdC5leGFnZ2VyYXRpb25SZWxhdGl2ZUhlaWdodCx0LnNraXJ0SGVpZ2h0LHQuaW5jbHVkZVdlYk1lcmNhdG9yVCx0Lm5lZ2F0aXZlQWx0aXR1ZGVFeHBvbmVudEJpYXMsdC5uZWdhdGl2ZUVsZXZhdGlvblRocmVzaG9sZCksbz1uLnZlcnRpY2VzO2UucHVzaChvLmJ1ZmZlcik7bGV0IHI9bi5pbmRpY2VzO3JldHVybiBlLnB1c2goci5idWZmZXIpLHt2ZXJ0aWNlczpvLmJ1ZmZlcixpbmRpY2VzOnIuYnVmZmVyLG51bWJlck9mQXR0cmlidXRlczpuLmVuY29kaW5nLnN0cmlkZSxtaW5pbXVtSGVpZ2h0Om4ubWluaW11bUhlaWdodCxtYXhpbXVtSGVpZ2h0Om4ubWF4aW11bUhlaWdodCxib3VuZGluZ1NwaGVyZTNEOm4uYm91bmRpbmdTcGhlcmUzRCxvcmllbnRlZEJvdW5kaW5nQm94Om4ub3JpZW50ZWRCb3VuZGluZ0JveCxvY2NsdWRlZVBvaW50SW5TY2FsZWRTcGFjZTpuLm9jY2x1ZGVlUG9pbnRJblNjYWxlZFNwYWNlLGVuY29kaW5nOm4uZW5jb2RpbmcsdmVydGV4Q291bnRXaXRob3V0U2tpcnRzOm4udmVydGV4Q291bnRXaXRob3V0U2tpcnRzLGluZGV4Q291bnRXaXRob3V0U2tpcnRzOm4uaW5kZXhDb3VudFdpdGhvdXRTa2lydHMsd2VzdEluZGljZXNTb3V0aFRvTm9ydGg6bi53ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aCxzb3V0aEluZGljZXNFYXN0VG9XZXN0Om4uc291dGhJbmRpY2VzRWFzdFRvV2VzdCxlYXN0SW5kaWNlc05vcnRoVG9Tb3V0aDpuLmVhc3RJbmRpY2VzTm9ydGhUb1NvdXRoLG5vcnRoSW5kaWNlc1dlc3RUb0Vhc3Q6bi5ub3J0aEluZGljZXNXZXN0VG9FYXN0fX1mdW5jdGlvbiBmVSh0LGUsbixvLHIsaSxzLGYsdSxjLGwpe2xldCBwLGQsbSxfLGcsYjtoKG8pPyhwPW8ud2VzdCxkPW8uc291dGgsbT1vLmVhc3QsXz1vLm5vcnRoLGc9by53aWR0aCxiPW8uaGVpZ2h0KToocD1NLnRvUmFkaWFucyhyLndlc3QpLGQ9TS50b1JhZGlhbnMoci5zb3V0aCksbT1NLnRvUmFkaWFucyhyLmVhc3QpLF89TS50b1JhZGlhbnMoci5ub3J0aCksZz1NLnRvUmFkaWFucyhvLndpZHRoKSxiPU0udG9SYWRpYW5zKG8uaGVpZ2h0KSk7bGV0IFQ9W2QsX10sTz1bcCxtXSxFPVhvLmVhc3ROb3J0aFVwVG9GaXhlZEZyYW1lKGUsbiksdz1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24oRSxhVSksQyxOO3UmJihDPW5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUoZCksTj0xLyhuby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlKF8pLUMpKTtsZXQgRD1pIT09MSx2PW5ldyBEYXRhVmlldyh0KSxMPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxVPU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxBPXNVO0EueD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksQS55PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxBLno9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2xldCBTPWNVO1MueD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksUy55PU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxTLno9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2xldCBQPTAsQj0wLGo9MCxILGs7Zm9yKGs9MDtrPDQ7KytrKXtsZXQgcmU9UDtIPXYuZ2V0VWludDMyKHJlLCEwKSxyZSs9aWc7bGV0ICR0PU0udG9SYWRpYW5zKHYuZ2V0RmxvYXQ2NChyZSwhMCkqMTgwKTtyZSs9T2MsYXUoTywkdCk9PT0tMSYmTy5wdXNoKCR0KTtsZXQgR2U9TS50b1JhZGlhbnModi5nZXRGbG9hdDY0KHJlLCEwKSoxODApO3JlKz1PYyxhdShULEdlKT09PS0xJiZULnB1c2goR2UpLHJlKz0yKk9jO2xldCBkbj12LmdldEludDMyKHJlLCEwKTtyZSs9WWQsQis9ZG4sZG49di5nZXRJbnQzMihyZSwhMCksais9ZG4qMyxQKz1IK2lnfWxldCBLPVtdLFg9W10sUj1uZXcgQXJyYXkoQiksb3Q9bmV3IEFycmF5KEIpLGF0PW5ldyBBcnJheShCKSxwdD11P25ldyBBcnJheShCKTpbXSx5dD1EP25ldyBBcnJheShCKTpbXSxydD1uZXcgQXJyYXkoaiksUHQ9W10sZ3Q9W10sQ3Q9W10sbXQ9W10sdXQ9MCx2dD0wO2ZvcihQPTAsaz0wO2s8NDsrK2spe0g9di5nZXRVaW50MzIoUCwhMCksUCs9aWc7bGV0IHJlPVAsJHQ9TS50b1JhZGlhbnModi5nZXRGbG9hdDY0KFAsITApKjE4MCk7UCs9T2M7bGV0IEdlPU0udG9SYWRpYW5zKHYuZ2V0RmxvYXQ2NChQLCEwKSoxODApO1ArPU9jO2xldCBkbj1NLnRvUmFkaWFucyh2LmdldEZsb2F0NjQoUCwhMCkqMTgwKSxzbj1kbiouNTtQKz1PYztsZXQgbW49TS50b1JhZGlhbnModi5nZXRGbG9hdDY0KFAsITApKjE4MCksZm89bW4qLjU7UCs9T2M7bGV0IEhuPXYuZ2V0SW50MzIoUCwhMCk7UCs9WWQ7bGV0IFplPXYuZ2V0SW50MzIoUCwhMCk7UCs9WWQsUCs9WWQ7bGV0IGNuPW5ldyBBcnJheShIbik7Zm9yKGxldCBobj0wO2huPEhuOysraG4pe2xldCB1bz0kdCt2LmdldFVpbnQ4KFArKykqZG47Tm8ubG9uZ2l0dWRlPXVvO2xldCBxbj1HZSt2LmdldFVpbnQ4KFArKykqbW47Tm8ubGF0aXR1ZGU9cW47bGV0IEtuPXYuZ2V0RmxvYXQzMihQLCEwKTtpZihQKz1yVSxLbiE9PTAmJktuPGwmJihLbio9LU1hdGgucG93KDIsYykpLEtuKj02MzcxMDEwLE5vLmhlaWdodD1LbixhdShPLHVvKSE9PS0xfHxhdShULHFuKSE9PS0xKXtsZXQgRG49YXUoSyxObyxjdCk7aWYoRG49PT0tMSlLLnB1c2goY3QuY2xvbmUoTm8pKSxYLnB1c2godXQpO2Vsc2V7Y25baG5dPVhbRG5dO2NvbnRpbnVlfX1jbltobl09dXQsTWF0aC5hYnModW8tcCk8c24/UHQucHVzaCh7aW5kZXg6dXQsY2FydG9ncmFwaGljOmN0LmNsb25lKE5vKX0pOk1hdGguYWJzKHVvLW0pPHNuP0N0LnB1c2goe2luZGV4OnV0LGNhcnRvZ3JhcGhpYzpjdC5jbG9uZShObyl9KTpNYXRoLmFicyhxbi1kKTxmbz9ndC5wdXNoKHtpbmRleDp1dCxjYXJ0b2dyYXBoaWM6Y3QuY2xvbmUoTm8pfSk6TWF0aC5hYnMocW4tXyk8Zm8mJm10LnB1c2goe2luZGV4OnV0LGNhcnRvZ3JhcGhpYzpjdC5jbG9uZShObyl9KSxMPU1hdGgubWluKEtuLEwpLFU9TWF0aC5tYXgoS24sVSksYXRbdXRdPUtuO2xldCBsbz1uLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKE5vKTtpZihSW3V0XT1sbyx1JiYocHRbdXRdPShuby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlKHFuKS1DKSpOKSxEKXtsZXQgRG49bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobG8pO3l0W3V0XT1Ebn1zdC5tdWx0aXBseUJ5UG9pbnQodyxsbyxVYSksYS5taW5pbXVtQnlDb21wb25lbnQoVWEsQSxBKSxhLm1heGltdW1CeUNvbXBvbmVudChVYSxTLFMpO2xldCB6ZT0odW8tcCkvKG0tcCk7emU9TS5jbGFtcCh6ZSwwLDEpO2xldCBMZT0ocW4tZCkvKF8tZCk7TGU9TS5jbGFtcChMZSwwLDEpLG90W3V0XT1uZXcgdHQoemUsTGUpLCsrdXR9bGV0IEtlPVplKjM7Zm9yKGxldCBobj0wO2huPEtlOysraG4sKyt2dClydFt2dF09Y25bdi5nZXRVaW50MTYoUCwhMCldLFArPW9VO2lmKEghPT1QLXJlKXRocm93IG5ldyBBZSgiSW52YWxpZCB0ZXJyYWluIHRpbGUuIil9Ui5sZW5ndGg9dXQsb3QubGVuZ3RoPXV0LGF0Lmxlbmd0aD11dCx1JiYocHQubGVuZ3RoPXV0KSxEJiYoeXQubGVuZ3RoPXV0KTtsZXQgenQ9dXQsbWU9dnQsYWU9e2hNaW46TCxsYXN0Qm9yZGVyUG9pbnQ6dm9pZCAwLHNraXJ0SGVpZ2h0OmYsdG9FTlU6dyxlbGxpcHNvaWQ6bixtaW5pbXVtOkEsbWF4aW11bTpTfTtQdC5zb3J0KGZ1bmN0aW9uKHJlLCR0KXtyZXR1cm4gJHQuY2FydG9ncmFwaGljLmxhdGl0dWRlLXJlLmNhcnRvZ3JhcGhpYy5sYXRpdHVkZX0pLGd0LnNvcnQoZnVuY3Rpb24ocmUsJHQpe3JldHVybiByZS5jYXJ0b2dyYXBoaWMubG9uZ2l0dWRlLSR0LmNhcnRvZ3JhcGhpYy5sb25naXR1ZGV9KSxDdC5zb3J0KGZ1bmN0aW9uKHJlLCR0KXtyZXR1cm4gcmUuY2FydG9ncmFwaGljLmxhdGl0dWRlLSR0LmNhcnRvZ3JhcGhpYy5sYXRpdHVkZX0pLG10LnNvcnQoZnVuY3Rpb24ocmUsJHQpe3JldHVybiAkdC5jYXJ0b2dyYXBoaWMubG9uZ2l0dWRlLXJlLmNhcnRvZ3JhcGhpYy5sb25naXR1ZGV9KTtsZXQgcGU9MWUtNTtpZigkZChSLGF0LG90LHB0LHl0LHJ0LGFlLFB0LC1wZSpnLCEwLC1wZSpiKSwkZChSLGF0LG90LHB0LHl0LHJ0LGFlLGd0LC1wZSpiLCExKSwkZChSLGF0LG90LHB0LHl0LHJ0LGFlLEN0LHBlKmcsITAscGUqYiksJGQoUixhdCxvdCxwdCx5dCxydCxhZSxtdCxwZSpiLCExKSxQdC5sZW5ndGg+MCYmbXQubGVuZ3RoPjApe2xldCByZT1QdFswXS5pbmRleCwkdD16dCxHZT1tdFttdC5sZW5ndGgtMV0uaW5kZXgsZG49Ui5sZW5ndGgtMTtydC5wdXNoKEdlLGRuLCR0LCR0LHJlLEdlKX1CPVIubGVuZ3RoO2xldCB1ZT1BdC5mcm9tUG9pbnRzKFIpLFF0O2gobykmJihRdD1Tby5mcm9tUmVjdGFuZ2xlKG8sTCxVLG4pKTtsZXQgTmU9bmV3IHhzKG4pLmNvbXB1dGVIb3Jpem9uQ3VsbGluZ1BvaW50UG9zc2libHlVbmRlckVsbGlwc29pZChlLFIsTCksZ2U9bmV3IERpKEEsUyxlKSxFZT1uZXcgUHMoZSxnZSxhZS5oTWluLFUsRSwhMSx1LEQsaSxzKSx1bj1uZXcgRmxvYXQzMkFycmF5KEIqRWUuc3RyaWRlKSxrZT0wO2ZvcihsZXQgcmU9MDtyZTxCOysrcmUpa2U9RWUuZW5jb2RlKHVuLGtlLFJbcmVdLG90W3JlXSxhdFtyZV0sdm9pZCAwLHB0W3JlXSx5dFtyZV0pO2xldCBiZT1QdC5tYXAoZnVuY3Rpb24ocmUpe3JldHVybiByZS5pbmRleH0pLnJldmVyc2UoKSxsbj1ndC5tYXAoZnVuY3Rpb24ocmUpe3JldHVybiByZS5pbmRleH0pLnJldmVyc2UoKSxwbj1DdC5tYXAoZnVuY3Rpb24ocmUpe3JldHVybiByZS5pbmRleH0pLnJldmVyc2UoKSxFbj1tdC5tYXAoZnVuY3Rpb24ocmUpe3JldHVybiByZS5pbmRleH0pLnJldmVyc2UoKTtyZXR1cm4gbG4udW5zaGlmdChwbltwbi5sZW5ndGgtMV0pLGxuLnB1c2goYmVbMF0pLEVuLnVuc2hpZnQoYmVbYmUubGVuZ3RoLTFdKSxFbi5wdXNoKHBuWzBdKSx7dmVydGljZXM6dW4saW5kaWNlczpuZXcgVWludDE2QXJyYXkocnQpLG1heGltdW1IZWlnaHQ6VSxtaW5pbXVtSGVpZ2h0OkwsZW5jb2Rpbmc6RWUsYm91bmRpbmdTcGhlcmUzRDp1ZSxvcmllbnRlZEJvdW5kaW5nQm94OlF0LG9jY2x1ZGVlUG9pbnRJblNjYWxlZFNwYWNlOk5lLHZlcnRleENvdW50V2l0aG91dFNraXJ0czp6dCxpbmRleENvdW50V2l0aG91dFNraXJ0czptZSx3ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aDpiZSxzb3V0aEluZGljZXNFYXN0VG9XZXN0OmxuLGVhc3RJbmRpY2VzTm9ydGhUb1NvdXRoOnBuLG5vcnRoSW5kaWNlc1dlc3RUb0Vhc3Q6RW59fWZ1bmN0aW9uICRkKHQsZSxuLG8scixpLHMsZix1LGMsbCl7bGV0IHA9Zi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxwOysrZCl7bGV0IG09ZltkXSxfPW0uY2FydG9ncmFwaGljLGc9bS5pbmRleCxiPXQubGVuZ3RoLFQ9Xy5sb25naXR1ZGUsTz1fLmxhdGl0dWRlO089TS5jbGFtcChPLC1NLlBJX09WRVJfVFdPLE0uUElfT1ZFUl9UV08pO2xldCBFPV8uaGVpZ2h0LXMuc2tpcnRIZWlnaHQ7cy5oTWluPU1hdGgubWluKHMuaE1pbixFKSxjdC5mcm9tUmFkaWFucyhULE8sRSxObyksYyYmKE5vLmxvbmdpdHVkZSs9dSksYz9kPT09cC0xP05vLmxhdGl0dWRlKz1sOmQ9PT0wJiYoTm8ubGF0aXR1ZGUtPWwpOk5vLmxhdGl0dWRlKz11O2xldCB3PXMuZWxsaXBzb2lkLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKE5vKTt0LnB1c2godyksZS5wdXNoKEUpLG4ucHVzaCh0dC5jbG9uZShuW2ddKSksby5sZW5ndGg+MCYmby5wdXNoKG9bZ10pLHIubGVuZ3RoPjAmJnIucHVzaChyW2ddKSxzdC5tdWx0aXBseUJ5UG9pbnQocy50b0VOVSx3LFVhKTtsZXQgQz1zLm1pbmltdW0sTj1zLm1heGltdW07YS5taW5pbXVtQnlDb21wb25lbnQoVWEsQyxDKSxhLm1heGltdW1CeUNvbXBvbmVudChVYSxOLE4pO2xldCBJPXMubGFzdEJvcmRlclBvaW50O2lmKGgoSSkpe2xldCBEPUkuaW5kZXg7aS5wdXNoKEQsYi0xLGIsYixnLEQpfXMubGFzdEJvcmRlclBvaW50PW19fXZhciBvVSxZZCxpZyxyVSxPYyxObyxVYSxzVSxjVSxhVSx1VSxjZz1aKCgpPT57TWYoKTt2ZSgpO1VlKCk7RnQoKTtJZSgpO0l0KCk7ZnQoKTtadCgpO3N1KCk7V3QoKTtVbigpO2RhKCk7d24oKTtKcigpO2N1KCk7Y3MoKTtpYygpO3NvKCk7b1U9VWludDE2QXJyYXkuQllURVNfUEVSX0VMRU1FTlQsWWQ9SW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCxpZz1VaW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCxyVT1GbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsT2M9RmxvYXQ2NEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO05vPW5ldyBjdCxVYT1uZXcgYSxzVT1uZXcgYSxjVT1uZXcgYSxhVT1uZXcgc3Q7dVU9UWUoaVUpfSk7dmFyIGxVLCRSLFpSPVooKCk9PntsVT17Tk9ORTowLExFUkM6MX0sJFI9T2JqZWN0LmZyZWV6ZShsVSl9KTt2YXIgX2ksYWcscFUsZFUsbVUsUVIsSlI9WigoKT0+e01mKCk7dmUoKTtVZSgpO0Z0KCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtzdSgpO1d0KCk7VW4oKTtkYSgpO3duKCk7Y3UoKTtjcygpO2ljKCk7X2k9e307X2kuREVGQVVMVF9TVFJVQ1RVUkU9T2JqZWN0LmZyZWV6ZSh7aGVpZ2h0U2NhbGU6MSxoZWlnaHRPZmZzZXQ6MCxlbGVtZW50c1BlckhlaWdodDoxLHN0cmlkZToxLGVsZW1lbnRNdWx0aXBsaWVyOjI1Nixpc0JpZ0VuZGlhbjohMX0pO2FnPW5ldyBhLHBVPW5ldyBzdCxkVT1uZXcgYSxtVT1uZXcgYTtfaS5jb21wdXRlVmVydGljZXM9ZnVuY3Rpb24odCl7aWYoIWgodCl8fCFoKHQuaGVpZ2h0bWFwKSl0aHJvdyBuZXcgRigib3B0aW9ucy5oZWlnaHRtYXAgaXMgcmVxdWlyZWQuIik7aWYoIWgodC53aWR0aCl8fCFoKHQuaGVpZ2h0KSl0aHJvdyBuZXcgRigib3B0aW9ucy53aWR0aCBhbmQgb3B0aW9ucy5oZWlnaHQgYXJlIHJlcXVpcmVkLiIpO2lmKCFoKHQubmF0aXZlUmVjdGFuZ2xlKSl0aHJvdyBuZXcgRigib3B0aW9ucy5uYXRpdmVSZWN0YW5nbGUgaXMgcmVxdWlyZWQuIik7aWYoIWgodC5za2lydEhlaWdodCkpdGhyb3cgbmV3IEYoIm9wdGlvbnMuc2tpcnRIZWlnaHQgaXMgcmVxdWlyZWQuIik7bGV0IGU9TWF0aC5jb3Msbj1NYXRoLnNpbixvPU1hdGguc3FydCxyPU1hdGguYXRhbixpPU1hdGguZXhwLHM9TS5QSV9PVkVSX1RXTyxmPU0udG9SYWRpYW5zLHU9dC5oZWlnaHRtYXAsYz10LndpZHRoLGw9dC5oZWlnaHQscD10LnNraXJ0SGVpZ2h0LGQ9cD4wLG09eCh0LmlzR2VvZ3JhcGhpYywhMCksXz14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCksZz0xL18ubWF4aW11bVJhZGl1cyxiPU50LmNsb25lKHQubmF0aXZlUmVjdGFuZ2xlKSxUPU50LmNsb25lKHQucmVjdGFuZ2xlKSxPLEUsdyxDO2goVCk/KE89VC53ZXN0LEU9VC5zb3V0aCx3PVQuZWFzdCxDPVQubm9ydGgpOm0/KE89ZihiLndlc3QpLEU9ZihiLnNvdXRoKSx3PWYoYi5lYXN0KSxDPWYoYi5ub3J0aCkpOihPPWIud2VzdCpnLEU9cy0yKnIoaSgtYi5zb3V0aCpnKSksdz1iLmVhc3QqZyxDPXMtMipyKGkoLWIubm9ydGgqZykpKTtsZXQgTj10LnJlbGF0aXZlVG9DZW50ZXIsST1oKE4pO049ST9OOmEuWkVSTztsZXQgRD14KHQuaW5jbHVkZVdlYk1lcmNhdG9yVCwhMSksdj14KHQuZXhhZ2dlcmF0aW9uLDEpLEw9eCh0LmV4YWdnZXJhdGlvblJlbGF0aXZlSGVpZ2h0LDApLEE9diE9PTEsUz14KHQuc3RydWN0dXJlLF9pLkRFRkFVTFRfU1RSVUNUVVJFKSxQPXgoUy5oZWlnaHRTY2FsZSxfaS5ERUZBVUxUX1NUUlVDVFVSRS5oZWlnaHRTY2FsZSksQj14KFMuaGVpZ2h0T2Zmc2V0LF9pLkRFRkFVTFRfU1RSVUNUVVJFLmhlaWdodE9mZnNldCksaj14KFMuZWxlbWVudHNQZXJIZWlnaHQsX2kuREVGQVVMVF9TVFJVQ1RVUkUuZWxlbWVudHNQZXJIZWlnaHQpLEg9eChTLnN0cmlkZSxfaS5ERUZBVUxUX1NUUlVDVFVSRS5zdHJpZGUpLGs9eChTLmVsZW1lbnRNdWx0aXBsaWVyLF9pLkRFRkFVTFRfU1RSVUNUVVJFLmVsZW1lbnRNdWx0aXBsaWVyKSxLPXgoUy5pc0JpZ0VuZGlhbixfaS5ERUZBVUxUX1NUUlVDVFVSRS5pc0JpZ0VuZGlhbiksWD1OdC5jb21wdXRlV2lkdGgoYiksUj1OdC5jb21wdXRlSGVpZ2h0KGIpLG90PVgvKGMtMSksYXQ9Ui8obC0xKTttfHwoWCo9ZyxSKj1nKTtsZXQgcHQ9Xy5yYWRpaVNxdWFyZWQseXQ9cHQueCxydD1wdC55LFB0PXB0LnosZ3Q9NjU1MzYsQ3Q9LTY1NTM2LG10PVhvLmVhc3ROb3J0aFVwVG9GaXhlZEZyYW1lKE4sXyksdXQ9c3QuaW52ZXJzZVRyYW5zZm9ybWF0aW9uKG10LHBVKSx2dCx6dDtEJiYodnQ9bm8uZ2VvZGV0aWNMYXRpdHVkZVRvTWVyY2F0b3JBbmdsZShFKSx6dD0xLyhuby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlKEMpLXZ0KSk7bGV0IG1lPWRVO21lLng9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLG1lLnk9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLG1lLno9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2xldCBhZT1tVTthZS54PU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxhZS55PU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxhZS56PU51bWJlci5ORUdBVElWRV9JTkZJTklUWTtsZXQgcGU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHVlPWMqbCxRdD1wPjA/YyoyK2wqMjowLEp0PXVlK1F0LE5lPW5ldyBBcnJheShKdCksZ2U9bmV3IEFycmF5KEp0KSxFZT1uZXcgQXJyYXkoSnQpLHVuPUQ/bmV3IEFycmF5KEp0KTpbXSxrZT1BP25ldyBBcnJheShKdCk6W10sYmU9MCxsbj1sLHBuPTAsRW49YztkJiYoLS1iZSwrK2xuLC0tcG4sKytFbik7bGV0IHJlPTFlLTU7Zm9yKGxldCBaZT1iZTtaZTxsbjsrK1plKXtsZXQgY249WmU7Y248MCYmKGNuPTApLGNuPj1sJiYoY249bC0xKTtsZXQgS2U9Yi5ub3J0aC1hdCpjbjttP0tlPWYoS2UpOktlPXMtMipyKGkoLUtlKmcpKTtsZXQgaG49KEtlLUUpLyhDLUUpO2huPU0uY2xhbXAoaG4sMCwxKTtsZXQgdW89WmU9PT1iZSxxbj1aZT09PWxuLTE7cD4wJiYodW8/S2UrPXJlKlI6cW4mJihLZS09cmUqUikpO2xldCBLbj1lKEtlKSxsbz1uKEtlKSx6ZT1QdCpsbyxMZTtEJiYoTGU9KG5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUoS2UpLXZ0KSp6dCk7Zm9yKGxldCBEbj1wbjtEbjxFbjsrK0RuKXtsZXQgV249RG47V248MCYmKFduPTApLFduPj1jJiYoV249Yy0xKTtsZXQgem89Y24qKGMqSCkrV24qSCxybjtpZihqPT09MSlybj11W3pvXTtlbHNle3JuPTA7bGV0IHBvO2lmKEspZm9yKHBvPTA7cG88ajsrK3BvKXJuPXJuKmsrdVt6bytwb107ZWxzZSBmb3IocG89ai0xO3BvPj0wOy0tcG8pcm49cm4qayt1W3pvK3BvXX1ybj1ybipQK0IsQ3Q9TWF0aC5tYXgoQ3Qscm4pLGd0PU1hdGgubWluKGd0LHJuKTtsZXQgUm49Yi53ZXN0K290KlduO20/Um49ZihSbik6Um49Um4qZztsZXQgYXI9KFJuLU8pLyh3LU8pO2FyPU0uY2xhbXAoYXIsMCwxKTtsZXQgUW49Y24qYytXbjtpZihwPjApe2xldCBwbz1Ebj09PXBuLHZyPURuPT09RW4tMSxNYz11b3x8cW58fHBvfHx2cjtpZigodW98fHFuKSYmKHBvfHx2cikpY29udGludWU7TWMmJihybi09cCxwbz8oUW49dWUrKGwtY24tMSksUm4tPXJlKlgpOnFuP1FuPXVlK2wrKGMtV24tMSk6dnI/KFFuPXVlK2wrYytjbixSbis9cmUqWCk6dW8mJihRbj11ZStsK2MrbCtXbikpfWxldCBqbz1LbiplKFJuKSxOcj1LbipuKFJuKSxOcz15dCpqbyxJcz1ydCpOcixJcj0xL28oTnMqam8rSXMqTnIremUqbG8pLCRpPU5zKklyLHZzPUlzKklyLGJpPXplKklyLG9vPW5ldyBhO29vLng9JGkram8qcm4sb28ueT12cytOcipybixvby56PWJpK2xvKnJuLHN0Lm11bHRpcGx5QnlQb2ludCh1dCxvbyxhZyksYS5taW5pbXVtQnlDb21wb25lbnQoYWcsbWUsbWUpLGEubWF4aW11bUJ5Q29tcG9uZW50KGFnLGFlLGFlKSxwZT1NYXRoLm1pbihwZSxybiksTmVbUW5dPW9vLEVlW1FuXT1uZXcgdHQoYXIsaG4pLGdlW1FuXT1ybixEJiYodW5bUW5dPUxlKSxBJiYoa2VbUW5dPV8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKG9vKSl9fWxldCAkdD1BdC5mcm9tUG9pbnRzKE5lKSxHZTtoKFQpJiYoR2U9U28uZnJvbVJlY3RhbmdsZShULGd0LEN0LF8pKTtsZXQgZG47SSYmKGRuPW5ldyB4cyhfKS5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludFBvc3NpYmx5VW5kZXJFbGxpcHNvaWQoTixOZSxndCkpO2xldCBzbj1uZXcgRGkobWUsYWUsTiksbW49bmV3IFBzKE4sc24scGUsQ3QsbXQsITEsRCxBLHYsTCksZm89bmV3IEZsb2F0MzJBcnJheShKdCptbi5zdHJpZGUpLEhuPTA7Zm9yKGxldCBaZT0wO1plPEp0OysrWmUpSG49bW4uZW5jb2RlKGZvLEhuLE5lW1plXSxFZVtaZV0sZ2VbWmVdLHZvaWQgMCx1bltaZV0sa2VbWmVdKTtyZXR1cm57dmVydGljZXM6Zm8sbWF4aW11bUhlaWdodDpDdCxtaW5pbXVtSGVpZ2h0Omd0LGVuY29kaW5nOm1uLGJvdW5kaW5nU3BoZXJlM0Q6JHQsb3JpZW50ZWRCb3VuZGluZ0JveDpHZSxvY2NsdWRlZVBvaW50SW5TY2FsZWRTcGFjZTpkbn19O1FSPV9pfSk7dmFyIHQyPVhuKCh5ZnQsWmQpPT57LyogQ29weXJpZ2h0IDIwMTUtMjAxOCBFc3JpLiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgIkxpY2Vuc2UiKTsgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXQgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wIEBwcmVzZXJ2ZSAqLyhmdW5jdGlvbigpe3ZhciB0PWZ1bmN0aW9uKCl7dmFyIHI9e307ci5kZWZhdWx0Tm9EYXRhVmFsdWU9LTM0MDI3OTk5Mzg3OTAxNDg0ZTIyLHIuZGVjb2RlPWZ1bmN0aW9uKGwscCl7cD1wfHx7fTt2YXIgZD1wLmVuY29kZWRNYXNrRGF0YXx8cC5lbmNvZGVkTWFza0RhdGE9PT1udWxsLG09dShsLHAuaW5wdXRPZmZzZXR8fDAsZCksXz1wLm5vRGF0YVZhbHVlIT09bnVsbD9wLm5vRGF0YVZhbHVlOnIuZGVmYXVsdE5vRGF0YVZhbHVlLGc9aShtLHAucGl4ZWxUeXBlfHxGbG9hdDMyQXJyYXkscC5lbmNvZGVkTWFza0RhdGEsXyxwLnJldHVybk1hc2spLGI9e3dpZHRoOm0ud2lkdGgsaGVpZ2h0Om0uaGVpZ2h0LHBpeGVsRGF0YTpnLnJlc3VsdFBpeGVscyxtaW5WYWx1ZTpnLm1pblZhbHVlLG1heFZhbHVlOm0ucGl4ZWxzLm1heFZhbHVlLG5vRGF0YVZhbHVlOl99O3JldHVybiBnLnJlc3VsdE1hc2smJihiLm1hc2tEYXRhPWcucmVzdWx0TWFzaykscC5yZXR1cm5FbmNvZGVkTWFzayYmbS5tYXNrJiYoYi5lbmNvZGVkTWFza0RhdGE9bS5tYXNrLmJpdHNldD9tLm1hc2suYml0c2V0Om51bGwpLHAucmV0dXJuRmlsZUluZm8mJihiLmZpbGVJbmZvPXMobSkscC5jb21wdXRlVXNlZEJpdERlcHRocyYmKGIuZmlsZUluZm8uYml0RGVwdGhzPWYobSkpKSxifTt2YXIgaT1mdW5jdGlvbihsLHAsZCxtLF8pe3ZhciBnPTAsYj1sLnBpeGVscy5udW1CbG9ja3NYLFQ9bC5waXhlbHMubnVtQmxvY2tzWSxPPU1hdGguZmxvb3IobC53aWR0aC9iKSxFPU1hdGguZmxvb3IobC5oZWlnaHQvVCksdz0yKmwubWF4WkVycm9yLEM9TnVtYmVyLk1BWF9WQUxVRSxOO2Q9ZHx8KGwubWFzaz9sLm1hc2suYml0c2V0Om51bGwpO3ZhciBJLEQ7ST1uZXcgcChsLndpZHRoKmwuaGVpZ2h0KSxfJiZkJiYoRD1uZXcgVWludDhBcnJheShsLndpZHRoKmwuaGVpZ2h0KSk7Zm9yKHZhciB2PW5ldyBGbG9hdDMyQXJyYXkoTypFKSxMLFUsQT0wO0E8PVQ7QSsrKXt2YXIgUz1BIT09VD9FOmwuaGVpZ2h0JVQ7aWYoUyE9PTApZm9yKHZhciBQPTA7UDw9YjtQKyspe3ZhciBCPVAhPT1iP086bC53aWR0aCViO2lmKEIhPT0wKXt2YXIgaj1BKmwud2lkdGgqRStQKk8sSD1sLndpZHRoLUIsaz1sLnBpeGVscy5ibG9ja3NbZ10sSyxYLFI7ay5lbmNvZGluZzwyPyhrLmVuY29kaW5nPT09MD9LPWsucmF3RGF0YTooYyhrLnN0dWZmZWREYXRhLGsuYml0c1BlclBpeGVsLGsubnVtVmFsaWRQaXhlbHMsay5vZmZzZXQsdyx2LGwucGl4ZWxzLm1heFZhbHVlKSxLPXYpLFg9MCk6ay5lbmNvZGluZz09PTI/Uj0wOlI9ay5vZmZzZXQ7dmFyIG90O2lmKGQpZm9yKFU9MDtVPFM7VSsrKXtmb3IoaiY3JiYob3Q9ZFtqPj4zXSxvdDw8PWomNyksTD0wO0w8QjtMKyspaiY3fHwob3Q9ZFtqPj4zXSksb3QmMTI4PyhEJiYoRFtqXT0xKSxOPWsuZW5jb2Rpbmc8Mj9LW1grK106UixDPUM+Tj9OOkMsSVtqKytdPU4pOihEJiYoRFtqXT0wKSxJW2orK109bSksb3Q8PD0xO2orPUh9ZWxzZSBpZihrLmVuY29kaW5nPDIpZm9yKFU9MDtVPFM7VSsrKXtmb3IoTD0wO0w8QjtMKyspTj1LW1grK10sQz1DPk4/TjpDLElbaisrXT1OO2orPUh9ZWxzZSBmb3IoQz1DPlI/UjpDLFU9MDtVPFM7VSsrKXtmb3IoTD0wO0w8QjtMKyspSVtqKytdPVI7ais9SH1pZihrLmVuY29kaW5nPT09MSYmWCE9PWsubnVtVmFsaWRQaXhlbHMpdGhyb3ciQmxvY2sgYW5kIE1hc2sgZG8gbm90IG1hdGNoIjtnKyt9fX1yZXR1cm57cmVzdWx0UGl4ZWxzOkkscmVzdWx0TWFzazpELG1pblZhbHVlOkN9fSxzPWZ1bmN0aW9uKGwpe3JldHVybntmaWxlSWRlbnRpZmllclN0cmluZzpsLmZpbGVJZGVudGlmaWVyU3RyaW5nLGZpbGVWZXJzaW9uOmwuZmlsZVZlcnNpb24saW1hZ2VUeXBlOmwuaW1hZ2VUeXBlLGhlaWdodDpsLmhlaWdodCx3aWR0aDpsLndpZHRoLG1heFpFcnJvcjpsLm1heFpFcnJvcixlb2ZPZmZzZXQ6bC5lb2ZPZmZzZXQsbWFzazpsLm1hc2s/e251bUJsb2Nrc1g6bC5tYXNrLm51bUJsb2Nrc1gsbnVtQmxvY2tzWTpsLm1hc2subnVtQmxvY2tzWSxudW1CeXRlczpsLm1hc2subnVtQnl0ZXMsbWF4VmFsdWU6bC5tYXNrLm1heFZhbHVlfTpudWxsLHBpeGVsczp7bnVtQmxvY2tzWDpsLnBpeGVscy5udW1CbG9ja3NYLG51bUJsb2Nrc1k6bC5waXhlbHMubnVtQmxvY2tzWSxudW1CeXRlczpsLnBpeGVscy5udW1CeXRlcyxtYXhWYWx1ZTpsLnBpeGVscy5tYXhWYWx1ZSxub0RhdGFWYWx1ZTpsLm5vRGF0YVZhbHVlfX19LGY9ZnVuY3Rpb24obCl7Zm9yKHZhciBwPWwucGl4ZWxzLm51bUJsb2Nrc1gqbC5waXhlbHMubnVtQmxvY2tzWSxkPXt9LG09MDttPHA7bSsrKXt2YXIgXz1sLnBpeGVscy5ibG9ja3NbbV07Xy5lbmNvZGluZz09PTA/ZC5mbG9hdDMyPSEwOl8uZW5jb2Rpbmc9PT0xP2RbXy5iaXRzUGVyUGl4ZWxdPSEwOmRbMF09ITB9cmV0dXJuIE9iamVjdC5rZXlzKGQpfSx1PWZ1bmN0aW9uKGwscCxkKXt2YXIgbT17fSxfPW5ldyBVaW50OEFycmF5KGwscCwxMCk7aWYobS5maWxlSWRlbnRpZmllclN0cmluZz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsXyksbS5maWxlSWRlbnRpZmllclN0cmluZy50cmltKCkhPT0iQ250WkltYWdlIil0aHJvdyJVbmV4cGVjdGVkIGZpbGUgaWRlbnRpZmllciBzdHJpbmc6ICIrbS5maWxlSWRlbnRpZmllclN0cmluZztwKz0xMDt2YXIgZz1uZXcgRGF0YVZpZXcobCxwLDI0KTtpZihtLmZpbGVWZXJzaW9uPWcuZ2V0SW50MzIoMCwhMCksbS5pbWFnZVR5cGU9Zy5nZXRJbnQzMig0LCEwKSxtLmhlaWdodD1nLmdldFVpbnQzMig4LCEwKSxtLndpZHRoPWcuZ2V0VWludDMyKDEyLCEwKSxtLm1heFpFcnJvcj1nLmdldEZsb2F0NjQoMTYsITApLHArPTI0LCFkKWlmKGc9bmV3IERhdGFWaWV3KGwscCwxNiksbS5tYXNrPXt9LG0ubWFzay5udW1CbG9ja3NZPWcuZ2V0VWludDMyKDAsITApLG0ubWFzay5udW1CbG9ja3NYPWcuZ2V0VWludDMyKDQsITApLG0ubWFzay5udW1CeXRlcz1nLmdldFVpbnQzMig4LCEwKSxtLm1hc2subWF4VmFsdWU9Zy5nZXRGbG9hdDMyKDEyLCEwKSxwKz0xNixtLm1hc2subnVtQnl0ZXM+MCl7dmFyIGI9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKG0ud2lkdGgqbS5oZWlnaHQvOCkpO2c9bmV3IERhdGFWaWV3KGwscCxtLm1hc2subnVtQnl0ZXMpO3ZhciBUPWcuZ2V0SW50MTYoMCwhMCksTz0yLEU9MDtkb3tpZihUPjApZm9yKDtULS07KWJbRSsrXT1nLmdldFVpbnQ4KE8rKyk7ZWxzZXt2YXIgdz1nLmdldFVpbnQ4KE8rKyk7Zm9yKFQ9LVQ7VC0tOyliW0UrK109d31UPWcuZ2V0SW50MTYoTywhMCksTys9Mn13aGlsZShPPG0ubWFzay5udW1CeXRlcyk7aWYoVCE9PS0zMjc2OHx8RTxiLmxlbmd0aCl0aHJvdyJVbmV4cGVjdGVkIGVuZCBvZiBtYXNrIFJMRSBlbmNvZGluZyI7bS5tYXNrLmJpdHNldD1iLHArPW0ubWFzay5udW1CeXRlc31lbHNlIG0ubWFzay5udW1CeXRlc3xtLm1hc2subnVtQmxvY2tzWXxtLm1hc2subWF4VmFsdWV8fChtLm1hc2suYml0c2V0PW5ldyBVaW50OEFycmF5KE1hdGguY2VpbChtLndpZHRoKm0uaGVpZ2h0LzgpKSk7Zz1uZXcgRGF0YVZpZXcobCxwLDE2KSxtLnBpeGVscz17fSxtLnBpeGVscy5udW1CbG9ja3NZPWcuZ2V0VWludDMyKDAsITApLG0ucGl4ZWxzLm51bUJsb2Nrc1g9Zy5nZXRVaW50MzIoNCwhMCksbS5waXhlbHMubnVtQnl0ZXM9Zy5nZXRVaW50MzIoOCwhMCksbS5waXhlbHMubWF4VmFsdWU9Zy5nZXRGbG9hdDMyKDEyLCEwKSxwKz0xNjt2YXIgQz1tLnBpeGVscy5udW1CbG9ja3NYLE49bS5waXhlbHMubnVtQmxvY2tzWSxJPUMrKG0ud2lkdGglQz4wPzE6MCksRD1OKyhtLmhlaWdodCVOPjA/MTowKTttLnBpeGVscy5ibG9ja3M9bmV3IEFycmF5KEkqRCk7Zm9yKHZhciB2PTAsTD0wO0w8RDtMKyspZm9yKHZhciBVPTA7VTxJO1UrKyl7dmFyIEE9MCxTPWwuYnl0ZUxlbmd0aC1wO2c9bmV3IERhdGFWaWV3KGwscCxNYXRoLm1pbigxMCxTKSk7dmFyIFA9e307bS5waXhlbHMuYmxvY2tzW3YrK109UDt2YXIgQj1nLmdldFVpbnQ4KDApO2lmKEErKyxQLmVuY29kaW5nPUImNjMsUC5lbmNvZGluZz4zKXRocm93IkludmFsaWQgYmxvY2sgZW5jb2RpbmcgKCIrUC5lbmNvZGluZysiKSI7aWYoUC5lbmNvZGluZz09PTIpe3ArKztjb250aW51ZX1pZihCIT09MCYmQiE9PTIpe2lmKEI+Pj02LFAub2Zmc2V0VHlwZT1CLEI9PT0yKVAub2Zmc2V0PWcuZ2V0SW50OCgxKSxBKys7ZWxzZSBpZihCPT09MSlQLm9mZnNldD1nLmdldEludDE2KDEsITApLEErPTI7ZWxzZSBpZihCPT09MClQLm9mZnNldD1nLmdldEZsb2F0MzIoMSwhMCksQSs9NDtlbHNlIHRocm93IkludmFsaWQgYmxvY2sgb2Zmc2V0IHR5cGUiO2lmKFAuZW5jb2Rpbmc9PT0xKWlmKEI9Zy5nZXRVaW50OChBKSxBKyssUC5iaXRzUGVyUGl4ZWw9QiY2MyxCPj49NixQLm51bVZhbGlkUGl4ZWxzVHlwZT1CLEI9PT0yKVAubnVtVmFsaWRQaXhlbHM9Zy5nZXRVaW50OChBKSxBKys7ZWxzZSBpZihCPT09MSlQLm51bVZhbGlkUGl4ZWxzPWcuZ2V0VWludDE2KEEsITApLEErPTI7ZWxzZSBpZihCPT09MClQLm51bVZhbGlkUGl4ZWxzPWcuZ2V0VWludDMyKEEsITApLEErPTQ7ZWxzZSB0aHJvdyJJbnZhbGlkIHZhbGlkIHBpeGVsIGNvdW50IHR5cGUifWlmKHArPUEsUC5lbmNvZGluZyE9PTMpe3ZhciBqLEg7aWYoUC5lbmNvZGluZz09PTApe3ZhciBrPShtLnBpeGVscy5udW1CeXRlcy0xKS80O2lmKGshPT1NYXRoLmZsb29yKGspKXRocm93InVuY29tcHJlc3NlZCBibG9jayBoYXMgaW52YWxpZCBsZW5ndGgiO2o9bmV3IEFycmF5QnVmZmVyKGsqNCksSD1uZXcgVWludDhBcnJheShqKSxILnNldChuZXcgVWludDhBcnJheShsLHAsayo0KSk7dmFyIEs9bmV3IEZsb2F0MzJBcnJheShqKTtQLnJhd0RhdGE9SyxwKz1rKjR9ZWxzZSBpZihQLmVuY29kaW5nPT09MSl7dmFyIFg9TWF0aC5jZWlsKFAubnVtVmFsaWRQaXhlbHMqUC5iaXRzUGVyUGl4ZWwvOCksUj1NYXRoLmNlaWwoWC80KTtqPW5ldyBBcnJheUJ1ZmZlcihSKjQpLEg9bmV3IFVpbnQ4QXJyYXkoaiksSC5zZXQobmV3IFVpbnQ4QXJyYXkobCxwLFgpKSxQLnN0dWZmZWREYXRhPW5ldyBVaW50MzJBcnJheShqKSxwKz1YfX19cmV0dXJuIG0uZW9mT2Zmc2V0PXAsbX0sYz1mdW5jdGlvbihsLHAsZCxtLF8sZyxiKXt2YXIgVD0oMTw8cCktMSxPPTAsRSx3PTAsQyxOLEk9TWF0aC5jZWlsKChiLW0pL18pLEQ9bC5sZW5ndGgqNC1NYXRoLmNlaWwocCpkLzgpO2ZvcihsW2wubGVuZ3RoLTFdPDw9OCpELEU9MDtFPGQ7RSsrKXtpZih3PT09MCYmKE49bFtPKytdLHc9MzIpLHc+PXApQz1OPj4+dy1wJlQsdy09cDtlbHNle3ZhciB2PXAtdztDPShOJlQpPDx2JlQsTj1sW08rK10sdz0zMi12LEMrPU4+Pj53fWdbRV09QzxJP20rQypfOmJ9cmV0dXJuIGd9O3JldHVybiByfSgpLGU9ZnVuY3Rpb24oKXsidXNlIHN0cmljdCI7dmFyIHI9e3Vuc3R1ZmY6ZnVuY3Rpb24odSxjLGwscCxkLG0sXyxnKXt2YXIgYj0oMTw8bCktMSxUPTAsTyxFPTAsdyxDLE4sSSxEPXUubGVuZ3RoKjQtTWF0aC5jZWlsKGwqcC84KTtpZih1W3UubGVuZ3RoLTFdPDw9OCpELGQpZm9yKE89MDtPPHA7TysrKUU9PT0wJiYoQz11W1QrK10sRT0zMiksRT49bD8odz1DPj4+RS1sJmIsRS09bCk6KE49bC1FLHc9KEMmYik8PE4mYixDPXVbVCsrXSxFPTMyLU4sdys9Qz4+PkUpLGNbT109ZFt3XTtlbHNlIGZvcihJPU1hdGguY2VpbCgoZy1tKS9fKSxPPTA7TzxwO08rKylFPT09MCYmKEM9dVtUKytdLEU9MzIpLEU+PWw/KHc9Qz4+PkUtbCZiLEUtPWwpOihOPWwtRSx3PShDJmIpPDxOJmIsQz11W1QrK10sRT0zMi1OLHcrPUM+Pj5FKSxjW09dPXc8ST9tK3cqXzpnfSx1bnN0dWZmTFVUOmZ1bmN0aW9uKHUsYyxsLHAsZCxtKXt2YXIgXz0oMTw8YyktMSxnPTAsYj0wLFQ9MCxPPTAsRT0wLHcsQz1bXSxOPXUubGVuZ3RoKjQtTWF0aC5jZWlsKGMqbC84KTt1W3UubGVuZ3RoLTFdPDw9OCpOO3ZhciBJPU1hdGguY2VpbCgobS1wKS9kKTtmb3IoYj0wO2I8bDtiKyspTz09PTAmJih3PXVbZysrXSxPPTMyKSxPPj1jPyhFPXc+Pj5PLWMmXyxPLT1jKTooVD1jLU8sRT0odyZfKTw8VCZfLHc9dVtnKytdLE89MzItVCxFKz13Pj4+TyksQ1tiXT1FPEk/cCtFKmQ6bTtyZXR1cm4gQy51bnNoaWZ0KHApLEN9LHVuc3R1ZmYyOmZ1bmN0aW9uKHUsYyxsLHAsZCxtLF8sZyl7dmFyIGI9KDE8PGwpLTEsVD0wLE8sRT0wLHc9MCxDLE4sSTtpZihkKWZvcihPPTA7TzxwO08rKylFPT09MCYmKE49dVtUKytdLEU9MzIsdz0wKSxFPj1sPyhDPU4+Pj53JmIsRS09bCx3Kz1sKTooST1sLUUsQz1OPj4+dyZiLE49dVtUKytdLEU9MzItSSxDfD0oTiYoMTw8SSktMSk8PGwtSSx3PUkpLGNbT109ZFtDXTtlbHNle3ZhciBEPU1hdGguY2VpbCgoZy1tKS9fKTtmb3IoTz0wO088cDtPKyspRT09PTAmJihOPXVbVCsrXSxFPTMyLHc9MCksRT49bD8oQz1OPj4+dyZiLEUtPWwsdys9bCk6KEk9bC1FLEM9Tj4+PncmYixOPXVbVCsrXSxFPTMyLUksQ3w9KE4mKDE8PEkpLTEpPDxsLUksdz1JKSxjW09dPUM8RD9tK0MqXzpnfXJldHVybiBjfSx1bnN0dWZmTFVUMjpmdW5jdGlvbih1LGMsbCxwLGQsbSl7dmFyIF89KDE8PGMpLTEsZz0wLGI9MCxUPTAsTz0wLEU9MCx3PTAsQyxOPVtdLEk9TWF0aC5jZWlsKChtLXApL2QpO2ZvcihiPTA7YjxsO2IrKylPPT09MCYmKEM9dVtnKytdLE89MzIsdz0wKSxPPj1jPyhFPUM+Pj53Jl8sTy09Yyx3Kz1jKTooVD1jLU8sRT1DPj4+dyZfLEM9dVtnKytdLE89MzItVCxFfD0oQyYoMTw8VCktMSk8PGMtVCx3PVQpLE5bYl09RTxJP3ArRSpkOm07cmV0dXJuIE4udW5zaGlmdChwKSxOfSxvcmlnaW5hbFVuc3R1ZmY6ZnVuY3Rpb24odSxjLGwscCl7dmFyIGQ9KDE8PGwpLTEsbT0wLF8sZz0wLGIsVCxPLEU9dS5sZW5ndGgqNC1NYXRoLmNlaWwobCpwLzgpO2Zvcih1W3UubGVuZ3RoLTFdPDw9OCpFLF89MDtfPHA7XysrKWc9PT0wJiYoVD11W20rK10sZz0zMiksZz49bD8oYj1UPj4+Zy1sJmQsZy09bCk6KE89bC1nLGI9KFQmZCk8PE8mZCxUPXVbbSsrXSxnPTMyLU8sYis9VD4+PmcpLGNbX109YjtyZXR1cm4gY30sb3JpZ2luYWxVbnN0dWZmMjpmdW5jdGlvbih1LGMsbCxwKXt2YXIgZD0oMTw8bCktMSxtPTAsXyxnPTAsYj0wLFQsTyxFO2ZvcihfPTA7XzxwO18rKylnPT09MCYmKE89dVttKytdLGc9MzIsYj0wKSxnPj1sPyhUPU8+Pj5iJmQsZy09bCxiKz1sKTooRT1sLWcsVD1PPj4+YiZkLE89dVttKytdLGc9MzItRSxUfD0oTyYoMTw8RSktMSk8PGwtRSxiPUUpLGNbX109VDtyZXR1cm4gY319LGk9e0hVRkZNQU5fTFVUX0JJVFNfTUFYOjEyLGNvbXB1dGVDaGVja3N1bUZsZXRjaGVyMzI6ZnVuY3Rpb24odSl7Zm9yKHZhciBjPTY1NTM1LGw9NjU1MzUscD11Lmxlbmd0aCxkPU1hdGguZmxvb3IocC8yKSxtPTA7ZDspe3ZhciBfPWQ+PTM1OT8zNTk6ZDtkLT1fO2RvIGMrPXVbbSsrXTw8OCxsKz1jKz11W20rK107d2hpbGUoLS1fKTtjPShjJjY1NTM1KSsoYz4+PjE2KSxsPShsJjY1NTM1KSsobD4+PjE2KX1yZXR1cm4gcCYxJiYobCs9Yys9dVttXTw8OCksYz0oYyY2NTUzNSkrKGM+Pj4xNiksbD0obCY2NTUzNSkrKGw+Pj4xNiksKGw8PDE2fGMpPj4+MH0scmVhZEhlYWRlckluZm86ZnVuY3Rpb24odSxjKXt2YXIgbD1jLnB0cixwPW5ldyBVaW50OEFycmF5KHUsbCw2KSxkPXt9O2lmKGQuZmlsZUlkZW50aWZpZXJTdHJpbmc9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHApLGQuZmlsZUlkZW50aWZpZXJTdHJpbmcubGFzdEluZGV4T2YoIkxlcmMyIiwwKSE9PTApdGhyb3ciVW5leHBlY3RlZCBmaWxlIGlkZW50aWZpZXIgc3RyaW5nIChleHBlY3QgTGVyYzIgKTogIitkLmZpbGVJZGVudGlmaWVyU3RyaW5nO2wrPTY7dmFyIG09bmV3IERhdGFWaWV3KHUsbCw4KSxfPW0uZ2V0SW50MzIoMCwhMCk7ZC5maWxlVmVyc2lvbj1fLGwrPTQsXz49MyYmKGQuY2hlY2tzdW09bS5nZXRVaW50MzIoNCwhMCksbCs9NCksbT1uZXcgRGF0YVZpZXcodSxsLDEyKSxkLmhlaWdodD1tLmdldFVpbnQzMigwLCEwKSxkLndpZHRoPW0uZ2V0VWludDMyKDQsITApLGwrPTgsXz49ND8oZC5udW1EaW1zPW0uZ2V0VWludDMyKDgsITApLGwrPTQpOmQubnVtRGltcz0xLG09bmV3IERhdGFWaWV3KHUsbCw0MCksZC5udW1WYWxpZFBpeGVsPW0uZ2V0VWludDMyKDAsITApLGQubWljcm9CbG9ja1NpemU9bS5nZXRJbnQzMig0LCEwKSxkLmJsb2JTaXplPW0uZ2V0SW50MzIoOCwhMCksZC5pbWFnZVR5cGU9bS5nZXRJbnQzMigxMiwhMCksZC5tYXhaRXJyb3I9bS5nZXRGbG9hdDY0KDE2LCEwKSxkLnpNaW49bS5nZXRGbG9hdDY0KDI0LCEwKSxkLnpNYXg9bS5nZXRGbG9hdDY0KDMyLCEwKSxsKz00MCxjLmhlYWRlckluZm89ZCxjLnB0cj1sO3ZhciBnLGI7aWYoXz49MyYmKGI9Xz49ND81Mjo0OCxnPXRoaXMuY29tcHV0ZUNoZWNrc3VtRmxldGNoZXIzMihuZXcgVWludDhBcnJheSh1LGwtYixkLmJsb2JTaXplLTE0KSksZyE9PWQuY2hlY2tzdW0pKXRocm93IkNoZWNrc3VtIGZhaWxlZC4iO3JldHVybiEwfSxjaGVja01pbk1heFJhbmdlczpmdW5jdGlvbih1LGMpe3ZhciBsPWMuaGVhZGVySW5mbyxwPXRoaXMuZ2V0RGF0YVR5cGVBcnJheShsLmltYWdlVHlwZSksZD1sLm51bURpbXMqdGhpcy5nZXREYXRhVHlwZVNpemUobC5pbWFnZVR5cGUpLG09dGhpcy5yZWFkU3ViQXJyYXkodSxjLnB0cixwLGQpLF89dGhpcy5yZWFkU3ViQXJyYXkodSxjLnB0citkLHAsZCk7Yy5wdHIrPTIqZDt2YXIgZyxiPSEwO2ZvcihnPTA7ZzxsLm51bURpbXM7ZysrKWlmKG1bZ10hPT1fW2ddKXtiPSExO2JyZWFrfXJldHVybiBsLm1pblZhbHVlcz1tLGwubWF4VmFsdWVzPV8sYn0scmVhZFN1YkFycmF5OmZ1bmN0aW9uKHUsYyxsLHApe3ZhciBkO2lmKGw9PT1VaW50OEFycmF5KWQ9bmV3IFVpbnQ4QXJyYXkodSxjLHApO2Vsc2V7dmFyIG09bmV3IEFycmF5QnVmZmVyKHApLF89bmV3IFVpbnQ4QXJyYXkobSk7Xy5zZXQobmV3IFVpbnQ4QXJyYXkodSxjLHApKSxkPW5ldyBsKG0pfXJldHVybiBkfSxyZWFkTWFzazpmdW5jdGlvbih1LGMpe3ZhciBsPWMucHRyLHA9Yy5oZWFkZXJJbmZvLGQ9cC53aWR0aCpwLmhlaWdodCxtPXAubnVtVmFsaWRQaXhlbCxfPW5ldyBEYXRhVmlldyh1LGwsNCksZz17fTtpZihnLm51bUJ5dGVzPV8uZ2V0VWludDMyKDAsITApLGwrPTQsKG09PT0wfHxkPT09bSkmJmcubnVtQnl0ZXMhPT0wKXRocm93ImludmFsaWQgbWFzayI7dmFyIGIsVDtpZihtPT09MCliPW5ldyBVaW50OEFycmF5KE1hdGguY2VpbChkLzgpKSxnLmJpdHNldD1iLFQ9bmV3IFVpbnQ4QXJyYXkoZCksYy5waXhlbHMucmVzdWx0TWFzaz1ULGwrPWcubnVtQnl0ZXM7ZWxzZSBpZihnLm51bUJ5dGVzPjApe2I9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKGQvOCkpLF89bmV3IERhdGFWaWV3KHUsbCxnLm51bUJ5dGVzKTt2YXIgTz1fLmdldEludDE2KDAsITApLEU9Mix3PTAsQz0wO2Rve2lmKE8+MClmb3IoO08tLTspYlt3KytdPV8uZ2V0VWludDgoRSsrKTtlbHNlIGZvcihDPV8uZ2V0VWludDgoRSsrKSxPPS1PO08tLTspYlt3KytdPUM7Tz1fLmdldEludDE2KEUsITApLEUrPTJ9d2hpbGUoRTxnLm51bUJ5dGVzKTtpZihPIT09LTMyNzY4fHx3PGIubGVuZ3RoKXRocm93IlVuZXhwZWN0ZWQgZW5kIG9mIG1hc2sgUkxFIGVuY29kaW5nIjtUPW5ldyBVaW50OEFycmF5KGQpO3ZhciBOPTAsST0wO2ZvcihJPTA7STxkO0krKylJJjc/KE49YltJPj4zXSxOPDw9SSY3KTpOPWJbST4+M10sTiYxMjgmJihUW0ldPTEpO2MucGl4ZWxzLnJlc3VsdE1hc2s9VCxnLmJpdHNldD1iLGwrPWcubnVtQnl0ZXN9cmV0dXJuIGMucHRyPWwsYy5tYXNrPWcsITB9LHJlYWREYXRhT25lU3dlZXA6ZnVuY3Rpb24odSxjLGwpe3ZhciBwPWMucHRyLGQ9Yy5oZWFkZXJJbmZvLG09ZC5udW1EaW1zLF89ZC53aWR0aCpkLmhlaWdodCxnPWQuaW1hZ2VUeXBlLGI9ZC5udW1WYWxpZFBpeGVsKmkuZ2V0RGF0YVR5cGVTaXplKGcpKm0sVCxPPWMucGl4ZWxzLnJlc3VsdE1hc2s7aWYobD09PVVpbnQ4QXJyYXkpVD1uZXcgVWludDhBcnJheSh1LHAsYik7ZWxzZXt2YXIgRT1uZXcgQXJyYXlCdWZmZXIoYiksdz1uZXcgVWludDhBcnJheShFKTt3LnNldChuZXcgVWludDhBcnJheSh1LHAsYikpLFQ9bmV3IGwoRSl9aWYoVC5sZW5ndGg9PT1fKm0pYy5waXhlbHMucmVzdWx0UGl4ZWxzPVQ7ZWxzZXtjLnBpeGVscy5yZXN1bHRQaXhlbHM9bmV3IGwoXyptKTt2YXIgQz0wLE49MCxJPTAsRD0wO2lmKG0+MSlmb3IoST0wO0k8bTtJKyspZm9yKEQ9SSpfLE49MDtOPF87TisrKU9bTl0mJihjLnBpeGVscy5yZXN1bHRQaXhlbHNbRCtOXT1UW0MrK10pO2Vsc2UgZm9yKE49MDtOPF87TisrKU9bTl0mJihjLnBpeGVscy5yZXN1bHRQaXhlbHNbTl09VFtDKytdKX1yZXR1cm4gcCs9YixjLnB0cj1wLCEwfSxyZWFkSHVmZm1hblRyZWU6ZnVuY3Rpb24odSxjKXt2YXIgbD10aGlzLkhVRkZNQU5fTFVUX0JJVFNfTUFYLHA9bmV3IERhdGFWaWV3KHUsYy5wdHIsMTYpO2MucHRyKz0xNjt2YXIgZD1wLmdldEludDMyKDAsITApO2lmKGQ8Mil0aHJvdyJ1bnN1cHBvcnRlZCBIdWZmbWFuIHZlcnNpb24iO3ZhciBtPXAuZ2V0SW50MzIoNCwhMCksXz1wLmdldEludDMyKDgsITApLGc9cC5nZXRJbnQzMigxMiwhMCk7aWYoXz49ZylyZXR1cm4hMTt2YXIgYj1uZXcgVWludDMyQXJyYXkoZy1fKTtpLmRlY29kZUJpdHModSxjLGIpO3ZhciBUPVtdLE8sRSx3LEM7Zm9yKE89XztPPGc7TysrKUU9Ty0oTzxtPzA6bSksVFtFXT17Zmlyc3Q6YltPLV9dLHNlY29uZDpudWxsfTt2YXIgTj11LmJ5dGVMZW5ndGgtYy5wdHIsST1NYXRoLmNlaWwoTi80KSxEPW5ldyBBcnJheUJ1ZmZlcihJKjQpLHY9bmV3IFVpbnQ4QXJyYXkoRCk7di5zZXQobmV3IFVpbnQ4QXJyYXkodSxjLnB0cixOKSk7dmFyIEw9bmV3IFVpbnQzMkFycmF5KEQpLFU9MCxBLFM9MDtmb3IoQT1MWzBdLE89XztPPGc7TysrKUU9Ty0oTzxtPzA6bSksQz1UW0VdLmZpcnN0LEM+MCYmKFRbRV0uc2Vjb25kPUE8PFU+Pj4zMi1DLDMyLVU+PUM/KFUrPUMsVT09PTMyJiYoVT0wLFMrKyxBPUxbU10pKTooVSs9Qy0zMixTKyssQT1MW1NdLFRbRV0uc2Vjb25kfD1BPj4+MzItVSkpO3ZhciBQPTAsQj0wLGo9bmV3IHM7Zm9yKE89MDtPPFQubGVuZ3RoO08rKylUW09dIT09dm9pZCAwJiYoUD1NYXRoLm1heChQLFRbT10uZmlyc3QpKTtQPj1sP0I9bDpCPVAsUD49MzAmJmNvbnNvbGUubG9nKCJXQVJuaW5nLCBsYXJnZSBOVU0gTFVUIEJJVFMgSVMgIitQKTt2YXIgSD1bXSxrLEssWCxSLG90LGF0O2ZvcihPPV87TzxnO08rKylpZihFPU8tKE88bT8wOm0pLEM9VFtFXS5maXJzdCxDPjApaWYoaz1bQyxFXSxDPD1CKWZvcihLPVRbRV0uc2Vjb25kPDxCLUMsWD0xPDxCLUMsdz0wO3c8WDt3KyspSFtLfHddPWs7ZWxzZSBmb3IoSz1UW0VdLnNlY29uZCxhdD1qLFI9Qy0xO1I+PTA7Ui0tKW90PUs+Pj5SJjEsb3Q/KGF0LnJpZ2h0fHwoYXQucmlnaHQ9bmV3IHMpLGF0PWF0LnJpZ2h0KTooYXQubGVmdHx8KGF0LmxlZnQ9bmV3IHMpLGF0PWF0LmxlZnQpLFI9PT0wJiYhYXQudmFsJiYoYXQudmFsPWtbMV0pO3JldHVybntkZWNvZGVMdXQ6SCxudW1CaXRzTFVUUWljazpCLG51bUJpdHNMVVQ6UCx0cmVlOmosc3R1ZmZlZERhdGE6TCxzcmNQdHI6UyxiaXRQb3M6VX19LHJlYWRIdWZmbWFuOmZ1bmN0aW9uKHUsYyxsKXt2YXIgcD1jLmhlYWRlckluZm8sZD1wLm51bURpbXMsbT1jLmhlYWRlckluZm8uaGVpZ2h0LF89Yy5oZWFkZXJJbmZvLndpZHRoLGc9XyptLGI9dGhpcy5yZWFkSHVmZm1hblRyZWUodSxjKSxUPWIuZGVjb2RlTHV0LE89Yi50cmVlLEU9Yi5zdHVmZmVkRGF0YSx3PWIuc3JjUHRyLEM9Yi5iaXRQb3MsTj1iLm51bUJpdHNMVVRRaWNrLEk9Yi5udW1CaXRzTFVULEQ9Yy5oZWFkZXJJbmZvLmltYWdlVHlwZT09PTA/MTI4OjAsdixMLFUsQT1jLnBpeGVscy5yZXN1bHRNYXNrLFMsUCxCLGosSCxrLEssWD0wO0M+MCYmKHcrKyxDPTApO3ZhciBSPUVbd10sb3Q9Yy5lbmNvZGVNb2RlPT09MSxhdD1uZXcgbChnKmQpLHB0PWF0LHl0O2Zvcih5dD0wO3l0PHAubnVtRGltczt5dCsrKXtpZihkPjEmJihwdD1uZXcgbChhdC5idWZmZXIsZyp5dCxnKSxYPTApLGMuaGVhZGVySW5mby5udW1WYWxpZFBpeGVsPT09XyptKWZvcihrPTAsaj0wO2o8bTtqKyspZm9yKEg9MDtIPF87SCsrLGsrKyl7aWYoTD0wLFM9Ujw8Qz4+PjMyLU4sUD1TLDMyLUM8TiYmKFN8PUVbdysxXT4+PjY0LUMtTixQPVMpLFRbUF0pTD1UW1BdWzFdLEMrPVRbUF1bMF07ZWxzZSBmb3IoUz1SPDxDPj4+MzItSSxQPVMsMzItQzxJJiYoU3w9RVt3KzFdPj4+NjQtQy1JLFA9Uyksdj1PLEs9MDtLPEk7SysrKWlmKEI9Uz4+PkktSy0xJjEsdj1CP3YucmlnaHQ6di5sZWZ0LCEodi5sZWZ0fHx2LnJpZ2h0KSl7TD12LnZhbCxDPUMrSysxO2JyZWFrfUM+PTMyJiYoQy09MzIsdysrLFI9RVt3XSksVT1MLUQsb3Q/KEg+MD9VKz1YOmo+MD9VKz1wdFtrLV9dOlUrPVgsVSY9MjU1LHB0W2tdPVUsWD1VKTpwdFtrXT1VfWVsc2UgZm9yKGs9MCxqPTA7ajxtO2orKylmb3IoSD0wO0g8XztIKyssaysrKWlmKEFba10pe2lmKEw9MCxTPVI8PEM+Pj4zMi1OLFA9UywzMi1DPE4mJihTfD1FW3crMV0+Pj42NC1DLU4sUD1TKSxUW1BdKUw9VFtQXVsxXSxDKz1UW1BdWzBdO2Vsc2UgZm9yKFM9Ujw8Qz4+PjMyLUksUD1TLDMyLUM8SSYmKFN8PUVbdysxXT4+PjY0LUMtSSxQPVMpLHY9TyxLPTA7SzxJO0srKylpZihCPVM+Pj5JLUstMSYxLHY9Qj92LnJpZ2h0OnYubGVmdCwhKHYubGVmdHx8di5yaWdodCkpe0w9di52YWwsQz1DK0srMTticmVha31DPj0zMiYmKEMtPTMyLHcrKyxSPUVbd10pLFU9TC1ELG90PyhIPjAmJkFbay0xXT9VKz1YOmo+MCYmQVtrLV9dP1UrPXB0W2stX106VSs9WCxVJj0yNTUscHRba109VSxYPVUpOnB0W2tdPVV9Yy5wdHI9Yy5wdHIrKHcrMSkqNCsoQz4wPzQ6MCl9Yy5waXhlbHMucmVzdWx0UGl4ZWxzPWF0fSxkZWNvZGVCaXRzOmZ1bmN0aW9uKHUsYyxsLHAsZCl7e3ZhciBtPWMuaGVhZGVySW5mbyxfPW0uZmlsZVZlcnNpb24sZz0wLGI9bmV3IERhdGFWaWV3KHUsYy5wdHIsNSksVD1iLmdldFVpbnQ4KDApO2crKzt2YXIgTz1UPj42LEU9Tz09PTA/NDozLU8sdz0oVCYzMik+MCxDPVQmMzEsTj0wO2lmKEU9PT0xKU49Yi5nZXRVaW50OChnKSxnKys7ZWxzZSBpZihFPT09MilOPWIuZ2V0VWludDE2KGcsITApLGcrPTI7ZWxzZSBpZihFPT09NClOPWIuZ2V0VWludDMyKGcsITApLGcrPTQ7ZWxzZSB0aHJvdyJJbnZhbGlkIHZhbGlkIHBpeGVsIGNvdW50IHR5cGUiO3ZhciBJPTIqbS5tYXhaRXJyb3IsRCx2LEwsVSxBLFMsUCxCLGosSCxrPW0ubnVtRGltcz4xP20ubWF4VmFsdWVzW2RdOm0uek1heDtpZih3KXtmb3IoYy5jb3VudGVyLmx1dCsrLEI9Yi5nZXRVaW50OChnKSxqPUMsZysrLFU9TWF0aC5jZWlsKChCLTEpKkMvOCksQT1NYXRoLmNlaWwoVS80KSx2PW5ldyBBcnJheUJ1ZmZlcihBKjQpLEw9bmV3IFVpbnQ4QXJyYXkodiksYy5wdHIrPWcsTC5zZXQobmV3IFVpbnQ4QXJyYXkodSxjLnB0cixVKSksUD1uZXcgVWludDMyQXJyYXkodiksYy5wdHIrPVUsSD0wO0ItMT4+Pkg7KUgrKztVPU1hdGguY2VpbChOKkgvOCksQT1NYXRoLmNlaWwoVS80KSx2PW5ldyBBcnJheUJ1ZmZlcihBKjQpLEw9bmV3IFVpbnQ4QXJyYXkodiksTC5zZXQobmV3IFVpbnQ4QXJyYXkodSxjLnB0cixVKSksRD1uZXcgVWludDMyQXJyYXkodiksYy5wdHIrPVUsXz49Mz9TPXIudW5zdHVmZkxVVDIoUCxDLEItMSxwLEksayk6Uz1yLnVuc3R1ZmZMVVQoUCxDLEItMSxwLEksayksXz49Mz9yLnVuc3R1ZmYyKEQsbCxILE4sUyk6ci51bnN0dWZmKEQsbCxILE4sUyl9ZWxzZSBjLmNvdW50ZXIuYml0c3R1ZmZlcisrLEg9QyxjLnB0cis9ZyxIPjAmJihVPU1hdGguY2VpbChOKkgvOCksQT1NYXRoLmNlaWwoVS80KSx2PW5ldyBBcnJheUJ1ZmZlcihBKjQpLEw9bmV3IFVpbnQ4QXJyYXkodiksTC5zZXQobmV3IFVpbnQ4QXJyYXkodSxjLnB0cixVKSksRD1uZXcgVWludDMyQXJyYXkodiksYy5wdHIrPVUsXz49Mz9wPT1udWxsP3Iub3JpZ2luYWxVbnN0dWZmMihELGwsSCxOKTpyLnVuc3R1ZmYyKEQsbCxILE4sITEscCxJLGspOnA9PW51bGw/ci5vcmlnaW5hbFVuc3R1ZmYoRCxsLEgsTik6ci51bnN0dWZmKEQsbCxILE4sITEscCxJLGspKX19LHJlYWRUaWxlczpmdW5jdGlvbih1LGMsbCl7dmFyIHA9Yy5oZWFkZXJJbmZvLGQ9cC53aWR0aCxtPXAuaGVpZ2h0LF89cC5taWNyb0Jsb2NrU2l6ZSxnPXAuaW1hZ2VUeXBlLGI9aS5nZXREYXRhVHlwZVNpemUoZyksVD1NYXRoLmNlaWwoZC9fKSxPPU1hdGguY2VpbChtL18pO2MucGl4ZWxzLm51bUJsb2Nrc1k9TyxjLnBpeGVscy5udW1CbG9ja3NYPVQsYy5waXhlbHMucHRyPTA7dmFyIEU9MCx3PTAsQz0wLE49MCxJPTAsRD0wLHY9MCxMPTAsVT0wLEE9MCxTPTAsUD0wLEI9MCxqPTAsSD0wLGs9MCxLLFgsUixvdCxhdCxwdCx5dD1uZXcgbChfKl8pLHJ0PW0lX3x8XyxQdD1kJV98fF8sZ3QsQ3QsbXQ9cC5udW1EaW1zLHV0LHZ0PWMucGl4ZWxzLnJlc3VsdE1hc2ssenQ9Yy5waXhlbHMucmVzdWx0UGl4ZWxzO2ZvcihDPTA7QzxPO0MrKylmb3IoST1DIT09Ty0xP186cnQsTj0wO048VDtOKyspZm9yKEQ9TiE9PVQtMT9fOlB0LFM9QypkKl8rTipfLFA9ZC1ELHV0PTA7dXQ8bXQ7dXQrKyl7aWYobXQ+MSYmKHp0PW5ldyBsKGMucGl4ZWxzLnJlc3VsdFBpeGVscy5idWZmZXIsZCptKnV0KmIsZCptKSksdj11LmJ5dGVMZW5ndGgtYy5wdHIsSz1uZXcgRGF0YVZpZXcodSxjLnB0cixNYXRoLm1pbigxMCx2KSksWD17fSxrPTAsTD1LLmdldFVpbnQ4KDApLGsrKyxVPUw+PjYmMjU1LEE9TD4+MiYxNSxBIT09KE4qXz4+MyYxNSkpdGhyb3ciaW50ZWdyaXR5IGlzc3VlIjtpZihwdD1MJjMscHQ+Myl0aHJvdyBjLnB0cis9aywiSW52YWxpZCBibG9jayBlbmNvZGluZyAoIitwdCsiKSI7aWYocHQ9PT0yKXtjLmNvdW50ZXIuY29uc3RhbnQrKyxjLnB0cis9aztjb250aW51ZX1lbHNlIGlmKHB0PT09MCl7aWYoYy5jb3VudGVyLnVuY29tcHJlc3NlZCsrLGMucHRyKz1rLEI9SSpEKmIsaj11LmJ5dGVMZW5ndGgtYy5wdHIsQj1CPGo/QjpqLFI9bmV3IEFycmF5QnVmZmVyKEIlYj09PTA/QjpCK2ItQiViKSxvdD1uZXcgVWludDhBcnJheShSKSxvdC5zZXQobmV3IFVpbnQ4QXJyYXkodSxjLnB0cixCKSksYXQ9bmV3IGwoUiksSD0wLHZ0KWZvcihFPTA7RTxJO0UrKyl7Zm9yKHc9MDt3PEQ7dysrKXZ0W1NdJiYoenRbU109YXRbSCsrXSksUysrO1MrPVB9ZWxzZSBmb3IoRT0wO0U8STtFKyspe2Zvcih3PTA7dzxEO3crKyl6dFtTKytdPWF0W0grK107Uys9UH1jLnB0cis9SCpifWVsc2UgaWYoZ3Q9aS5nZXREYXRhVHlwZVVzZWQoZyxVKSxDdD1pLmdldE9uZVBpeGVsKFgsayxndCxLKSxrKz1pLmdldERhdGFUeXBlU2l6ZShndCkscHQ9PT0zKWlmKGMucHRyKz1rLGMuY291bnRlci5jb25zdGFudG9mZnNldCsrLHZ0KWZvcihFPTA7RTxJO0UrKyl7Zm9yKHc9MDt3PEQ7dysrKXZ0W1NdJiYoenRbU109Q3QpLFMrKztTKz1QfWVsc2UgZm9yKEU9MDtFPEk7RSsrKXtmb3Iodz0wO3c8RDt3KyspenRbUysrXT1DdDtTKz1QfWVsc2UgaWYoYy5wdHIrPWssaS5kZWNvZGVCaXRzKHUsYyx5dCxDdCx1dCksaz0wLHZ0KWZvcihFPTA7RTxJO0UrKyl7Zm9yKHc9MDt3PEQ7dysrKXZ0W1NdJiYoenRbU109eXRbaysrXSksUysrO1MrPVB9ZWxzZSBmb3IoRT0wO0U8STtFKyspe2Zvcih3PTA7dzxEO3crKyl6dFtTKytdPXl0W2srK107Uys9UH19fSxmb3JtYXRGaWxlSW5mbzpmdW5jdGlvbih1KXtyZXR1cm57ZmlsZUlkZW50aWZpZXJTdHJpbmc6dS5oZWFkZXJJbmZvLmZpbGVJZGVudGlmaWVyU3RyaW5nLGZpbGVWZXJzaW9uOnUuaGVhZGVySW5mby5maWxlVmVyc2lvbixpbWFnZVR5cGU6dS5oZWFkZXJJbmZvLmltYWdlVHlwZSxoZWlnaHQ6dS5oZWFkZXJJbmZvLmhlaWdodCx3aWR0aDp1LmhlYWRlckluZm8ud2lkdGgsbnVtVmFsaWRQaXhlbDp1LmhlYWRlckluZm8ubnVtVmFsaWRQaXhlbCxtaWNyb0Jsb2NrU2l6ZTp1LmhlYWRlckluZm8ubWljcm9CbG9ja1NpemUsYmxvYlNpemU6dS5oZWFkZXJJbmZvLmJsb2JTaXplLG1heFpFcnJvcjp1LmhlYWRlckluZm8ubWF4WkVycm9yLHBpeGVsVHlwZTppLmdldFBpeGVsVHlwZSh1LmhlYWRlckluZm8uaW1hZ2VUeXBlKSxlb2ZPZmZzZXQ6dS5lb2ZPZmZzZXQsbWFzazp1Lm1hc2s/e251bUJ5dGVzOnUubWFzay5udW1CeXRlc306bnVsbCxwaXhlbHM6e251bUJsb2Nrc1g6dS5waXhlbHMubnVtQmxvY2tzWCxudW1CbG9ja3NZOnUucGl4ZWxzLm51bUJsb2Nrc1ksbWF4VmFsdWU6dS5oZWFkZXJJbmZvLnpNYXgsbWluVmFsdWU6dS5oZWFkZXJJbmZvLnpNaW4sbm9EYXRhVmFsdWU6dS5ub0RhdGFWYWx1ZX19fSxjb25zdHJ1Y3RDb25zdGFudFN1cmZhY2U6ZnVuY3Rpb24odSl7dmFyIGM9dS5oZWFkZXJJbmZvLnpNYXgsbD11LmhlYWRlckluZm8ubnVtRGltcyxwPXUuaGVhZGVySW5mby5oZWlnaHQqdS5oZWFkZXJJbmZvLndpZHRoLGQ9cCpsLG09MCxfPTAsZz0wLGI9dS5waXhlbHMucmVzdWx0TWFzaztpZihiKWlmKGw+MSlmb3IobT0wO208bDttKyspZm9yKGc9bSpwLF89MDtfPHA7XysrKWJbX10mJih1LnBpeGVscy5yZXN1bHRQaXhlbHNbZytfXT1jKTtlbHNlIGZvcihfPTA7XzxwO18rKyliW19dJiYodS5waXhlbHMucmVzdWx0UGl4ZWxzW19dPWMpO2Vsc2UgaWYodS5waXhlbHMucmVzdWx0UGl4ZWxzLmZpbGwpdS5waXhlbHMucmVzdWx0UGl4ZWxzLmZpbGwoYyk7ZWxzZSBmb3IoXz0wO188ZDtfKyspdS5waXhlbHMucmVzdWx0UGl4ZWxzW19dPWN9LGdldERhdGFUeXBlQXJyYXk6ZnVuY3Rpb24odSl7dmFyIGM7c3dpdGNoKHUpe2Nhc2UgMDpjPUludDhBcnJheTticmVhaztjYXNlIDE6Yz1VaW50OEFycmF5O2JyZWFrO2Nhc2UgMjpjPUludDE2QXJyYXk7YnJlYWs7Y2FzZSAzOmM9VWludDE2QXJyYXk7YnJlYWs7Y2FzZSA0OmM9SW50MzJBcnJheTticmVhaztjYXNlIDU6Yz1VaW50MzJBcnJheTticmVhaztjYXNlIDY6Yz1GbG9hdDMyQXJyYXk7YnJlYWs7Y2FzZSA3OmM9RmxvYXQ2NEFycmF5O2JyZWFrO2RlZmF1bHQ6Yz1GbG9hdDMyQXJyYXl9cmV0dXJuIGN9LGdldFBpeGVsVHlwZTpmdW5jdGlvbih1KXt2YXIgYztzd2l0Y2godSl7Y2FzZSAwOmM9IlM4IjticmVhaztjYXNlIDE6Yz0iVTgiO2JyZWFrO2Nhc2UgMjpjPSJTMTYiO2JyZWFrO2Nhc2UgMzpjPSJVMTYiO2JyZWFrO2Nhc2UgNDpjPSJTMzIiO2JyZWFrO2Nhc2UgNTpjPSJVMzIiO2JyZWFrO2Nhc2UgNjpjPSJGMzIiO2JyZWFrO2Nhc2UgNzpjPSJGNjQiO2JyZWFrO2RlZmF1bHQ6Yz0iRjMyIn1yZXR1cm4gY30saXNWYWxpZFBpeGVsVmFsdWU6ZnVuY3Rpb24odSxjKXtpZihjPT1udWxsKXJldHVybiExO3ZhciBsO3N3aXRjaCh1KXtjYXNlIDA6bD1jPj0tMTI4JiZjPD0xMjc7YnJlYWs7Y2FzZSAxOmw9Yz49MCYmYzw9MjU1O2JyZWFrO2Nhc2UgMjpsPWM+PS0zMjc2OCYmYzw9MzI3Njc7YnJlYWs7Y2FzZSAzOmw9Yz49MCYmYzw9NjU1MzY7YnJlYWs7Y2FzZSA0Omw9Yz49LTIxNDc0ODM2NDgmJmM8PTIxNDc0ODM2NDc7YnJlYWs7Y2FzZSA1Omw9Yz49MCYmYzw9NDI5NDk2NzI5NjticmVhaztjYXNlIDY6bD1jPj0tMzQwMjc5OTkzODc5MDE0ODRlMjImJmM8PTM0MDI3OTk5Mzg3OTAxNDg0ZTIyO2JyZWFrO2Nhc2UgNzpsPWM+PTVlLTMyNCYmYzw9MTc5NzY5MzEzNDg2MjMxNTdlMjkyO2JyZWFrO2RlZmF1bHQ6bD0hMX1yZXR1cm4gbH0sZ2V0RGF0YVR5cGVTaXplOmZ1bmN0aW9uKHUpe3ZhciBjPTA7c3dpdGNoKHUpe2Nhc2UgMDpjYXNlIDE6Yz0xO2JyZWFrO2Nhc2UgMjpjYXNlIDM6Yz0yO2JyZWFrO2Nhc2UgNDpjYXNlIDU6Y2FzZSA2OmM9NDticmVhaztjYXNlIDc6Yz04O2JyZWFrO2RlZmF1bHQ6Yz11fXJldHVybiBjfSxnZXREYXRhVHlwZVVzZWQ6ZnVuY3Rpb24odSxjKXt2YXIgbD11O3N3aXRjaCh1KXtjYXNlIDI6Y2FzZSA0Omw9dS1jO2JyZWFrO2Nhc2UgMzpjYXNlIDU6bD11LTIqYzticmVhaztjYXNlIDY6Yz09PTA/bD11OmM9PT0xP2w9MjpsPTE7YnJlYWs7Y2FzZSA3OmM9PT0wP2w9dTpsPXUtMipjKzE7YnJlYWs7ZGVmYXVsdDpsPXU7YnJlYWt9cmV0dXJuIGx9LGdldE9uZVBpeGVsOmZ1bmN0aW9uKHUsYyxsLHApe3ZhciBkPTA7c3dpdGNoKGwpe2Nhc2UgMDpkPXAuZ2V0SW50OChjKTticmVhaztjYXNlIDE6ZD1wLmdldFVpbnQ4KGMpO2JyZWFrO2Nhc2UgMjpkPXAuZ2V0SW50MTYoYywhMCk7YnJlYWs7Y2FzZSAzOmQ9cC5nZXRVaW50MTYoYywhMCk7YnJlYWs7Y2FzZSA0OmQ9cC5nZXRJbnQzMihjLCEwKTticmVhaztjYXNlIDU6ZD1wLmdldFVJbnQzMihjLCEwKTticmVhaztjYXNlIDY6ZD1wLmdldEZsb2F0MzIoYywhMCk7YnJlYWs7Y2FzZSA3OmQ9cC5nZXRGbG9hdDY0KGMsITApO2JyZWFrO2RlZmF1bHQ6dGhyb3cidGhlIGRlY29kZXIgZG9lcyBub3QgdW5kZXJzdGFuZCB0aGlzIHBpeGVsIHR5cGUifXJldHVybiBkfX0scz1mdW5jdGlvbih1LGMsbCl7dGhpcy52YWw9dSx0aGlzLmxlZnQ9Yyx0aGlzLnJpZ2h0PWx9LGY9e2RlY29kZTpmdW5jdGlvbih1LGMpe2M9Y3x8e307dmFyIGw9Yy5ub0RhdGFWYWx1ZSxwPTAsZD17fTtpZihkLnB0cj1jLmlucHV0T2Zmc2V0fHwwLGQucGl4ZWxzPXt9LCEhaS5yZWFkSGVhZGVySW5mbyh1LGQpKXt2YXIgbT1kLmhlYWRlckluZm8sXz1tLmZpbGVWZXJzaW9uLGc9aS5nZXREYXRhVHlwZUFycmF5KG0uaW1hZ2VUeXBlKTtpLnJlYWRNYXNrKHUsZCksbS5udW1WYWxpZFBpeGVsIT09bS53aWR0aCptLmhlaWdodCYmIWQucGl4ZWxzLnJlc3VsdE1hc2smJihkLnBpeGVscy5yZXN1bHRNYXNrPWMubWFza0RhdGEpO3ZhciBiPW0ud2lkdGgqbS5oZWlnaHQ7aWYoZC5waXhlbHMucmVzdWx0UGl4ZWxzPW5ldyBnKGIqbS5udW1EaW1zKSxkLmNvdW50ZXI9e29uZXN3ZWVwOjAsdW5jb21wcmVzc2VkOjAsbHV0OjAsYml0c3R1ZmZlcjowLGNvbnN0YW50OjAsY29uc3RhbnRvZmZzZXQ6MH0sbS5udW1WYWxpZFBpeGVsIT09MClpZihtLnpNYXg9PT1tLnpNaW4paS5jb25zdHJ1Y3RDb25zdGFudFN1cmZhY2UoZCk7ZWxzZSBpZihfPj00JiZpLmNoZWNrTWluTWF4UmFuZ2VzKHUsZCkpaS5jb25zdHJ1Y3RDb25zdGFudFN1cmZhY2UoZCk7ZWxzZXt2YXIgVD1uZXcgRGF0YVZpZXcodSxkLnB0ciwyKSxPPVQuZ2V0VWludDgoMCk7aWYoZC5wdHIrKyxPKWkucmVhZERhdGFPbmVTd2VlcCh1LGQsZyk7ZWxzZSBpZihfPjEmJm0uaW1hZ2VUeXBlPD0xJiZNYXRoLmFicyhtLm1heFpFcnJvci0uNSk8MWUtNSl7dmFyIEU9VC5nZXRVaW50OCgxKTtpZihkLnB0cisrLGQuZW5jb2RlTW9kZT1FLEU+Mnx8Xzw0JiZFPjEpdGhyb3ciSW52YWxpZCBIdWZmbWFuIGZsYWcgIitFO0U/aS5yZWFkSHVmZm1hbih1LGQsZyk6aS5yZWFkVGlsZXModSxkLGcpfWVsc2UgaS5yZWFkVGlsZXModSxkLGcpfWQuZW9mT2Zmc2V0PWQucHRyO3ZhciB3O2MuaW5wdXRPZmZzZXQ/KHc9ZC5oZWFkZXJJbmZvLmJsb2JTaXplK2MuaW5wdXRPZmZzZXQtZC5wdHIsTWF0aC5hYnModyk+PTEmJihkLmVvZk9mZnNldD1jLmlucHV0T2Zmc2V0K2QuaGVhZGVySW5mby5ibG9iU2l6ZSkpOih3PWQuaGVhZGVySW5mby5ibG9iU2l6ZS1kLnB0cixNYXRoLmFicyh3KT49MSYmKGQuZW9mT2Zmc2V0PWQuaGVhZGVySW5mby5ibG9iU2l6ZSkpO3ZhciBDPXt3aWR0aDptLndpZHRoLGhlaWdodDptLmhlaWdodCxwaXhlbERhdGE6ZC5waXhlbHMucmVzdWx0UGl4ZWxzLG1pblZhbHVlOm0uek1pbixtYXhWYWx1ZTptLnpNYXgsdmFsaWRQaXhlbENvdW50Om0ubnVtVmFsaWRQaXhlbCxkaW1Db3VudDptLm51bURpbXMsZGltU3RhdHM6e21pblZhbHVlczptLm1pblZhbHVlcyxtYXhWYWx1ZXM6bS5tYXhWYWx1ZXN9LG1hc2tEYXRhOmQucGl4ZWxzLnJlc3VsdE1hc2t9O2lmKGQucGl4ZWxzLnJlc3VsdE1hc2smJmkuaXNWYWxpZFBpeGVsVmFsdWUobS5pbWFnZVR5cGUsbCkpe3ZhciBOPWQucGl4ZWxzLnJlc3VsdE1hc2s7Zm9yKHA9MDtwPGI7cCsrKU5bcF18fChDLnBpeGVsRGF0YVtwXT1sKTtDLm5vRGF0YVZhbHVlPWx9cmV0dXJuIGQubm9EYXRhVmFsdWU9bCxjLnJldHVybkZpbGVJbmZvJiYoQy5maWxlSW5mbz1pLmZvcm1hdEZpbGVJbmZvKGQpKSxDfX0sZ2V0QmFuZENvdW50OmZ1bmN0aW9uKHUpe3ZhciBjPTAsbD0wLHA9e307Zm9yKHAucHRyPTAscC5waXhlbHM9e307bDx1LmJ5dGVMZW5ndGgtNTg7KWkucmVhZEhlYWRlckluZm8odSxwKSxsKz1wLmhlYWRlckluZm8uYmxvYlNpemUsYysrLHAucHRyPWw7cmV0dXJuIGN9fTtyZXR1cm4gZn0oKSxuPWZ1bmN0aW9uKCl7dmFyIHI9bmV3IEFycmF5QnVmZmVyKDQpLGk9bmV3IFVpbnQ4QXJyYXkocikscz1uZXcgVWludDMyQXJyYXkocik7cmV0dXJuIHNbMF09MSxpWzBdPT09MX0oKSxvPXtkZWNvZGU6ZnVuY3Rpb24ocixpKXtpZighbil0aHJvdyJCaWcgZW5kaWFuIHN5c3RlbSBpcyBub3Qgc3VwcG9ydGVkLiI7aT1pfHx7fTt2YXIgcz1pLmlucHV0T2Zmc2V0fHwwLGY9bmV3IFVpbnQ4QXJyYXkocixzLDEwKSx1PVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxmKSxjLGw7aWYodS50cmltKCk9PT0iQ250WkltYWdlIiljPXQsbD0xO2Vsc2UgaWYodS5zdWJzdHJpbmcoMCw1KT09PSJMZXJjMiIpYz1lLGw9MjtlbHNlIHRocm93IlVuZXhwZWN0ZWQgZmlsZSBpZGVudGlmaWVyIHN0cmluZzogIit1O2Zvcih2YXIgcD0wLGQ9ci5ieXRlTGVuZ3RoLTEwLG0sXz1bXSxnLGIsVD17d2lkdGg6MCxoZWlnaHQ6MCxwaXhlbHM6W10scGl4ZWxUeXBlOmkucGl4ZWxUeXBlLG1hc2s6bnVsbCxzdGF0aXN0aWNzOltdfTtzPGQ7KXt2YXIgTz1jLmRlY29kZShyLHtpbnB1dE9mZnNldDpzLGVuY29kZWRNYXNrRGF0YTptLG1hc2tEYXRhOmIscmV0dXJuTWFzazpwPT09MCxyZXR1cm5FbmNvZGVkTWFzazpwPT09MCxyZXR1cm5GaWxlSW5mbzohMCxwaXhlbFR5cGU6aS5waXhlbFR5cGV8fG51bGwsbm9EYXRhVmFsdWU6aS5ub0RhdGFWYWx1ZXx8bnVsbH0pO3M9Ty5maWxlSW5mby5lb2ZPZmZzZXQscD09PTAmJihtPU8uZW5jb2RlZE1hc2tEYXRhLGI9Ty5tYXNrRGF0YSxULndpZHRoPU8ud2lkdGgsVC5oZWlnaHQ9Ty5oZWlnaHQsVC5kaW1Db3VudD1PLmRpbUNvdW50fHwxLFQucGl4ZWxUeXBlPU8ucGl4ZWxUeXBlfHxPLmZpbGVJbmZvLnBpeGVsVHlwZSxULm1hc2s9Ty5tYXNrRGF0YSksbD4xJiZPLmZpbGVJbmZvLm1hc2smJk8uZmlsZUluZm8ubWFzay5udW1CeXRlcz4wJiZfLnB1c2goTy5tYXNrRGF0YSkscCsrLFQucGl4ZWxzLnB1c2goTy5waXhlbERhdGEpLFQuc3RhdGlzdGljcy5wdXNoKHttaW5WYWx1ZTpPLm1pblZhbHVlLG1heFZhbHVlOk8ubWF4VmFsdWUsbm9EYXRhVmFsdWU6Ty5ub0RhdGFWYWx1ZSxkaW1TdGF0czpPLmRpbVN0YXRzfSl9dmFyIEUsdyxDO2lmKGw+MSYmXy5sZW5ndGg+MSl7Zm9yKEM9VC53aWR0aCpULmhlaWdodCxULmJhbmRNYXNrcz1fLGI9bmV3IFVpbnQ4QXJyYXkoQyksYi5zZXQoX1swXSksRT0xO0U8Xy5sZW5ndGg7RSsrKWZvcihnPV9bRV0sdz0wO3c8Qzt3KyspYlt3XT1iW3ddJmdbd107VC5tYXNrRGF0YT1ifXJldHVybiBUfX07dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gb30pOnR5cGVvZiBaZDwidSImJlpkLmV4cG9ydHM/WmQuZXhwb3J0cz1vOnRoaXMuTGVyYz1vfSkoKX0pO3ZhciBmZz17fTtkZShmZyx7ZGVmYXVsdDooKT0+X1V9KTtmdW5jdGlvbiBoVSh0LGUpe2lmKHQuZW5jb2Rpbmc9PT0kUi5MRVJDKXtsZXQgcjt0cnl7cj1lMi5kZWZhdWx0LmRlY29kZSh0LmhlaWdodG1hcCl9Y2F0Y2gocyl7dGhyb3cgbmV3IEFlKHMpfWlmKHIuc3RhdGlzdGljc1swXS5taW5WYWx1ZT09PU51bWJlci5NQVhfVkFMVUUpdGhyb3cgbmV3IEFlKCJJbnZhbGlkIHRpbGUgZGF0YSIpO3QuaGVpZ2h0bWFwPXIucGl4ZWxzWzBdLHQud2lkdGg9ci53aWR0aCx0LmhlaWdodD1yLmhlaWdodH10LmVsbGlwc29pZD0kLmNsb25lKHQuZWxsaXBzb2lkKSx0LnJlY3RhbmdsZT1OdC5jbG9uZSh0LnJlY3RhbmdsZSk7bGV0IG49UVIuY29tcHV0ZVZlcnRpY2VzKHQpLG89bi52ZXJ0aWNlcztyZXR1cm4gZS5wdXNoKG8uYnVmZmVyKSx7dmVydGljZXM6by5idWZmZXIsbnVtYmVyT2ZBdHRyaWJ1dGVzOm4uZW5jb2Rpbmcuc3RyaWRlLG1pbmltdW1IZWlnaHQ6bi5taW5pbXVtSGVpZ2h0LG1heGltdW1IZWlnaHQ6bi5tYXhpbXVtSGVpZ2h0LGdyaWRXaWR0aDp0LndpZHRoLGdyaWRIZWlnaHQ6dC5oZWlnaHQsYm91bmRpbmdTcGhlcmUzRDpuLmJvdW5kaW5nU3BoZXJlM0Qsb3JpZW50ZWRCb3VuZGluZ0JveDpuLm9yaWVudGVkQm91bmRpbmdCb3gsb2NjbHVkZWVQb2ludEluU2NhbGVkU3BhY2U6bi5vY2NsdWRlZVBvaW50SW5TY2FsZWRTcGFjZSxlbmNvZGluZzpuLmVuY29kaW5nLHdlc3RJbmRpY2VzU291dGhUb05vcnRoOm4ud2VzdEluZGljZXNTb3V0aFRvTm9ydGgsc291dGhJbmRpY2VzRWFzdFRvV2VzdDpuLnNvdXRoSW5kaWNlc0Vhc3RUb1dlc3QsZWFzdEluZGljZXNOb3J0aFRvU291dGg6bi5lYXN0SW5kaWNlc05vcnRoVG9Tb3V0aCxub3J0aEluZGljZXNXZXN0VG9FYXN0Om4ubm9ydGhJbmRpY2VzV2VzdFRvRWFzdH19dmFyIGUyLF9VLHVnPVooKCk9PntadCgpO1pSKCk7SlIoKTt3bigpO0pyKCk7ZTI9ZHIodDIoKSwxKTtzbygpO19VPVFlKGhVKX0pO2Z1bmN0aW9uIFZvKCl7Ri50aHJvd0luc3RhbnRpYXRpb25FcnJvcigpfWZ1bmN0aW9uIGkyKHQsZSl7bGV0IG49bmV3IEFycmF5KGUpLG89bmV3IEFycmF5KHQpLHI9bmV3IEFycmF5KGUpLGk9bmV3IEFycmF5KHQpLHM7Zm9yKHM9MDtzPHQ7KytzKWlbc109cyxvW3NdPXQqZS0xLXM7Zm9yKHM9MDtzPGU7KytzKXJbc109KHMrMSkqdC0xLG5bc109KGUtcy0xKSp0O3JldHVybnt3ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aDpuLHNvdXRoSW5kaWNlc0Vhc3RUb1dlc3Q6byxlYXN0SW5kaWNlc05vcnRoVG9Tb3V0aDpyLG5vcnRoSW5kaWNlc1dlc3RUb0Vhc3Q6aX19ZnVuY3Rpb24gczIodCxlLG4sbyl7bGV0IHI9MDtmb3IobGV0IGk9MDtpPGUtMTsrK2kpe2ZvcihsZXQgcz0wO3M8dC0xOysrcyl7bGV0IGY9cix1PWYrdCxjPXUrMSxsPWYrMTtuW28rK109ZixuW28rK109dSxuW28rK109bCxuW28rK109bCxuW28rK109dSxuW28rK109YywrK3J9KytyfX1mdW5jdGlvbiBRZCh0LGUsbixvKXtsZXQgcj10WzBdLGk9dC5sZW5ndGg7Zm9yKGxldCBzPTE7czxpOysrcyl7bGV0IGY9dFtzXTtuW28rK109cixuW28rK109ZixuW28rK109ZSxuW28rK109ZSxuW28rK109ZixuW28rK109ZSsxLHI9ZiwrK2V9cmV0dXJuIG99dmFyIG4yLG8yLHIyLGMyLGEyPVooKCk9PntmdCgpO0h0KCk7JGUoKTtXdCgpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFZvLnByb3RvdHlwZSx7ZXJyb3JFdmVudDp7Z2V0OkYudGhyb3dJbnN0YW50aWF0aW9uRXJyb3J9LGNyZWRpdDp7Z2V0OkYudGhyb3dJbnN0YW50aWF0aW9uRXJyb3J9LHRpbGluZ1NjaGVtZTp7Z2V0OkYudGhyb3dJbnN0YW50aWF0aW9uRXJyb3J9LGhhc1dhdGVyTWFzazp7Z2V0OkYudGhyb3dJbnN0YW50aWF0aW9uRXJyb3J9LGhhc1ZlcnRleE5vcm1hbHM6e2dldDpGLnRocm93SW5zdGFudGlhdGlvbkVycm9yfSxhdmFpbGFiaWxpdHk6e2dldDpGLnRocm93SW5zdGFudGlhdGlvbkVycm9yfX0pO24yPVtdO1ZvLmdldFJlZ3VsYXJHcmlkSW5kaWNlcz1mdW5jdGlvbih0LGUpe2lmKHQqZT49TS5GT1VSX0dJR0FCWVRFUyl0aHJvdyBuZXcgRigiVGhlIHRvdGFsIG51bWJlciBvZiB2ZXJ0aWNlcyAod2lkdGggKiBoZWlnaHQpIG11c3QgYmUgbGVzcyB0aGFuIDQsMjk0LDk2NywyOTYuIik7bGV0IG49bjJbdF07aChuKXx8KG4yW3RdPW49W10pO2xldCBvPW5bZV07cmV0dXJuIGgobyl8fCh0KmU8TS5TSVhUWV9GT1VSX0tJTE9CWVRFUz9vPW5bZV09bmV3IFVpbnQxNkFycmF5KCh0LTEpKihlLTEpKjYpOm89bltlXT1uZXcgVWludDMyQXJyYXkoKHQtMSkqKGUtMSkqNiksczIodCxlLG8sMCkpLG99O28yPVtdO1ZvLmdldFJlZ3VsYXJHcmlkSW5kaWNlc0FuZEVkZ2VJbmRpY2VzPWZ1bmN0aW9uKHQsZSl7aWYodCplPj1NLkZPVVJfR0lHQUJZVEVTKXRocm93IG5ldyBGKCJUaGUgdG90YWwgbnVtYmVyIG9mIHZlcnRpY2VzICh3aWR0aCAqIGhlaWdodCkgbXVzdCBiZSBsZXNzIHRoYW4gNCwyOTQsOTY3LDI5Ni4iKTtsZXQgbj1vMlt0XTtoKG4pfHwobzJbdF09bj1bXSk7bGV0IG89bltlXTtpZighaChvKSl7bGV0IHI9Vm8uZ2V0UmVndWxhckdyaWRJbmRpY2VzKHQsZSksaT1pMih0LGUpLHM9aS53ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aCxmPWkuc291dGhJbmRpY2VzRWFzdFRvV2VzdCx1PWkuZWFzdEluZGljZXNOb3J0aFRvU291dGgsYz1pLm5vcnRoSW5kaWNlc1dlc3RUb0Vhc3Q7bz1uW2VdPXtpbmRpY2VzOnIsd2VzdEluZGljZXNTb3V0aFRvTm9ydGg6cyxzb3V0aEluZGljZXNFYXN0VG9XZXN0OmYsZWFzdEluZGljZXNOb3J0aFRvU291dGg6dSxub3J0aEluZGljZXNXZXN0VG9FYXN0OmN9fXJldHVybiBvfTtyMj1bXTtWby5nZXRSZWd1bGFyR3JpZEFuZFNraXJ0SW5kaWNlc0FuZEVkZ2VJbmRpY2VzPWZ1bmN0aW9uKHQsZSl7aWYodCplPj1NLkZPVVJfR0lHQUJZVEVTKXRocm93IG5ldyBGKCJUaGUgdG90YWwgbnVtYmVyIG9mIHZlcnRpY2VzICh3aWR0aCAqIGhlaWdodCkgbXVzdCBiZSBsZXNzIHRoYW4gNCwyOTQsOTY3LDI5Ni4iKTtsZXQgbj1yMlt0XTtoKG4pfHwocjJbdF09bj1bXSk7bGV0IG89bltlXTtpZighaChvKSl7bGV0IHI9dCplLGk9KHQtMSkqKGUtMSkqNixzPXQqMitlKjIsZj1NYXRoLm1heCgwLHMtNCkqNix1PXIrcyxjPWkrZixsPWkyKHQsZSkscD1sLndlc3RJbmRpY2VzU291dGhUb05vcnRoLGQ9bC5zb3V0aEluZGljZXNFYXN0VG9XZXN0LG09bC5lYXN0SW5kaWNlc05vcnRoVG9Tb3V0aCxfPWwubm9ydGhJbmRpY2VzV2VzdFRvRWFzdCxnPUR0LmNyZWF0ZVR5cGVkQXJyYXkodSxjKTtzMih0LGUsZywwKSxWby5hZGRTa2lydEluZGljZXMocCxkLG0sXyxyLGcsaSksbz1uW2VdPXtpbmRpY2VzOmcsd2VzdEluZGljZXNTb3V0aFRvTm9ydGg6cCxzb3V0aEluZGljZXNFYXN0VG9XZXN0OmQsZWFzdEluZGljZXNOb3J0aFRvU291dGg6bSxub3J0aEluZGljZXNXZXN0VG9FYXN0Ol8saW5kZXhDb3VudFdpdGhvdXRTa2lydHM6aX19cmV0dXJuIG99O1ZvLmFkZFNraXJ0SW5kaWNlcz1mdW5jdGlvbih0LGUsbixvLHIsaSxzKXtsZXQgZj1yO3M9UWQodCxmLGkscyksZis9dC5sZW5ndGgscz1RZChlLGYsaSxzKSxmKz1lLmxlbmd0aCxzPVFkKG4sZixpLHMpLGYrPW4ubGVuZ3RoLFFkKG8sZixpLHMpfTtWby5oZWlnaHRtYXBUZXJyYWluUXVhbGl0eT0uMjU7Vm8uZ2V0RXN0aW1hdGVkTGV2ZWxaZXJvR2VvbWV0cmljRXJyb3JGb3JBSGVpZ2h0bWFwPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdC5tYXhpbXVtUmFkaXVzKjIqTWF0aC5QSSpWby5oZWlnaHRtYXBUZXJyYWluUXVhbGl0eS8oZSpuKX07Vm8ucHJvdG90eXBlLnJlcXVlc3RUaWxlR2VvbWV0cnk9Ri50aHJvd0luc3RhbnRpYXRpb25FcnJvcjtWby5wcm90b3R5cGUuZ2V0TGV2ZWxNYXhpbXVtR2VvbWV0cmljRXJyb3I9Ri50aHJvd0luc3RhbnRpYXRpb25FcnJvcjtWby5wcm90b3R5cGUuZ2V0VGlsZURhdGFBdmFpbGFibGU9Ri50aHJvd0luc3RhbnRpYXRpb25FcnJvcjtWby5wcm90b3R5cGUubG9hZFRpbGVEYXRhQXZhaWxhYmlsaXR5PUYudGhyb3dJbnN0YW50aWF0aW9uRXJyb3I7YzI9Vm99KTt2YXIgcGc9e307ZGUocGcse2RlZmF1bHQ6KCk9PmJVfSk7ZnVuY3Rpb24gQVUodCxlKXtsZXQgbj10LnF1YW50aXplZFZlcnRpY2VzLG89bi5sZW5ndGgvMyxyPXQub2N0RW5jb2RlZE5vcm1hbHMsaT10Lndlc3RJbmRpY2VzLmxlbmd0aCt0LmVhc3RJbmRpY2VzLmxlbmd0aCt0LnNvdXRoSW5kaWNlcy5sZW5ndGgrdC5ub3J0aEluZGljZXMubGVuZ3RoLHM9dC5pbmNsdWRlV2ViTWVyY2F0b3JULGY9dC5leGFnZ2VyYXRpb24sdT10LmV4YWdnZXJhdGlvblJlbGF0aXZlSGVpZ2h0LGw9ZiE9PTEscD1OdC5jbG9uZSh0LnJlY3RhbmdsZSksZD1wLndlc3QsbT1wLnNvdXRoLF89cC5lYXN0LGc9cC5ub3J0aCxiPSQuY2xvbmUodC5lbGxpcHNvaWQpLFQ9dC5taW5pbXVtSGVpZ2h0LE89dC5tYXhpbXVtSGVpZ2h0LEU9dC5yZWxhdGl2ZVRvQ2VudGVyLHc9WG8uZWFzdE5vcnRoVXBUb0ZpeGVkRnJhbWUoRSxiKSxDPXN0LmludmVyc2VUcmFuc2Zvcm1hdGlvbih3LG5ldyBzdCksTixJO3MmJihOPW5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUobSksST0xLyhuby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlKGcpLU4pKTtsZXQgRD1uLnN1YmFycmF5KDAsbyksdj1uLnN1YmFycmF5KG8sMipvKSxMPW4uc3ViYXJyYXkobyoyLDMqbyksVT1oKHIpLEE9bmV3IEFycmF5KG8pLFM9bmV3IEFycmF5KG8pLFA9bmV3IEFycmF5KG8pLEI9cz9uZXcgQXJyYXkobyk6W10saj1sP25ldyBBcnJheShvKTpbXSxIPXlVO0gueD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksSC55PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxILno9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2xldCBrPWdVO2sueD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksay55PU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxrLno9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2xldCBLPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxYPU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxSPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxvdD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7Zm9yKGxldCAkdD0wOyR0PG87KyskdCl7bGV0IEdlPURbJHRdLGRuPXZbJHRdLHNuPUdlL2xnLG1uPWRuL2xnLGZvPU0ubGVycChULE8sTFskdF0vbGcpO1puLmxvbmdpdHVkZT1NLmxlcnAoZCxfLHNuKSxabi5sYXRpdHVkZT1NLmxlcnAobSxnLG1uKSxabi5oZWlnaHQ9Zm8sSz1NYXRoLm1pbihabi5sb25naXR1ZGUsSyksWD1NYXRoLm1heChabi5sb25naXR1ZGUsWCksUj1NYXRoLm1pbihabi5sYXRpdHVkZSxSKSxvdD1NYXRoLm1heChabi5sYXRpdHVkZSxvdCk7bGV0IEhuPWIuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oWm4pO0FbJHRdPW5ldyB0dChzbixtbiksU1skdF09Zm8sUFskdF09SG4scyYmKEJbJHRdPShuby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlKFpuLmxhdGl0dWRlKS1OKSpJKSxsJiYoalskdF09Yi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoSG4pKSxzdC5tdWx0aXBseUJ5UG9pbnQoQyxIbixmdSksYS5taW5pbXVtQnlDb21wb25lbnQoZnUsSCxIKSxhLm1heGltdW1CeUNvbXBvbmVudChmdSxrLGspfWxldCBhdD1lbSh0Lndlc3RJbmRpY2VzLGZ1bmN0aW9uKCR0LEdlKXtyZXR1cm4gQVskdF0ueS1BW0dlXS55fSkscHQ9ZW0odC5lYXN0SW5kaWNlcyxmdW5jdGlvbigkdCxHZSl7cmV0dXJuIEFbR2VdLnktQVskdF0ueX0pLHl0PWVtKHQuc291dGhJbmRpY2VzLGZ1bmN0aW9uKCR0LEdlKXtyZXR1cm4gQVtHZV0ueC1BWyR0XS54fSkscnQ9ZW0odC5ub3J0aEluZGljZXMsZnVuY3Rpb24oJHQsR2Upe3JldHVybiBBWyR0XS54LUFbR2VdLnh9KSxQdDtUPDAmJihQdD1uZXcgeHMoYikuY29tcHV0ZUhvcml6b25DdWxsaW5nUG9pbnRQb3NzaWJseVVuZGVyRWxsaXBzb2lkKEUsUCxUKSk7bGV0IGd0PVQ7Z3Q9TWF0aC5taW4oZ3QsSmQodC53ZXN0SW5kaWNlcyx0Lndlc3RTa2lydEhlaWdodCxTLEEscCxiLEMsSCxrKSksZ3Q9TWF0aC5taW4oZ3QsSmQodC5zb3V0aEluZGljZXMsdC5zb3V0aFNraXJ0SGVpZ2h0LFMsQSxwLGIsQyxILGspKSxndD1NYXRoLm1pbihndCxKZCh0LmVhc3RJbmRpY2VzLHQuZWFzdFNraXJ0SGVpZ2h0LFMsQSxwLGIsQyxILGspKSxndD1NYXRoLm1pbihndCxKZCh0Lm5vcnRoSW5kaWNlcyx0Lm5vcnRoU2tpcnRIZWlnaHQsUyxBLHAsYixDLEgsaykpO2xldCBDdD1uZXcgRGkoSCxrLEUpLG10PW5ldyBQcyhFLEN0LGd0LE8sdyxVLHMsbCxmLHUpLHV0PW10LnN0cmlkZSx2dD1vKnV0K2kqdXQsenQ9bmV3IEZsb2F0MzJBcnJheSh2dCksbWU9MDtmb3IobGV0ICR0PTA7JHQ8bzsrKyR0KXtpZihVKXtsZXQgR2U9JHQqMjtWYS54PXJbR2VdLFZhLnk9cltHZSsxXX1tZT1tdC5lbmNvZGUoenQsbWUsUFskdF0sQVskdF0sU1skdF0sVmEsQlskdF0salskdF0pfWxldCBhZT1NYXRoLm1heCgwLChpLTQpKjIpLHBlPXQuaW5kaWNlcy5sZW5ndGgrYWUqMyx1ZT1EdC5jcmVhdGVUeXBlZEFycmF5KG8raSxwZSk7dWUuc2V0KHQuaW5kaWNlcywwKTtsZXQgUXQ9MWUtNCxKdD0oWC1LKSpRdCxOZT0ob3QtUikqUXQsZ2U9LUp0LEVlPTAsdW49SnQsa2U9MCxiZT0wLGxuPU5lLHBuPTAsRW49LU5lLHJlPW8qdXQ7cmV0dXJuIHRtKHp0LHJlLGF0LG10LFMsQSxyLGIscCx0Lndlc3RTa2lydEhlaWdodCxOLEksZ2UsRWUpLHJlKz10Lndlc3RJbmRpY2VzLmxlbmd0aCp1dCx0bSh6dCxyZSx5dCxtdCxTLEEscixiLHAsdC5zb3V0aFNraXJ0SGVpZ2h0LE4sSSxwbixFbikscmUrPXQuc291dGhJbmRpY2VzLmxlbmd0aCp1dCx0bSh6dCxyZSxwdCxtdCxTLEEscixiLHAsdC5lYXN0U2tpcnRIZWlnaHQsTixJLHVuLGtlKSxyZSs9dC5lYXN0SW5kaWNlcy5sZW5ndGgqdXQsdG0oenQscmUscnQsbXQsUyxBLHIsYixwLHQubm9ydGhTa2lydEhlaWdodCxOLEksYmUsbG4pLGMyLmFkZFNraXJ0SW5kaWNlcyhhdCx5dCxwdCxydCxvLHVlLHQuaW5kaWNlcy5sZW5ndGgpLGUucHVzaCh6dC5idWZmZXIsdWUuYnVmZmVyKSx7dmVydGljZXM6enQuYnVmZmVyLGluZGljZXM6dWUuYnVmZmVyLHdlc3RJbmRpY2VzU291dGhUb05vcnRoOmF0LHNvdXRoSW5kaWNlc0Vhc3RUb1dlc3Q6eXQsZWFzdEluZGljZXNOb3J0aFRvU291dGg6cHQsbm9ydGhJbmRpY2VzV2VzdFRvRWFzdDpydCx2ZXJ0ZXhTdHJpZGU6dXQsY2VudGVyOkUsbWluaW11bUhlaWdodDpULG1heGltdW1IZWlnaHQ6TyxvY2NsdWRlZVBvaW50SW5TY2FsZWRTcGFjZTpQdCxlbmNvZGluZzptdCxpbmRleENvdW50V2l0aG91dFNraXJ0czp0LmluZGljZXMubGVuZ3RofX1mdW5jdGlvbiBKZCh0LGUsbixvLHIsaSxzLGYsdSl7bGV0IGM9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGw9ci5ub3J0aCxwPXIuc291dGgsZD1yLmVhc3QsbT1yLndlc3Q7ZDxtJiYoZCs9TS5UV09fUEkpO2xldCBfPXQubGVuZ3RoO2ZvcihsZXQgZz0wO2c8XzsrK2cpe2xldCBiPXRbZ10sVD1uW2JdLE89b1tiXTtabi5sb25naXR1ZGU9TS5sZXJwKG0sZCxPLngpLFpuLmxhdGl0dWRlPU0ubGVycChwLGwsTy55KSxabi5oZWlnaHQ9VC1lO2xldCBFPWkuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oWm4sZnUpO3N0Lm11bHRpcGx5QnlQb2ludChzLEUsRSksYS5taW5pbXVtQnlDb21wb25lbnQoRSxmLGYpLGEubWF4aW11bUJ5Q29tcG9uZW50KEUsdSx1KSxjPU1hdGgubWluKGMsWm4uaGVpZ2h0KX1yZXR1cm4gY31mdW5jdGlvbiB0bSh0LGUsbixvLHIsaSxzLGYsdSxjLGwscCxkLG0pe2xldCBfPWgocyksZz11Lm5vcnRoLGI9dS5zb3V0aCxUPXUuZWFzdCxPPXUud2VzdDtUPE8mJihUKz1NLlRXT19QSSk7bGV0IEU9bi5sZW5ndGg7Zm9yKGxldCB3PTA7dzxFOysrdyl7bGV0IEM9blt3XSxOPXJbQ10sST1pW0NdO1puLmxvbmdpdHVkZT1NLmxlcnAoTyxULEkueCkrZCxabi5sYXRpdHVkZT1NLmxlcnAoYixnLEkueSkrbSxabi5oZWlnaHQ9Ti1jO2xldCBEPWYuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oWm4sZnUpO2lmKF8pe2xldCBVPUMqMjtWYS54PXNbVV0sVmEueT1zW1UrMV19bGV0IHY7by5oYXNXZWJNZXJjYXRvclQmJih2PShuby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlKFpuLmxhdGl0dWRlKS1sKSpwKTtsZXQgTDtvLmhhc0dlb2RldGljU3VyZmFjZU5vcm1hbHMmJihMPWYuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKEQpKSxlPW8uZW5jb2RlKHQsZSxELEksWm4uaGVpZ2h0LFZhLHYsTCl9fWZ1bmN0aW9uIGVtKHQsZSl7bGV0IG47cmV0dXJuIHR5cGVvZiB0LnNsaWNlPT0iZnVuY3Rpb24iJiYobj10LnNsaWNlKCksdHlwZW9mIG4uc29ydCE9ImZ1bmN0aW9uIiYmKG49dm9pZCAwKSksaChuKXx8KG49QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwodCkpLG4uc29ydChlKSxufXZhciBsZyxmdSx5VSxnVSxabixWYSxiVSxkZz1aKCgpPT57TWYoKTtVZSgpO0Z0KCk7SWUoKTtmdCgpO1p0KCk7c3UoKTskZSgpO1d0KCk7VW4oKTt3bigpO2N1KCk7YTIoKTtjcygpO2ljKCk7c28oKTtsZz0zMjc2NyxmdT1uZXcgYSx5VT1uZXcgYSxnVT1uZXcgYSxabj1uZXcgY3QsVmE9bmV3IHR0O2JVPVFlKEFVKX0pO2Z1bmN0aW9uIFRVKHQsZSl7cmV0dXJuIE0uZXF1YWxzRXBzaWxvbih0LmxhdGl0dWRlLGUubGF0aXR1ZGUsTS5FUFNJTE9OMTApJiZNLmVxdWFsc0Vwc2lsb24odC5sb25naXR1ZGUsZS5sb25naXR1ZGUsTS5FUFNJTE9OMTApfWZ1bmN0aW9uIEVVKHQsZSxuLG8pe2U9eG4oZSxhLmVxdWFsc0Vwc2lsb24pO2xldCByPWUubGVuZ3RoO2lmKHI8MilyZXR1cm47bGV0IGk9aChvKSxzPWgobiksZj1uZXcgQXJyYXkociksdT1uZXcgQXJyYXkociksYz1uZXcgQXJyYXkociksbD1lWzBdO2ZbMF09bDtsZXQgcD10LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGwsd1UpO3MmJihwLmhlaWdodD1uWzBdKSx1WzBdPXAuaGVpZ2h0LGk/Y1swXT1vWzBdOmNbMF09MDtsZXQgZD11WzBdLG09Y1swXSxfPWQ9PT1tLGc9MTtmb3IobGV0IGI9MTtiPHI7KytiKXtsZXQgVD1lW2JdLE89dC5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhULE9VKTtzJiYoTy5oZWlnaHQ9bltiXSksXz1fJiZPLmhlaWdodD09PTAsVFUocCxPKT9wLmhlaWdodDxPLmhlaWdodCYmKHVbZy0xXT1PLmhlaWdodCk6KGZbZ109VCx1W2ddPU8uaGVpZ2h0LGk/Y1tnXT1vW2JdOmNbZ109MCxfPV8mJnVbZ109PT1jW2ddLGN0LmNsb25lKE8scCksKytnKX1pZighKF98fGc8MikpcmV0dXJuIGYubGVuZ3RoPWcsdS5sZW5ndGg9ZyxjLmxlbmd0aD1nLHtwb3NpdGlvbnM6Zix0b3BIZWlnaHRzOnUsYm90dG9tSGVpZ2h0czpjfX12YXIgZjIsd1UsT1UsUlUsU1UsQ1Usbm0sbWc9WigoKT0+e2pyKCk7RnQoKTtJZSgpO2Z0KCk7V3QoKTtnYSgpO2YyPXt9O3dVPW5ldyBjdCxPVT1uZXcgY3Q7UlU9bmV3IEFycmF5KDIpLFNVPW5ldyBBcnJheSgyKSxDVT17cG9zaXRpb25zOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMCxlbGxpcHNvaWQ6dm9pZCAwfTtmMi5jb21wdXRlUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSxuLG8scixpKXtsZXQgcz1FVSh0LGUsbixvKTtpZighaChzKSlyZXR1cm47ZT1zLnBvc2l0aW9ucyxuPXMudG9wSGVpZ2h0cyxvPXMuYm90dG9tSGVpZ2h0cztsZXQgZj1lLmxlbmd0aCx1PWYtMixjLGwscD1NLmNob3JkTGVuZ3RoKHIsdC5tYXhpbXVtUmFkaXVzKSxkPUNVO2lmKGQubWluRGlzdGFuY2U9cCxkLmVsbGlwc29pZD10LGkpe2xldCBtPTAsXztmb3IoXz0wO188Zi0xO18rKyltKz1Bbi5udW1iZXJPZlBvaW50cyhlW19dLGVbXysxXSxwKSsxO2M9bmV3IEZsb2F0NjRBcnJheShtKjMpLGw9bmV3IEZsb2F0NjRBcnJheShtKjMpO2xldCBnPVJVLGI9U1U7ZC5wb3NpdGlvbnM9ZyxkLmhlaWdodD1iO2xldCBUPTA7Zm9yKF89MDtfPGYtMTtfKyspe2dbMF09ZVtfXSxnWzFdPWVbXysxXSxiWzBdPW5bX10sYlsxXT1uW18rMV07bGV0IE89QW4uZ2VuZXJhdGVBcmMoZCk7Yy5zZXQoTyxUKSxiWzBdPW9bX10sYlsxXT1vW18rMV0sbC5zZXQoQW4uZ2VuZXJhdGVBcmMoZCksVCksVCs9Ty5sZW5ndGh9fWVsc2UgZC5wb3NpdGlvbnM9ZSxkLmhlaWdodD1uLGM9bmV3IEZsb2F0NjRBcnJheShBbi5nZW5lcmF0ZUFyYyhkKSksZC5oZWlnaHQ9byxsPW5ldyBGbG9hdDY0QXJyYXkoQW4uZ2VuZXJhdGVBcmMoZCkpO3JldHVybntib3R0b21Qb3NpdGlvbnM6bCx0b3BQb3NpdGlvbnM6YyxudW1Db3JuZXJzOnV9fTtubT1mMn0pO2Z1bmN0aW9uIEVjKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvc2l0aW9ucyxuPXQubWF4aW11bUhlaWdodHMsbz10Lm1pbmltdW1IZWlnaHRzO2lmKCFoKGUpKXRocm93IG5ldyBGKCJvcHRpb25zLnBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtpZihoKG4pJiZuLmxlbmd0aCE9PWUubGVuZ3RoKXRocm93IG5ldyBGKCJvcHRpb25zLnBvc2l0aW9ucyBhbmQgb3B0aW9ucy5tYXhpbXVtSGVpZ2h0cyBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoLiIpO2lmKGgobykmJm8ubGVuZ3RoIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEYoIm9wdGlvbnMucG9zaXRpb25zIGFuZCBvcHRpb25zLm1pbmltdW1IZWlnaHRzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGguIik7bGV0IHI9eCh0LnZlcnRleEZvcm1hdCxkdC5ERUZBVUxUKSxpPXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSkscz14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCk7dGhpcy5fcG9zaXRpb25zPWUsdGhpcy5fbWluaW11bUhlaWdodHM9byx0aGlzLl9tYXhpbXVtSGVpZ2h0cz1uLHRoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShyKSx0aGlzLl9ncmFudWxhcml0eT1pLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKHMpLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVdhbGxHZW9tZXRyeSI7bGV0IGY9MStlLmxlbmd0aCphLnBhY2tlZExlbmd0aCsyO2gobykmJihmKz1vLmxlbmd0aCksaChuKSYmKGYrPW4ubGVuZ3RoKSx0aGlzLnBhY2tlZExlbmd0aD1mKyQucGFja2VkTGVuZ3RoK2R0LnBhY2tlZExlbmd0aCsxfXZhciBoZyxvbSx4VSx1MixQVSxNVSxOVSxsMixwMix1dSxfZyxkMj1aKCgpPT57dmUoKTtGdCgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTskZSgpO1d0KCk7dG4oKTtSbygpO21nKCk7aGc9bmV3IGEsb209bmV3IGEseFU9bmV3IGEsdTI9bmV3IGEsUFU9bmV3IGEsTVU9bmV3IGEsTlU9bmV3IGE7RWMucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEYoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEYoImFycmF5IGlzIHJlcXVpcmVkIik7bj14KG4sMCk7bGV0IG8scj10Ll9wb3NpdGlvbnMsaT1yLmxlbmd0aDtmb3IoZVtuKytdPWksbz0wO288aTsrK28sbis9YS5wYWNrZWRMZW5ndGgpYS5wYWNrKHJbb10sZSxuKTtsZXQgcz10Ll9taW5pbXVtSGVpZ2h0cztpZihpPWgocyk/cy5sZW5ndGg6MCxlW24rK109aSxoKHMpKWZvcihvPTA7bzxpOysrbyllW24rK109c1tvXTtsZXQgZj10Ll9tYXhpbXVtSGVpZ2h0cztpZihpPWgoZik/Zi5sZW5ndGg6MCxlW24rK109aSxoKGYpKWZvcihvPTA7bzxpOysrbyllW24rK109ZltvXTtyZXR1cm4gJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbiksbis9ZHQucGFja2VkTGVuZ3RoLGVbbl09dC5fZ3JhbnVsYXJpdHksZX07bDI9JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSxwMj1uZXcgZHQsdXU9e3Bvc2l0aW9uczp2b2lkIDAsbWluaW11bUhlaWdodHM6dm9pZCAwLG1heGltdW1IZWlnaHRzOnZvaWQgMCxlbGxpcHNvaWQ6bDIsdmVydGV4Rm9ybWF0OnAyLGdyYW51bGFyaXR5OnZvaWQgMH07RWMudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgRigiYXJyYXkgaXMgcmVxdWlyZWQiKTtlPXgoZSwwKTtsZXQgbyxyPXRbZSsrXSxpPW5ldyBBcnJheShyKTtmb3Iobz0wO288cjsrK28sZSs9YS5wYWNrZWRMZW5ndGgpaVtvXT1hLnVucGFjayh0LGUpO3I9dFtlKytdO2xldCBzO2lmKHI+MClmb3Iocz1uZXcgQXJyYXkociksbz0wO288cjsrK28pc1tvXT10W2UrK107cj10W2UrK107bGV0IGY7aWYocj4wKWZvcihmPW5ldyBBcnJheShyKSxvPTA7bzxyOysrbylmW29dPXRbZSsrXTtsZXQgdT0kLnVucGFjayh0LGUsbDIpO2UrPSQucGFja2VkTGVuZ3RoO2xldCBjPWR0LnVucGFjayh0LGUscDIpO2UrPWR0LnBhY2tlZExlbmd0aDtsZXQgbD10W2VdO3JldHVybiBoKG4pPyhuLl9wb3NpdGlvbnM9aSxuLl9taW5pbXVtSGVpZ2h0cz1zLG4uX21heGltdW1IZWlnaHRzPWYsbi5fZWxsaXBzb2lkPSQuY2xvbmUodSxuLl9lbGxpcHNvaWQpLG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShjLG4uX3ZlcnRleEZvcm1hdCksbi5fZ3JhbnVsYXJpdHk9bCxuKToodXUucG9zaXRpb25zPWksdXUubWluaW11bUhlaWdodHM9cyx1dS5tYXhpbXVtSGVpZ2h0cz1mLHV1LmdyYW51bGFyaXR5PWwsbmV3IEVjKHV1KSl9O0VjLmZyb21Db25zdGFudEhlaWdodHM9ZnVuY3Rpb24odCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucG9zaXRpb25zO2lmKCFoKGUpKXRocm93IG5ldyBGKCJvcHRpb25zLnBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtsZXQgbixvLHI9dC5taW5pbXVtSGVpZ2h0LGk9dC5tYXhpbXVtSGVpZ2h0LHM9aChyKSxmPWgoaSk7aWYoc3x8Zil7bGV0IGM9ZS5sZW5ndGg7bj1zP25ldyBBcnJheShjKTp2b2lkIDAsbz1mP25ldyBBcnJheShjKTp2b2lkIDA7Zm9yKGxldCBsPTA7bDxjOysrbClzJiYobltsXT1yKSxmJiYob1tsXT1pKX1sZXQgdT17cG9zaXRpb25zOmUsbWF4aW11bUhlaWdodHM6byxtaW5pbXVtSGVpZ2h0czpuLGVsbGlwc29pZDp0LmVsbGlwc29pZCx2ZXJ0ZXhGb3JtYXQ6dC52ZXJ0ZXhGb3JtYXR9O3JldHVybiBuZXcgRWModSl9O0VjLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3Bvc2l0aW9ucyxuPXQuX21pbmltdW1IZWlnaHRzLG89dC5fbWF4aW11bUhlaWdodHMscj10Ll92ZXJ0ZXhGb3JtYXQsaT10Ll9ncmFudWxhcml0eSxzPXQuX2VsbGlwc29pZCxmPW5tLmNvbXB1dGVQb3NpdGlvbnMocyxlLG8sbixpLCEwKTtpZighaChmKSlyZXR1cm47bGV0IHU9Zi5ib3R0b21Qb3NpdGlvbnMsYz1mLnRvcFBvc2l0aW9ucyxsPWYubnVtQ29ybmVycyxwPWMubGVuZ3RoLGQ9cCoyLG09ci5wb3NpdGlvbj9uZXcgRmxvYXQ2NEFycmF5KGQpOnZvaWQgMCxfPXIubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkoZCk6dm9pZCAwLGc9ci50YW5nZW50P25ldyBGbG9hdDMyQXJyYXkoZCk6dm9pZCAwLGI9ci5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShkKTp2b2lkIDAsVD1yLnN0P25ldyBGbG9hdDMyQXJyYXkoZC8zKjIpOnZvaWQgMCxPPTAsRT0wLHc9MCxDPTAsTj0wLEk9TlUsRD1NVSx2PVBVLEw9ITA7cC89MztsZXQgVSxBPTAsUz0xLyhwLWwtMSk7Zm9yKFU9MDtVPHA7KytVKXtsZXQgaz1VKjMsSz1hLmZyb21BcnJheShjLGssaGcpLFg9YS5mcm9tQXJyYXkodSxrLG9tKTtpZihyLnBvc2l0aW9uJiYobVtPKytdPVgueCxtW08rK109WC55LG1bTysrXT1YLnosbVtPKytdPUsueCxtW08rK109Sy55LG1bTysrXT1LLnopLHIuc3QmJihUW04rK109QSxUW04rK109MCxUW04rK109QSxUW04rK109MSksci5ub3JtYWx8fHIudGFuZ2VudHx8ci5iaXRhbmdlbnQpe2xldCBSPWEuY2xvbmUoYS5aRVJPLHUyKSxvdD1hLnN1YnRyYWN0KEsscy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoSyxvbSksb20pO2lmKFUrMTxwJiYoUj1hLmZyb21BcnJheShjLGsrMyx1MikpLEwpe2xldCBhdD1hLnN1YnRyYWN0KFIsSyx4VSkscHQ9YS5zdWJ0cmFjdChvdCxLLGhnKTtJPWEubm9ybWFsaXplKGEuY3Jvc3MocHQsYXQsSSksSSksTD0hMX1hLmVxdWFsc0Vwc2lsb24oSyxSLE0uRVBTSUxPTjEwKT9MPSEwOihBKz1TLHIudGFuZ2VudCYmKEQ9YS5ub3JtYWxpemUoYS5zdWJ0cmFjdChSLEssRCksRCkpLHIuYml0YW5nZW50JiYodj1hLm5vcm1hbGl6ZShhLmNyb3NzKEksRCx2KSx2KSkpLHIubm9ybWFsJiYoX1tFKytdPUkueCxfW0UrK109SS55LF9bRSsrXT1JLnosX1tFKytdPUkueCxfW0UrK109SS55LF9bRSsrXT1JLnopLHIudGFuZ2VudCYmKGdbQysrXT1ELngsZ1tDKytdPUQueSxnW0MrK109RC56LGdbQysrXT1ELngsZ1tDKytdPUQueSxnW0MrK109RC56KSxyLmJpdGFuZ2VudCYmKGJbdysrXT12LngsYlt3KytdPXYueSxiW3crK109di56LGJbdysrXT12LngsYlt3KytdPXYueSxiW3crK109di56KX19bGV0IFA9bmV3IGllO3IucG9zaXRpb24mJihQLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6bX0pKSxyLm5vcm1hbCYmKFAubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpffSkpLHIudGFuZ2VudCYmKFAudGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Z30pKSxyLmJpdGFuZ2VudCYmKFAuYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpifSkpLHIuc3QmJihQLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpUfSkpO2xldCBCPWQvMztkLT02KihsKzEpO2xldCBqPUR0LmNyZWF0ZVR5cGVkQXJyYXkoQixkKSxIPTA7Zm9yKFU9MDtVPEItMjtVKz0yKXtsZXQgaz1VLEs9VSsyLFg9YS5mcm9tQXJyYXkobSxrKjMsaGcpLFI9YS5mcm9tQXJyYXkobSxLKjMsb20pO2lmKGEuZXF1YWxzRXBzaWxvbihYLFIsTS5FUFNJTE9OMTApKWNvbnRpbnVlO2xldCBvdD1VKzEsYXQ9VSszO2pbSCsrXT1vdCxqW0grK109ayxqW0grK109YXQsaltIKytdPWF0LGpbSCsrXT1rLGpbSCsrXT1LfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6UCxpbmRpY2VzOmoscHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVMsYm91bmRpbmdTcGhlcmU6bmV3IEF0LmZyb21WZXJ0aWNlcyhtKX0pfTtfZz1FY30pO3ZhciB5Zz17fTtkZSh5Zyx7ZGVmYXVsdDooKT0+dlV9KTtmdW5jdGlvbiBJVSh0LGUpe3JldHVybiBoKGUpJiYodD1fZy51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxfZy5jcmVhdGVHZW9tZXRyeSh0KX12YXIgdlUsZ2c9WigoKT0+e2Z0KCk7WnQoKTtkMigpO3ZVPUlVfSk7ZnVuY3Rpb24gUmModCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucG9zaXRpb25zLG49dC5tYXhpbXVtSGVpZ2h0cyxvPXQubWluaW11bUhlaWdodHM7aWYoIWgoZSkpdGhyb3cgbmV3IEYoIm9wdGlvbnMucG9zaXRpb25zIGlzIHJlcXVpcmVkLiIpO2lmKGgobikmJm4ubGVuZ3RoIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEYoIm9wdGlvbnMucG9zaXRpb25zIGFuZCBvcHRpb25zLm1heGltdW1IZWlnaHRzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGguIik7aWYoaChvKSYmby5sZW5ndGghPT1lLmxlbmd0aCl0aHJvdyBuZXcgRigib3B0aW9ucy5wb3NpdGlvbnMgYW5kIG9wdGlvbnMubWluaW11bUhlaWdodHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aC4iKTtsZXQgcj14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLGk9eCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpO3RoaXMuX3Bvc2l0aW9ucz1lLHRoaXMuX21pbmltdW1IZWlnaHRzPW8sdGhpcy5fbWF4aW11bUhlaWdodHM9bix0aGlzLl9ncmFudWxhcml0eT1yLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKGkpLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVdhbGxPdXRsaW5lR2VvbWV0cnkiO2xldCBzPTErZS5sZW5ndGgqYS5wYWNrZWRMZW5ndGgrMjtoKG8pJiYocys9by5sZW5ndGgpLGgobikmJihzKz1uLmxlbmd0aCksdGhpcy5wYWNrZWRMZW5ndGg9cyskLnBhY2tlZExlbmd0aCsxfXZhciBtMixoMixfMixsdSxBZyx5Mj1aKCgpPT57dmUoKTtGdCgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTskZSgpO1d0KCk7dG4oKTttZygpO20yPW5ldyBhLGgyPW5ldyBhO1JjLnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJ2YWx1ZSBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO249eChuLDApO2xldCBvLHI9dC5fcG9zaXRpb25zLGk9ci5sZW5ndGg7Zm9yKGVbbisrXT1pLG89MDtvPGk7KytvLG4rPWEucGFja2VkTGVuZ3RoKWEucGFjayhyW29dLGUsbik7bGV0IHM9dC5fbWluaW11bUhlaWdodHM7aWYoaT1oKHMpP3MubGVuZ3RoOjAsZVtuKytdPWksaChzKSlmb3Iobz0wO288aTsrK28pZVtuKytdPXNbb107bGV0IGY9dC5fbWF4aW11bUhlaWdodHM7aWYoaT1oKGYpP2YubGVuZ3RoOjAsZVtuKytdPWksaChmKSlmb3Iobz0wO288aTsrK28pZVtuKytdPWZbb107cmV0dXJuICQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxlW25dPXQuX2dyYW51bGFyaXR5LGV9O18yPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksbHU9e3Bvc2l0aW9uczp2b2lkIDAsbWluaW11bUhlaWdodHM6dm9pZCAwLG1heGltdW1IZWlnaHRzOnZvaWQgMCxlbGxpcHNvaWQ6XzIsZ3JhbnVsYXJpdHk6dm9pZCAwfTtSYy51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBGKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvLHI9dFtlKytdLGk9bmV3IEFycmF5KHIpO2ZvcihvPTA7bzxyOysrbyxlKz1hLnBhY2tlZExlbmd0aClpW29dPWEudW5wYWNrKHQsZSk7cj10W2UrK107bGV0IHM7aWYocj4wKWZvcihzPW5ldyBBcnJheShyKSxvPTA7bzxyOysrbylzW29dPXRbZSsrXTtyPXRbZSsrXTtsZXQgZjtpZihyPjApZm9yKGY9bmV3IEFycmF5KHIpLG89MDtvPHI7KytvKWZbb109dFtlKytdO2xldCB1PSQudW5wYWNrKHQsZSxfMik7ZSs9JC5wYWNrZWRMZW5ndGg7bGV0IGM9dFtlXTtyZXR1cm4gaChuKT8obi5fcG9zaXRpb25zPWksbi5fbWluaW11bUhlaWdodHM9cyxuLl9tYXhpbXVtSGVpZ2h0cz1mLG4uX2VsbGlwc29pZD0kLmNsb25lKHUsbi5fZWxsaXBzb2lkKSxuLl9ncmFudWxhcml0eT1jLG4pOihsdS5wb3NpdGlvbnM9aSxsdS5taW5pbXVtSGVpZ2h0cz1zLGx1Lm1heGltdW1IZWlnaHRzPWYsbHUuZ3JhbnVsYXJpdHk9YyxuZXcgUmMobHUpKX07UmMuZnJvbUNvbnN0YW50SGVpZ2h0cz1mdW5jdGlvbih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnM7aWYoIWgoZSkpdGhyb3cgbmV3IEYoIm9wdGlvbnMucG9zaXRpb25zIGlzIHJlcXVpcmVkLiIpO2xldCBuLG8scj10Lm1pbmltdW1IZWlnaHQsaT10Lm1heGltdW1IZWlnaHQscz1oKHIpLGY9aChpKTtpZihzfHxmKXtsZXQgYz1lLmxlbmd0aDtuPXM/bmV3IEFycmF5KGMpOnZvaWQgMCxvPWY/bmV3IEFycmF5KGMpOnZvaWQgMDtmb3IobGV0IGw9MDtsPGM7KytsKXMmJihuW2xdPXIpLGYmJihvW2xdPWkpfWxldCB1PXtwb3NpdGlvbnM6ZSxtYXhpbXVtSGVpZ2h0czpvLG1pbmltdW1IZWlnaHRzOm4sZWxsaXBzb2lkOnQuZWxsaXBzb2lkfTtyZXR1cm4gbmV3IFJjKHUpfTtSYy5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9wb3NpdGlvbnMsbj10Ll9taW5pbXVtSGVpZ2h0cyxvPXQuX21heGltdW1IZWlnaHRzLHI9dC5fZ3JhbnVsYXJpdHksaT10Ll9lbGxpcHNvaWQscz1ubS5jb21wdXRlUG9zaXRpb25zKGksZSxvLG4sciwhMSk7aWYoIWgocykpcmV0dXJuO2xldCBmPXMuYm90dG9tUG9zaXRpb25zLHU9cy50b3BQb3NpdGlvbnMsYz11Lmxlbmd0aCxsPWMqMixwPW5ldyBGbG9hdDY0QXJyYXkobCksZD0wO2MvPTM7bGV0IG07Zm9yKG09MDttPGM7KyttKXtsZXQgTz1tKjMsRT1hLmZyb21BcnJheSh1LE8sbTIpLHc9YS5mcm9tQXJyYXkoZixPLGgyKTtwW2QrK109dy54LHBbZCsrXT13LnkscFtkKytdPXcueixwW2QrK109RS54LHBbZCsrXT1FLnkscFtkKytdPUUuen1sZXQgXz1uZXcgaWUoe3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6cH0pfSksZz1sLzM7bD0yKmctNCtnO2xldCBiPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZyxsKSxUPTA7Zm9yKG09MDttPGctMjttKz0yKXtsZXQgTz1tLEU9bSsyLHc9YS5mcm9tQXJyYXkocCxPKjMsbTIpLEM9YS5mcm9tQXJyYXkocCxFKjMsaDIpO2lmKGEuZXF1YWxzRXBzaWxvbih3LEMsTS5FUFNJTE9OMTApKWNvbnRpbnVlO2xldCBOPW0rMSxJPW0rMztiW1QrK109TixiW1QrK109TyxiW1QrK109TixiW1QrK109SSxiW1QrK109TyxiW1QrK109RX1yZXR1cm4gYltUKytdPWctMixiW1QrK109Zy0xLG5ldyBVdCh7YXR0cmlidXRlczpfLGluZGljZXM6YixwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOm5ldyBBdC5mcm9tVmVydGljZXMocCl9KX07QWc9UmN9KTt2YXIgYmc9e307ZGUoYmcse2RlZmF1bHQ6KCk9PkRVfSk7ZnVuY3Rpb24gTFUodCxlKXtyZXR1cm4gaChlKSYmKHQ9QWcudW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksQWcuY3JlYXRlR2VvbWV0cnkodCl9dmFyIERVLFRnPVooKCk9PntmdCgpO1p0KCk7eTIoKTtEVT1MVX0pO3ZhciBFZz1YbigocHUsT2cpPT57dmFyIFZ0PVZ0fHx7fTtWdC5zY29wZT17fTtWdC5hcnJheUl0ZXJhdG9ySW1wbD1mdW5jdGlvbih0KXt2YXIgZT0wO3JldHVybiBmdW5jdGlvbigpe3JldHVybiBlPHQubGVuZ3RoP3tkb25lOiExLHZhbHVlOnRbZSsrXX06e2RvbmU6ITB9fX07VnQuYXJyYXlJdGVyYXRvcj1mdW5jdGlvbih0KXtyZXR1cm57bmV4dDpWdC5hcnJheUl0ZXJhdG9ySW1wbCh0KX19O1Z0Lm1ha2VJdGVyYXRvcj1mdW5jdGlvbih0KXt2YXIgZT10eXBlb2YgU3ltYm9sPCJ1IiYmU3ltYm9sLml0ZXJhdG9yJiZ0W1N5bWJvbC5pdGVyYXRvcl07cmV0dXJuIGU/ZS5jYWxsKHQpOlZ0LmFycmF5SXRlcmF0b3IodCl9O1Z0LkFTU1VNRV9FUzU9ITE7VnQuQVNTVU1FX05PX05BVElWRV9NQVA9ITE7VnQuQVNTVU1FX05PX05BVElWRV9TRVQ9ITE7VnQuU0lNUExFX0ZST1VORF9QT0xZRklMTD0hMTtWdC5JU09MQVRFX1BPTFlGSUxMUz0hMTtWdC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFPSExO1Z0LkZPUkNFX1BPTFlGSUxMX1BST01JU0VfV0hFTl9OT19VTkhBTkRMRURfUkVKRUNUSU9OPSExO1Z0LmdldEdsb2JhbD1mdW5jdGlvbih0KXt0PVt0eXBlb2YgZ2xvYmFsVGhpcz09Im9iamVjdCImJmdsb2JhbFRoaXMsdCx0eXBlb2Ygd2luZG93PT0ib2JqZWN0IiYmd2luZG93LHR5cGVvZiBzZWxmPT0ib2JqZWN0IiYmc2VsZix0eXBlb2YgZ2xvYmFsPT0ib2JqZWN0IiYmZ2xvYmFsXTtmb3IodmFyIGU9MDtlPHQubGVuZ3RoOysrZSl7dmFyIG49dFtlXTtpZihuJiZuLk1hdGg9PU1hdGgpcmV0dXJuIG59dGhyb3cgRXJyb3IoIkNhbm5vdCBmaW5kIGdsb2JhbCBvYmplY3QiKX07VnQuZ2xvYmFsPVZ0LmdldEdsb2JhbChwdSk7VnQuZGVmaW5lUHJvcGVydHk9VnQuQVNTVU1FX0VTNXx8dHlwZW9mIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzPT0iZnVuY3Rpb24iP09iamVjdC5kZWZpbmVQcm9wZXJ0eTpmdW5jdGlvbih0LGUsbil7cmV0dXJuIHQ9PUFycmF5LnByb3RvdHlwZXx8dD09T2JqZWN0LnByb3RvdHlwZXx8KHRbZV09bi52YWx1ZSksdH07VnQuSVNfU1lNQk9MX05BVElWRT10eXBlb2YgU3ltYm9sPT0iZnVuY3Rpb24iJiZ0eXBlb2YgU3ltYm9sKCJ4Iik9PSJzeW1ib2wiO1Z0LlRSVVNUX0VTNl9QT0xZRklMTFM9IVZ0LklTT0xBVEVfUE9MWUZJTExTfHxWdC5JU19TWU1CT0xfTkFUSVZFO1Z0LnBvbHlmaWxscz17fTtWdC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2w9e307VnQuUE9MWUZJTExfUFJFRklYPSIkanNjcCQiO1Z0LnBvbHlmaWxsPWZ1bmN0aW9uKHQsZSxuLG8pe2UmJihWdC5JU09MQVRFX1BPTFlGSUxMUz9WdC5wb2x5ZmlsbElzb2xhdGVkKHQsZSxuLG8pOlZ0LnBvbHlmaWxsVW5pc29sYXRlZCh0LGUsbixvKSl9O1Z0LnBvbHlmaWxsVW5pc29sYXRlZD1mdW5jdGlvbih0LGUsbixvKXtmb3Iobj1WdC5nbG9iYWwsdD10LnNwbGl0KCIuIiksbz0wO288dC5sZW5ndGgtMTtvKyspe3ZhciByPXRbb107aWYoIShyIGluIG4pKXJldHVybjtuPW5bcl19dD10W3QubGVuZ3RoLTFdLG89blt0XSxlPWUobyksZSE9byYmZSE9bnVsbCYmVnQuZGVmaW5lUHJvcGVydHkobix0LHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZX0pfTtWdC5wb2x5ZmlsbElzb2xhdGVkPWZ1bmN0aW9uKHQsZSxuLG8pe3ZhciByPXQuc3BsaXQoIi4iKTt0PXIubGVuZ3RoPT09MSxvPXJbMF0sbz0hdCYmbyBpbiBWdC5wb2x5ZmlsbHM/VnQucG9seWZpbGxzOlZ0Lmdsb2JhbDtmb3IodmFyIGk9MDtpPHIubGVuZ3RoLTE7aSsrKXt2YXIgcz1yW2ldO2lmKCEocyBpbiBvKSlyZXR1cm47bz1vW3NdfXI9cltyLmxlbmd0aC0xXSxuPVZ0LklTX1NZTUJPTF9OQVRJVkUmJm49PT0iZXM2Ij9vW3JdOm51bGwsZT1lKG4pLGUhPW51bGwmJih0P1Z0LmRlZmluZVByb3BlcnR5KFZ0LnBvbHlmaWxscyxyLHtjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6ZX0pOmUhPT1uJiYoVnQucHJvcGVydHlUb1BvbHlmaWxsU3ltYm9sW3JdPT09dm9pZCAwJiYobj0xZTkqTWF0aC5yYW5kb20oKT4+PjAsVnQucHJvcGVydHlUb1BvbHlmaWxsU3ltYm9sW3JdPVZ0LklTX1NZTUJPTF9OQVRJVkU/VnQuZ2xvYmFsLlN5bWJvbChyKTpWdC5QT0xZRklMTF9QUkVGSVgrbisiJCIrciksVnQuZGVmaW5lUHJvcGVydHkobyxWdC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbcl0se2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTplfSkpKX07VnQucG9seWZpbGwoIlByb21pc2UiLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUoKXt0aGlzLmJhdGNoXz1udWxsfWZ1bmN0aW9uIG4ocyl7cmV0dXJuIHMgaW5zdGFuY2VvZiByP3M6bmV3IHIoZnVuY3Rpb24oZix1KXtmKHMpfSl9aWYodCYmKCEoVnQuRk9SQ0VfUE9MWUZJTExfUFJPTUlTRXx8VnQuRk9SQ0VfUE9MWUZJTExfUFJPTUlTRV9XSEVOX05PX1VOSEFORExFRF9SRUpFQ1RJT04mJnR5cGVvZiBWdC5nbG9iYWwuUHJvbWlzZVJlamVjdGlvbkV2ZW50PiJ1Iil8fCFWdC5nbG9iYWwuUHJvbWlzZXx8VnQuZ2xvYmFsLlByb21pc2UudG9TdHJpbmcoKS5pbmRleE9mKCJbbmF0aXZlIGNvZGVdIik9PT0tMSkpcmV0dXJuIHQ7ZS5wcm90b3R5cGUuYXN5bmNFeGVjdXRlPWZ1bmN0aW9uKHMpe2lmKHRoaXMuYmF0Y2hfPT1udWxsKXt0aGlzLmJhdGNoXz1bXTt2YXIgZj10aGlzO3RoaXMuYXN5bmNFeGVjdXRlRnVuY3Rpb24oZnVuY3Rpb24oKXtmLmV4ZWN1dGVCYXRjaF8oKX0pfXRoaXMuYmF0Y2hfLnB1c2gocyl9O3ZhciBvPVZ0Lmdsb2JhbC5zZXRUaW1lb3V0O2UucHJvdG90eXBlLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uPWZ1bmN0aW9uKHMpe28ocywwKX0sZS5wcm90b3R5cGUuZXhlY3V0ZUJhdGNoXz1mdW5jdGlvbigpe2Zvcig7dGhpcy5iYXRjaF8mJnRoaXMuYmF0Y2hfLmxlbmd0aDspe3ZhciBzPXRoaXMuYmF0Y2hfO3RoaXMuYmF0Y2hfPVtdO2Zvcih2YXIgZj0wO2Y8cy5sZW5ndGg7KytmKXt2YXIgdT1zW2ZdO3NbZl09bnVsbDt0cnl7dSgpfWNhdGNoKGMpe3RoaXMuYXN5bmNUaHJvd18oYyl9fX10aGlzLmJhdGNoXz1udWxsfSxlLnByb3RvdHlwZS5hc3luY1Rocm93Xz1mdW5jdGlvbihzKXt0aGlzLmFzeW5jRXhlY3V0ZUZ1bmN0aW9uKGZ1bmN0aW9uKCl7dGhyb3cgc30pfTt2YXIgcj1mdW5jdGlvbihzKXt0aGlzLnN0YXRlXz0wLHRoaXMucmVzdWx0Xz12b2lkIDAsdGhpcy5vblNldHRsZWRDYWxsYmFja3NfPVtdLHRoaXMuaXNSZWplY3Rpb25IYW5kbGVkXz0hMTt2YXIgZj10aGlzLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfKCk7dHJ5e3MoZi5yZXNvbHZlLGYucmVqZWN0KX1jYXRjaCh1KXtmLnJlamVjdCh1KX19O3IucHJvdG90eXBlLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gcyhjKXtyZXR1cm4gZnVuY3Rpb24obCl7dXx8KHU9ITAsYy5jYWxsKGYsbCkpfX12YXIgZj10aGlzLHU9ITE7cmV0dXJue3Jlc29sdmU6cyh0aGlzLnJlc29sdmVUb18pLHJlamVjdDpzKHRoaXMucmVqZWN0Xyl9fSxyLnByb3RvdHlwZS5yZXNvbHZlVG9fPWZ1bmN0aW9uKHMpe2lmKHM9PT10aGlzKXRoaXMucmVqZWN0XyhuZXcgVHlwZUVycm9yKCJBIFByb21pc2UgY2Fubm90IHJlc29sdmUgdG8gaXRzZWxmIikpO2Vsc2UgaWYocyBpbnN0YW5jZW9mIHIpdGhpcy5zZXR0bGVTYW1lQXNQcm9taXNlXyhzKTtlbHNle3Q6c3dpdGNoKHR5cGVvZiBzKXtjYXNlIm9iamVjdCI6dmFyIGY9cyE9bnVsbDticmVhayB0O2Nhc2UiZnVuY3Rpb24iOmY9ITA7YnJlYWsgdDtkZWZhdWx0OmY9ITF9Zj90aGlzLnJlc29sdmVUb05vblByb21pc2VPYmpfKHMpOnRoaXMuZnVsZmlsbF8ocyl9fSxyLnByb3RvdHlwZS5yZXNvbHZlVG9Ob25Qcm9taXNlT2JqXz1mdW5jdGlvbihzKXt2YXIgZj12b2lkIDA7dHJ5e2Y9cy50aGVufWNhdGNoKHUpe3RoaXMucmVqZWN0Xyh1KTtyZXR1cm59dHlwZW9mIGY9PSJmdW5jdGlvbiI/dGhpcy5zZXR0bGVTYW1lQXNUaGVuYWJsZV8oZixzKTp0aGlzLmZ1bGZpbGxfKHMpfSxyLnByb3RvdHlwZS5yZWplY3RfPWZ1bmN0aW9uKHMpe3RoaXMuc2V0dGxlXygyLHMpfSxyLnByb3RvdHlwZS5mdWxmaWxsXz1mdW5jdGlvbihzKXt0aGlzLnNldHRsZV8oMSxzKX0sci5wcm90b3R5cGUuc2V0dGxlXz1mdW5jdGlvbihzLGYpe2lmKHRoaXMuc3RhdGVfIT0wKXRocm93IEVycm9yKCJDYW5ub3Qgc2V0dGxlKCIrcysiLCAiK2YrIik6IFByb21pc2UgYWxyZWFkeSBzZXR0bGVkIGluIHN0YXRlIit0aGlzLnN0YXRlXyk7dGhpcy5zdGF0ZV89cyx0aGlzLnJlc3VsdF89Zix0aGlzLnN0YXRlXz09PTImJnRoaXMuc2NoZWR1bGVVbmhhbmRsZWRSZWplY3Rpb25DaGVja18oKSx0aGlzLmV4ZWN1dGVPblNldHRsZWRDYWxsYmFja3NfKCl9LHIucHJvdG90eXBlLnNjaGVkdWxlVW5oYW5kbGVkUmVqZWN0aW9uQ2hlY2tfPWZ1bmN0aW9uKCl7dmFyIHM9dGhpcztvKGZ1bmN0aW9uKCl7aWYocy5ub3RpZnlVbmhhbmRsZWRSZWplY3Rpb25fKCkpe3ZhciBmPVZ0Lmdsb2JhbC5jb25zb2xlO3R5cGVvZiBmPCJ1IiYmZi5lcnJvcihzLnJlc3VsdF8pfX0sMSl9LHIucHJvdG90eXBlLm5vdGlmeVVuaGFuZGxlZFJlamVjdGlvbl89ZnVuY3Rpb24oKXtpZih0aGlzLmlzUmVqZWN0aW9uSGFuZGxlZF8pcmV0dXJuITE7dmFyIHM9VnQuZ2xvYmFsLkN1c3RvbUV2ZW50LGY9VnQuZ2xvYmFsLkV2ZW50LHU9VnQuZ2xvYmFsLmRpc3BhdGNoRXZlbnQ7cmV0dXJuIHR5cGVvZiB1PiJ1Ij8hMDoodHlwZW9mIHM9PSJmdW5jdGlvbiI/cz1uZXcgcygidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOnR5cGVvZiBmPT0iZnVuY3Rpb24iP3M9bmV3IGYoInVuaGFuZGxlZHJlamVjdGlvbiIse2NhbmNlbGFibGU6ITB9KToocz1WdC5nbG9iYWwuZG9jdW1lbnQuY3JlYXRlRXZlbnQoIkN1c3RvbUV2ZW50Iikscy5pbml0Q3VzdG9tRXZlbnQoInVuaGFuZGxlZHJlamVjdGlvbiIsITEsITAscykpLHMucHJvbWlzZT10aGlzLHMucmVhc29uPXRoaXMucmVzdWx0Xyx1KHMpKX0sci5wcm90b3R5cGUuZXhlY3V0ZU9uU2V0dGxlZENhbGxiYWNrc189ZnVuY3Rpb24oKXtpZih0aGlzLm9uU2V0dGxlZENhbGxiYWNrc18hPW51bGwpe2Zvcih2YXIgcz0wO3M8dGhpcy5vblNldHRsZWRDYWxsYmFja3NfLmxlbmd0aDsrK3MpaS5hc3luY0V4ZWN1dGUodGhpcy5vblNldHRsZWRDYWxsYmFja3NfW3NdKTt0aGlzLm9uU2V0dGxlZENhbGxiYWNrc189bnVsbH19O3ZhciBpPW5ldyBlO3JldHVybiByLnByb3RvdHlwZS5zZXR0bGVTYW1lQXNQcm9taXNlXz1mdW5jdGlvbihzKXt2YXIgZj10aGlzLmNyZWF0ZVJlc29sdmVBbmRSZWplY3RfKCk7cy5jYWxsV2hlblNldHRsZWRfKGYucmVzb2x2ZSxmLnJlamVjdCl9LHIucHJvdG90eXBlLnNldHRsZVNhbWVBc1RoZW5hYmxlXz1mdW5jdGlvbihzLGYpe3ZhciB1PXRoaXMuY3JlYXRlUmVzb2x2ZUFuZFJlamVjdF8oKTt0cnl7cy5jYWxsKGYsdS5yZXNvbHZlLHUucmVqZWN0KX1jYXRjaChjKXt1LnJlamVjdChjKX19LHIucHJvdG90eXBlLnRoZW49ZnVuY3Rpb24ocyxmKXtmdW5jdGlvbiB1KGQsbSl7cmV0dXJuIHR5cGVvZiBkPT0iZnVuY3Rpb24iP2Z1bmN0aW9uKF8pe3RyeXtjKGQoXykpfWNhdGNoKGcpe2woZyl9fTptfXZhciBjLGwscD1uZXcgcihmdW5jdGlvbihkLG0pe2M9ZCxsPW19KTtyZXR1cm4gdGhpcy5jYWxsV2hlblNldHRsZWRfKHUocyxjKSx1KGYsbCkpLHB9LHIucHJvdG90eXBlLmNhdGNoPWZ1bmN0aW9uKHMpe3JldHVybiB0aGlzLnRoZW4odm9pZCAwLHMpfSxyLnByb3RvdHlwZS5jYWxsV2hlblNldHRsZWRfPWZ1bmN0aW9uKHMsZil7ZnVuY3Rpb24gdSgpe3N3aXRjaChjLnN0YXRlXyl7Y2FzZSAxOnMoYy5yZXN1bHRfKTticmVhaztjYXNlIDI6ZihjLnJlc3VsdF8pO2JyZWFrO2RlZmF1bHQ6dGhyb3cgRXJyb3IoIlVuZXhwZWN0ZWQgc3RhdGU6ICIrYy5zdGF0ZV8pfX12YXIgYz10aGlzO3RoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz09bnVsbD9pLmFzeW5jRXhlY3V0ZSh1KTp0aGlzLm9uU2V0dGxlZENhbGxiYWNrc18ucHVzaCh1KSx0aGlzLmlzUmVqZWN0aW9uSGFuZGxlZF89ITB9LHIucmVzb2x2ZT1uLHIucmVqZWN0PWZ1bmN0aW9uKHMpe3JldHVybiBuZXcgcihmdW5jdGlvbihmLHUpe3Uocyl9KX0sci5yYWNlPWZ1bmN0aW9uKHMpe3JldHVybiBuZXcgcihmdW5jdGlvbihmLHUpe2Zvcih2YXIgYz1WdC5tYWtlSXRlcmF0b3IocyksbD1jLm5leHQoKTshbC5kb25lO2w9Yy5uZXh0KCkpbihsLnZhbHVlKS5jYWxsV2hlblNldHRsZWRfKGYsdSl9KX0sci5hbGw9ZnVuY3Rpb24ocyl7dmFyIGY9VnQubWFrZUl0ZXJhdG9yKHMpLHU9Zi5uZXh0KCk7cmV0dXJuIHUuZG9uZT9uKFtdKTpuZXcgcihmdW5jdGlvbihjLGwpe2Z1bmN0aW9uIHAoXyl7cmV0dXJuIGZ1bmN0aW9uKGcpe2RbX109ZyxtLS0sbT09MCYmYyhkKX19dmFyIGQ9W10sbT0wO2RvIGQucHVzaCh2b2lkIDApLG0rKyxuKHUudmFsdWUpLmNhbGxXaGVuU2V0dGxlZF8ocChkLmxlbmd0aC0xKSxsKSx1PWYubmV4dCgpO3doaWxlKCF1LmRvbmUpfSl9LHJ9LCJlczYiLCJlczMiKTtWdC5vd25zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpfTtWdC5hc3NpZ249VnQuVFJVU1RfRVM2X1BPTFlGSUxMUyYmdHlwZW9mIE9iamVjdC5hc3NpZ249PSJmdW5jdGlvbiI/T2JqZWN0LmFzc2lnbjpmdW5jdGlvbih0LGUpe2Zvcih2YXIgbj0xO248YXJndW1lbnRzLmxlbmd0aDtuKyspe3ZhciBvPWFyZ3VtZW50c1tuXTtpZihvKWZvcih2YXIgciBpbiBvKVZ0Lm93bnMobyxyKSYmKHRbcl09b1tyXSl9cmV0dXJuIHR9O1Z0LnBvbHlmaWxsKCJPYmplY3QuYXNzaWduIixmdW5jdGlvbih0KXtyZXR1cm4gdHx8VnQuYXNzaWdufSwiZXM2IiwiZXMzIik7VnQuY2hlY2tTdHJpbmdBcmdzPWZ1bmN0aW9uKHQsZSxuKXtpZih0PT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoIlRoZSAndGhpcycgdmFsdWUgZm9yIFN0cmluZy5wcm90b3R5cGUuIituKyIgbXVzdCBub3QgYmUgbnVsbCBvciB1bmRlZmluZWQiKTtpZihlIGluc3RhbmNlb2YgUmVnRXhwKXRocm93IG5ldyBUeXBlRXJyb3IoIkZpcnN0IGFyZ3VtZW50IHRvIFN0cmluZy5wcm90b3R5cGUuIituKyIgbXVzdCBub3QgYmUgYSByZWd1bGFyIGV4cHJlc3Npb24iKTtyZXR1cm4gdCsiIn07VnQucG9seWZpbGwoIlN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aCIsZnVuY3Rpb24odCl7cmV0dXJuIHR8fGZ1bmN0aW9uKGUsbil7dmFyIG89VnQuY2hlY2tTdHJpbmdBcmdzKHRoaXMsZSwic3RhcnRzV2l0aCIpO2UrPSIiO3ZhciByPW8ubGVuZ3RoLGk9ZS5sZW5ndGg7bj1NYXRoLm1heCgwLE1hdGgubWluKG58MCxvLmxlbmd0aCkpO2Zvcih2YXIgcz0wO3M8aSYmbjxyOylpZihvW24rK10hPWVbcysrXSlyZXR1cm4hMTtyZXR1cm4gcz49aX19LCJlczYiLCJlczMiKTtWdC5wb2x5ZmlsbCgiQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLGZ1bmN0aW9uKHQpe2Z1bmN0aW9uIGUobil7cmV0dXJuIG49TnVtYmVyKG4pLG49PT0xLzB8fG49PT0tMS8wP246bnwwfXJldHVybiB0fHxmdW5jdGlvbihuLG8scil7dmFyIGk9dGhpcy5sZW5ndGg7aWYobj1lKG4pLG89ZShvKSxyPXI9PT12b2lkIDA/aTplKHIpLG49MD5uP01hdGgubWF4KGkrbiwwKTpNYXRoLm1pbihuLGkpLG89MD5vP01hdGgubWF4KGkrbywwKTpNYXRoLm1pbihvLGkpLHI9MD5yP01hdGgubWF4KGkrciwwKTpNYXRoLm1pbihyLGkpLG48bylmb3IoO288cjspbyBpbiB0aGlzP3RoaXNbbisrXT10aGlzW28rK106KGRlbGV0ZSB0aGlzW24rK10sbysrKTtlbHNlIGZvcihyPU1hdGgubWluKHIsaStvLW4pLG4rPXItbztyPm87KS0tciBpbiB0aGlzP3RoaXNbLS1uXT10aGlzW3JdOmRlbGV0ZSB0aGlzWy0tbl07cmV0dXJuIHRoaXN9fSwiZXM2IiwiZXMzIik7VnQudHlwZWRBcnJheUNvcHlXaXRoaW49ZnVuY3Rpb24odCl7cmV0dXJuIHR8fEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGlufTtWdC5wb2x5ZmlsbCgiSW50OEFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIixWdC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7VnQucG9seWZpbGwoIlVpbnQ4QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLFZ0LnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTtWdC5wb2x5ZmlsbCgiVWludDhDbGFtcGVkQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLFZ0LnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTtWdC5wb2x5ZmlsbCgiSW50MTZBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsVnQudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpO1Z0LnBvbHlmaWxsKCJVaW50MTZBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsVnQudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpO1Z0LnBvbHlmaWxsKCJJbnQzMkFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIixWdC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7VnQucG9seWZpbGwoIlVpbnQzMkFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIixWdC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7VnQucG9seWZpbGwoIkZsb2F0MzJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsVnQudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpO1Z0LnBvbHlmaWxsKCJGbG9hdDY0QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLFZ0LnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTt2YXIgd2c9ZnVuY3Rpb24oKXt2YXIgdD10eXBlb2YgZG9jdW1lbnQ8InUiJiZkb2N1bWVudC5jdXJyZW50U2NyaXB0P2RvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjOnZvaWQgMDtyZXR1cm4gdHlwZW9mIF9fZmlsZW5hbWU8InUiJiYodD10fHxfX2ZpbGVuYW1lKSxmdW5jdGlvbihlKXtmdW5jdGlvbiBuKHope3JldHVybiBSLmxvY2F0ZUZpbGU/Ui5sb2NhdGVGaWxlKHosbXQpOm10K3p9ZnVuY3Rpb24gbyh6LFcsZXQpe3ZhciBNdD1XK2V0O2ZvcihldD1XO3pbZXRdJiYhKGV0Pj1NdCk7KSsrZXQ7aWYoMTY8ZXQtVyYmei5idWZmZXImJmdlKXJldHVybiBnZS5kZWNvZGUoei5zdWJhcnJheShXLGV0KSk7Zm9yKE10PSIiO1c8ZXQ7KXt2YXIgbGU9eltXKytdO2lmKGxlJjEyOCl7dmFyIFRlPXpbVysrXSY2MztpZigobGUmMjI0KT09MTkyKU10Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKChsZSYzMSk8PDZ8VGUpO2Vsc2V7dmFyIE9pPXpbVysrXSY2MztsZT0obGUmMjQwKT09MjI0PyhsZSYxNSk8PDEyfFRlPDw2fE9pOihsZSY3KTw8MTh8VGU8PDEyfE9pPDw2fHpbVysrXSY2Myw2NTUzNj5sZT9NdCs9U3RyaW5nLmZyb21DaGFyQ29kZShsZSk6KGxlLT02NTUzNixNdCs9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxsZT4+MTAsNTYzMjB8bGUmMTAyMykpfX1lbHNlIE10Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGxlKX1yZXR1cm4gTXR9ZnVuY3Rpb24gcih6LFcpe3JldHVybiB6P28odW4seixXKToiIn1mdW5jdGlvbiBpKCl7dmFyIHo9SnQuYnVmZmVyO1IuSEVBUDg9RWU9bmV3IEludDhBcnJheSh6KSxSLkhFQVAxNj1uZXcgSW50MTZBcnJheSh6KSxSLkhFQVAzMj1rZT1uZXcgSW50MzJBcnJheSh6KSxSLkhFQVBVOD11bj1uZXcgVWludDhBcnJheSh6KSxSLkhFQVBVMTY9bmV3IFVpbnQxNkFycmF5KHopLFIuSEVBUFUzMj1iZT1uZXcgVWludDMyQXJyYXkoeiksUi5IRUFQRjMyPW5ldyBGbG9hdDMyQXJyYXkoeiksUi5IRUFQRjY0PW5ldyBGbG9hdDY0QXJyYXkoeil9ZnVuY3Rpb24gcyh6KXt0aHJvdyBSLm9uQWJvcnQmJlIub25BYm9ydCh6KSx6PSJBYm9ydGVkKCIreisiKSIsdWUoeiksTmU9ITAsej1uZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKHorIi4gQnVpbGQgd2l0aCAtc0FTU0VSVElPTlMgZm9yIG1vcmUgaW5mby4iKSxhdCh6KSx6fWZ1bmN0aW9uIGYoeil7dHJ5e2lmKHo9PXNuJiZRdClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoUXQpO2lmKG1lKXJldHVybiBtZSh6KTt0aHJvdyJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZCJ9Y2F0Y2goVyl7cyhXKX19ZnVuY3Rpb24gdSgpe2lmKCFRdCYmKFB0fHxndCkpe2lmKHR5cGVvZiBmZXRjaD09ImZ1bmN0aW9uIiYmIXNuLnN0YXJ0c1dpdGgoImZpbGU6Ly8iKSlyZXR1cm4gZmV0Y2goc24se2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKHope2lmKCF6Lm9rKXRocm93ImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJyIrc24rIiciO3JldHVybiB6LmFycmF5QnVmZmVyKCl9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiBmKHNuKX0pO2lmKGFlKXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbih6LFcpe2FlKHNuLGZ1bmN0aW9uKGV0KXt6KG5ldyBVaW50OEFycmF5KGV0KSl9LFcpfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gZihzbil9KX1mdW5jdGlvbiBjKHope2Zvcig7MDx6Lmxlbmd0aDspei5zaGlmdCgpKFIpfWZ1bmN0aW9uIGwoeil7dGhpcy5leGNQdHI9eix0aGlzLnB0cj16LTI0LHRoaXMuc2V0X3R5cGU9ZnVuY3Rpb24oVyl7YmVbdGhpcy5wdHIrND4+Ml09V30sdGhpcy5nZXRfdHlwZT1mdW5jdGlvbigpe3JldHVybiBiZVt0aGlzLnB0cis0Pj4yXX0sdGhpcy5zZXRfZGVzdHJ1Y3Rvcj1mdW5jdGlvbihXKXtiZVt0aGlzLnB0cis4Pj4yXT1XfSx0aGlzLmdldF9kZXN0cnVjdG9yPWZ1bmN0aW9uKCl7cmV0dXJuIGJlW3RoaXMucHRyKzg+PjJdfSx0aGlzLnNldF9yZWZjb3VudD1mdW5jdGlvbihXKXtrZVt0aGlzLnB0cj4+Ml09V30sdGhpcy5zZXRfY2F1Z2h0PWZ1bmN0aW9uKFcpe0VlW3RoaXMucHRyKzEyPj4wXT1XPzE6MH0sdGhpcy5nZXRfY2F1Z2h0PWZ1bmN0aW9uKCl7cmV0dXJuIEVlW3RoaXMucHRyKzEyPj4wXSE9MH0sdGhpcy5zZXRfcmV0aHJvd249ZnVuY3Rpb24oVyl7RWVbdGhpcy5wdHIrMTM+PjBdPVc/MTowfSx0aGlzLmdldF9yZXRocm93bj1mdW5jdGlvbigpe3JldHVybiBFZVt0aGlzLnB0cisxMz4+MF0hPTB9LHRoaXMuaW5pdD1mdW5jdGlvbihXLGV0KXt0aGlzLnNldF9hZGp1c3RlZF9wdHIoMCksdGhpcy5zZXRfdHlwZShXKSx0aGlzLnNldF9kZXN0cnVjdG9yKGV0KSx0aGlzLnNldF9yZWZjb3VudCgwKSx0aGlzLnNldF9jYXVnaHQoITEpLHRoaXMuc2V0X3JldGhyb3duKCExKX0sdGhpcy5hZGRfcmVmPWZ1bmN0aW9uKCl7a2VbdGhpcy5wdHI+PjJdKz0xfSx0aGlzLnJlbGVhc2VfcmVmPWZ1bmN0aW9uKCl7dmFyIFc9a2VbdGhpcy5wdHI+PjJdO3JldHVybiBrZVt0aGlzLnB0cj4+Ml09Vy0xLFc9PT0xfSx0aGlzLnNldF9hZGp1c3RlZF9wdHI9ZnVuY3Rpb24oVyl7YmVbdGhpcy5wdHIrMTY+PjJdPVd9LHRoaXMuZ2V0X2FkanVzdGVkX3B0cj1mdW5jdGlvbigpe3JldHVybiBiZVt0aGlzLnB0cisxNj4+Ml19LHRoaXMuZ2V0X2V4Y2VwdGlvbl9wdHI9ZnVuY3Rpb24oKXtpZihGbCh0aGlzLmdldF90eXBlKCkpKXJldHVybiBiZVt0aGlzLmV4Y1B0cj4+Ml07dmFyIFc9dGhpcy5nZXRfYWRqdXN0ZWRfcHRyKCk7cmV0dXJuIFchPT0wP1c6dGhpcy5leGNQdHJ9fWZ1bmN0aW9uIHAoKXtmdW5jdGlvbiB6KCl7aWYoIW9mJiYob2Y9ITAsUi5jYWxsZWRSdW49ITAsIU5lKSl7aWYocmU9ITAsYyhwbiksb3QoUiksUi5vblJ1bnRpbWVJbml0aWFsaXplZCYmUi5vblJ1bnRpbWVJbml0aWFsaXplZCgpLFIucG9zdFJ1bilmb3IodHlwZW9mIFIucG9zdFJ1bj09ImZ1bmN0aW9uIiYmKFIucG9zdFJ1bj1bUi5wb3N0UnVuXSk7Ui5wb3N0UnVuLmxlbmd0aDspRW4udW5zaGlmdChSLnBvc3RSdW4uc2hpZnQoKSk7YyhFbil9fWlmKCEoMDwkdCkpe2lmKFIucHJlUnVuKWZvcih0eXBlb2YgUi5wcmVSdW49PSJmdW5jdGlvbiImJihSLnByZVJ1bj1bUi5wcmVSdW5dKTtSLnByZVJ1bi5sZW5ndGg7KWxuLnVuc2hpZnQoUi5wcmVSdW4uc2hpZnQoKSk7YyhsbiksMDwkdHx8KFIuc2V0U3RhdHVzPyhSLnNldFN0YXR1cygiUnVubmluZy4uLiIpLHNldFRpbWVvdXQoZnVuY3Rpb24oKXtzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Ui5zZXRTdGF0dXMoIiIpfSwxKSx6KCl9LDEpKTp6KCkpfX1mdW5jdGlvbiBkKCl7fWZ1bmN0aW9uIG0oeil7cmV0dXJuKHp8fGQpLl9fY2FjaGVfX31mdW5jdGlvbiBfKHosVyl7dmFyIGV0PW0oVyksTXQ9ZXRbel07cmV0dXJuIE10fHwoTXQ9T2JqZWN0LmNyZWF0ZSgoV3x8ZCkucHJvdG90eXBlKSxNdC5wdHI9eixldFt6XT1NdCl9ZnVuY3Rpb24gZyh6KXtpZih0eXBlb2Ygej09InN0cmluZyIpe2Zvcih2YXIgVz0wLGV0PTA7ZXQ8ei5sZW5ndGg7KytldCl7dmFyIE10PXouY2hhckNvZGVBdChldCk7MTI3Pj1NdD9XKys6MjA0Nz49TXQ/Vys9Mjo1NTI5Njw9TXQmJjU3MzQzPj1NdD8oVys9NCwrK2V0KTpXKz0zfWlmKFc9QXJyYXkoVysxKSxldD0wLE10PVcubGVuZ3RoLDA8TXQpe010PWV0K010LTE7Zm9yKHZhciBsZT0wO2xlPHoubGVuZ3RoOysrbGUpe3ZhciBUZT16LmNoYXJDb2RlQXQobGUpO2lmKDU1Mjk2PD1UZSYmNTczNDM+PVRlKXt2YXIgT2k9ei5jaGFyQ29kZUF0KCsrbGUpO1RlPTY1NTM2KygoVGUmMTAyMyk8PDEwKXxPaSYxMDIzfWlmKDEyNz49VGUpe2lmKGV0Pj1NdClicmVhaztXW2V0KytdPVRlfWVsc2V7aWYoMjA0Nz49VGUpe2lmKGV0KzE+PU10KWJyZWFrO1dbZXQrK109MTkyfFRlPj42fWVsc2V7aWYoNjU1MzU+PVRlKXtpZihldCsyPj1NdClicmVhaztXW2V0KytdPTIyNHxUZT4+MTJ9ZWxzZXtpZihldCszPj1NdClicmVhaztXW2V0KytdPTI0MHxUZT4+MTgsV1tldCsrXT0xMjh8VGU+PjEyJjYzfVdbZXQrK109MTI4fFRlPj42JjYzfVdbZXQrK109MTI4fFRlJjYzfX1XW2V0XT0wfXJldHVybiB6PUNlLmFsbG9jKFcsRWUpLENlLmNvcHkoVyxFZSx6KSx6fXJldHVybiB6fWZ1bmN0aW9uIGIoeil7aWYodHlwZW9mIHo9PSJvYmplY3QiKXt2YXIgVz1DZS5hbGxvYyh6LEVlKTtyZXR1cm4gQ2UuY29weSh6LEVlLFcpLFd9cmV0dXJuIHp9ZnVuY3Rpb24gVCgpe3Rocm93ImNhbm5vdCBjb25zdHJ1Y3QgYSBWb2lkUHRyLCBubyBjb25zdHJ1Y3RvciBpbiBJREwifWZ1bmN0aW9uIE8oKXt0aGlzLnB0cj1jbigpLG0oTylbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gRSgpe3RoaXMucHRyPXVvKCksbShFKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiB3KCl7dGhpcy5wdHI9bG8oKSxtKHcpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEMoKXt0aGlzLnB0cj1MZSgpLG0oQylbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gTigpe3RoaXMucHRyPUlzKCksbShOKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBJKCl7dGhpcy5wdHI9b28oKSxtKEkpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEQoKXt0aGlzLnB0cj1OYygpLG0oRClbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gdigpe3RoaXMucHRyPW9yKCksbSh2KVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBMKCl7dGhpcy5wdHI9dmMoKSxtKEwpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIFUoKXt0aHJvdyJjYW5ub3QgY29uc3RydWN0IGEgU3RhdHVzLCBubyBjb25zdHJ1Y3RvciBpbiBJREwifWZ1bmN0aW9uIEEoKXt0aGlzLnB0cj1FdSgpLG0oQSlbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gUygpe3RoaXMucHRyPUxjKCksbShTKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBQKCl7dGhpcy5wdHI9V2EoKSxtKFApW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEIoKXt0aGlzLnB0cj1GYygpLG0oQilbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gaigpe3RoaXMucHRyPUl1KCksbShqKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBIKCl7dGhpcy5wdHI9RHUoKSxtKEgpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIGsoKXt0aGlzLnB0cj10cygpLG0oaylbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gSygpe3RoaXMucHRyPUd1KCksbShLKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBYKCl7dGhpcy5wdHI9UWEoKSxtKFgpW3RoaXMucHRyXT10aGlzfWU9ZT09PXZvaWQgMD97fTplO3ZhciBSPXR5cGVvZiBlPCJ1Ij9lOnt9LG90LGF0O1IucmVhZHk9bmV3IFByb21pc2UoZnVuY3Rpb24oeixXKXtvdD16LGF0PVd9KTt2YXIgcHQ9ITEseXQ9ITE7Ui5vblJ1bnRpbWVJbml0aWFsaXplZD1mdW5jdGlvbigpe3B0PSEwLHl0JiZ0eXBlb2YgUi5vbk1vZHVsZUxvYWRlZD09ImZ1bmN0aW9uIiYmUi5vbk1vZHVsZUxvYWRlZChSKX0sUi5vbk1vZHVsZVBhcnNlZD1mdW5jdGlvbigpe3l0PSEwLHB0JiZ0eXBlb2YgUi5vbk1vZHVsZUxvYWRlZD09ImZ1bmN0aW9uIiYmUi5vbk1vZHVsZUxvYWRlZChSKX0sUi5pc1ZlcnNpb25TdXBwb3J0ZWQ9ZnVuY3Rpb24oeil7cmV0dXJuIHR5cGVvZiB6IT0ic3RyaW5nIj8hMTooej16LnNwbGl0KCIuIiksMj56Lmxlbmd0aHx8Mzx6Lmxlbmd0aD8hMTp6WzBdPT0xJiYwPD16WzFdJiY1Pj16WzFdPyEwOiEoelswXSE9MHx8MTA8elsxXSkpfTt2YXIgcnQ9T2JqZWN0LmFzc2lnbih7fSxSKSxQdD10eXBlb2Ygd2luZG93PT0ib2JqZWN0IixndD10eXBlb2YgaW1wb3J0U2NyaXB0cz09ImZ1bmN0aW9uIixDdD10eXBlb2YgcHJvY2Vzcz09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zPT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZT09InN0cmluZyIsbXQ9IiI7aWYoQ3Qpe3ZhciB1dD1wcigiZnMiKSx2dD1wcigicGF0aCIpO210PWd0P3Z0LmRpcm5hbWUobXQpKyIvIjpfX2Rpcm5hbWUrIi8iO3ZhciB6dD1mdW5jdGlvbih6LFcpe3JldHVybiB6PXouc3RhcnRzV2l0aCgiZmlsZTovLyIpP25ldyBVUkwoeik6dnQubm9ybWFsaXplKHopLHV0LnJlYWRGaWxlU3luYyh6LFc/dm9pZCAwOiJ1dGY4Iil9LG1lPWZ1bmN0aW9uKHope3JldHVybiB6PXp0KHosITApLHouYnVmZmVyfHwoej1uZXcgVWludDhBcnJheSh6KSksen0sYWU9ZnVuY3Rpb24oeixXLGV0KXt6PXouc3RhcnRzV2l0aCgiZmlsZTovLyIpP25ldyBVUkwoeik6dnQubm9ybWFsaXplKHopLHV0LnJlYWRGaWxlKHosZnVuY3Rpb24oTXQsbGUpe010P2V0KE10KTpXKGxlLmJ1ZmZlcil9KX07MTxwcm9jZXNzLmFyZ3YubGVuZ3RoJiZwcm9jZXNzLmFyZ3ZbMV0ucmVwbGFjZSgvXFwvZywiLyIpLHByb2Nlc3MuYXJndi5zbGljZSgyKSxSLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4iW0Vtc2NyaXB0ZW4gTW9kdWxlIG9iamVjdF0ifX1lbHNlKFB0fHxndCkmJihndD9tdD1zZWxmLmxvY2F0aW9uLmhyZWY6dHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQuY3VycmVudFNjcmlwdCYmKG10PWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSx0JiYobXQ9dCksbXQ9bXQuaW5kZXhPZigiYmxvYjoiKSE9PTA/bXQuc3Vic3RyKDAsbXQucmVwbGFjZSgvWz8jXS4qLywiIikubGFzdEluZGV4T2YoIi8iKSsxKToiIix6dD1mdW5jdGlvbih6KXt2YXIgVz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIFcub3BlbigiR0VUIix6LCExKSxXLnNlbmQobnVsbCksVy5yZXNwb25zZVRleHR9LGd0JiYobWU9ZnVuY3Rpb24oeil7dmFyIFc9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBXLm9wZW4oIkdFVCIseiwhMSksVy5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIixXLnNlbmQobnVsbCksbmV3IFVpbnQ4QXJyYXkoVy5yZXNwb25zZSl9KSxhZT1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD1uZXcgWE1MSHR0cFJlcXVlc3Q7TXQub3BlbigiR0VUIix6LCEwKSxNdC5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIixNdC5vbmxvYWQ9ZnVuY3Rpb24oKXtNdC5zdGF0dXM9PTIwMHx8TXQuc3RhdHVzPT0wJiZNdC5yZXNwb25zZT9XKE10LnJlc3BvbnNlKTpldCgpfSxNdC5vbmVycm9yPWV0LE10LnNlbmQobnVsbCl9KTt2YXIgcGU9Ui5wcmludHx8Y29uc29sZS5sb2cuYmluZChjb25zb2xlKSx1ZT1SLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtPYmplY3QuYXNzaWduKFIscnQpLHJ0PW51bGw7dmFyIFF0O1Iud2FzbUJpbmFyeSYmKFF0PVIud2FzbUJpbmFyeSksdHlwZW9mIFdlYkFzc2VtYmx5IT0ib2JqZWN0IiYmcygibm8gbmF0aXZlIHdhc20gc3VwcG9ydCBkZXRlY3RlZCIpO3ZhciBKdCxOZT0hMSxnZT10eXBlb2YgVGV4dERlY29kZXI8InUiP25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnZvaWQgMCxFZSx1bixrZSxiZSxsbj1bXSxwbj1bXSxFbj1bXSxyZT0hMSwkdD0wLEdlPW51bGwsZG49bnVsbCxzbj0iZHJhY29fZGVjb2Rlci53YXNtIjtzbi5zdGFydHNXaXRoKCJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIil8fChzbj1uKHNuKSk7dmFyIG1uPTAsZm89W251bGwsW10sW11dLEhuPXtiOmZ1bmN0aW9uKHosVyxldCl7dGhyb3cgbmV3IGwoeikuaW5pdChXLGV0KSxtbisrLHp9LGE6ZnVuY3Rpb24oKXtzKCIiKX0sZzpmdW5jdGlvbih6LFcsZXQpe3VuLmNvcHlXaXRoaW4oeixXLFcrZXQpfSxlOmZ1bmN0aW9uKHope3ZhciBXPXVuLmxlbmd0aDtpZih6Pj4+PTAsMjE0NzQ4MzY0ODx6KXJldHVybiExO2Zvcih2YXIgZXQ9MTs0Pj1ldDtldCo9Mil7dmFyIE10PVcqKDErLjIvZXQpO010PU1hdGgubWluKE10LHorMTAwNjYzMjk2KTt2YXIgbGU9TWF0aDtNdD1NYXRoLm1heCh6LE10KSxsZT1sZS5taW4uY2FsbChsZSwyMTQ3NDgzNjQ4LE10Kyg2NTUzNi1NdCU2NTUzNiklNjU1MzYpO3Q6e010PUp0LmJ1ZmZlcjt0cnl7SnQuZ3JvdyhsZS1NdC5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpLGkoKTt2YXIgVGU9MTticmVhayB0fWNhdGNoe31UZT12b2lkIDB9aWYoVGUpcmV0dXJuITB9cmV0dXJuITF9LGY6ZnVuY3Rpb24oeil7cmV0dXJuIDUyfSxkOmZ1bmN0aW9uKHosVyxldCxNdCxsZSl7cmV0dXJuIDcwfSxjOmZ1bmN0aW9uKHosVyxldCxNdCl7Zm9yKHZhciBsZT0wLFRlPTA7VGU8ZXQ7VGUrKyl7dmFyIE9pPWJlW1c+PjJdLEdjPWJlW1crND4+Ml07Vys9ODtmb3IodmFyIFY9MDtWPEdjO1YrKyl7dmFyIEc9dW5bT2krVl0sWT1mb1t6XTtHPT09MHx8Rz09PTEwPygoej09PTE/cGU6dWUpKG8oWSwwKSksWS5sZW5ndGg9MCk6WS5wdXNoKEcpfWxlKz1HY31yZXR1cm4gYmVbTXQ+PjJdPWxlLDB9fTsoZnVuY3Rpb24oKXtmdW5jdGlvbiB6KGxlLFRlKXtSLmFzbT1sZS5leHBvcnRzLEp0PVIuYXNtLmgsaSgpLHBuLnVuc2hpZnQoUi5hc20uaSksJHQtLSxSLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJlIubW9uaXRvclJ1bkRlcGVuZGVuY2llcygkdCksJHQ9PTAmJihHZSE9PW51bGwmJihjbGVhckludGVydmFsKEdlKSxHZT1udWxsKSxkbiYmKGxlPWRuLGRuPW51bGwsbGUoKSkpfWZ1bmN0aW9uIFcobGUpe3oobGUuaW5zdGFuY2UpfWZ1bmN0aW9uIGV0KGxlKXtyZXR1cm4gdSgpLnRoZW4oZnVuY3Rpb24oVGUpe3JldHVybiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZShUZSxNdCl9KS50aGVuKGZ1bmN0aW9uKFRlKXtyZXR1cm4gVGV9KS50aGVuKGxlLGZ1bmN0aW9uKFRlKXt1ZSgiZmFpbGVkIHRvIGFzeW5jaHJvbm91c2x5IHByZXBhcmUgd2FzbTogIitUZSkscyhUZSl9KX12YXIgTXQ9e2E6SG59O2lmKCR0KyssUi5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZSLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMoJHQpLFIuaW5zdGFudGlhdGVXYXNtKXRyeXtyZXR1cm4gUi5pbnN0YW50aWF0ZVdhc20oTXQseil9Y2F0Y2gobGUpe3VlKCJNb2R1bGUuaW5zdGFudGlhdGVXYXNtIGNhbGxiYWNrIGZhaWxlZCB3aXRoIGVycm9yOiAiK2xlKSxhdChsZSl9cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIFF0fHx0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmchPSJmdW5jdGlvbiJ8fHNuLnN0YXJ0c1dpdGgoImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiKXx8c24uc3RhcnRzV2l0aCgiZmlsZTovLyIpfHxDdHx8dHlwZW9mIGZldGNoIT0iZnVuY3Rpb24iP2V0KFcpOmZldGNoKHNuLHtjcmVkZW50aWFsczoic2FtZS1vcmlnaW4ifSkudGhlbihmdW5jdGlvbihsZSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nKGxlLE10KS50aGVuKFcsZnVuY3Rpb24oVGUpe3JldHVybiB1ZSgid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIrVGUpLHVlKCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvbiIpLGV0KFcpfSl9KX0oKS5jYXRjaChhdCkse319KSgpO3ZhciBaZT1SLl9lbXNjcmlwdGVuX2JpbmRfVm9pZFB0cl9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKFplPVIuX2Vtc2NyaXB0ZW5fYmluZF9Wb2lkUHRyX19fZGVzdHJveV9fXzA9Ui5hc20uaykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjbj1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9EZWNvZGVyQnVmZmVyXzA9ZnVuY3Rpb24oKXtyZXR1cm4oY249Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfRGVjb2RlckJ1ZmZlcl8wPVIuYXNtLmwpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sS2U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfSW5pdF8yPWZ1bmN0aW9uKCl7cmV0dXJuKEtlPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyQnVmZmVyX0luaXRfMj1SLmFzbS5tKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGhuPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyQnVmZmVyX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oaG49Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfX19kZXN0cm95X19fMD1SLmFzbS5uKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHVvPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD1mdW5jdGlvbigpe3JldHVybih1bz1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhXzA9Ui5hc20ubykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxxbj1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV90cmFuc2Zvcm1fdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHFuPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX3RyYW5zZm9ybV90eXBlXzA9Ui5hc20ucCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxLbj1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKEtuPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX19fZGVzdHJveV9fXzA9Ui5hc20ucSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxsbz1SLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfR2VvbWV0cnlBdHRyaWJ1dGVfMD1mdW5jdGlvbigpe3JldHVybihsbz1SLl9lbXNjcmlwdGVuX2JpbmRfR2VvbWV0cnlBdHRyaWJ1dGVfR2VvbWV0cnlBdHRyaWJ1dGVfMD1SLmFzbS5yKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHplPVIuX2Vtc2NyaXB0ZW5fYmluZF9HZW9tZXRyeUF0dHJpYnV0ZV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKHplPVIuX2Vtc2NyaXB0ZW5fYmluZF9HZW9tZXRyeUF0dHJpYnV0ZV9fX2Rlc3Ryb3lfX18wPVIuYXNtLnMpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTGU9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX1BvaW50QXR0cmlidXRlXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTGU9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX1BvaW50QXR0cmlidXRlXzA9Ui5hc20udCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxEbj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKERuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9zaXplXzA9Ui5hc20udSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxXbj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfR2V0QXR0cmlidXRlVHJhbnNmb3JtRGF0YV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFduPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9HZXRBdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhXzA9Ui5hc20udikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx6bz1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfYXR0cmlidXRlX3R5cGVfMD1mdW5jdGlvbigpe3JldHVybih6bz1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfYXR0cmlidXRlX3R5cGVfMD1SLmFzbS53KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHJuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9kYXRhX3R5cGVfMD1mdW5jdGlvbigpe3JldHVybihybj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfZGF0YV90eXBlXzA9Ui5hc20ueCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxSbj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfbnVtX2NvbXBvbmVudHNfMD1mdW5jdGlvbigpe3JldHVybihSbj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfbnVtX2NvbXBvbmVudHNfMD1SLmFzbS55KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGFyPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ub3JtYWxpemVkXzA9ZnVuY3Rpb24oKXtyZXR1cm4oYXI9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX25vcm1hbGl6ZWRfMD1SLmFzbS56KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFFuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ieXRlX3N0cmlkZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFFuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9ieXRlX3N0cmlkZV8wPVIuYXNtLkEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sam89Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfb2Zmc2V0XzA9ZnVuY3Rpb24oKXtyZXR1cm4oam89Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfb2Zmc2V0XzA9Ui5hc20uQikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxOcj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfdW5pcXVlX2lkXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTnI9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX3VuaXF1ZV9pZF8wPVIuYXNtLkMpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTnM9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTnM9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX19fZGVzdHJveV9fXzA9Ui5hc20uRCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJcz1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV8wPWZ1bmN0aW9uKCl7cmV0dXJuKElzPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtXzA9Ui5hc20uRSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxZaT1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX0luaXRGcm9tQXR0cmlidXRlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oWWk9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9Jbml0RnJvbUF0dHJpYnV0ZV8xPVIuYXNtLkYpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSXI9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9xdWFudGl6YXRpb25fYml0c18wPWZ1bmN0aW9uKCl7cmV0dXJuKElyPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fcXVhbnRpemF0aW9uX2JpdHNfMD1SLmFzbS5HKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LCRpPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fbWluX3ZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oJGk9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9taW5fdmFsdWVfMT1SLmFzbS5IKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHZzPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fcmFuZ2VfMD1mdW5jdGlvbigpe3JldHVybih2cz1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX3JhbmdlXzA9Ui5hc20uSSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxiaT1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oYmk9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPVIuYXNtLkopLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sb289Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV8wPWZ1bmN0aW9uKCl7cmV0dXJuKG9vPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fMD1SLmFzbS5LKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHBvPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX0luaXRGcm9tQXR0cmlidXRlXzE9ZnVuY3Rpb24oKXtyZXR1cm4ocG89Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fSW5pdEZyb21BdHRyaWJ1dGVfMT1SLmFzbS5MKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHZyPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX3F1YW50aXphdGlvbl9iaXRzXzA9ZnVuY3Rpb24oKXtyZXR1cm4odnI9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fcXVhbnRpemF0aW9uX2JpdHNfMD1SLmFzbS5NKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE1jPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTWM9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fX19kZXN0cm95X19fMD1SLmFzbS5OKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE5jPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX1BvaW50Q2xvdWRfMD1mdW5jdGlvbigpe3JldHVybihOYz1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9Qb2ludENsb3VkXzA9Ui5hc20uTykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxGbj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9udW1fYXR0cmlidXRlc18wPWZ1bmN0aW9uKCl7cmV0dXJuKEZuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX251bV9hdHRyaWJ1dGVzXzA9Ui5hc20uUCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxUaT1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9udW1fcG9pbnRzXzA9ZnVuY3Rpb24oKXtyZXR1cm4oVGk9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfbnVtX3BvaW50c18wPVIuYXNtLlEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGU9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihEZT1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9fX2Rlc3Ryb3lfX18wPVIuYXNtLlIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sb3I9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfTWVzaF8wPWZ1bmN0aW9uKCl7cmV0dXJuKG9yPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX01lc2hfMD1SLmFzbS5TKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEF1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9mYWNlc18wPWZ1bmN0aW9uKCl7cmV0dXJuKEF1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9mYWNlc18wPVIuYXNtLlQpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYnU9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfbnVtX2F0dHJpYnV0ZXNfMD1mdW5jdGlvbigpe3JldHVybihidT1SLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9udW1fYXR0cmlidXRlc18wPVIuYXNtLlUpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVHU9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfbnVtX3BvaW50c18wPWZ1bmN0aW9uKCl7cmV0dXJuKFR1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9wb2ludHNfMD1SLmFzbS5WKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEljPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSWM9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfX19kZXN0cm95X19fMD1SLmFzbS5XKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHZjPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YV9NZXRhZGF0YV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHZjPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YV9NZXRhZGF0YV8wPVIuYXNtLlgpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scWE9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4ocWE9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhX19fZGVzdHJveV9fXzA9Ui5hc20uWSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx3dT1SLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX2NvZGVfMD1mdW5jdGlvbigpe3JldHVybih3dT1SLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX2NvZGVfMD1SLmFzbS5aKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEthPVIuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfb2tfMD1mdW5jdGlvbigpe3JldHVybihLYT1SLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX29rXzA9Ui5hc20uXykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxaaT1SLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX2Vycm9yX21zZ18wPWZ1bmN0aW9uKCl7cmV0dXJuKFppPVIuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfZXJyb3JfbXNnXzA9Ui5hc20uJCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxPdT1SLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oT3U9Ui5fZW1zY3JpcHRlbl9iaW5kX1N0YXR1c19fX2Rlc3Ryb3lfX18wPVIuYXNtLmFhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEV1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9EcmFjb0Zsb2F0MzJBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEV1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9EcmFjb0Zsb2F0MzJBcnJheV8wPVIuYXNtLmJhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFJ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9HZXRWYWx1ZV8xPVIuYXNtLmNhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFFpPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oUWk9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X3NpemVfMD1SLmFzbS5kYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxKaT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29GbG9hdDMyQXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihKaT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29GbG9hdDMyQXJyYXlfX19kZXN0cm95X19fMD1SLmFzbS5lYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMYz1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfRHJhY29JbnQ4QXJyYXlfMD1mdW5jdGlvbigpe3JldHVybihMYz1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfRHJhY29JbnQ4QXJyYXlfMD1SLmFzbS5mYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihTdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfR2V0VmFsdWVfMT1SLmFzbS5nYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxDdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEN1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDhBcnJheV9zaXplXzA9Ui5hc20uaGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTHI9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTHI9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X19fZGVzdHJveV9fXzA9Ui5hc20uaWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sV2E9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9EcmFjb1VJbnQ4QXJyYXlfMD1mdW5jdGlvbigpe3JldHVybihXYT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X0RyYWNvVUludDhBcnJheV8wPVIuYXNtLmphKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFhhPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihYYT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X0dldFZhbHVlXzE9Ui5hc20ua2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oRGM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9zaXplXzA9Ui5hc20ubGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seHU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKHh1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfX19kZXN0cm95X19fMD1SLmFzbS5tYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxGYz1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X0RyYWNvSW50MTZBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEZjPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfRHJhY29JbnQxNkFycmF5XzA9Ui5hc20ubmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUHU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFB1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfR2V0VmFsdWVfMT1SLmFzbS5vYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxNdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X3NpemVfMD1mdW5jdGlvbigpe3JldHVybihNdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X3NpemVfMD1SLmFzbS5wYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxOdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9fX2Rlc3Ryb3lfX18wPVIuYXNtLnFhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEl1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X0RyYWNvVUludDE2QXJyYXlfMD1mdW5jdGlvbigpe3JldHVybihJdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9EcmFjb1VJbnQxNkFycmF5XzA9Ui5hc20ucmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybih2dT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9HZXRWYWx1ZV8xPVIuYXNtLnNhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEx1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X3NpemVfMD1mdW5jdGlvbigpe3JldHVybihMdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9zaXplXzA9Ui5hc20udGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWWE9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihZYT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9fX2Rlc3Ryb3lfX18wPVIuYXNtLnVhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LER1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfRHJhY29JbnQzMkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oRHU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9EcmFjb0ludDMyQXJyYXlfMD1SLmFzbS52YSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxGdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oRnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9HZXRWYWx1ZV8xPVIuYXNtLndhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEJ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEJ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfc2l6ZV8wPVIuYXNtLnhhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFV1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihVdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X19fZGVzdHJveV9fXzA9Ui5hc20ueWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdHM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfRHJhY29VSW50MzJBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHRzPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X0RyYWNvVUludDMyQXJyYXlfMD1SLmFzbS56YSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxWdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFZ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X0dldFZhbHVlXzE9Ui5hc20uQWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sa3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGt1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X3NpemVfMD1SLmFzbS5CYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMcz1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKExzPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X19fZGVzdHJveV9fXzA9Ui5hc20uQ2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR3U9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9NZXRhZGF0YVF1ZXJpZXJfMD1mdW5jdGlvbigpe3JldHVybihHdT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX01ldGFkYXRhUXVlcmllcl8wPVIuYXNtLkRhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHp1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfSGFzRW50cnlfMj1mdW5jdGlvbigpe3JldHVybih6dT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0hhc0VudHJ5XzI9Ui5hc20uRWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZnI9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRJbnRFbnRyeV8yPWZ1bmN0aW9uKCl7cmV0dXJuKGZyPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0SW50RW50cnlfMj1SLmFzbS5GYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSwkYT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5QXJyYXlfMz1mdW5jdGlvbigpe3JldHVybigkYT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5QXJyYXlfMz1SLmFzbS5HYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxqdT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldERvdWJsZUVudHJ5XzI9ZnVuY3Rpb24oKXtyZXR1cm4oanU9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXREb3VibGVFbnRyeV8yPVIuYXNtLkhhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEh1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0U3RyaW5nRW50cnlfMj1mdW5jdGlvbigpe3JldHVybihIdT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldFN0cmluZ0VudHJ5XzI9Ui5hc20uSWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scXU9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9OdW1FbnRyaWVzXzE9ZnVuY3Rpb24oKXtyZXR1cm4ocXU9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9OdW1FbnRyaWVzXzE9Ui5hc20uSmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSG89Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRFbnRyeU5hbWVfMj1mdW5jdGlvbigpe3JldHVybihIbz1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEVudHJ5TmFtZV8yPVIuYXNtLkthKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFphPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihaYT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX19fZGVzdHJveV9fXzA9Ui5hc20uTGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUWE9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2Rlcl8wPWZ1bmN0aW9uKCl7cmV0dXJuKFFhPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZXJfMD1SLmFzbS5NYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxEcz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVBcnJheVRvUG9pbnRDbG91ZF8zPWZ1bmN0aW9uKCl7cmV0dXJuKERzPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUFycmF5VG9Qb2ludENsb3VkXzM9Ui5hc20uTmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sS3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQXJyYXlUb01lc2hfMz1mdW5jdGlvbigpe3JldHVybihLdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVBcnJheVRvTWVzaF8zPVIuYXNtLk9hKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEJjPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUlkXzI9ZnVuY3Rpb24oKXtyZXR1cm4oQmM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRfMj1SLmFzbS5QYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxXdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZEJ5TmFtZV8yPWZ1bmN0aW9uKCl7cmV0dXJuKFd1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUlkQnlOYW1lXzI9Ui5hc20uUWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSmE9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnlfMz1mdW5jdGlvbigpe3JldHVybihKYT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZEJ5TWV0YWRhdGFFbnRyeV8zPVIuYXNtLlJhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHRmPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZV8yPWZ1bmN0aW9uKCl7cmV0dXJuKHRmPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZV8yPVIuYXNtLlNhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFh1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUJ5VW5pcXVlSWRfMj1mdW5jdGlvbigpe3JldHVybihYdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVCeVVuaXF1ZUlkXzI9Ui5hc20uVGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWXU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0TWV0YWRhdGFfMT1mdW5jdGlvbigpe3JldHVybihZdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRNZXRhZGF0YV8xPVIuYXNtLlVhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFVjPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZU1ldGFkYXRhXzI9ZnVuY3Rpb24oKXtyZXR1cm4oVWM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlTWV0YWRhdGFfMj1SLmFzbS5WYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBbz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRGYWNlRnJvbU1lc2hfMz1mdW5jdGlvbigpe3JldHVybihBbz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRGYWNlRnJvbU1lc2hfMz1SLmFzbS5XYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxWYz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZVN0cmlwc0Zyb21NZXNoXzI9ZnVuY3Rpb24oKXtyZXR1cm4oVmM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0VHJpYW5nbGVTdHJpcHNGcm9tTWVzaF8yPVIuYXNtLlhhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LCR1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlc1VJbnQxNkFycmF5XzM9ZnVuY3Rpb24oKXtyZXR1cm4oJHU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0VHJpYW5nbGVzVUludDE2QXJyYXlfMz1SLmFzbS5ZYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxadT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZXNVSW50MzJBcnJheV8zPWZ1bmN0aW9uKCl7cmV0dXJuKFp1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlc1VJbnQzMkFycmF5XzM9Ui5hc20uWmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUXU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRmxvYXRfMz1mdW5jdGlvbigpe3JldHVybihRdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVGbG9hdF8zPVIuYXNtLl9hKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHVyPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4odXI9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRmxvYXRGb3JBbGxQb2ludHNfMz1SLmFzbS4kYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxKdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnRGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybihKdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnRGb3JBbGxQb2ludHNfMz1SLmFzbS5hYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx0bD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQ4Rm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4odGw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSW50OEZvckFsbFBvaW50c18zPVIuYXNtLmJiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGVsPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZVVJbnQ4Rm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4oZWw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHNfMz1SLmFzbS5jYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxGcz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKEZzPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDE2Rm9yQWxsUG9pbnRzXzM9Ui5hc20uZGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbmw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDE2Rm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4obmw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDE2Rm9yQWxsUG9pbnRzXzM9Ui5hc20uZWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sd2k9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSW50MzJGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybih3aT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQzMkZvckFsbFBvaW50c18zPVIuYXNtLmZiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG9sPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZVVJbnQzMkZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKG9sPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZVVJbnQzMkZvckFsbFBvaW50c18zPVIuYXNtLmdiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHJsPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50c181PWZ1bmN0aW9uKCl7cmV0dXJuKHJsPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50c181PVIuYXNtLmhiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGlsPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX1NraXBBdHRyaWJ1dGVUcmFuc2Zvcm1fMT1mdW5jdGlvbigpe3JldHVybihpbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9Ta2lwQXR0cmlidXRlVHJhbnNmb3JtXzE9Ui5hc20uaWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sc2w9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkXzE9ZnVuY3Rpb24oKXtyZXR1cm4oc2w9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkXzE9Ui5hc20uamIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sY2w9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQnVmZmVyVG9Qb2ludENsb3VkXzI9ZnVuY3Rpb24oKXtyZXR1cm4oY2w9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQnVmZmVyVG9Qb2ludENsb3VkXzI9Ui5hc20ua2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYWw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQnVmZmVyVG9NZXNoXzI9ZnVuY3Rpb24oKXtyZXR1cm4oYWw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQnVmZmVyVG9NZXNoXzI9Ui5hc20ubGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZmw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihmbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9fX2Rlc3Ryb3lfX18wPVIuYXNtLm1iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHVsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9JTlZBTElEX1RSQU5TRk9STT1mdW5jdGlvbigpe3JldHVybih1bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfSU5WQUxJRF9UUkFOU0ZPUk09Ui5hc20ubmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX05PX1RSQU5TRk9STT1mdW5jdGlvbigpe3JldHVybihsbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfTk9fVFJBTlNGT1JNPVIuYXNtLm9iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHBsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9RVUFOVElaQVRJT05fVFJBTlNGT1JNPWZ1bmN0aW9uKCl7cmV0dXJuKHBsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9RVUFOVElaQVRJT05fVFJBTlNGT1JNPVIuYXNtLnBiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGRsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9PQ1RBSEVEUk9OX1RSQU5TRk9STT1mdW5jdGlvbigpe3JldHVybihkbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfT0NUQUhFRFJPTl9UUkFOU0ZPUk09Ui5hc20ucWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZXM9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfSU5WQUxJRD1mdW5jdGlvbigpe3JldHVybihlcz1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9JTlZBTElEPVIuYXNtLnJiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LG1sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1BPU0lUSU9OPWZ1bmN0aW9uKCl7cmV0dXJuKG1sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1BPU0lUSU9OPVIuYXNtLnNiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGhsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX05PUk1BTD1mdW5jdGlvbigpe3JldHVybihobD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9OT1JNQUw9Ui5hc20udGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQnM9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfQ09MT1I9ZnVuY3Rpb24oKXtyZXR1cm4oQnM9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfQ09MT1I9Ui5hc20udWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sa2M9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfVEVYX0NPT1JEPWZ1bmN0aW9uKCl7cmV0dXJuKGtjPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX1RFWF9DT09SRD1SLmFzbS52YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxfbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9HRU5FUklDPWZ1bmN0aW9uKCl7cmV0dXJuKF9sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0dFTkVSSUM9Ui5hc20ud2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZWY9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0VuY29kZWRHZW9tZXRyeVR5cGVfSU5WQUxJRF9HRU9NRVRSWV9UWVBFPWZ1bmN0aW9uKCl7cmV0dXJuKGVmPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX0lOVkFMSURfR0VPTUVUUllfVFlQRT1SLmFzbS54YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx5bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9QT0lOVF9DTE9VRD1mdW5jdGlvbigpe3JldHVybih5bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9QT0lOVF9DTE9VRD1SLmFzbS55YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxnbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9UUklBTkdVTEFSX01FU0g9ZnVuY3Rpb24oKXtyZXR1cm4oZ2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0VuY29kZWRHZW9tZXRyeVR5cGVfVFJJQU5HVUxBUl9NRVNIPVIuYXNtLnpiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEFsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlZBTElEPWZ1bmN0aW9uKCl7cmV0dXJuKEFsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlZBTElEPVIuYXNtLkFiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGJsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQ4PWZ1bmN0aW9uKCl7cmV0dXJuKGJsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQ4PVIuYXNtLkJiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFRsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UOD1mdW5jdGlvbigpe3JldHVybihUbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDg9Ui5hc20uQ2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sd2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDE2PWZ1bmN0aW9uKCl7cmV0dXJuKHdsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQxNj1SLmFzbS5EYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxPbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDE2PWZ1bmN0aW9uKCl7cmV0dXJuKE9sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UMTY9Ui5hc20uRWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRWw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDMyPWZ1bmN0aW9uKCl7cmV0dXJuKEVsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQzMj1SLmFzbS5GYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxuZj1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDMyPWZ1bmN0aW9uKCl7cmV0dXJuKG5mPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UMzI9Ui5hc20uR2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUmw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDY0PWZ1bmN0aW9uKCl7cmV0dXJuKFJsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9JTlQ2ND1SLmFzbS5IYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVUlOVDY0PWZ1bmN0aW9uKCl7cmV0dXJuKFNsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UNjQ9Ui5hc20uSWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQ2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUMzI9ZnVuY3Rpb24oKXtyZXR1cm4oQ2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUMzI9Ui5hc20uSmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0seGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oeGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0ZMT0FUNjQ9Ui5hc20uS2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0JPT0w9ZnVuY3Rpb24oKXtyZXR1cm4oUGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0JPT0w9Ui5hc20uTGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTWw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1RZUEVTX0NPVU5UPWZ1bmN0aW9uKCl7cmV0dXJuKE1sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9UWVBFU19DT1VOVD1SLmFzbS5NYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxObD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9PSz1mdW5jdGlvbigpe3JldHVybihObD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9PSz1SLmFzbS5OYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxVcz1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9EUkFDT19FUlJPUj1mdW5jdGlvbigpe3JldHVybihVcz1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9EUkFDT19FUlJPUj1SLmFzbS5PYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9JT19FUlJPUj1mdW5jdGlvbigpe3JldHVybihJbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9JT19FUlJPUj1SLmFzbS5QYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx2bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9JTlZBTElEX1BBUkFNRVRFUj1mdW5jdGlvbigpe3JldHVybih2bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9JTlZBTElEX1BBUkFNRVRFUj1SLmFzbS5RYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9VTlNVUFBPUlRFRF9WRVJTSU9OPWZ1bmN0aW9uKCl7cmV0dXJuKExsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX1VOU1VQUE9SVEVEX1ZFUlNJT049Ui5hc20uUmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfVU5LTk9XTl9WRVJTSU9OPWZ1bmN0aW9uKCl7cmV0dXJuKERsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX1VOS05PV05fVkVSU0lPTj1SLmFzbS5TYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtSLl9tYWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4oUi5fbWFsbG9jPVIuYXNtLlRiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFIuX2ZyZWU9ZnVuY3Rpb24oKXtyZXR1cm4oUi5fZnJlZT1SLmFzbS5VYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfTt2YXIgRmw9ZnVuY3Rpb24oKXtyZXR1cm4oRmw9Ui5hc20uVmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX07Ui5fX19zdGFydF9lbV9qcz0xNTg1NixSLl9fX3N0b3BfZW1fanM9MTU5NTQ7dmFyIG9mO2lmKGRuPWZ1bmN0aW9uIHooKXtvZnx8cCgpLG9mfHwoZG49eil9LFIucHJlSW5pdClmb3IodHlwZW9mIFIucHJlSW5pdD09ImZ1bmN0aW9uIiYmKFIucHJlSW5pdD1bUi5wcmVJbml0XSk7MDxSLnByZUluaXQubGVuZ3RoOylSLnByZUluaXQucG9wKCkoKTtwKCksZC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksZC5wcm90b3R5cGUuY29uc3RydWN0b3I9ZCxkLnByb3RvdHlwZS5fX2NsYXNzX189ZCxkLl9fY2FjaGVfXz17fSxSLldyYXBwZXJPYmplY3Q9ZCxSLmdldENhY2hlPW0sUi53cmFwUG9pbnRlcj1fLFIuY2FzdE9iamVjdD1mdW5jdGlvbih6LFcpe3JldHVybiBfKHoucHRyLFcpfSxSLk5VTEw9XygwKSxSLmRlc3Ryb3k9ZnVuY3Rpb24oeil7aWYoIXouX19kZXN0cm95X18pdGhyb3ciRXJyb3I6IENhbm5vdCBkZXN0cm95IG9iamVjdC4gKERpZCB5b3UgY3JlYXRlIGl0IHlvdXJzZWxmPykiO3ouX19kZXN0cm95X18oKSxkZWxldGUgbSh6Ll9fY2xhc3NfXylbei5wdHJdfSxSLmNvbXBhcmU9ZnVuY3Rpb24oeixXKXtyZXR1cm4gei5wdHI9PT1XLnB0cn0sUi5nZXRQb2ludGVyPWZ1bmN0aW9uKHope3JldHVybiB6LnB0cn0sUi5nZXRDbGFzcz1mdW5jdGlvbih6KXtyZXR1cm4gei5fX2NsYXNzX199O3ZhciBDZT17YnVmZmVyOjAsc2l6ZTowLHBvczowLHRlbXBzOltdLG5lZWRlZDowLHByZXBhcmU6ZnVuY3Rpb24oKXtpZihDZS5uZWVkZWQpe2Zvcih2YXIgej0wO3o8Q2UudGVtcHMubGVuZ3RoO3orKylSLl9mcmVlKENlLnRlbXBzW3pdKTtDZS50ZW1wcy5sZW5ndGg9MCxSLl9mcmVlKENlLmJ1ZmZlciksQ2UuYnVmZmVyPTAsQ2Uuc2l6ZSs9Q2UubmVlZGVkLENlLm5lZWRlZD0wfUNlLmJ1ZmZlcnx8KENlLnNpemUrPTEyOCxDZS5idWZmZXI9Ui5fbWFsbG9jKENlLnNpemUpLENlLmJ1ZmZlcnx8cyh2b2lkIDApKSxDZS5wb3M9MH0sYWxsb2M6ZnVuY3Rpb24oeixXKXtyZXR1cm4gQ2UuYnVmZmVyfHxzKHZvaWQgMCksej16Lmxlbmd0aCpXLkJZVEVTX1BFUl9FTEVNRU5ULHo9eis3Ji04LENlLnBvcyt6Pj1DZS5zaXplPygwPHp8fHModm9pZCAwKSxDZS5uZWVkZWQrPXosVz1SLl9tYWxsb2MoeiksQ2UudGVtcHMucHVzaChXKSk6KFc9Q2UuYnVmZmVyK0NlLnBvcyxDZS5wb3MrPXopLFd9LGNvcHk6ZnVuY3Rpb24oeixXLGV0KXtzd2l0Y2goZXQ+Pj49MCxXLkJZVEVTX1BFUl9FTEVNRU5UKXtjYXNlIDI6ZXQ+Pj49MTticmVhaztjYXNlIDQ6ZXQ+Pj49MjticmVhaztjYXNlIDg6ZXQ+Pj49M31mb3IodmFyIE10PTA7TXQ8ei5sZW5ndGg7TXQrKylXW2V0K010XT16W010XX19O3JldHVybiBULnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxULnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1ULFQucHJvdG90eXBlLl9fY2xhc3NfXz1ULFQuX19jYWNoZV9fPXt9LFIuVm9pZFB0cj1ULFQucHJvdG90eXBlLl9fZGVzdHJveV9fPVQucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7WmUodGhpcy5wdHIpfSxPLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxPLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1PLE8ucHJvdG90eXBlLl9fY2xhc3NfXz1PLE8uX19jYWNoZV9fPXt9LFIuRGVjb2RlckJ1ZmZlcj1PLE8ucHJvdG90eXBlLkluaXQ9Ty5wcm90b3R5cGUuSW5pdD1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtDZS5wcmVwYXJlKCksdHlwZW9mIHo9PSJvYmplY3QiJiYoej1iKHopKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxLZShldCx6LFcpfSxPLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1PLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe2huKHRoaXMucHRyKX0sRS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksRS5wcm90b3R5cGUuY29uc3RydWN0b3I9RSxFLnByb3RvdHlwZS5fX2NsYXNzX189RSxFLl9fY2FjaGVfXz17fSxSLkF0dHJpYnV0ZVRyYW5zZm9ybURhdGE9RSxFLnByb3RvdHlwZS50cmFuc2Zvcm1fdHlwZT1FLnByb3RvdHlwZS50cmFuc2Zvcm1fdHlwZT1mdW5jdGlvbigpe3JldHVybiBxbih0aGlzLnB0cil9LEUucHJvdG90eXBlLl9fZGVzdHJveV9fPUUucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7S24odGhpcy5wdHIpfSx3LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx3LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj13LHcucHJvdG90eXBlLl9fY2xhc3NfXz13LHcuX19jYWNoZV9fPXt9LFIuR2VvbWV0cnlBdHRyaWJ1dGU9dyx3LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz13LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe3plKHRoaXMucHRyKX0sQy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksQy5wcm90b3R5cGUuY29uc3RydWN0b3I9QyxDLnByb3RvdHlwZS5fX2NsYXNzX189QyxDLl9fY2FjaGVfXz17fSxSLlBvaW50QXR0cmlidXRlPUMsQy5wcm90b3R5cGUuc2l6ZT1DLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIERuKHRoaXMucHRyKX0sQy5wcm90b3R5cGUuR2V0QXR0cmlidXRlVHJhbnNmb3JtRGF0YT1DLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhPWZ1bmN0aW9uKCl7cmV0dXJuIF8oV24odGhpcy5wdHIpLEUpfSxDLnByb3RvdHlwZS5hdHRyaWJ1dGVfdHlwZT1DLnByb3RvdHlwZS5hdHRyaWJ1dGVfdHlwZT1mdW5jdGlvbigpe3JldHVybiB6byh0aGlzLnB0cil9LEMucHJvdG90eXBlLmRhdGFfdHlwZT1DLnByb3RvdHlwZS5kYXRhX3R5cGU9ZnVuY3Rpb24oKXtyZXR1cm4gcm4odGhpcy5wdHIpfSxDLnByb3RvdHlwZS5udW1fY29tcG9uZW50cz1DLnByb3RvdHlwZS5udW1fY29tcG9uZW50cz1mdW5jdGlvbigpe3JldHVybiBSbih0aGlzLnB0cil9LEMucHJvdG90eXBlLm5vcm1hbGl6ZWQ9Qy5wcm90b3R5cGUubm9ybWFsaXplZD1mdW5jdGlvbigpe3JldHVybiEhYXIodGhpcy5wdHIpfSxDLnByb3RvdHlwZS5ieXRlX3N0cmlkZT1DLnByb3RvdHlwZS5ieXRlX3N0cmlkZT1mdW5jdGlvbigpe3JldHVybiBRbih0aGlzLnB0cil9LEMucHJvdG90eXBlLmJ5dGVfb2Zmc2V0PUMucHJvdG90eXBlLmJ5dGVfb2Zmc2V0PWZ1bmN0aW9uKCl7cmV0dXJuIGpvKHRoaXMucHRyKX0sQy5wcm90b3R5cGUudW5pcXVlX2lkPUMucHJvdG90eXBlLnVuaXF1ZV9pZD1mdW5jdGlvbigpe3JldHVybiBOcih0aGlzLnB0cil9LEMucHJvdG90eXBlLl9fZGVzdHJveV9fPUMucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7TnModGhpcy5wdHIpfSxOLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxOLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1OLE4ucHJvdG90eXBlLl9fY2xhc3NfXz1OLE4uX19jYWNoZV9fPXt9LFIuQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtPU4sTi5wcm90b3R5cGUuSW5pdEZyb21BdHRyaWJ1dGU9Ti5wcm90b3R5cGUuSW5pdEZyb21BdHRyaWJ1dGU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLCEhWWkoVyx6KX0sTi5wcm90b3R5cGUucXVhbnRpemF0aW9uX2JpdHM9Ti5wcm90b3R5cGUucXVhbnRpemF0aW9uX2JpdHM9ZnVuY3Rpb24oKXtyZXR1cm4gSXIodGhpcy5wdHIpfSxOLnByb3RvdHlwZS5taW5fdmFsdWU9Ti5wcm90b3R5cGUubWluX3ZhbHVlPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSwkaShXLHopfSxOLnByb3RvdHlwZS5yYW5nZT1OLnByb3RvdHlwZS5yYW5nZT1mdW5jdGlvbigpe3JldHVybiB2cyh0aGlzLnB0cil9LE4ucHJvdG90eXBlLl9fZGVzdHJveV9fPU4ucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7YmkodGhpcy5wdHIpfSxJLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxJLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1JLEkucHJvdG90eXBlLl9fY2xhc3NfXz1JLEkuX19jYWNoZV9fPXt9LFIuQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybT1JLEkucHJvdG90eXBlLkluaXRGcm9tQXR0cmlidXRlPUkucHJvdG90eXBlLkluaXRGcm9tQXR0cmlidXRlPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSwhIXBvKFcseil9LEkucHJvdG90eXBlLnF1YW50aXphdGlvbl9iaXRzPUkucHJvdG90eXBlLnF1YW50aXphdGlvbl9iaXRzPWZ1bmN0aW9uKCl7cmV0dXJuIHZyKHRoaXMucHRyKX0sSS5wcm90b3R5cGUuX19kZXN0cm95X189SS5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtNYyh0aGlzLnB0cil9LEQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLEQucHJvdG90eXBlLmNvbnN0cnVjdG9yPUQsRC5wcm90b3R5cGUuX19jbGFzc19fPUQsRC5fX2NhY2hlX189e30sUi5Qb2ludENsb3VkPUQsRC5wcm90b3R5cGUubnVtX2F0dHJpYnV0ZXM9RC5wcm90b3R5cGUubnVtX2F0dHJpYnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gRm4odGhpcy5wdHIpfSxELnByb3RvdHlwZS5udW1fcG9pbnRzPUQucHJvdG90eXBlLm51bV9wb2ludHM9ZnVuY3Rpb24oKXtyZXR1cm4gVGkodGhpcy5wdHIpfSxELnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1ELnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0RlKHRoaXMucHRyKX0sdi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksdi5wcm90b3R5cGUuY29uc3RydWN0b3I9dix2LnByb3RvdHlwZS5fX2NsYXNzX189dix2Ll9fY2FjaGVfXz17fSxSLk1lc2g9dix2LnByb3RvdHlwZS5udW1fZmFjZXM9di5wcm90b3R5cGUubnVtX2ZhY2VzPWZ1bmN0aW9uKCl7cmV0dXJuIEF1KHRoaXMucHRyKX0sdi5wcm90b3R5cGUubnVtX2F0dHJpYnV0ZXM9di5wcm90b3R5cGUubnVtX2F0dHJpYnV0ZXM9ZnVuY3Rpb24oKXtyZXR1cm4gYnUodGhpcy5wdHIpfSx2LnByb3RvdHlwZS5udW1fcG9pbnRzPXYucHJvdG90eXBlLm51bV9wb2ludHM9ZnVuY3Rpb24oKXtyZXR1cm4gVHUodGhpcy5wdHIpfSx2LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz12LnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0ljKHRoaXMucHRyKX0sTC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksTC5wcm90b3R5cGUuY29uc3RydWN0b3I9TCxMLnByb3RvdHlwZS5fX2NsYXNzX189TCxMLl9fY2FjaGVfXz17fSxSLk1ldGFkYXRhPUwsTC5wcm90b3R5cGUuX19kZXN0cm95X189TC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtxYSh0aGlzLnB0cil9LFUucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLFUucHJvdG90eXBlLmNvbnN0cnVjdG9yPVUsVS5wcm90b3R5cGUuX19jbGFzc19fPVUsVS5fX2NhY2hlX189e30sUi5TdGF0dXM9VSxVLnByb3RvdHlwZS5jb2RlPVUucHJvdG90eXBlLmNvZGU9ZnVuY3Rpb24oKXtyZXR1cm4gd3UodGhpcy5wdHIpfSxVLnByb3RvdHlwZS5vaz1VLnByb3RvdHlwZS5vaz1mdW5jdGlvbigpe3JldHVybiEhS2EodGhpcy5wdHIpfSxVLnByb3RvdHlwZS5lcnJvcl9tc2c9VS5wcm90b3R5cGUuZXJyb3JfbXNnPWZ1bmN0aW9uKCl7cmV0dXJuIHIoWmkodGhpcy5wdHIpKX0sVS5wcm90b3R5cGUuX19kZXN0cm95X189VS5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtPdSh0aGlzLnB0cil9LEEucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLEEucHJvdG90eXBlLmNvbnN0cnVjdG9yPUEsQS5wcm90b3R5cGUuX19jbGFzc19fPUEsQS5fX2NhY2hlX189e30sUi5EcmFjb0Zsb2F0MzJBcnJheT1BLEEucHJvdG90eXBlLkdldFZhbHVlPUEucHJvdG90eXBlLkdldFZhbHVlPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxSdShXLHopfSxBLnByb3RvdHlwZS5zaXplPUEucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gUWkodGhpcy5wdHIpfSxBLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1BLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0ppKHRoaXMucHRyKX0sUy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksUy5wcm90b3R5cGUuY29uc3RydWN0b3I9UyxTLnByb3RvdHlwZS5fX2NsYXNzX189UyxTLl9fY2FjaGVfXz17fSxSLkRyYWNvSW50OEFycmF5PVMsUy5wcm90b3R5cGUuR2V0VmFsdWU9Uy5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFN1KFcseil9LFMucHJvdG90eXBlLnNpemU9Uy5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBDdSh0aGlzLnB0cil9LFMucHJvdG90eXBlLl9fZGVzdHJveV9fPVMucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7THIodGhpcy5wdHIpfSxQLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxQLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1QLFAucHJvdG90eXBlLl9fY2xhc3NfXz1QLFAuX19jYWNoZV9fPXt9LFIuRHJhY29VSW50OEFycmF5PVAsUC5wcm90b3R5cGUuR2V0VmFsdWU9UC5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFhhKFcseil9LFAucHJvdG90eXBlLnNpemU9UC5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBEYyh0aGlzLnB0cil9LFAucHJvdG90eXBlLl9fZGVzdHJveV9fPVAucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7eHUodGhpcy5wdHIpfSxCLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxCLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1CLEIucHJvdG90eXBlLl9fY2xhc3NfXz1CLEIuX19jYWNoZV9fPXt9LFIuRHJhY29JbnQxNkFycmF5PUIsQi5wcm90b3R5cGUuR2V0VmFsdWU9Qi5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFB1KFcseil9LEIucHJvdG90eXBlLnNpemU9Qi5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBNdSh0aGlzLnB0cil9LEIucHJvdG90eXBlLl9fZGVzdHJveV9fPUIucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7TnUodGhpcy5wdHIpfSxqLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxqLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1qLGoucHJvdG90eXBlLl9fY2xhc3NfXz1qLGouX19jYWNoZV9fPXt9LFIuRHJhY29VSW50MTZBcnJheT1qLGoucHJvdG90eXBlLkdldFZhbHVlPWoucHJvdG90eXBlLkdldFZhbHVlPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSx2dShXLHopfSxqLnByb3RvdHlwZS5zaXplPWoucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gTHUodGhpcy5wdHIpfSxqLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1qLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe1lhKHRoaXMucHRyKX0sSC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksSC5wcm90b3R5cGUuY29uc3RydWN0b3I9SCxILnByb3RvdHlwZS5fX2NsYXNzX189SCxILl9fY2FjaGVfXz17fSxSLkRyYWNvSW50MzJBcnJheT1ILEgucHJvdG90eXBlLkdldFZhbHVlPUgucHJvdG90eXBlLkdldFZhbHVlPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxGdShXLHopfSxILnByb3RvdHlwZS5zaXplPUgucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gQnUodGhpcy5wdHIpfSxILnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1ILnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe1V1KHRoaXMucHRyKX0say5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksay5wcm90b3R5cGUuY29uc3RydWN0b3I9ayxrLnByb3RvdHlwZS5fX2NsYXNzX189ayxrLl9fY2FjaGVfXz17fSxSLkRyYWNvVUludDMyQXJyYXk9ayxrLnByb3RvdHlwZS5HZXRWYWx1ZT1rLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVnUoVyx6KX0say5wcm90b3R5cGUuc2l6ZT1rLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIGt1KHRoaXMucHRyKX0say5wcm90b3R5cGUuX19kZXN0cm95X189ay5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtMcyh0aGlzLnB0cil9LEsucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLEsucHJvdG90eXBlLmNvbnN0cnVjdG9yPUssSy5wcm90b3R5cGUuX19jbGFzc19fPUssSy5fX2NhY2hlX189e30sUi5NZXRhZGF0YVF1ZXJpZXI9SyxLLnByb3RvdHlwZS5IYXNFbnRyeT1LLnByb3RvdHlwZS5IYXNFbnRyeT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4gQ2UucHJlcGFyZSgpLHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFc9VyYmdHlwZW9mIFc9PSJvYmplY3QiP1cucHRyOmcoVyksISF6dShldCx6LFcpfSxLLnByb3RvdHlwZS5HZXRJbnRFbnRyeT1LLnByb3RvdHlwZS5HZXRJbnRFbnRyeT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4gQ2UucHJlcGFyZSgpLHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFc9VyYmdHlwZW9mIFc9PSJvYmplY3QiP1cucHRyOmcoVyksZnIoZXQseixXKX0sSy5wcm90b3R5cGUuR2V0SW50RW50cnlBcnJheT1LLnByb3RvdHlwZS5HZXRJbnRFbnRyeUFycmF5PWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO0NlLnByZXBhcmUoKSx6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXPVcmJnR5cGVvZiBXPT0ib2JqZWN0Ij9XLnB0cjpnKFcpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwkYShNdCx6LFcsZXQpfSxLLnByb3RvdHlwZS5HZXREb3VibGVFbnRyeT1LLnByb3RvdHlwZS5HZXREb3VibGVFbnRyeT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4gQ2UucHJlcGFyZSgpLHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFc9VyYmdHlwZW9mIFc9PSJvYmplY3QiP1cucHRyOmcoVyksanUoZXQseixXKX0sSy5wcm90b3R5cGUuR2V0U3RyaW5nRW50cnk9Sy5wcm90b3R5cGUuR2V0U3RyaW5nRW50cnk9ZnVuY3Rpb24oeixXKXt2YXIgZXQ9dGhpcy5wdHI7cmV0dXJuIENlLnByZXBhcmUoKSx6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXPVcmJnR5cGVvZiBXPT0ib2JqZWN0Ij9XLnB0cjpnKFcpLHIoSHUoZXQseixXKSl9LEsucHJvdG90eXBlLk51bUVudHJpZXM9Sy5wcm90b3R5cGUuTnVtRW50cmllcz1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0cikscXUoVyx6KX0sSy5wcm90b3R5cGUuR2V0RW50cnlOYW1lPUsucHJvdG90eXBlLkdldEVudHJ5TmFtZT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0cikscihIbyhldCx6LFcpKX0sSy5wcm90b3R5cGUuX19kZXN0cm95X189Sy5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtaYSh0aGlzLnB0cil9LFgucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLFgucHJvdG90eXBlLmNvbnN0cnVjdG9yPVgsWC5wcm90b3R5cGUuX19jbGFzc19fPVgsWC5fX2NhY2hlX189e30sUi5EZWNvZGVyPVgsWC5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWQ9WC5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWQ9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIENlLnByZXBhcmUoKSx0eXBlb2Ygej09Im9iamVjdCImJih6PWIoeikpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSxfKERzKE10LHosVyxldCksVSl9LFgucHJvdG90eXBlLkRlY29kZUFycmF5VG9NZXNoPVgucHJvdG90eXBlLkRlY29kZUFycmF5VG9NZXNoPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiBDZS5wcmVwYXJlKCksdHlwZW9mIHo9PSJvYmplY3QiJiYoej1iKHopKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksXyhLdShNdCx6LFcsZXQpLFUpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJZD1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJZD1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksQmMoZXQseixXKX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU5hbWU9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU5hbWU9ZnVuY3Rpb24oeixXKXt2YXIgZXQ9dGhpcy5wdHI7cmV0dXJuIENlLnByZXBhcmUoKSx6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXPVcmJnR5cGVvZiBXPT0ib2JqZWN0Ij9XLnB0cjpnKFcpLFd1KGV0LHosVyl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkQnlNZXRhZGF0YUVudHJ5PVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkQnlNZXRhZGF0YUVudHJ5PWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiBDZS5wcmVwYXJlKCkseiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVz1XJiZ0eXBlb2YgVz09Im9iamVjdCI/Vy5wdHI6ZyhXKSxldD1ldCYmdHlwZW9mIGV0PT0ib2JqZWN0Ij9ldC5wdHI6ZyhldCksSmEoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksXyh0ZihldCx6LFcpLEMpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVCeVVuaXF1ZUlkPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUJ5VW5pcXVlSWQ9ZnVuY3Rpb24oeixXKXt2YXIgZXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLF8oWHUoZXQseixXKSxDKX0sWC5wcm90b3R5cGUuR2V0TWV0YWRhdGE9WC5wcm90b3R5cGUuR2V0TWV0YWRhdGE9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLF8oWXUoVyx6KSxMKX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlTWV0YWRhdGE9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlTWV0YWRhdGE9ZnVuY3Rpb24oeixXKXt2YXIgZXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLF8oVWMoZXQseixXKSxMKX0sWC5wcm90b3R5cGUuR2V0RmFjZUZyb21NZXNoPVgucHJvdG90eXBlLkdldEZhY2VGcm9tTWVzaD1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhQW8oTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0VHJpYW5nbGVTdHJpcHNGcm9tTWVzaD1YLnByb3RvdHlwZS5HZXRUcmlhbmdsZVN0cmlwc0Zyb21NZXNoPWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxWYyhldCx6LFcpfSxYLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MTZBcnJheT1YLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MTZBcnJheT1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhJHUoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0VHJpYW5nbGVzVUludDMyQXJyYXk9WC5wcm90b3R5cGUuR2V0VHJpYW5nbGVzVUludDMyQXJyYXk9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwhIVp1KE10LHosVyxldCl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUZsb2F0PVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUZsb2F0PWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISFRdShNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50cz1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50cz1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhdXIoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50Rm9yQWxsUG9pbnRzPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludEZvckFsbFBvaW50cz1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhSnUoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50OEZvckFsbFBvaW50cz1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQ4Rm9yQWxsUG9pbnRzPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISF0bChNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVVSW50OEZvckFsbFBvaW50cz1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVVSW50OEZvckFsbFBvaW50cz1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhZWwoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50MTZGb3JBbGxQb2ludHM9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50MTZGb3JBbGxQb2ludHM9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwhIUZzKE10LHosVyxldCl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZVVJbnQxNkZvckFsbFBvaW50cz1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHM9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwhIW5sKE10LHosVyxldCl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISF3aShNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVVSW50MzJGb3JBbGxQb2ludHM9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISFvbChNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVEYXRhQXJyYXlGb3JBbGxQb2ludHM9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlRGF0YUFycmF5Rm9yQWxsUG9pbnRzPWZ1bmN0aW9uKHosVyxldCxNdCxsZSl7dmFyIFRlPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksTXQmJnR5cGVvZiBNdD09Im9iamVjdCImJihNdD1NdC5wdHIpLGxlJiZ0eXBlb2YgbGU9PSJvYmplY3QiJiYobGU9bGUucHRyKSwhIXJsKFRlLHosVyxldCxNdCxsZSl9LFgucHJvdG90eXBlLlNraXBBdHRyaWJ1dGVUcmFuc2Zvcm09WC5wcm90b3R5cGUuU2tpcEF0dHJpYnV0ZVRyYW5zZm9ybT1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjt6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxpbChXLHopfSxYLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlX0RlcHJlY2F0ZWQ9WC5wcm90b3R5cGUuR2V0RW5jb2RlZEdlb21ldHJ5VHlwZV9EZXByZWNhdGVkPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxzbChXLHopfSxYLnByb3RvdHlwZS5EZWNvZGVCdWZmZXJUb1BvaW50Q2xvdWQ9WC5wcm90b3R5cGUuRGVjb2RlQnVmZmVyVG9Qb2ludENsb3VkPWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxfKGNsKGV0LHosVyksVSl9LFgucHJvdG90eXBlLkRlY29kZUJ1ZmZlclRvTWVzaD1YLnByb3RvdHlwZS5EZWNvZGVCdWZmZXJUb01lc2g9ZnVuY3Rpb24oeixXKXt2YXIgZXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLF8oYWwoZXQseixXKSxVKX0sWC5wcm90b3R5cGUuX19kZXN0cm95X189WC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtmbCh0aGlzLnB0cil9LGZ1bmN0aW9uKCl7ZnVuY3Rpb24geigpe1IuQVRUUklCVVRFX0lOVkFMSURfVFJBTlNGT1JNPXVsKCksUi5BVFRSSUJVVEVfTk9fVFJBTlNGT1JNPWxsKCksUi5BVFRSSUJVVEVfUVVBTlRJWkFUSU9OX1RSQU5TRk9STT1wbCgpLFIuQVRUUklCVVRFX09DVEFIRURST05fVFJBTlNGT1JNPWRsKCksUi5JTlZBTElEPWVzKCksUi5QT1NJVElPTj1tbCgpLFIuTk9STUFMPWhsKCksUi5DT0xPUj1CcygpLFIuVEVYX0NPT1JEPWtjKCksUi5HRU5FUklDPV9sKCksUi5JTlZBTElEX0dFT01FVFJZX1RZUEU9ZWYoKSxSLlBPSU5UX0NMT1VEPXlsKCksUi5UUklBTkdVTEFSX01FU0g9Z2woKSxSLkRUX0lOVkFMSUQ9QWwoKSxSLkRUX0lOVDg9YmwoKSxSLkRUX1VJTlQ4PVRsKCksUi5EVF9JTlQxNj13bCgpLFIuRFRfVUlOVDE2PU9sKCksUi5EVF9JTlQzMj1FbCgpLFIuRFRfVUlOVDMyPW5mKCksUi5EVF9JTlQ2ND1SbCgpLFIuRFRfVUlOVDY0PVNsKCksUi5EVF9GTE9BVDMyPUNsKCksUi5EVF9GTE9BVDY0PXhsKCksUi5EVF9CT09MPVBsKCksUi5EVF9UWVBFU19DT1VOVD1NbCgpLFIuT0s9TmwoKSxSLkRSQUNPX0VSUk9SPVVzKCksUi5JT19FUlJPUj1JbCgpLFIuSU5WQUxJRF9QQVJBTUVURVI9dmwoKSxSLlVOU1VQUE9SVEVEX1ZFUlNJT049TGwoKSxSLlVOS05PV05fVkVSU0lPTj1EbCgpfXJlP3ooKTpwbi51bnNoaWZ0KHopfSgpLHR5cGVvZiBSLm9uTW9kdWxlUGFyc2VkPT0iZnVuY3Rpb24iJiZSLm9uTW9kdWxlUGFyc2VkKCksUi5EZWNvZGVyLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlPWZ1bmN0aW9uKHope2lmKHouX19jbGFzc19fJiZ6Ll9fY2xhc3NfXz09PVIuRGVjb2RlckJ1ZmZlcilyZXR1cm4gUi5EZWNvZGVyLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlX0RlcHJlY2F0ZWQoeik7aWYoOD56LmJ5dGVMZW5ndGgpcmV0dXJuIFIuSU5WQUxJRF9HRU9NRVRSWV9UWVBFO3N3aXRjaCh6WzddKXtjYXNlIDA6cmV0dXJuIFIuUE9JTlRfQ0xPVUQ7Y2FzZSAxOnJldHVybiBSLlRSSUFOR1VMQVJfTUVTSDtkZWZhdWx0OnJldHVybiBSLklOVkFMSURfR0VPTUVUUllfVFlQRX19LGUucmVhZHl9fSgpO3R5cGVvZiBwdT09Im9iamVjdCImJnR5cGVvZiBPZz09Im9iamVjdCI/T2cuZXhwb3J0cz13Zzp0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShbXSxmdW5jdGlvbigpe3JldHVybiB3Z30pOnR5cGVvZiBwdT09Im9iamVjdCImJihwdS5EcmFjb0RlY29kZXJNb2R1bGU9d2cpfSk7dmFyIFNnPXt9O2RlKFNnLHtkZWZhdWx0OigpPT5IVX0pO2Z1bmN0aW9uIEZVKHQsZSl7bGV0IG49dC5udW1fcG9pbnRzKCksbz10Lm51bV9mYWNlcygpLHI9bmV3IE1lLkRyYWNvSW50MzJBcnJheSxpPW8qMyxzPUR0LmNyZWF0ZVR5cGVkQXJyYXkobixpKSxmPTA7Zm9yKGxldCB1PTA7dTxvOysrdSllLkdldEZhY2VGcm9tTWVzaCh0LHUsciksc1tmKzBdPXIuR2V0VmFsdWUoMCksc1tmKzFdPXIuR2V0VmFsdWUoMSksc1tmKzJdPXIuR2V0VmFsdWUoMiksZis9MztyZXR1cm4gTWUuZGVzdHJveShyKSx7dHlwZWRBcnJheTpzLG51bWJlck9mSW5kaWNlczppfX1mdW5jdGlvbiBCVSh0LGUsbixvLHIpe2xldCBpLHM7by5xdWFudGl6YXRpb25CaXRzPD04PyhzPW5ldyBNZS5EcmFjb1VJbnQ4QXJyYXksaT1uZXcgVWludDhBcnJheShyKSxlLkdldEF0dHJpYnV0ZVVJbnQ4Rm9yQWxsUG9pbnRzKHQsbixzKSk6by5xdWFudGl6YXRpb25CaXRzPD0xNj8ocz1uZXcgTWUuRHJhY29VSW50MTZBcnJheSxpPW5ldyBVaW50MTZBcnJheShyKSxlLkdldEF0dHJpYnV0ZVVJbnQxNkZvckFsbFBvaW50cyh0LG4scykpOihzPW5ldyBNZS5EcmFjb0Zsb2F0MzJBcnJheSxpPW5ldyBGbG9hdDMyQXJyYXkociksZS5HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50cyh0LG4scykpO2ZvcihsZXQgZj0wO2Y8cjsrK2YpaVtmXT1zLkdldFZhbHVlKGYpO3JldHVybiBNZS5kZXN0cm95KHMpLGl9ZnVuY3Rpb24gVVUodCxlLG4sbyl7bGV0IHIsaTtzd2l0Y2gobi5kYXRhX3R5cGUoKSl7Y2FzZSAxOmNhc2UgMTE6aT1uZXcgTWUuRHJhY29JbnQ4QXJyYXkscj1uZXcgSW50OEFycmF5KG8pLGUuR2V0QXR0cmlidXRlSW50OEZvckFsbFBvaW50cyh0LG4saSk7YnJlYWs7Y2FzZSAyOmk9bmV3IE1lLkRyYWNvVUludDhBcnJheSxyPW5ldyBVaW50OEFycmF5KG8pLGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHModCxuLGkpO2JyZWFrO2Nhc2UgMzppPW5ldyBNZS5EcmFjb0ludDE2QXJyYXkscj1uZXcgSW50MTZBcnJheShvKSxlLkdldEF0dHJpYnV0ZUludDE2Rm9yQWxsUG9pbnRzKHQsbixpKTticmVhaztjYXNlIDQ6aT1uZXcgTWUuRHJhY29VSW50MTZBcnJheSxyPW5ldyBVaW50MTZBcnJheShvKSxlLkdldEF0dHJpYnV0ZVVJbnQxNkZvckFsbFBvaW50cyh0LG4saSk7YnJlYWs7Y2FzZSA1OmNhc2UgNzppPW5ldyBNZS5EcmFjb0ludDMyQXJyYXkscj1uZXcgSW50MzJBcnJheShvKSxlLkdldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzKHQsbixpKTticmVhaztjYXNlIDY6Y2FzZSA4Omk9bmV3IE1lLkRyYWNvVUludDMyQXJyYXkscj1uZXcgVWludDMyQXJyYXkobyksZS5HZXRBdHRyaWJ1dGVVSW50MzJGb3JBbGxQb2ludHModCxuLGkpO2JyZWFrO2Nhc2UgOTpjYXNlIDEwOmk9bmV3IE1lLkRyYWNvRmxvYXQzMkFycmF5LHI9bmV3IEZsb2F0MzJBcnJheShvKSxlLkdldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzKHQsbixpKTticmVha31mb3IobGV0IHM9MDtzPG87KytzKXJbc109aS5HZXRWYWx1ZShzKTtyZXR1cm4gTWUuZGVzdHJveShpKSxyfWZ1bmN0aW9uIGcyKHQsZSxuKXtsZXQgbz10Lm51bV9wb2ludHMoKSxyPW4ubnVtX2NvbXBvbmVudHMoKSxpLHM9bmV3IE1lLkF0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybTtpZihzLkluaXRGcm9tQXR0cmlidXRlKG4pKXtsZXQgbD1uZXcgQXJyYXkocik7Zm9yKGxldCBwPTA7cDxyOysrcClsW3BdPXMubWluX3ZhbHVlKHApO2k9e3F1YW50aXphdGlvbkJpdHM6cy5xdWFudGl6YXRpb25fYml0cygpLG1pblZhbHVlczpsLHJhbmdlOnMucmFuZ2UoKSxvY3RFbmNvZGVkOiExfX1NZS5kZXN0cm95KHMpLHM9bmV3IE1lLkF0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm0scy5Jbml0RnJvbUF0dHJpYnV0ZShuKSYmKGk9e3F1YW50aXphdGlvbkJpdHM6cy5xdWFudGl6YXRpb25fYml0cygpLG9jdEVuY29kZWQ6ITB9KSxNZS5kZXN0cm95KHMpO2xldCBmPW8qcix1O2goaSk/dT1CVSh0LGUsbixpLGYpOnU9VVUodCxlLG4sZik7bGV0IGM9bnQuZnJvbVR5cGVkQXJyYXkodSk7cmV0dXJue2FycmF5OnUsZGF0YTp7Y29tcG9uZW50c1BlckF0dHJpYnV0ZTpyLGNvbXBvbmVudERhdGF0eXBlOmMsYnl0ZU9mZnNldDpuLmJ5dGVfb2Zmc2V0KCksYnl0ZVN0cmlkZTpudC5nZXRTaXplSW5CeXRlcyhjKSpyLG5vcm1hbGl6ZWQ6bi5ub3JtYWxpemVkKCkscXVhbnRpemF0aW9uOml9fX1mdW5jdGlvbiBWVSh0KXtsZXQgZT1uZXcgTWUuRGVjb2Rlcjt0LmRlcXVhbnRpemVJblNoYWRlciYmKGUuU2tpcEF0dHJpYnV0ZVRyYW5zZm9ybShNZS5QT1NJVElPTiksZS5Ta2lwQXR0cmlidXRlVHJhbnNmb3JtKE1lLk5PUk1BTCkpO2xldCBuPW5ldyBNZS5EZWNvZGVyQnVmZmVyO2lmKG4uSW5pdCh0LmJ1ZmZlcix0LmJ1ZmZlci5sZW5ndGgpLGUuR2V0RW5jb2RlZEdlb21ldHJ5VHlwZShuKSE9PU1lLlBPSU5UX0NMT1VEKXRocm93IG5ldyBBZSgiRHJhY28gZ2VvbWV0cnkgdHlwZSBtdXN0IGJlIFBPSU5UX0NMT1VELiIpO2xldCByPW5ldyBNZS5Qb2ludENsb3VkLGk9ZS5EZWNvZGVCdWZmZXJUb1BvaW50Q2xvdWQobixyKTtpZighaS5vaygpfHxyLnB0cj09PTApdGhyb3cgbmV3IEFlKGBFcnJvciBkZWNvZGluZyBkcmFjbyBwb2ludCBjbG91ZDogJHtpLmVycm9yX21zZygpfWApO01lLmRlc3Ryb3kobik7bGV0IHM9e30sZj10LnByb3BlcnRpZXM7Zm9yKGxldCB1IGluIGYpaWYoZi5oYXNPd25Qcm9wZXJ0eSh1KSl7bGV0IGM7aWYodT09PSJQT1NJVElPTiJ8fHU9PT0iTk9STUFMIil7bGV0IGw9ZS5HZXRBdHRyaWJ1dGVJZChyLE1lW3VdKTtjPWUuR2V0QXR0cmlidXRlKHIsbCl9ZWxzZXtsZXQgbD1mW3VdO2M9ZS5HZXRBdHRyaWJ1dGVCeVVuaXF1ZUlkKHIsbCl9c1t1XT1nMihyLGUsYyl9cmV0dXJuIE1lLmRlc3Ryb3kociksTWUuZGVzdHJveShlKSxzfWZ1bmN0aW9uIGtVKHQpe2xldCBlPW5ldyBNZS5EZWNvZGVyLG49WyJQT1NJVElPTiIsIk5PUk1BTCIsIkNPTE9SIiwiVEVYX0NPT1JEIl07aWYodC5kZXF1YW50aXplSW5TaGFkZXIpZm9yKGxldCBwPTA7cDxuLmxlbmd0aDsrK3ApZS5Ta2lwQXR0cmlidXRlVHJhbnNmb3JtKE1lW25bcF1dKTtsZXQgbz10LmJ1ZmZlclZpZXcscj1uZXcgTWUuRGVjb2RlckJ1ZmZlcjtpZihyLkluaXQodC5hcnJheSxvLmJ5dGVMZW5ndGgpLGUuR2V0RW5jb2RlZEdlb21ldHJ5VHlwZShyKSE9PU1lLlRSSUFOR1VMQVJfTUVTSCl0aHJvdyBuZXcgQWUoIlVuc3VwcG9ydGVkIGRyYWNvIG1lc2ggZ2VvbWV0cnkgdHlwZS4iKTtsZXQgcz1uZXcgTWUuTWVzaCxmPWUuRGVjb2RlQnVmZmVyVG9NZXNoKHIscyk7aWYoIWYub2soKXx8cy5wdHI9PT0wKXRocm93IG5ldyBBZShgRXJyb3IgZGVjb2RpbmcgZHJhY28gbWVzaCBnZW9tZXRyeTogJHtmLmVycm9yX21zZygpfWApO01lLmRlc3Ryb3kocik7bGV0IHU9e30sYz10LmNvbXByZXNzZWRBdHRyaWJ1dGVzO2ZvcihsZXQgcCBpbiBjKWlmKGMuaGFzT3duUHJvcGVydHkocCkpe2xldCBkPWNbcF0sbT1lLkdldEF0dHJpYnV0ZUJ5VW5pcXVlSWQocyxkKTt1W3BdPWcyKHMsZSxtKX1sZXQgbD17aW5kZXhBcnJheTpGVShzLGUpLGF0dHJpYnV0ZURhdGE6dX07cmV0dXJuIE1lLmRlc3Ryb3kocyksTWUuZGVzdHJveShlKSxsfWFzeW5jIGZ1bmN0aW9uIEdVKHQsZSl7cmV0dXJuIGgodC5idWZmZXJWaWV3KT9rVSh0KTpWVSh0KX1hc3luYyBmdW5jdGlvbiB6VSh0LGUpe2xldCBuPXQud2ViQXNzZW1ibHlDb25maWc7cmV0dXJuIGgobikmJmgobi53YXNtQmluYXJ5RmlsZSk/TWU9YXdhaXQoMCxSZy5kZWZhdWx0KShuKTpNZT1hd2FpdCgwLFJnLmRlZmF1bHQpKCksITB9YXN5bmMgZnVuY3Rpb24galUodCxlKXtsZXQgbj10LndlYkFzc2VtYmx5Q29uZmlnO3JldHVybiBoKG4pP3pVKHQsZSk6R1UodCxlKX12YXIgUmcsTWUsSFUsQ2c9WigoKT0+e0ZlKCk7ZnQoKTskZSgpO0pyKCk7c28oKTtSZz1kcihFZygpLDEpO0hVPVFlKGpVKX0pO2Z1bmN0aW9uIHhnKHQsZSl7aWYoeGcucGFzc1Rocm91Z2hEYXRhRm9yVGVzdGluZylyZXR1cm4gZTt5LnR5cGVPZi5vYmplY3QoImtleSIsdCkseS50eXBlT2Yub2JqZWN0KCJkYXRhIixlKTtsZXQgbj10LmJ5dGVMZW5ndGg7aWYobj09PTB8fG4lNCE9PTApdGhyb3cgbmV3IEFlKCJUaGUgbGVuZ3RoIG9mIGtleSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIGFuZCBhIG11bHRpcGxlIG9mIDQuIik7bGV0IG89bmV3IERhdGFWaWV3KGUpLHI9by5nZXRVaW50MzIoMCwhMCk7aWYocj09PXFVfHxyPT09S1UpcmV0dXJuIGU7bGV0IGk9bmV3IERhdGFWaWV3KHQpLHM9MCxmPWUuYnl0ZUxlbmd0aCx1PWYtZiU4LGM9bixsLHA9ODtmb3IoO3M8dTspZm9yKHA9KHArOCklMjQsbD1wO3M8dSYmbDxjOylvLnNldFVpbnQzMihzLG8uZ2V0VWludDMyKHMsITApXmkuZ2V0VWludDMyKGwsITApLCEwKSxvLnNldFVpbnQzMihzKzQsby5nZXRVaW50MzIocys0LCEwKV5pLmdldFVpbnQzMihsKzQsITApLCEwKSxzKz04LGwrPTI0O2lmKHM8Zilmb3IobD49YyYmKHA9KHArOCklMjQsbD1wKTtzPGY7KW8uc2V0VWludDgocyxvLmdldFVpbnQ4KHMpXmkuZ2V0VWludDgobCkpLHMrKyxsKyt9dmFyIHFVLEtVLEEyLGIyPVooKCk9PntYdCgpO0pyKCk7cVU9MTk1MzAyOTgwNSxLVT0yOTE3MDM0MTAwO3hnLnBhc3NUaHJvdWdoRGF0YUZvclRlc3Rpbmc9ITE7QTI9eGd9KTtmdW5jdGlvbiBXVSh0LGUpe3JldHVybih0JmUpIT09MH12YXIga2EsVDI9WigoKT0+e2thPVdVfSk7ZnVuY3Rpb24geWkodCxlLG4sbyxyLGkpe3RoaXMuX2JpdHM9dCx0aGlzLmNub2RlVmVyc2lvbj1lLHRoaXMuaW1hZ2VyeVZlcnNpb249bix0aGlzLnRlcnJhaW5WZXJzaW9uPW8sdGhpcy5pbWFnZXJ5UHJvdmlkZXI9cix0aGlzLnRlcnJhaW5Qcm92aWRlcj1pLHRoaXMuYW5jZXN0b3JIYXNUZXJyYWluPSExLHRoaXMudGVycmFpblN0YXRlPXZvaWQgMH12YXIgWFUsdzIsWVUsJFUsWlUsTzIsRTI9WigoKT0+e2Z0KCk7VDIoKTtYVT1bMSwyLDQsOF0sdzI9MTUsWVU9MTYsJFU9NjQsWlU9MTI4O3lpLmNsb25lPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgoZSk/KGUuX2JpdHM9dC5fYml0cyxlLmNub2RlVmVyc2lvbj10LmNub2RlVmVyc2lvbixlLmltYWdlcnlWZXJzaW9uPXQuaW1hZ2VyeVZlcnNpb24sZS50ZXJyYWluVmVyc2lvbj10LnRlcnJhaW5WZXJzaW9uLGUuaW1hZ2VyeVByb3ZpZGVyPXQuaW1hZ2VyeVByb3ZpZGVyLGUudGVycmFpblByb3ZpZGVyPXQudGVycmFpblByb3ZpZGVyKTplPW5ldyB5aSh0Ll9iaXRzLHQuY25vZGVWZXJzaW9uLHQuaW1hZ2VyeVZlcnNpb24sdC50ZXJyYWluVmVyc2lvbix0LmltYWdlcnlQcm92aWRlcix0LnRlcnJhaW5Qcm92aWRlciksZS5hbmNlc3Rvckhhc1RlcnJhaW49dC5hbmNlc3Rvckhhc1RlcnJhaW4sZS50ZXJyYWluU3RhdGU9dC50ZXJyYWluU3RhdGUsZX07eWkucHJvdG90eXBlLnNldFBhcmVudD1mdW5jdGlvbih0KXt0aGlzLmFuY2VzdG9ySGFzVGVycmFpbj10LmFuY2VzdG9ySGFzVGVycmFpbnx8dGhpcy5oYXNUZXJyYWluKCl9O3lpLnByb3RvdHlwZS5oYXNTdWJ0cmVlPWZ1bmN0aW9uKCl7cmV0dXJuIGthKHRoaXMuX2JpdHMsWVUpfTt5aS5wcm90b3R5cGUuaGFzSW1hZ2VyeT1mdW5jdGlvbigpe3JldHVybiBrYSh0aGlzLl9iaXRzLCRVKX07eWkucHJvdG90eXBlLmhhc1RlcnJhaW49ZnVuY3Rpb24oKXtyZXR1cm4ga2EodGhpcy5fYml0cyxaVSl9O3lpLnByb3RvdHlwZS5oYXNDaGlsZHJlbj1mdW5jdGlvbigpe3JldHVybiBrYSh0aGlzLl9iaXRzLHcyKX07eWkucHJvdG90eXBlLmhhc0NoaWxkPWZ1bmN0aW9uKHQpe3JldHVybiBrYSh0aGlzLl9iaXRzLFhVW3RdKX07eWkucHJvdG90eXBlLmdldENoaWxkQml0bWFzaz1mdW5jdGlvbigpe3JldHVybiB0aGlzLl9iaXRzJncyfTtPMj15aX0pO3ZhciBTMj1YbigoV3V0LFIyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgUVU9KHQsZSxuLG8pPT57bGV0IHI9dCY2NTUzNXwwLGk9dD4+PjE2JjY1NTM1fDAscz0wO2Zvcig7biE9PTA7KXtzPW4+MmUzPzJlMzpuLG4tPXM7ZG8gcj1yK2VbbysrXXwwLGk9aStyfDA7d2hpbGUoLS1zKTtyJT02NTUyMSxpJT02NTUyMX1yZXR1cm4gcnxpPDwxNnwwfTtSMi5leHBvcnRzPVFVfSk7dmFyIHgyPVhuKChYdXQsQzIpPT57InVzZSBzdHJpY3QiO3ZhciBKVT0oKT0+e2xldCB0LGU9W107Zm9yKHZhciBuPTA7bjwyNTY7bisrKXt0PW47Zm9yKHZhciBvPTA7bzw4O28rKyl0PXQmMT8zOTg4MjkyMzg0XnQ+Pj4xOnQ+Pj4xO2Vbbl09dH1yZXR1cm4gZX0sdDY9bmV3IFVpbnQzMkFycmF5KEpVKCkpLGU2PSh0LGUsbixvKT0+e2xldCByPXQ2LGk9bytuO3RePS0xO2ZvcihsZXQgcz1vO3M8aTtzKyspdD10Pj4+OF5yWyh0XmVbc10pJjI1NV07cmV0dXJuIHReLTF9O0MyLmV4cG9ydHM9ZTZ9KTt2YXIgTTI9WG4oKFl1dCxQMik9PnsidXNlIHN0cmljdCI7UDIuZXhwb3J0cz1mdW5jdGlvbihlLG4pe2xldCBvLHIsaSxzLGYsdSxjLGwscCxkLG0sXyxnLGIsVCxPLEUsdyxDLE4sSSxELHYsTCxVPWUuc3RhdGU7bz1lLm5leHRfaW4sdj1lLmlucHV0LHI9bysoZS5hdmFpbF9pbi01KSxpPWUubmV4dF9vdXQsTD1lLm91dHB1dCxzPWktKG4tZS5hdmFpbF9vdXQpLGY9aSsoZS5hdmFpbF9vdXQtMjU3KSx1PVUuZG1heCxjPVUud3NpemUsbD1VLndoYXZlLHA9VS53bmV4dCxkPVUud2luZG93LG09VS5ob2xkLF89VS5iaXRzLGc9VS5sZW5jb2RlLGI9VS5kaXN0Y29kZSxUPSgxPDxVLmxlbmJpdHMpLTEsTz0oMTw8VS5kaXN0Yml0cyktMTt0OmRve188MTUmJihtKz12W28rK108PF8sXys9OCxtKz12W28rK108PF8sXys9OCksRT1nW20mVF07ZTpmb3IoOzspe2lmKHc9RT4+PjI0LG0+Pj49dyxfLT13LHc9RT4+PjE2JjI1NSx3PT09MClMW2krK109RSY2NTUzNTtlbHNlIGlmKHcmMTYpe0M9RSY2NTUzNSx3Jj0xNSx3JiYoXzx3JiYobSs9dltvKytdPDxfLF8rPTgpLEMrPW0mKDE8PHcpLTEsbT4+Pj13LF8tPXcpLF88MTUmJihtKz12W28rK108PF8sXys9OCxtKz12W28rK108PF8sXys9OCksRT1iW20mT107bjpmb3IoOzspe2lmKHc9RT4+PjI0LG0+Pj49dyxfLT13LHc9RT4+PjE2JjI1NSx3JjE2KXtpZihOPUUmNjU1MzUsdyY9MTUsXzx3JiYobSs9dltvKytdPDxfLF8rPTgsXzx3JiYobSs9dltvKytdPDxfLF8rPTgpKSxOKz1tJigxPDx3KS0xLE4+dSl7ZS5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIixVLm1vZGU9MTYyMDk7YnJlYWsgdH1pZihtPj4+PXcsXy09dyx3PWktcyxOPncpe2lmKHc9Ti13LHc+bCYmVS5zYW5lKXtlLm1zZz0iaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siLFUubW9kZT0xNjIwOTticmVhayB0fWlmKEk9MCxEPWQscD09PTApe2lmKEkrPWMtdyx3PEMpe0MtPXc7ZG8gTFtpKytdPWRbSSsrXTt3aGlsZSgtLXcpO0k9aS1OLEQ9TH19ZWxzZSBpZihwPHcpe2lmKEkrPWMrcC13LHctPXAsdzxDKXtDLT13O2RvIExbaSsrXT1kW0krK107d2hpbGUoLS13KTtpZihJPTAscDxDKXt3PXAsQy09dztkbyBMW2krK109ZFtJKytdO3doaWxlKC0tdyk7ST1pLU4sRD1MfX19ZWxzZSBpZihJKz1wLXcsdzxDKXtDLT13O2RvIExbaSsrXT1kW0krK107d2hpbGUoLS13KTtJPWktTixEPUx9Zm9yKDtDPjI7KUxbaSsrXT1EW0krK10sTFtpKytdPURbSSsrXSxMW2krK109RFtJKytdLEMtPTM7QyYmKExbaSsrXT1EW0krK10sQz4xJiYoTFtpKytdPURbSSsrXSkpfWVsc2V7ST1pLU47ZG8gTFtpKytdPUxbSSsrXSxMW2krK109TFtJKytdLExbaSsrXT1MW0krK10sQy09Mzt3aGlsZShDPjIpO0MmJihMW2krK109TFtJKytdLEM+MSYmKExbaSsrXT1MW0krK10pKX19ZWxzZSBpZih3JjY0KXtlLm1zZz0iaW52YWxpZCBkaXN0YW5jZSBjb2RlIixVLm1vZGU9MTYyMDk7YnJlYWsgdH1lbHNle0U9YlsoRSY2NTUzNSkrKG0mKDE8PHcpLTEpXTtjb250aW51ZSBufWJyZWFrfX1lbHNlIGlmKHcmNjQpaWYodyYzMil7VS5tb2RlPTE2MTkxO2JyZWFrIHR9ZWxzZXtlLm1zZz0iaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlIixVLm1vZGU9MTYyMDk7YnJlYWsgdH1lbHNle0U9Z1soRSY2NTUzNSkrKG0mKDE8PHcpLTEpXTtjb250aW51ZSBlfWJyZWFrfX13aGlsZShvPHImJmk8Zik7Qz1fPj4zLG8tPUMsXy09Qzw8MyxtJj0oMTw8XyktMSxlLm5leHRfaW49byxlLm5leHRfb3V0PWksZS5hdmFpbF9pbj1vPHI/NSsoci1vKTo1LShvLXIpLGUuYXZhaWxfb3V0PWk8Zj8yNTcrKGYtaSk6MjU3LShpLWYpLFUuaG9sZD1tLFUuYml0cz1ffX0pO3ZhciBJMj1YbigoJHV0LE4yKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgbjY9bmV3IFVpbnQxNkFycmF5KFszLDQsNSw2LDcsOCw5LDEwLDExLDEzLDE1LDE3LDE5LDIzLDI3LDMxLDM1LDQzLDUxLDU5LDY3LDgzLDk5LDExNSwxMzEsMTYzLDE5NSwyMjcsMjU4LDAsMF0pLG82PW5ldyBVaW50OEFycmF5KFsxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNiwxNywxNywxNywxNywxOCwxOCwxOCwxOCwxOSwxOSwxOSwxOSwyMCwyMCwyMCwyMCwyMSwyMSwyMSwyMSwxNiw3Miw3OF0pLHI2PW5ldyBVaW50MTZBcnJheShbMSwyLDMsNCw1LDcsOSwxMywxNywyNSwzMyw0OSw2NSw5NywxMjksMTkzLDI1NywzODUsNTEzLDc2OSwxMDI1LDE1MzcsMjA0OSwzMDczLDQwOTcsNjE0NSw4MTkzLDEyMjg5LDE2Mzg1LDI0NTc3LDAsMF0pLGk2PW5ldyBVaW50OEFycmF5KFsxNiwxNiwxNiwxNiwxNywxNywxOCwxOCwxOSwxOSwyMCwyMCwyMSwyMSwyMiwyMiwyMywyMywyNCwyNCwyNSwyNSwyNiwyNiwyNywyNywyOCwyOCwyOSwyOSw2NCw2NF0pLHM2PSh0LGUsbixvLHIsaSxzLGYpPT57bGV0IHU9Zi5iaXRzLGM9MCxsPTAscD0wLGQ9MCxtPTAsXz0wLGc9MCxiPTAsVD0wLE89MCxFLHcsQyxOLEksRD1udWxsLHYsTD1uZXcgVWludDE2QXJyYXkoMTYpLFU9bmV3IFVpbnQxNkFycmF5KDE2KSxBPW51bGwsUyxQLEI7Zm9yKGM9MDtjPD0xNTtjKyspTFtjXT0wO2ZvcihsPTA7bDxvO2wrKylMW2VbbitsXV0rKztmb3IobT11LGQ9MTU7ZD49MSYmTFtkXT09PTA7ZC0tKTtpZihtPmQmJihtPWQpLGQ9PT0wKXJldHVybiByW2krK109MTw8MjR8NjQ8PDE2fDAscltpKytdPTE8PDI0fDY0PDwxNnwwLGYuYml0cz0xLDA7Zm9yKHA9MTtwPGQmJkxbcF09PT0wO3ArKyk7Zm9yKG08cCYmKG09cCksYj0xLGM9MTtjPD0xNTtjKyspaWYoYjw8PTEsYi09TFtjXSxiPDApcmV0dXJuLTE7aWYoYj4wJiYodD09PTB8fGQhPT0xKSlyZXR1cm4tMTtmb3IoVVsxXT0wLGM9MTtjPDE1O2MrKylVW2MrMV09VVtjXStMW2NdO2ZvcihsPTA7bDxvO2wrKyllW24rbF0hPT0wJiYoc1tVW2VbbitsXV0rK109bCk7aWYodD09PTA/KEQ9QT1zLHY9MjApOnQ9PT0xPyhEPW42LEE9bzYsdj0yNTcpOihEPXI2LEE9aTYsdj0wKSxPPTAsbD0wLGM9cCxJPWksXz1tLGc9MCxDPS0xLFQ9MTw8bSxOPVQtMSx0PT09MSYmVD44NTJ8fHQ9PT0yJiZUPjU5MilyZXR1cm4gMTtmb3IoOzspe1M9Yy1nLHNbbF0rMTx2PyhQPTAsQj1zW2xdKTpzW2xdPj12PyhQPUFbc1tsXS12XSxCPURbc1tsXS12XSk6KFA9OTYsQj0wKSxFPTE8PGMtZyx3PTE8PF8scD13O2RvIHctPUUscltJKyhPPj5nKSt3XT1TPDwyNHxQPDwxNnxCfDA7d2hpbGUodyE9PTApO2ZvcihFPTE8PGMtMTtPJkU7KUU+Pj0xO2lmKEUhPT0wPyhPJj1FLTEsTys9RSk6Tz0wLGwrKywtLUxbY109PT0wKXtpZihjPT09ZClicmVhaztjPWVbbitzW2xdXX1pZihjPm0mJihPJk4pIT09Qyl7Zm9yKGc9PT0wJiYoZz1tKSxJKz1wLF89Yy1nLGI9MTw8XztfK2c8ZCYmKGItPUxbXytnXSwhKGI8PTApKTspXysrLGI8PD0xO2lmKFQrPTE8PF8sdD09PTEmJlQ+ODUyfHx0PT09MiYmVD41OTIpcmV0dXJuIDE7Qz1PJk4scltDXT1tPDwyNHxfPDwxNnxJLWl8MH19cmV0dXJuIE8hPT0wJiYocltJK09dPWMtZzw8MjR8NjQ8PDE2fDApLGYuYml0cz1tLDB9O04yLmV4cG9ydHM9czZ9KTt2YXIgcm09WG4oKFp1dCx2Mik9PnsidXNlIHN0cmljdCI7djIuZXhwb3J0cz17Wl9OT19GTFVTSDowLFpfUEFSVElBTF9GTFVTSDoxLFpfU1lOQ19GTFVTSDoyLFpfRlVMTF9GTFVTSDozLFpfRklOSVNIOjQsWl9CTE9DSzo1LFpfVFJFRVM6NixaX09LOjAsWl9TVFJFQU1fRU5EOjEsWl9ORUVEX0RJQ1Q6MixaX0VSUk5POi0xLFpfU1RSRUFNX0VSUk9SOi0yLFpfREFUQV9FUlJPUjotMyxaX01FTV9FUlJPUjotNCxaX0JVRl9FUlJPUjotNSxaX05PX0NPTVBSRVNTSU9OOjAsWl9CRVNUX1NQRUVEOjEsWl9CRVNUX0NPTVBSRVNTSU9OOjksWl9ERUZBVUxUX0NPTVBSRVNTSU9OOi0xLFpfRklMVEVSRUQ6MSxaX0hVRkZNQU5fT05MWToyLFpfUkxFOjMsWl9GSVhFRDo0LFpfREVGQVVMVF9TVFJBVEVHWTowLFpfQklOQVJZOjAsWl9URVhUOjEsWl9VTktOT1dOOjIsWl9ERUZMQVRFRDo4fX0pO3ZhciBtUz1YbigoUXV0LFlyKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgTGc9UzIoKSxnaT14MigpLGM2PU0yKCksZHU9STIoKSxhNj0wLGlTPTEsc1M9Mix7Wl9GSU5JU0g6TDIsWl9CTE9DSzpmNixaX1RSRUVTOmltLFpfT0s6U2MsWl9TVFJFQU1fRU5EOnU2LFpfTkVFRF9ESUNUOmw2LFpfU1RSRUFNX0VSUk9SOk1yLFpfREFUQV9FUlJPUjpjUyxaX01FTV9FUlJPUjpEZyxaX0JVRl9FUlJPUjpwNixaX0RFRkxBVEVEOkQyfT1ybSgpLGZtPTE2MTgwLEYyPTE2MTgxLEIyPTE2MTgyLFUyPTE2MTgzLFYyPTE2MTg0LGsyPTE2MTg1LEcyPTE2MTg2LHoyPTE2MTg3LGoyPTE2MTg4LEgyPTE2MTg5LGFtPTE2MTkwLEtpPTE2MTkxLFBnPTE2MTkyLHEyPTE2MTkzLE1nPTE2MTk0LEsyPTE2MTk1LFcyPTE2MTk2LFgyPTE2MTk3LFkyPTE2MTk4LHNtPTE2MTk5LGNtPTE2MjAwLCQyPTE2MjAxLFoyPTE2MjAyLFEyPTE2MjAzLEoyPTE2MjA0LHRTPTE2MjA1LE5nPTE2MjA2LGVTPTE2MjA3LG5TPTE2MjA4LE1uPTE2MjA5LEZnPTE2MjEwLGFTPTE2MjExLGQ2PTg1MixtNj01OTIsaDY9MTUsXzY9aDYsb1M9dD0+KHQ+Pj4yNCYyNTUpKyh0Pj4+OCY2NTI4MCkrKCh0JjY1MjgwKTw8OCkrKCh0JjI1NSk8PDI0KTtmdW5jdGlvbiB5Nigpe3RoaXMuc3RybT1udWxsLHRoaXMubW9kZT0wLHRoaXMubGFzdD0hMSx0aGlzLndyYXA9MCx0aGlzLmhhdmVkaWN0PSExLHRoaXMuZmxhZ3M9MCx0aGlzLmRtYXg9MCx0aGlzLmNoZWNrPTAsdGhpcy50b3RhbD0wLHRoaXMuaGVhZD1udWxsLHRoaXMud2JpdHM9MCx0aGlzLndzaXplPTAsdGhpcy53aGF2ZT0wLHRoaXMud25leHQ9MCx0aGlzLndpbmRvdz1udWxsLHRoaXMuaG9sZD0wLHRoaXMuYml0cz0wLHRoaXMubGVuZ3RoPTAsdGhpcy5vZmZzZXQ9MCx0aGlzLmV4dHJhPTAsdGhpcy5sZW5jb2RlPW51bGwsdGhpcy5kaXN0Y29kZT1udWxsLHRoaXMubGVuYml0cz0wLHRoaXMuZGlzdGJpdHM9MCx0aGlzLm5jb2RlPTAsdGhpcy5ubGVuPTAsdGhpcy5uZGlzdD0wLHRoaXMuaGF2ZT0wLHRoaXMubmV4dD1udWxsLHRoaXMubGVucz1uZXcgVWludDE2QXJyYXkoMzIwKSx0aGlzLndvcms9bmV3IFVpbnQxNkFycmF5KDI4OCksdGhpcy5sZW5keW49bnVsbCx0aGlzLmRpc3RkeW49bnVsbCx0aGlzLnNhbmU9MCx0aGlzLmJhY2s9MCx0aGlzLndhcz0wfXZhciBDYz10PT57aWYoIXQpcmV0dXJuIDE7bGV0IGU9dC5zdGF0ZTtyZXR1cm4hZXx8ZS5zdHJtIT09dHx8ZS5tb2RlPGZtfHxlLm1vZGU+YVM/MTowfSxmUz10PT57aWYoQ2ModCkpcmV0dXJuIE1yO2xldCBlPXQuc3RhdGU7cmV0dXJuIHQudG90YWxfaW49dC50b3RhbF9vdXQ9ZS50b3RhbD0wLHQubXNnPSIiLGUud3JhcCYmKHQuYWRsZXI9ZS53cmFwJjEpLGUubW9kZT1mbSxlLmxhc3Q9MCxlLmhhdmVkaWN0PTAsZS5mbGFncz0tMSxlLmRtYXg9MzI3NjgsZS5oZWFkPW51bGwsZS5ob2xkPTAsZS5iaXRzPTAsZS5sZW5jb2RlPWUubGVuZHluPW5ldyBJbnQzMkFycmF5KGQ2KSxlLmRpc3Rjb2RlPWUuZGlzdGR5bj1uZXcgSW50MzJBcnJheShtNiksZS5zYW5lPTEsZS5iYWNrPS0xLFNjfSx1Uz10PT57aWYoQ2ModCkpcmV0dXJuIE1yO2xldCBlPXQuc3RhdGU7cmV0dXJuIGUud3NpemU9MCxlLndoYXZlPTAsZS53bmV4dD0wLGZTKHQpfSxsUz0odCxlKT0+e2xldCBuO2lmKENjKHQpKXJldHVybiBNcjtsZXQgbz10LnN0YXRlO3JldHVybiBlPDA/KG49MCxlPS1lKToobj0oZT4+NCkrNSxlPDQ4JiYoZSY9MTUpKSxlJiYoZTw4fHxlPjE1KT9Ncjooby53aW5kb3chPT1udWxsJiZvLndiaXRzIT09ZSYmKG8ud2luZG93PW51bGwpLG8ud3JhcD1uLG8ud2JpdHM9ZSx1Uyh0KSl9LHBTPSh0LGUpPT57aWYoIXQpcmV0dXJuIE1yO2xldCBuPW5ldyB5Njt0LnN0YXRlPW4sbi5zdHJtPXQsbi53aW5kb3c9bnVsbCxuLm1vZGU9Zm07bGV0IG89bFModCxlKTtyZXR1cm4gbyE9PVNjJiYodC5zdGF0ZT1udWxsKSxvfSxnNj10PT5wUyh0LF82KSxyUz0hMCxJZyx2ZyxBNj10PT57aWYoclMpe0lnPW5ldyBJbnQzMkFycmF5KDUxMiksdmc9bmV3IEludDMyQXJyYXkoMzIpO2xldCBlPTA7Zm9yKDtlPDE0NDspdC5sZW5zW2UrK109ODtmb3IoO2U8MjU2Oyl0LmxlbnNbZSsrXT05O2Zvcig7ZTwyODA7KXQubGVuc1tlKytdPTc7Zm9yKDtlPDI4ODspdC5sZW5zW2UrK109ODtmb3IoZHUoaVMsdC5sZW5zLDAsMjg4LElnLDAsdC53b3JrLHtiaXRzOjl9KSxlPTA7ZTwzMjspdC5sZW5zW2UrK109NTtkdShzUyx0LmxlbnMsMCwzMix2ZywwLHQud29yayx7Yml0czo1fSksclM9ITF9dC5sZW5jb2RlPUlnLHQubGVuYml0cz05LHQuZGlzdGNvZGU9dmcsdC5kaXN0Yml0cz01fSxkUz0odCxlLG4sbyk9PntsZXQgcixpPXQuc3RhdGU7cmV0dXJuIGkud2luZG93PT09bnVsbCYmKGkud3NpemU9MTw8aS53Yml0cyxpLnduZXh0PTAsaS53aGF2ZT0wLGkud2luZG93PW5ldyBVaW50OEFycmF5KGkud3NpemUpKSxvPj1pLndzaXplPyhpLndpbmRvdy5zZXQoZS5zdWJhcnJheShuLWkud3NpemUsbiksMCksaS53bmV4dD0wLGkud2hhdmU9aS53c2l6ZSk6KHI9aS53c2l6ZS1pLnduZXh0LHI+byYmKHI9byksaS53aW5kb3cuc2V0KGUuc3ViYXJyYXkobi1vLG4tbytyKSxpLnduZXh0KSxvLT1yLG8/KGkud2luZG93LnNldChlLnN1YmFycmF5KG4tbyxuKSwwKSxpLnduZXh0PW8saS53aGF2ZT1pLndzaXplKTooaS53bmV4dCs9cixpLnduZXh0PT09aS53c2l6ZSYmKGkud25leHQ9MCksaS53aGF2ZTxpLndzaXplJiYoaS53aGF2ZSs9cikpKSwwfSxiNj0odCxlKT0+e2xldCBuLG8scixpLHMsZix1LGMsbCxwLGQsbSxfLGcsYj0wLFQsTyxFLHcsQyxOLEksRCx2PW5ldyBVaW50OEFycmF5KDQpLEwsVSxBPW5ldyBVaW50OEFycmF5KFsxNiwxNywxOCwwLDgsNyw5LDYsMTAsNSwxMSw0LDEyLDMsMTMsMiwxNCwxLDE1XSk7aWYoQ2ModCl8fCF0Lm91dHB1dHx8IXQuaW5wdXQmJnQuYXZhaWxfaW4hPT0wKXJldHVybiBNcjtuPXQuc3RhdGUsbi5tb2RlPT09S2kmJihuLm1vZGU9UGcpLHM9dC5uZXh0X291dCxyPXQub3V0cHV0LHU9dC5hdmFpbF9vdXQsaT10Lm5leHRfaW4sbz10LmlucHV0LGY9dC5hdmFpbF9pbixjPW4uaG9sZCxsPW4uYml0cyxwPWYsZD11LEQ9U2M7dDpmb3IoOzspc3dpdGNoKG4ubW9kZSl7Y2FzZSBmbTppZihuLndyYXA9PT0wKXtuLm1vZGU9UGc7YnJlYWt9Zm9yKDtsPDE2Oyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9aWYobi53cmFwJjImJmM9PT0zNTYxNSl7bi53Yml0cz09PTAmJihuLndiaXRzPTE1KSxuLmNoZWNrPTAsdlswXT1jJjI1NSx2WzFdPWM+Pj44JjI1NSxuLmNoZWNrPWdpKG4uY2hlY2ssdiwyLDApLGM9MCxsPTAsbi5tb2RlPUYyO2JyZWFrfWlmKG4uaGVhZCYmKG4uaGVhZC5kb25lPSExKSwhKG4ud3JhcCYxKXx8KCgoYyYyNTUpPDw4KSsoYz4+OCkpJTMxKXt0Lm1zZz0iaW5jb3JyZWN0IGhlYWRlciBjaGVjayIsbi5tb2RlPU1uO2JyZWFrfWlmKChjJjE1KSE9PUQyKXt0Lm1zZz0idW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QiLG4ubW9kZT1NbjticmVha31pZihjPj4+PTQsbC09NCxJPShjJjE1KSs4LG4ud2JpdHM9PT0wJiYobi53Yml0cz1JKSxJPjE1fHxJPm4ud2JpdHMpe3QubXNnPSJpbnZhbGlkIHdpbmRvdyBzaXplIixuLm1vZGU9TW47YnJlYWt9bi5kbWF4PTE8PG4ud2JpdHMsbi5mbGFncz0wLHQuYWRsZXI9bi5jaGVjaz0xLG4ubW9kZT1jJjUxMj9IMjpLaSxjPTAsbD0wO2JyZWFrO2Nhc2UgRjI6Zm9yKDtsPDE2Oyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9aWYobi5mbGFncz1jLChuLmZsYWdzJjI1NSkhPT1EMil7dC5tc2c9InVua25vd24gY29tcHJlc3Npb24gbWV0aG9kIixuLm1vZGU9TW47YnJlYWt9aWYobi5mbGFncyY1NzM0NCl7dC5tc2c9InVua25vd24gaGVhZGVyIGZsYWdzIHNldCIsbi5tb2RlPU1uO2JyZWFrfW4uaGVhZCYmKG4uaGVhZC50ZXh0PWM+PjgmMSksbi5mbGFncyY1MTImJm4ud3JhcCY0JiYodlswXT1jJjI1NSx2WzFdPWM+Pj44JjI1NSxuLmNoZWNrPWdpKG4uY2hlY2ssdiwyLDApKSxjPTAsbD0wLG4ubW9kZT1CMjtjYXNlIEIyOmZvcig7bDwzMjspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fW4uaGVhZCYmKG4uaGVhZC50aW1lPWMpLG4uZmxhZ3MmNTEyJiZuLndyYXAmNCYmKHZbMF09YyYyNTUsdlsxXT1jPj4+OCYyNTUsdlsyXT1jPj4+MTYmMjU1LHZbM109Yz4+PjI0JjI1NSxuLmNoZWNrPWdpKG4uY2hlY2ssdiw0LDApKSxjPTAsbD0wLG4ubW9kZT1VMjtjYXNlIFUyOmZvcig7bDwxNjspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fW4uaGVhZCYmKG4uaGVhZC54ZmxhZ3M9YyYyNTUsbi5oZWFkLm9zPWM+PjgpLG4uZmxhZ3MmNTEyJiZuLndyYXAmNCYmKHZbMF09YyYyNTUsdlsxXT1jPj4+OCYyNTUsbi5jaGVjaz1naShuLmNoZWNrLHYsMiwwKSksYz0wLGw9MCxuLm1vZGU9VjI7Y2FzZSBWMjppZihuLmZsYWdzJjEwMjQpe2Zvcig7bDwxNjspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fW4ubGVuZ3RoPWMsbi5oZWFkJiYobi5oZWFkLmV4dHJhX2xlbj1jKSxuLmZsYWdzJjUxMiYmbi53cmFwJjQmJih2WzBdPWMmMjU1LHZbMV09Yz4+PjgmMjU1LG4uY2hlY2s9Z2kobi5jaGVjayx2LDIsMCkpLGM9MCxsPTB9ZWxzZSBuLmhlYWQmJihuLmhlYWQuZXh0cmE9bnVsbCk7bi5tb2RlPWsyO2Nhc2UgazI6aWYobi5mbGFncyYxMDI0JiYobT1uLmxlbmd0aCxtPmYmJihtPWYpLG0mJihuLmhlYWQmJihJPW4uaGVhZC5leHRyYV9sZW4tbi5sZW5ndGgsbi5oZWFkLmV4dHJhfHwobi5oZWFkLmV4dHJhPW5ldyBVaW50OEFycmF5KG4uaGVhZC5leHRyYV9sZW4pKSxuLmhlYWQuZXh0cmEuc2V0KG8uc3ViYXJyYXkoaSxpK20pLEkpKSxuLmZsYWdzJjUxMiYmbi53cmFwJjQmJihuLmNoZWNrPWdpKG4uY2hlY2ssbyxtLGkpKSxmLT1tLGkrPW0sbi5sZW5ndGgtPW0pLG4ubGVuZ3RoKSlicmVhayB0O24ubGVuZ3RoPTAsbi5tb2RlPUcyO2Nhc2UgRzI6aWYobi5mbGFncyYyMDQ4KXtpZihmPT09MClicmVhayB0O209MDtkbyBJPW9baSttKytdLG4uaGVhZCYmSSYmbi5sZW5ndGg8NjU1MzYmJihuLmhlYWQubmFtZSs9U3RyaW5nLmZyb21DaGFyQ29kZShJKSk7d2hpbGUoSSYmbTxmKTtpZihuLmZsYWdzJjUxMiYmbi53cmFwJjQmJihuLmNoZWNrPWdpKG4uY2hlY2ssbyxtLGkpKSxmLT1tLGkrPW0sSSlicmVhayB0fWVsc2Ugbi5oZWFkJiYobi5oZWFkLm5hbWU9bnVsbCk7bi5sZW5ndGg9MCxuLm1vZGU9ejI7Y2FzZSB6MjppZihuLmZsYWdzJjQwOTYpe2lmKGY9PT0wKWJyZWFrIHQ7bT0wO2RvIEk9b1tpK20rK10sbi5oZWFkJiZJJiZuLmxlbmd0aDw2NTUzNiYmKG4uaGVhZC5jb21tZW50Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpKTt3aGlsZShJJiZtPGYpO2lmKG4uZmxhZ3MmNTEyJiZuLndyYXAmNCYmKG4uY2hlY2s9Z2kobi5jaGVjayxvLG0saSkpLGYtPW0saSs9bSxJKWJyZWFrIHR9ZWxzZSBuLmhlYWQmJihuLmhlYWQuY29tbWVudD1udWxsKTtuLm1vZGU9ajI7Y2FzZSBqMjppZihuLmZsYWdzJjUxMil7Zm9yKDtsPDE2Oyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9aWYobi53cmFwJjQmJmMhPT0obi5jaGVjayY2NTUzNSkpe3QubXNnPSJoZWFkZXIgY3JjIG1pc21hdGNoIixuLm1vZGU9TW47YnJlYWt9Yz0wLGw9MH1uLmhlYWQmJihuLmhlYWQuaGNyYz1uLmZsYWdzPj45JjEsbi5oZWFkLmRvbmU9ITApLHQuYWRsZXI9bi5jaGVjaz0wLG4ubW9kZT1LaTticmVhaztjYXNlIEgyOmZvcig7bDwzMjspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fXQuYWRsZXI9bi5jaGVjaz1vUyhjKSxjPTAsbD0wLG4ubW9kZT1hbTtjYXNlIGFtOmlmKG4uaGF2ZWRpY3Q9PT0wKXJldHVybiB0Lm5leHRfb3V0PXMsdC5hdmFpbF9vdXQ9dSx0Lm5leHRfaW49aSx0LmF2YWlsX2luPWYsbi5ob2xkPWMsbi5iaXRzPWwsbDY7dC5hZGxlcj1uLmNoZWNrPTEsbi5tb2RlPUtpO2Nhc2UgS2k6aWYoZT09PWY2fHxlPT09aW0pYnJlYWsgdDtjYXNlIFBnOmlmKG4ubGFzdCl7Yz4+Pj1sJjcsbC09bCY3LG4ubW9kZT1OZzticmVha31mb3IoO2w8Mzspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fXN3aXRjaChuLmxhc3Q9YyYxLGM+Pj49MSxsLT0xLGMmMyl7Y2FzZSAwOm4ubW9kZT1xMjticmVhaztjYXNlIDE6aWYoQTYobiksbi5tb2RlPXNtLGU9PT1pbSl7Yz4+Pj0yLGwtPTI7YnJlYWsgdH1icmVhaztjYXNlIDI6bi5tb2RlPVcyO2JyZWFrO2Nhc2UgMzp0Lm1zZz0iaW52YWxpZCBibG9jayB0eXBlIixuLm1vZGU9TW59Yz4+Pj0yLGwtPTI7YnJlYWs7Y2FzZSBxMjpmb3IoYz4+Pj1sJjcsbC09bCY3O2w8MzI7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZigoYyY2NTUzNSkhPT0oYz4+PjE2XjY1NTM1KSl7dC5tc2c9ImludmFsaWQgc3RvcmVkIGJsb2NrIGxlbmd0aHMiLG4ubW9kZT1NbjticmVha31pZihuLmxlbmd0aD1jJjY1NTM1LGM9MCxsPTAsbi5tb2RlPU1nLGU9PT1pbSlicmVhayB0O2Nhc2UgTWc6bi5tb2RlPUsyO2Nhc2UgSzI6aWYobT1uLmxlbmd0aCxtKXtpZihtPmYmJihtPWYpLG0+dSYmKG09dSksbT09PTApYnJlYWsgdDtyLnNldChvLnN1YmFycmF5KGksaSttKSxzKSxmLT1tLGkrPW0sdS09bSxzKz1tLG4ubGVuZ3RoLT1tO2JyZWFrfW4ubW9kZT1LaTticmVhaztjYXNlIFcyOmZvcig7bDwxNDspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWlmKG4ubmxlbj0oYyYzMSkrMjU3LGM+Pj49NSxsLT01LG4ubmRpc3Q9KGMmMzEpKzEsYz4+Pj01LGwtPTUsbi5uY29kZT0oYyYxNSkrNCxjPj4+PTQsbC09NCxuLm5sZW4+Mjg2fHxuLm5kaXN0PjMwKXt0Lm1zZz0idG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMiLG4ubW9kZT1NbjticmVha31uLmhhdmU9MCxuLm1vZGU9WDI7Y2FzZSBYMjpmb3IoO24uaGF2ZTxuLm5jb2RlOyl7Zm9yKDtsPDM7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1uLmxlbnNbQVtuLmhhdmUrK11dPWMmNyxjPj4+PTMsbC09M31mb3IoO24uaGF2ZTwxOTspbi5sZW5zW0Fbbi5oYXZlKytdXT0wO2lmKG4ubGVuY29kZT1uLmxlbmR5bixuLmxlbmJpdHM9NyxMPXtiaXRzOm4ubGVuYml0c30sRD1kdShhNixuLmxlbnMsMCwxOSxuLmxlbmNvZGUsMCxuLndvcmssTCksbi5sZW5iaXRzPUwuYml0cyxEKXt0Lm1zZz0iaW52YWxpZCBjb2RlIGxlbmd0aHMgc2V0IixuLm1vZGU9TW47YnJlYWt9bi5oYXZlPTAsbi5tb2RlPVkyO2Nhc2UgWTI6Zm9yKDtuLmhhdmU8bi5ubGVuK24ubmRpc3Q7KXtmb3IoO2I9bi5sZW5jb2RlW2MmKDE8PG4ubGVuYml0cyktMV0sVD1iPj4+MjQsTz1iPj4+MTYmMjU1LEU9YiY2NTUzNSwhKFQ8PWwpOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9aWYoRTwxNiljPj4+PVQsbC09VCxuLmxlbnNbbi5oYXZlKytdPUU7ZWxzZXtpZihFPT09MTYpe2ZvcihVPVQrMjtsPFU7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZihjPj4+PVQsbC09VCxuLmhhdmU9PT0wKXt0Lm1zZz0iaW52YWxpZCBiaXQgbGVuZ3RoIHJlcGVhdCIsbi5tb2RlPU1uO2JyZWFrfUk9bi5sZW5zW24uaGF2ZS0xXSxtPTMrKGMmMyksYz4+Pj0yLGwtPTJ9ZWxzZSBpZihFPT09MTcpe2ZvcihVPVQrMztsPFU7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1jPj4+PVQsbC09VCxJPTAsbT0zKyhjJjcpLGM+Pj49MyxsLT0zfWVsc2V7Zm9yKFU9VCs3O2w8VTspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWM+Pj49VCxsLT1ULEk9MCxtPTExKyhjJjEyNyksYz4+Pj03LGwtPTd9aWYobi5oYXZlK20+bi5ubGVuK24ubmRpc3Qpe3QubXNnPSJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0IixuLm1vZGU9TW47YnJlYWt9Zm9yKDttLS07KW4ubGVuc1tuLmhhdmUrK109SX19aWYobi5tb2RlPT09TW4pYnJlYWs7aWYobi5sZW5zWzI1Nl09PT0wKXt0Lm1zZz0iaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrIixuLm1vZGU9TW47YnJlYWt9aWYobi5sZW5iaXRzPTksTD17Yml0czpuLmxlbmJpdHN9LEQ9ZHUoaVMsbi5sZW5zLDAsbi5ubGVuLG4ubGVuY29kZSwwLG4ud29yayxMKSxuLmxlbmJpdHM9TC5iaXRzLEQpe3QubXNnPSJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RocyBzZXQiLG4ubW9kZT1NbjticmVha31pZihuLmRpc3RiaXRzPTYsbi5kaXN0Y29kZT1uLmRpc3RkeW4sTD17Yml0czpuLmRpc3RiaXRzfSxEPWR1KHNTLG4ubGVucyxuLm5sZW4sbi5uZGlzdCxuLmRpc3Rjb2RlLDAsbi53b3JrLEwpLG4uZGlzdGJpdHM9TC5iaXRzLEQpe3QubXNnPSJpbnZhbGlkIGRpc3RhbmNlcyBzZXQiLG4ubW9kZT1NbjticmVha31pZihuLm1vZGU9c20sZT09PWltKWJyZWFrIHQ7Y2FzZSBzbTpuLm1vZGU9Y207Y2FzZSBjbTppZihmPj02JiZ1Pj0yNTgpe3QubmV4dF9vdXQ9cyx0LmF2YWlsX291dD11LHQubmV4dF9pbj1pLHQuYXZhaWxfaW49ZixuLmhvbGQ9YyxuLmJpdHM9bCxjNih0LGQpLHM9dC5uZXh0X291dCxyPXQub3V0cHV0LHU9dC5hdmFpbF9vdXQsaT10Lm5leHRfaW4sbz10LmlucHV0LGY9dC5hdmFpbF9pbixjPW4uaG9sZCxsPW4uYml0cyxuLm1vZGU9PT1LaSYmKG4uYmFjaz0tMSk7YnJlYWt9Zm9yKG4uYmFjaz0wO2I9bi5sZW5jb2RlW2MmKDE8PG4ubGVuYml0cyktMV0sVD1iPj4+MjQsTz1iPj4+MTYmMjU1LEU9YiY2NTUzNSwhKFQ8PWwpOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9aWYoTyYmIShPJjI0MCkpe2Zvcih3PVQsQz1PLE49RTtiPW4ubGVuY29kZVtOKygoYyYoMTw8dytDKS0xKT4+dyldLFQ9Yj4+PjI0LE89Yj4+PjE2JjI1NSxFPWImNjU1MzUsISh3K1Q8PWwpOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9Yz4+Pj13LGwtPXcsbi5iYWNrKz13fWlmKGM+Pj49VCxsLT1ULG4uYmFjays9VCxuLmxlbmd0aD1FLE89PT0wKXtuLm1vZGU9dFM7YnJlYWt9aWYoTyYzMil7bi5iYWNrPS0xLG4ubW9kZT1LaTticmVha31pZihPJjY0KXt0Lm1zZz0iaW52YWxpZCBsaXRlcmFsL2xlbmd0aCBjb2RlIixuLm1vZGU9TW47YnJlYWt9bi5leHRyYT1PJjE1LG4ubW9kZT0kMjtjYXNlICQyOmlmKG4uZXh0cmEpe2ZvcihVPW4uZXh0cmE7bDxVOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9bi5sZW5ndGgrPWMmKDE8PG4uZXh0cmEpLTEsYz4+Pj1uLmV4dHJhLGwtPW4uZXh0cmEsbi5iYWNrKz1uLmV4dHJhfW4ud2FzPW4ubGVuZ3RoLG4ubW9kZT1aMjtjYXNlIFoyOmZvcig7Yj1uLmRpc3Rjb2RlW2MmKDE8PG4uZGlzdGJpdHMpLTFdLFQ9Yj4+PjI0LE89Yj4+PjE2JjI1NSxFPWImNjU1MzUsIShUPD1sKTspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWlmKCEoTyYyNDApKXtmb3Iodz1ULEM9TyxOPUU7Yj1uLmRpc3Rjb2RlW04rKChjJigxPDx3K0MpLTEpPj53KV0sVD1iPj4+MjQsTz1iPj4+MTYmMjU1LEU9YiY2NTUzNSwhKHcrVDw9bCk7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1jPj4+PXcsbC09dyxuLmJhY2srPXd9aWYoYz4+Pj1ULGwtPVQsbi5iYWNrKz1ULE8mNjQpe3QubXNnPSJpbnZhbGlkIGRpc3RhbmNlIGNvZGUiLG4ubW9kZT1NbjticmVha31uLm9mZnNldD1FLG4uZXh0cmE9TyYxNSxuLm1vZGU9UTI7Y2FzZSBRMjppZihuLmV4dHJhKXtmb3IoVT1uLmV4dHJhO2w8VTspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fW4ub2Zmc2V0Kz1jJigxPDxuLmV4dHJhKS0xLGM+Pj49bi5leHRyYSxsLT1uLmV4dHJhLG4uYmFjays9bi5leHRyYX1pZihuLm9mZnNldD5uLmRtYXgpe3QubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayIsbi5tb2RlPU1uO2JyZWFrfW4ubW9kZT1KMjtjYXNlIEoyOmlmKHU9PT0wKWJyZWFrIHQ7aWYobT1kLXUsbi5vZmZzZXQ+bSl7aWYobT1uLm9mZnNldC1tLG0+bi53aGF2ZSYmbi5zYW5lKXt0Lm1zZz0iaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siLG4ubW9kZT1NbjticmVha31tPm4ud25leHQ/KG0tPW4ud25leHQsXz1uLndzaXplLW0pOl89bi53bmV4dC1tLG0+bi5sZW5ndGgmJihtPW4ubGVuZ3RoKSxnPW4ud2luZG93fWVsc2UgZz1yLF89cy1uLm9mZnNldCxtPW4ubGVuZ3RoO20+dSYmKG09dSksdS09bSxuLmxlbmd0aC09bTtkbyByW3MrK109Z1tfKytdO3doaWxlKC0tbSk7bi5sZW5ndGg9PT0wJiYobi5tb2RlPWNtKTticmVhaztjYXNlIHRTOmlmKHU9PT0wKWJyZWFrIHQ7cltzKytdPW4ubGVuZ3RoLHUtLSxuLm1vZGU9Y207YnJlYWs7Y2FzZSBOZzppZihuLndyYXApe2Zvcig7bDwzMjspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGN8PW9baSsrXTw8bCxsKz04fWlmKGQtPXUsdC50b3RhbF9vdXQrPWQsbi50b3RhbCs9ZCxuLndyYXAmNCYmZCYmKHQuYWRsZXI9bi5jaGVjaz1uLmZsYWdzP2dpKG4uY2hlY2sscixkLHMtZCk6TGcobi5jaGVjayxyLGQscy1kKSksZD11LG4ud3JhcCY0JiYobi5mbGFncz9jOm9TKGMpKSE9PW4uY2hlY2spe3QubXNnPSJpbmNvcnJlY3QgZGF0YSBjaGVjayIsbi5tb2RlPU1uO2JyZWFrfWM9MCxsPTB9bi5tb2RlPWVTO2Nhc2UgZVM6aWYobi53cmFwJiZuLmZsYWdzKXtmb3IoO2w8MzI7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZihuLndyYXAmNCYmYyE9PShuLnRvdGFsJjQyOTQ5NjcyOTUpKXt0Lm1zZz0iaW5jb3JyZWN0IGxlbmd0aCBjaGVjayIsbi5tb2RlPU1uO2JyZWFrfWM9MCxsPTB9bi5tb2RlPW5TO2Nhc2UgblM6RD11NjticmVhayB0O2Nhc2UgTW46RD1jUzticmVhayB0O2Nhc2UgRmc6cmV0dXJuIERnO2Nhc2UgYVM6ZGVmYXVsdDpyZXR1cm4gTXJ9cmV0dXJuIHQubmV4dF9vdXQ9cyx0LmF2YWlsX291dD11LHQubmV4dF9pbj1pLHQuYXZhaWxfaW49ZixuLmhvbGQ9YyxuLmJpdHM9bCwobi53c2l6ZXx8ZCE9PXQuYXZhaWxfb3V0JiZuLm1vZGU8TW4mJihuLm1vZGU8Tmd8fGUhPT1MMikpJiZkUyh0LHQub3V0cHV0LHQubmV4dF9vdXQsZC10LmF2YWlsX291dCk/KG4ubW9kZT1GZyxEZyk6KHAtPXQuYXZhaWxfaW4sZC09dC5hdmFpbF9vdXQsdC50b3RhbF9pbis9cCx0LnRvdGFsX291dCs9ZCxuLnRvdGFsKz1kLG4ud3JhcCY0JiZkJiYodC5hZGxlcj1uLmNoZWNrPW4uZmxhZ3M/Z2kobi5jaGVjayxyLGQsdC5uZXh0X291dC1kKTpMZyhuLmNoZWNrLHIsZCx0Lm5leHRfb3V0LWQpKSx0LmRhdGFfdHlwZT1uLmJpdHMrKG4ubGFzdD82NDowKSsobi5tb2RlPT09S2k/MTI4OjApKyhuLm1vZGU9PT1zbXx8bi5tb2RlPT09TWc/MjU2OjApLChwPT09MCYmZD09PTB8fGU9PT1MMikmJkQ9PT1TYyYmKEQ9cDYpLEQpfSxUNj10PT57aWYoQ2ModCkpcmV0dXJuIE1yO2xldCBlPXQuc3RhdGU7cmV0dXJuIGUud2luZG93JiYoZS53aW5kb3c9bnVsbCksdC5zdGF0ZT1udWxsLFNjfSx3Nj0odCxlKT0+e2lmKENjKHQpKXJldHVybiBNcjtsZXQgbj10LnN0YXRlO3JldHVybiBuLndyYXAmMj8obi5oZWFkPWUsZS5kb25lPSExLFNjKTpNcn0sTzY9KHQsZSk9PntsZXQgbj1lLmxlbmd0aCxvLHIsaTtyZXR1cm4gQ2ModCl8fChvPXQuc3RhdGUsby53cmFwIT09MCYmby5tb2RlIT09YW0pP01yOm8ubW9kZT09PWFtJiYocj0xLHI9TGcocixlLG4sMCksciE9PW8uY2hlY2spP2NTOihpPWRTKHQsZSxuLG4pLGk/KG8ubW9kZT1GZyxEZyk6KG8uaGF2ZWRpY3Q9MSxTYykpfTtZci5leHBvcnRzLmluZmxhdGVSZXNldD11UztZci5leHBvcnRzLmluZmxhdGVSZXNldDI9bFM7WXIuZXhwb3J0cy5pbmZsYXRlUmVzZXRLZWVwPWZTO1lyLmV4cG9ydHMuaW5mbGF0ZUluaXQ9ZzY7WXIuZXhwb3J0cy5pbmZsYXRlSW5pdDI9cFM7WXIuZXhwb3J0cy5pbmZsYXRlPWI2O1lyLmV4cG9ydHMuaW5mbGF0ZUVuZD1UNjtZci5leHBvcnRzLmluZmxhdGVHZXRIZWFkZXI9dzY7WXIuZXhwb3J0cy5pbmZsYXRlU2V0RGljdGlvbmFyeT1PNjtZci5leHBvcnRzLmluZmxhdGVJbmZvPSJwYWtvIGluZmxhdGUgKGZyb20gTm9kZWNhIHByb2plY3QpIn0pO3ZhciBoUz1YbigoSnV0LEJnKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgRTY9KHQsZSk9Pk9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LGUpO0JnLmV4cG9ydHMuYXNzaWduPWZ1bmN0aW9uKHQpe2xldCBlPUFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywxKTtmb3IoO2UubGVuZ3RoOyl7bGV0IG49ZS5zaGlmdCgpO2lmKG4pe2lmKHR5cGVvZiBuIT0ib2JqZWN0Iil0aHJvdyBuZXcgVHlwZUVycm9yKG4rIm11c3QgYmUgbm9uLW9iamVjdCIpO2ZvcihsZXQgbyBpbiBuKUU2KG4sbykmJih0W29dPW5bb10pfX1yZXR1cm4gdH07QmcuZXhwb3J0cy5mbGF0dGVuQ2h1bmtzPXQ9PntsZXQgZT0wO2ZvcihsZXQgbz0wLHI9dC5sZW5ndGg7bzxyO28rKyllKz10W29dLmxlbmd0aDtsZXQgbj1uZXcgVWludDhBcnJheShlKTtmb3IobGV0IG89MCxyPTAsaT10Lmxlbmd0aDtvPGk7bysrKXtsZXQgcz10W29dO24uc2V0KHMscikscis9cy5sZW5ndGh9cmV0dXJuIG59fSk7dmFyIHlTPVhuKCh0bHQsdW0pPT57InVzZSBzdHJpY3QiO3ZhciBfUz0hMDt0cnl7U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLG5ldyBVaW50OEFycmF5KDEpKX1jYXRjaHtfUz0hMX12YXIgbXU9bmV3IFVpbnQ4QXJyYXkoMjU2KTtmb3IobGV0IHQ9MDt0PDI1Njt0KyspbXVbdF09dD49MjUyPzY6dD49MjQ4PzU6dD49MjQwPzQ6dD49MjI0PzM6dD49MTkyPzI6MTttdVsyNTRdPW11WzI1NF09MTt1bS5leHBvcnRzLnN0cmluZzJidWY9dD0+e2lmKHR5cGVvZiBUZXh0RW5jb2Rlcj09ImZ1bmN0aW9uIiYmVGV4dEVuY29kZXIucHJvdG90eXBlLmVuY29kZSlyZXR1cm4gbmV3IFRleHRFbmNvZGVyKCkuZW5jb2RlKHQpO2xldCBlLG4sbyxyLGkscz10Lmxlbmd0aCxmPTA7Zm9yKHI9MDtyPHM7cisrKW49dC5jaGFyQ29kZUF0KHIpLChuJjY0NTEyKT09PTU1Mjk2JiZyKzE8cyYmKG89dC5jaGFyQ29kZUF0KHIrMSksKG8mNjQ1MTIpPT09NTYzMjAmJihuPTY1NTM2KyhuLTU1Mjk2PDwxMCkrKG8tNTYzMjApLHIrKykpLGYrPW48MTI4PzE6bjwyMDQ4PzI6bjw2NTUzNj8zOjQ7Zm9yKGU9bmV3IFVpbnQ4QXJyYXkoZiksaT0wLHI9MDtpPGY7cisrKW49dC5jaGFyQ29kZUF0KHIpLChuJjY0NTEyKT09PTU1Mjk2JiZyKzE8cyYmKG89dC5jaGFyQ29kZUF0KHIrMSksKG8mNjQ1MTIpPT09NTYzMjAmJihuPTY1NTM2KyhuLTU1Mjk2PDwxMCkrKG8tNTYzMjApLHIrKykpLG48MTI4P2VbaSsrXT1uOm48MjA0OD8oZVtpKytdPTE5MnxuPj4+NixlW2krK109MTI4fG4mNjMpOm48NjU1MzY/KGVbaSsrXT0yMjR8bj4+PjEyLGVbaSsrXT0xMjh8bj4+PjYmNjMsZVtpKytdPTEyOHxuJjYzKTooZVtpKytdPTI0MHxuPj4+MTgsZVtpKytdPTEyOHxuPj4+MTImNjMsZVtpKytdPTEyOHxuPj4+NiY2MyxlW2krK109MTI4fG4mNjMpO3JldHVybiBlfTt2YXIgUjY9KHQsZSk9PntpZihlPDY1NTM0JiZ0LnN1YmFycmF5JiZfUylyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLHQubGVuZ3RoPT09ZT90OnQuc3ViYXJyYXkoMCxlKSk7bGV0IG49IiI7Zm9yKGxldCBvPTA7bzxlO28rKyluKz1TdHJpbmcuZnJvbUNoYXJDb2RlKHRbb10pO3JldHVybiBufTt1bS5leHBvcnRzLmJ1ZjJzdHJpbmc9KHQsZSk9PntsZXQgbj1lfHx0Lmxlbmd0aDtpZih0eXBlb2YgVGV4dERlY29kZXI9PSJmdW5jdGlvbiImJlRleHREZWNvZGVyLnByb3RvdHlwZS5kZWNvZGUpcmV0dXJuIG5ldyBUZXh0RGVjb2RlcigpLmRlY29kZSh0LnN1YmFycmF5KDAsZSkpO2xldCBvLHIsaT1uZXcgQXJyYXkobioyKTtmb3Iocj0wLG89MDtvPG47KXtsZXQgcz10W28rK107aWYoczwxMjgpe2lbcisrXT1zO2NvbnRpbnVlfWxldCBmPW11W3NdO2lmKGY+NCl7aVtyKytdPTY1NTMzLG8rPWYtMTtjb250aW51ZX1mb3IocyY9Zj09PTI/MzE6Zj09PTM/MTU6NztmPjEmJm88bjspcz1zPDw2fHRbbysrXSY2MyxmLS07aWYoZj4xKXtpW3IrK109NjU1MzM7Y29udGludWV9czw2NTUzNj9pW3IrK109czoocy09NjU1MzYsaVtyKytdPTU1Mjk2fHM+PjEwJjEwMjMsaVtyKytdPTU2MzIwfHMmMTAyMyl9cmV0dXJuIFI2KGkscil9O3VtLmV4cG9ydHMudXRmOGJvcmRlcj0odCxlKT0+e2U9ZXx8dC5sZW5ndGgsZT50Lmxlbmd0aCYmKGU9dC5sZW5ndGgpO2xldCBuPWUtMTtmb3IoO24+PTAmJih0W25dJjE5Mik9PT0xMjg7KW4tLTtyZXR1cm4gbjwwfHxuPT09MD9lOm4rbXVbdFtuXV0+ZT9uOmV9fSk7dmFyIEFTPVhuKChlbHQsZ1MpPT57InVzZSBzdHJpY3QiO2dTLmV4cG9ydHM9ezI6Im5lZWQgZGljdGlvbmFyeSIsMToic3RyZWFtIGVuZCIsMDoiIiwiLTEiOiJmaWxlIGVycm9yIiwiLTIiOiJzdHJlYW0gZXJyb3IiLCItMyI6ImRhdGEgZXJyb3IiLCItNCI6Imluc3VmZmljaWVudCBtZW1vcnkiLCItNSI6ImJ1ZmZlciBlcnJvciIsIi02IjoiaW5jb21wYXRpYmxlIHZlcnNpb24ifX0pO3ZhciBUUz1Ybigobmx0LGJTKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBTNigpe3RoaXMuaW5wdXQ9bnVsbCx0aGlzLm5leHRfaW49MCx0aGlzLmF2YWlsX2luPTAsdGhpcy50b3RhbF9pbj0wLHRoaXMub3V0cHV0PW51bGwsdGhpcy5uZXh0X291dD0wLHRoaXMuYXZhaWxfb3V0PTAsdGhpcy50b3RhbF9vdXQ9MCx0aGlzLm1zZz0iIix0aGlzLnN0YXRlPW51bGwsdGhpcy5kYXRhX3R5cGU9Mix0aGlzLmFkbGVyPTB9YlMuZXhwb3J0cz1TNn0pO3ZhciBPUz1Ybigob2x0LHdTKT0+eyJ1c2Ugc3RyaWN0IjtmdW5jdGlvbiBDNigpe3RoaXMudGV4dD0wLHRoaXMudGltZT0wLHRoaXMueGZsYWdzPTAsdGhpcy5vcz0wLHRoaXMuZXh0cmE9bnVsbCx0aGlzLmV4dHJhX2xlbj0wLHRoaXMubmFtZT0iIix0aGlzLmNvbW1lbnQ9IiIsdGhpcy5oY3JjPTAsdGhpcy5kb25lPSExfXdTLmV4cG9ydHM9QzZ9KTt2YXIgQ1M9WG4oKHJsdCxHYSk9PnsidXNlIHN0cmljdCI7dmFyIFdpPW1TKCksUlM9aFMoKSxrZz15UygpLEdnPUFTKCkseDY9VFMoKSxQNj1PUygpLFNTPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcse1pfTk9fRkxVU0g6TTYsWl9GSU5JU0g6TjYsWl9PSzpodSxaX1NUUkVBTV9FTkQ6VWcsWl9ORUVEX0RJQ1Q6VmcsWl9TVFJFQU1fRVJST1I6STYsWl9EQVRBX0VSUk9SOkVTLFpfTUVNX0VSUk9SOnY2fT1ybSgpO2Z1bmN0aW9uIF91KHQpe3RoaXMub3B0aW9ucz1SUy5hc3NpZ24oe2NodW5rU2l6ZToxMDI0KjY0LHdpbmRvd0JpdHM6MTUsdG86IiJ9LHR8fHt9KTtsZXQgZT10aGlzLm9wdGlvbnM7ZS5yYXcmJmUud2luZG93Qml0cz49MCYmZS53aW5kb3dCaXRzPDE2JiYoZS53aW5kb3dCaXRzPS1lLndpbmRvd0JpdHMsZS53aW5kb3dCaXRzPT09MCYmKGUud2luZG93Qml0cz0tMTUpKSxlLndpbmRvd0JpdHM+PTAmJmUud2luZG93Qml0czwxNiYmISh0JiZ0LndpbmRvd0JpdHMpJiYoZS53aW5kb3dCaXRzKz0zMiksZS53aW5kb3dCaXRzPjE1JiZlLndpbmRvd0JpdHM8NDgmJihlLndpbmRvd0JpdHMmMTV8fChlLndpbmRvd0JpdHN8PTE1KSksdGhpcy5lcnI9MCx0aGlzLm1zZz0iIix0aGlzLmVuZGVkPSExLHRoaXMuY2h1bmtzPVtdLHRoaXMuc3RybT1uZXcgeDYsdGhpcy5zdHJtLmF2YWlsX291dD0wO2xldCBuPVdpLmluZmxhdGVJbml0Mih0aGlzLnN0cm0sZS53aW5kb3dCaXRzKTtpZihuIT09aHUpdGhyb3cgbmV3IEVycm9yKEdnW25dKTtpZih0aGlzLmhlYWRlcj1uZXcgUDYsV2kuaW5mbGF0ZUdldEhlYWRlcih0aGlzLnN0cm0sdGhpcy5oZWFkZXIpLGUuZGljdGlvbmFyeSYmKHR5cGVvZiBlLmRpY3Rpb25hcnk9PSJzdHJpbmciP2UuZGljdGlvbmFyeT1rZy5zdHJpbmcyYnVmKGUuZGljdGlvbmFyeSk6U1MuY2FsbChlLmRpY3Rpb25hcnkpPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIiYmKGUuZGljdGlvbmFyeT1uZXcgVWludDhBcnJheShlLmRpY3Rpb25hcnkpKSxlLnJhdyYmKG49V2kuaW5mbGF0ZVNldERpY3Rpb25hcnkodGhpcy5zdHJtLGUuZGljdGlvbmFyeSksbiE9PWh1KSkpdGhyb3cgbmV3IEVycm9yKEdnW25dKX1fdS5wcm90b3R5cGUucHVzaD1mdW5jdGlvbih0LGUpe2xldCBuPXRoaXMuc3RybSxvPXRoaXMub3B0aW9ucy5jaHVua1NpemUscj10aGlzLm9wdGlvbnMuZGljdGlvbmFyeSxpLHMsZjtpZih0aGlzLmVuZGVkKXJldHVybiExO2ZvcihlPT09fn5lP3M9ZTpzPWU9PT0hMD9ONjpNNixTUy5jYWxsKHQpPT09IltvYmplY3QgQXJyYXlCdWZmZXJdIj9uLmlucHV0PW5ldyBVaW50OEFycmF5KHQpOm4uaW5wdXQ9dCxuLm5leHRfaW49MCxuLmF2YWlsX2luPW4uaW5wdXQubGVuZ3RoOzspe2ZvcihuLmF2YWlsX291dD09PTAmJihuLm91dHB1dD1uZXcgVWludDhBcnJheShvKSxuLm5leHRfb3V0PTAsbi5hdmFpbF9vdXQ9byksaT1XaS5pbmZsYXRlKG4scyksaT09PVZnJiZyJiYoaT1XaS5pbmZsYXRlU2V0RGljdGlvbmFyeShuLHIpLGk9PT1odT9pPVdpLmluZmxhdGUobixzKTppPT09RVMmJihpPVZnKSk7bi5hdmFpbF9pbj4wJiZpPT09VWcmJm4uc3RhdGUud3JhcD4wJiZ0W24ubmV4dF9pbl0hPT0wOylXaS5pbmZsYXRlUmVzZXQobiksaT1XaS5pbmZsYXRlKG4scyk7c3dpdGNoKGkpe2Nhc2UgSTY6Y2FzZSBFUzpjYXNlIFZnOmNhc2UgdjY6cmV0dXJuIHRoaXMub25FbmQoaSksdGhpcy5lbmRlZD0hMCwhMX1pZihmPW4uYXZhaWxfb3V0LG4ubmV4dF9vdXQmJihuLmF2YWlsX291dD09PTB8fGk9PT1VZykpaWYodGhpcy5vcHRpb25zLnRvPT09InN0cmluZyIpe2xldCB1PWtnLnV0Zjhib3JkZXIobi5vdXRwdXQsbi5uZXh0X291dCksYz1uLm5leHRfb3V0LXUsbD1rZy5idWYyc3RyaW5nKG4ub3V0cHV0LHUpO24ubmV4dF9vdXQ9YyxuLmF2YWlsX291dD1vLWMsYyYmbi5vdXRwdXQuc2V0KG4ub3V0cHV0LnN1YmFycmF5KHUsdStjKSwwKSx0aGlzLm9uRGF0YShsKX1lbHNlIHRoaXMub25EYXRhKG4ub3V0cHV0Lmxlbmd0aD09PW4ubmV4dF9vdXQ/bi5vdXRwdXQ6bi5vdXRwdXQuc3ViYXJyYXkoMCxuLm5leHRfb3V0KSk7aWYoIShpPT09aHUmJmY9PT0wKSl7aWYoaT09PVVnKXJldHVybiBpPVdpLmluZmxhdGVFbmQodGhpcy5zdHJtKSx0aGlzLm9uRW5kKGkpLHRoaXMuZW5kZWQ9ITAsITA7aWYobi5hdmFpbF9pbj09PTApYnJlYWt9fXJldHVybiEwfTtfdS5wcm90b3R5cGUub25EYXRhPWZ1bmN0aW9uKHQpe3RoaXMuY2h1bmtzLnB1c2godCl9O191LnByb3RvdHlwZS5vbkVuZD1mdW5jdGlvbih0KXt0PT09aHUmJih0aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIj90aGlzLnJlc3VsdD10aGlzLmNodW5rcy5qb2luKCIiKTp0aGlzLnJlc3VsdD1SUy5mbGF0dGVuQ2h1bmtzKHRoaXMuY2h1bmtzKSksdGhpcy5jaHVua3M9W10sdGhpcy5lcnI9dCx0aGlzLm1zZz10aGlzLnN0cm0ubXNnfTtmdW5jdGlvbiB6Zyh0LGUpe2xldCBuPW5ldyBfdShlKTtpZihuLnB1c2godCksbi5lcnIpdGhyb3cgbi5tc2d8fEdnW24uZXJyXTtyZXR1cm4gbi5yZXN1bHR9ZnVuY3Rpb24gTDYodCxlKXtyZXR1cm4gZT1lfHx7fSxlLnJhdz0hMCx6Zyh0LGUpfUdhLmV4cG9ydHMuSW5mbGF0ZT1fdTtHYS5leHBvcnRzLmluZmxhdGU9emc7R2EuZXhwb3J0cy5pbmZsYXRlUmF3PUw2O0dhLmV4cG9ydHMudW5nemlwPXpnO0dhLmV4cG9ydHMuY29uc3RhbnRzPXJtKCl9KTt2YXIgamc9e307ZGUoamcse2RlZmF1bHQ6KCk9Pmo2fSk7ZnVuY3Rpb24gRDYodCxlKXtsZXQgbj1Ncy5mcm9tU3RyaW5nKHQudHlwZSksbz10LmJ1ZmZlcjtBMih0LmtleSxvKTtsZXQgcj16NihvKTtvPXIuYnVmZmVyO2xldCBpPXIubGVuZ3RoO3N3aXRjaChuKXtjYXNlIE1zLk1FVEFEQVRBOnJldHVybiBCNihvLGksdC5xdWFkS2V5KTtjYXNlIE1zLlRFUlJBSU46cmV0dXJuIGs2KG8saSxlKTtjYXNlIE1zLkRCUk9PVDpyZXR1cm4gZS5wdXNoKG8pLHtidWZmZXI6b319fWZ1bmN0aW9uIEI2KHQsZSxuKXtsZXQgbz1uZXcgRGF0YVZpZXcodCkscj0wLGk9by5nZXRVaW50MzIociwhMCk7aWYocis9amEsaSE9PUY2KXRocm93IG5ldyBBZSgiSW52YWxpZCBtYWdpYyIpO2xldCBzPW8uZ2V0VWludDMyKHIsITApO2lmKHIrPWphLHMhPT0xKXRocm93IG5ldyBBZSgiSW52YWxpZCBkYXRhIHR5cGUuIE11c3QgYmUgMSBmb3IgUXVhZFRyZWVQYWNrZXQiKTtsZXQgZj1vLmdldFVpbnQzMihyLCEwKTtpZihyKz1qYSxmIT09Mil0aHJvdyBuZXcgQWUoIkludmFsaWQgUXVhZFRyZWVQYWNrZXQgdmVyc2lvbi4gT25seSB2ZXJzaW9uIDIgaXMgc3VwcG9ydGVkLiIpO2xldCB1PW8uZ2V0SW50MzIociwhMCk7cis9eGM7bGV0IGM9by5nZXRJbnQzMihyLCEwKTtpZihyKz14YyxjIT09MzIpdGhyb3cgbmV3IEFlKCJJbnZhbGlkIGluc3RhbmNlIHNpemUuIik7bGV0IGw9by5nZXRJbnQzMihyLCEwKTtyKz14YztsZXQgcD1vLmdldEludDMyKHIsITApO3IrPXhjO2xldCBkPW8uZ2V0SW50MzIociwhMCk7aWYocis9eGMsbCE9PXUqYytyKXRocm93IG5ldyBBZSgiSW52YWxpZCBkYXRhQnVmZmVyT2Zmc2V0Iik7aWYobCtwK2QhPT1lKXRocm93IG5ldyBBZSgiSW52YWxpZCBwYWNrZXQgb2Zmc2V0cyIpO2xldCBtPVtdO2ZvcihsZXQgRT0wO0U8dTsrK0Upe2xldCB3PW8uZ2V0VWludDgocik7KytyLCsrcjtsZXQgQz1vLmdldFVpbnQxNihyLCEwKTtyKz16YTtsZXQgTj1vLmdldFVpbnQxNihyLCEwKTtyKz16YTtsZXQgST1vLmdldFVpbnQxNihyLCEwKTtyKz16YSxyKz16YSxyKz16YSxyKz14YyxyKz14YyxyKz04O2xldCBEPW8uZ2V0VWludDgocisrKSx2PW8uZ2V0VWludDgocisrKTtyKz16YSxtLnB1c2gobmV3IE8yKHcsQyxOLEksRCx2KSl9bGV0IF89W10sZz0wO2Z1bmN0aW9uIGIoRSx3LEMpe2xldCBOPSExO2lmKEM9PT00KXtpZih3Lmhhc1N1YnRyZWUoKSlyZXR1cm47Tj0hMH1mb3IobGV0IEk9MDtJPDQ7KytJKXtsZXQgRD1FK0kudG9TdHJpbmcoKTtpZihOKV9bRF09bnVsbDtlbHNlIGlmKEM8NClpZighdy5oYXNDaGlsZChJKSlfW0RdPW51bGw7ZWxzZXtpZihnPT09dSl7Y29uc29sZS5sb2coIkluY29ycmVjdCBudW1iZXIgb2YgaW5zdGFuY2VzIik7cmV0dXJufWxldCB2PW1bZysrXTtfW0RdPXYsYihELHYsQysxKX19fWxldCBUPTAsTz1tW2crK107cmV0dXJuIG49PT0iIj8rK1Q6X1tuXT1PLGIobixPLFQpLF99ZnVuY3Rpb24gazYodCxlLG4pe2xldCBvPW5ldyBEYXRhVmlldyh0KSxyPWZ1bmN0aW9uKGYpe2ZvcihsZXQgdT0wO3U8VjY7Kyt1KXtsZXQgYz1vLmdldFVpbnQzMihmLCEwKTtpZihmKz1qYSxmKz1jLGY+ZSl0aHJvdyBuZXcgQWUoIk1hbGZvcm1lZCB0ZXJyYWluIHBhY2tldCBmb3VuZC4iKX1yZXR1cm4gZn0saT0wLHM9W107Zm9yKDtzLmxlbmd0aDxVNjspe2xldCBmPWk7aT1yKGkpO2xldCB1PXQuc2xpY2UoZixpKTtuLnB1c2godSkscy5wdXNoKHUpfXJldHVybiBzfWZ1bmN0aW9uIHo2KHQpe2xldCBlPW5ldyBEYXRhVmlldyh0KSxuPTAsbz1lLmdldFVpbnQzMihuLCEwKTtpZihuKz1qYSxvIT09eFMmJm8hPT1HNil0aHJvdyBuZXcgQWUoIkludmFsaWQgbWFnaWMiKTtsZXQgcj1lLmdldFVpbnQzMihuLG89PT14Uyk7bis9amE7bGV0IGk9bmV3IFVpbnQ4QXJyYXkodCxuKSxzPVBTLmRlZmF1bHQuaW5mbGF0ZShpKTtpZihzLmxlbmd0aCE9PXIpdGhyb3cgbmV3IEFlKCJTaXplIG9mIHBhY2tldCBkb2Vzbid0IG1hdGNoIGhlYWRlciIpO3JldHVybiBzfXZhciBQUyx6YSx4YyxqYSxNcyxGNixVNixWNix4UyxHNixqNixIZz1aKCgpPT57YjIoKTtFMigpO0pyKCk7UFM9ZHIoQ1MoKSwxKTtzbygpO3phPVVpbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULHhjPUludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsamE9VWludDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQsTXM9e01FVEFEQVRBOjAsVEVSUkFJTjoxLERCUk9PVDoyfTtNcy5mcm9tU3RyaW5nPWZ1bmN0aW9uKHQpe2lmKHQ9PT0iTWV0YWRhdGEiKXJldHVybiBNcy5NRVRBREFUQTtpZih0PT09IlRlcnJhaW4iKXJldHVybiBNcy5URVJSQUlOO2lmKHQ9PT0iRGJSb290IilyZXR1cm4gTXMuREJST09UfTtGNj0zMjMwMTtVNj01LFY2PTQ7eFM9MTk1MzAyOTgwNSxHNj0yOTE3MDM0MTAwO2o2PVFlKEQ2KX0pO2Z1bmN0aW9uIEg2KHQpe3JldHVybiB5LmRlZmluZWQoInZhbHVlIix0KSx0PD0uMDQwNDU/dCouMDc3Mzk5MzgwODA0OTUzNTc6TWF0aC5wb3coKHQrLjA1NSkqLjk0Nzg2NzI5ODU3ODE5OTEsMi40KX12YXIgbG0sTVM9WigoKT0+e1h0KCk7bG09SDZ9KTt2YXIgWGc9e307ZGUoWGcse2RlZmF1bHQ6KCk9Pl84fSk7ZnVuY3Rpb24gcTYodCxlLG4sbyxyLGkpe2xldCBzPW4qKDEtdCkrbyp0LGY9ciooMS10KStpKnQ7cmV0dXJuIHMqKDEtZSkrZiplfWZ1bmN0aW9uIHBtKHQsZSxuLG8pe2xldCByPXQrZSpuO3JldHVybiBvW3JdfWZ1bmN0aW9uIEs2KHQsZSxuKXtsZXQgbz1uLm5hdGl2ZUV4dGVudCxyPSh0LW8ud2VzdCkvKG8uZWFzdC1vLndlc3QpKihuLndpZHRoLTEpLGk9KGUtby5zb3V0aCkvKG8ubm9ydGgtby5zb3V0aCkqKG4uaGVpZ2h0LTEpLHM9TWF0aC5mbG9vcihyKSxmPU1hdGguZmxvb3IoaSk7ci09cyxpLT1mO2xldCB1PXM8bi53aWR0aD9zKzE6cyxjPWY8bi5oZWlnaHQ/ZisxOmY7Zj1uLmhlaWdodC0xLWYsYz1uLmhlaWdodC0xLWM7bGV0IGw9cG0ocyxmLG4ud2lkdGgsbi5idWZmZXIpLHA9cG0odSxmLG4ud2lkdGgsbi5idWZmZXIpLGQ9cG0ocyxjLG4ud2lkdGgsbi5idWZmZXIpLG09cG0odSxjLG4ud2lkdGgsbi5idWZmZXIpLF89cTYocixpLGwscCxkLG0pO3JldHVybiBfPV8qbi5zY2FsZStuLm9mZnNldCxffWZ1bmN0aW9uIE5TKHQsZSxuKXtmb3IobGV0IG89MDtvPG4ubGVuZ3RoO28rKyl7bGV0IHI9bltvXS5uYXRpdmVFeHRlbnQsaT1uZXcgYTtpZihuW29dLnByb2plY3Rpb25UeXBlPT09IldlYk1lcmNhdG9yIil7bGV0IHM9bltvXS5wcm9qZWN0aW9uLl9lbGxpcHNvaWQuX3JhZGlpO2k9bmV3IG5vKG5ldyAkKHMueCxzLnkscy56KSkucHJvamVjdChuZXcgY3QodCxlLDApKX1lbHNlIGkueD10LGkueT1lO2lmKGkueD5yLndlc3QmJmkueDxyLmVhc3QmJmkueT5yLnNvdXRoJiZpLnk8ci5ub3J0aClyZXR1cm4gSzYoaS54LGkueSxuW29dKX1yZXR1cm4gMH1mdW5jdGlvbiBXNih0LGUsbixvLHIsaSxzKXtpZihzKXJldHVybjtsZXQgZj1OUyhyLmxvbmdpdHVkZSxyLmxhdGl0dWRlLGkpO2ZvcihsZXQgdT0wO3U8dDsrK3Upe2xldCBjPU5TKHIubG9uZ2l0dWRlK00udG9SYWRpYW5zKG4qZVt1KjNdKSxyLmxhdGl0dWRlK00udG9SYWRpYW5zKG8qZVt1KjMrMV0pLGkpO2VbdSozKzJdKz1jLWZ9fWZ1bmN0aW9uIFg2KHQsZSxuLG8scixpLHMsZix1KXtpZih0PT09MHx8IWgoZSl8fGUubGVuZ3RoPT09MClyZXR1cm47bGV0IGM9bmV3ICQoTWF0aC5zcXJ0KHMueCksTWF0aC5zcXJ0KHMueSksTWF0aC5zcXJ0KHMueikpO2ZvcihsZXQgbD0wO2w8dDsrK2wpe2xldCBwPWwqMyxkPXArMSxtPXArMixfPW5ldyBjdDtfLmxvbmdpdHVkZT1vLmxvbmdpdHVkZStNLnRvUmFkaWFucyhmKmVbcF0pLF8ubGF0aXR1ZGU9by5sYXRpdHVkZStNLnRvUmFkaWFucyh1KmVbZF0pLF8uaGVpZ2h0PW8uaGVpZ2h0K2VbbV07bGV0IGc9e307Yy5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihfLGcpLGcueC09ci54LGcueS09ci55LGcuei09ci56O2xldCBiPXt9O2lmKFEubXVsdGlwbHlCeVZlY3RvcihpLGcsYiksZVtwXT1iLngsZVtkXT1iLnksZVttXT1iLnosaChuKSl7bGV0IFQ9bmV3IGEobltwXSxuW2RdLG5bbV0pLE89e307US5tdWx0aXBseUJ5VmVjdG9yKGksVCxPKSxuW3BdPU8ueCxuW2RdPU8ueSxuW21dPU8uen19fWZ1bmN0aW9uIFk2KHQsZSxuKXtmb3IobGV0IG89MDtvPHQ7KytvKXtsZXQgcj1uW28qNF0vNjU1MzUsaT1uW28qNCsxXS82NTUzNSxzPShuW28qNCsyXS1uW28qNF0pLzY1NTM1LGY9KG5bbyo0KzNdLW5bbyo0KzFdKS82NTUzNTtlW28qMl0qPXMsZVtvKjJdKz1yLGVbbyoyKzFdKj1mLGVbbyoyKzFdKz1pfX1mdW5jdGlvbiAkNih0LGUsbixvKXtsZXQgcj1uZXcgVWludDMyQXJyYXkodCksaT1oKGUpP2Y9PmVbZl06Zj0+ZixzPTA7aWYobyYmaChuKSl7bGV0IGY9dT0+bltpKHUpKjQrM108MjU1O2ZvcihsZXQgdT0wO3U8dDt1Kz0zKSFmKHUpJiYhZih1KzEpJiYhZih1KzIpJiYocltzKytdPWkodSkscltzKytdPWkodSsxKSxyW3MrK109aSh1KzIpKTtpZihzPjApe2xldCB1PXM7Zm9yKGxldCBjPTA7Yzx0O2MrPTMpKGYoYyl8fGYoYysxKXx8ZihjKzIpKSYmKHJbdSsrXT1pKGMpLHJbdSsrXT1pKGMrMSksclt1KytdPWkoYysyKSl9ZWxzZSBmb3IobGV0IHU9MDt1PHQ7Kyt1KXJbdV09aSh1KX1lbHNle3M9dDtmb3IobGV0IGY9MDtmPHQ7KytmKXJbZl09aShmKX1yZXR1cm57aW5kZXhBcnJheTpyLHRyYW5zcGFyZW50VmVydGV4T2Zmc2V0OnN9fWZ1bmN0aW9uIFo2KHQsZSxuKXtsZXQgbz1lW25dO2lmKGgobykpcmV0dXJuIG87bGV0IHI9ZVtuXT17cG9zaXRpb25zOnt9LGluZGljZXM6e30sZWRnZXM6e319LGk9eCh0W25dLHQuZGVmYXVsdCk7cmV0dXJuIHIuaGFzT3V0bGluZT1oKGk/LmVkZ2VzKSxyfWZ1bmN0aW9uIFE2KHQsZSxuLG8pe2lmKCFoKHRbbl0pKXtsZXQgcj1uKjMsaT1lO2ZvcihsZXQgcz0wO3M8MztzKyspe2xldCBmPW9bcitzXTtoKGlbZl0pfHwoaVtmXT17fSksaT1pW2ZdfWgoaS5pbmRleCl8fChpLmluZGV4PW4pLHRbbl09aS5pbmRleH19ZnVuY3Rpb24gSjYodCxlLG4sbyxyLGkpe2xldCBzLGY7bzxyPyhzPW8sZj1yKToocz1yLGY9byk7bGV0IHU9dFtzXTtoKHUpfHwodT10W3NdPXt9KTtsZXQgYz11W2ZdO2goYyl8fChjPXVbZl09e25vcm1hbHNJbmRleDpbXSxvdXRsaW5lczpbXX0pLGMubm9ybWFsc0luZGV4LnB1c2goaSksKGMub3V0bGluZXMubGVuZ3RoPT09MHx8ZSE9PW98fG4hPT1yKSYmYy5vdXRsaW5lcy5wdXNoKGUsbil9ZnVuY3Rpb24gdDgodCxlLG4sbyl7bGV0IHI9W107Zm9yKGxldCBpPTA7aTxuLmxlbmd0aDtpKz0zKXtsZXQgcz1oKGUpP2VbbltpXV06ImRlZmF1bHQiLGY9WjYodCxyLHMpO2lmKCFmLmhhc091dGxpbmUpY29udGludWU7bGV0IHU9Zi5pbmRpY2VzLGM9Zi5wb3NpdGlvbnM7Zm9yKGxldCBwPTA7cDwzO3ArKyl7bGV0IGQ9bltpK3BdO1E2KHUsYyxkLG8pfWxldCBsPWYuZWRnZXM7Zm9yKGxldCBwPTA7cDwzO3ArKyl7bGV0IGQ9bltpK3BdLG09bltpKyhwKzEpJTNdLF89dVtkXSxnPXVbbV07SjYobCxkLG0sXyxnLGkpfX1yZXR1cm4gcn1mdW5jdGlvbiBJUyh0LGUsbixvKXtsZXQgcj1uW2VdKjMsaT1uW2UrMV0qMyxzPW5bZSsyXSozO2EuZnJvbUFycmF5KG8scixBaSksYS5mcm9tQXJyYXkobyxpLGRtKSxhLmZyb21BcnJheShvLHMsbW0pLGEuc3VidHJhY3QoZG0sQWksZG0pLGEuc3VidHJhY3QobW0sQWksbW0pLGEuY3Jvc3MoZG0sbW0sQWkpO2xldCBmPWEubWFnbml0dWRlKEFpKTtmIT09MCYmYS5kaXZpZGVCeVNjYWxhcihBaSxmLEFpKTtsZXQgdT1lKjMsYz0oZSsxKSozLGw9KGUrMikqMzthLnBhY2soQWksdCx1KSxhLnBhY2soQWksdCxjKSxhLnBhY2soQWksdCxsKX1mdW5jdGlvbiBlOCh0LGUsbil7YS5mcm9tQXJyYXkodCxlLGhtKSxhLmZyb21BcnJheSh0LG4scWcpO2xldCBvPWEuZG90KGhtLHFnKSxyPWEubWFnbml0dWRlKGEuY3Jvc3MoaG0scWcsaG0pKTtyZXR1cm4gTWF0aC5hdGFuMihyLG8pPC4yNX1mdW5jdGlvbiBuOCh0LGUsbixvLHIpe2lmKGUubm9ybWFsc0luZGV4Lmxlbmd0aD4xKXtsZXQgaT1vLmxlbmd0aD09PXIubGVuZ3RoO2ZvcihsZXQgcz0wO3M8ZS5ub3JtYWxzSW5kZXgubGVuZ3RoO3MrKyl7bGV0IGY9ZS5ub3JtYWxzSW5kZXhbc107aWYoaChyW2YqM10pfHxJUyhyLGYsbixvKSxzIT09MClmb3IobGV0IHU9MDt1PHM7dSsrKXtsZXQgYz1lLm5vcm1hbHNJbmRleFt1XSxsPWk/bltmXSozOmYqMyxwPWk/bltjXSozOmMqMztpZihlOChyLGwscCkpcmV0dXJufX19dC5wdXNoKC4uLmUub3V0bGluZXMpfWZ1bmN0aW9uIG84KHQsZSxuLG8scil7bGV0IGk9T2JqZWN0LmtleXMoZSk7Zm9yKGxldCBzPTA7czxpLmxlbmd0aDtzKyspe2xldCBmPWVbaVtzXV0sdT1PYmplY3Qua2V5cyhmKTtmb3IobGV0IGM9MDtjPHUubGVuZ3RoO2MrKyl7bGV0IGw9Zlt1W2NdXTtuOCh0LGwsbixvLHIpfX19ZnVuY3Rpb24gcjgodCxlLG4sbyl7bGV0IHI9W10saT1PYmplY3Qua2V5cyh0KTtmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKyl7bGV0IGY9dFtpW3NdXS5lZGdlcztvOChyLGYsZSxuLG8pfXJldHVybiByfWZ1bmN0aW9uIGk4KHQsZSxuLG8scil7aWYoIWgodCl8fE9iamVjdC5rZXlzKHQpLmxlbmd0aD09PTApcmV0dXJuO2xldCBpPXQ4KHQsZSxuLG8pOyghaChyKXx8bi5sZW5ndGgqMyE9PXIubGVuZ3RoKSYmKHI9W10pO2xldCBzPXI4KGksbixvLHIpO3JldHVybiBzLmxlbmd0aD4wP25ldyBVaW50MzJBcnJheShzKTp2b2lkIDB9ZnVuY3Rpb24gczgodCl7bGV0IGU9bmV3IEZsb2F0MzJBcnJheSh0Lmxlbmd0aCk7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKz00KWVbbl09bG0ob2UuYnl0ZVRvRmxvYXQodFtuXSkpLGVbbisxXT1sbShvZS5ieXRlVG9GbG9hdCh0W24rMV0pKSxlW24rMl09bG0ob2UuYnl0ZVRvRmxvYXQodFtuKzJdKSksZVtuKzNdPW9lLmJ5dGVUb0Zsb2F0KHRbbiszXSk7cmV0dXJuIGV9ZnVuY3Rpb24gYzgodCxlLG4sbyxyLGkscyl7bGV0IGY9e25vcm1hbHM6dm9pZCAwLHBvc2l0aW9uczp2b2lkIDAsdXYwczp2b2lkIDAsY29sb3JzOnZvaWQgMCxmZWF0dXJlSW5kZXg6dm9pZCAwLHZlcnRleENvdW50OnZvaWQgMH07aWYodD09PTB8fCFoKG4pfHxuLmxlbmd0aD09PTB8fGgobykpcmV0dXJuIGY7aWYoaChlKSl7Zi52ZXJ0ZXhDb3VudD1lLmxlbmd0aCxmLnBvc2l0aW9ucz1uZXcgRmxvYXQzMkFycmF5KGUubGVuZ3RoKjMpLGYudXYwcz1oKHIpP25ldyBGbG9hdDMyQXJyYXkoZS5sZW5ndGgqMik6dm9pZCAwLGYuY29sb3JzPWgoaSk/bmV3IFVpbnQ4QXJyYXkoZS5sZW5ndGgqNCk6dm9pZCAwLGYuZmVhdHVyZUluZGV4PWgocyk/bmV3IEFycmF5KGUubGVuZ3RoKTp2b2lkIDA7Zm9yKGxldCB1PTA7dTxlLmxlbmd0aDt1Kyspe2xldCBjPWVbdV07Zi5wb3NpdGlvbnNbdSozXT1uW2MqM10sZi5wb3NpdGlvbnNbdSozKzFdPW5bYyozKzFdLGYucG9zaXRpb25zW3UqMysyXT1uW2MqMysyXSxoKGYudXYwcykmJihmLnV2MHNbdSoyXT1yW2MqMl0sZi51djBzW3UqMisxXT1yW2MqMisxXSksaChmLmNvbG9ycykmJihmLmNvbG9yc1t1KjRdPWlbYyo0XSxmLmNvbG9yc1t1KjQrMV09aVtjKjQrMV0sZi5jb2xvcnNbdSo0KzJdPWlbYyo0KzJdLGYuY29sb3JzW3UqNCszXT1pW2MqNCszXSksaChmLmZlYXR1cmVJbmRleCkmJihmLmZlYXR1cmVJbmRleFt1XT1zW2NdKX10PWUubGVuZ3RoLG49Zi5wb3NpdGlvbnN9ZT1uZXcgQXJyYXkodCk7Zm9yKGxldCB1PTA7dTx0O3UrKyllW3VdPXU7Zi5ub3JtYWxzPW5ldyBGbG9hdDMyQXJyYXkoZS5sZW5ndGgqMyk7Zm9yKGxldCB1PTA7dTxlLmxlbmd0aDt1Kz0zKUlTKGYubm9ybWFscyx1LGUsbik7cmV0dXJuIGZ9ZnVuY3Rpb24gYTgodCxlLG4sbyxyLGkscyxmKXtpZih0PT09MHx8IWgobil8fG4ubGVuZ3RoPT09MClyZXR1cm57YnVmZmVyczpbXSxidWZmZXJWaWV3czpbXSxhY2Nlc3NvcnM6W10sbWVzaGVzOltdLG5vZGVzOltdLG5vZGVzSW5TY2VuZTpbXX07bGV0IHU9W10sYz1bXSxsPVtdLHA9W10sZD1bXSxtPVtdLF89e30sZz1bXTtoKGUpJiYodD1lLmxlbmd0aCk7bGV0e2luZGV4QXJyYXk6Yix0cmFuc3BhcmVudFZlcnRleE9mZnNldDpUfT0kNih0LGUsaSxmLnNwbGl0R2VvbWV0cnlCeUNvbG9yVHJhbnNwYXJlbmN5KSxPPW5ldyBCbG9iKFtiXSx7dHlwZToiYXBwbGljYXRpb24vYmluYXJ5In0pLEU9VVJMLmNyZWF0ZU9iamVjdFVSTChPKSx3PXQsQz1mLmVuYWJsZUZlYXR1cmVzJiZoKHMpP25ldyBGbG9hdDMyQXJyYXkocy5sZW5ndGgpOnZvaWQgMCxOPTA7aWYoaChDKSlmb3IobGV0IHV0PTA7dXQ8cy5sZW5ndGg7Kyt1dCl7Q1t1dF09c1t1dF07bGV0IHZ0PXNbdXRdKzE7Tjx2dCYmKE49dnQpfWxldCBJLEQ9aTgoZi5zeW1ib2xvZ3lEYXRhLHMsYixuLG8pO2lmKGgoRCkpe2xldCB1dD1uZXcgQmxvYihbRF0se3R5cGU6ImFwcGxpY2F0aW9uL2JpbmFyeSJ9KTtJPVVSTC5jcmVhdGVPYmplY3RVUkwodXQpfWxldCB2PW4uc3ViYXJyYXkoMCx3KjMpLEw9bmV3IEJsb2IoW3ZdLHt0eXBlOiJhcHBsaWNhdGlvbi9iaW5hcnkifSksVT1VUkwuY3JlYXRlT2JqZWN0VVJMKEwpLEE9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFM9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLFA9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLEI9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGo9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLEg9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2ZvcihsZXQgdXQ9MDt1dDx2Lmxlbmd0aC8zO3V0KyspQT1NYXRoLm1pbihBLHZbdXQqMyswXSksUz1NYXRoLm1heChTLHZbdXQqMyswXSksUD1NYXRoLm1pbihQLHZbdXQqMysxXSksQj1NYXRoLm1heChCLHZbdXQqMysxXSksaj1NYXRoLm1pbihqLHZbdXQqMysyXSksSD1NYXRoLm1heChILHZbdXQqMysyXSk7bGV0IGs9bz9vLnN1YmFycmF5KDAsdyozKTp2b2lkIDAsSztpZihoKGspKXtsZXQgdXQ9bmV3IEJsb2IoW2tdLHt0eXBlOiJhcHBsaWNhdGlvbi9iaW5hcnkifSk7Sz1VUkwuY3JlYXRlT2JqZWN0VVJMKHV0KX1sZXQgWD1yP3Iuc3ViYXJyYXkoMCx3KjIpOnZvaWQgMCxSO2lmKGgoWCkpe2xldCB1dD1uZXcgQmxvYihbWF0se3R5cGU6ImFwcGxpY2F0aW9uL2JpbmFyeSJ9KTtSPVVSTC5jcmVhdGVPYmplY3RVUkwodXQpfWxldCBvdD1oKGkpP3M4KGkuc3ViYXJyYXkoMCx3KjQpKTp2b2lkIDAsYXQ7aWYoaChvdCkpe2xldCB1dD1uZXcgQmxvYihbb3RdLHt0eXBlOiJhcHBsaWNhdGlvbi9iaW5hcnkifSk7YXQ9VVJMLmNyZWF0ZU9iamVjdFVSTCh1dCl9bGV0IHB0PWgoQyk/Qy5zdWJhcnJheSgwLHcpOnZvaWQgMCx5dDtpZihoKHB0KSl7bGV0IHV0PW5ldyBCbG9iKFtwdF0se3R5cGU6ImFwcGxpY2F0aW9uL2JpbmFyeSJ9KTt5dD1VUkwuY3JlYXRlT2JqZWN0VVJMKHV0KX1sZXQgcnQ9aChDKT9uZXcgRmxvYXQzMkFycmF5KE4pOnZvaWQgMCxQdDtpZihoKHJ0KSl7Zm9yKGxldCB2dD0wO3Z0PHJ0Lmxlbmd0aDsrK3Z0KXJ0W3Z0XT12dDtsZXQgdXQ9bmV3IEJsb2IoW3J0XSx7dHlwZToiYXBwbGljYXRpb24vYmluYXJ5In0pO1B0PVVSTC5jcmVhdGVPYmplY3RVUkwodXQpfWxldCBndD17fSxDdD17fTtndC5QT1NJVElPTj1sLmxlbmd0aCx1LnB1c2goe3VyaTpVLGJ5dGVMZW5ndGg6di5ieXRlTGVuZ3RofSksYy5wdXNoKHtidWZmZXI6dS5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsYnl0ZUxlbmd0aDp2LmJ5dGVMZW5ndGgsdGFyZ2V0OjM0OTYyfSksbC5wdXNoKHtidWZmZXJWaWV3OmMubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGNvbXBvbmVudFR5cGU6NTEyNixjb3VudDp2Lmxlbmd0aC8zLHR5cGU6IlZFQzMiLG1heDpbQSxQLGpdLG1pbjpbUyxCLEhdfSksaChLKSYmKGd0Lk5PUk1BTD1sLmxlbmd0aCx1LnB1c2goe3VyaTpLLGJ5dGVMZW5ndGg6ay5ieXRlTGVuZ3RofSksYy5wdXNoKHtidWZmZXI6dS5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsYnl0ZUxlbmd0aDprLmJ5dGVMZW5ndGgsdGFyZ2V0OjM0OTYyfSksbC5wdXNoKHtidWZmZXJWaWV3OmMubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGNvbXBvbmVudFR5cGU6NTEyNixjb3VudDprLmxlbmd0aC8zLHR5cGU6IlZFQzMifSkpLGgoUikmJihndC5URVhDT09SRF8wPWwubGVuZ3RoLHUucHVzaCh7dXJpOlIsYnl0ZUxlbmd0aDpYLmJ5dGVMZW5ndGh9KSxjLnB1c2goe2J1ZmZlcjp1Lmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxieXRlTGVuZ3RoOlguYnl0ZUxlbmd0aCx0YXJnZXQ6MzQ5NjJ9KSxsLnB1c2goe2J1ZmZlclZpZXc6Yy5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsY29tcG9uZW50VHlwZTo1MTI2LGNvdW50OlgubGVuZ3RoLzIsdHlwZToiVkVDMiJ9KSksaChhdCkmJihndC5DT0xPUl8wPWwubGVuZ3RoLHUucHVzaCh7dXJpOmF0LGJ5dGVMZW5ndGg6b3QuYnl0ZUxlbmd0aH0pLGMucHVzaCh7YnVmZmVyOnUubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGJ5dGVMZW5ndGg6b3QuYnl0ZUxlbmd0aCx0YXJnZXQ6MzQ5NjJ9KSxsLnB1c2goe2J1ZmZlclZpZXc6Yy5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsY29tcG9uZW50VHlwZTo1MTI2LGNvdW50Om90Lmxlbmd0aC80LHR5cGU6IlZFQzQifSkpLGgoeXQpJiYoZ3QuX0ZFQVRVUkVfSURfMD1sLmxlbmd0aCx1LnB1c2goe3VyaTp5dCxieXRlTGVuZ3RoOnB0LmJ5dGVMZW5ndGh9KSxjLnB1c2goe2J1ZmZlcjp1Lmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxieXRlTGVuZ3RoOnB0LmJ5dGVMZW5ndGgsdGFyZ2V0OjM0OTYzfSksbC5wdXNoKHtidWZmZXJWaWV3OmMubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGNvbXBvbmVudFR5cGU6NTEyNixjb3VudDpwdC5sZW5ndGgsdHlwZToiU0NBTEFSIn0pLEN0LkVYVF9tZXNoX2ZlYXR1cmVzPXtmZWF0dXJlSWRzOlt7YXR0cmlidXRlOjAscHJvcGVydHlUYWJsZTowLGZlYXR1cmVDb3VudDpOfV19LGcucHVzaCgiRVhUX21lc2hfZmVhdHVyZXMiKSksaChQdCkmJih1LnB1c2goe3VyaTpQdCxieXRlTGVuZ3RoOnJ0LmJ5dGVMZW5ndGh9KSxjLnB1c2goe2J1ZmZlcjp1Lmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxieXRlTGVuZ3RoOnJ0LmJ5dGVMZW5ndGgsdGFyZ2V0OjM0OTYzfSksXy5FWFRfc3RydWN0dXJhbF9tZXRhZGF0YT17c2NoZW1hOntpZDoiaTNzLW1ldGFkYXRhLXNjaGVtYS0wMDEiLG5hbWU6IkkzUyBtZXRhZGF0YSBzY2hlbWEgMDAxIixkZXNjcmlwdGlvbjoiVGhlIHNjaGVtYSBmb3IgSTNTIG1ldGFkYXRhIix2ZXJzaW9uOiIxLjAiLGNsYXNzZXM6e2ZlYXR1cmU6e25hbWU6ImZlYXR1cmUiLGRlc2NyaXB0aW9uOiJGZWF0dXJlIG1ldGFkYXRhIixwcm9wZXJ0aWVzOntpbmRleDp7ZGVzY3JpcHRpb246IlRoZSBmZWF0dXJlIGluZGV4Iix0eXBlOiJTQ0FMQVIiLGNvbXBvbmVudFR5cGU6IkZMT0FUMzIiLHJlcXVpcmVkOiEwfX19fX0scHJvcGVydHlUYWJsZXM6W3tuYW1lOiJmZWF0dXJlLWluZGljZXMtbWFwcGluZyIsY2xhc3M6ImZlYXR1cmUiLGNvdW50Ok4scHJvcGVydGllczp7aW5kZXg6e3ZhbHVlczpjLmxlbmd0aC0xfX19XX0sZy5wdXNoKCJFWFRfc3RydWN0dXJhbF9tZXRhZGF0YSIpKSxoKEkpJiYodS5wdXNoKHt1cmk6SSxieXRlTGVuZ3RoOkQuYnl0ZUxlbmd0aH0pLGMucHVzaCh7YnVmZmVyOnUubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGJ5dGVMZW5ndGg6RC5ieXRlTGVuZ3RoLHRhcmdldDozNDk2M30pLGwucHVzaCh7YnVmZmVyVmlldzpjLmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxjb21wb25lbnRUeXBlOjUxMjUsY291bnQ6RC5sZW5ndGgsdHlwZToiU0NBTEFSIn0pLEN0LkNFU0lVTV9wcmltaXRpdmVfb3V0bGluZT17aW5kaWNlczpsLmxlbmd0aC0xfSxnLnB1c2goIkNFU0lVTV9wcmltaXRpdmVfb3V0bGluZSIpKSx1LnB1c2goe3VyaTpFLGJ5dGVMZW5ndGg6Yi5ieXRlTGVuZ3RofSksYy5wdXNoKHtidWZmZXI6dS5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsYnl0ZUxlbmd0aDpiLmJ5dGVMZW5ndGgsdGFyZ2V0OjM0OTYzfSk7bGV0IG10PVtdO3JldHVybiBUPjAmJihsLnB1c2goe2J1ZmZlclZpZXc6Yy5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsY29tcG9uZW50VHlwZTo1MTI1LGNvdW50OlQsdHlwZToiU0NBTEFSIn0pLG10LnB1c2goe2F0dHJpYnV0ZXM6Z3QsaW5kaWNlczpsLmxlbmd0aC0xLG1hdGVyaWFsOm10Lmxlbmd0aCxleHRlbnNpb25zOkN0fSkpLFQ8dCYmKGwucHVzaCh7YnVmZmVyVmlldzpjLmxlbmd0aC0xLGJ5dGVPZmZzZXQ6NCpULGNvbXBvbmVudFR5cGU6NTEyNSxjb3VudDp0LVQsdHlwZToiU0NBTEFSIn0pLG10LnB1c2goe2F0dHJpYnV0ZXM6Z3QsaW5kaWNlczpsLmxlbmd0aC0xLG1hdGVyaWFsOm10Lmxlbmd0aCxleHRlbnNpb25zOkN0LGV4dHJhOntpc1RyYW5zcGFyZW50OiEwfX0pKSxwLnB1c2goe3ByaW1pdGl2ZXM6bXR9KSxtLnB1c2goMCksZC5wdXNoKHttZXNoOjB9KSx7YnVmZmVyczp1LGJ1ZmZlclZpZXdzOmMsYWNjZXNzb3JzOmwsbWVzaGVzOnAsbm9kZXM6ZCxub2Rlc0luU2NlbmU6bSxyb290RXh0ZW5zaW9uczpfLGV4dGVuc2lvbnNVc2VkOmd9fWZ1bmN0aW9uIGY4KHQsZSxuLG8pe2xldCByPW5ldyBVaW50OEFycmF5KHQsMCw1KTtyZXR1cm4gclswXT09PTY4JiZyWzFdPT09ODImJnJbMl09PT02NSYmclszXT09PTY3JiZyWzRdPT09Nzk/dTgodCxuKTpwOCh0LGUsbixvKX1mdW5jdGlvbiB1OCh0KXtsZXQgZT1XZyxuPW5ldyBlLkRlY29kZXJCdWZmZXIsbz1uZXcgVWludDhBcnJheSh0KTtuLkluaXQobyxvLmxlbmd0aCk7bGV0IHI9bmV3IGUuRGVjb2RlcixpPXIuR2V0RW5jb2RlZEdlb21ldHJ5VHlwZShuKSxzPW5ldyBlLk1ldGFkYXRhUXVlcmllcixmLHU7aT09PWUuVFJJQU5HVUxBUl9NRVNIJiYoZj1uZXcgZS5NZXNoLHU9ci5EZWNvZGVCdWZmZXJUb01lc2gobixmKSk7bGV0IGM9e3ZlcnRleENvdW50OlswXSxmZWF0dXJlQ291bnQ6MH07aWYoaCh1KSYmdS5vaygpJiZmLnB0ciE9PTApe2xldCBsPWYubnVtX2ZhY2VzKCkscD1mLm51bV9hdHRyaWJ1dGVzKCksZD1mLm51bV9wb2ludHMoKTtjLmluZGljZXM9bmV3IFVpbnQzMkFycmF5KGwqMyk7bGV0IG09Yy5pbmRpY2VzO2MudmVydGV4Q291bnRbMF09ZCxjLnNjYWxlX3g9MSxjLnNjYWxlX3k9MTtsZXQgXz1uZXcgZS5EcmFjb0ludDMyQXJyYXkoMyk7Zm9yKGxldCBnPTA7ZzxsOysrZylyLkdldEZhY2VGcm9tTWVzaChmLGcsXyksbVtnKjNdPV8uR2V0VmFsdWUoMCksbVtnKjMrMV09Xy5HZXRWYWx1ZSgxKSxtW2cqMysyXT1fLkdldFZhbHVlKDIpO2UuZGVzdHJveShfKTtmb3IobGV0IGc9MDtnPHA7KytnKXtsZXQgYj1yLkdldEF0dHJpYnV0ZShmLGcpLFQ9bDgoZSxyLGYsYixkKSxPPWIuYXR0cmlidXRlX3R5cGUoKSxFPSJ1bmtub3duIjtPPT09ZS5QT1NJVElPTj9FPSJwb3NpdGlvbnMiOk89PT1lLk5PUk1BTD9FPSJub3JtYWxzIjpPPT09ZS5DT0xPUj9FPSJjb2xvcnMiOk89PT1lLlRFWF9DT09SRCYmKEU9InV2MHMiKTtsZXQgdz1yLkdldEF0dHJpYnV0ZU1ldGFkYXRhKGYsZyk7aWYody5wdHIhPT0wKXtsZXQgQz1zLk51bUVudHJpZXModyk7Zm9yKGxldCBOPTA7TjxDOysrTil7bGV0IEk9cy5HZXRFbnRyeU5hbWUodyxOKTtJPT09Imkzcy1zY2FsZV94Ij9jLnNjYWxlX3g9cy5HZXREb3VibGVFbnRyeSh3LCJpM3Mtc2NhbGVfeCIpOkk9PT0iaTNzLXNjYWxlX3kiP2Muc2NhbGVfeT1zLkdldERvdWJsZUVudHJ5KHcsImkzcy1zY2FsZV95Iik6ST09PSJpM3MtYXR0cmlidXRlLXR5cGUiJiYoRT1zLkdldFN0cmluZ0VudHJ5KHcsImkzcy1hdHRyaWJ1dGUtdHlwZSIpKX19aChjW0VdKSYmY29uc29sZS5sb2coIkF0dHJpYnV0ZSBhbHJlYWR5IGV4aXN0cyIsRSksY1tFXT1ULEU9PT0iZmVhdHVyZS1pbmRleCImJmMuZmVhdHVyZUNvdW50Kyt9ZS5kZXN0cm95KGYpfXJldHVybiBlLmRlc3Ryb3kocyksZS5kZXN0cm95KHIpLGN9ZnVuY3Rpb24gbDgodCxlLG4sbyxyKXtsZXQgaT1vLm51bV9jb21wb25lbnRzKCkqcixzLHU9W2Z1bmN0aW9uKCl7fSxmdW5jdGlvbigpe3M9bmV3IHQuRHJhY29JbnQ4QXJyYXkoaSksZS5HZXRBdHRyaWJ1dGVJbnQ4Rm9yQWxsUG9pbnRzKG4sbyxzKXx8Y29uc29sZS5lcnJvcigiQmFkIHN0cmVhbSIpO2xldCBsPW5ldyBJbnQ4QXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb0ludDhBcnJheShpKSxlLkdldEF0dHJpYnV0ZVVJbnQ4Rm9yQWxsUG9pbnRzKG4sbyxzKXx8Y29uc29sZS5lcnJvcigiQmFkIHN0cmVhbSIpO2xldCBsPW5ldyBVaW50OEFycmF5KGkpO2ZvcihsZXQgcD0wO3A8aTsrK3ApbFtwXT1zLkdldFZhbHVlKHApO3JldHVybiBsfSxmdW5jdGlvbigpe3M9bmV3IHQuRHJhY29JbnQxNkFycmF5KGkpLGUuR2V0QXR0cmlidXRlSW50MTZGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IEludDE2QXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb0ludDE2QXJyYXkoaSksZS5HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IFVpbnQxNkFycmF5KGkpO2ZvcihsZXQgcD0wO3A8aTsrK3ApbFtwXT1zLkdldFZhbHVlKHApO3JldHVybiBsfSxmdW5jdGlvbigpe3M9bmV3IHQuRHJhY29JbnQzMkFycmF5KGkpLGUuR2V0QXR0cmlidXRlSW50MzJGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IEludDMyQXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb0ludDMyQXJyYXkoaSksZS5HZXRBdHRyaWJ1dGVVSW50MzJGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IFVpbnQzMkFycmF5KGkpO2ZvcihsZXQgcD0wO3A8aTsrK3ApbFtwXT1zLkdldFZhbHVlKHApO3JldHVybiBsfSxmdW5jdGlvbigpe30sZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb0Zsb2F0MzJBcnJheShpKSxlLkdldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzKG4sbyxzKXx8Y29uc29sZS5lcnJvcigiQmFkIHN0cmVhbSIpO2xldCBsPW5ldyBGbG9hdDMyQXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9LGZ1bmN0aW9uKCl7fSxmdW5jdGlvbigpe3M9bmV3IHQuRHJhY29VSW50OEFycmF5KGkpLGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IFVpbnQ4QXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9XVtvLmRhdGFfdHlwZSgpXSgpO3JldHVybiBoKHMpJiZ0LmRlc3Ryb3kocyksdX1mdW5jdGlvbiBwOCh0LGUsbixvKXtsZXQgcj17dmVydGV4Q291bnQ6MH0saT1uZXcgRGF0YVZpZXcodCk7dHJ5e2xldCBzPTA7aWYoci52ZXJ0ZXhDb3VudD1pLmdldFVpbnQzMihzLDEpLHMrPTQsci5mZWF0dXJlQ291bnQ9aS5nZXRVaW50MzIocywxKSxzKz00LGgobikpZm9yKGxldCBmPTA7ZjxuLmF0dHJpYnV0ZXMubGVuZ3RoO2YrKyloKF9tW24uYXR0cmlidXRlc1tmXV0pP3M9X21bbi5hdHRyaWJ1dGVzW2ZdXShyLHQscyk6Y29uc29sZS5lcnJvcigiVW5rbm93biBkZWNvZGVyIGZvciIsbi5hdHRyaWJ1dGVzW2ZdKTtlbHNle2xldCBmPWUub3JkZXJpbmcsdT1lLmZlYXR1cmVBdHRyaWJ1dGVPcmRlcjtoKG8pJiZoKG8uZ2VvbWV0cnlEYXRhKSYmaChvLmdlb21ldHJ5RGF0YVswXSkmJmgoby5nZW9tZXRyeURhdGFbMF0ucGFyYW1zKSYmKGY9T2JqZWN0LmtleXMoby5nZW9tZXRyeURhdGFbMF0ucGFyYW1zLnZlcnRleEF0dHJpYnV0ZXMpLHU9T2JqZWN0LmtleXMoby5nZW9tZXRyeURhdGFbMF0ucGFyYW1zLmZlYXR1cmVBdHRyaWJ1dGVzKSk7Zm9yKGxldCBjPTA7YzxmLmxlbmd0aDtjKyspe2xldCBsPV9tW2ZbY11dO3M9bChyLHQscyl9Zm9yKGxldCBjPTA7Yzx1Lmxlbmd0aDtjKyspe2xldCBsPV9tW3VbY11dO3M9bChyLHQscyl9fX1jYXRjaChzKXtjb25zb2xlLmVycm9yKHMpfXJldHVybiByLnNjYWxlX3g9MSxyLnNjYWxlX3k9MSxyfWZ1bmN0aW9uIGQ4KHQpe2xldCBlPWY4KHQuYmluYXJ5RGF0YSx0LnNjaGVtYSx0LmJ1ZmZlckluZm8sdC5mZWF0dXJlRGF0YSk7aCh0Lmdlb2lkRGF0YUxpc3QpJiZ0Lmdlb2lkRGF0YUxpc3QubGVuZ3RoPjAmJlc2KGUudmVydGV4Q291bnQsZS5wb3NpdGlvbnMsZS5zY2FsZV94LGUuc2NhbGVfeSx0LmNhcnRvZ3JhcGhpY0NlbnRlcix0Lmdlb2lkRGF0YUxpc3QsITEpLFg2KGUudmVydGV4Q291bnQsZS5wb3NpdGlvbnMsZS5ub3JtYWxzLHQuY2FydG9ncmFwaGljQ2VudGVyLHQuY2FydGVzaWFuQ2VudGVyLHQucGFyZW50Um90YXRpb24sdC5lbGxpcHNvaWRSYWRpaVNxdWFyZSxlLnNjYWxlX3gsZS5zY2FsZV95KSxoKGUudXYwcykmJmgoZVsidXYtcmVnaW9uIl0pJiZZNihlLnZlcnRleENvdW50LGUudXYwcyxlWyJ1di1yZWdpb24iXSk7bGV0IG47aWYoaChlWyJmZWF0dXJlLWluZGV4Il0pKW49ZVsiZmVhdHVyZS1pbmRleCJdO2Vsc2UgaWYoaChlLmZhY2VSYW5nZSkpe249bmV3IEFycmF5KGUudmVydGV4Q291bnQpO2ZvcihsZXQgcz0wO3M8ZS5mYWNlUmFuZ2UubGVuZ3RoLTE7cys9Mil7bGV0IGY9cy8yLHU9ZS5mYWNlUmFuZ2Vbc10sYz1lLmZhY2VSYW5nZVtzKzFdO2ZvcihsZXQgbD11O2w8PWM7bCsrKW5bbCozXT1mLG5bbCozKzFdPWYsbltsKjMrMl09Zn19aWYodC5jYWxjdWxhdGVOb3JtYWxzKXtsZXQgcz1jOChlLnZlcnRleENvdW50LGUuaW5kaWNlcyxlLnBvc2l0aW9ucyxlLm5vcm1hbHMsZS51djBzLGUuY29sb3JzLG4pO2gocy5ub3JtYWxzKSYmKGUubm9ybWFscz1zLm5vcm1hbHMsaChzLnZlcnRleENvdW50KSYmKGUudmVydGV4Q291bnQ9cy52ZXJ0ZXhDb3VudCxlLmluZGljZXM9cy5pbmRpY2VzLGUucG9zaXRpb25zPXMucG9zaXRpb25zLGUudXYwcz1zLnV2MHMsZS5jb2xvcnM9cy5jb2xvcnMsbj1zLmZlYXR1cmVJbmRleCkpfWxldCBvPWE4KGUudmVydGV4Q291bnQsZS5pbmRpY2VzLGUucG9zaXRpb25zLGUubm9ybWFscyxlLnV2MHMsZS5jb2xvcnMsbix0KSxyPXtwb3NpdGlvbnM6ZS5wb3NpdGlvbnMsaW5kaWNlczplLmluZGljZXMsZmVhdHVyZUluZGV4Om4sc291cmNlVVJMOnQudXJsLGNhcnRlc2lhbkNlbnRlcjp0LmNhcnRlc2lhbkNlbnRlcixwYXJlbnRSb3RhdGlvbjp0LnBhcmVudFJvdGF0aW9ufTtyZXR1cm4gby5fY3VzdG9tQXR0cmlidXRlcz1yLHttZXNoRGF0YTpvfX1hc3luYyBmdW5jdGlvbiBtOCh0LGUpe2xldCBuPXQud2ViQXNzZW1ibHlDb25maWc7cmV0dXJuIGgobikmJmgobi53YXNtQmluYXJ5RmlsZSk/V2c9YXdhaXQoMCxLZy5kZWZhdWx0KShuKTpXZz1hd2FpdCgwLEtnLmRlZmF1bHQpKCksITB9ZnVuY3Rpb24gaDgodCxlKXtsZXQgbj10LndlYkFzc2VtYmx5Q29uZmlnO3JldHVybiBoKG4pP204KHQsZSk6ZDgodCxlKX12YXIgS2csV2csQWksZG0sbW0saG0scWcsX20sXzgsWWc9WigoKT0+e3NvKCk7SXQoKTtmdCgpO2ljKCk7WnQoKTtJZSgpO0Z0KCk7TWEoKTtCbigpO1d0KCk7S2c9ZHIoRWcoKSwxKTtNUygpO0FpPW5ldyBhLGRtPW5ldyBhLG1tPW5ldyBhO2htPW5ldyBhLHFnPW5ldyBhO19tPXtwb3NpdGlvbjpmdW5jdGlvbih0LGUsbil7bGV0IG89dC52ZXJ0ZXhDb3VudCozO3JldHVybiB0LnBvc2l0aW9ucz1uZXcgRmxvYXQzMkFycmF5KGUsbixvKSxuKz1vKjQsbn0sbm9ybWFsOmZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LnZlcnRleENvdW50KjM7cmV0dXJuIHQubm9ybWFscz1uZXcgRmxvYXQzMkFycmF5KGUsbixvKSxuKz1vKjQsbn0sdXYwOmZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LnZlcnRleENvdW50KjI7cmV0dXJuIHQudXYwcz1uZXcgRmxvYXQzMkFycmF5KGUsbixvKSxuKz1vKjQsbn0sY29sb3I6ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQudmVydGV4Q291bnQqNDtyZXR1cm4gdC5jb2xvcnM9bmV3IFVpbnQ4QXJyYXkoZSxuLG8pLG4rPW8sbn0sZmVhdHVyZUlkOmZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LmZlYXR1cmVDb3VudDtyZXR1cm4gbis9byo4LG59LGlkOmZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LmZlYXR1cmVDb3VudDtyZXR1cm4gbis9byo4LG59LGZhY2VSYW5nZTpmdW5jdGlvbih0LGUsbil7bGV0IG89dC5mZWF0dXJlQ291bnQqMjtyZXR1cm4gdC5mYWNlUmFuZ2U9bmV3IFVpbnQzMkFycmF5KGUsbixvKSxuKz1vKjQsbn0sdXZSZWdpb246ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQudmVydGV4Q291bnQqNDtyZXR1cm4gdFsidXYtcmVnaW9uIl09bmV3IFVpbnQxNkFycmF5KGUsbixvKSxuKz1vKjIsbn0scmVnaW9uOmZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LnZlcnRleENvdW50KjQ7cmV0dXJuIHRbInV2LXJlZ2lvbiJdPW5ldyBVaW50MTZBcnJheShlLG4sbyksbis9byoyLG59fTtfOD1RZShoOCl9KTt2YXIgU2UsbnIsJGc9WigoKT0+eyRzKCk7U2U9e1VOU0lHTkVEX0JZVEU6cXQuVU5TSUdORURfQllURSxVTlNJR05FRF9TSE9SVDpxdC5VTlNJR05FRF9TSE9SVCxVTlNJR05FRF9JTlQ6cXQuVU5TSUdORURfSU5ULEZMT0FUOnF0LkZMT0FULEhBTEZfRkxPQVQ6cXQuSEFMRl9GTE9BVF9PRVMsVU5TSUdORURfSU5UXzI0Xzg6cXQuVU5TSUdORURfSU5UXzI0XzgsVU5TSUdORURfU0hPUlRfNF80XzRfNDpxdC5VTlNJR05FRF9TSE9SVF80XzRfNF80LFVOU0lHTkVEX1NIT1JUXzVfNV81XzE6cXQuVU5TSUdORURfU0hPUlRfNV81XzVfMSxVTlNJR05FRF9TSE9SVF81XzZfNTpxdC5VTlNJR05FRF9TSE9SVF81XzZfNX07U2UudG9XZWJHTENvbnN0YW50PWZ1bmN0aW9uKHQsZSl7c3dpdGNoKHQpe2Nhc2UgU2UuVU5TSUdORURfQllURTpyZXR1cm4gcXQuVU5TSUdORURfQllURTtjYXNlIFNlLlVOU0lHTkVEX1NIT1JUOnJldHVybiBxdC5VTlNJR05FRF9TSE9SVDtjYXNlIFNlLlVOU0lHTkVEX0lOVDpyZXR1cm4gcXQuVU5TSUdORURfSU5UO2Nhc2UgU2UuRkxPQVQ6cmV0dXJuIHF0LkZMT0FUO2Nhc2UgU2UuSEFMRl9GTE9BVDpyZXR1cm4gZS53ZWJnbDI/cXQuSEFMRl9GTE9BVDpxdC5IQUxGX0ZMT0FUX09FUztjYXNlIFNlLlVOU0lHTkVEX0lOVF8yNF84OnJldHVybiBxdC5VTlNJR05FRF9JTlRfMjRfODtjYXNlIFNlLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQ6cmV0dXJuIHF0LlVOU0lHTkVEX1NIT1JUXzRfNF80XzQ7Y2FzZSBTZS5VTlNJR05FRF9TSE9SVF81XzVfNV8xOnJldHVybiBxdC5VTlNJR05FRF9TSE9SVF81XzVfNV8xO2Nhc2UgU2UuVU5TSUdORURfU0hPUlRfNV82XzU6cmV0dXJuIFNlLlVOU0lHTkVEX1NIT1JUXzVfNl81fX07U2UuaXNQYWNrZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1TZS5VTlNJR05FRF9JTlRfMjRfOHx8dD09PVNlLlVOU0lHTkVEX1NIT1JUXzRfNF80XzR8fHQ9PT1TZS5VTlNJR05FRF9TSE9SVF81XzVfNV8xfHx0PT09U2UuVU5TSUdORURfU0hPUlRfNV82XzV9O1NlLnNpemVJbkJ5dGVzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIFNlLlVOU0lHTkVEX0JZVEU6cmV0dXJuIDE7Y2FzZSBTZS5VTlNJR05FRF9TSE9SVDpjYXNlIFNlLlVOU0lHTkVEX1NIT1JUXzRfNF80XzQ6Y2FzZSBTZS5VTlNJR05FRF9TSE9SVF81XzVfNV8xOmNhc2UgU2UuVU5TSUdORURfU0hPUlRfNV82XzU6Y2FzZSBTZS5IQUxGX0ZMT0FUOnJldHVybiAyO2Nhc2UgU2UuVU5TSUdORURfSU5UOmNhc2UgU2UuRkxPQVQ6Y2FzZSBTZS5VTlNJR05FRF9JTlRfMjRfODpyZXR1cm4gNH19O1NlLnZhbGlkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09U2UuVU5TSUdORURfQllURXx8dD09PVNlLlVOU0lHTkVEX1NIT1JUfHx0PT09U2UuVU5TSUdORURfSU5UfHx0PT09U2UuRkxPQVR8fHQ9PT1TZS5IQUxGX0ZMT0FUfHx0PT09U2UuVU5TSUdORURfSU5UXzI0Xzh8fHQ9PT1TZS5VTlNJR05FRF9TSE9SVF80XzRfNF80fHx0PT09U2UuVU5TSUdORURfU0hPUlRfNV81XzVfMXx8dD09PVNlLlVOU0lHTkVEX1NIT1JUXzVfNl81fTtTZS5nZXRUeXBlZEFycmF5Q29uc3RydWN0b3I9ZnVuY3Rpb24odCl7bGV0IGU9U2Uuc2l6ZUluQnl0ZXModCk7cmV0dXJuIGU9PT1VaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UP1VpbnQ4QXJyYXk6ZT09PVVpbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UP1VpbnQxNkFycmF5OmU9PT1GbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQmJnQ9PT1TZS5GTE9BVD9GbG9hdDMyQXJyYXk6VWludDMyQXJyYXl9O25yPU9iamVjdC5mcmVlemUoU2UpfSk7dmFyIFJ0LFZuLHZTPVooKCk9PnskZygpOyRzKCk7UnQ9e0RFUFRIX0NPTVBPTkVOVDpxdC5ERVBUSF9DT01QT05FTlQsREVQVEhfU1RFTkNJTDpxdC5ERVBUSF9TVEVOQ0lMLEFMUEhBOnF0LkFMUEhBLFJFRDpxdC5SRUQsUjpxdC5SRUQsUkc6cXQuUkcsUkdCOnF0LlJHQixSR0JBOnF0LlJHQkEsTFVNSU5BTkNFOnF0LkxVTUlOQU5DRSxMVU1JTkFOQ0VfQUxQSEE6cXQuTFVNSU5BTkNFX0FMUEhBLFJHQl9EWFQxOnF0LkNPTVBSRVNTRURfUkdCX1MzVENfRFhUMV9FWFQsUkdCQV9EWFQxOnF0LkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDFfRVhULFJHQkFfRFhUMzpxdC5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0VYVCxSR0JBX0RYVDU6cXQuQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUNV9FWFQsUkdCX1BWUlRDXzRCUFBWMTpxdC5DT01QUkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HLFJHQl9QVlJUQ18yQlBQVjE6cXQuQ09NUFJFU1NFRF9SR0JfUFZSVENfMkJQUFYxX0lNRyxSR0JBX1BWUlRDXzRCUFBWMTpxdC5DT01QUkVTU0VEX1JHQkFfUFZSVENfNEJQUFYxX0lNRyxSR0JBX1BWUlRDXzJCUFBWMTpxdC5DT01QUkVTU0VEX1JHQkFfUFZSVENfMkJQUFYxX0lNRyxSR0JBX0FTVEM6cXQuQ09NUFJFU1NFRF9SR0JBX0FTVENfNHg0X1dFQkdMLFJHQl9FVEMxOnF0LkNPTVBSRVNTRURfUkdCX0VUQzFfV0VCR0wsUkdCOF9FVEMyOnF0LkNPTVBSRVNTRURfUkdCOF9FVEMyLFJHQkE4X0VUQzJfRUFDOnF0LkNPTVBSRVNTRURfUkdCQThfRVRDMl9FQUMsUkdCQV9CQzc6cXQuQ09NUFJFU1NFRF9SR0JBX0JQVENfVU5PUk19O1J0LmNvbXBvbmVudHNMZW5ndGg9ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2UgUnQuUkdCOnJldHVybiAzO2Nhc2UgUnQuUkdCQTpyZXR1cm4gNDtjYXNlIFJ0LkxVTUlOQU5DRV9BTFBIQTpjYXNlIFJ0LlJHOnJldHVybiAyO2Nhc2UgUnQuQUxQSEE6Y2FzZSBSdC5SRUQ6Y2FzZSBSdC5MVU1JTkFOQ0U6cmV0dXJuIDE7Y2FzZSBSdC5SOnJldHVybiA0O2RlZmF1bHQ6cmV0dXJuIDF9fTtSdC52YWxpZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVJ0LkRFUFRIX0NPTVBPTkVOVHx8dD09PVJ0LkRFUFRIX1NURU5DSUx8fHQ9PT1SdC5BTFBIQXx8dD09PVJ0LlJFRHx8dD09PVJ0LlJHfHx0PT09UnQuUkdCfHx0PT09UnQuUkdCQXx8dD09PVJ0LkxVTUlOQU5DRXx8dD09PVJ0LkxVTUlOQU5DRV9BTFBIQXx8dD09PVJ0LlJHQl9EWFQxfHx0PT09UnQuUkdCQV9EWFQxfHx0PT09UnQuUkdCQV9EWFQzfHx0PT09UnQuUkdCQV9EWFQ1fHx0PT09UnQuUkdCX1BWUlRDXzRCUFBWMXx8dD09PVJ0LlJHQl9QVlJUQ18yQlBQVjF8fHQ9PT1SdC5SR0JBX1BWUlRDXzRCUFBWMXx8dD09PVJ0LlJHQkFfUFZSVENfMkJQUFYxfHx0PT09UnQuUkdCQV9BU1RDfHx0PT09UnQuUkdCX0VUQzF8fHQ9PT1SdC5SR0I4X0VUQzJ8fHQ9PT1SdC5SR0JBOF9FVEMyX0VBQ3x8dD09PVJ0LlJHQkFfQkM3fHx0PT09UnQuUn07UnQuaXNDb2xvckZvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVJ0LlJFRHx8dD09PVJ0LkFMUEhBfHx0PT09UnQuUkdCfHx0PT09UnQuUkdCQXx8dD09PVJ0LkxVTUlOQU5DRXx8dD09PVJ0LkxVTUlOQU5DRV9BTFBIQXx8dD09PVJ0LlJ9O1J0LmlzRGVwdGhGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1SdC5ERVBUSF9DT01QT05FTlR8fHQ9PT1SdC5ERVBUSF9TVEVOQ0lMfTtSdC5pc0NvbXByZXNzZWRGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1SdC5SR0JfRFhUMXx8dD09PVJ0LlJHQkFfRFhUMXx8dD09PVJ0LlJHQkFfRFhUM3x8dD09PVJ0LlJHQkFfRFhUNXx8dD09PVJ0LlJHQl9QVlJUQ180QlBQVjF8fHQ9PT1SdC5SR0JfUFZSVENfMkJQUFYxfHx0PT09UnQuUkdCQV9QVlJUQ180QlBQVjF8fHQ9PT1SdC5SR0JBX1BWUlRDXzJCUFBWMXx8dD09PVJ0LlJHQkFfQVNUQ3x8dD09PVJ0LlJHQl9FVEMxfHx0PT09UnQuUkdCOF9FVEMyfHx0PT09UnQuUkdCQThfRVRDMl9FQUN8fHQ9PT1SdC5SR0JBX0JDN307UnQuaXNEWFRGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1SdC5SR0JfRFhUMXx8dD09PVJ0LlJHQkFfRFhUMXx8dD09PVJ0LlJHQkFfRFhUM3x8dD09PVJ0LlJHQkFfRFhUNX07UnQuaXNQVlJUQ0Zvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVJ0LlJHQl9QVlJUQ180QlBQVjF8fHQ9PT1SdC5SR0JfUFZSVENfMkJQUFYxfHx0PT09UnQuUkdCQV9QVlJUQ180QlBQVjF8fHQ9PT1SdC5SR0JBX1BWUlRDXzJCUFBWMX07UnQuaXNBU1RDRm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiB0PT09UnQuUkdCQV9BU1RDfTtSdC5pc0VUQzFGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1SdC5SR0JfRVRDMX07UnQuaXNFVEMyRm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiB0PT09UnQuUkdCOF9FVEMyfHx0PT09UnQuUkdCQThfRVRDMl9FQUN9O1J0LmlzQkM3Rm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiB0PT09UnQuUkdCQV9CQzd9O1J0LmNvbXByZXNzZWRUZXh0dXJlU2l6ZUluQnl0ZXM9ZnVuY3Rpb24odCxlLG4pe3N3aXRjaCh0KXtjYXNlIFJ0LlJHQl9EWFQxOmNhc2UgUnQuUkdCQV9EWFQxOmNhc2UgUnQuUkdCX0VUQzE6Y2FzZSBSdC5SR0I4X0VUQzI6cmV0dXJuIE1hdGguZmxvb3IoKGUrMykvNCkqTWF0aC5mbG9vcigobiszKS80KSo4O2Nhc2UgUnQuUkdCQV9EWFQzOmNhc2UgUnQuUkdCQV9EWFQ1OmNhc2UgUnQuUkdCQV9BU1RDOmNhc2UgUnQuUkdCQThfRVRDMl9FQUM6cmV0dXJuIE1hdGguZmxvb3IoKGUrMykvNCkqTWF0aC5mbG9vcigobiszKS80KSoxNjtjYXNlIFJ0LlJHQl9QVlJUQ180QlBQVjE6Y2FzZSBSdC5SR0JBX1BWUlRDXzRCUFBWMTpyZXR1cm4gTWF0aC5mbG9vcigoTWF0aC5tYXgoZSw4KSpNYXRoLm1heChuLDgpKjQrNykvOCk7Y2FzZSBSdC5SR0JfUFZSVENfMkJQUFYxOmNhc2UgUnQuUkdCQV9QVlJUQ18yQlBQVjE6cmV0dXJuIE1hdGguZmxvb3IoKE1hdGgubWF4KGUsMTYpKk1hdGgubWF4KG4sOCkqMis3KS84KTtjYXNlIFJ0LlJHQkFfQkM3OnJldHVybiBNYXRoLmNlaWwoZS80KSpNYXRoLmNlaWwobi80KSoxNjtkZWZhdWx0OnJldHVybiAwfX07UnQudGV4dHVyZVNpemVJbkJ5dGVzPWZ1bmN0aW9uKHQsZSxuLG8pe2xldCByPVJ0LmNvbXBvbmVudHNMZW5ndGgodCk7cmV0dXJuIG5yLmlzUGFja2VkKGUpJiYocj0xKSxyKm5yLnNpemVJbkJ5dGVzKGUpKm4qb307UnQuYWxpZ25tZW50SW5CeXRlcz1mdW5jdGlvbih0LGUsbil7bGV0IG89UnQudGV4dHVyZVNpemVJbkJ5dGVzKHQsZSxuLDEpJTQ7cmV0dXJuIG89PT0wPzQ6bz09PTI/MjoxfTtSdC5jcmVhdGVUeXBlZEFycmF5PWZ1bmN0aW9uKHQsZSxuLG8pe2xldCByPW5yLmdldFR5cGVkQXJyYXlDb25zdHJ1Y3RvcihlKSxpPVJ0LmNvbXBvbmVudHNMZW5ndGgodCkqbipvO3JldHVybiBuZXcgcihpKX07UnQuZmxpcFk9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZihyPT09MSlyZXR1cm4gdDtsZXQgaT1SdC5jcmVhdGVUeXBlZEFycmF5KGUsbixvLHIpLHM9UnQuY29tcG9uZW50c0xlbmd0aChlKSxmPW8qcztmb3IobGV0IHU9MDt1PHI7Kyt1KXtsZXQgYz11Km8qcyxsPShyLXUtMSkqbypzO2ZvcihsZXQgcD0wO3A8ZjsrK3ApaVtsK3BdPXRbYytwXX1yZXR1cm4gaX07UnQudG9JbnRlcm5hbEZvcm1hdD1mdW5jdGlvbih0LGUsbil7aWYoIW4ud2ViZ2wyKXJldHVybiB0O2lmKHQ9PT1SdC5ERVBUSF9TVEVOQ0lMKXJldHVybiBxdC5ERVBUSDI0X1NURU5DSUw4O2lmKHQ9PT1SdC5ERVBUSF9DT01QT05FTlQpe2lmKGU9PT1uci5VTlNJR05FRF9TSE9SVClyZXR1cm4gcXQuREVQVEhfQ09NUE9ORU5UMTY7aWYoZT09PW5yLlVOU0lHTkVEX0lOVClyZXR1cm4gcXQuREVQVEhfQ09NUE9ORU5UMjR9aWYoZT09PW5yLkZMT0FUKXN3aXRjaCh0KXtjYXNlIFJ0LlJHQkE6cmV0dXJuIHF0LlJHQkEzMkY7Y2FzZSBSdC5SR0I6cmV0dXJuIHF0LlJHQjMyRjtjYXNlIFJ0LlJHOnJldHVybiBxdC5SRzMyRjtjYXNlIFJ0LlJFRDpjYXNlIFJ0LlI6cmV0dXJuIHF0LlIzMkZ9aWYoZT09PW5yLkhBTEZfRkxPQVQpc3dpdGNoKHQpe2Nhc2UgUnQuUkdCQTpyZXR1cm4gcXQuUkdCQTE2RjtjYXNlIFJ0LlJHQjpyZXR1cm4gcXQuUkdCMTZGO2Nhc2UgUnQuUkc6cmV0dXJuIHF0LlJHMTZGO2Nhc2UgUnQuUkVEOmNhc2UgUnQuUjpyZXR1cm4gcXQuUjE2Rn1yZXR1cm4gdH07Vm49T2JqZWN0LmZyZWV6ZShSdCl9KTt2YXIgeTgseXUsTFM9WigoKT0+e3k4PXtWS19GT1JNQVRfVU5ERUZJTkVEOjAsVktfRk9STUFUX1I0RzRfVU5PUk1fUEFDSzg6MSxWS19GT1JNQVRfUjRHNEI0QTRfVU5PUk1fUEFDSzE2OjIsVktfRk9STUFUX0I0RzRSNEE0X1VOT1JNX1BBQ0sxNjozLFZLX0ZPUk1BVF9SNUc2QjVfVU5PUk1fUEFDSzE2OjQsVktfRk9STUFUX0I1RzZSNV9VTk9STV9QQUNLMTY6NSxWS19GT1JNQVRfUjVHNUI1QTFfVU5PUk1fUEFDSzE2OjYsVktfRk9STUFUX0I1RzVSNUExX1VOT1JNX1BBQ0sxNjo3LFZLX0ZPUk1BVF9BMVI1RzVCNV9VTk9STV9QQUNLMTY6OCxWS19GT1JNQVRfUjhfVU5PUk06OSxWS19GT1JNQVRfUjhfU05PUk06MTAsVktfRk9STUFUX1I4X1VTQ0FMRUQ6MTEsVktfRk9STUFUX1I4X1NTQ0FMRUQ6MTIsVktfRk9STUFUX1I4X1VJTlQ6MTMsVktfRk9STUFUX1I4X1NJTlQ6MTQsVktfRk9STUFUX1I4X1NSR0I6MTUsVktfRk9STUFUX1I4RzhfVU5PUk06MTYsVktfRk9STUFUX1I4RzhfU05PUk06MTcsVktfRk9STUFUX1I4RzhfVVNDQUxFRDoxOCxWS19GT1JNQVRfUjhHOF9TU0NBTEVEOjE5LFZLX0ZPUk1BVF9SOEc4X1VJTlQ6MjAsVktfRk9STUFUX1I4RzhfU0lOVDoyMSxWS19GT1JNQVRfUjhHOF9TUkdCOjIyLFZLX0ZPUk1BVF9SOEc4QjhfVU5PUk06MjMsVktfRk9STUFUX1I4RzhCOF9TTk9STToyNCxWS19GT1JNQVRfUjhHOEI4X1VTQ0FMRUQ6MjUsVktfRk9STUFUX1I4RzhCOF9TU0NBTEVEOjI2LFZLX0ZPUk1BVF9SOEc4QjhfVUlOVDoyNyxWS19GT1JNQVRfUjhHOEI4X1NJTlQ6MjgsVktfRk9STUFUX1I4RzhCOF9TUkdCOjI5LFZLX0ZPUk1BVF9COEc4UjhfVU5PUk06MzAsVktfRk9STUFUX0I4RzhSOF9TTk9STTozMSxWS19GT1JNQVRfQjhHOFI4X1VTQ0FMRUQ6MzIsVktfRk9STUFUX0I4RzhSOF9TU0NBTEVEOjMzLFZLX0ZPUk1BVF9COEc4UjhfVUlOVDozNCxWS19GT1JNQVRfQjhHOFI4X1NJTlQ6MzUsVktfRk9STUFUX0I4RzhSOF9TUkdCOjM2LFZLX0ZPUk1BVF9SOEc4QjhBOF9VTk9STTozNyxWS19GT1JNQVRfUjhHOEI4QThfU05PUk06MzgsVktfRk9STUFUX1I4RzhCOEE4X1VTQ0FMRUQ6MzksVktfRk9STUFUX1I4RzhCOEE4X1NTQ0FMRUQ6NDAsVktfRk9STUFUX1I4RzhCOEE4X1VJTlQ6NDEsVktfRk9STUFUX1I4RzhCOEE4X1NJTlQ6NDIsVktfRk9STUFUX1I4RzhCOEE4X1NSR0I6NDMsVktfRk9STUFUX0I4RzhSOEE4X1VOT1JNOjQ0LFZLX0ZPUk1BVF9COEc4UjhBOF9TTk9STTo0NSxWS19GT1JNQVRfQjhHOFI4QThfVVNDQUxFRDo0NixWS19GT1JNQVRfQjhHOFI4QThfU1NDQUxFRDo0NyxWS19GT1JNQVRfQjhHOFI4QThfVUlOVDo0OCxWS19GT1JNQVRfQjhHOFI4QThfU0lOVDo0OSxWS19GT1JNQVRfQjhHOFI4QThfU1JHQjo1MCxWS19GT1JNQVRfQThCOEc4UjhfVU5PUk1fUEFDSzMyOjUxLFZLX0ZPUk1BVF9BOEI4RzhSOF9TTk9STV9QQUNLMzI6NTIsVktfRk9STUFUX0E4QjhHOFI4X1VTQ0FMRURfUEFDSzMyOjUzLFZLX0ZPUk1BVF9BOEI4RzhSOF9TU0NBTEVEX1BBQ0szMjo1NCxWS19GT1JNQVRfQThCOEc4UjhfVUlOVF9QQUNLMzI6NTUsVktfRk9STUFUX0E4QjhHOFI4X1NJTlRfUEFDSzMyOjU2LFZLX0ZPUk1BVF9BOEI4RzhSOF9TUkdCX1BBQ0szMjo1NyxWS19GT1JNQVRfQTJSMTBHMTBCMTBfVU5PUk1fUEFDSzMyOjU4LFZLX0ZPUk1BVF9BMlIxMEcxMEIxMF9TTk9STV9QQUNLMzI6NTksVktfRk9STUFUX0EyUjEwRzEwQjEwX1VTQ0FMRURfUEFDSzMyOjYwLFZLX0ZPUk1BVF9BMlIxMEcxMEIxMF9TU0NBTEVEX1BBQ0szMjo2MSxWS19GT1JNQVRfQTJSMTBHMTBCMTBfVUlOVF9QQUNLMzI6NjIsVktfRk9STUFUX0EyUjEwRzEwQjEwX1NJTlRfUEFDSzMyOjYzLFZLX0ZPUk1BVF9BMkIxMEcxMFIxMF9VTk9STV9QQUNLMzI6NjQsVktfRk9STUFUX0EyQjEwRzEwUjEwX1NOT1JNX1BBQ0szMjo2NSxWS19GT1JNQVRfQTJCMTBHMTBSMTBfVVNDQUxFRF9QQUNLMzI6NjYsVktfRk9STUFUX0EyQjEwRzEwUjEwX1NTQ0FMRURfUEFDSzMyOjY3LFZLX0ZPUk1BVF9BMkIxMEcxMFIxMF9VSU5UX1BBQ0szMjo2OCxWS19GT1JNQVRfQTJCMTBHMTBSMTBfU0lOVF9QQUNLMzI6NjksVktfRk9STUFUX1IxNl9VTk9STTo3MCxWS19GT1JNQVRfUjE2X1NOT1JNOjcxLFZLX0ZPUk1BVF9SMTZfVVNDQUxFRDo3MixWS19GT1JNQVRfUjE2X1NTQ0FMRUQ6NzMsVktfRk9STUFUX1IxNl9VSU5UOjc0LFZLX0ZPUk1BVF9SMTZfU0lOVDo3NSxWS19GT1JNQVRfUjE2X1NGTE9BVDo3NixWS19GT1JNQVRfUjE2RzE2X1VOT1JNOjc3LFZLX0ZPUk1BVF9SMTZHMTZfU05PUk06NzgsVktfRk9STUFUX1IxNkcxNl9VU0NBTEVEOjc5LFZLX0ZPUk1BVF9SMTZHMTZfU1NDQUxFRDo4MCxWS19GT1JNQVRfUjE2RzE2X1VJTlQ6ODEsVktfRk9STUFUX1IxNkcxNl9TSU5UOjgyLFZLX0ZPUk1BVF9SMTZHMTZfU0ZMT0FUOjgzLFZLX0ZPUk1BVF9SMTZHMTZCMTZfVU5PUk06ODQsVktfRk9STUFUX1IxNkcxNkIxNl9TTk9STTo4NSxWS19GT1JNQVRfUjE2RzE2QjE2X1VTQ0FMRUQ6ODYsVktfRk9STUFUX1IxNkcxNkIxNl9TU0NBTEVEOjg3LFZLX0ZPUk1BVF9SMTZHMTZCMTZfVUlOVDo4OCxWS19GT1JNQVRfUjE2RzE2QjE2X1NJTlQ6ODksVktfRk9STUFUX1IxNkcxNkIxNl9TRkxPQVQ6OTAsVktfRk9STUFUX1IxNkcxNkIxNkExNl9VTk9STTo5MSxWS19GT1JNQVRfUjE2RzE2QjE2QTE2X1NOT1JNOjkyLFZLX0ZPUk1BVF9SMTZHMTZCMTZBMTZfVVNDQUxFRDo5MyxWS19GT1JNQVRfUjE2RzE2QjE2QTE2X1NTQ0FMRUQ6OTQsVktfRk9STUFUX1IxNkcxNkIxNkExNl9VSU5UOjk1LFZLX0ZPUk1BVF9SMTZHMTZCMTZBMTZfU0lOVDo5NixWS19GT1JNQVRfUjE2RzE2QjE2QTE2X1NGTE9BVDo5NyxWS19GT1JNQVRfUjMyX1VJTlQ6OTgsVktfRk9STUFUX1IzMl9TSU5UOjk5LFZLX0ZPUk1BVF9SMzJfU0ZMT0FUOjEwMCxWS19GT1JNQVRfUjMyRzMyX1VJTlQ6MTAxLFZLX0ZPUk1BVF9SMzJHMzJfU0lOVDoxMDIsVktfRk9STUFUX1IzMkczMl9TRkxPQVQ6MTAzLFZLX0ZPUk1BVF9SMzJHMzJCMzJfVUlOVDoxMDQsVktfRk9STUFUX1IzMkczMkIzMl9TSU5UOjEwNSxWS19GT1JNQVRfUjMyRzMyQjMyX1NGTE9BVDoxMDYsVktfRk9STUFUX1IzMkczMkIzMkEzMl9VSU5UOjEwNyxWS19GT1JNQVRfUjMyRzMyQjMyQTMyX1NJTlQ6MTA4LFZLX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0ZMT0FUOjEwOSxWS19GT1JNQVRfUjY0X1VJTlQ6MTEwLFZLX0ZPUk1BVF9SNjRfU0lOVDoxMTEsVktfRk9STUFUX1I2NF9TRkxPQVQ6MTEyLFZLX0ZPUk1BVF9SNjRHNjRfVUlOVDoxMTMsVktfRk9STUFUX1I2NEc2NF9TSU5UOjExNCxWS19GT1JNQVRfUjY0RzY0X1NGTE9BVDoxMTUsVktfRk9STUFUX1I2NEc2NEI2NF9VSU5UOjExNixWS19GT1JNQVRfUjY0RzY0QjY0X1NJTlQ6MTE3LFZLX0ZPUk1BVF9SNjRHNjRCNjRfU0ZMT0FUOjExOCxWS19GT1JNQVRfUjY0RzY0QjY0QTY0X1VJTlQ6MTE5LFZLX0ZPUk1BVF9SNjRHNjRCNjRBNjRfU0lOVDoxMjAsVktfRk9STUFUX1I2NEc2NEI2NEE2NF9TRkxPQVQ6MTIxLFZLX0ZPUk1BVF9CMTBHMTFSMTFfVUZMT0FUX1BBQ0szMjoxMjIsVktfRk9STUFUX0U1QjlHOVI5X1VGTE9BVF9QQUNLMzI6MTIzLFZLX0ZPUk1BVF9EMTZfVU5PUk06MTI0LFZLX0ZPUk1BVF9YOF9EMjRfVU5PUk1fUEFDSzMyOjEyNSxWS19GT1JNQVRfRDMyX1NGTE9BVDoxMjYsVktfRk9STUFUX1M4X1VJTlQ6MTI3LFZLX0ZPUk1BVF9EMTZfVU5PUk1fUzhfVUlOVDoxMjgsVktfRk9STUFUX0QyNF9VTk9STV9TOF9VSU5UOjEyOSxWS19GT1JNQVRfRDMyX1NGTE9BVF9TOF9VSU5UOjEzMCxWS19GT1JNQVRfQkMxX1JHQl9VTk9STV9CTE9DSzoxMzEsVktfRk9STUFUX0JDMV9SR0JfU1JHQl9CTE9DSzoxMzIsVktfRk9STUFUX0JDMV9SR0JBX1VOT1JNX0JMT0NLOjEzMyxWS19GT1JNQVRfQkMxX1JHQkFfU1JHQl9CTE9DSzoxMzQsVktfRk9STUFUX0JDMl9VTk9STV9CTE9DSzoxMzUsVktfRk9STUFUX0JDMl9TUkdCX0JMT0NLOjEzNixWS19GT1JNQVRfQkMzX1VOT1JNX0JMT0NLOjEzNyxWS19GT1JNQVRfQkMzX1NSR0JfQkxPQ0s6MTM4LFZLX0ZPUk1BVF9CQzRfVU5PUk1fQkxPQ0s6MTM5LFZLX0ZPUk1BVF9CQzRfU05PUk1fQkxPQ0s6MTQwLFZLX0ZPUk1BVF9CQzVfVU5PUk1fQkxPQ0s6MTQxLFZLX0ZPUk1BVF9CQzVfU05PUk1fQkxPQ0s6MTQyLFZLX0ZPUk1BVF9CQzZIX1VGTE9BVF9CTE9DSzoxNDMsVktfRk9STUFUX0JDNkhfU0ZMT0FUX0JMT0NLOjE0NCxWS19GT1JNQVRfQkM3X1VOT1JNX0JMT0NLOjE0NSxWS19GT1JNQVRfQkM3X1NSR0JfQkxPQ0s6MTQ2LFZLX0ZPUk1BVF9FVEMyX1I4RzhCOF9VTk9STV9CTE9DSzoxNDcsVktfRk9STUFUX0VUQzJfUjhHOEI4X1NSR0JfQkxPQ0s6MTQ4LFZLX0ZPUk1BVF9FVEMyX1I4RzhCOEExX1VOT1JNX0JMT0NLOjE0OSxWS19GT1JNQVRfRVRDMl9SOEc4QjhBMV9TUkdCX0JMT0NLOjE1MCxWS19GT1JNQVRfRVRDMl9SOEc4QjhBOF9VTk9STV9CTE9DSzoxNTEsVktfRk9STUFUX0VUQzJfUjhHOEI4QThfU1JHQl9CTE9DSzoxNTIsVktfRk9STUFUX0VBQ19SMTFfVU5PUk1fQkxPQ0s6MTUzLFZLX0ZPUk1BVF9FQUNfUjExX1NOT1JNX0JMT0NLOjE1NCxWS19GT1JNQVRfRUFDX1IxMUcxMV9VTk9STV9CTE9DSzoxNTUsVktfRk9STUFUX0VBQ19SMTFHMTFfU05PUk1fQkxPQ0s6MTU2LFZLX0ZPUk1BVF9BU1RDXzR4NF9VTk9STV9CTE9DSzoxNTcsVktfRk9STUFUX0FTVENfNHg0X1NSR0JfQkxPQ0s6MTU4LFZLX0ZPUk1BVF9BU1RDXzV4NF9VTk9STV9CTE9DSzoxNTksVktfRk9STUFUX0FTVENfNXg0X1NSR0JfQkxPQ0s6MTYwLFZLX0ZPUk1BVF9BU1RDXzV4NV9VTk9STV9CTE9DSzoxNjEsVktfRk9STUFUX0FTVENfNXg1X1NSR0JfQkxPQ0s6MTYyLFZLX0ZPUk1BVF9BU1RDXzZ4NV9VTk9STV9CTE9DSzoxNjMsVktfRk9STUFUX0FTVENfNng1X1NSR0JfQkxPQ0s6MTY0LFZLX0ZPUk1BVF9BU1RDXzZ4Nl9VTk9STV9CTE9DSzoxNjUsVktfRk9STUFUX0FTVENfNng2X1NSR0JfQkxPQ0s6MTY2LFZLX0ZPUk1BVF9BU1RDXzh4NV9VTk9STV9CTE9DSzoxNjcsVktfRk9STUFUX0FTVENfOHg1X1NSR0JfQkxPQ0s6MTY4LFZLX0ZPUk1BVF9BU1RDXzh4Nl9VTk9STV9CTE9DSzoxNjksVktfRk9STUFUX0FTVENfOHg2X1NSR0JfQkxPQ0s6MTcwLFZLX0ZPUk1BVF9BU1RDXzh4OF9VTk9STV9CTE9DSzoxNzEsVktfRk9STUFUX0FTVENfOHg4X1NSR0JfQkxPQ0s6MTcyLFZLX0ZPUk1BVF9BU1RDXzEweDVfVU5PUk1fQkxPQ0s6MTczLFZLX0ZPUk1BVF9BU1RDXzEweDVfU1JHQl9CTE9DSzoxNzQsVktfRk9STUFUX0FTVENfMTB4Nl9VTk9STV9CTE9DSzoxNzUsVktfRk9STUFUX0FTVENfMTB4Nl9TUkdCX0JMT0NLOjE3NixWS19GT1JNQVRfQVNUQ18xMHg4X1VOT1JNX0JMT0NLOjE3NyxWS19GT1JNQVRfQVNUQ18xMHg4X1NSR0JfQkxPQ0s6MTc4LFZLX0ZPUk1BVF9BU1RDXzEweDEwX1VOT1JNX0JMT0NLOjE3OSxWS19GT1JNQVRfQVNUQ18xMHgxMF9TUkdCX0JMT0NLOjE4MCxWS19GT1JNQVRfQVNUQ18xMngxMF9VTk9STV9CTE9DSzoxODEsVktfRk9STUFUX0FTVENfMTJ4MTBfU1JHQl9CTE9DSzoxODIsVktfRk9STUFUX0FTVENfMTJ4MTJfVU5PUk1fQkxPQ0s6MTgzLFZLX0ZPUk1BVF9BU1RDXzEyeDEyX1NSR0JfQkxPQ0s6MTg0LFZLX0ZPUk1BVF9HOEI4RzhSOF80MjJfVU5PUk06MTAwMDE1NmUzLFZLX0ZPUk1BVF9COEc4UjhHOF80MjJfVU5PUk06MTAwMDE1NjAwMSxWS19GT1JNQVRfRzhfQjhfUjhfM1BMQU5FXzQyMF9VTk9STToxMDAwMTU2MDAyLFZLX0ZPUk1BVF9HOF9COFI4XzJQTEFORV80MjBfVU5PUk06MTAwMDE1NjAwMyxWS19GT1JNQVRfRzhfQjhfUjhfM1BMQU5FXzQyMl9VTk9STToxMDAwMTU2MDA0LFZLX0ZPUk1BVF9HOF9COFI4XzJQTEFORV80MjJfVU5PUk06MTAwMDE1NjAwNSxWS19GT1JNQVRfRzhfQjhfUjhfM1BMQU5FXzQ0NF9VTk9STToxMDAwMTU2MDA2LFZLX0ZPUk1BVF9SMTBYNl9VTk9STV9QQUNLMTY6MTAwMDE1NjAwNyxWS19GT1JNQVRfUjEwWDZHMTBYNl9VTk9STV8yUEFDSzE2OjEwMDAxNTYwMDgsVktfRk9STUFUX1IxMFg2RzEwWDZCMTBYNkExMFg2X1VOT1JNXzRQQUNLMTY6MTAwMDE1NjAwOSxWS19GT1JNQVRfRzEwWDZCMTBYNkcxMFg2UjEwWDZfNDIyX1VOT1JNXzRQQUNLMTY6MTAwMDE1NjAxMCxWS19GT1JNQVRfQjEwWDZHMTBYNlIxMFg2RzEwWDZfNDIyX1VOT1JNXzRQQUNLMTY6MTAwMDE1NjAxMSxWS19GT1JNQVRfRzEwWDZfQjEwWDZfUjEwWDZfM1BMQU5FXzQyMF9VTk9STV8zUEFDSzE2OjEwMDAxNTYwMTIsVktfRk9STUFUX0cxMFg2X0IxMFg2UjEwWDZfMlBMQU5FXzQyMF9VTk9STV8zUEFDSzE2OjEwMDAxNTYwMTMsVktfRk9STUFUX0cxMFg2X0IxMFg2X1IxMFg2XzNQTEFORV80MjJfVU5PUk1fM1BBQ0sxNjoxMDAwMTU2MDE0LFZLX0ZPUk1BVF9HMTBYNl9CMTBYNlIxMFg2XzJQTEFORV80MjJfVU5PUk1fM1BBQ0sxNjoxMDAwMTU2MDE1LFZLX0ZPUk1BVF9HMTBYNl9CMTBYNl9SMTBYNl8zUExBTkVfNDQ0X1VOT1JNXzNQQUNLMTY6MTAwMDE1NjAxNixWS19GT1JNQVRfUjEyWDRfVU5PUk1fUEFDSzE2OjEwMDAxNTYwMTcsVktfRk9STUFUX1IxMlg0RzEyWDRfVU5PUk1fMlBBQ0sxNjoxMDAwMTU2MDE4LFZLX0ZPUk1BVF9SMTJYNEcxMlg0QjEyWDRBMTJYNF9VTk9STV80UEFDSzE2OjEwMDAxNTYwMTksVktfRk9STUFUX0cxMlg0QjEyWDRHMTJYNFIxMlg0XzQyMl9VTk9STV80UEFDSzE2OjEwMDAxNTYwMjAsVktfRk9STUFUX0IxMlg0RzEyWDRSMTJYNEcxMlg0XzQyMl9VTk9STV80UEFDSzE2OjEwMDAxNTYwMjEsVktfRk9STUFUX0cxMlg0X0IxMlg0X1IxMlg0XzNQTEFORV80MjBfVU5PUk1fM1BBQ0sxNjoxMDAwMTU2MDIyLFZLX0ZPUk1BVF9HMTJYNF9CMTJYNFIxMlg0XzJQTEFORV80MjBfVU5PUk1fM1BBQ0sxNjoxMDAwMTU2MDIzLFZLX0ZPUk1BVF9HMTJYNF9CMTJYNF9SMTJYNF8zUExBTkVfNDIyX1VOT1JNXzNQQUNLMTY6MTAwMDE1NjAyNCxWS19GT1JNQVRfRzEyWDRfQjEyWDRSMTJYNF8yUExBTkVfNDIyX1VOT1JNXzNQQUNLMTY6MTAwMDE1NjAyNSxWS19GT1JNQVRfRzEyWDRfQjEyWDRfUjEyWDRfM1BMQU5FXzQ0NF9VTk9STV8zUEFDSzE2OjEwMDAxNTYwMjYsVktfRk9STUFUX0cxNkIxNkcxNlIxNl80MjJfVU5PUk06MTAwMDE1NjAyNyxWS19GT1JNQVRfQjE2RzE2UjE2RzE2XzQyMl9VTk9STToxMDAwMTU2MDI4LFZLX0ZPUk1BVF9HMTZfQjE2X1IxNl8zUExBTkVfNDIwX1VOT1JNOjEwMDAxNTYwMjksVktfRk9STUFUX0cxNl9CMTZSMTZfMlBMQU5FXzQyMF9VTk9STToxMDAwMTU2MDMwLFZLX0ZPUk1BVF9HMTZfQjE2X1IxNl8zUExBTkVfNDIyX1VOT1JNOjEwMDAxNTYwMzEsVktfRk9STUFUX0cxNl9CMTZSMTZfMlBMQU5FXzQyMl9VTk9STToxMDAwMTU2MDMyLFZLX0ZPUk1BVF9HMTZfQjE2X1IxNl8zUExBTkVfNDQ0X1VOT1JNOjEwMDAxNTYwMzMsVktfRk9STUFUX1BWUlRDMV8yQlBQX1VOT1JNX0JMT0NLX0lNRzoxMDAwMDU0ZTMsVktfRk9STUFUX1BWUlRDMV80QlBQX1VOT1JNX0JMT0NLX0lNRzoxMDAwMDU0MDAxLFZLX0ZPUk1BVF9QVlJUQzJfMkJQUF9VTk9STV9CTE9DS19JTUc6MTAwMDA1NDAwMixWS19GT1JNQVRfUFZSVEMyXzRCUFBfVU5PUk1fQkxPQ0tfSU1HOjEwMDAwNTQwMDMsVktfRk9STUFUX1BWUlRDMV8yQlBQX1NSR0JfQkxPQ0tfSU1HOjEwMDAwNTQwMDQsVktfRk9STUFUX1BWUlRDMV80QlBQX1NSR0JfQkxPQ0tfSU1HOjEwMDAwNTQwMDUsVktfRk9STUFUX1BWUlRDMl8yQlBQX1NSR0JfQkxPQ0tfSU1HOjEwMDAwNTQwMDYsVktfRk9STUFUX1BWUlRDMl80QlBQX1NSR0JfQkxPQ0tfSU1HOjEwMDAwNTQwMDcsVktfRk9STUFUX0FTVENfNHg0X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NmUzLFZLX0ZPUk1BVF9BU1RDXzV4NF9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMDEsVktfRk9STUFUX0FTVENfNXg1X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAwMixWS19GT1JNQVRfQVNUQ182eDVfU0ZMT0FUX0JMT0NLX0VYVDoxMDAwMDY2MDAzLFZLX0ZPUk1BVF9BU1RDXzZ4Nl9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMDQsVktfRk9STUFUX0FTVENfOHg1X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAwNSxWS19GT1JNQVRfQVNUQ184eDZfU0ZMT0FUX0JMT0NLX0VYVDoxMDAwMDY2MDA2LFZLX0ZPUk1BVF9BU1RDXzh4OF9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMDcsVktfRk9STUFUX0FTVENfMTB4NV9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMDgsVktfRk9STUFUX0FTVENfMTB4Nl9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMDksVktfRk9STUFUX0FTVENfMTB4OF9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMTAsVktfRk9STUFUX0FTVENfMTB4MTBfU0ZMT0FUX0JMT0NLX0VYVDoxMDAwMDY2MDExLFZLX0ZPUk1BVF9BU1RDXzEyeDEwX1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAxMixWS19GT1JNQVRfQVNUQ18xMngxMl9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMTMsVktfRk9STUFUX0c4QjhHOFI4XzQyMl9VTk9STV9LSFI6MTAwMDE1NmUzLFZLX0ZPUk1BVF9COEc4UjhHOF80MjJfVU5PUk1fS0hSOjEwMDAxNTYwMDEsVktfRk9STUFUX0c4X0I4X1I4XzNQTEFORV80MjBfVU5PUk1fS0hSOjEwMDAxNTYwMDIsVktfRk9STUFUX0c4X0I4UjhfMlBMQU5FXzQyMF9VTk9STV9LSFI6MTAwMDE1NjAwMyxWS19GT1JNQVRfRzhfQjhfUjhfM1BMQU5FXzQyMl9VTk9STV9LSFI6MTAwMDE1NjAwNCxWS19GT1JNQVRfRzhfQjhSOF8yUExBTkVfNDIyX1VOT1JNX0tIUjoxMDAwMTU2MDA1LFZLX0ZPUk1BVF9HOF9COF9SOF8zUExBTkVfNDQ0X1VOT1JNX0tIUjoxMDAwMTU2MDA2LFZLX0ZPUk1BVF9SMTBYNl9VTk9STV9QQUNLMTZfS0hSOjEwMDAxNTYwMDcsVktfRk9STUFUX1IxMFg2RzEwWDZfVU5PUk1fMlBBQ0sxNl9LSFI6MTAwMDE1NjAwOCxWS19GT1JNQVRfUjEwWDZHMTBYNkIxMFg2QTEwWDZfVU5PUk1fNFBBQ0sxNl9LSFI6MTAwMDE1NjAwOSxWS19GT1JNQVRfRzEwWDZCMTBYNkcxMFg2UjEwWDZfNDIyX1VOT1JNXzRQQUNLMTZfS0hSOjEwMDAxNTYwMTAsVktfRk9STUFUX0IxMFg2RzEwWDZSMTBYNkcxMFg2XzQyMl9VTk9STV80UEFDSzE2X0tIUjoxMDAwMTU2MDExLFZLX0ZPUk1BVF9HMTBYNl9CMTBYNl9SMTBYNl8zUExBTkVfNDIwX1VOT1JNXzNQQUNLMTZfS0hSOjEwMDAxNTYwMTIsVktfRk9STUFUX0cxMFg2X0IxMFg2UjEwWDZfMlBMQU5FXzQyMF9VTk9STV8zUEFDSzE2X0tIUjoxMDAwMTU2MDEzLFZLX0ZPUk1BVF9HMTBYNl9CMTBYNl9SMTBYNl8zUExBTkVfNDIyX1VOT1JNXzNQQUNLMTZfS0hSOjEwMDAxNTYwMTQsVktfRk9STUFUX0cxMFg2X0IxMFg2UjEwWDZfMlBMQU5FXzQyMl9VTk9STV8zUEFDSzE2X0tIUjoxMDAwMTU2MDE1LFZLX0ZPUk1BVF9HMTBYNl9CMTBYNl9SMTBYNl8zUExBTkVfNDQ0X1VOT1JNXzNQQUNLMTZfS0hSOjEwMDAxNTYwMTYsVktfRk9STUFUX1IxMlg0X1VOT1JNX1BBQ0sxNl9LSFI6MTAwMDE1NjAxNyxWS19GT1JNQVRfUjEyWDRHMTJYNF9VTk9STV8yUEFDSzE2X0tIUjoxMDAwMTU2MDE4LFZLX0ZPUk1BVF9SMTJYNEcxMlg0QjEyWDRBMTJYNF9VTk9STV80UEFDSzE2X0tIUjoxMDAwMTU2MDE5LFZLX0ZPUk1BVF9HMTJYNEIxMlg0RzEyWDRSMTJYNF80MjJfVU5PUk1fNFBBQ0sxNl9LSFI6MTAwMDE1NjAyMCxWS19GT1JNQVRfQjEyWDRHMTJYNFIxMlg0RzEyWDRfNDIyX1VOT1JNXzRQQUNLMTZfS0hSOjEwMDAxNTYwMjEsVktfRk9STUFUX0cxMlg0X0IxMlg0X1IxMlg0XzNQTEFORV80MjBfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAyMixWS19GT1JNQVRfRzEyWDRfQjEyWDRSMTJYNF8yUExBTkVfNDIwX1VOT1JNXzNQQUNLMTZfS0hSOjEwMDAxNTYwMjMsVktfRk9STUFUX0cxMlg0X0IxMlg0X1IxMlg0XzNQTEFORV80MjJfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAyNCxWS19GT1JNQVRfRzEyWDRfQjEyWDRSMTJYNF8yUExBTkVfNDIyX1VOT1JNXzNQQUNLMTZfS0hSOjEwMDAxNTYwMjUsVktfRk9STUFUX0cxMlg0X0IxMlg0X1IxMlg0XzNQTEFORV80NDRfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAyNixWS19GT1JNQVRfRzE2QjE2RzE2UjE2XzQyMl9VTk9STV9LSFI6MTAwMDE1NjAyNyxWS19GT1JNQVRfQjE2RzE2UjE2RzE2XzQyMl9VTk9STV9LSFI6MTAwMDE1NjAyOCxWS19GT1JNQVRfRzE2X0IxNl9SMTZfM1BMQU5FXzQyMF9VTk9STV9LSFI6MTAwMDE1NjAyOSxWS19GT1JNQVRfRzE2X0IxNlIxNl8yUExBTkVfNDIwX1VOT1JNX0tIUjoxMDAwMTU2MDMwLFZLX0ZPUk1BVF9HMTZfQjE2X1IxNl8zUExBTkVfNDIyX1VOT1JNX0tIUjoxMDAwMTU2MDMxLFZLX0ZPUk1BVF9HMTZfQjE2UjE2XzJQTEFORV80MjJfVU5PUk1fS0hSOjEwMDAxNTYwMzIsVktfRk9STUFUX0cxNl9CMTZfUjE2XzNQTEFORV80NDRfVU5PUk1fS0hSOjEwMDAxNTYwMzN9LHl1PU9iamVjdC5mcmVlemUoeTgpfSk7ZnVuY3Rpb24gRFModCl7cmV0dXJuIHR5cGVvZiBUZXh0RGVjb2RlcjwidSI/bmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKHQpOkJ1ZmZlci5mcm9tKHQpLnRvU3RyaW5nKCJ1dGY4Iil9ZnVuY3Rpb24gRlModCl7bGV0IGU9bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0LGtvLmxlbmd0aCk7aWYoZVswXSE9PWtvWzBdfHxlWzFdIT09a29bMV18fGVbMl0hPT1rb1syXXx8ZVszXSE9PWtvWzNdfHxlWzRdIT09a29bNF18fGVbNV0hPT1rb1s1XXx8ZVs2XSE9PWtvWzZdfHxlWzddIT09a29bN118fGVbOF0hPT1rb1s4XXx8ZVs5XSE9PWtvWzldfHxlWzEwXSE9PWtvWzEwXXx8ZVsxMV0hPT1rb1sxMV0pdGhyb3cgbmV3IEVycm9yKCJNaXNzaW5nIEtUWCAyLjAgaWRlbnRpZmllci4iKTtsZXQgbj1uZXcgWmcsbz0xNypVaW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCxyPW5ldyBQYyh0LGtvLmxlbmd0aCxvLCEwKTtuLnZrRm9ybWF0PXIuX25leHRVaW50MzIoKSxuLnR5cGVTaXplPXIuX25leHRVaW50MzIoKSxuLnBpeGVsV2lkdGg9ci5fbmV4dFVpbnQzMigpLG4ucGl4ZWxIZWlnaHQ9ci5fbmV4dFVpbnQzMigpLG4ucGl4ZWxEZXB0aD1yLl9uZXh0VWludDMyKCksbi5sYXllckNvdW50PXIuX25leHRVaW50MzIoKSxuLmZhY2VDb3VudD1yLl9uZXh0VWludDMyKCk7bGV0IGk9ci5fbmV4dFVpbnQzMigpO24uc3VwZXJjb21wcmVzc2lvblNjaGVtZT1yLl9uZXh0VWludDMyKCk7bGV0IHM9ci5fbmV4dFVpbnQzMigpLGY9ci5fbmV4dFVpbnQzMigpLHU9ci5fbmV4dFVpbnQzMigpLGM9ci5fbmV4dFVpbnQzMigpLGw9ci5fbmV4dFVpbnQ2NCgpLHA9ci5fbmV4dFVpbnQ2NCgpLGQ9aSozKjgsbT1uZXcgUGModCxrby5sZW5ndGgrbyxkLCEwKTtmb3IobGV0IFg9MDtYPGk7WCsrKW4ubGV2ZWxzLnB1c2goe2xldmVsRGF0YTpuZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQrbS5fbmV4dFVpbnQ2NCgpLG0uX25leHRVaW50NjQoKSksdW5jb21wcmVzc2VkQnl0ZUxlbmd0aDptLl9uZXh0VWludDY0KCl9KTtsZXQgXz1uZXcgUGModCxzLGYsITApLGc9e3ZlbmRvcklkOl8uX3NraXAoNCkuX25leHRVaW50MTYoKSxkZXNjcmlwdG9yVHlwZTpfLl9uZXh0VWludDE2KCksdmVyc2lvbk51bWJlcjpfLl9uZXh0VWludDE2KCksZGVzY3JpcHRvckJsb2NrU2l6ZTpfLl9uZXh0VWludDE2KCksY29sb3JNb2RlbDpfLl9uZXh0VWludDgoKSxjb2xvclByaW1hcmllczpfLl9uZXh0VWludDgoKSx0cmFuc2ZlckZ1bmN0aW9uOl8uX25leHRVaW50OCgpLGZsYWdzOl8uX25leHRVaW50OCgpLHRleGVsQmxvY2tEaW1lbnNpb246W18uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpXSxieXRlc1BsYW5lOltfLl9uZXh0VWludDgoKSxfLl9uZXh0VWludDgoKSxfLl9uZXh0VWludDgoKSxfLl9uZXh0VWludDgoKSxfLl9uZXh0VWludDgoKSxfLl9uZXh0VWludDgoKSxfLl9uZXh0VWludDgoKSxfLl9uZXh0VWludDgoKV0sc2FtcGxlczpbXX0sTz0oZy5kZXNjcmlwdG9yQmxvY2tTaXplLzQtNikvNDtmb3IobGV0IFg9MDtYPE87WCsrKXtsZXQgUj17Yml0T2Zmc2V0Ol8uX25leHRVaW50MTYoKSxiaXRMZW5ndGg6Xy5fbmV4dFVpbnQ4KCksY2hhbm5lbFR5cGU6Xy5fbmV4dFVpbnQ4KCksc2FtcGxlUG9zaXRpb246W18uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpXSxzYW1wbGVMb3dlcjotMS8wLHNhbXBsZVVwcGVyOjEvMH07Ui5jaGFubmVsVHlwZSY2ND8oUi5zYW1wbGVMb3dlcj1fLl9uZXh0SW50MzIoKSxSLnNhbXBsZVVwcGVyPV8uX25leHRJbnQzMigpKTooUi5zYW1wbGVMb3dlcj1fLl9uZXh0VWludDMyKCksUi5zYW1wbGVVcHBlcj1fLl9uZXh0VWludDMyKCkpLGcuc2FtcGxlc1tYXT1SfW4uZGF0YUZvcm1hdERlc2NyaXB0b3IubGVuZ3RoPTAsbi5kYXRhRm9ybWF0RGVzY3JpcHRvci5wdXNoKGcpO2xldCBFPW5ldyBQYyh0LHUsYywhMCk7Zm9yKDtFLl9vZmZzZXQ8Yzspe2xldCBYPUUuX25leHRVaW50MzIoKSxSPUUuX3NjYW4oWCksb3Q9RFMoUik7aWYobi5rZXlWYWx1ZVtvdF09RS5fbmV4dFVpbnQ4QXJyYXkoWC1SLmJ5dGVMZW5ndGgtMSksb3QubWF0Y2goL15rdHgvaSkpe2xldCBwdD1EUyhuLmtleVZhbHVlW290XSk7bi5rZXlWYWx1ZVtvdF09cHQuc3Vic3RyaW5nKDAscHQubGFzdEluZGV4T2YoIlwwIikpfWxldCBhdD1YJTQ/NC1YJTQ6MDtFLl9za2lwKGF0KX1pZihwPD0wKXJldHVybiBuO2xldCB3PW5ldyBQYyh0LGwscCwhMCksQz13Ll9uZXh0VWludDE2KCksTj13Ll9uZXh0VWludDE2KCksST13Ll9uZXh0VWludDMyKCksRD13Ll9uZXh0VWludDMyKCksdj13Ll9uZXh0VWludDMyKCksTD13Ll9uZXh0VWludDMyKCksVT1bXTtmb3IobGV0IFg9MDtYPGk7WCsrKVUucHVzaCh7aW1hZ2VGbGFnczp3Ll9uZXh0VWludDMyKCkscmdiU2xpY2VCeXRlT2Zmc2V0OncuX25leHRVaW50MzIoKSxyZ2JTbGljZUJ5dGVMZW5ndGg6dy5fbmV4dFVpbnQzMigpLGFscGhhU2xpY2VCeXRlT2Zmc2V0OncuX25leHRVaW50MzIoKSxhbHBoYVNsaWNlQnl0ZUxlbmd0aDp3Ll9uZXh0VWludDMyKCl9KTtsZXQgQT1sK3cuX29mZnNldCxTPUErSSxQPVMrRCxCPVArdixqPW5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCtBLEkpLEg9bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0K1MsRCksaz1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQrUCx2KSxLPW5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCtCLEwpO3JldHVybiBuLmdsb2JhbERhdGE9e2VuZHBvaW50Q291bnQ6QyxzZWxlY3RvckNvdW50Ok4saW1hZ2VEZXNjczpVLGVuZHBvaW50c0RhdGE6aixzZWxlY3RvcnNEYXRhOkgsdGFibGVzRGF0YTprLGV4dGVuZGVkRGF0YTpLfSxufXZhciBaZyxQYyx4bHQsa28sQlM9WigoKT0+e1pnPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy52a0Zvcm1hdD0wLHRoaXMudHlwZVNpemU9MSx0aGlzLnBpeGVsV2lkdGg9MCx0aGlzLnBpeGVsSGVpZ2h0PTAsdGhpcy5waXhlbERlcHRoPTAsdGhpcy5sYXllckNvdW50PTAsdGhpcy5mYWNlQ291bnQ9MSx0aGlzLnN1cGVyY29tcHJlc3Npb25TY2hlbWU9MCx0aGlzLmxldmVscz1bXSx0aGlzLmRhdGFGb3JtYXREZXNjcmlwdG9yPVt7dmVuZG9ySWQ6MCxkZXNjcmlwdG9yVHlwZTowLGRlc2NyaXB0b3JCbG9ja1NpemU6MCx2ZXJzaW9uTnVtYmVyOjIsY29sb3JNb2RlbDowLGNvbG9yUHJpbWFyaWVzOjEsdHJhbnNmZXJGdW5jdGlvbjoyLGZsYWdzOjAsdGV4ZWxCbG9ja0RpbWVuc2lvbjpbMCwwLDAsMF0sYnl0ZXNQbGFuZTpbMCwwLDAsMCwwLDAsMCwwXSxzYW1wbGVzOltdfV0sdGhpcy5rZXlWYWx1ZT17fSx0aGlzLmdsb2JhbERhdGE9bnVsbH19LFBjPWNsYXNze2NvbnN0cnVjdG9yKGUsbixvLHIpe3RoaXMuX2RhdGFWaWV3PXZvaWQgMCx0aGlzLl9saXR0bGVFbmRpYW49dm9pZCAwLHRoaXMuX29mZnNldD12b2lkIDAsdGhpcy5fZGF0YVZpZXc9bmV3IERhdGFWaWV3KGUuYnVmZmVyLGUuYnl0ZU9mZnNldCtuLG8pLHRoaXMuX2xpdHRsZUVuZGlhbj1yLHRoaXMuX29mZnNldD0wfV9uZXh0VWludDgoKXtsZXQgZT10aGlzLl9kYXRhVmlldy5nZXRVaW50OCh0aGlzLl9vZmZzZXQpO3JldHVybiB0aGlzLl9vZmZzZXQrPTEsZX1fbmV4dFVpbnQxNigpe2xldCBlPXRoaXMuX2RhdGFWaWV3LmdldFVpbnQxNih0aGlzLl9vZmZzZXQsdGhpcy5fbGl0dGxlRW5kaWFuKTtyZXR1cm4gdGhpcy5fb2Zmc2V0Kz0yLGV9X25leHRVaW50MzIoKXtsZXQgZT10aGlzLl9kYXRhVmlldy5nZXRVaW50MzIodGhpcy5fb2Zmc2V0LHRoaXMuX2xpdHRsZUVuZGlhbik7cmV0dXJuIHRoaXMuX29mZnNldCs9NCxlfV9uZXh0VWludDY0KCl7bGV0IGU9dGhpcy5fZGF0YVZpZXcuZ2V0VWludDMyKHRoaXMuX29mZnNldCx0aGlzLl9saXR0bGVFbmRpYW4pLG49dGhpcy5fZGF0YVZpZXcuZ2V0VWludDMyKHRoaXMuX29mZnNldCs0LHRoaXMuX2xpdHRsZUVuZGlhbiksbz1lKzIqKjMyKm47cmV0dXJuIHRoaXMuX29mZnNldCs9OCxvfV9uZXh0SW50MzIoKXtsZXQgZT10aGlzLl9kYXRhVmlldy5nZXRJbnQzMih0aGlzLl9vZmZzZXQsdGhpcy5fbGl0dGxlRW5kaWFuKTtyZXR1cm4gdGhpcy5fb2Zmc2V0Kz00LGV9X25leHRVaW50OEFycmF5KGUpe2xldCBuPW5ldyBVaW50OEFycmF5KHRoaXMuX2RhdGFWaWV3LmJ1ZmZlcix0aGlzLl9kYXRhVmlldy5ieXRlT2Zmc2V0K3RoaXMuX29mZnNldCxlKTtyZXR1cm4gdGhpcy5fb2Zmc2V0Kz1lLG59X3NraXAoZSl7cmV0dXJuIHRoaXMuX29mZnNldCs9ZSx0aGlzfV9zY2FuKGUsbj0wKXtsZXQgbz10aGlzLl9vZmZzZXQscj0wO2Zvcig7dGhpcy5fZGF0YVZpZXcuZ2V0VWludDgodGhpcy5fb2Zmc2V0KSE9PW4mJnI8ZTspcisrLHRoaXMuX29mZnNldCsrO3JldHVybiByPGUmJnRoaXMuX29mZnNldCsrLG5ldyBVaW50OEFycmF5KHRoaXMuX2RhdGFWaWV3LmJ1ZmZlcix0aGlzLl9kYXRhVmlldy5ieXRlT2Zmc2V0K28scil9fSx4bHQ9bmV3IFVpbnQ4QXJyYXkoWzBdKSxrbz1bMTcxLDc1LDg0LDg4LDMyLDUwLDQ4LDE4NywxMywxMCwyNiwxMF19KTt2YXIgVVM9WG4oKHltLEpnKT0+e3ZhciBRZz1mdW5jdGlvbigpe3ZhciB0PXR5cGVvZiBkb2N1bWVudDwidSImJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQ/ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM6dm9pZCAwO3JldHVybiB0eXBlb2YgX19maWxlbmFtZTwidSImJih0PXR8fF9fZmlsZW5hbWUpLGZ1bmN0aW9uKGUpe2U9ZXx8e307dmFyIG49dHlwZW9mIGU8InUiP2U6e30sbyxyO24ucmVhZHk9bmV3IFByb21pc2UoZnVuY3Rpb24oVixHKXtvPVYscj1HfSk7dmFyIGk9e30scztmb3IocyBpbiBuKW4uaGFzT3duUHJvcGVydHkocykmJihpW3NdPW5bc10pO3ZhciBmPVtdLHU9Ii4vdGhpcy5wcm9ncmFtIixjPWZ1bmN0aW9uKFYsRyl7dGhyb3cgR30sbD0hMSxwPSExLGQ9ITEsbT0hMTtsPXR5cGVvZiB3aW5kb3c9PSJvYmplY3QiLHA9dHlwZW9mIGltcG9ydFNjcmlwdHM9PSJmdW5jdGlvbiIsZD10eXBlb2YgcHJvY2Vzcz09Im9iamVjdCImJnR5cGVvZiBwcm9jZXNzLnZlcnNpb25zPT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnMubm9kZT09InN0cmluZyIsbT0hbCYmIWQmJiFwO3ZhciBfPSIiO2Z1bmN0aW9uIGcoVil7cmV0dXJuIG4ubG9jYXRlRmlsZT9uLmxvY2F0ZUZpbGUoVixfKTpfK1Z9dmFyIGIsVCxPLEUsdyxDO2Q/KHA/Xz1wcigicGF0aCIpLmRpcm5hbWUoXykrIi8iOl89X19kaXJuYW1lKyIvIixiPWZ1bmN0aW9uKEcsWSl7cmV0dXJuIHd8fCh3PXByKCJmcyIpKSxDfHwoQz1wcigicGF0aCIpKSxHPUMubm9ybWFsaXplKEcpLHcucmVhZEZpbGVTeW5jKEcsWT9udWxsOiJ1dGY4Iil9LE89ZnVuY3Rpb24oRyl7dmFyIFk9YihHLCEwKTtyZXR1cm4gWS5idWZmZXJ8fChZPW5ldyBVaW50OEFycmF5KFkpKSxCKFkuYnVmZmVyKSxZfSxwcm9jZXNzLmFyZ3YubGVuZ3RoPjEmJih1PXByb2Nlc3MuYXJndlsxXS5yZXBsYWNlKC9cXC9nLCIvIikpLGY9cHJvY2Vzcy5hcmd2LnNsaWNlKDIpLHByb2Nlc3Mub24oInVuY2F1Z2h0RXhjZXB0aW9uIixmdW5jdGlvbihWKXtpZighKFYgaW5zdGFuY2VvZiBPaSkpdGhyb3cgVn0pLHByb2Nlc3Mub24oInVuaGFuZGxlZFJlamVjdGlvbiIsS2UpLGM9ZnVuY3Rpb24oVil7cHJvY2Vzcy5leGl0KFYpfSxuLmluc3BlY3Q9ZnVuY3Rpb24oKXtyZXR1cm4iW0Vtc2NyaXB0ZW4gTW9kdWxlIG9iamVjdF0ifSk6bT8odHlwZW9mIHJlYWQ8InUiJiYoYj1mdW5jdGlvbihHKXtyZXR1cm4gcmVhZChHKX0pLE89ZnVuY3Rpb24oRyl7dmFyIFk7cmV0dXJuIHR5cGVvZiByZWFkYnVmZmVyPT0iZnVuY3Rpb24iP25ldyBVaW50OEFycmF5KHJlYWRidWZmZXIoRykpOihZPXJlYWQoRywiYmluYXJ5IiksQih0eXBlb2YgWT09Im9iamVjdCIpLFkpfSx0eXBlb2Ygc2NyaXB0QXJnczwidSI/Zj1zY3JpcHRBcmdzOnR5cGVvZiBhcmd1bWVudHM8InUiJiYoZj1hcmd1bWVudHMpLHR5cGVvZiBxdWl0PT0iZnVuY3Rpb24iJiYoYz1mdW5jdGlvbihWKXtxdWl0KFYpfSksdHlwZW9mIHByaW50PCJ1IiYmKHR5cGVvZiBjb25zb2xlPiJ1IiYmKGNvbnNvbGU9e30pLGNvbnNvbGUubG9nPXByaW50LGNvbnNvbGUud2Fybj1jb25zb2xlLmVycm9yPXR5cGVvZiBwcmludEVycjwidSI/cHJpbnRFcnI6cHJpbnQpKToobHx8cCkmJihwP189c2VsZi5sb2NhdGlvbi5ocmVmOnR5cGVvZiBkb2N1bWVudDwidSImJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQmJihfPWRvY3VtZW50LmN1cnJlbnRTY3JpcHQuc3JjKSx0JiYoXz10KSxfLmluZGV4T2YoImJsb2I6IikhPT0wP189Xy5zdWJzdHIoMCxfLmxhc3RJbmRleE9mKCIvIikrMSk6Xz0iIixiPWZ1bmN0aW9uKFYpe3ZhciBHPW5ldyBYTUxIdHRwUmVxdWVzdDtyZXR1cm4gRy5vcGVuKCJHRVQiLFYsITEpLEcuc2VuZChudWxsKSxHLnJlc3BvbnNlVGV4dH0scCYmKE89ZnVuY3Rpb24oVil7dmFyIEc9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBHLm9wZW4oIkdFVCIsViwhMSksRy5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIixHLnNlbmQobnVsbCksbmV3IFVpbnQ4QXJyYXkoRy5yZXNwb25zZSl9KSxUPWZ1bmN0aW9uKFYsRyxZKXt2YXIgSj1uZXcgWE1MSHR0cFJlcXVlc3Q7Si5vcGVuKCJHRVQiLFYsITApLEoucmVzcG9uc2VUeXBlPSJhcnJheWJ1ZmZlciIsSi5vbmxvYWQ9ZnVuY3Rpb24oKXtpZihKLnN0YXR1cz09MjAwfHxKLnN0YXR1cz09MCYmSi5yZXNwb25zZSl7RyhKLnJlc3BvbnNlKTtyZXR1cm59WSgpfSxKLm9uZXJyb3I9WSxKLnNlbmQobnVsbCl9LEU9ZnVuY3Rpb24oVil7ZG9jdW1lbnQudGl0bGU9Vn0pO3ZhciBOPW4ucHJpbnR8fGNvbnNvbGUubG9nLmJpbmQoY29uc29sZSksST1uLnByaW50RXJyfHxjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtmb3IocyBpbiBpKWkuaGFzT3duUHJvcGVydHkocykmJihuW3NdPWlbc10pO2k9bnVsbCxuLmFyZ3VtZW50cyYmKGY9bi5hcmd1bWVudHMpLG4udGhpc1Byb2dyYW0mJih1PW4udGhpc1Byb2dyYW0pLG4ucXVpdCYmKGM9bi5xdWl0KTt2YXIgRD0wLHY9ZnVuY3Rpb24oVil7RD1WfSxMO24ud2FzbUJpbmFyeSYmKEw9bi53YXNtQmluYXJ5KTt2YXIgVT1uLm5vRXhpdFJ1bnRpbWV8fCEwO3R5cGVvZiBXZWJBc3NlbWJseSE9Im9iamVjdCImJktlKCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkIik7dmFyIEEsUz0hMSxQO2Z1bmN0aW9uIEIoVixHKXtWfHxLZSgiQXNzZXJ0aW9uIGZhaWxlZDogIitHKX12YXIgaj10eXBlb2YgVGV4dERlY29kZXI8InUiP25ldyBUZXh0RGVjb2RlcigidXRmOCIpOnZvaWQgMDtmdW5jdGlvbiBIKFYsRyxZKXtmb3IodmFyIEo9RytZLGx0PUc7VltsdF0mJiEobHQ+PUopOykrK2x0O2lmKGx0LUc+MTYmJlYuc3ViYXJyYXkmJmopcmV0dXJuIGouZGVjb2RlKFYuc3ViYXJyYXkoRyxsdCkpO2Zvcih2YXIgT3Q9IiI7RzxsdDspe3ZhciBTdD1WW0crK107aWYoIShTdCYxMjgpKXtPdCs9U3RyaW5nLmZyb21DaGFyQ29kZShTdCk7Y29udGludWV9dmFyIGh0PVZbRysrXSY2MztpZigoU3QmMjI0KT09MTkyKXtPdCs9U3RyaW5nLmZyb21DaGFyQ29kZSgoU3QmMzEpPDw2fGh0KTtjb250aW51ZX12YXIgX3Q9VltHKytdJjYzO2lmKChTdCYyNDApPT0yMjQ/U3Q9KFN0JjE1KTw8MTJ8aHQ8PDZ8X3Q6U3Q9KFN0JjcpPDwxOHxodDw8MTJ8X3Q8PDZ8VltHKytdJjYzLFN0PDY1NTM2KU90Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKFN0KTtlbHNle3ZhciBLdD1TdC02NTUzNjtPdCs9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxLdD4+MTAsNTYzMjB8S3QmMTAyMyl9fXJldHVybiBPdH1mdW5jdGlvbiBrKFYsRyl7cmV0dXJuIFY/SCh2dCxWLEcpOiIifWZ1bmN0aW9uIEsoVixHLFksSil7aWYoIShKPjApKXJldHVybiAwO2Zvcih2YXIgbHQ9WSxPdD1ZK0otMSxTdD0wO1N0PFYubGVuZ3RoOysrU3Qpe3ZhciBodD1WLmNoYXJDb2RlQXQoU3QpO2lmKGh0Pj01NTI5NiYmaHQ8PTU3MzQzKXt2YXIgX3Q9Vi5jaGFyQ29kZUF0KCsrU3QpO2h0PTY1NTM2KygoaHQmMTAyMyk8PDEwKXxfdCYxMDIzfWlmKGh0PD0xMjcpe2lmKFk+PU90KWJyZWFrO0dbWSsrXT1odH1lbHNlIGlmKGh0PD0yMDQ3KXtpZihZKzE+PU90KWJyZWFrO0dbWSsrXT0xOTJ8aHQ+PjYsR1tZKytdPTEyOHxodCY2M31lbHNlIGlmKGh0PD02NTUzNSl7aWYoWSsyPj1PdClicmVhaztHW1krK109MjI0fGh0Pj4xMixHW1krK109MTI4fGh0Pj42JjYzLEdbWSsrXT0xMjh8aHQmNjN9ZWxzZXtpZihZKzM+PU90KWJyZWFrO0dbWSsrXT0yNDB8aHQ+PjE4LEdbWSsrXT0xMjh8aHQ+PjEyJjYzLEdbWSsrXT0xMjh8aHQ+PjYmNjMsR1tZKytdPTEyOHxodCY2M319cmV0dXJuIEdbWV09MCxZLWx0fWZ1bmN0aW9uIFgoVixHLFkpe3JldHVybiBLKFYsdnQsRyxZKX1mdW5jdGlvbiBSKFYpe2Zvcih2YXIgRz0wLFk9MDtZPFYubGVuZ3RoOysrWSl7dmFyIEo9Vi5jaGFyQ29kZUF0KFkpO0o+PTU1Mjk2JiZKPD01NzM0MyYmKEo9NjU1MzYrKChKJjEwMjMpPDwxMCl8Vi5jaGFyQ29kZUF0KCsrWSkmMTAyMyksSjw9MTI3PysrRzpKPD0yMDQ3P0crPTI6Sjw9NjU1MzU/Rys9MzpHKz00fXJldHVybiBHfXZhciBvdD10eXBlb2YgVGV4dERlY29kZXI8InUiP25ldyBUZXh0RGVjb2RlcigidXRmLTE2bGUiKTp2b2lkIDA7ZnVuY3Rpb24gYXQoVixHKXtmb3IodmFyIFk9VixKPVk+PjEsbHQ9SitHLzI7IShKPj1sdCkmJm1lW0pdOykrK0o7aWYoWT1KPDwxLFktVj4zMiYmb3QpcmV0dXJuIG90LmRlY29kZSh2dC5zdWJhcnJheShWLFkpKTtmb3IodmFyIE90PSIiLFN0PTA7IShTdD49Ry8yKTsrK1N0KXt2YXIgaHQ9enRbVitTdCoyPj4xXTtpZihodD09MClicmVhaztPdCs9U3RyaW5nLmZyb21DaGFyQ29kZShodCl9cmV0dXJuIE90fWZ1bmN0aW9uIHB0KFYsRyxZKXtpZihZPT09dm9pZCAwJiYoWT0yMTQ3NDgzNjQ3KSxZPDIpcmV0dXJuIDA7WS09Mjtmb3IodmFyIEo9RyxsdD1ZPFYubGVuZ3RoKjI/WS8yOlYubGVuZ3RoLE90PTA7T3Q8bHQ7KytPdCl7dmFyIFN0PVYuY2hhckNvZGVBdChPdCk7enRbRz4+MV09U3QsRys9Mn1yZXR1cm4genRbRz4+MV09MCxHLUp9ZnVuY3Rpb24geXQoVil7cmV0dXJuIFYubGVuZ3RoKjJ9ZnVuY3Rpb24gcnQoVixHKXtmb3IodmFyIFk9MCxKPSIiOyEoWT49Ry80KTspe3ZhciBsdD1hZVtWK1kqND4+Ml07aWYobHQ9PTApYnJlYWs7aWYoKytZLGx0Pj02NTUzNil7dmFyIE90PWx0LTY1NTM2O0orPVN0cmluZy5mcm9tQ2hhckNvZGUoNTUyOTZ8T3Q+PjEwLDU2MzIwfE90JjEwMjMpfWVsc2UgSis9U3RyaW5nLmZyb21DaGFyQ29kZShsdCl9cmV0dXJuIEp9ZnVuY3Rpb24gUHQoVixHLFkpe2lmKFk9PT12b2lkIDAmJihZPTIxNDc0ODM2NDcpLFk8NClyZXR1cm4gMDtmb3IodmFyIEo9RyxsdD1KK1ktNCxPdD0wO090PFYubGVuZ3RoOysrT3Qpe3ZhciBTdD1WLmNoYXJDb2RlQXQoT3QpO2lmKFN0Pj01NTI5NiYmU3Q8PTU3MzQzKXt2YXIgaHQ9Vi5jaGFyQ29kZUF0KCsrT3QpO1N0PTY1NTM2KygoU3QmMTAyMyk8PDEwKXxodCYxMDIzfWlmKGFlW0c+PjJdPVN0LEcrPTQsRys0Pmx0KWJyZWFrfXJldHVybiBhZVtHPj4yXT0wLEctSn1mdW5jdGlvbiBndChWKXtmb3IodmFyIEc9MCxZPTA7WTxWLmxlbmd0aDsrK1kpe3ZhciBKPVYuY2hhckNvZGVBdChZKTtKPj01NTI5NiYmSjw9NTczNDMmJisrWSxHKz00fXJldHVybiBHfWZ1bmN0aW9uIEN0KFYsRyl7cmV0dXJuIFYlRz4wJiYoVis9Ry1WJUcpLFZ9dmFyIG10LHV0LHZ0LHp0LG1lLGFlLHBlLHVlLFF0O2Z1bmN0aW9uIEp0KFYpe210PVYsbi5IRUFQOD11dD1uZXcgSW50OEFycmF5KFYpLG4uSEVBUDE2PXp0PW5ldyBJbnQxNkFycmF5KFYpLG4uSEVBUDMyPWFlPW5ldyBJbnQzMkFycmF5KFYpLG4uSEVBUFU4PXZ0PW5ldyBVaW50OEFycmF5KFYpLG4uSEVBUFUxNj1tZT1uZXcgVWludDE2QXJyYXkoViksbi5IRUFQVTMyPXBlPW5ldyBVaW50MzJBcnJheShWKSxuLkhFQVBGMzI9dWU9bmV3IEZsb2F0MzJBcnJheShWKSxuLkhFQVBGNjQ9UXQ9bmV3IEZsb2F0NjRBcnJheShWKX12YXIgTmU9bi5JTklUSUFMX01FTU9SWXx8MTY3NzcyMTYsZ2UsRWU9W10sdW49W10sa2U9W10sYmU9W10sbG49ITE7ZnVuY3Rpb24gcG4oKXtpZihuLnByZVJ1bilmb3IodHlwZW9mIG4ucHJlUnVuPT0iZnVuY3Rpb24iJiYobi5wcmVSdW49W24ucHJlUnVuXSk7bi5wcmVSdW4ubGVuZ3RoOylHZShuLnByZVJ1bi5zaGlmdCgpKTt6byhFZSl9ZnVuY3Rpb24gRW4oKXtsbj0hMCx6byh1bil9ZnVuY3Rpb24gcmUoKXt6byhrZSl9ZnVuY3Rpb24gJHQoKXtpZihuLnBvc3RSdW4pZm9yKHR5cGVvZiBuLnBvc3RSdW49PSJmdW5jdGlvbiImJihuLnBvc3RSdW49W24ucG9zdFJ1bl0pO24ucG9zdFJ1bi5sZW5ndGg7KXNuKG4ucG9zdFJ1bi5zaGlmdCgpKTt6byhiZSl9ZnVuY3Rpb24gR2UoVil7RWUudW5zaGlmdChWKX1mdW5jdGlvbiBkbihWKXt1bi51bnNoaWZ0KFYpfWZ1bmN0aW9uIHNuKFYpe2JlLnVuc2hpZnQoVil9dmFyIG1uPTAsZm89bnVsbCxIbj1udWxsO2Z1bmN0aW9uIFplKFYpe21uKyssbi5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZuLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMobW4pfWZ1bmN0aW9uIGNuKFYpe2lmKG1uLS0sbi5tb25pdG9yUnVuRGVwZW5kZW5jaWVzJiZuLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMobW4pLG1uPT0wJiYoZm8hPT1udWxsJiYoY2xlYXJJbnRlcnZhbChmbyksZm89bnVsbCksSG4pKXt2YXIgRz1IbjtIbj1udWxsLEcoKX19bi5wcmVsb2FkZWRJbWFnZXM9e30sbi5wcmVsb2FkZWRBdWRpb3M9e307ZnVuY3Rpb24gS2UoVil7bi5vbkFib3J0JiZuLm9uQWJvcnQoViksVis9IiIsSShWKSxTPSEwLFA9MSxWPSJhYm9ydCgiK1YrIikuIEJ1aWxkIHdpdGggLXMgQVNTRVJUSU9OUz0xIGZvciBtb3JlIGluZm8uIjt2YXIgRz1uZXcgV2ViQXNzZW1ibHkuUnVudGltZUVycm9yKFYpO3Rocm93IHIoRyksR31mdW5jdGlvbiBobihWLEcpe3JldHVybiBTdHJpbmcucHJvdG90eXBlLnN0YXJ0c1dpdGg/Vi5zdGFydHNXaXRoKEcpOlYuaW5kZXhPZihHKT09PTB9dmFyIHVvPSJkYXRhOmFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbTtiYXNlNjQsIjtmdW5jdGlvbiBxbihWKXtyZXR1cm4gaG4oVix1byl9dmFyIEtuPSJmaWxlOi8vIjtmdW5jdGlvbiBsbyhWKXtyZXR1cm4gaG4oVixLbil9dmFyIHplPSJiYXNpc190cmFuc2NvZGVyLndhc20iO3FuKHplKXx8KHplPWcoemUpKTtmdW5jdGlvbiBMZShWKXt0cnl7aWYoVj09emUmJkwpcmV0dXJuIG5ldyBVaW50OEFycmF5KEwpO2lmKE8pcmV0dXJuIE8oVik7dGhyb3ciYm90aCBhc3luYyBhbmQgc3luYyBmZXRjaGluZyBvZiB0aGUgd2FzbSBmYWlsZWQifWNhdGNoKEcpe0tlKEcpfX1mdW5jdGlvbiBEbigpe2lmKCFMJiYobHx8cCkpe2lmKHR5cGVvZiBmZXRjaD09ImZ1bmN0aW9uIiYmIWxvKHplKSlyZXR1cm4gZmV0Y2goemUse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKFYpe2lmKCFWLm9rKXRocm93ImZhaWxlZCB0byBsb2FkIHdhc20gYmluYXJ5IGZpbGUgYXQgJyIremUrIiciO3JldHVybiBWLmFycmF5QnVmZmVyKCl9KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiBMZSh6ZSl9KTtpZihUKXJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihWLEcpe1QoemUsZnVuY3Rpb24oWSl7VihuZXcgVWludDhBcnJheShZKSl9LEcpfSl9cmV0dXJuIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oZnVuY3Rpb24oKXtyZXR1cm4gTGUoemUpfSl9ZnVuY3Rpb24gV24oKXt2YXIgVj17YTpGbH07ZnVuY3Rpb24gRyhTdCxodCl7dmFyIF90PVN0LmV4cG9ydHM7bi5hc209X3QsQT1uLmFzbS5LLEp0KEEuYnVmZmVyKSxnZT1uLmFzbS5PLGRuKG4uYXNtLkwpLGNuKCJ3YXNtLWluc3RhbnRpYXRlIil9WmUoIndhc20taW5zdGFudGlhdGUiKTtmdW5jdGlvbiBZKFN0KXtHKFN0Lmluc3RhbmNlKX1mdW5jdGlvbiBKKFN0KXtyZXR1cm4gRG4oKS50aGVuKGZ1bmN0aW9uKGh0KXt2YXIgX3Q9V2ViQXNzZW1ibHkuaW5zdGFudGlhdGUoaHQsVik7cmV0dXJuIF90fSkudGhlbihTdCxmdW5jdGlvbihodCl7SSgiZmFpbGVkIHRvIGFzeW5jaHJvbm91c2x5IHByZXBhcmUgd2FzbTogIitodCksS2UoaHQpfSl9ZnVuY3Rpb24gbHQoKXtyZXR1cm4hTCYmdHlwZW9mIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlU3RyZWFtaW5nPT0iZnVuY3Rpb24iJiYhcW4oemUpJiYhbG8oemUpJiZ0eXBlb2YgZmV0Y2g9PSJmdW5jdGlvbiI/ZmV0Y2goemUse2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKFN0KXt2YXIgaHQ9V2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcoU3QsVik7cmV0dXJuIGh0LnRoZW4oWSxmdW5jdGlvbihfdCl7cmV0dXJuIEkoIndhc20gc3RyZWFtaW5nIGNvbXBpbGUgZmFpbGVkOiAiK190KSxJKCJmYWxsaW5nIGJhY2sgdG8gQXJyYXlCdWZmZXIgaW5zdGFudGlhdGlvbiIpLEooWSl9KX0pOkooWSl9aWYobi5pbnN0YW50aWF0ZVdhc20pdHJ5e3ZhciBPdD1uLmluc3RhbnRpYXRlV2FzbShWLEcpO3JldHVybiBPdH1jYXRjaChTdCl7cmV0dXJuIEkoIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrU3QpLCExfXJldHVybiBsdCgpLmNhdGNoKHIpLHt9fWZ1bmN0aW9uIHpvKFYpe2Zvcig7Vi5sZW5ndGg+MDspe3ZhciBHPVYuc2hpZnQoKTtpZih0eXBlb2YgRz09ImZ1bmN0aW9uIil7RyhuKTtjb250aW51ZX12YXIgWT1HLmZ1bmM7dHlwZW9mIFk9PSJudW1iZXIiP0cuYXJnPT09dm9pZCAwP2dlLmdldChZKSgpOmdlLmdldChZKShHLmFyZyk6WShHLmFyZz09PXZvaWQgMD9udWxsOkcuYXJnKX19dmFyIHJuPXt9O2Z1bmN0aW9uIFJuKFYpe2Zvcig7Vi5sZW5ndGg7KXt2YXIgRz1WLnBvcCgpLFk9Vi5wb3AoKTtZKEcpfX1mdW5jdGlvbiBhcihWKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUocGVbVj4+Ml0pfXZhciBRbj17fSxqbz17fSxOcj17fSxOcz00OCxJcz01NztmdW5jdGlvbiBZaShWKXtpZihWPT09dm9pZCAwKXJldHVybiJfdW5rbm93biI7Vj1WLnJlcGxhY2UoL1teYS16QS1aMC05X10vZywiJCIpO3ZhciBHPVYuY2hhckNvZGVBdCgwKTtyZXR1cm4gRz49TnMmJkc8PUlzPyJfIitWOlZ9ZnVuY3Rpb24gSXIoVixHKXtyZXR1cm4gVj1ZaShWKSxuZXcgRnVuY3Rpb24oImJvZHkiLCJyZXR1cm4gZnVuY3Rpb24gIitWK2AoKSB7CiAgICAidXNlIHN0cmljdCI7ICAgIHJldHVybiBib2R5LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7Cn07CmApKEcpfWZ1bmN0aW9uICRpKFYsRyl7dmFyIFk9SXIoRyxmdW5jdGlvbihKKXt0aGlzLm5hbWU9Ryx0aGlzLm1lc3NhZ2U9Sjt2YXIgbHQ9bmV3IEVycm9yKEopLnN0YWNrO2x0IT09dm9pZCAwJiYodGhpcy5zdGFjaz10aGlzLnRvU3RyaW5nKCkrYApgK2x0LnJlcGxhY2UoL15FcnJvcig6W15cbl0qKT9cbi8sIiIpKX0pO3JldHVybiBZLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKFYucHJvdG90eXBlKSxZLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1ZLFkucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubWVzc2FnZT09PXZvaWQgMD90aGlzLm5hbWU6dGhpcy5uYW1lKyI6ICIrdGhpcy5tZXNzYWdlfSxZfXZhciB2cz12b2lkIDA7ZnVuY3Rpb24gYmkoVil7dGhyb3cgbmV3IHZzKFYpfWZ1bmN0aW9uIG9vKFYsRyxZKXtWLmZvckVhY2goZnVuY3Rpb24oaHQpe05yW2h0XT1HfSk7ZnVuY3Rpb24gSihodCl7dmFyIF90PVkoaHQpO190Lmxlbmd0aCE9PVYubGVuZ3RoJiZiaSgiTWlzbWF0Y2hlZCB0eXBlIGNvbnZlcnRlciBjb3VudCIpO2Zvcih2YXIgS3Q9MDtLdDxWLmxlbmd0aDsrK0t0KW9yKFZbS3RdLF90W0t0XSl9dmFyIGx0PW5ldyBBcnJheShHLmxlbmd0aCksT3Q9W10sU3Q9MDtHLmZvckVhY2goZnVuY3Rpb24oaHQsX3Qpe2pvLmhhc093blByb3BlcnR5KGh0KT9sdFtfdF09am9baHRdOihPdC5wdXNoKGh0KSxRbi5oYXNPd25Qcm9wZXJ0eShodCl8fChRbltodF09W10pLFFuW2h0XS5wdXNoKGZ1bmN0aW9uKCl7bHRbX3RdPWpvW2h0XSwrK1N0LFN0PT09T3QubGVuZ3RoJiZKKGx0KX0pKX0pLE90Lmxlbmd0aD09PTAmJkoobHQpfWZ1bmN0aW9uIHBvKFYpe3ZhciBHPXJuW1ZdO2RlbGV0ZSBybltWXTt2YXIgWT1HLnJhd0NvbnN0cnVjdG9yLEo9Ry5yYXdEZXN0cnVjdG9yLGx0PUcuZmllbGRzLE90PWx0Lm1hcChmdW5jdGlvbihTdCl7cmV0dXJuIFN0LmdldHRlclJldHVyblR5cGV9KS5jb25jYXQobHQubWFwKGZ1bmN0aW9uKFN0KXtyZXR1cm4gU3Quc2V0dGVyQXJndW1lbnRUeXBlfSkpO29vKFtWXSxPdCxmdW5jdGlvbihTdCl7dmFyIGh0PXt9O3JldHVybiBsdC5mb3JFYWNoKGZ1bmN0aW9uKF90LEt0KXt2YXIgdGU9X3QuZmllbGROYW1lLHdlPVN0W0t0XSxKZT1fdC5nZXR0ZXIsYm49X3QuZ2V0dGVyQ29udGV4dCxybz1TdFtLdCtsdC5sZW5ndGhdLElvPV90LnNldHRlcixscj1fdC5zZXR0ZXJDb250ZXh0O2h0W3RlXT17cmVhZDpmdW5jdGlvbihacil7cmV0dXJuIHdlLmZyb21XaXJlVHlwZShKZShibixacikpfSx3cml0ZTpmdW5jdGlvbihacixyZil7dmFyIEVpPVtdO0lvKGxyLFpyLHJvLnRvV2lyZVR5cGUoRWkscmYpKSxSbihFaSl9fX0pLFt7bmFtZTpHLm5hbWUsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKF90KXt2YXIgS3Q9e307Zm9yKHZhciB0ZSBpbiBodClLdFt0ZV09aHRbdGVdLnJlYWQoX3QpO3JldHVybiBKKF90KSxLdH0sdG9XaXJlVHlwZTpmdW5jdGlvbihfdCxLdCl7Zm9yKHZhciB0ZSBpbiBodClpZighKHRlIGluIEt0KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdNaXNzaW5nIGZpZWxkOiAgIicrdGUrJyInKTt2YXIgd2U9WSgpO2Zvcih0ZSBpbiBodClodFt0ZV0ud3JpdGUod2UsS3RbdGVdKTtyZXR1cm4gX3QhPT1udWxsJiZfdC5wdXNoKEosd2UpLHdlfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOmFyLGRlc3RydWN0b3JGdW5jdGlvbjpKfV19KX1mdW5jdGlvbiB2cihWKXtzd2l0Y2goVil7Y2FzZSAxOnJldHVybiAwO2Nhc2UgMjpyZXR1cm4gMTtjYXNlIDQ6cmV0dXJuIDI7Y2FzZSA4OnJldHVybiAzO2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biB0eXBlIHNpemU6ICIrVil9fWZ1bmN0aW9uIE1jKCl7Zm9yKHZhciBWPW5ldyBBcnJheSgyNTYpLEc9MDtHPDI1NjsrK0cpVltHXT1TdHJpbmcuZnJvbUNoYXJDb2RlKEcpO05jPVZ9dmFyIE5jPXZvaWQgMDtmdW5jdGlvbiBGbihWKXtmb3IodmFyIEc9IiIsWT1WO3Z0W1ldOylHKz1OY1t2dFtZKytdXTtyZXR1cm4gR312YXIgVGk9dm9pZCAwO2Z1bmN0aW9uIERlKFYpe3Rocm93IG5ldyBUaShWKX1mdW5jdGlvbiBvcihWLEcsWSl7aWYoWT1ZfHx7fSwhKCJhcmdQYWNrQWR2YW5jZSJpbiBHKSl0aHJvdyBuZXcgVHlwZUVycm9yKCJyZWdpc3RlclR5cGUgcmVnaXN0ZXJlZEluc3RhbmNlIHJlcXVpcmVzIGFyZ1BhY2tBZHZhbmNlIik7dmFyIEo9Ry5uYW1lO2lmKFZ8fERlKCd0eXBlICInK0orJyIgbXVzdCBoYXZlIGEgcG9zaXRpdmUgaW50ZWdlciB0eXBlaWQgcG9pbnRlcicpLGpvLmhhc093blByb3BlcnR5KFYpKXtpZihZLmlnbm9yZUR1cGxpY2F0ZVJlZ2lzdHJhdGlvbnMpcmV0dXJuO0RlKCJDYW5ub3QgcmVnaXN0ZXIgdHlwZSAnIitKKyInIHR3aWNlIil9aWYoam9bVl09RyxkZWxldGUgTnJbVl0sUW4uaGFzT3duUHJvcGVydHkoVikpe3ZhciBsdD1RbltWXTtkZWxldGUgUW5bVl0sbHQuZm9yRWFjaChmdW5jdGlvbihPdCl7T3QoKX0pfX1mdW5jdGlvbiBBdShWLEcsWSxKLGx0KXt2YXIgT3Q9dnIoWSk7Rz1GbihHKSxvcihWLHtuYW1lOkcsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKFN0KXtyZXR1cm4hIVN0fSx0b1dpcmVUeXBlOmZ1bmN0aW9uKFN0LGh0KXtyZXR1cm4gaHQ/SjpsdH0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpmdW5jdGlvbihTdCl7dmFyIGh0O2lmKFk9PT0xKWh0PXV0O2Vsc2UgaWYoWT09PTIpaHQ9enQ7ZWxzZSBpZihZPT09NClodD1hZTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gYm9vbGVhbiB0eXBlIHNpemU6ICIrRyk7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKGh0W1N0Pj5PdF0pfSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIGJ1KFYpe2lmKCEodGhpcyBpbnN0YW5jZW9mIExyKXx8IShWIGluc3RhbmNlb2YgTHIpKXJldHVybiExO2Zvcih2YXIgRz10aGlzLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLFk9dGhpcy4kJC5wdHIsSj1WLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLGx0PVYuJCQucHRyO0cuYmFzZUNsYXNzOylZPUcudXBjYXN0KFkpLEc9Ry5iYXNlQ2xhc3M7Zm9yKDtKLmJhc2VDbGFzczspbHQ9Si51cGNhc3QobHQpLEo9Si5iYXNlQ2xhc3M7cmV0dXJuIEc9PT1KJiZZPT09bHR9ZnVuY3Rpb24gVHUoVil7cmV0dXJue2NvdW50OlYuY291bnQsZGVsZXRlU2NoZWR1bGVkOlYuZGVsZXRlU2NoZWR1bGVkLHByZXNlcnZlUG9pbnRlck9uRGVsZXRlOlYucHJlc2VydmVQb2ludGVyT25EZWxldGUscHRyOlYucHRyLHB0clR5cGU6Vi5wdHJUeXBlLHNtYXJ0UHRyOlYuc21hcnRQdHIsc21hcnRQdHJUeXBlOlYuc21hcnRQdHJUeXBlfX1mdW5jdGlvbiBJYyhWKXtmdW5jdGlvbiBHKFkpe3JldHVybiBZLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLm5hbWV9RGUoRyhWKSsiIGluc3RhbmNlIGFscmVhZHkgZGVsZXRlZCIpfXZhciB2Yz0hMTtmdW5jdGlvbiBxYShWKXt9ZnVuY3Rpb24gd3UoVil7Vi5zbWFydFB0cj9WLnNtYXJ0UHRyVHlwZS5yYXdEZXN0cnVjdG9yKFYuc21hcnRQdHIpOlYucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MucmF3RGVzdHJ1Y3RvcihWLnB0cil9ZnVuY3Rpb24gS2EoVil7Vi5jb3VudC52YWx1ZS09MTt2YXIgRz1WLmNvdW50LnZhbHVlPT09MDtHJiZ3dShWKX1mdW5jdGlvbiBaaShWKXtyZXR1cm4gdHlwZW9mIEZpbmFsaXphdGlvbkdyb3VwPiJ1Ij8oWmk9ZnVuY3Rpb24oRyl7cmV0dXJuIEd9LFYpOih2Yz1uZXcgRmluYWxpemF0aW9uR3JvdXAoZnVuY3Rpb24oRyl7Zm9yKHZhciBZPUcubmV4dCgpOyFZLmRvbmU7WT1HLm5leHQoKSl7dmFyIEo9WS52YWx1ZTtKLnB0cj9LYShKKTpjb25zb2xlLndhcm4oIm9iamVjdCBhbHJlYWR5IGRlbGV0ZWQ6ICIrSi5wdHIpfX0pLFppPWZ1bmN0aW9uKEcpe3JldHVybiB2Yy5yZWdpc3RlcihHLEcuJCQsRy4kJCksR30scWE9ZnVuY3Rpb24oRyl7dmMudW5yZWdpc3RlcihHLiQkKX0sWmkoVikpfWZ1bmN0aW9uIE91KCl7aWYodGhpcy4kJC5wdHJ8fEljKHRoaXMpLHRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUpcmV0dXJuIHRoaXMuJCQuY291bnQudmFsdWUrPTEsdGhpczt2YXIgVj1aaShPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSx7JCQ6e3ZhbHVlOlR1KHRoaXMuJCQpfX0pKTtyZXR1cm4gVi4kJC5jb3VudC52YWx1ZSs9MSxWLiQkLmRlbGV0ZVNjaGVkdWxlZD0hMSxWfWZ1bmN0aW9uIEV1KCl7dGhpcy4kJC5wdHJ8fEljKHRoaXMpLHRoaXMuJCQuZGVsZXRlU2NoZWR1bGVkJiYhdGhpcy4kJC5wcmVzZXJ2ZVBvaW50ZXJPbkRlbGV0ZSYmRGUoIk9iamVjdCBhbHJlYWR5IHNjaGVkdWxlZCBmb3IgZGVsZXRpb24iKSxxYSh0aGlzKSxLYSh0aGlzLiQkKSx0aGlzLiQkLnByZXNlcnZlUG9pbnRlck9uRGVsZXRlfHwodGhpcy4kJC5zbWFydFB0cj12b2lkIDAsdGhpcy4kJC5wdHI9dm9pZCAwKX1mdW5jdGlvbiBSdSgpe3JldHVybiF0aGlzLiQkLnB0cn12YXIgUWk9dm9pZCAwLEppPVtdO2Z1bmN0aW9uIExjKCl7Zm9yKDtKaS5sZW5ndGg7KXt2YXIgVj1KaS5wb3AoKTtWLiQkLmRlbGV0ZVNjaGVkdWxlZD0hMSxWLmRlbGV0ZSgpfX1mdW5jdGlvbiBTdSgpe3JldHVybiB0aGlzLiQkLnB0cnx8SWModGhpcyksdGhpcy4kJC5kZWxldGVTY2hlZHVsZWQmJiF0aGlzLiQkLnByZXNlcnZlUG9pbnRlck9uRGVsZXRlJiZEZSgiT2JqZWN0IGFscmVhZHkgc2NoZWR1bGVkIGZvciBkZWxldGlvbiIpLEppLnB1c2godGhpcyksSmkubGVuZ3RoPT09MSYmUWkmJlFpKExjKSx0aGlzLiQkLmRlbGV0ZVNjaGVkdWxlZD0hMCx0aGlzfWZ1bmN0aW9uIEN1KCl7THIucHJvdG90eXBlLmlzQWxpYXNPZj1idSxMci5wcm90b3R5cGUuY2xvbmU9T3UsTHIucHJvdG90eXBlLmRlbGV0ZT1FdSxMci5wcm90b3R5cGUuaXNEZWxldGVkPVJ1LExyLnByb3RvdHlwZS5kZWxldGVMYXRlcj1TdX1mdW5jdGlvbiBMcigpe312YXIgV2E9e307ZnVuY3Rpb24gWGEoVixHLFkpe2lmKFZbR10ub3ZlcmxvYWRUYWJsZT09PXZvaWQgMCl7dmFyIEo9VltHXTtWW0ddPWZ1bmN0aW9uKCl7cmV0dXJuIFZbR10ub3ZlcmxvYWRUYWJsZS5oYXNPd25Qcm9wZXJ0eShhcmd1bWVudHMubGVuZ3RoKXx8RGUoIkZ1bmN0aW9uICciK1krIicgY2FsbGVkIHdpdGggYW4gaW52YWxpZCBudW1iZXIgb2YgYXJndW1lbnRzICgiK2FyZ3VtZW50cy5sZW5ndGgrIikgLSBleHBlY3RzIG9uZSBvZiAoIitWW0ddLm92ZXJsb2FkVGFibGUrIikhIiksVltHXS5vdmVybG9hZFRhYmxlW2FyZ3VtZW50cy5sZW5ndGhdLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0sVltHXS5vdmVybG9hZFRhYmxlPVtdLFZbR10ub3ZlcmxvYWRUYWJsZVtKLmFyZ0NvdW50XT1KfX1mdW5jdGlvbiBEYyhWLEcsWSl7bi5oYXNPd25Qcm9wZXJ0eShWKT8oKFk9PT12b2lkIDB8fG5bVl0ub3ZlcmxvYWRUYWJsZSE9PXZvaWQgMCYmbltWXS5vdmVybG9hZFRhYmxlW1ldIT09dm9pZCAwKSYmRGUoIkNhbm5vdCByZWdpc3RlciBwdWJsaWMgbmFtZSAnIitWKyInIHR3aWNlIiksWGEobixWLFYpLG4uaGFzT3duUHJvcGVydHkoWSkmJkRlKCJDYW5ub3QgcmVnaXN0ZXIgbXVsdGlwbGUgb3ZlcmxvYWRzIG9mIGEgZnVuY3Rpb24gd2l0aCB0aGUgc2FtZSBudW1iZXIgb2YgYXJndW1lbnRzICgiK1krIikhIiksbltWXS5vdmVybG9hZFRhYmxlW1ldPUcpOihuW1ZdPUcsWSE9PXZvaWQgMCYmKG5bVl0ubnVtQXJndW1lbnRzPVkpKX1mdW5jdGlvbiB4dShWLEcsWSxKLGx0LE90LFN0LGh0KXt0aGlzLm5hbWU9Vix0aGlzLmNvbnN0cnVjdG9yPUcsdGhpcy5pbnN0YW5jZVByb3RvdHlwZT1ZLHRoaXMucmF3RGVzdHJ1Y3Rvcj1KLHRoaXMuYmFzZUNsYXNzPWx0LHRoaXMuZ2V0QWN0dWFsVHlwZT1PdCx0aGlzLnVwY2FzdD1TdCx0aGlzLmRvd25jYXN0PWh0LHRoaXMucHVyZVZpcnR1YWxGdW5jdGlvbnM9W119ZnVuY3Rpb24gRmMoVixHLFkpe2Zvcig7RyE9PVk7KUcudXBjYXN0fHxEZSgiRXhwZWN0ZWQgbnVsbCBvciBpbnN0YW5jZSBvZiAiK1kubmFtZSsiLCBnb3QgYW4gaW5zdGFuY2Ugb2YgIitHLm5hbWUpLFY9Ry51cGNhc3QoViksRz1HLmJhc2VDbGFzcztyZXR1cm4gVn1mdW5jdGlvbiBQdShWLEcpe2lmKEc9PT1udWxsKXJldHVybiB0aGlzLmlzUmVmZXJlbmNlJiZEZSgibnVsbCBpcyBub3QgYSB2YWxpZCAiK3RoaXMubmFtZSksMDtHLiQkfHxEZSgnQ2Fubm90IHBhc3MgIicrd2koRykrJyIgYXMgYSAnK3RoaXMubmFtZSksRy4kJC5wdHJ8fERlKCJDYW5ub3QgcGFzcyBkZWxldGVkIG9iamVjdCBhcyBhIHBvaW50ZXIgb2YgdHlwZSAiK3RoaXMubmFtZSk7dmFyIFk9Ry4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzcyxKPUZjKEcuJCQucHRyLFksdGhpcy5yZWdpc3RlcmVkQ2xhc3MpO3JldHVybiBKfWZ1bmN0aW9uIE11KFYsRyl7dmFyIFk7aWYoRz09PW51bGwpcmV0dXJuIHRoaXMuaXNSZWZlcmVuY2UmJkRlKCJudWxsIGlzIG5vdCBhIHZhbGlkICIrdGhpcy5uYW1lKSx0aGlzLmlzU21hcnRQb2ludGVyPyhZPXRoaXMucmF3Q29uc3RydWN0b3IoKSxWIT09bnVsbCYmVi5wdXNoKHRoaXMucmF3RGVzdHJ1Y3RvcixZKSxZKTowO0cuJCR8fERlKCdDYW5ub3QgcGFzcyAiJyt3aShHKSsnIiBhcyBhICcrdGhpcy5uYW1lKSxHLiQkLnB0cnx8RGUoIkNhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICIrdGhpcy5uYW1lKSwhdGhpcy5pc0NvbnN0JiZHLiQkLnB0clR5cGUuaXNDb25zdCYmRGUoIkNhbm5vdCBjb252ZXJ0IGFyZ3VtZW50IG9mIHR5cGUgIisoRy4kJC5zbWFydFB0clR5cGU/Ry4kJC5zbWFydFB0clR5cGUubmFtZTpHLiQkLnB0clR5cGUubmFtZSkrIiB0byBwYXJhbWV0ZXIgdHlwZSAiK3RoaXMubmFtZSk7dmFyIEo9Ry4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzcztpZihZPUZjKEcuJCQucHRyLEosdGhpcy5yZWdpc3RlcmVkQ2xhc3MpLHRoaXMuaXNTbWFydFBvaW50ZXIpc3dpdGNoKEcuJCQuc21hcnRQdHI9PT12b2lkIDAmJkRlKCJQYXNzaW5nIHJhdyBwb2ludGVyIHRvIHNtYXJ0IHBvaW50ZXIgaXMgaWxsZWdhbCIpLHRoaXMuc2hhcmluZ1BvbGljeSl7Y2FzZSAwOkcuJCQuc21hcnRQdHJUeXBlPT09dGhpcz9ZPUcuJCQuc21hcnRQdHI6RGUoIkNhbm5vdCBjb252ZXJ0IGFyZ3VtZW50IG9mIHR5cGUgIisoRy4kJC5zbWFydFB0clR5cGU/Ry4kJC5zbWFydFB0clR5cGUubmFtZTpHLiQkLnB0clR5cGUubmFtZSkrIiB0byBwYXJhbWV0ZXIgdHlwZSAiK3RoaXMubmFtZSk7YnJlYWs7Y2FzZSAxOlk9Ry4kJC5zbWFydFB0cjticmVhaztjYXNlIDI6aWYoRy4kJC5zbWFydFB0clR5cGU9PT10aGlzKVk9Ry4kJC5zbWFydFB0cjtlbHNle3ZhciBsdD1HLmNsb25lKCk7WT10aGlzLnJhd1NoYXJlKFksdXIoZnVuY3Rpb24oKXtsdC5kZWxldGUoKX0pKSxWIT09bnVsbCYmVi5wdXNoKHRoaXMucmF3RGVzdHJ1Y3RvcixZKX1icmVhaztkZWZhdWx0OkRlKCJVbnN1cHBvcnRpbmcgc2hhcmluZyBwb2xpY3kiKX1yZXR1cm4gWX1mdW5jdGlvbiBOdShWLEcpe2lmKEc9PT1udWxsKXJldHVybiB0aGlzLmlzUmVmZXJlbmNlJiZEZSgibnVsbCBpcyBub3QgYSB2YWxpZCAiK3RoaXMubmFtZSksMDtHLiQkfHxEZSgnQ2Fubm90IHBhc3MgIicrd2koRykrJyIgYXMgYSAnK3RoaXMubmFtZSksRy4kJC5wdHJ8fERlKCJDYW5ub3QgcGFzcyBkZWxldGVkIG9iamVjdCBhcyBhIHBvaW50ZXIgb2YgdHlwZSAiK3RoaXMubmFtZSksRy4kJC5wdHJUeXBlLmlzQ29uc3QmJkRlKCJDYW5ub3QgY29udmVydCBhcmd1bWVudCBvZiB0eXBlICIrRy4kJC5wdHJUeXBlLm5hbWUrIiB0byBwYXJhbWV0ZXIgdHlwZSAiK3RoaXMubmFtZSk7dmFyIFk9Ry4kJC5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzcyxKPUZjKEcuJCQucHRyLFksdGhpcy5yZWdpc3RlcmVkQ2xhc3MpO3JldHVybiBKfWZ1bmN0aW9uIEl1KFYpe3JldHVybiB0aGlzLnJhd0dldFBvaW50ZWUmJihWPXRoaXMucmF3R2V0UG9pbnRlZShWKSksVn1mdW5jdGlvbiB2dShWKXt0aGlzLnJhd0Rlc3RydWN0b3ImJnRoaXMucmF3RGVzdHJ1Y3RvcihWKX1mdW5jdGlvbiBMdShWKXtWIT09bnVsbCYmVi5kZWxldGUoKX1mdW5jdGlvbiBZYShWLEcsWSl7aWYoRz09PVkpcmV0dXJuIFY7aWYoWS5iYXNlQ2xhc3M9PT12b2lkIDApcmV0dXJuIG51bGw7dmFyIEo9WWEoVixHLFkuYmFzZUNsYXNzKTtyZXR1cm4gSj09PW51bGw/bnVsbDpZLmRvd25jYXN0KEopfWZ1bmN0aW9uIER1KCl7cmV0dXJuIE9iamVjdC5rZXlzKHRzKS5sZW5ndGh9ZnVuY3Rpb24gRnUoKXt2YXIgVj1bXTtmb3IodmFyIEcgaW4gdHMpdHMuaGFzT3duUHJvcGVydHkoRykmJlYucHVzaCh0c1tHXSk7cmV0dXJuIFZ9ZnVuY3Rpb24gQnUoVil7UWk9VixKaS5sZW5ndGgmJlFpJiZRaShMYyl9ZnVuY3Rpb24gVXUoKXtuLmdldEluaGVyaXRlZEluc3RhbmNlQ291bnQ9RHUsbi5nZXRMaXZlSW5oZXJpdGVkSW5zdGFuY2VzPUZ1LG4uZmx1c2hQZW5kaW5nRGVsZXRlcz1MYyxuLnNldERlbGF5RnVuY3Rpb249QnV9dmFyIHRzPXt9O2Z1bmN0aW9uIFZ1KFYsRyl7Zm9yKEc9PT12b2lkIDAmJkRlKCJwdHIgc2hvdWxkIG5vdCBiZSB1bmRlZmluZWQiKTtWLmJhc2VDbGFzczspRz1WLnVwY2FzdChHKSxWPVYuYmFzZUNsYXNzO3JldHVybiBHfWZ1bmN0aW9uIGt1KFYsRyl7cmV0dXJuIEc9VnUoVixHKSx0c1tHXX1mdW5jdGlvbiBMcyhWLEcpeyghRy5wdHJUeXBlfHwhRy5wdHIpJiZiaSgibWFrZUNsYXNzSGFuZGxlIHJlcXVpcmVzIHB0ciBhbmQgcHRyVHlwZSIpO3ZhciBZPSEhRy5zbWFydFB0clR5cGUsSj0hIUcuc21hcnRQdHI7cmV0dXJuIFkhPT1KJiZiaSgiQm90aCBzbWFydFB0clR5cGUgYW5kIHNtYXJ0UHRyIG11c3QgYmUgc3BlY2lmaWVkIiksRy5jb3VudD17dmFsdWU6MX0sWmkoT2JqZWN0LmNyZWF0ZShWLHskJDp7dmFsdWU6R319KSl9ZnVuY3Rpb24gR3UoVil7dmFyIEc9dGhpcy5nZXRQb2ludGVlKFYpO2lmKCFHKXJldHVybiB0aGlzLmRlc3RydWN0b3IoViksbnVsbDt2YXIgWT1rdSh0aGlzLnJlZ2lzdGVyZWRDbGFzcyxHKTtpZihZIT09dm9pZCAwKXtpZihZLiQkLmNvdW50LnZhbHVlPT09MClyZXR1cm4gWS4kJC5wdHI9RyxZLiQkLnNtYXJ0UHRyPVYsWS5jbG9uZSgpO3ZhciBKPVkuY2xvbmUoKTtyZXR1cm4gdGhpcy5kZXN0cnVjdG9yKFYpLEp9ZnVuY3Rpb24gbHQoKXtyZXR1cm4gdGhpcy5pc1NtYXJ0UG9pbnRlcj9Mcyh0aGlzLnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZSx7cHRyVHlwZTp0aGlzLnBvaW50ZWVUeXBlLHB0cjpHLHNtYXJ0UHRyVHlwZTp0aGlzLHNtYXJ0UHRyOlZ9KTpMcyh0aGlzLnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZSx7cHRyVHlwZTp0aGlzLHB0cjpWfSl9dmFyIE90PXRoaXMucmVnaXN0ZXJlZENsYXNzLmdldEFjdHVhbFR5cGUoRyksU3Q9V2FbT3RdO2lmKCFTdClyZXR1cm4gbHQuY2FsbCh0aGlzKTt2YXIgaHQ7dGhpcy5pc0NvbnN0P2h0PVN0LmNvbnN0UG9pbnRlclR5cGU6aHQ9U3QucG9pbnRlclR5cGU7dmFyIF90PVlhKEcsdGhpcy5yZWdpc3RlcmVkQ2xhc3MsaHQucmVnaXN0ZXJlZENsYXNzKTtyZXR1cm4gX3Q9PT1udWxsP2x0LmNhbGwodGhpcyk6dGhpcy5pc1NtYXJ0UG9pbnRlcj9McyhodC5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUse3B0clR5cGU6aHQscHRyOl90LHNtYXJ0UHRyVHlwZTp0aGlzLHNtYXJ0UHRyOlZ9KTpMcyhodC5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUse3B0clR5cGU6aHQscHRyOl90fSl9ZnVuY3Rpb24genUoKXtmci5wcm90b3R5cGUuZ2V0UG9pbnRlZT1JdSxmci5wcm90b3R5cGUuZGVzdHJ1Y3Rvcj12dSxmci5wcm90b3R5cGUuYXJnUGFja0FkdmFuY2U9OCxmci5wcm90b3R5cGUucmVhZFZhbHVlRnJvbVBvaW50ZXI9YXIsZnIucHJvdG90eXBlLmRlbGV0ZU9iamVjdD1MdSxmci5wcm90b3R5cGUuZnJvbVdpcmVUeXBlPUd1fWZ1bmN0aW9uIGZyKFYsRyxZLEosbHQsT3QsU3QsaHQsX3QsS3QsdGUpe3RoaXMubmFtZT1WLHRoaXMucmVnaXN0ZXJlZENsYXNzPUcsdGhpcy5pc1JlZmVyZW5jZT1ZLHRoaXMuaXNDb25zdD1KLHRoaXMuaXNTbWFydFBvaW50ZXI9bHQsdGhpcy5wb2ludGVlVHlwZT1PdCx0aGlzLnNoYXJpbmdQb2xpY3k9U3QsdGhpcy5yYXdHZXRQb2ludGVlPWh0LHRoaXMucmF3Q29uc3RydWN0b3I9X3QsdGhpcy5yYXdTaGFyZT1LdCx0aGlzLnJhd0Rlc3RydWN0b3I9dGUsIWx0JiZHLmJhc2VDbGFzcz09PXZvaWQgMD9KPyh0aGlzLnRvV2lyZVR5cGU9UHUsdGhpcy5kZXN0cnVjdG9yRnVuY3Rpb249bnVsbCk6KHRoaXMudG9XaXJlVHlwZT1OdSx0aGlzLmRlc3RydWN0b3JGdW5jdGlvbj1udWxsKTp0aGlzLnRvV2lyZVR5cGU9TXV9ZnVuY3Rpb24gJGEoVixHLFkpe24uaGFzT3duUHJvcGVydHkoVil8fGJpKCJSZXBsYWNpbmcgbm9uZXhpc3RhbnQgcHVibGljIHN5bWJvbCIpLG5bVl0ub3ZlcmxvYWRUYWJsZSE9PXZvaWQgMCYmWSE9PXZvaWQgMD9uW1ZdLm92ZXJsb2FkVGFibGVbWV09RzoobltWXT1HLG5bVl0uYXJnQ291bnQ9WSl9ZnVuY3Rpb24ganUoVixHLFkpe3ZhciBKPW5bImR5bkNhbGxfIitWXTtyZXR1cm4gWSYmWS5sZW5ndGg/Si5hcHBseShudWxsLFtHXS5jb25jYXQoWSkpOkouY2FsbChudWxsLEcpfWZ1bmN0aW9uIEh1KFYsRyxZKXtyZXR1cm4gVi5pbmRleE9mKCJqIikhPS0xP2p1KFYsRyxZKTpnZS5nZXQoRykuYXBwbHkobnVsbCxZKX1mdW5jdGlvbiBxdShWLEcpe3ZhciBZPVtdO3JldHVybiBmdW5jdGlvbigpe1kubGVuZ3RoPWFyZ3VtZW50cy5sZW5ndGg7Zm9yKHZhciBKPTA7Sjxhcmd1bWVudHMubGVuZ3RoO0orKylZW0pdPWFyZ3VtZW50c1tKXTtyZXR1cm4gSHUoVixHLFkpfX1mdW5jdGlvbiBIbyhWLEcpe1Y9Rm4oVik7ZnVuY3Rpb24gWSgpe3JldHVybiBWLmluZGV4T2YoImoiKSE9LTE/cXUoVixHKTpnZS5nZXQoRyl9dmFyIEo9WSgpO3JldHVybiB0eXBlb2YgSiE9ImZ1bmN0aW9uIiYmRGUoInVua25vd24gZnVuY3Rpb24gcG9pbnRlciB3aXRoIHNpZ25hdHVyZSAiK1YrIjogIitHKSxKfXZhciBaYT12b2lkIDA7ZnVuY3Rpb24gUWEoVil7dmFyIEc9ZXQoViksWT1GbihHKTtyZXR1cm4gVyhHKSxZfWZ1bmN0aW9uIERzKFYsRyl7dmFyIFk9W10sSj17fTtmdW5jdGlvbiBsdChPdCl7aWYoIUpbT3RdJiYham9bT3RdKXtpZihOcltPdF0pe05yW090XS5mb3JFYWNoKGx0KTtyZXR1cm59WS5wdXNoKE90KSxKW090XT0hMH19dGhyb3cgRy5mb3JFYWNoKGx0KSxuZXcgWmEoVisiOiAiK1kubWFwKFFhKS5qb2luKFsiLCAiXSkpfWZ1bmN0aW9uIEt1KFYsRyxZLEosbHQsT3QsU3QsaHQsX3QsS3QsdGUsd2UsSmUpe3RlPUZuKHRlKSxPdD1IbyhsdCxPdCksaHQmJihodD1IbyhTdCxodCkpLEt0JiYoS3Q9SG8oX3QsS3QpKSxKZT1Ibyh3ZSxKZSk7dmFyIGJuPVlpKHRlKTtEYyhibixmdW5jdGlvbigpe0RzKCJDYW5ub3QgY29uc3RydWN0ICIrdGUrIiBkdWUgdG8gdW5ib3VuZCB0eXBlcyIsW0pdKX0pLG9vKFtWLEcsWV0sSj9bSl06W10sZnVuY3Rpb24ocm8pe3JvPXJvWzBdO3ZhciBJbyxscjtKPyhJbz1yby5yZWdpc3RlcmVkQ2xhc3MsbHI9SW8uaW5zdGFuY2VQcm90b3R5cGUpOmxyPUxyLnByb3RvdHlwZTt2YXIgWnI9SXIoYm4sZnVuY3Rpb24oKXtpZihPYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykhPT1yZil0aHJvdyBuZXcgVGkoIlVzZSAnbmV3JyB0byBjb25zdHJ1Y3QgIit0ZSk7aWYoRWkuY29uc3RydWN0b3JfYm9keT09PXZvaWQgMCl0aHJvdyBuZXcgVGkodGUrIiBoYXMgbm8gYWNjZXNzaWJsZSBjb25zdHJ1Y3RvciIpO3ZhciB1MT1FaS5jb25zdHJ1Y3Rvcl9ib2R5W2FyZ3VtZW50cy5sZW5ndGhdO2lmKHUxPT09dm9pZCAwKXRocm93IG5ldyBUaSgiVHJpZWQgdG8gaW52b2tlIGN0b3Igb2YgIit0ZSsiIHdpdGggaW52YWxpZCBudW1iZXIgb2YgcGFyYW1ldGVycyAoIithcmd1bWVudHMubGVuZ3RoKyIpIC0gZXhwZWN0ZWQgKCIrT2JqZWN0LmtleXMoRWkuY29uc3RydWN0b3JfYm9keSkudG9TdHJpbmcoKSsiKSBwYXJhbWV0ZXJzIGluc3RlYWQhIik7cmV0dXJuIHUxLmFwcGx5KHRoaXMsYXJndW1lbnRzKX0pLHJmPU9iamVjdC5jcmVhdGUobHIse2NvbnN0cnVjdG9yOnt2YWx1ZTpacn19KTtaci5wcm90b3R5cGU9cmY7dmFyIEVpPW5ldyB4dSh0ZSxacixyZixKZSxJbyxPdCxodCxLdCksWFM9bmV3IGZyKHRlLEVpLCEwLCExLCExKSxhMT1uZXcgZnIodGUrIioiLEVpLCExLCExLCExKSxmMT1uZXcgZnIodGUrIiBjb25zdCoiLEVpLCExLCEwLCExKTtyZXR1cm4gV2FbVl09e3BvaW50ZXJUeXBlOmExLGNvbnN0UG9pbnRlclR5cGU6ZjF9LCRhKGJuLFpyKSxbWFMsYTEsZjFdfSl9ZnVuY3Rpb24gQmMoVixHKXtmb3IodmFyIFk9W10sSj0wO0o8VjtKKyspWS5wdXNoKGFlWyhHPj4yKStKXSk7cmV0dXJuIFl9ZnVuY3Rpb24gV3UoVixHLFksSixsdCxPdCl7QihHPjApO3ZhciBTdD1CYyhHLFkpO2x0PUhvKEosbHQpO3ZhciBodD1bT3RdLF90PVtdO29vKFtdLFtWXSxmdW5jdGlvbihLdCl7S3Q9S3RbMF07dmFyIHRlPSJjb25zdHJ1Y3RvciAiK0t0Lm5hbWU7aWYoS3QucmVnaXN0ZXJlZENsYXNzLmNvbnN0cnVjdG9yX2JvZHk9PT12b2lkIDAmJihLdC5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keT1bXSksS3QucmVnaXN0ZXJlZENsYXNzLmNvbnN0cnVjdG9yX2JvZHlbRy0xXSE9PXZvaWQgMCl0aHJvdyBuZXcgVGkoIkNhbm5vdCByZWdpc3RlciBtdWx0aXBsZSBjb25zdHJ1Y3RvcnMgd2l0aCBpZGVudGljYWwgbnVtYmVyIG9mIHBhcmFtZXRlcnMgKCIrKEctMSkrIikgZm9yIGNsYXNzICciK0t0Lm5hbWUrIichIE92ZXJsb2FkIHJlc29sdXRpb24gaXMgY3VycmVudGx5IG9ubHkgcGVyZm9ybWVkIHVzaW5nIHRoZSBwYXJhbWV0ZXIgY291bnQsIG5vdCBhY3R1YWwgdHlwZSBpbmZvISIpO3JldHVybiBLdC5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keVtHLTFdPWZ1bmN0aW9uKCl7RHMoIkNhbm5vdCBjb25zdHJ1Y3QgIitLdC5uYW1lKyIgZHVlIHRvIHVuYm91bmQgdHlwZXMiLFN0KX0sb28oW10sU3QsZnVuY3Rpb24od2Upe3JldHVybiBLdC5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keVtHLTFdPWZ1bmN0aW9uKCl7YXJndW1lbnRzLmxlbmd0aCE9PUctMSYmRGUodGUrIiBjYWxsZWQgd2l0aCAiK2FyZ3VtZW50cy5sZW5ndGgrIiBhcmd1bWVudHMsIGV4cGVjdGVkICIrKEctMSkpLF90Lmxlbmd0aD0wLGh0Lmxlbmd0aD1HO2Zvcih2YXIgYm49MTtibjxHOysrYm4paHRbYm5dPXdlW2JuXS50b1dpcmVUeXBlKF90LGFyZ3VtZW50c1tibi0xXSk7dmFyIHJvPWx0LmFwcGx5KG51bGwsaHQpO3JldHVybiBSbihfdCksd2VbMF0uZnJvbVdpcmVUeXBlKHJvKX0sW119KSxbXX0pfWZ1bmN0aW9uIEphKFYsRyl7aWYoIShWIGluc3RhbmNlb2YgRnVuY3Rpb24pKXRocm93IG5ldyBUeXBlRXJyb3IoIm5ld18gY2FsbGVkIHdpdGggY29uc3RydWN0b3IgdHlwZSAiK3R5cGVvZiBWKyIgd2hpY2ggaXMgbm90IGEgZnVuY3Rpb24iKTt2YXIgWT1JcihWLm5hbWV8fCJ1bmtub3duRnVuY3Rpb25OYW1lIixmdW5jdGlvbigpe30pO1kucHJvdG90eXBlPVYucHJvdG90eXBlO3ZhciBKPW5ldyBZLGx0PVYuYXBwbHkoSixHKTtyZXR1cm4gbHQgaW5zdGFuY2VvZiBPYmplY3Q/bHQ6Sn1mdW5jdGlvbiB0ZihWLEcsWSxKLGx0KXt2YXIgT3Q9Ry5sZW5ndGg7T3Q8MiYmRGUoImFyZ1R5cGVzIGFycmF5IHNpemUgbWlzbWF0Y2ghIE11c3QgYXQgbGVhc3QgZ2V0IHJldHVybiB2YWx1ZSBhbmQgJ3RoaXMnIHR5cGVzISIpO2Zvcih2YXIgU3Q9R1sxXSE9PW51bGwmJlkhPT1udWxsLGh0PSExLF90PTE7X3Q8Ry5sZW5ndGg7KytfdClpZihHW190XSE9PW51bGwmJkdbX3RdLmRlc3RydWN0b3JGdW5jdGlvbj09PXZvaWQgMCl7aHQ9ITA7YnJlYWt9Zm9yKHZhciBLdD1HWzBdLm5hbWUhPT0idm9pZCIsdGU9IiIsd2U9IiIsX3Q9MDtfdDxPdC0yOysrX3QpdGUrPShfdCE9PTA/IiwgIjoiIikrImFyZyIrX3Qsd2UrPShfdCE9PTA/IiwgIjoiIikrImFyZyIrX3QrIldpcmVkIjt2YXIgSmU9InJldHVybiBmdW5jdGlvbiAiK1lpKFYpKyIoIit0ZStgKSB7CmlmIChhcmd1bWVudHMubGVuZ3RoICE9PSBgKyhPdC0yKStgKSB7CnRocm93QmluZGluZ0Vycm9yKCdmdW5jdGlvbiBgK1YrIiBjYWxsZWQgd2l0aCAnICsgYXJndW1lbnRzLmxlbmd0aCArICcgYXJndW1lbnRzLCBleHBlY3RlZCAiKyhPdC0yKStgIGFyZ3MhJyk7Cn0KYDtodCYmKEplKz1gdmFyIGRlc3RydWN0b3JzID0gW107CmApO3ZhciBibj1odD8iZGVzdHJ1Y3RvcnMiOiJudWxsIixybz1bInRocm93QmluZGluZ0Vycm9yIiwiaW52b2tlciIsImZuIiwicnVuRGVzdHJ1Y3RvcnMiLCJyZXRUeXBlIiwiY2xhc3NQYXJhbSJdLElvPVtEZSxKLGx0LFJuLEdbMF0sR1sxXV07U3QmJihKZSs9InZhciB0aGlzV2lyZWQgPSBjbGFzc1BhcmFtLnRvV2lyZVR5cGUoIitibitgLCB0aGlzKTsKYCk7Zm9yKHZhciBfdD0wO190PE90LTI7KytfdClKZSs9InZhciBhcmciK190KyJXaXJlZCA9IGFyZ1R5cGUiK190KyIudG9XaXJlVHlwZSgiK2JuKyIsIGFyZyIrX3QrIik7IC8vICIrR1tfdCsyXS5uYW1lK2AKYCxyby5wdXNoKCJhcmdUeXBlIitfdCksSW8ucHVzaChHW190KzJdKTtpZihTdCYmKHdlPSJ0aGlzV2lyZWQiKyh3ZS5sZW5ndGg+MD8iLCAiOiIiKSt3ZSksSmUrPShLdD8idmFyIHJ2ID0gIjoiIikrImludm9rZXIoZm4iKyh3ZS5sZW5ndGg+MD8iLCAiOiIiKSt3ZStgKTsKYCxodClKZSs9YHJ1bkRlc3RydWN0b3JzKGRlc3RydWN0b3JzKTsKYDtlbHNlIGZvcih2YXIgX3Q9U3Q/MToyO190PEcubGVuZ3RoOysrX3Qpe3ZhciBscj1fdD09PTE/InRoaXNXaXJlZCI6ImFyZyIrKF90LTIpKyJXaXJlZCI7R1tfdF0uZGVzdHJ1Y3RvckZ1bmN0aW9uIT09bnVsbCYmKEplKz1scisiX2R0b3IoIitscisiKTsgLy8gIitHW190XS5uYW1lK2AKYCxyby5wdXNoKGxyKyJfZHRvciIpLElvLnB1c2goR1tfdF0uZGVzdHJ1Y3RvckZ1bmN0aW9uKSl9S3QmJihKZSs9YHZhciByZXQgPSByZXRUeXBlLmZyb21XaXJlVHlwZShydik7CnJldHVybiByZXQ7CmApLEplKz1gfQpgLHJvLnB1c2goSmUpO3ZhciBacj1KYShGdW5jdGlvbixybykuYXBwbHkobnVsbCxJbyk7cmV0dXJuIFpyfWZ1bmN0aW9uIFh1KFYsRyxZLEosbHQsT3QsU3QsaHQpe3ZhciBfdD1CYyhZLEopO0c9Rm4oRyksT3Q9SG8obHQsT3QpLG9vKFtdLFtWXSxmdW5jdGlvbihLdCl7S3Q9S3RbMF07dmFyIHRlPUt0Lm5hbWUrIi4iK0c7aHQmJkt0LnJlZ2lzdGVyZWRDbGFzcy5wdXJlVmlydHVhbEZ1bmN0aW9ucy5wdXNoKEcpO2Z1bmN0aW9uIHdlKCl7RHMoIkNhbm5vdCBjYWxsICIrdGUrIiBkdWUgdG8gdW5ib3VuZCB0eXBlcyIsX3QpfXZhciBKZT1LdC5yZWdpc3RlcmVkQ2xhc3MuaW5zdGFuY2VQcm90b3R5cGUsYm49SmVbR107cmV0dXJuIGJuPT09dm9pZCAwfHxibi5vdmVybG9hZFRhYmxlPT09dm9pZCAwJiZibi5jbGFzc05hbWUhPT1LdC5uYW1lJiZibi5hcmdDb3VudD09PVktMj8od2UuYXJnQ291bnQ9WS0yLHdlLmNsYXNzTmFtZT1LdC5uYW1lLEplW0ddPXdlKTooWGEoSmUsRyx0ZSksSmVbR10ub3ZlcmxvYWRUYWJsZVtZLTJdPXdlKSxvbyhbXSxfdCxmdW5jdGlvbihybyl7dmFyIElvPXRmKHRlLHJvLEt0LE90LFN0KTtyZXR1cm4gSmVbR10ub3ZlcmxvYWRUYWJsZT09PXZvaWQgMD8oSW8uYXJnQ291bnQ9WS0yLEplW0ddPUlvKTpKZVtHXS5vdmVybG9hZFRhYmxlW1ktMl09SW8sW119KSxbXX0pfWZ1bmN0aW9uIFl1KFYsRyxZKXtWPUZuKFYpLG9vKFtdLFtHXSxmdW5jdGlvbihKKXtyZXR1cm4gSj1KWzBdLG5bVl09Si5mcm9tV2lyZVR5cGUoWSksW119KX12YXIgVWM9W10sQW89W3t9LHt2YWx1ZTp2b2lkIDB9LHt2YWx1ZTpudWxsfSx7dmFsdWU6ITB9LHt2YWx1ZTohMX1dO2Z1bmN0aW9uIFZjKFYpe1Y+NCYmLS1Bb1tWXS5yZWZjb3VudD09PTAmJihBb1tWXT12b2lkIDAsVWMucHVzaChWKSl9ZnVuY3Rpb24gJHUoKXtmb3IodmFyIFY9MCxHPTU7RzxBby5sZW5ndGg7KytHKUFvW0ddIT09dm9pZCAwJiYrK1Y7cmV0dXJuIFZ9ZnVuY3Rpb24gWnUoKXtmb3IodmFyIFY9NTtWPEFvLmxlbmd0aDsrK1YpaWYoQW9bVl0hPT12b2lkIDApcmV0dXJuIEFvW1ZdO3JldHVybiBudWxsfWZ1bmN0aW9uIFF1KCl7bi5jb3VudF9lbXZhbF9oYW5kbGVzPSR1LG4uZ2V0X2ZpcnN0X2VtdmFsPVp1fWZ1bmN0aW9uIHVyKFYpe3N3aXRjaChWKXtjYXNlIHZvaWQgMDpyZXR1cm4gMTtjYXNlIG51bGw6cmV0dXJuIDI7Y2FzZSEwOnJldHVybiAzO2Nhc2UhMTpyZXR1cm4gNDtkZWZhdWx0Ont2YXIgRz1VYy5sZW5ndGg/VWMucG9wKCk6QW8ubGVuZ3RoO3JldHVybiBBb1tHXT17cmVmY291bnQ6MSx2YWx1ZTpWfSxHfX19ZnVuY3Rpb24gSnUoVixHKXtHPUZuKEcpLG9yKFYse25hbWU6Ryxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oWSl7dmFyIEo9QW9bWV0udmFsdWU7cmV0dXJuIFZjKFkpLEp9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oWSxKKXtyZXR1cm4gdXIoSil9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6YXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiB0bChWLEcsWSl7c3dpdGNoKEcpe2Nhc2UgMDpyZXR1cm4gZnVuY3Rpb24oSil7dmFyIGx0PVk/dXQ6dnQ7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKGx0W0pdKX07Y2FzZSAxOnJldHVybiBmdW5jdGlvbihKKXt2YXIgbHQ9WT96dDptZTtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUobHRbSj4+MV0pfTtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKEope3ZhciBsdD1ZP2FlOnBlO3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShsdFtKPj4yXSl9O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBpbnRlZ2VyIHR5cGU6ICIrVil9fWZ1bmN0aW9uIGVsKFYsRyxZLEope3ZhciBsdD12cihZKTtHPUZuKEcpO2Z1bmN0aW9uIE90KCl7fU90LnZhbHVlcz17fSxvcihWLHtuYW1lOkcsY29uc3RydWN0b3I6T3QsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKFN0KXtyZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci52YWx1ZXNbU3RdfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKFN0LGh0KXtyZXR1cm4gaHQudmFsdWV9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6dGwoRyxsdCxKKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pLERjKEcsT3QpfWZ1bmN0aW9uIEZzKFYsRyl7dmFyIFk9am9bVl07cmV0dXJuIFk9PT12b2lkIDAmJkRlKEcrIiBoYXMgdW5rbm93biB0eXBlICIrUWEoVikpLFl9ZnVuY3Rpb24gbmwoVixHLFkpe3ZhciBKPUZzKFYsImVudW0iKTtHPUZuKEcpO3ZhciBsdD1KLmNvbnN0cnVjdG9yLE90PU9iamVjdC5jcmVhdGUoSi5jb25zdHJ1Y3Rvci5wcm90b3R5cGUse3ZhbHVlOnt2YWx1ZTpZfSxjb25zdHJ1Y3Rvcjp7dmFsdWU6SXIoSi5uYW1lKyJfIitHLGZ1bmN0aW9uKCl7fSl9fSk7bHQudmFsdWVzW1ldPU90LGx0W0ddPU90fWZ1bmN0aW9uIHdpKFYpe2lmKFY9PT1udWxsKXJldHVybiJudWxsIjt2YXIgRz10eXBlb2YgVjtyZXR1cm4gRz09PSJvYmplY3QifHxHPT09ImFycmF5Inx8Rz09PSJmdW5jdGlvbiI/Vi50b1N0cmluZygpOiIiK1Z9ZnVuY3Rpb24gb2woVixHKXtzd2l0Y2goRyl7Y2FzZSAyOnJldHVybiBmdW5jdGlvbihZKXtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUodWVbWT4+Ml0pfTtjYXNlIDM6cmV0dXJuIGZ1bmN0aW9uKFkpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShRdFtZPj4zXSl9O2RlZmF1bHQ6dGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBmbG9hdCB0eXBlOiAiK1YpfX1mdW5jdGlvbiBybChWLEcsWSl7dmFyIEo9dnIoWSk7Rz1GbihHKSxvcihWLHtuYW1lOkcsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKGx0KXtyZXR1cm4gbHR9LHRvV2lyZVR5cGU6ZnVuY3Rpb24obHQsT3Qpe2lmKHR5cGVvZiBPdCE9Im51bWJlciImJnR5cGVvZiBPdCE9ImJvb2xlYW4iKXRocm93IG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjb252ZXJ0ICInK3dpKE90KSsnIiB0byAnK3RoaXMubmFtZSk7cmV0dXJuIE90fSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOm9sKEcsSiksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBpbChWLEcsWSxKLGx0LE90KXt2YXIgU3Q9QmMoRyxZKTtWPUZuKFYpLGx0PUhvKEosbHQpLERjKFYsZnVuY3Rpb24oKXtEcygiQ2Fubm90IGNhbGwgIitWKyIgZHVlIHRvIHVuYm91bmQgdHlwZXMiLFN0KX0sRy0xKSxvbyhbXSxTdCxmdW5jdGlvbihodCl7dmFyIF90PVtodFswXSxudWxsXS5jb25jYXQoaHQuc2xpY2UoMSkpO3JldHVybiAkYShWLHRmKFYsX3QsbnVsbCxsdCxPdCksRy0xKSxbXX0pfWZ1bmN0aW9uIHNsKFYsRyxZKXtzd2l0Y2goRyl7Y2FzZSAwOnJldHVybiBZP2Z1bmN0aW9uKGx0KXtyZXR1cm4gdXRbbHRdfTpmdW5jdGlvbihsdCl7cmV0dXJuIHZ0W2x0XX07Y2FzZSAxOnJldHVybiBZP2Z1bmN0aW9uKGx0KXtyZXR1cm4genRbbHQ+PjFdfTpmdW5jdGlvbihsdCl7cmV0dXJuIG1lW2x0Pj4xXX07Y2FzZSAyOnJldHVybiBZP2Z1bmN0aW9uKGx0KXtyZXR1cm4gYWVbbHQ+PjJdfTpmdW5jdGlvbihsdCl7cmV0dXJuIHBlW2x0Pj4yXX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGludGVnZXIgdHlwZTogIitWKX19ZnVuY3Rpb24gY2woVixHLFksSixsdCl7Rz1GbihHKSxsdD09PS0xJiYobHQ9NDI5NDk2NzI5NSk7dmFyIE90PXZyKFkpLFN0PWZ1bmN0aW9uKEt0KXtyZXR1cm4gS3R9O2lmKEo9PT0wKXt2YXIgaHQ9MzItOCpZO1N0PWZ1bmN0aW9uKEt0KXtyZXR1cm4gS3Q8PGh0Pj4+aHR9fXZhciBfdD1HLmluZGV4T2YoInVuc2lnbmVkIikhPS0xO29yKFYse25hbWU6Ryxmcm9tV2lyZVR5cGU6U3QsdG9XaXJlVHlwZTpmdW5jdGlvbihLdCx0ZSl7aWYodHlwZW9mIHRlIT0ibnVtYmVyIiYmdHlwZW9mIHRlIT0iYm9vbGVhbiIpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgIicrd2kodGUpKyciIHRvICcrdGhpcy5uYW1lKTtpZih0ZTxKfHx0ZT5sdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdQYXNzaW5nIGEgbnVtYmVyICInK3dpKHRlKSsnIiBmcm9tIEpTIHNpZGUgdG8gQy9DKysgc2lkZSB0byBhbiBhcmd1bWVudCBvZiB0eXBlICInK0crJyIsIHdoaWNoIGlzIG91dHNpZGUgdGhlIHZhbGlkIHJhbmdlIFsnK0orIiwgIitsdCsiXSEiKTtyZXR1cm4gX3Q/dGU+Pj4wOnRlfDB9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6c2woRyxPdCxKIT09MCksZGVzdHJ1Y3RvckZ1bmN0aW9uOm51bGx9KX1mdW5jdGlvbiBhbChWLEcsWSl7dmFyIEo9W0ludDhBcnJheSxVaW50OEFycmF5LEludDE2QXJyYXksVWludDE2QXJyYXksSW50MzJBcnJheSxVaW50MzJBcnJheSxGbG9hdDMyQXJyYXksRmxvYXQ2NEFycmF5XSxsdD1KW0ddO2Z1bmN0aW9uIE90KFN0KXtTdD1TdD4+Mjt2YXIgaHQ9cGUsX3Q9aHRbU3RdLEt0PWh0W1N0KzFdO3JldHVybiBuZXcgbHQobXQsS3QsX3QpfVk9Rm4oWSksb3IoVix7bmFtZTpZLGZyb21XaXJlVHlwZTpPdCxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOk90fSx7aWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9uczohMH0pfWZ1bmN0aW9uIGZsKFYsRyl7Rz1GbihHKTt2YXIgWT1HPT09InN0ZDo6c3RyaW5nIjtvcihWLHtuYW1lOkcsZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKEope3ZhciBsdD1wZVtKPj4yXSxPdDtpZihZKWZvcih2YXIgU3Q9Sis0LGh0PTA7aHQ8PWx0OysraHQpe3ZhciBfdD1KKzQraHQ7aWYoaHQ9PWx0fHx2dFtfdF09PTApe3ZhciBLdD1fdC1TdCx0ZT1rKFN0LEt0KTtPdD09PXZvaWQgMD9PdD10ZTooT3QrPSJcMCIsT3QrPXRlKSxTdD1fdCsxfX1lbHNle2Zvcih2YXIgd2U9bmV3IEFycmF5KGx0KSxodD0wO2h0PGx0OysraHQpd2VbaHRdPVN0cmluZy5mcm9tQ2hhckNvZGUodnRbSis0K2h0XSk7T3Q9d2Uuam9pbigiIil9cmV0dXJuIFcoSiksT3R9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oSixsdCl7bHQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlciYmKGx0PW5ldyBVaW50OEFycmF5KGx0KSk7dmFyIE90LFN0PXR5cGVvZiBsdD09InN0cmluZyI7U3R8fGx0IGluc3RhbmNlb2YgVWludDhBcnJheXx8bHQgaW5zdGFuY2VvZiBVaW50OENsYW1wZWRBcnJheXx8bHQgaW5zdGFuY2VvZiBJbnQ4QXJyYXl8fERlKCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIHN0ZDo6c3RyaW5nIiksWSYmU3Q/T3Q9ZnVuY3Rpb24oKXtyZXR1cm4gUihsdCl9Ok90PWZ1bmN0aW9uKCl7cmV0dXJuIGx0Lmxlbmd0aH07dmFyIGh0PU90KCksX3Q9eig0K2h0KzEpO2lmKHBlW190Pj4yXT1odCxZJiZTdClYKGx0LF90KzQsaHQrMSk7ZWxzZSBpZihTdClmb3IodmFyIEt0PTA7S3Q8aHQ7KytLdCl7dmFyIHRlPWx0LmNoYXJDb2RlQXQoS3QpO3RlPjI1NSYmKFcoX3QpLERlKCJTdHJpbmcgaGFzIFVURi0xNiBjb2RlIHVuaXRzIHRoYXQgZG8gbm90IGZpdCBpbiA4IGJpdHMiKSksdnRbX3QrNCtLdF09dGV9ZWxzZSBmb3IodmFyIEt0PTA7S3Q8aHQ7KytLdCl2dFtfdCs0K0t0XT1sdFtLdF07cmV0dXJuIEohPT1udWxsJiZKLnB1c2goVyxfdCksX3R9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6YXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOmZ1bmN0aW9uKEope1coSil9fSl9ZnVuY3Rpb24gdWwoVixHLFkpe1k9Rm4oWSk7dmFyIEosbHQsT3QsU3QsaHQ7Rz09PTI/KEo9YXQsbHQ9cHQsU3Q9eXQsT3Q9ZnVuY3Rpb24oKXtyZXR1cm4gbWV9LGh0PTEpOkc9PT00JiYoSj1ydCxsdD1QdCxTdD1ndCxPdD1mdW5jdGlvbigpe3JldHVybiBwZX0saHQ9Miksb3IoVix7bmFtZTpZLGZyb21XaXJlVHlwZTpmdW5jdGlvbihfdCl7Zm9yKHZhciBLdD1wZVtfdD4+Ml0sdGU9T3QoKSx3ZSxKZT1fdCs0LGJuPTA7Ym48PUt0OysrYm4pe3ZhciBybz1fdCs0K2JuKkc7aWYoYm49PUt0fHx0ZVtybz4+aHRdPT0wKXt2YXIgSW89cm8tSmUsbHI9SihKZSxJbyk7d2U9PT12b2lkIDA/d2U9bHI6KHdlKz0iXDAiLHdlKz1sciksSmU9cm8rR319cmV0dXJuIFcoX3QpLHdlfSx0b1dpcmVUeXBlOmZ1bmN0aW9uKF90LEt0KXt0eXBlb2YgS3QhPSJzdHJpbmciJiZEZSgiQ2Fubm90IHBhc3Mgbm9uLXN0cmluZyB0byBDKysgc3RyaW5nIHR5cGUgIitZKTt2YXIgdGU9U3QoS3QpLHdlPXooNCt0ZStHKTtyZXR1cm4gcGVbd2U+PjJdPXRlPj5odCxsdChLdCx3ZSs0LHRlK0cpLF90IT09bnVsbCYmX3QucHVzaChXLHdlKSx3ZX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjphcixkZXN0cnVjdG9yRnVuY3Rpb246ZnVuY3Rpb24oX3Qpe1coX3QpfX0pfWZ1bmN0aW9uIGxsKFYsRyxZLEosbHQsT3Qpe3JuW1ZdPXtuYW1lOkZuKEcpLHJhd0NvbnN0cnVjdG9yOkhvKFksSikscmF3RGVzdHJ1Y3RvcjpIbyhsdCxPdCksZmllbGRzOltdfX1mdW5jdGlvbiBwbChWLEcsWSxKLGx0LE90LFN0LGh0LF90LEt0KXtybltWXS5maWVsZHMucHVzaCh7ZmllbGROYW1lOkZuKEcpLGdldHRlclJldHVyblR5cGU6WSxnZXR0ZXI6SG8oSixsdCksZ2V0dGVyQ29udGV4dDpPdCxzZXR0ZXJBcmd1bWVudFR5cGU6U3Qsc2V0dGVyOkhvKGh0LF90KSxzZXR0ZXJDb250ZXh0Okt0fSl9ZnVuY3Rpb24gZGwoVixHKXtHPUZuKEcpLG9yKFYse2lzVm9pZDohMCxuYW1lOkcsYXJnUGFja0FkdmFuY2U6MCxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oKXt9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oWSxKKXt9fSl9ZnVuY3Rpb24gZXMoVil7cmV0dXJuIFZ8fERlKCJDYW5ub3QgdXNlIGRlbGV0ZWQgdmFsLiBoYW5kbGUgPSAiK1YpLEFvW1ZdLnZhbHVlfWZ1bmN0aW9uIG1sKFYsRyxZKXtWPWVzKFYpLEc9RnMoRywiZW12YWw6OmFzIik7dmFyIEo9W10sbHQ9dXIoSik7cmV0dXJuIGFlW1k+PjJdPWx0LEcudG9XaXJlVHlwZShKLFYpfXZhciBobD17fTtmdW5jdGlvbiBCcyhWKXt2YXIgRz1obFtWXTtyZXR1cm4gRz09PXZvaWQgMD9GbihWKTpHfXZhciBrYz1bXTtmdW5jdGlvbiBfbChWLEcsWSxKKXtWPWtjW1ZdLEc9ZXMoRyksWT1CcyhZKSxWKEcsWSxudWxsLEopfWZ1bmN0aW9uIGVmKCl7cmV0dXJuIHR5cGVvZiBnbG9iYWxUaGlzPT0ib2JqZWN0Ij9nbG9iYWxUaGlzOmZ1bmN0aW9uKCl7cmV0dXJuIEZ1bmN0aW9ufSgpKCJyZXR1cm4gdGhpcyIpKCl9ZnVuY3Rpb24geWwoVil7cmV0dXJuIFY9PT0wP3VyKGVmKCkpOihWPUJzKFYpLHVyKGVmKClbVl0pKX1mdW5jdGlvbiBnbChWKXt2YXIgRz1rYy5sZW5ndGg7cmV0dXJuIGtjLnB1c2goViksR31mdW5jdGlvbiBBbChWLEcpe2Zvcih2YXIgWT1uZXcgQXJyYXkoViksSj0wO0o8VjsrK0opWVtKXT1GcyhhZVsoRz4+MikrSl0sInBhcmFtZXRlciAiK0opO3JldHVybiBZfWZ1bmN0aW9uIGJsKFYsRyl7Zm9yKHZhciBZPUFsKFYsRyksSj1ZWzBdLGx0PUoubmFtZSsiXyQiK1kuc2xpY2UoMSkubWFwKGZ1bmN0aW9uKGJuKXtyZXR1cm4gYm4ubmFtZX0pLmpvaW4oIl8iKSsiJCIsT3Q9WyJyZXRUeXBlIl0sU3Q9W0pdLGh0PSIiLF90PTA7X3Q8Vi0xOysrX3QpaHQrPShfdCE9PTA/IiwgIjoiIikrImFyZyIrX3QsT3QucHVzaCgiYXJnVHlwZSIrX3QpLFN0LnB1c2goWVsxK190XSk7Zm9yKHZhciBLdD1ZaSgibWV0aG9kQ2FsbGVyXyIrbHQpLHRlPSJyZXR1cm4gZnVuY3Rpb24gIitLdCtgKGhhbmRsZSwgbmFtZSwgZGVzdHJ1Y3RvcnMsIGFyZ3MpIHsKYCx3ZT0wLF90PTA7X3Q8Vi0xOysrX3QpdGUrPSIgICAgdmFyIGFyZyIrX3QrIiA9IGFyZ1R5cGUiK190KyIucmVhZFZhbHVlRnJvbVBvaW50ZXIoYXJncyIrKHdlPyIrIit3ZToiIikrYCk7CmAsd2UrPVlbX3QrMV0uYXJnUGFja0FkdmFuY2U7dGUrPSIgICAgdmFyIHJ2ID0gaGFuZGxlW25hbWVdKCIraHQrYCk7CmA7Zm9yKHZhciBfdD0wO190PFYtMTsrK190KVlbX3QrMV0uZGVsZXRlT2JqZWN0JiYodGUrPSIgICAgYXJnVHlwZSIrX3QrIi5kZWxldGVPYmplY3QoYXJnIitfdCtgKTsKYCk7Si5pc1ZvaWR8fCh0ZSs9YCAgICByZXR1cm4gcmV0VHlwZS50b1dpcmVUeXBlKGRlc3RydWN0b3JzLCBydik7CmApLHRlKz1gfTsKYCxPdC5wdXNoKHRlKTt2YXIgSmU9SmEoRnVuY3Rpb24sT3QpLmFwcGx5KG51bGwsU3QpO3JldHVybiBnbChKZSl9ZnVuY3Rpb24gVGwoVil7cmV0dXJuIFY9QnMoViksdXIobltWXSl9ZnVuY3Rpb24gd2woVixHKXtyZXR1cm4gVj1lcyhWKSxHPWVzKEcpLHVyKFZbR10pfWZ1bmN0aW9uIE9sKFYpe1Y+NCYmKEFvW1ZdLnJlZmNvdW50Kz0xKX1mdW5jdGlvbiBFbChWKXtmb3IodmFyIEc9IiIsWT0wO1k8VjsrK1kpRys9KFkhPT0wPyIsICI6IiIpKyJhcmciK1k7Zm9yKHZhciBKPSJyZXR1cm4gZnVuY3Rpb24gZW12YWxfYWxsb2NhdG9yXyIrVitgKGNvbnN0cnVjdG9yLCBhcmdUeXBlcywgYXJncykgewpgLFk9MDtZPFY7KytZKUorPSJ2YXIgYXJnVHlwZSIrWSsiID0gcmVxdWlyZVJlZ2lzdGVyZWRUeXBlKE1vZHVsZVsnSEVBUDMyJ11bKGFyZ1R5cGVzID4+PiAyKSArICIrWSsnXSwgInBhcmFtZXRlciAnK1krYCIpOwp2YXIgYXJnYCtZKyIgPSBhcmdUeXBlIitZK2AucmVhZFZhbHVlRnJvbVBvaW50ZXIoYXJncyk7CmFyZ3MgKz0gYXJnVHlwZWArWStgWydhcmdQYWNrQWR2YW5jZSddOwpgO3JldHVybiBKKz0idmFyIG9iaiA9IG5ldyBjb25zdHJ1Y3RvcigiK0crYCk7CnJldHVybiBfX2VtdmFsX3JlZ2lzdGVyKG9iaik7Cn0KYCxuZXcgRnVuY3Rpb24oInJlcXVpcmVSZWdpc3RlcmVkVHlwZSIsIk1vZHVsZSIsIl9fZW12YWxfcmVnaXN0ZXIiLEopKEZzLG4sdXIpfXZhciBuZj17fTtmdW5jdGlvbiBSbChWLEcsWSxKKXtWPWVzKFYpO3ZhciBsdD1uZltHXTtyZXR1cm4gbHR8fChsdD1FbChHKSxuZltHXT1sdCksbHQoVixZLEopfWZ1bmN0aW9uIFNsKFYpe3JldHVybiB1cihCcyhWKSl9ZnVuY3Rpb24gQ2woVil7dmFyIEc9QW9bVl0udmFsdWU7Um4oRyksVmMoVil9ZnVuY3Rpb24geGwoKXtLZSgpfWZ1bmN0aW9uIFBsKFYsRyxZKXt2dC5jb3B5V2l0aGluKFYsRyxHK1kpfWZ1bmN0aW9uIE1sKFYpe3RyeXtyZXR1cm4gQS5ncm93KFYtbXQuYnl0ZUxlbmd0aCs2NTUzNT4+PjE2KSxKdChBLmJ1ZmZlciksMX1jYXRjaHt9fWZ1bmN0aW9uIE5sKFYpe3ZhciBHPXZ0Lmxlbmd0aDtWPVY+Pj4wO3ZhciBZPTIxNDc0ODM2NDg7aWYoVj5ZKXJldHVybiExO2Zvcih2YXIgSj0xO0o8PTQ7Sio9Mil7dmFyIGx0PUcqKDErLjIvSik7bHQ9TWF0aC5taW4obHQsVisxMDA2NjMyOTYpO3ZhciBPdD1NYXRoLm1pbihZLEN0KE1hdGgubWF4KFYsbHQpLDY1NTM2KSksU3Q9TWwoT3QpO2lmKFN0KXJldHVybiEwfXJldHVybiExfXZhciBVcz17bWFwcGluZ3M6e30sYnVmZmVyczpbbnVsbCxbXSxbXV0scHJpbnRDaGFyOmZ1bmN0aW9uKFYsRyl7dmFyIFk9VXMuYnVmZmVyc1tWXTtHPT09MHx8Rz09PTEwPygoVj09PTE/TjpJKShIKFksMCkpLFkubGVuZ3RoPTApOlkucHVzaChHKX0sdmFyYXJnczp2b2lkIDAsZ2V0OmZ1bmN0aW9uKCl7VXMudmFyYXJncys9NDt2YXIgVj1hZVtVcy52YXJhcmdzLTQ+PjJdO3JldHVybiBWfSxnZXRTdHI6ZnVuY3Rpb24oVil7dmFyIEc9ayhWKTtyZXR1cm4gR30sZ2V0NjQ6ZnVuY3Rpb24oVixHKXtyZXR1cm4gVn19O2Z1bmN0aW9uIElsKFYpe3JldHVybiAwfWZ1bmN0aW9uIHZsKFYsRyxZLEosbHQpe31mdW5jdGlvbiBMbChWLEcsWSxKKXtmb3IodmFyIGx0PTAsT3Q9MDtPdDxZO090Kyspe2Zvcih2YXIgU3Q9YWVbRytPdCo4Pj4yXSxodD1hZVtHKyhPdCo4KzQpPj4yXSxfdD0wO190PGh0O190KyspVXMucHJpbnRDaGFyKFYsdnRbU3QrX3RdKTtsdCs9aHR9cmV0dXJuIGFlW0o+PjJdPWx0LDB9ZnVuY3Rpb24gRGwoVil7dihWfDApfXZzPW4uSW50ZXJuYWxFcnJvcj0kaShFcnJvciwiSW50ZXJuYWxFcnJvciIpLE1jKCksVGk9bi5CaW5kaW5nRXJyb3I9JGkoRXJyb3IsIkJpbmRpbmdFcnJvciIpLEN1KCksenUoKSxVdSgpLFphPW4uVW5ib3VuZFR5cGVFcnJvcj0kaShFcnJvciwiVW5ib3VuZFR5cGVFcnJvciIpLFF1KCk7dmFyIEZsPXt0OnBvLEk6QXUseDpLdSx3Old1LGQ6WHUsazpZdSxIOkp1LG46ZWwsYTpubCxBOnJsLGk6aWwsajpjbCxoOmFsLEI6Zmwsdjp1bCx1OmxsLGM6cGwsSjpkbCxtOm1sLHM6X2wsYjpWYyx5OnlsLHA6YmwscjpUbCxlOndsLGc6T2wscTpSbCxmOlNsLGw6Q2wsbzp4bCxFOlBsLEY6TmwsRzpJbCxDOnZsLHo6TGwsRDpEbH0sb2Y9V24oKSxDZT1uLl9fX3dhc21fY2FsbF9jdG9ycz1mdW5jdGlvbigpe3JldHVybihDZT1uLl9fX3dhc21fY2FsbF9jdG9ycz1uLmFzbS5MKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHo9bi5fbWFsbG9jPWZ1bmN0aW9uKCl7cmV0dXJuKHo9bi5fbWFsbG9jPW4uYXNtLk0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVz1uLl9mcmVlPWZ1bmN0aW9uKCl7cmV0dXJuKFc9bi5fZnJlZT1uLmFzbS5OKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGV0PW4uX19fZ2V0VHlwZU5hbWU9ZnVuY3Rpb24oKXtyZXR1cm4oZXQ9bi5fX19nZXRUeXBlTmFtZT1uLmFzbS5QKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE10PW4uX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcz1mdW5jdGlvbigpe3JldHVybihNdD1uLl9fX2VtYmluZF9yZWdpc3Rlcl9uYXRpdmVfYW5kX2J1aWx0aW5fdHlwZXM9bi5hc20uUSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxsZT1uLmR5bkNhbGxfamlqaT1mdW5jdGlvbigpe3JldHVybihsZT1uLmR5bkNhbGxfamlqaT1uLmFzbS5SKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFRlO2Z1bmN0aW9uIE9pKFYpe3RoaXMubmFtZT0iRXhpdFN0YXR1cyIsdGhpcy5tZXNzYWdlPSJQcm9ncmFtIHRlcm1pbmF0ZWQgd2l0aCBleGl0KCIrVisiKSIsdGhpcy5zdGF0dXM9Vn1Ibj1mdW5jdGlvbiBWKCl7VGV8fEdjKCksVGV8fChIbj1WKX07ZnVuY3Rpb24gR2MoVil7aWYoVj1WfHxmLG1uPjB8fChwbigpLG1uPjApKXJldHVybjtmdW5jdGlvbiBHKCl7VGV8fChUZT0hMCxuLmNhbGxlZFJ1bj0hMCwhUyYmKEVuKCkscmUoKSxvKG4pLG4ub25SdW50aW1lSW5pdGlhbGl6ZWQmJm4ub25SdW50aW1lSW5pdGlhbGl6ZWQoKSwkdCgpKSl9bi5zZXRTdGF0dXM/KG4uc2V0U3RhdHVzKCJSdW5uaW5nLi4uIiksc2V0VGltZW91dChmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtuLnNldFN0YXR1cygiIil9LDEpLEcoKX0sMSkpOkcoKX1pZihuLnJ1bj1HYyxuLnByZUluaXQpZm9yKHR5cGVvZiBuLnByZUluaXQ9PSJmdW5jdGlvbiImJihuLnByZUluaXQ9W24ucHJlSW5pdF0pO24ucHJlSW5pdC5sZW5ndGg+MDspbi5wcmVJbml0LnBvcCgpKCk7cmV0dXJuIEdjKCksZS5yZWFkeX19KCk7dHlwZW9mIHltPT0ib2JqZWN0IiYmdHlwZW9mIEpnPT0ib2JqZWN0Ij9KZy5leHBvcnRzPVFnOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLGZ1bmN0aW9uKCl7cmV0dXJuIFFnfSk6dHlwZW9mIHltPT0ib2JqZWN0IiYmKHltLkJBU0lTPVFnKX0pO3ZhciB0MT17fTtkZSh0MSx7ZGVmYXVsdDooKT0+Tzh9KTtmdW5jdGlvbiBnOCh0LGUpe3kudHlwZU9mLm9iamVjdCgidHJhbnNjb2Rlck1vZHVsZSIsZ3UpO2xldCBuPXQua3R4MkJ1ZmZlcixvPXQuc3VwcG9ydGVkVGFyZ2V0Rm9ybWF0cyxyO3RyeXtyPUZTKG4pfWNhdGNoe3Rocm93IG5ldyBBZSgiSW52YWxpZCBLVFgyIGZpbGUuIil9aWYoci5sYXllckNvdW50IT09MCl0aHJvdyBuZXcgQWUoIktUWDIgdGV4dHVyZSBhcnJheXMgYXJlIG5vdCBzdXBwb3J0ZWQuIik7aWYoci5waXhlbERlcHRoIT09MCl0aHJvdyBuZXcgQWUoIktUWDIgM0QgdGV4dHVyZXMgYXJlIHVuc3VwcG9ydGVkLiIpO2xldCBpPXIuZGF0YUZvcm1hdERlc2NyaXB0b3JbMF0scz1uZXcgQXJyYXkoci5sZXZlbENvdW50KTtyZXR1cm4gci52a0Zvcm1hdD09PTAmJihpLmNvbG9yTW9kZWw9PT1HU3x8aS5jb2xvck1vZGVsPT09elMpP2I4KG4scixvLGd1LGUscyk6KGUucHVzaChuLmJ1ZmZlciksQTgocixzKSksc31mdW5jdGlvbiBBOCh0LGUpe2xldCBuPXQudmtGb3JtYXQ9PT15dS5WS19GT1JNQVRfUjhHOEI4X1NSR0I/Vm4uUkdCOlZuLlJHQkEsbzt0LnZrRm9ybWF0PT09eXUuVktfRk9STUFUX1I4RzhCOEE4X1VOT1JNP289bnIuVU5TSUdORURfQllURTp0LnZrRm9ybWF0PT09eXUuVktfRk9STUFUX1IxNkcxNkIxNkExNl9TRkxPQVQ/bz1uci5IQUxGX0ZMT0FUOnQudmtGb3JtYXQ9PT15dS5WS19GT1JNQVRfUjMyRzMyQjMyQTMyX1NGTE9BVCYmKG89bnIuRkxPQVQpO2ZvcihsZXQgcj0wO3I8dC5sZXZlbHMubGVuZ3RoOysrcil7bGV0IGk9e307ZVtyXT1pO2xldCBzPXQubGV2ZWxzW3JdLmxldmVsRGF0YSxmPXQucGl4ZWxXaWR0aD4+cix1PXQucGl4ZWxIZWlnaHQ+PnIsYz1mKnUqVm4uY29tcG9uZW50c0xlbmd0aChuKTtmb3IobGV0IGw9MDtsPHQuZmFjZUNvdW50OysrbCl7bGV0IHA9cy5ieXRlT2Zmc2V0K2MqdC50eXBlU2l6ZSpsLGQ7IWgobyl8fG5yLnNpemVJbkJ5dGVzKG8pPT09MT9kPW5ldyBVaW50OEFycmF5KHMuYnVmZmVyLHAsYyk6bnIuc2l6ZUluQnl0ZXMobyk9PT0yP2Q9bmV3IFVpbnQxNkFycmF5KHMuYnVmZmVyLHAsYyk6ZD1uZXcgRmxvYXQzMkFycmF5KHMuYnVmZmVyLHAsYyksaVtrU1tsXV09e2ludGVybmFsRm9ybWF0Om4sZGF0YXR5cGU6byx3aWR0aDpmLGhlaWdodDp1LGxldmVsQnVmZmVyOmR9fX19ZnVuY3Rpb24gYjgodCxlLG4sbyxyLGkpe2xldCBzPW5ldyBvLktUWDJGaWxlKHQpLGY9cy5nZXRXaWR0aCgpLHU9cy5nZXRIZWlnaHQoKSxjPXMuZ2V0TGV2ZWxzKCksbD1zLmdldEhhc0FscGhhKCk7aWYoIShmPjApfHwhKHU+MCl8fCEoYz4wKSl0aHJvdyBzLmNsb3NlKCkscy5kZWxldGUoKSxuZXcgQWUoIkludmFsaWQgS1RYMiBmaWxlIik7bGV0IHAsZCxtPWUuZGF0YUZvcm1hdERlc2NyaXB0b3JbMF0sXz1vLnRyYW5zY29kZXJfdGV4dHVyZV9mb3JtYXQ7aWYobS5jb2xvck1vZGVsPT09R1MpaWYobi5ldGMpcD1sP1ZuLlJHQkE4X0VUQzJfRUFDOlZuLlJHQjhfRVRDMixkPWw/Xy5jVEZFVEMyX1JHQkE6Xy5jVEZFVEMxX1JHQjtlbHNlIGlmKG4uZXRjMSYmIWwpcD1Wbi5SR0JfRVRDMSxkPV8uY1RGRVRDMV9SR0I7ZWxzZSBpZihuLnMzdGMpcD1sP1ZuLlJHQkFfRFhUNTpWbi5SR0JfRFhUMSxkPWw/Xy5jVEZCQzNfUkdCQTpfLmNURkJDMV9SR0I7ZWxzZSBpZihuLnB2cnRjKXA9bD9Wbi5SR0JBX1BWUlRDXzRCUFBWMTpWbi5SR0JfUFZSVENfNEJQUFYxLGQ9bD9fLmNURlBWUlRDMV80X1JHQkE6Xy5jVEZQVlJUQzFfNF9SR0I7ZWxzZSBpZihuLmFzdGMpcD1Wbi5SR0JBX0FTVEMsZD1fLmNURkFTVENfNHg0X1JHQkE7ZWxzZSBpZihuLmJjNylwPVZuLlJHQkFfQkM3LGQ9Xy5jVEZCQzdfUkdCQTtlbHNlIHRocm93IG5ldyBBZSgiTm8gdHJhbnNjb2RpbmcgZm9ybWF0IHRhcmdldCBhdmFpbGFibGUgZm9yIEVUQzFTIGNvbXByZXNzZWQga3R4Mi4iKTtlbHNlIGlmKG0uY29sb3JNb2RlbD09PXpTKWlmKG4uYXN0YylwPVZuLlJHQkFfQVNUQyxkPV8uY1RGQVNUQ180eDRfUkdCQTtlbHNlIGlmKG4uYmM3KXA9Vm4uUkdCQV9CQzcsZD1fLmNURkJDN19SR0JBO2Vsc2UgaWYobi5zM3RjKXA9bD9Wbi5SR0JBX0RYVDU6Vm4uUkdCX0RYVDEsZD1sP18uY1RGQkMzX1JHQkE6Xy5jVEZCQzFfUkdCO2Vsc2UgaWYobi5ldGMpcD1sP1ZuLlJHQkE4X0VUQzJfRUFDOlZuLlJHQjhfRVRDMixkPWw/Xy5jVEZFVEMyX1JHQkE6Xy5jVEZFVEMxX1JHQjtlbHNlIGlmKG4uZXRjMSYmIWwpcD1Wbi5SR0JfRVRDMSxkPV8uY1RGRVRDMV9SR0I7ZWxzZSBpZihuLnB2cnRjKXA9bD9Wbi5SR0JBX1BWUlRDXzRCUFBWMTpWbi5SR0JfUFZSVENfNEJQUFYxLGQ9bD9fLmNURlBWUlRDMV80X1JHQkE6Xy5jVEZQVlJUQzFfNF9SR0I7ZWxzZSB0aHJvdyBuZXcgQWUoIk5vIHRyYW5zY29kaW5nIGZvcm1hdCB0YXJnZXQgYXZhaWxhYmxlIGZvciBVQVNUQyBjb21wcmVzc2VkIGt0eDIuIik7aWYoIXMuc3RhcnRUcmFuc2NvZGluZygpKXRocm93IHMuY2xvc2UoKSxzLmRlbGV0ZSgpLG5ldyBBZSgic3RhcnRUcmFuc2NvZGluZygpIGZhaWxlZCIpO2ZvcihsZXQgZz0wO2c8ZS5sZXZlbHMubGVuZ3RoOysrZyl7bGV0IGI9e307aVtnXT1iLGY9ZS5waXhlbFdpZHRoPj5nLHU9ZS5waXhlbEhlaWdodD4+ZztsZXQgVD1zLmdldEltYWdlVHJhbnNjb2RlZFNpemVJbkJ5dGVzKGcsMCwwLGQudmFsdWUpLE89bmV3IFVpbnQ4QXJyYXkoVCksRT1zLnRyYW5zY29kZUltYWdlKE8sZywwLDAsZC52YWx1ZSwwLC0xLC0xKTtpZighaChFKSl0aHJvdyBuZXcgQWUoInRyYW5zY29kZUltYWdlKCkgZmFpbGVkLiIpO3IucHVzaChPLmJ1ZmZlciksYltrU1swXV09e2ludGVybmFsRm9ybWF0OnAsd2lkdGg6ZixoZWlnaHQ6dSxsZXZlbEJ1ZmZlcjpPfX1yZXR1cm4gcy5jbG9zZSgpLHMuZGVsZXRlKCksaX1hc3luYyBmdW5jdGlvbiBUOCh0LGUpe2xldCBuPXQud2ViQXNzZW1ibHlDb25maWcsbz14KFZTLmRlZmF1bHQsc2VsZi5CQVNJUyk7cmV0dXJuIGgobi53YXNtQmluYXJ5RmlsZSk/Z3U9YXdhaXQgbyhuKTpndT1hd2FpdCBvKCksZ3UuaW5pdGlhbGl6ZUJhc2lzKCksITB9ZnVuY3Rpb24gdzgodCxlKXtsZXQgbj10LndlYkFzc2VtYmx5Q29uZmlnO3JldHVybiBoKG4pP1Q4KHQsZSk6ZzgodCxlKX12YXIgVlMsa1MsR1MselMsZ3UsTzgsZTE9WigoKT0+e0l0KCk7ZnQoKTtYdCgpO3ZTKCk7SnIoKTtMUygpOyRnKCk7c28oKTtCUygpO1ZTPWRyKFVTKCksMSksa1M9WyJwb3NpdGl2ZVgiLCJuZWdhdGl2ZVgiLCJwb3NpdGl2ZVkiLCJuZWdhdGl2ZVkiLCJwb3NpdGl2ZVoiLCJuZWdhdGl2ZVoiXSxHUz0xNjMselM9MTY2O084PVFlKHc4KX0pO3ZhciBqUz17fTt2YXIgbjE9WigoKT0+e3NlbGYub25tZXNzYWdlPWZ1bmN0aW9uKHQpe2xldCBlPXQuZGF0YS5hcnJheSxuPXNlbGYud2Via2l0UG9zdE1lc3NhZ2V8fHNlbGYucG9zdE1lc3NhZ2U7dHJ5e24oe2FycmF5OmV9LFtlLmJ1ZmZlcl0pfWNhdGNoe24oe30pfX19KTt2YXIgZ20sQW0sSFM9WigoKT0+e1VlKCk7RnQoKTtYdCgpO2Z0KCk7SHQoKTtnbT17fTtnbS5jbGlwVHJpYW5nbGVBdEF4aXNBbGlnbmVkVGhyZXNob2xkPWZ1bmN0aW9uKHQsZSxuLG8scixpKXtpZighaCh0KSl0aHJvdyBuZXcgRigidGhyZXNob2xkIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBGKCJrZWVwQWJvdmUgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEYoInUwIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG8pKXRocm93IG5ldyBGKCJ1MSBpcyByZXF1aXJlZC4iKTtpZighaChyKSl0aHJvdyBuZXcgRigidTIgaXMgcmVxdWlyZWQuIik7aChpKT9pLmxlbmd0aD0wOmk9W107bGV0IHMsZix1O2U/KHM9bjx0LGY9bzx0LHU9cjx0KToocz1uPnQsZj1vPnQsdT1yPnQpO2xldCBjPXMrZit1LGwscCxkLG0sXyxnO3JldHVybiBjPT09MT9zPyhsPSh0LW4pLyhvLW4pLHA9KHQtbikvKHItbiksaS5wdXNoKDEpLGkucHVzaCgyKSxwIT09MSYmKGkucHVzaCgtMSksaS5wdXNoKDApLGkucHVzaCgyKSxpLnB1c2gocCkpLGwhPT0xJiYoaS5wdXNoKC0xKSxpLnB1c2goMCksaS5wdXNoKDEpLGkucHVzaChsKSkpOmY/KGQ9KHQtbykvKHItbyksbT0odC1vKS8obi1vKSxpLnB1c2goMiksaS5wdXNoKDApLG0hPT0xJiYoaS5wdXNoKC0xKSxpLnB1c2goMSksaS5wdXNoKDApLGkucHVzaChtKSksZCE9PTEmJihpLnB1c2goLTEpLGkucHVzaCgxKSxpLnB1c2goMiksaS5wdXNoKGQpKSk6dSYmKF89KHQtcikvKG4tciksZz0odC1yKS8oby1yKSxpLnB1c2goMCksaS5wdXNoKDEpLGchPT0xJiYoaS5wdXNoKC0xKSxpLnB1c2goMiksaS5wdXNoKDEpLGkucHVzaChnKSksXyE9PTEmJihpLnB1c2goLTEpLGkucHVzaCgyKSxpLnB1c2goMCksaS5wdXNoKF8pKSk6Yz09PTI/IXMmJm4hPT10PyhtPSh0LW8pLyhuLW8pLF89KHQtcikvKG4tciksaS5wdXNoKDApLGkucHVzaCgtMSksaS5wdXNoKDEpLGkucHVzaCgwKSxpLnB1c2gobSksaS5wdXNoKC0xKSxpLnB1c2goMiksaS5wdXNoKDApLGkucHVzaChfKSk6IWYmJm8hPT10PyhnPSh0LXIpLyhvLXIpLGw9KHQtbikvKG8tbiksaS5wdXNoKDEpLGkucHVzaCgtMSksaS5wdXNoKDIpLGkucHVzaCgxKSxpLnB1c2goZyksaS5wdXNoKC0xKSxpLnB1c2goMCksaS5wdXNoKDEpLGkucHVzaChsKSk6IXUmJnIhPT10JiYocD0odC1uKS8oci1uKSxkPSh0LW8pLyhyLW8pLGkucHVzaCgyKSxpLnB1c2goLTEpLGkucHVzaCgwKSxpLnB1c2goMiksaS5wdXNoKHApLGkucHVzaCgtMSksaS5wdXNoKDEpLGkucHVzaCgyKSxpLnB1c2goZCkpOmMhPT0zJiYoaS5wdXNoKDApLGkucHVzaCgxKSxpLnB1c2goMikpLGl9O2dtLmNvbXB1dGVCYXJ5Y2VudHJpY0Nvb3JkaW5hdGVzPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMsZix1KXtpZighaCh0KSl0aHJvdyBuZXcgRigieCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgRigieSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgRigieDEgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEYoInkxIGlzIHJlcXVpcmVkLiIpO2lmKCFoKHIpKXRocm93IG5ldyBGKCJ4MiBpcyByZXF1aXJlZC4iKTtpZighaChpKSl0aHJvdyBuZXcgRigieTIgaXMgcmVxdWlyZWQuIik7aWYoIWgocykpdGhyb3cgbmV3IEYoIngzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGYpKXRocm93IG5ldyBGKCJ5MyBpcyByZXF1aXJlZC4iKTtsZXQgYz1uLXMsbD1zLXIscD1pLWYsZD1vLWYsbT0xLyhwKmMrbCpkKSxfPWUtZixnPXQtcyxiPShwKmcrbCpfKSptLFQ9KC1kKmcrYypfKSptLE89MS1iLVQ7cmV0dXJuIGgodSk/KHUueD1iLHUueT1ULHUuej1PLHUpOm5ldyBhKGIsVCxPKX07Z20uY29tcHV0ZUxpbmVTZWdtZW50TGluZVNlZ21lbnRJbnRlcnNlY3Rpb249ZnVuY3Rpb24odCxlLG4sbyxyLGkscyxmLHUpe3kudHlwZU9mLm51bWJlcigieDAwIix0KSx5LnR5cGVPZi5udW1iZXIoInkwMCIsZSkseS50eXBlT2YubnVtYmVyKCJ4MDEiLG4pLHkudHlwZU9mLm51bWJlcigieTAxIixvKSx5LnR5cGVPZi5udW1iZXIoIngxMCIscikseS50eXBlT2YubnVtYmVyKCJ5MTAiLGkpLHkudHlwZU9mLm51bWJlcigieDExIixzKSx5LnR5cGVPZi5udW1iZXIoInkxMSIsZik7bGV0IGM9KHMtcikqKGUtaSktKGYtaSkqKHQtciksbD0obi10KSooZS1pKS0oby1lKSoodC1yKSxwPShmLWkpKihuLXQpLShzLXIpKihvLWUpO2lmKHA9PT0wKXJldHVybjtsZXQgZD1jL3AsbT1sL3A7aWYoZD49MCYmZDw9MSYmbT49MCYmbTw9MSlyZXR1cm4gaCh1KXx8KHU9bmV3IHR0KSx1Lng9dCtkKihuLXQpLHUueT1lK2QqKG8tZSksdX07QW09Z219KTt2YXIgbzE9e307ZGUobzEse2RlZmF1bHQ6KCk9PlY4fSk7ZnVuY3Rpb24gRjgodCxlKXtsZXQgbj10LmlzRWFzdENoaWxkLG89dC5pc05vcnRoQ2hpbGQscj1uPyRyOjAsaT1uP3puOiRyLHM9bz8kcjowLGY9bz96bjokcix1PVM4LGM9QzgsbD14OCxwPU04O3UubGVuZ3RoPTAsYy5sZW5ndGg9MCxsLmxlbmd0aD0wLHAubGVuZ3RoPTA7bGV0IGQ9UDg7ZC5sZW5ndGg9MDtsZXQgbT17fSxfPXQudmVydGljZXMsZz10LmluZGljZXM7Zz1nLnN1YmFycmF5KDAsdC5pbmRleENvdW50V2l0aG91dFNraXJ0cyk7bGV0IGI9UHMuY2xvbmUodC5lbmNvZGluZyksVD1iLmhhc1ZlcnRleE5vcm1hbHMsTz0wLEU9dC52ZXJ0ZXhDb3VudFdpdGhvdXRTa2lydHMsdz10Lm1pbmltdW1IZWlnaHQsQz10Lm1heGltdW1IZWlnaHQsTj1uZXcgQXJyYXkoRSksST1uZXcgQXJyYXkoRSksRD1uZXcgQXJyYXkoRSksdj1UP25ldyBBcnJheShFKjIpOnZvaWQgMCxMPTIwLFUsQSxTLFAsQjtmb3IoQT0wLFM9MDtBPEU7KytBLFMrPTIpe2xldCBrZT1iLmRlY29kZVRleHR1cmVDb29yZGluYXRlcyhfLEEsTDgpO2lmKFU9Yi5kZWNvZGVIZWlnaHQoXyxBKSxQPU0uY2xhbXAoa2UueCp6bnwwLDAsem4pLEI9TS5jbGFtcChrZS55KnpufDAsMCx6biksRFtBXT1NLmNsYW1wKChVLXcpLyhDLXcpKnpufDAsMCx6biksUDxMJiYoUD0wKSxCPEwmJihCPTApLHpuLVA8TCYmKFA9em4pLHpuLUI8TCYmKEI9em4pLE5bQV09UCxJW0FdPUIsVCl7bGV0IGJlPWIuZ2V0T2N0RW5jb2RlZE5vcm1hbChfLEEsRDgpO3ZbU109YmUueCx2W1MrMV09YmUueX0obiYmUD49JHJ8fCFuJiZQPD0kcikmJihvJiZCPj0kcnx8IW8mJkI8PSRyKSYmKG1bQV09Tyx1LnB1c2goUCksYy5wdXNoKEIpLGwucHVzaChEW0FdKSxUJiYocC5wdXNoKHZbU10pLHAucHVzaCh2W1MrMV0pKSwrK08pfWxldCBqPVtdO2oucHVzaChuZXcgam4pLGoucHVzaChuZXcgam4pLGoucHVzaChuZXcgam4pO2xldCBIPVtdO0gucHVzaChuZXcgam4pLEgucHVzaChuZXcgam4pLEgucHVzaChuZXcgam4pO2xldCBrLEs7Zm9yKEE9MDtBPGcubGVuZ3RoO0ErPTMpe2xldCBrZT1nW0FdLGJlPWdbQSsxXSxsbj1nW0ErMl0scG49TltrZV0sRW49TltiZV0scmU9Tltsbl07alswXS5pbml0aWFsaXplSW5kZXhlZChOLEksRCx2LGtlKSxqWzFdLmluaXRpYWxpemVJbmRleGVkKE4sSSxELHYsYmUpLGpbMl0uaW5pdGlhbGl6ZUluZGV4ZWQoTixJLEQsdixsbik7bGV0ICR0PUFtLmNsaXBUcmlhbmdsZUF0QXhpc0FsaWduZWRUaHJlc2hvbGQoJHIsbixwbixFbixyZSxFOCk7az0wLCEoaz49JHQubGVuZ3RoKSYmKGs9SFswXS5pbml0aWFsaXplRnJvbUNsaXBSZXN1bHQoJHQsayxqKSwhKGs+PSR0Lmxlbmd0aCkmJihrPUhbMV0uaW5pdGlhbGl6ZUZyb21DbGlwUmVzdWx0KCR0LGssaiksIShrPj0kdC5sZW5ndGgpJiYoaz1IWzJdLmluaXRpYWxpemVGcm9tQ2xpcFJlc3VsdCgkdCxrLGopLEs9QW0uY2xpcFRyaWFuZ2xlQXRBeGlzQWxpZ25lZFRocmVzaG9sZCgkcixvLEhbMF0uZ2V0VigpLEhbMV0uZ2V0VigpLEhbMl0uZ2V0VigpLHFTKSxLUyh1LGMsbCxwLGQsbSxLLEgsVCksazwkdC5sZW5ndGgmJihIWzJdLmNsb25lKEhbMV0pLEhbMl0uaW5pdGlhbGl6ZUZyb21DbGlwUmVzdWx0KCR0LGssaiksSz1BbS5jbGlwVHJpYW5nbGVBdEF4aXNBbGlnbmVkVGhyZXNob2xkKCRyLG8sSFswXS5nZXRWKCksSFsxXS5nZXRWKCksSFsyXS5nZXRWKCkscVMpLEtTKHUsYyxsLHAsZCxtLEssSCxUKSkpKSl9bGV0IFg9bj8tem46MCxSPW8/LXpuOjAsb3Q9W10sYXQ9W10scHQ9W10seXQ9W10scnQ9TnVtYmVyLk1BWF9WQUxVRSxQdD0tcnQsZ3Q9Ujg7Z3QubGVuZ3RoPTA7bGV0IEN0PSQuY2xvbmUodC5lbGxpcHNvaWQpLG10PU50LmNsb25lKHQuY2hpbGRSZWN0YW5nbGUpLHV0PW10Lm5vcnRoLHZ0PW10LnNvdXRoLHp0PW10LmVhc3QsbWU9bXQud2VzdDtmb3IoenQ8bWUmJih6dCs9TS5UV09fUEkpLEE9MDtBPHUubGVuZ3RoOysrQSlQPU1hdGgucm91bmQodVtBXSksUDw9cj8ob3QucHVzaChBKSxQPTApOlA+PWk/KHB0LnB1c2goQSksUD16bik6UD1QKjIrWCx1W0FdPVAsQj1NYXRoLnJvdW5kKGNbQV0pLEI8PXM/KGF0LnB1c2goQSksQj0wKTpCPj1mPyh5dC5wdXNoKEEpLEI9em4pOkI9QioyK1IsY1tBXT1CLFU9TS5sZXJwKHcsQyxsW0FdL3puKSxVPHJ0JiYocnQ9VSksVT5QdCYmKFB0PVUpLGxbQV09VSxibS5sb25naXR1ZGU9TS5sZXJwKG1lLHp0LFAvem4pLGJtLmxhdGl0dWRlPU0ubGVycCh2dCx1dCxCL3puKSxibS5oZWlnaHQ9VSxDdC5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihibSxYaSksZ3QucHVzaChYaS54KSxndC5wdXNoKFhpLnkpLGd0LnB1c2goWGkueik7bGV0IGFlPUF0LmZyb21WZXJ0aWNlcyhndCxhLlpFUk8sMyxJOCkscGU9U28uZnJvbVJlY3RhbmdsZShtdCxydCxQdCxDdCx2OCksUXQ9bmV3IHhzKEN0KS5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludEZyb21WZXJ0aWNlc1Bvc3NpYmx5VW5kZXJFbGxpcHNvaWQoYWUuY2VudGVyLGd0LDMsYWUuY2VudGVyLHJ0LE44KSxKdD1QdC1ydCxOZT1uZXcgVWludDE2QXJyYXkodS5sZW5ndGgrYy5sZW5ndGgrbC5sZW5ndGgpO2ZvcihBPTA7QTx1Lmxlbmd0aDsrK0EpTmVbQV09dVtBXTtsZXQgZ2U9dS5sZW5ndGg7Zm9yKEE9MDtBPGMubGVuZ3RoOysrQSlOZVtnZStBXT1jW0FdO2ZvcihnZSs9Yy5sZW5ndGgsQT0wO0E8bC5sZW5ndGg7KytBKU5lW2dlK0FdPXpuKihsW0FdLXJ0KS9KdDtsZXQgRWU9RHQuY3JlYXRlVHlwZWRBcnJheSh1Lmxlbmd0aCxkKSx1bjtpZihUKXtsZXQga2U9bmV3IFVpbnQ4QXJyYXkocCk7ZS5wdXNoKE5lLmJ1ZmZlcixFZS5idWZmZXIsa2UuYnVmZmVyKSx1bj1rZS5idWZmZXJ9ZWxzZSBlLnB1c2goTmUuYnVmZmVyLEVlLmJ1ZmZlcik7cmV0dXJue3ZlcnRpY2VzOk5lLmJ1ZmZlcixlbmNvZGVkTm9ybWFsczp1bixpbmRpY2VzOkVlLmJ1ZmZlcixtaW5pbXVtSGVpZ2h0OnJ0LG1heGltdW1IZWlnaHQ6UHQsd2VzdEluZGljZXM6b3Qsc291dGhJbmRpY2VzOmF0LGVhc3RJbmRpY2VzOnB0LG5vcnRoSW5kaWNlczp5dCxib3VuZGluZ1NwaGVyZTphZSxvcmllbnRlZEJvdW5kaW5nQm94OnBlLGhvcml6b25PY2NsdXNpb25Qb2ludDpRdH19ZnVuY3Rpb24gam4oKXt0aGlzLnZlcnRleEJ1ZmZlcj12b2lkIDAsdGhpcy5pbmRleD12b2lkIDAsdGhpcy5maXJzdD12b2lkIDAsdGhpcy5zZWNvbmQ9dm9pZCAwLHRoaXMucmF0aW89dm9pZCAwfWZ1bmN0aW9uIFdTKHQsZSl7KytUbTtsZXQgbj1COFtUbV0sbz1VOFtUbV07cmV0dXJuIG49bm4ub2N0RGVjb2RlKHQuZmlyc3QuZ2V0Tm9ybWFsWCgpLHQuZmlyc3QuZ2V0Tm9ybWFsWSgpLG4pLG89bm4ub2N0RGVjb2RlKHQuc2Vjb25kLmdldE5vcm1hbFgoKSx0LnNlY29uZC5nZXROb3JtYWxZKCksbyksWGk9YS5sZXJwKG4sbyx0LnJhdGlvLFhpKSxhLm5vcm1hbGl6ZShYaSxYaSksbm4ub2N0RW5jb2RlKFhpLGUpLC0tVG0sZX1mdW5jdGlvbiBLUyh0LGUsbixvLHIsaSxzLGYsdSl7aWYocy5sZW5ndGg9PT0wKXJldHVybjtsZXQgYz0wLGw9MDtmb3IoO2w8cy5sZW5ndGg7KWw9R29bYysrXS5pbml0aWFsaXplRnJvbUNsaXBSZXN1bHQocyxsLGYpO2ZvcihsZXQgcD0wO3A8YzsrK3Ape2xldCBkPUdvW3BdO2lmKGQuaXNJbmRleGVkKCkpZC5uZXdJbmRleD1pW2QuaW5kZXhdLGQudUJ1ZmZlcj10LGQudkJ1ZmZlcj1lLGQuaGVpZ2h0QnVmZmVyPW4sdSYmKGQubm9ybWFsQnVmZmVyPW8pO2Vsc2V7bGV0IG09ZC5nZXRLZXkoKTtpZihoKGlbbV0pKWQubmV3SW5kZXg9aVttXTtlbHNle2xldCBfPXQubGVuZ3RoO3QucHVzaChkLmdldFUoKSksZS5wdXNoKGQuZ2V0VigpKSxuLnB1c2goZC5nZXRIKCkpLHUmJihvLnB1c2goZC5nZXROb3JtYWxYKCkpLG8ucHVzaChkLmdldE5vcm1hbFkoKSkpLGQubmV3SW5kZXg9XyxpW21dPV99fX1jPT09Mz8oci5wdXNoKEdvWzBdLm5ld0luZGV4KSxyLnB1c2goR29bMV0ubmV3SW5kZXgpLHIucHVzaChHb1syXS5uZXdJbmRleCkpOmM9PT00JiYoci5wdXNoKEdvWzBdLm5ld0luZGV4KSxyLnB1c2goR29bMV0ubmV3SW5kZXgpLHIucHVzaChHb1syXS5uZXdJbmRleCksci5wdXNoKEdvWzBdLm5ld0luZGV4KSxyLnB1c2goR29bMl0ubmV3SW5kZXgpLHIucHVzaChHb1szXS5uZXdJbmRleCkpfXZhciB6biwkcixFOCxxUyxSOCxibSxYaSxTOCxDOCx4OCxQOCxNOCxOOCxJOCx2OCxMOCxEOCxIYSxUbSxCOCxVOCxHbyxWOCxyMT1aKCgpPT57YXMoKTt2ZSgpO1VlKCk7RnQoKTtJZSgpO2Z0KCk7WnQoKTtzdSgpOyRlKCk7SFMoKTtXdCgpO2RhKCk7d24oKTtjdSgpO3NvKCk7em49MzI3NjcsJHI9em4vMnwwLEU4PVtdLHFTPVtdLFI4PVtdLGJtPW5ldyBjdCxYaT1uZXcgYSxTOD1bXSxDOD1bXSx4OD1bXSxQOD1bXSxNOD1bXSxOOD1uZXcgYSxJOD1uZXcgQXQsdjg9bmV3IFNvLEw4PW5ldyB0dCxEOD1uZXcgYTtqbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIGgodCl8fCh0PW5ldyBqbiksdC51QnVmZmVyPXRoaXMudUJ1ZmZlcix0LnZCdWZmZXI9dGhpcy52QnVmZmVyLHQuaGVpZ2h0QnVmZmVyPXRoaXMuaGVpZ2h0QnVmZmVyLHQubm9ybWFsQnVmZmVyPXRoaXMubm9ybWFsQnVmZmVyLHQuaW5kZXg9dGhpcy5pbmRleCx0LmZpcnN0PXRoaXMuZmlyc3QsdC5zZWNvbmQ9dGhpcy5zZWNvbmQsdC5yYXRpbz10aGlzLnJhdGlvLHR9O2puLnByb3RvdHlwZS5pbml0aWFsaXplSW5kZXhlZD1mdW5jdGlvbih0LGUsbixvLHIpe3RoaXMudUJ1ZmZlcj10LHRoaXMudkJ1ZmZlcj1lLHRoaXMuaGVpZ2h0QnVmZmVyPW4sdGhpcy5ub3JtYWxCdWZmZXI9byx0aGlzLmluZGV4PXIsdGhpcy5maXJzdD12b2lkIDAsdGhpcy5zZWNvbmQ9dm9pZCAwLHRoaXMucmF0aW89dm9pZCAwfTtqbi5wcm90b3R5cGUuaW5pdGlhbGl6ZUZyb21DbGlwUmVzdWx0PWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1lKzE7cmV0dXJuIHRbZV0hPT0tMT9uW3RbZV1dLmNsb25lKHRoaXMpOih0aGlzLnZlcnRleEJ1ZmZlcj12b2lkIDAsdGhpcy5pbmRleD12b2lkIDAsdGhpcy5maXJzdD1uW3Rbb11dLCsrbyx0aGlzLnNlY29uZD1uW3Rbb11dLCsrbyx0aGlzLnJhdGlvPXRbb10sKytvKSxvfTtqbi5wcm90b3R5cGUuZ2V0S2V5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaXNJbmRleGVkKCk/dGhpcy5pbmRleDpKU09OLnN0cmluZ2lmeSh7Zmlyc3Q6dGhpcy5maXJzdC5nZXRLZXkoKSxzZWNvbmQ6dGhpcy5zZWNvbmQuZ2V0S2V5KCkscmF0aW86dGhpcy5yYXRpb30pfTtqbi5wcm90b3R5cGUuaXNJbmRleGVkPWZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcy5pbmRleCl9O2puLnByb3RvdHlwZS5nZXRIPWZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcy5pbmRleCk/dGhpcy5oZWlnaHRCdWZmZXJbdGhpcy5pbmRleF06TS5sZXJwKHRoaXMuZmlyc3QuZ2V0SCgpLHRoaXMuc2Vjb25kLmdldEgoKSx0aGlzLnJhdGlvKX07am4ucHJvdG90eXBlLmdldFU9ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzLmluZGV4KT90aGlzLnVCdWZmZXJbdGhpcy5pbmRleF06TS5sZXJwKHRoaXMuZmlyc3QuZ2V0VSgpLHRoaXMuc2Vjb25kLmdldFUoKSx0aGlzLnJhdGlvKX07am4ucHJvdG90eXBlLmdldFY9ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzLmluZGV4KT90aGlzLnZCdWZmZXJbdGhpcy5pbmRleF06TS5sZXJwKHRoaXMuZmlyc3QuZ2V0VigpLHRoaXMuc2Vjb25kLmdldFYoKSx0aGlzLnJhdGlvKX07SGE9bmV3IHR0LFRtPS0xLEI4PVtuZXcgYSxuZXcgYV0sVTg9W25ldyBhLG5ldyBhXTtqbi5wcm90b3R5cGUuZ2V0Tm9ybWFsWD1mdW5jdGlvbigpe3JldHVybiBoKHRoaXMuaW5kZXgpP3RoaXMubm9ybWFsQnVmZmVyW3RoaXMuaW5kZXgqMl06KEhhPVdTKHRoaXMsSGEpLEhhLngpfTtqbi5wcm90b3R5cGUuZ2V0Tm9ybWFsWT1mdW5jdGlvbigpe3JldHVybiBoKHRoaXMuaW5kZXgpP3RoaXMubm9ybWFsQnVmZmVyW3RoaXMuaW5kZXgqMisxXTooSGE9V1ModGhpcyxIYSksSGEueSl9O0dvPVtdO0dvLnB1c2gobmV3IGpuKTtHby5wdXNoKG5ldyBqbik7R28ucHVzaChuZXcgam4pO0dvLnB1c2gobmV3IGpuKTtWOD1RZShGOCl9KTt2YXIgazgsaTE9WigoKT0+e2s4PWwxKHsiLi9jb21iaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oaTAoKSxyMCkpLCIuL2NyZWF0ZUJveEdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGYwKCksYTApKSwiLi9jcmVhdGVCb3hPdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4ocDAoKSxsMCkpLCIuL2NyZWF0ZUNpcmNsZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KHcwKCksVDApKSwiLi9jcmVhdGVDaXJjbGVPdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oUzAoKSxSMCkpLCIuL2NyZWF0ZUNvcGxhbmFyUG9seWdvbkdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFUwKCksQjApKSwiLi9jcmVhdGVDb3BsYW5hclBvbHlnb25PdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oRzAoKSxrMCkpLCIuL2NyZWF0ZUNvcnJpZG9yR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4ob18oKSxuXykpLCIuL2NyZWF0ZUNvcnJpZG9yT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KHNfKCksaV8pKSwiLi9jcmVhdGVDeWxpbmRlckdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KHBfKCksbF8pKSwiLi9jcmVhdGVDeWxpbmRlck91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihfXygpLGhfKSksIi4vY3JlYXRlRWxsaXBzZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGdfKCkseV8pKSwiLi9jcmVhdGVFbGxpcHNlT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGJfKCksQV8pKSwiLi9jcmVhdGVFbGxpcHNvaWRHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihPXygpLHdfKSksIi4vY3JlYXRlRWxsaXBzb2lkT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFNfKCksUl8pKSwiLi9jcmVhdGVGcnVzdHVtR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oRF8oKSxMXykpLCIuL2NyZWF0ZUZydXN0dW1PdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oVl8oKSxVXykpLCIuL2NyZWF0ZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGMxKCksczEpKSwiLi9jcmVhdGVHcm91bmRQb2x5bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFFfKCksWl8pKSwiLi9jcmVhdGVQbGFuZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGV5KCksdHkpKSwiLi9jcmVhdGVQbGFuZU91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihyeSgpLG95KSksIi4vY3JlYXRlUG9seWdvbkdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGF5KCksY3kpKSwiLi9jcmVhdGVQb2x5Z29uT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGx5KCksdXkpKSwiLi9jcmVhdGVQb2x5bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KHl5KCksX3kpKSwiLi9jcmVhdGVQb2x5bGluZVZvbHVtZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGJ5KCksQXkpKSwiLi9jcmVhdGVQb2x5bGluZVZvbHVtZU91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihPeSgpLHd5KSksIi4vY3JlYXRlUmVjdGFuZ2xlR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oSXkoKSxOeSkpLCIuL2NyZWF0ZVJlY3RhbmdsZU91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihEeSgpLEx5KSksIi4vY3JlYXRlU2ltcGxlUG9seWxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihVeSgpLEJ5KSksIi4vY3JlYXRlU3BoZXJlR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oR3koKSxreSkpLCIuL2NyZWF0ZVNwaGVyZU91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihIeSgpLGp5KSksIi4vY3JlYXRlVGFza1Byb2Nlc3Nvcldvcmtlci5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihzbygpLG8wKSksIi4vY3JlYXRlVmVjdG9yVGlsZUNsYW1wZWRQb2x5bGluZXMuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oS3koKSxxeSkpLCIuL2NyZWF0ZVZlY3RvclRpbGVHZW9tZXRyaWVzLmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFh5KCksV3kpKSwiLi9jcmVhdGVWZWN0b3JUaWxlUG9pbnRzLmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFp5KCksJHkpKSwiLi9jcmVhdGVWZWN0b3JUaWxlUG9seWdvbnMuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oSnkoKSxReSkpLCIuL2NyZWF0ZVZlY3RvclRpbGVQb2x5bGluZXMuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4obmcoKSxlZykpLCIuL2NyZWF0ZVZlcnRpY2VzRnJvbUdvb2dsZUVhcnRoRW50ZXJwcmlzZUJ1ZmZlci5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihjZygpLHNnKSksIi4vY3JlYXRlVmVydGljZXNGcm9tSGVpZ2h0bWFwLmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KHVnKCksZmcpKSwiLi9jcmVhdGVWZXJ0aWNlc0Zyb21RdWFudGl6ZWRUZXJyYWluTWVzaC5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihkZygpLHBnKSksIi4vY3JlYXRlV2FsbEdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGdnKCkseWcpKSwiLi9jcmVhdGVXYWxsT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFRnKCksYmcpKSwiLi9kZWNvZGVEcmFjby5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihDZygpLFNnKSksIi4vZGVjb2RlR29vZ2xlRWFydGhFbnRlcnByaXNlUGFja2V0LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KEhnKCksamcpKSwiLi9kZWNvZGVJM1MuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oWWcoKSxYZykpLCIuL3RyYW5zY29kZUtUWDIuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oZTEoKSx0MSkpLCIuL3RyYW5zZmVyVHlwZWRBcnJheVRlc3QuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4objEoKSxqUykpLCIuL3Vwc2FtcGxlUXVhbnRpemVkVGVycmFpbk1lc2guanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4ocjEoKSxvMSkpfSl9KTt2YXIgczE9e307ZGUoczEse2RlZmF1bHQ6KCk9Pmo4fSk7YXN5bmMgZnVuY3Rpb24gRzgodCxlKXtsZXQgbj14KHdtW2VdLHdtW3RdKTtyZXR1cm4gaChuKT9uOmgoZSk/KHR5cGVvZiBleHBvcnRzPT0ib2JqZWN0Ij9uPXByKGUpOm49KGF3YWl0IGltcG9ydChlKSkuZGVmYXVsdCx3bVtlXT1uLG4pOih0eXBlb2YgZXhwb3J0cz09Im9iamVjdCI/bj1wcihgV29ya2Vycy8ke3R9YCk6bj0oaChlKT9hd2FpdCBpbXBvcnQoZSk6YXdhaXQgazgoYC4vJHt0fS5qc2ApKS5kZWZhdWx0LHdtW3RdPW4sbil9YXN5bmMgZnVuY3Rpb24gejgodCxlKXtsZXQgbj10LnN1YlRhc2tzLG89bi5sZW5ndGgscj1uZXcgQXJyYXkobyk7Zm9yKGxldCBpPTA7aTxvO2krKyl7bGV0IHM9bltpXSxmPXMuZ2VvbWV0cnksdT1zLm1vZHVsZU5hbWUsYz1zLm1vZHVsZVBhdGg7aWYoaCh1KSYmaChjKSl0aHJvdyBuZXcgRigiTXVzdCBvbmx5IHNldCBtb2R1bGVOYW1lIG9yIG1vZHVsZVBhdGgiKTtoKHUpfHxoKGMpP3JbaV09RzgodSxjKS50aGVuKGw9PmwoZixzLm9mZnNldCkpOnJbaV09Zn1yZXR1cm4gUHJvbWlzZS5hbGwocikudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gY2EucGFja0NyZWF0ZUdlb21ldHJ5UmVzdWx0cyhpLGUpfSl9dmFyIHdtLGo4LGMxPVooKCk9PntIdCgpO0l0KCk7ZnQoKTtuMCgpO3NvKCk7aTEoKTt3bT17fTtqOD1RZSh6OCl9KTt2YXIgVVY9e307ZGUoVVYse2NvbWJpbmVHZW9tZXRyeTooKT0+SDgsY3JlYXRlQm94R2VvbWV0cnk6KCk9PnE4LGNyZWF0ZUJveE91dGxpbmVHZW9tZXRyeTooKT0+SzgsY3JlYXRlQ2lyY2xlR2VvbWV0cnk6KCk9Plc4LGNyZWF0ZUNpcmNsZU91dGxpbmVHZW9tZXRyeTooKT0+WDgsY3JlYXRlQ29wbGFuYXJQb2x5Z29uR2VvbWV0cnk6KCk9Plk4LGNyZWF0ZUNvcGxhbmFyUG9seWdvbk91dGxpbmVHZW9tZXRyeTooKT0+JDgsY3JlYXRlQ29ycmlkb3JHZW9tZXRyeTooKT0+WjgsY3JlYXRlQ29ycmlkb3JPdXRsaW5lR2VvbWV0cnk6KCk9PlE4LGNyZWF0ZUN5bGluZGVyR2VvbWV0cnk6KCk9Pko4LGNyZWF0ZUN5bGluZGVyT3V0bGluZUdlb21ldHJ5OigpPT50VixjcmVhdGVFbGxpcHNlR2VvbWV0cnk6KCk9PmVWLGNyZWF0ZUVsbGlwc2VPdXRsaW5lR2VvbWV0cnk6KCk9Pm5WLGNyZWF0ZUVsbGlwc29pZEdlb21ldHJ5OigpPT5vVixjcmVhdGVFbGxpcHNvaWRPdXRsaW5lR2VvbWV0cnk6KCk9PnJWLGNyZWF0ZUZydXN0dW1HZW9tZXRyeTooKT0+aVYsY3JlYXRlRnJ1c3R1bU91dGxpbmVHZW9tZXRyeTooKT0+c1YsY3JlYXRlR2VvbWV0cnk6KCk9PmNWLGNyZWF0ZUdyb3VuZFBvbHlsaW5lR2VvbWV0cnk6KCk9PmFWLGNyZWF0ZVBsYW5lR2VvbWV0cnk6KCk9PmZWLGNyZWF0ZVBsYW5lT3V0bGluZUdlb21ldHJ5OigpPT51VixjcmVhdGVQb2x5Z29uR2VvbWV0cnk6KCk9PmxWLGNyZWF0ZVBvbHlnb25PdXRsaW5lR2VvbWV0cnk6KCk9PnBWLGNyZWF0ZVBvbHlsaW5lR2VvbWV0cnk6KCk9PmRWLGNyZWF0ZVBvbHlsaW5lVm9sdW1lR2VvbWV0cnk6KCk9Pm1WLGNyZWF0ZVBvbHlsaW5lVm9sdW1lT3V0bGluZUdlb21ldHJ5OigpPT5oVixjcmVhdGVSZWN0YW5nbGVHZW9tZXRyeTooKT0+X1YsY3JlYXRlUmVjdGFuZ2xlT3V0bGluZUdlb21ldHJ5OigpPT55VixjcmVhdGVTaW1wbGVQb2x5bGluZUdlb21ldHJ5OigpPT5nVixjcmVhdGVTcGhlcmVHZW9tZXRyeTooKT0+QVYsY3JlYXRlU3BoZXJlT3V0bGluZUdlb21ldHJ5OigpPT5iVixjcmVhdGVUYXNrUHJvY2Vzc29yV29ya2VyOigpPT5UVixjcmVhdGVWZWN0b3JUaWxlQ2xhbXBlZFBvbHlsaW5lczooKT0+d1YsY3JlYXRlVmVjdG9yVGlsZUdlb21ldHJpZXM6KCk9Pk9WLGNyZWF0ZVZlY3RvclRpbGVQb2ludHM6KCk9PkVWLGNyZWF0ZVZlY3RvclRpbGVQb2x5Z29uczooKT0+UlYsY3JlYXRlVmVjdG9yVGlsZVBvbHlsaW5lczooKT0+U1YsY3JlYXRlVmVydGljZXNGcm9tR29vZ2xlRWFydGhFbnRlcnByaXNlQnVmZmVyOigpPT5DVixjcmVhdGVWZXJ0aWNlc0Zyb21IZWlnaHRtYXA6KCk9PnhWLGNyZWF0ZVZlcnRpY2VzRnJvbVF1YW50aXplZFRlcnJhaW5NZXNoOigpPT5QVixjcmVhdGVXYWxsR2VvbWV0cnk6KCk9Pk1WLGNyZWF0ZVdhbGxPdXRsaW5lR2VvbWV0cnk6KCk9Pk5WLGRlY29kZURyYWNvOigpPT5JVixkZWNvZGVHb29nbGVFYXJ0aEVudGVycHJpc2VQYWNrZXQ6KCk9PnZWLGRlY29kZUkzUzooKT0+TFYsdHJhbnNjb2RlS1RYMjooKT0+RFYsdHJhbnNmZXJUeXBlZEFycmF5VGVzdDooKT0+RlYsdXBzYW1wbGVRdWFudGl6ZWRUZXJyYWluTWVzaDooKT0+QlZ9KTt2YXIgSDg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5pMCgpKX0scTg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5mMCgpKX0sSzg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5wMCgpKX0sVzg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT53MCgpKX0sWDg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5TMCgpKX0sWTg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5VMCgpKX0sJDg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5HMCgpKX0sWjg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5vXygpKX0sUTg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5zXygpKX0sSjg9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5wXygpKX0sdFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5fXygpKX0sZVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5nXygpKX0sblY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5iXygpKX0sb1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5PXygpKX0sclY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5TXygpKX0saVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5EXygpKX0sc1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5WXygpKX0sY1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5jMSgpKX0sYVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5RXygpKX0sZlY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5leSgpKX0sdVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5yeSgpKX0sbFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5heSgpKX0scFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5seSgpKX0sZFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT55eSgpKX0sbVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5ieSgpKX0saFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5PeSgpKX0sX1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5JeSgpKX0seVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5EeSgpKX0sZ1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5VeSgpKX0sQVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5HeSgpKX0sYlY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5IeSgpKX0sVFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5zbygpKX0sd1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5LeSgpKX0sT1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5YeSgpKX0sRVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5aeSgpKX0sUlY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5KeSgpKX0sU1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5uZygpKX0sQ1Y9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5jZygpKX0seFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT51ZygpKX0sUFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5kZygpKX0sTVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5nZygpKX0sTlY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5UZygpKX0sSVY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5DZygpKX0sdlY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5IZygpKX0sTFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5ZZygpKX0sRFY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5lMSgpKX0sRlY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5uMSgpKX0sQlY9KCk9PntQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT5yMSgpKX07cmV0dXJuIHRDKFVWKTt9KSgpOwo=")});var BM=fl((S1t,pq)=>{var C1t=T(S()),fp=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};fp.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};fp.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};fp.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n>>1^t[e&1];for(;n>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};fp.prototype.random_int31=function(){return this.random_int()>>>1};fp.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};fp.prototype.random=function(){return this.random_int()*(1/4294967296)};fp.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};fp.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};pq.exports=fp});var kq=fl((NS,kS)=>{var cRt=T(S());/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof NS=="object"&&NS&&!NS.nodeType&&NS,n=typeof kS=="object"&&kS&&!kS.nodeType&&kS,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,d=38,u=700,m=72,p=128,g="-",f=/^xn--/,x=/[^\x20-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,C={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},V=s-a,L=Math.floor,Z=String.fromCharCode,G;function I(U){throw new RangeError(C[U])}function v(U,Y){for(var k=U.length,J=[];k--;)J[k]=Y(U[k]);return J}function P(U,Y){var k=U.split("@"),J="";k.length>1&&(J=k[0]+"@",U=k[1]),U=U.replace(_,".");var z=U.split("."),te=v(z,Y).join(".");return J+te}function w(U){for(var Y=[],k=0,J=U.length,z,te;k=55296&&z<=56319&&k65535&&(Y-=65536,k+=Z(Y>>>10&1023|55296),Y=56320|Y&1023),k+=Z(Y),k}).join("")}function b(U){return U-48<10?U-22:U-65<26?U-65:U-97<26?U-97:s}function R(U,Y){return U+22+75*(U<26)-((Y!=0)<<5)}function E(U,Y,k){var J=0;for(U=k?L(U/u):U>>1,U+=L(U/Y);U>V*c>>1;J+=s)U=L(U/V);return L(J+(V+1)*U/(U+d))}function X(U){var Y=[],k=U.length,J,z=0,te=p,H=m,q,ee,pe,_e,ae,ye,Te,Ie,Ee;for(q=U.lastIndexOf(g),q<0&&(q=0),ee=0;ee=128&&I("not-basic"),Y.push(U.charCodeAt(ee));for(pe=q>0?q+1:0;pe=k&&I("invalid-input"),Te=b(U.charCodeAt(pe++)),(Te>=s||Te>L((r-z)/ae))&&I("overflow"),z+=Te*ae,Ie=ye<=H?a:ye>=H+c?c:ye-H,!(TeL(r/Ee)&&I("overflow"),ae*=Ee;J=Y.length+1,H=E(z-_e,J,_e==0),L(z/J)>r-te&&I("overflow"),te+=L(z/J),z%=J,Y.splice(z++,0,te)}return F(Y)}function A(U){var Y,k,J,z,te,H,q,ee,pe,_e,ae,ye=[],Te,Ie,Ee,ve;for(U=w(U),Te=U.length,Y=p,k=0,te=m,H=0;H=Y&&aeL((r-k)/Ie)&&I("overflow"),k+=(q-Y)*Ie,Y=q,H=0;Hr&&I("overflow"),ae==Y){for(ee=k,pe=s;_e=pe<=te?a:pe>=te+c?c:pe-te,!(ee<_e);pe+=s)ve=ee-_e,Ee=s-_e,ye.push(Z(R(_e+ve%Ee,0))),ee=L(ve/Ee);ye.push(Z(R(ee,0))),te=E(k,Ie,J==z),k=0,++J}++k,++Y}return ye.join("")}function N(U){return P(U,function(Y){return f.test(Y)?X(Y.slice(4).toLowerCase()):Y})}function O(U){return P(U,function(Y){return x.test(Y)?"xn--"+A(Y):Y})}if(o={version:"1.3.2",ucs2:{decode:w,encode:F},decode:X,encode:A,toASCII:O,toUnicode:N},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(kS.exports==t)n.exports=o;else for(G in o)o.hasOwnProperty(G)&&(t[G]=o[G]);else e.punycode=o})(NS)});var Dq=fl((Uq,lN)=>{var lRt=T(S());/*! +var Cesium=(()=>{var YCe=Object.create;var K9=Object.defineProperty;var HCe=Object.getOwnPropertyDescriptor;var zCe=Object.getOwnPropertyNames;var KCe=Object.getPrototypeOf,JCe=Object.prototype.hasOwnProperty;var J9=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var gl=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),QCe=(e,t)=>{for(var n in t)K9(e,n,{get:t[n],enumerable:!0})},Tq=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of zCe(t))!JCe.call(e,o)&&o!==n&&K9(e,o,{get:()=>t[o],enumerable:!(i=HCe(t,o))||i.enumerable});return e};var T=(e,t,n)=>(n=e!=null?YCe(KCe(e)):{},Tq(t||!e||!e.__esModule?K9(n,"default",{value:e,enumerable:!0}):n,e)),jCe=e=>Tq(K9({},"__esModule",{value:!0}),e);var S=gl(()=>{globalThis.CESIUM_WORKERS=atob("dmFyIENlc2l1bVdvcmtlcnM9KCgpPT57dmFyIFdTPU9iamVjdC5jcmVhdGU7dmFyIEZsPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgWFM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgWVM9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyICRTPU9iamVjdC5nZXRQcm90b3R5cGVPZixaUz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBwcj0odD0+dHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6dHlwZW9mIFByb3h5PCJ1Ij9uZXcgUHJveHkodCx7Z2V0OihlLG4pPT4odHlwZW9mIHJlcXVpcmU8InUiP3JlcXVpcmU6ZSlbbl19KTp0KShmdW5jdGlvbih0KXtpZih0eXBlb2YgcmVxdWlyZTwidSIpcmV0dXJuIHJlcXVpcmUuYXBwbHkodGhpcyxhcmd1bWVudHMpO3Rocm93IEVycm9yKCdEeW5hbWljIHJlcXVpcmUgb2YgIicrdCsnIiBpcyBub3Qgc3VwcG9ydGVkJyl9KSxsMT10PT5lPT57dmFyIG49dFtlXTtpZihuKXJldHVybiBuKCk7dGhyb3cgbmV3IEVycm9yKCJNb2R1bGUgbm90IGZvdW5kIGluIGJ1bmRsZTogIitlKX07dmFyIFo9KHQsZSk9PigpPT4odCYmKGU9dCh0PTApKSxlKTt2YXIgWG49KHQsZSk9PigpPT4oZXx8dCgoZT17ZXhwb3J0czp7fX0pLmV4cG9ydHMsZSksZS5leHBvcnRzKSxkZT0odCxlKT0+e2Zvcih2YXIgbiBpbiBlKUZsKHQsbix7Z2V0OmVbbl0sZW51bWVyYWJsZTohMH0pfSxwMT0odCxlLG4sbyk9PntpZihlJiZ0eXBlb2YgZT09Im9iamVjdCJ8fHR5cGVvZiBlPT0iZnVuY3Rpb24iKWZvcihsZXQgciBvZiBZUyhlKSkhWlMuY2FsbCh0LHIpJiZyIT09biYmRmwodCxyLHtnZXQ6KCk9PmVbcl0sZW51bWVyYWJsZTohKG89WFMoZSxyKSl8fG8uZW51bWVyYWJsZX0pO3JldHVybiB0fTt2YXIgZHI9KHQsZSxuKT0+KG49dCE9bnVsbD9XUygkUyh0KSk6e30scDEoZXx8IXR8fCF0Ll9fZXNNb2R1bGU/RmwobiwiZGVmYXVsdCIse3ZhbHVlOnQsZW51bWVyYWJsZTohMH0pOm4sdCkpLFFTPXQ9PnAxKEZsKHt9LCJfX2VzTW9kdWxlIix7dmFsdWU6ITB9KSx0KTtmdW5jdGlvbiBKUyh0KXtyZXR1cm4gdCE9bnVsbH12YXIgaCxmdD1aKCgpPT57aD1KU30pO2Z1bmN0aW9uIFZzKHQpe3RoaXMubmFtZT0iRGV2ZWxvcGVyRXJyb3IiLHRoaXMubWVzc2FnZT10O2xldCBlO3RyeXt0aHJvdyBuZXcgRXJyb3J9Y2F0Y2gobil7ZT1uLnN0YWNrfXRoaXMuc3RhY2s9ZX12YXIgQixIdD1aKCgpPT57ZnQoKTtoKE9iamVjdC5jcmVhdGUpJiYoVnMucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKSxWcy5wcm90b3R5cGUuY29uc3RydWN0b3I9VnMpO1ZzLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe2xldCB0PWAke3RoaXMubmFtZX06ICR7dGhpcy5tZXNzYWdlfWA7cmV0dXJuIGgodGhpcy5zdGFjaykmJih0Kz1gCiR7dGhpcy5zdGFjay50b1N0cmluZygpfWApLHR9O1ZzLnRocm93SW5zdGFudGlhdGlvbkVycm9yPWZ1bmN0aW9uKCl7dGhyb3cgbmV3IFZzKCJUaGlzIGZ1bmN0aW9uIGRlZmluZXMgYW4gaW50ZXJmYWNlIGFuZCBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS4iKX07Qj1Wc30pO2Z1bmN0aW9uIHRDKHQpe3JldHVybmAke3R9IGlzIHJlcXVpcmVkLCBhY3R1YWwgdmFsdWUgd2FzIHVuZGVmaW5lZGB9ZnVuY3Rpb24gemModCxlLG4pe3JldHVybmBFeHBlY3RlZCAke259IHRvIGJlIHR5cGVvZiAke2V9LCBhY3R1YWwgdHlwZW9mIHdhcyAke3R9YH12YXIgWW4seSxYdD1aKCgpPT57ZnQoKTtIdCgpO1luPXt9O1luLnR5cGVPZj17fTtZbi5kZWZpbmVkPWZ1bmN0aW9uKHQsZSl7aWYoIWgoZSkpdGhyb3cgbmV3IEIodEModCkpfTtZbi50eXBlT2YuZnVuYz1mdW5jdGlvbih0LGUpe2lmKHR5cGVvZiBlIT0iZnVuY3Rpb24iKXRocm93IG5ldyBCKHpjKHR5cGVvZiBlLCJmdW5jdGlvbiIsdCkpfTtZbi50eXBlT2Yuc3RyaW5nPWZ1bmN0aW9uKHQsZSl7aWYodHlwZW9mIGUhPSJzdHJpbmciKXRocm93IG5ldyBCKHpjKHR5cGVvZiBlLCJzdHJpbmciLHQpKX07WW4udHlwZU9mLm51bWJlcj1mdW5jdGlvbih0LGUpe2lmKHR5cGVvZiBlIT0ibnVtYmVyIil0aHJvdyBuZXcgQih6Yyh0eXBlb2YgZSwibnVtYmVyIix0KSl9O1luLnR5cGVPZi5udW1iZXIubGVzc1RoYW49ZnVuY3Rpb24odCxlLG4pe2lmKFluLnR5cGVPZi5udW1iZXIodCxlKSxlPj1uKXRocm93IG5ldyBCKGBFeHBlY3RlZCAke3R9IHRvIGJlIGxlc3MgdGhhbiAke259LCBhY3R1YWwgdmFsdWUgd2FzICR7ZX1gKX07WW4udHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzPWZ1bmN0aW9uKHQsZSxuKXtpZihZbi50eXBlT2YubnVtYmVyKHQsZSksZT5uKXRocm93IG5ldyBCKGBFeHBlY3RlZCAke3R9IHRvIGJlIGxlc3MgdGhhbiBvciBlcXVhbCB0byAke259LCBhY3R1YWwgdmFsdWUgd2FzICR7ZX1gKX07WW4udHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbj1mdW5jdGlvbih0LGUsbil7aWYoWW4udHlwZU9mLm51bWJlcih0LGUpLGU8PW4pdGhyb3cgbmV3IEIoYEV4cGVjdGVkICR7dH0gdG8gYmUgZ3JlYXRlciB0aGFuICR7bn0sIGFjdHVhbCB2YWx1ZSB3YXMgJHtlfWApfTtZbi50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHM9ZnVuY3Rpb24odCxlLG4pe2lmKFluLnR5cGVPZi5udW1iZXIodCxlKSxlPG4pdGhyb3cgbmV3IEIoYEV4cGVjdGVkICR7dH0gdG8gYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvICR7bn0sIGFjdHVhbCB2YWx1ZSB3YXMgJHtlfWApfTtZbi50eXBlT2Yub2JqZWN0PWZ1bmN0aW9uKHQsZSl7aWYodHlwZW9mIGUhPSJvYmplY3QiKXRocm93IG5ldyBCKHpjKHR5cGVvZiBlLCJvYmplY3QiLHQpKX07WW4udHlwZU9mLmJvb2w9ZnVuY3Rpb24odCxlKXtpZih0eXBlb2YgZSE9ImJvb2xlYW4iKXRocm93IG5ldyBCKHpjKHR5cGVvZiBlLCJib29sZWFuIix0KSl9O1luLnR5cGVPZi5iaWdpbnQ9ZnVuY3Rpb24odCxlKXtpZih0eXBlb2YgZSE9ImJpZ2ludCIpdGhyb3cgbmV3IEIoemModHlwZW9mIGUsImJpZ2ludCIsdCkpfTtZbi50eXBlT2YubnVtYmVyLmVxdWFscz1mdW5jdGlvbih0LGUsbixvKXtpZihZbi50eXBlT2YubnVtYmVyKHQsbiksWW4udHlwZU9mLm51bWJlcihlLG8pLG4hPT1vKXRocm93IG5ldyBCKGAke3R9IG11c3QgYmUgZXF1YWwgdG8gJHtlfSwgdGhlIGFjdHVhbCB2YWx1ZXMgYXJlICR7bn0gYW5kICR7b31gKX07eT1Zbn0pO2Z1bmN0aW9uIGQxKHQsZSl7cmV0dXJuIHQ/P2V9dmFyIHgsSXQ9WigoKT0+e2QxLkVNUFRZX09CSkVDVD1PYmplY3QuZnJlZXplKHt9KTt4PWQxfSk7dmFyIGgxPVhuKChIVixtMSk9Pnt2YXIgUmk9ZnVuY3Rpb24odCl7dD09bnVsbCYmKHQ9bmV3IERhdGUoKS5nZXRUaW1lKCkpLHRoaXMuTj02MjQsdGhpcy5NPTM5Nyx0aGlzLk1BVFJJWF9BPTI1Njc0ODM2MTUsdGhpcy5VUFBFUl9NQVNLPTIxNDc0ODM2NDgsdGhpcy5MT1dFUl9NQVNLPTIxNDc0ODM2NDcsdGhpcy5tdD1uZXcgQXJyYXkodGhpcy5OKSx0aGlzLm10aT10aGlzLk4rMSx0LmNvbnN0cnVjdG9yPT1BcnJheT90aGlzLmluaXRfYnlfYXJyYXkodCx0Lmxlbmd0aCk6dGhpcy5pbml0X3NlZWQodCl9O1JpLnByb3RvdHlwZS5pbml0X3NlZWQ9ZnVuY3Rpb24odCl7Zm9yKHRoaXMubXRbMF09dD4+PjAsdGhpcy5tdGk9MTt0aGlzLm10aTx0aGlzLk47dGhpcy5tdGkrKyl7dmFyIHQ9dGhpcy5tdFt0aGlzLm10aS0xXV50aGlzLm10W3RoaXMubXRpLTFdPj4+MzA7dGhpcy5tdFt0aGlzLm10aV09KCgodCY0Mjk0OTAxNzYwKT4+PjE2KSoxODEyNDMzMjUzPDwxNikrKHQmNjU1MzUpKjE4MTI0MzMyNTMrdGhpcy5tdGksdGhpcy5tdFt0aGlzLm10aV0+Pj49MH19O1JpLnByb3RvdHlwZS5pbml0X2J5X2FycmF5PWZ1bmN0aW9uKHQsZSl7dmFyIG4sbyxyO2Zvcih0aGlzLmluaXRfc2VlZCgxOTY1MDIxOCksbj0xLG89MCxyPXRoaXMuTj5lP3RoaXMuTjplO3I7ci0tKXt2YXIgaT10aGlzLm10W24tMV1edGhpcy5tdFtuLTFdPj4+MzA7dGhpcy5tdFtuXT0odGhpcy5tdFtuXV4oKChpJjQyOTQ5MDE3NjApPj4+MTYpKjE2NjQ1MjU8PDE2KSsoaSY2NTUzNSkqMTY2NDUyNSkrdFtvXStvLHRoaXMubXRbbl0+Pj49MCxuKyssbysrLG4+PXRoaXMuTiYmKHRoaXMubXRbMF09dGhpcy5tdFt0aGlzLk4tMV0sbj0xKSxvPj1lJiYobz0wKX1mb3Iocj10aGlzLk4tMTtyO3ItLSl7dmFyIGk9dGhpcy5tdFtuLTFdXnRoaXMubXRbbi0xXT4+PjMwO3RoaXMubXRbbl09KHRoaXMubXRbbl1eKCgoaSY0Mjk0OTAxNzYwKT4+PjE2KSoxNTY2MDgzOTQxPDwxNikrKGkmNjU1MzUpKjE1NjYwODM5NDEpLW4sdGhpcy5tdFtuXT4+Pj0wLG4rKyxuPj10aGlzLk4mJih0aGlzLm10WzBdPXRoaXMubXRbdGhpcy5OLTFdLG49MSl9dGhpcy5tdFswXT0yMTQ3NDgzNjQ4fTtSaS5wcm90b3R5cGUucmFuZG9tX2ludD1mdW5jdGlvbigpe3ZhciB0LGU9bmV3IEFycmF5KDAsdGhpcy5NQVRSSVhfQSk7aWYodGhpcy5tdGk+PXRoaXMuTil7dmFyIG47Zm9yKHRoaXMubXRpPT10aGlzLk4rMSYmdGhpcy5pbml0X3NlZWQoNTQ4OSksbj0wO248dGhpcy5OLXRoaXMuTTtuKyspdD10aGlzLm10W25dJnRoaXMuVVBQRVJfTUFTS3x0aGlzLm10W24rMV0mdGhpcy5MT1dFUl9NQVNLLHRoaXMubXRbbl09dGhpcy5tdFtuK3RoaXMuTV1edD4+PjFeZVt0JjFdO2Zvcig7bjx0aGlzLk4tMTtuKyspdD10aGlzLm10W25dJnRoaXMuVVBQRVJfTUFTS3x0aGlzLm10W24rMV0mdGhpcy5MT1dFUl9NQVNLLHRoaXMubXRbbl09dGhpcy5tdFtuKyh0aGlzLk0tdGhpcy5OKV1edD4+PjFeZVt0JjFdO3Q9dGhpcy5tdFt0aGlzLk4tMV0mdGhpcy5VUFBFUl9NQVNLfHRoaXMubXRbMF0mdGhpcy5MT1dFUl9NQVNLLHRoaXMubXRbdGhpcy5OLTFdPXRoaXMubXRbdGhpcy5NLTFdXnQ+Pj4xXmVbdCYxXSx0aGlzLm10aT0wfXJldHVybiB0PXRoaXMubXRbdGhpcy5tdGkrK10sdF49dD4+PjExLHRePXQ8PDcmMjYzNjkyODY0MCx0Xj10PDwxNSY0MDIyNzMwNzUyLHRePXQ+Pj4xOCx0Pj4+MH07UmkucHJvdG90eXBlLnJhbmRvbV9pbnQzMT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJhbmRvbV9pbnQoKT4+PjF9O1JpLnByb3RvdHlwZS5yYW5kb21faW5jbD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJhbmRvbV9pbnQoKSooMS80Mjk0OTY3Mjk1KX07UmkucHJvdG90eXBlLnJhbmRvbT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnJhbmRvbV9pbnQoKSooMS80Mjk0OTY3Mjk2KX07UmkucHJvdG90eXBlLnJhbmRvbV9leGNsPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMucmFuZG9tX2ludCgpKy41KSooMS80Mjk0OTY3Mjk2KX07UmkucHJvdG90eXBlLnJhbmRvbV9sb25nPWZ1bmN0aW9uKCl7dmFyIHQ9dGhpcy5yYW5kb21faW50KCk+Pj41LGU9dGhpcy5yYW5kb21faW50KCk+Pj42O3JldHVybih0KjY3MTA4ODY0K2UpKigxLzkwMDcxOTkyNTQ3NDA5OTIpfTttMS5leHBvcnRzPVJpfSk7dmFyIHdtLHh0LEJsLF8xLE0sV3Q9WigoKT0+e3dtPWRyKGgxKCksMSk7WHQoKTtJdCgpO2Z0KCk7SHQoKTt4dD17fTt4dC5FUFNJTE9OMT0uMTt4dC5FUFNJTE9OMj0uMDE7eHQuRVBTSUxPTjM9LjAwMTt4dC5FUFNJTE9OND0xZS00O3h0LkVQU0lMT041PTFlLTU7eHQuRVBTSUxPTjY9MWUtNjt4dC5FUFNJTE9ONz0xZS03O3h0LkVQU0lMT044PTFlLTg7eHQuRVBTSUxPTjk9MWUtOTt4dC5FUFNJTE9OMTA9MWUtMTA7eHQuRVBTSUxPTjExPTFlLTExO3h0LkVQU0lMT04xMj0xZS0xMjt4dC5FUFNJTE9OMTM9MWUtMTM7eHQuRVBTSUxPTjE0PTFlLTE0O3h0LkVQU0lMT04xNT0xZS0xNTt4dC5FUFNJTE9OMTY9MWUtMTY7eHQuRVBTSUxPTjE3PTFlLTE3O3h0LkVQU0lMT04xOD0xZS0xODt4dC5FUFNJTE9OMTk9MWUtMTk7eHQuRVBTSUxPTjIwPTFlLTIwO3h0LkVQU0lMT04yMT0xZS0yMTt4dC5HUkFWSVRBVElPTkFMUEFSQU1FVEVSPTM5ODYwMDQ0MThlNTt4dC5TT0xBUl9SQURJVVM9Njk1NWU1O3h0LkxVTkFSX1JBRElVUz0xNzM3NDAwO3h0LlNJWFRZX0ZPVVJfS0lMT0JZVEVTPTY0KjEwMjQ7eHQuRk9VUl9HSUdBQllURVM9NCoxMDI0KjEwMjQqMTAyNDt4dC5zaWduPXgoTWF0aC5zaWduLGZ1bmN0aW9uKGUpe3JldHVybiBlPStlLGU9PT0wfHxlIT09ZT9lOmU+MD8xOi0xfSk7eHQuc2lnbk5vdFplcm89ZnVuY3Rpb24odCl7cmV0dXJuIHQ8MD8tMToxfTt4dC50b1NOb3JtPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGU9eChlLDI1NSksTWF0aC5yb3VuZCgoeHQuY2xhbXAodCwtMSwxKSouNSsuNSkqZSl9O3h0LmZyb21TTm9ybT1mdW5jdGlvbih0LGUpe3JldHVybiBlPXgoZSwyNTUpLHh0LmNsYW1wKHQsMCxlKS9lKjItMX07eHQubm9ybWFsaXplPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj1NYXRoLm1heChuLWUsMCksbj09PTA/MDp4dC5jbGFtcCgodC1lKS9uLDAsMSl9O3h0LnNpbmg9eChNYXRoLnNpbmgsZnVuY3Rpb24oZSl7cmV0dXJuKE1hdGguZXhwKGUpLU1hdGguZXhwKC1lKSkvMn0pO3h0LmNvc2g9eChNYXRoLmNvc2gsZnVuY3Rpb24oZSl7cmV0dXJuKE1hdGguZXhwKGUpK01hdGguZXhwKC1lKSkvMn0pO3h0LmxlcnA9ZnVuY3Rpb24odCxlLG4pe3JldHVybigxLW4pKnQrbiplfTt4dC5QST1NYXRoLlBJO3h0Lk9ORV9PVkVSX1BJPTEvTWF0aC5QSTt4dC5QSV9PVkVSX1RXTz1NYXRoLlBJLzI7eHQuUElfT1ZFUl9USFJFRT1NYXRoLlBJLzM7eHQuUElfT1ZFUl9GT1VSPU1hdGguUEkvNDt4dC5QSV9PVkVSX1NJWD1NYXRoLlBJLzY7eHQuVEhSRUVfUElfT1ZFUl9UV089MypNYXRoLlBJLzI7eHQuVFdPX1BJPTIqTWF0aC5QSTt4dC5PTkVfT1ZFUl9UV09fUEk9MS8oMipNYXRoLlBJKTt4dC5SQURJQU5TX1BFUl9ERUdSRUU9TWF0aC5QSS8xODA7eHQuREVHUkVFU19QRVJfUkFESUFOPTE4MC9NYXRoLlBJO3h0LlJBRElBTlNfUEVSX0FSQ1NFQ09ORD14dC5SQURJQU5TX1BFUl9ERUdSRUUvMzYwMDt4dC50b1JhZGlhbnM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImRlZ3JlZXMgaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQqeHQuUkFESUFOU19QRVJfREVHUkVFfTt4dC50b0RlZ3JlZXM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEIoInJhZGlhbnMgaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQqeHQuREVHUkVFU19QRVJfUkFESUFOfTt4dC5jb252ZXJ0TG9uZ2l0dWRlUmFuZ2U9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImFuZ2xlIGlzIHJlcXVpcmVkLiIpO2xldCBlPXh0LlRXT19QSSxuPXQtTWF0aC5mbG9vcih0L2UpKmU7cmV0dXJuIG48LU1hdGguUEk/bitlOm4+PU1hdGguUEk/bi1lOm59O3h0LmNsYW1wVG9MYXRpdHVkZVJhbmdlPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJhbmdsZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4geHQuY2xhbXAodCwtMSp4dC5QSV9PVkVSX1RXTyx4dC5QSV9PVkVSX1RXTyl9O3h0Lm5lZ2F0aXZlUGlUb1BpPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJhbmdsZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdD49LXh0LlBJJiZ0PD14dC5QST90Onh0Lnplcm9Ub1R3b1BpKHQreHQuUEkpLXh0LlBJfTt4dC56ZXJvVG9Ud29QaT1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigiYW5nbGUgaXMgcmVxdWlyZWQuIik7aWYodD49MCYmdDw9eHQuVFdPX1BJKXJldHVybiB0O2xldCBlPXh0Lm1vZCh0LHh0LlRXT19QSSk7cmV0dXJuIE1hdGguYWJzKGUpPHh0LkVQU0lMT04xNCYmTWF0aC5hYnModCk+eHQuRVBTSUxPTjE0P3h0LlRXT19QSTplfTt4dC5tb2Q9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigibSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigibiBpcyByZXF1aXJlZC4iKTtpZihlPT09MCl0aHJvdyBuZXcgQigiZGl2aXNvciBjYW5ub3QgYmUgMC4iKTtyZXR1cm4geHQuc2lnbih0KT09PXh0LnNpZ24oZSkmJk1hdGguYWJzKHQpPE1hdGguYWJzKGUpP3Q6KHQlZStlKSVlfTt4dC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJsZWZ0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJyaWdodCBpcyByZXF1aXJlZC4iKTtuPXgobiwwKSxvPXgobyxuKTtsZXQgcj1NYXRoLmFicyh0LWUpO3JldHVybiByPD1vfHxyPD1uKk1hdGgubWF4KE1hdGguYWJzKHQpLE1hdGguYWJzKGUpKX07eHQubGVzc1RoYW49ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJmaXJzdCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigic2Vjb25kIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJhYnNvbHV0ZUVwc2lsb24gaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQtZTwtbn07eHQubGVzc1RoYW5PckVxdWFscz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImZpcnN0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJzZWNvbmQgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEIoImFic29sdXRlRXBzaWxvbiBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdC1lPG59O3h0LmdyZWF0ZXJUaGFuPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigiZmlyc3QgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoInNlY29uZCBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigiYWJzb2x1dGVFcHNpbG9uIGlzIHJlcXVpcmVkLiIpO3JldHVybiB0LWU+bn07eHQuZ3JlYXRlclRoYW5PckVxdWFscz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImZpcnN0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJzZWNvbmQgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEIoImFic29sdXRlRXBzaWxvbiBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdC1lPi1ufTtCbD1bMV07eHQuZmFjdG9yaWFsPWZ1bmN0aW9uKHQpe2lmKHR5cGVvZiB0IT0ibnVtYmVyInx8dDwwKXRocm93IG5ldyBCKCJBIG51bWJlciBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gMCBpcyByZXF1aXJlZC4iKTtsZXQgZT1CbC5sZW5ndGg7aWYodD49ZSl7bGV0IG49QmxbZS0xXTtmb3IobGV0IG89ZTtvPD10O28rKyl7bGV0IHI9bipvO0JsLnB1c2gociksbj1yfX1yZXR1cm4gQmxbdF19O3h0LmluY3JlbWVudFdyYXA9ZnVuY3Rpb24odCxlLG4pe2lmKG49eChuLDApLCFoKHQpKXRocm93IG5ldyBCKCJuIGlzIHJlcXVpcmVkLiIpO2lmKGU8PW4pdGhyb3cgbmV3IEIoIm1heGltdW1WYWx1ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBtaW5pbXVtVmFsdWUuIik7cmV0dXJuKyt0LHQ+ZSYmKHQ9biksdH07eHQuaXNQb3dlck9mVHdvPWZ1bmN0aW9uKHQpe2lmKHR5cGVvZiB0IT0ibnVtYmVyInx8dDwwfHx0PjQyOTQ5NjcyOTUpdGhyb3cgbmV3IEIoIkEgbnVtYmVyIGJldHdlZW4gMCBhbmQgKDJeMzIpLTEgaXMgcmVxdWlyZWQuIik7cmV0dXJuIHQhPT0wJiYodCZ0LTEpPT09MH07eHQubmV4dFBvd2VyT2ZUd289ZnVuY3Rpb24odCl7aWYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHQ+MjE0NzQ4MzY0OCl0aHJvdyBuZXcgQigiQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAyXjMxIGlzIHJlcXVpcmVkLiIpO3JldHVybi0tdCx0fD10Pj4xLHR8PXQ+PjIsdHw9dD4+NCx0fD10Pj44LHR8PXQ+PjE2LCsrdCx0fTt4dC5wcmV2aW91c1Bvd2VyT2ZUd289ZnVuY3Rpb24odCl7aWYodHlwZW9mIHQhPSJudW1iZXIifHx0PDB8fHQ+NDI5NDk2NzI5NSl0aHJvdyBuZXcgQigiQSBudW1iZXIgYmV0d2VlbiAwIGFuZCAoMl4zMiktMSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdHw9dD4+MSx0fD10Pj4yLHR8PXQ+PjQsdHw9dD4+OCx0fD10Pj4xNix0fD10Pj4zMix0PSh0Pj4+MCktKHQ+Pj4xKSx0fTt4dC5jbGFtcD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm51bWJlcigidmFsdWUiLHQpLHkudHlwZU9mLm51bWJlcigibWluIixlKSx5LnR5cGVPZi5udW1iZXIoIm1heCIsbiksdDxlP2U6dD5uP246dH07XzE9bmV3IHdtLmRlZmF1bHQ7eHQuc2V0UmFuZG9tTnVtYmVyU2VlZD1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigic2VlZCBpcyByZXF1aXJlZC4iKTtfMT1uZXcgd20uZGVmYXVsdCh0KX07eHQubmV4dFJhbmRvbU51bWJlcj1mdW5jdGlvbigpe3JldHVybiBfMS5yYW5kb20oKX07eHQucmFuZG9tQmV0d2Vlbj1mdW5jdGlvbih0LGUpe3JldHVybiB4dC5uZXh0UmFuZG9tTnVtYmVyKCkqKGUtdCkrdH07eHQuYWNvc0NsYW1wZWQ9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEIoInZhbHVlIGlzIHJlcXVpcmVkLiIpO3JldHVybiBNYXRoLmFjb3MoeHQuY2xhbXAodCwtMSwxKSl9O3h0LmFzaW5DbGFtcGVkPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ2YWx1ZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gTWF0aC5hc2luKHh0LmNsYW1wKHQsLTEsMSkpfTt4dC5jaG9yZExlbmd0aD1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJhbmdsZSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigicmFkaXVzIGlzIHJlcXVpcmVkLiIpO3JldHVybiAyKmUqTWF0aC5zaW4odCouNSl9O3h0LmxvZ0Jhc2U9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigibnVtYmVyIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJiYXNlIGlzIHJlcXVpcmVkLiIpO3JldHVybiBNYXRoLmxvZyh0KS9NYXRoLmxvZyhlKX07eHQuY2JydD14KE1hdGguY2JydCxmdW5jdGlvbihlKXtsZXQgbj1NYXRoLnBvdyhNYXRoLmFicyhlKSwuMzMzMzMzMzMzMzMzMzMzMyk7cmV0dXJuIGU8MD8tbjpufSk7eHQubG9nMj14KE1hdGgubG9nMixmdW5jdGlvbihlKXtyZXR1cm4gTWF0aC5sb2coZSkqTWF0aC5MT0cyRX0pO3h0LmZvZz1mdW5jdGlvbih0LGUpe2xldCBuPXQqZTtyZXR1cm4gMS1NYXRoLmV4cCgtKG4qbikpfTt4dC5mYXN0QXBwcm94aW1hdGVBdGFuPWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoIngiLHQpLHQqKC0uMTc4NCpNYXRoLmFicyh0KS0uMDY2Myp0KnQrMS4wMzAxKX07eHQuZmFzdEFwcHJveGltYXRlQXRhbjI9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5udW1iZXIoIngiLHQpLHkudHlwZU9mLm51bWJlcigieSIsZSk7bGV0IG4sbz1NYXRoLmFicyh0KTtuPU1hdGguYWJzKGUpO2xldCByPU1hdGgubWF4KG8sbik7bj1NYXRoLm1pbihvLG4pO2xldCBpPW4vcjtpZihpc05hTihpKSl0aHJvdyBuZXcgQigiZWl0aGVyIHggb3IgeSBtdXN0IGJlIG5vbnplcm8iKTtyZXR1cm4gbz14dC5mYXN0QXBwcm94aW1hdGVBdGFuKGkpLG89TWF0aC5hYnMoZSk+TWF0aC5hYnModCk/eHQuUElfT1ZFUl9UV08tbzpvLG89dDwwP3h0LlBJLW86byxvPWU8MD8tbzpvLG99O009eHR9KTtmdW5jdGlvbiBidCh0LGUsbil7dGhpcy54PXgodCwwKSx0aGlzLnk9eChlLDApLHRoaXMuej14KG4sMCl9dmFyIFZsLHkxLFVsLE9tLGVDLG1yLGpjLGEsRnQ9WigoKT0+e1h0KCk7SXQoKTtmdCgpO0h0KCk7V3QoKTtidC5mcm9tU3BoZXJpY2FsPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJzcGhlcmljYWwiLHQpLGgoZSl8fChlPW5ldyBidCk7bGV0IG49dC5jbG9jayxvPXQuY29uZSxyPXgodC5tYWduaXR1ZGUsMSksaT1yKk1hdGguc2luKG8pO3JldHVybiBlLng9aSpNYXRoLmNvcyhuKSxlLnk9aSpNYXRoLnNpbihuKSxlLno9cipNYXRoLmNvcyhvKSxlfTtidC5mcm9tRWxlbWVudHM9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIGgobyk/KG8ueD10LG8ueT1lLG8uej1uLG8pOm5ldyBidCh0LGUsbil9O2J0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS54PXQueCxlLnk9dC55LGUuej10LnosZSk6bmV3IGJ0KHQueCx0LnksdC56KX07YnQuZnJvbUNhcnRlc2lhbjQ9YnQuY2xvbmU7YnQucGFja2VkTGVuZ3RoPTM7YnQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuKytdPXQueSxlW25dPXQueixlfTtidC51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKSxoKG4pfHwobj1uZXcgYnQpLG4ueD10W2UrK10sbi55PXRbZSsrXSxuLno9dFtlXSxufTtidC5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImFycmF5Iix0KTtsZXQgbj10Lmxlbmd0aCxvPW4qMztpZighaChlKSllPW5ldyBBcnJheShvKTtlbHNle2lmKCFBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aCE9PW8pdGhyb3cgbmV3IEIoIklmIHJlc3VsdCBpcyBhIHR5cGVkIGFycmF5LCBpdCBtdXN0IGhhdmUgZXhhY3RseSBhcnJheS5sZW5ndGggKiAzIGVsZW1lbnRzIik7ZS5sZW5ndGghPT1vJiYoZS5sZW5ndGg9byl9Zm9yKGxldCByPTA7cjxuOysrcilidC5wYWNrKHRbcl0sZSxyKjMpO3JldHVybiBlfTtidC51bnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe2lmKHkuZGVmaW5lZCgiYXJyYXkiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJhcnJheS5sZW5ndGgiLHQubGVuZ3RoLDMpLHQubGVuZ3RoJTMhPT0wKXRocm93IG5ldyBCKCJhcnJheSBsZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMuIik7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uLzM6ZT1uZXcgQXJyYXkobi8zKTtmb3IobGV0IG89MDtvPG47bys9Myl7bGV0IHI9by8zO2Vbcl09YnQudW5wYWNrKHQsbyxlW3JdKX1yZXR1cm4gZX07YnQuZnJvbUFycmF5PWJ0LnVucGFjaztidC5tYXhpbXVtQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksTWF0aC5tYXgodC54LHQueSx0LnopfTtidC5taW5pbXVtQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksTWF0aC5taW4odC54LHQueSx0LnopfTtidC5taW5pbXVtQnlDb21wb25lbnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImZpcnN0Iix0KSx5LnR5cGVPZi5vYmplY3QoInNlY29uZCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD1NYXRoLm1pbih0LngsZS54KSxuLnk9TWF0aC5taW4odC55LGUueSksbi56PU1hdGgubWluKHQueixlLnopLG59O2J0Lm1heGltdW1CeUNvbXBvbmVudD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZmlyc3QiLHQpLHkudHlwZU9mLm9iamVjdCgic2Vjb25kIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PU1hdGgubWF4KHQueCxlLngpLG4ueT1NYXRoLm1heCh0LnksZS55KSxuLno9TWF0aC5tYXgodC56LGUueiksbn07YnQuY2xhbXA9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS50eXBlT2Yub2JqZWN0KCJtaW4iLGUpLHkudHlwZU9mLm9iamVjdCgibWF4IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyk7bGV0IHI9TS5jbGFtcCh0LngsZS54LG4ueCksaT1NLmNsYW1wKHQueSxlLnksbi55KSxzPU0uY2xhbXAodC56LGUueixuLnopO3JldHVybiBvLng9cixvLnk9aSxvLno9cyxvfTtidC5tYWduaXR1ZGVTcXVhcmVkPWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksdC54KnQueCt0LnkqdC55K3Queip0Lnp9O2J0Lm1hZ25pdHVkZT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KGJ0Lm1hZ25pdHVkZVNxdWFyZWQodCkpfTtWbD1uZXcgYnQ7YnQuZGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSxidC5zdWJ0cmFjdCh0LGUsVmwpLGJ0Lm1hZ25pdHVkZShWbCl9O2J0LmRpc3RhbmNlU3F1YXJlZD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLGJ0LnN1YnRyYWN0KHQsZSxWbCksYnQubWFnbml0dWRlU3F1YXJlZChWbCl9O2J0Lm5vcm1hbGl6ZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49YnQubWFnbml0dWRlKHQpO2lmKGUueD10LngvbixlLnk9dC55L24sZS56PXQuei9uLGlzTmFOKGUueCl8fGlzTmFOKGUueSl8fGlzTmFOKGUueikpdGhyb3cgbmV3IEIoIm5vcm1hbGl6ZWQgcmVzdWx0IGlzIG5vdCBhIG51bWJlciIpO3JldHVybiBlfTtidC5kb3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx0LngqZS54K3QueSplLnkrdC56KmUuen07YnQubXVsdGlwbHlDb21wb25lbnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCplLngsbi55PXQueSplLnksbi56PXQueiplLnosbn07YnQuZGl2aWRlQ29tcG9uZW50cz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngvZS54LG4ueT10LnkvZS55LG4uej10LnovZS56LG59O2J0LmFkZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngrZS54LG4ueT10LnkrZS55LG4uej10LnorZS56LG59O2J0LnN1YnRyYWN0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC1lLngsbi55PXQueS1lLnksbi56PXQuei1lLnosbn07YnQubXVsdGlwbHlCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxhciIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngqZSxuLnk9dC55KmUsbi56PXQueiplLG59O2J0LmRpdmlkZUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxuLno9dC56L2Usbn07YnQubmVnYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PS10LngsZS55PS10LnksZS56PS10LnosZX07YnQuYWJzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PU1hdGguYWJzKHQueCksZS55PU1hdGguYWJzKHQueSksZS56PU1hdGguYWJzKHQueiksZX07eTE9bmV3IGJ0O2J0LmxlcnA9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgic3RhcnQiLHQpLHkudHlwZU9mLm9iamVjdCgiZW5kIixlKSx5LnR5cGVPZi5udW1iZXIoInQiLG4pLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixvKSxidC5tdWx0aXBseUJ5U2NhbGFyKGUsbix5MSksbz1idC5tdWx0aXBseUJ5U2NhbGFyKHQsMS1uLG8pLGJ0LmFkZCh5MSxvLG8pfTtVbD1uZXcgYnQsT209bmV3IGJ0O2J0LmFuZ2xlQmV0d2Vlbj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksYnQubm9ybWFsaXplKHQsVWwpLGJ0Lm5vcm1hbGl6ZShlLE9tKTtsZXQgbj1idC5kb3QoVWwsT20pLG89YnQubWFnbml0dWRlKGJ0LmNyb3NzKFVsLE9tLFVsKSk7cmV0dXJuIE1hdGguYXRhbjIobyxuKX07ZUM9bmV3IGJ0O2J0Lm1vc3RPcnRob2dvbmFsQXhpcz1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49YnQubm9ybWFsaXplKHQsZUMpO3JldHVybiBidC5hYnMobixuKSxuLng8PW4ueT9uLng8PW4uej9lPWJ0LmNsb25lKGJ0LlVOSVRfWCxlKTplPWJ0LmNsb25lKGJ0LlVOSVRfWixlKTpuLnk8PW4uej9lPWJ0LmNsb25lKGJ0LlVOSVRfWSxlKTplPWJ0LmNsb25lKGJ0LlVOSVRfWixlKSxlfTtidC5wcm9qZWN0VmVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImEiLHQpLHkuZGVmaW5lZCgiYiIsZSkseS5kZWZpbmVkKCJyZXN1bHQiLG4pO2xldCBvPWJ0LmRvdCh0LGUpL2J0LmRvdChlLGUpO3JldHVybiBidC5tdWx0aXBseUJ5U2NhbGFyKGUsbyxuKX07YnQuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0Lng9PT1lLngmJnQueT09PWUueSYmdC56PT09ZS56fTtidC5lcXVhbHNBcnJheT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHQueD09PWVbbl0mJnQueT09PWVbbisxXSYmdC56PT09ZVtuKzJdfTtidC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmTS5lcXVhbHNFcHNpbG9uKHQueCxlLngsbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueSxlLnksbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueixlLnosbixvKX07YnQuY3Jvc3M9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXQueCxyPXQueSxpPXQueixzPWUueCxmPWUueSx1PWUueixjPXIqdS1pKmYsbD1pKnMtbyp1LHA9bypmLXIqcztyZXR1cm4gbi54PWMsbi55PWwsbi56PXAsbn07YnQubWlkcG9pbnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9KHQueCtlLngpKi41LG4ueT0odC55K2UueSkqLjUsbi56PSh0LnorZS56KSouNSxufTtidC5mcm9tRGVncmVlcz1mdW5jdGlvbih0LGUsbixvLHIpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoImxvbmdpdHVkZSIsdCkseS50eXBlT2YubnVtYmVyKCJsYXRpdHVkZSIsZSksdD1NLnRvUmFkaWFucyh0KSxlPU0udG9SYWRpYW5zKGUpLGJ0LmZyb21SYWRpYW5zKHQsZSxuLG8scil9O21yPW5ldyBidCxqYz1uZXcgYnQ7YnQuX2VsbGlwc29pZFJhZGlpU3F1YXJlZD1uZXcgYnQoNjM3ODEzNyo2Mzc4MTM3LDYzNzgxMzcqNjM3ODEzNyw2MzU2NzUyMzE0MjQ1MTc5ZS05KjYzNTY3NTIzMTQyNDUxNzllLTkpO2J0LmZyb21SYWRpYW5zPWZ1bmN0aW9uKHQsZSxuLG8scil7eS50eXBlT2YubnVtYmVyKCJsb25naXR1ZGUiLHQpLHkudHlwZU9mLm51bWJlcigibGF0aXR1ZGUiLGUpLG49eChuLDApO2xldCBpPWgobyk/by5yYWRpaVNxdWFyZWQ6YnQuX2VsbGlwc29pZFJhZGlpU3F1YXJlZCxzPU1hdGguY29zKGUpO21yLng9cypNYXRoLmNvcyh0KSxtci55PXMqTWF0aC5zaW4odCksbXIuej1NYXRoLnNpbihlKSxtcj1idC5ub3JtYWxpemUobXIsbXIpLGJ0Lm11bHRpcGx5Q29tcG9uZW50cyhpLG1yLGpjKTtsZXQgZj1NYXRoLnNxcnQoYnQuZG90KG1yLGpjKSk7cmV0dXJuIGpjPWJ0LmRpdmlkZUJ5U2NhbGFyKGpjLGYsamMpLG1yPWJ0Lm11bHRpcGx5QnlTY2FsYXIobXIsbixtciksaChyKXx8KHI9bmV3IGJ0KSxidC5hZGQoamMsbXIscil9O2J0LmZyb21EZWdyZWVzQXJyYXk9ZnVuY3Rpb24odCxlLG4pe2lmKHkuZGVmaW5lZCgiY29vcmRpbmF0ZXMiLHQpLHQubGVuZ3RoPDJ8fHQubGVuZ3RoJTIhPT0wKXRocm93IG5ldyBCKCJ0aGUgbnVtYmVyIG9mIGNvb3JkaW5hdGVzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyIGFuZCBhdCBsZWFzdCAyIik7bGV0IG89dC5sZW5ndGg7aChuKT9uLmxlbmd0aD1vLzI6bj1uZXcgQXJyYXkoby8yKTtmb3IobGV0IHI9MDtyPG87cis9Mil7bGV0IGk9dFtyXSxzPXRbcisxXSxmPXIvMjtuW2ZdPWJ0LmZyb21EZWdyZWVzKGkscywwLGUsbltmXSl9cmV0dXJuIG59O2J0LmZyb21SYWRpYW5zQXJyYXk9ZnVuY3Rpb24odCxlLG4pe2lmKHkuZGVmaW5lZCgiY29vcmRpbmF0ZXMiLHQpLHQubGVuZ3RoPDJ8fHQubGVuZ3RoJTIhPT0wKXRocm93IG5ldyBCKCJ0aGUgbnVtYmVyIG9mIGNvb3JkaW5hdGVzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyIGFuZCBhdCBsZWFzdCAyIik7bGV0IG89dC5sZW5ndGg7aChuKT9uLmxlbmd0aD1vLzI6bj1uZXcgQXJyYXkoby8yKTtmb3IobGV0IHI9MDtyPG87cis9Mil7bGV0IGk9dFtyXSxzPXRbcisxXSxmPXIvMjtuW2ZdPWJ0LmZyb21SYWRpYW5zKGkscywwLGUsbltmXSl9cmV0dXJuIG59O2J0LmZyb21EZWdyZWVzQXJyYXlIZWlnaHRzPWZ1bmN0aW9uKHQsZSxuKXtpZih5LmRlZmluZWQoImNvb3JkaW5hdGVzIix0KSx0Lmxlbmd0aDwzfHx0Lmxlbmd0aCUzIT09MCl0aHJvdyBuZXcgQigidGhlIG51bWJlciBvZiBjb29yZGluYXRlcyBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMyBhbmQgYXQgbGVhc3QgMyIpO2xldCBvPXQubGVuZ3RoO2gobik/bi5sZW5ndGg9by8zOm49bmV3IEFycmF5KG8vMyk7Zm9yKGxldCByPTA7cjxvO3IrPTMpe2xldCBpPXRbcl0scz10W3IrMV0sZj10W3IrMl0sdT1yLzM7blt1XT1idC5mcm9tRGVncmVlcyhpLHMsZixlLG5bdV0pfXJldHVybiBufTtidC5mcm9tUmFkaWFuc0FycmF5SGVpZ2h0cz1mdW5jdGlvbih0LGUsbil7aWYoeS5kZWZpbmVkKCJjb29yZGluYXRlcyIsdCksdC5sZW5ndGg8M3x8dC5sZW5ndGglMyE9PTApdGhyb3cgbmV3IEIoInRoZSBudW1iZXIgb2YgY29vcmRpbmF0ZXMgbXVzdCBiZSBhIG11bHRpcGxlIG9mIDMgYW5kIGF0IGxlYXN0IDMiKTtsZXQgbz10Lmxlbmd0aDtoKG4pP24ubGVuZ3RoPW8vMzpuPW5ldyBBcnJheShvLzMpO2ZvcihsZXQgcj0wO3I8bztyKz0zKXtsZXQgaT10W3JdLHM9dFtyKzFdLGY9dFtyKzJdLHU9ci8zO25bdV09YnQuZnJvbVJhZGlhbnMoaSxzLGYsZSxuW3VdKX1yZXR1cm4gbn07YnQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBidCgwLDAsMCkpO2J0Lk9ORT1PYmplY3QuZnJlZXplKG5ldyBidCgxLDEsMSkpO2J0LlVOSVRfWD1PYmplY3QuZnJlZXplKG5ldyBidCgxLDAsMCkpO2J0LlVOSVRfWT1PYmplY3QuZnJlZXplKG5ldyBidCgwLDEsMCkpO2J0LlVOSVRfWj1PYmplY3QuZnJlZXplKG5ldyBidCgwLDAsMSkpO2J0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gYnQuY2xvbmUodGhpcyx0KX07YnQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gYnQuZXF1YWxzKHRoaXMsdCl9O2J0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gYnQuZXF1YWxzRXBzaWxvbih0aGlzLHQsZSxuKX07YnQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXMueH0sICR7dGhpcy55fSwgJHt0aGlzLnp9KWB9O2E9YnR9KTtmdW5jdGlvbiByQyh0LGUsbixvLHIpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJjYXJ0ZXNpYW4gaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoIm9uZU92ZXJSYWRpaSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigib25lT3ZlclJhZGlpU3F1YXJlZCBpcyByZXF1aXJlZC4iKTtpZighaChvKSl0aHJvdyBuZXcgQigiY2VudGVyVG9sZXJhbmNlU3F1YXJlZCBpcyByZXF1aXJlZC4iKTtsZXQgaT10Lngscz10LnksZj10LnosdT1lLngsYz1lLnksbD1lLnoscD1pKmkqdSp1LGQ9cypzKmMqYyxtPWYqZipsKmwsXz1wK2QrbSxnPU1hdGguc3FydCgxL18pLGI9YS5tdWx0aXBseUJ5U2NhbGFyKHQsZyxuQyk7aWYoXzxvKXJldHVybiBpc0Zpbml0ZShnKT9hLmNsb25lKGIscik6dm9pZCAwO2xldCBUPW4ueCxPPW4ueSxFPW4ueix3PW9DO3cueD1iLngqVCoyLHcueT1iLnkqTyoyLHcuej1iLnoqRSoyO2xldCBDPSgxLWcpKmEubWFnbml0dWRlKHQpLyguNSphLm1hZ25pdHVkZSh3KSksTj0wLEksRCx2LEwsVSxBLFMsUCxGLGosSDtkb3tDLT1OLHY9MS8oMStDKlQpLEw9MS8oMStDKk8pLFU9MS8oMStDKkUpLEE9dip2LFM9TCpMLFA9VSpVLEY9QSp2LGo9UypMLEg9UCpVLEk9cCpBK2QqUyttKlAtMSxEPXAqRipUK2QqaipPK20qSCpFO2xldCBrPS0yKkQ7Tj1JL2t9d2hpbGUoTWF0aC5hYnMoSSk+TS5FUFNJTE9OMTIpO3JldHVybiBoKHIpPyhyLng9aSp2LHIueT1zKkwsci56PWYqVSxyKTpuZXcgYShpKnYscypMLGYqVSl9dmFyIG5DLG9DLGtsLEVtPVooKCk9PntGdCgpO2Z0KCk7SHQoKTtXdCgpO25DPW5ldyBhLG9DPW5ldyBhO2tsPXJDfSk7ZnVuY3Rpb24gX24odCxlLG4pe3RoaXMubG9uZ2l0dWRlPXgodCwwKSx0aGlzLmxhdGl0dWRlPXgoZSwwKSx0aGlzLmhlaWdodD14KG4sMCl9dmFyIGlDLHNDLGNDLGN0LEllPVooKCk9PntGdCgpO1h0KCk7SXQoKTtmdCgpO1d0KCk7RW0oKTtfbi5mcm9tUmFkaWFucz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4geS50eXBlT2YubnVtYmVyKCJsb25naXR1ZGUiLHQpLHkudHlwZU9mLm51bWJlcigibGF0aXR1ZGUiLGUpLG49eChuLDApLGgobyk/KG8ubG9uZ2l0dWRlPXQsby5sYXRpdHVkZT1lLG8uaGVpZ2h0PW4sbyk6bmV3IF9uKHQsZSxuKX07X24uZnJvbURlZ3JlZXM9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm51bWJlcigibG9uZ2l0dWRlIix0KSx5LnR5cGVPZi5udW1iZXIoImxhdGl0dWRlIixlKSx0PU0udG9SYWRpYW5zKHQpLGU9TS50b1JhZGlhbnMoZSksX24uZnJvbVJhZGlhbnModCxlLG4sbyl9O2lDPW5ldyBhLHNDPW5ldyBhLGNDPW5ldyBhO19uLl9lbGxpcHNvaWRPbmVPdmVyUmFkaWk9bmV3IGEoMS82Mzc4MTM3LDEvNjM3ODEzNywxLzYzNTY3NTIzMTQyNDUxNzllLTkpO19uLl9lbGxpcHNvaWRPbmVPdmVyUmFkaWlTcXVhcmVkPW5ldyBhKDEvKDYzNzgxMzcqNjM3ODEzNyksMS8oNjM3ODEzNyo2Mzc4MTM3KSwxLyg2MzU2NzUyMzE0MjQ1MTc5ZS05KjYzNTY3NTIzMTQyNDUxNzllLTkpKTtfbi5fZWxsaXBzb2lkQ2VudGVyVG9sZXJhbmNlU3F1YXJlZD1NLkVQU0lMT04xO19uLmZyb21DYXJ0ZXNpYW49ZnVuY3Rpb24odCxlLG4pe2xldCBvPWgoZSk/ZS5vbmVPdmVyUmFkaWk6X24uX2VsbGlwc29pZE9uZU92ZXJSYWRpaSxyPWgoZSk/ZS5vbmVPdmVyUmFkaWlTcXVhcmVkOl9uLl9lbGxpcHNvaWRPbmVPdmVyUmFkaWlTcXVhcmVkLGk9aChlKT9lLl9jZW50ZXJUb2xlcmFuY2VTcXVhcmVkOl9uLl9lbGxpcHNvaWRDZW50ZXJUb2xlcmFuY2VTcXVhcmVkLHM9a2wodCxvLHIsaSxzQyk7aWYoIWgocykpcmV0dXJuO2xldCBmPWEubXVsdGlwbHlDb21wb25lbnRzKHMscixpQyk7Zj1hLm5vcm1hbGl6ZShmLGYpO2xldCB1PWEuc3VidHJhY3QodCxzLGNDKSxjPU1hdGguYXRhbjIoZi55LGYueCksbD1NYXRoLmFzaW4oZi56KSxwPU0uc2lnbihhLmRvdCh1LHQpKSphLm1hZ25pdHVkZSh1KTtyZXR1cm4gaChuKT8obi5sb25naXR1ZGU9YyxuLmxhdGl0dWRlPWwsbi5oZWlnaHQ9cCxuKTpuZXcgX24oYyxsLHApfTtfbi50b0NhcnRlc2lhbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiY2FydG9ncmFwaGljIix0KSxhLmZyb21SYWRpYW5zKHQubG9uZ2l0dWRlLHQubGF0aXR1ZGUsdC5oZWlnaHQsZSxuKX07X24uY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLmxvbmdpdHVkZT10LmxvbmdpdHVkZSxlLmxhdGl0dWRlPXQubGF0aXR1ZGUsZS5oZWlnaHQ9dC5oZWlnaHQsZSk6bmV3IF9uKHQubG9uZ2l0dWRlLHQubGF0aXR1ZGUsdC5oZWlnaHQpfTtfbi5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQubG9uZ2l0dWRlPT09ZS5sb25naXR1ZGUmJnQubGF0aXR1ZGU9PT1lLmxhdGl0dWRlJiZ0LmhlaWdodD09PWUuaGVpZ2h0fTtfbi5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj14KG4sMCksdD09PWV8fGgodCkmJmgoZSkmJk1hdGguYWJzKHQubG9uZ2l0dWRlLWUubG9uZ2l0dWRlKTw9biYmTWF0aC5hYnModC5sYXRpdHVkZS1lLmxhdGl0dWRlKTw9biYmTWF0aC5hYnModC5oZWlnaHQtZS5oZWlnaHQpPD1ufTtfbi5aRVJPPU9iamVjdC5mcmVlemUobmV3IF9uKDAsMCwwKSk7X24ucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBfbi5jbG9uZSh0aGlzLHQpfTtfbi5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBfbi5lcXVhbHModGhpcyx0KX07X24ucHJvdG90eXBlLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gX24uZXF1YWxzRXBzaWxvbih0aGlzLHQsZSl9O19uLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybmAoJHt0aGlzLmxvbmdpdHVkZX0sICR7dGhpcy5sYXRpdHVkZX0sICR7dGhpcy5oZWlnaHR9KWB9O2N0PV9ufSk7ZnVuY3Rpb24ganQodCxlKXt0aGlzLng9eCh0LDApLHRoaXMueT14KGUsMCl9dmFyIEdsLGcxLEExLGIxLGFDLHR0LFVlPVooKCk9PntYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7anQuZnJvbUVsZW1lbnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gaChuKT8obi54PXQsbi55PWUsbik6bmV3IGp0KHQsZSl9O2p0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS54PXQueCxlLnk9dC55LGUpOm5ldyBqdCh0LngsdC55KX07anQuZnJvbUNhcnRlc2lhbjM9anQuY2xvbmU7anQuZnJvbUNhcnRlc2lhbjQ9anQuY2xvbmU7anQucGFja2VkTGVuZ3RoPTI7anQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuXT10LnksZX07anQudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IGp0KSxuLng9dFtlKytdLG4ueT10W2VdLG59O2p0LnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiYXJyYXkiLHQpO2xldCBuPXQubGVuZ3RoLG89bioyO2lmKCFoKGUpKWU9bmV3IEFycmF5KG8pO2Vsc2V7aWYoIUFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoIT09byl0aHJvdyBuZXcgQigiSWYgcmVzdWx0IGlzIGEgdHlwZWQgYXJyYXksIGl0IG11c3QgaGF2ZSBleGFjdGx5IGFycmF5Lmxlbmd0aCAqIDIgZWxlbWVudHMiKTtlLmxlbmd0aCE9PW8mJihlLmxlbmd0aD1vKX1mb3IobGV0IHI9MDtyPG47KytyKWp0LnBhY2sodFtyXSxlLHIqMik7cmV0dXJuIGV9O2p0LnVucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7aWYoeS5kZWZpbmVkKCJhcnJheSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImFycmF5Lmxlbmd0aCIsdC5sZW5ndGgsMiksdC5sZW5ndGglMiE9PTApdGhyb3cgbmV3IEIoImFycmF5IGxlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgMi4iKTtsZXQgbj10Lmxlbmd0aDtoKGUpP2UubGVuZ3RoPW4vMjplPW5ldyBBcnJheShuLzIpO2ZvcihsZXQgbz0wO288bjtvKz0yKXtsZXQgcj1vLzI7ZVtyXT1qdC51bnBhY2sodCxvLGVbcl0pfXJldHVybiBlfTtqdC5mcm9tQXJyYXk9anQudW5wYWNrO2p0Lm1heGltdW1Db21wb25lbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSxNYXRoLm1heCh0LngsdC55KX07anQubWluaW11bUNvbXBvbmVudD1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLE1hdGgubWluKHQueCx0LnkpfTtqdC5taW5pbXVtQnlDb21wb25lbnQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImZpcnN0Iix0KSx5LnR5cGVPZi5vYmplY3QoInNlY29uZCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD1NYXRoLm1pbih0LngsZS54KSxuLnk9TWF0aC5taW4odC55LGUueSksbn07anQubWF4aW11bUJ5Q29tcG9uZW50PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJmaXJzdCIsdCkseS50eXBlT2Yub2JqZWN0KCJzZWNvbmQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9TWF0aC5tYXgodC54LGUueCksbi55PU1hdGgubWF4KHQueSxlLnkpLG59O2p0LmNsYW1wPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkudHlwZU9mLm9iamVjdCgibWluIixlKSx5LnR5cGVPZi5vYmplY3QoIm1heCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pO2xldCByPU0uY2xhbXAodC54LGUueCxuLngpLGk9TS5jbGFtcCh0LnksZS55LG4ueSk7cmV0dXJuIG8ueD1yLG8ueT1pLG99O2p0Lm1hZ25pdHVkZVNxdWFyZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx0LngqdC54K3QueSp0Lnl9O2p0Lm1hZ25pdHVkZT1mdW5jdGlvbih0KXtyZXR1cm4gTWF0aC5zcXJ0KGp0Lm1hZ25pdHVkZVNxdWFyZWQodCkpfTtHbD1uZXcganQ7anQuZGlzdGFuY2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSxqdC5zdWJ0cmFjdCh0LGUsR2wpLGp0Lm1hZ25pdHVkZShHbCl9O2p0LmRpc3RhbmNlU3F1YXJlZD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLGp0LnN1YnRyYWN0KHQsZSxHbCksanQubWFnbml0dWRlU3F1YXJlZChHbCl9O2p0Lm5vcm1hbGl6ZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49anQubWFnbml0dWRlKHQpO2lmKGUueD10LngvbixlLnk9dC55L24saXNOYU4oZS54KXx8aXNOYU4oZS55KSl0aHJvdyBuZXcgQigibm9ybWFsaXplZCByZXN1bHQgaXMgbm90IGEgbnVtYmVyIik7cmV0dXJuIGV9O2p0LmRvdD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHQueCplLngrdC55KmUueX07anQuY3Jvc3M9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx0LngqZS55LXQueSplLnh9O2p0Lm11bHRpcGx5Q29tcG9uZW50cz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngqZS54LG4ueT10LnkqZS55LG59O2p0LmRpdmlkZUNvbXBvbmVudHM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54L2UueCxuLnk9dC55L2UueSxufTtqdC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54K2UueCxuLnk9dC55K2UueSxufTtqdC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ueD10LngtZS54LG4ueT10LnktZS55LG59O2p0Lm11bHRpcGx5QnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54KmUsbi55PXQueSplLG59O2p0LmRpdmlkZUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxufTtqdC5uZWdhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9LXQueCxlLnk9LXQueSxlfTtqdC5hYnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9TWF0aC5hYnModC54KSxlLnk9TWF0aC5hYnModC55KSxlfTtnMT1uZXcganQ7anQubGVycD1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzdGFydCIsdCkseS50eXBlT2Yub2JqZWN0KCJlbmQiLGUpLHkudHlwZU9mLm51bWJlcigidCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pLGp0Lm11bHRpcGx5QnlTY2FsYXIoZSxuLGcxKSxvPWp0Lm11bHRpcGx5QnlTY2FsYXIodCwxLW4sbyksanQuYWRkKGcxLG8sbyl9O0ExPW5ldyBqdCxiMT1uZXcganQ7anQuYW5nbGVCZXR3ZWVuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksanQubm9ybWFsaXplKHQsQTEpLGp0Lm5vcm1hbGl6ZShlLGIxKSxNLmFjb3NDbGFtcGVkKGp0LmRvdChBMSxiMSkpfTthQz1uZXcganQ7anQubW9zdE9ydGhvZ29uYWxBeGlzPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1qdC5ub3JtYWxpemUodCxhQyk7cmV0dXJuIGp0LmFicyhuLG4pLG4ueDw9bi55P2U9anQuY2xvbmUoanQuVU5JVF9YLGUpOmU9anQuY2xvbmUoanQuVU5JVF9ZLGUpLGV9O2p0LmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmdC54PT09ZS54JiZ0Lnk9PT1lLnl9O2p0LmVxdWFsc0FycmF5PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdC54PT09ZVtuXSYmdC55PT09ZVtuKzFdfTtqdC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmTS5lcXVhbHNFcHNpbG9uKHQueCxlLngsbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueSxlLnksbixvKX07anQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBqdCgwLDApKTtqdC5PTkU9T2JqZWN0LmZyZWV6ZShuZXcganQoMSwxKSk7anQuVU5JVF9YPU9iamVjdC5mcmVlemUobmV3IGp0KDEsMCkpO2p0LlVOSVRfWT1PYmplY3QuZnJlZXplKG5ldyBqdCgwLDEpKTtqdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIGp0LmNsb25lKHRoaXMsdCl9O2p0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIGp0LmVxdWFscyh0aGlzLHQpfTtqdC5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGp0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUsbil9O2p0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybmAoJHt0aGlzLnh9LCAke3RoaXMueX0pYH07dHQ9anR9KTtmdW5jdGlvbiB3MSh0LGUsbixvKXtlPXgoZSwwKSxuPXgobiwwKSxvPXgobywwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygieCIsZSwwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygieSIsbiwwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygieiIsbywwKSx0Ll9yYWRpaT1uZXcgYShlLG4sbyksdC5fcmFkaWlTcXVhcmVkPW5ldyBhKGUqZSxuKm4sbypvKSx0Ll9yYWRpaVRvVGhlRm91cnRoPW5ldyBhKGUqZSplKmUsbipuKm4qbixvKm8qbypvKSx0Ll9vbmVPdmVyUmFkaWk9bmV3IGEoZT09PTA/MDoxL2Usbj09PTA/MDoxL24sbz09PTA/MDoxL28pLHQuX29uZU92ZXJSYWRpaVNxdWFyZWQ9bmV3IGEoZT09PTA/MDoxLyhlKmUpLG49PT0wPzA6MS8obipuKSxvPT09MD8wOjEvKG8qbykpLHQuX21pbmltdW1SYWRpdXM9TWF0aC5taW4oZSxuLG8pLHQuX21heGltdW1SYWRpdXM9TWF0aC5tYXgoZSxuLG8pLHQuX2NlbnRlclRvbGVyYW5jZVNxdWFyZWQ9TS5FUFNJTE9OMSx0Ll9yYWRpaVNxdWFyZWQueiE9PTAmJih0Ll9zcXVhcmVkWE92ZXJTcXVhcmVkWj10Ll9yYWRpaVNxdWFyZWQueC90Ll9yYWRpaVNxdWFyZWQueil9ZnVuY3Rpb24geGUodCxlLG4pe3RoaXMuX3JhZGlpPXZvaWQgMCx0aGlzLl9yYWRpaVNxdWFyZWQ9dm9pZCAwLHRoaXMuX3JhZGlpVG9UaGVGb3VydGg9dm9pZCAwLHRoaXMuX29uZU92ZXJSYWRpaT12b2lkIDAsdGhpcy5fb25lT3ZlclJhZGlpU3F1YXJlZD12b2lkIDAsdGhpcy5fbWluaW11bVJhZGl1cz12b2lkIDAsdGhpcy5fbWF4aW11bVJhZGl1cz12b2lkIDAsdGhpcy5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZD12b2lkIDAsdGhpcy5fc3F1YXJlZFhPdmVyU3F1YXJlZFo9dm9pZCAwLHcxKHRoaXMsdCxlLG4pfWZ1bmN0aW9uIFQxKHQsZSxuKXt5LnR5cGVPZi5udW1iZXIoImEiLHQpLHkudHlwZU9mLm51bWJlcigiYiIsZSkseS50eXBlT2YuZnVuYygiZnVuYyIsbik7bGV0IG89LjUqKGUrdCkscj0uNSooZS10KSxpPTA7Zm9yKGxldCBzPTA7czw1O3MrKyl7bGV0IGY9cipoQ1tzXTtpKz1fQ1tzXSoobihvK2YpK24oby1mKSl9cmV0dXJuIGkqPXIsaX12YXIgZkMsdUMsbEMscEMsZEMsbUMsaEMsX0MsJCxadD1aKCgpPT57VWUoKTtGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7SHQoKTtXdCgpO0VtKCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoeGUucHJvdG90eXBlLHtyYWRpaTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGlpfX0scmFkaWlTcXVhcmVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcmFkaWlTcXVhcmVkfX0scmFkaWlUb1RoZUZvdXJ0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGlpVG9UaGVGb3VydGh9fSxvbmVPdmVyUmFkaWk6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9vbmVPdmVyUmFkaWl9fSxvbmVPdmVyUmFkaWlTcXVhcmVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fb25lT3ZlclJhZGlpU3F1YXJlZH19LG1pbmltdW1SYWRpdXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9taW5pbXVtUmFkaXVzfX0sbWF4aW11bVJhZGl1czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX21heGltdW1SYWRpdXN9fX0pO3hlLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpcmV0dXJuO2xldCBuPXQuX3JhZGlpO3JldHVybiBoKGUpPyhhLmNsb25lKG4sZS5fcmFkaWkpLGEuY2xvbmUodC5fcmFkaWlTcXVhcmVkLGUuX3JhZGlpU3F1YXJlZCksYS5jbG9uZSh0Ll9yYWRpaVRvVGhlRm91cnRoLGUuX3JhZGlpVG9UaGVGb3VydGgpLGEuY2xvbmUodC5fb25lT3ZlclJhZGlpLGUuX29uZU92ZXJSYWRpaSksYS5jbG9uZSh0Ll9vbmVPdmVyUmFkaWlTcXVhcmVkLGUuX29uZU92ZXJSYWRpaVNxdWFyZWQpLGUuX21pbmltdW1SYWRpdXM9dC5fbWluaW11bVJhZGl1cyxlLl9tYXhpbXVtUmFkaXVzPXQuX21heGltdW1SYWRpdXMsZS5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZD10Ll9jZW50ZXJUb2xlcmFuY2VTcXVhcmVkLGUpOm5ldyB4ZShuLngsbi55LG4ueil9O3hlLmZyb21DYXJ0ZXNpYW4zPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGgoZSl8fChlPW5ldyB4ZSksaCh0KSYmdzEoZSx0LngsdC55LHQueiksZX07eGUuV0dTODQ9T2JqZWN0LmZyZWV6ZShuZXcgeGUoNjM3ODEzNyw2Mzc4MTM3LDYzNTY3NTIzMTQyNDUxNzllLTkpKTt4ZS5VTklUX1NQSEVSRT1PYmplY3QuZnJlZXplKG5ldyB4ZSgxLDEsMSkpO3hlLk1PT049T2JqZWN0LmZyZWV6ZShuZXcgeGUoTS5MVU5BUl9SQURJVVMsTS5MVU5BUl9SQURJVVMsTS5MVU5BUl9SQURJVVMpKTt4ZS5fZGVmYXVsdD14ZS5XR1M4NDtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh4ZSx7ZGVmYXVsdDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHhlLl9kZWZhdWx0fSxzZXQ6ZnVuY3Rpb24odCl7eS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseGUuX2RlZmF1bHQ9dCxhLl9lbGxpcHNvaWRSYWRpaVNxdWFyZWQ9dC5yYWRpaVNxdWFyZWQsY3QuX2VsbGlwc29pZE9uZU92ZXJSYWRpaT10Lm9uZU92ZXJSYWRpaSxjdC5fZWxsaXBzb2lkT25lT3ZlclJhZGlpU3F1YXJlZD10Lm9uZU92ZXJSYWRpaVNxdWFyZWQsY3QuX2VsbGlwc29pZENlbnRlclRvbGVyYW5jZVNxdWFyZWQ9dC5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZH19fSk7eGUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiB4ZS5jbG9uZSh0aGlzLHQpfTt4ZS5wYWNrZWRMZW5ndGg9YS5wYWNrZWRMZW5ndGg7eGUucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0Ll9yYWRpaSxlLG4pLGV9O3hlLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89YS51bnBhY2sodCxlKTtyZXR1cm4geGUuZnJvbUNhcnRlc2lhbjMobyxuKX07eGUucHJvdG90eXBlLmdlb2NlbnRyaWNTdXJmYWNlTm9ybWFsPWEubm9ybWFsaXplO3hlLnByb3RvdHlwZS5nZW9kZXRpY1N1cmZhY2VOb3JtYWxDYXJ0b2dyYXBoaWM9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImNhcnRvZ3JhcGhpYyIsdCk7bGV0IG49dC5sb25naXR1ZGUsbz10LmxhdGl0dWRlLHI9TWF0aC5jb3MobyksaT1yKk1hdGguY29zKG4pLHM9cipNYXRoLnNpbihuKSxmPU1hdGguc2luKG8pO3JldHVybiBoKGUpfHwoZT1uZXcgYSksZS54PWksZS55PXMsZS56PWYsYS5ub3JtYWxpemUoZSxlKX07eGUucHJvdG90eXBlLmdlb2RldGljU3VyZmFjZU5vcm1hbD1mdW5jdGlvbih0LGUpe2lmKHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSxpc05hTih0LngpfHxpc05hTih0LnkpfHxpc05hTih0LnopKXRocm93IG5ldyBCKCJjYXJ0ZXNpYW4gaGFzIGEgTmFOIGNvbXBvbmVudCIpO2lmKCFhLmVxdWFsc0Vwc2lsb24odCxhLlpFUk8sTS5FUFNJTE9OMTQpKXJldHVybiBoKGUpfHwoZT1uZXcgYSksZT1hLm11bHRpcGx5Q29tcG9uZW50cyh0LHRoaXMuX29uZU92ZXJSYWRpaVNxdWFyZWQsZSksYS5ub3JtYWxpemUoZSxlKX07ZkM9bmV3IGEsdUM9bmV3IGE7eGUucHJvdG90eXBlLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuPWZ1bmN0aW9uKHQsZSl7bGV0IG49ZkMsbz11Qzt0aGlzLmdlb2RldGljU3VyZmFjZU5vcm1hbENhcnRvZ3JhcGhpYyh0LG4pLGEubXVsdGlwbHlDb21wb25lbnRzKHRoaXMuX3JhZGlpU3F1YXJlZCxuLG8pO2xldCByPU1hdGguc3FydChhLmRvdChuLG8pKTtyZXR1cm4gYS5kaXZpZGVCeVNjYWxhcihvLHIsbyksYS5tdWx0aXBseUJ5U2NhbGFyKG4sdC5oZWlnaHQsbiksaChlKXx8KGU9bmV3IGEpLGEuYWRkKG8sbixlKX07eGUucHJvdG90eXBlLmNhcnRvZ3JhcGhpY0FycmF5VG9DYXJ0ZXNpYW5BcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydG9ncmFwaGljcyIsdCk7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uOmU9bmV3IEFycmF5KG4pO2ZvcihsZXQgbz0wO288bjtvKyspZVtvXT10aGlzLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKHRbb10sZVtvXSk7cmV0dXJuIGV9O2xDPW5ldyBhLHBDPW5ldyBhLGRDPW5ldyBhO3hlLnByb3RvdHlwZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYz1mdW5jdGlvbih0LGUpe2xldCBuPXRoaXMuc2NhbGVUb0dlb2RldGljU3VyZmFjZSh0LHBDKTtpZighaChuKSlyZXR1cm47bGV0IG89dGhpcy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobixsQykscj1hLnN1YnRyYWN0KHQsbixkQyksaT1NYXRoLmF0YW4yKG8ueSxvLngpLHM9TWF0aC5hc2luKG8ueiksZj1NLnNpZ24oYS5kb3Qocix0KSkqYS5tYWduaXR1ZGUocik7cmV0dXJuIGgoZSk/KGUubG9uZ2l0dWRlPWksZS5sYXRpdHVkZT1zLGUuaGVpZ2h0PWYsZSk6bmV3IGN0KGkscyxmKX07eGUucHJvdG90eXBlLmNhcnRlc2lhbkFycmF5VG9DYXJ0b2dyYXBoaWNBcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFucyIsdCk7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uOmU9bmV3IEFycmF5KG4pO2ZvcihsZXQgbz0wO288bjsrK28pZVtvXT10aGlzLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHRbb10sZVtvXSk7cmV0dXJuIGV9O3hlLnByb3RvdHlwZS5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGtsKHQsdGhpcy5fb25lT3ZlclJhZGlpLHRoaXMuX29uZU92ZXJSYWRpaVNxdWFyZWQsdGhpcy5fY2VudGVyVG9sZXJhbmNlU3F1YXJlZCxlKX07eGUucHJvdG90eXBlLnNjYWxlVG9HZW9jZW50cmljU3VyZmFjZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSxoKGUpfHwoZT1uZXcgYSk7bGV0IG49dC54LG89dC55LHI9dC56LGk9dGhpcy5fb25lT3ZlclJhZGlpU3F1YXJlZCxzPTEvTWF0aC5zcXJ0KG4qbippLngrbypvKmkueStyKnIqaS56KTtyZXR1cm4gYS5tdWx0aXBseUJ5U2NhbGFyKHQscyxlKX07eGUucHJvdG90eXBlLnRyYW5zZm9ybVBvc2l0aW9uVG9TY2FsZWRTcGFjZT1mdW5jdGlvbih0LGUpe3JldHVybiBoKGUpfHwoZT1uZXcgYSksYS5tdWx0aXBseUNvbXBvbmVudHModCx0aGlzLl9vbmVPdmVyUmFkaWksZSl9O3hlLnByb3RvdHlwZS50cmFuc2Zvcm1Qb3NpdGlvbkZyb21TY2FsZWRTcGFjZT1mdW5jdGlvbih0LGUpe3JldHVybiBoKGUpfHwoZT1uZXcgYSksYS5tdWx0aXBseUNvbXBvbmVudHModCx0aGlzLl9yYWRpaSxlKX07eGUucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcz09PXR8fGgodCkmJmEuZXF1YWxzKHRoaXMuX3JhZGlpLHQuX3JhZGlpKX07eGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JhZGlpLnRvU3RyaW5nKCl9O3hlLnByb3RvdHlwZS5nZXRTdXJmYWNlTm9ybWFsSW50ZXJzZWN0aW9uV2l0aFpBeGlzPWZ1bmN0aW9uKHQsZSxuKXtpZih5LnR5cGVPZi5vYmplY3QoInBvc2l0aW9uIix0KSwhTS5lcXVhbHNFcHNpbG9uKHRoaXMuX3JhZGlpLngsdGhpcy5fcmFkaWkueSxNLkVQU0lMT04xNSkpdGhyb3cgbmV3IEIoIkVsbGlwc29pZCBtdXN0IGJlIGFuIGVsbGlwc29pZCBvZiByZXZvbHV0aW9uIChyYWRpaS54ID09IHJhZGlpLnkpIik7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuKCJFbGxpcHNvaWQucmFkaWkueiIsdGhpcy5fcmFkaWkueiwwKSxlPXgoZSwwKTtsZXQgbz10aGlzLl9zcXVhcmVkWE92ZXJTcXVhcmVkWjtpZihoKG4pfHwobj1uZXcgYSksbi54PTAsbi55PTAsbi56PXQueiooMS1vKSwhKE1hdGguYWJzKG4ueik+PXRoaXMuX3JhZGlpLnotZSkpcmV0dXJuIG59O21DPW5ldyBhO3hlLnByb3RvdHlwZS5nZXRMb2NhbEN1cnZhdHVyZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgic3VyZmFjZVBvc2l0aW9uIix0KSxoKGUpfHwoZT1uZXcgdHQpO2xldCBuPXRoaXMuZ2V0U3VyZmFjZU5vcm1hbEludGVyc2VjdGlvbldpdGhaQXhpcyh0LDAsbUMpLG89YS5kaXN0YW5jZSh0LG4pLHI9dGhpcy5taW5pbXVtUmFkaXVzKm8vdGhpcy5tYXhpbXVtUmFkaXVzKioyLGk9bypyKioyO3JldHVybiB0dC5mcm9tRWxlbWVudHMoMS9vLDEvaSxlKX07aEM9Wy4xNDg4NzQzMzg5ODE2MywuNDMzMzk1Mzk0MTI5MjUsLjY3OTQwOTU2ODI5OTAyLC44NjUwNjMzNjY2ODg5OCwuOTczOTA2NTI4NTE3MTcsMF0sX0M9Wy4yOTU1MjQyMjQ3MTQ3NSwuMjY5MjY2NzE5MzA5OTksLjIxOTA4NjM2MjUxNTk4LC4xNDk0NTEzNDkxNTA1OCwuMDY2NjcxMzQ0MzA4Njg0LDBdO3hlLnByb3RvdHlwZS5zdXJmYWNlQXJlYT1mdW5jdGlvbih0KXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCk7bGV0IGU9dC53ZXN0LG49dC5lYXN0LG89dC5zb3V0aCxyPXQubm9ydGg7Zm9yKDtuPGU7KW4rPU0uVFdPX1BJO2xldCBpPXRoaXMuX3JhZGlpU3F1YXJlZCxzPWkueCxmPWkueSx1PWkueixjPXMqZjtyZXR1cm4gVDEobyxyLGZ1bmN0aW9uKGwpe2xldCBwPU1hdGguY29zKGwpLGQ9TWF0aC5zaW4obCk7cmV0dXJuIE1hdGguY29zKGwpKlQxKGUsbixmdW5jdGlvbihtKXtsZXQgXz1NYXRoLmNvcyhtKSxnPU1hdGguc2luKG0pO3JldHVybiBNYXRoLnNxcnQoYypkKmQrdSooZipfKl8rcypnKmcpKnAqcCl9KX0pfTskPXhlfSk7ZnVuY3Rpb24gemwodCl7dGhpcy5fZWxsaXBzb2lkPXgodCwkLmRlZmF1bHQpLHRoaXMuX3NlbWltYWpvckF4aXM9dGhpcy5fZWxsaXBzb2lkLm1heGltdW1SYWRpdXMsdGhpcy5fb25lT3ZlclNlbWltYWpvckF4aXM9MS90aGlzLl9zZW1pbWFqb3JBeGlzfXZhciBKbixTaT1aKCgpPT57RnQoKTtJZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoemwucHJvdG90eXBlLHtlbGxpcHNvaWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGxpcHNvaWR9fX0pO3psLnByb3RvdHlwZS5wcm9qZWN0PWZ1bmN0aW9uKHQsZSl7bGV0IG49dGhpcy5fc2VtaW1ham9yQXhpcyxvPXQubG9uZ2l0dWRlKm4scj10LmxhdGl0dWRlKm4saT10LmhlaWdodDtyZXR1cm4gaChlKT8oZS54PW8sZS55PXIsZS56PWksZSk6bmV3IGEobyxyLGkpfTt6bC5wcm90b3R5cGUudW5wcm9qZWN0PWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImNhcnRlc2lhbiBpcyByZXF1aXJlZCIpO2xldCBuPXRoaXMuX29uZU92ZXJTZW1pbWFqb3JBeGlzLG89dC54Km4scj10LnkqbixpPXQuejtyZXR1cm4gaChlKT8oZS5sb25naXR1ZGU9byxlLmxhdGl0dWRlPXIsZS5oZWlnaHQ9aSxlKTpuZXcgY3QobyxyLGkpfTtKbj16bH0pO3ZhciB5QyxTbixrcz1aKCgpPT57eUM9e09VVFNJREU6LTEsSU5URVJTRUNUSU5HOjAsSU5TSURFOjF9LFNuPU9iamVjdC5mcmVlemUoeUMpfSk7ZnVuY3Rpb24gZ0ModCxlKXt0aGlzLnN0YXJ0PXgodCwwKSx0aGlzLnN0b3A9eChlLDApfXZhciBRcixqbD1aKCgpPT57SXQoKTtRcj1nQ30pO2Z1bmN0aW9uIHd0KHQsZSxuLG8scixpLHMsZix1KXt0aGlzWzBdPXgodCwwKSx0aGlzWzFdPXgobywwKSx0aGlzWzJdPXgocywwKSx0aGlzWzNdPXgoZSwwKSx0aGlzWzRdPXgociwwKSx0aGlzWzVdPXgoZiwwKSx0aGlzWzZdPXgobiwwKSx0aGlzWzddPXgoaSwwKSx0aGlzWzhdPXgodSwwKX1mdW5jdGlvbiBPQyh0KXtsZXQgZT0wO2ZvcihsZXQgbj0wO248OTsrK24pe2xldCBvPXRbbl07ZSs9bypvfXJldHVybiBNYXRoLnNxcnQoZSl9ZnVuY3Rpb24gRUModCl7bGV0IGU9MDtmb3IobGV0IG49MDtuPDM7KytuKXtsZXQgbz10W3d0LmdldEVsZW1lbnRJbmRleChDbVtuXSxTbVtuXSldO2UrPTIqbypvfXJldHVybiBNYXRoLnNxcnQoZSl9ZnVuY3Rpb24gUkModCxlKXtsZXQgbj1NLkVQU0lMT04xNSxvPTAscj0xO2ZvcihsZXQgYz0wO2M8MzsrK2Mpe2xldCBsPU1hdGguYWJzKHRbd3QuZ2V0RWxlbWVudEluZGV4KENtW2NdLFNtW2NdKV0pO2w+byYmKHI9YyxvPWwpfWxldCBpPTEscz0wLGY9U21bcl0sdT1DbVtyXTtpZihNYXRoLmFicyh0W3d0LmdldEVsZW1lbnRJbmRleCh1LGYpXSk+bil7bGV0IGM9dFt3dC5nZXRFbGVtZW50SW5kZXgodSx1KV0sbD10W3d0LmdldEVsZW1lbnRJbmRleChmLGYpXSxwPXRbd3QuZ2V0RWxlbWVudEluZGV4KHUsZildLGQ9KGMtbCkvMi9wLG07ZDwwP209LTEvKC1kK01hdGguc3FydCgxK2QqZCkpOm09MS8oZCtNYXRoLnNxcnQoMStkKmQpKSxpPTEvTWF0aC5zcXJ0KDErbSptKSxzPW0qaX1yZXR1cm4gZT13dC5jbG9uZSh3dC5JREVOVElUWSxlKSxlW3d0LmdldEVsZW1lbnRJbmRleChmLGYpXT1lW3d0LmdldEVsZW1lbnRJbmRleCh1LHUpXT1pLGVbd3QuZ2V0RWxlbWVudEluZGV4KHUsZildPXMsZVt3dC5nZXRFbGVtZW50SW5kZXgoZix1KV09LXMsZX12YXIgQUMsYkMsUm0sTzEsVEMsd0MsU20sQ20sSGwsRTEsU0MsUSxCbj1aKCgpPT57RnQoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7d3QucGFja2VkTGVuZ3RoPTk7d3QucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10WzBdLGVbbisrXT10WzFdLGVbbisrXT10WzJdLGVbbisrXT10WzNdLGVbbisrXT10WzRdLGVbbisrXT10WzVdLGVbbisrXT10WzZdLGVbbisrXT10WzddLGVbbisrXT10WzhdLGV9O3d0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyB3dCksblswXT10W2UrK10sblsxXT10W2UrK10sblsyXT10W2UrK10sblszXT10W2UrK10sbls0XT10W2UrK10sbls1XT10W2UrK10sbls2XT10W2UrK10sbls3XT10W2UrK10sbls4XT10W2UrK10sbn07d3QucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJhcnJheSIsdCk7bGV0IG49dC5sZW5ndGgsbz1uKjk7aWYoIWgoZSkpZT1uZXcgQXJyYXkobyk7ZWxzZXtpZighQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGghPT1vKXRocm93IG5ldyBCKCJJZiByZXN1bHQgaXMgYSB0eXBlZCBhcnJheSwgaXQgbXVzdCBoYXZlIGV4YWN0bHkgYXJyYXkubGVuZ3RoICogOSBlbGVtZW50cyIpO2UubGVuZ3RoIT09byYmKGUubGVuZ3RoPW8pfWZvcihsZXQgcj0wO3I8bjsrK3Ipd3QucGFjayh0W3JdLGUscio5KTtyZXR1cm4gZX07d3QudW5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXtpZih5LmRlZmluZWQoImFycmF5Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiYXJyYXkubGVuZ3RoIix0Lmxlbmd0aCw5KSx0Lmxlbmd0aCU5IT09MCl0aHJvdyBuZXcgQigiYXJyYXkgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA5LiIpO2xldCBuPXQubGVuZ3RoO2goZSk/ZS5sZW5ndGg9bi85OmU9bmV3IEFycmF5KG4vOSk7Zm9yKGxldCBvPTA7bzxuO28rPTkpe2xldCByPW8vOTtlW3JdPXd0LnVucGFjayh0LG8sZVtyXSl9cmV0dXJuIGV9O3d0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGVbNF09dFs0XSxlWzVdPXRbNV0sZVs2XT10WzZdLGVbN109dFs3XSxlWzhdPXRbOF0sZSk6bmV3IHd0KHRbMF0sdFszXSx0WzZdLHRbMV0sdFs0XSx0WzddLHRbMl0sdFs1XSx0WzhdKX07d3QuZnJvbUFycmF5PXd0LnVucGFjazt3dC5mcm9tQ29sdW1uTWFqb3JBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoInZhbHVlcyIsdCksd3QuY2xvbmUodCxlKX07d3QuZnJvbVJvd01ham9yQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5kZWZpbmVkKCJ2YWx1ZXMiLHQpLGgoZSk/KGVbMF09dFswXSxlWzFdPXRbM10sZVsyXT10WzZdLGVbM109dFsxXSxlWzRdPXRbNF0sZVs1XT10WzddLGVbNl09dFsyXSxlWzddPXRbNV0sZVs4XT10WzhdLGUpOm5ldyB3dCh0WzBdLHRbMV0sdFsyXSx0WzNdLHRbNF0sdFs1XSx0WzZdLHRbN10sdFs4XSl9O3d0LmZyb21RdWF0ZXJuaW9uPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KTtsZXQgbj10LngqdC54LG89dC54KnQueSxyPXQueCp0LnosaT10LngqdC53LHM9dC55KnQueSxmPXQueSp0LnosdT10LnkqdC53LGM9dC56KnQueixsPXQueip0LncscD10LncqdC53LGQ9bi1zLWMrcCxtPTIqKG8tbCksXz0yKihyK3UpLGc9MioobytsKSxiPS1uK3MtYytwLFQ9MiooZi1pKSxPPTIqKHItdSksRT0yKihmK2kpLHc9LW4tcytjK3A7cmV0dXJuIGgoZSk/KGVbMF09ZCxlWzFdPWcsZVsyXT1PLGVbM109bSxlWzRdPWIsZVs1XT1FLGVbNl09XyxlWzddPVQsZVs4XT13LGUpOm5ldyB3dChkLG0sXyxnLGIsVCxPLEUsdyl9O3d0LmZyb21IZWFkaW5nUGl0Y2hSb2xsPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJoZWFkaW5nUGl0Y2hSb2xsIix0KTtsZXQgbj1NYXRoLmNvcygtdC5waXRjaCksbz1NYXRoLmNvcygtdC5oZWFkaW5nKSxyPU1hdGguY29zKHQucm9sbCksaT1NYXRoLnNpbigtdC5waXRjaCkscz1NYXRoLnNpbigtdC5oZWFkaW5nKSxmPU1hdGguc2luKHQucm9sbCksdT1uKm8sYz0tcipzK2YqaSpvLGw9ZipzK3IqaSpvLHA9bipzLGQ9cipvK2YqaSpzLG09LWYqbytyKmkqcyxfPS1pLGc9ZipuLGI9cipuO3JldHVybiBoKGUpPyhlWzBdPXUsZVsxXT1wLGVbMl09XyxlWzNdPWMsZVs0XT1kLGVbNV09ZyxlWzZdPWwsZVs3XT1tLGVbOF09YixlKTpuZXcgd3QodSxjLGwscCxkLG0sXyxnLGIpfTt3dC5mcm9tU2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsdCksaChlKT8oZVswXT10LngsZVsxXT0wLGVbMl09MCxlWzNdPTAsZVs0XT10LnksZVs1XT0wLGVbNl09MCxlWzddPTAsZVs4XT10LnosZSk6bmV3IHd0KHQueCwwLDAsMCx0LnksMCwwLDAsdC56KX07d3QuZnJvbVVuaWZvcm1TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoInNjYWxlIix0KSxoKGUpPyhlWzBdPXQsZVsxXT0wLGVbMl09MCxlWzNdPTAsZVs0XT10LGVbNV09MCxlWzZdPTAsZVs3XT0wLGVbOF09dCxlKTpuZXcgd3QodCwwLDAsMCx0LDAsMCwwLHQpfTt3dC5mcm9tQ3Jvc3NQcm9kdWN0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmVjdG9yIix0KSxoKGUpPyhlWzBdPTAsZVsxXT10LnosZVsyXT0tdC55LGVbM109LXQueixlWzRdPTAsZVs1XT10LngsZVs2XT10LnksZVs3XT0tdC54LGVbOF09MCxlKTpuZXcgd3QoMCwtdC56LHQueSx0LnosMCwtdC54LC10LnksdC54LDApfTt3dC5mcm9tUm90YXRpb25YPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT0xLGVbMV09MCxlWzJdPTAsZVszXT0wLGVbNF09bixlWzVdPW8sZVs2XT0wLGVbN109LW8sZVs4XT1uLGUpOm5ldyB3dCgxLDAsMCwwLG4sLW8sMCxvLG4pfTt3dC5mcm9tUm90YXRpb25ZPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT1uLGVbMV09MCxlWzJdPS1vLGVbM109MCxlWzRdPTEsZVs1XT0wLGVbNl09byxlWzddPTAsZVs4XT1uLGUpOm5ldyB3dChuLDAsbywwLDEsMCwtbywwLG4pfTt3dC5mcm9tUm90YXRpb25aPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT1uLGVbMV09byxlWzJdPTAsZVszXT0tbyxlWzRdPW4sZVs1XT0wLGVbNl09MCxlWzddPTAsZVs4XT0xLGUpOm5ldyB3dChuLC1vLDAsbyxuLDAsMCwwLDEpfTt3dC50b0FycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSxoKGUpPyhlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZVs0XT10WzRdLGVbNV09dFs1XSxlWzZdPXRbNl0sZVs3XT10WzddLGVbOF09dFs4XSxlKTpbdFswXSx0WzFdLHRbMl0sdFszXSx0WzRdLHRbNV0sdFs2XSx0WzddLHRbOF1dfTt3dC5nZXRFbGVtZW50SW5kZXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInJvdyIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygicm93IixlLDIpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJjb2x1bW4iLHQsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImNvbHVtbiIsdCwyKSx0KjMrZX07d3QuZ2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGV4IixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwyKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89ZSozLHI9dFtvXSxpPXRbbysxXSxzPXRbbysyXTtyZXR1cm4gbi54PXIsbi55PWksbi56PXMsbn07d3Quc2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDIpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz13dC5jbG9uZSh0LG8pO2xldCByPWUqMztyZXR1cm4gb1tyXT1uLngsb1tyKzFdPW4ueSxvW3IrMl09bi56LG99O3d0LmdldFJvdz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbZV0scj10W2UrM10saT10W2UrNl07cmV0dXJuIG4ueD1vLG4ueT1yLG4uej1pLG59O3d0LnNldFJvdz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMikseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLG4pLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixvKSxvPXd0LmNsb25lKHQsbyksb1tlXT1uLngsb1tlKzNdPW4ueSxvW2UrNl09bi56LG99O0FDPW5ldyBhO3d0LnNldFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXd0LmdldFNjYWxlKHQsQUMpLHI9ZS54L28ueCxpPWUueS9vLnkscz1lLnovby56O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qcixuWzNdPXRbM10qaSxuWzRdPXRbNF0qaSxuWzVdPXRbNV0qaSxuWzZdPXRbNl0qcyxuWzddPXRbN10qcyxuWzhdPXRbOF0qcyxufTtiQz1uZXcgYTt3dC5zZXRVbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89d3QuZ2V0U2NhbGUodCxiQykscj1lL28ueCxpPWUvby55LHM9ZS9vLno7cmV0dXJuIG5bMF09dFswXSpyLG5bMV09dFsxXSpyLG5bMl09dFsyXSpyLG5bM109dFszXSppLG5bNF09dFs0XSppLG5bNV09dFs1XSppLG5bNl09dFs2XSpzLG5bN109dFs3XSpzLG5bOF09dFs4XSpzLG59O1JtPW5ldyBhO3d0LmdldFNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PWEubWFnbml0dWRlKGEuZnJvbUVsZW1lbnRzKHRbMF0sdFsxXSx0WzJdLFJtKSksZS55PWEubWFnbml0dWRlKGEuZnJvbUVsZW1lbnRzKHRbM10sdFs0XSx0WzVdLFJtKSksZS56PWEubWFnbml0dWRlKGEuZnJvbUVsZW1lbnRzKHRbNl0sdFs3XSx0WzhdLFJtKSksZX07TzE9bmV3IGE7d3QuZ2V0TWF4aW11bVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiB3dC5nZXRTY2FsZSh0LE8xKSxhLm1heGltdW1Db21wb25lbnQoTzEpfTtUQz1uZXcgYTt3dC5zZXRSb3RhdGlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz13dC5nZXRTY2FsZSh0LFRDKTtyZXR1cm4gblswXT1lWzBdKm8ueCxuWzFdPWVbMV0qby54LG5bMl09ZVsyXSpvLngsblszXT1lWzNdKm8ueSxuWzRdPWVbNF0qby55LG5bNV09ZVs1XSpvLnksbls2XT1lWzZdKm8ueixuWzddPWVbN10qby56LG5bOF09ZVs4XSpvLnosbn07d0M9bmV3IGE7d3QuZ2V0Um90YXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXd0LmdldFNjYWxlKHQsd0MpO3JldHVybiBlWzBdPXRbMF0vbi54LGVbMV09dFsxXS9uLngsZVsyXT10WzJdL24ueCxlWzNdPXRbM10vbi55LGVbNF09dFs0XS9uLnksZVs1XT10WzVdL24ueSxlWzZdPXRbNl0vbi56LGVbN109dFs3XS9uLnosZVs4XT10WzhdL24ueixlfTt3dC5tdWx0aXBseT1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89dFswXSplWzBdK3RbM10qZVsxXSt0WzZdKmVbMl0scj10WzFdKmVbMF0rdFs0XSplWzFdK3RbN10qZVsyXSxpPXRbMl0qZVswXSt0WzVdKmVbMV0rdFs4XSplWzJdLHM9dFswXSplWzNdK3RbM10qZVs0XSt0WzZdKmVbNV0sZj10WzFdKmVbM10rdFs0XSplWzRdK3RbN10qZVs1XSx1PXRbMl0qZVszXSt0WzVdKmVbNF0rdFs4XSplWzVdLGM9dFswXSplWzZdK3RbM10qZVs3XSt0WzZdKmVbOF0sbD10WzFdKmVbNl0rdFs0XSplWzddK3RbN10qZVs4XSxwPXRbMl0qZVs2XSt0WzVdKmVbN10rdFs4XSplWzhdO3JldHVybiBuWzBdPW8sblsxXT1yLG5bMl09aSxuWzNdPXMsbls0XT1mLG5bNV09dSxuWzZdPWMsbls3XT1sLG5bOF09cCxufTt3dC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0rZVswXSxuWzFdPXRbMV0rZVsxXSxuWzJdPXRbMl0rZVsyXSxuWzNdPXRbM10rZVszXSxuWzRdPXRbNF0rZVs0XSxuWzVdPXRbNV0rZVs1XSxuWzZdPXRbNl0rZVs2XSxuWzddPXRbN10rZVs3XSxuWzhdPXRbOF0rZVs4XSxufTt3dC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXS1lWzBdLG5bMV09dFsxXS1lWzFdLG5bMl09dFsyXS1lWzJdLG5bM109dFszXS1lWzNdLG5bNF09dFs0XS1lWzRdLG5bNV09dFs1XS1lWzVdLG5bNl09dFs2XS1lWzZdLG5bN109dFs3XS1lWzddLG5bOF09dFs4XS1lWzhdLG59O3d0Lm11bHRpcGx5QnlWZWN0b3I9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUueCxyPWUueSxpPWUueixzPXRbMF0qbyt0WzNdKnIrdFs2XSppLGY9dFsxXSpvK3RbNF0qcit0WzddKmksdT10WzJdKm8rdFs1XSpyK3RbOF0qaTtyZXR1cm4gbi54PXMsbi55PWYsbi56PXUsbn07d3QubXVsdGlwbHlCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxhciIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXSplLG5bMV09dFsxXSplLG5bMl09dFsyXSplLG5bM109dFszXSplLG5bNF09dFs0XSplLG5bNV09dFs1XSplLG5bNl09dFs2XSplLG5bN109dFs3XSplLG5bOF09dFs4XSplLG59O3d0Lm11bHRpcGx5QnlTY2FsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdKmUueCxuWzFdPXRbMV0qZS54LG5bMl09dFsyXSplLngsblszXT10WzNdKmUueSxuWzRdPXRbNF0qZS55LG5bNV09dFs1XSplLnksbls2XT10WzZdKmUueixuWzddPXRbN10qZS56LG5bOF09dFs4XSplLnosbn07d3QubXVsdGlwbHlCeVVuaWZvcm1TY2FsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdKmUsblsxXT10WzFdKmUsblsyXT10WzJdKmUsblszXT10WzNdKmUsbls0XT10WzRdKmUsbls1XT10WzVdKmUsbls2XT10WzZdKmUsbls3XT10WzddKmUsbls4XT10WzhdKmUsbn07d3QubmVnYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT0tdFswXSxlWzFdPS10WzFdLGVbMl09LXRbMl0sZVszXT0tdFszXSxlWzRdPS10WzRdLGVbNV09LXRbNV0sZVs2XT0tdFs2XSxlWzddPS10WzddLGVbOF09LXRbOF0sZX07d3QudHJhbnNwb3NlPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj10WzBdLG89dFszXSxyPXRbNl0saT10WzFdLHM9dFs0XSxmPXRbN10sdT10WzJdLGM9dFs1XSxsPXRbOF07cmV0dXJuIGVbMF09bixlWzFdPW8sZVsyXT1yLGVbM109aSxlWzRdPXMsZVs1XT1mLGVbNl09dSxlWzddPWMsZVs4XT1sLGV9O1NtPVsxLDAsMF0sQ209WzIsMiwxXTtIbD1uZXcgd3QsRTE9bmV3IHd0O3d0LmNvbXB1dGVFaWdlbkRlY29tcG9zaXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCk7bGV0IG49TS5FUFNJTE9OMjAsbz0xMCxyPTAsaT0wO2goZSl8fChlPXt9KTtsZXQgcz1lLnVuaXRhcnk9d3QuY2xvbmUod3QuSURFTlRJVFksZS51bml0YXJ5KSxmPWUuZGlhZ29uYWw9d3QuY2xvbmUodCxlLmRpYWdvbmFsKSx1PW4qT0MoZik7Zm9yKDtpPG8mJkVDKGYpPnU7KVJDKGYsSGwpLHd0LnRyYW5zcG9zZShIbCxFMSksd3QubXVsdGlwbHkoZixIbCxmKSx3dC5tdWx0aXBseShFMSxmLGYpLHd0Lm11bHRpcGx5KHMsSGwscyksKytyPjImJigrK2kscj0wKTtyZXR1cm4gZX07d3QuYWJzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT1NYXRoLmFicyh0WzBdKSxlWzFdPU1hdGguYWJzKHRbMV0pLGVbMl09TWF0aC5hYnModFsyXSksZVszXT1NYXRoLmFicyh0WzNdKSxlWzRdPU1hdGguYWJzKHRbNF0pLGVbNV09TWF0aC5hYnModFs1XSksZVs2XT1NYXRoLmFicyh0WzZdKSxlWzddPU1hdGguYWJzKHRbN10pLGVbOF09TWF0aC5hYnModFs4XSksZX07d3QuZGV0ZXJtaW5hbnQ9ZnVuY3Rpb24odCl7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpO2xldCBlPXRbMF0sbj10WzNdLG89dFs2XSxyPXRbMV0saT10WzRdLHM9dFs3XSxmPXRbMl0sdT10WzVdLGM9dFs4XTtyZXR1cm4gZSooaSpjLXUqcykrcioodSpvLW4qYykrZioobipzLWkqbyl9O3d0LmludmVyc2U9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXRbMF0sbz10WzFdLHI9dFsyXSxpPXRbM10scz10WzRdLGY9dFs1XSx1PXRbNl0sYz10WzddLGw9dFs4XSxwPXd0LmRldGVybWluYW50KHQpO2lmKE1hdGguYWJzKHApPD1NLkVQU0lMT04xNSl0aHJvdyBuZXcgQigibWF0cml4IGlzIG5vdCBpbnZlcnRpYmxlIik7ZVswXT1zKmwtYypmLGVbMV09YypyLW8qbCxlWzJdPW8qZi1zKnIsZVszXT11KmYtaSpsLGVbNF09bipsLXUqcixlWzVdPWkqci1uKmYsZVs2XT1pKmMtdSpzLGVbN109dSpvLW4qYyxlWzhdPW4qcy1pKm87bGV0IGQ9MS9wO3JldHVybiB3dC5tdWx0aXBseUJ5U2NhbGFyKGUsZCxlKX07U0M9bmV3IHd0O3d0LmludmVyc2VUcmFuc3Bvc2U9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSx3dC5pbnZlcnNlKHd0LnRyYW5zcG9zZSh0LFNDKSxlKX07d3QuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0WzBdPT09ZVswXSYmdFsxXT09PWVbMV0mJnRbMl09PT1lWzJdJiZ0WzNdPT09ZVszXSYmdFs0XT09PWVbNF0mJnRbNV09PT1lWzVdJiZ0WzZdPT09ZVs2XSYmdFs3XT09PWVbN10mJnRbOF09PT1lWzhdfTt3dC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj14KG4sMCksdD09PWV8fGgodCkmJmgoZSkmJk1hdGguYWJzKHRbMF0tZVswXSk8PW4mJk1hdGguYWJzKHRbMV0tZVsxXSk8PW4mJk1hdGguYWJzKHRbMl0tZVsyXSk8PW4mJk1hdGguYWJzKHRbM10tZVszXSk8PW4mJk1hdGguYWJzKHRbNF0tZVs0XSk8PW4mJk1hdGguYWJzKHRbNV0tZVs1XSk8PW4mJk1hdGguYWJzKHRbNl0tZVs2XSk8PW4mJk1hdGguYWJzKHRbN10tZVs3XSk8PW4mJk1hdGguYWJzKHRbOF0tZVs4XSk8PW59O3d0LklERU5USVRZPU9iamVjdC5mcmVlemUobmV3IHd0KDEsMCwwLDAsMSwwLDAsMCwxKSk7d3QuWkVSTz1PYmplY3QuZnJlZXplKG5ldyB3dCgwLDAsMCwwLDAsMCwwLDAsMCkpO3d0LkNPTFVNTjBST1cwPTA7d3QuQ09MVU1OMFJPVzE9MTt3dC5DT0xVTU4wUk9XMj0yO3d0LkNPTFVNTjFST1cwPTM7d3QuQ09MVU1OMVJPVzE9NDt3dC5DT0xVTU4xUk9XMj01O3d0LkNPTFVNTjJST1cwPTY7d3QuQ09MVU1OMlJPVzE9Nzt3dC5DT0xVTU4yUk9XMj04O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHd0LnByb3RvdHlwZSx7bGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gd3QucGFja2VkTGVuZ3RofX19KTt3dC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIHd0LmNsb25lKHRoaXMsdCl9O3d0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIHd0LmVxdWFscyh0aGlzLHQpfTt3dC5lcXVhbHNBcnJheT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRbMF09PT1lW25dJiZ0WzFdPT09ZVtuKzFdJiZ0WzJdPT09ZVtuKzJdJiZ0WzNdPT09ZVtuKzNdJiZ0WzRdPT09ZVtuKzRdJiZ0WzVdPT09ZVtuKzVdJiZ0WzZdPT09ZVtuKzZdJiZ0WzddPT09ZVtuKzddJiZ0WzhdPT09ZVtuKzhdfTt3dC5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUpe3JldHVybiB3dC5lcXVhbHNFcHNpbG9uKHRoaXMsdCxlKX07d3QucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXNbMF19LCAke3RoaXNbM119LCAke3RoaXNbNl19KQooJHt0aGlzWzFdfSwgJHt0aGlzWzRdfSwgJHt0aGlzWzddfSkKKCR7dGhpc1syXX0sICR7dGhpc1s1XX0sICR7dGhpc1s4XX0pYH07UT13dH0pO2Z1bmN0aW9uIEx0KHQsZSxuLG8pe3RoaXMueD14KHQsMCksdGhpcy55PXgoZSwwKSx0aGlzLno9eChuLDApLHRoaXMudz14KG8sMCl9dmFyIHFsLFIxLENDLHhtLGJvLHhDLFBDLFMxLGhlLGhyPVooKCk9PntYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7THQuZnJvbUVsZW1lbnRzPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIGgocik/KHIueD10LHIueT1lLHIuej1uLHIudz1vLHIpOm5ldyBMdCh0LGUsbixvKX07THQuZnJvbUNvbG9yPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY29sb3IiLHQpLGgoZSk/KGUueD10LnJlZCxlLnk9dC5ncmVlbixlLno9dC5ibHVlLGUudz10LmFscGhhLGUpOm5ldyBMdCh0LnJlZCx0LmdyZWVuLHQuYmx1ZSx0LmFscGhhKX07THQuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLng9dC54LGUueT10LnksZS56PXQueixlLnc9dC53LGUpOm5ldyBMdCh0LngsdC55LHQueix0LncpfTtMdC5wYWNrZWRMZW5ndGg9NDtMdC5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXQueCxlW24rK109dC55LGVbbisrXT10LnosZVtuXT10LncsZX07THQudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IEx0KSxuLng9dFtlKytdLG4ueT10W2UrK10sbi56PXRbZSsrXSxuLnc9dFtlXSxufTtMdC5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImFycmF5Iix0KTtsZXQgbj10Lmxlbmd0aCxvPW4qNDtpZighaChlKSllPW5ldyBBcnJheShvKTtlbHNle2lmKCFBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aCE9PW8pdGhyb3cgbmV3IEIoIklmIHJlc3VsdCBpcyBhIHR5cGVkIGFycmF5LCBpdCBtdXN0IGhhdmUgZXhhY3RseSBhcnJheS5sZW5ndGggKiA0IGVsZW1lbnRzIik7ZS5sZW5ndGghPT1vJiYoZS5sZW5ndGg9byl9Zm9yKGxldCByPTA7cjxuOysrcilMdC5wYWNrKHRbcl0sZSxyKjQpO3JldHVybiBlfTtMdC51bnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe2lmKHkuZGVmaW5lZCgiYXJyYXkiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJhcnJheS5sZW5ndGgiLHQubGVuZ3RoLDQpLHQubGVuZ3RoJTQhPT0wKXRocm93IG5ldyBCKCJhcnJheSBsZW5ndGggbXVzdCBiZSBhIG11bHRpcGxlIG9mIDQuIik7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uLzQ6ZT1uZXcgQXJyYXkobi80KTtmb3IobGV0IG89MDtvPG47bys9NCl7bGV0IHI9by80O2Vbcl09THQudW5wYWNrKHQsbyxlW3JdKX1yZXR1cm4gZX07THQuZnJvbUFycmF5PUx0LnVucGFjaztMdC5tYXhpbXVtQ29tcG9uZW50PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksTWF0aC5tYXgodC54LHQueSx0LnosdC53KX07THQubWluaW11bUNvbXBvbmVudD1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLE1hdGgubWluKHQueCx0LnksdC56LHQudyl9O0x0Lm1pbmltdW1CeUNvbXBvbmVudD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZmlyc3QiLHQpLHkudHlwZU9mLm9iamVjdCgic2Vjb25kIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PU1hdGgubWluKHQueCxlLngpLG4ueT1NYXRoLm1pbih0LnksZS55KSxuLno9TWF0aC5taW4odC56LGUueiksbi53PU1hdGgubWluKHQudyxlLncpLG59O0x0Lm1heGltdW1CeUNvbXBvbmVudD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZmlyc3QiLHQpLHkudHlwZU9mLm9iamVjdCgic2Vjb25kIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PU1hdGgubWF4KHQueCxlLngpLG4ueT1NYXRoLm1heCh0LnksZS55KSxuLno9TWF0aC5tYXgodC56LGUueiksbi53PU1hdGgubWF4KHQudyxlLncpLG59O0x0LmNsYW1wPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkudHlwZU9mLm9iamVjdCgibWluIixlKSx5LnR5cGVPZi5vYmplY3QoIm1heCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pO2xldCByPU0uY2xhbXAodC54LGUueCxuLngpLGk9TS5jbGFtcCh0LnksZS55LG4ueSkscz1NLmNsYW1wKHQueixlLnosbi56KSxmPU0uY2xhbXAodC53LGUudyxuLncpO3JldHVybiBvLng9cixvLnk9aSxvLno9cyxvLnc9ZixvfTtMdC5tYWduaXR1ZGVTcXVhcmVkPWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksdC54KnQueCt0LnkqdC55K3Queip0LnordC53KnQud307THQubWFnbml0dWRlPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNxcnQoTHQubWFnbml0dWRlU3F1YXJlZCh0KSl9O3FsPW5ldyBMdDtMdC5kaXN0YW5jZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLEx0LnN1YnRyYWN0KHQsZSxxbCksTHQubWFnbml0dWRlKHFsKX07THQuZGlzdGFuY2VTcXVhcmVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksTHQuc3VidHJhY3QodCxlLHFsKSxMdC5tYWduaXR1ZGVTcXVhcmVkKHFsKX07THQubm9ybWFsaXplPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1MdC5tYWduaXR1ZGUodCk7aWYoZS54PXQueC9uLGUueT10LnkvbixlLno9dC56L24sZS53PXQudy9uLGlzTmFOKGUueCl8fGlzTmFOKGUueSl8fGlzTmFOKGUueil8fGlzTmFOKGUudykpdGhyb3cgbmV3IEIoIm5vcm1hbGl6ZWQgcmVzdWx0IGlzIG5vdCBhIG51bWJlciIpO3JldHVybiBlfTtMdC5kb3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx0LngqZS54K3QueSplLnkrdC56KmUueit0LncqZS53fTtMdC5tdWx0aXBseUNvbXBvbmVudHM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54KmUueCxuLnk9dC55KmUueSxuLno9dC56KmUueixuLnc9dC53KmUudyxufTtMdC5kaXZpZGVDb21wb25lbnRzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLngsbi55PXQueS9lLnksbi56PXQuei9lLnosbi53PXQudy9lLncsbn07THQuYWRkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCtlLngsbi55PXQueStlLnksbi56PXQueitlLnosbi53PXQudytlLncsbn07THQuc3VidHJhY3Q9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54LWUueCxuLnk9dC55LWUueSxuLno9dC56LWUueixuLnc9dC53LWUudyxufTtMdC5tdWx0aXBseUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCplLG4ueT10LnkqZSxuLno9dC56KmUsbi53PXQudyplLG59O0x0LmRpdmlkZUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxuLno9dC56L2Usbi53PXQudy9lLG59O0x0Lm5lZ2F0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpLGUueD0tdC54LGUueT0tdC55LGUuej0tdC56LGUudz0tdC53LGV9O0x0LmFicz1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpLGUueD1NYXRoLmFicyh0LngpLGUueT1NYXRoLmFicyh0LnkpLGUuej1NYXRoLmFicyh0LnopLGUudz1NYXRoLmFicyh0LncpLGV9O1IxPW5ldyBMdDtMdC5sZXJwPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInN0YXJ0Iix0KSx5LnR5cGVPZi5vYmplY3QoImVuZCIsZSkseS50eXBlT2YubnVtYmVyKCJ0IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksTHQubXVsdGlwbHlCeVNjYWxhcihlLG4sUjEpLG89THQubXVsdGlwbHlCeVNjYWxhcih0LDEtbixvKSxMdC5hZGQoUjEsbyxvKX07Q0M9bmV3IEx0O0x0Lm1vc3RPcnRob2dvbmFsQXhpcz1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49THQubm9ybWFsaXplKHQsQ0MpO3JldHVybiBMdC5hYnMobixuKSxuLng8PW4ueT9uLng8PW4uej9uLng8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWCxlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKTpuLno8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWixlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKTpuLnk8PW4uej9uLnk8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWSxlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKTpuLno8PW4udz9lPUx0LmNsb25lKEx0LlVOSVRfWixlKTplPUx0LmNsb25lKEx0LlVOSVRfVyxlKSxlfTtMdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQueD09PWUueCYmdC55PT09ZS55JiZ0Lno9PT1lLnomJnQudz09PWUud307THQuZXF1YWxzQXJyYXk9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0Lng9PT1lW25dJiZ0Lnk9PT1lW24rMV0mJnQuej09PWVbbisyXSYmdC53PT09ZVtuKzNdfTtMdC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmTS5lcXVhbHNFcHNpbG9uKHQueCxlLngsbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueSxlLnksbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQueixlLnosbixvKSYmTS5lcXVhbHNFcHNpbG9uKHQudyxlLncsbixvKX07THQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBMdCgwLDAsMCwwKSk7THQuT05FPU9iamVjdC5mcmVlemUobmV3IEx0KDEsMSwxLDEpKTtMdC5VTklUX1g9T2JqZWN0LmZyZWV6ZShuZXcgTHQoMSwwLDAsMCkpO0x0LlVOSVRfWT1PYmplY3QuZnJlZXplKG5ldyBMdCgwLDEsMCwwKSk7THQuVU5JVF9aPU9iamVjdC5mcmVlemUobmV3IEx0KDAsMCwxLDApKTtMdC5VTklUX1c9T2JqZWN0LmZyZWV6ZShuZXcgTHQoMCwwLDAsMSkpO0x0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gTHQuY2xvbmUodGhpcyx0KX07THQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gTHQuZXF1YWxzKHRoaXMsdCl9O0x0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gTHQuZXF1YWxzRXBzaWxvbih0aGlzLHQsZSxuKX07THQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXMueH0sICR7dGhpcy55fSwgJHt0aGlzLnp9LCAke3RoaXMud30pYH07eG09bmV3IEZsb2F0MzJBcnJheSgxKSxibz1uZXcgVWludDhBcnJheSh4bS5idWZmZXIpLHhDPW5ldyBVaW50MzJBcnJheShbMjg3NDU0MDIwXSksUEM9bmV3IFVpbnQ4QXJyYXkoeEMuYnVmZmVyKSxTMT1QQ1swXT09PTY4O0x0LnBhY2tGbG9hdD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5udW1iZXIoInZhbHVlIix0KSxoKGUpfHwoZT1uZXcgTHQpLHhtWzBdPXQsUzE/KGUueD1ib1swXSxlLnk9Ym9bMV0sZS56PWJvWzJdLGUudz1ib1szXSk6KGUueD1ib1szXSxlLnk9Ym9bMl0sZS56PWJvWzFdLGUudz1ib1swXSksZX07THQudW5wYWNrRmxvYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicGFja2VkRmxvYXQiLHQpLFMxPyhib1swXT10LngsYm9bMV09dC55LGJvWzJdPXQueixib1szXT10LncpOihib1swXT10LncsYm9bMV09dC56LGJvWzJdPXQueSxib1szXT10LngpLHhtWzBdfTtoZT1MdH0pO2Z1bmN0aW9uIHJmKHQpe3RoaXMubmFtZT0iUnVudGltZUVycm9yIix0aGlzLm1lc3NhZ2U9dDtsZXQgZTt0cnl7dGhyb3cgbmV3IEVycm9yfWNhdGNoKG4pe2U9bi5zdGFja310aGlzLnN0YWNrPWV9dmFyIEFlLEpyPVooKCk9PntmdCgpO2goT2JqZWN0LmNyZWF0ZSkmJihyZi5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLHJmLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1yZik7cmYucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7bGV0IHQ9YCR7dGhpcy5uYW1lfTogJHt0aGlzLm1lc3NhZ2V9YDtyZXR1cm4gaCh0aGlzLnN0YWNrKSYmKHQrPWAKJHt0aGlzLnN0YWNrLnRvU3RyaW5nKCl9YCksdH07QWU9cmZ9KTtmdW5jdGlvbiBUdCh0LGUsbixvLHIsaSxzLGYsdSxjLGwscCxkLG0sXyxnKXt0aGlzWzBdPXgodCwwKSx0aGlzWzFdPXgociwwKSx0aGlzWzJdPXgodSwwKSx0aGlzWzNdPXgoZCwwKSx0aGlzWzRdPXgoZSwwKSx0aGlzWzVdPXgoaSwwKSx0aGlzWzZdPXgoYywwKSx0aGlzWzddPXgobSwwKSx0aGlzWzhdPXgobiwwKSx0aGlzWzldPXgocywwKSx0aGlzWzEwXT14KGwsMCksdGhpc1sxMV09eChfLDApLHRoaXNbMTJdPXgobywwKSx0aGlzWzEzXT14KGYsMCksdGhpc1sxNF09eChwLDApLHRoaXNbMTVdPXgoZywwKX12YXIgSGMscWMsc2YsTUMsTkMsUG0sQzEsSUMsdkMsTEMsREMsRkMsQkMsVUMsc3QsVW49WigoKT0+e0Z0KCk7aHIoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO1d0KCk7Qm4oKTtKcigpO1R0LnBhY2tlZExlbmd0aD0xNjtUdC5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXRbMF0sZVtuKytdPXRbMV0sZVtuKytdPXRbMl0sZVtuKytdPXRbM10sZVtuKytdPXRbNF0sZVtuKytdPXRbNV0sZVtuKytdPXRbNl0sZVtuKytdPXRbN10sZVtuKytdPXRbOF0sZVtuKytdPXRbOV0sZVtuKytdPXRbMTBdLGVbbisrXT10WzExXSxlW24rK109dFsxMl0sZVtuKytdPXRbMTNdLGVbbisrXT10WzE0XSxlW25dPXRbMTVdLGV9O1R0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBUdCksblswXT10W2UrK10sblsxXT10W2UrK10sblsyXT10W2UrK10sblszXT10W2UrK10sbls0XT10W2UrK10sbls1XT10W2UrK10sbls2XT10W2UrK10sbls3XT10W2UrK10sbls4XT10W2UrK10sbls5XT10W2UrK10sblsxMF09dFtlKytdLG5bMTFdPXRbZSsrXSxuWzEyXT10W2UrK10sblsxM109dFtlKytdLG5bMTRdPXRbZSsrXSxuWzE1XT10W2VdLG59O1R0LnBhY2tBcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiYXJyYXkiLHQpO2xldCBuPXQubGVuZ3RoLG89bioxNjtpZighaChlKSllPW5ldyBBcnJheShvKTtlbHNle2lmKCFBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aCE9PW8pdGhyb3cgbmV3IEIoIklmIHJlc3VsdCBpcyBhIHR5cGVkIGFycmF5LCBpdCBtdXN0IGhhdmUgZXhhY3RseSBhcnJheS5sZW5ndGggKiAxNiBlbGVtZW50cyIpO2UubGVuZ3RoIT09byYmKGUubGVuZ3RoPW8pfWZvcihsZXQgcj0wO3I8bjsrK3IpVHQucGFjayh0W3JdLGUscioxNik7cmV0dXJuIGV9O1R0LnVucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7aWYoeS5kZWZpbmVkKCJhcnJheSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImFycmF5Lmxlbmd0aCIsdC5sZW5ndGgsMTYpLHQubGVuZ3RoJTE2IT09MCl0aHJvdyBuZXcgQigiYXJyYXkgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAxNi4iKTtsZXQgbj10Lmxlbmd0aDtoKGUpP2UubGVuZ3RoPW4vMTY6ZT1uZXcgQXJyYXkobi8xNik7Zm9yKGxldCBvPTA7bzxuO28rPTE2KXtsZXQgcj1vLzE2O2Vbcl09VHQudW5wYWNrKHQsbyxlW3JdKX1yZXR1cm4gZX07VHQuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZVs0XT10WzRdLGVbNV09dFs1XSxlWzZdPXRbNl0sZVs3XT10WzddLGVbOF09dFs4XSxlWzldPXRbOV0sZVsxMF09dFsxMF0sZVsxMV09dFsxMV0sZVsxMl09dFsxMl0sZVsxM109dFsxM10sZVsxNF09dFsxNF0sZVsxNV09dFsxNV0sZSk6bmV3IFR0KHRbMF0sdFs0XSx0WzhdLHRbMTJdLHRbMV0sdFs1XSx0WzldLHRbMTNdLHRbMl0sdFs2XSx0WzEwXSx0WzE0XSx0WzNdLHRbN10sdFsxMV0sdFsxNV0pfTtUdC5mcm9tQXJyYXk9VHQudW5wYWNrO1R0LmZyb21Db2x1bW5NYWpvckFycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgidmFsdWVzIix0KSxUdC5jbG9uZSh0LGUpfTtUdC5mcm9tUm93TWFqb3JBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoInZhbHVlcyIsdCksaChlKT8oZVswXT10WzBdLGVbMV09dFs0XSxlWzJdPXRbOF0sZVszXT10WzEyXSxlWzRdPXRbMV0sZVs1XT10WzVdLGVbNl09dFs5XSxlWzddPXRbMTNdLGVbOF09dFsyXSxlWzldPXRbNl0sZVsxMF09dFsxMF0sZVsxMV09dFsxNF0sZVsxMl09dFszXSxlWzEzXT10WzddLGVbMTRdPXRbMTFdLGVbMTVdPXRbMTVdLGUpOm5ldyBUdCh0WzBdLHRbMV0sdFsyXSx0WzNdLHRbNF0sdFs1XSx0WzZdLHRbN10sdFs4XSx0WzldLHRbMTBdLHRbMTFdLHRbMTJdLHRbMTNdLHRbMTRdLHRbMTVdKX07VHQuZnJvbVJvdGF0aW9uVHJhbnNsYXRpb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInJvdGF0aW9uIix0KSxlPXgoZSxhLlpFUk8pLGgobik/KG5bMF09dFswXSxuWzFdPXRbMV0sblsyXT10WzJdLG5bM109MCxuWzRdPXRbM10sbls1XT10WzRdLG5bNl09dFs1XSxuWzddPTAsbls4XT10WzZdLG5bOV09dFs3XSxuWzEwXT10WzhdLG5bMTFdPTAsblsxMl09ZS54LG5bMTNdPWUueSxuWzE0XT1lLnosblsxNV09MSxuKTpuZXcgVHQodFswXSx0WzNdLHRbNl0sZS54LHRbMV0sdFs0XSx0WzddLGUueSx0WzJdLHRbNV0sdFs4XSxlLnosMCwwLDAsMSl9O1R0LmZyb21UcmFuc2xhdGlvblF1YXRlcm5pb25Sb3RhdGlvblNjYWxlPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgidHJhbnNsYXRpb24iLHQpLHkudHlwZU9mLm9iamVjdCgicm90YXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgic2NhbGUiLG4pLGgobyl8fChvPW5ldyBUdCk7bGV0IHI9bi54LGk9bi55LHM9bi56LGY9ZS54KmUueCx1PWUueCplLnksYz1lLngqZS56LGw9ZS54KmUudyxwPWUueSplLnksZD1lLnkqZS56LG09ZS55KmUudyxfPWUueiplLnosZz1lLnoqZS53LGI9ZS53KmUudyxUPWYtcC1fK2IsTz0yKih1LWcpLEU9MiooYyttKSx3PTIqKHUrZyksQz0tZitwLV8rYixOPTIqKGQtbCksST0yKihjLW0pLEQ9MiooZCtsKSx2PS1mLXArXytiO3JldHVybiBvWzBdPVQqcixvWzFdPXcqcixvWzJdPUkqcixvWzNdPTAsb1s0XT1PKmksb1s1XT1DKmksb1s2XT1EKmksb1s3XT0wLG9bOF09RSpzLG9bOV09TipzLG9bMTBdPXYqcyxvWzExXT0wLG9bMTJdPXQueCxvWzEzXT10Lnksb1sxNF09dC56LG9bMTVdPTEsb307VHQuZnJvbVRyYW5zbGF0aW9uUm90YXRpb25TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInRyYW5zbGF0aW9uUm90YXRpb25TY2FsZSIsdCksVHQuZnJvbVRyYW5zbGF0aW9uUXVhdGVybmlvblJvdGF0aW9uU2NhbGUodC50cmFuc2xhdGlvbix0LnJvdGF0aW9uLHQuc2NhbGUsZSl9O1R0LmZyb21UcmFuc2xhdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInRyYW5zbGF0aW9uIix0KSxUdC5mcm9tUm90YXRpb25UcmFuc2xhdGlvbihRLklERU5USVRZLHQsZSl9O1R0LmZyb21TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInNjYWxlIix0KSxoKGUpPyhlWzBdPXQueCxlWzFdPTAsZVsyXT0wLGVbM109MCxlWzRdPTAsZVs1XT10LnksZVs2XT0wLGVbN109MCxlWzhdPTAsZVs5XT0wLGVbMTBdPXQueixlWzExXT0wLGVbMTJdPTAsZVsxM109MCxlWzE0XT0wLGVbMTVdPTEsZSk6bmV3IFR0KHQueCwwLDAsMCwwLHQueSwwLDAsMCwwLHQueiwwLDAsMCwwLDEpfTtUdC5mcm9tVW5pZm9ybVNjYWxlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm51bWJlcigic2NhbGUiLHQpLGgoZSk/KGVbMF09dCxlWzFdPTAsZVsyXT0wLGVbM109MCxlWzRdPTAsZVs1XT10LGVbNl09MCxlWzddPTAsZVs4XT0wLGVbOV09MCxlWzEwXT10LGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSxlKTpuZXcgVHQodCwwLDAsMCwwLHQsMCwwLDAsMCx0LDAsMCwwLDAsMSl9O1R0LmZyb21Sb3RhdGlvbj1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInJvdGF0aW9uIix0KSxoKGUpfHwoZT1uZXcgVHQpLGVbMF09dFswXSxlWzFdPXRbMV0sZVsyXT10WzJdLGVbM109MCxlWzRdPXRbM10sZVs1XT10WzRdLGVbNl09dFs1XSxlWzddPTAsZVs4XT10WzZdLGVbOV09dFs3XSxlWzEwXT10WzhdLGVbMTFdPTAsZVsxMl09MCxlWzEzXT0wLGVbMTRdPTAsZVsxNV09MSxlfTtIYz1uZXcgYSxxYz1uZXcgYSxzZj1uZXcgYTtUdC5mcm9tQ2FtZXJhPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYW1lcmEiLHQpO2xldCBuPXQucG9zaXRpb24sbz10LmRpcmVjdGlvbixyPXQudXA7eS50eXBlT2Yub2JqZWN0KCJjYW1lcmEucG9zaXRpb24iLG4pLHkudHlwZU9mLm9iamVjdCgiY2FtZXJhLmRpcmVjdGlvbiIsbykseS50eXBlT2Yub2JqZWN0KCJjYW1lcmEudXAiLHIpLGEubm9ybWFsaXplKG8sSGMpLGEubm9ybWFsaXplKGEuY3Jvc3MoSGMscixxYykscWMpLGEubm9ybWFsaXplKGEuY3Jvc3MocWMsSGMsc2YpLHNmKTtsZXQgaT1xYy54LHM9cWMueSxmPXFjLnosdT1IYy54LGM9SGMueSxsPUhjLnoscD1zZi54LGQ9c2YueSxtPXNmLnosXz1uLngsZz1uLnksYj1uLnosVD1pKi1fK3MqLWcrZiotYixPPXAqLV8rZCotZyttKi1iLEU9dSpfK2MqZytsKmI7cmV0dXJuIGgoZSk/KGVbMF09aSxlWzFdPXAsZVsyXT0tdSxlWzNdPTAsZVs0XT1zLGVbNV09ZCxlWzZdPS1jLGVbN109MCxlWzhdPWYsZVs5XT1tLGVbMTBdPS1sLGVbMTFdPTAsZVsxMl09VCxlWzEzXT1PLGVbMTRdPUUsZVsxNV09MSxlKTpuZXcgVHQoaSxzLGYsVCxwLGQsbSxPLC11LC1jLC1sLEUsMCwwLDAsMSl9O1R0LmNvbXB1dGVQZXJzcGVjdGl2ZUZpZWxkT2ZWaWV3PWZ1bmN0aW9uKHQsZSxuLG8scil7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuKCJmb3ZZIix0LDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbigiZm92WSIsdCxNYXRoLlBJKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW4oIm5lYXIiLG4sMCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuKCJmYXIiLG8sMCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLHIpO2xldCBzPTEvTWF0aC50YW4odCouNSksZj1zL2UsdT0obytuKS8obi1vKSxjPTIqbypuLyhuLW8pO3JldHVybiByWzBdPWYsclsxXT0wLHJbMl09MCxyWzNdPTAscls0XT0wLHJbNV09cyxyWzZdPTAscls3XT0wLHJbOF09MCxyWzldPTAsclsxMF09dSxyWzExXT0tMSxyWzEyXT0wLHJbMTNdPTAsclsxNF09YyxyWzE1XT0wLHJ9O1R0LmNvbXB1dGVPcnRob2dyYXBoaWNPZmZDZW50ZXI9ZnVuY3Rpb24odCxlLG4sbyxyLGkscyl7eS50eXBlT2YubnVtYmVyKCJsZWZ0Iix0KSx5LnR5cGVPZi5udW1iZXIoInJpZ2h0IixlKSx5LnR5cGVPZi5udW1iZXIoImJvdHRvbSIsbikseS50eXBlT2YubnVtYmVyKCJ0b3AiLG8pLHkudHlwZU9mLm51bWJlcigibmVhciIscikseS50eXBlT2YubnVtYmVyKCJmYXIiLGkpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixzKTtsZXQgZj0xLyhlLXQpLHU9MS8oby1uKSxjPTEvKGktciksbD0tKGUrdCkqZixwPS0obytuKSp1LGQ9LShpK3IpKmM7cmV0dXJuIGYqPTIsdSo9MixjKj0tMixzWzBdPWYsc1sxXT0wLHNbMl09MCxzWzNdPTAsc1s0XT0wLHNbNV09dSxzWzZdPTAsc1s3XT0wLHNbOF09MCxzWzldPTAsc1sxMF09YyxzWzExXT0wLHNbMTJdPWwsc1sxM109cCxzWzE0XT1kLHNbMTVdPTEsc307VHQuY29tcHV0ZVBlcnNwZWN0aXZlT2ZmQ2VudGVyPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe3kudHlwZU9mLm51bWJlcigibGVmdCIsdCkseS50eXBlT2YubnVtYmVyKCJyaWdodCIsZSkseS50eXBlT2YubnVtYmVyKCJib3R0b20iLG4pLHkudHlwZU9mLm51bWJlcigidG9wIixvKSx5LnR5cGVPZi5udW1iZXIoIm5lYXIiLHIpLHkudHlwZU9mLm51bWJlcigiZmFyIixpKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIscyk7bGV0IGY9MipyLyhlLXQpLHU9MipyLyhvLW4pLGM9KGUrdCkvKGUtdCksbD0obytuKS8oby1uKSxwPS0oaStyKS8oaS1yKSxkPS0xLG09LTIqaSpyLyhpLXIpO3JldHVybiBzWzBdPWYsc1sxXT0wLHNbMl09MCxzWzNdPTAsc1s0XT0wLHNbNV09dSxzWzZdPTAsc1s3XT0wLHNbOF09YyxzWzldPWwsc1sxMF09cCxzWzExXT1kLHNbMTJdPTAsc1sxM109MCxzWzE0XT1tLHNbMTVdPTAsc307VHQuY29tcHV0ZUluZmluaXRlUGVyc3BlY3RpdmVPZmZDZW50ZXI9ZnVuY3Rpb24odCxlLG4sbyxyLGkpe3kudHlwZU9mLm51bWJlcigibGVmdCIsdCkseS50eXBlT2YubnVtYmVyKCJyaWdodCIsZSkseS50eXBlT2YubnVtYmVyKCJib3R0b20iLG4pLHkudHlwZU9mLm51bWJlcigidG9wIixvKSx5LnR5cGVPZi5udW1iZXIoIm5lYXIiLHIpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixpKTtsZXQgcz0yKnIvKGUtdCksZj0yKnIvKG8tbiksdT0oZSt0KS8oZS10KSxjPShvK24pLyhvLW4pLGw9LTEscD0tMSxkPS0yKnI7cmV0dXJuIGlbMF09cyxpWzFdPTAsaVsyXT0wLGlbM109MCxpWzRdPTAsaVs1XT1mLGlbNl09MCxpWzddPTAsaVs4XT11LGlbOV09YyxpWzEwXT1sLGlbMTFdPXAsaVsxMl09MCxpWzEzXT0wLGlbMTRdPWQsaVsxNV09MCxpfTtUdC5jb21wdXRlVmlld3BvcnRUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0LGUsbixvKXtoKG8pfHwobz1uZXcgVHQpLHQ9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgcj14KHQueCwwKSxpPXgodC55LDApLHM9eCh0LndpZHRoLDApLGY9eCh0LmhlaWdodCwwKTtlPXgoZSwwKSxuPXgobiwxKTtsZXQgdT1zKi41LGM9ZiouNSxsPShuLWUpKi41LHA9dSxkPWMsbT1sLF89cit1LGc9aStjLGI9ZStsLFQ9MTtyZXR1cm4gb1swXT1wLG9bMV09MCxvWzJdPTAsb1szXT0wLG9bNF09MCxvWzVdPWQsb1s2XT0wLG9bN109MCxvWzhdPTAsb1s5XT0wLG9bMTBdPW0sb1sxMV09MCxvWzEyXT1fLG9bMTNdPWcsb1sxNF09YixvWzE1XT1ULG99O1R0LmNvbXB1dGVWaWV3PWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicG9zaXRpb24iLHQpLHkudHlwZU9mLm9iamVjdCgiZGlyZWN0aW9uIixlKSx5LnR5cGVPZi5vYmplY3QoInVwIixuKSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixvKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsciksclswXT1vLngsclsxXT1uLngsclsyXT0tZS54LHJbM109MCxyWzRdPW8ueSxyWzVdPW4ueSxyWzZdPS1lLnkscls3XT0wLHJbOF09by56LHJbOV09bi56LHJbMTBdPS1lLnosclsxMV09MCxyWzEyXT0tYS5kb3Qobyx0KSxyWzEzXT0tYS5kb3Qobix0KSxyWzE0XT1hLmRvdChlLHQpLHJbMTVdPTEscn07VHQudG9BcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCksaChlKT8oZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGVbNF09dFs0XSxlWzVdPXRbNV0sZVs2XT10WzZdLGVbN109dFs3XSxlWzhdPXRbOF0sZVs5XT10WzldLGVbMTBdPXRbMTBdLGVbMTFdPXRbMTFdLGVbMTJdPXRbMTJdLGVbMTNdPXRbMTNdLGVbMTRdPXRbMTRdLGVbMTVdPXRbMTVdLGUpOlt0WzBdLHRbMV0sdFsyXSx0WzNdLHRbNF0sdFs1XSx0WzZdLHRbN10sdFs4XSx0WzldLHRbMTBdLHRbMTFdLHRbMTJdLHRbMTNdLHRbMTRdLHRbMTVdXX07VHQuZ2V0RWxlbWVudEluZGV4PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJyb3ciLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoInJvdyIsZSwzKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiY29sdW1uIix0LDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJjb2x1bW4iLHQsMyksdCo0K2V9O1R0LmdldENvbHVtbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMykseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUqNCxyPXRbb10saT10W28rMV0scz10W28rMl0sZj10W28rM107cmV0dXJuIG4ueD1yLG4ueT1pLG4uej1zLG4udz1mLG59O1R0LnNldENvbHVtbj1mdW5jdGlvbih0LGUsbixvKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGV4IixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwzKSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pLG89VHQuY2xvbmUodCxvKTtsZXQgcj1lKjQ7cmV0dXJuIG9bcl09bi54LG9bcisxXT1uLnksb1tyKzJdPW4ueixvW3IrM109bi53LG99O1R0LmdldFJvdz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiaW5kZXgiLGUsMykseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbZV0scj10W2UrNF0saT10W2UrOF0scz10W2UrMTJdO3JldHVybiBuLng9byxuLnk9cixuLno9aSxuLnc9cyxufTtUdC5zZXRSb3c9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDMpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz1UdC5jbG9uZSh0LG8pLG9bZV09bi54LG9bZSs0XT1uLnksb1tlKzhdPW4ueixvW2UrMTJdPW4udyxvfTtUdC5zZXRUcmFuc2xhdGlvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInRyYW5zbGF0aW9uIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdLG5bMV09dFsxXSxuWzJdPXRbMl0sblszXT10WzNdLG5bNF09dFs0XSxuWzVdPXRbNV0sbls2XT10WzZdLG5bN109dFs3XSxuWzhdPXRbOF0sbls5XT10WzldLG5bMTBdPXRbMTBdLG5bMTFdPXRbMTFdLG5bMTJdPWUueCxuWzEzXT1lLnksblsxNF09ZS56LG5bMTVdPXRbMTVdLG59O01DPW5ldyBhO1R0LnNldFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVR0LmdldFNjYWxlKHQsTUMpLHI9ZS54L28ueCxpPWUueS9vLnkscz1lLnovby56O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qcixuWzNdPXRbM10sbls0XT10WzRdKmksbls1XT10WzVdKmksbls2XT10WzZdKmksbls3XT10WzddLG5bOF09dFs4XSpzLG5bOV09dFs5XSpzLG5bMTBdPXRbMTBdKnMsblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbn07TkM9bmV3IGE7VHQuc2V0VW5pZm9ybVNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVR0LmdldFNjYWxlKHQsTkMpLHI9ZS9vLngsaT1lL28ueSxzPWUvby56O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qcixuWzNdPXRbM10sbls0XT10WzRdKmksbls1XT10WzVdKmksbls2XT10WzZdKmksbls3XT10WzddLG5bOF09dFs4XSpzLG5bOV09dFs5XSpzLG5bMTBdPXRbMTBdKnMsblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbn07UG09bmV3IGE7VHQuZ2V0U2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9YS5tYWduaXR1ZGUoYS5mcm9tRWxlbWVudHModFswXSx0WzFdLHRbMl0sUG0pKSxlLnk9YS5tYWduaXR1ZGUoYS5mcm9tRWxlbWVudHModFs0XSx0WzVdLHRbNl0sUG0pKSxlLno9YS5tYWduaXR1ZGUoYS5mcm9tRWxlbWVudHModFs4XSx0WzldLHRbMTBdLFBtKSksZX07QzE9bmV3IGE7VHQuZ2V0TWF4aW11bVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBUdC5nZXRTY2FsZSh0LEMxKSxhLm1heGltdW1Db21wb25lbnQoQzEpfTtJQz1uZXcgYTtUdC5zZXRSb3RhdGlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1UdC5nZXRTY2FsZSh0LElDKTtyZXR1cm4gblswXT1lWzBdKm8ueCxuWzFdPWVbMV0qby54LG5bMl09ZVsyXSpvLngsblszXT10WzNdLG5bNF09ZVszXSpvLnksbls1XT1lWzRdKm8ueSxuWzZdPWVbNV0qby55LG5bN109dFs3XSxuWzhdPWVbNl0qby56LG5bOV09ZVs3XSpvLnosblsxMF09ZVs4XSpvLnosblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbn07dkM9bmV3IGE7VHQuZ2V0Um90YXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPVR0LmdldFNjYWxlKHQsdkMpO3JldHVybiBlWzBdPXRbMF0vbi54LGVbMV09dFsxXS9uLngsZVsyXT10WzJdL24ueCxlWzNdPXRbNF0vbi55LGVbNF09dFs1XS9uLnksZVs1XT10WzZdL24ueSxlWzZdPXRbOF0vbi56LGVbN109dFs5XS9uLnosZVs4XT10WzEwXS9uLnosZX07VHQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0scj10WzFdLGk9dFsyXSxzPXRbM10sZj10WzRdLHU9dFs1XSxjPXRbNl0sbD10WzddLHA9dFs4XSxkPXRbOV0sbT10WzEwXSxfPXRbMTFdLGc9dFsxMl0sYj10WzEzXSxUPXRbMTRdLE89dFsxNV0sRT1lWzBdLHc9ZVsxXSxDPWVbMl0sTj1lWzNdLEk9ZVs0XSxEPWVbNV0sdj1lWzZdLEw9ZVs3XSxVPWVbOF0sQT1lWzldLFM9ZVsxMF0sUD1lWzExXSxGPWVbMTJdLGo9ZVsxM10sSD1lWzE0XSxrPWVbMTVdLEs9bypFK2YqdytwKkMrZypOLFg9cipFK3UqdytkKkMrYipOLFI9aSpFK2MqdyttKkMrVCpOLG90PXMqRStsKncrXypDK08qTixhdD1vKkkrZipEK3AqditnKkwscHQ9cipJK3UqRCtkKnYrYipMLHl0PWkqSStjKkQrbSp2K1QqTCxydD1zKkkrbCpEK18qditPKkwsUHQ9bypVK2YqQStwKlMrZypQLGd0PXIqVSt1KkErZCpTK2IqUCxDdD1pKlUrYypBK20qUytUKlAsbXQ9cypVK2wqQStfKlMrTypQLHV0PW8qRitmKmorcCpIK2cqayx2dD1yKkYrdSpqK2QqSCtiKmssenQ9aSpGK2MqaittKkgrVCprLG1lPXMqRitsKmorXypIK08qaztyZXR1cm4gblswXT1LLG5bMV09WCxuWzJdPVIsblszXT1vdCxuWzRdPWF0LG5bNV09cHQsbls2XT15dCxuWzddPXJ0LG5bOF09UHQsbls5XT1ndCxuWzEwXT1DdCxuWzExXT1tdCxuWzEyXT11dCxuWzEzXT12dCxuWzE0XT16dCxuWzE1XT1tZSxufTtUdC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0rZVswXSxuWzFdPXRbMV0rZVsxXSxuWzJdPXRbMl0rZVsyXSxuWzNdPXRbM10rZVszXSxuWzRdPXRbNF0rZVs0XSxuWzVdPXRbNV0rZVs1XSxuWzZdPXRbNl0rZVs2XSxuWzddPXRbN10rZVs3XSxuWzhdPXRbOF0rZVs4XSxuWzldPXRbOV0rZVs5XSxuWzEwXT10WzEwXStlWzEwXSxuWzExXT10WzExXStlWzExXSxuWzEyXT10WzEyXStlWzEyXSxuWzEzXT10WzEzXStlWzEzXSxuWzE0XT10WzE0XStlWzE0XSxuWzE1XT10WzE1XStlWzE1XSxufTtUdC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXS1lWzBdLG5bMV09dFsxXS1lWzFdLG5bMl09dFsyXS1lWzJdLG5bM109dFszXS1lWzNdLG5bNF09dFs0XS1lWzRdLG5bNV09dFs1XS1lWzVdLG5bNl09dFs2XS1lWzZdLG5bN109dFs3XS1lWzddLG5bOF09dFs4XS1lWzhdLG5bOV09dFs5XS1lWzldLG5bMTBdPXRbMTBdLWVbMTBdLG5bMTFdPXRbMTFdLWVbMTFdLG5bMTJdPXRbMTJdLWVbMTJdLG5bMTNdPXRbMTNdLWVbMTNdLG5bMTRdPXRbMTRdLWVbMTRdLG5bMTVdPXRbMTVdLWVbMTVdLG59O1R0Lm11bHRpcGx5VHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0scj10WzFdLGk9dFsyXSxzPXRbNF0sZj10WzVdLHU9dFs2XSxjPXRbOF0sbD10WzldLHA9dFsxMF0sZD10WzEyXSxtPXRbMTNdLF89dFsxNF0sZz1lWzBdLGI9ZVsxXSxUPWVbMl0sTz1lWzRdLEU9ZVs1XSx3PWVbNl0sQz1lWzhdLE49ZVs5XSxJPWVbMTBdLEQ9ZVsxMl0sdj1lWzEzXSxMPWVbMTRdLFU9bypnK3MqYitjKlQsQT1yKmcrZipiK2wqVCxTPWkqZyt1KmIrcCpULFA9bypPK3MqRStjKncsRj1yKk8rZipFK2wqdyxqPWkqTyt1KkUrcCp3LEg9bypDK3MqTitjKkksaz1yKkMrZipOK2wqSSxLPWkqQyt1Kk4rcCpJLFg9bypEK3MqditjKkwrZCxSPXIqRCtmKnYrbCpMK20sb3Q9aSpEK3UqditwKkwrXztyZXR1cm4gblswXT1VLG5bMV09QSxuWzJdPVMsblszXT0wLG5bNF09UCxuWzVdPUYsbls2XT1qLG5bN109MCxuWzhdPUgsbls5XT1rLG5bMTBdPUssblsxMV09MCxuWzEyXT1YLG5bMTNdPVIsblsxNF09b3QsblsxNV09MSxufTtUdC5tdWx0aXBseUJ5TWF0cml4Mz1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicm90YXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz10WzBdLHI9dFsxXSxpPXRbMl0scz10WzRdLGY9dFs1XSx1PXRbNl0sYz10WzhdLGw9dFs5XSxwPXRbMTBdLGQ9ZVswXSxtPWVbMV0sXz1lWzJdLGc9ZVszXSxiPWVbNF0sVD1lWzVdLE89ZVs2XSxFPWVbN10sdz1lWzhdLEM9bypkK3MqbStjKl8sTj1yKmQrZiptK2wqXyxJPWkqZCt1Km0rcCpfLEQ9bypnK3MqYitjKlQsdj1yKmcrZipiK2wqVCxMPWkqZyt1KmIrcCpULFU9bypPK3MqRStjKncsQT1yKk8rZipFK2wqdyxTPWkqTyt1KkUrcCp3O3JldHVybiBuWzBdPUMsblsxXT1OLG5bMl09SSxuWzNdPTAsbls0XT1ELG5bNV09dixuWzZdPUwsbls3XT0wLG5bOF09VSxuWzldPUEsblsxMF09UyxuWzExXT0wLG5bMTJdPXRbMTJdLG5bMTNdPXRbMTNdLG5bMTRdPXRbMTRdLG5bMTVdPXRbMTVdLG59O1R0Lm11bHRpcGx5QnlUcmFuc2xhdGlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgidHJhbnNsYXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1lLngscj1lLnksaT1lLnoscz1vKnRbMF0rcip0WzRdK2kqdFs4XSt0WzEyXSxmPW8qdFsxXStyKnRbNV0raSp0WzldK3RbMTNdLHU9byp0WzJdK3IqdFs2XStpKnRbMTBdK3RbMTRdO3JldHVybiBuWzBdPXRbMF0sblsxXT10WzFdLG5bMl09dFsyXSxuWzNdPXRbM10sbls0XT10WzRdLG5bNV09dFs1XSxuWzZdPXRbNl0sbls3XT10WzddLG5bOF09dFs4XSxuWzldPXRbOV0sblsxMF09dFsxMF0sblsxMV09dFsxMV0sblsxMl09cyxuWzEzXT1mLG5bMTRdPXUsblsxNV09dFsxNV0sbn07VHQubXVsdGlwbHlCeVNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUueCxyPWUueSxpPWUuejtyZXR1cm4gbz09PTEmJnI9PT0xJiZpPT09MT9UdC5jbG9uZSh0LG4pOihuWzBdPW8qdFswXSxuWzFdPW8qdFsxXSxuWzJdPW8qdFsyXSxuWzNdPXRbM10sbls0XT1yKnRbNF0sbls1XT1yKnRbNV0sbls2XT1yKnRbNl0sbls3XT10WzddLG5bOF09aSp0WzhdLG5bOV09aSp0WzldLG5bMTBdPWkqdFsxMF0sblsxMV09dFsxMV0sblsxMl09dFsxMl0sblsxM109dFsxM10sblsxNF09dFsxNF0sblsxNV09dFsxNV0sbil9O1R0Lm11bHRpcGx5QnlVbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXSplLG5bMV09dFsxXSplLG5bMl09dFsyXSplLG5bM109dFszXSxuWzRdPXRbNF0qZSxuWzVdPXRbNV0qZSxuWzZdPXRbNl0qZSxuWzddPXRbN10sbls4XT10WzhdKmUsbls5XT10WzldKmUsblsxMF09dFsxMF0qZSxuWzExXT10WzExXSxuWzEyXT10WzEyXSxuWzEzXT10WzEzXSxuWzE0XT10WzE0XSxuWzE1XT10WzE1XSxufTtUdC5tdWx0aXBseUJ5VmVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1lLngscj1lLnksaT1lLnoscz1lLncsZj10WzBdKm8rdFs0XSpyK3RbOF0qaSt0WzEyXSpzLHU9dFsxXSpvK3RbNV0qcit0WzldKmkrdFsxM10qcyxjPXRbMl0qbyt0WzZdKnIrdFsxMF0qaSt0WzE0XSpzLGw9dFszXSpvK3RbN10qcit0WzExXSppK3RbMTVdKnM7cmV0dXJuIG4ueD1mLG4ueT11LG4uej1jLG4udz1sLG59O1R0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz1lLngscj1lLnksaT1lLnoscz10WzBdKm8rdFs0XSpyK3RbOF0qaSxmPXRbMV0qbyt0WzVdKnIrdFs5XSppLHU9dFsyXSpvK3RbNl0qcit0WzEwXSppO3JldHVybiBuLng9cyxuLnk9ZixuLno9dSxufTtUdC5tdWx0aXBseUJ5UG9pbnQ9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPWUueCxyPWUueSxpPWUueixzPXRbMF0qbyt0WzRdKnIrdFs4XSppK3RbMTJdLGY9dFsxXSpvK3RbNV0qcit0WzldKmkrdFsxM10sdT10WzJdKm8rdFs2XSpyK3RbMTBdKmkrdFsxNF07cmV0dXJuIG4ueD1zLG4ueT1mLG4uej11LG59O1R0Lm11bHRpcGx5QnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0qZSxuWzFdPXRbMV0qZSxuWzJdPXRbMl0qZSxuWzNdPXRbM10qZSxuWzRdPXRbNF0qZSxuWzVdPXRbNV0qZSxuWzZdPXRbNl0qZSxuWzddPXRbN10qZSxuWzhdPXRbOF0qZSxuWzldPXRbOV0qZSxuWzEwXT10WzEwXSplLG5bMTFdPXRbMTFdKmUsblsxMl09dFsxMl0qZSxuWzEzXT10WzEzXSplLG5bMTRdPXRbMTRdKmUsblsxNV09dFsxNV0qZSxufTtUdC5uZWdhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlWzBdPS10WzBdLGVbMV09LXRbMV0sZVsyXT0tdFsyXSxlWzNdPS10WzNdLGVbNF09LXRbNF0sZVs1XT0tdFs1XSxlWzZdPS10WzZdLGVbN109LXRbN10sZVs4XT0tdFs4XSxlWzldPS10WzldLGVbMTBdPS10WzEwXSxlWzExXT0tdFsxMV0sZVsxMl09LXRbMTJdLGVbMTNdPS10WzEzXSxlWzE0XT0tdFsxNF0sZVsxNV09LXRbMTVdLGV9O1R0LnRyYW5zcG9zZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49dFsxXSxvPXRbMl0scj10WzNdLGk9dFs2XSxzPXRbN10sZj10WzExXTtyZXR1cm4gZVswXT10WzBdLGVbMV09dFs0XSxlWzJdPXRbOF0sZVszXT10WzEyXSxlWzRdPW4sZVs1XT10WzVdLGVbNl09dFs5XSxlWzddPXRbMTNdLGVbOF09byxlWzldPWksZVsxMF09dFsxMF0sZVsxMV09dFsxNF0sZVsxMl09cixlWzEzXT1zLGVbMTRdPWYsZVsxNV09dFsxNV0sZX07VHQuYWJzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT1NYXRoLmFicyh0WzBdKSxlWzFdPU1hdGguYWJzKHRbMV0pLGVbMl09TWF0aC5hYnModFsyXSksZVszXT1NYXRoLmFicyh0WzNdKSxlWzRdPU1hdGguYWJzKHRbNF0pLGVbNV09TWF0aC5hYnModFs1XSksZVs2XT1NYXRoLmFicyh0WzZdKSxlWzddPU1hdGguYWJzKHRbN10pLGVbOF09TWF0aC5hYnModFs4XSksZVs5XT1NYXRoLmFicyh0WzldKSxlWzEwXT1NYXRoLmFicyh0WzEwXSksZVsxMV09TWF0aC5hYnModFsxMV0pLGVbMTJdPU1hdGguYWJzKHRbMTJdKSxlWzEzXT1NYXRoLmFicyh0WzEzXSksZVsxNF09TWF0aC5hYnModFsxNF0pLGVbMTVdPU1hdGguYWJzKHRbMTVdKSxlfTtUdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnRbMTJdPT09ZVsxMl0mJnRbMTNdPT09ZVsxM10mJnRbMTRdPT09ZVsxNF0mJnRbMF09PT1lWzBdJiZ0WzFdPT09ZVsxXSYmdFsyXT09PWVbMl0mJnRbNF09PT1lWzRdJiZ0WzVdPT09ZVs1XSYmdFs2XT09PWVbNl0mJnRbOF09PT1lWzhdJiZ0WzldPT09ZVs5XSYmdFsxMF09PT1lWzEwXSYmdFszXT09PWVbM10mJnRbN109PT1lWzddJiZ0WzExXT09PWVbMTFdJiZ0WzE1XT09PWVbMTVdfTtUdC5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj14KG4sMCksdD09PWV8fGgodCkmJmgoZSkmJk1hdGguYWJzKHRbMF0tZVswXSk8PW4mJk1hdGguYWJzKHRbMV0tZVsxXSk8PW4mJk1hdGguYWJzKHRbMl0tZVsyXSk8PW4mJk1hdGguYWJzKHRbM10tZVszXSk8PW4mJk1hdGguYWJzKHRbNF0tZVs0XSk8PW4mJk1hdGguYWJzKHRbNV0tZVs1XSk8PW4mJk1hdGguYWJzKHRbNl0tZVs2XSk8PW4mJk1hdGguYWJzKHRbN10tZVs3XSk8PW4mJk1hdGguYWJzKHRbOF0tZVs4XSk8PW4mJk1hdGguYWJzKHRbOV0tZVs5XSk8PW4mJk1hdGguYWJzKHRbMTBdLWVbMTBdKTw9biYmTWF0aC5hYnModFsxMV0tZVsxMV0pPD1uJiZNYXRoLmFicyh0WzEyXS1lWzEyXSk8PW4mJk1hdGguYWJzKHRbMTNdLWVbMTNdKTw9biYmTWF0aC5hYnModFsxNF0tZVsxNF0pPD1uJiZNYXRoLmFicyh0WzE1XS1lWzE1XSk8PW59O1R0LmdldFRyYW5zbGF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PXRbMTJdLGUueT10WzEzXSxlLno9dFsxNF0sZX07VHQuZ2V0TWF0cml4Mz1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpLGVbMF09dFswXSxlWzFdPXRbMV0sZVsyXT10WzJdLGVbM109dFs0XSxlWzRdPXRbNV0sZVs1XT10WzZdLGVbNl09dFs4XSxlWzddPXRbOV0sZVs4XT10WzEwXSxlfTtMQz1uZXcgUSxEQz1uZXcgUSxGQz1uZXcgaGUsQkM9bmV3IGhlKDAsMCwwLDEpO1R0LmludmVyc2U9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXRbMF0sbz10WzRdLHI9dFs4XSxpPXRbMTJdLHM9dFsxXSxmPXRbNV0sdT10WzldLGM9dFsxM10sbD10WzJdLHA9dFs2XSxkPXRbMTBdLG09dFsxNF0sXz10WzNdLGc9dFs3XSxiPXRbMTFdLFQ9dFsxNV0sTz1kKlQsRT1tKmIsdz1wKlQsQz1tKmcsTj1wKmIsST1kKmcsRD1sKlQsdj1tKl8sTD1sKmIsVT1kKl8sQT1sKmcsUz1wKl8sUD1PKmYrQyp1K04qYy0oRSpmK3cqdStJKmMpLEY9RSpzK0QqdStVKmMtKE8qcyt2KnUrTCpjKSxqPXcqcyt2KmYrQSpjLShDKnMrRCpmK1MqYyksSD1JKnMrTCpmK1MqdS0oTipzK1UqZitBKnUpLGs9RSpvK3cqcitJKmktKE8qbytDKnIrTippKSxLPU8qbit2KnIrTCppLShFKm4rRCpyK1UqaSksWD1DKm4rRCpvK1MqaS0odypuK3YqbytBKmkpLFI9TipuK1UqbytBKnItKEkqbitMKm8rUypyKTtPPXIqYyxFPWkqdSx3PW8qYyxDPWkqZixOPW8qdSxJPXIqZixEPW4qYyx2PWkqcyxMPW4qdSxVPXIqcyxBPW4qZixTPW8qcztsZXQgb3Q9TypnK0MqYitOKlQtKEUqZyt3KmIrSSpUKSxhdD1FKl8rRCpiK1UqVC0oTypfK3YqYitMKlQpLHB0PXcqXyt2KmcrQSpULShDKl8rRCpnK1MqVCkseXQ9SSpfK0wqZytTKmItKE4qXytVKmcrQSpiKSxydD13KmQrSSptK0UqcC0oTiptK08qcCtDKmQpLFB0PUwqbStPKmwrdipkLShEKmQrVSptK0UqbCksZ3Q9RCpwK1MqbStDKmwtKEEqbSt3KmwrdipwKSxDdD1BKmQrTipsK1UqcC0oTCpwK1MqZCtJKmwpLG10PW4qUCtvKkYrcipqK2kqSDtpZihNYXRoLmFicyhtdCk8TS5FUFNJTE9OMjEpe2lmKFEuZXF1YWxzRXBzaWxvbihUdC5nZXRNYXRyaXgzKHQsTEMpLERDLE0uRVBTSUxPTjcpJiZoZS5lcXVhbHMoVHQuZ2V0Um93KHQsMyxGQyksQkMpKXJldHVybiBlWzBdPTAsZVsxXT0wLGVbMl09MCxlWzNdPTAsZVs0XT0wLGVbNV09MCxlWzZdPTAsZVs3XT0wLGVbOF09MCxlWzldPTAsZVsxMF09MCxlWzExXT0wLGVbMTJdPS10WzEyXSxlWzEzXT0tdFsxM10sZVsxNF09LXRbMTRdLGVbMTVdPTEsZTt0aHJvdyBuZXcgQWUoIm1hdHJpeCBpcyBub3QgaW52ZXJ0aWJsZSBiZWNhdXNlIGl0cyBkZXRlcm1pbmF0ZSBpcyB6ZXJvLiIpfXJldHVybiBtdD0xL210LGVbMF09UCptdCxlWzFdPUYqbXQsZVsyXT1qKm10LGVbM109SCptdCxlWzRdPWsqbXQsZVs1XT1LKm10LGVbNl09WCptdCxlWzddPVIqbXQsZVs4XT1vdCptdCxlWzldPWF0Km10LGVbMTBdPXB0Km10LGVbMTFdPXl0Km10LGVbMTJdPXJ0Km10LGVbMTNdPVB0Km10LGVbMTRdPWd0Km10LGVbMTVdPUN0Km10LGV9O1R0LmludmVyc2VUcmFuc2Zvcm1hdGlvbj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49dFswXSxvPXRbMV0scj10WzJdLGk9dFs0XSxzPXRbNV0sZj10WzZdLHU9dFs4XSxjPXRbOV0sbD10WzEwXSxwPXRbMTJdLGQ9dFsxM10sbT10WzE0XSxfPS1uKnAtbypkLXIqbSxnPS1pKnAtcypkLWYqbSxiPS11KnAtYypkLWwqbTtyZXR1cm4gZVswXT1uLGVbMV09aSxlWzJdPXUsZVszXT0wLGVbNF09byxlWzVdPXMsZVs2XT1jLGVbN109MCxlWzhdPXIsZVs5XT1mLGVbMTBdPWwsZVsxMV09MCxlWzEyXT1fLGVbMTNdPWcsZVsxNF09YixlWzE1XT0xLGV9O1VDPW5ldyBUdDtUdC5pbnZlcnNlVHJhbnNwb3NlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksVHQuaW52ZXJzZShUdC50cmFuc3Bvc2UodCxVQyksZSl9O1R0LklERU5USVRZPU9iamVjdC5mcmVlemUobmV3IFR0KDEsMCwwLDAsMCwxLDAsMCwwLDAsMSwwLDAsMCwwLDEpKTtUdC5aRVJPPU9iamVjdC5mcmVlemUobmV3IFR0KDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDApKTtUdC5DT0xVTU4wUk9XMD0wO1R0LkNPTFVNTjBST1cxPTE7VHQuQ09MVU1OMFJPVzI9MjtUdC5DT0xVTU4wUk9XMz0zO1R0LkNPTFVNTjFST1cwPTQ7VHQuQ09MVU1OMVJPVzE9NTtUdC5DT0xVTU4xUk9XMj02O1R0LkNPTFVNTjFST1czPTc7VHQuQ09MVU1OMlJPVzA9ODtUdC5DT0xVTU4yUk9XMT05O1R0LkNPTFVNTjJST1cyPTEwO1R0LkNPTFVNTjJST1czPTExO1R0LkNPTFVNTjNST1cwPTEyO1R0LkNPTFVNTjNST1cxPTEzO1R0LkNPTFVNTjNST1cyPTE0O1R0LkNPTFVNTjNST1czPTE1O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFR0LnByb3RvdHlwZSx7bGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gVHQucGFja2VkTGVuZ3RofX19KTtUdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIFR0LmNsb25lKHRoaXMsdCl9O1R0LnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIFR0LmVxdWFscyh0aGlzLHQpfTtUdC5lcXVhbHNBcnJheT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHRbMF09PT1lW25dJiZ0WzFdPT09ZVtuKzFdJiZ0WzJdPT09ZVtuKzJdJiZ0WzNdPT09ZVtuKzNdJiZ0WzRdPT09ZVtuKzRdJiZ0WzVdPT09ZVtuKzVdJiZ0WzZdPT09ZVtuKzZdJiZ0WzddPT09ZVtuKzddJiZ0WzhdPT09ZVtuKzhdJiZ0WzldPT09ZVtuKzldJiZ0WzEwXT09PWVbbisxMF0mJnRbMTFdPT09ZVtuKzExXSYmdFsxMl09PT1lW24rMTJdJiZ0WzEzXT09PWVbbisxM10mJnRbMTRdPT09ZVtuKzE0XSYmdFsxNV09PT1lW24rMTVdfTtUdC5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUpe3JldHVybiBUdC5lcXVhbHNFcHNpbG9uKHRoaXMsdCxlKX07VHQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXNbMF19LCAke3RoaXNbNF19LCAke3RoaXNbOF19LCAke3RoaXNbMTJdfSkKKCR7dGhpc1sxXX0sICR7dGhpc1s1XX0sICR7dGhpc1s5XX0sICR7dGhpc1sxM119KQooJHt0aGlzWzJdfSwgJHt0aGlzWzZdfSwgJHt0aGlzWzEwXX0sICR7dGhpc1sxNF19KQooJHt0aGlzWzNdfSwgJHt0aGlzWzddfSwgJHt0aGlzWzExXX0sICR7dGhpc1sxNV19KWB9O3N0PVR0fSk7ZnVuY3Rpb24gVkModCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLHkuZGVmaW5lZCgiaXRlbVRvRmluZCIsZSkseS5kZWZpbmVkKCJjb21wYXJhdG9yIixuKTtsZXQgbz0wLHI9dC5sZW5ndGgtMSxpLHM7Zm9yKDtvPD1yOyl7aWYoaT1+figobytyKS8yKSxzPW4odFtpXSxlKSxzPDApe289aSsxO2NvbnRpbnVlfWlmKHM+MCl7cj1pLTE7Y29udGludWV9cmV0dXJuIGl9cmV0dXJufihyKzEpfXZhciBHcyxNbT1aKCgpPT57WHQoKTtHcz1WQ30pO2Z1bmN0aW9uIGtDKHQsZSxuLG8scil7dGhpcy54UG9sZVdhbmRlcj10LHRoaXMueVBvbGVXYW5kZXI9ZSx0aGlzLnhQb2xlT2Zmc2V0PW4sdGhpcy55UG9sZU9mZnNldD1vLHRoaXMudXQxTWludXNVdGM9cn12YXIgY2YsTm09WigoKT0+e2NmPWtDfSk7ZnVuY3Rpb24gR0ModCl7aWYodD09PW51bGx8fGlzTmFOKHQpKXRocm93IG5ldyBCKCJ5ZWFyIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgbnVtYmVyLiIpO3JldHVybiB0JTQ9PT0wJiZ0JTEwMCE9PTB8fHQlNDAwPT09MH12YXIgYWYsSW09WigoKT0+e0h0KCk7YWY9R0N9KTtmdW5jdGlvbiB6Qyh0LGUsbixvLHIsaSxzLGYpe3Q9eCh0LDEpLGU9eChlLDEpLG49eChuLDEpLG89eChvLDApLHI9eChyLDApLGk9eChpLDApLHM9eChzLDApLGY9eChmLCExKSxnKCksYigpLHRoaXMueWVhcj10LHRoaXMubW9udGg9ZSx0aGlzLmRheT1uLHRoaXMuaG91cj1vLHRoaXMubWludXRlPXIsdGhpcy5zZWNvbmQ9aSx0aGlzLm1pbGxpc2Vjb25kPXMsdGhpcy5pc0xlYXBTZWNvbmQ9ZjtmdW5jdGlvbiBnKCl7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIlllYXIiLHQsMSkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIlllYXIiLHQsOTk5OSkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIk1vbnRoIixlLDEpLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJNb250aCIsZSwxMikseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIkRheSIsbiwxKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiRGF5IixuLDMxKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiSG91ciIsbywwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiSG91ciIsbywyMykseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIk1pbnV0ZSIsciwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygiTWludXRlIixyLDU5KSx5LnR5cGVPZi5ib29sKCJJc0xlYXBTZWNvbmQiLGYpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJTZWNvbmQiLGksMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIlNlY29uZCIsaSxmPzYwOjU5KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiTWlsbGlzZWNvbmQiLHMsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuKCJNaWxsaXNlY29uZCIscywxZTMpfWZ1bmN0aW9uIGIoKXtsZXQgVD1lPT09MiYmYWYodCk/eDFbZS0xXSsxOngxW2UtMV07aWYobj5UKXRocm93IG5ldyBCKCJNb250aCBhbmQgRGF5IHJlcHJlc2VudHMgaW52YWxpZCBkYXRlIil9fXZhciB4MSxLbCxQMT1aKCgpPT57WHQoKTtJdCgpO0h0KCk7SW0oKTt4MT1bMzEsMjgsMzEsMzAsMzEsMzAsMzEsMzEsMzAsMzEsMzAsMzFdO0tsPXpDfSk7ZnVuY3Rpb24gakModCxlKXt0aGlzLmp1bGlhbkRhdGU9dCx0aGlzLm9mZnNldD1lfXZhciBXZSx2bT1aKCgpPT57V2U9akN9KTt2YXIgSEMseW4sV2w9WigoKT0+e0hDPXtTRUNPTkRTX1BFUl9NSUxMSVNFQ09ORDouMDAxLFNFQ09ORFNfUEVSX01JTlVURTo2MCxNSU5VVEVTX1BFUl9IT1VSOjYwLEhPVVJTX1BFUl9EQVk6MjQsU0VDT05EU19QRVJfSE9VUjozNjAwLE1JTlVURVNfUEVSX0RBWToxNDQwLFNFQ09ORFNfUEVSX0RBWTo4NjQwMCxEQVlTX1BFUl9KVUxJQU5fQ0VOVFVSWTozNjUyNSxQSUNPU0VDT05EOjFlLTksTU9ESUZJRURfSlVMSUFOX0RBVEVfRElGRkVSRU5DRToyNDAwMDAwNWUtMX0seW49T2JqZWN0LmZyZWV6ZShIQyl9KTt2YXIgcUMsT2UsWGw9WigoKT0+e3FDPXtVVEM6MCxUQUk6MX0sT2U9T2JqZWN0LmZyZWV6ZShxQyl9KTtmdW5jdGlvbiBMbSh0LGUpe3JldHVybiBHdC5jb21wYXJlKHQuanVsaWFuRGF0ZSxlLmp1bGlhbkRhdGUpfWZ1bmN0aW9uIFFsKHQpe0tjLmp1bGlhbkRhdGU9dDtsZXQgZT1HdC5sZWFwU2Vjb25kcyxuPUdzKGUsS2MsTG0pO248MCYmKG49fm4pLG4+PWUubGVuZ3RoJiYobj1lLmxlbmd0aC0xKTtsZXQgbz1lW25dLm9mZnNldDtuPjAmJkd0LnNlY29uZHNEaWZmZXJlbmNlKGVbbl0uanVsaWFuRGF0ZSx0KT5vJiYobi0tLG89ZVtuXS5vZmZzZXQpLEd0LmFkZFNlY29uZHModCxvLHQpfWZ1bmN0aW9uIE0xKHQsZSl7S2MuanVsaWFuRGF0ZT10O2xldCBuPUd0LmxlYXBTZWNvbmRzLG89R3MobixLYyxMbSk7aWYobzwwJiYobz1+byksbz09PTApcmV0dXJuIEd0LmFkZFNlY29uZHModCwtblswXS5vZmZzZXQsZSk7aWYobz49bi5sZW5ndGgpcmV0dXJuIEd0LmFkZFNlY29uZHModCwtbltvLTFdLm9mZnNldCxlKTtsZXQgcj1HdC5zZWNvbmRzRGlmZmVyZW5jZShuW29dLmp1bGlhbkRhdGUsdCk7aWYocj09PTApcmV0dXJuIEd0LmFkZFNlY29uZHModCwtbltvXS5vZmZzZXQsZSk7aWYoIShyPD0xKSlyZXR1cm4gR3QuYWRkU2Vjb25kcyh0LC1uWy0tb10ub2Zmc2V0LGUpfWZ1bmN0aW9uIG5zKHQsZSxuKXtsZXQgbz1lL3luLlNFQ09ORFNfUEVSX0RBWXwwO3JldHVybiB0Kz1vLGUtPXluLlNFQ09ORFNfUEVSX0RBWSpvLGU8MCYmKHQtLSxlKz15bi5TRUNPTkRTX1BFUl9EQVkpLG4uZGF5TnVtYmVyPXQsbi5zZWNvbmRzT2ZEYXk9ZSxufWZ1bmN0aW9uIERtKHQsZSxuLG8scixpLHMpe2xldCBmPShlLTE0KS8xMnwwLHU9dCs0ODAwK2YsYz0oMTQ2MSp1LzR8MCkrKDM2NyooZS0yLTEyKmYpLzEyfDApLSgzKigodSsxMDApLzEwMHwwKS80fDApK24tMzIwNzU7bz1vLTEyLG88MCYmKG8rPTI0KTtsZXQgbD1pKyhvKnluLlNFQ09ORFNfUEVSX0hPVVIrcip5bi5TRUNPTkRTX1BFUl9NSU5VVEUrcyp5bi5TRUNPTkRTX1BFUl9NSUxMSVNFQ09ORCk7cmV0dXJuIGw+PTQzMjAwJiYoYy09MSksW2MsbF19ZnVuY3Rpb24gR3QodCxlLG4pe3RoaXMuZGF5TnVtYmVyPXZvaWQgMCx0aGlzLnNlY29uZHNPZkRheT12b2lkIDAsdD14KHQsMCksZT14KGUsMCksbj14KG4sT2UuVVRDKTtsZXQgbz10fDA7ZT1lKyh0LW8pKnluLlNFQ09ORFNfUEVSX0RBWSxucyhvLGUsdGhpcyksbj09PU9lLlVUQyYmUWwodGhpcyl9dmFyIE4xLFlsLCRsLEtjLEtDLFdDLFhDLFlDLCRDLEZtLFpDLFFDLEpDLERyLFpsLGtuLEpsPVooKCk9PntNbSgpO0l0KCk7ZnQoKTtIdCgpO1AxKCk7SW0oKTt2bSgpO1dsKCk7WGwoKTtOMT1uZXcgS2wsWWw9WzMxLDI4LDMxLDMwLDMxLDMwLDMxLDMxLDMwLDMxLDMwLDMxXSwkbD0yOTtLYz1uZXcgV2U7S0M9L14oXGR7NH0pJC8sV0M9L14oXGR7NH0pLShcZHsyfSkkLyxYQz0vXihcZHs0fSktPyhcZHszfSkkLyxZQz0vXihcZHs0fSktP1coXGR7Mn0pLT8oXGR7MX0pPyQvLCRDPS9eKFxkezR9KS0/KFxkezJ9KS0/KFxkezJ9KSQvLEZtPS8oW1orXC1dKT8oXGR7Mn0pPzo/KFxkezJ9KT8kLyxaQz0vXihcZHsyfSkoXC5cZCspPy8uc291cmNlK0ZtLnNvdXJjZSxRQz0vXihcZHsyfSk6PyhcZHsyfSkoXC5cZCspPy8uc291cmNlK0ZtLnNvdXJjZSxKQz0vXihcZHsyfSk6PyhcZHsyfSk6PyhcZHsyfSkoXC5cZCspPy8uc291cmNlK0ZtLnNvdXJjZSxEcj0iSW52YWxpZCBJU08gODYwMSBkYXRlLiI7R3QuZnJvbUdyZWdvcmlhbkRhdGU9ZnVuY3Rpb24odCxlKXtpZighKHQgaW5zdGFuY2VvZiBLbCkpdGhyb3cgbmV3IEIoImRhdGUgbXVzdCBiZSBhIHZhbGlkIEdyZWdvcmlhbkRhdGUuIik7bGV0IG49RG0odC55ZWFyLHQubW9udGgsdC5kYXksdC5ob3VyLHQubWludXRlLHQuc2Vjb25kLHQubWlsbGlzZWNvbmQpO3JldHVybiBoKGUpPyhucyhuWzBdLG5bMV0sZSksUWwoZSksZSk6bmV3IEd0KG5bMF0sblsxXSxPZS5VVEMpfTtHdC5mcm9tRGF0ZT1mdW5jdGlvbih0LGUpe2lmKCEodCBpbnN0YW5jZW9mIERhdGUpfHxpc05hTih0LmdldFRpbWUoKSkpdGhyb3cgbmV3IEIoImRhdGUgbXVzdCBiZSBhIHZhbGlkIEphdmFTY3JpcHQgRGF0ZS4iKTtsZXQgbj1EbSh0LmdldFVUQ0Z1bGxZZWFyKCksdC5nZXRVVENNb250aCgpKzEsdC5nZXRVVENEYXRlKCksdC5nZXRVVENIb3VycygpLHQuZ2V0VVRDTWludXRlcygpLHQuZ2V0VVRDU2Vjb25kcygpLHQuZ2V0VVRDTWlsbGlzZWNvbmRzKCkpO3JldHVybiBoKGUpPyhucyhuWzBdLG5bMV0sZSksUWwoZSksZSk6bmV3IEd0KG5bMF0sblsxXSxPZS5VVEMpfTtHdC5mcm9tSXNvODYwMT1mdW5jdGlvbih0LGUpe2lmKHR5cGVvZiB0IT0ic3RyaW5nIil0aHJvdyBuZXcgQihEcik7dD10LnJlcGxhY2UoIiwiLCIuIik7bGV0IG49dC5zcGxpdCgiVCIpLG8scj0xLGk9MSxzPTAsZj0wLHU9MCxjPTAsbD1uWzBdLHA9blsxXSxkLG07aWYoIWgobCkpdGhyb3cgbmV3IEIoRHIpO2xldCBfO2lmKG49bC5tYXRjaCgkQyksbiE9PW51bGwpe2lmKF89bC5zcGxpdCgiLSIpLmxlbmd0aC0xLF8+MCYmXyE9PTIpdGhyb3cgbmV3IEIoRHIpO289K25bMV0scj0rblsyXSxpPStuWzNdfWVsc2UgaWYobj1sLm1hdGNoKFdDKSxuIT09bnVsbClvPStuWzFdLHI9K25bMl07ZWxzZSBpZihuPWwubWF0Y2goS0MpLG4hPT1udWxsKW89K25bMV07ZWxzZXtsZXQgTztpZihuPWwubWF0Y2goWEMpLG4hPT1udWxsKXtpZihvPStuWzFdLE89K25bMl0sbT1hZihvKSxPPDF8fG0mJk8+MzY2fHwhbSYmTz4zNjUpdGhyb3cgbmV3IEIoRHIpfWVsc2UgaWYobj1sLm1hdGNoKFlDKSxuIT09bnVsbCl7bz0rblsxXTtsZXQgRT0rblsyXSx3PStuWzNdfHwwO2lmKF89bC5zcGxpdCgiLSIpLmxlbmd0aC0xLF8+MCYmKCFoKG5bM10pJiZfIT09MXx8aChuWzNdKSYmXyE9PTIpKXRocm93IG5ldyBCKERyKTtsZXQgQz1uZXcgRGF0ZShEYXRlLlVUQyhvLDAsNCkpO089RSo3K3ctQy5nZXRVVENEYXkoKS0zfWVsc2UgdGhyb3cgbmV3IEIoRHIpO2Q9bmV3IERhdGUoRGF0ZS5VVEMobywwLDEpKSxkLnNldFVUQ0RhdGUoTykscj1kLmdldFVUQ01vbnRoKCkrMSxpPWQuZ2V0VVRDRGF0ZSgpfWlmKG09YWYobykscjwxfHxyPjEyfHxpPDF8fChyIT09Mnx8IW0pJiZpPllsW3ItMV18fG0mJnI9PT0yJiZpPiRsKXRocm93IG5ldyBCKERyKTtsZXQgZztpZihoKHApKXtpZihuPXAubWF0Y2goSkMpLG4hPT1udWxsKXtpZihfPXAuc3BsaXQoIjoiKS5sZW5ndGgtMSxfPjAmJl8hPT0yJiZfIT09Myl0aHJvdyBuZXcgQihEcik7cz0rblsxXSxmPStuWzJdLHU9K25bM10sYz0rKG5bNF18fDApKjFlMyxnPTV9ZWxzZSBpZihuPXAubWF0Y2goUUMpLG4hPT1udWxsKXtpZihfPXAuc3BsaXQoIjoiKS5sZW5ndGgtMSxfPjIpdGhyb3cgbmV3IEIoRHIpO3M9K25bMV0sZj0rblsyXSx1PSsoblszXXx8MCkqNjAsZz00fWVsc2UgaWYobj1wLm1hdGNoKFpDKSxuIT09bnVsbClzPStuWzFdLGY9KyhuWzJdfHwwKSo2MCxnPTM7ZWxzZSB0aHJvdyBuZXcgQihEcik7aWYoZj49NjB8fHU+PTYxfHxzPjI0fHxzPT09MjQmJihmPjB8fHU+MHx8Yz4wKSl0aHJvdyBuZXcgQihEcik7bGV0IE89bltnXSxFPStuW2crMV0sdz0rKG5bZysyXXx8MCk7c3dpdGNoKE8pe2Nhc2UiKyI6cz1zLUUsZj1mLXc7YnJlYWs7Y2FzZSItIjpzPXMrRSxmPWYrdzticmVhaztjYXNlIloiOmJyZWFrO2RlZmF1bHQ6Zj1mK25ldyBEYXRlKERhdGUuVVRDKG8sci0xLGkscyxmKSkuZ2V0VGltZXpvbmVPZmZzZXQoKTticmVha319bGV0IGI9dT09PTYwO2ZvcihiJiZ1LS07Zj49NjA7KWYtPTYwLHMrKztmb3IoO3M+PTI0OylzLT0yNCxpKys7Zm9yKGQ9bSYmcj09PTI/JGw6WWxbci0xXTtpPmQ7KWktPWQscisrLHI+MTImJihyLT0xMixvKyspLGQ9bSYmcj09PTI/JGw6WWxbci0xXTtmb3IoO2Y8MDspZis9NjAscy0tO2Zvcig7czwwOylzKz0yNCxpLS07Zm9yKDtpPDE7KXItLSxyPDEmJihyKz0xMixvLS0pLGQ9bSYmcj09PTI/JGw6WWxbci0xXSxpKz1kO2xldCBUPURtKG8scixpLHMsZix1LGMpO3JldHVybiBoKGUpPyhucyhUWzBdLFRbMV0sZSksUWwoZSkpOmU9bmV3IEd0KFRbMF0sVFsxXSxPZS5VVEMpLGImJkd0LmFkZFNlY29uZHMoZSwxLGUpLGV9O0d0Lm5vdz1mdW5jdGlvbih0KXtyZXR1cm4gR3QuZnJvbURhdGUobmV3IERhdGUsdCl9O1psPW5ldyBHdCgwLDAsT2UuVEFJKTtHdC50b0dyZWdvcmlhbkRhdGU9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtsZXQgbj0hMSxvPU0xKHQsWmwpO2gobyl8fChHdC5hZGRTZWNvbmRzKHQsLTEsWmwpLG89TTEoWmwsWmwpLG49ITApO2xldCByPW8uZGF5TnVtYmVyLGk9by5zZWNvbmRzT2ZEYXk7aT49NDMyMDAmJihyKz0xKTtsZXQgcz1yKzY4NTY5fDAsZj00KnMvMTQ2MDk3fDA7cz1zLSgoMTQ2MDk3KmYrMykvNHwwKXwwO2xldCB1PTRlMyoocysxKS8xNDYxMDAxfDA7cz1zLSgxNDYxKnUvNHwwKSszMXwwO2xldCBjPTgwKnMvMjQ0N3wwLGw9cy0oMjQ0NypjLzgwfDApfDA7cz1jLzExfDA7bGV0IHA9YysyLTEyKnN8MCxkPTEwMCooZi00OSkrdStzfDAsbT1pL3luLlNFQ09ORFNfUEVSX0hPVVJ8MCxfPWktbSp5bi5TRUNPTkRTX1BFUl9IT1VSLGc9Xy95bi5TRUNPTkRTX1BFUl9NSU5VVEV8MDtfPV8tZyp5bi5TRUNPTkRTX1BFUl9NSU5VVEU7bGV0IGI9X3wwLFQ9KF8tYikveW4uU0VDT05EU19QRVJfTUlMTElTRUNPTkQ7cmV0dXJuIG0rPTEyLG0+MjMmJihtLT0yNCksbiYmKGIrPTEpLGgoZSk/KGUueWVhcj1kLGUubW9udGg9cCxlLmRheT1sLGUuaG91cj1tLGUubWludXRlPWcsZS5zZWNvbmQ9YixlLm1pbGxpc2Vjb25kPVQsZS5pc0xlYXBTZWNvbmQ9bixlKTpuZXcgS2woZCxwLGwsbSxnLGIsVCxuKX07R3QudG9EYXRlPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2xldCBlPUd0LnRvR3JlZ29yaWFuRGF0ZSh0LE4xKSxuPWUuc2Vjb25kO3JldHVybiBlLmlzTGVhcFNlY29uZCYmKG4tPTEpLG5ldyBEYXRlKERhdGUuVVRDKGUueWVhcixlLm1vbnRoLTEsZS5kYXksZS5ob3VyLGUubWludXRlLG4sZS5taWxsaXNlY29uZCkpfTtHdC50b0lzbzg2MDE9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtsZXQgbj1HdC50b0dyZWdvcmlhbkRhdGUodCxOMSksbz1uLnllYXIscj1uLm1vbnRoLGk9bi5kYXkscz1uLmhvdXIsZj1uLm1pbnV0ZSx1PW4uc2Vjb25kLGM9bi5taWxsaXNlY29uZDtvPT09MWU0JiZyPT09MSYmaT09PTEmJnM9PT0wJiZmPT09MCYmdT09PTAmJmM9PT0wJiYobz05OTk5LHI9MTIsaT0zMSxzPTI0KTtsZXQgbDtyZXR1cm4haChlKSYmYyE9PTA/KGw9KGMqLjAxKS50b1N0cmluZygpLnJlcGxhY2UoIi4iLCIiKSxgJHtvLnRvU3RyaW5nKCkucGFkU3RhcnQoNCwiMCIpfS0ke3IudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9LSR7aS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX1UJHtzLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke2YudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7dS50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0uJHtsfVpgKTohaChlKXx8ZT09PTA/YCR7by50b1N0cmluZygpLnBhZFN0YXJ0KDQsIjAiKX0tJHtyLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS0ke2kudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9VCR7cy50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHtmLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfToke3UudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9WmA6KGw9KGMqLjAxKS50b0ZpeGVkKGUpLnJlcGxhY2UoIi4iLCIiKS5zbGljZSgwLGUpLGAke28udG9TdHJpbmcoKS5wYWRTdGFydCg0LCIwIil9LSR7ci50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX0tJHtpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfVQke3MudG9TdHJpbmcoKS5wYWRTdGFydCgyLCIwIil9OiR7Zi50b1N0cmluZygpLnBhZFN0YXJ0KDIsIjAiKX06JHt1LnRvU3RyaW5nKCkucGFkU3RhcnQoMiwiMCIpfS4ke2x9WmApfTtHdC5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUuZGF5TnVtYmVyPXQuZGF5TnVtYmVyLGUuc2Vjb25kc09mRGF5PXQuc2Vjb25kc09mRGF5LGUpOm5ldyBHdCh0LmRheU51bWJlcix0LnNlY29uZHNPZkRheSxPZS5UQUkpfTtHdC5jb21wYXJlPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImxlZnQgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoInJpZ2h0IGlzIHJlcXVpcmVkLiIpO2xldCBuPXQuZGF5TnVtYmVyLWUuZGF5TnVtYmVyO3JldHVybiBuIT09MD9uOnQuc2Vjb25kc09mRGF5LWUuc2Vjb25kc09mRGF5fTtHdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQuZGF5TnVtYmVyPT09ZS5kYXlOdW1iZXImJnQuc2Vjb25kc09mRGF5PT09ZS5zZWNvbmRzT2ZEYXl9O0d0LmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuPXgobiwwKSx0PT09ZXx8aCh0KSYmaChlKSYmTWF0aC5hYnMoR3Quc2Vjb25kc0RpZmZlcmVuY2UodCxlKSk8PW59O0d0LnRvdGFsRGF5cz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtyZXR1cm4gdC5kYXlOdW1iZXIrdC5zZWNvbmRzT2ZEYXkveW4uU0VDT05EU19QRVJfREFZfTtHdC5zZWNvbmRzRGlmZmVyZW5jZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJsZWZ0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJyaWdodCBpcyByZXF1aXJlZC4iKTtyZXR1cm4odC5kYXlOdW1iZXItZS5kYXlOdW1iZXIpKnluLlNFQ09ORFNfUEVSX0RBWSsodC5zZWNvbmRzT2ZEYXktZS5zZWNvbmRzT2ZEYXkpfTtHdC5kYXlzRGlmZmVyZW5jZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJsZWZ0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJyaWdodCBpcyByZXF1aXJlZC4iKTtsZXQgbj10LmRheU51bWJlci1lLmRheU51bWJlcixvPSh0LnNlY29uZHNPZkRheS1lLnNlY29uZHNPZkRheSkveW4uU0VDT05EU19QRVJfREFZO3JldHVybiBuK299O0d0LmNvbXB1dGVUYWlNaW51c1V0Yz1mdW5jdGlvbih0KXtLYy5qdWxpYW5EYXRlPXQ7bGV0IGU9R3QubGVhcFNlY29uZHMsbj1HcyhlLEtjLExtKTtyZXR1cm4gbjwwJiYobj1+biwtLW4sbjwwJiYobj0wKSksZVtuXS5vZmZzZXR9O0d0LmFkZFNlY29uZHM9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJzZWNvbmRzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJyZXN1bHQgaXMgcmVxdWlyZWQuIik7cmV0dXJuIG5zKHQuZGF5TnVtYmVyLHQuc2Vjb25kc09mRGF5K2Usbil9O0d0LmFkZE1pbnV0ZXM9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJtaW51dGVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJyZXN1bHQgaXMgcmVxdWlyZWQuIik7bGV0IG89dC5zZWNvbmRzT2ZEYXkrZSp5bi5TRUNPTkRTX1BFUl9NSU5VVEU7cmV0dXJuIG5zKHQuZGF5TnVtYmVyLG8sbil9O0d0LmFkZEhvdXJzPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigianVsaWFuRGF0ZSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigiaG91cnMgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEIoInJlc3VsdCBpcyByZXF1aXJlZC4iKTtsZXQgbz10LnNlY29uZHNPZkRheStlKnluLlNFQ09ORFNfUEVSX0hPVVI7cmV0dXJuIG5zKHQuZGF5TnVtYmVyLG8sbil9O0d0LmFkZERheXM9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJqdWxpYW5EYXRlIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJkYXlzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJyZXN1bHQgaXMgcmVxdWlyZWQuIik7bGV0IG89dC5kYXlOdW1iZXIrZTtyZXR1cm4gbnMobyx0LnNlY29uZHNPZkRheSxuKX07R3QubGVzc1RoYW49ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3QuY29tcGFyZSh0LGUpPDB9O0d0Lmxlc3NUaGFuT3JFcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gR3QuY29tcGFyZSh0LGUpPD0wfTtHdC5ncmVhdGVyVGhhbj1mdW5jdGlvbih0LGUpe3JldHVybiBHdC5jb21wYXJlKHQsZSk+MH07R3QuZ3JlYXRlclRoYW5PckVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiBHdC5jb21wYXJlKHQsZSk+PTB9O0d0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gR3QuY2xvbmUodGhpcyx0KX07R3QucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gR3QuZXF1YWxzKHRoaXMsdCl9O0d0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEd0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUpfTtHdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gR3QudG9Jc284NjAxKHRoaXMpfTtHdC5sZWFwU2Vjb25kcz1bbmV3IFdlKG5ldyBHdCgyNDQxMzE3LDQzMjEwLE9lLlRBSSksMTApLG5ldyBXZShuZXcgR3QoMjQ0MTQ5OSw0MzIxMSxPZS5UQUkpLDExKSxuZXcgV2UobmV3IEd0KDI0NDE2ODMsNDMyMTIsT2UuVEFJKSwxMiksbmV3IFdlKG5ldyBHdCgyNDQyMDQ4LDQzMjEzLE9lLlRBSSksMTMpLG5ldyBXZShuZXcgR3QoMjQ0MjQxMyw0MzIxNCxPZS5UQUkpLDE0KSxuZXcgV2UobmV3IEd0KDI0NDI3NzgsNDMyMTUsT2UuVEFJKSwxNSksbmV3IFdlKG5ldyBHdCgyNDQzMTQ0LDQzMjE2LE9lLlRBSSksMTYpLG5ldyBXZShuZXcgR3QoMjQ0MzUwOSw0MzIxNyxPZS5UQUkpLDE3KSxuZXcgV2UobmV3IEd0KDI0NDM4NzQsNDMyMTgsT2UuVEFJKSwxOCksbmV3IFdlKG5ldyBHdCgyNDQ0MjM5LDQzMjE5LE9lLlRBSSksMTkpLG5ldyBXZShuZXcgR3QoMjQ0NDc4Niw0MzIyMCxPZS5UQUkpLDIwKSxuZXcgV2UobmV3IEd0KDI0NDUxNTEsNDMyMjEsT2UuVEFJKSwyMSksbmV3IFdlKG5ldyBHdCgyNDQ1NTE2LDQzMjIyLE9lLlRBSSksMjIpLG5ldyBXZShuZXcgR3QoMjQ0NjI0Nyw0MzIyMyxPZS5UQUkpLDIzKSxuZXcgV2UobmV3IEd0KDI0NDcxNjEsNDMyMjQsT2UuVEFJKSwyNCksbmV3IFdlKG5ldyBHdCgyNDQ3ODkyLDQzMjI1LE9lLlRBSSksMjUpLG5ldyBXZShuZXcgR3QoMjQ0ODI1Nyw0MzIyNixPZS5UQUkpLDI2KSxuZXcgV2UobmV3IEd0KDI0NDg4MDQsNDMyMjcsT2UuVEFJKSwyNyksbmV3IFdlKG5ldyBHdCgyNDQ5MTY5LDQzMjI4LE9lLlRBSSksMjgpLG5ldyBXZShuZXcgR3QoMjQ0OTUzNCw0MzIyOSxPZS5UQUkpLDI5KSxuZXcgV2UobmV3IEd0KDI0NTAwODMsNDMyMzAsT2UuVEFJKSwzMCksbmV3IFdlKG5ldyBHdCgyNDUwNjMwLDQzMjMxLE9lLlRBSSksMzEpLG5ldyBXZShuZXcgR3QoMjQ1MTE3OSw0MzIzMixPZS5UQUkpLDMyKSxuZXcgV2UobmV3IEd0KDI0NTM3MzYsNDMyMzMsT2UuVEFJKSwzMyksbmV3IFdlKG5ldyBHdCgyNDU0ODMyLDQzMjM0LE9lLlRBSSksMzQpLG5ldyBXZShuZXcgR3QoMjQ1NjEwOSw0MzIzNSxPZS5UQUkpLDM1KSxuZXcgV2UobmV3IEd0KDI0NTcyMDQsNDMyMzYsT2UuVEFJKSwzNiksbmV3IFdlKG5ldyBHdCgyNDU3NzU0LDQzMjM3LE9lLlRBSSksMzcpXTtrbj1HdH0pO3ZhciBJMT1YbigoV2MsWGMpPT57LyohIGh0dHBzOi8vbXRocy5iZS9wdW55Y29kZSB2MS40LjAgYnkgQG1hdGhpYXMgKi8oZnVuY3Rpb24odCl7dmFyIGU9dHlwZW9mIFdjPT0ib2JqZWN0IiYmV2MmJiFXYy5ub2RlVHlwZSYmV2Msbj10eXBlb2YgWGM9PSJvYmplY3QiJiZYYyYmIVhjLm5vZGVUeXBlJiZYYyxvPXR5cGVvZiBnbG9iYWw9PSJvYmplY3QiJiZnbG9iYWw7KG8uZ2xvYmFsPT09b3x8by53aW5kb3c9PT1vfHxvLnNlbGY9PT1vKSYmKHQ9byk7dmFyIHIsaT0yMTQ3NDgzNjQ3LHM9MzYsZj0xLHU9MjYsYz0zOCxsPTcwMCxwPTcyLGQ9MTI4LG09Ii0iLF89L154bi0tLyxnPS9bXlx4MjAtXHg3RV0vLGI9L1tceDJFXHUzMDAyXHVGRjBFXHVGRjYxXS9nLFQ9e292ZXJmbG93OiJPdmVyZmxvdzogaW5wdXQgbmVlZHMgd2lkZXIgaW50ZWdlcnMgdG8gcHJvY2VzcyIsIm5vdC1iYXNpYyI6IklsbGVnYWwgaW5wdXQgPj0gMHg4MCAobm90IGEgYmFzaWMgY29kZSBwb2ludCkiLCJpbnZhbGlkLWlucHV0IjoiSW52YWxpZCBpbnB1dCJ9LE89cy1mLEU9TWF0aC5mbG9vcix3PVN0cmluZy5mcm9tQ2hhckNvZGUsQztmdW5jdGlvbiBOKGspe3Rocm93IG5ldyBSYW5nZUVycm9yKFRba10pfWZ1bmN0aW9uIEkoayxLKXtmb3IodmFyIFg9ay5sZW5ndGgsUj1bXTtYLS07KVJbWF09SyhrW1hdKTtyZXR1cm4gUn1mdW5jdGlvbiBEKGssSyl7dmFyIFg9ay5zcGxpdCgiQCIpLFI9IiI7WC5sZW5ndGg+MSYmKFI9WFswXSsiQCIsaz1YWzFdKSxrPWsucmVwbGFjZShiLCIuIik7dmFyIG90PWsuc3BsaXQoIi4iKSxhdD1JKG90LEspLmpvaW4oIi4iKTtyZXR1cm4gUithdH1mdW5jdGlvbiB2KGspe2Zvcih2YXIgSz1bXSxYPTAsUj1rLmxlbmd0aCxvdCxhdDtYPFI7KW90PWsuY2hhckNvZGVBdChYKyspLG90Pj01NTI5NiYmb3Q8PTU2MzE5JiZYPFI/KGF0PWsuY2hhckNvZGVBdChYKyspLChhdCY2NDUxMik9PTU2MzIwP0sucHVzaCgoKG90JjEwMjMpPDwxMCkrKGF0JjEwMjMpKzY1NTM2KTooSy5wdXNoKG90KSxYLS0pKTpLLnB1c2gob3QpO3JldHVybiBLfWZ1bmN0aW9uIEwoayl7cmV0dXJuIEkoayxmdW5jdGlvbihLKXt2YXIgWD0iIjtyZXR1cm4gSz42NTUzNSYmKEstPTY1NTM2LFgrPXcoSz4+PjEwJjEwMjN8NTUyOTYpLEs9NTYzMjB8SyYxMDIzKSxYKz13KEspLFh9KS5qb2luKCIiKX1mdW5jdGlvbiBVKGspe3JldHVybiBrLTQ4PDEwP2stMjI6ay02NTwyNj9rLTY1OmstOTc8MjY/ay05NzpzfWZ1bmN0aW9uIEEoayxLKXtyZXR1cm4gaysyMis3NSooazwyNiktKChLIT0wKTw8NSl9ZnVuY3Rpb24gUyhrLEssWCl7dmFyIFI9MDtmb3Ioaz1YP0Uoay9sKTprPj4xLGsrPUUoay9LKTtrPk8qdT4+MTtSKz1zKWs9RShrL08pO3JldHVybiBFKFIrKE8rMSkqay8oaytjKSl9ZnVuY3Rpb24gUChrKXt2YXIgSz1bXSxYPWsubGVuZ3RoLFIsb3Q9MCxhdD1kLHB0PXAseXQscnQsUHQsZ3QsQ3QsbXQsdXQsdnQsenQ7Zm9yKHl0PWsubGFzdEluZGV4T2YobSkseXQ8MCYmKHl0PTApLHJ0PTA7cnQ8eXQ7KytydClrLmNoYXJDb2RlQXQocnQpPj0xMjgmJk4oIm5vdC1iYXNpYyIpLEsucHVzaChrLmNoYXJDb2RlQXQocnQpKTtmb3IoUHQ9eXQ+MD95dCsxOjA7UHQ8WDspe2ZvcihndD1vdCxDdD0xLG10PXM7UHQ+PVgmJk4oImludmFsaWQtaW5wdXQiKSx1dD1VKGsuY2hhckNvZGVBdChQdCsrKSksKHV0Pj1zfHx1dD5FKChpLW90KS9DdCkpJiZOKCJvdmVyZmxvdyIpLG90Kz11dCpDdCx2dD1tdDw9cHQ/ZjptdD49cHQrdT91Om10LXB0LCEodXQ8dnQpO210Kz1zKXp0PXMtdnQsQ3Q+RShpL3p0KSYmTigib3ZlcmZsb3ciKSxDdCo9enQ7Uj1LLmxlbmd0aCsxLHB0PVMob3QtZ3QsUixndD09MCksRShvdC9SKT5pLWF0JiZOKCJvdmVyZmxvdyIpLGF0Kz1FKG90L1IpLG90JT1SLEsuc3BsaWNlKG90KyssMCxhdCl9cmV0dXJuIEwoSyl9ZnVuY3Rpb24gRihrKXt2YXIgSyxYLFIsb3QsYXQscHQseXQscnQsUHQsZ3QsQ3QsbXQ9W10sdXQsdnQsenQsbWU7Zm9yKGs9dihrKSx1dD1rLmxlbmd0aCxLPWQsWD0wLGF0PXAscHQ9MDtwdDx1dDsrK3B0KUN0PWtbcHRdLEN0PDEyOCYmbXQucHVzaCh3KEN0KSk7Zm9yKFI9b3Q9bXQubGVuZ3RoLG90JiZtdC5wdXNoKG0pO1I8dXQ7KXtmb3IoeXQ9aSxwdD0wO3B0PHV0OysrcHQpQ3Q9a1twdF0sQ3Q+PUsmJkN0PHl0JiYoeXQ9Q3QpO2Zvcih2dD1SKzEseXQtSz5FKChpLVgpL3Z0KSYmTigib3ZlcmZsb3ciKSxYKz0oeXQtSykqdnQsSz15dCxwdD0wO3B0PHV0OysrcHQpaWYoQ3Q9a1twdF0sQ3Q8SyYmKytYPmkmJk4oIm92ZXJmbG93IiksQ3Q9PUspe2ZvcihydD1YLFB0PXM7Z3Q9UHQ8PWF0P2Y6UHQ+PWF0K3U/dTpQdC1hdCwhKHJ0PGd0KTtQdCs9cyltZT1ydC1ndCx6dD1zLWd0LG10LnB1c2godyhBKGd0K21lJXp0LDApKSkscnQ9RShtZS96dCk7bXQucHVzaCh3KEEocnQsMCkpKSxhdD1TKFgsdnQsUj09b3QpLFg9MCwrK1J9KytYLCsrS31yZXR1cm4gbXQuam9pbigiIil9ZnVuY3Rpb24gaihrKXtyZXR1cm4gRChrLGZ1bmN0aW9uKEspe3JldHVybiBfLnRlc3QoSyk/UChLLnNsaWNlKDQpLnRvTG93ZXJDYXNlKCkpOkt9KX1mdW5jdGlvbiBIKGspe3JldHVybiBEKGssZnVuY3Rpb24oSyl7cmV0dXJuIGcudGVzdChLKT8ieG4tLSIrRihLKTpLfSl9aWYocj17dmVyc2lvbjoiMS4zLjIiLHVjczI6e2RlY29kZTp2LGVuY29kZTpMfSxkZWNvZGU6UCxlbmNvZGU6Rix0b0FTQ0lJOkgsdG9Vbmljb2RlOmp9LHR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJnR5cGVvZiBkZWZpbmUuYW1kPT0ib2JqZWN0IiYmZGVmaW5lLmFtZClkZWZpbmUoInB1bnljb2RlIixmdW5jdGlvbigpe3JldHVybiByfSk7ZWxzZSBpZihlJiZuKWlmKFhjLmV4cG9ydHM9PWUpbi5leHBvcnRzPXI7ZWxzZSBmb3IoQyBpbiByKXIuaGFzT3duUHJvcGVydHkoQykmJihlW0NdPXJbQ10pO2Vsc2UgdC5wdW55Y29kZT1yfSkoV2MpfSk7dmFyIEwxPVhuKCh2MSx0cCk9PnsvKiEKICogVVJJLmpzIC0gTXV0YXRpbmcgVVJMcwogKiBJUHY2IFN1cHBvcnQKICoKICogVmVyc2lvbjogMS4xOS4xMQogKgogKiBBdXRob3I6IFJvZG5leSBSZWhtCiAqIFdlYjogaHR0cDovL21lZGlhbGl6ZS5naXRodWIuaW8vVVJJLmpzLwogKgogKiBMaWNlbnNlZCB1bmRlcgogKiAgIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UKICoKICovKGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3R5cGVvZiB0cD09Im9iamVjdCImJnRwLmV4cG9ydHM/dHAuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6dC5JUHY2PWUodCl9KSh2MSxmdW5jdGlvbih0KXsidXNlIHN0cmljdCI7dmFyIGU9dCYmdC5JUHY2O2Z1bmN0aW9uIG4ocil7dmFyIGk9ci50b0xvd2VyQ2FzZSgpLHM9aS5zcGxpdCgiOiIpLGY9cy5sZW5ndGgsdT04O3NbMF09PT0iIiYmc1sxXT09PSIiJiZzWzJdPT09IiI/KHMuc2hpZnQoKSxzLnNoaWZ0KCkpOnNbMF09PT0iIiYmc1sxXT09PSIiP3Muc2hpZnQoKTpzW2YtMV09PT0iIiYmc1tmLTJdPT09IiImJnMucG9wKCksZj1zLmxlbmd0aCxzW2YtMV0uaW5kZXhPZigiLiIpIT09LTEmJih1PTcpO3ZhciBjO2ZvcihjPTA7YzxmJiZzW2NdIT09IiI7YysrKTtpZihjPHUpZm9yKHMuc3BsaWNlKGMsMSwiMDAwMCIpO3MubGVuZ3RoPHU7KXMuc3BsaWNlKGMsMCwiMDAwMCIpO2Zvcih2YXIgbCxwPTA7cDx1O3ArKyl7bD1zW3BdLnNwbGl0KCIiKTtmb3IodmFyIGQ9MDtkPDMmJihsWzBdPT09IjAiJiZsLmxlbmd0aD4xKTtkKyspbC5zcGxpY2UoMCwxKTtzW3BdPWwuam9pbigiIil9dmFyIG09LTEsXz0wLGc9MCxiPS0xLFQ9ITE7Zm9yKHA9MDtwPHU7cCsrKVQ/c1twXT09PSIwIj9nKz0xOihUPSExLGc+XyYmKG09YixfPWcpKTpzW3BdPT09IjAiJiYoVD0hMCxiPXAsZz0xKTtnPl8mJihtPWIsXz1nKSxfPjEmJnMuc3BsaWNlKG0sXywiIiksZj1zLmxlbmd0aDt2YXIgTz0iIjtmb3Ioc1swXT09PSIiJiYoTz0iOiIpLHA9MDtwPGYmJihPKz1zW3BdLHAhPT1mLTEpO3ArKylPKz0iOiI7cmV0dXJuIHNbZi0xXT09PSIiJiYoTys9IjoiKSxPfWZ1bmN0aW9uIG8oKXtyZXR1cm4gdC5JUHY2PT09dGhpcyYmKHQuSVB2Nj1lKSx0aGlzfXJldHVybntiZXN0Om4sbm9Db25mbGljdDpvfX0pfSk7dmFyIEYxPVhuKChEMSxlcCk9PnsvKiEKICogVVJJLmpzIC0gTXV0YXRpbmcgVVJMcwogKiBTZWNvbmQgTGV2ZWwgRG9tYWluIChTTEQpIFN1cHBvcnQKICoKICogVmVyc2lvbjogMS4xOS4xMQogKgogKiBBdXRob3I6IFJvZG5leSBSZWhtCiAqIFdlYjogaHR0cDovL21lZGlhbGl6ZS5naXRodWIuaW8vVVJJLmpzLwogKgogKiBMaWNlbnNlZCB1bmRlcgogKiAgIE1JVCBMaWNlbnNlIGh0dHA6Ly93d3cub3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvbWl0LWxpY2Vuc2UKICoKICovKGZ1bmN0aW9uKHQsZSl7InVzZSBzdHJpY3QiO3R5cGVvZiBlcD09Im9iamVjdCImJmVwLmV4cG9ydHM/ZXAuZXhwb3J0cz1lKCk6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoZSk6dC5TZWNvbmRMZXZlbERvbWFpbnM9ZSh0KX0pKEQxLGZ1bmN0aW9uKHQpeyJ1c2Ugc3RyaWN0Ijt2YXIgZT10JiZ0LlNlY29uZExldmVsRG9tYWlucyxuPXtsaXN0OnthYzoiIGNvbSBnb3YgbWlsIG5ldCBvcmcgIixhZToiIGFjIGNvIGdvdiBtaWwgbmFtZSBuZXQgb3JnIHBybyBzY2ggIixhZjoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixhbDoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsYW86IiBjbyBlZCBndiBpdCBvZyBwYiAiLGFyOiIgY29tIGVkdSBnb2IgZ292IGludCBtaWwgbmV0IG9yZyB0dXIgIixhdDoiIGFjIGNvIGd2IG9yICIsYXU6IiBhc24gY29tIGNzaXJvIGVkdSBnb3YgaWQgbmV0IG9yZyAiLGJhOiIgY28gY29tIGVkdSBnb3YgbWlsIG5ldCBvcmcgcnMgdW5iaSB1bm1vIHVuc2EgdW50eiB1bnplICIsYmI6IiBiaXogY28gY29tIGVkdSBnb3YgaW5mbyBuZXQgb3JnIHN0b3JlIHR2ICIsYmg6IiBiaXogY2MgY29tIGVkdSBnb3YgaW5mbyBuZXQgb3JnICIsYm46IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsYm86IiBjb20gZWR1IGdvYiBnb3YgaW50IG1pbCBuZXQgb3JnIHR2ICIsYnI6IiBhZG0gYWR2IGFnciBhbSBhcnEgYXJ0IGF0byBiIGJpbyBibG9nIGJtZCBjaW0gY25nIGNudCBjb20gY29vcCBlY24gZWR1IGVuZyBlc3AgZXRjIGV0aSBmYXIgZmxvZyBmbSBmbmQgZm90IGZzdCBnMTIgZ2dmIGdvdiBpbWIgaW5kIGluZiBqb3IganVzIGxlbCBtYXQgbWVkIG1pbCBtdXMgbmV0IG5vbSBub3QgbnRyIG9kbyBvcmcgcHBnIHBybyBwc2MgcHNpIHFzbCByZWMgc2xnIHNydiB0bXAgdHJkIHR1ciB0diB2ZXQgdmxvZyB3aWtpIHpsZyAiLGJzOiIgY29tIGVkdSBnb3YgbmV0IG9yZyAiLGJ6OiIgZHUgZXQgb20gb3YgcmcgIixjYToiIGFiIGJjIG1iIG5iIG5mIG5sIG5zIG50IG51IG9uIHBlIHFjIHNrIHlrICIsY2s6IiBiaXogY28gZWR1IGdlbiBnb3YgaW5mbyBuZXQgb3JnICIsY246IiBhYyBhaCBiaiBjb20gY3EgZWR1IGZqIGdkIGdvdiBncyBneCBneiBoYSBoYiBoZSBoaSBobCBobiBqbCBqcyBqeCBsbiBtaWwgbmV0IG5tIG54IG9yZyBxaCBzYyBzZCBzaCBzbiBzeCB0aiB0dyB4aiB4eiB5biB6aiAiLGNvOiIgY29tIGVkdSBnb3YgbWlsIG5ldCBub20gb3JnICIsY3I6IiBhYyBjIGNvIGVkIGZpIGdvIG9yIHNhICIsY3k6IiBhYyBiaXogY29tIGVrbG9nZXMgZ292IGx0ZCBuYW1lIG5ldCBvcmcgcGFybGlhbWVudCBwcmVzcyBwcm8gdG0gIixkbzoiIGFydCBjb20gZWR1IGdvYiBnb3YgbWlsIG5ldCBvcmcgc2xkIHdlYiAiLGR6OiIgYXJ0IGFzc28gY29tIGVkdSBnb3YgbmV0IG9yZyBwb2wgIixlYzoiIGNvbSBlZHUgZmluIGdvdiBpbmZvIG1lZCBtaWwgbmV0IG9yZyBwcm8gIixlZzoiIGNvbSBlZHUgZXVuIGdvdiBtaWwgbmFtZSBuZXQgb3JnIHNjaSAiLGVyOiIgY29tIGVkdSBnb3YgaW5kIG1pbCBuZXQgb3JnIHJvY2hlc3QgdyAiLGVzOiIgY29tIGVkdSBnb2Igbm9tIG9yZyAiLGV0OiIgYml6IGNvbSBlZHUgZ292IGluZm8gbmFtZSBuZXQgb3JnICIsZmo6IiBhYyBiaXogY29tIGluZm8gbWlsIG5hbWUgbmV0IG9yZyBwcm8gIixmazoiIGFjIGNvIGdvdiBuZXQgbm9tIG9yZyAiLGZyOiIgYXNzbyBjb20gZiBnb3V2IG5vbSBwcmQgcHJlc3NlIHRtICIsZ2c6IiBjbyBuZXQgb3JnICIsZ2g6IiBjb20gZWR1IGdvdiBtaWwgb3JnICIsZ246IiBhYyBjb20gZ292IG5ldCBvcmcgIixncjoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsZ3Q6IiBjb20gZWR1IGdvYiBpbmQgbWlsIG5ldCBvcmcgIixndToiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixoazoiIGNvbSBlZHUgZ292IGlkdiBuZXQgb3JnICIsaHU6IiAyMDAwIGFncmFyIGJvbHQgY2FzaW5vIGNpdHkgY28gZXJvdGljYSBlcm90aWthIGZpbG0gZm9ydW0gZ2FtZXMgaG90ZWwgaW5mbyBpbmdhdGxhbiBqb2dhc3oga29ueXZlbG8gbGFrYXMgbWVkaWEgbmV3cyBvcmcgcHJpdiByZWtsYW0gc2V4IHNob3Agc3BvcnQgc3VsaSBzemV4IHRtIHRvenNkZSB1dGF6YXMgdmlkZW8gIixpZDoiIGFjIGNvIGdvIG1pbCBuZXQgb3Igc2NoIHdlYiAiLGlsOiIgYWMgY28gZ292IGlkZiBrMTIgbXVuaSBuZXQgb3JnICIsaW46IiBhYyBjbyBlZHUgZXJuZXQgZmlybSBnZW4gZ292IGkgaW5kIG1pbCBuZXQgbmljIG9yZyByZXMgIixpcToiIGNvbSBlZHUgZ292IGkgbWlsIG5ldCBvcmcgIixpcjoiIGFjIGNvIGRuc3NlYyBnb3YgaSBpZCBuZXQgb3JnIHNjaCAiLGl0OiIgZWR1IGdvdiAiLGplOiIgY28gbmV0IG9yZyAiLGpvOiIgY29tIGVkdSBnb3YgbWlsIG5hbWUgbmV0IG9yZyBzY2ggIixqcDoiIGFjIGFkIGNvIGVkIGdvIGdyIGxnIG5lIG9yICIsa2U6IiBhYyBjbyBnbyBpbmZvIG1lIG1vYmkgbmUgb3Igc2MgIixraDoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnIHBlciAiLGtpOiIgYml6IGNvbSBkZSBlZHUgZ292IGluZm8gbW9iIG5ldCBvcmcgdGVsICIsa206IiBhc3NvIGNvbSBjb29wIGVkdSBnb3V2IGsgbWVkZWNpbiBtaWwgbm9tIG5vdGFpcmVzIHBoYXJtYWNpZW5zIHByZXNzZSB0bSB2ZXRlcmluYWlyZSAiLGtuOiIgZWR1IGdvdiBuZXQgb3JnICIsa3I6IiBhYyBidXNhbiBjaHVuZ2J1ayBjaHVuZ25hbSBjbyBkYWVndSBkYWVqZW9uIGVzIGdhbmd3b24gZ28gZ3dhbmdqdSBneWVvbmdidWsgZ3llb25nZ2kgZ3llb25nbmFtIGhzIGluY2hlb24gamVqdSBqZW9uYnVrIGplb25uYW0gayBrZyBtaWwgbXMgbmUgb3IgcGUgcmUgc2Mgc2VvdWwgdWxzYW4gIixrdzoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixreToiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixrejoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsbGI6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsbGs6IiBhc3NuIGNvbSBlZHUgZ292IGdycCBob3RlbCBpbnQgbHRkIG5ldCBuZ28gb3JnIHNjaCBzb2Mgd2ViICIsbHI6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsbHY6IiBhc24gY29tIGNvbmYgZWR1IGdvdiBpZCBtaWwgbmV0IG9yZyAiLGx5OiIgY29tIGVkdSBnb3YgaWQgbWVkIG5ldCBvcmcgcGxjIHNjaCAiLG1hOiIgYWMgY28gZ292IG0gbmV0IG9yZyBwcmVzcyAiLG1jOiIgYXNzbyB0bSAiLG1lOiIgYWMgY28gZWR1IGdvdiBpdHMgbmV0IG9yZyBwcml2ICIsbWc6IiBjb20gZWR1IGdvdiBtaWwgbm9tIG9yZyBwcmQgdG0gIixtazoiIGNvbSBlZHUgZ292IGluZiBuYW1lIG5ldCBvcmcgcHJvICIsbWw6IiBjb20gZWR1IGdvdiBuZXQgb3JnIHByZXNzZSAiLG1uOiIgZWR1IGdvdiBvcmcgIixtbzoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixtdDoiIGNvbSBlZHUgZ292IG5ldCBvcmcgIixtdjoiIGFlcm8gYml6IGNvbSBjb29wIGVkdSBnb3YgaW5mbyBpbnQgbWlsIG11c2V1bSBuYW1lIG5ldCBvcmcgcHJvICIsbXc6IiBhYyBjbyBjb20gY29vcCBlZHUgZ292IGludCBtdXNldW0gbmV0IG9yZyAiLG14OiIgY29tIGVkdSBnb2IgbmV0IG9yZyAiLG15OiIgY29tIGVkdSBnb3YgbWlsIG5hbWUgbmV0IG9yZyBzY2ggIixuZjoiIGFydHMgY29tIGZpcm0gaW5mbyBuZXQgb3RoZXIgcGVyIHJlYyBzdG9yZSB3ZWIgIixuZzoiIGJpeiBjb20gZWR1IGdvdiBtaWwgbW9iaSBuYW1lIG5ldCBvcmcgc2NoICIsbmk6IiBhYyBjbyBjb20gZWR1IGdvYiBtaWwgbmV0IG5vbSBvcmcgIixucDoiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIsbnI6IiBiaXogY29tIGVkdSBnb3YgaW5mbyBuZXQgb3JnICIsb206IiBhYyBiaXogY28gY29tIGVkdSBnb3YgbWVkIG1pbCBtdXNldW0gbmV0IG9yZyBwcm8gc2NoICIscGU6IiBjb20gZWR1IGdvYiBtaWwgbmV0IG5vbSBvcmcgc2xkICIscGg6IiBjb20gZWR1IGdvdiBpIG1pbCBuZXQgbmdvIG9yZyAiLHBrOiIgYml6IGNvbSBlZHUgZmFtIGdvYiBnb2sgZ29uIGdvcCBnb3MgZ292IG5ldCBvcmcgd2ViICIscGw6IiBhcnQgYmlhbHlzdG9rIGJpeiBjb20gZWR1IGdkYSBnZGFuc2sgZ29yem93IGdvdiBpbmZvIGthdG93aWNlIGtyYWtvdyBsb2R6IGx1YmxpbiBtaWwgbmV0IG5nbyBvbHN6dHluIG9yZyBwb3puYW4gcHdyIHJhZG9tIHNsdXBzayBzemN6ZWNpbiB0b3J1biB3YXJzemF3YSB3YXcgd3JvYyB3cm9jbGF3IHpnb3JhICIscHI6IiBhYyBiaXogY29tIGVkdSBlc3QgZ292IGluZm8gaXNsYSBuYW1lIG5ldCBvcmcgcHJvIHByb2YgIixwczoiIGNvbSBlZHUgZ292IG5ldCBvcmcgcGxvIHNlYyAiLHB3OiIgYmVsYXUgY28gZWQgZ28gbmUgb3IgIixybzoiIGFydHMgY29tIGZpcm0gaW5mbyBub20gbnQgb3JnIHJlYyBzdG9yZSB0bSB3d3cgIixyczoiIGFjIGNvIGVkdSBnb3YgaW4gb3JnICIsc2I6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsc2M6IiBjb20gZWR1IGdvdiBuZXQgb3JnICIsc2g6IiBjbyBjb20gZWR1IGdvdiBuZXQgbm9tIG9yZyAiLHNsOiIgY29tIGVkdSBnb3YgbmV0IG9yZyAiLHN0OiIgY28gY29tIGNvbnN1bGFkbyBlZHUgZW1iYWl4YWRhIGdvdiBtaWwgbmV0IG9yZyBwcmluY2lwZSBzYW90b21lIHN0b3JlICIsc3Y6IiBjb20gZWR1IGdvYiBvcmcgcmVkICIsc3o6IiBhYyBjbyBvcmcgIix0cjoiIGF2IGJicyBiZWwgYml6IGNvbSBkciBlZHUgZ2VuIGdvdiBpbmZvIGsxMiBuYW1lIG5ldCBvcmcgcG9sIHRlbCB0c2sgdHYgd2ViICIsdHQ6IiBhZXJvIGJpeiBjYXQgY28gY29tIGNvb3AgZWR1IGdvdiBpbmZvIGludCBqb2JzIG1pbCBtb2JpIG11c2V1bSBuYW1lIG5ldCBvcmcgcHJvIHRlbCB0cmF2ZWwgIix0dzoiIGNsdWIgY29tIGViaXogZWR1IGdhbWUgZ292IGlkdiBtaWwgbmV0IG9yZyAiLG11OiIgYWMgY28gY29tIGdvdiBuZXQgb3Igb3JnICIsbXo6IiBhYyBjbyBlZHUgZ292IG9yZyAiLG5hOiIgY28gY29tICIsbno6IiBhYyBjbyBjcmkgZ2VlayBnZW4gZ292dCBoZWFsdGggaXdpIG1hb3JpIG1pbCBuZXQgb3JnIHBhcmxpYW1lbnQgc2Nob29sICIscGE6IiBhYm8gYWMgY29tIGVkdSBnb2IgaW5nIG1lZCBuZXQgbm9tIG9yZyBzbGQgIixwdDoiIGNvbSBlZHUgZ292IGludCBuZXQgbm9tZSBvcmcgcHVibCAiLHB5OiIgY29tIGVkdSBnb3YgbWlsIG5ldCBvcmcgIixxYToiIGNvbSBlZHUgZ292IG1pbCBuZXQgb3JnICIscmU6IiBhc3NvIGNvbSBub20gIixydToiIGFjIGFkeWdleWEgYWx0YWkgYW11ciBhcmtoYW5nZWxzayBhc3RyYWtoYW4gYmFzaGtpcmlhIGJlbGdvcm9kIGJpciBicnlhbnNrIGJ1cnlhdGlhIGNiZyBjaGVsIGNoZWx5YWJpbnNrIGNoaXRhIGNodWtvdGthIGNodXZhc2hpYSBjb20gZGFnZXN0YW4gZS1idXJnIGVkdSBnb3YgZ3Jvem55IGludCBpcmt1dHNrIGl2YW5vdm8gaXpoZXZzayBqYXIgam9zaGthci1vbGEga2FsbXlraWEga2FsdWdhIGthbWNoYXRrYSBrYXJlbGlhIGthemFuIGtjaHIga2VtZXJvdm8ga2hhYmFyb3ZzayBraGFrYXNzaWEga2h2IGtpcm92IGtvZW5pZyBrb21pIGtvc3Ryb21hIGtyYW5veWFyc2sga3ViYW4ga3VyZ2FuIGt1cnNrIGxpcGV0c2sgbWFnYWRhbiBtYXJpIG1hcmktZWwgbWFyaW5lIG1pbCBtb3Jkb3ZpYSBtb3NyZWcgbXNrIG11cm1hbnNrIG5hbGNoaWsgbmV0IG5ub3Ygbm92IG5vdm9zaWJpcnNrIG5zayBvbXNrIG9yZW5idXJnIG9yZyBvcnlvbCBwZW56YSBwZXJtIHBwIHBza292IHB0eiBybmQgcnlhemFuIHNha2hhbGluIHNhbWFyYSBzYXJhdG92IHNpbWJpcnNrIHNtb2xlbnNrIHNwYiBzdGF2cm9wb2wgc3R2IHN1cmd1dCB0YW1ib3YgdGF0YXJzdGFuIHRvbSB0b21zayB0c2FyaXRzeW4gdHNrIHR1bGEgdHV2YSB0dmVyIHR5dW1lbiB1ZG0gdWRtdXJ0aWEgdWxhbi11ZGUgdmxhZGlrYXZrYXogdmxhZGltaXIgdmxhZGl2b3N0b2sgdm9sZ29ncmFkIHZvbG9nZGEgdm9yb25lemggdnJuIHZ5YXRrYSB5YWt1dGlhIHlhbWFsIHlla2F0ZXJpbmJ1cmcgeXV6aG5vLXNha2hhbGluc2sgIixydzoiIGFjIGNvIGNvbSBlZHUgZ291diBnb3YgaW50IG1pbCBuZXQgIixzYToiIGNvbSBlZHUgZ292IG1lZCBuZXQgb3JnIHB1YiBzY2ggIixzZDoiIGNvbSBlZHUgZ292IGluZm8gbWVkIG5ldCBvcmcgdHYgIixzZToiIGEgYWMgYiBiZCBjIGQgZSBmIGcgaCBpIGsgbCBtIG4gbyBvcmcgcCBwYXJ0aSBwcCBwcmVzcyByIHMgdCB0bSB1IHcgeCB5IHogIixzZzoiIGNvbSBlZHUgZ292IGlkbiBuZXQgb3JnIHBlciAiLHNuOiIgYXJ0IGNvbSBlZHUgZ291diBvcmcgcGVyc28gdW5pdiAiLHN5OiIgY29tIGVkdSBnb3YgbWlsIG5ldCBuZXdzIG9yZyAiLHRoOiIgYWMgY28gZ28gaW4gbWkgbmV0IG9yICIsdGo6IiBhYyBiaXogY28gY29tIGVkdSBnbyBnb3YgaW5mbyBpbnQgbWlsIG5hbWUgbmV0IG5pYyBvcmcgdGVzdCB3ZWIgIix0bjoiIGFncmluZXQgY29tIGRlZmVuc2UgZWR1bmV0IGVucyBmaW4gZ292IGluZCBpbmZvIGludGwgbWluY29tIG5hdCBuZXQgb3JnIHBlcnNvIHJucnQgcm5zIHJudSB0b3VyaXNtICIsdHo6IiBhYyBjbyBnbyBuZSBvciAiLHVhOiIgYml6IGNoZXJrYXNzeSBjaGVybmlnb3YgY2hlcm5vdnRzeSBjayBjbiBjbyBjb20gY3JpbWVhIGN2IGRuIGRuZXByb3BldHJvdnNrIGRvbmV0c2sgZHAgZWR1IGdvdiBpZiBpbiBpdmFuby1mcmFua2l2c2sga2gga2hhcmtvdiBraGVyc29uIGtobWVsbml0c2tpeSBraWV2IGtpcm92b2dyYWQga20ga3Iga3Mga3YgbGcgbHVnYW5zayBsdXRzayBsdml2IG1lIG1rIG5ldCBuaWtvbGFldiBvZCBvZGVzc2Egb3JnIHBsIHBvbHRhdmEgcHAgcm92bm8gcnYgc2ViYXN0b3BvbCBzdW15IHRlIHRlcm5vcGlsIHV6aGdvcm9kIHZpbm5pY2Egdm4gemFwb3Jpemh6aGUgemhpdG9taXIgenAgenQgIix1ZzoiIGFjIGNvIGdvIG5lIG9yIG9yZyBzYyAiLHVrOiIgYWMgYmwgYnJpdGlzaC1saWJyYXJ5IGNvIGN5bSBnb3YgZ292dCBpY25ldCBqZXQgbGVhIGx0ZCBtZSBtaWwgbW9kIG5hdGlvbmFsLWxpYnJhcnktc2NvdGxhbmQgbmVsIG5ldCBuaHMgbmljIG5scyBvcmcgb3JnbiBwYXJsaWFtZW50IHBsYyBwb2xpY2Ugc2NoIHNjb3Qgc29jICIsdXM6IiBkbmkgZmVkIGlzYSBraWRzIG5zbiAiLHV5OiIgY29tIGVkdSBndWIgbWlsIG5ldCBvcmcgIix2ZToiIGNvIGNvbSBlZHUgZ29iIGluZm8gbWlsIG5ldCBvcmcgd2ViICIsdmk6IiBjbyBjb20gazEyIG5ldCBvcmcgIix2bjoiIGFjIGJpeiBjb20gZWR1IGdvdiBoZWFsdGggaW5mbyBpbnQgbmFtZSBuZXQgb3JnIHBybyAiLHllOiIgY28gY29tIGdvdiBsdGQgbWUgbmV0IG9yZyBwbGMgIix5dToiIGFjIGNvIGVkdSBnb3Ygb3JnICIsemE6IiBhYyBhZ3JpYyBhbHQgYm91cnNlIGNpdHkgY28gY3liZXJuZXQgZGIgZWR1IGdvdiBncm9uZGFyIGlhY2Nlc3MgaW10IGluY2EgbGFuZGVzaWduIGxhdyBtaWwgbmV0IG5nbyBuaXMgbm9tIG9saXZldHRpIG9yZyBwaXggc2Nob29sIHRtIHdlYiAiLHptOiIgYWMgY28gY29tIGVkdSBnb3YgbmV0IG9yZyBzY2ggIixjb206ImFyIGJyIGNuIGRlIGV1IGdiIGdyIGh1IGpwbiBrciBubyBxYyBydSBzYSBzZSB1ayB1cyB1eSB6YSAiLG5ldDoiZ2IganAgc2UgdWsgIixvcmc6ImFlIixkZToiY29tICJ9LGhhczpmdW5jdGlvbihvKXt2YXIgcj1vLmxhc3RJbmRleE9mKCIuIik7aWYocjw9MHx8cj49by5sZW5ndGgtMSlyZXR1cm4hMTt2YXIgaT1vLmxhc3RJbmRleE9mKCIuIixyLTEpO2lmKGk8PTB8fGk+PXItMSlyZXR1cm4hMTt2YXIgcz1uLmxpc3Rbby5zbGljZShyKzEpXTtyZXR1cm4gcz9zLmluZGV4T2YoIiAiK28uc2xpY2UoaSsxLHIpKyIgIik+PTA6ITF9LGlzOmZ1bmN0aW9uKG8pe3ZhciByPW8ubGFzdEluZGV4T2YoIi4iKTtpZihyPD0wfHxyPj1vLmxlbmd0aC0xKXJldHVybiExO3ZhciBpPW8ubGFzdEluZGV4T2YoIi4iLHItMSk7aWYoaT49MClyZXR1cm4hMTt2YXIgcz1uLmxpc3Rbby5zbGljZShyKzEpXTtyZXR1cm4gcz9zLmluZGV4T2YoIiAiK28uc2xpY2UoMCxyKSsiICIpPj0wOiExfSxnZXQ6ZnVuY3Rpb24obyl7dmFyIHI9by5sYXN0SW5kZXhPZigiLiIpO2lmKHI8PTB8fHI+PW8ubGVuZ3RoLTEpcmV0dXJuIG51bGw7dmFyIGk9by5sYXN0SW5kZXhPZigiLiIsci0xKTtpZihpPD0wfHxpPj1yLTEpcmV0dXJuIG51bGw7dmFyIHM9bi5saXN0W28uc2xpY2UocisxKV07cmV0dXJuIXN8fHMuaW5kZXhPZigiICIrby5zbGljZShpKzEscikrIiAiKTwwP251bGw6by5zbGljZShpKzEpfSxub0NvbmZsaWN0OmZ1bmN0aW9uKCl7cmV0dXJuIHQuU2Vjb25kTGV2ZWxEb21haW5zPT09dGhpcyYmKHQuU2Vjb25kTGV2ZWxEb21haW5zPWUpLHRoaXN9fTtyZXR1cm4gbn0pfSk7dmFyIHpzPVhuKChCMSxucCk9PnsvKiEKICogVVJJLmpzIC0gTXV0YXRpbmcgVVJMcwogKgogKiBWZXJzaW9uOiAxLjE5LjExCiAqCiAqIEF1dGhvcjogUm9kbmV5IFJlaG0KICogV2ViOiBodHRwOi8vbWVkaWFsaXplLmdpdGh1Yi5pby9VUkkuanMvCiAqCiAqIExpY2Vuc2VkIHVuZGVyCiAqICAgTUlUIExpY2Vuc2UgaHR0cDovL3d3dy5vcGVuc291cmNlLm9yZy9saWNlbnNlcy9taXQtbGljZW5zZQogKgogKi8oZnVuY3Rpb24odCxlKXsidXNlIHN0cmljdCI7dHlwZW9mIG5wPT0ib2JqZWN0IiYmbnAuZXhwb3J0cz9ucC5leHBvcnRzPWUoSTEoKSxMMSgpLEYxKCkpOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKFsiLi9wdW55Y29kZSIsIi4vSVB2NiIsIi4vU2Vjb25kTGV2ZWxEb21haW5zIl0sZSk6dC5VUkk9ZSh0LnB1bnljb2RlLHQuSVB2Nix0LlNlY29uZExldmVsRG9tYWlucyx0KX0pKEIxLGZ1bmN0aW9uKHQsZSxuLG8peyJ1c2Ugc3RyaWN0Ijt2YXIgcj1vJiZvLlVSSTtmdW5jdGlvbiBpKEEsUyl7dmFyIFA9YXJndW1lbnRzLmxlbmd0aD49MSxGPWFyZ3VtZW50cy5sZW5ndGg+PTI7aWYoISh0aGlzIGluc3RhbmNlb2YgaSkpcmV0dXJuIFA/Rj9uZXcgaShBLFMpOm5ldyBpKEEpOm5ldyBpO2lmKEE9PT12b2lkIDApe2lmKFApdGhyb3cgbmV3IFR5cGVFcnJvcigidW5kZWZpbmVkIGlzIG5vdCBhIHZhbGlkIGFyZ3VtZW50IGZvciBVUkkiKTt0eXBlb2YgbG9jYXRpb248InUiP0E9bG9jYXRpb24uaHJlZisiIjpBPSIifWlmKEE9PT1udWxsJiZQKXRocm93IG5ldyBUeXBlRXJyb3IoIm51bGwgaXMgbm90IGEgdmFsaWQgYXJndW1lbnQgZm9yIFVSSSIpO3JldHVybiB0aGlzLmhyZWYoQSksUyE9PXZvaWQgMD90aGlzLmFic29sdXRlVG8oUyk6dGhpc31mdW5jdGlvbiBzKEEpe3JldHVybi9eWzAtOV0rJC8udGVzdChBKX1pLnZlcnNpb249IjEuMTkuMTEiO3ZhciBmPWkucHJvdG90eXBlLHU9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBjKEEpe3JldHVybiBBLnJlcGxhY2UoLyhbLiorP149IToke30oKXxbXF1cL1xcXSkvZywiXFwkMSIpfWZ1bmN0aW9uIGwoQSl7cmV0dXJuIEE9PT12b2lkIDA/IlVuZGVmaW5lZCI6U3RyaW5nKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChBKSkuc2xpY2UoOCwtMSl9ZnVuY3Rpb24gcChBKXtyZXR1cm4gbChBKT09PSJBcnJheSJ9ZnVuY3Rpb24gZChBLFMpe3ZhciBQPXt9LEYsajtpZihsKFMpPT09IlJlZ0V4cCIpUD1udWxsO2Vsc2UgaWYocChTKSlmb3IoRj0wLGo9Uy5sZW5ndGg7RjxqO0YrKylQW1NbRl1dPSEwO2Vsc2UgUFtTXT0hMDtmb3IoRj0wLGo9QS5sZW5ndGg7RjxqO0YrKyl7dmFyIEg9UCYmUFtBW0ZdXSE9PXZvaWQgMHx8IVAmJlMudGVzdChBW0ZdKTtIJiYoQS5zcGxpY2UoRiwxKSxqLS0sRi0tKX1yZXR1cm4gQX1mdW5jdGlvbiBtKEEsUyl7dmFyIFAsRjtpZihwKFMpKXtmb3IoUD0wLEY9Uy5sZW5ndGg7UDxGO1ArKylpZighbShBLFNbUF0pKXJldHVybiExO3JldHVybiEwfXZhciBqPWwoUyk7Zm9yKFA9MCxGPUEubGVuZ3RoO1A8RjtQKyspaWYoaj09PSJSZWdFeHAiKXtpZih0eXBlb2YgQVtQXT09InN0cmluZyImJkFbUF0ubWF0Y2goUykpcmV0dXJuITB9ZWxzZSBpZihBW1BdPT09UylyZXR1cm4hMDtyZXR1cm4hMX1mdW5jdGlvbiBfKEEsUyl7aWYoIXAoQSl8fCFwKFMpfHxBLmxlbmd0aCE9PVMubGVuZ3RoKXJldHVybiExO0Euc29ydCgpLFMuc29ydCgpO2Zvcih2YXIgUD0wLEY9QS5sZW5ndGg7UDxGO1ArKylpZihBW1BdIT09U1tQXSlyZXR1cm4hMTtyZXR1cm4hMH1mdW5jdGlvbiBnKEEpe3ZhciBTPS9eXC8rfFwvKyQvZztyZXR1cm4gQS5yZXBsYWNlKFMsIiIpfWkuX3BhcnRzPWZ1bmN0aW9uKCl7cmV0dXJue3Byb3RvY29sOm51bGwsdXNlcm5hbWU6bnVsbCxwYXNzd29yZDpudWxsLGhvc3RuYW1lOm51bGwsdXJuOm51bGwscG9ydDpudWxsLHBhdGg6bnVsbCxxdWVyeTpudWxsLGZyYWdtZW50Om51bGwscHJldmVudEludmFsaWRIb3N0bmFtZTppLnByZXZlbnRJbnZhbGlkSG9zdG5hbWUsZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzOmkuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzLGVzY2FwZVF1ZXJ5U3BhY2U6aS5lc2NhcGVRdWVyeVNwYWNlfX0saS5wcmV2ZW50SW52YWxpZEhvc3RuYW1lPSExLGkuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzPSExLGkuZXNjYXBlUXVlcnlTcGFjZT0hMCxpLnByb3RvY29sX2V4cHJlc3Npb249L15bYS16XVthLXowLTkuKy1dKiQvaSxpLmlkbl9leHByZXNzaW9uPS9bXmEtejAtOVwuXy1dL2ksaS5wdW55Y29kZV9leHByZXNzaW9uPS8oeG4tLSkvaSxpLmlwNF9leHByZXNzaW9uPS9eXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfVwuXGR7MSwzfSQvLGkuaXA2X2V4cHJlc3Npb249L15ccyooKChbMC05QS1GYS1mXXsxLDR9Oil7N30oWzAtOUEtRmEtZl17MSw0fXw6KSl8KChbMC05QS1GYS1mXXsxLDR9Oil7Nn0oOlswLTlBLUZhLWZdezEsNH18KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXs1fSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDJ9KXw6KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXs0fSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDN9KXwoKDpbMC05QS1GYS1mXXsxLDR9KT86KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KChbMC05QS1GYS1mXXsxLDR9Oil7M30oKCg6WzAtOUEtRmEtZl17MSw0fSl7MSw0fSl8KCg6WzAtOUEtRmEtZl17MSw0fSl7MCwyfTooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKXwoKFswLTlBLUZhLWZdezEsNH06KXsyfSgoKDpbMC05QS1GYS1mXXsxLDR9KXsxLDV9KXwoKDpbMC05QS1GYS1mXXsxLDR9KXswLDN9OigoMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkoXC4oMjVbMC01XXwyWzAtNF1cZHwxXGRcZHxbMS05XT9cZCkpezN9KSl8OikpfCgoWzAtOUEtRmEtZl17MSw0fTopezF9KCgoOlswLTlBLUZhLWZdezEsNH0pezEsNn0pfCgoOlswLTlBLUZhLWZdezEsNH0pezAsNH06KCgyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKShcLigyNVswLTVdfDJbMC00XVxkfDFcZFxkfFsxLTldP1xkKSl7M30pKXw6KSl8KDooKCg6WzAtOUEtRmEtZl17MSw0fSl7MSw3fSl8KCg6WzAtOUEtRmEtZl17MSw0fSl7MCw1fTooKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKFwuKDI1WzAtNV18MlswLTRdXGR8MVxkXGR8WzEtOV0/XGQpKXszfSkpfDopKSkoJS4rKT9ccyokLyxpLmZpbmRfdXJpX2V4cHJlc3Npb249L1xiKCg/OlthLXpdW1x3LV0rOig/OlwvezEsM318W2EtejAtOSVdKXx3d3dcZHswLDN9Wy5dfFthLXowLTkuXC1dK1suXVthLXpdezIsNH1cLykoPzpbXlxzKCk8Pl0rfFwoKFteXHMoKTw+XSt8KFwoW15ccygpPD5dK1wpKSkqXCkpKyg/OlwoKFteXHMoKTw+XSt8KFwoW15ccygpPD5dK1wpKSkqXCl8W15cc2AhKClcW1xde307OiciLiw8Pj/Cq8K74oCc4oCd4oCY4oCZXSkpL2lnLGkuZmluZFVyaT17c3RhcnQ6L1xiKD86KFthLXpdW2EtejAtOS4rLV0qOlwvXC8pfHd3d1wuKS9naSxlbmQ6L1tcc1xyXG5dfCQvLHRyaW06L1tgISgpXFtcXXt9OzonIi4sPD4/wqvCu+KAnOKAneKAnuKAmOKAmV0rJC8scGFyZW5zOi8oXChbXlwpXSpcKXxcW1teXF1dKlxdfFx7W159XSpcfXw8W14+XSo+KS9nfSxpLmxlYWRpbmdfd2hpdGVzcGFjZV9leHByZXNzaW9uPS9eW1x4MDAtXHgyMFx1MDBhMFx1MTY4MFx1MjAwMC1cdTIwMGFcdTIwMjhcdTIwMjlcdTIwMmZcdTIwNWZcdTMwMDBcdWZlZmZdKy8saS5hc2NpaV90YWJfd2hpdGVzcGFjZT0vW1x1MDAwOVx1MDAwQVx1MDAwRF0rL2csaS5kZWZhdWx0UG9ydHM9e2h0dHA6IjgwIixodHRwczoiNDQzIixmdHA6IjIxIixnb3BoZXI6IjcwIix3czoiODAiLHdzczoiNDQzIn0saS5ob3N0UHJvdG9jb2xzPVsiaHR0cCIsImh0dHBzIl0saS5pbnZhbGlkX2hvc3RuYW1lX2NoYXJhY3RlcnM9L1teYS16QS1aMC05XC5cLTpfXS8saS5kb21BdHRyaWJ1dGVzPXthOiJocmVmIixibG9ja3F1b3RlOiJjaXRlIixsaW5rOiJocmVmIixiYXNlOiJocmVmIixzY3JpcHQ6InNyYyIsZm9ybToiYWN0aW9uIixpbWc6InNyYyIsYXJlYToiaHJlZiIsaWZyYW1lOiJzcmMiLGVtYmVkOiJzcmMiLHNvdXJjZToic3JjIix0cmFjazoic3JjIixpbnB1dDoic3JjIixhdWRpbzoic3JjIix2aWRlbzoic3JjIn0saS5nZXREb21BdHRyaWJ1dGU9ZnVuY3Rpb24oQSl7aWYoISghQXx8IUEubm9kZU5hbWUpKXt2YXIgUz1BLm5vZGVOYW1lLnRvTG93ZXJDYXNlKCk7aWYoIShTPT09ImlucHV0IiYmQS50eXBlIT09ImltYWdlIikpcmV0dXJuIGkuZG9tQXR0cmlidXRlc1tTXX19O2Z1bmN0aW9uIGIoQSl7cmV0dXJuIGVzY2FwZShBKX1mdW5jdGlvbiBUKEEpe3JldHVybiBlbmNvZGVVUklDb21wb25lbnQoQSkucmVwbGFjZSgvWyEnKCkqXS9nLGIpLnJlcGxhY2UoL1wqL2csIiUyQSIpfWkuZW5jb2RlPVQsaS5kZWNvZGU9ZGVjb2RlVVJJQ29tcG9uZW50LGkuaXNvODg1OT1mdW5jdGlvbigpe2kuZW5jb2RlPWVzY2FwZSxpLmRlY29kZT11bmVzY2FwZX0saS51bmljb2RlPWZ1bmN0aW9uKCl7aS5lbmNvZGU9VCxpLmRlY29kZT1kZWNvZGVVUklDb21wb25lbnR9LGkuY2hhcmFjdGVycz17cGF0aG5hbWU6e2VuY29kZTp7ZXhwcmVzc2lvbjovJSgyNHwyNnwyQnwyQ3wzQnwzRHwzQXw0MCkvaWcsbWFwOnsiJTI0IjoiJCIsIiUyNiI6IiYiLCIlMkIiOiIrIiwiJTJDIjoiLCIsIiUzQiI6IjsiLCIlM0QiOiI9IiwiJTNBIjoiOiIsIiU0MCI6IkAifX0sZGVjb2RlOntleHByZXNzaW9uOi9bXC9cPyNdL2csbWFwOnsiLyI6IiUyRiIsIj8iOiIlM0YiLCIjIjoiJTIzIn19fSxyZXNlcnZlZDp7ZW5jb2RlOntleHByZXNzaW9uOi8lKDIxfDIzfDI0fDI2fDI3fDI4fDI5fDJBfDJCfDJDfDJGfDNBfDNCfDNEfDNGfDQwfDVCfDVEKS9pZyxtYXA6eyIlM0EiOiI6IiwiJTJGIjoiLyIsIiUzRiI6Ij8iLCIlMjMiOiIjIiwiJTVCIjoiWyIsIiU1RCI6Il0iLCIlNDAiOiJAIiwiJTIxIjoiISIsIiUyNCI6IiQiLCIlMjYiOiImIiwiJTI3IjoiJyIsIiUyOCI6IigiLCIlMjkiOiIpIiwiJTJBIjoiKiIsIiUyQiI6IisiLCIlMkMiOiIsIiwiJTNCIjoiOyIsIiUzRCI6Ij0ifX19LHVybnBhdGg6e2VuY29kZTp7ZXhwcmVzc2lvbjovJSgyMXwyNHwyN3wyOHwyOXwyQXwyQnwyQ3wzQnwzRHw0MCkvaWcsbWFwOnsiJTIxIjoiISIsIiUyNCI6IiQiLCIlMjciOiInIiwiJTI4IjoiKCIsIiUyOSI6IikiLCIlMkEiOiIqIiwiJTJCIjoiKyIsIiUyQyI6IiwiLCIlM0IiOiI7IiwiJTNEIjoiPSIsIiU0MCI6IkAifX0sZGVjb2RlOntleHByZXNzaW9uOi9bXC9cPyM6XS9nLG1hcDp7Ii8iOiIlMkYiLCI/IjoiJTNGIiwiIyI6IiUyMyIsIjoiOiIlM0EifX19fSxpLmVuY29kZVF1ZXJ5PWZ1bmN0aW9uKEEsUyl7dmFyIFA9aS5lbmNvZGUoQSsiIik7cmV0dXJuIFM9PT12b2lkIDAmJihTPWkuZXNjYXBlUXVlcnlTcGFjZSksUz9QLnJlcGxhY2UoLyUyMC9nLCIrIik6UH0saS5kZWNvZGVRdWVyeT1mdW5jdGlvbihBLFMpe0ErPSIiLFM9PT12b2lkIDAmJihTPWkuZXNjYXBlUXVlcnlTcGFjZSk7dHJ5e3JldHVybiBpLmRlY29kZShTP0EucmVwbGFjZSgvXCsvZywiJTIwIik6QSl9Y2F0Y2h7cmV0dXJuIEF9fTt2YXIgTz17ZW5jb2RlOiJlbmNvZGUiLGRlY29kZToiZGVjb2RlIn0sRSx3PWZ1bmN0aW9uKEEsUyl7cmV0dXJuIGZ1bmN0aW9uKFApe3RyeXtyZXR1cm4gaVtTXShQKyIiKS5yZXBsYWNlKGkuY2hhcmFjdGVyc1tBXVtTXS5leHByZXNzaW9uLGZ1bmN0aW9uKEYpe3JldHVybiBpLmNoYXJhY3RlcnNbQV1bU10ubWFwW0ZdfSl9Y2F0Y2h7cmV0dXJuIFB9fX07Zm9yKEUgaW4gTylpW0UrIlBhdGhTZWdtZW50Il09dygicGF0aG5hbWUiLE9bRV0pLGlbRSsiVXJuUGF0aFNlZ21lbnQiXT13KCJ1cm5wYXRoIixPW0VdKTt2YXIgQz1mdW5jdGlvbihBLFMsUCl7cmV0dXJuIGZ1bmN0aW9uKEYpe3ZhciBqO1A/aj1mdW5jdGlvbihYKXtyZXR1cm4gaVtTXShpW1BdKFgpKX06aj1pW1NdO2Zvcih2YXIgSD0oRisiIikuc3BsaXQoQSksaz0wLEs9SC5sZW5ndGg7azxLO2srKylIW2tdPWooSFtrXSk7cmV0dXJuIEguam9pbihBKX19O2kuZGVjb2RlUGF0aD1DKCIvIiwiZGVjb2RlUGF0aFNlZ21lbnQiKSxpLmRlY29kZVVyblBhdGg9QygiOiIsImRlY29kZVVyblBhdGhTZWdtZW50IiksaS5yZWNvZGVQYXRoPUMoIi8iLCJlbmNvZGVQYXRoU2VnbWVudCIsImRlY29kZSIpLGkucmVjb2RlVXJuUGF0aD1DKCI6IiwiZW5jb2RlVXJuUGF0aFNlZ21lbnQiLCJkZWNvZGUiKSxpLmVuY29kZVJlc2VydmVkPXcoInJlc2VydmVkIiwiZW5jb2RlIiksaS5wYXJzZT1mdW5jdGlvbihBLFMpe3ZhciBQO3JldHVybiBTfHwoUz17cHJldmVudEludmFsaWRIb3N0bmFtZTppLnByZXZlbnRJbnZhbGlkSG9zdG5hbWV9KSxBPUEucmVwbGFjZShpLmxlYWRpbmdfd2hpdGVzcGFjZV9leHByZXNzaW9uLCIiKSxBPUEucmVwbGFjZShpLmFzY2lpX3RhYl93aGl0ZXNwYWNlLCIiKSxQPUEuaW5kZXhPZigiIyIpLFA+LTEmJihTLmZyYWdtZW50PUEuc3Vic3RyaW5nKFArMSl8fG51bGwsQT1BLnN1YnN0cmluZygwLFApKSxQPUEuaW5kZXhPZigiPyIpLFA+LTEmJihTLnF1ZXJ5PUEuc3Vic3RyaW5nKFArMSl8fG51bGwsQT1BLnN1YnN0cmluZygwLFApKSxBPUEucmVwbGFjZSgvXihodHRwcz98ZnRwfHdzcz8pPzorWy9cXF0qL2ksIiQxOi8vIiksQT1BLnJlcGxhY2UoL15bL1xcXXsyLH0vaSwiLy8iKSxBLnN1YnN0cmluZygwLDIpPT09Ii8vIj8oUy5wcm90b2NvbD1udWxsLEE9QS5zdWJzdHJpbmcoMiksQT1pLnBhcnNlQXV0aG9yaXR5KEEsUykpOihQPUEuaW5kZXhPZigiOiIpLFA+LTEmJihTLnByb3RvY29sPUEuc3Vic3RyaW5nKDAsUCl8fG51bGwsUy5wcm90b2NvbCYmIVMucHJvdG9jb2wubWF0Y2goaS5wcm90b2NvbF9leHByZXNzaW9uKT9TLnByb3RvY29sPXZvaWQgMDpBLnN1YnN0cmluZyhQKzEsUCszKS5yZXBsYWNlKC9cXC9nLCIvIik9PT0iLy8iPyhBPUEuc3Vic3RyaW5nKFArMyksQT1pLnBhcnNlQXV0aG9yaXR5KEEsUykpOihBPUEuc3Vic3RyaW5nKFArMSksUy51cm49ITApKSksUy5wYXRoPUEsU30saS5wYXJzZUhvc3Q9ZnVuY3Rpb24oQSxTKXtBfHwoQT0iIiksQT1BLnJlcGxhY2UoL1xcL2csIi8iKTt2YXIgUD1BLmluZGV4T2YoIi8iKSxGLGo7aWYoUD09PS0xJiYoUD1BLmxlbmd0aCksQS5jaGFyQXQoMCk9PT0iWyIpRj1BLmluZGV4T2YoIl0iKSxTLmhvc3RuYW1lPUEuc3Vic3RyaW5nKDEsRil8fG51bGwsUy5wb3J0PUEuc3Vic3RyaW5nKEYrMixQKXx8bnVsbCxTLnBvcnQ9PT0iLyImJihTLnBvcnQ9bnVsbCk7ZWxzZXt2YXIgSD1BLmluZGV4T2YoIjoiKSxrPUEuaW5kZXhPZigiLyIpLEs9QS5pbmRleE9mKCI6IixIKzEpO0shPT0tMSYmKGs9PT0tMXx8SzxrKT8oUy5ob3N0bmFtZT1BLnN1YnN0cmluZygwLFApfHxudWxsLFMucG9ydD1udWxsKTooaj1BLnN1YnN0cmluZygwLFApLnNwbGl0KCI6IiksUy5ob3N0bmFtZT1qWzBdfHxudWxsLFMucG9ydD1qWzFdfHxudWxsKX1yZXR1cm4gUy5ob3N0bmFtZSYmQS5zdWJzdHJpbmcoUCkuY2hhckF0KDApIT09Ii8iJiYoUCsrLEE9Ii8iK0EpLFMucHJldmVudEludmFsaWRIb3N0bmFtZSYmaS5lbnN1cmVWYWxpZEhvc3RuYW1lKFMuaG9zdG5hbWUsUy5wcm90b2NvbCksUy5wb3J0JiZpLmVuc3VyZVZhbGlkUG9ydChTLnBvcnQpLEEuc3Vic3RyaW5nKFApfHwiLyJ9LGkucGFyc2VBdXRob3JpdHk9ZnVuY3Rpb24oQSxTKXtyZXR1cm4gQT1pLnBhcnNlVXNlcmluZm8oQSxTKSxpLnBhcnNlSG9zdChBLFMpfSxpLnBhcnNlVXNlcmluZm89ZnVuY3Rpb24oQSxTKXt2YXIgUD1BLEY9QS5pbmRleE9mKCJcXCIpO0YhPT0tMSYmKEE9QS5yZXBsYWNlKC9cXC9nLCIvIikpO3ZhciBqPUEuaW5kZXhPZigiLyIpLEg9QS5sYXN0SW5kZXhPZigiQCIsaj4tMT9qOkEubGVuZ3RoLTEpLGs7cmV0dXJuIEg+LTEmJihqPT09LTF8fEg8aik/KGs9QS5zdWJzdHJpbmcoMCxIKS5zcGxpdCgiOiIpLFMudXNlcm5hbWU9a1swXT9pLmRlY29kZShrWzBdKTpudWxsLGsuc2hpZnQoKSxTLnBhc3N3b3JkPWtbMF0/aS5kZWNvZGUoay5qb2luKCI6IikpOm51bGwsQT1QLnN1YnN0cmluZyhIKzEpKTooUy51c2VybmFtZT1udWxsLFMucGFzc3dvcmQ9bnVsbCksQX0saS5wYXJzZVF1ZXJ5PWZ1bmN0aW9uKEEsUyl7aWYoIUEpcmV0dXJue307aWYoQT1BLnJlcGxhY2UoLyYrL2csIiYiKS5yZXBsYWNlKC9eXD8qJip8JiskL2csIiIpLCFBKXJldHVybnt9O2Zvcih2YXIgUD17fSxGPUEuc3BsaXQoIiYiKSxqPUYubGVuZ3RoLEgsayxLLFg9MDtYPGo7WCsrKUg9RltYXS5zcGxpdCgiPSIpLGs9aS5kZWNvZGVRdWVyeShILnNoaWZ0KCksUyksSz1ILmxlbmd0aD9pLmRlY29kZVF1ZXJ5KEguam9pbigiPSIpLFMpOm51bGwsayE9PSJfX3Byb3RvX18iJiYodS5jYWxsKFAsayk/KCh0eXBlb2YgUFtrXT09InN0cmluZyJ8fFBba109PT1udWxsKSYmKFBba109W1Bba11dKSxQW2tdLnB1c2goSykpOlBba109Syk7cmV0dXJuIFB9LGkuYnVpbGQ9ZnVuY3Rpb24oQSl7dmFyIFM9IiIsUD0hMTtyZXR1cm4gQS5wcm90b2NvbCYmKFMrPUEucHJvdG9jb2wrIjoiKSwhQS51cm4mJihTfHxBLmhvc3RuYW1lKSYmKFMrPSIvLyIsUD0hMCksUys9aS5idWlsZEF1dGhvcml0eShBKXx8IiIsdHlwZW9mIEEucGF0aD09InN0cmluZyImJihBLnBhdGguY2hhckF0KDApIT09Ii8iJiZQJiYoUys9Ii8iKSxTKz1BLnBhdGgpLHR5cGVvZiBBLnF1ZXJ5PT0ic3RyaW5nIiYmQS5xdWVyeSYmKFMrPSI/IitBLnF1ZXJ5KSx0eXBlb2YgQS5mcmFnbWVudD09InN0cmluZyImJkEuZnJhZ21lbnQmJihTKz0iIyIrQS5mcmFnbWVudCksU30saS5idWlsZEhvc3Q9ZnVuY3Rpb24oQSl7dmFyIFM9IiI7aWYoQS5ob3N0bmFtZSlpLmlwNl9leHByZXNzaW9uLnRlc3QoQS5ob3N0bmFtZSk/Uys9IlsiK0EuaG9zdG5hbWUrIl0iOlMrPUEuaG9zdG5hbWU7ZWxzZSByZXR1cm4iIjtyZXR1cm4gQS5wb3J0JiYoUys9IjoiK0EucG9ydCksU30saS5idWlsZEF1dGhvcml0eT1mdW5jdGlvbihBKXtyZXR1cm4gaS5idWlsZFVzZXJpbmZvKEEpK2kuYnVpbGRIb3N0KEEpfSxpLmJ1aWxkVXNlcmluZm89ZnVuY3Rpb24oQSl7dmFyIFM9IiI7cmV0dXJuIEEudXNlcm5hbWUmJihTKz1pLmVuY29kZShBLnVzZXJuYW1lKSksQS5wYXNzd29yZCYmKFMrPSI6IitpLmVuY29kZShBLnBhc3N3b3JkKSksUyYmKFMrPSJAIiksU30saS5idWlsZFF1ZXJ5PWZ1bmN0aW9uKEEsUyxQKXt2YXIgRj0iIixqLEgsayxLO2ZvcihIIGluIEEpaWYoSCE9PSJfX3Byb3RvX18iJiZ1LmNhbGwoQSxIKSlpZihwKEFbSF0pKWZvcihqPXt9LGs9MCxLPUFbSF0ubGVuZ3RoO2s8SztrKyspQVtIXVtrXSE9PXZvaWQgMCYmaltBW0hdW2tdKyIiXT09PXZvaWQgMCYmKEYrPSImIitpLmJ1aWxkUXVlcnlQYXJhbWV0ZXIoSCxBW0hdW2tdLFApLFMhPT0hMCYmKGpbQVtIXVtrXSsiIl09ITApKTtlbHNlIEFbSF0hPT12b2lkIDAmJihGKz0iJiIraS5idWlsZFF1ZXJ5UGFyYW1ldGVyKEgsQVtIXSxQKSk7cmV0dXJuIEYuc3Vic3RyaW5nKDEpfSxpLmJ1aWxkUXVlcnlQYXJhbWV0ZXI9ZnVuY3Rpb24oQSxTLFApe3JldHVybiBpLmVuY29kZVF1ZXJ5KEEsUCkrKFMhPT1udWxsPyI9IitpLmVuY29kZVF1ZXJ5KFMsUCk6IiIpfSxpLmFkZFF1ZXJ5PWZ1bmN0aW9uKEEsUyxQKXtpZih0eXBlb2YgUz09Im9iamVjdCIpZm9yKHZhciBGIGluIFMpdS5jYWxsKFMsRikmJmkuYWRkUXVlcnkoQSxGLFNbRl0pO2Vsc2UgaWYodHlwZW9mIFM9PSJzdHJpbmciKXtpZihBW1NdPT09dm9pZCAwKXtBW1NdPVA7cmV0dXJufWVsc2UgdHlwZW9mIEFbU109PSJzdHJpbmciJiYoQVtTXT1bQVtTXV0pO3AoUCl8fChQPVtQXSksQVtTXT0oQVtTXXx8W10pLmNvbmNhdChQKX1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5hZGRRdWVyeSgpIGFjY2VwdHMgYW4gb2JqZWN0LCBzdHJpbmcgYXMgdGhlIG5hbWUgcGFyYW1ldGVyIil9LGkuc2V0UXVlcnk9ZnVuY3Rpb24oQSxTLFApe2lmKHR5cGVvZiBTPT0ib2JqZWN0Iilmb3IodmFyIEYgaW4gUyl1LmNhbGwoUyxGKSYmaS5zZXRRdWVyeShBLEYsU1tGXSk7ZWxzZSBpZih0eXBlb2YgUz09InN0cmluZyIpQVtTXT1QPT09dm9pZCAwP251bGw6UDtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5zZXRRdWVyeSgpIGFjY2VwdHMgYW4gb2JqZWN0LCBzdHJpbmcgYXMgdGhlIG5hbWUgcGFyYW1ldGVyIil9LGkucmVtb3ZlUXVlcnk9ZnVuY3Rpb24oQSxTLFApe3ZhciBGLGosSDtpZihwKFMpKWZvcihGPTAsaj1TLmxlbmd0aDtGPGo7RisrKUFbU1tGXV09dm9pZCAwO2Vsc2UgaWYobChTKT09PSJSZWdFeHAiKWZvcihIIGluIEEpUy50ZXN0KEgpJiYoQVtIXT12b2lkIDApO2Vsc2UgaWYodHlwZW9mIFM9PSJvYmplY3QiKWZvcihIIGluIFMpdS5jYWxsKFMsSCkmJmkucmVtb3ZlUXVlcnkoQSxILFNbSF0pO2Vsc2UgaWYodHlwZW9mIFM9PSJzdHJpbmciKVAhPT12b2lkIDA/bChQKT09PSJSZWdFeHAiPyFwKEFbU10pJiZQLnRlc3QoQVtTXSk/QVtTXT12b2lkIDA6QVtTXT1kKEFbU10sUCk6QVtTXT09PVN0cmluZyhQKSYmKCFwKFApfHxQLmxlbmd0aD09PTEpP0FbU109dm9pZCAwOnAoQVtTXSkmJihBW1NdPWQoQVtTXSxQKSk6QVtTXT12b2lkIDA7ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJVUkkucmVtb3ZlUXVlcnkoKSBhY2NlcHRzIGFuIG9iamVjdCwgc3RyaW5nLCBSZWdFeHAgYXMgdGhlIGZpcnN0IHBhcmFtZXRlciIpfSxpLmhhc1F1ZXJ5PWZ1bmN0aW9uKEEsUyxQLEYpe3N3aXRjaChsKFMpKXtjYXNlIlN0cmluZyI6YnJlYWs7Y2FzZSJSZWdFeHAiOmZvcih2YXIgaiBpbiBBKWlmKHUuY2FsbChBLGopJiZTLnRlc3QoaikmJihQPT09dm9pZCAwfHxpLmhhc1F1ZXJ5KEEsaixQKSkpcmV0dXJuITA7cmV0dXJuITE7Y2FzZSJPYmplY3QiOmZvcih2YXIgSCBpbiBTKWlmKHUuY2FsbChTLEgpJiYhaS5oYXNRdWVyeShBLEgsU1tIXSkpcmV0dXJuITE7cmV0dXJuITA7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVUkkuaGFzUXVlcnkoKSBhY2NlcHRzIGEgc3RyaW5nLCByZWd1bGFyIGV4cHJlc3Npb24gb3Igb2JqZWN0IGFzIHRoZSBuYW1lIHBhcmFtZXRlciIpfXN3aXRjaChsKFApKXtjYXNlIlVuZGVmaW5lZCI6cmV0dXJuIFMgaW4gQTtjYXNlIkJvb2xlYW4iOnZhciBrPSEhKHAoQVtTXSk/QVtTXS5sZW5ndGg6QVtTXSk7cmV0dXJuIFA9PT1rO2Nhc2UiRnVuY3Rpb24iOnJldHVybiEhUChBW1NdLFMsQSk7Y2FzZSJBcnJheSI6aWYoIXAoQVtTXSkpcmV0dXJuITE7dmFyIEs9Rj9tOl87cmV0dXJuIEsoQVtTXSxQKTtjYXNlIlJlZ0V4cCI6cmV0dXJuIHAoQVtTXSk/Rj9tKEFbU10sUCk6ITE6ISEoQVtTXSYmQVtTXS5tYXRjaChQKSk7Y2FzZSJOdW1iZXIiOlA9U3RyaW5nKFApO2Nhc2UiU3RyaW5nIjpyZXR1cm4gcChBW1NdKT9GP20oQVtTXSxQKTohMTpBW1NdPT09UDtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5oYXNRdWVyeSgpIGFjY2VwdHMgdW5kZWZpbmVkLCBib29sZWFuLCBzdHJpbmcsIG51bWJlciwgUmVnRXhwLCBGdW5jdGlvbiBhcyB0aGUgdmFsdWUgcGFyYW1ldGVyIil9fSxpLmpvaW5QYXRocz1mdW5jdGlvbigpe2Zvcih2YXIgQT1bXSxTPVtdLFA9MCxGPTA7Rjxhcmd1bWVudHMubGVuZ3RoO0YrKyl7dmFyIGo9bmV3IGkoYXJndW1lbnRzW0ZdKTtBLnB1c2goaik7Zm9yKHZhciBIPWouc2VnbWVudCgpLGs9MDtrPEgubGVuZ3RoO2srKyl0eXBlb2YgSFtrXT09InN0cmluZyImJlMucHVzaChIW2tdKSxIW2tdJiZQKyt9aWYoIVMubGVuZ3RofHwhUClyZXR1cm4gbmV3IGkoIiIpO3ZhciBLPW5ldyBpKCIiKS5zZWdtZW50KFMpO3JldHVybihBWzBdLnBhdGgoKT09PSIifHxBWzBdLnBhdGgoKS5zbGljZSgwLDEpPT09Ii8iKSYmSy5wYXRoKCIvIitLLnBhdGgoKSksSy5ub3JtYWxpemUoKX0saS5jb21tb25QYXRoPWZ1bmN0aW9uKEEsUyl7dmFyIFA9TWF0aC5taW4oQS5sZW5ndGgsUy5sZW5ndGgpLEY7Zm9yKEY9MDtGPFA7RisrKWlmKEEuY2hhckF0KEYpIT09Uy5jaGFyQXQoRikpe0YtLTticmVha31yZXR1cm4gRjwxP0EuY2hhckF0KDApPT09Uy5jaGFyQXQoMCkmJkEuY2hhckF0KDApPT09Ii8iPyIvIjoiIjooKEEuY2hhckF0KEYpIT09Ii8ifHxTLmNoYXJBdChGKSE9PSIvIikmJihGPUEuc3Vic3RyaW5nKDAsRikubGFzdEluZGV4T2YoIi8iKSksQS5zdWJzdHJpbmcoMCxGKzEpKX0saS53aXRoaW5TdHJpbmc9ZnVuY3Rpb24oQSxTLFApe1B8fChQPXt9KTt2YXIgRj1QLnN0YXJ0fHxpLmZpbmRVcmkuc3RhcnQsaj1QLmVuZHx8aS5maW5kVXJpLmVuZCxIPVAudHJpbXx8aS5maW5kVXJpLnRyaW0saz1QLnBhcmVuc3x8aS5maW5kVXJpLnBhcmVucyxLPS9bYS16MC05LV09WyInXT8kL2k7Zm9yKEYubGFzdEluZGV4PTA7Oyl7dmFyIFg9Ri5leGVjKEEpO2lmKCFYKWJyZWFrO3ZhciBSPVguaW5kZXg7aWYoUC5pZ25vcmVIdG1sKXt2YXIgb3Q9QS5zbGljZShNYXRoLm1heChSLTMsMCksUik7aWYob3QmJksudGVzdChvdCkpY29udGludWV9Zm9yKHZhciBhdD1SK0Euc2xpY2UoUikuc2VhcmNoKGopLHB0PUEuc2xpY2UoUixhdCkseXQ9LTE7Oyl7dmFyIHJ0PWsuZXhlYyhwdCk7aWYoIXJ0KWJyZWFrO3ZhciBQdD1ydC5pbmRleCtydFswXS5sZW5ndGg7eXQ9TWF0aC5tYXgoeXQsUHQpfWlmKHl0Pi0xP3B0PXB0LnNsaWNlKDAseXQpK3B0LnNsaWNlKHl0KS5yZXBsYWNlKEgsIiIpOnB0PXB0LnJlcGxhY2UoSCwiIiksIShwdC5sZW5ndGg8PVhbMF0ubGVuZ3RoKSYmIShQLmlnbm9yZSYmUC5pZ25vcmUudGVzdChwdCkpKXthdD1SK3B0Lmxlbmd0aDt2YXIgZ3Q9UyhwdCxSLGF0LEEpO2lmKGd0PT09dm9pZCAwKXtGLmxhc3RJbmRleD1hdDtjb250aW51ZX1ndD1TdHJpbmcoZ3QpLEE9QS5zbGljZSgwLFIpK2d0K0Euc2xpY2UoYXQpLEYubGFzdEluZGV4PVIrZ3QubGVuZ3RofX1yZXR1cm4gRi5sYXN0SW5kZXg9MCxBfSxpLmVuc3VyZVZhbGlkSG9zdG5hbWU9ZnVuY3Rpb24oQSxTKXt2YXIgUD0hIUEsRj0hIVMsaj0hMTtpZihGJiYoaj1tKGkuaG9zdFByb3RvY29scyxTKSksaiYmIVApdGhyb3cgbmV3IFR5cGVFcnJvcigiSG9zdG5hbWUgY2Fubm90IGJlIGVtcHR5LCBpZiBwcm90b2NvbCBpcyAiK1MpO2lmKEEmJkEubWF0Y2goaS5pbnZhbGlkX2hvc3RuYW1lX2NoYXJhY3RlcnMpKXtpZighdCl0aHJvdyBuZXcgVHlwZUVycm9yKCdIb3N0bmFtZSAiJytBKyciIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiBbQS1aMC05Li06X10gYW5kIFB1bnljb2RlLmpzIGlzIG5vdCBhdmFpbGFibGUnKTtpZih0LnRvQVNDSUkoQSkubWF0Y2goaS5pbnZhbGlkX2hvc3RuYW1lX2NoYXJhY3RlcnMpKXRocm93IG5ldyBUeXBlRXJyb3IoJ0hvc3RuYW1lICInK0ErJyIgY29udGFpbnMgY2hhcmFjdGVycyBvdGhlciB0aGFuIFtBLVowLTkuLTpfXScpfX0saS5lbnN1cmVWYWxpZFBvcnQ9ZnVuY3Rpb24oQSl7aWYoQSl7dmFyIFM9TnVtYmVyKEEpO2lmKCEocyhTKSYmUz4wJiZTPDY1NTM2KSl0aHJvdyBuZXcgVHlwZUVycm9yKCdQb3J0ICInK0ErJyIgaXMgbm90IGEgdmFsaWQgcG9ydCcpfX0saS5ub0NvbmZsaWN0PWZ1bmN0aW9uKEEpe2lmKEEpe3ZhciBTPXtVUkk6dGhpcy5ub0NvbmZsaWN0KCl9O3JldHVybiBvLlVSSVRlbXBsYXRlJiZ0eXBlb2Ygby5VUklUZW1wbGF0ZS5ub0NvbmZsaWN0PT0iZnVuY3Rpb24iJiYoUy5VUklUZW1wbGF0ZT1vLlVSSVRlbXBsYXRlLm5vQ29uZmxpY3QoKSksby5JUHY2JiZ0eXBlb2Ygby5JUHY2Lm5vQ29uZmxpY3Q9PSJmdW5jdGlvbiImJihTLklQdjY9by5JUHY2Lm5vQ29uZmxpY3QoKSksby5TZWNvbmRMZXZlbERvbWFpbnMmJnR5cGVvZiBvLlNlY29uZExldmVsRG9tYWlucy5ub0NvbmZsaWN0PT0iZnVuY3Rpb24iJiYoUy5TZWNvbmRMZXZlbERvbWFpbnM9by5TZWNvbmRMZXZlbERvbWFpbnMubm9Db25mbGljdCgpKSxTfWVsc2Ugby5VUkk9PT10aGlzJiYoby5VUkk9cik7cmV0dXJuIHRoaXN9LGYuYnVpbGQ9ZnVuY3Rpb24oQSl7cmV0dXJuIEE9PT0hMD90aGlzLl9kZWZlcnJlZF9idWlsZD0hMDooQT09PXZvaWQgMHx8dGhpcy5fZGVmZXJyZWRfYnVpbGQpJiYodGhpcy5fc3RyaW5nPWkuYnVpbGQodGhpcy5fcGFydHMpLHRoaXMuX2RlZmVycmVkX2J1aWxkPSExKSx0aGlzfSxmLmNsb25lPWZ1bmN0aW9uKCl7cmV0dXJuIG5ldyBpKHRoaXMpfSxmLnZhbHVlT2Y9Zi50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmJ1aWxkKCExKS5fc3RyaW5nfTtmdW5jdGlvbiBOKEEpe3JldHVybiBmdW5jdGlvbihTLFApe3JldHVybiBTPT09dm9pZCAwP3RoaXMuX3BhcnRzW0FdfHwiIjoodGhpcy5fcGFydHNbQV09U3x8bnVsbCx0aGlzLmJ1aWxkKCFQKSx0aGlzKX19ZnVuY3Rpb24gSShBLFMpe3JldHVybiBmdW5jdGlvbihQLEYpe3JldHVybiBQPT09dm9pZCAwP3RoaXMuX3BhcnRzW0FdfHwiIjooUCE9PW51bGwmJihQPVArIiIsUC5jaGFyQXQoMCk9PT1TJiYoUD1QLnN1YnN0cmluZygxKSkpLHRoaXMuX3BhcnRzW0FdPVAsdGhpcy5idWlsZCghRiksdGhpcyl9fWYucHJvdG9jb2w9TigicHJvdG9jb2wiKSxmLnVzZXJuYW1lPU4oInVzZXJuYW1lIiksZi5wYXNzd29yZD1OKCJwYXNzd29yZCIpLGYuaG9zdG5hbWU9TigiaG9zdG5hbWUiKSxmLnBvcnQ9TigicG9ydCIpLGYucXVlcnk9SSgicXVlcnkiLCI/IiksZi5mcmFnbWVudD1JKCJmcmFnbWVudCIsIiMiKSxmLnNlYXJjaD1mdW5jdGlvbihBLFMpe3ZhciBQPXRoaXMucXVlcnkoQSxTKTtyZXR1cm4gdHlwZW9mIFA9PSJzdHJpbmciJiZQLmxlbmd0aD8iPyIrUDpQfSxmLmhhc2g9ZnVuY3Rpb24oQSxTKXt2YXIgUD10aGlzLmZyYWdtZW50KEEsUyk7cmV0dXJuIHR5cGVvZiBQPT0ic3RyaW5nIiYmUC5sZW5ndGg/IiMiK1A6UH0sZi5wYXRobmFtZT1mdW5jdGlvbihBLFMpe2lmKEE9PT12b2lkIDB8fEE9PT0hMCl7dmFyIFA9dGhpcy5fcGFydHMucGF0aHx8KHRoaXMuX3BhcnRzLmhvc3RuYW1lPyIvIjoiIik7cmV0dXJuIEE/KHRoaXMuX3BhcnRzLnVybj9pLmRlY29kZVVyblBhdGg6aS5kZWNvZGVQYXRoKShQKTpQfWVsc2UgcmV0dXJuIHRoaXMuX3BhcnRzLnVybj90aGlzLl9wYXJ0cy5wYXRoPUE/aS5yZWNvZGVVcm5QYXRoKEEpOiIiOnRoaXMuX3BhcnRzLnBhdGg9QT9pLnJlY29kZVBhdGgoQSk6Ii8iLHRoaXMuYnVpbGQoIVMpLHRoaXN9LGYucGF0aD1mLnBhdGhuYW1lLGYuaHJlZj1mdW5jdGlvbihBLFMpe3ZhciBQO2lmKEE9PT12b2lkIDApcmV0dXJuIHRoaXMudG9TdHJpbmcoKTt0aGlzLl9zdHJpbmc9IiIsdGhpcy5fcGFydHM9aS5fcGFydHMoKTt2YXIgRj1BIGluc3RhbmNlb2YgaSxqPXR5cGVvZiBBPT0ib2JqZWN0IiYmKEEuaG9zdG5hbWV8fEEucGF0aHx8QS5wYXRobmFtZSk7aWYoQS5ub2RlTmFtZSl7dmFyIEg9aS5nZXREb21BdHRyaWJ1dGUoQSk7QT1BW0hdfHwiIixqPSExfWlmKCFGJiZqJiZBLnBhdGhuYW1lIT09dm9pZCAwJiYoQT1BLnRvU3RyaW5nKCkpLHR5cGVvZiBBPT0ic3RyaW5nInx8QSBpbnN0YW5jZW9mIFN0cmluZyl0aGlzLl9wYXJ0cz1pLnBhcnNlKFN0cmluZyhBKSx0aGlzLl9wYXJ0cyk7ZWxzZSBpZihGfHxqKXt2YXIgaz1GP0EuX3BhcnRzOkE7Zm9yKFAgaW4gaylQIT09InF1ZXJ5IiYmdS5jYWxsKHRoaXMuX3BhcnRzLFApJiYodGhpcy5fcGFydHNbUF09a1tQXSk7ay5xdWVyeSYmdGhpcy5xdWVyeShrLnF1ZXJ5LCExKX1lbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoImludmFsaWQgaW5wdXQiKTtyZXR1cm4gdGhpcy5idWlsZCghUyksdGhpc30sZi5pcz1mdW5jdGlvbihBKXt2YXIgUz0hMSxQPSExLEY9ITEsaj0hMSxIPSExLGs9ITEsSz0hMSxYPSF0aGlzLl9wYXJ0cy51cm47c3dpdGNoKHRoaXMuX3BhcnRzLmhvc3RuYW1lJiYoWD0hMSxQPWkuaXA0X2V4cHJlc3Npb24udGVzdCh0aGlzLl9wYXJ0cy5ob3N0bmFtZSksRj1pLmlwNl9leHByZXNzaW9uLnRlc3QodGhpcy5fcGFydHMuaG9zdG5hbWUpLFM9UHx8RixqPSFTLEg9aiYmbiYmbi5oYXModGhpcy5fcGFydHMuaG9zdG5hbWUpLGs9aiYmaS5pZG5fZXhwcmVzc2lvbi50ZXN0KHRoaXMuX3BhcnRzLmhvc3RuYW1lKSxLPWomJmkucHVueWNvZGVfZXhwcmVzc2lvbi50ZXN0KHRoaXMuX3BhcnRzLmhvc3RuYW1lKSksQS50b0xvd2VyQ2FzZSgpKXtjYXNlInJlbGF0aXZlIjpyZXR1cm4gWDtjYXNlImFic29sdXRlIjpyZXR1cm4hWDtjYXNlImRvbWFpbiI6Y2FzZSJuYW1lIjpyZXR1cm4gajtjYXNlInNsZCI6cmV0dXJuIEg7Y2FzZSJpcCI6cmV0dXJuIFM7Y2FzZSJpcDQiOmNhc2UiaXB2NCI6Y2FzZSJpbmV0NCI6cmV0dXJuIFA7Y2FzZSJpcDYiOmNhc2UiaXB2NiI6Y2FzZSJpbmV0NiI6cmV0dXJuIEY7Y2FzZSJpZG4iOnJldHVybiBrO2Nhc2UidXJsIjpyZXR1cm4hdGhpcy5fcGFydHMudXJuO2Nhc2UidXJuIjpyZXR1cm4hIXRoaXMuX3BhcnRzLnVybjtjYXNlInB1bnljb2RlIjpyZXR1cm4gS31yZXR1cm4gbnVsbH07dmFyIEQ9Zi5wcm90b2NvbCx2PWYucG9ydCxMPWYuaG9zdG5hbWU7Zi5wcm90b2NvbD1mdW5jdGlvbihBLFMpe2lmKEEmJihBPUEucmVwbGFjZSgvOihcL1wvKT8kLywiIiksIUEubWF0Y2goaS5wcm90b2NvbF9leHByZXNzaW9uKSkpdGhyb3cgbmV3IFR5cGVFcnJvcignUHJvdG9jb2wgIicrQStgIiBjb250YWlucyBjaGFyYWN0ZXJzIG90aGVyIHRoYW4gW0EtWjAtOS4rLV0gb3IgZG9lc24ndCBzdGFydCB3aXRoIFtBLVpdYCk7cmV0dXJuIEQuY2FsbCh0aGlzLEEsUyl9LGYuc2NoZW1lPWYucHJvdG9jb2wsZi5wb3J0PWZ1bmN0aW9uKEEsUyl7cmV0dXJuIHRoaXMuX3BhcnRzLnVybj9BPT09dm9pZCAwPyIiOnRoaXM6KEEhPT12b2lkIDAmJihBPT09MCYmKEE9bnVsbCksQSYmKEErPSIiLEEuY2hhckF0KDApPT09IjoiJiYoQT1BLnN1YnN0cmluZygxKSksaS5lbnN1cmVWYWxpZFBvcnQoQSkpKSx2LmNhbGwodGhpcyxBLFMpKX0sZi5ob3N0bmFtZT1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEEhPT12b2lkIDApe3ZhciBQPXtwcmV2ZW50SW52YWxpZEhvc3RuYW1lOnRoaXMuX3BhcnRzLnByZXZlbnRJbnZhbGlkSG9zdG5hbWV9LEY9aS5wYXJzZUhvc3QoQSxQKTtpZihGIT09Ii8iKXRocm93IG5ldyBUeXBlRXJyb3IoJ0hvc3RuYW1lICInK0ErJyIgY29udGFpbnMgY2hhcmFjdGVycyBvdGhlciB0aGFuIFtBLVowLTkuLV0nKTtBPVAuaG9zdG5hbWUsdGhpcy5fcGFydHMucHJldmVudEludmFsaWRIb3N0bmFtZSYmaS5lbnN1cmVWYWxpZEhvc3RuYW1lKEEsdGhpcy5fcGFydHMucHJvdG9jb2wpfXJldHVybiBMLmNhbGwodGhpcyxBLFMpfSxmLm9yaWdpbj1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDApe3ZhciBQPXRoaXMucHJvdG9jb2woKSxGPXRoaXMuYXV0aG9yaXR5KCk7cmV0dXJuIEY/KFA/UCsiOi8vIjoiIikrdGhpcy5hdXRob3JpdHkoKToiIn1lbHNle3ZhciBqPWkoQSk7cmV0dXJuIHRoaXMucHJvdG9jb2woai5wcm90b2NvbCgpKS5hdXRob3JpdHkoai5hdXRob3JpdHkoKSkuYnVpbGQoIVMpLHRoaXN9fSxmLmhvc3Q9ZnVuY3Rpb24oQSxTKXtpZih0aGlzLl9wYXJ0cy51cm4pcmV0dXJuIEE9PT12b2lkIDA/IiI6dGhpcztpZihBPT09dm9pZCAwKXJldHVybiB0aGlzLl9wYXJ0cy5ob3N0bmFtZT9pLmJ1aWxkSG9zdCh0aGlzLl9wYXJ0cyk6IiI7dmFyIFA9aS5wYXJzZUhvc3QoQSx0aGlzLl9wYXJ0cyk7aWYoUCE9PSIvIil0aHJvdyBuZXcgVHlwZUVycm9yKCdIb3N0bmFtZSAiJytBKyciIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiBbQS1aMC05Li1dJyk7cmV0dXJuIHRoaXMuYnVpbGQoIVMpLHRoaXN9LGYuYXV0aG9yaXR5PWZ1bmN0aW9uKEEsUyl7aWYodGhpcy5fcGFydHMudXJuKXJldHVybiBBPT09dm9pZCAwPyIiOnRoaXM7aWYoQT09PXZvaWQgMClyZXR1cm4gdGhpcy5fcGFydHMuaG9zdG5hbWU/aS5idWlsZEF1dGhvcml0eSh0aGlzLl9wYXJ0cyk6IiI7dmFyIFA9aS5wYXJzZUF1dGhvcml0eShBLHRoaXMuX3BhcnRzKTtpZihQIT09Ii8iKXRocm93IG5ldyBUeXBlRXJyb3IoJ0hvc3RuYW1lICInK0ErJyIgY29udGFpbnMgY2hhcmFjdGVycyBvdGhlciB0aGFuIFtBLVowLTkuLV0nKTtyZXR1cm4gdGhpcy5idWlsZCghUyksdGhpc30sZi51c2VyaW5mbz1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDApe3ZhciBQPWkuYnVpbGRVc2VyaW5mbyh0aGlzLl9wYXJ0cyk7cmV0dXJuIFAmJlAuc3Vic3RyaW5nKDAsUC5sZW5ndGgtMSl9ZWxzZSByZXR1cm4gQVtBLmxlbmd0aC0xXSE9PSJAIiYmKEErPSJAIiksaS5wYXJzZVVzZXJpbmZvKEEsdGhpcy5fcGFydHMpLHRoaXMuYnVpbGQoIVMpLHRoaXN9LGYucmVzb3VyY2U9ZnVuY3Rpb24oQSxTKXt2YXIgUDtyZXR1cm4gQT09PXZvaWQgMD90aGlzLnBhdGgoKSt0aGlzLnNlYXJjaCgpK3RoaXMuaGFzaCgpOihQPWkucGFyc2UoQSksdGhpcy5fcGFydHMucGF0aD1QLnBhdGgsdGhpcy5fcGFydHMucXVlcnk9UC5xdWVyeSx0aGlzLl9wYXJ0cy5mcmFnbWVudD1QLmZyYWdtZW50LHRoaXMuYnVpbGQoIVMpLHRoaXMpfSxmLnN1YmRvbWFpbj1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDApe2lmKCF0aGlzLl9wYXJ0cy5ob3N0bmFtZXx8dGhpcy5pcygiSVAiKSlyZXR1cm4iIjt2YXIgUD10aGlzLl9wYXJ0cy5ob3N0bmFtZS5sZW5ndGgtdGhpcy5kb21haW4oKS5sZW5ndGgtMTtyZXR1cm4gdGhpcy5fcGFydHMuaG9zdG5hbWUuc3Vic3RyaW5nKDAsUCl8fCIifWVsc2V7dmFyIEY9dGhpcy5fcGFydHMuaG9zdG5hbWUubGVuZ3RoLXRoaXMuZG9tYWluKCkubGVuZ3RoLGo9dGhpcy5fcGFydHMuaG9zdG5hbWUuc3Vic3RyaW5nKDAsRiksSD1uZXcgUmVnRXhwKCJeIitjKGopKTtpZihBJiZBLmNoYXJBdChBLmxlbmd0aC0xKSE9PSIuIiYmKEErPSIuIiksQS5pbmRleE9mKCI6IikhPT0tMSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEb21haW5zIGNhbm5vdCBjb250YWluIGNvbG9ucyIpO3JldHVybiBBJiZpLmVuc3VyZVZhbGlkSG9zdG5hbWUoQSx0aGlzLl9wYXJ0cy5wcm90b2NvbCksdGhpcy5fcGFydHMuaG9zdG5hbWU9dGhpcy5fcGFydHMuaG9zdG5hbWUucmVwbGFjZShILEEpLHRoaXMuYnVpbGQoIVMpLHRoaXN9fSxmLmRvbWFpbj1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKHR5cGVvZiBBPT0iYm9vbGVhbiImJihTPUEsQT12b2lkIDApLEE9PT12b2lkIDApe2lmKCF0aGlzLl9wYXJ0cy5ob3N0bmFtZXx8dGhpcy5pcygiSVAiKSlyZXR1cm4iIjt2YXIgUD10aGlzLl9wYXJ0cy5ob3N0bmFtZS5tYXRjaCgvXC4vZyk7aWYoUCYmUC5sZW5ndGg8MilyZXR1cm4gdGhpcy5fcGFydHMuaG9zdG5hbWU7dmFyIEY9dGhpcy5fcGFydHMuaG9zdG5hbWUubGVuZ3RoLXRoaXMudGxkKFMpLmxlbmd0aC0xO3JldHVybiBGPXRoaXMuX3BhcnRzLmhvc3RuYW1lLmxhc3RJbmRleE9mKCIuIixGLTEpKzEsdGhpcy5fcGFydHMuaG9zdG5hbWUuc3Vic3RyaW5nKEYpfHwiIn1lbHNle2lmKCFBKXRocm93IG5ldyBUeXBlRXJyb3IoImNhbm5vdCBzZXQgZG9tYWluIGVtcHR5Iik7aWYoQS5pbmRleE9mKCI6IikhPT0tMSl0aHJvdyBuZXcgVHlwZUVycm9yKCJEb21haW5zIGNhbm5vdCBjb250YWluIGNvbG9ucyIpO2lmKGkuZW5zdXJlVmFsaWRIb3N0bmFtZShBLHRoaXMuX3BhcnRzLnByb3RvY29sKSwhdGhpcy5fcGFydHMuaG9zdG5hbWV8fHRoaXMuaXMoIklQIikpdGhpcy5fcGFydHMuaG9zdG5hbWU9QTtlbHNle3ZhciBqPW5ldyBSZWdFeHAoYyh0aGlzLmRvbWFpbigpKSsiJCIpO3RoaXMuX3BhcnRzLmhvc3RuYW1lPXRoaXMuX3BhcnRzLmhvc3RuYW1lLnJlcGxhY2UoaixBKX1yZXR1cm4gdGhpcy5idWlsZCghUyksdGhpc319LGYudGxkPWZ1bmN0aW9uKEEsUyl7aWYodGhpcy5fcGFydHMudXJuKXJldHVybiBBPT09dm9pZCAwPyIiOnRoaXM7aWYodHlwZW9mIEE9PSJib29sZWFuIiYmKFM9QSxBPXZvaWQgMCksQT09PXZvaWQgMCl7aWYoIXRoaXMuX3BhcnRzLmhvc3RuYW1lfHx0aGlzLmlzKCJJUCIpKXJldHVybiIiO3ZhciBQPXRoaXMuX3BhcnRzLmhvc3RuYW1lLmxhc3RJbmRleE9mKCIuIiksRj10aGlzLl9wYXJ0cy5ob3N0bmFtZS5zdWJzdHJpbmcoUCsxKTtyZXR1cm4gUyE9PSEwJiZuJiZuLmxpc3RbRi50b0xvd2VyQ2FzZSgpXSYmbi5nZXQodGhpcy5fcGFydHMuaG9zdG5hbWUpfHxGfWVsc2V7dmFyIGo7aWYoQSlpZihBLm1hdGNoKC9bXmEtekEtWjAtOS1dLykpaWYobiYmbi5pcyhBKSlqPW5ldyBSZWdFeHAoYyh0aGlzLnRsZCgpKSsiJCIpLHRoaXMuX3BhcnRzLmhvc3RuYW1lPXRoaXMuX3BhcnRzLmhvc3RuYW1lLnJlcGxhY2UoaixBKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RMRCAiJytBKyciIGNvbnRhaW5zIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiBbQS1aMC05XScpO2Vsc2V7aWYoIXRoaXMuX3BhcnRzLmhvc3RuYW1lfHx0aGlzLmlzKCJJUCIpKXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcigiY2Fubm90IHNldCBUTEQgb24gbm9uLWRvbWFpbiBob3N0Iik7aj1uZXcgUmVnRXhwKGModGhpcy50bGQoKSkrIiQiKSx0aGlzLl9wYXJ0cy5ob3N0bmFtZT10aGlzLl9wYXJ0cy5ob3N0bmFtZS5yZXBsYWNlKGosQSl9ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKCJjYW5ub3Qgc2V0IFRMRCBlbXB0eSIpO3JldHVybiB0aGlzLmJ1aWxkKCFTKSx0aGlzfX0sZi5kaXJlY3Rvcnk9ZnVuY3Rpb24oQSxTKXtpZih0aGlzLl9wYXJ0cy51cm4pcmV0dXJuIEE9PT12b2lkIDA/IiI6dGhpcztpZihBPT09dm9pZCAwfHxBPT09ITApe2lmKCF0aGlzLl9wYXJ0cy5wYXRoJiYhdGhpcy5fcGFydHMuaG9zdG5hbWUpcmV0dXJuIiI7aWYodGhpcy5fcGFydHMucGF0aD09PSIvIilyZXR1cm4iLyI7dmFyIFA9dGhpcy5fcGFydHMucGF0aC5sZW5ndGgtdGhpcy5maWxlbmFtZSgpLmxlbmd0aC0xLEY9dGhpcy5fcGFydHMucGF0aC5zdWJzdHJpbmcoMCxQKXx8KHRoaXMuX3BhcnRzLmhvc3RuYW1lPyIvIjoiIik7cmV0dXJuIEE/aS5kZWNvZGVQYXRoKEYpOkZ9ZWxzZXt2YXIgaj10aGlzLl9wYXJ0cy5wYXRoLmxlbmd0aC10aGlzLmZpbGVuYW1lKCkubGVuZ3RoLEg9dGhpcy5fcGFydHMucGF0aC5zdWJzdHJpbmcoMCxqKSxrPW5ldyBSZWdFeHAoIl4iK2MoSCkpO3JldHVybiB0aGlzLmlzKCJyZWxhdGl2ZSIpfHwoQXx8KEE9Ii8iKSxBLmNoYXJBdCgwKSE9PSIvIiYmKEE9Ii8iK0EpKSxBJiZBLmNoYXJBdChBLmxlbmd0aC0xKSE9PSIvIiYmKEErPSIvIiksQT1pLnJlY29kZVBhdGgoQSksdGhpcy5fcGFydHMucGF0aD10aGlzLl9wYXJ0cy5wYXRoLnJlcGxhY2UoayxBKSx0aGlzLmJ1aWxkKCFTKSx0aGlzfX0sZi5maWxlbmFtZT1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKHR5cGVvZiBBIT0ic3RyaW5nIil7aWYoIXRoaXMuX3BhcnRzLnBhdGh8fHRoaXMuX3BhcnRzLnBhdGg9PT0iLyIpcmV0dXJuIiI7dmFyIFA9dGhpcy5fcGFydHMucGF0aC5sYXN0SW5kZXhPZigiLyIpLEY9dGhpcy5fcGFydHMucGF0aC5zdWJzdHJpbmcoUCsxKTtyZXR1cm4gQT9pLmRlY29kZVBhdGhTZWdtZW50KEYpOkZ9ZWxzZXt2YXIgaj0hMTtBLmNoYXJBdCgwKT09PSIvIiYmKEE9QS5zdWJzdHJpbmcoMSkpLEEubWF0Y2goL1wuP1wvLykmJihqPSEwKTt2YXIgSD1uZXcgUmVnRXhwKGModGhpcy5maWxlbmFtZSgpKSsiJCIpO3JldHVybiBBPWkucmVjb2RlUGF0aChBKSx0aGlzLl9wYXJ0cy5wYXRoPXRoaXMuX3BhcnRzLnBhdGgucmVwbGFjZShILEEpLGo/dGhpcy5ub3JtYWxpemVQYXRoKFMpOnRoaXMuYnVpbGQoIVMpLHRoaXN9fSxmLnN1ZmZpeD1mdW5jdGlvbihBLFMpe2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gQT09PXZvaWQgMD8iIjp0aGlzO2lmKEE9PT12b2lkIDB8fEE9PT0hMCl7aWYoIXRoaXMuX3BhcnRzLnBhdGh8fHRoaXMuX3BhcnRzLnBhdGg9PT0iLyIpcmV0dXJuIiI7dmFyIFA9dGhpcy5maWxlbmFtZSgpLEY9UC5sYXN0SW5kZXhPZigiLiIpLGosSDtyZXR1cm4gRj09PS0xPyIiOihqPVAuc3Vic3RyaW5nKEYrMSksSD0vXlthLXowLTklXSskL2kudGVzdChqKT9qOiIiLEE/aS5kZWNvZGVQYXRoU2VnbWVudChIKTpIKX1lbHNle0EuY2hhckF0KDApPT09Ii4iJiYoQT1BLnN1YnN0cmluZygxKSk7dmFyIGs9dGhpcy5zdWZmaXgoKSxLO2lmKGspQT9LPW5ldyBSZWdFeHAoYyhrKSsiJCIpOks9bmV3IFJlZ0V4cChjKCIuIitrKSsiJCIpO2Vsc2V7aWYoIUEpcmV0dXJuIHRoaXM7dGhpcy5fcGFydHMucGF0aCs9Ii4iK2kucmVjb2RlUGF0aChBKX1yZXR1cm4gSyYmKEE9aS5yZWNvZGVQYXRoKEEpLHRoaXMuX3BhcnRzLnBhdGg9dGhpcy5fcGFydHMucGF0aC5yZXBsYWNlKEssQSkpLHRoaXMuYnVpbGQoIVMpLHRoaXN9fSxmLnNlZ21lbnQ9ZnVuY3Rpb24oQSxTLFApe3ZhciBGPXRoaXMuX3BhcnRzLnVybj8iOiI6Ii8iLGo9dGhpcy5wYXRoKCksSD1qLnN1YnN0cmluZygwLDEpPT09Ii8iLGs9ai5zcGxpdChGKTtpZihBIT09dm9pZCAwJiZ0eXBlb2YgQSE9Im51bWJlciImJihQPVMsUz1BLEE9dm9pZCAwKSxBIT09dm9pZCAwJiZ0eXBlb2YgQSE9Im51bWJlciIpdGhyb3cgbmV3IEVycm9yKCdCYWQgc2VnbWVudCAiJytBKyciLCBtdXN0IGJlIDAtYmFzZWQgaW50ZWdlcicpO2lmKEgmJmsuc2hpZnQoKSxBPDAmJihBPU1hdGgubWF4KGsubGVuZ3RoK0EsMCkpLFM9PT12b2lkIDApcmV0dXJuIEE9PT12b2lkIDA/azprW0FdO2lmKEE9PT1udWxsfHxrW0FdPT09dm9pZCAwKWlmKHAoUykpe2s9W107Zm9yKHZhciBLPTAsWD1TLmxlbmd0aDtLPFg7SysrKSFTW0tdLmxlbmd0aCYmKCFrLmxlbmd0aHx8IWtbay5sZW5ndGgtMV0ubGVuZ3RoKXx8KGsubGVuZ3RoJiYha1trLmxlbmd0aC0xXS5sZW5ndGgmJmsucG9wKCksay5wdXNoKGcoU1tLXSkpKX1lbHNlKFN8fHR5cGVvZiBTPT0ic3RyaW5nIikmJihTPWcoUyksa1trLmxlbmd0aC0xXT09PSIiP2tbay5sZW5ndGgtMV09UzprLnB1c2goUykpO2Vsc2UgUz9rW0FdPWcoUyk6ay5zcGxpY2UoQSwxKTtyZXR1cm4gSCYmay51bnNoaWZ0KCIiKSx0aGlzLnBhdGgoay5qb2luKEYpLFApfSxmLnNlZ21lbnRDb2RlZD1mdW5jdGlvbihBLFMsUCl7dmFyIEYsaixIO2lmKHR5cGVvZiBBIT0ibnVtYmVyIiYmKFA9UyxTPUEsQT12b2lkIDApLFM9PT12b2lkIDApe2lmKEY9dGhpcy5zZWdtZW50KEEsUyxQKSwhcChGKSlGPUYhPT12b2lkIDA/aS5kZWNvZGUoRik6dm9pZCAwO2Vsc2UgZm9yKGo9MCxIPUYubGVuZ3RoO2o8SDtqKyspRltqXT1pLmRlY29kZShGW2pdKTtyZXR1cm4gRn1pZighcChTKSlTPXR5cGVvZiBTPT0ic3RyaW5nInx8UyBpbnN0YW5jZW9mIFN0cmluZz9pLmVuY29kZShTKTpTO2Vsc2UgZm9yKGo9MCxIPVMubGVuZ3RoO2o8SDtqKyspU1tqXT1pLmVuY29kZShTW2pdKTtyZXR1cm4gdGhpcy5zZWdtZW50KEEsUyxQKX07dmFyIFU9Zi5xdWVyeTtyZXR1cm4gZi5xdWVyeT1mdW5jdGlvbihBLFMpe2lmKEE9PT0hMClyZXR1cm4gaS5wYXJzZVF1ZXJ5KHRoaXMuX3BhcnRzLnF1ZXJ5LHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpO2lmKHR5cGVvZiBBPT0iZnVuY3Rpb24iKXt2YXIgUD1pLnBhcnNlUXVlcnkodGhpcy5fcGFydHMucXVlcnksdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSksRj1BLmNhbGwodGhpcyxQKTtyZXR1cm4gdGhpcy5fcGFydHMucXVlcnk9aS5idWlsZFF1ZXJ5KEZ8fFAsdGhpcy5fcGFydHMuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLHRoaXMuYnVpbGQoIVMpLHRoaXN9ZWxzZSByZXR1cm4gQSE9PXZvaWQgMCYmdHlwZW9mIEEhPSJzdHJpbmciPyh0aGlzLl9wYXJ0cy5xdWVyeT1pLmJ1aWxkUXVlcnkoQSx0aGlzLl9wYXJ0cy5kdXBsaWNhdGVRdWVyeVBhcmFtZXRlcnMsdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSksdGhpcy5idWlsZCghUyksdGhpcyk6VS5jYWxsKHRoaXMsQSxTKX0sZi5zZXRRdWVyeT1mdW5jdGlvbihBLFMsUCl7dmFyIEY9aS5wYXJzZVF1ZXJ5KHRoaXMuX3BhcnRzLnF1ZXJ5LHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpO2lmKHR5cGVvZiBBPT0ic3RyaW5nInx8QSBpbnN0YW5jZW9mIFN0cmluZylGW0FdPVMhPT12b2lkIDA/UzpudWxsO2Vsc2UgaWYodHlwZW9mIEE9PSJvYmplY3QiKWZvcih2YXIgaiBpbiBBKXUuY2FsbChBLGopJiYoRltqXT1BW2pdKTtlbHNlIHRocm93IG5ldyBUeXBlRXJyb3IoIlVSSS5hZGRRdWVyeSgpIGFjY2VwdHMgYW4gb2JqZWN0LCBzdHJpbmcgYXMgdGhlIG5hbWUgcGFyYW1ldGVyIik7cmV0dXJuIHRoaXMuX3BhcnRzLnF1ZXJ5PWkuYnVpbGRRdWVyeShGLHRoaXMuX3BhcnRzLmR1cGxpY2F0ZVF1ZXJ5UGFyYW1ldGVycyx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKSx0eXBlb2YgQSE9InN0cmluZyImJihQPVMpLHRoaXMuYnVpbGQoIVApLHRoaXN9LGYuYWRkUXVlcnk9ZnVuY3Rpb24oQSxTLFApe3ZhciBGPWkucGFyc2VRdWVyeSh0aGlzLl9wYXJ0cy5xdWVyeSx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKTtyZXR1cm4gaS5hZGRRdWVyeShGLEEsUz09PXZvaWQgMD9udWxsOlMpLHRoaXMuX3BhcnRzLnF1ZXJ5PWkuYnVpbGRRdWVyeShGLHRoaXMuX3BhcnRzLmR1cGxpY2F0ZVF1ZXJ5UGFyYW1ldGVycyx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKSx0eXBlb2YgQSE9InN0cmluZyImJihQPVMpLHRoaXMuYnVpbGQoIVApLHRoaXN9LGYucmVtb3ZlUXVlcnk9ZnVuY3Rpb24oQSxTLFApe3ZhciBGPWkucGFyc2VRdWVyeSh0aGlzLl9wYXJ0cy5xdWVyeSx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKTtyZXR1cm4gaS5yZW1vdmVRdWVyeShGLEEsUyksdGhpcy5fcGFydHMucXVlcnk9aS5idWlsZFF1ZXJ5KEYsdGhpcy5fcGFydHMuZHVwbGljYXRlUXVlcnlQYXJhbWV0ZXJzLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLHR5cGVvZiBBIT0ic3RyaW5nIiYmKFA9UyksdGhpcy5idWlsZCghUCksdGhpc30sZi5oYXNRdWVyeT1mdW5jdGlvbihBLFMsUCl7dmFyIEY9aS5wYXJzZVF1ZXJ5KHRoaXMuX3BhcnRzLnF1ZXJ5LHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpO3JldHVybiBpLmhhc1F1ZXJ5KEYsQSxTLFApfSxmLnNldFNlYXJjaD1mLnNldFF1ZXJ5LGYuYWRkU2VhcmNoPWYuYWRkUXVlcnksZi5yZW1vdmVTZWFyY2g9Zi5yZW1vdmVRdWVyeSxmLmhhc1NlYXJjaD1mLmhhc1F1ZXJ5LGYubm9ybWFsaXplPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3BhcnRzLnVybj90aGlzLm5vcm1hbGl6ZVByb3RvY29sKCExKS5ub3JtYWxpemVQYXRoKCExKS5ub3JtYWxpemVRdWVyeSghMSkubm9ybWFsaXplRnJhZ21lbnQoITEpLmJ1aWxkKCk6dGhpcy5ub3JtYWxpemVQcm90b2NvbCghMSkubm9ybWFsaXplSG9zdG5hbWUoITEpLm5vcm1hbGl6ZVBvcnQoITEpLm5vcm1hbGl6ZVBhdGgoITEpLm5vcm1hbGl6ZVF1ZXJ5KCExKS5ub3JtYWxpemVGcmFnbWVudCghMSkuYnVpbGQoKX0sZi5ub3JtYWxpemVQcm90b2NvbD1mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIHRoaXMuX3BhcnRzLnByb3RvY29sPT0ic3RyaW5nIiYmKHRoaXMuX3BhcnRzLnByb3RvY29sPXRoaXMuX3BhcnRzLnByb3RvY29sLnRvTG93ZXJDYXNlKCksdGhpcy5idWlsZCghQSkpLHRoaXN9LGYubm9ybWFsaXplSG9zdG5hbWU9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX3BhcnRzLmhvc3RuYW1lJiYodGhpcy5pcygiSUROIikmJnQ/dGhpcy5fcGFydHMuaG9zdG5hbWU9dC50b0FTQ0lJKHRoaXMuX3BhcnRzLmhvc3RuYW1lKTp0aGlzLmlzKCJJUHY2IikmJmUmJih0aGlzLl9wYXJ0cy5ob3N0bmFtZT1lLmJlc3QodGhpcy5fcGFydHMuaG9zdG5hbWUpKSx0aGlzLl9wYXJ0cy5ob3N0bmFtZT10aGlzLl9wYXJ0cy5ob3N0bmFtZS50b0xvd2VyQ2FzZSgpLHRoaXMuYnVpbGQoIUEpKSx0aGlzfSxmLm5vcm1hbGl6ZVBvcnQ9ZnVuY3Rpb24oQSl7cmV0dXJuIHR5cGVvZiB0aGlzLl9wYXJ0cy5wcm90b2NvbD09InN0cmluZyImJnRoaXMuX3BhcnRzLnBvcnQ9PT1pLmRlZmF1bHRQb3J0c1t0aGlzLl9wYXJ0cy5wcm90b2NvbF0mJih0aGlzLl9wYXJ0cy5wb3J0PW51bGwsdGhpcy5idWlsZCghQSkpLHRoaXN9LGYubm9ybWFsaXplUGF0aD1mdW5jdGlvbihBKXt2YXIgUz10aGlzLl9wYXJ0cy5wYXRoO2lmKCFTKXJldHVybiB0aGlzO2lmKHRoaXMuX3BhcnRzLnVybilyZXR1cm4gdGhpcy5fcGFydHMucGF0aD1pLnJlY29kZVVyblBhdGgodGhpcy5fcGFydHMucGF0aCksdGhpcy5idWlsZCghQSksdGhpcztpZih0aGlzLl9wYXJ0cy5wYXRoPT09Ii8iKXJldHVybiB0aGlzO1M9aS5yZWNvZGVQYXRoKFMpO3ZhciBQLEY9IiIsaixIO2ZvcihTLmNoYXJBdCgwKSE9PSIvIiYmKFA9ITAsUz0iLyIrUyksKFMuc2xpY2UoLTMpPT09Ii8uLiJ8fFMuc2xpY2UoLTIpPT09Ii8uIikmJihTKz0iLyIpLFM9Uy5yZXBsYWNlKC8oXC8oXC5cLykrKXwoXC9cLiQpL2csIi8iKS5yZXBsYWNlKC9cL3syLH0vZywiLyIpLFAmJihGPVMuc3Vic3RyaW5nKDEpLm1hdGNoKC9eKFwuXC5cLykrLyl8fCIiLEYmJihGPUZbMF0pKTtqPVMuc2VhcmNoKC9cL1wuXC4oXC98JCkvKSxqIT09LTE7KXtpZihqPT09MCl7Uz1TLnN1YnN0cmluZygzKTtjb250aW51ZX1IPVMuc3Vic3RyaW5nKDAsaikubGFzdEluZGV4T2YoIi8iKSxIPT09LTEmJihIPWopLFM9Uy5zdWJzdHJpbmcoMCxIKStTLnN1YnN0cmluZyhqKzMpfXJldHVybiBQJiZ0aGlzLmlzKCJyZWxhdGl2ZSIpJiYoUz1GK1Muc3Vic3RyaW5nKDEpKSx0aGlzLl9wYXJ0cy5wYXRoPVMsdGhpcy5idWlsZCghQSksdGhpc30sZi5ub3JtYWxpemVQYXRobmFtZT1mLm5vcm1hbGl6ZVBhdGgsZi5ub3JtYWxpemVRdWVyeT1mdW5jdGlvbihBKXtyZXR1cm4gdHlwZW9mIHRoaXMuX3BhcnRzLnF1ZXJ5PT0ic3RyaW5nIiYmKHRoaXMuX3BhcnRzLnF1ZXJ5Lmxlbmd0aD90aGlzLnF1ZXJ5KGkucGFyc2VRdWVyeSh0aGlzLl9wYXJ0cy5xdWVyeSx0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlKSk6dGhpcy5fcGFydHMucXVlcnk9bnVsbCx0aGlzLmJ1aWxkKCFBKSksdGhpc30sZi5ub3JtYWxpemVGcmFnbWVudD1mdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fcGFydHMuZnJhZ21lbnR8fCh0aGlzLl9wYXJ0cy5mcmFnbWVudD1udWxsLHRoaXMuYnVpbGQoIUEpKSx0aGlzfSxmLm5vcm1hbGl6ZVNlYXJjaD1mLm5vcm1hbGl6ZVF1ZXJ5LGYubm9ybWFsaXplSGFzaD1mLm5vcm1hbGl6ZUZyYWdtZW50LGYuaXNvODg1OT1mdW5jdGlvbigpe3ZhciBBPWkuZW5jb2RlLFM9aS5kZWNvZGU7aS5lbmNvZGU9ZXNjYXBlLGkuZGVjb2RlPWRlY29kZVVSSUNvbXBvbmVudDt0cnl7dGhpcy5ub3JtYWxpemUoKX1maW5hbGx5e2kuZW5jb2RlPUEsaS5kZWNvZGU9U31yZXR1cm4gdGhpc30sZi51bmljb2RlPWZ1bmN0aW9uKCl7dmFyIEE9aS5lbmNvZGUsUz1pLmRlY29kZTtpLmVuY29kZT1ULGkuZGVjb2RlPXVuZXNjYXBlO3RyeXt0aGlzLm5vcm1hbGl6ZSgpfWZpbmFsbHl7aS5lbmNvZGU9QSxpLmRlY29kZT1TfXJldHVybiB0aGlzfSxmLnJlYWRhYmxlPWZ1bmN0aW9uKCl7dmFyIEE9dGhpcy5jbG9uZSgpO0EudXNlcm5hbWUoIiIpLnBhc3N3b3JkKCIiKS5ub3JtYWxpemUoKTt2YXIgUz0iIjtpZihBLl9wYXJ0cy5wcm90b2NvbCYmKFMrPUEuX3BhcnRzLnByb3RvY29sKyI6Ly8iKSxBLl9wYXJ0cy5ob3N0bmFtZSYmKEEuaXMoInB1bnljb2RlIikmJnQ/KFMrPXQudG9Vbmljb2RlKEEuX3BhcnRzLmhvc3RuYW1lKSxBLl9wYXJ0cy5wb3J0JiYoUys9IjoiK0EuX3BhcnRzLnBvcnQpKTpTKz1BLmhvc3QoKSksQS5fcGFydHMuaG9zdG5hbWUmJkEuX3BhcnRzLnBhdGgmJkEuX3BhcnRzLnBhdGguY2hhckF0KDApIT09Ii8iJiYoUys9Ii8iKSxTKz1BLnBhdGgoITApLEEuX3BhcnRzLnF1ZXJ5KXtmb3IodmFyIFA9IiIsRj0wLGo9QS5fcGFydHMucXVlcnkuc3BsaXQoIiYiKSxIPWoubGVuZ3RoO0Y8SDtGKyspe3ZhciBrPShqW0ZdfHwiIikuc3BsaXQoIj0iKTtQKz0iJiIraS5kZWNvZGVRdWVyeShrWzBdLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLnJlcGxhY2UoLyYvZywiJTI2Iiksa1sxXSE9PXZvaWQgMCYmKFArPSI9IitpLmRlY29kZVF1ZXJ5KGtbMV0sdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSkucmVwbGFjZSgvJi9nLCIlMjYiKSl9Uys9Ij8iK1Auc3Vic3RyaW5nKDEpfXJldHVybiBTKz1pLmRlY29kZVF1ZXJ5KEEuaGFzaCgpLCEwKSxTfSxmLmFic29sdXRlVG89ZnVuY3Rpb24oQSl7dmFyIFM9dGhpcy5jbG9uZSgpLFA9WyJwcm90b2NvbCIsInVzZXJuYW1lIiwicGFzc3dvcmQiLCJob3N0bmFtZSIsInBvcnQiXSxGLGosSDtpZih0aGlzLl9wYXJ0cy51cm4pdGhyb3cgbmV3IEVycm9yKCJVUk5zIGRvIG5vdCBoYXZlIGFueSBnZW5lcmFsbHkgZGVmaW5lZCBoaWVyYXJjaGljYWwgY29tcG9uZW50cyIpO2lmKEEgaW5zdGFuY2VvZiBpfHwoQT1uZXcgaShBKSksUy5fcGFydHMucHJvdG9jb2x8fChTLl9wYXJ0cy5wcm90b2NvbD1BLl9wYXJ0cy5wcm90b2NvbCx0aGlzLl9wYXJ0cy5ob3N0bmFtZSkpcmV0dXJuIFM7Zm9yKGo9MDtIPVBbal07aisrKVMuX3BhcnRzW0hdPUEuX3BhcnRzW0hdO3JldHVybiBTLl9wYXJ0cy5wYXRoPyhTLl9wYXJ0cy5wYXRoLnN1YnN0cmluZygtMik9PT0iLi4iJiYoUy5fcGFydHMucGF0aCs9Ii8iKSxTLnBhdGgoKS5jaGFyQXQoMCkhPT0iLyImJihGPUEuZGlyZWN0b3J5KCksRj1GfHwoQS5wYXRoKCkuaW5kZXhPZigiLyIpPT09MD8iLyI6IiIpLFMuX3BhcnRzLnBhdGg9KEY/RisiLyI6IiIpK1MuX3BhcnRzLnBhdGgsUy5ub3JtYWxpemVQYXRoKCkpKTooUy5fcGFydHMucGF0aD1BLl9wYXJ0cy5wYXRoLFMuX3BhcnRzLnF1ZXJ5fHwoUy5fcGFydHMucXVlcnk9QS5fcGFydHMucXVlcnkpKSxTLmJ1aWxkKCksU30sZi5yZWxhdGl2ZVRvPWZ1bmN0aW9uKEEpe3ZhciBTPXRoaXMuY2xvbmUoKS5ub3JtYWxpemUoKSxQLEYsaixILGs7aWYoUy5fcGFydHMudXJuKXRocm93IG5ldyBFcnJvcigiVVJOcyBkbyBub3QgaGF2ZSBhbnkgZ2VuZXJhbGx5IGRlZmluZWQgaGllcmFyY2hpY2FsIGNvbXBvbmVudHMiKTtpZihBPW5ldyBpKEEpLm5vcm1hbGl6ZSgpLFA9Uy5fcGFydHMsRj1BLl9wYXJ0cyxIPVMucGF0aCgpLGs9QS5wYXRoKCksSC5jaGFyQXQoMCkhPT0iLyIpdGhyb3cgbmV3IEVycm9yKCJVUkkgaXMgYWxyZWFkeSByZWxhdGl2ZSIpO2lmKGsuY2hhckF0KDApIT09Ii8iKXRocm93IG5ldyBFcnJvcigiQ2Fubm90IGNhbGN1bGF0ZSBhIFVSSSByZWxhdGl2ZSB0byBhbm90aGVyIHJlbGF0aXZlIFVSSSIpO2lmKFAucHJvdG9jb2w9PT1GLnByb3RvY29sJiYoUC5wcm90b2NvbD1udWxsKSxQLnVzZXJuYW1lIT09Ri51c2VybmFtZXx8UC5wYXNzd29yZCE9PUYucGFzc3dvcmR8fFAucHJvdG9jb2whPT1udWxsfHxQLnVzZXJuYW1lIT09bnVsbHx8UC5wYXNzd29yZCE9PW51bGwpcmV0dXJuIFMuYnVpbGQoKTtpZihQLmhvc3RuYW1lPT09Ri5ob3N0bmFtZSYmUC5wb3J0PT09Ri5wb3J0KVAuaG9zdG5hbWU9bnVsbCxQLnBvcnQ9bnVsbDtlbHNlIHJldHVybiBTLmJ1aWxkKCk7aWYoSD09PWspcmV0dXJuIFAucGF0aD0iIixTLmJ1aWxkKCk7aWYoaj1pLmNvbW1vblBhdGgoSCxrKSwhailyZXR1cm4gUy5idWlsZCgpO3ZhciBLPUYucGF0aC5zdWJzdHJpbmcoai5sZW5ndGgpLnJlcGxhY2UoL1teXC9dKiQvLCIiKS5yZXBsYWNlKC8uKj9cLy9nLCIuLi8iKTtyZXR1cm4gUC5wYXRoPUsrUC5wYXRoLnN1YnN0cmluZyhqLmxlbmd0aCl8fCIuLyIsUy5idWlsZCgpfSxmLmVxdWFscz1mdW5jdGlvbihBKXt2YXIgUz10aGlzLmNsb25lKCksUD1uZXcgaShBKSxGPXt9LGo9e30sSD17fSxrLEssWDtpZihTLm5vcm1hbGl6ZSgpLFAubm9ybWFsaXplKCksUy50b1N0cmluZygpPT09UC50b1N0cmluZygpKXJldHVybiEwO2lmKGs9Uy5xdWVyeSgpLEs9UC5xdWVyeSgpLFMucXVlcnkoIiIpLFAucXVlcnkoIiIpLFMudG9TdHJpbmcoKSE9PVAudG9TdHJpbmcoKXx8ay5sZW5ndGghPT1LLmxlbmd0aClyZXR1cm4hMTtGPWkucGFyc2VRdWVyeShrLHRoaXMuX3BhcnRzLmVzY2FwZVF1ZXJ5U3BhY2UpLGo9aS5wYXJzZVF1ZXJ5KEssdGhpcy5fcGFydHMuZXNjYXBlUXVlcnlTcGFjZSk7Zm9yKFggaW4gRilpZih1LmNhbGwoRixYKSl7aWYocChGW1hdKSl7aWYoIV8oRltYXSxqW1hdKSlyZXR1cm4hMX1lbHNlIGlmKEZbWF0hPT1qW1hdKXJldHVybiExO0hbWF09ITB9Zm9yKFggaW4gailpZih1LmNhbGwoaixYKSYmIUhbWF0pcmV0dXJuITE7cmV0dXJuITB9LGYucHJldmVudEludmFsaWRIb3N0bmFtZT1mdW5jdGlvbihBKXtyZXR1cm4gdGhpcy5fcGFydHMucHJldmVudEludmFsaWRIb3N0bmFtZT0hIUEsdGhpc30sZi5kdXBsaWNhdGVRdWVyeVBhcmFtZXRlcnM9ZnVuY3Rpb24oQSl7cmV0dXJuIHRoaXMuX3BhcnRzLmR1cGxpY2F0ZVF1ZXJ5UGFyYW1ldGVycz0hIUEsdGhpc30sZi5lc2NhcGVRdWVyeVNwYWNlPWZ1bmN0aW9uKEEpe3JldHVybiB0aGlzLl9wYXJ0cy5lc2NhcGVRdWVyeVNwYWNlPSEhQSx0aGlzfSxpfSl9KTtmdW5jdGlvbiB0eCh0KXtyZXR1cm4odC5sZW5ndGg9PT0wfHx0W3QubGVuZ3RoLTFdIT09Ii8iKSYmKHQ9YCR7dH0vYCksdH12YXIgVTEsVjE9WigoKT0+e1UxPXR4fSk7ZnVuY3Rpb24gazEodCxlKXtpZih0PT09bnVsbHx8dHlwZW9mIHQhPSJvYmplY3QiKXJldHVybiB0O2U9eChlLCExKTtsZXQgbj1uZXcgdC5jb25zdHJ1Y3Rvcjtmb3IobGV0IG8gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG8pKXtsZXQgcj10W29dO2UmJihyPWsxKHIsZSkpLG5bb109cn1yZXR1cm4gbn12YXIgWWMsRzE9WigoKT0+e0l0KCk7WWM9azF9KTtmdW5jdGlvbiB6MSh0LGUsbil7bj14KG4sITEpO2xldCBvPXt9LHI9aCh0KSxpPWgoZSkscyxmLHU7aWYocilmb3IocyBpbiB0KXQuaGFzT3duUHJvcGVydHkocykmJihmPXRbc10saSYmbiYmdHlwZW9mIGY9PSJvYmplY3QiJiZlLmhhc093blByb3BlcnR5KHMpPyh1PWVbc10sdHlwZW9mIHU9PSJvYmplY3QiP29bc109ejEoZix1LG4pOm9bc109Zik6b1tzXT1mKTtpZihpKWZvcihzIGluIGUpZS5oYXNPd25Qcm9wZXJ0eShzKSYmIW8uaGFzT3duUHJvcGVydHkocykmJih1PWVbc10sb1tzXT11KTtyZXR1cm4gb312YXIgX3Isb3A9WigoKT0+e0l0KCk7ZnQoKTtfcj16MX0pO2Z1bmN0aW9uIGV4KCl7bGV0IHQsZSxuPW5ldyBQcm9taXNlKGZ1bmN0aW9uKG8scil7dD1vLGU9cn0pO3JldHVybntyZXNvbHZlOnQscmVqZWN0OmUscHJvbWlzZTpufX12YXIganMsQm09WigoKT0+e2pzPWV4fSk7ZnVuY3Rpb24gVW0odCxlKXtsZXQgbjtyZXR1cm4gdHlwZW9mIGRvY3VtZW50PCJ1IiYmKG49ZG9jdW1lbnQpLFVtLl9pbXBsZW1lbnRhdGlvbih0LGUsbil9dmFyIGoxLGZmLFZtPVooKCk9PntqMT1kcih6cygpLDEpO0l0KCk7ZnQoKTtIdCgpO1VtLl9pbXBsZW1lbnRhdGlvbj1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInJlbGF0aXZlIHVyaSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl7aWYodHlwZW9mIG4+InUiKXJldHVybiB0O2U9eChuLmJhc2VVUkksbi5sb2NhdGlvbi5ocmVmKX1sZXQgbz1uZXcgajEuZGVmYXVsdCh0KTtyZXR1cm4gby5zY2hlbWUoKSE9PSIiP28udG9TdHJpbmcoKTpvLmFic29sdXRlVG8oZSkudG9TdHJpbmcoKX07ZmY9VW19KTtmdW5jdGlvbiBueCh0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ1cmkgaXMgcmVxdWlyZWQuIik7bGV0IG49IiIsbz10Lmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIG8hPT0tMSYmKG49dC5zdWJzdHJpbmcoMCxvKzEpKSxlJiYodD1uZXcgSDEuZGVmYXVsdCh0KSx0LnF1ZXJ5KCkubGVuZ3RoIT09MCYmKG4rPWA/JHt0LnF1ZXJ5KCl9YCksdC5mcmFnbWVudCgpLmxlbmd0aCE9PTAmJihuKz1gIyR7dC5mcmFnbWVudCgpfWApKSxufXZhciBIMSxxMSxLMT1aKCgpPT57SDE9ZHIoenMoKSwxKTtmdCgpO0h0KCk7cTE9bnh9KTtmdW5jdGlvbiBveCh0KXtpZighaCh0KSl0aHJvdyBuZXcgQigidXJpIGlzIHJlcXVpcmVkLiIpO2xldCBlPW5ldyBXMS5kZWZhdWx0KHQpO2Uubm9ybWFsaXplKCk7bGV0IG49ZS5wYXRoKCksbz1uLmxhc3RJbmRleE9mKCIvIik7cmV0dXJuIG8hPT0tMSYmKG49bi5zdWJzdHIobysxKSksbz1uLmxhc3RJbmRleE9mKCIuIiksbz09PS0xP249IiI6bj1uLnN1YnN0cihvKzEpLG59dmFyIFcxLFgxLFkxPVooKCk9PntXMT1kcih6cygpLDEpO2Z0KCk7SHQoKTtYMT1veH0pO2Z1bmN0aW9uIHJ4KHQsZSxuKXtoKGUpfHwoZT10LndpZHRoKSxoKG4pfHwobj10LmhlaWdodCk7bGV0IG89JDFbZV07aChvKXx8KG89e30sJDFbZV09byk7bGV0IHI9b1tuXTtpZighaChyKSl7bGV0IGk9ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiY2FudmFzIik7aS53aWR0aD1lLGkuaGVpZ2h0PW4scj1pLmdldENvbnRleHQoIjJkIix7d2lsbFJlYWRGcmVxdWVudGx5OiEwfSksci5nbG9iYWxDb21wb3NpdGVPcGVyYXRpb249ImNvcHkiLG9bbl09cn1yZXR1cm4gci5kcmF3SW1hZ2UodCwwLDAsZSxuKSxyLmdldEltYWdlRGF0YSgwLDAsZSxuKS5kYXRhfXZhciAkMSxrbSxaMT1aKCgpPT57ZnQoKTskMT17fTtrbT1yeH0pO2Z1bmN0aW9uIHN4KHQpe3JldHVybiB5LnR5cGVPZi5zdHJpbmcoInVyaSIsdCksaXgudGVzdCh0KX12YXIgaXgscnAsR209WigoKT0+e1h0KCk7aXg9L15ibG9iOi9pO3JwPXN4fSk7ZnVuY3Rpb24gY3godCl7aCh0aSl8fCh0aT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpLHRpLmhyZWY9d2luZG93LmxvY2F0aW9uLmhyZWY7bGV0IGU9dGkuaG9zdCxuPXRpLnByb3RvY29sO3JldHVybiB0aS5ocmVmPXQsdGkuaHJlZj10aS5ocmVmLG4hPT10aS5wcm90b2NvbHx8ZSE9PXRpLmhvc3R9dmFyIHRpLFExLEoxPVooKCk9PntmdCgpO1ExPWN4fSk7ZnVuY3Rpb24gZngodCl7cmV0dXJuIHkudHlwZU9mLnN0cmluZygidXJpIix0KSxheC50ZXN0KHQpfXZhciBheCxpcCx6bT1aKCgpPT57WHQoKTtheD0vXmRhdGE6L2k7aXA9Znh9KTtmdW5jdGlvbiB1eCh0KXtsZXQgZT1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzY3JpcHQiKTtyZXR1cm4gZS5hc3luYz0hMCxlLnNyYz10LG5ldyBQcm9taXNlKChuLG8pPT57d2luZG93LmNyb3NzT3JpZ2luSXNvbGF0ZWQmJmUuc2V0QXR0cmlidXRlKCJjcm9zc29yaWdpbiIsImFub255bW91cyIpO2xldCByPWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCJoZWFkIilbMF07ZS5vbmxvYWQ9ZnVuY3Rpb24oKXtlLm9ubG9hZD12b2lkIDAsci5yZW1vdmVDaGlsZChlKSxuKCl9LGUub25lcnJvcj1mdW5jdGlvbihpKXtvKGkpfSxyLmFwcGVuZENoaWxkKGUpfSl9dmFyIHRBLGVBPVooKCk9Pnt0QT11eH0pO2Z1bmN0aW9uIGx4KHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJvYmogaXMgcmVxdWlyZWQuIik7bGV0IGU9IiI7Zm9yKGxldCBuIGluIHQpaWYodC5oYXNPd25Qcm9wZXJ0eShuKSl7bGV0IG89dFtuXSxyPWAke2VuY29kZVVSSUNvbXBvbmVudChuKX09YDtpZihBcnJheS5pc0FycmF5KG8pKWZvcihsZXQgaT0wLHM9by5sZW5ndGg7aTxzOysraSllKz1gJHtyK2VuY29kZVVSSUNvbXBvbmVudChvW2ldKX0mYDtlbHNlIGUrPWAke3IrZW5jb2RlVVJJQ29tcG9uZW50KG8pfSZgfXJldHVybiBlPWUuc2xpY2UoMCwtMSksZX12YXIgbkEsb0E9WigoKT0+e2Z0KCk7SHQoKTtuQT1seH0pO2Z1bmN0aW9uIHB4KHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJxdWVyeVN0cmluZyBpcyByZXF1aXJlZC4iKTtsZXQgZT17fTtpZih0PT09IiIpcmV0dXJuIGU7bGV0IG49dC5yZXBsYWNlKC9cKy9nLCIlMjAiKS5zcGxpdCgvWyY7XS8pO2ZvcihsZXQgbz0wLHI9bi5sZW5ndGg7bzxyOysrbyl7bGV0IGk9bltvXS5zcGxpdCgiPSIpLHM9ZGVjb2RlVVJJQ29tcG9uZW50KGlbMF0pLGY9aVsxXTtoKGYpP2Y9ZGVjb2RlVVJJQ29tcG9uZW50KGYpOmY9IiI7bGV0IHU9ZVtzXTt0eXBlb2YgdT09InN0cmluZyI/ZVtzXT1bdSxmXTpBcnJheS5pc0FycmF5KHUpP3UucHVzaChmKTplW3NdPWZ9cmV0dXJuIGV9dmFyIHJBLGlBPVooKCk9PntmdCgpO0h0KCk7ckE9cHh9KTt2YXIgZHgsQ24sc3A9WigoKT0+e2R4PXtVTklTU1VFRDowLElTU1VFRDoxLEFDVElWRToyLFJFQ0VJVkVEOjMsQ0FOQ0VMTEVEOjQsRkFJTEVEOjV9LENuPU9iamVjdC5mcmVlemUoZHgpfSk7dmFyIG14LHNBLGNBPVooKCk9PntteD17VEVSUkFJTjowLElNQUdFUlk6MSxUSUxFUzNEOjIsT1RIRVI6M30sc0E9T2JqZWN0LmZyZWV6ZShteCl9KTtmdW5jdGlvbiBjcCh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9eCh0LnRocm90dGxlQnlTZXJ2ZXIsITEpLG49eCh0LnRocm90dGxlLCExKTt0aGlzLnVybD10LnVybCx0aGlzLnJlcXVlc3RGdW5jdGlvbj10LnJlcXVlc3RGdW5jdGlvbix0aGlzLmNhbmNlbEZ1bmN0aW9uPXQuY2FuY2VsRnVuY3Rpb24sdGhpcy5wcmlvcml0eUZ1bmN0aW9uPXQucHJpb3JpdHlGdW5jdGlvbix0aGlzLnByaW9yaXR5PXgodC5wcmlvcml0eSwwKSx0aGlzLnRocm90dGxlPW4sdGhpcy50aHJvdHRsZUJ5U2VydmVyPWUsdGhpcy50eXBlPXgodC50eXBlLHNBLk9USEVSKSx0aGlzLnNlcnZlcktleT10LnNlcnZlcktleSx0aGlzLnN0YXRlPUNuLlVOSVNTVUVELHRoaXMuZGVmZXJyZWQ9dm9pZCAwLHRoaXMuY2FuY2VsbGVkPSExfXZhciBhQSxmQT1aKCgpPT57SXQoKTtmdCgpO3NwKCk7Y0EoKTtjcC5wcm90b3R5cGUuY2FuY2VsPWZ1bmN0aW9uKCl7dGhpcy5jYW5jZWxsZWQ9ITB9O2NwLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KT8odC51cmw9dGhpcy51cmwsdC5yZXF1ZXN0RnVuY3Rpb249dGhpcy5yZXF1ZXN0RnVuY3Rpb24sdC5jYW5jZWxGdW5jdGlvbj10aGlzLmNhbmNlbEZ1bmN0aW9uLHQucHJpb3JpdHlGdW5jdGlvbj10aGlzLnByaW9yaXR5RnVuY3Rpb24sdC5wcmlvcml0eT10aGlzLnByaW9yaXR5LHQudGhyb3R0bGU9dGhpcy50aHJvdHRsZSx0LnRocm90dGxlQnlTZXJ2ZXI9dGhpcy50aHJvdHRsZUJ5U2VydmVyLHQudHlwZT10aGlzLnR5cGUsdC5zZXJ2ZXJLZXk9dGhpcy5zZXJ2ZXJLZXksdC5zdGF0ZT1Dbi5VTklTU1VFRCx0LmRlZmVycmVkPXZvaWQgMCx0LmNhbmNlbGxlZD0hMSx0KTpuZXcgY3AodGhpcyl9O2FBPWNwfSk7ZnVuY3Rpb24gaHgodCl7bGV0IGU9e307aWYoIXQpcmV0dXJuIGU7bGV0IG49dC5zcGxpdChgXHIKYCk7Zm9yKGxldCBvPTA7bzxuLmxlbmd0aDsrK28pe2xldCByPW5bb10saT1yLmluZGV4T2YoIjogIik7aWYoaT4wKXtsZXQgcz1yLnN1YnN0cmluZygwLGkpLGY9ci5zdWJzdHJpbmcoaSsyKTtlW3NdPWZ9fXJldHVybiBlfXZhciB1QSxsQT1aKCgpPT57dUE9aHh9KTtmdW5jdGlvbiBwQSh0LGUsbil7dGhpcy5zdGF0dXNDb2RlPXQsdGhpcy5yZXNwb25zZT1lLHRoaXMucmVzcG9uc2VIZWFkZXJzPW4sdHlwZW9mIHRoaXMucmVzcG9uc2VIZWFkZXJzPT0ic3RyaW5nIiYmKHRoaXMucmVzcG9uc2VIZWFkZXJzPXVBKHRoaXMucmVzcG9uc2VIZWFkZXJzKSl9dmFyIHVmLGRBPVooKCk9PntmdCgpO2xBKCk7cEEucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7bGV0IHQ9IlJlcXVlc3QgaGFzIGZhaWxlZC4iO3JldHVybiBoKHRoaXMuc3RhdHVzQ29kZSkmJih0Kz1gIFN0YXR1cyBDb2RlOiAke3RoaXMuc3RhdHVzQ29kZX1gKSx0fTt1Zj1wQX0pO2Z1bmN0aW9uIGxmKCl7dGhpcy5fbGlzdGVuZXJzPVtdLHRoaXMuX3Njb3Blcz1bXSx0aGlzLl90b1JlbW92ZT1bXSx0aGlzLl9pbnNpZGVSYWlzZUV2ZW50PSExfWZ1bmN0aW9uIF94KHQsZSl7cmV0dXJuIGUtdH12YXIgbUEsaEE9WigoKT0+e1h0KCk7ZnQoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhsZi5wcm90b3R5cGUse251bWJlck9mTGlzdGVuZXJzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGlzdGVuZXJzLmxlbmd0aC10aGlzLl90b1JlbW92ZS5sZW5ndGh9fX0pO2xmLnByb3RvdHlwZS5hZGRFdmVudExpc3RlbmVyPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YuZnVuYygibGlzdGVuZXIiLHQpLHRoaXMuX2xpc3RlbmVycy5wdXNoKHQpLHRoaXMuX3Njb3Blcy5wdXNoKGUpO2xldCBuPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKCl7bi5yZW1vdmVFdmVudExpc3RlbmVyKHQsZSl9fTtsZi5wcm90b3R5cGUucmVtb3ZlRXZlbnRMaXN0ZW5lcj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLmZ1bmMoImxpc3RlbmVyIix0KTtsZXQgbj10aGlzLl9saXN0ZW5lcnMsbz10aGlzLl9zY29wZXMscj0tMTtmb3IobGV0IGk9MDtpPG4ubGVuZ3RoO2krKylpZihuW2ldPT09dCYmb1tpXT09PWUpe3I9aTticmVha31yZXR1cm4gciE9PS0xPyh0aGlzLl9pbnNpZGVSYWlzZUV2ZW50Pyh0aGlzLl90b1JlbW92ZS5wdXNoKHIpLG5bcl09dm9pZCAwLG9bcl09dm9pZCAwKToobi5zcGxpY2UociwxKSxvLnNwbGljZShyLDEpKSwhMCk6ITF9O2xmLnByb3RvdHlwZS5yYWlzZUV2ZW50PWZ1bmN0aW9uKCl7dGhpcy5faW5zaWRlUmFpc2VFdmVudD0hMDtsZXQgdCxlPXRoaXMuX2xpc3RlbmVycyxuPXRoaXMuX3Njb3BlcyxvPWUubGVuZ3RoO2Zvcih0PTA7dDxvO3QrKyl7bGV0IGk9ZVt0XTtoKGkpJiZlW3RdLmFwcGx5KG5bdF0sYXJndW1lbnRzKX1sZXQgcj10aGlzLl90b1JlbW92ZTtpZihvPXIubGVuZ3RoLG8+MCl7Zm9yKHIuc29ydChfeCksdD0wO3Q8bzt0Kyspe2xldCBpPXJbdF07ZS5zcGxpY2UoaSwxKSxuLnNwbGljZShpLDEpfXIubGVuZ3RoPTB9dGhpcy5faW5zaWRlUmFpc2VFdmVudD0hMX07bUE9bGZ9KTtmdW5jdGlvbiBIcyh0KXt5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMiLHQpLHkuZGVmaW5lZCgib3B0aW9ucy5jb21wYXJhdG9yIix0LmNvbXBhcmF0b3IpLHRoaXMuX2NvbXBhcmF0b3I9dC5jb21wYXJhdG9yLHRoaXMuX2FycmF5PVtdLHRoaXMuX2xlbmd0aD0wLHRoaXMuX21heGltdW1MZW5ndGg9dm9pZCAwfWZ1bmN0aW9uIGptKHQsZSxuKXtsZXQgbz10W2VdO3RbZV09dFtuXSx0W25dPW99dmFyIF9BLHlBPVooKCk9PntYdCgpO0l0KCk7ZnQoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhIcy5wcm90b3R5cGUse2xlbmd0aDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2xlbmd0aH19LGludGVybmFsQXJyYXk6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9hcnJheX19LG1heGltdW1MZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9tYXhpbXVtTGVuZ3RofSxzZXQ6ZnVuY3Rpb24odCl7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIm1heGltdW1MZW5ndGgiLHQsMCk7bGV0IGU9dGhpcy5fbGVuZ3RoO2lmKHQ8ZSl7bGV0IG49dGhpcy5fYXJyYXk7Zm9yKGxldCBvPXQ7bzxlOysrbyluW29dPXZvaWQgMDt0aGlzLl9sZW5ndGg9dCxuLmxlbmd0aD10fXRoaXMuX21heGltdW1MZW5ndGg9dH19LGNvbXBhcmF0b3I6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jb21wYXJhdG9yfX19KTtIcy5wcm90b3R5cGUucmVzZXJ2ZT1mdW5jdGlvbih0KXt0PXgodCx0aGlzLl9sZW5ndGgpLHRoaXMuX2FycmF5Lmxlbmd0aD10fTtIcy5wcm90b3R5cGUuaGVhcGlmeT1mdW5jdGlvbih0KXt0PXgodCwwKTtsZXQgZT10aGlzLl9sZW5ndGgsbj10aGlzLl9jb21wYXJhdG9yLG89dGhpcy5fYXJyYXkscj0tMSxpPSEwO2Zvcig7aTspe2xldCBzPTIqKHQrMSksZj1zLTE7ZjxlJiZuKG9bZl0sb1t0XSk8MD9yPWY6cj10LHM8ZSYmbihvW3NdLG9bcl0pPDAmJihyPXMpLHIhPT10PyhqbShvLHIsdCksdD1yKTppPSExfX07SHMucHJvdG90eXBlLnJlc29ydD1mdW5jdGlvbigpe2xldCB0PXRoaXMuX2xlbmd0aDtmb3IobGV0IGU9TWF0aC5jZWlsKHQvMik7ZT49MDstLWUpdGhpcy5oZWFwaWZ5KGUpfTtIcy5wcm90b3R5cGUuaW5zZXJ0PWZ1bmN0aW9uKHQpe3kuZGVmaW5lZCgiZWxlbWVudCIsdCk7bGV0IGU9dGhpcy5fYXJyYXksbj10aGlzLl9jb21wYXJhdG9yLG89dGhpcy5fbWF4aW11bUxlbmd0aCxyPXRoaXMuX2xlbmd0aCsrO2ZvcihyPGUubGVuZ3RoP2Vbcl09dDplLnB1c2godCk7ciE9PTA7KXtsZXQgcz1NYXRoLmZsb29yKChyLTEpLzIpO2lmKG4oZVtyXSxlW3NdKTwwKWptKGUscixzKSxyPXM7ZWxzZSBicmVha31sZXQgaTtyZXR1cm4gaChvKSYmdGhpcy5fbGVuZ3RoPm8mJihpPWVbb10sdGhpcy5fbGVuZ3RoPW8pLGl9O0hzLnByb3RvdHlwZS5wb3A9ZnVuY3Rpb24odCl7aWYodD14KHQsMCksdGhpcy5fbGVuZ3RoPT09MClyZXR1cm47eS50eXBlT2YubnVtYmVyLmxlc3NUaGFuKCJpbmRleCIsdCx0aGlzLl9sZW5ndGgpO2xldCBlPXRoaXMuX2FycmF5LG49ZVt0XTtyZXR1cm4gam0oZSx0LC0tdGhpcy5fbGVuZ3RoKSx0aGlzLmhlYXBpZnkodCksZVt0aGlzLl9sZW5ndGhdPXZvaWQgMCxufTtfQT1Ic30pO2Z1bmN0aW9uIHl4KHQsZSl7cmV0dXJuIHQucHJpb3JpdHktZS5wcmlvcml0eX1mdW5jdGlvbiBUbigpe31mdW5jdGlvbiBnQSh0KXtoKHQucHJpb3JpdHlGdW5jdGlvbikmJih0LnByaW9yaXR5PXQucHJpb3JpdHlGdW5jdGlvbigpKX1mdW5jdGlvbiBBQSh0KXtyZXR1cm4gdC5zdGF0ZT09PUNuLlVOSVNTVUVEJiYodC5zdGF0ZT1Dbi5JU1NVRUQsdC5kZWZlcnJlZD1qcygpKSx0LmRlZmVycmVkLnByb21pc2V9ZnVuY3Rpb24gQXgodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe2lmKHQuc3RhdGU9PT1Dbi5DQU5DRUxMRUQpcmV0dXJuO2xldCBuPXQuZGVmZXJyZWQ7LS1qZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzLC0tQ2lbdC5zZXJ2ZXJLZXldLGZwLnJhaXNlRXZlbnQoKSx0LnN0YXRlPUNuLlJFQ0VJVkVELHQuZGVmZXJyZWQ9dm9pZCAwLG4ucmVzb2x2ZShlKX19ZnVuY3Rpb24gYngodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3Quc3RhdGUhPT1Dbi5DQU5DRUxMRUQmJigrK2plLm51bWJlck9mRmFpbGVkUmVxdWVzdHMsLS1qZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzLC0tQ2lbdC5zZXJ2ZXJLZXldLGZwLnJhaXNlRXZlbnQoZSksdC5zdGF0ZT1Dbi5GQUlMRUQsdC5kZWZlcnJlZC5yZWplY3QoZSkpfX1mdW5jdGlvbiBiQSh0KXtsZXQgZT1BQSh0KTtyZXR1cm4gdC5zdGF0ZT1Dbi5BQ1RJVkUsZWkucHVzaCh0KSwrK2plLm51bWJlck9mQWN0aXZlUmVxdWVzdHMsKytqZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzRXZlciwrK0NpW3Quc2VydmVyS2V5XSx0LnJlcXVlc3RGdW5jdGlvbigpLnRoZW4oQXgodCkpLmNhdGNoKGJ4KHQpKSxlfWZ1bmN0aW9uIHFzKHQpe2xldCBlPXQuc3RhdGU9PT1Dbi5BQ1RJVkU7aWYodC5zdGF0ZT1Dbi5DQU5DRUxMRUQsKytqZS5udW1iZXJPZkNhbmNlbGxlZFJlcXVlc3RzLGgodC5kZWZlcnJlZCkpe2xldCBuPXQuZGVmZXJyZWQ7dC5kZWZlcnJlZD12b2lkIDAsbi5yZWplY3QoKX1lJiYoLS1qZS5udW1iZXJPZkFjdGl2ZVJlcXVlc3RzLC0tQ2lbdC5zZXJ2ZXJLZXldLCsramUubnVtYmVyT2ZDYW5jZWxsZWRBY3RpdmVSZXF1ZXN0cyksaCh0LmNhbmNlbEZ1bmN0aW9uKSYmdC5jYW5jZWxGdW5jdGlvbigpfWZ1bmN0aW9uIFR4KCl7VG4uZGVidWdTaG93U3RhdGlzdGljcyYmKGplLm51bWJlck9mQWN0aXZlUmVxdWVzdHM9PT0wJiZqZS5sYXN0TnVtYmVyT2ZBY3RpdmVSZXF1ZXN0cz4wJiYoamUubnVtYmVyT2ZBdHRlbXB0ZWRSZXF1ZXN0cz4wJiYoY29uc29sZS5sb2coYE51bWJlciBvZiBhdHRlbXB0ZWQgcmVxdWVzdHM6ICR7amUubnVtYmVyT2ZBdHRlbXB0ZWRSZXF1ZXN0c31gKSxqZS5udW1iZXJPZkF0dGVtcHRlZFJlcXVlc3RzPTApLGplLm51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHM+MCYmKGNvbnNvbGUubG9nKGBOdW1iZXIgb2YgY2FuY2VsbGVkIHJlcXVlc3RzOiAke2plLm51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHN9YCksamUubnVtYmVyT2ZDYW5jZWxsZWRSZXF1ZXN0cz0wKSxqZS5udW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzPjAmJihjb25zb2xlLmxvZyhgTnVtYmVyIG9mIGNhbmNlbGxlZCBhY3RpdmUgcmVxdWVzdHM6ICR7amUubnVtYmVyT2ZDYW5jZWxsZWRBY3RpdmVSZXF1ZXN0c31gKSxqZS5udW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzPTApLGplLm51bWJlck9mRmFpbGVkUmVxdWVzdHM+MCYmKGNvbnNvbGUubG9nKGBOdW1iZXIgb2YgZmFpbGVkIHJlcXVlc3RzOiAke2plLm51bWJlck9mRmFpbGVkUmVxdWVzdHN9YCksamUubnVtYmVyT2ZGYWlsZWRSZXF1ZXN0cz0wKSksamUubGFzdE51bWJlck9mQWN0aXZlUmVxdWVzdHM9amUubnVtYmVyT2ZBY3RpdmVSZXF1ZXN0cyl9dmFyIGFwLGplLCRjLFRvLGVpLENpLGd4LGZwLHVwLFRBPVooKCk9PnthcD1kcih6cygpLDEpO1h0KCk7SXQoKTtCbSgpO2Z0KCk7aEEoKTt5QSgpO0dtKCk7em0oKTtzcCgpO2plPXtudW1iZXJPZkF0dGVtcHRlZFJlcXVlc3RzOjAsbnVtYmVyT2ZBY3RpdmVSZXF1ZXN0czowLG51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHM6MCxudW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzOjAsbnVtYmVyT2ZGYWlsZWRSZXF1ZXN0czowLG51bWJlck9mQWN0aXZlUmVxdWVzdHNFdmVyOjAsbGFzdE51bWJlck9mQWN0aXZlUmVxdWVzdHM6MH0sJGM9MjAsVG89bmV3IF9BKHtjb21wYXJhdG9yOnl4fSk7VG8ubWF4aW11bUxlbmd0aD0kYztUby5yZXNlcnZlKCRjKTtlaT1bXSxDaT17fSxneD10eXBlb2YgZG9jdW1lbnQ8InUiP25ldyBhcC5kZWZhdWx0KGRvY3VtZW50LmxvY2F0aW9uLmhyZWYpOm5ldyBhcC5kZWZhdWx0LGZwPW5ldyBtQTtUbi5tYXhpbXVtUmVxdWVzdHM9NTA7VG4ubWF4aW11bVJlcXVlc3RzUGVyU2VydmVyPTE4O1RuLnJlcXVlc3RzQnlTZXJ2ZXI9e307VG4udGhyb3R0bGVSZXF1ZXN0cz0hMDtUbi5kZWJ1Z1Nob3dTdGF0aXN0aWNzPSExO1RuLnJlcXVlc3RDb21wbGV0ZWRFdmVudD1mcDtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhUbix7c3RhdGlzdGljczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGplfX0scHJpb3JpdHlIZWFwTGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gJGN9LHNldDpmdW5jdGlvbih0KXtpZih0PCRjKWZvcig7VG8ubGVuZ3RoPnQ7KXtsZXQgZT1Uby5wb3AoKTtxcyhlKX0kYz10LFRvLm1heGltdW1MZW5ndGg9dCxUby5yZXNlcnZlKHQpfX19KTtUbi5zZXJ2ZXJIYXNPcGVuU2xvdHM9ZnVuY3Rpb24odCxlKXtlPXgoZSwxKTtsZXQgbj14KFRuLnJlcXVlc3RzQnlTZXJ2ZXJbdF0sVG4ubWF4aW11bVJlcXVlc3RzUGVyU2VydmVyKTtyZXR1cm4gQ2lbdF0rZTw9bn07VG4uaGVhcEhhc09wZW5TbG90cz1mdW5jdGlvbih0KXtyZXR1cm4gVG8ubGVuZ3RoK3Q8PSRjfTtUbi51cGRhdGU9ZnVuY3Rpb24oKXtsZXQgdCxlLG49MCxvPWVpLmxlbmd0aDtmb3IodD0wO3Q8bzsrK3Qpe2lmKGU9ZWlbdF0sZS5jYW5jZWxsZWQmJnFzKGUpLGUuc3RhdGUhPT1Dbi5BQ1RJVkUpeysrbjtjb250aW51ZX1uPjAmJihlaVt0LW5dPWUpfWVpLmxlbmd0aC09bjtsZXQgcj1Uby5pbnRlcm5hbEFycmF5LGk9VG8ubGVuZ3RoO2Zvcih0PTA7dDxpOysrdClnQShyW3RdKTtUby5yZXNvcnQoKTtsZXQgcz1NYXRoLm1heChUbi5tYXhpbXVtUmVxdWVzdHMtZWkubGVuZ3RoLDApLGY9MDtmb3IoO2Y8cyYmVG8ubGVuZ3RoPjA7KXtpZihlPVRvLnBvcCgpLGUuY2FuY2VsbGVkKXtxcyhlKTtjb250aW51ZX1pZihlLnRocm90dGxlQnlTZXJ2ZXImJiFUbi5zZXJ2ZXJIYXNPcGVuU2xvdHMoZS5zZXJ2ZXJLZXkpKXtxcyhlKTtjb250aW51ZX1iQShlKSwrK2Z9VHgoKX07VG4uZ2V0U2VydmVyS2V5PWZ1bmN0aW9uKHQpe3kudHlwZU9mLnN0cmluZygidXJsIix0KTtsZXQgZT1uZXcgYXAuZGVmYXVsdCh0KTtlLnNjaGVtZSgpPT09IiImJihlPWUuYWJzb2x1dGVUbyhneCksZS5ub3JtYWxpemUoKSk7bGV0IG49ZS5hdXRob3JpdHkoKTsvOi8udGVzdChuKXx8KG49YCR7bn06JHtlLnNjaGVtZSgpPT09Imh0dHBzIj8iNDQzIjoiODAifWApO2xldCBvPUNpW25dO3JldHVybiBoKG8pfHwoQ2lbbl09MCksbn07VG4ucmVxdWVzdD1mdW5jdGlvbih0KXtpZih5LnR5cGVPZi5vYmplY3QoInJlcXVlc3QiLHQpLHkudHlwZU9mLnN0cmluZygicmVxdWVzdC51cmwiLHQudXJsKSx5LnR5cGVPZi5mdW5jKCJyZXF1ZXN0LnJlcXVlc3RGdW5jdGlvbiIsdC5yZXF1ZXN0RnVuY3Rpb24pLGlwKHQudXJsKXx8cnAodC51cmwpKXJldHVybiBmcC5yYWlzZUV2ZW50KCksdC5zdGF0ZT1Dbi5SRUNFSVZFRCx0LnJlcXVlc3RGdW5jdGlvbigpO2lmKCsramUubnVtYmVyT2ZBdHRlbXB0ZWRSZXF1ZXN0cyxoKHQuc2VydmVyS2V5KXx8KHQuc2VydmVyS2V5PVRuLmdldFNlcnZlcktleSh0LnVybCkpLFRuLnRocm90dGxlUmVxdWVzdHMmJnQudGhyb3R0bGVCeVNlcnZlciYmIVRuLnNlcnZlckhhc09wZW5TbG90cyh0LnNlcnZlcktleSkpcmV0dXJuO2lmKCFUbi50aHJvdHRsZVJlcXVlc3RzfHwhdC50aHJvdHRsZSlyZXR1cm4gYkEodCk7aWYoZWkubGVuZ3RoPj1Ubi5tYXhpbXVtUmVxdWVzdHMpcmV0dXJuO2dBKHQpO2xldCBlPVRvLmluc2VydCh0KTtpZihoKGUpKXtpZihlPT09dClyZXR1cm47cXMoZSl9cmV0dXJuIEFBKHQpfTtUbi5jbGVhckZvclNwZWNzPWZ1bmN0aW9uKCl7Zm9yKDtUby5sZW5ndGg+MDspe2xldCBlPVRvLnBvcCgpO3FzKGUpfWxldCB0PWVpLmxlbmd0aDtmb3IobGV0IGU9MDtlPHQ7KytlKXFzKGVpW2VdKTtlaS5sZW5ndGg9MCxDaT17fSxqZS5udW1iZXJPZkF0dGVtcHRlZFJlcXVlc3RzPTAsamUubnVtYmVyT2ZBY3RpdmVSZXF1ZXN0cz0wLGplLm51bWJlck9mQ2FuY2VsbGVkUmVxdWVzdHM9MCxqZS5udW1iZXJPZkNhbmNlbGxlZEFjdGl2ZVJlcXVlc3RzPTAsamUubnVtYmVyT2ZGYWlsZWRSZXF1ZXN0cz0wLGplLm51bWJlck9mQWN0aXZlUmVxdWVzdHNFdmVyPTAsamUubGFzdE51bWJlck9mQWN0aXZlUmVxdWVzdHM9MH07VG4ubnVtYmVyT2ZBY3RpdmVSZXF1ZXN0c0J5U2VydmVyPWZ1bmN0aW9uKHQpe3JldHVybiBDaVt0XX07VG4ucmVxdWVzdEhlYXA9VG87dXA9VG59KTtmdW5jdGlvbiB3eCh0KXtsZXQgZT1uZXcgd0EuZGVmYXVsdCh0KTtlLm5vcm1hbGl6ZSgpO2xldCBuPWUuYXV0aG9yaXR5KCk7aWYobi5sZW5ndGghPT0wKXtpZihlLmF1dGhvcml0eShuKSxuLmluZGV4T2YoIkAiKSE9PS0xJiYobj1uLnNwbGl0KCJAIilbMV0pLG4uaW5kZXhPZigiOiIpPT09LTEpe2xldCBvPWUuc2NoZW1lKCk7aWYoby5sZW5ndGg9PT0wJiYobz13aW5kb3cubG9jYXRpb24ucHJvdG9jb2wsbz1vLnN1YnN0cmluZygwLG8ubGVuZ3RoLTEpKSxvPT09Imh0dHAiKW4rPSI6ODAiO2Vsc2UgaWYobz09PSJodHRwcyIpbis9Ijo0NDMiO2Vsc2UgcmV0dXJufXJldHVybiBufX12YXIgd0EscGYsWmMsSG0sT0E9WigoKT0+e3dBPWRyKHpzKCksMSk7ZnQoKTtIdCgpO3BmPXt9LFpjPXt9O3BmLmFkZD1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJob3N0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpfHxlPD0wKXRocm93IG5ldyBCKCJwb3J0IGlzIHJlcXVpcmVkIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLiIpO2xldCBuPWAke3QudG9Mb3dlckNhc2UoKX06JHtlfWA7aChaY1tuXSl8fChaY1tuXT0hMCl9O3BmLnJlbW92ZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJob3N0IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpfHxlPD0wKXRocm93IG5ldyBCKCJwb3J0IGlzIHJlcXVpcmVkIHRvIGJlIGdyZWF0ZXIgdGhhbiAwLiIpO2xldCBuPWAke3QudG9Mb3dlckNhc2UoKX06JHtlfWA7aChaY1tuXSkmJmRlbGV0ZSBaY1tuXX07cGYuY29udGFpbnM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEIoInVybCBpcyByZXF1aXJlZC4iKTtsZXQgZT13eCh0KTtyZXR1cm4hIShoKGUpJiZoKFpjW2VdKSl9O3BmLmNsZWFyPWZ1bmN0aW9uKCl7WmM9e319O0htPXBmfSk7ZnVuY3Rpb24ga3QodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHR5cGVvZiB0PT0ic3RyaW5nIiYmKHQ9e3VybDp0fSkseS50eXBlT2Yuc3RyaW5nKCJvcHRpb25zLnVybCIsdC51cmwpLHRoaXMuX3VybD12b2lkIDAsdGhpcy5fdGVtcGxhdGVWYWx1ZXM9bmkodC50ZW1wbGF0ZVZhbHVlcyx7fSksdGhpcy5fcXVlcnlQYXJhbWV0ZXJzPW5pKHQucXVlcnlQYXJhbWV0ZXJzLHt9KSx0aGlzLmhlYWRlcnM9bmkodC5oZWFkZXJzLHt9KSx0aGlzLnJlcXVlc3Q9eCh0LnJlcXVlc3QsbmV3IGFBKSx0aGlzLnByb3h5PXQucHJveHksdGhpcy5yZXRyeUNhbGxiYWNrPXQucmV0cnlDYWxsYmFjayx0aGlzLnJldHJ5QXR0ZW1wdHM9eCh0LnJldHJ5QXR0ZW1wdHMsMCksdGhpcy5fcmV0cnlDb3VudD0wLHgodC5wYXJzZVVybCwhMCk/dGhpcy5wYXJzZVVybCh0LnVybCwhMCwhMCk6dGhpcy5fdXJsPXQudXJsLHRoaXMuX2NyZWRpdHM9dC5jcmVkaXRzfWZ1bmN0aW9uIG5pKHQsZSl7cmV0dXJuIGgodCk/WWModCk6ZX1mdW5jdGlvbiBPeCh0KXtyZXR1cm4gdC5sZW5ndGg9PT0wP3t9OnQuaW5kZXhPZigiPSIpPT09LTE/e1t0XTp2b2lkIDB9OnJBKHQpfWZ1bmN0aW9uIHBwKHQsZSxuKXtpZighbilyZXR1cm4gX3IodCxlKTtsZXQgbz1ZYyh0LCEwKTtmb3IobGV0IHIgaW4gZSlpZihlLmhhc093blByb3BlcnR5KHIpKXtsZXQgaT1vW3JdLHM9ZVtyXTtoKGkpPyhBcnJheS5pc0FycmF5KGkpfHwoaT1vW3JdPVtpXSksb1tyXT1pLmNvbmNhdChzKSk6b1tyXT1BcnJheS5pc0FycmF5KHMpP3Muc2xpY2UoKTpzfXJldHVybiBvfWZ1bmN0aW9uIEV4KHQpe2xldCBlPU9iamVjdC5rZXlzKHQpO3JldHVybiBlLmxlbmd0aD09PTA/IiI6ZS5sZW5ndGg9PT0xJiYhaCh0W2VbMF1dKT9gPyR7ZVswXX1gOmA/JHtuQSh0KX1gfWZ1bmN0aW9uIHFtKHQpe2xldCBlPXQucmVzb3VyY2Usbj10LmZsaXBZLG89dC5za2lwQ29sb3JTcGFjZUNvbnZlcnNpb24scj10LnByZWZlckltYWdlQml0bWFwLGk9ZS5yZXF1ZXN0O2kudXJsPWUudXJsLGkucmVxdWVzdEZ1bmN0aW9uPWZ1bmN0aW9uKCl7bGV0IGY9ITE7IWUuaXNEYXRhVXJpJiYhZS5pc0Jsb2JVcmkmJihmPWUuaXNDcm9zc09yaWdpblVybCk7bGV0IHU9anMoKTtyZXR1cm4ga3QuX0ltcGxlbWVudGF0aW9ucy5jcmVhdGVJbWFnZShpLGYsdSxuLG8sciksdS5wcm9taXNlfTtsZXQgcz11cC5yZXF1ZXN0KGkpO2lmKGgocykpcmV0dXJuIHMuY2F0Y2goZnVuY3Rpb24oZil7cmV0dXJuIGkuc3RhdGUhPT1Dbi5GQUlMRUQ/UHJvbWlzZS5yZWplY3QoZik6ZS5yZXRyeU9uRXJyb3IoZikudGhlbihmdW5jdGlvbih1KXtyZXR1cm4gdT8oaS5zdGF0ZT1Dbi5VTklTU1VFRCxpLmRlZmVycmVkPXZvaWQgMCxxbSh7cmVzb3VyY2U6ZSxmbGlwWTpuLHNraXBDb2xvclNwYWNlQ29udmVyc2lvbjpvLHByZWZlckltYWdlQml0bWFwOnJ9KSk6UHJvbWlzZS5yZWplY3QoZil9KX0pfWZ1bmN0aW9uIENBKHQsZSxuKXtsZXQgbz17fTtvW2VdPW4sdC5zZXRRdWVyeVBhcmFtZXRlcnMobyk7bGV0IHI9dC5yZXF1ZXN0LGk9dC51cmw7ci51cmw9aSxyLnJlcXVlc3RGdW5jdGlvbj1mdW5jdGlvbigpe2xldCBmPWpzKCk7cmV0dXJuIHdpbmRvd1tuXT1mdW5jdGlvbih1KXtmLnJlc29sdmUodSk7dHJ5e2RlbGV0ZSB3aW5kb3dbbl19Y2F0Y2h7d2luZG93W25dPXZvaWQgMH19LGt0Ll9JbXBsZW1lbnRhdGlvbnMubG9hZEFuZEV4ZWN1dGVTY3JpcHQoaSxuLGYpLGYucHJvbWlzZX07bGV0IHM9dXAucmVxdWVzdChyKTtpZihoKHMpKXJldHVybiBzLmNhdGNoKGZ1bmN0aW9uKGYpe3JldHVybiByLnN0YXRlIT09Q24uRkFJTEVEP1Byb21pc2UucmVqZWN0KGYpOnQucmV0cnlPbkVycm9yKGYpLnRoZW4oZnVuY3Rpb24odSl7cmV0dXJuIHU/KHIuc3RhdGU9Q24uVU5JU1NVRUQsci5kZWZlcnJlZD12b2lkIDAsQ0EodCxlLG4pKTpQcm9taXNlLnJlamVjdChmKX0pfSl9ZnVuY3Rpb24gS20odCl7aWYodC5zdGF0ZT09PUNuLklTU1VFRHx8dC5zdGF0ZT09PUNuLkFDVElWRSl0aHJvdyBuZXcgQWUoIlRoZSBSZXNvdXJjZSBpcyBhbHJlYWR5IGJlaW5nIGZldGNoZWQuIik7dC5zdGF0ZT1Dbi5VTklTU1VFRCx0LmRlZmVycmVkPXZvaWQgMH1mdW5jdGlvbiBscCh0LGUpe2xldCBuPWRlY29kZVVSSUNvbXBvbmVudChlKTtyZXR1cm4gdD9hdG9iKG4pOm59ZnVuY3Rpb24gRUEodCxlKXtsZXQgbj1scCh0LGUpLG89bmV3IEFycmF5QnVmZmVyKG4ubGVuZ3RoKSxyPW5ldyBVaW50OEFycmF5KG8pO2ZvcihsZXQgaT0wO2k8bi5sZW5ndGg7aSsrKXJbaV09bi5jaGFyQ29kZUF0KGkpO3JldHVybiBvfWZ1bmN0aW9uIFN4KHQsZSl7ZT14KGUsIiIpO2xldCBuPXRbMV0sbz0hIXRbMl0scj10WzNdLGkscztzd2l0Y2goZSl7Y2FzZSIiOmNhc2UidGV4dCI6cmV0dXJuIGxwKG8scik7Y2FzZSJhcnJheWJ1ZmZlciI6cmV0dXJuIEVBKG8scik7Y2FzZSJibG9iIjpyZXR1cm4gaT1FQShvLHIpLG5ldyBCbG9iKFtpXSx7dHlwZTpufSk7Y2FzZSJkb2N1bWVudCI6cmV0dXJuIHM9bmV3IERPTVBhcnNlcixzLnBhcnNlRnJvbVN0cmluZyhscChvLHIpLG4pO2Nhc2UianNvbiI6cmV0dXJuIEpTT04ucGFyc2UobHAobyxyKSk7ZGVmYXVsdDp0aHJvdyBuZXcgQihgVW5oYW5kbGVkIHJlc3BvbnNlVHlwZTogJHtlfWApfX1mdW5jdGlvbiBDeCh0LGUsbixvLHIsaSxzKXtmZXRjaCh0LHttZXRob2Q6bixoZWFkZXJzOnJ9KS50aGVuKGFzeW5jIGY9PntpZighZi5vayl7bGV0IHU9e307Zi5oZWFkZXJzLmZvckVhY2goKGMsbCk9Pnt1W2xdPWN9KSxpLnJlamVjdChuZXcgdWYoZi5zdGF0dXMsZix1KSk7cmV0dXJufXN3aXRjaChlKXtjYXNlInRleHQiOmkucmVzb2x2ZShmLnRleHQoKSk7YnJlYWs7Y2FzZSJqc29uIjppLnJlc29sdmUoZi5qc29uKCkpO2JyZWFrO2RlZmF1bHQ6aS5yZXNvbHZlKG5ldyBVaW50OEFycmF5KGF3YWl0IGYuYXJyYXlCdWZmZXIoKSkuYnVmZmVyKTticmVha319KS5jYXRjaCgoKT0+e2kucmVqZWN0KG5ldyB1Zil9KX12YXIgUkEsU0EsUWMsUngseHgsb2ksZGY9WigoKT0+e1JBPWRyKHpzKCksMSk7VjEoKTtYdCgpO0cxKCk7b3AoKTtJdCgpO0JtKCk7ZnQoKTtIdCgpO1ZtKCk7SzEoKTtZMSgpO1oxKCk7R20oKTtKMSgpO3ptKCk7ZUEoKTtXdCgpO29BKCk7aUEoKTtmQSgpO2RBKCk7VEEoKTtzcCgpO0pyKCk7T0EoKTtTQT1mdW5jdGlvbigpe3RyeXtsZXQgdD1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIHQub3BlbigiR0VUIiwiIyIsITApLHQucmVzcG9uc2VUeXBlPSJibG9iIix0LnJlc3BvbnNlVHlwZT09PSJibG9iIn1jYXRjaHtyZXR1cm4hMX19KCk7a3QuY3JlYXRlSWZOZWVkZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBrdD90LmdldERlcml2ZWRSZXNvdXJjZSh7cmVxdWVzdDp0LnJlcXVlc3R9KTp0eXBlb2YgdCE9InN0cmluZyI/dDpuZXcga3Qoe3VybDp0fSl9O2t0LnN1cHBvcnRzSW1hZ2VCaXRtYXBPcHRpb25zPWZ1bmN0aW9uKCl7cmV0dXJuIGgoUWMpP1FjOnR5cGVvZiBjcmVhdGVJbWFnZUJpdG1hcCE9ImZ1bmN0aW9uIj8oUWM9UHJvbWlzZS5yZXNvbHZlKCExKSxRYyk6KFFjPWt0LmZldGNoQmxvYih7dXJsOiJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFFQUFBQUJDQUlBQUFDUWQxUGVBQUFBQkdkQlRVRUFBRTRnM3JFaURnQUFBQ0JqU0ZKTkFBQjZKZ0FBZ0lRQUFQb0FBQUNBNkFBQWRUQUFBT3BnQUFBNm1BQUFGM0NjdWxFOEFBQUFERWxFUVZRSTEyTmc2R0FBQUFFVUFJbmdFM1ppQUFBQUFFbEZUa1N1UW1DQyJ9KS50aGVuKGZ1bmN0aW9uKGUpe2xldCBuPXtpbWFnZU9yaWVudGF0aW9uOiJmbGlwWSIscHJlbXVsdGlwbHlBbHBoYToibm9uZSIsY29sb3JTcGFjZUNvbnZlcnNpb246Im5vbmUifTtyZXR1cm4gUHJvbWlzZS5hbGwoW2NyZWF0ZUltYWdlQml0bWFwKGUsbiksY3JlYXRlSW1hZ2VCaXRtYXAoZSldKX0pLnRoZW4oZnVuY3Rpb24oZSl7bGV0IG49a20oZVswXSksbz1rbShlWzFdKTtyZXR1cm4gblsxXSE9PW9bMV19KS5jYXRjaChmdW5jdGlvbigpe3JldHVybiExfSksUWMpfTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhrdCx7aXNCbG9iU3VwcG9ydGVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gU0F9fX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGt0LnByb3RvdHlwZSx7cXVlcnlQYXJhbWV0ZXJzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcXVlcnlQYXJhbWV0ZXJzfX0sdGVtcGxhdGVWYWx1ZXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl90ZW1wbGF0ZVZhbHVlc319LHVybDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZ2V0VXJsQ29tcG9uZW50KCEwLCEwKX0sc2V0OmZ1bmN0aW9uKHQpe3RoaXMucGFyc2VVcmwodCwhMSwhMSl9fSxleHRlbnNpb246e2dldDpmdW5jdGlvbigpe3JldHVybiBYMSh0aGlzLl91cmwpfX0saXNEYXRhVXJpOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaXAodGhpcy5fdXJsKX19LGlzQmxvYlVyaTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHJwKHRoaXMuX3VybCl9fSxpc0Nyb3NzT3JpZ2luVXJsOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gUTEodGhpcy5fdXJsKX19LGhhc0hlYWRlcnM6e2dldDpmdW5jdGlvbigpe3JldHVybiBPYmplY3Qua2V5cyh0aGlzLmhlYWRlcnMpLmxlbmd0aD4wfX0sY3JlZGl0czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2NyZWRpdHN9fX0pO2t0LnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmdldFVybENvbXBvbmVudCghMCwhMCl9O2t0LnByb3RvdHlwZS5wYXJzZVVybD1mdW5jdGlvbih0LGUsbixvKXtsZXQgcj1uZXcgUkEuZGVmYXVsdCh0KSxpPU94KHIucXVlcnkoKSk7dGhpcy5fcXVlcnlQYXJhbWV0ZXJzPWU/cHAoaSx0aGlzLnF1ZXJ5UGFyYW1ldGVycyxuKTppLHIuc2VhcmNoKCIiKSxyLmZyYWdtZW50KCIiKSxoKG8pJiZyLnNjaGVtZSgpPT09IiImJihyPXIuYWJzb2x1dGVUbyhmZihvKSkpLHRoaXMuX3VybD1yLnRvU3RyaW5nKCl9O2t0LnByb3RvdHlwZS5nZXRVcmxDb21wb25lbnQ9ZnVuY3Rpb24odCxlKXtpZih0aGlzLmlzRGF0YVVyaSlyZXR1cm4gdGhpcy5fdXJsO2xldCBuPXRoaXMuX3VybDt0JiYobj1gJHtufSR7RXgodGhpcy5xdWVyeVBhcmFtZXRlcnMpfWApLG49bi5yZXBsYWNlKC8lN0IvZywieyIpLnJlcGxhY2UoLyU3RC9nLCJ9Iik7bGV0IG89dGhpcy5fdGVtcGxhdGVWYWx1ZXM7cmV0dXJuIE9iamVjdC5rZXlzKG8pLmxlbmd0aD4wJiYobj1uLnJlcGxhY2UoL3soLio/KX0vZyxmdW5jdGlvbihyLGkpe2xldCBzPW9baV07cmV0dXJuIGgocyk/ZW5jb2RlVVJJQ29tcG9uZW50KHMpOnJ9KSksZSYmaCh0aGlzLnByb3h5KSYmKG49dGhpcy5wcm94eS5nZXRVUkwobikpLG59O2t0LnByb3RvdHlwZS5zZXRRdWVyeVBhcmFtZXRlcnM9ZnVuY3Rpb24odCxlKXtlP3RoaXMuX3F1ZXJ5UGFyYW1ldGVycz1wcCh0aGlzLl9xdWVyeVBhcmFtZXRlcnMsdCwhMSk6dGhpcy5fcXVlcnlQYXJhbWV0ZXJzPXBwKHQsdGhpcy5fcXVlcnlQYXJhbWV0ZXJzLCExKX07a3QucHJvdG90eXBlLmFwcGVuZFF1ZXJ5UGFyYW1ldGVycz1mdW5jdGlvbih0KXt0aGlzLl9xdWVyeVBhcmFtZXRlcnM9cHAodCx0aGlzLl9xdWVyeVBhcmFtZXRlcnMsITApfTtrdC5wcm90b3R5cGUuc2V0VGVtcGxhdGVWYWx1ZXM9ZnVuY3Rpb24odCxlKXtlP3RoaXMuX3RlbXBsYXRlVmFsdWVzPV9yKHRoaXMuX3RlbXBsYXRlVmFsdWVzLHQpOnRoaXMuX3RlbXBsYXRlVmFsdWVzPV9yKHQsdGhpcy5fdGVtcGxhdGVWYWx1ZXMpfTtrdC5wcm90b3R5cGUuZ2V0RGVyaXZlZFJlc291cmNlPWZ1bmN0aW9uKHQpe2xldCBlPXRoaXMuY2xvbmUoKTtpZihlLl9yZXRyeUNvdW50PTAsaCh0LnVybCkpe2xldCBuPXgodC5wcmVzZXJ2ZVF1ZXJ5UGFyYW1ldGVycywhMSk7ZS5wYXJzZVVybCh0LnVybCwhMCxuLHRoaXMuX3VybCl9cmV0dXJuIGgodC5xdWVyeVBhcmFtZXRlcnMpJiYoZS5fcXVlcnlQYXJhbWV0ZXJzPV9yKHQucXVlcnlQYXJhbWV0ZXJzLGUucXVlcnlQYXJhbWV0ZXJzKSksaCh0LnRlbXBsYXRlVmFsdWVzKSYmKGUuX3RlbXBsYXRlVmFsdWVzPV9yKHQudGVtcGxhdGVWYWx1ZXMsZS50ZW1wbGF0ZVZhbHVlcykpLGgodC5oZWFkZXJzKSYmKGUuaGVhZGVycz1fcih0LmhlYWRlcnMsZS5oZWFkZXJzKSksaCh0LnByb3h5KSYmKGUucHJveHk9dC5wcm94eSksaCh0LnJlcXVlc3QpJiYoZS5yZXF1ZXN0PXQucmVxdWVzdCksaCh0LnJldHJ5Q2FsbGJhY2spJiYoZS5yZXRyeUNhbGxiYWNrPXQucmV0cnlDYWxsYmFjayksaCh0LnJldHJ5QXR0ZW1wdHMpJiYoZS5yZXRyeUF0dGVtcHRzPXQucmV0cnlBdHRlbXB0cyksZX07a3QucHJvdG90eXBlLnJldHJ5T25FcnJvcj1mdW5jdGlvbih0KXtsZXQgZT10aGlzLnJldHJ5Q2FsbGJhY2s7aWYodHlwZW9mIGUhPSJmdW5jdGlvbiJ8fHRoaXMuX3JldHJ5Q291bnQ+PXRoaXMucmV0cnlBdHRlbXB0cylyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCExKTtsZXQgbj10aGlzO3JldHVybiBQcm9taXNlLnJlc29sdmUoZSh0aGlzLHQpKS50aGVuKGZ1bmN0aW9uKG8pe3JldHVybisrbi5fcmV0cnlDb3VudCxvfSl9O2t0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KT8odC5fdXJsPXRoaXMuX3VybCx0Ll9xdWVyeVBhcmFtZXRlcnM9WWModGhpcy5fcXVlcnlQYXJhbWV0ZXJzKSx0Ll90ZW1wbGF0ZVZhbHVlcz1ZYyh0aGlzLl90ZW1wbGF0ZVZhbHVlcyksdC5oZWFkZXJzPVljKHRoaXMuaGVhZGVycyksdC5wcm94eT10aGlzLnByb3h5LHQucmV0cnlDYWxsYmFjaz10aGlzLnJldHJ5Q2FsbGJhY2ssdC5yZXRyeUF0dGVtcHRzPXRoaXMucmV0cnlBdHRlbXB0cyx0Ll9yZXRyeUNvdW50PTAsdC5yZXF1ZXN0PXRoaXMucmVxdWVzdC5jbG9uZSgpLHQpOm5ldyBrdCh7dXJsOnRoaXMuX3VybCxxdWVyeVBhcmFtZXRlcnM6dGhpcy5xdWVyeVBhcmFtZXRlcnMsdGVtcGxhdGVWYWx1ZXM6dGhpcy50ZW1wbGF0ZVZhbHVlcyxoZWFkZXJzOnRoaXMuaGVhZGVycyxwcm94eTp0aGlzLnByb3h5LHJldHJ5Q2FsbGJhY2s6dGhpcy5yZXRyeUNhbGxiYWNrLHJldHJ5QXR0ZW1wdHM6dGhpcy5yZXRyeUF0dGVtcHRzLHJlcXVlc3Q6dGhpcy5yZXF1ZXN0LmNsb25lKCkscGFyc2VVcmw6ITEsY3JlZGl0czpoKHRoaXMuY3JlZGl0cyk/dGhpcy5jcmVkaXRzLnNsaWNlKCk6dm9pZCAwfSl9O2t0LnByb3RvdHlwZS5nZXRCYXNlVXJpPWZ1bmN0aW9uKHQpe3JldHVybiBxMSh0aGlzLmdldFVybENvbXBvbmVudCh0KSx0KX07a3QucHJvdG90eXBlLmFwcGVuZEZvcndhcmRTbGFzaD1mdW5jdGlvbigpe3RoaXMuX3VybD1VMSh0aGlzLl91cmwpfTtrdC5wcm90b3R5cGUuZmV0Y2hBcnJheUJ1ZmZlcj1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZldGNoKHtyZXNwb25zZVR5cGU6ImFycmF5YnVmZmVyIn0pfTtrdC5mZXRjaEFycmF5QnVmZmVyPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2hBcnJheUJ1ZmZlcigpfTtrdC5wcm90b3R5cGUuZmV0Y2hCbG9iPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZmV0Y2goe3Jlc3BvbnNlVHlwZToiYmxvYiJ9KX07a3QuZmV0Y2hCbG9iPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2hCbG9iKCl9O2t0LnByb3RvdHlwZS5mZXRjaEltYWdlPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT14KHQucHJlZmVySW1hZ2VCaXRtYXAsITEpLG49eCh0LnByZWZlckJsb2IsITEpLG89eCh0LmZsaXBZLCExKSxyPXgodC5za2lwQ29sb3JTcGFjZUNvbnZlcnNpb24sITEpO2lmKEttKHRoaXMucmVxdWVzdCksIVNBfHx0aGlzLmlzRGF0YVVyaXx8dGhpcy5pc0Jsb2JVcml8fCF0aGlzLmhhc0hlYWRlcnMmJiFuKXJldHVybiBxbSh7cmVzb3VyY2U6dGhpcyxmbGlwWTpvLHNraXBDb2xvclNwYWNlQ29udmVyc2lvbjpyLHByZWZlckltYWdlQml0bWFwOmV9KTtsZXQgaT10aGlzLmZldGNoQmxvYigpO2lmKCFoKGkpKXJldHVybjtsZXQgcyxmLHUsYztyZXR1cm4ga3Quc3VwcG9ydHNJbWFnZUJpdG1hcE9wdGlvbnMoKS50aGVuKGZ1bmN0aW9uKGwpe3JldHVybiBzPWwsZj1zJiZlLGl9KS50aGVuKGZ1bmN0aW9uKGwpe2lmKCFoKGwpKXJldHVybjtpZihjPWwsZilyZXR1cm4ga3QuY3JlYXRlSW1hZ2VCaXRtYXBGcm9tQmxvYihsLHtmbGlwWTpvLHByZW11bHRpcGx5QWxwaGE6ITEsc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uOnJ9KTtsZXQgcD13aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChsKTtyZXR1cm4gdT1uZXcga3Qoe3VybDpwfSkscW0oe3Jlc291cmNlOnUsZmxpcFk6byxza2lwQ29sb3JTcGFjZUNvbnZlcnNpb246cixwcmVmZXJJbWFnZUJpdG1hcDohMX0pfSkudGhlbihmdW5jdGlvbihsKXtpZihoKGwpKXJldHVybiBsLmJsb2I9YyxmfHx3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1LnVybCksbH0pLmNhdGNoKGZ1bmN0aW9uKGwpe3JldHVybiBoKHUpJiZ3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1LnVybCksbC5ibG9iPWMsUHJvbWlzZS5yZWplY3QobCl9KX07a3QuZmV0Y2hJbWFnZT1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLmZldGNoSW1hZ2Uoe2ZsaXBZOnQuZmxpcFksc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uOnQuc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uLHByZWZlckJsb2I6dC5wcmVmZXJCbG9iLHByZWZlckltYWdlQml0bWFwOnQucHJlZmVySW1hZ2VCaXRtYXB9KX07a3QucHJvdG90eXBlLmZldGNoVGV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZldGNoKHtyZXNwb25zZVR5cGU6InRleHQifSl9O2t0LmZldGNoVGV4dD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLmZldGNoVGV4dCgpfTtrdC5wcm90b3R5cGUuZmV0Y2hKc29uPWZ1bmN0aW9uKCl7bGV0IHQ9dGhpcy5mZXRjaCh7cmVzcG9uc2VUeXBlOiJ0ZXh0IixoZWFkZXJzOntBY2NlcHQ6ImFwcGxpY2F0aW9uL2pzb24sKi8qO3E9MC4wMSJ9fSk7aWYoaCh0KSlyZXR1cm4gdC50aGVuKGZ1bmN0aW9uKGUpe2lmKGgoZSkpcmV0dXJuIEpTT04ucGFyc2UoZSl9KX07a3QuZmV0Y2hKc29uPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2hKc29uKCl9O2t0LnByb3RvdHlwZS5mZXRjaFhNTD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmZldGNoKHtyZXNwb25zZVR5cGU6ImRvY3VtZW50IixvdmVycmlkZU1pbWVUeXBlOiJ0ZXh0L3htbCJ9KX07a3QuZmV0Y2hYTUw9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5mZXRjaFhNTCgpfTtrdC5wcm90b3R5cGUuZmV0Y2hKc29ucD1mdW5jdGlvbih0KXt0PXgodCwiY2FsbGJhY2siKSxLbSh0aGlzLnJlcXVlc3QpO2xldCBlO2RvIGU9YGxvYWRKc29ucCR7TS5uZXh0UmFuZG9tTnVtYmVyKCkudG9TdHJpbmcoKS5zdWJzdHJpbmcoMiw4KX1gO3doaWxlKGgod2luZG93W2VdKSk7cmV0dXJuIENBKHRoaXMsdCxlKX07a3QuZmV0Y2hKc29ucD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLmZldGNoSnNvbnAodC5jYWxsYmFja1BhcmFtZXRlck5hbWUpfTtrdC5wcm90b3R5cGUuX21ha2VSZXF1ZXN0PWZ1bmN0aW9uKHQpe2xldCBlPXRoaXM7S20oZS5yZXF1ZXN0KTtsZXQgbj1lLnJlcXVlc3Qsbz1lLnVybDtuLnVybD1vLG4ucmVxdWVzdEZ1bmN0aW9uPWZ1bmN0aW9uKCl7bGV0IGk9dC5yZXNwb25zZVR5cGUscz1fcih0LmhlYWRlcnMsZS5oZWFkZXJzKSxmPXQub3ZlcnJpZGVNaW1lVHlwZSx1PXQubWV0aG9kLGM9dC5kYXRhLGw9anMoKSxwPWt0Ll9JbXBsZW1lbnRhdGlvbnMubG9hZFdpdGhYaHIobyxpLHUsYyxzLGwsZik7cmV0dXJuIGgocCkmJmgocC5hYm9ydCkmJihuLmNhbmNlbEZ1bmN0aW9uPWZ1bmN0aW9uKCl7cC5hYm9ydCgpfSksbC5wcm9taXNlfTtsZXQgcj11cC5yZXF1ZXN0KG4pO2lmKGgocikpcmV0dXJuIHIudGhlbihmdW5jdGlvbihpKXtyZXR1cm4gbi5jYW5jZWxGdW5jdGlvbj12b2lkIDAsaX0pLmNhdGNoKGZ1bmN0aW9uKGkpe3JldHVybiBuLmNhbmNlbEZ1bmN0aW9uPXZvaWQgMCxuLnN0YXRlIT09Q24uRkFJTEVEP1Byb21pc2UucmVqZWN0KGkpOmUucmV0cnlPbkVycm9yKGkpLnRoZW4oZnVuY3Rpb24ocyl7cmV0dXJuIHM/KG4uc3RhdGU9Q24uVU5JU1NVRUQsbi5kZWZlcnJlZD12b2lkIDAsZS5mZXRjaCh0KSk6UHJvbWlzZS5yZWplY3QoaSl9KX0pfTtSeD0vXmRhdGE6KC4qPykoO2Jhc2U2NCk/LCguKikkLztrdC5wcm90b3R5cGUuZmV0Y2g9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bmkodCx7fSksdC5tZXRob2Q9IkdFVCIsdGhpcy5fbWFrZVJlcXVlc3QodCl9O2t0LmZldGNoPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkuZmV0Y2goe3Jlc3BvbnNlVHlwZTp0LnJlc3BvbnNlVHlwZSxvdmVycmlkZU1pbWVUeXBlOnQub3ZlcnJpZGVNaW1lVHlwZX0pfTtrdC5wcm90b3R5cGUuZGVsZXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0PW5pKHQse30pLHQubWV0aG9kPSJERUxFVEUiLHRoaXMuX21ha2VSZXF1ZXN0KHQpfTtrdC5kZWxldGU9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5kZWxldGUoe3Jlc3BvbnNlVHlwZTp0LnJlc3BvbnNlVHlwZSxvdmVycmlkZU1pbWVUeXBlOnQub3ZlcnJpZGVNaW1lVHlwZSxkYXRhOnQuZGF0YX0pfTtrdC5wcm90b3R5cGUuaGVhZD1mdW5jdGlvbih0KXtyZXR1cm4gdD1uaSh0LHt9KSx0Lm1ldGhvZD0iSEVBRCIsdGhpcy5fbWFrZVJlcXVlc3QodCl9O2t0LmhlYWQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5oZWFkKHtyZXNwb25zZVR5cGU6dC5yZXNwb25zZVR5cGUsb3ZlcnJpZGVNaW1lVHlwZTp0Lm92ZXJyaWRlTWltZVR5cGV9KX07a3QucHJvdG90eXBlLm9wdGlvbnM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9bmkodCx7fSksdC5tZXRob2Q9Ik9QVElPTlMiLHRoaXMuX21ha2VSZXF1ZXN0KHQpfTtrdC5vcHRpb25zPWZ1bmN0aW9uKHQpe3JldHVybiBuZXcga3QodCkub3B0aW9ucyh7cmVzcG9uc2VUeXBlOnQucmVzcG9uc2VUeXBlLG92ZXJyaWRlTWltZVR5cGU6dC5vdmVycmlkZU1pbWVUeXBlfSl9O2t0LnByb3RvdHlwZS5wb3N0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgiZGF0YSIsdCksZT1uaShlLHt9KSxlLm1ldGhvZD0iUE9TVCIsZS5kYXRhPXQsdGhpcy5fbWFrZVJlcXVlc3QoZSl9O2t0LnBvc3Q9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5wb3N0KHQuZGF0YSx7cmVzcG9uc2VUeXBlOnQucmVzcG9uc2VUeXBlLG92ZXJyaWRlTWltZVR5cGU6dC5vdmVycmlkZU1pbWVUeXBlfSl9O2t0LnByb3RvdHlwZS5wdXQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5kZWZpbmVkKCJkYXRhIix0KSxlPW5pKGUse30pLGUubWV0aG9kPSJQVVQiLGUuZGF0YT10LHRoaXMuX21ha2VSZXF1ZXN0KGUpfTtrdC5wdXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBrdCh0KS5wdXQodC5kYXRhLHtyZXNwb25zZVR5cGU6dC5yZXNwb25zZVR5cGUsb3ZlcnJpZGVNaW1lVHlwZTp0Lm92ZXJyaWRlTWltZVR5cGV9KX07a3QucHJvdG90eXBlLnBhdGNoPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgiZGF0YSIsdCksZT1uaShlLHt9KSxlLm1ldGhvZD0iUEFUQ0giLGUuZGF0YT10LHRoaXMuX21ha2VSZXF1ZXN0KGUpfTtrdC5wYXRjaD1mdW5jdGlvbih0KXtyZXR1cm4gbmV3IGt0KHQpLnBhdGNoKHQuZGF0YSx7cmVzcG9uc2VUeXBlOnQucmVzcG9uc2VUeXBlLG92ZXJyaWRlTWltZVR5cGU6dC5vdmVycmlkZU1pbWVUeXBlfSl9O2t0Ll9JbXBsZW1lbnRhdGlvbnM9e307a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50PWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1uZXcgSW1hZ2U7by5vbmxvYWQ9ZnVuY3Rpb24oKXtvLm5hdHVyYWxXaWR0aD09PTAmJm8ubmF0dXJhbEhlaWdodD09PTAmJm8ud2lkdGg9PT0wJiZvLmhlaWdodD09PTAmJihvLndpZHRoPTMwMCxvLmhlaWdodD0xNTApLG4ucmVzb2x2ZShvKX0sby5vbmVycm9yPWZ1bmN0aW9uKHIpe24ucmVqZWN0KHIpfSxlJiYoSG0uY29udGFpbnModCk/by5jcm9zc09yaWdpbj0idXNlLWNyZWRlbnRpYWxzIjpvLmNyb3NzT3JpZ2luPSIiKSxvLnNyYz10fTtrdC5fSW1wbGVtZW50YXRpb25zLmNyZWF0ZUltYWdlPWZ1bmN0aW9uKHQsZSxuLG8scixpKXtsZXQgcz10LnVybDtrdC5zdXBwb3J0c0ltYWdlQml0bWFwT3B0aW9ucygpLnRoZW4oZnVuY3Rpb24oZil7aWYoIShmJiZpKSl7a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkSW1hZ2VFbGVtZW50KHMsZSxuKTtyZXR1cm59bGV0IHU9ImJsb2IiLGM9IkdFVCIsbD1qcygpLHA9a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkV2l0aFhocihzLHUsYyx2b2lkIDAsdm9pZCAwLGwsdm9pZCAwLHZvaWQgMCx2b2lkIDApO3JldHVybiBoKHApJiZoKHAuYWJvcnQpJiYodC5jYW5jZWxGdW5jdGlvbj1mdW5jdGlvbigpe3AuYWJvcnQoKX0pLGwucHJvbWlzZS50aGVuKGZ1bmN0aW9uKGQpe2lmKCFoKGQpKXtuLnJlamVjdChuZXcgQWUoYFN1Y2Nlc3NmdWxseSByZXRyaWV2ZWQgJHtzfSBidXQgaXQgY29udGFpbmVkIG5vIGNvbnRlbnQuYCkpO3JldHVybn1yZXR1cm4ga3QuY3JlYXRlSW1hZ2VCaXRtYXBGcm9tQmxvYihkLHtmbGlwWTpvLHByZW11bHRpcGx5QWxwaGE6ITEsc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uOnJ9KX0pLnRoZW4oZnVuY3Rpb24oZCl7bi5yZXNvbHZlKGQpfSl9KS5jYXRjaChmdW5jdGlvbihmKXtuLnJlamVjdChmKX0pfTtrdC5jcmVhdGVJbWFnZUJpdG1hcEZyb21CbG9iPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkuZGVmaW5lZCgib3B0aW9ucyIsZSkseS50eXBlT2YuYm9vbCgib3B0aW9ucy5mbGlwWSIsZS5mbGlwWSkseS50eXBlT2YuYm9vbCgib3B0aW9ucy5wcmVtdWx0aXBseUFscGhhIixlLnByZW11bHRpcGx5QWxwaGEpLHkudHlwZU9mLmJvb2woIm9wdGlvbnMuc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uIixlLnNraXBDb2xvclNwYWNlQ29udmVyc2lvbiksY3JlYXRlSW1hZ2VCaXRtYXAodCx7aW1hZ2VPcmllbnRhdGlvbjplLmZsaXBZPyJmbGlwWSI6Im5vbmUiLHByZW11bHRpcGx5QWxwaGE6ZS5wcmVtdWx0aXBseUFscGhhPyJwcmVtdWx0aXBseSI6Im5vbmUiLGNvbG9yU3BhY2VDb252ZXJzaW9uOmUuc2tpcENvbG9yU3BhY2VDb252ZXJzaW9uPyJub25lIjoiZGVmYXVsdCJ9KX07eHg9dHlwZW9mIFhNTEh0dHBSZXF1ZXN0PiJ1IjtrdC5fSW1wbGVtZW50YXRpb25zLmxvYWRXaXRoWGhyPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe2xldCBmPVJ4LmV4ZWModCk7aWYoZiE9PW51bGwpe2kucmVzb2x2ZShTeChmLGUpKTtyZXR1cm59aWYoeHgpe0N4KHQsZSxuLG8scixpLHMpO3JldHVybn1sZXQgdT1uZXcgWE1MSHR0cFJlcXVlc3Q7aWYoSG0uY29udGFpbnModCkmJih1LndpdGhDcmVkZW50aWFscz0hMCksdS5vcGVuKG4sdCwhMCksaChzKSYmaCh1Lm92ZXJyaWRlTWltZVR5cGUpJiZ1Lm92ZXJyaWRlTWltZVR5cGUocyksaChyKSlmb3IobGV0IGwgaW4gcilyLmhhc093blByb3BlcnR5KGwpJiZ1LnNldFJlcXVlc3RIZWFkZXIobCxyW2xdKTtoKGUpJiYodS5yZXNwb25zZVR5cGU9ZSk7bGV0IGM9ITE7cmV0dXJuIHR5cGVvZiB0PT0ic3RyaW5nIiYmKGM9dC5pbmRleE9mKCJmaWxlOi8vIik9PT0wfHx0eXBlb2Ygd2luZG93PCJ1IiYmd2luZG93LmxvY2F0aW9uLm9yaWdpbj09PSJmaWxlOi8vIiksdS5vbmxvYWQ9ZnVuY3Rpb24oKXtpZigodS5zdGF0dXM8MjAwfHx1LnN0YXR1cz49MzAwKSYmIShjJiZ1LnN0YXR1cz09PTApKXtpLnJlamVjdChuZXcgdWYodS5zdGF0dXMsdS5yZXNwb25zZSx1LmdldEFsbFJlc3BvbnNlSGVhZGVycygpKSk7cmV0dXJufWxldCBsPXUucmVzcG9uc2UscD11LnJlc3BvbnNlVHlwZTtpZihuPT09IkhFQUQifHxuPT09Ik9QVElPTlMiKXtsZXQgbT11LmdldEFsbFJlc3BvbnNlSGVhZGVycygpLnRyaW0oKS5zcGxpdCgvW1xyXG5dKy8pLF89e307bS5mb3JFYWNoKGZ1bmN0aW9uKGcpe2xldCBiPWcuc3BsaXQoIjogIiksVD1iLnNoaWZ0KCk7X1tUXT1iLmpvaW4oIjogIil9KSxpLnJlc29sdmUoXyk7cmV0dXJufWlmKHUuc3RhdHVzPT09MjA0KWkucmVzb2x2ZSh2b2lkIDApO2Vsc2UgaWYoaChsKSYmKCFoKGUpfHxwPT09ZSkpaS5yZXNvbHZlKGwpO2Vsc2UgaWYoZT09PSJqc29uIiYmdHlwZW9mIGw9PSJzdHJpbmciKXRyeXtpLnJlc29sdmUoSlNPTi5wYXJzZShsKSl9Y2F0Y2goZCl7aS5yZWplY3QoZCl9ZWxzZShwPT09IiJ8fHA9PT0iZG9jdW1lbnQiKSYmaCh1LnJlc3BvbnNlWE1MKSYmdS5yZXNwb25zZVhNTC5oYXNDaGlsZE5vZGVzKCk/aS5yZXNvbHZlKHUucmVzcG9uc2VYTUwpOihwPT09IiJ8fHA9PT0idGV4dCIpJiZoKHUucmVzcG9uc2VUZXh0KT9pLnJlc29sdmUodS5yZXNwb25zZVRleHQpOmkucmVqZWN0KG5ldyBBZSgiSW52YWxpZCBYTUxIdHRwUmVxdWVzdCByZXNwb25zZSB0eXBlLiIpKX0sdS5vbmVycm9yPWZ1bmN0aW9uKGwpe2kucmVqZWN0KG5ldyB1Zil9LHUuc2VuZChvKSx1fTtrdC5fSW1wbGVtZW50YXRpb25zLmxvYWRBbmRFeGVjdXRlU2NyaXB0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdEEodCxlKS5jYXRjaChmdW5jdGlvbihvKXtuLnJlamVjdChvKX0pfTtrdC5fRGVmYXVsdEltcGxlbWVudGF0aW9ucz17fTtrdC5fRGVmYXVsdEltcGxlbWVudGF0aW9ucy5jcmVhdGVJbWFnZT1rdC5fSW1wbGVtZW50YXRpb25zLmNyZWF0ZUltYWdlO2t0Ll9EZWZhdWx0SW1wbGVtZW50YXRpb25zLmxvYWRXaXRoWGhyPWt0Ll9JbXBsZW1lbnRhdGlvbnMubG9hZFdpdGhYaHI7a3QuX0RlZmF1bHRJbXBsZW1lbnRhdGlvbnMubG9hZEFuZEV4ZWN1dGVTY3JpcHQ9a3QuX0ltcGxlbWVudGF0aW9ucy5sb2FkQW5kRXhlY3V0ZVNjcmlwdDtrdC5ERUZBVUxUPU9iamVjdC5mcmVlemUobmV3IGt0KHt1cmw6dHlwZW9mIGRvY3VtZW50PiJ1Ij8iIjpkb2N1bWVudC5sb2NhdGlvbi5ocmVmLnNwbGl0KCI/IilbMF19KSk7b2k9a3R9KTtmdW5jdGlvbiBoZih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCksdGhpcy5fZGF0ZXM9dm9pZCAwLHRoaXMuX3NhbXBsZXM9dm9pZCAwLHRoaXMuX2RhdGVDb2x1bW49LTEsdGhpcy5feFBvbGVXYW5kZXJSYWRpYW5zQ29sdW1uPS0xLHRoaXMuX3lQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbj0tMSx0aGlzLl91dDFNaW51c1V0Y1NlY29uZHNDb2x1bW49LTEsdGhpcy5feENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zQ29sdW1uPS0xLHRoaXMuX3lDZWxlc3RpYWxQb2xlT2Zmc2V0UmFkaWFuc0NvbHVtbj0tMSx0aGlzLl90YWlNaW51c1V0Y1NlY29uZHNDb2x1bW49LTEsdGhpcy5fY29sdW1uQ291bnQ9MCx0aGlzLl9sYXN0SW5kZXg9LTEsdGhpcy5fYWRkTmV3TGVhcFNlY29uZHM9eCh0LmFkZE5ld0xlYXBTZWNvbmRzLCEwKSxoKHQuZGF0YSk/eEEodGhpcyx0LmRhdGEpOnhBKHRoaXMse2NvbHVtbk5hbWVzOlsiZGF0ZUlzbzg2MDEiLCJtb2RpZmllZEp1bGlhbkRhdGVVdGMiLCJ4UG9sZVdhbmRlclJhZGlhbnMiLCJ5UG9sZVdhbmRlclJhZGlhbnMiLCJ1dDFNaW51c1V0Y1NlY29uZHMiLCJsZW5ndGhPZkRheUNvcnJlY3Rpb25TZWNvbmRzIiwieENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zIiwieUNlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zIiwidGFpTWludXNVdGNTZWNvbmRzIl0sc2FtcGxlczpbXX0pfWZ1bmN0aW9uIFB4KHQsZSl7cmV0dXJuIGtuLmNvbXBhcmUodC5qdWxpYW5EYXRlLGUpfWZ1bmN0aW9uIHhBKHQsZSl7aWYoIWgoZS5jb2x1bW5OYW1lcykpdGhyb3cgbmV3IEFlKCJFcnJvciBpbiBsb2FkZWQgRU9QIGRhdGE6IFRoZSBjb2x1bW5OYW1lcyBwcm9wZXJ0eSBpcyByZXF1aXJlZC4iKTtpZighaChlLnNhbXBsZXMpKXRocm93IG5ldyBBZSgiRXJyb3IgaW4gbG9hZGVkIEVPUCBkYXRhOiBUaGUgc2FtcGxlcyBwcm9wZXJ0eSBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLmNvbHVtbk5hbWVzLmluZGV4T2YoIm1vZGlmaWVkSnVsaWFuRGF0ZVV0YyIpLG89ZS5jb2x1bW5OYW1lcy5pbmRleE9mKCJ4UG9sZVdhbmRlclJhZGlhbnMiKSxyPWUuY29sdW1uTmFtZXMuaW5kZXhPZigieVBvbGVXYW5kZXJSYWRpYW5zIiksaT1lLmNvbHVtbk5hbWVzLmluZGV4T2YoInV0MU1pbnVzVXRjU2Vjb25kcyIpLHM9ZS5jb2x1bW5OYW1lcy5pbmRleE9mKCJ4Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnMiKSxmPWUuY29sdW1uTmFtZXMuaW5kZXhPZigieUNlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zIiksdT1lLmNvbHVtbk5hbWVzLmluZGV4T2YoInRhaU1pbnVzVXRjU2Vjb25kcyIpO2lmKG48MHx8bzwwfHxyPDB8fGk8MHx8czwwfHxmPDB8fHU8MCl0aHJvdyBuZXcgQWUoIkVycm9yIGluIGxvYWRlZCBFT1AgZGF0YTogVGhlIGNvbHVtbk5hbWVzIHByb3BlcnR5IG11c3QgaW5jbHVkZSBtb2RpZmllZEp1bGlhbkRhdGVVdGMsIHhQb2xlV2FuZGVyUmFkaWFucywgeVBvbGVXYW5kZXJSYWRpYW5zLCB1dDFNaW51c1V0Y1NlY29uZHMsIHhDZWxlc3RpYWxQb2xlT2Zmc2V0UmFkaWFucywgeUNlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zLCBhbmQgdGFpTWludXNVdGNTZWNvbmRzIGNvbHVtbnMiKTtsZXQgYz10Ll9zYW1wbGVzPWUuc2FtcGxlcyxsPXQuX2RhdGVzPVtdO3QuX2RhdGVDb2x1bW49bix0Ll94UG9sZVdhbmRlclJhZGlhbnNDb2x1bW49byx0Ll95UG9sZVdhbmRlclJhZGlhbnNDb2x1bW49cix0Ll91dDFNaW51c1V0Y1NlY29uZHNDb2x1bW49aSx0Ll94Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW49cyx0Ll95Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW49Zix0Ll90YWlNaW51c1V0Y1NlY29uZHNDb2x1bW49dSx0Ll9jb2x1bW5Db3VudD1lLmNvbHVtbk5hbWVzLmxlbmd0aCx0Ll9sYXN0SW5kZXg9dm9pZCAwO2xldCBwLGQ9dC5fYWRkTmV3TGVhcFNlY29uZHM7Zm9yKGxldCBtPTAsXz1jLmxlbmd0aDttPF87bSs9dC5fY29sdW1uQ291bnQpe2xldCBnPWNbbStuXSxiPWNbbSt1XSxUPWcreW4uTU9ESUZJRURfSlVMSUFOX0RBVEVfRElGRkVSRU5DRSxPPW5ldyBrbihULGIsT2UuVEFJKTtpZihsLnB1c2goTyksZCl7aWYoYiE9PXAmJmgocCkpe2xldCBFPWtuLmxlYXBTZWNvbmRzLHc9R3MoRSxPLFB4KTtpZih3PDApe2xldCBDPW5ldyBXZShPLGIpO0Uuc3BsaWNlKH53LDAsQyl9fXA9Yn19fWZ1bmN0aW9uIFBBKHQsZSxuLG8scil7bGV0IGk9bipvO3IueFBvbGVXYW5kZXI9ZVtpK3QuX3hQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbl0sci55UG9sZVdhbmRlcj1lW2krdC5feVBvbGVXYW5kZXJSYWRpYW5zQ29sdW1uXSxyLnhQb2xlT2Zmc2V0PWVbaSt0Ll94Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW5dLHIueVBvbGVPZmZzZXQ9ZVtpK3QuX3lDZWxlc3RpYWxQb2xlT2Zmc2V0UmFkaWFuc0NvbHVtbl0sci51dDFNaW51c1V0Yz1lW2krdC5fdXQxTWludXNVdGNTZWNvbmRzQ29sdW1uXX1mdW5jdGlvbiBtZih0LGUsbil7cmV0dXJuIGUrdCoobi1lKX1mdW5jdGlvbiBNQSh0LGUsbixvLHIsaSxzKXtsZXQgZj10Ll9jb2x1bW5Db3VudDtpZihpPmUubGVuZ3RoLTEpcmV0dXJuIHMueFBvbGVXYW5kZXI9MCxzLnlQb2xlV2FuZGVyPTAscy54UG9sZU9mZnNldD0wLHMueVBvbGVPZmZzZXQ9MCxzLnV0MU1pbnVzVXRjPTAscztsZXQgdT1lW3JdLGM9ZVtpXTtpZih1LmVxdWFscyhjKXx8by5lcXVhbHModSkpcmV0dXJuIFBBKHQsbixyLGYscykscztpZihvLmVxdWFscyhjKSlyZXR1cm4gUEEodCxuLGksZixzKSxzO2xldCBsPWtuLnNlY29uZHNEaWZmZXJlbmNlKG8sdSkva24uc2Vjb25kc0RpZmZlcmVuY2UoYyx1KSxwPXIqZixkPWkqZixtPW5bcCt0Ll91dDFNaW51c1V0Y1NlY29uZHNDb2x1bW5dLF89bltkK3QuX3V0MU1pbnVzVXRjU2Vjb25kc0NvbHVtbl0sZz1fLW07aWYoZz4uNXx8ZzwtLjUpe2xldCBiPW5bcCt0Ll90YWlNaW51c1V0Y1NlY29uZHNDb2x1bW5dLFQ9bltkK3QuX3RhaU1pbnVzVXRjU2Vjb25kc0NvbHVtbl07YiE9PVQmJihjLmVxdWFscyhvKT9tPV86Xy09VC1iKX1yZXR1cm4gcy54UG9sZVdhbmRlcj1tZihsLG5bcCt0Ll94UG9sZVdhbmRlclJhZGlhbnNDb2x1bW5dLG5bZCt0Ll94UG9sZVdhbmRlclJhZGlhbnNDb2x1bW5dKSxzLnlQb2xlV2FuZGVyPW1mKGwsbltwK3QuX3lQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbl0sbltkK3QuX3lQb2xlV2FuZGVyUmFkaWFuc0NvbHVtbl0pLHMueFBvbGVPZmZzZXQ9bWYobCxuW3ArdC5feENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zQ29sdW1uXSxuW2QrdC5feENlbGVzdGlhbFBvbGVPZmZzZXRSYWRpYW5zQ29sdW1uXSkscy55UG9sZU9mZnNldD1tZihsLG5bcCt0Ll95Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW5dLG5bZCt0Ll95Q2VsZXN0aWFsUG9sZU9mZnNldFJhZGlhbnNDb2x1bW5dKSxzLnV0MU1pbnVzVXRjPW1mKGwsbSxfKSxzfXZhciBOQSxJQT1aKCgpPT57TW0oKTtYdCgpO0l0KCk7ZnQoKTtObSgpO0psKCk7dm0oKTtkZigpO0pyKCk7V2woKTtYbCgpO2hmLmZyb21Vcmw9YXN5bmMgZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoInVybCIsdCksZT14KGUseC5FTVBUWV9PQkpFQ1QpO2xldCBuPW9pLmNyZWF0ZUlmTmVlZGVkKHQpLG87dHJ5e289YXdhaXQgbi5mZXRjaEpzb24oKX1jYXRjaHt0aHJvdyBuZXcgQWUoYEFuIGVycm9yIG9jY3VycmVkIHdoaWxlIHJldHJpZXZpbmcgdGhlIEVPUCBkYXRhIGZyb20gdGhlIFVSTCAke24udXJsfS5gKX1yZXR1cm4gbmV3IGhmKHthZGROZXdMZWFwU2Vjb25kczplLmFkZE5ld0xlYXBTZWNvbmRzLGRhdGE6b30pfTtoZi5OT05FPU9iamVjdC5mcmVlemUoe2NvbXB1dGU6ZnVuY3Rpb24odCxlKXtyZXR1cm4gaChlKT8oZS54UG9sZVdhbmRlcj0wLGUueVBvbGVXYW5kZXI9MCxlLnhQb2xlT2Zmc2V0PTAsZS55UG9sZU9mZnNldD0wLGUudXQxTWludXNVdGM9MCk6ZT1uZXcgY2YoMCwwLDAsMCwwKSxlfX0pO2hmLnByb3RvdHlwZS5jb21wdXRlPWZ1bmN0aW9uKHQsZSl7aWYoIWgodGhpcy5fc2FtcGxlcykpcmV0dXJuO2lmKGgoZSl8fChlPW5ldyBjZigwLDAsMCwwLDApKSx0aGlzLl9zYW1wbGVzLmxlbmd0aD09PTApcmV0dXJuIGUueFBvbGVXYW5kZXI9MCxlLnlQb2xlV2FuZGVyPTAsZS54UG9sZU9mZnNldD0wLGUueVBvbGVPZmZzZXQ9MCxlLnV0MU1pbnVzVXRjPTAsZTtsZXQgbj10aGlzLl9kYXRlcyxvPXRoaXMuX2xhc3RJbmRleCxyPTAsaT0wO2lmKGgobykpe2xldCBmPW5bb10sdT1uW28rMV0sYz1rbi5sZXNzVGhhbk9yRXF1YWxzKGYsdCksbD0haCh1KSxwPWx8fGtuLmdyZWF0ZXJUaGFuT3JFcXVhbHModSx0KTtpZihjJiZwKXJldHVybiByPW8sIWwmJnUuZXF1YWxzKHQpJiYrK3IsaT1yKzEsTUEodGhpcyxuLHRoaXMuX3NhbXBsZXMsdCxyLGksZSksZX1sZXQgcz1HcyhuLHQsa24uY29tcGFyZSx0aGlzLl9kYXRlQ29sdW1uKTtyZXR1cm4gcz49MD8oczxuLmxlbmd0aC0xJiZuW3MrMV0uZXF1YWxzKHQpJiYrK3Mscj1zLGk9cyk6KGk9fnMscj1pLTEscjwwJiYocj0wKSksdGhpcy5fbGFzdEluZGV4PXIsTUEodGhpcyxuLHRoaXMuX3NhbXBsZXMsdCxyLGksZSksZX07TkE9aGZ9KTtmdW5jdGlvbiB3byh0LGUsbil7dGhpcy5oZWFkaW5nPXgodCwwKSx0aGlzLnBpdGNoPXgoZSwwKSx0aGlzLnJvbGw9eChuLDApfXZhciBkcCx2QT1aKCgpPT57SXQoKTtmdCgpO0h0KCk7V3QoKTt3by5mcm9tUXVhdGVybmlvbj1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJxdWF0ZXJuaW9uIGlzIHJlcXVpcmVkIik7aChlKXx8KGU9bmV3IHdvKTtsZXQgbj0yKih0LncqdC55LXQueip0LngpLG89MS0yKih0LngqdC54K3QueSp0LnkpLHI9MioodC53KnQueCt0LnkqdC56KSxpPTEtMioodC55KnQueSt0LnoqdC56KSxzPTIqKHQudyp0LnordC54KnQueSk7cmV0dXJuIGUuaGVhZGluZz0tTWF0aC5hdGFuMihzLGkpLGUucm9sbD1NYXRoLmF0YW4yKHIsbyksZS5waXRjaD0tTS5hc2luQ2xhbXBlZChuKSxlfTt3by5mcm9tRGVncmVlcz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgQigiaGVhZGluZyBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJwaXRjaCBpcyByZXF1aXJlZCIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJyb2xsIGlzIHJlcXVpcmVkIik7cmV0dXJuIGgobyl8fChvPW5ldyB3byksby5oZWFkaW5nPXQqTS5SQURJQU5TX1BFUl9ERUdSRUUsby5waXRjaD1lKk0uUkFESUFOU19QRVJfREVHUkVFLG8ucm9sbD1uKk0uUkFESUFOU19QRVJfREVHUkVFLG99O3dvLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS5oZWFkaW5nPXQuaGVhZGluZyxlLnBpdGNoPXQucGl0Y2gsZS5yb2xsPXQucm9sbCxlKTpuZXcgd28odC5oZWFkaW5nLHQucGl0Y2gsdC5yb2xsKX07d28uZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0LmhlYWRpbmc9PT1lLmhlYWRpbmcmJnQucGl0Y2g9PT1lLnBpdGNoJiZ0LnJvbGw9PT1lLnJvbGx9O3dvLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZNLmVxdWFsc0Vwc2lsb24odC5oZWFkaW5nLGUuaGVhZGluZyxuLG8pJiZNLmVxdWFsc0Vwc2lsb24odC5waXRjaCxlLnBpdGNoLG4sbykmJk0uZXF1YWxzRXBzaWxvbih0LnJvbGwsZS5yb2xsLG4sbyl9O3dvLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gd28uY2xvbmUodGhpcyx0KX07d28ucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gd28uZXF1YWxzKHRoaXMsdCl9O3dvLnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gd28uZXF1YWxzRXBzaWxvbih0aGlzLHQsZSxuKX07d28ucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXMuaGVhZGluZ30sICR7dGhpcy5waXRjaH0sICR7dGhpcy5yb2xsfSlgfTtkcD13b30pO2Z1bmN0aW9uIE14KCl7bGV0IHQ9ZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInNjcmlwdCIpO2ZvcihsZXQgZT0wLG49dC5sZW5ndGg7ZTxuOysrZSl7bGV0IG89dFtlXS5nZXRBdHRyaWJ1dGUoInNyYyIpLHI9REEuZXhlYyhvKTtpZihyIT09bnVsbClyZXR1cm4gclsxXX19ZnVuY3Rpb24gRkEodCl7cmV0dXJuIHR5cGVvZiBkb2N1bWVudD4idSI/dDooaChtcCl8fChtcD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJhIikpLG1wLmhyZWY9dCxtcC5ocmVmKX1mdW5jdGlvbiBCQSgpe2lmKGgoS3MpKXJldHVybiBLcztsZXQgdDtpZih0eXBlb2YgQ0VTSVVNX0JBU0VfVVJMPCJ1Ij90PUNFU0lVTV9CQVNFX1VSTDpoKExBPy51cmwpP3Q9ZmYoIi4iLExBLnVybCk6dHlwZW9mIGRlZmluZT09Im9iamVjdCImJmgoZGVmaW5lLmFtZCkmJiFkZWZpbmUuYW1kLnRvVXJsVW5kZWZpbmVkJiZoKHByLnRvVXJsKT90PWZmKCIuLiIsV3MoIkNvcmUvYnVpbGRNb2R1bGVVcmwuanMiKSk6dD1NeCgpLCFoKHQpKXRocm93IG5ldyBCKCJVbmFibGUgdG8gZGV0ZXJtaW5lIENlc2l1bSBiYXNlIFVSTCBhdXRvbWF0aWNhbGx5LCB0cnkgZGVmaW5pbmcgYSBnbG9iYWwgdmFyaWFibGUgY2FsbGVkIENFU0lVTV9CQVNFX1VSTC4iKTtyZXR1cm4gS3M9bmV3IG9pKHt1cmw6RkEodCl9KSxLcy5hcHBlbmRGb3J3YXJkU2xhc2goKSxLc31mdW5jdGlvbiBOeCh0KXtyZXR1cm4gRkEocHIudG9VcmwoYC4uLyR7dH1gKSl9ZnVuY3Rpb24gVUEodCl7cmV0dXJuIEJBKCkuZ2V0RGVyaXZlZFJlc291cmNlKHt1cmw6dH0pLnVybH1mdW5jdGlvbiBXcyh0KXtyZXR1cm4gaChocCl8fCh0eXBlb2YgZGVmaW5lPT0ib2JqZWN0IiYmaChkZWZpbmUuYW1kKSYmIWRlZmluZS5hbWQudG9VcmxVbmRlZmluZWQmJmgocHIudG9VcmwpP2hwPU54OmhwPVVBKSxocCh0KX12YXIgTEEsREEsbXAsS3MsaHAsX3AsV209WigoKT0+e2Z0KCk7SHQoKTtWbSgpO2RmKCk7TEE9e30sREE9LygoPzouKlwvKXxeKUNlc2l1bVwuanMoPzpcP3xcI3wkKS87V3MuX2Nlc2l1bVNjcmlwdFJlZ2V4PURBO1dzLl9idWlsZE1vZHVsZVVybEZyb21CYXNlVXJsPVVBO1dzLl9jbGVhckJhc2VSZXNvdXJjZT1mdW5jdGlvbigpe0tzPXZvaWQgMH07V3Muc2V0QmFzZVVybD1mdW5jdGlvbih0KXtLcz1vaS5ERUZBVUxULmdldERlcml2ZWRSZXNvdXJjZSh7dXJsOnR9KX07V3MuZ2V0Q2VzaXVtQmFzZVVybD1CQTtfcD1Xc30pO2Z1bmN0aW9uIEl4KHQsZSxuKXt0aGlzLng9dCx0aGlzLnk9ZSx0aGlzLnM9bn12YXIgeXAsWG09WigoKT0+e3lwPUl4fSk7ZnVuY3Rpb24gWm0odCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHRoaXMuX3h5c0ZpbGVVcmxUZW1wbGF0ZT1vaS5jcmVhdGVJZk5lZWRlZCh0Lnh5c0ZpbGVVcmxUZW1wbGF0ZSksdGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyPXgodC5pbnRlcnBvbGF0aW9uT3JkZXIsOSksdGhpcy5fc2FtcGxlWmVyb0p1bGlhbkVwaGVtZXJpc0RhdGU9eCh0LnNhbXBsZVplcm9KdWxpYW5FcGhlbWVyaXNEYXRlLDI0NDIzOTY1ZS0xKSx0aGlzLl9zYW1wbGVaZXJvRGF0ZVRUPW5ldyBrbih0aGlzLl9zYW1wbGVaZXJvSnVsaWFuRXBoZW1lcmlzRGF0ZSwwLE9lLlRBSSksdGhpcy5fc3RlcFNpemVEYXlzPXgodC5zdGVwU2l6ZURheXMsMSksdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGU9eCh0LnNhbXBsZXNQZXJYeXNGaWxlLDFlMyksdGhpcy5fdG90YWxTYW1wbGVzPXgodC50b3RhbFNhbXBsZXMsMjc0MjYpLHRoaXMuX3NhbXBsZXM9bmV3IEFycmF5KHRoaXMuX3RvdGFsU2FtcGxlcyozKSx0aGlzLl9jaHVua0Rvd25sb2Fkc0luUHJvZ3Jlc3M9W107bGV0IGU9dGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyLG49dGhpcy5fZGVub21pbmF0b3JzPW5ldyBBcnJheShlKzEpLG89dGhpcy5feFRhYmxlPW5ldyBBcnJheShlKzEpLHI9TWF0aC5wb3codGhpcy5fc3RlcFNpemVEYXlzLGUpO2ZvcihsZXQgaT0wO2k8PWU7KytpKXtuW2ldPXIsb1tpXT1pKnRoaXMuX3N0ZXBTaXplRGF5cztmb3IobGV0IHM9MDtzPD1lOysrcylzIT09aSYmKG5baV0qPWktcyk7bltpXT0xL25baV19dGhpcy5fd29yaz1uZXcgQXJyYXkoZSsxKSx0aGlzLl9jb2VmPW5ldyBBcnJheShlKzEpfWZ1bmN0aW9uIFltKHQsZSxuKXtsZXQgbz12eDtyZXR1cm4gby5kYXlOdW1iZXI9ZSxvLnNlY29uZHNPZkRheT1uLGtuLmRheXNEaWZmZXJlbmNlKG8sdC5fc2FtcGxlWmVyb0RhdGVUVCl9ZnVuY3Rpb24gJG0odCxlKXtpZih0Ll9jaHVua0Rvd25sb2Fkc0luUHJvZ3Jlc3NbZV0pcmV0dXJuIHQuX2NodW5rRG93bmxvYWRzSW5Qcm9ncmVzc1tlXTtsZXQgbixvPXQuX3h5c0ZpbGVVcmxUZW1wbGF0ZTtoKG8pP249by5nZXREZXJpdmVkUmVzb3VyY2Uoe3RlbXBsYXRlVmFsdWVzOnswOmV9fSk6bj1uZXcgb2koe3VybDpfcChgQXNzZXRzL0lBVTIwMDZfWFlTL0lBVTIwMDZfWFlTXyR7ZX0uanNvbmApfSk7bGV0IHI9bi5mZXRjaEpzb24oKS50aGVuKGZ1bmN0aW9uKGkpe3QuX2NodW5rRG93bmxvYWRzSW5Qcm9ncmVzc1tlXT0hMTtsZXQgcz10Ll9zYW1wbGVzLGY9aS5zYW1wbGVzLHU9ZSp0Ll9zYW1wbGVzUGVyWHlzRmlsZSozO2ZvcihsZXQgYz0wLGw9Zi5sZW5ndGg7YzxsOysrYylzW3UrY109ZltjXX0pO3JldHVybiB0Ll9jaHVua0Rvd25sb2Fkc0luUHJvZ3Jlc3NbZV09cixyfXZhciB2eCxWQSxrQT1aKCgpPT57V20oKTtJdCgpO2Z0KCk7WG0oKTtKbCgpO2RmKCk7WGwoKTt2eD1uZXcga24oMCwwLE9lLlRBSSk7Wm0ucHJvdG90eXBlLnByZWxvYWQ9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9WW0odGhpcyx0LGUpLGk9WW0odGhpcyxuLG8pLHM9ci90aGlzLl9zdGVwU2l6ZURheXMtdGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyLzJ8MDtzPDAmJihzPTApO2xldCBmPWkvdGhpcy5fc3RlcFNpemVEYXlzLXRoaXMuX2ludGVycG9sYXRpb25PcmRlci8yfDArdGhpcy5faW50ZXJwb2xhdGlvbk9yZGVyO2Y+PXRoaXMuX3RvdGFsU2FtcGxlcyYmKGY9dGhpcy5fdG90YWxTYW1wbGVzLTEpO2xldCB1PXMvdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGV8MCxjPWYvdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGV8MCxsPVtdO2ZvcihsZXQgcD11O3A8PWM7KytwKWwucHVzaCgkbSh0aGlzLHApKTtyZXR1cm4gUHJvbWlzZS5hbGwobCl9O1ptLnByb3RvdHlwZS5jb21wdXRlWHlzUmFkaWFucz1mdW5jdGlvbih0LGUsbil7bGV0IG89WW0odGhpcyx0LGUpO2lmKG88MClyZXR1cm47bGV0IHI9by90aGlzLl9zdGVwU2l6ZURheXN8MDtpZihyPj10aGlzLl90b3RhbFNhbXBsZXMpcmV0dXJuO2xldCBpPXRoaXMuX2ludGVycG9sYXRpb25PcmRlcixzPXItKGkvMnwwKTtzPDAmJihzPTApO2xldCBmPXMraTtmPj10aGlzLl90b3RhbFNhbXBsZXMmJihmPXRoaXMuX3RvdGFsU2FtcGxlcy0xLHM9Zi1pLHM8MCYmKHM9MCkpO2xldCB1PSExLGM9dGhpcy5fc2FtcGxlcztpZihoKGNbcyozXSl8fCgkbSh0aGlzLHMvdGhpcy5fc2FtcGxlc1Blclh5c0ZpbGV8MCksdT0hMCksaChjW2YqM10pfHwoJG0odGhpcyxmL3RoaXMuX3NhbXBsZXNQZXJYeXNGaWxlfDApLHU9ITApLHUpcmV0dXJuO2gobik/KG4ueD0wLG4ueT0wLG4ucz0wKTpuPW5ldyB5cCgwLDAsMCk7bGV0IGw9by1zKnRoaXMuX3N0ZXBTaXplRGF5cyxwPXRoaXMuX3dvcmssZD10aGlzLl9kZW5vbWluYXRvcnMsbT10aGlzLl9jb2VmLF89dGhpcy5feFRhYmxlLGcsYjtmb3IoZz0wO2c8PWk7KytnKXBbZ109bC1fW2ddO2ZvcihnPTA7Zzw9aTsrK2cpe2ZvcihtW2ddPTEsYj0wO2I8PWk7KytiKWIhPT1nJiYobVtnXSo9cFtiXSk7bVtnXSo9ZFtnXTtsZXQgVD0ocytnKSozO24ueCs9bVtnXSpjW1QrK10sbi55Kz1tW2ddKmNbVCsrXSxuLnMrPW1bZ10qY1tUXX1yZXR1cm4gbn07VkE9Wm19KTt2YXIgb3MsTm4scW8sR0EsekE9WigoKT0+e2Z0KCk7Tm49e3JlcXVlc3RGdWxsc2NyZWVuOnZvaWQgMCxleGl0RnVsbHNjcmVlbjp2b2lkIDAsZnVsbHNjcmVlbkVuYWJsZWQ6dm9pZCAwLGZ1bGxzY3JlZW5FbGVtZW50OnZvaWQgMCxmdWxsc2NyZWVuY2hhbmdlOnZvaWQgMCxmdWxsc2NyZWVuZXJyb3I6dm9pZCAwfSxxbz17fTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhxbyx7ZWxlbWVudDp7Z2V0OmZ1bmN0aW9uKCl7aWYocW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkpcmV0dXJuIGRvY3VtZW50W05uLmZ1bGxzY3JlZW5FbGVtZW50XX19LGNoYW5nZUV2ZW50TmFtZTp7Z2V0OmZ1bmN0aW9uKCl7aWYocW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkpcmV0dXJuIE5uLmZ1bGxzY3JlZW5jaGFuZ2V9fSxlcnJvckV2ZW50TmFtZTp7Z2V0OmZ1bmN0aW9uKCl7aWYocW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkpcmV0dXJuIE5uLmZ1bGxzY3JlZW5lcnJvcn19LGVuYWJsZWQ6e2dldDpmdW5jdGlvbigpe2lmKHFvLnN1cHBvcnRzRnVsbHNjcmVlbigpKXJldHVybiBkb2N1bWVudFtObi5mdWxsc2NyZWVuRW5hYmxlZF19fSxmdWxsc2NyZWVuOntnZXQ6ZnVuY3Rpb24oKXtpZihxby5zdXBwb3J0c0Z1bGxzY3JlZW4oKSlyZXR1cm4gcW8uZWxlbWVudCE9PW51bGx9fX0pO3FvLnN1cHBvcnRzRnVsbHNjcmVlbj1mdW5jdGlvbigpe2lmKGgob3MpKXJldHVybiBvcztvcz0hMTtsZXQgdD1kb2N1bWVudC5ib2R5O2lmKHR5cGVvZiB0LnJlcXVlc3RGdWxsc2NyZWVuPT0iZnVuY3Rpb24iKXJldHVybiBObi5yZXF1ZXN0RnVsbHNjcmVlbj0icmVxdWVzdEZ1bGxzY3JlZW4iLE5uLmV4aXRGdWxsc2NyZWVuPSJleGl0RnVsbHNjcmVlbiIsTm4uZnVsbHNjcmVlbkVuYWJsZWQ9ImZ1bGxzY3JlZW5FbmFibGVkIixObi5mdWxsc2NyZWVuRWxlbWVudD0iZnVsbHNjcmVlbkVsZW1lbnQiLE5uLmZ1bGxzY3JlZW5jaGFuZ2U9ImZ1bGxzY3JlZW5jaGFuZ2UiLE5uLmZ1bGxzY3JlZW5lcnJvcj0iZnVsbHNjcmVlbmVycm9yIixvcz0hMCxvcztsZXQgZT1bIndlYmtpdCIsIm1veiIsIm8iLCJtcyIsImtodG1sIl0sbjtmb3IobGV0IG89MCxyPWUubGVuZ3RoO288cjsrK28pe2xldCBpPWVbb107bj1gJHtpfVJlcXVlc3RGdWxsc2NyZWVuYCx0eXBlb2YgdFtuXT09ImZ1bmN0aW9uIj8oTm4ucmVxdWVzdEZ1bGxzY3JlZW49bixvcz0hMCk6KG49YCR7aX1SZXF1ZXN0RnVsbFNjcmVlbmAsdHlwZW9mIHRbbl09PSJmdW5jdGlvbiImJihObi5yZXF1ZXN0RnVsbHNjcmVlbj1uLG9zPSEwKSksbj1gJHtpfUV4aXRGdWxsc2NyZWVuYCx0eXBlb2YgZG9jdW1lbnRbbl09PSJmdW5jdGlvbiI/Tm4uZXhpdEZ1bGxzY3JlZW49bjoobj1gJHtpfUNhbmNlbEZ1bGxTY3JlZW5gLHR5cGVvZiBkb2N1bWVudFtuXT09ImZ1bmN0aW9uIiYmKE5uLmV4aXRGdWxsc2NyZWVuPW4pKSxuPWAke2l9RnVsbHNjcmVlbkVuYWJsZWRgLGRvY3VtZW50W25dIT09dm9pZCAwP05uLmZ1bGxzY3JlZW5FbmFibGVkPW46KG49YCR7aX1GdWxsU2NyZWVuRW5hYmxlZGAsZG9jdW1lbnRbbl0hPT12b2lkIDAmJihObi5mdWxsc2NyZWVuRW5hYmxlZD1uKSksbj1gJHtpfUZ1bGxzY3JlZW5FbGVtZW50YCxkb2N1bWVudFtuXSE9PXZvaWQgMD9Obi5mdWxsc2NyZWVuRWxlbWVudD1uOihuPWAke2l9RnVsbFNjcmVlbkVsZW1lbnRgLGRvY3VtZW50W25dIT09dm9pZCAwJiYoTm4uZnVsbHNjcmVlbkVsZW1lbnQ9bikpLG49YCR7aX1mdWxsc2NyZWVuY2hhbmdlYCxkb2N1bWVudFtgb24ke259YF0hPT12b2lkIDAmJihpPT09Im1zIiYmKG49Ik1TRnVsbHNjcmVlbkNoYW5nZSIpLE5uLmZ1bGxzY3JlZW5jaGFuZ2U9biksbj1gJHtpfWZ1bGxzY3JlZW5lcnJvcmAsZG9jdW1lbnRbYG9uJHtufWBdIT09dm9pZCAwJiYoaT09PSJtcyImJihuPSJNU0Z1bGxzY3JlZW5FcnJvciIpLE5uLmZ1bGxzY3JlZW5lcnJvcj1uKX1yZXR1cm4gb3N9O3FvLnJlcXVlc3RGdWxsc2NyZWVuPWZ1bmN0aW9uKHQsZSl7cW8uc3VwcG9ydHNGdWxsc2NyZWVuKCkmJnRbTm4ucmVxdWVzdEZ1bGxzY3JlZW5dKHt2ckRpc3BsYXk6ZX0pfTtxby5leGl0RnVsbHNjcmVlbj1mdW5jdGlvbigpe3FvLnN1cHBvcnRzRnVsbHNjcmVlbigpJiZkb2N1bWVudFtObi5leGl0RnVsbHNjcmVlbl0oKX07cW8uX25hbWVzPU5uO0dBPXFvfSk7ZnVuY3Rpb24gWHModCl7bGV0IGU9dC5zcGxpdCgiLiIpO2ZvcihsZXQgbj0wLG89ZS5sZW5ndGg7bjxvOysrbillW25dPXBhcnNlSW50KGVbbl0sMTApO3JldHVybiBlfWZ1bmN0aW9uIG9oKCl7aWYoIWgoZ3ApJiYoZ3A9ITEsIUVwKCkpKXtsZXQgdD0vIENocm9tZVwvKFtcLjAtOV0rKS8uZXhlYyhFby51c2VyQWdlbnQpO3QhPT1udWxsJiYoZ3A9ITAsakE9WHModFsxXSkpfXJldHVybiBncH1mdW5jdGlvbiBMeCgpe3JldHVybiBvaCgpJiZqQX1mdW5jdGlvbiBxQSgpe2lmKCFoKEFwKSYmKEFwPSExLCFvaCgpJiYhRXAoKSYmLyBTYWZhcmlcL1tcLjAtOV0rLy50ZXN0KEVvLnVzZXJBZ2VudCkpKXtsZXQgdD0vIFZlcnNpb25cLyhbXC4wLTldKykvLmV4ZWMoRW8udXNlckFnZW50KTt0IT09bnVsbCYmKEFwPSEwLEhBPVhzKHRbMV0pKX1yZXR1cm4gQXB9ZnVuY3Rpb24gRHgoKXtyZXR1cm4gcUEoKSYmSEF9ZnVuY3Rpb24gS0EoKXtpZighaChicCkpe2JwPSExO2xldCB0PS8gQXBwbGVXZWJLaXRcLyhbXC4wLTldKykoXCs/KS8uZXhlYyhFby51c2VyQWdlbnQpO3QhPT1udWxsJiYoYnA9ITAsZWg9WHModFsxXSksZWguaXNOaWdodGx5PSEhdFsyXSl9cmV0dXJuIGJwfWZ1bmN0aW9uIEZ4KCl7cmV0dXJuIEtBKCkmJmVofWZ1bmN0aW9uIFdBKCl7aWYoIWgoX2YpKXtfZj0hMTtsZXQgdDtFby5hcHBOYW1lPT09Ik1pY3Jvc29mdCBJbnRlcm5ldCBFeHBsb3JlciI/KHQ9L01TSUUgKFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhFby51c2VyQWdlbnQpLHQhPT1udWxsJiYoX2Y9ITAsbmg9WHModFsxXSkpKTpFby5hcHBOYW1lPT09Ik5ldHNjYXBlIiYmKHQ9L1RyaWRlbnRcLy4qcnY6KFswLTldezEsfVtcLjAtOV17MCx9KS8uZXhlYyhFby51c2VyQWdlbnQpLHQhPT1udWxsJiYoX2Y9ITAsbmg9WHModFsxXSkpKX1yZXR1cm4gX2Z9ZnVuY3Rpb24gQngoKXtyZXR1cm4gV0EoKSYmbmh9ZnVuY3Rpb24gRXAoKXtpZighaChUcCkpe1RwPSExO2xldCB0PS8gRWRnXC8oW1wuMC05XSspLy5leGVjKEVvLnVzZXJBZ2VudCk7dCE9PW51bGwmJihUcD0hMCxYQT1Ycyh0WzFdKSl9cmV0dXJuIFRwfWZ1bmN0aW9uIFV4KCl7cmV0dXJuIEVwKCkmJlhBfWZ1bmN0aW9uIFJwKCl7aWYoIWgod3ApKXt3cD0hMTtsZXQgdD0vRmlyZWZveFwvKFtcLjAtOV0rKS8uZXhlYyhFby51c2VyQWdlbnQpO3QhPT1udWxsJiYod3A9ITAscmg9WHModFsxXSkpfXJldHVybiB3cH1mdW5jdGlvbiBWeCgpe3JldHVybiBoKFFtKXx8KFFtPS9XaW5kb3dzL2kudGVzdChFby5hcHBWZXJzaW9uKSksUW19ZnVuY3Rpb24ga3goKXtyZXR1cm4gaChKbSl8fChKbT1uYXZpZ2F0b3IucGxhdGZvcm09PT0iaVBob25lInx8bmF2aWdhdG9yLnBsYXRmb3JtPT09ImlQb2QifHxuYXZpZ2F0b3IucGxhdGZvcm09PT0iaVBhZCIpLEptfWZ1bmN0aW9uIEd4KCl7cmV0dXJuIFJwKCkmJnJofWZ1bmN0aW9uIHp4KCl7cmV0dXJuIGgodGgpfHwodGg9IVJwKCkmJnR5cGVvZiBQb2ludGVyRXZlbnQ8InUiJiYoIWgoRW8ucG9pbnRlckVuYWJsZWQpfHxFby5wb2ludGVyRW5hYmxlZCkpLHRofWZ1bmN0aW9uICRBKCl7aWYoIWgoT3ApKXtsZXQgdD1kb2N1bWVudC5jcmVhdGVFbGVtZW50KCJjYW52YXMiKTt0LnNldEF0dHJpYnV0ZSgic3R5bGUiLCJpbWFnZS1yZW5kZXJpbmc6IC1tb3otY3Jpc3AtZWRnZXM7aW1hZ2UtcmVuZGVyaW5nOiBwaXhlbGF0ZWQ7Iik7bGV0IGU9dC5zdHlsZS5pbWFnZVJlbmRlcmluZztPcD1oKGUpJiZlIT09IiIsT3AmJihZQT1lKX1yZXR1cm4gT3B9ZnVuY3Rpb24gangoKXtyZXR1cm4gJEEoKT9ZQTp2b2lkIDB9ZnVuY3Rpb24gT28oKXtpZighT28uaW5pdGlhbGl6ZWQpdGhyb3cgbmV3IEIoIllvdSBtdXN0IGNhbGwgRmVhdHVyZURldGVjdGlvbi5zdXBwb3J0c1dlYlAuaW5pdGlhbGl6ZSBhbmQgd2FpdCBmb3IgdGhlIHByb21pc2UgdG8gcmVzb2x2ZSBiZWZvcmUgY2FsbGluZyBGZWF0dXJlRGV0ZWN0aW9uLnN1cHBvcnRzV2ViUCIpO3JldHVybiBPby5fcmVzdWx0fXZhciBFbyxncCxqQSxBcCxIQSxicCxlaCxfZixuaCxUcCxYQSx3cCxyaCxRbSxKbSx0aCxZQSxPcCxKYyx5cixZcyxpaD1aKCgpPT57WHQoKTtJdCgpO2Z0KCk7SHQoKTt6QSgpO3R5cGVvZiBuYXZpZ2F0b3I8InUiP0VvPW5hdmlnYXRvcjpFbz17fTtPby5fcHJvbWlzZT12b2lkIDA7T28uX3Jlc3VsdD12b2lkIDA7T28uaW5pdGlhbGl6ZT1mdW5jdGlvbigpe3JldHVybiBoKE9vLl9wcm9taXNlKXx8KE9vLl9wcm9taXNlPW5ldyBQcm9taXNlKHQ9PntsZXQgZT1uZXcgSW1hZ2U7ZS5vbmxvYWQ9ZnVuY3Rpb24oKXtPby5fcmVzdWx0PWUud2lkdGg+MCYmZS5oZWlnaHQ+MCx0KE9vLl9yZXN1bHQpfSxlLm9uZXJyb3I9ZnVuY3Rpb24oKXtPby5fcmVzdWx0PSExLHQoT28uX3Jlc3VsdCl9LGUuc3JjPSJkYXRhOmltYWdlL3dlYnA7YmFzZTY0LFVrbEdSaUlBQUFCWFJVSlFWbEE0SUJZQUFBQXdBUUNkQVNvQkFBRUFEc0QrSmFRQUEzQUFBQUFBIn0pKSxPby5fcHJvbWlzZX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoT28se2luaXRpYWxpemVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaChPby5fcmVzdWx0KX19fSk7SmM9W107dHlwZW9mIEFycmF5QnVmZmVyPCJ1IiYmKEpjLnB1c2goSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXkpLHR5cGVvZiBVaW50OENsYW1wZWRBcnJheTwidSImJkpjLnB1c2goVWludDhDbGFtcGVkQXJyYXkpLHR5cGVvZiBVaW50OENsYW1wZWRBcnJheTwidSImJkpjLnB1c2goVWludDhDbGFtcGVkQXJyYXkpLHR5cGVvZiBCaWdJbnQ2NEFycmF5PCJ1IiYmSmMucHVzaChCaWdJbnQ2NEFycmF5KSx0eXBlb2YgQmlnVWludDY0QXJyYXk8InUiJiZKYy5wdXNoKEJpZ1VpbnQ2NEFycmF5KSk7eXI9e2lzQ2hyb21lOm9oLGNocm9tZVZlcnNpb246THgsaXNTYWZhcmk6cUEsc2FmYXJpVmVyc2lvbjpEeCxpc1dlYmtpdDpLQSx3ZWJraXRWZXJzaW9uOkZ4LGlzSW50ZXJuZXRFeHBsb3JlcjpXQSxpbnRlcm5ldEV4cGxvcmVyVmVyc2lvbjpCeCxpc0VkZ2U6RXAsZWRnZVZlcnNpb246VXgsaXNGaXJlZm94OlJwLGZpcmVmb3hWZXJzaW9uOkd4LGlzV2luZG93czpWeCxpc0lQYWRPcklPUzpreCxoYXJkd2FyZUNvbmN1cnJlbmN5OngoRW8uaGFyZHdhcmVDb25jdXJyZW5jeSwzKSxzdXBwb3J0c1BvaW50ZXJFdmVudHM6engsc3VwcG9ydHNJbWFnZVJlbmRlcmluZ1BpeGVsYXRlZDokQSxzdXBwb3J0c1dlYlA6T28saW1hZ2VSZW5kZXJpbmdWYWx1ZTpqeCx0eXBlZEFycmF5VHlwZXM6SmN9O3lyLnN1cHBvcnRzQmFzaXM9ZnVuY3Rpb24odCl7cmV0dXJuIHlyLnN1cHBvcnRzV2ViQXNzZW1ibHkoKSYmdC5jb250ZXh0LnN1cHBvcnRzQmFzaXN9O3lyLnN1cHBvcnRzRnVsbHNjcmVlbj1mdW5jdGlvbigpe3JldHVybiBHQS5zdXBwb3J0c0Z1bGxzY3JlZW4oKX07eXIuc3VwcG9ydHNUeXBlZEFycmF5cz1mdW5jdGlvbigpe3JldHVybiB0eXBlb2YgQXJyYXlCdWZmZXI8InUifTt5ci5zdXBwb3J0c0JpZ0ludDY0QXJyYXk9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIEJpZ0ludDY0QXJyYXk8InUifTt5ci5zdXBwb3J0c0JpZ1VpbnQ2NEFycmF5PWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBCaWdVaW50NjRBcnJheTwidSJ9O3lyLnN1cHBvcnRzQmlnSW50PWZ1bmN0aW9uKCl7cmV0dXJuIHR5cGVvZiBCaWdJbnQ8InUifTt5ci5zdXBwb3J0c1dlYldvcmtlcnM9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFdvcmtlcjwidSJ9O3lyLnN1cHBvcnRzV2ViQXNzZW1ibHk9ZnVuY3Rpb24oKXtyZXR1cm4gdHlwZW9mIFdlYkFzc2VtYmx5PCJ1In07eXIuc3VwcG9ydHNXZWJnbDI9ZnVuY3Rpb24odCl7cmV0dXJuIHkuZGVmaW5lZCgic2NlbmUiLHQpLHQuY29udGV4dC53ZWJnbDJ9O3lyLnN1cHBvcnRzRXNtV2ViV29ya2Vycz1mdW5jdGlvbigpe3JldHVybiFScCgpfHxwYXJzZUludChyaCk+PTExNH07WXM9eXJ9KTtmdW5jdGlvbiBFdCh0LGUsbixvKXt0aGlzLng9eCh0LDApLHRoaXMueT14KGUsMCksdGhpcy56PXgobiwwKSx0aGlzLnc9eChvLDApfXZhciB5ZixIeCxxeCxaQSxRQSxzaCxKQSxTcCxjaCxGcix0YixDcCxhaCxlYixmaCx1aCxLeCxXeCxnZix0YSxYeCxuYix4cCxQcCx4aSxQaSxlZSxLbz1aKCgpPT57RnQoKTtYdCgpO0l0KCk7ZnQoKTtpaCgpO1d0KCk7Qm4oKTt5Zj1uZXcgYTtFdC5mcm9tQXhpc0FuZ2xlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoImF4aXMiLHQpLHkudHlwZU9mLm51bWJlcigiYW5nbGUiLGUpO2xldCBvPWUvMixyPU1hdGguc2luKG8pO3lmPWEubm9ybWFsaXplKHQseWYpO2xldCBpPXlmLngqcixzPXlmLnkqcixmPXlmLnoqcix1PU1hdGguY29zKG8pO3JldHVybiBoKG4pPyhuLng9aSxuLnk9cyxuLno9ZixuLnc9dSxuKTpuZXcgRXQoaSxzLGYsdSl9O0h4PVsxLDIsMF0scXg9bmV3IEFycmF5KDMpO0V0LmZyb21Sb3RhdGlvbk1hdHJpeD1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KTtsZXQgbixvLHIsaSxzLGY9dFtRLkNPTFVNTjBST1cwXSx1PXRbUS5DT0xVTU4xUk9XMV0sYz10W1EuQ09MVU1OMlJPVzJdLGw9Zit1K2M7aWYobD4wKW49TWF0aC5zcXJ0KGwrMSkscz0uNSpuLG49LjUvbixvPSh0W1EuQ09MVU1OMVJPVzJdLXRbUS5DT0xVTU4yUk9XMV0pKm4scj0odFtRLkNPTFVNTjJST1cwXS10W1EuQ09MVU1OMFJPVzJdKSpuLGk9KHRbUS5DT0xVTU4wUk9XMV0tdFtRLkNPTFVNTjFST1cwXSkqbjtlbHNle2xldCBwPUh4LGQ9MDt1PmYmJihkPTEpLGM+ZiYmYz51JiYoZD0yKTtsZXQgbT1wW2RdLF89cFttXTtuPU1hdGguc3FydCh0W1EuZ2V0RWxlbWVudEluZGV4KGQsZCldLXRbUS5nZXRFbGVtZW50SW5kZXgobSxtKV0tdFtRLmdldEVsZW1lbnRJbmRleChfLF8pXSsxKTtsZXQgZz1xeDtnW2RdPS41Km4sbj0uNS9uLHM9KHRbUS5nZXRFbGVtZW50SW5kZXgoXyxtKV0tdFtRLmdldEVsZW1lbnRJbmRleChtLF8pXSkqbixnW21dPSh0W1EuZ2V0RWxlbWVudEluZGV4KG0sZCldK3RbUS5nZXRFbGVtZW50SW5kZXgoZCxtKV0pKm4sZ1tfXT0odFtRLmdldEVsZW1lbnRJbmRleChfLGQpXSt0W1EuZ2V0RWxlbWVudEluZGV4KGQsXyldKSpuLG89LWdbMF0scj0tZ1sxXSxpPS1nWzJdfXJldHVybiBoKGUpPyhlLng9byxlLnk9cixlLno9aSxlLnc9cyxlKTpuZXcgRXQobyxyLGkscyl9O1pBPW5ldyBFdCxRQT1uZXcgRXQsc2g9bmV3IEV0LEpBPW5ldyBFdDtFdC5mcm9tSGVhZGluZ1BpdGNoUm9sbD1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImhlYWRpbmdQaXRjaFJvbGwiLHQpLEpBPUV0LmZyb21BeGlzQW5nbGUoYS5VTklUX1gsdC5yb2xsLFpBKSxzaD1FdC5mcm9tQXhpc0FuZ2xlKGEuVU5JVF9ZLC10LnBpdGNoLGUpLGU9RXQubXVsdGlwbHkoc2gsSkEsc2gpLFFBPUV0LmZyb21BeGlzQW5nbGUoYS5VTklUX1osLXQuaGVhZGluZyxaQSksRXQubXVsdGlwbHkoUUEsZSxlKX07U3A9bmV3IGEsY2g9bmV3IGEsRnI9bmV3IEV0LHRiPW5ldyBFdCxDcD1uZXcgRXQ7RXQucGFja2VkTGVuZ3RoPTQ7RXQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuKytdPXQueSxlW24rK109dC56LGVbbl09dC53LGV9O0V0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBFdCksbi54PXRbZV0sbi55PXRbZSsxXSxuLno9dFtlKzJdLG4udz10W2UrM10sbn07RXQucGFja2VkSW50ZXJwb2xhdGlvbkxlbmd0aD0zO0V0LmNvbnZlcnRQYWNrZWRBcnJheUZvckludGVycG9sYXRpb249ZnVuY3Rpb24odCxlLG4sbyl7RXQudW5wYWNrKHQsbio0LENwKSxFdC5jb25qdWdhdGUoQ3AsQ3ApO2ZvcihsZXQgcj0wLGk9bi1lKzE7cjxpO3IrKyl7bGV0IHM9ciozO0V0LnVucGFjayh0LChlK3IpKjQsRnIpLEV0Lm11bHRpcGx5KEZyLENwLEZyKSxGci53PDAmJkV0Lm5lZ2F0ZShGcixGciksRXQuY29tcHV0ZUF4aXMoRnIsU3ApO2xldCBmPUV0LmNvbXB1dGVBbmdsZShGcik7aChvKXx8KG89W10pLG9bc109U3AueCpmLG9bcysxXT1TcC55KmYsb1tzKzJdPVNwLnoqZn19O0V0LnVucGFja0ludGVycG9sYXRpb25SZXN1bHQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtoKHIpfHwocj1uZXcgRXQpLGEuZnJvbUFycmF5KHQsMCxjaCk7bGV0IGk9YS5tYWduaXR1ZGUoY2gpO3JldHVybiBFdC51bnBhY2soZSxvKjQsdGIpLGk9PT0wP0V0LmNsb25lKEV0LklERU5USVRZLEZyKTpFdC5mcm9tQXhpc0FuZ2xlKGNoLGksRnIpLEV0Lm11bHRpcGx5KEZyLHRiLHIpfTtFdC5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUueD10LngsZS55PXQueSxlLno9dC56LGUudz10LncsZSk6bmV3IEV0KHQueCx0LnksdC56LHQudyl9O0V0LmNvbmp1Z2F0ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInF1YXRlcm5pb24iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9LXQueCxlLnk9LXQueSxlLno9LXQueixlLnc9dC53LGV9O0V0Lm1hZ25pdHVkZVNxdWFyZWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicXVhdGVybmlvbiIsdCksdC54KnQueCt0LnkqdC55K3Queip0LnordC53KnQud307RXQubWFnbml0dWRlPWZ1bmN0aW9uKHQpe3JldHVybiBNYXRoLnNxcnQoRXQubWFnbml0dWRlU3F1YXJlZCh0KSl9O0V0Lm5vcm1hbGl6ZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj0xL0V0Lm1hZ25pdHVkZSh0KSxvPXQueCpuLHI9dC55Km4saT10LnoqbixzPXQudypuO3JldHVybiBlLng9byxlLnk9cixlLno9aSxlLnc9cyxlfTtFdC5pbnZlcnNlPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPUV0Lm1hZ25pdHVkZVNxdWFyZWQodCk7cmV0dXJuIGU9RXQuY29uanVnYXRlKHQsZSksRXQubXVsdGlwbHlCeVNjYWxhcihlLDEvbixlKX07RXQuYWRkPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueCtlLngsbi55PXQueStlLnksbi56PXQueitlLnosbi53PXQudytlLncsbn07RXQuc3VidHJhY3Q9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54LWUueCxuLnk9dC55LWUueSxuLno9dC56LWUueixuLnc9dC53LWUudyxufTtFdC5uZWdhdGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZS54PS10LngsZS55PS10LnksZS56PS10LnosZS53PS10LncsZX07RXQuZG90PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksdC54KmUueCt0LnkqZS55K3QueiplLnordC53KmUud307RXQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXQueCxyPXQueSxpPXQueixzPXQudyxmPWUueCx1PWUueSxjPWUueixsPWUudyxwPXMqZitvKmwrcipjLWkqdSxkPXMqdS1vKmMrcipsK2kqZixtPXMqYytvKnUtcipmK2kqbCxfPXMqbC1vKmYtcip1LWkqYztyZXR1cm4gbi54PXAsbi55PWQsbi56PW0sbi53PV8sbn07RXQubXVsdGlwbHlCeVNjYWxhcj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicXVhdGVybmlvbiIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLng9dC54KmUsbi55PXQueSplLG4uej10LnoqZSxuLnc9dC53KmUsbn07RXQuZGl2aWRlQnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInF1YXRlcm5pb24iLHQpLHkudHlwZU9mLm51bWJlcigic2NhbGFyIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi54PXQueC9lLG4ueT10LnkvZSxuLno9dC56L2Usbi53PXQudy9lLG59O0V0LmNvbXB1dGVBeGlzPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49dC53O2lmKE1hdGguYWJzKG4tMSk8TS5FUFNJTE9ONnx8TWF0aC5hYnMobisxKTxNLkVQU0lMT042KXJldHVybiBlLng9MSxlLnk9ZS56PTAsZTtsZXQgbz0xL01hdGguc3FydCgxLW4qbik7cmV0dXJuIGUueD10LngqbyxlLnk9dC55Km8sZS56PXQueipvLGV9O0V0LmNvbXB1dGVBbmdsZT1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJxdWF0ZXJuaW9uIix0KSxNYXRoLmFicyh0LnctMSk8TS5FUFNJTE9ONj8wOjIqTWF0aC5hY29zKHQudyl9O2FoPW5ldyBFdDtFdC5sZXJwPWZ1bmN0aW9uKHQsZSxuLG8pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInN0YXJ0Iix0KSx5LnR5cGVPZi5vYmplY3QoImVuZCIsZSkseS50eXBlT2YubnVtYmVyKCJ0IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksYWg9RXQubXVsdGlwbHlCeVNjYWxhcihlLG4sYWgpLG89RXQubXVsdGlwbHlCeVNjYWxhcih0LDEtbixvKSxFdC5hZGQoYWgsbyxvKX07ZWI9bmV3IEV0LGZoPW5ldyBFdCx1aD1uZXcgRXQ7RXQuc2xlcnA9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJzdGFydCIsdCkseS50eXBlT2Yub2JqZWN0KCJlbmQiLGUpLHkudHlwZU9mLm51bWJlcigidCIsbikseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG8pO2xldCByPUV0LmRvdCh0LGUpLGk9ZTtpZihyPDAmJihyPS1yLGk9ZWI9RXQubmVnYXRlKGUsZWIpKSwxLXI8TS5FUFNJTE9ONilyZXR1cm4gRXQubGVycCh0LGksbixvKTtsZXQgcz1NYXRoLmFjb3Mocik7cmV0dXJuIGZoPUV0Lm11bHRpcGx5QnlTY2FsYXIodCxNYXRoLnNpbigoMS1uKSpzKSxmaCksdWg9RXQubXVsdGlwbHlCeVNjYWxhcihpLE1hdGguc2luKG4qcyksdWgpLG89RXQuYWRkKGZoLHVoLG8pLEV0Lm11bHRpcGx5QnlTY2FsYXIobywxL01hdGguc2luKHMpLG8pfTtFdC5sb2c9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoInF1YXRlcm5pb24iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1NLmFjb3NDbGFtcGVkKHQudyksbz0wO3JldHVybiBuIT09MCYmKG89bi9NYXRoLnNpbihuKSksYS5tdWx0aXBseUJ5U2NhbGFyKHQsbyxlKX07RXQuZXhwPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj1hLm1hZ25pdHVkZSh0KSxvPTA7cmV0dXJuIG4hPT0wJiYobz1NYXRoLnNpbihuKS9uKSxlLng9dC54Km8sZS55PXQueSpvLGUuej10LnoqbyxlLnc9TWF0aC5jb3MobiksZX07S3g9bmV3IGEsV3g9bmV3IGEsZ2Y9bmV3IEV0LHRhPW5ldyBFdDtFdC5jb21wdXRlSW5uZXJRdWFkcmFuZ2xlPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgicTAiLHQpLHkudHlwZU9mLm9iamVjdCgicTEiLGUpLHkudHlwZU9mLm9iamVjdCgicTIiLG4pLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixvKTtsZXQgcj1FdC5jb25qdWdhdGUoZSxnZik7RXQubXVsdGlwbHkocixuLHRhKTtsZXQgaT1FdC5sb2codGEsS3gpO0V0Lm11bHRpcGx5KHIsdCx0YSk7bGV0IHM9RXQubG9nKHRhLFd4KTtyZXR1cm4gYS5hZGQoaSxzLGkpLGEubXVsdGlwbHlCeVNjYWxhcihpLC4yNSxpKSxhLm5lZ2F0ZShpLGkpLEV0LmV4cChpLGdmKSxFdC5tdWx0aXBseShlLGdmLG8pfTtFdC5zcXVhZD1mdW5jdGlvbih0LGUsbixvLHIsaSl7eS50eXBlT2Yub2JqZWN0KCJxMCIsdCkseS50eXBlT2Yub2JqZWN0KCJxMSIsZSkseS50eXBlT2Yub2JqZWN0KCJzMCIsbikseS50eXBlT2Yub2JqZWN0KCJzMSIsbykseS50eXBlT2YubnVtYmVyKCJ0IixyKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsaSk7bGV0IHM9RXQuc2xlcnAodCxlLHIsZ2YpLGY9RXQuc2xlcnAobixvLHIsdGEpO3JldHVybiBFdC5zbGVycChzLGYsMipyKigxLXIpLGkpfTtYeD1uZXcgRXQsbmI9MS45MDExMDc0NTM1MTczMDAzLHhwPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdLFBwPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdLHhpPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdLFBpPVlzLnN1cHBvcnRzVHlwZWRBcnJheXMoKT9uZXcgRmxvYXQzMkFycmF5KDgpOltdO2ZvcihsZXQgdD0wO3Q8NzsrK3Qpe2xldCBlPXQrMSxuPTIqZSsxO3hwW3RdPTEvKGUqbiksUHBbdF09ZS9ufXhwWzddPW5iLyg4KjE3KTtQcFs3XT1uYio4LzE3O0V0LmZhc3RTbGVycD1mdW5jdGlvbih0LGUsbixvKXt5LnR5cGVPZi5vYmplY3QoInN0YXJ0Iix0KSx5LnR5cGVPZi5vYmplY3QoImVuZCIsZSkseS50eXBlT2YubnVtYmVyKCJ0IixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyk7bGV0IHI9RXQuZG90KHQsZSksaTtyPj0wP2k9MTooaT0tMSxyPS1yKTtsZXQgcz1yLTEsZj0xLW4sdT1uKm4sYz1mKmY7Zm9yKGxldCBtPTc7bT49MDstLW0peGlbbV09KHhwW21dKnUtUHBbbV0pKnMsUGlbbV09KHhwW21dKmMtUHBbbV0pKnM7bGV0IGw9aSpuKigxK3hpWzBdKigxK3hpWzFdKigxK3hpWzJdKigxK3hpWzNdKigxK3hpWzRdKigxK3hpWzVdKigxK3hpWzZdKigxK3hpWzddKSkpKSkpKSkscD1mKigxK1BpWzBdKigxK1BpWzFdKigxK1BpWzJdKigxK1BpWzNdKigxK1BpWzRdKigxK1BpWzVdKigxK1BpWzZdKigxK1BpWzddKSkpKSkpKSksZD1FdC5tdWx0aXBseUJ5U2NhbGFyKHQscCxYeCk7cmV0dXJuIEV0Lm11bHRpcGx5QnlTY2FsYXIoZSxsLG8pLEV0LmFkZChkLG8sbyl9O0V0LmZhc3RTcXVhZD1mdW5jdGlvbih0LGUsbixvLHIsaSl7eS50eXBlT2Yub2JqZWN0KCJxMCIsdCkseS50eXBlT2Yub2JqZWN0KCJxMSIsZSkseS50eXBlT2Yub2JqZWN0KCJzMCIsbikseS50eXBlT2Yub2JqZWN0KCJzMSIsbykseS50eXBlT2YubnVtYmVyKCJ0IixyKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsaSk7bGV0IHM9RXQuZmFzdFNsZXJwKHQsZSxyLGdmKSxmPUV0LmZhc3RTbGVycChuLG8scix0YSk7cmV0dXJuIEV0LmZhc3RTbGVycChzLGYsMipyKigxLXIpLGkpfTtFdC5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJnQueD09PWUueCYmdC55PT09ZS55JiZ0Lno9PT1lLnomJnQudz09PWUud307RXQuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIG49eChuLDApLHQ9PT1lfHxoKHQpJiZoKGUpJiZNYXRoLmFicyh0LngtZS54KTw9biYmTWF0aC5hYnModC55LWUueSk8PW4mJk1hdGguYWJzKHQuei1lLnopPD1uJiZNYXRoLmFicyh0LnctZS53KTw9bn07RXQuWkVSTz1PYmplY3QuZnJlZXplKG5ldyBFdCgwLDAsMCwwKSk7RXQuSURFTlRJVFk9T2JqZWN0LmZyZWV6ZShuZXcgRXQoMCwwLDAsMSkpO0V0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gRXQuY2xvbmUodGhpcyx0KX07RXQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gRXQuZXF1YWxzKHRoaXMsdCl9O0V0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIEV0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUpfTtFdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5gKCR7dGhpcy54fSwgJHt0aGlzLnl9LCAke3RoaXMuen0sICR7dGhpcy53fSlgfTtlZT1FdH0pO3ZhciBSZSxsaCxlYSxwaCxXbyxycyxpcyxzcyxZeCwkeCxaeCxReCxKeCx0MyxlMyxvYixuMyxvMyxyMyxpMyxzMyxjMyxhMyxmMyx1MyxsMyxNcCxoaCxwMyxkMyxtMyxOcCxoMyxfMyx5MyxnMyxkaCxtaCxBMyxiMyxUMyx3MyxyYixpYixfaCxPMyxFMyx5aCxzYixYbyxjcz1aKCgpPT57VWUoKTtGdCgpO2hyKCk7SWUoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO0lBKCk7Tm0oKTtadCgpO3ZBKCk7a0EoKTtYbSgpO0psKCk7V3QoKTtCbigpO1VuKCk7S28oKTtXbCgpO1JlPXt9LGxoPXt1cDp7c291dGg6ImVhc3QiLG5vcnRoOiJ3ZXN0Iix3ZXN0OiJzb3V0aCIsZWFzdDoibm9ydGgifSxkb3duOntzb3V0aDoid2VzdCIsbm9ydGg6ImVhc3QiLHdlc3Q6Im5vcnRoIixlYXN0OiJzb3V0aCJ9LHNvdXRoOnt1cDoid2VzdCIsZG93bjoiZWFzdCIsd2VzdDoiZG93biIsZWFzdDoidXAifSxub3J0aDp7dXA6ImVhc3QiLGRvd246Indlc3QiLHdlc3Q6InVwIixlYXN0OiJkb3duIn0sd2VzdDp7dXA6Im5vcnRoIixkb3duOiJzb3V0aCIsbm9ydGg6ImRvd24iLHNvdXRoOiJ1cCJ9LGVhc3Q6e3VwOiJzb3V0aCIsZG93bjoibm9ydGgiLG5vcnRoOiJ1cCIsc291dGg6ImRvd24ifX0sZWE9e25vcnRoOlstMSwwLDBdLGVhc3Q6WzAsMSwwXSx1cDpbMCwwLDFdLHNvdXRoOlsxLDAsMF0sd2VzdDpbMCwtMSwwXSxkb3duOlswLDAsLTFdfSxwaD17fSxXbz17ZWFzdDpuZXcgYSxub3J0aDpuZXcgYSx1cDpuZXcgYSx3ZXN0Om5ldyBhLHNvdXRoOm5ldyBhLGRvd246bmV3IGF9LHJzPW5ldyBhLGlzPW5ldyBhLHNzPW5ldyBhO1JlLmxvY2FsRnJhbWVUb0ZpeGVkRnJhbWVHZW5lcmF0b3I9ZnVuY3Rpb24odCxlKXtpZighbGguaGFzT3duUHJvcGVydHkodCl8fCFsaFt0XS5oYXNPd25Qcm9wZXJ0eShlKSl0aHJvdyBuZXcgQigiZmlyc3RBeGlzIGFuZCBzZWNvbmRBeGlzIG11c3QgYmUgZWFzdCwgbm9ydGgsIHVwLCB3ZXN0LCBzb3V0aCBvciBkb3duLiIpO2xldCBuPWxoW3RdW2VdLG8scj10K2U7cmV0dXJuIGgocGhbcl0pP289cGhbcl06KG89ZnVuY3Rpb24oaSxzLGYpe2lmKCFoKGkpKXRocm93IG5ldyBCKCJvcmlnaW4gaXMgcmVxdWlyZWQuIik7aWYoaXNOYU4oaS54KXx8aXNOYU4oaS55KXx8aXNOYU4oaS56KSl0aHJvdyBuZXcgQigib3JpZ2luIGhhcyBhIE5hTiBjb21wb25lbnQiKTtpZihoKGYpfHwoZj1uZXcgc3QpLGEuZXF1YWxzRXBzaWxvbihpLGEuWkVSTyxNLkVQU0lMT04xNCkpYS51bnBhY2soZWFbdF0sMCxycyksYS51bnBhY2soZWFbZV0sMCxpcyksYS51bnBhY2soZWFbbl0sMCxzcyk7ZWxzZSBpZihNLmVxdWFsc0Vwc2lsb24oaS54LDAsTS5FUFNJTE9OMTQpJiZNLmVxdWFsc0Vwc2lsb24oaS55LDAsTS5FUFNJTE9OMTQpKXtsZXQgdT1NLnNpZ24oaS56KTthLnVucGFjayhlYVt0XSwwLHJzKSx0IT09ImVhc3QiJiZ0IT09Indlc3QiJiZhLm11bHRpcGx5QnlTY2FsYXIocnMsdSxycyksYS51bnBhY2soZWFbZV0sMCxpcyksZSE9PSJlYXN0IiYmZSE9PSJ3ZXN0IiYmYS5tdWx0aXBseUJ5U2NhbGFyKGlzLHUsaXMpLGEudW5wYWNrKGVhW25dLDAsc3MpLG4hPT0iZWFzdCImJm4hPT0id2VzdCImJmEubXVsdGlwbHlCeVNjYWxhcihzcyx1LHNzKX1lbHNle3M9eChzLCQuZGVmYXVsdCkscy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoaSxXby51cCk7bGV0IHU9V28udXAsYz1Xby5lYXN0O2MueD0taS55LGMueT1pLngsYy56PTAsYS5ub3JtYWxpemUoYyxXby5lYXN0KSxhLmNyb3NzKHUsYyxXby5ub3J0aCksYS5tdWx0aXBseUJ5U2NhbGFyKFdvLnVwLC0xLFdvLmRvd24pLGEubXVsdGlwbHlCeVNjYWxhcihXby5lYXN0LC0xLFdvLndlc3QpLGEubXVsdGlwbHlCeVNjYWxhcihXby5ub3J0aCwtMSxXby5zb3V0aCkscnM9V29bdF0saXM9V29bZV0sc3M9V29bbl19cmV0dXJuIGZbMF09cnMueCxmWzFdPXJzLnksZlsyXT1ycy56LGZbM109MCxmWzRdPWlzLngsZls1XT1pcy55LGZbNl09aXMueixmWzddPTAsZls4XT1zcy54LGZbOV09c3MueSxmWzEwXT1zcy56LGZbMTFdPTAsZlsxMl09aS54LGZbMTNdPWkueSxmWzE0XT1pLnosZlsxNV09MSxmfSxwaFtyXT1vKSxvfTtSZS5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZT1SZS5sb2NhbEZyYW1lVG9GaXhlZEZyYW1lR2VuZXJhdG9yKCJlYXN0Iiwibm9ydGgiKTtSZS5ub3J0aEVhc3REb3duVG9GaXhlZEZyYW1lPVJlLmxvY2FsRnJhbWVUb0ZpeGVkRnJhbWVHZW5lcmF0b3IoIm5vcnRoIiwiZWFzdCIpO1JlLm5vcnRoVXBFYXN0VG9GaXhlZEZyYW1lPVJlLmxvY2FsRnJhbWVUb0ZpeGVkRnJhbWVHZW5lcmF0b3IoIm5vcnRoIiwidXAiKTtSZS5ub3J0aFdlc3RVcFRvRml4ZWRGcmFtZT1SZS5sb2NhbEZyYW1lVG9GaXhlZEZyYW1lR2VuZXJhdG9yKCJub3J0aCIsIndlc3QiKTtZeD1uZXcgZWUsJHg9bmV3IGEoMSwxLDEpLFp4PW5ldyBzdDtSZS5oZWFkaW5nUGl0Y2hSb2xsVG9GaXhlZEZyYW1lPWZ1bmN0aW9uKHQsZSxuLG8scil7eS50eXBlT2Yub2JqZWN0KCJIZWFkaW5nUGl0Y2hSb2xsIixlKSxvPXgobyxSZS5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZSk7bGV0IGk9ZWUuZnJvbUhlYWRpbmdQaXRjaFJvbGwoZSxZeCkscz1zdC5mcm9tVHJhbnNsYXRpb25RdWF0ZXJuaW9uUm90YXRpb25TY2FsZShhLlpFUk8saSwkeCxaeCk7cmV0dXJuIHI9byh0LG4sciksc3QubXVsdGlwbHkocixzLHIpfTtReD1uZXcgc3QsSng9bmV3IFE7UmUuaGVhZGluZ1BpdGNoUm9sbFF1YXRlcm5pb249ZnVuY3Rpb24odCxlLG4sbyxyKXt5LnR5cGVPZi5vYmplY3QoIkhlYWRpbmdQaXRjaFJvbGwiLGUpO2xldCBpPVJlLmhlYWRpbmdQaXRjaFJvbGxUb0ZpeGVkRnJhbWUodCxlLG4sbyxReCkscz1zdC5nZXRNYXRyaXgzKGksSngpO3JldHVybiBlZS5mcm9tUm90YXRpb25NYXRyaXgocyxyKX07dDM9bmV3IGEoMSwxLDEpLGUzPW5ldyBhLG9iPW5ldyBzdCxuMz1uZXcgc3QsbzM9bmV3IFEscjM9bmV3IGVlO1JlLmZpeGVkRnJhbWVUb0hlYWRpbmdQaXRjaFJvbGw9ZnVuY3Rpb24odCxlLG4sbyl7eS5kZWZpbmVkKCJ0cmFuc2Zvcm0iLHQpLGU9eChlLCQuZGVmYXVsdCksbj14KG4sUmUuZWFzdE5vcnRoVXBUb0ZpeGVkRnJhbWUpLGgobyl8fChvPW5ldyBkcCk7bGV0IHI9c3QuZ2V0VHJhbnNsYXRpb24odCxlMyk7aWYoYS5lcXVhbHMocixhLlpFUk8pKXJldHVybiBvLmhlYWRpbmc9MCxvLnBpdGNoPTAsby5yb2xsPTAsbztsZXQgaT1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24obihyLGUsb2IpLG9iKSxzPXN0LnNldFNjYWxlKHQsdDMsbjMpO3M9c3Quc2V0VHJhbnNsYXRpb24ocyxhLlpFUk8scyksaT1zdC5tdWx0aXBseShpLHMsaSk7bGV0IGY9ZWUuZnJvbVJvdGF0aW9uTWF0cml4KHN0LmdldE1hdHJpeDMoaSxvMykscjMpO3JldHVybiBmPWVlLm5vcm1hbGl6ZShmLGYpLGRwLmZyb21RdWF0ZXJuaW9uKGYsbyl9O2kzPTYqMzYwMCs0MSo2MCs1MC41NDg0MSxzMz04NjQwMTg0ODEyODY2ZS02LGMzPS4wOTMxMDQsYTM9LTYyZS03LGYzPTExNzcyNzU4Mzg0NjY4ZS0zMix1Mz03MjkyMTE1ODU1M2UtMTUsbDM9TS5UV09fUEkvODY0MDAsTXA9bmV3IGtuO1JlLmNvbXB1dGVJY3JmVG9DZW50cmFsQm9keUZpeGVkTWF0cml4PWZ1bmN0aW9uKHQsZSl7bGV0IG49UmUuY29tcHV0ZUljcmZUb0ZpeGVkTWF0cml4KHQsZSk7cmV0dXJuIGgobil8fChuPVJlLmNvbXB1dGVUZW1lVG9Qc2V1ZG9GaXhlZE1hdHJpeCh0LGUpKSxufTtSZS5jb21wdXRlVGVtZVRvUHNldWRvRml4ZWRNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigiZGF0ZSBpcyByZXF1aXJlZC4iKTtNcD1rbi5hZGRTZWNvbmRzKHQsLWtuLmNvbXB1dGVUYWlNaW51c1V0Yyh0KSxNcCk7bGV0IG49TXAuZGF5TnVtYmVyLG89TXAuc2Vjb25kc09mRGF5LHIsaT1uLTI0NTE1NDU7bz49NDMyMDA/cj0oaSsuNSkveW4uREFZU19QRVJfSlVMSUFOX0NFTlRVUlk6cj0oaS0uNSkveW4uREFZU19QRVJfSlVMSUFOX0NFTlRVUlk7bGV0IGY9KGkzK3IqKHMzK3IqKGMzK3IqYTMpKSkqbDMlTS5UV09fUEksdT11MytmMyoobi0yNDUxNTQ1NWUtMSksYz0obyt5bi5TRUNPTkRTX1BFUl9EQVkqLjUpJXluLlNFQ09ORFNfUEVSX0RBWSxsPWYrdSpjLHA9TWF0aC5jb3MobCksZD1NYXRoLnNpbihsKTtyZXR1cm4gaChlKT8oZVswXT1wLGVbMV09LWQsZVsyXT0wLGVbM109ZCxlWzRdPXAsZVs1XT0wLGVbNl09MCxlWzddPTAsZVs4XT0xLGUpOm5ldyBRKHAsZCwwLC1kLHAsMCwwLDAsMSl9O1JlLmlhdTIwMDZYeXNEYXRhPW5ldyBWQTtSZS5lYXJ0aE9yaWVudGF0aW9uUGFyYW1ldGVycz1OQS5OT05FO2hoPTMyLjE4NCxwMz0yNDUxNTQ1O1JlLnByZWxvYWRJY3JmRml4ZWQ9ZnVuY3Rpb24odCl7bGV0IGU9dC5zdGFydC5kYXlOdW1iZXIsbj10LnN0YXJ0LnNlY29uZHNPZkRheStoaCxvPXQuc3RvcC5kYXlOdW1iZXIscj10LnN0b3Auc2Vjb25kc09mRGF5K2hoO3JldHVybiBSZS5pYXUyMDA2WHlzRGF0YS5wcmVsb2FkKGUsbixvLHIpfTtSZS5jb21wdXRlSWNyZlRvRml4ZWRNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigiZGF0ZSBpcyByZXF1aXJlZC4iKTtoKGUpfHwoZT1uZXcgUSk7bGV0IG49UmUuY29tcHV0ZUZpeGVkVG9JY3JmTWF0cml4KHQsZSk7aWYoaChuKSlyZXR1cm4gUS50cmFuc3Bvc2UobixlKX07ZDM9MzIuMTg0LG0zPTI0NTE1NDUsTnA9bmV3IGRwLGgzPW5ldyBRLF8zPW5ldyBrbjtSZS5jb21wdXRlTW9vbkZpeGVkVG9JY3JmTWF0cml4PWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImRhdGUgaXMgcmVxdWlyZWQuIik7aChlKXx8KGU9bmV3IFEpO2xldCBuPWtuLmFkZFNlY29uZHModCxkMyxfMyksbz1rbi50b3RhbERheXMobiktbTMscj1NLnRvUmFkaWFucygxMi4xMTIpLU0udG9SYWRpYW5zKC4wNTI5OTIpKm8saT1NLnRvUmFkaWFucygyNC4yMjQpLU0udG9SYWRpYW5zKC4xMDU5ODQpKm8scz1NLnRvUmFkaWFucygyMjcuNjQ1KStNLnRvUmFkaWFucygxMy4wMTIpKm8sZj1NLnRvUmFkaWFucygyNjEuMTA1KStNLnRvUmFkaWFucygxMy4zNDA3MTYpKm8sdT1NLnRvUmFkaWFucygzNTgpK00udG9SYWRpYW5zKC45ODU2KSpvO3JldHVybiBOcC5waXRjaD1NLnRvUmFkaWFucygxODApLU0udG9SYWRpYW5zKDMuODc4KSpNYXRoLnNpbihyKS1NLnRvUmFkaWFucyguMTIpKk1hdGguc2luKGkpK00udG9SYWRpYW5zKC4wNykqTWF0aC5zaW4ocyktTS50b1JhZGlhbnMoLjAxNykqTWF0aC5zaW4oZiksTnAucm9sbD1NLnRvUmFkaWFucyg2Ni41My05MCkrTS50b1JhZGlhbnMoMS41NDMpKk1hdGguY29zKHIpK00udG9SYWRpYW5zKC4yNCkqTWF0aC5jb3MoaSktTS50b1JhZGlhbnMoLjAyOCkqTWF0aC5jb3MocykrTS50b1JhZGlhbnMoLjAwNykqTWF0aC5jb3MoZiksTnAuaGVhZGluZz1NLnRvUmFkaWFucygyNDQuMzc1LTkwKStNLnRvUmFkaWFucygxMy4xNzYzNTgzMSkqbytNLnRvUmFkaWFucygzLjU1OCkqTWF0aC5zaW4ocikrTS50b1JhZGlhbnMoLjEyMSkqTWF0aC5zaW4oaSktTS50b1JhZGlhbnMoLjA2NCkqTWF0aC5zaW4ocykrTS50b1JhZGlhbnMoLjAxNikqTWF0aC5zaW4oZikrTS50b1JhZGlhbnMoLjAyNSkqTWF0aC5zaW4odSksUS5mcm9tSGVhZGluZ1BpdGNoUm9sbChOcCxoMyl9O1JlLmNvbXB1dGVJY3JmVG9Nb29uRml4ZWRNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigiZGF0ZSBpcyByZXF1aXJlZC4iKTtoKGUpfHwoZT1uZXcgUSk7bGV0IG49UmUuY29tcHV0ZU1vb25GaXhlZFRvSWNyZk1hdHJpeCh0LGUpO2lmKGgobikpcmV0dXJuIFEudHJhbnNwb3NlKG4sZSl9O3kzPW5ldyB5cCgwLDAsMCksZzM9bmV3IGNmKDAsMCwwLDAsMCwwKSxkaD1uZXcgUSxtaD1uZXcgUTtSZS5jb21wdXRlRml4ZWRUb0ljcmZNYXRyaXg9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigiZGF0ZSBpcyByZXF1aXJlZC4iKTtoKGUpfHwoZT1uZXcgUSk7bGV0IG49UmUuZWFydGhPcmllbnRhdGlvblBhcmFtZXRlcnMuY29tcHV0ZSh0LGczKTtpZighaChuKSlyZXR1cm47bGV0IG89dC5kYXlOdW1iZXIscj10LnNlY29uZHNPZkRheStoaCxpPVJlLmlhdTIwMDZYeXNEYXRhLmNvbXB1dGVYeXNSYWRpYW5zKG8scix5Myk7aWYoIWgoaSkpcmV0dXJuO2xldCBzPWkueCtuLnhQb2xlT2Zmc2V0LGY9aS55K24ueVBvbGVPZmZzZXQsdT0xLygxK01hdGguc3FydCgxLXMqcy1mKmYpKSxjPWRoO2NbMF09MS11KnMqcyxjWzNdPS11KnMqZixjWzZdPXMsY1sxXT0tdSpzKmYsY1s0XT0xLXUqZipmLGNbN109ZixjWzJdPS1zLGNbNV09LWYsY1s4XT0xLXUqKHMqcytmKmYpO2xldCBsPVEuZnJvbVJvdGF0aW9uWigtaS5zLG1oKSxwPVEubXVsdGlwbHkoYyxsLGRoKSxkPXQuZGF5TnVtYmVyLG09dC5zZWNvbmRzT2ZEYXkta24uY29tcHV0ZVRhaU1pbnVzVXRjKHQpK24udXQxTWludXNVdGMsXz1kLTI0NTE1NDUsZz1tL3luLlNFQ09ORFNfUEVSX0RBWSxiPS43NzkwNTcyNzMyNjQrZysuMDAyNzM3ODExOTExMzU0NDgqKF8rZyk7Yj1iJTEqTS5UV09fUEk7bGV0IFQ9US5mcm9tUm90YXRpb25aKGIsbWgpLE89US5tdWx0aXBseShwLFQsZGgpLEU9TWF0aC5jb3Mobi54UG9sZVdhbmRlciksdz1NYXRoLmNvcyhuLnlQb2xlV2FuZGVyKSxDPU1hdGguc2luKG4ueFBvbGVXYW5kZXIpLE49TWF0aC5zaW4obi55UG9sZVdhbmRlciksST1vLXAzK3IveW4uU0VDT05EU19QRVJfREFZO0kvPTM2NTI1O2xldCBEPS00N2UtNipJKk0uUkFESUFOU19QRVJfREVHUkVFLzM2MDAsdj1NYXRoLmNvcyhEKSxMPU1hdGguc2luKEQpLFU9bWg7cmV0dXJuIFVbMF09RSp2LFVbMV09RSpMLFVbMl09QyxVWzNdPS13KkwrTipDKnYsVVs0XT13KnYrTipDKkwsVVs1XT0tTipFLFVbNl09LU4qTC13KkMqdixVWzddPU4qdi13KkMqTCxVWzhdPXcqRSxRLm11bHRpcGx5KE8sVSxlKX07QTM9bmV3IGhlO1JlLnBvaW50VG9XaW5kb3dDb29yZGluYXRlcz1mdW5jdGlvbih0LGUsbixvKXtyZXR1cm4gbz1SZS5wb2ludFRvR0xXaW5kb3dDb29yZGluYXRlcyh0LGUsbixvKSxvLnk9MiplWzVdLW8ueSxvfTtSZS5wb2ludFRvR0xXaW5kb3dDb29yZGluYXRlcz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgQigibW9kZWxWaWV3UHJvamVjdGlvbk1hdHJpeCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigidmlld3BvcnRUcmFuc2Zvcm1hdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigicG9pbnQgaXMgcmVxdWlyZWQuIik7aChvKXx8KG89bmV3IHR0KTtsZXQgcj1BMztyZXR1cm4gc3QubXVsdGlwbHlCeVZlY3Rvcih0LGhlLmZyb21FbGVtZW50cyhuLngsbi55LG4ueiwxLHIpLHIpLGhlLm11bHRpcGx5QnlTY2FsYXIociwxL3IudyxyKSxzdC5tdWx0aXBseUJ5VmVjdG9yKGUscixyKSx0dC5mcm9tQ2FydGVzaWFuNChyLG8pfTtiMz1uZXcgYSxUMz1uZXcgYSx3Mz1uZXcgYTtSZS5yb3RhdGlvbk1hdHJpeEZyb21Qb3NpdGlvblZlbG9jaXR5PWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJwb3NpdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigidmVsb2NpdHkgaXMgcmVxdWlyZWQuIik7bGV0IHI9eChuLCQuZGVmYXVsdCkuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHQsYjMpLGk9YS5jcm9zcyhlLHIsVDMpO2EuZXF1YWxzRXBzaWxvbihpLGEuWkVSTyxNLkVQU0lMT042KSYmKGk9YS5jbG9uZShhLlVOSVRfWCxpKSk7bGV0IHM9YS5jcm9zcyhpLGUsdzMpO3JldHVybiBhLm5vcm1hbGl6ZShzLHMpLGEuY3Jvc3MoZSxzLGkpLGEubmVnYXRlKGksaSksYS5ub3JtYWxpemUoaSxpKSxoKG8pfHwobz1uZXcgUSksb1swXT1lLngsb1sxXT1lLnksb1syXT1lLnosb1szXT1pLngsb1s0XT1pLnksb1s1XT1pLnosb1s2XT1zLngsb1s3XT1zLnksb1s4XT1zLnosb307cmI9bmV3IHN0KDAsMCwxLDAsMSwwLDAsMCwwLDEsMCwwLDAsMCwwLDEpLGliPW5ldyBjdCxfaD1uZXcgYSxPMz1uZXcgYSxFMz1uZXcgUSx5aD1uZXcgc3Qsc2I9bmV3IHN0O1JlLmJhc2lzVG8yRD1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInByb2plY3Rpb24gaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoIm1hdHJpeCBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigicmVzdWx0IGlzIHJlcXVpcmVkLiIpO2xldCBvPXN0LmdldFRyYW5zbGF0aW9uKGUsTzMpLHI9dC5lbGxpcHNvaWQsaTtpZihhLmVxdWFscyhvLGEuWkVSTykpaT1hLmNsb25lKGEuWkVSTyxfaCk7ZWxzZXtsZXQgbD1yLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG8saWIpO2k9dC5wcm9qZWN0KGwsX2gpLGEuZnJvbUVsZW1lbnRzKGkueixpLngsaS55LGkpfWxldCBzPVJlLmVhc3ROb3J0aFVwVG9GaXhlZEZyYW1lKG8scix5aCksZj1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24ocyxzYiksdT1zdC5nZXRNYXRyaXgzKGUsRTMpLGM9c3QubXVsdGlwbHlCeU1hdHJpeDMoZix1LG4pO3JldHVybiBzdC5tdWx0aXBseShyYixjLG4pLHN0LnNldFRyYW5zbGF0aW9uKG4saSxuKSxufTtSZS5lbGxpcHNvaWRUbzJETW9kZWxNYXRyaXg9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJwcm9qZWN0aW9uIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJjZW50ZXIgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEIoInJlc3VsdCBpcyByZXF1aXJlZC4iKTtsZXQgbz10LmVsbGlwc29pZCxyPVJlLmVhc3ROb3J0aFVwVG9GaXhlZEZyYW1lKGUsbyx5aCksaT1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24ocixzYikscz1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGUsaWIpLGY9dC5wcm9qZWN0KHMsX2gpO2EuZnJvbUVsZW1lbnRzKGYueixmLngsZi55LGYpO2xldCB1PXN0LmZyb21UcmFuc2xhdGlvbihmLHloKTtyZXR1cm4gc3QubXVsdGlwbHkocmIsaSxuKSxzdC5tdWx0aXBseSh1LG4sbiksbn07WG89UmV9KTtmdW5jdGlvbiBhZSh0LGUsbixvKXt0aGlzLndlc3Q9eCh0LDApLHRoaXMuc291dGg9eChlLDApLHRoaXMuZWFzdD14KG4sMCksdGhpcy5ub3J0aD14KG8sMCl9dmFyIFIzLFMzLEMzLHgzLFAzLGdoLE0zLE50LHduPVooKCk9PntGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7WnQoKTtXdCgpO2NzKCk7VW4oKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhhZS5wcm90b3R5cGUse3dpZHRoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYWUuY29tcHV0ZVdpZHRoKHRoaXMpfX0saGVpZ2h0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYWUuY29tcHV0ZUhlaWdodCh0aGlzKX19fSk7YWUucGFja2VkTGVuZ3RoPTQ7YWUucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10Lndlc3QsZVtuKytdPXQuc291dGgsZVtuKytdPXQuZWFzdCxlW25dPXQubm9ydGgsZX07YWUudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IGFlKSxuLndlc3Q9dFtlKytdLG4uc291dGg9dFtlKytdLG4uZWFzdD10W2UrK10sbi5ub3J0aD10W2VdLG59O2FlLmNvbXB1dGVXaWR0aD1mdW5jdGlvbih0KXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCk7bGV0IGU9dC5lYXN0LG49dC53ZXN0O3JldHVybiBlPG4mJihlKz1NLlRXT19QSSksZS1ufTthZS5jb21wdXRlSGVpZ2h0PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCksdC5ub3J0aC10LnNvdXRofTthZS5mcm9tRGVncmVlcz1mdW5jdGlvbih0LGUsbixvLHIpe3JldHVybiB0PU0udG9SYWRpYW5zKHgodCwwKSksZT1NLnRvUmFkaWFucyh4KGUsMCkpLG49TS50b1JhZGlhbnMoeChuLDApKSxvPU0udG9SYWRpYW5zKHgobywwKSksaChyKT8oci53ZXN0PXQsci5zb3V0aD1lLHIuZWFzdD1uLHIubm9ydGg9byxyKTpuZXcgYWUodCxlLG4sbyl9O2FlLmZyb21SYWRpYW5zPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIGgocik/KHIud2VzdD14KHQsMCksci5zb3V0aD14KGUsMCksci5lYXN0PXgobiwwKSxyLm5vcnRoPXgobywwKSxyKTpuZXcgYWUodCxlLG4sbyl9O2FlLmZyb21DYXJ0b2dyYXBoaWNBcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydG9ncmFwaGljcyIsdCk7bGV0IG49TnVtYmVyLk1BWF9WQUxVRSxvPS1OdW1iZXIuTUFYX1ZBTFVFLHI9TnVtYmVyLk1BWF9WQUxVRSxpPS1OdW1iZXIuTUFYX1ZBTFVFLHM9TnVtYmVyLk1BWF9WQUxVRSxmPS1OdW1iZXIuTUFYX1ZBTFVFO2ZvcihsZXQgdT0wLGM9dC5sZW5ndGg7dTxjO3UrKyl7bGV0IGw9dFt1XTtuPU1hdGgubWluKG4sbC5sb25naXR1ZGUpLG89TWF0aC5tYXgobyxsLmxvbmdpdHVkZSkscz1NYXRoLm1pbihzLGwubGF0aXR1ZGUpLGY9TWF0aC5tYXgoZixsLmxhdGl0dWRlKTtsZXQgcD1sLmxvbmdpdHVkZT49MD9sLmxvbmdpdHVkZTpsLmxvbmdpdHVkZStNLlRXT19QSTtyPU1hdGgubWluKHIscCksaT1NYXRoLm1heChpLHApfXJldHVybiBvLW4+aS1yJiYobj1yLG89aSxvPk0uUEkmJihvPW8tTS5UV09fUEkpLG4+TS5QSSYmKG49bi1NLlRXT19QSSkpLGgoZSk/KGUud2VzdD1uLGUuc291dGg9cyxlLmVhc3Q9byxlLm5vcnRoPWYsZSk6bmV3IGFlKG4scyxvLGYpfTthZS5mcm9tQ2FydGVzaWFuQXJyYXk9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiY2FydGVzaWFucyIsdCksZT14KGUsJC5kZWZhdWx0KTtsZXQgbz1OdW1iZXIuTUFYX1ZBTFVFLHI9LU51bWJlci5NQVhfVkFMVUUsaT1OdW1iZXIuTUFYX1ZBTFVFLHM9LU51bWJlci5NQVhfVkFMVUUsZj1OdW1iZXIuTUFYX1ZBTFVFLHU9LU51bWJlci5NQVhfVkFMVUU7Zm9yKGxldCBjPTAsbD10Lmxlbmd0aDtjPGw7YysrKXtsZXQgcD1lLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHRbY10pO289TWF0aC5taW4obyxwLmxvbmdpdHVkZSkscj1NYXRoLm1heChyLHAubG9uZ2l0dWRlKSxmPU1hdGgubWluKGYscC5sYXRpdHVkZSksdT1NYXRoLm1heCh1LHAubGF0aXR1ZGUpO2xldCBkPXAubG9uZ2l0dWRlPj0wP3AubG9uZ2l0dWRlOnAubG9uZ2l0dWRlK00uVFdPX1BJO2k9TWF0aC5taW4oaSxkKSxzPU1hdGgubWF4KHMsZCl9cmV0dXJuIHItbz5zLWkmJihvPWkscj1zLHI+TS5QSSYmKHI9ci1NLlRXT19QSSksbz5NLlBJJiYobz1vLU0uVFdPX1BJKSksaChuKT8obi53ZXN0PW8sbi5zb3V0aD1mLG4uZWFzdD1yLG4ubm9ydGg9dSxuKTpuZXcgYWUobyxmLHIsdSl9O1IzPW5ldyBhLFMzPW5ldyBhLEMzPW5ldyBhLHgzPW5ldyBhLFAzPW5ldyBhLGdoPW5ldyBBcnJheSg1KTtmb3IobGV0IHQ9MDt0PGdoLmxlbmd0aDsrK3QpZ2hbdF09bmV3IGE7YWUuZnJvbUJvdW5kaW5nU3BoZXJlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoImJvdW5kaW5nU3BoZXJlIix0KTtsZXQgbz10LmNlbnRlcixyPXQucmFkaXVzO2lmKGgoZSl8fChlPSQuZGVmYXVsdCksaChuKXx8KG49bmV3IGFlKSxhLmVxdWFscyhvLGEuWkVSTykpcmV0dXJuIGFlLmNsb25lKGFlLk1BWF9WQUxVRSxuKSxuO2xldCBpPVhvLmVhc3ROb3J0aFVwVG9GaXhlZEZyYW1lKG8sZSxSMykscz1zdC5tdWx0aXBseUJ5UG9pbnRBc1ZlY3RvcihpLGEuVU5JVF9YLFMzKTthLm5vcm1hbGl6ZShzLHMpO2xldCBmPXN0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yKGksYS5VTklUX1ksQzMpO2Eubm9ybWFsaXplKGYsZiksYS5tdWx0aXBseUJ5U2NhbGFyKGYscixmKSxhLm11bHRpcGx5QnlTY2FsYXIocyxyLHMpO2xldCB1PWEubmVnYXRlKGYsUDMpLGM9YS5uZWdhdGUocyx4MyksbD1naCxwPWxbMF07cmV0dXJuIGEuYWRkKG8sZixwKSxwPWxbMV0sYS5hZGQobyxjLHApLHA9bFsyXSxhLmFkZChvLHUscCkscD1sWzNdLGEuYWRkKG8scyxwKSxsWzRdPW8sYWUuZnJvbUNhcnRlc2lhbkFycmF5KGwsZSxuKX07YWUuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLndlc3Q9dC53ZXN0LGUuc291dGg9dC5zb3V0aCxlLmVhc3Q9dC5lYXN0LGUubm9ydGg9dC5ub3J0aCxlKTpuZXcgYWUodC53ZXN0LHQuc291dGgsdC5lYXN0LHQubm9ydGgpfTthZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbj14KG4sMCksdD09PWV8fGgodCkmJmgoZSkmJk1hdGguYWJzKHQud2VzdC1lLndlc3QpPD1uJiZNYXRoLmFicyh0LnNvdXRoLWUuc291dGgpPD1uJiZNYXRoLmFicyh0LmVhc3QtZS5lYXN0KTw9biYmTWF0aC5hYnModC5ub3J0aC1lLm5vcnRoKTw9bn07YWUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBhZS5jbG9uZSh0aGlzLHQpfTthZS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBhZS5lcXVhbHModGhpcyx0KX07YWUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0Lndlc3Q9PT1lLndlc3QmJnQuc291dGg9PT1lLnNvdXRoJiZ0LmVhc3Q9PT1lLmVhc3QmJnQubm9ydGg9PT1lLm5vcnRofTthZS5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUpe3JldHVybiBhZS5lcXVhbHNFcHNpbG9uKHRoaXMsdCxlKX07YWUuX3ZhbGlkYXRlPWZ1bmN0aW9uKHQpe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KTtsZXQgZT10Lm5vcnRoO3kudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJub3J0aCIsZSwtTS5QSV9PVkVSX1RXTykseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIm5vcnRoIixlLE0uUElfT1ZFUl9UV08pO2xldCBuPXQuc291dGg7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInNvdXRoIixuLC1NLlBJX09WRVJfVFdPKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygic291dGgiLG4sTS5QSV9PVkVSX1RXTyk7bGV0IG89dC53ZXN0O3kudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJ3ZXN0IixvLC1NYXRoLlBJKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygid2VzdCIsbyxNYXRoLlBJKTtsZXQgcj10LmVhc3Q7eS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImVhc3QiLHIsLU1hdGguUEkpLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJlYXN0IixyLE1hdGguUEkpfTthZS5zb3V0aHdlc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQud2VzdCxlLmxhdGl0dWRlPXQuc291dGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC53ZXN0LHQuc291dGgpfTthZS5ub3J0aHdlc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQud2VzdCxlLmxhdGl0dWRlPXQubm9ydGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC53ZXN0LHQubm9ydGgpfTthZS5ub3J0aGVhc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQuZWFzdCxlLmxhdGl0dWRlPXQubm9ydGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC5lYXN0LHQubm9ydGgpfTthZS5zb3V0aGVhc3Q9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGgoZSk/KGUubG9uZ2l0dWRlPXQuZWFzdCxlLmxhdGl0dWRlPXQuc291dGgsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodC5lYXN0LHQuc291dGgpfTthZS5jZW50ZXI9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCk7bGV0IG49dC5lYXN0LG89dC53ZXN0O248byYmKG4rPU0uVFdPX1BJKTtsZXQgcj1NLm5lZ2F0aXZlUGlUb1BpKChvK24pKi41KSxpPSh0LnNvdXRoK3Qubm9ydGgpKi41O3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT1yLGUubGF0aXR1ZGU9aSxlLmhlaWdodD0wLGUpOm5ldyBjdChyLGkpfTthZS5pbnRlcnNlY3Rpb249ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KSx5LnR5cGVPZi5vYmplY3QoIm90aGVyUmVjdGFuZ2xlIixlKTtsZXQgbz10LmVhc3Qscj10Lndlc3QsaT1lLmVhc3Qscz1lLndlc3Q7bzxyJiZpPjA/bys9TS5UV09fUEk6aTxzJiZvPjAmJihpKz1NLlRXT19QSSksbzxyJiZzPDA/cys9TS5UV09fUEk6aTxzJiZyPDAmJihyKz1NLlRXT19QSSk7bGV0IGY9TS5uZWdhdGl2ZVBpVG9QaShNYXRoLm1heChyLHMpKSx1PU0ubmVnYXRpdmVQaVRvUGkoTWF0aC5taW4obyxpKSk7aWYoKHQud2VzdDx0LmVhc3R8fGUud2VzdDxlLmVhc3QpJiZ1PD1mKXJldHVybjtsZXQgYz1NYXRoLm1heCh0LnNvdXRoLGUuc291dGgpLGw9TWF0aC5taW4odC5ub3J0aCxlLm5vcnRoKTtpZighKGM+PWwpKXJldHVybiBoKG4pPyhuLndlc3Q9ZixuLnNvdXRoPWMsbi5lYXN0PXUsbi5ub3J0aD1sLG4pOm5ldyBhZShmLGMsdSxsKX07YWUuc2ltcGxlSW50ZXJzZWN0aW9uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCkseS50eXBlT2Yub2JqZWN0KCJvdGhlclJlY3RhbmdsZSIsZSk7bGV0IG89TWF0aC5tYXgodC53ZXN0LGUud2VzdCkscj1NYXRoLm1heCh0LnNvdXRoLGUuc291dGgpLGk9TWF0aC5taW4odC5lYXN0LGUuZWFzdCkscz1NYXRoLm1pbih0Lm5vcnRoLGUubm9ydGgpO2lmKCEocj49c3x8bz49aSkpcmV0dXJuIGgobik/KG4ud2VzdD1vLG4uc291dGg9cixuLmVhc3Q9aSxuLm5vcnRoPXMsbik6bmV3IGFlKG8scixpLHMpfTthZS51bmlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLHkudHlwZU9mLm9iamVjdCgib3RoZXJSZWN0YW5nbGUiLGUpLGgobil8fChuPW5ldyBhZSk7bGV0IG89dC5lYXN0LHI9dC53ZXN0LGk9ZS5lYXN0LHM9ZS53ZXN0O288ciYmaT4wP28rPU0uVFdPX1BJOmk8cyYmbz4wJiYoaSs9TS5UV09fUEkpLG88ciYmczwwP3MrPU0uVFdPX1BJOmk8cyYmcjwwJiYocis9TS5UV09fUEkpO2xldCBmPU0ubmVnYXRpdmVQaVRvUGkoTWF0aC5taW4ocixzKSksdT1NLm5lZ2F0aXZlUGlUb1BpKE1hdGgubWF4KG8saSkpO3JldHVybiBuLndlc3Q9ZixuLnNvdXRoPU1hdGgubWluKHQuc291dGgsZS5zb3V0aCksbi5lYXN0PXUsbi5ub3J0aD1NYXRoLm1heCh0Lm5vcnRoLGUubm9ydGgpLG59O2FlLmV4cGFuZD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRvZ3JhcGhpYyIsZSksaChuKXx8KG49bmV3IGFlKSxuLndlc3Q9TWF0aC5taW4odC53ZXN0LGUubG9uZ2l0dWRlKSxuLnNvdXRoPU1hdGgubWluKHQuc291dGgsZS5sYXRpdHVkZSksbi5lYXN0PU1hdGgubWF4KHQuZWFzdCxlLmxvbmdpdHVkZSksbi5ub3J0aD1NYXRoLm1heCh0Lm5vcnRoLGUubGF0aXR1ZGUpLG59O2FlLmNvbnRhaW5zPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLHkudHlwZU9mLm9iamVjdCgiY2FydG9ncmFwaGljIixlKTtsZXQgbj1lLmxvbmdpdHVkZSxvPWUubGF0aXR1ZGUscj10Lndlc3QsaT10LmVhc3Q7cmV0dXJuIGk8ciYmKGkrPU0uVFdPX1BJLG48MCYmKG4rPU0uVFdPX1BJKSksKG4+cnx8TS5lcXVhbHNFcHNpbG9uKG4scixNLkVQU0lMT04xNCkpJiYobjxpfHxNLmVxdWFsc0Vwc2lsb24obixpLE0uRVBTSUxPTjE0KSkmJm8+PXQuc291dGgmJm88PXQubm9ydGh9O00zPW5ldyBjdDthZS5zdWJzYW1wbGU9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLHQpLGU9eChlLCQuZGVmYXVsdCksbj14KG4sMCksaChvKXx8KG89W10pO2xldCByPTAsaT10Lm5vcnRoLHM9dC5zb3V0aCxmPXQuZWFzdCx1PXQud2VzdCxjPU0zO2MuaGVpZ2h0PW4sYy5sb25naXR1ZGU9dSxjLmxhdGl0dWRlPWksb1tyXT1lLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGMsb1tyXSkscisrLGMubG9uZ2l0dWRlPWYsb1tyXT1lLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGMsb1tyXSkscisrLGMubGF0aXR1ZGU9cyxvW3JdPWUuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oYyxvW3JdKSxyKyssYy5sb25naXR1ZGU9dSxvW3JdPWUuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oYyxvW3JdKSxyKyssaTwwP2MubGF0aXR1ZGU9aTpzPjA/Yy5sYXRpdHVkZT1zOmMubGF0aXR1ZGU9MDtmb3IobGV0IGw9MTtsPDg7KytsKWMubG9uZ2l0dWRlPS1NYXRoLlBJK2wqTS5QSV9PVkVSX1RXTyxhZS5jb250YWlucyh0LGMpJiYob1tyXT1lLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGMsb1tyXSkscisrKTtyZXR1cm4gYy5sYXRpdHVkZT09PTAmJihjLmxvbmdpdHVkZT11LG9bcl09ZS5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihjLG9bcl0pLHIrKyxjLmxvbmdpdHVkZT1mLG9bcl09ZS5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihjLG9bcl0pLHIrKyksby5sZW5ndGg9cixvfTthZS5zdWJzZWN0aW9uPWZ1bmN0aW9uKHQsZSxuLG8scixpKXtpZih5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIndlc3RMZXJwIixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJ3ZXN0TGVycCIsZSwxKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygic291dGhMZXJwIixuLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJzb3V0aExlcnAiLG4sMSkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImVhc3RMZXJwIixvLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJlYXN0TGVycCIsbywxKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygibm9ydGhMZXJwIixyLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJub3J0aExlcnAiLHIsMSkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIndlc3RMZXJwIixlLG8pLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJzb3V0aExlcnAiLG4sciksaChpKXx8KGk9bmV3IGFlKSx0Lndlc3Q8PXQuZWFzdCl7bGV0IGY9dC5lYXN0LXQud2VzdDtpLndlc3Q9dC53ZXN0K2UqZixpLmVhc3Q9dC53ZXN0K28qZn1lbHNle2xldCBmPU0uVFdPX1BJK3QuZWFzdC10Lndlc3Q7aS53ZXN0PU0ubmVnYXRpdmVQaVRvUGkodC53ZXN0K2UqZiksaS5lYXN0PU0ubmVnYXRpdmVQaVRvUGkodC53ZXN0K28qZil9bGV0IHM9dC5ub3J0aC10LnNvdXRoO3JldHVybiBpLnNvdXRoPXQuc291dGgrbipzLGkubm9ydGg9dC5zb3V0aCtyKnMsZT09PTEmJihpLndlc3Q9dC5lYXN0KSxvPT09MSYmKGkuZWFzdD10LmVhc3QpLG49PT0xJiYoaS5zb3V0aD10Lm5vcnRoKSxyPT09MSYmKGkubm9ydGg9dC5ub3J0aCksaX07YWUuTUFYX1ZBTFVFPU9iamVjdC5mcmVlemUobmV3IGFlKC1NYXRoLlBJLC1NLlBJX09WRVJfVFdPLE1hdGguUEksTS5QSV9PVkVSX1RXTykpO050PWFlfSk7ZnVuY3Rpb24gbmUodCxlKXt0aGlzLmNlbnRlcj1hLmNsb25lKHgodCxhLlpFUk8pKSx0aGlzLnJhZGl1cz14KGUsMCl9dmFyIFRoLHdoLE9oLEVoLFJoLFNoLENoLGlvLHhoLFBoLE1oLE5oLE4zLGNiLEkzLHYzLEFoLGJoLEwzLEQzLEYzLEIzLFUzLFYzLGszLEczLHozLGozLEgzLHEzLGFiLEszLFczLFgzLFkzLCQzLHViLGZiLEF0LHZlPVooKCk9PntGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7WnQoKTtTaSgpO2tzKCk7amwoKTtXdCgpO0JuKCk7VW4oKTt3bigpO1RoPW5ldyBhLHdoPW5ldyBhLE9oPW5ldyBhLEVoPW5ldyBhLFJoPW5ldyBhLFNoPW5ldyBhLENoPW5ldyBhLGlvPW5ldyBhLHhoPW5ldyBhLFBoPW5ldyBhLE1oPW5ldyBhLE5oPW5ldyBhLE4zPTQvMypNLlBJO25lLmZyb21Qb2ludHM9ZnVuY3Rpb24odCxlKXtpZihoKGUpfHwoZT1uZXcgbmUpLCFoKHQpfHx0Lmxlbmd0aD09PTApcmV0dXJuIGUuY2VudGVyPWEuY2xvbmUoYS5aRVJPLGUuY2VudGVyKSxlLnJhZGl1cz0wLGU7bGV0IG49YS5jbG9uZSh0WzBdLENoKSxvPWEuY2xvbmUobixUaCkscj1hLmNsb25lKG4sd2gpLGk9YS5jbG9uZShuLE9oKSxzPWEuY2xvbmUobixFaCksZj1hLmNsb25lKG4sUmgpLHU9YS5jbG9uZShuLFNoKSxjPXQubGVuZ3RoLGw7Zm9yKGw9MTtsPGM7bCsrKXthLmNsb25lKHRbbF0sbik7bGV0IEQ9bi54LHY9bi55LEw9bi56O0Q8by54JiZhLmNsb25lKG4sbyksRD5zLngmJmEuY2xvbmUobixzKSx2PHIueSYmYS5jbG9uZShuLHIpLHY+Zi55JiZhLmNsb25lKG4sZiksTDxpLnomJmEuY2xvbmUobixpKSxMPnUueiYmYS5jbG9uZShuLHUpfWxldCBwPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KHMsbyxpbykpLGQ9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QoZixyLGlvKSksbT1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdCh1LGksaW8pKSxfPW8sZz1zLGI9cDtkPmImJihiPWQsXz1yLGc9ZiksbT5iJiYoYj1tLF89aSxnPXUpO2xldCBUPXhoO1QueD0oXy54K2cueCkqLjUsVC55PShfLnkrZy55KSouNSxULno9KF8ueitnLnopKi41O2xldCBPPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGcsVCxpbykpLEU9TWF0aC5zcXJ0KE8pLHc9UGg7dy54PW8ueCx3Lnk9ci55LHcuej1pLno7bGV0IEM9TWg7Qy54PXMueCxDLnk9Zi55LEMuej11Lno7bGV0IE49YS5taWRwb2ludCh3LEMsTmgpLEk9MDtmb3IobD0wO2w8YztsKyspe2EuY2xvbmUodFtsXSxuKTtsZXQgRD1hLm1hZ25pdHVkZShhLnN1YnRyYWN0KG4sTixpbykpO0Q+SSYmKEk9RCk7bGV0IHY9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QobixULGlvKSk7aWYodj5PKXtsZXQgTD1NYXRoLnNxcnQodik7RT0oRStMKSouNSxPPUUqRTtsZXQgVT1MLUU7VC54PShFKlQueCtVKm4ueCkvTCxULnk9KEUqVC55K1Uqbi55KS9MLFQuej0oRSpULnorVSpuLnopL0x9fXJldHVybiBFPEk/KGEuY2xvbmUoVCxlLmNlbnRlciksZS5yYWRpdXM9RSk6KGEuY2xvbmUoTixlLmNlbnRlciksZS5yYWRpdXM9SSksZX07Y2I9bmV3IEpuLEkzPW5ldyBhLHYzPW5ldyBhLEFoPW5ldyBjdCxiaD1uZXcgY3Q7bmUuZnJvbVJlY3RhbmdsZTJEPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbmUuZnJvbVJlY3RhbmdsZVdpdGhIZWlnaHRzMkQodCxlLDAsMCxuKX07bmUuZnJvbVJlY3RhbmdsZVdpdGhIZWlnaHRzMkQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZihoKHIpfHwocj1uZXcgbmUpLCFoKHQpKXJldHVybiByLmNlbnRlcj1hLmNsb25lKGEuWkVSTyxyLmNlbnRlciksci5yYWRpdXM9MCxyO2NiLl9lbGxpcHNvaWQ9JC5kZWZhdWx0LGU9eChlLGNiKSxOdC5zb3V0aHdlc3QodCxBaCksQWguaGVpZ2h0PW4sTnQubm9ydGhlYXN0KHQsYmgpLGJoLmhlaWdodD1vO2xldCBpPWUucHJvamVjdChBaCxJMykscz1lLnByb2plY3QoYmgsdjMpLGY9cy54LWkueCx1PXMueS1pLnksYz1zLnotaS56O3IucmFkaXVzPU1hdGguc3FydChmKmYrdSp1K2MqYykqLjU7bGV0IGw9ci5jZW50ZXI7cmV0dXJuIGwueD1pLngrZiouNSxsLnk9aS55K3UqLjUsbC56PWkueitjKi41LHJ9O0wzPVtdO25lLmZyb21SZWN0YW5nbGUzRD1mdW5jdGlvbih0LGUsbixvKXtpZihlPXgoZSwkLmRlZmF1bHQpLG49eChuLDApLGgobyl8fChvPW5ldyBuZSksIWgodCkpcmV0dXJuIG8uY2VudGVyPWEuY2xvbmUoYS5aRVJPLG8uY2VudGVyKSxvLnJhZGl1cz0wLG87bGV0IHI9TnQuc3Vic2FtcGxlKHQsZSxuLEwzKTtyZXR1cm4gbmUuZnJvbVBvaW50cyhyLG8pfTtuZS5mcm9tVmVydGljZXM9ZnVuY3Rpb24odCxlLG4sbyl7aWYoaChvKXx8KG89bmV3IG5lKSwhaCh0KXx8dC5sZW5ndGg9PT0wKXJldHVybiBvLmNlbnRlcj1hLmNsb25lKGEuWkVSTyxvLmNlbnRlciksby5yYWRpdXM9MCxvO2U9eChlLGEuWkVSTyksbj14KG4sMykseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInN0cmlkZSIsbiwzKTtsZXQgcj1DaDtyLng9dFswXStlLngsci55PXRbMV0rZS55LHIuej10WzJdK2UuejtsZXQgaT1hLmNsb25lKHIsVGgpLHM9YS5jbG9uZShyLHdoKSxmPWEuY2xvbmUocixPaCksdT1hLmNsb25lKHIsRWgpLGM9YS5jbG9uZShyLFJoKSxsPWEuY2xvbmUocixTaCkscD10Lmxlbmd0aCxkO2ZvcihkPTA7ZDxwO2QrPW4pe2xldCBMPXRbZF0rZS54LFU9dFtkKzFdK2UueSxBPXRbZCsyXStlLno7ci54PUwsci55PVUsci56PUEsTDxpLngmJmEuY2xvbmUocixpKSxMPnUueCYmYS5jbG9uZShyLHUpLFU8cy55JiZhLmNsb25lKHIscyksVT5jLnkmJmEuY2xvbmUocixjKSxBPGYueiYmYS5jbG9uZShyLGYpLEE+bC56JiZhLmNsb25lKHIsbCl9bGV0IG09YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QodSxpLGlvKSksXz1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChjLHMsaW8pKSxnPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGwsZixpbykpLGI9aSxUPXUsTz1tO18+TyYmKE89XyxiPXMsVD1jKSxnPk8mJihPPWcsYj1mLFQ9bCk7bGV0IEU9eGg7RS54PShiLngrVC54KSouNSxFLnk9KGIueStULnkpKi41LEUuej0oYi56K1QueikqLjU7bGV0IHc9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QoVCxFLGlvKSksQz1NYXRoLnNxcnQodyksTj1QaDtOLng9aS54LE4ueT1zLnksTi56PWYuejtsZXQgST1NaDtJLng9dS54LEkueT1jLnksSS56PWwuejtsZXQgRD1hLm1pZHBvaW50KE4sSSxOaCksdj0wO2ZvcihkPTA7ZDxwO2QrPW4pe3IueD10W2RdK2UueCxyLnk9dFtkKzFdK2UueSxyLno9dFtkKzJdK2UuejtsZXQgTD1hLm1hZ25pdHVkZShhLnN1YnRyYWN0KHIsRCxpbykpO0w+diYmKHY9TCk7bGV0IFU9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QocixFLGlvKSk7aWYoVT53KXtsZXQgQT1NYXRoLnNxcnQoVSk7Qz0oQytBKSouNSx3PUMqQztsZXQgUz1BLUM7RS54PShDKkUueCtTKnIueCkvQSxFLnk9KEMqRS55K1Mqci55KS9BLEUuej0oQypFLnorUypyLnopL0F9fXJldHVybiBDPHY/KGEuY2xvbmUoRSxvLmNlbnRlciksby5yYWRpdXM9Qyk6KGEuY2xvbmUoRCxvLmNlbnRlciksby5yYWRpdXM9diksb307bmUuZnJvbUVuY29kZWRDYXJ0ZXNpYW5WZXJ0aWNlcz1mdW5jdGlvbih0LGUsbil7aWYoaChuKXx8KG49bmV3IG5lKSwhaCh0KXx8IWgoZSl8fHQubGVuZ3RoIT09ZS5sZW5ndGh8fHQubGVuZ3RoPT09MClyZXR1cm4gbi5jZW50ZXI9YS5jbG9uZShhLlpFUk8sbi5jZW50ZXIpLG4ucmFkaXVzPTAsbjtsZXQgbz1DaDtvLng9dFswXStlWzBdLG8ueT10WzFdK2VbMV0sby56PXRbMl0rZVsyXTtsZXQgcj1hLmNsb25lKG8sVGgpLGk9YS5jbG9uZShvLHdoKSxzPWEuY2xvbmUobyxPaCksZj1hLmNsb25lKG8sRWgpLHU9YS5jbG9uZShvLFJoKSxjPWEuY2xvbmUobyxTaCksbD10Lmxlbmd0aCxwO2ZvcihwPTA7cDxsO3ArPTMpe2xldCB2PXRbcF0rZVtwXSxMPXRbcCsxXStlW3ArMV0sVT10W3ArMl0rZVtwKzJdO28ueD12LG8ueT1MLG8uej1VLHY8ci54JiZhLmNsb25lKG8sciksdj5mLngmJmEuY2xvbmUobyxmKSxMPGkueSYmYS5jbG9uZShvLGkpLEw+dS55JiZhLmNsb25lKG8sdSksVTxzLnomJmEuY2xvbmUobyxzKSxVPmMueiYmYS5jbG9uZShvLGMpfWxldCBkPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGYscixpbykpLG09YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QodSxpLGlvKSksXz1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChjLHMsaW8pKSxnPXIsYj1mLFQ9ZDttPlQmJihUPW0sZz1pLGI9dSksXz5UJiYoVD1fLGc9cyxiPWMpO2xldCBPPXhoO08ueD0oZy54K2IueCkqLjUsTy55PShnLnkrYi55KSouNSxPLno9KGcueitiLnopKi41O2xldCBFPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KGIsTyxpbykpLHc9TWF0aC5zcXJ0KEUpLEM9UGg7Qy54PXIueCxDLnk9aS55LEMuej1zLno7bGV0IE49TWg7Ti54PWYueCxOLnk9dS55LE4uej1jLno7bGV0IEk9YS5taWRwb2ludChDLE4sTmgpLEQ9MDtmb3IocD0wO3A8bDtwKz0zKXtvLng9dFtwXStlW3BdLG8ueT10W3ArMV0rZVtwKzFdLG8uej10W3ArMl0rZVtwKzJdO2xldCB2PWEubWFnbml0dWRlKGEuc3VidHJhY3QobyxJLGlvKSk7dj5EJiYoRD12KTtsZXQgTD1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChvLE8saW8pKTtpZihMPkUpe2xldCBVPU1hdGguc3FydChMKTt3PSh3K1UpKi41LEU9dyp3O2xldCBBPVUtdztPLng9KHcqTy54K0Eqby54KS9VLE8ueT0odypPLnkrQSpvLnkpL1UsTy56PSh3Kk8ueitBKm8ueikvVX19cmV0dXJuIHc8RD8oYS5jbG9uZShPLG4uY2VudGVyKSxuLnJhZGl1cz13KTooYS5jbG9uZShJLG4uY2VudGVyKSxuLnJhZGl1cz1EKSxufTtuZS5mcm9tQ29ybmVyUG9pbnRzPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoImNvcm5lciIsdCkseS50eXBlT2Yub2JqZWN0KCJvcHBvc2l0ZUNvcm5lciIsZSksaChuKXx8KG49bmV3IG5lKTtsZXQgbz1hLm1pZHBvaW50KHQsZSxuLmNlbnRlcik7cmV0dXJuIG4ucmFkaXVzPWEuZGlzdGFuY2UobyxlKSxufTtuZS5mcm9tRWxsaXBzb2lkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiZWxsaXBzb2lkIix0KSxoKGUpfHwoZT1uZXcgbmUpLGEuY2xvbmUoYS5aRVJPLGUuY2VudGVyKSxlLnJhZGl1cz10Lm1heGltdW1SYWRpdXMsZX07RDM9bmV3IGE7bmUuZnJvbUJvdW5kaW5nU3BoZXJlcz1mdW5jdGlvbih0LGUpe2lmKGgoZSl8fChlPW5ldyBuZSksIWgodCl8fHQubGVuZ3RoPT09MClyZXR1cm4gZS5jZW50ZXI9YS5jbG9uZShhLlpFUk8sZS5jZW50ZXIpLGUucmFkaXVzPTAsZTtsZXQgbj10Lmxlbmd0aDtpZihuPT09MSlyZXR1cm4gbmUuY2xvbmUodFswXSxlKTtpZihuPT09MilyZXR1cm4gbmUudW5pb24odFswXSx0WzFdLGUpO2xldCBvPVtdLHI7Zm9yKHI9MDtyPG47cisrKW8ucHVzaCh0W3JdLmNlbnRlcik7ZT1uZS5mcm9tUG9pbnRzKG8sZSk7bGV0IGk9ZS5jZW50ZXIscz1lLnJhZGl1cztmb3Iocj0wO3I8bjtyKyspe2xldCBmPXRbcl07cz1NYXRoLm1heChzLGEuZGlzdGFuY2UoaSxmLmNlbnRlcixEMykrZi5yYWRpdXMpfXJldHVybiBlLnJhZGl1cz1zLGV9O0YzPW5ldyBhLEIzPW5ldyBhLFUzPW5ldyBhO25lLmZyb21PcmllbnRlZEJvdW5kaW5nQm94PWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJvcmllbnRlZEJvdW5kaW5nQm94Iix0KSxoKGUpfHwoZT1uZXcgbmUpO2xldCBuPXQuaGFsZkF4ZXMsbz1RLmdldENvbHVtbihuLDAsRjMpLHI9US5nZXRDb2x1bW4obiwxLEIzKSxpPVEuZ2V0Q29sdW1uKG4sMixVMyk7cmV0dXJuIGEuYWRkKG8scixvKSxhLmFkZChvLGksbyksZS5jZW50ZXI9YS5jbG9uZSh0LmNlbnRlcixlLmNlbnRlciksZS5yYWRpdXM9YS5tYWduaXR1ZGUobyksZX07VjM9bmV3IGEsazM9bmV3IGE7bmUuZnJvbVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJ0cmFuc2Zvcm1hdGlvbiIsdCksaChlKXx8KGU9bmV3IG5lKTtsZXQgbj1zdC5nZXRUcmFuc2xhdGlvbih0LFYzKSxvPXN0LmdldFNjYWxlKHQsazMpLHI9LjUqYS5tYWduaXR1ZGUobyk7cmV0dXJuIGUuY2VudGVyPWEuY2xvbmUobixlLmNlbnRlciksZS5yYWRpdXM9cixlfTtuZS5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGUuY2VudGVyPWEuY2xvbmUodC5jZW50ZXIsZS5jZW50ZXIpLGUucmFkaXVzPXQucmFkaXVzLGUpOm5ldyBuZSh0LmNlbnRlcix0LnJhZGl1cyl9O25lLnBhY2tlZExlbmd0aD00O25lLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApO2xldCBvPXQuY2VudGVyO3JldHVybiBlW24rK109by54LGVbbisrXT1vLnksZVtuKytdPW8ueixlW25dPXQucmFkaXVzLGV9O25lLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IG5lKTtsZXQgbz1uLmNlbnRlcjtyZXR1cm4gby54PXRbZSsrXSxvLnk9dFtlKytdLG8uej10W2UrK10sbi5yYWRpdXM9dFtlXSxufTtHMz1uZXcgYSx6Mz1uZXcgYTtuZS51bmlvbj1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSxoKG4pfHwobj1uZXcgbmUpO2xldCBvPXQuY2VudGVyLHI9dC5yYWRpdXMsaT1lLmNlbnRlcixzPWUucmFkaXVzLGY9YS5zdWJ0cmFjdChpLG8sRzMpLHU9YS5tYWduaXR1ZGUoZik7aWYocj49dStzKXJldHVybiB0LmNsb25lKG4pLG47aWYocz49dStyKXJldHVybiBlLmNsb25lKG4pLG47bGV0IGM9KHIrdStzKSouNSxsPWEubXVsdGlwbHlCeVNjYWxhcihmLCgtcitjKS91LHozKTtyZXR1cm4gYS5hZGQobCxvLGwpLGEuY2xvbmUobCxuLmNlbnRlciksbi5yYWRpdXM9YyxufTtqMz1uZXcgYTtuZS5leHBhbmQ9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgic3BoZXJlIix0KSx5LnR5cGVPZi5vYmplY3QoInBvaW50IixlKSxuPW5lLmNsb25lKHQsbik7bGV0IG89YS5tYWduaXR1ZGUoYS5zdWJ0cmFjdChlLG4uY2VudGVyLGozKSk7cmV0dXJuIG8+bi5yYWRpdXMmJihuLnJhZGl1cz1vKSxufTtuZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgic3BoZXJlIix0KSx5LnR5cGVPZi5vYmplY3QoInBsYW5lIixlKTtsZXQgbj10LmNlbnRlcixvPXQucmFkaXVzLHI9ZS5ub3JtYWwsaT1hLmRvdChyLG4pK2UuZGlzdGFuY2U7cmV0dXJuIGk8LW8/U24uT1VUU0lERTppPG8/U24uSU5URVJTRUNUSU5HOlNuLklOU0lERX07bmUudHJhbnNmb3JtPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLHkudHlwZU9mLm9iamVjdCgidHJhbnNmb3JtIixlKSxoKG4pfHwobj1uZXcgbmUpLG4uY2VudGVyPXN0Lm11bHRpcGx5QnlQb2ludChlLHQuY2VudGVyLG4uY2VudGVyKSxuLnJhZGl1cz1zdC5nZXRNYXhpbXVtU2NhbGUoZSkqdC5yYWRpdXMsbn07SDM9bmV3IGE7bmUuZGlzdGFuY2VTcXVhcmVkVG89ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoInNwaGVyZSIsdCkseS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLGUpO2xldCBuPWEuc3VidHJhY3QodC5jZW50ZXIsZSxIMyksbz1hLm1hZ25pdHVkZShuKS10LnJhZGl1cztyZXR1cm4gbzw9MD8wOm8qb307bmUudHJhbnNmb3JtV2l0aG91dFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLHkudHlwZU9mLm9iamVjdCgidHJhbnNmb3JtIixlKSxoKG4pfHwobj1uZXcgbmUpLG4uY2VudGVyPXN0Lm11bHRpcGx5QnlQb2ludChlLHQuY2VudGVyLG4uY2VudGVyKSxuLnJhZGl1cz10LnJhZGl1cyxufTtxMz1uZXcgYTtuZS5jb21wdXRlUGxhbmVEaXN0YW5jZXM9ZnVuY3Rpb24odCxlLG4sbyl7eS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLHkudHlwZU9mLm9iamVjdCgicG9zaXRpb24iLGUpLHkudHlwZU9mLm9iamVjdCgiZGlyZWN0aW9uIixuKSxoKG8pfHwobz1uZXcgUXIpO2xldCByPWEuc3VidHJhY3QodC5jZW50ZXIsZSxxMyksaT1hLmRvdChuLHIpO3JldHVybiBvLnN0YXJ0PWktdC5yYWRpdXMsby5zdG9wPWkrdC5yYWRpdXMsb307YWI9bmV3IGEsSzM9bmV3IGEsVzM9bmV3IGEsWDM9bmV3IGEsWTM9bmV3IGEsJDM9bmV3IGN0LHViPW5ldyBBcnJheSg4KTtmb3IobGV0IHQ9MDt0PDg7Kyt0KXViW3RdPW5ldyBhO2ZiPW5ldyBKbjtuZS5wcm9qZWN0VG8yRD1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJzcGhlcmUiLHQpLGZiLl9lbGxpcHNvaWQ9JC5kZWZhdWx0LGU9eChlLGZiKTtsZXQgbz1lLmVsbGlwc29pZCxyPXQuY2VudGVyLGk9dC5yYWRpdXMsczthLmVxdWFscyhyLGEuWkVSTyk/cz1hLmNsb25lKGEuVU5JVF9YLGFiKTpzPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHIsYWIpO2xldCBmPWEuY3Jvc3MoYS5VTklUX1oscyxLMyk7YS5ub3JtYWxpemUoZixmKTtsZXQgdT1hLmNyb3NzKHMsZixXMyk7YS5ub3JtYWxpemUodSx1KSxhLm11bHRpcGx5QnlTY2FsYXIocyxpLHMpLGEubXVsdGlwbHlCeVNjYWxhcih1LGksdSksYS5tdWx0aXBseUJ5U2NhbGFyKGYsaSxmKTtsZXQgYz1hLm5lZ2F0ZSh1LFkzKSxsPWEubmVnYXRlKGYsWDMpLHA9dWIsZD1wWzBdO2EuYWRkKHMsdSxkKSxhLmFkZChkLGYsZCksZD1wWzFdLGEuYWRkKHMsdSxkKSxhLmFkZChkLGwsZCksZD1wWzJdLGEuYWRkKHMsYyxkKSxhLmFkZChkLGwsZCksZD1wWzNdLGEuYWRkKHMsYyxkKSxhLmFkZChkLGYsZCksYS5uZWdhdGUocyxzKSxkPXBbNF0sYS5hZGQocyx1LGQpLGEuYWRkKGQsZixkKSxkPXBbNV0sYS5hZGQocyx1LGQpLGEuYWRkKGQsbCxkKSxkPXBbNl0sYS5hZGQocyxjLGQpLGEuYWRkKGQsbCxkKSxkPXBbN10sYS5hZGQocyxjLGQpLGEuYWRkKGQsZixkKTtsZXQgbT1wLmxlbmd0aDtmb3IobGV0IFQ9MDtUPG07KytUKXtsZXQgTz1wW1RdO2EuYWRkKHIsTyxPKTtsZXQgRT1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKE8sJDMpO2UucHJvamVjdChFLE8pfW49bmUuZnJvbVBvaW50cyhwLG4pLHI9bi5jZW50ZXI7bGV0IF89ci54LGc9ci55LGI9ci56O3JldHVybiByLng9YixyLnk9XyxyLno9ZyxufTtuZS5pc09jY2x1ZGVkPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgic3BoZXJlIix0KSx5LnR5cGVPZi5vYmplY3QoIm9jY2x1ZGVyIixlKSwhZS5pc0JvdW5kaW5nU3BoZXJlVmlzaWJsZSh0KX07bmUuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZhLmVxdWFscyh0LmNlbnRlcixlLmNlbnRlcikmJnQucmFkaXVzPT09ZS5yYWRpdXN9O25lLnByb3RvdHlwZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0KXtyZXR1cm4gbmUuaW50ZXJzZWN0UGxhbmUodGhpcyx0KX07bmUucHJvdG90eXBlLmRpc3RhbmNlU3F1YXJlZFRvPWZ1bmN0aW9uKHQpe3JldHVybiBuZS5kaXN0YW5jZVNxdWFyZWRUbyh0aGlzLHQpfTtuZS5wcm90b3R5cGUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gbmUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzKHRoaXMsdCxlLG4pfTtuZS5wcm90b3R5cGUuaXNPY2NsdWRlZD1mdW5jdGlvbih0KXtyZXR1cm4gbmUuaXNPY2NsdWRlZCh0aGlzLHQpfTtuZS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBuZS5lcXVhbHModGhpcyx0KX07bmUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBuZS5jbG9uZSh0aGlzLHQpfTtuZS5wcm90b3R5cGUudm9sdW1lPWZ1bmN0aW9uKCl7bGV0IHQ9dGhpcy5yYWRpdXM7cmV0dXJuIE4zKnQqdCp0fTtBdD1uZX0pO3ZhciBaMyxxdCwkcz1aKCgpPT57WjM9e0RFUFRIX0JVRkZFUl9CSVQ6MjU2LFNURU5DSUxfQlVGRkVSX0JJVDoxMDI0LENPTE9SX0JVRkZFUl9CSVQ6MTYzODQsUE9JTlRTOjAsTElORVM6MSxMSU5FX0xPT1A6MixMSU5FX1NUUklQOjMsVFJJQU5HTEVTOjQsVFJJQU5HTEVfU1RSSVA6NSxUUklBTkdMRV9GQU46NixaRVJPOjAsT05FOjEsU1JDX0NPTE9SOjc2OCxPTkVfTUlOVVNfU1JDX0NPTE9SOjc2OSxTUkNfQUxQSEE6NzcwLE9ORV9NSU5VU19TUkNfQUxQSEE6NzcxLERTVF9BTFBIQTo3NzIsT05FX01JTlVTX0RTVF9BTFBIQTo3NzMsRFNUX0NPTE9SOjc3NCxPTkVfTUlOVVNfRFNUX0NPTE9SOjc3NSxTUkNfQUxQSEFfU0FUVVJBVEU6Nzc2LEZVTkNfQUREOjMyNzc0LEJMRU5EX0VRVUFUSU9OOjMyNzc3LEJMRU5EX0VRVUFUSU9OX1JHQjozMjc3NyxCTEVORF9FUVVBVElPTl9BTFBIQTozNDg3NyxGVU5DX1NVQlRSQUNUOjMyNzc4LEZVTkNfUkVWRVJTRV9TVUJUUkFDVDozMjc3OSxCTEVORF9EU1RfUkdCOjMyOTY4LEJMRU5EX1NSQ19SR0I6MzI5NjksQkxFTkRfRFNUX0FMUEhBOjMyOTcwLEJMRU5EX1NSQ19BTFBIQTozMjk3MSxDT05TVEFOVF9DT0xPUjozMjc2OSxPTkVfTUlOVVNfQ09OU1RBTlRfQ09MT1I6MzI3NzAsQ09OU1RBTlRfQUxQSEE6MzI3NzEsT05FX01JTlVTX0NPTlNUQU5UX0FMUEhBOjMyNzcyLEJMRU5EX0NPTE9SOjMyNzczLEFSUkFZX0JVRkZFUjozNDk2MixFTEVNRU5UX0FSUkFZX0JVRkZFUjozNDk2MyxBUlJBWV9CVUZGRVJfQklORElORzozNDk2NCxFTEVNRU5UX0FSUkFZX0JVRkZFUl9CSU5ESU5HOjM0OTY1LFNUUkVBTV9EUkFXOjM1MDQwLFNUQVRJQ19EUkFXOjM1MDQ0LERZTkFNSUNfRFJBVzozNTA0OCxCVUZGRVJfU0laRTozNDY2MCxCVUZGRVJfVVNBR0U6MzQ2NjEsQ1VSUkVOVF9WRVJURVhfQVRUUklCOjM0MzQyLEZST05UOjEwMjgsQkFDSzoxMDI5LEZST05UX0FORF9CQUNLOjEwMzIsQ1VMTF9GQUNFOjI4ODQsQkxFTkQ6MzA0MixESVRIRVI6MzAyNCxTVEVOQ0lMX1RFU1Q6Mjk2MCxERVBUSF9URVNUOjI5MjksU0NJU1NPUl9URVNUOjMwODksUE9MWUdPTl9PRkZTRVRfRklMTDozMjgyMyxTQU1QTEVfQUxQSEFfVE9fQ09WRVJBR0U6MzI5MjYsU0FNUExFX0NPVkVSQUdFOjMyOTI4LE5PX0VSUk9SOjAsSU5WQUxJRF9FTlVNOjEyODAsSU5WQUxJRF9WQUxVRToxMjgxLElOVkFMSURfT1BFUkFUSU9OOjEyODIsT1VUX09GX01FTU9SWToxMjg1LENXOjIzMDQsQ0NXOjIzMDUsTElORV9XSURUSDoyODQ5LEFMSUFTRURfUE9JTlRfU0laRV9SQU5HRTozMzkwMSxBTElBU0VEX0xJTkVfV0lEVEhfUkFOR0U6MzM5MDIsQ1VMTF9GQUNFX01PREU6Mjg4NSxGUk9OVF9GQUNFOjI4ODYsREVQVEhfUkFOR0U6MjkyOCxERVBUSF9XUklURU1BU0s6MjkzMCxERVBUSF9DTEVBUl9WQUxVRToyOTMxLERFUFRIX0ZVTkM6MjkzMixTVEVOQ0lMX0NMRUFSX1ZBTFVFOjI5NjEsU1RFTkNJTF9GVU5DOjI5NjIsU1RFTkNJTF9GQUlMOjI5NjQsU1RFTkNJTF9QQVNTX0RFUFRIX0ZBSUw6Mjk2NSxTVEVOQ0lMX1BBU1NfREVQVEhfUEFTUzoyOTY2LFNURU5DSUxfUkVGOjI5NjcsU1RFTkNJTF9WQUxVRV9NQVNLOjI5NjMsU1RFTkNJTF9XUklURU1BU0s6Mjk2OCxTVEVOQ0lMX0JBQ0tfRlVOQzozNDgxNixTVEVOQ0lMX0JBQ0tfRkFJTDozNDgxNyxTVEVOQ0lMX0JBQ0tfUEFTU19ERVBUSF9GQUlMOjM0ODE4LFNURU5DSUxfQkFDS19QQVNTX0RFUFRIX1BBU1M6MzQ4MTksU1RFTkNJTF9CQUNLX1JFRjozNjAwMyxTVEVOQ0lMX0JBQ0tfVkFMVUVfTUFTSzozNjAwNCxTVEVOQ0lMX0JBQ0tfV1JJVEVNQVNLOjM2MDA1LFZJRVdQT1JUOjI5NzgsU0NJU1NPUl9CT1g6MzA4OCxDT0xPUl9DTEVBUl9WQUxVRTozMTA2LENPTE9SX1dSSVRFTUFTSzozMTA3LFVOUEFDS19BTElHTk1FTlQ6MzMxNyxQQUNLX0FMSUdOTUVOVDozMzMzLE1BWF9URVhUVVJFX1NJWkU6MzM3OSxNQVhfVklFV1BPUlRfRElNUzozMzg2LFNVQlBJWEVMX0JJVFM6MzQwOCxSRURfQklUUzozNDEwLEdSRUVOX0JJVFM6MzQxMSxCTFVFX0JJVFM6MzQxMixBTFBIQV9CSVRTOjM0MTMsREVQVEhfQklUUzozNDE0LFNURU5DSUxfQklUUzozNDE1LFBPTFlHT05fT0ZGU0VUX1VOSVRTOjEwNzUyLFBPTFlHT05fT0ZGU0VUX0ZBQ1RPUjozMjgyNCxURVhUVVJFX0JJTkRJTkdfMkQ6MzI4NzMsU0FNUExFX0JVRkZFUlM6MzI5MzYsU0FNUExFUzozMjkzNyxTQU1QTEVfQ09WRVJBR0VfVkFMVUU6MzI5MzgsU0FNUExFX0NPVkVSQUdFX0lOVkVSVDozMjkzOSxDT01QUkVTU0VEX1RFWFRVUkVfRk9STUFUUzozNDQ2NyxET05UX0NBUkU6NDM1MixGQVNURVNUOjQzNTMsTklDRVNUOjQzNTQsR0VORVJBVEVfTUlQTUFQX0hJTlQ6MzMxNzAsQllURTo1MTIwLFVOU0lHTkVEX0JZVEU6NTEyMSxTSE9SVDo1MTIyLFVOU0lHTkVEX1NIT1JUOjUxMjMsSU5UOjUxMjQsVU5TSUdORURfSU5UOjUxMjUsRkxPQVQ6NTEyNixERVBUSF9DT01QT05FTlQ6NjQwMixBTFBIQTo2NDA2LFJHQjo2NDA3LFJHQkE6NjQwOCxMVU1JTkFOQ0U6NjQwOSxMVU1JTkFOQ0VfQUxQSEE6NjQxMCxVTlNJR05FRF9TSE9SVF80XzRfNF80OjMyODE5LFVOU0lHTkVEX1NIT1JUXzVfNV81XzE6MzI4MjAsVU5TSUdORURfU0hPUlRfNV82XzU6MzM2MzUsRlJBR01FTlRfU0hBREVSOjM1NjMyLFZFUlRFWF9TSEFERVI6MzU2MzMsTUFYX1ZFUlRFWF9BVFRSSUJTOjM0OTIxLE1BWF9WRVJURVhfVU5JRk9STV9WRUNUT1JTOjM2MzQ3LE1BWF9WQVJZSU5HX1ZFQ1RPUlM6MzYzNDgsTUFYX0NPTUJJTkVEX1RFWFRVUkVfSU1BR0VfVU5JVFM6MzU2NjEsTUFYX1ZFUlRFWF9URVhUVVJFX0lNQUdFX1VOSVRTOjM1NjYwLE1BWF9URVhUVVJFX0lNQUdFX1VOSVRTOjM0OTMwLE1BWF9GUkFHTUVOVF9VTklGT1JNX1ZFQ1RPUlM6MzYzNDksU0hBREVSX1RZUEU6MzU2NjMsREVMRVRFX1NUQVRVUzozNTcxMixMSU5LX1NUQVRVUzozNTcxNCxWQUxJREFURV9TVEFUVVM6MzU3MTUsQVRUQUNIRURfU0hBREVSUzozNTcxNyxBQ1RJVkVfVU5JRk9STVM6MzU3MTgsQUNUSVZFX0FUVFJJQlVURVM6MzU3MjEsU0hBRElOR19MQU5HVUFHRV9WRVJTSU9OOjM1NzI0LENVUlJFTlRfUFJPR1JBTTozNTcyNSxORVZFUjo1MTIsTEVTUzo1MTMsRVFVQUw6NTE0LExFUVVBTDo1MTUsR1JFQVRFUjo1MTYsTk9URVFVQUw6NTE3LEdFUVVBTDo1MTgsQUxXQVlTOjUxOSxLRUVQOjc2ODAsUkVQTEFDRTo3NjgxLElOQ1I6NzY4MixERUNSOjc2ODMsSU5WRVJUOjUzODYsSU5DUl9XUkFQOjM0MDU1LERFQ1JfV1JBUDozNDA1NixWRU5ET1I6NzkzNixSRU5ERVJFUjo3OTM3LFZFUlNJT046NzkzOCxORUFSRVNUOjk3MjgsTElORUFSOjk3MjksTkVBUkVTVF9NSVBNQVBfTkVBUkVTVDo5OTg0LExJTkVBUl9NSVBNQVBfTkVBUkVTVDo5OTg1LE5FQVJFU1RfTUlQTUFQX0xJTkVBUjo5OTg2LExJTkVBUl9NSVBNQVBfTElORUFSOjk5ODcsVEVYVFVSRV9NQUdfRklMVEVSOjEwMjQwLFRFWFRVUkVfTUlOX0ZJTFRFUjoxMDI0MSxURVhUVVJFX1dSQVBfUzoxMDI0MixURVhUVVJFX1dSQVBfVDoxMDI0MyxURVhUVVJFXzJEOjM1NTMsVEVYVFVSRTo1ODkwLFRFWFRVUkVfQ1VCRV9NQVA6MzQwNjcsVEVYVFVSRV9CSU5ESU5HX0NVQkVfTUFQOjM0MDY4LFRFWFRVUkVfQ1VCRV9NQVBfUE9TSVRJVkVfWDozNDA2OSxURVhUVVJFX0NVQkVfTUFQX05FR0FUSVZFX1g6MzQwNzAsVEVYVFVSRV9DVUJFX01BUF9QT1NJVElWRV9ZOjM0MDcxLFRFWFRVUkVfQ1VCRV9NQVBfTkVHQVRJVkVfWTozNDA3MixURVhUVVJFX0NVQkVfTUFQX1BPU0lUSVZFX1o6MzQwNzMsVEVYVFVSRV9DVUJFX01BUF9ORUdBVElWRV9aOjM0MDc0LE1BWF9DVUJFX01BUF9URVhUVVJFX1NJWkU6MzQwNzYsVEVYVFVSRTA6MzM5ODQsVEVYVFVSRTE6MzM5ODUsVEVYVFVSRTI6MzM5ODYsVEVYVFVSRTM6MzM5ODcsVEVYVFVSRTQ6MzM5ODgsVEVYVFVSRTU6MzM5ODksVEVYVFVSRTY6MzM5OTAsVEVYVFVSRTc6MzM5OTEsVEVYVFVSRTg6MzM5OTIsVEVYVFVSRTk6MzM5OTMsVEVYVFVSRTEwOjMzOTk0LFRFWFRVUkUxMTozMzk5NSxURVhUVVJFMTI6MzM5OTYsVEVYVFVSRTEzOjMzOTk3LFRFWFRVUkUxNDozMzk5OCxURVhUVVJFMTU6MzM5OTksVEVYVFVSRTE2OjM0ZTMsVEVYVFVSRTE3OjM0MDAxLFRFWFRVUkUxODozNDAwMixURVhUVVJFMTk6MzQwMDMsVEVYVFVSRTIwOjM0MDA0LFRFWFRVUkUyMTozNDAwNSxURVhUVVJFMjI6MzQwMDYsVEVYVFVSRTIzOjM0MDA3LFRFWFRVUkUyNDozNDAwOCxURVhUVVJFMjU6MzQwMDksVEVYVFVSRTI2OjM0MDEwLFRFWFRVUkUyNzozNDAxMSxURVhUVVJFMjg6MzQwMTIsVEVYVFVSRTI5OjM0MDEzLFRFWFRVUkUzMDozNDAxNCxURVhUVVJFMzE6MzQwMTUsQUNUSVZFX1RFWFRVUkU6MzQwMTYsUkVQRUFUOjEwNDk3LENMQU1QX1RPX0VER0U6MzMwNzEsTUlSUk9SRURfUkVQRUFUOjMzNjQ4LEZMT0FUX1ZFQzI6MzU2NjQsRkxPQVRfVkVDMzozNTY2NSxGTE9BVF9WRUM0OjM1NjY2LElOVF9WRUMyOjM1NjY3LElOVF9WRUMzOjM1NjY4LElOVF9WRUM0OjM1NjY5LEJPT0w6MzU2NzAsQk9PTF9WRUMyOjM1NjcxLEJPT0xfVkVDMzozNTY3MixCT09MX1ZFQzQ6MzU2NzMsRkxPQVRfTUFUMjozNTY3NCxGTE9BVF9NQVQzOjM1Njc1LEZMT0FUX01BVDQ6MzU2NzYsU0FNUExFUl8yRDozNTY3OCxTQU1QTEVSX0NVQkU6MzU2ODAsVkVSVEVYX0FUVFJJQl9BUlJBWV9FTkFCTEVEOjM0MzM4LFZFUlRFWF9BVFRSSUJfQVJSQVlfU0laRTozNDMzOSxWRVJURVhfQVRUUklCX0FSUkFZX1NUUklERTozNDM0MCxWRVJURVhfQVRUUklCX0FSUkFZX1RZUEU6MzQzNDEsVkVSVEVYX0FUVFJJQl9BUlJBWV9OT1JNQUxJWkVEOjM0OTIyLFZFUlRFWF9BVFRSSUJfQVJSQVlfUE9JTlRFUjozNDM3MyxWRVJURVhfQVRUUklCX0FSUkFZX0JVRkZFUl9CSU5ESU5HOjM0OTc1LElNUExFTUVOVEFUSU9OX0NPTE9SX1JFQURfVFlQRTozNTczOCxJTVBMRU1FTlRBVElPTl9DT0xPUl9SRUFEX0ZPUk1BVDozNTczOSxDT01QSUxFX1NUQVRVUzozNTcxMyxMT1dfRkxPQVQ6MzYzMzYsTUVESVVNX0ZMT0FUOjM2MzM3LEhJR0hfRkxPQVQ6MzYzMzgsTE9XX0lOVDozNjMzOSxNRURJVU1fSU5UOjM2MzQwLEhJR0hfSU5UOjM2MzQxLEZSQU1FQlVGRkVSOjM2MTYwLFJFTkRFUkJVRkZFUjozNjE2MSxSR0JBNDozMjg1NCxSR0I1X0ExOjMyODU1LFJHQjU2NTozNjE5NCxERVBUSF9DT01QT05FTlQxNjozMzE4OSxTVEVOQ0lMX0lOREVYOjY0MDEsU1RFTkNJTF9JTkRFWDg6MzYxNjgsREVQVEhfU1RFTkNJTDozNDA0MSxSRU5ERVJCVUZGRVJfV0lEVEg6MzYxNjIsUkVOREVSQlVGRkVSX0hFSUdIVDozNjE2MyxSRU5ERVJCVUZGRVJfSU5URVJOQUxfRk9STUFUOjM2MTY0LFJFTkRFUkJVRkZFUl9SRURfU0laRTozNjE3NixSRU5ERVJCVUZGRVJfR1JFRU5fU0laRTozNjE3NyxSRU5ERVJCVUZGRVJfQkxVRV9TSVpFOjM2MTc4LFJFTkRFUkJVRkZFUl9BTFBIQV9TSVpFOjM2MTc5LFJFTkRFUkJVRkZFUl9ERVBUSF9TSVpFOjM2MTgwLFJFTkRFUkJVRkZFUl9TVEVOQ0lMX1NJWkU6MzYxODEsRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9PQkpFQ1RfVFlQRTozNjA0OCxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX09CSkVDVF9OQU1FOjM2MDQ5LEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MRVZFTDozNjA1MCxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1RFWFRVUkVfQ1VCRV9NQVBfRkFDRTozNjA1MSxDT0xPUl9BVFRBQ0hNRU5UMDozNjA2NCxERVBUSF9BVFRBQ0hNRU5UOjM2MDk2LFNURU5DSUxfQVRUQUNITUVOVDozNjEyOCxERVBUSF9TVEVOQ0lMX0FUVEFDSE1FTlQ6MzMzMDYsTk9ORTowLEZSQU1FQlVGRkVSX0NPTVBMRVRFOjM2MDUzLEZSQU1FQlVGRkVSX0lOQ09NUExFVEVfQVRUQUNITUVOVDozNjA1NCxGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX01JU1NJTkdfQVRUQUNITUVOVDozNjA1NSxGUkFNRUJVRkZFUl9JTkNPTVBMRVRFX0RJTUVOU0lPTlM6MzYwNTcsRlJBTUVCVUZGRVJfVU5TVVBQT1JURUQ6MzYwNjEsRlJBTUVCVUZGRVJfQklORElORzozNjAwNixSRU5ERVJCVUZGRVJfQklORElORzozNjAwNyxNQVhfUkVOREVSQlVGRkVSX1NJWkU6MzQwMjQsSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT046MTI4NixVTlBBQ0tfRkxJUF9ZX1dFQkdMOjM3NDQwLFVOUEFDS19QUkVNVUxUSVBMWV9BTFBIQV9XRUJHTDozNzQ0MSxDT05URVhUX0xPU1RfV0VCR0w6Mzc0NDIsVU5QQUNLX0NPTE9SU1BBQ0VfQ09OVkVSU0lPTl9XRUJHTDozNzQ0MyxCUk9XU0VSX0RFRkFVTFRfV0VCR0w6Mzc0NDQsQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVDozMzc3NixDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQxX0VYVDozMzc3NyxDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQzX0VYVDozMzc3OCxDT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQ1X0VYVDozMzc3OSxDT01QUkVTU0VEX1JHQl9QVlJUQ180QlBQVjFfSU1HOjM1ODQwLENPTVBSRVNTRURfUkdCX1BWUlRDXzJCUFBWMV9JTUc6MzU4NDEsQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzRCUFBWMV9JTUc6MzU4NDIsQ09NUFJFU1NFRF9SR0JBX1BWUlRDXzJCUFBWMV9JTUc6MzU4NDMsQ09NUFJFU1NFRF9SR0JBX0FTVENfNHg0X1dFQkdMOjM3ODA4LENPTVBSRVNTRURfUkdCX0VUQzFfV0VCR0w6MzYxOTYsQ09NUFJFU1NFRF9SR0JBX0JQVENfVU5PUk06MzY0OTIsSEFMRl9GTE9BVF9PRVM6MzYxOTMsRE9VQkxFOjUxMzAsUkVBRF9CVUZGRVI6MzA3NCxVTlBBQ0tfUk9XX0xFTkdUSDozMzE0LFVOUEFDS19TS0lQX1JPV1M6MzMxNSxVTlBBQ0tfU0tJUF9QSVhFTFM6MzMxNixQQUNLX1JPV19MRU5HVEg6MzMzMCxQQUNLX1NLSVBfUk9XUzozMzMxLFBBQ0tfU0tJUF9QSVhFTFM6MzMzMixDT0xPUjo2MTQ0LERFUFRIOjYxNDUsU1RFTkNJTDo2MTQ2LFJFRDo2NDAzLFJHQjg6MzI4NDksUkdCQTg6MzI4NTYsUkdCMTBfQTI6MzI4NTcsVEVYVFVSRV9CSU5ESU5HXzNEOjMyODc0LFVOUEFDS19TS0lQX0lNQUdFUzozMjg3NyxVTlBBQ0tfSU1BR0VfSEVJR0hUOjMyODc4LFRFWFRVUkVfM0Q6MzI4NzksVEVYVFVSRV9XUkFQX1I6MzI4ODIsTUFYXzNEX1RFWFRVUkVfU0laRTozMjg4MyxVTlNJR05FRF9JTlRfMl8xMF8xMF8xMF9SRVY6MzM2NDAsTUFYX0VMRU1FTlRTX1ZFUlRJQ0VTOjMzZTMsTUFYX0VMRU1FTlRTX0lORElDRVM6MzMwMDEsVEVYVFVSRV9NSU5fTE9EOjMzMDgyLFRFWFRVUkVfTUFYX0xPRDozMzA4MyxURVhUVVJFX0JBU0VfTEVWRUw6MzMwODQsVEVYVFVSRV9NQVhfTEVWRUw6MzMwODUsTUlOOjMyNzc1LE1BWDozMjc3NixERVBUSF9DT01QT05FTlQyNDozMzE5MCxNQVhfVEVYVFVSRV9MT0RfQklBUzozNDA0NSxURVhUVVJFX0NPTVBBUkVfTU9ERTozNDg5MixURVhUVVJFX0NPTVBBUkVfRlVOQzozNDg5MyxDVVJSRU5UX1FVRVJZOjM0OTE3LFFVRVJZX1JFU1VMVDozNDkxOCxRVUVSWV9SRVNVTFRfQVZBSUxBQkxFOjM0OTE5LFNUUkVBTV9SRUFEOjM1MDQxLFNUUkVBTV9DT1BZOjM1MDQyLFNUQVRJQ19SRUFEOjM1MDQ1LFNUQVRJQ19DT1BZOjM1MDQ2LERZTkFNSUNfUkVBRDozNTA0OSxEWU5BTUlDX0NPUFk6MzUwNTAsTUFYX0RSQVdfQlVGRkVSUzozNDg1MixEUkFXX0JVRkZFUjA6MzQ4NTMsRFJBV19CVUZGRVIxOjM0ODU0LERSQVdfQlVGRkVSMjozNDg1NSxEUkFXX0JVRkZFUjM6MzQ4NTYsRFJBV19CVUZGRVI0OjM0ODU3LERSQVdfQlVGRkVSNTozNDg1OCxEUkFXX0JVRkZFUjY6MzQ4NTksRFJBV19CVUZGRVI3OjM0ODYwLERSQVdfQlVGRkVSODozNDg2MSxEUkFXX0JVRkZFUjk6MzQ4NjIsRFJBV19CVUZGRVIxMDozNDg2MyxEUkFXX0JVRkZFUjExOjM0ODY0LERSQVdfQlVGRkVSMTI6MzQ4NjUsRFJBV19CVUZGRVIxMzozNDg2NixEUkFXX0JVRkZFUjE0OjM0ODY3LERSQVdfQlVGRkVSMTU6MzQ4NjgsTUFYX0ZSQUdNRU5UX1VOSUZPUk1fQ09NUE9ORU5UUzozNTY1NyxNQVhfVkVSVEVYX1VOSUZPUk1fQ09NUE9ORU5UUzozNTY1OCxTQU1QTEVSXzNEOjM1Njc5LFNBTVBMRVJfMkRfU0hBRE9XOjM1NjgyLEZSQUdNRU5UX1NIQURFUl9ERVJJVkFUSVZFX0hJTlQ6MzU3MjMsUElYRUxfUEFDS19CVUZGRVI6MzUwNTEsUElYRUxfVU5QQUNLX0JVRkZFUjozNTA1MixQSVhFTF9QQUNLX0JVRkZFUl9CSU5ESU5HOjM1MDUzLFBJWEVMX1VOUEFDS19CVUZGRVJfQklORElORzozNTA1NSxGTE9BVF9NQVQyeDM6MzU2ODUsRkxPQVRfTUFUMng0OjM1Njg2LEZMT0FUX01BVDN4MjozNTY4NyxGTE9BVF9NQVQzeDQ6MzU2ODgsRkxPQVRfTUFUNHgyOjM1Njg5LEZMT0FUX01BVDR4MzozNTY5MCxTUkdCOjM1OTA0LFNSR0I4OjM1OTA1LFNSR0I4X0FMUEhBODozNTkwNyxDT01QQVJFX1JFRl9UT19URVhUVVJFOjM0ODk0LFJHQkEzMkY6MzQ4MzYsUkdCMzJGOjM0ODM3LFJHQkExNkY6MzQ4NDIsUkdCMTZGOjM0ODQzLFZFUlRFWF9BVFRSSUJfQVJSQVlfSU5URUdFUjozNTA2OSxNQVhfQVJSQVlfVEVYVFVSRV9MQVlFUlM6MzUwNzEsTUlOX1BST0dSQU1fVEVYRUxfT0ZGU0VUOjM1MDc2LE1BWF9QUk9HUkFNX1RFWEVMX09GRlNFVDozNTA3NyxNQVhfVkFSWUlOR19DT01QT05FTlRTOjM1NjU5LFRFWFRVUkVfMkRfQVJSQVk6MzU4NjYsVEVYVFVSRV9CSU5ESU5HXzJEX0FSUkFZOjM1ODY5LFIxMUZfRzExRl9CMTBGOjM1ODk4LFVOU0lHTkVEX0lOVF8xMEZfMTFGXzExRl9SRVY6MzU4OTksUkdCOV9FNTozNTkwMSxVTlNJR05FRF9JTlRfNV85XzlfOV9SRVY6MzU5MDIsVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9NT0RFOjM1OTY3LE1BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVfQ09NUE9ORU5UUzozNTk2OCxUUkFOU0ZPUk1fRkVFREJBQ0tfVkFSWUlOR1M6MzU5NzEsVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUl9TVEFSVDozNTk3MixUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX1NJWkU6MzU5NzMsVFJBTlNGT1JNX0ZFRURCQUNLX1BSSU1JVElWRVNfV1JJVFRFTjozNTk3NixSQVNURVJJWkVSX0RJU0NBUkQ6MzU5NzcsTUFYX1RSQU5TRk9STV9GRUVEQkFDS19JTlRFUkxFQVZFRF9DT01QT05FTlRTOjM1OTc4LE1BWF9UUkFOU0ZPUk1fRkVFREJBQ0tfU0VQQVJBVEVfQVRUUklCUzozNTk3OSxJTlRFUkxFQVZFRF9BVFRSSUJTOjM1OTgwLFNFUEFSQVRFX0FUVFJJQlM6MzU5ODEsVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUjozNTk4MixUUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSX0JJTkRJTkc6MzU5ODMsUkdCQTMyVUk6MzYyMDgsUkdCMzJVSTozNjIwOSxSR0JBMTZVSTozNjIxNCxSR0IxNlVJOjM2MjE1LFJHQkE4VUk6MzYyMjAsUkdCOFVJOjM2MjIxLFJHQkEzMkk6MzYyMjYsUkdCMzJJOjM2MjI3LFJHQkExNkk6MzYyMzIsUkdCMTZJOjM2MjMzLFJHQkE4STozNjIzOCxSR0I4STozNjIzOSxSRURfSU5URUdFUjozNjI0NCxSR0JfSU5URUdFUjozNjI0OCxSR0JBX0lOVEVHRVI6MzYyNDksU0FNUExFUl8yRF9BUlJBWTozNjI4OSxTQU1QTEVSXzJEX0FSUkFZX1NIQURPVzozNjI5MixTQU1QTEVSX0NVQkVfU0hBRE9XOjM2MjkzLFVOU0lHTkVEX0lOVF9WRUMyOjM2Mjk0LFVOU0lHTkVEX0lOVF9WRUMzOjM2Mjk1LFVOU0lHTkVEX0lOVF9WRUM0OjM2Mjk2LElOVF9TQU1QTEVSXzJEOjM2Mjk4LElOVF9TQU1QTEVSXzNEOjM2Mjk5LElOVF9TQU1QTEVSX0NVQkU6MzYzMDAsSU5UX1NBTVBMRVJfMkRfQVJSQVk6MzYzMDMsVU5TSUdORURfSU5UX1NBTVBMRVJfMkQ6MzYzMDYsVU5TSUdORURfSU5UX1NBTVBMRVJfM0Q6MzYzMDcsVU5TSUdORURfSU5UX1NBTVBMRVJfQ1VCRTozNjMwOCxVTlNJR05FRF9JTlRfU0FNUExFUl8yRF9BUlJBWTozNjMxMSxERVBUSF9DT01QT05FTlQzMkY6MzYwMTIsREVQVEgzMkZfU1RFTkNJTDg6MzYwMTMsRkxPQVRfMzJfVU5TSUdORURfSU5UXzI0XzhfUkVWOjM2MjY5LEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfQ09MT1JfRU5DT0RJTkc6MzMyOTYsRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9DT01QT05FTlRfVFlQRTozMzI5NyxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX1JFRF9TSVpFOjMzMjk4LEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfR1JFRU5fU0laRTozMzI5OSxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0JMVUVfU0laRTozMzMwMCxGUkFNRUJVRkZFUl9BVFRBQ0hNRU5UX0FMUEhBX1NJWkU6MzMzMDEsRlJBTUVCVUZGRVJfQVRUQUNITUVOVF9ERVBUSF9TSVpFOjMzMzAyLEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfU1RFTkNJTF9TSVpFOjMzMzAzLEZSQU1FQlVGRkVSX0RFRkFVTFQ6MzMzMDQsVU5TSUdORURfSU5UXzI0Xzg6MzQwNDIsREVQVEgyNF9TVEVOQ0lMODozNTA1NixVTlNJR05FRF9OT1JNQUxJWkVEOjM1ODYzLERSQVdfRlJBTUVCVUZGRVJfQklORElORzozNjAwNixSRUFEX0ZSQU1FQlVGRkVSOjM2MDA4LERSQVdfRlJBTUVCVUZGRVI6MzYwMDksUkVBRF9GUkFNRUJVRkZFUl9CSU5ESU5HOjM2MDEwLFJFTkRFUkJVRkZFUl9TQU1QTEVTOjM2MDExLEZSQU1FQlVGRkVSX0FUVEFDSE1FTlRfVEVYVFVSRV9MQVlFUjozNjA1MixNQVhfQ09MT1JfQVRUQUNITUVOVFM6MzYwNjMsQ09MT1JfQVRUQUNITUVOVDE6MzYwNjUsQ09MT1JfQVRUQUNITUVOVDI6MzYwNjYsQ09MT1JfQVRUQUNITUVOVDM6MzYwNjcsQ09MT1JfQVRUQUNITUVOVDQ6MzYwNjgsQ09MT1JfQVRUQUNITUVOVDU6MzYwNjksQ09MT1JfQVRUQUNITUVOVDY6MzYwNzAsQ09MT1JfQVRUQUNITUVOVDc6MzYwNzEsQ09MT1JfQVRUQUNITUVOVDg6MzYwNzIsQ09MT1JfQVRUQUNITUVOVDk6MzYwNzMsQ09MT1JfQVRUQUNITUVOVDEwOjM2MDc0LENPTE9SX0FUVEFDSE1FTlQxMTozNjA3NSxDT0xPUl9BVFRBQ0hNRU5UMTI6MzYwNzYsQ09MT1JfQVRUQUNITUVOVDEzOjM2MDc3LENPTE9SX0FUVEFDSE1FTlQxNDozNjA3OCxDT0xPUl9BVFRBQ0hNRU5UMTU6MzYwNzksRlJBTUVCVUZGRVJfSU5DT01QTEVURV9NVUxUSVNBTVBMRTozNjE4MixNQVhfU0FNUExFUzozNjE4MyxIQUxGX0ZMT0FUOjUxMzEsUkc6MzMzMTksUkdfSU5URUdFUjozMzMyMCxSODozMzMyMSxSRzg6MzMzMjMsUjE2RjozMzMyNSxSMzJGOjMzMzI2LFJHMTZGOjMzMzI3LFJHMzJGOjMzMzI4LFI4STozMzMyOSxSOFVJOjMzMzMwLFIxNkk6MzMzMzEsUjE2VUk6MzMzMzIsUjMySTozMzMzMyxSMzJVSTozMzMzNCxSRzhJOjMzMzM1LFJHOFVJOjMzMzM2LFJHMTZJOjMzMzM3LFJHMTZVSTozMzMzOCxSRzMySTozMzMzOSxSRzMyVUk6MzMzNDAsVkVSVEVYX0FSUkFZX0JJTkRJTkc6MzQyMjksUjhfU05PUk06MzY3NTYsUkc4X1NOT1JNOjM2NzU3LFJHQjhfU05PUk06MzY3NTgsUkdCQThfU05PUk06MzY3NTksU0lHTkVEX05PUk1BTElaRUQ6MzY3NjQsQ09QWV9SRUFEX0JVRkZFUjozNjY2MixDT1BZX1dSSVRFX0JVRkZFUjozNjY2MyxDT1BZX1JFQURfQlVGRkVSX0JJTkRJTkc6MzY2NjIsQ09QWV9XUklURV9CVUZGRVJfQklORElORzozNjY2MyxVTklGT1JNX0JVRkZFUjozNTM0NSxVTklGT1JNX0JVRkZFUl9CSU5ESU5HOjM1MzY4LFVOSUZPUk1fQlVGRkVSX1NUQVJUOjM1MzY5LFVOSUZPUk1fQlVGRkVSX1NJWkU6MzUzNzAsTUFYX1ZFUlRFWF9VTklGT1JNX0JMT0NLUzozNTM3MSxNQVhfRlJBR01FTlRfVU5JRk9STV9CTE9DS1M6MzUzNzMsTUFYX0NPTUJJTkVEX1VOSUZPUk1fQkxPQ0tTOjM1Mzc0LE1BWF9VTklGT1JNX0JVRkZFUl9CSU5ESU5HUzozNTM3NSxNQVhfVU5JRk9STV9CTE9DS19TSVpFOjM1Mzc2LE1BWF9DT01CSU5FRF9WRVJURVhfVU5JRk9STV9DT01QT05FTlRTOjM1Mzc3LE1BWF9DT01CSU5FRF9GUkFHTUVOVF9VTklGT1JNX0NPTVBPTkVOVFM6MzUzNzksVU5JRk9STV9CVUZGRVJfT0ZGU0VUX0FMSUdOTUVOVDozNTM4MCxBQ1RJVkVfVU5JRk9STV9CTE9DS1M6MzUzODIsVU5JRk9STV9UWVBFOjM1MzgzLFVOSUZPUk1fU0laRTozNTM4NCxVTklGT1JNX0JMT0NLX0lOREVYOjM1Mzg2LFVOSUZPUk1fT0ZGU0VUOjM1Mzg3LFVOSUZPUk1fQVJSQVlfU1RSSURFOjM1Mzg4LFVOSUZPUk1fTUFUUklYX1NUUklERTozNTM4OSxVTklGT1JNX0lTX1JPV19NQUpPUjozNTM5MCxVTklGT1JNX0JMT0NLX0JJTkRJTkc6MzUzOTEsVU5JRk9STV9CTE9DS19EQVRBX1NJWkU6MzUzOTIsVU5JRk9STV9CTE9DS19BQ1RJVkVfVU5JRk9STVM6MzUzOTQsVU5JRk9STV9CTE9DS19BQ1RJVkVfVU5JRk9STV9JTkRJQ0VTOjM1Mzk1LFVOSUZPUk1fQkxPQ0tfUkVGRVJFTkNFRF9CWV9WRVJURVhfU0hBREVSOjM1Mzk2LFVOSUZPUk1fQkxPQ0tfUkVGRVJFTkNFRF9CWV9GUkFHTUVOVF9TSEFERVI6MzUzOTgsSU5WQUxJRF9JTkRFWDo0Mjk0OTY3Mjk1LE1BWF9WRVJURVhfT1VUUFVUX0NPTVBPTkVOVFM6MzcxNTQsTUFYX0ZSQUdNRU5UX0lOUFVUX0NPTVBPTkVOVFM6MzcxNTcsTUFYX1NFUlZFUl9XQUlUX1RJTUVPVVQ6MzcxMzcsT0JKRUNUX1RZUEU6MzcxMzgsU1lOQ19DT05ESVRJT046MzcxMzksU1lOQ19TVEFUVVM6MzcxNDAsU1lOQ19GTEFHUzozNzE0MSxTWU5DX0ZFTkNFOjM3MTQyLFNZTkNfR1BVX0NPTU1BTkRTX0NPTVBMRVRFOjM3MTQzLFVOU0lHTkFMRUQ6MzcxNDQsU0lHTkFMRUQ6MzcxNDUsQUxSRUFEWV9TSUdOQUxFRDozNzE0NixUSU1FT1VUX0VYUElSRUQ6MzcxNDcsQ09ORElUSU9OX1NBVElTRklFRDozNzE0OCxXQUlUX0ZBSUxFRDozNzE0OSxTWU5DX0ZMVVNIX0NPTU1BTkRTX0JJVDoxLFZFUlRFWF9BVFRSSUJfQVJSQVlfRElWSVNPUjozNTA3MCxBTllfU0FNUExFU19QQVNTRUQ6MzU4ODcsQU5ZX1NBTVBMRVNfUEFTU0VEX0NPTlNFUlZBVElWRTozNjIwMixTQU1QTEVSX0JJTkRJTkc6MzUwOTcsUkdCMTBfQTJVSTozNjk3NSxJTlRfMl8xMF8xMF8xMF9SRVY6MzYyNTUsVFJBTlNGT1JNX0ZFRURCQUNLOjM2Mzg2LFRSQU5TRk9STV9GRUVEQkFDS19QQVVTRUQ6MzYzODcsVFJBTlNGT1JNX0ZFRURCQUNLX0FDVElWRTozNjM4OCxUUkFOU0ZPUk1fRkVFREJBQ0tfQklORElORzozNjM4OSxDT01QUkVTU0VEX1IxMV9FQUM6Mzc0ODgsQ09NUFJFU1NFRF9TSUdORURfUjExX0VBQzozNzQ4OSxDT01QUkVTU0VEX1JHMTFfRUFDOjM3NDkwLENPTVBSRVNTRURfU0lHTkVEX1JHMTFfRUFDOjM3NDkxLENPTVBSRVNTRURfUkdCOF9FVEMyOjM3NDkyLENPTVBSRVNTRURfU1JHQjhfRVRDMjozNzQ5MyxDT01QUkVTU0VEX1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyOjM3NDk0LENPTVBSRVNTRURfU1JHQjhfUFVOQ0hUSFJPVUdIX0FMUEhBMV9FVEMyOjM3NDk1LENPTVBSRVNTRURfUkdCQThfRVRDMl9FQUM6Mzc0OTYsQ09NUFJFU1NFRF9TUkdCOF9BTFBIQThfRVRDMl9FQUM6Mzc0OTcsVEVYVFVSRV9JTU1VVEFCTEVfRk9STUFUOjM3MTY3LE1BWF9FTEVNRU5UX0lOREVYOjM2MjAzLFRFWFRVUkVfSU1NVVRBQkxFX0xFVkVMUzozMzUwMyxNQVhfVEVYVFVSRV9NQVhfQU5JU09UUk9QWV9FWFQ6MzQwNDd9LHF0PU9iamVjdC5mcmVlemUoWjMpfSk7dmFyIHNlLG50LEZlPVooKCk9PntJdCgpO2Z0KCk7SHQoKTskcygpO3NlPXtCWVRFOnF0LkJZVEUsVU5TSUdORURfQllURTpxdC5VTlNJR05FRF9CWVRFLFNIT1JUOnF0LlNIT1JULFVOU0lHTkVEX1NIT1JUOnF0LlVOU0lHTkVEX1NIT1JULElOVDpxdC5JTlQsVU5TSUdORURfSU5UOnF0LlVOU0lHTkVEX0lOVCxGTE9BVDpxdC5GTE9BVCxET1VCTEU6cXQuRE9VQkxFfTtzZS5nZXRTaXplSW5CeXRlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigidmFsdWUgaXMgcmVxdWlyZWQuIik7c3dpdGNoKHQpe2Nhc2Ugc2UuQllURTpyZXR1cm4gSW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2Ugc2UuVU5TSUdORURfQllURTpyZXR1cm4gVWludDhBcnJheS5CWVRFU19QRVJfRUxFTUVOVDtjYXNlIHNlLlNIT1JUOnJldHVybiBJbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2Ugc2UuVU5TSUdORURfU0hPUlQ6cmV0dXJuIFVpbnQxNkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2Ugc2UuSU5UOnJldHVybiBJbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UO2Nhc2Ugc2UuVU5TSUdORURfSU5UOnJldHVybiBVaW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVDtjYXNlIHNlLkZMT0FUOnJldHVybiBGbG9hdDMyQXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7Y2FzZSBzZS5ET1VCTEU6cmV0dXJuIEZsb2F0NjRBcnJheS5CWVRFU19QRVJfRUxFTUVOVDtkZWZhdWx0OnRocm93IG5ldyBCKCJjb21wb25lbnREYXRhdHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O3NlLmZyb21UeXBlZEFycmF5PWZ1bmN0aW9uKHQpe2lmKHQgaW5zdGFuY2VvZiBJbnQ4QXJyYXkpcmV0dXJuIHNlLkJZVEU7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHNlLlVOU0lHTkVEX0JZVEU7aWYodCBpbnN0YW5jZW9mIEludDE2QXJyYXkpcmV0dXJuIHNlLlNIT1JUO2lmKHQgaW5zdGFuY2VvZiBVaW50MTZBcnJheSlyZXR1cm4gc2UuVU5TSUdORURfU0hPUlQ7aWYodCBpbnN0YW5jZW9mIEludDMyQXJyYXkpcmV0dXJuIHNlLklOVDtpZih0IGluc3RhbmNlb2YgVWludDMyQXJyYXkpcmV0dXJuIHNlLlVOU0lHTkVEX0lOVDtpZih0IGluc3RhbmNlb2YgRmxvYXQzMkFycmF5KXJldHVybiBzZS5GTE9BVDtpZih0IGluc3RhbmNlb2YgRmxvYXQ2NEFycmF5KXJldHVybiBzZS5ET1VCTEU7dGhyb3cgbmV3IEIoImFycmF5IG11c3QgYmUgYW4gSW50OEFycmF5LCBVaW50OEFycmF5LCBJbnQxNkFycmF5LCBVaW50MTZBcnJheSwgSW50MzJBcnJheSwgVWludDMyQXJyYXksIEZsb2F0MzJBcnJheSwgb3IgRmxvYXQ2NEFycmF5LiIpfTtzZS52YWxpZGF0ZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KSYmKHQ9PT1zZS5CWVRFfHx0PT09c2UuVU5TSUdORURfQllURXx8dD09PXNlLlNIT1JUfHx0PT09c2UuVU5TSUdORURfU0hPUlR8fHQ9PT1zZS5JTlR8fHQ9PT1zZS5VTlNJR05FRF9JTlR8fHQ9PT1zZS5GTE9BVHx8dD09PXNlLkRPVUJMRSl9O3NlLmNyZWF0ZVR5cGVkQXJyYXk9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigiY29tcG9uZW50RGF0YXR5cGUgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoInZhbHVlc09yTGVuZ3RoIGlzIHJlcXVpcmVkLiIpO3N3aXRjaCh0KXtjYXNlIHNlLkJZVEU6cmV0dXJuIG5ldyBJbnQ4QXJyYXkoZSk7Y2FzZSBzZS5VTlNJR05FRF9CWVRFOnJldHVybiBuZXcgVWludDhBcnJheShlKTtjYXNlIHNlLlNIT1JUOnJldHVybiBuZXcgSW50MTZBcnJheShlKTtjYXNlIHNlLlVOU0lHTkVEX1NIT1JUOnJldHVybiBuZXcgVWludDE2QXJyYXkoZSk7Y2FzZSBzZS5JTlQ6cmV0dXJuIG5ldyBJbnQzMkFycmF5KGUpO2Nhc2Ugc2UuVU5TSUdORURfSU5UOnJldHVybiBuZXcgVWludDMyQXJyYXkoZSk7Y2FzZSBzZS5GTE9BVDpyZXR1cm4gbmV3IEZsb2F0MzJBcnJheShlKTtjYXNlIHNlLkRPVUJMRTpyZXR1cm4gbmV3IEZsb2F0NjRBcnJheShlKTtkZWZhdWx0OnRocm93IG5ldyBCKCJjb21wb25lbnREYXRhdHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O3NlLmNyZWF0ZUFycmF5QnVmZmVyVmlldz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgQigiY29tcG9uZW50RGF0YXR5cGUgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImJ1ZmZlciBpcyByZXF1aXJlZC4iKTtzd2l0Y2gobj14KG4sMCksbz14KG8sKGUuYnl0ZUxlbmd0aC1uKS9zZS5nZXRTaXplSW5CeXRlcyh0KSksdCl7Y2FzZSBzZS5CWVRFOnJldHVybiBuZXcgSW50OEFycmF5KGUsbixvKTtjYXNlIHNlLlVOU0lHTkVEX0JZVEU6cmV0dXJuIG5ldyBVaW50OEFycmF5KGUsbixvKTtjYXNlIHNlLlNIT1JUOnJldHVybiBuZXcgSW50MTZBcnJheShlLG4sbyk7Y2FzZSBzZS5VTlNJR05FRF9TSE9SVDpyZXR1cm4gbmV3IFVpbnQxNkFycmF5KGUsbixvKTtjYXNlIHNlLklOVDpyZXR1cm4gbmV3IEludDMyQXJyYXkoZSxuLG8pO2Nhc2Ugc2UuVU5TSUdORURfSU5UOnJldHVybiBuZXcgVWludDMyQXJyYXkoZSxuLG8pO2Nhc2Ugc2UuRkxPQVQ6cmV0dXJuIG5ldyBGbG9hdDMyQXJyYXkoZSxuLG8pO2Nhc2Ugc2UuRE9VQkxFOnJldHVybiBuZXcgRmxvYXQ2NEFycmF5KGUsbixvKTtkZWZhdWx0OnRocm93IG5ldyBCKCJjb21wb25lbnREYXRhdHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O3NlLmZyb21OYW1lPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIkJZVEUiOnJldHVybiBzZS5CWVRFO2Nhc2UiVU5TSUdORURfQllURSI6cmV0dXJuIHNlLlVOU0lHTkVEX0JZVEU7Y2FzZSJTSE9SVCI6cmV0dXJuIHNlLlNIT1JUO2Nhc2UiVU5TSUdORURfU0hPUlQiOnJldHVybiBzZS5VTlNJR05FRF9TSE9SVDtjYXNlIklOVCI6cmV0dXJuIHNlLklOVDtjYXNlIlVOU0lHTkVEX0lOVCI6cmV0dXJuIHNlLlVOU0lHTkVEX0lOVDtjYXNlIkZMT0FUIjpyZXR1cm4gc2UuRkxPQVQ7Y2FzZSJET1VCTEUiOnJldHVybiBzZS5ET1VCTEU7ZGVmYXVsdDp0aHJvdyBuZXcgQigibmFtZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O250PU9iamVjdC5mcmVlemUoc2UpfSk7dmFyIFEzLE1pLElwPVooKCk9PntRMz17Tk9ORTowLFRSSUFOR0xFUzoxLExJTkVTOjIsUE9MWUxJTkVTOjN9LE1pPU9iamVjdC5mcmVlemUoUTMpfSk7ZnVuY3Rpb24gWXQodCxlLG4sbyl7dGhpc1swXT14KHQsMCksdGhpc1sxXT14KG4sMCksdGhpc1syXT14KGUsMCksdGhpc1szXT14KG8sMCl9dmFyIEozLHRQLGxiLHBiLGVQLG5QLFlvLEFmPVooKCk9PntVZSgpO1h0KCk7SXQoKTtmdCgpO0h0KCk7WXQucGFja2VkTGVuZ3RoPTQ7WXQucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10WzBdLGVbbisrXT10WzFdLGVbbisrXT10WzJdLGVbbisrXT10WzNdLGV9O1l0LnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBZdCksblswXT10W2UrK10sblsxXT10W2UrK10sblsyXT10W2UrK10sblszXT10W2UrK10sbn07WXQucGFja0FycmF5PWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJhcnJheSIsdCk7bGV0IG49dC5sZW5ndGgsbz1uKjQ7aWYoIWgoZSkpZT1uZXcgQXJyYXkobyk7ZWxzZXtpZighQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGghPT1vKXRocm93IG5ldyBCKCJJZiByZXN1bHQgaXMgYSB0eXBlZCBhcnJheSwgaXQgbXVzdCBoYXZlIGV4YWN0bHkgYXJyYXkubGVuZ3RoICogNCBlbGVtZW50cyIpO2UubGVuZ3RoIT09byYmKGUubGVuZ3RoPW8pfWZvcihsZXQgcj0wO3I8bjsrK3IpWXQucGFjayh0W3JdLGUscio0KTtyZXR1cm4gZX07WXQudW5wYWNrQXJyYXk9ZnVuY3Rpb24odCxlKXtpZih5LmRlZmluZWQoImFycmF5Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiYXJyYXkubGVuZ3RoIix0Lmxlbmd0aCw0KSx0Lmxlbmd0aCU0IT09MCl0aHJvdyBuZXcgQigiYXJyYXkgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiA0LiIpO2xldCBuPXQubGVuZ3RoO2goZSk/ZS5sZW5ndGg9bi80OmU9bmV3IEFycmF5KG4vNCk7Zm9yKGxldCBvPTA7bzxuO28rPTQpe2xldCByPW8vNDtlW3JdPVl0LnVucGFjayh0LG8sZVtyXSl9cmV0dXJuIGV9O1l0LmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZVswXT10WzBdLGVbMV09dFsxXSxlWzJdPXRbMl0sZVszXT10WzNdLGUpOm5ldyBZdCh0WzBdLHRbMl0sdFsxXSx0WzNdKX07WXQuZnJvbUFycmF5PVl0LnVucGFjaztZdC5mcm9tQ29sdW1uTWFqb3JBcnJheT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoInZhbHVlcyIsdCksWXQuY2xvbmUodCxlKX07WXQuZnJvbVJvd01ham9yQXJyYXk9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS5kZWZpbmVkKCJ2YWx1ZXMiLHQpLGgoZSk/KGVbMF09dFswXSxlWzFdPXRbMl0sZVsyXT10WzFdLGVbM109dFszXSxlKTpuZXcgWXQodFswXSx0WzFdLHRbMl0sdFszXSl9O1l0LmZyb21TY2FsZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInNjYWxlIix0KSxoKGUpPyhlWzBdPXQueCxlWzFdPTAsZVsyXT0wLGVbM109dC55LGUpOm5ldyBZdCh0LngsMCwwLHQueSl9O1l0LmZyb21Vbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2YubnVtYmVyKCJzY2FsZSIsdCksaChlKT8oZVswXT10LGVbMV09MCxlWzJdPTAsZVszXT10LGUpOm5ldyBZdCh0LDAsMCx0KX07WXQuZnJvbVJvdGF0aW9uPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2YubnVtYmVyKCJhbmdsZSIsdCk7bGV0IG49TWF0aC5jb3ModCksbz1NYXRoLnNpbih0KTtyZXR1cm4gaChlKT8oZVswXT1uLGVbMV09byxlWzJdPS1vLGVbM109bixlKTpuZXcgWXQobiwtbyxvLG4pfTtZdC50b0FycmF5PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSxoKGUpPyhlWzBdPXRbMF0sZVsxXT10WzFdLGVbMl09dFsyXSxlWzNdPXRbM10sZSk6W3RbMF0sdFsxXSx0WzJdLHRbM11dfTtZdC5nZXRFbGVtZW50SW5kZXg9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoInJvdyIsZSwwKSx5LnR5cGVPZi5udW1iZXIubGVzc1RoYW5PckVxdWFscygicm93IixlLDEpLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJjb2x1bW4iLHQsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImNvbHVtbiIsdCwxKSx0KjIrZX07WXQuZ2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGV4IixlLDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJpbmRleCIsZSwxKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89ZSoyLHI9dFtvXSxpPXRbbysxXTtyZXR1cm4gbi54PXIsbi55PWksbn07WXQuc2V0Q29sdW1uPWZ1bmN0aW9uKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDEpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz1ZdC5jbG9uZSh0LG8pO2xldCByPWUqMjtyZXR1cm4gb1tyXT1uLngsb1tyKzFdPW4ueSxvfTtZdC5nZXRSb3c9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDEpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKTtsZXQgbz10W2VdLHI9dFtlKzJdO3JldHVybiBuLng9byxuLnk9cixufTtZdC5zZXRSb3c9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiaW5kZXgiLGUsMCkseS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoImluZGV4IixlLDEpLHkudHlwZU9mLm9iamVjdCgiY2FydGVzaWFuIixuKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbyksbz1ZdC5jbG9uZSh0LG8pLG9bZV09bi54LG9bZSsyXT1uLnksb307SjM9bmV3IHR0O1l0LnNldFNjYWxlPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVl0LmdldFNjYWxlKHQsSjMpLHI9ZS54L28ueCxpPWUueS9vLnk7cmV0dXJuIG5bMF09dFswXSpyLG5bMV09dFsxXSpyLG5bMl09dFsyXSppLG5bM109dFszXSppLG59O3RQPW5ldyB0dDtZdC5zZXRVbmlmb3JtU2NhbGU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbik7bGV0IG89WXQuZ2V0U2NhbGUodCx0UCkscj1lL28ueCxpPWUvby55O3JldHVybiBuWzBdPXRbMF0qcixuWzFdPXRbMV0qcixuWzJdPXRbMl0qaSxuWzNdPXRbM10qaSxufTtsYj1uZXcgdHQ7WXQuZ2V0U2NhbGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlLng9dHQubWFnbml0dWRlKHR0LmZyb21FbGVtZW50cyh0WzBdLHRbMV0sbGIpKSxlLnk9dHQubWFnbml0dWRlKHR0LmZyb21FbGVtZW50cyh0WzJdLHRbM10sbGIpKSxlfTtwYj1uZXcgdHQ7WXQuZ2V0TWF4aW11bVNjYWxlPWZ1bmN0aW9uKHQpe3JldHVybiBZdC5nZXRTY2FsZSh0LHBiKSx0dC5tYXhpbXVtQ29tcG9uZW50KHBiKX07ZVA9bmV3IHR0O1l0LnNldFJvdGF0aW9uPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPVl0LmdldFNjYWxlKHQsZVApO3JldHVybiBuWzBdPWVbMF0qby54LG5bMV09ZVsxXSpvLngsblsyXT1lWzJdKm8ueSxuWzNdPWVbM10qby55LG59O25QPW5ldyB0dDtZdC5nZXRSb3RhdGlvbj1mdW5jdGlvbih0LGUpe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSk7bGV0IG49WXQuZ2V0U2NhbGUodCxuUCk7cmV0dXJuIGVbMF09dFswXS9uLngsZVsxXT10WzFdL24ueCxlWzJdPXRbMl0vbi55LGVbM109dFszXS9uLnksZX07WXQubXVsdGlwbHk9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0qZVswXSt0WzJdKmVbMV0scj10WzBdKmVbMl0rdFsyXSplWzNdLGk9dFsxXSplWzBdK3RbM10qZVsxXSxzPXRbMV0qZVsyXSt0WzNdKmVbM107cmV0dXJuIG5bMF09byxuWzFdPWksblsyXT1yLG5bM109cyxufTtZdC5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0rZVswXSxuWzFdPXRbMV0rZVsxXSxuWzJdPXRbMl0rZVsyXSxuWzNdPXRbM10rZVszXSxufTtZdC5zdWJ0cmFjdD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXS1lWzBdLG5bMV09dFsxXS1lWzFdLG5bMl09dFsyXS1lWzJdLG5bM109dFszXS1lWzNdLG59O1l0Lm11bHRpcGx5QnlWZWN0b3I9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pO2xldCBvPXRbMF0qZS54K3RbMl0qZS55LHI9dFsxXSplLngrdFszXSplLnk7cmV0dXJuIG4ueD1vLG4ueT1yLG59O1l0Lm11bHRpcGx5QnlTY2FsYXI9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuWzBdPXRbMF0qZSxuWzFdPXRbMV0qZSxuWzJdPXRbMl0qZSxuWzNdPXRbM10qZSxufTtZdC5tdWx0aXBseUJ5U2NhbGU9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJzY2FsZSIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG5bMF09dFswXSplLngsblsxXT10WzFdKmUueCxuWzJdPXRbMl0qZS55LG5bM109dFszXSplLnksbn07WXQubXVsdGlwbHlCeVVuaWZvcm1TY2FsZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5udW1iZXIoInNjYWxlIixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksblswXT10WzBdKmUsblsxXT10WzFdKmUsblsyXT10WzJdKmUsblszXT10WzNdKmUsbn07WXQubmVnYXRlPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibWF0cml4Iix0KSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsZSksZVswXT0tdFswXSxlWzFdPS10WzFdLGVbMl09LXRbMl0sZVszXT0tdFszXSxlfTtZdC50cmFuc3Bvc2U9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoIm1hdHJpeCIsdCkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLGUpO2xldCBuPXRbMF0sbz10WzJdLHI9dFsxXSxpPXRbM107cmV0dXJuIGVbMF09bixlWzFdPW8sZVsyXT1yLGVbM109aSxlfTtZdC5hYnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJtYXRyaXgiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSxlWzBdPU1hdGguYWJzKHRbMF0pLGVbMV09TWF0aC5hYnModFsxXSksZVsyXT1NYXRoLmFicyh0WzJdKSxlWzNdPU1hdGguYWJzKHRbM10pLGV9O1l0LmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmdFswXT09PWVbMF0mJnRbMV09PT1lWzFdJiZ0WzJdPT09ZVsyXSYmdFszXT09PWVbM119O1l0LmVxdWFsc0FycmF5PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdFswXT09PWVbbl0mJnRbMV09PT1lW24rMV0mJnRbMl09PT1lW24rMl0mJnRbM109PT1lW24rM119O1l0LmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiBuPXgobiwwKSx0PT09ZXx8aCh0KSYmaChlKSYmTWF0aC5hYnModFswXS1lWzBdKTw9biYmTWF0aC5hYnModFsxXS1lWzFdKTw9biYmTWF0aC5hYnModFsyXS1lWzJdKTw9biYmTWF0aC5hYnModFszXS1lWzNdKTw9bn07WXQuSURFTlRJVFk9T2JqZWN0LmZyZWV6ZShuZXcgWXQoMSwwLDAsMSkpO1l0LlpFUk89T2JqZWN0LmZyZWV6ZShuZXcgWXQoMCwwLDAsMCkpO1l0LkNPTFVNTjBST1cwPTA7WXQuQ09MVU1OMFJPVzE9MTtZdC5DT0xVTU4xUk9XMD0yO1l0LkNPTFVNTjFST1cxPTM7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoWXQucHJvdG90eXBlLHtsZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiBZdC5wYWNrZWRMZW5ndGh9fX0pO1l0LnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gWXQuY2xvbmUodGhpcyx0KX07WXQucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gWXQuZXF1YWxzKHRoaXMsdCl9O1l0LnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIFl0LmVxdWFsc0Vwc2lsb24odGhpcyx0LGUpfTtZdC5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5gKCR7dGhpc1swXX0sICR7dGhpc1syXX0pCigke3RoaXNbMV19LCAke3RoaXNbM119KWB9O1lvPVl0fSk7dmFyIG1vLEJ0LHRuPVooKCk9PnskcygpO21vPXtQT0lOVFM6cXQuUE9JTlRTLExJTkVTOnF0LkxJTkVTLExJTkVfTE9PUDpxdC5MSU5FX0xPT1AsTElORV9TVFJJUDpxdC5MSU5FX1NUUklQLFRSSUFOR0xFUzpxdC5UUklBTkdMRVMsVFJJQU5HTEVfU1RSSVA6cXQuVFJJQU5HTEVfU1RSSVAsVFJJQU5HTEVfRkFOOnF0LlRSSUFOR0xFX0ZBTn07bW8uaXNMaW5lcz1mdW5jdGlvbih0KXtyZXR1cm4gdD09PW1vLkxJTkVTfHx0PT09bW8uTElORV9MT09QfHx0PT09bW8uTElORV9TVFJJUH07bW8uaXNUcmlhbmdsZXM9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1tby5UUklBTkdMRVN8fHQ9PT1tby5UUklBTkdMRV9TVFJJUHx8dD09PW1vLlRSSUFOR0xFX0ZBTn07bW8udmFsaWRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1tby5QT0lOVFN8fHQ9PT1tby5MSU5FU3x8dD09PW1vLkxJTkVfTE9PUHx8dD09PW1vLkxJTkVfU1RSSVB8fHQ9PT1tby5UUklBTkdMRVN8fHQ9PT1tby5UUklBTkdMRV9TVFJJUHx8dD09PW1vLlRSSUFOR0xFX0ZBTn07QnQ9T2JqZWN0LmZyZWV6ZShtbyl9KTtmdW5jdGlvbiBJaCh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCkseS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLmF0dHJpYnV0ZXMiLHQuYXR0cmlidXRlcyksdGhpcy5hdHRyaWJ1dGVzPXQuYXR0cmlidXRlcyx0aGlzLmluZGljZXM9dC5pbmRpY2VzLHRoaXMucHJpbWl0aXZlVHlwZT14KHQucHJpbWl0aXZlVHlwZSxCdC5UUklBTkdMRVMpLHRoaXMuYm91bmRpbmdTcGhlcmU9dC5ib3VuZGluZ1NwaGVyZSx0aGlzLmdlb21ldHJ5VHlwZT14KHQuZ2VvbWV0cnlUeXBlLE1pLk5PTkUpLHRoaXMuYm91bmRpbmdTcGhlcmVDVj10LmJvdW5kaW5nU3BoZXJlQ1YsdGhpcy5vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGV9dmFyIG9QLHJQLGRiLGlQLHNQLGNQLGFQLGZQLHVQLGxQLFV0LFhlPVooKCk9PntVZSgpO0Z0KCk7SWUoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO0lwKCk7QWYoKTtCbigpO1VuKCk7dG4oKTtLbygpO3duKCk7Y3MoKTtJaC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcz1mdW5jdGlvbih0KXt5LnR5cGVPZi5vYmplY3QoImdlb21ldHJ5Iix0KTtsZXQgZT0tMTtmb3IobGV0IG4gaW4gdC5hdHRyaWJ1dGVzKWlmKHQuYXR0cmlidXRlcy5oYXNPd25Qcm9wZXJ0eShuKSYmaCh0LmF0dHJpYnV0ZXNbbl0pJiZoKHQuYXR0cmlidXRlc1tuXS52YWx1ZXMpKXtsZXQgbz10LmF0dHJpYnV0ZXNbbl0scj1vLnZhbHVlcy5sZW5ndGgvby5jb21wb25lbnRzUGVyQXR0cmlidXRlO2lmKGUhPT1yJiZlIT09LTEpdGhyb3cgbmV3IEIoIkFsbCBhdHRyaWJ1dGUgbGlzdHMgbXVzdCBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBhdHRyaWJ1dGVzLiIpO2U9cn1yZXR1cm4gZX07b1A9bmV3IGN0LHJQPW5ldyBhLGRiPW5ldyBzdCxpUD1bbmV3IGN0LG5ldyBjdCxuZXcgY3RdLHNQPVtuZXcgdHQsbmV3IHR0LG5ldyB0dF0sY1A9W25ldyB0dCxuZXcgdHQsbmV3IHR0XSxhUD1uZXcgYSxmUD1uZXcgZWUsdVA9bmV3IHN0LGxQPW5ldyBZbztJaC5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50cz1mdW5jdGlvbih0LGUsbixvKXtsZXQgcixpPU50LmNlbnRlcihvLG9QKSxzPWN0LnRvQ2FydGVzaWFuKGksbixyUCksZj1Yby5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZShzLG4sZGIpLHU9c3QuaW52ZXJzZShmLGRiKSxjPXNQLGw9aVA7bFswXS5sb25naXR1ZGU9by53ZXN0LGxbMF0ubGF0aXR1ZGU9by5zb3V0aCxsWzFdLmxvbmdpdHVkZT1vLndlc3QsbFsxXS5sYXRpdHVkZT1vLm5vcnRoLGxbMl0ubG9uZ2l0dWRlPW8uZWFzdCxsWzJdLmxhdGl0dWRlPW8uc291dGg7bGV0IHA9YVA7Zm9yKHI9MDtyPDM7cisrKWN0LnRvQ2FydGVzaWFuKGxbcl0sbixwKSxwPXN0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yKHUscCxwKSxjW3JdLng9cC54LGNbcl0ueT1wLnk7bGV0IGQ9ZWUuZnJvbUF4aXNBbmdsZShhLlVOSVRfWiwtZSxmUCksbT1RLmZyb21RdWF0ZXJuaW9uKGQsdVApLF89dC5sZW5ndGgsZz1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksYj1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksVD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksTz1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7Zm9yKHI9MDtyPF87cisrKXA9c3QubXVsdGlwbHlCeVBvaW50QXNWZWN0b3IodSx0W3JdLHApLHA9US5tdWx0aXBseUJ5VmVjdG9yKG0scCxwKSxnPU1hdGgubWluKGcscC54KSxiPU1hdGgubWluKGIscC55KSxUPU1hdGgubWF4KFQscC54KSxPPU1hdGgubWF4KE8scC55KTtsZXQgRT1Zby5mcm9tUm90YXRpb24oZSxsUCksdz1jUDt3WzBdLng9Zyx3WzBdLnk9Yix3WzFdLng9Zyx3WzFdLnk9Tyx3WzJdLng9VCx3WzJdLnk9YjtsZXQgQz1jWzBdLE49Y1syXS54LUMueCxJPWNbMV0ueS1DLnk7Zm9yKHI9MDtyPDM7cisrKXtsZXQgQT13W3JdO1lvLm11bHRpcGx5QnlWZWN0b3IoRSxBLEEpLEEueD0oQS54LUMueCkvTixBLnk9KEEueS1DLnkpL0l9bGV0IEQ9d1swXSx2PXdbMV0sTD13WzJdLFU9bmV3IEFycmF5KDYpO3JldHVybiB0dC5wYWNrKEQsVSksdHQucGFjayh2LFUsMiksdHQucGFjayhMLFUsNCksVX07VXQ9SWh9KTtmdW5jdGlvbiBwUCh0KXtpZih0PXgodCx4LkVNUFRZX09CSkVDVCksIWgodC5jb21wb25lbnREYXRhdHlwZSkpdGhyb3cgbmV3IEIoIm9wdGlvbnMuY29tcG9uZW50RGF0YXR5cGUgaXMgcmVxdWlyZWQuIik7aWYoIWgodC5jb21wb25lbnRzUGVyQXR0cmlidXRlKSl0aHJvdyBuZXcgQigib3B0aW9ucy5jb21wb25lbnRzUGVyQXR0cmlidXRlIGlzIHJlcXVpcmVkLiIpO2lmKHQuY29tcG9uZW50c1BlckF0dHJpYnV0ZTwxfHx0LmNvbXBvbmVudHNQZXJBdHRyaWJ1dGU+NCl0aHJvdyBuZXcgQigib3B0aW9ucy5jb21wb25lbnRzUGVyQXR0cmlidXRlIG11c3QgYmUgYmV0d2VlbiAxIGFuZCA0LiIpO2lmKCFoKHQudmFsdWVzKSl0aHJvdyBuZXcgQigib3B0aW9ucy52YWx1ZXMgaXMgcmVxdWlyZWQuIik7dGhpcy5jb21wb25lbnREYXRhdHlwZT10LmNvbXBvbmVudERhdGF0eXBlLHRoaXMuY29tcG9uZW50c1BlckF0dHJpYnV0ZT10LmNvbXBvbmVudHNQZXJBdHRyaWJ1dGUsdGhpcy5ub3JtYWxpemU9eCh0Lm5vcm1hbGl6ZSwhMSksdGhpcy52YWx1ZXM9dC52YWx1ZXN9dmFyIGl0LFllPVooKCk9PntJdCgpO2Z0KCk7SHQoKTtpdD1wUH0pO2Z1bmN0aW9uIGRQKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx0aGlzLnBvc2l0aW9uPXQucG9zaXRpb24sdGhpcy5ub3JtYWw9dC5ub3JtYWwsdGhpcy5zdD10LnN0LHRoaXMuYml0YW5nZW50PXQuYml0YW5nZW50LHRoaXMudGFuZ2VudD10LnRhbmdlbnQsdGhpcy5jb2xvcj10LmNvbG9yfXZhciBpZSxhbj1aKCgpPT57SXQoKTtpZT1kUH0pO3ZhciBIZSxtYixoYj1aKCgpPT57VWUoKTtGdCgpO2hyKCk7WHQoKTtIdCgpO0FmKCk7Qm4oKTtVbigpO0hlPXtTQ0FMQVI6IlNDQUxBUiIsVkVDMjoiVkVDMiIsVkVDMzoiVkVDMyIsVkVDNDoiVkVDNCIsTUFUMjoiTUFUMiIsTUFUMzoiTUFUMyIsTUFUNDoiTUFUNCJ9O0hlLmdldE1hdGhUeXBlPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIEhlLlNDQUxBUjpyZXR1cm4gTnVtYmVyO2Nhc2UgSGUuVkVDMjpyZXR1cm4gdHQ7Y2FzZSBIZS5WRUMzOnJldHVybiBhO2Nhc2UgSGUuVkVDNDpyZXR1cm4gaGU7Y2FzZSBIZS5NQVQyOnJldHVybiBZbztjYXNlIEhlLk1BVDM6cmV0dXJuIFE7Y2FzZSBIZS5NQVQ0OnJldHVybiBzdDtkZWZhdWx0OnRocm93IG5ldyBCKCJhdHRyaWJ1dGVUeXBlIGlzIG5vdCBhIHZhbGlkIHZhbHVlLiIpfX07SGUuZ2V0TnVtYmVyT2ZDb21wb25lbnRzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIEhlLlNDQUxBUjpyZXR1cm4gMTtjYXNlIEhlLlZFQzI6cmV0dXJuIDI7Y2FzZSBIZS5WRUMzOnJldHVybiAzO2Nhc2UgSGUuVkVDNDpjYXNlIEhlLk1BVDI6cmV0dXJuIDQ7Y2FzZSBIZS5NQVQzOnJldHVybiA5O2Nhc2UgSGUuTUFUNDpyZXR1cm4gMTY7ZGVmYXVsdDp0aHJvdyBuZXcgQigiYXR0cmlidXRlVHlwZSBpcyBub3QgYSB2YWxpZCB2YWx1ZS4iKX19O0hlLmdldEF0dHJpYnV0ZUxvY2F0aW9uQ291bnQ9ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2UgSGUuU0NBTEFSOmNhc2UgSGUuVkVDMjpjYXNlIEhlLlZFQzM6Y2FzZSBIZS5WRUM0OnJldHVybiAxO2Nhc2UgSGUuTUFUMjpyZXR1cm4gMjtjYXNlIEhlLk1BVDM6cmV0dXJuIDM7Y2FzZSBIZS5NQVQ0OnJldHVybiA0O2RlZmF1bHQ6dGhyb3cgbmV3IEIoImF0dHJpYnV0ZVR5cGUgaXMgbm90IGEgdmFsaWQgdmFsdWUuIil9fTtIZS5nZXRHbHNsVHlwZT1mdW5jdGlvbih0KXtzd2l0Y2goeS50eXBlT2Yuc3RyaW5nKCJhdHRyaWJ1dGVUeXBlIix0KSx0KXtjYXNlIEhlLlNDQUxBUjpyZXR1cm4iZmxvYXQiO2Nhc2UgSGUuVkVDMjpyZXR1cm4idmVjMiI7Y2FzZSBIZS5WRUMzOnJldHVybiJ2ZWMzIjtjYXNlIEhlLlZFQzQ6cmV0dXJuInZlYzQiO2Nhc2UgSGUuTUFUMjpyZXR1cm4ibWF0MiI7Y2FzZSBIZS5NQVQzOnJldHVybiJtYXQzIjtjYXNlIEhlLk1BVDQ6cmV0dXJuIm1hdDQiO2RlZmF1bHQ6dGhyb3cgbmV3IEIoImF0dHJpYnV0ZVR5cGUgaXMgbm90IGEgdmFsaWQgdmFsdWUuIil9fTttYj1PYmplY3QuZnJlZXplKEhlKX0pO2Z1bmN0aW9uIHZwKHQpe3JldHVybiBnYlswXT10LGdiWzBdfWZ1bmN0aW9uIHZoKHQpe3JldHVybiB0Pj4xXi0odCYxKX12YXIgX2IseWIsZW4sYmYsZ2IsTGgsbm4sYXM9WigoKT0+e1VlKCk7RnQoKTtGZSgpO1h0KCk7ZnQoKTtIdCgpO1d0KCk7aGIoKTtfYj0xLzI1Nix5Yj0yNTYsZW49e307ZW4ub2N0RW5jb2RlSW5SYW5nZT1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJ2ZWN0b3IiLHQpLHkuZGVmaW5lZCgicmVzdWx0IixuKTtsZXQgbz1hLm1hZ25pdHVkZVNxdWFyZWQodCk7aWYoTWF0aC5hYnMoby0xKT5NLkVQU0lMT042KXRocm93IG5ldyBCKCJ2ZWN0b3IgbXVzdCBiZSBub3JtYWxpemVkLiIpO2lmKG4ueD10LngvKE1hdGguYWJzKHQueCkrTWF0aC5hYnModC55KStNYXRoLmFicyh0LnopKSxuLnk9dC55LyhNYXRoLmFicyh0LngpK01hdGguYWJzKHQueSkrTWF0aC5hYnModC56KSksdC56PDApe2xldCByPW4ueCxpPW4ueTtuLng9KDEtTWF0aC5hYnMoaSkpKk0uc2lnbk5vdFplcm8ociksbi55PSgxLU1hdGguYWJzKHIpKSpNLnNpZ25Ob3RaZXJvKGkpfXJldHVybiBuLng9TS50b1NOb3JtKG4ueCxlKSxuLnk9TS50b1NOb3JtKG4ueSxlKSxufTtlbi5vY3RFbmNvZGU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gZW4ub2N0RW5jb2RlSW5SYW5nZSh0LDI1NSxlKX07YmY9bmV3IHR0LGdiPW5ldyBVaW50OEFycmF5KDEpO2VuLm9jdEVuY29kZVRvQ2FydGVzaWFuND1mdW5jdGlvbih0LGUpe3JldHVybiBlbi5vY3RFbmNvZGVJblJhbmdlKHQsNjU1MzUsYmYpLGUueD12cChiZi54Kl9iKSxlLnk9dnAoYmYueCksZS56PXZwKGJmLnkqX2IpLGUudz12cChiZi55KSxlfTtlbi5vY3REZWNvZGVJblJhbmdlPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKHkuZGVmaW5lZCgicmVzdWx0IixvKSx0PDB8fHQ+bnx8ZTwwfHxlPm4pdGhyb3cgbmV3IEIoYHggYW5kIHkgbXVzdCBiZSB1bnNpZ25lZCBub3JtYWxpemVkIGludGVnZXJzIGJldHdlZW4gMCBhbmQgJHtufWApO2lmKG8ueD1NLmZyb21TTm9ybSh0LG4pLG8ueT1NLmZyb21TTm9ybShlLG4pLG8uej0xLShNYXRoLmFicyhvLngpK01hdGguYWJzKG8ueSkpLG8uejwwKXtsZXQgcj1vLng7by54PSgxLU1hdGguYWJzKG8ueSkpKk0uc2lnbk5vdFplcm8ociksby55PSgxLU1hdGguYWJzKHIpKSpNLnNpZ25Ob3RaZXJvKG8ueSl9cmV0dXJuIGEubm9ybWFsaXplKG8sbyl9O2VuLm9jdERlY29kZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGVuLm9jdERlY29kZUluUmFuZ2UodCxlLDI1NSxuKX07ZW4ub2N0RGVjb2RlRnJvbUNhcnRlc2lhbjQ9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImVuY29kZWQiLHQpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKTtsZXQgbj10Lngsbz10Lnkscj10LnosaT10Lnc7aWYobjwwfHxuPjI1NXx8bzwwfHxvPjI1NXx8cjwwfHxyPjI1NXx8aTwwfHxpPjI1NSl0aHJvdyBuZXcgQigieCwgeSwgeiwgYW5kIHcgbXVzdCBiZSB1bnNpZ25lZCBub3JtYWxpemVkIGludGVnZXJzIGJldHdlZW4gMCBhbmQgMjU1Iik7bGV0IHM9bip5YitvLGY9cip5YitpO3JldHVybiBlbi5vY3REZWNvZGVJblJhbmdlKHMsZiw2NTUzNSxlKX07ZW4ub2N0UGFja0Zsb2F0PWZ1bmN0aW9uKHQpe3JldHVybiB5LmRlZmluZWQoImVuY29kZWQiLHQpLDI1Nip0LngrdC55fTtMaD1uZXcgdHQ7ZW4ub2N0RW5jb2RlRmxvYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIGVuLm9jdEVuY29kZSh0LExoKSxlbi5vY3RQYWNrRmxvYXQoTGgpfTtlbi5vY3REZWNvZGVGbG9hdD1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgidmFsdWUiLHQpO2xldCBuPXQvMjU2LG89TWF0aC5mbG9vcihuKSxyPShuLW8pKjI1NjtyZXR1cm4gZW4ub2N0RGVjb2RlKG8scixlKX07ZW4ub2N0UGFjaz1mdW5jdGlvbih0LGUsbixvKXt5LmRlZmluZWQoInYxIix0KSx5LmRlZmluZWQoInYyIixlKSx5LmRlZmluZWQoInYzIixuKSx5LmRlZmluZWQoInJlc3VsdCIsbyk7bGV0IHI9ZW4ub2N0RW5jb2RlRmxvYXQodCksaT1lbi5vY3RFbmNvZGVGbG9hdChlKSxzPWVuLm9jdEVuY29kZShuLExoKTtyZXR1cm4gby54PTY1NTM2KnMueCtyLG8ueT02NTUzNipzLnkraSxvfTtlbi5vY3RVbnBhY2s9ZnVuY3Rpb24odCxlLG4sbyl7eS5kZWZpbmVkKCJwYWNrZWQiLHQpLHkuZGVmaW5lZCgidjEiLGUpLHkuZGVmaW5lZCgidjIiLG4pLHkuZGVmaW5lZCgidjMiLG8pO2xldCByPXQueC82NTUzNixpPU1hdGguZmxvb3Iocikscz0oci1pKSo2NTUzNjtyPXQueS82NTUzNjtsZXQgZj1NYXRoLmZsb29yKHIpLHU9KHItZikqNjU1MzY7ZW4ub2N0RGVjb2RlRmxvYXQocyxlKSxlbi5vY3REZWNvZGVGbG9hdCh1LG4pLGVuLm9jdERlY29kZShpLGYsbyl9O2VuLmNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzPWZ1bmN0aW9uKHQpe3kuZGVmaW5lZCgidGV4dHVyZUNvb3JkaW5hdGVzIix0KTtsZXQgZT10LngqNDA5NXwwLG49dC55KjQwOTV8MDtyZXR1cm4gNDA5NiplK259O2VuLmRlY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXM9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNvbXByZXNzZWQiLHQpLHkuZGVmaW5lZCgicmVzdWx0IixlKTtsZXQgbj10LzQwOTYsbz1NYXRoLmZsb29yKG4pO3JldHVybiBlLng9by80MDk1LGUueT0odC1vKjQwOTYpLzQwOTUsZX07ZW4uemlnWmFnRGVsdGFEZWNvZGU9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgidUJ1ZmZlciIsdCkseS5kZWZpbmVkKCJ2QnVmZmVyIixlKSx5LnR5cGVPZi5udW1iZXIuZXF1YWxzKCJ1QnVmZmVyLmxlbmd0aCIsInZCdWZmZXIubGVuZ3RoIix0Lmxlbmd0aCxlLmxlbmd0aCksaChuKSYmeS50eXBlT2YubnVtYmVyLmVxdWFscygidUJ1ZmZlci5sZW5ndGgiLCJoZWlnaHRCdWZmZXIubGVuZ3RoIix0Lmxlbmd0aCxuLmxlbmd0aCk7bGV0IG89dC5sZW5ndGgscj0wLGk9MCxzPTA7Zm9yKGxldCBmPTA7ZjxvOysrZilyKz12aCh0W2ZdKSxpKz12aChlW2ZdKSx0W2ZdPXIsZVtmXT1pLGgobikmJihzKz12aChuW2ZdKSxuW2ZdPXMpfTtlbi5kZXF1YW50aXplPWZ1bmN0aW9uKHQsZSxuLG8pe3kuZGVmaW5lZCgidHlwZWRBcnJheSIsdCkseS5kZWZpbmVkKCJjb21wb25lbnREYXRhdHlwZSIsZSkseS5kZWZpbmVkKCJ0eXBlIixuKSx5LmRlZmluZWQoImNvdW50IixvKTtsZXQgcj1tYi5nZXROdW1iZXJPZkNvbXBvbmVudHMobiksaTtzd2l0Y2goZSl7Y2FzZSBudC5CWVRFOmk9MTI3O2JyZWFrO2Nhc2UgbnQuVU5TSUdORURfQllURTppPTI1NTticmVhaztjYXNlIG50LlNIT1JUOmk9MzI3Njc7YnJlYWs7Y2FzZSBudC5VTlNJR05FRF9TSE9SVDppPTY1NTM1O2JyZWFrO2Nhc2UgbnQuSU5UOmk9MjE0NzQ4MzY0NzticmVhaztjYXNlIG50LlVOU0lHTkVEX0lOVDppPTQyOTQ5NjcyOTU7YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgQihgQ2Fubm90IGRlcXVhbnRpemUgY29tcG9uZW50IGRhdGF0eXBlOiAke2V9YCl9bGV0IHM9bmV3IEZsb2F0MzJBcnJheShvKnIpO2ZvcihsZXQgZj0wO2Y8bztmKyspZm9yKGxldCB1PTA7dTxyO3UrKyl7bGV0IGM9ZipyK3U7c1tjXT1NYXRoLm1heCh0W2NdL2ksLTEpfXJldHVybiBzfTtlbi5kZWNvZGVSR0I1NjU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoInR5cGVkQXJyYXkiLHQpO2xldCBuPXQubGVuZ3RoKjM7aChlKSYmeS50eXBlT2YubnVtYmVyLmVxdWFscygicmVzdWx0Lmxlbmd0aCIsInR5cGVkQXJyYXkubGVuZ3RoICogMyIsZS5sZW5ndGgsbik7bGV0IG89dC5sZW5ndGg7aChlKXx8KGU9bmV3IEZsb2F0MzJBcnJheShvKjMpKTtsZXQgcj0zMSxpPTYzLHM9MS8zMSxmPTEvNjM7Zm9yKGxldCB1PTA7dTxvO3UrKyl7bGV0IGM9dFt1XSxsPWM+PjExLHA9Yz4+NSZpLGQ9YyZyLG09Myp1O2VbbV09bCpzLGVbbSsxXT1wKmYsZVttKzJdPWQqc31yZXR1cm4gZX07bm49ZW59KTtmdW5jdGlvbiBtUCh0LGUsbixvLHIpe3kuZGVmaW5lZCgicG9pbnQiLHQpLHkuZGVmaW5lZCgicDAiLGUpLHkuZGVmaW5lZCgicDEiLG4pLHkuZGVmaW5lZCgicDIiLG8pLGgocil8fChyPW5ldyBhKTtsZXQgaSxzLGYsdSxjLGwscCxkO2lmKGgoZS56KSl7aWYoYS5lcXVhbHNFcHNpbG9uKHQsZSxNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1gscik7aWYoYS5lcXVhbHNFcHNpbG9uKHQsbixNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1kscik7aWYoYS5lcXVhbHNFcHNpbG9uKHQsbyxNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1oscik7aT1hLnN1YnRyYWN0KG4sZSxBYikscz1hLnN1YnRyYWN0KG8sZSxiYiksZj1hLnN1YnRyYWN0KHQsZSxUYiksdT1hLmRvdChpLGkpLGM9YS5kb3QoaSxzKSxsPWEuZG90KGksZikscD1hLmRvdChzLHMpLGQ9YS5kb3QocyxmKX1lbHNle2lmKHR0LmVxdWFsc0Vwc2lsb24odCxlLE0uRVBTSUxPTjE0KSlyZXR1cm4gYS5jbG9uZShhLlVOSVRfWCxyKTtpZih0dC5lcXVhbHNFcHNpbG9uKHQsbixNLkVQU0lMT04xNCkpcmV0dXJuIGEuY2xvbmUoYS5VTklUX1kscik7aWYodHQuZXF1YWxzRXBzaWxvbih0LG8sTS5FUFNJTE9OMTQpKXJldHVybiBhLmNsb25lKGEuVU5JVF9aLHIpO2k9dHQuc3VidHJhY3QobixlLEFiKSxzPXR0LnN1YnRyYWN0KG8sZSxiYiksZj10dC5zdWJ0cmFjdCh0LGUsVGIpLHU9dHQuZG90KGksaSksYz10dC5kb3QoaSxzKSxsPXR0LmRvdChpLGYpLHA9dHQuZG90KHMscyksZD10dC5kb3QocyxmKX1yLnk9cCpsLWMqZCxyLno9dSpkLWMqbDtsZXQgbT11KnAtYypjO2lmKG0hPT0wKXJldHVybiByLnkvPW0sci56Lz1tLHIueD0xLXIueS1yLnoscn12YXIgQWIsYmIsVGIsd2IsT2I9WigoKT0+e1VlKCk7RnQoKTtYdCgpO2Z0KCk7V3QoKTtBYj1uZXcgYSxiYj1uZXcgYSxUYj1uZXcgYTt3Yj1tUH0pO2Z1bmN0aW9uIHJpKCl7dGhpcy5oaWdoPWEuY2xvbmUoYS5aRVJPKSx0aGlzLmxvdz1hLmNsb25lKGEuWkVSTyl9dmFyIE5pLERoLFpzLEZoPVooKCk9PntGdCgpO1h0KCk7ZnQoKTtyaS5lbmNvZGU9ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5udW1iZXIoInZhbHVlIix0KSxoKGUpfHwoZT17aGlnaDowLGxvdzowfSk7bGV0IG47cmV0dXJuIHQ+PTA/KG49TWF0aC5mbG9vcih0LzY1NTM2KSo2NTUzNixlLmhpZ2g9bixlLmxvdz10LW4pOihuPU1hdGguZmxvb3IoLXQvNjU1MzYpKjY1NTM2LGUuaGlnaD0tbixlLmxvdz10K24pLGV9O05pPXtoaWdoOjAsbG93OjB9O3JpLmZyb21DYXJ0ZXNpYW49ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImNhcnRlc2lhbiIsdCksaChlKXx8KGU9bmV3IHJpKTtsZXQgbj1lLmhpZ2gsbz1lLmxvdztyZXR1cm4gcmkuZW5jb2RlKHQueCxOaSksbi54PU5pLmhpZ2gsby54PU5pLmxvdyxyaS5lbmNvZGUodC55LE5pKSxuLnk9TmkuaGlnaCxvLnk9TmkubG93LHJpLmVuY29kZSh0LnosTmkpLG4uej1OaS5oaWdoLG8uej1OaS5sb3csZX07RGg9bmV3IHJpO3JpLndyaXRlRWxlbWVudHM9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiY2FydGVzaWFuQXJyYXkiLGUpLHkudHlwZU9mLm51bWJlcigiaW5kZXgiLG4pLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRleCIsbiwwKSxyaS5mcm9tQ2FydGVzaWFuKHQsRGgpO2xldCBvPURoLmhpZ2gscj1EaC5sb3c7ZVtuXT1vLngsZVtuKzFdPW8ueSxlW24rMl09by56LGVbbiszXT1yLngsZVtuKzRdPXIueSxlW24rNV09ci56fTtacz1yaX0pO3ZhciB0byxEdCwkZT1aKCgpPT57ZnQoKTtIdCgpO1d0KCk7JHMoKTt0bz17VU5TSUdORURfQllURTpxdC5VTlNJR05FRF9CWVRFLFVOU0lHTkVEX1NIT1JUOnF0LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDpxdC5VTlNJR05FRF9JTlR9O3RvLmdldFNpemVJbkJ5dGVzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIHRvLlVOU0lHTkVEX0JZVEU6cmV0dXJuIFVpbnQ4QXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7Y2FzZSB0by5VTlNJR05FRF9TSE9SVDpyZXR1cm4gVWludDE2QXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7Y2FzZSB0by5VTlNJR05FRF9JTlQ6cmV0dXJuIFVpbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5UfXRocm93IG5ldyBCKCJpbmRleERhdGF0eXBlIGlzIHJlcXVpcmVkIGFuZCBtdXN0IGJlIGEgdmFsaWQgSW5kZXhEYXRhdHlwZSBjb25zdGFudC4iKX07dG8uZnJvbVNpemVJbkJ5dGVzPWZ1bmN0aW9uKHQpe3N3aXRjaCh0KXtjYXNlIDI6cmV0dXJuIHRvLlVOU0lHTkVEX1NIT1JUO2Nhc2UgNDpyZXR1cm4gdG8uVU5TSUdORURfSU5UO2Nhc2UgMTpyZXR1cm4gdG8uVU5TSUdORURfQllURTtkZWZhdWx0OnRocm93IG5ldyBCKCJTaXplIGluIGJ5dGVzIGNhbm5vdCBiZSBtYXBwZWQgdG8gYW4gSW5kZXhEYXRhdHlwZSIpfX07dG8udmFsaWRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIGgodCkmJih0PT09dG8uVU5TSUdORURfQllURXx8dD09PXRvLlVOU0lHTkVEX1NIT1JUfHx0PT09dG8uVU5TSUdORURfSU5UKX07dG8uY3JlYXRlVHlwZWRBcnJheT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJudW1iZXJPZlZlcnRpY2VzIGlzIHJlcXVpcmVkLiIpO3JldHVybiB0Pj1NLlNJWFRZX0ZPVVJfS0lMT0JZVEVTP25ldyBVaW50MzJBcnJheShlKTpuZXcgVWludDE2QXJyYXkoZSl9O3RvLmNyZWF0ZVR5cGVkQXJyYXlGcm9tQXJyYXlCdWZmZXI9ZnVuY3Rpb24odCxlLG4sbyl7aWYoIWgodCkpdGhyb3cgbmV3IEIoIm51bWJlck9mVmVydGljZXMgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoInNvdXJjZUFycmF5IGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJieXRlT2Zmc2V0IGlzIHJlcXVpcmVkLiIpO3JldHVybiB0Pj1NLlNJWFRZX0ZPVVJfS0lMT0JZVEVTP25ldyBVaW50MzJBcnJheShlLG4sbyk6bmV3IFVpbnQxNkFycmF5KGUsbixvKX07dG8uZnJvbVR5cGVkQXJyYXk9ZnVuY3Rpb24odCl7aWYodCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpcmV0dXJuIHRvLlVOU0lHTkVEX0JZVEU7aWYodCBpbnN0YW5jZW9mIFVpbnQxNkFycmF5KXJldHVybiB0by5VTlNJR05FRF9TSE9SVDtpZih0IGluc3RhbmNlb2YgVWludDMyQXJyYXkpcmV0dXJuIHRvLlVOU0lHTkVEX0lOVDt0aHJvdyBuZXcgQigiYXJyYXkgbXVzdCBiZSBhIFVpbnQ4QXJyYXksIFVpbnQxNkFycmF5LCBvciBVaW50MzJBcnJheS4iKX07RHQ9T2JqZWN0LmZyZWV6ZSh0byl9KTtmdW5jdGlvbiBFYih0LGUsbil7bGV0IG89dCtlO3JldHVybiBNLnNpZ24odCkhPT1NLnNpZ24oZSkmJk1hdGguYWJzKG8vTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKTxuPzA6b312YXIgQmgsZ3IsTHA9WigoKT0+e0h0KCk7V3QoKTtCaD17fTtCaC5jb21wdXRlRGlzY3JpbWluYW50PWZ1bmN0aW9uKHQsZSxuKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEIoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBCKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgQigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtyZXR1cm4gZSplLTQqdCpufTtCaC5jb21wdXRlUmVhbFJvb3RzPWZ1bmN0aW9uKHQsZSxuKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEIoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBCKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgQigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtsZXQgbztpZih0PT09MClyZXR1cm4gZT09PTA/W106Wy1uL2VdO2lmKGU9PT0wKXtpZihuPT09MClyZXR1cm5bMCwwXTtsZXQgdT1NYXRoLmFicyhuKSxjPU1hdGguYWJzKHQpO2lmKHU8YyYmdS9jPE0uRVBTSUxPTjE0KXJldHVyblswLDBdO2lmKHU+YyYmYy91PE0uRVBTSUxPTjE0KXJldHVybltdO2lmKG89LW4vdCxvPDApcmV0dXJuW107bGV0IGw9TWF0aC5zcXJ0KG8pO3JldHVyblstbCxsXX1lbHNlIGlmKG49PT0wKXJldHVybiBvPS1lL3QsbzwwP1tvLDBdOlswLG9dO2xldCByPWUqZSxpPTQqdCpuLHM9RWIociwtaSxNLkVQU0lMT04xNCk7aWYoczwwKXJldHVybltdO2xldCBmPS0uNSpFYihlLE0uc2lnbihlKSpNYXRoLnNxcnQocyksTS5FUFNJTE9OMTQpO3JldHVybiBlPjA/W2YvdCxuL2ZdOltuL2YsZi90XX07Z3I9Qmh9KTtmdW5jdGlvbiBVaCh0LGUsbixvKXtsZXQgcj10LGk9ZS8zLHM9bi8zLGY9byx1PXIqcyxjPWkqZixsPWkqaSxwPXMqcyxkPXIqcy1sLG09cipmLWkqcyxfPWkqZi1wLGc9NCpkKl8tbSptLGIsVDtpZihnPDApe2xldCBSLG90LGF0O2wqYz49dSpwPyhSPXIsb3Q9ZCxhdD0tMippKmQrciptKTooUj1mLG90PV8sYXQ9LWYqbSsyKnMqXyk7bGV0IHl0PS0oYXQ8MD8tMToxKSpNYXRoLmFicyhSKSpNYXRoLnNxcnQoLWcpO1Q9LWF0K3l0O2xldCBydD1ULzIsUHQ9cnQ8MD8tTWF0aC5wb3coLXJ0LDEvMyk6TWF0aC5wb3cocnQsMS8zKSxndD1UPT09eXQ/LVB0Oi1vdC9QdDtyZXR1cm4gYj1vdDw9MD9QdCtndDotYXQvKFB0KlB0K2d0Kmd0K290KSxsKmM+PXUqcD9bKGItaSkvcl06Wy1mLyhiK3MpXX1sZXQgTz1kLEU9LTIqaSpkK3IqbSx3PV8sQz0tZiptKzIqcypfLE49TWF0aC5zcXJ0KGcpLEk9TWF0aC5zcXJ0KDMpLzIsRD1NYXRoLmFicyhNYXRoLmF0YW4yKHIqTiwtRSkvMyk7Yj0yKk1hdGguc3FydCgtTyk7bGV0IHY9TWF0aC5jb3MoRCk7VD1iKnY7bGV0IEw9YiooLXYvMi1JKk1hdGguc2luKEQpKSxVPVQrTD4yKmk/VC1pOkwtaSxBPXIsUz1VL0E7RD1NYXRoLmFicyhNYXRoLmF0YW4yKGYqTiwtQykvMyksYj0yKk1hdGguc3FydCgtdyksdj1NYXRoLmNvcyhEKSxUPWIqdixMPWIqKC12LzItSSpNYXRoLnNpbihEKSk7bGV0IFA9LWYsRj1UK0w8MipzP1QrczpMK3Msaj1QL0YsSD1BKkYsaz0tVSpGLUEqUCxLPVUqUCxYPShzKmstaSpLKS8oLWkqaytzKkgpO3JldHVybiBTPD1YP1M8PWo/WDw9aj9bUyxYLGpdOltTLGosWF06W2osUyxYXTpTPD1qP1tYLFMsal06WDw9aj9bWCxqLFNdOltqLFgsU119dmFyIFZoLERwLFJiPVooKCk9PntIdCgpO0xwKCk7Vmg9e307VmguY29tcHV0ZURpc2NyaW1pbmFudD1mdW5jdGlvbih0LGUsbixvKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEIoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBCKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgQigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgbyE9Im51bWJlciIpdGhyb3cgbmV3IEIoImQgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7bGV0IHI9dCp0LGk9ZSplLHM9bipuLGY9bypvO3JldHVybiAxOCp0KmUqbipvK2kqcy0yNypyKmYtNCoodCpzKm4raSplKm8pfTtWaC5jb21wdXRlUmVhbFJvb3RzPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKHR5cGVvZiB0IT0ibnVtYmVyIil0aHJvdyBuZXcgQigiYSBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgZSE9Im51bWJlciIpdGhyb3cgbmV3IEIoImIgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIG4hPSJudW1iZXIiKXRocm93IG5ldyBCKCJjIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBvIT0ibnVtYmVyIil0aHJvdyBuZXcgQigiZCBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtsZXQgcixpO2lmKHQ9PT0wKXJldHVybiBnci5jb21wdXRlUmVhbFJvb3RzKGUsbixvKTtpZihlPT09MCl7aWYobj09PTApe2lmKG89PT0wKXJldHVyblswLDAsMF07aT0tby90O2xldCBzPWk8MD8tTWF0aC5wb3coLWksMS8zKTpNYXRoLnBvdyhpLDEvMyk7cmV0dXJuW3MscyxzXX1lbHNlIGlmKG89PT0wKXJldHVybiByPWdyLmNvbXB1dGVSZWFsUm9vdHModCwwLG4pLHIuTGVuZ3RoPT09MD9bMF06W3JbMF0sMCxyWzFdXTtyZXR1cm4gVWgodCwwLG4sbyl9ZWxzZXtpZihuPT09MClyZXR1cm4gbz09PTA/KGk9LWUvdCxpPDA/W2ksMCwwXTpbMCwwLGldKTpVaCh0LGUsMCxvKTtpZihvPT09MClyZXR1cm4gcj1nci5jb21wdXRlUmVhbFJvb3RzKHQsZSxuKSxyLmxlbmd0aD09PTA/WzBdOnJbMV08PTA/W3JbMF0sclsxXSwwXTpyWzBdPj0wP1swLHJbMF0sclsxXV06W3JbMF0sMCxyWzFdXX1yZXR1cm4gVWgodCxlLG4sbyl9O0RwPVZofSk7ZnVuY3Rpb24gQnIodCxlLG4sbyl7bGV0IHI9dCp0LGk9ZS0zKnIvOCxzPW4tZSp0LzIrcip0LzgsZj1vLW4qdC80K2Uqci8xNi0zKnIqci8yNTYsdT1EcC5jb21wdXRlUmVhbFJvb3RzKDEsMippLGkqaS00KmYsLXMqcyk7aWYodS5sZW5ndGg+MCl7bGV0IGM9LXQvNCxsPXVbdS5sZW5ndGgtMV07aWYoTWF0aC5hYnMobCk8TS5FUFNJTE9OMTQpe2xldCBwPWdyLmNvbXB1dGVSZWFsUm9vdHMoMSxpLGYpO2lmKHAubGVuZ3RoPT09Mil7bGV0IGQ9cFswXSxtPXBbMV0sXztpZihkPj0wJiZtPj0wKXtsZXQgZz1NYXRoLnNxcnQoZCksYj1NYXRoLnNxcnQobSk7cmV0dXJuW2MtYixjLWcsYytnLGMrYl19ZWxzZXtpZihkPj0wJiZtPDApcmV0dXJuIF89TWF0aC5zcXJ0KGQpLFtjLV8sYytfXTtpZihkPDAmJm0+PTApcmV0dXJuIF89TWF0aC5zcXJ0KG0pLFtjLV8sYytfXX19cmV0dXJuW119ZWxzZSBpZihsPjApe2xldCBwPU1hdGguc3FydChsKSxkPShpK2wtcy9wKS8yLG09KGkrbCtzL3ApLzIsXz1nci5jb21wdXRlUmVhbFJvb3RzKDEscCxkKSxnPWdyLmNvbXB1dGVSZWFsUm9vdHMoMSwtcCxtKTtyZXR1cm4gXy5sZW5ndGghPT0wPyhfWzBdKz1jLF9bMV0rPWMsZy5sZW5ndGghPT0wPyhnWzBdKz1jLGdbMV0rPWMsX1sxXTw9Z1swXT9bX1swXSxfWzFdLGdbMF0sZ1sxXV06Z1sxXTw9X1swXT9bZ1swXSxnWzFdLF9bMF0sX1sxXV06X1swXT49Z1swXSYmX1sxXTw9Z1sxXT9bZ1swXSxfWzBdLF9bMV0sZ1sxXV06Z1swXT49X1swXSYmZ1sxXTw9X1sxXT9bX1swXSxnWzBdLGdbMV0sX1sxXV06X1swXT5nWzBdJiZfWzBdPGdbMV0/W2dbMF0sX1swXSxnWzFdLF9bMV1dOltfWzBdLGdbMF0sX1sxXSxnWzFdXSk6Xyk6Zy5sZW5ndGghPT0wPyhnWzBdKz1jLGdbMV0rPWMsZyk6W119fXJldHVybltdfWZ1bmN0aW9uIFRmKHQsZSxuLG8pe2xldCByPW4qbixpPWUqZSxzPXQqdCxmPS0yKmUsdT1uKnQraS00Km8sYz1zKm8tbiplKnQrcixsPURwLmNvbXB1dGVSZWFsUm9vdHMoMSxmLHUsYyk7aWYobC5sZW5ndGg+MCl7bGV0IHA9bFswXSxkPWUtcCxtPWQqZCxfPXQvMixnPWQvMixiPW0tNCpvLFQ9bSs0Kk1hdGguYWJzKG8pLE89cy00KnAsRT1zKzQqTWF0aC5hYnMocCksdyxDO2lmKHA8MHx8YipFPE8qVCl7bGV0IEE9TWF0aC5zcXJ0KE8pO3c9QS8yLEM9QT09PTA/MDoodCpnLW4pL0F9ZWxzZXtsZXQgQT1NYXRoLnNxcnQoYik7dz1BPT09MD8wOih0KmctbikvQSxDPUEvMn1sZXQgTixJO189PT0wJiZ3PT09MD8oTj0wLEk9MCk6TS5zaWduKF8pPT09TS5zaWduKHcpPyhOPV8rdyxJPXAvTik6KEk9Xy13LE49cC9JKTtsZXQgRCx2O2c9PT0wJiZDPT09MD8oRD0wLHY9MCk6TS5zaWduKGcpPT09TS5zaWduKEMpPyhEPWcrQyx2PW8vRCk6KHY9Zy1DLEQ9by92KTtsZXQgTD1nci5jb21wdXRlUmVhbFJvb3RzKDEsTixEKSxVPWdyLmNvbXB1dGVSZWFsUm9vdHMoMSxJLHYpO2lmKEwubGVuZ3RoIT09MClyZXR1cm4gVS5sZW5ndGghPT0wP0xbMV08PVVbMF0/W0xbMF0sTFsxXSxVWzBdLFVbMV1dOlVbMV08PUxbMF0/W1VbMF0sVVsxXSxMWzBdLExbMV1dOkxbMF0+PVVbMF0mJkxbMV08PVVbMV0/W1VbMF0sTFswXSxMWzFdLFVbMV1dOlVbMF0+PUxbMF0mJlVbMV08PUxbMV0/W0xbMF0sVVswXSxVWzFdLExbMV1dOkxbMF0+VVswXSYmTFswXTxVWzFdP1tVWzBdLExbMF0sVVsxXSxMWzFdXTpbTFswXSxVWzBdLExbMV0sVVsxXV06TDtpZihVLmxlbmd0aCE9PTApcmV0dXJuIFV9cmV0dXJuW119dmFyIGtoLFNiLENiPVooKCk9PntSYigpO0h0KCk7V3QoKTtMcCgpO2toPXt9O2toLmNvbXB1dGVEaXNjcmltaW5hbnQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEIoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBCKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgQigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgbyE9Im51bWJlciIpdGhyb3cgbmV3IEIoImQgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIHIhPSJudW1iZXIiKXRocm93IG5ldyBCKCJlIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2xldCBpPXQqdCxzPWkqdCxmPWUqZSx1PWYqZSxjPW4qbixsPWMqbixwPW8qbyxkPXAqbyxtPXIqcixfPW0qcjtyZXR1cm4gZipjKnAtNCp1KmQtNCp0KmwqcCsxOCp0KmUqbipkLTI3KmkqcCpwKzI1NipzKl8rciooMTgqdSpuKm8tNCpmKmwrMTYqdCpjKmMtODAqdCplKmMqby02KnQqZipwKzE0NCppKm4qcCkrbSooMTQ0KnQqZipuLTI3KmYqZi0xMjgqaSpjLTE5MippKmUqbyl9O2toLmNvbXB1dGVSZWFsUm9vdHM9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZih0eXBlb2YgdCE9Im51bWJlciIpdGhyb3cgbmV3IEIoImEgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIGUhPSJudW1iZXIiKXRocm93IG5ldyBCKCJiIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKHR5cGVvZiBuIT0ibnVtYmVyIil0aHJvdyBuZXcgQigiYyBpcyBhIHJlcXVpcmVkIG51bWJlci4iKTtpZih0eXBlb2YgbyE9Im51bWJlciIpdGhyb3cgbmV3IEIoImQgaXMgYSByZXF1aXJlZCBudW1iZXIuIik7aWYodHlwZW9mIHIhPSJudW1iZXIiKXRocm93IG5ldyBCKCJlIGlzIGEgcmVxdWlyZWQgbnVtYmVyLiIpO2lmKE1hdGguYWJzKHQpPE0uRVBTSUxPTjE1KXJldHVybiBEcC5jb21wdXRlUmVhbFJvb3RzKGUsbixvLHIpO2xldCBpPWUvdCxzPW4vdCxmPW8vdCx1PXIvdCxjPWk8MD8xOjA7c3dpdGNoKGMrPXM8MD9jKzE6YyxjKz1mPDA/YysxOmMsYys9dTwwP2MrMTpjLGMpe2Nhc2UgMDpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxOnJldHVybiBUZihpLHMsZix1KTtjYXNlIDI6cmV0dXJuIFRmKGkscyxmLHUpO2Nhc2UgMzpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSA0OnJldHVybiBCcihpLHMsZix1KTtjYXNlIDU6cmV0dXJuIFRmKGkscyxmLHUpO2Nhc2UgNjpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSA3OnJldHVybiBCcihpLHMsZix1KTtjYXNlIDg6cmV0dXJuIFRmKGkscyxmLHUpO2Nhc2UgOTpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxMDpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxMTpyZXR1cm4gVGYoaSxzLGYsdSk7Y2FzZSAxMjpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxMzpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxNDpyZXR1cm4gQnIoaSxzLGYsdSk7Y2FzZSAxNTpyZXR1cm4gQnIoaSxzLGYsdSk7ZGVmYXVsdDpyZXR1cm59fTtTYj1raH0pO2Z1bmN0aW9uIEZwKHQsZSl7ZT1hLmNsb25lKHgoZSxhLlpFUk8pKSxhLmVxdWFscyhlLGEuWkVSTyl8fGEubm9ybWFsaXplKGUsZSksdGhpcy5vcmlnaW49YS5jbG9uZSh4KHQsYS5aRVJPKSksdGhpcy5kaXJlY3Rpb249ZX12YXIgUXMsQnA9WigoKT0+e0Z0KCk7WHQoKTtJdCgpO2Z0KCk7RnAuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLm9yaWdpbj1hLmNsb25lKHQub3JpZ2luKSxlLmRpcmVjdGlvbj1hLmNsb25lKHQuZGlyZWN0aW9uKSxlKTpuZXcgRnAodC5vcmlnaW4sdC5kaXJlY3Rpb24pfTtGcC5nZXRQb2ludD1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgicmF5Iix0KSx5LnR5cGVPZi5udW1iZXIoInQiLGUpLGgobil8fChuPW5ldyBhKSxuPWEubXVsdGlwbHlCeVNjYWxhcih0LmRpcmVjdGlvbixlLG4pLGEuYWRkKHQub3JpZ2luLG4sbil9O1FzPUZwfSk7ZnVuY3Rpb24gZ1AodCxlLG4sbyl7bGV0IHI9ZSplLTQqdCpuO2lmKHI8MClyZXR1cm47aWYocj4wKXtsZXQgcz0xLygyKnQpLGY9TWF0aC5zcXJ0KHIpLHU9KC1lK2YpKnMsYz0oLWUtZikqcztyZXR1cm4gdTxjPyhvLnJvb3QwPXUsby5yb290MT1jKTooby5yb290MD1jLG8ucm9vdDE9dSksb31sZXQgaT0tZS8oMip0KTtpZihpIT09MClyZXR1cm4gby5yb290MD1vLnJvb3QxPWksb31mdW5jdGlvbiBGYih0LGUsbil7aChuKXx8KG49bmV3IFFyKTtsZXQgbz10Lm9yaWdpbixyPXQuZGlyZWN0aW9uLGk9ZS5jZW50ZXIscz1lLnJhZGl1cyplLnJhZGl1cyxmPWEuc3VidHJhY3QobyxpLERiKSx1PWEuZG90KHIsciksYz0yKmEuZG90KHIsZiksbD1hLm1hZ25pdHVkZVNxdWFyZWQoZiktcyxwPWdQKHUsYyxsLEFQKTtpZihoKHApKXJldHVybiBuLnN0YXJ0PXAucm9vdDAsbi5zdG9wPXAucm9vdDEsbn1mdW5jdGlvbiBKcyh0LGUsbil7bGV0IG89dCtlO3JldHVybiBNLnNpZ24odCkhPT1NLnNpZ24oZSkmJk1hdGguYWJzKG8vTWF0aC5tYXgoTWF0aC5hYnModCksTWF0aC5hYnMoZSkpKTxuPzA6b312YXIgZ24saFAsX1AsRGIseGIsUGIseVAsQVAsYlAsVFAsd1AsR2gsTWIsTmIsVXAsT1AsRVAsUlAsU1AsQ1AseFAsSWIsdmIsTGIsUFAsTVAsTlAsaG8sdGM9WigoKT0+e0Z0KCk7SWUoKTtJdCgpO2Z0KCk7SHQoKTtqbCgpO1d0KCk7Qm4oKTtMcCgpO0NiKCk7QnAoKTtnbj17fTtnbi5yYXlQbGFuZT1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInJheSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigicGxhbmUgaXMgcmVxdWlyZWQuIik7aChuKXx8KG49bmV3IGEpO2xldCBvPXQub3JpZ2luLHI9dC5kaXJlY3Rpb24saT1lLm5vcm1hbCxzPWEuZG90KGkscik7aWYoTWF0aC5hYnMocyk8TS5FUFNJTE9OMTUpcmV0dXJuO2xldCBmPSgtZS5kaXN0YW5jZS1hLmRvdChpLG8pKS9zO2lmKCEoZjwwKSlyZXR1cm4gbj1hLm11bHRpcGx5QnlTY2FsYXIocixmLG4pLGEuYWRkKG8sbixuKX07aFA9bmV3IGEsX1A9bmV3IGEsRGI9bmV3IGEseGI9bmV3IGEsUGI9bmV3IGE7Z24ucmF5VHJpYW5nbGVQYXJhbWV0cmljPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInJheSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigicDAgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEIoInAxIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG8pKXRocm93IG5ldyBCKCJwMiBpcyByZXF1aXJlZC4iKTtyPXgociwhMSk7bGV0IGk9dC5vcmlnaW4scz10LmRpcmVjdGlvbixmPWEuc3VidHJhY3QobixlLGhQKSx1PWEuc3VidHJhY3QobyxlLF9QKSxjPWEuY3Jvc3Mocyx1LERiKSxsPWEuZG90KGYsYykscCxkLG0sXyxnO2lmKHIpe2lmKGw8TS5FUFNJTE9ONnx8KHA9YS5zdWJ0cmFjdChpLGUseGIpLG09YS5kb3QocCxjKSxtPDB8fG0+bCl8fChkPWEuY3Jvc3MocCxmLFBiKSxfPWEuZG90KHMsZCksXzwwfHxtK18+bCkpcmV0dXJuO2c9YS5kb3QodSxkKS9sfWVsc2V7aWYoTWF0aC5hYnMobCk8TS5FUFNJTE9ONilyZXR1cm47bGV0IGI9MS9sO2lmKHA9YS5zdWJ0cmFjdChpLGUseGIpLG09YS5kb3QocCxjKSpiLG08MHx8bT4xfHwoZD1hLmNyb3NzKHAsZixQYiksXz1hLmRvdChzLGQpKmIsXzwwfHxtK18+MSkpcmV0dXJuO2c9YS5kb3QodSxkKSpifXJldHVybiBnfTtnbi5yYXlUcmlhbmdsZT1mdW5jdGlvbih0LGUsbixvLHIsaSl7bGV0IHM9Z24ucmF5VHJpYW5nbGVQYXJhbWV0cmljKHQsZSxuLG8scik7aWYoISghaChzKXx8czwwKSlyZXR1cm4gaChpKXx8KGk9bmV3IGEpLGEubXVsdGlwbHlCeVNjYWxhcih0LmRpcmVjdGlvbixzLGkpLGEuYWRkKHQub3JpZ2luLGksaSl9O3lQPW5ldyBRcztnbi5saW5lU2VnbWVudFRyaWFuZ2xlPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ2MCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigidjEgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEIoInAwIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG8pKXRocm93IG5ldyBCKCJwMSBpcyByZXF1aXJlZC4iKTtpZighaChyKSl0aHJvdyBuZXcgQigicDIgaXMgcmVxdWlyZWQuIik7bGV0IGY9eVA7YS5jbG9uZSh0LGYub3JpZ2luKSxhLnN1YnRyYWN0KGUsdCxmLmRpcmVjdGlvbiksYS5ub3JtYWxpemUoZi5kaXJlY3Rpb24sZi5kaXJlY3Rpb24pO2xldCB1PWduLnJheVRyaWFuZ2xlUGFyYW1ldHJpYyhmLG4sbyxyLGkpO2lmKCEoIWgodSl8fHU8MHx8dT5hLmRpc3RhbmNlKHQsZSkpKXJldHVybiBoKHMpfHwocz1uZXcgYSksYS5tdWx0aXBseUJ5U2NhbGFyKGYuZGlyZWN0aW9uLHUscyksYS5hZGQoZi5vcmlnaW4scyxzKX07QVA9e3Jvb3QwOjAscm9vdDE6MH07Z24ucmF5U3BoZXJlPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigicmF5IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJzcGhlcmUgaXMgcmVxdWlyZWQuIik7aWYobj1GYih0LGUsbiksISghaChuKXx8bi5zdG9wPDApKXJldHVybiBuLnN0YXJ0PU1hdGgubWF4KG4uc3RhcnQsMCksbn07YlA9bmV3IFFzO2duLmxpbmVTZWdtZW50U3BoZXJlPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJwMCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigicDEgaXMgcmVxdWlyZWQuIik7aWYoIWgobikpdGhyb3cgbmV3IEIoInNwaGVyZSBpcyByZXF1aXJlZC4iKTtsZXQgcj1iUDthLmNsb25lKHQsci5vcmlnaW4pO2xldCBpPWEuc3VidHJhY3QoZSx0LHIuZGlyZWN0aW9uKSxzPWEubWFnbml0dWRlKGkpO2lmKGEubm9ybWFsaXplKGksaSksbz1GYihyLG4sbyksISghaChvKXx8by5zdG9wPDB8fG8uc3RhcnQ+cykpcmV0dXJuIG8uc3RhcnQ9TWF0aC5tYXgoby5zdGFydCwwKSxvLnN0b3A9TWF0aC5taW4oby5zdG9wLHMpLG99O1RQPW5ldyBhLHdQPW5ldyBhO2duLnJheUVsbGlwc29pZD1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJyYXkgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImVsbGlwc29pZCBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLm9uZU92ZXJSYWRpaSxvPWEubXVsdGlwbHlDb21wb25lbnRzKG4sdC5vcmlnaW4sVFApLHI9YS5tdWx0aXBseUNvbXBvbmVudHMobix0LmRpcmVjdGlvbix3UCksaT1hLm1hZ25pdHVkZVNxdWFyZWQobykscz1hLmRvdChvLHIpLGYsdSxjLGwscDtpZihpPjEpe2lmKHM+PTApcmV0dXJuO2xldCBkPXMqcztpZihmPWktMSx1PWEubWFnbml0dWRlU3F1YXJlZChyKSxjPXUqZixkPGMpcmV0dXJuO2lmKGQ+Yyl7bD1zKnMtYyxwPS1zK01hdGguc3FydChsKTtsZXQgXz1wL3UsZz1mL3A7cmV0dXJuIF88Zz9uZXcgUXIoXyxnKTp7c3RhcnQ6ZyxzdG9wOl99fWxldCBtPU1hdGguc3FydChmL3UpO3JldHVybiBuZXcgUXIobSxtKX1lbHNlIGlmKGk8MSlyZXR1cm4gZj1pLTEsdT1hLm1hZ25pdHVkZVNxdWFyZWQociksYz11KmYsbD1zKnMtYyxwPS1zK01hdGguc3FydChsKSxuZXcgUXIoMCxwL3UpO2lmKHM8MClyZXR1cm4gdT1hLm1hZ25pdHVkZVNxdWFyZWQociksbmV3IFFyKDAsLXMvdSl9O2duLnF1YWRyYXRpY1ZlY3RvckV4cHJlc3Npb249ZnVuY3Rpb24odCxlLG4sbyxyKXtsZXQgaT1vKm8scz1yKnIsZj0odFtRLkNPTFVNTjFST1cxXS10W1EuQ09MVU1OMlJPVzJdKSpzLHU9cioobypKcyh0W1EuQ09MVU1OMVJPVzBdLHRbUS5DT0xVTU4wUk9XMV0sTS5FUFNJTE9OMTUpK2UueSksYz10W1EuQ09MVU1OMFJPVzBdKmkrdFtRLkNPTFVNTjJST1cyXSpzK28qZS54K24sbD1zKkpzKHRbUS5DT0xVTU4yUk9XMV0sdFtRLkNPTFVNTjFST1cyXSxNLkVQU0lMT04xNSkscD1yKihvKkpzKHRbUS5DT0xVTU4yUk9XMF0sdFtRLkNPTFVNTjBST1cyXSkrZS56KSxkLG09W107aWYocD09PTAmJmw9PT0wKXtpZihkPWdyLmNvbXB1dGVSZWFsUm9vdHMoZix1LGMpLGQubGVuZ3RoPT09MClyZXR1cm4gbTtsZXQgRD1kWzBdLHY9TWF0aC5zcXJ0KE1hdGgubWF4KDEtRCpELDApKTtpZihtLnB1c2gobmV3IGEobyxyKkQsciotdikpLG0ucHVzaChuZXcgYShvLHIqRCxyKnYpKSxkLmxlbmd0aD09PTIpe2xldCBMPWRbMV0sVT1NYXRoLnNxcnQoTWF0aC5tYXgoMS1MKkwsMCkpO20ucHVzaChuZXcgYShvLHIqTCxyKi1VKSksbS5wdXNoKG5ldyBhKG8scipMLHIqVSkpfXJldHVybiBtfWxldCBfPXAqcCxnPWwqbCxiPWYqZixUPXAqbCxPPWIrZyxFPTIqKHUqZitUKSx3PTIqYypmK3UqdS1nK18sQz0yKihjKnUtVCksTj1jKmMtXztpZihPPT09MCYmRT09PTAmJnc9PT0wJiZDPT09MClyZXR1cm4gbTtkPVNiLmNvbXB1dGVSZWFsUm9vdHMoTyxFLHcsQyxOKTtsZXQgST1kLmxlbmd0aDtpZihJPT09MClyZXR1cm4gbTtmb3IobGV0IEQ9MDtEPEk7KytEKXtsZXQgdj1kW0RdLEw9dip2LFU9TWF0aC5tYXgoMS1MLDApLEE9TWF0aC5zcXJ0KFUpLFM7TS5zaWduKGYpPT09TS5zaWduKGMpP1M9SnMoZipMK2MsdSp2LE0uRVBTSUxPTjEyKTpNLnNpZ24oYyk9PT1NLnNpZ24odSp2KT9TPUpzKGYqTCx1KnYrYyxNLkVQU0lMT04xMik6Uz1KcyhmKkwrdSp2LGMsTS5FUFNJTE9OMTIpO2xldCBQPUpzKGwqdixwLE0uRVBTSUxPTjE1KSxGPVMqUDtGPDA/bS5wdXNoKG5ldyBhKG8scip2LHIqQSkpOkY+MD9tLnB1c2gobmV3IGEobyxyKnYsciotQSkpOkEhPT0wPyhtLnB1c2gobmV3IGEobyxyKnYsciotQSkpLG0ucHVzaChuZXcgYShvLHIqdixyKkEpKSwrK0QpOm0ucHVzaChuZXcgYShvLHIqdixyKkEpKX1yZXR1cm4gbX07R2g9bmV3IGEsTWI9bmV3IGEsTmI9bmV3IGEsVXA9bmV3IGEsT1A9bmV3IGEsRVA9bmV3IFEsUlA9bmV3IFEsU1A9bmV3IFEsQ1A9bmV3IFEseFA9bmV3IFEsSWI9bmV3IFEsdmI9bmV3IFEsTGI9bmV3IGEsUFA9bmV3IGEsTVA9bmV3IGN0O2duLmdyYXppbmdBbHRpdHVkZUxvY2F0aW9uPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoInJheSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigiZWxsaXBzb2lkIGlzIHJlcXVpcmVkLiIpO2xldCBuPXQub3JpZ2luLG89dC5kaXJlY3Rpb247aWYoIWEuZXF1YWxzKG4sYS5aRVJPKSl7bGV0IE49ZS5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobixHaCk7aWYoYS5kb3QobyxOKT49MClyZXR1cm4gbn1sZXQgcj1oKHRoaXMucmF5RWxsaXBzb2lkKHQsZSkpLGk9ZS50cmFuc2Zvcm1Qb3NpdGlvblRvU2NhbGVkU3BhY2UobyxHaCkscz1hLm5vcm1hbGl6ZShpLGkpLGY9YS5tb3N0T3J0aG9nb25hbEF4aXMoaSxVcCksdT1hLm5vcm1hbGl6ZShhLmNyb3NzKGYscyxNYiksTWIpLGM9YS5ub3JtYWxpemUoYS5jcm9zcyhzLHUsTmIpLE5iKSxsPUVQO2xbMF09cy54LGxbMV09cy55LGxbMl09cy56LGxbM109dS54LGxbNF09dS55LGxbNV09dS56LGxbNl09Yy54LGxbN109Yy55LGxbOF09Yy56O2xldCBwPVEudHJhbnNwb3NlKGwsUlApLGQ9US5mcm9tU2NhbGUoZS5yYWRpaSxTUCksbT1RLmZyb21TY2FsZShlLm9uZU92ZXJSYWRpaSxDUCksXz14UDtfWzBdPTAsX1sxXT0tby56LF9bMl09by55LF9bM109by56LF9bNF09MCxfWzVdPS1vLngsX1s2XT0tby55LF9bN109by54LF9bOF09MDtsZXQgZz1RLm11bHRpcGx5KFEubXVsdGlwbHkocCxtLEliKSxfLEliKSxiPVEubXVsdGlwbHkoUS5tdWx0aXBseShnLGQsdmIpLGwsdmIpLFQ9US5tdWx0aXBseUJ5VmVjdG9yKGcsbixPUCksTz1nbi5xdWFkcmF0aWNWZWN0b3JFeHByZXNzaW9uKGIsYS5uZWdhdGUoVCxHaCksMCwwLDEpLEUsdyxDPU8ubGVuZ3RoO2lmKEM+MCl7bGV0IE49YS5jbG9uZShhLlpFUk8sUFApLEk9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2ZvcihsZXQgdj0wO3Y8QzsrK3Ype0U9US5tdWx0aXBseUJ5VmVjdG9yKGQsUS5tdWx0aXBseUJ5VmVjdG9yKGwsT1t2XSxMYiksTGIpO2xldCBMPWEubm9ybWFsaXplKGEuc3VidHJhY3QoRSxuLFVwKSxVcCksVT1hLmRvdChMLG8pO1U+SSYmKEk9VSxOPWEuY2xvbmUoRSxOKSl9bGV0IEQ9ZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhOLE1QKTtyZXR1cm4gST1NLmNsYW1wKEksMCwxKSx3PWEubWFnbml0dWRlKGEuc3VidHJhY3QoTixuLFVwKSkqTWF0aC5zcXJ0KDEtSSpJKSx3PXI/LXc6dyxELmhlaWdodD13LGUuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oRCxuZXcgYSl9fTtOUD1uZXcgYTtnbi5saW5lU2VnbWVudFBsYW5lPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJlbmRQb2ludDAgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImVuZFBvaW50MSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigicGxhbmUgaXMgcmVxdWlyZWQuIik7aChvKXx8KG89bmV3IGEpO2xldCByPWEuc3VidHJhY3QoZSx0LE5QKSxpPW4ubm9ybWFsLHM9YS5kb3QoaSxyKTtpZihNYXRoLmFicyhzKTxNLkVQU0lMT042KXJldHVybjtsZXQgZj1hLmRvdChpLHQpLHU9LShuLmRpc3RhbmNlK2YpL3M7aWYoISh1PDB8fHU+MSkpcmV0dXJuIGEubXVsdGlwbHlCeVNjYWxhcihyLHUsbyksYS5hZGQodCxvLG8pLG99O2duLnRyaWFuZ2xlUGxhbmVJbnRlcnNlY3Rpb249ZnVuY3Rpb24odCxlLG4sbyl7aWYoIWgodCl8fCFoKGUpfHwhaChuKXx8IWgobykpdGhyb3cgbmV3IEIoInAwLCBwMSwgcDIsIGFuZCBwbGFuZSBhcmUgcmVxdWlyZWQuIik7bGV0IHI9by5ub3JtYWwsaT1vLmRpc3RhbmNlLHM9YS5kb3Qocix0KStpPDAsZj1hLmRvdChyLGUpK2k8MCx1PWEuZG90KHIsbikraTwwLGM9MDtjKz1zPzE6MCxjKz1mPzE6MCxjKz11PzE6MDtsZXQgbCxwO2lmKChjPT09MXx8Yz09PTIpJiYobD1uZXcgYSxwPW5ldyBhKSxjPT09MSl7aWYocylyZXR1cm4gZ24ubGluZVNlZ21lbnRQbGFuZSh0LGUsbyxsKSxnbi5saW5lU2VnbWVudFBsYW5lKHQsbixvLHApLHtwb3NpdGlvbnM6W3QsZSxuLGwscF0saW5kaWNlczpbMCwzLDQsMSwyLDQsMSw0LDNdfTtpZihmKXJldHVybiBnbi5saW5lU2VnbWVudFBsYW5lKGUsbixvLGwpLGduLmxpbmVTZWdtZW50UGxhbmUoZSx0LG8scCkse3Bvc2l0aW9uczpbdCxlLG4sbCxwXSxpbmRpY2VzOlsxLDMsNCwyLDAsNCwyLDQsM119O2lmKHUpcmV0dXJuIGduLmxpbmVTZWdtZW50UGxhbmUobix0LG8sbCksZ24ubGluZVNlZ21lbnRQbGFuZShuLGUsbyxwKSx7cG9zaXRpb25zOlt0LGUsbixsLHBdLGluZGljZXM6WzIsMyw0LDAsMSw0LDAsNCwzXX19ZWxzZSBpZihjPT09MilpZihzKWlmKGYpe2lmKCF1KXJldHVybiBnbi5saW5lU2VnbWVudFBsYW5lKHQsbixvLGwpLGduLmxpbmVTZWdtZW50UGxhbmUoZSxuLG8scCkse3Bvc2l0aW9uczpbdCxlLG4sbCxwXSxpbmRpY2VzOlswLDEsNCwwLDQsMywyLDMsNF19fWVsc2UgcmV0dXJuIGduLmxpbmVTZWdtZW50UGxhbmUobixlLG8sbCksZ24ubGluZVNlZ21lbnRQbGFuZSh0LGUsbyxwKSx7cG9zaXRpb25zOlt0LGUsbixsLHBdLGluZGljZXM6WzIsMCw0LDIsNCwzLDEsMyw0XX07ZWxzZSByZXR1cm4gZ24ubGluZVNlZ21lbnRQbGFuZShlLHQsbyxsKSxnbi5saW5lU2VnbWVudFBsYW5lKG4sdCxvLHApLHtwb3NpdGlvbnM6W3QsZSxuLGwscF0saW5kaWNlczpbMSwyLDQsMSw0LDMsMCwzLDRdfX07aG89Z259KTtmdW5jdGlvbiBlbyh0LGUpe2lmKHkudHlwZU9mLm9iamVjdCgibm9ybWFsIix0KSwhTS5lcXVhbHNFcHNpbG9uKGEubWFnbml0dWRlKHQpLDEsTS5FUFNJTE9ONikpdGhyb3cgbmV3IEIoIm5vcm1hbCBtdXN0IGJlIG5vcm1hbGl6ZWQuIik7eS50eXBlT2YubnVtYmVyKCJkaXN0YW5jZSIsZSksdGhpcy5ub3JtYWw9YS5jbG9uZSh0KSx0aGlzLmRpc3RhbmNlPWV9dmFyIElQLHZQLExQLERQLEZQLG9uLGZzPVooKCk9PntGdCgpO2hyKCk7WHQoKTtmdCgpO0h0KCk7V3QoKTtVbigpO2VvLmZyb21Qb2ludE5vcm1hbD1mdW5jdGlvbih0LGUsbil7aWYoeS50eXBlT2Yub2JqZWN0KCJwb2ludCIsdCkseS50eXBlT2Yub2JqZWN0KCJub3JtYWwiLGUpLCFNLmVxdWFsc0Vwc2lsb24oYS5tYWduaXR1ZGUoZSksMSxNLkVQU0lMT042KSl0aHJvdyBuZXcgQigibm9ybWFsIG11c3QgYmUgbm9ybWFsaXplZC4iKTtsZXQgbz0tYS5kb3QoZSx0KTtyZXR1cm4gaChuKT8oYS5jbG9uZShlLG4ubm9ybWFsKSxuLmRpc3RhbmNlPW8sbik6bmV3IGVvKGUsbyl9O0lQPW5ldyBhO2VvLmZyb21DYXJ0ZXNpYW40PWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJjb2VmZmljaWVudHMiLHQpO2xldCBuPWEuZnJvbUNhcnRlc2lhbjQodCxJUCksbz10Lnc7aWYoIU0uZXF1YWxzRXBzaWxvbihhLm1hZ25pdHVkZShuKSwxLE0uRVBTSUxPTjYpKXRocm93IG5ldyBCKCJub3JtYWwgbXVzdCBiZSBub3JtYWxpemVkLiIpO3JldHVybiBoKGUpPyhhLmNsb25lKG4sZS5ub3JtYWwpLGUuZGlzdGFuY2U9byxlKTpuZXcgZW8obixvKX07ZW8uZ2V0UG9pbnREaXN0YW5jZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInBsYW5lIix0KSx5LnR5cGVPZi5vYmplY3QoInBvaW50IixlKSxhLmRvdCh0Lm5vcm1hbCxlKSt0LmRpc3RhbmNlfTt2UD1uZXcgYTtlby5wcm9qZWN0UG9pbnRPbnRvUGxhbmU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgicGxhbmUiLHQpLHkudHlwZU9mLm9iamVjdCgicG9pbnQiLGUpLGgobil8fChuPW5ldyBhKTtsZXQgbz1lby5nZXRQb2ludERpc3RhbmNlKHQsZSkscj1hLm11bHRpcGx5QnlTY2FsYXIodC5ub3JtYWwsbyx2UCk7cmV0dXJuIGEuc3VidHJhY3QoZSxyLG4pfTtMUD1uZXcgc3QsRFA9bmV3IGhlLEZQPW5ldyBhO2VvLnRyYW5zZm9ybT1mdW5jdGlvbih0LGUsbil7eS50eXBlT2Yub2JqZWN0KCJwbGFuZSIsdCkseS50eXBlT2Yub2JqZWN0KCJ0cmFuc2Zvcm0iLGUpO2xldCBvPXQubm9ybWFsLHI9dC5kaXN0YW5jZSxpPXN0LmludmVyc2VUcmFuc3Bvc2UoZSxMUCkscz1oZS5mcm9tRWxlbWVudHMoby54LG8ueSxvLnoscixEUCk7cz1zdC5tdWx0aXBseUJ5VmVjdG9yKGkscyxzKTtsZXQgZj1hLmZyb21DYXJ0ZXNpYW40KHMsRlApO3JldHVybiBzPWhlLmRpdmlkZUJ5U2NhbGFyKHMsYS5tYWduaXR1ZGUoZikscyksZW8uZnJvbUNhcnRlc2lhbjQocyxuKX07ZW8uY2xvbmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJwbGFuZSIsdCksaChlKT8oYS5jbG9uZSh0Lm5vcm1hbCxlLm5vcm1hbCksZS5kaXN0YW5jZT10LmRpc3RhbmNlLGUpOm5ldyBlbyh0Lm5vcm1hbCx0LmRpc3RhbmNlKX07ZW8uZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksdC5kaXN0YW5jZT09PWUuZGlzdGFuY2UmJmEuZXF1YWxzKHQubm9ybWFsLGUubm9ybWFsKX07ZW8uT1JJR0lOX1hZX1BMQU5FPU9iamVjdC5mcmVlemUobmV3IGVvKGEuVU5JVF9aLDApKTtlby5PUklHSU5fWVpfUExBTkU9T2JqZWN0LmZyZWV6ZShuZXcgZW8oYS5VTklUX1gsMCkpO2VvLk9SSUdJTl9aWF9QTEFORT1PYmplY3QuZnJlZXplKG5ldyBlbyhhLlVOSVRfWSwwKSk7b249ZW99KTt2YXIgemgsQmIsVWI9WigoKT0+e0l0KCk7ZnQoKTtIdCgpO3poPXt9O3poLmNhbGN1bGF0ZUFDTVI9ZnVuY3Rpb24odCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQuaW5kaWNlcyxuPXQubWF4aW11bUluZGV4LG89eCh0LmNhY2hlU2l6ZSwyNCk7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImluZGljZXMgaXMgcmVxdWlyZWQuIik7bGV0IHI9ZS5sZW5ndGg7aWYocjwzfHxyJTMhPT0wKXRocm93IG5ldyBCKCJpbmRpY2VzIGxlbmd0aCBtdXN0IGJlIGEgbXVsdGlwbGUgb2YgdGhyZWUuIik7aWYobjw9MCl0aHJvdyBuZXcgQigibWF4aW11bUluZGV4IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7aWYobzwzKXRocm93IG5ldyBCKCJjYWNoZVNpemUgbXVzdCBiZSBncmVhdGVyIHRoYW4gdHdvLiIpO2lmKCFoKG4pKXtuPTA7bGV0IGY9MCx1PWVbZl07Zm9yKDtmPHI7KXU+biYmKG49dSksKytmLHU9ZVtmXX1sZXQgaT1bXTtmb3IobGV0IGY9MDtmPG4rMTtmKyspaVtmXT0wO2xldCBzPW8rMTtmb3IobGV0IGY9MDtmPHI7KytmKXMtaVtlW2ZdXT5vJiYoaVtlW2ZdXT1zLCsrcyk7cmV0dXJuKHMtbysxKS8oci8zKX07emgudGlwc2lmeT1mdW5jdGlvbih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5pbmRpY2VzLG49dC5tYXhpbXVtSW5kZXgsbz14KHQuY2FjaGVTaXplLDI0KSxyO2Z1bmN0aW9uIGkoVSxBLFMsUCl7Zm9yKDtBLmxlbmd0aD49MTspe2xldCBGPUFbQS5sZW5ndGgtMV07aWYoQS5zcGxpY2UoQS5sZW5ndGgtMSwxKSxVW0ZdLm51bUxpdmVUcmlhbmdsZXM+MClyZXR1cm4gRn1mb3IoO3I8UDspe2lmKFVbcl0ubnVtTGl2ZVRyaWFuZ2xlcz4wKXJldHVybisrcixyLTE7KytyfXJldHVybi0xfWZ1bmN0aW9uIHMoVSxBLFMsUCxGLGosSCl7bGV0IGs9LTEsSyxYPS0xLFI9MDtmb3IoO1I8Uy5sZW5ndGg7KXtsZXQgb3Q9U1tSXTtQW290XS5udW1MaXZlVHJpYW5nbGVzJiYoSz0wLEYtUFtvdF0udGltZVN0YW1wKzIqUFtvdF0ubnVtTGl2ZVRyaWFuZ2xlczw9QSYmKEs9Ri1QW290XS50aW1lU3RhbXApLChLPlh8fFg9PT0tMSkmJihYPUssaz1vdCkpLCsrUn1yZXR1cm4gaz09PS0xP2koUCxqLFUsSCk6a31pZighaChlKSl0aHJvdyBuZXcgQigiaW5kaWNlcyBpcyByZXF1aXJlZC4iKTtsZXQgZj1lLmxlbmd0aDtpZihmPDN8fGYlMyE9PTApdGhyb3cgbmV3IEIoImluZGljZXMgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiB0aHJlZS4iKTtpZihuPD0wKXRocm93IG5ldyBCKCJtYXhpbXVtSW5kZXggbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4iKTtpZihvPDMpdGhyb3cgbmV3IEIoImNhY2hlU2l6ZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB0d28uIik7bGV0IHU9MCxjPTAsbD1lW2NdLHA9ZjtpZihoKG4pKXU9bisxO2Vsc2V7Zm9yKDtjPHA7KWw+dSYmKHU9bCksKytjLGw9ZVtjXTtpZih1PT09LTEpcmV0dXJuIDA7Kyt1fWxldCBkPVtdLG07Zm9yKG09MDttPHU7bSsrKWRbbV09e251bUxpdmVUcmlhbmdsZXM6MCx0aW1lU3RhbXA6MCx2ZXJ0ZXhUcmlhbmdsZXM6W119O2M9MDtsZXQgXz0wO2Zvcig7YzxwOylkW2VbY11dLnZlcnRleFRyaWFuZ2xlcy5wdXNoKF8pLCsrZFtlW2NdXS5udW1MaXZlVHJpYW5nbGVzLGRbZVtjKzFdXS52ZXJ0ZXhUcmlhbmdsZXMucHVzaChfKSwrK2RbZVtjKzFdXS5udW1MaXZlVHJpYW5nbGVzLGRbZVtjKzJdXS52ZXJ0ZXhUcmlhbmdsZXMucHVzaChfKSwrK2RbZVtjKzJdXS5udW1MaXZlVHJpYW5nbGVzLCsrXyxjKz0zO2xldCBnPTAsYj1vKzE7cj0xO2xldCBUPVtdLE89W10sRSx3LEM9MCxOPVtdLEk9Zi8zLEQ9W107Zm9yKG09MDttPEk7bSsrKURbbV09ITE7bGV0IHYsTDtmb3IoO2chPT0tMTspe1Q9W10sdz1kW2ddLEw9dy52ZXJ0ZXhUcmlhbmdsZXMubGVuZ3RoO2ZvcihsZXQgVT0wO1U8TDsrK1UpaWYoXz13LnZlcnRleFRyaWFuZ2xlc1tVXSwhRFtfXSl7RFtfXT0hMCxjPV8rXytfO2ZvcihsZXQgQT0wO0E8MzsrK0Epdj1lW2NdLFQucHVzaCh2KSxPLnB1c2godiksTltDXT12LCsrQyxFPWRbdl0sLS1FLm51bUxpdmVUcmlhbmdsZXMsYi1FLnRpbWVTdGFtcD5vJiYoRS50aW1lU3RhbXA9YiwrK2IpLCsrY31nPXMoZSxvLFQsZCxiLE8sdSl9cmV0dXJuIE59O0JiPXpofSk7ZnVuY3Rpb24gcXAodCxlLG4sbyxyKXt0W2UrK109bix0W2UrK109byx0W2UrK109byx0W2UrK109cix0W2UrK109cix0W2VdPW59ZnVuY3Rpb24gQlAodCl7bGV0IGU9dC5sZW5ndGgsbj1lLzMqNixvPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZSxuKSxyPTA7Zm9yKGxldCBpPTA7aTxlO2krPTMscis9NilxcChvLHIsdFtpXSx0W2krMV0sdFtpKzJdKTtyZXR1cm4gb31mdW5jdGlvbiBVUCh0KXtsZXQgZT10Lmxlbmd0aDtpZihlPj0zKXtsZXQgbj0oZS0yKSo2LG89RHQuY3JlYXRlVHlwZWRBcnJheShlLG4pO3FwKG8sMCx0WzBdLHRbMV0sdFsyXSk7bGV0IHI9Njtmb3IobGV0IGk9MztpPGU7KytpLHIrPTYpcXAobyxyLHRbaS0xXSx0W2ldLHRbaS0yXSk7cmV0dXJuIG99cmV0dXJuIG5ldyBVaW50MTZBcnJheX1mdW5jdGlvbiBWUCh0KXtpZih0Lmxlbmd0aD4wKXtsZXQgZT10Lmxlbmd0aC0xLG49KGUtMSkqNixvPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZSxuKSxyPXRbMF0saT0wO2ZvcihsZXQgcz0xO3M8ZTsrK3MsaSs9NilxcChvLGkscix0W3NdLHRbcysxXSk7cmV0dXJuIG99cmV0dXJuIG5ldyBVaW50MTZBcnJheX1mdW5jdGlvbiBWYih0KXtsZXQgZT17fTtmb3IobGV0IG4gaW4gdClpZih0Lmhhc093blByb3BlcnR5KG4pJiZoKHRbbl0pJiZoKHRbbl0udmFsdWVzKSl7bGV0IG89dFtuXTtlW25dPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6by5jb21wb25lbnREYXRhdHlwZSxjb21wb25lbnRzUGVyQXR0cmlidXRlOm8uY29tcG9uZW50c1BlckF0dHJpYnV0ZSxub3JtYWxpemU6by5ub3JtYWxpemUsdmFsdWVzOltdfSl9cmV0dXJuIGV9ZnVuY3Rpb24ga1AodCxlLG4pe2ZvcihsZXQgbyBpbiBlKWlmKGUuaGFzT3duUHJvcGVydHkobykmJmgoZVtvXSkmJmgoZVtvXS52YWx1ZXMpKXtsZXQgcj1lW29dO2ZvcihsZXQgaT0wO2k8ci5jb21wb25lbnRzUGVyQXR0cmlidXRlOysraSl0W29dLnZhbHVlcy5wdXNoKHIudmFsdWVzW24qci5jb21wb25lbnRzUGVyQXR0cmlidXRlK2ldKX19ZnVuY3Rpb24gSGgodCxlKXtpZihoKGUpKXtsZXQgbj1lLnZhbHVlcyxvPW4ubGVuZ3RoO2ZvcihsZXQgcj0wO3I8bztyKz0zKWEudW5wYWNrKG4scixWciksc3QubXVsdGlwbHlCeVBvaW50KHQsVnIsVnIpLGEucGFjayhWcixuLHIpfX1mdW5jdGlvbiBxaCh0LGUpe2lmKGgoZSkpe2xldCBuPWUudmFsdWVzLG89bi5sZW5ndGg7Zm9yKGxldCByPTA7cjxvO3IrPTMpYS51bnBhY2sobixyLFZyKSxRLm11bHRpcGx5QnlWZWN0b3IodCxWcixWciksVnI9YS5ub3JtYWxpemUoVnIsVnIpLGEucGFjayhWcixuLHIpfX1mdW5jdGlvbiB6UCh0LGUpe2xldCBuPXQubGVuZ3RoLG89e30scj10WzBdW2VdLmF0dHJpYnV0ZXMsaTtmb3IoaSBpbiByKWlmKHIuaGFzT3duUHJvcGVydHkoaSkmJmgocltpXSkmJmgocltpXS52YWx1ZXMpKXtsZXQgcz1yW2ldLGY9cy52YWx1ZXMubGVuZ3RoLHU9ITA7Zm9yKGxldCBjPTE7YzxuOysrYyl7bGV0IGw9dFtjXVtlXS5hdHRyaWJ1dGVzW2ldO2lmKCFoKGwpfHxzLmNvbXBvbmVudERhdGF0eXBlIT09bC5jb21wb25lbnREYXRhdHlwZXx8cy5jb21wb25lbnRzUGVyQXR0cmlidXRlIT09bC5jb21wb25lbnRzUGVyQXR0cmlidXRlfHxzLm5vcm1hbGl6ZSE9PWwubm9ybWFsaXplKXt1PSExO2JyZWFrfWYrPWwudmFsdWVzLmxlbmd0aH11JiYob1tpXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOnMuY29tcG9uZW50RGF0YXR5cGUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTpzLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGUsbm9ybWFsaXplOnMubm9ybWFsaXplLHZhbHVlczpudC5jcmVhdGVUeXBlZEFycmF5KHMuY29tcG9uZW50RGF0YXR5cGUsZil9KSl9cmV0dXJuIG99ZnVuY3Rpb24gS2godCxlKXtsZXQgbj10Lmxlbmd0aCxvLHIsaSxzLGY9dFswXS5tb2RlbE1hdHJpeCx1PWgodFswXVtlXS5pbmRpY2VzKSxjPXRbMF1bZV0ucHJpbWl0aXZlVHlwZTtmb3Iocj0xO3I8bjsrK3Ipe2lmKCFzdC5lcXVhbHModFtyXS5tb2RlbE1hdHJpeCxmKSl0aHJvdyBuZXcgQigiQWxsIGluc3RhbmNlcyBtdXN0IGhhdmUgdGhlIHNhbWUgbW9kZWxNYXRyaXguIik7aWYoaCh0W3JdW2VdLmluZGljZXMpIT09dSl0aHJvdyBuZXcgQigiQWxsIGluc3RhbmNlIGdlb21ldHJpZXMgbXVzdCBoYXZlIGFuIGluZGljZXMgb3Igbm90IGhhdmUgb25lLiIpO2lmKHRbcl1bZV0ucHJpbWl0aXZlVHlwZSE9PWMpdGhyb3cgbmV3IEIoIkFsbCBpbnN0YW5jZSBnZW9tZXRyaWVzIG11c3QgaGF2ZSB0aGUgc2FtZSBwcmltaXRpdmVUeXBlLiIpfWxldCBsPXpQKHQsZSkscCxkLG07Zm9yKG8gaW4gbClpZihsLmhhc093blByb3BlcnR5KG8pKWZvcihwPWxbb10udmFsdWVzLHM9MCxyPTA7cjxuOysrcilmb3IoZD10W3JdW2VdLmF0dHJpYnV0ZXNbb10udmFsdWVzLG09ZC5sZW5ndGgsaT0wO2k8bTsrK2kpcFtzKytdPWRbaV07bGV0IF87aWYodSl7bGV0IE89MDtmb3Iocj0wO3I8bjsrK3IpTys9dFtyXVtlXS5pbmRpY2VzLmxlbmd0aDtsZXQgRT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyhuZXcgVXQoe2F0dHJpYnV0ZXM6bCxwcmltaXRpdmVUeXBlOkJ0LlBPSU5UU30pKSx3PUR0LmNyZWF0ZVR5cGVkQXJyYXkoRSxPKSxDPTAsTj0wO2ZvcihyPTA7cjxuOysrcil7bGV0IEk9dFtyXVtlXS5pbmRpY2VzLEQ9SS5sZW5ndGg7Zm9yKHM9MDtzPEQ7KytzKXdbQysrXT1OK0lbc107Tis9VXQuY29tcHV0ZU51bWJlck9mVmVydGljZXModFtyXVtlXSl9Xz13fWxldCBnPW5ldyBhLGI9MCxUO2ZvcihyPTA7cjxuOysrcil7aWYoVD10W3JdW2VdLmJvdW5kaW5nU3BoZXJlLCFoKFQpKXtnPXZvaWQgMDticmVha31hLmFkZChULmNlbnRlcixnLGcpfWlmKGgoZykpZm9yKGEuZGl2aWRlQnlTY2FsYXIoZyxuLGcpLHI9MDtyPG47KytyKXtUPXRbcl1bZV0uYm91bmRpbmdTcGhlcmU7bGV0IE89YS5tYWduaXR1ZGUoYS5zdWJ0cmFjdChULmNlbnRlcixnLGpQKSkrVC5yYWRpdXM7Tz5iJiYoYj1PKX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmwsaW5kaWNlczpfLHByaW1pdGl2ZVR5cGU6Yyxib3VuZGluZ1NwaGVyZTpoKGcpP25ldyBBdChnLGIpOnZvaWQgMH0pfWZ1bmN0aW9uIEtQKHQpe2lmKGgodC5pbmRpY2VzKSlyZXR1cm4gdDtsZXQgZT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtpZihlPDMpdGhyb3cgbmV3IEIoIlRoZSBudW1iZXIgb2YgdmVydGljZXMgbXVzdCBiZSBhdCBsZWFzdCB0aHJlZS4iKTtpZihlJTMhPT0wKXRocm93IG5ldyBCKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiB0aHJlZS4iKTtsZXQgbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSk7Zm9yKGxldCBvPTA7bzxlOysrbyluW29dPW87cmV0dXJuIHQuaW5kaWNlcz1uLHR9ZnVuY3Rpb24gV1AodCl7bGV0IGU9VXQuY29tcHV0ZU51bWJlck9mVmVydGljZXModCk7aWYoZTwzKXRocm93IG5ldyBCKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYXQgbGVhc3QgdGhyZWUuIik7bGV0IG49RHQuY3JlYXRlVHlwZWRBcnJheShlLChlLTIpKjMpO25bMF09MSxuWzFdPTAsblsyXT0yO2xldCBvPTM7Zm9yKGxldCByPTM7cjxlOysrciluW28rK109ci0xLG5bbysrXT0wLG5bbysrXT1yO3JldHVybiB0LmluZGljZXM9bix0LnByaW1pdGl2ZVR5cGU9QnQuVFJJQU5HTEVTLHR9ZnVuY3Rpb24gWFAodCl7bGV0IGU9VXQuY29tcHV0ZU51bWJlck9mVmVydGljZXModCk7aWYoZTwzKXRocm93IG5ldyBCKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYXQgbGVhc3QgMy4iKTtsZXQgbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsKGUtMikqMyk7blswXT0wLG5bMV09MSxuWzJdPTIsZT4zJiYoblszXT0wLG5bNF09MixuWzVdPTMpO2xldCBvPTY7Zm9yKGxldCByPTM7cjxlLTE7cis9MiluW28rK109cixuW28rK109ci0xLG5bbysrXT1yKzEscisyPGUmJihuW28rK109cixuW28rK109cisxLG5bbysrXT1yKzIpO3JldHVybiB0LmluZGljZXM9bix0LnByaW1pdGl2ZVR5cGU9QnQuVFJJQU5HTEVTLHR9ZnVuY3Rpb24gWVAodCl7aWYoaCh0LmluZGljZXMpKXJldHVybiB0O2xldCBlPVV0LmNvbXB1dGVOdW1iZXJPZlZlcnRpY2VzKHQpO2lmKGU8Mil0aHJvdyBuZXcgQigiVGhlIG51bWJlciBvZiB2ZXJ0aWNlcyBtdXN0IGJlIGF0IGxlYXN0IHR3by4iKTtpZihlJTIhPT0wKXRocm93IG5ldyBCKCJUaGUgbnVtYmVyIG9mIHZlcnRpY2VzIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyLiIpO2xldCBuPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZSxlKTtmb3IobGV0IG89MDtvPGU7KytvKW5bb109bztyZXR1cm4gdC5pbmRpY2VzPW4sdH1mdW5jdGlvbiAkUCh0KXtsZXQgZT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtpZihlPDIpdGhyb3cgbmV3IEIoIlRoZSBudW1iZXIgb2YgdmVydGljZXMgbXVzdCBiZSBhdCBsZWFzdCB0d28uIik7bGV0IG49RHQuY3JlYXRlVHlwZWRBcnJheShlLChlLTEpKjIpO25bMF09MCxuWzFdPTE7bGV0IG89Mjtmb3IobGV0IHI9MjtyPGU7KytyKW5bbysrXT1yLTEsbltvKytdPXI7cmV0dXJuIHQuaW5kaWNlcz1uLHQucHJpbWl0aXZlVHlwZT1CdC5MSU5FUyx0fWZ1bmN0aW9uIFpQKHQpe2xldCBlPVV0LmNvbXB1dGVOdW1iZXJPZlZlcnRpY2VzKHQpO2lmKGU8Mil0aHJvdyBuZXcgQigiVGhlIG51bWJlciBvZiB2ZXJ0aWNlcyBtdXN0IGJlIGF0IGxlYXN0IHR3by4iKTtsZXQgbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSoyKTtuWzBdPTAsblsxXT0xO2xldCBvPTI7Zm9yKGxldCByPTI7cjxlOysrciluW28rK109ci0xLG5bbysrXT1yO3JldHVybiBuW28rK109ZS0xLG5bb109MCx0LmluZGljZXM9bix0LnByaW1pdGl2ZVR5cGU9QnQuTElORVMsdH1mdW5jdGlvbiBRUCh0KXtzd2l0Y2godC5wcmltaXRpdmVUeXBlKXtjYXNlIEJ0LlRSSUFOR0xFX0ZBTjpyZXR1cm4gV1AodCk7Y2FzZSBCdC5UUklBTkdMRV9TVFJJUDpyZXR1cm4gWFAodCk7Y2FzZSBCdC5UUklBTkdMRVM6cmV0dXJuIEtQKHQpO2Nhc2UgQnQuTElORV9TVFJJUDpyZXR1cm4gJFAodCk7Y2FzZSBCdC5MSU5FX0xPT1A6cmV0dXJuIFpQKHQpO2Nhc2UgQnQuTElORVM6cmV0dXJuIFlQKHQpfXJldHVybiB0fWZ1bmN0aW9uIHVzKHQsZSl7TWF0aC5hYnModC55KTxNLkVQU0lMT042JiYoZT90Lnk9LU0uRVBTSUxPTjY6dC55PU0uRVBTSUxPTjYpfWZ1bmN0aW9uIEpQKHQsZSxuKXtpZih0LnkhPT0wJiZlLnkhPT0wJiZuLnkhPT0wKXt1cyh0LHQueTwwKSx1cyhlLGUueTwwKSx1cyhuLG4ueTwwKTtyZXR1cm59bGV0IG89TWF0aC5hYnModC55KSxyPU1hdGguYWJzKGUueSksaT1NYXRoLmFicyhuLnkpLHM7bz5yP28+aT9zPU0uc2lnbih0LnkpOnM9TS5zaWduKG4ueSk6cj5pP3M9TS5zaWduKGUueSk6cz1NLnNpZ24obi55KTtsZXQgZj1zPDA7dXModCxmKSx1cyhlLGYpLHVzKG4sZil9ZnVuY3Rpb24gYnIodCxlLG4sbyl7YS5hZGQodCxhLm11bHRpcGx5QnlTY2FsYXIoYS5zdWJ0cmFjdChlLHQsSGIpLHQueS8odC55LWUueSksSGIpLG4pLGEuY2xvbmUobixvKSx1cyhuLCEwKSx1cyhvLCExKX1mdW5jdGlvbiB0TSh0LGUsbil7aWYodC54Pj0wfHxlLng+PTB8fG4ueD49MClyZXR1cm47SlAodCxlLG4pO2xldCBvPXQueTwwLHI9ZS55PDAsaT1uLnk8MCxzPTA7cys9bz8xOjAscys9cj8xOjAscys9aT8xOjA7bGV0IGY9V2guaW5kaWNlcztzPT09MT8oZlsxXT0zLGZbMl09NCxmWzVdPTYsZls3XT02LGZbOF09NSxvPyhicih0LGUsZWMsb2MpLGJyKHQsbixuYyxyYyksZlswXT0wLGZbM109MSxmWzRdPTIsZls2XT0xKTpyPyhicihlLG4sZWMsb2MpLGJyKGUsdCxuYyxyYyksZlswXT0xLGZbM109MixmWzRdPTAsZls2XT0yKTppJiYoYnIobix0LGVjLG9jKSxicihuLGUsbmMscmMpLGZbMF09MixmWzNdPTAsZls0XT0xLGZbNl09MCkpOnM9PT0yJiYoZlsyXT00LGZbNF09NCxmWzVdPTMsZls3XT01LGZbOF09NixvP3I/aXx8KGJyKG4sdCxlYyxvYyksYnIobixlLG5jLHJjKSxmWzBdPTAsZlsxXT0xLGZbM109MCxmWzZdPTIpOihicihlLG4sZWMsb2MpLGJyKGUsdCxuYyxyYyksZlswXT0yLGZbMV09MCxmWzNdPTIsZls2XT0xKTooYnIodCxlLGVjLG9jKSxicih0LG4sbmMscmMpLGZbMF09MSxmWzFdPTIsZlszXT0xLGZbNl09MCkpO2xldCB1PVdoLnBvc2l0aW9ucztyZXR1cm4gdVswXT10LHVbMV09ZSx1WzJdPW4sdS5sZW5ndGg9Mywocz09PTF8fHM9PT0yKSYmKHVbM109ZWMsdVs0XT1uYyx1WzVdPW9jLHVbNl09cmMsdS5sZW5ndGg9NyksV2h9ZnVuY3Rpb24gcWIodCxlKXtsZXQgbj10LmF0dHJpYnV0ZXM7aWYobi5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoPT09MClyZXR1cm47Zm9yKGxldCByIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShyKSYmaChuW3JdKSYmaChuW3JdLnZhbHVlcykpe2xldCBpPW5bcl07aS52YWx1ZXM9bnQuY3JlYXRlVHlwZWRBcnJheShpLmNvbXBvbmVudERhdGF0eXBlLGkudmFsdWVzKX1sZXQgbz1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtyZXR1cm4gdC5pbmRpY2VzPUR0LmNyZWF0ZVR5cGVkQXJyYXkobyx0LmluZGljZXMpLGUmJih0LmJvdW5kaW5nU3BoZXJlPUF0LmZyb21WZXJ0aWNlcyhuLnBvc2l0aW9uLnZhbHVlcykpLHR9ZnVuY3Rpb24gaWEodCl7bGV0IGU9dC5hdHRyaWJ1dGVzLG49e307Zm9yKGxldCBvIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShvKSYmaChlW29dKSYmaChlW29dLnZhbHVlcykpe2xldCByPWVbb107bltvXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOnIuY29tcG9uZW50RGF0YXR5cGUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTpyLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGUsbm9ybWFsaXplOnIubm9ybWFsaXplLHZhbHVlczpbXX0pfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6bixpbmRpY2VzOltdLHByaW1pdGl2ZVR5cGU6dC5wcmltaXRpdmVUeXBlfSl9ZnVuY3Rpb24gWmgodCxlLG4pe2xldCBvPWgodC5nZW9tZXRyeS5ib3VuZGluZ1NwaGVyZSk7ZT1xYihlLG8pLG49cWIobixvKSxoKG4pJiYhaChlKT90Lmdlb21ldHJ5PW46IWgobikmJmgoZSk/dC5nZW9tZXRyeT1lOih0Lndlc3RIZW1pc3BoZXJlR2VvbWV0cnk9ZSx0LmVhc3RIZW1pc3BoZXJlR2VvbWV0cnk9bix0Lmdlb21ldHJ5PXZvaWQgMCl9ZnVuY3Rpb24gUWgodCxlKXtsZXQgbj1uZXcgdCxvPW5ldyB0LHI9bmV3IHQ7cmV0dXJuIGZ1bmN0aW9uKGkscyxmLHUsYyxsLHAsZCl7bGV0IG09dC5mcm9tQXJyYXkoYyxpKmUsbiksXz10LmZyb21BcnJheShjLHMqZSxvKSxnPXQuZnJvbUFycmF5KGMsZiplLHIpO3QubXVsdGlwbHlCeVNjYWxhcihtLHUueCxtKSx0Lm11bHRpcGx5QnlTY2FsYXIoXyx1LnksXyksdC5tdWx0aXBseUJ5U2NhbGFyKGcsdS56LGcpO2xldCBiPXQuYWRkKG0sXyxtKTt0LmFkZChiLGcsYiksZCYmdC5ub3JtYWxpemUoYixiKSx0LnBhY2soYixsLHAqZSl9fWZ1bmN0aW9uIHpwKHQsZSxuLG8scixpLHMsZix1LGMsbCxwLGQsbSxfLGcpe2lmKCFoKGkpJiYhaChzKSYmIWgoZikmJiFoKHUpJiYhaChjKSYmbT09PTApcmV0dXJuO2xldCBiPWEuZnJvbUFycmF5KHIsdCozLEVmKSxUPWEuZnJvbUFycmF5KHIsZSozLFhoKSxPPWEuZnJvbUFycmF5KHIsbiozLFloKSxFPXdiKG8sYixULE8sb00pO2lmKGgoRSkpe2lmKGgoaSkmJkhwKHQsZSxuLEUsaSxwLm5vcm1hbC52YWx1ZXMsZywhMCksaChjKSl7bGV0IHc9YS5mcm9tQXJyYXkoYyx0KjMsRWYpLEM9YS5mcm9tQXJyYXkoYyxlKjMsWGgpLE49YS5mcm9tQXJyYXkoYyxuKjMsWWgpO2EubXVsdGlwbHlCeVNjYWxhcih3LEUueCx3KSxhLm11bHRpcGx5QnlTY2FsYXIoQyxFLnksQyksYS5tdWx0aXBseUJ5U2NhbGFyKE4sRS56LE4pO2xldCBJOyFhLmVxdWFscyh3LGEuWkVSTyl8fCFhLmVxdWFscyhDLGEuWkVSTyl8fCFhLmVxdWFscyhOLGEuWkVSTyk/KEk9YS5hZGQodyxDLHcpLGEuYWRkKEksTixJKSxhLm5vcm1hbGl6ZShJLEkpKTooST1FZixJLng9MCxJLnk9MCxJLno9MCksYS5wYWNrKEkscC5leHRydWRlRGlyZWN0aW9uLnZhbHVlcyxnKjMpfWlmKGgobCkmJm5NKHQsZSxuLEUsbCxwLmFwcGx5T2Zmc2V0LnZhbHVlcyxnKSxoKHMpJiZIcCh0LGUsbixFLHMscC50YW5nZW50LnZhbHVlcyxnLCEwKSxoKGYpJiZIcCh0LGUsbixFLGYscC5iaXRhbmdlbnQudmFsdWVzLGcsITApLGgodSkmJlpiKHQsZSxuLEUsdSxwLnN0LnZhbHVlcyxnKSxtPjApZm9yKGxldCB3PTA7dzxtO3crKyl7bGV0IEM9ZFt3XTtyTSh0LGUsbixFLGcsX1tDXSxwW0NdKX19fWZ1bmN0aW9uIHJNKHQsZSxuLG8scixpLHMpe2xldCBmPWkuY29tcG9uZW50c1BlckF0dHJpYnV0ZSx1PWkudmFsdWVzLGM9cy52YWx1ZXM7c3dpdGNoKGYpe2Nhc2UgNDplTSh0LGUsbixvLHUsYyxyLCExKTticmVhaztjYXNlIDM6SHAodCxlLG4sbyx1LGMsciwhMSk7YnJlYWs7Y2FzZSAyOlpiKHQsZSxuLG8sdSxjLHIsITEpO2JyZWFrO2RlZmF1bHQ6Y1tyXT11W3RdKm8ueCt1W2VdKm8ueSt1W25dKm8uen19ZnVuY3Rpb24gaWkodCxlLG4sbyxyLGkpe2xldCBzPXQucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zO2lmKHIhPT0tMSl7bGV0IGY9b1tyXSx1PW5bZl07cmV0dXJuIHU9PT0tMT8obltmXT1zLHQucG9zaXRpb24udmFsdWVzLnB1c2goaS54LGkueSxpLnopLGUucHVzaChzKSxzKTooZS5wdXNoKHUpLHUpfXJldHVybiB0LnBvc2l0aW9uLnZhbHVlcy5wdXNoKGkueCxpLnksaS56KSxlLnB1c2gocyksc31mdW5jdGlvbiBLYih0KXtsZXQgZT10Lmdlb21ldHJ5LG49ZS5hdHRyaWJ1dGVzLG89bi5wb3NpdGlvbi52YWx1ZXMscj1oKG4ubm9ybWFsKT9uLm5vcm1hbC52YWx1ZXM6dm9pZCAwLGk9aChuLmJpdGFuZ2VudCk/bi5iaXRhbmdlbnQudmFsdWVzOnZvaWQgMCxzPWgobi50YW5nZW50KT9uLnRhbmdlbnQudmFsdWVzOnZvaWQgMCxmPWgobi5zdCk/bi5zdC52YWx1ZXM6dm9pZCAwLHU9aChuLmV4dHJ1ZGVEaXJlY3Rpb24pP24uZXh0cnVkZURpcmVjdGlvbi52YWx1ZXM6dm9pZCAwLGM9aChuLmFwcGx5T2Zmc2V0KT9uLmFwcGx5T2Zmc2V0LnZhbHVlczp2b2lkIDAsbD1lLmluZGljZXMscD1bXTtmb3IobGV0IEkgaW4gbiluLmhhc093blByb3BlcnR5KEkpJiYhaU1bSV0mJmgobltJXSkmJnAucHVzaChJKTtsZXQgZD1wLmxlbmd0aCxtPWlhKGUpLF89aWEoZSksZyxiLFQsTyxFLHc9W107dy5sZW5ndGg9by5sZW5ndGgvMztsZXQgQz1bXTtmb3IoQy5sZW5ndGg9by5sZW5ndGgvMyxFPTA7RTx3Lmxlbmd0aDsrK0Upd1tFXT0tMSxDW0VdPS0xO2xldCBOPWwubGVuZ3RoO2ZvcihFPTA7RTxOO0UrPTMpe2xldCBJPWxbRV0sRD1sW0UrMV0sdj1sW0UrMl0sTD1hLmZyb21BcnJheShvLEkqMyksVT1hLmZyb21BcnJheShvLEQqMyksQT1hLmZyb21BcnJheShvLHYqMyksUz10TShMLFUsQSk7aWYoaChTKSYmUy5wb3NpdGlvbnMubGVuZ3RoPjMpe2xldCBQPVMucG9zaXRpb25zLEY9Uy5pbmRpY2VzLGo9Ri5sZW5ndGg7Zm9yKGxldCBIPTA7SDxqOysrSCl7bGV0IGs9RltIXSxLPVBba107Sy55PDA/KGc9Xy5hdHRyaWJ1dGVzLGI9Xy5pbmRpY2VzLFQ9dyk6KGc9bS5hdHRyaWJ1dGVzLGI9bS5pbmRpY2VzLFQ9QyksTz1paShnLGIsVCxsLGs8Mz9FK2s6LTEsSyksenAoSSxELHYsSyxvLHIscyxpLGYsdSxjLGcscCxkLG4sTyl9fWVsc2UgaChTKSYmKEw9Uy5wb3NpdGlvbnNbMF0sVT1TLnBvc2l0aW9uc1sxXSxBPVMucG9zaXRpb25zWzJdKSxMLnk8MD8oZz1fLmF0dHJpYnV0ZXMsYj1fLmluZGljZXMsVD13KTooZz1tLmF0dHJpYnV0ZXMsYj1tLmluZGljZXMsVD1DKSxPPWlpKGcsYixULGwsRSxMKSx6cChJLEQsdixMLG8scixzLGksZix1LGMsZyxwLGQsbixPKSxPPWlpKGcsYixULGwsRSsxLFUpLHpwKEksRCx2LFUsbyxyLHMsaSxmLHUsYyxnLHAsZCxuLE8pLE89aWkoZyxiLFQsbCxFKzIsQSksenAoSSxELHYsQSxvLHIscyxpLGYsdSxjLGcscCxkLG4sTyl9WmgodCxfLG0pfWZ1bmN0aW9uIHJhKHQsZSxuLG8scixpLHMpe2lmKCFoKHMpKXJldHVybjtsZXQgZj1hLmZyb21BcnJheShvLHQqMyxFZik7YS5lcXVhbHNFcHNpbG9uKGYsbixNLkVQU0lMT04xMCk/aS5hcHBseU9mZnNldC52YWx1ZXNbcl09c1t0XTppLmFwcGx5T2Zmc2V0LnZhbHVlc1tyXT1zW2VdfWZ1bmN0aW9uIFdiKHQpe2xldCBlPXQuZ2VvbWV0cnksbj1lLmF0dHJpYnV0ZXMsbz1uLnBvc2l0aW9uLnZhbHVlcyxyPWgobi5hcHBseU9mZnNldCk/bi5hcHBseU9mZnNldC52YWx1ZXM6dm9pZCAwLGk9ZS5pbmRpY2VzLHM9aWEoZSksZj1pYShlKSx1LGM9aS5sZW5ndGgsbD1bXTtsLmxlbmd0aD1vLmxlbmd0aC8zO2xldCBwPVtdO2ZvcihwLmxlbmd0aD1vLmxlbmd0aC8zLHU9MDt1PGwubGVuZ3RoOysrdSlsW3VdPS0xLHBbdV09LTE7Zm9yKHU9MDt1PGM7dSs9Mil7bGV0IGQ9aVt1XSxtPWlbdSsxXSxfPWEuZnJvbUFycmF5KG8sZCozLEVmKSxnPWEuZnJvbUFycmF5KG8sbSozLFhoKSxiO01hdGguYWJzKF8ueSk8TS5FUFNJTE9ONiYmKF8ueTwwP18ueT0tTS5FUFNJTE9ONjpfLnk9TS5FUFNJTE9ONiksTWF0aC5hYnMoZy55KTxNLkVQU0lMT042JiYoZy55PDA/Zy55PS1NLkVQU0lMT042OmcueT1NLkVQU0lMT042KTtsZXQgVD1zLmF0dHJpYnV0ZXMsTz1zLmluZGljZXMsRT1wLHc9Zi5hdHRyaWJ1dGVzLEM9Zi5pbmRpY2VzLE49bCxJPWhvLmxpbmVTZWdtZW50UGxhbmUoXyxnLFFiLFloKTtpZihoKEkpKXtsZXQgRD1hLm11bHRpcGx5QnlTY2FsYXIoYS5VTklUX1ksNSpNLkVQU0lMT045LHNNKTtfLnk8MCYmKGEubmVnYXRlKEQsRCksVD1mLmF0dHJpYnV0ZXMsTz1mLmluZGljZXMsRT1sLHc9cy5hdHRyaWJ1dGVzLEM9cy5pbmRpY2VzLE49cCk7bGV0IHY9YS5hZGQoSSxELGNNKTtiPWlpKFQsTyxFLGksdSxfKSxyYShkLG0sXyxvLGIsVCxyKSxiPWlpKFQsTyxFLGksLTEsdikscmEoZCxtLHYsbyxiLFQsciksYS5uZWdhdGUoRCxEKSxhLmFkZChJLEQsdiksYj1paSh3LEMsTixpLC0xLHYpLHJhKGQsbSx2LG8sYix3LHIpLGI9aWkodyxDLE4saSx1KzEsZykscmEoZCxtLGcsbyxiLHcscil9ZWxzZXtsZXQgRCx2LEw7Xy55PDA/KEQ9Zi5hdHRyaWJ1dGVzLHY9Zi5pbmRpY2VzLEw9bCk6KEQ9cy5hdHRyaWJ1dGVzLHY9cy5pbmRpY2VzLEw9cCksYj1paShELHYsTCxpLHUsXykscmEoZCxtLF8sbyxiLEQsciksYj1paShELHYsTCxpLHUrMSxnKSxyYShkLG0sZyxvLGIsRCxyKX19WmgodCxmLHMpfWZ1bmN0aW9uICRiKHQpe2xldCBlPXQuYXR0cmlidXRlcyxuPWUucG9zaXRpb24udmFsdWVzLG89ZS5wcmV2UG9zaXRpb24udmFsdWVzLHI9ZS5uZXh0UG9zaXRpb24udmFsdWVzLGk9bi5sZW5ndGg7Zm9yKGxldCBzPTA7czxpO3MrPTMpe2xldCBmPWEudW5wYWNrKG4scyxKYik7aWYoZi54PjApY29udGludWU7bGV0IHU9YS51bnBhY2sobyxzLHRUKTsoZi55PDAmJnUueT4wfHxmLnk+MCYmdS55PDApJiYocy0zPjA/KG9bc109bltzLTNdLG9bcysxXT1uW3MtMl0sb1tzKzJdPW5bcy0xXSk6YS5wYWNrKGYsbyxzKSk7bGV0IGM9YS51bnBhY2socixzLCRoKTsoZi55PDAmJmMueT4wfHxmLnk+MCYmYy55PDApJiYocyszPGk/KHJbc109bltzKzNdLHJbcysxXT1uW3MrNF0scltzKzJdPW5bcys1XSk6YS5wYWNrKGYscixzKSl9fWZ1bmN0aW9uIGRNKHQpe2xldCBlPXQuZ2VvbWV0cnksbj1lLmF0dHJpYnV0ZXMsbz1uLnBvc2l0aW9uLnZhbHVlcyxyPW4ucHJldlBvc2l0aW9uLnZhbHVlcyxpPW4ubmV4dFBvc2l0aW9uLnZhbHVlcyxzPW4uZXhwYW5kQW5kV2lkdGgudmFsdWVzLGY9aChuLnN0KT9uLnN0LnZhbHVlczp2b2lkIDAsdT1oKG4uY29sb3IpP24uY29sb3IudmFsdWVzOnZvaWQgMCxjPWlhKGUpLGw9aWEoZSkscCxkLG0sXz0hMSxnPW8ubGVuZ3RoLzM7Zm9yKHA9MDtwPGc7cCs9NCl7bGV0IGI9cCxUPXArMixPPWEuZnJvbUFycmF5KG8sYiozLEpiKSxFPWEuZnJvbUFycmF5KG8sVCozLHRUKTtpZihNYXRoLmFicyhPLnkpPGpwKWZvcihPLnk9anAqKEUueTwwPy0xOjEpLG9bcCozKzFdPU8ueSxvWyhwKzEpKjMrMV09Ty55LGQ9YiozO2Q8YiozKzQqMztkKz0zKXJbZF09b1twKjNdLHJbZCsxXT1vW3AqMysxXSxyW2QrMl09b1twKjMrMl07aWYoTWF0aC5hYnMoRS55KTxqcClmb3IoRS55PWpwKihPLnk8MD8tMToxKSxvWyhwKzIpKjMrMV09RS55LG9bKHArMykqMysxXT1FLnksZD1iKjM7ZDxiKjMrNCozO2QrPTMpaVtkXT1vWyhwKzIpKjNdLGlbZCsxXT1vWyhwKzIpKjMrMV0saVtkKzJdPW9bKHArMikqMysyXTtsZXQgdz1jLmF0dHJpYnV0ZXMsQz1jLmluZGljZXMsTj1sLmF0dHJpYnV0ZXMsST1sLmluZGljZXMsRD1oby5saW5lU2VnbWVudFBsYW5lKE8sRSxRYixmTSk7aWYoaChEKSl7Xz0hMDtsZXQgdj1hLm11bHRpcGx5QnlTY2FsYXIoYS5VTklUX1kscE0sdU0pO08ueTwwJiYoYS5uZWdhdGUodix2KSx3PWwuYXR0cmlidXRlcyxDPWwuaW5kaWNlcyxOPWMuYXR0cmlidXRlcyxJPWMuaW5kaWNlcyk7bGV0IEw9YS5hZGQoRCx2LGxNKTt3LnBvc2l0aW9uLnZhbHVlcy5wdXNoKE8ueCxPLnksTy56LE8ueCxPLnksTy56KSx3LnBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSx3LnBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSx3LnByZXZQb3NpdGlvbi52YWx1ZXMucHVzaChyW2IqM10scltiKjMrMV0scltiKjMrMl0pLHcucHJldlBvc2l0aW9uLnZhbHVlcy5wdXNoKHJbYiozKzNdLHJbYiozKzRdLHJbYiozKzVdKSx3LnByZXZQb3NpdGlvbi52YWx1ZXMucHVzaChPLngsTy55LE8ueixPLngsTy55LE8ueiksdy5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLHcubmV4dFBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSx3Lm5leHRQb3NpdGlvbi52YWx1ZXMucHVzaChMLngsTC55LEwueiksdy5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLGEubmVnYXRlKHYsdiksYS5hZGQoRCx2LEwpLE4ucG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLE4ucG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLE4ucG9zaXRpb24udmFsdWVzLnB1c2goRS54LEUueSxFLnosRS54LEUueSxFLnopLE4ucHJldlBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSxOLnByZXZQb3NpdGlvbi52YWx1ZXMucHVzaChMLngsTC55LEwueiksTi5wcmV2UG9zaXRpb24udmFsdWVzLnB1c2goTC54LEwueSxMLnopLE4ucHJldlBvc2l0aW9uLnZhbHVlcy5wdXNoKEwueCxMLnksTC56KSxOLm5leHRQb3NpdGlvbi52YWx1ZXMucHVzaChFLngsRS55LEUueixFLngsRS55LEUueiksTi5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goaVtUKjNdLGlbVCozKzFdLGlbVCozKzJdKSxOLm5leHRQb3NpdGlvbi52YWx1ZXMucHVzaChpW1QqMyszXSxpW1QqMys0XSxpW1QqMys1XSk7bGV0IFU9dHQuZnJvbUFycmF5KHMsYioyLFhiKSxBPU1hdGguYWJzKFUueSk7dy5leHBhbmRBbmRXaWR0aC52YWx1ZXMucHVzaCgtMSxBLDEsQSksdy5leHBhbmRBbmRXaWR0aC52YWx1ZXMucHVzaCgtMSwtQSwxLC1BKSxOLmV4cGFuZEFuZFdpZHRoLnZhbHVlcy5wdXNoKC0xLEEsMSxBKSxOLmV4cGFuZEFuZFdpZHRoLnZhbHVlcy5wdXNoKC0xLC1BLDEsLUEpO2xldCBTPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KEQsTywkaCkpO2lmKFMvPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KEUsTywkaCkpLGgodSkpe2xldCBQPWhlLmZyb21BcnJheSh1LGIqNCxZYiksRj1oZS5mcm9tQXJyYXkodSxUKjQsWWIpLGo9TS5sZXJwKFAueCxGLngsUyksSD1NLmxlcnAoUC55LEYueSxTKSxrPU0ubGVycChQLnosRi56LFMpLEs9TS5sZXJwKFAudyxGLncsUyk7Zm9yKGQ9Yio0O2Q8Yio0KzIqNDsrK2Qpdy5jb2xvci52YWx1ZXMucHVzaCh1W2RdKTtmb3Iody5jb2xvci52YWx1ZXMucHVzaChqLEgsayxLKSx3LmNvbG9yLnZhbHVlcy5wdXNoKGosSCxrLEspLE4uY29sb3IudmFsdWVzLnB1c2goaixILGssSyksTi5jb2xvci52YWx1ZXMucHVzaChqLEgsayxLKSxkPVQqNDtkPFQqNCsyKjQ7KytkKU4uY29sb3IudmFsdWVzLnB1c2godVtkXSl9aWYoaChmKSl7bGV0IFA9dHQuZnJvbUFycmF5KGYsYioyLFhiKSxGPXR0LmZyb21BcnJheShmLChwKzMpKjIsYU0pLGo9TS5sZXJwKFAueCxGLngsUyk7Zm9yKGQ9YioyO2Q8YioyKzIqMjsrK2Qpdy5zdC52YWx1ZXMucHVzaChmW2RdKTtmb3Iody5zdC52YWx1ZXMucHVzaChqLFAueSksdy5zdC52YWx1ZXMucHVzaChqLEYueSksTi5zdC52YWx1ZXMucHVzaChqLFAueSksTi5zdC52YWx1ZXMucHVzaChqLEYueSksZD1UKjI7ZDxUKjIrMioyOysrZClOLnN0LnZhbHVlcy5wdXNoKGZbZF0pfW09dy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMtNCxDLnB1c2gobSxtKzIsbSsxKSxDLnB1c2gobSsxLG0rMixtKzMpLG09Ti5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMtNCxJLnB1c2gobSxtKzIsbSsxKSxJLnB1c2gobSsxLG0rMixtKzMpfWVsc2V7bGV0IHYsTDtmb3IoTy55PDA/KHY9bC5hdHRyaWJ1dGVzLEw9bC5pbmRpY2VzKToodj1jLmF0dHJpYnV0ZXMsTD1jLmluZGljZXMpLHYucG9zaXRpb24udmFsdWVzLnB1c2goTy54LE8ueSxPLnopLHYucG9zaXRpb24udmFsdWVzLnB1c2goTy54LE8ueSxPLnopLHYucG9zaXRpb24udmFsdWVzLnB1c2goRS54LEUueSxFLnopLHYucG9zaXRpb24udmFsdWVzLnB1c2goRS54LEUueSxFLnopLGQ9cCozO2Q8cCozKzQqMzsrK2Qpdi5wcmV2UG9zaXRpb24udmFsdWVzLnB1c2gocltkXSksdi5uZXh0UG9zaXRpb24udmFsdWVzLnB1c2goaVtkXSk7Zm9yKGQ9cCoyO2Q8cCoyKzQqMjsrK2Qpdi5leHBhbmRBbmRXaWR0aC52YWx1ZXMucHVzaChzW2RdKSxoKGYpJiZ2LnN0LnZhbHVlcy5wdXNoKGZbZF0pO2lmKGgodSkpZm9yKGQ9cCo0O2Q8cCo0KzQqNDsrK2Qpdi5jb2xvci52YWx1ZXMucHVzaCh1W2RdKTttPXYucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLTQsTC5wdXNoKG0sbSsyLG0rMSksTC5wdXNoKG0rMSxtKzIsbSszKX19XyYmKCRiKGwpLCRiKGMpKSxaaCh0LGwsYyl9dmFyIHZvLGtiLEdQLGpoLFZyLFZwLGtwLGpQLEFyLHdmLG5hLG9hLEhQLEdiLHFQLE9mLFVyLHpiLGpiLEdwLEhiLGVjLG5jLG9jLHJjLFdoLGVNLEhwLFpiLG5NLEVmLFhoLFloLG9NLGlNLFFiLHNNLGNNLFhiLGFNLEpiLHRULCRoLGZNLHVNLGxNLFliLHBNLGpwLFZlLHNpPVooKCk9PnthcygpO09iKCk7dmUoKTtVZSgpO0Z0KCk7aHIoKTtJZSgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7RmgoKTtTaSgpO1hlKCk7WWUoKTtJcCgpOyRlKCk7a3MoKTt0YygpO1d0KCk7Qm4oKTtVbigpO2ZzKCk7dG4oKTtVYigpO3ZvPXt9O3ZvLnRvV2lyZWZyYW1lPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtsZXQgZT10LmluZGljZXM7aWYoaChlKSl7c3dpdGNoKHQucHJpbWl0aXZlVHlwZSl7Y2FzZSBCdC5UUklBTkdMRVM6dC5pbmRpY2VzPUJQKGUpO2JyZWFrO2Nhc2UgQnQuVFJJQU5HTEVfU1RSSVA6dC5pbmRpY2VzPVVQKGUpO2JyZWFrO2Nhc2UgQnQuVFJJQU5HTEVfRkFOOnQuaW5kaWNlcz1WUChlKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBCKCJnZW9tZXRyeS5wcmltaXRpdmVUeXBlIG11c3QgYmUgVFJJQU5HTEVTLCBUUklBTkdMRV9TVFJJUCwgb3IgVFJJQU5HTEVfRkFOLiIpfXQucHJpbWl0aXZlVHlwZT1CdC5MSU5FU31yZXR1cm4gdH07dm8uY3JlYXRlTGluZVNlZ21lbnRzRm9yVmVjdG9ycz1mdW5jdGlvbih0LGUsbil7aWYoZT14KGUsIm5vcm1hbCIpLCFoKHQpKXRocm93IG5ldyBCKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtpZighaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24pKXRocm93IG5ldyBCKCJnZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uIGlzIHJlcXVpcmVkLiIpO2lmKCFoKHQuYXR0cmlidXRlc1tlXSkpdGhyb3cgbmV3IEIoYGdlb21ldHJ5LmF0dHJpYnV0ZXMgbXVzdCBoYXZlIGFuIGF0dHJpYnV0ZSB3aXRoIHRoZSBzYW1lIG5hbWUgYXMgdGhlIGF0dHJpYnV0ZU5hbWUgcGFyYW1ldGVyLCAke2V9LmApO249eChuLDFlNCk7bGV0IG89dC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxyPXQuYXR0cmlidXRlc1tlXS52YWx1ZXMsaT1vLmxlbmd0aCxzPW5ldyBGbG9hdDY0QXJyYXkoMippKSxmPTA7Zm9yKGxldCBsPTA7bDxpO2wrPTMpc1tmKytdPW9bbF0sc1tmKytdPW9bbCsxXSxzW2YrK109b1tsKzJdLHNbZisrXT1vW2xdK3JbbF0qbixzW2YrK109b1tsKzFdK3JbbCsxXSpuLHNbZisrXT1vW2wrMl0rcltsKzJdKm47bGV0IHUsYz10LmJvdW5kaW5nU3BoZXJlO3JldHVybiBoKGMpJiYodT1uZXcgQXQoYy5jZW50ZXIsYy5yYWRpdXMrbikpLG5ldyBVdCh7YXR0cmlidXRlczp7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpzfSl9LHByaW1pdGl2ZVR5cGU6QnQuTElORVMsYm91bmRpbmdTcGhlcmU6dX0pfTt2by5jcmVhdGVBdHRyaWJ1dGVMb2NhdGlvbnM9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImdlb21ldHJ5IGlzIHJlcXVpcmVkLiIpO2xldCBlPVsicG9zaXRpb24iLCJwb3NpdGlvbkhpZ2giLCJwb3NpdGlvbkxvdyIsInBvc2l0aW9uM0RIaWdoIiwicG9zaXRpb24zRExvdyIsInBvc2l0aW9uMkRIaWdoIiwicG9zaXRpb24yRExvdyIsInBpY2tDb2xvciIsIm5vcm1hbCIsInN0IiwidGFuZ2VudCIsImJpdGFuZ2VudCIsImV4dHJ1ZGVEaXJlY3Rpb24iLCJjb21wcmVzc2VkQXR0cmlidXRlcyJdLG49dC5hdHRyaWJ1dGVzLG89e30scj0wLGkscz1lLmxlbmd0aDtmb3IoaT0wO2k8czsrK2kpe2xldCBmPWVbaV07aChuW2ZdKSYmKG9bZl09cisrKX1mb3IobGV0IGYgaW4gbiluLmhhc093blByb3BlcnR5KGYpJiYhaChvW2ZdKSYmKG9bZl09cisrKTtyZXR1cm4gb307dm8ucmVvcmRlckZvclByZVZlcnRleENhY2hlPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtsZXQgZT1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KSxuPXQuaW5kaWNlcztpZihoKG4pKXtsZXQgbz1uZXcgSW50MzJBcnJheShlKTtmb3IobGV0IGQ9MDtkPGU7ZCsrKW9bZF09LTE7bGV0IHI9bixpPXIubGVuZ3RoLHM9RHQuY3JlYXRlVHlwZWRBcnJheShlLGkpLGY9MCx1PTAsYz0wLGw7Zm9yKDtmPGk7KWw9b1tyW2ZdXSxsIT09LTE/c1t1XT1sOihsPXJbZl0sb1tsXT1jLHNbdV09YywrK2MpLCsrZiwrK3U7dC5pbmRpY2VzPXM7bGV0IHA9dC5hdHRyaWJ1dGVzO2ZvcihsZXQgZCBpbiBwKWlmKHAuaGFzT3duUHJvcGVydHkoZCkmJmgocFtkXSkmJmgocFtkXS52YWx1ZXMpKXtsZXQgbT1wW2RdLF89bS52YWx1ZXMsZz0wLGI9bS5jb21wb25lbnRzUGVyQXR0cmlidXRlLFQ9bnQuY3JlYXRlVHlwZWRBcnJheShtLmNvbXBvbmVudERhdGF0eXBlLGMqYik7Zm9yKDtnPGU7KXtsZXQgTz1vW2ddO2lmKE8hPT0tMSlmb3IobGV0IEU9MDtFPGI7RSsrKVRbYipPK0VdPV9bYipnK0VdOysrZ31tLnZhbHVlcz1UfX1yZXR1cm4gdH07dm8ucmVvcmRlckZvclBvc3RWZXJ0ZXhDYWNoZT1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtsZXQgbj10LmluZGljZXM7aWYodC5wcmltaXRpdmVUeXBlPT09QnQuVFJJQU5HTEVTJiZoKG4pKXtsZXQgbz1uLmxlbmd0aCxyPTA7Zm9yKGxldCBpPTA7aTxvO2krKyluW2ldPnImJihyPW5baV0pO3QuaW5kaWNlcz1CYi50aXBzaWZ5KHtpbmRpY2VzOm4sbWF4aW11bUluZGV4OnIsY2FjaGVTaXplOmV9KX1yZXR1cm4gdH07dm8uZml0VG9VbnNpZ25lZFNob3J0SW5kaWNlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigiZ2VvbWV0cnkgaXMgcmVxdWlyZWQuIik7aWYoaCh0LmluZGljZXMpJiZ0LnByaW1pdGl2ZVR5cGUhPT1CdC5UUklBTkdMRVMmJnQucHJpbWl0aXZlVHlwZSE9PUJ0LkxJTkVTJiZ0LnByaW1pdGl2ZVR5cGUhPT1CdC5QT0lOVFMpdGhyb3cgbmV3IEIoImdlb21ldHJ5LnByaW1pdGl2ZVR5cGUgbXVzdCBlcXVhbCB0byBQcmltaXRpdmVUeXBlLlRSSUFOR0xFUywgUHJpbWl0aXZlVHlwZS5MSU5FUywgb3IgUHJpbWl0aXZlVHlwZS5QT0lOVFMuIik7bGV0IGU9W10sbj1VdC5jb21wdXRlTnVtYmVyT2ZWZXJ0aWNlcyh0KTtpZihoKHQuaW5kaWNlcykmJm4+PU0uU0lYVFlfRk9VUl9LSUxPQllURVMpe2xldCBvPVtdLHI9W10saT0wLHM9VmIodC5hdHRyaWJ1dGVzKSxmPXQuaW5kaWNlcyx1PWYubGVuZ3RoLGM7dC5wcmltaXRpdmVUeXBlPT09QnQuVFJJQU5HTEVTP2M9Mzp0LnByaW1pdGl2ZVR5cGU9PT1CdC5MSU5FUz9jPTI6dC5wcmltaXRpdmVUeXBlPT09QnQuUE9JTlRTJiYoYz0xKTtmb3IobGV0IGw9MDtsPHU7bCs9Yyl7Zm9yKGxldCBwPTA7cDxjOysrcCl7bGV0IGQ9ZltsK3BdLG09b1tkXTtoKG0pfHwobT1pKyssb1tkXT1tLGtQKHMsdC5hdHRyaWJ1dGVzLGQpKSxyLnB1c2gobSl9aStjPj1NLlNJWFRZX0ZPVVJfS0lMT0JZVEVTJiYoZS5wdXNoKG5ldyBVdCh7YXR0cmlidXRlczpzLGluZGljZXM6cixwcmltaXRpdmVUeXBlOnQucHJpbWl0aXZlVHlwZSxib3VuZGluZ1NwaGVyZTp0LmJvdW5kaW5nU3BoZXJlLGJvdW5kaW5nU3BoZXJlQ1Y6dC5ib3VuZGluZ1NwaGVyZUNWfSkpLG89W10scj1bXSxpPTAscz1WYih0LmF0dHJpYnV0ZXMpKX1yLmxlbmd0aCE9PTAmJmUucHVzaChuZXcgVXQoe2F0dHJpYnV0ZXM6cyxpbmRpY2VzOnIscHJpbWl0aXZlVHlwZTp0LnByaW1pdGl2ZVR5cGUsYm91bmRpbmdTcGhlcmU6dC5ib3VuZGluZ1NwaGVyZSxib3VuZGluZ1NwaGVyZUNWOnQuYm91bmRpbmdTcGhlcmVDVn0pKX1lbHNlIGUucHVzaCh0KTtyZXR1cm4gZX07a2I9bmV3IGEsR1A9bmV3IGN0O3ZvLnByb2plY3RUbzJEPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImdlb21ldHJ5IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJhdHRyaWJ1dGVOYW1lIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJhdHRyaWJ1dGVOYW1lM0QgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEIoImF0dHJpYnV0ZU5hbWUyRCBpcyByZXF1aXJlZC4iKTtpZighaCh0LmF0dHJpYnV0ZXNbZV0pKXRocm93IG5ldyBCKGBnZW9tZXRyeSBtdXN0IGhhdmUgYXR0cmlidXRlIG1hdGNoaW5nIHRoZSBhdHRyaWJ1dGVOYW1lIGFyZ3VtZW50OiAke2V9LmApO2lmKHQuYXR0cmlidXRlc1tlXS5jb21wb25lbnREYXRhdHlwZSE9PW50LkRPVUJMRSl0aHJvdyBuZXcgQigiVGhlIGF0dHJpYnV0ZSBjb21wb25lbnREYXRhdHlwZSBtdXN0IGJlIENvbXBvbmVudERhdGF0eXBlLkRPVUJMRS4iKTtsZXQgaT10LmF0dHJpYnV0ZXNbZV07cj1oKHIpP3I6bmV3IEpuO2xldCBzPXIuZWxsaXBzb2lkLGY9aS52YWx1ZXMsdT1uZXcgRmxvYXQ2NEFycmF5KGYubGVuZ3RoKSxjPTA7Zm9yKGxldCBsPTA7bDxmLmxlbmd0aDtsKz0zKXtsZXQgcD1hLmZyb21BcnJheShmLGwsa2IpLGQ9cy5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhwLEdQKTtpZighaChkKSl0aHJvdyBuZXcgQihgQ291bGQgbm90IHByb2plY3QgcG9pbnQgKCR7cC54fSwgJHtwLnl9LCAke3Auen0pIHRvIDJELmApO2xldCBtPXIucHJvamVjdChkLGtiKTt1W2MrK109bS54LHVbYysrXT1tLnksdVtjKytdPW0uen1yZXR1cm4gdC5hdHRyaWJ1dGVzW25dPWksdC5hdHRyaWJ1dGVzW29dPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6dX0pLGRlbGV0ZSB0LmF0dHJpYnV0ZXNbZV0sdH07amg9e2hpZ2g6MCxsb3c6MH07dm8uZW5jb2RlQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuLG8pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigiYXR0cmlidXRlTmFtZSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigiYXR0cmlidXRlSGlnaE5hbWUgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEIoImF0dHJpYnV0ZUxvd05hbWUgaXMgcmVxdWlyZWQuIik7aWYoIWgodC5hdHRyaWJ1dGVzW2VdKSl0aHJvdyBuZXcgQihgZ2VvbWV0cnkgbXVzdCBoYXZlIGF0dHJpYnV0ZSBtYXRjaGluZyB0aGUgYXR0cmlidXRlTmFtZSBhcmd1bWVudDogJHtlfS5gKTtpZih0LmF0dHJpYnV0ZXNbZV0uY29tcG9uZW50RGF0YXR5cGUhPT1udC5ET1VCTEUpdGhyb3cgbmV3IEIoIlRoZSBhdHRyaWJ1dGUgY29tcG9uZW50RGF0YXR5cGUgbXVzdCBiZSBDb21wb25lbnREYXRhdHlwZS5ET1VCTEUuIik7bGV0IHI9dC5hdHRyaWJ1dGVzW2VdLGk9ci52YWx1ZXMscz1pLmxlbmd0aCxmPW5ldyBGbG9hdDMyQXJyYXkocyksdT1uZXcgRmxvYXQzMkFycmF5KHMpO2ZvcihsZXQgbD0wO2w8czsrK2wpWnMuZW5jb2RlKGlbbF0samgpLGZbbF09amguaGlnaCx1W2xdPWpoLmxvdztsZXQgYz1yLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGU7cmV0dXJuIHQuYXR0cmlidXRlc1tuXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Yyx2YWx1ZXM6Zn0pLHQuYXR0cmlidXRlc1tvXT1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Yyx2YWx1ZXM6dX0pLGRlbGV0ZSB0LmF0dHJpYnV0ZXNbZV0sdH07VnI9bmV3IGE7VnA9bmV3IHN0LGtwPW5ldyBRO3ZvLnRyYW5zZm9ybVRvV29ybGRDb29yZGluYXRlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigiaW5zdGFuY2UgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5tb2RlbE1hdHJpeDtpZihzdC5lcXVhbHMoZSxzdC5JREVOVElUWSkpcmV0dXJuIHQ7bGV0IG49dC5nZW9tZXRyeS5hdHRyaWJ1dGVzO0hoKGUsbi5wb3NpdGlvbiksSGgoZSxuLnByZXZQb3NpdGlvbiksSGgoZSxuLm5leHRQb3NpdGlvbiksKGgobi5ub3JtYWwpfHxoKG4udGFuZ2VudCl8fGgobi5iaXRhbmdlbnQpKSYmKHN0LmludmVyc2UoZSxWcCksc3QudHJhbnNwb3NlKFZwLFZwKSxzdC5nZXRNYXRyaXgzKFZwLGtwKSxxaChrcCxuLm5vcm1hbCkscWgoa3Asbi50YW5nZW50KSxxaChrcCxuLmJpdGFuZ2VudCkpO2xldCBvPXQuZ2VvbWV0cnkuYm91bmRpbmdTcGhlcmU7cmV0dXJuIGgobykmJih0Lmdlb21ldHJ5LmJvdW5kaW5nU3BoZXJlPUF0LnRyYW5zZm9ybShvLGUsbykpLHQubW9kZWxNYXRyaXg9c3QuY2xvbmUoc3QuSURFTlRJVFkpLHR9O2pQPW5ldyBhO3ZvLmNvbWJpbmVJbnN0YW5jZXM9ZnVuY3Rpb24odCl7aWYoIWgodCl8fHQubGVuZ3RoPDEpdGhyb3cgbmV3IEIoImluc3RhbmNlcyBpcyByZXF1aXJlZCBhbmQgbXVzdCBoYXZlIGxlbmd0aCBncmVhdGVyIHRoYW4gemVyby4iKTtsZXQgZT1bXSxuPVtdLG89dC5sZW5ndGg7Zm9yKGxldCBpPTA7aTxvOysraSl7bGV0IHM9dFtpXTtoKHMuZ2VvbWV0cnkpP2UucHVzaChzKTpoKHMud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSkmJmgocy5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5KSYmbi5wdXNoKHMpfWxldCByPVtdO3JldHVybiBlLmxlbmd0aD4wJiZyLnB1c2goS2goZSwiZ2VvbWV0cnkiKSksbi5sZW5ndGg+MCYmKHIucHVzaChLaChuLCJ3ZXN0SGVtaXNwaGVyZUdlb21ldHJ5IikpLHIucHVzaChLaChuLCJlYXN0SGVtaXNwaGVyZUdlb21ldHJ5IikpKSxyfTtBcj1uZXcgYSx3Zj1uZXcgYSxuYT1uZXcgYSxvYT1uZXcgYTt2by5jb21wdXRlTm9ybWFsPWZ1bmN0aW9uKHQpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJnZW9tZXRyeSBpcyByZXF1aXJlZC4iKTtpZighaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24pfHwhaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzKSl0aHJvdyBuZXcgQigiZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMgaXMgcmVxdWlyZWQuIik7aWYoIWgodC5pbmRpY2VzKSl0aHJvdyBuZXcgQigiZ2VvbWV0cnkuaW5kaWNlcyBpcyByZXF1aXJlZC4iKTtpZih0LmluZGljZXMubGVuZ3RoPDJ8fHQuaW5kaWNlcy5sZW5ndGglMyE9PTApdGhyb3cgbmV3IEIoImdlb21ldHJ5LmluZGljZXMgbGVuZ3RoIG11c3QgYmUgZ3JlYXRlciB0aGFuIDAgYW5kIGJlIGEgbXVsdGlwbGUgb2YgMy4iKTtpZih0LnByaW1pdGl2ZVR5cGUhPT1CdC5UUklBTkdMRVMpdGhyb3cgbmV3IEIoImdlb21ldHJ5LnByaW1pdGl2ZVR5cGUgbXVzdCBiZSBQcmltaXRpdmVUeXBlLlRSSUFOR0xFUy4iKTtsZXQgZT10LmluZGljZXMsbj10LmF0dHJpYnV0ZXMsbz1uLnBvc2l0aW9uLnZhbHVlcyxyPW4ucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLGk9ZS5sZW5ndGgscz1uZXcgQXJyYXkociksZj1uZXcgQXJyYXkoaS8zKSx1PW5ldyBBcnJheShpKSxjO2ZvcihjPTA7YzxyO2MrKylzW2NdPXtpbmRleE9mZnNldDowLGNvdW50OjAsY3VycmVudENvdW50OjB9O2xldCBsPTA7Zm9yKGM9MDtjPGk7Yys9Myl7bGV0IF89ZVtjXSxnPWVbYysxXSxiPWVbYysyXSxUPV8qMyxPPWcqMyxFPWIqMzt3Zi54PW9bVF0sd2YueT1vW1QrMV0sd2Yuej1vW1QrMl0sbmEueD1vW09dLG5hLnk9b1tPKzFdLG5hLno9b1tPKzJdLG9hLng9b1tFXSxvYS55PW9bRSsxXSxvYS56PW9bRSsyXSxzW19dLmNvdW50Kyssc1tnXS5jb3VudCsrLHNbYl0uY291bnQrKyxhLnN1YnRyYWN0KG5hLHdmLG5hKSxhLnN1YnRyYWN0KG9hLHdmLG9hKSxmW2xdPWEuY3Jvc3MobmEsb2EsbmV3IGEpLGwrK31sZXQgcD0wO2ZvcihjPTA7YzxyO2MrKylzW2NdLmluZGV4T2Zmc2V0Kz1wLHArPXNbY10uY291bnQ7bD0wO2xldCBkO2ZvcihjPTA7YzxpO2MrPTMpe2Q9c1tlW2NdXTtsZXQgXz1kLmluZGV4T2Zmc2V0K2QuY3VycmVudENvdW50O3VbX109bCxkLmN1cnJlbnRDb3VudCsrLGQ9c1tlW2MrMV1dLF89ZC5pbmRleE9mZnNldCtkLmN1cnJlbnRDb3VudCx1W19dPWwsZC5jdXJyZW50Q291bnQrKyxkPXNbZVtjKzJdXSxfPWQuaW5kZXhPZmZzZXQrZC5jdXJyZW50Q291bnQsdVtfXT1sLGQuY3VycmVudENvdW50KyssbCsrfWxldCBtPW5ldyBGbG9hdDMyQXJyYXkociozKTtmb3IoYz0wO2M8cjtjKyspe2xldCBfPWMqMztpZihkPXNbY10sYS5jbG9uZShhLlpFUk8sQXIpLGQuY291bnQ+MCl7Zm9yKGw9MDtsPGQuY291bnQ7bCsrKWEuYWRkKEFyLGZbdVtkLmluZGV4T2Zmc2V0K2xdXSxBcik7YS5lcXVhbHNFcHNpbG9uKGEuWkVSTyxBcixNLkVQU0lMT04xMCkmJmEuY2xvbmUoZlt1W2QuaW5kZXhPZmZzZXRdXSxBcil9YS5lcXVhbHNFcHNpbG9uKGEuWkVSTyxBcixNLkVQU0lMT04xMCkmJihBci56PTEpLGEubm9ybWFsaXplKEFyLEFyKSxtW19dPUFyLngsbVtfKzFdPUFyLnksbVtfKzJdPUFyLnp9cmV0dXJuIHQuYXR0cmlidXRlcy5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm19KSx0fTtIUD1uZXcgYSxHYj1uZXcgYSxxUD1uZXcgYTt2by5jb21wdXRlVGFuZ2VudEFuZEJpdGFuZ2VudD1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigiZ2VvbWV0cnkgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5hdHRyaWJ1dGVzLG49dC5pbmRpY2VzO2lmKCFoKGUucG9zaXRpb24pfHwhaChlLnBvc2l0aW9uLnZhbHVlcykpdGhyb3cgbmV3IEIoImdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUubm9ybWFsKXx8IWgoZS5ub3JtYWwudmFsdWVzKSl0aHJvdyBuZXcgQigiZ2VvbWV0cnkuYXR0cmlidXRlcy5ub3JtYWwudmFsdWVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUuc3QpfHwhaChlLnN0LnZhbHVlcykpdGhyb3cgbmV3IEIoImdlb21ldHJ5LmF0dHJpYnV0ZXMuc3QudmFsdWVzIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJnZW9tZXRyeS5pbmRpY2VzIGlzIHJlcXVpcmVkLiIpO2lmKG4ubGVuZ3RoPDJ8fG4ubGVuZ3RoJTMhPT0wKXRocm93IG5ldyBCKCJnZW9tZXRyeS5pbmRpY2VzIGxlbmd0aCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIGFuZCBiZSBhIG11bHRpcGxlIG9mIDMuIik7aWYodC5wcmltaXRpdmVUeXBlIT09QnQuVFJJQU5HTEVTKXRocm93IG5ldyBCKCJnZW9tZXRyeS5wcmltaXRpdmVUeXBlIG11c3QgYmUgUHJpbWl0aXZlVHlwZS5UUklBTkdMRVMuIik7bGV0IG89dC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxyPXQuYXR0cmlidXRlcy5ub3JtYWwudmFsdWVzLGk9dC5hdHRyaWJ1dGVzLnN0LnZhbHVlcyxzPXQuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMsZj1uLmxlbmd0aCx1PW5ldyBBcnJheShzKjMpLGM7Zm9yKGM9MDtjPHUubGVuZ3RoO2MrKyl1W2NdPTA7bGV0IGwscCxkO2ZvcihjPTA7YzxmO2MrPTMpe2xldCBnPW5bY10sYj1uW2MrMV0sVD1uW2MrMl07bD1nKjMscD1iKjMsZD1UKjM7bGV0IE89ZyoyLEU9YioyLHc9VCoyLEM9b1tsXSxOPW9bbCsxXSxJPW9bbCsyXSxEPWlbT10sdj1pW08rMV0sTD1pW0UrMV0tdixVPWlbdysxXS12LEE9MS8oKGlbRV0tRCkqVS0oaVt3XS1EKSpMKSxTPShVKihvW3BdLUMpLUwqKG9bZF0tQykpKkEsUD0oVSoob1twKzFdLU4pLUwqKG9bZCsxXS1OKSkqQSxGPShVKihvW3ArMl0tSSktTCoob1tkKzJdLUkpKSpBO3VbbF0rPVMsdVtsKzFdKz1QLHVbbCsyXSs9Rix1W3BdKz1TLHVbcCsxXSs9UCx1W3ArMl0rPUYsdVtkXSs9Uyx1W2QrMV0rPVAsdVtkKzJdKz1GfWxldCBtPW5ldyBGbG9hdDMyQXJyYXkocyozKSxfPW5ldyBGbG9hdDMyQXJyYXkocyozKTtmb3IoYz0wO2M8cztjKyspe2w9YyozLHA9bCsxLGQ9bCsyO2xldCBnPWEuZnJvbUFycmF5KHIsbCxIUCksYj1hLmZyb21BcnJheSh1LGwscVApLFQ9YS5kb3QoZyxiKTthLm11bHRpcGx5QnlTY2FsYXIoZyxULEdiKSxhLm5vcm1hbGl6ZShhLnN1YnRyYWN0KGIsR2IsYiksYiksbVtsXT1iLngsbVtwXT1iLnksbVtkXT1iLnosYS5ub3JtYWxpemUoYS5jcm9zcyhnLGIsYiksYiksX1tsXT1iLngsX1twXT1iLnksX1tkXT1iLnp9cmV0dXJuIHQuYXR0cmlidXRlcy50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczptfSksdC5hdHRyaWJ1dGVzLmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6X30pLHR9O09mPW5ldyB0dCxVcj1uZXcgYSx6Yj1uZXcgYSxqYj1uZXcgYSxHcD1uZXcgdHQ7dm8uY29tcHJlc3NWZXJ0aWNlcz1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigiZ2VvbWV0cnkgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5hdHRyaWJ1dGVzLmV4dHJ1ZGVEaXJlY3Rpb24sbixvO2lmKGgoZSkpe2xldCBOPWUudmFsdWVzO289Ti5sZW5ndGgvMztsZXQgST1uZXcgRmxvYXQzMkFycmF5KG8qMiksRD0wO2ZvcihuPTA7bjxvOysrbil7aWYoYS5mcm9tQXJyYXkoTixuKjMsVXIpLGEuZXF1YWxzKFVyLGEuWkVSTykpe0QrPTI7Y29udGludWV9R3A9bm4ub2N0RW5jb2RlSW5SYW5nZShVciw2NTUzNSxHcCksSVtEKytdPUdwLngsSVtEKytdPUdwLnl9cmV0dXJuIHQuYXR0cmlidXRlcy5jb21wcmVzc2VkQXR0cmlidXRlcz1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6SX0pLGRlbGV0ZSB0LmF0dHJpYnV0ZXMuZXh0cnVkZURpcmVjdGlvbix0fWxldCByPXQuYXR0cmlidXRlcy5ub3JtYWwsaT10LmF0dHJpYnV0ZXMuc3Qscz1oKHIpLGY9aChpKTtpZighcyYmIWYpcmV0dXJuIHQ7bGV0IHU9dC5hdHRyaWJ1dGVzLnRhbmdlbnQsYz10LmF0dHJpYnV0ZXMuYml0YW5nZW50LGw9aCh1KSxwPWgoYyksZCxtLF8sZztzJiYoZD1yLnZhbHVlcyksZiYmKG09aS52YWx1ZXMpLGwmJihfPXUudmFsdWVzKSxwJiYoZz1jLnZhbHVlcyksbz0ocz9kLmxlbmd0aDptLmxlbmd0aCkvKHM/MzoyKTtsZXQgTz1vLEU9ZiYmcz8yOjE7RSs9bHx8cD8xOjAsTyo9RTtsZXQgdz1uZXcgRmxvYXQzMkFycmF5KE8pLEM9MDtmb3Iobj0wO248bzsrK24pe2YmJih0dC5mcm9tQXJyYXkobSxuKjIsT2YpLHdbQysrXT1ubi5jb21wcmVzc1RleHR1cmVDb29yZGluYXRlcyhPZikpO2xldCBOPW4qMztzJiZoKF8pJiZoKGcpPyhhLmZyb21BcnJheShkLE4sVXIpLGEuZnJvbUFycmF5KF8sTix6YiksYS5mcm9tQXJyYXkoZyxOLGpiKSxubi5vY3RQYWNrKFVyLHpiLGpiLE9mKSx3W0MrK109T2YueCx3W0MrK109T2YueSk6KHMmJihhLmZyb21BcnJheShkLE4sVXIpLHdbQysrXT1ubi5vY3RFbmNvZGVGbG9hdChVcikpLGwmJihhLmZyb21BcnJheShfLE4sVXIpLHdbQysrXT1ubi5vY3RFbmNvZGVGbG9hdChVcikpLHAmJihhLmZyb21BcnJheShnLE4sVXIpLHdbQysrXT1ubi5vY3RFbmNvZGVGbG9hdChVcikpKX1yZXR1cm4gdC5hdHRyaWJ1dGVzLmNvbXByZXNzZWRBdHRyaWJ1dGVzPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTpFLHZhbHVlczp3fSkscyYmZGVsZXRlIHQuYXR0cmlidXRlcy5ub3JtYWwsZiYmZGVsZXRlIHQuYXR0cmlidXRlcy5zdCxwJiZkZWxldGUgdC5hdHRyaWJ1dGVzLmJpdGFuZ2VudCxsJiZkZWxldGUgdC5hdHRyaWJ1dGVzLnRhbmdlbnQsdH07SGI9bmV3IGE7ZWM9bmV3IGEsbmM9bmV3IGEsb2M9bmV3IGEscmM9bmV3IGEsV2g9e3Bvc2l0aW9uczpuZXcgQXJyYXkoNyksaW5kaWNlczpuZXcgQXJyYXkoMyozKX07ZU09UWgoaGUsNCksSHA9UWgoYSwzKSxaYj1RaCh0dCwyKSxuTT1mdW5jdGlvbih0LGUsbixvLHIsaSxzKXtsZXQgZj1yW3RdKm8ueCx1PXJbZV0qby55LGM9cltuXSpvLno7aVtzXT1mK3UrYz5NLkVQU0lMT042PzE6MH0sRWY9bmV3IGEsWGg9bmV3IGEsWWg9bmV3IGEsb009bmV3IGE7aU09e3Bvc2l0aW9uOiEwLG5vcm1hbDohMCxiaXRhbmdlbnQ6ITAsdGFuZ2VudDohMCxzdDohMCxleHRydWRlRGlyZWN0aW9uOiEwLGFwcGx5T2Zmc2V0OiEwfTtRYj1vbi5mcm9tUG9pbnROb3JtYWwoYS5aRVJPLGEuVU5JVF9ZKSxzTT1uZXcgYSxjTT1uZXcgYTtYYj1uZXcgdHQsYU09bmV3IHR0LEpiPW5ldyBhLHRUPW5ldyBhLCRoPW5ldyBhLGZNPW5ldyBhLHVNPW5ldyBhLGxNPW5ldyBhLFliPW5ldyBoZTtwTT01Kk0uRVBTSUxPTjksanA9TS5FUFNJTE9ONjt2by5zcGxpdExvbmdpdHVkZT1mdW5jdGlvbih0KXtpZighaCh0KSl0aHJvdyBuZXcgQigiaW5zdGFuY2UgaXMgcmVxdWlyZWQuIik7bGV0IGU9dC5nZW9tZXRyeSxuPWUuYm91bmRpbmdTcGhlcmU7aWYoaChuKSYmKG4uY2VudGVyLngtbi5yYWRpdXM+MHx8QXQuaW50ZXJzZWN0UGxhbmUobixvbi5PUklHSU5fWlhfUExBTkUpIT09U24uSU5URVJTRUNUSU5HKSlyZXR1cm4gdDtpZihlLmdlb21ldHJ5VHlwZSE9PU1pLk5PTkUpc3dpdGNoKGUuZ2VvbWV0cnlUeXBlKXtjYXNlIE1pLlBPTFlMSU5FUzpkTSh0KTticmVhaztjYXNlIE1pLlRSSUFOR0xFUzpLYih0KTticmVhaztjYXNlIE1pLkxJTkVTOldiKHQpO2JyZWFrfWVsc2UgUVAoZSksZS5wcmltaXRpdmVUeXBlPT09QnQuVFJJQU5HTEVTP0tiKHQpOmUucHJpbWl0aXZlVHlwZT09PUJ0LkxJTkVTJiZXYih0KTtyZXR1cm4gdH07VmU9dm99KTtmdW5jdGlvbiBSZih0LGUsbil7dD14KHQsMCksZT14KGUsMCksbj14KG4sMCksdGhpcy52YWx1ZT1uZXcgRmxvYXQzMkFycmF5KFt0LGUsbl0pfXZhciBlVCxuVD1aKCgpPT57WHQoKTtGZSgpO0l0KCk7ZnQoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhSZi5wcm90b3R5cGUse2NvbXBvbmVudERhdGF0eXBlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gbnQuRkxPQVR9fSxjb21wb25lbnRzUGVyQXR0cmlidXRlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gM319LG5vcm1hbGl6ZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuITF9fX0pO1JmLmZyb21DYXJ0ZXNpYW4zPWZ1bmN0aW9uKHQpe3JldHVybiB5LmRlZmluZWQoIm9mZnNldCIsdCksbmV3IFJmKHQueCx0LnksdC56KX07UmYudG9WYWx1ZT1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoIm9mZnNldCIsdCksaChlKXx8KGU9bmV3IEZsb2F0MzJBcnJheShbdC54LHQueSx0LnpdKSksZVswXT10LngsZVsxXT10LnksZVsyXT10LnosZX07ZVQ9UmZ9KTtmdW5jdGlvbiAkbyh0KXt0aGlzLl9lbGxpcHNvaWQ9eCh0LCQuV0dTODQpLHRoaXMuX3NlbWltYWpvckF4aXM9dGhpcy5fZWxsaXBzb2lkLm1heGltdW1SYWRpdXMsdGhpcy5fb25lT3ZlclNlbWltYWpvckF4aXM9MS90aGlzLl9zZW1pbWFqb3JBeGlzfXZhciBubyxpYz1aKCgpPT57RnQoKTtJZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7V3QoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcygkby5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19fSk7JG8ubWVyY2F0b3JBbmdsZVRvR2VvZGV0aWNMYXRpdHVkZT1mdW5jdGlvbih0KXtyZXR1cm4gTS5QSV9PVkVSX1RXTy0yKk1hdGguYXRhbihNYXRoLmV4cCgtdCkpfTskby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlPWZ1bmN0aW9uKHQpe3Q+JG8uTWF4aW11bUxhdGl0dWRlP3Q9JG8uTWF4aW11bUxhdGl0dWRlOnQ8LSRvLk1heGltdW1MYXRpdHVkZSYmKHQ9LSRvLk1heGltdW1MYXRpdHVkZSk7bGV0IGU9TWF0aC5zaW4odCk7cmV0dXJuIC41Kk1hdGgubG9nKCgxK2UpLygxLWUpKX07JG8uTWF4aW11bUxhdGl0dWRlPSRvLm1lcmNhdG9yQW5nbGVUb0dlb2RldGljTGF0aXR1ZGUoTWF0aC5QSSk7JG8ucHJvdG90eXBlLnByb2plY3Q9ZnVuY3Rpb24odCxlKXtsZXQgbj10aGlzLl9zZW1pbWFqb3JBeGlzLG89dC5sb25naXR1ZGUqbixyPSRvLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUodC5sYXRpdHVkZSkqbixpPXQuaGVpZ2h0O3JldHVybiBoKGUpPyhlLng9byxlLnk9cixlLno9aSxlKTpuZXcgYShvLHIsaSl9OyRvLnByb3RvdHlwZS51bnByb2plY3Q9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigiY2FydGVzaWFuIGlzIHJlcXVpcmVkIik7bGV0IG49dGhpcy5fb25lT3ZlclNlbWltYWpvckF4aXMsbz10LngqbixyPSRvLm1lcmNhdG9yQW5nbGVUb0dlb2RldGljTGF0aXR1ZGUodC55Km4pLGk9dC56O3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT1vLGUubGF0aXR1ZGU9cixlLmhlaWdodD1pLGUpOm5ldyBjdChvLHIsaSl9O25vPSRvfSk7ZnVuY3Rpb24gbU0odCxlLG4pe2xldCBvPSFuLHI9dC5sZW5ndGgsaTtpZighbyYmcj4xKXtsZXQgcz10WzBdLm1vZGVsTWF0cml4O2ZvcihpPTE7aTxyOysraSlpZighc3QuZXF1YWxzKHMsdFtpXS5tb2RlbE1hdHJpeCkpe289ITA7YnJlYWt9fWlmKG8pZm9yKGk9MDtpPHI7KytpKWgodFtpXS5nZW9tZXRyeSkmJlZlLnRyYW5zZm9ybVRvV29ybGRDb29yZGluYXRlcyh0W2ldKTtlbHNlIHN0Lm11bHRpcGx5VHJhbnNmb3JtYXRpb24oZSx0WzBdLm1vZGVsTWF0cml4LGUpfWZ1bmN0aW9uIEpoKHQsZSl7bGV0IG49dC5hdHRyaWJ1dGVzLG89bi5wb3NpdGlvbixyPW8udmFsdWVzLmxlbmd0aC9vLmNvbXBvbmVudHNQZXJBdHRyaWJ1dGU7bi5iYXRjaElkPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpuZXcgRmxvYXQzMkFycmF5KHIpfSk7bGV0IGk9bi5iYXRjaElkLnZhbHVlcztmb3IobGV0IHM9MDtzPHI7KytzKWlbc109ZX1mdW5jdGlvbiBoTSh0KXtsZXQgZT10Lmxlbmd0aDtmb3IobGV0IG49MDtuPGU7KytuKXtsZXQgbz10W25dO2goby5nZW9tZXRyeSk/Smgoby5nZW9tZXRyeSxuKTpoKG8ud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSkmJmgoby5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5KSYmKEpoKG8ud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSxuKSxKaChvLmVhc3RIZW1pc3BoZXJlR2VvbWV0cnksbikpfX1mdW5jdGlvbiBfTSh0KXtsZXQgZT10Lmluc3RhbmNlcyxuPXQucHJvamVjdGlvbixvPXQuZWxlbWVudEluZGV4VWludFN1cHBvcnRlZCxyPXQuc2NlbmUzRE9ubHksaT10LnZlcnRleENhY2hlT3B0aW1pemUscz10LmNvbXByZXNzVmVydGljZXMsZj10Lm1vZGVsTWF0cml4LHUsYyxsLHA9ZS5sZW5ndGg7Zm9yKHU9MDt1PHA7Kyt1KWlmKGgoZVt1XS5nZW9tZXRyeSkpe2w9ZVt1XS5nZW9tZXRyeS5wcmltaXRpdmVUeXBlO2JyZWFrfWZvcih1PTE7dTxwOysrdSlpZihoKGVbdV0uZ2VvbWV0cnkpJiZlW3VdLmdlb21ldHJ5LnByaW1pdGl2ZVR5cGUhPT1sKXRocm93IG5ldyBCKCJBbGwgaW5zdGFuY2UgZ2VvbWV0cmllcyBtdXN0IGhhdmUgdGhlIHNhbWUgcHJpbWl0aXZlVHlwZS4iKTtpZihtTShlLGYsciksIXIpZm9yKHU9MDt1PHA7Kyt1KWgoZVt1XS5nZW9tZXRyeSkmJlZlLnNwbGl0TG9uZ2l0dWRlKGVbdV0pO2lmKGhNKGUpLGkpZm9yKHU9MDt1PHA7Kyt1KXtsZXQgbT1lW3VdO2gobS5nZW9tZXRyeSk/KFZlLnJlb3JkZXJGb3JQb3N0VmVydGV4Q2FjaGUobS5nZW9tZXRyeSksVmUucmVvcmRlckZvclByZVZlcnRleENhY2hlKG0uZ2VvbWV0cnkpKTpoKG0ud2VzdEhlbWlzcGhlcmVHZW9tZXRyeSkmJmgobS5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5KSYmKFZlLnJlb3JkZXJGb3JQb3N0VmVydGV4Q2FjaGUobS53ZXN0SGVtaXNwaGVyZUdlb21ldHJ5KSxWZS5yZW9yZGVyRm9yUHJlVmVydGV4Q2FjaGUobS53ZXN0SGVtaXNwaGVyZUdlb21ldHJ5KSxWZS5yZW9yZGVyRm9yUG9zdFZlcnRleENhY2hlKG0uZWFzdEhlbWlzcGhlcmVHZW9tZXRyeSksVmUucmVvcmRlckZvclByZVZlcnRleENhY2hlKG0uZWFzdEhlbWlzcGhlcmVHZW9tZXRyeSkpfWxldCBkPVZlLmNvbWJpbmVJbnN0YW5jZXMoZSk7Zm9yKHA9ZC5sZW5ndGgsdT0wO3U8cDsrK3Upe2M9ZFt1XTtsZXQgbT1jLmF0dHJpYnV0ZXM7aWYocilmb3IobGV0IF8gaW4gbSltLmhhc093blByb3BlcnR5KF8pJiZtW19dLmNvbXBvbmVudERhdGF0eXBlPT09bnQuRE9VQkxFJiZWZS5lbmNvZGVBdHRyaWJ1dGUoYyxfLGAke199M0RIaWdoYCxgJHtffTNETG93YCk7ZWxzZSBmb3IobGV0IF8gaW4gbSlpZihtLmhhc093blByb3BlcnR5KF8pJiZtW19dLmNvbXBvbmVudERhdGF0eXBlPT09bnQuRE9VQkxFKXtsZXQgZz1gJHtffTNEYCxiPWAke199MkRgO1ZlLnByb2plY3RUbzJEKGMsXyxnLGIsbiksaChjLmJvdW5kaW5nU3BoZXJlKSYmXz09PSJwb3NpdGlvbiImJihjLmJvdW5kaW5nU3BoZXJlQ1Y9QXQuZnJvbVZlcnRpY2VzKGMuYXR0cmlidXRlcy5wb3NpdGlvbjJELnZhbHVlcykpLFZlLmVuY29kZUF0dHJpYnV0ZShjLGcsYCR7Z31IaWdoYCxgJHtnfUxvd2ApLFZlLmVuY29kZUF0dHJpYnV0ZShjLGIsYCR7Yn1IaWdoYCxgJHtifUxvd2ApfXMmJlZlLmNvbXByZXNzVmVydGljZXMoYyl9aWYoIW8pe2xldCBtPVtdO2ZvcihwPWQubGVuZ3RoLHU9MDt1PHA7Kyt1KWM9ZFt1XSxtPW0uY29uY2F0KFZlLmZpdFRvVW5zaWduZWRTaG9ydEluZGljZXMoYykpO2Q9bX1yZXR1cm4gZH1mdW5jdGlvbiB0MCh0LGUsbixvKXtsZXQgcixpLHMsZj1vLmxlbmd0aC0xO2lmKGY+PTApe2xldCBjPW9bZl07cj1jLm9mZnNldCtjLmNvdW50LHM9Yy5pbmRleCxpPW5bc10uaW5kaWNlcy5sZW5ndGh9ZWxzZSByPTAscz0wLGk9bltzXS5pbmRpY2VzLmxlbmd0aDtsZXQgdT10Lmxlbmd0aDtmb3IobGV0IGM9MDtjPHU7KytjKXtsZXQgcD10W2NdW2VdO2lmKCFoKHApKWNvbnRpbnVlO2xldCBkPXAuaW5kaWNlcy5sZW5ndGg7citkPmkmJihyPTAsaT1uWysrc10uaW5kaWNlcy5sZW5ndGgpLG8ucHVzaCh7aW5kZXg6cyxvZmZzZXQ6cixjb3VudDpkfSkscis9ZH19ZnVuY3Rpb24geU0odCxlKXtsZXQgbj1bXTtyZXR1cm4gdDAodCwiZ2VvbWV0cnkiLGUsbiksdDAodCwid2VzdEhlbWlzcGhlcmVHZW9tZXRyeSIsZSxuKSx0MCh0LCJlYXN0SGVtaXNwaGVyZUdlb21ldHJ5IixlLG4pLG59ZnVuY3Rpb24gZ00odCxlKXtsZXQgbj10LmF0dHJpYnV0ZXM7Zm9yKGxldCBvIGluIG4paWYobi5oYXNPd25Qcm9wZXJ0eShvKSl7bGV0IHI9bltvXTtoKHIpJiZoKHIudmFsdWVzKSYmZS5wdXNoKHIudmFsdWVzLmJ1ZmZlcil9aCh0LmluZGljZXMpJiZlLnB1c2godC5pbmRpY2VzLmJ1ZmZlcil9ZnVuY3Rpb24gQU0odCxlKXtsZXQgbj10Lmxlbmd0aDtmb3IobGV0IG89MDtvPG47KytvKWdNKHRbb10sZSl9ZnVuY3Rpb24gYk0odCl7bGV0IGU9MSxuPXQubGVuZ3RoO2ZvcihsZXQgbz0wO288bjtvKyspe2xldCByPXRbb107aWYoKytlLCFoKHIpKWNvbnRpbnVlO2xldCBpPXIuYXR0cmlidXRlcztlKz03KzIqQXQucGFja2VkTGVuZ3RoKyhoKHIuaW5kaWNlcyk/ci5pbmRpY2VzLmxlbmd0aDowKTtmb3IobGV0IHMgaW4gaSlpZihpLmhhc093blByb3BlcnR5KHMpJiZoKGlbc10pKXtsZXQgZj1pW3NdO2UrPTUrZi52YWx1ZXMubGVuZ3RofX1yZXR1cm4gZX1mdW5jdGlvbiBUTSh0LGUpe2xldCBuPXQubGVuZ3RoLG89bmV3IEZsb2F0NjRBcnJheSgxK24qMTkpLHI9MDtvW3IrK109bjtmb3IobGV0IGk9MDtpPG47aSsrKXtsZXQgcz10W2ldO2lmKHN0LnBhY2socy5tb2RlbE1hdHJpeCxvLHIpLHIrPXN0LnBhY2tlZExlbmd0aCxoKHMuYXR0cmlidXRlcykmJmgocy5hdHRyaWJ1dGVzLm9mZnNldCkpe2xldCBmPXMuYXR0cmlidXRlcy5vZmZzZXQudmFsdWU7b1tyXT1mWzBdLG9bcisxXT1mWzFdLG9bcisyXT1mWzJdfXIrPTN9cmV0dXJuIGUucHVzaChvLmJ1ZmZlciksb31mdW5jdGlvbiB3TSh0KXtsZXQgZT10LG49bmV3IEFycmF5KGVbMF0pLG89MCxyPTE7Zm9yKDtyPGUubGVuZ3RoOyl7bGV0IGk9c3QudW5wYWNrKGUscikscztyKz1zdC5wYWNrZWRMZW5ndGgsaChlW3JdKSYmKHM9e29mZnNldDpuZXcgZVQoZVtyXSxlW3IrMV0sZVtyKzJdKX0pLHIrPTMsbltvKytdPXttb2RlbE1hdHJpeDppLGF0dHJpYnV0ZXM6c319cmV0dXJuIG59ZnVuY3Rpb24gb1QodCl7bGV0IGU9dC5sZW5ndGgsbj0xKyhBdC5wYWNrZWRMZW5ndGgrMSkqZSxvPW5ldyBGbG9hdDMyQXJyYXkobikscj0wO29bcisrXT1lO2ZvcihsZXQgaT0wO2k8ZTsrK2kpe2xldCBzPXRbaV07aChzKT8ob1tyKytdPTEsQXQucGFjayh0W2ldLG8scikpOm9bcisrXT0wLHIrPUF0LnBhY2tlZExlbmd0aH1yZXR1cm4gb31mdW5jdGlvbiByVCh0KXtsZXQgZT1uZXcgQXJyYXkodFswXSksbj0wLG89MTtmb3IoO288dC5sZW5ndGg7KXRbbysrXT09PTEmJihlW25dPUF0LnVucGFjayh0LG8pKSwrK24sbys9QXQucGFja2VkTGVuZ3RoO3JldHVybiBlfXZhciBJaSxzYSxlMD1aKCgpPT57dmUoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7U2koKTtYZSgpO1llKCk7YW4oKTtzaSgpOyRlKCk7VW4oKTtuVCgpO2ljKCk7SWk9e307SWkuY29tYmluZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlLG4sbz10Lmluc3RhbmNlcyxyPW8ubGVuZ3RoLGkscyxmPSExO3I+MCYmKGU9X00odCksZS5sZW5ndGg+MCYmKG49VmUuY3JlYXRlQXR0cmlidXRlTG9jYXRpb25zKGVbMF0pLHQuY3JlYXRlUGlja09mZnNldHMmJihpPXlNKG8sZSkpKSxoKG9bMF0uYXR0cmlidXRlcykmJmgob1swXS5hdHRyaWJ1dGVzLm9mZnNldCkmJihzPW5ldyBBcnJheShyKSxmPSEwKSk7bGV0IHU9bmV3IEFycmF5KHIpLGM9bmV3IEFycmF5KHIpO2ZvcihsZXQgbD0wO2w8cjsrK2wpe2xldCBwPW9bbF0sZD1wLmdlb21ldHJ5O2goZCkmJih1W2xdPWQuYm91bmRpbmdTcGhlcmUsY1tsXT1kLmJvdW5kaW5nU3BoZXJlQ1YsZiYmKHNbbF09cC5nZW9tZXRyeS5vZmZzZXRBdHRyaWJ1dGUpKTtsZXQgbT1wLmVhc3RIZW1pc3BoZXJlR2VvbWV0cnksXz1wLndlc3RIZW1pc3BoZXJlR2VvbWV0cnk7aChtKSYmaChfKSYmKGgobS5ib3VuZGluZ1NwaGVyZSkmJmgoXy5ib3VuZGluZ1NwaGVyZSkmJih1W2xdPUF0LnVuaW9uKG0uYm91bmRpbmdTcGhlcmUsXy5ib3VuZGluZ1NwaGVyZSkpLGgobS5ib3VuZGluZ1NwaGVyZUNWKSYmaChfLmJvdW5kaW5nU3BoZXJlQ1YpJiYoY1tsXT1BdC51bmlvbihtLmJvdW5kaW5nU3BoZXJlQ1YsXy5ib3VuZGluZ1NwaGVyZUNWKSkpfXJldHVybntnZW9tZXRyaWVzOmUsbW9kZWxNYXRyaXg6dC5tb2RlbE1hdHJpeCxhdHRyaWJ1dGVMb2NhdGlvbnM6bixwaWNrT2Zmc2V0czppLG9mZnNldEluc3RhbmNlRXh0ZW5kOnMsYm91bmRpbmdTcGhlcmVzOnUsYm91bmRpbmdTcGhlcmVzQ1Y6Y319O0lpLnBhY2tDcmVhdGVHZW9tZXRyeVJlc3VsdHM9ZnVuY3Rpb24odCxlKXtsZXQgbj1uZXcgRmxvYXQ2NEFycmF5KGJNKHQpKSxvPVtdLHI9e30saT10Lmxlbmd0aCxzPTA7bltzKytdPWk7Zm9yKGxldCBmPTA7ZjxpO2YrKyl7bGV0IHU9dFtmXSxjPWgodSk7aWYobltzKytdPWM/MTowLCFjKWNvbnRpbnVlO25bcysrXT11LnByaW1pdGl2ZVR5cGUsbltzKytdPXUuZ2VvbWV0cnlUeXBlLG5bcysrXT14KHUub2Zmc2V0QXR0cmlidXRlLC0xKTtsZXQgbD1oKHUuYm91bmRpbmdTcGhlcmUpPzE6MDtuW3MrK109bCxsJiZBdC5wYWNrKHUuYm91bmRpbmdTcGhlcmUsbixzKSxzKz1BdC5wYWNrZWRMZW5ndGg7bGV0IHA9aCh1LmJvdW5kaW5nU3BoZXJlQ1YpPzE6MDtuW3MrK109cCxwJiZBdC5wYWNrKHUuYm91bmRpbmdTcGhlcmVDVixuLHMpLHMrPUF0LnBhY2tlZExlbmd0aDtsZXQgZD11LmF0dHJpYnV0ZXMsbT1bXTtmb3IobGV0IGcgaW4gZClkLmhhc093blByb3BlcnR5KGcpJiZoKGRbZ10pJiYobS5wdXNoKGcpLGgocltnXSl8fChyW2ddPW8ubGVuZ3RoLG8ucHVzaChnKSkpO25bcysrXT1tLmxlbmd0aDtmb3IobGV0IGc9MDtnPG0ubGVuZ3RoO2crKyl7bGV0IGI9bVtnXSxUPWRbYl07bltzKytdPXJbYl0sbltzKytdPVQuY29tcG9uZW50RGF0YXR5cGUsbltzKytdPVQuY29tcG9uZW50c1BlckF0dHJpYnV0ZSxuW3MrK109VC5ub3JtYWxpemU/MTowLG5bcysrXT1ULnZhbHVlcy5sZW5ndGgsbi5zZXQoVC52YWx1ZXMscykscys9VC52YWx1ZXMubGVuZ3RofWxldCBfPWgodS5pbmRpY2VzKT91LmluZGljZXMubGVuZ3RoOjA7bltzKytdPV8sXz4wJiYobi5zZXQodS5pbmRpY2VzLHMpLHMrPV8pfXJldHVybiBlLnB1c2gobi5idWZmZXIpLHtzdHJpbmdUYWJsZTpvLHBhY2tlZERhdGE6bn19O0lpLnVucGFja0NyZWF0ZUdlb21ldHJ5UmVzdWx0cz1mdW5jdGlvbih0KXtsZXQgZT10LnN0cmluZ1RhYmxlLG49dC5wYWNrZWREYXRhLG8scj1uZXcgQXJyYXkoblswXSksaT0wLHM9MTtmb3IoO3M8bi5sZW5ndGg7KXtpZighKG5bcysrXT09PTEpKXtyW2krK109dm9pZCAwO2NvbnRpbnVlfWxldCB1PW5bcysrXSxjPW5bcysrXSxsPW5bcysrXTtsPT09LTEmJihsPXZvaWQgMCk7bGV0IHAsZDtuW3MrK109PT0xJiYocD1BdC51bnBhY2sobixzKSkscys9QXQucGFja2VkTGVuZ3RoLG5bcysrXT09PTEmJihkPUF0LnVucGFjayhuLHMpKSxzKz1BdC5wYWNrZWRMZW5ndGg7bGV0IGcsYixULE89bmV3IGllLEU9bltzKytdO2ZvcihvPTA7bzxFO28rKyl7bGV0IEM9ZVtuW3MrK11dLE49bltzKytdO1Q9bltzKytdO2xldCBJPW5bcysrXSE9PTA7Zz1uW3MrK10sYj1udC5jcmVhdGVUeXBlZEFycmF5KE4sZyk7Zm9yKGxldCBEPTA7RDxnO0QrKyliW0RdPW5bcysrXTtPW0NdPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6Tixjb21wb25lbnRzUGVyQXR0cmlidXRlOlQsbm9ybWFsaXplOkksdmFsdWVzOmJ9KX1sZXQgdztpZihnPW5bcysrXSxnPjApe2xldCBDPWIubGVuZ3RoL1Q7Zm9yKHc9RHQuY3JlYXRlVHlwZWRBcnJheShDLGcpLG89MDtvPGc7bysrKXdbb109bltzKytdfXJbaSsrXT1uZXcgVXQoe3ByaW1pdGl2ZVR5cGU6dSxnZW9tZXRyeVR5cGU6Yyxib3VuZGluZ1NwaGVyZTpwLGJvdW5kaW5nU3BoZXJlQ1Y6ZCxpbmRpY2VzOncsYXR0cmlidXRlczpPLG9mZnNldEF0dHJpYnV0ZTpsfSl9cmV0dXJuIHJ9O0lpLnBhY2tDb21iaW5lR2VvbWV0cnlQYXJhbWV0ZXJzPWZ1bmN0aW9uKHQsZSl7bGV0IG49dC5jcmVhdGVHZW9tZXRyeVJlc3VsdHMsbz1uLmxlbmd0aDtmb3IobGV0IHI9MDtyPG87cisrKWUucHVzaChuW3JdLnBhY2tlZERhdGEuYnVmZmVyKTtyZXR1cm57Y3JlYXRlR2VvbWV0cnlSZXN1bHRzOnQuY3JlYXRlR2VvbWV0cnlSZXN1bHRzLHBhY2tlZEluc3RhbmNlczpUTSh0Lmluc3RhbmNlcyxlKSxlbGxpcHNvaWQ6dC5lbGxpcHNvaWQsaXNHZW9ncmFwaGljOnQucHJvamVjdGlvbiBpbnN0YW5jZW9mIEpuLGVsZW1lbnRJbmRleFVpbnRTdXBwb3J0ZWQ6dC5lbGVtZW50SW5kZXhVaW50U3VwcG9ydGVkLHNjZW5lM0RPbmx5OnQuc2NlbmUzRE9ubHksdmVydGV4Q2FjaGVPcHRpbWl6ZTp0LnZlcnRleENhY2hlT3B0aW1pemUsY29tcHJlc3NWZXJ0aWNlczp0LmNvbXByZXNzVmVydGljZXMsbW9kZWxNYXRyaXg6dC5tb2RlbE1hdHJpeCxjcmVhdGVQaWNrT2Zmc2V0czp0LmNyZWF0ZVBpY2tPZmZzZXRzfX07SWkudW5wYWNrQ29tYmluZUdlb21ldHJ5UGFyYW1ldGVycz1mdW5jdGlvbih0KXtsZXQgZT13TSh0LnBhY2tlZEluc3RhbmNlcyksbj10LmNyZWF0ZUdlb21ldHJ5UmVzdWx0cyxvPW4ubGVuZ3RoLHI9MDtmb3IobGV0IGY9MDtmPG87ZisrKXtsZXQgdT1JaS51bnBhY2tDcmVhdGVHZW9tZXRyeVJlc3VsdHMobltmXSksYz11Lmxlbmd0aDtmb3IobGV0IGw9MDtsPGM7bCsrKXtsZXQgcD11W2xdLGQ9ZVtyXTtkLmdlb21ldHJ5PXAsKytyfX1sZXQgaT0kLmNsb25lKHQuZWxsaXBzb2lkKSxzPXQuaXNHZW9ncmFwaGljP25ldyBKbihpKTpuZXcgbm8oaSk7cmV0dXJue2luc3RhbmNlczplLGVsbGlwc29pZDppLHByb2plY3Rpb246cyxlbGVtZW50SW5kZXhVaW50U3VwcG9ydGVkOnQuZWxlbWVudEluZGV4VWludFN1cHBvcnRlZCxzY2VuZTNET25seTp0LnNjZW5lM0RPbmx5LHZlcnRleENhY2hlT3B0aW1pemU6dC52ZXJ0ZXhDYWNoZU9wdGltaXplLGNvbXByZXNzVmVydGljZXM6dC5jb21wcmVzc1ZlcnRpY2VzLG1vZGVsTWF0cml4OnN0LmNsb25lKHQubW9kZWxNYXRyaXgpLGNyZWF0ZVBpY2tPZmZzZXRzOnQuY3JlYXRlUGlja09mZnNldHN9fTtJaS5wYWNrQ29tYmluZUdlb21ldHJ5UmVzdWx0cz1mdW5jdGlvbih0LGUpe2godC5nZW9tZXRyaWVzKSYmQU0odC5nZW9tZXRyaWVzLGUpO2xldCBuPW9UKHQuYm91bmRpbmdTcGhlcmVzKSxvPW9UKHQuYm91bmRpbmdTcGhlcmVzQ1YpO3JldHVybiBlLnB1c2gobi5idWZmZXIsby5idWZmZXIpLHtnZW9tZXRyaWVzOnQuZ2VvbWV0cmllcyxhdHRyaWJ1dGVMb2NhdGlvbnM6dC5hdHRyaWJ1dGVMb2NhdGlvbnMsbW9kZWxNYXRyaXg6dC5tb2RlbE1hdHJpeCxwaWNrT2Zmc2V0czp0LnBpY2tPZmZzZXRzLG9mZnNldEluc3RhbmNlRXh0ZW5kOnQub2Zmc2V0SW5zdGFuY2VFeHRlbmQsYm91bmRpbmdTcGhlcmVzOm4sYm91bmRpbmdTcGhlcmVzQ1Y6b319O0lpLnVucGFja0NvbWJpbmVHZW9tZXRyeVJlc3VsdHM9ZnVuY3Rpb24odCl7cmV0dXJue2dlb21ldHJpZXM6dC5nZW9tZXRyaWVzLGF0dHJpYnV0ZUxvY2F0aW9uczp0LmF0dHJpYnV0ZUxvY2F0aW9ucyxtb2RlbE1hdHJpeDp0Lm1vZGVsTWF0cml4LHBpY2tPZmZzZXRzOnQucGlja09mZnNldHMsb2Zmc2V0SW5zdGFuY2VFeHRlbmQ6dC5vZmZzZXRJbnN0YW5jZUV4dGVuZCxib3VuZGluZ1NwaGVyZXM6clQodC5ib3VuZGluZ1NwaGVyZXMpLGJvdW5kaW5nU3BoZXJlc0NWOnJUKHQuYm91bmRpbmdTcGhlcmVzQ1YpfX07c2E9SWl9KTtmdW5jdGlvbiBPTSh0KXtsZXQgZSxuPXQubmFtZSxvPXQubWVzc2FnZTtoKG4pJiZoKG8pP2U9YCR7bn06ICR7b31gOmU9dC50b1N0cmluZygpO2xldCByPXQuc3RhY2s7cmV0dXJuIGgocikmJihlKz1gCiR7cn1gKSxlfXZhciBpVCxzVD1aKCgpPT57ZnQoKTtpVD1PTX0pO3ZhciBuMD17fTtkZShuMCx7ZGVmYXVsdDooKT0+UWV9KTtmdW5jdGlvbiBFTSh0KXthc3luYyBmdW5jdGlvbiBlKHtkYXRhOm99KXtsZXQgcj1bXSxpPXtpZDpvLmlkLHJlc3VsdDp2b2lkIDAsZXJyb3I6dm9pZCAwfTtzZWxmLkNFU0lVTV9CQVNFX1VSTD1vLmJhc2VVcmw7dHJ5e2xldCBzPWF3YWl0IHQoby5wYXJhbWV0ZXJzLHIpO2kucmVzdWx0PXN9Y2F0Y2gocyl7cyBpbnN0YW5jZW9mIEVycm9yP2kuZXJyb3I9e25hbWU6cy5uYW1lLG1lc3NhZ2U6cy5tZXNzYWdlLHN0YWNrOnMuc3RhY2t9OmkuZXJyb3I9c31vLmNhblRyYW5zZmVyQXJyYXlCdWZmZXJ8fChyLmxlbmd0aD0wKTt0cnl7cG9zdE1lc3NhZ2UoaSxyKX1jYXRjaChzKXtpLnJlc3VsdD12b2lkIDAsaS5lcnJvcj1gcG9zdE1lc3NhZ2UgZmFpbGVkIHdpdGggZXJyb3I6ICR7aVQocyl9CiAgd2l0aCByZXNwb25zZU1lc3NhZ2U6ICR7SlNPTi5zdHJpbmdpZnkoaSl9YCxwb3N0TWVzc2FnZShpKX19ZnVuY3Rpb24gbihvKXtwb3N0TWVzc2FnZSh7aWQ6by5kYXRhPy5pZCxlcnJvcjpgcG9zdE1lc3NhZ2UgZmFpbGVkIHdpdGggZXJyb3I6ICR7SlNPTi5zdHJpbmdpZnkobyl9YH0pfXJldHVybiBzZWxmLm9ubWVzc2FnZT1lLHNlbGYub25tZXNzYWdlZXJyb3I9bixzZWxmfXZhciBRZSxzbz1aKCgpPT57c1QoKTtRZT1FTX0pO3ZhciBvMD17fTtkZShvMCx7ZGVmYXVsdDooKT0+U019KTtmdW5jdGlvbiBSTSh0LGUpe2xldCBuPXNhLnVucGFja0NvbWJpbmVHZW9tZXRyeVBhcmFtZXRlcnModCksbz1zYS5jb21iaW5lR2VvbWV0cnkobik7cmV0dXJuIHNhLnBhY2tDb21iaW5lR2VvbWV0cnlSZXN1bHRzKG8sZSl9dmFyIFNNLHIwPVooKCk9PntlMCgpO3NvKCk7U009UWUoUk0pfSk7dmFyIENNLGZlLExvPVooKCk9PntDTT17Tk9ORTowLFRPUDoxLEFMTDoyfSxmZT1PYmplY3QuZnJlZXplKENNKX0pO2Z1bmN0aW9uIEduKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx0aGlzLnBvc2l0aW9uPXgodC5wb3NpdGlvbiwhMSksdGhpcy5ub3JtYWw9eCh0Lm5vcm1hbCwhMSksdGhpcy5zdD14KHQuc3QsITEpLHRoaXMuYml0YW5nZW50PXgodC5iaXRhbmdlbnQsITEpLHRoaXMudGFuZ2VudD14KHQudGFuZ2VudCwhMSksdGhpcy5jb2xvcj14KHQuY29sb3IsITEpfXZhciBkdCxSbz1aKCgpPT57SXQoKTtmdCgpO0h0KCk7R24uUE9TSVRJT05fT05MWT1PYmplY3QuZnJlZXplKG5ldyBHbih7cG9zaXRpb246ITB9KSk7R24uUE9TSVRJT05fQU5EX05PUk1BTD1PYmplY3QuZnJlZXplKG5ldyBHbih7cG9zaXRpb246ITAsbm9ybWFsOiEwfSkpO0duLlBPU0lUSU9OX05PUk1BTF9BTkRfU1Q9T2JqZWN0LmZyZWV6ZShuZXcgR24oe3Bvc2l0aW9uOiEwLG5vcm1hbDohMCxzdDohMH0pKTtHbi5QT1NJVElPTl9BTkRfU1Q9T2JqZWN0LmZyZWV6ZShuZXcgR24oe3Bvc2l0aW9uOiEwLHN0OiEwfSkpO0duLlBPU0lUSU9OX0FORF9DT0xPUj1PYmplY3QuZnJlZXplKG5ldyBHbih7cG9zaXRpb246ITAsY29sb3I6ITB9KSk7R24uQUxMPU9iamVjdC5mcmVlemUobmV3IEduKHtwb3NpdGlvbjohMCxub3JtYWw6ITAsc3Q6ITAsdGFuZ2VudDohMCxiaXRhbmdlbnQ6ITB9KSk7R24uREVGQVVMVD1Hbi5QT1NJVElPTl9OT1JNQUxfQU5EX1NUO0duLnBhY2tlZExlbmd0aD02O0duLnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ2YWx1ZSBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJhcnJheSBpcyByZXF1aXJlZCIpO3JldHVybiBuPXgobiwwKSxlW24rK109dC5wb3NpdGlvbj8xOjAsZVtuKytdPXQubm9ybWFsPzE6MCxlW24rK109dC5zdD8xOjAsZVtuKytdPXQudGFuZ2VudD8xOjAsZVtuKytdPXQuYml0YW5nZW50PzE6MCxlW25dPXQuY29sb3I/MTowLGV9O0duLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7cmV0dXJuIGU9eChlLDApLGgobil8fChuPW5ldyBHbiksbi5wb3NpdGlvbj10W2UrK109PT0xLG4ubm9ybWFsPXRbZSsrXT09PTEsbi5zdD10W2UrK109PT0xLG4udGFuZ2VudD10W2UrK109PT0xLG4uYml0YW5nZW50PXRbZSsrXT09PTEsbi5jb2xvcj10W2VdPT09MSxufTtHbi5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSl8fChlPW5ldyBHbiksZS5wb3NpdGlvbj10LnBvc2l0aW9uLGUubm9ybWFsPXQubm9ybWFsLGUuc3Q9dC5zdCxlLnRhbmdlbnQ9dC50YW5nZW50LGUuYml0YW5nZW50PXQuYml0YW5nZW50LGUuY29sb3I9dC5jb2xvcixlfTtkdD1Hbn0pO2Z1bmN0aW9uIHJyKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10Lm1pbmltdW0sbj10Lm1heGltdW07aWYoeS50eXBlT2Yub2JqZWN0KCJtaW4iLGUpLHkudHlwZU9mLm9iamVjdCgibWF4IixuKSxoKHQub2Zmc2V0QXR0cmlidXRlKSYmdC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApdGhyb3cgbmV3IEIoIkdlb21ldHJ5T2Zmc2V0QXR0cmlidXRlLlRPUCBpcyBub3QgYSBzdXBwb3J0ZWQgb3B0aW9ucy5vZmZzZXRBdHRyaWJ1dGUgZm9yIHRoaXMgZ2VvbWV0cnkuIik7bGV0IG89eCh0LnZlcnRleEZvcm1hdCxkdC5ERUZBVUxUKTt0aGlzLl9taW5pbXVtPWEuY2xvbmUoZSksdGhpcy5fbWF4aW11bT1hLmNsb25lKG4pLHRoaXMuX3ZlcnRleEZvcm1hdD1vLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVCb3hHZW9tZXRyeSJ9dmFyIHhNLGFULGZULHVULGNULGkwLFNmLHMwPVooKCk9Pnt2ZSgpO0Z0KCk7WHQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1hlKCk7WWUoKTthbigpO0xvKCk7dG4oKTtSbygpO3hNPW5ldyBhO3JyLmZyb21EaW1lbnNpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LmRpbWVuc2lvbnM7eS50eXBlT2Yub2JqZWN0KCJkaW1lbnNpb25zIixlKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiZGltZW5zaW9ucy54IixlLngsMCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImRpbWVuc2lvbnMueSIsZS55LDApLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJkaW1lbnNpb25zLnoiLGUueiwwKTtsZXQgbj1hLm11bHRpcGx5QnlTY2FsYXIoZSwuNSxuZXcgYSk7cmV0dXJuIG5ldyBycih7bWluaW11bTphLm5lZ2F0ZShuLG5ldyBhKSxtYXhpbXVtOm4sdmVydGV4Rm9ybWF0OnQudmVydGV4Rm9ybWF0LG9mZnNldEF0dHJpYnV0ZTp0Lm9mZnNldEF0dHJpYnV0ZX0pfTtyci5mcm9tQXhpc0FsaWduZWRCb3VuZGluZ0JveD1mdW5jdGlvbih0KXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJib3VuZGluZ0JveCIsdCksbmV3IHJyKHttaW5pbXVtOnQubWluaW11bSxtYXhpbXVtOnQubWF4aW11bX0pfTtyci5wYWNrZWRMZW5ndGg9MiphLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrMTtyci5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksYS5wYWNrKHQuX21pbmltdW0sZSxuKSxhLnBhY2sodC5fbWF4aW11bSxlLG4rYS5wYWNrZWRMZW5ndGgpLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbisyKmEucGFja2VkTGVuZ3RoKSxlW24rMiphLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGhdPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTthVD1uZXcgYSxmVD1uZXcgYSx1VD1uZXcgZHQsY1Q9e21pbmltdW06YVQsbWF4aW11bTpmVCx2ZXJ0ZXhGb3JtYXQ6dVQsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07cnIudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz1hLnVucGFjayh0LGUsYVQpLHI9YS51bnBhY2sodCxlK2EucGFja2VkTGVuZ3RoLGZUKSxpPWR0LnVucGFjayh0LGUrMiphLnBhY2tlZExlbmd0aCx1VCkscz10W2UrMiphLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGhdO3JldHVybiBoKG4pPyhuLl9taW5pbXVtPWEuY2xvbmUobyxuLl9taW5pbXVtKSxuLl9tYXhpbXVtPWEuY2xvbmUocixuLl9tYXhpbXVtKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoaSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX29mZnNldEF0dHJpYnV0ZT1zPT09LTE/dm9pZCAwOnMsbik6KGNULm9mZnNldEF0dHJpYnV0ZT1zPT09LTE/dm9pZCAwOnMsbmV3IHJyKGNUKSl9O3JyLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX21pbmltdW0sbj10Ll9tYXhpbXVtLG89dC5fdmVydGV4Rm9ybWF0O2lmKGEuZXF1YWxzKGUsbikpcmV0dXJuO2xldCByPW5ldyBpZSxpLHM7aWYoby5wb3NpdGlvbiYmKG8uc3R8fG8ubm9ybWFsfHxvLnRhbmdlbnR8fG8uYml0YW5nZW50KSl7aWYoby5wb3NpdGlvbiYmKHM9bmV3IEZsb2F0NjRBcnJheSg2KjQqMyksc1swXT1lLngsc1sxXT1lLnksc1syXT1uLnosc1szXT1uLngsc1s0XT1lLnksc1s1XT1uLnosc1s2XT1uLngsc1s3XT1uLnksc1s4XT1uLnosc1s5XT1lLngsc1sxMF09bi55LHNbMTFdPW4ueixzWzEyXT1lLngsc1sxM109ZS55LHNbMTRdPWUueixzWzE1XT1uLngsc1sxNl09ZS55LHNbMTddPWUueixzWzE4XT1uLngsc1sxOV09bi55LHNbMjBdPWUueixzWzIxXT1lLngsc1syMl09bi55LHNbMjNdPWUueixzWzI0XT1uLngsc1syNV09ZS55LHNbMjZdPWUueixzWzI3XT1uLngsc1syOF09bi55LHNbMjldPWUueixzWzMwXT1uLngsc1szMV09bi55LHNbMzJdPW4ueixzWzMzXT1uLngsc1szNF09ZS55LHNbMzVdPW4ueixzWzM2XT1lLngsc1szN109ZS55LHNbMzhdPWUueixzWzM5XT1lLngsc1s0MF09bi55LHNbNDFdPWUueixzWzQyXT1lLngsc1s0M109bi55LHNbNDRdPW4ueixzWzQ1XT1lLngsc1s0Nl09ZS55LHNbNDddPW4ueixzWzQ4XT1lLngsc1s0OV09bi55LHNbNTBdPWUueixzWzUxXT1uLngsc1s1Ml09bi55LHNbNTNdPWUueixzWzU0XT1uLngsc1s1NV09bi55LHNbNTZdPW4ueixzWzU3XT1lLngsc1s1OF09bi55LHNbNTldPW4ueixzWzYwXT1lLngsc1s2MV09ZS55LHNbNjJdPWUueixzWzYzXT1uLngsc1s2NF09ZS55LHNbNjVdPWUueixzWzY2XT1uLngsc1s2N109ZS55LHNbNjhdPW4ueixzWzY5XT1lLngsc1s3MF09ZS55LHNbNzFdPW4ueixyLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6c30pKSxvLm5vcm1hbCl7bGV0IGM9bmV3IEZsb2F0MzJBcnJheSg3Mik7Y1swXT0wLGNbMV09MCxjWzJdPTEsY1szXT0wLGNbNF09MCxjWzVdPTEsY1s2XT0wLGNbN109MCxjWzhdPTEsY1s5XT0wLGNbMTBdPTAsY1sxMV09MSxjWzEyXT0wLGNbMTNdPTAsY1sxNF09LTEsY1sxNV09MCxjWzE2XT0wLGNbMTddPS0xLGNbMThdPTAsY1sxOV09MCxjWzIwXT0tMSxjWzIxXT0wLGNbMjJdPTAsY1syM109LTEsY1syNF09MSxjWzI1XT0wLGNbMjZdPTAsY1syN109MSxjWzI4XT0wLGNbMjldPTAsY1szMF09MSxjWzMxXT0wLGNbMzJdPTAsY1szM109MSxjWzM0XT0wLGNbMzVdPTAsY1szNl09LTEsY1szN109MCxjWzM4XT0wLGNbMzldPS0xLGNbNDBdPTAsY1s0MV09MCxjWzQyXT0tMSxjWzQzXT0wLGNbNDRdPTAsY1s0NV09LTEsY1s0Nl09MCxjWzQ3XT0wLGNbNDhdPTAsY1s0OV09MSxjWzUwXT0wLGNbNTFdPTAsY1s1Ml09MSxjWzUzXT0wLGNbNTRdPTAsY1s1NV09MSxjWzU2XT0wLGNbNTddPTAsY1s1OF09MSxjWzU5XT0wLGNbNjBdPTAsY1s2MV09LTEsY1s2Ml09MCxjWzYzXT0wLGNbNjRdPS0xLGNbNjVdPTAsY1s2Nl09MCxjWzY3XT0tMSxjWzY4XT0wLGNbNjldPTAsY1s3MF09LTEsY1s3MV09MCxyLm5vcm1hbD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Y30pfWlmKG8uc3Qpe2xldCBjPW5ldyBGbG9hdDMyQXJyYXkoNDgpO2NbMF09MCxjWzFdPTAsY1syXT0xLGNbM109MCxjWzRdPTEsY1s1XT0xLGNbNl09MCxjWzddPTEsY1s4XT0xLGNbOV09MCxjWzEwXT0wLGNbMTFdPTAsY1sxMl09MCxjWzEzXT0xLGNbMTRdPTEsY1sxNV09MSxjWzE2XT0wLGNbMTddPTAsY1sxOF09MSxjWzE5XT0wLGNbMjBdPTEsY1syMV09MSxjWzIyXT0wLGNbMjNdPTEsY1syNF09MSxjWzI1XT0wLGNbMjZdPTAsY1syN109MCxjWzI4XT0wLGNbMjldPTEsY1szMF09MSxjWzMxXT0xLGNbMzJdPTEsY1szM109MCxjWzM0XT0wLGNbMzVdPTAsY1szNl09MCxjWzM3XT0xLGNbMzhdPTEsY1szOV09MSxjWzQwXT0wLGNbNDFdPTAsY1s0Ml09MSxjWzQzXT0wLGNbNDRdPTEsY1s0NV09MSxjWzQ2XT0wLGNbNDddPTEsci5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6Y30pfWlmKG8udGFuZ2VudCl7bGV0IGM9bmV3IEZsb2F0MzJBcnJheSg3Mik7Y1swXT0xLGNbMV09MCxjWzJdPTAsY1szXT0xLGNbNF09MCxjWzVdPTAsY1s2XT0xLGNbN109MCxjWzhdPTAsY1s5XT0xLGNbMTBdPTAsY1sxMV09MCxjWzEyXT0tMSxjWzEzXT0wLGNbMTRdPTAsY1sxNV09LTEsY1sxNl09MCxjWzE3XT0wLGNbMThdPS0xLGNbMTldPTAsY1syMF09MCxjWzIxXT0tMSxjWzIyXT0wLGNbMjNdPTAsY1syNF09MCxjWzI1XT0xLGNbMjZdPTAsY1syN109MCxjWzI4XT0xLGNbMjldPTAsY1szMF09MCxjWzMxXT0xLGNbMzJdPTAsY1szM109MCxjWzM0XT0xLGNbMzVdPTAsY1szNl09MCxjWzM3XT0tMSxjWzM4XT0wLGNbMzldPTAsY1s0MF09LTEsY1s0MV09MCxjWzQyXT0wLGNbNDNdPS0xLGNbNDRdPTAsY1s0NV09MCxjWzQ2XT0tMSxjWzQ3XT0wLGNbNDhdPS0xLGNbNDldPTAsY1s1MF09MCxjWzUxXT0tMSxjWzUyXT0wLGNbNTNdPTAsY1s1NF09LTEsY1s1NV09MCxjWzU2XT0wLGNbNTddPS0xLGNbNThdPTAsY1s1OV09MCxjWzYwXT0xLGNbNjFdPTAsY1s2Ml09MCxjWzYzXT0xLGNbNjRdPTAsY1s2NV09MCxjWzY2XT0xLGNbNjddPTAsY1s2OF09MCxjWzY5XT0xLGNbNzBdPTAsY1s3MV09MCxyLnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmN9KX1pZihvLmJpdGFuZ2VudCl7bGV0IGM9bmV3IEZsb2F0MzJBcnJheSg3Mik7Y1swXT0wLGNbMV09MSxjWzJdPTAsY1szXT0wLGNbNF09MSxjWzVdPTAsY1s2XT0wLGNbN109MSxjWzhdPTAsY1s5XT0wLGNbMTBdPTEsY1sxMV09MCxjWzEyXT0wLGNbMTNdPTEsY1sxNF09MCxjWzE1XT0wLGNbMTZdPTEsY1sxN109MCxjWzE4XT0wLGNbMTldPTEsY1syMF09MCxjWzIxXT0wLGNbMjJdPTEsY1syM109MCxjWzI0XT0wLGNbMjVdPTAsY1syNl09MSxjWzI3XT0wLGNbMjhdPTAsY1syOV09MSxjWzMwXT0wLGNbMzFdPTAsY1szMl09MSxjWzMzXT0wLGNbMzRdPTAsY1szNV09MSxjWzM2XT0wLGNbMzddPTAsY1szOF09MSxjWzM5XT0wLGNbNDBdPTAsY1s0MV09MSxjWzQyXT0wLGNbNDNdPTAsY1s0NF09MSxjWzQ1XT0wLGNbNDZdPTAsY1s0N109MSxjWzQ4XT0wLGNbNDldPTAsY1s1MF09MSxjWzUxXT0wLGNbNTJdPTAsY1s1M109MSxjWzU0XT0wLGNbNTVdPTAsY1s1Nl09MSxjWzU3XT0wLGNbNThdPTAsY1s1OV09MSxjWzYwXT0wLGNbNjFdPTAsY1s2Ml09MSxjWzYzXT0wLGNbNjRdPTAsY1s2NV09MSxjWzY2XT0wLGNbNjddPTAsY1s2OF09MSxjWzY5XT0wLGNbNzBdPTAsY1s3MV09MSxyLmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Y30pfWk9bmV3IFVpbnQxNkFycmF5KDYqMiozKSxpWzBdPTAsaVsxXT0xLGlbMl09MixpWzNdPTAsaVs0XT0yLGlbNV09MyxpWzZdPTYsaVs3XT01LGlbOF09NCxpWzldPTcsaVsxMF09NixpWzExXT00LGlbMTJdPTgsaVsxM109OSxpWzE0XT0xMCxpWzE1XT04LGlbMTZdPTEwLGlbMTddPTExLGlbMThdPTE0LGlbMTldPTEzLGlbMjBdPTEyLGlbMjFdPTE1LGlbMjJdPTE0LGlbMjNdPTEyLGlbMjRdPTE4LGlbMjVdPTE3LGlbMjZdPTE2LGlbMjddPTE5LGlbMjhdPTE4LGlbMjldPTE2LGlbMzBdPTIwLGlbMzFdPTIxLGlbMzJdPTIyLGlbMzNdPTIwLGlbMzRdPTIyLGlbMzVdPTIzfWVsc2Ugcz1uZXcgRmxvYXQ2NEFycmF5KDgqMyksc1swXT1lLngsc1sxXT1lLnksc1syXT1lLnosc1szXT1uLngsc1s0XT1lLnksc1s1XT1lLnosc1s2XT1uLngsc1s3XT1uLnksc1s4XT1lLnosc1s5XT1lLngsc1sxMF09bi55LHNbMTFdPWUueixzWzEyXT1lLngsc1sxM109ZS55LHNbMTRdPW4ueixzWzE1XT1uLngsc1sxNl09ZS55LHNbMTddPW4ueixzWzE4XT1uLngsc1sxOV09bi55LHNbMjBdPW4ueixzWzIxXT1lLngsc1syMl09bi55LHNbMjNdPW4ueixyLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6c30pLGk9bmV3IFVpbnQxNkFycmF5KDYqMiozKSxpWzBdPTQsaVsxXT01LGlbMl09NixpWzNdPTQsaVs0XT02LGlbNV09NyxpWzZdPTEsaVs3XT0wLGlbOF09MyxpWzldPTEsaVsxMF09MyxpWzExXT0yLGlbMTJdPTEsaVsxM109NixpWzE0XT01LGlbMTVdPTEsaVsxNl09MixpWzE3XT02LGlbMThdPTIsaVsxOV09MyxpWzIwXT03LGlbMjFdPTIsaVsyMl09NyxpWzIzXT02LGlbMjRdPTMsaVsyNV09MCxpWzI2XT00LGlbMjddPTMsaVsyOF09NCxpWzI5XT03LGlbMzBdPTAsaVszMV09MSxpWzMyXT01LGlbMzNdPTAsaVszNF09NSxpWzM1XT00O2xldCBmPWEuc3VidHJhY3QobixlLHhNKSx1PWEubWFnbml0dWRlKGYpKi41O2lmKGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IGM9cy5sZW5ndGgsbD10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxwPW5ldyBVaW50OEFycmF5KGMvMykuZmlsbChsKTtyLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnB9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOnIsaW5kaWNlczppLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOm5ldyBBdChhLlpFUk8sdSksb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTtyci5nZXRVbml0Qm94PWZ1bmN0aW9uKCl7cmV0dXJuIGgoaTApfHwoaTA9cnIuY3JlYXRlR2VvbWV0cnkocnIuZnJvbURpbWVuc2lvbnMoe2RpbWVuc2lvbnM6bmV3IGEoMSwxLDEpLHZlcnRleEZvcm1hdDpkdC5QT1NJVElPTl9PTkxZfSkpKSxpMH07U2Y9cnJ9KTt2YXIgYzA9e307ZGUoYzAse2RlZmF1bHQ6KCk9Pk1NfSk7ZnVuY3Rpb24gUE0odCxlKXtyZXR1cm4gaChlKSYmKHQ9U2YudW5wYWNrKHQsZSkpLFNmLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBNTSxhMD1aKCgpPT57czAoKTtmdCgpO01NPVBNfSk7ZnVuY3Rpb24gY2kodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQubWluaW11bSxuPXQubWF4aW11bTtpZih5LnR5cGVPZi5vYmplY3QoIm1pbiIsZSkseS50eXBlT2Yub2JqZWN0KCJtYXgiLG4pLGgodC5vZmZzZXRBdHRyaWJ1dGUpJiZ0Lm9mZnNldEF0dHJpYnV0ZT09PWZlLlRPUCl0aHJvdyBuZXcgQigiR2VvbWV0cnlPZmZzZXRBdHRyaWJ1dGUuVE9QIGlzIG5vdCBhIHN1cHBvcnRlZCBvcHRpb25zLm9mZnNldEF0dHJpYnV0ZSBmb3IgdGhpcyBnZW9tZXRyeS4iKTt0aGlzLl9taW49YS5jbG9uZShlKSx0aGlzLl9tYXg9YS5jbG9uZShuKSx0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlQm94T3V0bGluZUdlb21ldHJ5In12YXIgTk0scFQsZFQsbFQsZjAsbVQ9WigoKT0+e3ZlKCk7RnQoKTtYdCgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WGUoKTtZZSgpO2FuKCk7TG8oKTt0bigpO05NPW5ldyBhO2NpLmZyb21EaW1lbnNpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LmRpbWVuc2lvbnM7eS50eXBlT2Yub2JqZWN0KCJkaW1lbnNpb25zIixlKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiZGltZW5zaW9ucy54IixlLngsMCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImRpbWVuc2lvbnMueSIsZS55LDApLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJkaW1lbnNpb25zLnoiLGUueiwwKTtsZXQgbj1hLm11bHRpcGx5QnlTY2FsYXIoZSwuNSxuZXcgYSk7cmV0dXJuIG5ldyBjaSh7bWluaW11bTphLm5lZ2F0ZShuLG5ldyBhKSxtYXhpbXVtOm4sb2Zmc2V0QXR0cmlidXRlOnQub2Zmc2V0QXR0cmlidXRlfSl9O2NpLmZyb21BeGlzQWxpZ25lZEJvdW5kaW5nQm94PWZ1bmN0aW9uKHQpe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImJvdW5kaW5kQm94Iix0KSxuZXcgY2koe21pbmltdW06dC5taW5pbXVtLG1heGltdW06dC5tYXhpbXVtfSl9O2NpLnBhY2tlZExlbmd0aD0yKmEucGFja2VkTGVuZ3RoKzE7Y2kucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0Ll9taW4sZSxuKSxhLnBhY2sodC5fbWF4LGUsbithLnBhY2tlZExlbmd0aCksZVtuK2EucGFja2VkTGVuZ3RoKjJdPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtwVD1uZXcgYSxkVD1uZXcgYSxsVD17bWluaW11bTpwVCxtYXhpbXVtOmRULG9mZnNldEF0dHJpYnV0ZTp2b2lkIDB9O2NpLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89YS51bnBhY2sodCxlLHBUKSxyPWEudW5wYWNrKHQsZSthLnBhY2tlZExlbmd0aCxkVCksaT10W2UrYS5wYWNrZWRMZW5ndGgqMl07cmV0dXJuIGgobik/KG4uX21pbj1hLmNsb25lKG8sbi5fbWluKSxuLl9tYXg9YS5jbG9uZShyLG4uX21heCksbi5fb2Zmc2V0QXR0cmlidXRlPWk9PT0tMT92b2lkIDA6aSxuKToobFQub2Zmc2V0QXR0cmlidXRlPWk9PT0tMT92b2lkIDA6aSxuZXcgY2kobFQpKX07Y2kuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fbWluLG49dC5fbWF4O2lmKGEuZXF1YWxzKGUsbikpcmV0dXJuO2xldCBvPW5ldyBpZSxyPW5ldyBVaW50MTZBcnJheSgxMioyKSxpPW5ldyBGbG9hdDY0QXJyYXkoOCozKTtpWzBdPWUueCxpWzFdPWUueSxpWzJdPWUueixpWzNdPW4ueCxpWzRdPWUueSxpWzVdPWUueixpWzZdPW4ueCxpWzddPW4ueSxpWzhdPWUueixpWzldPWUueCxpWzEwXT1uLnksaVsxMV09ZS56LGlbMTJdPWUueCxpWzEzXT1lLnksaVsxNF09bi56LGlbMTVdPW4ueCxpWzE2XT1lLnksaVsxN109bi56LGlbMThdPW4ueCxpWzE5XT1uLnksaVsyMF09bi56LGlbMjFdPWUueCxpWzIyXT1uLnksaVsyM109bi56LG8ucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczppfSksclswXT00LHJbMV09NSxyWzJdPTUsclszXT02LHJbNF09NixyWzVdPTcscls2XT03LHJbN109NCxyWzhdPTAscls5XT0xLHJbMTBdPTEsclsxMV09MixyWzEyXT0yLHJbMTNdPTMsclsxNF09MyxyWzE1XT0wLHJbMTZdPTAsclsxN109NCxyWzE4XT0xLHJbMTldPTUsclsyMF09MixyWzIxXT02LHJbMjJdPTMsclsyM109NztsZXQgcz1hLnN1YnRyYWN0KG4sZSxOTSksZj1hLm1hZ25pdHVkZShzKSouNTtpZihoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCB1PWkubGVuZ3RoLGM9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsbD1uZXcgVWludDhBcnJheSh1LzMpLmZpbGwoYyk7by5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpsfSl9cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpvLGluZGljZXM6cixwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOm5ldyBBdChhLlpFUk8sZiksb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTtmMD1jaX0pO3ZhciB1MD17fTtkZSh1MCx7ZGVmYXVsdDooKT0+dk19KTtmdW5jdGlvbiBJTSh0LGUpe3JldHVybiBoKGUpJiYodD1mMC51bnBhY2sodCxlKSksZjAuY3JlYXRlR2VvbWV0cnkodCl9dmFyIHZNLGwwPVooKCk9PnttVCgpO2Z0KCk7dk09SU19KTtmdW5jdGlvbiBjYSh0LGUsbixvLHIsaSxzLGYsdSxjKXtsZXQgbD10K2U7YS5tdWx0aXBseUJ5U2NhbGFyKG8sTWF0aC5jb3MobCksS3ApLGEubXVsdGlwbHlCeVNjYWxhcihuLE1hdGguc2luKGwpLGhUKSxhLmFkZChLcCxoVCxLcCk7bGV0IHA9TWF0aC5jb3ModCk7cD1wKnA7bGV0IGQ9TWF0aC5zaW4odCk7ZD1kKmQ7bGV0IF89aS9NYXRoLnNxcnQocypwK3IqZCkvZjtyZXR1cm4gZWUuZnJvbUF4aXNBbmdsZShLcCxfLF9UKSxRLmZyb21RdWF0ZXJuaW9uKF9ULHlUKSxRLm11bHRpcGx5QnlWZWN0b3IoeVQsdSxjKSxhLm5vcm1hbGl6ZShjLGMpLGEubXVsdGlwbHlCeVNjYWxhcihjLGYsYyksY312YXIgZDAsS3AsaFQsX1QseVQsZ1QsQVQscDAsTE0sRE0sRk0sQk0sa3IsbTA9WigoKT0+e0Z0KCk7V3QoKTtCbigpO0tvKCk7ZDA9e30sS3A9bmV3IGEsaFQ9bmV3IGEsX1Q9bmV3IGVlLHlUPW5ldyBRO2dUPW5ldyBhLEFUPW5ldyBhLHAwPW5ldyBhLExNPW5ldyBhO2QwLnJhaXNlUG9zaXRpb25zVG9IZWlnaHQ9ZnVuY3Rpb24odCxlLG4pe2xldCBvPWUuZWxsaXBzb2lkLHI9ZS5oZWlnaHQsaT1lLmV4dHJ1ZGVkSGVpZ2h0LHM9bj90Lmxlbmd0aC8zKjI6dC5sZW5ndGgvMyxmPW5ldyBGbG9hdDY0QXJyYXkocyozKSx1PXQubGVuZ3RoLGM9bj91OjA7Zm9yKGxldCBsPTA7bDx1O2wrPTMpe2xldCBwPWwrMSxkPWwrMixtPWEuZnJvbUFycmF5KHQsbCxnVCk7by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKG0sbSk7bGV0IF89YS5jbG9uZShtLEFUKSxnPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKG0sTE0pLGI9YS5tdWx0aXBseUJ5U2NhbGFyKGcscixwMCk7YS5hZGQobSxiLG0pLG4mJihhLm11bHRpcGx5QnlTY2FsYXIoZyxpLGIpLGEuYWRkKF8sYixfKSxmW2wrY109Xy54LGZbcCtjXT1fLnksZltkK2NdPV8ueiksZltsXT1tLngsZltwXT1tLnksZltkXT1tLnp9cmV0dXJuIGZ9O0RNPW5ldyBhLEZNPW5ldyBhLEJNPW5ldyBhO2QwLmNvbXB1dGVFbGxpcHNlUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LnNlbWlNaW5vckF4aXMscj10LnNlbWlNYWpvckF4aXMsaT10LnJvdGF0aW9uLHM9dC5jZW50ZXIsZj10LmdyYW51bGFyaXR5KjgsdT1vKm8sYz1yKnIsbD1yKm8scD1hLm1hZ25pdHVkZShzKSxkPWEubm9ybWFsaXplKHMsRE0pLG09YS5jcm9zcyhhLlVOSVRfWixzLEZNKTttPWEubm9ybWFsaXplKG0sbSk7bGV0IF89YS5jcm9zcyhkLG0sQk0pLGc9MStNYXRoLmNlaWwoTS5QSV9PVkVSX1RXTy9mKSxiPU0uUElfT1ZFUl9UV08vKGctMSksVD1NLlBJX09WRVJfVFdPLWcqYjtUPDAmJihnLT1NYXRoLmNlaWwoTWF0aC5hYnMoVCkvYikpO2xldCBPPTIqKGcqKGcrMikpLEU9ZT9uZXcgQXJyYXkoTyozKTp2b2lkIDAsdz0wLEM9Z1QsTj1BVCxJPWcqNCozLEQ9SS0xLHY9MCxMPW4/bmV3IEFycmF5KEkpOnZvaWQgMCxVLEEsUyxQLEY7Zm9yKFQ9TS5QSV9PVkVSX1RXTyxDPWNhKFQsaSxfLG0sdSxsLGMscCxkLEMpLGUmJihFW3crK109Qy54LEVbdysrXT1DLnksRVt3KytdPUMueiksbiYmKExbRC0tXT1DLnosTFtELS1dPUMueSxMW0QtLV09Qy54KSxUPU0uUElfT1ZFUl9UV08tYixVPTE7VTxnKzE7KytVKXtpZihDPWNhKFQsaSxfLG0sdSxsLGMscCxkLEMpLE49Y2EoTWF0aC5QSS1ULGksXyxtLHUsbCxjLHAsZCxOKSxlKXtmb3IoRVt3KytdPUMueCxFW3crK109Qy55LEVbdysrXT1DLnosUz0yKlUrMixBPTE7QTxTLTE7KytBKVA9QS8oUy0xKSxGPWEubGVycChDLE4sUCxwMCksRVt3KytdPUYueCxFW3crK109Ri55LEVbdysrXT1GLno7RVt3KytdPU4ueCxFW3crK109Ti55LEVbdysrXT1OLnp9biYmKExbRC0tXT1DLnosTFtELS1dPUMueSxMW0QtLV09Qy54LExbdisrXT1OLngsTFt2KytdPU4ueSxMW3YrK109Ti56KSxUPU0uUElfT1ZFUl9UV08tKFUrMSkqYn1mb3IoVT1nO1U+MTstLVUpe2lmKFQ9TS5QSV9PVkVSX1RXTy0oVS0xKSpiLEM9Y2EoLVQsaSxfLG0sdSxsLGMscCxkLEMpLE49Y2EoVCtNYXRoLlBJLGksXyxtLHUsbCxjLHAsZCxOKSxlKXtmb3IoRVt3KytdPUMueCxFW3crK109Qy55LEVbdysrXT1DLnosUz0yKihVLTEpKzIsQT0xO0E8Uy0xOysrQSlQPUEvKFMtMSksRj1hLmxlcnAoQyxOLFAscDApLEVbdysrXT1GLngsRVt3KytdPUYueSxFW3crK109Ri56O0VbdysrXT1OLngsRVt3KytdPU4ueSxFW3crK109Ti56fW4mJihMW0QtLV09Qy56LExbRC0tXT1DLnksTFtELS1dPUMueCxMW3YrK109Ti54LExbdisrXT1OLnksTFt2KytdPU4ueil9VD1NLlBJX09WRVJfVFdPLEM9Y2EoLVQsaSxfLG0sdSxsLGMscCxkLEMpO2xldCBqPXt9O3JldHVybiBlJiYoRVt3KytdPUMueCxFW3crK109Qy55LEVbdysrXT1DLnosai5wb3NpdGlvbnM9RSxqLm51bVB0cz1nKSxuJiYoTFtELS1dPUMueixMW0QtLV09Qy55LExbRC0tXT1DLngsai5vdXRlclBvc2l0aW9ucz1MKSxqfTtrcj1kMH0pO2Z1bmN0aW9uIFVNKHQpe2lmKHQ9eCh0LHguRU1QVFlfT0JKRUNUKSwhaCh0Lmdlb21ldHJ5KSl0aHJvdyBuZXcgQigib3B0aW9ucy5nZW9tZXRyeSBpcyByZXF1aXJlZC4iKTt0aGlzLmdlb21ldHJ5PXQuZ2VvbWV0cnksdGhpcy5tb2RlbE1hdHJpeD1zdC5jbG9uZSh4KHQubW9kZWxNYXRyaXgsc3QuSURFTlRJVFkpKSx0aGlzLmlkPXQuaWQsdGhpcy5waWNrUHJpbWl0aXZlPXQucGlja1ByaW1pdGl2ZSx0aGlzLmF0dHJpYnV0ZXM9eCh0LmF0dHJpYnV0ZXMse30pLHRoaXMud2VzdEhlbWlzcGhlcmVHZW9tZXRyeT12b2lkIDAsdGhpcy5lYXN0SGVtaXNwaGVyZUdlb21ldHJ5PXZvaWQgMH12YXIgY28sc2M9WigoKT0+e0l0KCk7ZnQoKTtIdCgpO1VuKCk7Y289VU19KTtmdW5jdGlvbiB4VCh0LGUsbil7bGV0IG89ZS52ZXJ0ZXhGb3JtYXQscj1lLmNlbnRlcixpPWUuc2VtaU1ham9yQXhpcyxzPWUuc2VtaU1pbm9yQXhpcyxmPWUuZWxsaXBzb2lkLHU9ZS5zdFJvdGF0aW9uLGM9bj90Lmxlbmd0aC8zKjI6dC5sZW5ndGgvMyxsPWUuc2hhZG93Vm9sdW1lLHA9by5zdD9uZXcgRmxvYXQzMkFycmF5KGMqMik6dm9pZCAwLGQ9by5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShjKjMpOnZvaWQgMCxtPW8udGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KGMqMyk6dm9pZCAwLF89by5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShjKjMpOnZvaWQgMCxnPWw/bmV3IEZsb2F0MzJBcnJheShjKjMpOnZvaWQgMCxiPTAsVD13VCxPPU9ULEU9RVQsdz1uZXcgSm4oZiksQz13LnByb2plY3QoZi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhyLFlwKSxSVCksTj1mLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UocixhYSk7Zi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoTixOKTtsZXQgST1UVCxEPVZNO2lmKHUhPT0wKXtsZXQgRj1lZS5mcm9tQXhpc0FuZ2xlKE4sdSx5MCk7ST1RLmZyb21RdWF0ZXJuaW9uKEYsSSksRj1lZS5mcm9tQXhpc0FuZ2xlKE4sLXUseTApLEQ9US5mcm9tUXVhdGVybmlvbihGLEQpfWVsc2UgST1RLmNsb25lKFEuSURFTlRJVFksSSksRD1RLmNsb25lKFEuSURFTlRJVFksRCk7bGV0IHY9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksU1QpLEw9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksQ1QpLFU9dC5sZW5ndGgsQT1uP1U6MCxTPUEvMyoyO2ZvcihsZXQgRj0wO0Y8VTtGKz0zKXtsZXQgaj1GKzEsSD1GKzIsaz1hLmZyb21BcnJheSh0LEYsYWEpO2lmKG8uc3Qpe2xldCBLPVEubXVsdGlwbHlCeVZlY3RvcihJLGssaDApLFg9dy5wcm9qZWN0KGYuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoSyxZcCksXzApO2Euc3VidHJhY3QoWCxDLFgpLCRuLng9KFgueCtpKS8oMippKSwkbi55PShYLnkrcykvKDIqcyksdi54PU1hdGgubWluKCRuLngsdi54KSx2Lnk9TWF0aC5taW4oJG4ueSx2LnkpLEwueD1NYXRoLm1heCgkbi54LEwueCksTC55PU1hdGgubWF4KCRuLnksTC55KSxuJiYocFtiK1NdPSRuLngscFtiKzErU109JG4ueSkscFtiKytdPSRuLngscFtiKytdPSRuLnl9KG8ubm9ybWFsfHxvLnRhbmdlbnR8fG8uYml0YW5nZW50fHxsKSYmKFQ9Zi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoayxUKSxsJiYoZ1tGK0FdPS1ULngsZ1tqK0FdPS1ULnksZ1tIK0FdPS1ULnopLChvLm5vcm1hbHx8by50YW5nZW50fHxvLmJpdGFuZ2VudCkmJigoby50YW5nZW50fHxvLmJpdGFuZ2VudCkmJihPPWEubm9ybWFsaXplKGEuY3Jvc3MoYS5VTklUX1osVCxPKSxPKSxRLm11bHRpcGx5QnlWZWN0b3IoRCxPLE8pKSxvLm5vcm1hbCYmKGRbRl09VC54LGRbal09VC55LGRbSF09VC56LG4mJihkW0YrQV09LVQueCxkW2orQV09LVQueSxkW0grQV09LVQueikpLG8udGFuZ2VudCYmKG1bRl09Ty54LG1bal09Ty55LG1bSF09Ty56LG4mJihtW0YrQV09LU8ueCxtW2orQV09LU8ueSxtW0grQV09LU8ueikpLG8uYml0YW5nZW50JiYoRT1hLm5vcm1hbGl6ZShhLmNyb3NzKFQsTyxFKSxFKSxfW0ZdPUUueCxfW2pdPUUueSxfW0hdPUUueixuJiYoX1tGK0FdPUUueCxfW2orQV09RS55LF9bSCtBXT1FLnopKSkpfWlmKG8uc3Qpe1U9cC5sZW5ndGg7Zm9yKGxldCBGPTA7RjxVO0YrPTIpcFtGXT0ocFtGXS12LngpLyhMLngtdi54KSxwW0YrMV09KHBbRisxXS12LnkpLyhMLnktdi55KX1sZXQgUD1uZXcgaWU7aWYoby5wb3NpdGlvbil7bGV0IEY9a3IucmFpc2VQb3NpdGlvbnNUb0hlaWdodCh0LGUsbik7UC5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkZ9KX1pZihvLnN0JiYoUC5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6cH0pKSxvLm5vcm1hbCYmKFAubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpkfSkpLG8udGFuZ2VudCYmKFAudGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6bX0pKSxvLmJpdGFuZ2VudCYmKFAuYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpffSkpLGwmJihQLmV4dHJ1ZGVEaXJlY3Rpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmd9KSksbiYmaChlLm9mZnNldEF0dHJpYnV0ZSkpe2xldCBGPW5ldyBVaW50OEFycmF5KGMpO2lmKGUub2Zmc2V0QXR0cmlidXRlPT09ZmUuVE9QKUY9Ri5maWxsKDEsMCxjLzIpO2Vsc2V7bGV0IGo9ZS5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MTtGPUYuZmlsbChqKX1QLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOkZ9KX1yZXR1cm4gUH1mdW5jdGlvbiBQVCh0KXtsZXQgZT1uZXcgQXJyYXkoMTIqKHQqKHQrMSkpLTYpLG49MCxvLHIsaSxzLGY7Zm9yKG89MCxpPTEscz0wO3M8MztzKyspZVtuKytdPWkrKyxlW24rK109byxlW24rK109aTtmb3Iocz0yO3M8dCsxOysrcyl7Zm9yKGk9cyoocysxKS0xLG89KHMtMSkqcy0xLGVbbisrXT1pKyssZVtuKytdPW8sZVtuKytdPWkscj0yKnMsZj0wO2Y8ci0xOysrZillW24rK109aSxlW24rK109bysrLGVbbisrXT1vLGVbbisrXT1pKyssZVtuKytdPW8sZVtuKytdPWk7ZVtuKytdPWkrKyxlW24rK109byxlW24rK109aX1mb3Iocj10KjIsKytpLCsrbyxzPTA7czxyLTE7KytzKWVbbisrXT1pLGVbbisrXT1vKyssZVtuKytdPW8sZVtuKytdPWkrKyxlW24rK109byxlW24rK109aTtmb3IoZVtuKytdPWksZVtuKytdPW8rKyxlW24rK109byxlW24rK109aSsrLGVbbisrXT1vKyssZVtuKytdPW8sKytvLHM9dC0xO3M+MTstLXMpe2ZvcihlW24rK109bysrLGVbbisrXT1vLGVbbisrXT1pLHI9MipzLGY9MDtmPHItMTsrK2YpZVtuKytdPWksZVtuKytdPW8rKyxlW24rK109byxlW24rK109aSsrLGVbbisrXT1vLGVbbisrXT1pO2VbbisrXT1vKyssZVtuKytdPW8rKyxlW24rK109aSsrfWZvcihzPTA7czwzO3MrKyllW24rK109bysrLGVbbisrXT1vLGVbbisrXT1pO3JldHVybiBlfWZ1bmN0aW9uIGtNKHQpe2xldCBlPXQuY2VudGVyO2NjPWEubXVsdGlwbHlCeVNjYWxhcih0LmVsbGlwc29pZC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZSxjYyksdC5oZWlnaHQsY2MpLGNjPWEuYWRkKGUsY2MsY2MpO2xldCBuPW5ldyBBdChjYyx0LnNlbWlNYWpvckF4aXMpLG89a3IuY29tcHV0ZUVsbGlwc2VQb3NpdGlvbnModCwhMCwhMSkscj1vLnBvc2l0aW9ucyxpPW8ubnVtUHRzLHM9eFQocix0LCExKSxmPVBUKGkpO3JldHVybiBmPUR0LmNyZWF0ZVR5cGVkQXJyYXkoci5sZW5ndGgvMyxmKSx7Ym91bmRpbmdTcGhlcmU6bixhdHRyaWJ1dGVzOnMsaW5kaWNlczpmfX1mdW5jdGlvbiBHTSh0LGUpe2xldCBuPWUudmVydGV4Rm9ybWF0LG89ZS5jZW50ZXIscj1lLnNlbWlNYWpvckF4aXMsaT1lLnNlbWlNaW5vckF4aXMscz1lLmVsbGlwc29pZCxmPWUuaGVpZ2h0LHU9ZS5leHRydWRlZEhlaWdodCxjPWUuc3RSb3RhdGlvbixsPXQubGVuZ3RoLzMqMixwPW5ldyBGbG9hdDY0QXJyYXkobCozKSxkPW4uc3Q/bmV3IEZsb2F0MzJBcnJheShsKjIpOnZvaWQgMCxtPW4ubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkobCozKTp2b2lkIDAsXz1uLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShsKjMpOnZvaWQgMCxnPW4uYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkobCozKTp2b2lkIDAsYj1lLnNoYWRvd1ZvbHVtZSxUPWI/bmV3IEZsb2F0MzJBcnJheShsKjMpOnZvaWQgMCxPPTAsRT13VCx3PU9ULEM9RVQsTj1uZXcgSm4ocyksST1OLnByb2plY3Qocy5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhvLFlwKSxSVCksRD1zLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UobyxhYSk7cy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoRCxEKTtsZXQgdj1lZS5mcm9tQXhpc0FuZ2xlKEQsYyx5MCksTD1RLmZyb21RdWF0ZXJuaW9uKHYsVFQpLFU9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5QT1NJVElWRV9JTkZJTklUWSxOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksU1QpLEE9dHQuZnJvbUVsZW1lbnRzKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSxOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksQ1QpLFM9dC5sZW5ndGgsUD1TLzMqMjtmb3IobGV0IGo9MDtqPFM7ais9Myl7bGV0IEg9aisxLGs9aisyLEs9YS5mcm9tQXJyYXkodCxqLGFhKSxYO2lmKG4uc3Qpe2xldCBvdD1RLm11bHRpcGx5QnlWZWN0b3IoTCxLLGgwKSxhdD1OLnByb2plY3Qocy5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhvdCxZcCksXzApO2Euc3VidHJhY3QoYXQsSSxhdCksJG4ueD0oYXQueCtyKS8oMipyKSwkbi55PShhdC55K2kpLygyKmkpLFUueD1NYXRoLm1pbigkbi54LFUueCksVS55PU1hdGgubWluKCRuLnksVS55KSxBLng9TWF0aC5tYXgoJG4ueCxBLngpLEEueT1NYXRoLm1heCgkbi55LEEueSksZFtPK1BdPSRuLngsZFtPKzErUF09JG4ueSxkW08rK109JG4ueCxkW08rK109JG4ueX1LPXMuc2NhbGVUb0dlb2RldGljU3VyZmFjZShLLEspLFg9YS5jbG9uZShLLGgwKSxFPXMuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKEssRSksYiYmKFRbaitTXT0tRS54LFRbSCtTXT0tRS55LFRbaytTXT0tRS56KTtsZXQgUj1hLm11bHRpcGx5QnlTY2FsYXIoRSxmLGJUKTtpZihLPWEuYWRkKEssUixLKSxSPWEubXVsdGlwbHlCeVNjYWxhcihFLHUsUiksWD1hLmFkZChYLFIsWCksbi5wb3NpdGlvbiYmKHBbaitTXT1YLngscFtIK1NdPVgueSxwW2srU109WC56LHBbal09Sy54LHBbSF09Sy55LHBba109Sy56KSxuLm5vcm1hbHx8bi50YW5nZW50fHxuLmJpdGFuZ2VudCl7Qz1hLmNsb25lKEUsQyk7bGV0IG90PWEuZnJvbUFycmF5KHQsKGorMyklUyxiVCk7YS5zdWJ0cmFjdChvdCxLLG90KTtsZXQgYXQ9YS5zdWJ0cmFjdChYLEssXzApO0U9YS5ub3JtYWxpemUoYS5jcm9zcyhhdCxvdCxFKSxFKSxuLm5vcm1hbCYmKG1bal09RS54LG1bSF09RS55LG1ba109RS56LG1baitTXT1FLngsbVtIK1NdPUUueSxtW2srU109RS56KSxuLnRhbmdlbnQmJih3PWEubm9ybWFsaXplKGEuY3Jvc3MoQyxFLHcpLHcpLF9bal09dy54LF9bSF09dy55LF9ba109dy56LF9baitTXT13LngsX1tqKzErU109dy55LF9baisyK1NdPXcueiksbi5iaXRhbmdlbnQmJihnW2pdPUMueCxnW0hdPUMueSxnW2tdPUMueixnW2orU109Qy54LGdbSCtTXT1DLnksZ1trK1NdPUMueil9fWlmKG4uc3Qpe1M9ZC5sZW5ndGg7Zm9yKGxldCBqPTA7ajxTO2orPTIpZFtqXT0oZFtqXS1VLngpLyhBLngtVS54KSxkW2orMV09KGRbaisxXS1VLnkpLyhBLnktVS55KX1sZXQgRj1uZXcgaWU7aWYobi5wb3NpdGlvbiYmKEYucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpwfSkpLG4uc3QmJihGLnN0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpkfSkpLG4ubm9ybWFsJiYoRi5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm19KSksbi50YW5nZW50JiYoRi50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpffSkpLG4uYml0YW5nZW50JiYoRi5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmd9KSksYiYmKEYuZXh0cnVkZURpcmVjdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6VH0pKSxoKGUub2Zmc2V0QXR0cmlidXRlKSl7bGV0IGo9bmV3IFVpbnQ4QXJyYXkobCk7aWYoZS5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1Apaj1qLmZpbGwoMSwwLGwvMik7ZWxzZXtsZXQgSD1lLm9mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxO2o9ai5maWxsKEgpfUYuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6an0pfXJldHVybiBGfWZ1bmN0aW9uIHpNKHQpe2xldCBlPXQubGVuZ3RoLzMsbj1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSo2KSxvPTA7Zm9yKGxldCByPTA7cjxlO3IrKyl7bGV0IGk9cixzPXIrZSxmPShpKzEpJWUsdT1mK2U7bltvKytdPWksbltvKytdPXMsbltvKytdPWYsbltvKytdPWYsbltvKytdPXMsbltvKytdPXV9cmV0dXJuIG59ZnVuY3Rpb24gak0odCl7bGV0IGU9dC5jZW50ZXIsbj10LmVsbGlwc29pZCxvPXQuc2VtaU1ham9yQXhpcyxyPWEubXVsdGlwbHlCeVNjYWxhcihuLmdlb2RldGljU3VyZmFjZU5vcm1hbChlLGFhKSx0LmhlaWdodCxhYSk7V3AuY2VudGVyPWEuYWRkKGUscixXcC5jZW50ZXIpLFdwLnJhZGl1cz1vLHI9YS5tdWx0aXBseUJ5U2NhbGFyKG4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGUsciksdC5leHRydWRlZEhlaWdodCxyKSxYcC5jZW50ZXI9YS5hZGQoZSxyLFhwLmNlbnRlciksWHAucmFkaXVzPW87bGV0IGk9a3IuY29tcHV0ZUVsbGlwc2VQb3NpdGlvbnModCwhMCwhMCkscz1pLnBvc2l0aW9ucyxmPWkubnVtUHRzLHU9aS5vdXRlclBvc2l0aW9ucyxjPUF0LnVuaW9uKFdwLFhwKSxsPXhUKHMsdCwhMCkscD1QVChmKSxkPXAubGVuZ3RoO3AubGVuZ3RoPWQqMjtsZXQgbT1zLmxlbmd0aC8zO2ZvcihsZXQgdz0wO3c8ZDt3Kz0zKXBbdytkXT1wW3crMl0rbSxwW3crMStkXT1wW3crMV0rbSxwW3crMitkXT1wW3ddK207bGV0IF89RHQuY3JlYXRlVHlwZWRBcnJheShtKjIvMyxwKSxnPW5ldyBVdCh7YXR0cmlidXRlczpsLGluZGljZXM6XyxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFU30pLGI9R00odSx0KTtwPXpNKHUpO2xldCBUPUR0LmNyZWF0ZVR5cGVkQXJyYXkodS5sZW5ndGgqMi8zLHApLE89bmV3IFV0KHthdHRyaWJ1dGVzOmIsaW5kaWNlczpULHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfSksRT1WZS5jb21iaW5lSW5zdGFuY2VzKFtuZXcgY28oe2dlb21ldHJ5Omd9KSxuZXcgY28oe2dlb21ldHJ5Ok99KV0pO3JldHVybntib3VuZGluZ1NwaGVyZTpjLGF0dHJpYnV0ZXM6RVswXS5hdHRyaWJ1dGVzLGluZGljZXM6RVswXS5pbmRpY2VzfX1mdW5jdGlvbiBNVCh0LGUsbixvLHIsaSxzKXtsZXQgdT1rci5jb21wdXRlRWxsaXBzZVBvc2l0aW9ucyh7Y2VudGVyOnQsc2VtaU1ham9yQXhpczplLHNlbWlNaW5vckF4aXM6bixyb3RhdGlvbjpvLGdyYW51bGFyaXR5OnJ9LCExLCEwKS5vdXRlclBvc2l0aW9ucyxjPXUubGVuZ3RoLzMsbD1uZXcgQXJyYXkoYyk7Zm9yKGxldCBkPTA7ZDxjOysrZClsW2RdPWEuZnJvbUFycmF5KHUsZCozKTtsZXQgcD1OdC5mcm9tQ2FydGVzaWFuQXJyYXkobCxpLHMpO3JldHVybiBwLndpZHRoPk0uUEkmJihwLm5vcnRoPXAubm9ydGg+MD9NLlBJX09WRVJfVFdPLU0uRVBTSUxPTjc6cC5ub3J0aCxwLnNvdXRoPXAuc291dGg8MD9NLkVQU0lMT043LU0uUElfT1ZFUl9UV086cC5zb3V0aCxwLmVhc3Q9TS5QSSxwLndlc3Q9LU0uUEkpLHB9ZnVuY3Rpb24gZmkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQuY2VudGVyLG49eCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpLG89dC5zZW1pTWFqb3JBeGlzLHI9dC5zZW1pTWlub3JBeGlzLGk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxzPXgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCk7aWYoeS5kZWZpbmVkKCJvcHRpb25zLmNlbnRlciIsZSkseS50eXBlT2YubnVtYmVyKCJvcHRpb25zLnNlbWlNYWpvckF4aXMiLG8pLHkudHlwZU9mLm51bWJlcigib3B0aW9ucy5zZW1pTWlub3JBeGlzIixyKSxvPHIpdGhyb3cgbmV3IEIoInNlbWlNYWpvckF4aXMgbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gdGhlIHNlbWlNaW5vckF4aXMuIik7aWYoaTw9MCl0aHJvdyBuZXcgQigiZ3JhbnVsYXJpdHkgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4iKTtsZXQgZj14KHQuaGVpZ2h0LDApLHU9eCh0LmV4dHJ1ZGVkSGVpZ2h0LGYpO3RoaXMuX2NlbnRlcj1hLmNsb25lKGUpLHRoaXMuX3NlbWlNYWpvckF4aXM9byx0aGlzLl9zZW1pTWlub3JBeGlzPXIsdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUobiksdGhpcy5fcm90YXRpb249eCh0LnJvdGF0aW9uLDApLHRoaXMuX3N0Um90YXRpb249eCh0LnN0Um90YXRpb24sMCksdGhpcy5faGVpZ2h0PU1hdGgubWF4KHUsZiksdGhpcy5fZ3JhbnVsYXJpdHk9aSx0aGlzLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUocyksdGhpcy5fZXh0cnVkZWRIZWlnaHQ9TWF0aC5taW4odSxmKSx0aGlzLl9zaGFkb3dWb2x1bWU9eCh0LnNoYWRvd1ZvbHVtZSwhMSksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlRWxsaXBzZUdlb21ldHJ5Iix0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fcmVjdGFuZ2xlPXZvaWQgMCx0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzPXZvaWQgMH1mdW5jdGlvbiBITSh0KXtsZXQgZT0tdC5fc3RSb3RhdGlvbjtpZihlPT09MClyZXR1cm5bMCwwLDAsMSwxLDBdO2xldCBvPWtyLmNvbXB1dGVFbGxpcHNlUG9zaXRpb25zKHtjZW50ZXI6dC5fY2VudGVyLHNlbWlNYWpvckF4aXM6dC5fc2VtaU1ham9yQXhpcyxzZW1pTWlub3JBeGlzOnQuX3NlbWlNaW5vckF4aXMscm90YXRpb246dC5fcm90YXRpb24sZ3JhbnVsYXJpdHk6dC5fZ3JhbnVsYXJpdHl9LCExLCEwKS5vdXRlclBvc2l0aW9ucyxyPW8ubGVuZ3RoLzMsaT1uZXcgQXJyYXkocik7Zm9yKGxldCB1PTA7dTxyOysrdSlpW3VdPWEuZnJvbUFycmF5KG8sdSozKTtsZXQgcz10Ll9lbGxpcHNvaWQsZj10LnJlY3RhbmdsZTtyZXR1cm4gVXQuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHMoaSxlLHMsZil9dmFyIGFhLGgwLF8wLGJULCRuLFRULFZNLHkwLHdULE9ULEVULFlwLFJULFNULENULGNjLFdwLFhwLE5ULElULHZULGFpLEdyLGcwPVooKCk9Pnt2ZSgpO1VlKCk7RnQoKTtJZSgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTttMCgpO1p0KCk7U2koKTtYZSgpO1llKCk7YW4oKTtzYygpO0xvKCk7c2koKTskZSgpO1d0KCk7Qm4oKTt0bigpO0tvKCk7d24oKTtSbygpO2FhPW5ldyBhLGgwPW5ldyBhLF8wPW5ldyBhLGJUPW5ldyBhLCRuPW5ldyB0dCxUVD1uZXcgUSxWTT1uZXcgUSx5MD1uZXcgZWUsd1Q9bmV3IGEsT1Q9bmV3IGEsRVQ9bmV3IGEsWXA9bmV3IGN0LFJUPW5ldyBhLFNUPW5ldyB0dCxDVD1uZXcgdHQ7Y2M9bmV3IGE7V3A9bmV3IEF0LFhwPW5ldyBBdDtmaS5wYWNrZWRMZW5ndGg9YS5wYWNrZWRMZW5ndGgrJC5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RoKzk7ZmkucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0Ll9jZW50ZXIsZSxuKSxuKz1hLnBhY2tlZExlbmd0aCwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX3NlbWlNYWpvckF4aXMsZVtuKytdPXQuX3NlbWlNaW5vckF4aXMsZVtuKytdPXQuX3JvdGF0aW9uLGVbbisrXT10Ll9zdFJvdGF0aW9uLGVbbisrXT10Ll9oZWlnaHQsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fc2hhZG93Vm9sdW1lPzE6MCxlW25dPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtOVD1uZXcgYSxJVD1uZXcgJCx2VD1uZXcgZHQsYWk9e2NlbnRlcjpOVCxlbGxpcHNvaWQ6SVQsdmVydGV4Rm9ybWF0OnZULHNlbWlNYWpvckF4aXM6dm9pZCAwLHNlbWlNaW5vckF4aXM6dm9pZCAwLHJvdGF0aW9uOnZvaWQgMCxzdFJvdGF0aW9uOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMCxleHRydWRlZEhlaWdodDp2b2lkIDAsc2hhZG93Vm9sdW1lOnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTtmaS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPWEudW5wYWNrKHQsZSxOVCk7ZSs9YS5wYWNrZWRMZW5ndGg7bGV0IHI9JC51bnBhY2sodCxlLElUKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT1kdC51bnBhY2sodCxlLHZUKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IHM9dFtlKytdLGY9dFtlKytdLHU9dFtlKytdLGM9dFtlKytdLGw9dFtlKytdLHA9dFtlKytdLGQ9dFtlKytdLG09dFtlKytdPT09MSxfPXRbZV07cmV0dXJuIGgobik/KG4uX2NlbnRlcj1hLmNsb25lKG8sbi5fY2VudGVyKSxuLl9lbGxpcHNvaWQ9JC5jbG9uZShyLG4uX2VsbGlwc29pZCksbi5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKGksbi5fdmVydGV4Rm9ybWF0KSxuLl9zZW1pTWFqb3JBeGlzPXMsbi5fc2VtaU1pbm9yQXhpcz1mLG4uX3JvdGF0aW9uPXUsbi5fc3RSb3RhdGlvbj1jLG4uX2hlaWdodD1sLG4uX2dyYW51bGFyaXR5PXAsbi5fZXh0cnVkZWRIZWlnaHQ9ZCxuLl9zaGFkb3dWb2x1bWU9bSxuLl9vZmZzZXRBdHRyaWJ1dGU9Xz09PS0xP3ZvaWQgMDpfLG4pOihhaS5oZWlnaHQ9bCxhaS5leHRydWRlZEhlaWdodD1kLGFpLmdyYW51bGFyaXR5PXAsYWkuc3RSb3RhdGlvbj1jLGFpLnJvdGF0aW9uPXUsYWkuc2VtaU1ham9yQXhpcz1zLGFpLnNlbWlNaW5vckF4aXM9ZixhaS5zaGFkb3dWb2x1bWU9bSxhaS5vZmZzZXRBdHRyaWJ1dGU9Xz09PS0xP3ZvaWQgMDpfLG5ldyBmaShhaSkpfTtmaS5jb21wdXRlUmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBuPXQuY2VudGVyLG89eCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpLHI9dC5zZW1pTWFqb3JBeGlzLGk9dC5zZW1pTWlub3JBeGlzLHM9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxmPXgodC5yb3RhdGlvbiwwKTtpZih5LmRlZmluZWQoIm9wdGlvbnMuY2VudGVyIixuKSx5LnR5cGVPZi5udW1iZXIoIm9wdGlvbnMuc2VtaU1ham9yQXhpcyIscikseS50eXBlT2YubnVtYmVyKCJvcHRpb25zLnNlbWlNaW5vckF4aXMiLGkpLHI8aSl0aHJvdyBuZXcgQigic2VtaU1ham9yQXhpcyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB0aGUgc2VtaU1pbm9yQXhpcy4iKTtpZihzPD0wKXRocm93IG5ldyBCKCJncmFudWxhcml0eSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiIpO3JldHVybiBNVChuLHIsaSxmLHMsbyxlKX07ZmkuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7aWYodC5fc2VtaU1ham9yQXhpczw9MHx8dC5fc2VtaU1pbm9yQXhpczw9MClyZXR1cm47bGV0IGU9dC5faGVpZ2h0LG49dC5fZXh0cnVkZWRIZWlnaHQsbz0hTS5lcXVhbHNFcHNpbG9uKGUsbiwwLE0uRVBTSUxPTjIpO3QuX2NlbnRlcj10Ll9lbGxpcHNvaWQuc2NhbGVUb0dlb2RldGljU3VyZmFjZSh0Ll9jZW50ZXIsdC5fY2VudGVyKTtsZXQgcj17Y2VudGVyOnQuX2NlbnRlcixzZW1pTWFqb3JBeGlzOnQuX3NlbWlNYWpvckF4aXMsc2VtaU1pbm9yQXhpczp0Ll9zZW1pTWlub3JBeGlzLGVsbGlwc29pZDp0Ll9lbGxpcHNvaWQscm90YXRpb246dC5fcm90YXRpb24saGVpZ2h0OmUsZ3JhbnVsYXJpdHk6dC5fZ3JhbnVsYXJpdHksdmVydGV4Rm9ybWF0OnQuX3ZlcnRleEZvcm1hdCxzdFJvdGF0aW9uOnQuX3N0Um90YXRpb259LGk7aWYobylyLmV4dHJ1ZGVkSGVpZ2h0PW4sci5zaGFkb3dWb2x1bWU9dC5fc2hhZG93Vm9sdW1lLHIub2Zmc2V0QXR0cmlidXRlPXQuX29mZnNldEF0dHJpYnV0ZSxpPWpNKHIpO2Vsc2UgaWYoaT1rTShyKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBzPWkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLGY9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsdT1uZXcgVWludDhBcnJheShzLzMpLmZpbGwoZik7aS5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnV9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmkuYXR0cmlidXRlcyxpbmRpY2VzOmkuaW5kaWNlcyxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFUyxib3VuZGluZ1NwaGVyZTppLmJvdW5kaW5nU3BoZXJlLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07ZmkuY3JlYXRlU2hhZG93Vm9sdW1lPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10Ll9ncmFudWxhcml0eSxyPXQuX2VsbGlwc29pZCxpPWUobyxyKSxzPW4obyxyKTtyZXR1cm4gbmV3IGZpKHtjZW50ZXI6dC5fY2VudGVyLHNlbWlNYWpvckF4aXM6dC5fc2VtaU1ham9yQXhpcyxzZW1pTWlub3JBeGlzOnQuX3NlbWlNaW5vckF4aXMsZWxsaXBzb2lkOnIscm90YXRpb246dC5fcm90YXRpb24sc3RSb3RhdGlvbjp0Ll9zdFJvdGF0aW9uLGdyYW51bGFyaXR5Om8sZXh0cnVkZWRIZWlnaHQ6aSxoZWlnaHQ6cyx2ZXJ0ZXhGb3JtYXQ6ZHQuUE9TSVRJT05fT05MWSxzaGFkb3dWb2x1bWU6ITB9KX07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZmkucHJvdG90eXBlLHtyZWN0YW5nbGU6e2dldDpmdW5jdGlvbigpe3JldHVybiBoKHRoaXMuX3JlY3RhbmdsZSl8fCh0aGlzLl9yZWN0YW5nbGU9TVQodGhpcy5fY2VudGVyLHRoaXMuX3NlbWlNYWpvckF4aXMsdGhpcy5fc2VtaU1pbm9yQXhpcyx0aGlzLl9yb3RhdGlvbix0aGlzLl9ncmFudWxhcml0eSx0aGlzLl9lbGxpcHNvaWQpKSx0aGlzLl9yZWN0YW5nbGV9fSx0ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzKXx8KHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM9SE0odGhpcykpLHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHN9fX0pO0dyPWZpfSk7ZnVuY3Rpb24gdmkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucmFkaXVzO3kudHlwZU9mLm51bWJlcigicmFkaXVzIixlKTtsZXQgbj17Y2VudGVyOnQuY2VudGVyLHNlbWlNYWpvckF4aXM6ZSxzZW1pTWlub3JBeGlzOmUsZWxsaXBzb2lkOnQuZWxsaXBzb2lkLGhlaWdodDp0LmhlaWdodCxleHRydWRlZEhlaWdodDp0LmV4dHJ1ZGVkSGVpZ2h0LGdyYW51bGFyaXR5OnQuZ3JhbnVsYXJpdHksdmVydGV4Rm9ybWF0OnQudmVydGV4Rm9ybWF0LHN0Um90YXRpb246dC5zdFJvdGF0aW9uLHNoYWRvd1ZvbHVtZTp0LnNoYWRvd1ZvbHVtZX07dGhpcy5fZWxsaXBzZUdlb21ldHJ5PW5ldyBHcihuKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDaXJjbGVHZW9tZXRyeSJ9dmFyIExULF9vLEEwLERUPVooKCk9PntGdCgpO1h0KCk7SXQoKTtmdCgpO2cwKCk7WnQoKTtSbygpO3ZpLnBhY2tlZExlbmd0aD1Hci5wYWNrZWRMZW5ndGg7dmkucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLEdyLnBhY2sodC5fZWxsaXBzZUdlb21ldHJ5LGUsbil9O0xUPW5ldyBHcih7Y2VudGVyOm5ldyBhLHNlbWlNYWpvckF4aXM6MSxzZW1pTWlub3JBeGlzOjF9KSxfbz17Y2VudGVyOm5ldyBhLHJhZGl1czp2b2lkIDAsZWxsaXBzb2lkOiQuY2xvbmUoJC5kZWZhdWx0KSxoZWlnaHQ6dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDAsdmVydGV4Rm9ybWF0Om5ldyBkdCxzdFJvdGF0aW9uOnZvaWQgMCxzZW1pTWFqb3JBeGlzOnZvaWQgMCxzZW1pTWlub3JBeGlzOnZvaWQgMCxzaGFkb3dWb2x1bWU6dm9pZCAwfTt2aS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2xldCBvPUdyLnVucGFjayh0LGUsTFQpO3JldHVybiBfby5jZW50ZXI9YS5jbG9uZShvLl9jZW50ZXIsX28uY2VudGVyKSxfby5lbGxpcHNvaWQ9JC5jbG9uZShvLl9lbGxpcHNvaWQsX28uZWxsaXBzb2lkKSxfby5lbGxpcHNvaWQ9JC5jbG9uZShvLl9lbGxpcHNvaWQsTFQuX2VsbGlwc29pZCksX28uaGVpZ2h0PW8uX2hlaWdodCxfby5leHRydWRlZEhlaWdodD1vLl9leHRydWRlZEhlaWdodCxfby5ncmFudWxhcml0eT1vLl9ncmFudWxhcml0eSxfby52ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoby5fdmVydGV4Rm9ybWF0LF9vLnZlcnRleEZvcm1hdCksX28uc3RSb3RhdGlvbj1vLl9zdFJvdGF0aW9uLF9vLnNoYWRvd1ZvbHVtZT1vLl9zaGFkb3dWb2x1bWUsaChuKT8oX28uc2VtaU1ham9yQXhpcz1vLl9zZW1pTWFqb3JBeGlzLF9vLnNlbWlNaW5vckF4aXM9by5fc2VtaU1pbm9yQXhpcyxuLl9lbGxpcHNlR2VvbWV0cnk9bmV3IEdyKF9vKSxuKTooX28ucmFkaXVzPW8uX3NlbWlNYWpvckF4aXMsbmV3IHZpKF9vKSl9O3ZpLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe3JldHVybiBHci5jcmVhdGVHZW9tZXRyeSh0Ll9lbGxpcHNlR2VvbWV0cnkpfTt2aS5jcmVhdGVTaGFkb3dWb2x1bWU9ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQuX2VsbGlwc2VHZW9tZXRyeS5fZ3JhbnVsYXJpdHkscj10Ll9lbGxpcHNlR2VvbWV0cnkuX2VsbGlwc29pZCxpPWUobyxyKSxzPW4obyxyKTtyZXR1cm4gbmV3IHZpKHtjZW50ZXI6dC5fZWxsaXBzZUdlb21ldHJ5Ll9jZW50ZXIscmFkaXVzOnQuX2VsbGlwc2VHZW9tZXRyeS5fc2VtaU1ham9yQXhpcyxlbGxpcHNvaWQ6cixzdFJvdGF0aW9uOnQuX2VsbGlwc2VHZW9tZXRyeS5fc3RSb3RhdGlvbixncmFudWxhcml0eTpvLGV4dHJ1ZGVkSGVpZ2h0OmksaGVpZ2h0OnMsdmVydGV4Rm9ybWF0OmR0LlBPU0lUSU9OX09OTFksc2hhZG93Vm9sdW1lOiEwfSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHZpLnByb3RvdHlwZSx7cmVjdGFuZ2xlOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZWxsaXBzZUdlb21ldHJ5LnJlY3RhbmdsZX19LHRleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGxpcHNlR2VvbWV0cnkudGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50c319fSk7QTA9dml9KTt2YXIgYjA9e307ZGUoYjAse2RlZmF1bHQ6KCk9PktNfSk7ZnVuY3Rpb24gcU0odCxlKXtyZXR1cm4gaChlKSYmKHQ9QTAudW5wYWNrKHQsZSkpLHQuX2VsbGlwc2VHZW9tZXRyeS5fY2VudGVyPWEuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9jZW50ZXIpLHQuX2VsbGlwc2VHZW9tZXRyeS5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9lbGxpcHNvaWQpLEEwLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBLTSxUMD1aKCgpPT57RnQoKTtEVCgpO2Z0KCk7WnQoKTtLTT1xTX0pO2Z1bmN0aW9uIFdNKHQpe2xldCBlPXQuY2VudGVyO2FjPWEubXVsdGlwbHlCeVNjYWxhcih0LmVsbGlwc29pZC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZSxhYyksdC5oZWlnaHQsYWMpLGFjPWEuYWRkKGUsYWMsYWMpO2xldCBuPW5ldyBBdChhYyx0LnNlbWlNYWpvckF4aXMpLG89a3IuY29tcHV0ZUVsbGlwc2VQb3NpdGlvbnModCwhMSwhMCkub3V0ZXJQb3NpdGlvbnMscj1uZXcgaWUoe3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6a3IucmFpc2VQb3NpdGlvbnNUb0hlaWdodChvLHQsITEpfSl9KSxpPW8ubGVuZ3RoLzMscz1EdC5jcmVhdGVUeXBlZEFycmF5KGksaSoyKSxmPTA7Zm9yKGxldCB1PTA7dTxpOysrdSlzW2YrK109dSxzW2YrK109KHUrMSklaTtyZXR1cm57Ym91bmRpbmdTcGhlcmU6bixhdHRyaWJ1dGVzOnIsaW5kaWNlczpzfX1mdW5jdGlvbiBYTSh0KXtsZXQgZT10LmNlbnRlcixuPXQuZWxsaXBzb2lkLG89dC5zZW1pTWFqb3JBeGlzLHI9YS5tdWx0aXBseUJ5U2NhbGFyKG4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGUsRlQpLHQuaGVpZ2h0LEZUKTskcC5jZW50ZXI9YS5hZGQoZSxyLCRwLmNlbnRlciksJHAucmFkaXVzPW8scj1hLm11bHRpcGx5QnlTY2FsYXIobi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZSxyKSx0LmV4dHJ1ZGVkSGVpZ2h0LHIpLFpwLmNlbnRlcj1hLmFkZChlLHIsWnAuY2VudGVyKSxacC5yYWRpdXM9bztsZXQgaT1rci5jb21wdXRlRWxsaXBzZVBvc2l0aW9ucyh0LCExLCEwKS5vdXRlclBvc2l0aW9ucyxzPW5ldyBpZSh7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczprci5yYWlzZVBvc2l0aW9uc1RvSGVpZ2h0KGksdCwhMCl9KX0pO2k9cy5wb3NpdGlvbi52YWx1ZXM7bGV0IGY9QXQudW5pb24oJHAsWnApLHU9aS5sZW5ndGgvMztpZihoKHQub2Zmc2V0QXR0cmlidXRlKSl7bGV0IF89bmV3IFVpbnQ4QXJyYXkodSk7aWYodC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApXz1fLmZpbGwoMSwwLHUvMik7ZWxzZXtsZXQgZz10Lm9mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxO189Xy5maWxsKGcpfXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6X30pfWxldCBjPXgodC5udW1iZXJPZlZlcnRpY2FsTGluZXMsMTYpO2M9TS5jbGFtcChjLDAsdS8yKTtsZXQgbD1EdC5jcmVhdGVUeXBlZEFycmF5KHUsdSoyK2MqMik7dS89MjtsZXQgcD0wLGQ7Zm9yKGQ9MDtkPHU7KytkKWxbcCsrXT1kLGxbcCsrXT0oZCsxKSV1LGxbcCsrXT1kK3UsbFtwKytdPShkKzEpJXUrdTtsZXQgbTtpZihjPjApe2xldCBfPU1hdGgubWluKGMsdSk7bT1NYXRoLnJvdW5kKHUvXyk7bGV0IGc9TWF0aC5taW4obSpjLHUpO2ZvcihkPTA7ZDxnO2QrPW0pbFtwKytdPWQsbFtwKytdPWQrdX1yZXR1cm57Ym91bmRpbmdTcGhlcmU6ZixhdHRyaWJ1dGVzOnMsaW5kaWNlczpsfX1mdW5jdGlvbiBmYSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5jZW50ZXIsbj14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCksbz10LnNlbWlNYWpvckF4aXMscj10LnNlbWlNaW5vckF4aXMsaT14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJjZW50ZXIgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEIoInNlbWlNYWpvckF4aXMgaXMgcmVxdWlyZWQuIik7aWYoIWgocikpdGhyb3cgbmV3IEIoInNlbWlNaW5vckF4aXMgaXMgcmVxdWlyZWQuIik7aWYobzxyKXRocm93IG5ldyBCKCJzZW1pTWFqb3JBeGlzIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIHRoZSBzZW1pTWlub3JBeGlzLiIpO2lmKGk8PTApdGhyb3cgbmV3IEIoImdyYW51bGFyaXR5IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7bGV0IHM9eCh0LmhlaWdodCwwKSxmPXgodC5leHRydWRlZEhlaWdodCxzKTt0aGlzLl9jZW50ZXI9YS5jbG9uZShlKSx0aGlzLl9zZW1pTWFqb3JBeGlzPW8sdGhpcy5fc2VtaU1pbm9yQXhpcz1yLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKG4pLHRoaXMuX3JvdGF0aW9uPXgodC5yb3RhdGlvbiwwKSx0aGlzLl9oZWlnaHQ9TWF0aC5tYXgoZixzKSx0aGlzLl9ncmFudWxhcml0eT1pLHRoaXMuX2V4dHJ1ZGVkSGVpZ2h0PU1hdGgubWluKGYscyksdGhpcy5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzPU1hdGgubWF4KHgodC5udW1iZXJPZlZlcnRpY2FsTGluZXMsMTYpLDApLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVFbGxpcHNlT3V0bGluZUdlb21ldHJ5In12YXIgRlQsYWMsJHAsWnAsQlQsVVQsTGksenIsdzA9WigoKT0+e3ZlKCk7RnQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO20wKCk7WnQoKTtYZSgpO1llKCk7YW4oKTtMbygpOyRlKCk7V3QoKTt0bigpO0ZUPW5ldyBhLGFjPW5ldyBhOyRwPW5ldyBBdCxacD1uZXcgQXQ7ZmEucGFja2VkTGVuZ3RoPWEucGFja2VkTGVuZ3RoKyQucGFja2VkTGVuZ3RoKzg7ZmEucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7cmV0dXJuIG49eChuLDApLGEucGFjayh0Ll9jZW50ZXIsZSxuKSxuKz1hLnBhY2tlZExlbmd0aCwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX3NlbWlNYWpvckF4aXMsZVtuKytdPXQuX3NlbWlNaW5vckF4aXMsZVtuKytdPXQuX3JvdGF0aW9uLGVbbisrXT10Ll9oZWlnaHQsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzLGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O0JUPW5ldyBhLFVUPW5ldyAkLExpPXtjZW50ZXI6QlQsZWxsaXBzb2lkOlVULHNlbWlNYWpvckF4aXM6dm9pZCAwLHNlbWlNaW5vckF4aXM6dm9pZCAwLHJvdGF0aW9uOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMCxleHRydWRlZEhlaWdodDp2b2lkIDAsbnVtYmVyT2ZWZXJ0aWNhbExpbmVzOnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTtmYS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvPWEudW5wYWNrKHQsZSxCVCk7ZSs9YS5wYWNrZWRMZW5ndGg7bGV0IHI9JC51bnBhY2sodCxlLFVUKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT10W2UrK10scz10W2UrK10sZj10W2UrK10sdT10W2UrK10sYz10W2UrK10sbD10W2UrK10scD10W2UrK10sZD10W2VdO3JldHVybiBoKG4pPyhuLl9jZW50ZXI9YS5jbG9uZShvLG4uX2NlbnRlciksbi5fZWxsaXBzb2lkPSQuY2xvbmUocixuLl9lbGxpcHNvaWQpLG4uX3NlbWlNYWpvckF4aXM9aSxuLl9zZW1pTWlub3JBeGlzPXMsbi5fcm90YXRpb249ZixuLl9oZWlnaHQ9dSxuLl9ncmFudWxhcml0eT1jLG4uX2V4dHJ1ZGVkSGVpZ2h0PWwsbi5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzPXAsbi5fb2Zmc2V0QXR0cmlidXRlPWQ9PT0tMT92b2lkIDA6ZCxuKTooTGkuaGVpZ2h0PXUsTGkuZXh0cnVkZWRIZWlnaHQ9bCxMaS5ncmFudWxhcml0eT1jLExpLnJvdGF0aW9uPWYsTGkuc2VtaU1ham9yQXhpcz1pLExpLnNlbWlNaW5vckF4aXM9cyxMaS5udW1iZXJPZlZlcnRpY2FsTGluZXM9cCxMaS5vZmZzZXRBdHRyaWJ1dGU9ZD09PS0xP3ZvaWQgMDpkLG5ldyBmYShMaSkpfTtmYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtpZih0Ll9zZW1pTWFqb3JBeGlzPD0wfHx0Ll9zZW1pTWlub3JBeGlzPD0wKXJldHVybjtsZXQgZT10Ll9oZWlnaHQsbj10Ll9leHRydWRlZEhlaWdodCxvPSFNLmVxdWFsc0Vwc2lsb24oZSxuLDAsTS5FUFNJTE9OMik7dC5fY2VudGVyPXQuX2VsbGlwc29pZC5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKHQuX2NlbnRlcix0Ll9jZW50ZXIpO2xldCByPXtjZW50ZXI6dC5fY2VudGVyLHNlbWlNYWpvckF4aXM6dC5fc2VtaU1ham9yQXhpcyxzZW1pTWlub3JBeGlzOnQuX3NlbWlNaW5vckF4aXMsZWxsaXBzb2lkOnQuX2VsbGlwc29pZCxyb3RhdGlvbjp0Ll9yb3RhdGlvbixoZWlnaHQ6ZSxncmFudWxhcml0eTp0Ll9ncmFudWxhcml0eSxudW1iZXJPZlZlcnRpY2FsTGluZXM6dC5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzfSxpO2lmKG8pci5leHRydWRlZEhlaWdodD1uLHIub2Zmc2V0QXR0cmlidXRlPXQuX29mZnNldEF0dHJpYnV0ZSxpPVhNKHIpO2Vsc2UgaWYoaT1XTShyKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBzPWkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLGY9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsdT1uZXcgVWludDhBcnJheShzLzMpLmZpbGwoZik7aS5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnV9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmkuYXR0cmlidXRlcyxpbmRpY2VzOmkuaW5kaWNlcyxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOmkuYm91bmRpbmdTcGhlcmUsb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTt6cj1mYX0pO2Z1bmN0aW9uIHVhKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnJhZGl1czt5LnR5cGVPZi5udW1iZXIoInJhZGl1cyIsZSk7bGV0IG49e2NlbnRlcjp0LmNlbnRlcixzZW1pTWFqb3JBeGlzOmUsc2VtaU1pbm9yQXhpczplLGVsbGlwc29pZDp0LmVsbGlwc29pZCxoZWlnaHQ6dC5oZWlnaHQsZXh0cnVkZWRIZWlnaHQ6dC5leHRydWRlZEhlaWdodCxncmFudWxhcml0eTp0LmdyYW51bGFyaXR5LG51bWJlck9mVmVydGljYWxMaW5lczp0Lm51bWJlck9mVmVydGljYWxMaW5lc307dGhpcy5fZWxsaXBzZUdlb21ldHJ5PW5ldyB6cihuKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDaXJjbGVPdXRsaW5lR2VvbWV0cnkifXZhciBZTSxpcixPMCxWVD1aKCgpPT57RnQoKTtYdCgpO0l0KCk7ZnQoKTt3MCgpO1p0KCk7dWEucGFja2VkTGVuZ3RoPXpyLnBhY2tlZExlbmd0aDt1YS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCksenIucGFjayh0Ll9lbGxpcHNlR2VvbWV0cnksZSxuKX07WU09bmV3IHpyKHtjZW50ZXI6bmV3IGEsc2VtaU1ham9yQXhpczoxLHNlbWlNaW5vckF4aXM6MX0pLGlyPXtjZW50ZXI6bmV3IGEscmFkaXVzOnZvaWQgMCxlbGxpcHNvaWQ6JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSxoZWlnaHQ6dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDAsbnVtYmVyT2ZWZXJ0aWNhbExpbmVzOnZvaWQgMCxzZW1pTWFqb3JBeGlzOnZvaWQgMCxzZW1pTWlub3JBeGlzOnZvaWQgMH07dWEudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz16ci51bnBhY2sodCxlLFlNKTtyZXR1cm4gaXIuY2VudGVyPWEuY2xvbmUoby5fY2VudGVyLGlyLmNlbnRlciksaXIuZWxsaXBzb2lkPSQuY2xvbmUoby5fZWxsaXBzb2lkLGlyLmVsbGlwc29pZCksaXIuaGVpZ2h0PW8uX2hlaWdodCxpci5leHRydWRlZEhlaWdodD1vLl9leHRydWRlZEhlaWdodCxpci5ncmFudWxhcml0eT1vLl9ncmFudWxhcml0eSxpci5udW1iZXJPZlZlcnRpY2FsTGluZXM9by5fbnVtYmVyT2ZWZXJ0aWNhbExpbmVzLGgobik/KGlyLnNlbWlNYWpvckF4aXM9by5fc2VtaU1ham9yQXhpcyxpci5zZW1pTWlub3JBeGlzPW8uX3NlbWlNaW5vckF4aXMsbi5fZWxsaXBzZUdlb21ldHJ5PW5ldyB6cihpciksbik6KGlyLnJhZGl1cz1vLl9zZW1pTWFqb3JBeGlzLG5ldyB1YShpcikpfTt1YS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtyZXR1cm4genIuY3JlYXRlR2VvbWV0cnkodC5fZWxsaXBzZUdlb21ldHJ5KX07TzA9dWF9KTt2YXIgRTA9e307ZGUoRTAse2RlZmF1bHQ6KCk9PlpNfSk7ZnVuY3Rpb24gJE0odCxlKXtyZXR1cm4gaChlKSYmKHQ9TzAudW5wYWNrKHQsZSkpLHQuX2VsbGlwc2VHZW9tZXRyeS5fY2VudGVyPWEuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9jZW50ZXIpLHQuX2VsbGlwc2VHZW9tZXRyeS5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzZUdlb21ldHJ5Ll9lbGxpcHNvaWQpLE8wLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBaTSxSMD1aKCgpPT57RnQoKTtWVCgpO2Z0KCk7WnQoKTtaTT0kTX0pO2Z1bmN0aW9uIFFNKHQsZSxuLG8pe2lmKHkuZGVmaW5lZCgiZXF1YWxzRXBzaWxvbiIsZSksIWgodCkpcmV0dXJuO249eChuLCExKTtsZXQgcj1oKG8pLGk9dC5sZW5ndGg7aWYoaTwyKXJldHVybiB0O2xldCBzLGY9dFswXSx1LGMsbD0wLHA9LTE7Zm9yKHM9MTtzPGk7KytzKXU9dFtzXSxlKGYsdSxrVCk/KGgoYyl8fChjPXQuc2xpY2UoMCxzKSxsPXMtMSxwPTApLHImJm8ucHVzaChzKSk6KGgoYykmJihjLnB1c2godSksbD1zLHImJihwPW8ubGVuZ3RoKSksZj11KTtyZXR1cm4gbiYmZSh0WzBdLHRbaS0xXSxrVCkmJihyJiYoaChjKT9vLnNwbGljZShwLDAsbCk6by5wdXNoKGktMSkpLGgoYyk/Yy5sZW5ndGgtPTE6Yz10LnNsaWNlKDAsLTEpKSxoKGMpP2M6dH12YXIga1QseG4sanI9WigoKT0+e1h0KCk7SXQoKTtmdCgpO1d0KCk7a1Q9TS5FUFNJTE9OMTA7eG49UU19KTtmdW5jdGlvbiBJbih0LGUsbixvKXt0aGlzLng9eCh0LDApLHRoaXMueT14KGUsMCksdGhpcy53aWR0aD14KG4sMCksdGhpcy5oZWlnaHQ9eChvLDApfXZhciBHVCxKTSx0TixIcixDZj1aKCgpPT57VWUoKTtJZSgpO1h0KCk7SXQoKTtmdCgpO1p0KCk7U2koKTtrcygpO3duKCk7SW4ucGFja2VkTGVuZ3RoPTQ7SW4ucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LngsZVtuKytdPXQueSxlW24rK109dC53aWR0aCxlW25dPXQuaGVpZ2h0LGV9O0luLnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBJbiksbi54PXRbZSsrXSxuLnk9dFtlKytdLG4ud2lkdGg9dFtlKytdLG4uaGVpZ2h0PXRbZV0sbn07SW4uZnJvbVBvaW50cz1mdW5jdGlvbih0LGUpe2lmKGgoZSl8fChlPW5ldyBJbiksIWgodCl8fHQubGVuZ3RoPT09MClyZXR1cm4gZS54PTAsZS55PTAsZS53aWR0aD0wLGUuaGVpZ2h0PTAsZTtsZXQgbj10Lmxlbmd0aCxvPXRbMF0ueCxyPXRbMF0ueSxpPXRbMF0ueCxzPXRbMF0ueTtmb3IobGV0IGY9MTtmPG47ZisrKXtsZXQgdT10W2ZdLGM9dS54LGw9dS55O289TWF0aC5taW4oYyxvKSxpPU1hdGgubWF4KGMsaSkscj1NYXRoLm1pbihsLHIpLHM9TWF0aC5tYXgobCxzKX1yZXR1cm4gZS54PW8sZS55PXIsZS53aWR0aD1pLW8sZS5oZWlnaHQ9cy1yLGV9O0dUPW5ldyBKbixKTT1uZXcgY3QsdE49bmV3IGN0O0luLmZyb21SZWN0YW5nbGU9ZnVuY3Rpb24odCxlLG4pe2lmKGgobil8fChuPW5ldyBJbiksIWgodCkpcmV0dXJuIG4ueD0wLG4ueT0wLG4ud2lkdGg9MCxuLmhlaWdodD0wLG47R1QuX2VsbGlwc29pZD0kLmRlZmF1bHQsZT14KGUsR1QpO2xldCBvPWUucHJvamVjdChOdC5zb3V0aHdlc3QodCxKTSkpLHI9ZS5wcm9qZWN0KE50Lm5vcnRoZWFzdCh0LHROKSk7cmV0dXJuIHR0LnN1YnRyYWN0KHIsbyxyKSxuLng9by54LG4ueT1vLnksbi53aWR0aD1yLngsbi5oZWlnaHQ9ci55LG59O0luLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS54PXQueCxlLnk9dC55LGUud2lkdGg9dC53aWR0aCxlLmhlaWdodD10LmhlaWdodCxlKTpuZXcgSW4odC54LHQueSx0LndpZHRoLHQuaGVpZ2h0KX07SW4udW5pb249ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSksaChuKXx8KG49bmV3IEluKTtsZXQgbz1NYXRoLm1pbih0LngsZS54KSxyPU1hdGgubWluKHQueSxlLnkpLGk9TWF0aC5tYXgodC54K3Qud2lkdGgsZS54K2Uud2lkdGgpLHM9TWF0aC5tYXgodC55K3QuaGVpZ2h0LGUueStlLmhlaWdodCk7cmV0dXJuIG4ueD1vLG4ueT1yLG4ud2lkdGg9aS1vLG4uaGVpZ2h0PXMtcixufTtJbi5leHBhbmQ9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KSx5LnR5cGVPZi5vYmplY3QoInBvaW50IixlKSxuPUluLmNsb25lKHQsbik7bGV0IG89ZS54LW4ueCxyPWUueS1uLnk7cmV0dXJuIG8+bi53aWR0aD9uLndpZHRoPW86bzwwJiYobi53aWR0aC09byxuLng9ZS54KSxyPm4uaGVpZ2h0P24uaGVpZ2h0PXI6cjwwJiYobi5oZWlnaHQtPXIsbi55PWUueSksbn07SW4uaW50ZXJzZWN0PWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKTtsZXQgbj10Lngsbz10Lnkscj1lLngsaT1lLnk7cmV0dXJuIG4+citlLndpZHRofHxuK3Qud2lkdGg8cnx8byt0LmhlaWdodDxpfHxvPmkrZS5oZWlnaHQ/U24uT1VUU0lERTpTbi5JTlRFUlNFQ1RJTkd9O0luLmVxdWFscz1mdW5jdGlvbih0LGUpe3JldHVybiB0PT09ZXx8aCh0KSYmaChlKSYmdC54PT09ZS54JiZ0Lnk9PT1lLnkmJnQud2lkdGg9PT1lLndpZHRoJiZ0LmhlaWdodD09PWUuaGVpZ2h0fTtJbi5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIEluLmNsb25lKHRoaXMsdCl9O0luLnByb3RvdHlwZS5pbnRlcnNlY3Q9ZnVuY3Rpb24odCl7cmV0dXJuIEluLmludGVyc2VjdCh0aGlzLHQpfTtJbi5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBJbi5lcXVhbHModGhpcyx0KX07SHI9SW59KTtmdW5jdGlvbiBEbyh0LGUsbil7dGhpcy5taW5pbXVtPWEuY2xvbmUoeCh0LGEuWkVSTykpLHRoaXMubWF4aW11bT1hLmNsb25lKHgoZSxhLlpFUk8pKSxoKG4pP249YS5jbG9uZShuKTpuPWEubWlkcG9pbnQodGhpcy5taW5pbXVtLHRoaXMubWF4aW11bSxuZXcgYSksdGhpcy5jZW50ZXI9bn12YXIgUXAsRGkseGY9WigoKT0+e0Z0KCk7WHQoKTtJdCgpO2Z0KCk7a3MoKTtEby5mcm9tQ29ybmVycz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgibWluaW11bSIsdCkseS5kZWZpbmVkKCJtYXhpbXVtIixlKSxoKG4pfHwobj1uZXcgRG8pLG4ubWluaW11bT1hLmNsb25lKHQsbi5taW5pbXVtKSxuLm1heGltdW09YS5jbG9uZShlLG4ubWF4aW11bSksbi5jZW50ZXI9YS5taWRwb2ludCh0LGUsbi5jZW50ZXIpLG59O0RvLmZyb21Qb2ludHM9ZnVuY3Rpb24odCxlKXtpZihoKGUpfHwoZT1uZXcgRG8pLCFoKHQpfHx0Lmxlbmd0aD09PTApcmV0dXJuIGUubWluaW11bT1hLmNsb25lKGEuWkVSTyxlLm1pbmltdW0pLGUubWF4aW11bT1hLmNsb25lKGEuWkVSTyxlLm1heGltdW0pLGUuY2VudGVyPWEuY2xvbmUoYS5aRVJPLGUuY2VudGVyKSxlO2xldCBuPXRbMF0ueCxvPXRbMF0ueSxyPXRbMF0ueixpPXRbMF0ueCxzPXRbMF0ueSxmPXRbMF0ueix1PXQubGVuZ3RoO2ZvcihsZXQgcD0xO3A8dTtwKyspe2xldCBkPXRbcF0sbT1kLngsXz1kLnksZz1kLno7bj1NYXRoLm1pbihtLG4pLGk9TWF0aC5tYXgobSxpKSxvPU1hdGgubWluKF8sbykscz1NYXRoLm1heChfLHMpLHI9TWF0aC5taW4oZyxyKSxmPU1hdGgubWF4KGcsZil9bGV0IGM9ZS5taW5pbXVtO2MueD1uLGMueT1vLGMuej1yO2xldCBsPWUubWF4aW11bTtyZXR1cm4gbC54PWksbC55PXMsbC56PWYsZS5jZW50ZXI9YS5taWRwb2ludChjLGwsZS5jZW50ZXIpLGV9O0RvLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS5taW5pbXVtPWEuY2xvbmUodC5taW5pbXVtLGUubWluaW11bSksZS5tYXhpbXVtPWEuY2xvbmUodC5tYXhpbXVtLGUubWF4aW11bSksZS5jZW50ZXI9YS5jbG9uZSh0LmNlbnRlcixlLmNlbnRlciksZSk6bmV3IERvKHQubWluaW11bSx0Lm1heGltdW0sdC5jZW50ZXIpfTtEby5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJmEuZXF1YWxzKHQuY2VudGVyLGUuY2VudGVyKSYmYS5lcXVhbHModC5taW5pbXVtLGUubWluaW11bSkmJmEuZXF1YWxzKHQubWF4aW11bSxlLm1heGltdW0pfTtRcD1uZXcgYTtEby5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiYm94Iix0KSx5LmRlZmluZWQoInBsYW5lIixlKSxRcD1hLnN1YnRyYWN0KHQubWF4aW11bSx0Lm1pbmltdW0sUXApO2xldCBuPWEubXVsdGlwbHlCeVNjYWxhcihRcCwuNSxRcCksbz1lLm5vcm1hbCxyPW4ueCpNYXRoLmFicyhvLngpK24ueSpNYXRoLmFicyhvLnkpK24ueipNYXRoLmFicyhvLnopLGk9YS5kb3QodC5jZW50ZXIsbykrZS5kaXN0YW5jZTtyZXR1cm4gaS1yPjA/U24uSU5TSURFOmkrcjwwP1NuLk9VVFNJREU6U24uSU5URVJTRUNUSU5HfTtEby5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24odCl7cmV0dXJuIERvLmNsb25lKHRoaXMsdCl9O0RvLnByb3RvdHlwZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0KXtyZXR1cm4gRG8uaW50ZXJzZWN0UGxhbmUodGhpcyx0KX07RG8ucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4gRG8uZXF1YWxzKHRoaXMsdCl9O0RpPURvfSk7ZnVuY3Rpb24gdWkodCxlKXtpZih5LmRlZmluZWQoIm9yaWdpbiIsdCksZT14KGUsJC5kZWZhdWx0KSx0PWUuc2NhbGVUb0dlb2RldGljU3VyZmFjZSh0KSwhaCh0KSl0aHJvdyBuZXcgQigib3JpZ2luIG11c3Qgbm90IGJlIGF0IHRoZSBjZW50ZXIgb2YgdGhlIGVsbGlwc29pZC4iKTtsZXQgbj1Yby5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZSh0LGUpO3RoaXMuX2VsbGlwc29pZD1lLHRoaXMuX29yaWdpbj10LHRoaXMuX3hBeGlzPWEuZnJvbUNhcnRlc2lhbjQoc3QuZ2V0Q29sdW1uKG4sMCxTMCkpLHRoaXMuX3lBeGlzPWEuZnJvbUNhcnRlc2lhbjQoc3QuZ2V0Q29sdW1uKG4sMSxTMCkpO2xldCBvPWEuZnJvbUNhcnRlc2lhbjQoc3QuZ2V0Q29sdW1uKG4sMixTMCkpO3RoaXMuX3BsYW5lPW9uLmZyb21Qb2ludE5vcm1hbCh0LG8pfXZhciBTMCxlTix6VCxKcCxuTix5byxsYT1aKCgpPT57eGYoKTtVZSgpO0Z0KCk7aHIoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7dGMoKTtVbigpO2ZzKCk7QnAoKTtjcygpO1MwPW5ldyBoZTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh1aS5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19LG9yaWdpbjp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX29yaWdpbn19LHBsYW5lOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGxhbmV9fSx4QXhpczp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3hBeGlzfX0seUF4aXM6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl95QXhpc319LHpBeGlzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fcGxhbmUubm9ybWFsfX19KTtlTj1uZXcgRGk7dWkuZnJvbVBvaW50cz1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFucyIsdCk7bGV0IG49RGkuZnJvbVBvaW50cyh0LGVOKTtyZXR1cm4gbmV3IHVpKG4uY2VudGVyLGUpfTt6VD1uZXcgUXMsSnA9bmV3IGE7dWkucHJvdG90eXBlLnByb2plY3RQb2ludE9udG9QbGFuZT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFuIix0KTtsZXQgbj16VDtuLm9yaWdpbj10LGEubm9ybWFsaXplKHQsbi5kaXJlY3Rpb24pO2xldCBvPWhvLnJheVBsYW5lKG4sdGhpcy5fcGxhbmUsSnApO2lmKGgobyl8fChhLm5lZ2F0ZShuLmRpcmVjdGlvbixuLmRpcmVjdGlvbiksbz1oby5yYXlQbGFuZShuLHRoaXMuX3BsYW5lLEpwKSksaChvKSl7bGV0IHI9YS5zdWJ0cmFjdChvLHRoaXMuX29yaWdpbixvKSxpPWEuZG90KHRoaXMuX3hBeGlzLHIpLHM9YS5kb3QodGhpcy5feUF4aXMscik7cmV0dXJuIGgoZSk/KGUueD1pLGUueT1zLGUpOm5ldyB0dChpLHMpfX07dWkucHJvdG90eXBlLnByb2plY3RQb2ludHNPbnRvUGxhbmU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbnMiLHQpLGgoZSl8fChlPVtdKTtsZXQgbj0wLG89dC5sZW5ndGg7Zm9yKGxldCByPTA7cjxvO3IrKyl7bGV0IGk9dGhpcy5wcm9qZWN0UG9pbnRPbnRvUGxhbmUodFtyXSxlW25dKTtoKGkpJiYoZVtuXT1pLG4rKyl9cmV0dXJuIGUubGVuZ3RoPW4sZX07dWkucHJvdG90eXBlLnByb2plY3RQb2ludFRvTmVhcmVzdE9uUGxhbmU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbiIsdCksaChlKXx8KGU9bmV3IHR0KTtsZXQgbj16VDtuLm9yaWdpbj10LGEuY2xvbmUodGhpcy5fcGxhbmUubm9ybWFsLG4uZGlyZWN0aW9uKTtsZXQgbz1oby5yYXlQbGFuZShuLHRoaXMuX3BsYW5lLEpwKTtoKG8pfHwoYS5uZWdhdGUobi5kaXJlY3Rpb24sbi5kaXJlY3Rpb24pLG89aG8ucmF5UGxhbmUobix0aGlzLl9wbGFuZSxKcCkpO2xldCByPWEuc3VidHJhY3Qobyx0aGlzLl9vcmlnaW4sbyksaT1hLmRvdCh0aGlzLl94QXhpcyxyKSxzPWEuZG90KHRoaXMuX3lBeGlzLHIpO3JldHVybiBlLng9aSxlLnk9cyxlfTt1aS5wcm90b3R5cGUucHJvamVjdFBvaW50c1RvTmVhcmVzdE9uUGxhbmU9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbnMiLHQpLGgoZSl8fChlPVtdKTtsZXQgbj10Lmxlbmd0aDtlLmxlbmd0aD1uO2ZvcihsZXQgbz0wO288bjtvKyspZVtvXT10aGlzLnByb2plY3RQb2ludFRvTmVhcmVzdE9uUGxhbmUodFtvXSxlW29dKTtyZXR1cm4gZX07bk49bmV3IGE7dWkucHJvdG90eXBlLnByb2plY3RQb2ludE9udG9FbGxpcHNvaWQ9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbiIsdCksaChlKXx8KGU9bmV3IGEpO2xldCBuPXRoaXMuX2VsbGlwc29pZCxvPXRoaXMuX29yaWdpbixyPXRoaXMuX3hBeGlzLGk9dGhpcy5feUF4aXMscz1uTjtyZXR1cm4gYS5tdWx0aXBseUJ5U2NhbGFyKHIsdC54LHMpLGU9YS5hZGQobyxzLGUpLGEubXVsdGlwbHlCeVNjYWxhcihpLHQueSxzKSxhLmFkZChlLHMsZSksbi5zY2FsZVRvR2VvY2VudHJpY1N1cmZhY2UoZSxlKSxlfTt1aS5wcm90b3R5cGUucHJvamVjdFBvaW50c09udG9FbGxpcHNvaWQ9ZnVuY3Rpb24odCxlKXt5LmRlZmluZWQoImNhcnRlc2lhbnMiLHQpO2xldCBuPXQubGVuZ3RoO2goZSk/ZS5sZW5ndGg9bjplPW5ldyBBcnJheShuKTtmb3IobGV0IG89MDtvPG47KytvKWVbb109dGhpcy5wcm9qZWN0UG9pbnRPbnRvRWxsaXBzb2lkKHRbb10sZVtvXSk7cmV0dXJuIGV9O3lvPXVpfSk7ZnVuY3Rpb24gQmUodCxlKXt0aGlzLmNlbnRlcj1hLmNsb25lKHgodCxhLlpFUk8pKSx0aGlzLmhhbGZBeGVzPVEuY2xvbmUoeChlLFEuWkVSTykpfWZ1bmN0aW9uIGpUKHQsZSxuLG8scixpLHMsZix1LGMsbCl7aWYoIWgocil8fCFoKGkpfHwhaChzKXx8IWgoZil8fCFoKHUpfHwhaChjKSl0aHJvdyBuZXcgQigiYWxsIGV4dGVudHMgKG1pbmltdW0vbWF4aW11bSBYL1kvWikgYXJlIHJlcXVpcmVkLiIpO2gobCl8fChsPW5ldyBCZSk7bGV0IHA9bC5oYWxmQXhlcztRLnNldENvbHVtbihwLDAsZSxwKSxRLnNldENvbHVtbihwLDEsbixwKSxRLnNldENvbHVtbihwLDIsbyxwKTtsZXQgZD1YVDtkLng9KHIraSkvMixkLnk9KHMrZikvMixkLno9KHUrYykvMjtsZXQgbT1sTjttLng9KGktcikvMixtLnk9KGYtcykvMixtLno9KGMtdSkvMjtsZXQgXz1sLmNlbnRlcjtyZXR1cm4gZD1RLm11bHRpcGx5QnlWZWN0b3IocCxkLGQpLGEuYWRkKHQsZCxfKSxRLm11bHRpcGx5QnlTY2FsZShwLG0scCksbH12YXIgb04sck4saU4sc04sY04sYU4sZk4sdU4sWFQsbE4sSFQscE4sZE4sbU4saE4sX04seU4sZ04scVQsQU4sS1QsYk4sVE4sd04sT04sRU4sUk4sU04sQ04seE4sUE4sTU4sTk4sSU4sdk4sTE4sWVQsJFQsWlQsRE4sV1QsRk4sQk4sVU4sVk4sa04sR04sek4sak4sU28scGE9WigoKT0+e3ZlKCk7VWUoKTtGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO2xhKCk7a3MoKTtqbCgpO1d0KCk7Qm4oKTtVbigpO2ZzKCk7d24oKTtCZS5wYWNrZWRMZW5ndGg9YS5wYWNrZWRMZW5ndGgrUS5wYWNrZWRMZW5ndGg7QmUucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGEucGFjayh0LmNlbnRlcixlLG4pLFEucGFjayh0LmhhbGZBeGVzLGUsbithLnBhY2tlZExlbmd0aCksZX07QmUudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IEJlKSxhLnVucGFjayh0LGUsbi5jZW50ZXIpLFEudW5wYWNrKHQsZSthLnBhY2tlZExlbmd0aCxuLmhhbGZBeGVzKSxufTtvTj1uZXcgYSxyTj1uZXcgYSxpTj1uZXcgYSxzTj1uZXcgYSxjTj1uZXcgYSxhTj1uZXcgYSxmTj1uZXcgUSx1Tj17dW5pdGFyeTpuZXcgUSxkaWFnb25hbDpuZXcgUX07QmUuZnJvbVBvaW50cz1mdW5jdGlvbih0LGUpe2lmKGgoZSl8fChlPW5ldyBCZSksIWgodCl8fHQubGVuZ3RoPT09MClyZXR1cm4gZS5oYWxmQXhlcz1RLlpFUk8sZS5jZW50ZXI9YS5aRVJPLGU7bGV0IG4sbz10Lmxlbmd0aCxyPWEuY2xvbmUodFswXSxvTik7Zm9yKG49MTtuPG87bisrKWEuYWRkKHIsdFtuXSxyKTtsZXQgaT0xL287YS5tdWx0aXBseUJ5U2NhbGFyKHIsaSxyKTtsZXQgcz0wLGY9MCx1PTAsYz0wLGw9MCxwPTAsZDtmb3Iobj0wO248bztuKyspZD1hLnN1YnRyYWN0KHRbbl0scixyTikscys9ZC54KmQueCxmKz1kLngqZC55LHUrPWQueCpkLnosYys9ZC55KmQueSxsKz1kLnkqZC56LHArPWQueipkLno7cyo9aSxmKj1pLHUqPWksYyo9aSxsKj1pLHAqPWk7bGV0IG09Zk47bVswXT1zLG1bMV09ZixtWzJdPXUsbVszXT1mLG1bNF09YyxtWzVdPWwsbVs2XT11LG1bN109bCxtWzhdPXA7bGV0IF89US5jb21wdXRlRWlnZW5EZWNvbXBvc2l0aW9uKG0sdU4pLGc9US5jbG9uZShfLnVuaXRhcnksZS5oYWxmQXhlcyksYj1RLmdldENvbHVtbihnLDAsc04pLFQ9US5nZXRDb2x1bW4oZywxLGNOKSxPPVEuZ2V0Q29sdW1uKGcsMixhTiksRT0tTnVtYmVyLk1BWF9WQUxVRSx3PS1OdW1iZXIuTUFYX1ZBTFVFLEM9LU51bWJlci5NQVhfVkFMVUUsTj1OdW1iZXIuTUFYX1ZBTFVFLEk9TnVtYmVyLk1BWF9WQUxVRSxEPU51bWJlci5NQVhfVkFMVUU7Zm9yKG49MDtuPG87bisrKWQ9dFtuXSxFPU1hdGgubWF4KGEuZG90KGIsZCksRSksdz1NYXRoLm1heChhLmRvdChULGQpLHcpLEM9TWF0aC5tYXgoYS5kb3QoTyxkKSxDKSxOPU1hdGgubWluKGEuZG90KGIsZCksTiksST1NYXRoLm1pbihhLmRvdChULGQpLEkpLEQ9TWF0aC5taW4oYS5kb3QoTyxkKSxEKTtiPWEubXVsdGlwbHlCeVNjYWxhcihiLC41KihOK0UpLGIpLFQ9YS5tdWx0aXBseUJ5U2NhbGFyKFQsLjUqKEkrdyksVCksTz1hLm11bHRpcGx5QnlTY2FsYXIoTywuNSooRCtDKSxPKTtsZXQgdj1hLmFkZChiLFQsZS5jZW50ZXIpO2EuYWRkKHYsTyx2KTtsZXQgTD1pTjtyZXR1cm4gTC54PUUtTixMLnk9dy1JLEwuej1DLUQsYS5tdWx0aXBseUJ5U2NhbGFyKEwsLjUsTCksUS5tdWx0aXBseUJ5U2NhbGUoZS5oYWxmQXhlcyxMLGUuaGFsZkF4ZXMpLGV9O1hUPW5ldyBhLGxOPW5ldyBhO0hUPW5ldyBjdCxwTj1uZXcgYSxkTj1uZXcgY3QsbU49bmV3IGN0LGhOPW5ldyBjdCxfTj1uZXcgY3QseU49bmV3IGN0LGdOPW5ldyBhLHFUPW5ldyBhLEFOPW5ldyBhLEtUPW5ldyBhLGJOPW5ldyBhLFROPW5ldyB0dCx3Tj1uZXcgdHQsT049bmV3IHR0LEVOPW5ldyB0dCxSTj1uZXcgdHQsU049bmV3IGEsQ049bmV3IGEseE49bmV3IGEsUE49bmV3IGEsTU49bmV3IHR0LE5OPW5ldyBhLElOPW5ldyBhLHZOPW5ldyBhLExOPW5ldyBvbihhLlVOSVRfWCwwKTtCZS5mcm9tUmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInJlY3RhbmdsZSBpcyByZXF1aXJlZCIpO2lmKHQud2lkdGg8MHx8dC53aWR0aD5NLlRXT19QSSl0aHJvdyBuZXcgQigiUmVjdGFuZ2xlIHdpZHRoIG11c3QgYmUgYmV0d2VlbiAwIGFuZCAyICogcGkiKTtpZih0LmhlaWdodDwwfHx0LmhlaWdodD5NLlBJKXRocm93IG5ldyBCKCJSZWN0YW5nbGUgaGVpZ2h0IG11c3QgYmUgYmV0d2VlbiAwIGFuZCBwaSIpO2lmKGgobykmJiFNLmVxdWFsc0Vwc2lsb24oby5yYWRpaS54LG8ucmFkaWkueSxNLkVQU0lMT04xNSkpdGhyb3cgbmV3IEIoIkVsbGlwc29pZCBtdXN0IGJlIGFuIGVsbGlwc29pZCBvZiByZXZvbHV0aW9uIChyYWRpaS54ID09IHJhZGlpLnkpIik7ZT14KGUsMCksbj14KG4sMCksbz14KG8sJC5kZWZhdWx0KTtsZXQgaSxzLGYsdSxjLGwscDtpZih0LndpZHRoPD1NLlBJKXtsZXQgST1OdC5jZW50ZXIodCxIVCksRD1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKEkscE4pLHY9bmV3IHlvKEQsbyk7cD12LnBsYW5lO2xldCBMPUkubG9uZ2l0dWRlLFU9dC5zb3V0aDwwJiZ0Lm5vcnRoPjA/MDpJLmxhdGl0dWRlLEE9Y3QuZnJvbVJhZGlhbnMoTCx0Lm5vcnRoLG4sZE4pLFM9Y3QuZnJvbVJhZGlhbnModC53ZXN0LHQubm9ydGgsbixtTiksUD1jdC5mcm9tUmFkaWFucyh0Lndlc3QsVSxuLGhOKSxGPWN0LmZyb21SYWRpYW5zKHQud2VzdCx0LnNvdXRoLG4sX04pLGo9Y3QuZnJvbVJhZGlhbnMoTCx0LnNvdXRoLG4seU4pLEg9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihBLGdOKSxrPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oUyxxVCksSz1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKFAsQU4pLFg9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihGLEtUKSxSPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oaixiTiksb3Q9di5wcm9qZWN0UG9pbnRUb05lYXJlc3RPblBsYW5lKEgsVE4pLGF0PXYucHJvamVjdFBvaW50VG9OZWFyZXN0T25QbGFuZShrLHdOKSxwdD12LnByb2plY3RQb2ludFRvTmVhcmVzdE9uUGxhbmUoSyxPTikseXQ9di5wcm9qZWN0UG9pbnRUb05lYXJlc3RPblBsYW5lKFgsRU4pLHJ0PXYucHJvamVjdFBvaW50VG9OZWFyZXN0T25QbGFuZShSLFJOKTtyZXR1cm4gaT1NYXRoLm1pbihhdC54LHB0LngseXQueCkscz0taSx1PU1hdGgubWF4KGF0Lnksb3QueSksZj1NYXRoLm1pbih5dC55LHJ0LnkpLFMuaGVpZ2h0PUYuaGVpZ2h0PWUsaz1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKFMscVQpLFg9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihGLEtUKSxjPU1hdGgubWluKG9uLmdldFBvaW50RGlzdGFuY2UocCxrKSxvbi5nZXRQb2ludERpc3RhbmNlKHAsWCkpLGw9bixqVCh2Lm9yaWdpbix2LnhBeGlzLHYueUF4aXMsdi56QXhpcyxpLHMsZix1LGMsbCxyKX1sZXQgZD10LnNvdXRoPjAsbT10Lm5vcnRoPDAsXz1kP3Quc291dGg6bT90Lm5vcnRoOjAsZz1OdC5jZW50ZXIodCxIVCkubG9uZ2l0dWRlLGI9YS5mcm9tUmFkaWFucyhnLF8sbixvLFNOKTtiLno9MDtsZXQgTz1NYXRoLmFicyhiLngpPE0uRVBTSUxPTjEwJiZNYXRoLmFicyhiLnkpPE0uRVBTSUxPTjEwP2EuVU5JVF9YOmEubm9ybWFsaXplKGIsQ04pLEU9YS5VTklUX1osdz1hLmNyb3NzKE8sRSx4Tik7cD1vbi5mcm9tUG9pbnROb3JtYWwoYixPLExOKTtsZXQgQz1hLmZyb21SYWRpYW5zKGcrTS5QSV9PVkVSX1RXTyxfLG4sbyxQTik7cz1hLmRvdChvbi5wcm9qZWN0UG9pbnRPbnRvUGxhbmUocCxDLE1OKSx3KSxpPS1zLHU9YS5mcm9tUmFkaWFucygwLHQubm9ydGgsbT9lOm4sbyxOTikueixmPWEuZnJvbVJhZGlhbnMoMCx0LnNvdXRoLGQ/ZTpuLG8sSU4pLno7bGV0IE49YS5mcm9tUmFkaWFucyh0LmVhc3QsXyxuLG8sdk4pO3JldHVybiBjPW9uLmdldFBvaW50RGlzdGFuY2UocCxOKSxsPTAsalQoYix3LEUsTyxpLHMsZix1LGMsbCxyKX07QmUuZnJvbVRyYW5zZm9ybWF0aW9uPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidHJhbnNmb3JtYXRpb24iLHQpLGgoZSl8fChlPW5ldyBCZSksZS5jZW50ZXI9c3QuZ2V0VHJhbnNsYXRpb24odCxlLmNlbnRlciksZS5oYWxmQXhlcz1zdC5nZXRNYXRyaXgzKHQsZS5oYWxmQXhlcyksZS5oYWxmQXhlcz1RLm11bHRpcGx5QnlTY2FsYXIoZS5oYWxmQXhlcywuNSxlLmhhbGZBeGVzKSxlfTtCZS5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSk/KGEuY2xvbmUodC5jZW50ZXIsZS5jZW50ZXIpLFEuY2xvbmUodC5oYWxmQXhlcyxlLmhhbGZBeGVzKSxlKTpuZXcgQmUodC5jZW50ZXIsdC5oYWxmQXhlcyl9O0JlLmludGVyc2VjdFBsYW5lPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImJveCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigicGxhbmUgaXMgcmVxdWlyZWQuIik7bGV0IG49dC5jZW50ZXIsbz1lLm5vcm1hbCxyPXQuaGFsZkF4ZXMsaT1vLngscz1vLnksZj1vLnosdT1NYXRoLmFicyhpKnJbUS5DT0xVTU4wUk9XMF0rcypyW1EuQ09MVU1OMFJPVzFdK2YqcltRLkNPTFVNTjBST1cyXSkrTWF0aC5hYnMoaSpyW1EuQ09MVU1OMVJPVzBdK3MqcltRLkNPTFVNTjFST1cxXStmKnJbUS5DT0xVTU4xUk9XMl0pK01hdGguYWJzKGkqcltRLkNPTFVNTjJST1cwXStzKnJbUS5DT0xVTU4yUk9XMV0rZipyW1EuQ09MVU1OMlJPVzJdKSxjPWEuZG90KG8sbikrZS5kaXN0YW5jZTtyZXR1cm4gYzw9LXU/U24uT1VUU0lERTpjPj11P1NuLklOU0lERTpTbi5JTlRFUlNFQ1RJTkd9O1lUPW5ldyBhLCRUPW5ldyBhLFpUPW5ldyBhLEROPW5ldyBhLFdUPW5ldyBhLEZOPW5ldyBhO0JlLmRpc3RhbmNlU3F1YXJlZFRvPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImJveCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigiY2FydGVzaWFuIGlzIHJlcXVpcmVkLiIpO2xldCBuPWEuc3VidHJhY3QoZSx0LmNlbnRlcixYVCksbz10LmhhbGZBeGVzLHI9US5nZXRDb2x1bW4obywwLFlUKSxpPVEuZ2V0Q29sdW1uKG8sMSwkVCkscz1RLmdldENvbHVtbihvLDIsWlQpLGY9YS5tYWduaXR1ZGUociksdT1hLm1hZ25pdHVkZShpKSxjPWEubWFnbml0dWRlKHMpLGw9ITAscD0hMCxkPSEwO2Y+MD9hLmRpdmlkZUJ5U2NhbGFyKHIsZixyKTpsPSExLHU+MD9hLmRpdmlkZUJ5U2NhbGFyKGksdSxpKTpwPSExLGM+MD9hLmRpdmlkZUJ5U2NhbGFyKHMsYyxzKTpkPSExO2xldCBtPSFsKyFwKyFkLF8sZyxiO2lmKG09PT0xKXtsZXQgdz1yO189aSxnPXMscD9kfHwodz1zLGc9cik6KHc9aSxfPXIpLGI9YS5jcm9zcyhfLGcsV1QpLHc9PT1yP3I9Yjp3PT09aT9pPWI6dz09PXMmJihzPWIpfWVsc2UgaWYobT09PTIpe189cixwP189aTpkJiYoXz1zKTtsZXQgdz1hLlVOSVRfWTt3LmVxdWFsc0Vwc2lsb24oXyxNLkVQU0lMT04zKSYmKHc9YS5VTklUX1gpLGc9YS5jcm9zcyhfLHcsRE4pLGEubm9ybWFsaXplKGcsZyksYj1hLmNyb3NzKF8sZyxXVCksYS5ub3JtYWxpemUoYixiKSxfPT09cj8oaT1nLHM9Yik6Xz09PWk/KHM9ZyxyPWIpOl89PT1zJiYocj1nLGk9Yil9ZWxzZSBtPT09MyYmKHI9YS5VTklUX1gsaT1hLlVOSVRfWSxzPWEuVU5JVF9aKTtsZXQgVD1GTjtULng9YS5kb3QobixyKSxULnk9YS5kb3QobixpKSxULno9YS5kb3QobixzKTtsZXQgTz0wLEU7cmV0dXJuIFQueDwtZj8oRT1ULngrZixPKz1FKkUpOlQueD5mJiYoRT1ULngtZixPKz1FKkUpLFQueTwtdT8oRT1ULnkrdSxPKz1FKkUpOlQueT51JiYoRT1ULnktdSxPKz1FKkUpLFQuejwtYz8oRT1ULnorYyxPKz1FKkUpOlQuej5jJiYoRT1ULnotYyxPKz1FKkUpLE99O0JOPW5ldyBhLFVOPW5ldyBhO0JlLmNvbXB1dGVQbGFuZURpc3RhbmNlcz1mdW5jdGlvbih0LGUsbixvKXtpZighaCh0KSl0aHJvdyBuZXcgQigiYm94IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJwb3NpdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigiZGlyZWN0aW9uIGlzIHJlcXVpcmVkLiIpO2gobyl8fChvPW5ldyBRcik7bGV0IHI9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGk9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHM9dC5jZW50ZXIsZj10LmhhbGZBeGVzLHU9US5nZXRDb2x1bW4oZiwwLFlUKSxjPVEuZ2V0Q29sdW1uKGYsMSwkVCksbD1RLmdldENvbHVtbihmLDIsWlQpLHA9YS5hZGQodSxjLEJOKTthLmFkZChwLGwscCksYS5hZGQocCxzLHApO2xldCBkPWEuc3VidHJhY3QocCxlLFVOKSxtPWEuZG90KG4sZCk7cmV0dXJuIHI9TWF0aC5taW4obSxyKSxpPU1hdGgubWF4KG0saSksYS5hZGQocyx1LHApLGEuYWRkKHAsYyxwKSxhLnN1YnRyYWN0KHAsbCxwKSxhLnN1YnRyYWN0KHAsZSxkKSxtPWEuZG90KG4sZCkscj1NYXRoLm1pbihtLHIpLGk9TWF0aC5tYXgobSxpKSxhLmFkZChzLHUscCksYS5zdWJ0cmFjdChwLGMscCksYS5hZGQocCxsLHApLGEuc3VidHJhY3QocCxlLGQpLG09YS5kb3QobixkKSxyPU1hdGgubWluKG0sciksaT1NYXRoLm1heChtLGkpLGEuYWRkKHMsdSxwKSxhLnN1YnRyYWN0KHAsYyxwKSxhLnN1YnRyYWN0KHAsbCxwKSxhLnN1YnRyYWN0KHAsZSxkKSxtPWEuZG90KG4sZCkscj1NYXRoLm1pbihtLHIpLGk9TWF0aC5tYXgobSxpKSxhLnN1YnRyYWN0KHMsdSxwKSxhLmFkZChwLGMscCksYS5hZGQocCxsLHApLGEuc3VidHJhY3QocCxlLGQpLG09YS5kb3QobixkKSxyPU1hdGgubWluKG0sciksaT1NYXRoLm1heChtLGkpLGEuc3VidHJhY3Qocyx1LHApLGEuYWRkKHAsYyxwKSxhLnN1YnRyYWN0KHAsbCxwKSxhLnN1YnRyYWN0KHAsZSxkKSxtPWEuZG90KG4sZCkscj1NYXRoLm1pbihtLHIpLGk9TWF0aC5tYXgobSxpKSxhLnN1YnRyYWN0KHMsdSxwKSxhLnN1YnRyYWN0KHAsYyxwKSxhLmFkZChwLGwscCksYS5zdWJ0cmFjdChwLGUsZCksbT1hLmRvdChuLGQpLHI9TWF0aC5taW4obSxyKSxpPU1hdGgubWF4KG0saSksYS5zdWJ0cmFjdChzLHUscCksYS5zdWJ0cmFjdChwLGMscCksYS5zdWJ0cmFjdChwLGwscCksYS5zdWJ0cmFjdChwLGUsZCksbT1hLmRvdChuLGQpLHI9TWF0aC5taW4obSxyKSxpPU1hdGgubWF4KG0saSksby5zdGFydD1yLG8uc3RvcD1pLG99O1ZOPW5ldyBhLGtOPW5ldyBhLEdOPW5ldyBhO0JlLmNvbXB1dGVDb3JuZXJzPWZ1bmN0aW9uKHQsZSl7eS50eXBlT2Yub2JqZWN0KCJib3giLHQpLGgoZSl8fChlPVtuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYSxuZXcgYV0pO2xldCBuPXQuY2VudGVyLG89dC5oYWxmQXhlcyxyPVEuZ2V0Q29sdW1uKG8sMCxWTiksaT1RLmdldENvbHVtbihvLDEsa04pLHM9US5nZXRDb2x1bW4obywyLEdOKTtyZXR1cm4gYS5jbG9uZShuLGVbMF0pLGEuc3VidHJhY3QoZVswXSxyLGVbMF0pLGEuc3VidHJhY3QoZVswXSxpLGVbMF0pLGEuc3VidHJhY3QoZVswXSxzLGVbMF0pLGEuY2xvbmUobixlWzFdKSxhLnN1YnRyYWN0KGVbMV0scixlWzFdKSxhLnN1YnRyYWN0KGVbMV0saSxlWzFdKSxhLmFkZChlWzFdLHMsZVsxXSksYS5jbG9uZShuLGVbMl0pLGEuc3VidHJhY3QoZVsyXSxyLGVbMl0pLGEuYWRkKGVbMl0saSxlWzJdKSxhLnN1YnRyYWN0KGVbMl0scyxlWzJdKSxhLmNsb25lKG4sZVszXSksYS5zdWJ0cmFjdChlWzNdLHIsZVszXSksYS5hZGQoZVszXSxpLGVbM10pLGEuYWRkKGVbM10scyxlWzNdKSxhLmNsb25lKG4sZVs0XSksYS5hZGQoZVs0XSxyLGVbNF0pLGEuc3VidHJhY3QoZVs0XSxpLGVbNF0pLGEuc3VidHJhY3QoZVs0XSxzLGVbNF0pLGEuY2xvbmUobixlWzVdKSxhLmFkZChlWzVdLHIsZVs1XSksYS5zdWJ0cmFjdChlWzVdLGksZVs1XSksYS5hZGQoZVs1XSxzLGVbNV0pLGEuY2xvbmUobixlWzZdKSxhLmFkZChlWzZdLHIsZVs2XSksYS5hZGQoZVs2XSxpLGVbNl0pLGEuc3VidHJhY3QoZVs2XSxzLGVbNl0pLGEuY2xvbmUobixlWzddKSxhLmFkZChlWzddLHIsZVs3XSksYS5hZGQoZVs3XSxpLGVbN10pLGEuYWRkKGVbN10scyxlWzddKSxlfTt6Tj1uZXcgUTtCZS5jb21wdXRlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCxlKXt5LnR5cGVPZi5vYmplY3QoImJveCIsdCksaChlKXx8KGU9bmV3IHN0KTtsZXQgbj10LmNlbnRlcixvPVEubXVsdGlwbHlCeVVuaWZvcm1TY2FsZSh0LmhhbGZBeGVzLDIsek4pO3JldHVybiBzdC5mcm9tUm90YXRpb25UcmFuc2xhdGlvbihvLG4sZSl9O2pOPW5ldyBBdDtCZS5pc09jY2x1ZGVkPWZ1bmN0aW9uKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImJveCBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigib2NjbHVkZXIgaXMgcmVxdWlyZWQuIik7bGV0IG49QXQuZnJvbU9yaWVudGVkQm91bmRpbmdCb3godCxqTik7cmV0dXJuIWUuaXNCb3VuZGluZ1NwaGVyZVZpc2libGUobil9O0JlLnByb3RvdHlwZS5pbnRlcnNlY3RQbGFuZT1mdW5jdGlvbih0KXtyZXR1cm4gQmUuaW50ZXJzZWN0UGxhbmUodGhpcyx0KX07QmUucHJvdG90eXBlLmRpc3RhbmNlU3F1YXJlZFRvPWZ1bmN0aW9uKHQpe3JldHVybiBCZS5kaXN0YW5jZVNxdWFyZWRUbyh0aGlzLHQpfTtCZS5wcm90b3R5cGUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gQmUuY29tcHV0ZVBsYW5lRGlzdGFuY2VzKHRoaXMsdCxlLG4pfTtCZS5wcm90b3R5cGUuY29tcHV0ZUNvcm5lcnM9ZnVuY3Rpb24odCl7cmV0dXJuIEJlLmNvbXB1dGVDb3JuZXJzKHRoaXMsdCl9O0JlLnByb3RvdHlwZS5jb21wdXRlVHJhbnNmb3JtYXRpb249ZnVuY3Rpb24odCl7cmV0dXJuIEJlLmNvbXB1dGVUcmFuc2Zvcm1hdGlvbih0aGlzLHQpfTtCZS5wcm90b3R5cGUuaXNPY2NsdWRlZD1mdW5jdGlvbih0KXtyZXR1cm4gQmUuaXNPY2NsdWRlZCh0aGlzLHQpfTtCZS5lcXVhbHM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gdD09PWV8fGgodCkmJmgoZSkmJmEuZXF1YWxzKHQuY2VudGVyLGUuY2VudGVyKSYmUS5lcXVhbHModC5oYWxmQXhlcyxlLmhhbGZBeGVzKX07QmUucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBCZS5jbG9uZSh0aGlzLHQpfTtCZS5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiBCZS5lcXVhbHModGhpcyx0KX07U289QmV9KTtmdW5jdGlvbiBudyh0LGUsbixvLHIpe2xldCBpPWEuc3VidHJhY3QodCxlLEhOKSxzPWEuZG90KG4saSksZj1hLmRvdChvLGkpO3JldHVybiB0dC5mcm9tRWxlbWVudHMocyxmLHIpfXZhciBQZixITixRVCxKVCx0dyxldyxkYSxDMD1aKCgpPT57VWUoKTtGdCgpO1h0KCk7Qm4oKTtwYSgpO1BmPXt9LEhOPW5ldyBhLFFUPW5ldyBhLEpUPW5ldyBhLHR3PW5ldyBhLGV3PW5ldyBTbztQZi52YWxpZE91dGxpbmU9ZnVuY3Rpb24odCl7eS5kZWZpbmVkKCJwb3NpdGlvbnMiLHQpO2xldCBuPVNvLmZyb21Qb2ludHModCxldykuaGFsZkF4ZXMsbz1RLmdldENvbHVtbihuLDAsUVQpLHI9US5nZXRDb2x1bW4obiwxLEpUKSxpPVEuZ2V0Q29sdW1uKG4sMix0dykscz1hLm1hZ25pdHVkZShvKSxmPWEubWFnbml0dWRlKHIpLHU9YS5tYWduaXR1ZGUoaSk7cmV0dXJuIShzPT09MCYmKGY9PT0wfHx1PT09MCl8fGY9PT0wJiZ1PT09MCl9O1BmLmNvbXB1dGVQcm9qZWN0VG8yREFyZ3VtZW50cz1mdW5jdGlvbih0LGUsbixvKXt5LmRlZmluZWQoInBvc2l0aW9ucyIsdCkseS5kZWZpbmVkKCJjZW50ZXJSZXN1bHQiLGUpLHkuZGVmaW5lZCgicGxhbmVBeGlzMVJlc3VsdCIsbikseS5kZWZpbmVkKCJwbGFuZUF4aXMyUmVzdWx0IixvKTtsZXQgcj1Tby5mcm9tUG9pbnRzKHQsZXcpLGk9ci5oYWxmQXhlcyxzPVEuZ2V0Q29sdW1uKGksMCxRVCksZj1RLmdldENvbHVtbihpLDEsSlQpLHU9US5nZXRDb2x1bW4oaSwyLHR3KSxjPWEubWFnbml0dWRlKHMpLGw9YS5tYWduaXR1ZGUoZikscD1hLm1hZ25pdHVkZSh1KSxkPU1hdGgubWluKGMsbCxwKTtpZihjPT09MCYmKGw9PT0wfHxwPT09MCl8fGw9PT0wJiZwPT09MClyZXR1cm4hMTtsZXQgbSxfO3JldHVybihkPT09bHx8ZD09PXApJiYobT1zKSxkPT09Yz9tPWY6ZD09PXAmJihfPWYpLChkPT09Y3x8ZD09PWwpJiYoXz11KSxhLm5vcm1hbGl6ZShtLG4pLGEubm9ybWFsaXplKF8sbyksYS5jbG9uZShyLmNlbnRlcixlKSwhMH07UGYuY3JlYXRlUHJvamVjdFBvaW50c1RvMkRGdW5jdGlvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8pe2xldCByPW5ldyBBcnJheShvLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxvLmxlbmd0aDtpKyspcltpXT1udyhvW2ldLHQsZSxuKTtyZXR1cm4gcn19O1BmLmNyZWF0ZVByb2plY3RQb2ludFRvMkRGdW5jdGlvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGZ1bmN0aW9uKG8scil7cmV0dXJuIG53KG8sdCxlLG4scil9fTtkYT1QZn0pO3ZhciBxTixfZSxmYz1aKCgpPT57cU49e05PTkU6MCxHRU9ERVNJQzoxLFJIVU1COjJ9LF9lPU9iamVjdC5mcmVlemUocU4pfSk7ZnVuY3Rpb24gUDAodCxlLG4pe2lmKHQ9PT0wKXJldHVybiBlKm47bGV0IG89dCp0LHI9bypvLGk9cipvLHM9aSpvLGY9cypvLHU9ZipvLGM9bixsPU1hdGguc2luKDIqYykscD1NYXRoLnNpbig0KmMpLGQ9TWF0aC5zaW4oNipjKSxtPU1hdGguc2luKDgqYyksXz1NYXRoLnNpbigxMCpjKSxnPU1hdGguc2luKDEyKmMpO3JldHVybiBlKigoMS1vLzQtMypyLzY0LTUqaS8yNTYtMTc1KnMvMTYzODQtNDQxKmYvNjU1MzYtNDg1MSp1LzEwNDg1NzYpKmMtKDMqby84KzMqci8zMis0NSppLzEwMjQrMTA1KnMvNDA5NisyMjA1KmYvMTMxMDcyKzYyMzcqdS81MjQyODgpKmwrKDE1KnIvMjU2KzQ1KmkvMTAyNCs1MjUqcy8xNjM4NCsxNTc1KmYvNjU1MzYrMTU1OTI1KnUvODM4ODYwOCkqcC0oMzUqaS8zMDcyKzE3NSpzLzEyMjg4KzM2NzUqZi8yNjIxNDQrMTM0NzUqdS8xMDQ4NTc2KSpkKygzMTUqcy8xMzEwNzIrMjIwNSpmLzUyNDI4OCs0MzY1OSp1LzgzODg2MDgpKm0tKDY5MypmLzEzMTA3MjArNjIzNyp1LzUyNDI4ODApKl8rMTAwMSp1LzgzODg2MDgqZyl9ZnVuY3Rpb24gS04odCxlLG4pe2xldCBvPXQvbjtpZihlPT09MClyZXR1cm4gbztsZXQgcj1vKm8saT1yKm8scz1pKm8sZj1lLHU9ZipmLGM9dSp1LGw9Yyp1LHA9bCp1LGQ9cCp1LG09ZCp1LF89TWF0aC5zaW4oMipvKSxnPU1hdGguY29zKDIqbyksYj1NYXRoLnNpbig0Km8pLFQ9TWF0aC5jb3MoNCpvKSxPPU1hdGguc2luKDYqbyksRT1NYXRoLmNvcyg2Km8pLHc9TWF0aC5zaW4oOCpvKSxDPU1hdGguY29zKDgqbyksTj1NYXRoLnNpbigxMCpvKSxJPU1hdGguY29zKDEwKm8pLEQ9TWF0aC5zaW4oMTIqbyk7cmV0dXJuIG8rbyp1LzQrNypvKmMvNjQrMTUqbypsLzI1Nis1NzkqbypwLzE2Mzg0KzE1MTUqbypkLzY1NTM2KzE2ODM3Km8qbS8xMDQ4NTc2KygzKm8qYy8xNis0NSpvKmwvMjU2LW8qKDMyKnItNTYxKSpwLzQwOTYtbyooMjMyKnItMTY3NykqZC8xNjM4NCtvKigzOTk5ODUtOTA1NjAqcis1MTIqcykqbS81MjQyODgwKSpnKygyMSpvKmwvMjU2KzQ4MypvKnAvNDA5Ni1vKigyMjQqci0xOTY5KSpkLzE2Mzg0LW8qKDMzMTUyKnItMTEyNTk5KSptLzEwNDg1NzYpKlQrKDE1MSpvKnAvNDA5Nis0NjgxKm8qZC82NTUzNisxNDc5Km8qbS8xNjM4NC00NTMqaSptLzMyNzY4KSpFKygxMDk3Km8qZC82NTUzNis0Mjc4MypvKm0vMTA0ODU3NikqQys4MDExKm8qbS8xMDQ4NTc2KkkrKDMqdS84KzMqYy8xNisyMTMqbC8yMDQ4LTMqcipsLzY0KzI1NSpwLzQwOTYtMzMqcipwLzUxMisyMDg2MSpkLzUyNDI4OC0zMypyKmQvNTEyK3MqZC8xMDI0KzI4MjczKm0vMTA0ODU3Ni00NzEqciptLzgxOTIrOSpzKm0vNDA5NikqXysoMjEqYy8yNTYrMjEqbC8yNTYrNTMzKnAvODE5Mi0yMSpyKnAvNTEyKzE5NypkLzQwOTYtMzE1KnIqZC80MDk2KzU4NDAzOSptLzE2Nzc3MjE2LTEyNTE3KnIqbS8xMzEwNzIrNypzKm0vMjA0OCkqYisoMTUxKmwvNjE0NCsxNTEqcC80MDk2KzUwMTkqZC8xMzEwNzItNDUzKnIqZC8xNjM4NCsyNjk2NSptLzc4NjQzMi04NjA3KnIqbS8xMzEwNzIpKk8rKDEwOTcqcC8xMzEwNzIrMTA5NypkLzY1NTM2KzIyNTc5NyptLzEwNDg1NzYwLTEwOTcqciptLzY1NTM2KSp3Kyg4MDExKmQvMjYyMTQ0MCs4MDExKm0vMTA0ODU3NikqTisyOTMzOTMqbS8yNTE2NTgyNDAqRH1mdW5jdGlvbiBtYSh0LGUpe2lmKHQ9PT0wKXJldHVybiBNYXRoLmxvZyhNYXRoLnRhbiguNSooTS5QSV9PVkVSX1RXTytlKSkpO2xldCBuPXQqTWF0aC5zaW4oZSk7cmV0dXJuIE1hdGgubG9nKE1hdGgudGFuKC41KihNLlBJX09WRVJfVFdPK2UpKSktdC8yKk1hdGgubG9nKCgxK24pLygxLW4pKX1mdW5jdGlvbiBXTih0LGUsbixvLHIpe2xldCBpPW1hKHQuX2VsbGlwdGljaXR5LG4pLHM9bWEodC5fZWxsaXB0aWNpdHkscik7cmV0dXJuIE1hdGguYXRhbjIoTS5uZWdhdGl2ZVBpVG9QaShvLWUpLHMtaSl9ZnVuY3Rpb24gWE4odCxlLG4sbyxyLGkscyl7bGV0IGY9dC5faGVhZGluZyx1PWktbyxjPTA7aWYoTS5lcXVhbHNFcHNpbG9uKE1hdGguYWJzKGYpLE0uUElfT1ZFUl9UV08sTS5FUFNJTE9OOCkpaWYoZT09PW4pYz1lKk1hdGguY29zKHIpKk0ubmVnYXRpdmVQaVRvUGkodSk7ZWxzZXtsZXQgbD1NYXRoLnNpbihyKTtjPWUqTWF0aC5jb3MocikqTS5uZWdhdGl2ZVBpVG9QaSh1KS9NYXRoLnNxcnQoMS10Ll9lbGxpcHRpY2l0eVNxdWFyZWQqbCpsKX1lbHNle2xldCBsPVAwKHQuX2VsbGlwdGljaXR5LGUscik7Yz0oUDAodC5fZWxsaXB0aWNpdHksZSxzKS1sKS9NYXRoLmNvcyhmKX1yZXR1cm4gTWF0aC5hYnMoYyl9ZnVuY3Rpb24gb3codCxlLG4sbyl7bGV0IHI9YS5ub3JtYWxpemUoby5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihlLHgwKSxZTiksaT1hLm5vcm1hbGl6ZShvLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKG4seDApLHgwKTt5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygidmFsdWUiLE1hdGguYWJzKE1hdGguYWJzKGEuYW5nbGVCZXR3ZWVuKHIsaSkpLU1hdGguUEkpLC4wMTI1KTtsZXQgcz1vLm1heGltdW1SYWRpdXMsZj1vLm1pbmltdW1SYWRpdXMsdT1zKnMsYz1mKmY7dC5fZWxsaXB0aWNpdHlTcXVhcmVkPSh1LWMpL3UsdC5fZWxsaXB0aWNpdHk9TWF0aC5zcXJ0KHQuX2VsbGlwdGljaXR5U3F1YXJlZCksdC5fc3RhcnQ9Y3QuY2xvbmUoZSx0Ll9zdGFydCksdC5fc3RhcnQuaGVpZ2h0PTAsdC5fZW5kPWN0LmNsb25lKG4sdC5fZW5kKSx0Ll9lbmQuaGVpZ2h0PTAsdC5faGVhZGluZz1XTih0LGUubG9uZ2l0dWRlLGUubGF0aXR1ZGUsbi5sb25naXR1ZGUsbi5sYXRpdHVkZSksdC5fZGlzdGFuY2U9WE4odCxvLm1heGltdW1SYWRpdXMsby5taW5pbXVtUmFkaXVzLGUubG9uZ2l0dWRlLGUubGF0aXR1ZGUsbi5sb25naXR1ZGUsbi5sYXRpdHVkZSl9ZnVuY3Rpb24gcncodCxlLG4sbyxyLGkpe2lmKG49PT0wKXJldHVybiBjdC5jbG9uZSh0LGkpO2xldCBzPXIqcixmLHUsYztpZihNYXRoLmFicyhNLlBJX09WRVJfVFdPLU1hdGguYWJzKGUpKT5NLkVQU0lMT044KXtsZXQgbD1QMChyLG8sdC5sYXRpdHVkZSkscD1uKk1hdGguY29zKGUpLGQ9bCtwO2lmKHU9S04oZCxyLG8pLE1hdGguYWJzKGUpPE0uRVBTSUxPTjEwKWY9TS5uZWdhdGl2ZVBpVG9QaSh0LmxvbmdpdHVkZSk7ZWxzZXtsZXQgbT1tYShyLHQubGF0aXR1ZGUpLF89bWEocix1KTtjPU1hdGgudGFuKGUpKihfLW0pLGY9TS5uZWdhdGl2ZVBpVG9QaSh0LmxvbmdpdHVkZStjKX19ZWxzZXt1PXQubGF0aXR1ZGU7bGV0IGw7aWYocj09PTApbD1vKk1hdGguY29zKHQubGF0aXR1ZGUpO2Vsc2V7bGV0IHA9TWF0aC5zaW4odC5sYXRpdHVkZSk7bD1vKk1hdGguY29zKHQubGF0aXR1ZGUpL01hdGguc3FydCgxLXMqcCpwKX1jPW4vbCxlPjA/Zj1NLm5lZ2F0aXZlUGlUb1BpKHQubG9uZ2l0dWRlK2MpOmY9TS5uZWdhdGl2ZVBpVG9QaSh0LmxvbmdpdHVkZS1jKX1yZXR1cm4gaChpKT8oaS5sb25naXR1ZGU9ZixpLmxhdGl0dWRlPXUsaS5oZWlnaHQ9MCxpKTpuZXcgY3QoZix1LDApfWZ1bmN0aW9uIEZpKHQsZSxuKXtsZXQgbz14KG4sJC5kZWZhdWx0KTt0aGlzLl9lbGxpcHNvaWQ9byx0aGlzLl9zdGFydD1uZXcgY3QsdGhpcy5fZW5kPW5ldyBjdCx0aGlzLl9oZWFkaW5nPXZvaWQgMCx0aGlzLl9kaXN0YW5jZT12b2lkIDAsdGhpcy5fZWxsaXB0aWNpdHk9dm9pZCAwLHRoaXMuX2VsbGlwdGljaXR5U3F1YXJlZD12b2lkIDAsaCh0KSYmaChlKSYmb3codGhpcyx0LGUsbyl9dmFyIFlOLHgwLFpvLE1mPVooKCk9PntGdCgpO0llKCk7WHQoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1d0KCk7WU49bmV3IGEseDA9bmV3IGE7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRmkucHJvdG90eXBlLHtlbGxpcHNvaWQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbGxpcHNvaWR9fSxzdXJmYWNlRGlzdGFuY2U6e2dldDpmdW5jdGlvbigpe3JldHVybiB5LmRlZmluZWQoImRpc3RhbmNlIix0aGlzLl9kaXN0YW5jZSksdGhpcy5fZGlzdGFuY2V9fSxzdGFydDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3N0YXJ0fX0sZW5kOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZW5kfX0saGVhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHkuZGVmaW5lZCgiZGlzdGFuY2UiLHRoaXMuX2Rpc3RhbmNlKSx0aGlzLl9oZWFkaW5nfX19KTtGaS5mcm9tU3RhcnRIZWFkaW5nRGlzdGFuY2U9ZnVuY3Rpb24odCxlLG4sbyxyKXt5LmRlZmluZWQoInN0YXJ0Iix0KSx5LmRlZmluZWQoImhlYWRpbmciLGUpLHkuZGVmaW5lZCgiZGlzdGFuY2UiLG4pLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbigiZGlzdGFuY2UiLG4sMCk7bGV0IGk9eChvLCQuZGVmYXVsdCkscz1pLm1heGltdW1SYWRpdXMsZj1pLm1pbmltdW1SYWRpdXMsdT1zKnMsYz1mKmYsbD1NYXRoLnNxcnQoKHUtYykvdSk7ZT1NLm5lZ2F0aXZlUGlUb1BpKGUpO2xldCBwPXJ3KHQsZSxuLGkubWF4aW11bVJhZGl1cyxsKTtyZXR1cm4haChyKXx8aChvKSYmIW8uZXF1YWxzKHIuZWxsaXBzb2lkKT9uZXcgRmkodCxwLGkpOihyLnNldEVuZFBvaW50cyh0LHApLHIpfTtGaS5wcm90b3R5cGUuc2V0RW5kUG9pbnRzPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJzdGFydCIsdCkseS5kZWZpbmVkKCJlbmQiLGUpLG93KHRoaXMsdCxlLHRoaXMuX2VsbGlwc29pZCl9O0ZpLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nRnJhY3Rpb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlKHQqdGhpcy5fZGlzdGFuY2UsZSl9O0ZpLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7aWYoeS50eXBlT2YubnVtYmVyKCJkaXN0YW5jZSIsdCksIWgodGhpcy5fZGlzdGFuY2UpfHx0aGlzLl9kaXN0YW5jZT09PTApdGhyb3cgbmV3IEIoIkVsbGlwc29pZFJodW1iTGluZSBtdXN0IGhhdmUgZGlzdGluY3Qgc3RhcnQgYW5kIGVuZCBzZXQuIik7cmV0dXJuIHJ3KHRoaXMuX3N0YXJ0LHRoaXMuX2hlYWRpbmcsdCx0aGlzLl9lbGxpcHNvaWQubWF4aW11bVJhZGl1cyx0aGlzLl9lbGxpcHRpY2l0eSxlKX07RmkucHJvdG90eXBlLmZpbmRJbnRlcnNlY3Rpb25XaXRoTG9uZ2l0dWRlPWZ1bmN0aW9uKHQsZSl7aWYoeS50eXBlT2YubnVtYmVyKCJpbnRlcnNlY3Rpb25Mb25naXR1ZGUiLHQpLCFoKHRoaXMuX2Rpc3RhbmNlKXx8dGhpcy5fZGlzdGFuY2U9PT0wKXRocm93IG5ldyBCKCJFbGxpcHNvaWRSaHVtYkxpbmUgbXVzdCBoYXZlIGRpc3RpbmN0IHN0YXJ0IGFuZCBlbmQgc2V0LiIpO2xldCBuPXRoaXMuX2VsbGlwdGljaXR5LG89dGhpcy5faGVhZGluZyxyPU1hdGguYWJzKG8pLGk9dGhpcy5fc3RhcnQ7aWYodD1NLm5lZ2F0aXZlUGlUb1BpKHQpLE0uZXF1YWxzRXBzaWxvbihNYXRoLmFicyh0KSxNYXRoLlBJLE0uRVBTSUxPTjE0KSYmKHQ9TS5zaWduKGkubG9uZ2l0dWRlKSpNYXRoLlBJKSxoKGUpfHwoZT1uZXcgY3QpLE1hdGguYWJzKE0uUElfT1ZFUl9UV08tcik8PU0uRVBTSUxPTjgpcmV0dXJuIGUubG9uZ2l0dWRlPXQsZS5sYXRpdHVkZT1pLmxhdGl0dWRlLGUuaGVpZ2h0PTAsZTtpZihNLmVxdWFsc0Vwc2lsb24oTWF0aC5hYnMoTS5QSV9PVkVSX1RXTy1yKSxNLlBJX09WRVJfVFdPLE0uRVBTSUxPTjgpKXJldHVybiBNLmVxdWFsc0Vwc2lsb24odCxpLmxvbmdpdHVkZSxNLkVQU0lMT04xMik/dm9pZCAwOihlLmxvbmdpdHVkZT10LGUubGF0aXR1ZGU9TS5QSV9PVkVSX1RXTypNLnNpZ24oTS5QSV9PVkVSX1RXTy1vKSxlLmhlaWdodD0wLGUpO2xldCBzPWkubGF0aXR1ZGUsZj1uKk1hdGguc2luKHMpLHU9TWF0aC50YW4oLjUqKE0uUElfT1ZFUl9UV08rcykpKk1hdGguZXhwKCh0LWkubG9uZ2l0dWRlKS9NYXRoLnRhbihvKSksYz0oMStmKS8oMS1mKSxsPWkubGF0aXR1ZGUscDtkb3twPWw7bGV0IGQ9bipNYXRoLnNpbihwKSxtPSgxK2QpLygxLWQpO2w9MipNYXRoLmF0YW4odSpNYXRoLnBvdyhtL2Msbi8yKSktTS5QSV9PVkVSX1RXT313aGlsZSghTS5lcXVhbHNFcHNpbG9uKGwscCxNLkVQU0lMT04xMikpO3JldHVybiBlLmxvbmdpdHVkZT10LGUubGF0aXR1ZGU9bCxlLmhlaWdodD0wLGV9O0ZpLnByb3RvdHlwZS5maW5kSW50ZXJzZWN0aW9uV2l0aExhdGl0dWRlPWZ1bmN0aW9uKHQsZSl7aWYoeS50eXBlT2YubnVtYmVyKCJpbnRlcnNlY3Rpb25MYXRpdHVkZSIsdCksIWgodGhpcy5fZGlzdGFuY2UpfHx0aGlzLl9kaXN0YW5jZT09PTApdGhyb3cgbmV3IEIoIkVsbGlwc29pZFJodW1iTGluZSBtdXN0IGhhdmUgZGlzdGluY3Qgc3RhcnQgYW5kIGVuZCBzZXQuIik7bGV0IG49dGhpcy5fZWxsaXB0aWNpdHksbz10aGlzLl9oZWFkaW5nLHI9dGhpcy5fc3RhcnQ7aWYoTS5lcXVhbHNFcHNpbG9uKE1hdGguYWJzKG8pLE0uUElfT1ZFUl9UV08sTS5FUFNJTE9OOCkpcmV0dXJuO2xldCBpPW1hKG4sci5sYXRpdHVkZSkscz1tYShuLHQpLGY9TWF0aC50YW4obykqKHMtaSksdT1NLm5lZ2F0aXZlUGlUb1BpKHIubG9uZ2l0dWRlK2YpO3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT11LGUubGF0aXR1ZGU9dCxlLmhlaWdodD0wLGUpOm5ldyBjdCh1LHQsMCl9O1pvPUZpfSk7ZnVuY3Rpb24gJE4odCxlKXt0aGlzLnBvc2l0aW9ucz1oKHQpP3Q6W10sdGhpcy5ob2xlcz1oKGUpP2U6W119dmFyIGl3LHN3PVooKCk9PntmdCgpO2l3PSROfSk7ZnVuY3Rpb24gSTAodCxlLG49Mil7bGV0IG89ZSYmZS5sZW5ndGgscj1vP2VbMF0qbjp0Lmxlbmd0aCxpPWF3KHQsMCxyLG4sITApLHM9W107aWYoIWl8fGkubmV4dD09PWkucHJldilyZXR1cm4gcztsZXQgZix1LGM7aWYobyYmKGk9ZUkodCxlLGksbikpLHQubGVuZ3RoPjgwKm4pe2Y9MS8wLHU9MS8wO2xldCBsPS0xLzAscD0tMS8wO2ZvcihsZXQgZD1uO2Q8cjtkKz1uKXtsZXQgbT10W2RdLF89dFtkKzFdO208ZiYmKGY9bSksXzx1JiYodT1fKSxtPmwmJihsPW0pLF8+cCYmKHA9Xyl9Yz1NYXRoLm1heChsLWYscC11KSxjPWMhPT0wPzMyNzY3L2M6MH1yZXR1cm4gTmYoaSxzLG4sZix1LGMsMCksc31mdW5jdGlvbiBhdyh0LGUsbixvLHIpe2xldCBpO2lmKHI9PT1wSSh0LGUsbixvKT4wKWZvcihsZXQgcz1lO3M8bjtzKz1vKWk9Y3cocy9vfDAsdFtzXSx0W3MrMV0saSk7ZWxzZSBmb3IobGV0IHM9bi1vO3M+PWU7cy09bylpPWN3KHMvb3wwLHRbc10sdFtzKzFdLGkpO3JldHVybiBpJiZuZChpLGkubmV4dCkmJih2ZihpKSxpPWkubmV4dCksaX1mdW5jdGlvbiB1Yyh0LGUpe2lmKCF0KXJldHVybiB0O2V8fChlPXQpO2xldCBuPXQsbztkbyBpZihvPSExLCFuLnN0ZWluZXImJihuZChuLG4ubmV4dCl8fHZuKG4ucHJldixuLG4ubmV4dCk9PT0wKSl7aWYodmYobiksbj1lPW4ucHJldixuPT09bi5uZXh0KWJyZWFrO289ITB9ZWxzZSBuPW4ubmV4dDt3aGlsZShvfHxuIT09ZSk7cmV0dXJuIGV9ZnVuY3Rpb24gTmYodCxlLG4sbyxyLGkscyl7aWYoIXQpcmV0dXJuOyFzJiZpJiZzSSh0LG8scixpKTtsZXQgZj10O2Zvcig7dC5wcmV2IT09dC5uZXh0Oyl7bGV0IHU9dC5wcmV2LGM9dC5uZXh0O2lmKGk/UU4odCxvLHIsaSk6Wk4odCkpe2UucHVzaCh1LmksdC5pLGMuaSksdmYodCksdD1jLm5leHQsZj1jLm5leHQ7Y29udGludWV9aWYodD1jLHQ9PT1mKXtzP3M9PT0xPyh0PUpOKHVjKHQpLGUpLE5mKHQsZSxuLG8scixpLDIpKTpzPT09MiYmdEkodCxlLG4sbyxyLGkpOk5mKHVjKHQpLGUsbixvLHIsaSwxKTticmVha319fWZ1bmN0aW9uIFpOKHQpe2xldCBlPXQucHJldixuPXQsbz10Lm5leHQ7aWYodm4oZSxuLG8pPj0wKXJldHVybiExO2xldCByPWUueCxpPW4ueCxzPW8ueCxmPWUueSx1PW4ueSxjPW8ueSxsPXI8aT9yPHM/cjpzOmk8cz9pOnMscD1mPHU/ZjxjP2Y6Yzp1PGM/dTpjLGQ9cj5pP3I+cz9yOnM6aT5zP2k6cyxtPWY+dT9mPmM/ZjpjOnU+Yz91OmMsXz1vLm5leHQ7Zm9yKDtfIT09ZTspe2lmKF8ueD49bCYmXy54PD1kJiZfLnk+PXAmJl8ueTw9bSYmaGEocixmLGksdSxzLGMsXy54LF8ueSkmJnZuKF8ucHJldixfLF8ubmV4dCk+PTApcmV0dXJuITE7Xz1fLm5leHR9cmV0dXJuITB9ZnVuY3Rpb24gUU4odCxlLG4sbyl7bGV0IHI9dC5wcmV2LGk9dCxzPXQubmV4dDtpZih2bihyLGkscyk+PTApcmV0dXJuITE7bGV0IGY9ci54LHU9aS54LGM9cy54LGw9ci55LHA9aS55LGQ9cy55LG09Zjx1P2Y8Yz9mOmM6dTxjP3U6YyxfPWw8cD9sPGQ/bDpkOnA8ZD9wOmQsZz1mPnU/Zj5jP2Y6Yzp1PmM/dTpjLGI9bD5wP2w+ZD9sOmQ6cD5kP3A6ZCxUPU0wKG0sXyxlLG4sbyksTz1NMChnLGIsZSxuLG8pLEU9dC5wcmV2Wix3PXQubmV4dFo7Zm9yKDtFJiZFLno+PVQmJncmJncuejw9Tzspe2lmKEUueD49bSYmRS54PD1nJiZFLnk+PV8mJkUueTw9YiYmRSE9PXImJkUhPT1zJiZoYShmLGwsdSxwLGMsZCxFLngsRS55KSYmdm4oRS5wcmV2LEUsRS5uZXh0KT49MHx8KEU9RS5wcmV2Wix3Lng+PW0mJncueDw9ZyYmdy55Pj1fJiZ3Lnk8PWImJnchPT1yJiZ3IT09cyYmaGEoZixsLHUscCxjLGQsdy54LHcueSkmJnZuKHcucHJldix3LHcubmV4dCk+PTApKXJldHVybiExO3c9dy5uZXh0Wn1mb3IoO0UmJkUuej49VDspe2lmKEUueD49bSYmRS54PD1nJiZFLnk+PV8mJkUueTw9YiYmRSE9PXImJkUhPT1zJiZoYShmLGwsdSxwLGMsZCxFLngsRS55KSYmdm4oRS5wcmV2LEUsRS5uZXh0KT49MClyZXR1cm4hMTtFPUUucHJldlp9Zm9yKDt3JiZ3Lno8PU87KXtpZih3Lng+PW0mJncueDw9ZyYmdy55Pj1fJiZ3Lnk8PWImJnchPT1yJiZ3IT09cyYmaGEoZixsLHUscCxjLGQsdy54LHcueSkmJnZuKHcucHJldix3LHcubmV4dCk+PTApcmV0dXJuITE7dz13Lm5leHRafXJldHVybiEwfWZ1bmN0aW9uIEpOKHQsZSl7bGV0IG49dDtkb3tsZXQgbz1uLnByZXYscj1uLm5leHQubmV4dDshbmQobyxyKSYmZncobyxuLG4ubmV4dCxyKSYmSWYobyxyKSYmSWYocixvKSYmKGUucHVzaChvLmksbi5pLHIuaSksdmYobiksdmYobi5uZXh0KSxuPXQ9ciksbj1uLm5leHR9d2hpbGUobiE9PXQpO3JldHVybiB1YyhuKX1mdW5jdGlvbiB0SSh0LGUsbixvLHIsaSl7bGV0IHM9dDtkb3tsZXQgZj1zLm5leHQubmV4dDtmb3IoO2YhPT1zLnByZXY7KXtpZihzLmkhPT1mLmkmJmZJKHMsZikpe2xldCB1PXV3KHMsZik7cz11YyhzLHMubmV4dCksdT11Yyh1LHUubmV4dCksTmYocyxlLG4sbyxyLGksMCksTmYodSxlLG4sbyxyLGksMCk7cmV0dXJufWY9Zi5uZXh0fXM9cy5uZXh0fXdoaWxlKHMhPT10KX1mdW5jdGlvbiBlSSh0LGUsbixvKXtsZXQgcj1bXTtmb3IobGV0IGk9MCxzPWUubGVuZ3RoO2k8cztpKyspe2xldCBmPWVbaV0qbyx1PWk8cy0xP2VbaSsxXSpvOnQubGVuZ3RoLGM9YXcodCxmLHUsbywhMSk7Yz09PWMubmV4dCYmKGMuc3RlaW5lcj0hMCksci5wdXNoKGFJKGMpKX1yLnNvcnQobkkpO2ZvcihsZXQgaT0wO2k8ci5sZW5ndGg7aSsrKW49b0kocltpXSxuKTtyZXR1cm4gbn1mdW5jdGlvbiBuSSh0LGUpe3JldHVybiB0LngtZS54fWZ1bmN0aW9uIG9JKHQsZSl7bGV0IG49ckkodCxlKTtpZighbilyZXR1cm4gZTtsZXQgbz11dyhuLHQpO3JldHVybiB1YyhvLG8ubmV4dCksdWMobixuLm5leHQpfWZ1bmN0aW9uIHJJKHQsZSl7bGV0IG49ZSxvPXQueCxyPXQueSxpPS0xLzAscztkb3tpZihyPD1uLnkmJnI+PW4ubmV4dC55JiZuLm5leHQueSE9PW4ueSl7bGV0IHA9bi54KyhyLW4ueSkqKG4ubmV4dC54LW4ueCkvKG4ubmV4dC55LW4ueSk7aWYocDw9byYmcD5pJiYoaT1wLHM9bi54PG4ubmV4dC54P246bi5uZXh0LHA9PT1vKSlyZXR1cm4gc31uPW4ubmV4dH13aGlsZShuIT09ZSk7aWYoIXMpcmV0dXJuIG51bGw7bGV0IGY9cyx1PXMueCxjPXMueSxsPTEvMDtuPXM7ZG97aWYobz49bi54JiZuLng+PXUmJm8hPT1uLngmJmhhKHI8Yz9vOmkscix1LGMscjxjP2k6byxyLG4ueCxuLnkpKXtsZXQgcD1NYXRoLmFicyhyLW4ueSkvKG8tbi54KTtJZihuLHQpJiYocDxsfHxwPT09bCYmKG4ueD5zLnh8fG4ueD09PXMueCYmaUkocyxuKSkpJiYocz1uLGw9cCl9bj1uLm5leHR9d2hpbGUobiE9PWYpO3JldHVybiBzfWZ1bmN0aW9uIGlJKHQsZSl7cmV0dXJuIHZuKHQucHJldix0LGUucHJldik8MCYmdm4oZS5uZXh0LHQsdC5uZXh0KTwwfWZ1bmN0aW9uIHNJKHQsZSxuLG8pe2xldCByPXQ7ZG8gci56PT09MCYmKHIuej1NMChyLngsci55LGUsbixvKSksci5wcmV2Wj1yLnByZXYsci5uZXh0Wj1yLm5leHQscj1yLm5leHQ7d2hpbGUociE9PXQpO3IucHJldloubmV4dFo9bnVsbCxyLnByZXZaPW51bGwsY0kocil9ZnVuY3Rpb24gY0kodCl7bGV0IGUsbj0xO2Rve2xldCBvPXQscjt0PW51bGw7bGV0IGk9bnVsbDtmb3IoZT0wO287KXtlKys7bGV0IHM9byxmPTA7Zm9yKGxldCBjPTA7YzxuJiYoZisrLHM9cy5uZXh0WiwhIXMpO2MrKyk7bGV0IHU9bjtmb3IoO2Y+MHx8dT4wJiZzOylmIT09MCYmKHU9PT0wfHwhc3x8by56PD1zLnopPyhyPW8sbz1vLm5leHRaLGYtLSk6KHI9cyxzPXMubmV4dFosdS0tKSxpP2kubmV4dFo9cjp0PXIsci5wcmV2Wj1pLGk9cjtvPXN9aS5uZXh0Wj1udWxsLG4qPTJ9d2hpbGUoZT4xKTtyZXR1cm4gdH1mdW5jdGlvbiBNMCh0LGUsbixvLHIpe3JldHVybiB0PSh0LW4pKnJ8MCxlPShlLW8pKnJ8MCx0PSh0fHQ8PDgpJjE2NzExOTM1LHQ9KHR8dDw8NCkmMjUyNjQ1MTM1LHQ9KHR8dDw8MikmODU4OTkzNDU5LHQ9KHR8dDw8MSkmMTQzMTY1NTc2NSxlPShlfGU8PDgpJjE2NzExOTM1LGU9KGV8ZTw8NCkmMjUyNjQ1MTM1LGU9KGV8ZTw8MikmODU4OTkzNDU5LGU9KGV8ZTw8MSkmMTQzMTY1NTc2NSx0fGU8PDF9ZnVuY3Rpb24gYUkodCl7bGV0IGU9dCxuPXQ7ZG8oZS54PG4ueHx8ZS54PT09bi54JiZlLnk8bi55KSYmKG49ZSksZT1lLm5leHQ7d2hpbGUoZSE9PXQpO3JldHVybiBufWZ1bmN0aW9uIGhhKHQsZSxuLG8scixpLHMsZil7cmV0dXJuKHItcykqKGUtZik+PSh0LXMpKihpLWYpJiYodC1zKSooby1mKT49KG4tcykqKGUtZikmJihuLXMpKihpLWYpPj0oci1zKSooby1mKX1mdW5jdGlvbiBmSSh0LGUpe3JldHVybiB0Lm5leHQuaSE9PWUuaSYmdC5wcmV2LmkhPT1lLmkmJiF1SSh0LGUpJiYoSWYodCxlKSYmSWYoZSx0KSYmbEkodCxlKSYmKHZuKHQucHJldix0LGUucHJldil8fHZuKHQsZS5wcmV2LGUpKXx8bmQodCxlKSYmdm4odC5wcmV2LHQsdC5uZXh0KT4wJiZ2bihlLnByZXYsZSxlLm5leHQpPjApfWZ1bmN0aW9uIHZuKHQsZSxuKXtyZXR1cm4oZS55LXQueSkqKG4ueC1lLngpLShlLngtdC54KSoobi55LWUueSl9ZnVuY3Rpb24gbmQodCxlKXtyZXR1cm4gdC54PT09ZS54JiZ0Lnk9PT1lLnl9ZnVuY3Rpb24gZncodCxlLG4sbyl7bGV0IHI9ZWQodm4odCxlLG4pKSxpPWVkKHZuKHQsZSxvKSkscz1lZCh2bihuLG8sdCkpLGY9ZWQodm4obixvLGUpKTtyZXR1cm4hIShyIT09aSYmcyE9PWZ8fHI9PT0wJiZ0ZCh0LG4sZSl8fGk9PT0wJiZ0ZCh0LG8sZSl8fHM9PT0wJiZ0ZChuLHQsbyl8fGY9PT0wJiZ0ZChuLGUsbykpfWZ1bmN0aW9uIHRkKHQsZSxuKXtyZXR1cm4gZS54PD1NYXRoLm1heCh0Lngsbi54KSYmZS54Pj1NYXRoLm1pbih0Lngsbi54KSYmZS55PD1NYXRoLm1heCh0Lnksbi55KSYmZS55Pj1NYXRoLm1pbih0Lnksbi55KX1mdW5jdGlvbiBlZCh0KXtyZXR1cm4gdD4wPzE6dDwwPy0xOjB9ZnVuY3Rpb24gdUkodCxlKXtsZXQgbj10O2Rve2lmKG4uaSE9PXQuaSYmbi5uZXh0LmkhPT10LmkmJm4uaSE9PWUuaSYmbi5uZXh0LmkhPT1lLmkmJmZ3KG4sbi5uZXh0LHQsZSkpcmV0dXJuITA7bj1uLm5leHR9d2hpbGUobiE9PXQpO3JldHVybiExfWZ1bmN0aW9uIElmKHQsZSl7cmV0dXJuIHZuKHQucHJldix0LHQubmV4dCk8MD92bih0LGUsdC5uZXh0KT49MCYmdm4odCx0LnByZXYsZSk+PTA6dm4odCxlLHQucHJldik8MHx8dm4odCx0Lm5leHQsZSk8MH1mdW5jdGlvbiBsSSh0LGUpe2xldCBuPXQsbz0hMSxyPSh0LngrZS54KS8yLGk9KHQueStlLnkpLzI7ZG8gbi55PmkhPW4ubmV4dC55PmkmJm4ubmV4dC55IT09bi55JiZyPChuLm5leHQueC1uLngpKihpLW4ueSkvKG4ubmV4dC55LW4ueSkrbi54JiYobz0hbyksbj1uLm5leHQ7d2hpbGUobiE9PXQpO3JldHVybiBvfWZ1bmN0aW9uIHV3KHQsZSl7bGV0IG49TjAodC5pLHQueCx0LnkpLG89TjAoZS5pLGUueCxlLnkpLHI9dC5uZXh0LGk9ZS5wcmV2O3JldHVybiB0Lm5leHQ9ZSxlLnByZXY9dCxuLm5leHQ9cixyLnByZXY9bixvLm5leHQ9bixuLnByZXY9byxpLm5leHQ9byxvLnByZXY9aSxvfWZ1bmN0aW9uIGN3KHQsZSxuLG8pe2xldCByPU4wKHQsZSxuKTtyZXR1cm4gbz8oci5uZXh0PW8ubmV4dCxyLnByZXY9byxvLm5leHQucHJldj1yLG8ubmV4dD1yKTooci5wcmV2PXIsci5uZXh0PXIpLHJ9ZnVuY3Rpb24gdmYodCl7dC5uZXh0LnByZXY9dC5wcmV2LHQucHJldi5uZXh0PXQubmV4dCx0LnByZXZaJiYodC5wcmV2Wi5uZXh0Wj10Lm5leHRaKSx0Lm5leHRaJiYodC5uZXh0Wi5wcmV2Wj10LnByZXZaKX1mdW5jdGlvbiBOMCh0LGUsbil7cmV0dXJue2k6dCx4OmUseTpuLHByZXY6bnVsbCxuZXh0Om51bGwsejowLHByZXZaOm51bGwsbmV4dFo6bnVsbCxzdGVpbmVyOiExfX1mdW5jdGlvbiBwSSh0LGUsbixvKXtsZXQgcj0wO2ZvcihsZXQgaT1lLHM9bi1vO2k8bjtpKz1vKXIrPSh0W3NdLXRbaV0pKih0W2krMV0rdFtzKzFdKSxzPWk7cmV0dXJuIHJ9dmFyIGx3PVooKCk9Pnt9KTt2YXIgb2QsQ28sbGM9WigoKT0+eyRzKCk7b2Q9e0NMT0NLV0lTRTpxdC5DVyxDT1VOVEVSX0NMT0NLV0lTRTpxdC5DQ1d9O29kLnZhbGlkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09b2QuQ0xPQ0tXSVNFfHx0PT09b2QuQ09VTlRFUl9DTE9DS1dJU0V9O0NvPU9iamVjdC5mcmVlemUob2QpfSk7dmFyIGRJLG1JLGxzLGh3LF93LHl3LHB3LGR3LG13LEJpLGd3LEF3LGJ3LF9hLGhJLF9JLHlJLHYwLFBlLHFyPVooKCk9PntsdygpO1VlKCk7RnQoKTtJZSgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7WnQoKTtNZigpO1hlKCk7WWUoKTtXdCgpO3RuKCk7bGMoKTtkST1uZXcgYSxtST1uZXcgYSxscz17fTtscy5jb21wdXRlQXJlYTJEPWZ1bmN0aW9uKHQpe3kuZGVmaW5lZCgicG9zaXRpb25zIix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygicG9zaXRpb25zLmxlbmd0aCIsdC5sZW5ndGgsMyk7bGV0IGU9dC5sZW5ndGgsbj0wO2ZvcihsZXQgbz1lLTEscj0wO3I8ZTtvPXIrKyl7bGV0IGk9dFtvXSxzPXRbcl07bis9aS54KnMueS1zLngqaS55fXJldHVybiBuKi41fTtscy5jb21wdXRlV2luZGluZ09yZGVyMkQ9ZnVuY3Rpb24odCl7cmV0dXJuIGxzLmNvbXB1dGVBcmVhMkQodCk+MD9Dby5DT1VOVEVSX0NMT0NLV0lTRTpDby5DTE9DS1dJU0V9O2xzLnRyaWFuZ3VsYXRlPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJwb3NpdGlvbnMiLHQpO2xldCBuPXR0LnBhY2tBcnJheSh0KTtyZXR1cm4gSTAobixlLDIpfTtodz1uZXcgYSxfdz1uZXcgYSx5dz1uZXcgYSxwdz1uZXcgYSxkdz1uZXcgYSxtdz1uZXcgYSxCaT1uZXcgYSxndz1uZXcgdHQsQXc9bmV3IHR0LGJ3PW5ldyB0dCxfYT1uZXcgdHQ7bHMuY29tcHV0ZVN1YmRpdmlzaW9uPWZ1bmN0aW9uKHQsZSxuLG8scil7cj14KHIsTS5SQURJQU5TX1BFUl9ERUdSRUUpO2xldCBpPWgobyk7eS50eXBlT2Yub2JqZWN0KCJlbGxpcHNvaWQiLHQpLHkuZGVmaW5lZCgicG9zaXRpb25zIixlKSx5LmRlZmluZWQoImluZGljZXMiLG4pLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJpbmRpY2VzLmxlbmd0aCIsbi5sZW5ndGgsMykseS50eXBlT2YubnVtYmVyLmVxdWFscygiaW5kaWNlcy5sZW5ndGggJSAzIiwiMCIsbi5sZW5ndGglMywwKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW4oImdyYW51bGFyaXR5IixyLDApO2xldCBzPW4uc2xpY2UoMCksZix1PWUubGVuZ3RoLGM9bmV3IEFycmF5KHUqMyksbD1uZXcgQXJyYXkodSoyKSxwPTAsZD0wO2ZvcihmPTA7Zjx1O2YrKyl7bGV0IEU9ZVtmXTtpZihjW3ArK109RS54LGNbcCsrXT1FLnksY1twKytdPUUueixpKXtsZXQgdz1vW2ZdO2xbZCsrXT13LngsbFtkKytdPXcueX19bGV0IG09W10sXz17fSxnPXQubWF4aW11bVJhZGl1cyxiPU0uY2hvcmRMZW5ndGgocixnKSxUPWIqYjtmb3IoO3MubGVuZ3RoPjA7KXtsZXQgRT1zLnBvcCgpLHc9cy5wb3AoKSxDPXMucG9wKCksTj1hLmZyb21BcnJheShjLEMqMyxodyksST1hLmZyb21BcnJheShjLHcqMyxfdyksRD1hLmZyb21BcnJheShjLEUqMyx5dyksdixMLFU7aSYmKHY9dHQuZnJvbUFycmF5KGwsQyoyLGd3KSxMPXR0LmZyb21BcnJheShsLHcqMixBdyksVT10dC5mcm9tQXJyYXkobCxFKjIsYncpKTtsZXQgQT1hLm11bHRpcGx5QnlTY2FsYXIoYS5ub3JtYWxpemUoTixwdyksZyxwdyksUz1hLm11bHRpcGx5QnlTY2FsYXIoYS5ub3JtYWxpemUoSSxkdyksZyxkdyksUD1hLm11bHRpcGx5QnlTY2FsYXIoYS5ub3JtYWxpemUoRCxtdyksZyxtdyksRj1hLm1hZ25pdHVkZVNxdWFyZWQoYS5zdWJ0cmFjdChBLFMsQmkpKSxqPWEubWFnbml0dWRlU3F1YXJlZChhLnN1YnRyYWN0KFMsUCxCaSkpLEg9YS5tYWduaXR1ZGVTcXVhcmVkKGEuc3VidHJhY3QoUCxBLEJpKSksaz1NYXRoLm1heChGLGosSCksSyxYLFI7az5UP0Y9PT1rPyhLPWAke01hdGgubWluKEMsdyl9ICR7TWF0aC5tYXgoQyx3KX1gLGY9X1tLXSxoKGYpfHwoWD1hLmFkZChOLEksQmkpLGEubXVsdGlwbHlCeVNjYWxhcihYLC41LFgpLGMucHVzaChYLngsWC55LFgueiksZj1jLmxlbmd0aC8zLTEsX1tLXT1mLGkmJihSPXR0LmFkZCh2LEwsX2EpLHR0Lm11bHRpcGx5QnlTY2FsYXIoUiwuNSxSKSxsLnB1c2goUi54LFIueSkpKSxzLnB1c2goQyxmLEUpLHMucHVzaChmLHcsRSkpOmo9PT1rPyhLPWAke01hdGgubWluKHcsRSl9ICR7TWF0aC5tYXgodyxFKX1gLGY9X1tLXSxoKGYpfHwoWD1hLmFkZChJLEQsQmkpLGEubXVsdGlwbHlCeVNjYWxhcihYLC41LFgpLGMucHVzaChYLngsWC55LFgueiksZj1jLmxlbmd0aC8zLTEsX1tLXT1mLGkmJihSPXR0LmFkZChMLFUsX2EpLHR0Lm11bHRpcGx5QnlTY2FsYXIoUiwuNSxSKSxsLnB1c2goUi54LFIueSkpKSxzLnB1c2godyxmLEMpLHMucHVzaChmLEUsQykpOkg9PT1rJiYoSz1gJHtNYXRoLm1pbihFLEMpfSAke01hdGgubWF4KEUsQyl9YCxmPV9bS10saChmKXx8KFg9YS5hZGQoRCxOLEJpKSxhLm11bHRpcGx5QnlTY2FsYXIoWCwuNSxYKSxjLnB1c2goWC54LFgueSxYLnopLGY9Yy5sZW5ndGgvMy0xLF9bS109ZixpJiYoUj10dC5hZGQoVSx2LF9hKSx0dC5tdWx0aXBseUJ5U2NhbGFyKFIsLjUsUiksbC5wdXNoKFIueCxSLnkpKSkscy5wdXNoKEUsZix3KSxzLnB1c2goZixDLHcpKToobS5wdXNoKEMpLG0ucHVzaCh3KSxtLnB1c2goRSkpfWxldCBPPXthdHRyaWJ1dGVzOntwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmN9KX0saW5kaWNlczptLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfTtyZXR1cm4gaSYmKE8uYXR0cmlidXRlcy5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6bH0pKSxuZXcgVXQoTyl9O2hJPW5ldyBjdCxfST1uZXcgY3QseUk9bmV3IGN0LHYwPW5ldyBjdDtscy5jb21wdXRlUmh1bWJMaW5lU3ViZGl2aXNpb249ZnVuY3Rpb24odCxlLG4sbyxyKXtyPXgocixNLlJBRElBTlNfUEVSX0RFR1JFRSk7bGV0IGk9aChvKTt5LnR5cGVPZi5vYmplY3QoImVsbGlwc29pZCIsdCkseS5kZWZpbmVkKCJwb3NpdGlvbnMiLGUpLHkuZGVmaW5lZCgiaW5kaWNlcyIsbikseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoImluZGljZXMubGVuZ3RoIixuLmxlbmd0aCwzKSx5LnR5cGVPZi5udW1iZXIuZXF1YWxzKCJpbmRpY2VzLmxlbmd0aCAlIDMiLCIwIixuLmxlbmd0aCUzLDApLHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbigiZ3JhbnVsYXJpdHkiLHIsMCk7bGV0IHM9bi5zbGljZSgwKSxmLHU9ZS5sZW5ndGgsYz1uZXcgQXJyYXkodSozKSxsPW5ldyBBcnJheSh1KjIpLHA9MCxkPTA7Zm9yKGY9MDtmPHU7ZisrKXtsZXQgQz1lW2ZdO2lmKGNbcCsrXT1DLngsY1twKytdPUMueSxjW3ArK109Qy56LGkpe2xldCBOPW9bZl07bFtkKytdPU4ueCxsW2QrK109Ti55fX1sZXQgbT1bXSxfPXt9LGc9dC5tYXhpbXVtUmFkaXVzLGI9TS5jaG9yZExlbmd0aChyLGcpLFQ9bmV3IFpvKHZvaWQgMCx2b2lkIDAsdCksTz1uZXcgWm8odm9pZCAwLHZvaWQgMCx0KSxFPW5ldyBabyh2b2lkIDAsdm9pZCAwLHQpO2Zvcig7cy5sZW5ndGg+MDspe2xldCBDPXMucG9wKCksTj1zLnBvcCgpLEk9cy5wb3AoKSxEPWEuZnJvbUFycmF5KGMsSSozLGh3KSx2PWEuZnJvbUFycmF5KGMsTiozLF93KSxMPWEuZnJvbUFycmF5KGMsQyozLHl3KSxVLEEsUztpJiYoVT10dC5mcm9tQXJyYXkobCxJKjIsZ3cpLEE9dHQuZnJvbUFycmF5KGwsTioyLEF3KSxTPXR0LmZyb21BcnJheShsLEMqMixidykpO2xldCBQPXQuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoRCxoSSksRj10LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHYsX0kpLGo9dC5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhMLHlJKTtULnNldEVuZFBvaW50cyhQLEYpO2xldCBIPVQuc3VyZmFjZURpc3RhbmNlO08uc2V0RW5kUG9pbnRzKEYsaik7bGV0IGs9Ty5zdXJmYWNlRGlzdGFuY2U7RS5zZXRFbmRQb2ludHMoaixQKTtsZXQgSz1FLnN1cmZhY2VEaXN0YW5jZSxYPU1hdGgubWF4KEgsayxLKSxSLG90LGF0LHB0LHl0O1g+Yj9IPT09WD8oUj1gJHtNYXRoLm1pbihJLE4pfSAke01hdGgubWF4KEksTil9YCxmPV9bUl0saChmKXx8KG90PVQuaW50ZXJwb2xhdGVVc2luZ0ZyYWN0aW9uKC41LHYwKSxhdD0oUC5oZWlnaHQrRi5oZWlnaHQpKi41LHB0PWEuZnJvbVJhZGlhbnMob3QubG9uZ2l0dWRlLG90LmxhdGl0dWRlLGF0LHQsQmkpLGMucHVzaChwdC54LHB0LnkscHQueiksZj1jLmxlbmd0aC8zLTEsX1tSXT1mLGkmJih5dD10dC5hZGQoVSxBLF9hKSx0dC5tdWx0aXBseUJ5U2NhbGFyKHl0LC41LHl0KSxsLnB1c2goeXQueCx5dC55KSkpLHMucHVzaChJLGYsQykscy5wdXNoKGYsTixDKSk6az09PVg/KFI9YCR7TWF0aC5taW4oTixDKX0gJHtNYXRoLm1heChOLEMpfWAsZj1fW1JdLGgoZil8fChvdD1PLmludGVycG9sYXRlVXNpbmdGcmFjdGlvbiguNSx2MCksYXQ9KEYuaGVpZ2h0K2ouaGVpZ2h0KSouNSxwdD1hLmZyb21SYWRpYW5zKG90LmxvbmdpdHVkZSxvdC5sYXRpdHVkZSxhdCx0LEJpKSxjLnB1c2gocHQueCxwdC55LHB0LnopLGY9Yy5sZW5ndGgvMy0xLF9bUl09ZixpJiYoeXQ9dHQuYWRkKEEsUyxfYSksdHQubXVsdGlwbHlCeVNjYWxhcih5dCwuNSx5dCksbC5wdXNoKHl0LngseXQueSkpKSxzLnB1c2goTixmLEkpLHMucHVzaChmLEMsSSkpOks9PT1YJiYoUj1gJHtNYXRoLm1pbihDLEkpfSAke01hdGgubWF4KEMsSSl9YCxmPV9bUl0saChmKXx8KG90PUUuaW50ZXJwb2xhdGVVc2luZ0ZyYWN0aW9uKC41LHYwKSxhdD0oai5oZWlnaHQrUC5oZWlnaHQpKi41LHB0PWEuZnJvbVJhZGlhbnMob3QubG9uZ2l0dWRlLG90LmxhdGl0dWRlLGF0LHQsQmkpLGMucHVzaChwdC54LHB0LnkscHQueiksZj1jLmxlbmd0aC8zLTEsX1tSXT1mLGkmJih5dD10dC5hZGQoUyxVLF9hKSx0dC5tdWx0aXBseUJ5U2NhbGFyKHl0LC41LHl0KSxsLnB1c2goeXQueCx5dC55KSkpLHMucHVzaChDLGYsTikscy5wdXNoKGYsSSxOKSk6KG0ucHVzaChJKSxtLnB1c2goTiksbS5wdXNoKEMpKX1sZXQgdz17YXR0cmlidXRlczp7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpjfSl9LGluZGljZXM6bSxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFU307cmV0dXJuIGkmJih3LmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOmx9KSksbmV3IFV0KHcpfTtscy5zY2FsZVRvR2VvZGV0aWNIZWlnaHQ9ZnVuY3Rpb24odCxlLG4sbyl7bj14KG4sJC5kZWZhdWx0KTtsZXQgcj1kSSxpPW1JO2lmKGU9eChlLDApLG89eChvLCEwKSxoKHQpKXtsZXQgcz10Lmxlbmd0aDtmb3IobGV0IGY9MDtmPHM7Zis9MylhLmZyb21BcnJheSh0LGYsaSksbyYmKGk9bi5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGksaSkpLGUhPT0wJiYocj1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChpLHIpLGEubXVsdGlwbHlCeVNjYWxhcihyLGUsciksYS5hZGQoaSxyLGkpKSx0W2ZdPWkueCx0W2YrMV09aS55LHRbZisyXT1pLnp9cmV0dXJuIHR9O1BlPWxzfSk7ZnVuY3Rpb24gcHMoKXt0aGlzLl9hcnJheT1bXSx0aGlzLl9vZmZzZXQ9MCx0aGlzLl9sZW5ndGg9MH12YXIgTDAsVHc9WigoKT0+e09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHBzLnByb3RvdHlwZSx7bGVuZ3RoOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbGVuZ3RofX19KTtwcy5wcm90b3R5cGUuZW5xdWV1ZT1mdW5jdGlvbih0KXt0aGlzLl9hcnJheS5wdXNoKHQpLHRoaXMuX2xlbmd0aCsrfTtwcy5wcm90b3R5cGUuZGVxdWV1ZT1mdW5jdGlvbigpe2lmKHRoaXMuX2xlbmd0aD09PTApcmV0dXJuO2xldCB0PXRoaXMuX2FycmF5LGU9dGhpcy5fb2Zmc2V0LG49dFtlXTtyZXR1cm4gdFtlXT12b2lkIDAsZSsrLGU+MTAmJmUqMj50Lmxlbmd0aCYmKHRoaXMuX2FycmF5PXQuc2xpY2UoZSksZT0wKSx0aGlzLl9vZmZzZXQ9ZSx0aGlzLl9sZW5ndGgtLSxufTtwcy5wcm90b3R5cGUucGVlaz1mdW5jdGlvbigpe2lmKHRoaXMuX2xlbmd0aCE9PTApcmV0dXJuIHRoaXMuX2FycmF5W3RoaXMuX29mZnNldF19O3BzLnByb3RvdHlwZS5jb250YWlucz1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fYXJyYXkuaW5kZXhPZih0KSE9PS0xfTtwcy5wcm90b3R5cGUuY2xlYXI9ZnVuY3Rpb24oKXt0aGlzLl9hcnJheS5sZW5ndGg9dGhpcy5fb2Zmc2V0PXRoaXMuX2xlbmd0aD0wfTtwcy5wcm90b3R5cGUuc29ydD1mdW5jdGlvbih0KXt0aGlzLl9vZmZzZXQ+MCYmKHRoaXMuX2FycmF5PXRoaXMuX2FycmF5LnNsaWNlKHRoaXMuX29mZnNldCksdGhpcy5fb2Zmc2V0PTApLHRoaXMuX2FycmF5LnNvcnQodCl9O0wwPXBzfSk7ZnVuY3Rpb24gRXcodCxlLG4sbyl7cmV0dXJuIHR0LnN1YnRyYWN0KGUsdCxwYyksdHQubXVsdGlwbHlCeVNjYWxhcihwYyxuL28scGMpLHR0LmFkZCh0LHBjLHBjKSxbcGMueCxwYy55XX1mdW5jdGlvbiBnSSh0LGUsbixvKXtyZXR1cm4gYS5zdWJ0cmFjdChlLHQsZHMpLGEubXVsdGlwbHlCeVNjYWxhcihkcyxuL28sZHMpLGEuYWRkKHQsZHMsZHMpLFtkcy54LGRzLnksZHMuel19ZnVuY3Rpb24gU0kodCxlLG4pe2xldCBvPW4uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWModCxpZCkscj1uLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGUsc2QpO2lmKE1hdGguc2lnbihvLmxhdGl0dWRlKT09PU1hdGguc2lnbihyLmxhdGl0dWRlKSlyZXR1cm47cmQuc2V0RW5kUG9pbnRzKG8scik7bGV0IGk9cmQuZmluZEludGVyc2VjdGlvbldpdGhMYXRpdHVkZSgwLFJJKTtpZighaChpKSlyZXR1cm47bGV0IHM9TWF0aC5taW4oby5sb25naXR1ZGUsci5sb25naXR1ZGUpLGY9TWF0aC5tYXgoby5sb25naXR1ZGUsci5sb25naXR1ZGUpO2lmKE1hdGguYWJzKGYtcyk+TS5QSSl7bGV0IHU9cztzPWYsZj11fWlmKCEoaS5sb25naXR1ZGU8c3x8aS5sb25naXR1ZGU+ZikpcmV0dXJuIG4uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oaSl9ZnVuY3Rpb24gQ0kodCxlLG4sbyl7aWYobz09PV9lLlJIVU1CKXJldHVybiBTSSh0LGUsbik7bGV0IHI9aG8ubGluZVNlZ21lbnRQbGFuZSh0LGUsb24uT1JJR0lOX1hZX1BMQU5FKTtpZihoKHIpKXJldHVybiBuLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UocixyKX1mdW5jdGlvbiBQSSh0LGUsbil7bGV0IG89W10scixpLHMsZix1LGM9MDtmb3IoO2M8dC5sZW5ndGg7KXtyPXRbY10saT10WyhjKzEpJXQubGVuZ3RoXSxzPU0uc2lnbihyLnopLGY9TS5zaWduKGkueik7bGV0IGw9cD0+ZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhwLHhJKS5sb25naXR1ZGU7aWYocz09PTApby5wdXNoKHtwb3NpdGlvbjpjLHR5cGU6cyx2aXNpdGVkOiExLG5leHQ6Zix0aGV0YTpsKHIpfSk7ZWxzZSBpZihmIT09MCl7aWYodT1DSShyLGksZSxuKSwrK2MsIWgodSkpY29udGludWU7dC5zcGxpY2UoYywwLHUpLG8ucHVzaCh7cG9zaXRpb246Yyx0eXBlOnMsdmlzaXRlZDohMSxuZXh0OmYsdGhldGE6bCh1KX0pfSsrY31yZXR1cm4gb31mdW5jdGlvbiBSdyh0LGUsbixvLHIsaSxzKXtsZXQgZj1bXSx1PWksYz1wPT5kPT5kLnBvc2l0aW9uPT09cCxsPVtdO2Rve2xldCBwPW5bdV07Zi5wdXNoKHApO2xldCBkPW8uZmluZEluZGV4KGModSkpLG09b1tkXTtpZighaChtKSl7Kyt1O2NvbnRpbnVlfWxldHt2aXNpdGVkOl8sdHlwZTpnLG5leHQ6Yn09bTtpZihtLnZpc2l0ZWQ9ITAsZz09PTApe2lmKGI9PT0wKXtsZXQgdz1vW2QtKHM/MTotMSldO2lmKHc/LnBvc2l0aW9uPT09dSsxKXcudmlzaXRlZD0hMDtlbHNleysrdTtjb250aW51ZX19aWYoIV8mJnMmJmI+MHx8aT09PXUmJiFzJiZiPDApeysrdTtjb250aW51ZX19aWYoIShzP2c+PTA6Zzw9MCkpeysrdTtjb250aW51ZX1ffHxsLnB1c2godSk7bGV0IE89ZCsocz8xOi0xKSxFPW9bT107aWYoIWgoRSkpeysrdTtjb250aW51ZX11PUUucG9zaXRpb259d2hpbGUodTxuLmxlbmd0aCYmdT49MCYmdSE9PWkmJmYubGVuZ3RoPG4ubGVuZ3RoKTt0LnNwbGljZShlLHIsZik7Zm9yKGxldCBwIG9mIGwpZT1Sdyh0LCsrZSxuLG8sMCxwLCFzKTtyZXR1cm4gZX12YXIgT24scGMsZHMsaWQsc2QsQUksYkkscmQsVEksd0ksT0ksRUksUkkseEksTUksTkksSUksdkksd3csT3csTEksREkseWUsTGY9WigoKT0+e2ZjKCk7anIoKTtVZSgpO0Z0KCk7SWUoKTtGZSgpO0l0KCk7ZnQoKTtadCgpO01mKCk7WGUoKTtZZSgpO2FuKCk7c2koKTskZSgpO3RjKCk7V3QoKTtCbigpO2ZzKCk7c3coKTtxcigpO3RuKCk7S28oKTtUdygpO2xjKCk7T249e307T24uY29tcHV0ZUhpZXJhcmNoeVBhY2tlZExlbmd0aD1mdW5jdGlvbih0LGUpe2xldCBuPTAsbz1bdF07Zm9yKDtvLmxlbmd0aD4wOyl7bGV0IHI9by5wb3AoKTtpZighaChyKSljb250aW51ZTtuKz0yO2xldCBpPXIucG9zaXRpb25zLHM9ci5ob2xlcztpZihoKGkpJiZpLmxlbmd0aD4wJiYobis9aS5sZW5ndGgqZS5wYWNrZWRMZW5ndGgpLGgocykpe2xldCBmPXMubGVuZ3RoO2ZvcihsZXQgdT0wO3U8ZjsrK3Upby5wdXNoKHNbdV0pfX1yZXR1cm4gbn07T24ucGFja1BvbHlnb25IaWVyYXJjaHk9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9W3RdO2Zvcig7ci5sZW5ndGg+MDspe2xldCBpPXIucG9wKCk7aWYoIWgoaSkpY29udGludWU7bGV0IHM9aS5wb3NpdGlvbnMsZj1pLmhvbGVzO2lmKGVbbisrXT1oKHMpP3MubGVuZ3RoOjAsZVtuKytdPWgoZik/Zi5sZW5ndGg6MCxoKHMpKXtsZXQgdT1zLmxlbmd0aDtmb3IobGV0IGM9MDtjPHU7KytjLG4rPW8ucGFja2VkTGVuZ3RoKW8ucGFjayhzW2NdLGUsbil9aWYoaChmKSl7bGV0IHU9Zi5sZW5ndGg7Zm9yKGxldCBjPTA7Yzx1OysrYylyLnB1c2goZltjXSl9fXJldHVybiBufTtPbi51bnBhY2tQb2x5Z29uSGllcmFyY2h5PWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10W2UrK10scj10W2UrK10saT1uZXcgQXJyYXkobykscz1yPjA/bmV3IEFycmF5KHIpOnZvaWQgMDtmb3IobGV0IGY9MDtmPG87KytmLGUrPW4ucGFja2VkTGVuZ3RoKWlbZl09bi51bnBhY2sodCxlKTtmb3IobGV0IGY9MDtmPHI7KytmKXNbZl09T24udW5wYWNrUG9seWdvbkhpZXJhcmNoeSh0LGUsbiksZT1zW2ZdLnN0YXJ0aW5nSW5kZXgsZGVsZXRlIHNbZl0uc3RhcnRpbmdJbmRleDtyZXR1cm57cG9zaXRpb25zOmksaG9sZXM6cyxzdGFydGluZ0luZGV4OmV9fTtwYz1uZXcgdHQ7ZHM9bmV3IGE7T24uc3ViZGl2aWRlTGluZUNvdW50PWZ1bmN0aW9uKHQsZSxuKXtsZXQgcj1hLmRpc3RhbmNlKHQsZSkvbixpPU1hdGgubWF4KDAsTWF0aC5jZWlsKE0ubG9nMihyKSkpO3JldHVybiBNYXRoLnBvdygyLGkpfTtpZD1uZXcgY3Qsc2Q9bmV3IGN0LEFJPW5ldyBjdCxiST1uZXcgYSxyZD1uZXcgWm87T24uc3ViZGl2aWRlUmh1bWJMaW5lQ291bnQ9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9dC5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhlLGlkKSxpPXQuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMobixzZCksZj1uZXcgWm8ocixpLHQpLnN1cmZhY2VEaXN0YW5jZS9vLHU9TWF0aC5tYXgoMCxNYXRoLmNlaWwoTS5sb2cyKGYpKSk7cmV0dXJuIE1hdGgucG93KDIsdSl9O09uLnN1YmRpdmlkZVRleGNvb3JkTGluZT1mdW5jdGlvbih0LGUsbixvLHIsaSl7bGV0IHM9T24uc3ViZGl2aWRlTGluZUNvdW50KG4sbyxyKSxmPXR0LmRpc3RhbmNlKHQsZSksdT1mL3MsYz1pO2MubGVuZ3RoPXMqMjtsZXQgbD0wO2ZvcihsZXQgcD0wO3A8cztwKyspe2xldCBkPUV3KHQsZSxwKnUsZik7Y1tsKytdPWRbMF0sY1tsKytdPWRbMV19cmV0dXJuIGN9O09uLnN1YmRpdmlkZUxpbmU9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9T24uc3ViZGl2aWRlTGluZUNvdW50KHQsZSxuKSxpPWEuZGlzdGFuY2UodCxlKSxzPWkvcjtoKG8pfHwobz1bXSk7bGV0IGY9bztmLmxlbmd0aD1yKjM7bGV0IHU9MDtmb3IobGV0IGM9MDtjPHI7YysrKXtsZXQgbD1nSSh0LGUsYypzLGkpO2ZbdSsrXT1sWzBdLGZbdSsrXT1sWzFdLGZbdSsrXT1sWzJdfXJldHVybiBmfTtPbi5zdWJkaXZpZGVUZXhjb29yZFJodW1iTGluZT1mdW5jdGlvbih0LGUsbixvLHIsaSxzKXtsZXQgZj1uLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG8saWQpLHU9bi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhyLHNkKTtyZC5zZXRFbmRQb2ludHMoZix1KTtsZXQgYz1yZC5zdXJmYWNlRGlzdGFuY2UvaSxsPU1hdGgubWF4KDAsTWF0aC5jZWlsKE0ubG9nMihjKSkpLHA9TWF0aC5wb3coMixsKSxkPXR0LmRpc3RhbmNlKHQsZSksbT1kL3AsXz1zO18ubGVuZ3RoPXAqMjtsZXQgZz0wO2ZvcihsZXQgYj0wO2I8cDtiKyspe2xldCBUPUV3KHQsZSxiKm0sZCk7X1tnKytdPVRbMF0sX1tnKytdPVRbMV19cmV0dXJuIF99O09uLnN1YmRpdmlkZVJodW1iTGluZT1mdW5jdGlvbih0LGUsbixvLHIpe2xldCBpPXQuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZSxpZCkscz10LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG4sc2QpLGY9bmV3IFpvKGkscyx0KSx1PWYuc3VyZmFjZURpc3RhbmNlL28sYz1NYXRoLm1heCgwLE1hdGguY2VpbChNLmxvZzIodSkpKSxsPU1hdGgucG93KDIsYykscD1mLnN1cmZhY2VEaXN0YW5jZS9sO2gocil8fChyPVtdKTtsZXQgZD1yO2QubGVuZ3RoPWwqMztsZXQgbT0wO2ZvcihsZXQgXz0wO188bDtfKyspe2xldCBnPWYuaW50ZXJwb2xhdGVVc2luZ1N1cmZhY2VEaXN0YW5jZShfKnAsQUkpLGI9dC5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihnLGJJKTtkW20rK109Yi54LGRbbSsrXT1iLnksZFttKytdPWIuen1yZXR1cm4gZH07VEk9bmV3IGEsd0k9bmV3IGEsT0k9bmV3IGEsRUk9bmV3IGE7T24uc2NhbGVUb0dlb2RldGljSGVpZ2h0RXh0cnVkZWQ9ZnVuY3Rpb24odCxlLG4sbyxyKXtvPXgobywkLmRlZmF1bHQpO2xldCBpPVRJLHM9d0ksZj1PSSx1PUVJO2lmKGgodCkmJmgodC5hdHRyaWJ1dGVzKSYmaCh0LmF0dHJpYnV0ZXMucG9zaXRpb24pKXtsZXQgYz10LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLGw9Yy5sZW5ndGgvMjtmb3IobGV0IHA9MDtwPGw7cCs9MylhLmZyb21BcnJheShjLHAsZiksby5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZixpKSx1PW8uc2NhbGVUb0dlb2RldGljU3VyZmFjZShmLHUpLHM9YS5tdWx0aXBseUJ5U2NhbGFyKGksbixzKSxzPWEuYWRkKHUscyxzKSxjW3ArbF09cy54LGNbcCsxK2xdPXMueSxjW3ArMitsXT1zLnosciYmKHU9YS5jbG9uZShmLHUpKSxzPWEubXVsdGlwbHlCeVNjYWxhcihpLGUscykscz1hLmFkZCh1LHMscyksY1twXT1zLngsY1twKzFdPXMueSxjW3ArMl09cy56fXJldHVybiB0fTtPbi5wb2x5Z29uT3V0bGluZXNGcm9tSGllcmFyY2h5PWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1bXSxyPW5ldyBMMDtyLmVucXVldWUodCk7bGV0IGkscyxmO2Zvcig7ci5sZW5ndGghPT0wOyl7bGV0IHU9ci5kZXF1ZXVlKCksYz11LnBvc2l0aW9ucztpZihlKWZvcihmPWMubGVuZ3RoLGk9MDtpPGY7aSsrKW4uc2NhbGVUb0dlb2RldGljU3VyZmFjZShjW2ldLGNbaV0pO2lmKGM9eG4oYyxhLmVxdWFsc0Vwc2lsb24sITApLGMubGVuZ3RoPDMpY29udGludWU7bGV0IGw9dS5ob2xlcz91LmhvbGVzLmxlbmd0aDowO2ZvcihpPTA7aTxsO2krKyl7bGV0IHA9dS5ob2xlc1tpXSxkPXAucG9zaXRpb25zO2lmKGUpZm9yKGY9ZC5sZW5ndGgscz0wO3M8ZjsrK3Mpbi5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGRbc10sZFtzXSk7aWYoZD14bihkLGEuZXF1YWxzRXBzaWxvbiwhMCksZC5sZW5ndGg8Myljb250aW51ZTtvLnB1c2goZCk7bGV0IG09MDtmb3IoaChwLmhvbGVzKSYmKG09cC5ob2xlcy5sZW5ndGgpLHM9MDtzPG07cysrKXIuZW5xdWV1ZShwLmhvbGVzW3NdKX1vLnB1c2goYyl9cmV0dXJuIG99O1JJPW5ldyBjdDt4ST1uZXcgY3Q7T24uc3BsaXRQb2x5Z29uc09uRXF1YXRvcj1mdW5jdGlvbih0LGUsbixvKXtoKG8pfHwobz1bXSksby5zcGxpY2UoMCwwLC4uLnQpLG8ubGVuZ3RoPXQubGVuZ3RoO2xldCByPTA7Zm9yKDtyPG8ubGVuZ3RoOyl7bGV0IGk9b1tyXSxzPWkuc2xpY2UoKTtpZihpLmxlbmd0aDwzKXtvW3JdPXMsKytyO2NvbnRpbnVlfWxldCBmPVBJKHMsZSxuKTtpZihzLmxlbmd0aD09PWkubGVuZ3RofHxmLmxlbmd0aDw9MSl7b1tyXT1zLCsrcjtjb250aW51ZX1mLnNvcnQoKGMsbCk9PmMudGhldGEtbC50aGV0YSk7bGV0IHU9c1swXS56Pj0wO3I9UncobyxyLHMsZiwxLDAsdSl9cmV0dXJuIG99O09uLnBvbHlnb25zRnJvbUhpZXJhcmNoeT1mdW5jdGlvbih0LGUsbixvLHIsaSl7bGV0IHM9W10sZj1bXSx1PW5ldyBMMDt1LmVucXVldWUodCk7bGV0IGM9aChpKTtmb3IoO3UubGVuZ3RoIT09MDspe2xldCBsPXUuZGVxdWV1ZSgpLHA9bC5wb3NpdGlvbnMsZD1sLmhvbGVzLG0sXztpZihvKWZvcihfPXAubGVuZ3RoLG09MDttPF87bSsrKXIuc2NhbGVUb0dlb2RldGljU3VyZmFjZShwW21dLHBbbV0pO2lmKGV8fChwPXhuKHAsYS5lcXVhbHNFcHNpbG9uLCEwKSkscC5sZW5ndGg8Myljb250aW51ZTtsZXQgZz1uKHApO2lmKCFoKGcpKWNvbnRpbnVlO2xldCBiPVtdLFQ9UGUuY29tcHV0ZVdpbmRpbmdPcmRlcjJEKGcpO2lmKFQ9PT1Dby5DTE9DS1dJU0UmJihnLnJldmVyc2UoKSxwPXAuc2xpY2UoKS5yZXZlcnNlKCkpLGMpe2M9ITE7bGV0IE49W3BdO2lmKE49aShOLE4pLE4ubGVuZ3RoPjEpe2ZvcihsZXQgSSBvZiBOKXUuZW5xdWV1ZShuZXcgaXcoSSxkKSk7Y29udGludWV9fWxldCBPPXAuc2xpY2UoKSxFPWgoZCk/ZC5sZW5ndGg6MCx3PVtdLEM7Zm9yKG09MDttPEU7bSsrKXtsZXQgTj1kW21dLEk9Ti5wb3NpdGlvbnM7aWYobylmb3IoXz1JLmxlbmd0aCxDPTA7QzxfOysrQylyLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UoSVtDXSxJW0NdKTtpZihlfHwoST14bihJLGEuZXF1YWxzRXBzaWxvbiwhMCkpLEkubGVuZ3RoPDMpY29udGludWU7bGV0IEQ9bihJKTtpZighaChEKSljb250aW51ZTtUPVBlLmNvbXB1dGVXaW5kaW5nT3JkZXIyRChEKSxUPT09Q28uQ0xPQ0tXSVNFJiYoRC5yZXZlcnNlKCksST1JLnNsaWNlKCkucmV2ZXJzZSgpKSx3LnB1c2goSSksYi5wdXNoKE8ubGVuZ3RoKSxPPU8uY29uY2F0KEkpLGc9Zy5jb25jYXQoRCk7bGV0IHY9MDtmb3IoaChOLmhvbGVzKSYmKHY9Ti5ob2xlcy5sZW5ndGgpLEM9MDtDPHY7QysrKXUuZW5xdWV1ZShOLmhvbGVzW0NdKX1zLnB1c2goe291dGVyUmluZzpwLGhvbGVzOnd9KSxmLnB1c2goe3Bvc2l0aW9uczpPLHBvc2l0aW9uczJEOmcsaG9sZXM6Yn0pfXJldHVybntoaWVyYXJjaHk6cyxwb2x5Z29uczpmfX07TUk9bmV3IHR0LE5JPW5ldyBhLElJPW5ldyBlZSx2ST1uZXcgUTtPbi5jb21wdXRlQm91bmRpbmdSZWN0YW5nbGU9ZnVuY3Rpb24odCxlLG4sbyxyKXtsZXQgaT1lZS5mcm9tQXhpc0FuZ2xlKHQsbyxJSSkscz1RLmZyb21RdWF0ZXJuaW9uKGksdkkpLGY9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHU9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGM9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGw9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLHA9bi5sZW5ndGg7Zm9yKGxldCBkPTA7ZDxwOysrZCl7bGV0IG09YS5jbG9uZShuW2RdLE5JKTtRLm11bHRpcGx5QnlWZWN0b3IocyxtLG0pO2xldCBfPWUobSxNSSk7aChfKSYmKGY9TWF0aC5taW4oZixfLngpLHU9TWF0aC5tYXgodSxfLngpLGM9TWF0aC5taW4oYyxfLnkpLGw9TWF0aC5tYXgobCxfLnkpKX1yZXR1cm4gci54PWYsci55PWMsci53aWR0aD11LWYsci5oZWlnaHQ9bC1jLHJ9O09uLmNyZWF0ZUdlb21ldHJ5RnJvbVBvc2l0aW9ucz1mdW5jdGlvbih0LGUsbixvLHIsaSxzKXtsZXQgZj1QZS50cmlhbmd1bGF0ZShlLnBvc2l0aW9uczJELGUuaG9sZXMpO2YubGVuZ3RoPDMmJihmPVswLDEsMl0pO2xldCB1PWUucG9zaXRpb25zLGM9aChuKSxsPWM/bi5wb3NpdGlvbnM6dm9pZCAwO2lmKHIpe2xldCBwPXUubGVuZ3RoLGQ9bmV3IEFycmF5KHAqMyksbT0wO2ZvcihsZXQgYj0wO2I8cDtiKyspe2xldCBUPXVbYl07ZFttKytdPVQueCxkW20rK109VC55LGRbbSsrXT1ULnp9bGV0IF89e2F0dHJpYnV0ZXM6e3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6ZH0pfSxpbmRpY2VzOmYscHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVN9O2MmJihfLmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOnR0LnBhY2tBcnJheShsKX0pKTtsZXQgZz1uZXcgVXQoXyk7cmV0dXJuIGkubm9ybWFsP1ZlLmNvbXB1dGVOb3JtYWwoZyk6Z31pZihzPT09X2UuR0VPREVTSUMpcmV0dXJuIFBlLmNvbXB1dGVTdWJkaXZpc2lvbih0LHUsZixsLG8pO2lmKHM9PT1fZS5SSFVNQilyZXR1cm4gUGUuY29tcHV0ZVJodW1iTGluZVN1YmRpdmlzaW9uKHQsdSxmLGwsbyl9O3d3PVtdLE93PVtdLExJPW5ldyBhLERJPW5ldyBhO09uLmNvbXB1dGVXYWxsR2VvbWV0cnk9ZnVuY3Rpb24odCxlLG4sbyxyLGkpe2xldCBzLGYsdSxjLGwscCxkLG0sXyxnPXQubGVuZ3RoLGI9MCxUPTAsTz1oKGUpLEU9Tz9lLnBvc2l0aW9uczp2b2lkIDA7aWYocilmb3IoZj1nKjMqMixzPW5ldyBBcnJheShmKjIpLE8mJihfPWcqMioyLG09bmV3IEFycmF5KF8qMikpLHU9MDt1PGc7dSsrKWM9dFt1XSxsPXRbKHUrMSklZ10sc1tiXT1zW2IrZl09Yy54LCsrYixzW2JdPXNbYitmXT1jLnksKytiLHNbYl09c1tiK2ZdPWMueiwrK2Isc1tiXT1zW2IrZl09bC54LCsrYixzW2JdPXNbYitmXT1sLnksKytiLHNbYl09c1tiK2ZdPWwueiwrK2IsTyYmKHA9RVt1XSxkPUVbKHUrMSklZ10sbVtUXT1tW1QrX109cC54LCsrVCxtW1RdPW1bVCtfXT1wLnksKytULG1bVF09bVtUK19dPWQueCwrK1QsbVtUXT1tW1QrX109ZC55LCsrVCk7ZWxzZXtsZXQgRD1NLmNob3JkTGVuZ3RoKG8sbi5tYXhpbXVtUmFkaXVzKSx2PTA7aWYoaT09PV9lLkdFT0RFU0lDKWZvcih1PTA7dTxnO3UrKyl2Kz1Pbi5zdWJkaXZpZGVMaW5lQ291bnQodFt1XSx0Wyh1KzEpJWddLEQpO2Vsc2UgaWYoaT09PV9lLlJIVU1CKWZvcih1PTA7dTxnO3UrKyl2Kz1Pbi5zdWJkaXZpZGVSaHVtYkxpbmVDb3VudChuLHRbdV0sdFsodSsxKSVnXSxEKTtmb3IoZj0oditnKSozLHM9bmV3IEFycmF5KGYqMiksTyYmKF89KHYrZykqMixtPW5ldyBBcnJheShfKjIpKSx1PTA7dTxnO3UrKyl7Yz10W3VdLGw9dFsodSsxKSVnXTtsZXQgTCxVO08mJihwPUVbdV0sZD1FWyh1KzEpJWddKSxpPT09X2UuR0VPREVTSUM/KEw9T24uc3ViZGl2aWRlTGluZShjLGwsRCxPdyksTyYmKFU9T24uc3ViZGl2aWRlVGV4Y29vcmRMaW5lKHAsZCxjLGwsRCx3dykpKTppPT09X2UuUkhVTUImJihMPU9uLnN1YmRpdmlkZVJodW1iTGluZShuLGMsbCxELE93KSxPJiYoVT1Pbi5zdWJkaXZpZGVUZXhjb29yZFJodW1iTGluZShwLGQsbixjLGwsRCx3dykpKTtsZXQgQT1MLmxlbmd0aDtmb3IobGV0IFM9MDtTPEE7KytTLCsrYilzW2JdPUxbU10sc1tiK2ZdPUxbU107aWYoc1tiXT1sLngsc1tiK2ZdPWwueCwrK2Isc1tiXT1sLnksc1tiK2ZdPWwueSwrK2Isc1tiXT1sLnosc1tiK2ZdPWwueiwrK2IsTyl7bGV0IFM9VS5sZW5ndGg7Zm9yKGxldCBQPTA7UDxTOysrUCwrK1QpbVtUXT1VW1BdLG1bVCtfXT1VW1BdO21bVF09ZC54LG1bVCtfXT1kLngsKytULG1bVF09ZC55LG1bVCtfXT1kLnksKytUfX19Zz1zLmxlbmd0aDtsZXQgdz1EdC5jcmVhdGVUeXBlZEFycmF5KGcvMyxnLXQubGVuZ3RoKjYpLEM9MDtmb3IoZy89Nix1PTA7dTxnO3UrKyl7bGV0IEQ9dSx2PUQrMSxMPUQrZyxVPUwrMTtjPWEuZnJvbUFycmF5KHMsRCozLExJKSxsPWEuZnJvbUFycmF5KHMsdiozLERJKSwhYS5lcXVhbHNFcHNpbG9uKGMsbCxNLkVQU0lMT04xMCxNLkVQU0lMT04xMCkmJih3W0MrK109RCx3W0MrK109TCx3W0MrK109dix3W0MrK109dix3W0MrK109TCx3W0MrK109VSl9bGV0IE49e2F0dHJpYnV0ZXM6bmV3IGllKHtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnN9KX0pLGluZGljZXM6dyxwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFU307cmV0dXJuIE8mJihOLmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOm19KSksbmV3IFV0KE4pfTt5ZT1Pbn0pO2Z1bmN0aW9uIFhJKHQsZSxuLG8scixpLHMsZix1KXtsZXQgYz10LnBvc2l0aW9ucyxsPVBlLnRyaWFuZ3VsYXRlKHQucG9zaXRpb25zMkQsdC5ob2xlcyk7bC5sZW5ndGg8MyYmKGw9WzAsMSwyXSk7bGV0IHA9RHQuY3JlYXRlVHlwZWRBcnJheShjLmxlbmd0aCxsLmxlbmd0aCk7cC5zZXQobCk7bGV0IGQ9cUk7aWYobyE9PTApe2xldCBVPWVlLmZyb21BeGlzQW5nbGUocyxvLFN3KTtpZihkPVEuZnJvbVF1YXRlcm5pb24oVSxkKSxlLnRhbmdlbnR8fGUuYml0YW5nZW50KXtVPWVlLmZyb21BeGlzQW5nbGUocywtbyxTdyk7bGV0IEE9US5mcm9tUXVhdGVybmlvbihVLEtJKTtmPWEubm9ybWFsaXplKFEubXVsdGlwbHlCeVZlY3RvcihBLGYsZiksZiksZS5iaXRhbmdlbnQmJih1PWEubm9ybWFsaXplKGEuY3Jvc3MocyxmLHUpLHUpKX19ZWxzZSBkPVEuY2xvbmUoUS5JREVOVElUWSxkKTtsZXQgbT1WSTtlLnN0JiYobS54PW4ueCxtLnk9bi55KTtsZXQgXz1jLmxlbmd0aCxnPV8qMyxiPW5ldyBGbG9hdDY0QXJyYXkoZyksVD1lLm5vcm1hbD9uZXcgRmxvYXQzMkFycmF5KGcpOnZvaWQgMCxPPWUudGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KGcpOnZvaWQgMCxFPWUuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkoZyk6dm9pZCAwLHc9ZS5zdD9uZXcgRmxvYXQzMkFycmF5KF8qMik6dm9pZCAwLEM9MCxOPTAsST0wLEQ9MCx2PTA7Zm9yKGxldCBVPTA7VTxfO1UrKyl7bGV0IEE9Y1tVXTtpZihiW0MrK109QS54LGJbQysrXT1BLnksYltDKytdPUEueixlLnN0KWlmKGgocikmJnIucG9zaXRpb25zLmxlbmd0aD09PV8pd1t2KytdPXIucG9zaXRpb25zW1VdLngsd1t2KytdPXIucG9zaXRpb25zW1VdLnk7ZWxzZXtsZXQgUz1RLm11bHRpcGx5QnlWZWN0b3IoZCxBLEZJKSxQPWkoUyxVSSk7dHQuc3VidHJhY3QoUCxtLFApO2xldCBGPU0uY2xhbXAoUC54L24ud2lkdGgsMCwxKSxqPU0uY2xhbXAoUC55L24uaGVpZ2h0LDAsMSk7d1t2KytdPUYsd1t2KytdPWp9ZS5ub3JtYWwmJihUW04rK109cy54LFRbTisrXT1zLnksVFtOKytdPXMueiksZS50YW5nZW50JiYoT1tEKytdPWYueCxPW0QrK109Zi55LE9bRCsrXT1mLnopLGUuYml0YW5nZW50JiYoRVtJKytdPXUueCxFW0krK109dS55LEVbSSsrXT11LnopfWxldCBMPW5ldyBpZTtyZXR1cm4gZS5wb3NpdGlvbiYmKEwucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpifSkpLGUubm9ybWFsJiYoTC5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOlR9KSksZS50YW5nZW50JiYoTC50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpPfSkpLGUuYml0YW5nZW50JiYoTC5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkV9KSksZS5zdCYmKEwuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOnd9KSksbmV3IFV0KHthdHRyaWJ1dGVzOkwsaW5kaWNlczpwLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfSl9ZnVuY3Rpb24gZGModCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucG9seWdvbkhpZXJhcmNoeSxuPXQudGV4dHVyZUNvb3JkaW5hdGVzO3kuZGVmaW5lZCgib3B0aW9ucy5wb2x5Z29uSGllcmFyY2h5IixlKTtsZXQgbz14KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpO3RoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShvKSx0aGlzLl9wb2x5Z29uSGllcmFyY2h5PWUsdGhpcy5fc3RSb3RhdGlvbj14KHQuc3RSb3RhdGlvbiwwKSx0aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZSh4KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkpLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUNvcGxhbmFyUG9seWdvbkdlb21ldHJ5Iix0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZXM9bix0aGlzLnBhY2tlZExlbmd0aD15ZS5jb21wdXRlSGllcmFyY2h5UGFja2VkTGVuZ3RoKGUsYSkrZHQucGFja2VkTGVuZ3RoKyQucGFja2VkTGVuZ3RoKyhoKG4pP3llLmNvbXB1dGVIaWVyYXJjaHlQYWNrZWRMZW5ndGgobix0dCk6MSkrMn12YXIgRkksQkksVUksVkksa0ksR0ksekksRGYsakksSEksU3cscUksS0ksV0ksWUksJEksWkksRDAsQ3c9WigoKT0+e2pyKCk7Q2YoKTt2ZSgpO1VlKCk7RnQoKTtYdCgpO0ZlKCk7QzAoKTtJdCgpO2Z0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtzYygpO3NpKCk7JGUoKTtXdCgpO0JuKCk7TGYoKTtxcigpO3RuKCk7S28oKTtSbygpO0ZJPW5ldyBhLEJJPW5ldyBIcixVST1uZXcgdHQsVkk9bmV3IHR0LGtJPW5ldyBhLEdJPW5ldyBhLHpJPW5ldyBhLERmPW5ldyBhLGpJPW5ldyBhLEhJPW5ldyBhLFN3PW5ldyBlZSxxST1uZXcgUSxLST1uZXcgUSxXST1uZXcgYTtkYy5mcm9tUG9zaXRpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIix0LnBvc2l0aW9ucyk7bGV0IGU9e3BvbHlnb25IaWVyYXJjaHk6e3Bvc2l0aW9uczp0LnBvc2l0aW9uc30sdmVydGV4Rm9ybWF0OnQudmVydGV4Rm9ybWF0LHN0Um90YXRpb246dC5zdFJvdGF0aW9uLGVsbGlwc29pZDp0LmVsbGlwc29pZCx0ZXh0dXJlQ29vcmRpbmF0ZXM6dC50ZXh0dXJlQ29vcmRpbmF0ZXN9O3JldHVybiBuZXcgZGMoZSl9O2RjLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxuPXllLnBhY2tQb2x5Z29uSGllcmFyY2h5KHQuX3BvbHlnb25IaWVyYXJjaHksZSxuLGEpLCQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW24rK109dC5fc3RSb3RhdGlvbixoKHQuX3RleHR1cmVDb29yZGluYXRlcyk/bj15ZS5wYWNrUG9seWdvbkhpZXJhcmNoeSh0Ll90ZXh0dXJlQ29vcmRpbmF0ZXMsZSxuLHR0KTplW24rK109LTEsZVtuKytdPXQucGFja2VkTGVuZ3RoLGV9O1lJPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksJEk9bmV3IGR0LFpJPXtwb2x5Z29uSGllcmFyY2h5Ont9fTtkYy51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXllLnVucGFja1BvbHlnb25IaWVyYXJjaHkodCxlLGEpO2U9by5zdGFydGluZ0luZGV4LGRlbGV0ZSBvLnN0YXJ0aW5nSW5kZXg7bGV0IHI9JC51bnBhY2sodCxlLFlJKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT1kdC51bnBhY2sodCxlLCRJKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IHM9dFtlKytdLGY9dFtlXT09PS0xP3ZvaWQgMDp5ZS51bnBhY2tQb2x5Z29uSGllcmFyY2h5KHQsZSx0dCk7aChmKT8oZT1mLnN0YXJ0aW5nSW5kZXgsZGVsZXRlIGYuc3RhcnRpbmdJbmRleCk6ZSsrO2xldCB1PXRbZSsrXTtyZXR1cm4gaChuKXx8KG49bmV3IGRjKFpJKSksbi5fcG9seWdvbkhpZXJhcmNoeT1vLG4uX2VsbGlwc29pZD0kLmNsb25lKHIsbi5fZWxsaXBzb2lkKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoaSxuLl92ZXJ0ZXhGb3JtYXQpLG4uX3N0Um90YXRpb249cyxuLl90ZXh0dXJlQ29vcmRpbmF0ZXM9ZixuLnBhY2tlZExlbmd0aD11LG59O2RjLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3ZlcnRleEZvcm1hdCxuPXQuX3BvbHlnb25IaWVyYXJjaHksbz10Ll9zdFJvdGF0aW9uLHI9dC5fdGV4dHVyZUNvb3JkaW5hdGVzLGk9aChyKSxzPW4ucG9zaXRpb25zO2lmKHM9eG4ocyxhLmVxdWFsc0Vwc2lsb24sITApLHMubGVuZ3RoPDMpcmV0dXJuO2xldCBmPWtJLHU9R0ksYz16SSxsPWpJLHA9SEk7aWYoIWRhLmNvbXB1dGVQcm9qZWN0VG8yREFyZ3VtZW50cyhzLERmLGwscCkpcmV0dXJuO2lmKGY9YS5jcm9zcyhsLHAsZiksZj1hLm5vcm1hbGl6ZShmLGYpLCFhLmVxdWFsc0Vwc2lsb24oRGYsYS5aRVJPLE0uRVBTSUxPTjYpKXtsZXQgdj10Ll9lbGxpcHNvaWQuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKERmLFdJKTthLmRvdChmLHYpPDAmJihmPWEubmVnYXRlKGYsZiksbD1hLm5lZ2F0ZShsLGwpKX1sZXQgbT1kYS5jcmVhdGVQcm9qZWN0UG9pbnRzVG8yREZ1bmN0aW9uKERmLGwscCksXz1kYS5jcmVhdGVQcm9qZWN0UG9pbnRUbzJERnVuY3Rpb24oRGYsbCxwKTtlLnRhbmdlbnQmJih1PWEuY2xvbmUobCx1KSksZS5iaXRhbmdlbnQmJihjPWEuY2xvbmUocCxjKSk7bGV0IGc9eWUucG9seWdvbnNGcm9tSGllcmFyY2h5KG4saSxtLCExKSxiPWcuaGllcmFyY2h5LFQ9Zy5wb2x5Z29ucyxPPWZ1bmN0aW9uKHYpe3JldHVybiB2fSxFPWk/eWUucG9seWdvbnNGcm9tSGllcmFyY2h5KHIsITAsTywhMSkucG9seWdvbnM6dm9pZCAwO2lmKGIubGVuZ3RoPT09MClyZXR1cm47cz1iWzBdLm91dGVyUmluZztsZXQgdz1BdC5mcm9tUG9pbnRzKHMpLEM9eWUuY29tcHV0ZUJvdW5kaW5nUmVjdGFuZ2xlKGYsXyxzLG8sQkkpLE49W107Zm9yKGxldCB2PTA7djxULmxlbmd0aDt2Kyspe2xldCBMPW5ldyBjbyh7Z2VvbWV0cnk6WEkoVFt2XSxlLEMsbyxpP0Vbdl06dm9pZCAwLF8sZix1LGMpfSk7Ti5wdXNoKEwpfWxldCBJPVZlLmNvbWJpbmVJbnN0YW5jZXMoTilbMF07SS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1uZXcgRmxvYXQ2NEFycmF5KEkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMpLEkuaW5kaWNlcz1EdC5jcmVhdGVUeXBlZEFycmF5KEkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMsSS5pbmRpY2VzKTtsZXQgRD1JLmF0dHJpYnV0ZXM7cmV0dXJuIGUucG9zaXRpb258fGRlbGV0ZSBELnBvc2l0aW9uLG5ldyBVdCh7YXR0cmlidXRlczpELGluZGljZXM6SS5pbmRpY2VzLHByaW1pdGl2ZVR5cGU6SS5wcmltaXRpdmVUeXBlLGJvdW5kaW5nU3BoZXJlOnd9KX07RDA9ZGN9KTt2YXIgRjA9e307ZGUoRjAse2RlZmF1bHQ6KCk9PkpJfSk7ZnVuY3Rpb24gUUkodCxlKXtyZXR1cm4gaChlKSYmKHQ9RDAudW5wYWNrKHQsZSkpLEQwLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBKSSxCMD1aKCgpPT57Q3coKTtmdCgpO0pJPVFJfSk7ZnVuY3Rpb24gdHYodCl7bGV0IGU9dC5sZW5ndGgsbj1uZXcgRmxvYXQ2NEFycmF5KGUqMyksbz1EdC5jcmVhdGVUeXBlZEFycmF5KGUsZSoyKSxyPTAsaT0wO2ZvcihsZXQgZj0wO2Y8ZTtmKyspe2xldCB1PXRbZl07bltyKytdPXUueCxuW3IrK109dS55LG5bcisrXT11Lnosb1tpKytdPWYsb1tpKytdPShmKzEpJWV9bGV0IHM9bmV3IGllKHtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm59KX0pO3JldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6cyxpbmRpY2VzOm8scHJpbWl0aXZlVHlwZTpCdC5MSU5FU30pfWZ1bmN0aW9uIG1jKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvbHlnb25IaWVyYXJjaHk7eS5kZWZpbmVkKCJvcHRpb25zLnBvbHlnb25IaWVyYXJjaHkiLGUpLHRoaXMuX3BvbHlnb25IaWVyYXJjaHk9ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDb3BsYW5hclBvbHlnb25PdXRsaW5lR2VvbWV0cnkiLHRoaXMucGFja2VkTGVuZ3RoPXllLmNvbXB1dGVIaWVyYXJjaHlQYWNrZWRMZW5ndGgoZSxhKSsxfXZhciBldixVMCx4dz1aKCgpPT57anIoKTt2ZSgpO0Z0KCk7WHQoKTtGZSgpO0MwKCk7SXQoKTtmdCgpO1hlKCk7WWUoKTthbigpO3NjKCk7c2koKTskZSgpO0xmKCk7dG4oKTttYy5mcm9tUG9zaXRpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIix0LnBvc2l0aW9ucyk7bGV0IGU9e3BvbHlnb25IaWVyYXJjaHk6e3Bvc2l0aW9uczp0LnBvc2l0aW9uc319O3JldHVybiBuZXcgbWMoZSl9O21jLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxuPXllLnBhY2tQb2x5Z29uSGllcmFyY2h5KHQuX3BvbHlnb25IaWVyYXJjaHksZSxuLGEpLGVbbl09dC5wYWNrZWRMZW5ndGgsZX07ZXY9e3BvbHlnb25IaWVyYXJjaHk6e319O21jLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89eWUudW5wYWNrUG9seWdvbkhpZXJhcmNoeSh0LGUsYSk7ZT1vLnN0YXJ0aW5nSW5kZXgsZGVsZXRlIG8uc3RhcnRpbmdJbmRleDtsZXQgcj10W2VdO3JldHVybiBoKG4pfHwobj1uZXcgbWMoZXYpKSxuLl9wb2x5Z29uSGllcmFyY2h5PW8sbi5wYWNrZWRMZW5ndGg9cixufTttYy5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9wb2x5Z29uSGllcmFyY2h5LG49ZS5wb3NpdGlvbnM7aWYobj14bihuLGEuZXF1YWxzRXBzaWxvbiwhMCksbi5sZW5ndGg8M3x8IWRhLnZhbGlkT3V0bGluZShuKSlyZXR1cm47bGV0IHI9eWUucG9seWdvbk91dGxpbmVzRnJvbUhpZXJhcmNoeShlLCExKTtpZihyLmxlbmd0aD09PTApcmV0dXJuO2xldCBpPVtdO2ZvcihsZXQgdT0wO3U8ci5sZW5ndGg7dSsrKXtsZXQgYz1uZXcgY28oe2dlb21ldHJ5OnR2KHJbdV0pfSk7aS5wdXNoKGMpfWxldCBzPVZlLmNvbWJpbmVJbnN0YW5jZXMoaSlbMF0sZj1BdC5mcm9tUG9pbnRzKGUucG9zaXRpb25zKTtyZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOnMuYXR0cmlidXRlcyxpbmRpY2VzOnMuaW5kaWNlcyxwcmltaXRpdmVUeXBlOnMucHJpbWl0aXZlVHlwZSxib3VuZGluZ1NwaGVyZTpmfSl9O1UwPW1jfSk7dmFyIFYwPXt9O2RlKFYwLHtkZWZhdWx0OigpPT5vdn0pO2Z1bmN0aW9uIG52KHQsZSl7cmV0dXJuIGgoZSkmJih0PVUwLnVucGFjayh0LGUpKSx0Ll9lbGxpcHNvaWQ9JC5jbG9uZSh0Ll9lbGxpcHNvaWQpLFUwLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBvdixrMD1aKCgpPT57eHcoKTtmdCgpO1p0KCk7b3Y9bnZ9KTt2YXIgcnYsZm4saGM9WigoKT0+e3J2PXtST1VOREVEOjAsTUlURVJFRDoxLEJFVkVMRUQ6Mn0sZm49T2JqZWN0LmZyZWV6ZShydil9KTtmdW5jdGlvbiBpdih0KXtsZXQgZT10Ll91U3F1YXJlZCxuPXQuX2VsbGlwc29pZC5tYXhpbXVtUmFkaXVzLG89dC5fZWxsaXBzb2lkLm1pbmltdW1SYWRpdXMscj0obi1vKS9uLGk9TWF0aC5jb3ModC5fc3RhcnRIZWFkaW5nKSxzPU1hdGguc2luKHQuX3N0YXJ0SGVhZGluZyksZj0oMS1yKSpNYXRoLnRhbih0Ll9zdGFydC5sYXRpdHVkZSksdT0xL01hdGguc3FydCgxK2YqZiksYz11KmYsbD1NYXRoLmF0YW4yKGYsaSkscD11KnMsZD1wKnAsbT0xLWQsXz1NYXRoLnNxcnQobSksZz1lLzQsYj1nKmcsVD1iKmcsTz1iKmIsRT0xK2ctMypiLzQrNSpULzQtMTc1Kk8vNjQsdz0xLWcrMTUqYi84LTM1KlQvOCxDPTEtMypnKzM1KmIvNCxOPTEtNSpnLEk9RSpsLXcqTWF0aC5zaW4oMipsKSpnLzItQypNYXRoLnNpbig0KmwpKmIvMTYtTipNYXRoLnNpbig2KmwpKlQvNDgtTWF0aC5zaW4oOCpsKSo1Kk8vNTEyLEQ9dC5fY29uc3RhbnRzO0QuYT1uLEQuYj1vLEQuZj1yLEQuY29zaW5lSGVhZGluZz1pLEQuc2luZUhlYWRpbmc9cyxELnRhblU9ZixELmNvc2luZVU9dSxELnNpbmVVPWMsRC5zaWdtYT1sLEQuc2luZUFscGhhPXAsRC5zaW5lU3F1YXJlZEFscGhhPWQsRC5jb3NpbmVTcXVhcmVkQWxwaGE9bSxELmNvc2luZUFscGhhPV8sRC51Mk92ZXI0PWcsRC51NE92ZXIxNj1iLEQudTZPdmVyNjQ9VCxELnU4T3ZlcjI1Nj1PLEQuYTA9RSxELmExPXcsRC5hMj1DLEQuYTM9TixELmRpc3RhbmNlUmF0aW89SX1mdW5jdGlvbiBzdih0LGUpe3JldHVybiB0KmUqKDQrdCooNC0zKmUpKS8xNn1mdW5jdGlvbiBQdyh0LGUsbixvLHIsaSxzKXtsZXQgZj1zdih0LG4pO3JldHVybigxLWYpKnQqZSoobytmKnIqKHMrZippKigyKnMqcy0xKSkpfWZ1bmN0aW9uIGN2KHQsZSxuLG8scixpLHMpe2xldCBmPShlLW4pL2UsdT1pLW8sYz1NYXRoLmF0YW4oKDEtZikqTWF0aC50YW4ocikpLGw9TWF0aC5hdGFuKCgxLWYpKk1hdGgudGFuKHMpKSxwPU1hdGguY29zKGMpLGQ9TWF0aC5zaW4oYyksbT1NYXRoLmNvcyhsKSxfPU1hdGguc2luKGwpLGc9cCptLGI9cCpfLFQ9ZCpfLE89ZCptLEU9dSx3PU0uVFdPX1BJLEM9TWF0aC5jb3MoRSksTj1NYXRoLnNpbihFKSxJLEQsdixMLFU7ZG97Qz1NYXRoLmNvcyhFKSxOPU1hdGguc2luKEUpO2xldCBYPWItTypDO3Y9TWF0aC5zcXJ0KG0qbSpOKk4rWCpYKSxEPVQrZypDLEk9TWF0aC5hdGFuMih2LEQpO2xldCBSO3Y9PT0wPyhSPTAsTD0xKTooUj1nKk4vdixMPTEtUipSKSx3PUUsVT1ELTIqVC9MLGlzRmluaXRlKFUpfHwoVT0wKSxFPXUrUHcoZixSLEwsSSx2LEQsVSl9d2hpbGUoTWF0aC5hYnMoRS13KT5NLkVQU0lMT04xMik7bGV0IEE9TCooZSplLW4qbikvKG4qbiksUz0xK0EqKDQwOTYrQSooQSooMzIwLTE3NSpBKS03NjgpKS8xNjM4NCxQPUEqKDI1NitBKihBKig3NC00NypBKS0xMjgpKS8xMDI0LEY9VSpVLGo9UCp2KihVK1AqKEQqKDIqRi0xKS1QKlUqKDQqdip2LTMpKig0KkYtMykvNikvNCksSD1uKlMqKEktaiksaz1NYXRoLmF0YW4yKG0qTixiLU8qQyksSz1NYXRoLmF0YW4yKHAqTixiKkMtTyk7dC5fZGlzdGFuY2U9SCx0Ll9zdGFydEhlYWRpbmc9ayx0Ll9lbmRIZWFkaW5nPUssdC5fdVNxdWFyZWQ9QX1mdW5jdGlvbiBNdyh0LGUsbixvKXtsZXQgcj1hLm5vcm1hbGl6ZShvLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKGUsRzApLGF2KSxpPWEubm9ybWFsaXplKG8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4obixHMCksRzApO3kudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJ2YWx1ZSIsTWF0aC5hYnMoTWF0aC5hYnMoYS5hbmdsZUJldHdlZW4ocixpKSktTWF0aC5QSSksLjAxMjUpLGN2KHQsby5tYXhpbXVtUmFkaXVzLG8ubWluaW11bVJhZGl1cyxlLmxvbmdpdHVkZSxlLmxhdGl0dWRlLG4ubG9uZ2l0dWRlLG4ubGF0aXR1ZGUpLHQuX3N0YXJ0PWN0LmNsb25lKGUsdC5fc3RhcnQpLHQuX2VuZD1jdC5jbG9uZShuLHQuX2VuZCksdC5fc3RhcnQuaGVpZ2h0PTAsdC5fZW5kLmhlaWdodD0wLGl2KHQpfWZ1bmN0aW9uIEZmKHQsZSxuKXtsZXQgbz14KG4sJC5kZWZhdWx0KTt0aGlzLl9lbGxpcHNvaWQ9byx0aGlzLl9zdGFydD1uZXcgY3QsdGhpcy5fZW5kPW5ldyBjdCx0aGlzLl9jb25zdGFudHM9e30sdGhpcy5fc3RhcnRIZWFkaW5nPXZvaWQgMCx0aGlzLl9lbmRIZWFkaW5nPXZvaWQgMCx0aGlzLl9kaXN0YW5jZT12b2lkIDAsdGhpcy5fdVNxdWFyZWQ9dm9pZCAwLGgodCkmJmgoZSkmJk13KHRoaXMsdCxlLG8pfXZhciBhdixHMCxjZCx6MD1aKCgpPT57RnQoKTtJZSgpO1h0KCk7SXQoKTtmdCgpO1p0KCk7V3QoKTthdj1uZXcgYSxHMD1uZXcgYTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhGZi5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19LHN1cmZhY2VEaXN0YW5jZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHkuZGVmaW5lZCgiZGlzdGFuY2UiLHRoaXMuX2Rpc3RhbmNlKSx0aGlzLl9kaXN0YW5jZX19LHN0YXJ0OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fc3RhcnR9fSxlbmQ6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9lbmR9fSxzdGFydEhlYWRpbmc6e2dldDpmdW5jdGlvbigpe3JldHVybiB5LmRlZmluZWQoImRpc3RhbmNlIix0aGlzLl9kaXN0YW5jZSksdGhpcy5fc3RhcnRIZWFkaW5nfX0sZW5kSGVhZGluZzp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHkuZGVmaW5lZCgiZGlzdGFuY2UiLHRoaXMuX2Rpc3RhbmNlKSx0aGlzLl9lbmRIZWFkaW5nfX19KTtGZi5wcm90b3R5cGUuc2V0RW5kUG9pbnRzPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJzdGFydCIsdCkseS5kZWZpbmVkKCJlbmQiLGUpLE13KHRoaXMsdCxlLHRoaXMuX2VsbGlwc29pZCl9O0ZmLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nRnJhY3Rpb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcy5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlKHRoaXMuX2Rpc3RhbmNlKnQsZSl9O0ZmLnByb3RvdHlwZS5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlPWZ1bmN0aW9uKHQsZSl7eS5kZWZpbmVkKCJkaXN0YW5jZSIsdGhpcy5fZGlzdGFuY2UpO2xldCBuPXRoaXMuX2NvbnN0YW50cyxvPW4uZGlzdGFuY2VSYXRpbyt0L24uYixyPU1hdGguY29zKDIqbyksaT1NYXRoLmNvcyg0Km8pLHM9TWF0aC5jb3MoNipvKSxmPU1hdGguc2luKDIqbyksdT1NYXRoLnNpbig0Km8pLGM9TWF0aC5zaW4oNipvKSxsPU1hdGguc2luKDgqbykscD1vKm8sZD1vKnAsbT1uLnU4T3ZlcjI1NixfPW4udTJPdmVyNCxnPW4udTZPdmVyNjQsYj1uLnU0T3ZlcjE2LFQ9MipkKm0qci8zK28qKDEtXys3KmIvNC0xNSpnLzQrNTc5Km0vNjQtKGItMTUqZy80KzE4NyptLzE2KSpyLSg1KmcvNC0xMTUqbS8xNikqaS0yOSptKnMvMTYpKyhfLzItYis3MSpnLzMyLTg1Km0vMTYpKmYrKDUqYi8xNi01KmcvNCszODMqbS85NikqdS1wKigoZy0xMSptLzIpKmYrNSptKnUvMikrKDI5KmcvOTYtMjkqbS8xNikqYys1MzkqbSpsLzE1MzYsTz1NYXRoLmFzaW4oTWF0aC5zaW4oVCkqbi5jb3NpbmVBbHBoYSksRT1NYXRoLmF0YW4obi5hL24uYipNYXRoLnRhbihPKSk7VD1ULW4uc2lnbWE7bGV0IHc9TWF0aC5jb3MoMipuLnNpZ21hK1QpLEM9TWF0aC5zaW4oVCksTj1NYXRoLmNvcyhUKSxJPW4uY29zaW5lVSpOLEQ9bi5zaW5lVSpDLEw9TWF0aC5hdGFuMihDKm4uc2luZUhlYWRpbmcsSS1EKm4uY29zaW5lSGVhZGluZyktUHcobi5mLG4uc2luZUFscGhhLG4uY29zaW5lU3F1YXJlZEFscGhhLFQsQyxOLHcpO3JldHVybiBoKGUpPyhlLmxvbmdpdHVkZT10aGlzLl9zdGFydC5sb25naXR1ZGUrTCxlLmxhdGl0dWRlPUUsZS5oZWlnaHQ9MCxlKTpuZXcgY3QodGhpcy5fc3RhcnQubG9uZ2l0dWRlK0wsRSwwKX07Y2Q9RmZ9KTtmdW5jdGlvbiBMdyh0LGUsbil7bGV0IG89SDA7by5sZW5ndGg9dDtsZXQgcjtpZihlPT09bil7Zm9yKHI9MDtyPHQ7cisrKW9bcl09ZTtyZXR1cm4gb31sZXQgcz0obi1lKS90O2ZvcihyPTA7cjx0O3IrKyl7bGV0IGY9ZStyKnM7b1tyXT1mfXJldHVybiBvfWZ1bmN0aW9uIHl2KHQsZSxuLG8scixpLHMsZil7bGV0IHU9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKHQscTApLGM9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGUsX3YpLGw9Rm8ubnVtYmVyT2ZQb2ludHModCxlLG4pLHA9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyh1LGZkKSxkPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoYyxhZCksbT1MdyhsLHIsaSk7ajAuc2V0RW5kUG9pbnRzKHAsZCk7bGV0IF89ajAuc3VyZmFjZURpc3RhbmNlL2wsZz1mO3AuaGVpZ2h0PXI7bGV0IGI9by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihwLG1zKTthLnBhY2soYixzLGcpLGcrPTM7Zm9yKGxldCBUPTE7VDxsO1QrKyl7bGV0IE89ajAuaW50ZXJwb2xhdGVVc2luZ1N1cmZhY2VEaXN0YW5jZShUKl8sYWQpO08uaGVpZ2h0PW1bVF0sYj1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKE8sbXMpLGEucGFjayhiLHMsZyksZys9M31yZXR1cm4gZ31mdW5jdGlvbiBndih0LGUsbixvLHIsaSxzLGYpe2xldCB1PW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWModCxmZCksYz1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGUsYWQpLGw9Rm8ubnVtYmVyT2ZQb2ludHNSaHVtYkxpbmUodSxjLG4pO3UuaGVpZ2h0PTAsYy5oZWlnaHQ9MDtsZXQgcD1MdyhsLHIsaSk7QmYuZWxsaXBzb2lkLmVxdWFscyhvKXx8KEJmPW5ldyBabyh2b2lkIDAsdm9pZCAwLG8pKSxCZi5zZXRFbmRQb2ludHModSxjKTtsZXQgZD1CZi5zdXJmYWNlRGlzdGFuY2UvbCxtPWY7dS5oZWlnaHQ9cjtsZXQgXz1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKHUsbXMpO2EucGFjayhfLHMsbSksbSs9Mztmb3IobGV0IGc9MTtnPGw7ZysrKXtsZXQgYj1CZi5pbnRlcnBvbGF0ZVVzaW5nU3VyZmFjZURpc3RhbmNlKGcqZCxhZCk7Yi5oZWlnaHQ9cFtnXSxfPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oYixtcyksYS5wYWNrKF8scyxtKSxtKz0zfXJldHVybiBtfXZhciBGbyxmdix1dixsdixOdyxwdixJdyxkdixtdixodixIMCxmZCxhZCxtcyxxMCxfdixqMCxCZix2dyxBdixBbix5YT1aKCgpPT57RnQoKTtJZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7ejAoKTtNZigpO3RjKCk7V3QoKTtVbigpO2ZzKCk7Rm89e307Rm8ubnVtYmVyT2ZQb2ludHM9ZnVuY3Rpb24odCxlLG4pe2xldCBvPWEuZGlzdGFuY2UodCxlKTtyZXR1cm4gTWF0aC5jZWlsKG8vbil9O0ZvLm51bWJlck9mUG9pbnRzUmh1bWJMaW5lPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1NYXRoLnBvdyh0LmxvbmdpdHVkZS1lLmxvbmdpdHVkZSwyKStNYXRoLnBvdyh0LmxhdGl0dWRlLWUubGF0aXR1ZGUsMik7cmV0dXJuIE1hdGgubWF4KDEsTWF0aC5jZWlsKE1hdGguc3FydChvLyhuKm4pKSkpfTtmdj1uZXcgY3Q7Rm8uZXh0cmFjdEhlaWdodHM9ZnVuY3Rpb24odCxlKXtsZXQgbj10Lmxlbmd0aCxvPW5ldyBBcnJheShuKTtmb3IobGV0IHI9MDtyPG47cisrKXtsZXQgaT10W3JdO29bcl09ZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhpLGZ2KS5oZWlnaHR9cmV0dXJuIG99O3V2PW5ldyBzdCxsdj1uZXcgYSxOdz1uZXcgYSxwdj1uZXcgb24oYS5VTklUX1gsMCksSXc9bmV3IGEsZHY9bmV3IG9uKGEuVU5JVF9YLDApLG12PW5ldyBhLGh2PW5ldyBhLEgwPVtdO2ZkPW5ldyBjdCxhZD1uZXcgY3QsbXM9bmV3IGEscTA9bmV3IGEsX3Y9bmV3IGEsajA9bmV3IGNkLEJmPW5ldyBabztGby53cmFwTG9uZ2l0dWRlPWZ1bmN0aW9uKHQsZSl7bGV0IG49W10sbz1bXTtpZihoKHQpJiZ0Lmxlbmd0aD4wKXtlPXgoZSxzdC5JREVOVElUWSk7bGV0IHI9c3QuaW52ZXJzZVRyYW5zZm9ybWF0aW9uKGUsdXYpLGk9c3QubXVsdGlwbHlCeVBvaW50KHIsYS5aRVJPLGx2KSxzPWEubm9ybWFsaXplKHN0Lm11bHRpcGx5QnlQb2ludEFzVmVjdG9yKHIsYS5VTklUX1ksTncpLE53KSxmPW9uLmZyb21Qb2ludE5vcm1hbChpLHMscHYpLHU9YS5ub3JtYWxpemUoc3QubXVsdGlwbHlCeVBvaW50QXNWZWN0b3IocixhLlVOSVRfWCxJdyksSXcpLGM9b24uZnJvbVBvaW50Tm9ybWFsKGksdSxkdiksbD0xO24ucHVzaChhLmNsb25lKHRbMF0pKTtsZXQgcD1uWzBdLGQ9dC5sZW5ndGg7Zm9yKGxldCBtPTE7bTxkOysrbSl7bGV0IF89dFttXTtpZihvbi5nZXRQb2ludERpc3RhbmNlKGMscCk8MHx8b24uZ2V0UG9pbnREaXN0YW5jZShjLF8pPDApe2xldCBnPWhvLmxpbmVTZWdtZW50UGxhbmUocCxfLGYsbXYpO2lmKGgoZykpe2xldCBiPWEubXVsdGlwbHlCeVNjYWxhcihzLDVlLTksaHYpO29uLmdldFBvaW50RGlzdGFuY2UoZixwKTwwJiZhLm5lZ2F0ZShiLGIpLG4ucHVzaChhLmFkZChnLGIsbmV3IGEpKSxvLnB1c2gobCsxKSxhLm5lZ2F0ZShiLGIpLG4ucHVzaChhLmFkZChnLGIsbmV3IGEpKSxsPTF9fW4ucHVzaChhLmNsb25lKHRbbV0pKSxsKysscD1ffW8ucHVzaChsKX1yZXR1cm57cG9zaXRpb25zOm4sbGVuZ3RoczpvfX07Rm8uZ2VuZXJhdGVBcmM9ZnVuY3Rpb24odCl7aCh0KXx8KHQ9e30pO2xldCBlPXQucG9zaXRpb25zO2lmKCFoKGUpKXRocm93IG5ldyBCKCJvcHRpb25zLnBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLmxlbmd0aCxvPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxyPXgodC5oZWlnaHQsMCksaT1BcnJheS5pc0FycmF5KHIpO2lmKG48MSlyZXR1cm5bXTtpZihuPT09MSl7bGV0IGc9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGVbMF0scTApO2lmKHI9aT9yWzBdOnIsciE9PTApe2xldCBiPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGcsbXMpO2EubXVsdGlwbHlCeVNjYWxhcihiLHIsYiksYS5hZGQoZyxiLGcpfXJldHVybltnLngsZy55LGcuel19bGV0IHM9dC5taW5EaXN0YW5jZTtpZighaChzKSl7bGV0IGc9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKTtzPU0uY2hvcmRMZW5ndGgoZyxvLm1heGltdW1SYWRpdXMpfWxldCBmPTAsdTtmb3IodT0wO3U8bi0xO3UrKylmKz1Gby5udW1iZXJPZlBvaW50cyhlW3VdLGVbdSsxXSxzKTtsZXQgYz0oZisxKSozLGw9bmV3IEFycmF5KGMpLHA9MDtmb3IodT0wO3U8bi0xO3UrKyl7bGV0IGc9ZVt1XSxiPWVbdSsxXSxUPWk/clt1XTpyLE89aT9yW3UrMV06cjtwPXl2KGcsYixzLG8sVCxPLGwscCl9SDAubGVuZ3RoPTA7bGV0IGQ9ZVtuLTFdLG09by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhkLGZkKTttLmhlaWdodD1pP3Jbbi0xXTpyO2xldCBfPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4obSxtcyk7cmV0dXJuIGEucGFjayhfLGwsYy0zKSxsfTt2dz1uZXcgY3QsQXY9bmV3IGN0O0ZvLmdlbmVyYXRlUmh1bWJBcmM9ZnVuY3Rpb24odCl7aCh0KXx8KHQ9e30pO2xldCBlPXQucG9zaXRpb25zO2lmKCFoKGUpKXRocm93IG5ldyBCKCJvcHRpb25zLnBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtsZXQgbj1lLmxlbmd0aCxvPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxyPXgodC5oZWlnaHQsMCksaT1BcnJheS5pc0FycmF5KHIpO2lmKG48MSlyZXR1cm5bXTtpZihuPT09MSl7bGV0IFQ9by5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGVbMF0scTApO2lmKHI9aT9yWzBdOnIsciE9PTApe2xldCBPPW8uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKFQsbXMpO2EubXVsdGlwbHlCeVNjYWxhcihPLHIsTyksYS5hZGQoVCxPLFQpfXJldHVybltULngsVC55LFQuel19bGV0IHM9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxmPTAsdSxjPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZVswXSx2dyksbDtmb3IodT0wO3U8bi0xO3UrKylsPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoZVt1KzFdLEF2KSxmKz1Gby5udW1iZXJPZlBvaW50c1JodW1iTGluZShjLGwscyksYz1jdC5jbG9uZShsLHZ3KTtsZXQgcD0oZisxKSozLGQ9bmV3IEFycmF5KHApLG09MDtmb3IodT0wO3U8bi0xO3UrKyl7bGV0IFQ9ZVt1XSxPPWVbdSsxXSxFPWk/clt1XTpyLHc9aT9yW3UrMV06cjttPWd2KFQsTyxzLG8sRSx3LGQsbSl9SDAubGVuZ3RoPTA7bGV0IF89ZVtuLTFdLGc9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhfLGZkKTtnLmhlaWdodD1pP3Jbbi0xXTpyO2xldCBiPW8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oZyxtcyk7cmV0dXJuIGEucGFjayhiLGQscC0zKSxkfTtGby5nZW5lcmF0ZUNhcnRlc2lhbkFyYz1mdW5jdGlvbih0KXtsZXQgZT1Gby5nZW5lcmF0ZUFyYyh0KSxuPWUubGVuZ3RoLzMsbz1uZXcgQXJyYXkobik7Zm9yKGxldCByPTA7cjxuO3IrKylvW3JdPWEudW5wYWNrKGUsciozKTtyZXR1cm4gb307Rm8uZ2VuZXJhdGVDYXJ0ZXNpYW5SaHVtYkFyYz1mdW5jdGlvbih0KXtsZXQgZT1Gby5nZW5lcmF0ZVJodW1iQXJjKHQpLG49ZS5sZW5ndGgvMyxvPW5ldyBBcnJheShuKTtmb3IobGV0IHI9MDtyPG47cisrKW9bcl09YS51bnBhY2soZSxyKjMpO3JldHVybiBvfTtBbj1Gb30pO2Z1bmN0aW9uIFVmKHQsZSl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImlkZW50aWZpZXIgaXMgcmVxdWlyZWQuIik7aChEd1t0XSl8fChEd1t0XT0hMCxjb25zb2xlLndhcm4oeChlLHQpKSl9dmFyIER3LHVkLEswPVooKCk9PntJdCgpO2Z0KCk7SHQoKTtEdz17fTtVZi5nZW9tZXRyeU91dGxpbmVzPSJFbnRpdHkgZ2VvbWV0cnkgb3V0bGluZXMgYXJlIHVuc3VwcG9ydGVkIG9uIHRlcnJhaW4uIE91dGxpbmVzIHdpbGwgYmUgZGlzYWJsZWQuIFRvIGVuYWJsZSBvdXRsaW5lcywgZGlzYWJsZSBnZW9tZXRyeSB0ZXJyYWluIGNsYW1waW5nIGJ5IGV4cGxpY2l0bHkgc2V0dGluZyBoZWlnaHQgdG8gMC4iO1VmLmdlb21ldHJ5WkluZGV4PSJFbnRpdHkgZ2VvbWV0cnkgd2l0aCB6SW5kZXggYXJlIHVuc3VwcG9ydGVkIHdoZW4gaGVpZ2h0IG9yIGV4dHJ1ZGVkSGVpZ2h0IGFyZSBkZWZpbmVkLiAgekluZGV4IHdpbGwgYmUgaWdub3JlZCI7VWYuZ2VvbWV0cnlIZWlnaHRSZWZlcmVuY2U9IkVudGl0eSBjb3JyaWRvciwgZWxsaXBzZSwgcG9seWdvbiBvciByZWN0YW5nbGUgd2l0aCBoZWlnaHRSZWZlcmVuY2UgbXVzdCBhbHNvIGhhdmUgYSBkZWZpbmVkIGhlaWdodC4gIGhlaWdodFJlZmVyZW5jZSB3aWxsIGJlIGlnbm9yZWQiO1VmLmdlb21ldHJ5RXh0cnVkZWRIZWlnaHRSZWZlcmVuY2U9IkVudGl0eSBjb3JyaWRvciwgZWxsaXBzZSwgcG9seWdvbiBvciByZWN0YW5nbGUgd2l0aCBleHRydWRlZEhlaWdodFJlZmVyZW5jZSBtdXN0IGFsc28gaGF2ZSBhIGRlZmluZWQgZXh0cnVkZWRIZWlnaHQuICBleHRydWRlZEhlaWdodFJlZmVyZW5jZSB3aWxsIGJlIGlnbm9yZWQiO3VkPVVmfSk7ZnVuY3Rpb24gUHYodCxlKXtsZXQgbj1uZXcgQXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKXtsZXQgcj10W29dO1cwPWUuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMocixXMCksbltvXT1XMC5oZWlnaHQsdFtvXT1lLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UocixyKX1yZXR1cm4gbn1mdW5jdGlvbiBYMCh0LGUsbixvKXtsZXQgcj10WzBdLGk9dFsxXSxzPWEuYW5nbGVCZXR3ZWVuKHIsaSksZj1NYXRoLmNlaWwocy9vKSx1PW5ldyBBcnJheShmKSxjO2lmKGU9PT1uKXtmb3IoYz0wO2M8ZjtjKyspdVtjXT1lO3JldHVybiB1LnB1c2gobiksdX1sZXQgcD0obi1lKS9mO2ZvcihjPTE7YzxmO2MrKyl7bGV0IGQ9ZStjKnA7dVtjXT1kfXJldHVybiB1WzBdPWUsdS5wdXNoKG4pLHV9ZnVuY3Rpb24gTXYodCxlLG4sbyl7bGV0IHI9bmV3IHlvKG4sbyksaT1yLnByb2plY3RQb2ludE9udG9QbGFuZShhLmFkZChuLHQscGQpLHBkKSxzPXIucHJvamVjdFBvaW50T250b1BsYW5lKGEuYWRkKG4sZSxkZCksZGQpLGY9dHQuYW5nbGVCZXR3ZWVuKGkscyk7cmV0dXJuIHMueCppLnktcy55KmkueD49MD8tZjpmfWZ1bmN0aW9uIFVpKHQsZSxuLG8scixpLHMsZil7bGV0IHU9THYsYz1EdjtfYz1Yby5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZSh0LHIsX2MpLHU9c3QubXVsdGlwbHlCeVBvaW50QXNWZWN0b3IoX2MsTnYsdSksdT1hLm5vcm1hbGl6ZSh1LHUpO2xldCBsPU12KHUsZSx0LHIpO1kwPVEuZnJvbVJvdGF0aW9uWihsLFkwKSxGdy56PWksX2M9c3QubXVsdGlwbHlUcmFuc2Zvcm1hdGlvbihfYyxzdC5mcm9tUm90YXRpb25UcmFuc2xhdGlvbihZMCxGdyxJdiksX2MpO2xldCBwPXZ2O3BbMF09cztmb3IobGV0IGQ9MDtkPGY7ZCsrKWZvcihsZXQgbT0wO208bi5sZW5ndGg7bSs9MyljPWEuZnJvbUFycmF5KG4sbSxjKSxjPVEubXVsdGlwbHlCeVZlY3RvcihwLGMsYyksYz1zdC5tdWx0aXBseUJ5UG9pbnQoX2MsYyxjKSxvLnB1c2goYy54LGMueSxjLnopO3JldHVybiBvfWZ1bmN0aW9uICQwKHQsZSxuLG8scixpLHMpe2ZvcihsZXQgZj0wO2Y8dC5sZW5ndGg7Zis9Myl7bGV0IHU9YS5mcm9tQXJyYXkodCxmLEZ2KTtvPVVpKHUsZSxuLG8scixpW2YvM10scywxKX1yZXR1cm4gb31mdW5jdGlvbiBCdih0LGUpe2xldCBuPXQubGVuZ3RoLG89bmV3IEFycmF5KG4qNikscj0wLGk9ZS54K2Uud2lkdGgvMixzPWUueStlLmhlaWdodC8yLGY9dFswXTtvW3IrK109Zi54LWksb1tyKytdPTAsb1tyKytdPWYueS1zO2ZvcihsZXQgdT0xO3U8bjt1Kyspe2Y9dFt1XTtsZXQgYz1mLngtaSxsPWYueS1zO29bcisrXT1jLG9bcisrXT0wLG9bcisrXT1sLG9bcisrXT1jLG9bcisrXT0wLG9bcisrXT1sfXJldHVybiBmPXRbMF0sb1tyKytdPWYueC1pLG9bcisrXT0wLG9bcisrXT1mLnktcyxvfWZ1bmN0aW9uIEJ3KHQsZSl7bGV0IG49dC5sZW5ndGgsbz1uZXcgQXJyYXkobiozKSxyPTAsaT1lLngrZS53aWR0aC8yLHM9ZS55K2UuaGVpZ2h0LzI7Zm9yKGxldCBmPTA7ZjxuO2YrKylvW3IrK109dFtmXS54LWksb1tyKytdPTAsb1tyKytdPXRbZl0ueS1zO3JldHVybiBvfWZ1bmN0aW9uIEd3KHQsZSxuLG8scixpLHMsZix1LGMpe2xldCBsPWEuYW5nbGVCZXR3ZWVuKGEuc3VidHJhY3QoZSx0LGdhKSxhLnN1YnRyYWN0KG4sdCxsZCkpLHA9bz09PWZuLkJFVkVMRUQ/MDpNYXRoLmNlaWwobC9NLnRvUmFkaWFucyg1KSksZDtyP2Q9US5mcm9tUXVhdGVybmlvbihlZS5mcm9tQXhpc0FuZ2xlKGEubmVnYXRlKHQsZ2EpLGwvKHArMSksVXcpLGt3KTpkPVEuZnJvbVF1YXRlcm5pb24oZWUuZnJvbUF4aXNBbmdsZSh0LGwvKHArMSksVXcpLGt3KTtsZXQgbSxfO2lmKGU9YS5jbG9uZShlLFZ3KSxwPjApe2xldCBnPWM/MjoxO2ZvcihsZXQgYj0wO2I8cDtiKyspZT1RLm11bHRpcGx5QnlWZWN0b3IoZCxlLGUpLG09YS5zdWJ0cmFjdChlLHQsZ2EpLG09YS5ub3JtYWxpemUobSxtKSxyfHwobT1hLm5lZ2F0ZShtLG0pKSxfPWkuc2NhbGVUb0dlb2RldGljU3VyZmFjZShlLGxkKSxzPVVpKF8sbSxmLHMsaSx1LDEsZyl9ZWxzZSBtPWEuc3VidHJhY3QoZSx0LGdhKSxtPWEubm9ybWFsaXplKG0sbSkscnx8KG09YS5uZWdhdGUobSxtKSksXz1pLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UoZSxsZCkscz1VaShfLG0sZixzLGksdSwxLDEpLG49YS5jbG9uZShuLFZ3KSxtPWEuc3VidHJhY3Qobix0LGdhKSxtPWEubm9ybWFsaXplKG0sbSkscnx8KG09YS5uZWdhdGUobSxtKSksXz1pLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UobixsZCkscz1VaShfLG0sZixzLGksdSwxLDEpO3JldHVybiBzfXZhciBhbyxidixUdix3dixPdixFdixSdixTdixDdix4dixnYSxsZCxWZixXMCxwZCxkZCxOdixfYyxJdixZMCx2dixMdixEdixGdyxGdixVdyxWdyxrdyxVdixWdixocyxtZD1aKCgpPT57VWUoKTtGdCgpO2hyKCk7SWUoKTtoYygpO2xhKCk7V3QoKTtCbigpO1VuKCk7eWEoKTtLbygpO2NzKCk7SzAoKTthbz1bbmV3IGEsbmV3IGFdLGJ2PW5ldyBhLFR2PW5ldyBhLHd2PW5ldyBhLE92PW5ldyBhLEV2PW5ldyBhLFJ2PW5ldyBhLFN2PW5ldyBhLEN2PW5ldyBhLHh2PW5ldyBhLGdhPW5ldyBhLGxkPW5ldyBhLFZmPXt9LFcwPW5ldyBjdDtwZD1uZXcgYSxkZD1uZXcgYTtOdj1uZXcgYSgtMSwwLDApLF9jPW5ldyBzdCxJdj1uZXcgc3QsWTA9bmV3IFEsdnY9US5JREVOVElUWS5jbG9uZSgpLEx2PW5ldyBhLER2PW5ldyBoZSxGdz1uZXcgYTtGdj1uZXcgYTtVdz1uZXcgZWUsVnc9bmV3IGEsa3c9bmV3IFE7VmYucmVtb3ZlRHVwbGljYXRlc0Zyb21TaGFwZT1mdW5jdGlvbih0KXtsZXQgZT10Lmxlbmd0aCxuPVtdO2ZvcihsZXQgbz1lLTEscj0wO3I8ZTtvPXIrKyl7bGV0IGk9dFtvXSxzPXRbcl07dHQuZXF1YWxzKGkscyl8fG4ucHVzaChzKX1yZXR1cm4gbn07VmYuYW5nbGVJc0dyZWF0ZXJUaGFuUGk9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9bmV3IHlvKG4sbyksaT1yLnByb2plY3RQb2ludE9udG9QbGFuZShhLmFkZChuLHQscGQpLHBkKSxzPXIucHJvamVjdFBvaW50T250b1BsYW5lKGEuYWRkKG4sZSxkZCksZGQpO3JldHVybiBzLngqaS55LXMueSppLng+PTB9O1V2PW5ldyBhLFZ2PW5ldyBhO1ZmLmNvbXB1dGVQb3NpdGlvbnM9ZnVuY3Rpb24odCxlLG4sbyxyKXtsZXQgaT1vLl9lbGxpcHNvaWQscz1Qdih0LGkpLGY9by5fZ3JhbnVsYXJpdHksdT1vLl9jb3JuZXJUeXBlLGM9cj9CdihlLG4pOkJ3KGUsbiksbD1yP0J3KGUsbik6dm9pZCAwLHA9bi5oZWlnaHQvMixkPW4ud2lkdGgvMixtPXQubGVuZ3RoLF89W10sZz1yP1tdOnZvaWQgMCxiPWJ2LFQ9VHYsTz13dixFPU92LHc9RXYsQz1SdixOPVN2LEk9Q3YsRD14dix2PXRbMF0sTD10WzFdO0U9aS5nZW9kZXRpY1N1cmZhY2VOb3JtYWwodixFKSxiPWEuc3VidHJhY3QoTCx2LGIpLGI9YS5ub3JtYWxpemUoYixiKSxJPWEuY3Jvc3MoRSxiLEkpLEk9YS5ub3JtYWxpemUoSSxJKTtsZXQgVT1zWzBdLEE9c1sxXTtyJiYoZz1VaSh2LEksbCxnLGksVStwLDEsMSkpLEQ9YS5jbG9uZSh2LEQpLHY9TCxUPWEubmVnYXRlKGIsVCk7bGV0IFMsUDtmb3IobGV0IEg9MTtIPG0tMTtIKyspe2xldCBrPXI/MjoxO2lmKEw9dFtIKzFdLHYuZXF1YWxzKEwpKXt1ZCgiUG9zaXRpb25zIGFyZSB0b28gY2xvc2UgYW5kIGFyZSBjb25zaWRlcmVkIGVxdWl2YWxlbnQgd2l0aCByb3VuZGluZyBlcnJvci4iKTtjb250aW51ZX1iPWEuc3VidHJhY3QoTCx2LGIpLGI9YS5ub3JtYWxpemUoYixiKSxFPWkuZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHYsRSk7bGV0IEs9YS5tdWx0aXBseUJ5U2NhbGFyKEUsYS5kb3QoYixFKSxVdik7YS5zdWJ0cmFjdChiLEssSyksYS5ub3JtYWxpemUoSyxLKTtsZXQgWD1hLm11bHRpcGx5QnlTY2FsYXIoRSxhLmRvdChULEUpLFZ2KTtpZihhLnN1YnRyYWN0KFQsWCxYKSxhLm5vcm1hbGl6ZShYLFgpLCFNLmVxdWFsc0Vwc2lsb24oTWF0aC5hYnMoYS5kb3QoSyxYKSksMSxNLkVQU0lMT043KSl7Tz1hLmFkZChiLFQsTyksTz1hLm5vcm1hbGl6ZShPLE8pLE89YS5jcm9zcyhPLEUsTyksTz1hLmNyb3NzKEUsTyxPKSxPPWEubm9ybWFsaXplKE8sTyk7bGV0IG90PTEvTWF0aC5tYXgoLjI1LGEubWFnbml0dWRlKGEuY3Jvc3MoTyxULGdhKSkpLGF0PVZmLmFuZ2xlSXNHcmVhdGVyVGhhblBpKGIsVCx2LGkpO2F0Pyh3PWEuYWRkKHYsYS5tdWx0aXBseUJ5U2NhbGFyKE8sb3QqZCxPKSx3KSxDPWEuYWRkKHcsYS5tdWx0aXBseUJ5U2NhbGFyKEksZCxDKSxDKSxhb1swXT1hLmNsb25lKEQsYW9bMF0pLGFvWzFdPWEuY2xvbmUoQyxhb1sxXSksUz1YMChhbyxVK3AsQStwLGYpLFA9QW4uZ2VuZXJhdGVBcmMoe3Bvc2l0aW9uczphbyxncmFudWxhcml0eTpmLGVsbGlwc29pZDppfSksXz0kMChQLEksYyxfLGksUywxKSxJPWEuY3Jvc3MoRSxiLEkpLEk9YS5ub3JtYWxpemUoSSxJKSxOPWEuYWRkKHcsYS5tdWx0aXBseUJ5U2NhbGFyKEksZCxOKSxOKSx1PT09Zm4uUk9VTkRFRHx8dT09PWZuLkJFVkVMRUQ/R3codyxDLE4sdSxhdCxpLF8sYyxBK3Ascik6KE89YS5uZWdhdGUoTyxPKSxfPVVpKHYsTyxjLF8saSxBK3Asb3QsaykpLEQ9YS5jbG9uZShOLEQpKToodz1hLmFkZCh2LGEubXVsdGlwbHlCeVNjYWxhcihPLG90KmQsTyksdyksQz1hLmFkZCh3LGEubXVsdGlwbHlCeVNjYWxhcihJLC1kLEMpLEMpLGFvWzBdPWEuY2xvbmUoRCxhb1swXSksYW9bMV09YS5jbG9uZShDLGFvWzFdKSxTPVgwKGFvLFUrcCxBK3AsZiksUD1Bbi5nZW5lcmF0ZUFyYyh7cG9zaXRpb25zOmFvLGdyYW51bGFyaXR5OmYsZWxsaXBzb2lkOml9KSxfPSQwKFAsSSxjLF8saSxTLDEpLEk9YS5jcm9zcyhFLGIsSSksST1hLm5vcm1hbGl6ZShJLEkpLE49YS5hZGQodyxhLm11bHRpcGx5QnlTY2FsYXIoSSwtZCxOKSxOKSx1PT09Zm4uUk9VTkRFRHx8dT09PWZuLkJFVkVMRUQ/R3codyxDLE4sdSxhdCxpLF8sYyxBK3Ascik6Xz1VaSh2LE8sYyxfLGksQStwLG90LGspLEQ9YS5jbG9uZShOLEQpKSxUPWEubmVnYXRlKGIsVCl9ZWxzZSBfPVVpKEQsSSxjLF8saSxVK3AsMSwxKSxEPXY7VT1BLEE9c1tIKzFdLHY9TH1hb1swXT1hLmNsb25lKEQsYW9bMF0pLGFvWzFdPWEuY2xvbmUodixhb1sxXSksUz1YMChhbyxVK3AsQStwLGYpLFA9QW4uZ2VuZXJhdGVBcmMoe3Bvc2l0aW9uczphbyxncmFudWxhcml0eTpmLGVsbGlwc29pZDppfSksXz0kMChQLEksYyxfLGksUywxKSxyJiYoZz1VaSh2LEksbCxnLGksQStwLDEsMSkpLG09Xy5sZW5ndGg7bGV0IEY9cj9tK2cubGVuZ3RoOm0saj1uZXcgRmxvYXQ2NEFycmF5KEYpO3JldHVybiBqLnNldChfKSxyJiZqLnNldChnLG0pLGp9O2hzPVZmfSk7ZnVuY3Rpb24gaGQodCxlLG4sbyxyKXtsZXQgaT1hLmFuZ2xlQmV0d2VlbihhLnN1YnRyYWN0KGUsdCxBYSksYS5zdWJ0cmFjdChuLHQsS3cpKSxzPW89PT1mbi5CRVZFTEVEPzE6TWF0aC5jZWlsKGkvTS50b1JhZGlhbnMoNSkpKzEsZj1zKjMsdT1uZXcgQXJyYXkoZik7dVtmLTNdPW4ueCx1W2YtMl09bi55LHVbZi0xXT1uLno7bGV0IGM7cj9jPVEuZnJvbVF1YXRlcm5pb24oZWUuZnJvbUF4aXNBbmdsZShhLm5lZ2F0ZSh0LEFhKSxpL3MsancpLEh3KTpjPVEuZnJvbVF1YXRlcm5pb24oZWUuZnJvbUF4aXNBbmdsZSh0LGkvcyxqdyksSHcpO2xldCBsPTA7ZT1hLmNsb25lKGUsQWEpO2ZvcihsZXQgcD0wO3A8cztwKyspZT1RLm11bHRpcGx5QnlWZWN0b3IoYyxlLGUpLHVbbCsrXT1lLngsdVtsKytdPWUueSx1W2wrK109ZS56O3JldHVybiB1fWZ1bmN0aW9uIFh2KHQpe2xldCBlPVd3LG49WHcsbz1ZdyxyPXRbMV07bj1hLmZyb21BcnJheSh0WzFdLHIubGVuZ3RoLTMsbiksbz1hLmZyb21BcnJheSh0WzBdLDAsbyksZT1hLm1pZHBvaW50KG4sbyxlKTtsZXQgaT1oZChlLG4sbyxmbi5ST1VOREVELCExKSxzPXQubGVuZ3RoLTEsZj10W3MtMV07cj10W3NdLG49YS5mcm9tQXJyYXkoZixmLmxlbmd0aC0zLG4pLG89YS5mcm9tQXJyYXkociwwLG8pLGU9YS5taWRwb2ludChuLG8sZSk7bGV0IHU9aGQoZSxuLG8sZm4uUk9VTkRFRCwhMSk7cmV0dXJuW2ksdV19ZnVuY3Rpb24gcXcodCxlLG4sbyl7bGV0IHI9QWE7cmV0dXJuIG8/cj1hLmFkZCh0LGUscik6KGU9YS5uZWdhdGUoZSxlKSxyPWEuYWRkKHQsZSxyKSksW3IueCxyLnksci56LG4ueCxuLnksbi56XX1mdW5jdGlvbiBaMCh0LGUsbixvKXtsZXQgcj1uZXcgQXJyYXkodC5sZW5ndGgpLGk9bmV3IEFycmF5KHQubGVuZ3RoKSxzPWEubXVsdGlwbHlCeVNjYWxhcihlLG4sQWEpLGY9YS5uZWdhdGUocyxLdyksdT0wLGM9dC5sZW5ndGgtMTtmb3IobGV0IGw9MDtsPHQubGVuZ3RoO2wrPTMpe2xldCBwPWEuZnJvbUFycmF5KHQsbCxrdiksZD1hLmFkZChwLGYsencpO3JbdSsrXT1kLngsclt1KytdPWQueSxyW3UrK109ZC56O2xldCBtPWEuYWRkKHAscyx6dyk7aVtjLS1dPW0ueixpW2MtLV09bS55LGlbYy0tXT1tLnh9cmV0dXJuIG8ucHVzaChyLGkpLG99dmFyIFEwLEFhLEt3LGt2LHp3LEJvLFd3LFh3LFl3LEd2LHp2LGp2LEh2LHF2LEt2LFd2LGp3LEh3LFl2LCR2LHFlLEowPVooKCk9PntGdCgpO2hjKCk7ZnQoKTtXdCgpO0JuKCk7eWEoKTttZCgpO0tvKCk7UTA9e30sQWE9bmV3IGEsS3c9bmV3IGEsa3Y9bmV3IGEsenc9bmV3IGEsQm89W25ldyBhLG5ldyBhXSxXdz1uZXcgYSxYdz1uZXcgYSxZdz1uZXcgYSxHdj1uZXcgYSx6dj1uZXcgYSxqdj1uZXcgYSxIdj1uZXcgYSxxdj1uZXcgYSxLdj1uZXcgYSxXdj1uZXcgYSxqdz1uZXcgZWUsSHc9bmV3IFE7UTAuYWRkQXR0cmlidXRlPWZ1bmN0aW9uKHQsZSxuLG8pe2xldCByPWUueCxpPWUueSxzPWUuejtoKG4pJiYodFtuXT1yLHRbbisxXT1pLHRbbisyXT1zKSxoKG8pJiYodFtvXT1zLHRbby0xXT1pLHRbby0yXT1yKX07WXY9bmV3IGEsJHY9bmV3IGE7UTAuY29tcHV0ZVBvc2l0aW9ucz1mdW5jdGlvbih0KXtsZXQgZT10LmdyYW51bGFyaXR5LG49dC5wb3NpdGlvbnMsbz10LmVsbGlwc29pZCxyPXQud2lkdGgvMixpPXQuY29ybmVyVHlwZSxzPXQuc2F2ZUF0dHJpYnV0ZXMsZj1Xdyx1PVh3LGM9WXcsbD1HdixwPXp2LGQ9anYsbT1IdixfPXF2LGc9S3YsYj1XdixUPVtdLE89cz9bXTp2b2lkIDAsRT1zP1tdOnZvaWQgMCx3PW5bMF0sQz1uWzFdO3U9YS5ub3JtYWxpemUoYS5zdWJ0cmFjdChDLHcsdSksdSksZj1vLmdlb2RldGljU3VyZmFjZU5vcm1hbCh3LGYpLGw9YS5ub3JtYWxpemUoYS5jcm9zcyhmLHUsbCksbCkscyYmKE8ucHVzaChsLngsbC55LGwueiksRS5wdXNoKGYueCxmLnksZi56KSksbT1hLmNsb25lKHcsbSksdz1DLGM9YS5uZWdhdGUodSxjKTtsZXQgTixJPVtdLEQsdj1uLmxlbmd0aDtmb3IoRD0xO0Q8di0xO0QrKyl7Zj1vLmdlb2RldGljU3VyZmFjZU5vcm1hbCh3LGYpLEM9bltEKzFdLHU9YS5ub3JtYWxpemUoYS5zdWJ0cmFjdChDLHcsdSksdSk7bGV0IFU9YS5tdWx0aXBseUJ5U2NhbGFyKGYsYS5kb3QodSxmKSxZdik7YS5zdWJ0cmFjdCh1LFUsVSksYS5ub3JtYWxpemUoVSxVKTtsZXQgQT1hLm11bHRpcGx5QnlTY2FsYXIoZixhLmRvdChjLGYpLCR2KTtpZihhLnN1YnRyYWN0KGMsQSxBKSxhLm5vcm1hbGl6ZShBLEEpLCFNLmVxdWFsc0Vwc2lsb24oTWF0aC5hYnMoYS5kb3QoVSxBKSksMSxNLkVQU0lMT043KSl7cD1hLm5vcm1hbGl6ZShhLmFkZCh1LGMscCkscCkscD1hLmNyb3NzKHAsZixwKSxwPWEuY3Jvc3MoZixwLHApLHA9YS5ub3JtYWxpemUocCxwKTtsZXQgUD1yL01hdGgubWF4KC4yNSxhLm1hZ25pdHVkZShhLmNyb3NzKHAsYyxBYSkpKSxGPWhzLmFuZ2xlSXNHcmVhdGVyVGhhblBpKHUsYyx3LG8pO3A9YS5tdWx0aXBseUJ5U2NhbGFyKHAsUCxwKSxGPyhfPWEuYWRkKHcscCxfKSxiPWEuYWRkKF8sYS5tdWx0aXBseUJ5U2NhbGFyKGwscixiKSxiKSxnPWEuYWRkKF8sYS5tdWx0aXBseUJ5U2NhbGFyKGwscioyLGcpLGcpLEJvWzBdPWEuY2xvbmUobSxCb1swXSksQm9bMV09YS5jbG9uZShiLEJvWzFdKSxOPUFuLmdlbmVyYXRlQXJjKHtwb3NpdGlvbnM6Qm8sZ3JhbnVsYXJpdHk6ZSxlbGxpcHNvaWQ6b30pLFQ9WjAoTixsLHIsVCkscyYmKE8ucHVzaChsLngsbC55LGwueiksRS5wdXNoKGYueCxmLnksZi56KSksZD1hLmNsb25lKGcsZCksbD1hLm5vcm1hbGl6ZShhLmNyb3NzKGYsdSxsKSxsKSxnPWEuYWRkKF8sYS5tdWx0aXBseUJ5U2NhbGFyKGwscioyLGcpLGcpLG09YS5hZGQoXyxhLm11bHRpcGx5QnlTY2FsYXIobCxyLG0pLG0pLGk9PT1mbi5ST1VOREVEfHxpPT09Zm4uQkVWRUxFRD9JLnB1c2goe2xlZnRQb3NpdGlvbnM6aGQoXyxkLGcsaSxGKX0pOkkucHVzaCh7bGVmdFBvc2l0aW9uczpxdyh3LGEubmVnYXRlKHAscCksZyxGKX0pKTooZz1hLmFkZCh3LHAsZyksYj1hLmFkZChnLGEubmVnYXRlKGEubXVsdGlwbHlCeVNjYWxhcihsLHIsYiksYiksYiksXz1hLmFkZChnLGEubmVnYXRlKGEubXVsdGlwbHlCeVNjYWxhcihsLHIqMixfKSxfKSxfKSxCb1swXT1hLmNsb25lKG0sQm9bMF0pLEJvWzFdPWEuY2xvbmUoYixCb1sxXSksTj1Bbi5nZW5lcmF0ZUFyYyh7cG9zaXRpb25zOkJvLGdyYW51bGFyaXR5OmUsZWxsaXBzb2lkOm99KSxUPVowKE4sbCxyLFQpLHMmJihPLnB1c2gobC54LGwueSxsLnopLEUucHVzaChmLngsZi55LGYueikpLGQ9YS5jbG9uZShfLGQpLGw9YS5ub3JtYWxpemUoYS5jcm9zcyhmLHUsbCksbCksXz1hLmFkZChnLGEubmVnYXRlKGEubXVsdGlwbHlCeVNjYWxhcihsLHIqMixfKSxfKSxfKSxtPWEuYWRkKGcsYS5uZWdhdGUoYS5tdWx0aXBseUJ5U2NhbGFyKGwscixtKSxtKSxtKSxpPT09Zm4uUk9VTkRFRHx8aT09PWZuLkJFVkVMRUQ/SS5wdXNoKHtyaWdodFBvc2l0aW9uczpoZChnLGQsXyxpLEYpfSk6SS5wdXNoKHtyaWdodFBvc2l0aW9uczpxdyh3LHAsXyxGKX0pKSxjPWEubmVnYXRlKHUsYyl9dz1DfWY9by5nZW9kZXRpY1N1cmZhY2VOb3JtYWwodyxmKSxCb1swXT1hLmNsb25lKG0sQm9bMF0pLEJvWzFdPWEuY2xvbmUodyxCb1sxXSksTj1Bbi5nZW5lcmF0ZUFyYyh7cG9zaXRpb25zOkJvLGdyYW51bGFyaXR5OmUsZWxsaXBzb2lkOm99KSxUPVowKE4sbCxyLFQpLHMmJihPLnB1c2gobC54LGwueSxsLnopLEUucHVzaChmLngsZi55LGYueikpO2xldCBMO3JldHVybiBpPT09Zm4uUk9VTkRFRCYmKEw9WHYoVCkpLHtwb3NpdGlvbnM6VCxjb3JuZXJzOkksbGVmdHM6Tyxub3JtYWxzOkUsZW5kUG9zaXRpb25zOkx9fTtxZT1RMH0pO2Z1bmN0aW9uIGVPKHQsZSl7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspdFtuXT1lLnNjYWxlVG9HZW9kZXRpY1N1cmZhY2UodFtuXSx0W25dKTtyZXR1cm4gdH1mdW5jdGlvbiBLcih0LGUsbixvLHIsaSl7bGV0IHM9dC5ub3JtYWxzLGY9dC50YW5nZW50cyx1PXQuYml0YW5nZW50cyxjPWEubm9ybWFsaXplKGEuY3Jvc3MobixlLF9zKSxfcyk7aS5ub3JtYWwmJnFlLmFkZEF0dHJpYnV0ZShzLGUsbyxyKSxpLnRhbmdlbnQmJnFlLmFkZEF0dHJpYnV0ZShmLGMsbyxyKSxpLmJpdGFuZ2VudCYmcWUuYWRkQXR0cmlidXRlKHUsbixvLHIpfWZ1bmN0aW9uIG5PKHQsZSxuKXtsZXQgbz10LnBvc2l0aW9ucyxyPXQuY29ybmVycyxpPXQuZW5kUG9zaXRpb25zLHM9dC5sZWZ0cyxmPXQubm9ybWFscyx1PW5ldyBpZSxjLGw9MCxwPTAsZCxtPTAsXztmb3IoZD0wO2Q8by5sZW5ndGg7ZCs9MilfPW9bZF0ubGVuZ3RoLTMsbCs9XyxtKz1fKjIscCs9b1tkKzFdLmxlbmd0aC0zO2ZvcihsKz0zLHArPTMsZD0wO2Q8ci5sZW5ndGg7ZCsrKXtjPXJbZF07bGV0IHJ0PXJbZF0ubGVmdFBvc2l0aW9ucztoKHJ0KT8oXz1ydC5sZW5ndGgsbCs9XyxtKz1fKTooXz1yW2RdLnJpZ2h0UG9zaXRpb25zLmxlbmd0aCxwKz1fLG0rPV8pfWxldCBnPWgoaSksYjtnJiYoYj1pWzBdLmxlbmd0aC0zLGwrPWIscCs9YixiLz0zLG0rPWIqNik7bGV0IFQ9bCtwLE89bmV3IEZsb2F0NjRBcnJheShUKSxFPWUubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkoVCk6dm9pZCAwLHc9ZS50YW5nZW50P25ldyBGbG9hdDMyQXJyYXkoVCk6dm9pZCAwLEM9ZS5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShUKTp2b2lkIDAsTj17bm9ybWFsczpFLHRhbmdlbnRzOncsYml0YW5nZW50czpDfSxJPTAsRD1ULTEsdixMLFUsQSxTPVF3LFA9SncsRixqLEg9Yi8yLGs9RHQuY3JlYXRlVHlwZWRBcnJheShULzMsbSksSz0wO2lmKGcpe2o9X2QsRj15ZDtsZXQgcnQ9aVswXTtmb3IoUz1hLmZyb21BcnJheShmLDAsUyksUD1hLmZyb21BcnJheShzLDAsUCksZD0wO2Q8SDtkKyspaj1hLmZyb21BcnJheShydCwoSC0xLWQpKjMsaiksRj1hLmZyb21BcnJheShydCwoSCtkKSozLEYpLHFlLmFkZEF0dHJpYnV0ZShPLEYsSSkscWUuYWRkQXR0cmlidXRlKE8saix2b2lkIDAsRCksS3IoTixTLFAsSSxELGUpLEw9SS8zLEE9TCsxLHY9KEQtMikvMyxVPXYtMSxrW0srK109dixrW0srK109TCxrW0srK109VSxrW0srK109VSxrW0srK109TCxrW0srK109QSxJKz0zLEQtPTN9bGV0IFg9MCxSPTAsb3Q9b1tYKytdLGF0PW9bWCsrXTtPLnNldChvdCxJKSxPLnNldChhdCxELWF0Lmxlbmd0aCsxKSxQPWEuZnJvbUFycmF5KHMsUixQKTtsZXQgcHQseXQ7Zm9yKF89YXQubGVuZ3RoLTMsZD0wO2Q8XztkKz0zKXB0PW4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGEuZnJvbUFycmF5KG90LGQsX3MpLF9zKSx5dD1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChhLmZyb21BcnJheShhdCxfLWQsYmEpLGJhKSxTPWEubm9ybWFsaXplKGEuYWRkKHB0LHl0LFMpLFMpLEtyKE4sUyxQLEksRCxlKSxMPUkvMyxBPUwrMSx2PShELTIpLzMsVT12LTEsa1tLKytdPXYsa1tLKytdPUwsa1tLKytdPVUsa1tLKytdPVUsa1tLKytdPUwsa1tLKytdPUEsSSs9MyxELT0zO2ZvcihwdD1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChhLmZyb21BcnJheShvdCxfLF9zKSxfcykseXQ9bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoYS5mcm9tQXJyYXkoYXQsXyxiYSksYmEpLFM9YS5ub3JtYWxpemUoYS5hZGQocHQseXQsUyksUyksUis9MyxkPTA7ZDxyLmxlbmd0aDtkKyspe2xldCBydDtjPXJbZF07bGV0IFB0PWMubGVmdFBvc2l0aW9ucyxndD1jLnJpZ2h0UG9zaXRpb25zLEN0LG10LHV0PXRPLHZ0PV9kLHp0PXlkO2lmKFM9YS5mcm9tQXJyYXkoZixSLFMpLGgoUHQpKXtmb3IoS3IoTixTLFAsdm9pZCAwLEQsZSksRC09MyxDdD1BLG10PVUscnQ9MDtydDxQdC5sZW5ndGgvMztydCsrKXV0PWEuZnJvbUFycmF5KFB0LHJ0KjMsdXQpLGtbSysrXT1DdCxrW0srK109bXQtcnQtMSxrW0srK109bXQtcnQscWUuYWRkQXR0cmlidXRlKE8sdXQsdm9pZCAwLEQpLHZ0PWEuZnJvbUFycmF5KE8sKG10LXJ0LTEpKjMsdnQpLHp0PWEuZnJvbUFycmF5KE8sQ3QqMyx6dCksUD1hLm5vcm1hbGl6ZShhLnN1YnRyYWN0KHZ0LHp0LFApLFApLEtyKE4sUyxQLHZvaWQgMCxELGUpLEQtPTM7dXQ9YS5mcm9tQXJyYXkoTyxDdCozLHV0KSx2dD1hLnN1YnRyYWN0KGEuZnJvbUFycmF5KE8sbXQqMyx2dCksdXQsdnQpLHp0PWEuc3VidHJhY3QoYS5mcm9tQXJyYXkoTywobXQtcnQpKjMsenQpLHV0LHp0KSxQPWEubm9ybWFsaXplKGEuYWRkKHZ0LHp0LFApLFApLEtyKE4sUyxQLEksdm9pZCAwLGUpLEkrPTN9ZWxzZXtmb3IoS3IoTixTLFAsSSx2b2lkIDAsZSksSSs9MyxDdD1VLG10PUEscnQ9MDtydDxndC5sZW5ndGgvMztydCsrKXV0PWEuZnJvbUFycmF5KGd0LHJ0KjMsdXQpLGtbSysrXT1DdCxrW0srK109bXQrcnQsa1tLKytdPW10K3J0KzEscWUuYWRkQXR0cmlidXRlKE8sdXQsSSksdnQ9YS5mcm9tQXJyYXkoTyxDdCozLHZ0KSx6dD1hLmZyb21BcnJheShPLChtdCtydCkqMyx6dCksUD1hLm5vcm1hbGl6ZShhLnN1YnRyYWN0KHZ0LHp0LFApLFApLEtyKE4sUyxQLEksdm9pZCAwLGUpLEkrPTM7dXQ9YS5mcm9tQXJyYXkoTyxDdCozLHV0KSx2dD1hLnN1YnRyYWN0KGEuZnJvbUFycmF5KE8sKG10K3J0KSozLHZ0KSx1dCx2dCksenQ9YS5zdWJ0cmFjdChhLmZyb21BcnJheShPLG10KjMsenQpLHV0LHp0KSxQPWEubm9ybWFsaXplKGEubmVnYXRlKGEuYWRkKHp0LHZ0LFApLFApLFApLEtyKE4sUyxQLHZvaWQgMCxELGUpLEQtPTN9Zm9yKG90PW9bWCsrXSxhdD1vW1grK10sb3Quc3BsaWNlKDAsMyksYXQuc3BsaWNlKGF0Lmxlbmd0aC0zLDMpLE8uc2V0KG90LEkpLE8uc2V0KGF0LEQtYXQubGVuZ3RoKzEpLF89YXQubGVuZ3RoLTMsUis9MyxQPWEuZnJvbUFycmF5KHMsUixQKSxydD0wO3J0PGF0Lmxlbmd0aDtydCs9MylwdD1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChhLmZyb21BcnJheShvdCxydCxfcyksX3MpLHl0PW4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKGEuZnJvbUFycmF5KGF0LF8tcnQsYmEpLGJhKSxTPWEubm9ybWFsaXplKGEuYWRkKHB0LHl0LFMpLFMpLEtyKE4sUyxQLEksRCxlKSxBPUkvMyxMPUEtMSxVPShELTIpLzMsdj1VKzEsa1tLKytdPXYsa1tLKytdPUwsa1tLKytdPVUsa1tLKytdPVUsa1tLKytdPUwsa1tLKytdPUEsSSs9MyxELT0zO0ktPTMsRCs9M31pZihTPWEuZnJvbUFycmF5KGYsZi5sZW5ndGgtMyxTKSxLcihOLFMsUCxJLEQsZSksZyl7SSs9MyxELT0zLGo9X2QsRj15ZDtsZXQgcnQ9aVsxXTtmb3IoZD0wO2Q8SDtkKyspaj1hLmZyb21BcnJheShydCwoYi1kLTEpKjMsaiksRj1hLmZyb21BcnJheShydCxkKjMsRikscWUuYWRkQXR0cmlidXRlKE8saix2b2lkIDAsRCkscWUuYWRkQXR0cmlidXRlKE8sRixJKSxLcihOLFMsUCxJLEQsZSksQT1JLzMsTD1BLTEsVT0oRC0yKS8zLHY9VSsxLGtbSysrXT12LGtbSysrXT1MLGtbSysrXT1VLGtbSysrXT1VLGtbSysrXT1MLGtbSysrXT1BLEkrPTMsRC09M31pZih1LnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6T30pLGUuc3Qpe2xldCBydD1uZXcgRmxvYXQzMkFycmF5KFQvMyoyKSxQdCxndCxDdD0wO2lmKGcpe2wvPTMscC89MztsZXQgbXQ9TWF0aC5QSS8oYisxKTtndD0xLyhsLWIrMSksUHQ9MS8ocC1iKzEpO2xldCB1dCx2dD1iLzI7Zm9yKGQ9dnQrMTtkPGIrMTtkKyspdXQ9TS5QSV9PVkVSX1RXTyttdCpkLHJ0W0N0KytdPVB0KigxK01hdGguY29zKHV0KSkscnRbQ3QrK109LjUqKDErTWF0aC5zaW4odXQpKTtmb3IoZD0xO2Q8cC1iKzE7ZCsrKXJ0W0N0KytdPWQqUHQscnRbQ3QrK109MDtmb3IoZD1iO2Q+dnQ7ZC0tKXV0PU0uUElfT1ZFUl9UV08tZCptdCxydFtDdCsrXT0xLVB0KigxK01hdGguY29zKHV0KSkscnRbQ3QrK109LjUqKDErTWF0aC5zaW4odXQpKTtmb3IoZD12dDtkPjA7ZC0tKXV0PU0uUElfT1ZFUl9UV08tbXQqZCxydFtDdCsrXT0xLWd0KigxK01hdGguY29zKHV0KSkscnRbQ3QrK109LjUqKDErTWF0aC5zaW4odXQpKTtmb3IoZD1sLWI7ZD4wO2QtLSlydFtDdCsrXT1kKmd0LHJ0W0N0KytdPTE7Zm9yKGQ9MTtkPHZ0KzE7ZCsrKXV0PU0uUElfT1ZFUl9UV08rbXQqZCxydFtDdCsrXT1ndCooMStNYXRoLmNvcyh1dCkpLHJ0W0N0KytdPS41KigxK01hdGguc2luKHV0KSl9ZWxzZXtmb3IobC89MyxwLz0zLGd0PTEvKGwtMSksUHQ9MS8ocC0xKSxkPTA7ZDxwO2QrKylydFtDdCsrXT1kKlB0LHJ0W0N0KytdPTA7Zm9yKGQ9bDtkPjA7ZC0tKXJ0W0N0KytdPShkLTEpKmd0LHJ0W0N0KytdPTF9dS5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6cnR9KX1yZXR1cm4gZS5ub3JtYWwmJih1Lm5vcm1hbD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Ti5ub3JtYWxzfSkpLGUudGFuZ2VudCYmKHUudGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Ti50YW5nZW50c30pKSxlLmJpdGFuZ2VudCYmKHUuYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpOLmJpdGFuZ2VudHN9KSkse2F0dHJpYnV0ZXM6dSxpbmRpY2VzOmt9fWZ1bmN0aW9uIFF2KHQsZSl7aWYoIWUubm9ybWFsJiYhZS50YW5nZW50JiYhZS5iaXRhbmdlbnQmJiFlLnN0KXJldHVybiB0O2xldCBuPXQucG9zaXRpb24udmFsdWVzLG8scjsoZS5ub3JtYWx8fGUuYml0YW5nZW50KSYmKG89dC5ub3JtYWwudmFsdWVzLHI9dC5iaXRhbmdlbnQudmFsdWVzKTtsZXQgaT10LnBvc2l0aW9uLnZhbHVlcy5sZW5ndGgvMTgscz1pKjMsZj1pKjIsdT1zKjIsYztpZihlLm5vcm1hbHx8ZS5iaXRhbmdlbnR8fGUudGFuZ2VudCl7bGV0IGw9ZS5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShzKjYpOnZvaWQgMCxwPWUudGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KHMqNik6dm9pZCAwLGQ9ZS5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShzKjYpOnZvaWQgMCxtPVF3LF89SncsZz1fZCxiPXlkLFQ9WnYsTz10TyxFPXU7Zm9yKGM9MDtjPHM7Yys9Myl7bGV0IHc9RSt1O209YS5mcm9tQXJyYXkobixjLG0pLF89YS5mcm9tQXJyYXkobixjK3MsXyksZz1hLmZyb21BcnJheShuLChjKzMpJXMsZyksXz1hLnN1YnRyYWN0KF8sbSxfKSxnPWEuc3VidHJhY3QoZyxtLGcpLGI9YS5ub3JtYWxpemUoYS5jcm9zcyhfLGcsYiksYiksZS5ub3JtYWwmJihxZS5hZGRBdHRyaWJ1dGUobCxiLHcpLHFlLmFkZEF0dHJpYnV0ZShsLGIsdyszKSxxZS5hZGRBdHRyaWJ1dGUobCxiLEUpLHFlLmFkZEF0dHJpYnV0ZShsLGIsRSszKSksKGUudGFuZ2VudHx8ZS5iaXRhbmdlbnQpJiYoTz1hLmZyb21BcnJheShvLGMsTyksZS5iaXRhbmdlbnQmJihxZS5hZGRBdHRyaWJ1dGUoZCxPLHcpLHFlLmFkZEF0dHJpYnV0ZShkLE8sdyszKSxxZS5hZGRBdHRyaWJ1dGUoZCxPLEUpLHFlLmFkZEF0dHJpYnV0ZShkLE8sRSszKSksZS50YW5nZW50JiYoVD1hLm5vcm1hbGl6ZShhLmNyb3NzKE8sYixUKSxUKSxxZS5hZGRBdHRyaWJ1dGUocCxULHcpLHFlLmFkZEF0dHJpYnV0ZShwLFQsdyszKSxxZS5hZGRBdHRyaWJ1dGUocCxULEUpLHFlLmFkZEF0dHJpYnV0ZShwLFQsRSszKSkpLEUrPTZ9aWYoZS5ub3JtYWwpe2ZvcihsLnNldChvKSxjPTA7YzxzO2MrPTMpbFtjK3NdPS1vW2NdLGxbYytzKzFdPS1vW2MrMV0sbFtjK3MrMl09LW9bYysyXTt0Lm5vcm1hbC52YWx1ZXM9bH1lbHNlIHQubm9ybWFsPXZvaWQgMDtpZihlLmJpdGFuZ2VudD8oZC5zZXQociksZC5zZXQocixzKSx0LmJpdGFuZ2VudC52YWx1ZXM9ZCk6dC5iaXRhbmdlbnQ9dm9pZCAwLGUudGFuZ2VudCl7bGV0IHc9dC50YW5nZW50LnZhbHVlcztwLnNldCh3KSxwLnNldCh3LHMpLHQudGFuZ2VudC52YWx1ZXM9cH19aWYoZS5zdCl7bGV0IGw9dC5zdC52YWx1ZXMscD1uZXcgRmxvYXQzMkFycmF5KGYqNik7cC5zZXQobCkscC5zZXQobCxmKTtsZXQgZD1mKjI7Zm9yKGxldCBtPTA7bTwyO20rKyl7Zm9yKHBbZCsrXT1sWzBdLHBbZCsrXT1sWzFdLGM9MjtjPGY7Yys9Mil7bGV0IF89bFtjXSxnPWxbYysxXTtwW2QrK109XyxwW2QrK109ZyxwW2QrK109XyxwW2QrK109Z31wW2QrK109bFswXSxwW2QrK109bFsxXX10LnN0LnZhbHVlcz1wfXJldHVybiB0fWZ1bmN0aW9uIHRfKHQsZSxuKXtuW2UrK109dFswXSxuW2UrK109dFsxXSxuW2UrK109dFsyXTtmb3IobGV0IG89MztvPHQubGVuZ3RoO28rPTMpe2xldCByPXRbb10saT10W28rMV0scz10W28rMl07bltlKytdPXIsbltlKytdPWksbltlKytdPXMsbltlKytdPXIsbltlKytdPWksbltlKytdPXN9cmV0dXJuIG5bZSsrXT10WzBdLG5bZSsrXT10WzFdLG5bZSsrXT10WzJdLG59ZnVuY3Rpb24gSnYodCxlKXtsZXQgbj1uZXcgZHQoe3Bvc2l0aW9uOmUucG9zaXRpb24sbm9ybWFsOmUubm9ybWFsfHxlLmJpdGFuZ2VudHx8dC5zaGFkb3dWb2x1bWUsdGFuZ2VudDplLnRhbmdlbnQsYml0YW5nZW50OmUubm9ybWFsfHxlLmJpdGFuZ2VudCxzdDplLnN0fSksbz10LmVsbGlwc29pZCxyPXFlLmNvbXB1dGVQb3NpdGlvbnModCksaT1uTyhyLG4sbykscz10LmhlaWdodCxmPXQuZXh0cnVkZWRIZWlnaHQsdT1pLmF0dHJpYnV0ZXMsYz1pLmluZGljZXMsbD11LnBvc2l0aW9uLnZhbHVlcyxwPWwubGVuZ3RoLGQ9bmV3IEZsb2F0NjRBcnJheShwKjYpLG09bmV3IEZsb2F0NjRBcnJheShwKTttLnNldChsKTtsZXQgXz1uZXcgRmxvYXQ2NEFycmF5KHAqNCk7bD1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQobCxzLG8pLF89dF8obCwwLF8pLG09UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KG0sZixvKSxfPXRfKG0scCoyLF8pLGQuc2V0KGwpLGQuc2V0KG0scCksZC5zZXQoXyxwKjIpLHUucG9zaXRpb24udmFsdWVzPWQsdT1Rdih1LGUpO2xldCBnLGI9cC8zO2lmKHQuc2hhZG93Vm9sdW1lKXtsZXQgdj11Lm5vcm1hbC52YWx1ZXM7cD12Lmxlbmd0aDtsZXQgTD1uZXcgRmxvYXQzMkFycmF5KHAqNik7Zm9yKGc9MDtnPHA7ZysrKXZbZ109LXZbZ107TC5zZXQodixwKSxMPXRfKHYscCo0LEwpLHUuZXh0cnVkZURpcmVjdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6TH0pLGUubm9ybWFsfHwodS5ub3JtYWw9dm9pZCAwKX1pZihoKHQub2Zmc2V0QXR0cmlidXRlKSl7bGV0IHY9bmV3IFVpbnQ4QXJyYXkoYio2KTtpZih0Lm9mZnNldEF0dHJpYnV0ZT09PWZlLlRPUCl2PXYuZmlsbCgxLDAsYikuZmlsbCgxLGIqMixiKjQpO2Vsc2V7bGV0IEw9dC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MTt2PXYuZmlsbChMKX11LmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOnZ9KX1sZXQgVD1jLmxlbmd0aCxPPWIrYixFPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZC5sZW5ndGgvMyxUKjIrTyozKTtFLnNldChjKTtsZXQgdz1UO2ZvcihnPTA7ZzxUO2crPTMpe2xldCB2PWNbZ10sTD1jW2crMV0sVT1jW2crMl07RVt3KytdPVUrYixFW3crK109TCtiLEVbdysrXT12K2J9bGV0IEMsTixJLEQ7Zm9yKGc9MDtnPE87Zys9MilDPWcrTyxOPUMrTyxJPUMrMSxEPU4rMSxFW3crK109QyxFW3crK109TixFW3crK109SSxFW3crK109SSxFW3crK109TixFW3crK109RDtyZXR1cm57YXR0cmlidXRlczp1LGluZGljZXM6RX19ZnVuY3Rpb24gWncodCxlLG4sbyxyLGkpe2xldCBzPWEuc3VidHJhY3QoZSx0LCR3KTthLm5vcm1hbGl6ZShzLHMpO2xldCBmPW4uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKHQsa2YpLHU9YS5jcm9zcyhzLGYsJHcpO2EubXVsdGlwbHlCeVNjYWxhcih1LG8sdSk7bGV0IGM9ci5sYXRpdHVkZSxsPXIubG9uZ2l0dWRlLHA9aS5sYXRpdHVkZSxkPWkubG9uZ2l0dWRlO2EuYWRkKHQsdSxrZiksbi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhrZix3cik7bGV0IG09d3IubGF0aXR1ZGUsXz13ci5sb25naXR1ZGU7Yz1NYXRoLm1pbihjLG0pLGw9TWF0aC5taW4obCxfKSxwPU1hdGgubWF4KHAsbSksZD1NYXRoLm1heChkLF8pLGEuc3VidHJhY3QodCx1LGtmKSxuLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGtmLHdyKSxtPXdyLmxhdGl0dWRlLF89d3IubG9uZ2l0dWRlLGM9TWF0aC5taW4oYyxtKSxsPU1hdGgubWluKGwsXykscD1NYXRoLm1heChwLG0pLGQ9TWF0aC5tYXgoZCxfKSxyLmxhdGl0dWRlPWMsci5sb25naXR1ZGU9bCxpLmxhdGl0dWRlPXAsaS5sb25naXR1ZGU9ZH1mdW5jdGlvbiBvTyh0LGUsbixvLHIpe3Q9ZU8odCxlKTtsZXQgaT14bih0LGEuZXF1YWxzRXBzaWxvbikscz1pLmxlbmd0aDtpZihzPDJ8fG48PTApcmV0dXJuIG5ldyBOdDtsZXQgZj1uKi41O1FvLmxhdGl0dWRlPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxRby5sb25naXR1ZGU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLEpvLmxhdGl0dWRlPU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxKby5sb25naXR1ZGU9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2xldCB1LGM7aWYobz09PWZuLlJPVU5ERUQpe2xldCBkPWlbMF07YS5zdWJ0cmFjdChkLGlbMV0sVHIpLGEubm9ybWFsaXplKFRyLFRyKSxhLm11bHRpcGx5QnlTY2FsYXIoVHIsZixUciksYS5hZGQoZCxUcixHZiksZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhHZix3ciksdT13ci5sYXRpdHVkZSxjPXdyLmxvbmdpdHVkZSxRby5sYXRpdHVkZT1NYXRoLm1pbihRby5sYXRpdHVkZSx1KSxRby5sb25naXR1ZGU9TWF0aC5taW4oUW8ubG9uZ2l0dWRlLGMpLEpvLmxhdGl0dWRlPU1hdGgubWF4KEpvLmxhdGl0dWRlLHUpLEpvLmxvbmdpdHVkZT1NYXRoLm1heChKby5sb25naXR1ZGUsYyl9Zm9yKGxldCBkPTA7ZDxzLTE7KytkKVp3KGlbZF0saVtkKzFdLGUsZixRbyxKbyk7bGV0IGw9aVtzLTFdO2Euc3VidHJhY3QobCxpW3MtMl0sVHIpLGEubm9ybWFsaXplKFRyLFRyKSxhLm11bHRpcGx5QnlTY2FsYXIoVHIsZixUciksYS5hZGQobCxUcixHZiksWncobCxHZixlLGYsUW8sSm8pLG89PT1mbi5ST1VOREVEJiYoZS5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhHZix3ciksdT13ci5sYXRpdHVkZSxjPXdyLmxvbmdpdHVkZSxRby5sYXRpdHVkZT1NYXRoLm1pbihRby5sYXRpdHVkZSx1KSxRby5sb25naXR1ZGU9TWF0aC5taW4oUW8ubG9uZ2l0dWRlLGMpLEpvLmxhdGl0dWRlPU1hdGgubWF4KEpvLmxhdGl0dWRlLHUpLEpvLmxvbmdpdHVkZT1NYXRoLm1heChKby5sb25naXR1ZGUsYykpO2xldCBwPWgocik/cjpuZXcgTnQ7cmV0dXJuIHAubm9ydGg9Sm8ubGF0aXR1ZGUscC5zb3V0aD1Rby5sYXRpdHVkZSxwLmVhc3Q9Sm8ubG9uZ2l0dWRlLHAud2VzdD1Rby5sb25naXR1ZGUscH1mdW5jdGlvbiBraSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnMsbj10LndpZHRoO3kuZGVmaW5lZCgib3B0aW9ucy5wb3NpdGlvbnMiLGUpLHkuZGVmaW5lZCgib3B0aW9ucy53aWR0aCIsbik7bGV0IG89eCh0LmhlaWdodCwwKSxyPXgodC5leHRydWRlZEhlaWdodCxvKTt0aGlzLl9wb3NpdGlvbnM9ZSx0aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZSh4KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkpLHRoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZSh4KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpKSx0aGlzLl93aWR0aD1uLHRoaXMuX2hlaWdodD1NYXRoLm1heChvLHIpLHRoaXMuX2V4dHJ1ZGVkSGVpZ2h0PU1hdGgubWluKG8sciksdGhpcy5fY29ybmVyVHlwZT14KHQuY29ybmVyVHlwZSxmbi5ST1VOREVEKSx0aGlzLl9ncmFudWxhcml0eT14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLHRoaXMuX3NoYWRvd1ZvbHVtZT14KHQuc2hhZG93Vm9sdW1lLCExKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVDb3JyaWRvckdlb21ldHJ5Iix0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fcmVjdGFuZ2xlPXZvaWQgMCx0aGlzLnBhY2tlZExlbmd0aD0xK2UubGVuZ3RoKmEucGFja2VkTGVuZ3RoKyQucGFja2VkTGVuZ3RoK2R0LnBhY2tlZExlbmd0aCs3fXZhciBRdyxKdyxfZCx5ZCxadix0TyxfcyxiYSwkdyxrZix3cixUcixHZixRbyxKbyxyTyxpTyxWaSxlXyxzTz1aKCgpPT57anIoKTt2ZSgpO0Z0KCk7SWUoKTtYdCgpO0ZlKCk7aGMoKTtKMCgpO0l0KCk7ZnQoKTtadCgpO1hlKCk7WWUoKTthbigpO0xvKCk7JGUoKTtXdCgpO3FyKCk7dG4oKTt3bigpO1JvKCk7UXc9bmV3IGEsSnc9bmV3IGEsX2Q9bmV3IGEseWQ9bmV3IGEsWnY9bmV3IGEsdE89bmV3IGEsX3M9bmV3IGEsYmE9bmV3IGE7JHc9bmV3IGEsa2Y9bmV3IGEsd3I9bmV3IGN0O1RyPW5ldyBhLEdmPW5ldyBhLFFvPW5ldyBjdCxKbz1uZXcgY3Q7a2kucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCk7bGV0IG89dC5fcG9zaXRpb25zLHI9by5sZW5ndGg7ZVtuKytdPXI7Zm9yKGxldCBpPTA7aTxyOysraSxuKz1hLnBhY2tlZExlbmd0aClhLnBhY2sob1tpXSxlLG4pO3JldHVybiAkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX3dpZHRoLGVbbisrXT10Ll9oZWlnaHQsZVtuKytdPXQuX2V4dHJ1ZGVkSGVpZ2h0LGVbbisrXT10Ll9jb3JuZXJUeXBlLGVbbisrXT10Ll9ncmFudWxhcml0eSxlW24rK109dC5fc2hhZG93Vm9sdW1lPzE6MCxlW25dPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlfTtyTz0kLmNsb25lKCQuVU5JVF9TUEhFUkUpLGlPPW5ldyBkdCxWaT17cG9zaXRpb25zOnZvaWQgMCxlbGxpcHNvaWQ6ck8sdmVydGV4Rm9ybWF0OmlPLHdpZHRoOnZvaWQgMCxoZWlnaHQ6dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxjb3JuZXJUeXBlOnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDAsc2hhZG93Vm9sdW1lOnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTtraS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXRbZSsrXSxyPW5ldyBBcnJheShvKTtmb3IobGV0IF89MDtfPG87KytfLGUrPWEucGFja2VkTGVuZ3RoKXJbX109YS51bnBhY2sodCxlKTtsZXQgaT0kLnVucGFjayh0LGUsck8pO2UrPSQucGFja2VkTGVuZ3RoO2xldCBzPWR0LnVucGFjayh0LGUsaU8pO2UrPWR0LnBhY2tlZExlbmd0aDtsZXQgZj10W2UrK10sdT10W2UrK10sYz10W2UrK10sbD10W2UrK10scD10W2UrK10sZD10W2UrK109PT0xLG09dFtlXTtyZXR1cm4gaChuKT8obi5fcG9zaXRpb25zPXIsbi5fZWxsaXBzb2lkPSQuY2xvbmUoaSxuLl9lbGxpcHNvaWQpLG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShzLG4uX3ZlcnRleEZvcm1hdCksbi5fd2lkdGg9ZixuLl9oZWlnaHQ9dSxuLl9leHRydWRlZEhlaWdodD1jLG4uX2Nvcm5lclR5cGU9bCxuLl9ncmFudWxhcml0eT1wLG4uX3NoYWRvd1ZvbHVtZT1kLG4uX29mZnNldEF0dHJpYnV0ZT1tPT09LTE/dm9pZCAwOm0sbik6KFZpLnBvc2l0aW9ucz1yLFZpLndpZHRoPWYsVmkuaGVpZ2h0PXUsVmkuZXh0cnVkZWRIZWlnaHQ9YyxWaS5jb3JuZXJUeXBlPWwsVmkuZ3JhbnVsYXJpdHk9cCxWaS5zaGFkb3dWb2x1bWU9ZCxWaS5vZmZzZXRBdHRyaWJ1dGU9bT09PS0xP3ZvaWQgMDptLG5ldyBraShWaSkpfTtraS5jb21wdXRlUmVjdGFuZ2xlPWZ1bmN0aW9uKHQsZSl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBuPXQucG9zaXRpb25zLG89dC53aWR0aDt5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIixuKSx5LmRlZmluZWQoIm9wdGlvbnMud2lkdGgiLG8pO2xldCByPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxpPXgodC5jb3JuZXJUeXBlLGZuLlJPVU5ERUQpO3JldHVybiBvTyhuLHIsbyxpLGUpfTtraS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9wb3NpdGlvbnMsbj10Ll93aWR0aCxvPXQuX2VsbGlwc29pZDtlPWVPKGUsbyk7bGV0IHI9eG4oZSxhLmVxdWFsc0Vwc2lsb24pO2lmKHIubGVuZ3RoPDJ8fG48PTApcmV0dXJuO2xldCBpPXQuX2hlaWdodCxzPXQuX2V4dHJ1ZGVkSGVpZ2h0LGY9IU0uZXF1YWxzRXBzaWxvbihpLHMsMCxNLkVQU0lMT04yKSx1PXQuX3ZlcnRleEZvcm1hdCxjPXtlbGxpcHNvaWQ6byxwb3NpdGlvbnM6cix3aWR0aDpuLGNvcm5lclR5cGU6dC5fY29ybmVyVHlwZSxncmFudWxhcml0eTp0Ll9ncmFudWxhcml0eSxzYXZlQXR0cmlidXRlczohMH0sbDtpZihmKWMuaGVpZ2h0PWksYy5leHRydWRlZEhlaWdodD1zLGMuc2hhZG93Vm9sdW1lPXQuX3NoYWRvd1ZvbHVtZSxjLm9mZnNldEF0dHJpYnV0ZT10Ll9vZmZzZXRBdHRyaWJ1dGUsbD1KdihjLHUpO2Vsc2V7bGV0IG09cWUuY29tcHV0ZVBvc2l0aW9ucyhjKTtpZihsPW5PKG0sdSxvKSxsLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChsLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLGksbyksaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgXz10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxnPWwuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLGI9bmV3IFVpbnQ4QXJyYXkoZy8zKS5maWxsKF8pO2wuYXR0cmlidXRlcy5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpifSl9fWxldCBwPWwuYXR0cmlidXRlcyxkPUF0LmZyb21WZXJ0aWNlcyhwLnBvc2l0aW9uLnZhbHVlcyx2b2lkIDAsMyk7cmV0dXJuIHUucG9zaXRpb258fChsLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzPXZvaWQgMCksbmV3IFV0KHthdHRyaWJ1dGVzOnAsaW5kaWNlczpsLmluZGljZXMscHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVMsYm91bmRpbmdTcGhlcmU6ZCxvZmZzZXRBdHRyaWJ1dGU6dC5fb2Zmc2V0QXR0cmlidXRlfSl9O2tpLmNyZWF0ZVNoYWRvd1ZvbHVtZT1mdW5jdGlvbih0LGUsbil7bGV0IG89dC5fZ3JhbnVsYXJpdHkscj10Ll9lbGxpcHNvaWQsaT1lKG8scikscz1uKG8scik7cmV0dXJuIG5ldyBraSh7cG9zaXRpb25zOnQuX3Bvc2l0aW9ucyx3aWR0aDp0Ll93aWR0aCxjb3JuZXJUeXBlOnQuX2Nvcm5lclR5cGUsZWxsaXBzb2lkOnIsZ3JhbnVsYXJpdHk6byxleHRydWRlZEhlaWdodDppLGhlaWdodDpzLHZlcnRleEZvcm1hdDpkdC5QT1NJVElPTl9PTkxZLHNoYWRvd1ZvbHVtZTohMH0pfTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhraS5wcm90b3R5cGUse3JlY3RhbmdsZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcy5fcmVjdGFuZ2xlKXx8KHRoaXMuX3JlY3RhbmdsZT1vTyh0aGlzLl9wb3NpdGlvbnMsdGhpcy5fZWxsaXBzb2lkLHRoaXMuX3dpZHRoLHRoaXMuX2Nvcm5lclR5cGUpKSx0aGlzLl9yZWN0YW5nbGV9fSx0ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm5bMCwwLDAsMSwxLDBdfX19KTtlXz1raX0pO3ZhciBuXz17fTtkZShuXyx7ZGVmYXVsdDooKT0+ZUx9KTtmdW5jdGlvbiB0TCh0LGUpe3JldHVybiBoKGUpJiYodD1lXy51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxlXy5jcmVhdGVHZW9tZXRyeSh0KX12YXIgZUwsb189WigoKT0+e3NPKCk7ZnQoKTtadCgpO2VMPXRMfSk7ZnVuY3Rpb24gb0wodCxlKXtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rKyl0W25dPWUuc2NhbGVUb0dlb2RldGljU3VyZmFjZSh0W25dLHRbbl0pO3JldHVybiB0fWZ1bmN0aW9uIGZPKHQsZSl7bGV0IG49W10sbz10LnBvc2l0aW9ucyxyPXQuY29ybmVycyxpPXQuZW5kUG9zaXRpb25zLHM9bmV3IGllLGYsdT0wLGM9MCxsLHA9MCxkO2ZvcihsPTA7bDxvLmxlbmd0aDtsKz0yKWQ9b1tsXS5sZW5ndGgtMyx1Kz1kLHArPWQvMyo0LGMrPW9bbCsxXS5sZW5ndGgtMztmb3IodSs9MyxjKz0zLGw9MDtsPHIubGVuZ3RoO2wrKyl7Zj1yW2xdO2xldCBGPXJbbF0ubGVmdFBvc2l0aW9ucztoKEYpPyhkPUYubGVuZ3RoLHUrPWQscCs9ZC8zKjIpOihkPXJbbF0ucmlnaHRQb3NpdGlvbnMubGVuZ3RoLGMrPWQscCs9ZC8zKjIpfWxldCBtPWgoaSksXzttJiYoXz1pWzBdLmxlbmd0aC0zLHUrPV8sYys9XyxfLz0zLHArPV8qNCk7bGV0IGc9dStjLGI9bmV3IEZsb2F0NjRBcnJheShnKSxUPTAsTz1nLTEsRSx3LEMsTixJLEQsdj1fLzIsTD1EdC5jcmVhdGVUeXBlZEFycmF5KGcvMyxwKzQpLFU9MDtpZihMW1UrK109VC8zLExbVSsrXT0oTy0yKS8zLG0pe24ucHVzaChULzMpLEQ9Y08sST1hTztsZXQgRj1pWzBdO2ZvcihsPTA7bDx2O2wrKylEPWEuZnJvbUFycmF5KEYsKHYtMS1sKSozLEQpLEk9YS5mcm9tQXJyYXkoRiwoditsKSozLEkpLHFlLmFkZEF0dHJpYnV0ZShiLEksVCkscWUuYWRkQXR0cmlidXRlKGIsRCx2b2lkIDAsTyksdz1ULzMsTj13KzEsRT0oTy0yKS8zLEM9RS0xLExbVSsrXT1FLExbVSsrXT1DLExbVSsrXT13LExbVSsrXT1OLFQrPTMsTy09M31sZXQgQT0wLFM9b1tBKytdLFA9b1tBKytdO2ZvcihiLnNldChTLFQpLGIuc2V0KFAsTy1QLmxlbmd0aCsxKSxkPVAubGVuZ3RoLTMsbi5wdXNoKFQvMywoTy0yKS8zKSxsPTA7bDxkO2wrPTMpdz1ULzMsTj13KzEsRT0oTy0yKS8zLEM9RS0xLExbVSsrXT1FLExbVSsrXT1DLExbVSsrXT13LExbVSsrXT1OLFQrPTMsTy09Mztmb3IobD0wO2w8ci5sZW5ndGg7bCsrKXtsZXQgRjtmPXJbbF07bGV0IGo9Zi5sZWZ0UG9zaXRpb25zLEg9Zi5yaWdodFBvc2l0aW9ucyxrLEs9bkw7aWYoaChqKSl7Zm9yKE8tPTMsaz1DLG4ucHVzaChOKSxGPTA7RjxqLmxlbmd0aC8zO0YrKylLPWEuZnJvbUFycmF5KGosRiozLEspLExbVSsrXT1rLUYtMSxMW1UrK109ay1GLHFlLmFkZEF0dHJpYnV0ZShiLEssdm9pZCAwLE8pLE8tPTM7bi5wdXNoKGstTWF0aC5mbG9vcihqLmxlbmd0aC82KSksZT09PWZuLkJFVkVMRUQmJm4ucHVzaCgoTy0yKS8zKzEpLFQrPTN9ZWxzZXtmb3IoVCs9MyxrPU4sbi5wdXNoKEMpLEY9MDtGPEgubGVuZ3RoLzM7RisrKUs9YS5mcm9tQXJyYXkoSCxGKjMsSyksTFtVKytdPWsrRixMW1UrK109aytGKzEscWUuYWRkQXR0cmlidXRlKGIsSyxUKSxUKz0zO24ucHVzaChrK01hdGguZmxvb3IoSC5sZW5ndGgvNikpLGU9PT1mbi5CRVZFTEVEJiZuLnB1c2goVC8zLTEpLE8tPTN9Zm9yKFM9b1tBKytdLFA9b1tBKytdLFMuc3BsaWNlKDAsMyksUC5zcGxpY2UoUC5sZW5ndGgtMywzKSxiLnNldChTLFQpLGIuc2V0KFAsTy1QLmxlbmd0aCsxKSxkPVAubGVuZ3RoLTMsRj0wO0Y8UC5sZW5ndGg7Ris9MylOPVQvMyx3PU4tMSxDPShPLTIpLzMsRT1DKzEsTFtVKytdPUUsTFtVKytdPUMsTFtVKytdPXcsTFtVKytdPU4sVCs9MyxPLT0zO1QtPTMsTys9MyxuLnB1c2goVC8zLChPLTIpLzMpfWlmKG0pe1QrPTMsTy09MyxEPWNPLEk9YU87bGV0IEY9aVsxXTtmb3IobD0wO2w8djtsKyspRD1hLmZyb21BcnJheShGLChfLWwtMSkqMyxEKSxJPWEuZnJvbUFycmF5KEYsbCozLEkpLHFlLmFkZEF0dHJpYnV0ZShiLEQsdm9pZCAwLE8pLHFlLmFkZEF0dHJpYnV0ZShiLEksVCksTj1ULzMsdz1OLTEsQz0oTy0yKS8zLEU9QysxLExbVSsrXT1FLExbVSsrXT1DLExbVSsrXT13LExbVSsrXT1OLFQrPTMsTy09MztuLnB1c2goVC8zKX1lbHNlIG4ucHVzaChULzMsKE8tMikvMyk7cmV0dXJuIExbVSsrXT1ULzMsTFtVKytdPShPLTIpLzMscy5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmJ9KSx7YXR0cmlidXRlczpzLGluZGljZXM6TCx3YWxsSW5kaWNlczpufX1mdW5jdGlvbiByTCh0KXtsZXQgZT10LmVsbGlwc29pZCxuPXFlLmNvbXB1dGVQb3NpdGlvbnModCksbz1mTyhuLHQuY29ybmVyVHlwZSkscj1vLndhbGxJbmRpY2VzLGk9dC5oZWlnaHQscz10LmV4dHJ1ZGVkSGVpZ2h0LGY9by5hdHRyaWJ1dGVzLHU9by5pbmRpY2VzLGM9Zi5wb3NpdGlvbi52YWx1ZXMsbD1jLmxlbmd0aCxwPW5ldyBGbG9hdDY0QXJyYXkobCk7cC5zZXQoYyk7bGV0IGQ9bmV3IEZsb2F0NjRBcnJheShsKjIpO2lmKGM9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KGMsaSxlKSxwPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChwLHMsZSksZC5zZXQoYyksZC5zZXQocCxsKSxmLnBvc2l0aW9uLnZhbHVlcz1kLGwvPTMsaCh0Lm9mZnNldEF0dHJpYnV0ZSkpe2xldCBFPW5ldyBVaW50OEFycmF5KGwqMik7aWYodC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApRT1FLmZpbGwoMSwwLGwpO2Vsc2V7bGV0IHc9dC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MTtFPUUuZmlsbCh3KX1mLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOkV9KX1sZXQgbSxfPXUubGVuZ3RoLGc9RHQuY3JlYXRlVHlwZWRBcnJheShkLmxlbmd0aC8zLChfK3IubGVuZ3RoKSoyKTtnLnNldCh1KTtsZXQgYj1fO2ZvcihtPTA7bTxfO20rPTIpe2xldCBFPXVbbV0sdz11W20rMV07Z1tiKytdPUUrbCxnW2IrK109dytsfWxldCBULE87Zm9yKG09MDttPHIubGVuZ3RoO20rKylUPXJbbV0sTz1UK2wsZ1tiKytdPVQsZ1tiKytdPU87cmV0dXJue2F0dHJpYnV0ZXM6ZixpbmRpY2VzOmd9fWZ1bmN0aW9uIHpmKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvc2l0aW9ucyxuPXQud2lkdGg7eS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLnBvc2l0aW9ucyIsZSkseS50eXBlT2YubnVtYmVyKCJvcHRpb25zLndpZHRoIixuKTtsZXQgbz14KHQuaGVpZ2h0LDApLHI9eCh0LmV4dHJ1ZGVkSGVpZ2h0LG8pO3RoaXMuX3Bvc2l0aW9ucz1lLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKHgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSksdGhpcy5fd2lkdGg9bix0aGlzLl9oZWlnaHQ9TWF0aC5tYXgobyxyKSx0aGlzLl9leHRydWRlZEhlaWdodD1NYXRoLm1pbihvLHIpLHRoaXMuX2Nvcm5lclR5cGU9eCh0LmNvcm5lclR5cGUsZm4uUk9VTkRFRCksdGhpcy5fZ3JhbnVsYXJpdHk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSx0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlQ29ycmlkb3JPdXRsaW5lR2VvbWV0cnkiLHRoaXMucGFja2VkTGVuZ3RoPTErZS5sZW5ndGgqYS5wYWNrZWRMZW5ndGgrJC5wYWNrZWRMZW5ndGgrNn12YXIgY08sYU8sbkwsdU8seXMscl8sbE89WigoKT0+e2pyKCk7dmUoKTtGdCgpO1h0KCk7RmUoKTtoYygpO0owKCk7SXQoKTtmdCgpO1p0KCk7WGUoKTtZZSgpO2FuKCk7TG8oKTskZSgpO1d0KCk7cXIoKTt0bigpO2NPPW5ldyBhLGFPPW5ldyBhLG5MPW5ldyBhO3pmLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkudHlwZU9mLm9iamVjdCgiYXJyYXkiLGUpLG49eChuLDApO2xldCBvPXQuX3Bvc2l0aW9ucyxyPW8ubGVuZ3RoO2VbbisrXT1yO2ZvcihsZXQgaT0wO2k8cjsrK2ksbis9YS5wYWNrZWRMZW5ndGgpYS5wYWNrKG9baV0sZSxuKTtyZXR1cm4gJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll93aWR0aCxlW24rK109dC5faGVpZ2h0LGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fY29ybmVyVHlwZSxlW24rK109dC5fZ3JhbnVsYXJpdHksZVtuXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZX07dU89JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSx5cz17cG9zaXRpb25zOnZvaWQgMCxlbGxpcHNvaWQ6dU8sd2lkdGg6dm9pZCAwLGhlaWdodDp2b2lkIDAsZXh0cnVkZWRIZWlnaHQ6dm9pZCAwLGNvcm5lclR5cGU6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTt6Zi51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXRbZSsrXSxyPW5ldyBBcnJheShvKTtmb3IobGV0IGQ9MDtkPG87KytkLGUrPWEucGFja2VkTGVuZ3RoKXJbZF09YS51bnBhY2sodCxlKTtsZXQgaT0kLnVucGFjayh0LGUsdU8pO2UrPSQucGFja2VkTGVuZ3RoO2xldCBzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZSsrXSxjPXRbZSsrXSxsPXRbZSsrXSxwPXRbZV07cmV0dXJuIGgobik/KG4uX3Bvc2l0aW9ucz1yLG4uX2VsbGlwc29pZD0kLmNsb25lKGksbi5fZWxsaXBzb2lkKSxuLl93aWR0aD1zLG4uX2hlaWdodD1mLG4uX2V4dHJ1ZGVkSGVpZ2h0PXUsbi5fY29ybmVyVHlwZT1jLG4uX2dyYW51bGFyaXR5PWwsbi5fb2Zmc2V0QXR0cmlidXRlPXA9PT0tMT92b2lkIDA6cCxuKTooeXMucG9zaXRpb25zPXIseXMud2lkdGg9cyx5cy5oZWlnaHQ9Zix5cy5leHRydWRlZEhlaWdodD11LHlzLmNvcm5lclR5cGU9Yyx5cy5ncmFudWxhcml0eT1sLHlzLm9mZnNldEF0dHJpYnV0ZT1wPT09LTE/dm9pZCAwOnAsbmV3IHpmKHlzKSl9O3pmLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3Bvc2l0aW9ucyxuPXQuX3dpZHRoLG89dC5fZWxsaXBzb2lkO2U9b0woZSxvKTtsZXQgcj14bihlLGEuZXF1YWxzRXBzaWxvbik7aWYoci5sZW5ndGg8Mnx8bjw9MClyZXR1cm47bGV0IGk9dC5faGVpZ2h0LHM9dC5fZXh0cnVkZWRIZWlnaHQsZj0hTS5lcXVhbHNFcHNpbG9uKGkscywwLE0uRVBTSUxPTjIpLHU9e2VsbGlwc29pZDpvLHBvc2l0aW9uczpyLHdpZHRoOm4sY29ybmVyVHlwZTp0Ll9jb3JuZXJUeXBlLGdyYW51bGFyaXR5OnQuX2dyYW51bGFyaXR5LHNhdmVBdHRyaWJ1dGVzOiExfSxjO2lmKGYpdS5oZWlnaHQ9aSx1LmV4dHJ1ZGVkSGVpZ2h0PXMsdS5vZmZzZXRBdHRyaWJ1dGU9dC5fb2Zmc2V0QXR0cmlidXRlLGM9ckwodSk7ZWxzZXtsZXQgZD1xZS5jb21wdXRlUG9zaXRpb25zKHUpO2lmKGM9Zk8oZCx1LmNvcm5lclR5cGUpLGMuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KGMuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsaSxvKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBtPWMuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLF89dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsZz1uZXcgVWludDhBcnJheShtLzMpLmZpbGwoXyk7Yy5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOmd9KX19bGV0IGw9Yy5hdHRyaWJ1dGVzLHA9QXQuZnJvbVZlcnRpY2VzKGwucG9zaXRpb24udmFsdWVzLHZvaWQgMCwzKTtyZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOmwsaW5kaWNlczpjLmluZGljZXMscHJpbWl0aXZlVHlwZTpCdC5MSU5FUyxib3VuZGluZ1NwaGVyZTpwLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07cl89emZ9KTt2YXIgaV89e307ZGUoaV8se2RlZmF1bHQ6KCk9PnNMfSk7ZnVuY3Rpb24gaUwodCxlKXtyZXR1cm4gaChlKSYmKHQ9cl8udW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCkscl8uY3JlYXRlR2VvbWV0cnkodCl9dmFyIHNMLHNfPVooKCk9PntsTygpO2Z0KCk7WnQoKTtzTD1pTH0pO3ZhciBwTyxnZCxjXz1aKCgpPT57V3QoKTtwTz17fTtwTy5jb21wdXRlUG9zaXRpb25zPWZ1bmN0aW9uKHQsZSxuLG8scil7bGV0IGk9dCouNSxzPS1pLGY9bytvLHU9cj8yKmY6ZixjPW5ldyBGbG9hdDY0QXJyYXkodSozKSxsLHA9MCxkPTAsbT1yP2YqMzowLF89cj8oZitvKSozOm8qMztmb3IobD0wO2w8bztsKyspe2xldCBnPWwvbypNLlRXT19QSSxiPU1hdGguY29zKGcpLFQ9TWF0aC5zaW4oZyksTz1iKm4sRT1UKm4sdz1iKmUsQz1UKmU7Y1tkK21dPU8sY1tkK20rMV09RSxjW2QrbSsyXT1zLGNbZCtfXT13LGNbZCtfKzFdPUMsY1tkK18rMl09aSxkKz0zLHImJihjW3ArK109TyxjW3ArK109RSxjW3ArK109cyxjW3ArK109dyxjW3ArK109QyxjW3ArK109aSl9cmV0dXJuIGN9O2dkPXBPfSk7ZnVuY3Rpb24gR2kodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQubGVuZ3RoLG49dC50b3BSYWRpdXMsbz10LmJvdHRvbVJhZGl1cyxyPXgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCksaT14KHQuc2xpY2VzLDEyOCk7aWYoIWgoZSkpdGhyb3cgbmV3IEIoIm9wdGlvbnMubGVuZ3RoIG11c3QgYmUgZGVmaW5lZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigib3B0aW9ucy50b3BSYWRpdXMgbXVzdCBiZSBkZWZpbmVkLiIpO2lmKCFoKG8pKXRocm93IG5ldyBCKCJvcHRpb25zLmJvdHRvbVJhZGl1cyBtdXN0IGJlIGRlZmluZWQuIik7aWYoaTwzKXRocm93IG5ldyBCKCJvcHRpb25zLnNsaWNlcyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAzLiIpO2lmKGgodC5vZmZzZXRBdHRyaWJ1dGUpJiZ0Lm9mZnNldEF0dHJpYnV0ZT09PWZlLlRPUCl0aHJvdyBuZXcgQigiR2VvbWV0cnlPZmZzZXRBdHRyaWJ1dGUuVE9QIGlzIG5vdCBhIHN1cHBvcnRlZCBvcHRpb25zLm9mZnNldEF0dHJpYnV0ZSBmb3IgdGhpcyBnZW9tZXRyeS4iKTt0aGlzLl9sZW5ndGg9ZSx0aGlzLl90b3BSYWRpdXM9bix0aGlzLl9ib3R0b21SYWRpdXM9byx0aGlzLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUociksdGhpcy5fc2xpY2VzPWksdGhpcy5fb2Zmc2V0QXR0cmlidXRlPXQub2Zmc2V0QXR0cmlidXRlLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUN5bGluZGVyR2VvbWV0cnkifXZhciBhXyxjTCxhTCxmTCx1TCxkTyxUYSxmXyxqZix1Xz1aKCgpPT57dmUoKTtVZSgpO0Z0KCk7RmUoKTtjXygpO0l0KCk7ZnQoKTtIdCgpO1hlKCk7WWUoKTthbigpO0xvKCk7JGUoKTtXdCgpO3RuKCk7Um8oKTthXz1uZXcgdHQsY0w9bmV3IGEsYUw9bmV3IGEsZkw9bmV3IGEsdUw9bmV3IGE7R2kucGFja2VkTGVuZ3RoPWR0LnBhY2tlZExlbmd0aCs1O0dpLnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ2YWx1ZSBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJhcnJheSBpcyByZXF1aXJlZCIpO3JldHVybiBuPXgobiwwKSxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW24rK109dC5fbGVuZ3RoLGVbbisrXT10Ll90b3BSYWRpdXMsZVtuKytdPXQuX2JvdHRvbVJhZGl1cyxlW24rK109dC5fc2xpY2VzLGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O2RPPW5ldyBkdCxUYT17dmVydGV4Rm9ybWF0OmRPLGxlbmd0aDp2b2lkIDAsdG9wUmFkaXVzOnZvaWQgMCxib3R0b21SYWRpdXM6dm9pZCAwLHNsaWNlczp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07R2kudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtlPXgoZSwwKTtsZXQgbz1kdC51bnBhY2sodCxlLGRPKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IHI9dFtlKytdLGk9dFtlKytdLHM9dFtlKytdLGY9dFtlKytdLHU9dFtlXTtyZXR1cm4gaChuKT8obi5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKG8sbi5fdmVydGV4Rm9ybWF0KSxuLl9sZW5ndGg9cixuLl90b3BSYWRpdXM9aSxuLl9ib3R0b21SYWRpdXM9cyxuLl9zbGljZXM9ZixuLl9vZmZzZXRBdHRyaWJ1dGU9dT09PS0xP3ZvaWQgMDp1LG4pOihUYS5sZW5ndGg9cixUYS50b3BSYWRpdXM9aSxUYS5ib3R0b21SYWRpdXM9cyxUYS5zbGljZXM9ZixUYS5vZmZzZXRBdHRyaWJ1dGU9dT09PS0xP3ZvaWQgMDp1LG5ldyBHaShUYSkpfTtHaS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtsZXQgZT10Ll9sZW5ndGgsbj10Ll90b3BSYWRpdXMsbz10Ll9ib3R0b21SYWRpdXMscj10Ll92ZXJ0ZXhGb3JtYXQsaT10Ll9zbGljZXM7aWYoZTw9MHx8bjwwfHxvPDB8fG49PT0wJiZvPT09MClyZXR1cm47bGV0IHM9aStpLGY9aStzLHU9cytzLGM9Z2QuY29tcHV0ZVBvc2l0aW9ucyhlLG4sbyxpLCEwKSxsPXIuc3Q/bmV3IEZsb2F0MzJBcnJheSh1KjIpOnZvaWQgMCxwPXIubm9ybWFsP25ldyBGbG9hdDMyQXJyYXkodSozKTp2b2lkIDAsZD1yLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheSh1KjMpOnZvaWQgMCxtPXIuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkodSozKTp2b2lkIDAsXyxnPXIubm9ybWFsfHxyLnRhbmdlbnR8fHIuYml0YW5nZW50O2lmKGcpe2xldCBJPXIudGFuZ2VudHx8ci5iaXRhbmdlbnQsRD0wLHY9MCxMPTAsVT1NYXRoLmF0YW4yKG8tbixlKSxBPWNMO0Euej1NYXRoLnNpbihVKTtsZXQgUz1NYXRoLmNvcyhVKSxQPWZMLEY9YUw7Zm9yKF89MDtfPGk7XysrKXtsZXQgaj1fL2kqTS5UV09fUEksSD1TKk1hdGguY29zKGopLGs9UypNYXRoLnNpbihqKTtnJiYoQS54PUgsQS55PWssSSYmKFA9YS5ub3JtYWxpemUoYS5jcm9zcyhhLlVOSVRfWixBLFApLFApKSxyLm5vcm1hbCYmKHBbRCsrXT1BLngscFtEKytdPUEueSxwW0QrK109QS56LHBbRCsrXT1BLngscFtEKytdPUEueSxwW0QrK109QS56KSxyLnRhbmdlbnQmJihkW3YrK109UC54LGRbdisrXT1QLnksZFt2KytdPVAueixkW3YrK109UC54LGRbdisrXT1QLnksZFt2KytdPVAueiksci5iaXRhbmdlbnQmJihGPWEubm9ybWFsaXplKGEuY3Jvc3MoQSxQLEYpLEYpLG1bTCsrXT1GLngsbVtMKytdPUYueSxtW0wrK109Ri56LG1bTCsrXT1GLngsbVtMKytdPUYueSxtW0wrK109Ri56KSl9Zm9yKF89MDtfPGk7XysrKXIubm9ybWFsJiYocFtEKytdPTAscFtEKytdPTAscFtEKytdPS0xKSxyLnRhbmdlbnQmJihkW3YrK109MSxkW3YrK109MCxkW3YrK109MCksci5iaXRhbmdlbnQmJihtW0wrK109MCxtW0wrK109LTEsbVtMKytdPTApO2ZvcihfPTA7XzxpO18rKylyLm5vcm1hbCYmKHBbRCsrXT0wLHBbRCsrXT0wLHBbRCsrXT0xKSxyLnRhbmdlbnQmJihkW3YrK109MSxkW3YrK109MCxkW3YrK109MCksci5iaXRhbmdlbnQmJihtW0wrK109MCxtW0wrK109MSxtW0wrK109MCl9bGV0IGI9MTIqaS0xMixUPUR0LmNyZWF0ZVR5cGVkQXJyYXkodSxiKSxPPTAsRT0wO2ZvcihfPTA7XzxpLTE7XysrKVRbTysrXT1FLFRbTysrXT1FKzIsVFtPKytdPUUrMyxUW08rK109RSxUW08rK109RSszLFRbTysrXT1FKzEsRSs9Mjtmb3IoVFtPKytdPXMtMixUW08rK109MCxUW08rK109MSxUW08rK109cy0yLFRbTysrXT0xLFRbTysrXT1zLTEsXz0xO188aS0xO18rKylUW08rK109cytfKzEsVFtPKytdPXMrXyxUW08rK109cztmb3IoXz0xO188aS0xO18rKylUW08rK109ZixUW08rK109ZitfLFRbTysrXT1mK18rMTtsZXQgdz0wO2lmKHIuc3Qpe2xldCBJPU1hdGgubWF4KG4sbyk7Zm9yKF89MDtfPHU7XysrKXtsZXQgRD1hLmZyb21BcnJheShjLF8qMyx1TCk7bFt3KytdPShELngrSSkvKDIqSSksbFt3KytdPShELnkrSSkvKDIqSSl9fWxldCBDPW5ldyBpZTtyLnBvc2l0aW9uJiYoQy5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmN9KSksci5ub3JtYWwmJihDLm5vcm1hbD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6cH0pKSxyLnRhbmdlbnQmJihDLnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmR9KSksci5iaXRhbmdlbnQmJihDLmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6bX0pKSxyLnN0JiYoQy5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6bH0pKSxhXy54PWUqLjUsYV8ueT1NYXRoLm1heChvLG4pO2xldCBOPW5ldyBBdChhLlpFUk8sdHQubWFnbml0dWRlKGFfKSk7aWYoaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtlPWMubGVuZ3RoO2xldCBJPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxLEQ9bmV3IFVpbnQ4QXJyYXkoZS8zKS5maWxsKEkpO0MuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6RH0pfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6QyxpbmRpY2VzOlQscHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVMsYm91bmRpbmdTcGhlcmU6TixvZmZzZXRBdHRyaWJ1dGU6dC5fb2Zmc2V0QXR0cmlidXRlfSl9O0dpLmdldFVuaXRDeWxpbmRlcj1mdW5jdGlvbigpe3JldHVybiBoKGZfKXx8KGZfPUdpLmNyZWF0ZUdlb21ldHJ5KG5ldyBHaSh7dG9wUmFkaXVzOjEsYm90dG9tUmFkaXVzOjEsbGVuZ3RoOjEsdmVydGV4Rm9ybWF0OmR0LlBPU0lUSU9OX09OTFl9KSkpLGZffTtqZj1HaX0pO3ZhciBsXz17fTtkZShsXyx7ZGVmYXVsdDooKT0+cEx9KTtmdW5jdGlvbiBsTCh0LGUpe3JldHVybiBoKGUpJiYodD1qZi51bnBhY2sodCxlKSksamYuY3JlYXRlR2VvbWV0cnkodCl9dmFyIHBMLHBfPVooKCk9Pnt1XygpO2Z0KCk7cEw9bEx9KTtmdW5jdGlvbiB3YSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5sZW5ndGgsbj10LnRvcFJhZGl1cyxvPXQuYm90dG9tUmFkaXVzLHI9eCh0LnNsaWNlcywxMjgpLGk9TWF0aC5tYXgoeCh0Lm51bWJlck9mVmVydGljYWxMaW5lcywxNiksMCk7aWYoeS50eXBlT2YubnVtYmVyKCJvcHRpb25zLnBvc2l0aW9ucyIsZSkseS50eXBlT2YubnVtYmVyKCJvcHRpb25zLnRvcFJhZGl1cyIsbikseS50eXBlT2YubnVtYmVyKCJvcHRpb25zLmJvdHRvbVJhZGl1cyIsbykseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIm9wdGlvbnMuc2xpY2VzIixyLDMpLGgodC5vZmZzZXRBdHRyaWJ1dGUpJiZ0Lm9mZnNldEF0dHJpYnV0ZT09PWZlLlRPUCl0aHJvdyBuZXcgQigiR2VvbWV0cnlPZmZzZXRBdHRyaWJ1dGUuVE9QIGlzIG5vdCBhIHN1cHBvcnRlZCBvcHRpb25zLm9mZnNldEF0dHJpYnV0ZSBmb3IgdGhpcyBnZW9tZXRyeS4iKTt0aGlzLl9sZW5ndGg9ZSx0aGlzLl90b3BSYWRpdXM9bix0aGlzLl9ib3R0b21SYWRpdXM9byx0aGlzLl9zbGljZXM9cix0aGlzLl9udW1iZXJPZlZlcnRpY2FsTGluZXM9aSx0aGlzLl9vZmZzZXRBdHRyaWJ1dGU9dC5vZmZzZXRBdHRyaWJ1dGUsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlQ3lsaW5kZXJPdXRsaW5lR2VvbWV0cnkifXZhciBkXyx5YyxtXyxtTz1aKCgpPT57dmUoKTtVZSgpO0Z0KCk7WHQoKTtGZSgpO2NfKCk7SXQoKTtmdCgpO0h0KCk7WGUoKTtZZSgpO2FuKCk7TG8oKTskZSgpO3RuKCk7ZF89bmV3IHR0O3dhLnBhY2tlZExlbmd0aD02O3dhLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxlW24rK109dC5fbGVuZ3RoLGVbbisrXT10Ll90b3BSYWRpdXMsZVtuKytdPXQuX2JvdHRvbVJhZGl1cyxlW24rK109dC5fc2xpY2VzLGVbbisrXT10Ll9udW1iZXJPZlZlcnRpY2FsTGluZXMsZVtuXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZX07eWM9e2xlbmd0aDp2b2lkIDAsdG9wUmFkaXVzOnZvaWQgMCxib3R0b21SYWRpdXM6dm9pZCAwLHNsaWNlczp2b2lkIDAsbnVtYmVyT2ZWZXJ0aWNhbExpbmVzOnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTt3YS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXRbZSsrXSxyPXRbZSsrXSxpPXRbZSsrXSxzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZV07cmV0dXJuIGgobik/KG4uX2xlbmd0aD1vLG4uX3RvcFJhZGl1cz1yLG4uX2JvdHRvbVJhZGl1cz1pLG4uX3NsaWNlcz1zLG4uX251bWJlck9mVmVydGljYWxMaW5lcz1mLG4uX29mZnNldEF0dHJpYnV0ZT11PT09LTE/dm9pZCAwOnUsbik6KHljLmxlbmd0aD1vLHljLnRvcFJhZGl1cz1yLHljLmJvdHRvbVJhZGl1cz1pLHljLnNsaWNlcz1zLHljLm51bWJlck9mVmVydGljYWxMaW5lcz1mLHljLm9mZnNldEF0dHJpYnV0ZT11PT09LTE/dm9pZCAwOnUsbmV3IHdhKHljKSl9O3dhLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX2xlbmd0aCxuPXQuX3RvcFJhZGl1cyxvPXQuX2JvdHRvbVJhZGl1cyxyPXQuX3NsaWNlcyxpPXQuX251bWJlck9mVmVydGljYWxMaW5lcztpZihlPD0wfHxuPDB8fG88MHx8bj09PTAmJm89PT0wKXJldHVybjtsZXQgcz1yKjIsZj1nZC5jb21wdXRlUG9zaXRpb25zKGUsbixvLHIsITEpLHU9cioyLGM7aWYoaT4wKXtsZXQgZz1NYXRoLm1pbihpLHIpO2M9TWF0aC5yb3VuZChyL2cpLHUrPWd9bGV0IGw9RHQuY3JlYXRlVHlwZWRBcnJheShzLHUqMikscD0wLGQ7Zm9yKGQ9MDtkPHItMTtkKyspbFtwKytdPWQsbFtwKytdPWQrMSxsW3ArK109ZCtyLGxbcCsrXT1kKzErcjtpZihsW3ArK109ci0xLGxbcCsrXT0wLGxbcCsrXT1yK3ItMSxsW3ArK109cixpPjApZm9yKGQ9MDtkPHI7ZCs9YylsW3ArK109ZCxsW3ArK109ZCtyO2xldCBtPW5ldyBpZTttLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Zn0pLGRfLng9ZSouNSxkXy55PU1hdGgubWF4KG8sbik7bGV0IF89bmV3IEF0KGEuWkVSTyx0dC5tYWduaXR1ZGUoZF8pKTtpZihoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2U9Zi5sZW5ndGg7bGV0IGc9dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsYj1uZXcgVWludDhBcnJheShlLzMpLmZpbGwoZyk7bS5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpifSl9cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczptLGluZGljZXM6bCxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOl8sb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTttXz13YX0pO3ZhciBoXz17fTtkZShoXyx7ZGVmYXVsdDooKT0+bUx9KTtmdW5jdGlvbiBkTCh0LGUpe3JldHVybiBoKGUpJiYodD1tXy51bnBhY2sodCxlKSksbV8uY3JlYXRlR2VvbWV0cnkodCl9dmFyIG1MLF9fPVooKCk9PnttTygpO2Z0KCk7bUw9ZEx9KTt2YXIgeV89e307ZGUoeV8se2RlZmF1bHQ6KCk9Pl9MfSk7ZnVuY3Rpb24gaEwodCxlKXtyZXR1cm4gaChlKSYmKHQ9R3IudW5wYWNrKHQsZSkpLHQuX2NlbnRlcj1hLmNsb25lKHQuX2NlbnRlciksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxHci5jcmVhdGVHZW9tZXRyeSh0KX12YXIgX0wsZ189WigoKT0+e0Z0KCk7ZnQoKTtnMCgpO1p0KCk7X0w9aEx9KTt2YXIgQV89e307ZGUoQV8se2RlZmF1bHQ6KCk9PmdMfSk7ZnVuY3Rpb24geUwodCxlKXtyZXR1cm4gaChlKSYmKHQ9enIudW5wYWNrKHQsZSkpLHQuX2NlbnRlcj1hLmNsb25lKHQuX2NlbnRlciksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSx6ci5jcmVhdGVHZW9tZXRyeSh0KX12YXIgZ0wsYl89WigoKT0+e0Z0KCk7ZnQoKTt3MCgpO1p0KCk7Z0w9eUx9KTtmdW5jdGlvbiB6aSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9eCh0LnJhZGlpLEVMKSxuPXgodC5pbm5lclJhZGlpLGUpLG89eCh0Lm1pbmltdW1DbG9jaywwKSxyPXgodC5tYXhpbXVtQ2xvY2ssTS5UV09fUEkpLGk9eCh0Lm1pbmltdW1Db25lLDApLHM9eCh0Lm1heGltdW1Db25lLE0uUEkpLGY9TWF0aC5yb3VuZCh4KHQuc3RhY2tQYXJ0aXRpb25zLDY0KSksdT1NYXRoLnJvdW5kKHgodC5zbGljZVBhcnRpdGlvbnMsNjQpKSxjPXgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCk7aWYodTwzKXRocm93IG5ldyBCKCJvcHRpb25zLnNsaWNlUGFydGl0aW9ucyBjYW5ub3QgYmUgbGVzcyB0aGFuIHRocmVlLiIpO2lmKGY8Myl0aHJvdyBuZXcgQigib3B0aW9ucy5zdGFja1BhcnRpdGlvbnMgY2Fubm90IGJlIGxlc3MgdGhhbiB0aHJlZS4iKTt0aGlzLl9yYWRpaT1hLmNsb25lKGUpLHRoaXMuX2lubmVyUmFkaWk9YS5jbG9uZShuKSx0aGlzLl9taW5pbXVtQ2xvY2s9byx0aGlzLl9tYXhpbXVtQ2xvY2s9cix0aGlzLl9taW5pbXVtQ29uZT1pLHRoaXMuX21heGltdW1Db25lPXMsdGhpcy5fc3RhY2tQYXJ0aXRpb25zPWYsdGhpcy5fc2xpY2VQYXJ0aXRpb25zPXUsdGhpcy5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKGMpLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVFbGxpcHNvaWRHZW9tZXRyeSJ9dmFyIEFMLGJMLFRMLHdMLE9MLEVMLGhPLF9PLHlPLGdPLEFPLGdzLFRfLHNyLEFkPVooKCk9Pnt2ZSgpO1VlKCk7RnQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7WGUoKTtZZSgpO2FuKCk7TG8oKTskZSgpO1d0KCk7dG4oKTtSbygpO0FMPW5ldyBhLGJMPW5ldyBhLFRMPW5ldyBhLHdMPW5ldyBhLE9MPW5ldyBhLEVMPW5ldyBhKDEsMSwxKSxoTz1NYXRoLmNvcyxfTz1NYXRoLnNpbjt6aS5wYWNrZWRMZW5ndGg9MiphLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrNzt6aS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtyZXR1cm4gbj14KG4sMCksYS5wYWNrKHQuX3JhZGlpLGUsbiksbis9YS5wYWNrZWRMZW5ndGgsYS5wYWNrKHQuX2lubmVyUmFkaWksZSxuKSxuKz1hLnBhY2tlZExlbmd0aCxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW24rK109dC5fbWluaW11bUNsb2NrLGVbbisrXT10Ll9tYXhpbXVtQ2xvY2ssZVtuKytdPXQuX21pbmltdW1Db25lLGVbbisrXT10Ll9tYXhpbXVtQ29uZSxlW24rK109dC5fc3RhY2tQYXJ0aXRpb25zLGVbbisrXT10Ll9zbGljZVBhcnRpdGlvbnMsZVtuXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZX07eU89bmV3IGEsZ089bmV3IGEsQU89bmV3IGR0LGdzPXtyYWRpaTp5Tyxpbm5lclJhZGlpOmdPLHZlcnRleEZvcm1hdDpBTyxtaW5pbXVtQ2xvY2s6dm9pZCAwLG1heGltdW1DbG9jazp2b2lkIDAsbWluaW11bUNvbmU6dm9pZCAwLG1heGltdW1Db25lOnZvaWQgMCxzdGFja1BhcnRpdGlvbnM6dm9pZCAwLHNsaWNlUGFydGl0aW9uczp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07emkudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtlPXgoZSwwKTtsZXQgbz1hLnVucGFjayh0LGUseU8pO2UrPWEucGFja2VkTGVuZ3RoO2xldCByPWEudW5wYWNrKHQsZSxnTyk7ZSs9YS5wYWNrZWRMZW5ndGg7bGV0IGk9ZHQudW5wYWNrKHQsZSxBTyk7ZSs9ZHQucGFja2VkTGVuZ3RoO2xldCBzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZSsrXSxjPXRbZSsrXSxsPXRbZSsrXSxwPXRbZSsrXSxkPXRbZV07cmV0dXJuIGgobik/KG4uX3JhZGlpPWEuY2xvbmUobyxuLl9yYWRpaSksbi5faW5uZXJSYWRpaT1hLmNsb25lKHIsbi5faW5uZXJSYWRpaSksbi5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKGksbi5fdmVydGV4Rm9ybWF0KSxuLl9taW5pbXVtQ2xvY2s9cyxuLl9tYXhpbXVtQ2xvY2s9ZixuLl9taW5pbXVtQ29uZT11LG4uX21heGltdW1Db25lPWMsbi5fc3RhY2tQYXJ0aXRpb25zPWwsbi5fc2xpY2VQYXJ0aXRpb25zPXAsbi5fb2Zmc2V0QXR0cmlidXRlPWQ9PT0tMT92b2lkIDA6ZCxuKTooZ3MubWluaW11bUNsb2NrPXMsZ3MubWF4aW11bUNsb2NrPWYsZ3MubWluaW11bUNvbmU9dSxncy5tYXhpbXVtQ29uZT1jLGdzLnN0YWNrUGFydGl0aW9ucz1sLGdzLnNsaWNlUGFydGl0aW9ucz1wLGdzLm9mZnNldEF0dHJpYnV0ZT1kPT09LTE/dm9pZCAwOmQsbmV3IHppKGdzKSl9O3ppLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3JhZGlpO2lmKGUueDw9MHx8ZS55PD0wfHxlLno8PTApcmV0dXJuO2xldCBuPXQuX2lubmVyUmFkaWk7aWYobi54PD0wfHxuLnk8PTB8fG4uejw9MClyZXR1cm47bGV0IG89dC5fbWluaW11bUNsb2NrLHI9dC5fbWF4aW11bUNsb2NrLGk9dC5fbWluaW11bUNvbmUscz10Ll9tYXhpbXVtQ29uZSxmPXQuX3ZlcnRleEZvcm1hdCx1PXQuX3NsaWNlUGFydGl0aW9ucysxLGM9dC5fc3RhY2tQYXJ0aXRpb25zKzE7dT1NYXRoLnJvdW5kKHUqTWF0aC5hYnMoci1vKS9NLlRXT19QSSksYz1NYXRoLnJvdW5kKGMqTWF0aC5hYnMocy1pKS9NLlBJKSx1PDImJih1PTIpLGM8MiYmKGM9Mik7bGV0IGwscCxkPTAsbT1baV0sXz1bb107Zm9yKGw9MDtsPGM7bCsrKW0ucHVzaChpK2wqKHMtaSkvKGMtMSkpO2ZvcihtLnB1c2gocykscD0wO3A8dTtwKyspXy5wdXNoKG8rcCooci1vKS8odS0xKSk7Xy5wdXNoKHIpO2xldCBnPW0ubGVuZ3RoLGI9Xy5sZW5ndGgsVD0wLE89MSxFPW4ueCE9PWUueHx8bi55IT09ZS55fHxuLnohPT1lLnosdz0hMSxDPSExLE49ITE7RSYmKE89MixpPjAmJih3PSEwLFQrPXUtMSksczxNYXRoLlBJJiYoQz0hMCxUKz11LTEpLChyLW8pJU0uVFdPX1BJPyhOPSEwLFQrPShjLTEpKjIrMSk6VCs9MSk7bGV0IEk9YipnKk8sRD1uZXcgRmxvYXQ2NEFycmF5KEkqMyksdj1uZXcgQXJyYXkoSSkuZmlsbCghMSksTD1uZXcgQXJyYXkoSSkuZmlsbCghMSksVT11KmMqTyxBPTYqKFUrVCsxLSh1K2MpKk8pLFM9RHQuY3JlYXRlVHlwZWRBcnJheShVLEEpLFA9Zi5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShJKjMpOnZvaWQgMCxGPWYudGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KEkqMyk6dm9pZCAwLGo9Zi5iaXRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShJKjMpOnZvaWQgMCxIPWYuc3Q/bmV3IEZsb2F0MzJBcnJheShJKjIpOnZvaWQgMCxrPW5ldyBBcnJheShnKSxLPW5ldyBBcnJheShnKTtmb3IobD0wO2w8ZztsKyspa1tsXT1fTyhtW2xdKSxLW2xdPWhPKG1bbF0pO2xldCBYPW5ldyBBcnJheShiKSxSPW5ldyBBcnJheShiKTtmb3IocD0wO3A8YjtwKyspUltwXT1oTyhfW3BdKSxYW3BdPV9PKF9bcF0pO2ZvcihsPTA7bDxnO2wrKylmb3IocD0wO3A8YjtwKyspRFtkKytdPWUueCprW2xdKlJbcF0sRFtkKytdPWUueSprW2xdKlhbcF0sRFtkKytdPWUueipLW2xdO2xldCBvdD1JLzI7aWYoRSlmb3IobD0wO2w8ZztsKyspZm9yKHA9MDtwPGI7cCsrKURbZCsrXT1uLngqa1tsXSpSW3BdLERbZCsrXT1uLnkqa1tsXSpYW3BdLERbZCsrXT1uLnoqS1tsXSx2W290XT0hMCxsPjAmJmwhPT1nLTEmJnAhPT0wJiZwIT09Yi0xJiYoTFtvdF09ITApLG90Kys7ZD0wO2xldCBhdCxwdDtmb3IobD0xO2w8Zy0yO2wrKylmb3IoYXQ9bCpiLHB0PShsKzEpKmIscD0xO3A8Yi0yO3ArKylTW2QrK109cHQrcCxTW2QrK109cHQrcCsxLFNbZCsrXT1hdCtwKzEsU1tkKytdPXB0K3AsU1tkKytdPWF0K3ArMSxTW2QrK109YXQrcDtpZihFKXtsZXQgcGU9ZypiO2ZvcihsPTE7bDxnLTI7bCsrKWZvcihhdD1wZStsKmIscHQ9cGUrKGwrMSkqYixwPTE7cDxiLTI7cCsrKVNbZCsrXT1wdCtwLFNbZCsrXT1hdCtwLFNbZCsrXT1hdCtwKzEsU1tkKytdPXB0K3AsU1tkKytdPWF0K3ArMSxTW2QrK109cHQrcCsxfWxldCB5dCxydDtpZihFKXtpZih3KWZvcihydD1nKmIsbD0xO2w8Yi0yO2wrKylTW2QrK109bCxTW2QrK109bCsxLFNbZCsrXT1ydCtsKzEsU1tkKytdPWwsU1tkKytdPXJ0K2wrMSxTW2QrK109cnQrbDtpZihDKWZvcih5dD1nKmItYixydD1nKmIqTy1iLGw9MTtsPGItMjtsKyspU1tkKytdPXl0K2wrMSxTW2QrK109eXQrbCxTW2QrK109cnQrbCxTW2QrK109eXQrbCsxLFNbZCsrXT1ydCtsLFNbZCsrXT1ydCtsKzF9aWYoTil7Zm9yKGw9MTtsPGctMjtsKyspcnQ9YipnK2IqbCx5dD1iKmwsU1tkKytdPXJ0LFNbZCsrXT15dCtiLFNbZCsrXT15dCxTW2QrK109cnQsU1tkKytdPXJ0K2IsU1tkKytdPXl0K2I7Zm9yKGw9MTtsPGctMjtsKyspcnQ9YipnK2IqKGwrMSktMSx5dD1iKihsKzEpLTEsU1tkKytdPXl0K2IsU1tkKytdPXJ0LFNbZCsrXT15dCxTW2QrK109eXQrYixTW2QrK109cnQrYixTW2QrK109cnR9bGV0IFB0PW5ldyBpZTtmLnBvc2l0aW9uJiYoUHQucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpEfSkpO2xldCBndD0wLEN0PTAsbXQ9MCx1dD0wLHZ0PUkvMix6dCxtZT0kLmZyb21DYXJ0ZXNpYW4zKGUpLGNlPSQuZnJvbUNhcnRlc2lhbjMobik7aWYoZi5zdHx8Zi5ub3JtYWx8fGYudGFuZ2VudHx8Zi5iaXRhbmdlbnQpe2ZvcihsPTA7bDxJO2wrKyl7enQ9dltsXT9jZTptZTtsZXQgcGU9YS5mcm9tQXJyYXkoRCxsKjMsQUwpLHVlPXp0Lmdlb2RldGljU3VyZmFjZU5vcm1hbChwZSxiTCk7aWYoTFtsXSYmYS5uZWdhdGUodWUsdWUpLGYuc3Qpe2xldCBRdD10dC5uZWdhdGUodWUsT0wpO0hbZ3QrK109TWF0aC5hdGFuMihRdC55LFF0LngpL00uVFdPX1BJKy41LEhbZ3QrK109TWF0aC5hc2luKHVlLnopL01hdGguUEkrLjV9aWYoZi5ub3JtYWwmJihQW0N0KytdPXVlLngsUFtDdCsrXT11ZS55LFBbQ3QrK109dWUueiksZi50YW5nZW50fHxmLmJpdGFuZ2VudCl7bGV0IFF0PVRMLEp0PTAsTmU7aWYodltsXSYmKEp0PXZ0KSwhdyYmbD49SnQmJmw8SnQrYioyP05lPWEuVU5JVF9YOk5lPWEuVU5JVF9aLGEuY3Jvc3MoTmUsdWUsUXQpLGEubm9ybWFsaXplKFF0LFF0KSxmLnRhbmdlbnQmJihGW210KytdPVF0LngsRlttdCsrXT1RdC55LEZbbXQrK109UXQueiksZi5iaXRhbmdlbnQpe2xldCBnZT1hLmNyb3NzKHVlLFF0LHdMKTthLm5vcm1hbGl6ZShnZSxnZSksalt1dCsrXT1nZS54LGpbdXQrK109Z2UueSxqW3V0KytdPWdlLnp9fX1mLnN0JiYoUHQuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOkh9KSksZi5ub3JtYWwmJihQdC5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOlB9KSksZi50YW5nZW50JiYoUHQudGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Rn0pKSxmLmJpdGFuZ2VudCYmKFB0LmJpdGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6an0pKX1pZihoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBwZT1ELmxlbmd0aCx1ZT10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxRdD1uZXcgVWludDhBcnJheShwZS8zKS5maWxsKHVlKTtQdC5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpRdH0pfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6UHQsaW5kaWNlczpTLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOkF0LmZyb21FbGxpcHNvaWQobWUpLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07emkuZ2V0VW5pdEVsbGlwc29pZD1mdW5jdGlvbigpe3JldHVybiBoKFRfKXx8KFRfPXppLmNyZWF0ZUdlb21ldHJ5KG5ldyB6aSh7cmFkaWk6bmV3IGEoMSwxLDEpLHZlcnRleEZvcm1hdDpkdC5QT1NJVElPTl9PTkxZfSkpKSxUX307c3I9eml9KTt2YXIgd189e307ZGUod18se2RlZmF1bHQ6KCk9PlNMfSk7ZnVuY3Rpb24gUkwodCxlKXtyZXR1cm4gaChlKSYmKHQ9c3IudW5wYWNrKHQsZSkpLHNyLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBTTCxPXz1aKCgpPT57ZnQoKTtBZCgpO1NMPVJMfSk7ZnVuY3Rpb24gT2EodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXgodC5yYWRpaSxDTCksbj14KHQuaW5uZXJSYWRpaSxlKSxvPXgodC5taW5pbXVtQ2xvY2ssMCkscj14KHQubWF4aW11bUNsb2NrLE0uVFdPX1BJKSxpPXgodC5taW5pbXVtQ29uZSwwKSxzPXgodC5tYXhpbXVtQ29uZSxNLlBJKSxmPU1hdGgucm91bmQoeCh0LnN0YWNrUGFydGl0aW9ucywxMCkpLHU9TWF0aC5yb3VuZCh4KHQuc2xpY2VQYXJ0aXRpb25zLDgpKSxjPU1hdGgucm91bmQoeCh0LnN1YmRpdmlzaW9ucywxMjgpKTtpZihmPDEpdGhyb3cgbmV3IEIoIm9wdGlvbnMuc3RhY2tQYXJ0aXRpb25zIGNhbm5vdCBiZSBsZXNzIHRoYW4gMSIpO2lmKHU8MCl0aHJvdyBuZXcgQigib3B0aW9ucy5zbGljZVBhcnRpdGlvbnMgY2Fubm90IGJlIGxlc3MgdGhhbiAwIik7aWYoYzwwKXRocm93IG5ldyBCKCJvcHRpb25zLnN1YmRpdmlzaW9ucyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byB6ZXJvLiIpO2lmKGgodC5vZmZzZXRBdHRyaWJ1dGUpJiZ0Lm9mZnNldEF0dHJpYnV0ZT09PWZlLlRPUCl0aHJvdyBuZXcgQigiR2VvbWV0cnlPZmZzZXRBdHRyaWJ1dGUuVE9QIGlzIG5vdCBhIHN1cHBvcnRlZCBvcHRpb25zLm9mZnNldEF0dHJpYnV0ZSBmb3IgdGhpcyBnZW9tZXRyeS4iKTt0aGlzLl9yYWRpaT1hLmNsb25lKGUpLHRoaXMuX2lubmVyUmFkaWk9YS5jbG9uZShuKSx0aGlzLl9taW5pbXVtQ2xvY2s9byx0aGlzLl9tYXhpbXVtQ2xvY2s9cix0aGlzLl9taW5pbXVtQ29uZT1pLHRoaXMuX21heGltdW1Db25lPXMsdGhpcy5fc3RhY2tQYXJ0aXRpb25zPWYsdGhpcy5fc2xpY2VQYXJ0aXRpb25zPXUsdGhpcy5fc3ViZGl2aXNpb25zPWMsdGhpcy5fb2Zmc2V0QXR0cmlidXRlPXQub2Zmc2V0QXR0cmlidXRlLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUVsbGlwc29pZE91dGxpbmVHZW9tZXRyeSJ9dmFyIENMLGJkLFRkLGJPLFRPLGppLFdyLEVfPVooKCk9Pnt2ZSgpO0Z0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1hlKCk7WWUoKTthbigpO0xvKCk7JGUoKTtXdCgpO3RuKCk7Q0w9bmV3IGEoMSwxLDEpLGJkPU1hdGguY29zLFRkPU1hdGguc2luO09hLnBhY2tlZExlbmd0aD0yKmEucGFja2VkTGVuZ3RoKzg7T2EucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7cmV0dXJuIG49eChuLDApLGEucGFjayh0Ll9yYWRpaSxlLG4pLG4rPWEucGFja2VkTGVuZ3RoLGEucGFjayh0Ll9pbm5lclJhZGlpLGUsbiksbis9YS5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX21pbmltdW1DbG9jayxlW24rK109dC5fbWF4aW11bUNsb2NrLGVbbisrXT10Ll9taW5pbXVtQ29uZSxlW24rK109dC5fbWF4aW11bUNvbmUsZVtuKytdPXQuX3N0YWNrUGFydGl0aW9ucyxlW24rK109dC5fc2xpY2VQYXJ0aXRpb25zLGVbbisrXT10Ll9zdWJkaXZpc2lvbnMsZVtuXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZX07Yk89bmV3IGEsVE89bmV3IGEsamk9e3JhZGlpOmJPLGlubmVyUmFkaWk6VE8sbWluaW11bUNsb2NrOnZvaWQgMCxtYXhpbXVtQ2xvY2s6dm9pZCAwLG1pbmltdW1Db25lOnZvaWQgMCxtYXhpbXVtQ29uZTp2b2lkIDAsc3RhY2tQYXJ0aXRpb25zOnZvaWQgMCxzbGljZVBhcnRpdGlvbnM6dm9pZCAwLHN1YmRpdmlzaW9uczp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07T2EudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtlPXgoZSwwKTtsZXQgbz1hLnVucGFjayh0LGUsYk8pO2UrPWEucGFja2VkTGVuZ3RoO2xldCByPWEudW5wYWNrKHQsZSxUTyk7ZSs9YS5wYWNrZWRMZW5ndGg7bGV0IGk9dFtlKytdLHM9dFtlKytdLGY9dFtlKytdLHU9dFtlKytdLGM9dFtlKytdLGw9dFtlKytdLHA9dFtlKytdLGQ9dFtlXTtyZXR1cm4gaChuKT8obi5fcmFkaWk9YS5jbG9uZShvLG4uX3JhZGlpKSxuLl9pbm5lclJhZGlpPWEuY2xvbmUocixuLl9pbm5lclJhZGlpKSxuLl9taW5pbXVtQ2xvY2s9aSxuLl9tYXhpbXVtQ2xvY2s9cyxuLl9taW5pbXVtQ29uZT1mLG4uX21heGltdW1Db25lPXUsbi5fc3RhY2tQYXJ0aXRpb25zPWMsbi5fc2xpY2VQYXJ0aXRpb25zPWwsbi5fc3ViZGl2aXNpb25zPXAsbi5fb2Zmc2V0QXR0cmlidXRlPWQ9PT0tMT92b2lkIDA6ZCxuKTooamkubWluaW11bUNsb2NrPWksamkubWF4aW11bUNsb2NrPXMsamkubWluaW11bUNvbmU9ZixqaS5tYXhpbXVtQ29uZT11LGppLnN0YWNrUGFydGl0aW9ucz1jLGppLnNsaWNlUGFydGl0aW9ucz1sLGppLnN1YmRpdmlzaW9ucz1wLGppLm9mZnNldEF0dHJpYnV0ZT1kPT09LTE/dm9pZCAwOmQsbmV3IE9hKGppKSl9O09hLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3JhZGlpO2lmKGUueDw9MHx8ZS55PD0wfHxlLno8PTApcmV0dXJuO2xldCBuPXQuX2lubmVyUmFkaWk7aWYobi54PD0wfHxuLnk8PTB8fG4uejw9MClyZXR1cm47bGV0IG89dC5fbWluaW11bUNsb2NrLHI9dC5fbWF4aW11bUNsb2NrLGk9dC5fbWluaW11bUNvbmUscz10Ll9tYXhpbXVtQ29uZSxmPXQuX3N1YmRpdmlzaW9ucyx1PSQuZnJvbUNhcnRlc2lhbjMoZSksYz10Ll9zbGljZVBhcnRpdGlvbnMrMSxsPXQuX3N0YWNrUGFydGl0aW9ucysxO2M9TWF0aC5yb3VuZChjKk1hdGguYWJzKHItbykvTS5UV09fUEkpLGw9TWF0aC5yb3VuZChsKk1hdGguYWJzKHMtaSkvTS5QSSksYzwyJiYoYz0yKSxsPDImJihsPTIpO2xldCBwPTAsZD0xLG09bi54IT09ZS54fHxuLnkhPT1lLnl8fG4ueiE9PWUueixfPSExLGc9ITE7bSYmKGQ9MixpPjAmJihfPSEwLHArPWMpLHM8TWF0aC5QSSYmKGc9ITAscCs9YykpO2xldCBiPWYqZCoobCtjKSxUPW5ldyBGbG9hdDY0QXJyYXkoYiozKSxPPTIqKGIrcC0oYytsKSpkKSxFPUR0LmNyZWF0ZVR5cGVkQXJyYXkoYixPKSx3LEMsTixJLEQ9MCx2PW5ldyBBcnJheShsKSxMPW5ldyBBcnJheShsKTtmb3Iodz0wO3c8bDt3KyspST1pK3cqKHMtaSkvKGwtMSksdlt3XT1UZChJKSxMW3ddPWJkKEkpO2xldCBVPW5ldyBBcnJheShmKSxBPW5ldyBBcnJheShmKTtmb3Iodz0wO3c8Zjt3KyspTj1vK3cqKHItbykvKGYtMSksVVt3XT1UZChOKSxBW3ddPWJkKE4pO2Zvcih3PTA7dzxsO3crKylmb3IoQz0wO0M8ZjtDKyspVFtEKytdPWUueCp2W3ddKkFbQ10sVFtEKytdPWUueSp2W3ddKlVbQ10sVFtEKytdPWUueipMW3ddO2lmKG0pZm9yKHc9MDt3PGw7dysrKWZvcihDPTA7QzxmO0MrKylUW0QrK109bi54KnZbd10qQVtDXSxUW0QrK109bi55KnZbd10qVVtDXSxUW0QrK109bi56Kkxbd107Zm9yKHYubGVuZ3RoPWYsTC5sZW5ndGg9Zix3PTA7dzxmO3crKylJPWkrdyoocy1pKS8oZi0xKSx2W3ddPVRkKEkpLExbd109YmQoSSk7Zm9yKFUubGVuZ3RoPWMsQS5sZW5ndGg9Yyx3PTA7dzxjO3crKylOPW8rdyooci1vKS8oYy0xKSxVW3ddPVRkKE4pLEFbd109YmQoTik7Zm9yKHc9MDt3PGY7dysrKWZvcihDPTA7QzxjO0MrKylUW0QrK109ZS54KnZbd10qQVtDXSxUW0QrK109ZS55KnZbd10qVVtDXSxUW0QrK109ZS56Kkxbd107aWYobSlmb3Iodz0wO3c8Zjt3KyspZm9yKEM9MDtDPGM7QysrKVRbRCsrXT1uLngqdlt3XSpBW0NdLFRbRCsrXT1uLnkqdlt3XSpVW0NdLFRbRCsrXT1uLnoqTFt3XTtmb3IoRD0wLHc9MDt3PGwqZDt3Kyspe2xldCBGPXcqZjtmb3IoQz0wO0M8Zi0xO0MrKylFW0QrK109RitDLEVbRCsrXT1GK0MrMX1sZXQgUz1sKmYqZDtmb3Iodz0wO3c8Yzt3KyspZm9yKEM9MDtDPGYtMTtDKyspRVtEKytdPVMrdytDKmMsRVtEKytdPVMrdysoQysxKSpjO2lmKG0pZm9yKFM9bCpmKmQrYypmLHc9MDt3PGM7dysrKWZvcihDPTA7QzxmLTE7QysrKUVbRCsrXT1TK3crQypjLEVbRCsrXT1TK3crKEMrMSkqYztpZihtKXtsZXQgRj1sKmYqZCxqPUYrZipjO2lmKF8pZm9yKHc9MDt3PGM7dysrKUVbRCsrXT1GK3csRVtEKytdPWordztpZihnKWZvcihGKz1mKmMtYyxqKz1mKmMtYyx3PTA7dzxjO3crKylFW0QrK109Rit3LEVbRCsrXT1qK3d9bGV0IFA9bmV3IGllKHtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOlR9KX0pO2lmKGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IEY9VC5sZW5ndGgsaj10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxIPW5ldyBVaW50OEFycmF5KEYvMykuZmlsbChqKTtQLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOkh9KX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOlAsaW5kaWNlczpFLHByaW1pdGl2ZVR5cGU6QnQuTElORVMsYm91bmRpbmdTcGhlcmU6QXQuZnJvbUVsbGlwc29pZCh1KSxvZmZzZXRBdHRyaWJ1dGU6dC5fb2Zmc2V0QXR0cmlidXRlfSl9O1dyPU9hfSk7dmFyIFJfPXt9O2RlKFJfLHtkZWZhdWx0OigpPT5QTH0pO2Z1bmN0aW9uIHhMKHQsZSl7cmV0dXJuIGgodC5idWZmZXIsZSkmJih0PVdyLnVucGFjayh0LGUpKSxXci5jcmVhdGVHZW9tZXRyeSh0KX12YXIgUEwsU189WigoKT0+e2Z0KCk7RV8oKTtQTD14TH0pO2Z1bmN0aW9uIE9yKHQpe3RoaXMucGxhbmVzPXgodCxbXSl9dmFyIEhmLEFzLE1MLHdPLHdkLENfPVooKCk9PntGdCgpO2hyKCk7SXQoKTtmdCgpO0h0KCk7a3MoKTtmcygpO0hmPVtuZXcgYSxuZXcgYSxuZXcgYV07YS5jbG9uZShhLlVOSVRfWCxIZlswXSk7YS5jbG9uZShhLlVOSVRfWSxIZlsxXSk7YS5jbG9uZShhLlVOSVRfWixIZlsyXSk7QXM9bmV3IGEsTUw9bmV3IGEsd089bmV3IG9uKG5ldyBhKDEsMCwwKSwwKTtPci5mcm9tQm91bmRpbmdTcGhlcmU9ZnVuY3Rpb24odCxlKXtpZighaCh0KSl0aHJvdyBuZXcgQigiYm91bmRpbmdTcGhlcmUgaXMgcmVxdWlyZWQuIik7aChlKXx8KGU9bmV3IE9yKTtsZXQgbj1IZi5sZW5ndGgsbz1lLnBsYW5lcztvLmxlbmd0aD0yKm47bGV0IHI9dC5jZW50ZXIsaT10LnJhZGl1cyxzPTA7Zm9yKGxldCBmPTA7ZjxuOysrZil7bGV0IHU9SGZbZl0sYz1vW3NdLGw9b1tzKzFdO2goYyl8fChjPW9bc109bmV3IGhlKSxoKGwpfHwobD1vW3MrMV09bmV3IGhlKSxhLm11bHRpcGx5QnlTY2FsYXIodSwtaSxBcyksYS5hZGQocixBcyxBcyksYy54PXUueCxjLnk9dS55LGMuej11LnosYy53PS1hLmRvdCh1LEFzKSxhLm11bHRpcGx5QnlTY2FsYXIodSxpLEFzKSxhLmFkZChyLEFzLEFzKSxsLng9LXUueCxsLnk9LXUueSxsLno9LXUueixsLnc9LWEuZG90KGEubmVnYXRlKHUsTUwpLEFzKSxzKz0yfXJldHVybiBlfTtPci5wcm90b3R5cGUuY29tcHV0ZVZpc2liaWxpdHk9ZnVuY3Rpb24odCl7aWYoIWgodCkpdGhyb3cgbmV3IEIoImJvdW5kaW5nVm9sdW1lIGlzIHJlcXVpcmVkLiIpO2xldCBlPXRoaXMucGxhbmVzLG49ITE7Zm9yKGxldCBvPTAscj1lLmxlbmd0aDtvPHI7KytvKXtsZXQgaT10LmludGVyc2VjdFBsYW5lKG9uLmZyb21DYXJ0ZXNpYW40KGVbb10sd08pKTtpZihpPT09U24uT1VUU0lERSlyZXR1cm4gU24uT1VUU0lERTtpPT09U24uSU5URVJTRUNUSU5HJiYobj0hMCl9cmV0dXJuIG4/U24uSU5URVJTRUNUSU5HOlNuLklOU0lERX07T3IucHJvdG90eXBlLmNvbXB1dGVWaXNpYmlsaXR5V2l0aFBsYW5lTWFzaz1mdW5jdGlvbih0LGUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJib3VuZGluZ1ZvbHVtZSBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigicGFyZW50UGxhbmVNYXNrIGlzIHJlcXVpcmVkLiIpO2lmKGU9PT1Pci5NQVNLX09VVFNJREV8fGU9PT1Pci5NQVNLX0lOU0lERSlyZXR1cm4gZTtsZXQgbj1Pci5NQVNLX0lOU0lERSxvPXRoaXMucGxhbmVzO2ZvcihsZXQgcj0wLGk9by5sZW5ndGg7cjxpOysrcil7bGV0IHM9cjwzMT8xPDxyOjA7aWYocjwzMSYmIShlJnMpKWNvbnRpbnVlO2xldCBmPXQuaW50ZXJzZWN0UGxhbmUob24uZnJvbUNhcnRlc2lhbjQob1tyXSx3TykpO2lmKGY9PT1Tbi5PVVRTSURFKXJldHVybiBPci5NQVNLX09VVFNJREU7Zj09PVNuLklOVEVSU0VDVElORyYmKG58PXMpfXJldHVybiBufTtPci5NQVNLX09VVFNJREU9NDI5NDk2NzI5NTtPci5NQVNLX0lOU0lERT0wO09yLk1BU0tfSU5ERVRFUk1JTkFURT0yMTQ3NDgzNjQ3O3dkPU9yfSk7ZnVuY3Rpb24gbGkodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHRoaXMubGVmdD10LmxlZnQsdGhpcy5fbGVmdD12b2lkIDAsdGhpcy5yaWdodD10LnJpZ2h0LHRoaXMuX3JpZ2h0PXZvaWQgMCx0aGlzLnRvcD10LnRvcCx0aGlzLl90b3A9dm9pZCAwLHRoaXMuYm90dG9tPXQuYm90dG9tLHRoaXMuX2JvdHRvbT12b2lkIDAsdGhpcy5uZWFyPXgodC5uZWFyLDEpLHRoaXMuX25lYXI9dGhpcy5uZWFyLHRoaXMuZmFyPXgodC5mYXIsNWU4KSx0aGlzLl9mYXI9dGhpcy5mYXIsdGhpcy5fY3VsbGluZ1ZvbHVtZT1uZXcgd2QsdGhpcy5fb3J0aG9ncmFwaGljTWF0cml4PW5ldyBzdH1mdW5jdGlvbiBPTyh0KXtpZighaCh0LnJpZ2h0KXx8IWgodC5sZWZ0KXx8IWgodC50b3ApfHwhaCh0LmJvdHRvbSl8fCFoKHQubmVhcil8fCFoKHQuZmFyKSl0aHJvdyBuZXcgQigicmlnaHQsIGxlZnQsIHRvcCwgYm90dG9tLCBuZWFyLCBvciBmYXIgcGFyYW1ldGVycyBhcmUgbm90IHNldC4iKTtpZih0LnRvcCE9PXQuX3RvcHx8dC5ib3R0b20hPT10Ll9ib3R0b218fHQubGVmdCE9PXQuX2xlZnR8fHQucmlnaHQhPT10Ll9yaWdodHx8dC5uZWFyIT09dC5fbmVhcnx8dC5mYXIhPT10Ll9mYXIpe2lmKHQubGVmdD50LnJpZ2h0KXRocm93IG5ldyBCKCJyaWdodCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBsZWZ0LiIpO2lmKHQuYm90dG9tPnQudG9wKXRocm93IG5ldyBCKCJ0b3AgbXVzdCBiZSBncmVhdGVyIHRoYW4gYm90dG9tLiIpO3QubmVhcjw9MHx8dC5uZWFyPnQuZmFyLHQuX2xlZnQ9dC5sZWZ0LHQuX3JpZ2h0PXQucmlnaHQsdC5fdG9wPXQudG9wLHQuX2JvdHRvbT10LmJvdHRvbSx0Ll9uZWFyPXQubmVhcix0Ll9mYXI9dC5mYXIsdC5fb3J0aG9ncmFwaGljTWF0cml4PXN0LmNvbXB1dGVPcnRob2dyYXBoaWNPZmZDZW50ZXIodC5sZWZ0LHQucmlnaHQsdC5ib3R0b20sdC50b3AsdC5uZWFyLHQuZmFyLHQuX29ydGhvZ3JhcGhpY01hdHJpeCl9fXZhciBOTCxJTCx2TCx4XyxFTyxSTz1aKCgpPT57RnQoKTtocigpO0NfKCk7SXQoKTtmdCgpO0h0KCk7V3QoKTtVbigpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGxpLnByb3RvdHlwZSx7cHJvamVjdGlvbk1hdHJpeDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIE9PKHRoaXMpLHRoaXMuX29ydGhvZ3JhcGhpY01hdHJpeH19fSk7Tkw9bmV3IGEsSUw9bmV3IGEsdkw9bmV3IGEseF89bmV3IGE7bGkucHJvdG90eXBlLmNvbXB1dGVDdWxsaW5nVm9sdW1lPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigicG9zaXRpb24gaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImRpcmVjdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigidXAgaXMgcmVxdWlyZWQuIik7bGV0IG89dGhpcy5fY3VsbGluZ1ZvbHVtZS5wbGFuZXMscj10aGlzLnRvcCxpPXRoaXMuYm90dG9tLHM9dGhpcy5yaWdodCxmPXRoaXMubGVmdCx1PXRoaXMubmVhcixjPXRoaXMuZmFyLGw9YS5jcm9zcyhlLG4sTkwpO2Eubm9ybWFsaXplKGwsbCk7bGV0IHA9SUw7YS5tdWx0aXBseUJ5U2NhbGFyKGUsdSxwKSxhLmFkZCh0LHAscCk7bGV0IGQ9dkw7YS5tdWx0aXBseUJ5U2NhbGFyKGwsZixkKSxhLmFkZChwLGQsZCk7bGV0IG09b1swXTtyZXR1cm4gaChtKXx8KG09b1swXT1uZXcgaGUpLG0ueD1sLngsbS55PWwueSxtLno9bC56LG0udz0tYS5kb3QobCxkKSxhLm11bHRpcGx5QnlTY2FsYXIobCxzLGQpLGEuYWRkKHAsZCxkKSxtPW9bMV0saChtKXx8KG09b1sxXT1uZXcgaGUpLG0ueD0tbC54LG0ueT0tbC55LG0uej0tbC56LG0udz0tYS5kb3QoYS5uZWdhdGUobCx4XyksZCksYS5tdWx0aXBseUJ5U2NhbGFyKG4saSxkKSxhLmFkZChwLGQsZCksbT1vWzJdLGgobSl8fChtPW9bMl09bmV3IGhlKSxtLng9bi54LG0ueT1uLnksbS56PW4ueixtLnc9LWEuZG90KG4sZCksYS5tdWx0aXBseUJ5U2NhbGFyKG4scixkKSxhLmFkZChwLGQsZCksbT1vWzNdLGgobSl8fChtPW9bM109bmV3IGhlKSxtLng9LW4ueCxtLnk9LW4ueSxtLno9LW4ueixtLnc9LWEuZG90KGEubmVnYXRlKG4seF8pLGQpLG09b1s0XSxoKG0pfHwobT1vWzRdPW5ldyBoZSksbS54PWUueCxtLnk9ZS55LG0uej1lLnosbS53PS1hLmRvdChlLHApLGEubXVsdGlwbHlCeVNjYWxhcihlLGMsZCksYS5hZGQodCxkLGQpLG09b1s1XSxoKG0pfHwobT1vWzVdPW5ldyBoZSksbS54PS1lLngsbS55PS1lLnksbS56PS1lLnosbS53PS1hLmRvdChhLm5lZ2F0ZShlLHhfKSxkKSx0aGlzLl9jdWxsaW5nVm9sdW1lfTtsaS5wcm90b3R5cGUuZ2V0UGl4ZWxEaW1lbnNpb25zPWZ1bmN0aW9uKHQsZSxuLG8scil7aWYoT08odGhpcyksIWgodCl8fCFoKGUpKXRocm93IG5ldyBCKCJCb3RoIGRyYXdpbmdCdWZmZXJXaWR0aCBhbmQgZHJhd2luZ0J1ZmZlckhlaWdodCBhcmUgcmVxdWlyZWQuIik7aWYodDw9MCl0aHJvdyBuZXcgQigiZHJhd2luZ0J1ZmZlcldpZHRoIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7aWYoZTw9MCl0aHJvdyBuZXcgQigiZHJhd2luZ0J1ZmZlckhlaWdodCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJkaXN0YW5jZSBpcyByZXF1aXJlZC4iKTtpZighaChvKSl0aHJvdyBuZXcgQigicGl4ZWxSYXRpbyBpcyByZXF1aXJlZC4iKTtpZihvPD0wKXRocm93IG5ldyBCKCJwaXhlbFJhdGlvIG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7aWYoIWgocikpdGhyb3cgbmV3IEIoIkEgcmVzdWx0IG9iamVjdCBpcyByZXF1aXJlZC4iKTtsZXQgaT10aGlzLnJpZ2h0LXRoaXMubGVmdCxzPXRoaXMudG9wLXRoaXMuYm90dG9tLGY9byppL3QsdT1vKnMvZTtyZXR1cm4gci54PWYsci55PXUscn07bGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBoKHQpfHwodD1uZXcgbGkpLHQubGVmdD10aGlzLmxlZnQsdC5yaWdodD10aGlzLnJpZ2h0LHQudG9wPXRoaXMudG9wLHQuYm90dG9tPXRoaXMuYm90dG9tLHQubmVhcj10aGlzLm5lYXIsdC5mYXI9dGhpcy5mYXIsdC5fbGVmdD12b2lkIDAsdC5fcmlnaHQ9dm9pZCAwLHQuX3RvcD12b2lkIDAsdC5fYm90dG9tPXZvaWQgMCx0Ll9uZWFyPXZvaWQgMCx0Ll9mYXI9dm9pZCAwLHR9O2xpLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIGgodCkmJnQgaW5zdGFuY2VvZiBsaSYmdGhpcy5yaWdodD09PXQucmlnaHQmJnRoaXMubGVmdD09PXQubGVmdCYmdGhpcy50b3A9PT10LnRvcCYmdGhpcy5ib3R0b209PT10LmJvdHRvbSYmdGhpcy5uZWFyPT09dC5uZWFyJiZ0aGlzLmZhcj09PXQuZmFyfTtsaS5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHQ9PT10aGlzfHxoKHQpJiZ0IGluc3RhbmNlb2YgbGkmJk0uZXF1YWxzRXBzaWxvbih0aGlzLnJpZ2h0LHQucmlnaHQsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMubGVmdCx0LmxlZnQsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMudG9wLHQudG9wLGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLmJvdHRvbSx0LmJvdHRvbSxlLG4pJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5uZWFyLHQubmVhcixlLG4pJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5mYXIsdC5mYXIsZSxuKX07RU89bGl9KTtmdW5jdGlvbiB0cih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bT1uZXcgRU8sdGhpcy53aWR0aD10LndpZHRoLHRoaXMuX3dpZHRoPXZvaWQgMCx0aGlzLmFzcGVjdFJhdGlvPXQuYXNwZWN0UmF0aW8sdGhpcy5fYXNwZWN0UmF0aW89dm9pZCAwLHRoaXMubmVhcj14KHQubmVhciwxKSx0aGlzLl9uZWFyPXRoaXMubmVhcix0aGlzLmZhcj14KHQuZmFyLDVlOCksdGhpcy5fZmFyPXRoaXMuZmFyfWZ1bmN0aW9uIGJzKHQpe2lmKCFoKHQud2lkdGgpfHwhaCh0LmFzcGVjdFJhdGlvKXx8IWgodC5uZWFyKXx8IWgodC5mYXIpKXRocm93IG5ldyBCKCJ3aWR0aCwgYXNwZWN0UmF0aW8sIG5lYXIsIG9yIGZhciBwYXJhbWV0ZXJzIGFyZSBub3Qgc2V0LiIpO2xldCBlPXQuX29mZkNlbnRlckZydXN0dW07aWYodC53aWR0aCE9PXQuX3dpZHRofHx0LmFzcGVjdFJhdGlvIT09dC5fYXNwZWN0UmF0aW98fHQubmVhciE9PXQuX25lYXJ8fHQuZmFyIT09dC5fZmFyKXtpZih0LmFzcGVjdFJhdGlvPDApdGhyb3cgbmV3IEIoImFzcGVjdFJhdGlvIG11c3QgYmUgcG9zaXRpdmUuIik7aWYodC5uZWFyPDB8fHQubmVhcj50LmZhcil0aHJvdyBuZXcgQigibmVhciBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvIGFuZCBsZXNzIHRoYW4gZmFyLiIpO3QuX2FzcGVjdFJhdGlvPXQuYXNwZWN0UmF0aW8sdC5fd2lkdGg9dC53aWR0aCx0Ll9uZWFyPXQubmVhcix0Ll9mYXI9dC5mYXI7bGV0IG49MS90LmFzcGVjdFJhdGlvO2UucmlnaHQ9dC53aWR0aCouNSxlLmxlZnQ9LWUucmlnaHQsZS50b3A9biplLnJpZ2h0LGUuYm90dG9tPS1lLnRvcCxlLm5lYXI9dC5uZWFyLGUuZmFyPXQuZmFyfX12YXIgeG8sUF89WigoKT0+e1h0KCk7SXQoKTtmdCgpO0h0KCk7V3QoKTtSTygpO3RyLnBhY2tlZExlbmd0aD00O3RyLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxlW24rK109dC53aWR0aCxlW24rK109dC5hc3BlY3RSYXRpbyxlW24rK109dC5uZWFyLGVbbl09dC5mYXIsZX07dHIudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IHRyKSxuLndpZHRoPXRbZSsrXSxuLmFzcGVjdFJhdGlvPXRbZSsrXSxuLm5lYXI9dFtlKytdLG4uZmFyPXRbZV0sbn07T2JqZWN0LmRlZmluZVByb3BlcnRpZXModHIucHJvdG90eXBlLHtwcm9qZWN0aW9uTWF0cml4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gYnModGhpcyksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5wcm9qZWN0aW9uTWF0cml4fX0sb2ZmQ2VudGVyRnJ1c3R1bTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGJzKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW19fX0pO3RyLnByb3RvdHlwZS5jb21wdXRlQ3VsbGluZ1ZvbHVtZT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIGJzKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW0uY29tcHV0ZUN1bGxpbmdWb2x1bWUodCxlLG4pfTt0ci5wcm90b3R5cGUuZ2V0UGl4ZWxEaW1lbnNpb25zPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIGJzKHRoaXMpLHRoaXMuX29mZkNlbnRlckZydXN0dW0uZ2V0UGl4ZWxEaW1lbnNpb25zKHQsZSxuLG8scil9O3RyLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KXx8KHQ9bmV3IHRyKSx0LmFzcGVjdFJhdGlvPXRoaXMuYXNwZWN0UmF0aW8sdC53aWR0aD10aGlzLndpZHRoLHQubmVhcj10aGlzLm5lYXIsdC5mYXI9dGhpcy5mYXIsdC5fYXNwZWN0UmF0aW89dm9pZCAwLHQuX3dpZHRoPXZvaWQgMCx0Ll9uZWFyPXZvaWQgMCx0Ll9mYXI9dm9pZCAwLHRoaXMuX29mZkNlbnRlckZydXN0dW0uY2xvbmUodC5fb2ZmQ2VudGVyRnJ1c3R1bSksdH07dHIucHJvdG90eXBlLmVxdWFscz1mdW5jdGlvbih0KXtyZXR1cm4haCh0KXx8ISh0IGluc3RhbmNlb2YgdHIpPyExOihicyh0aGlzKSxicyh0KSx0aGlzLndpZHRoPT09dC53aWR0aCYmdGhpcy5hc3BlY3RSYXRpbz09PXQuYXNwZWN0UmF0aW8mJnRoaXMuX29mZkNlbnRlckZydXN0dW0uZXF1YWxzKHQuX29mZkNlbnRlckZydXN0dW0pKX07dHIucHJvdG90eXBlLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlLG4pe3JldHVybiFoKHQpfHwhKHQgaW5zdGFuY2VvZiB0cik/ITE6KGJzKHRoaXMpLGJzKHQpLE0uZXF1YWxzRXBzaWxvbih0aGlzLndpZHRoLHQud2lkdGgsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMuYXNwZWN0UmF0aW8sdC5hc3BlY3RSYXRpbyxlLG4pJiZ0aGlzLl9vZmZDZW50ZXJGcnVzdHVtLmVxdWFsc0Vwc2lsb24odC5fb2ZmQ2VudGVyRnJ1c3R1bSxlLG4pKX07eG89dHJ9KTtmdW5jdGlvbiBwaSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCksdGhpcy5sZWZ0PXQubGVmdCx0aGlzLl9sZWZ0PXZvaWQgMCx0aGlzLnJpZ2h0PXQucmlnaHQsdGhpcy5fcmlnaHQ9dm9pZCAwLHRoaXMudG9wPXQudG9wLHRoaXMuX3RvcD12b2lkIDAsdGhpcy5ib3R0b209dC5ib3R0b20sdGhpcy5fYm90dG9tPXZvaWQgMCx0aGlzLm5lYXI9eCh0Lm5lYXIsMSksdGhpcy5fbmVhcj10aGlzLm5lYXIsdGhpcy5mYXI9eCh0LmZhciw1ZTgpLHRoaXMuX2Zhcj10aGlzLmZhcix0aGlzLl9jdWxsaW5nVm9sdW1lPW5ldyB3ZCx0aGlzLl9wZXJzcGVjdGl2ZU1hdHJpeD1uZXcgc3QsdGhpcy5faW5maW5pdGVQZXJzcGVjdGl2ZT1uZXcgc3R9ZnVuY3Rpb24gTV8odCl7aWYoIWgodC5yaWdodCl8fCFoKHQubGVmdCl8fCFoKHQudG9wKXx8IWgodC5ib3R0b20pfHwhaCh0Lm5lYXIpfHwhaCh0LmZhcikpdGhyb3cgbmV3IEIoInJpZ2h0LCBsZWZ0LCB0b3AsIGJvdHRvbSwgbmVhciwgb3IgZmFyIHBhcmFtZXRlcnMgYXJlIG5vdCBzZXQuIik7bGV0e3RvcDplLGJvdHRvbTpuLHJpZ2h0Om8sbGVmdDpyLG5lYXI6aSxmYXI6c309dDtpZihlIT09dC5fdG9wfHxuIT09dC5fYm90dG9tfHxyIT09dC5fbGVmdHx8byE9PXQuX3JpZ2h0fHxpIT09dC5fbmVhcnx8cyE9PXQuX2Zhcil7aWYodC5uZWFyPD0wfHx0Lm5lYXI+dC5mYXIpdGhyb3cgbmV3IEIoIm5lYXIgbXVzdCBiZSBncmVhdGVyIHRoYW4gemVybyBhbmQgbGVzcyB0aGFuIGZhci4iKTt0Ll9sZWZ0PXIsdC5fcmlnaHQ9byx0Ll90b3A9ZSx0Ll9ib3R0b209bix0Ll9uZWFyPWksdC5fZmFyPXMsdC5fcGVyc3BlY3RpdmVNYXRyaXg9c3QuY29tcHV0ZVBlcnNwZWN0aXZlT2ZmQ2VudGVyKHIsbyxuLGUsaSxzLHQuX3BlcnNwZWN0aXZlTWF0cml4KSx0Ll9pbmZpbml0ZVBlcnNwZWN0aXZlPXN0LmNvbXB1dGVJbmZpbml0ZVBlcnNwZWN0aXZlT2ZmQ2VudGVyKHIsbyxuLGUsaSx0Ll9pbmZpbml0ZVBlcnNwZWN0aXZlKX19dmFyIExMLERMLEZMLEJMLFNPLENPPVooKCk9PntGdCgpO2hyKCk7Q18oKTtJdCgpO2Z0KCk7SHQoKTtXdCgpO1VuKCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMocGkucHJvdG90eXBlLHtwcm9qZWN0aW9uTWF0cml4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gTV8odGhpcyksdGhpcy5fcGVyc3BlY3RpdmVNYXRyaXh9fSxpbmZpbml0ZVByb2plY3Rpb25NYXRyaXg6e2dldDpmdW5jdGlvbigpe3JldHVybiBNXyh0aGlzKSx0aGlzLl9pbmZpbml0ZVBlcnNwZWN0aXZlfX19KTtMTD1uZXcgYSxETD1uZXcgYSxGTD1uZXcgYSxCTD1uZXcgYTtwaS5wcm90b3R5cGUuY29tcHV0ZUN1bGxpbmdWb2x1bWU9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJwb3NpdGlvbiBpcyByZXF1aXJlZC4iKTtpZighaChlKSl0aHJvdyBuZXcgQigiZGlyZWN0aW9uIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJ1cCBpcyByZXF1aXJlZC4iKTtsZXQgbz10aGlzLl9jdWxsaW5nVm9sdW1lLnBsYW5lcyxyPXRoaXMudG9wLGk9dGhpcy5ib3R0b20scz10aGlzLnJpZ2h0LGY9dGhpcy5sZWZ0LHU9dGhpcy5uZWFyLGM9dGhpcy5mYXIsbD1hLmNyb3NzKGUsbixMTCkscD1ETDthLm11bHRpcGx5QnlTY2FsYXIoZSx1LHApLGEuYWRkKHQscCxwKTtsZXQgZD1GTDthLm11bHRpcGx5QnlTY2FsYXIoZSxjLGQpLGEuYWRkKHQsZCxkKTtsZXQgbT1CTDthLm11bHRpcGx5QnlTY2FsYXIobCxmLG0pLGEuYWRkKHAsbSxtKSxhLnN1YnRyYWN0KG0sdCxtKSxhLm5vcm1hbGl6ZShtLG0pLGEuY3Jvc3MobSxuLG0pLGEubm9ybWFsaXplKG0sbSk7bGV0IF89b1swXTtyZXR1cm4gaChfKXx8KF89b1swXT1uZXcgaGUpLF8ueD1tLngsXy55PW0ueSxfLno9bS56LF8udz0tYS5kb3QobSx0KSxhLm11bHRpcGx5QnlTY2FsYXIobCxzLG0pLGEuYWRkKHAsbSxtKSxhLnN1YnRyYWN0KG0sdCxtKSxhLmNyb3NzKG4sbSxtKSxhLm5vcm1hbGl6ZShtLG0pLF89b1sxXSxoKF8pfHwoXz1vWzFdPW5ldyBoZSksXy54PW0ueCxfLnk9bS55LF8uej1tLnosXy53PS1hLmRvdChtLHQpLGEubXVsdGlwbHlCeVNjYWxhcihuLGksbSksYS5hZGQocCxtLG0pLGEuc3VidHJhY3QobSx0LG0pLGEuY3Jvc3MobCxtLG0pLGEubm9ybWFsaXplKG0sbSksXz1vWzJdLGgoXyl8fChfPW9bMl09bmV3IGhlKSxfLng9bS54LF8ueT1tLnksXy56PW0ueixfLnc9LWEuZG90KG0sdCksYS5tdWx0aXBseUJ5U2NhbGFyKG4scixtKSxhLmFkZChwLG0sbSksYS5zdWJ0cmFjdChtLHQsbSksYS5jcm9zcyhtLGwsbSksYS5ub3JtYWxpemUobSxtKSxfPW9bM10saChfKXx8KF89b1szXT1uZXcgaGUpLF8ueD1tLngsXy55PW0ueSxfLno9bS56LF8udz0tYS5kb3QobSx0KSxfPW9bNF0saChfKXx8KF89b1s0XT1uZXcgaGUpLF8ueD1lLngsXy55PWUueSxfLno9ZS56LF8udz0tYS5kb3QoZSxwKSxhLm5lZ2F0ZShlLG0pLF89b1s1XSxoKF8pfHwoXz1vWzVdPW5ldyBoZSksXy54PW0ueCxfLnk9bS55LF8uej1tLnosXy53PS1hLmRvdChtLGQpLHRoaXMuX2N1bGxpbmdWb2x1bWV9O3BpLnByb3RvdHlwZS5nZXRQaXhlbERpbWVuc2lvbnM9ZnVuY3Rpb24odCxlLG4sbyxyKXtpZihNXyh0aGlzKSwhaCh0KXx8IWgoZSkpdGhyb3cgbmV3IEIoIkJvdGggZHJhd2luZ0J1ZmZlcldpZHRoIGFuZCBkcmF3aW5nQnVmZmVySGVpZ2h0IGFyZSByZXF1aXJlZC4iKTtpZih0PD0wKXRocm93IG5ldyBCKCJkcmF3aW5nQnVmZmVyV2lkdGggbXVzdCBiZSBncmVhdGVyIHRoYW4gemVyby4iKTtpZihlPD0wKXRocm93IG5ldyBCKCJkcmF3aW5nQnVmZmVySGVpZ2h0IG11c3QgYmUgZ3JlYXRlciB0aGFuIHplcm8uIik7aWYoIWgobikpdGhyb3cgbmV3IEIoImRpc3RhbmNlIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG8pKXRocm93IG5ldyBCKCJwaXhlbFJhdGlvIGlzIHJlcXVpcmVkIik7aWYobzw9MCl0aHJvdyBuZXcgQigicGl4ZWxSYXRpbyBtdXN0IGJlIGdyZWF0ZXIgdGhhbiB6ZXJvLiIpO2lmKCFoKHIpKXRocm93IG5ldyBCKCJBIHJlc3VsdCBvYmplY3QgaXMgcmVxdWlyZWQuIik7bGV0IGk9MS90aGlzLm5lYXIscz10aGlzLnRvcCppLGY9MipvKm4qcy9lO3M9dGhpcy5yaWdodCppO2xldCB1PTIqbypuKnMvdDtyZXR1cm4gci54PXUsci55PWYscn07cGkucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBoKHQpfHwodD1uZXcgcGkpLHQucmlnaHQ9dGhpcy5yaWdodCx0LmxlZnQ9dGhpcy5sZWZ0LHQudG9wPXRoaXMudG9wLHQuYm90dG9tPXRoaXMuYm90dG9tLHQubmVhcj10aGlzLm5lYXIsdC5mYXI9dGhpcy5mYXIsdC5fbGVmdD12b2lkIDAsdC5fcmlnaHQ9dm9pZCAwLHQuX3RvcD12b2lkIDAsdC5fYm90dG9tPXZvaWQgMCx0Ll9uZWFyPXZvaWQgMCx0Ll9mYXI9dm9pZCAwLHR9O3BpLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIGgodCkmJnQgaW5zdGFuY2VvZiBwaSYmdGhpcy5yaWdodD09PXQucmlnaHQmJnRoaXMubGVmdD09PXQubGVmdCYmdGhpcy50b3A9PT10LnRvcCYmdGhpcy5ib3R0b209PT10LmJvdHRvbSYmdGhpcy5uZWFyPT09dC5uZWFyJiZ0aGlzLmZhcj09PXQuZmFyfTtwaS5wcm90b3R5cGUuZXF1YWxzRXBzaWxvbj1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHQ9PT10aGlzfHxoKHQpJiZ0IGluc3RhbmNlb2YgcGkmJk0uZXF1YWxzRXBzaWxvbih0aGlzLnJpZ2h0LHQucmlnaHQsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMubGVmdCx0LmxlZnQsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMudG9wLHQudG9wLGUsbikmJk0uZXF1YWxzRXBzaWxvbih0aGlzLmJvdHRvbSx0LmJvdHRvbSxlLG4pJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5uZWFyLHQubmVhcixlLG4pJiZNLmVxdWFsc0Vwc2lsb24odGhpcy5mYXIsdC5mYXIsZSxuKX07U089cGl9KTtmdW5jdGlvbiBlcih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bT1uZXcgU08sdGhpcy5mb3Y9dC5mb3YsdGhpcy5fZm92PXZvaWQgMCx0aGlzLl9mb3Z5PXZvaWQgMCx0aGlzLl9zc2VEZW5vbWluYXRvcj12b2lkIDAsdGhpcy5hc3BlY3RSYXRpbz10LmFzcGVjdFJhdGlvLHRoaXMuX2FzcGVjdFJhdGlvPXZvaWQgMCx0aGlzLm5lYXI9eCh0Lm5lYXIsMSksdGhpcy5fbmVhcj10aGlzLm5lYXIsdGhpcy5mYXI9eCh0LmZhciw1ZTgpLHRoaXMuX2Zhcj10aGlzLmZhcix0aGlzLnhPZmZzZXQ9eCh0LnhPZmZzZXQsMCksdGhpcy5feE9mZnNldD10aGlzLnhPZmZzZXQsdGhpcy55T2Zmc2V0PXgodC55T2Zmc2V0LDApLHRoaXMuX3lPZmZzZXQ9dGhpcy55T2Zmc2V0fWZ1bmN0aW9uIFhyKHQpe2lmKCFoKHQuZm92KXx8IWgodC5hc3BlY3RSYXRpbyl8fCFoKHQubmVhcil8fCFoKHQuZmFyKSl0aHJvdyBuZXcgQigiZm92LCBhc3BlY3RSYXRpbywgbmVhciwgb3IgZmFyIHBhcmFtZXRlcnMgYXJlIG5vdCBzZXQuIik7aWYoISh0LmZvdiE9PXQuX2Zvdnx8dC5hc3BlY3RSYXRpbyE9PXQuX2FzcGVjdFJhdGlvfHx0Lm5lYXIhPT10Ll9uZWFyfHx0LmZhciE9PXQuX2Zhcnx8dC54T2Zmc2V0IT09dC5feE9mZnNldHx8dC55T2Zmc2V0IT09dC5feU9mZnNldCkpcmV0dXJuO2lmKHkudHlwZU9mLm51bWJlci5ncmVhdGVyVGhhbk9yRXF1YWxzKCJmb3YiLHQuZm92LDApLHkudHlwZU9mLm51bWJlci5sZXNzVGhhbigiZm92Iix0LmZvdixNYXRoLlBJKSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygiYXNwZWN0UmF0aW8iLHQuYXNwZWN0UmF0aW8sMCkseS50eXBlT2YubnVtYmVyLmdyZWF0ZXJUaGFuT3JFcXVhbHMoIm5lYXIiLHQubmVhciwwKSx0Lm5lYXI+dC5mYXIpdGhyb3cgbmV3IEIoIm5lYXIgbXVzdCBiZSBsZXNzIHRoYW4gZmFyLiIpO3QuX2FzcGVjdFJhdGlvPXQuYXNwZWN0UmF0aW8sdC5fZm92PXQuZm92LHQuX2Zvdnk9dC5hc3BlY3RSYXRpbzw9MT90LmZvdjpNYXRoLmF0YW4oTWF0aC50YW4odC5mb3YqLjUpL3QuYXNwZWN0UmF0aW8pKjIsdC5fbmVhcj10Lm5lYXIsdC5fZmFyPXQuZmFyLHQuX3NzZURlbm9taW5hdG9yPTIqTWF0aC50YW4oLjUqdC5fZm92eSksdC5feE9mZnNldD10LnhPZmZzZXQsdC5feU9mZnNldD10LnlPZmZzZXQ7bGV0IG49dC5fb2ZmQ2VudGVyRnJ1c3R1bTtuLnRvcD10Lm5lYXIqTWF0aC50YW4oLjUqdC5fZm92eSksbi5ib3R0b209LW4udG9wLG4ucmlnaHQ9dC5hc3BlY3RSYXRpbypuLnRvcCxuLmxlZnQ9LW4ucmlnaHQsbi5uZWFyPXQubmVhcixuLmZhcj10LmZhcixuLnJpZ2h0Kz10LnhPZmZzZXQsbi5sZWZ0Kz10LnhPZmZzZXQsbi50b3ArPXQueU9mZnNldCxuLmJvdHRvbSs9dC55T2Zmc2V0fXZhciBQbyxOXz1aKCgpPT57WHQoKTtJdCgpO2Z0KCk7SHQoKTtXdCgpO0NPKCk7ZXIucGFja2VkTGVuZ3RoPTY7ZXIucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHkuZGVmaW5lZCgiYXJyYXkiLGUpLG49eChuLDApLGVbbisrXT10LmZvdixlW24rK109dC5hc3BlY3RSYXRpbyxlW24rK109dC5uZWFyLGVbbisrXT10LmZhcixlW24rK109dC54T2Zmc2V0LGVbbl09dC55T2Zmc2V0LGV9O2VyLnVucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApLGgobil8fChuPW5ldyBlciksbi5mb3Y9dFtlKytdLG4uYXNwZWN0UmF0aW89dFtlKytdLG4ubmVhcj10W2UrK10sbi5mYXI9dFtlKytdLG4ueE9mZnNldD10W2UrK10sbi55T2Zmc2V0PXRbZV0sbn07T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZXIucHJvdG90eXBlLHtwcm9qZWN0aW9uTWF0cml4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWHIodGhpcyksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5wcm9qZWN0aW9uTWF0cml4fX0saW5maW5pdGVQcm9qZWN0aW9uTWF0cml4OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWHIodGhpcyksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5pbmZpbml0ZVByb2plY3Rpb25NYXRyaXh9fSxmb3Z5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWHIodGhpcyksdGhpcy5fZm92eX19LHNzZURlbm9taW5hdG9yOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWHIodGhpcyksdGhpcy5fc3NlRGVub21pbmF0b3J9fSxvZmZDZW50ZXJGcnVzdHVtOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gWHIodGhpcyksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bX19fSk7ZXIucHJvdG90eXBlLmNvbXB1dGVDdWxsaW5nVm9sdW1lPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gWHIodGhpcyksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5jb21wdXRlQ3VsbGluZ1ZvbHVtZSh0LGUsbil9O2VyLnByb3RvdHlwZS5nZXRQaXhlbERpbWVuc2lvbnM9ZnVuY3Rpb24odCxlLG4sbyxyKXtyZXR1cm4gWHIodGhpcyksdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5nZXRQaXhlbERpbWVuc2lvbnModCxlLG4sbyxyKX07ZXIucHJvdG90eXBlLmNsb25lPWZ1bmN0aW9uKHQpe3JldHVybiBoKHQpfHwodD1uZXcgZXIpLHQuYXNwZWN0UmF0aW89dGhpcy5hc3BlY3RSYXRpbyx0LmZvdj10aGlzLmZvdix0Lm5lYXI9dGhpcy5uZWFyLHQuZmFyPXRoaXMuZmFyLHQuX2FzcGVjdFJhdGlvPXZvaWQgMCx0Ll9mb3Y9dm9pZCAwLHQuX25lYXI9dm9pZCAwLHQuX2Zhcj12b2lkIDAsdGhpcy5fb2ZmQ2VudGVyRnJ1c3R1bS5jbG9uZSh0Ll9vZmZDZW50ZXJGcnVzdHVtKSx0fTtlci5wcm90b3R5cGUuZXF1YWxzPWZ1bmN0aW9uKHQpe3JldHVybiFoKHQpfHwhKHQgaW5zdGFuY2VvZiBlcik/ITE6KFhyKHRoaXMpLFhyKHQpLHRoaXMuZm92PT09dC5mb3YmJnRoaXMuYXNwZWN0UmF0aW89PT10LmFzcGVjdFJhdGlvJiZ0aGlzLl9vZmZDZW50ZXJGcnVzdHVtLmVxdWFscyh0Ll9vZmZDZW50ZXJGcnVzdHVtKSl9O2VyLnByb3RvdHlwZS5lcXVhbHNFcHNpbG9uPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4haCh0KXx8ISh0IGluc3RhbmNlb2YgZXIpPyExOihYcih0aGlzKSxYcih0KSxNLmVxdWFsc0Vwc2lsb24odGhpcy5mb3YsdC5mb3YsZSxuKSYmTS5lcXVhbHNFcHNpbG9uKHRoaXMuYXNwZWN0UmF0aW8sdC5hc3BlY3RSYXRpbyxlLG4pJiZ0aGlzLl9vZmZDZW50ZXJGcnVzdHVtLmVxdWFsc0Vwc2lsb24odC5fb2ZmQ2VudGVyRnJ1c3R1bSxlLG4pKX07UG89ZXJ9KTtmdW5jdGlvbiBnYyh0KXt5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMiLHQpLHkudHlwZU9mLm9iamVjdCgib3B0aW9ucy5mcnVzdHVtIix0LmZydXN0dW0pLHkudHlwZU9mLm9iamVjdCgib3B0aW9ucy5vcmlnaW4iLHQub3JpZ2luKSx5LnR5cGVPZi5vYmplY3QoIm9wdGlvbnMub3JpZW50YXRpb24iLHQub3JpZW50YXRpb24pO2xldCBlPXQuZnJ1c3R1bSxuPXQub3JpZW50YXRpb24sbz10Lm9yaWdpbixyPXgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCksaT14KHQuX2RyYXdOZWFyUGxhbmUsITApLHMsZjtlIGluc3RhbmNlb2YgUG8/KHM9T2QsZj1Qby5wYWNrZWRMZW5ndGgpOmUgaW5zdGFuY2VvZiB4byYmKHM9VUwsZj14by5wYWNrZWRMZW5ndGgpLHRoaXMuX2ZydXN0dW1UeXBlPXMsdGhpcy5fZnJ1c3R1bT1lLmNsb25lKCksdGhpcy5fb3JpZ2luPWEuY2xvbmUobyksdGhpcy5fb3JpZW50YXRpb249ZWUuY2xvbmUobiksdGhpcy5fZHJhd05lYXJQbGFuZT1pLHRoaXMuX3ZlcnRleEZvcm1hdD1yLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZUZydXN0dW1HZW9tZXRyeSIsdGhpcy5wYWNrZWRMZW5ndGg9MitmK2EucGFja2VkTGVuZ3RoK2VlLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGh9ZnVuY3Rpb24gRWEodCxlLG4sbyxyLGkscyxmKXtsZXQgdT10LzMqMjtmb3IobGV0IGM9MDtjPDQ7KytjKWgoZSkmJihlW3RdPWkueCxlW3QrMV09aS55LGVbdCsyXT1pLnopLGgobikmJihuW3RdPXMueCxuW3QrMV09cy55LG5bdCsyXT1zLnopLGgobykmJihvW3RdPWYueCxvW3QrMV09Zi55LG9bdCsyXT1mLnopLHQrPTM7clt1XT0wLHJbdSsxXT0wLHJbdSsyXT0xLHJbdSszXT0wLHJbdSs0XT0xLHJbdSs1XT0xLHJbdSs2XT0wLHJbdSs3XT0xfXZhciBPZCxVTCxWTCxrTCxHTCx6TCxqTCxITCxxTCxJXyx4TyxQTyxNTyxLTCxXTCxYTCxUcyxxZixOTyxLZix2Xz1aKCgpPT57dmUoKTtGdCgpO2hyKCk7WHQoKTtGZSgpO0l0KCk7ZnQoKTtYZSgpO1llKCk7YW4oKTtCbigpO1VuKCk7UF8oKTtOXygpO3RuKCk7S28oKTtSbygpO09kPTAsVUw9MTtnYy5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKTtsZXQgbz10Ll9mcnVzdHVtVHlwZSxyPXQuX2ZydXN0dW07cmV0dXJuIGVbbisrXT1vLG89PT1PZD8oUG8ucGFjayhyLGUsbiksbis9UG8ucGFja2VkTGVuZ3RoKTooeG8ucGFjayhyLGUsbiksbis9eG8ucGFja2VkTGVuZ3RoKSxhLnBhY2sodC5fb3JpZ2luLGUsbiksbis9YS5wYWNrZWRMZW5ndGgsZWUucGFjayh0Ll9vcmllbnRhdGlvbixlLG4pLG4rPWVlLnBhY2tlZExlbmd0aCxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW25dPXQuX2RyYXdOZWFyUGxhbmU/MTowLGV9O1ZMPW5ldyBQbyxrTD1uZXcgeG8sR0w9bmV3IGVlLHpMPW5ldyBhLGpMPW5ldyBkdDtnYy51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXRbZSsrXSxyO289PT1PZD8ocj1Qby51bnBhY2sodCxlLFZMKSxlKz1Qby5wYWNrZWRMZW5ndGgpOihyPXhvLnVucGFjayh0LGUsa0wpLGUrPXhvLnBhY2tlZExlbmd0aCk7bGV0IGk9YS51bnBhY2sodCxlLHpMKTtlKz1hLnBhY2tlZExlbmd0aDtsZXQgcz1lZS51bnBhY2sodCxlLEdMKTtlKz1lZS5wYWNrZWRMZW5ndGg7bGV0IGY9ZHQudW5wYWNrKHQsZSxqTCk7ZSs9ZHQucGFja2VkTGVuZ3RoO2xldCB1PXRbZV09PT0xO2lmKCFoKG4pKXJldHVybiBuZXcgZ2Moe2ZydXN0dW06cixvcmlnaW46aSxvcmllbnRhdGlvbjpzLHZlcnRleEZvcm1hdDpmLF9kcmF3TmVhclBsYW5lOnV9KTtsZXQgYz1vPT09bi5fZnJ1c3R1bVR5cGU/bi5fZnJ1c3R1bTp2b2lkIDA7cmV0dXJuIG4uX2ZydXN0dW09ci5jbG9uZShjKSxuLl9mcnVzdHVtVHlwZT1vLG4uX29yaWdpbj1hLmNsb25lKGksbi5fb3JpZ2luKSxuLl9vcmllbnRhdGlvbj1lZS5jbG9uZShzLG4uX29yaWVudGF0aW9uKSxuLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoZixuLl92ZXJ0ZXhGb3JtYXQpLG4uX2RyYXdOZWFyUGxhbmU9dSxufTtITD1uZXcgUSxxTD1uZXcgc3QsSV89bmV3IHN0LHhPPW5ldyBhLFBPPW5ldyBhLE1PPW5ldyBhLEtMPW5ldyBhLFdMPW5ldyBhLFhMPW5ldyBhLFRzPW5ldyBBcnJheSgzKSxxZj1uZXcgQXJyYXkoNCk7cWZbMF09bmV3IGhlKC0xLC0xLDEsMSk7cWZbMV09bmV3IGhlKDEsLTEsMSwxKTtxZlsyXT1uZXcgaGUoMSwxLDEsMSk7cWZbM109bmV3IGhlKC0xLDEsMSwxKTtOTz1uZXcgQXJyYXkoNCk7Zm9yKGxldCB0PTA7dDw0OysrdClOT1t0XT1uZXcgaGU7Z2MuX2NvbXB1dGVOZWFyRmFyUGxhbmVzPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMsZil7bGV0IHU9US5mcm9tUXVhdGVybmlvbihlLEhMKSxjPXgoaSx4TyksbD14KHMsUE8pLHA9eChmLE1PKTtjPVEuZ2V0Q29sdW1uKHUsMCxjKSxsPVEuZ2V0Q29sdW1uKHUsMSxsKSxwPVEuZ2V0Q29sdW1uKHUsMixwKSxhLm5vcm1hbGl6ZShjLGMpLGEubm9ybWFsaXplKGwsbCksYS5ub3JtYWxpemUocCxwKSxhLm5lZ2F0ZShjLGMpO2xldCBkPXN0LmNvbXB1dGVWaWV3KHQscCxsLGMscUwpLG0sXyxnPW8ucHJvamVjdGlvbk1hdHJpeDtpZihuPT09T2Qpe2xldCBiPXN0Lm11bHRpcGx5KGcsZCxJXyk7Xz1zdC5pbnZlcnNlKGIsSV8pfWVsc2UgbT1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24oZCxJXyk7aChfKT8oVHNbMF09by5uZWFyLFRzWzFdPW8uZmFyKTooVHNbMF09MCxUc1sxXT1vLm5lYXIsVHNbMl09by5mYXIpO2ZvcihsZXQgYj0wO2I8MjsrK2IpZm9yKGxldCBUPTA7VDw0OysrVCl7bGV0IE89aGUuY2xvbmUocWZbVF0sTk9bVF0pO2lmKGgoXykpe089c3QubXVsdGlwbHlCeVZlY3RvcihfLE8sTyk7bGV0IEU9MS9PLnc7YS5tdWx0aXBseUJ5U2NhbGFyKE8sRSxPKSxhLnN1YnRyYWN0KE8sdCxPKSxhLm5vcm1hbGl6ZShPLE8pO2xldCB3PWEuZG90KHAsTyk7YS5tdWx0aXBseUJ5U2NhbGFyKE8sVHNbYl0vdyxPKSxhLmFkZChPLHQsTyl9ZWxzZXtsZXQgRT1vLm9mZkNlbnRlckZydXN0dW07aChFKSYmKG89RSk7bGV0IHc9VHNbYl0sQz1Uc1tiKzFdO08ueD0oTy54KihvLnJpZ2h0LW8ubGVmdCkrby5sZWZ0K28ucmlnaHQpKi41LE8ueT0oTy55KihvLnRvcC1vLmJvdHRvbSkrby5ib3R0b20rby50b3ApKi41LE8uej0oTy56Kih3LUMpLXctQykqLjUsTy53PTEsc3QubXVsdGlwbHlCeVZlY3RvcihtLE8sTyl9clsxMipiK1QqM109Ty54LHJbMTIqYitUKjMrMV09Ty55LHJbMTIqYitUKjMrMl09Ty56fX07Z2MuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fZnJ1c3R1bVR5cGUsbj10Ll9mcnVzdHVtLG89dC5fb3JpZ2luLHI9dC5fb3JpZW50YXRpb24saT10Ll9kcmF3TmVhclBsYW5lLHM9dC5fdmVydGV4Rm9ybWF0LGY9aT82OjUsdT1uZXcgRmxvYXQ2NEFycmF5KDMqNCo2KTtnYy5fY29tcHV0ZU5lYXJGYXJQbGFuZXMobyxyLGUsbix1KTtsZXQgYz0zKjQqMjt1W2NdPXVbMyo0XSx1W2MrMV09dVszKjQrMV0sdVtjKzJdPXVbMyo0KzJdLHVbYyszXT11WzBdLHVbYys0XT11WzFdLHVbYys1XT11WzJdLHVbYys2XT11WzMqM10sdVtjKzddPXVbMyozKzFdLHVbYys4XT11WzMqMysyXSx1W2MrOV09dVszKjddLHVbYysxMF09dVszKjcrMV0sdVtjKzExXT11WzMqNysyXSxjKz0zKjQsdVtjXT11WzMqNV0sdVtjKzFdPXVbMyo1KzFdLHVbYysyXT11WzMqNSsyXSx1W2MrM109dVszXSx1W2MrNF09dVs0XSx1W2MrNV09dVs1XSx1W2MrNl09dVswXSx1W2MrN109dVsxXSx1W2MrOF09dVsyXSx1W2MrOV09dVszKjRdLHVbYysxMF09dVszKjQrMV0sdVtjKzExXT11WzMqNCsyXSxjKz0zKjQsdVtjXT11WzNdLHVbYysxXT11WzRdLHVbYysyXT11WzVdLHVbYyszXT11WzMqNV0sdVtjKzRdPXVbMyo1KzFdLHVbYys1XT11WzMqNSsyXSx1W2MrNl09dVszKjZdLHVbYys3XT11WzMqNisxXSx1W2MrOF09dVszKjYrMl0sdVtjKzldPXVbMyoyXSx1W2MrMTBdPXVbMyoyKzFdLHVbYysxMV09dVszKjIrMl0sYys9Myo0LHVbY109dVszKjJdLHVbYysxXT11WzMqMisxXSx1W2MrMl09dVszKjIrMl0sdVtjKzNdPXVbMyo2XSx1W2MrNF09dVszKjYrMV0sdVtjKzVdPXVbMyo2KzJdLHVbYys2XT11WzMqN10sdVtjKzddPXVbMyo3KzFdLHVbYys4XT11WzMqNysyXSx1W2MrOV09dVszKjNdLHVbYysxMF09dVszKjMrMV0sdVtjKzExXT11WzMqMysyXSxpfHwodT11LnN1YmFycmF5KDMqNCkpO2xldCBsPW5ldyBpZSh7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczp1fSl9KTtpZihoKHMubm9ybWFsKXx8aChzLnRhbmdlbnQpfHxoKHMuYml0YW5nZW50KXx8aChzLnN0KSl7bGV0IGQ9aChzLm5vcm1hbCk/bmV3IEZsb2F0MzJBcnJheSgxMipmKTp2b2lkIDAsbT1oKHMudGFuZ2VudCk/bmV3IEZsb2F0MzJBcnJheSgzKjQqZik6dm9pZCAwLF89aChzLmJpdGFuZ2VudCk/bmV3IEZsb2F0MzJBcnJheSgzKjQqZik6dm9pZCAwLGc9aChzLnN0KT9uZXcgRmxvYXQzMkFycmF5KDIqNCpmKTp2b2lkIDAsYj14TyxUPVBPLE89TU8sRT1hLm5lZ2F0ZShiLEtMKSx3PWEubmVnYXRlKFQsV0wpLEM9YS5uZWdhdGUoTyxYTCk7Yz0wLGkmJihFYShjLGQsbSxfLGcsQyxiLFQpLGMrPTMqNCksRWEoYyxkLG0sXyxnLE8sRSxUKSxjKz0zKjQsRWEoYyxkLG0sXyxnLEUsQyxUKSxjKz0zKjQsRWEoYyxkLG0sXyxnLHcsQyxFKSxjKz0zKjQsRWEoYyxkLG0sXyxnLGIsTyxUKSxjKz0zKjQsRWEoYyxkLG0sXyxnLFQsTyxFKSxoKGQpJiYobC5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmR9KSksaChtKSYmKGwudGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6bX0pKSxoKF8pJiYobC5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOl99KSksaChnKSYmKGwuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOmd9KSl9bGV0IHA9bmV3IFVpbnQxNkFycmF5KDYqZik7Zm9yKGxldCBkPTA7ZDxmOysrZCl7bGV0IG09ZCo2LF89ZCo0O3BbbV09XyxwW20rMV09XysxLHBbbSsyXT1fKzIscFttKzNdPV8scFttKzRdPV8rMixwW20rNV09XyszfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6bCxpbmRpY2VzOnAscHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVMsYm91bmRpbmdTcGhlcmU6QXQuZnJvbVZlcnRpY2VzKHUpfSl9O0tmPWdjfSk7dmFyIExfPXt9O2RlKExfLHtkZWZhdWx0OigpPT4kTH0pO2Z1bmN0aW9uIFlMKHQsZSl7cmV0dXJuIGgoZSkmJih0PUtmLnVucGFjayh0LGUpKSxLZi5jcmVhdGVHZW9tZXRyeSh0KX12YXIgJEwsRF89WigoKT0+e2Z0KCk7dl8oKTskTD1ZTH0pO2Z1bmN0aW9uIFdmKHQpe3kudHlwZU9mLm9iamVjdCgib3B0aW9ucyIsdCkseS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLmZydXN0dW0iLHQuZnJ1c3R1bSkseS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLm9yaWdpbiIsdC5vcmlnaW4pLHkudHlwZU9mLm9iamVjdCgib3B0aW9ucy5vcmllbnRhdGlvbiIsdC5vcmllbnRhdGlvbik7bGV0IGU9dC5mcnVzdHVtLG49dC5vcmllbnRhdGlvbixvPXQub3JpZ2luLHI9eCh0Ll9kcmF3TmVhclBsYW5lLCEwKSxpLHM7ZSBpbnN0YW5jZW9mIFBvPyhpPUZfLHM9UG8ucGFja2VkTGVuZ3RoKTplIGluc3RhbmNlb2YgeG8mJihpPVpMLHM9eG8ucGFja2VkTGVuZ3RoKSx0aGlzLl9mcnVzdHVtVHlwZT1pLHRoaXMuX2ZydXN0dW09ZS5jbG9uZSgpLHRoaXMuX29yaWdpbj1hLmNsb25lKG8pLHRoaXMuX29yaWVudGF0aW9uPWVlLmNsb25lKG4pLHRoaXMuX2RyYXdOZWFyUGxhbmU9cix0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVGcnVzdHVtT3V0bGluZUdlb21ldHJ5Iix0aGlzLnBhY2tlZExlbmd0aD0yK3MrYS5wYWNrZWRMZW5ndGgrZWUucGFja2VkTGVuZ3RofXZhciBGXyxaTCxRTCxKTCx0RCxlRCxCXyxJTz1aKCgpPT57dmUoKTtGdCgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7dl8oKTtYZSgpO1llKCk7YW4oKTtQXygpO05fKCk7dG4oKTtLbygpO0ZfPTAsWkw9MTtXZi5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKTtsZXQgbz10Ll9mcnVzdHVtVHlwZSxyPXQuX2ZydXN0dW07cmV0dXJuIGVbbisrXT1vLG89PT1GXz8oUG8ucGFjayhyLGUsbiksbis9UG8ucGFja2VkTGVuZ3RoKTooeG8ucGFjayhyLGUsbiksbis9eG8ucGFja2VkTGVuZ3RoKSxhLnBhY2sodC5fb3JpZ2luLGUsbiksbis9YS5wYWNrZWRMZW5ndGgsZWUucGFjayh0Ll9vcmllbnRhdGlvbixlLG4pLG4rPWVlLnBhY2tlZExlbmd0aCxlW25dPXQuX2RyYXdOZWFyUGxhbmU/MTowLGV9O1FMPW5ldyBQbyxKTD1uZXcgeG8sdEQ9bmV3IGVlLGVEPW5ldyBhO1dmLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89dFtlKytdLHI7bz09PUZfPyhyPVBvLnVucGFjayh0LGUsUUwpLGUrPVBvLnBhY2tlZExlbmd0aCk6KHI9eG8udW5wYWNrKHQsZSxKTCksZSs9eG8ucGFja2VkTGVuZ3RoKTtsZXQgaT1hLnVucGFjayh0LGUsZUQpO2UrPWEucGFja2VkTGVuZ3RoO2xldCBzPWVlLnVucGFjayh0LGUsdEQpO2UrPWVlLnBhY2tlZExlbmd0aDtsZXQgZj10W2VdPT09MTtpZighaChuKSlyZXR1cm4gbmV3IFdmKHtmcnVzdHVtOnIsb3JpZ2luOmksb3JpZW50YXRpb246cyxfZHJhd05lYXJQbGFuZTpmfSk7bGV0IHU9bz09PW4uX2ZydXN0dW1UeXBlP24uX2ZydXN0dW06dm9pZCAwO3JldHVybiBuLl9mcnVzdHVtPXIuY2xvbmUodSksbi5fZnJ1c3R1bVR5cGU9byxuLl9vcmlnaW49YS5jbG9uZShpLG4uX29yaWdpbiksbi5fb3JpZW50YXRpb249ZWUuY2xvbmUocyxuLl9vcmllbnRhdGlvbiksbi5fZHJhd05lYXJQbGFuZT1mLG59O1dmLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX2ZydXN0dW1UeXBlLG49dC5fZnJ1c3R1bSxvPXQuX29yaWdpbixyPXQuX29yaWVudGF0aW9uLGk9dC5fZHJhd05lYXJQbGFuZSxzPW5ldyBGbG9hdDY0QXJyYXkoMyo0KjIpO0tmLl9jb21wdXRlTmVhckZhclBsYW5lcyhvLHIsZSxuLHMpO2xldCBmPW5ldyBpZSh7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpzfSl9KSx1LGMsbD1pPzI6MSxwPW5ldyBVaW50MTZBcnJheSg4KihsKzEpKSxkPWk/MDoxO2Zvcig7ZDwyOysrZCl1PWk/ZCo4OjAsYz1kKjQscFt1XT1jLHBbdSsxXT1jKzEscFt1KzJdPWMrMSxwW3UrM109YysyLHBbdSs0XT1jKzIscFt1KzVdPWMrMyxwW3UrNl09YyszLHBbdSs3XT1jO2ZvcihkPTA7ZDwyOysrZCl1PShsK2QpKjgsYz1kKjQscFt1XT1jLHBbdSsxXT1jKzQscFt1KzJdPWMrMSxwW3UrM109Yys1LHBbdSs0XT1jKzIscFt1KzVdPWMrNixwW3UrNl09YyszLHBbdSs3XT1jKzc7cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpmLGluZGljZXM6cCxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOkF0LmZyb21WZXJ0aWNlcyhzKX0pfTtCXz1XZn0pO3ZhciBVXz17fTtkZShVXyx7ZGVmYXVsdDooKT0+b0R9KTtmdW5jdGlvbiBuRCh0LGUpe3JldHVybiBoKGUpJiYodD1CXy51bnBhY2sodCxlKSksQl8uY3JlYXRlR2VvbWV0cnkodCl9dmFyIG9ELFZfPVooKCk9PntmdCgpO0lPKCk7b0Q9bkR9KTtmdW5jdGlvbiB3cyh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCksdGhpcy5fZWxsaXBzb2lkPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSx0aGlzLl9yZWN0YW5nbGU9eCh0LnJlY3RhbmdsZSxOdC5NQVhfVkFMVUUpLHRoaXMuX3Byb2plY3Rpb249bmV3IEpuKHRoaXMuX2VsbGlwc29pZCksdGhpcy5fbnVtYmVyT2ZMZXZlbFplcm9UaWxlc1g9eCh0Lm51bWJlck9mTGV2ZWxaZXJvVGlsZXNYLDIpLHRoaXMuX251bWJlck9mTGV2ZWxaZXJvVGlsZXNZPXgodC5udW1iZXJPZkxldmVsWmVyb1RpbGVzWSwxKX12YXIgdk8sTE89WigoKT0+e1VlKCk7WHQoKTtJdCgpO2Z0KCk7WnQoKTtTaSgpO1d0KCk7d24oKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyh3cy5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2VsbGlwc29pZH19LHJlY3RhbmdsZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX3JlY3RhbmdsZX19LHByb2plY3Rpb246e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9wcm9qZWN0aW9ufX19KTt3cy5wcm90b3R5cGUuZ2V0TnVtYmVyT2ZYVGlsZXNBdExldmVsPWZ1bmN0aW9uKHQpe3JldHVybiB0aGlzLl9udW1iZXJPZkxldmVsWmVyb1RpbGVzWDw8dH07d3MucHJvdG90eXBlLmdldE51bWJlck9mWVRpbGVzQXRMZXZlbD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy5fbnVtYmVyT2ZMZXZlbFplcm9UaWxlc1k8PHR9O3dzLnByb3RvdHlwZS5yZWN0YW5nbGVUb05hdGl2ZVJlY3RhbmdsZT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgicmVjdGFuZ2xlIix0KTtsZXQgbj1NLnRvRGVncmVlcyh0Lndlc3QpLG89TS50b0RlZ3JlZXModC5zb3V0aCkscj1NLnRvRGVncmVlcyh0LmVhc3QpLGk9TS50b0RlZ3JlZXModC5ub3J0aCk7cmV0dXJuIGgoZSk/KGUud2VzdD1uLGUuc291dGg9byxlLmVhc3Q9cixlLm5vcnRoPWksZSk6bmV3IE50KG4sbyxyLGkpfTt3cy5wcm90b3R5cGUudGlsZVhZVG9OYXRpdmVSZWN0YW5nbGU9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9dGhpcy50aWxlWFlUb1JlY3RhbmdsZSh0LGUsbixvKTtyZXR1cm4gci53ZXN0PU0udG9EZWdyZWVzKHIud2VzdCksci5zb3V0aD1NLnRvRGVncmVlcyhyLnNvdXRoKSxyLmVhc3Q9TS50b0RlZ3JlZXMoci5lYXN0KSxyLm5vcnRoPU0udG9EZWdyZWVzKHIubm9ydGgpLHJ9O3dzLnByb3RvdHlwZS50aWxlWFlUb1JlY3RhbmdsZT1mdW5jdGlvbih0LGUsbixvKXtsZXQgcj10aGlzLl9yZWN0YW5nbGUsaT10aGlzLmdldE51bWJlck9mWFRpbGVzQXRMZXZlbChuKSxzPXRoaXMuZ2V0TnVtYmVyT2ZZVGlsZXNBdExldmVsKG4pLGY9ci53aWR0aC9pLHU9dCpmK3Iud2VzdCxjPSh0KzEpKmYrci53ZXN0LGw9ci5oZWlnaHQvcyxwPXIubm9ydGgtZSpsLGQ9ci5ub3J0aC0oZSsxKSpsO3JldHVybiBoKG8pfHwobz1uZXcgTnQodSxkLGMscCkpLG8ud2VzdD11LG8uc291dGg9ZCxvLmVhc3Q9YyxvLm5vcnRoPXAsb307d3MucHJvdG90eXBlLnBvc2l0aW9uVG9UaWxlWFk9ZnVuY3Rpb24odCxlLG4pe2xldCBvPXRoaXMuX3JlY3RhbmdsZTtpZighTnQuY29udGFpbnMobyx0KSlyZXR1cm47bGV0IHI9dGhpcy5nZXROdW1iZXJPZlhUaWxlc0F0TGV2ZWwoZSksaT10aGlzLmdldE51bWJlck9mWVRpbGVzQXRMZXZlbChlKSxzPW8ud2lkdGgvcixmPW8uaGVpZ2h0L2ksdT10LmxvbmdpdHVkZTtvLmVhc3Q8by53ZXN0JiYodSs9TS5UV09fUEkpO2xldCBjPSh1LW8ud2VzdCkvc3wwO2M+PXImJihjPXItMSk7bGV0IGw9KG8ubm9ydGgtdC5sYXRpdHVkZSkvZnwwO3JldHVybiBsPj1pJiYobD1pLTEpLGgobik/KG4ueD1jLG4ueT1sLG4pOm5ldyB0dChjLGwpfTt2Tz13c30pO2Z1bmN0aW9uIFZPKHQpe2N0LmZyb21SYWRpYW5zKHQuZWFzdCx0Lm5vcnRoLDAsWGZbMF0pLGN0LmZyb21SYWRpYW5zKHQud2VzdCx0Lm5vcnRoLDAsWGZbMV0pLGN0LmZyb21SYWRpYW5zKHQuZWFzdCx0LnNvdXRoLDAsWGZbMl0pLGN0LmZyb21SYWRpYW5zKHQud2VzdCx0LnNvdXRoLDAsWGZbM10pO2xldCBlPTAsbj0wLG89MCxyPTAsaT1Qbi5fdGVycmFpbkhlaWdodHNNYXhMZXZlbCxzO2ZvcihzPTA7czw9aTsrK3Mpe2xldCBmPSExO2ZvcihsZXQgdT0wO3U8NDsrK3Upe2xldCBjPVhmW3VdO2lmKGlELnBvc2l0aW9uVG9UaWxlWFkoYyxzLFlmKSx1PT09MClvPVlmLngscj1ZZi55O2Vsc2UgaWYobyE9PVlmLnh8fHIhPT1ZZi55KXtmPSEwO2JyZWFrfX1pZihmKWJyZWFrO2U9byxuPXJ9aWYocyE9PTApcmV0dXJue3g6ZSx5Om4sbGV2ZWw6cz5pP2k6cy0xfX12YXIgRE8sRk8sQk8sa18sckQsVU8saUQsWGYsWWYsUG4sRWQsR189WigoKT0+e3ZlKCk7V20oKTtVZSgpO0Z0KCk7SWUoKTtYdCgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7TE8oKTt3bigpO2RmKCk7RE89bmV3IGEsRk89bmV3IGEsQk89bmV3IGN0LGtfPW5ldyBhLHJEPW5ldyBhLFVPPW5ldyBBdCxpRD1uZXcgdk8sWGY9W25ldyBjdCxuZXcgY3QsbmV3IGN0LG5ldyBjdF0sWWY9bmV3IHR0LFBuPXt9O1BuLmluaXRpYWxpemU9ZnVuY3Rpb24oKXtsZXQgdD1Qbi5faW5pdFByb21pc2U7cmV0dXJuIGgodCl8fCh0PW9pLmZldGNoSnNvbihfcCgiQXNzZXRzL2FwcHJveGltYXRlVGVycmFpbkhlaWdodHMuanNvbiIpKS50aGVuKGZ1bmN0aW9uKGUpe1BuLl90ZXJyYWluSGVpZ2h0cz1lfSksUG4uX2luaXRQcm9taXNlPXQpLHR9O1BuLmdldE1pbmltdW1NYXhpbXVtSGVpZ2h0cz1mdW5jdGlvbih0LGUpe2lmKHkuZGVmaW5lZCgicmVjdGFuZ2xlIix0KSwhaChQbi5fdGVycmFpbkhlaWdodHMpKXRocm93IG5ldyBCKCJZb3UgbXVzdCBjYWxsIEFwcHJveGltYXRlVGVycmFpbkhlaWdodHMuaW5pdGlhbGl6ZSBhbmQgd2FpdCBmb3IgdGhlIHByb21pc2UgdG8gcmVzb2x2ZSBiZWZvcmUgdXNpbmcgdGhpcyBmdW5jdGlvbiIpO2U9eChlLCQuZGVmYXVsdCk7bGV0IG49Vk8odCksbz1Qbi5fZGVmYXVsdE1pblRlcnJhaW5IZWlnaHQscj1Qbi5fZGVmYXVsdE1heFRlcnJhaW5IZWlnaHQ7aWYoaChuKSl7bGV0IGk9YCR7bi5sZXZlbH0tJHtuLnh9LSR7bi55fWAscz1Qbi5fdGVycmFpbkhlaWdodHNbaV07aChzKSYmKG89c1swXSxyPXNbMV0pLGUuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oTnQubm9ydGhlYXN0KHQsQk8pLERPKSxlLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKE50LnNvdXRod2VzdCh0LEJPKSxGTyksYS5taWRwb2ludChGTyxETyxrXyk7bGV0IGY9ZS5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGtfLHJEKTtpZihoKGYpKXtsZXQgdT1hLmRpc3RhbmNlKGtfLGYpO289TWF0aC5taW4obywtdSl9ZWxzZSBvPVBuLl9kZWZhdWx0TWluVGVycmFpbkhlaWdodH1yZXR1cm4gbz1NYXRoLm1heChQbi5fZGVmYXVsdE1pblRlcnJhaW5IZWlnaHQsbykse21pbmltdW1UZXJyYWluSGVpZ2h0Om8sbWF4aW11bVRlcnJhaW5IZWlnaHQ6cn19O1BuLmdldEJvdW5kaW5nU3BoZXJlPWZ1bmN0aW9uKHQsZSl7aWYoeS5kZWZpbmVkKCJyZWN0YW5nbGUiLHQpLCFoKFBuLl90ZXJyYWluSGVpZ2h0cykpdGhyb3cgbmV3IEIoIllvdSBtdXN0IGNhbGwgQXBwcm94aW1hdGVUZXJyYWluSGVpZ2h0cy5pbml0aWFsaXplIGFuZCB3YWl0IGZvciB0aGUgcHJvbWlzZSB0byByZXNvbHZlIGJlZm9yZSB1c2luZyB0aGlzIGZ1bmN0aW9uIik7ZT14KGUsJC5kZWZhdWx0KTtsZXQgbj1WTyh0KSxvPVBuLl9kZWZhdWx0TWF4VGVycmFpbkhlaWdodDtpZihoKG4pKXtsZXQgaT1gJHtuLmxldmVsfS0ke24ueH0tJHtuLnl9YCxzPVBuLl90ZXJyYWluSGVpZ2h0c1tpXTtoKHMpJiYobz1zWzFdKX1sZXQgcj1BdC5mcm9tUmVjdGFuZ2xlM0QodCxlLDApO3JldHVybiBBdC5mcm9tUmVjdGFuZ2xlM0QodCxlLG8sVU8pLEF0LnVuaW9uKHIsVU8scil9O1BuLl90ZXJyYWluSGVpZ2h0c01heExldmVsPTY7UG4uX2RlZmF1bHRNYXhUZXJyYWluSGVpZ2h0PTllMztQbi5fZGVmYXVsdE1pblRlcnJhaW5IZWlnaHQ9LTFlNTtQbi5fdGVycmFpbkhlaWdodHM9dm9pZCAwO1BuLl9pbml0UHJvbWlzZT12b2lkIDA7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUG4se2luaXRpYWxpemVkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gaChQbi5fdGVycmFpbkhlaWdodHMpfX19KTtFZD1Qbn0pO2Z1bmN0aW9uIEVzKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvc2l0aW9ucztpZighaChlKXx8ZS5sZW5ndGg8Mil0aHJvdyBuZXcgQigiQXQgbGVhc3QgdHdvIHBvc2l0aW9ucyBhcmUgcmVxdWlyZWQuIik7aWYoaCh0LmFyY1R5cGUpJiZ0LmFyY1R5cGUhPT1fZS5HRU9ERVNJQyYmdC5hcmNUeXBlIT09X2UuUkhVTUIpdGhyb3cgbmV3IEIoIlZhbGlkIG9wdGlvbnMgZm9yIGFyY1R5cGUgYXJlIEFyY1R5cGUuR0VPREVTSUMgYW5kIEFyY1R5cGUuUkhVTUIuIik7dGhpcy53aWR0aD14KHQud2lkdGgsMSksdGhpcy5fcG9zaXRpb25zPWUsdGhpcy5ncmFudWxhcml0eT14KHQuZ3JhbnVsYXJpdHksOTk5OSksdGhpcy5sb29wPXgodC5sb29wLCExKSx0aGlzLmFyY1R5cGU9eCh0LmFyY1R5cGUsX2UuR0VPREVTSUMpLHRoaXMuX2VsbGlwc29pZD0kLmRlZmF1bHQsdGhpcy5fcHJvamVjdGlvbkluZGV4PTAsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlR3JvdW5kUG9seWxpbmVHZW9tZXRyeSIsdGhpcy5fc2NlbmUzRE9ubHk9ITF9ZnVuY3Rpb24gWF8odCxlLG4sbyxyKXtsZXQgaT1VbyhvLHQsMCxjRCkscz1VbyhvLHQsbixHTyksZj1VbyhvLGUsMCx6TyksdT1IaShzLGksR08pLGM9SGkoZixpLHpPKTtyZXR1cm4gYS5jcm9zcyhjLHUsciksYS5ub3JtYWxpemUocixyKX1mdW5jdGlvbiB6Xyh0LGUsbixvLHIsaSxzLGYsdSxjLGwpe2lmKHI9PT0wKXJldHVybjtsZXQgcDtpPT09X2UuR0VPREVTSUM/cD1uZXcgY2QodCxlLHMpOmk9PT1fZS5SSFVNQiYmKHA9bmV3IFpvKHQsZSxzKSk7bGV0IGQ9cC5zdXJmYWNlRGlzdGFuY2U7aWYoZDxyKXJldHVybjtsZXQgbT1YXyh0LGUsbyxzLGxEKSxfPU1hdGguY2VpbChkL3IpLGc9ZC9fLGI9ZyxUPV8tMSxPPWYubGVuZ3RoO2ZvcihsZXQgRT0wO0U8VDtFKyspe2xldCB3PXAuaW50ZXJwb2xhdGVVc2luZ1N1cmZhY2VEaXN0YW5jZShiLGFEKSxDPVVvKHMsdyxuLGZEKSxOPVVvKHMsdyxvLHVEKTthLnBhY2sobSxmLE8pLGEucGFjayhDLHUsTyksYS5wYWNrKE4sYyxPKSxsLnB1c2gody5sYXRpdHVkZSksbC5wdXNoKHcubG9uZ2l0dWRlKSxPKz0zLGIrPWd9fWZ1bmN0aW9uIFVvKHQsZSxuLG8pe3JldHVybiBjdC5jbG9uZShlLGpfKSxqXy5oZWlnaHQ9bixjdC50b0NhcnRlc2lhbihqXyx0LG8pfWZ1bmN0aW9uIEhpKHQsZSxuKXtyZXR1cm4gYS5zdWJ0cmFjdCh0LGUsbiksYS5ub3JtYWxpemUobixuKSxufWZ1bmN0aW9uIGpPKHQsZSxuLG8pe3JldHVybiBvPUhpKHQsZSxvKSxvPWEuY3Jvc3MobyxuLG8pLG89YS5ub3JtYWxpemUobyxvKSxvPWEuY3Jvc3MobixvLG8pLG99ZnVuY3Rpb24gSF8odCxlLG4sbyxyKXtsZXQgaT1IaShuLGUsYUUpLHM9ak8odCxlLGkscEQpLGY9ak8obyxlLGksZEQpO2lmKE0uZXF1YWxzRXBzaWxvbihhLmRvdChzLGYpLF9ELE0uRVBTSUxPTjUpKXJldHVybiByPWEuY3Jvc3MoaSxzLHIpLHI9YS5ub3JtYWxpemUocixyKSxyO3I9YS5hZGQoZixzLHIpLHI9YS5ub3JtYWxpemUocixyKTtsZXQgdT1hLmNyb3NzKGkscixtRCk7cmV0dXJuIGEuZG90KGYsdSk8aEQmJihyPWEubmVnYXRlKHIscikpLHJ9ZnVuY3Rpb24gS08odCxlLG4sbyl7bGV0IHI9SGkobixlLHdEKSxpPWEuZG90KHIsdCk7aWYoaT5pRXx8aTxrTyl7bGV0IHM9SGkobyxuLGFFKSxmPWk8a08/TS5QSV9PVkVSX1RXTzotTS5QSV9PVkVSX1RXTyx1PWVlLmZyb21BeGlzQW5nbGUocyxmLEVEKSxjPVEuZnJvbVF1YXRlcm5pb24odSxPRCk7cmV0dXJuIFEubXVsdGlwbHlCeVZlY3RvcihjLHQsdCksITB9cmV0dXJuITF9ZnVuY3Rpb24gJGYodCxlLG4sbyxyKXtsZXQgaT1jdC50b0NhcnRlc2lhbihlLHQuX2VsbGlwc29pZCxSRCkscz1hLmFkZChpLG4sWE8pLGY9ITEsdT10Ll9lbGxpcHNvaWQsYz11LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHMsV08pO01hdGguYWJzKGUubG9uZ2l0dWRlLWMubG9uZ2l0dWRlKT5NLlBJX09WRVJfVFdPJiYoZj0hMCxzPWEuc3VidHJhY3QoaSxuLFhPKSxjPXUuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMocyxXTykpLGMuaGVpZ2h0PTA7bGV0IGw9dC5wcm9qZWN0KGMscik7cmV0dXJuIHI9YS5zdWJ0cmFjdChsLG8sciksci56PTAscj1hLm5vcm1hbGl6ZShyLHIpLGYmJmEubmVnYXRlKHIscikscn1mdW5jdGlvbiAkTyh0LGUsbixvLHIsaSl7bGV0IHM9YS5zdWJ0cmFjdChlLHQsU0QpO2Eubm9ybWFsaXplKHMscyk7bGV0IGY9bi1zRSx1PWEubXVsdGlwbHlCeVNjYWxhcihzLGYsWU8pO2EuYWRkKHQsdSxyKTtsZXQgYz1vLWNFO3U9YS5tdWx0aXBseUJ5U2NhbGFyKHMsYyxZTyksYS5hZGQoZSx1LGkpfWZ1bmN0aW9uIENkKHQsZSl7bGV0IG49b24uZ2V0UG9pbnREaXN0YW5jZSh4ZCx0KSxvPW9uLmdldFBvaW50RGlzdGFuY2UoeGQsZSkscj1DRDtNLmVxdWFsc0Vwc2lsb24obiwwLE0uRVBTSUxPTjIpPyhyPUhpKGUsdCxyKSxhLm11bHRpcGx5QnlTY2FsYXIocixNLkVQU0lMT04yLHIpLGEuYWRkKHQscix0KSk6TS5lcXVhbHNFcHNpbG9uKG8sMCxNLkVQU0lMT04yKSYmKHI9SGkodCxlLHIpLGEubXVsdGlwbHlCeVNjYWxhcihyLE0uRVBTSUxPTjIsciksYS5hZGQoZSxyLGUpKX1mdW5jdGlvbiB4RCh0LGUpe2xldCBuPU1hdGguYWJzKHQubG9uZ2l0dWRlKSxvPU1hdGguYWJzKGUubG9uZ2l0dWRlKTtpZihNLmVxdWFsc0Vwc2lsb24obixNLlBJLE0uRVBTSUxPTjExKSl7bGV0IHI9TS5zaWduKGUubG9uZ2l0dWRlKTtyZXR1cm4gdC5sb25naXR1ZGU9cioobi1NLkVQU0lMT04xMSksMX1lbHNlIGlmKE0uZXF1YWxzRXBzaWxvbihvLE0uUEksTS5FUFNJTE9OMTEpKXtsZXQgcj1NLnNpZ24odC5sb25naXR1ZGUpO3JldHVybiBlLmxvbmdpdHVkZT1yKihvLU0uRVBTSUxPTjExKSwyfXJldHVybiAwfWZ1bmN0aW9uIFdEKHQsZSxuLG8scixpLHMpe2xldCBmLHUsYz1lLl9lbGxpcHNvaWQsbD1uLmxlbmd0aC8zLTEscD1sKjgsZD1wKjQsbT1sKjM2LF89cD42NTUzNT9uZXcgVWludDMyQXJyYXkobSk6bmV3IFVpbnQxNkFycmF5KG0pLGc9bmV3IEZsb2F0NjRBcnJheShwKjMpLGI9bmV3IEZsb2F0MzJBcnJheShkKSxUPW5ldyBGbG9hdDMyQXJyYXkoZCksTz1uZXcgRmxvYXQzMkFycmF5KGQpLEU9bmV3IEZsb2F0MzJBcnJheShkKSx3PW5ldyBGbG9hdDMyQXJyYXkoZCksQyxOLEksRDtzJiYoQz1uZXcgRmxvYXQzMkFycmF5KGQpLE49bmV3IEZsb2F0MzJBcnJheShkKSxJPW5ldyBGbG9hdDMyQXJyYXkoZCksRD1uZXcgRmxvYXQzMkFycmF5KHAqMikpO2xldCB2PWkubGVuZ3RoLzIsTD0wLFU9ZkU7VS5oZWlnaHQ9MDtsZXQgQT11RTtBLmhlaWdodD0wO2xldCBTPVpPLFA9cV87aWYocylmb3IodT0wLGY9MTtmPHY7ZisrKVUubGF0aXR1ZGU9aVt1XSxVLmxvbmdpdHVkZT1pW3UrMV0sQS5sYXRpdHVkZT1pW3UrMl0sQS5sb25naXR1ZGU9aVt1KzNdLFM9ZS5wcm9qZWN0KFUsUyksUD1lLnByb2plY3QoQSxQKSxMKz1hLmRpc3RhbmNlKFMsUCksdSs9MjtsZXQgRj1vLmxlbmd0aC8zO1A9YS51bnBhY2sobywwLFApO2xldCBqPTA7Zm9yKHU9MyxmPTE7ZjxGO2YrKylTPWEuY2xvbmUoUCxTKSxQPWEudW5wYWNrKG8sdSxQKSxqKz1hLmRpc3RhbmNlKFMsUCksdSs9MztsZXQgSDt1PTM7bGV0IGs9MCxLPTAsWD0wLFI9MCxvdD0hMSxhdD1hLnVucGFjayhuLDAsSk8pLHB0PWEudW5wYWNrKG8sMCxxXykseXQ9YS51bnBhY2sociwwLHRFKTtpZih0KXtsZXQgenQ9YS51bnBhY2sobixuLmxlbmd0aC02LFFPKTtLTyh5dCx6dCxhdCxwdCkmJih5dD1hLm5lZ2F0ZSh5dCx5dCkpfWxldCBydD0wLFB0PTAsZ3Q9MDtmb3IoZj0wO2Y8bDtmKyspe2xldCB6dD1hLmNsb25lKGF0LFFPKSxtZT1hLmNsb25lKHB0LFpPKSxjZT1hLmNsb25lKHl0LFBEKTtvdCYmKGNlPWEubmVnYXRlKGNlLGNlKSksYXQ9YS51bnBhY2sobix1LEpPKSxwdD1hLnVucGFjayhvLHUscV8pLHl0PWEudW5wYWNrKHIsdSx0RSksb3Q9S08oeXQsenQsYXQscHQpLFUubGF0aXR1ZGU9aVtrXSxVLmxvbmdpdHVkZT1pW2srMV0sQS5sYXRpdHVkZT1pW2srMl0sQS5sb25naXR1ZGU9aVtrKzNdO2xldCBwZSx1ZSxRdCxKdDtpZihzKXtsZXQgTGU9eEQoVSxBKTtwZT1lLnByb2plY3QoVSxGRCksdWU9ZS5wcm9qZWN0KEEsQkQpO2xldCBEbj1IaSh1ZSxwZSxuRSk7RG4ueT1NYXRoLmFicyhEbi55KSxRdD1LXyxKdD1XXyxMZT09PTB8fGEuZG90KERuLGEuVU5JVF9ZKT5pRT8oUXQ9JGYoZSxVLGNlLHBlLEtfKSxKdD0kZihlLEEseXQsdWUsV18pKTpMZT09PTE/KEp0PSRmKGUsQSx5dCx1ZSxXXyksUXQueD0wLFF0Lnk9TS5zaWduKFUubG9uZ2l0dWRlLU1hdGguYWJzKEEubG9uZ2l0dWRlKSksUXQuej0wKTooUXQ9JGYoZSxVLGNlLHBlLEtfKSxKdC54PTAsSnQueT1NLnNpZ24oVS5sb25naXR1ZGUtQS5sb25naXR1ZGUpLEp0Lno9MCl9bGV0IE5lPWEuZGlzdGFuY2UobWUscHQpLGdlPVpzLmZyb21DYXJ0ZXNpYW4oenQsakQpLEVlPWEuc3VidHJhY3QoYXQsenQsVUQpLHVuPWEubm9ybWFsaXplKEVlLGVFKSxrZT1hLnN1YnRyYWN0KG1lLHp0LFZEKTtrZT1hLm5vcm1hbGl6ZShrZSxrZSk7bGV0IGJlPWEuY3Jvc3ModW4sa2UsZUUpO2JlPWEubm9ybWFsaXplKGJlLGJlKTtsZXQgbG49YS5jcm9zcyhrZSxjZSxHRCk7bG49YS5ub3JtYWxpemUobG4sbG4pO2xldCBwbj1hLnN1YnRyYWN0KHB0LGF0LGtEKTtwbj1hLm5vcm1hbGl6ZShwbixwbik7bGV0IEVuPWEuY3Jvc3MoeXQscG4sekQpO0VuPWEubm9ybWFsaXplKEVuLEVuKTtsZXQgcmU9TmUvaiwkdD1ydC9qLEdlPTAsZG4sc24sbW4sZm89MCxIbj0wO2lmKHMpe0dlPWEuZGlzdGFuY2UocGUsdWUpLGRuPVpzLmZyb21DYXJ0ZXNpYW4ocGUsSEQpLHNuPWEuc3VidHJhY3QodWUscGUsbkUpLG1uPWEubm9ybWFsaXplKHNuLHFEKTtsZXQgTGU9bW4ueDttbi54PW1uLnksbW4ueT0tTGUsZm89R2UvTCxIbj1QdC9MfWZvcihIPTA7SDw4O0grKyl7bGV0IExlPVIrSCo0LERuPUsrSCoyLFduPUxlKzMsem89SDw0PzE6LTEscm49SD09PTJ8fEg9PT0zfHxIPT09Nnx8SD09PTc/MTotMTthLnBhY2soZ2UuaGlnaCxiLExlKSxiW1duXT1FZS54LGEucGFjayhnZS5sb3csVCxMZSksVFtXbl09RWUueSxhLnBhY2sobG4sTyxMZSksT1tXbl09RWUueixhLnBhY2soRW4sRSxMZSksRVtXbl09cmUqem8sYS5wYWNrKGJlLHcsTGUpO2xldCBSbj0kdCpybjtSbj09PTAmJnJuPDAmJihSbj05KSx3W1duXT1SbixzJiYoQ1tMZV09ZG4uaGlnaC54LENbTGUrMV09ZG4uaGlnaC55LENbTGUrMl09ZG4ubG93LngsQ1tMZSszXT1kbi5sb3cueSxJW0xlXT0tUXQueSxJW0xlKzFdPVF0LngsSVtMZSsyXT1KdC55LElbTGUrM109LUp0LngsTltMZV09c24ueCxOW0xlKzFdPXNuLnksTltMZSsyXT1tbi54LE5bTGUrM109bW4ueSxEW0RuXT1mbyp6byxSbj1IbipybixSbj09PTAmJnJuPDAmJihSbj05KSxEW0RuKzFdPVJuKX1sZXQgWmU9TEQsY249REQsS2U9SUQsaG49dkQsdW89TnQuZnJvbUNhcnRvZ3JhcGhpY0FycmF5KE1ELE5EKSxxbj1FZC5nZXRNaW5pbXVtTWF4aW11bUhlaWdodHModW8sYyksS249cW4ubWluaW11bVRlcnJhaW5IZWlnaHQsbG89cW4ubWF4aW11bVRlcnJhaW5IZWlnaHQ7Z3QrPU1hdGguYWJzKEtuKSxndCs9TWF0aC5hYnMobG8pLCRPKHp0LG1lLEtuLGxvLFplLEtlKSwkTyhhdCxwdCxLbixsbyxjbixobik7bGV0IHplPWEubXVsdGlwbHlCeVNjYWxhcihiZSxNLkVQU0lMT041LG9FKTthLmFkZChaZSx6ZSxaZSksYS5hZGQoY24semUsY24pLGEuYWRkKEtlLHplLEtlKSxhLmFkZChobix6ZSxobiksQ2QoWmUsY24pLENkKEtlLGhuKSxhLnBhY2soWmUsZyxYKSxhLnBhY2soY24sZyxYKzMpLGEucGFjayhobixnLFgrNiksYS5wYWNrKEtlLGcsWCs5KSx6ZT1hLm11bHRpcGx5QnlTY2FsYXIoYmUsLTIqTS5FUFNJTE9ONSxvRSksYS5hZGQoWmUsemUsWmUpLGEuYWRkKGNuLHplLGNuKSxhLmFkZChLZSx6ZSxLZSksYS5hZGQoaG4semUsaG4pLENkKFplLGNuKSxDZChLZSxobiksYS5wYWNrKFplLGcsWCsxMiksYS5wYWNrKGNuLGcsWCsxNSksYS5wYWNrKGhuLGcsWCsxOCksYS5wYWNrKEtlLGcsWCsyMSksays9Mix1Kz0zLEsrPTE2LFgrPTI0LFIrPTMyLHJ0Kz1OZSxQdCs9R2V9dT0wO2xldCBDdD0wO2ZvcihmPTA7ZjxsO2YrKyl7Zm9yKEg9MDtIPHJFO0grKylfW3UrSF09bEVbSF0rQ3Q7Q3QrPTgsdSs9ckV9bGV0IG10PUtEO0F0LmZyb21WZXJ0aWNlcyhuLGEuWkVSTywzLG10WzBdKSxBdC5mcm9tVmVydGljZXMobyxhLlpFUk8sMyxtdFsxXSk7bGV0IHV0PUF0LmZyb21Cb3VuZGluZ1NwaGVyZXMobXQpO3V0LnJhZGl1cys9Z3QvKGwqMik7bGV0IHZ0PXtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsbm9ybWFsaXplOiExLHZhbHVlczpnfSksc3RhcnRIaUFuZEZvcndhcmRPZmZzZXRYOk9zKGIpLHN0YXJ0TG9BbmRGb3J3YXJkT2Zmc2V0WTpPcyhUKSxzdGFydE5vcm1hbEFuZEZvcndhcmRPZmZzZXRaOk9zKE8pLGVuZE5vcm1hbEFuZFRleHR1cmVDb29yZGluYXRlTm9ybWFsaXphdGlvblg6T3MoRSkscmlnaHROb3JtYWxBbmRUZXh0dXJlQ29vcmRpbmF0ZU5vcm1hbGl6YXRpb25ZOk9zKHcpfTtyZXR1cm4gcyYmKHZ0LnN0YXJ0SGlMbzJEPU9zKEMpLHZ0Lm9mZnNldEFuZFJpZ2h0MkQ9T3MoTiksdnQuc3RhcnRFbmROb3JtYWxzMkQ9T3MoSSksdnQudGV4Y29vcmROb3JtYWxpemF0aW9uMkQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsbm9ybWFsaXplOiExLHZhbHVlczpEfSkpLG5ldyBVdCh7YXR0cmlidXRlczp2dCxpbmRpY2VzOl8sYm91bmRpbmdTcGhlcmU6dXR9KX1mdW5jdGlvbiBPcyh0KXtyZXR1cm4gbmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjQsbm9ybWFsaXplOiExLHZhbHVlczp0fSl9dmFyIFlfLHNELGlFLGtPLHNFLGNFLGNELEdPLHpPLGFELGZELHVELGxELGpfLHBELGRELG1ELGFFLGhELF9ELHhkLHlELGdELEFELGJELFRELFJkLFNkLEhPLHFPLHdELE9ELEVELFdPLFJELFhPLFNELFlPLENELGZFLHVFLFpPLHFfLFFPLEpPLFBELHRFLE1ELE5ELElELHZELExELERELEZELEJELEtfLFdfLFVELFZELGtELGVFLEdELHpELGpELEhELG5FLHFELG9FLEtELGxFLHJFLCRfLHBFPVooKCk9PntHXygpO2ZjKCk7anIoKTt2ZSgpO0Z0KCk7SWUoKTtYdCgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTt6MCgpO01mKCk7RmgoKTtTaSgpO1hlKCk7WWUoKTt0YygpO1d0KCk7Qm4oKTtmcygpO0tvKCk7d24oKTtpYygpO1lfPVtKbixub10sc0Q9WV8ubGVuZ3RoLGlFPU1hdGguY29zKE0udG9SYWRpYW5zKDMwKSksa089TWF0aC5jb3MoTS50b1JhZGlhbnMoMTUwKSksc0U9MCxjRT0xZTM7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoRXMucHJvdG90eXBlLHtwYWNrZWRMZW5ndGg6e2dldDpmdW5jdGlvbigpe3JldHVybiAxK3RoaXMuX3Bvc2l0aW9ucy5sZW5ndGgqMysxKzErMSskLnBhY2tlZExlbmd0aCsxKzF9fX0pO0VzLnNldFByb2plY3Rpb25BbmRFbGxpcHNvaWQ9ZnVuY3Rpb24odCxlKXtsZXQgbj0wO2ZvcihsZXQgbz0wO288c0Q7bysrKWlmKGUgaW5zdGFuY2VvZiBZX1tvXSl7bj1vO2JyZWFrfXQuX3Byb2plY3Rpb25JbmRleD1uLHQuX2VsbGlwc29pZD1lLmVsbGlwc29pZH07Y0Q9bmV3IGEsR089bmV3IGEsek89bmV3IGE7YUQ9bmV3IGN0LGZEPW5ldyBhLHVEPW5ldyBhLGxEPW5ldyBhO2pfPW5ldyBjdDtFcy5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKTtsZXQgbz14KG4sMCkscj10Ll9wb3NpdGlvbnMsaT1yLmxlbmd0aDtlW28rK109aTtmb3IobGV0IHM9MDtzPGk7KytzKXtsZXQgZj1yW3NdO2EucGFjayhmLGUsbyksbys9M31yZXR1cm4gZVtvKytdPXQuZ3JhbnVsYXJpdHksZVtvKytdPXQubG9vcD8xOjAsZVtvKytdPXQuYXJjVHlwZSwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbyksbys9JC5wYWNrZWRMZW5ndGgsZVtvKytdPXQuX3Byb2plY3Rpb25JbmRleCxlW28rK109dC5fc2NlbmUzRE9ubHk/MTowLGV9O0VzLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCk7bGV0IG89eChlLDApLHI9dFtvKytdLGk9bmV3IEFycmF5KHIpO2ZvcihsZXQgZD0wO2Q8cjtkKyspaVtkXT1hLnVucGFjayh0LG8pLG8rPTM7bGV0IHM9dFtvKytdLGY9dFtvKytdPT09MSx1PXRbbysrXSxjPSQudW5wYWNrKHQsbyk7bys9JC5wYWNrZWRMZW5ndGg7bGV0IGw9dFtvKytdLHA9dFtvKytdPT09MTtyZXR1cm4gaChuKXx8KG49bmV3IEVzKHtwb3NpdGlvbnM6aX0pKSxuLl9wb3NpdGlvbnM9aSxuLmdyYW51bGFyaXR5PXMsbi5sb29wPWYsbi5hcmNUeXBlPXUsbi5fZWxsaXBzb2lkPWMsbi5fcHJvamVjdGlvbkluZGV4PWwsbi5fc2NlbmUzRE9ubHk9cCxufTtwRD1uZXcgYSxkRD1uZXcgYSxtRD1uZXcgYSxhRT1uZXcgYSxoRD0wLF9EPS0xO3hkPW9uLmZyb21Qb2ludE5vcm1hbChhLlpFUk8sYS5VTklUX1kpLHlEPW5ldyBhLGdEPW5ldyBhLEFEPW5ldyBhLGJEPW5ldyBhLFREPW5ldyBhLFJkPW5ldyBhLFNkPW5ldyBjdCxITz1uZXcgY3QscU89bmV3IGN0O0VzLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPSF0Ll9zY2VuZTNET25seSxuPXQubG9vcCxvPXQuX2VsbGlwc29pZCxyPXQuZ3JhbnVsYXJpdHksaT10LmFyY1R5cGUscz1uZXcgWV9bdC5fcHJvamVjdGlvbkluZGV4XShvKSxmPXNFLHU9Y0UsYyxsLHA9dC5fcG9zaXRpb25zLGQ9cC5sZW5ndGg7ZD09PTImJihuPSExKTtsZXQgbSxfLGcsYixUPW5ldyBabyh2b2lkIDAsdm9pZCAwLG8pLE8sRSx3LEM9W3BbMF1dO2ZvcihsPTA7bDxkLTE7bCsrKW09cFtsXSxfPXBbbCsxXSxPPWhvLmxpbmVTZWdtZW50UGxhbmUobSxfLHhkLFJkKSxoKE8pJiYhYS5lcXVhbHNFcHNpbG9uKE8sbSxNLkVQU0lMT043KSYmIWEuZXF1YWxzRXBzaWxvbihPLF8sTS5FUFNJTE9ONykmJih0LmFyY1R5cGU9PT1fZS5HRU9ERVNJQz9DLnB1c2goYS5jbG9uZShPKSk6dC5hcmNUeXBlPT09X2UuUkhVTUImJih3PW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoTyxTZCkubG9uZ2l0dWRlLGc9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhtLFNkKSxiPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMoXyxITyksVC5zZXRFbmRQb2ludHMoZyxiKSxFPVQuZmluZEludGVyc2VjdGlvbldpdGhMb25naXR1ZGUodyxxTyksTz1vLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKEUsUmQpLGgoTykmJiFhLmVxdWFsc0Vwc2lsb24oTyxtLE0uRVBTSUxPTjcpJiYhYS5lcXVhbHNFcHNpbG9uKE8sXyxNLkVQU0lMT043KSYmQy5wdXNoKGEuY2xvbmUoTykpKSksQy5wdXNoKF8pO24mJihtPXBbZC0xXSxfPXBbMF0sTz1oby5saW5lU2VnbWVudFBsYW5lKG0sXyx4ZCxSZCksaChPKSYmIWEuZXF1YWxzRXBzaWxvbihPLG0sTS5FUFNJTE9ONykmJiFhLmVxdWFsc0Vwc2lsb24oTyxfLE0uRVBTSUxPTjcpJiYodC5hcmNUeXBlPT09X2UuR0VPREVTSUM/Qy5wdXNoKGEuY2xvbmUoTykpOnQuYXJjVHlwZT09PV9lLlJIVU1CJiYodz1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKE8sU2QpLmxvbmdpdHVkZSxnPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMobSxTZCksYj1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKF8sSE8pLFQuc2V0RW5kUG9pbnRzKGcsYiksRT1ULmZpbmRJbnRlcnNlY3Rpb25XaXRoTG9uZ2l0dWRlKHcscU8pLE89by5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihFLFJkKSxoKE8pJiYhYS5lcXVhbHNFcHNpbG9uKE8sbSxNLkVQU0lMT043KSYmIWEuZXF1YWxzRXBzaWxvbihPLF8sTS5FUFNJTE9ONykmJkMucHVzaChhLmNsb25lKE8pKSkpKTtsZXQgTj1DLmxlbmd0aCxJPW5ldyBBcnJheShOKTtmb3IobD0wO2w8TjtsKyspe2xldCBvdD1jdC5mcm9tQ2FydGVzaWFuKENbbF0sbyk7b3QuaGVpZ2h0PTAsSVtsXT1vdH1pZihJPXhuKEksY3QuZXF1YWxzRXBzaWxvbiksTj1JLmxlbmd0aCxOPDIpcmV0dXJuO2xldCBEPVtdLHY9W10sTD1bXSxVPVtdLEE9eUQsUz1nRCxQPUFELEY9YkQsaj1URCxIPUlbMF0saz1JWzFdLEs9SVtOLTFdO2ZvcihBPVVvKG8sSyxmLEEpLEY9VW8obyxrLGYsRiksUz1VbyhvLEgsZixTKSxQPVVvKG8sSCx1LFApLG4/aj1IXyhBLFMsUCxGLGopOmo9WF8oSCxrLHUsbyxqKSxhLnBhY2soaix2LDApLGEucGFjayhTLEwsMCksYS5wYWNrKFAsVSwwKSxELnB1c2goSC5sYXRpdHVkZSksRC5wdXNoKEgubG9uZ2l0dWRlKSx6XyhILGssZix1LHIsaSxvLHYsTCxVLEQpLGw9MTtsPE4tMTsrK2wpe0E9YS5jbG9uZShTLEEpLFM9YS5jbG9uZShGLFMpO2xldCBvdD1JW2xdO1VvKG8sb3QsdSxQKSxVbyhvLElbbCsxXSxmLEYpLEhfKEEsUyxQLEYsaiksYz12Lmxlbmd0aCxhLnBhY2soaix2LGMpLGEucGFjayhTLEwsYyksYS5wYWNrKFAsVSxjKSxELnB1c2gob3QubGF0aXR1ZGUpLEQucHVzaChvdC5sb25naXR1ZGUpLHpfKElbbF0sSVtsKzFdLGYsdSxyLGksbyx2LEwsVSxEKX1sZXQgWD1JW04tMV0sUj1JW04tMl07aWYoUz1VbyhvLFgsZixTKSxQPVVvKG8sWCx1LFApLG4pe2xldCBvdD1JWzBdO0E9VW8obyxSLGYsQSksRj1VbyhvLG90LGYsRiksaj1IXyhBLFMsUCxGLGopfWVsc2Ugaj1YXyhSLFgsdSxvLGopO2lmKGM9di5sZW5ndGgsYS5wYWNrKGosdixjKSxhLnBhY2soUyxMLGMpLGEucGFjayhQLFUsYyksRC5wdXNoKFgubGF0aXR1ZGUpLEQucHVzaChYLmxvbmdpdHVkZSksbil7Zm9yKHpfKFgsSCxmLHUscixpLG8sdixMLFUsRCksYz12Lmxlbmd0aCxsPTA7bDwzOysrbCl2W2MrbF09dltsXSxMW2MrbF09TFtsXSxVW2MrbF09VVtsXTtELnB1c2goSC5sYXRpdHVkZSksRC5wdXNoKEgubG9uZ2l0dWRlKX1yZXR1cm4gV0QobixzLEwsVSx2LEQsZSl9O3dEPW5ldyBhLE9EPW5ldyBRLEVEPW5ldyBlZTtXTz1uZXcgY3QsUkQ9bmV3IGEsWE89bmV3IGE7U0Q9bmV3IGEsWU89bmV3IGE7Q0Q9bmV3IGE7ZkU9bmV3IGN0LHVFPW5ldyBjdCxaTz1uZXcgYSxxXz1uZXcgYSxRTz1uZXcgYSxKTz1uZXcgYSxQRD1uZXcgYSx0RT1uZXcgYSxNRD1bZkUsdUVdLE5EPW5ldyBOdCxJRD1uZXcgYSx2RD1uZXcgYSxMRD1uZXcgYSxERD1uZXcgYSxGRD1uZXcgYSxCRD1uZXcgYSxLXz1uZXcgYSxXXz1uZXcgYSxVRD1uZXcgYSxWRD1uZXcgYSxrRD1uZXcgYSxlRT1uZXcgYSxHRD1uZXcgYSx6RD1uZXcgYSxqRD1uZXcgWnMsSEQ9bmV3IFpzLG5FPW5ldyBhLHFEPW5ldyBhLG9FPW5ldyBhLEtEPVtuZXcgQXQsbmV3IEF0XSxsRT1bMCwyLDEsMCwzLDIsMCw3LDMsMCw0LDcsMCw1LDQsMCwxLDUsNSw3LDQsNSw2LDcsNSwyLDYsNSwxLDIsMyw2LDIsMyw3LDZdLHJFPWxFLmxlbmd0aDtFcy5fcHJvamVjdE5vcm1hbD0kZjskXz1Fc30pO3ZhciBaXz17fTtkZShaXyx7ZGVmYXVsdDooKT0+WUR9KTtmdW5jdGlvbiBYRCh0LGUpe3JldHVybiBFZC5pbml0aWFsaXplKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBoKGUpJiYodD0kXy51bnBhY2sodCxlKSksJF8uY3JlYXRlR2VvbWV0cnkodCl9KX12YXIgWUQsUV89WigoKT0+e0dfKCk7ZnQoKTtwRSgpO1lEPVhEfSk7ZnVuY3Rpb24gUmEodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCk7dGhpcy5fdmVydGV4Rm9ybWF0PWUsdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlUGxhbmVHZW9tZXRyeSJ9dmFyIGRFLCRELFBkLE1kLEpfLG1FPVooKCk9Pnt2ZSgpO0Z0KCk7WHQoKTtGZSgpO0l0KCk7ZnQoKTtYZSgpO1llKCk7YW4oKTt0bigpO1JvKCk7UmEucGFja2VkTGVuZ3RoPWR0LnBhY2tlZExlbmd0aDtSYS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxlfTtkRT1uZXcgZHQsJEQ9e3ZlcnRleEZvcm1hdDpkRX07UmEudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz1kdC51bnBhY2sodCxlLGRFKTtyZXR1cm4gaChuKT8obi5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKG8sbi5fdmVydGV4Rm9ybWF0KSxuKTpuZXcgUmEoJEQpfTtQZD1uZXcgYSgtLjUsLS41LDApLE1kPW5ldyBhKC41LC41LDApO1JhLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3ZlcnRleEZvcm1hdCxuPW5ldyBpZSxvLHI7aWYoZS5wb3NpdGlvbil7aWYocj1uZXcgRmxvYXQ2NEFycmF5KDQqMyksclswXT1QZC54LHJbMV09UGQueSxyWzJdPTAsclszXT1NZC54LHJbNF09UGQueSxyWzVdPTAscls2XT1NZC54LHJbN109TWQueSxyWzhdPTAscls5XT1QZC54LHJbMTBdPU1kLnksclsxMV09MCxuLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6cn0pLGUubm9ybWFsKXtsZXQgaT1uZXcgRmxvYXQzMkFycmF5KDEyKTtpWzBdPTAsaVsxXT0wLGlbMl09MSxpWzNdPTAsaVs0XT0wLGlbNV09MSxpWzZdPTAsaVs3XT0wLGlbOF09MSxpWzldPTAsaVsxMF09MCxpWzExXT0xLG4ubm9ybWFsPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczppfSl9aWYoZS5zdCl7bGV0IGk9bmV3IEZsb2F0MzJBcnJheSg4KTtpWzBdPTAsaVsxXT0wLGlbMl09MSxpWzNdPTAsaVs0XT0xLGlbNV09MSxpWzZdPTAsaVs3XT0xLG4uc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOml9KX1pZihlLnRhbmdlbnQpe2xldCBpPW5ldyBGbG9hdDMyQXJyYXkoMTIpO2lbMF09MSxpWzFdPTAsaVsyXT0wLGlbM109MSxpWzRdPTAsaVs1XT0wLGlbNl09MSxpWzddPTAsaVs4XT0wLGlbOV09MSxpWzEwXT0wLGlbMTFdPTAsbi50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczppfSl9aWYoZS5iaXRhbmdlbnQpe2xldCBpPW5ldyBGbG9hdDMyQXJyYXkoMTIpO2lbMF09MCxpWzFdPTEsaVsyXT0wLGlbM109MCxpWzRdPTEsaVs1XT0wLGlbNl09MCxpWzddPTEsaVs4XT0wLGlbOV09MCxpWzEwXT0xLGlbMTFdPTAsbi5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOml9KX1vPW5ldyBVaW50MTZBcnJheSgyKjMpLG9bMF09MCxvWzFdPTEsb1syXT0yLG9bM109MCxvWzRdPTIsb1s1XT0zfXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6bixpbmRpY2VzOm8scHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVMsYm91bmRpbmdTcGhlcmU6bmV3IEF0KGEuWkVSTyxNYXRoLnNxcnQoMikpfSl9O0pfPVJhfSk7dmFyIHR5PXt9O2RlKHR5LHtkZWZhdWx0OigpPT5RRH0pO2Z1bmN0aW9uIFpEKHQsZSl7cmV0dXJuIGgoZSkmJih0PUpfLnVucGFjayh0LGUpKSxKXy5jcmVhdGVHZW9tZXRyeSh0KX12YXIgUUQsZXk9WigoKT0+e2Z0KCk7bUUoKTtRRD1aRH0pO2Z1bmN0aW9uIFNhKCl7dGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlUGxhbmVPdXRsaW5lR2VvbWV0cnkifXZhciBScyxOZCxueSxoRT1aKCgpPT57dmUoKTtGdCgpO1h0KCk7RmUoKTtmdCgpO1hlKCk7WWUoKTthbigpO3RuKCk7U2EucGFja2VkTGVuZ3RoPTA7U2EucGFjaz1mdW5jdGlvbih0LGUpe3JldHVybiB5LmRlZmluZWQoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxlfTtTYS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LmRlZmluZWQoImFycmF5Iix0KSxoKG4pP246bmV3IFNhfTtScz1uZXcgYSgtLjUsLS41LDApLE5kPW5ldyBhKC41LC41LDApO1NhLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKCl7bGV0IHQ9bmV3IGllLGU9bmV3IFVpbnQxNkFycmF5KDQqMiksbj1uZXcgRmxvYXQ2NEFycmF5KDQqMyk7cmV0dXJuIG5bMF09UnMueCxuWzFdPVJzLnksblsyXT1Scy56LG5bM109TmQueCxuWzRdPVJzLnksbls1XT1Scy56LG5bNl09TmQueCxuWzddPU5kLnksbls4XT1Scy56LG5bOV09UnMueCxuWzEwXT1OZC55LG5bMTFdPVJzLnosdC5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm59KSxlWzBdPTAsZVsxXT0xLGVbMl09MSxlWzNdPTIsZVs0XT0yLGVbNV09MyxlWzZdPTMsZVs3XT0wLG5ldyBVdCh7YXR0cmlidXRlczp0LGluZGljZXM6ZSxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOm5ldyBBdChhLlpFUk8sTWF0aC5zcXJ0KDIpKX0pfTtueT1TYX0pO3ZhciBveT17fTtkZShveSx7ZGVmYXVsdDooKT0+dEZ9KTtmdW5jdGlvbiBKRCh0LGUpe3JldHVybiBoKGUpJiYodD1ueS51bnBhY2sodCxlKSksbnkuY3JlYXRlR2VvbWV0cnkodCl9dmFyIHRGLHJ5PVooKCk9PntmdCgpO2hFKCk7dEY9SkR9KTtmdW5jdGlvbiBMbih0LGUpe3RoaXMucG9zaXRpb249dCxoKHRoaXMucG9zaXRpb24pfHwodGhpcy5wb3NpdGlvbj1uZXcgdHQpLHRoaXMudGFuZ2VudFBsYW5lPWUsaCh0aGlzLnRhbmdlbnRQbGFuZSl8fCh0aGlzLnRhbmdlbnRQbGFuZT1Mbi5OT1JUSF9QT0xFX1RBTkdFTlRfUExBTkUpfXZhciBDYSxlRixuRixvRixyRixjcixfRT1aKCgpPT57VWUoKTtGdCgpO0llKCk7WHQoKTtmdCgpO1p0KCk7bGEoKTt0YygpO1d0KCk7QnAoKTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhMbi5wcm90b3R5cGUse2VsbGlwc29pZDp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudGFuZ2VudFBsYW5lLmVsbGlwc29pZH19LHg6e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnBvc2l0aW9uLnh9fSx5OntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wb3NpdGlvbi55fX0sY29uZm9ybWFsTGF0aXR1ZGU6e2dldDpmdW5jdGlvbigpe2xldCB0PXR0Lm1hZ25pdHVkZSh0aGlzLnBvc2l0aW9uKSxlPTIqdGhpcy5lbGxpcHNvaWQubWF4aW11bVJhZGl1cztyZXR1cm4gdGhpcy50YW5nZW50UGxhbmUucGxhbmUubm9ybWFsLnoqKE0uUElfT1ZFUl9UV08tMipNYXRoLmF0YW4yKHQsZSkpfX0sbG9uZ2l0dWRlOntnZXQ6ZnVuY3Rpb24oKXtsZXQgdD1NLlBJX09WRVJfVFdPK01hdGguYXRhbjIodGhpcy55LHRoaXMueCk7cmV0dXJuIHQ+TWF0aC5QSSYmKHQtPU0uVFdPX1BJKSx0fX19KTtDYT1uZXcgY3QsZUY9bmV3IGE7TG4ucHJvdG90eXBlLmdldExhdGl0dWRlPWZ1bmN0aW9uKHQpe2godCl8fCh0PSQuZGVmYXVsdCksQ2EubGF0aXR1ZGU9dGhpcy5jb25mb3JtYWxMYXRpdHVkZSxDYS5sb25naXR1ZGU9dGhpcy5sb25naXR1ZGUsQ2EuaGVpZ2h0PTA7bGV0IGU9dGhpcy5lbGxpcHNvaWQuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oQ2EsZUYpO3JldHVybiB0LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKGUsQ2EpLENhLmxhdGl0dWRlfTtuRj1uZXcgUXMsb0Y9bmV3IGEsckY9bmV3IGE7TG4uZnJvbUNhcnRlc2lhbj1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFuIix0KTtsZXQgbj1NLnNpZ25Ob3RaZXJvKHQueiksbz1Mbi5OT1JUSF9QT0xFX1RBTkdFTlRfUExBTkUscj1Mbi5TT1VUSF9QT0xFO248MCYmKG89TG4uU09VVEhfUE9MRV9UQU5HRU5UX1BMQU5FLHI9TG4uTk9SVEhfUE9MRSk7bGV0IGk9bkY7aS5vcmlnaW49by5lbGxpcHNvaWQuc2NhbGVUb0dlb2NlbnRyaWNTdXJmYWNlKHQsaS5vcmlnaW4pLGkuZGlyZWN0aW9uPWEuc3VidHJhY3QoaS5vcmlnaW4scixvRiksYS5ub3JtYWxpemUoaS5kaXJlY3Rpb24saS5kaXJlY3Rpb24pO2xldCBzPWhvLnJheVBsYW5lKGksby5wbGFuZSxyRiksZj1hLnN1YnRyYWN0KHMscixzKSx1PWEuZG90KG8ueEF4aXMsZiksYz1uKmEuZG90KG8ueUF4aXMsZik7cmV0dXJuIGgoZSk/KGUucG9zaXRpb249bmV3IHR0KHUsYyksZS50YW5nZW50UGxhbmU9byxlKTpuZXcgTG4obmV3IHR0KHUsYyksbyl9O0xuLmZyb21DYXJ0ZXNpYW5BcnJheT1mdW5jdGlvbih0LGUpe3kuZGVmaW5lZCgiY2FydGVzaWFucyIsdCk7bGV0IG49dC5sZW5ndGg7aChlKT9lLmxlbmd0aD1uOmU9bmV3IEFycmF5KG4pO2ZvcihsZXQgbz0wO288bjtvKyspZVtvXT1Mbi5mcm9tQ2FydGVzaWFuKHRbb10sZVtvXSk7cmV0dXJuIGV9O0xuLmNsb25lPWZ1bmN0aW9uKHQsZSl7aWYoaCh0KSlyZXR1cm4gaChlKT8oZS5wb3NpdGlvbj10LnBvc2l0aW9uLGUudGFuZ2VudFBsYW5lPXQudGFuZ2VudFBsYW5lLGUpOm5ldyBMbih0LnBvc2l0aW9uLHQudGFuZ2VudFBsYW5lKX07TG4uSEFMRl9VTklUX1NQSEVSRT1PYmplY3QuZnJlZXplKG5ldyAkKC41LC41LC41KSk7TG4uTk9SVEhfUE9MRT1PYmplY3QuZnJlZXplKG5ldyBhKDAsMCwuNSkpO0xuLlNPVVRIX1BPTEU9T2JqZWN0LmZyZWV6ZShuZXcgYSgwLDAsLS41KSk7TG4uTk9SVEhfUE9MRV9UQU5HRU5UX1BMQU5FPU9iamVjdC5mcmVlemUobmV3IHlvKExuLk5PUlRIX1BPTEUsTG4uSEFMRl9VTklUX1NQSEVSRSkpO0xuLlNPVVRIX1BPTEVfVEFOR0VOVF9QTEFORT1PYmplY3QuZnJlZXplKG5ldyB5byhMbi5TT1VUSF9QT0xFLExuLkhBTEZfVU5JVF9TUEhFUkUpKTtjcj1Mbn0pO2Z1bmN0aW9uIHNGKHQsZSxuLG8pe2xldCBpPW8uY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWModCxpRikuaGVpZ2h0LHM9by5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhlLHlFKTtzLmhlaWdodD1pLG8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4ocyxlKTtsZXQgZj1vLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKG4seUUpO2YuaGVpZ2h0PWktMTAwLG8uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oZixuKX1mdW5jdGlvbiBpeSh0KXtsZXQgZT10LnZlcnRleEZvcm1hdCxuPXQuZ2VvbWV0cnksbz10LnNoYWRvd1ZvbHVtZSxyPW4uYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsaT1oKG4uYXR0cmlidXRlcy5zdCk/bi5hdHRyaWJ1dGVzLnN0LnZhbHVlczp2b2lkIDAscz1yLmxlbmd0aCxmPXQud2FsbCx1PXQudG9wfHxmLGM9dC5ib3R0b218fGY7aWYoZS5zdHx8ZS5ub3JtYWx8fGUudGFuZ2VudHx8ZS5iaXRhbmdlbnR8fG8pe2xldCBsPXQuYm91bmRpbmdSZWN0YW5nbGUscD10LnJvdGF0aW9uQXhpcyxkPXQucHJvamVjdFRvMmQsbT10LmVsbGlwc29pZCxfPXQuc3RSb3RhdGlvbixnPXQucGVyUG9zaXRpb25IZWlnaHQsYj1kRjtiLng9bC54LGIueT1sLnk7bGV0IFQ9ZS5zdD9uZXcgRmxvYXQzMkFycmF5KDIqKHMvMykpOnZvaWQgMCxPO2Uubm9ybWFsJiYoZyYmdSYmIWY/Tz1uLmF0dHJpYnV0ZXMubm9ybWFsLnZhbHVlczpPPW5ldyBGbG9hdDMyQXJyYXkocykpO2xldCBFPWUudGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KHMpOnZvaWQgMCx3PWUuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkocyk6dm9pZCAwLEM9bz9uZXcgRmxvYXQzMkFycmF5KHMpOnZvaWQgMCxOPTAsST0wLEQ9YUYsdj1mRixMPXVGLFU9ITAsQT1fRixTPXlGO2lmKF8hPT0wKXtsZXQgaj1lZS5mcm9tQXhpc0FuZ2xlKHAsXyxBRSk7QT1RLmZyb21RdWF0ZXJuaW9uKGosQSksaj1lZS5mcm9tQXhpc0FuZ2xlKHAsLV8sQUUpLFM9US5mcm9tUXVhdGVybmlvbihqLFMpfWVsc2UgQT1RLmNsb25lKFEuSURFTlRJVFksQSksUz1RLmNsb25lKFEuSURFTlRJVFksUyk7bGV0IFA9MCxGPTA7dSYmYyYmKFA9cy8yLEY9cy8zLHMvPTIpO2ZvcihsZXQgaj0wO2o8cztqKz0zKXtsZXQgSD1hLmZyb21BcnJheShyLGosaEYpO2lmKGUuc3QmJiFoKGkpKXtsZXQgaz1RLm11bHRpcGx5QnlWZWN0b3IoQSxILGNGKTtrPW0uc2NhbGVUb0dlb2RldGljU3VyZmFjZShrLGspO2xldCBLPWQoW2tdLG1GKVswXTt0dC5zdWJ0cmFjdChLLGIsSyk7bGV0IFg9TS5jbGFtcChLLngvbC53aWR0aCwwLDEpLFI9TS5jbGFtcChLLnkvbC5oZWlnaHQsMCwxKTtjJiYoVFtOK0ZdPVgsVFtOKzErRl09UiksdSYmKFRbTl09WCxUW04rMV09UiksTis9Mn1pZihlLm5vcm1hbHx8ZS50YW5nZW50fHxlLmJpdGFuZ2VudHx8byl7bGV0IGs9SSsxLEs9SSsyO2lmKGYpe2lmKGorMzxzKXtsZXQgWD1hLmZyb21BcnJheShyLGorMyxsRik7aWYoVSl7bGV0IFI9YS5mcm9tQXJyYXkocixqK3MscEYpO2cmJnNGKEgsWCxSLG0pLGEuc3VidHJhY3QoWCxILFgpLGEuc3VidHJhY3QoUixILFIpLEQ9YS5ub3JtYWxpemUoYS5jcm9zcyhSLFgsRCksRCksVT0hMX1hLmVxdWFsc0Vwc2lsb24oWCxILE0uRVBTSUxPTjEwKSYmKFU9ITApfShlLnRhbmdlbnR8fGUuYml0YW5nZW50KSYmKEw9bS5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoSCxMKSxlLnRhbmdlbnQmJih2PWEubm9ybWFsaXplKGEuY3Jvc3MoTCxELHYpLHYpKSl9ZWxzZSBEPW0uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKEgsRCksKGUudGFuZ2VudHx8ZS5iaXRhbmdlbnQpJiYoZyYmKElkPWEuZnJvbUFycmF5KE8sSSxJZCksZGk9YS5jcm9zcyhhLlVOSVRfWixJZCxkaSksZGk9YS5ub3JtYWxpemUoUS5tdWx0aXBseUJ5VmVjdG9yKFMsZGksZGkpLGRpKSxlLmJpdGFuZ2VudCYmKHhhPWEubm9ybWFsaXplKGEuY3Jvc3MoSWQsZGkseGEpLHhhKSkpLHY9YS5jcm9zcyhhLlVOSVRfWixELHYpLHY9YS5ub3JtYWxpemUoUS5tdWx0aXBseUJ5VmVjdG9yKFMsdix2KSx2KSxlLmJpdGFuZ2VudCYmKEw9YS5ub3JtYWxpemUoYS5jcm9zcyhELHYsTCksTCkpKTtlLm5vcm1hbCYmKHQud2FsbD8oT1tJK1BdPUQueCxPW2srUF09RC55LE9bSytQXT1ELnopOmMmJihPW0krUF09LUQueCxPW2srUF09LUQueSxPW0srUF09LUQueiksKHUmJiFnfHxmKSYmKE9bSV09RC54LE9ba109RC55LE9bS109RC56KSksbyYmKGYmJihEPW0uZ2VvZGV0aWNTdXJmYWNlTm9ybWFsKEgsRCkpLENbSStQXT0tRC54LENbaytQXT0tRC55LENbSytQXT0tRC56KSxlLnRhbmdlbnQmJih0LndhbGw/KEVbSStQXT12LngsRVtrK1BdPXYueSxFW0srUF09di56KTpjJiYoRVtJK1BdPS12LngsRVtrK1BdPS12LnksRVtLK1BdPS12LnopLHUmJihnPyhFW0ldPWRpLngsRVtrXT1kaS55LEVbS109ZGkueik6KEVbSV09di54LEVba109di55LEVbS109di56KSkpLGUuYml0YW5nZW50JiYoYyYmKHdbSStQXT1MLngsd1trK1BdPUwueSx3W0srUF09TC56KSx1JiYoZz8od1tJXT14YS54LHdba109eGEueSx3W0tdPXhhLnopOih3W0ldPUwueCx3W2tdPUwueSx3W0tdPUwueikpKSxJKz0zfX1lLnN0JiYhaChpKSYmKG4uYXR0cmlidXRlcy5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6VH0pKSxlLm5vcm1hbCYmKG4uYXR0cmlidXRlcy5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOk99KSksZS50YW5nZW50JiYobi5hdHRyaWJ1dGVzLnRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOkV9KSksZS5iaXRhbmdlbnQmJihuLmF0dHJpYnV0ZXMuYml0YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczp3fSkpLG8mJihuLmF0dHJpYnV0ZXMuZXh0cnVkZURpcmVjdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6Q30pKX1pZih0LmV4dHJ1ZGUmJmgodC5vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgbD1yLmxlbmd0aC8zLHA9bmV3IFVpbnQ4QXJyYXkobCk7aWYodC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1ApdSYmY3x8Zj9wPXAuZmlsbCgxLDAsbC8yKTp1JiYocD1wLmZpbGwoMSkpO2Vsc2V7bGV0IGQ9dC5vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MTtwPXAuZmlsbChkKX1uLmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6cH0pfXJldHVybiBufWZ1bmN0aW9uIGdGKHQsZSxuLG8scixpLHMsZix1LGMpe2xldCBsPXt3YWxsczpbXX0scDtpZihzfHxmKXtsZXQgTz15ZS5jcmVhdGVHZW9tZXRyeUZyb21Qb3NpdGlvbnModCxlLG4sbyxpLHUsYyksRT1PLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLHc9Ty5pbmRpY2VzLEMsTjtpZihzJiZmKXtsZXQgST1FLmNvbmNhdChFKTtDPUkubGVuZ3RoLzMsTj1EdC5jcmVhdGVUeXBlZEFycmF5KEMsdy5sZW5ndGgqMiksTi5zZXQodyk7bGV0IEQ9dy5sZW5ndGgsdj1DLzI7Zm9yKHA9MDtwPEQ7cCs9Myl7bGV0IEw9TltwXSt2LFU9TltwKzFdK3YsQT1OW3ArMl0rdjtOW3ArRF09QSxOW3ArMStEXT1VLE5bcCsyK0RdPUx9aWYoTy5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1JLGkmJnUubm9ybWFsKXtsZXQgTD1PLmF0dHJpYnV0ZXMubm9ybWFsLnZhbHVlcztPLmF0dHJpYnV0ZXMubm9ybWFsLnZhbHVlcz1uZXcgRmxvYXQzMkFycmF5KEkubGVuZ3RoKSxPLmF0dHJpYnV0ZXMubm9ybWFsLnZhbHVlcy5zZXQoTCl9aWYodS5zdCYmaChuKSl7bGV0IEw9Ty5hdHRyaWJ1dGVzLnN0LnZhbHVlcztPLmF0dHJpYnV0ZXMuc3QudmFsdWVzPW5ldyBGbG9hdDMyQXJyYXkoQyoyKSxPLmF0dHJpYnV0ZXMuc3QudmFsdWVzPUwuY29uY2F0KEwpfU8uaW5kaWNlcz1OfWVsc2UgaWYoZil7Zm9yKEM9RS5sZW5ndGgvMyxOPUR0LmNyZWF0ZVR5cGVkQXJyYXkoQyx3Lmxlbmd0aCkscD0wO3A8dy5sZW5ndGg7cCs9MylOW3BdPXdbcCsyXSxOW3ArMV09d1twKzFdLE5bcCsyXT13W3BdO08uaW5kaWNlcz1OfWwudG9wQW5kQm90dG9tPW5ldyBjbyh7Z2VvbWV0cnk6T30pfWxldCBkPXIub3V0ZXJSaW5nLG09eW8uZnJvbVBvaW50cyhkLHQpLF89bS5wcm9qZWN0UG9pbnRzT250b1BsYW5lKGQsYkUpLGc9UGUuY29tcHV0ZVdpbmRpbmdPcmRlcjJEKF8pO2c9PT1Dby5DTE9DS1dJU0UmJihkPWQuc2xpY2UoKS5yZXZlcnNlKCkpO2xldCBiPXllLmNvbXB1dGVXYWxsR2VvbWV0cnkoZCxuLHQsbyxpLGMpO2wud2FsbHMucHVzaChuZXcgY28oe2dlb21ldHJ5OmJ9KSk7bGV0IFQ9ci5ob2xlcztmb3IocD0wO3A8VC5sZW5ndGg7cCsrKXtsZXQgTz1UW3BdO189bS5wcm9qZWN0UG9pbnRzT250b1BsYW5lKE8sYkUpLGc9UGUuY29tcHV0ZVdpbmRpbmdPcmRlcjJEKF8pLGc9PT1Dby5DT1VOVEVSX0NMT0NLV0lTRSYmKE89Ty5zbGljZSgpLnJldmVyc2UoKSksYj15ZS5jb21wdXRlV2FsbEdlb21ldHJ5KE8sbix0LG8saSxjKSxsLndhbGxzLnB1c2gobmV3IGNvKHtnZW9tZXRyeTpifSkpfXJldHVybiBsfWZ1bmN0aW9uIFJyKHQpe2lmKHkudHlwZU9mLm9iamVjdCgib3B0aW9ucyIsdCkseS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLnBvbHlnb25IaWVyYXJjaHkiLHQucG9seWdvbkhpZXJhcmNoeSksaCh0LnBlclBvc2l0aW9uSGVpZ2h0KSYmdC5wZXJQb3NpdGlvbkhlaWdodCYmaCh0LmhlaWdodCkpdGhyb3cgbmV3IEIoIkNhbm5vdCB1c2UgYm90aCBvcHRpb25zLnBlclBvc2l0aW9uSGVpZ2h0IGFuZCBvcHRpb25zLmhlaWdodCIpO2lmKGgodC5hcmNUeXBlKSYmdC5hcmNUeXBlIT09X2UuR0VPREVTSUMmJnQuYXJjVHlwZSE9PV9lLlJIVU1CKXRocm93IG5ldyBCKCJJbnZhbGlkIGFyY1R5cGUuIFZhbGlkIG9wdGlvbnMgYXJlIEFyY1R5cGUuR0VPREVTSUMgYW5kIEFyY1R5cGUuUkhVTUIuIik7bGV0IGU9dC5wb2x5Z29uSGllcmFyY2h5LG49eCh0LnZlcnRleEZvcm1hdCxkdC5ERUZBVUxUKSxvPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxyPXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSksaT14KHQuc3RSb3RhdGlvbiwwKSxzPXQudGV4dHVyZUNvb3JkaW5hdGVzLGY9eCh0LnBlclBvc2l0aW9uSGVpZ2h0LCExKSx1PWYmJmgodC5leHRydWRlZEhlaWdodCksYz14KHQuaGVpZ2h0LDApLGw9eCh0LmV4dHJ1ZGVkSGVpZ2h0LGMpO2lmKCF1KXtsZXQgcD1NYXRoLm1heChjLGwpO2w9TWF0aC5taW4oYyxsKSxjPXB9dGhpcy5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKG4pLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKG8pLHRoaXMuX2dyYW51bGFyaXR5PXIsdGhpcy5fc3RSb3RhdGlvbj1pLHRoaXMuX2hlaWdodD1jLHRoaXMuX2V4dHJ1ZGVkSGVpZ2h0PWwsdGhpcy5fY2xvc2VUb3A9eCh0LmNsb3NlVG9wLCEwKSx0aGlzLl9jbG9zZUJvdHRvbT14KHQuY2xvc2VCb3R0b20sITApLHRoaXMuX3BvbHlnb25IaWVyYXJjaHk9ZSx0aGlzLl9wZXJQb3NpdGlvbkhlaWdodD1mLHRoaXMuX3BlclBvc2l0aW9uSGVpZ2h0RXh0cnVkZT11LHRoaXMuX3NoYWRvd1ZvbHVtZT14KHQuc2hhZG93Vm9sdW1lLCExKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVQb2x5Z29uR2VvbWV0cnkiLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl9hcmNUeXBlPXgodC5hcmNUeXBlLF9lLkdFT0RFU0lDKSx0aGlzLl9yZWN0YW5nbGU9dm9pZCAwLHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM9dm9pZCAwLHRoaXMuX3RleHR1cmVDb29yZGluYXRlcz1zLHRoaXMucGFja2VkTGVuZ3RoPXllLmNvbXB1dGVIaWVyYXJjaHlQYWNrZWRMZW5ndGgoZSxhKSskLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrKHM/eWUuY29tcHV0ZUhpZXJhcmNoeVBhY2tlZExlbmd0aChzLHR0KToxKSsxMn1mdW5jdGlvbiBURSh0LGUsbixvLHIsaSl7bGV0IHM9dC5sb25naXR1ZGUsZj1zPj0wP3M6cytNLlRXT19QSTtyLndlc3RPdmVySWRsPU1hdGgubWluKHIud2VzdE92ZXJJZGwsZiksci5lYXN0T3ZlcklkbD1NYXRoLm1heChyLmVhc3RPdmVySWRsLGYpLGkud2VzdD1NYXRoLm1pbihpLndlc3QscyksaS5lYXN0PU1hdGgubWF4KGkuZWFzdCxzKTtsZXQgdT10LmdldExhdGl0dWRlKG4pLGM9dTtpZihpLnNvdXRoPU1hdGgubWluKGkuc291dGgsdSksaS5ub3J0aD1NYXRoLm1heChpLm5vcnRoLHUpLG8hPT1fZS5SSFVNQil7bGV0IGQ9dHQuc3VidHJhY3QoZS5wb3NpdGlvbix0LnBvc2l0aW9uLHdGKSxtPXR0LmRvdChlLnBvc2l0aW9uLGQpL3R0LmRvdChkLGQpO2lmKG0+MCYmbTwxKXtsZXQgXz10dC5hZGQoZS5wb3NpdGlvbix0dC5tdWx0aXBseUJ5U2NhbGFyKGQsLW0sZCksT0YpLGc9Y3IuY2xvbmUoZSxFRik7Zy5wb3NpdGlvbj1fO2xldCBiPWcuZ2V0TGF0aXR1ZGUobik7aS5zb3V0aD1NYXRoLm1pbihpLnNvdXRoLGIpLGkubm9ydGg9TWF0aC5tYXgoaS5ub3J0aCxiKSxNYXRoLmFicyh1KT5NYXRoLmFicyhiKSYmKGM9Yil9fWxldCBsPWUueCp0LnktdC54KmUueSxwPU1hdGguc2lnbihsKTtwIT09MCYmKHAqPXR0LmFuZ2xlQmV0d2VlbihlLnBvc2l0aW9uLHQucG9zaXRpb24pKSxjPj0wJiYoci5ub3J0aEFuZ2xlKz1wKSxjPD0wJiYoci5zb3V0aEFuZ2xlKz1wKX1mdW5jdGlvbiBDRih0LGUsbil7cmV0dXJuIHQuaGVpZ2h0Pj1NLlBJfHx0LndpZHRoPj1NLlBJP2NyLmZyb21DYXJ0ZXNpYW4oZVswXSxTRikudGFuZ2VudFBsYW5lOnlvLmZyb21Qb2ludHMoZSxuKX1mdW5jdGlvbiB4Rih0LGUsbil7cmV0dXJuKG8scik9PntpZih0LmhlaWdodD49TS5QSXx8dC53aWR0aD49TS5QSSl7aWYodC5zb3V0aDwwJiZ0Lm5vcnRoPjApe2gocil8fChyPVtdKTtmb3IobGV0IHM9MDtzPG8ubGVuZ3RoOysrcyl7bGV0IGY9bi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhvW3NdLE9FKTtyW3NdPW5ldyB0dChmLmxvbmdpdHVkZS9NLlBJLGYubGF0aXR1ZGUvTS5QSV9PVkVSX1RXTyl9cmV0dXJuIHIubGVuZ3RoPW8ubGVuZ3RoLHJ9cmV0dXJuIGNyLmZyb21DYXJ0ZXNpYW5BcnJheShvLHIpfXJldHVybiB5by5mcm9tUG9pbnRzKGUsbikucHJvamVjdFBvaW50c09udG9QbGFuZShvLHIpfX1mdW5jdGlvbiBQRih0LGUsbil7aWYodC5oZWlnaHQ+PU0uUEl8fHQud2lkdGg+PU0uUEkpcmV0dXJuKHIsaSk9PntpZih0LnNvdXRoPDAmJnQubm9ydGg+MCl7bGV0IHM9bi5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhyLE9FKTtyZXR1cm4gaChpKXx8KGk9bmV3IHR0KSxpLng9cy5sb25naXR1ZGUvTS5QSSxpLnk9cy5sYXRpdHVkZS9NLlBJX09WRVJfVFdPLGl9cmV0dXJuIGNyLmZyb21DYXJ0ZXNpYW4ocixpKX07bGV0IG89eW8uZnJvbVBvaW50cyhlLG4pO3JldHVybihyLGkpPT5vLnByb2plY3RQb2ludHNPbnRvUGxhbmUocixpKX1mdW5jdGlvbiBNRih0LGUsbixvKXtyZXR1cm4ocixpKT0+IW8mJih0LmhlaWdodD49TS5QSV9PVkVSX1RXT3x8dC53aWR0aD49MipNLlBJX09WRVJfVEhSRUUpP3llLnNwbGl0UG9seWdvbnNPbkVxdWF0b3IocixlLG4saSk6cn1mdW5jdGlvbiBORih0LGUsbixvKXtpZihlLmhlaWdodD49TS5QSXx8ZS53aWR0aD49TS5QSSlyZXR1cm4gSHIuZnJvbVJlY3RhbmdsZShlLHZvaWQgMCxnRSk7bGV0IHI9dCxpPXlvLmZyb21Qb2ludHMocixuKTtyZXR1cm4geWUuY29tcHV0ZUJvdW5kaW5nUmVjdGFuZ2xlKGkucGxhbmUubm9ybWFsLGkucHJvamVjdFBvaW50T250b1BsYW5lLmJpbmQoaSkscixvLGdFKX1mdW5jdGlvbiBJRih0KXtsZXQgZT0tdC5fc3RSb3RhdGlvbjtpZihlPT09MClyZXR1cm5bMCwwLDAsMSwxLDBdO2xldCBuPXQuX2VsbGlwc29pZCxvPXQuX3BvbHlnb25IaWVyYXJjaHkucG9zaXRpb25zLHI9dC5yZWN0YW5nbGU7cmV0dXJuIFV0Ll90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzKG8sZSxuLHIpfXZhciBpRix5RSxnRSxjRixhRixmRix1RixsRixwRixJZCxkaSx4YSxkRixtRixoRixBRSxfRix5RixiRSxBRixiRixURix3RixPRixFRix3RSxSRixFcixTRixPRSxzeSxFRT1aKCgpPT57ZmMoKTtDZigpO3ZlKCk7VWUoKTtGdCgpO0llKCk7WHQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7bGEoKTtYZSgpO1llKCk7c2MoKTtMbygpO3NpKCk7JGUoKTtXdCgpO0JuKCk7TGYoKTtxcigpO0tvKCk7d24oKTtfRSgpO1JvKCk7bGMoKTtpRj1uZXcgY3QseUU9bmV3IGN0O2dFPW5ldyBIcixjRj1uZXcgYSxhRj1uZXcgYSxmRj1uZXcgYSx1Rj1uZXcgYSxsRj1uZXcgYSxwRj1uZXcgYSxJZD1uZXcgYSxkaT1uZXcgYSx4YT1uZXcgYSxkRj1uZXcgdHQsbUY9bmV3IHR0LGhGPW5ldyBhLEFFPW5ldyBlZSxfRj1uZXcgUSx5Rj1uZXcgUTtiRT1bXTtSci5mcm9tUG9zaXRpb25zPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKSx5LmRlZmluZWQoIm9wdGlvbnMucG9zaXRpb25zIix0LnBvc2l0aW9ucyk7bGV0IGU9e3BvbHlnb25IaWVyYXJjaHk6e3Bvc2l0aW9uczp0LnBvc2l0aW9uc30saGVpZ2h0OnQuaGVpZ2h0LGV4dHJ1ZGVkSGVpZ2h0OnQuZXh0cnVkZWRIZWlnaHQsdmVydGV4Rm9ybWF0OnQudmVydGV4Rm9ybWF0LHN0Um90YXRpb246dC5zdFJvdGF0aW9uLGVsbGlwc29pZDp0LmVsbGlwc29pZCxncmFudWxhcml0eTp0LmdyYW51bGFyaXR5LHBlclBvc2l0aW9uSGVpZ2h0OnQucGVyUG9zaXRpb25IZWlnaHQsY2xvc2VUb3A6dC5jbG9zZVRvcCxjbG9zZUJvdHRvbTp0LmNsb3NlQm90dG9tLG9mZnNldEF0dHJpYnV0ZTp0Lm9mZnNldEF0dHJpYnV0ZSxhcmNUeXBlOnQuYXJjVHlwZSx0ZXh0dXJlQ29vcmRpbmF0ZXM6dC50ZXh0dXJlQ29vcmRpbmF0ZXN9O3JldHVybiBuZXcgUnIoZSl9O1JyLnBhY2s9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoInZhbHVlIix0KSx5LmRlZmluZWQoImFycmF5IixlKSxuPXgobiwwKSxuPXllLnBhY2tQb2x5Z29uSGllcmFyY2h5KHQuX3BvbHlnb25IaWVyYXJjaHksZSxuLGEpLCQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxkdC5wYWNrKHQuX3ZlcnRleEZvcm1hdCxlLG4pLG4rPWR0LnBhY2tlZExlbmd0aCxlW24rK109dC5faGVpZ2h0LGVbbisrXT10Ll9leHRydWRlZEhlaWdodCxlW24rK109dC5fZ3JhbnVsYXJpdHksZVtuKytdPXQuX3N0Um90YXRpb24sZVtuKytdPXQuX3BlclBvc2l0aW9uSGVpZ2h0RXh0cnVkZT8xOjAsZVtuKytdPXQuX3BlclBvc2l0aW9uSGVpZ2h0PzE6MCxlW24rK109dC5fY2xvc2VUb3A/MTowLGVbbisrXT10Ll9jbG9zZUJvdHRvbT8xOjAsZVtuKytdPXQuX3NoYWRvd1ZvbHVtZT8xOjAsZVtuKytdPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlW24rK109dC5fYXJjVHlwZSxoKHQuX3RleHR1cmVDb29yZGluYXRlcyk/bj15ZS5wYWNrUG9seWdvbkhpZXJhcmNoeSh0Ll90ZXh0dXJlQ29vcmRpbmF0ZXMsZSxuLHR0KTplW24rK109LTEsZVtuKytdPXQucGFja2VkTGVuZ3RoLGV9O0FGPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksYkY9bmV3IGR0LFRGPXtwb2x5Z29uSGllcmFyY2h5Ont9fTtSci51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe3kuZGVmaW5lZCgiYXJyYXkiLHQpLGU9eChlLDApO2xldCBvPXllLnVucGFja1BvbHlnb25IaWVyYXJjaHkodCxlLGEpO2U9by5zdGFydGluZ0luZGV4LGRlbGV0ZSBvLnN0YXJ0aW5nSW5kZXg7bGV0IHI9JC51bnBhY2sodCxlLEFGKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT1kdC51bnBhY2sodCxlLGJGKTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IHM9dFtlKytdLGY9dFtlKytdLHU9dFtlKytdLGM9dFtlKytdLGw9dFtlKytdPT09MSxwPXRbZSsrXT09PTEsZD10W2UrK109PT0xLG09dFtlKytdPT09MSxfPXRbZSsrXT09PTEsZz10W2UrK10sYj10W2UrK10sVD10W2VdPT09LTE/dm9pZCAwOnllLnVucGFja1BvbHlnb25IaWVyYXJjaHkodCxlLHR0KTtoKFQpPyhlPVQuc3RhcnRpbmdJbmRleCxkZWxldGUgVC5zdGFydGluZ0luZGV4KTplKys7bGV0IE89dFtlKytdO3JldHVybiBoKG4pfHwobj1uZXcgUnIoVEYpKSxuLl9wb2x5Z29uSGllcmFyY2h5PW8sbi5fZWxsaXBzb2lkPSQuY2xvbmUocixuLl9lbGxpcHNvaWQpLG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShpLG4uX3ZlcnRleEZvcm1hdCksbi5faGVpZ2h0PXMsbi5fZXh0cnVkZWRIZWlnaHQ9ZixuLl9ncmFudWxhcml0eT11LG4uX3N0Um90YXRpb249YyxuLl9wZXJQb3NpdGlvbkhlaWdodEV4dHJ1ZGU9bCxuLl9wZXJQb3NpdGlvbkhlaWdodD1wLG4uX2Nsb3NlVG9wPWQsbi5fY2xvc2VCb3R0b209bSxuLl9zaGFkb3dWb2x1bWU9XyxuLl9vZmZzZXRBdHRyaWJ1dGU9Zz09PS0xP3ZvaWQgMDpnLG4uX2FyY1R5cGU9YixuLl90ZXh0dXJlQ29vcmRpbmF0ZXM9VCxuLnBhY2tlZExlbmd0aD1PLG59O3dGPW5ldyB0dCxPRj1uZXcgdHQsRUY9bmV3IGNyO3dFPW5ldyBjcixSRj1uZXcgY3IsRXI9e25vcnRoQW5nbGU6MCxzb3V0aEFuZ2xlOjAsd2VzdE92ZXJJZGw6MCxlYXN0T3ZlcklkbDowfTtSci5jb21wdXRlUmVjdGFuZ2xlRnJvbVBvc2l0aW9ucz1mdW5jdGlvbih0LGUsbixvKXtpZih5LmRlZmluZWQoInBvc2l0aW9ucyIsdCksaChvKXx8KG89bmV3IE50KSx0Lmxlbmd0aDwzKXJldHVybiBvO28ud2VzdD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksby5lYXN0PU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxvLnNvdXRoPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxvLm5vcnRoPU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxFci5ub3J0aEFuZ2xlPTAsRXIuc291dGhBbmdsZT0wLEVyLndlc3RPdmVySWRsPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxFci5lYXN0T3ZlcklkbD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7bGV0IHI9dC5sZW5ndGgsaT1jci5mcm9tQ2FydGVzaWFuKHRbMF0sUkYpO2ZvcihsZXQgcz0xO3M8cjtzKyspe2xldCBmPWNyLmZyb21DYXJ0ZXNpYW4odFtzXSx3RSk7VEUoZixpLGUsbixFcixvKSxpPWNyLmNsb25lKGYsaSl9cmV0dXJuIFRFKGNyLmZyb21DYXJ0ZXNpYW4odFswXSx3RSksaSxlLG4sRXIsbyksby5lYXN0LW8ud2VzdD5Fci5lYXN0T3ZlcklkbC1Fci53ZXN0T3ZlcklkbCYmKG8ud2VzdD1Fci53ZXN0T3ZlcklkbCxvLmVhc3Q9RXIuZWFzdE92ZXJJZGwsby5lYXN0Pk0uUEkmJihvLmVhc3Q9by5lYXN0LU0uVFdPX1BJKSxvLndlc3Q+TS5QSSYmKG8ud2VzdD1vLndlc3QtTS5UV09fUEkpKSxNLmVxdWFsc0Vwc2lsb24oTWF0aC5hYnMoRXIubm9ydGhBbmdsZSksTS5UV09fUEksTS5FUFNJTE9OMTApJiYoby5ub3J0aD1NLlBJX09WRVJfVFdPLG8uZWFzdD1NLlBJLG8ud2VzdD0tTS5QSSksTS5lcXVhbHNFcHNpbG9uKE1hdGguYWJzKEVyLnNvdXRoQW5nbGUpLE0uVFdPX1BJLE0uRVBTSUxPTjEwKSYmKG8uc291dGg9LU0uUElfT1ZFUl9UV08sby5lYXN0PU0uUEksby53ZXN0PS1NLlBJKSxvfTtTRj1uZXcgY3I7T0U9bmV3IGN0O1JyLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3ZlcnRleEZvcm1hdCxuPXQuX2VsbGlwc29pZCxvPXQuX2dyYW51bGFyaXR5LHI9dC5fc3RSb3RhdGlvbixpPXQuX3BvbHlnb25IaWVyYXJjaHkscz10Ll9wZXJQb3NpdGlvbkhlaWdodCxmPXQuX2Nsb3NlVG9wLHU9dC5fY2xvc2VCb3R0b20sYz10Ll9hcmNUeXBlLGw9dC5fdGV4dHVyZUNvb3JkaW5hdGVzLHA9aChsKSxkPWkucG9zaXRpb25zO2lmKGQubGVuZ3RoPDMpcmV0dXJuO2xldCBtPXQucmVjdGFuZ2xlLF89eWUucG9seWdvbnNGcm9tSGllcmFyY2h5KGkscCx4RihtLGQsbiksIXMsbixNRihtLG4sYyxzKSksZz1fLmhpZXJhcmNoeSxiPV8ucG9seWdvbnMsVD1mdW5jdGlvbihQKXtyZXR1cm4gUH0sTz1wP3llLnBvbHlnb25zRnJvbUhpZXJhcmNoeShsLCEwLFQsITEsbikucG9seWdvbnM6dm9pZCAwO2lmKGcubGVuZ3RoPT09MClyZXR1cm47bGV0IEU9Z1swXS5vdXRlclJpbmcsdz1ORihFLG0sbixyKSxDPVtdLE49dC5faGVpZ2h0LEk9dC5fZXh0cnVkZWRIZWlnaHQsRD10Ll9wZXJQb3NpdGlvbkhlaWdodEV4dHJ1ZGV8fCFNLmVxdWFsc0Vwc2lsb24oTixJLDAsTS5FUFNJTE9OMiksdj17cGVyUG9zaXRpb25IZWlnaHQ6cyx2ZXJ0ZXhGb3JtYXQ6ZSxnZW9tZXRyeTp2b2lkIDAscm90YXRpb25BeGlzOkNGKG0sRSxuKS5wbGFuZS5ub3JtYWwscHJvamVjdFRvMmQ6UEYobSxFLG4pLGJvdW5kaW5nUmVjdGFuZ2xlOncsZWxsaXBzb2lkOm4sc3RSb3RhdGlvbjpyLHRleHR1cmVDb29yZGluYXRlczp2b2lkIDAsYm90dG9tOiExLHRvcDohMCx3YWxsOiExLGV4dHJ1ZGU6ITEsYXJjVHlwZTpjfSxMO2lmKEQpZm9yKHYuZXh0cnVkZT0hMCx2LnRvcD1mLHYuYm90dG9tPXUsdi5zaGFkb3dWb2x1bWU9dC5fc2hhZG93Vm9sdW1lLHYub2Zmc2V0QXR0cmlidXRlPXQuX29mZnNldEF0dHJpYnV0ZSxMPTA7TDxiLmxlbmd0aDtMKyspe2xldCBQPWdGKG4sYltMXSxwP09bTF06dm9pZCAwLG8sZ1tMXSxzLGYsdSxlLGMpLEY7ZiYmdT8oRj1QLnRvcEFuZEJvdHRvbSx2Lmdlb21ldHJ5PXllLnNjYWxlVG9HZW9kZXRpY0hlaWdodEV4dHJ1ZGVkKEYuZ2VvbWV0cnksTixJLG4scykpOmY/KEY9UC50b3BBbmRCb3R0b20sRi5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQoRi5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxOLG4sIXMpLHYuZ2VvbWV0cnk9Ri5nZW9tZXRyeSk6dSYmKEY9UC50b3BBbmRCb3R0b20sRi5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQoRi5nZW9tZXRyeS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxJLG4sITApLHYuZ2VvbWV0cnk9Ri5nZW9tZXRyeSksKGZ8fHUpJiYodi53YWxsPSExLEYuZ2VvbWV0cnk9aXkodiksQy5wdXNoKEYpKTtsZXQgaj1QLndhbGxzO3Yud2FsbD0hMDtmb3IobGV0IEg9MDtIPGoubGVuZ3RoO0grKyl7bGV0IGs9altIXTt2Lmdlb21ldHJ5PXllLnNjYWxlVG9HZW9kZXRpY0hlaWdodEV4dHJ1ZGVkKGsuZ2VvbWV0cnksTixJLG4scyksay5nZW9tZXRyeT1peSh2KSxDLnB1c2goayl9fWVsc2UgZm9yKEw9MDtMPGIubGVuZ3RoO0wrKyl7bGV0IFA9bmV3IGNvKHtnZW9tZXRyeTp5ZS5jcmVhdGVHZW9tZXRyeUZyb21Qb3NpdGlvbnMobixiW0xdLHA/T1tMXTp2b2lkIDAsbyxzLGUsYyl9KTtpZihQLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChQLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLE4sbiwhcyksdi5nZW9tZXRyeT1QLmdlb21ldHJ5LFAuZ2VvbWV0cnk9aXkodiksaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgRj1QLmdlb21ldHJ5LmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aCxqPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxLEg9bmV3IFVpbnQ4QXJyYXkoRi8zKS5maWxsKGopO1AuZ2VvbWV0cnkuYXR0cmlidXRlcy5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpIfSl9Qy5wdXNoKFApfWxldCBVPVZlLmNvbWJpbmVJbnN0YW5jZXMoQylbMF07VS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1uZXcgRmxvYXQ2NEFycmF5KFUuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMpLFUuaW5kaWNlcz1EdC5jcmVhdGVUeXBlZEFycmF5KFUuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMsVS5pbmRpY2VzKTtsZXQgQT1VLmF0dHJpYnV0ZXMsUz1BdC5mcm9tVmVydGljZXMoQS5wb3NpdGlvbi52YWx1ZXMpO3JldHVybiBlLnBvc2l0aW9ufHxkZWxldGUgQS5wb3NpdGlvbixuZXcgVXQoe2F0dHJpYnV0ZXM6QSxpbmRpY2VzOlUuaW5kaWNlcyxwcmltaXRpdmVUeXBlOlUucHJpbWl0aXZlVHlwZSxib3VuZGluZ1NwaGVyZTpTLG9mZnNldEF0dHJpYnV0ZTp0Ll9vZmZzZXRBdHRyaWJ1dGV9KX07UnIuY3JlYXRlU2hhZG93Vm9sdW1lPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10Ll9ncmFudWxhcml0eSxyPXQuX2VsbGlwc29pZCxpPWUobyxyKSxzPW4obyxyKTtyZXR1cm4gbmV3IFJyKHtwb2x5Z29uSGllcmFyY2h5OnQuX3BvbHlnb25IaWVyYXJjaHksZWxsaXBzb2lkOnIsc3RSb3RhdGlvbjp0Ll9zdFJvdGF0aW9uLGdyYW51bGFyaXR5Om8scGVyUG9zaXRpb25IZWlnaHQ6ITEsZXh0cnVkZWRIZWlnaHQ6aSxoZWlnaHQ6cyx2ZXJ0ZXhGb3JtYXQ6ZHQuUE9TSVRJT05fT05MWSxzaGFkb3dWb2x1bWU6ITAsYXJjVHlwZTp0Ll9hcmNUeXBlfSl9O09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFJyLnByb3RvdHlwZSx7cmVjdGFuZ2xlOntnZXQ6ZnVuY3Rpb24oKXtpZighaCh0aGlzLl9yZWN0YW5nbGUpKXtsZXQgdD10aGlzLl9wb2x5Z29uSGllcmFyY2h5LnBvc2l0aW9uczt0aGlzLl9yZWN0YW5nbGU9UnIuY29tcHV0ZVJlY3RhbmdsZUZyb21Qb3NpdGlvbnModCx0aGlzLl9lbGxpcHNvaWQsdGhpcy5fYXJjVHlwZSl9cmV0dXJuIHRoaXMuX3JlY3RhbmdsZX19LHRleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHM6e2dldDpmdW5jdGlvbigpe3JldHVybiBoKHRoaXMuX3RleHR1cmVDb29yZGluYXRlUm90YXRpb25Qb2ludHMpfHwodGhpcy5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50cz1JRih0aGlzKSksdGhpcy5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50c319fSk7c3k9UnJ9KTt2YXIgY3k9e307ZGUoY3kse2RlZmF1bHQ6KCk9PkxGfSk7ZnVuY3Rpb24gdkYodCxlKXtyZXR1cm4gaChlKSYmKHQ9c3kudW5wYWNrKHQsZSkpLHQuX2VsbGlwc29pZD0kLmNsb25lKHQuX2VsbGlwc29pZCksc3kuY3JlYXRlR2VvbWV0cnkodCl9dmFyIExGLGF5PVooKCk9PntmdCgpO1p0KCk7RUUoKTtMRj12Rn0pO2Z1bmN0aW9uIERGKHQsZSxuLG8scil7bGV0IHM9eW8uZnJvbVBvaW50cyhlLHQpLnByb2plY3RQb2ludHNPbnRvUGxhbmUoZSxSRSk7UGUuY29tcHV0ZVdpbmRpbmdPcmRlcjJEKHMpPT09Q28uQ0xPQ0tXSVNFJiYocy5yZXZlcnNlKCksZT1lLnNsaWNlKCkucmV2ZXJzZSgpKTtsZXQgdSxjLGw9ZS5sZW5ndGgscD0wO2lmKG8pZm9yKHU9bmV3IEZsb2F0NjRBcnJheShsKjIqMyksYz0wO2M8bDtjKyspe2xldCBfPWVbY10sZz1lWyhjKzEpJWxdO3VbcCsrXT1fLngsdVtwKytdPV8ueSx1W3ArK109Xy56LHVbcCsrXT1nLngsdVtwKytdPWcueSx1W3ArK109Zy56fWVsc2V7bGV0IF89MDtpZihyPT09X2UuR0VPREVTSUMpZm9yKGM9MDtjPGw7YysrKV8rPXllLnN1YmRpdmlkZUxpbmVDb3VudChlW2NdLGVbKGMrMSklbF0sbik7ZWxzZSBpZihyPT09X2UuUkhVTUIpZm9yKGM9MDtjPGw7YysrKV8rPXllLnN1YmRpdmlkZVJodW1iTGluZUNvdW50KHQsZVtjXSxlWyhjKzEpJWxdLG4pO2Zvcih1PW5ldyBGbG9hdDY0QXJyYXkoXyozKSxjPTA7YzxsO2MrKyl7bGV0IGc7cj09PV9lLkdFT0RFU0lDP2c9eWUuc3ViZGl2aWRlTGluZShlW2NdLGVbKGMrMSklbF0sbix2ZCk6cj09PV9lLlJIVU1CJiYoZz15ZS5zdWJkaXZpZGVSaHVtYkxpbmUodCxlW2NdLGVbKGMrMSklbF0sbix2ZCkpO2xldCBiPWcubGVuZ3RoO2ZvcihsZXQgVD0wO1Q8YjsrK1QpdVtwKytdPWdbVF19fWw9dS5sZW5ndGgvMztsZXQgZD1sKjIsbT1EdC5jcmVhdGVUeXBlZEFycmF5KGwsZCk7Zm9yKHA9MCxjPTA7YzxsLTE7YysrKW1bcCsrXT1jLG1bcCsrXT1jKzE7cmV0dXJuIG1bcCsrXT1sLTEsbVtwKytdPTAsbmV3IGNvKHtnZW9tZXRyeTpuZXcgVXQoe2F0dHJpYnV0ZXM6bmV3IGllKHtwb3NpdGlvbjpuZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnV9KX0pLGluZGljZXM6bSxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTfSl9KX1mdW5jdGlvbiBGRih0LGUsbixvLHIpe2xldCBzPXlvLmZyb21Qb2ludHMoZSx0KS5wcm9qZWN0UG9pbnRzT250b1BsYW5lKGUsUkUpO1BlLmNvbXB1dGVXaW5kaW5nT3JkZXIyRChzKT09PUNvLkNMT0NLV0lTRSYmKHMucmV2ZXJzZSgpLGU9ZS5zbGljZSgpLnJldmVyc2UoKSk7bGV0IHUsYyxsPWUubGVuZ3RoLHA9bmV3IEFycmF5KGwpLGQ9MDtpZihvKWZvcih1PW5ldyBGbG9hdDY0QXJyYXkobCoyKjMqMiksYz0wO2M8bDsrK2Mpe3BbY109ZC8zO2xldCBiPWVbY10sVD1lWyhjKzEpJWxdO3VbZCsrXT1iLngsdVtkKytdPWIueSx1W2QrK109Yi56LHVbZCsrXT1ULngsdVtkKytdPVQueSx1W2QrK109VC56fWVsc2V7bGV0IGI9MDtpZihyPT09X2UuR0VPREVTSUMpZm9yKGM9MDtjPGw7YysrKWIrPXllLnN1YmRpdmlkZUxpbmVDb3VudChlW2NdLGVbKGMrMSklbF0sbik7ZWxzZSBpZihyPT09X2UuUkhVTUIpZm9yKGM9MDtjPGw7YysrKWIrPXllLnN1YmRpdmlkZVJodW1iTGluZUNvdW50KHQsZVtjXSxlWyhjKzEpJWxdLG4pO2Zvcih1PW5ldyBGbG9hdDY0QXJyYXkoYiozKjIpLGM9MDtjPGw7KytjKXtwW2NdPWQvMztsZXQgVDtyPT09X2UuR0VPREVTSUM/VD15ZS5zdWJkaXZpZGVMaW5lKGVbY10sZVsoYysxKSVsXSxuLHZkKTpyPT09X2UuUkhVTUImJihUPXllLnN1YmRpdmlkZVJodW1iTGluZSh0LGVbY10sZVsoYysxKSVsXSxuLHZkKSk7bGV0IE89VC5sZW5ndGg7Zm9yKGxldCBFPTA7RTxPOysrRSl1W2QrK109VFtFXX19bD11Lmxlbmd0aC8oMyoyKTtsZXQgbT1wLmxlbmd0aCxfPShsKjIrbSkqMixnPUR0LmNyZWF0ZVR5cGVkQXJyYXkobCttLF8pO2ZvcihkPTAsYz0wO2M8bDsrK2MpZ1tkKytdPWMsZ1tkKytdPShjKzEpJWwsZ1tkKytdPWMrbCxnW2QrK109KGMrMSklbCtsO2ZvcihjPTA7YzxtO2MrKyl7bGV0IGI9cFtjXTtnW2QrK109YixnW2QrK109YitsfXJldHVybiBuZXcgY28oe2dlb21ldHJ5Om5ldyBVdCh7YXR0cmlidXRlczpuZXcgaWUoe3Bvc2l0aW9uOm5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6dX0pfSksaW5kaWNlczpnLHByaW1pdGl2ZVR5cGU6QnQuTElORVN9KX0pfWZ1bmN0aW9uIEFjKHQpe2lmKHkudHlwZU9mLm9iamVjdCgib3B0aW9ucyIsdCkseS50eXBlT2Yub2JqZWN0KCJvcHRpb25zLnBvbHlnb25IaWVyYXJjaHkiLHQucG9seWdvbkhpZXJhcmNoeSksdC5wZXJQb3NpdGlvbkhlaWdodCYmaCh0LmhlaWdodCkpdGhyb3cgbmV3IEIoIkNhbm5vdCB1c2UgYm90aCBvcHRpb25zLnBlclBvc2l0aW9uSGVpZ2h0IGFuZCBvcHRpb25zLmhlaWdodCIpO2lmKGgodC5hcmNUeXBlKSYmdC5hcmNUeXBlIT09X2UuR0VPREVTSUMmJnQuYXJjVHlwZSE9PV9lLlJIVU1CKXRocm93IG5ldyBCKCJJbnZhbGlkIGFyY1R5cGUuIFZhbGlkIG9wdGlvbnMgYXJlIEFyY1R5cGUuR0VPREVTSUMgYW5kIEFyY1R5cGUuUkhVTUIuIik7bGV0IGU9dC5wb2x5Z29uSGllcmFyY2h5LG49eCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpLG89eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxyPXgodC5wZXJQb3NpdGlvbkhlaWdodCwhMSksaT1yJiZoKHQuZXh0cnVkZWRIZWlnaHQpLHM9eCh0LmFyY1R5cGUsX2UuR0VPREVTSUMpLGY9eCh0LmhlaWdodCwwKSx1PXgodC5leHRydWRlZEhlaWdodCxmKTtpZighaSl7bGV0IGM9TWF0aC5tYXgoZix1KTt1PU1hdGgubWluKGYsdSksZj1jfXRoaXMuX2VsbGlwc29pZD0kLmNsb25lKG4pLHRoaXMuX2dyYW51bGFyaXR5PW8sdGhpcy5faGVpZ2h0PWYsdGhpcy5fZXh0cnVkZWRIZWlnaHQ9dSx0aGlzLl9hcmNUeXBlPXMsdGhpcy5fcG9seWdvbkhpZXJhcmNoeT1lLHRoaXMuX3BlclBvc2l0aW9uSGVpZ2h0PXIsdGhpcy5fcGVyUG9zaXRpb25IZWlnaHRFeHRydWRlPWksdGhpcy5fb2Zmc2V0QXR0cmlidXRlPXQub2Zmc2V0QXR0cmlidXRlLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVBvbHlnb25PdXRsaW5lR2VvbWV0cnkiLHRoaXMucGFja2VkTGVuZ3RoPXllLmNvbXB1dGVIaWVyYXJjaHlQYWNrZWRMZW5ndGgoZSxhKSskLnBhY2tlZExlbmd0aCs4fXZhciBSRSx2ZCxCRixVRixmeSxTRT1aKCgpPT57ZmMoKTt2ZSgpO0Z0KCk7WHQoKTtGZSgpO0l0KCk7ZnQoKTtIdCgpO1p0KCk7bGEoKTtYZSgpO1llKCk7YW4oKTtzYygpO0xvKCk7c2koKTskZSgpO1d0KCk7TGYoKTtxcigpO3RuKCk7bGMoKTtSRT1bXSx2ZD1bXTtBYy5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksbj15ZS5wYWNrUG9seWdvbkhpZXJhcmNoeSh0Ll9wb2x5Z29uSGllcmFyY2h5LGUsbixhKSwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX2hlaWdodCxlW24rK109dC5fZXh0cnVkZWRIZWlnaHQsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbisrXT10Ll9wZXJQb3NpdGlvbkhlaWdodEV4dHJ1ZGU/MTowLGVbbisrXT10Ll9wZXJQb3NpdGlvbkhlaWdodD8xOjAsZVtuKytdPXQuX2FyY1R5cGUsZVtuKytdPXgodC5fb2Zmc2V0QXR0cmlidXRlLC0xKSxlW25dPXQucGFja2VkTGVuZ3RoLGV9O0JGPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksVUY9e3BvbHlnb25IaWVyYXJjaHk6e319O0FjLnVucGFjaz1mdW5jdGlvbih0LGUsbil7eS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCk7bGV0IG89eWUudW5wYWNrUG9seWdvbkhpZXJhcmNoeSh0LGUsYSk7ZT1vLnN0YXJ0aW5nSW5kZXgsZGVsZXRlIG8uc3RhcnRpbmdJbmRleDtsZXQgcj0kLnVucGFjayh0LGUsQkYpO2UrPSQucGFja2VkTGVuZ3RoO2xldCBpPXRbZSsrXSxzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZSsrXT09PTEsYz10W2UrK109PT0xLGw9dFtlKytdLHA9dFtlKytdLGQ9dFtlXTtyZXR1cm4gaChuKXx8KG49bmV3IEFjKFVGKSksbi5fcG9seWdvbkhpZXJhcmNoeT1vLG4uX2VsbGlwc29pZD0kLmNsb25lKHIsbi5fZWxsaXBzb2lkKSxuLl9oZWlnaHQ9aSxuLl9leHRydWRlZEhlaWdodD1zLG4uX2dyYW51bGFyaXR5PWYsbi5fcGVyUG9zaXRpb25IZWlnaHQ9YyxuLl9wZXJQb3NpdGlvbkhlaWdodEV4dHJ1ZGU9dSxuLl9hcmNUeXBlPWwsbi5fb2Zmc2V0QXR0cmlidXRlPXA9PT0tMT92b2lkIDA6cCxuLnBhY2tlZExlbmd0aD1kLG59O0FjLmZyb21Qb3NpdGlvbnM9ZnVuY3Rpb24odCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpLHkuZGVmaW5lZCgib3B0aW9ucy5wb3NpdGlvbnMiLHQucG9zaXRpb25zKTtsZXQgZT17cG9seWdvbkhpZXJhcmNoeTp7cG9zaXRpb25zOnQucG9zaXRpb25zfSxoZWlnaHQ6dC5oZWlnaHQsZXh0cnVkZWRIZWlnaHQ6dC5leHRydWRlZEhlaWdodCxlbGxpcHNvaWQ6dC5lbGxpcHNvaWQsZ3JhbnVsYXJpdHk6dC5ncmFudWxhcml0eSxwZXJQb3NpdGlvbkhlaWdodDp0LnBlclBvc2l0aW9uSGVpZ2h0LGFyY1R5cGU6dC5hcmNUeXBlLG9mZnNldEF0dHJpYnV0ZTp0Lm9mZnNldEF0dHJpYnV0ZX07cmV0dXJuIG5ldyBBYyhlKX07QWMuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fZWxsaXBzb2lkLG49dC5fZ3JhbnVsYXJpdHksbz10Ll9wb2x5Z29uSGllcmFyY2h5LHI9dC5fcGVyUG9zaXRpb25IZWlnaHQsaT10Ll9hcmNUeXBlLHM9eWUucG9seWdvbk91dGxpbmVzRnJvbUhpZXJhcmNoeShvLCFyLGUpO2lmKHMubGVuZ3RoPT09MClyZXR1cm47bGV0IGYsdT1bXSxjPU0uY2hvcmRMZW5ndGgobixlLm1heGltdW1SYWRpdXMpLGw9dC5faGVpZ2h0LHA9dC5fZXh0cnVkZWRIZWlnaHQsZD10Ll9wZXJQb3NpdGlvbkhlaWdodEV4dHJ1ZGV8fCFNLmVxdWFsc0Vwc2lsb24obCxwLDAsTS5FUFNJTE9OMiksbSxfO2lmKGQpZm9yKF89MDtfPHMubGVuZ3RoO18rKyl7aWYoZj1GRihlLHNbX10sYyxyLGkpLGYuZ2VvbWV0cnk9eWUuc2NhbGVUb0dlb2RldGljSGVpZ2h0RXh0cnVkZWQoZi5nZW9tZXRyeSxsLHAsZSxyKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBUPWYuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoLzMsTz1uZXcgVWludDhBcnJheShUKTt0Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5UT1A/Tz1PLmZpbGwoMSwwLFQvMik6KG09dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjEsTz1PLmZpbGwobSkpLGYuZ2VvbWV0cnkuYXR0cmlidXRlcy5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpPfSl9dS5wdXNoKGYpfWVsc2UgZm9yKF89MDtfPHMubGVuZ3RoO18rKyl7aWYoZj1ERihlLHNbX10sYyxyLGkpLGYuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KGYuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsbCxlLCFyKSxoKHQuX29mZnNldEF0dHJpYnV0ZSkpe2xldCBUPWYuZ2VvbWV0cnkuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMubGVuZ3RoO209dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuTk9ORT8wOjE7bGV0IE89bmV3IFVpbnQ4QXJyYXkoVC8zKS5maWxsKG0pO2YuZ2VvbWV0cnkuYXR0cmlidXRlcy5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpPfSl9dS5wdXNoKGYpfWxldCBnPVZlLmNvbWJpbmVJbnN0YW5jZXModSlbMF0sYj1BdC5mcm9tVmVydGljZXMoZy5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyk7cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpnLmF0dHJpYnV0ZXMsaW5kaWNlczpnLmluZGljZXMscHJpbWl0aXZlVHlwZTpnLnByaW1pdGl2ZVR5cGUsYm91bmRpbmdTcGhlcmU6YixvZmZzZXRBdHRyaWJ1dGU6dC5fb2Zmc2V0QXR0cmlidXRlfSl9O2Z5PUFjfSk7dmFyIHV5PXt9O2RlKHV5LHtkZWZhdWx0OigpPT5rRn0pO2Z1bmN0aW9uIFZGKHQsZSl7cmV0dXJuIGgoZSkmJih0PWZ5LnVucGFjayh0LGUpKSx0Ll9lbGxpcHNvaWQ9JC5jbG9uZSh0Ll9lbGxpcHNvaWQpLGZ5LmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBrRixseT1aKCgpPT57ZnQoKTtadCgpO1NFKCk7a0Y9VkZ9KTtmdW5jdGlvbiBweSh0LGUsbil7cmV0dXJuIG48MCYmKG4rPTEpLG4+MSYmKG4tPTEpLG4qNjwxP3QrKGUtdCkqNipuOm4qMjwxP2U6biozPDI/dCsoZS10KSooMi8zLW4pKjY6dH1mdW5jdGlvbiBxKHQsZSxuLG8pe3RoaXMucmVkPXgodCwxKSx0aGlzLmdyZWVuPXgoZSwxKSx0aGlzLmJsdWU9eChuLDEpLHRoaXMuYWxwaGE9eChvLDEpfXZhciBkeSxteSxxaSxHRix6RixqRixIRixvZSxQYT1aKCgpPT57WHQoKTtJdCgpO2Z0KCk7aWgoKTtXdCgpO3EuZnJvbUNhcnRlc2lhbjQ9ZnVuY3Rpb24odCxlKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjYXJ0ZXNpYW4iLHQpLGgoZSk/KGUucmVkPXQueCxlLmdyZWVuPXQueSxlLmJsdWU9dC56LGUuYWxwaGE9dC53LGUpOm5ldyBxKHQueCx0LnksdC56LHQudyl9O3EuZnJvbUJ5dGVzPWZ1bmN0aW9uKHQsZSxuLG8scil7cmV0dXJuIHQ9cS5ieXRlVG9GbG9hdCh4KHQsMjU1KSksZT1xLmJ5dGVUb0Zsb2F0KHgoZSwyNTUpKSxuPXEuYnl0ZVRvRmxvYXQoeChuLDI1NSkpLG89cS5ieXRlVG9GbG9hdCh4KG8sMjU1KSksaChyKT8oci5yZWQ9dCxyLmdyZWVuPWUsci5ibHVlPW4sci5hbHBoYT1vLHIpOm5ldyBxKHQsZSxuLG8pfTtxLmZyb21BbHBoYT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgiY29sb3IiLHQpLHkudHlwZU9mLm51bWJlcigiYWxwaGEiLGUpLGgobik/KG4ucmVkPXQucmVkLG4uZ3JlZW49dC5ncmVlbixuLmJsdWU9dC5ibHVlLG4uYWxwaGE9ZSxuKTpuZXcgcSh0LnJlZCx0LmdyZWVuLHQuYmx1ZSxlKX07WXMuc3VwcG9ydHNUeXBlZEFycmF5cygpJiYoZHk9bmV3IEFycmF5QnVmZmVyKDQpLG15PW5ldyBVaW50MzJBcnJheShkeSkscWk9bmV3IFVpbnQ4QXJyYXkoZHkpKTtxLmZyb21SZ2JhPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIG15WzBdPXQscS5mcm9tQnl0ZXMocWlbMF0scWlbMV0scWlbMl0scWlbM10sZSl9O3EuZnJvbUhzbD1mdW5jdGlvbih0LGUsbixvLHIpe3Q9eCh0LDApJTEsZT14KGUsMCksbj14KG4sMCksbz14KG8sMSk7bGV0IGk9bixzPW4sZj1uO2lmKGUhPT0wKXtsZXQgdTtuPC41P3U9biooMStlKTp1PW4rZS1uKmU7bGV0IGM9MipuLXU7aT1weShjLHUsdCsxLzMpLHM9cHkoYyx1LHQpLGY9cHkoYyx1LHQtMS8zKX1yZXR1cm4gaChyKT8oci5yZWQ9aSxyLmdyZWVuPXMsci5ibHVlPWYsci5hbHBoYT1vLHIpOm5ldyBxKGkscyxmLG8pfTtxLmZyb21SYW5kb209ZnVuY3Rpb24odCxlKXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IG49dC5yZWQ7aWYoIWgobikpe2xldCBzPXgodC5taW5pbXVtUmVkLDApLGY9eCh0Lm1heGltdW1SZWQsMSk7eS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIm1pbmltdW1SZWQiLHMsZiksbj1zK00ubmV4dFJhbmRvbU51bWJlcigpKihmLXMpfWxldCBvPXQuZ3JlZW47aWYoIWgobykpe2xldCBzPXgodC5taW5pbXVtR3JlZW4sMCksZj14KHQubWF4aW11bUdyZWVuLDEpO3kudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJtaW5pbXVtR3JlZW4iLHMsZiksbz1zK00ubmV4dFJhbmRvbU51bWJlcigpKihmLXMpfWxldCByPXQuYmx1ZTtpZighaChyKSl7bGV0IHM9eCh0Lm1pbmltdW1CbHVlLDApLGY9eCh0Lm1heGltdW1CbHVlLDEpO3kudHlwZU9mLm51bWJlci5sZXNzVGhhbk9yRXF1YWxzKCJtaW5pbXVtQmx1ZSIscyxmKSxyPXMrTS5uZXh0UmFuZG9tTnVtYmVyKCkqKGYtcyl9bGV0IGk9dC5hbHBoYTtpZighaChpKSl7bGV0IHM9eCh0Lm1pbmltdW1BbHBoYSwwKSxmPXgodC5tYXhpbXVtQWxwaGEsMSk7eS50eXBlT2YubnVtYmVyLmxlc3NUaGFuT3JFcXVhbHMoIm1pbmltdW1BbHBoYSIscyxmKSxpPXMrTS5uZXh0UmFuZG9tTnVtYmVyKCkqKGYtcyl9cmV0dXJuIGgoZSk/KGUucmVkPW4sZS5ncmVlbj1vLGUuYmx1ZT1yLGUuYWxwaGE9aSxlKTpuZXcgcShuLG8scixpKX07R0Y9L14jKFswLTlhLWZdKShbMC05YS1mXSkoWzAtOWEtZl0pKFswLTlhLWZdKT8kL2ksekY9L14jKFswLTlhLWZdezJ9KShbMC05YS1mXXsyfSkoWzAtOWEtZl17Mn0pKFswLTlhLWZdezJ9KT8kL2ksakY9L15yZ2JhP1xzKlwoXHMqKFswLTkuXSslPylccypbLFxzXStccyooWzAtOS5dKyU/KVxzKlssXHNdK1xzKihbMC05Ll0rJT8pKD86XHMqWyxccy9dK1xzKihbMC05Ll0rKSk/XHMqXCkkL2ksSEY9L15oc2xhP1xzKlwoXHMqKFswLTkuXSspXHMqWyxcc10rXHMqKFswLTkuXSslKVxzKlssXHNdK1xzKihbMC05Ll0rJSkoPzpccypbLFxzL10rXHMqKFswLTkuXSspKT9ccypcKSQvaTtxLmZyb21Dc3NDb2xvclN0cmluZz1mdW5jdGlvbih0LGUpe3kudHlwZU9mLnN0cmluZygiY29sb3IiLHQpLGgoZSl8fChlPW5ldyBxKSx0PXQudHJpbSgpO2xldCBuPXFbdC50b1VwcGVyQ2FzZSgpXTtpZihoKG4pKXJldHVybiBxLmNsb25lKG4sZSksZTtsZXQgbz1HRi5leGVjKHQpO3JldHVybiBvIT09bnVsbD8oZS5yZWQ9cGFyc2VJbnQob1sxXSwxNikvMTUsZS5ncmVlbj1wYXJzZUludChvWzJdLDE2KS8xNSxlLmJsdWU9cGFyc2VJbnQob1szXSwxNikvMTUsZS5hbHBoYT1wYXJzZUludCh4KG9bNF0sImYiKSwxNikvMTUsZSk6KG89ekYuZXhlYyh0KSxvIT09bnVsbD8oZS5yZWQ9cGFyc2VJbnQob1sxXSwxNikvMjU1LGUuZ3JlZW49cGFyc2VJbnQob1syXSwxNikvMjU1LGUuYmx1ZT1wYXJzZUludChvWzNdLDE2KS8yNTUsZS5hbHBoYT1wYXJzZUludCh4KG9bNF0sImZmIiksMTYpLzI1NSxlKToobz1qRi5leGVjKHQpLG8hPT1udWxsPyhlLnJlZD1wYXJzZUZsb2F0KG9bMV0pLyhvWzFdLnN1YnN0cigtMSk9PT0iJSI/MTAwOjI1NSksZS5ncmVlbj1wYXJzZUZsb2F0KG9bMl0pLyhvWzJdLnN1YnN0cigtMSk9PT0iJSI/MTAwOjI1NSksZS5ibHVlPXBhcnNlRmxvYXQob1szXSkvKG9bM10uc3Vic3RyKC0xKT09PSIlIj8xMDA6MjU1KSxlLmFscGhhPXBhcnNlRmxvYXQoeChvWzRdLCIxLjAiKSksZSk6KG89SEYuZXhlYyh0KSxvIT09bnVsbD9xLmZyb21Ic2wocGFyc2VGbG9hdChvWzFdKS8zNjAscGFyc2VGbG9hdChvWzJdKS8xMDAscGFyc2VGbG9hdChvWzNdKS8xMDAscGFyc2VGbG9hdCh4KG9bNF0sIjEuMCIpKSxlKTooZT12b2lkIDAsZSkpKSl9O3EucGFja2VkTGVuZ3RoPTQ7cS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksZVtuKytdPXQucmVkLGVbbisrXT10LmdyZWVuLGVbbisrXT10LmJsdWUsZVtuXT10LmFscGhhLGV9O3EudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS5kZWZpbmVkKCJhcnJheSIsdCksZT14KGUsMCksaChuKXx8KG49bmV3IHEpLG4ucmVkPXRbZSsrXSxuLmdyZWVuPXRbZSsrXSxuLmJsdWU9dFtlKytdLG4uYWxwaGE9dFtlXSxufTtxLmJ5dGVUb0Zsb2F0PWZ1bmN0aW9uKHQpe3JldHVybiB0LzI1NX07cS5mbG9hdFRvQnl0ZT1mdW5jdGlvbih0KXtyZXR1cm4gdD09PTE/MjU1OnQqMjU2fDB9O3EuY2xvbmU9ZnVuY3Rpb24odCxlKXtpZihoKHQpKXJldHVybiBoKGUpPyhlLnJlZD10LnJlZCxlLmdyZWVuPXQuZ3JlZW4sZS5ibHVlPXQuYmx1ZSxlLmFscGhhPXQuYWxwaGEsZSk6bmV3IHEodC5yZWQsdC5ncmVlbix0LmJsdWUsdC5hbHBoYSl9O3EuZXF1YWxzPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHQ9PT1lfHxoKHQpJiZoKGUpJiZ0LnJlZD09PWUucmVkJiZ0LmdyZWVuPT09ZS5ncmVlbiYmdC5ibHVlPT09ZS5ibHVlJiZ0LmFscGhhPT09ZS5hbHBoYX07cS5lcXVhbHNBcnJheT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHQucmVkPT09ZVtuXSYmdC5ncmVlbj09PWVbbisxXSYmdC5ibHVlPT09ZVtuKzJdJiZ0LmFscGhhPT09ZVtuKzNdfTtxLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gcS5jbG9uZSh0aGlzLHQpfTtxLnByb3RvdHlwZS5lcXVhbHM9ZnVuY3Rpb24odCl7cmV0dXJuIHEuZXF1YWxzKHRoaXMsdCl9O3EucHJvdG90eXBlLmVxdWFsc0Vwc2lsb249ZnVuY3Rpb24odCxlKXtyZXR1cm4gdGhpcz09PXR8fGgodCkmJk1hdGguYWJzKHRoaXMucmVkLXQucmVkKTw9ZSYmTWF0aC5hYnModGhpcy5ncmVlbi10LmdyZWVuKTw9ZSYmTWF0aC5hYnModGhpcy5ibHVlLXQuYmx1ZSk8PWUmJk1hdGguYWJzKHRoaXMuYWxwaGEtdC5hbHBoYSk8PWV9O3EucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuYCgke3RoaXMucmVkfSwgJHt0aGlzLmdyZWVufSwgJHt0aGlzLmJsdWV9LCAke3RoaXMuYWxwaGF9KWB9O3EucHJvdG90eXBlLnRvQ3NzQ29sb3JTdHJpbmc9ZnVuY3Rpb24oKXtsZXQgdD1xLmZsb2F0VG9CeXRlKHRoaXMucmVkKSxlPXEuZmxvYXRUb0J5dGUodGhpcy5ncmVlbiksbj1xLmZsb2F0VG9CeXRlKHRoaXMuYmx1ZSk7cmV0dXJuIHRoaXMuYWxwaGE9PT0xP2ByZ2IoJHt0fSwke2V9LCR7bn0pYDpgcmdiYSgke3R9LCR7ZX0sJHtufSwke3RoaXMuYWxwaGF9KWB9O3EucHJvdG90eXBlLnRvQ3NzSGV4U3RyaW5nPWZ1bmN0aW9uKCl7bGV0IHQ9cS5mbG9hdFRvQnl0ZSh0aGlzLnJlZCkudG9TdHJpbmcoMTYpO3QubGVuZ3RoPDImJih0PWAwJHt0fWApO2xldCBlPXEuZmxvYXRUb0J5dGUodGhpcy5ncmVlbikudG9TdHJpbmcoMTYpO2UubGVuZ3RoPDImJihlPWAwJHtlfWApO2xldCBuPXEuZmxvYXRUb0J5dGUodGhpcy5ibHVlKS50b1N0cmluZygxNik7aWYobi5sZW5ndGg8MiYmKG49YDAke259YCksdGhpcy5hbHBoYTwxKXtsZXQgbz1xLmZsb2F0VG9CeXRlKHRoaXMuYWxwaGEpLnRvU3RyaW5nKDE2KTtyZXR1cm4gby5sZW5ndGg8MiYmKG89YDAke299YCksYCMke3R9JHtlfSR7bn0ke299YH1yZXR1cm5gIyR7dH0ke2V9JHtufWB9O3EucHJvdG90eXBlLnRvQnl0ZXM9ZnVuY3Rpb24odCl7bGV0IGU9cS5mbG9hdFRvQnl0ZSh0aGlzLnJlZCksbj1xLmZsb2F0VG9CeXRlKHRoaXMuZ3JlZW4pLG89cS5mbG9hdFRvQnl0ZSh0aGlzLmJsdWUpLHI9cS5mbG9hdFRvQnl0ZSh0aGlzLmFscGhhKTtyZXR1cm4gaCh0KT8odFswXT1lLHRbMV09bix0WzJdPW8sdFszXT1yLHQpOltlLG4sbyxyXX07cS5wcm90b3R5cGUudG9SZ2JhPWZ1bmN0aW9uKCl7cmV0dXJuIHFpWzBdPXEuZmxvYXRUb0J5dGUodGhpcy5yZWQpLHFpWzFdPXEuZmxvYXRUb0J5dGUodGhpcy5ncmVlbikscWlbMl09cS5mbG9hdFRvQnl0ZSh0aGlzLmJsdWUpLHFpWzNdPXEuZmxvYXRUb0J5dGUodGhpcy5hbHBoYSksbXlbMF19O3EucHJvdG90eXBlLmJyaWdodGVuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm51bWJlcigibWFnbml0dWRlIix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygibWFnbml0dWRlIix0LDApLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSx0PTEtdCxlLnJlZD0xLSgxLXRoaXMucmVkKSp0LGUuZ3JlZW49MS0oMS10aGlzLmdyZWVuKSp0LGUuYmx1ZT0xLSgxLXRoaXMuYmx1ZSkqdCxlLmFscGhhPXRoaXMuYWxwaGEsZX07cS5wcm90b3R5cGUuZGFya2VuPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHkudHlwZU9mLm51bWJlcigibWFnbml0dWRlIix0KSx5LnR5cGVPZi5udW1iZXIuZ3JlYXRlclRoYW5PckVxdWFscygibWFnbml0dWRlIix0LDApLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixlKSx0PTEtdCxlLnJlZD10aGlzLnJlZCp0LGUuZ3JlZW49dGhpcy5ncmVlbip0LGUuYmx1ZT10aGlzLmJsdWUqdCxlLmFscGhhPXRoaXMuYWxwaGEsZX07cS5wcm90b3R5cGUud2l0aEFscGhhPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIHEuZnJvbUFscGhhKHRoaXMsdCxlKX07cS5hZGQ9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLnJlZD10LnJlZCtlLnJlZCxuLmdyZWVuPXQuZ3JlZW4rZS5ncmVlbixuLmJsdWU9dC5ibHVlK2UuYmx1ZSxuLmFscGhhPXQuYWxwaGErZS5hbHBoYSxufTtxLnN1YnRyYWN0PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi5yZWQ9dC5yZWQtZS5yZWQsbi5ncmVlbj10LmdyZWVuLWUuZ3JlZW4sbi5ibHVlPXQuYmx1ZS1lLmJsdWUsbi5hbHBoYT10LmFscGhhLWUuYWxwaGEsbn07cS5tdWx0aXBseT1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgibGVmdCIsdCkseS50eXBlT2Yub2JqZWN0KCJyaWdodCIsZSkseS50eXBlT2Yub2JqZWN0KCJyZXN1bHQiLG4pLG4ucmVkPXQucmVkKmUucmVkLG4uZ3JlZW49dC5ncmVlbiplLmdyZWVuLG4uYmx1ZT10LmJsdWUqZS5ibHVlLG4uYWxwaGE9dC5hbHBoYSplLmFscGhhLG59O3EuZGl2aWRlPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJsZWZ0Iix0KSx5LnR5cGVPZi5vYmplY3QoInJpZ2h0IixlKSx5LnR5cGVPZi5vYmplY3QoInJlc3VsdCIsbiksbi5yZWQ9dC5yZWQvZS5yZWQsbi5ncmVlbj10LmdyZWVuL2UuZ3JlZW4sbi5ibHVlPXQuYmx1ZS9lLmJsdWUsbi5hbHBoYT10LmFscGhhL2UuYWxwaGEsbn07cS5tb2Q9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB5LnR5cGVPZi5vYmplY3QoImxlZnQiLHQpLHkudHlwZU9mLm9iamVjdCgicmlnaHQiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLnJlZD10LnJlZCVlLnJlZCxuLmdyZWVuPXQuZ3JlZW4lZS5ncmVlbixuLmJsdWU9dC5ibHVlJWUuYmx1ZSxuLmFscGhhPXQuYWxwaGElZS5hbHBoYSxufTtxLmxlcnA9ZnVuY3Rpb24odCxlLG4sbyl7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgic3RhcnQiLHQpLHkudHlwZU9mLm9iamVjdCgiZW5kIixlKSx5LnR5cGVPZi5udW1iZXIoInQiLG4pLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixvKSxvLnJlZD1NLmxlcnAodC5yZWQsZS5yZWQsbiksby5ncmVlbj1NLmxlcnAodC5ncmVlbixlLmdyZWVuLG4pLG8uYmx1ZT1NLmxlcnAodC5ibHVlLGUuYmx1ZSxuKSxvLmFscGhhPU0ubGVycCh0LmFscGhhLGUuYWxwaGEsbiksb307cS5tdWx0aXBseUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjb2xvciIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLnJlZD10LnJlZCplLG4uZ3JlZW49dC5ncmVlbiplLG4uYmx1ZT10LmJsdWUqZSxuLmFscGhhPXQuYWxwaGEqZSxufTtxLmRpdmlkZUJ5U2NhbGFyPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJjb2xvciIsdCkseS50eXBlT2YubnVtYmVyKCJzY2FsYXIiLGUpLHkudHlwZU9mLm9iamVjdCgicmVzdWx0IixuKSxuLnJlZD10LnJlZC9lLG4uZ3JlZW49dC5ncmVlbi9lLG4uYmx1ZT10LmJsdWUvZSxuLmFscGhhPXQuYWxwaGEvZSxufTtxLkFMSUNFQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRjBGOEZGIikpO3EuQU5USVFVRVdISVRFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGQUVCRDciKSk7cS5BUVVBPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMEZGRkYiKSk7cS5BUVVBTUFSSU5FPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM3RkZGRDQiKSk7cS5BWlVSRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRjBGRkZGIikpO3EuQkVJR0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0Y1RjVEQyIpKTtxLkJJU1FVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZFNEM0IikpO3EuQkxBQ0s9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwMDAwMCIpKTtxLkJMQU5DSEVEQUxNT05EPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkVCQ0QiKSk7cS5CTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMDAwRkYiKSk7cS5CTFVFVklPTEVUPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM4QTJCRTIiKSk7cS5CUk9XTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQTUyQTJBIikpO3EuQlVSTFlXT09EPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNERUI4ODciKSk7cS5DQURFVEJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzVGOUVBMCIpKTtxLkNIQVJUUkVVU0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzdGRkYwMCIpKTtxLkNIT0NPTEFURT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRDI2OTFFIikpO3EuQ09SQUw9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGN0Y1MCIpKTtxLkNPUk5GTE9XRVJCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM2NDk1RUQiKSk7cS5DT1JOU0lMSz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZGOERDIikpO3EuQ1JJTVNPTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjREMxNDNDIikpO3EuQ1lBTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDBGRkZGIikpO3EuREFSS0JMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwMDA4QiIpKTtxLkRBUktDWUFOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMDhCOEIiKSk7cS5EQVJLR09MREVOUk9EPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNCODg2MEIiKSk7cS5EQVJLR1JBWT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQTlBOUE5IikpO3EuREFSS0dSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMDY0MDAiKSk7cS5EQVJLR1JFWT1xLkRBUktHUkFZO3EuREFSS0tIQUtJPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNCREI3NkIiKSk7cS5EQVJLTUFHRU5UQT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjOEIwMDhCIikpO3EuREFSS09MSVZFR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzU1NkIyRiIpKTtxLkRBUktPUkFOR0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGOEMwMCIpKTtxLkRBUktPUkNISUQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzk5MzJDQyIpKTtxLkRBUktSRUQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzhCMDAwMCIpKTtxLkRBUktTQUxNT049T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0U5OTY3QSIpKTtxLkRBUktTRUFHUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjOEZCQzhGIikpO3EuREFSS1NMQVRFQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNDgzRDhCIikpO3EuREFSS1NMQVRFR1JBWT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMkY0RjRGIikpO3EuREFSS1NMQVRFR1JFWT1xLkRBUktTTEFURUdSQVk7cS5EQVJLVFVSUVVPSVNFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMENFRDEiKSk7cS5EQVJLVklPTEVUPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM5NDAwRDMiKSk7cS5ERUVQUElOSz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkYxNDkzIikpO3EuREVFUFNLWUJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwQkZGRiIpKTtxLkRJTUdSQVk9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzY5Njk2OSIpKTtxLkRJTUdSRVk9cS5ESU1HUkFZO3EuRE9ER0VSQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMUU5MEZGIikpO3EuRklSRUJSSUNLPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNCMjIyMjIiKSk7cS5GTE9SQUxXSElURT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZGQUYwIikpO3EuRk9SRVNUR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzIyOEIyMiIpKTtxLkZVQ0hTSUE9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGMDBGRiIpKTtxLkdBSU5TQk9STz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRENEQ0RDIikpO3EuR0hPU1RXSElURT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRjhGOEZGIikpO3EuR09MRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZENzAwIikpO3EuR09MREVOUk9EPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNEQUE1MjAiKSk7cS5HUkFZPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM4MDgwODAiKSk7cS5HUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDA4MDAwIikpO3EuR1JFRU5ZRUxMT1c9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0FERkYyRiIpKTtxLkdSRVk9cS5HUkFZO3EuSE9ORVlERVc9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0YwRkZGMCIpKTtxLkhPVFBJTks9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGNjlCNCIpKTtxLklORElBTlJFRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQ0Q1QzVDIikpO3EuSU5ESUdPPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM0QjAwODIiKSk7cS5JVk9SWT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZGRkYwIikpO3EuS0hBS0k9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0YwRTY4QyIpKTtxLkxBVkVOREVSPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNFNkU2RkEiKSk7cS5MQVZFTkRBUl9CTFVTSD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZGMEY1IikpO3EuTEFXTkdSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM3Q0ZDMDAiKSk7cS5MRU1PTkNISUZGT049T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRkFDRCIpKTtxLkxJR0hUQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQUREOEU2IikpO3EuTElHSFRDT1JBTD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRjA4MDgwIikpO3EuTElHSFRDWUFOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNFMEZGRkYiKSk7cS5MSUdIVEdPTERFTlJPRFlFTExPVz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkFGQUQyIikpO3EuTElHSFRHUkFZPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNEM0QzRDMiKSk7cS5MSUdIVEdSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM5MEVFOTAiKSk7cS5MSUdIVEdSRVk9cS5MSUdIVEdSQVk7cS5MSUdIVFBJTks9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGQjZDMSIpKTtxLkxJR0hUU0VBR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzIwQjJBQSIpKTtxLkxJR0hUU0tZQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjODdDRUZBIikpO3EuTElHSFRTTEFURUdSQVk9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzc3ODg5OSIpKTtxLkxJR0hUU0xBVEVHUkVZPXEuTElHSFRTTEFURUdSQVk7cS5MSUdIVFNURUVMQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQjBDNERFIikpO3EuTElHSFRZRUxMT1c9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRkZFMCIpKTtxLkxJTUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwRkYwMCIpKTtxLkxJTUVHUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMzJDRDMyIikpO3EuTElORU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZBRjBFNiIpKTtxLk1BR0VOVEE9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGMDBGRiIpKTtxLk1BUk9PTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjODAwMDAwIikpO3EuTUVESVVNQVFVQU1BUklORT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNjZDREFBIikpO3EuTUVESVVNQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMDAwMENEIikpO3EuTUVESVVNT1JDSElEPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNCQTU1RDMiKSk7cS5NRURJVU1QVVJQTEU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzkzNzBEQiIpKTtxLk1FRElVTVNFQUdSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMzQ0IzNzEiKSk7cS5NRURJVU1TTEFURUJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzdCNjhFRSIpKTtxLk1FRElVTVNQUklOR0dSRUVOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMEZBOUEiKSk7cS5NRURJVU1UVVJRVU9JU0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzQ4RDFDQyIpKTtxLk1FRElVTVZJT0xFVFJFRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQzcxNTg1IikpO3EuTUlETklHSFRCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMxOTE5NzAiKSk7cS5NSU5UQ1JFQU09T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0Y1RkZGQSIpKTtxLk1JU1RZUk9TRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZFNEUxIikpO3EuTU9DQ0FTSU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRTRCNSIpKTtxLk5BVkFKT1dISVRFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGRkRFQUQiKSk7cS5OQVZZPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMDAwODAiKSk7cS5PTERMQUNFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGREY1RTYiKSk7cS5PTElWRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjODA4MDAwIikpO3EuT0xJVkVEUkFCPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM2QjhFMjMiKSk7cS5PUkFOR0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGQTUwMCIpKTtxLk9SQU5HRVJFRD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkY0NTAwIikpO3EuT1JDSElEPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNEQTcwRDYiKSk7cS5QQUxFR09MREVOUk9EPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNFRUU4QUEiKSk7cS5QQUxFR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzk4RkI5OCIpKTtxLlBBTEVUVVJRVU9JU0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0FGRUVFRSIpKTtxLlBBTEVWSU9MRVRSRUQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0RCNzA5MyIpKTtxLlBBUEFZQVdISVA9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRUZENSIpKTtxLlBFQUNIUFVGRj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZEQUI5IikpO3EuUEVSVT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQ0Q4NTNGIikpO3EuUElOSz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZDMENCIikpO3EuUExVTT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRERBMEREIikpO3EuUE9XREVSQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQjBFMEU2IikpO3EuUFVSUExFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM4MDAwODAiKSk7cS5SRUQ9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGMDAwMCIpKTtxLlJPU1lCUk9XTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQkM4RjhGIikpO3EuUk9ZQUxCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM0MTY5RTEiKSk7cS5TQURETEVCUk9XTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjOEI0NTEzIikpO3EuU0FMTU9OPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGQTgwNzIiKSk7cS5TQU5EWUJST1dOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNGNEE0NjAiKSk7cS5TRUFHUkVFTj1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjMkU4QjU3IikpO3EuU0VBU0hFTEw9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRjVFRSIpKTtxLlNJRU5OQT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjQTA1MjJEIikpO3EuU0lMVkVSPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNDMEMwQzAiKSk7cS5TS1lCTFVFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiM4N0NFRUIiKSk7cS5TTEFURUJMVUU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzZBNUFDRCIpKTtxLlNMQVRFR1JBWT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNzA4MDkwIikpO3EuU0xBVEVHUkVZPXEuU0xBVEVHUkFZO3EuU05PVz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZGQUZBIikpO3EuU1BSSU5HR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzAwRkY3RiIpKTtxLlNURUVMQkxVRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNDY4MkI0IikpO3EuVEFOPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNEMkI0OEMiKSk7cS5URUFMPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiMwMDgwODAiKSk7cS5USElTVExFPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNEOEJGRDgiKSk7cS5UT01BVE89T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGNjM0NyIpKTtxLlRVUlFVT0lTRT1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjNDBFMEQwIikpO3EuVklPTEVUPU9iamVjdC5mcmVlemUocS5mcm9tQ3NzQ29sb3JTdHJpbmcoIiNFRTgyRUUiKSk7cS5XSEVBVD1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRjVERUIzIikpO3EuV0hJVEU9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0ZGRkZGRiIpKTtxLldISVRFU01PS0U9T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiI0Y1RjVGNSIpKTtxLllFTExPVz1PYmplY3QuZnJlZXplKHEuZnJvbUNzc0NvbG9yU3RyaW5nKCIjRkZGRjAwIikpO3EuWUVMTE9XR1JFRU49T2JqZWN0LmZyZWV6ZShxLmZyb21Dc3NDb2xvclN0cmluZygiIzlBQ0QzMiIpKTtxLlRSQU5TUEFSRU5UPU9iamVjdC5mcmVlemUobmV3IHEoMCwwLDAsMCkpO29lPXF9KTtmdW5jdGlvbiBxRih0LGUsbixvLHIpe2xldCBpPU5FO2kubGVuZ3RoPXI7bGV0IHMsZj1uLnJlZCx1PW4uZ3JlZW4sYz1uLmJsdWUsbD1uLmFscGhhLHA9by5yZWQsZD1vLmdyZWVuLG09by5ibHVlLF89by5hbHBoYTtpZihvZS5lcXVhbHMobixvKSl7Zm9yKHM9MDtzPHI7cysrKWlbc109b2UuY2xvbmUobik7cmV0dXJuIGl9bGV0IGc9KHAtZikvcixiPShkLXUpL3IsVD0obS1jKS9yLE89KF8tbCkvcjtmb3Iocz0wO3M8cjtzKyspaVtzXT1uZXcgb2UoZitzKmcsdStzKmIsYytzKlQsbCtzKk8pO3JldHVybiBpfWZ1bmN0aW9uIFpmKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvc2l0aW9ucyxuPXQuY29sb3JzLG89eCh0LndpZHRoLDEpLHI9eCh0LmNvbG9yc1BlclZlcnRleCwhMSk7aWYoIWgoZSl8fGUubGVuZ3RoPDIpdGhyb3cgbmV3IEIoIkF0IGxlYXN0IHR3byBwb3NpdGlvbnMgYXJlIHJlcXVpcmVkLiIpO2lmKHR5cGVvZiBvIT0ibnVtYmVyIil0aHJvdyBuZXcgQigid2lkdGggbXVzdCBiZSBhIG51bWJlciIpO2lmKGgobikmJihyJiZuLmxlbmd0aDxlLmxlbmd0aHx8IXImJm4ubGVuZ3RoPGUubGVuZ3RoLTEpKXRocm93IG5ldyBCKCJjb2xvcnMgaGFzIGFuIGludmFsaWQgbGVuZ3RoLiIpO3RoaXMuX3Bvc2l0aW9ucz1lLHRoaXMuX2NvbG9ycz1uLHRoaXMuX3dpZHRoPW8sdGhpcy5fY29sb3JzUGVyVmVydGV4PXIsdGhpcy5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKHgodC52ZXJ0ZXhGb3JtYXQsZHQuREVGQVVMVCkpLHRoaXMuX2FyY1R5cGU9eCh0LmFyY1R5cGUsX2UuR0VPREVTSUMpLHRoaXMuX2dyYW51bGFyaXR5PXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSksdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUoeCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpKSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVQb2x5bGluZUdlb21ldHJ5IjtsZXQgaT0xK2UubGVuZ3RoKmEucGFja2VkTGVuZ3RoO2krPWgobik/MStuLmxlbmd0aCpvZS5wYWNrZWRMZW5ndGg6MSx0aGlzLnBhY2tlZExlbmd0aD1pKyQucGFja2VkTGVuZ3RoK2R0LnBhY2tlZExlbmd0aCs0fXZhciBORSxJRSx2RSxiYyxDRSx4RSxQRSxNRSxoeSxMRT1aKCgpPT57ZmMoKTtqcigpO3ZlKCk7RnQoKTtQYSgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtJcCgpOyRlKCk7V3QoKTt5YSgpO3RuKCk7Um8oKTtORT1bXTtaZi5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtuPXgobiwwKTtsZXQgbyxyPXQuX3Bvc2l0aW9ucyxpPXIubGVuZ3RoO2ZvcihlW24rK109aSxvPTA7bzxpOysrbyxuKz1hLnBhY2tlZExlbmd0aClhLnBhY2socltvXSxlLG4pO2xldCBzPXQuX2NvbG9ycztmb3IoaT1oKHMpP3MubGVuZ3RoOjAsZVtuKytdPWksbz0wO288aTsrK28sbis9b2UucGFja2VkTGVuZ3RoKW9lLnBhY2soc1tvXSxlLG4pO3JldHVybiAkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX3dpZHRoLGVbbisrXT10Ll9jb2xvcnNQZXJWZXJ0ZXg/MTowLGVbbisrXT10Ll9hcmNUeXBlLGVbbl09dC5fZ3JhbnVsYXJpdHksZX07SUU9JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSx2RT1uZXcgZHQsYmM9e3Bvc2l0aW9uczp2b2lkIDAsY29sb3JzOnZvaWQgMCxlbGxpcHNvaWQ6SUUsdmVydGV4Rm9ybWF0OnZFLHdpZHRoOnZvaWQgMCxjb2xvcnNQZXJWZXJ0ZXg6dm9pZCAwLGFyY1R5cGU6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMH07WmYudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtlPXgoZSwwKTtsZXQgbyxyPXRbZSsrXSxpPW5ldyBBcnJheShyKTtmb3Iobz0wO288cjsrK28sZSs9YS5wYWNrZWRMZW5ndGgpaVtvXT1hLnVucGFjayh0LGUpO3I9dFtlKytdO2xldCBzPXI+MD9uZXcgQXJyYXkocik6dm9pZCAwO2ZvcihvPTA7bzxyOysrbyxlKz1vZS5wYWNrZWRMZW5ndGgpc1tvXT1vZS51bnBhY2sodCxlKTtsZXQgZj0kLnVucGFjayh0LGUsSUUpO2UrPSQucGFja2VkTGVuZ3RoO2xldCB1PWR0LnVucGFjayh0LGUsdkUpO2UrPWR0LnBhY2tlZExlbmd0aDtsZXQgYz10W2UrK10sbD10W2UrK109PT0xLHA9dFtlKytdLGQ9dFtlXTtyZXR1cm4gaChuKT8obi5fcG9zaXRpb25zPWksbi5fY29sb3JzPXMsbi5fZWxsaXBzb2lkPSQuY2xvbmUoZixuLl9lbGxpcHNvaWQpLG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZSh1LG4uX3ZlcnRleEZvcm1hdCksbi5fd2lkdGg9YyxuLl9jb2xvcnNQZXJWZXJ0ZXg9bCxuLl9hcmNUeXBlPXAsbi5fZ3JhbnVsYXJpdHk9ZCxuKTooYmMucG9zaXRpb25zPWksYmMuY29sb3JzPXMsYmMud2lkdGg9YyxiYy5jb2xvcnNQZXJWZXJ0ZXg9bCxiYy5hcmNUeXBlPXAsYmMuZ3JhbnVsYXJpdHk9ZCxuZXcgWmYoYmMpKX07Q0U9bmV3IGEseEU9bmV3IGEsUEU9bmV3IGEsTUU9bmV3IGE7WmYuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fd2lkdGgsbj10Ll92ZXJ0ZXhGb3JtYXQsbz10Ll9jb2xvcnMscj10Ll9jb2xvcnNQZXJWZXJ0ZXgsaT10Ll9hcmNUeXBlLHM9dC5fZ3JhbnVsYXJpdHksZj10Ll9lbGxpcHNvaWQsdSxjLGwscD1bXSxkPXhuKHQuX3Bvc2l0aW9ucyxhLmVxdWFsc0Vwc2lsb24sITEscCk7aWYoaChvKSYmcC5sZW5ndGg+MCl7bGV0IEY9MCxqPXBbMF07bz1vLmZpbHRlcihmdW5jdGlvbihILGspe2xldCBLPSExO3JldHVybiByP0s9az09PWp8fGs9PT0wJiZqPT09MTpLPWsrMT09PWosSz8oRisrLGo9cFtGXSwhMSk6ITB9KX1sZXQgbT1kLmxlbmd0aDtpZihtPDJ8fGU8PTApcmV0dXJuO2lmKGk9PT1fZS5HRU9ERVNJQ3x8aT09PV9lLlJIVU1CKXtsZXQgRixqO2k9PT1fZS5HRU9ERVNJQz8oRj1NLmNob3JkTGVuZ3RoKHMsZi5tYXhpbXVtUmFkaXVzKSxqPUFuLm51bWJlck9mUG9pbnRzKTooRj1zLGo9QW4ubnVtYmVyT2ZQb2ludHNSaHVtYkxpbmUpO2xldCBIPUFuLmV4dHJhY3RIZWlnaHRzKGQsZik7aWYoaChvKSl7bGV0IGs9MTtmb3IodT0wO3U8bS0xOysrdSlrKz1qKGRbdV0sZFt1KzFdLEYpO2xldCBLPW5ldyBBcnJheShrKSxYPTA7Zm9yKHU9MDt1PG0tMTsrK3Upe2xldCBSPWRbdV0sb3Q9ZFt1KzFdLGF0PW9bdV0scHQ9aihSLG90LEYpO2lmKHImJnU8ayl7bGV0IHl0PW9bdSsxXSxydD1xRihSLG90LGF0LHl0LHB0KSxQdD1ydC5sZW5ndGg7Zm9yKGM9MDtjPFB0OysrYylLW1grK109cnRbY119ZWxzZSBmb3IoYz0wO2M8cHQ7KytjKUtbWCsrXT1vZS5jbG9uZShhdCl9S1tYXT1vZS5jbG9uZShvW28ubGVuZ3RoLTFdKSxvPUssTkUubGVuZ3RoPTB9aT09PV9lLkdFT0RFU0lDP2Q9QW4uZ2VuZXJhdGVDYXJ0ZXNpYW5BcmMoe3Bvc2l0aW9uczpkLG1pbkRpc3RhbmNlOkYsZWxsaXBzb2lkOmYsaGVpZ2h0Okh9KTpkPUFuLmdlbmVyYXRlQ2FydGVzaWFuUmh1bWJBcmMoe3Bvc2l0aW9uczpkLGdyYW51bGFyaXR5OkYsZWxsaXBzb2lkOmYsaGVpZ2h0Okh9KX1tPWQubGVuZ3RoO2xldCBfPW0qNC00LGc9bmV3IEZsb2F0NjRBcnJheShfKjMpLGI9bmV3IEZsb2F0NjRBcnJheShfKjMpLFQ9bmV3IEZsb2F0NjRBcnJheShfKjMpLE89bmV3IEZsb2F0MzJBcnJheShfKjIpLEU9bi5zdD9uZXcgRmxvYXQzMkFycmF5KF8qMik6dm9pZCAwLHc9aChvKT9uZXcgVWludDhBcnJheShfKjQpOnZvaWQgMCxDPTAsTj0wLEk9MCxEPTAsdjtmb3IoYz0wO2M8bTsrK2Mpe2M9PT0wPyh2PUNFLGEuc3VidHJhY3QoZFswXSxkWzFdLHYpLGEuYWRkKGRbMF0sdix2KSk6dj1kW2MtMV0sYS5jbG9uZSh2LFBFKSxhLmNsb25lKGRbY10seEUpLGM9PT1tLTE/KHY9Q0UsYS5zdWJ0cmFjdChkW20tMV0sZFttLTJdLHYpLGEuYWRkKGRbbS0xXSx2LHYpKTp2PWRbYysxXSxhLmNsb25lKHYsTUUpO2xldCBGLGo7aCh3KSYmKGMhPT0wJiYhcj9GPW9bYy0xXTpGPW9bY10sYyE9PW0tMSYmKGo9b1tjXSkpO2xldCBIPWM9PT0wPzI6MCxrPWM9PT1tLTE/Mjo0O2ZvcihsPUg7bDxrOysrbCl7YS5wYWNrKHhFLGcsQyksYS5wYWNrKFBFLGIsQyksYS5wYWNrKE1FLFQsQyksQys9MztsZXQgSz1sLTI8MD8tMToxO2lmKE9bTisrXT0yKihsJTIpLTEsT1tOKytdPUsqZSxuLnN0JiYoRVtJKytdPWMvKG0tMSksRVtJKytdPU1hdGgubWF4KE9bTi0yXSwwKSksaCh3KSl7bGV0IFg9bDwyP0Y6ajt3W0QrK109b2UuZmxvYXRUb0J5dGUoWC5yZWQpLHdbRCsrXT1vZS5mbG9hdFRvQnl0ZShYLmdyZWVuKSx3W0QrK109b2UuZmxvYXRUb0J5dGUoWC5ibHVlKSx3W0QrK109b2UuZmxvYXRUb0J5dGUoWC5hbHBoYSl9fX1sZXQgTD1uZXcgaWU7TC5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmd9KSxMLnByZXZQb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmJ9KSxMLm5leHRQb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOlR9KSxMLmV4cGFuZEFuZFdpZHRoPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZToyLHZhbHVlczpPfSksbi5zdCYmKEwuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOkV9KSksaCh3KSYmKEwuY29sb3I9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6NCx2YWx1ZXM6dyxub3JtYWxpemU6ITB9KSk7bGV0IFU9RHQuY3JlYXRlVHlwZWRBcnJheShfLG0qNi02KSxBPTAsUz0wLFA9bS0xO2ZvcihjPTA7YzxQOysrYylVW1MrK109QSxVW1MrK109QSsyLFVbUysrXT1BKzEsVVtTKytdPUErMSxVW1MrK109QSsyLFVbUysrXT1BKzMsQSs9NDtyZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOkwsaW5kaWNlczpVLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTLGJvdW5kaW5nU3BoZXJlOkF0LmZyb21Qb2ludHMoZCksZ2VvbWV0cnlUeXBlOk1pLlBPTFlMSU5FU30pfTtoeT1aZn0pO3ZhciBfeT17fTtkZShfeSx7ZGVmYXVsdDooKT0+V0Z9KTtmdW5jdGlvbiBLRih0LGUpe3JldHVybiBoKGUpJiYodD1oeS51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxoeS5jcmVhdGVHZW9tZXRyeSh0KX12YXIgV0YseXk9WigoKT0+e2Z0KCk7WnQoKTtMRSgpO1dGPUtGfSk7ZnVuY3Rpb24gWEYodCxlLG4sbyl7bGV0IHI9bmV3IGllO28ucG9zaXRpb24mJihyLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6dH0pKTtsZXQgaT1lLmxlbmd0aCxzPXQubGVuZ3RoLzMsZj0ocy1pKjIpLyhpKjIpLHU9UGUudHJpYW5ndWxhdGUoZSksYz0oZi0xKSppKjYrdS5sZW5ndGgqMixsPUR0LmNyZWF0ZVR5cGVkQXJyYXkocyxjKSxwLGQsbSxfLGcsYixUPWkqMixPPTA7Zm9yKHA9MDtwPGYtMTtwKyspe2ZvcihkPTA7ZDxpLTE7ZCsrKW09ZCoyK3AqaSoyLGI9bStULF89bSsxLGc9XytULGxbTysrXT1fLGxbTysrXT1tLGxbTysrXT1nLGxbTysrXT1nLGxbTysrXT1tLGxbTysrXT1iO209aSoyLTIrcCppKjIsXz1tKzEsZz1fK1QsYj1tK1QsbFtPKytdPV8sbFtPKytdPW0sbFtPKytdPWcsbFtPKytdPWcsbFtPKytdPW0sbFtPKytdPWJ9aWYoby5zdHx8by50YW5nZW50fHxvLmJpdGFuZ2VudCl7bGV0IEM9bmV3IEZsb2F0MzJBcnJheShzKjIpLE49MS8oZi0xKSxJPTEvbi5oZWlnaHQsRD1uLmhlaWdodC8yLHYsTCxVPTA7Zm9yKHA9MDtwPGY7cCsrKXtmb3Iodj1wKk4sTD1JKihlWzBdLnkrRCksQ1tVKytdPXYsQ1tVKytdPUwsZD0xO2Q8aTtkKyspTD1JKihlW2RdLnkrRCksQ1tVKytdPXYsQ1tVKytdPUwsQ1tVKytdPXYsQ1tVKytdPUw7TD1JKihlWzBdLnkrRCksQ1tVKytdPXYsQ1tVKytdPUx9Zm9yKGQ9MDtkPGk7ZCsrKXY9MCxMPUkqKGVbZF0ueStEKSxDW1UrK109dixDW1UrK109TDtmb3IoZD0wO2Q8aTtkKyspdj0oZi0xKSpOLEw9SSooZVtkXS55K0QpLENbVSsrXT12LENbVSsrXT1MO3Iuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOm5ldyBGbG9hdDMyQXJyYXkoQyl9KX1sZXQgRT1zLWkqMjtmb3IocD0wO3A8dS5sZW5ndGg7cCs9Myl7bGV0IEM9dVtwXStFLE49dVtwKzFdK0UsST11W3ArMl0rRTtsW08rK109QyxsW08rK109TixsW08rK109SSxsW08rK109SStpLGxbTysrXT1OK2ksbFtPKytdPUMraX1sZXQgdz1uZXcgVXQoe2F0dHJpYnV0ZXM6cixpbmRpY2VzOmwsYm91bmRpbmdTcGhlcmU6QXQuZnJvbVZlcnRpY2VzKHQpLHByaW1pdGl2ZVR5cGU6QnQuVFJJQU5HTEVTfSk7aWYoby5ub3JtYWwmJih3PVZlLmNvbXB1dGVOb3JtYWwodykpLG8udGFuZ2VudHx8by5iaXRhbmdlbnQpe3RyeXt3PVZlLmNvbXB1dGVUYW5nZW50QW5kQml0YW5nZW50KHcpfWNhdGNoe3VkKCJwb2x5bGluZS12b2x1bWUtdGFuZ2VudC1iaXRhbmdlbnQiLCJVbmFibGUgdG8gY29tcHV0ZSB0YW5nZW50cyBhbmQgYml0YW5nZW50cyBmb3IgcG9seWxpbmUgdm9sdW1lIGdlb21ldHJ5Iil9by50YW5nZW50fHwody5hdHRyaWJ1dGVzLnRhbmdlbnQ9dm9pZCAwKSxvLmJpdGFuZ2VudHx8KHcuYXR0cmlidXRlcy5iaXRhbmdlbnQ9dm9pZCAwKSxvLnN0fHwody5hdHRyaWJ1dGVzLnN0PXZvaWQgMCl9cmV0dXJuIHd9ZnVuY3Rpb24gSmYodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucG9seWxpbmVQb3NpdGlvbnMsbj10LnNoYXBlUG9zaXRpb25zO2lmKCFoKGUpKXRocm93IG5ldyBCKCJvcHRpb25zLnBvbHlsaW5lUG9zaXRpb25zIGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJvcHRpb25zLnNoYXBlUG9zaXRpb25zIGlzIHJlcXVpcmVkLiIpO3RoaXMuX3Bvc2l0aW9ucz1lLHRoaXMuX3NoYXBlPW4sdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUoeCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpKSx0aGlzLl9jb3JuZXJUeXBlPXgodC5jb3JuZXJUeXBlLGZuLlJPVU5ERUQpLHRoaXMuX3ZlcnRleEZvcm1hdD1kdC5jbG9uZSh4KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpKSx0aGlzLl9ncmFudWxhcml0eT14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVBvbHlsaW5lVm9sdW1lR2VvbWV0cnkiO2xldCBvPTErZS5sZW5ndGgqYS5wYWNrZWRMZW5ndGg7bys9MStuLmxlbmd0aCp0dC5wYWNrZWRMZW5ndGgsdGhpcy5wYWNrZWRMZW5ndGg9byskLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrMn12YXIgREUsRkUsUWYsWUYsZ3ksQkU9WigoKT0+e2pyKCk7Q2YoKTt2ZSgpO1VlKCk7RnQoKTtGZSgpO2hjKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTtzaSgpOyRlKCk7V3QoKTtLMCgpO3FyKCk7bWQoKTt0bigpO1JvKCk7bGMoKTtKZi5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtuPXgobiwwKTtsZXQgbyxyPXQuX3Bvc2l0aW9ucyxpPXIubGVuZ3RoO2ZvcihlW24rK109aSxvPTA7bzxpOysrbyxuKz1hLnBhY2tlZExlbmd0aClhLnBhY2socltvXSxlLG4pO2xldCBzPXQuX3NoYXBlO2ZvcihpPXMubGVuZ3RoLGVbbisrXT1pLG89MDtvPGk7KytvLG4rPXR0LnBhY2tlZExlbmd0aCl0dC5wYWNrKHNbb10sZSxuKTtyZXR1cm4gJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbiksbis9ZHQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll9jb3JuZXJUeXBlLGVbbl09dC5fZ3JhbnVsYXJpdHksZX07REU9JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSxGRT1uZXcgZHQsUWY9e3BvbHlsaW5lUG9zaXRpb25zOnZvaWQgMCxzaGFwZVBvc2l0aW9uczp2b2lkIDAsZWxsaXBzb2lkOkRFLHZlcnRleEZvcm1hdDpGRSxjb3JuZXJUeXBlOnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDB9O0pmLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG8scj10W2UrK10saT1uZXcgQXJyYXkocik7Zm9yKG89MDtvPHI7KytvLGUrPWEucGFja2VkTGVuZ3RoKWlbb109YS51bnBhY2sodCxlKTtyPXRbZSsrXTtsZXQgcz1uZXcgQXJyYXkocik7Zm9yKG89MDtvPHI7KytvLGUrPXR0LnBhY2tlZExlbmd0aClzW29dPXR0LnVucGFjayh0LGUpO2xldCBmPSQudW5wYWNrKHQsZSxERSk7ZSs9JC5wYWNrZWRMZW5ndGg7bGV0IHU9ZHQudW5wYWNrKHQsZSxGRSk7ZSs9ZHQucGFja2VkTGVuZ3RoO2xldCBjPXRbZSsrXSxsPXRbZV07cmV0dXJuIGgobik/KG4uX3Bvc2l0aW9ucz1pLG4uX3NoYXBlPXMsbi5fZWxsaXBzb2lkPSQuY2xvbmUoZixuLl9lbGxpcHNvaWQpLG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZSh1LG4uX3ZlcnRleEZvcm1hdCksbi5fY29ybmVyVHlwZT1jLG4uX2dyYW51bGFyaXR5PWwsbik6KFFmLnBvbHlsaW5lUG9zaXRpb25zPWksUWYuc2hhcGVQb3NpdGlvbnM9cyxRZi5jb3JuZXJUeXBlPWMsUWYuZ3JhbnVsYXJpdHk9bCxuZXcgSmYoUWYpKX07WUY9bmV3IEhyO0pmLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3Bvc2l0aW9ucyxuPXhuKGUsYS5lcXVhbHNFcHNpbG9uKSxvPXQuX3NoYXBlO2lmKG89aHMucmVtb3ZlRHVwbGljYXRlc0Zyb21TaGFwZShvKSxuLmxlbmd0aDwyfHxvLmxlbmd0aDwzKXJldHVybjtQZS5jb21wdXRlV2luZGluZ09yZGVyMkQobyk9PT1Dby5DTE9DS1dJU0UmJm8ucmV2ZXJzZSgpO2xldCByPUhyLmZyb21Qb2ludHMobyxZRiksaT1ocy5jb21wdXRlUG9zaXRpb25zKG4sbyxyLHQsITApO3JldHVybiBYRihpLG8scix0Ll92ZXJ0ZXhGb3JtYXQpfTtneT1KZn0pO3ZhciBBeT17fTtkZShBeSx7ZGVmYXVsdDooKT0+WkZ9KTtmdW5jdGlvbiAkRih0LGUpe3JldHVybiBoKGUpJiYodD1neS51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxneS5jcmVhdGVHZW9tZXRyeSh0KX12YXIgWkYsYnk9WigoKT0+e2Z0KCk7WnQoKTtCRSgpO1pGPSRGfSk7ZnVuY3Rpb24gUUYodCxlKXtsZXQgbj1uZXcgaWU7bi5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnR9KTtsZXQgbz1lLmxlbmd0aCxyPW4ucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLHM9dC5sZW5ndGgvMy9vLGY9RHQuY3JlYXRlVHlwZWRBcnJheShyLDIqbyoocysxKSksdSxjLGw9MDt1PTA7bGV0IHA9dSpvO2ZvcihjPTA7YzxvLTE7YysrKWZbbCsrXT1jK3AsZltsKytdPWMrcCsxO2ZvcihmW2wrK109by0xK3AsZltsKytdPXAsdT1zLTEscD11Km8sYz0wO2M8by0xO2MrKylmW2wrK109YytwLGZbbCsrXT1jK3ArMTtmb3IoZltsKytdPW8tMStwLGZbbCsrXT1wLHU9MDt1PHMtMTt1Kyspe2xldCBtPW8qdSxfPW0rbztmb3IoYz0wO2M8bztjKyspZltsKytdPWMrbSxmW2wrK109YytffXJldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6bixpbmRpY2VzOkR0LmNyZWF0ZVR5cGVkQXJyYXkocixmKSxib3VuZGluZ1NwaGVyZTpBdC5mcm9tVmVydGljZXModCkscHJpbWl0aXZlVHlwZTpCdC5MSU5FU30pfWZ1bmN0aW9uIGV1KHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvbHlsaW5lUG9zaXRpb25zLG49dC5zaGFwZVBvc2l0aW9ucztpZighaChlKSl0aHJvdyBuZXcgQigib3B0aW9ucy5wb2x5bGluZVBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigib3B0aW9ucy5zaGFwZVBvc2l0aW9ucyBpcyByZXF1aXJlZC4iKTt0aGlzLl9wb3NpdGlvbnM9ZSx0aGlzLl9zaGFwZT1uLHRoaXMuX2VsbGlwc29pZD0kLmNsb25lKHgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSksdGhpcy5fY29ybmVyVHlwZT14KHQuY29ybmVyVHlwZSxmbi5ST1VOREVEKSx0aGlzLl9ncmFudWxhcml0eT14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVBvbHlsaW5lVm9sdW1lT3V0bGluZUdlb21ldHJ5IjtsZXQgbz0xK2UubGVuZ3RoKmEucGFja2VkTGVuZ3RoO28rPTErbi5sZW5ndGgqdHQucGFja2VkTGVuZ3RoLHRoaXMucGFja2VkTGVuZ3RoPW8rJC5wYWNrZWRMZW5ndGgrMn12YXIgVUUsdHUsSkYsVHksVkU9WigoKT0+e2pyKCk7Q2YoKTt2ZSgpO1VlKCk7RnQoKTtGZSgpO2hjKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTskZSgpO1d0KCk7cXIoKTttZCgpO3RuKCk7bGMoKTtldS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtuPXgobiwwKTtsZXQgbyxyPXQuX3Bvc2l0aW9ucyxpPXIubGVuZ3RoO2ZvcihlW24rK109aSxvPTA7bzxpOysrbyxuKz1hLnBhY2tlZExlbmd0aClhLnBhY2socltvXSxlLG4pO2xldCBzPXQuX3NoYXBlO2ZvcihpPXMubGVuZ3RoLGVbbisrXT1pLG89MDtvPGk7KytvLG4rPXR0LnBhY2tlZExlbmd0aCl0dC5wYWNrKHNbb10sZSxuKTtyZXR1cm4gJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll9jb3JuZXJUeXBlLGVbbl09dC5fZ3JhbnVsYXJpdHksZX07VUU9JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSx0dT17cG9seWxpbmVQb3NpdGlvbnM6dm9pZCAwLHNoYXBlUG9zaXRpb25zOnZvaWQgMCxlbGxpcHNvaWQ6VUUsaGVpZ2h0OnZvaWQgMCxjb3JuZXJUeXBlOnZvaWQgMCxncmFudWxhcml0eTp2b2lkIDB9O2V1LnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG8scj10W2UrK10saT1uZXcgQXJyYXkocik7Zm9yKG89MDtvPHI7KytvLGUrPWEucGFja2VkTGVuZ3RoKWlbb109YS51bnBhY2sodCxlKTtyPXRbZSsrXTtsZXQgcz1uZXcgQXJyYXkocik7Zm9yKG89MDtvPHI7KytvLGUrPXR0LnBhY2tlZExlbmd0aClzW29dPXR0LnVucGFjayh0LGUpO2xldCBmPSQudW5wYWNrKHQsZSxVRSk7ZSs9JC5wYWNrZWRMZW5ndGg7bGV0IHU9dFtlKytdLGM9dFtlXTtyZXR1cm4gaChuKT8obi5fcG9zaXRpb25zPWksbi5fc2hhcGU9cyxuLl9lbGxpcHNvaWQ9JC5jbG9uZShmLG4uX2VsbGlwc29pZCksbi5fY29ybmVyVHlwZT11LG4uX2dyYW51bGFyaXR5PWMsbik6KHR1LnBvbHlsaW5lUG9zaXRpb25zPWksdHUuc2hhcGVQb3NpdGlvbnM9cyx0dS5jb3JuZXJUeXBlPXUsdHUuZ3JhbnVsYXJpdHk9YyxuZXcgZXUodHUpKX07SkY9bmV3IEhyO2V1LmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3Bvc2l0aW9ucyxuPXhuKGUsYS5lcXVhbHNFcHNpbG9uKSxvPXQuX3NoYXBlO2lmKG89aHMucmVtb3ZlRHVwbGljYXRlc0Zyb21TaGFwZShvKSxuLmxlbmd0aDwyfHxvLmxlbmd0aDwzKXJldHVybjtQZS5jb21wdXRlV2luZGluZ09yZGVyMkQobyk9PT1Dby5DTE9DS1dJU0UmJm8ucmV2ZXJzZSgpO2xldCByPUhyLmZyb21Qb2ludHMobyxKRiksaT1ocy5jb21wdXRlUG9zaXRpb25zKG4sbyxyLHQsITEpO3JldHVybiBRRihpLG8pfTtUeT1ldX0pO3ZhciB3eT17fTtkZSh3eSx7ZGVmYXVsdDooKT0+ZUJ9KTtmdW5jdGlvbiB0Qih0LGUpe3JldHVybiBoKGUpJiYodD1UeS51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxUeS5jcmVhdGVHZW9tZXRyeSh0KX12YXIgZUIsT3k9WigoKT0+e2Z0KCk7WnQoKTtWRSgpO2VCPXRCfSk7ZnVuY3Rpb24gekUodCxlLG4sbyxyLGkscyl7bGV0IGY9TWF0aC5jb3MoZSksdT1vKmYsYz1uKmYsbD1NYXRoLnNpbihlKSxwPW8qbCxkPW4qbDtudS5fZWxsaXBzb2lkPSQuZGVmYXVsdCxTcj1udS5wcm9qZWN0KHQsU3IpLFNyPWEuc3VidHJhY3QoU3IsTGQsU3IpO2xldCBtPVlvLmZyb21Sb3RhdGlvbihlLG9CKTtTcj1Zby5tdWx0aXBseUJ5VmVjdG9yKG0sU3IsU3IpLFNyPWEuYWRkKFNyLExkLFNyKSx0PW51LnVucHJvamVjdChTcix0KSxpLT0xLHMtPTE7bGV0IF89dC5sYXRpdHVkZSxnPV8raSpkLGI9Xy11KnMsVD1fLXUqcytpKmQsTz1NYXRoLm1heChfLGcsYixUKSxFPU1hdGgubWluKF8sZyxiLFQpLHc9dC5sb25naXR1ZGUsQz13K2kqYyxOPXcrcypwLEk9dytzKnAraSpjLEQ9TWF0aC5tYXgodyxDLE4sSSksdj1NYXRoLm1pbih3LEMsTixJKTtyZXR1cm57bm9ydGg6Tyxzb3V0aDpFLGVhc3Q6RCx3ZXN0OnYsZ3JhbllDb3M6dSxncmFuWVNpbjpwLGdyYW5YQ29zOmMsZ3JhblhTaW46ZCxud0Nvcm5lcjp0fX12YXIga0UsR0UsbkIsRXksb0IsU3IsckIsTGQsbnUsZ28sUnk9WigoKT0+e0Z0KCk7SWUoKTtmdCgpO0h0KCk7WnQoKTtTaSgpO1d0KCk7QWYoKTt3bigpO2tFPU1hdGguY29zLEdFPU1hdGguc2luLG5CPU1hdGguc3FydCxFeT17fTtFeS5jb21wdXRlUG9zaXRpb249ZnVuY3Rpb24odCxlLG4sbyxyLGkscyl7bGV0IGY9ZS5yYWRpaVNxdWFyZWQsdT10Lm53Q29ybmVyLGM9dC5ib3VuZGluZ1JlY3RhbmdsZSxsPXUubGF0aXR1ZGUtdC5ncmFuWUNvcypvK3IqdC5ncmFuWFNpbixwPWtFKGwpLGQ9R0UobCksbT1mLnoqZCxfPXUubG9uZ2l0dWRlK28qdC5ncmFuWVNpbityKnQuZ3JhblhDb3MsZz1wKmtFKF8pLGI9cCpHRShfKSxUPWYueCpnLE89Zi55KmIsRT1uQihUKmcrTypiK20qZCk7aWYoaS54PVQvRSxpLnk9Ty9FLGkuej1tL0Usbil7bGV0IHc9dC5zdE53Q29ybmVyO2godyk/KGw9dy5sYXRpdHVkZS10LnN0R3JhbllDb3MqbytyKnQuc3RHcmFuWFNpbixfPXcubG9uZ2l0dWRlK28qdC5zdEdyYW5ZU2luK3IqdC5zdEdyYW5YQ29zLHMueD0oXy10LnN0V2VzdCkqdC5sb25TY2FsYXIscy55PShsLXQuc3RTb3V0aCkqdC5sYXRTY2FsYXIpOihzLng9KF8tYy53ZXN0KSp0LmxvblNjYWxhcixzLnk9KGwtYy5zb3V0aCkqdC5sYXRTY2FsYXIpfX07b0I9bmV3IFlvLFNyPW5ldyBhLHJCPW5ldyBjdCxMZD1uZXcgYSxudT1uZXcgSm47RXkuY29tcHV0ZU9wdGlvbnM9ZnVuY3Rpb24odCxlLG4sbyxyLGkscyl7bGV0IGY9dC5lYXN0LHU9dC53ZXN0LGM9dC5ub3J0aCxsPXQuc291dGgscD0hMSxkPSExO2M9PT1NLlBJX09WRVJfVFdPJiYocD0hMCksbD09PS1NLlBJX09WRVJfVFdPJiYoZD0hMCk7bGV0IG0sXz1jLWw7dT5mP209TS5UV09fUEktdStmOm09Zi11O2xldCBnPU1hdGguY2VpbChtL2UpKzEsYj1NYXRoLmNlaWwoXy9lKSsxLFQ9bS8oZy0xKSxPPV8vKGItMSksRT1OdC5ub3J0aHdlc3QodCxpKSx3PU50LmNlbnRlcih0LHJCKTsobiE9PTB8fG8hPT0wKSYmKHcubG9uZ2l0dWRlPEUubG9uZ2l0dWRlJiYody5sb25naXR1ZGUrPU0uVFdPX1BJKSxudS5fZWxsaXBzb2lkPSQuZGVmYXVsdCxMZD1udS5wcm9qZWN0KHcsTGQpKTtsZXQgQz1PLE49VCxJPTAsRD0wLHY9TnQuY2xvbmUodCxyKSxMPXtncmFuWUNvczpDLGdyYW5ZU2luOkksZ3JhblhDb3M6TixncmFuWFNpbjpELG53Q29ybmVyOkUsYm91bmRpbmdSZWN0YW5nbGU6dix3aWR0aDpnLGhlaWdodDpiLG5vcnRoQ2FwOnAsc291dGhDYXA6ZH07aWYobiE9PTApe2xldCBVPXpFKEUsbixULE8sdyxnLGIpO2lmKGM9VS5ub3J0aCxsPVUuc291dGgsZj1VLmVhc3QsdT1VLndlc3QsYzwtTS5QSV9PVkVSX1RXT3x8Yz5NLlBJX09WRVJfVFdPfHxsPC1NLlBJX09WRVJfVFdPfHxsPk0uUElfT1ZFUl9UV08pdGhyb3cgbmV3IEIoIlJvdGF0ZWQgcmVjdGFuZ2xlIGlzIGludmFsaWQuICBJdCBjcm9zc2VzIG92ZXIgZWl0aGVyIHRoZSBub3J0aCBvciBzb3V0aCBwb2xlLiIpO0wuZ3JhbllDb3M9VS5ncmFuWUNvcyxMLmdyYW5ZU2luPVUuZ3JhbllTaW4sTC5ncmFuWENvcz1VLmdyYW5YQ29zLEwuZ3JhblhTaW49VS5ncmFuWFNpbix2Lm5vcnRoPWMsdi5zb3V0aD1sLHYuZWFzdD1mLHYud2VzdD11fWlmKG8hPT0wKXtuPW4tbztsZXQgVT1OdC5ub3J0aHdlc3QodixzKSxBPXpFKFUsbixULE8sdyxnLGIpO0wuc3RHcmFuWUNvcz1BLmdyYW5ZQ29zLEwuc3RHcmFuWENvcz1BLmdyYW5YQ29zLEwuc3RHcmFuWVNpbj1BLmdyYW5ZU2luLEwuc3RHcmFuWFNpbj1BLmdyYW5YU2luLEwuc3ROd0Nvcm5lcj1VLEwuc3RXZXN0PUEud2VzdCxMLnN0U291dGg9QS5zb3V0aH1yZXR1cm4gTH07Z289RXl9KTtmdW5jdGlvbiBZRSh0LGUpe2xldCBuPW5ldyBVdCh7YXR0cmlidXRlczpuZXcgaWUscHJpbWl0aXZlVHlwZTpCdC5UUklBTkdMRVN9KTtyZXR1cm4gbi5hdHRyaWJ1dGVzLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6ZS5wb3NpdGlvbnN9KSx0Lm5vcm1hbCYmKG4uYXR0cmlidXRlcy5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmUubm9ybWFsc30pKSx0LnRhbmdlbnQmJihuLmF0dHJpYnV0ZXMudGFuZ2VudD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6ZS50YW5nZW50c30pKSx0LmJpdGFuZ2VudCYmKG4uYXR0cmlidXRlcy5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmUuYml0YW5nZW50c30pKSxufWZ1bmN0aW9uIGFCKHQsZSxuLG8pe2xldCByPXQubGVuZ3RoLGk9ZS5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShyKTp2b2lkIDAscz1lLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShyKTp2b2lkIDAsZj1lLmJpdGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KHIpOnZvaWQgMCx1PTAsYz1XRSxsPUtFLHA9cUU7aWYoZS5ub3JtYWx8fGUudGFuZ2VudHx8ZS5iaXRhbmdlbnQpZm9yKGxldCBkPTA7ZDxyO2QrPTMpe2xldCBtPWEuZnJvbUFycmF5KHQsZCxTeSksXz11KzEsZz11KzI7cD1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChtLHApLChlLnRhbmdlbnR8fGUuYml0YW5nZW50KSYmKGEuY3Jvc3MoYS5VTklUX1oscCxsKSxRLm11bHRpcGx5QnlWZWN0b3IobyxsLGwpLGEubm9ybWFsaXplKGwsbCksZS5iaXRhbmdlbnQmJmEubm9ybWFsaXplKGEuY3Jvc3MocCxsLGMpLGMpKSxlLm5vcm1hbCYmKGlbdV09cC54LGlbX109cC55LGlbZ109cC56KSxlLnRhbmdlbnQmJihzW3VdPWwueCxzW19dPWwueSxzW2ddPWwueiksZS5iaXRhbmdlbnQmJihmW3VdPWMueCxmW19dPWMueSxmW2ddPWMueiksdSs9M31yZXR1cm4gWUUoZSx7cG9zaXRpb25zOnQsbm9ybWFsczppLHRhbmdlbnRzOnMsYml0YW5nZW50czpmfSl9ZnVuY3Rpb24gZkIodCxlLG4pe2xldCBvPXQubGVuZ3RoLHI9ZS5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShvKTp2b2lkIDAsaT1lLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShvKTp2b2lkIDAscz1lLmJpdGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KG8pOnZvaWQgMCxmPTAsdT0wLGM9MCxsPSEwLHA9V0UsZD1LRSxtPXFFO2lmKGUubm9ybWFsfHxlLnRhbmdlbnR8fGUuYml0YW5nZW50KWZvcihsZXQgXz0wO188bztfKz02KXtsZXQgZz1hLmZyb21BcnJheSh0LF8sU3kpLGI9YS5mcm9tQXJyYXkodCwoXys2KSVvLEN5KTtpZihsKXtsZXQgVD1hLmZyb21BcnJheSh0LChfKzMpJW8sJEUpO2Euc3VidHJhY3QoYixnLGIpLGEuc3VidHJhY3QoVCxnLFQpLG09YS5ub3JtYWxpemUoYS5jcm9zcyhULGIsbSksbSksbD0hMX1hLmVxdWFsc0Vwc2lsb24oYixnLE0uRVBTSUxPTjEwKSYmKGw9ITApLChlLnRhbmdlbnR8fGUuYml0YW5nZW50KSYmKHA9bi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZyxwKSxlLnRhbmdlbnQmJihkPWEubm9ybWFsaXplKGEuY3Jvc3MocCxtLGQpLGQpKSksZS5ub3JtYWwmJihyW2YrK109bS54LHJbZisrXT1tLnkscltmKytdPW0ueixyW2YrK109bS54LHJbZisrXT1tLnkscltmKytdPW0ueiksZS50YW5nZW50JiYoaVt1KytdPWQueCxpW3UrK109ZC55LGlbdSsrXT1kLnosaVt1KytdPWQueCxpW3UrK109ZC55LGlbdSsrXT1kLnopLGUuYml0YW5nZW50JiYoc1tjKytdPXAueCxzW2MrK109cC55LHNbYysrXT1wLnosc1tjKytdPXAueCxzW2MrK109cC55LHNbYysrXT1wLnopfXJldHVybiBZRShlLHtwb3NpdGlvbnM6dCxub3JtYWxzOnIsdGFuZ2VudHM6aSxiaXRhbmdlbnRzOnN9KX1mdW5jdGlvbiBaRSh0LGUpe2xldCBuPXQuX3ZlcnRleEZvcm1hdCxvPXQuX2VsbGlwc29pZCxyPWUuaGVpZ2h0LGk9ZS53aWR0aCxzPWUubm9ydGhDYXAsZj1lLnNvdXRoQ2FwLHU9MCxjPXIsbD1yLHA9MDtzJiYodT0xLGwtPTEscCs9MSksZiYmKGMtPTEsbC09MSxwKz0xKSxwKz1pKmw7bGV0IGQ9bi5wb3NpdGlvbj9uZXcgRmxvYXQ2NEFycmF5KHAqMyk6dm9pZCAwLG09bi5zdD9uZXcgRmxvYXQzMkFycmF5KHAqMik6dm9pZCAwLF89MCxnPTAsYj1TeSxUPWlCLE89TnVtYmVyLk1BWF9WQUxVRSxFPU51bWJlci5NQVhfVkFMVUUsdz0tTnVtYmVyLk1BWF9WQUxVRSxDPS1OdW1iZXIuTUFYX1ZBTFVFO2ZvcihsZXQgQT11O0E8YzsrK0EpZm9yKGxldCBTPTA7UzxpOysrUylnby5jb21wdXRlUG9zaXRpb24oZSxvLG4uc3QsQSxTLGIsVCksZFtfKytdPWIueCxkW18rK109Yi55LGRbXysrXT1iLnosbi5zdCYmKG1bZysrXT1ULngsbVtnKytdPVQueSxPPU1hdGgubWluKE8sVC54KSxFPU1hdGgubWluKEUsVC55KSx3PU1hdGgubWF4KHcsVC54KSxDPU1hdGgubWF4KEMsVC55KSk7aWYocyYmKGdvLmNvbXB1dGVQb3NpdGlvbihlLG8sbi5zdCwwLDAsYixUKSxkW18rK109Yi54LGRbXysrXT1iLnksZFtfKytdPWIueixuLnN0JiYobVtnKytdPVQueCxtW2crK109VC55LE89VC54LEU9VC55LHc9VC54LEM9VC55KSksZiYmKGdvLmNvbXB1dGVQb3NpdGlvbihlLG8sbi5zdCxyLTEsMCxiLFQpLGRbXysrXT1iLngsZFtfKytdPWIueSxkW19dPWIueixuLnN0JiYobVtnKytdPVQueCxtW2ddPVQueSxPPU1hdGgubWluKE8sVC54KSxFPU1hdGgubWluKEUsVC55KSx3PU1hdGgubWF4KHcsVC54KSxDPU1hdGgubWF4KEMsVC55KSkpLG4uc3QmJihPPDB8fEU8MHx8dz4xfHxDPjEpKWZvcihsZXQgQT0wO0E8bS5sZW5ndGg7QSs9MiltW0FdPShtW0FdLU8pLyh3LU8pLG1bQSsxXT0obVtBKzFdLUUpLyhDLUUpO2xldCBOPWFCKGQsbixvLGUudGFuZ2VudFJvdGF0aW9uTWF0cml4KSxJPTYqKGktMSkqKGwtMSk7cyYmKEkrPTMqKGktMSkpLGYmJihJKz0zKihpLTEpKTtsZXQgRD1EdC5jcmVhdGVUeXBlZEFycmF5KHAsSSksdj0wLEw9MCxVO2ZvcihVPTA7VTxsLTE7KytVKXtmb3IobGV0IEE9MDtBPGktMTsrK0Epe2xldCBTPXYsUD1TK2ksRj1QKzEsaj1TKzE7RFtMKytdPVMsRFtMKytdPVAsRFtMKytdPWosRFtMKytdPWosRFtMKytdPVAsRFtMKytdPUYsKyt2fSsrdn1pZihzfHxmKXtsZXQgQT1wLTEsUz1wLTE7cyYmZiYmKEE9cC0yKTtsZXQgUCxGO2lmKHY9MCxzKWZvcihVPTA7VTxpLTE7VSsrKVA9dixGPVArMSxEW0wrK109QSxEW0wrK109UCxEW0wrK109RiwrK3Y7aWYoZilmb3Iodj0obC0xKSppLFU9MDtVPGktMTtVKyspUD12LEY9UCsxLERbTCsrXT1QLERbTCsrXT1TLERbTCsrXT1GLCsrdn1yZXR1cm4gTi5pbmRpY2VzPUQsbi5zdCYmKE4uYXR0cmlidXRlcy5zdD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkZMT0FULGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Mix2YWx1ZXM6bX0pKSxOfWZ1bmN0aW9uIE1hKHQsZSxuLG8scil7cmV0dXJuIHRbZSsrXT1vW25dLHRbZSsrXT1vW24rMV0sdFtlKytdPW9bbisyXSx0W2UrK109cltuXSx0W2UrK109cltuKzFdLHRbZV09cltuKzJdLHR9ZnVuY3Rpb24gTmEodCxlLG4sbyl7cmV0dXJuIHRbZSsrXT1vW25dLHRbZSsrXT1vW24rMV0sdFtlKytdPW9bbl0sdFtlXT1vW24rMV0sdH1mdW5jdGlvbiB1Qih0LGUpe2xldCBuPXQuX3NoYWRvd1ZvbHVtZSxvPXQuX29mZnNldEF0dHJpYnV0ZSxyPXQuX3ZlcnRleEZvcm1hdCxpPXQuX2V4dHJ1ZGVkSGVpZ2h0LHM9dC5fc3VyZmFjZUhlaWdodCxmPXQuX2VsbGlwc29pZCx1PWUuaGVpZ2h0LGM9ZS53aWR0aCxsO2lmKG4pe2xldCBKdD1kdC5jbG9uZShyLHh5KTtKdC5ub3JtYWw9ITAsdC5fdmVydGV4Rm9ybWF0PUp0fWxldCBwPVpFKHQsZSk7biYmKHQuX3ZlcnRleEZvcm1hdD1yKTtsZXQgZD1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQocC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxzLGYsITEpO2Q9bmV3IEZsb2F0NjRBcnJheShkKTtsZXQgbT1kLmxlbmd0aCxfPW0qMixnPW5ldyBGbG9hdDY0QXJyYXkoXyk7Zy5zZXQoZCk7bGV0IGI9UGUuc2NhbGVUb0dlb2RldGljSGVpZ2h0KHAuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsaSxmKTtnLnNldChiLG0pLHAuYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXM9ZztsZXQgVD1yLm5vcm1hbD9uZXcgRmxvYXQzMkFycmF5KF8pOnZvaWQgMCxPPXIudGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KF8pOnZvaWQgMCxFPXIuYml0YW5nZW50P25ldyBGbG9hdDMyQXJyYXkoXyk6dm9pZCAwLHc9ci5zdD9uZXcgRmxvYXQzMkFycmF5KF8vMyoyKTp2b2lkIDAsQyxOO2lmKHIubm9ybWFsKXtmb3IoTj1wLmF0dHJpYnV0ZXMubm9ybWFsLnZhbHVlcyxULnNldChOKSxsPTA7bDxtO2wrKylOW2xdPS1OW2xdO1Quc2V0KE4sbSkscC5hdHRyaWJ1dGVzLm5vcm1hbC52YWx1ZXM9VH1pZihuKXtOPXAuYXR0cmlidXRlcy5ub3JtYWwudmFsdWVzLHIubm9ybWFsfHwocC5hdHRyaWJ1dGVzLm5vcm1hbD12b2lkIDApO2xldCBKdD1uZXcgRmxvYXQzMkFycmF5KF8pO2ZvcihsPTA7bDxtO2wrKylOW2xdPS1OW2xdO0p0LnNldChOLG0pLHAuYXR0cmlidXRlcy5leHRydWRlRGlyZWN0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpKdH0pfWxldCBJLEQ9aChvKTtpZihEKXtsZXQgSnQ9bS8zKjIsTmU9bmV3IFVpbnQ4QXJyYXkoSnQpO289PT1mZS5UT1A/TmU9TmUuZmlsbCgxLDAsSnQvMik6KEk9bz09PWZlLk5PTkU/MDoxLE5lPU5lLmZpbGwoSSkpLHAuYXR0cmlidXRlcy5hcHBseU9mZnNldD1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LlVOU0lHTkVEX0JZVEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZToxLHZhbHVlczpOZX0pfWlmKHIudGFuZ2VudCl7bGV0IEp0PXAuYXR0cmlidXRlcy50YW5nZW50LnZhbHVlcztmb3IoTy5zZXQoSnQpLGw9MDtsPG07bCsrKUp0W2xdPS1KdFtsXTtPLnNldChKdCxtKSxwLmF0dHJpYnV0ZXMudGFuZ2VudC52YWx1ZXM9T31pZihyLmJpdGFuZ2VudCl7bGV0IEp0PXAuYXR0cmlidXRlcy5iaXRhbmdlbnQudmFsdWVzO0Uuc2V0KEp0KSxFLnNldChKdCxtKSxwLmF0dHJpYnV0ZXMuYml0YW5nZW50LnZhbHVlcz1FfXIuc3QmJihDPXAuYXR0cmlidXRlcy5zdC52YWx1ZXMsdy5zZXQoQyksdy5zZXQoQyxtLzMqMikscC5hdHRyaWJ1dGVzLnN0LnZhbHVlcz13KTtsZXQgdj1wLmluZGljZXMsTD12Lmxlbmd0aCxVPW0vMyxBPUR0LmNyZWF0ZVR5cGVkQXJyYXkoXy8zLEwqMik7Zm9yKEEuc2V0KHYpLGw9MDtsPEw7bCs9MylBW2wrTF09dltsKzJdK1UsQVtsKzErTF09dltsKzFdK1UsQVtsKzIrTF09dltsXStVO3AuaW5kaWNlcz1BO2xldCBTPWUubm9ydGhDYXAsUD1lLnNvdXRoQ2FwLEY9dSxqPTIsSD0wLGs9NCxLPTQ7UyYmKGotPTEsRi09MSxIKz0xLGstPTIsSy09MSksUCYmKGotPTEsRi09MSxIKz0xLGstPTIsSy09MSksSCs9aipjKzIqRi1rO2xldCBYPShIK0spKjIsUj1uZXcgRmxvYXQ2NEFycmF5KFgqMyksb3Q9bj9uZXcgRmxvYXQzMkFycmF5KFgqMyk6dm9pZCAwLGF0PUQ/bmV3IFVpbnQ4QXJyYXkoWCk6dm9pZCAwLHB0PXIuc3Q/bmV3IEZsb2F0MzJBcnJheShYKjIpOnZvaWQgMCx5dD1vPT09ZmUuVE9QO0QmJiF5dCYmKEk9bz09PWZlLkFMTD8xOjAsYXQ9YXQuZmlsbChJKSk7bGV0IHJ0PTAsUHQ9MCxndD0wLEN0PTAsbXQ9YypGLHV0O2ZvcihsPTA7bDxtdDtsKz1jKXV0PWwqMyxSPU1hKFIscnQsdXQsZCxiKSxydCs9NixyLnN0JiYocHQ9TmEocHQsUHQsbCoyLEMpLFB0Kz00KSxuJiYoZ3QrPTMsb3RbZ3QrK109Tlt1dF0sb3RbZ3QrK109Tlt1dCsxXSxvdFtndCsrXT1OW3V0KzJdKSx5dCYmKGF0W0N0KytdPTEsQ3QrPTEpO2lmKFApe2xldCBKdD1TP210KzE6bXQ7Zm9yKHV0PUp0KjMsbD0wO2w8MjtsKyspUj1NYShSLHJ0LHV0LGQsYikscnQrPTYsci5zdCYmKHB0PU5hKHB0LFB0LEp0KjIsQyksUHQrPTQpLG4mJihndCs9MyxvdFtndCsrXT1OW3V0XSxvdFtndCsrXT1OW3V0KzFdLG90W2d0KytdPU5bdXQrMl0pLHl0JiYoYXRbQ3QrK109MSxDdCs9MSl9ZWxzZSBmb3IobD1tdC1jO2w8bXQ7bCsrKXV0PWwqMyxSPU1hKFIscnQsdXQsZCxiKSxydCs9NixyLnN0JiYocHQ9TmEocHQsUHQsbCoyLEMpLFB0Kz00KSxuJiYoZ3QrPTMsb3RbZ3QrK109Tlt1dF0sb3RbZ3QrK109Tlt1dCsxXSxvdFtndCsrXT1OW3V0KzJdKSx5dCYmKGF0W0N0KytdPTEsQ3QrPTEpO2ZvcihsPW10LTE7bD4wO2wtPWMpdXQ9bCozLFI9TWEoUixydCx1dCxkLGIpLHJ0Kz02LHIuc3QmJihwdD1OYShwdCxQdCxsKjIsQyksUHQrPTQpLG4mJihndCs9MyxvdFtndCsrXT1OW3V0XSxvdFtndCsrXT1OW3V0KzFdLG90W2d0KytdPU5bdXQrMl0pLHl0JiYoYXRbQ3QrK109MSxDdCs9MSk7aWYoUyl7bGV0IEp0PW10O2Zvcih1dD1KdCozLGw9MDtsPDI7bCsrKVI9TWEoUixydCx1dCxkLGIpLHJ0Kz02LHIuc3QmJihwdD1OYShwdCxQdCxKdCoyLEMpLFB0Kz00KSxuJiYoZ3QrPTMsb3RbZ3QrK109Tlt1dF0sb3RbZ3QrK109Tlt1dCsxXSxvdFtndCsrXT1OW3V0KzJdKSx5dCYmKGF0W0N0KytdPTEsQ3QrPTEpfWVsc2UgZm9yKGw9Yy0xO2w+PTA7bC0tKXV0PWwqMyxSPU1hKFIscnQsdXQsZCxiKSxydCs9NixyLnN0JiYocHQ9TmEocHQsUHQsbCoyLEMpLFB0Kz00KSxuJiYoZ3QrPTMsb3RbZ3QrK109Tlt1dF0sb3RbZ3QrK109Tlt1dCsxXSxvdFtndCsrXT1OW3V0KzJdKSx5dCYmKGF0W0N0KytdPTEsQ3QrPTEpO2xldCB2dD1mQihSLHIsZik7ci5zdCYmKHZ0LmF0dHJpYnV0ZXMuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOnB0fSkpLG4mJih2dC5hdHRyaWJ1dGVzLmV4dHJ1ZGVEaXJlY3Rpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOm90fSkpLEQmJih2dC5hdHRyaWJ1dGVzLmFwcGx5T2Zmc2V0PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjEsdmFsdWVzOmF0fSkpO2xldCB6dD1EdC5jcmVhdGVUeXBlZEFycmF5KFgsSCo2KSxtZSxjZSxwZSx1ZTttPVIubGVuZ3RoLzM7bGV0IFF0PTA7Zm9yKGw9MDtsPG0tMTtsKz0yKXttZT1sLHVlPShtZSsyKSVtO2xldCBKdD1hLmZyb21BcnJheShSLG1lKjMsQ3kpLE5lPWEuZnJvbUFycmF5KFIsdWUqMywkRSk7YS5lcXVhbHNFcHNpbG9uKEp0LE5lLE0uRVBTSUxPTjEwKXx8KGNlPShtZSsxKSVtLHBlPShjZSsyKSVtLHp0W1F0KytdPW1lLHp0W1F0KytdPWNlLHp0W1F0KytdPXVlLHp0W1F0KytdPXVlLHp0W1F0KytdPWNlLHp0W1F0KytdPXBlKX1yZXR1cm4gdnQuaW5kaWNlcz16dCx2dD1WZS5jb21iaW5lSW5zdGFuY2VzKFtuZXcgY28oe2dlb21ldHJ5OnB9KSxuZXcgY28oe2dlb21ldHJ5OnZ0fSldKSx2dFswXX1mdW5jdGlvbiBQeSh0LGUsbixvLHIpe2lmKG49PT0wKXJldHVybiBOdC5jbG9uZSh0LHIpO2xldCBpPWdvLmNvbXB1dGVPcHRpb25zKHQsZSxuLDAsWEUsUUUpLHM9aS5oZWlnaHQsZj1pLndpZHRoLHU9bEI7cmV0dXJuIGdvLmNvbXB1dGVQb3NpdGlvbihpLG8sITEsMCwwLHVbMF0pLGdvLmNvbXB1dGVQb3NpdGlvbihpLG8sITEsMCxmLTEsdVsxXSksZ28uY29tcHV0ZVBvc2l0aW9uKGksbywhMSxzLTEsMCx1WzJdKSxnby5jb21wdXRlUG9zaXRpb24oaSxvLCExLHMtMSxmLTEsdVszXSksTnQuZnJvbUNhcnRlc2lhbkFycmF5KHUsbyxyKX1mdW5jdGlvbiBtaSh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5yZWN0YW5nbGU7aWYoeS50eXBlT2Yub2JqZWN0KCJyZWN0YW5nbGUiLGUpLE50Ll92YWxpZGF0ZShlKSxlLm5vcnRoPGUuc291dGgpdGhyb3cgbmV3IEIoIm9wdGlvbnMucmVjdGFuZ2xlLm5vcnRoIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9yIGVxdWFsIHRvIG9wdGlvbnMucmVjdGFuZ2xlLnNvdXRoIik7bGV0IG49eCh0LmhlaWdodCwwKSxvPXgodC5leHRydWRlZEhlaWdodCxuKTt0aGlzLl9yZWN0YW5nbGU9TnQuY2xvbmUoZSksdGhpcy5fZ3JhbnVsYXJpdHk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSx0aGlzLl9lbGxpcHNvaWQ9JC5jbG9uZSh4KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCkpLHRoaXMuX3N1cmZhY2VIZWlnaHQ9TWF0aC5tYXgobixvKSx0aGlzLl9yb3RhdGlvbj14KHQucm90YXRpb24sMCksdGhpcy5fc3RSb3RhdGlvbj14KHQuc3RSb3RhdGlvbiwwKSx0aGlzLl92ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoeCh0LnZlcnRleEZvcm1hdCxkdC5ERUZBVUxUKSksdGhpcy5fZXh0cnVkZWRIZWlnaHQ9TWF0aC5taW4obixvKSx0aGlzLl9zaGFkb3dWb2x1bWU9eCh0LnNoYWRvd1ZvbHVtZSwhMSksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlUmVjdGFuZ2xlR2VvbWV0cnkiLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl9yb3RhdGVkUmVjdGFuZ2xlPXZvaWQgMCx0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzPXZvaWQgMH1mdW5jdGlvbiBnQih0KXtpZih0Ll9zdFJvdGF0aW9uPT09MClyZXR1cm5bMCwwLDAsMSwxLDBdO2xldCBlPU50LmNsb25lKHQuX3JlY3RhbmdsZSxIRSksbj10Ll9ncmFudWxhcml0eSxvPXQuX2VsbGlwc29pZCxyPXQuX3JvdGF0aW9uLXQuX3N0Um90YXRpb24saT1QeShlLG4scixvLEhFKSxzPWhCO3NbMF0ueD1pLndlc3Qsc1swXS55PWkuc291dGgsc1sxXS54PWkud2VzdCxzWzFdLnk9aS5ub3J0aCxzWzJdLng9aS5lYXN0LHNbMl0ueT1pLnNvdXRoO2xldCBmPXQucmVjdGFuZ2xlLHU9WW8uZnJvbVJvdGF0aW9uKHQuX3N0Um90YXRpb24sX0IpLGM9TnQuY2VudGVyKGYseUIpO2ZvcihsZXQgXz0wO188MzsrK18pe2xldCBnPXNbX107Zy54LT1jLmxvbmdpdHVkZSxnLnktPWMubGF0aXR1ZGUsWW8ubXVsdGlwbHlCeVZlY3Rvcih1LGcsZyksZy54Kz1jLmxvbmdpdHVkZSxnLnkrPWMubGF0aXR1ZGUsZy54PShnLngtZi53ZXN0KS9mLndpZHRoLGcueT0oZy55LWYuc291dGgpL2YuaGVpZ2h0fWxldCBsPXNbMF0scD1zWzFdLGQ9c1syXSxtPW5ldyBBcnJheSg2KTtyZXR1cm4gdHQucGFjayhsLG0pLHR0LnBhY2socCxtLDIpLHR0LnBhY2soZCxtLDQpLG19dmFyIFN5LHFFLEtFLFdFLFhFLGlCLHNCLGNCLEN5LCRFLHh5LGxCLFFFLHBCLEpFLHRSLFNzLGRCLGpFLG1CLEhFLGhCLF9CLHlCLE15LGVSPVooKCk9Pnt2ZSgpO1VlKCk7RnQoKTtJZSgpO1h0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1hlKCk7WWUoKTthbigpO3NjKCk7TG8oKTtzaSgpOyRlKCk7V3QoKTtBZigpO0JuKCk7cXIoKTt0bigpO0tvKCk7d24oKTtSeSgpO1JvKCk7U3k9bmV3IGEscUU9bmV3IGEsS0U9bmV3IGEsV0U9bmV3IGEsWEU9bmV3IE50LGlCPW5ldyB0dCxzQj1uZXcgQXQsY0I9bmV3IEF0O0N5PW5ldyBhLCRFPW5ldyBhO3h5PW5ldyBkdDtsQj1bbmV3IGEsbmV3IGEsbmV3IGEsbmV3IGFdLFFFPW5ldyBjdCxwQj1uZXcgY3Q7bWkucGFja2VkTGVuZ3RoPU50LnBhY2tlZExlbmd0aCskLnBhY2tlZExlbmd0aCtkdC5wYWNrZWRMZW5ndGgrNzttaS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCkseS5kZWZpbmVkKCJhcnJheSIsZSksbj14KG4sMCksTnQucGFjayh0Ll9yZWN0YW5nbGUsZSxuKSxuKz1OdC5wYWNrZWRMZW5ndGgsJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGR0LnBhY2sodC5fdmVydGV4Rm9ybWF0LGUsbiksbis9ZHQucGFja2VkTGVuZ3RoLGVbbisrXT10Ll9ncmFudWxhcml0eSxlW24rK109dC5fc3VyZmFjZUhlaWdodCxlW24rK109dC5fcm90YXRpb24sZVtuKytdPXQuX3N0Um90YXRpb24sZVtuKytdPXQuX2V4dHJ1ZGVkSGVpZ2h0LGVbbisrXT10Ll9zaGFkb3dWb2x1bWU/MTowLGVbbl09eCh0Ll9vZmZzZXRBdHRyaWJ1dGUsLTEpLGV9O0pFPW5ldyBOdCx0Uj0kLmNsb25lKCQuVU5JVF9TUEhFUkUpLFNzPXtyZWN0YW5nbGU6SkUsZWxsaXBzb2lkOnRSLHZlcnRleEZvcm1hdDp4eSxncmFudWxhcml0eTp2b2lkIDAsaGVpZ2h0OnZvaWQgMCxyb3RhdGlvbjp2b2lkIDAsc3RSb3RhdGlvbjp2b2lkIDAsZXh0cnVkZWRIZWlnaHQ6dm9pZCAwLHNoYWRvd1ZvbHVtZTp2b2lkIDAsb2Zmc2V0QXR0cmlidXRlOnZvaWQgMH07bWkudW5wYWNrPWZ1bmN0aW9uKHQsZSxuKXt5LmRlZmluZWQoImFycmF5Iix0KSxlPXgoZSwwKTtsZXQgbz1OdC51bnBhY2sodCxlLEpFKTtlKz1OdC5wYWNrZWRMZW5ndGg7bGV0IHI9JC51bnBhY2sodCxlLHRSKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgaT1kdC51bnBhY2sodCxlLHh5KTtlKz1kdC5wYWNrZWRMZW5ndGg7bGV0IHM9dFtlKytdLGY9dFtlKytdLHU9dFtlKytdLGM9dFtlKytdLGw9dFtlKytdLHA9dFtlKytdPT09MSxkPXRbZV07cmV0dXJuIGgobik/KG4uX3JlY3RhbmdsZT1OdC5jbG9uZShvLG4uX3JlY3RhbmdsZSksbi5fZWxsaXBzb2lkPSQuY2xvbmUocixuLl9lbGxpcHNvaWQpLG4uX3ZlcnRleEZvcm1hdD1kdC5jbG9uZShpLG4uX3ZlcnRleEZvcm1hdCksbi5fZ3JhbnVsYXJpdHk9cyxuLl9zdXJmYWNlSGVpZ2h0PWYsbi5fcm90YXRpb249dSxuLl9zdFJvdGF0aW9uPWMsbi5fZXh0cnVkZWRIZWlnaHQ9bCxuLl9zaGFkb3dWb2x1bWU9cCxuLl9vZmZzZXRBdHRyaWJ1dGU9ZD09PS0xP3ZvaWQgMDpkLG4pOihTcy5ncmFudWxhcml0eT1zLFNzLmhlaWdodD1mLFNzLnJvdGF0aW9uPXUsU3Muc3RSb3RhdGlvbj1jLFNzLmV4dHJ1ZGVkSGVpZ2h0PWwsU3Muc2hhZG93Vm9sdW1lPXAsU3Mub2Zmc2V0QXR0cmlidXRlPWQ9PT0tMT92b2lkIDA6ZCxuZXcgbWkoU3MpKX07bWkuY29tcHV0ZVJlY3RhbmdsZT1mdW5jdGlvbih0LGUpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgbj10LnJlY3RhbmdsZTtpZih5LnR5cGVPZi5vYmplY3QoInJlY3RhbmdsZSIsbiksTnQuX3ZhbGlkYXRlKG4pLG4ubm9ydGg8bi5zb3V0aCl0aHJvdyBuZXcgQigib3B0aW9ucy5yZWN0YW5nbGUubm9ydGggbXVzdCBiZSBncmVhdGVyIHRoYW4gb3IgZXF1YWwgdG8gb3B0aW9ucy5yZWN0YW5nbGUuc291dGgiKTtsZXQgbz14KHQuZ3JhbnVsYXJpdHksTS5SQURJQU5TX1BFUl9ERUdSRUUpLHI9eCh0LmVsbGlwc29pZCwkLmRlZmF1bHQpLGk9eCh0LnJvdGF0aW9uLDApO3JldHVybiBQeShuLG8saSxyLGUpfTtkQj1uZXcgUSxqRT1uZXcgZWUsbUI9bmV3IGN0O21pLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2lmKE0uZXF1YWxzRXBzaWxvbih0Ll9yZWN0YW5nbGUubm9ydGgsdC5fcmVjdGFuZ2xlLnNvdXRoLE0uRVBTSUxPTjEwKXx8TS5lcXVhbHNFcHNpbG9uKHQuX3JlY3RhbmdsZS5lYXN0LHQuX3JlY3RhbmdsZS53ZXN0LE0uRVBTSUxPTjEwKSlyZXR1cm47bGV0IGU9dC5fcmVjdGFuZ2xlLG49dC5fZWxsaXBzb2lkLG89dC5fcm90YXRpb24scj10Ll9zdFJvdGF0aW9uLGk9dC5fdmVydGV4Rm9ybWF0LHM9Z28uY29tcHV0ZU9wdGlvbnMoZSx0Ll9ncmFudWxhcml0eSxvLHIsWEUsUUUscEIpLGY9ZEI7aWYociE9PTB8fG8hPT0wKXtsZXQgbT1OdC5jZW50ZXIoZSxtQiksXz1uLmdlb2RldGljU3VyZmFjZU5vcm1hbENhcnRvZ3JhcGhpYyhtLEN5KTtlZS5mcm9tQXhpc0FuZ2xlKF8sLXIsakUpLFEuZnJvbVF1YXRlcm5pb24oakUsZil9ZWxzZSBRLmNsb25lKFEuSURFTlRJVFksZik7bGV0IHU9dC5fc3VyZmFjZUhlaWdodCxjPXQuX2V4dHJ1ZGVkSGVpZ2h0LGw9IU0uZXF1YWxzRXBzaWxvbih1LGMsMCxNLkVQU0lMT04yKTtzLmxvblNjYWxhcj0xL3QuX3JlY3RhbmdsZS53aWR0aCxzLmxhdFNjYWxhcj0xL3QuX3JlY3RhbmdsZS5oZWlnaHQscy50YW5nZW50Um90YXRpb25NYXRyaXg9ZjtsZXQgcCxkO2lmKGU9dC5fcmVjdGFuZ2xlLGwpe3A9dUIodCxzKTtsZXQgbT1BdC5mcm9tUmVjdGFuZ2xlM0QoZSxuLHUsY0IpLF89QXQuZnJvbVJlY3RhbmdsZTNEKGUsbixjLHNCKTtkPUF0LnVuaW9uKG0sXyl9ZWxzZXtpZihwPVpFKHQscykscC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQocC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyx1LG4sITEpLGgodC5fb2Zmc2V0QXR0cmlidXRlKSl7bGV0IG09cC5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcy5sZW5ndGgsXz10Ll9vZmZzZXRBdHRyaWJ1dGU9PT1mZS5OT05FPzA6MSxnPW5ldyBVaW50OEFycmF5KG0vMykuZmlsbChfKTtwLmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6Z30pfWQ9QXQuZnJvbVJlY3RhbmdsZTNEKGUsbix1KX1yZXR1cm4gaS5wb3NpdGlvbnx8ZGVsZXRlIHAuYXR0cmlidXRlcy5wb3NpdGlvbixuZXcgVXQoe2F0dHJpYnV0ZXM6cC5hdHRyaWJ1dGVzLGluZGljZXM6cC5pbmRpY2VzLHByaW1pdGl2ZVR5cGU6cC5wcmltaXRpdmVUeXBlLGJvdW5kaW5nU3BoZXJlOmQsb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTttaS5jcmVhdGVTaGFkb3dWb2x1bWU9ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQuX2dyYW51bGFyaXR5LHI9dC5fZWxsaXBzb2lkLGk9ZShvLHIpLHM9bihvLHIpO3JldHVybiBuZXcgbWkoe3JlY3RhbmdsZTp0Ll9yZWN0YW5nbGUscm90YXRpb246dC5fcm90YXRpb24sZWxsaXBzb2lkOnIsc3RSb3RhdGlvbjp0Ll9zdFJvdGF0aW9uLGdyYW51bGFyaXR5Om8sZXh0cnVkZWRIZWlnaHQ6cyxoZWlnaHQ6aSx2ZXJ0ZXhGb3JtYXQ6ZHQuUE9TSVRJT05fT05MWSxzaGFkb3dWb2x1bWU6ITB9KX07SEU9bmV3IE50LGhCPVtuZXcgdHQsbmV3IHR0LG5ldyB0dF0sX0I9bmV3IFlvLHlCPW5ldyBjdDtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhtaS5wcm90b3R5cGUse3JlY3RhbmdsZTp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcy5fcm90YXRlZFJlY3RhbmdsZSl8fCh0aGlzLl9yb3RhdGVkUmVjdGFuZ2xlPVB5KHRoaXMuX3JlY3RhbmdsZSx0aGlzLl9ncmFudWxhcml0eSx0aGlzLl9yb3RhdGlvbix0aGlzLl9lbGxpcHNvaWQpKSx0aGlzLl9yb3RhdGVkUmVjdGFuZ2xlfX0sdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50czp7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcy5fdGV4dHVyZUNvb3JkaW5hdGVSb3RhdGlvblBvaW50cyl8fCh0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzPWdCKHRoaXMpKSx0aGlzLl90ZXh0dXJlQ29vcmRpbmF0ZVJvdGF0aW9uUG9pbnRzfX19KTtNeT1taX0pO3ZhciBOeT17fTtkZShOeSx7ZGVmYXVsdDooKT0+YkJ9KTtmdW5jdGlvbiBBQih0LGUpe3JldHVybiBoKGUpJiYodD1NeS51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSx0Ll9yZWN0YW5nbGU9TnQuY2xvbmUodC5fcmVjdGFuZ2xlKSxNeS5jcmVhdGVHZW9tZXRyeSh0KX12YXIgYkIsSXk9WigoKT0+e2Z0KCk7WnQoKTt3bigpO2VSKCk7YkI9QUJ9KTtmdW5jdGlvbiBuUih0LGUpe2xldCBuPXQuX2VsbGlwc29pZCxvPWUuaGVpZ2h0LHI9ZS53aWR0aCxpPWUubm9ydGhDYXAscz1lLnNvdXRoQ2FwLGY9byx1PTIsYz0wLGw9NDtpJiYodS09MSxmLT0xLGMrPTEsbC09MikscyYmKHUtPTEsZi09MSxjKz0xLGwtPTIpLGMrPXUqcisyKmYtbDtsZXQgcD1uZXcgRmxvYXQ2NEFycmF5KGMqMyksZD0wLG09MCxfLGc9T0I7aWYoaSlnby5jb21wdXRlUG9zaXRpb24oZSxuLCExLG0sMCxnKSxwW2QrK109Zy54LHBbZCsrXT1nLnkscFtkKytdPWcuejtlbHNlIGZvcihfPTA7XzxyO18rKylnby5jb21wdXRlUG9zaXRpb24oZSxuLCExLG0sXyxnKSxwW2QrK109Zy54LHBbZCsrXT1nLnkscFtkKytdPWcuejtmb3IoXz1yLTEsbT0xO208bzttKyspZ28uY29tcHV0ZVBvc2l0aW9uKGUsbiwhMSxtLF8sZykscFtkKytdPWcueCxwW2QrK109Zy55LHBbZCsrXT1nLno7aWYobT1vLTEsIXMpZm9yKF89ci0yO18+PTA7Xy0tKWdvLmNvbXB1dGVQb3NpdGlvbihlLG4sITEsbSxfLGcpLHBbZCsrXT1nLngscFtkKytdPWcueSxwW2QrK109Zy56O2ZvcihfPTAsbT1vLTI7bT4wO20tLSlnby5jb21wdXRlUG9zaXRpb24oZSxuLCExLG0sXyxnKSxwW2QrK109Zy54LHBbZCsrXT1nLnkscFtkKytdPWcuejtsZXQgYj1wLmxlbmd0aC8zKjIsVD1EdC5jcmVhdGVUeXBlZEFycmF5KHAubGVuZ3RoLzMsYiksTz0wO2ZvcihsZXQgdz0wO3c8cC5sZW5ndGgvMy0xO3crKylUW08rK109dyxUW08rK109dysxO1RbTysrXT1wLmxlbmd0aC8zLTEsVFtPKytdPTA7bGV0IEU9bmV3IFV0KHthdHRyaWJ1dGVzOm5ldyBpZSxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTfSk7cmV0dXJuIEUuYXR0cmlidXRlcy5wb3NpdGlvbj1uZXcgaXQoe2NvbXBvbmVudERhdGF0eXBlOm50LkRPVUJMRSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOnB9KSxFLmluZGljZXM9VCxFfWZ1bmN0aW9uIFJCKHQsZSl7bGV0IG49dC5fc3VyZmFjZUhlaWdodCxvPXQuX2V4dHJ1ZGVkSGVpZ2h0LHI9dC5fZWxsaXBzb2lkLGk9blIodCxlKSxzPWUuaGVpZ2h0LGY9ZS53aWR0aCx1PVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChpLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLG4sciwhMSksYz11Lmxlbmd0aCxsPW5ldyBGbG9hdDY0QXJyYXkoYyoyKTtsLnNldCh1KTtsZXQgcD1QZS5zY2FsZVRvR2VvZGV0aWNIZWlnaHQoaS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxvLHIpO2wuc2V0KHAsYyksaS5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcz1sO2xldCBkPWUubm9ydGhDYXAsbT1lLnNvdXRoQ2FwLF89NDtkJiYoXy09MSksbSYmKF8tPTEpO2xldCBnPShsLmxlbmd0aC8zK18pKjIsYj1EdC5jcmVhdGVUeXBlZEFycmF5KGwubGVuZ3RoLzMsZyk7Yz1sLmxlbmd0aC82O2xldCBUPTA7Zm9yKGxldCBFPTA7RTxjLTE7RSsrKWJbVCsrXT1FLGJbVCsrXT1FKzEsYltUKytdPUUrYyxiW1QrK109RStjKzE7YltUKytdPWMtMSxiW1QrK109MCxiW1QrK109YytjLTEsYltUKytdPWMsYltUKytdPTAsYltUKytdPWM7bGV0IE87aWYoZClPPXMtMTtlbHNle2xldCBFPWYtMTtiW1QrK109RSxiW1QrK109RStjLE89ZitzLTJ9aWYoYltUKytdPU8sYltUKytdPU8rYywhbSl7bGV0IEU9ZitPLTE7YltUKytdPUUsYltUXT1FK2N9cmV0dXJuIGkuaW5kaWNlcz1iLGl9ZnVuY3Rpb24gdmEodCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucmVjdGFuZ2xlLG49eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxvPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxyPXgodC5yb3RhdGlvbiwwKTtpZighaChlKSl0aHJvdyBuZXcgQigicmVjdGFuZ2xlIGlzIHJlcXVpcmVkLiIpO2lmKE50Ll92YWxpZGF0ZShlKSxlLm5vcnRoPGUuc291dGgpdGhyb3cgbmV3IEIoIm9wdGlvbnMucmVjdGFuZ2xlLm5vcnRoIG11c3QgYmUgZ3JlYXRlciB0aGFuIG9wdGlvbnMucmVjdGFuZ2xlLnNvdXRoIik7bGV0IGk9eCh0LmhlaWdodCwwKSxzPXgodC5leHRydWRlZEhlaWdodCxpKTt0aGlzLl9yZWN0YW5nbGU9TnQuY2xvbmUoZSksdGhpcy5fZ3JhbnVsYXJpdHk9bix0aGlzLl9lbGxpcHNvaWQ9byx0aGlzLl9zdXJmYWNlSGVpZ2h0PU1hdGgubWF4KGkscyksdGhpcy5fcm90YXRpb249cix0aGlzLl9leHRydWRlZEhlaWdodD1NYXRoLm1pbihpLHMpLHRoaXMuX29mZnNldEF0dHJpYnV0ZT10Lm9mZnNldEF0dHJpYnV0ZSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVSZWN0YW5nbGVPdXRsaW5lR2VvbWV0cnkifXZhciBUQix3QixPQixFQixvUixyUixJYSxTQix2eSxpUj1aKCgpPT57dmUoKTtGdCgpO0llKCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1hlKCk7WWUoKTthbigpO0xvKCk7JGUoKTtXdCgpO3FyKCk7dG4oKTt3bigpO1J5KCk7VEI9bmV3IEF0LHdCPW5ldyBBdCxPQj1uZXcgYSxFQj1uZXcgTnQ7dmEucGFja2VkTGVuZ3RoPU50LnBhY2tlZExlbmd0aCskLnBhY2tlZExlbmd0aCs1O3ZhLnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ2YWx1ZSBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJhcnJheSBpcyByZXF1aXJlZCIpO3JldHVybiBuPXgobiwwKSxOdC5wYWNrKHQuX3JlY3RhbmdsZSxlLG4pLG4rPU50LnBhY2tlZExlbmd0aCwkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZVtuKytdPXQuX2dyYW51bGFyaXR5LGVbbisrXT10Ll9zdXJmYWNlSGVpZ2h0LGVbbisrXT10Ll9yb3RhdGlvbixlW24rK109dC5fZXh0cnVkZWRIZWlnaHQsZVtuXT14KHQuX29mZnNldEF0dHJpYnV0ZSwtMSksZX07b1I9bmV3IE50LHJSPSQuY2xvbmUoJC5VTklUX1NQSEVSRSksSWE9e3JlY3RhbmdsZTpvUixlbGxpcHNvaWQ6clIsZ3JhbnVsYXJpdHk6dm9pZCAwLGhlaWdodDp2b2lkIDAscm90YXRpb246dm9pZCAwLGV4dHJ1ZGVkSGVpZ2h0OnZvaWQgMCxvZmZzZXRBdHRyaWJ1dGU6dm9pZCAwfTt2YS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvPU50LnVucGFjayh0LGUsb1IpO2UrPU50LnBhY2tlZExlbmd0aDtsZXQgcj0kLnVucGFjayh0LGUsclIpO2UrPSQucGFja2VkTGVuZ3RoO2xldCBpPXRbZSsrXSxzPXRbZSsrXSxmPXRbZSsrXSx1PXRbZSsrXSxjPXRbZV07cmV0dXJuIGgobik/KG4uX3JlY3RhbmdsZT1OdC5jbG9uZShvLG4uX3JlY3RhbmdsZSksbi5fZWxsaXBzb2lkPSQuY2xvbmUocixuLl9lbGxpcHNvaWQpLG4uX3N1cmZhY2VIZWlnaHQ9cyxuLl9yb3RhdGlvbj1mLG4uX2V4dHJ1ZGVkSGVpZ2h0PXUsbi5fb2Zmc2V0QXR0cmlidXRlPWM9PT0tMT92b2lkIDA6YyxuKTooSWEuZ3JhbnVsYXJpdHk9aSxJYS5oZWlnaHQ9cyxJYS5yb3RhdGlvbj1mLElhLmV4dHJ1ZGVkSGVpZ2h0PXUsSWEub2Zmc2V0QXR0cmlidXRlPWM9PT0tMT92b2lkIDA6YyxuZXcgdmEoSWEpKX07U0I9bmV3IGN0O3ZhLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3JlY3RhbmdsZSxuPXQuX2VsbGlwc29pZCxvPWdvLmNvbXB1dGVPcHRpb25zKGUsdC5fZ3JhbnVsYXJpdHksdC5fcm90YXRpb24sMCxFQixTQikscixpO2lmKE0uZXF1YWxzRXBzaWxvbihlLm5vcnRoLGUuc291dGgsTS5FUFNJTE9OMTApfHxNLmVxdWFsc0Vwc2lsb24oZS5lYXN0LGUud2VzdCxNLkVQU0lMT04xMCkpcmV0dXJuO2xldCBzPXQuX3N1cmZhY2VIZWlnaHQsZj10Ll9leHRydWRlZEhlaWdodCx1PSFNLmVxdWFsc0Vwc2lsb24ocyxmLDAsTS5FUFNJTE9OMiksYztpZih1KXtpZihyPVJCKHQsbyksaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgZD1yLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aC8zLG09bmV3IFVpbnQ4QXJyYXkoZCk7dC5fb2Zmc2V0QXR0cmlidXRlPT09ZmUuVE9QP209bS5maWxsKDEsMCxkLzIpOihjPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxLG09bS5maWxsKGMpKSxyLmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6bX0pfWxldCBsPUF0LmZyb21SZWN0YW5nbGUzRChlLG4scyx3QikscD1BdC5mcm9tUmVjdGFuZ2xlM0QoZSxuLGYsVEIpO2k9QXQudW5pb24obCxwKX1lbHNle2lmKHI9blIodCxvKSxyLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzPVBlLnNjYWxlVG9HZW9kZXRpY0hlaWdodChyLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLHMsbiwhMSksaCh0Ll9vZmZzZXRBdHRyaWJ1dGUpKXtsZXQgbD1yLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLmxlbmd0aDtjPXQuX29mZnNldEF0dHJpYnV0ZT09PWZlLk5PTkU/MDoxO2xldCBwPW5ldyBVaW50OEFycmF5KGwvMykuZmlsbChjKTtyLmF0dHJpYnV0ZXMuYXBwbHlPZmZzZXQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5VTlNJR05FRF9CWVRFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6MSx2YWx1ZXM6cH0pfWk9QXQuZnJvbVJlY3RhbmdsZTNEKGUsbixzKX1yZXR1cm4gbmV3IFV0KHthdHRyaWJ1dGVzOnIuYXR0cmlidXRlcyxpbmRpY2VzOnIuaW5kaWNlcyxwcmltaXRpdmVUeXBlOkJ0LkxJTkVTLGJvdW5kaW5nU3BoZXJlOmksb2Zmc2V0QXR0cmlidXRlOnQuX29mZnNldEF0dHJpYnV0ZX0pfTt2eT12YX0pO3ZhciBMeT17fTtkZShMeSx7ZGVmYXVsdDooKT0+eEJ9KTtmdW5jdGlvbiBDQih0LGUpe3JldHVybiBoKGUpJiYodD12eS51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSx0Ll9yZWN0YW5nbGU9TnQuY2xvbmUodC5fcmVjdGFuZ2xlKSx2eS5jcmVhdGVHZW9tZXRyeSh0KX12YXIgeEIsRHk9WigoKT0+e2Z0KCk7WnQoKTt3bigpO2lSKCk7eEI9Q0J9KTtmdW5jdGlvbiBQQih0LGUsbixvLHIsaSxzKXtsZXQgZj1Bbi5udW1iZXJPZlBvaW50cyh0LGUsciksdSxjPW4ucmVkLGw9bi5ncmVlbixwPW4uYmx1ZSxkPW4uYWxwaGEsbT1vLnJlZCxfPW8uZ3JlZW4sZz1vLmJsdWUsYj1vLmFscGhhO2lmKG9lLmVxdWFscyhuLG8pKXtmb3IodT0wO3U8Zjt1KyspaVtzKytdPW9lLmZsb2F0VG9CeXRlKGMpLGlbcysrXT1vZS5mbG9hdFRvQnl0ZShsKSxpW3MrK109b2UuZmxvYXRUb0J5dGUocCksaVtzKytdPW9lLmZsb2F0VG9CeXRlKGQpO3JldHVybiBzfWxldCBUPShtLWMpL2YsTz0oXy1sKS9mLEU9KGctcCkvZix3PShiLWQpL2YsQz1zO2Zvcih1PTA7dTxmO3UrKylpW0MrK109b2UuZmxvYXRUb0J5dGUoYyt1KlQpLGlbQysrXT1vZS5mbG9hdFRvQnl0ZShsK3UqTyksaVtDKytdPW9lLmZsb2F0VG9CeXRlKHArdSpFKSxpW0MrK109b2UuZmxvYXRUb0J5dGUoZCt1KncpO3JldHVybiBDfWZ1bmN0aW9uIG91KHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvc2l0aW9ucyxuPXQuY29sb3JzLG89eCh0LmNvbG9yc1BlclZlcnRleCwhMSk7aWYoIWgoZSl8fGUubGVuZ3RoPDIpdGhyb3cgbmV3IEIoIkF0IGxlYXN0IHR3byBwb3NpdGlvbnMgYXJlIHJlcXVpcmVkLiIpO2lmKGgobikmJihvJiZuLmxlbmd0aDxlLmxlbmd0aHx8IW8mJm4ubGVuZ3RoPGUubGVuZ3RoLTEpKXRocm93IG5ldyBCKCJjb2xvcnMgaGFzIGFuIGludmFsaWQgbGVuZ3RoLiIpO3RoaXMuX3Bvc2l0aW9ucz1lLHRoaXMuX2NvbG9ycz1uLHRoaXMuX2NvbG9yc1BlclZlcnRleD1vLHRoaXMuX2FyY1R5cGU9eCh0LmFyY1R5cGUsX2UuR0VPREVTSUMpLHRoaXMuX2dyYW51bGFyaXR5PXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSksdGhpcy5fZWxsaXBzb2lkPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSx0aGlzLl93b3JrZXJOYW1lPSJjcmVhdGVTaW1wbGVQb2x5bGluZUdlb21ldHJ5IjtsZXQgcj0xK2UubGVuZ3RoKmEucGFja2VkTGVuZ3RoO3IrPWgobik/MStuLmxlbmd0aCpvZS5wYWNrZWRMZW5ndGg6MSx0aGlzLnBhY2tlZExlbmd0aD1yKyQucGFja2VkTGVuZ3RoKzN9dmFyIERkLEZkLE1CLEZ5LHNSPVooKCk9PntmYygpO3ZlKCk7RnQoKTtQYSgpO0ZlKCk7SXQoKTtmdCgpO0h0KCk7WnQoKTtYZSgpO1llKCk7YW4oKTskZSgpO1d0KCk7eWEoKTt0bigpO291LnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ2YWx1ZSBpcyByZXF1aXJlZCIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJhcnJheSBpcyByZXF1aXJlZCIpO249eChuLDApO2xldCBvLHI9dC5fcG9zaXRpb25zLGk9ci5sZW5ndGg7Zm9yKGVbbisrXT1pLG89MDtvPGk7KytvLG4rPWEucGFja2VkTGVuZ3RoKWEucGFjayhyW29dLGUsbik7bGV0IHM9dC5fY29sb3JzO2ZvcihpPWgocyk/cy5sZW5ndGg6MCxlW24rK109aSxvPTA7bzxpOysrbyxuKz1vZS5wYWNrZWRMZW5ndGgpb2UucGFjayhzW29dLGUsbik7cmV0dXJuICQucGFjayh0Ll9lbGxpcHNvaWQsZSxuKSxuKz0kLnBhY2tlZExlbmd0aCxlW24rK109dC5fY29sb3JzUGVyVmVydGV4PzE6MCxlW24rK109dC5fYXJjVHlwZSxlW25dPXQuX2dyYW51bGFyaXR5LGV9O291LnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG8scj10W2UrK10saT1uZXcgQXJyYXkocik7Zm9yKG89MDtvPHI7KytvLGUrPWEucGFja2VkTGVuZ3RoKWlbb109YS51bnBhY2sodCxlKTtyPXRbZSsrXTtsZXQgcz1yPjA/bmV3IEFycmF5KHIpOnZvaWQgMDtmb3Iobz0wO288cjsrK28sZSs9b2UucGFja2VkTGVuZ3RoKXNbb109b2UudW5wYWNrKHQsZSk7bGV0IGY9JC51bnBhY2sodCxlKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgdT10W2UrK109PT0xLGM9dFtlKytdLGw9dFtlXTtyZXR1cm4gaChuKT8obi5fcG9zaXRpb25zPWksbi5fY29sb3JzPXMsbi5fZWxsaXBzb2lkPWYsbi5fY29sb3JzUGVyVmVydGV4PXUsbi5fYXJjVHlwZT1jLG4uX2dyYW51bGFyaXR5PWwsbik6bmV3IG91KHtwb3NpdGlvbnM6aSxjb2xvcnM6cyxlbGxpcHNvaWQ6Zixjb2xvcnNQZXJWZXJ0ZXg6dSxhcmNUeXBlOmMsZ3JhbnVsYXJpdHk6bH0pfTtEZD1uZXcgQXJyYXkoMiksRmQ9bmV3IEFycmF5KDIpLE1CPXtwb3NpdGlvbnM6RGQsaGVpZ2h0OkZkLGVsbGlwc29pZDp2b2lkIDAsbWluRGlzdGFuY2U6dm9pZCAwLGdyYW51bGFyaXR5OnZvaWQgMH07b3UuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fcG9zaXRpb25zLG49dC5fY29sb3JzLG89dC5fY29sb3JzUGVyVmVydGV4LHI9dC5fYXJjVHlwZSxpPXQuX2dyYW51bGFyaXR5LHM9dC5fZWxsaXBzb2lkLGY9TS5jaG9yZExlbmd0aChpLHMubWF4aW11bVJhZGl1cyksdT1oKG4pJiYhbyxjLGw9ZS5sZW5ndGgscCxkLG0sXyxnPTA7aWYocj09PV9lLkdFT0RFU0lDfHxyPT09X2UuUkhVTUIpe2xldCB3LEMsTjtyPT09X2UuR0VPREVTSUM/KHc9TS5jaG9yZExlbmd0aChpLHMubWF4aW11bVJhZGl1cyksQz1Bbi5udW1iZXJPZlBvaW50cyxOPUFuLmdlbmVyYXRlQXJjKToodz1pLEM9QW4ubnVtYmVyT2ZQb2ludHNSaHVtYkxpbmUsTj1Bbi5nZW5lcmF0ZVJodW1iQXJjKTtsZXQgST1Bbi5leHRyYWN0SGVpZ2h0cyhlLHMpLEQ9TUI7aWYocj09PV9lLkdFT0RFU0lDP0QubWluRGlzdGFuY2U9ZjpELmdyYW51bGFyaXR5PWksRC5lbGxpcHNvaWQ9cyx1KXtsZXQgdj0wO2ZvcihjPTA7YzxsLTE7YysrKXYrPUMoZVtjXSxlW2MrMV0sdykrMTtwPW5ldyBGbG9hdDY0QXJyYXkodiozKSxtPW5ldyBVaW50OEFycmF5KHYqNCksRC5wb3NpdGlvbnM9RGQsRC5oZWlnaHQ9RmQ7bGV0IEw9MDtmb3IoYz0wO2M8bC0xOysrYyl7RGRbMF09ZVtjXSxEZFsxXT1lW2MrMV0sRmRbMF09SVtjXSxGZFsxXT1JW2MrMV07bGV0IFU9TihEKTtpZihoKG4pKXtsZXQgQT1VLmxlbmd0aC8zO189bltjXTtmb3IobGV0IFM9MDtTPEE7KytTKW1bTCsrXT1vZS5mbG9hdFRvQnl0ZShfLnJlZCksbVtMKytdPW9lLmZsb2F0VG9CeXRlKF8uZ3JlZW4pLG1bTCsrXT1vZS5mbG9hdFRvQnl0ZShfLmJsdWUpLG1bTCsrXT1vZS5mbG9hdFRvQnl0ZShfLmFscGhhKX1wLnNldChVLGcpLGcrPVUubGVuZ3RofX1lbHNlIGlmKEQucG9zaXRpb25zPWUsRC5oZWlnaHQ9SSxwPW5ldyBGbG9hdDY0QXJyYXkoTihEKSksaChuKSl7Zm9yKG09bmV3IFVpbnQ4QXJyYXkocC5sZW5ndGgvMyo0KSxjPTA7YzxsLTE7KytjKXtsZXQgTD1lW2NdLFU9ZVtjKzFdLEE9bltjXSxTPW5bYysxXTtnPVBCKEwsVSxBLFMsZixtLGcpfWxldCB2PW5bbC0xXTttW2crK109b2UuZmxvYXRUb0J5dGUodi5yZWQpLG1bZysrXT1vZS5mbG9hdFRvQnl0ZSh2LmdyZWVuKSxtW2crK109b2UuZmxvYXRUb0J5dGUodi5ibHVlKSxtW2crK109b2UuZmxvYXRUb0J5dGUodi5hbHBoYSl9fWVsc2V7ZD11P2wqMi0yOmwscD1uZXcgRmxvYXQ2NEFycmF5KGQqMyksbT1oKG4pP25ldyBVaW50OEFycmF5KGQqNCk6dm9pZCAwO2xldCB3PTAsQz0wO2ZvcihjPTA7YzxsOysrYyl7bGV0IE49ZVtjXTtpZih1JiZjPjAmJihhLnBhY2soTixwLHcpLHcrPTMsXz1uW2MtMV0sbVtDKytdPW9lLmZsb2F0VG9CeXRlKF8ucmVkKSxtW0MrK109b2UuZmxvYXRUb0J5dGUoXy5ncmVlbiksbVtDKytdPW9lLmZsb2F0VG9CeXRlKF8uYmx1ZSksbVtDKytdPW9lLmZsb2F0VG9CeXRlKF8uYWxwaGEpKSx1JiZjPT09bC0xKWJyZWFrO2EucGFjayhOLHAsdyksdys9MyxoKG4pJiYoXz1uW2NdLG1bQysrXT1vZS5mbG9hdFRvQnl0ZShfLnJlZCksbVtDKytdPW9lLmZsb2F0VG9CeXRlKF8uZ3JlZW4pLG1bQysrXT1vZS5mbG9hdFRvQnl0ZShfLmJsdWUpLG1bQysrXT1vZS5mbG9hdFRvQnl0ZShfLmFscGhhKSl9fWxldCBiPW5ldyBpZTtiLnBvc2l0aW9uPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRE9VQkxFLGNvbXBvbmVudHNQZXJBdHRyaWJ1dGU6Myx2YWx1ZXM6cH0pLGgobikmJihiLmNvbG9yPW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuVU5TSUdORURfQllURSxjb21wb25lbnRzUGVyQXR0cmlidXRlOjQsdmFsdWVzOm0sbm9ybWFsaXplOiEwfSkpLGQ9cC5sZW5ndGgvMztsZXQgVD0oZC0xKSoyLE89RHQuY3JlYXRlVHlwZWRBcnJheShkLFQpLEU9MDtmb3IoYz0wO2M8ZC0xOysrYylPW0UrK109YyxPW0UrK109YysxO3JldHVybiBuZXcgVXQoe2F0dHJpYnV0ZXM6YixpbmRpY2VzOk8scHJpbWl0aXZlVHlwZTpCdC5MSU5FUyxib3VuZGluZ1NwaGVyZTpBdC5mcm9tUG9pbnRzKGUpfSl9O0Z5PW91fSk7dmFyIEJ5PXt9O2RlKEJ5LHtkZWZhdWx0OigpPT5JQn0pO2Z1bmN0aW9uIE5CKHQsZSl7cmV0dXJuIGgoZSkmJih0PUZ5LnVucGFjayh0LGUpKSx0Ll9lbGxpcHNvaWQ9JC5jbG9uZSh0Ll9lbGxpcHNvaWQpLEZ5LmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBJQixVeT1aKCgpPT57ZnQoKTtadCgpO3NSKCk7SUI9TkJ9KTtmdW5jdGlvbiBMYSh0KXtsZXQgZT14KHQucmFkaXVzLDEpLG89e3JhZGlpOm5ldyBhKGUsZSxlKSxzdGFja1BhcnRpdGlvbnM6dC5zdGFja1BhcnRpdGlvbnMsc2xpY2VQYXJ0aXRpb25zOnQuc2xpY2VQYXJ0aXRpb25zLHZlcnRleEZvcm1hdDp0LnZlcnRleEZvcm1hdH07dGhpcy5fZWxsaXBzb2lkR2VvbWV0cnk9bmV3IHNyKG8pLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVNwaGVyZUdlb21ldHJ5In12YXIgdkIsQ3MsVnksY1I9WigoKT0+e0Z0KCk7WHQoKTtJdCgpO2Z0KCk7QWQoKTtSbygpO0xhLnBhY2tlZExlbmd0aD1zci5wYWNrZWRMZW5ndGg7TGEucGFjaz1mdW5jdGlvbih0LGUsbil7cmV0dXJuIHkudHlwZU9mLm9iamVjdCgidmFsdWUiLHQpLHNyLnBhY2sodC5fZWxsaXBzb2lkR2VvbWV0cnksZSxuKX07dkI9bmV3IHNyLENzPXtyYWRpdXM6dm9pZCAwLHJhZGlpOm5ldyBhLHZlcnRleEZvcm1hdDpuZXcgZHQsc3RhY2tQYXJ0aXRpb25zOnZvaWQgMCxzbGljZVBhcnRpdGlvbnM6dm9pZCAwfTtMYS51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2xldCBvPXNyLnVucGFjayh0LGUsdkIpO3JldHVybiBDcy52ZXJ0ZXhGb3JtYXQ9ZHQuY2xvbmUoby5fdmVydGV4Rm9ybWF0LENzLnZlcnRleEZvcm1hdCksQ3Muc3RhY2tQYXJ0aXRpb25zPW8uX3N0YWNrUGFydGl0aW9ucyxDcy5zbGljZVBhcnRpdGlvbnM9by5fc2xpY2VQYXJ0aXRpb25zLGgobik/KGEuY2xvbmUoby5fcmFkaWksQ3MucmFkaWkpLG4uX2VsbGlwc29pZEdlb21ldHJ5PW5ldyBzcihDcyksbik6KENzLnJhZGl1cz1vLl9yYWRpaS54LG5ldyBMYShDcykpfTtMYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtyZXR1cm4gc3IuY3JlYXRlR2VvbWV0cnkodC5fZWxsaXBzb2lkR2VvbWV0cnkpfTtWeT1MYX0pO3ZhciBreT17fTtkZShreSx7ZGVmYXVsdDooKT0+REJ9KTtmdW5jdGlvbiBMQih0LGUpe3JldHVybiBoKGUpJiYodD1WeS51bnBhY2sodCxlKSksVnkuY3JlYXRlR2VvbWV0cnkodCl9dmFyIERCLEd5PVooKCk9PntmdCgpO2NSKCk7REI9TEJ9KTtmdW5jdGlvbiBEYSh0KXtsZXQgZT14KHQucmFkaXVzLDEpLG89e3JhZGlpOm5ldyBhKGUsZSxlKSxzdGFja1BhcnRpdGlvbnM6dC5zdGFja1BhcnRpdGlvbnMsc2xpY2VQYXJ0aXRpb25zOnQuc2xpY2VQYXJ0aXRpb25zLHN1YmRpdmlzaW9uczp0LnN1YmRpdmlzaW9uc307dGhpcy5fZWxsaXBzb2lkR2VvbWV0cnk9bmV3IFdyKG8pLHRoaXMuX3dvcmtlck5hbWU9ImNyZWF0ZVNwaGVyZU91dGxpbmVHZW9tZXRyeSJ9dmFyIEZCLFRjLHp5LGFSPVooKCk9PntGdCgpO1h0KCk7SXQoKTtmdCgpO0VfKCk7RGEucGFja2VkTGVuZ3RoPVdyLnBhY2tlZExlbmd0aDtEYS5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4geS50eXBlT2Yub2JqZWN0KCJ2YWx1ZSIsdCksV3IucGFjayh0Ll9lbGxpcHNvaWRHZW9tZXRyeSxlLG4pfTtGQj1uZXcgV3IsVGM9e3JhZGl1czp2b2lkIDAscmFkaWk6bmV3IGEsc3RhY2tQYXJ0aXRpb25zOnZvaWQgMCxzbGljZVBhcnRpdGlvbnM6dm9pZCAwLHN1YmRpdmlzaW9uczp2b2lkIDB9O0RhLnVucGFjaz1mdW5jdGlvbih0LGUsbil7bGV0IG89V3IudW5wYWNrKHQsZSxGQik7cmV0dXJuIFRjLnN0YWNrUGFydGl0aW9ucz1vLl9zdGFja1BhcnRpdGlvbnMsVGMuc2xpY2VQYXJ0aXRpb25zPW8uX3NsaWNlUGFydGl0aW9ucyxUYy5zdWJkaXZpc2lvbnM9by5fc3ViZGl2aXNpb25zLGgobik/KGEuY2xvbmUoby5fcmFkaWksVGMucmFkaWkpLG4uX2VsbGlwc29pZEdlb21ldHJ5PW5ldyBXcihUYyksbik6KFRjLnJhZGl1cz1vLl9yYWRpaS54LG5ldyBEYShUYykpfTtEYS5jcmVhdGVHZW9tZXRyeT1mdW5jdGlvbih0KXtyZXR1cm4gV3IuY3JlYXRlR2VvbWV0cnkodC5fZWxsaXBzb2lkR2VvbWV0cnkpfTt6eT1EYX0pO3ZhciBqeT17fTtkZShqeSx7ZGVmYXVsdDooKT0+VUJ9KTtmdW5jdGlvbiBCQih0LGUpe3JldHVybiBoKGUpJiYodD16eS51bnBhY2sodCxlKSksenkuY3JlYXRlR2VvbWV0cnkodCl9dmFyIFVCLEh5PVooKCk9PntmdCgpO2FSKCk7VUI9QkJ9KTt2YXIgcXk9e307ZGUocXkse2RlZmF1bHQ6KCk9PnI0fSk7ZnVuY3Rpb24gekIodCxlLG4sbyxyLGkscyl7bGV0IGY9dC5sZW5ndGgsdT1uZXcgRmxvYXQ2NEFycmF5KGYqMyk7Zm9yKGxldCBjPTA7YzxmOysrYyl7bGV0IGw9dFtjXSxwPWVbY10sZD1uW2NdLG09TS5sZXJwKG8ud2VzdCxvLmVhc3QsbC9ydSksXz1NLmxlcnAoby5zb3V0aCxvLm5vcnRoLHAvcnUpLGc9TS5sZXJwKHIsaSxkL3J1KSxiPWN0LmZyb21SYWRpYW5zKG0sXyxnLGtCKSxUPXMuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oYixHQik7YS5wYWNrKFQsdSxjKjMpfXJldHVybiB1fWZ1bmN0aW9uIGpCKHQpe2xldCBlPXQubGVuZ3RoLG49bmV3IFVpbnQzMkFycmF5KGUrMSksbz0wO2ZvcihsZXQgcj0wO3I8ZTsrK3IpbltyXT1vLG8rPXRbcl07cmV0dXJuIG5bZV09byxufWZ1bmN0aW9uIEtCKHQsZSxuLG8pe2xldCByPW8ubGVuZ3RoLGk9dC5sZW5ndGgscz1uZXcgVWludDhBcnJheShpKSxmPUhCLHU9cUIsYz0wO2ZvcihsZXQgcD0wO3A8cjtwKyspe2xldCBkPW9bcF0sbT1kO2ZvcihsZXQgXz0xO188ZDtfKyspe2xldCBnPWMrXyxiPWctMTt1LmxvbmdpdHVkZT10W2ddLHUubGF0aXR1ZGU9ZVtnXSxmLmxvbmdpdHVkZT10W2JdLGYubGF0aXR1ZGU9ZVtiXSxjdC5lcXVhbHModSxmKSYmKG0tLSxzW2JdPTEpfW9bcF09bSxjKz1kfWxldCBsPTA7Zm9yKGxldCBwPTA7cDxpO3ArKylzW3BdIT09MSYmKHRbbF09dFtwXSxlW2xdPWVbcF0sbltsXT1uW3BdLGwrKyl9ZnVuY3Rpb24gZFIodCl7bGV0IGU9dCo4LG49ZSozLG89ZSo0O3RoaXMuc3RhcnRFbGxpcHNvaWROb3JtYWxzPW5ldyBGbG9hdDMyQXJyYXkobiksdGhpcy5lbmRFbGxpcHNvaWROb3JtYWxzPW5ldyBGbG9hdDMyQXJyYXkobiksdGhpcy5zdGFydFBvc2l0aW9uQW5kSGVpZ2h0cz1uZXcgRmxvYXQzMkFycmF5KG8pLHRoaXMuc3RhcnRGYWNlTm9ybWFsQW5kVmVydGV4Q29ybmVySWRzPW5ldyBGbG9hdDMyQXJyYXkobyksdGhpcy5lbmRQb3NpdGlvbkFuZEhlaWdodHM9bmV3IEZsb2F0MzJBcnJheShvKSx0aGlzLmVuZEZhY2VOb3JtYWxBbmRIYWxmV2lkdGhzPW5ldyBGbG9hdDMyQXJyYXkobyksdGhpcy52ZXJ0ZXhCYXRjaElkcz1uZXcgVWludDE2QXJyYXkoZSksdGhpcy5pbmRpY2VzPUR0LmNyZWF0ZVR5cGVkQXJyYXkoZSwzNip0KSx0aGlzLnZlYzNPZmZzZXQ9MCx0aGlzLnZlYzRPZmZzZXQ9MCx0aGlzLmJhdGNoSWRPZmZzZXQ9MCx0aGlzLmluZGV4T2Zmc2V0PTAsdGhpcy52b2x1bWVTdGFydEluZGV4PTB9ZnVuY3Rpb24gdVIodCxlLG4sbyxyKXtsZXQgaT1hLnN1YnRyYWN0KG4sZSxXQikscz1hLnN1YnRyYWN0KGUsdCxmUik7cmV0dXJuIGEubm9ybWFsaXplKGksaSksYS5ub3JtYWxpemUocyxzKSxhLmRvdChpLHMpPFZCJiYocz1hLm11bHRpcGx5QnlTY2FsYXIocywtMSxmUikpLGEuYWRkKGkscyxyKSxhLmVxdWFscyhyLGEuWkVSTykmJihyPWEuc3VidHJhY3QodCxlKSksYS5jcm9zcyhyLG8sciksYS5jcm9zcyhvLHIsciksYS5ub3JtYWxpemUocixyKSxyfWZ1bmN0aW9uIG80KHQsZSl7bGV0IG49bmV3IFVpbnQxNkFycmF5KHQucG9zaXRpb25zKSxvPW5ldyBVaW50MTZBcnJheSh0LndpZHRocykscj1uZXcgVWludDMyQXJyYXkodC5jb3VudHMpLGk9bmV3IFVpbnQxNkFycmF5KHQuYmF0Y2hJZHMpLHM9UUIsZj1KQix1PXQ0LGM9bmV3IEZsb2F0NjRBcnJheSh0LnBhY2tlZEJ1ZmZlciksbD0wLHA9Y1tsKytdLGQ9Y1tsKytdO050LnVucGFjayhjLGwscyksbCs9TnQucGFja2VkTGVuZ3RoLCQudW5wYWNrKGMsbCxmKSxsKz0kLnBhY2tlZExlbmd0aCxhLnVucGFjayhjLGwsdSk7bGV0IG0sXz1uLmxlbmd0aC8zLGc9bi5zdWJhcnJheSgwLF8pLGI9bi5zdWJhcnJheShfLDIqXyksVD1uLnN1YmFycmF5KDIqXywzKl8pO25uLnppZ1phZ0RlbHRhRGVjb2RlKGcsYixUKSxLQihnLGIsVCxyKTtsZXQgTz1yLmxlbmd0aCxFPTA7Zm9yKG09MDttPE87bSsrKXtsZXQgVT1yW21dO0UrPVUtMX1sZXQgdz1uZXcgZFIoRSksQz16QihnLGIsVCxzLHAsZCxmLHUpO189Zy5sZW5ndGg7bGV0IE49bmV3IEZsb2F0MzJBcnJheShfKjMpO2ZvcihtPTA7bTxfOysrbSlOW20qM109Q1ttKjNdLXUueCxOW20qMysxXT1DW20qMysxXS11LnksTlttKjMrMl09Q1ttKjMrMl0tdS56O2xldCBJPTAsRD0wO2ZvcihtPTA7bTxPO20rKyl7bGV0IFU9clttXS0xLEE9b1ttXSouNSxTPWlbbV0sUD1JO2ZvcihsZXQgRj0wO0Y8VTtGKyspe2xldCBqPWEudW5wYWNrKE4sSSxlNCksSD1hLnVucGFjayhOLEkrMyxuNCksaz1UW0RdLEs9VFtEKzFdO2s9TS5sZXJwKHAsZCxrL3J1KSxLPU0ubGVycChwLGQsSy9ydSksRCsrO2xldCBYPUJkLFI9VWQ7aWYoRj09PTApe2xldCBvdD1QK1UqMyxhdD1hLnVucGFjayhOLG90LEJkKTtpZihhLmVxdWFscyhhdCxqKSlhLnVucGFjayhOLG90LTMsWCk7ZWxzZXtsZXQgcHQ9YS5zdWJ0cmFjdChqLEgsQmQpO1g9YS5hZGQocHQsaixCZCl9fWVsc2UgYS51bnBhY2soTixJLTMsWCk7aWYoRj09PVUtMSl7bGV0IG90PWEudW5wYWNrKE4sUCxVZCk7aWYoYS5lcXVhbHMob3QsSCkpYS51bnBhY2soTixQKzMsUik7ZWxzZXtsZXQgYXQ9YS5zdWJ0cmFjdChILGosVWQpO1I9YS5hZGQoYXQsSCxVZCl9fWVsc2UgYS51bnBhY2soTixJKzYsUik7dy5hZGRWb2x1bWUoWCxqLEgsUixrLEssQSxTLHUsZiksSSs9M31JKz0zLEQrK31sZXQgdj13LmluZGljZXM7ZS5wdXNoKHcuc3RhcnRFbGxpcHNvaWROb3JtYWxzLmJ1ZmZlciksZS5wdXNoKHcuZW5kRWxsaXBzb2lkTm9ybWFscy5idWZmZXIpLGUucHVzaCh3LnN0YXJ0UG9zaXRpb25BbmRIZWlnaHRzLmJ1ZmZlciksZS5wdXNoKHcuc3RhcnRGYWNlTm9ybWFsQW5kVmVydGV4Q29ybmVySWRzLmJ1ZmZlciksZS5wdXNoKHcuZW5kUG9zaXRpb25BbmRIZWlnaHRzLmJ1ZmZlciksZS5wdXNoKHcuZW5kRmFjZU5vcm1hbEFuZEhhbGZXaWR0aHMuYnVmZmVyKSxlLnB1c2gody52ZXJ0ZXhCYXRjaElkcy5idWZmZXIpLGUucHVzaCh2LmJ1ZmZlcik7bGV0IEw9e2luZGV4RGF0YXR5cGU6di5CWVRFU19QRVJfRUxFTUVOVD09PTI/RHQuVU5TSUdORURfU0hPUlQ6RHQuVU5TSUdORURfSU5ULHN0YXJ0RWxsaXBzb2lkTm9ybWFsczp3LnN0YXJ0RWxsaXBzb2lkTm9ybWFscy5idWZmZXIsZW5kRWxsaXBzb2lkTm9ybWFsczp3LmVuZEVsbGlwc29pZE5vcm1hbHMuYnVmZmVyLHN0YXJ0UG9zaXRpb25BbmRIZWlnaHRzOncuc3RhcnRQb3NpdGlvbkFuZEhlaWdodHMuYnVmZmVyLHN0YXJ0RmFjZU5vcm1hbEFuZFZlcnRleENvcm5lcklkczp3LnN0YXJ0RmFjZU5vcm1hbEFuZFZlcnRleENvcm5lcklkcy5idWZmZXIsZW5kUG9zaXRpb25BbmRIZWlnaHRzOncuZW5kUG9zaXRpb25BbmRIZWlnaHRzLmJ1ZmZlcixlbmRGYWNlTm9ybWFsQW5kSGFsZldpZHRoczp3LmVuZEZhY2VOb3JtYWxBbmRIYWxmV2lkdGhzLmJ1ZmZlcix2ZXJ0ZXhCYXRjaElkczp3LnZlcnRleEJhdGNoSWRzLmJ1ZmZlcixpbmRpY2VzOnYuYnVmZmVyfTtpZih0LmtlZXBEZWNvZGVkUG9zaXRpb25zKXtsZXQgVT1qQihyKTtlLnB1c2goQy5idWZmZXIsVS5idWZmZXIpLEw9X3IoTCx7ZGVjb2RlZFBvc2l0aW9uczpDLmJ1ZmZlcixkZWNvZGVkUG9zaXRpb25PZmZzZXRzOlUuYnVmZmVyfSl9cmV0dXJuIEx9dmFyIHJ1LFZCLGtCLEdCLEhCLHFCLGZSLFdCLG1SLGxSLHBSLFhCLFlCLCRCLFpCLFFCLEpCLHQ0LEJkLGU0LG40LFVkLHI0LEt5PVooKCk9PnthcygpO0Z0KCk7SWUoKTtvcCgpO1p0KCk7JGUoKTtXdCgpO3duKCk7c28oKTtydT0zMjc2NyxWQj1NYXRoLmNvcyhNLnRvUmFkaWFucygxNTApKSxrQj1uZXcgY3QsR0I9bmV3IGE7SEI9bmV3IGN0LHFCPW5ldyBjdDtmUj1uZXcgYSxXQj1uZXcgYTttUj1bMCwyLDYsMCw2LDQsMCwxLDMsMCwzLDIsMCw0LDUsMCw1LDEsNSwzLDEsNSw3LDMsNyw1LDQsNyw0LDYsNyw2LDIsNywyLDNdLGxSPW1SLmxlbmd0aCxwUj1uZXcgYSxYQj1uZXcgYSxZQj1uZXcgYSwkQj1uZXcgYSxaQj1uZXcgYTtkUi5wcm90b3R5cGUuYWRkVm9sdW1lPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMsZix1LGMpe2xldCBsPWEuYWRkKGUsdSxwUikscD1jLmdlb2RldGljU3VyZmFjZU5vcm1hbChsLFhCKTtsPWEuYWRkKG4sdSxwUik7bGV0IGQ9Yy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwobCwkQiksbT11Uih0LGUsbixwLFlCKSxfPXVSKG8sbixlLGQsWkIpLGc9dGhpcy5zdGFydEVsbGlwc29pZE5vcm1hbHMsYj10aGlzLmVuZEVsbGlwc29pZE5vcm1hbHMsVD10aGlzLnN0YXJ0UG9zaXRpb25BbmRIZWlnaHRzLE89dGhpcy5zdGFydEZhY2VOb3JtYWxBbmRWZXJ0ZXhDb3JuZXJJZHMsRT10aGlzLmVuZFBvc2l0aW9uQW5kSGVpZ2h0cyx3PXRoaXMuZW5kRmFjZU5vcm1hbEFuZEhhbGZXaWR0aHMsQz10aGlzLnZlcnRleEJhdGNoSWRzLE49dGhpcy5iYXRjaElkT2Zmc2V0LEk9dGhpcy52ZWMzT2Zmc2V0LEQ9dGhpcy52ZWM0T2Zmc2V0LHY7Zm9yKHY9MDt2PDg7disrKWEucGFjayhwLGcsSSksYS5wYWNrKGQsYixJKSxhLnBhY2soZSxULEQpLFRbRCszXT1yLGEucGFjayhuLEUsRCksRVtEKzNdPWksYS5wYWNrKG0sTyxEKSxPW0QrM109dixhLnBhY2soXyx3LEQpLHdbRCszXT1zLENbTisrXT1mLEkrPTMsRCs9NDt0aGlzLmJhdGNoSWRPZmZzZXQ9Tix0aGlzLnZlYzNPZmZzZXQ9SSx0aGlzLnZlYzRPZmZzZXQ9RDtsZXQgTD10aGlzLmluZGljZXMsVT10aGlzLnZvbHVtZVN0YXJ0SW5kZXgsQT10aGlzLmluZGV4T2Zmc2V0O2Zvcih2PTA7djxsUjt2KyspTFtBK3ZdPW1SW3ZdK1U7dGhpcy52b2x1bWVTdGFydEluZGV4Kz04LHRoaXMuaW5kZXhPZmZzZXQrPWxSfTtRQj1uZXcgTnQsSkI9bmV3ICQsdDQ9bmV3IGEsQmQ9bmV3IGEsZTQ9bmV3IGEsbjQ9bmV3IGEsVWQ9bmV3IGE7cjQ9UWUobzQpfSk7ZnVuY3Rpb24gaTQodCl7dGhpcy5vZmZzZXQ9dC5vZmZzZXQsdGhpcy5jb3VudD10LmNvdW50LHRoaXMuY29sb3I9dC5jb2xvcix0aGlzLmJhdGNoSWRzPXQuYmF0Y2hJZHN9dmFyIGhSLF9SPVooKCk9PntoUj1pNH0pO3ZhciBXeT17fTtkZShXeSx7ZGVmYXVsdDooKT0+QTR9KTtmdW5jdGlvbiB1NCh0LGUpe2xldCBuPWUqczQsbz1hLnVucGFjayh0LG4sa2QpO24rPWEucGFja2VkTGVuZ3RoO2xldCByPXN0LnVucGFjayh0LG4sQ3IubW9kZWxNYXRyaXgpO3N0Lm11bHRpcGx5QnlTY2FsZShyLG8scik7bGV0IGk9Q3IuYm91bmRpbmdWb2x1bWU7cmV0dXJuIGEuY2xvbmUoYS5aRVJPLGkuY2VudGVyKSxpLnJhZGl1cz1NYXRoLnNxcnQoMyksQ3J9ZnVuY3Rpb24gbDQodCxlKXtsZXQgbj1lKmM0LG89dFtuKytdLHI9dFtuKytdLGk9YS5mcm9tRWxlbWVudHMobyxvLHIsa2QpLHM9c3QudW5wYWNrKHQsbixDci5tb2RlbE1hdHJpeCk7c3QubXVsdGlwbHlCeVNjYWxlKHMsaSxzKTtsZXQgZj1Dci5ib3VuZGluZ1ZvbHVtZTtyZXR1cm4gYS5jbG9uZShhLlpFUk8sZi5jZW50ZXIpLGYucmFkaXVzPU1hdGguc3FydCgyKSxDcn1mdW5jdGlvbiBwNCh0LGUpe2xldCBuPWUqYTQsbz1hLnVucGFjayh0LG4sa2QpO24rPWEucGFja2VkTGVuZ3RoO2xldCByPXN0LnVucGFjayh0LG4sQ3IubW9kZWxNYXRyaXgpO3N0Lm11bHRpcGx5QnlTY2FsZShyLG8scik7bGV0IGk9Q3IuYm91bmRpbmdWb2x1bWU7cmV0dXJuIGEuY2xvbmUoYS5aRVJPLGkuY2VudGVyKSxpLnJhZGl1cz0xLENyfWZ1bmN0aW9uIGQ0KHQsZSl7bGV0IG49ZSpmNCxvPXRbbisrXSxyPWEudW5wYWNrKHQsbixrZCksaT1zdC5mcm9tVHJhbnNsYXRpb24ocixDci5tb2RlbE1hdHJpeCk7c3QubXVsdGlwbHlCeVVuaWZvcm1TY2FsZShpLG8saSk7bGV0IHM9Q3IuYm91bmRpbmdWb2x1bWU7cmV0dXJuIGEuY2xvbmUoYS5aRVJPLHMuY2VudGVyKSxzLnJhZGl1cz0xLENyfWZ1bmN0aW9uIFZkKHQsZSxuLG8scil7aWYoIWgoZSkpcmV0dXJuO2xldCBpPW4ubGVuZ3RoLHM9by5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyxmPW8uaW5kaWNlcyx1PXQucG9zaXRpb25zLGM9dC52ZXJ0ZXhCYXRjaElkcyxsPXQuaW5kaWNlcyxwPXQuYmF0Y2hJZHMsZD10LmJhdGNoVGFibGVDb2xvcnMsbT10LmJhdGNoZWRJbmRpY2VzLF89dC5pbmRleE9mZnNldHMsZz10LmluZGV4Q291bnRzLGI9dC5ib3VuZGluZ1ZvbHVtZXMsVD10Lm1vZGVsTWF0cml4LE89dC5jZW50ZXIsRT10LnBvc2l0aW9uT2Zmc2V0LHc9dC5iYXRjaElkSW5kZXgsQz10LmluZGV4T2Zmc2V0LE49dC5iYXRjaGVkSW5kaWNlc09mZnNldDtmb3IobGV0IEk9MDtJPGk7KytJKXtsZXQgRD1yKGUsSSksdj1ELm1vZGVsTWF0cml4O3N0Lm11bHRpcGx5KFQsdix2KTtsZXQgTD1uW0ldLFU9cy5sZW5ndGg7Zm9yKGxldCBQPTA7UDxVO1ArPTMpe2xldCBGPWEudW5wYWNrKHMsUCxtNCk7c3QubXVsdGlwbHlCeVBvaW50KHYsRixGKSxhLnN1YnRyYWN0KEYsTyxGKSxhLnBhY2soRix1LEUqMytQKSxjW3crK109TH1sZXQgQT1mLmxlbmd0aDtmb3IobGV0IFA9MDtQPEE7KytQKWxbQytQXT1mW1BdK0U7bGV0IFM9SStOO21bU109bmV3IGhSKHtvZmZzZXQ6Qyxjb3VudDpBLGNvbG9yOm9lLmZyb21SZ2JhKGRbTF0pLGJhdGNoSWRzOltMXX0pLHBbU109TCxfW1NdPUMsZ1tTXT1BLGJbU109QXQudHJhbnNmb3JtKEQuYm91bmRpbmdWb2x1bWUsdiksRSs9VS8zLEMrPUF9dC5wb3NpdGlvbk9mZnNldD1FLHQuYmF0Y2hJZEluZGV4PXcsdC5pbmRleE9mZnNldD1DLHQuYmF0Y2hlZEluZGljZXNPZmZzZXQrPWl9ZnVuY3Rpb24gaDQodCl7bGV0IGU9bmV3IEZsb2F0NjRBcnJheSh0KSxuPTA7YS51bnBhY2soZSxuLHlSKSxuKz1hLnBhY2tlZExlbmd0aCxzdC51bnBhY2soZSxuLGdSKX1mdW5jdGlvbiBfNCh0KXtsZXQgZT10Lmxlbmd0aCxuPTA7Zm9yKGxldCBvPTA7bzxlOysrbyluKz1vZS5wYWNrZWRMZW5ndGgrMyt0W29dLmJhdGNoSWRzLmxlbmd0aDtyZXR1cm4gbn1mdW5jdGlvbiB5NCh0LGUsbil7bGV0IG89bi5sZW5ndGgscj0yK28qQXQucGFja2VkTGVuZ3RoKzErXzQoZSksaT1uZXcgRmxvYXQ2NEFycmF5KHIpLHM9MDtpW3MrK109dCxpW3MrK109bztmb3IobGV0IHU9MDt1PG87Kyt1KUF0LnBhY2soblt1XSxpLHMpLHMrPUF0LnBhY2tlZExlbmd0aDtsZXQgZj1lLmxlbmd0aDtpW3MrK109Zjtmb3IobGV0IHU9MDt1PGY7Kyt1KXtsZXQgYz1lW3VdO29lLnBhY2soYy5jb2xvcixpLHMpLHMrPW9lLnBhY2tlZExlbmd0aCxpW3MrK109Yy5vZmZzZXQsaVtzKytdPWMuY291bnQ7bGV0IGw9Yy5iYXRjaElkcyxwPWwubGVuZ3RoO2lbcysrXT1wO2ZvcihsZXQgZD0wO2Q8cDsrK2QpaVtzKytdPWxbZF19cmV0dXJuIGl9ZnVuY3Rpb24gZzQodCxlKXtsZXQgbj1oKHQuYm94ZXMpP25ldyBGbG9hdDMyQXJyYXkodC5ib3hlcyk6dm9pZCAwLG89aCh0LmJveEJhdGNoSWRzKT9uZXcgVWludDE2QXJyYXkodC5ib3hCYXRjaElkcyk6dm9pZCAwLHI9aCh0LmN5bGluZGVycyk/bmV3IEZsb2F0MzJBcnJheSh0LmN5bGluZGVycyk6dm9pZCAwLGk9aCh0LmN5bGluZGVyQmF0Y2hJZHMpP25ldyBVaW50MTZBcnJheSh0LmN5bGluZGVyQmF0Y2hJZHMpOnZvaWQgMCxzPWgodC5lbGxpcHNvaWRzKT9uZXcgRmxvYXQzMkFycmF5KHQuZWxsaXBzb2lkcyk6dm9pZCAwLGY9aCh0LmVsbGlwc29pZEJhdGNoSWRzKT9uZXcgVWludDE2QXJyYXkodC5lbGxpcHNvaWRCYXRjaElkcyk6dm9pZCAwLHU9aCh0LnNwaGVyZXMpP25ldyBGbG9hdDMyQXJyYXkodC5zcGhlcmVzKTp2b2lkIDAsYz1oKHQuc3BoZXJlQmF0Y2hJZHMpP25ldyBVaW50MTZBcnJheSh0LnNwaGVyZUJhdGNoSWRzKTp2b2lkIDAsbD1oKG4pP28ubGVuZ3RoOjAscD1oKHIpP2kubGVuZ3RoOjAsZD1oKHMpP2YubGVuZ3RoOjAsbT1oKHUpP2MubGVuZ3RoOjAsXz1TZi5nZXRVbml0Qm94KCksZz1qZi5nZXRVbml0Q3lsaW5kZXIoKSxiPXNyLmdldFVuaXRFbGxpcHNvaWQoKSxUPV8uYXR0cmlidXRlcy5wb3NpdGlvbi52YWx1ZXMsTz1nLmF0dHJpYnV0ZXMucG9zaXRpb24udmFsdWVzLEU9Yi5hdHRyaWJ1dGVzLnBvc2l0aW9uLnZhbHVlcyx3PVQubGVuZ3RoKmw7dys9Ty5sZW5ndGgqcCx3Kz1FLmxlbmd0aCooZCttKTtsZXQgQz1fLmluZGljZXMsTj1nLmluZGljZXMsST1iLmluZGljZXMsRD1DLmxlbmd0aCpsO0QrPU4ubGVuZ3RoKnAsRCs9SS5sZW5ndGgqKGQrbSk7bGV0IHY9bmV3IEZsb2F0MzJBcnJheSh3KSxMPW5ldyBVaW50MTZBcnJheSh3LzMpLFU9RHQuY3JlYXRlVHlwZWRBcnJheSh3LzMsRCksQT1sK3ArZCttLFM9bmV3IFVpbnQxNkFycmF5KEEpLFA9bmV3IEFycmF5KEEpLEY9bmV3IFVpbnQzMkFycmF5KEEpLGo9bmV3IFVpbnQzMkFycmF5KEEpLEg9bmV3IEFycmF5KEEpO2g0KHQucGFja2VkQnVmZmVyKTtsZXQgaz17YmF0Y2hUYWJsZUNvbG9yczpuZXcgVWludDMyQXJyYXkodC5iYXRjaFRhYmxlQ29sb3JzKSxwb3NpdGlvbnM6dix2ZXJ0ZXhCYXRjaElkczpMLGluZGljZXM6VSxiYXRjaElkczpTLGJhdGNoZWRJbmRpY2VzOlAsaW5kZXhPZmZzZXRzOkYsaW5kZXhDb3VudHM6aixib3VuZGluZ1ZvbHVtZXM6SCxwb3NpdGlvbk9mZnNldDowLGJhdGNoSWRJbmRleDowLGluZGV4T2Zmc2V0OjAsYmF0Y2hlZEluZGljZXNPZmZzZXQ6MCxtb2RlbE1hdHJpeDpnUixjZW50ZXI6eVJ9O1ZkKGssbixvLF8sdTQpLFZkKGsscixpLGcsbDQpLFZkKGsscyxmLGIscDQpLFZkKGssdSxjLGIsZDQpO2xldCBLPXk0KFUuQllURVNfUEVSX0VMRU1FTlQsUCxIKTtyZXR1cm4gZS5wdXNoKHYuYnVmZmVyLEwuYnVmZmVyLFUuYnVmZmVyKSxlLnB1c2goUy5idWZmZXIsRi5idWZmZXIsai5idWZmZXIpLGUucHVzaChLLmJ1ZmZlcikse3Bvc2l0aW9uczp2LmJ1ZmZlcix2ZXJ0ZXhCYXRjaElkczpMLmJ1ZmZlcixpbmRpY2VzOlUuYnVmZmVyLGluZGV4T2Zmc2V0czpGLmJ1ZmZlcixpbmRleENvdW50czpqLmJ1ZmZlcixiYXRjaElkczpTLmJ1ZmZlcixwYWNrZWRCdWZmZXI6Sy5idWZmZXJ9fXZhciBrZCxzNCxjNCxhNCxmNCxDcixtNCx5UixnUixBNCxYeT1aKCgpPT57dmUoKTtzMCgpO0Z0KCk7UGEoKTt1XygpO2Z0KCk7QWQoKTskZSgpO1VuKCk7X1IoKTtzbygpO2tkPW5ldyBhLHM0PXN0LnBhY2tlZExlbmd0aCthLnBhY2tlZExlbmd0aCxjND1zdC5wYWNrZWRMZW5ndGgrMixhND1zdC5wYWNrZWRMZW5ndGgrYS5wYWNrZWRMZW5ndGgsZjQ9YS5wYWNrZWRMZW5ndGgrMSxDcj17bW9kZWxNYXRyaXg6bmV3IHN0LGJvdW5kaW5nVm9sdW1lOm5ldyBBdH07bTQ9bmV3IGE7eVI9bmV3IGEsZ1I9bmV3IHN0O0E0PVFlKGc0KX0pO3ZhciAkeT17fTtkZSgkeSx7ZGVmYXVsdDooKT0+RTR9KTtmdW5jdGlvbiB3NCh0KXt0PW5ldyBGbG9hdDY0QXJyYXkodCk7bGV0IGU9MDtHZC5taW49dFtlKytdLEdkLm1heD10W2UrK10sTnQudW5wYWNrKHQsZSxBUiksZSs9TnQucGFja2VkTGVuZ3RoLCQudW5wYWNrKHQsZSxiUil9ZnVuY3Rpb24gTzQodCxlKXtsZXQgbj1uZXcgVWludDE2QXJyYXkodC5wb3NpdGlvbnMpO3c0KHQucGFja2VkQnVmZmVyKTtsZXQgbz1BUixyPWJSLGk9R2QubWluLHM9R2QubWF4LGY9bi5sZW5ndGgvMyx1PW4uc3ViYXJyYXkoMCxmKSxjPW4uc3ViYXJyYXkoZiwyKmYpLGw9bi5zdWJhcnJheSgyKmYsMypmKTtubi56aWdaYWdEZWx0YURlY29kZSh1LGMsbCk7bGV0IHA9bmV3IEZsb2F0NjRBcnJheShuLmxlbmd0aCk7Zm9yKGxldCBkPTA7ZDxmOysrZCl7bGV0IG09dVtkXSxfPWNbZF0sZz1sW2RdLGI9TS5sZXJwKG8ud2VzdCxvLmVhc3QsbS9ZeSksVD1NLmxlcnAoby5zb3V0aCxvLm5vcnRoLF8vWXkpLE89TS5sZXJwKGkscyxnL1l5KSxFPWN0LmZyb21SYWRpYW5zKGIsVCxPLGI0KSx3PXIuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oRSxUNCk7YS5wYWNrKHcscCxkKjMpfXJldHVybiBlLnB1c2gocC5idWZmZXIpLHtwb3NpdGlvbnM6cC5idWZmZXJ9fXZhciBZeSxiNCxUNCxBUixiUixHZCxFNCxaeT1aKCgpPT57YXMoKTtGdCgpO0llKCk7WnQoKTtXdCgpO3duKCk7c28oKTtZeT0zMjc2NyxiND1uZXcgY3QsVDQ9bmV3IGEsQVI9bmV3IE50LGJSPW5ldyAkLEdkPXttaW46dm9pZCAwLG1heDp2b2lkIDB9O0U0PVFlKE80KX0pO3ZhciBReT17fTtkZShReSx7ZGVmYXVsdDooKT0+TDR9KTtmdW5jdGlvbiBSNCh0KXtsZXQgZT1uZXcgRmxvYXQ2NEFycmF5KHQpLG49MDtGYS5pbmRleEJ5dGVzUGVyRWxlbWVudD1lW24rK10sRmEubWluPWVbbisrXSxGYS5tYXg9ZVtuKytdLGEudW5wYWNrKGUsbixFUiksbis9YS5wYWNrZWRMZW5ndGgsJC51bnBhY2soZSxuLFJSKSxuKz0kLnBhY2tlZExlbmd0aCxOdC51bnBhY2soZSxuLFNSKX1mdW5jdGlvbiBTNCh0KXtsZXQgZT10Lmxlbmd0aCxuPTA7Zm9yKGxldCBvPTA7bzxlOysrbyluKz1vZS5wYWNrZWRMZW5ndGgrMyt0W29dLmJhdGNoSWRzLmxlbmd0aDtyZXR1cm4gbn1mdW5jdGlvbiBDNCh0LGUsbil7bGV0IG89ZS5sZW5ndGgscj0yK28qU28ucGFja2VkTGVuZ3RoKzErUzQobiksaT1uZXcgRmxvYXQ2NEFycmF5KHIpLHM9MDtpW3MrK109dCxpW3MrK109bztmb3IobGV0IHU9MDt1PG87Kyt1KVNvLnBhY2soZVt1XSxpLHMpLHMrPVNvLnBhY2tlZExlbmd0aDtsZXQgZj1uLmxlbmd0aDtpW3MrK109Zjtmb3IobGV0IHU9MDt1PGY7Kyt1KXtsZXQgYz1uW3VdO29lLnBhY2soYy5jb2xvcixpLHMpLHMrPW9lLnBhY2tlZExlbmd0aCxpW3MrK109Yy5vZmZzZXQsaVtzKytdPWMuY291bnQ7bGV0IGw9Yy5iYXRjaElkcyxwPWwubGVuZ3RoO2lbcysrXT1wO2ZvcihsZXQgZD0wO2Q8cDsrK2QpaVtzKytdPWxbZF19cmV0dXJuIGl9ZnVuY3Rpb24gdjQodCxlKXtSNCh0LnBhY2tlZEJ1ZmZlcik7bGV0IG47RmEuaW5kZXhCeXRlc1BlckVsZW1lbnQ9PT0yP249bmV3IFVpbnQxNkFycmF5KHQuaW5kaWNlcyk6bj1uZXcgVWludDMyQXJyYXkodC5pbmRpY2VzKTtsZXQgcj1uZXcgVWludDE2QXJyYXkodC5wb3NpdGlvbnMpLGk9bmV3IFVpbnQzMkFycmF5KHQuY291bnRzKSxzPW5ldyBVaW50MzJBcnJheSh0LmluZGV4Q291bnRzKSxmPW5ldyBVaW50MzJBcnJheSh0LmJhdGNoSWRzKSx1PW5ldyBVaW50MzJBcnJheSh0LmJhdGNoVGFibGVDb2xvcnMpLGM9bmV3IEFycmF5KGkubGVuZ3RoKSxsPUVSLHA9UlIsZD1TUixtPUZhLm1pbixfPUZhLm1heCxnPXQubWluaW11bUhlaWdodHMsYj10Lm1heGltdW1IZWlnaHRzO2goZykmJmgoYikmJihnPW5ldyBGbG9hdDMyQXJyYXkoZyksYj1uZXcgRmxvYXQzMkFycmF5KGIpKTtsZXQgVCxPLEUsdz1yLmxlbmd0aC8yLEM9ci5zdWJhcnJheSgwLHcpLE49ci5zdWJhcnJheSh3LDIqdyk7bm4uemlnWmFnRGVsdGFEZWNvZGUoQyxOKTtsZXQgST1uZXcgRmxvYXQ2NEFycmF5KHcqMyk7Zm9yKFQ9MDtUPHc7KytUKXtsZXQgcnQ9Q1tUXSxQdD1OW1RdLGd0PU0ubGVycChkLndlc3QsZC5lYXN0LHJ0L1RSKSxDdD1NLmxlcnAoZC5zb3V0aCxkLm5vcnRoLFB0L1RSKSxtdD1jdC5mcm9tUmFkaWFucyhndCxDdCwwLE9SKSx1dD1wLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKG10LHdSKTthLnBhY2sodXQsSSxUKjMpfWxldCBEPWkubGVuZ3RoLHY9bmV3IEFycmF5KEQpLEw9bmV3IEFycmF5KEQpLFU9MCxBPTA7Zm9yKFQ9MDtUPEQ7KytUKXZbVF09VSxMW1RdPUEsVSs9aVtUXSxBKz1zW1RdO2xldCBTPW5ldyBGbG9hdDMyQXJyYXkodyozKjIpLFA9bmV3IFVpbnQxNkFycmF5KHcqMiksRj1uZXcgVWludDMyQXJyYXkoTC5sZW5ndGgpLGo9bmV3IFVpbnQzMkFycmF5KHMubGVuZ3RoKSxIPVtdLGs9e307Zm9yKFQ9MDtUPEQ7KytUKUU9dVtUXSxoKGtbRV0pPyhrW0VdLnBvc2l0aW9uTGVuZ3RoKz1pW1RdLGtbRV0uaW5kZXhMZW5ndGgrPXNbVF0sa1tFXS5iYXRjaElkcy5wdXNoKFQpKTprW0VdPXtwb3NpdGlvbkxlbmd0aDppW1RdLGluZGV4TGVuZ3RoOnNbVF0sb2Zmc2V0OjAsaW5kZXhPZmZzZXQ6MCxiYXRjaElkczpbVF19O2xldCBLLFg9MCxSPTA7Zm9yKEUgaW4gaylpZihrLmhhc093blByb3BlcnR5KEUpKXtLPWtbRV0sSy5vZmZzZXQ9WCxLLmluZGV4T2Zmc2V0PVI7bGV0IHJ0PUsucG9zaXRpb25MZW5ndGgqMixQdD1LLmluZGV4TGVuZ3RoKjIrSy5wb3NpdGlvbkxlbmd0aCo2O1grPXJ0LFIrPVB0LEsuaW5kZXhMZW5ndGg9UHR9bGV0IG90PVtdO2ZvcihFIGluIGspay5oYXNPd25Qcm9wZXJ0eShFKSYmKEs9a1tFXSxvdC5wdXNoKHtjb2xvcjpvZS5mcm9tUmdiYShwYXJzZUludChFKSksb2Zmc2V0OksuaW5kZXhPZmZzZXQsY291bnQ6Sy5pbmRleExlbmd0aCxiYXRjaElkczpLLmJhdGNoSWRzfSkpO2ZvcihUPTA7VDxEOysrVCl7RT11W1RdLEs9a1tFXTtsZXQgcnQ9Sy5vZmZzZXQsUHQ9cnQqMyxndD1ydCxDdD12W1RdLG10PWlbVF0sdXQ9ZltUXSx2dD1tLHp0PV87aChnKSYmaChiKSYmKHZ0PWdbVF0senQ9YltUXSk7bGV0IG1lPU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxjZT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkscGU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLHVlPU51bWJlci5ORUdBVElWRV9JTkZJTklUWTtmb3IoTz0wO088bXQ7KytPKXtsZXQgZ2U9YS51bnBhY2soSSxDdCozK08qMyx3Uik7cC5zY2FsZVRvR2VvZGV0aWNTdXJmYWNlKGdlLGdlKTtsZXQgRWU9cC5jYXJ0ZXNpYW5Ub0NhcnRvZ3JhcGhpYyhnZSxPUiksdW49RWUubGF0aXR1ZGUsa2U9RWUubG9uZ2l0dWRlO21lPU1hdGgubWluKHVuLG1lKSxjZT1NYXRoLm1heCh1bixjZSkscGU9TWF0aC5taW4oa2UscGUpLHVlPU1hdGgubWF4KGtlLHVlKTtsZXQgYmU9cC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoZ2UseDQpLGxuPWEubXVsdGlwbHlCeVNjYWxhcihiZSx2dCxQNCkscG49YS5hZGQoZ2UsbG4sTTQpO2xuPWEubXVsdGlwbHlCeVNjYWxhcihiZSx6dCxsbik7bGV0IEVuPWEuYWRkKGdlLGxuLE40KTthLnN1YnRyYWN0KEVuLGwsRW4pLGEuc3VidHJhY3QocG4sbCxwbiksYS5wYWNrKEVuLFMsUHQpLGEucGFjayhwbixTLFB0KzMpLFBbZ3RdPXV0LFBbZ3QrMV09dXQsUHQrPTYsZ3QrPTJ9ZD1JNCxkLndlc3Q9cGUsZC5lYXN0PXVlLGQuc291dGg9bWUsZC5ub3J0aD1jZSxjW1RdPVNvLmZyb21SZWN0YW5nbGUoZCxtLF8scCk7bGV0IFF0PUsuaW5kZXhPZmZzZXQsSnQ9TFtUXSxOZT1zW1RdO2ZvcihGW1RdPVF0LE89MDtPPE5lO08rPTMpe2xldCBnZT1uW0p0K09dLUN0LEVlPW5bSnQrTysxXS1DdCx1bj1uW0p0K08rMl0tQ3Q7SFtRdCsrXT1nZSoyK3J0LEhbUXQrK109RWUqMitydCxIW1F0KytdPXVuKjIrcnQsSFtRdCsrXT11bioyKzErcnQsSFtRdCsrXT1FZSoyKzErcnQsSFtRdCsrXT1nZSoyKzErcnR9Zm9yKE89MDtPPG10OysrTyl7bGV0IGdlPU8sRWU9KE8rMSklbXQ7SFtRdCsrXT1nZSoyKzErcnQsSFtRdCsrXT1FZSoyK3J0LEhbUXQrK109Z2UqMitydCxIW1F0KytdPWdlKjIrMStydCxIW1F0KytdPUVlKjIrMStydCxIW1F0KytdPUVlKjIrcnR9Sy5vZmZzZXQrPW10KjIsSy5pbmRleE9mZnNldD1RdCxqW1RdPVF0LUZbVF19SD1EdC5jcmVhdGVUeXBlZEFycmF5KFMubGVuZ3RoLzMsSCk7bGV0IGF0PW90Lmxlbmd0aDtmb3IobGV0IHJ0PTA7cnQ8YXQ7KytydCl7bGV0IFB0PW90W3J0XS5iYXRjaElkcyxndD0wLEN0PVB0Lmxlbmd0aDtmb3IobGV0IG10PTA7bXQ8Q3Q7KyttdClndCs9altQdFttdF1dO290W3J0XS5jb3VudD1ndH1sZXQgcHQ9SC5CWVRFU19QRVJfRUxFTUVOVD09PTI/RHQuVU5TSUdORURfU0hPUlQ6RHQuVU5TSUdORURfSU5ULHl0PUM0KHB0LGMsb3QpO3JldHVybiBlLnB1c2goUy5idWZmZXIsSC5idWZmZXIsRi5idWZmZXIsai5idWZmZXIsUC5idWZmZXIseXQuYnVmZmVyKSx7cG9zaXRpb25zOlMuYnVmZmVyLGluZGljZXM6SC5idWZmZXIsaW5kZXhPZmZzZXRzOkYuYnVmZmVyLGluZGV4Q291bnRzOmouYnVmZmVyLGJhdGNoSWRzOlAuYnVmZmVyLHBhY2tlZEJ1ZmZlcjp5dC5idWZmZXJ9fXZhciBFUixSUixTUixGYSxUUix3Uix4NCxQNCxNNCxONCxPUixJNCxMNCxKeT1aKCgpPT57YXMoKTtGdCgpO0llKCk7UGEoKTtmdCgpO1p0KCk7JGUoKTtXdCgpO3BhKCk7d24oKTtzbygpO0VSPW5ldyBhLFJSPW5ldyAkLFNSPW5ldyBOdCxGYT17bWluOnZvaWQgMCxtYXg6dm9pZCAwLGluZGV4Qnl0ZXNQZXJFbGVtZW50OnZvaWQgMH07VFI9MzI3Njcsd1I9bmV3IGEseDQ9bmV3IGEsUDQ9bmV3IGEsTTQ9bmV3IGEsTjQ9bmV3IGEsT1I9bmV3IGN0LEk0PW5ldyBOdDtMND1RZSh2NCl9KTtmdW5jdGlvbiBCNCh0LGUsbixvLHIpe2xldCBpPXQubGVuZ3RoLzMscz10LnN1YmFycmF5KDAsaSksZj10LnN1YmFycmF5KGksMippKSx1PXQuc3ViYXJyYXkoMippLDMqaSk7bm4uemlnWmFnRGVsdGFEZWNvZGUocyxmLHUpO2xldCBjPW5ldyBGbG9hdDY0QXJyYXkodC5sZW5ndGgpO2ZvcihsZXQgbD0wO2w8aTsrK2wpe2xldCBwPXNbbF0sZD1mW2xdLG09dVtsXSxfPU0ubGVycChlLndlc3QsZS5lYXN0LHAvdGcpLGc9TS5sZXJwKGUuc291dGgsZS5ub3J0aCxkL3RnKSxiPU0ubGVycChuLG8sbS90ZyksVD1jdC5mcm9tUmFkaWFucyhfLGcsYixENCksTz1yLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKFQsRjQpO2EucGFjayhPLGMsbCozKX1yZXR1cm4gY312YXIgdGcsRDQsRjQsQ1IseFI9WigoKT0+e2FzKCk7RnQoKTtJZSgpO1d0KCk7dGc9MzI3NjcsRDQ9bmV3IGN0LEY0PW5ldyBhO0NSPUI0fSk7dmFyIGVnPXt9O2RlKGVnLHtkZWZhdWx0OigpPT56NH0pO2Z1bmN0aW9uIFU0KHQpe3Q9bmV3IEZsb2F0NjRBcnJheSh0KTtsZXQgZT0wO3pkLm1pbj10W2UrK10semQubWF4PXRbZSsrXSxOdC51bnBhY2sodCxlLHZSKSxlKz1OdC5wYWNrZWRMZW5ndGgsJC51bnBhY2sodCxlLExSKSxlKz0kLnBhY2tlZExlbmd0aCxhLnVucGFjayh0LGUsRFIpfWZ1bmN0aW9uIFY0KHQpe2xldCBlPXQubGVuZ3RoLG49bmV3IFVpbnQzMkFycmF5KGUrMSksbz0wO2ZvcihsZXQgcj0wO3I8ZTsrK3IpbltyXT1vLG8rPXRbcl07cmV0dXJuIG5bZV09byxufWZ1bmN0aW9uIEc0KHQsZSl7bGV0IG49bmV3IFVpbnQxNkFycmF5KHQucG9zaXRpb25zKSxvPW5ldyBVaW50MTZBcnJheSh0LndpZHRocykscj1uZXcgVWludDMyQXJyYXkodC5jb3VudHMpLGk9bmV3IFVpbnQxNkFycmF5KHQuYmF0Y2hJZHMpO1U0KHQucGFja2VkQnVmZmVyKTtsZXQgcz12UixmPUxSLHU9RFIsYz16ZC5taW4sbD16ZC5tYXgscD1DUihuLHMsYyxsLGYpLGQ9cC5sZW5ndGgvMyxtPWQqNC00LF89bmV3IEZsb2F0MzJBcnJheShtKjMpLGc9bmV3IEZsb2F0MzJBcnJheShtKjMpLGI9bmV3IEZsb2F0MzJBcnJheShtKjMpLFQ9bmV3IEZsb2F0MzJBcnJheShtKjIpLE89bmV3IFVpbnQxNkFycmF5KG0pLEU9MCx3PTAsQz0wLE4sST0wLEQ9ci5sZW5ndGg7Zm9yKE49MDtOPEQ7KytOKXtsZXQgUz1yW05dLFA9b1tOXSxGPWlbTl07Zm9yKGxldCBqPTA7ajxTOysrail7bGV0IEg7aWYoaj09PTApe2xldCBvdD1hLnVucGFjayhwLEkqMyxQUiksYXQ9YS51bnBhY2socCwoSSsxKSozLE1SKTtIPWEuc3VidHJhY3Qob3QsYXQsTlIpLGEuYWRkKG90LEgsSCl9ZWxzZSBIPWEudW5wYWNrKHAsKEkrai0xKSozLE5SKTtsZXQgaz1hLnVucGFjayhwLChJK2opKjMsazQpLEs7aWYoaj09PVMtMSl7bGV0IG90PWEudW5wYWNrKHAsKEkrUy0xKSozLFBSKSxhdD1hLnVucGFjayhwLChJK1MtMikqMyxNUik7Sz1hLnN1YnRyYWN0KG90LGF0LElSKSxhLmFkZChvdCxLLEspfWVsc2UgSz1hLnVucGFjayhwLChJK2orMSkqMyxJUik7YS5zdWJ0cmFjdChILHUsSCksYS5zdWJ0cmFjdChrLHUsayksYS5zdWJ0cmFjdChLLHUsSyk7bGV0IFg9aj09PTA/MjowLFI9aj09PVMtMT8yOjQ7Zm9yKGxldCBvdD1YO290PFI7KytvdCl7YS5wYWNrKGssXyxFKSxhLnBhY2soSCxnLEUpLGEucGFjayhLLGIsRSksRSs9MztsZXQgYXQ9b3QtMjwwPy0xOjE7VFt3KytdPTIqKG90JTIpLTEsVFt3KytdPWF0KlAsT1tDKytdPUZ9fUkrPVN9bGV0IHY9RHQuY3JlYXRlVHlwZWRBcnJheShtLGQqNi02KSxMPTAsVT0wO2ZvcihEPWQtMSxOPTA7TjxEOysrTil2W1UrK109TCx2W1UrK109TCsyLHZbVSsrXT1MKzEsdltVKytdPUwrMSx2W1UrK109TCsyLHZbVSsrXT1MKzMsTCs9NDtlLnB1c2goXy5idWZmZXIsZy5idWZmZXIsYi5idWZmZXIpLGUucHVzaChULmJ1ZmZlcixPLmJ1ZmZlcix2LmJ1ZmZlcik7bGV0IEE9e2luZGV4RGF0YXR5cGU6di5CWVRFU19QRVJfRUxFTUVOVD09PTI/RHQuVU5TSUdORURfU0hPUlQ6RHQuVU5TSUdORURfSU5ULGN1cnJlbnRQb3NpdGlvbnM6Xy5idWZmZXIscHJldmlvdXNQb3NpdGlvbnM6Zy5idWZmZXIsbmV4dFBvc2l0aW9uczpiLmJ1ZmZlcixleHBhbmRBbmRXaWR0aDpULmJ1ZmZlcixiYXRjaElkczpPLmJ1ZmZlcixpbmRpY2VzOnYuYnVmZmVyfTtpZih0LmtlZXBEZWNvZGVkUG9zaXRpb25zKXtsZXQgUz1WNChyKTtlLnB1c2gocC5idWZmZXIsUy5idWZmZXIpLEE9X3IoQSx7ZGVjb2RlZFBvc2l0aW9uczpwLmJ1ZmZlcixkZWNvZGVkUG9zaXRpb25PZmZzZXRzOlMuYnVmZmVyfSl9cmV0dXJuIEF9dmFyIHZSLExSLERSLHpkLFBSLE1SLE5SLGs0LElSLHo0LG5nPVooKCk9PntGdCgpO29wKCk7eFIoKTtadCgpOyRlKCk7d24oKTtzbygpO3ZSPW5ldyBOdCxMUj1uZXcgJCxEUj1uZXcgYSx6ZD17bWluOnZvaWQgMCxtYXg6dm9pZCAwfTtQUj1uZXcgYSxNUj1uZXcgYSxOUj1uZXcgYSxrND1uZXcgYSxJUj1uZXcgYTt6ND1RZShHNCl9KTtmdW5jdGlvbiBoaSh0LGUpe3kudHlwZU9mLm9iamVjdCgiZWxsaXBzb2lkIix0KSx0aGlzLl9lbGxpcHNvaWQ9dCx0aGlzLl9jYW1lcmFQb3NpdGlvbj1uZXcgYSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluU2NhbGVkU3BhY2U9bmV3IGEsdGhpcy5fZGlzdGFuY2VUb0xpbWJJblNjYWxlZFNwYWNlU3F1YXJlZD0wLGgoZSkmJih0aGlzLmNhbWVyYVBvc2l0aW9uPWUpfWZ1bmN0aW9uIFVSKHQsZSxuKXtpZihoKGUpJiZlPDAmJnQubWluaW11bVJhZGl1cz4tZSl7bGV0IG89YS5mcm9tRWxlbWVudHModC5yYWRpaS54K2UsdC5yYWRpaS55K2UsdC5yYWRpaS56K2UscTQpO3Q9JC5mcm9tQ2FydGVzaWFuMyhvLG4pfXJldHVybiB0fWZ1bmN0aW9uIFZSKHQsZSxuLG8pe3kudHlwZU9mLm9iamVjdCgiZGlyZWN0aW9uVG9Qb2ludCIsZSkseS5kZWZpbmVkKCJwb3NpdGlvbnMiLG4pLGgobyl8fChvPW5ldyBhKTtsZXQgcj1qUih0LGUpLGk9MDtmb3IobGV0IHM9MCxmPW4ubGVuZ3RoO3M8ZjsrK3Mpe2xldCB1PW5bc10sYz1HUih0LHUscik7aWYoYzwwKXJldHVybjtpPU1hdGgubWF4KGksYyl9cmV0dXJuIHpSKHIsaSxvKX1mdW5jdGlvbiBrUih0LGUsbixvLHIsaSl7eS50eXBlT2Yub2JqZWN0KCJkaXJlY3Rpb25Ub1BvaW50IixlKSx5LmRlZmluZWQoInZlcnRpY2VzIixuKSx5LnR5cGVPZi5udW1iZXIoInN0cmlkZSIsbyksaChpKXx8KGk9bmV3IGEpLG89eChvLDMpLHI9eChyLGEuWkVSTyk7bGV0IHM9alIodCxlKSxmPTA7Zm9yKGxldCB1PTAsYz1uLmxlbmd0aDt1PGM7dSs9byl7amQueD1uW3VdK3IueCxqZC55PW5bdSsxXStyLnksamQuej1uW3UrMl0rci56O2xldCBsPUdSKHQsamQscyk7aWYobDwwKXJldHVybjtmPU1hdGgubWF4KGYsbCl9cmV0dXJuIHpSKHMsZixpKX1mdW5jdGlvbiByZyh0LGUsbil7bGV0IG89ZSxyPW4saT1hLnN1YnRyYWN0KHQsbyxGUikscz0tYS5kb3QoaSxvKTtyZXR1cm4hKHI8MD9zPjA6cz5yJiZzKnMvYS5tYWduaXR1ZGVTcXVhcmVkKGkpPnIpfWZ1bmN0aW9uIEdSKHQsZSxuKXtsZXQgbz10LnRyYW5zZm9ybVBvc2l0aW9uVG9TY2FsZWRTcGFjZShlLEs0KSxyPWEubWFnbml0dWRlU3F1YXJlZChvKSxpPU1hdGguc3FydChyKSxzPWEuZGl2aWRlQnlTY2FsYXIobyxpLFc0KTtyPU1hdGgubWF4KDEsciksaT1NYXRoLm1heCgxLGkpO2xldCBmPWEuZG90KHMsbiksdT1hLm1hZ25pdHVkZShhLmNyb3NzKHMsbixzKSksYz0xL2ksbD1NYXRoLnNxcnQoci0xKSpjO3JldHVybiAxLyhmKmMtdSpsKX1mdW5jdGlvbiB6Uih0LGUsbil7aWYoIShlPD0wfHxlPT09MS8wfHxlIT09ZSkpcmV0dXJuIGEubXVsdGlwbHlCeVNjYWxhcih0LGUsbil9ZnVuY3Rpb24galIodCxlKXtyZXR1cm4gYS5lcXVhbHMoZSxhLlpFUk8pP2U6KHQudHJhbnNmb3JtUG9zaXRpb25Ub1NjYWxlZFNwYWNlKGUsb2cpLGEubm9ybWFsaXplKG9nLG9nKSl9dmFyIEZSLGo0LEJSLEg0LHE0LGpkLEs0LFc0LG9nLHhzLGl1PVooKCk9Pnt2ZSgpO0Z0KCk7WHQoKTtJdCgpO2Z0KCk7WnQoKTt3bigpO09iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGhpLnByb3RvdHlwZSx7ZWxsaXBzb2lkOntnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fZWxsaXBzb2lkfX0sY2FtZXJhUG9zaXRpb246e2dldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLl9jYW1lcmFQb3NpdGlvbn0sc2V0OmZ1bmN0aW9uKHQpe2xldCBuPXRoaXMuX2VsbGlwc29pZC50cmFuc2Zvcm1Qb3NpdGlvblRvU2NhbGVkU3BhY2UodCx0aGlzLl9jYW1lcmFQb3NpdGlvbkluU2NhbGVkU3BhY2UpLG89YS5tYWduaXR1ZGVTcXVhcmVkKG4pLTE7YS5jbG9uZSh0LHRoaXMuX2NhbWVyYVBvc2l0aW9uKSx0aGlzLl9jYW1lcmFQb3NpdGlvbkluU2NhbGVkU3BhY2U9bix0aGlzLl9kaXN0YW5jZVRvTGltYkluU2NhbGVkU3BhY2VTcXVhcmVkPW99fX0pO0ZSPW5ldyBhO2hpLnByb3RvdHlwZS5pc1BvaW50VmlzaWJsZT1mdW5jdGlvbih0KXtsZXQgbj10aGlzLl9lbGxpcHNvaWQudHJhbnNmb3JtUG9zaXRpb25Ub1NjYWxlZFNwYWNlKHQsRlIpO3JldHVybiByZyhuLHRoaXMuX2NhbWVyYVBvc2l0aW9uSW5TY2FsZWRTcGFjZSx0aGlzLl9kaXN0YW5jZVRvTGltYkluU2NhbGVkU3BhY2VTcXVhcmVkKX07aGkucHJvdG90eXBlLmlzU2NhbGVkU3BhY2VQb2ludFZpc2libGU9ZnVuY3Rpb24odCl7cmV0dXJuIHJnKHQsdGhpcy5fY2FtZXJhUG9zaXRpb25JblNjYWxlZFNwYWNlLHRoaXMuX2Rpc3RhbmNlVG9MaW1iSW5TY2FsZWRTcGFjZVNxdWFyZWQpfTtqND1uZXcgYTtoaS5wcm90b3R5cGUuaXNTY2FsZWRTcGFjZVBvaW50VmlzaWJsZVBvc3NpYmx5VW5kZXJFbGxpcHNvaWQ9ZnVuY3Rpb24odCxlKXtsZXQgbj10aGlzLl9lbGxpcHNvaWQsbyxyO3JldHVybiBoKGUpJiZlPDAmJm4ubWluaW11bVJhZGl1cz4tZT8ocj1qNCxyLng9dGhpcy5fY2FtZXJhUG9zaXRpb24ueC8obi5yYWRpaS54K2UpLHIueT10aGlzLl9jYW1lcmFQb3NpdGlvbi55LyhuLnJhZGlpLnkrZSksci56PXRoaXMuX2NhbWVyYVBvc2l0aW9uLnovKG4ucmFkaWkueitlKSxvPXIueCpyLngrci55KnIueStyLnoqci56LTEpOihyPXRoaXMuX2NhbWVyYVBvc2l0aW9uSW5TY2FsZWRTcGFjZSxvPXRoaXMuX2Rpc3RhbmNlVG9MaW1iSW5TY2FsZWRTcGFjZVNxdWFyZWQpLHJnKHQscixvKX07aGkucHJvdG90eXBlLmNvbXB1dGVIb3Jpem9uQ3VsbGluZ1BvaW50PWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gVlIodGhpcy5fZWxsaXBzb2lkLHQsZSxuKX07QlI9JC5jbG9uZSgkLlVOSVRfU1BIRVJFKTtoaS5wcm90b3R5cGUuY29tcHV0ZUhvcml6b25DdWxsaW5nUG9pbnRQb3NzaWJseVVuZGVyRWxsaXBzb2lkPWZ1bmN0aW9uKHQsZSxuLG8pe2xldCByPVVSKHRoaXMuX2VsbGlwc29pZCxuLEJSKTtyZXR1cm4gVlIocix0LGUsbyl9O2hpLnByb3RvdHlwZS5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludEZyb21WZXJ0aWNlcz1mdW5jdGlvbih0LGUsbixvLHIpe3JldHVybiBrUih0aGlzLl9lbGxpcHNvaWQsdCxlLG4sbyxyKX07aGkucHJvdG90eXBlLmNvbXB1dGVIb3Jpem9uQ3VsbGluZ1BvaW50RnJvbVZlcnRpY2VzUG9zc2libHlVbmRlckVsbGlwc29pZD1mdW5jdGlvbih0LGUsbixvLHIsaSl7bGV0IHM9VVIodGhpcy5fZWxsaXBzb2lkLHIsQlIpO3JldHVybiBrUihzLHQsZSxuLG8saSl9O0g0PVtdO2hpLnByb3RvdHlwZS5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludEZyb21SZWN0YW5nbGU9ZnVuY3Rpb24odCxlLG4pe3kudHlwZU9mLm9iamVjdCgicmVjdGFuZ2xlIix0KTtsZXQgbz1OdC5zdWJzYW1wbGUodCxlLDAsSDQpLHI9QXQuZnJvbVBvaW50cyhvKTtpZighKGEubWFnbml0dWRlKHIuY2VudGVyKTwuMSplLm1pbmltdW1SYWRpdXMpKXJldHVybiB0aGlzLmNvbXB1dGVIb3Jpem9uQ3VsbGluZ1BvaW50KHIuY2VudGVyLG8sbil9O3E0PW5ldyBhO2pkPW5ldyBhO0s0PW5ldyBhLFc0PW5ldyBhO29nPW5ldyBhO3hzPWhpfSk7dmFyIEhkLFg0LEhSLHFSPVooKCk9PntGdCgpO0llKCk7SHQoKTtmdCgpO0hkPXt9O0hkLmdldEhlaWdodD1mdW5jdGlvbih0LGUsbil7aWYoIU51bWJlci5pc0Zpbml0ZShlKSl0aHJvdyBuZXcgQigic2NhbGUgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXIuIik7aWYoIU51bWJlci5pc0Zpbml0ZShuKSl0aHJvdyBuZXcgQigicmVsYXRpdmVIZWlnaHQgbXVzdCBiZSBhIGZpbml0ZSBudW1iZXIuIik7cmV0dXJuKHQtbikqZStufTtYND1uZXcgY3Q7SGQuZ2V0UG9zaXRpb249ZnVuY3Rpb24odCxlLG4sbyxyKXtsZXQgaT1lLmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKHQsWDQpO2lmKCFoKGkpKXJldHVybiBhLmNsb25lKHQscik7bGV0IHM9SGQuZ2V0SGVpZ2h0KGkuaGVpZ2h0LG4sbyk7cmV0dXJuIGEuZnJvbVJhZGlhbnMoaS5sb25naXR1ZGUsaS5sYXRpdHVkZSxzLGUscil9O0hSPUhkfSk7dmFyIFk0LHhyLEtSPVooKCk9PntZND17Tk9ORTowLEJJVFMxMjoxfSx4cj1PYmplY3QuZnJlZXplKFk0KX0pO2Z1bmN0aW9uIE1vKHQsZSxuLG8scixpLHMsZix1LGMpe2xldCBsPXhyLk5PTkUscCxkO2lmKGgoZSkmJmgobikmJmgobykmJmgocikpe2xldCBtPWUubWluaW11bSxfPWUubWF4aW11bSxnPWEuc3VidHJhY3QoXyxtLCQ0KSxiPW8tbjtNYXRoLm1heChhLm1heGltdW1Db21wb25lbnQoZyksYik8UTQtMT9sPXhyLkJJVFMxMjpsPXhyLk5PTkUscD1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24ocixuZXcgc3QpO2xldCBPPWEubmVnYXRlKG0sd2MpO3N0Lm11bHRpcGx5KHN0LmZyb21UcmFuc2xhdGlvbihPLHFkKSxwLHApO2xldCBFPXdjO0UueD0xL2cueCxFLnk9MS9nLnksRS56PTEvZy56LHN0Lm11bHRpcGx5KHN0LmZyb21TY2FsZShFLHFkKSxwLHApLGQ9c3QuY2xvbmUociksc3Quc2V0VHJhbnNsYXRpb24oZCxhLlpFUk8sZCkscj1zdC5jbG9uZShyLG5ldyBzdCk7bGV0IHc9c3QuZnJvbVRyYW5zbGF0aW9uKG0scWQpLEM9c3QuZnJvbVNjYWxlKGcsWjQpLE49c3QubXVsdGlwbHkodyxDLHFkKTtzdC5tdWx0aXBseShyLE4sciksc3QubXVsdGlwbHkoZCxOLGQpfXRoaXMucXVhbnRpemF0aW9uPWwsdGhpcy5taW5pbXVtSGVpZ2h0PW4sdGhpcy5tYXhpbXVtSGVpZ2h0PW8sdGhpcy5jZW50ZXI9YS5jbG9uZSh0KSx0aGlzLnRvU2NhbGVkRU5VPXAsdGhpcy5mcm9tU2NhbGVkRU5VPXIsdGhpcy5tYXRyaXg9ZCx0aGlzLmhhc1ZlcnRleE5vcm1hbHM9aSx0aGlzLmhhc1dlYk1lcmNhdG9yVD14KHMsITEpLHRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscz14KGYsITEpLHRoaXMuZXhhZ2dlcmF0aW9uPXgodSwxKSx0aGlzLmV4YWdnZXJhdGlvblJlbGF0aXZlSGVpZ2h0PXgoYywwKSx0aGlzLnN0cmlkZT0wLHRoaXMuX29mZnNldEdlb2RldGljU3VyZmFjZU5vcm1hbD0wLHRoaXMuX29mZnNldFZlcnRleE5vcm1hbD0wLHRoaXMuX2NhbGN1bGF0ZVN0cmlkZUFuZE9mZnNldHMoKX12YXIgd2MsJDQsUHIscWQsWjQsUTQsSjQsV1IsS2QsV2QsUHMsc3U9WigoKT0+e2FzKCk7VWUoKTtGdCgpO0ZlKCk7SXQoKTtmdCgpO1d0KCk7VW4oKTtxUigpO0tSKCk7d2M9bmV3IGEsJDQ9bmV3IGEsUHI9bmV3IHR0LHFkPW5ldyBzdCxaND1uZXcgc3QsUTQ9TWF0aC5wb3coMiwxMik7TW8ucHJvdG90eXBlLmVuY29kZT1mdW5jdGlvbih0LGUsbixvLHIsaSxzLGYpe2xldCB1PW8ueCxjPW8ueTtpZih0aGlzLnF1YW50aXphdGlvbj09PXhyLkJJVFMxMil7bj1zdC5tdWx0aXBseUJ5UG9pbnQodGhpcy50b1NjYWxlZEVOVSxuLHdjKSxuLng9TS5jbGFtcChuLngsMCwxKSxuLnk9TS5jbGFtcChuLnksMCwxKSxuLno9TS5jbGFtcChuLnosMCwxKTtsZXQgbD10aGlzLm1heGltdW1IZWlnaHQtdGhpcy5taW5pbXVtSGVpZ2h0LHA9TS5jbGFtcCgoci10aGlzLm1pbmltdW1IZWlnaHQpL2wsMCwxKTt0dC5mcm9tRWxlbWVudHMobi54LG4ueSxQcik7bGV0IGQ9bm4uY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXMoUHIpO3R0LmZyb21FbGVtZW50cyhuLnoscCxQcik7bGV0IG09bm4uY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXMoUHIpO3R0LmZyb21FbGVtZW50cyh1LGMsUHIpO2xldCBfPW5uLmNvbXByZXNzVGV4dHVyZUNvb3JkaW5hdGVzKFByKTtpZih0W2UrK109ZCx0W2UrK109bSx0W2UrK109Xyx0aGlzLmhhc1dlYk1lcmNhdG9yVCl7dHQuZnJvbUVsZW1lbnRzKHMsMCxQcik7bGV0IGc9bm4uY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXMoUHIpO3RbZSsrXT1nfX1lbHNlIGEuc3VidHJhY3Qobix0aGlzLmNlbnRlcix3YyksdFtlKytdPXdjLngsdFtlKytdPXdjLnksdFtlKytdPXdjLnosdFtlKytdPXIsdFtlKytdPXUsdFtlKytdPWMsdGhpcy5oYXNXZWJNZXJjYXRvclQmJih0W2UrK109cyk7cmV0dXJuIHRoaXMuaGFzVmVydGV4Tm9ybWFscyYmKHRbZSsrXT1ubi5vY3RQYWNrRmxvYXQoaSkpLHRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscyYmKHRbZSsrXT1mLngsdFtlKytdPWYueSx0W2UrK109Zi56KSxlfTtKND1uZXcgYSxXUj1uZXcgYTtNby5wcm90b3R5cGUuYWRkR2VvZGV0aWNTdXJmYWNlTm9ybWFscz1mdW5jdGlvbih0LGUsbil7aWYodGhpcy5oYXNHZW9kZXRpY1N1cmZhY2VOb3JtYWxzKXJldHVybjtsZXQgbz10aGlzLnN0cmlkZSxyPXQubGVuZ3RoL287dGhpcy5oYXNHZW9kZXRpY1N1cmZhY2VOb3JtYWxzPSEwLHRoaXMuX2NhbGN1bGF0ZVN0cmlkZUFuZE9mZnNldHMoKTtsZXQgaT10aGlzLnN0cmlkZTtmb3IobGV0IHM9MDtzPHI7cysrKXtmb3IobGV0IGw9MDtsPG87bCsrKXtsZXQgcD1zKm8rbCxkPXMqaStsO2VbZF09dFtwXX1sZXQgZj10aGlzLmRlY29kZVBvc2l0aW9uKGUscyxKNCksdT1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChmLFdSKSxjPXMqaSt0aGlzLl9vZmZzZXRHZW9kZXRpY1N1cmZhY2VOb3JtYWw7ZVtjXT11LngsZVtjKzFdPXUueSxlW2MrMl09dS56fX07TW8ucHJvdG90eXBlLnJlbW92ZUdlb2RldGljU3VyZmFjZU5vcm1hbHM9ZnVuY3Rpb24odCxlKXtpZighdGhpcy5oYXNHZW9kZXRpY1N1cmZhY2VOb3JtYWxzKXJldHVybjtsZXQgbj10aGlzLnN0cmlkZSxvPXQubGVuZ3RoL247dGhpcy5oYXNHZW9kZXRpY1N1cmZhY2VOb3JtYWxzPSExLHRoaXMuX2NhbGN1bGF0ZVN0cmlkZUFuZE9mZnNldHMoKTtsZXQgcj10aGlzLnN0cmlkZTtmb3IobGV0IGk9MDtpPG87aSsrKWZvcihsZXQgcz0wO3M8cjtzKyspe2xldCBmPWkqbitzLHU9aSpyK3M7ZVt1XT10W2ZdfX07TW8ucHJvdG90eXBlLmRlY29kZVBvc2l0aW9uPWZ1bmN0aW9uKHQsZSxuKXtpZihoKG4pfHwobj1uZXcgYSksZSo9dGhpcy5zdHJpZGUsdGhpcy5xdWFudGl6YXRpb249PT14ci5CSVRTMTIpe2xldCBvPW5uLmRlY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXModFtlXSxQcik7bi54PW8ueCxuLnk9by55O2xldCByPW5uLmRlY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXModFtlKzFdLFByKTtyZXR1cm4gbi56PXIueCxzdC5tdWx0aXBseUJ5UG9pbnQodGhpcy5mcm9tU2NhbGVkRU5VLG4sbil9cmV0dXJuIG4ueD10W2VdLG4ueT10W2UrMV0sbi56PXRbZSsyXSxhLmFkZChuLHRoaXMuY2VudGVyLG4pfTtNby5wcm90b3R5cGUuZ2V0RXhhZ2dlcmF0ZWRQb3NpdGlvbj1mdW5jdGlvbih0LGUsbil7bj10aGlzLmRlY29kZVBvc2l0aW9uKHQsZSxuKTtsZXQgbz10aGlzLmV4YWdnZXJhdGlvbixyPXRoaXMuZXhhZ2dlcmF0aW9uUmVsYXRpdmVIZWlnaHQ7aWYobyE9PTEmJnRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscyl7bGV0IHM9dGhpcy5kZWNvZGVHZW9kZXRpY1N1cmZhY2VOb3JtYWwodCxlLFdSKSxmPXRoaXMuZGVjb2RlSGVpZ2h0KHQsZSksdT1IUi5nZXRIZWlnaHQoZixvLHIpLWY7bi54Kz1zLngqdSxuLnkrPXMueSp1LG4ueis9cy56KnV9cmV0dXJuIG59O01vLnByb3RvdHlwZS5kZWNvZGVUZXh0dXJlQ29vcmRpbmF0ZXM9ZnVuY3Rpb24odCxlLG4pe3JldHVybiBoKG4pfHwobj1uZXcgdHQpLGUqPXRoaXMuc3RyaWRlLHRoaXMucXVhbnRpemF0aW9uPT09eHIuQklUUzEyP25uLmRlY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXModFtlKzJdLG4pOnR0LmZyb21FbGVtZW50cyh0W2UrNF0sdFtlKzVdLG4pfTtNby5wcm90b3R5cGUuZGVjb2RlSGVpZ2h0PWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUqPXRoaXMuc3RyaWRlLHRoaXMucXVhbnRpemF0aW9uPT09eHIuQklUUzEyP25uLmRlY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXModFtlKzFdLFByKS55Kih0aGlzLm1heGltdW1IZWlnaHQtdGhpcy5taW5pbXVtSGVpZ2h0KSt0aGlzLm1pbmltdW1IZWlnaHQ6dFtlKzNdfTtNby5wcm90b3R5cGUuZGVjb2RlV2ViTWVyY2F0b3JUPWZ1bmN0aW9uKHQsZSl7cmV0dXJuIGUqPXRoaXMuc3RyaWRlLHRoaXMucXVhbnRpemF0aW9uPT09eHIuQklUUzEyP25uLmRlY29tcHJlc3NUZXh0dXJlQ29vcmRpbmF0ZXModFtlKzNdLFByKS54OnRbZSs2XX07TW8ucHJvdG90eXBlLmdldE9jdEVuY29kZWROb3JtYWw9ZnVuY3Rpb24odCxlLG4pe2U9ZSp0aGlzLnN0cmlkZSt0aGlzLl9vZmZzZXRWZXJ0ZXhOb3JtYWw7bGV0IG89dFtlXS8yNTYscj1NYXRoLmZsb29yKG8pLGk9KG8tcikqMjU2O3JldHVybiB0dC5mcm9tRWxlbWVudHMocixpLG4pfTtNby5wcm90b3R5cGUuZGVjb2RlR2VvZGV0aWNTdXJmYWNlTm9ybWFsPWZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gZT1lKnRoaXMuc3RyaWRlK3RoaXMuX29mZnNldEdlb2RldGljU3VyZmFjZU5vcm1hbCxuLng9dFtlXSxuLnk9dFtlKzFdLG4uej10W2UrMl0sbn07TW8ucHJvdG90eXBlLl9jYWxjdWxhdGVTdHJpZGVBbmRPZmZzZXRzPWZ1bmN0aW9uKCl7bGV0IHQ9MDtzd2l0Y2godGhpcy5xdWFudGl6YXRpb24pe2Nhc2UgeHIuQklUUzEyOnQrPTM7YnJlYWs7ZGVmYXVsdDp0Kz02fXRoaXMuaGFzV2ViTWVyY2F0b3JUJiYodCs9MSksdGhpcy5oYXNWZXJ0ZXhOb3JtYWxzJiYodGhpcy5fb2Zmc2V0VmVydGV4Tm9ybWFsPXQsdCs9MSksdGhpcy5oYXNHZW9kZXRpY1N1cmZhY2VOb3JtYWxzJiYodGhpcy5fb2Zmc2V0R2VvZGV0aWNTdXJmYWNlTm9ybWFsPXQsdCs9MyksdGhpcy5zdHJpZGU9dH07S2Q9e3Bvc2l0aW9uM0RBbmRIZWlnaHQ6MCx0ZXh0dXJlQ29vcmRBbmRFbmNvZGVkTm9ybWFsczoxLGdlb2RldGljU3VyZmFjZU5vcm1hbDoyfSxXZD17Y29tcHJlc3NlZDA6MCxjb21wcmVzc2VkMToxLGdlb2RldGljU3VyZmFjZU5vcm1hbDoyfTtNby5wcm90b3R5cGUuZ2V0QXR0cmlidXRlcz1mdW5jdGlvbih0KXtsZXQgZT1udC5GTE9BVCxuPW50LmdldFNpemVJbkJ5dGVzKGUpLG89dGhpcy5zdHJpZGUqbixyPTAsaT1bXTtmdW5jdGlvbiBzKGYsdSl7aS5wdXNoKHtpbmRleDpmLHZlcnRleEJ1ZmZlcjp0LGNvbXBvbmVudERhdGF0eXBlOmUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTp1LG9mZnNldEluQnl0ZXM6cixzdHJpZGVJbkJ5dGVzOm99KSxyKz11Km59aWYodGhpcy5xdWFudGl6YXRpb249PT14ci5OT05FKXtzKEtkLnBvc2l0aW9uM0RBbmRIZWlnaHQsNCk7bGV0IGY9MjtmKz10aGlzLmhhc1dlYk1lcmNhdG9yVD8xOjAsZis9dGhpcy5oYXNWZXJ0ZXhOb3JtYWxzPzE6MCxzKEtkLnRleHR1cmVDb29yZEFuZEVuY29kZWROb3JtYWxzLGYpLHRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscyYmcyhLZC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwsMyl9ZWxzZXtsZXQgZj10aGlzLmhhc1dlYk1lcmNhdG9yVHx8dGhpcy5oYXNWZXJ0ZXhOb3JtYWxzLHU9dGhpcy5oYXNXZWJNZXJjYXRvclQmJnRoaXMuaGFzVmVydGV4Tm9ybWFscztzKFdkLmNvbXByZXNzZWQwLGY/NDozKSx1JiZzKFdkLmNvbXByZXNzZWQxLDEpLHRoaXMuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscyYmcyhXZC5nZW9kZXRpY1N1cmZhY2VOb3JtYWwsMyl9cmV0dXJuIGl9O01vLnByb3RvdHlwZS5nZXRBdHRyaWJ1dGVMb2NhdGlvbnM9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5xdWFudGl6YXRpb249PT14ci5OT05FP0tkOldkfTtNby5jbG9uZT1mdW5jdGlvbih0LGUpe2lmKGgodCkpcmV0dXJuIGgoZSl8fChlPW5ldyBNbyksZS5xdWFudGl6YXRpb249dC5xdWFudGl6YXRpb24sZS5taW5pbXVtSGVpZ2h0PXQubWluaW11bUhlaWdodCxlLm1heGltdW1IZWlnaHQ9dC5tYXhpbXVtSGVpZ2h0LGUuY2VudGVyPWEuY2xvbmUodC5jZW50ZXIpLGUudG9TY2FsZWRFTlU9c3QuY2xvbmUodC50b1NjYWxlZEVOVSksZS5mcm9tU2NhbGVkRU5VPXN0LmNsb25lKHQuZnJvbVNjYWxlZEVOVSksZS5tYXRyaXg9c3QuY2xvbmUodC5tYXRyaXgpLGUuaGFzVmVydGV4Tm9ybWFscz10Lmhhc1ZlcnRleE5vcm1hbHMsZS5oYXNXZWJNZXJjYXRvclQ9dC5oYXNXZWJNZXJjYXRvclQsZS5oYXNHZW9kZXRpY1N1cmZhY2VOb3JtYWxzPXQuaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscyxlLmV4YWdnZXJhdGlvbj10LmV4YWdnZXJhdGlvbixlLmV4YWdnZXJhdGlvblJlbGF0aXZlSGVpZ2h0PXQuZXhhZ2dlcmF0aW9uUmVsYXRpdmVIZWlnaHQsZS5fY2FsY3VsYXRlU3RyaWRlQW5kT2Zmc2V0cygpLGV9O1BzPU1vfSk7dmFyIHNnPXt9O2RlKHNnLHtkZWZhdWx0OigpPT5jVX0pO2Z1bmN0aW9uIGN1KHQsZSxuKXtuPXgobixNKTtsZXQgbz10Lmxlbmd0aDtmb3IobGV0IHI9MDtyPG87KytyKWlmKG4uZXF1YWxzRXBzaWxvbih0W3JdLGUsTS5FUFNJTE9OMTIpKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIG5VKHQsZSl7dC5lbGxpcHNvaWQ9JC5jbG9uZSh0LmVsbGlwc29pZCksdC5yZWN0YW5nbGU9TnQuY2xvbmUodC5yZWN0YW5nbGUpO2xldCBuPXNVKHQuYnVmZmVyLHQucmVsYXRpdmVUb0NlbnRlcix0LmVsbGlwc29pZCx0LnJlY3RhbmdsZSx0Lm5hdGl2ZVJlY3RhbmdsZSx0LmV4YWdnZXJhdGlvbix0LmV4YWdnZXJhdGlvblJlbGF0aXZlSGVpZ2h0LHQuc2tpcnRIZWlnaHQsdC5pbmNsdWRlV2ViTWVyY2F0b3JULHQubmVnYXRpdmVBbHRpdHVkZUV4cG9uZW50Qmlhcyx0Lm5lZ2F0aXZlRWxldmF0aW9uVGhyZXNob2xkKSxvPW4udmVydGljZXM7ZS5wdXNoKG8uYnVmZmVyKTtsZXQgcj1uLmluZGljZXM7cmV0dXJuIGUucHVzaChyLmJ1ZmZlcikse3ZlcnRpY2VzOm8uYnVmZmVyLGluZGljZXM6ci5idWZmZXIsbnVtYmVyT2ZBdHRyaWJ1dGVzOm4uZW5jb2Rpbmcuc3RyaWRlLG1pbmltdW1IZWlnaHQ6bi5taW5pbXVtSGVpZ2h0LG1heGltdW1IZWlnaHQ6bi5tYXhpbXVtSGVpZ2h0LGJvdW5kaW5nU3BoZXJlM0Q6bi5ib3VuZGluZ1NwaGVyZTNELG9yaWVudGVkQm91bmRpbmdCb3g6bi5vcmllbnRlZEJvdW5kaW5nQm94LG9jY2x1ZGVlUG9pbnRJblNjYWxlZFNwYWNlOm4ub2NjbHVkZWVQb2ludEluU2NhbGVkU3BhY2UsZW5jb2Rpbmc6bi5lbmNvZGluZyx2ZXJ0ZXhDb3VudFdpdGhvdXRTa2lydHM6bi52ZXJ0ZXhDb3VudFdpdGhvdXRTa2lydHMsaW5kZXhDb3VudFdpdGhvdXRTa2lydHM6bi5pbmRleENvdW50V2l0aG91dFNraXJ0cyx3ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aDpuLndlc3RJbmRpY2VzU291dGhUb05vcnRoLHNvdXRoSW5kaWNlc0Vhc3RUb1dlc3Q6bi5zb3V0aEluZGljZXNFYXN0VG9XZXN0LGVhc3RJbmRpY2VzTm9ydGhUb1NvdXRoOm4uZWFzdEluZGljZXNOb3J0aFRvU291dGgsbm9ydGhJbmRpY2VzV2VzdFRvRWFzdDpuLm5vcnRoSW5kaWNlc1dlc3RUb0Vhc3R9fWZ1bmN0aW9uIHNVKHQsZSxuLG8scixpLHMsZix1LGMsbCl7bGV0IHAsZCxtLF8sZyxiO2gobyk/KHA9by53ZXN0LGQ9by5zb3V0aCxtPW8uZWFzdCxfPW8ubm9ydGgsZz1vLndpZHRoLGI9by5oZWlnaHQpOihwPU0udG9SYWRpYW5zKHIud2VzdCksZD1NLnRvUmFkaWFucyhyLnNvdXRoKSxtPU0udG9SYWRpYW5zKHIuZWFzdCksXz1NLnRvUmFkaWFucyhyLm5vcnRoKSxnPU0udG9SYWRpYW5zKG8ud2lkdGgpLGI9TS50b1JhZGlhbnMoby5oZWlnaHQpKTtsZXQgVD1bZCxfXSxPPVtwLG1dLEU9WG8uZWFzdE5vcnRoVXBUb0ZpeGVkRnJhbWUoZSxuKSx3PXN0LmludmVyc2VUcmFuc2Zvcm1hdGlvbihFLGlVKSxDLE47dSYmKEM9bm8uZ2VvZGV0aWNMYXRpdHVkZVRvTWVyY2F0b3JBbmdsZShkKSxOPTEvKG5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUoXyktQykpO2xldCBEPWkhPT0xLHY9bmV3IERhdGFWaWV3KHQpLEw9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFU9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLEE9b1U7QS54PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxBLnk9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLEEuej1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7bGV0IFM9clU7Uy54PU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxTLnk9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLFMuej1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7bGV0IFA9MCxGPTAsaj0wLEgsaztmb3Ioaz0wO2s8NDsrK2spe2xldCByZT1QO0g9di5nZXRVaW50MzIocmUsITApLHJlKz1pZztsZXQgJHQ9TS50b1JhZGlhbnModi5nZXRGbG9hdDY0KHJlLCEwKSoxODApO3JlKz1PYyxjdShPLCR0KT09PS0xJiZPLnB1c2goJHQpO2xldCBHZT1NLnRvUmFkaWFucyh2LmdldEZsb2F0NjQocmUsITApKjE4MCk7cmUrPU9jLGN1KFQsR2UpPT09LTEmJlQucHVzaChHZSkscmUrPTIqT2M7bGV0IGRuPXYuZ2V0SW50MzIocmUsITApO3JlKz1YZCxGKz1kbixkbj12LmdldEludDMyKHJlLCEwKSxqKz1kbiozLFArPUgraWd9bGV0IEs9W10sWD1bXSxSPW5ldyBBcnJheShGKSxvdD1uZXcgQXJyYXkoRiksYXQ9bmV3IEFycmF5KEYpLHB0PXU/bmV3IEFycmF5KEYpOltdLHl0PUQ/bmV3IEFycmF5KEYpOltdLHJ0PW5ldyBBcnJheShqKSxQdD1bXSxndD1bXSxDdD1bXSxtdD1bXSx1dD0wLHZ0PTA7Zm9yKFA9MCxrPTA7azw0Oysrayl7SD12LmdldFVpbnQzMihQLCEwKSxQKz1pZztsZXQgcmU9UCwkdD1NLnRvUmFkaWFucyh2LmdldEZsb2F0NjQoUCwhMCkqMTgwKTtQKz1PYztsZXQgR2U9TS50b1JhZGlhbnModi5nZXRGbG9hdDY0KFAsITApKjE4MCk7UCs9T2M7bGV0IGRuPU0udG9SYWRpYW5zKHYuZ2V0RmxvYXQ2NChQLCEwKSoxODApLHNuPWRuKi41O1ArPU9jO2xldCBtbj1NLnRvUmFkaWFucyh2LmdldEZsb2F0NjQoUCwhMCkqMTgwKSxmbz1tbiouNTtQKz1PYztsZXQgSG49di5nZXRJbnQzMihQLCEwKTtQKz1YZDtsZXQgWmU9di5nZXRJbnQzMihQLCEwKTtQKz1YZCxQKz1YZDtsZXQgY249bmV3IEFycmF5KEhuKTtmb3IobGV0IGhuPTA7aG48SG47Kytobil7bGV0IHVvPSR0K3YuZ2V0VWludDgoUCsrKSpkbjtOby5sb25naXR1ZGU9dW87bGV0IHFuPUdlK3YuZ2V0VWludDgoUCsrKSptbjtOby5sYXRpdHVkZT1xbjtsZXQgS249di5nZXRGbG9hdDMyKFAsITApO2lmKFArPWVVLEtuIT09MCYmS248bCYmKEtuKj0tTWF0aC5wb3coMixjKSksS24qPTYzNzEwMTAsTm8uaGVpZ2h0PUtuLGN1KE8sdW8pIT09LTF8fGN1KFQscW4pIT09LTEpe2xldCBEbj1jdShLLE5vLGN0KTtpZihEbj09PS0xKUsucHVzaChjdC5jbG9uZShObykpLFgucHVzaCh1dCk7ZWxzZXtjbltobl09WFtEbl07Y29udGludWV9fWNuW2huXT11dCxNYXRoLmFicyh1by1wKTxzbj9QdC5wdXNoKHtpbmRleDp1dCxjYXJ0b2dyYXBoaWM6Y3QuY2xvbmUoTm8pfSk6TWF0aC5hYnModW8tbSk8c24/Q3QucHVzaCh7aW5kZXg6dXQsY2FydG9ncmFwaGljOmN0LmNsb25lKE5vKX0pOk1hdGguYWJzKHFuLWQpPGZvP2d0LnB1c2goe2luZGV4OnV0LGNhcnRvZ3JhcGhpYzpjdC5jbG9uZShObyl9KTpNYXRoLmFicyhxbi1fKTxmbyYmbXQucHVzaCh7aW5kZXg6dXQsY2FydG9ncmFwaGljOmN0LmNsb25lKE5vKX0pLEw9TWF0aC5taW4oS24sTCksVT1NYXRoLm1heChLbixVKSxhdFt1dF09S247bGV0IGxvPW4uY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oTm8pO2lmKFJbdXRdPWxvLHUmJihwdFt1dF09KG5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUocW4pLUMpKk4pLEQpe2xldCBEbj1uLmdlb2RldGljU3VyZmFjZU5vcm1hbChsbyk7eXRbdXRdPURufXN0Lm11bHRpcGx5QnlQb2ludCh3LGxvLEJhKSxhLm1pbmltdW1CeUNvbXBvbmVudChCYSxBLEEpLGEubWF4aW11bUJ5Q29tcG9uZW50KEJhLFMsUyk7bGV0IHplPSh1by1wKS8obS1wKTt6ZT1NLmNsYW1wKHplLDAsMSk7bGV0IExlPShxbi1kKS8oXy1kKTtMZT1NLmNsYW1wKExlLDAsMSksb3RbdXRdPW5ldyB0dCh6ZSxMZSksKyt1dH1sZXQgS2U9WmUqMztmb3IobGV0IGhuPTA7aG48S2U7KytobiwrK3Z0KXJ0W3Z0XT1jblt2LmdldFVpbnQxNihQLCEwKV0sUCs9dFU7aWYoSCE9PVAtcmUpdGhyb3cgbmV3IEFlKCJJbnZhbGlkIHRlcnJhaW4gdGlsZS4iKX1SLmxlbmd0aD11dCxvdC5sZW5ndGg9dXQsYXQubGVuZ3RoPXV0LHUmJihwdC5sZW5ndGg9dXQpLEQmJih5dC5sZW5ndGg9dXQpO2xldCB6dD11dCxtZT12dCxjZT17aE1pbjpMLGxhc3RCb3JkZXJQb2ludDp2b2lkIDAsc2tpcnRIZWlnaHQ6Zix0b0VOVTp3LGVsbGlwc29pZDpuLG1pbmltdW06QSxtYXhpbXVtOlN9O1B0LnNvcnQoZnVuY3Rpb24ocmUsJHQpe3JldHVybiAkdC5jYXJ0b2dyYXBoaWMubGF0aXR1ZGUtcmUuY2FydG9ncmFwaGljLmxhdGl0dWRlfSksZ3Quc29ydChmdW5jdGlvbihyZSwkdCl7cmV0dXJuIHJlLmNhcnRvZ3JhcGhpYy5sb25naXR1ZGUtJHQuY2FydG9ncmFwaGljLmxvbmdpdHVkZX0pLEN0LnNvcnQoZnVuY3Rpb24ocmUsJHQpe3JldHVybiByZS5jYXJ0b2dyYXBoaWMubGF0aXR1ZGUtJHQuY2FydG9ncmFwaGljLmxhdGl0dWRlfSksbXQuc29ydChmdW5jdGlvbihyZSwkdCl7cmV0dXJuICR0LmNhcnRvZ3JhcGhpYy5sb25naXR1ZGUtcmUuY2FydG9ncmFwaGljLmxvbmdpdHVkZX0pO2xldCBwZT0xZS01O2lmKFlkKFIsYXQsb3QscHQseXQscnQsY2UsUHQsLXBlKmcsITAsLXBlKmIpLFlkKFIsYXQsb3QscHQseXQscnQsY2UsZ3QsLXBlKmIsITEpLFlkKFIsYXQsb3QscHQseXQscnQsY2UsQ3QscGUqZywhMCxwZSpiKSxZZChSLGF0LG90LHB0LHl0LHJ0LGNlLG10LHBlKmIsITEpLFB0Lmxlbmd0aD4wJiZtdC5sZW5ndGg+MCl7bGV0IHJlPVB0WzBdLmluZGV4LCR0PXp0LEdlPW10W210Lmxlbmd0aC0xXS5pbmRleCxkbj1SLmxlbmd0aC0xO3J0LnB1c2goR2UsZG4sJHQsJHQscmUsR2UpfUY9Ui5sZW5ndGg7bGV0IHVlPUF0LmZyb21Qb2ludHMoUiksUXQ7aChvKSYmKFF0PVNvLmZyb21SZWN0YW5nbGUobyxMLFUsbikpO2xldCBOZT1uZXcgeHMobikuY29tcHV0ZUhvcml6b25DdWxsaW5nUG9pbnRQb3NzaWJseVVuZGVyRWxsaXBzb2lkKGUsUixMKSxnZT1uZXcgRGkoQSxTLGUpLEVlPW5ldyBQcyhlLGdlLGNlLmhNaW4sVSxFLCExLHUsRCxpLHMpLHVuPW5ldyBGbG9hdDMyQXJyYXkoRipFZS5zdHJpZGUpLGtlPTA7Zm9yKGxldCByZT0wO3JlPEY7KytyZSlrZT1FZS5lbmNvZGUodW4sa2UsUltyZV0sb3RbcmVdLGF0W3JlXSx2b2lkIDAscHRbcmVdLHl0W3JlXSk7bGV0IGJlPVB0Lm1hcChmdW5jdGlvbihyZSl7cmV0dXJuIHJlLmluZGV4fSkucmV2ZXJzZSgpLGxuPWd0Lm1hcChmdW5jdGlvbihyZSl7cmV0dXJuIHJlLmluZGV4fSkucmV2ZXJzZSgpLHBuPUN0Lm1hcChmdW5jdGlvbihyZSl7cmV0dXJuIHJlLmluZGV4fSkucmV2ZXJzZSgpLEVuPW10Lm1hcChmdW5jdGlvbihyZSl7cmV0dXJuIHJlLmluZGV4fSkucmV2ZXJzZSgpO3JldHVybiBsbi51bnNoaWZ0KHBuW3BuLmxlbmd0aC0xXSksbG4ucHVzaChiZVswXSksRW4udW5zaGlmdChiZVtiZS5sZW5ndGgtMV0pLEVuLnB1c2gocG5bMF0pLHt2ZXJ0aWNlczp1bixpbmRpY2VzOm5ldyBVaW50MTZBcnJheShydCksbWF4aW11bUhlaWdodDpVLG1pbmltdW1IZWlnaHQ6TCxlbmNvZGluZzpFZSxib3VuZGluZ1NwaGVyZTNEOnVlLG9yaWVudGVkQm91bmRpbmdCb3g6UXQsb2NjbHVkZWVQb2ludEluU2NhbGVkU3BhY2U6TmUsdmVydGV4Q291bnRXaXRob3V0U2tpcnRzOnp0LGluZGV4Q291bnRXaXRob3V0U2tpcnRzOm1lLHdlc3RJbmRpY2VzU291dGhUb05vcnRoOmJlLHNvdXRoSW5kaWNlc0Vhc3RUb1dlc3Q6bG4sZWFzdEluZGljZXNOb3J0aFRvU291dGg6cG4sbm9ydGhJbmRpY2VzV2VzdFRvRWFzdDpFbn19ZnVuY3Rpb24gWWQodCxlLG4sbyxyLGkscyxmLHUsYyxsKXtsZXQgcD1mLmxlbmd0aDtmb3IobGV0IGQ9MDtkPHA7KytkKXtsZXQgbT1mW2RdLF89bS5jYXJ0b2dyYXBoaWMsZz1tLmluZGV4LGI9dC5sZW5ndGgsVD1fLmxvbmdpdHVkZSxPPV8ubGF0aXR1ZGU7Tz1NLmNsYW1wKE8sLU0uUElfT1ZFUl9UV08sTS5QSV9PVkVSX1RXTyk7bGV0IEU9Xy5oZWlnaHQtcy5za2lydEhlaWdodDtzLmhNaW49TWF0aC5taW4ocy5oTWluLEUpLGN0LmZyb21SYWRpYW5zKFQsTyxFLE5vKSxjJiYoTm8ubG9uZ2l0dWRlKz11KSxjP2Q9PT1wLTE/Tm8ubGF0aXR1ZGUrPWw6ZD09PTAmJihOby5sYXRpdHVkZS09bCk6Tm8ubGF0aXR1ZGUrPXU7bGV0IHc9cy5lbGxpcHNvaWQuY2FydG9ncmFwaGljVG9DYXJ0ZXNpYW4oTm8pO3QucHVzaCh3KSxlLnB1c2goRSksbi5wdXNoKHR0LmNsb25lKG5bZ10pKSxvLmxlbmd0aD4wJiZvLnB1c2gob1tnXSksci5sZW5ndGg+MCYmci5wdXNoKHJbZ10pLHN0Lm11bHRpcGx5QnlQb2ludChzLnRvRU5VLHcsQmEpO2xldCBDPXMubWluaW11bSxOPXMubWF4aW11bTthLm1pbmltdW1CeUNvbXBvbmVudChCYSxDLEMpLGEubWF4aW11bUJ5Q29tcG9uZW50KEJhLE4sTik7bGV0IEk9cy5sYXN0Qm9yZGVyUG9pbnQ7aWYoaChJKSl7bGV0IEQ9SS5pbmRleDtpLnB1c2goRCxiLTEsYixiLGcsRCl9cy5sYXN0Qm9yZGVyUG9pbnQ9bX19dmFyIHRVLFhkLGlnLGVVLE9jLE5vLEJhLG9VLHJVLGlVLGNVLGNnPVooKCk9Pnt4ZigpO3ZlKCk7VWUoKTtGdCgpO0llKCk7SXQoKTtmdCgpO1p0KCk7aXUoKTtXdCgpO1VuKCk7cGEoKTt3bigpO0pyKCk7c3UoKTtjcygpO2ljKCk7c28oKTt0VT1VaW50MTZBcnJheS5CWVRFU19QRVJfRUxFTUVOVCxYZD1JbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULGlnPVVpbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULGVVPUZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCxPYz1GbG9hdDY0QXJyYXkuQllURVNfUEVSX0VMRU1FTlQ7Tm89bmV3IGN0LEJhPW5ldyBhLG9VPW5ldyBhLHJVPW5ldyBhLGlVPW5ldyBzdDtjVT1RZShuVSl9KTt2YXIgYVUsWFIsWVI9WigoKT0+e2FVPXtOT05FOjAsTEVSQzoxfSxYUj1PYmplY3QuZnJlZXplKGFVKX0pO3ZhciBfaSxhZyxmVSx1VSxsVSwkUixaUj1aKCgpPT57eGYoKTt2ZSgpO1VlKCk7RnQoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO2l1KCk7V3QoKTtVbigpO3BhKCk7d24oKTtzdSgpO2NzKCk7aWMoKTtfaT17fTtfaS5ERUZBVUxUX1NUUlVDVFVSRT1PYmplY3QuZnJlZXplKHtoZWlnaHRTY2FsZToxLGhlaWdodE9mZnNldDowLGVsZW1lbnRzUGVySGVpZ2h0OjEsc3RyaWRlOjEsZWxlbWVudE11bHRpcGxpZXI6MjU2LGlzQmlnRW5kaWFuOiExfSk7YWc9bmV3IGEsZlU9bmV3IHN0LHVVPW5ldyBhLGxVPW5ldyBhO19pLmNvbXB1dGVWZXJ0aWNlcz1mdW5jdGlvbih0KXtpZighaCh0KXx8IWgodC5oZWlnaHRtYXApKXRocm93IG5ldyBCKCJvcHRpb25zLmhlaWdodG1hcCBpcyByZXF1aXJlZC4iKTtpZighaCh0LndpZHRoKXx8IWgodC5oZWlnaHQpKXRocm93IG5ldyBCKCJvcHRpb25zLndpZHRoIGFuZCBvcHRpb25zLmhlaWdodCBhcmUgcmVxdWlyZWQuIik7aWYoIWgodC5uYXRpdmVSZWN0YW5nbGUpKXRocm93IG5ldyBCKCJvcHRpb25zLm5hdGl2ZVJlY3RhbmdsZSBpcyByZXF1aXJlZC4iKTtpZighaCh0LnNraXJ0SGVpZ2h0KSl0aHJvdyBuZXcgQigib3B0aW9ucy5za2lydEhlaWdodCBpcyByZXF1aXJlZC4iKTtsZXQgZT1NYXRoLmNvcyxuPU1hdGguc2luLG89TWF0aC5zcXJ0LHI9TWF0aC5hdGFuLGk9TWF0aC5leHAscz1NLlBJX09WRVJfVFdPLGY9TS50b1JhZGlhbnMsdT10LmhlaWdodG1hcCxjPXQud2lkdGgsbD10LmhlaWdodCxwPXQuc2tpcnRIZWlnaHQsZD1wPjAsbT14KHQuaXNHZW9ncmFwaGljLCEwKSxfPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KSxnPTEvXy5tYXhpbXVtUmFkaXVzLGI9TnQuY2xvbmUodC5uYXRpdmVSZWN0YW5nbGUpLFQ9TnQuY2xvbmUodC5yZWN0YW5nbGUpLE8sRSx3LEM7aChUKT8oTz1ULndlc3QsRT1ULnNvdXRoLHc9VC5lYXN0LEM9VC5ub3J0aCk6bT8oTz1mKGIud2VzdCksRT1mKGIuc291dGgpLHc9ZihiLmVhc3QpLEM9ZihiLm5vcnRoKSk6KE89Yi53ZXN0KmcsRT1zLTIqcihpKC1iLnNvdXRoKmcpKSx3PWIuZWFzdCpnLEM9cy0yKnIoaSgtYi5ub3J0aCpnKSkpO2xldCBOPXQucmVsYXRpdmVUb0NlbnRlcixJPWgoTik7Tj1JP046YS5aRVJPO2xldCBEPXgodC5pbmNsdWRlV2ViTWVyY2F0b3JULCExKSx2PXgodC5leGFnZ2VyYXRpb24sMSksTD14KHQuZXhhZ2dlcmF0aW9uUmVsYXRpdmVIZWlnaHQsMCksQT12IT09MSxTPXgodC5zdHJ1Y3R1cmUsX2kuREVGQVVMVF9TVFJVQ1RVUkUpLFA9eChTLmhlaWdodFNjYWxlLF9pLkRFRkFVTFRfU1RSVUNUVVJFLmhlaWdodFNjYWxlKSxGPXgoUy5oZWlnaHRPZmZzZXQsX2kuREVGQVVMVF9TVFJVQ1RVUkUuaGVpZ2h0T2Zmc2V0KSxqPXgoUy5lbGVtZW50c1BlckhlaWdodCxfaS5ERUZBVUxUX1NUUlVDVFVSRS5lbGVtZW50c1BlckhlaWdodCksSD14KFMuc3RyaWRlLF9pLkRFRkFVTFRfU1RSVUNUVVJFLnN0cmlkZSksaz14KFMuZWxlbWVudE11bHRpcGxpZXIsX2kuREVGQVVMVF9TVFJVQ1RVUkUuZWxlbWVudE11bHRpcGxpZXIpLEs9eChTLmlzQmlnRW5kaWFuLF9pLkRFRkFVTFRfU1RSVUNUVVJFLmlzQmlnRW5kaWFuKSxYPU50LmNvbXB1dGVXaWR0aChiKSxSPU50LmNvbXB1dGVIZWlnaHQoYiksb3Q9WC8oYy0xKSxhdD1SLyhsLTEpO218fChYKj1nLFIqPWcpO2xldCBwdD1fLnJhZGlpU3F1YXJlZCx5dD1wdC54LHJ0PXB0LnksUHQ9cHQueixndD02NTUzNixDdD0tNjU1MzYsbXQ9WG8uZWFzdE5vcnRoVXBUb0ZpeGVkRnJhbWUoTixfKSx1dD1zdC5pbnZlcnNlVHJhbnNmb3JtYXRpb24obXQsZlUpLHZ0LHp0O0QmJih2dD1uby5nZW9kZXRpY0xhdGl0dWRlVG9NZXJjYXRvckFuZ2xlKEUpLHp0PTEvKG5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUoQyktdnQpKTtsZXQgbWU9dVU7bWUueD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbWUueT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbWUuej1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7bGV0IGNlPWxVO2NlLng9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGNlLnk9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGNlLno9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO2xldCBwZT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksdWU9YypsLFF0PXA+MD9jKjIrbCoyOjAsSnQ9dWUrUXQsTmU9bmV3IEFycmF5KEp0KSxnZT1uZXcgQXJyYXkoSnQpLEVlPW5ldyBBcnJheShKdCksdW49RD9uZXcgQXJyYXkoSnQpOltdLGtlPUE/bmV3IEFycmF5KEp0KTpbXSxiZT0wLGxuPWwscG49MCxFbj1jO2QmJigtLWJlLCsrbG4sLS1wbiwrK0VuKTtsZXQgcmU9MWUtNTtmb3IobGV0IFplPWJlO1plPGxuOysrWmUpe2xldCBjbj1aZTtjbjwwJiYoY249MCksY24+PWwmJihjbj1sLTEpO2xldCBLZT1iLm5vcnRoLWF0KmNuO20/S2U9ZihLZSk6S2U9cy0yKnIoaSgtS2UqZykpO2xldCBobj0oS2UtRSkvKEMtRSk7aG49TS5jbGFtcChobiwwLDEpO2xldCB1bz1aZT09PWJlLHFuPVplPT09bG4tMTtwPjAmJih1bz9LZSs9cmUqUjpxbiYmKEtlLT1yZSpSKSk7bGV0IEtuPWUoS2UpLGxvPW4oS2UpLHplPVB0KmxvLExlO0QmJihMZT0obm8uZ2VvZGV0aWNMYXRpdHVkZVRvTWVyY2F0b3JBbmdsZShLZSktdnQpKnp0KTtmb3IobGV0IERuPXBuO0RuPEVuOysrRG4pe2xldCBXbj1EbjtXbjwwJiYoV249MCksV24+PWMmJihXbj1jLTEpO2xldCB6bz1jbiooYypIKStXbipILHJuO2lmKGo9PT0xKXJuPXVbem9dO2Vsc2V7cm49MDtsZXQgcG87aWYoSylmb3IocG89MDtwbzxqOysrcG8pcm49cm4qayt1W3pvK3BvXTtlbHNlIGZvcihwbz1qLTE7cG8+PTA7LS1wbylybj1ybiprK3Vbem8rcG9dfXJuPXJuKlArRixDdD1NYXRoLm1heChDdCxybiksZ3Q9TWF0aC5taW4oZ3Qscm4pO2xldCBSbj1iLndlc3Qrb3QqV247bT9Sbj1mKFJuKTpSbj1SbipnO2xldCBhcj0oUm4tTykvKHctTyk7YXI9TS5jbGFtcChhciwwLDEpO2xldCBRbj1jbipjK1duO2lmKHA+MCl7bGV0IHBvPURuPT09cG4sdnI9RG49PT1Fbi0xLE1jPXVvfHxxbnx8cG98fHZyO2lmKCh1b3x8cW4pJiYocG98fHZyKSljb250aW51ZTtNYyYmKHJuLT1wLHBvPyhRbj11ZSsobC1jbi0xKSxSbi09cmUqWCk6cW4/UW49dWUrbCsoYy1Xbi0xKTp2cj8oUW49dWUrbCtjK2NuLFJuKz1yZSpYKTp1byYmKFFuPXVlK2wrYytsK1duKSl9bGV0IGpvPUtuKmUoUm4pLE5yPUtuKm4oUm4pLE5zPXl0KmpvLElzPXJ0Kk5yLElyPTEvbyhOcypqbytJcypOcit6ZSpsbyksJGk9TnMqSXIsdnM9SXMqSXIsYmk9emUqSXIsb289bmV3IGE7b28ueD0kaStqbypybixvby55PXZzK05yKnJuLG9vLno9YmkrbG8qcm4sc3QubXVsdGlwbHlCeVBvaW50KHV0LG9vLGFnKSxhLm1pbmltdW1CeUNvbXBvbmVudChhZyxtZSxtZSksYS5tYXhpbXVtQnlDb21wb25lbnQoYWcsY2UsY2UpLHBlPU1hdGgubWluKHBlLHJuKSxOZVtRbl09b28sRWVbUW5dPW5ldyB0dChhcixobiksZ2VbUW5dPXJuLEQmJih1bltRbl09TGUpLEEmJihrZVtRbl09Xy5nZW9kZXRpY1N1cmZhY2VOb3JtYWwob28pKX19bGV0ICR0PUF0LmZyb21Qb2ludHMoTmUpLEdlO2goVCkmJihHZT1Tby5mcm9tUmVjdGFuZ2xlKFQsZ3QsQ3QsXykpO2xldCBkbjtJJiYoZG49bmV3IHhzKF8pLmNvbXB1dGVIb3Jpem9uQ3VsbGluZ1BvaW50UG9zc2libHlVbmRlckVsbGlwc29pZChOLE5lLGd0KSk7bGV0IHNuPW5ldyBEaShtZSxjZSxOKSxtbj1uZXcgUHMoTixzbixwZSxDdCxtdCwhMSxELEEsdixMKSxmbz1uZXcgRmxvYXQzMkFycmF5KEp0Km1uLnN0cmlkZSksSG49MDtmb3IobGV0IFplPTA7WmU8SnQ7KytaZSlIbj1tbi5lbmNvZGUoZm8sSG4sTmVbWmVdLEVlW1plXSxnZVtaZV0sdm9pZCAwLHVuW1plXSxrZVtaZV0pO3JldHVybnt2ZXJ0aWNlczpmbyxtYXhpbXVtSGVpZ2h0OkN0LG1pbmltdW1IZWlnaHQ6Z3QsZW5jb2Rpbmc6bW4sYm91bmRpbmdTcGhlcmUzRDokdCxvcmllbnRlZEJvdW5kaW5nQm94OkdlLG9jY2x1ZGVlUG9pbnRJblNjYWxlZFNwYWNlOmRufX07JFI9X2l9KTt2YXIgUVI9WG4oKGZmdCwkZCk9PnsvKiBDb3B5cmlnaHQgMjAxNS0yMDE4IEVzcmkuIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOyB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdCBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjAgQHByZXNlcnZlICovKGZ1bmN0aW9uKCl7dmFyIHQ9ZnVuY3Rpb24oKXt2YXIgcj17fTtyLmRlZmF1bHROb0RhdGFWYWx1ZT0tMzQwMjc5OTkzODc5MDE0ODRlMjIsci5kZWNvZGU9ZnVuY3Rpb24obCxwKXtwPXB8fHt9O3ZhciBkPXAuZW5jb2RlZE1hc2tEYXRhfHxwLmVuY29kZWRNYXNrRGF0YT09PW51bGwsbT11KGwscC5pbnB1dE9mZnNldHx8MCxkKSxfPXAubm9EYXRhVmFsdWUhPT1udWxsP3Aubm9EYXRhVmFsdWU6ci5kZWZhdWx0Tm9EYXRhVmFsdWUsZz1pKG0scC5waXhlbFR5cGV8fEZsb2F0MzJBcnJheSxwLmVuY29kZWRNYXNrRGF0YSxfLHAucmV0dXJuTWFzayksYj17d2lkdGg6bS53aWR0aCxoZWlnaHQ6bS5oZWlnaHQscGl4ZWxEYXRhOmcucmVzdWx0UGl4ZWxzLG1pblZhbHVlOmcubWluVmFsdWUsbWF4VmFsdWU6bS5waXhlbHMubWF4VmFsdWUsbm9EYXRhVmFsdWU6X307cmV0dXJuIGcucmVzdWx0TWFzayYmKGIubWFza0RhdGE9Zy5yZXN1bHRNYXNrKSxwLnJldHVybkVuY29kZWRNYXNrJiZtLm1hc2smJihiLmVuY29kZWRNYXNrRGF0YT1tLm1hc2suYml0c2V0P20ubWFzay5iaXRzZXQ6bnVsbCkscC5yZXR1cm5GaWxlSW5mbyYmKGIuZmlsZUluZm89cyhtKSxwLmNvbXB1dGVVc2VkQml0RGVwdGhzJiYoYi5maWxlSW5mby5iaXREZXB0aHM9ZihtKSkpLGJ9O3ZhciBpPWZ1bmN0aW9uKGwscCxkLG0sXyl7dmFyIGc9MCxiPWwucGl4ZWxzLm51bUJsb2Nrc1gsVD1sLnBpeGVscy5udW1CbG9ja3NZLE89TWF0aC5mbG9vcihsLndpZHRoL2IpLEU9TWF0aC5mbG9vcihsLmhlaWdodC9UKSx3PTIqbC5tYXhaRXJyb3IsQz1OdW1iZXIuTUFYX1ZBTFVFLE47ZD1kfHwobC5tYXNrP2wubWFzay5iaXRzZXQ6bnVsbCk7dmFyIEksRDtJPW5ldyBwKGwud2lkdGgqbC5oZWlnaHQpLF8mJmQmJihEPW5ldyBVaW50OEFycmF5KGwud2lkdGgqbC5oZWlnaHQpKTtmb3IodmFyIHY9bmV3IEZsb2F0MzJBcnJheShPKkUpLEwsVSxBPTA7QTw9VDtBKyspe3ZhciBTPUEhPT1UP0U6bC5oZWlnaHQlVDtpZihTIT09MClmb3IodmFyIFA9MDtQPD1iO1ArKyl7dmFyIEY9UCE9PWI/TzpsLndpZHRoJWI7aWYoRiE9PTApe3ZhciBqPUEqbC53aWR0aCpFK1AqTyxIPWwud2lkdGgtRixrPWwucGl4ZWxzLmJsb2Nrc1tnXSxLLFgsUjtrLmVuY29kaW5nPDI/KGsuZW5jb2Rpbmc9PT0wP0s9ay5yYXdEYXRhOihjKGsuc3R1ZmZlZERhdGEsay5iaXRzUGVyUGl4ZWwsay5udW1WYWxpZFBpeGVscyxrLm9mZnNldCx3LHYsbC5waXhlbHMubWF4VmFsdWUpLEs9diksWD0wKTprLmVuY29kaW5nPT09Mj9SPTA6Uj1rLm9mZnNldDt2YXIgb3Q7aWYoZClmb3IoVT0wO1U8UztVKyspe2ZvcihqJjcmJihvdD1kW2o+PjNdLG90PDw9aiY3KSxMPTA7TDxGO0wrKylqJjd8fChvdD1kW2o+PjNdKSxvdCYxMjg/KEQmJihEW2pdPTEpLE49ay5lbmNvZGluZzwyP0tbWCsrXTpSLEM9Qz5OP046QyxJW2orK109Tik6KEQmJihEW2pdPTApLElbaisrXT1tKSxvdDw8PTE7ais9SH1lbHNlIGlmKGsuZW5jb2Rpbmc8Milmb3IoVT0wO1U8UztVKyspe2ZvcihMPTA7TDxGO0wrKylOPUtbWCsrXSxDPUM+Tj9OOkMsSVtqKytdPU47ais9SH1lbHNlIGZvcihDPUM+Uj9SOkMsVT0wO1U8UztVKyspe2ZvcihMPTA7TDxGO0wrKylJW2orK109UjtqKz1IfWlmKGsuZW5jb2Rpbmc9PT0xJiZYIT09ay5udW1WYWxpZFBpeGVscyl0aHJvdyJCbG9jayBhbmQgTWFzayBkbyBub3QgbWF0Y2giO2crK319fXJldHVybntyZXN1bHRQaXhlbHM6SSxyZXN1bHRNYXNrOkQsbWluVmFsdWU6Q319LHM9ZnVuY3Rpb24obCl7cmV0dXJue2ZpbGVJZGVudGlmaWVyU3RyaW5nOmwuZmlsZUlkZW50aWZpZXJTdHJpbmcsZmlsZVZlcnNpb246bC5maWxlVmVyc2lvbixpbWFnZVR5cGU6bC5pbWFnZVR5cGUsaGVpZ2h0OmwuaGVpZ2h0LHdpZHRoOmwud2lkdGgsbWF4WkVycm9yOmwubWF4WkVycm9yLGVvZk9mZnNldDpsLmVvZk9mZnNldCxtYXNrOmwubWFzaz97bnVtQmxvY2tzWDpsLm1hc2subnVtQmxvY2tzWCxudW1CbG9ja3NZOmwubWFzay5udW1CbG9ja3NZLG51bUJ5dGVzOmwubWFzay5udW1CeXRlcyxtYXhWYWx1ZTpsLm1hc2subWF4VmFsdWV9Om51bGwscGl4ZWxzOntudW1CbG9ja3NYOmwucGl4ZWxzLm51bUJsb2Nrc1gsbnVtQmxvY2tzWTpsLnBpeGVscy5udW1CbG9ja3NZLG51bUJ5dGVzOmwucGl4ZWxzLm51bUJ5dGVzLG1heFZhbHVlOmwucGl4ZWxzLm1heFZhbHVlLG5vRGF0YVZhbHVlOmwubm9EYXRhVmFsdWV9fX0sZj1mdW5jdGlvbihsKXtmb3IodmFyIHA9bC5waXhlbHMubnVtQmxvY2tzWCpsLnBpeGVscy5udW1CbG9ja3NZLGQ9e30sbT0wO208cDttKyspe3ZhciBfPWwucGl4ZWxzLmJsb2Nrc1ttXTtfLmVuY29kaW5nPT09MD9kLmZsb2F0MzI9ITA6Xy5lbmNvZGluZz09PTE/ZFtfLmJpdHNQZXJQaXhlbF09ITA6ZFswXT0hMH1yZXR1cm4gT2JqZWN0LmtleXMoZCl9LHU9ZnVuY3Rpb24obCxwLGQpe3ZhciBtPXt9LF89bmV3IFVpbnQ4QXJyYXkobCxwLDEwKTtpZihtLmZpbGVJZGVudGlmaWVyU3RyaW5nPVN0cmluZy5mcm9tQ2hhckNvZGUuYXBwbHkobnVsbCxfKSxtLmZpbGVJZGVudGlmaWVyU3RyaW5nLnRyaW0oKSE9PSJDbnRaSW1hZ2UiKXRocm93IlVuZXhwZWN0ZWQgZmlsZSBpZGVudGlmaWVyIHN0cmluZzogIittLmZpbGVJZGVudGlmaWVyU3RyaW5nO3ArPTEwO3ZhciBnPW5ldyBEYXRhVmlldyhsLHAsMjQpO2lmKG0uZmlsZVZlcnNpb249Zy5nZXRJbnQzMigwLCEwKSxtLmltYWdlVHlwZT1nLmdldEludDMyKDQsITApLG0uaGVpZ2h0PWcuZ2V0VWludDMyKDgsITApLG0ud2lkdGg9Zy5nZXRVaW50MzIoMTIsITApLG0ubWF4WkVycm9yPWcuZ2V0RmxvYXQ2NCgxNiwhMCkscCs9MjQsIWQpaWYoZz1uZXcgRGF0YVZpZXcobCxwLDE2KSxtLm1hc2s9e30sbS5tYXNrLm51bUJsb2Nrc1k9Zy5nZXRVaW50MzIoMCwhMCksbS5tYXNrLm51bUJsb2Nrc1g9Zy5nZXRVaW50MzIoNCwhMCksbS5tYXNrLm51bUJ5dGVzPWcuZ2V0VWludDMyKDgsITApLG0ubWFzay5tYXhWYWx1ZT1nLmdldEZsb2F0MzIoMTIsITApLHArPTE2LG0ubWFzay5udW1CeXRlcz4wKXt2YXIgYj1uZXcgVWludDhBcnJheShNYXRoLmNlaWwobS53aWR0aCptLmhlaWdodC84KSk7Zz1uZXcgRGF0YVZpZXcobCxwLG0ubWFzay5udW1CeXRlcyk7dmFyIFQ9Zy5nZXRJbnQxNigwLCEwKSxPPTIsRT0wO2Rve2lmKFQ+MClmb3IoO1QtLTspYltFKytdPWcuZ2V0VWludDgoTysrKTtlbHNle3ZhciB3PWcuZ2V0VWludDgoTysrKTtmb3IoVD0tVDtULS07KWJbRSsrXT13fVQ9Zy5nZXRJbnQxNihPLCEwKSxPKz0yfXdoaWxlKE88bS5tYXNrLm51bUJ5dGVzKTtpZihUIT09LTMyNzY4fHxFPGIubGVuZ3RoKXRocm93IlVuZXhwZWN0ZWQgZW5kIG9mIG1hc2sgUkxFIGVuY29kaW5nIjttLm1hc2suYml0c2V0PWIscCs9bS5tYXNrLm51bUJ5dGVzfWVsc2UgbS5tYXNrLm51bUJ5dGVzfG0ubWFzay5udW1CbG9ja3NZfG0ubWFzay5tYXhWYWx1ZXx8KG0ubWFzay5iaXRzZXQ9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKG0ud2lkdGgqbS5oZWlnaHQvOCkpKTtnPW5ldyBEYXRhVmlldyhsLHAsMTYpLG0ucGl4ZWxzPXt9LG0ucGl4ZWxzLm51bUJsb2Nrc1k9Zy5nZXRVaW50MzIoMCwhMCksbS5waXhlbHMubnVtQmxvY2tzWD1nLmdldFVpbnQzMig0LCEwKSxtLnBpeGVscy5udW1CeXRlcz1nLmdldFVpbnQzMig4LCEwKSxtLnBpeGVscy5tYXhWYWx1ZT1nLmdldEZsb2F0MzIoMTIsITApLHArPTE2O3ZhciBDPW0ucGl4ZWxzLm51bUJsb2Nrc1gsTj1tLnBpeGVscy5udW1CbG9ja3NZLEk9QysobS53aWR0aCVDPjA/MTowKSxEPU4rKG0uaGVpZ2h0JU4+MD8xOjApO20ucGl4ZWxzLmJsb2Nrcz1uZXcgQXJyYXkoSSpEKTtmb3IodmFyIHY9MCxMPTA7TDxEO0wrKylmb3IodmFyIFU9MDtVPEk7VSsrKXt2YXIgQT0wLFM9bC5ieXRlTGVuZ3RoLXA7Zz1uZXcgRGF0YVZpZXcobCxwLE1hdGgubWluKDEwLFMpKTt2YXIgUD17fTttLnBpeGVscy5ibG9ja3NbdisrXT1QO3ZhciBGPWcuZ2V0VWludDgoMCk7aWYoQSsrLFAuZW5jb2Rpbmc9RiY2MyxQLmVuY29kaW5nPjMpdGhyb3ciSW52YWxpZCBibG9jayBlbmNvZGluZyAoIitQLmVuY29kaW5nKyIpIjtpZihQLmVuY29kaW5nPT09Mil7cCsrO2NvbnRpbnVlfWlmKEYhPT0wJiZGIT09Mil7aWYoRj4+PTYsUC5vZmZzZXRUeXBlPUYsRj09PTIpUC5vZmZzZXQ9Zy5nZXRJbnQ4KDEpLEErKztlbHNlIGlmKEY9PT0xKVAub2Zmc2V0PWcuZ2V0SW50MTYoMSwhMCksQSs9MjtlbHNlIGlmKEY9PT0wKVAub2Zmc2V0PWcuZ2V0RmxvYXQzMigxLCEwKSxBKz00O2Vsc2UgdGhyb3ciSW52YWxpZCBibG9jayBvZmZzZXQgdHlwZSI7aWYoUC5lbmNvZGluZz09PTEpaWYoRj1nLmdldFVpbnQ4KEEpLEErKyxQLmJpdHNQZXJQaXhlbD1GJjYzLEY+Pj02LFAubnVtVmFsaWRQaXhlbHNUeXBlPUYsRj09PTIpUC5udW1WYWxpZFBpeGVscz1nLmdldFVpbnQ4KEEpLEErKztlbHNlIGlmKEY9PT0xKVAubnVtVmFsaWRQaXhlbHM9Zy5nZXRVaW50MTYoQSwhMCksQSs9MjtlbHNlIGlmKEY9PT0wKVAubnVtVmFsaWRQaXhlbHM9Zy5nZXRVaW50MzIoQSwhMCksQSs9NDtlbHNlIHRocm93IkludmFsaWQgdmFsaWQgcGl4ZWwgY291bnQgdHlwZSJ9aWYocCs9QSxQLmVuY29kaW5nIT09Myl7dmFyIGosSDtpZihQLmVuY29kaW5nPT09MCl7dmFyIGs9KG0ucGl4ZWxzLm51bUJ5dGVzLTEpLzQ7aWYoayE9PU1hdGguZmxvb3IoaykpdGhyb3cidW5jb21wcmVzc2VkIGJsb2NrIGhhcyBpbnZhbGlkIGxlbmd0aCI7aj1uZXcgQXJyYXlCdWZmZXIoayo0KSxIPW5ldyBVaW50OEFycmF5KGopLEguc2V0KG5ldyBVaW50OEFycmF5KGwscCxrKjQpKTt2YXIgSz1uZXcgRmxvYXQzMkFycmF5KGopO1AucmF3RGF0YT1LLHArPWsqNH1lbHNlIGlmKFAuZW5jb2Rpbmc9PT0xKXt2YXIgWD1NYXRoLmNlaWwoUC5udW1WYWxpZFBpeGVscypQLmJpdHNQZXJQaXhlbC84KSxSPU1hdGguY2VpbChYLzQpO2o9bmV3IEFycmF5QnVmZmVyKFIqNCksSD1uZXcgVWludDhBcnJheShqKSxILnNldChuZXcgVWludDhBcnJheShsLHAsWCkpLFAuc3R1ZmZlZERhdGE9bmV3IFVpbnQzMkFycmF5KGopLHArPVh9fX1yZXR1cm4gbS5lb2ZPZmZzZXQ9cCxtfSxjPWZ1bmN0aW9uKGwscCxkLG0sXyxnLGIpe3ZhciBUPSgxPDxwKS0xLE89MCxFLHc9MCxDLE4sST1NYXRoLmNlaWwoKGItbSkvXyksRD1sLmxlbmd0aCo0LU1hdGguY2VpbChwKmQvOCk7Zm9yKGxbbC5sZW5ndGgtMV08PD04KkQsRT0wO0U8ZDtFKyspe2lmKHc9PT0wJiYoTj1sW08rK10sdz0zMiksdz49cClDPU4+Pj53LXAmVCx3LT1wO2Vsc2V7dmFyIHY9cC13O0M9KE4mVCk8PHYmVCxOPWxbTysrXSx3PTMyLXYsQys9Tj4+Pnd9Z1tFXT1DPEk/bStDKl86Yn1yZXR1cm4gZ307cmV0dXJuIHJ9KCksZT1mdW5jdGlvbigpeyJ1c2Ugc3RyaWN0Ijt2YXIgcj17dW5zdHVmZjpmdW5jdGlvbih1LGMsbCxwLGQsbSxfLGcpe3ZhciBiPSgxPDxsKS0xLFQ9MCxPLEU9MCx3LEMsTixJLEQ9dS5sZW5ndGgqNC1NYXRoLmNlaWwobCpwLzgpO2lmKHVbdS5sZW5ndGgtMV08PD04KkQsZClmb3IoTz0wO088cDtPKyspRT09PTAmJihDPXVbVCsrXSxFPTMyKSxFPj1sPyh3PUM+Pj5FLWwmYixFLT1sKTooTj1sLUUsdz0oQyZiKTw8TiZiLEM9dVtUKytdLEU9MzItTix3Kz1DPj4+RSksY1tPXT1kW3ddO2Vsc2UgZm9yKEk9TWF0aC5jZWlsKChnLW0pL18pLE89MDtPPHA7TysrKUU9PT0wJiYoQz11W1QrK10sRT0zMiksRT49bD8odz1DPj4+RS1sJmIsRS09bCk6KE49bC1FLHc9KEMmYik8PE4mYixDPXVbVCsrXSxFPTMyLU4sdys9Qz4+PkUpLGNbT109dzxJP20rdypfOmd9LHVuc3R1ZmZMVVQ6ZnVuY3Rpb24odSxjLGwscCxkLG0pe3ZhciBfPSgxPDxjKS0xLGc9MCxiPTAsVD0wLE89MCxFPTAsdyxDPVtdLE49dS5sZW5ndGgqNC1NYXRoLmNlaWwoYypsLzgpO3VbdS5sZW5ndGgtMV08PD04Kk47dmFyIEk9TWF0aC5jZWlsKChtLXApL2QpO2ZvcihiPTA7YjxsO2IrKylPPT09MCYmKHc9dVtnKytdLE89MzIpLE8+PWM/KEU9dz4+Pk8tYyZfLE8tPWMpOihUPWMtTyxFPSh3Jl8pPDxUJl8sdz11W2crK10sTz0zMi1ULEUrPXc+Pj5PKSxDW2JdPUU8ST9wK0UqZDptO3JldHVybiBDLnVuc2hpZnQocCksQ30sdW5zdHVmZjI6ZnVuY3Rpb24odSxjLGwscCxkLG0sXyxnKXt2YXIgYj0oMTw8bCktMSxUPTAsTyxFPTAsdz0wLEMsTixJO2lmKGQpZm9yKE89MDtPPHA7TysrKUU9PT0wJiYoTj11W1QrK10sRT0zMix3PTApLEU+PWw/KEM9Tj4+PncmYixFLT1sLHcrPWwpOihJPWwtRSxDPU4+Pj53JmIsTj11W1QrK10sRT0zMi1JLEN8PShOJigxPDxJKS0xKTw8bC1JLHc9SSksY1tPXT1kW0NdO2Vsc2V7dmFyIEQ9TWF0aC5jZWlsKChnLW0pL18pO2ZvcihPPTA7TzxwO08rKylFPT09MCYmKE49dVtUKytdLEU9MzIsdz0wKSxFPj1sPyhDPU4+Pj53JmIsRS09bCx3Kz1sKTooST1sLUUsQz1OPj4+dyZiLE49dVtUKytdLEU9MzItSSxDfD0oTiYoMTw8SSktMSk8PGwtSSx3PUkpLGNbT109QzxEP20rQypfOmd9cmV0dXJuIGN9LHVuc3R1ZmZMVVQyOmZ1bmN0aW9uKHUsYyxsLHAsZCxtKXt2YXIgXz0oMTw8YyktMSxnPTAsYj0wLFQ9MCxPPTAsRT0wLHc9MCxDLE49W10sST1NYXRoLmNlaWwoKG0tcCkvZCk7Zm9yKGI9MDtiPGw7YisrKU89PT0wJiYoQz11W2crK10sTz0zMix3PTApLE8+PWM/KEU9Qz4+PncmXyxPLT1jLHcrPWMpOihUPWMtTyxFPUM+Pj53Jl8sQz11W2crK10sTz0zMi1ULEV8PShDJigxPDxUKS0xKTw8Yy1ULHc9VCksTltiXT1FPEk/cCtFKmQ6bTtyZXR1cm4gTi51bnNoaWZ0KHApLE59LG9yaWdpbmFsVW5zdHVmZjpmdW5jdGlvbih1LGMsbCxwKXt2YXIgZD0oMTw8bCktMSxtPTAsXyxnPTAsYixULE8sRT11Lmxlbmd0aCo0LU1hdGguY2VpbChsKnAvOCk7Zm9yKHVbdS5sZW5ndGgtMV08PD04KkUsXz0wO188cDtfKyspZz09PTAmJihUPXVbbSsrXSxnPTMyKSxnPj1sPyhiPVQ+Pj5nLWwmZCxnLT1sKTooTz1sLWcsYj0oVCZkKTw8TyZkLFQ9dVttKytdLGc9MzItTyxiKz1UPj4+ZyksY1tfXT1iO3JldHVybiBjfSxvcmlnaW5hbFVuc3R1ZmYyOmZ1bmN0aW9uKHUsYyxsLHApe3ZhciBkPSgxPDxsKS0xLG09MCxfLGc9MCxiPTAsVCxPLEU7Zm9yKF89MDtfPHA7XysrKWc9PT0wJiYoTz11W20rK10sZz0zMixiPTApLGc+PWw/KFQ9Tz4+PmImZCxnLT1sLGIrPWwpOihFPWwtZyxUPU8+Pj5iJmQsTz11W20rK10sZz0zMi1FLFR8PShPJigxPDxFKS0xKTw8bC1FLGI9RSksY1tfXT1UO3JldHVybiBjfX0saT17SFVGRk1BTl9MVVRfQklUU19NQVg6MTIsY29tcHV0ZUNoZWNrc3VtRmxldGNoZXIzMjpmdW5jdGlvbih1KXtmb3IodmFyIGM9NjU1MzUsbD02NTUzNSxwPXUubGVuZ3RoLGQ9TWF0aC5mbG9vcihwLzIpLG09MDtkOyl7dmFyIF89ZD49MzU5PzM1OTpkO2QtPV87ZG8gYys9dVttKytdPDw4LGwrPWMrPXVbbSsrXTt3aGlsZSgtLV8pO2M9KGMmNjU1MzUpKyhjPj4+MTYpLGw9KGwmNjU1MzUpKyhsPj4+MTYpfXJldHVybiBwJjEmJihsKz1jKz11W21dPDw4KSxjPShjJjY1NTM1KSsoYz4+PjE2KSxsPShsJjY1NTM1KSsobD4+PjE2KSwobDw8MTZ8Yyk+Pj4wfSxyZWFkSGVhZGVySW5mbzpmdW5jdGlvbih1LGMpe3ZhciBsPWMucHRyLHA9bmV3IFVpbnQ4QXJyYXkodSxsLDYpLGQ9e307aWYoZC5maWxlSWRlbnRpZmllclN0cmluZz1TdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwscCksZC5maWxlSWRlbnRpZmllclN0cmluZy5sYXN0SW5kZXhPZigiTGVyYzIiLDApIT09MCl0aHJvdyJVbmV4cGVjdGVkIGZpbGUgaWRlbnRpZmllciBzdHJpbmcgKGV4cGVjdCBMZXJjMiApOiAiK2QuZmlsZUlkZW50aWZpZXJTdHJpbmc7bCs9Njt2YXIgbT1uZXcgRGF0YVZpZXcodSxsLDgpLF89bS5nZXRJbnQzMigwLCEwKTtkLmZpbGVWZXJzaW9uPV8sbCs9NCxfPj0zJiYoZC5jaGVja3N1bT1tLmdldFVpbnQzMig0LCEwKSxsKz00KSxtPW5ldyBEYXRhVmlldyh1LGwsMTIpLGQuaGVpZ2h0PW0uZ2V0VWludDMyKDAsITApLGQud2lkdGg9bS5nZXRVaW50MzIoNCwhMCksbCs9OCxfPj00PyhkLm51bURpbXM9bS5nZXRVaW50MzIoOCwhMCksbCs9NCk6ZC5udW1EaW1zPTEsbT1uZXcgRGF0YVZpZXcodSxsLDQwKSxkLm51bVZhbGlkUGl4ZWw9bS5nZXRVaW50MzIoMCwhMCksZC5taWNyb0Jsb2NrU2l6ZT1tLmdldEludDMyKDQsITApLGQuYmxvYlNpemU9bS5nZXRJbnQzMig4LCEwKSxkLmltYWdlVHlwZT1tLmdldEludDMyKDEyLCEwKSxkLm1heFpFcnJvcj1tLmdldEZsb2F0NjQoMTYsITApLGQuek1pbj1tLmdldEZsb2F0NjQoMjQsITApLGQuek1heD1tLmdldEZsb2F0NjQoMzIsITApLGwrPTQwLGMuaGVhZGVySW5mbz1kLGMucHRyPWw7dmFyIGcsYjtpZihfPj0zJiYoYj1fPj00PzUyOjQ4LGc9dGhpcy5jb21wdXRlQ2hlY2tzdW1GbGV0Y2hlcjMyKG5ldyBVaW50OEFycmF5KHUsbC1iLGQuYmxvYlNpemUtMTQpKSxnIT09ZC5jaGVja3N1bSkpdGhyb3ciQ2hlY2tzdW0gZmFpbGVkLiI7cmV0dXJuITB9LGNoZWNrTWluTWF4UmFuZ2VzOmZ1bmN0aW9uKHUsYyl7dmFyIGw9Yy5oZWFkZXJJbmZvLHA9dGhpcy5nZXREYXRhVHlwZUFycmF5KGwuaW1hZ2VUeXBlKSxkPWwubnVtRGltcyp0aGlzLmdldERhdGFUeXBlU2l6ZShsLmltYWdlVHlwZSksbT10aGlzLnJlYWRTdWJBcnJheSh1LGMucHRyLHAsZCksXz10aGlzLnJlYWRTdWJBcnJheSh1LGMucHRyK2QscCxkKTtjLnB0cis9MipkO3ZhciBnLGI9ITA7Zm9yKGc9MDtnPGwubnVtRGltcztnKyspaWYobVtnXSE9PV9bZ10pe2I9ITE7YnJlYWt9cmV0dXJuIGwubWluVmFsdWVzPW0sbC5tYXhWYWx1ZXM9XyxifSxyZWFkU3ViQXJyYXk6ZnVuY3Rpb24odSxjLGwscCl7dmFyIGQ7aWYobD09PVVpbnQ4QXJyYXkpZD1uZXcgVWludDhBcnJheSh1LGMscCk7ZWxzZXt2YXIgbT1uZXcgQXJyYXlCdWZmZXIocCksXz1uZXcgVWludDhBcnJheShtKTtfLnNldChuZXcgVWludDhBcnJheSh1LGMscCkpLGQ9bmV3IGwobSl9cmV0dXJuIGR9LHJlYWRNYXNrOmZ1bmN0aW9uKHUsYyl7dmFyIGw9Yy5wdHIscD1jLmhlYWRlckluZm8sZD1wLndpZHRoKnAuaGVpZ2h0LG09cC5udW1WYWxpZFBpeGVsLF89bmV3IERhdGFWaWV3KHUsbCw0KSxnPXt9O2lmKGcubnVtQnl0ZXM9Xy5nZXRVaW50MzIoMCwhMCksbCs9NCwobT09PTB8fGQ9PT1tKSYmZy5udW1CeXRlcyE9PTApdGhyb3ciaW52YWxpZCBtYXNrIjt2YXIgYixUO2lmKG09PT0wKWI9bmV3IFVpbnQ4QXJyYXkoTWF0aC5jZWlsKGQvOCkpLGcuYml0c2V0PWIsVD1uZXcgVWludDhBcnJheShkKSxjLnBpeGVscy5yZXN1bHRNYXNrPVQsbCs9Zy5udW1CeXRlcztlbHNlIGlmKGcubnVtQnl0ZXM+MCl7Yj1uZXcgVWludDhBcnJheShNYXRoLmNlaWwoZC84KSksXz1uZXcgRGF0YVZpZXcodSxsLGcubnVtQnl0ZXMpO3ZhciBPPV8uZ2V0SW50MTYoMCwhMCksRT0yLHc9MCxDPTA7ZG97aWYoTz4wKWZvcig7Ty0tOyliW3crK109Xy5nZXRVaW50OChFKyspO2Vsc2UgZm9yKEM9Xy5nZXRVaW50OChFKyspLE89LU87Ty0tOyliW3crK109QztPPV8uZ2V0SW50MTYoRSwhMCksRSs9Mn13aGlsZShFPGcubnVtQnl0ZXMpO2lmKE8hPT0tMzI3Njh8fHc8Yi5sZW5ndGgpdGhyb3ciVW5leHBlY3RlZCBlbmQgb2YgbWFzayBSTEUgZW5jb2RpbmciO1Q9bmV3IFVpbnQ4QXJyYXkoZCk7dmFyIE49MCxJPTA7Zm9yKEk9MDtJPGQ7SSsrKUkmNz8oTj1iW0k+PjNdLE48PD1JJjcpOk49YltJPj4zXSxOJjEyOCYmKFRbSV09MSk7Yy5waXhlbHMucmVzdWx0TWFzaz1ULGcuYml0c2V0PWIsbCs9Zy5udW1CeXRlc31yZXR1cm4gYy5wdHI9bCxjLm1hc2s9ZywhMH0scmVhZERhdGFPbmVTd2VlcDpmdW5jdGlvbih1LGMsbCl7dmFyIHA9Yy5wdHIsZD1jLmhlYWRlckluZm8sbT1kLm51bURpbXMsXz1kLndpZHRoKmQuaGVpZ2h0LGc9ZC5pbWFnZVR5cGUsYj1kLm51bVZhbGlkUGl4ZWwqaS5nZXREYXRhVHlwZVNpemUoZykqbSxULE89Yy5waXhlbHMucmVzdWx0TWFzaztpZihsPT09VWludDhBcnJheSlUPW5ldyBVaW50OEFycmF5KHUscCxiKTtlbHNle3ZhciBFPW5ldyBBcnJheUJ1ZmZlcihiKSx3PW5ldyBVaW50OEFycmF5KEUpO3cuc2V0KG5ldyBVaW50OEFycmF5KHUscCxiKSksVD1uZXcgbChFKX1pZihULmxlbmd0aD09PV8qbSljLnBpeGVscy5yZXN1bHRQaXhlbHM9VDtlbHNle2MucGl4ZWxzLnJlc3VsdFBpeGVscz1uZXcgbChfKm0pO3ZhciBDPTAsTj0wLEk9MCxEPTA7aWYobT4xKWZvcihJPTA7STxtO0krKylmb3IoRD1JKl8sTj0wO048XztOKyspT1tOXSYmKGMucGl4ZWxzLnJlc3VsdFBpeGVsc1tEK05dPVRbQysrXSk7ZWxzZSBmb3IoTj0wO048XztOKyspT1tOXSYmKGMucGl4ZWxzLnJlc3VsdFBpeGVsc1tOXT1UW0MrK10pfXJldHVybiBwKz1iLGMucHRyPXAsITB9LHJlYWRIdWZmbWFuVHJlZTpmdW5jdGlvbih1LGMpe3ZhciBsPXRoaXMuSFVGRk1BTl9MVVRfQklUU19NQVgscD1uZXcgRGF0YVZpZXcodSxjLnB0ciwxNik7Yy5wdHIrPTE2O3ZhciBkPXAuZ2V0SW50MzIoMCwhMCk7aWYoZDwyKXRocm93InVuc3VwcG9ydGVkIEh1ZmZtYW4gdmVyc2lvbiI7dmFyIG09cC5nZXRJbnQzMig0LCEwKSxfPXAuZ2V0SW50MzIoOCwhMCksZz1wLmdldEludDMyKDEyLCEwKTtpZihfPj1nKXJldHVybiExO3ZhciBiPW5ldyBVaW50MzJBcnJheShnLV8pO2kuZGVjb2RlQml0cyh1LGMsYik7dmFyIFQ9W10sTyxFLHcsQztmb3IoTz1fO088ZztPKyspRT1PLShPPG0/MDptKSxUW0VdPXtmaXJzdDpiW08tX10sc2Vjb25kOm51bGx9O3ZhciBOPXUuYnl0ZUxlbmd0aC1jLnB0cixJPU1hdGguY2VpbChOLzQpLEQ9bmV3IEFycmF5QnVmZmVyKEkqNCksdj1uZXcgVWludDhBcnJheShEKTt2LnNldChuZXcgVWludDhBcnJheSh1LGMucHRyLE4pKTt2YXIgTD1uZXcgVWludDMyQXJyYXkoRCksVT0wLEEsUz0wO2ZvcihBPUxbMF0sTz1fO088ZztPKyspRT1PLShPPG0/MDptKSxDPVRbRV0uZmlyc3QsQz4wJiYoVFtFXS5zZWNvbmQ9QTw8VT4+PjMyLUMsMzItVT49Qz8oVSs9QyxVPT09MzImJihVPTAsUysrLEE9TFtTXSkpOihVKz1DLTMyLFMrKyxBPUxbU10sVFtFXS5zZWNvbmR8PUE+Pj4zMi1VKSk7dmFyIFA9MCxGPTAsaj1uZXcgcztmb3IoTz0wO088VC5sZW5ndGg7TysrKVRbT10hPT12b2lkIDAmJihQPU1hdGgubWF4KFAsVFtPXS5maXJzdCkpO1A+PWw/Rj1sOkY9UCxQPj0zMCYmY29uc29sZS5sb2coIldBUm5pbmcsIGxhcmdlIE5VTSBMVVQgQklUUyBJUyAiK1ApO3ZhciBIPVtdLGssSyxYLFIsb3QsYXQ7Zm9yKE89XztPPGc7TysrKWlmKEU9Ty0oTzxtPzA6bSksQz1UW0VdLmZpcnN0LEM+MClpZihrPVtDLEVdLEM8PUYpZm9yKEs9VFtFXS5zZWNvbmQ8PEYtQyxYPTE8PEYtQyx3PTA7dzxYO3crKylIW0t8d109aztlbHNlIGZvcihLPVRbRV0uc2Vjb25kLGF0PWosUj1DLTE7Uj49MDtSLS0pb3Q9Sz4+PlImMSxvdD8oYXQucmlnaHR8fChhdC5yaWdodD1uZXcgcyksYXQ9YXQucmlnaHQpOihhdC5sZWZ0fHwoYXQubGVmdD1uZXcgcyksYXQ9YXQubGVmdCksUj09PTAmJiFhdC52YWwmJihhdC52YWw9a1sxXSk7cmV0dXJue2RlY29kZUx1dDpILG51bUJpdHNMVVRRaWNrOkYsbnVtQml0c0xVVDpQLHRyZWU6aixzdHVmZmVkRGF0YTpMLHNyY1B0cjpTLGJpdFBvczpVfX0scmVhZEh1ZmZtYW46ZnVuY3Rpb24odSxjLGwpe3ZhciBwPWMuaGVhZGVySW5mbyxkPXAubnVtRGltcyxtPWMuaGVhZGVySW5mby5oZWlnaHQsXz1jLmhlYWRlckluZm8ud2lkdGgsZz1fKm0sYj10aGlzLnJlYWRIdWZmbWFuVHJlZSh1LGMpLFQ9Yi5kZWNvZGVMdXQsTz1iLnRyZWUsRT1iLnN0dWZmZWREYXRhLHc9Yi5zcmNQdHIsQz1iLmJpdFBvcyxOPWIubnVtQml0c0xVVFFpY2ssST1iLm51bUJpdHNMVVQsRD1jLmhlYWRlckluZm8uaW1hZ2VUeXBlPT09MD8xMjg6MCx2LEwsVSxBPWMucGl4ZWxzLnJlc3VsdE1hc2ssUyxQLEYsaixILGssSyxYPTA7Qz4wJiYodysrLEM9MCk7dmFyIFI9RVt3XSxvdD1jLmVuY29kZU1vZGU9PT0xLGF0PW5ldyBsKGcqZCkscHQ9YXQseXQ7Zm9yKHl0PTA7eXQ8cC5udW1EaW1zO3l0Kyspe2lmKGQ+MSYmKHB0PW5ldyBsKGF0LmJ1ZmZlcixnKnl0LGcpLFg9MCksYy5oZWFkZXJJbmZvLm51bVZhbGlkUGl4ZWw9PT1fKm0pZm9yKGs9MCxqPTA7ajxtO2orKylmb3IoSD0wO0g8XztIKyssaysrKXtpZihMPTAsUz1SPDxDPj4+MzItTixQPVMsMzItQzxOJiYoU3w9RVt3KzFdPj4+NjQtQy1OLFA9UyksVFtQXSlMPVRbUF1bMV0sQys9VFtQXVswXTtlbHNlIGZvcihTPVI8PEM+Pj4zMi1JLFA9UywzMi1DPEkmJihTfD1FW3crMV0+Pj42NC1DLUksUD1TKSx2PU8sSz0wO0s8STtLKyspaWYoRj1TPj4+SS1LLTEmMSx2PUY/di5yaWdodDp2LmxlZnQsISh2LmxlZnR8fHYucmlnaHQpKXtMPXYudmFsLEM9QytLKzE7YnJlYWt9Qz49MzImJihDLT0zMix3KyssUj1FW3ddKSxVPUwtRCxvdD8oSD4wP1UrPVg6aj4wP1UrPXB0W2stX106VSs9WCxVJj0yNTUscHRba109VSxYPVUpOnB0W2tdPVV9ZWxzZSBmb3Ioaz0wLGo9MDtqPG07aisrKWZvcihIPTA7SDxfO0grKyxrKyspaWYoQVtrXSl7aWYoTD0wLFM9Ujw8Qz4+PjMyLU4sUD1TLDMyLUM8TiYmKFN8PUVbdysxXT4+PjY0LUMtTixQPVMpLFRbUF0pTD1UW1BdWzFdLEMrPVRbUF1bMF07ZWxzZSBmb3IoUz1SPDxDPj4+MzItSSxQPVMsMzItQzxJJiYoU3w9RVt3KzFdPj4+NjQtQy1JLFA9Uyksdj1PLEs9MDtLPEk7SysrKWlmKEY9Uz4+PkktSy0xJjEsdj1GP3YucmlnaHQ6di5sZWZ0LCEodi5sZWZ0fHx2LnJpZ2h0KSl7TD12LnZhbCxDPUMrSysxO2JyZWFrfUM+PTMyJiYoQy09MzIsdysrLFI9RVt3XSksVT1MLUQsb3Q/KEg+MCYmQVtrLTFdP1UrPVg6aj4wJiZBW2stX10/VSs9cHRbay1fXTpVKz1YLFUmPTI1NSxwdFtrXT1VLFg9VSk6cHRba109VX1jLnB0cj1jLnB0cisodysxKSo0KyhDPjA/NDowKX1jLnBpeGVscy5yZXN1bHRQaXhlbHM9YXR9LGRlY29kZUJpdHM6ZnVuY3Rpb24odSxjLGwscCxkKXt7dmFyIG09Yy5oZWFkZXJJbmZvLF89bS5maWxlVmVyc2lvbixnPTAsYj1uZXcgRGF0YVZpZXcodSxjLnB0ciw1KSxUPWIuZ2V0VWludDgoMCk7ZysrO3ZhciBPPVQ+PjYsRT1PPT09MD80OjMtTyx3PShUJjMyKT4wLEM9VCYzMSxOPTA7aWYoRT09PTEpTj1iLmdldFVpbnQ4KGcpLGcrKztlbHNlIGlmKEU9PT0yKU49Yi5nZXRVaW50MTYoZywhMCksZys9MjtlbHNlIGlmKEU9PT00KU49Yi5nZXRVaW50MzIoZywhMCksZys9NDtlbHNlIHRocm93IkludmFsaWQgdmFsaWQgcGl4ZWwgY291bnQgdHlwZSI7dmFyIEk9MiptLm1heFpFcnJvcixELHYsTCxVLEEsUyxQLEYsaixILGs9bS5udW1EaW1zPjE/bS5tYXhWYWx1ZXNbZF06bS56TWF4O2lmKHcpe2ZvcihjLmNvdW50ZXIubHV0KyssRj1iLmdldFVpbnQ4KGcpLGo9QyxnKyssVT1NYXRoLmNlaWwoKEYtMSkqQy84KSxBPU1hdGguY2VpbChVLzQpLHY9bmV3IEFycmF5QnVmZmVyKEEqNCksTD1uZXcgVWludDhBcnJheSh2KSxjLnB0cis9ZyxMLnNldChuZXcgVWludDhBcnJheSh1LGMucHRyLFUpKSxQPW5ldyBVaW50MzJBcnJheSh2KSxjLnB0cis9VSxIPTA7Ri0xPj4+SDspSCsrO1U9TWF0aC5jZWlsKE4qSC84KSxBPU1hdGguY2VpbChVLzQpLHY9bmV3IEFycmF5QnVmZmVyKEEqNCksTD1uZXcgVWludDhBcnJheSh2KSxMLnNldChuZXcgVWludDhBcnJheSh1LGMucHRyLFUpKSxEPW5ldyBVaW50MzJBcnJheSh2KSxjLnB0cis9VSxfPj0zP1M9ci51bnN0dWZmTFVUMihQLEMsRi0xLHAsSSxrKTpTPXIudW5zdHVmZkxVVChQLEMsRi0xLHAsSSxrKSxfPj0zP3IudW5zdHVmZjIoRCxsLEgsTixTKTpyLnVuc3R1ZmYoRCxsLEgsTixTKX1lbHNlIGMuY291bnRlci5iaXRzdHVmZmVyKyssSD1DLGMucHRyKz1nLEg+MCYmKFU9TWF0aC5jZWlsKE4qSC84KSxBPU1hdGguY2VpbChVLzQpLHY9bmV3IEFycmF5QnVmZmVyKEEqNCksTD1uZXcgVWludDhBcnJheSh2KSxMLnNldChuZXcgVWludDhBcnJheSh1LGMucHRyLFUpKSxEPW5ldyBVaW50MzJBcnJheSh2KSxjLnB0cis9VSxfPj0zP3A9PW51bGw/ci5vcmlnaW5hbFVuc3R1ZmYyKEQsbCxILE4pOnIudW5zdHVmZjIoRCxsLEgsTiwhMSxwLEksayk6cD09bnVsbD9yLm9yaWdpbmFsVW5zdHVmZihELGwsSCxOKTpyLnVuc3R1ZmYoRCxsLEgsTiwhMSxwLEksaykpfX0scmVhZFRpbGVzOmZ1bmN0aW9uKHUsYyxsKXt2YXIgcD1jLmhlYWRlckluZm8sZD1wLndpZHRoLG09cC5oZWlnaHQsXz1wLm1pY3JvQmxvY2tTaXplLGc9cC5pbWFnZVR5cGUsYj1pLmdldERhdGFUeXBlU2l6ZShnKSxUPU1hdGguY2VpbChkL18pLE89TWF0aC5jZWlsKG0vXyk7Yy5waXhlbHMubnVtQmxvY2tzWT1PLGMucGl4ZWxzLm51bUJsb2Nrc1g9VCxjLnBpeGVscy5wdHI9MDt2YXIgRT0wLHc9MCxDPTAsTj0wLEk9MCxEPTAsdj0wLEw9MCxVPTAsQT0wLFM9MCxQPTAsRj0wLGo9MCxIPTAsaz0wLEssWCxSLG90LGF0LHB0LHl0PW5ldyBsKF8qXykscnQ9bSVffHxfLFB0PWQlX3x8XyxndCxDdCxtdD1wLm51bURpbXMsdXQsdnQ9Yy5waXhlbHMucmVzdWx0TWFzayx6dD1jLnBpeGVscy5yZXN1bHRQaXhlbHM7Zm9yKEM9MDtDPE87QysrKWZvcihJPUMhPT1PLTE/XzpydCxOPTA7TjxUO04rKylmb3IoRD1OIT09VC0xP186UHQsUz1DKmQqXytOKl8sUD1kLUQsdXQ9MDt1dDxtdDt1dCsrKXtpZihtdD4xJiYoenQ9bmV3IGwoYy5waXhlbHMucmVzdWx0UGl4ZWxzLmJ1ZmZlcixkKm0qdXQqYixkKm0pKSx2PXUuYnl0ZUxlbmd0aC1jLnB0cixLPW5ldyBEYXRhVmlldyh1LGMucHRyLE1hdGgubWluKDEwLHYpKSxYPXt9LGs9MCxMPUsuZ2V0VWludDgoMCksaysrLFU9TD4+NiYyNTUsQT1MPj4yJjE1LEEhPT0oTipfPj4zJjE1KSl0aHJvdyJpbnRlZ3JpdHkgaXNzdWUiO2lmKHB0PUwmMyxwdD4zKXRocm93IGMucHRyKz1rLCJJbnZhbGlkIGJsb2NrIGVuY29kaW5nICgiK3B0KyIpIjtpZihwdD09PTIpe2MuY291bnRlci5jb25zdGFudCsrLGMucHRyKz1rO2NvbnRpbnVlfWVsc2UgaWYocHQ9PT0wKXtpZihjLmNvdW50ZXIudW5jb21wcmVzc2VkKyssYy5wdHIrPWssRj1JKkQqYixqPXUuYnl0ZUxlbmd0aC1jLnB0cixGPUY8aj9GOmosUj1uZXcgQXJyYXlCdWZmZXIoRiViPT09MD9GOkYrYi1GJWIpLG90PW5ldyBVaW50OEFycmF5KFIpLG90LnNldChuZXcgVWludDhBcnJheSh1LGMucHRyLEYpKSxhdD1uZXcgbChSKSxIPTAsdnQpZm9yKEU9MDtFPEk7RSsrKXtmb3Iodz0wO3c8RDt3KyspdnRbU10mJih6dFtTXT1hdFtIKytdKSxTKys7Uys9UH1lbHNlIGZvcihFPTA7RTxJO0UrKyl7Zm9yKHc9MDt3PEQ7dysrKXp0W1MrK109YXRbSCsrXTtTKz1QfWMucHRyKz1IKmJ9ZWxzZSBpZihndD1pLmdldERhdGFUeXBlVXNlZChnLFUpLEN0PWkuZ2V0T25lUGl4ZWwoWCxrLGd0LEspLGsrPWkuZ2V0RGF0YVR5cGVTaXplKGd0KSxwdD09PTMpaWYoYy5wdHIrPWssYy5jb3VudGVyLmNvbnN0YW50b2Zmc2V0KyssdnQpZm9yKEU9MDtFPEk7RSsrKXtmb3Iodz0wO3c8RDt3KyspdnRbU10mJih6dFtTXT1DdCksUysrO1MrPVB9ZWxzZSBmb3IoRT0wO0U8STtFKyspe2Zvcih3PTA7dzxEO3crKyl6dFtTKytdPUN0O1MrPVB9ZWxzZSBpZihjLnB0cis9ayxpLmRlY29kZUJpdHModSxjLHl0LEN0LHV0KSxrPTAsdnQpZm9yKEU9MDtFPEk7RSsrKXtmb3Iodz0wO3c8RDt3KyspdnRbU10mJih6dFtTXT15dFtrKytdKSxTKys7Uys9UH1lbHNlIGZvcihFPTA7RTxJO0UrKyl7Zm9yKHc9MDt3PEQ7dysrKXp0W1MrK109eXRbaysrXTtTKz1QfX19LGZvcm1hdEZpbGVJbmZvOmZ1bmN0aW9uKHUpe3JldHVybntmaWxlSWRlbnRpZmllclN0cmluZzp1LmhlYWRlckluZm8uZmlsZUlkZW50aWZpZXJTdHJpbmcsZmlsZVZlcnNpb246dS5oZWFkZXJJbmZvLmZpbGVWZXJzaW9uLGltYWdlVHlwZTp1LmhlYWRlckluZm8uaW1hZ2VUeXBlLGhlaWdodDp1LmhlYWRlckluZm8uaGVpZ2h0LHdpZHRoOnUuaGVhZGVySW5mby53aWR0aCxudW1WYWxpZFBpeGVsOnUuaGVhZGVySW5mby5udW1WYWxpZFBpeGVsLG1pY3JvQmxvY2tTaXplOnUuaGVhZGVySW5mby5taWNyb0Jsb2NrU2l6ZSxibG9iU2l6ZTp1LmhlYWRlckluZm8uYmxvYlNpemUsbWF4WkVycm9yOnUuaGVhZGVySW5mby5tYXhaRXJyb3IscGl4ZWxUeXBlOmkuZ2V0UGl4ZWxUeXBlKHUuaGVhZGVySW5mby5pbWFnZVR5cGUpLGVvZk9mZnNldDp1LmVvZk9mZnNldCxtYXNrOnUubWFzaz97bnVtQnl0ZXM6dS5tYXNrLm51bUJ5dGVzfTpudWxsLHBpeGVsczp7bnVtQmxvY2tzWDp1LnBpeGVscy5udW1CbG9ja3NYLG51bUJsb2Nrc1k6dS5waXhlbHMubnVtQmxvY2tzWSxtYXhWYWx1ZTp1LmhlYWRlckluZm8uek1heCxtaW5WYWx1ZTp1LmhlYWRlckluZm8uek1pbixub0RhdGFWYWx1ZTp1Lm5vRGF0YVZhbHVlfX19LGNvbnN0cnVjdENvbnN0YW50U3VyZmFjZTpmdW5jdGlvbih1KXt2YXIgYz11LmhlYWRlckluZm8uek1heCxsPXUuaGVhZGVySW5mby5udW1EaW1zLHA9dS5oZWFkZXJJbmZvLmhlaWdodCp1LmhlYWRlckluZm8ud2lkdGgsZD1wKmwsbT0wLF89MCxnPTAsYj11LnBpeGVscy5yZXN1bHRNYXNrO2lmKGIpaWYobD4xKWZvcihtPTA7bTxsO20rKylmb3IoZz1tKnAsXz0wO188cDtfKyspYltfXSYmKHUucGl4ZWxzLnJlc3VsdFBpeGVsc1tnK19dPWMpO2Vsc2UgZm9yKF89MDtfPHA7XysrKWJbX10mJih1LnBpeGVscy5yZXN1bHRQaXhlbHNbX109Yyk7ZWxzZSBpZih1LnBpeGVscy5yZXN1bHRQaXhlbHMuZmlsbCl1LnBpeGVscy5yZXN1bHRQaXhlbHMuZmlsbChjKTtlbHNlIGZvcihfPTA7XzxkO18rKyl1LnBpeGVscy5yZXN1bHRQaXhlbHNbX109Y30sZ2V0RGF0YVR5cGVBcnJheTpmdW5jdGlvbih1KXt2YXIgYztzd2l0Y2godSl7Y2FzZSAwOmM9SW50OEFycmF5O2JyZWFrO2Nhc2UgMTpjPVVpbnQ4QXJyYXk7YnJlYWs7Y2FzZSAyOmM9SW50MTZBcnJheTticmVhaztjYXNlIDM6Yz1VaW50MTZBcnJheTticmVhaztjYXNlIDQ6Yz1JbnQzMkFycmF5O2JyZWFrO2Nhc2UgNTpjPVVpbnQzMkFycmF5O2JyZWFrO2Nhc2UgNjpjPUZsb2F0MzJBcnJheTticmVhaztjYXNlIDc6Yz1GbG9hdDY0QXJyYXk7YnJlYWs7ZGVmYXVsdDpjPUZsb2F0MzJBcnJheX1yZXR1cm4gY30sZ2V0UGl4ZWxUeXBlOmZ1bmN0aW9uKHUpe3ZhciBjO3N3aXRjaCh1KXtjYXNlIDA6Yz0iUzgiO2JyZWFrO2Nhc2UgMTpjPSJVOCI7YnJlYWs7Y2FzZSAyOmM9IlMxNiI7YnJlYWs7Y2FzZSAzOmM9IlUxNiI7YnJlYWs7Y2FzZSA0OmM9IlMzMiI7YnJlYWs7Y2FzZSA1OmM9IlUzMiI7YnJlYWs7Y2FzZSA2OmM9IkYzMiI7YnJlYWs7Y2FzZSA3OmM9IkY2NCI7YnJlYWs7ZGVmYXVsdDpjPSJGMzIifXJldHVybiBjfSxpc1ZhbGlkUGl4ZWxWYWx1ZTpmdW5jdGlvbih1LGMpe2lmKGM9PW51bGwpcmV0dXJuITE7dmFyIGw7c3dpdGNoKHUpe2Nhc2UgMDpsPWM+PS0xMjgmJmM8PTEyNzticmVhaztjYXNlIDE6bD1jPj0wJiZjPD0yNTU7YnJlYWs7Y2FzZSAyOmw9Yz49LTMyNzY4JiZjPD0zMjc2NzticmVhaztjYXNlIDM6bD1jPj0wJiZjPD02NTUzNjticmVhaztjYXNlIDQ6bD1jPj0tMjE0NzQ4MzY0OCYmYzw9MjE0NzQ4MzY0NzticmVhaztjYXNlIDU6bD1jPj0wJiZjPD00Mjk0OTY3Mjk2O2JyZWFrO2Nhc2UgNjpsPWM+PS0zNDAyNzk5OTM4NzkwMTQ4NGUyMiYmYzw9MzQwMjc5OTkzODc5MDE0ODRlMjI7YnJlYWs7Y2FzZSA3Omw9Yz49NWUtMzI0JiZjPD0xNzk3NjkzMTM0ODYyMzE1N2UyOTI7YnJlYWs7ZGVmYXVsdDpsPSExfXJldHVybiBsfSxnZXREYXRhVHlwZVNpemU6ZnVuY3Rpb24odSl7dmFyIGM9MDtzd2l0Y2godSl7Y2FzZSAwOmNhc2UgMTpjPTE7YnJlYWs7Y2FzZSAyOmNhc2UgMzpjPTI7YnJlYWs7Y2FzZSA0OmNhc2UgNTpjYXNlIDY6Yz00O2JyZWFrO2Nhc2UgNzpjPTg7YnJlYWs7ZGVmYXVsdDpjPXV9cmV0dXJuIGN9LGdldERhdGFUeXBlVXNlZDpmdW5jdGlvbih1LGMpe3ZhciBsPXU7c3dpdGNoKHUpe2Nhc2UgMjpjYXNlIDQ6bD11LWM7YnJlYWs7Y2FzZSAzOmNhc2UgNTpsPXUtMipjO2JyZWFrO2Nhc2UgNjpjPT09MD9sPXU6Yz09PTE/bD0yOmw9MTticmVhaztjYXNlIDc6Yz09PTA/bD11Omw9dS0yKmMrMTticmVhaztkZWZhdWx0Omw9dTticmVha31yZXR1cm4gbH0sZ2V0T25lUGl4ZWw6ZnVuY3Rpb24odSxjLGwscCl7dmFyIGQ9MDtzd2l0Y2gobCl7Y2FzZSAwOmQ9cC5nZXRJbnQ4KGMpO2JyZWFrO2Nhc2UgMTpkPXAuZ2V0VWludDgoYyk7YnJlYWs7Y2FzZSAyOmQ9cC5nZXRJbnQxNihjLCEwKTticmVhaztjYXNlIDM6ZD1wLmdldFVpbnQxNihjLCEwKTticmVhaztjYXNlIDQ6ZD1wLmdldEludDMyKGMsITApO2JyZWFrO2Nhc2UgNTpkPXAuZ2V0VUludDMyKGMsITApO2JyZWFrO2Nhc2UgNjpkPXAuZ2V0RmxvYXQzMihjLCEwKTticmVhaztjYXNlIDc6ZD1wLmdldEZsb2F0NjQoYywhMCk7YnJlYWs7ZGVmYXVsdDp0aHJvdyJ0aGUgZGVjb2RlciBkb2VzIG5vdCB1bmRlcnN0YW5kIHRoaXMgcGl4ZWwgdHlwZSJ9cmV0dXJuIGR9fSxzPWZ1bmN0aW9uKHUsYyxsKXt0aGlzLnZhbD11LHRoaXMubGVmdD1jLHRoaXMucmlnaHQ9bH0sZj17ZGVjb2RlOmZ1bmN0aW9uKHUsYyl7Yz1jfHx7fTt2YXIgbD1jLm5vRGF0YVZhbHVlLHA9MCxkPXt9O2lmKGQucHRyPWMuaW5wdXRPZmZzZXR8fDAsZC5waXhlbHM9e30sISFpLnJlYWRIZWFkZXJJbmZvKHUsZCkpe3ZhciBtPWQuaGVhZGVySW5mbyxfPW0uZmlsZVZlcnNpb24sZz1pLmdldERhdGFUeXBlQXJyYXkobS5pbWFnZVR5cGUpO2kucmVhZE1hc2sodSxkKSxtLm51bVZhbGlkUGl4ZWwhPT1tLndpZHRoKm0uaGVpZ2h0JiYhZC5waXhlbHMucmVzdWx0TWFzayYmKGQucGl4ZWxzLnJlc3VsdE1hc2s9Yy5tYXNrRGF0YSk7dmFyIGI9bS53aWR0aCptLmhlaWdodDtpZihkLnBpeGVscy5yZXN1bHRQaXhlbHM9bmV3IGcoYiptLm51bURpbXMpLGQuY291bnRlcj17b25lc3dlZXA6MCx1bmNvbXByZXNzZWQ6MCxsdXQ6MCxiaXRzdHVmZmVyOjAsY29uc3RhbnQ6MCxjb25zdGFudG9mZnNldDowfSxtLm51bVZhbGlkUGl4ZWwhPT0wKWlmKG0uek1heD09PW0uek1pbilpLmNvbnN0cnVjdENvbnN0YW50U3VyZmFjZShkKTtlbHNlIGlmKF8+PTQmJmkuY2hlY2tNaW5NYXhSYW5nZXModSxkKSlpLmNvbnN0cnVjdENvbnN0YW50U3VyZmFjZShkKTtlbHNle3ZhciBUPW5ldyBEYXRhVmlldyh1LGQucHRyLDIpLE89VC5nZXRVaW50OCgwKTtpZihkLnB0cisrLE8paS5yZWFkRGF0YU9uZVN3ZWVwKHUsZCxnKTtlbHNlIGlmKF8+MSYmbS5pbWFnZVR5cGU8PTEmJk1hdGguYWJzKG0ubWF4WkVycm9yLS41KTwxZS01KXt2YXIgRT1ULmdldFVpbnQ4KDEpO2lmKGQucHRyKyssZC5lbmNvZGVNb2RlPUUsRT4yfHxfPDQmJkU+MSl0aHJvdyJJbnZhbGlkIEh1ZmZtYW4gZmxhZyAiK0U7RT9pLnJlYWRIdWZmbWFuKHUsZCxnKTppLnJlYWRUaWxlcyh1LGQsZyl9ZWxzZSBpLnJlYWRUaWxlcyh1LGQsZyl9ZC5lb2ZPZmZzZXQ9ZC5wdHI7dmFyIHc7Yy5pbnB1dE9mZnNldD8odz1kLmhlYWRlckluZm8uYmxvYlNpemUrYy5pbnB1dE9mZnNldC1kLnB0cixNYXRoLmFicyh3KT49MSYmKGQuZW9mT2Zmc2V0PWMuaW5wdXRPZmZzZXQrZC5oZWFkZXJJbmZvLmJsb2JTaXplKSk6KHc9ZC5oZWFkZXJJbmZvLmJsb2JTaXplLWQucHRyLE1hdGguYWJzKHcpPj0xJiYoZC5lb2ZPZmZzZXQ9ZC5oZWFkZXJJbmZvLmJsb2JTaXplKSk7dmFyIEM9e3dpZHRoOm0ud2lkdGgsaGVpZ2h0Om0uaGVpZ2h0LHBpeGVsRGF0YTpkLnBpeGVscy5yZXN1bHRQaXhlbHMsbWluVmFsdWU6bS56TWluLG1heFZhbHVlOm0uek1heCx2YWxpZFBpeGVsQ291bnQ6bS5udW1WYWxpZFBpeGVsLGRpbUNvdW50Om0ubnVtRGltcyxkaW1TdGF0czp7bWluVmFsdWVzOm0ubWluVmFsdWVzLG1heFZhbHVlczptLm1heFZhbHVlc30sbWFza0RhdGE6ZC5waXhlbHMucmVzdWx0TWFza307aWYoZC5waXhlbHMucmVzdWx0TWFzayYmaS5pc1ZhbGlkUGl4ZWxWYWx1ZShtLmltYWdlVHlwZSxsKSl7dmFyIE49ZC5waXhlbHMucmVzdWx0TWFzaztmb3IocD0wO3A8YjtwKyspTltwXXx8KEMucGl4ZWxEYXRhW3BdPWwpO0Mubm9EYXRhVmFsdWU9bH1yZXR1cm4gZC5ub0RhdGFWYWx1ZT1sLGMucmV0dXJuRmlsZUluZm8mJihDLmZpbGVJbmZvPWkuZm9ybWF0RmlsZUluZm8oZCkpLEN9fSxnZXRCYW5kQ291bnQ6ZnVuY3Rpb24odSl7dmFyIGM9MCxsPTAscD17fTtmb3IocC5wdHI9MCxwLnBpeGVscz17fTtsPHUuYnl0ZUxlbmd0aC01ODspaS5yZWFkSGVhZGVySW5mbyh1LHApLGwrPXAuaGVhZGVySW5mby5ibG9iU2l6ZSxjKysscC5wdHI9bDtyZXR1cm4gY319O3JldHVybiBmfSgpLG49ZnVuY3Rpb24oKXt2YXIgcj1uZXcgQXJyYXlCdWZmZXIoNCksaT1uZXcgVWludDhBcnJheShyKSxzPW5ldyBVaW50MzJBcnJheShyKTtyZXR1cm4gc1swXT0xLGlbMF09PT0xfSgpLG89e2RlY29kZTpmdW5jdGlvbihyLGkpe2lmKCFuKXRocm93IkJpZyBlbmRpYW4gc3lzdGVtIGlzIG5vdCBzdXBwb3J0ZWQuIjtpPWl8fHt9O3ZhciBzPWkuaW5wdXRPZmZzZXR8fDAsZj1uZXcgVWludDhBcnJheShyLHMsMTApLHU9U3RyaW5nLmZyb21DaGFyQ29kZS5hcHBseShudWxsLGYpLGMsbDtpZih1LnRyaW0oKT09PSJDbnRaSW1hZ2UiKWM9dCxsPTE7ZWxzZSBpZih1LnN1YnN0cmluZygwLDUpPT09IkxlcmMyIiljPWUsbD0yO2Vsc2UgdGhyb3ciVW5leHBlY3RlZCBmaWxlIGlkZW50aWZpZXIgc3RyaW5nOiAiK3U7Zm9yKHZhciBwPTAsZD1yLmJ5dGVMZW5ndGgtMTAsbSxfPVtdLGcsYixUPXt3aWR0aDowLGhlaWdodDowLHBpeGVsczpbXSxwaXhlbFR5cGU6aS5waXhlbFR5cGUsbWFzazpudWxsLHN0YXRpc3RpY3M6W119O3M8ZDspe3ZhciBPPWMuZGVjb2RlKHIse2lucHV0T2Zmc2V0OnMsZW5jb2RlZE1hc2tEYXRhOm0sbWFza0RhdGE6YixyZXR1cm5NYXNrOnA9PT0wLHJldHVybkVuY29kZWRNYXNrOnA9PT0wLHJldHVybkZpbGVJbmZvOiEwLHBpeGVsVHlwZTppLnBpeGVsVHlwZXx8bnVsbCxub0RhdGFWYWx1ZTppLm5vRGF0YVZhbHVlfHxudWxsfSk7cz1PLmZpbGVJbmZvLmVvZk9mZnNldCxwPT09MCYmKG09Ty5lbmNvZGVkTWFza0RhdGEsYj1PLm1hc2tEYXRhLFQud2lkdGg9Ty53aWR0aCxULmhlaWdodD1PLmhlaWdodCxULmRpbUNvdW50PU8uZGltQ291bnR8fDEsVC5waXhlbFR5cGU9Ty5waXhlbFR5cGV8fE8uZmlsZUluZm8ucGl4ZWxUeXBlLFQubWFzaz1PLm1hc2tEYXRhKSxsPjEmJk8uZmlsZUluZm8ubWFzayYmTy5maWxlSW5mby5tYXNrLm51bUJ5dGVzPjAmJl8ucHVzaChPLm1hc2tEYXRhKSxwKyssVC5waXhlbHMucHVzaChPLnBpeGVsRGF0YSksVC5zdGF0aXN0aWNzLnB1c2goe21pblZhbHVlOk8ubWluVmFsdWUsbWF4VmFsdWU6Ty5tYXhWYWx1ZSxub0RhdGFWYWx1ZTpPLm5vRGF0YVZhbHVlLGRpbVN0YXRzOk8uZGltU3RhdHN9KX12YXIgRSx3LEM7aWYobD4xJiZfLmxlbmd0aD4xKXtmb3IoQz1ULndpZHRoKlQuaGVpZ2h0LFQuYmFuZE1hc2tzPV8sYj1uZXcgVWludDhBcnJheShDKSxiLnNldChfWzBdKSxFPTE7RTxfLmxlbmd0aDtFKyspZm9yKGc9X1tFXSx3PTA7dzxDO3crKyliW3ddPWJbd10mZ1t3XTtULm1hc2tEYXRhPWJ9cmV0dXJuIFR9fTt0eXBlb2YgZGVmaW5lPT0iZnVuY3Rpb24iJiZkZWZpbmUuYW1kP2RlZmluZShbXSxmdW5jdGlvbigpe3JldHVybiBvfSk6dHlwZW9mICRkPCJ1IiYmJGQuZXhwb3J0cz8kZC5leHBvcnRzPW86dGhpcy5MZXJjPW99KSgpfSk7dmFyIGZnPXt9O2RlKGZnLHtkZWZhdWx0OigpPT5kVX0pO2Z1bmN0aW9uIHBVKHQsZSl7aWYodC5lbmNvZGluZz09PVhSLkxFUkMpe2xldCByO3RyeXtyPUpSLmRlZmF1bHQuZGVjb2RlKHQuaGVpZ2h0bWFwKX1jYXRjaChzKXt0aHJvdyBuZXcgQWUocyl9aWYoci5zdGF0aXN0aWNzWzBdLm1pblZhbHVlPT09TnVtYmVyLk1BWF9WQUxVRSl0aHJvdyBuZXcgQWUoIkludmFsaWQgdGlsZSBkYXRhIik7dC5oZWlnaHRtYXA9ci5waXhlbHNbMF0sdC53aWR0aD1yLndpZHRoLHQuaGVpZ2h0PXIuaGVpZ2h0fXQuZWxsaXBzb2lkPSQuY2xvbmUodC5lbGxpcHNvaWQpLHQucmVjdGFuZ2xlPU50LmNsb25lKHQucmVjdGFuZ2xlKTtsZXQgbj0kUi5jb21wdXRlVmVydGljZXModCksbz1uLnZlcnRpY2VzO3JldHVybiBlLnB1c2goby5idWZmZXIpLHt2ZXJ0aWNlczpvLmJ1ZmZlcixudW1iZXJPZkF0dHJpYnV0ZXM6bi5lbmNvZGluZy5zdHJpZGUsbWluaW11bUhlaWdodDpuLm1pbmltdW1IZWlnaHQsbWF4aW11bUhlaWdodDpuLm1heGltdW1IZWlnaHQsZ3JpZFdpZHRoOnQud2lkdGgsZ3JpZEhlaWdodDp0LmhlaWdodCxib3VuZGluZ1NwaGVyZTNEOm4uYm91bmRpbmdTcGhlcmUzRCxvcmllbnRlZEJvdW5kaW5nQm94Om4ub3JpZW50ZWRCb3VuZGluZ0JveCxvY2NsdWRlZVBvaW50SW5TY2FsZWRTcGFjZTpuLm9jY2x1ZGVlUG9pbnRJblNjYWxlZFNwYWNlLGVuY29kaW5nOm4uZW5jb2Rpbmcsd2VzdEluZGljZXNTb3V0aFRvTm9ydGg6bi53ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aCxzb3V0aEluZGljZXNFYXN0VG9XZXN0Om4uc291dGhJbmRpY2VzRWFzdFRvV2VzdCxlYXN0SW5kaWNlc05vcnRoVG9Tb3V0aDpuLmVhc3RJbmRpY2VzTm9ydGhUb1NvdXRoLG5vcnRoSW5kaWNlc1dlc3RUb0Vhc3Q6bi5ub3J0aEluZGljZXNXZXN0VG9FYXN0fX12YXIgSlIsZFUsdWc9WigoKT0+e1p0KCk7WVIoKTtaUigpO3duKCk7SnIoKTtKUj1kcihRUigpLDEpO3NvKCk7ZFU9UWUocFUpfSk7ZnVuY3Rpb24gVm8oKXtCLnRocm93SW5zdGFudGlhdGlvbkVycm9yKCl9ZnVuY3Rpb24gbzIodCxlKXtsZXQgbj1uZXcgQXJyYXkoZSksbz1uZXcgQXJyYXkodCkscj1uZXcgQXJyYXkoZSksaT1uZXcgQXJyYXkodCkscztmb3Iocz0wO3M8dDsrK3MpaVtzXT1zLG9bc109dCplLTEtcztmb3Iocz0wO3M8ZTsrK3MpcltzXT0ocysxKSp0LTEsbltzXT0oZS1zLTEpKnQ7cmV0dXJue3dlc3RJbmRpY2VzU291dGhUb05vcnRoOm4sc291dGhJbmRpY2VzRWFzdFRvV2VzdDpvLGVhc3RJbmRpY2VzTm9ydGhUb1NvdXRoOnIsbm9ydGhJbmRpY2VzV2VzdFRvRWFzdDppfX1mdW5jdGlvbiByMih0LGUsbixvKXtsZXQgcj0wO2ZvcihsZXQgaT0wO2k8ZS0xOysraSl7Zm9yKGxldCBzPTA7czx0LTE7KytzKXtsZXQgZj1yLHU9Zit0LGM9dSsxLGw9ZisxO25bbysrXT1mLG5bbysrXT11LG5bbysrXT1sLG5bbysrXT1sLG5bbysrXT11LG5bbysrXT1jLCsrcn0rK3J9fWZ1bmN0aW9uIFpkKHQsZSxuLG8pe2xldCByPXRbMF0saT10Lmxlbmd0aDtmb3IobGV0IHM9MTtzPGk7KytzKXtsZXQgZj10W3NdO25bbysrXT1yLG5bbysrXT1mLG5bbysrXT1lLG5bbysrXT1lLG5bbysrXT1mLG5bbysrXT1lKzEscj1mLCsrZX1yZXR1cm4gb312YXIgdDIsZTIsbjIsaTIsczI9WigoKT0+e2Z0KCk7SHQoKTskZSgpO1d0KCk7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoVm8ucHJvdG90eXBlLHtlcnJvckV2ZW50OntnZXQ6Qi50aHJvd0luc3RhbnRpYXRpb25FcnJvcn0sY3JlZGl0OntnZXQ6Qi50aHJvd0luc3RhbnRpYXRpb25FcnJvcn0sdGlsaW5nU2NoZW1lOntnZXQ6Qi50aHJvd0luc3RhbnRpYXRpb25FcnJvcn0saGFzV2F0ZXJNYXNrOntnZXQ6Qi50aHJvd0luc3RhbnRpYXRpb25FcnJvcn0saGFzVmVydGV4Tm9ybWFsczp7Z2V0OkIudGhyb3dJbnN0YW50aWF0aW9uRXJyb3J9LGF2YWlsYWJpbGl0eTp7Z2V0OkIudGhyb3dJbnN0YW50aWF0aW9uRXJyb3J9fSk7dDI9W107Vm8uZ2V0UmVndWxhckdyaWRJbmRpY2VzPWZ1bmN0aW9uKHQsZSl7aWYodCplPj1NLkZPVVJfR0lHQUJZVEVTKXRocm93IG5ldyBCKCJUaGUgdG90YWwgbnVtYmVyIG9mIHZlcnRpY2VzICh3aWR0aCAqIGhlaWdodCkgbXVzdCBiZSBsZXNzIHRoYW4gNCwyOTQsOTY3LDI5Ni4iKTtsZXQgbj10Mlt0XTtoKG4pfHwodDJbdF09bj1bXSk7bGV0IG89bltlXTtyZXR1cm4gaChvKXx8KHQqZTxNLlNJWFRZX0ZPVVJfS0lMT0JZVEVTP289bltlXT1uZXcgVWludDE2QXJyYXkoKHQtMSkqKGUtMSkqNik6bz1uW2VdPW5ldyBVaW50MzJBcnJheSgodC0xKSooZS0xKSo2KSxyMih0LGUsbywwKSksb307ZTI9W107Vm8uZ2V0UmVndWxhckdyaWRJbmRpY2VzQW5kRWRnZUluZGljZXM9ZnVuY3Rpb24odCxlKXtpZih0KmU+PU0uRk9VUl9HSUdBQllURVMpdGhyb3cgbmV3IEIoIlRoZSB0b3RhbCBudW1iZXIgb2YgdmVydGljZXMgKHdpZHRoICogaGVpZ2h0KSBtdXN0IGJlIGxlc3MgdGhhbiA0LDI5NCw5NjcsMjk2LiIpO2xldCBuPWUyW3RdO2gobil8fChlMlt0XT1uPVtdKTtsZXQgbz1uW2VdO2lmKCFoKG8pKXtsZXQgcj1Wby5nZXRSZWd1bGFyR3JpZEluZGljZXModCxlKSxpPW8yKHQsZSkscz1pLndlc3RJbmRpY2VzU291dGhUb05vcnRoLGY9aS5zb3V0aEluZGljZXNFYXN0VG9XZXN0LHU9aS5lYXN0SW5kaWNlc05vcnRoVG9Tb3V0aCxjPWkubm9ydGhJbmRpY2VzV2VzdFRvRWFzdDtvPW5bZV09e2luZGljZXM6cix3ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aDpzLHNvdXRoSW5kaWNlc0Vhc3RUb1dlc3Q6ZixlYXN0SW5kaWNlc05vcnRoVG9Tb3V0aDp1LG5vcnRoSW5kaWNlc1dlc3RUb0Vhc3Q6Y319cmV0dXJuIG99O24yPVtdO1ZvLmdldFJlZ3VsYXJHcmlkQW5kU2tpcnRJbmRpY2VzQW5kRWRnZUluZGljZXM9ZnVuY3Rpb24odCxlKXtpZih0KmU+PU0uRk9VUl9HSUdBQllURVMpdGhyb3cgbmV3IEIoIlRoZSB0b3RhbCBudW1iZXIgb2YgdmVydGljZXMgKHdpZHRoICogaGVpZ2h0KSBtdXN0IGJlIGxlc3MgdGhhbiA0LDI5NCw5NjcsMjk2LiIpO2xldCBuPW4yW3RdO2gobil8fChuMlt0XT1uPVtdKTtsZXQgbz1uW2VdO2lmKCFoKG8pKXtsZXQgcj10KmUsaT0odC0xKSooZS0xKSo2LHM9dCoyK2UqMixmPU1hdGgubWF4KDAscy00KSo2LHU9citzLGM9aStmLGw9bzIodCxlKSxwPWwud2VzdEluZGljZXNTb3V0aFRvTm9ydGgsZD1sLnNvdXRoSW5kaWNlc0Vhc3RUb1dlc3QsbT1sLmVhc3RJbmRpY2VzTm9ydGhUb1NvdXRoLF89bC5ub3J0aEluZGljZXNXZXN0VG9FYXN0LGc9RHQuY3JlYXRlVHlwZWRBcnJheSh1LGMpO3IyKHQsZSxnLDApLFZvLmFkZFNraXJ0SW5kaWNlcyhwLGQsbSxfLHIsZyxpKSxvPW5bZV09e2luZGljZXM6Zyx3ZXN0SW5kaWNlc1NvdXRoVG9Ob3J0aDpwLHNvdXRoSW5kaWNlc0Vhc3RUb1dlc3Q6ZCxlYXN0SW5kaWNlc05vcnRoVG9Tb3V0aDptLG5vcnRoSW5kaWNlc1dlc3RUb0Vhc3Q6XyxpbmRleENvdW50V2l0aG91dFNraXJ0czppfX1yZXR1cm4gb307Vm8uYWRkU2tpcnRJbmRpY2VzPWZ1bmN0aW9uKHQsZSxuLG8scixpLHMpe2xldCBmPXI7cz1aZCh0LGYsaSxzKSxmKz10Lmxlbmd0aCxzPVpkKGUsZixpLHMpLGYrPWUubGVuZ3RoLHM9WmQobixmLGkscyksZis9bi5sZW5ndGgsWmQobyxmLGkscyl9O1ZvLmhlaWdodG1hcFRlcnJhaW5RdWFsaXR5PS4yNTtWby5nZXRFc3RpbWF0ZWRMZXZlbFplcm9HZW9tZXRyaWNFcnJvckZvckFIZWlnaHRtYXA9ZnVuY3Rpb24odCxlLG4pe3JldHVybiB0Lm1heGltdW1SYWRpdXMqMipNYXRoLlBJKlZvLmhlaWdodG1hcFRlcnJhaW5RdWFsaXR5LyhlKm4pfTtWby5wcm90b3R5cGUucmVxdWVzdFRpbGVHZW9tZXRyeT1CLnRocm93SW5zdGFudGlhdGlvbkVycm9yO1ZvLnByb3RvdHlwZS5nZXRMZXZlbE1heGltdW1HZW9tZXRyaWNFcnJvcj1CLnRocm93SW5zdGFudGlhdGlvbkVycm9yO1ZvLnByb3RvdHlwZS5nZXRUaWxlRGF0YUF2YWlsYWJsZT1CLnRocm93SW5zdGFudGlhdGlvbkVycm9yO1ZvLnByb3RvdHlwZS5sb2FkVGlsZURhdGFBdmFpbGFiaWxpdHk9Qi50aHJvd0luc3RhbnRpYXRpb25FcnJvcjtpMj1Wb30pO3ZhciBwZz17fTtkZShwZyx7ZGVmYXVsdDooKT0+eVV9KTtmdW5jdGlvbiBfVSh0LGUpe2xldCBuPXQucXVhbnRpemVkVmVydGljZXMsbz1uLmxlbmd0aC8zLHI9dC5vY3RFbmNvZGVkTm9ybWFscyxpPXQud2VzdEluZGljZXMubGVuZ3RoK3QuZWFzdEluZGljZXMubGVuZ3RoK3Quc291dGhJbmRpY2VzLmxlbmd0aCt0Lm5vcnRoSW5kaWNlcy5sZW5ndGgscz10LmluY2x1ZGVXZWJNZXJjYXRvclQsZj10LmV4YWdnZXJhdGlvbix1PXQuZXhhZ2dlcmF0aW9uUmVsYXRpdmVIZWlnaHQsbD1mIT09MSxwPU50LmNsb25lKHQucmVjdGFuZ2xlKSxkPXAud2VzdCxtPXAuc291dGgsXz1wLmVhc3QsZz1wLm5vcnRoLGI9JC5jbG9uZSh0LmVsbGlwc29pZCksVD10Lm1pbmltdW1IZWlnaHQsTz10Lm1heGltdW1IZWlnaHQsRT10LnJlbGF0aXZlVG9DZW50ZXIsdz1Yby5lYXN0Tm9ydGhVcFRvRml4ZWRGcmFtZShFLGIpLEM9c3QuaW52ZXJzZVRyYW5zZm9ybWF0aW9uKHcsbmV3IHN0KSxOLEk7cyYmKE49bm8uZ2VvZGV0aWNMYXRpdHVkZVRvTWVyY2F0b3JBbmdsZShtKSxJPTEvKG5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUoZyktTikpO2xldCBEPW4uc3ViYXJyYXkoMCxvKSx2PW4uc3ViYXJyYXkobywyKm8pLEw9bi5zdWJhcnJheShvKjIsMypvKSxVPWgociksQT1uZXcgQXJyYXkobyksUz1uZXcgQXJyYXkobyksUD1uZXcgQXJyYXkobyksRj1zP25ldyBBcnJheShvKTpbXSxqPWw/bmV3IEFycmF5KG8pOltdLEg9bVU7SC54PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSxILnk9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLEguej1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFk7bGV0IGs9aFU7ay54PU51bWJlci5ORUdBVElWRV9JTkZJTklUWSxrLnk9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLGsuej1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7bGV0IEs9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFg9TnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLFI9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLG90PU51bWJlci5ORUdBVElWRV9JTkZJTklUWTtmb3IobGV0ICR0PTA7JHQ8bzsrKyR0KXtsZXQgR2U9RFskdF0sZG49dlskdF0sc249R2UvbGcsbW49ZG4vbGcsZm89TS5sZXJwKFQsTyxMWyR0XS9sZyk7Wm4ubG9uZ2l0dWRlPU0ubGVycChkLF8sc24pLFpuLmxhdGl0dWRlPU0ubGVycChtLGcsbW4pLFpuLmhlaWdodD1mbyxLPU1hdGgubWluKFpuLmxvbmdpdHVkZSxLKSxYPU1hdGgubWF4KFpuLmxvbmdpdHVkZSxYKSxSPU1hdGgubWluKFpuLmxhdGl0dWRlLFIpLG90PU1hdGgubWF4KFpuLmxhdGl0dWRlLG90KTtsZXQgSG49Yi5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihabik7QVskdF09bmV3IHR0KHNuLG1uKSxTWyR0XT1mbyxQWyR0XT1IbixzJiYoRlskdF09KG5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUoWm4ubGF0aXR1ZGUpLU4pKkkpLGwmJihqWyR0XT1iLmdlb2RldGljU3VyZmFjZU5vcm1hbChIbikpLHN0Lm11bHRpcGx5QnlQb2ludChDLEhuLGF1KSxhLm1pbmltdW1CeUNvbXBvbmVudChhdSxILEgpLGEubWF4aW11bUJ5Q29tcG9uZW50KGF1LGssayl9bGV0IGF0PXRtKHQud2VzdEluZGljZXMsZnVuY3Rpb24oJHQsR2Upe3JldHVybiBBWyR0XS55LUFbR2VdLnl9KSxwdD10bSh0LmVhc3RJbmRpY2VzLGZ1bmN0aW9uKCR0LEdlKXtyZXR1cm4gQVtHZV0ueS1BWyR0XS55fSkseXQ9dG0odC5zb3V0aEluZGljZXMsZnVuY3Rpb24oJHQsR2Upe3JldHVybiBBW0dlXS54LUFbJHRdLnh9KSxydD10bSh0Lm5vcnRoSW5kaWNlcyxmdW5jdGlvbigkdCxHZSl7cmV0dXJuIEFbJHRdLngtQVtHZV0ueH0pLFB0O1Q8MCYmKFB0PW5ldyB4cyhiKS5jb21wdXRlSG9yaXpvbkN1bGxpbmdQb2ludFBvc3NpYmx5VW5kZXJFbGxpcHNvaWQoRSxQLFQpKTtsZXQgZ3Q9VDtndD1NYXRoLm1pbihndCxRZCh0Lndlc3RJbmRpY2VzLHQud2VzdFNraXJ0SGVpZ2h0LFMsQSxwLGIsQyxILGspKSxndD1NYXRoLm1pbihndCxRZCh0LnNvdXRoSW5kaWNlcyx0LnNvdXRoU2tpcnRIZWlnaHQsUyxBLHAsYixDLEgsaykpLGd0PU1hdGgubWluKGd0LFFkKHQuZWFzdEluZGljZXMsdC5lYXN0U2tpcnRIZWlnaHQsUyxBLHAsYixDLEgsaykpLGd0PU1hdGgubWluKGd0LFFkKHQubm9ydGhJbmRpY2VzLHQubm9ydGhTa2lydEhlaWdodCxTLEEscCxiLEMsSCxrKSk7bGV0IEN0PW5ldyBEaShILGssRSksbXQ9bmV3IFBzKEUsQ3QsZ3QsTyx3LFUscyxsLGYsdSksdXQ9bXQuc3RyaWRlLHZ0PW8qdXQraSp1dCx6dD1uZXcgRmxvYXQzMkFycmF5KHZ0KSxtZT0wO2ZvcihsZXQgJHQ9MDskdDxvOysrJHQpe2lmKFUpe2xldCBHZT0kdCoyO1VhLng9cltHZV0sVWEueT1yW0dlKzFdfW1lPW10LmVuY29kZSh6dCxtZSxQWyR0XSxBWyR0XSxTWyR0XSxVYSxGWyR0XSxqWyR0XSl9bGV0IGNlPU1hdGgubWF4KDAsKGktNCkqMikscGU9dC5pbmRpY2VzLmxlbmd0aCtjZSozLHVlPUR0LmNyZWF0ZVR5cGVkQXJyYXkobytpLHBlKTt1ZS5zZXQodC5pbmRpY2VzLDApO2xldCBRdD0xZS00LEp0PShYLUspKlF0LE5lPShvdC1SKSpRdCxnZT0tSnQsRWU9MCx1bj1KdCxrZT0wLGJlPTAsbG49TmUscG49MCxFbj0tTmUscmU9byp1dDtyZXR1cm4gSmQoenQscmUsYXQsbXQsUyxBLHIsYixwLHQud2VzdFNraXJ0SGVpZ2h0LE4sSSxnZSxFZSkscmUrPXQud2VzdEluZGljZXMubGVuZ3RoKnV0LEpkKHp0LHJlLHl0LG10LFMsQSxyLGIscCx0LnNvdXRoU2tpcnRIZWlnaHQsTixJLHBuLEVuKSxyZSs9dC5zb3V0aEluZGljZXMubGVuZ3RoKnV0LEpkKHp0LHJlLHB0LG10LFMsQSxyLGIscCx0LmVhc3RTa2lydEhlaWdodCxOLEksdW4sa2UpLHJlKz10LmVhc3RJbmRpY2VzLmxlbmd0aCp1dCxKZCh6dCxyZSxydCxtdCxTLEEscixiLHAsdC5ub3J0aFNraXJ0SGVpZ2h0LE4sSSxiZSxsbiksaTIuYWRkU2tpcnRJbmRpY2VzKGF0LHl0LHB0LHJ0LG8sdWUsdC5pbmRpY2VzLmxlbmd0aCksZS5wdXNoKHp0LmJ1ZmZlcix1ZS5idWZmZXIpLHt2ZXJ0aWNlczp6dC5idWZmZXIsaW5kaWNlczp1ZS5idWZmZXIsd2VzdEluZGljZXNTb3V0aFRvTm9ydGg6YXQsc291dGhJbmRpY2VzRWFzdFRvV2VzdDp5dCxlYXN0SW5kaWNlc05vcnRoVG9Tb3V0aDpwdCxub3J0aEluZGljZXNXZXN0VG9FYXN0OnJ0LHZlcnRleFN0cmlkZTp1dCxjZW50ZXI6RSxtaW5pbXVtSGVpZ2h0OlQsbWF4aW11bUhlaWdodDpPLG9jY2x1ZGVlUG9pbnRJblNjYWxlZFNwYWNlOlB0LGVuY29kaW5nOm10LGluZGV4Q291bnRXaXRob3V0U2tpcnRzOnQuaW5kaWNlcy5sZW5ndGh9fWZ1bmN0aW9uIFFkKHQsZSxuLG8scixpLHMsZix1KXtsZXQgYz1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksbD1yLm5vcnRoLHA9ci5zb3V0aCxkPXIuZWFzdCxtPXIud2VzdDtkPG0mJihkKz1NLlRXT19QSSk7bGV0IF89dC5sZW5ndGg7Zm9yKGxldCBnPTA7ZzxfOysrZyl7bGV0IGI9dFtnXSxUPW5bYl0sTz1vW2JdO1puLmxvbmdpdHVkZT1NLmxlcnAobSxkLE8ueCksWm4ubGF0aXR1ZGU9TS5sZXJwKHAsbCxPLnkpLFpuLmhlaWdodD1ULWU7bGV0IEU9aS5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihabixhdSk7c3QubXVsdGlwbHlCeVBvaW50KHMsRSxFKSxhLm1pbmltdW1CeUNvbXBvbmVudChFLGYsZiksYS5tYXhpbXVtQnlDb21wb25lbnQoRSx1LHUpLGM9TWF0aC5taW4oYyxabi5oZWlnaHQpfXJldHVybiBjfWZ1bmN0aW9uIEpkKHQsZSxuLG8scixpLHMsZix1LGMsbCxwLGQsbSl7bGV0IF89aChzKSxnPXUubm9ydGgsYj11LnNvdXRoLFQ9dS5lYXN0LE89dS53ZXN0O1Q8TyYmKFQrPU0uVFdPX1BJKTtsZXQgRT1uLmxlbmd0aDtmb3IobGV0IHc9MDt3PEU7Kyt3KXtsZXQgQz1uW3ddLE49cltDXSxJPWlbQ107Wm4ubG9uZ2l0dWRlPU0ubGVycChPLFQsSS54KStkLFpuLmxhdGl0dWRlPU0ubGVycChiLGcsSS55KSttLFpuLmhlaWdodD1OLWM7bGV0IEQ9Zi5jYXJ0b2dyYXBoaWNUb0NhcnRlc2lhbihabixhdSk7aWYoXyl7bGV0IFU9QyoyO1VhLng9c1tVXSxVYS55PXNbVSsxXX1sZXQgdjtvLmhhc1dlYk1lcmNhdG9yVCYmKHY9KG5vLmdlb2RldGljTGF0aXR1ZGVUb01lcmNhdG9yQW5nbGUoWm4ubGF0aXR1ZGUpLWwpKnApO2xldCBMO28uaGFzR2VvZGV0aWNTdXJmYWNlTm9ybWFscyYmKEw9Zi5nZW9kZXRpY1N1cmZhY2VOb3JtYWwoRCkpLGU9by5lbmNvZGUodCxlLEQsSSxabi5oZWlnaHQsVWEsdixMKX19ZnVuY3Rpb24gdG0odCxlKXtsZXQgbjtyZXR1cm4gdHlwZW9mIHQuc2xpY2U9PSJmdW5jdGlvbiImJihuPXQuc2xpY2UoKSx0eXBlb2Ygbi5zb3J0IT0iZnVuY3Rpb24iJiYobj12b2lkIDApKSxoKG4pfHwobj1BcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbCh0KSksbi5zb3J0KGUpLG59dmFyIGxnLGF1LG1VLGhVLFpuLFVhLHlVLGRnPVooKCk9Pnt4ZigpO1VlKCk7RnQoKTtJZSgpO2Z0KCk7WnQoKTtpdSgpOyRlKCk7V3QoKTtVbigpO3duKCk7c3UoKTtzMigpO2NzKCk7aWMoKTtzbygpO2xnPTMyNzY3LGF1PW5ldyBhLG1VPW5ldyBhLGhVPW5ldyBhLFpuPW5ldyBjdCxVYT1uZXcgdHQ7eVU9UWUoX1UpfSk7ZnVuY3Rpb24gZ1UodCxlKXtyZXR1cm4gTS5lcXVhbHNFcHNpbG9uKHQubGF0aXR1ZGUsZS5sYXRpdHVkZSxNLkVQU0lMT04xMCkmJk0uZXF1YWxzRXBzaWxvbih0LmxvbmdpdHVkZSxlLmxvbmdpdHVkZSxNLkVQU0lMT04xMCl9ZnVuY3Rpb24gVFUodCxlLG4sbyl7ZT14bihlLGEuZXF1YWxzRXBzaWxvbik7bGV0IHI9ZS5sZW5ndGg7aWYocjwyKXJldHVybjtsZXQgaT1oKG8pLHM9aChuKSxmPW5ldyBBcnJheShyKSx1PW5ldyBBcnJheShyKSxjPW5ldyBBcnJheShyKSxsPWVbMF07ZlswXT1sO2xldCBwPXQuY2FydGVzaWFuVG9DYXJ0b2dyYXBoaWMobCxBVSk7cyYmKHAuaGVpZ2h0PW5bMF0pLHVbMF09cC5oZWlnaHQsaT9jWzBdPW9bMF06Y1swXT0wO2xldCBkPXVbMF0sbT1jWzBdLF89ZD09PW0sZz0xO2ZvcihsZXQgYj0xO2I8cjsrK2Ipe2xldCBUPWVbYl0sTz10LmNhcnRlc2lhblRvQ2FydG9ncmFwaGljKFQsYlUpO3MmJihPLmhlaWdodD1uW2JdKSxfPV8mJk8uaGVpZ2h0PT09MCxnVShwLE8pP3AuaGVpZ2h0PE8uaGVpZ2h0JiYodVtnLTFdPU8uaGVpZ2h0KTooZltnXT1ULHVbZ109Ty5oZWlnaHQsaT9jW2ddPW9bYl06Y1tnXT0wLF89XyYmdVtnXT09PWNbZ10sY3QuY2xvbmUoTyxwKSwrK2cpfWlmKCEoX3x8ZzwyKSlyZXR1cm4gZi5sZW5ndGg9Zyx1Lmxlbmd0aD1nLGMubGVuZ3RoPWcse3Bvc2l0aW9uczpmLHRvcEhlaWdodHM6dSxib3R0b21IZWlnaHRzOmN9fXZhciBjMixBVSxiVSx3VSxPVSxFVSxlbSxtZz1aKCgpPT57anIoKTtGdCgpO0llKCk7ZnQoKTtXdCgpO3lhKCk7YzI9e307QVU9bmV3IGN0LGJVPW5ldyBjdDt3VT1uZXcgQXJyYXkoMiksT1U9bmV3IEFycmF5KDIpLEVVPXtwb3NpdGlvbnM6dm9pZCAwLGhlaWdodDp2b2lkIDAsZ3JhbnVsYXJpdHk6dm9pZCAwLGVsbGlwc29pZDp2b2lkIDB9O2MyLmNvbXB1dGVQb3NpdGlvbnM9ZnVuY3Rpb24odCxlLG4sbyxyLGkpe2xldCBzPVRVKHQsZSxuLG8pO2lmKCFoKHMpKXJldHVybjtlPXMucG9zaXRpb25zLG49cy50b3BIZWlnaHRzLG89cy5ib3R0b21IZWlnaHRzO2xldCBmPWUubGVuZ3RoLHU9Zi0yLGMsbCxwPU0uY2hvcmRMZW5ndGgocix0Lm1heGltdW1SYWRpdXMpLGQ9RVU7aWYoZC5taW5EaXN0YW5jZT1wLGQuZWxsaXBzb2lkPXQsaSl7bGV0IG09MCxfO2ZvcihfPTA7XzxmLTE7XysrKW0rPUFuLm51bWJlck9mUG9pbnRzKGVbX10sZVtfKzFdLHApKzE7Yz1uZXcgRmxvYXQ2NEFycmF5KG0qMyksbD1uZXcgRmxvYXQ2NEFycmF5KG0qMyk7bGV0IGc9d1UsYj1PVTtkLnBvc2l0aW9ucz1nLGQuaGVpZ2h0PWI7bGV0IFQ9MDtmb3IoXz0wO188Zi0xO18rKyl7Z1swXT1lW19dLGdbMV09ZVtfKzFdLGJbMF09bltfXSxiWzFdPW5bXysxXTtsZXQgTz1Bbi5nZW5lcmF0ZUFyYyhkKTtjLnNldChPLFQpLGJbMF09b1tfXSxiWzFdPW9bXysxXSxsLnNldChBbi5nZW5lcmF0ZUFyYyhkKSxUKSxUKz1PLmxlbmd0aH19ZWxzZSBkLnBvc2l0aW9ucz1lLGQuaGVpZ2h0PW4sYz1uZXcgRmxvYXQ2NEFycmF5KEFuLmdlbmVyYXRlQXJjKGQpKSxkLmhlaWdodD1vLGw9bmV3IEZsb2F0NjRBcnJheShBbi5nZW5lcmF0ZUFyYyhkKSk7cmV0dXJue2JvdHRvbVBvc2l0aW9uczpsLHRvcFBvc2l0aW9uczpjLG51bUNvcm5lcnM6dX19O2VtPWMyfSk7ZnVuY3Rpb24gRWModCl7dD14KHQseC5FTVBUWV9PQkpFQ1QpO2xldCBlPXQucG9zaXRpb25zLG49dC5tYXhpbXVtSGVpZ2h0cyxvPXQubWluaW11bUhlaWdodHM7aWYoIWgoZSkpdGhyb3cgbmV3IEIoIm9wdGlvbnMucG9zaXRpb25zIGlzIHJlcXVpcmVkLiIpO2lmKGgobikmJm4ubGVuZ3RoIT09ZS5sZW5ndGgpdGhyb3cgbmV3IEIoIm9wdGlvbnMucG9zaXRpb25zIGFuZCBvcHRpb25zLm1heGltdW1IZWlnaHRzIG11c3QgaGF2ZSB0aGUgc2FtZSBsZW5ndGguIik7aWYoaChvKSYmby5sZW5ndGghPT1lLmxlbmd0aCl0aHJvdyBuZXcgQigib3B0aW9ucy5wb3NpdGlvbnMgYW5kIG9wdGlvbnMubWluaW11bUhlaWdodHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aC4iKTtsZXQgcj14KHQudmVydGV4Rm9ybWF0LGR0LkRFRkFVTFQpLGk9eCh0LmdyYW51bGFyaXR5LE0uUkFESUFOU19QRVJfREVHUkVFKSxzPXgodC5lbGxpcHNvaWQsJC5kZWZhdWx0KTt0aGlzLl9wb3NpdGlvbnM9ZSx0aGlzLl9taW5pbXVtSGVpZ2h0cz1vLHRoaXMuX21heGltdW1IZWlnaHRzPW4sdGhpcy5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKHIpLHRoaXMuX2dyYW51bGFyaXR5PWksdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUocyksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlV2FsbEdlb21ldHJ5IjtsZXQgZj0xK2UubGVuZ3RoKmEucGFja2VkTGVuZ3RoKzI7aChvKSYmKGYrPW8ubGVuZ3RoKSxoKG4pJiYoZis9bi5sZW5ndGgpLHRoaXMucGFja2VkTGVuZ3RoPWYrJC5wYWNrZWRMZW5ndGgrZHQucGFja2VkTGVuZ3RoKzF9dmFyIGhnLG5tLFJVLGEyLFNVLENVLHhVLGYyLHUyLGZ1LF9nLGwyPVooKCk9Pnt2ZSgpO0Z0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1hlKCk7WWUoKTthbigpOyRlKCk7V3QoKTt0bigpO1JvKCk7bWcoKTtoZz1uZXcgYSxubT1uZXcgYSxSVT1uZXcgYSxhMj1uZXcgYSxTVT1uZXcgYSxDVT1uZXcgYSx4VT1uZXcgYTtFYy5wYWNrPWZ1bmN0aW9uKHQsZSxuKXtpZighaCh0KSl0aHJvdyBuZXcgQigidmFsdWUgaXMgcmVxdWlyZWQiKTtpZighaChlKSl0aHJvdyBuZXcgQigiYXJyYXkgaXMgcmVxdWlyZWQiKTtuPXgobiwwKTtsZXQgbyxyPXQuX3Bvc2l0aW9ucyxpPXIubGVuZ3RoO2ZvcihlW24rK109aSxvPTA7bzxpOysrbyxuKz1hLnBhY2tlZExlbmd0aClhLnBhY2socltvXSxlLG4pO2xldCBzPXQuX21pbmltdW1IZWlnaHRzO2lmKGk9aChzKT9zLmxlbmd0aDowLGVbbisrXT1pLGgocykpZm9yKG89MDtvPGk7KytvKWVbbisrXT1zW29dO2xldCBmPXQuX21heGltdW1IZWlnaHRzO2lmKGk9aChmKT9mLmxlbmd0aDowLGVbbisrXT1pLGgoZikpZm9yKG89MDtvPGk7KytvKWVbbisrXT1mW29dO3JldHVybiAkLnBhY2sodC5fZWxsaXBzb2lkLGUsbiksbis9JC5wYWNrZWRMZW5ndGgsZHQucGFjayh0Ll92ZXJ0ZXhGb3JtYXQsZSxuKSxuKz1kdC5wYWNrZWRMZW5ndGgsZVtuXT10Ll9ncmFudWxhcml0eSxlfTtmMj0kLmNsb25lKCQuVU5JVF9TUEhFUkUpLHUyPW5ldyBkdCxmdT17cG9zaXRpb25zOnZvaWQgMCxtaW5pbXVtSGVpZ2h0czp2b2lkIDAsbWF4aW11bUhlaWdodHM6dm9pZCAwLGVsbGlwc29pZDpmMix2ZXJ0ZXhGb3JtYXQ6dTIsZ3JhbnVsYXJpdHk6dm9pZCAwfTtFYy51bnBhY2s9ZnVuY3Rpb24odCxlLG4pe2lmKCFoKHQpKXRocm93IG5ldyBCKCJhcnJheSBpcyByZXF1aXJlZCIpO2U9eChlLDApO2xldCBvLHI9dFtlKytdLGk9bmV3IEFycmF5KHIpO2ZvcihvPTA7bzxyOysrbyxlKz1hLnBhY2tlZExlbmd0aClpW29dPWEudW5wYWNrKHQsZSk7cj10W2UrK107bGV0IHM7aWYocj4wKWZvcihzPW5ldyBBcnJheShyKSxvPTA7bzxyOysrbylzW29dPXRbZSsrXTtyPXRbZSsrXTtsZXQgZjtpZihyPjApZm9yKGY9bmV3IEFycmF5KHIpLG89MDtvPHI7KytvKWZbb109dFtlKytdO2xldCB1PSQudW5wYWNrKHQsZSxmMik7ZSs9JC5wYWNrZWRMZW5ndGg7bGV0IGM9ZHQudW5wYWNrKHQsZSx1Mik7ZSs9ZHQucGFja2VkTGVuZ3RoO2xldCBsPXRbZV07cmV0dXJuIGgobik/KG4uX3Bvc2l0aW9ucz1pLG4uX21pbmltdW1IZWlnaHRzPXMsbi5fbWF4aW11bUhlaWdodHM9ZixuLl9lbGxpcHNvaWQ9JC5jbG9uZSh1LG4uX2VsbGlwc29pZCksbi5fdmVydGV4Rm9ybWF0PWR0LmNsb25lKGMsbi5fdmVydGV4Rm9ybWF0KSxuLl9ncmFudWxhcml0eT1sLG4pOihmdS5wb3NpdGlvbnM9aSxmdS5taW5pbXVtSGVpZ2h0cz1zLGZ1Lm1heGltdW1IZWlnaHRzPWYsZnUuZ3JhbnVsYXJpdHk9bCxuZXcgRWMoZnUpKX07RWMuZnJvbUNvbnN0YW50SGVpZ2h0cz1mdW5jdGlvbih0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnM7aWYoIWgoZSkpdGhyb3cgbmV3IEIoIm9wdGlvbnMucG9zaXRpb25zIGlzIHJlcXVpcmVkLiIpO2xldCBuLG8scj10Lm1pbmltdW1IZWlnaHQsaT10Lm1heGltdW1IZWlnaHQscz1oKHIpLGY9aChpKTtpZihzfHxmKXtsZXQgYz1lLmxlbmd0aDtuPXM/bmV3IEFycmF5KGMpOnZvaWQgMCxvPWY/bmV3IEFycmF5KGMpOnZvaWQgMDtmb3IobGV0IGw9MDtsPGM7KytsKXMmJihuW2xdPXIpLGYmJihvW2xdPWkpfWxldCB1PXtwb3NpdGlvbnM6ZSxtYXhpbXVtSGVpZ2h0czpvLG1pbmltdW1IZWlnaHRzOm4sZWxsaXBzb2lkOnQuZWxsaXBzb2lkLHZlcnRleEZvcm1hdDp0LnZlcnRleEZvcm1hdH07cmV0dXJuIG5ldyBFYyh1KX07RWMuY3JlYXRlR2VvbWV0cnk9ZnVuY3Rpb24odCl7bGV0IGU9dC5fcG9zaXRpb25zLG49dC5fbWluaW11bUhlaWdodHMsbz10Ll9tYXhpbXVtSGVpZ2h0cyxyPXQuX3ZlcnRleEZvcm1hdCxpPXQuX2dyYW51bGFyaXR5LHM9dC5fZWxsaXBzb2lkLGY9ZW0uY29tcHV0ZVBvc2l0aW9ucyhzLGUsbyxuLGksITApO2lmKCFoKGYpKXJldHVybjtsZXQgdT1mLmJvdHRvbVBvc2l0aW9ucyxjPWYudG9wUG9zaXRpb25zLGw9Zi5udW1Db3JuZXJzLHA9Yy5sZW5ndGgsZD1wKjIsbT1yLnBvc2l0aW9uP25ldyBGbG9hdDY0QXJyYXkoZCk6dm9pZCAwLF89ci5ub3JtYWw/bmV3IEZsb2F0MzJBcnJheShkKTp2b2lkIDAsZz1yLnRhbmdlbnQ/bmV3IEZsb2F0MzJBcnJheShkKTp2b2lkIDAsYj1yLmJpdGFuZ2VudD9uZXcgRmxvYXQzMkFycmF5KGQpOnZvaWQgMCxUPXIuc3Q/bmV3IEZsb2F0MzJBcnJheShkLzMqMik6dm9pZCAwLE89MCxFPTAsdz0wLEM9MCxOPTAsST14VSxEPUNVLHY9U1UsTD0hMDtwLz0zO2xldCBVLEE9MCxTPTEvKHAtbC0xKTtmb3IoVT0wO1U8cDsrK1Upe2xldCBrPVUqMyxLPWEuZnJvbUFycmF5KGMsayxoZyksWD1hLmZyb21BcnJheSh1LGssbm0pO2lmKHIucG9zaXRpb24mJihtW08rK109WC54LG1bTysrXT1YLnksbVtPKytdPVgueixtW08rK109Sy54LG1bTysrXT1LLnksbVtPKytdPUsueiksci5zdCYmKFRbTisrXT1BLFRbTisrXT0wLFRbTisrXT1BLFRbTisrXT0xKSxyLm5vcm1hbHx8ci50YW5nZW50fHxyLmJpdGFuZ2VudCl7bGV0IFI9YS5jbG9uZShhLlpFUk8sYTIpLG90PWEuc3VidHJhY3QoSyxzLmdlb2RldGljU3VyZmFjZU5vcm1hbChLLG5tKSxubSk7aWYoVSsxPHAmJihSPWEuZnJvbUFycmF5KGMsayszLGEyKSksTCl7bGV0IGF0PWEuc3VidHJhY3QoUixLLFJVKSxwdD1hLnN1YnRyYWN0KG90LEssaGcpO0k9YS5ub3JtYWxpemUoYS5jcm9zcyhwdCxhdCxJKSxJKSxMPSExfWEuZXF1YWxzRXBzaWxvbihLLFIsTS5FUFNJTE9OMTApP0w9ITA6KEErPVMsci50YW5nZW50JiYoRD1hLm5vcm1hbGl6ZShhLnN1YnRyYWN0KFIsSyxEKSxEKSksci5iaXRhbmdlbnQmJih2PWEubm9ybWFsaXplKGEuY3Jvc3MoSSxELHYpLHYpKSksci5ub3JtYWwmJihfW0UrK109SS54LF9bRSsrXT1JLnksX1tFKytdPUkueixfW0UrK109SS54LF9bRSsrXT1JLnksX1tFKytdPUkueiksci50YW5nZW50JiYoZ1tDKytdPUQueCxnW0MrK109RC55LGdbQysrXT1ELnosZ1tDKytdPUQueCxnW0MrK109RC55LGdbQysrXT1ELnopLHIuYml0YW5nZW50JiYoYlt3KytdPXYueCxiW3crK109di55LGJbdysrXT12LnosYlt3KytdPXYueCxiW3crK109di55LGJbdysrXT12LnopfX1sZXQgUD1uZXcgaWU7ci5wb3NpdGlvbiYmKFAucG9zaXRpb249bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczptfSkpLHIubm9ybWFsJiYoUC5ub3JtYWw9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOl99KSksci50YW5nZW50JiYoUC50YW5nZW50PW5ldyBpdCh7Y29tcG9uZW50RGF0YXR5cGU6bnQuRkxPQVQsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpnfSkpLHIuYml0YW5nZW50JiYoUC5iaXRhbmdlbnQ9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjMsdmFsdWVzOmJ9KSksci5zdCYmKFAuc3Q9bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5GTE9BVCxjb21wb25lbnRzUGVyQXR0cmlidXRlOjIsdmFsdWVzOlR9KSk7bGV0IEY9ZC8zO2QtPTYqKGwrMSk7bGV0IGo9RHQuY3JlYXRlVHlwZWRBcnJheShGLGQpLEg9MDtmb3IoVT0wO1U8Ri0yO1UrPTIpe2xldCBrPVUsSz1VKzIsWD1hLmZyb21BcnJheShtLGsqMyxoZyksUj1hLmZyb21BcnJheShtLEsqMyxubSk7aWYoYS5lcXVhbHNFcHNpbG9uKFgsUixNLkVQU0lMT04xMCkpY29udGludWU7bGV0IG90PVUrMSxhdD1VKzM7altIKytdPW90LGpbSCsrXT1rLGpbSCsrXT1hdCxqW0grK109YXQsaltIKytdPWssaltIKytdPUt9cmV0dXJuIG5ldyBVdCh7YXR0cmlidXRlczpQLGluZGljZXM6aixwcmltaXRpdmVUeXBlOkJ0LlRSSUFOR0xFUyxib3VuZGluZ1NwaGVyZTpuZXcgQXQuZnJvbVZlcnRpY2VzKG0pfSl9O19nPUVjfSk7dmFyIHlnPXt9O2RlKHlnLHtkZWZhdWx0OigpPT5NVX0pO2Z1bmN0aW9uIFBVKHQsZSl7cmV0dXJuIGgoZSkmJih0PV9nLnVucGFjayh0LGUpKSx0Ll9lbGxpcHNvaWQ9JC5jbG9uZSh0Ll9lbGxpcHNvaWQpLF9nLmNyZWF0ZUdlb21ldHJ5KHQpfXZhciBNVSxnZz1aKCgpPT57ZnQoKTtadCgpO2wyKCk7TVU9UFV9KTtmdW5jdGlvbiBSYyh0KXt0PXgodCx4LkVNUFRZX09CSkVDVCk7bGV0IGU9dC5wb3NpdGlvbnMsbj10Lm1heGltdW1IZWlnaHRzLG89dC5taW5pbXVtSGVpZ2h0cztpZighaChlKSl0aHJvdyBuZXcgQigib3B0aW9ucy5wb3NpdGlvbnMgaXMgcmVxdWlyZWQuIik7aWYoaChuKSYmbi5sZW5ndGghPT1lLmxlbmd0aCl0aHJvdyBuZXcgQigib3B0aW9ucy5wb3NpdGlvbnMgYW5kIG9wdGlvbnMubWF4aW11bUhlaWdodHMgbXVzdCBoYXZlIHRoZSBzYW1lIGxlbmd0aC4iKTtpZihoKG8pJiZvLmxlbmd0aCE9PWUubGVuZ3RoKXRocm93IG5ldyBCKCJvcHRpb25zLnBvc2l0aW9ucyBhbmQgb3B0aW9ucy5taW5pbXVtSGVpZ2h0cyBtdXN0IGhhdmUgdGhlIHNhbWUgbGVuZ3RoLiIpO2xldCByPXgodC5ncmFudWxhcml0eSxNLlJBRElBTlNfUEVSX0RFR1JFRSksaT14KHQuZWxsaXBzb2lkLCQuZGVmYXVsdCk7dGhpcy5fcG9zaXRpb25zPWUsdGhpcy5fbWluaW11bUhlaWdodHM9byx0aGlzLl9tYXhpbXVtSGVpZ2h0cz1uLHRoaXMuX2dyYW51bGFyaXR5PXIsdGhpcy5fZWxsaXBzb2lkPSQuY2xvbmUoaSksdGhpcy5fd29ya2VyTmFtZT0iY3JlYXRlV2FsbE91dGxpbmVHZW9tZXRyeSI7bGV0IHM9MStlLmxlbmd0aCphLnBhY2tlZExlbmd0aCsyO2gobykmJihzKz1vLmxlbmd0aCksaChuKSYmKHMrPW4ubGVuZ3RoKSx0aGlzLnBhY2tlZExlbmd0aD1zKyQucGFja2VkTGVuZ3RoKzF9dmFyIHAyLGQyLG0yLHV1LEFnLGgyPVooKCk9Pnt2ZSgpO0Z0KCk7RmUoKTtJdCgpO2Z0KCk7SHQoKTtadCgpO1hlKCk7WWUoKTthbigpOyRlKCk7V3QoKTt0bigpO21nKCk7cDI9bmV3IGEsZDI9bmV3IGE7UmMucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoInZhbHVlIGlzIHJlcXVpcmVkIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7bj14KG4sMCk7bGV0IG8scj10Ll9wb3NpdGlvbnMsaT1yLmxlbmd0aDtmb3IoZVtuKytdPWksbz0wO288aTsrK28sbis9YS5wYWNrZWRMZW5ndGgpYS5wYWNrKHJbb10sZSxuKTtsZXQgcz10Ll9taW5pbXVtSGVpZ2h0cztpZihpPWgocyk/cy5sZW5ndGg6MCxlW24rK109aSxoKHMpKWZvcihvPTA7bzxpOysrbyllW24rK109c1tvXTtsZXQgZj10Ll9tYXhpbXVtSGVpZ2h0cztpZihpPWgoZik/Zi5sZW5ndGg6MCxlW24rK109aSxoKGYpKWZvcihvPTA7bzxpOysrbyllW24rK109ZltvXTtyZXR1cm4gJC5wYWNrKHQuX2VsbGlwc29pZCxlLG4pLG4rPSQucGFja2VkTGVuZ3RoLGVbbl09dC5fZ3JhbnVsYXJpdHksZX07bTI9JC5jbG9uZSgkLlVOSVRfU1BIRVJFKSx1dT17cG9zaXRpb25zOnZvaWQgMCxtaW5pbXVtSGVpZ2h0czp2b2lkIDAsbWF4aW11bUhlaWdodHM6dm9pZCAwLGVsbGlwc29pZDptMixncmFudWxhcml0eTp2b2lkIDB9O1JjLnVucGFjaz1mdW5jdGlvbih0LGUsbil7aWYoIWgodCkpdGhyb3cgbmV3IEIoImFycmF5IGlzIHJlcXVpcmVkIik7ZT14KGUsMCk7bGV0IG8scj10W2UrK10saT1uZXcgQXJyYXkocik7Zm9yKG89MDtvPHI7KytvLGUrPWEucGFja2VkTGVuZ3RoKWlbb109YS51bnBhY2sodCxlKTtyPXRbZSsrXTtsZXQgcztpZihyPjApZm9yKHM9bmV3IEFycmF5KHIpLG89MDtvPHI7KytvKXNbb109dFtlKytdO3I9dFtlKytdO2xldCBmO2lmKHI+MClmb3IoZj1uZXcgQXJyYXkociksbz0wO288cjsrK28pZltvXT10W2UrK107bGV0IHU9JC51bnBhY2sodCxlLG0yKTtlKz0kLnBhY2tlZExlbmd0aDtsZXQgYz10W2VdO3JldHVybiBoKG4pPyhuLl9wb3NpdGlvbnM9aSxuLl9taW5pbXVtSGVpZ2h0cz1zLG4uX21heGltdW1IZWlnaHRzPWYsbi5fZWxsaXBzb2lkPSQuY2xvbmUodSxuLl9lbGxpcHNvaWQpLG4uX2dyYW51bGFyaXR5PWMsbik6KHV1LnBvc2l0aW9ucz1pLHV1Lm1pbmltdW1IZWlnaHRzPXMsdXUubWF4aW11bUhlaWdodHM9Zix1dS5ncmFudWxhcml0eT1jLG5ldyBSYyh1dSkpfTtSYy5mcm9tQ29uc3RhbnRIZWlnaHRzPWZ1bmN0aW9uKHQpe3Q9eCh0LHguRU1QVFlfT0JKRUNUKTtsZXQgZT10LnBvc2l0aW9ucztpZighaChlKSl0aHJvdyBuZXcgQigib3B0aW9ucy5wb3NpdGlvbnMgaXMgcmVxdWlyZWQuIik7bGV0IG4sbyxyPXQubWluaW11bUhlaWdodCxpPXQubWF4aW11bUhlaWdodCxzPWgociksZj1oKGkpO2lmKHN8fGYpe2xldCBjPWUubGVuZ3RoO249cz9uZXcgQXJyYXkoYyk6dm9pZCAwLG89Zj9uZXcgQXJyYXkoYyk6dm9pZCAwO2ZvcihsZXQgbD0wO2w8YzsrK2wpcyYmKG5bbF09ciksZiYmKG9bbF09aSl9bGV0IHU9e3Bvc2l0aW9uczplLG1heGltdW1IZWlnaHRzOm8sbWluaW11bUhlaWdodHM6bixlbGxpcHNvaWQ6dC5lbGxpcHNvaWR9O3JldHVybiBuZXcgUmModSl9O1JjLmNyZWF0ZUdlb21ldHJ5PWZ1bmN0aW9uKHQpe2xldCBlPXQuX3Bvc2l0aW9ucyxuPXQuX21pbmltdW1IZWlnaHRzLG89dC5fbWF4aW11bUhlaWdodHMscj10Ll9ncmFudWxhcml0eSxpPXQuX2VsbGlwc29pZCxzPWVtLmNvbXB1dGVQb3NpdGlvbnMoaSxlLG8sbixyLCExKTtpZighaChzKSlyZXR1cm47bGV0IGY9cy5ib3R0b21Qb3NpdGlvbnMsdT1zLnRvcFBvc2l0aW9ucyxjPXUubGVuZ3RoLGw9YyoyLHA9bmV3IEZsb2F0NjRBcnJheShsKSxkPTA7Yy89MztsZXQgbTtmb3IobT0wO208YzsrK20pe2xldCBPPW0qMyxFPWEuZnJvbUFycmF5KHUsTyxwMiksdz1hLmZyb21BcnJheShmLE8sZDIpO3BbZCsrXT13LngscFtkKytdPXcueSxwW2QrK109dy56LHBbZCsrXT1FLngscFtkKytdPUUueSxwW2QrK109RS56fWxldCBfPW5ldyBpZSh7cG9zaXRpb246bmV3IGl0KHtjb21wb25lbnREYXRhdHlwZTpudC5ET1VCTEUsY29tcG9uZW50c1BlckF0dHJpYnV0ZTozLHZhbHVlczpwfSl9KSxnPWwvMztsPTIqZy00K2c7bGV0IGI9RHQuY3JlYXRlVHlwZWRBcnJheShnLGwpLFQ9MDtmb3IobT0wO208Zy0yO20rPTIpe2xldCBPPW0sRT1tKzIsdz1hLmZyb21BcnJheShwLE8qMyxwMiksQz1hLmZyb21BcnJheShwLEUqMyxkMik7aWYoYS5lcXVhbHNFcHNpbG9uKHcsQyxNLkVQU0lMT04xMCkpY29udGludWU7bGV0IE49bSsxLEk9bSszO2JbVCsrXT1OLGJbVCsrXT1PLGJbVCsrXT1OLGJbVCsrXT1JLGJbVCsrXT1PLGJbVCsrXT1FfXJldHVybiBiW1QrK109Zy0yLGJbVCsrXT1nLTEsbmV3IFV0KHthdHRyaWJ1dGVzOl8saW5kaWNlczpiLHByaW1pdGl2ZVR5cGU6QnQuTElORVMsYm91bmRpbmdTcGhlcmU6bmV3IEF0LmZyb21WZXJ0aWNlcyhwKX0pfTtBZz1SY30pO3ZhciBiZz17fTtkZShiZyx7ZGVmYXVsdDooKT0+SVV9KTtmdW5jdGlvbiBOVSh0LGUpe3JldHVybiBoKGUpJiYodD1BZy51bnBhY2sodCxlKSksdC5fZWxsaXBzb2lkPSQuY2xvbmUodC5fZWxsaXBzb2lkKSxBZy5jcmVhdGVHZW9tZXRyeSh0KX12YXIgSVUsVGc9WigoKT0+e2Z0KCk7WnQoKTtoMigpO0lVPU5VfSk7dmFyIEVnPVhuKChsdSxPZyk9Pnt2YXIgVnQ9VnR8fHt9O1Z0LnNjb3BlPXt9O1Z0LmFycmF5SXRlcmF0b3JJbXBsPWZ1bmN0aW9uKHQpe3ZhciBlPTA7cmV0dXJuIGZ1bmN0aW9uKCl7cmV0dXJuIGU8dC5sZW5ndGg/e2RvbmU6ITEsdmFsdWU6dFtlKytdfTp7ZG9uZTohMH19fTtWdC5hcnJheUl0ZXJhdG9yPWZ1bmN0aW9uKHQpe3JldHVybntuZXh0OlZ0LmFycmF5SXRlcmF0b3JJbXBsKHQpfX07VnQubWFrZUl0ZXJhdG9yPWZ1bmN0aW9uKHQpe3ZhciBlPXR5cGVvZiBTeW1ib2w8InUiJiZTeW1ib2wuaXRlcmF0b3ImJnRbU3ltYm9sLml0ZXJhdG9yXTtyZXR1cm4gZT9lLmNhbGwodCk6VnQuYXJyYXlJdGVyYXRvcih0KX07VnQuQVNTVU1FX0VTNT0hMTtWdC5BU1NVTUVfTk9fTkFUSVZFX01BUD0hMTtWdC5BU1NVTUVfTk9fTkFUSVZFX1NFVD0hMTtWdC5TSU1QTEVfRlJPVU5EX1BPTFlGSUxMPSExO1Z0LklTT0xBVEVfUE9MWUZJTExTPSExO1Z0LkZPUkNFX1BPTFlGSUxMX1BST01JU0U9ITE7VnQuRk9SQ0VfUE9MWUZJTExfUFJPTUlTRV9XSEVOX05PX1VOSEFORExFRF9SRUpFQ1RJT049ITE7VnQuZ2V0R2xvYmFsPWZ1bmN0aW9uKHQpe3Q9W3R5cGVvZiBnbG9iYWxUaGlzPT0ib2JqZWN0IiYmZ2xvYmFsVGhpcyx0LHR5cGVvZiB3aW5kb3c9PSJvYmplY3QiJiZ3aW5kb3csdHlwZW9mIHNlbGY9PSJvYmplY3QiJiZzZWxmLHR5cGVvZiBnbG9iYWw9PSJvYmplY3QiJiZnbG9iYWxdO2Zvcih2YXIgZT0wO2U8dC5sZW5ndGg7KytlKXt2YXIgbj10W2VdO2lmKG4mJm4uTWF0aD09TWF0aClyZXR1cm4gbn10aHJvdyBFcnJvcigiQ2Fubm90IGZpbmQgZ2xvYmFsIG9iamVjdCIpfTtWdC5nbG9iYWw9VnQuZ2V0R2xvYmFsKGx1KTtWdC5kZWZpbmVQcm9wZXJ0eT1WdC5BU1NVTUVfRVM1fHx0eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnRpZXM9PSJmdW5jdGlvbiI/T2JqZWN0LmRlZmluZVByb3BlcnR5OmZ1bmN0aW9uKHQsZSxuKXtyZXR1cm4gdD09QXJyYXkucHJvdG90eXBlfHx0PT1PYmplY3QucHJvdG90eXBlfHwodFtlXT1uLnZhbHVlKSx0fTtWdC5JU19TWU1CT0xfTkFUSVZFPXR5cGVvZiBTeW1ib2w9PSJmdW5jdGlvbiImJnR5cGVvZiBTeW1ib2woIngiKT09InN5bWJvbCI7VnQuVFJVU1RfRVM2X1BPTFlGSUxMUz0hVnQuSVNPTEFURV9QT0xZRklMTFN8fFZ0LklTX1NZTUJPTF9OQVRJVkU7VnQucG9seWZpbGxzPXt9O1Z0LnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbD17fTtWdC5QT0xZRklMTF9QUkVGSVg9IiRqc2NwJCI7VnQucG9seWZpbGw9ZnVuY3Rpb24odCxlLG4sbyl7ZSYmKFZ0LklTT0xBVEVfUE9MWUZJTExTP1Z0LnBvbHlmaWxsSXNvbGF0ZWQodCxlLG4sbyk6VnQucG9seWZpbGxVbmlzb2xhdGVkKHQsZSxuLG8pKX07VnQucG9seWZpbGxVbmlzb2xhdGVkPWZ1bmN0aW9uKHQsZSxuLG8pe2ZvcihuPVZ0Lmdsb2JhbCx0PXQuc3BsaXQoIi4iKSxvPTA7bzx0Lmxlbmd0aC0xO28rKyl7dmFyIHI9dFtvXTtpZighKHIgaW4gbikpcmV0dXJuO249bltyXX10PXRbdC5sZW5ndGgtMV0sbz1uW3RdLGU9ZShvKSxlIT1vJiZlIT1udWxsJiZWdC5kZWZpbmVQcm9wZXJ0eShuLHQse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTplfSl9O1Z0LnBvbHlmaWxsSXNvbGF0ZWQ9ZnVuY3Rpb24odCxlLG4sbyl7dmFyIHI9dC5zcGxpdCgiLiIpO3Q9ci5sZW5ndGg9PT0xLG89clswXSxvPSF0JiZvIGluIFZ0LnBvbHlmaWxscz9WdC5wb2x5ZmlsbHM6VnQuZ2xvYmFsO2Zvcih2YXIgaT0wO2k8ci5sZW5ndGgtMTtpKyspe3ZhciBzPXJbaV07aWYoIShzIGluIG8pKXJldHVybjtvPW9bc119cj1yW3IubGVuZ3RoLTFdLG49VnQuSVNfU1lNQk9MX05BVElWRSYmbj09PSJlczYiP29bcl06bnVsbCxlPWUobiksZSE9bnVsbCYmKHQ/VnQuZGVmaW5lUHJvcGVydHkoVnQucG9seWZpbGxzLHIse2NvbmZpZ3VyYWJsZTohMCx3cml0YWJsZTohMCx2YWx1ZTplfSk6ZSE9PW4mJihWdC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbcl09PT12b2lkIDAmJihuPTFlOSpNYXRoLnJhbmRvbSgpPj4+MCxWdC5wcm9wZXJ0eVRvUG9seWZpbGxTeW1ib2xbcl09VnQuSVNfU1lNQk9MX05BVElWRT9WdC5nbG9iYWwuU3ltYm9sKHIpOlZ0LlBPTFlGSUxMX1BSRUZJWCtuKyIkIityKSxWdC5kZWZpbmVQcm9wZXJ0eShvLFZ0LnByb3BlcnR5VG9Qb2x5ZmlsbFN5bWJvbFtyXSx7Y29uZmlndXJhYmxlOiEwLHdyaXRhYmxlOiEwLHZhbHVlOmV9KSkpfTtWdC5wb2x5ZmlsbCgiUHJvbWlzZSIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZSgpe3RoaXMuYmF0Y2hfPW51bGx9ZnVuY3Rpb24gbihzKXtyZXR1cm4gcyBpbnN0YW5jZW9mIHI/czpuZXcgcihmdW5jdGlvbihmLHUpe2Yocyl9KX1pZih0JiYoIShWdC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFfHxWdC5GT1JDRV9QT0xZRklMTF9QUk9NSVNFX1dIRU5fTk9fVU5IQU5ETEVEX1JFSkVDVElPTiYmdHlwZW9mIFZ0Lmdsb2JhbC5Qcm9taXNlUmVqZWN0aW9uRXZlbnQ+InUiKXx8IVZ0Lmdsb2JhbC5Qcm9taXNlfHxWdC5nbG9iYWwuUHJvbWlzZS50b1N0cmluZygpLmluZGV4T2YoIltuYXRpdmUgY29kZV0iKT09PS0xKSlyZXR1cm4gdDtlLnByb3RvdHlwZS5hc3luY0V4ZWN1dGU9ZnVuY3Rpb24ocyl7aWYodGhpcy5iYXRjaF89PW51bGwpe3RoaXMuYmF0Y2hfPVtdO3ZhciBmPXRoaXM7dGhpcy5hc3luY0V4ZWN1dGVGdW5jdGlvbihmdW5jdGlvbigpe2YuZXhlY3V0ZUJhdGNoXygpfSl9dGhpcy5iYXRjaF8ucHVzaChzKX07dmFyIG89VnQuZ2xvYmFsLnNldFRpbWVvdXQ7ZS5wcm90b3R5cGUuYXN5bmNFeGVjdXRlRnVuY3Rpb249ZnVuY3Rpb24ocyl7byhzLDApfSxlLnByb3RvdHlwZS5leGVjdXRlQmF0Y2hfPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLmJhdGNoXyYmdGhpcy5iYXRjaF8ubGVuZ3RoOyl7dmFyIHM9dGhpcy5iYXRjaF87dGhpcy5iYXRjaF89W107Zm9yKHZhciBmPTA7ZjxzLmxlbmd0aDsrK2Ype3ZhciB1PXNbZl07c1tmXT1udWxsO3RyeXt1KCl9Y2F0Y2goYyl7dGhpcy5hc3luY1Rocm93XyhjKX19fXRoaXMuYmF0Y2hfPW51bGx9LGUucHJvdG90eXBlLmFzeW5jVGhyb3dfPWZ1bmN0aW9uKHMpe3RoaXMuYXN5bmNFeGVjdXRlRnVuY3Rpb24oZnVuY3Rpb24oKXt0aHJvdyBzfSl9O3ZhciByPWZ1bmN0aW9uKHMpe3RoaXMuc3RhdGVfPTAsdGhpcy5yZXN1bHRfPXZvaWQgMCx0aGlzLm9uU2V0dGxlZENhbGxiYWNrc189W10sdGhpcy5pc1JlamVjdGlvbkhhbmRsZWRfPSExO3ZhciBmPXRoaXMuY3JlYXRlUmVzb2x2ZUFuZFJlamVjdF8oKTt0cnl7cyhmLnJlc29sdmUsZi5yZWplY3QpfWNhdGNoKHUpe2YucmVqZWN0KHUpfX07ci5wcm90b3R5cGUuY3JlYXRlUmVzb2x2ZUFuZFJlamVjdF89ZnVuY3Rpb24oKXtmdW5jdGlvbiBzKGMpe3JldHVybiBmdW5jdGlvbihsKXt1fHwodT0hMCxjLmNhbGwoZixsKSl9fXZhciBmPXRoaXMsdT0hMTtyZXR1cm57cmVzb2x2ZTpzKHRoaXMucmVzb2x2ZVRvXykscmVqZWN0OnModGhpcy5yZWplY3RfKX19LHIucHJvdG90eXBlLnJlc29sdmVUb189ZnVuY3Rpb24ocyl7aWYocz09PXRoaXMpdGhpcy5yZWplY3RfKG5ldyBUeXBlRXJyb3IoIkEgUHJvbWlzZSBjYW5ub3QgcmVzb2x2ZSB0byBpdHNlbGYiKSk7ZWxzZSBpZihzIGluc3RhbmNlb2Ygcil0aGlzLnNldHRsZVNhbWVBc1Byb21pc2VfKHMpO2Vsc2V7dDpzd2l0Y2godHlwZW9mIHMpe2Nhc2Uib2JqZWN0Ijp2YXIgZj1zIT1udWxsO2JyZWFrIHQ7Y2FzZSJmdW5jdGlvbiI6Zj0hMDticmVhayB0O2RlZmF1bHQ6Zj0hMX1mP3RoaXMucmVzb2x2ZVRvTm9uUHJvbWlzZU9ial8ocyk6dGhpcy5mdWxmaWxsXyhzKX19LHIucHJvdG90eXBlLnJlc29sdmVUb05vblByb21pc2VPYmpfPWZ1bmN0aW9uKHMpe3ZhciBmPXZvaWQgMDt0cnl7Zj1zLnRoZW59Y2F0Y2godSl7dGhpcy5yZWplY3RfKHUpO3JldHVybn10eXBlb2YgZj09ImZ1bmN0aW9uIj90aGlzLnNldHRsZVNhbWVBc1RoZW5hYmxlXyhmLHMpOnRoaXMuZnVsZmlsbF8ocyl9LHIucHJvdG90eXBlLnJlamVjdF89ZnVuY3Rpb24ocyl7dGhpcy5zZXR0bGVfKDIscyl9LHIucHJvdG90eXBlLmZ1bGZpbGxfPWZ1bmN0aW9uKHMpe3RoaXMuc2V0dGxlXygxLHMpfSxyLnByb3RvdHlwZS5zZXR0bGVfPWZ1bmN0aW9uKHMsZil7aWYodGhpcy5zdGF0ZV8hPTApdGhyb3cgRXJyb3IoIkNhbm5vdCBzZXR0bGUoIitzKyIsICIrZisiKTogUHJvbWlzZSBhbHJlYWR5IHNldHRsZWQgaW4gc3RhdGUiK3RoaXMuc3RhdGVfKTt0aGlzLnN0YXRlXz1zLHRoaXMucmVzdWx0Xz1mLHRoaXMuc3RhdGVfPT09MiYmdGhpcy5zY2hlZHVsZVVuaGFuZGxlZFJlamVjdGlvbkNoZWNrXygpLHRoaXMuZXhlY3V0ZU9uU2V0dGxlZENhbGxiYWNrc18oKX0sci5wcm90b3R5cGUuc2NoZWR1bGVVbmhhbmRsZWRSZWplY3Rpb25DaGVja189ZnVuY3Rpb24oKXt2YXIgcz10aGlzO28oZnVuY3Rpb24oKXtpZihzLm5vdGlmeVVuaGFuZGxlZFJlamVjdGlvbl8oKSl7dmFyIGY9VnQuZ2xvYmFsLmNvbnNvbGU7dHlwZW9mIGY8InUiJiZmLmVycm9yKHMucmVzdWx0Xyl9fSwxKX0sci5wcm90b3R5cGUubm90aWZ5VW5oYW5kbGVkUmVqZWN0aW9uXz1mdW5jdGlvbigpe2lmKHRoaXMuaXNSZWplY3Rpb25IYW5kbGVkXylyZXR1cm4hMTt2YXIgcz1WdC5nbG9iYWwuQ3VzdG9tRXZlbnQsZj1WdC5nbG9iYWwuRXZlbnQsdT1WdC5nbG9iYWwuZGlzcGF0Y2hFdmVudDtyZXR1cm4gdHlwZW9mIHU+InUiPyEwOih0eXBlb2Ygcz09ImZ1bmN0aW9uIj9zPW5ldyBzKCJ1bmhhbmRsZWRyZWplY3Rpb24iLHtjYW5jZWxhYmxlOiEwfSk6dHlwZW9mIGY9PSJmdW5jdGlvbiI/cz1uZXcgZigidW5oYW5kbGVkcmVqZWN0aW9uIix7Y2FuY2VsYWJsZTohMH0pOihzPVZ0Lmdsb2JhbC5kb2N1bWVudC5jcmVhdGVFdmVudCgiQ3VzdG9tRXZlbnQiKSxzLmluaXRDdXN0b21FdmVudCgidW5oYW5kbGVkcmVqZWN0aW9uIiwhMSwhMCxzKSkscy5wcm9taXNlPXRoaXMscy5yZWFzb249dGhpcy5yZXN1bHRfLHUocykpfSxyLnByb3RvdHlwZS5leGVjdXRlT25TZXR0bGVkQ2FsbGJhY2tzXz1mdW5jdGlvbigpe2lmKHRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXyE9bnVsbCl7Zm9yKHZhciBzPTA7czx0aGlzLm9uU2V0dGxlZENhbGxiYWNrc18ubGVuZ3RoOysrcylpLmFzeW5jRXhlY3V0ZSh0aGlzLm9uU2V0dGxlZENhbGxiYWNrc19bc10pO3RoaXMub25TZXR0bGVkQ2FsbGJhY2tzXz1udWxsfX07dmFyIGk9bmV3IGU7cmV0dXJuIHIucHJvdG90eXBlLnNldHRsZVNhbWVBc1Byb21pc2VfPWZ1bmN0aW9uKHMpe3ZhciBmPXRoaXMuY3JlYXRlUmVzb2x2ZUFuZFJlamVjdF8oKTtzLmNhbGxXaGVuU2V0dGxlZF8oZi5yZXNvbHZlLGYucmVqZWN0KX0sci5wcm90b3R5cGUuc2V0dGxlU2FtZUFzVGhlbmFibGVfPWZ1bmN0aW9uKHMsZil7dmFyIHU9dGhpcy5jcmVhdGVSZXNvbHZlQW5kUmVqZWN0XygpO3RyeXtzLmNhbGwoZix1LnJlc29sdmUsdS5yZWplY3QpfWNhdGNoKGMpe3UucmVqZWN0KGMpfX0sci5wcm90b3R5cGUudGhlbj1mdW5jdGlvbihzLGYpe2Z1bmN0aW9uIHUoZCxtKXtyZXR1cm4gdHlwZW9mIGQ9PSJmdW5jdGlvbiI/ZnVuY3Rpb24oXyl7dHJ5e2MoZChfKSl9Y2F0Y2goZyl7bChnKX19Om19dmFyIGMsbCxwPW5ldyByKGZ1bmN0aW9uKGQsbSl7Yz1kLGw9bX0pO3JldHVybiB0aGlzLmNhbGxXaGVuU2V0dGxlZF8odShzLGMpLHUoZixsKSkscH0sci5wcm90b3R5cGUuY2F0Y2g9ZnVuY3Rpb24ocyl7cmV0dXJuIHRoaXMudGhlbih2b2lkIDAscyl9LHIucHJvdG90eXBlLmNhbGxXaGVuU2V0dGxlZF89ZnVuY3Rpb24ocyxmKXtmdW5jdGlvbiB1KCl7c3dpdGNoKGMuc3RhdGVfKXtjYXNlIDE6cyhjLnJlc3VsdF8pO2JyZWFrO2Nhc2UgMjpmKGMucmVzdWx0Xyk7YnJlYWs7ZGVmYXVsdDp0aHJvdyBFcnJvcigiVW5leHBlY3RlZCBzdGF0ZTogIitjLnN0YXRlXyl9fXZhciBjPXRoaXM7dGhpcy5vblNldHRsZWRDYWxsYmFja3NfPT1udWxsP2kuYXN5bmNFeGVjdXRlKHUpOnRoaXMub25TZXR0bGVkQ2FsbGJhY2tzXy5wdXNoKHUpLHRoaXMuaXNSZWplY3Rpb25IYW5kbGVkXz0hMH0sci5yZXNvbHZlPW4sci5yZWplY3Q9ZnVuY3Rpb24ocyl7cmV0dXJuIG5ldyByKGZ1bmN0aW9uKGYsdSl7dShzKX0pfSxyLnJhY2U9ZnVuY3Rpb24ocyl7cmV0dXJuIG5ldyByKGZ1bmN0aW9uKGYsdSl7Zm9yKHZhciBjPVZ0Lm1ha2VJdGVyYXRvcihzKSxsPWMubmV4dCgpOyFsLmRvbmU7bD1jLm5leHQoKSluKGwudmFsdWUpLmNhbGxXaGVuU2V0dGxlZF8oZix1KX0pfSxyLmFsbD1mdW5jdGlvbihzKXt2YXIgZj1WdC5tYWtlSXRlcmF0b3IocyksdT1mLm5leHQoKTtyZXR1cm4gdS5kb25lP24oW10pOm5ldyByKGZ1bmN0aW9uKGMsbCl7ZnVuY3Rpb24gcChfKXtyZXR1cm4gZnVuY3Rpb24oZyl7ZFtfXT1nLG0tLSxtPT0wJiZjKGQpfX12YXIgZD1bXSxtPTA7ZG8gZC5wdXNoKHZvaWQgMCksbSsrLG4odS52YWx1ZSkuY2FsbFdoZW5TZXR0bGVkXyhwKGQubGVuZ3RoLTEpLGwpLHU9Zi5uZXh0KCk7d2hpbGUoIXUuZG9uZSl9KX0scn0sImVzNiIsImVzMyIpO1Z0Lm93bnM9ZnVuY3Rpb24odCxlKXtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSl9O1Z0LmFzc2lnbj1WdC5UUlVTVF9FUzZfUE9MWUZJTExTJiZ0eXBlb2YgT2JqZWN0LmFzc2lnbj09ImZ1bmN0aW9uIj9PYmplY3QuYXNzaWduOmZ1bmN0aW9uKHQsZSl7Zm9yKHZhciBuPTE7bjxhcmd1bWVudHMubGVuZ3RoO24rKyl7dmFyIG89YXJndW1lbnRzW25dO2lmKG8pZm9yKHZhciByIGluIG8pVnQub3ducyhvLHIpJiYodFtyXT1vW3JdKX1yZXR1cm4gdH07VnQucG9seWZpbGwoIk9iamVjdC5hc3NpZ24iLGZ1bmN0aW9uKHQpe3JldHVybiB0fHxWdC5hc3NpZ259LCJlczYiLCJlczMiKTtWdC5jaGVja1N0cmluZ0FyZ3M9ZnVuY3Rpb24odCxlLG4pe2lmKHQ9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcigiVGhlICd0aGlzJyB2YWx1ZSBmb3IgU3RyaW5nLnByb3RvdHlwZS4iK24rIiBtdXN0IG5vdCBiZSBudWxsIG9yIHVuZGVmaW5lZCIpO2lmKGUgaW5zdGFuY2VvZiBSZWdFeHApdGhyb3cgbmV3IFR5cGVFcnJvcigiRmlyc3QgYXJndW1lbnQgdG8gU3RyaW5nLnByb3RvdHlwZS4iK24rIiBtdXN0IG5vdCBiZSBhIHJlZ3VsYXIgZXhwcmVzc2lvbiIpO3JldHVybiB0KyIifTtWdC5wb2x5ZmlsbCgiU3RyaW5nLnByb3RvdHlwZS5zdGFydHNXaXRoIixmdW5jdGlvbih0KXtyZXR1cm4gdHx8ZnVuY3Rpb24oZSxuKXt2YXIgbz1WdC5jaGVja1N0cmluZ0FyZ3ModGhpcyxlLCJzdGFydHNXaXRoIik7ZSs9IiI7dmFyIHI9by5sZW5ndGgsaT1lLmxlbmd0aDtuPU1hdGgubWF4KDAsTWF0aC5taW4obnwwLG8ubGVuZ3RoKSk7Zm9yKHZhciBzPTA7czxpJiZuPHI7KWlmKG9bbisrXSE9ZVtzKytdKXJldHVybiExO3JldHVybiBzPj1pfX0sImVzNiIsImVzMyIpO1Z0LnBvbHlmaWxsKCJBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsZnVuY3Rpb24odCl7ZnVuY3Rpb24gZShuKXtyZXR1cm4gbj1OdW1iZXIobiksbj09PTEvMHx8bj09PS0xLzA/bjpufDB9cmV0dXJuIHR8fGZ1bmN0aW9uKG4sbyxyKXt2YXIgaT10aGlzLmxlbmd0aDtpZihuPWUobiksbz1lKG8pLHI9cj09PXZvaWQgMD9pOmUociksbj0wPm4/TWF0aC5tYXgoaStuLDApOk1hdGgubWluKG4saSksbz0wPm8/TWF0aC5tYXgoaStvLDApOk1hdGgubWluKG8saSkscj0wPnI/TWF0aC5tYXgoaStyLDApOk1hdGgubWluKHIsaSksbjxvKWZvcig7bzxyOylvIGluIHRoaXM/dGhpc1tuKytdPXRoaXNbbysrXTooZGVsZXRlIHRoaXNbbisrXSxvKyspO2Vsc2UgZm9yKHI9TWF0aC5taW4ocixpK28tbiksbis9ci1vO3I+bzspLS1yIGluIHRoaXM/dGhpc1stLW5dPXRoaXNbcl06ZGVsZXRlIHRoaXNbLS1uXTtyZXR1cm4gdGhpc319LCJlczYiLCJlczMiKTtWdC50eXBlZEFycmF5Q29weVdpdGhpbj1mdW5jdGlvbih0KXtyZXR1cm4gdHx8QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW59O1Z0LnBvbHlmaWxsKCJJbnQ4QXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLFZ0LnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTtWdC5wb2x5ZmlsbCgiVWludDhBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsVnQudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpO1Z0LnBvbHlmaWxsKCJVaW50OENsYW1wZWRBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsVnQudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpO1Z0LnBvbHlmaWxsKCJJbnQxNkFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIixWdC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7VnQucG9seWZpbGwoIlVpbnQxNkFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIixWdC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7VnQucG9seWZpbGwoIkludDMyQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLFZ0LnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTtWdC5wb2x5ZmlsbCgiVWludDMyQXJyYXkucHJvdG90eXBlLmNvcHlXaXRoaW4iLFZ0LnR5cGVkQXJyYXlDb3B5V2l0aGluLCJlczYiLCJlczUiKTtWdC5wb2x5ZmlsbCgiRmxvYXQzMkFycmF5LnByb3RvdHlwZS5jb3B5V2l0aGluIixWdC50eXBlZEFycmF5Q29weVdpdGhpbiwiZXM2IiwiZXM1Iik7VnQucG9seWZpbGwoIkZsb2F0NjRBcnJheS5wcm90b3R5cGUuY29weVdpdGhpbiIsVnQudHlwZWRBcnJheUNvcHlXaXRoaW4sImVzNiIsImVzNSIpO3ZhciB3Zz1mdW5jdGlvbigpe3ZhciB0PXR5cGVvZiBkb2N1bWVudDwidSImJmRvY3VtZW50LmN1cnJlbnRTY3JpcHQ/ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmM6dm9pZCAwO3JldHVybiB0eXBlb2YgX19maWxlbmFtZTwidSImJih0PXR8fF9fZmlsZW5hbWUpLGZ1bmN0aW9uKGUpe2Z1bmN0aW9uIG4oeil7cmV0dXJuIFIubG9jYXRlRmlsZT9SLmxvY2F0ZUZpbGUoeixtdCk6bXQren1mdW5jdGlvbiBvKHosVyxldCl7dmFyIE10PVcrZXQ7Zm9yKGV0PVc7eltldF0mJiEoZXQ+PU10KTspKytldDtpZigxNjxldC1XJiZ6LmJ1ZmZlciYmZ2UpcmV0dXJuIGdlLmRlY29kZSh6LnN1YmFycmF5KFcsZXQpKTtmb3IoTXQ9IiI7VzxldDspe3ZhciBsZT16W1crK107aWYobGUmMTI4KXt2YXIgVGU9eltXKytdJjYzO2lmKChsZSYyMjQpPT0xOTIpTXQrPVN0cmluZy5mcm9tQ2hhckNvZGUoKGxlJjMxKTw8NnxUZSk7ZWxzZXt2YXIgT2k9eltXKytdJjYzO2xlPShsZSYyNDApPT0yMjQ/KGxlJjE1KTw8MTJ8VGU8PDZ8T2k6KGxlJjcpPDwxOHxUZTw8MTJ8T2k8PDZ8eltXKytdJjYzLDY1NTM2PmxlP010Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGxlKToobGUtPTY1NTM2LE10Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fGxlPj4xMCw1NjMyMHxsZSYxMDIzKSl9fWVsc2UgTXQrPVN0cmluZy5mcm9tQ2hhckNvZGUobGUpfXJldHVybiBNdH1mdW5jdGlvbiByKHosVyl7cmV0dXJuIHo/byh1bix6LFcpOiIifWZ1bmN0aW9uIGkoKXt2YXIgej1KdC5idWZmZXI7Ui5IRUFQOD1FZT1uZXcgSW50OEFycmF5KHopLFIuSEVBUDE2PW5ldyBJbnQxNkFycmF5KHopLFIuSEVBUDMyPWtlPW5ldyBJbnQzMkFycmF5KHopLFIuSEVBUFU4PXVuPW5ldyBVaW50OEFycmF5KHopLFIuSEVBUFUxNj1uZXcgVWludDE2QXJyYXkoeiksUi5IRUFQVTMyPWJlPW5ldyBVaW50MzJBcnJheSh6KSxSLkhFQVBGMzI9bmV3IEZsb2F0MzJBcnJheSh6KSxSLkhFQVBGNjQ9bmV3IEZsb2F0NjRBcnJheSh6KX1mdW5jdGlvbiBzKHope3Rocm93IFIub25BYm9ydCYmUi5vbkFib3J0KHopLHo9IkFib3J0ZWQoIit6KyIpIix1ZSh6KSxOZT0hMCx6PW5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoeisiLiBCdWlsZCB3aXRoIC1zQVNTRVJUSU9OUyBmb3IgbW9yZSBpbmZvLiIpLGF0KHopLHp9ZnVuY3Rpb24gZih6KXt0cnl7aWYoej09c24mJlF0KXJldHVybiBuZXcgVWludDhBcnJheShRdCk7aWYobWUpcmV0dXJuIG1lKHopO3Rocm93ImJvdGggYXN5bmMgYW5kIHN5bmMgZmV0Y2hpbmcgb2YgdGhlIHdhc20gZmFpbGVkIn1jYXRjaChXKXtzKFcpfX1mdW5jdGlvbiB1KCl7aWYoIVF0JiYoUHR8fGd0KSl7aWYodHlwZW9mIGZldGNoPT0iZnVuY3Rpb24iJiYhc24uc3RhcnRzV2l0aCgiZmlsZTovLyIpKXJldHVybiBmZXRjaChzbix7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oeil7aWYoIXoub2spdGhyb3ciZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnIitzbisiJyI7cmV0dXJuIHouYXJyYXlCdWZmZXIoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIGYoc24pfSk7aWYoY2UpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKHosVyl7Y2Uoc24sZnVuY3Rpb24oZXQpe3oobmV3IFVpbnQ4QXJyYXkoZXQpKX0sVyl9KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBmKHNuKX0pfWZ1bmN0aW9uIGMoeil7Zm9yKDswPHoubGVuZ3RoOyl6LnNoaWZ0KCkoUil9ZnVuY3Rpb24gbCh6KXt0aGlzLmV4Y1B0cj16LHRoaXMucHRyPXotMjQsdGhpcy5zZXRfdHlwZT1mdW5jdGlvbihXKXtiZVt0aGlzLnB0cis0Pj4yXT1XfSx0aGlzLmdldF90eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIGJlW3RoaXMucHRyKzQ+PjJdfSx0aGlzLnNldF9kZXN0cnVjdG9yPWZ1bmN0aW9uKFcpe2JlW3RoaXMucHRyKzg+PjJdPVd9LHRoaXMuZ2V0X2Rlc3RydWN0b3I9ZnVuY3Rpb24oKXtyZXR1cm4gYmVbdGhpcy5wdHIrOD4+Ml19LHRoaXMuc2V0X3JlZmNvdW50PWZ1bmN0aW9uKFcpe2tlW3RoaXMucHRyPj4yXT1XfSx0aGlzLnNldF9jYXVnaHQ9ZnVuY3Rpb24oVyl7RWVbdGhpcy5wdHIrMTI+PjBdPVc/MTowfSx0aGlzLmdldF9jYXVnaHQ9ZnVuY3Rpb24oKXtyZXR1cm4gRWVbdGhpcy5wdHIrMTI+PjBdIT0wfSx0aGlzLnNldF9yZXRocm93bj1mdW5jdGlvbihXKXtFZVt0aGlzLnB0cisxMz4+MF09Vz8xOjB9LHRoaXMuZ2V0X3JldGhyb3duPWZ1bmN0aW9uKCl7cmV0dXJuIEVlW3RoaXMucHRyKzEzPj4wXSE9MH0sdGhpcy5pbml0PWZ1bmN0aW9uKFcsZXQpe3RoaXMuc2V0X2FkanVzdGVkX3B0cigwKSx0aGlzLnNldF90eXBlKFcpLHRoaXMuc2V0X2Rlc3RydWN0b3IoZXQpLHRoaXMuc2V0X3JlZmNvdW50KDApLHRoaXMuc2V0X2NhdWdodCghMSksdGhpcy5zZXRfcmV0aHJvd24oITEpfSx0aGlzLmFkZF9yZWY9ZnVuY3Rpb24oKXtrZVt0aGlzLnB0cj4+Ml0rPTF9LHRoaXMucmVsZWFzZV9yZWY9ZnVuY3Rpb24oKXt2YXIgVz1rZVt0aGlzLnB0cj4+Ml07cmV0dXJuIGtlW3RoaXMucHRyPj4yXT1XLTEsVz09PTF9LHRoaXMuc2V0X2FkanVzdGVkX3B0cj1mdW5jdGlvbihXKXtiZVt0aGlzLnB0cisxNj4+Ml09V30sdGhpcy5nZXRfYWRqdXN0ZWRfcHRyPWZ1bmN0aW9uKCl7cmV0dXJuIGJlW3RoaXMucHRyKzE2Pj4yXX0sdGhpcy5nZXRfZXhjZXB0aW9uX3B0cj1mdW5jdGlvbigpe2lmKERsKHRoaXMuZ2V0X3R5cGUoKSkpcmV0dXJuIGJlW3RoaXMuZXhjUHRyPj4yXTt2YXIgVz10aGlzLmdldF9hZGp1c3RlZF9wdHIoKTtyZXR1cm4gVyE9PTA/Vzp0aGlzLmV4Y1B0cn19ZnVuY3Rpb24gcCgpe2Z1bmN0aW9uIHooKXtpZighbmYmJihuZj0hMCxSLmNhbGxlZFJ1bj0hMCwhTmUpKXtpZihyZT0hMCxjKHBuKSxvdChSKSxSLm9uUnVudGltZUluaXRpYWxpemVkJiZSLm9uUnVudGltZUluaXRpYWxpemVkKCksUi5wb3N0UnVuKWZvcih0eXBlb2YgUi5wb3N0UnVuPT0iZnVuY3Rpb24iJiYoUi5wb3N0UnVuPVtSLnBvc3RSdW5dKTtSLnBvc3RSdW4ubGVuZ3RoOylFbi51bnNoaWZ0KFIucG9zdFJ1bi5zaGlmdCgpKTtjKEVuKX19aWYoISgwPCR0KSl7aWYoUi5wcmVSdW4pZm9yKHR5cGVvZiBSLnByZVJ1bj09ImZ1bmN0aW9uIiYmKFIucHJlUnVuPVtSLnByZVJ1bl0pO1IucHJlUnVuLmxlbmd0aDspbG4udW5zaGlmdChSLnByZVJ1bi5zaGlmdCgpKTtjKGxuKSwwPCR0fHwoUi5zZXRTdGF0dXM/KFIuc2V0U3RhdHVzKCJSdW5uaW5nLi4uIiksc2V0VGltZW91dChmdW5jdGlvbigpe3NldFRpbWVvdXQoZnVuY3Rpb24oKXtSLnNldFN0YXR1cygiIil9LDEpLHooKX0sMSkpOnooKSl9fWZ1bmN0aW9uIGQoKXt9ZnVuY3Rpb24gbSh6KXtyZXR1cm4oenx8ZCkuX19jYWNoZV9ffWZ1bmN0aW9uIF8oeixXKXt2YXIgZXQ9bShXKSxNdD1ldFt6XTtyZXR1cm4gTXR8fChNdD1PYmplY3QuY3JlYXRlKChXfHxkKS5wcm90b3R5cGUpLE10LnB0cj16LGV0W3pdPU10KX1mdW5jdGlvbiBnKHope2lmKHR5cGVvZiB6PT0ic3RyaW5nIil7Zm9yKHZhciBXPTAsZXQ9MDtldDx6Lmxlbmd0aDsrK2V0KXt2YXIgTXQ9ei5jaGFyQ29kZUF0KGV0KTsxMjc+PU10P1crKzoyMDQ3Pj1NdD9XKz0yOjU1Mjk2PD1NdCYmNTczNDM+PU10PyhXKz00LCsrZXQpOlcrPTN9aWYoVz1BcnJheShXKzEpLGV0PTAsTXQ9Vy5sZW5ndGgsMDxNdCl7TXQ9ZXQrTXQtMTtmb3IodmFyIGxlPTA7bGU8ei5sZW5ndGg7KytsZSl7dmFyIFRlPXouY2hhckNvZGVBdChsZSk7aWYoNTUyOTY8PVRlJiY1NzM0Mz49VGUpe3ZhciBPaT16LmNoYXJDb2RlQXQoKytsZSk7VGU9NjU1MzYrKChUZSYxMDIzKTw8MTApfE9pJjEwMjN9aWYoMTI3Pj1UZSl7aWYoZXQ+PU10KWJyZWFrO1dbZXQrK109VGV9ZWxzZXtpZigyMDQ3Pj1UZSl7aWYoZXQrMT49TXQpYnJlYWs7V1tldCsrXT0xOTJ8VGU+PjZ9ZWxzZXtpZig2NTUzNT49VGUpe2lmKGV0KzI+PU10KWJyZWFrO1dbZXQrK109MjI0fFRlPj4xMn1lbHNle2lmKGV0KzM+PU10KWJyZWFrO1dbZXQrK109MjQwfFRlPj4xOCxXW2V0KytdPTEyOHxUZT4+MTImNjN9V1tldCsrXT0xMjh8VGU+PjYmNjN9V1tldCsrXT0xMjh8VGUmNjN9fVdbZXRdPTB9cmV0dXJuIHo9Q2UuYWxsb2MoVyxFZSksQ2UuY29weShXLEVlLHopLHp9cmV0dXJuIHp9ZnVuY3Rpb24gYih6KXtpZih0eXBlb2Ygej09Im9iamVjdCIpe3ZhciBXPUNlLmFsbG9jKHosRWUpO3JldHVybiBDZS5jb3B5KHosRWUsVyksV31yZXR1cm4gen1mdW5jdGlvbiBUKCl7dGhyb3ciY2Fubm90IGNvbnN0cnVjdCBhIFZvaWRQdHIsIG5vIGNvbnN0cnVjdG9yIGluIElETCJ9ZnVuY3Rpb24gTygpe3RoaXMucHRyPWNuKCksbShPKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBFKCl7dGhpcy5wdHI9dW8oKSxtKEUpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIHcoKXt0aGlzLnB0cj1sbygpLG0odylbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gQygpe3RoaXMucHRyPUxlKCksbShDKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBOKCl7dGhpcy5wdHI9SXMoKSxtKE4pW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEkoKXt0aGlzLnB0cj1vbygpLG0oSSlbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gRCgpe3RoaXMucHRyPU5jKCksbShEKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiB2KCl7dGhpcy5wdHI9b3IoKSxtKHYpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEwoKXt0aGlzLnB0cj12YygpLG0oTClbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gVSgpe3Rocm93ImNhbm5vdCBjb25zdHJ1Y3QgYSBTdGF0dXMsIG5vIGNvbnN0cnVjdG9yIGluIElETCJ9ZnVuY3Rpb24gQSgpe3RoaXMucHRyPU91KCksbShBKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBTKCl7dGhpcy5wdHI9TGMoKSxtKFMpW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIFAoKXt0aGlzLnB0cj1LYSgpLG0oUClbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gRigpe3RoaXMucHRyPUZjKCksbShGKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBqKCl7dGhpcy5wdHI9TnUoKSxtKGopW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIEgoKXt0aGlzLnB0cj1MdSgpLG0oSClbdGhpcy5wdHJdPXRoaXN9ZnVuY3Rpb24gaygpe3RoaXMucHRyPXRzKCksbShrKVt0aGlzLnB0cl09dGhpc31mdW5jdGlvbiBLKCl7dGhpcy5wdHI9a3UoKSxtKEspW3RoaXMucHRyXT10aGlzfWZ1bmN0aW9uIFgoKXt0aGlzLnB0cj1aYSgpLG0oWClbdGhpcy5wdHJdPXRoaXN9ZT1lPT09dm9pZCAwP3t9OmU7dmFyIFI9dHlwZW9mIGU8InUiP2U6e30sb3QsYXQ7Ui5yZWFkeT1uZXcgUHJvbWlzZShmdW5jdGlvbih6LFcpe290PXosYXQ9V30pO3ZhciBwdD0hMSx5dD0hMTtSLm9uUnVudGltZUluaXRpYWxpemVkPWZ1bmN0aW9uKCl7cHQ9ITAseXQmJnR5cGVvZiBSLm9uTW9kdWxlTG9hZGVkPT0iZnVuY3Rpb24iJiZSLm9uTW9kdWxlTG9hZGVkKFIpfSxSLm9uTW9kdWxlUGFyc2VkPWZ1bmN0aW9uKCl7eXQ9ITAscHQmJnR5cGVvZiBSLm9uTW9kdWxlTG9hZGVkPT0iZnVuY3Rpb24iJiZSLm9uTW9kdWxlTG9hZGVkKFIpfSxSLmlzVmVyc2lvblN1cHBvcnRlZD1mdW5jdGlvbih6KXtyZXR1cm4gdHlwZW9mIHohPSJzdHJpbmciPyExOih6PXouc3BsaXQoIi4iKSwyPnoubGVuZ3RofHwzPHoubGVuZ3RoPyExOnpbMF09PTEmJjA8PXpbMV0mJjU+PXpbMV0/ITA6ISh6WzBdIT0wfHwxMDx6WzFdKSl9O3ZhciBydD1PYmplY3QuYXNzaWduKHt9LFIpLFB0PXR5cGVvZiB3aW5kb3c9PSJvYmplY3QiLGd0PXR5cGVvZiBpbXBvcnRTY3JpcHRzPT0iZnVuY3Rpb24iLEN0PXR5cGVvZiBwcm9jZXNzPT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnM9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlPT0ic3RyaW5nIixtdD0iIjtpZihDdCl7dmFyIHV0PXByKCJmcyIpLHZ0PXByKCJwYXRoIik7bXQ9Z3Q/dnQuZGlybmFtZShtdCkrIi8iOl9fZGlybmFtZSsiLyI7dmFyIHp0PWZ1bmN0aW9uKHosVyl7cmV0dXJuIHo9ei5zdGFydHNXaXRoKCJmaWxlOi8vIik/bmV3IFVSTCh6KTp2dC5ub3JtYWxpemUoeiksdXQucmVhZEZpbGVTeW5jKHosVz92b2lkIDA6InV0ZjgiKX0sbWU9ZnVuY3Rpb24oeil7cmV0dXJuIHo9enQoeiwhMCksei5idWZmZXJ8fCh6PW5ldyBVaW50OEFycmF5KHopKSx6fSxjZT1mdW5jdGlvbih6LFcsZXQpe3o9ei5zdGFydHNXaXRoKCJmaWxlOi8vIik/bmV3IFVSTCh6KTp2dC5ub3JtYWxpemUoeiksdXQucmVhZEZpbGUoeixmdW5jdGlvbihNdCxsZSl7TXQ/ZXQoTXQpOlcobGUuYnVmZmVyKX0pfTsxPHByb2Nlc3MuYXJndi5sZW5ndGgmJnByb2Nlc3MuYXJndlsxXS5yZXBsYWNlKC9cXC9nLCIvIikscHJvY2Vzcy5hcmd2LnNsaWNlKDIpLFIuaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9fWVsc2UoUHR8fGd0KSYmKGd0P210PXNlbGYubG9jYXRpb24uaHJlZjp0eXBlb2YgZG9jdW1lbnQ8InUiJiZkb2N1bWVudC5jdXJyZW50U2NyaXB0JiYobXQ9ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLHQmJihtdD10KSxtdD1tdC5pbmRleE9mKCJibG9iOiIpIT09MD9tdC5zdWJzdHIoMCxtdC5yZXBsYWNlKC9bPyNdLiovLCIiKS5sYXN0SW5kZXhPZigiLyIpKzEpOiIiLHp0PWZ1bmN0aW9uKHope3ZhciBXPW5ldyBYTUxIdHRwUmVxdWVzdDtyZXR1cm4gVy5vcGVuKCJHRVQiLHosITEpLFcuc2VuZChudWxsKSxXLnJlc3BvbnNlVGV4dH0sZ3QmJihtZT1mdW5jdGlvbih6KXt2YXIgVz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIFcub3BlbigiR0VUIix6LCExKSxXLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiLFcuc2VuZChudWxsKSxuZXcgVWludDhBcnJheShXLnJlc3BvbnNlKX0pLGNlPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PW5ldyBYTUxIdHRwUmVxdWVzdDtNdC5vcGVuKCJHRVQiLHosITApLE10LnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiLE10Lm9ubG9hZD1mdW5jdGlvbigpe010LnN0YXR1cz09MjAwfHxNdC5zdGF0dXM9PTAmJk10LnJlc3BvbnNlP1coTXQucmVzcG9uc2UpOmV0KCl9LE10Lm9uZXJyb3I9ZXQsTXQuc2VuZChudWxsKX0pO3ZhciBwZT1SLnByaW50fHxjb25zb2xlLmxvZy5iaW5kKGNvbnNvbGUpLHVlPVIucHJpbnRFcnJ8fGNvbnNvbGUud2Fybi5iaW5kKGNvbnNvbGUpO09iamVjdC5hc3NpZ24oUixydCkscnQ9bnVsbDt2YXIgUXQ7Ui53YXNtQmluYXJ5JiYoUXQ9Ui53YXNtQmluYXJ5KSx0eXBlb2YgV2ViQXNzZW1ibHkhPSJvYmplY3QiJiZzKCJubyBuYXRpdmUgd2FzbSBzdXBwb3J0IGRldGVjdGVkIik7dmFyIEp0LE5lPSExLGdlPXR5cGVvZiBUZXh0RGVjb2RlcjwidSI/bmV3IFRleHREZWNvZGVyKCJ1dGY4Iik6dm9pZCAwLEVlLHVuLGtlLGJlLGxuPVtdLHBuPVtdLEVuPVtdLHJlPSExLCR0PTAsR2U9bnVsbCxkbj1udWxsLHNuPSJkcmFjb19kZWNvZGVyLndhc20iO3NuLnN0YXJ0c1dpdGgoImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiKXx8KHNuPW4oc24pKTt2YXIgbW49MCxmbz1bbnVsbCxbXSxbXV0sSG49e2I6ZnVuY3Rpb24oeixXLGV0KXt0aHJvdyBuZXcgbCh6KS5pbml0KFcsZXQpLG1uKyssen0sYTpmdW5jdGlvbigpe3MoIiIpfSxnOmZ1bmN0aW9uKHosVyxldCl7dW4uY29weVdpdGhpbih6LFcsVytldCl9LGU6ZnVuY3Rpb24oeil7dmFyIFc9dW4ubGVuZ3RoO2lmKHo+Pj49MCwyMTQ3NDgzNjQ4PHopcmV0dXJuITE7Zm9yKHZhciBldD0xOzQ+PWV0O2V0Kj0yKXt2YXIgTXQ9VyooMSsuMi9ldCk7TXQ9TWF0aC5taW4oTXQseisxMDA2NjMyOTYpO3ZhciBsZT1NYXRoO010PU1hdGgubWF4KHosTXQpLGxlPWxlLm1pbi5jYWxsKGxlLDIxNDc0ODM2NDgsTXQrKDY1NTM2LU10JTY1NTM2KSU2NTUzNik7dDp7TXQ9SnQuYnVmZmVyO3RyeXtKdC5ncm93KGxlLU10LmJ5dGVMZW5ndGgrNjU1MzU+Pj4xNiksaSgpO3ZhciBUZT0xO2JyZWFrIHR9Y2F0Y2h7fVRlPXZvaWQgMH1pZihUZSlyZXR1cm4hMH1yZXR1cm4hMX0sZjpmdW5jdGlvbih6KXtyZXR1cm4gNTJ9LGQ6ZnVuY3Rpb24oeixXLGV0LE10LGxlKXtyZXR1cm4gNzB9LGM6ZnVuY3Rpb24oeixXLGV0LE10KXtmb3IodmFyIGxlPTAsVGU9MDtUZTxldDtUZSsrKXt2YXIgT2k9YmVbVz4+Ml0sR2M9YmVbVys0Pj4yXTtXKz04O2Zvcih2YXIgVj0wO1Y8R2M7VisrKXt2YXIgRz11bltPaStWXSxZPWZvW3pdO0c9PT0wfHxHPT09MTA/KCh6PT09MT9wZTp1ZSkobyhZLDApKSxZLmxlbmd0aD0wKTpZLnB1c2goRyl9bGUrPUdjfXJldHVybiBiZVtNdD4+Ml09bGUsMH19OyhmdW5jdGlvbigpe2Z1bmN0aW9uIHoobGUsVGUpe1IuYXNtPWxlLmV4cG9ydHMsSnQ9Ui5hc20uaCxpKCkscG4udW5zaGlmdChSLmFzbS5pKSwkdC0tLFIubW9uaXRvclJ1bkRlcGVuZGVuY2llcyYmUi5tb25pdG9yUnVuRGVwZW5kZW5jaWVzKCR0KSwkdD09MCYmKEdlIT09bnVsbCYmKGNsZWFySW50ZXJ2YWwoR2UpLEdlPW51bGwpLGRuJiYobGU9ZG4sZG49bnVsbCxsZSgpKSl9ZnVuY3Rpb24gVyhsZSl7eihsZS5pbnN0YW5jZSl9ZnVuY3Rpb24gZXQobGUpe3JldHVybiB1KCkudGhlbihmdW5jdGlvbihUZSl7cmV0dXJuIFdlYkFzc2VtYmx5Lmluc3RhbnRpYXRlKFRlLE10KX0pLnRoZW4oZnVuY3Rpb24oVGUpe3JldHVybiBUZX0pLnRoZW4obGUsZnVuY3Rpb24oVGUpe3VlKCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAiK1RlKSxzKFRlKX0pfXZhciBNdD17YTpIbn07aWYoJHQrKyxSLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJlIubW9uaXRvclJ1bkRlcGVuZGVuY2llcygkdCksUi5pbnN0YW50aWF0ZVdhc20pdHJ5e3JldHVybiBSLmluc3RhbnRpYXRlV2FzbShNdCx6KX1jYXRjaChsZSl7dWUoIk1vZHVsZS5pbnN0YW50aWF0ZVdhc20gY2FsbGJhY2sgZmFpbGVkIHdpdGggZXJyb3I6ICIrbGUpLGF0KGxlKX1yZXR1cm4gZnVuY3Rpb24oKXtyZXR1cm4gUXR8fHR5cGVvZiBXZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyE9ImZ1bmN0aW9uInx8c24uc3RhcnRzV2l0aCgiZGF0YTphcHBsaWNhdGlvbi9vY3RldC1zdHJlYW07YmFzZTY0LCIpfHxzbi5zdGFydHNXaXRoKCJmaWxlOi8vIil8fEN0fHx0eXBlb2YgZmV0Y2ghPSJmdW5jdGlvbiI/ZXQoVyk6ZmV0Y2goc24se2NyZWRlbnRpYWxzOiJzYW1lLW9yaWdpbiJ9KS50aGVuKGZ1bmN0aW9uKGxlKXtyZXR1cm4gV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmcobGUsTXQpLnRoZW4oVyxmdW5jdGlvbihUZSl7cmV0dXJuIHVlKCJ3YXNtIHN0cmVhbWluZyBjb21waWxlIGZhaWxlZDogIitUZSksdWUoImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uIiksZXQoVyl9KX0pfSgpLmNhdGNoKGF0KSx7fX0pKCk7dmFyIFplPVIuX2Vtc2NyaXB0ZW5fYmluZF9Wb2lkUHRyX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oWmU9Ui5fZW1zY3JpcHRlbl9iaW5kX1ZvaWRQdHJfX19kZXN0cm95X19fMD1SLmFzbS5rKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGNuPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyQnVmZmVyX0RlY29kZXJCdWZmZXJfMD1mdW5jdGlvbigpe3JldHVybihjbj1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9EZWNvZGVyQnVmZmVyXzA9Ui5hc20ubCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxLZT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9Jbml0XzI9ZnVuY3Rpb24oKXtyZXR1cm4oS2U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfSW5pdF8yPVIuYXNtLm0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0saG49Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJCdWZmZXJfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihobj1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2RlckJ1ZmZlcl9fX2Rlc3Ryb3lfX18wPVIuYXNtLm4pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdW89Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfQXR0cmlidXRlVHJhbnNmb3JtRGF0YV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHVvPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD1SLmFzbS5vKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHFuPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX3RyYW5zZm9ybV90eXBlXzA9ZnVuY3Rpb24oKXtyZXR1cm4ocW49Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfdHJhbnNmb3JtX3R5cGVfMD1SLmFzbS5wKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEtuPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oS249Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVRyYW5zZm9ybURhdGFfX19kZXN0cm95X19fMD1SLmFzbS5xKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGxvPVIuX2Vtc2NyaXB0ZW5fYmluZF9HZW9tZXRyeUF0dHJpYnV0ZV9HZW9tZXRyeUF0dHJpYnV0ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKGxvPVIuX2Vtc2NyaXB0ZW5fYmluZF9HZW9tZXRyeUF0dHJpYnV0ZV9HZW9tZXRyeUF0dHJpYnV0ZV8wPVIuYXNtLnIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0semU9Ui5fZW1zY3JpcHRlbl9iaW5kX0dlb21ldHJ5QXR0cmlidXRlX19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oemU9Ui5fZW1zY3JpcHRlbl9iaW5kX0dlb21ldHJ5QXR0cmlidXRlX19fZGVzdHJveV9fXzA9Ui5hc20ucykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMZT1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfUG9pbnRBdHRyaWJ1dGVfMD1mdW5jdGlvbigpe3JldHVybihMZT1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfUG9pbnRBdHRyaWJ1dGVfMD1SLmFzbS50KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LERuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oRG49Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX3NpemVfMD1SLmFzbS51KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFduPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9HZXRBdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhXzA9ZnVuY3Rpb24oKXtyZXR1cm4oV249Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX0dldEF0dHJpYnV0ZVRyYW5zZm9ybURhdGFfMD1SLmFzbS52KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHpvPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9hdHRyaWJ1dGVfdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHpvPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9hdHRyaWJ1dGVfdHlwZV8wPVIuYXNtLncpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scm49Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2RhdGFfdHlwZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHJuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9kYXRhX3R5cGVfMD1SLmFzbS54KS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9udW1fY29tcG9uZW50c18wPWZ1bmN0aW9uKCl7cmV0dXJuKFJuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV9udW1fY29tcG9uZW50c18wPVIuYXNtLnkpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYXI9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX25vcm1hbGl6ZWRfMD1mdW5jdGlvbigpe3JldHVybihhcj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfbm9ybWFsaXplZF8wPVIuYXNtLnopLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUW49Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfc3RyaWRlXzA9ZnVuY3Rpb24oKXtyZXR1cm4oUW49Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50QXR0cmlidXRlX2J5dGVfc3RyaWRlXzA9Ui5hc20uQSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxqbz1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfYnl0ZV9vZmZzZXRfMD1mdW5jdGlvbigpe3JldHVybihqbz1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfYnl0ZV9vZmZzZXRfMD1SLmFzbS5CKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE5yPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludEF0dHJpYnV0ZV91bmlxdWVfaWRfMD1mdW5jdGlvbigpe3JldHVybihOcj1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfdW5pcXVlX2lkXzA9Ui5hc20uQykuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxOcz1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihOcz1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRBdHRyaWJ1dGVfX19kZXN0cm95X19fMD1SLmFzbS5EKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LElzPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSXM9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fMD1SLmFzbS5FKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFlpPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fSW5pdEZyb21BdHRyaWJ1dGVfMT1mdW5jdGlvbigpe3JldHVybihZaT1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX0luaXRGcm9tQXR0cmlidXRlXzE9Ui5hc20uRikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJcj1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX3F1YW50aXphdGlvbl9iaXRzXzA9ZnVuY3Rpb24oKXtyZXR1cm4oSXI9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9xdWFudGl6YXRpb25fYml0c18wPVIuYXNtLkcpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sJGk9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9taW5fdmFsdWVfMT1mdW5jdGlvbigpe3JldHVybigkaT1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX21pbl92YWx1ZV8xPVIuYXNtLkgpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdnM9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZVF1YW50aXphdGlvblRyYW5zZm9ybV9yYW5nZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHZzPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fcmFuZ2VfMD1SLmFzbS5JKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGJpPVIuX2Vtc2NyaXB0ZW5fYmluZF9BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm1fX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihiaT1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtX19fZGVzdHJveV9fXzA9Ui5hc20uSikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxvbz1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtXzA9ZnVuY3Rpb24oKXtyZXR1cm4ob289Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV8wPVIuYXNtLkspLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scG89Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fSW5pdEZyb21BdHRyaWJ1dGVfMT1mdW5jdGlvbigpe3JldHVybihwbz1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9Jbml0RnJvbUF0dHJpYnV0ZV8xPVIuYXNtLkwpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdnI9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fcXVhbnRpemF0aW9uX2JpdHNfMD1mdW5jdGlvbigpe3JldHVybih2cj1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9xdWFudGl6YXRpb25fYml0c18wPVIuYXNtLk0pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTWM9Ui5fZW1zY3JpcHRlbl9iaW5kX0F0dHJpYnV0ZU9jdGFoZWRyb25UcmFuc2Zvcm1fX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihNYz1SLl9lbXNjcmlwdGVuX2JpbmRfQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybV9fX2Rlc3Ryb3lfX18wPVIuYXNtLk4pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTmM9Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfUG9pbnRDbG91ZF8wPWZ1bmN0aW9uKCl7cmV0dXJuKE5jPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX1BvaW50Q2xvdWRfMD1SLmFzbS5PKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEZuPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX251bV9hdHRyaWJ1dGVzXzA9ZnVuY3Rpb24oKXtyZXR1cm4oRm49Ui5fZW1zY3JpcHRlbl9iaW5kX1BvaW50Q2xvdWRfbnVtX2F0dHJpYnV0ZXNfMD1SLmFzbS5QKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFRpPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX251bV9wb2ludHNfMD1mdW5jdGlvbigpe3JldHVybihUaT1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9udW1fcG9pbnRzXzA9Ui5hc20uUSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxEZT1SLl9lbXNjcmlwdGVuX2JpbmRfUG9pbnRDbG91ZF9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKERlPVIuX2Vtc2NyaXB0ZW5fYmluZF9Qb2ludENsb3VkX19fZGVzdHJveV9fXzA9Ui5hc20uUikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxvcj1SLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9NZXNoXzA9ZnVuY3Rpb24oKXtyZXR1cm4ob3I9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfTWVzaF8wPVIuYXNtLlMpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZ3U9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfbnVtX2ZhY2VzXzA9ZnVuY3Rpb24oKXtyZXR1cm4oZ3U9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfbnVtX2ZhY2VzXzA9Ui5hc20uVCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxBdT1SLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9udW1fYXR0cmlidXRlc18wPWZ1bmN0aW9uKCl7cmV0dXJuKEF1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXNoX251bV9hdHRyaWJ1dGVzXzA9Ui5hc20uVSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxidT1SLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9udW1fcG9pbnRzXzA9ZnVuY3Rpb24oKXtyZXR1cm4oYnU9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfbnVtX3BvaW50c18wPVIuYXNtLlYpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSWM9Ui5fZW1zY3JpcHRlbl9iaW5kX01lc2hfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihJYz1SLl9lbXNjcmlwdGVuX2JpbmRfTWVzaF9fX2Rlc3Ryb3lfX18wPVIuYXNtLlcpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdmM9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhX01ldGFkYXRhXzA9ZnVuY3Rpb24oKXtyZXR1cm4odmM9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhX01ldGFkYXRhXzA9Ui5hc20uWCkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxIYT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihIYT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFfX19kZXN0cm95X19fMD1SLmFzbS5ZKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFR1PVIuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfY29kZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFR1PVIuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfY29kZV8wPVIuYXNtLlopLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scWE9Ui5fZW1zY3JpcHRlbl9iaW5kX1N0YXR1c19va18wPWZ1bmN0aW9uKCl7cmV0dXJuKHFhPVIuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfb2tfMD1SLmFzbS5fKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFppPVIuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfZXJyb3JfbXNnXzA9ZnVuY3Rpb24oKXtyZXR1cm4oWmk9Ui5fZW1zY3JpcHRlbl9iaW5kX1N0YXR1c19lcnJvcl9tc2dfMD1SLmFzbS4kKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHd1PVIuX2Vtc2NyaXB0ZW5fYmluZF9TdGF0dXNfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybih3dT1SLl9lbXNjcmlwdGVuX2JpbmRfU3RhdHVzX19fZGVzdHJveV9fXzA9Ui5hc20uYWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sT3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0RyYWNvRmxvYXQzMkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oT3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0RyYWNvRmxvYXQzMkFycmF5XzA9Ui5hc20uYmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRXU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oRXU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X0dldFZhbHVlXzE9Ui5hc20uY2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUWk9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvRmxvYXQzMkFycmF5X3NpemVfMD1mdW5jdGlvbigpe3JldHVybihRaT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29GbG9hdDMyQXJyYXlfc2l6ZV8wPVIuYXNtLmRhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEppPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKEppPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0Zsb2F0MzJBcnJheV9fX2Rlc3Ryb3lfX18wPVIuYXNtLmVhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LExjPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDhBcnJheV9EcmFjb0ludDhBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKExjPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDhBcnJheV9EcmFjb0ludDhBcnJheV8wPVIuYXNtLmZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDhBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFJ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDhBcnJheV9HZXRWYWx1ZV8xPVIuYXNtLmdhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFN1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDhBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oU3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50OEFycmF5X3NpemVfMD1SLmFzbS5oYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMcj1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihMcj1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQ4QXJyYXlfX19kZXN0cm95X19fMD1SLmFzbS5pYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxLYT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X0RyYWNvVUludDhBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKEthPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfRHJhY29VSW50OEFycmF5XzA9Ui5hc20uamEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sV2E9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFdhPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQ4QXJyYXlfR2V0VmFsdWVfMT1SLmFzbS5rYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxEYz1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X3NpemVfMD1mdW5jdGlvbigpe3JldHVybihEYz1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X3NpemVfMD1SLmFzbS5sYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxDdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50OEFycmF5X19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oQ3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDhBcnJheV9fX2Rlc3Ryb3lfX18wPVIuYXNtLm1hKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEZjPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfRHJhY29JbnQxNkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4oRmM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9EcmFjb0ludDE2QXJyYXlfMD1SLmFzbS5uYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx4dT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oeHU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MTZBcnJheV9HZXRWYWx1ZV8xPVIuYXNtLm9hKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFB1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKFB1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfc2l6ZV8wPVIuYXNtLnBhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE11PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDE2QXJyYXlfX19kZXN0cm95X19fMD1mdW5jdGlvbigpe3JldHVybihNdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQxNkFycmF5X19fZGVzdHJveV9fXzA9Ui5hc20ucWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfRHJhY29VSW50MTZBcnJheV8wPWZ1bmN0aW9uKCl7cmV0dXJuKE51PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X0RyYWNvVUludDE2QXJyYXlfMD1SLmFzbS5yYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxJdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9HZXRWYWx1ZV8xPWZ1bmN0aW9uKCl7cmV0dXJuKEl1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X0dldFZhbHVlXzE9Ui5hc20uc2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDE2QXJyYXlfc2l6ZV8wPWZ1bmN0aW9uKCl7cmV0dXJuKHZ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X3NpemVfMD1SLmFzbS50YSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxYYT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MTZBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKFhhPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQxNkFycmF5X19fZGVzdHJveV9fXzA9Ui5hc20udWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTHU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9EcmFjb0ludDMyQXJyYXlfMD1mdW5jdGlvbigpe3JldHVybihMdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X0RyYWNvSW50MzJBcnJheV8wPVIuYXNtLnZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LER1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfR2V0VmFsdWVfMT1mdW5jdGlvbigpe3JldHVybihEdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29JbnQzMkFycmF5X0dldFZhbHVlXzE9Ui5hc20ud2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sRnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oRnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9zaXplXzA9Ui5hc20ueGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvSW50MzJBcnJheV9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKEJ1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb0ludDMyQXJyYXlfX19kZXN0cm95X19fMD1SLmFzbS55YSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx0cz1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9EcmFjb1VJbnQzMkFycmF5XzA9ZnVuY3Rpb24oKXtyZXR1cm4odHM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfRHJhY29VSW50MzJBcnJheV8wPVIuYXNtLnphKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFV1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X0dldFZhbHVlXzE9ZnVuY3Rpb24oKXtyZXR1cm4oVXU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfR2V0VmFsdWVfMT1SLmFzbS5BYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxWdT1SLl9lbXNjcmlwdGVuX2JpbmRfRHJhY29VSW50MzJBcnJheV9zaXplXzA9ZnVuY3Rpb24oKXtyZXR1cm4oVnU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfc2l6ZV8wPVIuYXNtLkJhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LExzPVIuX2Vtc2NyaXB0ZW5fYmluZF9EcmFjb1VJbnQzMkFycmF5X19fZGVzdHJveV9fXzA9ZnVuY3Rpb24oKXtyZXR1cm4oTHM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RyYWNvVUludDMyQXJyYXlfX19kZXN0cm95X19fMD1SLmFzbS5DYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxrdT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX01ldGFkYXRhUXVlcmllcl8wPWZ1bmN0aW9uKCl7cmV0dXJuKGt1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfTWV0YWRhdGFRdWVyaWVyXzA9Ui5hc20uRGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sR3U9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9IYXNFbnRyeV8yPWZ1bmN0aW9uKCl7cmV0dXJuKEd1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfSGFzRW50cnlfMj1SLmFzbS5FYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxmcj1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEludEVudHJ5XzI9ZnVuY3Rpb24oKXtyZXR1cm4oZnI9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRJbnRFbnRyeV8yPVIuYXNtLkZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFlhPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0SW50RW50cnlBcnJheV8zPWZ1bmN0aW9uKCl7cmV0dXJuKFlhPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0SW50RW50cnlBcnJheV8zPVIuYXNtLkdhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHp1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0RG91YmxlRW50cnlfMj1mdW5jdGlvbigpe3JldHVybih6dT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldERvdWJsZUVudHJ5XzI9Ui5hc20uSGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sanU9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9HZXRTdHJpbmdFbnRyeV8yPWZ1bmN0aW9uKCl7cmV0dXJuKGp1PVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0U3RyaW5nRW50cnlfMj1SLmFzbS5JYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxIdT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX051bUVudHJpZXNfMT1mdW5jdGlvbigpe3JldHVybihIdT1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX051bUVudHJpZXNfMT1SLmFzbS5KYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxIbz1SLl9lbXNjcmlwdGVuX2JpbmRfTWV0YWRhdGFRdWVyaWVyX0dldEVudHJ5TmFtZV8yPWZ1bmN0aW9uKCl7cmV0dXJuKEhvPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfR2V0RW50cnlOYW1lXzI9Ui5hc20uS2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sJGE9Ui5fZW1zY3JpcHRlbl9iaW5kX01ldGFkYXRhUXVlcmllcl9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKCRhPVIuX2Vtc2NyaXB0ZW5fYmluZF9NZXRhZGF0YVF1ZXJpZXJfX19kZXN0cm95X19fMD1SLmFzbS5MYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxaYT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVyXzA9ZnVuY3Rpb24oKXtyZXR1cm4oWmE9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2Rlcl8wPVIuYXNtLk1hKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LERzPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUFycmF5VG9Qb2ludENsb3VkXzM9ZnVuY3Rpb24oKXtyZXR1cm4oRHM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfRGVjb2RlQXJyYXlUb1BvaW50Q2xvdWRfMz1SLmFzbS5OYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxxdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVBcnJheVRvTWVzaF8zPWZ1bmN0aW9uKCl7cmV0dXJuKHF1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0RlY29kZUFycmF5VG9NZXNoXzM9Ui5hc20uT2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQmM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRfMj1mdW5jdGlvbigpe3JldHVybihCYz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZF8yPVIuYXNtLlBhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEt1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUlkQnlOYW1lXzI9ZnVuY3Rpb24oKXtyZXR1cm4oS3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSWRCeU5hbWVfMj1SLmFzbS5RYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxRYT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJZEJ5TWV0YWRhdGFFbnRyeV8zPWZ1bmN0aW9uKCl7cmV0dXJuKFFhPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUlkQnlNZXRhZGF0YUVudHJ5XzM9Ui5hc20uUmEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sSmE9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlXzI9ZnVuY3Rpb24oKXtyZXR1cm4oSmE9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlXzI9Ui5hc20uU2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sV3U9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlQnlVbmlxdWVJZF8yPWZ1bmN0aW9uKCl7cmV0dXJuKFd1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUJ5VW5pcXVlSWRfMj1SLmFzbS5UYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxYdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRNZXRhZGF0YV8xPWZ1bmN0aW9uKCl7cmV0dXJuKFh1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldE1ldGFkYXRhXzE9Ui5hc20uVWEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVWM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlTWV0YWRhdGFfMj1mdW5jdGlvbigpe3JldHVybihVYz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVNZXRhZGF0YV8yPVIuYXNtLlZhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEFvPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEZhY2VGcm9tTWVzaF8zPWZ1bmN0aW9uKCl7cmV0dXJuKEFvPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEZhY2VGcm9tTWVzaF8zPVIuYXNtLldhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFZjPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlU3RyaXBzRnJvbU1lc2hfMj1mdW5jdGlvbigpe3JldHVybihWYz1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZVN0cmlwc0Zyb21NZXNoXzI9Ui5hc20uWGEpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sWXU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0VHJpYW5nbGVzVUludDE2QXJyYXlfMz1mdW5jdGlvbigpe3JldHVybihZdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRUcmlhbmdsZXNVSW50MTZBcnJheV8zPVIuYXNtLllhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LCR1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldFRyaWFuZ2xlc1VJbnQzMkFycmF5XzM9ZnVuY3Rpb24oKXtyZXR1cm4oJHU9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0VHJpYW5nbGVzVUludDMyQXJyYXlfMz1SLmFzbS5aYSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxadT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVGbG9hdF8zPWZ1bmN0aW9uKCl7cmV0dXJuKFp1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUZsb2F0XzM9Ui5hc20uX2EpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdXI9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRmxvYXRGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybih1cj1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVGbG9hdEZvckFsbFBvaW50c18zPVIuYXNtLiRhKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFF1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludEZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKFF1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludEZvckFsbFBvaW50c18zPVIuYXNtLmFiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEp1PVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDhGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybihKdT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQ4Rm9yQWxsUG9pbnRzXzM9Ui5hc20uYmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sdGw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybih0bD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50OEZvckFsbFBvaW50c18zPVIuYXNtLmNiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LEZzPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDE2Rm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4oRnM9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlSW50MTZGb3JBbGxQb2ludHNfMz1SLmFzbS5kYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxlbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHNfMz1mdW5jdGlvbigpe3JldHVybihlbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVVSW50MTZGb3JBbGxQb2ludHNfMz1SLmFzbS5lYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx3aT1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRBdHRyaWJ1dGVJbnQzMkZvckFsbFBvaW50c18zPWZ1bmN0aW9uKCl7cmV0dXJuKHdpPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX0dldEF0dHJpYnV0ZUludDMyRm9yQWxsUG9pbnRzXzM9Ui5hc20uZmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbmw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzXzM9ZnVuY3Rpb24oKXtyZXR1cm4obmw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlVUludDMyRm9yQWxsUG9pbnRzXzM9Ui5hc20uZ2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sb2w9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRGF0YUFycmF5Rm9yQWxsUG9pbnRzXzU9ZnVuY3Rpb24oKXtyZXR1cm4ob2w9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfR2V0QXR0cmlidXRlRGF0YUFycmF5Rm9yQWxsUG9pbnRzXzU9Ui5hc20uaGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scmw9Ui5fZW1zY3JpcHRlbl9iaW5kX0RlY29kZXJfU2tpcEF0dHJpYnV0ZVRyYW5zZm9ybV8xPWZ1bmN0aW9uKCl7cmV0dXJuKHJsPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX1NraXBBdHRyaWJ1dGVUcmFuc2Zvcm1fMT1SLmFzbS5pYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxpbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRFbmNvZGVkR2VvbWV0cnlUeXBlX0RlcHJlY2F0ZWRfMT1mdW5jdGlvbigpe3JldHVybihpbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9HZXRFbmNvZGVkR2VvbWV0cnlUeXBlX0RlcHJlY2F0ZWRfMT1SLmFzbS5qYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxzbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVCdWZmZXJUb1BvaW50Q2xvdWRfMj1mdW5jdGlvbigpe3JldHVybihzbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVCdWZmZXJUb1BvaW50Q2xvdWRfMj1SLmFzbS5rYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxjbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVCdWZmZXJUb01lc2hfMj1mdW5jdGlvbigpe3JldHVybihjbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9EZWNvZGVCdWZmZXJUb01lc2hfMj1SLmFzbS5sYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxhbD1SLl9lbXNjcmlwdGVuX2JpbmRfRGVjb2Rlcl9fX2Rlc3Ryb3lfX18wPWZ1bmN0aW9uKCl7cmV0dXJuKGFsPVIuX2Vtc2NyaXB0ZW5fYmluZF9EZWNvZGVyX19fZGVzdHJveV9fXzA9Ui5hc20ubWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZmw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX0lOVkFMSURfVFJBTlNGT1JNPWZ1bmN0aW9uKCl7cmV0dXJuKGZsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9JTlZBTElEX1RSQU5TRk9STT1SLmFzbS5uYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx1bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fQXR0cmlidXRlVHJhbnNmb3JtVHlwZV9BVFRSSUJVVEVfTk9fVFJBTlNGT1JNPWZ1bmN0aW9uKCl7cmV0dXJuKHVsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9OT19UUkFOU0ZPUk09Ui5hc20ub2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09ZnVuY3Rpb24oKXtyZXR1cm4obGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX1FVQU5USVpBVElPTl9UUkFOU0ZPUk09Ui5hc20ucGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0scGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0F0dHJpYnV0ZVRyYW5zZm9ybVR5cGVfQVRUUklCVVRFX09DVEFIRURST05fVFJBTlNGT1JNPWZ1bmN0aW9uKCl7cmV0dXJuKHBsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19BdHRyaWJ1dGVUcmFuc2Zvcm1UeXBlX0FUVFJJQlVURV9PQ1RBSEVEUk9OX1RSQU5TRk9STT1SLmFzbS5xYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxlcz1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9JTlZBTElEPWZ1bmN0aW9uKCl7cmV0dXJuKGVzPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0lOVkFMSUQ9Ui5hc20ucmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfUE9TSVRJT049ZnVuY3Rpb24oKXtyZXR1cm4oZGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfUE9TSVRJT049Ui5hc20uc2IpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sbWw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfTk9STUFMPWZ1bmN0aW9uKCl7cmV0dXJuKG1sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX05PUk1BTD1SLmFzbS50YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxCcz1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9DT0xPUj1mdW5jdGlvbigpe3JldHVybihCcz1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9DT0xPUj1SLmFzbS51YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxrYz1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fR2VvbWV0cnlBdHRyaWJ1dGVfVHlwZV9URVhfQ09PUkQ9ZnVuY3Rpb24oKXtyZXR1cm4oa2M9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfVEVYX0NPT1JEPVIuYXNtLnZiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGhsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19HZW9tZXRyeUF0dHJpYnV0ZV9UeXBlX0dFTkVSSUM9ZnVuY3Rpb24oKXtyZXR1cm4oaGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0dlb21ldHJ5QXR0cmlidXRlX1R5cGVfR0VORVJJQz1SLmFzbS53YikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx0Zj1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9JTlZBTElEX0dFT01FVFJZX1RZUEU9ZnVuY3Rpb24oKXtyZXR1cm4odGY9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0VuY29kZWRHZW9tZXRyeVR5cGVfSU5WQUxJRF9HRU9NRVRSWV9UWVBFPVIuYXNtLnhiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LF9sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX1BPSU5UX0NMT1VEPWZ1bmN0aW9uKCl7cmV0dXJuKF9sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX1BPSU5UX0NMT1VEPVIuYXNtLnliKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHlsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19FbmNvZGVkR2VvbWV0cnlUeXBlX1RSSUFOR1VMQVJfTUVTSD1mdW5jdGlvbigpe3JldHVybih5bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRW5jb2RlZEdlb21ldHJ5VHlwZV9UUklBTkdVTEFSX01FU0g9Ui5hc20uemIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZ2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVkFMSUQ9ZnVuY3Rpb24oKXtyZXR1cm4oZ2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVkFMSUQ9Ui5hc20uQWIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sQWw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDg9ZnVuY3Rpb24oKXtyZXR1cm4oQWw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDg9Ui5hc20uQmIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sYmw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQ4PWZ1bmN0aW9uKCl7cmV0dXJuKGJsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UOD1SLmFzbS5DYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxUbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UMTY9ZnVuY3Rpb24oKXtyZXR1cm4oVGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDE2PVIuYXNtLkRiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHdsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UMTY9ZnVuY3Rpb24oKXtyZXR1cm4od2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQxNj1SLmFzbS5FYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxPbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UMzI9ZnVuY3Rpb24oKXtyZXR1cm4oT2w9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDMyPVIuYXNtLkZiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGVmPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UMzI9ZnVuY3Rpb24oKXtyZXR1cm4oZWY9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQzMj1SLmFzbS5HYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxFbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfSU5UNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oRWw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX0lOVDY0PVIuYXNtLkhiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFJsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19EYXRhVHlwZV9EVF9VSU5UNjQ9ZnVuY3Rpb24oKXtyZXR1cm4oUmw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1VJTlQ2ND1SLmFzbS5JYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxTbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfRkxPQVQzMj1mdW5jdGlvbigpe3JldHVybihTbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfRkxPQVQzMj1SLmFzbS5KYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxDbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfRkxPQVQ2ND1mdW5jdGlvbigpe3JldHVybihDbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfRkxPQVQ2ND1SLmFzbS5LYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSx4bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfQk9PTD1mdW5jdGlvbigpe3JldHVybih4bD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfQk9PTD1SLmFzbS5MYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxQbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fRGF0YVR5cGVfRFRfVFlQRVNfQ09VTlQ9ZnVuY3Rpb24oKXtyZXR1cm4oUGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX0RhdGFUeXBlX0RUX1RZUEVTX0NPVU5UPVIuYXNtLk1iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE1sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX09LPWZ1bmN0aW9uKCl7cmV0dXJuKE1sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX09LPVIuYXNtLk5iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LFVzPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0RSQUNPX0VSUk9SPWZ1bmN0aW9uKCl7cmV0dXJuKFVzPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0RSQUNPX0VSUk9SPVIuYXNtLk9iKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LE5sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0lPX0VSUk9SPWZ1bmN0aW9uKCl7cmV0dXJuKE5sPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0lPX0VSUk9SPVIuYXNtLlBiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LElsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0lOVkFMSURfUEFSQU1FVEVSPWZ1bmN0aW9uKCl7cmV0dXJuKElsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX0lOVkFMSURfUEFSQU1FVEVSPVIuYXNtLlFiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LHZsPVIuX2Vtc2NyaXB0ZW5fZW51bV9kcmFjb19TdGF0dXNDb2RlX1VOU1VQUE9SVEVEX1ZFUlNJT049ZnVuY3Rpb24oKXtyZXR1cm4odmw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfVU5TVVBQT1JURURfVkVSU0lPTj1SLmFzbS5SYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxMbD1SLl9lbXNjcmlwdGVuX2VudW1fZHJhY29fU3RhdHVzQ29kZV9VTktOT1dOX1ZFUlNJT049ZnVuY3Rpb24oKXtyZXR1cm4oTGw9Ui5fZW1zY3JpcHRlbl9lbnVtX2RyYWNvX1N0YXR1c0NvZGVfVU5LTk9XTl9WRVJTSU9OPVIuYXNtLlNiKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O1IuX21hbGxvYz1mdW5jdGlvbigpe3JldHVybihSLl9tYWxsb2M9Ui5hc20uVGIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sUi5fZnJlZT1mdW5jdGlvbigpe3JldHVybihSLl9mcmVlPVIuYXNtLlViKS5hcHBseShudWxsLGFyZ3VtZW50cyl9O3ZhciBEbD1mdW5jdGlvbigpe3JldHVybihEbD1SLmFzbS5WYikuYXBwbHkobnVsbCxhcmd1bWVudHMpfTtSLl9fX3N0YXJ0X2VtX2pzPTE1ODU2LFIuX19fc3RvcF9lbV9qcz0xNTk1NDt2YXIgbmY7aWYoZG49ZnVuY3Rpb24geigpe25mfHxwKCksbmZ8fChkbj16KX0sUi5wcmVJbml0KWZvcih0eXBlb2YgUi5wcmVJbml0PT0iZnVuY3Rpb24iJiYoUi5wcmVJbml0PVtSLnByZUluaXRdKTswPFIucHJlSW5pdC5sZW5ndGg7KVIucHJlSW5pdC5wb3AoKSgpO3AoKSxkLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxkLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1kLGQucHJvdG90eXBlLl9fY2xhc3NfXz1kLGQuX19jYWNoZV9fPXt9LFIuV3JhcHBlck9iamVjdD1kLFIuZ2V0Q2FjaGU9bSxSLndyYXBQb2ludGVyPV8sUi5jYXN0T2JqZWN0PWZ1bmN0aW9uKHosVyl7cmV0dXJuIF8oei5wdHIsVyl9LFIuTlVMTD1fKDApLFIuZGVzdHJveT1mdW5jdGlvbih6KXtpZighei5fX2Rlc3Ryb3lfXyl0aHJvdyJFcnJvcjogQ2Fubm90IGRlc3Ryb3kgb2JqZWN0LiAoRGlkIHlvdSBjcmVhdGUgaXQgeW91cnNlbGY/KSI7ei5fX2Rlc3Ryb3lfXygpLGRlbGV0ZSBtKHouX19jbGFzc19fKVt6LnB0cl19LFIuY29tcGFyZT1mdW5jdGlvbih6LFcpe3JldHVybiB6LnB0cj09PVcucHRyfSxSLmdldFBvaW50ZXI9ZnVuY3Rpb24oeil7cmV0dXJuIHoucHRyfSxSLmdldENsYXNzPWZ1bmN0aW9uKHope3JldHVybiB6Ll9fY2xhc3NfX307dmFyIENlPXtidWZmZXI6MCxzaXplOjAscG9zOjAsdGVtcHM6W10sbmVlZGVkOjAscHJlcGFyZTpmdW5jdGlvbigpe2lmKENlLm5lZWRlZCl7Zm9yKHZhciB6PTA7ejxDZS50ZW1wcy5sZW5ndGg7eisrKVIuX2ZyZWUoQ2UudGVtcHNbel0pO0NlLnRlbXBzLmxlbmd0aD0wLFIuX2ZyZWUoQ2UuYnVmZmVyKSxDZS5idWZmZXI9MCxDZS5zaXplKz1DZS5uZWVkZWQsQ2UubmVlZGVkPTB9Q2UuYnVmZmVyfHwoQ2Uuc2l6ZSs9MTI4LENlLmJ1ZmZlcj1SLl9tYWxsb2MoQ2Uuc2l6ZSksQ2UuYnVmZmVyfHxzKHZvaWQgMCkpLENlLnBvcz0wfSxhbGxvYzpmdW5jdGlvbih6LFcpe3JldHVybiBDZS5idWZmZXJ8fHModm9pZCAwKSx6PXoubGVuZ3RoKlcuQllURVNfUEVSX0VMRU1FTlQsej16KzcmLTgsQ2UucG9zK3o+PUNlLnNpemU/KDA8enx8cyh2b2lkIDApLENlLm5lZWRlZCs9eixXPVIuX21hbGxvYyh6KSxDZS50ZW1wcy5wdXNoKFcpKTooVz1DZS5idWZmZXIrQ2UucG9zLENlLnBvcys9eiksV30sY29weTpmdW5jdGlvbih6LFcsZXQpe3N3aXRjaChldD4+Pj0wLFcuQllURVNfUEVSX0VMRU1FTlQpe2Nhc2UgMjpldD4+Pj0xO2JyZWFrO2Nhc2UgNDpldD4+Pj0yO2JyZWFrO2Nhc2UgODpldD4+Pj0zfWZvcih2YXIgTXQ9MDtNdDx6Lmxlbmd0aDtNdCsrKVdbZXQrTXRdPXpbTXRdfX07cmV0dXJuIFQucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLFQucHJvdG90eXBlLmNvbnN0cnVjdG9yPVQsVC5wcm90b3R5cGUuX19jbGFzc19fPVQsVC5fX2NhY2hlX189e30sUi5Wb2lkUHRyPVQsVC5wcm90b3R5cGUuX19kZXN0cm95X189VC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtaZSh0aGlzLnB0cil9LE8ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLE8ucHJvdG90eXBlLmNvbnN0cnVjdG9yPU8sTy5wcm90b3R5cGUuX19jbGFzc19fPU8sTy5fX2NhY2hlX189e30sUi5EZWNvZGVyQnVmZmVyPU8sTy5wcm90b3R5cGUuSW5pdD1PLnByb3RvdHlwZS5Jbml0PWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO0NlLnByZXBhcmUoKSx0eXBlb2Ygej09Im9iamVjdCImJih6PWIoeikpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLEtlKGV0LHosVyl9LE8ucHJvdG90eXBlLl9fZGVzdHJveV9fPU8ucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7aG4odGhpcy5wdHIpfSxFLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxFLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1FLEUucHJvdG90eXBlLl9fY2xhc3NfXz1FLEUuX19jYWNoZV9fPXt9LFIuQXR0cmlidXRlVHJhbnNmb3JtRGF0YT1FLEUucHJvdG90eXBlLnRyYW5zZm9ybV90eXBlPUUucHJvdG90eXBlLnRyYW5zZm9ybV90eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIHFuKHRoaXMucHRyKX0sRS5wcm90b3R5cGUuX19kZXN0cm95X189RS5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtLbih0aGlzLnB0cil9LHcucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLHcucHJvdG90eXBlLmNvbnN0cnVjdG9yPXcsdy5wcm90b3R5cGUuX19jbGFzc19fPXcsdy5fX2NhY2hlX189e30sUi5HZW9tZXRyeUF0dHJpYnV0ZT13LHcucHJvdG90eXBlLl9fZGVzdHJveV9fPXcucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7emUodGhpcy5wdHIpfSxDLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxDLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1DLEMucHJvdG90eXBlLl9fY2xhc3NfXz1DLEMuX19jYWNoZV9fPXt9LFIuUG9pbnRBdHRyaWJ1dGU9QyxDLnByb3RvdHlwZS5zaXplPUMucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gRG4odGhpcy5wdHIpfSxDLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVUcmFuc2Zvcm1EYXRhPUMucHJvdG90eXBlLkdldEF0dHJpYnV0ZVRyYW5zZm9ybURhdGE9ZnVuY3Rpb24oKXtyZXR1cm4gXyhXbih0aGlzLnB0ciksRSl9LEMucHJvdG90eXBlLmF0dHJpYnV0ZV90eXBlPUMucHJvdG90eXBlLmF0dHJpYnV0ZV90eXBlPWZ1bmN0aW9uKCl7cmV0dXJuIHpvKHRoaXMucHRyKX0sQy5wcm90b3R5cGUuZGF0YV90eXBlPUMucHJvdG90eXBlLmRhdGFfdHlwZT1mdW5jdGlvbigpe3JldHVybiBybih0aGlzLnB0cil9LEMucHJvdG90eXBlLm51bV9jb21wb25lbnRzPUMucHJvdG90eXBlLm51bV9jb21wb25lbnRzPWZ1bmN0aW9uKCl7cmV0dXJuIFJuKHRoaXMucHRyKX0sQy5wcm90b3R5cGUubm9ybWFsaXplZD1DLnByb3RvdHlwZS5ub3JtYWxpemVkPWZ1bmN0aW9uKCl7cmV0dXJuISFhcih0aGlzLnB0cil9LEMucHJvdG90eXBlLmJ5dGVfc3RyaWRlPUMucHJvdG90eXBlLmJ5dGVfc3RyaWRlPWZ1bmN0aW9uKCl7cmV0dXJuIFFuKHRoaXMucHRyKX0sQy5wcm90b3R5cGUuYnl0ZV9vZmZzZXQ9Qy5wcm90b3R5cGUuYnl0ZV9vZmZzZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gam8odGhpcy5wdHIpfSxDLnByb3RvdHlwZS51bmlxdWVfaWQ9Qy5wcm90b3R5cGUudW5pcXVlX2lkPWZ1bmN0aW9uKCl7cmV0dXJuIE5yKHRoaXMucHRyKX0sQy5wcm90b3R5cGUuX19kZXN0cm95X189Qy5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtOcyh0aGlzLnB0cil9LE4ucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLE4ucHJvdG90eXBlLmNvbnN0cnVjdG9yPU4sTi5wcm90b3R5cGUuX19jbGFzc19fPU4sTi5fX2NhY2hlX189e30sUi5BdHRyaWJ1dGVRdWFudGl6YXRpb25UcmFuc2Zvcm09TixOLnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1OLnByb3RvdHlwZS5Jbml0RnJvbUF0dHJpYnV0ZT1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksISFZaShXLHopfSxOLnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1OLnByb3RvdHlwZS5xdWFudGl6YXRpb25fYml0cz1mdW5jdGlvbigpe3JldHVybiBJcih0aGlzLnB0cil9LE4ucHJvdG90eXBlLm1pbl92YWx1ZT1OLnByb3RvdHlwZS5taW5fdmFsdWU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLCRpKFcseil9LE4ucHJvdG90eXBlLnJhbmdlPU4ucHJvdG90eXBlLnJhbmdlPWZ1bmN0aW9uKCl7cmV0dXJuIHZzKHRoaXMucHRyKX0sTi5wcm90b3R5cGUuX19kZXN0cm95X189Ti5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtiaSh0aGlzLnB0cil9LEkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLEkucHJvdG90eXBlLmNvbnN0cnVjdG9yPUksSS5wcm90b3R5cGUuX19jbGFzc19fPUksSS5fX2NhY2hlX189e30sUi5BdHRyaWJ1dGVPY3RhaGVkcm9uVHJhbnNmb3JtPUksSS5wcm90b3R5cGUuSW5pdEZyb21BdHRyaWJ1dGU9SS5wcm90b3R5cGUuSW5pdEZyb21BdHRyaWJ1dGU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLCEhcG8oVyx6KX0sSS5wcm90b3R5cGUucXVhbnRpemF0aW9uX2JpdHM9SS5wcm90b3R5cGUucXVhbnRpemF0aW9uX2JpdHM9ZnVuY3Rpb24oKXtyZXR1cm4gdnIodGhpcy5wdHIpfSxJLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1JLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe01jKHRoaXMucHRyKX0sRC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksRC5wcm90b3R5cGUuY29uc3RydWN0b3I9RCxELnByb3RvdHlwZS5fX2NsYXNzX189RCxELl9fY2FjaGVfXz17fSxSLlBvaW50Q2xvdWQ9RCxELnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1ELnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiBGbih0aGlzLnB0cil9LEQucHJvdG90eXBlLm51bV9wb2ludHM9RC5wcm90b3R5cGUubnVtX3BvaW50cz1mdW5jdGlvbigpe3JldHVybiBUaSh0aGlzLnB0cil9LEQucHJvdG90eXBlLl9fZGVzdHJveV9fPUQucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7RGUodGhpcy5wdHIpfSx2LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSx2LnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj12LHYucHJvdG90eXBlLl9fY2xhc3NfXz12LHYuX19jYWNoZV9fPXt9LFIuTWVzaD12LHYucHJvdG90eXBlLm51bV9mYWNlcz12LnByb3RvdHlwZS5udW1fZmFjZXM9ZnVuY3Rpb24oKXtyZXR1cm4gZ3UodGhpcy5wdHIpfSx2LnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz12LnByb3RvdHlwZS5udW1fYXR0cmlidXRlcz1mdW5jdGlvbigpe3JldHVybiBBdSh0aGlzLnB0cil9LHYucHJvdG90eXBlLm51bV9wb2ludHM9di5wcm90b3R5cGUubnVtX3BvaW50cz1mdW5jdGlvbigpe3JldHVybiBidSh0aGlzLnB0cil9LHYucHJvdG90eXBlLl9fZGVzdHJveV9fPXYucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7SWModGhpcy5wdHIpfSxMLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxMLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1MLEwucHJvdG90eXBlLl9fY2xhc3NfXz1MLEwuX19jYWNoZV9fPXt9LFIuTWV0YWRhdGE9TCxMLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1MLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0hhKHRoaXMucHRyKX0sVS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksVS5wcm90b3R5cGUuY29uc3RydWN0b3I9VSxVLnByb3RvdHlwZS5fX2NsYXNzX189VSxVLl9fY2FjaGVfXz17fSxSLlN0YXR1cz1VLFUucHJvdG90eXBlLmNvZGU9VS5wcm90b3R5cGUuY29kZT1mdW5jdGlvbigpe3JldHVybiBUdSh0aGlzLnB0cil9LFUucHJvdG90eXBlLm9rPVUucHJvdG90eXBlLm9rPWZ1bmN0aW9uKCl7cmV0dXJuISFxYSh0aGlzLnB0cil9LFUucHJvdG90eXBlLmVycm9yX21zZz1VLnByb3RvdHlwZS5lcnJvcl9tc2c9ZnVuY3Rpb24oKXtyZXR1cm4gcihaaSh0aGlzLnB0cikpfSxVLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1VLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe3d1KHRoaXMucHRyKX0sQS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksQS5wcm90b3R5cGUuY29uc3RydWN0b3I9QSxBLnByb3RvdHlwZS5fX2NsYXNzX189QSxBLl9fY2FjaGVfXz17fSxSLkRyYWNvRmxvYXQzMkFycmF5PUEsQS5wcm90b3R5cGUuR2V0VmFsdWU9QS5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLEV1KFcseil9LEEucHJvdG90eXBlLnNpemU9QS5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBRaSh0aGlzLnB0cil9LEEucHJvdG90eXBlLl9fZGVzdHJveV9fPUEucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7SmkodGhpcy5wdHIpfSxTLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxTLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1TLFMucHJvdG90eXBlLl9fY2xhc3NfXz1TLFMuX19jYWNoZV9fPXt9LFIuRHJhY29JbnQ4QXJyYXk9UyxTLnByb3RvdHlwZS5HZXRWYWx1ZT1TLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksUnUoVyx6KX0sUy5wcm90b3R5cGUuc2l6ZT1TLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIFN1KHRoaXMucHRyKX0sUy5wcm90b3R5cGUuX19kZXN0cm95X189Uy5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtMcih0aGlzLnB0cil9LFAucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLFAucHJvdG90eXBlLmNvbnN0cnVjdG9yPVAsUC5wcm90b3R5cGUuX19jbGFzc19fPVAsUC5fX2NhY2hlX189e30sUi5EcmFjb1VJbnQ4QXJyYXk9UCxQLnByb3RvdHlwZS5HZXRWYWx1ZT1QLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksV2EoVyx6KX0sUC5wcm90b3R5cGUuc2l6ZT1QLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIERjKHRoaXMucHRyKX0sUC5wcm90b3R5cGUuX19kZXN0cm95X189UC5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtDdSh0aGlzLnB0cil9LEYucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLEYucHJvdG90eXBlLmNvbnN0cnVjdG9yPUYsRi5wcm90b3R5cGUuX19jbGFzc19fPUYsRi5fX2NhY2hlX189e30sUi5EcmFjb0ludDE2QXJyYXk9RixGLnByb3RvdHlwZS5HZXRWYWx1ZT1GLnByb3RvdHlwZS5HZXRWYWx1ZT1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0cikseHUoVyx6KX0sRi5wcm90b3R5cGUuc2l6ZT1GLnByb3RvdHlwZS5zaXplPWZ1bmN0aW9uKCl7cmV0dXJuIFB1KHRoaXMucHRyKX0sRi5wcm90b3R5cGUuX19kZXN0cm95X189Ri5wcm90b3R5cGUuX19kZXN0cm95X189ZnVuY3Rpb24oKXtNdSh0aGlzLnB0cil9LGoucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZC5wcm90b3R5cGUpLGoucHJvdG90eXBlLmNvbnN0cnVjdG9yPWosai5wcm90b3R5cGUuX19jbGFzc19fPWosai5fX2NhY2hlX189e30sUi5EcmFjb1VJbnQxNkFycmF5PWosai5wcm90b3R5cGUuR2V0VmFsdWU9ai5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLEl1KFcseil9LGoucHJvdG90eXBlLnNpemU9ai5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiB2dSh0aGlzLnB0cil9LGoucHJvdG90eXBlLl9fZGVzdHJveV9fPWoucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7WGEodGhpcy5wdHIpfSxILnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxILnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1ILEgucHJvdG90eXBlLl9fY2xhc3NfXz1ILEguX19jYWNoZV9fPXt9LFIuRHJhY29JbnQzMkFycmF5PUgsSC5wcm90b3R5cGUuR2V0VmFsdWU9SC5wcm90b3R5cGUuR2V0VmFsdWU9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLER1KFcseil9LEgucHJvdG90eXBlLnNpemU9SC5wcm90b3R5cGUuc2l6ZT1mdW5jdGlvbigpe3JldHVybiBGdSh0aGlzLnB0cil9LEgucHJvdG90eXBlLl9fZGVzdHJveV9fPUgucHJvdG90eXBlLl9fZGVzdHJveV9fPWZ1bmN0aW9uKCl7QnUodGhpcy5wdHIpfSxrLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGQucHJvdG90eXBlKSxrLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1rLGsucHJvdG90eXBlLl9fY2xhc3NfXz1rLGsuX19jYWNoZV9fPXt9LFIuRHJhY29VSW50MzJBcnJheT1rLGsucHJvdG90eXBlLkdldFZhbHVlPWsucHJvdG90eXBlLkdldFZhbHVlPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxVdShXLHopfSxrLnByb3RvdHlwZS5zaXplPWsucHJvdG90eXBlLnNpemU9ZnVuY3Rpb24oKXtyZXR1cm4gVnUodGhpcy5wdHIpfSxrLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1rLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe0xzKHRoaXMucHRyKX0sSy5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksSy5wcm90b3R5cGUuY29uc3RydWN0b3I9SyxLLnByb3RvdHlwZS5fX2NsYXNzX189SyxLLl9fY2FjaGVfXz17fSxSLk1ldGFkYXRhUXVlcmllcj1LLEsucHJvdG90eXBlLkhhc0VudHJ5PUsucHJvdG90eXBlLkhhc0VudHJ5PWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiBDZS5wcmVwYXJlKCkseiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVz1XJiZ0eXBlb2YgVz09Im9iamVjdCI/Vy5wdHI6ZyhXKSwhIUd1KGV0LHosVyl9LEsucHJvdG90eXBlLkdldEludEVudHJ5PUsucHJvdG90eXBlLkdldEludEVudHJ5PWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiBDZS5wcmVwYXJlKCkseiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVz1XJiZ0eXBlb2YgVz09Im9iamVjdCI/Vy5wdHI6ZyhXKSxmcihldCx6LFcpfSxLLnByb3RvdHlwZS5HZXRJbnRFbnRyeUFycmF5PUsucHJvdG90eXBlLkdldEludEVudHJ5QXJyYXk9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7Q2UucHJlcGFyZSgpLHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFc9VyYmdHlwZW9mIFc9PSJvYmplY3QiP1cucHRyOmcoVyksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLFlhKE10LHosVyxldCl9LEsucHJvdG90eXBlLkdldERvdWJsZUVudHJ5PUsucHJvdG90eXBlLkdldERvdWJsZUVudHJ5PWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiBDZS5wcmVwYXJlKCkseiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVz1XJiZ0eXBlb2YgVz09Im9iamVjdCI/Vy5wdHI6ZyhXKSx6dShldCx6LFcpfSxLLnByb3RvdHlwZS5HZXRTdHJpbmdFbnRyeT1LLnByb3RvdHlwZS5HZXRTdHJpbmdFbnRyeT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4gQ2UucHJlcGFyZSgpLHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFc9VyYmdHlwZW9mIFc9PSJvYmplY3QiP1cucHRyOmcoVykscihqdShldCx6LFcpKX0sSy5wcm90b3R5cGUuTnVtRW50cmllcz1LLnByb3RvdHlwZS5OdW1FbnRyaWVzPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxIdShXLHopfSxLLnByb3RvdHlwZS5HZXRFbnRyeU5hbWU9Sy5wcm90b3R5cGUuR2V0RW50cnlOYW1lPWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxyKEhvKGV0LHosVykpfSxLLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1LLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpeyRhKHRoaXMucHRyKX0sWC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShkLnByb3RvdHlwZSksWC5wcm90b3R5cGUuY29uc3RydWN0b3I9WCxYLnByb3RvdHlwZS5fX2NsYXNzX189WCxYLl9fY2FjaGVfXz17fSxSLkRlY29kZXI9WCxYLnByb3RvdHlwZS5EZWNvZGVBcnJheVRvUG9pbnRDbG91ZD1YLnByb3RvdHlwZS5EZWNvZGVBcnJheVRvUG9pbnRDbG91ZD1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4gQ2UucHJlcGFyZSgpLHR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9Yih6KSksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLF8oRHMoTXQseixXLGV0KSxVKX0sWC5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb01lc2g9WC5wcm90b3R5cGUuRGVjb2RlQXJyYXlUb01lc2g9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIENlLnByZXBhcmUoKSx0eXBlb2Ygej09Im9iamVjdCImJih6PWIoeikpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSxfKHF1KE10LHosVyxldCksVSl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUlkPWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxCYyhldCx6LFcpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJZEJ5TmFtZT1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJZEJ5TmFtZT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4gQ2UucHJlcGFyZSgpLHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFc9VyYmdHlwZW9mIFc9PSJvYmplY3QiP1cucHRyOmcoVyksS3UoZXQseixXKX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnk9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSWRCeU1ldGFkYXRhRW50cnk9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIENlLnByZXBhcmUoKSx6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXPVcmJnR5cGVvZiBXPT0ib2JqZWN0Ij9XLnB0cjpnKFcpLGV0PWV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiP2V0LnB0cjpnKGV0KSxRYShNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGU9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlPWZ1bmN0aW9uKHosVyl7dmFyIGV0PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxfKEphKGV0LHosVyksQyl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUJ5VW5pcXVlSWQ9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlQnlVbmlxdWVJZD1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksXyhXdShldCx6LFcpLEMpfSxYLnByb3RvdHlwZS5HZXRNZXRhZGF0YT1YLnByb3RvdHlwZS5HZXRNZXRhZGF0YT1mdW5jdGlvbih6KXt2YXIgVz10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksXyhYdShXLHopLEwpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVNZXRhZGF0YT1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVNZXRhZGF0YT1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksXyhVYyhldCx6LFcpLEwpfSxYLnByb3RvdHlwZS5HZXRGYWNlRnJvbU1lc2g9WC5wcm90b3R5cGUuR2V0RmFjZUZyb21NZXNoPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISFBbyhNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRUcmlhbmdsZVN0cmlwc0Zyb21NZXNoPVgucHJvdG90eXBlLkdldFRyaWFuZ2xlU3RyaXBzRnJvbU1lc2g9ZnVuY3Rpb24oeixXKXt2YXIgZXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLFZjKGV0LHosVyl9LFgucHJvdG90eXBlLkdldFRyaWFuZ2xlc1VJbnQxNkFycmF5PVgucHJvdG90eXBlLkdldFRyaWFuZ2xlc1VJbnQxNkFycmF5PWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISFZdShNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MzJBcnJheT1YLnByb3RvdHlwZS5HZXRUcmlhbmdsZXNVSW50MzJBcnJheT1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhJHUoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlRmxvYXQ9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlRmxvYXQ9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwhIVp1KE10LHosVyxldCl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISF1cihNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnRGb3JBbGxQb2ludHM9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50Rm9yQWxsUG9pbnRzPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISFRdShNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQ4Rm9yQWxsUG9pbnRzPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZUludDhGb3JBbGxQb2ludHM9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwhIUp1KE10LHosVyxldCl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZVVJbnQ4Rm9yQWxsUG9pbnRzPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZVVJbnQ4Rm9yQWxsUG9pbnRzPWZ1bmN0aW9uKHosVyxldCl7dmFyIE10PXRoaXMucHRyO3JldHVybiB6JiZ0eXBlb2Ygej09Im9iamVjdCImJih6PXoucHRyKSxXJiZ0eXBlb2YgVz09Im9iamVjdCImJihXPVcucHRyKSxldCYmdHlwZW9mIGV0PT0ib2JqZWN0IiYmKGV0PWV0LnB0ciksISF0bChNdCx6LFcsZXQpfSxYLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50cz1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50cz1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhRnMoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlVUludDE2Rm9yQWxsUG9pbnRzPVgucHJvdG90eXBlLkdldEF0dHJpYnV0ZVVJbnQxNkZvckFsbFBvaW50cz1mdW5jdGlvbih6LFcsZXQpe3ZhciBNdD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksZXQmJnR5cGVvZiBldD09Im9iamVjdCImJihldD1ldC5wdHIpLCEhZWwoTXQseixXLGV0KX0sWC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50MzJGb3JBbGxQb2ludHM9WC5wcm90b3R5cGUuR2V0QXR0cmlidXRlSW50MzJGb3JBbGxQb2ludHM9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwhIXdpKE10LHosVyxldCl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZVVJbnQzMkZvckFsbFBvaW50cz1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVVSW50MzJGb3JBbGxQb2ludHM9ZnVuY3Rpb24oeixXLGV0KXt2YXIgTXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSwhIW5sKE10LHosVyxldCl9LFgucHJvdG90eXBlLkdldEF0dHJpYnV0ZURhdGFBcnJheUZvckFsbFBvaW50cz1YLnByb3RvdHlwZS5HZXRBdHRyaWJ1dGVEYXRhQXJyYXlGb3JBbGxQb2ludHM9ZnVuY3Rpb24oeixXLGV0LE10LGxlKXt2YXIgVGU9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLGV0JiZ0eXBlb2YgZXQ9PSJvYmplY3QiJiYoZXQ9ZXQucHRyKSxNdCYmdHlwZW9mIE10PT0ib2JqZWN0IiYmKE10PU10LnB0ciksbGUmJnR5cGVvZiBsZT09Im9iamVjdCImJihsZT1sZS5wdHIpLCEhb2woVGUseixXLGV0LE10LGxlKX0sWC5wcm90b3R5cGUuU2tpcEF0dHJpYnV0ZVRyYW5zZm9ybT1YLnByb3RvdHlwZS5Ta2lwQXR0cmlidXRlVHJhbnNmb3JtPWZ1bmN0aW9uKHope3ZhciBXPXRoaXMucHRyO3omJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLHJsKFcseil9LFgucHJvdG90eXBlLkdldEVuY29kZWRHZW9tZXRyeVR5cGVfRGVwcmVjYXRlZD1YLnByb3RvdHlwZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlX0RlcHJlY2F0ZWQ9ZnVuY3Rpb24oeil7dmFyIFc9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLGlsKFcseil9LFgucHJvdG90eXBlLkRlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZD1YLnByb3RvdHlwZS5EZWNvZGVCdWZmZXJUb1BvaW50Q2xvdWQ9ZnVuY3Rpb24oeixXKXt2YXIgZXQ9dGhpcy5wdHI7cmV0dXJuIHomJnR5cGVvZiB6PT0ib2JqZWN0IiYmKHo9ei5wdHIpLFcmJnR5cGVvZiBXPT0ib2JqZWN0IiYmKFc9Vy5wdHIpLF8oc2woZXQseixXKSxVKX0sWC5wcm90b3R5cGUuRGVjb2RlQnVmZmVyVG9NZXNoPVgucHJvdG90eXBlLkRlY29kZUJ1ZmZlclRvTWVzaD1mdW5jdGlvbih6LFcpe3ZhciBldD10aGlzLnB0cjtyZXR1cm4geiYmdHlwZW9mIHo9PSJvYmplY3QiJiYoej16LnB0ciksVyYmdHlwZW9mIFc9PSJvYmplY3QiJiYoVz1XLnB0ciksXyhjbChldCx6LFcpLFUpfSxYLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1YLnByb3RvdHlwZS5fX2Rlc3Ryb3lfXz1mdW5jdGlvbigpe2FsKHRoaXMucHRyKX0sZnVuY3Rpb24oKXtmdW5jdGlvbiB6KCl7Ui5BVFRSSUJVVEVfSU5WQUxJRF9UUkFOU0ZPUk09ZmwoKSxSLkFUVFJJQlVURV9OT19UUkFOU0ZPUk09dWwoKSxSLkFUVFJJQlVURV9RVUFOVElaQVRJT05fVFJBTlNGT1JNPWxsKCksUi5BVFRSSUJVVEVfT0NUQUhFRFJPTl9UUkFOU0ZPUk09cGwoKSxSLklOVkFMSUQ9ZXMoKSxSLlBPU0lUSU9OPWRsKCksUi5OT1JNQUw9bWwoKSxSLkNPTE9SPUJzKCksUi5URVhfQ09PUkQ9a2MoKSxSLkdFTkVSSUM9aGwoKSxSLklOVkFMSURfR0VPTUVUUllfVFlQRT10ZigpLFIuUE9JTlRfQ0xPVUQ9X2woKSxSLlRSSUFOR1VMQVJfTUVTSD15bCgpLFIuRFRfSU5WQUxJRD1nbCgpLFIuRFRfSU5UOD1BbCgpLFIuRFRfVUlOVDg9YmwoKSxSLkRUX0lOVDE2PVRsKCksUi5EVF9VSU5UMTY9d2woKSxSLkRUX0lOVDMyPU9sKCksUi5EVF9VSU5UMzI9ZWYoKSxSLkRUX0lOVDY0PUVsKCksUi5EVF9VSU5UNjQ9UmwoKSxSLkRUX0ZMT0FUMzI9U2woKSxSLkRUX0ZMT0FUNjQ9Q2woKSxSLkRUX0JPT0w9eGwoKSxSLkRUX1RZUEVTX0NPVU5UPVBsKCksUi5PSz1NbCgpLFIuRFJBQ09fRVJST1I9VXMoKSxSLklPX0VSUk9SPU5sKCksUi5JTlZBTElEX1BBUkFNRVRFUj1JbCgpLFIuVU5TVVBQT1JURURfVkVSU0lPTj12bCgpLFIuVU5LTk9XTl9WRVJTSU9OPUxsKCl9cmU/eigpOnBuLnVuc2hpZnQoeil9KCksdHlwZW9mIFIub25Nb2R1bGVQYXJzZWQ9PSJmdW5jdGlvbiImJlIub25Nb2R1bGVQYXJzZWQoKSxSLkRlY29kZXIucHJvdG90eXBlLkdldEVuY29kZWRHZW9tZXRyeVR5cGU9ZnVuY3Rpb24oeil7aWYoei5fX2NsYXNzX18mJnouX19jbGFzc19fPT09Ui5EZWNvZGVyQnVmZmVyKXJldHVybiBSLkRlY29kZXIucHJvdG90eXBlLkdldEVuY29kZWRHZW9tZXRyeVR5cGVfRGVwcmVjYXRlZCh6KTtpZig4PnouYnl0ZUxlbmd0aClyZXR1cm4gUi5JTlZBTElEX0dFT01FVFJZX1RZUEU7c3dpdGNoKHpbN10pe2Nhc2UgMDpyZXR1cm4gUi5QT0lOVF9DTE9VRDtjYXNlIDE6cmV0dXJuIFIuVFJJQU5HVUxBUl9NRVNIO2RlZmF1bHQ6cmV0dXJuIFIuSU5WQUxJRF9HRU9NRVRSWV9UWVBFfX0sZS5yZWFkeX19KCk7dHlwZW9mIGx1PT0ib2JqZWN0IiYmdHlwZW9mIE9nPT0ib2JqZWN0Ij9PZy5leHBvcnRzPXdnOnR5cGVvZiBkZWZpbmU9PSJmdW5jdGlvbiImJmRlZmluZS5hbWQ/ZGVmaW5lKFtdLGZ1bmN0aW9uKCl7cmV0dXJuIHdnfSk6dHlwZW9mIGx1PT0ib2JqZWN0IiYmKGx1LkRyYWNvRGVjb2Rlck1vZHVsZT13Zyl9KTt2YXIgU2c9e307ZGUoU2cse2RlZmF1bHQ6KCk9PkdVfSk7ZnVuY3Rpb24gdlUodCxlKXtsZXQgbj10Lm51bV9wb2ludHMoKSxvPXQubnVtX2ZhY2VzKCkscj1uZXcgTWUuRHJhY29JbnQzMkFycmF5LGk9byozLHM9RHQuY3JlYXRlVHlwZWRBcnJheShuLGkpLGY9MDtmb3IobGV0IHU9MDt1PG87Kyt1KWUuR2V0RmFjZUZyb21NZXNoKHQsdSxyKSxzW2YrMF09ci5HZXRWYWx1ZSgwKSxzW2YrMV09ci5HZXRWYWx1ZSgxKSxzW2YrMl09ci5HZXRWYWx1ZSgyKSxmKz0zO3JldHVybiBNZS5kZXN0cm95KHIpLHt0eXBlZEFycmF5OnMsbnVtYmVyT2ZJbmRpY2VzOml9fWZ1bmN0aW9uIExVKHQsZSxuLG8scil7bGV0IGkscztvLnF1YW50aXphdGlvbkJpdHM8PTg/KHM9bmV3IE1lLkRyYWNvVUludDhBcnJheSxpPW5ldyBVaW50OEFycmF5KHIpLGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHModCxuLHMpKTpvLnF1YW50aXphdGlvbkJpdHM8PTE2PyhzPW5ldyBNZS5EcmFjb1VJbnQxNkFycmF5LGk9bmV3IFVpbnQxNkFycmF5KHIpLGUuR2V0QXR0cmlidXRlVUludDE2Rm9yQWxsUG9pbnRzKHQsbixzKSk6KHM9bmV3IE1lLkRyYWNvRmxvYXQzMkFycmF5LGk9bmV3IEZsb2F0MzJBcnJheShyKSxlLkdldEF0dHJpYnV0ZUZsb2F0Rm9yQWxsUG9pbnRzKHQsbixzKSk7Zm9yKGxldCBmPTA7ZjxyOysrZilpW2ZdPXMuR2V0VmFsdWUoZik7cmV0dXJuIE1lLmRlc3Ryb3kocyksaX1mdW5jdGlvbiBEVSh0LGUsbixvKXtsZXQgcixpO3N3aXRjaChuLmRhdGFfdHlwZSgpKXtjYXNlIDE6Y2FzZSAxMTppPW5ldyBNZS5EcmFjb0ludDhBcnJheSxyPW5ldyBJbnQ4QXJyYXkobyksZS5HZXRBdHRyaWJ1dGVJbnQ4Rm9yQWxsUG9pbnRzKHQsbixpKTticmVhaztjYXNlIDI6aT1uZXcgTWUuRHJhY29VSW50OEFycmF5LHI9bmV3IFVpbnQ4QXJyYXkobyksZS5HZXRBdHRyaWJ1dGVVSW50OEZvckFsbFBvaW50cyh0LG4saSk7YnJlYWs7Y2FzZSAzOmk9bmV3IE1lLkRyYWNvSW50MTZBcnJheSxyPW5ldyBJbnQxNkFycmF5KG8pLGUuR2V0QXR0cmlidXRlSW50MTZGb3JBbGxQb2ludHModCxuLGkpO2JyZWFrO2Nhc2UgNDppPW5ldyBNZS5EcmFjb1VJbnQxNkFycmF5LHI9bmV3IFVpbnQxNkFycmF5KG8pLGUuR2V0QXR0cmlidXRlVUludDE2Rm9yQWxsUG9pbnRzKHQsbixpKTticmVhaztjYXNlIDU6Y2FzZSA3Omk9bmV3IE1lLkRyYWNvSW50MzJBcnJheSxyPW5ldyBJbnQzMkFycmF5KG8pLGUuR2V0QXR0cmlidXRlSW50MzJGb3JBbGxQb2ludHModCxuLGkpO2JyZWFrO2Nhc2UgNjpjYXNlIDg6aT1uZXcgTWUuRHJhY29VSW50MzJBcnJheSxyPW5ldyBVaW50MzJBcnJheShvKSxlLkdldEF0dHJpYnV0ZVVJbnQzMkZvckFsbFBvaW50cyh0LG4saSk7YnJlYWs7Y2FzZSA5OmNhc2UgMTA6aT1uZXcgTWUuRHJhY29GbG9hdDMyQXJyYXkscj1uZXcgRmxvYXQzMkFycmF5KG8pLGUuR2V0QXR0cmlidXRlRmxvYXRGb3JBbGxQb2ludHModCxuLGkpO2JyZWFrfWZvcihsZXQgcz0wO3M8bzsrK3MpcltzXT1pLkdldFZhbHVlKHMpO3JldHVybiBNZS5kZXN0cm95KGkpLHJ9ZnVuY3Rpb24gXzIodCxlLG4pe2xldCBvPXQubnVtX3BvaW50cygpLHI9bi5udW1fY29tcG9uZW50cygpLGkscz1uZXcgTWUuQXR0cmlidXRlUXVhbnRpemF0aW9uVHJhbnNmb3JtO2lmKHMuSW5pdEZyb21BdHRyaWJ1dGUobikpe2xldCBsPW5ldyBBcnJheShyKTtmb3IobGV0IHA9MDtwPHI7KytwKWxbcF09cy5taW5fdmFsdWUocCk7aT17cXVhbnRpemF0aW9uQml0czpzLnF1YW50aXphdGlvbl9iaXRzKCksbWluVmFsdWVzOmwscmFuZ2U6cy5yYW5nZSgpLG9jdEVuY29kZWQ6ITF9fU1lLmRlc3Ryb3kocykscz1uZXcgTWUuQXR0cmlidXRlT2N0YWhlZHJvblRyYW5zZm9ybSxzLkluaXRGcm9tQXR0cmlidXRlKG4pJiYoaT17cXVhbnRpemF0aW9uQml0czpzLnF1YW50aXphdGlvbl9iaXRzKCksb2N0RW5jb2RlZDohMH0pLE1lLmRlc3Ryb3kocyk7bGV0IGY9bypyLHU7aChpKT91PUxVKHQsZSxuLGksZik6dT1EVSh0LGUsbixmKTtsZXQgYz1udC5mcm9tVHlwZWRBcnJheSh1KTtyZXR1cm57YXJyYXk6dSxkYXRhOntjb21wb25lbnRzUGVyQXR0cmlidXRlOnIsY29tcG9uZW50RGF0YXR5cGU6YyxieXRlT2Zmc2V0Om4uYnl0ZV9vZmZzZXQoKSxieXRlU3RyaWRlOm50LmdldFNpemVJbkJ5dGVzKGMpKnIsbm9ybWFsaXplZDpuLm5vcm1hbGl6ZWQoKSxxdWFudGl6YXRpb246aX19fWZ1bmN0aW9uIEZVKHQpe2xldCBlPW5ldyBNZS5EZWNvZGVyO3QuZGVxdWFudGl6ZUluU2hhZGVyJiYoZS5Ta2lwQXR0cmlidXRlVHJhbnNmb3JtKE1lLlBPU0lUSU9OKSxlLlNraXBBdHRyaWJ1dGVUcmFuc2Zvcm0oTWUuTk9STUFMKSk7bGV0IG49bmV3IE1lLkRlY29kZXJCdWZmZXI7aWYobi5Jbml0KHQuYnVmZmVyLHQuYnVmZmVyLmxlbmd0aCksZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlKG4pIT09TWUuUE9JTlRfQ0xPVUQpdGhyb3cgbmV3IEFlKCJEcmFjbyBnZW9tZXRyeSB0eXBlIG11c3QgYmUgUE9JTlRfQ0xPVUQuIik7bGV0IHI9bmV3IE1lLlBvaW50Q2xvdWQsaT1lLkRlY29kZUJ1ZmZlclRvUG9pbnRDbG91ZChuLHIpO2lmKCFpLm9rKCl8fHIucHRyPT09MCl0aHJvdyBuZXcgQWUoYEVycm9yIGRlY29kaW5nIGRyYWNvIHBvaW50IGNsb3VkOiAke2kuZXJyb3JfbXNnKCl9YCk7TWUuZGVzdHJveShuKTtsZXQgcz17fSxmPXQucHJvcGVydGllcztmb3IobGV0IHUgaW4gZilpZihmLmhhc093blByb3BlcnR5KHUpKXtsZXQgYztpZih1PT09IlBPU0lUSU9OInx8dT09PSJOT1JNQUwiKXtsZXQgbD1lLkdldEF0dHJpYnV0ZUlkKHIsTWVbdV0pO2M9ZS5HZXRBdHRyaWJ1dGUocixsKX1lbHNle2xldCBsPWZbdV07Yz1lLkdldEF0dHJpYnV0ZUJ5VW5pcXVlSWQocixsKX1zW3VdPV8yKHIsZSxjKX1yZXR1cm4gTWUuZGVzdHJveShyKSxNZS5kZXN0cm95KGUpLHN9ZnVuY3Rpb24gQlUodCl7bGV0IGU9bmV3IE1lLkRlY29kZXIsbj1bIlBPU0lUSU9OIiwiTk9STUFMIiwiQ09MT1IiLCJURVhfQ09PUkQiXTtpZih0LmRlcXVhbnRpemVJblNoYWRlcilmb3IobGV0IHA9MDtwPG4ubGVuZ3RoOysrcCllLlNraXBBdHRyaWJ1dGVUcmFuc2Zvcm0oTWVbbltwXV0pO2xldCBvPXQuYnVmZmVyVmlldyxyPW5ldyBNZS5EZWNvZGVyQnVmZmVyO2lmKHIuSW5pdCh0LmFycmF5LG8uYnl0ZUxlbmd0aCksZS5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlKHIpIT09TWUuVFJJQU5HVUxBUl9NRVNIKXRocm93IG5ldyBBZSgiVW5zdXBwb3J0ZWQgZHJhY28gbWVzaCBnZW9tZXRyeSB0eXBlLiIpO2xldCBzPW5ldyBNZS5NZXNoLGY9ZS5EZWNvZGVCdWZmZXJUb01lc2gocixzKTtpZighZi5vaygpfHxzLnB0cj09PTApdGhyb3cgbmV3IEFlKGBFcnJvciBkZWNvZGluZyBkcmFjbyBtZXNoIGdlb21ldHJ5OiAke2YuZXJyb3JfbXNnKCl9YCk7TWUuZGVzdHJveShyKTtsZXQgdT17fSxjPXQuY29tcHJlc3NlZEF0dHJpYnV0ZXM7Zm9yKGxldCBwIGluIGMpaWYoYy5oYXNPd25Qcm9wZXJ0eShwKSl7bGV0IGQ9Y1twXSxtPWUuR2V0QXR0cmlidXRlQnlVbmlxdWVJZChzLGQpO3VbcF09XzIocyxlLG0pfWxldCBsPXtpbmRleEFycmF5OnZVKHMsZSksYXR0cmlidXRlRGF0YTp1fTtyZXR1cm4gTWUuZGVzdHJveShzKSxNZS5kZXN0cm95KGUpLGx9YXN5bmMgZnVuY3Rpb24gVVUodCxlKXtyZXR1cm4gaCh0LmJ1ZmZlclZpZXcpP0JVKHQpOkZVKHQpfWFzeW5jIGZ1bmN0aW9uIFZVKHQsZSl7bGV0IG49dC53ZWJBc3NlbWJseUNvbmZpZztyZXR1cm4gaChuKSYmaChuLndhc21CaW5hcnlGaWxlKT9NZT1hd2FpdCgwLFJnLmRlZmF1bHQpKG4pOk1lPWF3YWl0KDAsUmcuZGVmYXVsdCkoKSwhMH1hc3luYyBmdW5jdGlvbiBrVSh0LGUpe2xldCBuPXQud2ViQXNzZW1ibHlDb25maWc7cmV0dXJuIGgobik/VlUodCxlKTpVVSh0LGUpfXZhciBSZyxNZSxHVSxDZz1aKCgpPT57RmUoKTtmdCgpOyRlKCk7SnIoKTtzbygpO1JnPWRyKEVnKCksMSk7R1U9UWUoa1UpfSk7ZnVuY3Rpb24geGcodCxlKXtpZih4Zy5wYXNzVGhyb3VnaERhdGFGb3JUZXN0aW5nKXJldHVybiBlO3kudHlwZU9mLm9iamVjdCgia2V5Iix0KSx5LnR5cGVPZi5vYmplY3QoImRhdGEiLGUpO2xldCBuPXQuYnl0ZUxlbmd0aDtpZihuPT09MHx8biU0IT09MCl0aHJvdyBuZXcgQWUoIlRoZSBsZW5ndGggb2Yga2V5IG11c3QgYmUgZ3JlYXRlciB0aGFuIDAgYW5kIGEgbXVsdGlwbGUgb2YgNC4iKTtsZXQgbz1uZXcgRGF0YVZpZXcoZSkscj1vLmdldFVpbnQzMigwLCEwKTtpZihyPT09elV8fHI9PT1qVSlyZXR1cm4gZTtsZXQgaT1uZXcgRGF0YVZpZXcodCkscz0wLGY9ZS5ieXRlTGVuZ3RoLHU9Zi1mJTgsYz1uLGwscD04O2Zvcig7czx1Oylmb3IocD0ocCs4KSUyNCxsPXA7czx1JiZsPGM7KW8uc2V0VWludDMyKHMsby5nZXRVaW50MzIocywhMCleaS5nZXRVaW50MzIobCwhMCksITApLG8uc2V0VWludDMyKHMrNCxvLmdldFVpbnQzMihzKzQsITApXmkuZ2V0VWludDMyKGwrNCwhMCksITApLHMrPTgsbCs9MjQ7aWYoczxmKWZvcihsPj1jJiYocD0ocCs4KSUyNCxsPXApO3M8Zjspby5zZXRVaW50OChzLG8uZ2V0VWludDgocyleaS5nZXRVaW50OChsKSkscysrLGwrK312YXIgelUsalUseTIsZzI9WigoKT0+e1h0KCk7SnIoKTt6VT0xOTUzMDI5ODA1LGpVPTI5MTcwMzQxMDA7eGcucGFzc1Rocm91Z2hEYXRhRm9yVGVzdGluZz0hMTt5Mj14Z30pO2Z1bmN0aW9uIEhVKHQsZSl7cmV0dXJuKHQmZSkhPT0wfXZhciBWYSxBMj1aKCgpPT57VmE9SFV9KTtmdW5jdGlvbiB5aSh0LGUsbixvLHIsaSl7dGhpcy5fYml0cz10LHRoaXMuY25vZGVWZXJzaW9uPWUsdGhpcy5pbWFnZXJ5VmVyc2lvbj1uLHRoaXMudGVycmFpblZlcnNpb249byx0aGlzLmltYWdlcnlQcm92aWRlcj1yLHRoaXMudGVycmFpblByb3ZpZGVyPWksdGhpcy5hbmNlc3Rvckhhc1RlcnJhaW49ITEsdGhpcy50ZXJyYWluU3RhdGU9dm9pZCAwfXZhciBxVSxiMixLVSxXVSxYVSxUMix3Mj1aKCgpPT57ZnQoKTtBMigpO3FVPVsxLDIsNCw4XSxiMj0xNSxLVT0xNixXVT02NCxYVT0xMjg7eWkuY2xvbmU9ZnVuY3Rpb24odCxlKXtyZXR1cm4gaChlKT8oZS5fYml0cz10Ll9iaXRzLGUuY25vZGVWZXJzaW9uPXQuY25vZGVWZXJzaW9uLGUuaW1hZ2VyeVZlcnNpb249dC5pbWFnZXJ5VmVyc2lvbixlLnRlcnJhaW5WZXJzaW9uPXQudGVycmFpblZlcnNpb24sZS5pbWFnZXJ5UHJvdmlkZXI9dC5pbWFnZXJ5UHJvdmlkZXIsZS50ZXJyYWluUHJvdmlkZXI9dC50ZXJyYWluUHJvdmlkZXIpOmU9bmV3IHlpKHQuX2JpdHMsdC5jbm9kZVZlcnNpb24sdC5pbWFnZXJ5VmVyc2lvbix0LnRlcnJhaW5WZXJzaW9uLHQuaW1hZ2VyeVByb3ZpZGVyLHQudGVycmFpblByb3ZpZGVyKSxlLmFuY2VzdG9ySGFzVGVycmFpbj10LmFuY2VzdG9ySGFzVGVycmFpbixlLnRlcnJhaW5TdGF0ZT10LnRlcnJhaW5TdGF0ZSxlfTt5aS5wcm90b3R5cGUuc2V0UGFyZW50PWZ1bmN0aW9uKHQpe3RoaXMuYW5jZXN0b3JIYXNUZXJyYWluPXQuYW5jZXN0b3JIYXNUZXJyYWlufHx0aGlzLmhhc1RlcnJhaW4oKX07eWkucHJvdG90eXBlLmhhc1N1YnRyZWU9ZnVuY3Rpb24oKXtyZXR1cm4gVmEodGhpcy5fYml0cyxLVSl9O3lpLnByb3RvdHlwZS5oYXNJbWFnZXJ5PWZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMuX2JpdHMsV1UpfTt5aS5wcm90b3R5cGUuaGFzVGVycmFpbj1mdW5jdGlvbigpe3JldHVybiBWYSh0aGlzLl9iaXRzLFhVKX07eWkucHJvdG90eXBlLmhhc0NoaWxkcmVuPWZ1bmN0aW9uKCl7cmV0dXJuIFZhKHRoaXMuX2JpdHMsYjIpfTt5aS5wcm90b3R5cGUuaGFzQ2hpbGQ9ZnVuY3Rpb24odCl7cmV0dXJuIFZhKHRoaXMuX2JpdHMscVVbdF0pfTt5aS5wcm90b3R5cGUuZ2V0Q2hpbGRCaXRtYXNrPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2JpdHMmYjJ9O1QyPXlpfSk7dmFyIEUyPVhuKChWdXQsTzIpPT57InVzZSBzdHJpY3QiO3ZhciBZVT0odCxlLG4sbyk9PntsZXQgcj10JjY1NTM1fDAsaT10Pj4+MTYmNjU1MzV8MCxzPTA7Zm9yKDtuIT09MDspe3M9bj4yZTM/MmUzOm4sbi09cztkbyByPXIrZVtvKytdfDAsaT1pK3J8MDt3aGlsZSgtLXMpO3IlPTY1NTIxLGklPTY1NTIxfXJldHVybiByfGk8PDE2fDB9O08yLmV4cG9ydHM9WVV9KTt2YXIgUzI9WG4oKGt1dCxSMik9PnsidXNlIHN0cmljdCI7dmFyICRVPSgpPT57bGV0IHQsZT1bXTtmb3IodmFyIG49MDtuPDI1NjtuKyspe3Q9bjtmb3IodmFyIG89MDtvPDg7bysrKXQ9dCYxPzM5ODgyOTIzODRedD4+PjE6dD4+PjE7ZVtuXT10fXJldHVybiBlfSxaVT1uZXcgVWludDMyQXJyYXkoJFUoKSksUVU9KHQsZSxuLG8pPT57bGV0IHI9WlUsaT1vK247dF49LTE7Zm9yKGxldCBzPW87czxpO3MrKyl0PXQ+Pj44XnJbKHReZVtzXSkmMjU1XTtyZXR1cm4gdF4tMX07UjIuZXhwb3J0cz1RVX0pO3ZhciB4Mj1YbigoR3V0LEMyKT0+eyJ1c2Ugc3RyaWN0IjtDMi5leHBvcnRzPWZ1bmN0aW9uKGUsbil7bGV0IG8scixpLHMsZix1LGMsbCxwLGQsbSxfLGcsYixULE8sRSx3LEMsTixJLEQsdixMLFU9ZS5zdGF0ZTtvPWUubmV4dF9pbix2PWUuaW5wdXQscj1vKyhlLmF2YWlsX2luLTUpLGk9ZS5uZXh0X291dCxMPWUub3V0cHV0LHM9aS0obi1lLmF2YWlsX291dCksZj1pKyhlLmF2YWlsX291dC0yNTcpLHU9VS5kbWF4LGM9VS53c2l6ZSxsPVUud2hhdmUscD1VLnduZXh0LGQ9VS53aW5kb3csbT1VLmhvbGQsXz1VLmJpdHMsZz1VLmxlbmNvZGUsYj1VLmRpc3Rjb2RlLFQ9KDE8PFUubGVuYml0cyktMSxPPSgxPDxVLmRpc3RiaXRzKS0xO3Q6ZG97XzwxNSYmKG0rPXZbbysrXTw8XyxfKz04LG0rPXZbbysrXTw8XyxfKz04KSxFPWdbbSZUXTtlOmZvcig7Oyl7aWYodz1FPj4+MjQsbT4+Pj13LF8tPXcsdz1FPj4+MTYmMjU1LHc9PT0wKUxbaSsrXT1FJjY1NTM1O2Vsc2UgaWYodyYxNil7Qz1FJjY1NTM1LHcmPTE1LHcmJihfPHcmJihtKz12W28rK108PF8sXys9OCksQys9bSYoMTw8dyktMSxtPj4+PXcsXy09dyksXzwxNSYmKG0rPXZbbysrXTw8XyxfKz04LG0rPXZbbysrXTw8XyxfKz04KSxFPWJbbSZPXTtuOmZvcig7Oyl7aWYodz1FPj4+MjQsbT4+Pj13LF8tPXcsdz1FPj4+MTYmMjU1LHcmMTYpe2lmKE49RSY2NTUzNSx3Jj0xNSxfPHcmJihtKz12W28rK108PF8sXys9OCxfPHcmJihtKz12W28rK108PF8sXys9OCkpLE4rPW0mKDE8PHcpLTEsTj51KXtlLm1zZz0iaW52YWxpZCBkaXN0YW5jZSB0b28gZmFyIGJhY2siLFUubW9kZT0xNjIwOTticmVhayB0fWlmKG0+Pj49dyxfLT13LHc9aS1zLE4+dyl7aWYodz1OLXcsdz5sJiZVLnNhbmUpe2UubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayIsVS5tb2RlPTE2MjA5O2JyZWFrIHR9aWYoST0wLEQ9ZCxwPT09MCl7aWYoSSs9Yy13LHc8Qyl7Qy09dztkbyBMW2krK109ZFtJKytdO3doaWxlKC0tdyk7ST1pLU4sRD1MfX1lbHNlIGlmKHA8dyl7aWYoSSs9YytwLXcsdy09cCx3PEMpe0MtPXc7ZG8gTFtpKytdPWRbSSsrXTt3aGlsZSgtLXcpO2lmKEk9MCxwPEMpe3c9cCxDLT13O2RvIExbaSsrXT1kW0krK107d2hpbGUoLS13KTtJPWktTixEPUx9fX1lbHNlIGlmKEkrPXAtdyx3PEMpe0MtPXc7ZG8gTFtpKytdPWRbSSsrXTt3aGlsZSgtLXcpO0k9aS1OLEQ9TH1mb3IoO0M+MjspTFtpKytdPURbSSsrXSxMW2krK109RFtJKytdLExbaSsrXT1EW0krK10sQy09MztDJiYoTFtpKytdPURbSSsrXSxDPjEmJihMW2krK109RFtJKytdKSl9ZWxzZXtJPWktTjtkbyBMW2krK109TFtJKytdLExbaSsrXT1MW0krK10sTFtpKytdPUxbSSsrXSxDLT0zO3doaWxlKEM+Mik7QyYmKExbaSsrXT1MW0krK10sQz4xJiYoTFtpKytdPUxbSSsrXSkpfX1lbHNlIGlmKHcmNjQpe2UubXNnPSJpbnZhbGlkIGRpc3RhbmNlIGNvZGUiLFUubW9kZT0xNjIwOTticmVhayB0fWVsc2V7RT1iWyhFJjY1NTM1KSsobSYoMTw8dyktMSldO2NvbnRpbnVlIG59YnJlYWt9fWVsc2UgaWYodyY2NClpZih3JjMyKXtVLm1vZGU9MTYxOTE7YnJlYWsgdH1lbHNle2UubXNnPSJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiLFUubW9kZT0xNjIwOTticmVhayB0fWVsc2V7RT1nWyhFJjY1NTM1KSsobSYoMTw8dyktMSldO2NvbnRpbnVlIGV9YnJlYWt9fXdoaWxlKG88ciYmaTxmKTtDPV8+PjMsby09QyxfLT1DPDwzLG0mPSgxPDxfKS0xLGUubmV4dF9pbj1vLGUubmV4dF9vdXQ9aSxlLmF2YWlsX2luPW88cj81KyhyLW8pOjUtKG8tciksZS5hdmFpbF9vdXQ9aTxmPzI1NysoZi1pKToyNTctKGktZiksVS5ob2xkPW0sVS5iaXRzPV99fSk7dmFyIE0yPVhuKCh6dXQsUDIpPT57InVzZSBzdHJpY3QiO3ZhciBKVT1uZXcgVWludDE2QXJyYXkoWzMsNCw1LDYsNyw4LDksMTAsMTEsMTMsMTUsMTcsMTksMjMsMjcsMzEsMzUsNDMsNTEsNTksNjcsODMsOTksMTE1LDEzMSwxNjMsMTk1LDIyNywyNTgsMCwwXSksdDY9bmV3IFVpbnQ4QXJyYXkoWzE2LDE2LDE2LDE2LDE2LDE2LDE2LDE2LDE3LDE3LDE3LDE3LDE4LDE4LDE4LDE4LDE5LDE5LDE5LDE5LDIwLDIwLDIwLDIwLDIxLDIxLDIxLDIxLDE2LDcyLDc4XSksZTY9bmV3IFVpbnQxNkFycmF5KFsxLDIsMyw0LDUsNyw5LDEzLDE3LDI1LDMzLDQ5LDY1LDk3LDEyOSwxOTMsMjU3LDM4NSw1MTMsNzY5LDEwMjUsMTUzNywyMDQ5LDMwNzMsNDA5Nyw2MTQ1LDgxOTMsMTIyODksMTYzODUsMjQ1NzcsMCwwXSksbjY9bmV3IFVpbnQ4QXJyYXkoWzE2LDE2LDE2LDE2LDE3LDE3LDE4LDE4LDE5LDE5LDIwLDIwLDIxLDIxLDIyLDIyLDIzLDIzLDI0LDI0LDI1LDI1LDI2LDI2LDI3LDI3LDI4LDI4LDI5LDI5LDY0LDY0XSksbzY9KHQsZSxuLG8scixpLHMsZik9PntsZXQgdT1mLmJpdHMsYz0wLGw9MCxwPTAsZD0wLG09MCxfPTAsZz0wLGI9MCxUPTAsTz0wLEUsdyxDLE4sSSxEPW51bGwsdixMPW5ldyBVaW50MTZBcnJheSgxNiksVT1uZXcgVWludDE2QXJyYXkoMTYpLEE9bnVsbCxTLFAsRjtmb3IoYz0wO2M8PTE1O2MrKylMW2NdPTA7Zm9yKGw9MDtsPG87bCsrKUxbZVtuK2xdXSsrO2ZvcihtPXUsZD0xNTtkPj0xJiZMW2RdPT09MDtkLS0pO2lmKG0+ZCYmKG09ZCksZD09PTApcmV0dXJuIHJbaSsrXT0xPDwyNHw2NDw8MTZ8MCxyW2krK109MTw8MjR8NjQ8PDE2fDAsZi5iaXRzPTEsMDtmb3IocD0xO3A8ZCYmTFtwXT09PTA7cCsrKTtmb3IobTxwJiYobT1wKSxiPTEsYz0xO2M8PTE1O2MrKylpZihiPDw9MSxiLT1MW2NdLGI8MClyZXR1cm4tMTtpZihiPjAmJih0PT09MHx8ZCE9PTEpKXJldHVybi0xO2ZvcihVWzFdPTAsYz0xO2M8MTU7YysrKVVbYysxXT1VW2NdK0xbY107Zm9yKGw9MDtsPG87bCsrKWVbbitsXSE9PTAmJihzW1VbZVtuK2xdXSsrXT1sKTtpZih0PT09MD8oRD1BPXMsdj0yMCk6dD09PTE/KEQ9SlUsQT10Nix2PTI1Nyk6KEQ9ZTYsQT1uNix2PTApLE89MCxsPTAsYz1wLEk9aSxfPW0sZz0wLEM9LTEsVD0xPDxtLE49VC0xLHQ9PT0xJiZUPjg1Mnx8dD09PTImJlQ+NTkyKXJldHVybiAxO2Zvcig7Oyl7Uz1jLWcsc1tsXSsxPHY/KFA9MCxGPXNbbF0pOnNbbF0+PXY/KFA9QVtzW2xdLXZdLEY9RFtzW2xdLXZdKTooUD05NixGPTApLEU9MTw8Yy1nLHc9MTw8XyxwPXc7ZG8gdy09RSxyW0krKE8+PmcpK3ddPVM8PDI0fFA8PDE2fEZ8MDt3aGlsZSh3IT09MCk7Zm9yKEU9MTw8Yy0xO08mRTspRT4+PTE7aWYoRSE9PTA/KE8mPUUtMSxPKz1FKTpPPTAsbCsrLC0tTFtjXT09PTApe2lmKGM9PT1kKWJyZWFrO2M9ZVtuK3NbbF1dfWlmKGM+bSYmKE8mTikhPT1DKXtmb3IoZz09PTAmJihnPW0pLEkrPXAsXz1jLWcsYj0xPDxfO18rZzxkJiYoYi09TFtfK2ddLCEoYjw9MCkpOylfKyssYjw8PTE7aWYoVCs9MTw8Xyx0PT09MSYmVD44NTJ8fHQ9PT0yJiZUPjU5MilyZXR1cm4gMTtDPU8mTixyW0NdPW08PDI0fF88PDE2fEktaXwwfX1yZXR1cm4gTyE9PTAmJihyW0krT109Yy1nPDwyNHw2NDw8MTZ8MCksZi5iaXRzPW0sMH07UDIuZXhwb3J0cz1vNn0pO3ZhciBvbT1YbigoanV0LE4yKT0+eyJ1c2Ugc3RyaWN0IjtOMi5leHBvcnRzPXtaX05PX0ZMVVNIOjAsWl9QQVJUSUFMX0ZMVVNIOjEsWl9TWU5DX0ZMVVNIOjIsWl9GVUxMX0ZMVVNIOjMsWl9GSU5JU0g6NCxaX0JMT0NLOjUsWl9UUkVFUzo2LFpfT0s6MCxaX1NUUkVBTV9FTkQ6MSxaX05FRURfRElDVDoyLFpfRVJSTk86LTEsWl9TVFJFQU1fRVJST1I6LTIsWl9EQVRBX0VSUk9SOi0zLFpfTUVNX0VSUk9SOi00LFpfQlVGX0VSUk9SOi01LFpfTk9fQ09NUFJFU1NJT046MCxaX0JFU1RfU1BFRUQ6MSxaX0JFU1RfQ09NUFJFU1NJT046OSxaX0RFRkFVTFRfQ09NUFJFU1NJT046LTEsWl9GSUxURVJFRDoxLFpfSFVGRk1BTl9PTkxZOjIsWl9STEU6MyxaX0ZJWEVEOjQsWl9ERUZBVUxUX1NUUkFURUdZOjAsWl9CSU5BUlk6MCxaX1RFWFQ6MSxaX1VOS05PV046MixaX0RFRkxBVEVEOjh9fSk7dmFyIHBTPVhuKChIdXQsWXIpPT57InVzZSBzdHJpY3QiO3ZhciBMZz1FMigpLGdpPVMyKCkscjY9eDIoKSxwdT1NMigpLGk2PTAsb1M9MSxyUz0yLHtaX0ZJTklTSDpJMixaX0JMT0NLOnM2LFpfVFJFRVM6cm0sWl9PSzpTYyxaX1NUUkVBTV9FTkQ6YzYsWl9ORUVEX0RJQ1Q6YTYsWl9TVFJFQU1fRVJST1I6TXIsWl9EQVRBX0VSUk9SOmlTLFpfTUVNX0VSUk9SOkRnLFpfQlVGX0VSUk9SOmY2LFpfREVGTEFURUQ6djJ9PW9tKCksYW09MTYxODAsTDI9MTYxODEsRDI9MTYxODIsRjI9MTYxODMsQjI9MTYxODQsVTI9MTYxODUsVjI9MTYxODYsazI9MTYxODcsRzI9MTYxODgsejI9MTYxODksY209MTYxOTAsS2k9MTYxOTEsUGc9MTYxOTIsajI9MTYxOTMsTWc9MTYxOTQsSDI9MTYxOTUscTI9MTYxOTYsSzI9MTYxOTcsVzI9MTYxOTgsaW09MTYxOTksc209MTYyMDAsWDI9MTYyMDEsWTI9MTYyMDIsJDI9MTYyMDMsWjI9MTYyMDQsUTI9MTYyMDUsTmc9MTYyMDYsSjI9MTYyMDcsdFM9MTYyMDgsTW49MTYyMDksRmc9MTYyMTAsc1M9MTYyMTEsdTY9ODUyLGw2PTU5MixwNj0xNSxkNj1wNixlUz10PT4odD4+PjI0JjI1NSkrKHQ+Pj44JjY1MjgwKSsoKHQmNjUyODApPDw4KSsoKHQmMjU1KTw8MjQpO2Z1bmN0aW9uIG02KCl7dGhpcy5zdHJtPW51bGwsdGhpcy5tb2RlPTAsdGhpcy5sYXN0PSExLHRoaXMud3JhcD0wLHRoaXMuaGF2ZWRpY3Q9ITEsdGhpcy5mbGFncz0wLHRoaXMuZG1heD0wLHRoaXMuY2hlY2s9MCx0aGlzLnRvdGFsPTAsdGhpcy5oZWFkPW51bGwsdGhpcy53Yml0cz0wLHRoaXMud3NpemU9MCx0aGlzLndoYXZlPTAsdGhpcy53bmV4dD0wLHRoaXMud2luZG93PW51bGwsdGhpcy5ob2xkPTAsdGhpcy5iaXRzPTAsdGhpcy5sZW5ndGg9MCx0aGlzLm9mZnNldD0wLHRoaXMuZXh0cmE9MCx0aGlzLmxlbmNvZGU9bnVsbCx0aGlzLmRpc3Rjb2RlPW51bGwsdGhpcy5sZW5iaXRzPTAsdGhpcy5kaXN0Yml0cz0wLHRoaXMubmNvZGU9MCx0aGlzLm5sZW49MCx0aGlzLm5kaXN0PTAsdGhpcy5oYXZlPTAsdGhpcy5uZXh0PW51bGwsdGhpcy5sZW5zPW5ldyBVaW50MTZBcnJheSgzMjApLHRoaXMud29yaz1uZXcgVWludDE2QXJyYXkoMjg4KSx0aGlzLmxlbmR5bj1udWxsLHRoaXMuZGlzdGR5bj1udWxsLHRoaXMuc2FuZT0wLHRoaXMuYmFjaz0wLHRoaXMud2FzPTB9dmFyIENjPXQ9PntpZighdClyZXR1cm4gMTtsZXQgZT10LnN0YXRlO3JldHVybiFlfHxlLnN0cm0hPT10fHxlLm1vZGU8YW18fGUubW9kZT5zUz8xOjB9LGNTPXQ9PntpZihDYyh0KSlyZXR1cm4gTXI7bGV0IGU9dC5zdGF0ZTtyZXR1cm4gdC50b3RhbF9pbj10LnRvdGFsX291dD1lLnRvdGFsPTAsdC5tc2c9IiIsZS53cmFwJiYodC5hZGxlcj1lLndyYXAmMSksZS5tb2RlPWFtLGUubGFzdD0wLGUuaGF2ZWRpY3Q9MCxlLmZsYWdzPS0xLGUuZG1heD0zMjc2OCxlLmhlYWQ9bnVsbCxlLmhvbGQ9MCxlLmJpdHM9MCxlLmxlbmNvZGU9ZS5sZW5keW49bmV3IEludDMyQXJyYXkodTYpLGUuZGlzdGNvZGU9ZS5kaXN0ZHluPW5ldyBJbnQzMkFycmF5KGw2KSxlLnNhbmU9MSxlLmJhY2s9LTEsU2N9LGFTPXQ9PntpZihDYyh0KSlyZXR1cm4gTXI7bGV0IGU9dC5zdGF0ZTtyZXR1cm4gZS53c2l6ZT0wLGUud2hhdmU9MCxlLnduZXh0PTAsY1ModCl9LGZTPSh0LGUpPT57bGV0IG47aWYoQ2ModCkpcmV0dXJuIE1yO2xldCBvPXQuc3RhdGU7cmV0dXJuIGU8MD8obj0wLGU9LWUpOihuPShlPj40KSs1LGU8NDgmJihlJj0xNSkpLGUmJihlPDh8fGU+MTUpP01yOihvLndpbmRvdyE9PW51bGwmJm8ud2JpdHMhPT1lJiYoby53aW5kb3c9bnVsbCksby53cmFwPW4sby53Yml0cz1lLGFTKHQpKX0sdVM9KHQsZSk9PntpZighdClyZXR1cm4gTXI7bGV0IG49bmV3IG02O3Quc3RhdGU9bixuLnN0cm09dCxuLndpbmRvdz1udWxsLG4ubW9kZT1hbTtsZXQgbz1mUyh0LGUpO3JldHVybiBvIT09U2MmJih0LnN0YXRlPW51bGwpLG99LGg2PXQ9PnVTKHQsZDYpLG5TPSEwLElnLHZnLF82PXQ9PntpZihuUyl7SWc9bmV3IEludDMyQXJyYXkoNTEyKSx2Zz1uZXcgSW50MzJBcnJheSgzMik7bGV0IGU9MDtmb3IoO2U8MTQ0Oyl0LmxlbnNbZSsrXT04O2Zvcig7ZTwyNTY7KXQubGVuc1tlKytdPTk7Zm9yKDtlPDI4MDspdC5sZW5zW2UrK109Nztmb3IoO2U8Mjg4Oyl0LmxlbnNbZSsrXT04O2ZvcihwdShvUyx0LmxlbnMsMCwyODgsSWcsMCx0Lndvcmsse2JpdHM6OX0pLGU9MDtlPDMyOyl0LmxlbnNbZSsrXT01O3B1KHJTLHQubGVucywwLDMyLHZnLDAsdC53b3JrLHtiaXRzOjV9KSxuUz0hMX10LmxlbmNvZGU9SWcsdC5sZW5iaXRzPTksdC5kaXN0Y29kZT12Zyx0LmRpc3RiaXRzPTV9LGxTPSh0LGUsbixvKT0+e2xldCByLGk9dC5zdGF0ZTtyZXR1cm4gaS53aW5kb3c9PT1udWxsJiYoaS53c2l6ZT0xPDxpLndiaXRzLGkud25leHQ9MCxpLndoYXZlPTAsaS53aW5kb3c9bmV3IFVpbnQ4QXJyYXkoaS53c2l6ZSkpLG8+PWkud3NpemU/KGkud2luZG93LnNldChlLnN1YmFycmF5KG4taS53c2l6ZSxuKSwwKSxpLnduZXh0PTAsaS53aGF2ZT1pLndzaXplKToocj1pLndzaXplLWkud25leHQscj5vJiYocj1vKSxpLndpbmRvdy5zZXQoZS5zdWJhcnJheShuLW8sbi1vK3IpLGkud25leHQpLG8tPXIsbz8oaS53aW5kb3cuc2V0KGUuc3ViYXJyYXkobi1vLG4pLDApLGkud25leHQ9byxpLndoYXZlPWkud3NpemUpOihpLnduZXh0Kz1yLGkud25leHQ9PT1pLndzaXplJiYoaS53bmV4dD0wKSxpLndoYXZlPGkud3NpemUmJihpLndoYXZlKz1yKSkpLDB9LHk2PSh0LGUpPT57bGV0IG4sbyxyLGkscyxmLHUsYyxsLHAsZCxtLF8sZyxiPTAsVCxPLEUsdyxDLE4sSSxELHY9bmV3IFVpbnQ4QXJyYXkoNCksTCxVLEE9bmV3IFVpbnQ4QXJyYXkoWzE2LDE3LDE4LDAsOCw3LDksNiwxMCw1LDExLDQsMTIsMywxMywyLDE0LDEsMTVdKTtpZihDYyh0KXx8IXQub3V0cHV0fHwhdC5pbnB1dCYmdC5hdmFpbF9pbiE9PTApcmV0dXJuIE1yO249dC5zdGF0ZSxuLm1vZGU9PT1LaSYmKG4ubW9kZT1QZykscz10Lm5leHRfb3V0LHI9dC5vdXRwdXQsdT10LmF2YWlsX291dCxpPXQubmV4dF9pbixvPXQuaW5wdXQsZj10LmF2YWlsX2luLGM9bi5ob2xkLGw9bi5iaXRzLHA9ZixkPXUsRD1TYzt0OmZvcig7Oylzd2l0Y2gobi5tb2RlKXtjYXNlIGFtOmlmKG4ud3JhcD09PTApe24ubW9kZT1QZzticmVha31mb3IoO2w8MTY7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZihuLndyYXAmMiYmYz09PTM1NjE1KXtuLndiaXRzPT09MCYmKG4ud2JpdHM9MTUpLG4uY2hlY2s9MCx2WzBdPWMmMjU1LHZbMV09Yz4+PjgmMjU1LG4uY2hlY2s9Z2kobi5jaGVjayx2LDIsMCksYz0wLGw9MCxuLm1vZGU9TDI7YnJlYWt9aWYobi5oZWFkJiYobi5oZWFkLmRvbmU9ITEpLCEobi53cmFwJjEpfHwoKChjJjI1NSk8PDgpKyhjPj44KSklMzEpe3QubXNnPSJpbmNvcnJlY3QgaGVhZGVyIGNoZWNrIixuLm1vZGU9TW47YnJlYWt9aWYoKGMmMTUpIT09djIpe3QubXNnPSJ1bmtub3duIGNvbXByZXNzaW9uIG1ldGhvZCIsbi5tb2RlPU1uO2JyZWFrfWlmKGM+Pj49NCxsLT00LEk9KGMmMTUpKzgsbi53Yml0cz09PTAmJihuLndiaXRzPUkpLEk+MTV8fEk+bi53Yml0cyl7dC5tc2c9ImludmFsaWQgd2luZG93IHNpemUiLG4ubW9kZT1NbjticmVha31uLmRtYXg9MTw8bi53Yml0cyxuLmZsYWdzPTAsdC5hZGxlcj1uLmNoZWNrPTEsbi5tb2RlPWMmNTEyP3oyOktpLGM9MCxsPTA7YnJlYWs7Y2FzZSBMMjpmb3IoO2w8MTY7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZihuLmZsYWdzPWMsKG4uZmxhZ3MmMjU1KSE9PXYyKXt0Lm1zZz0idW5rbm93biBjb21wcmVzc2lvbiBtZXRob2QiLG4ubW9kZT1NbjticmVha31pZihuLmZsYWdzJjU3MzQ0KXt0Lm1zZz0idW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0IixuLm1vZGU9TW47YnJlYWt9bi5oZWFkJiYobi5oZWFkLnRleHQ9Yz4+OCYxKSxuLmZsYWdzJjUxMiYmbi53cmFwJjQmJih2WzBdPWMmMjU1LHZbMV09Yz4+PjgmMjU1LG4uY2hlY2s9Z2kobi5jaGVjayx2LDIsMCkpLGM9MCxsPTAsbi5tb2RlPUQyO2Nhc2UgRDI6Zm9yKDtsPDMyOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9bi5oZWFkJiYobi5oZWFkLnRpbWU9Yyksbi5mbGFncyY1MTImJm4ud3JhcCY0JiYodlswXT1jJjI1NSx2WzFdPWM+Pj44JjI1NSx2WzJdPWM+Pj4xNiYyNTUsdlszXT1jPj4+MjQmMjU1LG4uY2hlY2s9Z2kobi5jaGVjayx2LDQsMCkpLGM9MCxsPTAsbi5tb2RlPUYyO2Nhc2UgRjI6Zm9yKDtsPDE2Oyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9bi5oZWFkJiYobi5oZWFkLnhmbGFncz1jJjI1NSxuLmhlYWQub3M9Yz4+OCksbi5mbGFncyY1MTImJm4ud3JhcCY0JiYodlswXT1jJjI1NSx2WzFdPWM+Pj44JjI1NSxuLmNoZWNrPWdpKG4uY2hlY2ssdiwyLDApKSxjPTAsbD0wLG4ubW9kZT1CMjtjYXNlIEIyOmlmKG4uZmxhZ3MmMTAyNCl7Zm9yKDtsPDE2Oyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9bi5sZW5ndGg9YyxuLmhlYWQmJihuLmhlYWQuZXh0cmFfbGVuPWMpLG4uZmxhZ3MmNTEyJiZuLndyYXAmNCYmKHZbMF09YyYyNTUsdlsxXT1jPj4+OCYyNTUsbi5jaGVjaz1naShuLmNoZWNrLHYsMiwwKSksYz0wLGw9MH1lbHNlIG4uaGVhZCYmKG4uaGVhZC5leHRyYT1udWxsKTtuLm1vZGU9VTI7Y2FzZSBVMjppZihuLmZsYWdzJjEwMjQmJihtPW4ubGVuZ3RoLG0+ZiYmKG09ZiksbSYmKG4uaGVhZCYmKEk9bi5oZWFkLmV4dHJhX2xlbi1uLmxlbmd0aCxuLmhlYWQuZXh0cmF8fChuLmhlYWQuZXh0cmE9bmV3IFVpbnQ4QXJyYXkobi5oZWFkLmV4dHJhX2xlbikpLG4uaGVhZC5leHRyYS5zZXQoby5zdWJhcnJheShpLGkrbSksSSkpLG4uZmxhZ3MmNTEyJiZuLndyYXAmNCYmKG4uY2hlY2s9Z2kobi5jaGVjayxvLG0saSkpLGYtPW0saSs9bSxuLmxlbmd0aC09bSksbi5sZW5ndGgpKWJyZWFrIHQ7bi5sZW5ndGg9MCxuLm1vZGU9VjI7Y2FzZSBWMjppZihuLmZsYWdzJjIwNDgpe2lmKGY9PT0wKWJyZWFrIHQ7bT0wO2RvIEk9b1tpK20rK10sbi5oZWFkJiZJJiZuLmxlbmd0aDw2NTUzNiYmKG4uaGVhZC5uYW1lKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEkpKTt3aGlsZShJJiZtPGYpO2lmKG4uZmxhZ3MmNTEyJiZuLndyYXAmNCYmKG4uY2hlY2s9Z2kobi5jaGVjayxvLG0saSkpLGYtPW0saSs9bSxJKWJyZWFrIHR9ZWxzZSBuLmhlYWQmJihuLmhlYWQubmFtZT1udWxsKTtuLmxlbmd0aD0wLG4ubW9kZT1rMjtjYXNlIGsyOmlmKG4uZmxhZ3MmNDA5Nil7aWYoZj09PTApYnJlYWsgdDttPTA7ZG8gST1vW2krbSsrXSxuLmhlYWQmJkkmJm4ubGVuZ3RoPDY1NTM2JiYobi5oZWFkLmNvbW1lbnQrPVN0cmluZy5mcm9tQ2hhckNvZGUoSSkpO3doaWxlKEkmJm08Zik7aWYobi5mbGFncyY1MTImJm4ud3JhcCY0JiYobi5jaGVjaz1naShuLmNoZWNrLG8sbSxpKSksZi09bSxpKz1tLEkpYnJlYWsgdH1lbHNlIG4uaGVhZCYmKG4uaGVhZC5jb21tZW50PW51bGwpO24ubW9kZT1HMjtjYXNlIEcyOmlmKG4uZmxhZ3MmNTEyKXtmb3IoO2w8MTY7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZihuLndyYXAmNCYmYyE9PShuLmNoZWNrJjY1NTM1KSl7dC5tc2c9ImhlYWRlciBjcmMgbWlzbWF0Y2giLG4ubW9kZT1NbjticmVha31jPTAsbD0wfW4uaGVhZCYmKG4uaGVhZC5oY3JjPW4uZmxhZ3M+PjkmMSxuLmhlYWQuZG9uZT0hMCksdC5hZGxlcj1uLmNoZWNrPTAsbi5tb2RlPUtpO2JyZWFrO2Nhc2UgejI6Zm9yKDtsPDMyOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9dC5hZGxlcj1uLmNoZWNrPWVTKGMpLGM9MCxsPTAsbi5tb2RlPWNtO2Nhc2UgY206aWYobi5oYXZlZGljdD09PTApcmV0dXJuIHQubmV4dF9vdXQ9cyx0LmF2YWlsX291dD11LHQubmV4dF9pbj1pLHQuYXZhaWxfaW49ZixuLmhvbGQ9YyxuLmJpdHM9bCxhNjt0LmFkbGVyPW4uY2hlY2s9MSxuLm1vZGU9S2k7Y2FzZSBLaTppZihlPT09czZ8fGU9PT1ybSlicmVhayB0O2Nhc2UgUGc6aWYobi5sYXN0KXtjPj4+PWwmNyxsLT1sJjcsbi5tb2RlPU5nO2JyZWFrfWZvcig7bDwzOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9c3dpdGNoKG4ubGFzdD1jJjEsYz4+Pj0xLGwtPTEsYyYzKXtjYXNlIDA6bi5tb2RlPWoyO2JyZWFrO2Nhc2UgMTppZihfNihuKSxuLm1vZGU9aW0sZT09PXJtKXtjPj4+PTIsbC09MjticmVhayB0fWJyZWFrO2Nhc2UgMjpuLm1vZGU9cTI7YnJlYWs7Y2FzZSAzOnQubXNnPSJpbnZhbGlkIGJsb2NrIHR5cGUiLG4ubW9kZT1Nbn1jPj4+PTIsbC09MjticmVhaztjYXNlIGoyOmZvcihjPj4+PWwmNyxsLT1sJjc7bDwzMjspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWlmKChjJjY1NTM1KSE9PShjPj4+MTZeNjU1MzUpKXt0Lm1zZz0iaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocyIsbi5tb2RlPU1uO2JyZWFrfWlmKG4ubGVuZ3RoPWMmNjU1MzUsYz0wLGw9MCxuLm1vZGU9TWcsZT09PXJtKWJyZWFrIHQ7Y2FzZSBNZzpuLm1vZGU9SDI7Y2FzZSBIMjppZihtPW4ubGVuZ3RoLG0pe2lmKG0+ZiYmKG09ZiksbT51JiYobT11KSxtPT09MClicmVhayB0O3Iuc2V0KG8uc3ViYXJyYXkoaSxpK20pLHMpLGYtPW0saSs9bSx1LT1tLHMrPW0sbi5sZW5ndGgtPW07YnJlYWt9bi5tb2RlPUtpO2JyZWFrO2Nhc2UgcTI6Zm9yKDtsPDE0Oyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9aWYobi5ubGVuPShjJjMxKSsyNTcsYz4+Pj01LGwtPTUsbi5uZGlzdD0oYyYzMSkrMSxjPj4+PTUsbC09NSxuLm5jb2RlPShjJjE1KSs0LGM+Pj49NCxsLT00LG4ubmxlbj4yODZ8fG4ubmRpc3Q+MzApe3QubXNnPSJ0b28gbWFueSBsZW5ndGggb3IgZGlzdGFuY2Ugc3ltYm9scyIsbi5tb2RlPU1uO2JyZWFrfW4uaGF2ZT0wLG4ubW9kZT1LMjtjYXNlIEsyOmZvcig7bi5oYXZlPG4ubmNvZGU7KXtmb3IoO2w8Mzspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fW4ubGVuc1tBW24uaGF2ZSsrXV09YyY3LGM+Pj49MyxsLT0zfWZvcig7bi5oYXZlPDE5OyluLmxlbnNbQVtuLmhhdmUrK11dPTA7aWYobi5sZW5jb2RlPW4ubGVuZHluLG4ubGVuYml0cz03LEw9e2JpdHM6bi5sZW5iaXRzfSxEPXB1KGk2LG4ubGVucywwLDE5LG4ubGVuY29kZSwwLG4ud29yayxMKSxuLmxlbmJpdHM9TC5iaXRzLEQpe3QubXNnPSJpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQiLG4ubW9kZT1NbjticmVha31uLmhhdmU9MCxuLm1vZGU9VzI7Y2FzZSBXMjpmb3IoO24uaGF2ZTxuLm5sZW4rbi5uZGlzdDspe2Zvcig7Yj1uLmxlbmNvZGVbYyYoMTw8bi5sZW5iaXRzKS0xXSxUPWI+Pj4yNCxPPWI+Pj4xNiYyNTUsRT1iJjY1NTM1LCEoVDw9bCk7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZihFPDE2KWM+Pj49VCxsLT1ULG4ubGVuc1tuLmhhdmUrK109RTtlbHNle2lmKEU9PT0xNil7Zm9yKFU9VCsyO2w8VTspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWlmKGM+Pj49VCxsLT1ULG4uaGF2ZT09PTApe3QubXNnPSJpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0IixuLm1vZGU9TW47YnJlYWt9ST1uLmxlbnNbbi5oYXZlLTFdLG09MysoYyYzKSxjPj4+PTIsbC09Mn1lbHNlIGlmKEU9PT0xNyl7Zm9yKFU9VCszO2w8VTspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWM+Pj49VCxsLT1ULEk9MCxtPTMrKGMmNyksYz4+Pj0zLGwtPTN9ZWxzZXtmb3IoVT1UKzc7bDxVOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9Yz4+Pj1ULGwtPVQsST0wLG09MTErKGMmMTI3KSxjPj4+PTcsbC09N31pZihuLmhhdmUrbT5uLm5sZW4rbi5uZGlzdCl7dC5tc2c9ImludmFsaWQgYml0IGxlbmd0aCByZXBlYXQiLG4ubW9kZT1NbjticmVha31mb3IoO20tLTspbi5sZW5zW24uaGF2ZSsrXT1JfX1pZihuLm1vZGU9PT1NbilicmVhaztpZihuLmxlbnNbMjU2XT09PTApe3QubXNnPSJpbnZhbGlkIGNvZGUgLS0gbWlzc2luZyBlbmQtb2YtYmxvY2siLG4ubW9kZT1NbjticmVha31pZihuLmxlbmJpdHM9OSxMPXtiaXRzOm4ubGVuYml0c30sRD1wdShvUyxuLmxlbnMsMCxuLm5sZW4sbi5sZW5jb2RlLDAsbi53b3JrLEwpLG4ubGVuYml0cz1MLmJpdHMsRCl7dC5tc2c9ImludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldCIsbi5tb2RlPU1uO2JyZWFrfWlmKG4uZGlzdGJpdHM9NixuLmRpc3Rjb2RlPW4uZGlzdGR5bixMPXtiaXRzOm4uZGlzdGJpdHN9LEQ9cHUoclMsbi5sZW5zLG4ubmxlbixuLm5kaXN0LG4uZGlzdGNvZGUsMCxuLndvcmssTCksbi5kaXN0Yml0cz1MLmJpdHMsRCl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2VzIHNldCIsbi5tb2RlPU1uO2JyZWFrfWlmKG4ubW9kZT1pbSxlPT09cm0pYnJlYWsgdDtjYXNlIGltOm4ubW9kZT1zbTtjYXNlIHNtOmlmKGY+PTYmJnU+PTI1OCl7dC5uZXh0X291dD1zLHQuYXZhaWxfb3V0PXUsdC5uZXh0X2luPWksdC5hdmFpbF9pbj1mLG4uaG9sZD1jLG4uYml0cz1sLHI2KHQsZCkscz10Lm5leHRfb3V0LHI9dC5vdXRwdXQsdT10LmF2YWlsX291dCxpPXQubmV4dF9pbixvPXQuaW5wdXQsZj10LmF2YWlsX2luLGM9bi5ob2xkLGw9bi5iaXRzLG4ubW9kZT09PUtpJiYobi5iYWNrPS0xKTticmVha31mb3Iobi5iYWNrPTA7Yj1uLmxlbmNvZGVbYyYoMTw8bi5sZW5iaXRzKS0xXSxUPWI+Pj4yNCxPPWI+Pj4xNiYyNTUsRT1iJjY1NTM1LCEoVDw9bCk7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1pZihPJiYhKE8mMjQwKSl7Zm9yKHc9VCxDPU8sTj1FO2I9bi5sZW5jb2RlW04rKChjJigxPDx3K0MpLTEpPj53KV0sVD1iPj4+MjQsTz1iPj4+MTYmMjU1LEU9YiY2NTUzNSwhKHcrVDw9bCk7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1jPj4+PXcsbC09dyxuLmJhY2srPXd9aWYoYz4+Pj1ULGwtPVQsbi5iYWNrKz1ULG4ubGVuZ3RoPUUsTz09PTApe24ubW9kZT1RMjticmVha31pZihPJjMyKXtuLmJhY2s9LTEsbi5tb2RlPUtpO2JyZWFrfWlmKE8mNjQpe3QubXNnPSJpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUiLG4ubW9kZT1NbjticmVha31uLmV4dHJhPU8mMTUsbi5tb2RlPVgyO2Nhc2UgWDI6aWYobi5leHRyYSl7Zm9yKFU9bi5leHRyYTtsPFU7KXtpZihmPT09MClicmVhayB0O2YtLSxjKz1vW2krK108PGwsbCs9OH1uLmxlbmd0aCs9YyYoMTw8bi5leHRyYSktMSxjPj4+PW4uZXh0cmEsbC09bi5leHRyYSxuLmJhY2srPW4uZXh0cmF9bi53YXM9bi5sZW5ndGgsbi5tb2RlPVkyO2Nhc2UgWTI6Zm9yKDtiPW4uZGlzdGNvZGVbYyYoMTw8bi5kaXN0Yml0cyktMV0sVD1iPj4+MjQsTz1iPj4+MTYmMjU1LEU9YiY2NTUzNSwhKFQ8PWwpOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9aWYoIShPJjI0MCkpe2Zvcih3PVQsQz1PLE49RTtiPW4uZGlzdGNvZGVbTisoKGMmKDE8PHcrQyktMSk+PncpXSxUPWI+Pj4yNCxPPWI+Pj4xNiYyNTUsRT1iJjY1NTM1LCEodytUPD1sKTspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWM+Pj49dyxsLT13LG4uYmFjays9d31pZihjPj4+PVQsbC09VCxuLmJhY2srPVQsTyY2NCl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2UgY29kZSIsbi5tb2RlPU1uO2JyZWFrfW4ub2Zmc2V0PUUsbi5leHRyYT1PJjE1LG4ubW9kZT0kMjtjYXNlICQyOmlmKG4uZXh0cmEpe2ZvcihVPW4uZXh0cmE7bDxVOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sYys9b1tpKytdPDxsLGwrPTh9bi5vZmZzZXQrPWMmKDE8PG4uZXh0cmEpLTEsYz4+Pj1uLmV4dHJhLGwtPW4uZXh0cmEsbi5iYWNrKz1uLmV4dHJhfWlmKG4ub2Zmc2V0Pm4uZG1heCl7dC5tc2c9ImludmFsaWQgZGlzdGFuY2UgdG9vIGZhciBiYWNrIixuLm1vZGU9TW47YnJlYWt9bi5tb2RlPVoyO2Nhc2UgWjI6aWYodT09PTApYnJlYWsgdDtpZihtPWQtdSxuLm9mZnNldD5tKXtpZihtPW4ub2Zmc2V0LW0sbT5uLndoYXZlJiZuLnNhbmUpe3QubXNnPSJpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjayIsbi5tb2RlPU1uO2JyZWFrfW0+bi53bmV4dD8obS09bi53bmV4dCxfPW4ud3NpemUtbSk6Xz1uLnduZXh0LW0sbT5uLmxlbmd0aCYmKG09bi5sZW5ndGgpLGc9bi53aW5kb3d9ZWxzZSBnPXIsXz1zLW4ub2Zmc2V0LG09bi5sZW5ndGg7bT51JiYobT11KSx1LT1tLG4ubGVuZ3RoLT1tO2RvIHJbcysrXT1nW18rK107d2hpbGUoLS1tKTtuLmxlbmd0aD09PTAmJihuLm1vZGU9c20pO2JyZWFrO2Nhc2UgUTI6aWYodT09PTApYnJlYWsgdDtyW3MrK109bi5sZW5ndGgsdS0tLG4ubW9kZT1zbTticmVhaztjYXNlIE5nOmlmKG4ud3JhcCl7Zm9yKDtsPDMyOyl7aWYoZj09PTApYnJlYWsgdDtmLS0sY3w9b1tpKytdPDxsLGwrPTh9aWYoZC09dSx0LnRvdGFsX291dCs9ZCxuLnRvdGFsKz1kLG4ud3JhcCY0JiZkJiYodC5hZGxlcj1uLmNoZWNrPW4uZmxhZ3M/Z2kobi5jaGVjayxyLGQscy1kKTpMZyhuLmNoZWNrLHIsZCxzLWQpKSxkPXUsbi53cmFwJjQmJihuLmZsYWdzP2M6ZVMoYykpIT09bi5jaGVjayl7dC5tc2c9ImluY29ycmVjdCBkYXRhIGNoZWNrIixuLm1vZGU9TW47YnJlYWt9Yz0wLGw9MH1uLm1vZGU9SjI7Y2FzZSBKMjppZihuLndyYXAmJm4uZmxhZ3Mpe2Zvcig7bDwzMjspe2lmKGY9PT0wKWJyZWFrIHQ7Zi0tLGMrPW9baSsrXTw8bCxsKz04fWlmKG4ud3JhcCY0JiZjIT09KG4udG90YWwmNDI5NDk2NzI5NSkpe3QubXNnPSJpbmNvcnJlY3QgbGVuZ3RoIGNoZWNrIixuLm1vZGU9TW47YnJlYWt9Yz0wLGw9MH1uLm1vZGU9dFM7Y2FzZSB0UzpEPWM2O2JyZWFrIHQ7Y2FzZSBNbjpEPWlTO2JyZWFrIHQ7Y2FzZSBGZzpyZXR1cm4gRGc7Y2FzZSBzUzpkZWZhdWx0OnJldHVybiBNcn1yZXR1cm4gdC5uZXh0X291dD1zLHQuYXZhaWxfb3V0PXUsdC5uZXh0X2luPWksdC5hdmFpbF9pbj1mLG4uaG9sZD1jLG4uYml0cz1sLChuLndzaXplfHxkIT09dC5hdmFpbF9vdXQmJm4ubW9kZTxNbiYmKG4ubW9kZTxOZ3x8ZSE9PUkyKSkmJmxTKHQsdC5vdXRwdXQsdC5uZXh0X291dCxkLXQuYXZhaWxfb3V0KT8obi5tb2RlPUZnLERnKToocC09dC5hdmFpbF9pbixkLT10LmF2YWlsX291dCx0LnRvdGFsX2luKz1wLHQudG90YWxfb3V0Kz1kLG4udG90YWwrPWQsbi53cmFwJjQmJmQmJih0LmFkbGVyPW4uY2hlY2s9bi5mbGFncz9naShuLmNoZWNrLHIsZCx0Lm5leHRfb3V0LWQpOkxnKG4uY2hlY2sscixkLHQubmV4dF9vdXQtZCkpLHQuZGF0YV90eXBlPW4uYml0cysobi5sYXN0PzY0OjApKyhuLm1vZGU9PT1LaT8xMjg6MCkrKG4ubW9kZT09PWltfHxuLm1vZGU9PT1NZz8yNTY6MCksKHA9PT0wJiZkPT09MHx8ZT09PUkyKSYmRD09PVNjJiYoRD1mNiksRCl9LGc2PXQ9PntpZihDYyh0KSlyZXR1cm4gTXI7bGV0IGU9dC5zdGF0ZTtyZXR1cm4gZS53aW5kb3cmJihlLndpbmRvdz1udWxsKSx0LnN0YXRlPW51bGwsU2N9LEE2PSh0LGUpPT57aWYoQ2ModCkpcmV0dXJuIE1yO2xldCBuPXQuc3RhdGU7cmV0dXJuIG4ud3JhcCYyPyhuLmhlYWQ9ZSxlLmRvbmU9ITEsU2MpOk1yfSxiNj0odCxlKT0+e2xldCBuPWUubGVuZ3RoLG8scixpO3JldHVybiBDYyh0KXx8KG89dC5zdGF0ZSxvLndyYXAhPT0wJiZvLm1vZGUhPT1jbSk/TXI6by5tb2RlPT09Y20mJihyPTEscj1MZyhyLGUsbiwwKSxyIT09by5jaGVjayk/aVM6KGk9bFModCxlLG4sbiksaT8oby5tb2RlPUZnLERnKTooby5oYXZlZGljdD0xLFNjKSl9O1lyLmV4cG9ydHMuaW5mbGF0ZVJlc2V0PWFTO1lyLmV4cG9ydHMuaW5mbGF0ZVJlc2V0Mj1mUztZci5leHBvcnRzLmluZmxhdGVSZXNldEtlZXA9Y1M7WXIuZXhwb3J0cy5pbmZsYXRlSW5pdD1oNjtZci5leHBvcnRzLmluZmxhdGVJbml0Mj11UztZci5leHBvcnRzLmluZmxhdGU9eTY7WXIuZXhwb3J0cy5pbmZsYXRlRW5kPWc2O1lyLmV4cG9ydHMuaW5mbGF0ZUdldEhlYWRlcj1BNjtZci5leHBvcnRzLmluZmxhdGVTZXREaWN0aW9uYXJ5PWI2O1lyLmV4cG9ydHMuaW5mbGF0ZUluZm89InBha28gaW5mbGF0ZSAoZnJvbSBOb2RlY2EgcHJvamVjdCkifSk7dmFyIGRTPVhuKChxdXQsQmcpPT57InVzZSBzdHJpY3QiO3ZhciBUNj0odCxlKT0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsZSk7QmcuZXhwb3J0cy5hc3NpZ249ZnVuY3Rpb24odCl7bGV0IGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpO2Zvcig7ZS5sZW5ndGg7KXtsZXQgbj1lLnNoaWZ0KCk7aWYobil7aWYodHlwZW9mIG4hPSJvYmplY3QiKXRocm93IG5ldyBUeXBlRXJyb3IobisibXVzdCBiZSBub24tb2JqZWN0Iik7Zm9yKGxldCBvIGluIG4pVDYobixvKSYmKHRbb109bltvXSl9fXJldHVybiB0fTtCZy5leHBvcnRzLmZsYXR0ZW5DaHVua3M9dD0+e2xldCBlPTA7Zm9yKGxldCBvPTAscj10Lmxlbmd0aDtvPHI7bysrKWUrPXRbb10ubGVuZ3RoO2xldCBuPW5ldyBVaW50OEFycmF5KGUpO2ZvcihsZXQgbz0wLHI9MCxpPXQubGVuZ3RoO288aTtvKyspe2xldCBzPXRbb107bi5zZXQocyxyKSxyKz1zLmxlbmd0aH1yZXR1cm4gbn19KTt2YXIgaFM9WG4oKEt1dCxmbSk9PnsidXNlIHN0cmljdCI7dmFyIG1TPSEwO3RyeXtTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsbmV3IFVpbnQ4QXJyYXkoMSkpfWNhdGNoe21TPSExfXZhciBkdT1uZXcgVWludDhBcnJheSgyNTYpO2ZvcihsZXQgdD0wO3Q8MjU2O3QrKylkdVt0XT10Pj0yNTI/Njp0Pj0yNDg/NTp0Pj0yNDA/NDp0Pj0yMjQ/Mzp0Pj0xOTI/MjoxO2R1WzI1NF09ZHVbMjU0XT0xO2ZtLmV4cG9ydHMuc3RyaW5nMmJ1Zj10PT57aWYodHlwZW9mIFRleHRFbmNvZGVyPT0iZnVuY3Rpb24iJiZUZXh0RW5jb2Rlci5wcm90b3R5cGUuZW5jb2RlKXJldHVybiBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUodCk7bGV0IGUsbixvLHIsaSxzPXQubGVuZ3RoLGY9MDtmb3Iocj0wO3I8cztyKyspbj10LmNoYXJDb2RlQXQociksKG4mNjQ1MTIpPT09NTUyOTYmJnIrMTxzJiYobz10LmNoYXJDb2RlQXQocisxKSwobyY2NDUxMik9PT01NjMyMCYmKG49NjU1MzYrKG4tNTUyOTY8PDEwKSsoby01NjMyMCkscisrKSksZis9bjwxMjg/MTpuPDIwNDg/MjpuPDY1NTM2PzM6NDtmb3IoZT1uZXcgVWludDhBcnJheShmKSxpPTAscj0wO2k8ZjtyKyspbj10LmNoYXJDb2RlQXQociksKG4mNjQ1MTIpPT09NTUyOTYmJnIrMTxzJiYobz10LmNoYXJDb2RlQXQocisxKSwobyY2NDUxMik9PT01NjMyMCYmKG49NjU1MzYrKG4tNTUyOTY8PDEwKSsoby01NjMyMCkscisrKSksbjwxMjg/ZVtpKytdPW46bjwyMDQ4PyhlW2krK109MTkyfG4+Pj42LGVbaSsrXT0xMjh8biY2Myk6bjw2NTUzNj8oZVtpKytdPTIyNHxuPj4+MTIsZVtpKytdPTEyOHxuPj4+NiY2MyxlW2krK109MTI4fG4mNjMpOihlW2krK109MjQwfG4+Pj4xOCxlW2krK109MTI4fG4+Pj4xMiY2MyxlW2krK109MTI4fG4+Pj42JjYzLGVbaSsrXT0xMjh8biY2Myk7cmV0dXJuIGV9O3ZhciB3Nj0odCxlKT0+e2lmKGU8NjU1MzQmJnQuc3ViYXJyYXkmJm1TKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlLmFwcGx5KG51bGwsdC5sZW5ndGg9PT1lP3Q6dC5zdWJhcnJheSgwLGUpKTtsZXQgbj0iIjtmb3IobGV0IG89MDtvPGU7bysrKW4rPVN0cmluZy5mcm9tQ2hhckNvZGUodFtvXSk7cmV0dXJuIG59O2ZtLmV4cG9ydHMuYnVmMnN0cmluZz0odCxlKT0+e2xldCBuPWV8fHQubGVuZ3RoO2lmKHR5cGVvZiBUZXh0RGVjb2Rlcj09ImZ1bmN0aW9uIiYmVGV4dERlY29kZXIucHJvdG90eXBlLmRlY29kZSlyZXR1cm4gbmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKHQuc3ViYXJyYXkoMCxlKSk7bGV0IG8scixpPW5ldyBBcnJheShuKjIpO2ZvcihyPTAsbz0wO288bjspe2xldCBzPXRbbysrXTtpZihzPDEyOCl7aVtyKytdPXM7Y29udGludWV9bGV0IGY9ZHVbc107aWYoZj40KXtpW3IrK109NjU1MzMsbys9Zi0xO2NvbnRpbnVlfWZvcihzJj1mPT09Mj8zMTpmPT09Mz8xNTo3O2Y+MSYmbzxuOylzPXM8PDZ8dFtvKytdJjYzLGYtLTtpZihmPjEpe2lbcisrXT02NTUzMztjb250aW51ZX1zPDY1NTM2P2lbcisrXT1zOihzLT02NTUzNixpW3IrK109NTUyOTZ8cz4+MTAmMTAyMyxpW3IrK109NTYzMjB8cyYxMDIzKX1yZXR1cm4gdzYoaSxyKX07Zm0uZXhwb3J0cy51dGY4Ym9yZGVyPSh0LGUpPT57ZT1lfHx0Lmxlbmd0aCxlPnQubGVuZ3RoJiYoZT10Lmxlbmd0aCk7bGV0IG49ZS0xO2Zvcig7bj49MCYmKHRbbl0mMTkyKT09PTEyODspbi0tO3JldHVybiBuPDB8fG49PT0wP2U6bitkdVt0W25dXT5lP246ZX19KTt2YXIgeVM9WG4oKFd1dCxfUyk9PnsidXNlIHN0cmljdCI7X1MuZXhwb3J0cz17MjoibmVlZCBkaWN0aW9uYXJ5IiwxOiJzdHJlYW0gZW5kIiwwOiIiLCItMSI6ImZpbGUgZXJyb3IiLCItMiI6InN0cmVhbSBlcnJvciIsIi0zIjoiZGF0YSBlcnJvciIsIi00IjoiaW5zdWZmaWNpZW50IG1lbW9yeSIsIi01IjoiYnVmZmVyIGVycm9yIiwiLTYiOiJpbmNvbXBhdGlibGUgdmVyc2lvbiJ9fSk7dmFyIEFTPVhuKChYdXQsZ1MpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIE82KCl7dGhpcy5pbnB1dD1udWxsLHRoaXMubmV4dF9pbj0wLHRoaXMuYXZhaWxfaW49MCx0aGlzLnRvdGFsX2luPTAsdGhpcy5vdXRwdXQ9bnVsbCx0aGlzLm5leHRfb3V0PTAsdGhpcy5hdmFpbF9vdXQ9MCx0aGlzLnRvdGFsX291dD0wLHRoaXMubXNnPSIiLHRoaXMuc3RhdGU9bnVsbCx0aGlzLmRhdGFfdHlwZT0yLHRoaXMuYWRsZXI9MH1nUy5leHBvcnRzPU82fSk7dmFyIFRTPVhuKChZdXQsYlMpPT57InVzZSBzdHJpY3QiO2Z1bmN0aW9uIEU2KCl7dGhpcy50ZXh0PTAsdGhpcy50aW1lPTAsdGhpcy54ZmxhZ3M9MCx0aGlzLm9zPTAsdGhpcy5leHRyYT1udWxsLHRoaXMuZXh0cmFfbGVuPTAsdGhpcy5uYW1lPSIiLHRoaXMuY29tbWVudD0iIix0aGlzLmhjcmM9MCx0aGlzLmRvbmU9ITF9YlMuZXhwb3J0cz1FNn0pO3ZhciBSUz1YbigoJHV0LGthKT0+eyJ1c2Ugc3RyaWN0Ijt2YXIgV2k9cFMoKSxPUz1kUygpLGtnPWhTKCksR2c9eVMoKSxSNj1BUygpLFM2PVRTKCksRVM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZyx7Wl9OT19GTFVTSDpDNixaX0ZJTklTSDp4NixaX09LOm11LFpfU1RSRUFNX0VORDpVZyxaX05FRURfRElDVDpWZyxaX1NUUkVBTV9FUlJPUjpQNixaX0RBVEFfRVJST1I6d1MsWl9NRU1fRVJST1I6TTZ9PW9tKCk7ZnVuY3Rpb24gaHUodCl7dGhpcy5vcHRpb25zPU9TLmFzc2lnbih7Y2h1bmtTaXplOjEwMjQqNjQsd2luZG93Qml0czoxNSx0bzoiIn0sdHx8e30pO2xldCBlPXRoaXMub3B0aW9ucztlLnJhdyYmZS53aW5kb3dCaXRzPj0wJiZlLndpbmRvd0JpdHM8MTYmJihlLndpbmRvd0JpdHM9LWUud2luZG93Qml0cyxlLndpbmRvd0JpdHM9PT0wJiYoZS53aW5kb3dCaXRzPS0xNSkpLGUud2luZG93Qml0cz49MCYmZS53aW5kb3dCaXRzPDE2JiYhKHQmJnQud2luZG93Qml0cykmJihlLndpbmRvd0JpdHMrPTMyKSxlLndpbmRvd0JpdHM+MTUmJmUud2luZG93Qml0czw0OCYmKGUud2luZG93Qml0cyYxNXx8KGUud2luZG93Qml0c3w9MTUpKSx0aGlzLmVycj0wLHRoaXMubXNnPSIiLHRoaXMuZW5kZWQ9ITEsdGhpcy5jaHVua3M9W10sdGhpcy5zdHJtPW5ldyBSNix0aGlzLnN0cm0uYXZhaWxfb3V0PTA7bGV0IG49V2kuaW5mbGF0ZUluaXQyKHRoaXMuc3RybSxlLndpbmRvd0JpdHMpO2lmKG4hPT1tdSl0aHJvdyBuZXcgRXJyb3IoR2dbbl0pO2lmKHRoaXMuaGVhZGVyPW5ldyBTNixXaS5pbmZsYXRlR2V0SGVhZGVyKHRoaXMuc3RybSx0aGlzLmhlYWRlciksZS5kaWN0aW9uYXJ5JiYodHlwZW9mIGUuZGljdGlvbmFyeT09InN0cmluZyI/ZS5kaWN0aW9uYXJ5PWtnLnN0cmluZzJidWYoZS5kaWN0aW9uYXJ5KTpFUy5jYWxsKGUuZGljdGlvbmFyeSk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iJiYoZS5kaWN0aW9uYXJ5PW5ldyBVaW50OEFycmF5KGUuZGljdGlvbmFyeSkpLGUucmF3JiYobj1XaS5pbmZsYXRlU2V0RGljdGlvbmFyeSh0aGlzLnN0cm0sZS5kaWN0aW9uYXJ5KSxuIT09bXUpKSl0aHJvdyBuZXcgRXJyb3IoR2dbbl0pfWh1LnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQsZSl7bGV0IG49dGhpcy5zdHJtLG89dGhpcy5vcHRpb25zLmNodW5rU2l6ZSxyPXRoaXMub3B0aW9ucy5kaWN0aW9uYXJ5LGkscyxmO2lmKHRoaXMuZW5kZWQpcmV0dXJuITE7Zm9yKGU9PT1+fmU/cz1lOnM9ZT09PSEwP3g2OkM2LEVTLmNhbGwodCk9PT0iW29iamVjdCBBcnJheUJ1ZmZlcl0iP24uaW5wdXQ9bmV3IFVpbnQ4QXJyYXkodCk6bi5pbnB1dD10LG4ubmV4dF9pbj0wLG4uYXZhaWxfaW49bi5pbnB1dC5sZW5ndGg7Oyl7Zm9yKG4uYXZhaWxfb3V0PT09MCYmKG4ub3V0cHV0PW5ldyBVaW50OEFycmF5KG8pLG4ubmV4dF9vdXQ9MCxuLmF2YWlsX291dD1vKSxpPVdpLmluZmxhdGUobixzKSxpPT09VmcmJnImJihpPVdpLmluZmxhdGVTZXREaWN0aW9uYXJ5KG4sciksaT09PW11P2k9V2kuaW5mbGF0ZShuLHMpOmk9PT13UyYmKGk9VmcpKTtuLmF2YWlsX2luPjAmJmk9PT1VZyYmbi5zdGF0ZS53cmFwPjAmJnRbbi5uZXh0X2luXSE9PTA7KVdpLmluZmxhdGVSZXNldChuKSxpPVdpLmluZmxhdGUobixzKTtzd2l0Y2goaSl7Y2FzZSBQNjpjYXNlIHdTOmNhc2UgVmc6Y2FzZSBNNjpyZXR1cm4gdGhpcy5vbkVuZChpKSx0aGlzLmVuZGVkPSEwLCExfWlmKGY9bi5hdmFpbF9vdXQsbi5uZXh0X291dCYmKG4uYXZhaWxfb3V0PT09MHx8aT09PVVnKSlpZih0aGlzLm9wdGlvbnMudG89PT0ic3RyaW5nIil7bGV0IHU9a2cudXRmOGJvcmRlcihuLm91dHB1dCxuLm5leHRfb3V0KSxjPW4ubmV4dF9vdXQtdSxsPWtnLmJ1ZjJzdHJpbmcobi5vdXRwdXQsdSk7bi5uZXh0X291dD1jLG4uYXZhaWxfb3V0PW8tYyxjJiZuLm91dHB1dC5zZXQobi5vdXRwdXQuc3ViYXJyYXkodSx1K2MpLDApLHRoaXMub25EYXRhKGwpfWVsc2UgdGhpcy5vbkRhdGEobi5vdXRwdXQubGVuZ3RoPT09bi5uZXh0X291dD9uLm91dHB1dDpuLm91dHB1dC5zdWJhcnJheSgwLG4ubmV4dF9vdXQpKTtpZighKGk9PT1tdSYmZj09PTApKXtpZihpPT09VWcpcmV0dXJuIGk9V2kuaW5mbGF0ZUVuZCh0aGlzLnN0cm0pLHRoaXMub25FbmQoaSksdGhpcy5lbmRlZD0hMCwhMDtpZihuLmF2YWlsX2luPT09MClicmVha319cmV0dXJuITB9O2h1LnByb3RvdHlwZS5vbkRhdGE9ZnVuY3Rpb24odCl7dGhpcy5jaHVua3MucHVzaCh0KX07aHUucHJvdG90eXBlLm9uRW5kPWZ1bmN0aW9uKHQpe3Q9PT1tdSYmKHRoaXMub3B0aW9ucy50bz09PSJzdHJpbmciP3RoaXMucmVzdWx0PXRoaXMuY2h1bmtzLmpvaW4oIiIpOnRoaXMucmVzdWx0PU9TLmZsYXR0ZW5DaHVua3ModGhpcy5jaHVua3MpKSx0aGlzLmNodW5rcz1bXSx0aGlzLmVycj10LHRoaXMubXNnPXRoaXMuc3RybS5tc2d9O2Z1bmN0aW9uIHpnKHQsZSl7bGV0IG49bmV3IGh1KGUpO2lmKG4ucHVzaCh0KSxuLmVycil0aHJvdyBuLm1zZ3x8R2dbbi5lcnJdO3JldHVybiBuLnJlc3VsdH1mdW5jdGlvbiBONih0LGUpe3JldHVybiBlPWV8fHt9LGUucmF3PSEwLHpnKHQsZSl9a2EuZXhwb3J0cy5JbmZsYXRlPWh1O2thLmV4cG9ydHMuaW5mbGF0ZT16ZztrYS5leHBvcnRzLmluZmxhdGVSYXc9TjY7a2EuZXhwb3J0cy51bmd6aXA9emc7a2EuZXhwb3J0cy5jb25zdGFudHM9b20oKX0pO3ZhciBqZz17fTtkZShqZyx7ZGVmYXVsdDooKT0+azZ9KTtmdW5jdGlvbiBJNih0LGUpe2xldCBuPU1zLmZyb21TdHJpbmcodC50eXBlKSxvPXQuYnVmZmVyO3kyKHQua2V5LG8pO2xldCByPVY2KG8pO289ci5idWZmZXI7bGV0IGk9ci5sZW5ndGg7c3dpdGNoKG4pe2Nhc2UgTXMuTUVUQURBVEE6cmV0dXJuIEw2KG8saSx0LnF1YWRLZXkpO2Nhc2UgTXMuVEVSUkFJTjpyZXR1cm4gQjYobyxpLGUpO2Nhc2UgTXMuREJST09UOnJldHVybiBlLnB1c2gobykse2J1ZmZlcjpvfX19ZnVuY3Rpb24gTDYodCxlLG4pe2xldCBvPW5ldyBEYXRhVmlldyh0KSxyPTAsaT1vLmdldFVpbnQzMihyLCEwKTtpZihyKz16YSxpIT09djYpdGhyb3cgbmV3IEFlKCJJbnZhbGlkIG1hZ2ljIik7bGV0IHM9by5nZXRVaW50MzIociwhMCk7aWYocis9emEscyE9PTEpdGhyb3cgbmV3IEFlKCJJbnZhbGlkIGRhdGEgdHlwZS4gTXVzdCBiZSAxIGZvciBRdWFkVHJlZVBhY2tldCIpO2xldCBmPW8uZ2V0VWludDMyKHIsITApO2lmKHIrPXphLGYhPT0yKXRocm93IG5ldyBBZSgiSW52YWxpZCBRdWFkVHJlZVBhY2tldCB2ZXJzaW9uLiBPbmx5IHZlcnNpb24gMiBpcyBzdXBwb3J0ZWQuIik7bGV0IHU9by5nZXRJbnQzMihyLCEwKTtyKz14YztsZXQgYz1vLmdldEludDMyKHIsITApO2lmKHIrPXhjLGMhPT0zMil0aHJvdyBuZXcgQWUoIkludmFsaWQgaW5zdGFuY2Ugc2l6ZS4iKTtsZXQgbD1vLmdldEludDMyKHIsITApO3IrPXhjO2xldCBwPW8uZ2V0SW50MzIociwhMCk7cis9eGM7bGV0IGQ9by5nZXRJbnQzMihyLCEwKTtpZihyKz14YyxsIT09dSpjK3IpdGhyb3cgbmV3IEFlKCJJbnZhbGlkIGRhdGFCdWZmZXJPZmZzZXQiKTtpZihsK3ArZCE9PWUpdGhyb3cgbmV3IEFlKCJJbnZhbGlkIHBhY2tldCBvZmZzZXRzIik7bGV0IG09W107Zm9yKGxldCBFPTA7RTx1OysrRSl7bGV0IHc9by5nZXRVaW50OChyKTsrK3IsKytyO2xldCBDPW8uZ2V0VWludDE2KHIsITApO3IrPUdhO2xldCBOPW8uZ2V0VWludDE2KHIsITApO3IrPUdhO2xldCBJPW8uZ2V0VWludDE2KHIsITApO3IrPUdhLHIrPUdhLHIrPUdhLHIrPXhjLHIrPXhjLHIrPTg7bGV0IEQ9by5nZXRVaW50OChyKyspLHY9by5nZXRVaW50OChyKyspO3IrPUdhLG0ucHVzaChuZXcgVDIodyxDLE4sSSxELHYpKX1sZXQgXz1bXSxnPTA7ZnVuY3Rpb24gYihFLHcsQyl7bGV0IE49ITE7aWYoQz09PTQpe2lmKHcuaGFzU3VidHJlZSgpKXJldHVybjtOPSEwfWZvcihsZXQgST0wO0k8NDsrK0kpe2xldCBEPUUrSS50b1N0cmluZygpO2lmKE4pX1tEXT1udWxsO2Vsc2UgaWYoQzw0KWlmKCF3Lmhhc0NoaWxkKEkpKV9bRF09bnVsbDtlbHNle2lmKGc9PT11KXtjb25zb2xlLmxvZygiSW5jb3JyZWN0IG51bWJlciBvZiBpbnN0YW5jZXMiKTtyZXR1cm59bGV0IHY9bVtnKytdO19bRF09dixiKEQsdixDKzEpfX19bGV0IFQ9MCxPPW1bZysrXTtyZXR1cm4gbj09PSIiPysrVDpfW25dPU8sYihuLE8sVCksX31mdW5jdGlvbiBCNih0LGUsbil7bGV0IG89bmV3IERhdGFWaWV3KHQpLHI9ZnVuY3Rpb24oZil7Zm9yKGxldCB1PTA7dTxGNjsrK3Upe2xldCBjPW8uZ2V0VWludDMyKGYsITApO2lmKGYrPXphLGYrPWMsZj5lKXRocm93IG5ldyBBZSgiTWFsZm9ybWVkIHRlcnJhaW4gcGFja2V0IGZvdW5kLiIpfXJldHVybiBmfSxpPTAscz1bXTtmb3IoO3MubGVuZ3RoPEQ2Oyl7bGV0IGY9aTtpPXIoaSk7bGV0IHU9dC5zbGljZShmLGkpO24ucHVzaCh1KSxzLnB1c2godSl9cmV0dXJuIHN9ZnVuY3Rpb24gVjYodCl7bGV0IGU9bmV3IERhdGFWaWV3KHQpLG49MCxvPWUuZ2V0VWludDMyKG4sITApO2lmKG4rPXphLG8hPT1TUyYmbyE9PVU2KXRocm93IG5ldyBBZSgiSW52YWxpZCBtYWdpYyIpO2xldCByPWUuZ2V0VWludDMyKG4sbz09PVNTKTtuKz16YTtsZXQgaT1uZXcgVWludDhBcnJheSh0LG4pLHM9Q1MuZGVmYXVsdC5pbmZsYXRlKGkpO2lmKHMubGVuZ3RoIT09cil0aHJvdyBuZXcgQWUoIlNpemUgb2YgcGFja2V0IGRvZXNuJ3QgbWF0Y2ggaGVhZGVyIik7cmV0dXJuIHN9dmFyIENTLEdhLHhjLHphLE1zLHY2LEQ2LEY2LFNTLFU2LGs2LEhnPVooKCk9PntnMigpO3cyKCk7SnIoKTtDUz1kcihSUygpLDEpO3NvKCk7R2E9VWludDE2QXJyYXkuQllURVNfUEVSX0VMRU1FTlQseGM9SW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCx6YT1VaW50MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCxNcz17TUVUQURBVEE6MCxURVJSQUlOOjEsREJST09UOjJ9O01zLmZyb21TdHJpbmc9ZnVuY3Rpb24odCl7aWYodD09PSJNZXRhZGF0YSIpcmV0dXJuIE1zLk1FVEFEQVRBO2lmKHQ9PT0iVGVycmFpbiIpcmV0dXJuIE1zLlRFUlJBSU47aWYodD09PSJEYlJvb3QiKXJldHVybiBNcy5EQlJPT1R9O3Y2PTMyMzAxO0Q2PTUsRjY9NDtTUz0xOTUzMDI5ODA1LFU2PTI5MTcwMzQxMDA7azY9UWUoSTYpfSk7ZnVuY3Rpb24gRzYodCl7cmV0dXJuIHkuZGVmaW5lZCgidmFsdWUiLHQpLHQ8PS4wNDA0NT90Ki4wNzczOTkzODA4MDQ5NTM1NzpNYXRoLnBvdygodCsuMDU1KSouOTQ3ODY3Mjk4NTc4MTk5MSwyLjQpfXZhciB1bSx4Uz1aKCgpPT57WHQoKTt1bT1HNn0pO3ZhciBYZz17fTtkZShYZyx7ZGVmYXVsdDooKT0+ZDh9KTtmdW5jdGlvbiB6Nih0LGUsbixvLHIsaSl7bGV0IHM9biooMS10KStvKnQsZj1yKigxLXQpK2kqdDtyZXR1cm4gcyooMS1lKStmKmV9ZnVuY3Rpb24gbG0odCxlLG4sbyl7bGV0IHI9dCtlKm47cmV0dXJuIG9bcl19ZnVuY3Rpb24gajYodCxlLG4pe2xldCBvPW4ubmF0aXZlRXh0ZW50LHI9KHQtby53ZXN0KS8oby5lYXN0LW8ud2VzdCkqKG4ud2lkdGgtMSksaT0oZS1vLnNvdXRoKS8oby5ub3J0aC1vLnNvdXRoKSoobi5oZWlnaHQtMSkscz1NYXRoLmZsb29yKHIpLGY9TWF0aC5mbG9vcihpKTtyLT1zLGktPWY7bGV0IHU9czxuLndpZHRoP3MrMTpzLGM9ZjxuLmhlaWdodD9mKzE6ZjtmPW4uaGVpZ2h0LTEtZixjPW4uaGVpZ2h0LTEtYztsZXQgbD1sbShzLGYsbi53aWR0aCxuLmJ1ZmZlcikscD1sbSh1LGYsbi53aWR0aCxuLmJ1ZmZlciksZD1sbShzLGMsbi53aWR0aCxuLmJ1ZmZlciksbT1sbSh1LGMsbi53aWR0aCxuLmJ1ZmZlciksXz16NihyLGksbCxwLGQsbSk7cmV0dXJuIF89XypuLnNjYWxlK24ub2Zmc2V0LF99ZnVuY3Rpb24gUFModCxlLG4pe2ZvcihsZXQgbz0wO288bi5sZW5ndGg7bysrKXtsZXQgcj1uW29dLm5hdGl2ZUV4dGVudCxpPW5ldyBhO2lmKG5bb10ucHJvamVjdGlvblR5cGU9PT0iV2ViTWVyY2F0b3IiKXtsZXQgcz1uW29dLnByb2plY3Rpb24uX2VsbGlwc29pZC5fcmFkaWk7aT1uZXcgbm8obmV3ICQocy54LHMueSxzLnopKS5wcm9qZWN0KG5ldyBjdCh0LGUsMCkpfWVsc2UgaS54PXQsaS55PWU7aWYoaS54PnIud2VzdCYmaS54PHIuZWFzdCYmaS55PnIuc291dGgmJmkueTxyLm5vcnRoKXJldHVybiBqNihpLngsaS55LG5bb10pfXJldHVybiAwfWZ1bmN0aW9uIEg2KHQsZSxuLG8scixpLHMpe2lmKHMpcmV0dXJuO2xldCBmPVBTKHIubG9uZ2l0dWRlLHIubGF0aXR1ZGUsaSk7Zm9yKGxldCB1PTA7dTx0OysrdSl7bGV0IGM9UFMoci5sb25naXR1ZGUrTS50b1JhZGlhbnMobiplW3UqM10pLHIubGF0aXR1ZGUrTS50b1JhZGlhbnMobyplW3UqMysxXSksaSk7ZVt1KjMrMl0rPWMtZn19ZnVuY3Rpb24gcTYodCxlLG4sbyxyLGkscyxmLHUpe2lmKHQ9PT0wfHwhaChlKXx8ZS5sZW5ndGg9PT0wKXJldHVybjtsZXQgYz1uZXcgJChNYXRoLnNxcnQocy54KSxNYXRoLnNxcnQocy55KSxNYXRoLnNxcnQocy56KSk7Zm9yKGxldCBsPTA7bDx0OysrbCl7bGV0IHA9bCozLGQ9cCsxLG09cCsyLF89bmV3IGN0O18ubG9uZ2l0dWRlPW8ubG9uZ2l0dWRlK00udG9SYWRpYW5zKGYqZVtwXSksXy5sYXRpdHVkZT1vLmxhdGl0dWRlK00udG9SYWRpYW5zKHUqZVtkXSksXy5oZWlnaHQ9by5oZWlnaHQrZVttXTtsZXQgZz17fTtjLmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKF8sZyksZy54LT1yLngsZy55LT1yLnksZy56LT1yLno7bGV0IGI9e307aWYoUS5tdWx0aXBseUJ5VmVjdG9yKGksZyxiKSxlW3BdPWIueCxlW2RdPWIueSxlW21dPWIueixoKG4pKXtsZXQgVD1uZXcgYShuW3BdLG5bZF0sblttXSksTz17fTtRLm11bHRpcGx5QnlWZWN0b3IoaSxULE8pLG5bcF09Ty54LG5bZF09Ty55LG5bbV09Ty56fX19ZnVuY3Rpb24gSzYodCxlLG4pe2ZvcihsZXQgbz0wO288dDsrK28pe2xldCByPW5bbyo0XS82NTUzNSxpPW5bbyo0KzFdLzY1NTM1LHM9KG5bbyo0KzJdLW5bbyo0XSkvNjU1MzUsZj0obltvKjQrM10tbltvKjQrMV0pLzY1NTM1O2VbbyoyXSo9cyxlW28qMl0rPXIsZVtvKjIrMV0qPWYsZVtvKjIrMV0rPWl9fWZ1bmN0aW9uIFc2KHQsZSxuLG8pe2xldCByPW5ldyBVaW50MzJBcnJheSh0KSxpPWgoZSk/Zj0+ZVtmXTpmPT5mLHM9MDtpZihvJiZoKG4pKXtsZXQgZj11PT5uW2kodSkqNCszXTwyNTU7Zm9yKGxldCB1PTA7dTx0O3UrPTMpIWYodSkmJiFmKHUrMSkmJiFmKHUrMikmJihyW3MrK109aSh1KSxyW3MrK109aSh1KzEpLHJbcysrXT1pKHUrMikpO2lmKHM+MCl7bGV0IHU9cztmb3IobGV0IGM9MDtjPHQ7Yys9MykoZihjKXx8ZihjKzEpfHxmKGMrMikpJiYoclt1KytdPWkoYyksclt1KytdPWkoYysxKSxyW3UrK109aShjKzIpKX1lbHNlIGZvcihsZXQgdT0wO3U8dDsrK3Upclt1XT1pKHUpfWVsc2V7cz10O2ZvcihsZXQgZj0wO2Y8dDsrK2YpcltmXT1pKGYpfXJldHVybntpbmRleEFycmF5OnIsdHJhbnNwYXJlbnRWZXJ0ZXhPZmZzZXQ6c319ZnVuY3Rpb24gWDYodCxlLG4pe2xldCBvPWVbbl07aWYoaChvKSlyZXR1cm4gbztsZXQgcj1lW25dPXtwb3NpdGlvbnM6e30saW5kaWNlczp7fSxlZGdlczp7fX0saT14KHRbbl0sdC5kZWZhdWx0KTtyZXR1cm4gci5oYXNPdXRsaW5lPWgoaT8uZWRnZXMpLHJ9ZnVuY3Rpb24gWTYodCxlLG4sbyl7aWYoIWgodFtuXSkpe2xldCByPW4qMyxpPWU7Zm9yKGxldCBzPTA7czwzO3MrKyl7bGV0IGY9b1tyK3NdO2goaVtmXSl8fChpW2ZdPXt9KSxpPWlbZl19aChpLmluZGV4KXx8KGkuaW5kZXg9biksdFtuXT1pLmluZGV4fX1mdW5jdGlvbiAkNih0LGUsbixvLHIsaSl7bGV0IHMsZjtvPHI/KHM9byxmPXIpOihzPXIsZj1vKTtsZXQgdT10W3NdO2godSl8fCh1PXRbc109e30pO2xldCBjPXVbZl07aChjKXx8KGM9dVtmXT17bm9ybWFsc0luZGV4OltdLG91dGxpbmVzOltdfSksYy5ub3JtYWxzSW5kZXgucHVzaChpKSwoYy5vdXRsaW5lcy5sZW5ndGg9PT0wfHxlIT09b3x8biE9PXIpJiZjLm91dGxpbmVzLnB1c2goZSxuKX1mdW5jdGlvbiBaNih0LGUsbixvKXtsZXQgcj1bXTtmb3IobGV0IGk9MDtpPG4ubGVuZ3RoO2krPTMpe2xldCBzPWgoZSk/ZVtuW2ldXToiZGVmYXVsdCIsZj1YNih0LHIscyk7aWYoIWYuaGFzT3V0bGluZSljb250aW51ZTtsZXQgdT1mLmluZGljZXMsYz1mLnBvc2l0aW9ucztmb3IobGV0IHA9MDtwPDM7cCsrKXtsZXQgZD1uW2krcF07WTYodSxjLGQsbyl9bGV0IGw9Zi5lZGdlcztmb3IobGV0IHA9MDtwPDM7cCsrKXtsZXQgZD1uW2krcF0sbT1uW2krKHArMSklM10sXz11W2RdLGc9dVttXTskNihsLGQsbSxfLGcsaSl9fXJldHVybiByfWZ1bmN0aW9uIE1TKHQsZSxuLG8pe2xldCByPW5bZV0qMyxpPW5bZSsxXSozLHM9bltlKzJdKjM7YS5mcm9tQXJyYXkobyxyLEFpKSxhLmZyb21BcnJheShvLGkscG0pLGEuZnJvbUFycmF5KG8scyxkbSksYS5zdWJ0cmFjdChwbSxBaSxwbSksYS5zdWJ0cmFjdChkbSxBaSxkbSksYS5jcm9zcyhwbSxkbSxBaSk7bGV0IGY9YS5tYWduaXR1ZGUoQWkpO2YhPT0wJiZhLmRpdmlkZUJ5U2NhbGFyKEFpLGYsQWkpO2xldCB1PWUqMyxjPShlKzEpKjMsbD0oZSsyKSozO2EucGFjayhBaSx0LHUpLGEucGFjayhBaSx0LGMpLGEucGFjayhBaSx0LGwpfWZ1bmN0aW9uIFE2KHQsZSxuKXthLmZyb21BcnJheSh0LGUsbW0pLGEuZnJvbUFycmF5KHQsbixxZyk7bGV0IG89YS5kb3QobW0scWcpLHI9YS5tYWduaXR1ZGUoYS5jcm9zcyhtbSxxZyxtbSkpO3JldHVybiBNYXRoLmF0YW4yKHIsbyk8LjI1fWZ1bmN0aW9uIEo2KHQsZSxuLG8scil7aWYoZS5ub3JtYWxzSW5kZXgubGVuZ3RoPjEpe2xldCBpPW8ubGVuZ3RoPT09ci5sZW5ndGg7Zm9yKGxldCBzPTA7czxlLm5vcm1hbHNJbmRleC5sZW5ndGg7cysrKXtsZXQgZj1lLm5vcm1hbHNJbmRleFtzXTtpZihoKHJbZiozXSl8fE1TKHIsZixuLG8pLHMhPT0wKWZvcihsZXQgdT0wO3U8czt1Kyspe2xldCBjPWUubm9ybWFsc0luZGV4W3VdLGw9aT9uW2ZdKjM6ZiozLHA9aT9uW2NdKjM6YyozO2lmKFE2KHIsbCxwKSlyZXR1cm59fX10LnB1c2goLi4uZS5vdXRsaW5lcyl9ZnVuY3Rpb24gdDgodCxlLG4sbyxyKXtsZXQgaT1PYmplY3Qua2V5cyhlKTtmb3IobGV0IHM9MDtzPGkubGVuZ3RoO3MrKyl7bGV0IGY9ZVtpW3NdXSx1PU9iamVjdC5rZXlzKGYpO2ZvcihsZXQgYz0wO2M8dS5sZW5ndGg7YysrKXtsZXQgbD1mW3VbY11dO0o2KHQsbCxuLG8scil9fX1mdW5jdGlvbiBlOCh0LGUsbixvKXtsZXQgcj1bXSxpPU9iamVjdC5rZXlzKHQpO2ZvcihsZXQgcz0wO3M8aS5sZW5ndGg7cysrKXtsZXQgZj10W2lbc11dLmVkZ2VzO3Q4KHIsZixlLG4sbyl9cmV0dXJuIHJ9ZnVuY3Rpb24gbjgodCxlLG4sbyxyKXtpZighaCh0KXx8T2JqZWN0LmtleXModCkubGVuZ3RoPT09MClyZXR1cm47bGV0IGk9WjYodCxlLG4sbyk7KCFoKHIpfHxuLmxlbmd0aCozIT09ci5sZW5ndGgpJiYocj1bXSk7bGV0IHM9ZTgoaSxuLG8scik7cmV0dXJuIHMubGVuZ3RoPjA/bmV3IFVpbnQzMkFycmF5KHMpOnZvaWQgMH1mdW5jdGlvbiBvOCh0KXtsZXQgZT1uZXcgRmxvYXQzMkFycmF5KHQubGVuZ3RoKTtmb3IobGV0IG49MDtuPHQubGVuZ3RoO24rPTQpZVtuXT11bShvZS5ieXRlVG9GbG9hdCh0W25dKSksZVtuKzFdPXVtKG9lLmJ5dGVUb0Zsb2F0KHRbbisxXSkpLGVbbisyXT11bShvZS5ieXRlVG9GbG9hdCh0W24rMl0pKSxlW24rM109b2UuYnl0ZVRvRmxvYXQodFtuKzNdKTtyZXR1cm4gZX1mdW5jdGlvbiByOCh0LGUsbixvLHIsaSxzKXtsZXQgZj17bm9ybWFsczp2b2lkIDAscG9zaXRpb25zOnZvaWQgMCx1djBzOnZvaWQgMCxjb2xvcnM6dm9pZCAwLGZlYXR1cmVJbmRleDp2b2lkIDAsdmVydGV4Q291bnQ6dm9pZCAwfTtpZih0PT09MHx8IWgobil8fG4ubGVuZ3RoPT09MHx8aChvKSlyZXR1cm4gZjtpZihoKGUpKXtmLnZlcnRleENvdW50PWUubGVuZ3RoLGYucG9zaXRpb25zPW5ldyBGbG9hdDMyQXJyYXkoZS5sZW5ndGgqMyksZi51djBzPWgocik/bmV3IEZsb2F0MzJBcnJheShlLmxlbmd0aCoyKTp2b2lkIDAsZi5jb2xvcnM9aChpKT9uZXcgVWludDhBcnJheShlLmxlbmd0aCo0KTp2b2lkIDAsZi5mZWF0dXJlSW5kZXg9aChzKT9uZXcgQXJyYXkoZS5sZW5ndGgpOnZvaWQgMDtmb3IobGV0IHU9MDt1PGUubGVuZ3RoO3UrKyl7bGV0IGM9ZVt1XTtmLnBvc2l0aW9uc1t1KjNdPW5bYyozXSxmLnBvc2l0aW9uc1t1KjMrMV09bltjKjMrMV0sZi5wb3NpdGlvbnNbdSozKzJdPW5bYyozKzJdLGgoZi51djBzKSYmKGYudXYwc1t1KjJdPXJbYyoyXSxmLnV2MHNbdSoyKzFdPXJbYyoyKzFdKSxoKGYuY29sb3JzKSYmKGYuY29sb3JzW3UqNF09aVtjKjRdLGYuY29sb3JzW3UqNCsxXT1pW2MqNCsxXSxmLmNvbG9yc1t1KjQrMl09aVtjKjQrMl0sZi5jb2xvcnNbdSo0KzNdPWlbYyo0KzNdKSxoKGYuZmVhdHVyZUluZGV4KSYmKGYuZmVhdHVyZUluZGV4W3VdPXNbY10pfXQ9ZS5sZW5ndGgsbj1mLnBvc2l0aW9uc31lPW5ldyBBcnJheSh0KTtmb3IobGV0IHU9MDt1PHQ7dSsrKWVbdV09dTtmLm5vcm1hbHM9bmV3IEZsb2F0MzJBcnJheShlLmxlbmd0aCozKTtmb3IobGV0IHU9MDt1PGUubGVuZ3RoO3UrPTMpTVMoZi5ub3JtYWxzLHUsZSxuKTtyZXR1cm4gZn1mdW5jdGlvbiBpOCh0LGUsbixvLHIsaSxzLGYpe2lmKHQ9PT0wfHwhaChuKXx8bi5sZW5ndGg9PT0wKXJldHVybntidWZmZXJzOltdLGJ1ZmZlclZpZXdzOltdLGFjY2Vzc29yczpbXSxtZXNoZXM6W10sbm9kZXM6W10sbm9kZXNJblNjZW5lOltdfTtsZXQgdT1bXSxjPVtdLGw9W10scD1bXSxkPVtdLG09W10sXz17fSxnPVtdO2goZSkmJih0PWUubGVuZ3RoKTtsZXR7aW5kZXhBcnJheTpiLHRyYW5zcGFyZW50VmVydGV4T2Zmc2V0OlR9PVc2KHQsZSxpLGYuc3BsaXRHZW9tZXRyeUJ5Q29sb3JUcmFuc3BhcmVuY3kpLE89bmV3IEJsb2IoW2JdLHt0eXBlOiJhcHBsaWNhdGlvbi9iaW5hcnkifSksRT1VUkwuY3JlYXRlT2JqZWN0VVJMKE8pLHc9dCxDPWYuZW5hYmxlRmVhdHVyZXMmJmgocyk/bmV3IEZsb2F0MzJBcnJheShzLmxlbmd0aCk6dm9pZCAwLE49MDtpZihoKEMpKWZvcihsZXQgdXQ9MDt1dDxzLmxlbmd0aDsrK3V0KXtDW3V0XT1zW3V0XTtsZXQgdnQ9c1t1dF0rMTtOPHZ0JiYoTj12dCl9bGV0IEksRD1uOChmLnN5bWJvbG9neURhdGEscyxiLG4sbyk7aWYoaChEKSl7bGV0IHV0PW5ldyBCbG9iKFtEXSx7dHlwZToiYXBwbGljYXRpb24vYmluYXJ5In0pO0k9VVJMLmNyZWF0ZU9iamVjdFVSTCh1dCl9bGV0IHY9bi5zdWJhcnJheSgwLHcqMyksTD1uZXcgQmxvYihbdl0se3R5cGU6ImFwcGxpY2F0aW9uL2JpbmFyeSJ9KSxVPVVSTC5jcmVhdGVPYmplY3RVUkwoTCksQT1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksUz1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksUD1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksRj1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksaj1OdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksSD1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk7Zm9yKGxldCB1dD0wO3V0PHYubGVuZ3RoLzM7dXQrKylBPU1hdGgubWluKEEsdlt1dCozKzBdKSxTPU1hdGgubWF4KFMsdlt1dCozKzBdKSxQPU1hdGgubWluKFAsdlt1dCozKzFdKSxGPU1hdGgubWF4KEYsdlt1dCozKzFdKSxqPU1hdGgubWluKGosdlt1dCozKzJdKSxIPU1hdGgubWF4KEgsdlt1dCozKzJdKTtsZXQgaz1vP28uc3ViYXJyYXkoMCx3KjMpOnZvaWQgMCxLO2lmKGgoaykpe2xldCB1dD1uZXcgQmxvYihba10se3R5cGU6ImFwcGxpY2F0aW9uL2JpbmFyeSJ9KTtLPVVSTC5jcmVhdGVPYmplY3RVUkwodXQpfWxldCBYPXI/ci5zdWJhcnJheSgwLHcqMik6dm9pZCAwLFI7aWYoaChYKSl7bGV0IHV0PW5ldyBCbG9iKFtYXSx7dHlwZToiYXBwbGljYXRpb24vYmluYXJ5In0pO1I9VVJMLmNyZWF0ZU9iamVjdFVSTCh1dCl9bGV0IG90PWgoaSk/bzgoaS5zdWJhcnJheSgwLHcqNCkpOnZvaWQgMCxhdDtpZihoKG90KSl7bGV0IHV0PW5ldyBCbG9iKFtvdF0se3R5cGU6ImFwcGxpY2F0aW9uL2JpbmFyeSJ9KTthdD1VUkwuY3JlYXRlT2JqZWN0VVJMKHV0KX1sZXQgcHQ9aChDKT9DLnN1YmFycmF5KDAsdyk6dm9pZCAwLHl0O2lmKGgocHQpKXtsZXQgdXQ9bmV3IEJsb2IoW3B0XSx7dHlwZToiYXBwbGljYXRpb24vYmluYXJ5In0pO3l0PVVSTC5jcmVhdGVPYmplY3RVUkwodXQpfWxldCBydD1oKEMpP25ldyBGbG9hdDMyQXJyYXkoTik6dm9pZCAwLFB0O2lmKGgocnQpKXtmb3IobGV0IHZ0PTA7dnQ8cnQubGVuZ3RoOysrdnQpcnRbdnRdPXZ0O2xldCB1dD1uZXcgQmxvYihbcnRdLHt0eXBlOiJhcHBsaWNhdGlvbi9iaW5hcnkifSk7UHQ9VVJMLmNyZWF0ZU9iamVjdFVSTCh1dCl9bGV0IGd0PXt9LEN0PXt9O2d0LlBPU0lUSU9OPWwubGVuZ3RoLHUucHVzaCh7dXJpOlUsYnl0ZUxlbmd0aDp2LmJ5dGVMZW5ndGh9KSxjLnB1c2goe2J1ZmZlcjp1Lmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxieXRlTGVuZ3RoOnYuYnl0ZUxlbmd0aCx0YXJnZXQ6MzQ5NjJ9KSxsLnB1c2goe2J1ZmZlclZpZXc6Yy5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsY29tcG9uZW50VHlwZTo1MTI2LGNvdW50OnYubGVuZ3RoLzMsdHlwZToiVkVDMyIsbWF4OltBLFAsal0sbWluOltTLEYsSF19KSxoKEspJiYoZ3QuTk9STUFMPWwubGVuZ3RoLHUucHVzaCh7dXJpOkssYnl0ZUxlbmd0aDprLmJ5dGVMZW5ndGh9KSxjLnB1c2goe2J1ZmZlcjp1Lmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxieXRlTGVuZ3RoOmsuYnl0ZUxlbmd0aCx0YXJnZXQ6MzQ5NjJ9KSxsLnB1c2goe2J1ZmZlclZpZXc6Yy5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsY29tcG9uZW50VHlwZTo1MTI2LGNvdW50OmsubGVuZ3RoLzMsdHlwZToiVkVDMyJ9KSksaChSKSYmKGd0LlRFWENPT1JEXzA9bC5sZW5ndGgsdS5wdXNoKHt1cmk6UixieXRlTGVuZ3RoOlguYnl0ZUxlbmd0aH0pLGMucHVzaCh7YnVmZmVyOnUubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGJ5dGVMZW5ndGg6WC5ieXRlTGVuZ3RoLHRhcmdldDozNDk2Mn0pLGwucHVzaCh7YnVmZmVyVmlldzpjLmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxjb21wb25lbnRUeXBlOjUxMjYsY291bnQ6WC5sZW5ndGgvMix0eXBlOiJWRUMyIn0pKSxoKGF0KSYmKGd0LkNPTE9SXzA9bC5sZW5ndGgsdS5wdXNoKHt1cmk6YXQsYnl0ZUxlbmd0aDpvdC5ieXRlTGVuZ3RofSksYy5wdXNoKHtidWZmZXI6dS5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsYnl0ZUxlbmd0aDpvdC5ieXRlTGVuZ3RoLHRhcmdldDozNDk2Mn0pLGwucHVzaCh7YnVmZmVyVmlldzpjLmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxjb21wb25lbnRUeXBlOjUxMjYsY291bnQ6b3QubGVuZ3RoLzQsdHlwZToiVkVDNCJ9KSksaCh5dCkmJihndC5fRkVBVFVSRV9JRF8wPWwubGVuZ3RoLHUucHVzaCh7dXJpOnl0LGJ5dGVMZW5ndGg6cHQuYnl0ZUxlbmd0aH0pLGMucHVzaCh7YnVmZmVyOnUubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGJ5dGVMZW5ndGg6cHQuYnl0ZUxlbmd0aCx0YXJnZXQ6MzQ5NjN9KSxsLnB1c2goe2J1ZmZlclZpZXc6Yy5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsY29tcG9uZW50VHlwZTo1MTI2LGNvdW50OnB0Lmxlbmd0aCx0eXBlOiJTQ0FMQVIifSksQ3QuRVhUX21lc2hfZmVhdHVyZXM9e2ZlYXR1cmVJZHM6W3thdHRyaWJ1dGU6MCxwcm9wZXJ0eVRhYmxlOjAsZmVhdHVyZUNvdW50Ok59XX0sZy5wdXNoKCJFWFRfbWVzaF9mZWF0dXJlcyIpKSxoKFB0KSYmKHUucHVzaCh7dXJpOlB0LGJ5dGVMZW5ndGg6cnQuYnl0ZUxlbmd0aH0pLGMucHVzaCh7YnVmZmVyOnUubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGJ5dGVMZW5ndGg6cnQuYnl0ZUxlbmd0aCx0YXJnZXQ6MzQ5NjN9KSxfLkVYVF9zdHJ1Y3R1cmFsX21ldGFkYXRhPXtzY2hlbWE6e2lkOiJpM3MtbWV0YWRhdGEtc2NoZW1hLTAwMSIsbmFtZToiSTNTIG1ldGFkYXRhIHNjaGVtYSAwMDEiLGRlc2NyaXB0aW9uOiJUaGUgc2NoZW1hIGZvciBJM1MgbWV0YWRhdGEiLHZlcnNpb246IjEuMCIsY2xhc3Nlczp7ZmVhdHVyZTp7bmFtZToiZmVhdHVyZSIsZGVzY3JpcHRpb246IkZlYXR1cmUgbWV0YWRhdGEiLHByb3BlcnRpZXM6e2luZGV4OntkZXNjcmlwdGlvbjoiVGhlIGZlYXR1cmUgaW5kZXgiLHR5cGU6IlNDQUxBUiIsY29tcG9uZW50VHlwZToiRkxPQVQzMiIscmVxdWlyZWQ6ITB9fX19fSxwcm9wZXJ0eVRhYmxlczpbe25hbWU6ImZlYXR1cmUtaW5kaWNlcy1tYXBwaW5nIixjbGFzczoiZmVhdHVyZSIsY291bnQ6Tixwcm9wZXJ0aWVzOntpbmRleDp7dmFsdWVzOmMubGVuZ3RoLTF9fX1dfSxnLnB1c2goIkVYVF9zdHJ1Y3R1cmFsX21ldGFkYXRhIikpLGgoSSkmJih1LnB1c2goe3VyaTpJLGJ5dGVMZW5ndGg6RC5ieXRlTGVuZ3RofSksYy5wdXNoKHtidWZmZXI6dS5sZW5ndGgtMSxieXRlT2Zmc2V0OjAsYnl0ZUxlbmd0aDpELmJ5dGVMZW5ndGgsdGFyZ2V0OjM0OTYzfSksbC5wdXNoKHtidWZmZXJWaWV3OmMubGVuZ3RoLTEsYnl0ZU9mZnNldDowLGNvbXBvbmVudFR5cGU6NTEyNSxjb3VudDpELmxlbmd0aCx0eXBlOiJTQ0FMQVIifSksQ3QuQ0VTSVVNX3ByaW1pdGl2ZV9vdXRsaW5lPXtpbmRpY2VzOmwubGVuZ3RoLTF9LGcucHVzaCgiQ0VTSVVNX3ByaW1pdGl2ZV9vdXRsaW5lIikpLHUucHVzaCh7dXJpOkUsYnl0ZUxlbmd0aDpiLmJ5dGVMZW5ndGh9KSxjLnB1c2goe2J1ZmZlcjp1Lmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxieXRlTGVuZ3RoOmIuYnl0ZUxlbmd0aCx0YXJnZXQ6MzQ5NjN9KTtsZXQgbXQ9W107cmV0dXJuIFQ+MCYmKGwucHVzaCh7YnVmZmVyVmlldzpjLmxlbmd0aC0xLGJ5dGVPZmZzZXQ6MCxjb21wb25lbnRUeXBlOjUxMjUsY291bnQ6VCx0eXBlOiJTQ0FMQVIifSksbXQucHVzaCh7YXR0cmlidXRlczpndCxpbmRpY2VzOmwubGVuZ3RoLTEsbWF0ZXJpYWw6bXQubGVuZ3RoLGV4dGVuc2lvbnM6Q3R9KSksVDx0JiYobC5wdXNoKHtidWZmZXJWaWV3OmMubGVuZ3RoLTEsYnl0ZU9mZnNldDo0KlQsY29tcG9uZW50VHlwZTo1MTI1LGNvdW50OnQtVCx0eXBlOiJTQ0FMQVIifSksbXQucHVzaCh7YXR0cmlidXRlczpndCxpbmRpY2VzOmwubGVuZ3RoLTEsbWF0ZXJpYWw6bXQubGVuZ3RoLGV4dGVuc2lvbnM6Q3QsZXh0cmE6e2lzVHJhbnNwYXJlbnQ6ITB9fSkpLHAucHVzaCh7cHJpbWl0aXZlczptdH0pLG0ucHVzaCgwKSxkLnB1c2goe21lc2g6MH0pLHtidWZmZXJzOnUsYnVmZmVyVmlld3M6YyxhY2Nlc3NvcnM6bCxtZXNoZXM6cCxub2RlczpkLG5vZGVzSW5TY2VuZTptLHJvb3RFeHRlbnNpb25zOl8sZXh0ZW5zaW9uc1VzZWQ6Z319ZnVuY3Rpb24gczgodCxlLG4sbyl7bGV0IHI9bmV3IFVpbnQ4QXJyYXkodCwwLDUpO3JldHVybiByWzBdPT09NjgmJnJbMV09PT04MiYmclsyXT09PTY1JiZyWzNdPT09NjcmJnJbNF09PT03OT9jOCh0LG4pOmY4KHQsZSxuLG8pfWZ1bmN0aW9uIGM4KHQpe2xldCBlPVdnLG49bmV3IGUuRGVjb2RlckJ1ZmZlcixvPW5ldyBVaW50OEFycmF5KHQpO24uSW5pdChvLG8ubGVuZ3RoKTtsZXQgcj1uZXcgZS5EZWNvZGVyLGk9ci5HZXRFbmNvZGVkR2VvbWV0cnlUeXBlKG4pLHM9bmV3IGUuTWV0YWRhdGFRdWVyaWVyLGYsdTtpPT09ZS5UUklBTkdVTEFSX01FU0gmJihmPW5ldyBlLk1lc2gsdT1yLkRlY29kZUJ1ZmZlclRvTWVzaChuLGYpKTtsZXQgYz17dmVydGV4Q291bnQ6WzBdLGZlYXR1cmVDb3VudDowfTtpZihoKHUpJiZ1Lm9rKCkmJmYucHRyIT09MCl7bGV0IGw9Zi5udW1fZmFjZXMoKSxwPWYubnVtX2F0dHJpYnV0ZXMoKSxkPWYubnVtX3BvaW50cygpO2MuaW5kaWNlcz1uZXcgVWludDMyQXJyYXkobCozKTtsZXQgbT1jLmluZGljZXM7Yy52ZXJ0ZXhDb3VudFswXT1kLGMuc2NhbGVfeD0xLGMuc2NhbGVfeT0xO2xldCBfPW5ldyBlLkRyYWNvSW50MzJBcnJheSgzKTtmb3IobGV0IGc9MDtnPGw7KytnKXIuR2V0RmFjZUZyb21NZXNoKGYsZyxfKSxtW2cqM109Xy5HZXRWYWx1ZSgwKSxtW2cqMysxXT1fLkdldFZhbHVlKDEpLG1bZyozKzJdPV8uR2V0VmFsdWUoMik7ZS5kZXN0cm95KF8pO2ZvcihsZXQgZz0wO2c8cDsrK2cpe2xldCBiPXIuR2V0QXR0cmlidXRlKGYsZyksVD1hOChlLHIsZixiLGQpLE89Yi5hdHRyaWJ1dGVfdHlwZSgpLEU9InVua25vd24iO089PT1lLlBPU0lUSU9OP0U9InBvc2l0aW9ucyI6Tz09PWUuTk9STUFMP0U9Im5vcm1hbHMiOk89PT1lLkNPTE9SP0U9ImNvbG9ycyI6Tz09PWUuVEVYX0NPT1JEJiYoRT0idXYwcyIpO2xldCB3PXIuR2V0QXR0cmlidXRlTWV0YWRhdGEoZixnKTtpZih3LnB0ciE9PTApe2xldCBDPXMuTnVtRW50cmllcyh3KTtmb3IobGV0IE49MDtOPEM7KytOKXtsZXQgST1zLkdldEVudHJ5TmFtZSh3LE4pO0k9PT0iaTNzLXNjYWxlX3giP2Muc2NhbGVfeD1zLkdldERvdWJsZUVudHJ5KHcsImkzcy1zY2FsZV94Iik6ST09PSJpM3Mtc2NhbGVfeSI/Yy5zY2FsZV95PXMuR2V0RG91YmxlRW50cnkodywiaTNzLXNjYWxlX3kiKTpJPT09Imkzcy1hdHRyaWJ1dGUtdHlwZSImJihFPXMuR2V0U3RyaW5nRW50cnkodywiaTNzLWF0dHJpYnV0ZS10eXBlIikpfX1oKGNbRV0pJiZjb25zb2xlLmxvZygiQXR0cmlidXRlIGFscmVhZHkgZXhpc3RzIixFKSxjW0VdPVQsRT09PSJmZWF0dXJlLWluZGV4IiYmYy5mZWF0dXJlQ291bnQrK31lLmRlc3Ryb3koZil9cmV0dXJuIGUuZGVzdHJveShzKSxlLmRlc3Ryb3kociksY31mdW5jdGlvbiBhOCh0LGUsbixvLHIpe2xldCBpPW8ubnVtX2NvbXBvbmVudHMoKSpyLHMsdT1bZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb0ludDhBcnJheShpKSxlLkdldEF0dHJpYnV0ZUludDhGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IEludDhBcnJheShpKTtmb3IobGV0IHA9MDtwPGk7KytwKWxbcF09cy5HZXRWYWx1ZShwKTtyZXR1cm4gbH0sZnVuY3Rpb24oKXtzPW5ldyB0LkRyYWNvSW50OEFycmF5KGkpLGUuR2V0QXR0cmlidXRlVUludDhGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IFVpbnQ4QXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb0ludDE2QXJyYXkoaSksZS5HZXRBdHRyaWJ1dGVJbnQxNkZvckFsbFBvaW50cyhuLG8scyl8fGNvbnNvbGUuZXJyb3IoIkJhZCBzdHJlYW0iKTtsZXQgbD1uZXcgSW50MTZBcnJheShpKTtmb3IobGV0IHA9MDtwPGk7KytwKWxbcF09cy5HZXRWYWx1ZShwKTtyZXR1cm4gbH0sZnVuY3Rpb24oKXtzPW5ldyB0LkRyYWNvSW50MTZBcnJheShpKSxlLkdldEF0dHJpYnV0ZVVJbnQxNkZvckFsbFBvaW50cyhuLG8scyl8fGNvbnNvbGUuZXJyb3IoIkJhZCBzdHJlYW0iKTtsZXQgbD1uZXcgVWludDE2QXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb0ludDMyQXJyYXkoaSksZS5HZXRBdHRyaWJ1dGVJbnQzMkZvckFsbFBvaW50cyhuLG8scyl8fGNvbnNvbGUuZXJyb3IoIkJhZCBzdHJlYW0iKTtsZXQgbD1uZXcgSW50MzJBcnJheShpKTtmb3IobGV0IHA9MDtwPGk7KytwKWxbcF09cy5HZXRWYWx1ZShwKTtyZXR1cm4gbH0sZnVuY3Rpb24oKXtzPW5ldyB0LkRyYWNvSW50MzJBcnJheShpKSxlLkdldEF0dHJpYnV0ZVVJbnQzMkZvckFsbFBvaW50cyhuLG8scyl8fGNvbnNvbGUuZXJyb3IoIkJhZCBzdHJlYW0iKTtsZXQgbD1uZXcgVWludDMyQXJyYXkoaSk7Zm9yKGxldCBwPTA7cDxpOysrcClsW3BdPXMuR2V0VmFsdWUocCk7cmV0dXJuIGx9LGZ1bmN0aW9uKCl7fSxmdW5jdGlvbigpe30sZnVuY3Rpb24oKXtzPW5ldyB0LkRyYWNvRmxvYXQzMkFycmF5KGkpLGUuR2V0QXR0cmlidXRlRmxvYXRGb3JBbGxQb2ludHMobixvLHMpfHxjb25zb2xlLmVycm9yKCJCYWQgc3RyZWFtIik7bGV0IGw9bmV3IEZsb2F0MzJBcnJheShpKTtmb3IobGV0IHA9MDtwPGk7KytwKWxbcF09cy5HZXRWYWx1ZShwKTtyZXR1cm4gbH0sZnVuY3Rpb24oKXt9LGZ1bmN0aW9uKCl7cz1uZXcgdC5EcmFjb1VJbnQ4QXJyYXkoaSksZS5HZXRBdHRyaWJ1dGVVSW50OEZvckFsbFBvaW50cyhuLG8scyl8fGNvbnNvbGUuZXJyb3IoIkJhZCBzdHJlYW0iKTtsZXQgbD1uZXcgVWludDhBcnJheShpKTtmb3IobGV0IHA9MDtwPGk7KytwKWxbcF09cy5HZXRWYWx1ZShwKTtyZXR1cm4gbH1dW28uZGF0YV90eXBlKCldKCk7cmV0dXJuIGgocykmJnQuZGVzdHJveShzKSx1fWZ1bmN0aW9uIGY4KHQsZSxuLG8pe2xldCByPXt2ZXJ0ZXhDb3VudDowfSxpPW5ldyBEYXRhVmlldyh0KTt0cnl7bGV0IHM9MDtpZihyLnZlcnRleENvdW50PWkuZ2V0VWludDMyKHMsMSkscys9NCxyLmZlYXR1cmVDb3VudD1pLmdldFVpbnQzMihzLDEpLHMrPTQsaChuKSlmb3IobGV0IGY9MDtmPG4uYXR0cmlidXRlcy5sZW5ndGg7ZisrKWgoaG1bbi5hdHRyaWJ1dGVzW2ZdXSk/cz1obVtuLmF0dHJpYnV0ZXNbZl1dKHIsdCxzKTpjb25zb2xlLmVycm9yKCJVbmtub3duIGRlY29kZXIgZm9yIixuLmF0dHJpYnV0ZXNbZl0pO2Vsc2V7bGV0IGY9ZS5vcmRlcmluZyx1PWUuZmVhdHVyZUF0dHJpYnV0ZU9yZGVyO2gobykmJmgoby5nZW9tZXRyeURhdGEpJiZoKG8uZ2VvbWV0cnlEYXRhWzBdKSYmaChvLmdlb21ldHJ5RGF0YVswXS5wYXJhbXMpJiYoZj1PYmplY3Qua2V5cyhvLmdlb21ldHJ5RGF0YVswXS5wYXJhbXMudmVydGV4QXR0cmlidXRlcyksdT1PYmplY3Qua2V5cyhvLmdlb21ldHJ5RGF0YVswXS5wYXJhbXMuZmVhdHVyZUF0dHJpYnV0ZXMpKTtmb3IobGV0IGM9MDtjPGYubGVuZ3RoO2MrKyl7bGV0IGw9aG1bZltjXV07cz1sKHIsdCxzKX1mb3IobGV0IGM9MDtjPHUubGVuZ3RoO2MrKyl7bGV0IGw9aG1bdVtjXV07cz1sKHIsdCxzKX19fWNhdGNoKHMpe2NvbnNvbGUuZXJyb3Iocyl9cmV0dXJuIHIuc2NhbGVfeD0xLHIuc2NhbGVfeT0xLHJ9ZnVuY3Rpb24gdTgodCl7bGV0IGU9czgodC5iaW5hcnlEYXRhLHQuc2NoZW1hLHQuYnVmZmVySW5mbyx0LmZlYXR1cmVEYXRhKTtoKHQuZ2VvaWREYXRhTGlzdCkmJnQuZ2VvaWREYXRhTGlzdC5sZW5ndGg+MCYmSDYoZS52ZXJ0ZXhDb3VudCxlLnBvc2l0aW9ucyxlLnNjYWxlX3gsZS5zY2FsZV95LHQuY2FydG9ncmFwaGljQ2VudGVyLHQuZ2VvaWREYXRhTGlzdCwhMSkscTYoZS52ZXJ0ZXhDb3VudCxlLnBvc2l0aW9ucyxlLm5vcm1hbHMsdC5jYXJ0b2dyYXBoaWNDZW50ZXIsdC5jYXJ0ZXNpYW5DZW50ZXIsdC5wYXJlbnRSb3RhdGlvbix0LmVsbGlwc29pZFJhZGlpU3F1YXJlLGUuc2NhbGVfeCxlLnNjYWxlX3kpLGgoZS51djBzKSYmaChlWyJ1di1yZWdpb24iXSkmJks2KGUudmVydGV4Q291bnQsZS51djBzLGVbInV2LXJlZ2lvbiJdKTtsZXQgbjtpZihoKGVbImZlYXR1cmUtaW5kZXgiXSkpbj1lWyJmZWF0dXJlLWluZGV4Il07ZWxzZSBpZihoKGUuZmFjZVJhbmdlKSl7bj1uZXcgQXJyYXkoZS52ZXJ0ZXhDb3VudCk7Zm9yKGxldCBzPTA7czxlLmZhY2VSYW5nZS5sZW5ndGgtMTtzKz0yKXtsZXQgZj1zLzIsdT1lLmZhY2VSYW5nZVtzXSxjPWUuZmFjZVJhbmdlW3MrMV07Zm9yKGxldCBsPXU7bDw9YztsKyspbltsKjNdPWYsbltsKjMrMV09ZixuW2wqMysyXT1mfX1pZih0LmNhbGN1bGF0ZU5vcm1hbHMpe2xldCBzPXI4KGUudmVydGV4Q291bnQsZS5pbmRpY2VzLGUucG9zaXRpb25zLGUubm9ybWFscyxlLnV2MHMsZS5jb2xvcnMsbik7aChzLm5vcm1hbHMpJiYoZS5ub3JtYWxzPXMubm9ybWFscyxoKHMudmVydGV4Q291bnQpJiYoZS52ZXJ0ZXhDb3VudD1zLnZlcnRleENvdW50LGUuaW5kaWNlcz1zLmluZGljZXMsZS5wb3NpdGlvbnM9cy5wb3NpdGlvbnMsZS51djBzPXMudXYwcyxlLmNvbG9ycz1zLmNvbG9ycyxuPXMuZmVhdHVyZUluZGV4KSl9bGV0IG89aTgoZS52ZXJ0ZXhDb3VudCxlLmluZGljZXMsZS5wb3NpdGlvbnMsZS5ub3JtYWxzLGUudXYwcyxlLmNvbG9ycyxuLHQpLHI9e3Bvc2l0aW9uczplLnBvc2l0aW9ucyxpbmRpY2VzOmUuaW5kaWNlcyxmZWF0dXJlSW5kZXg6bixzb3VyY2VVUkw6dC51cmwsY2FydGVzaWFuQ2VudGVyOnQuY2FydGVzaWFuQ2VudGVyLHBhcmVudFJvdGF0aW9uOnQucGFyZW50Um90YXRpb259O3JldHVybiBvLl9jdXN0b21BdHRyaWJ1dGVzPXIse21lc2hEYXRhOm99fWFzeW5jIGZ1bmN0aW9uIGw4KHQsZSl7bGV0IG49dC53ZWJBc3NlbWJseUNvbmZpZztyZXR1cm4gaChuKSYmaChuLndhc21CaW5hcnlGaWxlKT9XZz1hd2FpdCgwLEtnLmRlZmF1bHQpKG4pOldnPWF3YWl0KDAsS2cuZGVmYXVsdCkoKSwhMH1mdW5jdGlvbiBwOCh0LGUpe2xldCBuPXQud2ViQXNzZW1ibHlDb25maWc7cmV0dXJuIGgobik/bDgodCxlKTp1OCh0LGUpfXZhciBLZyxXZyxBaSxwbSxkbSxtbSxxZyxobSxkOCxZZz1aKCgpPT57c28oKTtJdCgpO2Z0KCk7aWMoKTtadCgpO0llKCk7RnQoKTtQYSgpO0JuKCk7V3QoKTtLZz1kcihFZygpLDEpO3hTKCk7QWk9bmV3IGEscG09bmV3IGEsZG09bmV3IGE7bW09bmV3IGEscWc9bmV3IGE7aG09e3Bvc2l0aW9uOmZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LnZlcnRleENvdW50KjM7cmV0dXJuIHQucG9zaXRpb25zPW5ldyBGbG9hdDMyQXJyYXkoZSxuLG8pLG4rPW8qNCxufSxub3JtYWw6ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQudmVydGV4Q291bnQqMztyZXR1cm4gdC5ub3JtYWxzPW5ldyBGbG9hdDMyQXJyYXkoZSxuLG8pLG4rPW8qNCxufSx1djA6ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQudmVydGV4Q291bnQqMjtyZXR1cm4gdC51djBzPW5ldyBGbG9hdDMyQXJyYXkoZSxuLG8pLG4rPW8qNCxufSxjb2xvcjpmdW5jdGlvbih0LGUsbil7bGV0IG89dC52ZXJ0ZXhDb3VudCo0O3JldHVybiB0LmNvbG9ycz1uZXcgVWludDhBcnJheShlLG4sbyksbis9byxufSxmZWF0dXJlSWQ6ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQuZmVhdHVyZUNvdW50O3JldHVybiBuKz1vKjgsbn0saWQ6ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQuZmVhdHVyZUNvdW50O3JldHVybiBuKz1vKjgsbn0sZmFjZVJhbmdlOmZ1bmN0aW9uKHQsZSxuKXtsZXQgbz10LmZlYXR1cmVDb3VudCoyO3JldHVybiB0LmZhY2VSYW5nZT1uZXcgVWludDMyQXJyYXkoZSxuLG8pLG4rPW8qNCxufSx1dlJlZ2lvbjpmdW5jdGlvbih0LGUsbil7bGV0IG89dC52ZXJ0ZXhDb3VudCo0O3JldHVybiB0WyJ1di1yZWdpb24iXT1uZXcgVWludDE2QXJyYXkoZSxuLG8pLG4rPW8qMixufSxyZWdpb246ZnVuY3Rpb24odCxlLG4pe2xldCBvPXQudmVydGV4Q291bnQqNDtyZXR1cm4gdFsidXYtcmVnaW9uIl09bmV3IFVpbnQxNkFycmF5KGUsbixvKSxuKz1vKjIsbn19O2Q4PVFlKHA4KX0pO3ZhciBTZSxuciwkZz1aKCgpPT57JHMoKTtTZT17VU5TSUdORURfQllURTpxdC5VTlNJR05FRF9CWVRFLFVOU0lHTkVEX1NIT1JUOnF0LlVOU0lHTkVEX1NIT1JULFVOU0lHTkVEX0lOVDpxdC5VTlNJR05FRF9JTlQsRkxPQVQ6cXQuRkxPQVQsSEFMRl9GTE9BVDpxdC5IQUxGX0ZMT0FUX09FUyxVTlNJR05FRF9JTlRfMjRfODpxdC5VTlNJR05FRF9JTlRfMjRfOCxVTlNJR05FRF9TSE9SVF80XzRfNF80OnF0LlVOU0lHTkVEX1NIT1JUXzRfNF80XzQsVU5TSUdORURfU0hPUlRfNV81XzVfMTpxdC5VTlNJR05FRF9TSE9SVF81XzVfNV8xLFVOU0lHTkVEX1NIT1JUXzVfNl81OnF0LlVOU0lHTkVEX1NIT1JUXzVfNl81fTtTZS50b1dlYkdMQ29uc3RhbnQ9ZnVuY3Rpb24odCxlKXtzd2l0Y2godCl7Y2FzZSBTZS5VTlNJR05FRF9CWVRFOnJldHVybiBxdC5VTlNJR05FRF9CWVRFO2Nhc2UgU2UuVU5TSUdORURfU0hPUlQ6cmV0dXJuIHF0LlVOU0lHTkVEX1NIT1JUO2Nhc2UgU2UuVU5TSUdORURfSU5UOnJldHVybiBxdC5VTlNJR05FRF9JTlQ7Y2FzZSBTZS5GTE9BVDpyZXR1cm4gcXQuRkxPQVQ7Y2FzZSBTZS5IQUxGX0ZMT0FUOnJldHVybiBlLndlYmdsMj9xdC5IQUxGX0ZMT0FUOnF0LkhBTEZfRkxPQVRfT0VTO2Nhc2UgU2UuVU5TSUdORURfSU5UXzI0Xzg6cmV0dXJuIHF0LlVOU0lHTkVEX0lOVF8yNF84O2Nhc2UgU2UuVU5TSUdORURfU0hPUlRfNF80XzRfNDpyZXR1cm4gcXQuVU5TSUdORURfU0hPUlRfNF80XzRfNDtjYXNlIFNlLlVOU0lHTkVEX1NIT1JUXzVfNV81XzE6cmV0dXJuIHF0LlVOU0lHTkVEX1NIT1JUXzVfNV81XzE7Y2FzZSBTZS5VTlNJR05FRF9TSE9SVF81XzZfNTpyZXR1cm4gU2UuVU5TSUdORURfU0hPUlRfNV82XzV9fTtTZS5pc1BhY2tlZD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVNlLlVOU0lHTkVEX0lOVF8yNF84fHx0PT09U2UuVU5TSUdORURfU0hPUlRfNF80XzRfNHx8dD09PVNlLlVOU0lHTkVEX1NIT1JUXzVfNV81XzF8fHQ9PT1TZS5VTlNJR05FRF9TSE9SVF81XzZfNX07U2Uuc2l6ZUluQnl0ZXM9ZnVuY3Rpb24odCl7c3dpdGNoKHQpe2Nhc2UgU2UuVU5TSUdORURfQllURTpyZXR1cm4gMTtjYXNlIFNlLlVOU0lHTkVEX1NIT1JUOmNhc2UgU2UuVU5TSUdORURfU0hPUlRfNF80XzRfNDpjYXNlIFNlLlVOU0lHTkVEX1NIT1JUXzVfNV81XzE6Y2FzZSBTZS5VTlNJR05FRF9TSE9SVF81XzZfNTpjYXNlIFNlLkhBTEZfRkxPQVQ6cmV0dXJuIDI7Y2FzZSBTZS5VTlNJR05FRF9JTlQ6Y2FzZSBTZS5GTE9BVDpjYXNlIFNlLlVOU0lHTkVEX0lOVF8yNF84OnJldHVybiA0fX07U2UudmFsaWRhdGU9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1TZS5VTlNJR05FRF9CWVRFfHx0PT09U2UuVU5TSUdORURfU0hPUlR8fHQ9PT1TZS5VTlNJR05FRF9JTlR8fHQ9PT1TZS5GTE9BVHx8dD09PVNlLkhBTEZfRkxPQVR8fHQ9PT1TZS5VTlNJR05FRF9JTlRfMjRfOHx8dD09PVNlLlVOU0lHTkVEX1NIT1JUXzRfNF80XzR8fHQ9PT1TZS5VTlNJR05FRF9TSE9SVF81XzVfNV8xfHx0PT09U2UuVU5TSUdORURfU0hPUlRfNV82XzV9O1NlLmdldFR5cGVkQXJyYXlDb25zdHJ1Y3Rvcj1mdW5jdGlvbih0KXtsZXQgZT1TZS5zaXplSW5CeXRlcyh0KTtyZXR1cm4gZT09PVVpbnQ4QXJyYXkuQllURVNfUEVSX0VMRU1FTlQ/VWludDhBcnJheTplPT09VWludDE2QXJyYXkuQllURVNfUEVSX0VMRU1FTlQ/VWludDE2QXJyYXk6ZT09PUZsb2F0MzJBcnJheS5CWVRFU19QRVJfRUxFTUVOVCYmdD09PVNlLkZMT0FUP0Zsb2F0MzJBcnJheTpVaW50MzJBcnJheX07bnI9T2JqZWN0LmZyZWV6ZShTZSl9KTt2YXIgUnQsVm4sTlM9WigoKT0+eyRnKCk7JHMoKTtSdD17REVQVEhfQ09NUE9ORU5UOnF0LkRFUFRIX0NPTVBPTkVOVCxERVBUSF9TVEVOQ0lMOnF0LkRFUFRIX1NURU5DSUwsQUxQSEE6cXQuQUxQSEEsUkVEOnF0LlJFRCxSOnF0LlJFRCxSRzpxdC5SRyxSR0I6cXQuUkdCLFJHQkE6cXQuUkdCQSxMVU1JTkFOQ0U6cXQuTFVNSU5BTkNFLExVTUlOQU5DRV9BTFBIQTpxdC5MVU1JTkFOQ0VfQUxQSEEsUkdCX0RYVDE6cXQuQ09NUFJFU1NFRF9SR0JfUzNUQ19EWFQxX0VYVCxSR0JBX0RYVDE6cXQuQ09NUFJFU1NFRF9SR0JBX1MzVENfRFhUMV9FWFQsUkdCQV9EWFQzOnF0LkNPTVBSRVNTRURfUkdCQV9TM1RDX0RYVDNfRVhULFJHQkFfRFhUNTpxdC5DT01QUkVTU0VEX1JHQkFfUzNUQ19EWFQ1X0VYVCxSR0JfUFZSVENfNEJQUFYxOnF0LkNPTVBSRVNTRURfUkdCX1BWUlRDXzRCUFBWMV9JTUcsUkdCX1BWUlRDXzJCUFBWMTpxdC5DT01QUkVTU0VEX1JHQl9QVlJUQ18yQlBQVjFfSU1HLFJHQkFfUFZSVENfNEJQUFYxOnF0LkNPTVBSRVNTRURfUkdCQV9QVlJUQ180QlBQVjFfSU1HLFJHQkFfUFZSVENfMkJQUFYxOnF0LkNPTVBSRVNTRURfUkdCQV9QVlJUQ18yQlBQVjFfSU1HLFJHQkFfQVNUQzpxdC5DT01QUkVTU0VEX1JHQkFfQVNUQ180eDRfV0VCR0wsUkdCX0VUQzE6cXQuQ09NUFJFU1NFRF9SR0JfRVRDMV9XRUJHTCxSR0I4X0VUQzI6cXQuQ09NUFJFU1NFRF9SR0I4X0VUQzIsUkdCQThfRVRDMl9FQUM6cXQuQ09NUFJFU1NFRF9SR0JBOF9FVEMyX0VBQyxSR0JBX0JDNzpxdC5DT01QUkVTU0VEX1JHQkFfQlBUQ19VTk9STX07UnQuY29tcG9uZW50c0xlbmd0aD1mdW5jdGlvbih0KXtzd2l0Y2godCl7Y2FzZSBSdC5SR0I6cmV0dXJuIDM7Y2FzZSBSdC5SR0JBOnJldHVybiA0O2Nhc2UgUnQuTFVNSU5BTkNFX0FMUEhBOmNhc2UgUnQuUkc6cmV0dXJuIDI7Y2FzZSBSdC5BTFBIQTpjYXNlIFJ0LlJFRDpjYXNlIFJ0LkxVTUlOQU5DRTpyZXR1cm4gMTtjYXNlIFJ0LlI6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gMX19O1J0LnZhbGlkYXRlPWZ1bmN0aW9uKHQpe3JldHVybiB0PT09UnQuREVQVEhfQ09NUE9ORU5UfHx0PT09UnQuREVQVEhfU1RFTkNJTHx8dD09PVJ0LkFMUEhBfHx0PT09UnQuUkVEfHx0PT09UnQuUkd8fHQ9PT1SdC5SR0J8fHQ9PT1SdC5SR0JBfHx0PT09UnQuTFVNSU5BTkNFfHx0PT09UnQuTFVNSU5BTkNFX0FMUEhBfHx0PT09UnQuUkdCX0RYVDF8fHQ9PT1SdC5SR0JBX0RYVDF8fHQ9PT1SdC5SR0JBX0RYVDN8fHQ9PT1SdC5SR0JBX0RYVDV8fHQ9PT1SdC5SR0JfUFZSVENfNEJQUFYxfHx0PT09UnQuUkdCX1BWUlRDXzJCUFBWMXx8dD09PVJ0LlJHQkFfUFZSVENfNEJQUFYxfHx0PT09UnQuUkdCQV9QVlJUQ18yQlBQVjF8fHQ9PT1SdC5SR0JBX0FTVEN8fHQ9PT1SdC5SR0JfRVRDMXx8dD09PVJ0LlJHQjhfRVRDMnx8dD09PVJ0LlJHQkE4X0VUQzJfRUFDfHx0PT09UnQuUkdCQV9CQzd8fHQ9PT1SdC5SfTtSdC5pc0NvbG9yRm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiB0PT09UnQuUkVEfHx0PT09UnQuQUxQSEF8fHQ9PT1SdC5SR0J8fHQ9PT1SdC5SR0JBfHx0PT09UnQuTFVNSU5BTkNFfHx0PT09UnQuTFVNSU5BTkNFX0FMUEhBfHx0PT09UnQuUn07UnQuaXNEZXB0aEZvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVJ0LkRFUFRIX0NPTVBPTkVOVHx8dD09PVJ0LkRFUFRIX1NURU5DSUx9O1J0LmlzQ29tcHJlc3NlZEZvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVJ0LlJHQl9EWFQxfHx0PT09UnQuUkdCQV9EWFQxfHx0PT09UnQuUkdCQV9EWFQzfHx0PT09UnQuUkdCQV9EWFQ1fHx0PT09UnQuUkdCX1BWUlRDXzRCUFBWMXx8dD09PVJ0LlJHQl9QVlJUQ18yQlBQVjF8fHQ9PT1SdC5SR0JBX1BWUlRDXzRCUFBWMXx8dD09PVJ0LlJHQkFfUFZSVENfMkJQUFYxfHx0PT09UnQuUkdCQV9BU1RDfHx0PT09UnQuUkdCX0VUQzF8fHQ9PT1SdC5SR0I4X0VUQzJ8fHQ9PT1SdC5SR0JBOF9FVEMyX0VBQ3x8dD09PVJ0LlJHQkFfQkM3fTtSdC5pc0RYVEZvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVJ0LlJHQl9EWFQxfHx0PT09UnQuUkdCQV9EWFQxfHx0PT09UnQuUkdCQV9EWFQzfHx0PT09UnQuUkdCQV9EWFQ1fTtSdC5pc1BWUlRDRm9ybWF0PWZ1bmN0aW9uKHQpe3JldHVybiB0PT09UnQuUkdCX1BWUlRDXzRCUFBWMXx8dD09PVJ0LlJHQl9QVlJUQ18yQlBQVjF8fHQ9PT1SdC5SR0JBX1BWUlRDXzRCUFBWMXx8dD09PVJ0LlJHQkFfUFZSVENfMkJQUFYxfTtSdC5pc0FTVENGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1SdC5SR0JBX0FTVEN9O1J0LmlzRVRDMUZvcm1hdD1mdW5jdGlvbih0KXtyZXR1cm4gdD09PVJ0LlJHQl9FVEMxfTtSdC5pc0VUQzJGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1SdC5SR0I4X0VUQzJ8fHQ9PT1SdC5SR0JBOF9FVEMyX0VBQ307UnQuaXNCQzdGb3JtYXQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT1SdC5SR0JBX0JDN307UnQuY29tcHJlc3NlZFRleHR1cmVTaXplSW5CeXRlcz1mdW5jdGlvbih0LGUsbil7c3dpdGNoKHQpe2Nhc2UgUnQuUkdCX0RYVDE6Y2FzZSBSdC5SR0JBX0RYVDE6Y2FzZSBSdC5SR0JfRVRDMTpjYXNlIFJ0LlJHQjhfRVRDMjpyZXR1cm4gTWF0aC5mbG9vcigoZSszKS80KSpNYXRoLmZsb29yKChuKzMpLzQpKjg7Y2FzZSBSdC5SR0JBX0RYVDM6Y2FzZSBSdC5SR0JBX0RYVDU6Y2FzZSBSdC5SR0JBX0FTVEM6Y2FzZSBSdC5SR0JBOF9FVEMyX0VBQzpyZXR1cm4gTWF0aC5mbG9vcigoZSszKS80KSpNYXRoLmZsb29yKChuKzMpLzQpKjE2O2Nhc2UgUnQuUkdCX1BWUlRDXzRCUFBWMTpjYXNlIFJ0LlJHQkFfUFZSVENfNEJQUFYxOnJldHVybiBNYXRoLmZsb29yKChNYXRoLm1heChlLDgpKk1hdGgubWF4KG4sOCkqNCs3KS84KTtjYXNlIFJ0LlJHQl9QVlJUQ18yQlBQVjE6Y2FzZSBSdC5SR0JBX1BWUlRDXzJCUFBWMTpyZXR1cm4gTWF0aC5mbG9vcigoTWF0aC5tYXgoZSwxNikqTWF0aC5tYXgobiw4KSoyKzcpLzgpO2Nhc2UgUnQuUkdCQV9CQzc6cmV0dXJuIE1hdGguY2VpbChlLzQpKk1hdGguY2VpbChuLzQpKjE2O2RlZmF1bHQ6cmV0dXJuIDB9fTtSdC50ZXh0dXJlU2l6ZUluQnl0ZXM9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9UnQuY29tcG9uZW50c0xlbmd0aCh0KTtyZXR1cm4gbnIuaXNQYWNrZWQoZSkmJihyPTEpLHIqbnIuc2l6ZUluQnl0ZXMoZSkqbipvfTtSdC5hbGlnbm1lbnRJbkJ5dGVzPWZ1bmN0aW9uKHQsZSxuKXtsZXQgbz1SdC50ZXh0dXJlU2l6ZUluQnl0ZXModCxlLG4sMSklNDtyZXR1cm4gbz09PTA/NDpvPT09Mj8yOjF9O1J0LmNyZWF0ZVR5cGVkQXJyYXk9ZnVuY3Rpb24odCxlLG4sbyl7bGV0IHI9bnIuZ2V0VHlwZWRBcnJheUNvbnN0cnVjdG9yKGUpLGk9UnQuY29tcG9uZW50c0xlbmd0aCh0KSpuKm87cmV0dXJuIG5ldyByKGkpfTtSdC5mbGlwWT1mdW5jdGlvbih0LGUsbixvLHIpe2lmKHI9PT0xKXJldHVybiB0O2xldCBpPVJ0LmNyZWF0ZVR5cGVkQXJyYXkoZSxuLG8scikscz1SdC5jb21wb25lbnRzTGVuZ3RoKGUpLGY9bypzO2ZvcihsZXQgdT0wO3U8cjsrK3Upe2xldCBjPXUqbypzLGw9KHItdS0xKSpvKnM7Zm9yKGxldCBwPTA7cDxmOysrcClpW2wrcF09dFtjK3BdfXJldHVybiBpfTtSdC50b0ludGVybmFsRm9ybWF0PWZ1bmN0aW9uKHQsZSxuKXtpZighbi53ZWJnbDIpcmV0dXJuIHQ7aWYodD09PVJ0LkRFUFRIX1NURU5DSUwpcmV0dXJuIHF0LkRFUFRIMjRfU1RFTkNJTDg7aWYodD09PVJ0LkRFUFRIX0NPTVBPTkVOVCl7aWYoZT09PW5yLlVOU0lHTkVEX1NIT1JUKXJldHVybiBxdC5ERVBUSF9DT01QT05FTlQxNjtpZihlPT09bnIuVU5TSUdORURfSU5UKXJldHVybiBxdC5ERVBUSF9DT01QT05FTlQyNH1pZihlPT09bnIuRkxPQVQpc3dpdGNoKHQpe2Nhc2UgUnQuUkdCQTpyZXR1cm4gcXQuUkdCQTMyRjtjYXNlIFJ0LlJHQjpyZXR1cm4gcXQuUkdCMzJGO2Nhc2UgUnQuUkc6cmV0dXJuIHF0LlJHMzJGO2Nhc2UgUnQuUkVEOmNhc2UgUnQuUjpyZXR1cm4gcXQuUjMyRn1pZihlPT09bnIuSEFMRl9GTE9BVClzd2l0Y2godCl7Y2FzZSBSdC5SR0JBOnJldHVybiBxdC5SR0JBMTZGO2Nhc2UgUnQuUkdCOnJldHVybiBxdC5SR0IxNkY7Y2FzZSBSdC5SRzpyZXR1cm4gcXQuUkcxNkY7Y2FzZSBSdC5SRUQ6Y2FzZSBSdC5SOnJldHVybiBxdC5SMTZGfXJldHVybiB0fTtWbj1PYmplY3QuZnJlZXplKFJ0KX0pO3ZhciBtOCxfdSxJUz1aKCgpPT57bTg9e1ZLX0ZPUk1BVF9VTkRFRklORUQ6MCxWS19GT1JNQVRfUjRHNF9VTk9STV9QQUNLODoxLFZLX0ZPUk1BVF9SNEc0QjRBNF9VTk9STV9QQUNLMTY6MixWS19GT1JNQVRfQjRHNFI0QTRfVU5PUk1fUEFDSzE2OjMsVktfRk9STUFUX1I1RzZCNV9VTk9STV9QQUNLMTY6NCxWS19GT1JNQVRfQjVHNlI1X1VOT1JNX1BBQ0sxNjo1LFZLX0ZPUk1BVF9SNUc1QjVBMV9VTk9STV9QQUNLMTY6NixWS19GT1JNQVRfQjVHNVI1QTFfVU5PUk1fUEFDSzE2OjcsVktfRk9STUFUX0ExUjVHNUI1X1VOT1JNX1BBQ0sxNjo4LFZLX0ZPUk1BVF9SOF9VTk9STTo5LFZLX0ZPUk1BVF9SOF9TTk9STToxMCxWS19GT1JNQVRfUjhfVVNDQUxFRDoxMSxWS19GT1JNQVRfUjhfU1NDQUxFRDoxMixWS19GT1JNQVRfUjhfVUlOVDoxMyxWS19GT1JNQVRfUjhfU0lOVDoxNCxWS19GT1JNQVRfUjhfU1JHQjoxNSxWS19GT1JNQVRfUjhHOF9VTk9STToxNixWS19GT1JNQVRfUjhHOF9TTk9STToxNyxWS19GT1JNQVRfUjhHOF9VU0NBTEVEOjE4LFZLX0ZPUk1BVF9SOEc4X1NTQ0FMRUQ6MTksVktfRk9STUFUX1I4RzhfVUlOVDoyMCxWS19GT1JNQVRfUjhHOF9TSU5UOjIxLFZLX0ZPUk1BVF9SOEc4X1NSR0I6MjIsVktfRk9STUFUX1I4RzhCOF9VTk9STToyMyxWS19GT1JNQVRfUjhHOEI4X1NOT1JNOjI0LFZLX0ZPUk1BVF9SOEc4QjhfVVNDQUxFRDoyNSxWS19GT1JNQVRfUjhHOEI4X1NTQ0FMRUQ6MjYsVktfRk9STUFUX1I4RzhCOF9VSU5UOjI3LFZLX0ZPUk1BVF9SOEc4QjhfU0lOVDoyOCxWS19GT1JNQVRfUjhHOEI4X1NSR0I6MjksVktfRk9STUFUX0I4RzhSOF9VTk9STTozMCxWS19GT1JNQVRfQjhHOFI4X1NOT1JNOjMxLFZLX0ZPUk1BVF9COEc4UjhfVVNDQUxFRDozMixWS19GT1JNQVRfQjhHOFI4X1NTQ0FMRUQ6MzMsVktfRk9STUFUX0I4RzhSOF9VSU5UOjM0LFZLX0ZPUk1BVF9COEc4UjhfU0lOVDozNSxWS19GT1JNQVRfQjhHOFI4X1NSR0I6MzYsVktfRk9STUFUX1I4RzhCOEE4X1VOT1JNOjM3LFZLX0ZPUk1BVF9SOEc4QjhBOF9TTk9STTozOCxWS19GT1JNQVRfUjhHOEI4QThfVVNDQUxFRDozOSxWS19GT1JNQVRfUjhHOEI4QThfU1NDQUxFRDo0MCxWS19GT1JNQVRfUjhHOEI4QThfVUlOVDo0MSxWS19GT1JNQVRfUjhHOEI4QThfU0lOVDo0MixWS19GT1JNQVRfUjhHOEI4QThfU1JHQjo0MyxWS19GT1JNQVRfQjhHOFI4QThfVU5PUk06NDQsVktfRk9STUFUX0I4RzhSOEE4X1NOT1JNOjQ1LFZLX0ZPUk1BVF9COEc4UjhBOF9VU0NBTEVEOjQ2LFZLX0ZPUk1BVF9COEc4UjhBOF9TU0NBTEVEOjQ3LFZLX0ZPUk1BVF9COEc4UjhBOF9VSU5UOjQ4LFZLX0ZPUk1BVF9COEc4UjhBOF9TSU5UOjQ5LFZLX0ZPUk1BVF9COEc4UjhBOF9TUkdCOjUwLFZLX0ZPUk1BVF9BOEI4RzhSOF9VTk9STV9QQUNLMzI6NTEsVktfRk9STUFUX0E4QjhHOFI4X1NOT1JNX1BBQ0szMjo1MixWS19GT1JNQVRfQThCOEc4UjhfVVNDQUxFRF9QQUNLMzI6NTMsVktfRk9STUFUX0E4QjhHOFI4X1NTQ0FMRURfUEFDSzMyOjU0LFZLX0ZPUk1BVF9BOEI4RzhSOF9VSU5UX1BBQ0szMjo1NSxWS19GT1JNQVRfQThCOEc4UjhfU0lOVF9QQUNLMzI6NTYsVktfRk9STUFUX0E4QjhHOFI4X1NSR0JfUEFDSzMyOjU3LFZLX0ZPUk1BVF9BMlIxMEcxMEIxMF9VTk9STV9QQUNLMzI6NTgsVktfRk9STUFUX0EyUjEwRzEwQjEwX1NOT1JNX1BBQ0szMjo1OSxWS19GT1JNQVRfQTJSMTBHMTBCMTBfVVNDQUxFRF9QQUNLMzI6NjAsVktfRk9STUFUX0EyUjEwRzEwQjEwX1NTQ0FMRURfUEFDSzMyOjYxLFZLX0ZPUk1BVF9BMlIxMEcxMEIxMF9VSU5UX1BBQ0szMjo2MixWS19GT1JNQVRfQTJSMTBHMTBCMTBfU0lOVF9QQUNLMzI6NjMsVktfRk9STUFUX0EyQjEwRzEwUjEwX1VOT1JNX1BBQ0szMjo2NCxWS19GT1JNQVRfQTJCMTBHMTBSMTBfU05PUk1fUEFDSzMyOjY1LFZLX0ZPUk1BVF9BMkIxMEcxMFIxMF9VU0NBTEVEX1BBQ0szMjo2NixWS19GT1JNQVRfQTJCMTBHMTBSMTBfU1NDQUxFRF9QQUNLMzI6NjcsVktfRk9STUFUX0EyQjEwRzEwUjEwX1VJTlRfUEFDSzMyOjY4LFZLX0ZPUk1BVF9BMkIxMEcxMFIxMF9TSU5UX1BBQ0szMjo2OSxWS19GT1JNQVRfUjE2X1VOT1JNOjcwLFZLX0ZPUk1BVF9SMTZfU05PUk06NzEsVktfRk9STUFUX1IxNl9VU0NBTEVEOjcyLFZLX0ZPUk1BVF9SMTZfU1NDQUxFRDo3MyxWS19GT1JNQVRfUjE2X1VJTlQ6NzQsVktfRk9STUFUX1IxNl9TSU5UOjc1LFZLX0ZPUk1BVF9SMTZfU0ZMT0FUOjc2LFZLX0ZPUk1BVF9SMTZHMTZfVU5PUk06NzcsVktfRk9STUFUX1IxNkcxNl9TTk9STTo3OCxWS19GT1JNQVRfUjE2RzE2X1VTQ0FMRUQ6NzksVktfRk9STUFUX1IxNkcxNl9TU0NBTEVEOjgwLFZLX0ZPUk1BVF9SMTZHMTZfVUlOVDo4MSxWS19GT1JNQVRfUjE2RzE2X1NJTlQ6ODIsVktfRk9STUFUX1IxNkcxNl9TRkxPQVQ6ODMsVktfRk9STUFUX1IxNkcxNkIxNl9VTk9STTo4NCxWS19GT1JNQVRfUjE2RzE2QjE2X1NOT1JNOjg1LFZLX0ZPUk1BVF9SMTZHMTZCMTZfVVNDQUxFRDo4NixWS19GT1JNQVRfUjE2RzE2QjE2X1NTQ0FMRUQ6ODcsVktfRk9STUFUX1IxNkcxNkIxNl9VSU5UOjg4LFZLX0ZPUk1BVF9SMTZHMTZCMTZfU0lOVDo4OSxWS19GT1JNQVRfUjE2RzE2QjE2X1NGTE9BVDo5MCxWS19GT1JNQVRfUjE2RzE2QjE2QTE2X1VOT1JNOjkxLFZLX0ZPUk1BVF9SMTZHMTZCMTZBMTZfU05PUk06OTIsVktfRk9STUFUX1IxNkcxNkIxNkExNl9VU0NBTEVEOjkzLFZLX0ZPUk1BVF9SMTZHMTZCMTZBMTZfU1NDQUxFRDo5NCxWS19GT1JNQVRfUjE2RzE2QjE2QTE2X1VJTlQ6OTUsVktfRk9STUFUX1IxNkcxNkIxNkExNl9TSU5UOjk2LFZLX0ZPUk1BVF9SMTZHMTZCMTZBMTZfU0ZMT0FUOjk3LFZLX0ZPUk1BVF9SMzJfVUlOVDo5OCxWS19GT1JNQVRfUjMyX1NJTlQ6OTksVktfRk9STUFUX1IzMl9TRkxPQVQ6MTAwLFZLX0ZPUk1BVF9SMzJHMzJfVUlOVDoxMDEsVktfRk9STUFUX1IzMkczMl9TSU5UOjEwMixWS19GT1JNQVRfUjMyRzMyX1NGTE9BVDoxMDMsVktfRk9STUFUX1IzMkczMkIzMl9VSU5UOjEwNCxWS19GT1JNQVRfUjMyRzMyQjMyX1NJTlQ6MTA1LFZLX0ZPUk1BVF9SMzJHMzJCMzJfU0ZMT0FUOjEwNixWS19GT1JNQVRfUjMyRzMyQjMyQTMyX1VJTlQ6MTA3LFZLX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0lOVDoxMDgsVktfRk9STUFUX1IzMkczMkIzMkEzMl9TRkxPQVQ6MTA5LFZLX0ZPUk1BVF9SNjRfVUlOVDoxMTAsVktfRk9STUFUX1I2NF9TSU5UOjExMSxWS19GT1JNQVRfUjY0X1NGTE9BVDoxMTIsVktfRk9STUFUX1I2NEc2NF9VSU5UOjExMyxWS19GT1JNQVRfUjY0RzY0X1NJTlQ6MTE0LFZLX0ZPUk1BVF9SNjRHNjRfU0ZMT0FUOjExNSxWS19GT1JNQVRfUjY0RzY0QjY0X1VJTlQ6MTE2LFZLX0ZPUk1BVF9SNjRHNjRCNjRfU0lOVDoxMTcsVktfRk9STUFUX1I2NEc2NEI2NF9TRkxPQVQ6MTE4LFZLX0ZPUk1BVF9SNjRHNjRCNjRBNjRfVUlOVDoxMTksVktfRk9STUFUX1I2NEc2NEI2NEE2NF9TSU5UOjEyMCxWS19GT1JNQVRfUjY0RzY0QjY0QTY0X1NGTE9BVDoxMjEsVktfRk9STUFUX0IxMEcxMVIxMV9VRkxPQVRfUEFDSzMyOjEyMixWS19GT1JNQVRfRTVCOUc5UjlfVUZMT0FUX1BBQ0szMjoxMjMsVktfRk9STUFUX0QxNl9VTk9STToxMjQsVktfRk9STUFUX1g4X0QyNF9VTk9STV9QQUNLMzI6MTI1LFZLX0ZPUk1BVF9EMzJfU0ZMT0FUOjEyNixWS19GT1JNQVRfUzhfVUlOVDoxMjcsVktfRk9STUFUX0QxNl9VTk9STV9TOF9VSU5UOjEyOCxWS19GT1JNQVRfRDI0X1VOT1JNX1M4X1VJTlQ6MTI5LFZLX0ZPUk1BVF9EMzJfU0ZMT0FUX1M4X1VJTlQ6MTMwLFZLX0ZPUk1BVF9CQzFfUkdCX1VOT1JNX0JMT0NLOjEzMSxWS19GT1JNQVRfQkMxX1JHQl9TUkdCX0JMT0NLOjEzMixWS19GT1JNQVRfQkMxX1JHQkFfVU5PUk1fQkxPQ0s6MTMzLFZLX0ZPUk1BVF9CQzFfUkdCQV9TUkdCX0JMT0NLOjEzNCxWS19GT1JNQVRfQkMyX1VOT1JNX0JMT0NLOjEzNSxWS19GT1JNQVRfQkMyX1NSR0JfQkxPQ0s6MTM2LFZLX0ZPUk1BVF9CQzNfVU5PUk1fQkxPQ0s6MTM3LFZLX0ZPUk1BVF9CQzNfU1JHQl9CTE9DSzoxMzgsVktfRk9STUFUX0JDNF9VTk9STV9CTE9DSzoxMzksVktfRk9STUFUX0JDNF9TTk9STV9CTE9DSzoxNDAsVktfRk9STUFUX0JDNV9VTk9STV9CTE9DSzoxNDEsVktfRk9STUFUX0JDNV9TTk9STV9CTE9DSzoxNDIsVktfRk9STUFUX0JDNkhfVUZMT0FUX0JMT0NLOjE0MyxWS19GT1JNQVRfQkM2SF9TRkxPQVRfQkxPQ0s6MTQ0LFZLX0ZPUk1BVF9CQzdfVU5PUk1fQkxPQ0s6MTQ1LFZLX0ZPUk1BVF9CQzdfU1JHQl9CTE9DSzoxNDYsVktfRk9STUFUX0VUQzJfUjhHOEI4X1VOT1JNX0JMT0NLOjE0NyxWS19GT1JNQVRfRVRDMl9SOEc4QjhfU1JHQl9CTE9DSzoxNDgsVktfRk9STUFUX0VUQzJfUjhHOEI4QTFfVU5PUk1fQkxPQ0s6MTQ5LFZLX0ZPUk1BVF9FVEMyX1I4RzhCOEExX1NSR0JfQkxPQ0s6MTUwLFZLX0ZPUk1BVF9FVEMyX1I4RzhCOEE4X1VOT1JNX0JMT0NLOjE1MSxWS19GT1JNQVRfRVRDMl9SOEc4QjhBOF9TUkdCX0JMT0NLOjE1MixWS19GT1JNQVRfRUFDX1IxMV9VTk9STV9CTE9DSzoxNTMsVktfRk9STUFUX0VBQ19SMTFfU05PUk1fQkxPQ0s6MTU0LFZLX0ZPUk1BVF9FQUNfUjExRzExX1VOT1JNX0JMT0NLOjE1NSxWS19GT1JNQVRfRUFDX1IxMUcxMV9TTk9STV9CTE9DSzoxNTYsVktfRk9STUFUX0FTVENfNHg0X1VOT1JNX0JMT0NLOjE1NyxWS19GT1JNQVRfQVNUQ180eDRfU1JHQl9CTE9DSzoxNTgsVktfRk9STUFUX0FTVENfNXg0X1VOT1JNX0JMT0NLOjE1OSxWS19GT1JNQVRfQVNUQ181eDRfU1JHQl9CTE9DSzoxNjAsVktfRk9STUFUX0FTVENfNXg1X1VOT1JNX0JMT0NLOjE2MSxWS19GT1JNQVRfQVNUQ181eDVfU1JHQl9CTE9DSzoxNjIsVktfRk9STUFUX0FTVENfNng1X1VOT1JNX0JMT0NLOjE2MyxWS19GT1JNQVRfQVNUQ182eDVfU1JHQl9CTE9DSzoxNjQsVktfRk9STUFUX0FTVENfNng2X1VOT1JNX0JMT0NLOjE2NSxWS19GT1JNQVRfQVNUQ182eDZfU1JHQl9CTE9DSzoxNjYsVktfRk9STUFUX0FTVENfOHg1X1VOT1JNX0JMT0NLOjE2NyxWS19GT1JNQVRfQVNUQ184eDVfU1JHQl9CTE9DSzoxNjgsVktfRk9STUFUX0FTVENfOHg2X1VOT1JNX0JMT0NLOjE2OSxWS19GT1JNQVRfQVNUQ184eDZfU1JHQl9CTE9DSzoxNzAsVktfRk9STUFUX0FTVENfOHg4X1VOT1JNX0JMT0NLOjE3MSxWS19GT1JNQVRfQVNUQ184eDhfU1JHQl9CTE9DSzoxNzIsVktfRk9STUFUX0FTVENfMTB4NV9VTk9STV9CTE9DSzoxNzMsVktfRk9STUFUX0FTVENfMTB4NV9TUkdCX0JMT0NLOjE3NCxWS19GT1JNQVRfQVNUQ18xMHg2X1VOT1JNX0JMT0NLOjE3NSxWS19GT1JNQVRfQVNUQ18xMHg2X1NSR0JfQkxPQ0s6MTc2LFZLX0ZPUk1BVF9BU1RDXzEweDhfVU5PUk1fQkxPQ0s6MTc3LFZLX0ZPUk1BVF9BU1RDXzEweDhfU1JHQl9CTE9DSzoxNzgsVktfRk9STUFUX0FTVENfMTB4MTBfVU5PUk1fQkxPQ0s6MTc5LFZLX0ZPUk1BVF9BU1RDXzEweDEwX1NSR0JfQkxPQ0s6MTgwLFZLX0ZPUk1BVF9BU1RDXzEyeDEwX1VOT1JNX0JMT0NLOjE4MSxWS19GT1JNQVRfQVNUQ18xMngxMF9TUkdCX0JMT0NLOjE4MixWS19GT1JNQVRfQVNUQ18xMngxMl9VTk9STV9CTE9DSzoxODMsVktfRk9STUFUX0FTVENfMTJ4MTJfU1JHQl9CTE9DSzoxODQsVktfRk9STUFUX0c4QjhHOFI4XzQyMl9VTk9STToxMDAwMTU2ZTMsVktfRk9STUFUX0I4RzhSOEc4XzQyMl9VTk9STToxMDAwMTU2MDAxLFZLX0ZPUk1BVF9HOF9COF9SOF8zUExBTkVfNDIwX1VOT1JNOjEwMDAxNTYwMDIsVktfRk9STUFUX0c4X0I4UjhfMlBMQU5FXzQyMF9VTk9STToxMDAwMTU2MDAzLFZLX0ZPUk1BVF9HOF9COF9SOF8zUExBTkVfNDIyX1VOT1JNOjEwMDAxNTYwMDQsVktfRk9STUFUX0c4X0I4UjhfMlBMQU5FXzQyMl9VTk9STToxMDAwMTU2MDA1LFZLX0ZPUk1BVF9HOF9COF9SOF8zUExBTkVfNDQ0X1VOT1JNOjEwMDAxNTYwMDYsVktfRk9STUFUX1IxMFg2X1VOT1JNX1BBQ0sxNjoxMDAwMTU2MDA3LFZLX0ZPUk1BVF9SMTBYNkcxMFg2X1VOT1JNXzJQQUNLMTY6MTAwMDE1NjAwOCxWS19GT1JNQVRfUjEwWDZHMTBYNkIxMFg2QTEwWDZfVU5PUk1fNFBBQ0sxNjoxMDAwMTU2MDA5LFZLX0ZPUk1BVF9HMTBYNkIxMFg2RzEwWDZSMTBYNl80MjJfVU5PUk1fNFBBQ0sxNjoxMDAwMTU2MDEwLFZLX0ZPUk1BVF9CMTBYNkcxMFg2UjEwWDZHMTBYNl80MjJfVU5PUk1fNFBBQ0sxNjoxMDAwMTU2MDExLFZLX0ZPUk1BVF9HMTBYNl9CMTBYNl9SMTBYNl8zUExBTkVfNDIwX1VOT1JNXzNQQUNLMTY6MTAwMDE1NjAxMixWS19GT1JNQVRfRzEwWDZfQjEwWDZSMTBYNl8yUExBTkVfNDIwX1VOT1JNXzNQQUNLMTY6MTAwMDE1NjAxMyxWS19GT1JNQVRfRzEwWDZfQjEwWDZfUjEwWDZfM1BMQU5FXzQyMl9VTk9STV8zUEFDSzE2OjEwMDAxNTYwMTQsVktfRk9STUFUX0cxMFg2X0IxMFg2UjEwWDZfMlBMQU5FXzQyMl9VTk9STV8zUEFDSzE2OjEwMDAxNTYwMTUsVktfRk9STUFUX0cxMFg2X0IxMFg2X1IxMFg2XzNQTEFORV80NDRfVU5PUk1fM1BBQ0sxNjoxMDAwMTU2MDE2LFZLX0ZPUk1BVF9SMTJYNF9VTk9STV9QQUNLMTY6MTAwMDE1NjAxNyxWS19GT1JNQVRfUjEyWDRHMTJYNF9VTk9STV8yUEFDSzE2OjEwMDAxNTYwMTgsVktfRk9STUFUX1IxMlg0RzEyWDRCMTJYNEExMlg0X1VOT1JNXzRQQUNLMTY6MTAwMDE1NjAxOSxWS19GT1JNQVRfRzEyWDRCMTJYNEcxMlg0UjEyWDRfNDIyX1VOT1JNXzRQQUNLMTY6MTAwMDE1NjAyMCxWS19GT1JNQVRfQjEyWDRHMTJYNFIxMlg0RzEyWDRfNDIyX1VOT1JNXzRQQUNLMTY6MTAwMDE1NjAyMSxWS19GT1JNQVRfRzEyWDRfQjEyWDRfUjEyWDRfM1BMQU5FXzQyMF9VTk9STV8zUEFDSzE2OjEwMDAxNTYwMjIsVktfRk9STUFUX0cxMlg0X0IxMlg0UjEyWDRfMlBMQU5FXzQyMF9VTk9STV8zUEFDSzE2OjEwMDAxNTYwMjMsVktfRk9STUFUX0cxMlg0X0IxMlg0X1IxMlg0XzNQTEFORV80MjJfVU5PUk1fM1BBQ0sxNjoxMDAwMTU2MDI0LFZLX0ZPUk1BVF9HMTJYNF9CMTJYNFIxMlg0XzJQTEFORV80MjJfVU5PUk1fM1BBQ0sxNjoxMDAwMTU2MDI1LFZLX0ZPUk1BVF9HMTJYNF9CMTJYNF9SMTJYNF8zUExBTkVfNDQ0X1VOT1JNXzNQQUNLMTY6MTAwMDE1NjAyNixWS19GT1JNQVRfRzE2QjE2RzE2UjE2XzQyMl9VTk9STToxMDAwMTU2MDI3LFZLX0ZPUk1BVF9CMTZHMTZSMTZHMTZfNDIyX1VOT1JNOjEwMDAxNTYwMjgsVktfRk9STUFUX0cxNl9CMTZfUjE2XzNQTEFORV80MjBfVU5PUk06MTAwMDE1NjAyOSxWS19GT1JNQVRfRzE2X0IxNlIxNl8yUExBTkVfNDIwX1VOT1JNOjEwMDAxNTYwMzAsVktfRk9STUFUX0cxNl9CMTZfUjE2XzNQTEFORV80MjJfVU5PUk06MTAwMDE1NjAzMSxWS19GT1JNQVRfRzE2X0IxNlIxNl8yUExBTkVfNDIyX1VOT1JNOjEwMDAxNTYwMzIsVktfRk9STUFUX0cxNl9CMTZfUjE2XzNQTEFORV80NDRfVU5PUk06MTAwMDE1NjAzMyxWS19GT1JNQVRfUFZSVEMxXzJCUFBfVU5PUk1fQkxPQ0tfSU1HOjEwMDAwNTRlMyxWS19GT1JNQVRfUFZSVEMxXzRCUFBfVU5PUk1fQkxPQ0tfSU1HOjEwMDAwNTQwMDEsVktfRk9STUFUX1BWUlRDMl8yQlBQX1VOT1JNX0JMT0NLX0lNRzoxMDAwMDU0MDAyLFZLX0ZPUk1BVF9QVlJUQzJfNEJQUF9VTk9STV9CTE9DS19JTUc6MTAwMDA1NDAwMyxWS19GT1JNQVRfUFZSVEMxXzJCUFBfU1JHQl9CTE9DS19JTUc6MTAwMDA1NDAwNCxWS19GT1JNQVRfUFZSVEMxXzRCUFBfU1JHQl9CTE9DS19JTUc6MTAwMDA1NDAwNSxWS19GT1JNQVRfUFZSVEMyXzJCUFBfU1JHQl9CTE9DS19JTUc6MTAwMDA1NDAwNixWS19GT1JNQVRfUFZSVEMyXzRCUFBfU1JHQl9CTE9DS19JTUc6MTAwMDA1NDAwNyxWS19GT1JNQVRfQVNUQ180eDRfU0ZMT0FUX0JMT0NLX0VYVDoxMDAwMDY2ZTMsVktfRk9STUFUX0FTVENfNXg0X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAwMSxWS19GT1JNQVRfQVNUQ181eDVfU0ZMT0FUX0JMT0NLX0VYVDoxMDAwMDY2MDAyLFZLX0ZPUk1BVF9BU1RDXzZ4NV9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMDMsVktfRk9STUFUX0FTVENfNng2X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAwNCxWS19GT1JNQVRfQVNUQ184eDVfU0ZMT0FUX0JMT0NLX0VYVDoxMDAwMDY2MDA1LFZLX0ZPUk1BVF9BU1RDXzh4Nl9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMDYsVktfRk9STUFUX0FTVENfOHg4X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAwNyxWS19GT1JNQVRfQVNUQ18xMHg1X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAwOCxWS19GT1JNQVRfQVNUQ18xMHg2X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAwOSxWS19GT1JNQVRfQVNUQ18xMHg4X1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAxMCxWS19GT1JNQVRfQVNUQ18xMHgxMF9TRkxPQVRfQkxPQ0tfRVhUOjEwMDAwNjYwMTEsVktfRk9STUFUX0FTVENfMTJ4MTBfU0ZMT0FUX0JMT0NLX0VYVDoxMDAwMDY2MDEyLFZLX0ZPUk1BVF9BU1RDXzEyeDEyX1NGTE9BVF9CTE9DS19FWFQ6MTAwMDA2NjAxMyxWS19GT1JNQVRfRzhCOEc4UjhfNDIyX1VOT1JNX0tIUjoxMDAwMTU2ZTMsVktfRk9STUFUX0I4RzhSOEc4XzQyMl9VTk9STV9LSFI6MTAwMDE1NjAwMSxWS19GT1JNQVRfRzhfQjhfUjhfM1BMQU5FXzQyMF9VTk9STV9LSFI6MTAwMDE1NjAwMixWS19GT1JNQVRfRzhfQjhSOF8yUExBTkVfNDIwX1VOT1JNX0tIUjoxMDAwMTU2MDAzLFZLX0ZPUk1BVF9HOF9COF9SOF8zUExBTkVfNDIyX1VOT1JNX0tIUjoxMDAwMTU2MDA0LFZLX0ZPUk1BVF9HOF9COFI4XzJQTEFORV80MjJfVU5PUk1fS0hSOjEwMDAxNTYwMDUsVktfRk9STUFUX0c4X0I4X1I4XzNQTEFORV80NDRfVU5PUk1fS0hSOjEwMDAxNTYwMDYsVktfRk9STUFUX1IxMFg2X1VOT1JNX1BBQ0sxNl9LSFI6MTAwMDE1NjAwNyxWS19GT1JNQVRfUjEwWDZHMTBYNl9VTk9STV8yUEFDSzE2X0tIUjoxMDAwMTU2MDA4LFZLX0ZPUk1BVF9SMTBYNkcxMFg2QjEwWDZBMTBYNl9VTk9STV80UEFDSzE2X0tIUjoxMDAwMTU2MDA5LFZLX0ZPUk1BVF9HMTBYNkIxMFg2RzEwWDZSMTBYNl80MjJfVU5PUk1fNFBBQ0sxNl9LSFI6MTAwMDE1NjAxMCxWS19GT1JNQVRfQjEwWDZHMTBYNlIxMFg2RzEwWDZfNDIyX1VOT1JNXzRQQUNLMTZfS0hSOjEwMDAxNTYwMTEsVktfRk9STUFUX0cxMFg2X0IxMFg2X1IxMFg2XzNQTEFORV80MjBfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAxMixWS19GT1JNQVRfRzEwWDZfQjEwWDZSMTBYNl8yUExBTkVfNDIwX1VOT1JNXzNQQUNLMTZfS0hSOjEwMDAxNTYwMTMsVktfRk9STUFUX0cxMFg2X0IxMFg2X1IxMFg2XzNQTEFORV80MjJfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAxNCxWS19GT1JNQVRfRzEwWDZfQjEwWDZSMTBYNl8yUExBTkVfNDIyX1VOT1JNXzNQQUNLMTZfS0hSOjEwMDAxNTYwMTUsVktfRk9STUFUX0cxMFg2X0IxMFg2X1IxMFg2XzNQTEFORV80NDRfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAxNixWS19GT1JNQVRfUjEyWDRfVU5PUk1fUEFDSzE2X0tIUjoxMDAwMTU2MDE3LFZLX0ZPUk1BVF9SMTJYNEcxMlg0X1VOT1JNXzJQQUNLMTZfS0hSOjEwMDAxNTYwMTgsVktfRk9STUFUX1IxMlg0RzEyWDRCMTJYNEExMlg0X1VOT1JNXzRQQUNLMTZfS0hSOjEwMDAxNTYwMTksVktfRk9STUFUX0cxMlg0QjEyWDRHMTJYNFIxMlg0XzQyMl9VTk9STV80UEFDSzE2X0tIUjoxMDAwMTU2MDIwLFZLX0ZPUk1BVF9CMTJYNEcxMlg0UjEyWDRHMTJYNF80MjJfVU5PUk1fNFBBQ0sxNl9LSFI6MTAwMDE1NjAyMSxWS19GT1JNQVRfRzEyWDRfQjEyWDRfUjEyWDRfM1BMQU5FXzQyMF9VTk9STV8zUEFDSzE2X0tIUjoxMDAwMTU2MDIyLFZLX0ZPUk1BVF9HMTJYNF9CMTJYNFIxMlg0XzJQTEFORV80MjBfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAyMyxWS19GT1JNQVRfRzEyWDRfQjEyWDRfUjEyWDRfM1BMQU5FXzQyMl9VTk9STV8zUEFDSzE2X0tIUjoxMDAwMTU2MDI0LFZLX0ZPUk1BVF9HMTJYNF9CMTJYNFIxMlg0XzJQTEFORV80MjJfVU5PUk1fM1BBQ0sxNl9LSFI6MTAwMDE1NjAyNSxWS19GT1JNQVRfRzEyWDRfQjEyWDRfUjEyWDRfM1BMQU5FXzQ0NF9VTk9STV8zUEFDSzE2X0tIUjoxMDAwMTU2MDI2LFZLX0ZPUk1BVF9HMTZCMTZHMTZSMTZfNDIyX1VOT1JNX0tIUjoxMDAwMTU2MDI3LFZLX0ZPUk1BVF9CMTZHMTZSMTZHMTZfNDIyX1VOT1JNX0tIUjoxMDAwMTU2MDI4LFZLX0ZPUk1BVF9HMTZfQjE2X1IxNl8zUExBTkVfNDIwX1VOT1JNX0tIUjoxMDAwMTU2MDI5LFZLX0ZPUk1BVF9HMTZfQjE2UjE2XzJQTEFORV80MjBfVU5PUk1fS0hSOjEwMDAxNTYwMzAsVktfRk9STUFUX0cxNl9CMTZfUjE2XzNQTEFORV80MjJfVU5PUk1fS0hSOjEwMDAxNTYwMzEsVktfRk9STUFUX0cxNl9CMTZSMTZfMlBMQU5FXzQyMl9VTk9STV9LSFI6MTAwMDE1NjAzMixWS19GT1JNQVRfRzE2X0IxNl9SMTZfM1BMQU5FXzQ0NF9VTk9STV9LSFI6MTAwMDE1NjAzM30sX3U9T2JqZWN0LmZyZWV6ZShtOCl9KTtmdW5jdGlvbiB2Uyh0KXtyZXR1cm4gdHlwZW9mIFRleHREZWNvZGVyPCJ1Ij9uZXcgVGV4dERlY29kZXIoKS5kZWNvZGUodCk6QnVmZmVyLmZyb20odCkudG9TdHJpbmcoInV0ZjgiKX1mdW5jdGlvbiBMUyh0KXtsZXQgZT1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQsa28ubGVuZ3RoKTtpZihlWzBdIT09a29bMF18fGVbMV0hPT1rb1sxXXx8ZVsyXSE9PWtvWzJdfHxlWzNdIT09a29bM118fGVbNF0hPT1rb1s0XXx8ZVs1XSE9PWtvWzVdfHxlWzZdIT09a29bNl18fGVbN10hPT1rb1s3XXx8ZVs4XSE9PWtvWzhdfHxlWzldIT09a29bOV18fGVbMTBdIT09a29bMTBdfHxlWzExXSE9PWtvWzExXSl0aHJvdyBuZXcgRXJyb3IoIk1pc3NpbmcgS1RYIDIuMCBpZGVudGlmaWVyLiIpO2xldCBuPW5ldyBaZyxvPTE3KlVpbnQzMkFycmF5LkJZVEVTX1BFUl9FTEVNRU5ULHI9bmV3IFBjKHQsa28ubGVuZ3RoLG8sITApO24udmtGb3JtYXQ9ci5fbmV4dFVpbnQzMigpLG4udHlwZVNpemU9ci5fbmV4dFVpbnQzMigpLG4ucGl4ZWxXaWR0aD1yLl9uZXh0VWludDMyKCksbi5waXhlbEhlaWdodD1yLl9uZXh0VWludDMyKCksbi5waXhlbERlcHRoPXIuX25leHRVaW50MzIoKSxuLmxheWVyQ291bnQ9ci5fbmV4dFVpbnQzMigpLG4uZmFjZUNvdW50PXIuX25leHRVaW50MzIoKTtsZXQgaT1yLl9uZXh0VWludDMyKCk7bi5zdXBlcmNvbXByZXNzaW9uU2NoZW1lPXIuX25leHRVaW50MzIoKTtsZXQgcz1yLl9uZXh0VWludDMyKCksZj1yLl9uZXh0VWludDMyKCksdT1yLl9uZXh0VWludDMyKCksYz1yLl9uZXh0VWludDMyKCksbD1yLl9uZXh0VWludDY0KCkscD1yLl9uZXh0VWludDY0KCksZD1pKjMqOCxtPW5ldyBQYyh0LGtvLmxlbmd0aCtvLGQsITApO2ZvcihsZXQgWD0wO1g8aTtYKyspbi5sZXZlbHMucHVzaCh7bGV2ZWxEYXRhOm5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCttLl9uZXh0VWludDY0KCksbS5fbmV4dFVpbnQ2NCgpKSx1bmNvbXByZXNzZWRCeXRlTGVuZ3RoOm0uX25leHRVaW50NjQoKX0pO2xldCBfPW5ldyBQYyh0LHMsZiwhMCksZz17dmVuZG9ySWQ6Xy5fc2tpcCg0KS5fbmV4dFVpbnQxNigpLGRlc2NyaXB0b3JUeXBlOl8uX25leHRVaW50MTYoKSx2ZXJzaW9uTnVtYmVyOl8uX25leHRVaW50MTYoKSxkZXNjcmlwdG9yQmxvY2tTaXplOl8uX25leHRVaW50MTYoKSxjb2xvck1vZGVsOl8uX25leHRVaW50OCgpLGNvbG9yUHJpbWFyaWVzOl8uX25leHRVaW50OCgpLHRyYW5zZmVyRnVuY3Rpb246Xy5fbmV4dFVpbnQ4KCksZmxhZ3M6Xy5fbmV4dFVpbnQ4KCksdGV4ZWxCbG9ja0RpbWVuc2lvbjpbXy5fbmV4dFVpbnQ4KCksXy5fbmV4dFVpbnQ4KCksXy5fbmV4dFVpbnQ4KCksXy5fbmV4dFVpbnQ4KCldLGJ5dGVzUGxhbmU6W18uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpLF8uX25leHRVaW50OCgpXSxzYW1wbGVzOltdfSxPPShnLmRlc2NyaXB0b3JCbG9ja1NpemUvNC02KS80O2ZvcihsZXQgWD0wO1g8TztYKyspe2xldCBSPXtiaXRPZmZzZXQ6Xy5fbmV4dFVpbnQxNigpLGJpdExlbmd0aDpfLl9uZXh0VWludDgoKSxjaGFubmVsVHlwZTpfLl9uZXh0VWludDgoKSxzYW1wbGVQb3NpdGlvbjpbXy5fbmV4dFVpbnQ4KCksXy5fbmV4dFVpbnQ4KCksXy5fbmV4dFVpbnQ4KCksXy5fbmV4dFVpbnQ4KCldLHNhbXBsZUxvd2VyOi0xLzAsc2FtcGxlVXBwZXI6MS8wfTtSLmNoYW5uZWxUeXBlJjY0PyhSLnNhbXBsZUxvd2VyPV8uX25leHRJbnQzMigpLFIuc2FtcGxlVXBwZXI9Xy5fbmV4dEludDMyKCkpOihSLnNhbXBsZUxvd2VyPV8uX25leHRVaW50MzIoKSxSLnNhbXBsZVVwcGVyPV8uX25leHRVaW50MzIoKSksZy5zYW1wbGVzW1hdPVJ9bi5kYXRhRm9ybWF0RGVzY3JpcHRvci5sZW5ndGg9MCxuLmRhdGFGb3JtYXREZXNjcmlwdG9yLnB1c2goZyk7bGV0IEU9bmV3IFBjKHQsdSxjLCEwKTtmb3IoO0UuX29mZnNldDxjOyl7bGV0IFg9RS5fbmV4dFVpbnQzMigpLFI9RS5fc2NhbihYKSxvdD12UyhSKTtpZihuLmtleVZhbHVlW290XT1FLl9uZXh0VWludDhBcnJheShYLVIuYnl0ZUxlbmd0aC0xKSxvdC5tYXRjaCgvXmt0eC9pKSl7bGV0IHB0PXZTKG4ua2V5VmFsdWVbb3RdKTtuLmtleVZhbHVlW290XT1wdC5zdWJzdHJpbmcoMCxwdC5sYXN0SW5kZXhPZigiXDAiKSl9bGV0IGF0PVglND80LVglNDowO0UuX3NraXAoYXQpfWlmKHA8PTApcmV0dXJuIG47bGV0IHc9bmV3IFBjKHQsbCxwLCEwKSxDPXcuX25leHRVaW50MTYoKSxOPXcuX25leHRVaW50MTYoKSxJPXcuX25leHRVaW50MzIoKSxEPXcuX25leHRVaW50MzIoKSx2PXcuX25leHRVaW50MzIoKSxMPXcuX25leHRVaW50MzIoKSxVPVtdO2ZvcihsZXQgWD0wO1g8aTtYKyspVS5wdXNoKHtpbWFnZUZsYWdzOncuX25leHRVaW50MzIoKSxyZ2JTbGljZUJ5dGVPZmZzZXQ6dy5fbmV4dFVpbnQzMigpLHJnYlNsaWNlQnl0ZUxlbmd0aDp3Ll9uZXh0VWludDMyKCksYWxwaGFTbGljZUJ5dGVPZmZzZXQ6dy5fbmV4dFVpbnQzMigpLGFscGhhU2xpY2VCeXRlTGVuZ3RoOncuX25leHRVaW50MzIoKX0pO2xldCBBPWwrdy5fb2Zmc2V0LFM9QStJLFA9UytELEY9UCt2LGo9bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0K0EsSSksSD1uZXcgVWludDhBcnJheSh0LmJ1ZmZlcix0LmJ5dGVPZmZzZXQrUyxEKSxrPW5ldyBVaW50OEFycmF5KHQuYnVmZmVyLHQuYnl0ZU9mZnNldCtQLHYpLEs9bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0K0YsTCk7cmV0dXJuIG4uZ2xvYmFsRGF0YT17ZW5kcG9pbnRDb3VudDpDLHNlbGVjdG9yQ291bnQ6TixpbWFnZURlc2NzOlUsZW5kcG9pbnRzRGF0YTpqLHNlbGVjdG9yc0RhdGE6SCx0YWJsZXNEYXRhOmssZXh0ZW5kZWREYXRhOkt9LG59dmFyIFpnLFBjLGJsdCxrbyxEUz1aKCgpPT57Wmc9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnZrRm9ybWF0PTAsdGhpcy50eXBlU2l6ZT0xLHRoaXMucGl4ZWxXaWR0aD0wLHRoaXMucGl4ZWxIZWlnaHQ9MCx0aGlzLnBpeGVsRGVwdGg9MCx0aGlzLmxheWVyQ291bnQ9MCx0aGlzLmZhY2VDb3VudD0xLHRoaXMuc3VwZXJjb21wcmVzc2lvblNjaGVtZT0wLHRoaXMubGV2ZWxzPVtdLHRoaXMuZGF0YUZvcm1hdERlc2NyaXB0b3I9W3t2ZW5kb3JJZDowLGRlc2NyaXB0b3JUeXBlOjAsZGVzY3JpcHRvckJsb2NrU2l6ZTowLHZlcnNpb25OdW1iZXI6Mixjb2xvck1vZGVsOjAsY29sb3JQcmltYXJpZXM6MSx0cmFuc2ZlckZ1bmN0aW9uOjIsZmxhZ3M6MCx0ZXhlbEJsb2NrRGltZW5zaW9uOlswLDAsMCwwXSxieXRlc1BsYW5lOlswLDAsMCwwLDAsMCwwLDBdLHNhbXBsZXM6W119XSx0aGlzLmtleVZhbHVlPXt9LHRoaXMuZ2xvYmFsRGF0YT1udWxsfX0sUGM9Y2xhc3N7Y29uc3RydWN0b3IoZSxuLG8scil7dGhpcy5fZGF0YVZpZXc9dm9pZCAwLHRoaXMuX2xpdHRsZUVuZGlhbj12b2lkIDAsdGhpcy5fb2Zmc2V0PXZvaWQgMCx0aGlzLl9kYXRhVmlldz1uZXcgRGF0YVZpZXcoZS5idWZmZXIsZS5ieXRlT2Zmc2V0K24sbyksdGhpcy5fbGl0dGxlRW5kaWFuPXIsdGhpcy5fb2Zmc2V0PTB9X25leHRVaW50OCgpe2xldCBlPXRoaXMuX2RhdGFWaWV3LmdldFVpbnQ4KHRoaXMuX29mZnNldCk7cmV0dXJuIHRoaXMuX29mZnNldCs9MSxlfV9uZXh0VWludDE2KCl7bGV0IGU9dGhpcy5fZGF0YVZpZXcuZ2V0VWludDE2KHRoaXMuX29mZnNldCx0aGlzLl9saXR0bGVFbmRpYW4pO3JldHVybiB0aGlzLl9vZmZzZXQrPTIsZX1fbmV4dFVpbnQzMigpe2xldCBlPXRoaXMuX2RhdGFWaWV3LmdldFVpbnQzMih0aGlzLl9vZmZzZXQsdGhpcy5fbGl0dGxlRW5kaWFuKTtyZXR1cm4gdGhpcy5fb2Zmc2V0Kz00LGV9X25leHRVaW50NjQoKXtsZXQgZT10aGlzLl9kYXRhVmlldy5nZXRVaW50MzIodGhpcy5fb2Zmc2V0LHRoaXMuX2xpdHRsZUVuZGlhbiksbj10aGlzLl9kYXRhVmlldy5nZXRVaW50MzIodGhpcy5fb2Zmc2V0KzQsdGhpcy5fbGl0dGxlRW5kaWFuKSxvPWUrMioqMzIqbjtyZXR1cm4gdGhpcy5fb2Zmc2V0Kz04LG99X25leHRJbnQzMigpe2xldCBlPXRoaXMuX2RhdGFWaWV3LmdldEludDMyKHRoaXMuX29mZnNldCx0aGlzLl9saXR0bGVFbmRpYW4pO3JldHVybiB0aGlzLl9vZmZzZXQrPTQsZX1fbmV4dFVpbnQ4QXJyYXkoZSl7bGV0IG49bmV3IFVpbnQ4QXJyYXkodGhpcy5fZGF0YVZpZXcuYnVmZmVyLHRoaXMuX2RhdGFWaWV3LmJ5dGVPZmZzZXQrdGhpcy5fb2Zmc2V0LGUpO3JldHVybiB0aGlzLl9vZmZzZXQrPWUsbn1fc2tpcChlKXtyZXR1cm4gdGhpcy5fb2Zmc2V0Kz1lLHRoaXN9X3NjYW4oZSxuPTApe2xldCBvPXRoaXMuX29mZnNldCxyPTA7Zm9yKDt0aGlzLl9kYXRhVmlldy5nZXRVaW50OCh0aGlzLl9vZmZzZXQpIT09biYmcjxlOylyKyssdGhpcy5fb2Zmc2V0Kys7cmV0dXJuIHI8ZSYmdGhpcy5fb2Zmc2V0KyssbmV3IFVpbnQ4QXJyYXkodGhpcy5fZGF0YVZpZXcuYnVmZmVyLHRoaXMuX2RhdGFWaWV3LmJ5dGVPZmZzZXQrbyxyKX19LGJsdD1uZXcgVWludDhBcnJheShbMF0pLGtvPVsxNzEsNzUsODQsODgsMzIsNTAsNDgsMTg3LDEzLDEwLDI2LDEwXX0pO3ZhciBGUz1YbigoX20sSmcpPT57dmFyIFFnPWZ1bmN0aW9uKCl7dmFyIHQ9dHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQuY3VycmVudFNjcmlwdD9kb2N1bWVudC5jdXJyZW50U2NyaXB0LnNyYzp2b2lkIDA7cmV0dXJuIHR5cGVvZiBfX2ZpbGVuYW1lPCJ1IiYmKHQ9dHx8X19maWxlbmFtZSksZnVuY3Rpb24oZSl7ZT1lfHx7fTt2YXIgbj10eXBlb2YgZTwidSI/ZTp7fSxvLHI7bi5yZWFkeT1uZXcgUHJvbWlzZShmdW5jdGlvbihWLEcpe289VixyPUd9KTt2YXIgaT17fSxzO2ZvcihzIGluIG4pbi5oYXNPd25Qcm9wZXJ0eShzKSYmKGlbc109bltzXSk7dmFyIGY9W10sdT0iLi90aGlzLnByb2dyYW0iLGM9ZnVuY3Rpb24oVixHKXt0aHJvdyBHfSxsPSExLHA9ITEsZD0hMSxtPSExO2w9dHlwZW9mIHdpbmRvdz09Im9iamVjdCIscD10eXBlb2YgaW1wb3J0U2NyaXB0cz09ImZ1bmN0aW9uIixkPXR5cGVvZiBwcm9jZXNzPT0ib2JqZWN0IiYmdHlwZW9mIHByb2Nlc3MudmVyc2lvbnM9PSJvYmplY3QiJiZ0eXBlb2YgcHJvY2Vzcy52ZXJzaW9ucy5ub2RlPT0ic3RyaW5nIixtPSFsJiYhZCYmIXA7dmFyIF89IiI7ZnVuY3Rpb24gZyhWKXtyZXR1cm4gbi5sb2NhdGVGaWxlP24ubG9jYXRlRmlsZShWLF8pOl8rVn12YXIgYixULE8sRSx3LEM7ZD8ocD9fPXByKCJwYXRoIikuZGlybmFtZShfKSsiLyI6Xz1fX2Rpcm5hbWUrIi8iLGI9ZnVuY3Rpb24oRyxZKXtyZXR1cm4gd3x8KHc9cHIoImZzIikpLEN8fChDPXByKCJwYXRoIikpLEc9Qy5ub3JtYWxpemUoRyksdy5yZWFkRmlsZVN5bmMoRyxZP251bGw6InV0ZjgiKX0sTz1mdW5jdGlvbihHKXt2YXIgWT1iKEcsITApO3JldHVybiBZLmJ1ZmZlcnx8KFk9bmV3IFVpbnQ4QXJyYXkoWSkpLEYoWS5idWZmZXIpLFl9LHByb2Nlc3MuYXJndi5sZW5ndGg+MSYmKHU9cHJvY2Vzcy5hcmd2WzFdLnJlcGxhY2UoL1xcL2csIi8iKSksZj1wcm9jZXNzLmFyZ3Yuc2xpY2UoMikscHJvY2Vzcy5vbigidW5jYXVnaHRFeGNlcHRpb24iLGZ1bmN0aW9uKFYpe2lmKCEoViBpbnN0YW5jZW9mIE9pKSl0aHJvdyBWfSkscHJvY2Vzcy5vbigidW5oYW5kbGVkUmVqZWN0aW9uIixLZSksYz1mdW5jdGlvbihWKXtwcm9jZXNzLmV4aXQoVil9LG4uaW5zcGVjdD1mdW5jdGlvbigpe3JldHVybiJbRW1zY3JpcHRlbiBNb2R1bGUgb2JqZWN0XSJ9KTptPyh0eXBlb2YgcmVhZDwidSImJihiPWZ1bmN0aW9uKEcpe3JldHVybiByZWFkKEcpfSksTz1mdW5jdGlvbihHKXt2YXIgWTtyZXR1cm4gdHlwZW9mIHJlYWRidWZmZXI9PSJmdW5jdGlvbiI/bmV3IFVpbnQ4QXJyYXkocmVhZGJ1ZmZlcihHKSk6KFk9cmVhZChHLCJiaW5hcnkiKSxGKHR5cGVvZiBZPT0ib2JqZWN0IiksWSl9LHR5cGVvZiBzY3JpcHRBcmdzPCJ1Ij9mPXNjcmlwdEFyZ3M6dHlwZW9mIGFyZ3VtZW50czwidSImJihmPWFyZ3VtZW50cyksdHlwZW9mIHF1aXQ9PSJmdW5jdGlvbiImJihjPWZ1bmN0aW9uKFYpe3F1aXQoVil9KSx0eXBlb2YgcHJpbnQ8InUiJiYodHlwZW9mIGNvbnNvbGU+InUiJiYoY29uc29sZT17fSksY29uc29sZS5sb2c9cHJpbnQsY29uc29sZS53YXJuPWNvbnNvbGUuZXJyb3I9dHlwZW9mIHByaW50RXJyPCJ1Ij9wcmludEVycjpwcmludCkpOihsfHxwKSYmKHA/Xz1zZWxmLmxvY2F0aW9uLmhyZWY6dHlwZW9mIGRvY3VtZW50PCJ1IiYmZG9jdW1lbnQuY3VycmVudFNjcmlwdCYmKF89ZG9jdW1lbnQuY3VycmVudFNjcmlwdC5zcmMpLHQmJihfPXQpLF8uaW5kZXhPZigiYmxvYjoiKSE9PTA/Xz1fLnN1YnN0cigwLF8ubGFzdEluZGV4T2YoIi8iKSsxKTpfPSIiLGI9ZnVuY3Rpb24oVil7dmFyIEc9bmV3IFhNTEh0dHBSZXF1ZXN0O3JldHVybiBHLm9wZW4oIkdFVCIsViwhMSksRy5zZW5kKG51bGwpLEcucmVzcG9uc2VUZXh0fSxwJiYoTz1mdW5jdGlvbihWKXt2YXIgRz1uZXcgWE1MSHR0cFJlcXVlc3Q7cmV0dXJuIEcub3BlbigiR0VUIixWLCExKSxHLnJlc3BvbnNlVHlwZT0iYXJyYXlidWZmZXIiLEcuc2VuZChudWxsKSxuZXcgVWludDhBcnJheShHLnJlc3BvbnNlKX0pLFQ9ZnVuY3Rpb24oVixHLFkpe3ZhciBKPW5ldyBYTUxIdHRwUmVxdWVzdDtKLm9wZW4oIkdFVCIsViwhMCksSi5yZXNwb25zZVR5cGU9ImFycmF5YnVmZmVyIixKLm9ubG9hZD1mdW5jdGlvbigpe2lmKEouc3RhdHVzPT0yMDB8fEouc3RhdHVzPT0wJiZKLnJlc3BvbnNlKXtHKEoucmVzcG9uc2UpO3JldHVybn1ZKCl9LEoub25lcnJvcj1ZLEouc2VuZChudWxsKX0sRT1mdW5jdGlvbihWKXtkb2N1bWVudC50aXRsZT1WfSk7dmFyIE49bi5wcmludHx8Y29uc29sZS5sb2cuYmluZChjb25zb2xlKSxJPW4ucHJpbnRFcnJ8fGNvbnNvbGUud2Fybi5iaW5kKGNvbnNvbGUpO2ZvcihzIGluIGkpaS5oYXNPd25Qcm9wZXJ0eShzKSYmKG5bc109aVtzXSk7aT1udWxsLG4uYXJndW1lbnRzJiYoZj1uLmFyZ3VtZW50cyksbi50aGlzUHJvZ3JhbSYmKHU9bi50aGlzUHJvZ3JhbSksbi5xdWl0JiYoYz1uLnF1aXQpO3ZhciBEPTAsdj1mdW5jdGlvbihWKXtEPVZ9LEw7bi53YXNtQmluYXJ5JiYoTD1uLndhc21CaW5hcnkpO3ZhciBVPW4ubm9FeGl0UnVudGltZXx8ITA7dHlwZW9mIFdlYkFzc2VtYmx5IT0ib2JqZWN0IiYmS2UoIm5vIG5hdGl2ZSB3YXNtIHN1cHBvcnQgZGV0ZWN0ZWQiKTt2YXIgQSxTPSExLFA7ZnVuY3Rpb24gRihWLEcpe1Z8fEtlKCJBc3NlcnRpb24gZmFpbGVkOiAiK0cpfXZhciBqPXR5cGVvZiBUZXh0RGVjb2RlcjwidSI/bmV3IFRleHREZWNvZGVyKCJ1dGY4Iik6dm9pZCAwO2Z1bmN0aW9uIEgoVixHLFkpe2Zvcih2YXIgSj1HK1ksbHQ9RztWW2x0XSYmIShsdD49Sik7KSsrbHQ7aWYobHQtRz4xNiYmVi5zdWJhcnJheSYmailyZXR1cm4gai5kZWNvZGUoVi5zdWJhcnJheShHLGx0KSk7Zm9yKHZhciBPdD0iIjtHPGx0Oyl7dmFyIFN0PVZbRysrXTtpZighKFN0JjEyOCkpe090Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKFN0KTtjb250aW51ZX12YXIgaHQ9VltHKytdJjYzO2lmKChTdCYyMjQpPT0xOTIpe090Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKChTdCYzMSk8PDZ8aHQpO2NvbnRpbnVlfXZhciBfdD1WW0crK10mNjM7aWYoKFN0JjI0MCk9PTIyND9TdD0oU3QmMTUpPDwxMnxodDw8NnxfdDpTdD0oU3QmNyk8PDE4fGh0PDwxMnxfdDw8NnxWW0crK10mNjMsU3Q8NjU1MzYpT3QrPVN0cmluZy5mcm9tQ2hhckNvZGUoU3QpO2Vsc2V7dmFyIEt0PVN0LTY1NTM2O090Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKDU1Mjk2fEt0Pj4xMCw1NjMyMHxLdCYxMDIzKX19cmV0dXJuIE90fWZ1bmN0aW9uIGsoVixHKXtyZXR1cm4gVj9IKHZ0LFYsRyk6IiJ9ZnVuY3Rpb24gSyhWLEcsWSxKKXtpZighKEo+MCkpcmV0dXJuIDA7Zm9yKHZhciBsdD1ZLE90PVkrSi0xLFN0PTA7U3Q8Vi5sZW5ndGg7KytTdCl7dmFyIGh0PVYuY2hhckNvZGVBdChTdCk7aWYoaHQ+PTU1Mjk2JiZodDw9NTczNDMpe3ZhciBfdD1WLmNoYXJDb2RlQXQoKytTdCk7aHQ9NjU1MzYrKChodCYxMDIzKTw8MTApfF90JjEwMjN9aWYoaHQ8PTEyNyl7aWYoWT49T3QpYnJlYWs7R1tZKytdPWh0fWVsc2UgaWYoaHQ8PTIwNDcpe2lmKFkrMT49T3QpYnJlYWs7R1tZKytdPTE5MnxodD4+NixHW1krK109MTI4fGh0JjYzfWVsc2UgaWYoaHQ8PTY1NTM1KXtpZihZKzI+PU90KWJyZWFrO0dbWSsrXT0yMjR8aHQ+PjEyLEdbWSsrXT0xMjh8aHQ+PjYmNjMsR1tZKytdPTEyOHxodCY2M31lbHNle2lmKFkrMz49T3QpYnJlYWs7R1tZKytdPTI0MHxodD4+MTgsR1tZKytdPTEyOHxodD4+MTImNjMsR1tZKytdPTEyOHxodD4+NiY2MyxHW1krK109MTI4fGh0JjYzfX1yZXR1cm4gR1tZXT0wLFktbHR9ZnVuY3Rpb24gWChWLEcsWSl7cmV0dXJuIEsoVix2dCxHLFkpfWZ1bmN0aW9uIFIoVil7Zm9yKHZhciBHPTAsWT0wO1k8Vi5sZW5ndGg7KytZKXt2YXIgSj1WLmNoYXJDb2RlQXQoWSk7Sj49NTUyOTYmJko8PTU3MzQzJiYoSj02NTUzNisoKEomMTAyMyk8PDEwKXxWLmNoYXJDb2RlQXQoKytZKSYxMDIzKSxKPD0xMjc/KytHOko8PTIwNDc/Rys9MjpKPD02NTUzNT9HKz0zOkcrPTR9cmV0dXJuIEd9dmFyIG90PXR5cGVvZiBUZXh0RGVjb2RlcjwidSI/bmV3IFRleHREZWNvZGVyKCJ1dGYtMTZsZSIpOnZvaWQgMDtmdW5jdGlvbiBhdChWLEcpe2Zvcih2YXIgWT1WLEo9WT4+MSxsdD1KK0cvMjshKEo+PWx0KSYmbWVbSl07KSsrSjtpZihZPUo8PDEsWS1WPjMyJiZvdClyZXR1cm4gb3QuZGVjb2RlKHZ0LnN1YmFycmF5KFYsWSkpO2Zvcih2YXIgT3Q9IiIsU3Q9MDshKFN0Pj1HLzIpOysrU3Qpe3ZhciBodD16dFtWK1N0KjI+PjFdO2lmKGh0PT0wKWJyZWFrO090Kz1TdHJpbmcuZnJvbUNoYXJDb2RlKGh0KX1yZXR1cm4gT3R9ZnVuY3Rpb24gcHQoVixHLFkpe2lmKFk9PT12b2lkIDAmJihZPTIxNDc0ODM2NDcpLFk8MilyZXR1cm4gMDtZLT0yO2Zvcih2YXIgSj1HLGx0PVk8Vi5sZW5ndGgqMj9ZLzI6Vi5sZW5ndGgsT3Q9MDtPdDxsdDsrK090KXt2YXIgU3Q9Vi5jaGFyQ29kZUF0KE90KTt6dFtHPj4xXT1TdCxHKz0yfXJldHVybiB6dFtHPj4xXT0wLEctSn1mdW5jdGlvbiB5dChWKXtyZXR1cm4gVi5sZW5ndGgqMn1mdW5jdGlvbiBydChWLEcpe2Zvcih2YXIgWT0wLEo9IiI7IShZPj1HLzQpOyl7dmFyIGx0PWNlW1YrWSo0Pj4yXTtpZihsdD09MClicmVhaztpZigrK1ksbHQ+PTY1NTM2KXt2YXIgT3Q9bHQtNjU1MzY7Sis9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTI5NnxPdD4+MTAsNTYzMjB8T3QmMTAyMyl9ZWxzZSBKKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGx0KX1yZXR1cm4gSn1mdW5jdGlvbiBQdChWLEcsWSl7aWYoWT09PXZvaWQgMCYmKFk9MjE0NzQ4MzY0NyksWTw0KXJldHVybiAwO2Zvcih2YXIgSj1HLGx0PUorWS00LE90PTA7T3Q8Vi5sZW5ndGg7KytPdCl7dmFyIFN0PVYuY2hhckNvZGVBdChPdCk7aWYoU3Q+PTU1Mjk2JiZTdDw9NTczNDMpe3ZhciBodD1WLmNoYXJDb2RlQXQoKytPdCk7U3Q9NjU1MzYrKChTdCYxMDIzKTw8MTApfGh0JjEwMjN9aWYoY2VbRz4+Ml09U3QsRys9NCxHKzQ+bHQpYnJlYWt9cmV0dXJuIGNlW0c+PjJdPTAsRy1KfWZ1bmN0aW9uIGd0KFYpe2Zvcih2YXIgRz0wLFk9MDtZPFYubGVuZ3RoOysrWSl7dmFyIEo9Vi5jaGFyQ29kZUF0KFkpO0o+PTU1Mjk2JiZKPD01NzM0MyYmKytZLEcrPTR9cmV0dXJuIEd9ZnVuY3Rpb24gQ3QoVixHKXtyZXR1cm4gViVHPjAmJihWKz1HLVYlRyksVn12YXIgbXQsdXQsdnQsenQsbWUsY2UscGUsdWUsUXQ7ZnVuY3Rpb24gSnQoVil7bXQ9VixuLkhFQVA4PXV0PW5ldyBJbnQ4QXJyYXkoViksbi5IRUFQMTY9enQ9bmV3IEludDE2QXJyYXkoViksbi5IRUFQMzI9Y2U9bmV3IEludDMyQXJyYXkoViksbi5IRUFQVTg9dnQ9bmV3IFVpbnQ4QXJyYXkoViksbi5IRUFQVTE2PW1lPW5ldyBVaW50MTZBcnJheShWKSxuLkhFQVBVMzI9cGU9bmV3IFVpbnQzMkFycmF5KFYpLG4uSEVBUEYzMj11ZT1uZXcgRmxvYXQzMkFycmF5KFYpLG4uSEVBUEY2ND1RdD1uZXcgRmxvYXQ2NEFycmF5KFYpfXZhciBOZT1uLklOSVRJQUxfTUVNT1JZfHwxNjc3NzIxNixnZSxFZT1bXSx1bj1bXSxrZT1bXSxiZT1bXSxsbj0hMTtmdW5jdGlvbiBwbigpe2lmKG4ucHJlUnVuKWZvcih0eXBlb2Ygbi5wcmVSdW49PSJmdW5jdGlvbiImJihuLnByZVJ1bj1bbi5wcmVSdW5dKTtuLnByZVJ1bi5sZW5ndGg7KUdlKG4ucHJlUnVuLnNoaWZ0KCkpO3pvKEVlKX1mdW5jdGlvbiBFbigpe2xuPSEwLHpvKHVuKX1mdW5jdGlvbiByZSgpe3pvKGtlKX1mdW5jdGlvbiAkdCgpe2lmKG4ucG9zdFJ1bilmb3IodHlwZW9mIG4ucG9zdFJ1bj09ImZ1bmN0aW9uIiYmKG4ucG9zdFJ1bj1bbi5wb3N0UnVuXSk7bi5wb3N0UnVuLmxlbmd0aDspc24obi5wb3N0UnVuLnNoaWZ0KCkpO3pvKGJlKX1mdW5jdGlvbiBHZShWKXtFZS51bnNoaWZ0KFYpfWZ1bmN0aW9uIGRuKFYpe3VuLnVuc2hpZnQoVil9ZnVuY3Rpb24gc24oVil7YmUudW5zaGlmdChWKX12YXIgbW49MCxmbz1udWxsLEhuPW51bGw7ZnVuY3Rpb24gWmUoVil7bW4rKyxuLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJm4ubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhtbil9ZnVuY3Rpb24gY24oVil7aWYobW4tLSxuLm1vbml0b3JSdW5EZXBlbmRlbmNpZXMmJm4ubW9uaXRvclJ1bkRlcGVuZGVuY2llcyhtbiksbW49PTAmJihmbyE9PW51bGwmJihjbGVhckludGVydmFsKGZvKSxmbz1udWxsKSxIbikpe3ZhciBHPUhuO0huPW51bGwsRygpfX1uLnByZWxvYWRlZEltYWdlcz17fSxuLnByZWxvYWRlZEF1ZGlvcz17fTtmdW5jdGlvbiBLZShWKXtuLm9uQWJvcnQmJm4ub25BYm9ydChWKSxWKz0iIixJKFYpLFM9ITAsUD0xLFY9ImFib3J0KCIrVisiKS4gQnVpbGQgd2l0aCAtcyBBU1NFUlRJT05TPTEgZm9yIG1vcmUgaW5mby4iO3ZhciBHPW5ldyBXZWJBc3NlbWJseS5SdW50aW1lRXJyb3IoVik7dGhyb3cgcihHKSxHfWZ1bmN0aW9uIGhuKFYsRyl7cmV0dXJuIFN0cmluZy5wcm90b3R5cGUuc3RhcnRzV2l0aD9WLnN0YXJ0c1dpdGgoRyk6Vi5pbmRleE9mKEcpPT09MH12YXIgdW89ImRhdGE6YXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtO2Jhc2U2NCwiO2Z1bmN0aW9uIHFuKFYpe3JldHVybiBobihWLHVvKX12YXIgS249ImZpbGU6Ly8iO2Z1bmN0aW9uIGxvKFYpe3JldHVybiBobihWLEtuKX12YXIgemU9ImJhc2lzX3RyYW5zY29kZXIud2FzbSI7cW4oemUpfHwoemU9Zyh6ZSkpO2Z1bmN0aW9uIExlKFYpe3RyeXtpZihWPT16ZSYmTClyZXR1cm4gbmV3IFVpbnQ4QXJyYXkoTCk7aWYoTylyZXR1cm4gTyhWKTt0aHJvdyJib3RoIGFzeW5jIGFuZCBzeW5jIGZldGNoaW5nIG9mIHRoZSB3YXNtIGZhaWxlZCJ9Y2F0Y2goRyl7S2UoRyl9fWZ1bmN0aW9uIERuKCl7aWYoIUwmJihsfHxwKSl7aWYodHlwZW9mIGZldGNoPT0iZnVuY3Rpb24iJiYhbG8oemUpKXJldHVybiBmZXRjaCh6ZSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oVil7aWYoIVYub2spdGhyb3ciZmFpbGVkIHRvIGxvYWQgd2FzbSBiaW5hcnkgZmlsZSBhdCAnIit6ZSsiJyI7cmV0dXJuIFYuYXJyYXlCdWZmZXIoKX0pLmNhdGNoKGZ1bmN0aW9uKCl7cmV0dXJuIExlKHplKX0pO2lmKFQpcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uKFYsRyl7VCh6ZSxmdW5jdGlvbihZKXtWKG5ldyBVaW50OEFycmF5KFkpKX0sRyl9KX1yZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbigpe3JldHVybiBMZSh6ZSl9KX1mdW5jdGlvbiBXbigpe3ZhciBWPXthOkRsfTtmdW5jdGlvbiBHKFN0LGh0KXt2YXIgX3Q9U3QuZXhwb3J0cztuLmFzbT1fdCxBPW4uYXNtLkssSnQoQS5idWZmZXIpLGdlPW4uYXNtLk8sZG4obi5hc20uTCksY24oIndhc20taW5zdGFudGlhdGUiKX1aZSgid2FzbS1pbnN0YW50aWF0ZSIpO2Z1bmN0aW9uIFkoU3Qpe0coU3QuaW5zdGFuY2UpfWZ1bmN0aW9uIEooU3Qpe3JldHVybiBEbigpLnRoZW4oZnVuY3Rpb24oaHQpe3ZhciBfdD1XZWJBc3NlbWJseS5pbnN0YW50aWF0ZShodCxWKTtyZXR1cm4gX3R9KS50aGVuKFN0LGZ1bmN0aW9uKGh0KXtJKCJmYWlsZWQgdG8gYXN5bmNocm9ub3VzbHkgcHJlcGFyZSB3YXNtOiAiK2h0KSxLZShodCl9KX1mdW5jdGlvbiBsdCgpe3JldHVybiFMJiZ0eXBlb2YgV2ViQXNzZW1ibHkuaW5zdGFudGlhdGVTdHJlYW1pbmc9PSJmdW5jdGlvbiImJiFxbih6ZSkmJiFsbyh6ZSkmJnR5cGVvZiBmZXRjaD09ImZ1bmN0aW9uIj9mZXRjaCh6ZSx7Y3JlZGVudGlhbHM6InNhbWUtb3JpZ2luIn0pLnRoZW4oZnVuY3Rpb24oU3Qpe3ZhciBodD1XZWJBc3NlbWJseS5pbnN0YW50aWF0ZVN0cmVhbWluZyhTdCxWKTtyZXR1cm4gaHQudGhlbihZLGZ1bmN0aW9uKF90KXtyZXR1cm4gSSgid2FzbSBzdHJlYW1pbmcgY29tcGlsZSBmYWlsZWQ6ICIrX3QpLEkoImZhbGxpbmcgYmFjayB0byBBcnJheUJ1ZmZlciBpbnN0YW50aWF0aW9uIiksSihZKX0pfSk6SihZKX1pZihuLmluc3RhbnRpYXRlV2FzbSl0cnl7dmFyIE90PW4uaW5zdGFudGlhdGVXYXNtKFYsRyk7cmV0dXJuIE90fWNhdGNoKFN0KXtyZXR1cm4gSSgiTW9kdWxlLmluc3RhbnRpYXRlV2FzbSBjYWxsYmFjayBmYWlsZWQgd2l0aCBlcnJvcjogIitTdCksITF9cmV0dXJuIGx0KCkuY2F0Y2gocikse319ZnVuY3Rpb24gem8oVil7Zm9yKDtWLmxlbmd0aD4wOyl7dmFyIEc9Vi5zaGlmdCgpO2lmKHR5cGVvZiBHPT0iZnVuY3Rpb24iKXtHKG4pO2NvbnRpbnVlfXZhciBZPUcuZnVuYzt0eXBlb2YgWT09Im51bWJlciI/Ry5hcmc9PT12b2lkIDA/Z2UuZ2V0KFkpKCk6Z2UuZ2V0KFkpKEcuYXJnKTpZKEcuYXJnPT09dm9pZCAwP251bGw6Ry5hcmcpfX12YXIgcm49e307ZnVuY3Rpb24gUm4oVil7Zm9yKDtWLmxlbmd0aDspe3ZhciBHPVYucG9wKCksWT1WLnBvcCgpO1koRyl9fWZ1bmN0aW9uIGFyKFYpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShwZVtWPj4yXSl9dmFyIFFuPXt9LGpvPXt9LE5yPXt9LE5zPTQ4LElzPTU3O2Z1bmN0aW9uIFlpKFYpe2lmKFY9PT12b2lkIDApcmV0dXJuIl91bmtub3duIjtWPVYucmVwbGFjZSgvW15hLXpBLVowLTlfXS9nLCIkIik7dmFyIEc9Vi5jaGFyQ29kZUF0KDApO3JldHVybiBHPj1OcyYmRzw9SXM/Il8iK1Y6Vn1mdW5jdGlvbiBJcihWLEcpe3JldHVybiBWPVlpKFYpLG5ldyBGdW5jdGlvbigiYm9keSIsInJldHVybiBmdW5jdGlvbiAiK1YrYCgpIHsKICAgICJ1c2Ugc3RyaWN0IjsgICAgcmV0dXJuIGJvZHkuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKfTsKYCkoRyl9ZnVuY3Rpb24gJGkoVixHKXt2YXIgWT1JcihHLGZ1bmN0aW9uKEope3RoaXMubmFtZT1HLHRoaXMubWVzc2FnZT1KO3ZhciBsdD1uZXcgRXJyb3IoSikuc3RhY2s7bHQhPT12b2lkIDAmJih0aGlzLnN0YWNrPXRoaXMudG9TdHJpbmcoKStgCmArbHQucmVwbGFjZSgvXkVycm9yKDpbXlxuXSopP1xuLywiIikpfSk7cmV0dXJuIFkucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoVi5wcm90b3R5cGUpLFkucHJvdG90eXBlLmNvbnN0cnVjdG9yPVksWS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tZXNzYWdlPT09dm9pZCAwP3RoaXMubmFtZTp0aGlzLm5hbWUrIjogIit0aGlzLm1lc3NhZ2V9LFl9dmFyIHZzPXZvaWQgMDtmdW5jdGlvbiBiaShWKXt0aHJvdyBuZXcgdnMoVil9ZnVuY3Rpb24gb28oVixHLFkpe1YuZm9yRWFjaChmdW5jdGlvbihodCl7TnJbaHRdPUd9KTtmdW5jdGlvbiBKKGh0KXt2YXIgX3Q9WShodCk7X3QubGVuZ3RoIT09Vi5sZW5ndGgmJmJpKCJNaXNtYXRjaGVkIHR5cGUgY29udmVydGVyIGNvdW50Iik7Zm9yKHZhciBLdD0wO0t0PFYubGVuZ3RoOysrS3Qpb3IoVltLdF0sX3RbS3RdKX12YXIgbHQ9bmV3IEFycmF5KEcubGVuZ3RoKSxPdD1bXSxTdD0wO0cuZm9yRWFjaChmdW5jdGlvbihodCxfdCl7am8uaGFzT3duUHJvcGVydHkoaHQpP2x0W190XT1qb1todF06KE90LnB1c2goaHQpLFFuLmhhc093blByb3BlcnR5KGh0KXx8KFFuW2h0XT1bXSksUW5baHRdLnB1c2goZnVuY3Rpb24oKXtsdFtfdF09am9baHRdLCsrU3QsU3Q9PT1PdC5sZW5ndGgmJkoobHQpfSkpfSksT3QubGVuZ3RoPT09MCYmSihsdCl9ZnVuY3Rpb24gcG8oVil7dmFyIEc9cm5bVl07ZGVsZXRlIHJuW1ZdO3ZhciBZPUcucmF3Q29uc3RydWN0b3IsSj1HLnJhd0Rlc3RydWN0b3IsbHQ9Ry5maWVsZHMsT3Q9bHQubWFwKGZ1bmN0aW9uKFN0KXtyZXR1cm4gU3QuZ2V0dGVyUmV0dXJuVHlwZX0pLmNvbmNhdChsdC5tYXAoZnVuY3Rpb24oU3Qpe3JldHVybiBTdC5zZXR0ZXJBcmd1bWVudFR5cGV9KSk7b28oW1ZdLE90LGZ1bmN0aW9uKFN0KXt2YXIgaHQ9e307cmV0dXJuIGx0LmZvckVhY2goZnVuY3Rpb24oX3QsS3Qpe3ZhciB0ZT1fdC5maWVsZE5hbWUsd2U9U3RbS3RdLEplPV90LmdldHRlcixibj1fdC5nZXR0ZXJDb250ZXh0LHJvPVN0W0t0K2x0Lmxlbmd0aF0sSW89X3Quc2V0dGVyLGxyPV90LnNldHRlckNvbnRleHQ7aHRbdGVdPXtyZWFkOmZ1bmN0aW9uKFpyKXtyZXR1cm4gd2UuZnJvbVdpcmVUeXBlKEplKGJuLFpyKSl9LHdyaXRlOmZ1bmN0aW9uKFpyLG9mKXt2YXIgRWk9W107SW8obHIsWnIscm8udG9XaXJlVHlwZShFaSxvZikpLFJuKEVpKX19fSksW3tuYW1lOkcubmFtZSxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oX3Qpe3ZhciBLdD17fTtmb3IodmFyIHRlIGluIGh0KUt0W3RlXT1odFt0ZV0ucmVhZChfdCk7cmV0dXJuIEooX3QpLEt0fSx0b1dpcmVUeXBlOmZ1bmN0aW9uKF90LEt0KXtmb3IodmFyIHRlIGluIGh0KWlmKCEodGUgaW4gS3QpKXRocm93IG5ldyBUeXBlRXJyb3IoJ01pc3NpbmcgZmllbGQ6ICAiJyt0ZSsnIicpO3ZhciB3ZT1ZKCk7Zm9yKHRlIGluIGh0KWh0W3RlXS53cml0ZSh3ZSxLdFt0ZV0pO3JldHVybiBfdCE9PW51bGwmJl90LnB1c2goSix3ZSksd2V9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6YXIsZGVzdHJ1Y3RvckZ1bmN0aW9uOkp9XX0pfWZ1bmN0aW9uIHZyKFYpe3N3aXRjaChWKXtjYXNlIDE6cmV0dXJuIDA7Y2FzZSAyOnJldHVybiAxO2Nhc2UgNDpyZXR1cm4gMjtjYXNlIDg6cmV0dXJuIDM7ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIHR5cGUgc2l6ZTogIitWKX19ZnVuY3Rpb24gTWMoKXtmb3IodmFyIFY9bmV3IEFycmF5KDI1NiksRz0wO0c8MjU2OysrRylWW0ddPVN0cmluZy5mcm9tQ2hhckNvZGUoRyk7TmM9Vn12YXIgTmM9dm9pZCAwO2Z1bmN0aW9uIEZuKFYpe2Zvcih2YXIgRz0iIixZPVY7dnRbWV07KUcrPU5jW3Z0W1krK11dO3JldHVybiBHfXZhciBUaT12b2lkIDA7ZnVuY3Rpb24gRGUoVil7dGhyb3cgbmV3IFRpKFYpfWZ1bmN0aW9uIG9yKFYsRyxZKXtpZihZPVl8fHt9LCEoImFyZ1BhY2tBZHZhbmNlImluIEcpKXRocm93IG5ldyBUeXBlRXJyb3IoInJlZ2lzdGVyVHlwZSByZWdpc3RlcmVkSW5zdGFuY2UgcmVxdWlyZXMgYXJnUGFja0FkdmFuY2UiKTt2YXIgSj1HLm5hbWU7aWYoVnx8RGUoJ3R5cGUgIicrSisnIiBtdXN0IGhhdmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIHR5cGVpZCBwb2ludGVyJyksam8uaGFzT3duUHJvcGVydHkoVikpe2lmKFkuaWdub3JlRHVwbGljYXRlUmVnaXN0cmF0aW9ucylyZXR1cm47RGUoIkNhbm5vdCByZWdpc3RlciB0eXBlICciK0orIicgdHdpY2UiKX1pZihqb1tWXT1HLGRlbGV0ZSBOcltWXSxRbi5oYXNPd25Qcm9wZXJ0eShWKSl7dmFyIGx0PVFuW1ZdO2RlbGV0ZSBRbltWXSxsdC5mb3JFYWNoKGZ1bmN0aW9uKE90KXtPdCgpfSl9fWZ1bmN0aW9uIGd1KFYsRyxZLEosbHQpe3ZhciBPdD12cihZKTtHPUZuKEcpLG9yKFYse25hbWU6Ryxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oU3Qpe3JldHVybiEhU3R9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oU3QsaHQpe3JldHVybiBodD9KOmx0fSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOmZ1bmN0aW9uKFN0KXt2YXIgaHQ7aWYoWT09PTEpaHQ9dXQ7ZWxzZSBpZihZPT09MilodD16dDtlbHNlIGlmKFk9PT00KWh0PWNlO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcigiVW5rbm93biBib29sZWFuIHR5cGUgc2l6ZTogIitHKTtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUoaHRbU3Q+Pk90XSl9LGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSl9ZnVuY3Rpb24gQXUoVil7aWYoISh0aGlzIGluc3RhbmNlb2YgTHIpfHwhKFYgaW5zdGFuY2VvZiBMcikpcmV0dXJuITE7Zm9yKHZhciBHPXRoaXMuJCQucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MsWT10aGlzLiQkLnB0cixKPVYuJCQucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MsbHQ9Vi4kJC5wdHI7Ry5iYXNlQ2xhc3M7KVk9Ry51cGNhc3QoWSksRz1HLmJhc2VDbGFzcztmb3IoO0ouYmFzZUNsYXNzOylsdD1KLnVwY2FzdChsdCksSj1KLmJhc2VDbGFzcztyZXR1cm4gRz09PUomJlk9PT1sdH1mdW5jdGlvbiBidShWKXtyZXR1cm57Y291bnQ6Vi5jb3VudCxkZWxldGVTY2hlZHVsZWQ6Vi5kZWxldGVTY2hlZHVsZWQscHJlc2VydmVQb2ludGVyT25EZWxldGU6Vi5wcmVzZXJ2ZVBvaW50ZXJPbkRlbGV0ZSxwdHI6Vi5wdHIscHRyVHlwZTpWLnB0clR5cGUsc21hcnRQdHI6Vi5zbWFydFB0cixzbWFydFB0clR5cGU6Vi5zbWFydFB0clR5cGV9fWZ1bmN0aW9uIEljKFYpe2Z1bmN0aW9uIEcoWSl7cmV0dXJuIFkuJCQucHRyVHlwZS5yZWdpc3RlcmVkQ2xhc3MubmFtZX1EZShHKFYpKyIgaW5zdGFuY2UgYWxyZWFkeSBkZWxldGVkIil9dmFyIHZjPSExO2Z1bmN0aW9uIEhhKFYpe31mdW5jdGlvbiBUdShWKXtWLnNtYXJ0UHRyP1Yuc21hcnRQdHJUeXBlLnJhd0Rlc3RydWN0b3IoVi5zbWFydFB0cik6Vi5wdHJUeXBlLnJlZ2lzdGVyZWRDbGFzcy5yYXdEZXN0cnVjdG9yKFYucHRyKX1mdW5jdGlvbiBxYShWKXtWLmNvdW50LnZhbHVlLT0xO3ZhciBHPVYuY291bnQudmFsdWU9PT0wO0cmJlR1KFYpfWZ1bmN0aW9uIFppKFYpe3JldHVybiB0eXBlb2YgRmluYWxpemF0aW9uR3JvdXA+InUiPyhaaT1mdW5jdGlvbihHKXtyZXR1cm4gR30sVik6KHZjPW5ldyBGaW5hbGl6YXRpb25Hcm91cChmdW5jdGlvbihHKXtmb3IodmFyIFk9Ry5uZXh0KCk7IVkuZG9uZTtZPUcubmV4dCgpKXt2YXIgSj1ZLnZhbHVlO0oucHRyP3FhKEopOmNvbnNvbGUud2Fybigib2JqZWN0IGFscmVhZHkgZGVsZXRlZDogIitKLnB0cil9fSksWmk9ZnVuY3Rpb24oRyl7cmV0dXJuIHZjLnJlZ2lzdGVyKEcsRy4kJCxHLiQkKSxHfSxIYT1mdW5jdGlvbihHKXt2Yy51bnJlZ2lzdGVyKEcuJCQpfSxaaShWKSl9ZnVuY3Rpb24gd3UoKXtpZih0aGlzLiQkLnB0cnx8SWModGhpcyksdGhpcy4kJC5wcmVzZXJ2ZVBvaW50ZXJPbkRlbGV0ZSlyZXR1cm4gdGhpcy4kJC5jb3VudC52YWx1ZSs9MSx0aGlzO3ZhciBWPVppKE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLHskJDp7dmFsdWU6YnUodGhpcy4kJCl9fSkpO3JldHVybiBWLiQkLmNvdW50LnZhbHVlKz0xLFYuJCQuZGVsZXRlU2NoZWR1bGVkPSExLFZ9ZnVuY3Rpb24gT3UoKXt0aGlzLiQkLnB0cnx8SWModGhpcyksdGhpcy4kJC5kZWxldGVTY2hlZHVsZWQmJiF0aGlzLiQkLnByZXNlcnZlUG9pbnRlck9uRGVsZXRlJiZEZSgiT2JqZWN0IGFscmVhZHkgc2NoZWR1bGVkIGZvciBkZWxldGlvbiIpLEhhKHRoaXMpLHFhKHRoaXMuJCQpLHRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGV8fCh0aGlzLiQkLnNtYXJ0UHRyPXZvaWQgMCx0aGlzLiQkLnB0cj12b2lkIDApfWZ1bmN0aW9uIEV1KCl7cmV0dXJuIXRoaXMuJCQucHRyfXZhciBRaT12b2lkIDAsSmk9W107ZnVuY3Rpb24gTGMoKXtmb3IoO0ppLmxlbmd0aDspe3ZhciBWPUppLnBvcCgpO1YuJCQuZGVsZXRlU2NoZWR1bGVkPSExLFYuZGVsZXRlKCl9fWZ1bmN0aW9uIFJ1KCl7cmV0dXJuIHRoaXMuJCQucHRyfHxJYyh0aGlzKSx0aGlzLiQkLmRlbGV0ZVNjaGVkdWxlZCYmIXRoaXMuJCQucHJlc2VydmVQb2ludGVyT25EZWxldGUmJkRlKCJPYmplY3QgYWxyZWFkeSBzY2hlZHVsZWQgZm9yIGRlbGV0aW9uIiksSmkucHVzaCh0aGlzKSxKaS5sZW5ndGg9PT0xJiZRaSYmUWkoTGMpLHRoaXMuJCQuZGVsZXRlU2NoZWR1bGVkPSEwLHRoaXN9ZnVuY3Rpb24gU3UoKXtMci5wcm90b3R5cGUuaXNBbGlhc09mPUF1LExyLnByb3RvdHlwZS5jbG9uZT13dSxMci5wcm90b3R5cGUuZGVsZXRlPU91LExyLnByb3RvdHlwZS5pc0RlbGV0ZWQ9RXUsTHIucHJvdG90eXBlLmRlbGV0ZUxhdGVyPVJ1fWZ1bmN0aW9uIExyKCl7fXZhciBLYT17fTtmdW5jdGlvbiBXYShWLEcsWSl7aWYoVltHXS5vdmVybG9hZFRhYmxlPT09dm9pZCAwKXt2YXIgSj1WW0ddO1ZbR109ZnVuY3Rpb24oKXtyZXR1cm4gVltHXS5vdmVybG9hZFRhYmxlLmhhc093blByb3BlcnR5KGFyZ3VtZW50cy5sZW5ndGgpfHxEZSgiRnVuY3Rpb24gJyIrWSsiJyBjYWxsZWQgd2l0aCBhbiBpbnZhbGlkIG51bWJlciBvZiBhcmd1bWVudHMgKCIrYXJndW1lbnRzLmxlbmd0aCsiKSAtIGV4cGVjdHMgb25lIG9mICgiK1ZbR10ub3ZlcmxvYWRUYWJsZSsiKSEiKSxWW0ddLm92ZXJsb2FkVGFibGVbYXJndW1lbnRzLmxlbmd0aF0uYXBwbHkodGhpcyxhcmd1bWVudHMpfSxWW0ddLm92ZXJsb2FkVGFibGU9W10sVltHXS5vdmVybG9hZFRhYmxlW0ouYXJnQ291bnRdPUp9fWZ1bmN0aW9uIERjKFYsRyxZKXtuLmhhc093blByb3BlcnR5KFYpPygoWT09PXZvaWQgMHx8bltWXS5vdmVybG9hZFRhYmxlIT09dm9pZCAwJiZuW1ZdLm92ZXJsb2FkVGFibGVbWV0hPT12b2lkIDApJiZEZSgiQ2Fubm90IHJlZ2lzdGVyIHB1YmxpYyBuYW1lICciK1YrIicgdHdpY2UiKSxXYShuLFYsViksbi5oYXNPd25Qcm9wZXJ0eShZKSYmRGUoIkNhbm5vdCByZWdpc3RlciBtdWx0aXBsZSBvdmVybG9hZHMgb2YgYSBmdW5jdGlvbiB3aXRoIHRoZSBzYW1lIG51bWJlciBvZiBhcmd1bWVudHMgKCIrWSsiKSEiKSxuW1ZdLm92ZXJsb2FkVGFibGVbWV09Ryk6KG5bVl09RyxZIT09dm9pZCAwJiYobltWXS5udW1Bcmd1bWVudHM9WSkpfWZ1bmN0aW9uIEN1KFYsRyxZLEosbHQsT3QsU3QsaHQpe3RoaXMubmFtZT1WLHRoaXMuY29uc3RydWN0b3I9Ryx0aGlzLmluc3RhbmNlUHJvdG90eXBlPVksdGhpcy5yYXdEZXN0cnVjdG9yPUosdGhpcy5iYXNlQ2xhc3M9bHQsdGhpcy5nZXRBY3R1YWxUeXBlPU90LHRoaXMudXBjYXN0PVN0LHRoaXMuZG93bmNhc3Q9aHQsdGhpcy5wdXJlVmlydHVhbEZ1bmN0aW9ucz1bXX1mdW5jdGlvbiBGYyhWLEcsWSl7Zm9yKDtHIT09WTspRy51cGNhc3R8fERlKCJFeHBlY3RlZCBudWxsIG9yIGluc3RhbmNlIG9mICIrWS5uYW1lKyIsIGdvdCBhbiBpbnN0YW5jZSBvZiAiK0cubmFtZSksVj1HLnVwY2FzdChWKSxHPUcuYmFzZUNsYXNzO3JldHVybiBWfWZ1bmN0aW9uIHh1KFYsRyl7aWYoRz09PW51bGwpcmV0dXJuIHRoaXMuaXNSZWZlcmVuY2UmJkRlKCJudWxsIGlzIG5vdCBhIHZhbGlkICIrdGhpcy5uYW1lKSwwO0cuJCR8fERlKCdDYW5ub3QgcGFzcyAiJyt3aShHKSsnIiBhcyBhICcrdGhpcy5uYW1lKSxHLiQkLnB0cnx8RGUoIkNhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICIrdGhpcy5uYW1lKTt2YXIgWT1HLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLEo9RmMoRy4kJC5wdHIsWSx0aGlzLnJlZ2lzdGVyZWRDbGFzcyk7cmV0dXJuIEp9ZnVuY3Rpb24gUHUoVixHKXt2YXIgWTtpZihHPT09bnVsbClyZXR1cm4gdGhpcy5pc1JlZmVyZW5jZSYmRGUoIm51bGwgaXMgbm90IGEgdmFsaWQgIit0aGlzLm5hbWUpLHRoaXMuaXNTbWFydFBvaW50ZXI/KFk9dGhpcy5yYXdDb25zdHJ1Y3RvcigpLFYhPT1udWxsJiZWLnB1c2godGhpcy5yYXdEZXN0cnVjdG9yLFkpLFkpOjA7Ry4kJHx8RGUoJ0Nhbm5vdCBwYXNzICInK3dpKEcpKyciIGFzIGEgJyt0aGlzLm5hbWUpLEcuJCQucHRyfHxEZSgiQ2Fubm90IHBhc3MgZGVsZXRlZCBvYmplY3QgYXMgYSBwb2ludGVyIG9mIHR5cGUgIit0aGlzLm5hbWUpLCF0aGlzLmlzQ29uc3QmJkcuJCQucHRyVHlwZS5pc0NvbnN0JiZEZSgiQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgb2YgdHlwZSAiKyhHLiQkLnNtYXJ0UHRyVHlwZT9HLiQkLnNtYXJ0UHRyVHlwZS5uYW1lOkcuJCQucHRyVHlwZS5uYW1lKSsiIHRvIHBhcmFtZXRlciB0eXBlICIrdGhpcy5uYW1lKTt2YXIgSj1HLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzO2lmKFk9RmMoRy4kJC5wdHIsSix0aGlzLnJlZ2lzdGVyZWRDbGFzcyksdGhpcy5pc1NtYXJ0UG9pbnRlcilzd2l0Y2goRy4kJC5zbWFydFB0cj09PXZvaWQgMCYmRGUoIlBhc3NpbmcgcmF3IHBvaW50ZXIgdG8gc21hcnQgcG9pbnRlciBpcyBpbGxlZ2FsIiksdGhpcy5zaGFyaW5nUG9saWN5KXtjYXNlIDA6Ry4kJC5zbWFydFB0clR5cGU9PT10aGlzP1k9Ry4kJC5zbWFydFB0cjpEZSgiQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgb2YgdHlwZSAiKyhHLiQkLnNtYXJ0UHRyVHlwZT9HLiQkLnNtYXJ0UHRyVHlwZS5uYW1lOkcuJCQucHRyVHlwZS5uYW1lKSsiIHRvIHBhcmFtZXRlciB0eXBlICIrdGhpcy5uYW1lKTticmVhaztjYXNlIDE6WT1HLiQkLnNtYXJ0UHRyO2JyZWFrO2Nhc2UgMjppZihHLiQkLnNtYXJ0UHRyVHlwZT09PXRoaXMpWT1HLiQkLnNtYXJ0UHRyO2Vsc2V7dmFyIGx0PUcuY2xvbmUoKTtZPXRoaXMucmF3U2hhcmUoWSx1cihmdW5jdGlvbigpe2x0LmRlbGV0ZSgpfSkpLFYhPT1udWxsJiZWLnB1c2godGhpcy5yYXdEZXN0cnVjdG9yLFkpfWJyZWFrO2RlZmF1bHQ6RGUoIlVuc3VwcG9ydGluZyBzaGFyaW5nIHBvbGljeSIpfXJldHVybiBZfWZ1bmN0aW9uIE11KFYsRyl7aWYoRz09PW51bGwpcmV0dXJuIHRoaXMuaXNSZWZlcmVuY2UmJkRlKCJudWxsIGlzIG5vdCBhIHZhbGlkICIrdGhpcy5uYW1lKSwwO0cuJCR8fERlKCdDYW5ub3QgcGFzcyAiJyt3aShHKSsnIiBhcyBhICcrdGhpcy5uYW1lKSxHLiQkLnB0cnx8RGUoIkNhbm5vdCBwYXNzIGRlbGV0ZWQgb2JqZWN0IGFzIGEgcG9pbnRlciBvZiB0eXBlICIrdGhpcy5uYW1lKSxHLiQkLnB0clR5cGUuaXNDb25zdCYmRGUoIkNhbm5vdCBjb252ZXJ0IGFyZ3VtZW50IG9mIHR5cGUgIitHLiQkLnB0clR5cGUubmFtZSsiIHRvIHBhcmFtZXRlciB0eXBlICIrdGhpcy5uYW1lKTt2YXIgWT1HLiQkLnB0clR5cGUucmVnaXN0ZXJlZENsYXNzLEo9RmMoRy4kJC5wdHIsWSx0aGlzLnJlZ2lzdGVyZWRDbGFzcyk7cmV0dXJuIEp9ZnVuY3Rpb24gTnUoVil7cmV0dXJuIHRoaXMucmF3R2V0UG9pbnRlZSYmKFY9dGhpcy5yYXdHZXRQb2ludGVlKFYpKSxWfWZ1bmN0aW9uIEl1KFYpe3RoaXMucmF3RGVzdHJ1Y3RvciYmdGhpcy5yYXdEZXN0cnVjdG9yKFYpfWZ1bmN0aW9uIHZ1KFYpe1YhPT1udWxsJiZWLmRlbGV0ZSgpfWZ1bmN0aW9uIFhhKFYsRyxZKXtpZihHPT09WSlyZXR1cm4gVjtpZihZLmJhc2VDbGFzcz09PXZvaWQgMClyZXR1cm4gbnVsbDt2YXIgSj1YYShWLEcsWS5iYXNlQ2xhc3MpO3JldHVybiBKPT09bnVsbD9udWxsOlkuZG93bmNhc3QoSil9ZnVuY3Rpb24gTHUoKXtyZXR1cm4gT2JqZWN0LmtleXModHMpLmxlbmd0aH1mdW5jdGlvbiBEdSgpe3ZhciBWPVtdO2Zvcih2YXIgRyBpbiB0cyl0cy5oYXNPd25Qcm9wZXJ0eShHKSYmVi5wdXNoKHRzW0ddKTtyZXR1cm4gVn1mdW5jdGlvbiBGdShWKXtRaT1WLEppLmxlbmd0aCYmUWkmJlFpKExjKX1mdW5jdGlvbiBCdSgpe24uZ2V0SW5oZXJpdGVkSW5zdGFuY2VDb3VudD1MdSxuLmdldExpdmVJbmhlcml0ZWRJbnN0YW5jZXM9RHUsbi5mbHVzaFBlbmRpbmdEZWxldGVzPUxjLG4uc2V0RGVsYXlGdW5jdGlvbj1GdX12YXIgdHM9e307ZnVuY3Rpb24gVXUoVixHKXtmb3IoRz09PXZvaWQgMCYmRGUoInB0ciBzaG91bGQgbm90IGJlIHVuZGVmaW5lZCIpO1YuYmFzZUNsYXNzOylHPVYudXBjYXN0KEcpLFY9Vi5iYXNlQ2xhc3M7cmV0dXJuIEd9ZnVuY3Rpb24gVnUoVixHKXtyZXR1cm4gRz1VdShWLEcpLHRzW0ddfWZ1bmN0aW9uIExzKFYsRyl7KCFHLnB0clR5cGV8fCFHLnB0cikmJmJpKCJtYWtlQ2xhc3NIYW5kbGUgcmVxdWlyZXMgcHRyIGFuZCBwdHJUeXBlIik7dmFyIFk9ISFHLnNtYXJ0UHRyVHlwZSxKPSEhRy5zbWFydFB0cjtyZXR1cm4gWSE9PUomJmJpKCJCb3RoIHNtYXJ0UHRyVHlwZSBhbmQgc21hcnRQdHIgbXVzdCBiZSBzcGVjaWZpZWQiKSxHLmNvdW50PXt2YWx1ZToxfSxaaShPYmplY3QuY3JlYXRlKFYseyQkOnt2YWx1ZTpHfX0pKX1mdW5jdGlvbiBrdShWKXt2YXIgRz10aGlzLmdldFBvaW50ZWUoVik7aWYoIUcpcmV0dXJuIHRoaXMuZGVzdHJ1Y3RvcihWKSxudWxsO3ZhciBZPVZ1KHRoaXMucmVnaXN0ZXJlZENsYXNzLEcpO2lmKFkhPT12b2lkIDApe2lmKFkuJCQuY291bnQudmFsdWU9PT0wKXJldHVybiBZLiQkLnB0cj1HLFkuJCQuc21hcnRQdHI9VixZLmNsb25lKCk7dmFyIEo9WS5jbG9uZSgpO3JldHVybiB0aGlzLmRlc3RydWN0b3IoViksSn1mdW5jdGlvbiBsdCgpe3JldHVybiB0aGlzLmlzU21hcnRQb2ludGVyP0xzKHRoaXMucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRoaXMucG9pbnRlZVR5cGUscHRyOkcsc21hcnRQdHJUeXBlOnRoaXMsc21hcnRQdHI6Vn0pOkxzKHRoaXMucmVnaXN0ZXJlZENsYXNzLmluc3RhbmNlUHJvdG90eXBlLHtwdHJUeXBlOnRoaXMscHRyOlZ9KX12YXIgT3Q9dGhpcy5yZWdpc3RlcmVkQ2xhc3MuZ2V0QWN0dWFsVHlwZShHKSxTdD1LYVtPdF07aWYoIVN0KXJldHVybiBsdC5jYWxsKHRoaXMpO3ZhciBodDt0aGlzLmlzQ29uc3Q/aHQ9U3QuY29uc3RQb2ludGVyVHlwZTpodD1TdC5wb2ludGVyVHlwZTt2YXIgX3Q9WGEoRyx0aGlzLnJlZ2lzdGVyZWRDbGFzcyxodC5yZWdpc3RlcmVkQ2xhc3MpO3JldHVybiBfdD09PW51bGw/bHQuY2FsbCh0aGlzKTp0aGlzLmlzU21hcnRQb2ludGVyP0xzKGh0LnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZSx7cHRyVHlwZTpodCxwdHI6X3Qsc21hcnRQdHJUeXBlOnRoaXMsc21hcnRQdHI6Vn0pOkxzKGh0LnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZSx7cHRyVHlwZTpodCxwdHI6X3R9KX1mdW5jdGlvbiBHdSgpe2ZyLnByb3RvdHlwZS5nZXRQb2ludGVlPU51LGZyLnByb3RvdHlwZS5kZXN0cnVjdG9yPUl1LGZyLnByb3RvdHlwZS5hcmdQYWNrQWR2YW5jZT04LGZyLnByb3RvdHlwZS5yZWFkVmFsdWVGcm9tUG9pbnRlcj1hcixmci5wcm90b3R5cGUuZGVsZXRlT2JqZWN0PXZ1LGZyLnByb3RvdHlwZS5mcm9tV2lyZVR5cGU9a3V9ZnVuY3Rpb24gZnIoVixHLFksSixsdCxPdCxTdCxodCxfdCxLdCx0ZSl7dGhpcy5uYW1lPVYsdGhpcy5yZWdpc3RlcmVkQ2xhc3M9Ryx0aGlzLmlzUmVmZXJlbmNlPVksdGhpcy5pc0NvbnN0PUosdGhpcy5pc1NtYXJ0UG9pbnRlcj1sdCx0aGlzLnBvaW50ZWVUeXBlPU90LHRoaXMuc2hhcmluZ1BvbGljeT1TdCx0aGlzLnJhd0dldFBvaW50ZWU9aHQsdGhpcy5yYXdDb25zdHJ1Y3Rvcj1fdCx0aGlzLnJhd1NoYXJlPUt0LHRoaXMucmF3RGVzdHJ1Y3Rvcj10ZSwhbHQmJkcuYmFzZUNsYXNzPT09dm9pZCAwP0o/KHRoaXMudG9XaXJlVHlwZT14dSx0aGlzLmRlc3RydWN0b3JGdW5jdGlvbj1udWxsKToodGhpcy50b1dpcmVUeXBlPU11LHRoaXMuZGVzdHJ1Y3RvckZ1bmN0aW9uPW51bGwpOnRoaXMudG9XaXJlVHlwZT1QdX1mdW5jdGlvbiBZYShWLEcsWSl7bi5oYXNPd25Qcm9wZXJ0eShWKXx8YmkoIlJlcGxhY2luZyBub25leGlzdGFudCBwdWJsaWMgc3ltYm9sIiksbltWXS5vdmVybG9hZFRhYmxlIT09dm9pZCAwJiZZIT09dm9pZCAwP25bVl0ub3ZlcmxvYWRUYWJsZVtZXT1HOihuW1ZdPUcsbltWXS5hcmdDb3VudD1ZKX1mdW5jdGlvbiB6dShWLEcsWSl7dmFyIEo9blsiZHluQ2FsbF8iK1ZdO3JldHVybiBZJiZZLmxlbmd0aD9KLmFwcGx5KG51bGwsW0ddLmNvbmNhdChZKSk6Si5jYWxsKG51bGwsRyl9ZnVuY3Rpb24ganUoVixHLFkpe3JldHVybiBWLmluZGV4T2YoImoiKSE9LTE/enUoVixHLFkpOmdlLmdldChHKS5hcHBseShudWxsLFkpfWZ1bmN0aW9uIEh1KFYsRyl7dmFyIFk9W107cmV0dXJuIGZ1bmN0aW9uKCl7WS5sZW5ndGg9YXJndW1lbnRzLmxlbmd0aDtmb3IodmFyIEo9MDtKPGFyZ3VtZW50cy5sZW5ndGg7SisrKVlbSl09YXJndW1lbnRzW0pdO3JldHVybiBqdShWLEcsWSl9fWZ1bmN0aW9uIEhvKFYsRyl7Vj1GbihWKTtmdW5jdGlvbiBZKCl7cmV0dXJuIFYuaW5kZXhPZigiaiIpIT0tMT9IdShWLEcpOmdlLmdldChHKX12YXIgSj1ZKCk7cmV0dXJuIHR5cGVvZiBKIT0iZnVuY3Rpb24iJiZEZSgidW5rbm93biBmdW5jdGlvbiBwb2ludGVyIHdpdGggc2lnbmF0dXJlICIrVisiOiAiK0cpLEp9dmFyICRhPXZvaWQgMDtmdW5jdGlvbiBaYShWKXt2YXIgRz1ldChWKSxZPUZuKEcpO3JldHVybiBXKEcpLFl9ZnVuY3Rpb24gRHMoVixHKXt2YXIgWT1bXSxKPXt9O2Z1bmN0aW9uIGx0KE90KXtpZighSltPdF0mJiFqb1tPdF0pe2lmKE5yW090XSl7TnJbT3RdLmZvckVhY2gobHQpO3JldHVybn1ZLnB1c2goT3QpLEpbT3RdPSEwfX10aHJvdyBHLmZvckVhY2gobHQpLG5ldyAkYShWKyI6ICIrWS5tYXAoWmEpLmpvaW4oWyIsICJdKSl9ZnVuY3Rpb24gcXUoVixHLFksSixsdCxPdCxTdCxodCxfdCxLdCx0ZSx3ZSxKZSl7dGU9Rm4odGUpLE90PUhvKGx0LE90KSxodCYmKGh0PUhvKFN0LGh0KSksS3QmJihLdD1IbyhfdCxLdCkpLEplPUhvKHdlLEplKTt2YXIgYm49WWkodGUpO0RjKGJuLGZ1bmN0aW9uKCl7RHMoIkNhbm5vdCBjb25zdHJ1Y3QgIit0ZSsiIGR1ZSB0byB1bmJvdW5kIHR5cGVzIixbSl0pfSksb28oW1YsRyxZXSxKP1tKXTpbXSxmdW5jdGlvbihybyl7cm89cm9bMF07dmFyIElvLGxyO0o/KElvPXJvLnJlZ2lzdGVyZWRDbGFzcyxscj1Jby5pbnN0YW5jZVByb3RvdHlwZSk6bHI9THIucHJvdG90eXBlO3ZhciBacj1JcihibixmdW5jdGlvbigpe2lmKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSE9PW9mKXRocm93IG5ldyBUaSgiVXNlICduZXcnIHRvIGNvbnN0cnVjdCAiK3RlKTtpZihFaS5jb25zdHJ1Y3Rvcl9ib2R5PT09dm9pZCAwKXRocm93IG5ldyBUaSh0ZSsiIGhhcyBubyBhY2Nlc3NpYmxlIGNvbnN0cnVjdG9yIik7dmFyIHUxPUVpLmNvbnN0cnVjdG9yX2JvZHlbYXJndW1lbnRzLmxlbmd0aF07aWYodTE9PT12b2lkIDApdGhyb3cgbmV3IFRpKCJUcmllZCB0byBpbnZva2UgY3RvciBvZiAiK3RlKyIgd2l0aCBpbnZhbGlkIG51bWJlciBvZiBwYXJhbWV0ZXJzICgiK2FyZ3VtZW50cy5sZW5ndGgrIikgLSBleHBlY3RlZCAoIitPYmplY3Qua2V5cyhFaS5jb25zdHJ1Y3Rvcl9ib2R5KS50b1N0cmluZygpKyIpIHBhcmFtZXRlcnMgaW5zdGVhZCEiKTtyZXR1cm4gdTEuYXBwbHkodGhpcyxhcmd1bWVudHMpfSksb2Y9T2JqZWN0LmNyZWF0ZShscix7Y29uc3RydWN0b3I6e3ZhbHVlOlpyfX0pO1pyLnByb3RvdHlwZT1vZjt2YXIgRWk9bmV3IEN1KHRlLFpyLG9mLEplLElvLE90LGh0LEt0KSxLUz1uZXcgZnIodGUsRWksITAsITEsITEpLGExPW5ldyBmcih0ZSsiKiIsRWksITEsITEsITEpLGYxPW5ldyBmcih0ZSsiIGNvbnN0KiIsRWksITEsITAsITEpO3JldHVybiBLYVtWXT17cG9pbnRlclR5cGU6YTEsY29uc3RQb2ludGVyVHlwZTpmMX0sWWEoYm4sWnIpLFtLUyxhMSxmMV19KX1mdW5jdGlvbiBCYyhWLEcpe2Zvcih2YXIgWT1bXSxKPTA7SjxWO0orKylZLnB1c2goY2VbKEc+PjIpK0pdKTtyZXR1cm4gWX1mdW5jdGlvbiBLdShWLEcsWSxKLGx0LE90KXtGKEc+MCk7dmFyIFN0PUJjKEcsWSk7bHQ9SG8oSixsdCk7dmFyIGh0PVtPdF0sX3Q9W107b28oW10sW1ZdLGZ1bmN0aW9uKEt0KXtLdD1LdFswXTt2YXIgdGU9ImNvbnN0cnVjdG9yICIrS3QubmFtZTtpZihLdC5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keT09PXZvaWQgMCYmKEt0LnJlZ2lzdGVyZWRDbGFzcy5jb25zdHJ1Y3Rvcl9ib2R5PVtdKSxLdC5yZWdpc3RlcmVkQ2xhc3MuY29uc3RydWN0b3JfYm9keVtHLTFdIT09dm9pZCAwKXRocm93IG5ldyBUaSgiQ2Fubm90IHJlZ2lzdGVyIG11bHRpcGxlIGNvbnN0cnVjdG9ycyB3aXRoIGlkZW50aWNhbCBudW1iZXIgb2YgcGFyYW1ldGVycyAoIisoRy0xKSsiKSBmb3IgY2xhc3MgJyIrS3QubmFtZSsiJyEgT3ZlcmxvYWQgcmVzb2x1dGlvbiBpcyBjdXJyZW50bHkgb25seSBwZXJmb3JtZWQgdXNpbmcgdGhlIHBhcmFtZXRlciBjb3VudCwgbm90IGFjdHVhbCB0eXBlIGluZm8hIik7cmV0dXJuIEt0LnJlZ2lzdGVyZWRDbGFzcy5jb25zdHJ1Y3Rvcl9ib2R5W0ctMV09ZnVuY3Rpb24oKXtEcygiQ2Fubm90IGNvbnN0cnVjdCAiK0t0Lm5hbWUrIiBkdWUgdG8gdW5ib3VuZCB0eXBlcyIsU3QpfSxvbyhbXSxTdCxmdW5jdGlvbih3ZSl7cmV0dXJuIEt0LnJlZ2lzdGVyZWRDbGFzcy5jb25zdHJ1Y3Rvcl9ib2R5W0ctMV09ZnVuY3Rpb24oKXthcmd1bWVudHMubGVuZ3RoIT09Ry0xJiZEZSh0ZSsiIGNhbGxlZCB3aXRoICIrYXJndW1lbnRzLmxlbmd0aCsiIGFyZ3VtZW50cywgZXhwZWN0ZWQgIisoRy0xKSksX3QubGVuZ3RoPTAsaHQubGVuZ3RoPUc7Zm9yKHZhciBibj0xO2JuPEc7KytibilodFtibl09d2VbYm5dLnRvV2lyZVR5cGUoX3QsYXJndW1lbnRzW2JuLTFdKTt2YXIgcm89bHQuYXBwbHkobnVsbCxodCk7cmV0dXJuIFJuKF90KSx3ZVswXS5mcm9tV2lyZVR5cGUocm8pfSxbXX0pLFtdfSl9ZnVuY3Rpb24gUWEoVixHKXtpZighKFYgaW5zdGFuY2VvZiBGdW5jdGlvbikpdGhyb3cgbmV3IFR5cGVFcnJvcigibmV3XyBjYWxsZWQgd2l0aCBjb25zdHJ1Y3RvciB0eXBlICIrdHlwZW9mIFYrIiB3aGljaCBpcyBub3QgYSBmdW5jdGlvbiIpO3ZhciBZPUlyKFYubmFtZXx8InVua25vd25GdW5jdGlvbk5hbWUiLGZ1bmN0aW9uKCl7fSk7WS5wcm90b3R5cGU9Vi5wcm90b3R5cGU7dmFyIEo9bmV3IFksbHQ9Vi5hcHBseShKLEcpO3JldHVybiBsdCBpbnN0YW5jZW9mIE9iamVjdD9sdDpKfWZ1bmN0aW9uIEphKFYsRyxZLEosbHQpe3ZhciBPdD1HLmxlbmd0aDtPdDwyJiZEZSgiYXJnVHlwZXMgYXJyYXkgc2l6ZSBtaXNtYXRjaCEgTXVzdCBhdCBsZWFzdCBnZXQgcmV0dXJuIHZhbHVlIGFuZCAndGhpcycgdHlwZXMhIik7Zm9yKHZhciBTdD1HWzFdIT09bnVsbCYmWSE9PW51bGwsaHQ9ITEsX3Q9MTtfdDxHLmxlbmd0aDsrK190KWlmKEdbX3RdIT09bnVsbCYmR1tfdF0uZGVzdHJ1Y3RvckZ1bmN0aW9uPT09dm9pZCAwKXtodD0hMDticmVha31mb3IodmFyIEt0PUdbMF0ubmFtZSE9PSJ2b2lkIix0ZT0iIix3ZT0iIixfdD0wO190PE90LTI7KytfdCl0ZSs9KF90IT09MD8iLCAiOiIiKSsiYXJnIitfdCx3ZSs9KF90IT09MD8iLCAiOiIiKSsiYXJnIitfdCsiV2lyZWQiO3ZhciBKZT0icmV0dXJuIGZ1bmN0aW9uICIrWWkoVikrIigiK3RlK2ApIHsKaWYgKGFyZ3VtZW50cy5sZW5ndGggIT09IGArKE90LTIpK2ApIHsKdGhyb3dCaW5kaW5nRXJyb3IoJ2Z1bmN0aW9uIGArVisiIGNhbGxlZCB3aXRoICcgKyBhcmd1bWVudHMubGVuZ3RoICsgJyBhcmd1bWVudHMsIGV4cGVjdGVkICIrKE90LTIpK2AgYXJncyEnKTsKfQpgO2h0JiYoSmUrPWB2YXIgZGVzdHJ1Y3RvcnMgPSBbXTsKYCk7dmFyIGJuPWh0PyJkZXN0cnVjdG9ycyI6Im51bGwiLHJvPVsidGhyb3dCaW5kaW5nRXJyb3IiLCJpbnZva2VyIiwiZm4iLCJydW5EZXN0cnVjdG9ycyIsInJldFR5cGUiLCJjbGFzc1BhcmFtIl0sSW89W0RlLEosbHQsUm4sR1swXSxHWzFdXTtTdCYmKEplKz0idmFyIHRoaXNXaXJlZCA9IGNsYXNzUGFyYW0udG9XaXJlVHlwZSgiK2JuK2AsIHRoaXMpOwpgKTtmb3IodmFyIF90PTA7X3Q8T3QtMjsrK190KUplKz0idmFyIGFyZyIrX3QrIldpcmVkID0gYXJnVHlwZSIrX3QrIi50b1dpcmVUeXBlKCIrYm4rIiwgYXJnIitfdCsiKTsgLy8gIitHW190KzJdLm5hbWUrYApgLHJvLnB1c2goImFyZ1R5cGUiK190KSxJby5wdXNoKEdbX3QrMl0pO2lmKFN0JiYod2U9InRoaXNXaXJlZCIrKHdlLmxlbmd0aD4wPyIsICI6IiIpK3dlKSxKZSs9KEt0PyJ2YXIgcnYgPSAiOiIiKSsiaW52b2tlcihmbiIrKHdlLmxlbmd0aD4wPyIsICI6IiIpK3dlK2ApOwpgLGh0KUplKz1gcnVuRGVzdHJ1Y3RvcnMoZGVzdHJ1Y3RvcnMpOwpgO2Vsc2UgZm9yKHZhciBfdD1TdD8xOjI7X3Q8Ry5sZW5ndGg7KytfdCl7dmFyIGxyPV90PT09MT8idGhpc1dpcmVkIjoiYXJnIisoX3QtMikrIldpcmVkIjtHW190XS5kZXN0cnVjdG9yRnVuY3Rpb24hPT1udWxsJiYoSmUrPWxyKyJfZHRvcigiK2xyKyIpOyAvLyAiK0dbX3RdLm5hbWUrYApgLHJvLnB1c2gobHIrIl9kdG9yIiksSW8ucHVzaChHW190XS5kZXN0cnVjdG9yRnVuY3Rpb24pKX1LdCYmKEplKz1gdmFyIHJldCA9IHJldFR5cGUuZnJvbVdpcmVUeXBlKHJ2KTsKcmV0dXJuIHJldDsKYCksSmUrPWB9CmAscm8ucHVzaChKZSk7dmFyIFpyPVFhKEZ1bmN0aW9uLHJvKS5hcHBseShudWxsLElvKTtyZXR1cm4gWnJ9ZnVuY3Rpb24gV3UoVixHLFksSixsdCxPdCxTdCxodCl7dmFyIF90PUJjKFksSik7Rz1GbihHKSxPdD1IbyhsdCxPdCksb28oW10sW1ZdLGZ1bmN0aW9uKEt0KXtLdD1LdFswXTt2YXIgdGU9S3QubmFtZSsiLiIrRztodCYmS3QucmVnaXN0ZXJlZENsYXNzLnB1cmVWaXJ0dWFsRnVuY3Rpb25zLnB1c2goRyk7ZnVuY3Rpb24gd2UoKXtEcygiQ2Fubm90IGNhbGwgIit0ZSsiIGR1ZSB0byB1bmJvdW5kIHR5cGVzIixfdCl9dmFyIEplPUt0LnJlZ2lzdGVyZWRDbGFzcy5pbnN0YW5jZVByb3RvdHlwZSxibj1KZVtHXTtyZXR1cm4gYm49PT12b2lkIDB8fGJuLm92ZXJsb2FkVGFibGU9PT12b2lkIDAmJmJuLmNsYXNzTmFtZSE9PUt0Lm5hbWUmJmJuLmFyZ0NvdW50PT09WS0yPyh3ZS5hcmdDb3VudD1ZLTIsd2UuY2xhc3NOYW1lPUt0Lm5hbWUsSmVbR109d2UpOihXYShKZSxHLHRlKSxKZVtHXS5vdmVybG9hZFRhYmxlW1ktMl09d2UpLG9vKFtdLF90LGZ1bmN0aW9uKHJvKXt2YXIgSW89SmEodGUscm8sS3QsT3QsU3QpO3JldHVybiBKZVtHXS5vdmVybG9hZFRhYmxlPT09dm9pZCAwPyhJby5hcmdDb3VudD1ZLTIsSmVbR109SW8pOkplW0ddLm92ZXJsb2FkVGFibGVbWS0yXT1JbyxbXX0pLFtdfSl9ZnVuY3Rpb24gWHUoVixHLFkpe1Y9Rm4oViksb28oW10sW0ddLGZ1bmN0aW9uKEope3JldHVybiBKPUpbMF0sbltWXT1KLmZyb21XaXJlVHlwZShZKSxbXX0pfXZhciBVYz1bXSxBbz1be30se3ZhbHVlOnZvaWQgMH0se3ZhbHVlOm51bGx9LHt2YWx1ZTohMH0se3ZhbHVlOiExfV07ZnVuY3Rpb24gVmMoVil7Vj40JiYtLUFvW1ZdLnJlZmNvdW50PT09MCYmKEFvW1ZdPXZvaWQgMCxVYy5wdXNoKFYpKX1mdW5jdGlvbiBZdSgpe2Zvcih2YXIgVj0wLEc9NTtHPEFvLmxlbmd0aDsrK0cpQW9bR10hPT12b2lkIDAmJisrVjtyZXR1cm4gVn1mdW5jdGlvbiAkdSgpe2Zvcih2YXIgVj01O1Y8QW8ubGVuZ3RoOysrVilpZihBb1tWXSE9PXZvaWQgMClyZXR1cm4gQW9bVl07cmV0dXJuIG51bGx9ZnVuY3Rpb24gWnUoKXtuLmNvdW50X2VtdmFsX2hhbmRsZXM9WXUsbi5nZXRfZmlyc3RfZW12YWw9JHV9ZnVuY3Rpb24gdXIoVil7c3dpdGNoKFYpe2Nhc2Ugdm9pZCAwOnJldHVybiAxO2Nhc2UgbnVsbDpyZXR1cm4gMjtjYXNlITA6cmV0dXJuIDM7Y2FzZSExOnJldHVybiA0O2RlZmF1bHQ6e3ZhciBHPVVjLmxlbmd0aD9VYy5wb3AoKTpBby5sZW5ndGg7cmV0dXJuIEFvW0ddPXtyZWZjb3VudDoxLHZhbHVlOlZ9LEd9fX1mdW5jdGlvbiBRdShWLEcpe0c9Rm4oRyksb3IoVix7bmFtZTpHLGZyb21XaXJlVHlwZTpmdW5jdGlvbihZKXt2YXIgSj1Bb1tZXS52YWx1ZTtyZXR1cm4gVmMoWSksSn0sdG9XaXJlVHlwZTpmdW5jdGlvbihZLEope3JldHVybiB1cihKKX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjphcixkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIEp1KFYsRyxZKXtzd2l0Y2goRyl7Y2FzZSAwOnJldHVybiBmdW5jdGlvbihKKXt2YXIgbHQ9WT91dDp2dDtyZXR1cm4gdGhpcy5mcm9tV2lyZVR5cGUobHRbSl0pfTtjYXNlIDE6cmV0dXJuIGZ1bmN0aW9uKEope3ZhciBsdD1ZP3p0Om1lO3JldHVybiB0aGlzLmZyb21XaXJlVHlwZShsdFtKPj4xXSl9O2Nhc2UgMjpyZXR1cm4gZnVuY3Rpb24oSil7dmFyIGx0PVk/Y2U6cGU7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKGx0W0o+PjJdKX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGludGVnZXIgdHlwZTogIitWKX19ZnVuY3Rpb24gdGwoVixHLFksSil7dmFyIGx0PXZyKFkpO0c9Rm4oRyk7ZnVuY3Rpb24gT3QoKXt9T3QudmFsdWVzPXt9LG9yKFYse25hbWU6Ryxjb25zdHJ1Y3RvcjpPdCxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oU3Qpe3JldHVybiB0aGlzLmNvbnN0cnVjdG9yLnZhbHVlc1tTdF19LHRvV2lyZVR5cGU6ZnVuY3Rpb24oU3QsaHQpe3JldHVybiBodC52YWx1ZX0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjpKdShHLGx0LEopLGRlc3RydWN0b3JGdW5jdGlvbjpudWxsfSksRGMoRyxPdCl9ZnVuY3Rpb24gRnMoVixHKXt2YXIgWT1qb1tWXTtyZXR1cm4gWT09PXZvaWQgMCYmRGUoRysiIGhhcyB1bmtub3duIHR5cGUgIitaYShWKSksWX1mdW5jdGlvbiBlbChWLEcsWSl7dmFyIEo9RnMoViwiZW51bSIpO0c9Rm4oRyk7dmFyIGx0PUouY29uc3RydWN0b3IsT3Q9T2JqZWN0LmNyZWF0ZShKLmNvbnN0cnVjdG9yLnByb3RvdHlwZSx7dmFsdWU6e3ZhbHVlOll9LGNvbnN0cnVjdG9yOnt2YWx1ZTpJcihKLm5hbWUrIl8iK0csZnVuY3Rpb24oKXt9KX19KTtsdC52YWx1ZXNbWV09T3QsbHRbR109T3R9ZnVuY3Rpb24gd2koVil7aWYoVj09PW51bGwpcmV0dXJuIm51bGwiO3ZhciBHPXR5cGVvZiBWO3JldHVybiBHPT09Im9iamVjdCJ8fEc9PT0iYXJyYXkifHxHPT09ImZ1bmN0aW9uIj9WLnRvU3RyaW5nKCk6IiIrVn1mdW5jdGlvbiBubChWLEcpe3N3aXRjaChHKXtjYXNlIDI6cmV0dXJuIGZ1bmN0aW9uKFkpe3JldHVybiB0aGlzLmZyb21XaXJlVHlwZSh1ZVtZPj4yXSl9O2Nhc2UgMzpyZXR1cm4gZnVuY3Rpb24oWSl7cmV0dXJuIHRoaXMuZnJvbVdpcmVUeXBlKFF0W1k+PjNdKX07ZGVmYXVsdDp0aHJvdyBuZXcgVHlwZUVycm9yKCJVbmtub3duIGZsb2F0IHR5cGU6ICIrVil9fWZ1bmN0aW9uIG9sKFYsRyxZKXt2YXIgSj12cihZKTtHPUZuKEcpLG9yKFYse25hbWU6Ryxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24obHQpe3JldHVybiBsdH0sdG9XaXJlVHlwZTpmdW5jdGlvbihsdCxPdCl7aWYodHlwZW9mIE90IT0ibnVtYmVyIiYmdHlwZW9mIE90IT0iYm9vbGVhbiIpdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnZlcnQgIicrd2koT3QpKyciIHRvICcrdGhpcy5uYW1lKTtyZXR1cm4gT3R9LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6bmwoRyxKKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIHJsKFYsRyxZLEosbHQsT3Qpe3ZhciBTdD1CYyhHLFkpO1Y9Rm4oViksbHQ9SG8oSixsdCksRGMoVixmdW5jdGlvbigpe0RzKCJDYW5ub3QgY2FsbCAiK1YrIiBkdWUgdG8gdW5ib3VuZCB0eXBlcyIsU3QpfSxHLTEpLG9vKFtdLFN0LGZ1bmN0aW9uKGh0KXt2YXIgX3Q9W2h0WzBdLG51bGxdLmNvbmNhdChodC5zbGljZSgxKSk7cmV0dXJuIFlhKFYsSmEoVixfdCxudWxsLGx0LE90KSxHLTEpLFtdfSl9ZnVuY3Rpb24gaWwoVixHLFkpe3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIFk/ZnVuY3Rpb24obHQpe3JldHVybiB1dFtsdF19OmZ1bmN0aW9uKGx0KXtyZXR1cm4gdnRbbHRdfTtjYXNlIDE6cmV0dXJuIFk/ZnVuY3Rpb24obHQpe3JldHVybiB6dFtsdD4+MV19OmZ1bmN0aW9uKGx0KXtyZXR1cm4gbWVbbHQ+PjFdfTtjYXNlIDI6cmV0dXJuIFk/ZnVuY3Rpb24obHQpe3JldHVybiBjZVtsdD4+Ml19OmZ1bmN0aW9uKGx0KXtyZXR1cm4gcGVbbHQ+PjJdfTtkZWZhdWx0OnRocm93IG5ldyBUeXBlRXJyb3IoIlVua25vd24gaW50ZWdlciB0eXBlOiAiK1YpfX1mdW5jdGlvbiBzbChWLEcsWSxKLGx0KXtHPUZuKEcpLGx0PT09LTEmJihsdD00Mjk0OTY3Mjk1KTt2YXIgT3Q9dnIoWSksU3Q9ZnVuY3Rpb24oS3Qpe3JldHVybiBLdH07aWYoSj09PTApe3ZhciBodD0zMi04Klk7U3Q9ZnVuY3Rpb24oS3Qpe3JldHVybiBLdDw8aHQ+Pj5odH19dmFyIF90PUcuaW5kZXhPZigidW5zaWduZWQiKSE9LTE7b3IoVix7bmFtZTpHLGZyb21XaXJlVHlwZTpTdCx0b1dpcmVUeXBlOmZ1bmN0aW9uKEt0LHRlKXtpZih0eXBlb2YgdGUhPSJudW1iZXIiJiZ0eXBlb2YgdGUhPSJib29sZWFuIil0aHJvdyBuZXcgVHlwZUVycm9yKCdDYW5ub3QgY29udmVydCAiJyt3aSh0ZSkrJyIgdG8gJyt0aGlzLm5hbWUpO2lmKHRlPEp8fHRlPmx0KXRocm93IG5ldyBUeXBlRXJyb3IoJ1Bhc3NpbmcgYSBudW1iZXIgIicrd2kodGUpKyciIGZyb20gSlMgc2lkZSB0byBDL0MrKyBzaWRlIHRvIGFuIGFyZ3VtZW50IG9mIHR5cGUgIicrRysnIiwgd2hpY2ggaXMgb3V0c2lkZSB0aGUgdmFsaWQgcmFuZ2UgWycrSisiLCAiK2x0KyJdISIpO3JldHVybiBfdD90ZT4+PjA6dGV8MH0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjppbChHLE90LEohPT0wKSxkZXN0cnVjdG9yRnVuY3Rpb246bnVsbH0pfWZ1bmN0aW9uIGNsKFYsRyxZKXt2YXIgSj1bSW50OEFycmF5LFVpbnQ4QXJyYXksSW50MTZBcnJheSxVaW50MTZBcnJheSxJbnQzMkFycmF5LFVpbnQzMkFycmF5LEZsb2F0MzJBcnJheSxGbG9hdDY0QXJyYXldLGx0PUpbR107ZnVuY3Rpb24gT3QoU3Qpe1N0PVN0Pj4yO3ZhciBodD1wZSxfdD1odFtTdF0sS3Q9aHRbU3QrMV07cmV0dXJuIG5ldyBsdChtdCxLdCxfdCl9WT1GbihZKSxvcihWLHtuYW1lOlksZnJvbVdpcmVUeXBlOk90LGFyZ1BhY2tBZHZhbmNlOjgscmVhZFZhbHVlRnJvbVBvaW50ZXI6T3R9LHtpZ25vcmVEdXBsaWNhdGVSZWdpc3RyYXRpb25zOiEwfSl9ZnVuY3Rpb24gYWwoVixHKXtHPUZuKEcpO3ZhciBZPUc9PT0ic3RkOjpzdHJpbmciO29yKFYse25hbWU6Ryxmcm9tV2lyZVR5cGU6ZnVuY3Rpb24oSil7dmFyIGx0PXBlW0o+PjJdLE90O2lmKFkpZm9yKHZhciBTdD1KKzQsaHQ9MDtodDw9bHQ7KytodCl7dmFyIF90PUorNCtodDtpZihodD09bHR8fHZ0W190XT09MCl7dmFyIEt0PV90LVN0LHRlPWsoU3QsS3QpO090PT09dm9pZCAwP090PXRlOihPdCs9IlwwIixPdCs9dGUpLFN0PV90KzF9fWVsc2V7Zm9yKHZhciB3ZT1uZXcgQXJyYXkobHQpLGh0PTA7aHQ8bHQ7KytodCl3ZVtodF09U3RyaW5nLmZyb21DaGFyQ29kZSh2dFtKKzQraHRdKTtPdD13ZS5qb2luKCIiKX1yZXR1cm4gVyhKKSxPdH0sdG9XaXJlVHlwZTpmdW5jdGlvbihKLGx0KXtsdCBpbnN0YW5jZW9mIEFycmF5QnVmZmVyJiYobHQ9bmV3IFVpbnQ4QXJyYXkobHQpKTt2YXIgT3QsU3Q9dHlwZW9mIGx0PT0ic3RyaW5nIjtTdHx8bHQgaW5zdGFuY2VvZiBVaW50OEFycmF5fHxsdCBpbnN0YW5jZW9mIFVpbnQ4Q2xhbXBlZEFycmF5fHxsdCBpbnN0YW5jZW9mIEludDhBcnJheXx8RGUoIkNhbm5vdCBwYXNzIG5vbi1zdHJpbmcgdG8gc3RkOjpzdHJpbmciKSxZJiZTdD9PdD1mdW5jdGlvbigpe3JldHVybiBSKGx0KX06T3Q9ZnVuY3Rpb24oKXtyZXR1cm4gbHQubGVuZ3RofTt2YXIgaHQ9T3QoKSxfdD16KDQraHQrMSk7aWYocGVbX3Q+PjJdPWh0LFkmJlN0KVgobHQsX3QrNCxodCsxKTtlbHNlIGlmKFN0KWZvcih2YXIgS3Q9MDtLdDxodDsrK0t0KXt2YXIgdGU9bHQuY2hhckNvZGVBdChLdCk7dGU+MjU1JiYoVyhfdCksRGUoIlN0cmluZyBoYXMgVVRGLTE2IGNvZGUgdW5pdHMgdGhhdCBkbyBub3QgZml0IGluIDggYml0cyIpKSx2dFtfdCs0K0t0XT10ZX1lbHNlIGZvcih2YXIgS3Q9MDtLdDxodDsrK0t0KXZ0W190KzQrS3RdPWx0W0t0XTtyZXR1cm4gSiE9PW51bGwmJkoucHVzaChXLF90KSxfdH0sYXJnUGFja0FkdmFuY2U6OCxyZWFkVmFsdWVGcm9tUG9pbnRlcjphcixkZXN0cnVjdG9yRnVuY3Rpb246ZnVuY3Rpb24oSil7VyhKKX19KX1mdW5jdGlvbiBmbChWLEcsWSl7WT1GbihZKTt2YXIgSixsdCxPdCxTdCxodDtHPT09Mj8oSj1hdCxsdD1wdCxTdD15dCxPdD1mdW5jdGlvbigpe3JldHVybiBtZX0saHQ9MSk6Rz09PTQmJihKPXJ0LGx0PVB0LFN0PWd0LE90PWZ1bmN0aW9uKCl7cmV0dXJuIHBlfSxodD0yKSxvcihWLHtuYW1lOlksZnJvbVdpcmVUeXBlOmZ1bmN0aW9uKF90KXtmb3IodmFyIEt0PXBlW190Pj4yXSx0ZT1PdCgpLHdlLEplPV90KzQsYm49MDtibjw9S3Q7Kytibil7dmFyIHJvPV90KzQrYm4qRztpZihibj09S3R8fHRlW3JvPj5odF09PTApe3ZhciBJbz1yby1KZSxscj1KKEplLElvKTt3ZT09PXZvaWQgMD93ZT1scjood2UrPSJcMCIsd2UrPWxyKSxKZT1ybytHfX1yZXR1cm4gVyhfdCksd2V9LHRvV2lyZVR5cGU6ZnVuY3Rpb24oX3QsS3Qpe3R5cGVvZiBLdCE9InN0cmluZyImJkRlKCJDYW5ub3QgcGFzcyBub24tc3RyaW5nIHRvIEMrKyBzdHJpbmcgdHlwZSAiK1kpO3ZhciB0ZT1TdChLdCksd2U9eig0K3RlK0cpO3JldHVybiBwZVt3ZT4+Ml09dGU+Pmh0LGx0KEt0LHdlKzQsdGUrRyksX3QhPT1udWxsJiZfdC5wdXNoKFcsd2UpLHdlfSxhcmdQYWNrQWR2YW5jZTo4LHJlYWRWYWx1ZUZyb21Qb2ludGVyOmFyLGRlc3RydWN0b3JGdW5jdGlvbjpmdW5jdGlvbihfdCl7VyhfdCl9fSl9ZnVuY3Rpb24gdWwoVixHLFksSixsdCxPdCl7cm5bVl09e25hbWU6Rm4oRykscmF3Q29uc3RydWN0b3I6SG8oWSxKKSxyYXdEZXN0cnVjdG9yOkhvKGx0LE90KSxmaWVsZHM6W119fWZ1bmN0aW9uIGxsKFYsRyxZLEosbHQsT3QsU3QsaHQsX3QsS3Qpe3JuW1ZdLmZpZWxkcy5wdXNoKHtmaWVsZE5hbWU6Rm4oRyksZ2V0dGVyUmV0dXJuVHlwZTpZLGdldHRlcjpIbyhKLGx0KSxnZXR0ZXJDb250ZXh0Ok90LHNldHRlckFyZ3VtZW50VHlwZTpTdCxzZXR0ZXI6SG8oaHQsX3QpLHNldHRlckNvbnRleHQ6S3R9KX1mdW5jdGlvbiBwbChWLEcpe0c9Rm4oRyksb3IoVix7aXNWb2lkOiEwLG5hbWU6RyxhcmdQYWNrQWR2YW5jZTowLGZyb21XaXJlVHlwZTpmdW5jdGlvbigpe30sdG9XaXJlVHlwZTpmdW5jdGlvbihZLEope319KX1mdW5jdGlvbiBlcyhWKXtyZXR1cm4gVnx8RGUoIkNhbm5vdCB1c2UgZGVsZXRlZCB2YWwuIGhhbmRsZSA9ICIrViksQW9bVl0udmFsdWV9ZnVuY3Rpb24gZGwoVixHLFkpe1Y9ZXMoViksRz1GcyhHLCJlbXZhbDo6YXMiKTt2YXIgSj1bXSxsdD11cihKKTtyZXR1cm4gY2VbWT4+Ml09bHQsRy50b1dpcmVUeXBlKEosVil9dmFyIG1sPXt9O2Z1bmN0aW9uIEJzKFYpe3ZhciBHPW1sW1ZdO3JldHVybiBHPT09dm9pZCAwP0ZuKFYpOkd9dmFyIGtjPVtdO2Z1bmN0aW9uIGhsKFYsRyxZLEope1Y9a2NbVl0sRz1lcyhHKSxZPUJzKFkpLFYoRyxZLG51bGwsSil9ZnVuY3Rpb24gdGYoKXtyZXR1cm4gdHlwZW9mIGdsb2JhbFRoaXM9PSJvYmplY3QiP2dsb2JhbFRoaXM6ZnVuY3Rpb24oKXtyZXR1cm4gRnVuY3Rpb259KCkoInJldHVybiB0aGlzIikoKX1mdW5jdGlvbiBfbChWKXtyZXR1cm4gVj09PTA/dXIodGYoKSk6KFY9QnMoViksdXIodGYoKVtWXSkpfWZ1bmN0aW9uIHlsKFYpe3ZhciBHPWtjLmxlbmd0aDtyZXR1cm4ga2MucHVzaChWKSxHfWZ1bmN0aW9uIGdsKFYsRyl7Zm9yKHZhciBZPW5ldyBBcnJheShWKSxKPTA7SjxWOysrSilZW0pdPUZzKGNlWyhHPj4yKStKXSwicGFyYW1ldGVyICIrSik7cmV0dXJuIFl9ZnVuY3Rpb24gQWwoVixHKXtmb3IodmFyIFk9Z2woVixHKSxKPVlbMF0sbHQ9Si5uYW1lKyJfJCIrWS5zbGljZSgxKS5tYXAoZnVuY3Rpb24oYm4pe3JldHVybiBibi5uYW1lfSkuam9pbigiXyIpKyIkIixPdD1bInJldFR5cGUiXSxTdD1bSl0saHQ9IiIsX3Q9MDtfdDxWLTE7KytfdClodCs9KF90IT09MD8iLCAiOiIiKSsiYXJnIitfdCxPdC5wdXNoKCJhcmdUeXBlIitfdCksU3QucHVzaChZWzErX3RdKTtmb3IodmFyIEt0PVlpKCJtZXRob2RDYWxsZXJfIitsdCksdGU9InJldHVybiBmdW5jdGlvbiAiK0t0K2AoaGFuZGxlLCBuYW1lLCBkZXN0cnVjdG9ycywgYXJncykgewpgLHdlPTAsX3Q9MDtfdDxWLTE7KytfdCl0ZSs9IiAgICB2YXIgYXJnIitfdCsiID0gYXJnVHlwZSIrX3QrIi5yZWFkVmFsdWVGcm9tUG9pbnRlcihhcmdzIisod2U/IisiK3dlOiIiKStgKTsKYCx3ZSs9WVtfdCsxXS5hcmdQYWNrQWR2YW5jZTt0ZSs9IiAgICB2YXIgcnYgPSBoYW5kbGVbbmFtZV0oIitodCtgKTsKYDtmb3IodmFyIF90PTA7X3Q8Vi0xOysrX3QpWVtfdCsxXS5kZWxldGVPYmplY3QmJih0ZSs9IiAgICBhcmdUeXBlIitfdCsiLmRlbGV0ZU9iamVjdChhcmciK190K2ApOwpgKTtKLmlzVm9pZHx8KHRlKz1gICAgIHJldHVybiByZXRUeXBlLnRvV2lyZVR5cGUoZGVzdHJ1Y3RvcnMsIHJ2KTsKYCksdGUrPWB9OwpgLE90LnB1c2godGUpO3ZhciBKZT1RYShGdW5jdGlvbixPdCkuYXBwbHkobnVsbCxTdCk7cmV0dXJuIHlsKEplKX1mdW5jdGlvbiBibChWKXtyZXR1cm4gVj1CcyhWKSx1cihuW1ZdKX1mdW5jdGlvbiBUbChWLEcpe3JldHVybiBWPWVzKFYpLEc9ZXMoRyksdXIoVltHXSl9ZnVuY3Rpb24gd2woVil7Vj40JiYoQW9bVl0ucmVmY291bnQrPTEpfWZ1bmN0aW9uIE9sKFYpe2Zvcih2YXIgRz0iIixZPTA7WTxWOysrWSlHKz0oWSE9PTA/IiwgIjoiIikrImFyZyIrWTtmb3IodmFyIEo9InJldHVybiBmdW5jdGlvbiBlbXZhbF9hbGxvY2F0b3JfIitWK2AoY29uc3RydWN0b3IsIGFyZ1R5cGVzLCBhcmdzKSB7CmAsWT0wO1k8VjsrK1kpSis9InZhciBhcmdUeXBlIitZKyIgPSByZXF1aXJlUmVnaXN0ZXJlZFR5cGUoTW9kdWxlWydIRUFQMzInXVsoYXJnVHlwZXMgPj4+IDIpICsgIitZKyddLCAicGFyYW1ldGVyICcrWStgIik7CnZhciBhcmdgK1krIiA9IGFyZ1R5cGUiK1krYC5yZWFkVmFsdWVGcm9tUG9pbnRlcihhcmdzKTsKYXJncyArPSBhcmdUeXBlYCtZK2BbJ2FyZ1BhY2tBZHZhbmNlJ107CmA7cmV0dXJuIEorPSJ2YXIgb2JqID0gbmV3IGNvbnN0cnVjdG9yKCIrRytgKTsKcmV0dXJuIF9fZW12YWxfcmVnaXN0ZXIob2JqKTsKfQpgLG5ldyBGdW5jdGlvbigicmVxdWlyZVJlZ2lzdGVyZWRUeXBlIiwiTW9kdWxlIiwiX19lbXZhbF9yZWdpc3RlciIsSikoRnMsbix1cil9dmFyIGVmPXt9O2Z1bmN0aW9uIEVsKFYsRyxZLEope1Y9ZXMoVik7dmFyIGx0PWVmW0ddO3JldHVybiBsdHx8KGx0PU9sKEcpLGVmW0ddPWx0KSxsdChWLFksSil9ZnVuY3Rpb24gUmwoVil7cmV0dXJuIHVyKEJzKFYpKX1mdW5jdGlvbiBTbChWKXt2YXIgRz1Bb1tWXS52YWx1ZTtSbihHKSxWYyhWKX1mdW5jdGlvbiBDbCgpe0tlKCl9ZnVuY3Rpb24geGwoVixHLFkpe3Z0LmNvcHlXaXRoaW4oVixHLEcrWSl9ZnVuY3Rpb24gUGwoVil7dHJ5e3JldHVybiBBLmdyb3coVi1tdC5ieXRlTGVuZ3RoKzY1NTM1Pj4+MTYpLEp0KEEuYnVmZmVyKSwxfWNhdGNoe319ZnVuY3Rpb24gTWwoVil7dmFyIEc9dnQubGVuZ3RoO1Y9Vj4+PjA7dmFyIFk9MjE0NzQ4MzY0ODtpZihWPlkpcmV0dXJuITE7Zm9yKHZhciBKPTE7Sjw9NDtKKj0yKXt2YXIgbHQ9RyooMSsuMi9KKTtsdD1NYXRoLm1pbihsdCxWKzEwMDY2MzI5Nik7dmFyIE90PU1hdGgubWluKFksQ3QoTWF0aC5tYXgoVixsdCksNjU1MzYpKSxTdD1QbChPdCk7aWYoU3QpcmV0dXJuITB9cmV0dXJuITF9dmFyIFVzPXttYXBwaW5nczp7fSxidWZmZXJzOltudWxsLFtdLFtdXSxwcmludENoYXI6ZnVuY3Rpb24oVixHKXt2YXIgWT1Vcy5idWZmZXJzW1ZdO0c9PT0wfHxHPT09MTA/KChWPT09MT9OOkkpKEgoWSwwKSksWS5sZW5ndGg9MCk6WS5wdXNoKEcpfSx2YXJhcmdzOnZvaWQgMCxnZXQ6ZnVuY3Rpb24oKXtVcy52YXJhcmdzKz00O3ZhciBWPWNlW1VzLnZhcmFyZ3MtND4+Ml07cmV0dXJuIFZ9LGdldFN0cjpmdW5jdGlvbihWKXt2YXIgRz1rKFYpO3JldHVybiBHfSxnZXQ2NDpmdW5jdGlvbihWLEcpe3JldHVybiBWfX07ZnVuY3Rpb24gTmwoVil7cmV0dXJuIDB9ZnVuY3Rpb24gSWwoVixHLFksSixsdCl7fWZ1bmN0aW9uIHZsKFYsRyxZLEope2Zvcih2YXIgbHQ9MCxPdD0wO090PFk7T3QrKyl7Zm9yKHZhciBTdD1jZVtHK090Kjg+PjJdLGh0PWNlW0crKE90KjgrNCk+PjJdLF90PTA7X3Q8aHQ7X3QrKylVcy5wcmludENoYXIoVix2dFtTdCtfdF0pO2x0Kz1odH1yZXR1cm4gY2VbSj4+Ml09bHQsMH1mdW5jdGlvbiBMbChWKXt2KFZ8MCl9dnM9bi5JbnRlcm5hbEVycm9yPSRpKEVycm9yLCJJbnRlcm5hbEVycm9yIiksTWMoKSxUaT1uLkJpbmRpbmdFcnJvcj0kaShFcnJvciwiQmluZGluZ0Vycm9yIiksU3UoKSxHdSgpLEJ1KCksJGE9bi5VbmJvdW5kVHlwZUVycm9yPSRpKEVycm9yLCJVbmJvdW5kVHlwZUVycm9yIiksWnUoKTt2YXIgRGw9e3Q6cG8sSTpndSx4OnF1LHc6S3UsZDpXdSxrOlh1LEg6UXUsbjp0bCxhOmVsLEE6b2wsaTpybCxqOnNsLGg6Y2wsQjphbCx2OmZsLHU6dWwsYzpsbCxKOnBsLG06ZGwsczpobCxiOlZjLHk6X2wscDpBbCxyOmJsLGU6VGwsZzp3bCxxOkVsLGY6UmwsbDpTbCxvOkNsLEU6eGwsRjpNbCxHOk5sLEM6SWwsejp2bCxEOkxsfSxuZj1XbigpLENlPW4uX19fd2FzbV9jYWxsX2N0b3JzPWZ1bmN0aW9uKCl7cmV0dXJuKENlPW4uX19fd2FzbV9jYWxsX2N0b3JzPW4uYXNtLkwpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sej1uLl9tYWxsb2M9ZnVuY3Rpb24oKXtyZXR1cm4oej1uLl9tYWxsb2M9bi5hc20uTSkuYXBwbHkobnVsbCxhcmd1bWVudHMpfSxXPW4uX2ZyZWU9ZnVuY3Rpb24oKXtyZXR1cm4oVz1uLl9mcmVlPW4uYXNtLk4pLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sZXQ9bi5fX19nZXRUeXBlTmFtZT1mdW5jdGlvbigpe3JldHVybihldD1uLl9fX2dldFR5cGVOYW1lPW4uYXNtLlApLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sTXQ9bi5fX19lbWJpbmRfcmVnaXN0ZXJfbmF0aXZlX2FuZF9idWlsdGluX3R5cGVzPWZ1bmN0aW9uKCl7cmV0dXJuKE10PW4uX19fZW1iaW5kX3JlZ2lzdGVyX25hdGl2ZV9hbmRfYnVpbHRpbl90eXBlcz1uLmFzbS5RKS5hcHBseShudWxsLGFyZ3VtZW50cyl9LGxlPW4uZHluQ2FsbF9qaWppPWZ1bmN0aW9uKCl7cmV0dXJuKGxlPW4uZHluQ2FsbF9qaWppPW4uYXNtLlIpLmFwcGx5KG51bGwsYXJndW1lbnRzKX0sVGU7ZnVuY3Rpb24gT2koVil7dGhpcy5uYW1lPSJFeGl0U3RhdHVzIix0aGlzLm1lc3NhZ2U9IlByb2dyYW0gdGVybWluYXRlZCB3aXRoIGV4aXQoIitWKyIpIix0aGlzLnN0YXR1cz1WfUhuPWZ1bmN0aW9uIFYoKXtUZXx8R2MoKSxUZXx8KEhuPVYpfTtmdW5jdGlvbiBHYyhWKXtpZihWPVZ8fGYsbW4+MHx8KHBuKCksbW4+MCkpcmV0dXJuO2Z1bmN0aW9uIEcoKXtUZXx8KFRlPSEwLG4uY2FsbGVkUnVuPSEwLCFTJiYoRW4oKSxyZSgpLG8obiksbi5vblJ1bnRpbWVJbml0aWFsaXplZCYmbi5vblJ1bnRpbWVJbml0aWFsaXplZCgpLCR0KCkpKX1uLnNldFN0YXR1cz8obi5zZXRTdGF0dXMoIlJ1bm5pbmcuLi4iKSxzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7c2V0VGltZW91dChmdW5jdGlvbigpe24uc2V0U3RhdHVzKCIiKX0sMSksRygpfSwxKSk6RygpfWlmKG4ucnVuPUdjLG4ucHJlSW5pdClmb3IodHlwZW9mIG4ucHJlSW5pdD09ImZ1bmN0aW9uIiYmKG4ucHJlSW5pdD1bbi5wcmVJbml0XSk7bi5wcmVJbml0Lmxlbmd0aD4wOyluLnByZUluaXQucG9wKCkoKTtyZXR1cm4gR2MoKSxlLnJlYWR5fX0oKTt0eXBlb2YgX209PSJvYmplY3QiJiZ0eXBlb2YgSmc9PSJvYmplY3QiP0pnLmV4cG9ydHM9UWc6dHlwZW9mIGRlZmluZT09ImZ1bmN0aW9uIiYmZGVmaW5lLmFtZD9kZWZpbmUoW10sZnVuY3Rpb24oKXtyZXR1cm4gUWd9KTp0eXBlb2YgX209PSJvYmplY3QiJiYoX20uQkFTSVM9UWcpfSk7dmFyIHQxPXt9O2RlKHQxLHtkZWZhdWx0OigpPT5iOH0pO2Z1bmN0aW9uIGg4KHQsZSl7eS50eXBlT2Yub2JqZWN0KCJ0cmFuc2NvZGVyTW9kdWxlIix5dSk7bGV0IG49dC5rdHgyQnVmZmVyLG89dC5zdXBwb3J0ZWRUYXJnZXRGb3JtYXRzLHI7dHJ5e3I9TFMobil9Y2F0Y2h7dGhyb3cgbmV3IEFlKCJJbnZhbGlkIEtUWDIgZmlsZS4iKX1pZihyLmxheWVyQ291bnQhPT0wKXRocm93IG5ldyBBZSgiS1RYMiB0ZXh0dXJlIGFycmF5cyBhcmUgbm90IHN1cHBvcnRlZC4iKTtpZihyLnBpeGVsRGVwdGghPT0wKXRocm93IG5ldyBBZSgiS1RYMiAzRCB0ZXh0dXJlcyBhcmUgdW5zdXBwb3J0ZWQuIik7bGV0IGk9ci5kYXRhRm9ybWF0RGVzY3JpcHRvclswXSxzPW5ldyBBcnJheShyLmxldmVsQ291bnQpO3JldHVybiByLnZrRm9ybWF0PT09MCYmKGkuY29sb3JNb2RlbD09PVZTfHxpLmNvbG9yTW9kZWw9PT1rUyk/eTgobixyLG8seXUsZSxzKTooZS5wdXNoKG4uYnVmZmVyKSxfOChyLHMpKSxzfWZ1bmN0aW9uIF84KHQsZSl7bGV0IG49dC52a0Zvcm1hdD09PV91LlZLX0ZPUk1BVF9SOEc4QjhfU1JHQj9Wbi5SR0I6Vm4uUkdCQSxvO3QudmtGb3JtYXQ9PT1fdS5WS19GT1JNQVRfUjhHOEI4QThfVU5PUk0/bz1uci5VTlNJR05FRF9CWVRFOnQudmtGb3JtYXQ9PT1fdS5WS19GT1JNQVRfUjE2RzE2QjE2QTE2X1NGTE9BVD9vPW5yLkhBTEZfRkxPQVQ6dC52a0Zvcm1hdD09PV91LlZLX0ZPUk1BVF9SMzJHMzJCMzJBMzJfU0ZMT0FUJiYobz1uci5GTE9BVCk7Zm9yKGxldCByPTA7cjx0LmxldmVscy5sZW5ndGg7KytyKXtsZXQgaT17fTtlW3JdPWk7bGV0IHM9dC5sZXZlbHNbcl0ubGV2ZWxEYXRhLGY9dC5waXhlbFdpZHRoPj5yLHU9dC5waXhlbEhlaWdodD4+cixjPWYqdSpWbi5jb21wb25lbnRzTGVuZ3RoKG4pO2ZvcihsZXQgbD0wO2w8dC5mYWNlQ291bnQ7KytsKXtsZXQgcD1zLmJ5dGVPZmZzZXQrYyp0LnR5cGVTaXplKmwsZDshaChvKXx8bnIuc2l6ZUluQnl0ZXMobyk9PT0xP2Q9bmV3IFVpbnQ4QXJyYXkocy5idWZmZXIscCxjKTpuci5zaXplSW5CeXRlcyhvKT09PTI/ZD1uZXcgVWludDE2QXJyYXkocy5idWZmZXIscCxjKTpkPW5ldyBGbG9hdDMyQXJyYXkocy5idWZmZXIscCxjKSxpW1VTW2xdXT17aW50ZXJuYWxGb3JtYXQ6bixkYXRhdHlwZTpvLHdpZHRoOmYsaGVpZ2h0OnUsbGV2ZWxCdWZmZXI6ZH19fX1mdW5jdGlvbiB5OCh0LGUsbixvLHIsaSl7bGV0IHM9bmV3IG8uS1RYMkZpbGUodCksZj1zLmdldFdpZHRoKCksdT1zLmdldEhlaWdodCgpLGM9cy5nZXRMZXZlbHMoKSxsPXMuZ2V0SGFzQWxwaGEoKTtpZighKGY+MCl8fCEodT4wKXx8IShjPjApKXRocm93IHMuY2xvc2UoKSxzLmRlbGV0ZSgpLG5ldyBBZSgiSW52YWxpZCBLVFgyIGZpbGUiKTtsZXQgcCxkLG09ZS5kYXRhRm9ybWF0RGVzY3JpcHRvclswXSxfPW8udHJhbnNjb2Rlcl90ZXh0dXJlX2Zvcm1hdDtpZihtLmNvbG9yTW9kZWw9PT1WUylpZihuLmV0YylwPWw/Vm4uUkdCQThfRVRDMl9FQUM6Vm4uUkdCOF9FVEMyLGQ9bD9fLmNURkVUQzJfUkdCQTpfLmNURkVUQzFfUkdCO2Vsc2UgaWYobi5ldGMxJiYhbClwPVZuLlJHQl9FVEMxLGQ9Xy5jVEZFVEMxX1JHQjtlbHNlIGlmKG4uczN0YylwPWw/Vm4uUkdCQV9EWFQ1OlZuLlJHQl9EWFQxLGQ9bD9fLmNURkJDM19SR0JBOl8uY1RGQkMxX1JHQjtlbHNlIGlmKG4ucHZydGMpcD1sP1ZuLlJHQkFfUFZSVENfNEJQUFYxOlZuLlJHQl9QVlJUQ180QlBQVjEsZD1sP18uY1RGUFZSVEMxXzRfUkdCQTpfLmNURlBWUlRDMV80X1JHQjtlbHNlIGlmKG4uYXN0YylwPVZuLlJHQkFfQVNUQyxkPV8uY1RGQVNUQ180eDRfUkdCQTtlbHNlIGlmKG4uYmM3KXA9Vm4uUkdCQV9CQzcsZD1fLmNURkJDN19SR0JBO2Vsc2UgdGhyb3cgbmV3IEFlKCJObyB0cmFuc2NvZGluZyBmb3JtYXQgdGFyZ2V0IGF2YWlsYWJsZSBmb3IgRVRDMVMgY29tcHJlc3NlZCBrdHgyLiIpO2Vsc2UgaWYobS5jb2xvck1vZGVsPT09a1MpaWYobi5hc3RjKXA9Vm4uUkdCQV9BU1RDLGQ9Xy5jVEZBU1RDXzR4NF9SR0JBO2Vsc2UgaWYobi5iYzcpcD1Wbi5SR0JBX0JDNyxkPV8uY1RGQkM3X1JHQkE7ZWxzZSBpZihuLnMzdGMpcD1sP1ZuLlJHQkFfRFhUNTpWbi5SR0JfRFhUMSxkPWw/Xy5jVEZCQzNfUkdCQTpfLmNURkJDMV9SR0I7ZWxzZSBpZihuLmV0YylwPWw/Vm4uUkdCQThfRVRDMl9FQUM6Vm4uUkdCOF9FVEMyLGQ9bD9fLmNURkVUQzJfUkdCQTpfLmNURkVUQzFfUkdCO2Vsc2UgaWYobi5ldGMxJiYhbClwPVZuLlJHQl9FVEMxLGQ9Xy5jVEZFVEMxX1JHQjtlbHNlIGlmKG4ucHZydGMpcD1sP1ZuLlJHQkFfUFZSVENfNEJQUFYxOlZuLlJHQl9QVlJUQ180QlBQVjEsZD1sP18uY1RGUFZSVEMxXzRfUkdCQTpfLmNURlBWUlRDMV80X1JHQjtlbHNlIHRocm93IG5ldyBBZSgiTm8gdHJhbnNjb2RpbmcgZm9ybWF0IHRhcmdldCBhdmFpbGFibGUgZm9yIFVBU1RDIGNvbXByZXNzZWQga3R4Mi4iKTtpZighcy5zdGFydFRyYW5zY29kaW5nKCkpdGhyb3cgcy5jbG9zZSgpLHMuZGVsZXRlKCksbmV3IEFlKCJzdGFydFRyYW5zY29kaW5nKCkgZmFpbGVkIik7Zm9yKGxldCBnPTA7ZzxlLmxldmVscy5sZW5ndGg7KytnKXtsZXQgYj17fTtpW2ddPWIsZj1lLnBpeGVsV2lkdGg+PmcsdT1lLnBpeGVsSGVpZ2h0Pj5nO2xldCBUPXMuZ2V0SW1hZ2VUcmFuc2NvZGVkU2l6ZUluQnl0ZXMoZywwLDAsZC52YWx1ZSksTz1uZXcgVWludDhBcnJheShUKSxFPXMudHJhbnNjb2RlSW1hZ2UoTyxnLDAsMCxkLnZhbHVlLDAsLTEsLTEpO2lmKCFoKEUpKXRocm93IG5ldyBBZSgidHJhbnNjb2RlSW1hZ2UoKSBmYWlsZWQuIik7ci5wdXNoKE8uYnVmZmVyKSxiW1VTWzBdXT17aW50ZXJuYWxGb3JtYXQ6cCx3aWR0aDpmLGhlaWdodDp1LGxldmVsQnVmZmVyOk99fXJldHVybiBzLmNsb3NlKCkscy5kZWxldGUoKSxpfWFzeW5jIGZ1bmN0aW9uIGc4KHQsZSl7bGV0IG49dC53ZWJBc3NlbWJseUNvbmZpZyxvPXgoQlMuZGVmYXVsdCxzZWxmLkJBU0lTKTtyZXR1cm4gaChuLndhc21CaW5hcnlGaWxlKT95dT1hd2FpdCBvKG4pOnl1PWF3YWl0IG8oKSx5dS5pbml0aWFsaXplQmFzaXMoKSwhMH1mdW5jdGlvbiBBOCh0LGUpe2xldCBuPXQud2ViQXNzZW1ibHlDb25maWc7cmV0dXJuIGgobik/ZzgodCxlKTpoOCh0LGUpfXZhciBCUyxVUyxWUyxrUyx5dSxiOCxlMT1aKCgpPT57SXQoKTtmdCgpO1h0KCk7TlMoKTtKcigpO0lTKCk7JGcoKTtzbygpO0RTKCk7QlM9ZHIoRlMoKSwxKSxVUz1bInBvc2l0aXZlWCIsIm5lZ2F0aXZlWCIsInBvc2l0aXZlWSIsIm5lZ2F0aXZlWSIsInBvc2l0aXZlWiIsIm5lZ2F0aXZlWiJdLFZTPTE2MyxrUz0xNjY7Yjg9UWUoQTgpfSk7dmFyIEdTPXt9O3ZhciBuMT1aKCgpPT57c2VsZi5vbm1lc3NhZ2U9ZnVuY3Rpb24odCl7bGV0IGU9dC5kYXRhLmFycmF5LG49c2VsZi53ZWJraXRQb3N0TWVzc2FnZXx8c2VsZi5wb3N0TWVzc2FnZTt0cnl7bih7YXJyYXk6ZX0sW2UuYnVmZmVyXSl9Y2F0Y2h7bih7fSl9fX0pO3ZhciB5bSxnbSx6Uz1aKCgpPT57VWUoKTtGdCgpO1h0KCk7ZnQoKTtIdCgpO3ltPXt9O3ltLmNsaXBUcmlhbmdsZUF0QXhpc0FsaWduZWRUaHJlc2hvbGQ9ZnVuY3Rpb24odCxlLG4sbyxyLGkpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ0aHJlc2hvbGQgaXMgcmVxdWlyZWQuIik7aWYoIWgoZSkpdGhyb3cgbmV3IEIoImtlZXBBYm92ZSBpcyByZXF1aXJlZC4iKTtpZighaChuKSl0aHJvdyBuZXcgQigidTAgaXMgcmVxdWlyZWQuIik7aWYoIWgobykpdGhyb3cgbmV3IEIoInUxIGlzIHJlcXVpcmVkLiIpO2lmKCFoKHIpKXRocm93IG5ldyBCKCJ1MiBpcyByZXF1aXJlZC4iKTtoKGkpP2kubGVuZ3RoPTA6aT1bXTtsZXQgcyxmLHU7ZT8ocz1uPHQsZj1vPHQsdT1yPHQpOihzPW4+dCxmPW8+dCx1PXI+dCk7bGV0IGM9cytmK3UsbCxwLGQsbSxfLGc7cmV0dXJuIGM9PT0xP3M/KGw9KHQtbikvKG8tbikscD0odC1uKS8oci1uKSxpLnB1c2goMSksaS5wdXNoKDIpLHAhPT0xJiYoaS5wdXNoKC0xKSxpLnB1c2goMCksaS5wdXNoKDIpLGkucHVzaChwKSksbCE9PTEmJihpLnB1c2goLTEpLGkucHVzaCgwKSxpLnB1c2goMSksaS5wdXNoKGwpKSk6Zj8oZD0odC1vKS8oci1vKSxtPSh0LW8pLyhuLW8pLGkucHVzaCgyKSxpLnB1c2goMCksbSE9PTEmJihpLnB1c2goLTEpLGkucHVzaCgxKSxpLnB1c2goMCksaS5wdXNoKG0pKSxkIT09MSYmKGkucHVzaCgtMSksaS5wdXNoKDEpLGkucHVzaCgyKSxpLnB1c2goZCkpKTp1JiYoXz0odC1yKS8obi1yKSxnPSh0LXIpLyhvLXIpLGkucHVzaCgwKSxpLnB1c2goMSksZyE9PTEmJihpLnB1c2goLTEpLGkucHVzaCgyKSxpLnB1c2goMSksaS5wdXNoKGcpKSxfIT09MSYmKGkucHVzaCgtMSksaS5wdXNoKDIpLGkucHVzaCgwKSxpLnB1c2goXykpKTpjPT09Mj8hcyYmbiE9PXQ/KG09KHQtbykvKG4tbyksXz0odC1yKS8obi1yKSxpLnB1c2goMCksaS5wdXNoKC0xKSxpLnB1c2goMSksaS5wdXNoKDApLGkucHVzaChtKSxpLnB1c2goLTEpLGkucHVzaCgyKSxpLnB1c2goMCksaS5wdXNoKF8pKTohZiYmbyE9PXQ/KGc9KHQtcikvKG8tciksbD0odC1uKS8oby1uKSxpLnB1c2goMSksaS5wdXNoKC0xKSxpLnB1c2goMiksaS5wdXNoKDEpLGkucHVzaChnKSxpLnB1c2goLTEpLGkucHVzaCgwKSxpLnB1c2goMSksaS5wdXNoKGwpKTohdSYmciE9PXQmJihwPSh0LW4pLyhyLW4pLGQ9KHQtbykvKHItbyksaS5wdXNoKDIpLGkucHVzaCgtMSksaS5wdXNoKDApLGkucHVzaCgyKSxpLnB1c2gocCksaS5wdXNoKC0xKSxpLnB1c2goMSksaS5wdXNoKDIpLGkucHVzaChkKSk6YyE9PTMmJihpLnB1c2goMCksaS5wdXNoKDEpLGkucHVzaCgyKSksaX07eW0uY29tcHV0ZUJhcnljZW50cmljQ29vcmRpbmF0ZXM9ZnVuY3Rpb24odCxlLG4sbyxyLGkscyxmLHUpe2lmKCFoKHQpKXRocm93IG5ldyBCKCJ4IGlzIHJlcXVpcmVkLiIpO2lmKCFoKGUpKXRocm93IG5ldyBCKCJ5IGlzIHJlcXVpcmVkLiIpO2lmKCFoKG4pKXRocm93IG5ldyBCKCJ4MSBpcyByZXF1aXJlZC4iKTtpZighaChvKSl0aHJvdyBuZXcgQigieTEgaXMgcmVxdWlyZWQuIik7aWYoIWgocikpdGhyb3cgbmV3IEIoIngyIGlzIHJlcXVpcmVkLiIpO2lmKCFoKGkpKXRocm93IG5ldyBCKCJ5MiBpcyByZXF1aXJlZC4iKTtpZighaChzKSl0aHJvdyBuZXcgQigieDMgaXMgcmVxdWlyZWQuIik7aWYoIWgoZikpdGhyb3cgbmV3IEIoInkzIGlzIHJlcXVpcmVkLiIpO2xldCBjPW4tcyxsPXMtcixwPWktZixkPW8tZixtPTEvKHAqYytsKmQpLF89ZS1mLGc9dC1zLGI9KHAqZytsKl8pKm0sVD0oLWQqZytjKl8pKm0sTz0xLWItVDtyZXR1cm4gaCh1KT8odS54PWIsdS55PVQsdS56PU8sdSk6bmV3IGEoYixULE8pfTt5bS5jb21wdXRlTGluZVNlZ21lbnRMaW5lU2VnbWVudEludGVyc2VjdGlvbj1mdW5jdGlvbih0LGUsbixvLHIsaSxzLGYsdSl7eS50eXBlT2YubnVtYmVyKCJ4MDAiLHQpLHkudHlwZU9mLm51bWJlcigieTAwIixlKSx5LnR5cGVPZi5udW1iZXIoIngwMSIsbikseS50eXBlT2YubnVtYmVyKCJ5MDEiLG8pLHkudHlwZU9mLm51bWJlcigieDEwIixyKSx5LnR5cGVPZi5udW1iZXIoInkxMCIsaSkseS50eXBlT2YubnVtYmVyKCJ4MTEiLHMpLHkudHlwZU9mLm51bWJlcigieTExIixmKTtsZXQgYz0ocy1yKSooZS1pKS0oZi1pKSoodC1yKSxsPShuLXQpKihlLWkpLShvLWUpKih0LXIpLHA9KGYtaSkqKG4tdCktKHMtcikqKG8tZSk7aWYocD09PTApcmV0dXJuO2xldCBkPWMvcCxtPWwvcDtpZihkPj0wJiZkPD0xJiZtPj0wJiZtPD0xKXJldHVybiBoKHUpfHwodT1uZXcgdHQpLHUueD10K2QqKG4tdCksdS55PWUrZCooby1lKSx1fTtnbT15bX0pO3ZhciBvMT17fTtkZShvMSx7ZGVmYXVsdDooKT0+Rjh9KTtmdW5jdGlvbiB2OCh0LGUpe2xldCBuPXQuaXNFYXN0Q2hpbGQsbz10LmlzTm9ydGhDaGlsZCxyPW4/JHI6MCxpPW4/em46JHIscz1vPyRyOjAsZj1vP3puOiRyLHU9TzgsYz1FOCxsPVI4LHA9Qzg7dS5sZW5ndGg9MCxjLmxlbmd0aD0wLGwubGVuZ3RoPTAscC5sZW5ndGg9MDtsZXQgZD1TODtkLmxlbmd0aD0wO2xldCBtPXt9LF89dC52ZXJ0aWNlcyxnPXQuaW5kaWNlcztnPWcuc3ViYXJyYXkoMCx0LmluZGV4Q291bnRXaXRob3V0U2tpcnRzKTtsZXQgYj1Qcy5jbG9uZSh0LmVuY29kaW5nKSxUPWIuaGFzVmVydGV4Tm9ybWFscyxPPTAsRT10LnZlcnRleENvdW50V2l0aG91dFNraXJ0cyx3PXQubWluaW11bUhlaWdodCxDPXQubWF4aW11bUhlaWdodCxOPW5ldyBBcnJheShFKSxJPW5ldyBBcnJheShFKSxEPW5ldyBBcnJheShFKSx2PVQ/bmV3IEFycmF5KEUqMik6dm9pZCAwLEw9MjAsVSxBLFMsUCxGO2ZvcihBPTAsUz0wO0E8RTsrK0EsUys9Mil7bGV0IGtlPWIuZGVjb2RlVGV4dHVyZUNvb3JkaW5hdGVzKF8sQSxOOCk7aWYoVT1iLmRlY29kZUhlaWdodChfLEEpLFA9TS5jbGFtcChrZS54KnpufDAsMCx6biksRj1NLmNsYW1wKGtlLnkqem58MCwwLHpuKSxEW0FdPU0uY2xhbXAoKFUtdykvKEMtdykqem58MCwwLHpuKSxQPEwmJihQPTApLEY8TCYmKEY9MCksem4tUDxMJiYoUD16biksem4tRjxMJiYoRj16biksTltBXT1QLElbQV09RixUKXtsZXQgYmU9Yi5nZXRPY3RFbmNvZGVkTm9ybWFsKF8sQSxJOCk7dltTXT1iZS54LHZbUysxXT1iZS55fShuJiZQPj0kcnx8IW4mJlA8PSRyKSYmKG8mJkY+PSRyfHwhbyYmRjw9JHIpJiYobVtBXT1PLHUucHVzaChQKSxjLnB1c2goRiksbC5wdXNoKERbQV0pLFQmJihwLnB1c2godltTXSkscC5wdXNoKHZbUysxXSkpLCsrTyl9bGV0IGo9W107ai5wdXNoKG5ldyBqbiksai5wdXNoKG5ldyBqbiksai5wdXNoKG5ldyBqbik7bGV0IEg9W107SC5wdXNoKG5ldyBqbiksSC5wdXNoKG5ldyBqbiksSC5wdXNoKG5ldyBqbik7bGV0IGssSztmb3IoQT0wO0E8Zy5sZW5ndGg7QSs9Myl7bGV0IGtlPWdbQV0sYmU9Z1tBKzFdLGxuPWdbQSsyXSxwbj1OW2tlXSxFbj1OW2JlXSxyZT1OW2xuXTtqWzBdLmluaXRpYWxpemVJbmRleGVkKE4sSSxELHYsa2UpLGpbMV0uaW5pdGlhbGl6ZUluZGV4ZWQoTixJLEQsdixiZSksalsyXS5pbml0aWFsaXplSW5kZXhlZChOLEksRCx2LGxuKTtsZXQgJHQ9Z20uY2xpcFRyaWFuZ2xlQXRBeGlzQWxpZ25lZFRocmVzaG9sZCgkcixuLHBuLEVuLHJlLFQ4KTtrPTAsIShrPj0kdC5sZW5ndGgpJiYoaz1IWzBdLmluaXRpYWxpemVGcm9tQ2xpcFJlc3VsdCgkdCxrLGopLCEoaz49JHQubGVuZ3RoKSYmKGs9SFsxXS5pbml0aWFsaXplRnJvbUNsaXBSZXN1bHQoJHQsayxqKSwhKGs+PSR0Lmxlbmd0aCkmJihrPUhbMl0uaW5pdGlhbGl6ZUZyb21DbGlwUmVzdWx0KCR0LGssaiksSz1nbS5jbGlwVHJpYW5nbGVBdEF4aXNBbGlnbmVkVGhyZXNob2xkKCRyLG8sSFswXS5nZXRWKCksSFsxXS5nZXRWKCksSFsyXS5nZXRWKCksalMpLEhTKHUsYyxsLHAsZCxtLEssSCxUKSxrPCR0Lmxlbmd0aCYmKEhbMl0uY2xvbmUoSFsxXSksSFsyXS5pbml0aWFsaXplRnJvbUNsaXBSZXN1bHQoJHQsayxqKSxLPWdtLmNsaXBUcmlhbmdsZUF0QXhpc0FsaWduZWRUaHJlc2hvbGQoJHIsbyxIWzBdLmdldFYoKSxIWzFdLmdldFYoKSxIWzJdLmdldFYoKSxqUyksSFModSxjLGwscCxkLG0sSyxILFQpKSkpKX1sZXQgWD1uPy16bjowLFI9bz8tem46MCxvdD1bXSxhdD1bXSxwdD1bXSx5dD1bXSxydD1OdW1iZXIuTUFYX1ZBTFVFLFB0PS1ydCxndD13ODtndC5sZW5ndGg9MDtsZXQgQ3Q9JC5jbG9uZSh0LmVsbGlwc29pZCksbXQ9TnQuY2xvbmUodC5jaGlsZFJlY3RhbmdsZSksdXQ9bXQubm9ydGgsdnQ9bXQuc291dGgsenQ9bXQuZWFzdCxtZT1tdC53ZXN0O2Zvcih6dDxtZSYmKHp0Kz1NLlRXT19QSSksQT0wO0E8dS5sZW5ndGg7KytBKVA9TWF0aC5yb3VuZCh1W0FdKSxQPD1yPyhvdC5wdXNoKEEpLFA9MCk6UD49aT8ocHQucHVzaChBKSxQPXpuKTpQPVAqMitYLHVbQV09UCxGPU1hdGgucm91bmQoY1tBXSksRjw9cz8oYXQucHVzaChBKSxGPTApOkY+PWY/KHl0LnB1c2goQSksRj16bik6Rj1GKjIrUixjW0FdPUYsVT1NLmxlcnAodyxDLGxbQV0vem4pLFU8cnQmJihydD1VKSxVPlB0JiYoUHQ9VSksbFtBXT1VLEFtLmxvbmdpdHVkZT1NLmxlcnAobWUsenQsUC96biksQW0ubGF0aXR1ZGU9TS5sZXJwKHZ0LHV0LEYvem4pLEFtLmhlaWdodD1VLEN0LmNhcnRvZ3JhcGhpY1RvQ2FydGVzaWFuKEFtLFhpKSxndC5wdXNoKFhpLngpLGd0LnB1c2goWGkueSksZ3QucHVzaChYaS56KTtsZXQgY2U9QXQuZnJvbVZlcnRpY2VzKGd0LGEuWkVSTywzLFA4KSxwZT1Tby5mcm9tUmVjdGFuZ2xlKG10LHJ0LFB0LEN0LE04KSxRdD1uZXcgeHMoQ3QpLmNvbXB1dGVIb3Jpem9uQ3VsbGluZ1BvaW50RnJvbVZlcnRpY2VzUG9zc2libHlVbmRlckVsbGlwc29pZChjZS5jZW50ZXIsZ3QsMyxjZS5jZW50ZXIscnQseDgpLEp0PVB0LXJ0LE5lPW5ldyBVaW50MTZBcnJheSh1Lmxlbmd0aCtjLmxlbmd0aCtsLmxlbmd0aCk7Zm9yKEE9MDtBPHUubGVuZ3RoOysrQSlOZVtBXT11W0FdO2xldCBnZT11Lmxlbmd0aDtmb3IoQT0wO0E8Yy5sZW5ndGg7KytBKU5lW2dlK0FdPWNbQV07Zm9yKGdlKz1jLmxlbmd0aCxBPTA7QTxsLmxlbmd0aDsrK0EpTmVbZ2UrQV09em4qKGxbQV0tcnQpL0p0O2xldCBFZT1EdC5jcmVhdGVUeXBlZEFycmF5KHUubGVuZ3RoLGQpLHVuO2lmKFQpe2xldCBrZT1uZXcgVWludDhBcnJheShwKTtlLnB1c2goTmUuYnVmZmVyLEVlLmJ1ZmZlcixrZS5idWZmZXIpLHVuPWtlLmJ1ZmZlcn1lbHNlIGUucHVzaChOZS5idWZmZXIsRWUuYnVmZmVyKTtyZXR1cm57dmVydGljZXM6TmUuYnVmZmVyLGVuY29kZWROb3JtYWxzOnVuLGluZGljZXM6RWUuYnVmZmVyLG1pbmltdW1IZWlnaHQ6cnQsbWF4aW11bUhlaWdodDpQdCx3ZXN0SW5kaWNlczpvdCxzb3V0aEluZGljZXM6YXQsZWFzdEluZGljZXM6cHQsbm9ydGhJbmRpY2VzOnl0LGJvdW5kaW5nU3BoZXJlOmNlLG9yaWVudGVkQm91bmRpbmdCb3g6cGUsaG9yaXpvbk9jY2x1c2lvblBvaW50OlF0fX1mdW5jdGlvbiBqbigpe3RoaXMudmVydGV4QnVmZmVyPXZvaWQgMCx0aGlzLmluZGV4PXZvaWQgMCx0aGlzLmZpcnN0PXZvaWQgMCx0aGlzLnNlY29uZD12b2lkIDAsdGhpcy5yYXRpbz12b2lkIDB9ZnVuY3Rpb24gcVModCxlKXsrK2JtO2xldCBuPUw4W2JtXSxvPUQ4W2JtXTtyZXR1cm4gbj1ubi5vY3REZWNvZGUodC5maXJzdC5nZXROb3JtYWxYKCksdC5maXJzdC5nZXROb3JtYWxZKCksbiksbz1ubi5vY3REZWNvZGUodC5zZWNvbmQuZ2V0Tm9ybWFsWCgpLHQuc2Vjb25kLmdldE5vcm1hbFkoKSxvKSxYaT1hLmxlcnAobixvLHQucmF0aW8sWGkpLGEubm9ybWFsaXplKFhpLFhpKSxubi5vY3RFbmNvZGUoWGksZSksLS1ibSxlfWZ1bmN0aW9uIEhTKHQsZSxuLG8scixpLHMsZix1KXtpZihzLmxlbmd0aD09PTApcmV0dXJuO2xldCBjPTAsbD0wO2Zvcig7bDxzLmxlbmd0aDspbD1Hb1tjKytdLmluaXRpYWxpemVGcm9tQ2xpcFJlc3VsdChzLGwsZik7Zm9yKGxldCBwPTA7cDxjOysrcCl7bGV0IGQ9R29bcF07aWYoZC5pc0luZGV4ZWQoKSlkLm5ld0luZGV4PWlbZC5pbmRleF0sZC51QnVmZmVyPXQsZC52QnVmZmVyPWUsZC5oZWlnaHRCdWZmZXI9bix1JiYoZC5ub3JtYWxCdWZmZXI9byk7ZWxzZXtsZXQgbT1kLmdldEtleSgpO2lmKGgoaVttXSkpZC5uZXdJbmRleD1pW21dO2Vsc2V7bGV0IF89dC5sZW5ndGg7dC5wdXNoKGQuZ2V0VSgpKSxlLnB1c2goZC5nZXRWKCkpLG4ucHVzaChkLmdldEgoKSksdSYmKG8ucHVzaChkLmdldE5vcm1hbFgoKSksby5wdXNoKGQuZ2V0Tm9ybWFsWSgpKSksZC5uZXdJbmRleD1fLGlbbV09X319fWM9PT0zPyhyLnB1c2goR29bMF0ubmV3SW5kZXgpLHIucHVzaChHb1sxXS5uZXdJbmRleCksci5wdXNoKEdvWzJdLm5ld0luZGV4KSk6Yz09PTQmJihyLnB1c2goR29bMF0ubmV3SW5kZXgpLHIucHVzaChHb1sxXS5uZXdJbmRleCksci5wdXNoKEdvWzJdLm5ld0luZGV4KSxyLnB1c2goR29bMF0ubmV3SW5kZXgpLHIucHVzaChHb1syXS5uZXdJbmRleCksci5wdXNoKEdvWzNdLm5ld0luZGV4KSl9dmFyIHpuLCRyLFQ4LGpTLHc4LEFtLFhpLE84LEU4LFI4LFM4LEM4LHg4LFA4LE04LE44LEk4LGphLGJtLEw4LEQ4LEdvLEY4LHIxPVooKCk9PnthcygpO3ZlKCk7VWUoKTtGdCgpO0llKCk7ZnQoKTtadCgpO2l1KCk7JGUoKTt6UygpO1d0KCk7cGEoKTt3bigpO3N1KCk7c28oKTt6bj0zMjc2Nywkcj16bi8yfDAsVDg9W10salM9W10sdzg9W10sQW09bmV3IGN0LFhpPW5ldyBhLE84PVtdLEU4PVtdLFI4PVtdLFM4PVtdLEM4PVtdLHg4PW5ldyBhLFA4PW5ldyBBdCxNOD1uZXcgU28sTjg9bmV3IHR0LEk4PW5ldyBhO2puLnByb3RvdHlwZS5jbG9uZT1mdW5jdGlvbih0KXtyZXR1cm4gaCh0KXx8KHQ9bmV3IGpuKSx0LnVCdWZmZXI9dGhpcy51QnVmZmVyLHQudkJ1ZmZlcj10aGlzLnZCdWZmZXIsdC5oZWlnaHRCdWZmZXI9dGhpcy5oZWlnaHRCdWZmZXIsdC5ub3JtYWxCdWZmZXI9dGhpcy5ub3JtYWxCdWZmZXIsdC5pbmRleD10aGlzLmluZGV4LHQuZmlyc3Q9dGhpcy5maXJzdCx0LnNlY29uZD10aGlzLnNlY29uZCx0LnJhdGlvPXRoaXMucmF0aW8sdH07am4ucHJvdG90eXBlLmluaXRpYWxpemVJbmRleGVkPWZ1bmN0aW9uKHQsZSxuLG8scil7dGhpcy51QnVmZmVyPXQsdGhpcy52QnVmZmVyPWUsdGhpcy5oZWlnaHRCdWZmZXI9bix0aGlzLm5vcm1hbEJ1ZmZlcj1vLHRoaXMuaW5kZXg9cix0aGlzLmZpcnN0PXZvaWQgMCx0aGlzLnNlY29uZD12b2lkIDAsdGhpcy5yYXRpbz12b2lkIDB9O2puLnByb3RvdHlwZS5pbml0aWFsaXplRnJvbUNsaXBSZXN1bHQ9ZnVuY3Rpb24odCxlLG4pe2xldCBvPWUrMTtyZXR1cm4gdFtlXSE9PS0xP25bdFtlXV0uY2xvbmUodGhpcyk6KHRoaXMudmVydGV4QnVmZmVyPXZvaWQgMCx0aGlzLmluZGV4PXZvaWQgMCx0aGlzLmZpcnN0PW5bdFtvXV0sKytvLHRoaXMuc2Vjb25kPW5bdFtvXV0sKytvLHRoaXMucmF0aW89dFtvXSwrK28pLG99O2puLnByb3RvdHlwZS5nZXRLZXk9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5pc0luZGV4ZWQoKT90aGlzLmluZGV4OkpTT04uc3RyaW5naWZ5KHtmaXJzdDp0aGlzLmZpcnN0LmdldEtleSgpLHNlY29uZDp0aGlzLnNlY29uZC5nZXRLZXkoKSxyYXRpbzp0aGlzLnJhdGlvfSl9O2puLnByb3RvdHlwZS5pc0luZGV4ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzLmluZGV4KX07am4ucHJvdG90eXBlLmdldEg9ZnVuY3Rpb24oKXtyZXR1cm4gaCh0aGlzLmluZGV4KT90aGlzLmhlaWdodEJ1ZmZlclt0aGlzLmluZGV4XTpNLmxlcnAodGhpcy5maXJzdC5nZXRIKCksdGhpcy5zZWNvbmQuZ2V0SCgpLHRoaXMucmF0aW8pfTtqbi5wcm90b3R5cGUuZ2V0VT1mdW5jdGlvbigpe3JldHVybiBoKHRoaXMuaW5kZXgpP3RoaXMudUJ1ZmZlclt0aGlzLmluZGV4XTpNLmxlcnAodGhpcy5maXJzdC5nZXRVKCksdGhpcy5zZWNvbmQuZ2V0VSgpLHRoaXMucmF0aW8pfTtqbi5wcm90b3R5cGUuZ2V0Vj1mdW5jdGlvbigpe3JldHVybiBoKHRoaXMuaW5kZXgpP3RoaXMudkJ1ZmZlclt0aGlzLmluZGV4XTpNLmxlcnAodGhpcy5maXJzdC5nZXRWKCksdGhpcy5zZWNvbmQuZ2V0VigpLHRoaXMucmF0aW8pfTtqYT1uZXcgdHQsYm09LTEsTDg9W25ldyBhLG5ldyBhXSxEOD1bbmV3IGEsbmV3IGFdO2puLnByb3RvdHlwZS5nZXROb3JtYWxYPWZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcy5pbmRleCk/dGhpcy5ub3JtYWxCdWZmZXJbdGhpcy5pbmRleCoyXTooamE9cVModGhpcyxqYSksamEueCl9O2puLnByb3RvdHlwZS5nZXROb3JtYWxZPWZ1bmN0aW9uKCl7cmV0dXJuIGgodGhpcy5pbmRleCk/dGhpcy5ub3JtYWxCdWZmZXJbdGhpcy5pbmRleCoyKzFdOihqYT1xUyh0aGlzLGphKSxqYS55KX07R289W107R28ucHVzaChuZXcgam4pO0dvLnB1c2gobmV3IGpuKTtHby5wdXNoKG5ldyBqbik7R28ucHVzaChuZXcgam4pO0Y4PVFlKHY4KX0pO3ZhciBCOCxpMT1aKCgpPT57Qjg9bDEoeyIuL2NvbWJpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihyMCgpLG8wKSksIi4vY3JlYXRlQm94R2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oYTAoKSxjMCkpLCIuL2NyZWF0ZUJveE91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihsMCgpLHUwKSksIi4vY3JlYXRlQ2lyY2xlR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oVDAoKSxiMCkpLCIuL2NyZWF0ZUNpcmNsZU91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihSMCgpLEUwKSksIi4vY3JlYXRlQ29wbGFuYXJQb2x5Z29uR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oQjAoKSxGMCkpLCIuL2NyZWF0ZUNvcGxhbmFyUG9seWdvbk91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihrMCgpLFYwKSksIi4vY3JlYXRlQ29ycmlkb3JHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihvXygpLG5fKSksIi4vY3JlYXRlQ29ycmlkb3JPdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oc18oKSxpXykpLCIuL2NyZWF0ZUN5bGluZGVyR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4ocF8oKSxsXykpLCIuL2NyZWF0ZUN5bGluZGVyT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KF9fKCksaF8pKSwiLi9jcmVhdGVFbGxpcHNlR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oZ18oKSx5XykpLCIuL2NyZWF0ZUVsbGlwc2VPdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oYl8oKSxBXykpLCIuL2NyZWF0ZUVsbGlwc29pZEdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KE9fKCksd18pKSwiLi9jcmVhdGVFbGxpcHNvaWRPdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oU18oKSxSXykpLCIuL2NyZWF0ZUZydXN0dW1HZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihEXygpLExfKSksIi4vY3JlYXRlRnJ1c3R1bU91dGxpbmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihWXygpLFVfKSksIi4vY3JlYXRlR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oYzEoKSxzMSkpLCIuL2NyZWF0ZUdyb3VuZFBvbHlsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oUV8oKSxaXykpLCIuL2NyZWF0ZVBsYW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oZXkoKSx0eSkpLCIuL2NyZWF0ZVBsYW5lT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KHJ5KCksb3kpKSwiLi9jcmVhdGVQb2x5Z29uR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oYXkoKSxjeSkpLCIuL2NyZWF0ZVBvbHlnb25PdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4obHkoKSx1eSkpLCIuL2NyZWF0ZVBvbHlsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oeXkoKSxfeSkpLCIuL2NyZWF0ZVBvbHlsaW5lVm9sdW1lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oYnkoKSxBeSkpLCIuL2NyZWF0ZVBvbHlsaW5lVm9sdW1lT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KE95KCksd3kpKSwiLi9jcmVhdGVSZWN0YW5nbGVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihJeSgpLE55KSksIi4vY3JlYXRlUmVjdGFuZ2xlT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KER5KCksTHkpKSwiLi9jcmVhdGVTaW1wbGVQb2x5bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KFV5KCksQnkpKSwiLi9jcmVhdGVTcGhlcmVHZW9tZXRyeS5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihHeSgpLGt5KSksIi4vY3JlYXRlU3BoZXJlT3V0bGluZUdlb21ldHJ5LmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KEh5KCksankpKSwiLi9jcmVhdGVUYXNrUHJvY2Vzc29yV29ya2VyLmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KHNvKCksbjApKSwiLi9jcmVhdGVWZWN0b3JUaWxlQ2xhbXBlZFBvbHlsaW5lcy5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihLeSgpLHF5KSksIi4vY3JlYXRlVmVjdG9yVGlsZUdlb21ldHJpZXMuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oWHkoKSxXeSkpLCIuL2NyZWF0ZVZlY3RvclRpbGVQb2ludHMuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oWnkoKSwkeSkpLCIuL2NyZWF0ZVZlY3RvclRpbGVQb2x5Z29ucy5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihKeSgpLFF5KSksIi4vY3JlYXRlVmVjdG9yVGlsZVBvbHlsaW5lcy5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihuZygpLGVnKSksIi4vY3JlYXRlVmVydGljZXNGcm9tR29vZ2xlRWFydGhFbnRlcnByaXNlQnVmZmVyLmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGNnKCksc2cpKSwiLi9jcmVhdGVWZXJ0aWNlc0Zyb21IZWlnaHRtYXAuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4odWcoKSxmZykpLCIuL2NyZWF0ZVZlcnRpY2VzRnJvbVF1YW50aXplZFRlcnJhaW5NZXNoLmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KGRnKCkscGcpKSwiLi9jcmVhdGVXYWxsR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oZ2coKSx5ZykpLCIuL2NyZWF0ZVdhbGxPdXRsaW5lR2VvbWV0cnkuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oVGcoKSxiZykpLCIuL2RlY29kZURyYWNvLmpzIjooKT0+UHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKT0+KENnKCksU2cpKSwiLi9kZWNvZGVHb29nbGVFYXJ0aEVudGVycHJpc2VQYWNrZXQuanMiOigpPT5Qcm9taXNlLnJlc29sdmUoKS50aGVuKCgpPT4oSGcoKSxqZykpLCIuL2RlY29kZUkzUy5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihZZygpLFhnKSksIi4vdHJhbnNjb2RlS1RYMi5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihlMSgpLHQxKSksIi4vdHJhbnNmZXJUeXBlZEFycmF5VGVzdC5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihuMSgpLEdTKSksIi4vdXBzYW1wbGVRdWFudGl6ZWRUZXJyYWluTWVzaC5qcyI6KCk9PlByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PihyMSgpLG8xKSl9KX0pO3ZhciBzMT17fTtkZShzMSx7ZGVmYXVsdDooKT0+azh9KTthc3luYyBmdW5jdGlvbiBVOCh0LGUpe2xldCBuPXgoVG1bZV0sVG1bdF0pO3JldHVybiBoKG4pP246aChlKT8odHlwZW9mIGV4cG9ydHM9PSJvYmplY3QiP249cHIoZSk6bj0oYXdhaXQgaW1wb3J0KGUpKS5kZWZhdWx0LFRtW2VdPW4sbik6KHR5cGVvZiBleHBvcnRzPT0ib2JqZWN0Ij9uPXByKGBXb3JrZXJzLyR7dH1gKTpuPShoKGUpP2F3YWl0IGltcG9ydChlKTphd2FpdCBCOChgLi8ke3R9LmpzYCkpLmRlZmF1bHQsVG1bdF09bixuKX1hc3luYyBmdW5jdGlvbiBWOCh0LGUpe2xldCBuPXQuc3ViVGFza3Msbz1uLmxlbmd0aCxyPW5ldyBBcnJheShvKTtmb3IobGV0IGk9MDtpPG87aSsrKXtsZXQgcz1uW2ldLGY9cy5nZW9tZXRyeSx1PXMubW9kdWxlTmFtZSxjPXMubW9kdWxlUGF0aDtpZihoKHUpJiZoKGMpKXRocm93IG5ldyBCKCJNdXN0IG9ubHkgc2V0IG1vZHVsZU5hbWUgb3IgbW9kdWxlUGF0aCIpO2godSl8fGgoYyk/cltpXT1VOCh1LGMpLnRoZW4obD0+bChmLHMub2Zmc2V0KSk6cltpXT1mfXJldHVybiBQcm9taXNlLmFsbChyKS50aGVuKGZ1bmN0aW9uKGkpe3JldHVybiBzYS5wYWNrQ3JlYXRlR2VvbWV0cnlSZXN1bHRzKGksZSl9KX12YXIgVG0sazgsYzE9WigoKT0+e0h0KCk7SXQoKTtmdCgpO2UwKCk7c28oKTtpMSgpO1RtPXt9O2s4PVFlKFY4KX0pO3ZhciBEVj17fTtkZShEVix7Y29tYmluZUdlb21ldHJ5OigpPT5HOCxjcmVhdGVCb3hHZW9tZXRyeTooKT0+ejgsY3JlYXRlQm94T3V0bGluZUdlb21ldHJ5OigpPT5qOCxjcmVhdGVDaXJjbGVHZW9tZXRyeTooKT0+SDgsY3JlYXRlQ2lyY2xlT3V0bGluZUdlb21ldHJ5OigpPT5xOCxjcmVhdGVDb3BsYW5hclBvbHlnb25HZW9tZXRyeTooKT0+SzgsY3JlYXRlQ29wbGFuYXJQb2x5Z29uT3V0bGluZUdlb21ldHJ5OigpPT5XOCxjcmVhdGVDb3JyaWRvckdlb21ldHJ5OigpPT5YOCxjcmVhdGVDb3JyaWRvck91dGxpbmVHZW9tZXRyeTooKT0+WTgsY3JlYXRlQ3lsaW5kZXJHZW9tZXRyeTooKT0+JDgsY3JlYXRlQ3lsaW5kZXJPdXRsaW5lR2VvbWV0cnk6KCk9Plo4LGNyZWF0ZUVsbGlwc2VHZW9tZXRyeTooKT0+UTgsY3JlYXRlRWxsaXBzZU91dGxpbmVHZW9tZXRyeTooKT0+SjgsY3JlYXRlRWxsaXBzb2lkR2VvbWV0cnk6KCk9PnRWLGNyZWF0ZUVsbGlwc29pZE91dGxpbmVHZW9tZXRyeTooKT0+ZVYsY3JlYXRlRnJ1c3R1bUdlb21ldHJ5OigpPT5uVixjcmVhdGVGcnVzdHVtT3V0bGluZUdlb21ldHJ5OigpPT5vVixjcmVhdGVHZW9tZXRyeTooKT0+clYsY3JlYXRlR3JvdW5kUG9seWxpbmVHZW9tZXRyeTooKT0+aVYsY3JlYXRlUGxhbmVHZW9tZXRyeTooKT0+c1YsY3JlYXRlUGxhbmVPdXRsaW5lR2VvbWV0cnk6KCk9PmNWLGNyZWF0ZVBvbHlnb25HZW9tZXRyeTooKT0+YVYsY3JlYXRlUG9seWdvbk91dGxpbmVHZW9tZXRyeTooKT0+ZlYsY3JlYXRlUG9seWxpbmVHZW9tZXRyeTooKT0+dVYsY3JlYXRlUG9seWxpbmVWb2x1bWVHZW9tZXRyeTooKT0+bFYsY3JlYXRlUG9seWxpbmVWb2x1bWVPdXRsaW5lR2VvbWV0cnk6KCk9PnBWLGNyZWF0ZVJlY3RhbmdsZUdlb21ldHJ5OigpPT5kVixjcmVhdGVSZWN0YW5nbGVPdXRsaW5lR2VvbWV0cnk6KCk9Pm1WLGNyZWF0ZVNpbXBsZVBvbHlsaW5lR2VvbWV0cnk6KCk9PmhWLGNyZWF0ZVNwaGVyZUdlb21ldHJ5OigpPT5fVixjcmVhdGVTcGhlcmVPdXRsaW5lR2VvbWV0cnk6KCk9PnlWLGNyZWF0ZVRhc2tQcm9jZXNzb3JXb3JrZXI6KCk9PmdWLGNyZWF0ZVZlY3RvclRpbGVDbGFtcGVkUG9seWxpbmVzOigpPT5BVixjcmVhdGVWZWN0b3JUaWxlR2VvbWV0cmllczooKT0+YlYsY3JlYXRlVmVjdG9yVGlsZVBvaW50czooKT0+VFYsY3JlYXRlVmVjdG9yVGlsZVBvbHlnb25zOigpPT53VixjcmVhdGVWZWN0b3JUaWxlUG9seWxpbmVzOigpPT5PVixjcmVhdGVWZXJ0aWNlc0Zyb21Hb29nbGVFYXJ0aEVudGVycHJpc2VCdWZmZXI6KCk9PkVWLGNyZWF0ZVZlcnRpY2VzRnJvbUhlaWdodG1hcDooKT0+UlYsY3JlYXRlVmVydGljZXNGcm9tUXVhbnRpemVkVGVycmFpbk1lc2g6KCk9PlNWLGNyZWF0ZVdhbGxHZW9tZXRyeTooKT0+Q1YsY3JlYXRlV2FsbE91dGxpbmVHZW9tZXRyeTooKT0+eFYsZGVjb2RlRHJhY286KCk9PlBWLGRlY29kZUdvb2dsZUVhcnRoRW50ZXJwcmlzZVBhY2tldDooKT0+TVYsZGVjb2RlSTNTOigpPT5OVix0cmFuc2NvZGVLVFgyOigpPT5JVix0cmFuc2ZlclR5cGVkQXJyYXlUZXN0OigpPT52Vix1cHNhbXBsZVF1YW50aXplZFRlcnJhaW5NZXNoOigpPT5MVn0pO3ZhciBHOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnIwKCkpfSx6OD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmEwKCkpfSxqOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmwwKCkpfSxIOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PlQwKCkpfSxxOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PlIwKCkpfSxLOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PkIwKCkpfSxXOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmswKCkpfSxYOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pm9fKCkpfSxZOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnNfKCkpfSwkOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnBfKCkpfSxaOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pl9fKCkpfSxROD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmdfKCkpfSxKOD0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmJfKCkpfSx0Vj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pk9fKCkpfSxlVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PlNfKCkpfSxuVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PkRfKCkpfSxvVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PlZfKCkpfSxyVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmMxKCkpfSxpVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PlFfKCkpfSxzVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmV5KCkpfSxjVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnJ5KCkpfSxhVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmF5KCkpfSxmVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pmx5KCkpfSx1Vj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pnl5KCkpfSxsVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmJ5KCkpfSxwVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pk95KCkpfSxkVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pkl5KCkpfSxtVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PkR5KCkpfSxoVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PlV5KCkpfSxfVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pkd5KCkpfSx5Vj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pkh5KCkpfSxnVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnNvKCkpfSxBVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pkt5KCkpfSxiVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Plh5KCkpfSxUVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Plp5KCkpfSx3Vj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pkp5KCkpfSxPVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pm5nKCkpfSxFVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmNnKCkpfSxSVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnVnKCkpfSxTVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmRnKCkpfSxDVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmdnKCkpfSx4Vj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PlRnKCkpfSxQVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PkNnKCkpfSxNVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PkhnKCkpfSxOVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PllnKCkpfSxJVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PmUxKCkpfSx2Vj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9Pm4xKCkpfSxMVj0oKT0+e1Byb21pc2UucmVzb2x2ZSgpLnRoZW4oKCk9PnIxKCkpfTtyZXR1cm4gUVMoRFYpO30pKCk7Cg==")});var Q9=gl((oVt,Cq)=>{var rVt=T(S()),gp=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};gp.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};gp.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};gp.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n>>1^t[e&1];for(;n>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};gp.prototype.random_int31=function(){return this.random_int()>>>1};gp.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};gp.prototype.random=function(){return this.random_int()*(1/4294967296)};gp.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};gp.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};Cq.exports=gp});var Kq=gl((YS,HS)=>{var ORt=T(S());/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof YS=="object"&&YS&&!YS.nodeType&&YS,n=typeof HS=="object"&&HS&&!HS.nodeType&&HS,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,d=38,u=700,m=72,p=128,g="-",f=/^xn--/,x=/[^\x20-\x7E]/,_=/[\x2E\u3002\uFF0E\uFF61]/g,C={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},V=s-a,L=Math.floor,Z=String.fromCharCode,G;function I(U){throw new RangeError(C[U])}function v(U,Y){for(var k=U.length,H=[];k--;)H[k]=Y(U[k]);return H}function P(U,Y){var k=U.split("@"),H="";k.length>1&&(H=k[0]+"@",U=k[1]),U=U.replace(_,".");var J=U.split("."),te=v(J,Y).join(".");return H+te}function w(U){for(var Y=[],k=0,H=U.length,J,te;k=55296&&J<=56319&&k65535&&(Y-=65536,k+=Z(Y>>>10&1023|55296),Y=56320|Y&1023),k+=Z(Y),k}).join("")}function b(U){return U-48<10?U-22:U-65<26?U-65:U-97<26?U-97:s}function R(U,Y){return U+22+75*(U<26)-((Y!=0)<<5)}function E(U,Y,k){var H=0;for(U=k?L(U/u):U>>1,U+=L(U/Y);U>V*c>>1;H+=s)U=L(U/V);return L(H+(V+1)*U/(U+d))}function X(U){var Y=[],k=U.length,H,J=0,te=p,z=m,q,ee,pe,_e,ae,ye,Te,Xe,Ie;for(q=U.lastIndexOf(g),q<0&&(q=0),ee=0;ee=128&&I("not-basic"),Y.push(U.charCodeAt(ee));for(pe=q>0?q+1:0;pe=k&&I("invalid-input"),Te=b(U.charCodeAt(pe++)),(Te>=s||Te>L((r-J)/ae))&&I("overflow"),J+=Te*ae,Xe=ye<=z?a:ye>=z+c?c:ye-z,!(TeL(r/Ie)&&I("overflow"),ae*=Ie;H=Y.length+1,z=E(J-_e,H,_e==0),L(J/H)>r-te&&I("overflow"),te+=L(J/H),J%=H,Y.splice(J++,0,te)}return A(Y)}function F(U){var Y,k,H,J,te,z,q,ee,pe,_e,ae,ye=[],Te,Xe,Ie,Ae;for(U=w(U),Te=U.length,Y=p,k=0,te=m,z=0;z=Y&&aeL((r-k)/Xe)&&I("overflow"),k+=(q-Y)*Xe,Y=q,z=0;zr&&I("overflow"),ae==Y){for(ee=k,pe=s;_e=pe<=te?a:pe>=te+c?c:pe-te,!(ee<_e);pe+=s)Ae=ee-_e,Ie=s-_e,ye.push(Z(R(_e+Ae%Ie,0))),ee=L(Ae/Ie);ye.push(Z(R(ee,0))),te=E(k,Xe,H==J),k=0,++H}++k,++Y}return ye.join("")}function N(U){return P(U,function(Y){return f.test(Y)?X(Y.slice(4).toLowerCase()):Y})}function O(U){return P(U,function(Y){return x.test(Y)?"xn--"+F(Y):Y})}if(o={version:"1.3.2",ucs2:{decode:w,encode:A},decode:X,encode:F,toASCII:O,toUnicode:N},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(HS.exports==t)n.exports=o;else for(G in o)o.hasOwnProperty(G)&&(t[G]=o[G]);else e.punycode=o})(YS)});var Qq=gl((Jq,bN)=>{var YRt=T(S());/*! * URI.js - Mutating URLs * IPv6 Support * @@ -35,7 +35,7 @@ var Cesium=(()=>{var ICe=Object.create;var UM=Object.defineProperty;var XCe=Obje * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof lN=="object"&&lN.exports?lN.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(Uq,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var d;for(d=0;d1);p++)u.splice(0,1);s[m]=u.join("")}var g=-1,f=0,x=0,_=-1,C=!1;for(m=0;mf&&(g=_,f=x)):s[m]==="0"&&(C=!0,_=m,x=1);x>f&&(g=_,f=x),f>1&&s.splice(g,f,""),a=s.length;var V="";for(s[0]===""&&(V=":"),m=0;m{var dRt=T(S());/*! + */(function(e,t){"use strict";typeof bN=="object"&&bN.exports?bN.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(Jq,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var d;for(d=0;d1);p++)u.splice(0,1);s[m]=u.join("")}var g=-1,f=0,x=0,_=-1,C=!1;for(m=0;mf&&(g=_,f=x)):s[m]==="0"&&(C=!0,_=m,x=1);x>f&&(g=_,f=x),f>1&&s.splice(g,f,""),a=s.length;var V="";for(s[0]===""&&(V=":"),m=0;m{var HRt=T(S());/*! * URI.js - Mutating URLs * Second Level Domain (SLD) Support * @@ -47,7 +47,7 @@ var Cesium=(()=>{var ICe=Object.create;var UM=Object.defineProperty;var XCe=Obje * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof dN=="object"&&dN.exports?dN.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(Bq,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var nd=fl((Yq,uN)=>{var uRt=T(S());/*! + */(function(e,t){"use strict";typeof gN=="object"&&gN.exports?gN.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(jq,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var ad=gl(($q,yN)=>{var zRt=T(S());/*! * URI.js - Mutating URLs * * Version: 1.19.11 @@ -58,27 +58,27 @@ var Cesium=(()=>{var ICe=Object.create;var UM=Object.defineProperty;var XCe=Obje * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof uN=="object"&&uN.exports?uN.exports=t(kq(),Dq(),Oq()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(Yq,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(R,E){var X=arguments.length>=1,A=arguments.length>=2;if(!(this instanceof r))return X?A?new r(R,E):new r(R):new r;if(R===void 0){if(X)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?R=location.href+"":R=""}if(R===null&&X)throw new TypeError("null is not a valid argument for URI");return this.href(R),E!==void 0?this.absoluteTo(E):this}function s(R){return/^[0-9]+$/.test(R)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function d(R){return R.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function u(R){return R===void 0?"Undefined":String(Object.prototype.toString.call(R)).slice(8,-1)}function m(R){return u(R)==="Array"}function p(R,E){var X={},A,N;if(u(E)==="RegExp")X=null;else if(m(E))for(A=0,N=E.length;A]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(R){if(!(!R||!R.nodeName)){var E=R.nodeName.toLowerCase();if(!(E==="input"&&R.type!=="image"))return r.domAttributes[E]}};function _(R){return escape(R)}function C(R){return encodeURIComponent(R).replace(/[!'()*]/g,_).replace(/\*/g,"%2A")}r.encode=C,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=C,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(R,E){var X=r.encode(R+"");return E===void 0&&(E=r.escapeQuerySpace),E?X.replace(/%20/g,"+"):X},r.decodeQuery=function(R,E){R+="",E===void 0&&(E=r.escapeQuerySpace);try{return r.decode(E?R.replace(/\+/g,"%20"):R)}catch{return R}};var V={encode:"encode",decode:"decode"},L,Z=function(R,E){return function(X){try{return r[E](X+"").replace(r.characters[R][E].expression,function(A){return r.characters[R][E].map[A]})}catch{return X}}};for(L in V)r[L+"PathSegment"]=Z("pathname",V[L]),r[L+"UrnPathSegment"]=Z("urnpath",V[L]);var G=function(R,E,X){return function(A){var N;X?N=function(k){return r[E](r[X](k))}:N=r[E];for(var O=(A+"").split(R),U=0,Y=O.length;U-1&&(E.fragment=R.substring(X+1)||null,R=R.substring(0,X)),X=R.indexOf("?"),X>-1&&(E.query=R.substring(X+1)||null,R=R.substring(0,X)),R=R.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),R=R.replace(/^[/\\]{2,}/i,"//"),R.substring(0,2)==="//"?(E.protocol=null,R=R.substring(2),R=r.parseAuthority(R,E)):(X=R.indexOf(":"),X>-1&&(E.protocol=R.substring(0,X)||null,E.protocol&&!E.protocol.match(r.protocol_expression)?E.protocol=void 0:R.substring(X+1,X+3).replace(/\\/g,"/")==="//"?(R=R.substring(X+3),R=r.parseAuthority(R,E)):(R=R.substring(X+1),E.urn=!0))),E.path=R,E},r.parseHost=function(R,E){R||(R=""),R=R.replace(/\\/g,"/");var X=R.indexOf("/"),A,N;if(X===-1&&(X=R.length),R.charAt(0)==="[")A=R.indexOf("]"),E.hostname=R.substring(1,A)||null,E.port=R.substring(A+2,X)||null,E.port==="/"&&(E.port=null);else{var O=R.indexOf(":"),U=R.indexOf("/"),Y=R.indexOf(":",O+1);Y!==-1&&(U===-1||Y-1?N:R.length-1),U;return O>-1&&(N===-1||O-1?H=H.slice(0,q)+H.slice(q).replace(O,""):H=H.replace(O,""),!(H.length<=k[0].length)&&!(X.ignore&&X.ignore.test(H))){te=J+H.length;var _e=E(H,J,te,R);if(_e===void 0){A.lastIndex=te;continue}_e=String(_e),R=R.slice(0,J)+_e+R.slice(te),A.lastIndex=J+_e.length}}return A.lastIndex=0,R},r.ensureValidHostname=function(R,E){var X=!!R,A=!!E,N=!1;if(A&&(N=g(r.hostProtocols,E)),N&&!X)throw new TypeError("Hostname cannot be empty, if protocol is "+E);if(R&&R.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(R).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(R){if(R){var E=Number(R);if(!(s(E)&&E>0&&E<65536))throw new TypeError('Port "'+R+'" is not a valid port')}},r.noConflict=function(R){if(R){var E={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(E.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(E.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(E.SecondLevelDomains=i.SecondLevelDomains.noConflict()),E}else i.URI===this&&(i.URI=o);return this},a.build=function(R){return R===!0?this._deferred_build=!0:(R===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function I(R){return function(E,X){return E===void 0?this._parts[R]||"":(this._parts[R]=E||null,this.build(!X),this)}}function v(R,E){return function(X,A){return X===void 0?this._parts[R]||"":(X!==null&&(X=X+"",X.charAt(0)===E&&(X=X.substring(1))),this._parts[R]=X,this.build(!A),this)}}a.protocol=I("protocol"),a.username=I("username"),a.password=I("password"),a.hostname=I("hostname"),a.port=I("port"),a.query=v("query","?"),a.fragment=v("fragment","#"),a.search=function(R,E){var X=this.query(R,E);return typeof X=="string"&&X.length?"?"+X:X},a.hash=function(R,E){var X=this.fragment(R,E);return typeof X=="string"&&X.length?"#"+X:X},a.pathname=function(R,E){if(R===void 0||R===!0){var X=this._parts.path||(this._parts.hostname?"/":"");return R?(this._parts.urn?r.decodeUrnPath:r.decodePath)(X):X}else return this._parts.urn?this._parts.path=R?r.recodeUrnPath(R):"":this._parts.path=R?r.recodePath(R):"/",this.build(!E),this},a.path=a.pathname,a.href=function(R,E){var X;if(R===void 0)return this.toString();this._string="",this._parts=r._parts();var A=R instanceof r,N=typeof R=="object"&&(R.hostname||R.path||R.pathname);if(R.nodeName){var O=r.getDomAttribute(R);R=R[O]||"",N=!1}if(!A&&N&&R.pathname!==void 0&&(R=R.toString()),typeof R=="string"||R instanceof String)this._parts=r.parse(String(R),this._parts);else if(A||N){var U=A?R._parts:R;for(X in U)X!=="query"&&c.call(this._parts,X)&&(this._parts[X]=U[X]);U.query&&this.query(U.query,!1)}else throw new TypeError("invalid input");return this.build(!E),this},a.is=function(R){var E=!1,X=!1,A=!1,N=!1,O=!1,U=!1,Y=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,X=r.ip4_expression.test(this._parts.hostname),A=r.ip6_expression.test(this._parts.hostname),E=X||A,N=!E,O=N&&n&&n.has(this._parts.hostname),U=N&&r.idn_expression.test(this._parts.hostname),Y=N&&r.punycode_expression.test(this._parts.hostname)),R.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return N;case"sld":return O;case"ip":return E;case"ip4":case"ipv4":case"inet4":return X;case"ip6":case"ipv6":case"inet6":return A;case"idn":return U;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return Y}return null};var P=a.protocol,w=a.port,F=a.hostname;a.protocol=function(R,E){if(R&&(R=R.replace(/:(\/\/)?$/,""),!R.match(r.protocol_expression)))throw new TypeError('Protocol "'+R+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return P.call(this,R,E)},a.scheme=a.protocol,a.port=function(R,E){return this._parts.urn?R===void 0?"":this:(R!==void 0&&(R===0&&(R=null),R&&(R+="",R.charAt(0)===":"&&(R=R.substring(1)),r.ensureValidPort(R))),w.call(this,R,E))},a.hostname=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R!==void 0){var X={preventInvalidHostname:this._parts.preventInvalidHostname},A=r.parseHost(R,X);if(A!=="/")throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-]');R=X.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(R,this._parts.protocol)}return F.call(this,R,E)},a.origin=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0){var X=this.protocol(),A=this.authority();return A?(X?X+"://":"")+this.authority():""}else{var N=r(R);return this.protocol(N.protocol()).authority(N.authority()).build(!E),this}},a.host=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var X=r.parseHost(R,this._parts);if(X!=="/")throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-]');return this.build(!E),this},a.authority=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var X=r.parseAuthority(R,this._parts);if(X!=="/")throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-]');return this.build(!E),this},a.userinfo=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0){var X=r.buildUserinfo(this._parts);return X&&X.substring(0,X.length-1)}else return R[R.length-1]!=="@"&&(R+="@"),r.parseUserinfo(R,this._parts),this.build(!E),this},a.resource=function(R,E){var X;return R===void 0?this.path()+this.search()+this.hash():(X=r.parse(R),this._parts.path=X.path,this._parts.query=X.query,this._parts.fragment=X.fragment,this.build(!E),this)},a.subdomain=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0){if(!this._parts.hostname||this.is("IP"))return"";var X=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,X)||""}else{var A=this._parts.hostname.length-this.domain().length,N=this._parts.hostname.substring(0,A),O=new RegExp("^"+d(N));if(R&&R.charAt(R.length-1)!=="."&&(R+="."),R.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return R&&r.ensureValidHostname(R,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(O,R),this.build(!E),this}},a.domain=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(typeof R=="boolean"&&(E=R,R=void 0),R===void 0){if(!this._parts.hostname||this.is("IP"))return"";var X=this._parts.hostname.match(/\./g);if(X&&X.length<2)return this._parts.hostname;var A=this._parts.hostname.length-this.tld(E).length-1;return A=this._parts.hostname.lastIndexOf(".",A-1)+1,this._parts.hostname.substring(A)||""}else{if(!R)throw new TypeError("cannot set domain empty");if(R.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(R,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=R;else{var N=new RegExp(d(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(N,R)}return this.build(!E),this}},a.tld=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(typeof R=="boolean"&&(E=R,R=void 0),R===void 0){if(!this._parts.hostname||this.is("IP"))return"";var X=this._parts.hostname.lastIndexOf("."),A=this._parts.hostname.substring(X+1);return E!==!0&&n&&n.list[A.toLowerCase()]&&n.get(this._parts.hostname)||A}else{var N;if(R)if(R.match(/[^a-zA-Z0-9-]/))if(n&&n.is(R))N=new RegExp(d(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(N,R);else throw new TypeError('TLD "'+R+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");N=new RegExp(d(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(N,R)}else throw new TypeError("cannot set TLD empty");return this.build(!E),this}},a.directory=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0||R===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var X=this._parts.path.length-this.filename().length-1,A=this._parts.path.substring(0,X)||(this._parts.hostname?"/":"");return R?r.decodePath(A):A}else{var N=this._parts.path.length-this.filename().length,O=this._parts.path.substring(0,N),U=new RegExp("^"+d(O));return this.is("relative")||(R||(R="/"),R.charAt(0)!=="/"&&(R="/"+R)),R&&R.charAt(R.length-1)!=="/"&&(R+="/"),R=r.recodePath(R),this._parts.path=this._parts.path.replace(U,R),this.build(!E),this}},a.filename=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(typeof R!="string"){if(!this._parts.path||this._parts.path==="/")return"";var X=this._parts.path.lastIndexOf("/"),A=this._parts.path.substring(X+1);return R?r.decodePathSegment(A):A}else{var N=!1;R.charAt(0)==="/"&&(R=R.substring(1)),R.match(/\.?\//)&&(N=!0);var O=new RegExp(d(this.filename())+"$");return R=r.recodePath(R),this._parts.path=this._parts.path.replace(O,R),N?this.normalizePath(E):this.build(!E),this}},a.suffix=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0||R===!0){if(!this._parts.path||this._parts.path==="/")return"";var X=this.filename(),A=X.lastIndexOf("."),N,O;return A===-1?"":(N=X.substring(A+1),O=/^[a-z0-9%]+$/i.test(N)?N:"",R?r.decodePathSegment(O):O)}else{R.charAt(0)==="."&&(R=R.substring(1));var U=this.suffix(),Y;if(U)R?Y=new RegExp(d(U)+"$"):Y=new RegExp(d("."+U)+"$");else{if(!R)return this;this._parts.path+="."+r.recodePath(R)}return Y&&(R=r.recodePath(R),this._parts.path=this._parts.path.replace(Y,R)),this.build(!E),this}},a.segment=function(R,E,X){var A=this._parts.urn?":":"/",N=this.path(),O=N.substring(0,1)==="/",U=N.split(A);if(R!==void 0&&typeof R!="number"&&(X=E,E=R,R=void 0),R!==void 0&&typeof R!="number")throw new Error('Bad segment "'+R+'", must be 0-based integer');if(O&&U.shift(),R<0&&(R=Math.max(U.length+R,0)),E===void 0)return R===void 0?U:U[R];if(R===null||U[R]===void 0)if(m(E)){U=[];for(var Y=0,k=E.length;Y{var Ttn=T(S());/*! @license DOMPurify 3.1.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.5/LICENSE */(function(e,t){typeof iz=="object"&&typeof oz<"u"?oz.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.DOMPurify=t())})(iz,function(){"use strict";let{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:o}=Object,{freeze:r,seal:s,create:a}=Object,{apply:c,construct:d}=typeof Reflect<"u"&&Reflect;r||(r=function(ke){return ke}),s||(s=function(ke){return ke}),c||(c=function(ke,qe,Qe){return ke.apply(qe,Qe)}),d||(d=function(ke,qe){return new ke(...qe)});let u=I(Array.prototype.forEach),m=I(Array.prototype.pop),p=I(Array.prototype.push),g=I(String.prototype.toLowerCase),f=I(String.prototype.toString),x=I(String.prototype.match),_=I(String.prototype.replace),C=I(String.prototype.indexOf),V=I(String.prototype.trim),L=I(Object.prototype.hasOwnProperty),Z=I(RegExp.prototype.test),G=v(TypeError);function I(Fe){return function(ke){for(var qe=arguments.length,Qe=new Array(qe>1?qe-1:0),Ut=1;Ut2&&arguments[2]!==void 0?arguments[2]:g;t&&t(Fe,null);let Qe=ke.length;for(;Qe--;){let Ut=ke[Qe];if(typeof Ut=="string"){let Ce=qe(Ut);Ce!==Ut&&(n(ke)||(ke[Qe]=Ce),Ut=Ce)}Fe[Ut]=!0}return Fe}function w(Fe){for(let ke=0;ke/gm),q=s(/\${[\w\W]*}/gm),ee=s(/^data-[\-\w.\u00B7-\uFFFF]/),pe=s(/^aria-[\-\w]+$/),_e=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ae=s(/^(?:\w+script|data):/i),ye=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Te=s(/^html$/i),Ie=s(/^[a-z][.\w]*(-[.\w]+)+$/i);var Ee=Object.freeze({__proto__:null,MUSTACHE_EXPR:te,ERB_EXPR:H,TMPLIT_EXPR:q,DATA_ATTR:ee,ARIA_ATTR:pe,IS_ALLOWED_URI:_e,IS_SCRIPT_OR_DATA:ae,ATTR_WHITESPACE:ye,DOCTYPE_NAME:Te,CUSTOM_ELEMENT:Ie});let ve={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},we=function(){return typeof window>"u"?null:window},pt=function(ke,qe){if(typeof ke!="object"||typeof ke.createPolicy!="function")return null;let Qe=null,Ut="data-tt-policy-suffix";qe&&qe.hasAttribute(Ut)&&(Qe=qe.getAttribute(Ut));let Ce="dompurify"+(Qe?"#"+Qe:"");try{return ke.createPolicy(Ce,{createHTML(Ve){return Ve},createScriptURL(Ve){return Ve}})}catch{return console.warn("TrustedTypes policy "+Ce+" could not be created."),null}};function rt(){let Fe=arguments.length>0&&arguments[0]!==void 0?arguments[0]:we(),ke=Gn=>rt(Gn);if(ke.version="3.1.5",ke.removed=[],!Fe||!Fe.document||Fe.document.nodeType!==ve.document)return ke.isSupported=!1,ke;let{document:qe}=Fe,Qe=qe,Ut=Qe.currentScript,{DocumentFragment:Ce,HTMLTemplateElement:Ve,Node:$t,Element:en,NodeFilter:Qt,NamedNodeMap:mo=Fe.NamedNodeMap||Fe.MozNamedAttrMap,HTMLFormElement:je,DOMParser:os,trustedTypes:sr}=Fe,ia=en.prototype,De=b(ia,"cloneNode"),mt=b(ia,"nextSibling"),st=b(ia,"childNodes"),$e=b(ia,"parentNode");if(typeof Ve=="function"){let Gn=qe.createElement("template");Gn.content&&Gn.content.ownerDocument&&(qe=Gn.content.ownerDocument)}let et,Mt="",{implementation:xn,createNodeIterator:Ki,createDocumentFragment:ho,getElementsByTagName:rs}=qe,{importNode:ar}=Qe,To={};ke.isSupported=typeof e=="function"&&typeof $e=="function"&&xn&&xn.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Ji,ERB_EXPR:ys,TMPLIT_EXPR:Zr,DATA_ATTR:ou,ARIA_ATTR:wo,IS_SCRIPT_OR_DATA:Gr,ATTR_WHITESPACE:ru,CUSTOM_ELEMENT:Ic}=Ee,{IS_ALLOWED_URI:kh}=Ee,zo=null,lp=P({},[...R,...E,...X,...N,...U]),cr=null,dp=P({},[...Y,...k,...J,...z]),Zo=Object.seal(a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),fm=null,Ky=null,Lb=!0,xs=!0,Ra=!1,oa=!0,vs=!1,GS=!0,fo=!1,pm=!1,bm=!1,up=!1,Za=!1,Uh=!1,AM=!0,H6=!1,SCe="user-content-",AB=!0,BL=!1,ES={},IS=null,K6=P({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),J6=null,Q6=P({},["audio","video","img","source","image","track"]),MB=null,j6=P({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),MM="http://www.w3.org/1998/Math/MathML",NM="http://www.w3.org/2000/svg",mp="http://www.w3.org/1999/xhtml",XS=mp,NB=!1,kB=null,CCe=P({},[MM,NM,mp],f),OL=null,VCe=["application/xhtml+xml","text/html"],LCe="text/html",ra=null,WS=null,RCe=qe.createElement("form"),q6=function(Le){return Le instanceof RegExp||Le instanceof Function},UB=function(){let Le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(WS&&WS===Le)){if((!Le||typeof Le!="object")&&(Le={}),Le=F(Le),OL=VCe.indexOf(Le.PARSER_MEDIA_TYPE)===-1?LCe:Le.PARSER_MEDIA_TYPE,ra=OL==="application/xhtml+xml"?f:g,zo=L(Le,"ALLOWED_TAGS")?P({},Le.ALLOWED_TAGS,ra):lp,cr=L(Le,"ALLOWED_ATTR")?P({},Le.ALLOWED_ATTR,ra):dp,kB=L(Le,"ALLOWED_NAMESPACES")?P({},Le.ALLOWED_NAMESPACES,f):CCe,MB=L(Le,"ADD_URI_SAFE_ATTR")?P(F(j6),Le.ADD_URI_SAFE_ATTR,ra):j6,J6=L(Le,"ADD_DATA_URI_TAGS")?P(F(Q6),Le.ADD_DATA_URI_TAGS,ra):Q6,IS=L(Le,"FORBID_CONTENTS")?P({},Le.FORBID_CONTENTS,ra):K6,fm=L(Le,"FORBID_TAGS")?P({},Le.FORBID_TAGS,ra):{},Ky=L(Le,"FORBID_ATTR")?P({},Le.FORBID_ATTR,ra):{},ES=L(Le,"USE_PROFILES")?Le.USE_PROFILES:!1,Lb=Le.ALLOW_ARIA_ATTR!==!1,xs=Le.ALLOW_DATA_ATTR!==!1,Ra=Le.ALLOW_UNKNOWN_PROTOCOLS||!1,oa=Le.ALLOW_SELF_CLOSE_IN_ATTR!==!1,vs=Le.SAFE_FOR_TEMPLATES||!1,GS=Le.SAFE_FOR_XML!==!1,fo=Le.WHOLE_DOCUMENT||!1,up=Le.RETURN_DOM||!1,Za=Le.RETURN_DOM_FRAGMENT||!1,Uh=Le.RETURN_TRUSTED_TYPE||!1,bm=Le.FORCE_BODY||!1,AM=Le.SANITIZE_DOM!==!1,H6=Le.SANITIZE_NAMED_PROPS||!1,AB=Le.KEEP_CONTENT!==!1,BL=Le.IN_PLACE||!1,kh=Le.ALLOWED_URI_REGEXP||_e,XS=Le.NAMESPACE||mp,Zo=Le.CUSTOM_ELEMENT_HANDLING||{},Le.CUSTOM_ELEMENT_HANDLING&&q6(Le.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Zo.tagNameCheck=Le.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Le.CUSTOM_ELEMENT_HANDLING&&q6(Le.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Zo.attributeNameCheck=Le.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Le.CUSTOM_ELEMENT_HANDLING&&typeof Le.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Zo.allowCustomizedBuiltInElements=Le.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),vs&&(xs=!1),Za&&(up=!0),ES&&(zo=P({},U),cr=[],ES.html===!0&&(P(zo,R),P(cr,Y)),ES.svg===!0&&(P(zo,E),P(cr,k),P(cr,z)),ES.svgFilters===!0&&(P(zo,X),P(cr,k),P(cr,z)),ES.mathMl===!0&&(P(zo,N),P(cr,J),P(cr,z))),Le.ADD_TAGS&&(zo===lp&&(zo=F(zo)),P(zo,Le.ADD_TAGS,ra)),Le.ADD_ATTR&&(cr===dp&&(cr=F(cr)),P(cr,Le.ADD_ATTR,ra)),Le.ADD_URI_SAFE_ATTR&&P(MB,Le.ADD_URI_SAFE_ATTR,ra),Le.FORBID_CONTENTS&&(IS===K6&&(IS=F(IS)),P(IS,Le.FORBID_CONTENTS,ra)),AB&&(zo["#text"]=!0),fo&&P(zo,["html","head","body"]),zo.table&&(P(zo,["tbody"]),delete fm.tbody),Le.TRUSTED_TYPES_POLICY){if(typeof Le.TRUSTED_TYPES_POLICY.createHTML!="function")throw G('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Le.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw G('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');et=Le.TRUSTED_TYPES_POLICY,Mt=et.createHTML("")}else et===void 0&&(et=pt(sr,Ut)),et!==null&&typeof Mt=="string"&&(Mt=et.createHTML(""));r&&r(Le),WS=Le}},$6=P({},["mi","mo","mn","ms","mtext"]),eq=P({},["foreignobject","annotation-xml"]),ZCe=P({},["title","style","font","a","script"]),tq=P({},[...E,...X,...A]),nq=P({},[...N,...O]),GCe=function(Le){let Pt=$e(Le);(!Pt||!Pt.tagName)&&(Pt={namespaceURI:XS,tagName:"template"});let yn=g(Le.tagName),Ho=g(Pt.tagName);return kB[Le.namespaceURI]?Le.namespaceURI===NM?Pt.namespaceURI===mp?yn==="svg":Pt.namespaceURI===MM?yn==="svg"&&(Ho==="annotation-xml"||$6[Ho]):!!tq[yn]:Le.namespaceURI===MM?Pt.namespaceURI===mp?yn==="math":Pt.namespaceURI===NM?yn==="math"&&eq[Ho]:!!nq[yn]:Le.namespaceURI===mp?Pt.namespaceURI===NM&&!eq[Ho]||Pt.namespaceURI===MM&&!$6[Ho]?!1:!nq[yn]&&(ZCe[yn]||!tq[yn]):!!(OL==="application/xhtml+xml"&&kB[Le.namespaceURI]):!1},Dh=function(Le){p(ke.removed,{element:Le});try{Le.parentNode.removeChild(Le)}catch{Le.remove()}},kM=function(Le,Pt){try{p(ke.removed,{attribute:Pt.getAttributeNode(Le),from:Pt})}catch{p(ke.removed,{attribute:null,from:Pt})}if(Pt.removeAttribute(Le),Le==="is"&&!cr[Le])if(up||Za)try{Dh(Pt)}catch{}else try{Pt.setAttribute(Le,"")}catch{}},iq=function(Le){let Pt=null,yn=null;if(bm)Le=""+Le;else{let Ga=x(Le,/^[\r\n\t ]+/);yn=Ga&&Ga[0]}OL==="application/xhtml+xml"&&XS===mp&&(Le=''+Le+"");let Ho=et?et.createHTML(Le):Le;if(XS===mp)try{Pt=new os().parseFromString(Ho,OL)}catch{}if(!Pt||!Pt.documentElement){Pt=xn.createDocument(XS,"template",null);try{Pt.documentElement.innerHTML=NB?Mt:Ho}catch{}}let Ja=Pt.body||Pt.documentElement;return Le&&yn&&Ja.insertBefore(qe.createTextNode(yn),Ja.childNodes[0]||null),XS===mp?rs.call(Pt,fo?"html":"body")[0]:fo?Pt.documentElement:Ja},oq=function(Le){return Ki.call(Le.ownerDocument||Le,Le,Qt.SHOW_ELEMENT|Qt.SHOW_COMMENT|Qt.SHOW_TEXT|Qt.SHOW_PROCESSING_INSTRUCTION|Qt.SHOW_CDATA_SECTION,null)},rq=function(Le){return Le instanceof je&&(typeof Le.nodeName!="string"||typeof Le.textContent!="string"||typeof Le.removeChild!="function"||!(Le.attributes instanceof mo)||typeof Le.removeAttribute!="function"||typeof Le.setAttribute!="function"||typeof Le.namespaceURI!="string"||typeof Le.insertBefore!="function"||typeof Le.hasChildNodes!="function")},sq=function(Le){return typeof $t=="function"&&Le instanceof $t},hp=function(Le,Pt,yn){To[Le]&&u(To[Le],Ho=>{Ho.call(ke,Pt,yn,WS)})},aq=function(Le){let Pt=null;if(hp("beforeSanitizeElements",Le,null),rq(Le))return Dh(Le),!0;let yn=ra(Le.nodeName);if(hp("uponSanitizeElement",Le,{tagName:yn,allowedTags:zo}),Le.hasChildNodes()&&!sq(Le.firstElementChild)&&Z(/<[/\w]/g,Le.innerHTML)&&Z(/<[/\w]/g,Le.textContent)||Le.nodeType===ve.progressingInstruction||GS&&Le.nodeType===ve.comment&&Z(/<[/\w]/g,Le.data))return Dh(Le),!0;if(!zo[yn]||fm[yn]){if(!fm[yn]&&lq(yn)&&(Zo.tagNameCheck instanceof RegExp&&Z(Zo.tagNameCheck,yn)||Zo.tagNameCheck instanceof Function&&Zo.tagNameCheck(yn)))return!1;if(AB&&!IS[yn]){let Ho=$e(Le)||Le.parentNode,Ja=st(Le)||Le.childNodes;if(Ja&&Ho){let Ga=Ja.length;for(let hl=Ga-1;hl>=0;--hl){let Bh=De(Ja[hl],!0);Bh.__removalCount=(Le.__removalCount||0)+1,Ho.insertBefore(Bh,mt(Le))}}}return Dh(Le),!0}return Le instanceof en&&!GCe(Le)||(yn==="noscript"||yn==="noembed"||yn==="noframes")&&Z(/<\/no(script|embed|frames)/i,Le.innerHTML)?(Dh(Le),!0):(vs&&Le.nodeType===ve.text&&(Pt=Le.textContent,u([Ji,ys,Zr],Ho=>{Pt=_(Pt,Ho," ")}),Le.textContent!==Pt&&(p(ke.removed,{element:Le.cloneNode()}),Le.textContent=Pt)),hp("afterSanitizeElements",Le,null),!1)},cq=function(Le,Pt,yn){if(AM&&(Pt==="id"||Pt==="name")&&(yn in qe||yn in RCe))return!1;if(!(xs&&!Ky[Pt]&&Z(ou,Pt))){if(!(Lb&&Z(wo,Pt))){if(!cr[Pt]||Ky[Pt]){if(!(lq(Le)&&(Zo.tagNameCheck instanceof RegExp&&Z(Zo.tagNameCheck,Le)||Zo.tagNameCheck instanceof Function&&Zo.tagNameCheck(Le))&&(Zo.attributeNameCheck instanceof RegExp&&Z(Zo.attributeNameCheck,Pt)||Zo.attributeNameCheck instanceof Function&&Zo.attributeNameCheck(Pt))||Pt==="is"&&Zo.allowCustomizedBuiltInElements&&(Zo.tagNameCheck instanceof RegExp&&Z(Zo.tagNameCheck,yn)||Zo.tagNameCheck instanceof Function&&Zo.tagNameCheck(yn))))return!1}else if(!MB[Pt]){if(!Z(kh,_(yn,ru,""))){if(!((Pt==="src"||Pt==="xlink:href"||Pt==="href")&&Le!=="script"&&C(yn,"data:")===0&&J6[Le])){if(!(Ra&&!Z(Gr,_(yn,ru,"")))){if(yn)return!1}}}}}}return!0},lq=function(Le){return Le!=="annotation-xml"&&x(Le,Ic)},dq=function(Le){hp("beforeSanitizeAttributes",Le,null);let{attributes:Pt}=Le;if(!Pt)return;let yn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:cr},Ho=Pt.length;for(;Ho--;){let Ja=Pt[Ho],{name:Ga,namespaceURI:hl,value:Bh}=Ja,YL=ra(Ga),Xc=Ga==="value"?Bh:V(Bh);if(yn.attrName=YL,yn.attrValue=Xc,yn.keepAttr=!0,yn.forceKeepAttr=void 0,hp("uponSanitizeAttribute",Le,yn),Xc=yn.attrValue,yn.forceKeepAttr||(kM(Ga,Le),!yn.keepAttr))continue;if(!oa&&Z(/\/>/i,Xc)){kM(Ga,Le);continue}if(GS&&Z(/((--!?|])>)|<\/(style|title)/i,Xc)){kM(Ga,Le);continue}vs&&u([Ji,ys,Zr],mq=>{Xc=_(Xc,mq," ")});let uq=ra(Le.nodeName);if(cq(uq,YL,Xc)){if(H6&&(YL==="id"||YL==="name")&&(kM(Ga,Le),Xc=SCe+Xc),et&&typeof sr=="object"&&typeof sr.getAttributeType=="function"&&!hl)switch(sr.getAttributeType(uq,YL)){case"TrustedHTML":{Xc=et.createHTML(Xc);break}case"TrustedScriptURL":{Xc=et.createScriptURL(Xc);break}}try{hl?Le.setAttributeNS(hl,Ga,Xc):Le.setAttribute(Ga,Xc),rq(Le)?Dh(Le):m(ke.removed)}catch{}}}hp("afterSanitizeAttributes",Le,null)},ECe=function Gn(Le){let Pt=null,yn=oq(Le);for(hp("beforeSanitizeShadowDOM",Le,null);Pt=yn.nextNode();)hp("uponSanitizeShadowNode",Pt,null),!aq(Pt)&&(Pt.content instanceof Ce&&Gn(Pt.content),dq(Pt));hp("afterSanitizeShadowDOM",Le,null)};return ke.sanitize=function(Gn){let Le=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Pt=null,yn=null,Ho=null,Ja=null;if(NB=!Gn,NB&&(Gn=""),typeof Gn!="string"&&!sq(Gn))if(typeof Gn.toString=="function"){if(Gn=Gn.toString(),typeof Gn!="string")throw G("dirty is not a string, aborting")}else throw G("toString is not a function");if(!ke.isSupported)return Gn;if(pm||UB(Le),ke.removed=[],typeof Gn=="string"&&(BL=!1),BL){if(Gn.nodeName){let Bh=ra(Gn.nodeName);if(!zo[Bh]||fm[Bh])throw G("root node is forbidden and cannot be sanitized in-place")}}else if(Gn instanceof $t)Pt=iq(""),yn=Pt.ownerDocument.importNode(Gn,!0),yn.nodeType===ve.element&&yn.nodeName==="BODY"||yn.nodeName==="HTML"?Pt=yn:Pt.appendChild(yn);else{if(!up&&!vs&&!fo&&Gn.indexOf("<")===-1)return et&&Uh?et.createHTML(Gn):Gn;if(Pt=iq(Gn),!Pt)return up?null:Uh?Mt:""}Pt&&bm&&Dh(Pt.firstChild);let Ga=oq(BL?Gn:Pt);for(;Ho=Ga.nextNode();)aq(Ho)||(Ho.content instanceof Ce&&ECe(Ho.content),dq(Ho));if(BL)return Gn;if(up){if(Za)for(Ja=ho.call(Pt.ownerDocument);Pt.firstChild;)Ja.appendChild(Pt.firstChild);else Ja=Pt;return(cr.shadowroot||cr.shadowrootmode)&&(Ja=ar.call(Qe,Ja,!0)),Ja}let hl=fo?Pt.outerHTML:Pt.innerHTML;return fo&&zo["!doctype"]&&Pt.ownerDocument&&Pt.ownerDocument.doctype&&Pt.ownerDocument.doctype.name&&Z(Te,Pt.ownerDocument.doctype.name)&&(hl=" -`+hl),vs&&u([Ji,ys,Zr],Bh=>{hl=_(hl,Bh," ")}),et&&Uh?et.createHTML(hl):hl},ke.setConfig=function(){let Gn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};UB(Gn),pm=!0},ke.clearConfig=function(){WS=null,pm=!1},ke.isValidAttribute=function(Gn,Le,Pt){WS||UB({});let yn=ra(Gn),Ho=ra(Le);return cq(yn,Ho,Pt)},ke.addHook=function(Gn,Le){typeof Le=="function"&&(To[Gn]=To[Gn]||[],p(To[Gn],Le))},ke.removeHook=function(Gn){if(To[Gn])return m(To[Gn])},ke.removeHooks=function(Gn){To[Gn]&&(To[Gn]=[])},ke.removeAllHooks=function(){To={}},ke}var Rt=rt();return Rt})});var Ace=fl((jvn,Fce)=>{"use strict";var qvn=T(S());Fce.exports=Jze;var L2=1e20;function Jze(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,d,u,m,p,g,f,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?u=t.stride:u=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,m=p.getContext("2d"),r=p.width,s=p.height,g=m.getImageData(0,0,r,s),c=g.data,u=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,m=e,r=p.width,s=p.height,g=m.getImageData(0,0,r,s),c=g.data,u=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,u=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(d=c,c=Array(r*s),f=0,x=Math.floor(d.length/u);f{var ywn=T(S());function sHe(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,d=9,u=10,m=11,p=12,g=13,f=14,x=15,_=16,C=17,V=0,L=1,Z=2,G=3,I=4;function v(b,R){return 55296<=b.charCodeAt(R)&&b.charCodeAt(R)<=56319&&56320<=b.charCodeAt(R+1)&&b.charCodeAt(R+1)<=57343}function P(b,R){R===void 0&&(R=0);var E=b.charCodeAt(R);if(55296<=E&&E<=56319&&R=1){var X=b.charCodeAt(R-1),A=E;return 55296<=X&&X<=56319?(X-55296)*1024+(A-56320)+65536:A}return E}function w(b,R,E){var X=[b].concat(R).concat([E]),A=X[X.length-2],N=E,O=X.lastIndexOf(f);if(O>1&&X.slice(1,O).every(function(k){return k==i})&&[i,g,C].indexOf(b)==-1)return Z;var U=X.lastIndexOf(o);if(U>0&&X.slice(1,U).every(function(k){return k==o})&&[p,o].indexOf(A)==-1)return X.filter(function(k){return k==o}).length%2==1?G:I;if(A==e&&N==t)return V;if(A==n||A==e||A==t)return N==f&&R.every(function(k){return k==i})?Z:L;if(N==n||N==e||N==t)return L;if(A==s&&(N==s||N==a||N==d||N==u))return V;if((A==d||A==a)&&(N==a||N==c))return V;if((A==u||A==c)&&N==c)return V;if(N==i||N==x)return V;if(N==r)return V;if(A==p)return V;var Y=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[g,C].indexOf(X[Y])!=-1&&X.slice(Y+1,-1).every(function(k){return k==i})&&N==f||A==x&&[_,C].indexOf(N)!=-1?V:R.indexOf(o)!=-1?Z:A==o&&N==o?V:L}this.nextBreak=function(b,R){if(R===void 0&&(R=0),R<0)return 0;if(R>=b.length-1)return b.length;for(var E=F(P(b,R)),X=[],A=R+1;A{var Gri=T(S());(function(e,t){typeof VJ=="object"&&typeof LJ<"u"?LJ.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self).RBush=t()})(VJ,function(){"use strict";function e(_,C,V,L,Z){(function G(I,v,P,w,F){for(;w>P;){if(w-P>600){var b=w-P+1,R=v-P+1,E=Math.log(b),X=.5*Math.exp(2*E/3),A=.5*Math.sqrt(E*X*(b-X)/b)*(R-b/2<0?-1:1),N=Math.max(P,Math.floor(v-R*X/b+A)),O=Math.min(w,Math.floor(v+(b-R)*X/b+A));G(I,v,N,O,F)}var U=I[v],Y=P,k=w;for(t(I,P,v),F(I[w],U)>0&&t(I,P,w);Y0;)k--}F(I[P],U)===0?t(I,P,k):t(I,++k,w),k<=v&&(P=k+1),v<=k&&(w=k-1)}})(_,C,V||0,L||_.length-1,Z||n)}function t(_,C,V){var L=_[C];_[C]=_[V],_[V]=L}function n(_,C){return _C?1:0}var i=function(_){_===void 0&&(_=9),this._maxEntries=Math.max(4,_),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(_,C,V){if(!V)return C.indexOf(_);for(var L=0;L=_.minX&&C.maxY>=_.minY}function f(_){return{children:_,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function x(_,C,V,L,Z){for(var G=[C,V];G.length;)if(!((V=G.pop())-(C=G.pop())<=L)){var I=C+Math.ceil((V-C)/L/2)*L;e(_,I,C,V,Z),G.push(C,I,I,V)}}return i.prototype.all=function(){return this._all(this.data,[])},i.prototype.search=function(_){var C=this.data,V=[];if(!g(_,C))return V;for(var L=this.toBBox,Z=[];C;){for(var G=0;G=0&&Z[C].children.length>this._maxEntries;)this._split(Z,C),C--;this._adjustParentBBoxes(L,Z,C)},i.prototype._split=function(_,C){var V=_[C],L=V.children.length,Z=this._minEntries;this._chooseSplitAxis(V,Z,L);var G=this._chooseSplitIndex(V,Z,L),I=f(V.children.splice(G,V.children.length-G));I.height=V.height,I.leaf=V.leaf,r(V,this.toBBox),r(I,this.toBBox),C?_[C-1].children.push(I):this._splitRoot(V,I)},i.prototype._splitRoot=function(_,C){this.data=f([_,C]),this.data.height=_.height+1,this.data.leaf=!1,r(this.data,this.toBBox)},i.prototype._chooseSplitIndex=function(_,C,V){for(var L,Z,G,I,v,P,w,F=1/0,b=1/0,R=C;R<=V-C;R++){var E=s(_,0,R,this.toBBox),X=s(_,R,V,this.toBBox),A=(Z=E,G=X,I=void 0,v=void 0,P=void 0,w=void 0,I=Math.max(Z.minX,G.minX),v=Math.max(Z.minY,G.minY),P=Math.min(Z.maxX,G.maxX),w=Math.min(Z.maxY,G.maxY),Math.max(0,P-I)*Math.max(0,w-v)),N=u(E)+u(X);A=C;F--){var b=_.children[F];a(I,_.leaf?Z(b):b),v+=m(I)}return v},i.prototype._adjustParentBBoxes=function(_,C,V){for(var L=V;L>=0;L--)a(C[L],_)},i.prototype._condense=function(_){for(var C=_.length-1,V=void 0;C>=0;C--)_[C].children.length===0?C>0?(V=_[C-1].children).splice(V.indexOf(_[C]),1):this.clear():r(_[C],this.toBBox)},i})});var i8=fl((exports,module)=>{var G9i=T(S());/*! - * protobuf.js v7.3.2 (c) 2016, daniel wirtz - * compiled wed, 12 jun 2024 08:24:21 utc + */(function(e,t){"use strict";typeof yN=="object"&&yN.exports?yN.exports=t(Kq(),Qq(),qq()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})($q,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(R,E){var X=arguments.length>=1,F=arguments.length>=2;if(!(this instanceof r))return X?F?new r(R,E):new r(R):new r;if(R===void 0){if(X)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?R=location.href+"":R=""}if(R===null&&X)throw new TypeError("null is not a valid argument for URI");return this.href(R),E!==void 0?this.absoluteTo(E):this}function s(R){return/^[0-9]+$/.test(R)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function d(R){return R.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function u(R){return R===void 0?"Undefined":String(Object.prototype.toString.call(R)).slice(8,-1)}function m(R){return u(R)==="Array"}function p(R,E){var X={},F,N;if(u(E)==="RegExp")X=null;else if(m(E))for(F=0,N=E.length;F]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(R){if(!(!R||!R.nodeName)){var E=R.nodeName.toLowerCase();if(!(E==="input"&&R.type!=="image"))return r.domAttributes[E]}};function _(R){return escape(R)}function C(R){return encodeURIComponent(R).replace(/[!'()*]/g,_).replace(/\*/g,"%2A")}r.encode=C,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=C,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(R,E){var X=r.encode(R+"");return E===void 0&&(E=r.escapeQuerySpace),E?X.replace(/%20/g,"+"):X},r.decodeQuery=function(R,E){R+="",E===void 0&&(E=r.escapeQuerySpace);try{return r.decode(E?R.replace(/\+/g,"%20"):R)}catch{return R}};var V={encode:"encode",decode:"decode"},L,Z=function(R,E){return function(X){try{return r[E](X+"").replace(r.characters[R][E].expression,function(F){return r.characters[R][E].map[F]})}catch{return X}}};for(L in V)r[L+"PathSegment"]=Z("pathname",V[L]),r[L+"UrnPathSegment"]=Z("urnpath",V[L]);var G=function(R,E,X){return function(F){var N;X?N=function(k){return r[E](r[X](k))}:N=r[E];for(var O=(F+"").split(R),U=0,Y=O.length;U-1&&(E.fragment=R.substring(X+1)||null,R=R.substring(0,X)),X=R.indexOf("?"),X>-1&&(E.query=R.substring(X+1)||null,R=R.substring(0,X)),R=R.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),R=R.replace(/^[/\\]{2,}/i,"//"),R.substring(0,2)==="//"?(E.protocol=null,R=R.substring(2),R=r.parseAuthority(R,E)):(X=R.indexOf(":"),X>-1&&(E.protocol=R.substring(0,X)||null,E.protocol&&!E.protocol.match(r.protocol_expression)?E.protocol=void 0:R.substring(X+1,X+3).replace(/\\/g,"/")==="//"?(R=R.substring(X+3),R=r.parseAuthority(R,E)):(R=R.substring(X+1),E.urn=!0))),E.path=R,E},r.parseHost=function(R,E){R||(R=""),R=R.replace(/\\/g,"/");var X=R.indexOf("/"),F,N;if(X===-1&&(X=R.length),R.charAt(0)==="[")F=R.indexOf("]"),E.hostname=R.substring(1,F)||null,E.port=R.substring(F+2,X)||null,E.port==="/"&&(E.port=null);else{var O=R.indexOf(":"),U=R.indexOf("/"),Y=R.indexOf(":",O+1);Y!==-1&&(U===-1||Y-1?N:R.length-1),U;return O>-1&&(N===-1||O-1?z=z.slice(0,q)+z.slice(q).replace(O,""):z=z.replace(O,""),!(z.length<=k[0].length)&&!(X.ignore&&X.ignore.test(z))){te=H+z.length;var _e=E(z,H,te,R);if(_e===void 0){F.lastIndex=te;continue}_e=String(_e),R=R.slice(0,H)+_e+R.slice(te),F.lastIndex=H+_e.length}}return F.lastIndex=0,R},r.ensureValidHostname=function(R,E){var X=!!R,F=!!E,N=!1;if(F&&(N=g(r.hostProtocols,E)),N&&!X)throw new TypeError("Hostname cannot be empty, if protocol is "+E);if(R&&R.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(R).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(R){if(R){var E=Number(R);if(!(s(E)&&E>0&&E<65536))throw new TypeError('Port "'+R+'" is not a valid port')}},r.noConflict=function(R){if(R){var E={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(E.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(E.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(E.SecondLevelDomains=i.SecondLevelDomains.noConflict()),E}else i.URI===this&&(i.URI=o);return this},a.build=function(R){return R===!0?this._deferred_build=!0:(R===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function I(R){return function(E,X){return E===void 0?this._parts[R]||"":(this._parts[R]=E||null,this.build(!X),this)}}function v(R,E){return function(X,F){return X===void 0?this._parts[R]||"":(X!==null&&(X=X+"",X.charAt(0)===E&&(X=X.substring(1))),this._parts[R]=X,this.build(!F),this)}}a.protocol=I("protocol"),a.username=I("username"),a.password=I("password"),a.hostname=I("hostname"),a.port=I("port"),a.query=v("query","?"),a.fragment=v("fragment","#"),a.search=function(R,E){var X=this.query(R,E);return typeof X=="string"&&X.length?"?"+X:X},a.hash=function(R,E){var X=this.fragment(R,E);return typeof X=="string"&&X.length?"#"+X:X},a.pathname=function(R,E){if(R===void 0||R===!0){var X=this._parts.path||(this._parts.hostname?"/":"");return R?(this._parts.urn?r.decodeUrnPath:r.decodePath)(X):X}else return this._parts.urn?this._parts.path=R?r.recodeUrnPath(R):"":this._parts.path=R?r.recodePath(R):"/",this.build(!E),this},a.path=a.pathname,a.href=function(R,E){var X;if(R===void 0)return this.toString();this._string="",this._parts=r._parts();var F=R instanceof r,N=typeof R=="object"&&(R.hostname||R.path||R.pathname);if(R.nodeName){var O=r.getDomAttribute(R);R=R[O]||"",N=!1}if(!F&&N&&R.pathname!==void 0&&(R=R.toString()),typeof R=="string"||R instanceof String)this._parts=r.parse(String(R),this._parts);else if(F||N){var U=F?R._parts:R;for(X in U)X!=="query"&&c.call(this._parts,X)&&(this._parts[X]=U[X]);U.query&&this.query(U.query,!1)}else throw new TypeError("invalid input");return this.build(!E),this},a.is=function(R){var E=!1,X=!1,F=!1,N=!1,O=!1,U=!1,Y=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,X=r.ip4_expression.test(this._parts.hostname),F=r.ip6_expression.test(this._parts.hostname),E=X||F,N=!E,O=N&&n&&n.has(this._parts.hostname),U=N&&r.idn_expression.test(this._parts.hostname),Y=N&&r.punycode_expression.test(this._parts.hostname)),R.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return N;case"sld":return O;case"ip":return E;case"ip4":case"ipv4":case"inet4":return X;case"ip6":case"ipv6":case"inet6":return F;case"idn":return U;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return Y}return null};var P=a.protocol,w=a.port,A=a.hostname;a.protocol=function(R,E){if(R&&(R=R.replace(/:(\/\/)?$/,""),!R.match(r.protocol_expression)))throw new TypeError('Protocol "'+R+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return P.call(this,R,E)},a.scheme=a.protocol,a.port=function(R,E){return this._parts.urn?R===void 0?"":this:(R!==void 0&&(R===0&&(R=null),R&&(R+="",R.charAt(0)===":"&&(R=R.substring(1)),r.ensureValidPort(R))),w.call(this,R,E))},a.hostname=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R!==void 0){var X={preventInvalidHostname:this._parts.preventInvalidHostname},F=r.parseHost(R,X);if(F!=="/")throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-]');R=X.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(R,this._parts.protocol)}return A.call(this,R,E)},a.origin=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0){var X=this.protocol(),F=this.authority();return F?(X?X+"://":"")+this.authority():""}else{var N=r(R);return this.protocol(N.protocol()).authority(N.authority()).build(!E),this}},a.host=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var X=r.parseHost(R,this._parts);if(X!=="/")throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-]');return this.build(!E),this},a.authority=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var X=r.parseAuthority(R,this._parts);if(X!=="/")throw new TypeError('Hostname "'+R+'" contains characters other than [A-Z0-9.-]');return this.build(!E),this},a.userinfo=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0){var X=r.buildUserinfo(this._parts);return X&&X.substring(0,X.length-1)}else return R[R.length-1]!=="@"&&(R+="@"),r.parseUserinfo(R,this._parts),this.build(!E),this},a.resource=function(R,E){var X;return R===void 0?this.path()+this.search()+this.hash():(X=r.parse(R),this._parts.path=X.path,this._parts.query=X.query,this._parts.fragment=X.fragment,this.build(!E),this)},a.subdomain=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0){if(!this._parts.hostname||this.is("IP"))return"";var X=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,X)||""}else{var F=this._parts.hostname.length-this.domain().length,N=this._parts.hostname.substring(0,F),O=new RegExp("^"+d(N));if(R&&R.charAt(R.length-1)!=="."&&(R+="."),R.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return R&&r.ensureValidHostname(R,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(O,R),this.build(!E),this}},a.domain=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(typeof R=="boolean"&&(E=R,R=void 0),R===void 0){if(!this._parts.hostname||this.is("IP"))return"";var X=this._parts.hostname.match(/\./g);if(X&&X.length<2)return this._parts.hostname;var F=this._parts.hostname.length-this.tld(E).length-1;return F=this._parts.hostname.lastIndexOf(".",F-1)+1,this._parts.hostname.substring(F)||""}else{if(!R)throw new TypeError("cannot set domain empty");if(R.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(R,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=R;else{var N=new RegExp(d(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(N,R)}return this.build(!E),this}},a.tld=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(typeof R=="boolean"&&(E=R,R=void 0),R===void 0){if(!this._parts.hostname||this.is("IP"))return"";var X=this._parts.hostname.lastIndexOf("."),F=this._parts.hostname.substring(X+1);return E!==!0&&n&&n.list[F.toLowerCase()]&&n.get(this._parts.hostname)||F}else{var N;if(R)if(R.match(/[^a-zA-Z0-9-]/))if(n&&n.is(R))N=new RegExp(d(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(N,R);else throw new TypeError('TLD "'+R+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");N=new RegExp(d(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(N,R)}else throw new TypeError("cannot set TLD empty");return this.build(!E),this}},a.directory=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0||R===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var X=this._parts.path.length-this.filename().length-1,F=this._parts.path.substring(0,X)||(this._parts.hostname?"/":"");return R?r.decodePath(F):F}else{var N=this._parts.path.length-this.filename().length,O=this._parts.path.substring(0,N),U=new RegExp("^"+d(O));return this.is("relative")||(R||(R="/"),R.charAt(0)!=="/"&&(R="/"+R)),R&&R.charAt(R.length-1)!=="/"&&(R+="/"),R=r.recodePath(R),this._parts.path=this._parts.path.replace(U,R),this.build(!E),this}},a.filename=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(typeof R!="string"){if(!this._parts.path||this._parts.path==="/")return"";var X=this._parts.path.lastIndexOf("/"),F=this._parts.path.substring(X+1);return R?r.decodePathSegment(F):F}else{var N=!1;R.charAt(0)==="/"&&(R=R.substring(1)),R.match(/\.?\//)&&(N=!0);var O=new RegExp(d(this.filename())+"$");return R=r.recodePath(R),this._parts.path=this._parts.path.replace(O,R),N?this.normalizePath(E):this.build(!E),this}},a.suffix=function(R,E){if(this._parts.urn)return R===void 0?"":this;if(R===void 0||R===!0){if(!this._parts.path||this._parts.path==="/")return"";var X=this.filename(),F=X.lastIndexOf("."),N,O;return F===-1?"":(N=X.substring(F+1),O=/^[a-z0-9%]+$/i.test(N)?N:"",R?r.decodePathSegment(O):O)}else{R.charAt(0)==="."&&(R=R.substring(1));var U=this.suffix(),Y;if(U)R?Y=new RegExp(d(U)+"$"):Y=new RegExp(d("."+U)+"$");else{if(!R)return this;this._parts.path+="."+r.recodePath(R)}return Y&&(R=r.recodePath(R),this._parts.path=this._parts.path.replace(Y,R)),this.build(!E),this}},a.segment=function(R,E,X){var F=this._parts.urn?":":"/",N=this.path(),O=N.substring(0,1)==="/",U=N.split(F);if(R!==void 0&&typeof R!="number"&&(X=E,E=R,R=void 0),R!==void 0&&typeof R!="number")throw new Error('Bad segment "'+R+'", must be 0-based integer');if(O&&U.shift(),R<0&&(R=Math.max(U.length+R,0)),E===void 0)return R===void 0?U:U[R];if(R===null||U[R]===void 0)if(m(E)){U=[];for(var Y=0,k=E.length;Y{var gnn=T(S());/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */(function(e,t){typeof uH=="object"&&typeof mH<"u"?mH.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.DOMPurify=t())})(uH,function(){"use strict";let{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:o}=Object,{freeze:r,seal:s,create:a}=Object,{apply:c,construct:d}=typeof Reflect<"u"&&Reflect;r||(r=function(Ne){return Ne}),s||(s=function(Ne){return Ne}),c||(c=function(Ne,De,$e){return Ne.apply(De,$e)}),d||(d=function(Ne,De){return new Ne(...De)});let u=G(Array.prototype.forEach),m=G(Array.prototype.pop),p=G(Array.prototype.push),g=G(String.prototype.toLowerCase),f=G(String.prototype.toString),x=G(String.prototype.match),_=G(String.prototype.replace),C=G(String.prototype.indexOf),V=G(String.prototype.trim),L=G(RegExp.prototype.test),Z=I(TypeError);function G(Ve){return function(Ne){for(var De=arguments.length,$e=new Array(De>1?De-1:0),Ke=1;Ke2&&arguments[2]!==void 0?arguments[2]:g;t&&t(Ve,null);let $e=Ne.length;for(;$e--;){let Ke=Ne[$e];if(typeof Ke=="string"){let gt=De(Ke);gt!==Ke&&(n(Ne)||(Ne[$e]=gt),Ke=gt)}Ve[Ke]=!0}return Ve}function P(Ve){let Ne=a(null);for(let[De,$e]of e(Ve))o(Ve,De)!==void 0&&(Ne[De]=$e);return Ne}function w(Ve,Ne){for(;Ve!==null;){let $e=o(Ve,Ne);if($e){if($e.get)return G($e.get);if(typeof $e.value=="function")return G($e.value)}Ve=i(Ve)}function De($e){return console.warn("fallback value for",$e),null}return De}let A=r(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),b=r(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),R=r(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),E=r(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),X=r(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),F=r(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),N=r(["#text"]),O=r(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),U=r(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Y=r(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),k=r(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),H=s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),J=s(/<%[\w\W]*|[\w\W]*%>/gm),te=s(/\${[\w\W]*}/gm),z=s(/^data-[\-\w.\u00B7-\uFFFF]/),q=s(/^aria-[\-\w]+$/),ee=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),pe=s(/^(?:\w+script|data):/i),_e=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ae=s(/^html$/i);var ye=Object.freeze({__proto__:null,MUSTACHE_EXPR:H,ERB_EXPR:J,TMPLIT_EXPR:te,DATA_ATTR:z,ARIA_ATTR:q,IS_ALLOWED_URI:ee,IS_SCRIPT_OR_DATA:pe,ATTR_WHITESPACE:_e,DOCTYPE_NAME:ae});let Te=function(){return typeof window>"u"?null:window},Xe=function(Ne,De){if(typeof Ne!="object"||typeof Ne.createPolicy!="function")return null;let $e=null,Ke="data-tt-policy-suffix";De&&De.hasAttribute(Ke)&&($e=De.getAttribute(Ke));let gt="dompurify"+($e?"#"+$e:"");try{return Ne.createPolicy(gt,{createHTML(pt){return pt},createScriptURL(pt){return pt}})}catch{return console.warn("TrustedTypes policy "+gt+" could not be created."),null}};function Ie(){let Ve=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Te(),Ne=Gn=>Ie(Gn);if(Ne.version="3.0.6",Ne.removed=[],!Ve||!Ve.document||Ve.document.nodeType!==9)return Ne.isSupported=!1,Ne;let{document:De}=Ve,$e=De,Ke=$e.currentScript,{DocumentFragment:gt,HTMLTemplateElement:pt,Node:St,Element:on,NodeFilter:Ce,NamedNodeMap:Re=Ve.NamedNodeMap||Ve.MozNamedAttrMap,HTMLFormElement:cn,DOMParser:rn,trustedTypes:jt}=Ve,ji=on.prototype,je=w(ji,"cloneNode"),ds=w(ji,"nextSibling"),Kr=w(ji,"childNodes"),Ga=w(ji,"parentNode");if(typeof pt=="function"){let Gn=De.createElement("template");Gn.content&&Gn.content.ownerDocument&&(De=Gn.content.ownerDocument)}let we,lt="",{implementation:nt,createNodeIterator:et,createDocumentFragment:dt,getElementsByTagName:Ot}=De,{importNode:Vn}=$e,ei={};Ne.isSupported=typeof e=="function"&&typeof Ga=="function"&&nt&&nt.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:to,ERB_EXPR:Ir,TMPLIT_EXPR:Ao,DATA_ATTR:Vs,ARIA_ATTR:co,IS_SCRIPT_OR_DATA:aa,ATTR_WHITESPACE:Jr}=ye,{IS_ALLOWED_URI:od}=ye,jn=null,gr=v({},[...A,...b,...R,...X,...N]),Eo=null,ja=v({},[...O,...U,...Y,...k]),So=Object.seal(a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),rd=null,Oh=null,mp=!0,Yh=!0,hp=!1,X0=!0,Hh=!1,sd=!1,Ls=!1,ca=!1,Qr=!1,Ea=!1,ex=!1,Ko=!0,zh=!1,fp="user-content-",FS=!0,la=!1,uu={},W0=null,rq=v({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),sq=null,aq=v({},["audio","video","img","source","image","track"]),kO=null,cq=v({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Y9="http://www.w3.org/1998/Math/MathML",H9="http://www.w3.org/2000/svg",pp="http://www.w3.org/1999/xhtml",AS=pp,UO=!1,DO=null,ACe=v({},[Y9,H9,pp],f),tx=null,MCe=["application/xhtml+xml","text/html"],NCe="text/html",da=null,MS=null,kCe=De.createElement("form"),lq=function(Ee){return Ee instanceof RegExp||Ee instanceof Function},BO=function(){let Ee=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(MS&&MS===Ee)){if((!Ee||typeof Ee!="object")&&(Ee={}),Ee=P(Ee),tx=MCe.indexOf(Ee.PARSER_MEDIA_TYPE)===-1?tx=NCe:tx=Ee.PARSER_MEDIA_TYPE,da=tx==="application/xhtml+xml"?f:g,jn="ALLOWED_TAGS"in Ee?v({},Ee.ALLOWED_TAGS,da):gr,Eo="ALLOWED_ATTR"in Ee?v({},Ee.ALLOWED_ATTR,da):ja,DO="ALLOWED_NAMESPACES"in Ee?v({},Ee.ALLOWED_NAMESPACES,f):ACe,kO="ADD_URI_SAFE_ATTR"in Ee?v(P(cq),Ee.ADD_URI_SAFE_ATTR,da):cq,sq="ADD_DATA_URI_TAGS"in Ee?v(P(aq),Ee.ADD_DATA_URI_TAGS,da):aq,W0="FORBID_CONTENTS"in Ee?v({},Ee.FORBID_CONTENTS,da):rq,rd="FORBID_TAGS"in Ee?v({},Ee.FORBID_TAGS,da):{},Oh="FORBID_ATTR"in Ee?v({},Ee.FORBID_ATTR,da):{},uu="USE_PROFILES"in Ee?Ee.USE_PROFILES:!1,mp=Ee.ALLOW_ARIA_ATTR!==!1,Yh=Ee.ALLOW_DATA_ATTR!==!1,hp=Ee.ALLOW_UNKNOWN_PROTOCOLS||!1,X0=Ee.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Hh=Ee.SAFE_FOR_TEMPLATES||!1,sd=Ee.WHOLE_DOCUMENT||!1,Qr=Ee.RETURN_DOM||!1,Ea=Ee.RETURN_DOM_FRAGMENT||!1,ex=Ee.RETURN_TRUSTED_TYPE||!1,ca=Ee.FORCE_BODY||!1,Ko=Ee.SANITIZE_DOM!==!1,zh=Ee.SANITIZE_NAMED_PROPS||!1,FS=Ee.KEEP_CONTENT!==!1,la=Ee.IN_PLACE||!1,od=Ee.ALLOWED_URI_REGEXP||ee,AS=Ee.NAMESPACE||pp,So=Ee.CUSTOM_ELEMENT_HANDLING||{},Ee.CUSTOM_ELEMENT_HANDLING&&lq(Ee.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(So.tagNameCheck=Ee.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ee.CUSTOM_ELEMENT_HANDLING&&lq(Ee.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(So.attributeNameCheck=Ee.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ee.CUSTOM_ELEMENT_HANDLING&&typeof Ee.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(So.allowCustomizedBuiltInElements=Ee.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Hh&&(Yh=!1),Ea&&(Qr=!0),uu&&(jn=v({},[...N]),Eo=[],uu.html===!0&&(v(jn,A),v(Eo,O)),uu.svg===!0&&(v(jn,b),v(Eo,U),v(Eo,k)),uu.svgFilters===!0&&(v(jn,R),v(Eo,U),v(Eo,k)),uu.mathMl===!0&&(v(jn,X),v(Eo,Y),v(Eo,k))),Ee.ADD_TAGS&&(jn===gr&&(jn=P(jn)),v(jn,Ee.ADD_TAGS,da)),Ee.ADD_ATTR&&(Eo===ja&&(Eo=P(Eo)),v(Eo,Ee.ADD_ATTR,da)),Ee.ADD_URI_SAFE_ATTR&&v(kO,Ee.ADD_URI_SAFE_ATTR,da),Ee.FORBID_CONTENTS&&(W0===rq&&(W0=P(W0)),v(W0,Ee.FORBID_CONTENTS,da)),FS&&(jn["#text"]=!0),sd&&v(jn,["html","head","body"]),jn.table&&(v(jn,["tbody"]),delete rd.tbody),Ee.TRUSTED_TYPES_POLICY){if(typeof Ee.TRUSTED_TYPES_POLICY.createHTML!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ee.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Z('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');we=Ee.TRUSTED_TYPES_POLICY,lt=we.createHTML("")}else we===void 0&&(we=Xe(jt,Ke)),we!==null&&typeof lt=="string"&&(lt=we.createHTML(""));r&&r(Ee),MS=Ee}},dq=v({},["mi","mo","mn","ms","mtext"]),uq=v({},["foreignobject","desc","title","annotation-xml"]),UCe=v({},["title","style","font","a","script"]),z9=v({},b);v(z9,R),v(z9,E);let OO=v({},X);v(OO,F);let DCe=function(Ee){let wt=Ga(Ee);(!wt||!wt.tagName)&&(wt={namespaceURI:AS,tagName:"template"});let yn=g(Ee.tagName),Jo=g(wt.tagName);return DO[Ee.namespaceURI]?Ee.namespaceURI===H9?wt.namespaceURI===pp?yn==="svg":wt.namespaceURI===Y9?yn==="svg"&&(Jo==="annotation-xml"||dq[Jo]):!!z9[yn]:Ee.namespaceURI===Y9?wt.namespaceURI===pp?yn==="math":wt.namespaceURI===H9?yn==="math"&&uq[Jo]:!!OO[yn]:Ee.namespaceURI===pp?wt.namespaceURI===H9&&!uq[Jo]||wt.namespaceURI===Y9&&!dq[Jo]?!1:!OO[yn]&&(UCe[yn]||!z9[yn]):!!(tx==="application/xhtml+xml"&&DO[Ee.namespaceURI]):!1},nx=function(Ee){p(Ne.removed,{element:Ee});try{Ee.parentNode.removeChild(Ee)}catch{Ee.remove()}},YO=function(Ee,wt){try{p(Ne.removed,{attribute:wt.getAttributeNode(Ee),from:wt})}catch{p(Ne.removed,{attribute:null,from:wt})}if(wt.removeAttribute(Ee),Ee==="is"&&!Eo[Ee])if(Qr||Ea)try{nx(wt)}catch{}else try{wt.setAttribute(Ee,"")}catch{}},mq=function(Ee){let wt=null,yn=null;if(ca)Ee=""+Ee;else{let $a=x(Ee,/^[\r\n\t ]+/);yn=$a&&$a[0]}tx==="application/xhtml+xml"&&AS===pp&&(Ee=''+Ee+"");let Jo=we?we.createHTML(Ee):Ee;if(AS===pp)try{wt=new rn().parseFromString(Jo,tx)}catch{}if(!wt||!wt.documentElement){wt=nt.createDocument(AS,"template",null);try{wt.documentElement.innerHTML=UO?lt:Jo}catch{}}let qa=wt.body||wt.documentElement;return Ee&&yn&&qa.insertBefore(De.createTextNode(yn),qa.childNodes[0]||null),AS===pp?Ot.call(wt,sd?"html":"body")[0]:sd?wt.documentElement:qa},hq=function(Ee){return et.call(Ee.ownerDocument||Ee,Ee,Ce.SHOW_ELEMENT|Ce.SHOW_COMMENT|Ce.SHOW_TEXT,null)},BCe=function(Ee){return Ee instanceof cn&&(typeof Ee.nodeName!="string"||typeof Ee.textContent!="string"||typeof Ee.removeChild!="function"||!(Ee.attributes instanceof Re)||typeof Ee.removeAttribute!="function"||typeof Ee.setAttribute!="function"||typeof Ee.namespaceURI!="string"||typeof Ee.insertBefore!="function"||typeof Ee.hasChildNodes!="function")},fq=function(Ee){return typeof St=="function"&&Ee instanceof St},bp=function(Ee,wt,yn){ei[Ee]&&u(ei[Ee],Jo=>{Jo.call(Ne,wt,yn,MS)})},pq=function(Ee){let wt=null;if(bp("beforeSanitizeElements",Ee,null),BCe(Ee))return nx(Ee),!0;let yn=da(Ee.nodeName);if(bp("uponSanitizeElement",Ee,{tagName:yn,allowedTags:jn}),Ee.hasChildNodes()&&!fq(Ee.firstElementChild)&&L(/<[/\w]/g,Ee.innerHTML)&&L(/<[/\w]/g,Ee.textContent))return nx(Ee),!0;if(!jn[yn]||rd[yn]){if(!rd[yn]&&gq(yn)&&(So.tagNameCheck instanceof RegExp&&L(So.tagNameCheck,yn)||So.tagNameCheck instanceof Function&&So.tagNameCheck(yn)))return!1;if(FS&&!W0[yn]){let Jo=Ga(Ee)||Ee.parentNode,qa=Kr(Ee)||Ee.childNodes;if(qa&&Jo){let $a=qa.length;for(let pl=$a-1;pl>=0;--pl)Jo.insertBefore(je(qa[pl],!0),ds(Ee))}}return nx(Ee),!0}return Ee instanceof on&&!DCe(Ee)||(yn==="noscript"||yn==="noembed"||yn==="noframes")&&L(/<\/no(script|embed|frames)/i,Ee.innerHTML)?(nx(Ee),!0):(Hh&&Ee.nodeType===3&&(wt=Ee.textContent,u([to,Ir,Ao],Jo=>{wt=_(wt,Jo," ")}),Ee.textContent!==wt&&(p(Ne.removed,{element:Ee.cloneNode()}),Ee.textContent=wt)),bp("afterSanitizeElements",Ee,null),!1)},bq=function(Ee,wt,yn){if(Ko&&(wt==="id"||wt==="name")&&(yn in De||yn in kCe))return!1;if(!(Yh&&!Oh[wt]&&L(Vs,wt))){if(!(mp&&L(co,wt))){if(!Eo[wt]||Oh[wt]){if(!(gq(Ee)&&(So.tagNameCheck instanceof RegExp&&L(So.tagNameCheck,Ee)||So.tagNameCheck instanceof Function&&So.tagNameCheck(Ee))&&(So.attributeNameCheck instanceof RegExp&&L(So.attributeNameCheck,wt)||So.attributeNameCheck instanceof Function&&So.attributeNameCheck(wt))||wt==="is"&&So.allowCustomizedBuiltInElements&&(So.tagNameCheck instanceof RegExp&&L(So.tagNameCheck,yn)||So.tagNameCheck instanceof Function&&So.tagNameCheck(yn))))return!1}else if(!kO[wt]){if(!L(od,_(yn,Jr,""))){if(!((wt==="src"||wt==="xlink:href"||wt==="href")&&Ee!=="script"&&C(yn,"data:")===0&&sq[Ee])){if(!(hp&&!L(aa,_(yn,Jr,"")))){if(yn)return!1}}}}}}return!0},gq=function(Ee){return Ee.indexOf("-")>0},yq=function(Ee){bp("beforeSanitizeAttributes",Ee,null);let{attributes:wt}=Ee;if(!wt)return;let yn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Eo},Jo=wt.length;for(;Jo--;){let qa=wt[Jo],{name:$a,namespaceURI:pl,value:ix}=qa,JL=da($a),bl=$a==="value"?ix:V(ix);if(yn.attrName=JL,yn.attrValue=bl,yn.keepAttr=!0,yn.forceKeepAttr=void 0,bp("uponSanitizeAttribute",Ee,yn),bl=yn.attrValue,yn.forceKeepAttr||(YO($a,Ee),!yn.keepAttr))continue;if(!X0&&L(/\/>/i,bl)){YO($a,Ee);continue}Hh&&u([to,Ir,Ao],_q=>{bl=_(bl,_q," ")});let xq=da(Ee.nodeName);if(bq(xq,JL,bl)){if(zh&&(JL==="id"||JL==="name")&&(YO($a,Ee),bl=fp+bl),we&&typeof jt=="object"&&typeof jt.getAttributeType=="function"&&!pl)switch(jt.getAttributeType(xq,JL)){case"TrustedHTML":{bl=we.createHTML(bl);break}case"TrustedScriptURL":{bl=we.createScriptURL(bl);break}}try{pl?Ee.setAttributeNS(pl,$a,bl):Ee.setAttribute($a,bl),m(Ne.removed)}catch{}}}bp("afterSanitizeAttributes",Ee,null)},OCe=function Gn(Ee){let wt=null,yn=hq(Ee);for(bp("beforeSanitizeShadowDOM",Ee,null);wt=yn.nextNode();)bp("uponSanitizeShadowNode",wt,null),!pq(wt)&&(wt.content instanceof gt&&Gn(wt.content),yq(wt));bp("afterSanitizeShadowDOM",Ee,null)};return Ne.sanitize=function(Gn){let Ee=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},wt=null,yn=null,Jo=null,qa=null;if(UO=!Gn,UO&&(Gn=""),typeof Gn!="string"&&!fq(Gn))if(typeof Gn.toString=="function"){if(Gn=Gn.toString(),typeof Gn!="string")throw Z("dirty is not a string, aborting")}else throw Z("toString is not a function");if(!Ne.isSupported)return Gn;if(Ls||BO(Ee),Ne.removed=[],typeof Gn=="string"&&(la=!1),la){if(Gn.nodeName){let ix=da(Gn.nodeName);if(!jn[ix]||rd[ix])throw Z("root node is forbidden and cannot be sanitized in-place")}}else if(Gn instanceof St)wt=mq(""),yn=wt.ownerDocument.importNode(Gn,!0),yn.nodeType===1&&yn.nodeName==="BODY"||yn.nodeName==="HTML"?wt=yn:wt.appendChild(yn);else{if(!Qr&&!Hh&&!sd&&Gn.indexOf("<")===-1)return we&&ex?we.createHTML(Gn):Gn;if(wt=mq(Gn),!wt)return Qr?null:ex?lt:""}wt&&ca&&nx(wt.firstChild);let $a=hq(la?Gn:wt);for(;Jo=$a.nextNode();)pq(Jo)||(Jo.content instanceof gt&&OCe(Jo.content),yq(Jo));if(la)return Gn;if(Qr){if(Ea)for(qa=dt.call(wt.ownerDocument);wt.firstChild;)qa.appendChild(wt.firstChild);else qa=wt;return(Eo.shadowroot||Eo.shadowrootmode)&&(qa=Vn.call($e,qa,!0)),qa}let pl=sd?wt.outerHTML:wt.innerHTML;return sd&&jn["!doctype"]&&wt.ownerDocument&&wt.ownerDocument.doctype&&wt.ownerDocument.doctype.name&&L(ae,wt.ownerDocument.doctype.name)&&(pl=" +`+pl),Hh&&u([to,Ir,Ao],ix=>{pl=_(pl,ix," ")}),we&&ex?we.createHTML(pl):pl},Ne.setConfig=function(){let Gn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};BO(Gn),Ls=!0},Ne.clearConfig=function(){MS=null,Ls=!1},Ne.isValidAttribute=function(Gn,Ee,wt){MS||BO({});let yn=da(Gn),Jo=da(Ee);return bq(yn,Jo,wt)},Ne.addHook=function(Gn,Ee){typeof Ee=="function"&&(ei[Gn]=ei[Gn]||[],p(ei[Gn],Ee))},Ne.removeHook=function(Gn){if(ei[Gn])return m(ei[Gn])},Ne.removeHooks=function(Gn){ei[Gn]&&(ei[Gn]=[])},Ne.removeAllHooks=function(){ei={}},Ne}var Ae=Ie();return Ae})});var Qce=gl((DFn,Jce)=>{"use strict";var BFn=T(S());Jce.exports=Sze;var w2=1e20;function Sze(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,d,u,m,p,g,f,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?u=t.stride:u=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,m=p.getContext("2d"),r=p.width,s=p.height,g=m.getImageData(0,0,r,s),c=g.data,u=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,m=e,r=p.width,s=p.height,g=m.getImageData(0,0,r,s),c=g.data,u=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,u=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(d=c,c=Array(r*s),f=0,x=Math.floor(d.length/u);f{var lAn=T(S());function Pze(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,d=9,u=10,m=11,p=12,g=13,f=14,x=15,_=16,C=17,V=0,L=1,Z=2,G=3,I=4;function v(b,R){return 55296<=b.charCodeAt(R)&&b.charCodeAt(R)<=56319&&56320<=b.charCodeAt(R+1)&&b.charCodeAt(R+1)<=57343}function P(b,R){R===void 0&&(R=0);var E=b.charCodeAt(R);if(55296<=E&&E<=56319&&R=1){var X=b.charCodeAt(R-1),F=E;return 55296<=X&&X<=56319?(X-55296)*1024+(F-56320)+65536:F}return E}function w(b,R,E){var X=[b].concat(R).concat([E]),F=X[X.length-2],N=E,O=X.lastIndexOf(f);if(O>1&&X.slice(1,O).every(function(k){return k==i})&&[i,g,C].indexOf(b)==-1)return Z;var U=X.lastIndexOf(o);if(U>0&&X.slice(1,U).every(function(k){return k==o})&&[p,o].indexOf(F)==-1)return X.filter(function(k){return k==o}).length%2==1?G:I;if(F==e&&N==t)return V;if(F==n||F==e||F==t)return N==f&&R.every(function(k){return k==i})?Z:L;if(N==n||N==e||N==t)return L;if(F==s&&(N==s||N==a||N==d||N==u))return V;if((F==d||F==a)&&(N==a||N==c))return V;if((F==u||F==c)&&N==c)return V;if(N==i||N==x)return V;if(N==r)return V;if(F==p)return V;var Y=X.indexOf(i)!=-1?X.lastIndexOf(i)-1:X.length-2;return[g,C].indexOf(X[Y])!=-1&&X.slice(Y+1,-1).every(function(k){return k==i})&&N==f||F==x&&[_,C].indexOf(N)!=-1?V:R.indexOf(o)!=-1?Z:F==o&&N==o?V:L}this.nextBreak=function(b,R){if(R===void 0&&(R=0),R<0)return 0;if(R>=b.length-1)return b.length;for(var E=A(P(b,R)),X=[],F=R+1;F{var Tai=T(S());(function(e,t){typeof EJ=="object"&&typeof IJ<"u"?IJ.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self).RBush=t()})(EJ,function(){"use strict";function e(_,C,V,L,Z){(function G(I,v,P,w,A){for(;w>P;){if(w-P>600){var b=w-P+1,R=v-P+1,E=Math.log(b),X=.5*Math.exp(2*E/3),F=.5*Math.sqrt(E*X*(b-X)/b)*(R-b/2<0?-1:1),N=Math.max(P,Math.floor(v-R*X/b+F)),O=Math.min(w,Math.floor(v+(b-R)*X/b+F));G(I,v,N,O,A)}var U=I[v],Y=P,k=w;for(t(I,P,v),A(I[w],U)>0&&t(I,P,w);Y0;)k--}A(I[P],U)===0?t(I,P,k):t(I,++k,w),k<=v&&(P=k+1),v<=k&&(w=k-1)}})(_,C,V||0,L||_.length-1,Z||n)}function t(_,C,V){var L=_[C];_[C]=_[V],_[V]=L}function n(_,C){return _C?1:0}var i=function(_){_===void 0&&(_=9),this._maxEntries=Math.max(4,_),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(_,C,V){if(!V)return C.indexOf(_);for(var L=0;L=_.minX&&C.maxY>=_.minY}function f(_){return{children:_,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function x(_,C,V,L,Z){for(var G=[C,V];G.length;)if(!((V=G.pop())-(C=G.pop())<=L)){var I=C+Math.ceil((V-C)/L/2)*L;e(_,I,C,V,Z),G.push(C,I,I,V)}}return i.prototype.all=function(){return this._all(this.data,[])},i.prototype.search=function(_){var C=this.data,V=[];if(!g(_,C))return V;for(var L=this.toBBox,Z=[];C;){for(var G=0;G=0&&Z[C].children.length>this._maxEntries;)this._split(Z,C),C--;this._adjustParentBBoxes(L,Z,C)},i.prototype._split=function(_,C){var V=_[C],L=V.children.length,Z=this._minEntries;this._chooseSplitAxis(V,Z,L);var G=this._chooseSplitIndex(V,Z,L),I=f(V.children.splice(G,V.children.length-G));I.height=V.height,I.leaf=V.leaf,r(V,this.toBBox),r(I,this.toBBox),C?_[C-1].children.push(I):this._splitRoot(V,I)},i.prototype._splitRoot=function(_,C){this.data=f([_,C]),this.data.height=_.height+1,this.data.leaf=!1,r(this.data,this.toBBox)},i.prototype._chooseSplitIndex=function(_,C,V){for(var L,Z,G,I,v,P,w,A=1/0,b=1/0,R=C;R<=V-C;R++){var E=s(_,0,R,this.toBBox),X=s(_,R,V,this.toBBox),F=(Z=E,G=X,I=void 0,v=void 0,P=void 0,w=void 0,I=Math.max(Z.minX,G.minX),v=Math.max(Z.minY,G.minY),P=Math.min(Z.maxX,G.maxX),w=Math.min(Z.maxY,G.maxY),Math.max(0,P-I)*Math.max(0,w-v)),N=u(E)+u(X);F=C;A--){var b=_.children[A];a(I,_.leaf?Z(b):b),v+=m(I)}return v},i.prototype._adjustParentBBoxes=function(_,C,V){for(var L=V;L>=0;L--)a(C[L],_)},i.prototype._condense=function(_){for(var C=_.length-1,V=void 0;C>=0;C--)_[C].children.length===0?C>0?(V=_[C-1].children).splice(V.indexOf(_[C]),1):this.clear():r(_[C],this.toBBox)},i})});var tj=gl((exports,module)=>{var TVi=T(S());/*! + * protobuf.js v7.2.5 (c) 2016, daniel wirtz + * compiled tue, 22 aug 2023 00:04:28 utc * licensed under the bsd-3-clause license * see: https://github.com/dcodeio/protobuf.js for details - */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,d=!0;c1&&d.charAt(u)==="=";)++m;return Math.ceil(d.length*3)/4-m};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(d,u,m){for(var p=null,g=[],f=0,x=0,_;u>2],_=(C&3)<<4,x=1;break;case 1:g[f++]=o[_|C>>4],_=(C&15)<<2,x=2;break;case 2:g[f++]=o[_|C>>6],g[f++]=o[C&63],x=0;break}f>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),f=0)}return x&&(g[f++]=o[_],g[f++]=61,x===1&&(g[f++]=61)),p?(f&&p.push(String.fromCharCode.apply(String,g.slice(0,f))),p.join("")):String.fromCharCode.apply(String,g.slice(0,f))};var a="invalid encoding";i.decode=function(d,u,m){for(var p=m,g=0,f,x=0;x1)break;if((_=r[_])===undefined)throw Error(a);switch(g){case 0:f=_,g=1;break;case 1:u[m++]=f<<2|(_&48)>>4,f=_,g=2;break;case 2:u[m++]=(f&15)<<4|(_&60)>>2,f=_,g=3;break;case 3:u[m++]=(f&3)<<6|_,g=0;break}}if(g===1)throw Error(a);return m-p},i.test=function(d){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(d)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c0?0:2147483648,g,f);else if(isNaN(p))m(2143289344,g,f);else if(p>34028234663852886e22)m((x<<31|2139095040)>>>0,g,f);else if(p<11754943508222875e-54)m((x<<31|Math.round(p/1401298464324817e-60))>>>0,g,f);else{var _=Math.floor(Math.log(p)/Math.LN2),C=Math.round(p*Math.pow(2,-_)*8388608)&8388607;m((x<<31|_+127<<23|C)>>>0,g,f)}}c.writeFloatLE=d.bind(null,o),c.writeFloatBE=d.bind(null,r);function u(m,p,g){var f=m(p,g),x=(f>>31)*2+1,_=f>>>23&255,C=f&8388607;return _===255?C?NaN:x*(1/0):_===0?x*1401298464324817e-60*C:x*Math.pow(2,_-150)*(C+8388608)}c.readFloatLE=u.bind(null,s),c.readFloatBE=u.bind(null,a)}(),typeof Float64Array<"u"?function(){var d=new Float64Array([-0]),u=new Uint8Array(d.buffer),m=u[7]===128;function p(_,C,V){d[0]=_,C[V]=u[0],C[V+1]=u[1],C[V+2]=u[2],C[V+3]=u[3],C[V+4]=u[4],C[V+5]=u[5],C[V+6]=u[6],C[V+7]=u[7]}function g(_,C,V){d[0]=_,C[V]=u[7],C[V+1]=u[6],C[V+2]=u[5],C[V+3]=u[4],C[V+4]=u[3],C[V+5]=u[2],C[V+6]=u[1],C[V+7]=u[0]}c.writeDoubleLE=m?p:g,c.writeDoubleBE=m?g:p;function f(_,C){return u[0]=_[C],u[1]=_[C+1],u[2]=_[C+2],u[3]=_[C+3],u[4]=_[C+4],u[5]=_[C+5],u[6]=_[C+6],u[7]=_[C+7],d[0]}function x(_,C){return u[7]=_[C],u[6]=_[C+1],u[5]=_[C+2],u[4]=_[C+3],u[3]=_[C+4],u[2]=_[C+5],u[1]=_[C+6],u[0]=_[C+7],d[0]}c.readDoubleLE=m?f:x,c.readDoubleBE=m?x:f}():function(){function d(m,p,g,f,x,_){var C=f<0?1:0;if(C&&(f=-f),f===0)m(0,x,_+p),m(1/f>0?0:2147483648,x,_+g);else if(isNaN(f))m(0,x,_+p),m(2146959360,x,_+g);else if(f>17976931348623157e292)m(0,x,_+p),m((C<<31|2146435072)>>>0,x,_+g);else{var V;if(f<22250738585072014e-324)V=f/5e-324,m(V>>>0,x,_+p),m((C<<31|V/4294967296)>>>0,x,_+g);else{var L=Math.floor(Math.log(f)/Math.LN2);L===1024&&(L=1023),V=f*Math.pow(2,-L),m(V*4503599627370496>>>0,x,_+p),m((C<<31|L+1023<<20|V*1048576&1048575)>>>0,x,_+g)}}}c.writeDoubleLE=d.bind(null,o,0,4),c.writeDoubleBE=d.bind(null,r,4,0);function u(m,p,g,f,x){var _=m(f,x+p),C=m(f,x+g),V=(C>>31)*2+1,L=C>>>20&2047,Z=4294967296*(C&1048575)+_;return L===2047?Z?NaN:V*(1/0):L===0?V*5e-324*Z:V*Math.pow(2,L-1075)*(Z+4503599627370496)}c.readDoubleLE=u.bind(null,s,0,4),c.readDoubleBE=u.bind(null,a,4,0)}(),c}function o(c,d,u){d[u]=c&255,d[u+1]=c>>>8&255,d[u+2]=c>>>16&255,d[u+3]=c>>>24}function r(c,d,u){d[u]=c>>>24,d[u+1]=c>>>16&255,d[u+2]=c>>>8&255,d[u+3]=c&255}function s(c,d){return(c[d]|c[d+1]<<8|c[d+2]<<16|c[d+3]<<24)>>>0}function a(c,d){return(c[d]<<24|c[d+1]<<16|c[d+2]<<8|c[d+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,d=null,u=a;return function(p){if(p<1||p>c)return o(p);u+p>a&&(d=o(a),u=0);var g=r.call(d,u,u+=p);return u&7&&(u=(u|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c191&&p<224?u[m++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,u[m++]=55296+(p>>10),u[m++]=56320+(p&1023)):u[m++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,m>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,u)),m=0);return d?(m&&d.push(String.fromCharCode.apply(String,u.slice(0,m))),d.join("")):String.fromCharCode.apply(String,u.slice(0,m))},i.write=function(r,s,a){for(var c=a,d,u,m=0;m>6|192,s[a++]=d&63|128):(d&64512)===55296&&((u=r.charCodeAt(m+1))&64512)===56320?(d=65536+((d&1023)<<10)+(u&1023),++m,s[a++]=d>>18|240,s[a++]=d>>12&63|128,s[a++]=d>>6&63|128,s[a++]=d&63|128):(s[a++]=d>>12|224,s[a++]=d>>6&63|128,s[a++]=d&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(f,x){return RangeError("index out of range: "+f.pos+" + "+(x||1)+" > "+f.len)}function c(f){this.buf=f,this.pos=0,this.len=f.length}var d=typeof Uint8Array<"u"?function(x){if(x instanceof Uint8Array||Array.isArray(x))return new c(x);throw Error("illegal buffer")}:function(x){if(Array.isArray(x))return new c(x);throw Error("illegal buffer")},u=function(){return i.Buffer?function(_){return(c.create=function(V){return i.Buffer.isBuffer(V)?new o(V):d(V)})(_)}:d};c.create=u(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var x=4294967295;return function(){if(x=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(x=(x|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return x;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return x}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var x=this.uint32();return x>>>1^-(x&1)|0};function m(){var f=new r(0,0),x=0;if(this.len-this.pos>4){for(;x<4;++x)if(f.lo=(f.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f;if(f.lo=(f.lo|(this.buf[this.pos]&127)<<28)>>>0,f.hi=(f.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return f;x=0}else{for(;x<3;++x){if(this.pos>=this.len)throw a(this);if(f.lo=(f.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f}return f.lo=(f.lo|(this.buf[this.pos++]&127)<>>0,f}if(this.len-this.pos>4){for(;x<5;++x)if(f.hi=(f.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f}else for(;x<5;++x){if(this.pos>=this.len)throw a(this);if(f.hi=(f.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(f,x){return(f[x-4]|f[x-3]<<8|f[x-2]<<16|f[x-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var x=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,x},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var x=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,x},c.prototype.bytes=function(){var x=this.uint32(),_=this.pos,C=this.pos+x;if(C>this.len)throw a(this,x);if(this.pos+=x,Array.isArray(this.buf))return this.buf.slice(_,C);if(_===C){var V=i.Buffer;return V?V.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,_,C)},c.prototype.string=function(){var x=this.bytes();return s.read(x,0,x.length)},c.prototype.skip=function(x){if(typeof x=="number"){if(this.pos+x>this.len)throw a(this,x);this.pos+=x}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(f){switch(f){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(f=this.uint32()&7)!==4;)this.skipType(f);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+f+" at offset "+this.pos)}return this},c._configure=function(f){o=f,c.create=u(),o._configure();var x=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return m.call(this)[x](!1)},uint64:function(){return m.call(this)[x](!0)},sint64:function(){return m.call(this).zzDecode()[x](!1)},fixed64:function(){return g.call(this)[x](!0)},sfixed64:function(){return g.call(this)[x](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=!!s,this.responseDelimited=!!a}o.prototype.rpcCall=function r(s,a,c,d,u){if(!d)throw TypeError("request must be specified");var m=this;if(!u)return i.asPromise(r,m,s,a,c,d);if(!m.rpcImpl)return setTimeout(function(){u(Error("already ended"))},0),undefined;try{return m.rpcImpl(s,a[m.requestDelimited?"encodeDelimited":"encode"](d).finish(),function(g,f){if(g)return m.emit("error",g,s),u(g);if(f===null)return m.end(!0),undefined;if(!(f instanceof c))try{f=c[m.responseDelimited?"decodeDelimited":"decode"](f)}catch(x){return m.emit("error",x,s),u(x)}return m.emit("data",f,s),u(null,f)})}catch(p){return m.emit("error",p,s),setTimeout(function(){u(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,d){this.lo=c>>>0,this.hi=d>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(d){if(d===0)return r;var u=d<0;u&&(d=-d);var m=d>>>0,p=(d-m)/4294967296>>>0;return u&&(p=~p>>>0,m=~m>>>0,++m>4294967295&&(m=0,++p>4294967295&&(p=0))),new o(m,p)},o.from=function(d){if(typeof d=="number")return o.fromNumber(d);if(i.isString(d))if(i.Long)d=i.Long.fromString(d);else return o.fromNumber(parseInt(d,10));return d.low||d.high?new o(d.low>>>0,d.high>>>0):r},o.prototype.toNumber=function(d){if(!d&&this.hi>>>31){var u=~this.lo+1>>>0,m=~this.hi>>>0;return u||(m=m+1>>>0),-(u+m*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(d){return i.Long?new i.Long(this.lo|0,this.hi|0,!!d):{low:this.lo|0,high:this.hi|0,unsigned:!!d}};var a=String.prototype.charCodeAt;o.fromHash=function(d){return d===s?r:new o((a.call(d,0)|a.call(d,1)<<8|a.call(d,2)<<16|a.call(d,3)<<24)>>>0,(a.call(d,4)|a.call(d,5)<<8|a.call(d,6)<<16|a.call(d,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var d=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^d)>>>0,this.lo=(this.lo<<1^d)>>>0,this},o.prototype.zzDecode=function(){var d=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^d)>>>0,this.hi=(this.hi>>>1^d)>>>0,this},o.prototype.length=function(){var d=this.lo,u=(this.lo>>>28|this.hi<<4)>>>0,m=this.hi>>>24;return m===0?u===0?d<16384?d<128?1:2:d<2097152?3:4:u<16384?u<128?5:6:u<2097152?7:8:m<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var d=a[c];return d!=null&&a.hasOwnProperty(c)?typeof d!="object"||(Array.isArray(d)?d.length:Object.keys(d).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var d=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(d.lo,d.hi,c):d.toNumber(!!c)};function o(s,a,c){for(var d=Object.keys(a),u=0;u-1;--m)if(c[u[m]]===1&&this[u[m]]!==undefined&&this[u[m]]!==null)return u[m]}},i.oneOfSetter=function(a){return function(c){for(var d=0;d127;)Z[G++]=L&127|128,L>>>=7;Z[G]=L}function x(L,Z){this.len=L,this.next=undefined,this.val=Z}x.prototype=Object.create(c.prototype),x.prototype.fn=f,m.prototype.uint32=function(Z){return this.len+=(this.tail=this.tail.next=new x((Z=Z>>>0)<128?1:Z<16384?2:Z<2097152?3:Z<268435456?4:5,Z)).len,this},m.prototype.int32=function(Z){return Z<0?this._push(_,10,r.fromNumber(Z)):this.uint32(Z)},m.prototype.sint32=function(Z){return this.uint32((Z<<1^Z>>31)>>>0)};function _(L,Z,G){for(;L.hi;)Z[G++]=L.lo&127|128,L.lo=(L.lo>>>7|L.hi<<25)>>>0,L.hi>>>=7;for(;L.lo>127;)Z[G++]=L.lo&127|128,L.lo=L.lo>>>7;Z[G++]=L.lo}m.prototype.uint64=function(Z){var G=r.from(Z);return this._push(_,G.length(),G)},m.prototype.int64=m.prototype.uint64,m.prototype.sint64=function(Z){var G=r.from(Z).zzEncode();return this._push(_,G.length(),G)},m.prototype.bool=function(Z){return this._push(g,1,Z?1:0)};function C(L,Z,G){Z[G]=L&255,Z[G+1]=L>>>8&255,Z[G+2]=L>>>16&255,Z[G+3]=L>>>24}m.prototype.fixed32=function(Z){return this._push(C,4,Z>>>0)},m.prototype.sfixed32=m.prototype.fixed32,m.prototype.fixed64=function(Z){var G=r.from(Z);return this._push(C,4,G.lo)._push(C,4,G.hi)},m.prototype.sfixed64=m.prototype.fixed64,m.prototype.float=function(Z){return this._push(i.float.writeFloatLE,4,Z)},m.prototype.double=function(Z){return this._push(i.float.writeDoubleLE,8,Z)};var V=i.Array.prototype.set?function(Z,G,I){G.set(Z,I)}:function(Z,G,I){for(var v=0;v>>0;if(!G)return this._push(g,1,0);if(i.isString(Z)){var I=m.alloc(G=s.length(Z));s.decode(Z,I,0),Z=I}return this.uint32(G)._push(V,G,Z)},m.prototype.string=function(Z){var G=a.length(Z);return G?this.uint32(G)._push(a.write,G,Z):this._push(g,1,0)},m.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(d,0,0),this.len=0,this},m.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(d,0,0),this.len=0),this},m.prototype.ldelim=function(){var Z=this.head,G=this.tail,I=this.len;return this.reset().uint32(I),I&&(this.tail.next=Z.next,this.tail=G,this.len+=I),this},m.prototype.finish=function(){for(var Z=this.head.next,G=this.constructor.alloc(this.len),I=0;Z;)Z.fn(Z.val,G,I),I+=Z.len,Z=Z.next;return G},m._configure=function(L){o=L,m.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,d,u){d.set(c,u)}:function(c,d,u){if(c.copy)c.copy(d,u,0,c.length);else for(var m=0;m>>0;return this.uint32(d),d&&this._push(r.writeBytesBuffer,d,c),this};function s(a,c,d){a.length<40?o.utf8.write(a,c,d):c.utf8Write?c.utf8Write(a,d):c.write(a,d)}r.prototype.string=function(c){var d=o.Buffer.byteLength(c);return this.uint32(d),d&&this._push(s,d,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var Yxe=fl((ANi,y3)=>{var MNi=T(S());/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var e=function(){var o={};o.defaultNoDataValue=-34027999387901484e22,o.decode=function(u,m){m=m||{};var p=m.encodedMaskData||m.encodedMaskData===null,g=c(u,m.inputOffset||0,p),f=m.noDataValue!==null?m.noDataValue:o.defaultNoDataValue,x=r(g,m.pixelType||Float32Array,m.encodedMaskData,f,m.returnMask),_={width:g.width,height:g.height,pixelData:x.resultPixels,minValue:x.minValue,maxValue:g.pixels.maxValue,noDataValue:f};return x.resultMask&&(_.maskData=x.resultMask),m.returnEncodedMask&&g.mask&&(_.encodedMaskData=g.mask.bitset?g.mask.bitset:null),m.returnFileInfo&&(_.fileInfo=s(g),m.computeUsedBitDepths&&(_.fileInfo.bitDepths=a(g))),_};var r=function(u,m,p,g,f){var x=0,_=u.pixels.numBlocksX,C=u.pixels.numBlocksY,V=Math.floor(u.width/_),L=Math.floor(u.height/C),Z=2*u.maxZError,G=Number.MAX_VALUE,I;p=p||(u.mask?u.mask.bitset:null);var v,P;v=new m(u.width*u.height),f&&p&&(P=new Uint8Array(u.width*u.height));for(var w=new Float32Array(V*L),F,b,R=0;R<=C;R++){var E=R!==C?L:u.height%C;if(E!==0)for(var X=0;X<=_;X++){var A=X!==_?V:u.width%_;if(A!==0){var N=R*u.width*L+X*V,O=u.width-A,U=u.pixels.blocks[x],Y,k,J;U.encoding<2?(U.encoding===0?Y=U.rawData:(d(U.stuffedData,U.bitsPerPixel,U.numValidPixels,U.offset,Z,w,u.pixels.maxValue),Y=w),k=0):U.encoding===2?J=0:J=U.offset;var z;if(p)for(b=0;b>3],z<<=N&7),F=0;F>3]),z&128?(P&&(P[N]=1),I=U.encoding<2?Y[k++]:J,G=G>I?I:G,v[N++]=I):(P&&(P[N]=0),v[N++]=g),z<<=1;N+=O}else if(U.encoding<2)for(b=0;bI?I:G,v[N++]=I;N+=O}else for(G=G>J?J:G,b=0;b0){var _=new Uint8Array(Math.ceil(g.width*g.height/8));x=new DataView(u,m,g.mask.numBytes);var C=x.getInt16(0,!0),V=2,L=0;do{if(C>0)for(;C--;)_[L++]=x.getUint8(V++);else{var Z=x.getUint8(V++);for(C=-C;C--;)_[L++]=Z}C=x.getInt16(V,!0),V+=2}while(V0?1:0),P=I+(g.height%I>0?1:0);g.pixels.blocks=new Array(v*P);for(var w=0,F=0;F3)throw"Invalid block encoding ("+X.encoding+")";if(X.encoding===2){m++;continue}if(A!==0&&A!==2){if(A>>=6,X.offsetType=A,A===2)X.offset=x.getInt8(1),R++;else if(A===1)X.offset=x.getInt16(1,!0),R+=2;else if(A===0)X.offset=x.getFloat32(1,!0),R+=4;else throw"Invalid block offset type";if(X.encoding===1)if(A=x.getUint8(R),R++,X.bitsPerPixel=A&63,A>>=6,X.numValidPixelsType=A,A===2)X.numValidPixels=x.getUint8(R),R++;else if(A===1)X.numValidPixels=x.getUint16(R,!0),R+=2;else if(A===0)X.numValidPixels=x.getUint32(R,!0),R+=4;else throw"Invalid valid pixel count type"}if(m+=R,X.encoding!==3){var N,O;if(X.encoding===0){var U=(g.pixels.numBytes-1)/4;if(U!==Math.floor(U))throw"uncompressed block has invalid length";N=new ArrayBuffer(U*4),O=new Uint8Array(N),O.set(new Uint8Array(u,m,U*4));var Y=new Float32Array(N);X.rawData=Y,m+=U*4}else if(X.encoding===1){var k=Math.ceil(X.numValidPixels*X.bitsPerPixel/8),J=Math.ceil(k/4);N=new ArrayBuffer(J*4),O=new Uint8Array(N),O.set(new Uint8Array(u,m,k)),X.stuffedData=new Uint32Array(N),m+=k}}}return g.eofOffset=m,g},d=function(u,m,p,g,f,x,_){var C=(1<=m)G=I>>>Z-m&C,Z-=m;else{var w=m-Z;G=(I&C)<>>Z}x[L]=G=u?(Z=G>>>L-u&_,L-=u):(I=u-L,Z=(G&_)<>>L),d[V]=p[Z];else for(v=Math.ceil((x-g)/f),V=0;V=u?(Z=G>>>L-u&_,L-=u):(I=u-L,Z=(G&_)<>>L),d[V]=Z=d?(L=Z>>>V-d&f,V-=d):(C=d-V,L=(Z&f)<>>V),G[_]=L=u?(G=I>>>Z&_,L-=u,Z+=u):(v=u-L,G=I>>>Z&_,I=c[C++],L=32-v,G|=(I&(1<=u?(G=I>>>Z&_,L-=u,Z+=u):(v=u-L,G=I>>>Z&_,I=c[C++],L=32-v,G|=(I&(1<=d?(L=G>>>Z&f,V-=d,Z+=d):(C=d-V,L=G>>>Z&f,G=c[x++],V=32-C,L|=(G&(1<=u?(_=C>>>x-u&p,x-=u):(V=u-x,_=(C&p)<>>x),d[f]=_;return d},originalUnstuff2:function(c,d,u,m){var p=(1<=u?(C=V>>>_&p,x-=u,_+=u):(L=u-x,C=V>>>_&p,V=c[g++],x=32-L,C|=(V&(1<=359?359:p;p-=f;do d+=c[g++]<<8,u+=d+=c[g++];while(--f);d=(d&65535)+(d>>>16),u=(u&65535)+(u>>>16)}return m&1&&(u+=d+=c[g]<<8),d=(d&65535)+(d>>>16),u=(u&65535)+(u>>>16),(u<<16|d)>>>0},readHeaderInfo:function(c,d){var u=d.ptr,m=new Uint8Array(c,u,6),p={};if(p.fileIdentifierString=String.fromCharCode.apply(null,m),p.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+p.fileIdentifierString;u+=6;var g=new DataView(c,u,8),f=g.getInt32(0,!0);p.fileVersion=f,u+=4,f>=3&&(p.checksum=g.getUint32(4,!0),u+=4),g=new DataView(c,u,12),p.height=g.getUint32(0,!0),p.width=g.getUint32(4,!0),u+=8,f>=4?(p.numDims=g.getUint32(8,!0),u+=4):p.numDims=1,g=new DataView(c,u,40),p.numValidPixel=g.getUint32(0,!0),p.microBlockSize=g.getInt32(4,!0),p.blobSize=g.getInt32(8,!0),p.imageType=g.getInt32(12,!0),p.maxZError=g.getFloat64(16,!0),p.zMin=g.getFloat64(24,!0),p.zMax=g.getFloat64(32,!0),u+=40,d.headerInfo=p,d.ptr=u;var x,_;if(f>=3&&(_=f>=4?52:48,x=this.computeChecksumFletcher32(new Uint8Array(c,u-_,p.blobSize-14)),x!==p.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(c,d){var u=d.headerInfo,m=this.getDataTypeArray(u.imageType),p=u.numDims*this.getDataTypeSize(u.imageType),g=this.readSubArray(c,d.ptr,m,p),f=this.readSubArray(c,d.ptr+p,m,p);d.ptr+=2*p;var x,_=!0;for(x=0;x0){_=new Uint8Array(Math.ceil(p/8)),f=new DataView(c,u,x.numBytes);var V=f.getInt16(0,!0),L=2,Z=0,G=0;do{if(V>0)for(;V--;)_[Z++]=f.getUint8(L++);else for(G=f.getUint8(L++),V=-V;V--;)_[Z++]=G;V=f.getInt16(L,!0),L+=2}while(L>3],I<<=v&7):I=_[v>>3],I&128&&(C[v]=1);d.pixels.resultMask=C,x.bitset=_,u+=x.numBytes}return d.ptr=u,d.mask=x,!0},readDataOneSweep:function(c,d,u){var m=d.ptr,p=d.headerInfo,g=p.numDims,f=p.width*p.height,x=p.imageType,_=p.numValidPixel*r.getDataTypeSize(x)*g,C,V=d.pixels.resultMask;if(u===Uint8Array)C=new Uint8Array(c,m,_);else{var L=new ArrayBuffer(_),Z=new Uint8Array(L);Z.set(new Uint8Array(c,m,_)),C=new u(L)}if(C.length===f*g)d.pixels.resultPixels=C;else{d.pixels.resultPixels=new u(f*g);var G=0,I=0,v=0,P=0;if(g>1)for(v=0;v=x)return!1;var _=new Uint32Array(x-f);r.decodeBits(c,d,_);var C=[],V,L,Z,G;for(V=f;V0&&(C[L].second=R<>>32-G,32-b>=G?(b+=G,b===32&&(b=0,E++,R=F[E])):(b+=G-32,E++,R=F[E],C[L].second|=R>>>32-b));var X=0,A=0,N=new s;for(V=0;V=u?A=u:A=X,X>=30&&console.log("WARning, large NUM LUT BITS IS "+X);var O=[],U,Y,k,J,z,te;for(V=f;V0)if(U=[G,L],G<=A)for(Y=C[L].second<=0;J--)z=Y>>>J&1,z?(te.right||(te.right=new s),te=te.right):(te.left||(te.left=new s),te=te.left),J===0&&!te.val&&(te.val=U[1]);return{decodeLut:O,numBitsLUTQick:A,numBitsLUT:X,tree:N,stuffedData:F,srcPtr:E,bitPos:b}},readHuffman:function(c,d,u){var m=d.headerInfo,p=m.numDims,g=d.headerInfo.height,f=d.headerInfo.width,x=f*g,_=this.readHuffmanTree(c,d),C=_.decodeLut,V=_.tree,L=_.stuffedData,Z=_.srcPtr,G=_.bitPos,I=_.numBitsLUTQick,v=_.numBitsLUT,P=d.headerInfo.imageType===0?128:0,w,F,b,R=d.pixels.resultMask,E,X,A,N,O,U,Y,k=0;G>0&&(Z++,G=0);var J=L[Z],z=d.encodeMode===1,te=new u(x*p),H=te,q;for(q=0;q1&&(H=new u(te.buffer,x*q,x),k=0),d.headerInfo.numValidPixel===f*g)for(U=0,N=0;N>>32-I,X=E,32-G>>64-G-I,X=E),C[X])F=C[X][1],G+=C[X][0];else for(E=J<>>32-v,X=E,32-G>>64-G-v,X=E),w=V,Y=0;Y>>v-Y-1&1,w=A?w.right:w.left,!(w.left||w.right)){F=w.val,G=G+Y+1;break}G>=32&&(G-=32,Z++,J=L[Z]),b=F-P,z?(O>0?b+=k:N>0?b+=H[U-f]:b+=k,b&=255,H[U]=b,k=b):H[U]=b}else for(U=0,N=0;N>>32-I,X=E,32-G>>64-G-I,X=E),C[X])F=C[X][1],G+=C[X][0];else for(E=J<>>32-v,X=E,32-G>>64-G-v,X=E),w=V,Y=0;Y>>v-Y-1&1,w=A?w.right:w.left,!(w.left||w.right)){F=w.val,G=G+Y+1;break}G>=32&&(G-=32,Z++,J=L[Z]),b=F-P,z?(O>0&&R[U-1]?b+=k:N>0&&R[U-f]?b+=H[U-f]:b+=k,b&=255,H[U]=b,k=b):H[U]=b}d.ptr=d.ptr+(Z+1)*4+(G>0?4:0)}d.pixels.resultPixels=te},decodeBits:function(c,d,u,m,p){{var g=d.headerInfo,f=g.fileVersion,x=0,_=new DataView(c,d.ptr,5),C=_.getUint8(0);x++;var V=C>>6,L=V===0?4:3-V,Z=(C&32)>0,G=C&31,I=0;if(L===1)I=_.getUint8(x),x++;else if(L===2)I=_.getUint16(x,!0),x+=2;else if(L===4)I=_.getUint32(x,!0),x+=4;else throw"Invalid valid pixel count type";var v=2*g.maxZError,P,w,F,b,R,E,X,A,N,O,U=g.numDims>1?g.maxValues[p]:g.zMax;if(Z){for(d.counter.lut++,A=_.getUint8(x),N=G,x++,b=Math.ceil((A-1)*G/8),R=Math.ceil(b/4),w=new ArrayBuffer(R*4),F=new Uint8Array(w),d.ptr+=x,F.set(new Uint8Array(c,d.ptr,b)),X=new Uint32Array(w),d.ptr+=b,O=0;A-1>>>O;)O++;b=Math.ceil(I*O/8),R=Math.ceil(b/4),w=new ArrayBuffer(R*4),F=new Uint8Array(w),F.set(new Uint8Array(c,d.ptr,b)),P=new Uint32Array(w),d.ptr+=b,f>=3?E=o.unstuffLUT2(X,G,A-1,m,v,U):E=o.unstuffLUT(X,G,A-1,m,v,U),f>=3?o.unstuff2(P,u,O,I,E):o.unstuff(P,u,O,I,E)}else d.counter.bitstuffer++,O=G,d.ptr+=x,O>0&&(b=Math.ceil(I*O/8),R=Math.ceil(b/4),w=new ArrayBuffer(R*4),F=new Uint8Array(w),F.set(new Uint8Array(c,d.ptr,b)),P=new Uint32Array(w),d.ptr+=b,f>=3?m==null?o.originalUnstuff2(P,u,O,I):o.unstuff2(P,u,O,I,!1,m,v,U):m==null?o.originalUnstuff(P,u,O,I):o.unstuff(P,u,O,I,!1,m,v,U))}},readTiles:function(c,d,u){var m=d.headerInfo,p=m.width,g=m.height,f=m.microBlockSize,x=m.imageType,_=r.getDataTypeSize(x),C=Math.ceil(p/f),V=Math.ceil(g/f);d.pixels.numBlocksY=V,d.pixels.numBlocksX=C,d.pixels.ptr=0;var L=0,Z=0,G=0,I=0,v=0,P=0,w=0,F=0,b=0,R=0,E=0,X=0,A=0,N=0,O=0,U=0,Y,k,J,z,te,H,q=new u(f*f),ee=g%f||f,pe=p%f||f,_e,ae,ye=m.numDims,Te,Ie=d.pixels.resultMask,Ee=d.pixels.resultPixels;for(G=0;G1&&(Ee=new u(d.pixels.resultPixels.buffer,p*g*Te*_,p*g)),w=c.byteLength-d.ptr,Y=new DataView(c,d.ptr,Math.min(10,w)),k={},U=0,F=Y.getUint8(0),U++,b=F>>6&255,R=F>>2&15,R!==(I*f>>3&15))throw"integrity issue";if(H=F&3,H>3)throw d.ptr+=U,"Invalid block encoding ("+H+")";if(H===2){d.counter.constant++,d.ptr+=U;continue}else if(H===0){if(d.counter.uncompressed++,d.ptr+=U,A=v*P*_,N=c.byteLength-d.ptr,A=A1)for(g=0;g=-128&&d<=127;break;case 1:u=d>=0&&d<=255;break;case 2:u=d>=-32768&&d<=32767;break;case 3:u=d>=0&&d<=65536;break;case 4:u=d>=-2147483648&&d<=2147483647;break;case 5:u=d>=0&&d<=4294967296;break;case 6:u=d>=-34027999387901484e22&&d<=34027999387901484e22;break;case 7:u=d>=5e-324&&d<=17976931348623157e292;break;default:u=!1}return u},getDataTypeSize:function(c){var d=0;switch(c){case 0:case 1:d=1;break;case 2:case 3:d=2;break;case 4:case 5:case 6:d=4;break;case 7:d=8;break;default:d=c}return d},getDataTypeUsed:function(c,d){var u=c;switch(c){case 2:case 4:u=c-d;break;case 3:case 5:u=c-2*d;break;case 6:d===0?u=c:d===1?u=2:u=1;break;case 7:d===0?u=c:u=c-2*d+1;break;default:u=c;break}return u},getOnePixel:function(c,d,u,m){var p=0;switch(u){case 0:p=m.getInt8(d);break;case 1:p=m.getUint8(d);break;case 2:p=m.getInt16(d,!0);break;case 3:p=m.getUint16(d,!0);break;case 4:p=m.getInt32(d,!0);break;case 5:p=m.getUInt32(d,!0);break;case 6:p=m.getFloat32(d,!0);break;case 7:p=m.getFloat64(d,!0);break;default:throw"the decoder does not understand this pixel type"}return p}},s=function(c,d,u){this.val=c,this.left=d,this.right=u},a={decode:function(c,d){d=d||{};var u=d.noDataValue,m=0,p={};if(p.ptr=d.inputOffset||0,p.pixels={},!!r.readHeaderInfo(c,p)){var g=p.headerInfo,f=g.fileVersion,x=r.getDataTypeArray(g.imageType);r.readMask(c,p),g.numValidPixel!==g.width*g.height&&!p.pixels.resultMask&&(p.pixels.resultMask=d.maskData);var _=g.width*g.height;if(p.pixels.resultPixels=new x(_*g.numDims),p.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},g.numValidPixel!==0)if(g.zMax===g.zMin)r.constructConstantSurface(p);else if(f>=4&&r.checkMinMaxRanges(c,p))r.constructConstantSurface(p);else{var C=new DataView(c,p.ptr,2),V=C.getUint8(0);if(p.ptr++,V)r.readDataOneSweep(c,p,x);else if(f>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var L=C.getUint8(1);if(p.ptr++,p.encodeMode=L,L>2||f<4&&L>1)throw"Invalid Huffman flag "+L;L?r.readHuffman(c,p,x):r.readTiles(c,p,x)}else r.readTiles(c,p,x)}p.eofOffset=p.ptr;var Z;d.inputOffset?(Z=p.headerInfo.blobSize+d.inputOffset-p.ptr,Math.abs(Z)>=1&&(p.eofOffset=d.inputOffset+p.headerInfo.blobSize)):(Z=p.headerInfo.blobSize-p.ptr,Math.abs(Z)>=1&&(p.eofOffset=p.headerInfo.blobSize));var G={width:g.width,height:g.height,pixelData:p.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:p.pixels.resultMask};if(p.pixels.resultMask&&r.isValidPixelValue(g.imageType,u)){var I=p.pixels.resultMask;for(m=0;m<_;m++)I[m]||(G.pixelData[m]=u);G.noDataValue=u}return p.noDataValue=u,d.returnFileInfo&&(G.fileInfo=r.formatFileInfo(p)),G}},getBandCount:function(c){var d=0,u=0,m={};for(m.ptr=0,m.pixels={};u1&&V.fileInfo.mask&&V.fileInfo.mask.numBytes>0&&f.push(V.maskData),m++,C.pixels.push(V.pixelData),C.statistics.push({minValue:V.minValue,maxValue:V.maxValue,noDataValue:V.noDataValue,dimStats:V.dimStats})}var L,Z,G;if(u>1&&f.length>1){for(G=C.width*C.height,C.bandMasks=f,_=new Uint8Array(G),_.set(f[0]),L=1;L{var HRo=T(S());lCe.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}});var mCe=fl((KRo,uCe)=>{var JRo=T(S()),{webm:wCt,mp4:FCt}=dCe(),F6=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,A6=()=>"wakeLock"in navigator,M6=class{constructor(){if(this.enabled=!1,A6()){this._wakeLock=null;let t=()=>{this._wakeLock!==null&&document.visibilityState==="visible"&&this.enable()};document.addEventListener("visibilitychange",t),document.addEventListener("fullscreenchange",t)}else F6()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",wCt),this._addSourceToVideo(this.noSleepVideo,"mp4",FCt),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(t,n,i){var o=document.createElement("source");o.src=i,o.type=`video/${n}`,t.appendChild(o)}get isEnabled(){return this.enabled}enable(){return A6()?navigator.wakeLock.request("screen").then(t=>{this._wakeLock=t,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(t=>{throw this.enabled=!1,console.error(`${t.name}, ${t.message}`),t}):F6()?(this.disable(),console.warn(` + */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,d=!0;c1&&d.charAt(u)==="=";)++m;return Math.ceil(d.length*3)/4-m};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(d,u,m){for(var p=null,g=[],f=0,x=0,_;u>2],_=(C&3)<<4,x=1;break;case 1:g[f++]=o[_|C>>4],_=(C&15)<<2,x=2;break;case 2:g[f++]=o[_|C>>6],g[f++]=o[C&63],x=0;break}f>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),f=0)}return x&&(g[f++]=o[_],g[f++]=61,x===1&&(g[f++]=61)),p?(f&&p.push(String.fromCharCode.apply(String,g.slice(0,f))),p.join("")):String.fromCharCode.apply(String,g.slice(0,f))};var a="invalid encoding";i.decode=function(d,u,m){for(var p=m,g=0,f,x=0;x1)break;if((_=r[_])===undefined)throw Error(a);switch(g){case 0:f=_,g=1;break;case 1:u[m++]=f<<2|(_&48)>>4,f=_,g=2;break;case 2:u[m++]=(f&15)<<4|(_&60)>>2,f=_,g=3;break;case 3:u[m++]=(f&3)<<6|_,g=0;break}}if(g===1)throw Error(a);return m-p},i.test=function(d){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(d)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c0?0:2147483648,g,f);else if(isNaN(p))m(2143289344,g,f);else if(p>34028234663852886e22)m((x<<31|2139095040)>>>0,g,f);else if(p<11754943508222875e-54)m((x<<31|Math.round(p/1401298464324817e-60))>>>0,g,f);else{var _=Math.floor(Math.log(p)/Math.LN2),C=Math.round(p*Math.pow(2,-_)*8388608)&8388607;m((x<<31|_+127<<23|C)>>>0,g,f)}}c.writeFloatLE=d.bind(null,o),c.writeFloatBE=d.bind(null,r);function u(m,p,g){var f=m(p,g),x=(f>>31)*2+1,_=f>>>23&255,C=f&8388607;return _===255?C?NaN:x*(1/0):_===0?x*1401298464324817e-60*C:x*Math.pow(2,_-150)*(C+8388608)}c.readFloatLE=u.bind(null,s),c.readFloatBE=u.bind(null,a)}(),typeof Float64Array<"u"?function(){var d=new Float64Array([-0]),u=new Uint8Array(d.buffer),m=u[7]===128;function p(_,C,V){d[0]=_,C[V]=u[0],C[V+1]=u[1],C[V+2]=u[2],C[V+3]=u[3],C[V+4]=u[4],C[V+5]=u[5],C[V+6]=u[6],C[V+7]=u[7]}function g(_,C,V){d[0]=_,C[V]=u[7],C[V+1]=u[6],C[V+2]=u[5],C[V+3]=u[4],C[V+4]=u[3],C[V+5]=u[2],C[V+6]=u[1],C[V+7]=u[0]}c.writeDoubleLE=m?p:g,c.writeDoubleBE=m?g:p;function f(_,C){return u[0]=_[C],u[1]=_[C+1],u[2]=_[C+2],u[3]=_[C+3],u[4]=_[C+4],u[5]=_[C+5],u[6]=_[C+6],u[7]=_[C+7],d[0]}function x(_,C){return u[7]=_[C],u[6]=_[C+1],u[5]=_[C+2],u[4]=_[C+3],u[3]=_[C+4],u[2]=_[C+5],u[1]=_[C+6],u[0]=_[C+7],d[0]}c.readDoubleLE=m?f:x,c.readDoubleBE=m?x:f}():function(){function d(m,p,g,f,x,_){var C=f<0?1:0;if(C&&(f=-f),f===0)m(0,x,_+p),m(1/f>0?0:2147483648,x,_+g);else if(isNaN(f))m(0,x,_+p),m(2146959360,x,_+g);else if(f>17976931348623157e292)m(0,x,_+p),m((C<<31|2146435072)>>>0,x,_+g);else{var V;if(f<22250738585072014e-324)V=f/5e-324,m(V>>>0,x,_+p),m((C<<31|V/4294967296)>>>0,x,_+g);else{var L=Math.floor(Math.log(f)/Math.LN2);L===1024&&(L=1023),V=f*Math.pow(2,-L),m(V*4503599627370496>>>0,x,_+p),m((C<<31|L+1023<<20|V*1048576&1048575)>>>0,x,_+g)}}}c.writeDoubleLE=d.bind(null,o,0,4),c.writeDoubleBE=d.bind(null,r,4,0);function u(m,p,g,f,x){var _=m(f,x+p),C=m(f,x+g),V=(C>>31)*2+1,L=C>>>20&2047,Z=4294967296*(C&1048575)+_;return L===2047?Z?NaN:V*(1/0):L===0?V*5e-324*Z:V*Math.pow(2,L-1075)*(Z+4503599627370496)}c.readDoubleLE=u.bind(null,s,0,4),c.readDoubleBE=u.bind(null,a,4,0)}(),c}function o(c,d,u){d[u]=c&255,d[u+1]=c>>>8&255,d[u+2]=c>>>16&255,d[u+3]=c>>>24}function r(c,d,u){d[u]=c>>>24,d[u+1]=c>>>16&255,d[u+2]=c>>>8&255,d[u+3]=c&255}function s(c,d){return(c[d]|c[d+1]<<8|c[d+2]<<16|c[d+3]<<24)>>>0}function a(c,d){return(c[d]<<24|c[d+1]<<16|c[d+2]<<8|c[d+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,d=null,u=a;return function(p){if(p<1||p>c)return o(p);u+p>a&&(d=o(a),u=0);var g=r.call(d,u,u+=p);return u&7&&(u=(u|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c191&&p<224?u[m++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,u[m++]=55296+(p>>10),u[m++]=56320+(p&1023)):u[m++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,m>8191&&((d||(d=[])).push(String.fromCharCode.apply(String,u)),m=0);return d?(m&&d.push(String.fromCharCode.apply(String,u.slice(0,m))),d.join("")):String.fromCharCode.apply(String,u.slice(0,m))},i.write=function(r,s,a){for(var c=a,d,u,m=0;m>6|192,s[a++]=d&63|128):(d&64512)===55296&&((u=r.charCodeAt(m+1))&64512)===56320?(d=65536+((d&1023)<<10)+(u&1023),++m,s[a++]=d>>18|240,s[a++]=d>>12&63|128,s[a++]=d>>6&63|128,s[a++]=d&63|128):(s[a++]=d>>12|224,s[a++]=d>>6&63|128,s[a++]=d&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(f,x){return RangeError("index out of range: "+f.pos+" + "+(x||1)+" > "+f.len)}function c(f){this.buf=f,this.pos=0,this.len=f.length}var d=typeof Uint8Array<"u"?function(x){if(x instanceof Uint8Array||Array.isArray(x))return new c(x);throw Error("illegal buffer")}:function(x){if(Array.isArray(x))return new c(x);throw Error("illegal buffer")},u=function(){return i.Buffer?function(_){return(c.create=function(V){return i.Buffer.isBuffer(V)?new o(V):d(V)})(_)}:d};c.create=u(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var x=4294967295;return function(){if(x=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(x=(x|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return x;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return x}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var x=this.uint32();return x>>>1^-(x&1)|0};function m(){var f=new r(0,0),x=0;if(this.len-this.pos>4){for(;x<4;++x)if(f.lo=(f.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f;if(f.lo=(f.lo|(this.buf[this.pos]&127)<<28)>>>0,f.hi=(f.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return f;x=0}else{for(;x<3;++x){if(this.pos>=this.len)throw a(this);if(f.lo=(f.lo|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f}return f.lo=(f.lo|(this.buf[this.pos++]&127)<>>0,f}if(this.len-this.pos>4){for(;x<5;++x)if(f.hi=(f.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f}else for(;x<5;++x){if(this.pos>=this.len)throw a(this);if(f.hi=(f.hi|(this.buf[this.pos]&127)<>>0,this.buf[this.pos++]<128)return f}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(f,x){return(f[x-4]|f[x-3]<<8|f[x-2]<<16|f[x-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var x=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,x},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var x=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,x},c.prototype.bytes=function(){var x=this.uint32(),_=this.pos,C=this.pos+x;if(C>this.len)throw a(this,x);if(this.pos+=x,Array.isArray(this.buf))return this.buf.slice(_,C);if(_===C){var V=i.Buffer;return V?V.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,_,C)},c.prototype.string=function(){var x=this.bytes();return s.read(x,0,x.length)},c.prototype.skip=function(x){if(typeof x=="number"){if(this.pos+x>this.len)throw a(this,x);this.pos+=x}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(f){switch(f){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(f=this.uint32()&7)!==4;)this.skipType(f);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+f+" at offset "+this.pos)}return this},c._configure=function(f){o=f,c.create=u(),o._configure();var x=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return m.call(this)[x](!1)},uint64:function(){return m.call(this)[x](!0)},sint64:function(){return m.call(this).zzDecode()[x](!1)},fixed64:function(){return g.call(this)[x](!0)},sfixed64:function(){return g.call(this)[x](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=!!s,this.responseDelimited=!!a}o.prototype.rpcCall=function r(s,a,c,d,u){if(!d)throw TypeError("request must be specified");var m=this;if(!u)return i.asPromise(r,m,s,a,c,d);if(!m.rpcImpl)return setTimeout(function(){u(Error("already ended"))},0),undefined;try{return m.rpcImpl(s,a[m.requestDelimited?"encodeDelimited":"encode"](d).finish(),function(g,f){if(g)return m.emit("error",g,s),u(g);if(f===null)return m.end(!0),undefined;if(!(f instanceof c))try{f=c[m.responseDelimited?"decodeDelimited":"decode"](f)}catch(x){return m.emit("error",x,s),u(x)}return m.emit("data",f,s),u(null,f)})}catch(p){return m.emit("error",p,s),setTimeout(function(){u(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,d){this.lo=c>>>0,this.hi=d>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(d){if(d===0)return r;var u=d<0;u&&(d=-d);var m=d>>>0,p=(d-m)/4294967296>>>0;return u&&(p=~p>>>0,m=~m>>>0,++m>4294967295&&(m=0,++p>4294967295&&(p=0))),new o(m,p)},o.from=function(d){if(typeof d=="number")return o.fromNumber(d);if(i.isString(d))if(i.Long)d=i.Long.fromString(d);else return o.fromNumber(parseInt(d,10));return d.low||d.high?new o(d.low>>>0,d.high>>>0):r},o.prototype.toNumber=function(d){if(!d&&this.hi>>>31){var u=~this.lo+1>>>0,m=~this.hi>>>0;return u||(m=m+1>>>0),-(u+m*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(d){return i.Long?new i.Long(this.lo|0,this.hi|0,!!d):{low:this.lo|0,high:this.hi|0,unsigned:!!d}};var a=String.prototype.charCodeAt;o.fromHash=function(d){return d===s?r:new o((a.call(d,0)|a.call(d,1)<<8|a.call(d,2)<<16|a.call(d,3)<<24)>>>0,(a.call(d,4)|a.call(d,5)<<8|a.call(d,6)<<16|a.call(d,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var d=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^d)>>>0,this.lo=(this.lo<<1^d)>>>0,this},o.prototype.zzDecode=function(){var d=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^d)>>>0,this.hi=(this.hi>>>1^d)>>>0,this},o.prototype.length=function(){var d=this.lo,u=(this.lo>>>28|this.hi<<4)>>>0,m=this.hi>>>24;return m===0?u===0?d<16384?d<128?1:2:d<2097152?3:4:u<16384?u<128?5:6:u<2097152?7:8:m<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var d=a[c];return d!=null&&a.hasOwnProperty(c)?typeof d!="object"||(Array.isArray(d)?d.length:Object.keys(d).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var d=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(d.lo,d.hi,c):d.toNumber(!!c)};function o(s,a,c){for(var d=Object.keys(a),u=0;u-1;--m)if(c[u[m]]===1&&this[u[m]]!==undefined&&this[u[m]]!==null)return u[m]}},i.oneOfSetter=function(a){return function(c){for(var d=0;d127;)Z[G++]=L&127|128,L>>>=7;Z[G]=L}function x(L,Z){this.len=L,this.next=undefined,this.val=Z}x.prototype=Object.create(c.prototype),x.prototype.fn=f,m.prototype.uint32=function(Z){return this.len+=(this.tail=this.tail.next=new x((Z=Z>>>0)<128?1:Z<16384?2:Z<2097152?3:Z<268435456?4:5,Z)).len,this},m.prototype.int32=function(Z){return Z<0?this._push(_,10,r.fromNumber(Z)):this.uint32(Z)},m.prototype.sint32=function(Z){return this.uint32((Z<<1^Z>>31)>>>0)};function _(L,Z,G){for(;L.hi;)Z[G++]=L.lo&127|128,L.lo=(L.lo>>>7|L.hi<<25)>>>0,L.hi>>>=7;for(;L.lo>127;)Z[G++]=L.lo&127|128,L.lo=L.lo>>>7;Z[G++]=L.lo}m.prototype.uint64=function(Z){var G=r.from(Z);return this._push(_,G.length(),G)},m.prototype.int64=m.prototype.uint64,m.prototype.sint64=function(Z){var G=r.from(Z).zzEncode();return this._push(_,G.length(),G)},m.prototype.bool=function(Z){return this._push(g,1,Z?1:0)};function C(L,Z,G){Z[G]=L&255,Z[G+1]=L>>>8&255,Z[G+2]=L>>>16&255,Z[G+3]=L>>>24}m.prototype.fixed32=function(Z){return this._push(C,4,Z>>>0)},m.prototype.sfixed32=m.prototype.fixed32,m.prototype.fixed64=function(Z){var G=r.from(Z);return this._push(C,4,G.lo)._push(C,4,G.hi)},m.prototype.sfixed64=m.prototype.fixed64,m.prototype.float=function(Z){return this._push(i.float.writeFloatLE,4,Z)},m.prototype.double=function(Z){return this._push(i.float.writeDoubleLE,8,Z)};var V=i.Array.prototype.set?function(Z,G,I){G.set(Z,I)}:function(Z,G,I){for(var v=0;v>>0;if(!G)return this._push(g,1,0);if(i.isString(Z)){var I=m.alloc(G=s.length(Z));s.decode(Z,I,0),Z=I}return this.uint32(G)._push(V,G,Z)},m.prototype.string=function(Z){var G=a.length(Z);return G?this.uint32(G)._push(a.write,G,Z):this._push(g,1,0)},m.prototype.fork=function(){return this.states=new u(this),this.head=this.tail=new c(d,0,0),this.len=0,this},m.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(d,0,0),this.len=0),this},m.prototype.ldelim=function(){var Z=this.head,G=this.tail,I=this.len;return this.reset().uint32(I),I&&(this.tail.next=Z.next,this.tail=G,this.len+=I),this},m.prototype.finish=function(){for(var Z=this.head.next,G=this.constructor.alloc(this.len),I=0;Z;)Z.fn(Z.val,G,I),I+=Z.len,Z=Z.next;return G},m._configure=function(L){o=L,m.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,d,u){d.set(c,u)}:function(c,d,u){if(c.copy)c.copy(d,u,0,c.length);else for(var m=0;m>>0;return this.uint32(d),d&&this._push(r.writeBytesBuffer,d,c),this};function s(a,c,d){a.length<40?o.utf8.write(a,c,d):c.utf8Write?c.utf8Write(a,d):c.write(a,d)}r.prototype.string=function(c){var d=o.Buffer.byteLength(c);return this.uint32(d),d&&this._push(s,d,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var USe=gl((Dno,uO)=>{var Bno=T(S());/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var e=function(){var o={};o.defaultNoDataValue=-34027999387901484e22,o.decode=function(u,m){m=m||{};var p=m.encodedMaskData||m.encodedMaskData===null,g=c(u,m.inputOffset||0,p),f=m.noDataValue!==null?m.noDataValue:o.defaultNoDataValue,x=r(g,m.pixelType||Float32Array,m.encodedMaskData,f,m.returnMask),_={width:g.width,height:g.height,pixelData:x.resultPixels,minValue:x.minValue,maxValue:g.pixels.maxValue,noDataValue:f};return x.resultMask&&(_.maskData=x.resultMask),m.returnEncodedMask&&g.mask&&(_.encodedMaskData=g.mask.bitset?g.mask.bitset:null),m.returnFileInfo&&(_.fileInfo=s(g),m.computeUsedBitDepths&&(_.fileInfo.bitDepths=a(g))),_};var r=function(u,m,p,g,f){var x=0,_=u.pixels.numBlocksX,C=u.pixels.numBlocksY,V=Math.floor(u.width/_),L=Math.floor(u.height/C),Z=2*u.maxZError,G=Number.MAX_VALUE,I;p=p||(u.mask?u.mask.bitset:null);var v,P;v=new m(u.width*u.height),f&&p&&(P=new Uint8Array(u.width*u.height));for(var w=new Float32Array(V*L),A,b,R=0;R<=C;R++){var E=R!==C?L:u.height%C;if(E!==0)for(var X=0;X<=_;X++){var F=X!==_?V:u.width%_;if(F!==0){var N=R*u.width*L+X*V,O=u.width-F,U=u.pixels.blocks[x],Y,k,H;U.encoding<2?(U.encoding===0?Y=U.rawData:(d(U.stuffedData,U.bitsPerPixel,U.numValidPixels,U.offset,Z,w,u.pixels.maxValue),Y=w),k=0):U.encoding===2?H=0:H=U.offset;var J;if(p)for(b=0;b>3],J<<=N&7),A=0;A>3]),J&128?(P&&(P[N]=1),I=U.encoding<2?Y[k++]:H,G=G>I?I:G,v[N++]=I):(P&&(P[N]=0),v[N++]=g),J<<=1;N+=O}else if(U.encoding<2)for(b=0;bI?I:G,v[N++]=I;N+=O}else for(G=G>H?H:G,b=0;b0){var _=new Uint8Array(Math.ceil(g.width*g.height/8));x=new DataView(u,m,g.mask.numBytes);var C=x.getInt16(0,!0),V=2,L=0;do{if(C>0)for(;C--;)_[L++]=x.getUint8(V++);else{var Z=x.getUint8(V++);for(C=-C;C--;)_[L++]=Z}C=x.getInt16(V,!0),V+=2}while(V0?1:0),P=I+(g.height%I>0?1:0);g.pixels.blocks=new Array(v*P);for(var w=0,A=0;A3)throw"Invalid block encoding ("+X.encoding+")";if(X.encoding===2){m++;continue}if(F!==0&&F!==2){if(F>>=6,X.offsetType=F,F===2)X.offset=x.getInt8(1),R++;else if(F===1)X.offset=x.getInt16(1,!0),R+=2;else if(F===0)X.offset=x.getFloat32(1,!0),R+=4;else throw"Invalid block offset type";if(X.encoding===1)if(F=x.getUint8(R),R++,X.bitsPerPixel=F&63,F>>=6,X.numValidPixelsType=F,F===2)X.numValidPixels=x.getUint8(R),R++;else if(F===1)X.numValidPixels=x.getUint16(R,!0),R+=2;else if(F===0)X.numValidPixels=x.getUint32(R,!0),R+=4;else throw"Invalid valid pixel count type"}if(m+=R,X.encoding!==3){var N,O;if(X.encoding===0){var U=(g.pixels.numBytes-1)/4;if(U!==Math.floor(U))throw"uncompressed block has invalid length";N=new ArrayBuffer(U*4),O=new Uint8Array(N),O.set(new Uint8Array(u,m,U*4));var Y=new Float32Array(N);X.rawData=Y,m+=U*4}else if(X.encoding===1){var k=Math.ceil(X.numValidPixels*X.bitsPerPixel/8),H=Math.ceil(k/4);N=new ArrayBuffer(H*4),O=new Uint8Array(N),O.set(new Uint8Array(u,m,k)),X.stuffedData=new Uint32Array(N),m+=k}}}return g.eofOffset=m,g},d=function(u,m,p,g,f,x,_){var C=(1<=m)G=I>>>Z-m&C,Z-=m;else{var w=m-Z;G=(I&C)<>>Z}x[L]=G=u?(Z=G>>>L-u&_,L-=u):(I=u-L,Z=(G&_)<>>L),d[V]=p[Z];else for(v=Math.ceil((x-g)/f),V=0;V=u?(Z=G>>>L-u&_,L-=u):(I=u-L,Z=(G&_)<>>L),d[V]=Z=d?(L=Z>>>V-d&f,V-=d):(C=d-V,L=(Z&f)<>>V),G[_]=L=u?(G=I>>>Z&_,L-=u,Z+=u):(v=u-L,G=I>>>Z&_,I=c[C++],L=32-v,G|=(I&(1<=u?(G=I>>>Z&_,L-=u,Z+=u):(v=u-L,G=I>>>Z&_,I=c[C++],L=32-v,G|=(I&(1<=d?(L=G>>>Z&f,V-=d,Z+=d):(C=d-V,L=G>>>Z&f,G=c[x++],V=32-C,L|=(G&(1<=u?(_=C>>>x-u&p,x-=u):(V=u-x,_=(C&p)<>>x),d[f]=_;return d},originalUnstuff2:function(c,d,u,m){var p=(1<=u?(C=V>>>_&p,x-=u,_+=u):(L=u-x,C=V>>>_&p,V=c[g++],x=32-L,C|=(V&(1<=359?359:p;p-=f;do d+=c[g++]<<8,u+=d+=c[g++];while(--f);d=(d&65535)+(d>>>16),u=(u&65535)+(u>>>16)}return m&1&&(u+=d+=c[g]<<8),d=(d&65535)+(d>>>16),u=(u&65535)+(u>>>16),(u<<16|d)>>>0},readHeaderInfo:function(c,d){var u=d.ptr,m=new Uint8Array(c,u,6),p={};if(p.fileIdentifierString=String.fromCharCode.apply(null,m),p.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+p.fileIdentifierString;u+=6;var g=new DataView(c,u,8),f=g.getInt32(0,!0);p.fileVersion=f,u+=4,f>=3&&(p.checksum=g.getUint32(4,!0),u+=4),g=new DataView(c,u,12),p.height=g.getUint32(0,!0),p.width=g.getUint32(4,!0),u+=8,f>=4?(p.numDims=g.getUint32(8,!0),u+=4):p.numDims=1,g=new DataView(c,u,40),p.numValidPixel=g.getUint32(0,!0),p.microBlockSize=g.getInt32(4,!0),p.blobSize=g.getInt32(8,!0),p.imageType=g.getInt32(12,!0),p.maxZError=g.getFloat64(16,!0),p.zMin=g.getFloat64(24,!0),p.zMax=g.getFloat64(32,!0),u+=40,d.headerInfo=p,d.ptr=u;var x,_;if(f>=3&&(_=f>=4?52:48,x=this.computeChecksumFletcher32(new Uint8Array(c,u-_,p.blobSize-14)),x!==p.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(c,d){var u=d.headerInfo,m=this.getDataTypeArray(u.imageType),p=u.numDims*this.getDataTypeSize(u.imageType),g=this.readSubArray(c,d.ptr,m,p),f=this.readSubArray(c,d.ptr+p,m,p);d.ptr+=2*p;var x,_=!0;for(x=0;x0){_=new Uint8Array(Math.ceil(p/8)),f=new DataView(c,u,x.numBytes);var V=f.getInt16(0,!0),L=2,Z=0,G=0;do{if(V>0)for(;V--;)_[Z++]=f.getUint8(L++);else for(G=f.getUint8(L++),V=-V;V--;)_[Z++]=G;V=f.getInt16(L,!0),L+=2}while(L>3],I<<=v&7):I=_[v>>3],I&128&&(C[v]=1);d.pixels.resultMask=C,x.bitset=_,u+=x.numBytes}return d.ptr=u,d.mask=x,!0},readDataOneSweep:function(c,d,u){var m=d.ptr,p=d.headerInfo,g=p.numDims,f=p.width*p.height,x=p.imageType,_=p.numValidPixel*r.getDataTypeSize(x)*g,C,V=d.pixels.resultMask;if(u===Uint8Array)C=new Uint8Array(c,m,_);else{var L=new ArrayBuffer(_),Z=new Uint8Array(L);Z.set(new Uint8Array(c,m,_)),C=new u(L)}if(C.length===f*g)d.pixels.resultPixels=C;else{d.pixels.resultPixels=new u(f*g);var G=0,I=0,v=0,P=0;if(g>1)for(v=0;v=x)return!1;var _=new Uint32Array(x-f);r.decodeBits(c,d,_);var C=[],V,L,Z,G;for(V=f;V0&&(C[L].second=R<>>32-G,32-b>=G?(b+=G,b===32&&(b=0,E++,R=A[E])):(b+=G-32,E++,R=A[E],C[L].second|=R>>>32-b));var X=0,F=0,N=new s;for(V=0;V=u?F=u:F=X,X>=30&&console.log("WARning, large NUM LUT BITS IS "+X);var O=[],U,Y,k,H,J,te;for(V=f;V0)if(U=[G,L],G<=F)for(Y=C[L].second<=0;H--)J=Y>>>H&1,J?(te.right||(te.right=new s),te=te.right):(te.left||(te.left=new s),te=te.left),H===0&&!te.val&&(te.val=U[1]);return{decodeLut:O,numBitsLUTQick:F,numBitsLUT:X,tree:N,stuffedData:A,srcPtr:E,bitPos:b}},readHuffman:function(c,d,u){var m=d.headerInfo,p=m.numDims,g=d.headerInfo.height,f=d.headerInfo.width,x=f*g,_=this.readHuffmanTree(c,d),C=_.decodeLut,V=_.tree,L=_.stuffedData,Z=_.srcPtr,G=_.bitPos,I=_.numBitsLUTQick,v=_.numBitsLUT,P=d.headerInfo.imageType===0?128:0,w,A,b,R=d.pixels.resultMask,E,X,F,N,O,U,Y,k=0;G>0&&(Z++,G=0);var H=L[Z],J=d.encodeMode===1,te=new u(x*p),z=te,q;for(q=0;q1&&(z=new u(te.buffer,x*q,x),k=0),d.headerInfo.numValidPixel===f*g)for(U=0,N=0;N>>32-I,X=E,32-G>>64-G-I,X=E),C[X])A=C[X][1],G+=C[X][0];else for(E=H<>>32-v,X=E,32-G>>64-G-v,X=E),w=V,Y=0;Y>>v-Y-1&1,w=F?w.right:w.left,!(w.left||w.right)){A=w.val,G=G+Y+1;break}G>=32&&(G-=32,Z++,H=L[Z]),b=A-P,J?(O>0?b+=k:N>0?b+=z[U-f]:b+=k,b&=255,z[U]=b,k=b):z[U]=b}else for(U=0,N=0;N>>32-I,X=E,32-G>>64-G-I,X=E),C[X])A=C[X][1],G+=C[X][0];else for(E=H<>>32-v,X=E,32-G>>64-G-v,X=E),w=V,Y=0;Y>>v-Y-1&1,w=F?w.right:w.left,!(w.left||w.right)){A=w.val,G=G+Y+1;break}G>=32&&(G-=32,Z++,H=L[Z]),b=A-P,J?(O>0&&R[U-1]?b+=k:N>0&&R[U-f]?b+=z[U-f]:b+=k,b&=255,z[U]=b,k=b):z[U]=b}d.ptr=d.ptr+(Z+1)*4+(G>0?4:0)}d.pixels.resultPixels=te},decodeBits:function(c,d,u,m,p){{var g=d.headerInfo,f=g.fileVersion,x=0,_=new DataView(c,d.ptr,5),C=_.getUint8(0);x++;var V=C>>6,L=V===0?4:3-V,Z=(C&32)>0,G=C&31,I=0;if(L===1)I=_.getUint8(x),x++;else if(L===2)I=_.getUint16(x,!0),x+=2;else if(L===4)I=_.getUint32(x,!0),x+=4;else throw"Invalid valid pixel count type";var v=2*g.maxZError,P,w,A,b,R,E,X,F,N,O,U=g.numDims>1?g.maxValues[p]:g.zMax;if(Z){for(d.counter.lut++,F=_.getUint8(x),N=G,x++,b=Math.ceil((F-1)*G/8),R=Math.ceil(b/4),w=new ArrayBuffer(R*4),A=new Uint8Array(w),d.ptr+=x,A.set(new Uint8Array(c,d.ptr,b)),X=new Uint32Array(w),d.ptr+=b,O=0;F-1>>>O;)O++;b=Math.ceil(I*O/8),R=Math.ceil(b/4),w=new ArrayBuffer(R*4),A=new Uint8Array(w),A.set(new Uint8Array(c,d.ptr,b)),P=new Uint32Array(w),d.ptr+=b,f>=3?E=o.unstuffLUT2(X,G,F-1,m,v,U):E=o.unstuffLUT(X,G,F-1,m,v,U),f>=3?o.unstuff2(P,u,O,I,E):o.unstuff(P,u,O,I,E)}else d.counter.bitstuffer++,O=G,d.ptr+=x,O>0&&(b=Math.ceil(I*O/8),R=Math.ceil(b/4),w=new ArrayBuffer(R*4),A=new Uint8Array(w),A.set(new Uint8Array(c,d.ptr,b)),P=new Uint32Array(w),d.ptr+=b,f>=3?m==null?o.originalUnstuff2(P,u,O,I):o.unstuff2(P,u,O,I,!1,m,v,U):m==null?o.originalUnstuff(P,u,O,I):o.unstuff(P,u,O,I,!1,m,v,U))}},readTiles:function(c,d,u){var m=d.headerInfo,p=m.width,g=m.height,f=m.microBlockSize,x=m.imageType,_=r.getDataTypeSize(x),C=Math.ceil(p/f),V=Math.ceil(g/f);d.pixels.numBlocksY=V,d.pixels.numBlocksX=C,d.pixels.ptr=0;var L=0,Z=0,G=0,I=0,v=0,P=0,w=0,A=0,b=0,R=0,E=0,X=0,F=0,N=0,O=0,U=0,Y,k,H,J,te,z,q=new u(f*f),ee=g%f||f,pe=p%f||f,_e,ae,ye=m.numDims,Te,Xe=d.pixels.resultMask,Ie=d.pixels.resultPixels;for(G=0;G1&&(Ie=new u(d.pixels.resultPixels.buffer,p*g*Te*_,p*g)),w=c.byteLength-d.ptr,Y=new DataView(c,d.ptr,Math.min(10,w)),k={},U=0,A=Y.getUint8(0),U++,b=A>>6&255,R=A>>2&15,R!==(I*f>>3&15))throw"integrity issue";if(z=A&3,z>3)throw d.ptr+=U,"Invalid block encoding ("+z+")";if(z===2){d.counter.constant++,d.ptr+=U;continue}else if(z===0){if(d.counter.uncompressed++,d.ptr+=U,F=v*P*_,N=c.byteLength-d.ptr,F=F1)for(g=0;g=-128&&d<=127;break;case 1:u=d>=0&&d<=255;break;case 2:u=d>=-32768&&d<=32767;break;case 3:u=d>=0&&d<=65536;break;case 4:u=d>=-2147483648&&d<=2147483647;break;case 5:u=d>=0&&d<=4294967296;break;case 6:u=d>=-34027999387901484e22&&d<=34027999387901484e22;break;case 7:u=d>=5e-324&&d<=17976931348623157e292;break;default:u=!1}return u},getDataTypeSize:function(c){var d=0;switch(c){case 0:case 1:d=1;break;case 2:case 3:d=2;break;case 4:case 5:case 6:d=4;break;case 7:d=8;break;default:d=c}return d},getDataTypeUsed:function(c,d){var u=c;switch(c){case 2:case 4:u=c-d;break;case 3:case 5:u=c-2*d;break;case 6:d===0?u=c:d===1?u=2:u=1;break;case 7:d===0?u=c:u=c-2*d+1;break;default:u=c;break}return u},getOnePixel:function(c,d,u,m){var p=0;switch(u){case 0:p=m.getInt8(d);break;case 1:p=m.getUint8(d);break;case 2:p=m.getInt16(d,!0);break;case 3:p=m.getUint16(d,!0);break;case 4:p=m.getInt32(d,!0);break;case 5:p=m.getUInt32(d,!0);break;case 6:p=m.getFloat32(d,!0);break;case 7:p=m.getFloat64(d,!0);break;default:throw"the decoder does not understand this pixel type"}return p}},s=function(c,d,u){this.val=c,this.left=d,this.right=u},a={decode:function(c,d){d=d||{};var u=d.noDataValue,m=0,p={};if(p.ptr=d.inputOffset||0,p.pixels={},!!r.readHeaderInfo(c,p)){var g=p.headerInfo,f=g.fileVersion,x=r.getDataTypeArray(g.imageType);r.readMask(c,p),g.numValidPixel!==g.width*g.height&&!p.pixels.resultMask&&(p.pixels.resultMask=d.maskData);var _=g.width*g.height;if(p.pixels.resultPixels=new x(_*g.numDims),p.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},g.numValidPixel!==0)if(g.zMax===g.zMin)r.constructConstantSurface(p);else if(f>=4&&r.checkMinMaxRanges(c,p))r.constructConstantSurface(p);else{var C=new DataView(c,p.ptr,2),V=C.getUint8(0);if(p.ptr++,V)r.readDataOneSweep(c,p,x);else if(f>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var L=C.getUint8(1);if(p.ptr++,p.encodeMode=L,L>2||f<4&&L>1)throw"Invalid Huffman flag "+L;L?r.readHuffman(c,p,x):r.readTiles(c,p,x)}else r.readTiles(c,p,x)}p.eofOffset=p.ptr;var Z;d.inputOffset?(Z=p.headerInfo.blobSize+d.inputOffset-p.ptr,Math.abs(Z)>=1&&(p.eofOffset=d.inputOffset+p.headerInfo.blobSize)):(Z=p.headerInfo.blobSize-p.ptr,Math.abs(Z)>=1&&(p.eofOffset=p.headerInfo.blobSize));var G={width:g.width,height:g.height,pixelData:p.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:p.pixels.resultMask};if(p.pixels.resultMask&&r.isValidPixelValue(g.imageType,u)){var I=p.pixels.resultMask;for(m=0;m<_;m++)I[m]||(G.pixelData[m]=u);G.noDataValue=u}return p.noDataValue=u,d.returnFileInfo&&(G.fileInfo=r.formatFileInfo(p)),G}},getBandCount:function(c){var d=0,u=0,m={};for(m.ptr=0,m.pixels={};u1&&V.fileInfo.mask&&V.fileInfo.mask.numBytes>0&&f.push(V.maskData),m++,C.pixels.push(V.pixelData),C.statistics.push({minValue:V.minValue,maxValue:V.maxValue,noDataValue:V.noDataValue,dimStats:V.dimStats})}var L,Z,G;if(u>1&&f.length>1){for(G=C.width*C.height,C.bandMasks=f,_=new Uint8Array(G),_.set(f[0]),L=1;L{var AEo=T(S());LCe.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}});var GCe=gl((MEo,ZCe)=>{var NEo=T(S()),{webm:x1t,mp4:_1t}=RCe(),K6=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,J6=()=>"wakeLock"in navigator,Q6=class{constructor(){if(this.enabled=!1,J6()){this._wakeLock=null;let t=()=>{this._wakeLock!==null&&document.visibilityState==="visible"&&this.enable()};document.addEventListener("visibilitychange",t),document.addEventListener("fullscreenchange",t)}else K6()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",x1t),this._addSourceToVideo(this.noSleepVideo,"mp4",_1t),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(t,n,i){var o=document.createElement("source");o.src=i,o.type=`video/${n}`,t.appendChild(o)}get isEnabled(){return this.enabled}enable(){return J6()?navigator.wakeLock.request("screen").then(t=>{this._wakeLock=t,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(t=>{throw this.enabled=!1,console.error(`${t.name}, ${t.message}`),t}):K6()?(this.disable(),console.warn(` NoSleep enabled for older iOS devices. This can interrupt active or long-running network requests from completing successfully. See https://github.com/richtr/NoSleep.js/issues/15 for more details. - `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(n=>(this.enabled=!0,n)).catch(n=>{throw this.enabled=!1,n})}disable(){A6()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):F6()?this.noSleepTimer&&(console.warn(` + `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(n=>(this.enabled=!0,n)).catch(n=>{throw this.enabled=!1,n})}disable(){J6()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):K6()?this.noSleepTimer&&(console.warn(` NoSleep now disabled for older iOS devices. - `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};uCe.exports=M6});var a1t={};wCe(a1t,{AlphaMode:()=>uf,AlphaPipelineStage:()=>dW,AnchorPointDirect:()=>fX,AnchorPointIndirect:()=>pX,Animation:()=>eM,AnimationViewModel:()=>tM,Appearance:()=>eo,ApproximateTerrainHeights:()=>li,ArcGISTiledElevationTerrainProvider:()=>F7,ArcGisBaseMapType:()=>Ch,ArcGisMapServerImageryProvider:()=>eb,ArcGisMapService:()=>Bd,ArcType:()=>on,ArticulationStageType:()=>hc,AssociativeArray:()=>Zt,Atmosphere:()=>mw,AtmospherePipelineStage:()=>OX,AttributeCompression:()=>An,AttributeType:()=>an,AutoExposure:()=>hw,AutomaticUniforms:()=>pp,Axis:()=>Io,AxisAlignedBoundingBox:()=>Ub,B3dmLoader:()=>GX,B3dmParser:()=>LX,BaseLayerPicker:()=>J9,BaseLayerPickerViewModel:()=>K9,BatchTable:()=>xx,BatchTableHierarchy:()=>Hx,BatchTexture:()=>Oc,BatchTexturePipelineStage:()=>uW,Billboard:()=>ao,BillboardCollection:()=>Td,BillboardGraphics:()=>oc,BillboardVisualizer:()=>oE,BingMapsGeocoderService:()=>M7,BingMapsImageryProvider:()=>pw,BingMapsStyle:()=>vV,BlendEquation:()=>va,BlendFunction:()=>So,BlendOption:()=>Vo,BlendingState:()=>hn,BoundingRectangle:()=>Ke,BoundingSphere:()=>le,BoundingSphereState:()=>ht,BoundingVolumeSemantics:()=>d_,BoxEmitter:()=>I4,BoxGeometry:()=>Tl,BoxGeometryUpdater:()=>SI,BoxGraphics:()=>Wx,BoxOutlineGeometry:()=>Lm,BrdfLutGenerator:()=>yw,Buffer:()=>xt,BufferLoader:()=>$x,BufferUsage:()=>Ue,CPUStylingPipelineStage:()=>pW,CallbackPositionProperty:()=>CI,CallbackProperty:()=>vm,Camera:()=>oo,CameraEventAggregator:()=>Uw,CameraEventType:()=>Wi,CameraFlightPath:()=>Aw,Cartesian2:()=>D,Cartesian3:()=>h,Cartesian4:()=>se,Cartographic:()=>he,CartographicGeocoderService:()=>k7,CatmullRomSpline:()=>U7,Cesium3DContentGroup:()=>zx,Cesium3DTile:()=>Nu,Cesium3DTileBatchTable:()=>Dp,Cesium3DTileColorBlendMode:()=>Zl,Cesium3DTileContent:()=>j4,Cesium3DTileContentFactory:()=>E_,Cesium3DTileContentState:()=>Do,Cesium3DTileContentType:()=>Vs,Cesium3DTileFeature:()=>ks,Cesium3DTileFeatureTable:()=>zm,Cesium3DTileOptimizationHint:()=>Pu,Cesium3DTileOptimizations:()=>eP,Cesium3DTilePass:()=>vo,Cesium3DTilePassState:()=>$u,Cesium3DTilePointFeature:()=>f0,Cesium3DTileRefine:()=>No,Cesium3DTileStyle:()=>ZT,Cesium3DTileStyleEngine:()=>sP,Cesium3DTilesInspector:()=>rM,Cesium3DTilesInspectorViewModel:()=>oM,Cesium3DTilesVoxelProvider:()=>rj,Cesium3DTileset:()=>fa,Cesium3DTilesetBaseTraversal:()=>mP,Cesium3DTilesetCache:()=>iP,Cesium3DTilesetGraphics:()=>Nx,Cesium3DTilesetHeatmap:()=>oP,Cesium3DTilesetMetadata:()=>N_,Cesium3DTilesetMostDetailedTraversal:()=>lP,Cesium3DTilesetSkipTraversal:()=>pP,Cesium3DTilesetStatistics:()=>G0,Cesium3DTilesetTraversal:()=>zs,Cesium3DTilesetVisualizer:()=>bP,CesiumInspector:()=>cM,CesiumInspectorViewModel:()=>aM,CesiumTerrainProvider:()=>bS,CesiumWidget:()=>F9,Check:()=>yo,CheckerboardMaterialProperty:()=>C1,CircleEmitter:()=>Hw,CircleGeometry:()=>D7,CircleOutlineGeometry:()=>B7,ClassificationModelDrawCommand:()=>l2,ClassificationPipelineStage:()=>mW,ClassificationPrimitive:()=>cC,ClassificationType:()=>Un,ClearCommand:()=>ni,ClippingPlane:()=>u_,ClippingPlaneCollection:()=>us,ClippingPolygon:()=>AC,ClippingPolygonCollection:()=>Bm,Clock:()=>sh,ClockRange:()=>Dr,ClockStep:()=>bo,ClockViewModel:()=>z9,CloudCollection:()=>uj,CloudType:()=>kV,Color:()=>B,ColorBlendMode:()=>mc,ColorGeometryInstanceAttribute:()=>Ht,ColorMaterialProperty:()=>Ot,Command:()=>S6,ComponentDatatype:()=>Q,Composite3DTileContent:()=>ZI,CompositeEntityCollection:()=>LK,CompositeMaterialProperty:()=>L1,CompositePositionProperty:()=>pa,CompositeProperty:()=>yc,CompressedTextureBuffer:()=>hR,ComputeCommand:()=>gm,ComputeEngine:()=>mR,ConditionsExpression:()=>Dw,ConeEmitter:()=>bj,ConstantPositionProperty:()=>kc,ConstantProperty:()=>jn,ConstantSpline:()=>WX,ContentMetadata:()=>Y2,Context:()=>jG,ContextLimits:()=>Dt,CoplanarPolygonGeometry:()=>jP,CoplanarPolygonGeometryLibrary:()=>S0,CoplanarPolygonOutlineGeometry:()=>Mu,CornerType:()=>Ei,CorrelationGroup:()=>bX,CorridorGeometry:()=>Y_,CorridorGeometryLibrary:()=>ki,CorridorGeometryUpdater:()=>LP,CorridorGraphics:()=>vx,CorridorOutlineGeometry:()=>VP,Credit:()=>Et,CreditDisplay:()=>dF,CubeMap:()=>Xa,CubeMapFace:()=>pR,CubicRealPolynomial:()=>gx,CullFace:()=>yi,CullingVolume:()=>ls,CumulusCloud:()=>Hd,CustomDataSource:()=>GP,CustomHeightmapTerrainProvider:()=>O7,CustomShader:()=>uS,CustomShaderMode:()=>d0,CustomShaderPipelineStage:()=>VW,CustomShaderTranslucencyMode:()=>Lg,CylinderGeometry:()=>EP,CylinderGeometryLibrary:()=>z_,CylinderGeometryUpdater:()=>XP,CylinderGraphics:()=>wx,CylinderOutlineGeometry:()=>IP,CzmlDataSource:()=>UP,DataSource:()=>Ur,DataSourceClock:()=>ah,DataSourceCollection:()=>DP,DataSourceDisplay:()=>Rv,DebugAppearance:()=>Ij,DebugCameraPrimitive:()=>Jf,DebugInspector:()=>bF,DebugModelMatrixPrimitive:()=>gF,DefaultProxy:()=>Y7,DepthFunction:()=>rc,DepthPlane:()=>SF,DequantizationPipelineStage:()=>RW,DerivedCommand:()=>Qf,DeveloperError:()=>fe,DeviceOrientationCameraController:()=>CF,DirectionalLight:()=>vj,DiscardEmptyTileImagePolicy:()=>wV,DiscardMissingTileImagePolicy:()=>dw,DistanceDisplayCondition:()=>vt,DistanceDisplayConditionGeometryInstanceAttribute:()=>kn,DoubleEndedPriorityQueue:()=>GT,DoublyLinkedList:()=>nP,DracoLoader:()=>Jp,DrawCommand:()=>tt,DynamicAtmosphereLightingType:()=>CT,DynamicGeometryBatch:()=>eT,DynamicGeometryUpdater:()=>ii,EarthOrientationParameters:()=>iR,EarthOrientationParametersSample:()=>Zb,EasingFunction:()=>Or,EllipseGeometry:()=>el,EllipseGeometryLibrary:()=>kl,EllipseGeometryUpdater:()=>OP,EllipseGraphics:()=>Fx,EllipseOutlineGeometry:()=>Wd,Ellipsoid:()=>ne,EllipsoidGeodesic:()=>Xp,EllipsoidGeometry:()=>Ks,EllipsoidGeometryUpdater:()=>zP,EllipsoidGraphics:()=>Ax,EllipsoidOutlineGeometry:()=>Cd,EllipsoidPrimitive:()=>VF,EllipsoidRhumbLine:()=>wa,EllipsoidSurfaceAppearance:()=>Fj,EllipsoidTangentPlane:()=>zr,EllipsoidTerrainProvider:()=>UT,EllipsoidalOccluder:()=>v0,Empty3DTileContent:()=>d1,EncodedCartesian3:()=>zn,Entity:()=>qo,EntityCluster:()=>Rd,EntityCollection:()=>Hs,EntityView:()=>Gv,Event:()=>be,EventHelper:()=>Mr,Expression:()=>_u,ExpressionNodeType:()=>gt,ExtrapolationType:()=>Gd,FeatureDetection:()=>zt,FeatureIdPipelineStage:()=>Vg,Fog:()=>ZF,ForEach:()=>Xe,FrameRateMonitor:()=>GF,FrameState:()=>EF,Framebuffer:()=>aa,FramebufferManager:()=>fi,FrustumCommands:()=>IF,FrustumGeometry:()=>MT,FrustumOutlineGeometry:()=>fF,Fullscreen:()=>br,FullscreenButton:()=>dM,FullscreenButtonViewModel:()=>lM,GeoJsonDataSource:()=>Jv,GeoJsonLoader:()=>EX,GeocodeType:()=>My,Geocoder:()=>mM,GeocoderService:()=>FL,GeocoderViewModel:()=>uM,GeographicProjection:()=>Ri,GeographicTilingScheme:()=>Oi,Geometry:()=>ft,Geometry3DTileContent:()=>EI,GeometryAttribute:()=>Re,GeometryAttributes:()=>fn,GeometryFactory:()=>z7,GeometryInstance:()=>Gt,GeometryInstanceAttribute:()=>sc,GeometryOffsetAttribute:()=>un,GeometryPipeline:()=>Dn,GeometryPipelineStage:()=>IW,GeometryType:()=>lu,GeometryUpdater:()=>oi,GeometryUpdaterSet:()=>uT,GeometryVisualizer:()=>fv,GetFeatureInfoFormat:()=>wT,Globe:()=>JF,GlobeDepth:()=>QF,GlobeSurfaceShaderSet:()=>wF,GlobeSurfaceTile:()=>om,GlobeSurfaceTileProvider:()=>NF,GlobeTranslucency:()=>kF,GlobeTranslucencyFramebuffer:()=>jF,GlobeTranslucencyState:()=>qF,GltfBufferViewLoader:()=>TC,GltfDracoLoader:()=>SC,GltfGpmLoader:()=>yX,GltfGpmLocal:()=>NC,GltfImageLoader:()=>CC,GltfIndexBufferLoader:()=>VC,GltfJsonLoader:()=>RC,GltfLoader:()=>n0,GltfLoaderUtil:()=>Xl,GltfMeshPrimitiveGpmLoader:()=>SX,GltfStructuralMetadataLoader:()=>mX,GltfTextureLoader:()=>ZC,GltfVertexBufferLoader:()=>GC,GoogleEarthEnterpriseImageryProvider:()=>c8,GoogleEarthEnterpriseMapsProvider:()=>nF,GoogleEarthEnterpriseMetadata:()=>db,GoogleEarthEnterpriseTerrainData:()=>AL,GoogleEarthEnterpriseTerrainProvider:()=>Q7,GoogleEarthEnterpriseTileInformation:()=>eA,GoogleMaps:()=>PT,GpxDataSource:()=>$v,GregorianDate:()=>gp,GridImageryProvider:()=>l8,GridMaterialProperty:()=>w1,GroundGeometryUpdater:()=>Hn,GroundPolylineGeometry:()=>Gx,GroundPolylinePrimitive:()=>Em,GroundPrimitive:()=>Mc,GroupMetadata:()=>_1,HeadingPitchRange:()=>Ju,HeadingPitchRoll:()=>Ea,Heap:()=>$L,HeightReference:()=>Je,HeightmapEncoding:()=>tm,HeightmapTerrainData:()=>Ya,HeightmapTessellator:()=>QV,HermitePolynomialApproximation:()=>WP,HermiteSpline:()=>Tg,HilbertOrder:()=>gC,HomeButton:()=>fM,HomeButtonViewModel:()=>hM,HorizontalOrigin:()=>gi,I3SBuildingSceneLayerExplorer:()=>X6,I3SBuildingSceneLayerExplorerViewModel:()=>pM,I3SDataProvider:()=>wh,I3SDecoder:()=>tA,I3SFeature:()=>nA,I3SField:()=>iA,I3SGeometry:()=>aL,I3SLayer:()=>JT,I3SNode:()=>cL,I3SStatistics:()=>sA,I3SSublayer:()=>cA,I3SSymbology:()=>rA,I3dmLoader:()=>XX,I3dmParser:()=>IX,Iau2000Orientation:()=>mA,Iau2006XysData:()=>oR,Iau2006XysSample:()=>sx,IauOrientationAxes:()=>hA,IauOrientationParameters:()=>uA,ImageBasedLighting:()=>Yx,ImageBasedLightingPipelineStage:()=>zX,ImageMaterialProperty:()=>zb,Imagery:()=>eL,ImageryLayer:()=>Sa,ImageryLayerCollection:()=>UF,ImageryLayerFeatureInfo:()=>Vh,ImageryProvider:()=>il,ImageryState:()=>qn,Implicit3DTileContent:()=>XC,ImplicitAvailabilityBitstream:()=>xC,ImplicitMetadataView:()=>_C,ImplicitSubdivisionScheme:()=>Jr,ImplicitSubtree:()=>c_,ImplicitSubtreeCache:()=>Yw,ImplicitSubtreeMetadata:()=>II,ImplicitTileCoordinates:()=>D_,ImplicitTileset:()=>U_,IndexDatatype:()=>Ne,InfoBox:()=>gM,InfoBoxViewModel:()=>bM,InspectorShared:()=>Ka,InstanceAttributeSemantic:()=>jr,InstancingPipelineStage:()=>sW,InterpolationAlgorithm:()=>j7,InterpolationType:()=>Om,Intersect:()=>Kt,IntersectionTests:()=>ei,Intersections2D:()=>Sb,Interval:()=>Pa,InvertClassification:()=>dL,Ion:()=>Fm,IonGeocoderService:()=>N9,IonImageryProvider:()=>ob,IonResource:()=>hd,IonWorldImageryStyle:()=>rb,Iso8601:()=>Oe,JobScheduler:()=>lA,JobType:()=>Ma,JsonMetadataTable:()=>e0,JulianDate:()=>j,KTX2Transcoder:()=>fR,KeyboardEventModifier:()=>qs,KeyframeNode:()=>qi,KmlCamera:()=>ew,KmlDataSource:()=>cw,KmlLookAt:()=>tw,KmlTour:()=>nw,KmlTourFlyTo:()=>ow,KmlTourWait:()=>rw,Label:()=>Xg,LabelCollection:()=>yf,LabelGraphics:()=>Xm,LabelStyle:()=>Uo,LabelVisualizer:()=>pv,LagrangePolynomialApproximation:()=>PP,LeapSecond:()=>Di,Light:()=>h8,LightingModel:()=>ff,LightingPipelineStage:()=>WW,LinearApproximation:()=>K_,LinearSpline:()=>_g,ManagedArray:()=>Bc,MapMode2D:()=>Jl,MapProjection:()=>e6,MapboxImageryProvider:()=>iF,MapboxStyleImageryProvider:()=>f8,Mars3DEx:()=>u0,Material:()=>Bi,MaterialAppearance:()=>ro,MaterialPipelineStage:()=>vW,MaterialProperty:()=>jo,Math:()=>W,Matrix2:()=>wi,Matrix3:()=>$,Matrix4:()=>M,Megatexture:()=>mL,MeshPrimitiveGpmLocal:()=>TX,MetadataClass:()=>km,MetadataClassProperty:()=>tg,MetadataComponentType:()=>Yt,MetadataEntity:()=>Nn,MetadataEnum:()=>QI,MetadataEnumValue:()=>JI,MetadataPicking:()=>dA,MetadataPickingPipelineStage:()=>xd,MetadataPipelineStage:()=>Vu,MetadataSchema:()=>gd,MetadataSchemaLoader:()=>EC,MetadataSemantic:()=>l_,MetadataTable:()=>El,MetadataTableProperty:()=>WI,MetadataType:()=>Lt,MipmapHint:()=>qh,Model:()=>Jm,Model3DTileContent:()=>pf,ModelAlphaOptions:()=>qW,ModelAnimation:()=>FX,ModelAnimationChannel:()=>wX,ModelAnimationCollection:()=>AX,ModelAnimationLoop:()=>Pl,ModelAnimationState:()=>Hm,ModelArticulation:()=>KX,ModelArticulationStage:()=>HX,ModelClippingPlanesPipelineStage:()=>jX,ModelClippingPolygonsPipelineStage:()=>eW,ModelColorPipelineStage:()=>Cg,ModelComponents:()=>Cn,ModelDrawCommand:()=>d2,ModelDrawCommands:()=>h2,ModelFeature:()=>MX,ModelFeatureTable:()=>kX,ModelGraphics:()=>Fp,ModelLightingOptions:()=>s2,ModelMatrixUpdateStage:()=>aW,ModelNode:()=>tW,ModelRenderResources:()=>$W,ModelRuntimeNode:()=>lW,ModelRuntimePrimitive:()=>QW,ModelSceneGraph:()=>f2,ModelSilhouettePipelineStage:()=>n2,ModelSkin:()=>jW,ModelSplitterPipelineStage:()=>o2,ModelStatistics:()=>p2,ModelType:()=>dr,ModelUtility:()=>qt,ModelVisualizer:()=>bv,Moon:()=>pA,MorphTargetsPipelineStage:()=>FW,MorphWeightSpline:()=>t6,MortonOrder:()=>Ag,Multiple3DTileContent:()=>K2,MultisampleFramebuffer:()=>qG,NavigationHelpButton:()=>TM,NavigationHelpButtonViewModel:()=>_M,NearFarScalar:()=>kt,NeverTileDiscardPolicy:()=>g8,NodeRenderResources:()=>r2,NodeStatisticsPipelineStage:()=>cW,NodeTransformationProperty:()=>Mx,OIT:()=>gA,Occluder:()=>e9,OffsetGeometryInstanceAttribute:()=>Qi,OpenCageGeocoderService:()=>i6,OpenStreetMapImageryProvider:()=>hb,OrderedGroundPrimitiveCollection:()=>BP,OrientedBoundingBox:()=>Xn,OrthographicFrustum:()=>ln,OrthographicOffCenterFrustum:()=>Xr,Packable:()=>o6,PackableForInterpolation:()=>r6,Particle:()=>fL,ParticleBurst:()=>S8,ParticleEmitter:()=>C8,ParticleSystem:()=>V8,Pass:()=>Ze,PassState:()=>ic,PathGraphics:()=>Ap,PathVisualizer:()=>yv,PeliasGeocoderService:()=>M9,PerInstanceColorAppearance:()=>mn,PerformanceDisplay:()=>fb,PerformanceWatchdog:()=>xM,PerformanceWatchdogViewModel:()=>yM,PerspectiveFrustum:()=>Li,PerspectiveOffCenterFrustum:()=>ol,PickDepth:()=>xA,PickDepthFramebuffer:()=>TA,PickFramebuffer:()=>VA,PickedMetadataInfo:()=>SA,Picking:()=>EA,PickingPipelineStage:()=>AW,PinBuilder:()=>q0,PixelDatatype:()=>it,PixelFormat:()=>dt,Plane:()=>dn,PlaneGeometry:()=>HP,PlaneGeometryUpdater:()=>JP,PlaneGraphics:()=>pI,PlaneOutlineGeometry:()=>KP,PntsLoader:()=>g2,PntsParser:()=>C_,PointCloud:()=>XA,PointCloudEyeDomeLighting:()=>i0,PointCloudShading:()=>hf,PointCloudStylingPipelineStage:()=>NW,PointGraphics:()=>kx,PointPrimitive:()=>Rs,PointPrimitiveCollection:()=>I1,PointVisualizer:()=>_v,PolygonGeometry:()=>$p,PolygonGeometryLibrary:()=>On,PolygonGeometryUpdater:()=>$P,PolygonGraphics:()=>Wm,PolygonHierarchy:()=>Fa,PolygonOutlineGeometry:()=>qP,PolygonPipeline:()=>ai,Polyline:()=>Iu,PolylineArrowMaterialProperty:()=>A1,PolylineCollection:()=>jm,PolylineColorAppearance:()=>Hr,PolylineDashMaterialProperty:()=>N1,PolylineGeometry:()=>H0,PolylineGeometryUpdater:()=>Cv,PolylineGlowMaterialProperty:()=>U1,PolylineGraphics:()=>ac,PolylineMaterialAppearance:()=>da,PolylineOutlineMaterialProperty:()=>Yg,PolylinePipeline:()=>Gi,PolylineVisualizer:()=>Lv,PolylineVolumeGeometry:()=>nv,PolylineVolumeGeometryLibrary:()=>nh,PolylineVolumeGeometryUpdater:()=>sv,PolylineVolumeGraphics:()=>Ux,PolylineVolumeOutlineGeometry:()=>rv,PositionProperty:()=>Im,PositionPropertyArray:()=>M0,PostProcessStage:()=>uo,PostProcessStageCollection:()=>$A,PostProcessStageComposite:()=>cl,PostProcessStageLibrary:()=>$d,PostProcessStageSampleMode:()=>qd,PostProcessStageTextureCache:()=>oS,PpeMetadata:()=>_X,PpeSource:()=>y6,PpeTexture:()=>xX,Primitive:()=>Wn,PrimitiveCollection:()=>Nl,PrimitiveLoadPlan:()=>g_,PrimitiveOutlineGenerator:()=>b_,PrimitiveOutlinePipelineStage:()=>DW,PrimitivePipeline:()=>Lx,PrimitiveRenderResources:()=>a2,PrimitiveState:()=>Tr,PrimitiveStatisticsPipelineStage:()=>BW,PrimitiveType:()=>Me,ProjectionPicker:()=>LM,ProjectionPickerViewModel:()=>VM,Property:()=>K,PropertyArray:()=>B1,PropertyAttribute:()=>p_,PropertyAttributeProperty:()=>cX,PropertyBag:()=>Ll,PropertyTable:()=>zc,PropertyTexture:()=>t0,PropertyTextureProperty:()=>aX,ProviderViewModel:()=>ns,Proxy:()=>a6,QuadraticRealPolynomial:()=>Fc,QuadtreeOccluders:()=>DF,QuadtreePrimitive:()=>KF,QuadtreeTile:()=>BF,QuadtreeTileLoadState:()=>ta,QuadtreeTileProvider:()=>D8,QuantizedMeshTerrainData:()=>fS,QuarticRealPolynomial:()=>NE,Quaternion:()=>Ae,QuaternionSpline:()=>vX,Queue:()=>hg,Ray:()=>gn,Rectangle:()=>ce,RectangleCollisionChecker:()=>hT,RectangleGeometry:()=>rT,RectangleGeometryLibrary:()=>Ls,RectangleGeometryUpdater:()=>av,RectangleGraphics:()=>Pm,RectangleOutlineGeometry:()=>W_,ReferenceFrame:()=>Ai,ReferenceProperty:()=>N0,RenderState:()=>Be,Renderbuffer:()=>sd,RenderbufferFormat:()=>Pc,Request:()=>Ko,RequestErrorEvent:()=>zh,RequestScheduler:()=>$a,RequestState:()=>$n,RequestType:()=>ss,Resource:()=>Ge,ResourceCache:()=>Ci,ResourceCacheKey:()=>Wl,ResourceCacheStatistics:()=>$I,ResourceLoader:()=>Yi,ResourceLoaderState:()=>yt,Rotation:()=>Bu,RuntimeError:()=>de,S2Cell:()=>Yp,SDFSettings:()=>Os,SampledPositionProperty:()=>ga,SampledProperty:()=>Id,Sampler:()=>nn,ScaledPositionProperty:()=>Ef,Scene:()=>p9,SceneFramebuffer:()=>jT,SceneMode:()=>oe,SceneMode2DPipelineStage:()=>OW,SceneModePicker:()=>CM,SceneModePickerViewModel:()=>SM,SceneTransforms:()=>Mi,SceneTransitioner:()=>n9,ScreenSpaceCameraController:()=>r9,ScreenSpaceEventHandler:()=>Yd,ScreenSpaceEventType:()=>Vn,SelectedFeatureIdPipelineStage:()=>Rg,SelectionIndicator:()=>GM,SelectionIndicatorViewModel:()=>ZM,SensorVolumePortionToDisplay:()=>H1,ShaderBuilder:()=>mx,ShaderCache:()=>zG,ShaderDestination:()=>ge,ShaderFunction:()=>nE,ShaderProgram:()=>cn,ShaderSource:()=>Ye,ShaderStruct:()=>tE,ShadowMap:()=>bb,ShadowMapShader:()=>np,ShadowMode:()=>Sn,ShadowVolumeAppearance:()=>dd,ShowGeometryInstanceAttribute:()=>Tn,Simon1994PlanetaryPositions:()=>Ab,SimplePolylineGeometry:()=>c6,SingleTileImageryProvider:()=>oF,SkinningPipelineStage:()=>zW,SkyAtmosphere:()=>y9,SkyBox:()=>T9,SpatialNode:()=>u9,Spdcf:()=>gX,SpecularEnvironmentCubeMap:()=>wm,SphereEmitter:()=>g7,SphereGeometry:()=>l6,SphereOutlineGeometry:()=>V0,Spherical:()=>vP,Spline:()=>no,SplitDirection:()=>Wr,Splitter:()=>gL,StaticGeometryColorBatch:()=>zu,StaticGeometryPerMaterialBatch:()=>Hu,StaticGroundGeometryColorBatch:()=>uV,StaticGroundGeometryPerMaterialBatch:()=>hv,StaticGroundPolylinePerMaterialBatch:()=>Vv,StaticOutlineGeometryBatch:()=>fV,StencilConstants:()=>Bt,StencilFunction:()=>Bn,StencilOperation:()=>bt,SteppedSpline:()=>PX,Stereographic:()=>uc,StorageType:()=>bg,StripeMaterialProperty:()=>Y1,StripeOrientation:()=>lh,StructuralMetadata:()=>Ds,StyleCommandsNeeded:()=>Km,StyleExpression:()=>y7,Sun:()=>G9,SunLight:()=>Lp,SunPostProcess:()=>c9,SupportedImageFormats:()=>hX,SvgPathBindingHandler:()=>O9,TaskProcessor:()=>bi,Terrain:()=>W9,TerrainData:()=>Xh,TerrainEncoding:()=>Lc,TerrainFillMesh:()=>oL,TerrainMesh:()=>im,TerrainOffsetProperty:()=>Dx,TerrainProvider:()=>ts,TerrainQuantization:()=>ea,TerrainState:()=>lo,Texture:()=>wt,TextureAtlas:()=>Ig,TextureCache:()=>HG,TextureMagnificationFilter:()=>mi,TextureManager:()=>h9,TextureMinificationFilter:()=>tn,TextureUniform:()=>p6,TextureWrap:()=>Ln,TileAvailability:()=>Ah,TileBoundingRegion:()=>Au,TileBoundingS2Cell:()=>q2,TileBoundingSphere:()=>L0,TileBoundingVolume:()=>L7,TileCoordinatesImageryProvider:()=>v9,TileDiscardPolicy:()=>Z7,TileEdge:()=>_n,TileImagery:()=>tL,TileMapServiceImageryProvider:()=>Cy,TileMetadata:()=>z2,TileOrientedBoundingBox:()=>Vd,TileProviderError:()=>Ro,TileReplacementQueue:()=>OF,TileSelectionResult:()=>Qn,TileState:()=>G7,Tileset3DTileContent:()=>_2,TilesetMetadata:()=>$2,TilesetPipelineStage:()=>UX,TilingScheme:()=>d6,TimeConstants:()=>Jn,TimeDynamicImagery:()=>FT,TimeDynamicPointCloud:()=>WL,TimeInterval:()=>Rn,TimeIntervalCollection:()=>kr,TimeIntervalCollectionPositionProperty:()=>k0,TimeIntervalCollectionProperty:()=>U0,TimeStandard:()=>Kn,Timeline:()=>XM,TimelineHighlightRange:()=>EM,TimelineTrack:()=>IM,Tipsify:()=>OE,ToggleButtonViewModel:()=>By,Tonemapper:()=>yb,Transforms:()=>Ft,TranslationRotationScale:()=>Hb,TranslucentTileClassification:()=>RA,TridiagonalSystemSolver:()=>zC,TrustedServers:()=>BS,TweenCollection:()=>aS,UniformState:()=>QG,UniformType:()=>_L,UrlTemplateImageryProvider:()=>Oa,VERSION:()=>s1t,VRButton:()=>PM,VRButtonViewModel:()=>WM,VRTheWorldTerrainProvider:()=>m6,VaryingType:()=>b6,Vector3DTileBatch:()=>af,Vector3DTileClampedPolylines:()=>D2,Vector3DTileContent:()=>O2,Vector3DTileGeometry:()=>Op,Vector3DTilePoints:()=>w2,Vector3DTilePolygons:()=>F2,Vector3DTilePolylines:()=>G_,Vector3DTilePrimitive:()=>Qx,VelocityOrientationProperty:()=>FP,VelocityVectorProperty:()=>q_,VertexArray:()=>hi,VertexArrayFacade:()=>Zp,VertexAttributeSemantic:()=>Vt,VertexFormat:()=>We,VerticalExaggeration:()=>_r,VerticalExaggerationPipelineStage:()=>KW,VerticalOrigin:()=>wn,VideoSynchronizer:()=>u6,View:()=>eS,Viewer:()=>k6,ViewportQuad:()=>X7,Visibility:()=>pr,Visualizer:()=>L4,VoxelBoxShape:()=>zf,VoxelCell:()=>l9,VoxelContent:()=>zw,VoxelCylinderShape:()=>Hf,VoxelEllipsoidShape:()=>ET,VoxelInspector:()=>FM,VoxelInspectorViewModel:()=>wM,VoxelPrimitive:()=>Py,VoxelProvider:()=>P7,VoxelRenderResources:()=>Pw,VoxelShape:()=>v7,VoxelShapeType:()=>Pi,VoxelTraversal:()=>xL,VulkanConstants:()=>h6,WallGeometry:()=>lv,WallGeometryLibrary:()=>sT,WallGeometryUpdater:()=>mv,WallGraphics:()=>Mp,WallOutlineGeometry:()=>uv,WebGLConstants:()=>ie,WebMapServiceImageryProvider:()=>sF,WebMapTileServiceImageryProvider:()=>cF,WebMercatorProjection:()=>Zi,WebMercatorTilingScheme:()=>$r,WindingOrder:()=>cs,WireframeIndexGenerator:()=>t1,WireframePipelineStage:()=>JW,_shadersAcesTonemappingStage:()=>WA,_shadersAdditiveBlend:()=>s9,_shadersAdjustTranslucentFS:()=>hL,_shadersAllMaterialAppearanceFS:()=>aE,_shadersAllMaterialAppearanceVS:()=>cE,_shadersAmbientOcclusionGenerate:()=>PA,_shadersAmbientOcclusionModulate:()=>vA,_shadersAspectRampMaterial:()=>hE,_shadersAtmosphereCommon:()=>cb,_shadersAtmosphereStageFS:()=>DX,_shadersAtmosphereStageVS:()=>BX,_shadersBasicMaterialAppearanceFS:()=>lE,_shadersBasicMaterialAppearanceVS:()=>dE,_shadersBillboardCollectionFS:()=>T2,_shadersBillboardCollectionVS:()=>S2,_shadersBlackAndWhite:()=>wA,_shadersBloomComposite:()=>FA,_shadersBrdfLutGeneratorFS:()=>bw,_shadersBrightPass:()=>a9,_shadersBrightness:()=>AA,_shadersBumpMapMaterial:()=>fE,_shadersCPUStylingStageFS:()=>fW,_shadersCPUStylingStageVS:()=>hW,_shadersCheckerboardMaterial:()=>pE,_shadersCloudCollectionFS:()=>Kw,_shadersCloudCollectionVS:()=>Jw,_shadersCloudNoiseFS:()=>Qw,_shadersCloudNoiseVS:()=>jw,_shadersCompareAndPackTranslucentDepth:()=>LA,_shadersCompositeOITFS:()=>bA,_shadersCompositeTranslucentClassification:()=>$T,_shadersContrastBias:()=>MA,_shadersCustomShaderStageFS:()=>gW,_shadersCustomShaderStageVS:()=>bW,_shadersCzmBuiltins:()=>lx,_shadersDepthOfField:()=>NA,_shadersDepthPlaneFS:()=>yF,_shadersDepthPlaneVS:()=>xF,_shadersDepthView:()=>kA,_shadersDepthViewPacked:()=>g6,_shadersDotMaterial:()=>bE,_shadersEdgeDetection:()=>UA,_shadersElevationBandMaterial:()=>gE,_shadersElevationContourMaterial:()=>yE,_shadersElevationRampMaterial:()=>xE,_shadersEllipsoidFS:()=>KV,_shadersEllipsoidSurfaceAppearanceFS:()=>LF,_shadersEllipsoidSurfaceAppearanceVS:()=>RF,_shadersEllipsoidVS:()=>JV,_shadersFXAA:()=>OA,_shadersFXAA3_11:()=>QA,_shadersFadeMaterial:()=>_E,_shadersFeatureIdStageFS:()=>yW,_shadersFeatureIdStageVS:()=>xW,_shadersFilmicTonemapping:()=>DA,_shadersGaussianBlur1D:()=>Wy,_shadersGeometryStageFS:()=>ZW,_shadersGeometryStageVS:()=>GW,_shadersGlobeFS:()=>PF,_shadersGlobeVS:()=>vF,_shadersGridMaterial:()=>TE,_shadersGroundAtmosphere:()=>qV,_shadersHSBToRGB:()=>YZ,_shadersHSLToRGB:()=>zZ,_shadersImageBasedLightingStageFS:()=>YX,_shadersInstancingStageCommon:()=>nW,_shadersInstancingStageVS:()=>iW,_shadersIntersectBox:()=>Lw,_shadersIntersectClippingPlanes:()=>Vw,_shadersIntersectCylinder:()=>Rw,_shadersIntersectDepth:()=>Cw,_shadersIntersectEllipsoid:()=>Zw,_shadersIntersectLongitude:()=>FV,_shadersIntersection:()=>LT,_shadersIntersectionUtils:()=>Sw,_shadersLegacyInstancingStageVS:()=>oW,_shadersLensFlare:()=>YA,_shadersLightingStageFS:()=>XW,_shadersMaterialStageFS:()=>PW,_shadersMegatexture:()=>Ww,_shadersMetadataStageFS:()=>_W,_shadersMetadataStageVS:()=>TW,_shadersModelClippingPlanesStageFS:()=>QX,_shadersModelClippingPolygonsStageFS:()=>$X,_shadersModelClippingPolygonsStageVS:()=>qX,_shadersModelColorStageFS:()=>JX,_shadersModelFS:()=>m2,_shadersModelSilhouetteStageFS:()=>e2,_shadersModelSilhouetteStageVS:()=>t2,_shadersModelSplitterStageFS:()=>i2,_shadersModelVS:()=>u2,_shadersModifiedReinhardTonemapping:()=>zA,_shadersMorphTargetsStageVS:()=>wW,_shadersNightVision:()=>HA,_shadersNormalMapMaterial:()=>SE,_shadersOctree:()=>Xw,_shadersPassThrough:()=>ed,_shadersPassThroughDepth:()=>Zy,_shadersPbrNeutralTonemapping:()=>BA,_shadersPerInstanceColorAppearanceFS:()=>PE,_shadersPerInstanceColorAppearanceVS:()=>vE,_shadersPerInstanceFlatColorAppearanceFS:()=>bx,_shadersPerInstanceFlatColorAppearanceVS:()=>wE,_shadersPointCloudEyeDomeLighting:()=>CX,_shadersPointCloudStylingStageVS:()=>MW,_shadersPointPrimitiveCollectionFS:()=>Og,_shadersPointPrimitiveCollectionVS:()=>RP,_shadersPolygonSignedDistanceFS:()=>iX,_shadersPolylineArrowMaterial:()=>CE,_shadersPolylineColorAppearanceVS:()=>nI,_shadersPolylineCommon:()=>ud,_shadersPolylineDashMaterial:()=>VE,_shadersPolylineFS:()=>Ix,_shadersPolylineGlowMaterial:()=>LE,_shadersPolylineMaterialAppearanceVS:()=>iI,_shadersPolylineOutlineMaterial:()=>RE,_shadersPolylineShadowVolumeFS:()=>qE,_shadersPolylineShadowVolumeMorphFS:()=>$E,_shadersPolylineShadowVolumeMorphVS:()=>eI,_shadersPolylineShadowVolumeVS:()=>tI,_shadersPolylineVS:()=>E2,_shadersPrimitiveOutlineStageFS:()=>UW,_shadersPrimitiveOutlineStageVS:()=>kW,_shadersRGBToHSB:()=>yG,_shadersRGBToHSL:()=>xG,_shadersRGBToXYZ:()=>_G,_shadersReinhardTonemapping:()=>KA,_shadersReprojectWebMercatorFS:()=>FF,_shadersReprojectWebMercatorVS:()=>AF,_shadersRimLightingMaterial:()=>ZE,_shadersSelectedFeatureIdStageCommon:()=>e1,_shadersShadowVolumeAppearanceFS:()=>sC,_shadersShadowVolumeAppearanceVS:()=>kE,_shadersShadowVolumeFS:()=>Db,_shadersSilhouette:()=>JA,_shadersSkinningStageVS:()=>YW,_shadersSkyAtmosphereCommon:()=>SL,_shadersSkyAtmosphereFS:()=>b9,_shadersSkyAtmosphereVS:()=>g9,_shadersSkyBoxFS:()=>x9,_shadersSkyBoxVS:()=>_9,_shadersSlopeRampMaterial:()=>GE,_shadersStripeMaterial:()=>EE,_shadersSunFS:()=>C9,_shadersSunTextureFS:()=>V9,_shadersSunVS:()=>L9,_shadersTexturedMaterialAppearanceFS:()=>uE,_shadersTexturedMaterialAppearanceVS:()=>mE,_shadersVector3DTileClampedPolylinesFS:()=>k2,_shadersVector3DTileClampedPolylinesVS:()=>N2,_shadersVector3DTilePolylinesVS:()=>A2,_shadersVectorTileVS:()=>bC,_shadersVerticalExaggerationStageVS:()=>HW,_shadersViewportQuadFS:()=>w9,_shadersViewportQuadVS:()=>ax,_shadersVoxelFS:()=>_w,_shadersVoxelUtils:()=>xw,_shadersVoxelVS:()=>Tw,_shadersWater:()=>XE,_shadersWaterMaskMaterial:()=>IE,_shadersXYZToRGB:()=>OG,_shadersacesTonemapping:()=>lZ,_shadersalphaWeight:()=>dZ,_shadersantialias:()=>uZ,_shadersapplyHSBShift:()=>mZ,_shadersapproximateSphericalCoordinates:()=>hZ,_shadersapproximateTanh:()=>fZ,_shadersbackFacing:()=>pZ,_shadersbranchFreeTernary:()=>bZ,_shaderscascadeColor:()=>gZ,_shaderscascadeDistance:()=>yZ,_shaderscascadeMatrix:()=>xZ,_shaderscascadeWeights:()=>_Z,_shadersclipPolygons:()=>TZ,_shaderscolumbusViewMorph:()=>SZ,_shaderscomputeAtmosphereColor:()=>CZ,_shaderscomputeGroundAtmosphereScattering:()=>VZ,_shaderscomputePosition:()=>LZ,_shaderscomputeScattering:()=>RZ,_shadersconvertUvToBox:()=>Gw,_shadersconvertUvToCylinder:()=>Ew,_shadersconvertUvToEllipsoid:()=>Iw,_shaderscosineAndSine:()=>ZZ,_shadersdecompressTextureCoordinates:()=>GZ,_shadersdegreesPerRadian:()=>gR,_shadersdepthClamp:()=>EZ,_shadersdepthRange:()=>yR,_shadersdepthRangeStruct:()=>tZ,_shaderseastNorthUpToEyeCoordinates:()=>IZ,_shadersellipsoidContainsPoint:()=>XZ,_shadersellipsoidTextureCoordinates:()=>WZ,_shadersepsilon1:()=>xR,_shadersepsilon2:()=>_R,_shadersepsilon3:()=>TR,_shadersepsilon4:()=>SR,_shadersepsilon5:()=>CR,_shadersepsilon6:()=>VR,_shadersepsilon7:()=>LR,_shadersequalsEpsilon:()=>PZ,_shaderseyeOffset:()=>vZ,_shaderseyeToWindowCoordinates:()=>wZ,_shadersfastApproximateAtan:()=>FZ,_shadersfog:()=>AZ,_shadersgammaCorrect:()=>MZ,_shadersgeodeticSurfaceNormal:()=>NZ,_shadersgetDefaultMaterial:()=>kZ,_shadersgetDynamicAtmosphereLightDirection:()=>UZ,_shadersgetLambertDiffuse:()=>DZ,_shadersgetSpecular:()=>BZ,_shadersgetWaterNoise:()=>OZ,_shadershue:()=>HZ,_shadersinfinity:()=>RR,_shadersinverseGamma:()=>KZ,_shadersisEmpty:()=>JZ,_shadersisFull:()=>QZ,_shaderslatitudeToWebMercatorFraction:()=>jZ,_shaderslineDistance:()=>$Z,_shaderslinearToSrgb:()=>qZ,_shadersluminance:()=>eG,_shadersmaterial:()=>nZ,_shadersmaterialInput:()=>iZ,_shadersmaximumComponent:()=>tG,_shadersmetersPerPixel:()=>nG,_shadersmodelMaterial:()=>oZ,_shadersmodelToWindowCoordinates:()=>iG,_shadersmodelVertexOutput:()=>rZ,_shadersmultiplyWithColorBalance:()=>oG,_shadersnearFarScalar:()=>rG,_shadersoctDecode:()=>sG,_shadersoneOverPi:()=>ZR,_shadersoneOverTwoPi:()=>GR,_shaderspackDepth:()=>aG,_shaderspassCesium3DTile:()=>ER,_shaderspassCesium3DTileClassification:()=>IR,_shaderspassCesium3DTileClassificationIgnoreShow:()=>XR,_shaderspassClassification:()=>WR,_shaderspassCompute:()=>PR,_shaderspassEnvironment:()=>vR,_shaderspassGlobe:()=>wR,_shaderspassOpaque:()=>FR,_shaderspassOverlay:()=>AR,_shaderspassTerrainClassification:()=>MR,_shaderspassTranslucent:()=>NR,_shaderspassVoxels:()=>kR,_shaderspbrLighting:()=>cG,_shaderspbrNeutralTonemapping:()=>lG,_shadersphong:()=>dG,_shaderspi:()=>UR,_shaderspiOverFour:()=>DR,_shaderspiOverSix:()=>BR,_shaderspiOverThree:()=>OR,_shaderspiOverTwo:()=>YR,_shadersplaneDistance:()=>uG,_shaderspointAlongRay:()=>mG,_shadersradiansPerDegree:()=>zR,_shadersray:()=>sZ,_shadersrayEllipsoidIntersectionInterval:()=>hG,_shadersraySegment:()=>aZ,_shadersraySphereIntersectionInterval:()=>fG,_shadersreadDepth:()=>pG,_shadersreadNonPerspective:()=>bG,_shadersreverseLogDepth:()=>gG,_shadersround:()=>TG,_shaderssaturation:()=>SG,_shaderssceneMode2D:()=>HR,_shaderssceneMode3D:()=>KR,_shaderssceneModeColumbusView:()=>JR,_shaderssceneModeMorphing:()=>QR,_shadersshadowDepthCompare:()=>CG,_shadersshadowParameters:()=>cZ,_shadersshadowVisibility:()=>VG,_shaderssignNotZero:()=>LG,_shaderssolarRadius:()=>jR,_shaderssphericalHarmonics:()=>RG,_shaderssrgbToLinear:()=>ZG,_shaderstangentToEyeSpaceMatrix:()=>GG,_shaderstextureCube:()=>EG,_shadersthreePiOver2:()=>qR,_shaderstransformPlane:()=>IG,_shaderstranslateRelativeToEye:()=>XG,_shaderstranslucentPhong:()=>WG,_shaderstranspose:()=>PG,_shaderstwoPi:()=>$R,_shadersunpackClippingExtents:()=>vG,_shadersunpackDepth:()=>wG,_shadersunpackFloat:()=>FG,_shadersunpackUint:()=>AG,_shadersvalueTransform:()=>MG,_shadersvertexLogDepth:()=>NG,_shaderswebMercatorMaxLatitude:()=>eZ,_shaderswindowToEyeCoordinates:()=>kG,_shaderswriteDepthClamp:()=>UG,_shaderswriteLogDepth:()=>DG,_shaderswriteNonPerspective:()=>BG,addBuffer:()=>UI,addDefaults:()=>PI,addExtensionsRequired:()=>MI,addExtensionsUsed:()=>Tu,addPipelineExtras:()=>rg,addToArray:()=>Ss,appendForwardSlash:()=>JL,arrayRemoveDuplicates:()=>_o,barycentricCoordinates:()=>_x,binarySearch:()=>Go,buildModuleUrl:()=>sn,buildVoxelDrawCommands:()=>ww,clone:()=>ze,combine:()=>Tt,computeFlyToLocationForRectangle:()=>WT,createBillboardPointCallback:()=>V_,createCommand:()=>Zn,createDefaultImageryProviderViewModels:()=>Q9,createDefaultTerrainProviderViewModels:()=>j9,createElevationBandMaterial:()=>_j,createGooglePhotorealistic3DTileset:()=>Tj,createGuid:()=>Yn,createMaterialPropertyDescriptor:()=>Eo,createOsmBuildingsAsync:()=>Sj,createPropertyDescriptor:()=>ue,createRawPropertyDescriptor:()=>Vl,createTangentSpaceDebugPrimitive:()=>Cj,createTaskProcessorWorker:()=>x6,createUniform:()=>lR,createUniformArray:()=>dR,createWorldBathymetryAsync:()=>X9,createWorldImageryAsync:()=>sb,createWorldTerrainAsync:()=>gS,decodeGoogleEarthEnterpriseData:()=>$F,decodeVectorPolylinePositions:()=>B2,defaultValue:()=>y,defer:()=>bl,defined:()=>l,demodernizeShader:()=>YG,deprecationWarning:()=>as,destroyObject:()=>me,exportKml:()=>PQ,findAccessorMinMax:()=>o_,findContentMetadata:()=>I_,findGroupMetadata:()=>X_,findTileMetadata:()=>H2,forEachTextureInMaterial:()=>LC,formatError:()=>Bf,freezeRenderState:()=>XO,getAbsoluteUri:()=>Oh,getAccessorByteStride:()=>Il,getBaseUri:()=>QL,getBinaryAccessor:()=>fd,getClipAndStyleCode:()=>XF,getClippingFunction:()=>tb,getComponentReader:()=>jp,getElement:()=>Pn,getExtensionFromUri:()=>qy,getFilenameFromUri:()=>F0,getImageFromTypedArray:()=>m9,getImagePixels:()=>xm,getJsonFromTypedArray:()=>Xo,getMagic:()=>Am,getMetadataClassProperty:()=>WF,getStringFromTypedArray:()=>Rl,getTimestamp:()=>_i,hasExtension:()=>ri,heightReferenceOnEntityPropertyChanged:()=>Np,isBitSet:()=>Rc,isBlobUri:()=>$y,isCrossOriginUrl:()=>Eb,isDataUri:()=>yp,isLeapYear:()=>ym,knockout:()=>Se,knockout_3_5_1:()=>VS,knockout_es5:()=>B9,loadAndExecuteScript:()=>ex,loadCubeMap:()=>eE,loadImageFromTypedArray:()=>t_,loadKTX2:()=>yl,mergeSort:()=>ib,moveTechniqueRenderStates:()=>AI,moveTechniquesToExtension:()=>NI,numberOfComponentsForType:()=>bd,objectToQuery:()=>tx,oneTimeWarning:()=>St,parseBatchTable:()=>s0,parseFeatureMetadataLegacy:()=>uX,parseGlb:()=>wI,parseResponseHeaders:()=>jL,parseStructuralMetadata:()=>dX,pickModel:()=>r1,pointInsideTriangle:()=>s6,preprocess3DTileContent:()=>Tf,processVoxelProperties:()=>vw,queryToObject:()=>id,readAccessorPacked:()=>DI,removeExtension:()=>r_,removeExtensionsRequired:()=>vI,removeExtensionsUsed:()=>i_,removePipelineExtras:()=>FI,removeUnusedElements:()=>kI,resizeImageToNextPowerOfTwo:()=>cg,sampleTerrain:()=>qw,sampleTerrainMostDetailed:()=>XT,scaleToGeodeticSurface:()=>jy,srgbToLinear:()=>KT,subdivideArray:()=>UE,subscribeAndEvaluate:()=>Va,updateAccessorComponentTypes:()=>BI,updateVersion:()=>OI,usesExtension:()=>lr,viewerCesium3DTilesInspectorMixin:()=>U6,viewerCesiumInspectorMixin:()=>D6,viewerDragDropMixin:()=>O6,viewerPerformanceWatchdogMixin:()=>Y6,viewerVoxelInspectorMixin:()=>z6,webGLConstantToGlslType:()=>f6,wrapFunction:()=>U9,writeTextToCanvas:()=>R_});var dEo=T(S(),1);var Uno=T(S(),1);var aVt=T(S(),1);var X1t=T(S(),1);var x1t=T(S(),1);var m1t=T(S(),1);function ACe(e){return e!=null}var l=ACe;var p1t=T(S(),1);function Jy(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(Jy.prototype=Object.create(Error.prototype),Jy.prototype.constructor=Jy);Jy.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` -${this.stack.toString()}`),e};Jy.throwInstantiationError=function(){throw new Jy("This function defines an interface and should not be called directly.")};var fe=Jy;var _s={};_s.typeOf={};function MCe(e){return`${e} is required, actual value was undefined`}function PS(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}_s.defined=function(e,t){if(!l(t))throw new fe(MCe(e))};_s.typeOf.func=function(e,t){if(typeof t!="function")throw new fe(PS(typeof t,"function",e))};_s.typeOf.string=function(e,t){if(typeof t!="string")throw new fe(PS(typeof t,"string",e))};_s.typeOf.number=function(e,t){if(typeof t!="number")throw new fe(PS(typeof t,"number",e))};_s.typeOf.number.lessThan=function(e,t,n){if(_s.typeOf.number(e,t),t>=n)throw new fe(`Expected ${e} to be less than ${n}, actual value was ${t}`)};_s.typeOf.number.lessThanOrEquals=function(e,t,n){if(_s.typeOf.number(e,t),t>n)throw new fe(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};_s.typeOf.number.greaterThan=function(e,t,n){if(_s.typeOf.number(e,t),t<=n)throw new fe(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};_s.typeOf.number.greaterThanOrEquals=function(e,t,n){if(_s.typeOf.number(e,t),t0?1:-1});ut.signNotZero=function(e){return e<0?-1:1};ut.toSNorm=function(e,t){return t=y(t,255),Math.round((ut.clamp(e,-1,1)*.5+.5)*t)};ut.fromSNorm=function(e,t){return t=y(t,255),ut.clamp(e,0,t)/t*2-1};ut.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:ut.clamp((e-t)/n,0,1)};ut.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});ut.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});ut.lerp=function(e,t,n){return(1-n)*e+n*t};ut.PI=Math.PI;ut.ONE_OVER_PI=1/Math.PI;ut.PI_OVER_TWO=Math.PI/2;ut.PI_OVER_THREE=Math.PI/3;ut.PI_OVER_FOUR=Math.PI/4;ut.PI_OVER_SIX=Math.PI/6;ut.THREE_PI_OVER_TWO=3*Math.PI/2;ut.TWO_PI=2*Math.PI;ut.ONE_OVER_TWO_PI=1/(2*Math.PI);ut.RADIANS_PER_DEGREE=Math.PI/180;ut.DEGREES_PER_RADIAN=180/Math.PI;ut.RADIANS_PER_ARCSECOND=ut.RADIANS_PER_DEGREE/3600;ut.toRadians=function(e){return e*ut.RADIANS_PER_DEGREE};ut.toDegrees=function(e){return e*ut.DEGREES_PER_RADIAN};ut.convertLongitudeRange=function(e){let t=ut.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};ut.clampToLatitudeRange=function(e){return ut.clamp(e,-1*ut.PI_OVER_TWO,ut.PI_OVER_TWO)};ut.negativePiToPi=function(e){return e>=-ut.PI&&e<=ut.PI?e:ut.zeroToTwoPi(e+ut.PI)-ut.PI};ut.zeroToTwoPi=function(e){if(e>=0&&e<=ut.TWO_PI)return e;let t=ut.mod(e,ut.TWO_PI);return Math.abs(t)ut.EPSILON14?ut.TWO_PI:t};ut.mod=function(e,t){return ut.sign(e)===ut.sign(t)&&Math.abs(e)n};ut.greaterThanOrEquals=function(e,t,n){return e-t>-n};var OM=[1];ut.factorial=function(e){let t=OM.length;if(e>=t){let n=OM[t-1];for(let i=t;i<=e;i++){let o=n*i;OM.push(o),n=o}}return OM[e]};ut.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};ut.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};ut.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};ut.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};ut.clamp=function(e,t,n){return en?n:e};var bq=new DB.default;ut.setRandomNumberSeed=function(e){bq=new DB.default(e)};ut.nextRandomNumber=function(){return bq.random()};ut.randomBetween=function(e,t){return ut.nextRandomNumber()*(t-e)+e};ut.acosClamped=function(e){return Math.acos(ut.clamp(e,-1,1))};ut.asinClamped=function(e){return Math.asin(ut.clamp(e,-1,1))};ut.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};ut.logBase=function(e,t){return Math.log(e)/Math.log(t)};ut.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});ut.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});ut.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};ut.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};ut.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=ut.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?ut.PI_OVER_TWO-i:i,i=e<0?ut.PI-i:i,i=t<0?-i:i,i};var W=ut;function nt(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}nt.fromSpherical=function(e,t){l(t)||(t=new nt);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};nt.fromElements=function(e,t,n,i){return l(i)?(i.x=e,i.y=t,i.z=n,i):new nt(e,t,n)};nt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new nt(e.x,e.y,e.z)};nt.fromCartesian4=nt.clone;nt.packedLength=3;nt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};nt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new nt),n.x=e[t++],n.y=e[t++],n.z=e[t],n};nt.packArray=function(e,t){let n=e.length,i=n*3;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;oi&&(o=d,i=u)}let r=1,s=0,a=zB[o],c=HB[o];if(Math.abs(e[at.getElementIndex(c,a)])>n){let d=e[at.getElementIndex(c,c)],u=e[at.getElementIndex(a,a)],m=e[at.getElementIndex(c,a)],p=(d-u)/2/m,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=at.clone(at.IDENTITY,t),t[at.getElementIndex(a,a)]=t[at.getElementIndex(c,c)]=r,t[at.getElementIndex(c,a)]=s,t[at.getElementIndex(a,c)]=-s,t}var KM=new at,Tq=new at;at.computeEigenDecomposition=function(e,t){let n=W.EPSILON20,i=10,o=0,r=0;l(t)||(t={});let s=t.unitary=at.clone(at.IDENTITY,t.unitary),a=t.diagonal=at.clone(e,t.diagonal),c=n*HCe(a);for(;rc;)JCe(a,KM),at.transpose(KM,Tq),at.multiply(a,KM,a),at.multiply(Tq,a,a),at.multiply(s,KM,s),++o>2&&(++r,o=0);return t};at.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t};at.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],d=e[8];return t*(r*d-c*s)+o*(c*i-n*d)+a*(n*s-r*i)};at.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],d=e[7],u=e[8],m=at.determinant(e);t[0]=s*u-d*a,t[1]=d*o-i*u,t[2]=i*a-s*o,t[3]=c*a-r*u,t[4]=n*u-c*o,t[5]=r*o-n*a,t[6]=r*d-c*s,t[7]=c*i-n*d,t[8]=n*s-r*i;let p=1/m;return at.multiplyByScalar(t,p,t)};var QCe=new at;at.inverseTranspose=function(e,t){return at.inverse(at.transpose(e,QCe),t)};at.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]};at.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n};at.IDENTITY=Object.freeze(new at(1,0,0,0,1,0,0,0,1));at.ZERO=Object.freeze(new at(0,0,0,0,0,0,0,0,0));at.COLUMN0ROW0=0;at.COLUMN0ROW1=1;at.COLUMN0ROW2=2;at.COLUMN1ROW0=3;at.COLUMN1ROW1=4;at.COLUMN1ROW2=5;at.COLUMN2ROW0=6;at.COLUMN2ROW1=7;at.COLUMN2ROW2=8;Object.defineProperties(at.prototype,{length:{get:function(){return at.packedLength}}});at.prototype.clone=function(e){return at.clone(this,e)};at.prototype.equals=function(e){return at.equals(this,e)};at.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};at.prototype.equalsEpsilon=function(e,t){return at.equalsEpsilon(this,e,t)};at.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) + `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};ZCe.exports=Q6});var B1t={};QCe(B1t,{AlphaMode:()=>bf,AlphaPipelineStage:()=>SW,AnchorPointDirect:()=>RX,AnchorPointIndirect:()=>ZX,Animation:()=>c9,AnimationViewModel:()=>l9,Appearance:()=>oo,ApproximateTerrainHeights:()=>hi,ArcGISTiledElevationTerrainProvider:()=>v4,ArcGisBaseMapType:()=>vh,ArcGisMapServerImageryProvider:()=>h0,ArcGisMapService:()=>eu,ArcType:()=>tn,ArticulationStageType:()=>bc,AssociativeArray:()=>Gt,Atmosphere:()=>L_,AtmospherePipelineStage:()=>nW,AttributeCompression:()=>An,AttributeType:()=>an,AutoExposure:()=>IA,AutomaticUniforms:()=>yp,Axis:()=>Wo,AxisAlignedBoundingBox:()=>J0,B3dmLoader:()=>kX,B3dmParser:()=>AX,BaseLayerPicker:()=>u9,BaseLayerPickerViewModel:()=>d9,BatchTable:()=>vx,BatchTableHierarchy:()=>i_,BatchTexture:()=>Kc,BatchTexturePipelineStage:()=>CW,Billboard:()=>mo,BillboardCollection:()=>Zd,BillboardGraphics:()=>ac,BillboardVisualizer:()=>yE,BingMapsGeocoderService:()=>F4,BingMapsImageryProvider:()=>uF,BingMapsStyle:()=>iL,BlendEquation:()=>wa,BlendFunction:()=>Co,BlendOption:()=>Lo,BlendingState:()=>hn,BoundingRectangle:()=>Je,BoundingSphere:()=>de,BoundingSphereState:()=>mt,BoundingVolumeSemantics:()=>__,BoxEmitter:()=>w7,BoxGeometry:()=>Pa,BoxGeometryUpdater:()=>EI,BoxGraphics:()=>Dx,BoxOutlineGeometry:()=>Xm,BrdfLutGenerator:()=>AF,Buffer:()=>_t,BufferLoader:()=>l_,BufferUsage:()=>Ue,CPUStylingPipelineStage:()=>ZW,CallbackPositionProperty:()=>II,CallbackProperty:()=>Am,Camera:()=>ao,CameraEventAggregator:()=>FA,CameraEventType:()=>Fi,CameraFlightPath:()=>NF,Cartesian2:()=>D,Cartesian3:()=>h,Cartesian4:()=>re,Cartographic:()=>he,CartographicGeocoderService:()=>M4,CatmullRomSpline:()=>N4,Cesium3DContentGroup:()=>n_,Cesium3DTile:()=>Yu,Cesium3DTileBatchTable:()=>zp,Cesium3DTileColorBlendMode:()=>Gl,Cesium3DTileContent:()=>F7,Cesium3DTileContentFactory:()=>N_,Cesium3DTileContentState:()=>Oo,Cesium3DTileContentType:()=>Is,Cesium3DTileFeature:()=>Os,Cesium3DTileFeatureTable:()=>Qm,Cesium3DTileOptimizationHint:()=>Nu,Cesium3DTileOptimizations:()=>dP,Cesium3DTilePass:()=>Fo,Cesium3DTilePassState:()=>mm,Cesium3DTilePointFeature:()=>_b,Cesium3DTileRefine:()=>Do,Cesium3DTileStyle:()=>LS,Cesium3DTileStyleEngine:()=>bP,Cesium3DTilesInspector:()=>g9,Cesium3DTilesInspectorViewModel:()=>b9,Cesium3DTilesVoxelProvider:()=>A7,Cesium3DTileset:()=>xs,Cesium3DTilesetBaseTraversal:()=>SP,Cesium3DTilesetCache:()=>hP,Cesium3DTilesetGraphics:()=>Jx,Cesium3DTilesetHeatmap:()=>fP,Cesium3DTilesetMetadata:()=>J_,Cesium3DTilesetMostDetailedTraversal:()=>xP,Cesium3DTilesetSkipTraversal:()=>LP,Cesium3DTilesetStatistics:()=>Pb,Cesium3DTilesetTraversal:()=>Qs,Cesium3DTilesetVisualizer:()=>RP,CesiumInspector:()=>r9,CesiumInspectorViewModel:()=>o9,CesiumTerrainProvider:()=>wT,CesiumWidget:()=>RM,Check:()=>xo,CheckerboardMaterialProperty:()=>G1,CircleEmitter:()=>XM,CircleGeometry:()=>Y4,CircleOutlineGeometry:()=>H4,ClassificationModelDrawCommand:()=>x2,ClassificationPipelineStage:()=>VW,ClassificationPrimitive:()=>pC,ClassificationType:()=>Dn,ClearCommand:()=>oi,ClippingPlane:()=>T_,ClippingPlaneCollection:()=>bs,ClippingPolygon:()=>OC,ClippingPolygonCollection:()=>Hm,Clock:()=>uh,ClockRange:()=>Yr,ClockStep:()=>go,ClockViewModel:()=>t9,CloudCollection:()=>B7,CloudType:()=>ML,Color:()=>B,ColorBlendMode:()=>pc,ColorGeometryInstanceAttribute:()=>Ht,ColorMaterialProperty:()=>Bt,Command:()=>v6,ComponentDatatype:()=>Q,Composite3DTileContent:()=>vI,CompositeEntityCollection:()=>IK,CompositeMaterialProperty:()=>I1,CompositePositionProperty:()=>ya,CompositeProperty:()=>Tc,CompressedTextureBuffer:()=>gR,ComputeCommand:()=>wc,ComputeEngine:()=>pR,ConditionsExpression:()=>ZM,ConeEmitter:()=>Y7,ConstantPositionProperty:()=>Bc,ConstantProperty:()=>qn,ConstantSpline:()=>OX,ContentMetadata:()=>tP,Context:()=>lE,ContextLimits:()=>At,CoplanarPolygonGeometry:()=>av,CoplanarPolygonGeometryLibrary:()=>Zb,CoplanarPolygonOutlineGeometry:()=>Ou,CornerType:()=>Pi,CorrelationGroup:()=>GX,CorridorGeometry:()=>tT,CorridorGeometryLibrary:()=>Di,CorridorGeometryUpdater:()=>wP,CorridorGraphics:()=>Ox,CorridorOutlineGeometry:()=>vP,Credit:()=>Lt,CreditDisplay:()=>BF,CubeMap:()=>Tr,CubeMapFace:()=>ZR,CubicRealPolynomial:()=>xx,CullFace:()=>Ti,CullingVolume:()=>ps,CumulusCloud:()=>cu,CustomDataSource:()=>MP,CustomHeightmapTerrainProvider:()=>z4,CustomShader:()=>xS,CustomShaderMode:()=>gb,CustomShaderPipelineStage:()=>vW,CustomShaderTranslucencyMode:()=>Xg,CylinderGeometry:()=>NP,CylinderGeometryLibrary:()=>nT,CylinderGeometryUpdater:()=>UP,CylinderGraphics:()=>Yx,CylinderOutlineGeometry:()=>kP,CzmlDataSource:()=>jP,DataSource:()=>Or,DataSourceClock:()=>mh,DataSourceCollection:()=>qP,DataSourceDisplay:()=>Fv,DebugAppearance:()=>Q7,DebugCameraPrimitive:()=>qf,DebugInspector:()=>OA,DebugModelMatrixPrimitive:()=>vM,DefaultProxy:()=>J4,DepthFunction:()=>cc,DepthPlane:()=>HF,DequantizationPipelineStage:()=>FW,DerivedCommand:()=>$f,DeveloperError:()=>fe,DeviceOrientationCameraController:()=>zF,DirectionalLight:()=>j7,DiscardEmptyTileImagePolicy:()=>oL,DiscardMissingTileImagePolicy:()=>lF,DistanceDisplayCondition:()=>Ft,DistanceDisplayConditionGeometryInstanceAttribute:()=>Un,DoubleEndedPriorityQueue:()=>AT,DoublyLinkedList:()=>mP,DracoLoader:()=>eb,DrawCommand:()=>tt,DynamicAtmosphereLightingType:()=>rb,DynamicEnvironmentMapManager:()=>sb,DynamicGeometryBatch:()=>lT,DynamicGeometryUpdater:()=>si,EarthOrientationParameters:()=>aR,EarthOrientationParametersSample:()=>v0,EasingFunction:()=>zr,EllipseGeometry:()=>ol,EllipseGeometryLibrary:()=>Ul,EllipseGeometryUpdater:()=>ev,EllipseGraphics:()=>Hx,EllipseOutlineGeometry:()=>Md,Ellipsoid:()=>ne,EllipsoidGeodesic:()=>Fp,EllipsoidGeometry:()=>qs,EllipsoidGeometryUpdater:()=>nv,EllipsoidGraphics:()=>zx,EllipsoidOutlineGeometry:()=>Ed,EllipsoidPrimitive:()=>PF,EllipsoidRhumbLine:()=>Fa,EllipsoidSurfaceAppearance:()=>q7,EllipsoidTangentPlane:()=>qr,EllipsoidTerrainProvider:()=>MT,EllipsoidalOccluder:()=>Nb,Empty3DTileContent:()=>p1,EncodedCartesian3:()=>Hn,Entity:()=>tr,EntityCluster:()=>Wd,EntityCollection:()=>js,EntityView:()=>Mv,Event:()=>be,EventHelper:()=>mr,Expression:()=>Ru,ExpressionNodeType:()=>yt,ExtrapolationType:()=>vd,FeatureDetection:()=>Yt,FeatureIdPipelineStage:()=>Ig,Fog:()=>KF,ForEach:()=>Pe,FrameRateMonitor:()=>AM,FrameState:()=>JF,Framebuffer:()=>Pr,FramebufferManager:()=>gi,FrustumCommands:()=>eA,FrustumGeometry:()=>kT,FrustumOutlineGeometry:()=>Zw,Fullscreen:()=>yr,FullscreenButton:()=>x9,FullscreenButtonViewModel:()=>y9,GeoJsonDataSource:()=>rw,GeoJsonLoader:()=>UX,GeocodeType:()=>Wy,Geocoder:()=>T9,GeocoderService:()=>HV,GeocoderViewModel:()=>_9,GeographicProjection:()=>Ei,GeographicTilingScheme:()=>Hi,Geometry:()=>ht,Geometry3DTileContent:()=>FI,GeometryAttribute:()=>Ze,GeometryAttributes:()=>fn,GeometryFactory:()=>ej,GeometryInstance:()=>Et,GeometryInstanceAttribute:()=>lc,GeometryOffsetAttribute:()=>dn,GeometryPipeline:()=>Mn,GeometryPipelineStage:()=>kW,GeometryType:()=>pu,GeometryUpdater:()=>ai,GeometryUpdaterSet:()=>_T,GeometryVisualizer:()=>Vv,GetFeatureInfoFormat:()=>QT,Globe:()=>WF,GlobeDepth:()=>tA,GlobeSurfaceShaderSet:()=>cF,GlobeSurfaceTile:()=>lm,GlobeSurfaceTileProvider:()=>SF,GlobeTranslucency:()=>CF,GlobeTranslucencyFramebuffer:()=>nA,GlobeTranslucencyState:()=>QF,GltfBufferViewLoader:()=>GC,GltfDracoLoader:()=>EC,GltfGpmLoader:()=>IX,GltfGpmLocal:()=>HC,GltfImageLoader:()=>IC,GltfIndexBufferLoader:()=>XC,GltfJsonLoader:()=>PC,GltfLoader:()=>lb,GltfLoaderUtil:()=>Wl,GltfMeshPrimitiveGpmLoader:()=>vX,GltfStructuralMetadataLoader:()=>VX,GltfTextureLoader:()=>vC,GltfVertexBufferLoader:()=>wC,GoogleEarthEnterpriseImageryProvider:()=>e6,GoogleEarthEnterpriseMapsProvider:()=>fF,GoogleEarthEnterpriseMetadata:()=>l0,GoogleEarthEnterpriseTerrainData:()=>zV,GoogleEarthEnterpriseTerrainProvider:()=>cj,GoogleEarthEnterpriseTileInformation:()=>Ew,GoogleGeocoderService:()=>dj,GoogleMaps:()=>DT,GpxDataSource:()=>lw,GregorianDate:()=>_p,GridImageryProvider:()=>t6,GridMaterialProperty:()=>k1,GroundGeometryUpdater:()=>zn,GroundPolylineGeometry:()=>Mx,GroundPolylinePrimitive:()=>Wm,GroundPrimitive:()=>Uc,GroupMetadata:()=>L1,HeadingPitchRange:()=>nm,HeadingPitchRoll:()=>Ia,Heap:()=>iR,HeightReference:()=>Qe,HeightmapEncoding:()=>rm,HeightmapTerrainData:()=>Ya,HeightmapTessellator:()=>AV,HermitePolynomialApproximation:()=>DP,HermiteSpline:()=>Zg,HilbertOrder:()=>VC,HomeButton:()=>C9,HomeButtonViewModel:()=>S9,HorizontalOrigin:()=>_i,I3SBuildingSceneLayerExplorer:()=>B6,I3SBuildingSceneLayerExplorerViewModel:()=>V9,I3SDataProvider:()=>Dh,I3SDecoder:()=>MM,I3SFeature:()=>NM,I3SField:()=>kM,I3SGeometry:()=>NL,I3SLayer:()=>IS,I3SNode:()=>kL,I3SStatistics:()=>BM,I3SSublayer:()=>YM,I3SSymbology:()=>DM,I3dmLoader:()=>BX,I3dmParser:()=>DX,ITwinData:()=>s6,ITwinPlatform:()=>jd,Iau2000Orientation:()=>Xw,Iau2006XysData:()=>cR,Iau2006XysSample:()=>px,IauOrientationAxes:()=>Ww,IauOrientationParameters:()=>Iw,ImageBasedLighting:()=>t_,ImageBasedLightingPipelineStage:()=>oW,ImageMaterialProperty:()=>$0,Imagery:()=>dL,ImageryLayer:()=>Ka,ImageryLayerCollection:()=>VF,ImageryLayerFeatureInfo:()=>Ph,ImageryProvider:()=>ll,ImageryState:()=>$n,Implicit3DTileContent:()=>MC,ImplicitAvailabilityBitstream:()=>RC,ImplicitMetadataView:()=>ZC,ImplicitSubdivisionScheme:()=>ts,ImplicitSubtree:()=>y_,ImplicitSubtreeCache:()=>EM,ImplicitSubtreeMetadata:()=>AI,ImplicitTileCoordinates:()=>q_,ImplicitTileset:()=>j_,IndexDatatype:()=>ke,InfoBox:()=>R9,InfoBoxViewModel:()=>L9,InspectorShared:()=>Qa,InstanceAttributeSemantic:()=>is,InstancingPipelineStage:()=>yW,InterpolationAlgorithm:()=>mj,InterpolationType:()=>Km,Intersect:()=>zt,IntersectionTests:()=>ni,Intersections2D:()=>a0,Interval:()=>Wa,InvertClassification:()=>_L,Ion:()=>Nm,IonGeocodeProviderType:()=>d0,IonGeocoderService:()=>BT,IonImageryProvider:()=>f0,IonResource:()=>yd,IonWorldImageryStyle:()=>p0,Iso8601:()=>Ye,JobScheduler:()=>jF,JobType:()=>Na,JsonMetadataTable:()=>ab,JulianDate:()=>j,KTX2Transcoder:()=>yR,KeyboardEventModifier:()=>na,KeyframeNode:()=>eo,KmlCamera:()=>dw,KmlDataSource:()=>yw,KmlLookAt:()=>uw,KmlTour:()=>mw,KmlTourFlyTo:()=>fw,KmlTourWait:()=>pw,Label:()=>Mg,LabelCollection:()=>Sf,LabelGraphics:()=>vm,LabelStyle:()=>Bo,LabelVisualizer:()=>Lv,LagrangePolynomialApproximation:()=>BP,LeapSecond:()=>Oi,Light:()=>a6,LightingModel:()=>xf,LightingPipelineStage:()=>DW,LinearApproximation:()=>oT,LinearSpline:()=>Rg,ManagedArray:()=>zc,MapMode2D:()=>jl,MapProjection:()=>pj,MapboxImageryProvider:()=>pF,MapboxStyleImageryProvider:()=>c6,Mars3DEx:()=>Xp,Material:()=>Yi,MaterialAppearance:()=>lo,MaterialPipelineStage:()=>OW,MaterialProperty:()=>er,Math:()=>W,Matrix2:()=>Ii,Matrix3:()=>$,Matrix4:()=>M,Megatexture:()=>RL,MeshPrimitiveGpmLocal:()=>PX,MetadataClass:()=>Bm,MetadataClassProperty:()=>hf,MetadataComponentType:()=>Ut,MetadataEntity:()=>kn,MetadataEnum:()=>iX,MetadataEnumValue:()=>nX,MetadataPicking:()=>qF,MetadataPickingPipelineStage:()=>Vd,MetadataPipelineStage:()=>Iu,MetadataSchema:()=>Sd,MetadataSchemaLoader:()=>FC,MetadataSemantic:()=>x_,MetadataTable:()=>Il,MetadataTableProperty:()=>NI,MetadataType:()=>ft,MipmapHint:()=>rf,Model:()=>$m,Model3DTileContent:()=>Rd,ModelAlphaOptions:()=>c2,ModelAnimation:()=>KX,ModelAnimationChannel:()=>zX,ModelAnimationCollection:()=>JX,ModelAnimationLoop:()=>vl,ModelAnimationState:()=>jm,ModelArticulation:()=>sW,ModelArticulationStage:()=>rW,ModelClippingPlanesPipelineStage:()=>lW,ModelClippingPolygonsPipelineStage:()=>mW,ModelColorPipelineStage:()=>Eg,ModelComponents:()=>Sn,ModelDrawCommand:()=>_2,ModelDrawCommands:()=>C2,ModelFeature:()=>QX,ModelFeatureTable:()=>qX,ModelGraphics:()=>Up,ModelLightingOptions:()=>b2,ModelMatrixUpdateStage:()=>xW,ModelNode:()=>hW,ModelRenderResources:()=>l2,ModelRuntimeNode:()=>TW,ModelRuntimePrimitive:()=>s2,ModelSceneGraph:()=>V2,ModelSilhouettePipelineStage:()=>m2,ModelSkin:()=>a2,ModelSplitterPipelineStage:()=>f2,ModelStatistics:()=>L2,ModelType:()=>dr,ModelUtility:()=>Qt,ModelVisualizer:()=>Rv,Moon:()=>wF,MorphTargetsPipelineStage:()=>HW,MorphWeightSpline:()=>xj,MortonOrder:()=>Og,Multiple3DTileContent:()=>oP,MultisampleFramebuffer:()=>dE,NavigationHelpButton:()=>G9,NavigationHelpButtonViewModel:()=>Z9,NearFarScalar:()=>kt,NeverTileDiscardPolicy:()=>d6,NodeRenderResources:()=>p2,NodeStatisticsPipelineStage:()=>_W,NodeTransformationProperty:()=>Kx,OIT:()=>iA,Occluder:()=>ww,OffsetGeometryInstanceAttribute:()=>qi,OpenCageGeocoderService:()=>Sj,OpenStreetMapImageryProvider:()=>E0,OrderedGroundPrimitiveCollection:()=>$P,OrientedBoundingBox:()=>In,OrthographicFrustum:()=>ln,OrthographicOffCenterFrustum:()=>vr,Packable:()=>Cj,PackableForInterpolation:()=>Vj,Particle:()=>BL,ParticleBurst:()=>m6,ParticleEmitter:()=>h6,ParticleSystem:()=>f6,Pass:()=>Ge,PassState:()=>sc,PathGraphics:()=>Dp,PathVisualizer:()=>Gv,PeliasGeocoderService:()=>vw,PerInstanceColorAppearance:()=>mn,PerformanceDisplay:()=>y0,PerformanceWatchdog:()=>I9,PerformanceWatchdogViewModel:()=>E9,PerspectiveFrustum:()=>Gi,PerspectiveOffCenterFrustum:()=>cl,PickDepth:()=>$F,PickDepthFramebuffer:()=>rA,PickFramebuffer:()=>aA,PickedMetadataInfo:()=>fM,Picking:()=>uA,PickingPipelineStage:()=>zW,PinBuilder:()=>o0,PixelDatatype:()=>qe,PixelFormat:()=>st,Plane:()=>un,PlaneGeometry:()=>iv,PlaneGeometryUpdater:()=>rv,PlaneGraphics:()=>SI,PlaneOutlineGeometry:()=>ov,PntsLoader:()=>Z2,PntsParser:()=>P_,PointCloud:()=>VM,PointCloudEyeDomeLighting:()=>db,PointCloudShading:()=>yf,PointCloudStylingPipelineStage:()=>JW,PointGraphics:()=>Qx,PointPrimitive:()=>Ws,PointPrimitiveCollection:()=>w1,PointVisualizer:()=>Iv,PolygonGeometry:()=>ob,PolygonGeometryLibrary:()=>On,PolygonGeometryUpdater:()=>lv,PolygonGraphics:()=>wm,PolygonHierarchy:()=>Aa,PolygonOutlineGeometry:()=>cv,PolygonPipeline:()=>di,Polyline:()=>Fu,PolylineArrowMaterialProperty:()=>D1,PolylineCollection:()=>nh,PolylineColorAppearance:()=>$r,PolylineDashMaterialProperty:()=>O1,PolylineGeometry:()=>$b,PolylineGeometryUpdater:()=>Pv,PolylineGlowMaterialProperty:()=>H1,PolylineGraphics:()=>dc,PolylineMaterialAppearance:()=>fa,PolylineOutlineMaterialProperty:()=>qg,PolylinePipeline:()=>Wi,PolylineVisualizer:()=>wv,PolylineVolumeGeometry:()=>mv,PolylineVolumeGeometryLibrary:()=>ah,PolylineVolumeGeometryUpdater:()=>bv,PolylineVolumeGraphics:()=>jx,PolylineVolumeOutlineGeometry:()=>pv,PositionProperty:()=>Pm,PositionPropertyArray:()=>Bb,PostProcessStage:()=>po,PostProcessStageCollection:()=>PA,PostProcessStageComposite:()=>$l,PostProcessStageLibrary:()=>ou,PostProcessStageSampleMode:()=>iu,PostProcessStageTextureCache:()=>dS,PpeMetadata:()=>WX,PpeSource:()=>I6,PpeTexture:()=>XX,Primitive:()=>Wn,PrimitiveCollection:()=>kl,PrimitiveLoadPlan:()=>G_,PrimitiveOutlineGenerator:()=>Z_,PrimitiveOutlinePipelineStage:()=>qW,PrimitivePipeline:()=>wx,PrimitiveRenderResources:()=>g2,PrimitiveState:()=>Vr,PrimitiveStatisticsPipelineStage:()=>$W,PrimitiveType:()=>Me,ProjectionPicker:()=>W9,ProjectionPickerViewModel:()=>X9,Property:()=>K,PropertyArray:()=>K1,PropertyAttribute:()=>R_,PropertyAttributeProperty:()=>_X,PropertyBag:()=>Rl,PropertyTable:()=>Qc,PropertyTexture:()=>cb,PropertyTextureProperty:()=>xX,ProviderViewModel:()=>ls,Proxy:()=>Rj,QuadraticRealPolynomial:()=>Fc,QuadtreeOccluders:()=>LF,QuadtreePrimitive:()=>XF,QuadtreeTile:()=>RF,QuadtreeTileLoadState:()=>ia,QuadtreeTileProvider:()=>p6,QuantizedMeshTerrainData:()=>vT,QuarticRealPolynomial:()=>TR,Quaternion:()=>Fe,QuaternionSpline:()=>HX,Queue:()=>xg,Ray:()=>gn,Rectangle:()=>le,RectangleCollisionChecker:()=>ST,RectangleGeometry:()=>fT,RectangleGeometryLibrary:()=>Xs,RectangleGeometryUpdater:()=>gv,RectangleGraphics:()=>Fm,RectangleOutlineGeometry:()=>D_,ReferenceFrame:()=>Ni,ReferenceProperty:()=>Ob,RenderState:()=>Be,Renderbuffer:()=>md,RenderbufferFormat:()=>Mc,Request:()=>Qo,RequestErrorEvent:()=>Qh,RequestScheduler:()=>ic,RequestState:()=>ti,RequestType:()=>us,Resource:()=>Le,ResourceCache:()=>Ri,ResourceCacheKey:()=>Pl,ResourceCacheStatistics:()=>sX,ResourceLoader:()=>zi,ResourceLoaderState:()=>xt,Rotation:()=>Ju,RuntimeError:()=>ce,S2Cell:()=>Qp,SDFSettings:()=>Ks,SampledPositionProperty:()=>_a,SampledProperty:()=>Fd,Sampler:()=>$t,ScaledPositionProperty:()=>Pf,Scene:()=>bM,SceneFramebuffer:()=>iS,SceneMode:()=>oe,SceneMode2DPipelineStage:()=>e2,SceneModePicker:()=>v9,SceneModePickerViewModel:()=>P9,SceneTransforms:()=>ki,SceneTransitioner:()=>wA,ScreenSpaceCameraController:()=>NA,ScreenSpaceEventHandler:()=>$d,ScreenSpaceEventType:()=>Cn,SelectedFeatureIdPipelineStage:()=>Wg,SelectionIndicator:()=>A9,SelectionIndicatorViewModel:()=>F9,SensorVolumePortionToDisplay:()=>q1,ShaderBuilder:()=>Gx,ShaderCache:()=>oE,ShaderDestination:()=>ge,ShaderFunction:()=>fE,ShaderProgram:()=>en,ShaderSource:()=>Oe,ShaderStruct:()=>hE,ShadowMap:()=>T0,ShadowMapShader:()=>np,ShadowMode:()=>Tn,ShadowVolumeAppearance:()=>pd,ShowGeometryInstanceAttribute:()=>_n,Simon1994PlanetaryPositions:()=>Y0,SimplePolylineGeometry:()=>Aj,SingleTileImageryProvider:()=>bF,SkinningPipelineStage:()=>n2,SkyAtmosphere:()=>gM,SkyBox:()=>yM,SpatialNode:()=>dM,Spdcf:()=>EX,SpecularEnvironmentCubeMap:()=>Mm,SphereEmitter:()=>g6,SphereGeometry:()=>Mj,SphereOutlineGeometry:()=>Eb,Spherical:()=>OP,Spline:()=>ro,SplitDirection:()=>wr,Splitter:()=>PL,StaticGeometryColorBatch:()=>$u,StaticGeometryPerMaterialBatch:()=>em,StaticGroundGeometryColorBatch:()=>bV,StaticGroundGeometryPerMaterialBatch:()=>Cv,StaticGroundPolylinePerMaterialBatch:()=>vv,StaticOutlineGeometryBatch:()=>xV,StencilConstants:()=>Dt,StencilFunction:()=>Bn,StencilOperation:()=>bt,SteppedSpline:()=>YX,Stereographic:()=>fc,StorageType:()=>Sg,StripeMaterialProperty:()=>Q1,StripeOrientation:()=>hh,StructuralMetadata:()=>Hs,StyleCommandsNeeded:()=>qm,StyleExpression:()=>y6,Sun:()=>TM,SunLight:()=>Ep,SunPostProcess:()=>DA,SupportedImageFormats:()=>LX,SvgPathBindingHandler:()=>$M,TaskProcessor:()=>xi,Terrain:()=>KM,TerrainData:()=>Zh,TerrainEncoding:()=>Rc,TerrainFillMesh:()=>fL,TerrainMesh:()=>am,TerrainOffsetProperty:()=>qx,TerrainProvider:()=>rs,TerrainQuantization:()=>ta,TerrainState:()=>fo,Texture:()=>It,TextureAtlas:()=>Ag,TextureCache:()=>rE,TextureMagnificationFilter:()=>bi,TextureManager:()=>uM,TextureMinificationFilter:()=>qt,TextureUniform:()=>G6,TextureWrap:()=>Ln,TileAvailability:()=>Gh,TileBoundingRegion:()=>Bu,TileBoundingS2Cell:()=>cP,TileBoundingSphere:()=>Ib,TileBoundingVolume:()=>x6,TileCoordinatesImageryProvider:()=>QM,TileDiscardPolicy:()=>T6,TileEdge:()=>xn,TileImagery:()=>uL,TileMapServiceImageryProvider:()=>My,TileMetadata:()=>nP,TileOrientedBoundingBox:()=>Id,TileProviderError:()=>Zo,TileReplacementQueue:()=>ZF,TileSelectionResult:()=>Qn,TileState:()=>S6,Tileset3DTileContent:()=>I2,TilesetMetadata:()=>lP,TilesetPipelineStage:()=>$X,TilingScheme:()=>Nj,TimeConstants:()=>Jn,TimeDynamicImagery:()=>jT,TimeDynamicPointCloud:()=>wL,TimeInterval:()=>Rn,TimeIntervalCollection:()=>Br,TimeIntervalCollectionPositionProperty:()=>Yb,TimeIntervalCollectionProperty:()=>Hb,TimeStandard:()=>Kn,Timeline:()=>k9,TimelineHighlightRange:()=>M9,TimelineTrack:()=>N9,Tipsify:()=>SR,ToggleButtonViewModel:()=>Qy,Tonemapper:()=>C0,TrackingReferenceFrame:()=>wp,Transforms:()=>vt,TranslationRotationScale:()=>eg,TranslucentTileClassification:()=>cA,TridiagonalSystemSolver:()=>$C,TrustedServers:()=>JS,TweenCollection:()=>hS,UniformState:()=>cE,UniformType:()=>GL,UrlTemplateImageryProvider:()=>za,VERSION:()=>D1t,VRButton:()=>D9,VRButtonViewModel:()=>U9,VRTheWorldTerrainProvider:()=>Uj,VaryingType:()=>E6,Vector3DTileBatch:()=>uf,Vector3DTileClampedPolylines:()=>q2,Vector3DTileContent:()=>eP,Vector3DTileGeometry:()=>Jp,Vector3DTilePoints:()=>Y2,Vector3DTilePolygons:()=>H2,Vector3DTilePolylines:()=>M_,Vector3DTilePrimitive:()=>s_,VelocityOrientationProperty:()=>HP,VelocityVectorProperty:()=>zb,VertexArray:()=>ri,VertexArrayFacade:()=>Ip,VertexAttributeSemantic:()=>Zt,VertexFormat:()=>We,VerticalExaggeration:()=>Cr,VerticalExaggerationPipelineStage:()=>o2,VerticalOrigin:()=>wn,VideoSynchronizer:()=>kj,View:()=>sS,Viewer:()=>q6,ViewportQuad:()=>C6,Visibility:()=>pr,Visualizer:()=>I4,VoxelBoxShape:()=>sp,VoxelCell:()=>YA,VoxelContent:()=>IM,VoxelCylinderShape:()=>ap,VoxelEllipsoidShape:()=>gS,VoxelInspector:()=>O9,VoxelInspectorViewModel:()=>B9,VoxelPrimitive:()=>zy,VoxelProvider:()=>L6,VoxelRenderResources:()=>sM,VoxelShape:()=>R6,VoxelShapeType:()=>Ai,VoxelTraversal:()=>ZL,VulkanConstants:()=>Dj,WallGeometry:()=>xv,WallGeometryLibrary:()=>pT,WallGeometryUpdater:()=>Sv,WallGraphics:()=>Bp,WallOutlineGeometry:()=>Tv,WebGLConstants:()=>ie,WebMapServiceImageryProvider:()=>yF,WebMapTileServiceImageryProvider:()=>_F,WebMercatorProjection:()=>Xi,WebMercatorTilingScheme:()=>ss,WindingOrder:()=>ms,WireframeIndexGenerator:()=>a1,WireframePipelineStage:()=>r2,_shadersAcesTonemappingStage:()=>mA,_shadersAdditiveBlend:()=>kA,_shadersAdjustTranslucentFS:()=>QV,_shadersAllMaterialAppearanceFS:()=>TE,_shadersAllMaterialAppearanceVS:()=>SE,_shadersAmbientOcclusionGenerate:()=>hA,_shadersAmbientOcclusionModulate:()=>fA,_shadersAspectRampMaterial:()=>ZE,_shadersAtmosphereCommon:()=>zm,_shadersAtmosphereStageFS:()=>eW,_shadersAtmosphereStageVS:()=>tW,_shadersBasicMaterialAppearanceFS:()=>CE,_shadersBasicMaterialAppearanceVS:()=>VE,_shadersBillboardCollectionFS:()=>X2,_shadersBillboardCollectionVS:()=>W2,_shadersBlackAndWhite:()=>pA,_shadersBloomComposite:()=>bA,_shadersBrdfLutGeneratorFS:()=>kw,_shadersBrightPass:()=>UA,_shadersBrightness:()=>gA,_shadersBumpMapMaterial:()=>GE,_shadersCPUStylingStageFS:()=>RW,_shadersCPUStylingStageVS:()=>LW,_shadersCheckerboardMaterial:()=>EE,_shadersCloudCollectionFS:()=>Uw,_shadersCloudCollectionVS:()=>Dw,_shadersCloudNoiseFS:()=>Bw,_shadersCloudNoiseVS:()=>Ow,_shadersCompareAndPackTranslucentDepth:()=>Yw,_shadersCompositeOITFS:()=>Hw,_shadersCompositeTranslucentClassification:()=>rS,_shadersComputeIrradianceFS:()=>mX,_shadersComputeRadianceMapFS:()=>hX,_shadersContrastBias:()=>yA,_shadersConvolveSpecularMapFS:()=>fX,_shadersConvolveSpecularMapVS:()=>pX,_shadersCustomShaderStageFS:()=>EW,_shadersCustomShaderStageVS:()=>GW,_shadersCzmBuiltins:()=>Lx,_shadersDepthOfField:()=>xA,_shadersDepthPlaneFS:()=>zw,_shadersDepthPlaneVS:()=>Kw,_shadersDepthView:()=>_A,_shadersDepthViewPacked:()=>Z6,_shadersDotMaterial:()=>IE,_shadersEdgeDetection:()=>TA,_shadersElevationBandMaterial:()=>XE,_shadersElevationContourMaterial:()=>WE,_shadersElevationRampMaterial:()=>PE,_shadersEllipsoidFS:()=>jV,_shadersEllipsoidSurfaceAppearanceFS:()=>wM,_shadersEllipsoidSurfaceAppearanceVS:()=>FM,_shadersEllipsoidVS:()=>qV,_shadersFXAA:()=>VA,_shadersFXAA3_11:()=>Jw,_shadersFadeMaterial:()=>vE,_shadersFeatureIdStageFS:()=>IW,_shadersFeatureIdStageVS:()=>XW,_shadersFilmicTonemapping:()=>SA,_shadersGaussianBlur1D:()=>Yy,_shadersGeometryStageFS:()=>AW,_shadersGeometryStageVS:()=>MW,_shadersGlobeFS:()=>Qw,_shadersGlobeVS:()=>jw,_shadersGridMaterial:()=>wE,_shadersGroundAtmosphere:()=>$V,_shadersHSBToRGB:()=>iG,_shadersHSLToRGB:()=>oG,_shadersImageBasedLightingStageFS:()=>iW,_shadersInstancingStageCommon:()=>fW,_shadersInstancingStageVS:()=>pW,_shadersIntersectBox:()=>qA,_shadersIntersectClippingPlanes:()=>jA,_shadersIntersectCylinder:()=>$A,_shadersIntersectDepth:()=>QA,_shadersIntersectEllipsoid:()=>eM,_shadersIntersectLongitude:()=>LL,_shadersIntersection:()=>bS,_shadersIntersectionUtils:()=>JA,_shadersLegacyInstancingStageVS:()=>bW,_shadersLensFlare:()=>LA,_shadersLightingStageFS:()=>UW,_shadersMaterialStageFS:()=>BW,_shadersMegatexture:()=>rM,_shadersMetadataStageFS:()=>WW,_shadersMetadataStageVS:()=>PW,_shadersModelClippingPlanesStageFS:()=>cW,_shadersModelClippingPolygonsStageFS:()=>uW,_shadersModelClippingPolygonsStageVS:()=>dW,_shadersModelColorStageFS:()=>aW,_shadersModelFS:()=>S2,_shadersModelSilhouetteStageFS:()=>d2,_shadersModelSilhouetteStageVS:()=>u2,_shadersModelSplitterStageFS:()=>h2,_shadersModelVS:()=>T2,_shadersModifiedReinhardTonemapping:()=>RA,_shadersMorphTargetsStageVS:()=>YW,_shadersNightVision:()=>ZA,_shadersNormalMapMaterial:()=>FE,_shadersOctree:()=>oM,_shadersPassThrough:()=>ql,_shadersPassThroughDepth:()=>Dy,_shadersPbrNeutralTonemapping:()=>CA,_shadersPerInstanceColorAppearanceFS:()=>zE,_shadersPerInstanceColorAppearanceVS:()=>KE,_shadersPerInstanceFlatColorAppearanceFS:()=>Px,_shadersPerInstanceFlatColorAppearanceVS:()=>JE,_shadersPointCloudEyeDomeLighting:()=>wX,_shadersPointCloudStylingStageVS:()=>KW,_shadersPointPrimitiveCollectionFS:()=>jg,_shadersPointPrimitiveCollectionVS:()=>FP,_shadersPolygonSignedDistanceFS:()=>dX,_shadersPolylineArrowMaterial:()=>AE,_shadersPolylineColorAppearanceVS:()=>lI,_shadersPolylineCommon:()=>bd,_shadersPolylineDashMaterial:()=>ME,_shadersPolylineFS:()=>kx,_shadersPolylineGlowMaterial:()=>NE,_shadersPolylineMaterialAppearanceVS:()=>dI,_shadersPolylineOutlineMaterial:()=>kE,_shadersPolylineShadowVolumeFS:()=>rI,_shadersPolylineShadowVolumeMorphFS:()=>sI,_shadersPolylineShadowVolumeMorphVS:()=>aI,_shadersPolylineShadowVolumeVS:()=>cI,_shadersPolylineVS:()=>N2,_shadersPrimitiveOutlineStageFS:()=>jW,_shadersPrimitiveOutlineStageVS:()=>QW,_shadersRGBToHSB:()=>IG,_shadersRGBToHSL:()=>XG,_shadersRGBToXYZ:()=>WG,_shadersReinhardTonemapping:()=>GA,_shadersReprojectWebMercatorFS:()=>qw,_shadersReprojectWebMercatorVS:()=>$w,_shadersRimLightingMaterial:()=>UE,_shadersSelectedFeatureIdStageCommon:()=>s1,_shadersShadowVolumeAppearanceFS:()=>hC,_shadersShadowVolumeAppearanceVS:()=>qE,_shadersShadowVolumeFS:()=>Q0,_shadersSilhouette:()=>EA,_shadersSkinningStageVS:()=>t2,_shadersSkyAtmosphereCommon:()=>eL,_shadersSkyAtmosphereFS:()=>eF,_shadersSkyAtmosphereVS:()=>tF,_shadersSkyBoxFS:()=>nF,_shadersSkyBoxVS:()=>iF,_shadersSlopeRampMaterial:()=>DE,_shadersStripeMaterial:()=>BE,_shadersSunFS:()=>oF,_shadersSunTextureFS:()=>rF,_shadersSunVS:()=>sF,_shadersTexturedMaterialAppearanceFS:()=>LE,_shadersTexturedMaterialAppearanceVS:()=>RE,_shadersVector3DTileClampedPolylinesFS:()=>Q2,_shadersVector3DTileClampedPolylinesVS:()=>J2,_shadersVector3DTilePolylinesVS:()=>z2,_shadersVectorTileVS:()=>CC,_shadersVerticalExaggerationStageVS:()=>i2,_shadersViewportQuadFS:()=>aF,_shadersViewportQuadVS:()=>bx,_shadersVoxelFS:()=>zA,_shadersVoxelUtils:()=>HA,_shadersVoxelVS:()=>KA,_shadersWater:()=>YE,_shadersWaterMaskMaterial:()=>OE,_shadersXYZToRGB:()=>nE,_shadersacesTonemapping:()=>TZ,_shadersalphaWeight:()=>SZ,_shadersantialias:()=>CZ,_shadersapplyHSBShift:()=>VZ,_shadersapproximateSphericalCoordinates:()=>LZ,_shadersapproximateTanh:()=>RZ,_shadersbackFacing:()=>ZZ,_shadersbranchFreeTernary:()=>GZ,_shaderscascadeColor:()=>EZ,_shaderscascadeDistance:()=>IZ,_shaderscascadeMatrix:()=>XZ,_shaderscascadeWeights:()=>WZ,_shadersclipPolygons:()=>PZ,_shaderscolumbusViewMorph:()=>vZ,_shaderscomputeAtmosphereColor:()=>wZ,_shaderscomputeGroundAtmosphereScattering:()=>FZ,_shaderscomputePosition:()=>AZ,_shaderscomputeScattering:()=>MZ,_shadersconvertUvToBox:()=>tM,_shadersconvertUvToCylinder:()=>nM,_shadersconvertUvToEllipsoid:()=>iM,_shaderscosineAndSine:()=>NZ,_shadersdecompressTextureCoordinates:()=>kZ,_shadersdegreesPerRadian:()=>ER,_shadersdepthClamp:()=>UZ,_shadersdepthRange:()=>IR,_shadersdepthRangeStruct:()=>hZ,_shaderseastNorthUpToEyeCoordinates:()=>DZ,_shadersellipsoidContainsPoint:()=>BZ,_shadersellipsoidTextureCoordinates:()=>OZ,_shadersepsilon1:()=>XR,_shadersepsilon2:()=>WR,_shadersepsilon3:()=>PR,_shadersepsilon4:()=>vR,_shadersepsilon5:()=>wR,_shadersepsilon6:()=>FR,_shadersepsilon7:()=>AR,_shadersequalsEpsilon:()=>YZ,_shaderseyeOffset:()=>HZ,_shaderseyeToWindowCoordinates:()=>zZ,_shadersfastApproximateAtan:()=>KZ,_shadersfog:()=>JZ,_shadersgammaCorrect:()=>QZ,_shadersgeodeticSurfaceNormal:()=>jZ,_shadersgetDefaultMaterial:()=>qZ,_shadersgetDynamicAtmosphereLightDirection:()=>$Z,_shadersgetLambertDiffuse:()=>eG,_shadersgetSpecular:()=>tG,_shadersgetWaterNoise:()=>nG,_shadershue:()=>rG,_shadersinfinity:()=>MR,_shadersinverseGamma:()=>sG,_shadersisEmpty:()=>aG,_shadersisFull:()=>cG,_shaderslatitudeToWebMercatorFraction:()=>lG,_shaderslineDistance:()=>uG,_shaderslinearToSrgb:()=>dG,_shadersluminance:()=>mG,_shadersmaterial:()=>fZ,_shadersmaterialInput:()=>pZ,_shadersmaximumComponent:()=>hG,_shadersmetersPerPixel:()=>fG,_shadersmodelMaterial:()=>bZ,_shadersmodelToWindowCoordinates:()=>pG,_shadersmodelVertexOutput:()=>gZ,_shadersmultiplyWithColorBalance:()=>bG,_shadersnearFarScalar:()=>gG,_shadersoctDecode:()=>yG,_shadersoneOverPi:()=>NR,_shadersoneOverTwoPi:()=>kR,_shaderspackDepth:()=>xG,_shaderspassCesium3DTile:()=>UR,_shaderspassCesium3DTileClassification:()=>DR,_shaderspassCesium3DTileClassificationIgnoreShow:()=>BR,_shaderspassClassification:()=>OR,_shaderspassCompute:()=>YR,_shaderspassEnvironment:()=>HR,_shaderspassGlobe:()=>zR,_shaderspassOpaque:()=>KR,_shaderspassOverlay:()=>JR,_shaderspassTerrainClassification:()=>QR,_shaderspassTranslucent:()=>jR,_shaderspassVoxels:()=>qR,_shaderspbrLighting:()=>_G,_shaderspbrNeutralTonemapping:()=>TG,_shadersphong:()=>SG,_shaderspi:()=>$R,_shaderspiOverFour:()=>eZ,_shaderspiOverSix:()=>tZ,_shaderspiOverThree:()=>nZ,_shaderspiOverTwo:()=>iZ,_shadersplaneDistance:()=>CG,_shaderspointAlongRay:()=>VG,_shadersradiansPerDegree:()=>oZ,_shadersray:()=>yZ,_shadersrayEllipsoidIntersectionInterval:()=>LG,_shadersraySegment:()=>xZ,_shadersraySphereIntersectionInterval:()=>RG,_shadersreadDepth:()=>ZG,_shadersreadNonPerspective:()=>GG,_shadersreverseLogDepth:()=>EG,_shadersround:()=>PG,_shaderssaturation:()=>vG,_shaderssceneMode2D:()=>rZ,_shaderssceneMode3D:()=>sZ,_shaderssceneModeColumbusView:()=>aZ,_shaderssceneModeMorphing:()=>cZ,_shadersshadowDepthCompare:()=>wG,_shadersshadowParameters:()=>_Z,_shadersshadowVisibility:()=>FG,_shaderssignNotZero:()=>AG,_shaderssolarRadius:()=>lZ,_shaderssphericalHarmonics:()=>MG,_shaderssrgbToLinear:()=>NG,_shaderstangentToEyeSpaceMatrix:()=>kG,_shaderstextureCube:()=>UG,_shadersthreePiOver2:()=>dZ,_shaderstransformPlane:()=>DG,_shaderstranslateRelativeToEye:()=>BG,_shaderstranslucentPhong:()=>OG,_shaderstranspose:()=>YG,_shaderstwoPi:()=>uZ,_shadersunpackClippingExtents:()=>HG,_shadersunpackDepth:()=>zG,_shadersunpackFloat:()=>KG,_shadersunpackUint:()=>JG,_shadersvalueTransform:()=>QG,_shadersvertexLogDepth:()=>jG,_shaderswebMercatorMaxLatitude:()=>mZ,_shaderswindowToEyeCoordinates:()=>qG,_shaderswriteDepthClamp:()=>$G,_shaderswriteLogDepth:()=>eE,_shaderswriteNonPerspective:()=>tE,addBuffer:()=>KI,addDefaults:()=>kI,addExtensionsRequired:()=>YI,addExtensionsUsed:()=>Zu,addPipelineExtras:()=>ug,addToArray:()=>Gs,appendForwardSlash:()=>$L,arrayRemoveDuplicates:()=>To,barycentricCoordinates:()=>yx,binarySearch:()=>Io,buildModuleUrl:()=>sn,buildVoxelDrawCommands:()=>cM,clone:()=>He,combine:()=>Vt,computeFlyToLocationForRectangle:()=>KT,createBillboardPointCallback:()=>v_,createCommand:()=>Zn,createDefaultImageryProviderViewModels:()=>m9,createDefaultTerrainProviderViewModels:()=>h9,createElevationBandMaterial:()=>H7,createGooglePhotorealistic3DTileset:()=>z7,createGuid:()=>Yn,createMaterialPropertyDescriptor:()=>Xo,createOsmBuildingsAsync:()=>K7,createPropertyDescriptor:()=>ue,createRawPropertyDescriptor:()=>Oc,createTangentSpaceDebugPrimitive:()=>J7,createTaskProcessorWorker:()=>X6,createUniform:()=>mR,createUniformArray:()=>hR,createWorldBathymetryAsync:()=>Sw,createWorldImageryAsync:()=>b0,createWorldTerrainAsync:()=>FT,decodeGoogleEarthEnterpriseData:()=>Cw,decodeVectorPolylinePositions:()=>$2,defaultValue:()=>y,defer:()=>xl,defined:()=>l,demodernizeShader:()=>iE,deprecationWarning:()=>hs,destroyObject:()=>me,exportKml:()=>MQ,findAccessorMinMax:()=>f_,findContentMetadata:()=>k_,findGroupMetadata:()=>U_,findTileMetadata:()=>iP,forEachTextureInMaterial:()=>WC,formatError:()=>zf,freezeRenderState:()=>w3,getAbsoluteUri:()=>Kh,getAccessorByteStride:()=>Xl,getBaseUri:()=>eR,getBinaryAccessor:()=>xd,getClipAndStyleCode:()=>SM,getClippingFunction:()=>m0,getComponentReader:()=>nb,getElement:()=>Pn,getExtensionFromUri:()=>ax,getFilenameFromUri:()=>Ub,getImageFromTypedArray:()=>Gw,getImagePixels:()=>Sm,getJsonFromTypedArray:()=>Po,getMagic:()=>km,getMetadataClassProperty:()=>hM,getMetadataProperty:()=>pM,getStringFromTypedArray:()=>Zl,getTimestamp:()=>Ci,hasExtension:()=>ci,heightReferenceOnEntityPropertyChanged:()=>Op,isBitSet:()=>Zc,isBlobUri:()=>cx,isCrossOriginUrl:()=>F0,isDataUri:()=>Tp,isLeapYear:()=>Tm,knockout:()=>Se,knockout_3_5_1:()=>WS,knockout_es5:()=>qM,loadAndExecuteScript:()=>lx,loadCubeMap:()=>mE,loadImageFromTypedArray:()=>u_,loadKTX2:()=>Tl,mergeSort:()=>u0,moveTechniqueRenderStates:()=>OI,moveTechniquesToExtension:()=>HI,numberOfComponentsForType:()=>Td,objectToQuery:()=>dx,oneTimeWarning:()=>Tt,parseBatchTable:()=>hb,parseFeatureMetadataLegacy:()=>CX,parseGlb:()=>DI,parseResponseHeaders:()=>tR,parseStructuralMetadata:()=>SX,pickModel:()=>d1,pointInsideTriangle:()=>Lj,preprocess3DTileContent:()=>Lf,processVoxelProperties:()=>aM,queryToObject:()=>cd,readAccessorPacked:()=>JI,removeExtension:()=>p_,removeExtensionsRequired:()=>UI,removeExtensionsUsed:()=>h_,removePipelineExtras:()=>BI,removeUnusedElements:()=>zI,resizeImageToNextPowerOfTwo:()=>fg,sampleTerrain:()=>Fw,sampleTerrainMostDetailed:()=>OT,scaleToGeodeticSurface:()=>sx,srgbToLinear:()=>HT,subdivideArray:()=>$E,subscribeAndEvaluate:()=>Ra,updateAccessorComponentTypes:()=>QI,updateVersion:()=>jI,usesExtension:()=>lr,viewerCesium3DTilesInspectorMixin:()=>$6,viewerCesiumInspectorMixin:()=>eq,viewerDragDropMixin:()=>nq,viewerPerformanceWatchdogMixin:()=>iq,viewerVoxelInspectorMixin:()=>oq,webGLConstantToGlslType:()=>Bj,wrapFunction:()=>Nw,writeTextToCanvas:()=>F_});var $Xo=T(S(),1);var _ro=T(S(),1);var BVt=T(S(),1);var hVt=T(S(),1);var tVt=T(S(),1);var K1t=T(S(),1);function qCe(e){return e!=null}var l=qCe;var j1t=T(S(),1);function ox(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(ox.prototype=Object.create(Error.prototype),ox.prototype.constructor=ox);ox.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` +${this.stack.toString()}`),e};ox.throwInstantiationError=function(){throw new ox("This function defines an interface and should not be called directly.")};var fe=ox;var Rs={};Rs.typeOf={};function $Ce(e){return`${e} is required, actual value was undefined`}function NS(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}Rs.defined=function(e,t){if(!l(t))throw new fe($Ce(e))};Rs.typeOf.func=function(e,t){if(typeof t!="function")throw new fe(NS(typeof t,"function",e))};Rs.typeOf.string=function(e,t){if(typeof t!="string")throw new fe(NS(typeof t,"string",e))};Rs.typeOf.number=function(e,t){if(typeof t!="number")throw new fe(NS(typeof t,"number",e))};Rs.typeOf.number.lessThan=function(e,t,n){if(Rs.typeOf.number(e,t),t>=n)throw new fe(`Expected ${e} to be less than ${n}, actual value was ${t}`)};Rs.typeOf.number.lessThanOrEquals=function(e,t,n){if(Rs.typeOf.number(e,t),t>n)throw new fe(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};Rs.typeOf.number.greaterThan=function(e,t,n){if(Rs.typeOf.number(e,t),t<=n)throw new fe(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};Rs.typeOf.number.greaterThanOrEquals=function(e,t,n){if(Rs.typeOf.number(e,t),t0?1:-1});ut.signNotZero=function(e){return e<0?-1:1};ut.toSNorm=function(e,t){return t=y(t,255),Math.round((ut.clamp(e,-1,1)*.5+.5)*t)};ut.fromSNorm=function(e,t){return t=y(t,255),ut.clamp(e,0,t)/t*2-1};ut.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:ut.clamp((e-t)/n,0,1)};ut.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});ut.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});ut.lerp=function(e,t,n){return(1-n)*e+n*t};ut.PI=Math.PI;ut.ONE_OVER_PI=1/Math.PI;ut.PI_OVER_TWO=Math.PI/2;ut.PI_OVER_THREE=Math.PI/3;ut.PI_OVER_FOUR=Math.PI/4;ut.PI_OVER_SIX=Math.PI/6;ut.THREE_PI_OVER_TWO=3*Math.PI/2;ut.TWO_PI=2*Math.PI;ut.ONE_OVER_TWO_PI=1/(2*Math.PI);ut.RADIANS_PER_DEGREE=Math.PI/180;ut.DEGREES_PER_RADIAN=180/Math.PI;ut.RADIANS_PER_ARCSECOND=ut.RADIANS_PER_DEGREE/3600;ut.toRadians=function(e){return e*ut.RADIANS_PER_DEGREE};ut.toDegrees=function(e){return e*ut.DEGREES_PER_RADIAN};ut.convertLongitudeRange=function(e){let t=ut.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};ut.clampToLatitudeRange=function(e){return ut.clamp(e,-1*ut.PI_OVER_TWO,ut.PI_OVER_TWO)};ut.negativePiToPi=function(e){return e>=-ut.PI&&e<=ut.PI?e:ut.zeroToTwoPi(e+ut.PI)-ut.PI};ut.zeroToTwoPi=function(e){if(e>=0&&e<=ut.TWO_PI)return e;let t=ut.mod(e,ut.TWO_PI);return Math.abs(t)ut.EPSILON14?ut.TWO_PI:t};ut.mod=function(e,t){return ut.sign(e)===ut.sign(t)&&Math.abs(e)n};ut.greaterThanOrEquals=function(e,t,n){return e-t>-n};var j9=[1];ut.factorial=function(e){let t=j9.length;if(e>=t){let n=j9[t-1];for(let i=t;i<=e;i++){let o=n*i;j9.push(o),n=o}}return j9[e]};ut.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};ut.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};ut.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};ut.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};ut.clamp=function(e,t,n){return en?n:e};var Vq=new HO.default;ut.setRandomNumberSeed=function(e){Vq=new HO.default(e)};ut.nextRandomNumber=function(){return Vq.random()};ut.randomBetween=function(e,t){return ut.nextRandomNumber()*(t-e)+e};ut.acosClamped=function(e){return Math.acos(ut.clamp(e,-1,1))};ut.asinClamped=function(e){return Math.asin(ut.clamp(e,-1,1))};ut.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};ut.logBase=function(e,t){return Math.log(e)/Math.log(t)};ut.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});ut.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});ut.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};ut.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};ut.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=ut.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?ut.PI_OVER_TWO-i:i,i=e<0?ut.PI-i:i,i=t<0?-i:i,i};var W=ut;function it(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}it.fromSpherical=function(e,t){l(t)||(t=new it);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};it.fromElements=function(e,t,n,i){return l(i)?(i.x=e,i.y=t,i.z=n,i):new it(e,t,n)};it.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new it(e.x,e.y,e.z)};it.fromCartesian4=it.clone;it.packedLength=3;it.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};it.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new it),n.x=e[t++],n.y=e[t++],n.z=e[t],n};it.packArray=function(e,t){let n=e.length,i=n*3;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;oi&&(o=d,i=u)}let r=1,s=0,a=QO[o],c=jO[o];if(Math.abs(e[rt.getElementIndex(c,a)])>n){let d=e[rt.getElementIndex(c,c)],u=e[rt.getElementIndex(a,a)],m=e[rt.getElementIndex(c,a)],p=(d-u)/2/m,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=rt.clone(rt.IDENTITY,t),t[rt.getElementIndex(a,a)]=t[rt.getElementIndex(c,c)]=r,t[rt.getElementIndex(c,a)]=s,t[rt.getElementIndex(a,c)]=-s,t}var tN=new rt,Eq=new rt;rt.computeEigenDecomposition=function(e,t){let n=W.EPSILON20,i=10,o=0,r=0;l(t)||(t={});let s=t.unitary=rt.clone(rt.IDENTITY,t.unitary),a=t.diagonal=rt.clone(e,t.diagonal),c=n*c1e(a);for(;rc;)d1e(a,tN),rt.transpose(tN,Eq),rt.multiply(a,tN,a),rt.multiply(Eq,a,a),rt.multiply(s,tN,s),++o>2&&(++r,o=0);return t};rt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t};rt.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],d=e[8];return t*(r*d-c*s)+o*(c*i-n*d)+a*(n*s-r*i)};rt.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],d=e[7],u=e[8],m=rt.determinant(e);t[0]=s*u-d*a,t[1]=d*o-i*u,t[2]=i*a-s*o,t[3]=c*a-r*u,t[4]=n*u-c*o,t[5]=r*o-n*a,t[6]=r*d-c*s,t[7]=c*i-n*d,t[8]=n*s-r*i;let p=1/m;return rt.multiplyByScalar(t,p,t)};var u1e=new rt;rt.inverseTranspose=function(e,t){return rt.inverse(rt.transpose(e,u1e),t)};rt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]};rt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n};rt.IDENTITY=Object.freeze(new rt(1,0,0,0,1,0,0,0,1));rt.ZERO=Object.freeze(new rt(0,0,0,0,0,0,0,0,0));rt.COLUMN0ROW0=0;rt.COLUMN0ROW1=1;rt.COLUMN0ROW2=2;rt.COLUMN1ROW0=3;rt.COLUMN1ROW1=4;rt.COLUMN1ROW2=5;rt.COLUMN2ROW0=6;rt.COLUMN2ROW1=7;rt.COLUMN2ROW2=8;Object.defineProperties(rt.prototype,{length:{get:function(){return rt.packedLength}}});rt.prototype.clone=function(e){return rt.clone(this,e)};rt.prototype.equals=function(e){return rt.equals(this,e)};rt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};rt.prototype.equalsEpsilon=function(e,t){return rt.equalsEpsilon(this,e,t)};rt.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) (${this[1]}, ${this[4]}, ${this[7]}) -(${this[2]}, ${this[5]}, ${this[8]})`};var $=at;var Y1t=T(S(),1);function zL(e){this.name="RuntimeError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(zL.prototype=Object.create(Error.prototype),zL.prototype.constructor=zL);zL.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` -${this.stack.toString()}`),e};var de=zL;function ot(e,t,n,i,o,r,s,a,c,d,u,m,p,g,f,x){this[0]=y(e,0),this[1]=y(o,0),this[2]=y(c,0),this[3]=y(p,0),this[4]=y(t,0),this[5]=y(r,0),this[6]=y(d,0),this[7]=y(g,0),this[8]=y(n,0),this[9]=y(s,0),this[10]=y(u,0),this[11]=y(f,0),this[12]=y(i,0),this[13]=y(a,0),this[14]=y(m,0),this[15]=y(x,0)}ot.packedLength=16;ot.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};ot.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ot),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};ot.packArray=function(e,t){let n=e.length,i=n*16;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o=W.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};ws.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=W.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};ws.fromTypedArray=function(e){if(e instanceof Uint8Array)return ws.UNSIGNED_BYTE;if(e instanceof Uint16Array)return ws.UNSIGNED_SHORT;if(e instanceof Uint32Array)return ws.UNSIGNED_INT};var Ne=Object.freeze(ws);var _Vt=T(S(),1);var JM={STREAM_DRAW:ie.STREAM_DRAW,STATIC_DRAW:ie.STATIC_DRAW,DYNAMIC_DRAW:ie.DYNAMIC_DRAW,validate:function(e){return e===JM.STREAM_DRAW||e===JM.STATIC_DRAW||e===JM.DYNAMIC_DRAW}},Ue=Object.freeze(JM);function au(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=l(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=Yn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}au.createVertexBuffer=function(e){return new au({context:e.context,bufferTarget:ie.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};au.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=Ne.getSizeInBytes(n),o=new au({context:t,bufferTarget:ie.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(au.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});au.prototype._getBuffer=function(){return this._buffer};au.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};au.prototype.copyFromBuffer=function(e,t,n,i){let o=ie.COPY_READ_BUFFER,r=ie.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};au.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=ie.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};au.prototype.isDestroyed=function(){return!1};au.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),me(this)};var xt=au;var zVt=T(S(),1);var DVt=T(S(),1);var FVt=T(S(),1);var XVt=T(S(),1);var Rb,Er={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},pl={};Object.defineProperties(pl,{element:{get:function(){if(pl.supportsFullscreen())return document[Er.fullscreenElement]}},changeEventName:{get:function(){if(pl.supportsFullscreen())return Er.fullscreenchange}},errorEventName:{get:function(){if(pl.supportsFullscreen())return Er.fullscreenerror}},enabled:{get:function(){if(pl.supportsFullscreen())return document[Er.fullscreenEnabled]}},fullscreen:{get:function(){if(pl.supportsFullscreen())return pl.element!==null}}});pl.supportsFullscreen=function(){if(l(Rb))return Rb;Rb=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return Er.requestFullscreen="requestFullscreen",Er.exitFullscreen="exitFullscreen",Er.fullscreenEnabled="fullscreenEnabled",Er.fullscreenElement="fullscreenElement",Er.fullscreenchange="fullscreenchange",Er.fullscreenerror="fullscreenerror",Rb=!0,Rb;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i{let t=new Image;t.onload=function(){Wc._result=t.width>0&&t.height>0,e(Wc._result)},t.onerror=function(){Wc._result=!1,e(Wc._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),Wc._promise};Object.defineProperties(Wc,{initialized:{get:function(){return l(Wc._result)}}});var AS=[];typeof ArrayBuffer<"u"&&(AS.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&AS.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&AS.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&AS.push(BigInt64Array),typeof BigUint64Array<"u"&&AS.push(BigUint64Array));var cu={isChrome:eO,chromeVersion:m1e,isSafari:Lq,safariVersion:h1e,isWebkit:Rq,webkitVersion:f1e,isInternetExplorer:Zq,internetExplorerVersion:p1e,isEdge:nN,edgeVersion:b1e,isFirefox:iN,firefoxVersion:x1e,isWindows:g1e,isIPadOrIOS:y1e,hardwareConcurrency:y(ja.hardwareConcurrency,3),supportsPointerEvents:_1e,supportsImageRenderingPixelated:Iq,supportsWebP:Wc,imageRenderingValue:T1e,typedArrayTypes:AS};cu.supportsBasis=function(e){return cu.supportsWebAssembly()&&e.context.supportsBasis};cu.supportsFullscreen=function(){return br.supportsFullscreen()};cu.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};cu.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};cu.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};cu.supportsBigInt=function(){return typeof BigInt<"u"};cu.supportsWebWorkers=function(){return typeof Worker<"u"};cu.supportsWebAssembly=function(){return typeof WebAssembly<"u"};cu.supportsWebgl2=function(e){return e.context.webgl2};cu.supportsEsmWebWorkers=function(){return!iN()||parseInt(tO)>=114};var zt=cu;function nO(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function re(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}re.fromCartesian4=function(e,t){return l(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new re(e.x,e.y,e.z,e.w)};re.fromBytes=function(e,t,n,i,o){return e=re.byteToFloat(y(e,255)),t=re.byteToFloat(y(t,255)),n=re.byteToFloat(y(n,255)),i=re.byteToFloat(y(i,255)),l(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new re(e,t,n,i)};re.fromAlpha=function(e,t,n){return l(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new re(e.red,e.green,e.blue,t)};var iO,oO,bp;zt.supportsTypedArrays()&&(iO=new ArrayBuffer(4),oO=new Uint32Array(iO),bp=new Uint8Array(iO));re.fromRgba=function(e,t){return oO[0]=e,re.fromBytes(bp[0],bp[1],bp[2],bp[3],t)};re.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let d=2*n-c;r=nO(d,c,e+1/3),s=nO(d,c,e),a=nO(d,c,e-1/3)}return l(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new re(r,s,a,i)};re.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!l(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+W.nextRandomNumber()*(a-s)}let i=e.green;if(!l(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+W.nextRandomNumber()*(a-s)}let o=e.blue;if(!l(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+W.nextRandomNumber()*(a-s)}let r=e.alpha;if(!l(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+W.nextRandomNumber()*(a-s)}return l(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new re(n,i,o,r)};var S1e=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,C1e=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,V1e=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,L1e=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;re.fromCssColorString=function(e,t){l(t)||(t=new re),e=e.trim();let n=re[e.toUpperCase()];if(l(n))return re.clone(n,t),t;let i=S1e.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=C1e.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=V1e.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=L1e.exec(e),i!==null?re.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};re.packedLength=4;re.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};re.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new re),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};re.byteToFloat=function(e){return e/255};re.floatToByte=function(e){return e===1?255:e*256|0};re.clone=function(e,t){if(l(e))return l(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new re(e.red,e.green,e.blue,e.alpha)};re.equals=function(e,t){return e===t||l(e)&&l(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};re.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};re.prototype.clone=function(e){return re.clone(this,e)};re.prototype.equals=function(e){return re.equals(this,e)};re.prototype.equalsEpsilon=function(e,t){return this===e||l(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t};re.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};re.prototype.toCssColorString=function(){let e=re.floatToByte(this.red),t=re.floatToByte(this.green),n=re.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};re.prototype.toCssHexString=function(){let e=re.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=re.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=re.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=re.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};re.prototype.toBytes=function(e){let t=re.floatToByte(this.red),n=re.floatToByte(this.green),i=re.floatToByte(this.blue),o=re.floatToByte(this.alpha);return l(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};re.prototype.toRgba=function(){return bp[0]=re.floatToByte(this.red),bp[1]=re.floatToByte(this.green),bp[2]=re.floatToByte(this.blue),bp[3]=re.floatToByte(this.alpha),oO[0]};re.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};re.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};re.prototype.withAlpha=function(e,t){return re.fromAlpha(this,e,t)};re.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};re.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};re.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};re.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};re.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};re.lerp=function(e,t,n,i){return i.red=W.lerp(e.red,t.red,n),i.green=W.lerp(e.green,t.green,n),i.blue=W.lerp(e.blue,t.blue,n),i.alpha=W.lerp(e.alpha,t.alpha,n),i};re.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};re.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};re.ALICEBLUE=Object.freeze(re.fromCssColorString("#F0F8FF"));re.ANTIQUEWHITE=Object.freeze(re.fromCssColorString("#FAEBD7"));re.AQUA=Object.freeze(re.fromCssColorString("#00FFFF"));re.AQUAMARINE=Object.freeze(re.fromCssColorString("#7FFFD4"));re.AZURE=Object.freeze(re.fromCssColorString("#F0FFFF"));re.BEIGE=Object.freeze(re.fromCssColorString("#F5F5DC"));re.BISQUE=Object.freeze(re.fromCssColorString("#FFE4C4"));re.BLACK=Object.freeze(re.fromCssColorString("#000000"));re.BLANCHEDALMOND=Object.freeze(re.fromCssColorString("#FFEBCD"));re.BLUE=Object.freeze(re.fromCssColorString("#0000FF"));re.BLUEVIOLET=Object.freeze(re.fromCssColorString("#8A2BE2"));re.BROWN=Object.freeze(re.fromCssColorString("#A52A2A"));re.BURLYWOOD=Object.freeze(re.fromCssColorString("#DEB887"));re.CADETBLUE=Object.freeze(re.fromCssColorString("#5F9EA0"));re.CHARTREUSE=Object.freeze(re.fromCssColorString("#7FFF00"));re.CHOCOLATE=Object.freeze(re.fromCssColorString("#D2691E"));re.CORAL=Object.freeze(re.fromCssColorString("#FF7F50"));re.CORNFLOWERBLUE=Object.freeze(re.fromCssColorString("#6495ED"));re.CORNSILK=Object.freeze(re.fromCssColorString("#FFF8DC"));re.CRIMSON=Object.freeze(re.fromCssColorString("#DC143C"));re.CYAN=Object.freeze(re.fromCssColorString("#00FFFF"));re.DARKBLUE=Object.freeze(re.fromCssColorString("#00008B"));re.DARKCYAN=Object.freeze(re.fromCssColorString("#008B8B"));re.DARKGOLDENROD=Object.freeze(re.fromCssColorString("#B8860B"));re.DARKGRAY=Object.freeze(re.fromCssColorString("#A9A9A9"));re.DARKGREEN=Object.freeze(re.fromCssColorString("#006400"));re.DARKGREY=re.DARKGRAY;re.DARKKHAKI=Object.freeze(re.fromCssColorString("#BDB76B"));re.DARKMAGENTA=Object.freeze(re.fromCssColorString("#8B008B"));re.DARKOLIVEGREEN=Object.freeze(re.fromCssColorString("#556B2F"));re.DARKORANGE=Object.freeze(re.fromCssColorString("#FF8C00"));re.DARKORCHID=Object.freeze(re.fromCssColorString("#9932CC"));re.DARKRED=Object.freeze(re.fromCssColorString("#8B0000"));re.DARKSALMON=Object.freeze(re.fromCssColorString("#E9967A"));re.DARKSEAGREEN=Object.freeze(re.fromCssColorString("#8FBC8F"));re.DARKSLATEBLUE=Object.freeze(re.fromCssColorString("#483D8B"));re.DARKSLATEGRAY=Object.freeze(re.fromCssColorString("#2F4F4F"));re.DARKSLATEGREY=re.DARKSLATEGRAY;re.DARKTURQUOISE=Object.freeze(re.fromCssColorString("#00CED1"));re.DARKVIOLET=Object.freeze(re.fromCssColorString("#9400D3"));re.DEEPPINK=Object.freeze(re.fromCssColorString("#FF1493"));re.DEEPSKYBLUE=Object.freeze(re.fromCssColorString("#00BFFF"));re.DIMGRAY=Object.freeze(re.fromCssColorString("#696969"));re.DIMGREY=re.DIMGRAY;re.DODGERBLUE=Object.freeze(re.fromCssColorString("#1E90FF"));re.FIREBRICK=Object.freeze(re.fromCssColorString("#B22222"));re.FLORALWHITE=Object.freeze(re.fromCssColorString("#FFFAF0"));re.FORESTGREEN=Object.freeze(re.fromCssColorString("#228B22"));re.FUCHSIA=Object.freeze(re.fromCssColorString("#FF00FF"));re.GAINSBORO=Object.freeze(re.fromCssColorString("#DCDCDC"));re.GHOSTWHITE=Object.freeze(re.fromCssColorString("#F8F8FF"));re.GOLD=Object.freeze(re.fromCssColorString("#FFD700"));re.GOLDENROD=Object.freeze(re.fromCssColorString("#DAA520"));re.GRAY=Object.freeze(re.fromCssColorString("#808080"));re.GREEN=Object.freeze(re.fromCssColorString("#008000"));re.GREENYELLOW=Object.freeze(re.fromCssColorString("#ADFF2F"));re.GREY=re.GRAY;re.HONEYDEW=Object.freeze(re.fromCssColorString("#F0FFF0"));re.HOTPINK=Object.freeze(re.fromCssColorString("#FF69B4"));re.INDIANRED=Object.freeze(re.fromCssColorString("#CD5C5C"));re.INDIGO=Object.freeze(re.fromCssColorString("#4B0082"));re.IVORY=Object.freeze(re.fromCssColorString("#FFFFF0"));re.KHAKI=Object.freeze(re.fromCssColorString("#F0E68C"));re.LAVENDER=Object.freeze(re.fromCssColorString("#E6E6FA"));re.LAVENDAR_BLUSH=Object.freeze(re.fromCssColorString("#FFF0F5"));re.LAWNGREEN=Object.freeze(re.fromCssColorString("#7CFC00"));re.LEMONCHIFFON=Object.freeze(re.fromCssColorString("#FFFACD"));re.LIGHTBLUE=Object.freeze(re.fromCssColorString("#ADD8E6"));re.LIGHTCORAL=Object.freeze(re.fromCssColorString("#F08080"));re.LIGHTCYAN=Object.freeze(re.fromCssColorString("#E0FFFF"));re.LIGHTGOLDENRODYELLOW=Object.freeze(re.fromCssColorString("#FAFAD2"));re.LIGHTGRAY=Object.freeze(re.fromCssColorString("#D3D3D3"));re.LIGHTGREEN=Object.freeze(re.fromCssColorString("#90EE90"));re.LIGHTGREY=re.LIGHTGRAY;re.LIGHTPINK=Object.freeze(re.fromCssColorString("#FFB6C1"));re.LIGHTSEAGREEN=Object.freeze(re.fromCssColorString("#20B2AA"));re.LIGHTSKYBLUE=Object.freeze(re.fromCssColorString("#87CEFA"));re.LIGHTSLATEGRAY=Object.freeze(re.fromCssColorString("#778899"));re.LIGHTSLATEGREY=re.LIGHTSLATEGRAY;re.LIGHTSTEELBLUE=Object.freeze(re.fromCssColorString("#B0C4DE"));re.LIGHTYELLOW=Object.freeze(re.fromCssColorString("#FFFFE0"));re.LIME=Object.freeze(re.fromCssColorString("#00FF00"));re.LIMEGREEN=Object.freeze(re.fromCssColorString("#32CD32"));re.LINEN=Object.freeze(re.fromCssColorString("#FAF0E6"));re.MAGENTA=Object.freeze(re.fromCssColorString("#FF00FF"));re.MAROON=Object.freeze(re.fromCssColorString("#800000"));re.MEDIUMAQUAMARINE=Object.freeze(re.fromCssColorString("#66CDAA"));re.MEDIUMBLUE=Object.freeze(re.fromCssColorString("#0000CD"));re.MEDIUMORCHID=Object.freeze(re.fromCssColorString("#BA55D3"));re.MEDIUMPURPLE=Object.freeze(re.fromCssColorString("#9370DB"));re.MEDIUMSEAGREEN=Object.freeze(re.fromCssColorString("#3CB371"));re.MEDIUMSLATEBLUE=Object.freeze(re.fromCssColorString("#7B68EE"));re.MEDIUMSPRINGGREEN=Object.freeze(re.fromCssColorString("#00FA9A"));re.MEDIUMTURQUOISE=Object.freeze(re.fromCssColorString("#48D1CC"));re.MEDIUMVIOLETRED=Object.freeze(re.fromCssColorString("#C71585"));re.MIDNIGHTBLUE=Object.freeze(re.fromCssColorString("#191970"));re.MINTCREAM=Object.freeze(re.fromCssColorString("#F5FFFA"));re.MISTYROSE=Object.freeze(re.fromCssColorString("#FFE4E1"));re.MOCCASIN=Object.freeze(re.fromCssColorString("#FFE4B5"));re.NAVAJOWHITE=Object.freeze(re.fromCssColorString("#FFDEAD"));re.NAVY=Object.freeze(re.fromCssColorString("#000080"));re.OLDLACE=Object.freeze(re.fromCssColorString("#FDF5E6"));re.OLIVE=Object.freeze(re.fromCssColorString("#808000"));re.OLIVEDRAB=Object.freeze(re.fromCssColorString("#6B8E23"));re.ORANGE=Object.freeze(re.fromCssColorString("#FFA500"));re.ORANGERED=Object.freeze(re.fromCssColorString("#FF4500"));re.ORCHID=Object.freeze(re.fromCssColorString("#DA70D6"));re.PALEGOLDENROD=Object.freeze(re.fromCssColorString("#EEE8AA"));re.PALEGREEN=Object.freeze(re.fromCssColorString("#98FB98"));re.PALETURQUOISE=Object.freeze(re.fromCssColorString("#AFEEEE"));re.PALEVIOLETRED=Object.freeze(re.fromCssColorString("#DB7093"));re.PAPAYAWHIP=Object.freeze(re.fromCssColorString("#FFEFD5"));re.PEACHPUFF=Object.freeze(re.fromCssColorString("#FFDAB9"));re.PERU=Object.freeze(re.fromCssColorString("#CD853F"));re.PINK=Object.freeze(re.fromCssColorString("#FFC0CB"));re.PLUM=Object.freeze(re.fromCssColorString("#DDA0DD"));re.POWDERBLUE=Object.freeze(re.fromCssColorString("#B0E0E6"));re.PURPLE=Object.freeze(re.fromCssColorString("#800080"));re.RED=Object.freeze(re.fromCssColorString("#FF0000"));re.ROSYBROWN=Object.freeze(re.fromCssColorString("#BC8F8F"));re.ROYALBLUE=Object.freeze(re.fromCssColorString("#4169E1"));re.SADDLEBROWN=Object.freeze(re.fromCssColorString("#8B4513"));re.SALMON=Object.freeze(re.fromCssColorString("#FA8072"));re.SANDYBROWN=Object.freeze(re.fromCssColorString("#F4A460"));re.SEAGREEN=Object.freeze(re.fromCssColorString("#2E8B57"));re.SEASHELL=Object.freeze(re.fromCssColorString("#FFF5EE"));re.SIENNA=Object.freeze(re.fromCssColorString("#A0522D"));re.SILVER=Object.freeze(re.fromCssColorString("#C0C0C0"));re.SKYBLUE=Object.freeze(re.fromCssColorString("#87CEEB"));re.SLATEBLUE=Object.freeze(re.fromCssColorString("#6A5ACD"));re.SLATEGRAY=Object.freeze(re.fromCssColorString("#708090"));re.SLATEGREY=re.SLATEGRAY;re.SNOW=Object.freeze(re.fromCssColorString("#FFFAFA"));re.SPRINGGREEN=Object.freeze(re.fromCssColorString("#00FF7F"));re.STEELBLUE=Object.freeze(re.fromCssColorString("#4682B4"));re.TAN=Object.freeze(re.fromCssColorString("#D2B48C"));re.TEAL=Object.freeze(re.fromCssColorString("#008080"));re.THISTLE=Object.freeze(re.fromCssColorString("#D8BFD8"));re.TOMATO=Object.freeze(re.fromCssColorString("#FF6347"));re.TURQUOISE=Object.freeze(re.fromCssColorString("#40E0D0"));re.VIOLET=Object.freeze(re.fromCssColorString("#EE82EE"));re.WHEAT=Object.freeze(re.fromCssColorString("#F5DEB3"));re.WHITE=Object.freeze(re.fromCssColorString("#FFFFFF"));re.WHITESMOKE=Object.freeze(re.fromCssColorString("#F5F5F5"));re.YELLOW=Object.freeze(re.fromCssColorString("#FFFF00"));re.YELLOWGREEN=Object.freeze(re.fromCssColorString("#9ACD32"));re.TRANSPARENT=Object.freeze(new re(0,0,0,0));var B=re;function oN(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}oN.ALL=Object.freeze(new oN({color:new B(0,0,0,0),depth:1,stencil:0}));oN.prototype.execute=function(e,t){e.clear(this,t)};var ni=oN;var qVt=T(S(),1);var KVt=T(S(),1),R1e={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},Ze=Object.freeze(R1e);function Xq(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=Ze.COMPUTE,this.owner=e.owner}Xq.prototype.execute=function(e){e.execute(this)};var gm=Xq;var yXt=T(S(),1);var MEt=T(S(),1);var iLt=T(S(),1);function Nt(e,t){this.x=y(e,0),this.y=y(t,0)}Nt.fromElements=function(e,t,n){return l(n)?(n.x=e,n.y=t,n):new Nt(e,t)};Nt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t):new Nt(e.x,e.y)};Nt.fromCartesian3=Nt.clone;Nt.fromCartesian4=Nt.clone;Nt.packedLength=2;Nt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};Nt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Nt),n.x=e[t++],n.y=e[t],n};Nt.packArray=function(e,t){let n=e.length,i=n*2;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;oW.EPSILON12);return l(o)?(o.x=r*w,o.y=s*F,o.z=a*b,o):new h(r*w,s*F,a*b)}var jy=I1e;function Fo(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}Fo.fromRadians=function(e,t,n,i){return n=y(n,0),l(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new Fo(e,t,n)};Fo.fromDegrees=function(e,t,n,i){return e=W.toRadians(e),t=W.toRadians(t),Fo.fromRadians(e,t,n,i)};var X1e=new h,W1e=new h,P1e=new h;Fo._ellipsoidOneOverRadii=new h(1/6378137,1/6378137,1/6356752314245179e-9);Fo._ellipsoidOneOverRadiiSquared=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));Fo._ellipsoidCenterToleranceSquared=W.EPSILON1;Fo.fromCartesian=function(e,t,n){let i=l(t)?t.oneOverRadii:Fo._ellipsoidOneOverRadii,o=l(t)?t.oneOverRadiiSquared:Fo._ellipsoidOneOverRadiiSquared,r=l(t)?t._centerToleranceSquared:Fo._ellipsoidCenterToleranceSquared,s=jy(e,i,o,r,W1e);if(!l(s))return;let a=h.multiplyComponents(s,o,X1e);a=h.normalize(a,a);let c=h.subtract(e,s,P1e),d=Math.atan2(a.y,a.x),u=Math.asin(a.z),m=W.sign(h.dot(c,e))*h.magnitude(c);return l(n)?(n.longitude=d,n.latitude=u,n.height=m,n):new Fo(d,u,m)};Fo.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};Fo.clone=function(e,t){if(l(e))return l(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Fo(e.longitude,e.latitude,e.height)};Fo.equals=function(e,t){return e===t||l(e)&&l(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};Fo.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};Fo.ZERO=Object.freeze(new Fo(0,0,0));Fo.prototype.clone=function(e){return Fo.clone(this,e)};Fo.prototype.equals=function(e){return Fo.equals(this,e)};Fo.prototype.equalsEpsilon=function(e,t){return Fo.equalsEpsilon(this,e,t)};Fo.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var he=Fo;var VLt=T(S(),1);function Fq(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=W.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function pi(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,Fq(this,e,t,n)}Object.defineProperties(pi.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});pi.clone=function(e,t){if(!l(e))return;let n=e._radii;return l(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new pi(n.x,n.y,n.z)};pi.fromCartesian3=function(e,t){return l(t)||(t=new pi),l(e)&&Fq(t,e.x,e.y,e.z),t};pi.WGS84=Object.freeze(new pi(6378137,6378137,6356752314245179e-9));pi.UNIT_SPHERE=Object.freeze(new pi(1,1,1));pi.MOON=Object.freeze(new pi(W.LUNAR_RADIUS,W.LUNAR_RADIUS,W.LUNAR_RADIUS));pi._default=pi.WGS84;Object.defineProperties(pi,{default:{get:function(){return pi._default},set:function(e){pi._default=e,h._ellipsoidRadiiSquared=e.radiiSquared,he._ellipsoidOneOverRadii=e.oneOverRadii,he._ellipsoidOneOverRadiiSquared=e.oneOverRadiiSquared,he._ellipsoidCenterToleranceSquared=e._centerToleranceSquared}}});pi.prototype.clone=function(e){return pi.clone(this,e)};pi.packedLength=h.packedLength;pi.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};pi.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return pi.fromCartesian3(i,n)};pi.prototype.geocentricSurfaceNormal=h.normalize;pi.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return l(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};pi.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,W.EPSILON14))return l(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var v1e=new h,w1e=new h;pi.prototype.cartographicToCartesian=function(e,t){let n=v1e,i=w1e;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),l(t)||(t=new h),h.add(i,n,t)};pi.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i=this._radii.z-t))return n};var N1e=new h;pi.prototype.getLocalCurvature=function(e,t){l(t)||(t=new D);let n=this.getSurfaceNormalIntersectionWithZAxis(e,0,N1e),i=h.distance(e,n),o=this.minimumRadius*i/this.maximumRadius**2,r=i*o**2;return D.fromElements(1/i,1/r,t)};var k1e=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],U1e=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function wq(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*k1e[s];r+=U1e[s]*(n(i+a)+n(i-a))}return r*=o,r}pi.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n0){o=r-1;continue}return r}return~(o+1)}var Go=B1e;var ALt=T(S(),1);function O1e(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var Zb=O1e;var aRt=T(S(),1);var YLt=T(S(),1);var NLt=T(S(),1);function Y1e(e){return e%4===0&&e%100!==0||e%400===0}var ym=Y1e;var Aq=[31,28,31,30,31,30,31,31,30,31,30,31];function z1e(e,t,n,i,o,r,s,a){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,0),o=y(o,0),r=y(r,0),s=y(s,0),a=y(a,!1),this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a;function x(){yo.typeOf.number.greaterThanOrEquals("Year",e,1),yo.typeOf.number.lessThanOrEquals("Year",e,9999),yo.typeOf.number.greaterThanOrEquals("Month",t,1),yo.typeOf.number.lessThanOrEquals("Month",t,12),yo.typeOf.number.greaterThanOrEquals("Day",n,1),yo.typeOf.number.lessThanOrEquals("Day",n,31),yo.typeOf.number.greaterThanOrEquals("Hour",i,0),yo.typeOf.number.lessThanOrEquals("Hour",i,23),yo.typeOf.number.greaterThanOrEquals("Minute",o,0),yo.typeOf.number.lessThanOrEquals("Minute",o,59),yo.typeOf.bool("IsLeapSecond",a),yo.typeOf.number.greaterThanOrEquals("Second",r,0),yo.typeOf.number.lessThanOrEquals("Second",r,a?60:59),yo.typeOf.number.greaterThanOrEquals("Millisecond",s,0),yo.typeOf.number.lessThan("Millisecond",s,1e3)}function _(){let C=t===2&&ym(e)?Aq[t-1]+1:Aq[t-1];if(n>C)throw new fe("Month and Day represents invalid date")}}var gp=z1e;var HLt=T(S(),1);function H1e(e,t){this.julianDate=e,this.offset=t}var Di=H1e;var JLt=T(S(),1),K1e={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},Jn=Object.freeze(K1e);var jLt=T(S(),1),J1e={UTC:0,TAI:1},Kn=Object.freeze(J1e);var Nq=new gp,rO=[31,28,31,30,31,30,31,31,30,31,30,31],sO=29;function aO(e,t){return Wt.compare(e.julianDate,t.julianDate)}var MS=new Di;function cN(e){MS.julianDate=e;let t=Wt.leapSeconds,n=Go(t,MS,aO);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Wt.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Wt.addSeconds(e,i,e)}function Mq(e,t){MS.julianDate=e;let n=Wt.leapSeconds,i=Go(n,MS,aO);if(i<0&&(i=~i),i===0)return Wt.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Wt.addSeconds(e,-n[i-1].offset,t);let o=Wt.secondsDifference(n[i].julianDate,e);if(o===0)return Wt.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Wt.addSeconds(e,-n[--i].offset,t)}function Gb(e,t,n){let i=t/Jn.SECONDS_PER_DAY|0;return e+=i,t-=Jn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Jn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function cO(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,d=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let u=r+(i*Jn.SECONDS_PER_HOUR+o*Jn.SECONDS_PER_MINUTE+s*Jn.SECONDS_PER_MILLISECOND);return u>=43200&&(d-=1),[d,u]}var Q1e=/^(\d{4})$/,j1e=/^(\d{4})-(\d{2})$/,q1e=/^(\d{4})-?(\d{3})$/,$1e=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,eVe=/^(\d{4})-?(\d{2})-?(\d{2})$/,lO=/([Z+\-])?(\d{2})?:?(\d{2})?$/,tVe=/^(\d{2})(\.\d+)?/.source+lO.source,nVe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+lO.source,iVe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+lO.source;function Wt(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,Kn.UTC);let i=e|0;t=t+(e-i)*Jn.SECONDS_PER_DAY,Gb(i,t,this),n===Kn.UTC&&cN(this)}Wt.fromGregorianDate=function(e,t){let n=cO(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(Gb(n[0],n[1],t),cN(t),t):new Wt(n[0],n[1],Kn.UTC)};Wt.fromDate=function(e,t){let n=cO(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(Gb(n[0],n[1],t),cN(t),t):new Wt(n[0],n[1],Kn.UTC)};Wt.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,d=0,u=n[0],m=n[1],p,g;if(n=u.match(eVe),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=u.match(j1e),n!==null)i=+n[1],o=+n[2];else if(n=u.match(Q1e),n!==null)i=+n[1];else{let C;if(n=u.match(q1e),n!==null)i=+n[1],C=+n[2],g=ym(i);else if(n=u.match($1e),n!==null){i=+n[1];let V=+n[2],L=+n[3]||0,Z=new Date(Date.UTC(i,0,4));C=V*7+L-Z.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(C),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=ym(i);let f;if(l(m)){n=m.match(iVe),n!==null?(s=+n[1],a=+n[2],c=+n[3],d=+(n[4]||0)*1e3,f=5):(n=m.match(nVe),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,f=4):(n=m.match(tVe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,f=3)));let C=n[f],V=+n[f+1],L=+(n[f+2]||0);switch(C){case"+":s=s-V,a=a-L;break;case"-":s=s+V,a=a+L;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let x=c===60;for(x&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?sO:rO[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?sO:rO[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?sO:rO[o-1],r+=p;let _=cO(i,o,r,s,a,c,d);return l(t)?(Gb(_[0],_[1],t),cN(t)):t=new Wt(_[0],_[1],Kn.UTC),x&&Wt.addSeconds(t,1,t),t};Wt.now=function(e){return Wt.fromDate(new Date,e)};var aN=new Wt(0,0,Kn.TAI);Wt.toGregorianDate=function(e,t){let n=!1,i=Mq(e,aN);l(i)||(Wt.addSeconds(e,-1,aN),i=Mq(aN,aN),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let d=80*s/2447|0,u=s-(2447*d/80|0)|0;s=d/11|0;let m=d+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Jn.SECONDS_PER_HOUR|0,f=r-g*Jn.SECONDS_PER_HOUR,x=f/Jn.SECONDS_PER_MINUTE|0;f=f-x*Jn.SECONDS_PER_MINUTE;let _=f|0,C=(f-_)/Jn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(_+=1),l(t)?(t.year=p,t.month=m,t.day=u,t.hour=g,t.minute=x,t.second=_,t.millisecond=C,t.isLeapSecond=n,t):new gp(p,m,u,g,x,_,C,n)};Wt.toDate=function(e){let t=Wt.toGregorianDate(e,Nq),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Wt.toIso8601=function(e,t){let n=Wt.toGregorianDate(e,Nq),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,d=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&d===0&&(i=9999,o=12,r=31,s=24);let u;return!l(t)&&d!==0?(u=(d*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${u}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(u=(d*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${u}Z`)};Wt.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Wt(e.dayNumber,e.secondsOfDay,Kn.TAI)};Wt.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Wt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Wt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(Wt.secondsDifference(e,t))<=n};Wt.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Jn.SECONDS_PER_DAY};Wt.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Jn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Wt.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Jn.SECONDS_PER_DAY;return n+i};Wt.computeTaiMinusUtc=function(e){MS.julianDate=e;let t=Wt.leapSeconds,n=Go(t,MS,aO);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Wt.addSeconds=function(e,t,n){return Gb(e.dayNumber,e.secondsOfDay+t,n)};Wt.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Jn.SECONDS_PER_MINUTE;return Gb(e.dayNumber,i,n)};Wt.addHours=function(e,t,n){let i=e.secondsOfDay+t*Jn.SECONDS_PER_HOUR;return Gb(e.dayNumber,i,n)};Wt.addDays=function(e,t,n){let i=e.dayNumber+t;return Gb(i,e.secondsOfDay,n)};Wt.lessThan=function(e,t){return Wt.compare(e,t)<0};Wt.lessThanOrEquals=function(e,t){return Wt.compare(e,t)<=0};Wt.greaterThan=function(e,t){return Wt.compare(e,t)>0};Wt.greaterThanOrEquals=function(e,t){return Wt.compare(e,t)>=0};Wt.prototype.clone=function(e){return Wt.clone(this,e)};Wt.prototype.equals=function(e){return Wt.equals(this,e)};Wt.prototype.equalsEpsilon=function(e,t){return Wt.equalsEpsilon(this,e,t)};Wt.prototype.toString=function(){return Wt.toIso8601(this)};Wt.leapSeconds=[new Di(new Wt(2441317,43210,Kn.TAI),10),new Di(new Wt(2441499,43211,Kn.TAI),11),new Di(new Wt(2441683,43212,Kn.TAI),12),new Di(new Wt(2442048,43213,Kn.TAI),13),new Di(new Wt(2442413,43214,Kn.TAI),14),new Di(new Wt(2442778,43215,Kn.TAI),15),new Di(new Wt(2443144,43216,Kn.TAI),16),new Di(new Wt(2443509,43217,Kn.TAI),17),new Di(new Wt(2443874,43218,Kn.TAI),18),new Di(new Wt(2444239,43219,Kn.TAI),19),new Di(new Wt(2444786,43220,Kn.TAI),20),new Di(new Wt(2445151,43221,Kn.TAI),21),new Di(new Wt(2445516,43222,Kn.TAI),22),new Di(new Wt(2446247,43223,Kn.TAI),23),new Di(new Wt(2447161,43224,Kn.TAI),24),new Di(new Wt(2447892,43225,Kn.TAI),25),new Di(new Wt(2448257,43226,Kn.TAI),26),new Di(new Wt(2448804,43227,Kn.TAI),27),new Di(new Wt(2449169,43228,Kn.TAI),28),new Di(new Wt(2449534,43229,Kn.TAI),29),new Di(new Wt(2450083,43230,Kn.TAI),30),new Di(new Wt(2450630,43231,Kn.TAI),31),new Di(new Wt(2451179,43232,Kn.TAI),32),new Di(new Wt(2453736,43233,Kn.TAI),33),new Di(new Wt(2454832,43234,Kn.TAI),34),new Di(new Wt(2456109,43235,Kn.TAI),35),new Di(new Wt(2457204,43236,Kn.TAI),36),new Di(new Wt(2457754,43237,Kn.TAI),37)];var j=Wt;var tGt=T(S(),1),o$=T(nd(),1);var hRt=T(S(),1);function oVe(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var JL=oVe;var bRt=T(S(),1);function zq(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=zq(o,t)),n[i]=o}return n}var ze=zq;var _Rt=T(S(),1);function Hq(e,t,n){n=y(n,!1);let i={},o=l(e),r=l(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=Hq(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var Tt=Hq;var SRt=T(S(),1);function rVe(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var bl=rVe;var RRt=T(S(),1),Kq=T(nd(),1);function dO(e,t){let n;return typeof document<"u"&&(n=document),dO._implementation(e,t,n)}dO._implementation=function(e,t,n){if(!l(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new Kq.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var Oh=dO;var GRt=T(S(),1),Jq=T(nd(),1);function sVe(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new Jq.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var QL=sVe;var IRt=T(S(),1),Qq=T(nd(),1);function aVe(e){let t=new Qq.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var qy=aVe;var PRt=T(S(),1);var jq={};function cVe(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=jq[t];l(i)||(i={},jq[t]=i);let o=i[n];if(!l(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d",{willReadFrequently:!0}),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var xm=cVe;var wRt=T(S(),1);var lVe=/^blob:/i;function dVe(e){return lVe.test(e)}var $y=dVe;var MRt=T(S(),1);var Yh;function uVe(e){l(Yh)||(Yh=document.createElement("a")),Yh.href=window.location.href;let t=Yh.host,n=Yh.protocol;return Yh.href=e,Yh.href=Yh.href,n!==Yh.protocol||t!==Yh.host}var Eb=uVe;var kRt=T(S(),1);var mVe=/^data:/i;function hVe(e){return mVe.test(e)}var yp=hVe;var DRt=T(S(),1);function fVe(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var ex=fVe;var ORt=T(S(),1);function pVe(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var jL=xVe;function qq(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=jL(this.responseHeaders))}qq.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var zh=qq;var RZt=T(S(),1),hN=T(nd(),1);var mZt=T(S(),1);function qL(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(qL.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});qL.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};qL.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r0){for(o.sort(_Ve),e=0;e=0;--t)this.heapify(t)};nx.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(oi&&(r=t[i],this._length=i),r};nx.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return uO(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var $L=nx;function TVe(e,t){return e.priority-t.priority}var $i={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},US=20,qa=new $L({comparator:TVe});qa.maximumLength=US;qa.reserve(US);var Hh=[],xp={},SVe=typeof document<"u"?new hN.default(document.location.href):new hN.default,fN=new be;function Jo(){}Jo.maximumRequests=50;Jo.maximumRequestsPerServer=18;Jo.requestsByServer={};Jo.throttleRequests=!0;Jo.debugShowStatistics=!1;Jo.requestCompletedEvent=fN;Object.defineProperties(Jo,{statistics:{get:function(){return $i}},priorityHeapLength:{get:function(){return US},set:function(e){if(ee;){let t=qa.pop();ix(t)}US=e,qa.maximumLength=e,qa.reserve(e)}}});function $q(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}Jo.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(Jo.requestsByServer[e],Jo.maximumRequestsPerServer);return xp[e]+t<=n};Jo.heapHasOpenSlots=function(e){return qa.length+e<=US};function e$(e){return e.state===$n.UNISSUED&&(e.state=$n.ISSUED,e.deferred=bl()),e.deferred.promise}function CVe(e){return function(t){if(e.state===$n.CANCELLED)return;let n=e.deferred;--$i.numberOfActiveRequests,--xp[e.serverKey],fN.raiseEvent(),e.state=$n.RECEIVED,e.deferred=void 0,n.resolve(t)}}function VVe(e){return function(t){e.state!==$n.CANCELLED&&(++$i.numberOfFailedRequests,--$i.numberOfActiveRequests,--xp[e.serverKey],fN.raiseEvent(t),e.state=$n.FAILED,e.deferred.reject(t))}}function t$(e){let t=e$(e);return e.state=$n.ACTIVE,Hh.push(e),++$i.numberOfActiveRequests,++$i.numberOfActiveRequestsEver,++xp[e.serverKey],e.requestFunction().then(CVe(e)).catch(VVe(e)),t}function ix(e){let t=e.state===$n.ACTIVE;if(e.state=$n.CANCELLED,++$i.numberOfCancelledRequests,l(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--$i.numberOfActiveRequests,--xp[e.serverKey],++$i.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}Jo.update=function(){let e,t,n=0,i=Hh.length;for(e=0;e0&&(Hh[e-n]=t)}Hh.length-=n;let o=qa.internalArray,r=qa.length;for(e=0;e0;){if(t=qa.pop(),t.cancelled){ix(t);continue}if(t.throttleByServer&&!Jo.serverHasOpenSlots(t.serverKey)){ix(t);continue}t$(t),++a}LVe()};Jo.getServerKey=function(e){let t=new hN.default(e);t.scheme()===""&&(t=t.absoluteTo(SVe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=xp[n];return l(i)||(xp[n]=0),n};Jo.request=function(e){if(yp(e.url)||$y(e.url))return fN.raiseEvent(),e.state=$n.RECEIVED,e.requestFunction();if(++$i.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=Jo.getServerKey(e.url)),Jo.throttleRequests&&e.throttleByServer&&!Jo.serverHasOpenSlots(e.serverKey))return;if(!Jo.throttleRequests||!e.throttle)return t$(e);if(Hh.length>=Jo.maximumRequests)return;$q(e);let t=qa.insert(e);if(l(t)){if(t===e)return;ix(t)}return e$(e)};function LVe(){Jo.debugShowStatistics&&($i.numberOfActiveRequests===0&&$i.lastNumberOfActiveRequests>0&&($i.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${$i.numberOfAttemptedRequests}`),$i.numberOfAttemptedRequests=0),$i.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${$i.numberOfCancelledRequests}`),$i.numberOfCancelledRequests=0),$i.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${$i.numberOfCancelledActiveRequests}`),$i.numberOfCancelledActiveRequests=0),$i.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${$i.numberOfFailedRequests}`),$i.numberOfFailedRequests=0)),$i.lastNumberOfActiveRequests=$i.numberOfActiveRequests)}Jo.clearForSpecs=function(){for(;qa.length>0;){let t=qa.pop();ix(t)}let e=Hh.length;for(let t=0;t0}},credits:{get:function(){return this._credits}}});It.prototype.toString=function(){return this.getUrlComponent(!0,!0)};It.prototype.parseUrl=function(e,t,n,i){let o=new o$.default(e),r=ZVe(o.query());this._queryParameters=t?bN(r,this.queryParameters,n):r,o.search(""),o.fragment(""),l(i)&&o.scheme()===""&&(o=o.absoluteTo(Oh(i))),this._url=o.toString()};function ZVe(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:id(e)}function bN(e,t,n){if(!n)return Tt(e,t);let i=ze(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];l(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}It.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${GVe(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let i=this._templateValues;return Object.keys(i).length>0&&(n=n.replace(/{(.*?)}/g,function(o,r){let s=i[r];return l(s)?encodeURIComponent(s):o})),t&&l(this.proxy)&&(n=this.proxy.getURL(n)),n};function GVe(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!l(e[t[0]])?`?${t[0]}`:`?${tx(e)}`}It.prototype.setQueryParameters=function(e,t){t?this._queryParameters=bN(this._queryParameters,e,!1):this._queryParameters=bN(e,this._queryParameters,!1)};It.prototype.appendQueryParameters=function(e){this._queryParameters=bN(e,this._queryParameters,!0)};It.prototype.setTemplateValues=function(e,t){t?this._templateValues=Tt(this._templateValues,e):this._templateValues=Tt(e,this._templateValues)};It.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,l(e.url)){let n=y(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return l(e.queryParameters)&&(t._queryParameters=Tt(e.queryParameters,t.queryParameters)),l(e.templateValues)&&(t._templateValues=Tt(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=Tt(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};It.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};It.prototype.clone=function(e){return l(e)?(e._url=this._url,e._queryParameters=ze(this._queryParameters),e._templateValues=ze(this._templateValues),e.headers=ze(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new It({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:l(this.credits)?this.credits.slice():void 0})};It.prototype.getBaseUri=function(e){return QL(this.getUrlComponent(e),e)};It.prototype.appendForwardSlash=function(){this._url=JL(this._url)};It.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};It.fetchArrayBuffer=function(e){return new It(e).fetchArrayBuffer()};It.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};It.fetchBlob=function(e){return new It(e).fetchBlob()};It.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(hO(this.request),!r$||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return mO({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!l(r))return;let s,a,c,d;return It.supportsImageBitmapOptions().then(function(u){return s=u,a=s&&t,r}).then(function(u){if(!l(u))return;if(d=u,a)return It.createImageBitmapFromBlob(u,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let m=window.URL.createObjectURL(u);return c=new It({url:m}),mO({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(u){if(l(u))return u.blob=d,a||window.URL.revokeObjectURL(c.url),u}).catch(function(u){return l(c)&&window.URL.revokeObjectURL(c.url),u.blob=d,Promise.reject(u)})};function mO(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=bl();return It._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=$a.request(r);if(l(s))return s.catch(function(a){return r.state!==$n.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=$n.UNISSUED,r.deferred=void 0,mO({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}It.fetchImage=function(e){return new It(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};It.prototype.fetchText=function(){return this.fetch({responseType:"text"})};It.fetchText=function(e){return new It(e).fetchText()};It.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};It.fetchJson=function(e){return new It(e).fetchJson()};It.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};It.fetchXML=function(e){return new It(e).fetchXML()};It.prototype.fetchJsonp=function(e){e=y(e,"callback"),hO(this.request);let t;do t=`loadJsonp${W.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return s$(this,e,t)};function s$(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request,r=e.url;o.url=r,o.requestFunction=function(){let a=bl();return window[n]=function(c){a.resolve(c);try{delete window[n]}catch{window[n]=void 0}},It._Implementations.loadAndExecuteScript(r,n,a),a.promise};let s=$a.request(o);if(l(s))return s.catch(function(a){return o.state!==$n.FAILED?Promise.reject(a):e.retryOnError(a).then(function(c){return c?(o.state=$n.UNISSUED,o.deferred=void 0,s$(e,t,n)):Promise.reject(a)})})}It.fetchJsonp=function(e){return new It(e).fetchJsonp(e.callbackParameterName)};It.prototype._makeRequest=function(e){let t=this;hO(t.request);let n=t.request,i=t.url;n.url=i,n.requestFunction=function(){let r=e.responseType,s=Tt(e.headers,t.headers),a=e.overrideMimeType,c=e.method,d=e.data,u=bl(),m=It._Implementations.loadWithXhr(i,r,c,d,s,u,a);return l(m)&&l(m.abort)&&(n.cancelFunction=function(){m.abort()}),u.promise};let o=$a.request(n);if(l(o))return o.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==$n.FAILED?Promise.reject(r):t.retryOnError(r).then(function(s){return s?(n.state=$n.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function hO(e){if(e.state===$n.ISSUED||e.state===$n.ACTIVE)throw new de("The Resource is already being fetched.");e.state=$n.UNISSUED,e.deferred=void 0}var EVe=/^data:(.*?)(;base64)?,(.*)$/;function pN(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function i$(e,t){let n=pN(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r{if(!a.ok){let c={};a.headers.forEach((d,u)=>{c[u]=d}),r.reject(new zh(a.status,a,c));return}switch(t){case"text":r.resolve(a.text());break;case"json":r.resolve(a.json());break;default:r.resolve(new Uint8Array(await a.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new zh)})}var WVe=typeof XMLHttpRequest>"u";It._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=EVe.exec(e);if(a!==null){r.resolve(IVe(a,t));return}if(WVe){XVe(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(BS.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(let u in o)o.hasOwnProperty(u)&&c.setRequestHeader(u,o[u]);l(t)&&(c.responseType=t);let d=!1;return typeof e=="string"&&(d=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(d&&c.status===0)){r.reject(new zh(c.status,c.response,c.getAllResponseHeaders()));return}let u=c.response,m=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),f={};g.forEach(function(x){let _=x.split(": "),C=_.shift();f[C]=_.join(": ")}),r.resolve(f);return}if(c.status===204)r.resolve(void 0);else if(l(u)&&(!l(t)||m===t))r.resolve(u);else if(t==="json"&&typeof u=="string")try{r.resolve(JSON.parse(u))}catch(p){r.reject(p)}else(m===""||m==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(m===""||m==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new de("Invalid XMLHttpRequest response type."))},c.onerror=function(u){r.reject(new zh)},c.send(i),c};It._Implementations.loadAndExecuteScript=function(e,t,n){return ex(e,t).catch(function(i){n.reject(i)})};It._DefaultImplementations={};It._DefaultImplementations.createImage=It._Implementations.createImage;It._DefaultImplementations.loadWithXhr=It._Implementations.loadWithXhr;It._DefaultImplementations.loadAndExecuteScript=It._Implementations.loadAndExecuteScript;It.DEFAULT=Object.freeze(new It({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var Ge=It;function nR(e){e=y(e,y.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=y(e.addNewLeapSeconds,!0),l(e.data)?a$(this,e.data):a$(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}nR.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ge.createIfNeeded(e),i;try{i=await n.fetchJson()}catch{throw new de(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new nR({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};nR.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new Zb(0,0,0,0,0),t}});nR.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new Zb(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(l(i)){let a=n[i],c=n[i+1],d=j.lessThanOrEquals(a,e),u=!l(c),m=u||j.greaterThanOrEquals(c,e);if(d&&m)return o=i,!u&&c.equals(e)&&++o,r=o+1,l$(this,n,this._samples,e,o,r,t),t}let s=Go(n,e,j.compare,this._dateColumn);return s>=0?(st.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],d=t[r];if(c.equals(d)||i.equals(c))return c$(e,n,o,a,s),s;if(i.equals(d))return c$(e,n,r,a,s),s;let u=j.secondsDifference(i,c)/j.secondsDifference(d,c),m=o*a,p=r*a,g=n[m+e._ut1MinusUtcSecondsColumn],f=n[p+e._ut1MinusUtcSecondsColumn],x=f-g;if(x>.5||x<-.5){let _=n[m+e._taiMinusUtcSecondsColumn],C=n[p+e._taiMinusUtcSecondsColumn];_!==C&&(d.equals(i)?g=f:f-=C-_)}return s.xPoleWander=tR(u,n[m+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=tR(u,n[m+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=tR(u,n[m+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=tR(u,n[m+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=tR(u,g,f),s}var iR=nR;var yGt=T(S(),1);function ec(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}ec.fromQuaternion=function(e,t){l(t)||(t=new ec);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-W.asinClamped(n),t};ec.fromDegrees=function(e,t,n,i){return l(i)||(i=new ec),i.heading=e*W.RADIANS_PER_DEGREE,i.pitch=t*W.RADIANS_PER_DEGREE,i.roll=n*W.RADIANS_PER_DEGREE,i};ec.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new ec(e.heading,e.pitch,e.roll)};ec.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};ec.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&W.equalsEpsilon(e.heading,t.heading,n,i)&&W.equalsEpsilon(e.pitch,t.pitch,n,i)&&W.equalsEpsilon(e.roll,t.roll,n,i)};ec.prototype.clone=function(e){return ec.clone(this,e)};ec.prototype.equals=function(e){return ec.equals(this,e)};ec.prototype.equalsEpsilon=function(e,t,n){return ec.equalsEpsilon(this,e,t,n)};ec.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Ea=ec;var wGt=T(S(),1);var CGt=T(S(),1);var d$={};var u$=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function vVe(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t"u"?e:(l(gN)||(gN=document.createElement("a")),gN.href=e,gN.href)}var ox;function h$(){if(l(ox))return ox;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:l(d$?.url)?e=Oh(".",d$.url):typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(DM.toUrl)?e=Oh("..",rx("Core/buildModuleUrl.js")):e=vVe(),ox=new Ge({url:m$(e)}),ox.appendForwardSlash(),ox}function wVe(e){return m$(DM.toUrl(`../${e}`))}function f$(e){return h$().getDerivedResource({url:e}).url}var yN;function rx(e){return l(yN)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(DM.toUrl)?yN=wVe:yN=f$),yN(e)}rx._cesiumScriptRegex=u$;rx._buildModuleUrlFromBaseUrl=f$;rx._clearBaseResource=function(){ox=void 0};rx.setBaseUrl=function(e){ox=Ge.DEFAULT.getDerivedResource({url:e})};rx.getCesiumBaseUrl=h$;var sn=rx;var RGt=T(S(),1);function FVe(e,t,n){this.x=e,this.y=t,this.s=n}var sx=FVe;function bO(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=Ge.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new j(this._sampleZeroJulianEphemerisDate,0,Kn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var AVe=new j(0,0,Kn.TAI);function fO(e,t,n){let i=AVe;return i.dayNumber=t,i.secondsOfDay=n,j.daysDifference(i,e._sampleZeroDateTT)}bO.prototype.preload=function(e,t,n,i){let o=fO(this,e,t),r=fO(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,d=a/this._samplesPerXysFile|0,u=[];for(let m=c;m<=d;++m)u.push(pO(this,m));return Promise.all(u)};bO.prototype.computeXysRadians=function(e,t,n){let i=fO(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,d=this._samples;if(l(d[s*3])||(pO(this,s/this._samplesPerXysFile|0),c=!0),l(d[a*3])||(pO(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new sx(0,0,0);let u=i-s*this._stepSizeDays,m=this._work,p=this._denominators,g=this._coef,f=this._xTable,x,_;for(x=0;x<=r;++x)m[x]=u-f[x];for(x=0;x<=r;++x){for(g[x]=1,_=0;_<=r;++_)_!==x&&(g[x]*=m[_]);g[x]*=p[x];let C=(s+x)*3;n.x+=g[x]*d[C++],n.y+=g[x]*d[C++],n.s+=g[x]*d[C]}return n};function pO(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Ge({url:sn(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let d=0,u=a.length;d0)n=Math.sqrt(u+1),s=.5*n,n=.5/n,i=(e[$.COLUMN1ROW2]-e[$.COLUMN2ROW1])*n,o=(e[$.COLUMN2ROW0]-e[$.COLUMN0ROW2])*n,r=(e[$.COLUMN0ROW1]-e[$.COLUMN1ROW0])*n;else{let m=MVe,p=0;c>a&&(p=1),d>a&&d>c&&(p=2);let g=m[p],f=m[g];n=Math.sqrt(e[$.getElementIndex(p,p)]-e[$.getElementIndex(g,g)]-e[$.getElementIndex(f,f)]+1);let x=NVe;x[p]=.5*n,n=.5/n,s=(e[$.getElementIndex(f,g)]-e[$.getElementIndex(g,f)])*n,x[g]=(e[$.getElementIndex(g,p)]+e[$.getElementIndex(p,g)])*n,x[f]=(e[$.getElementIndex(f,p)]+e[$.getElementIndex(p,f)])*n,i=-x[0],o=-x[1],r=-x[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new ct(i,o,r,s)};var p$=new ct,b$=new ct,gO=new ct,g$=new ct;ct.fromHeadingPitchRoll=function(e,t){return g$=ct.fromAxisAngle(h.UNIT_X,e.roll,p$),gO=ct.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=ct.multiply(gO,g$,gO),b$=ct.fromAxisAngle(h.UNIT_Z,-e.heading,p$),ct.multiply(b$,t,t)};var xN=new h,yO=new h,_m=new ct,y$=new ct,_N=new ct;ct.packedLength=4;ct.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};ct.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ct),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};ct.packedInterpolationLength=3;ct.convertPackedArrayForInterpolation=function(e,t,n,i){ct.unpack(e,n*4,_N),ct.conjugate(_N,_N);for(let o=0,r=n-t+1;o=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,d=a*a;for(let g=7;g>=0;--g)_p[g]=(TN[g]*c-SN[g])*s,Tp[g]=(TN[g]*d-SN[g])*s;let u=r*n*(1+_p[0]*(1+_p[1]*(1+_p[2]*(1+_p[3]*(1+_p[4]*(1+_p[5]*(1+_p[6]*(1+_p[7])))))))),m=a*(1+Tp[0]*(1+Tp[1]*(1+Tp[2]*(1+Tp[3]*(1+Tp[4]*(1+Tp[5]*(1+Tp[6]*(1+Tp[7])))))))),p=ct.multiplyByScalar(e,m,DVe);return ct.multiplyByScalar(t,u,i),ct.add(p,i,i)};ct.fastSquad=function(e,t,n,i,o,r){let s=ct.fastSlerp(e,t,o,sR),a=ct.fastSlerp(n,i,o,YS);return ct.fastSlerp(s,a,2*o*(1-o),r)};ct.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};ct.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};ct.ZERO=Object.freeze(new ct(0,0,0,0));ct.IDENTITY=Object.freeze(new ct(0,0,0,1));ct.prototype.clone=function(e){return ct.clone(this,e)};ct.prototype.equals=function(e){return ct.equals(this,e)};ct.prototype.equalsEpsilon=function(e,t){return ct.equalsEpsilon(this,e,t)};ct.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Ae=ct;var di={},SO={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},zS={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},CO={},gl={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},Ib=new h,Xb=new h,Wb=new h;di.localFrameToFixedFrameGenerator=function(e,t){if(!SO.hasOwnProperty(e)||!SO[e].hasOwnProperty(t))throw new fe("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=SO[e][t],i,o=e+t;return l(CO[o])?i=CO[o]:(i=function(r,s,a){if(l(a)||(a=new M),h.equalsEpsilon(r,h.ZERO,W.EPSILON14))h.unpack(zS[e],0,Ib),h.unpack(zS[t],0,Xb),h.unpack(zS[n],0,Wb);else if(W.equalsEpsilon(r.x,0,W.EPSILON14)&&W.equalsEpsilon(r.y,0,W.EPSILON14)){let c=W.sign(r.z);h.unpack(zS[e],0,Ib),e!=="east"&&e!=="west"&&h.multiplyByScalar(Ib,c,Ib),h.unpack(zS[t],0,Xb),t!=="east"&&t!=="west"&&h.multiplyByScalar(Xb,c,Xb),h.unpack(zS[n],0,Wb),n!=="east"&&n!=="west"&&h.multiplyByScalar(Wb,c,Wb)}else{s=y(s,ne.default),s.geodeticSurfaceNormal(r,gl.up);let c=gl.up,d=gl.east;d.x=-r.y,d.y=r.x,d.z=0,h.normalize(d,gl.east),h.cross(c,d,gl.north),h.multiplyByScalar(gl.up,-1,gl.down),h.multiplyByScalar(gl.east,-1,gl.west),h.multiplyByScalar(gl.north,-1,gl.south),Ib=gl[e],Xb=gl[t],Wb=gl[n]}return a[0]=Ib.x,a[1]=Ib.y,a[2]=Ib.z,a[3]=0,a[4]=Xb.x,a[5]=Xb.y,a[6]=Xb.z,a[7]=0,a[8]=Wb.x,a[9]=Wb.y,a[10]=Wb.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},CO[o]=i),i};di.eastNorthUpToFixedFrame=di.localFrameToFixedFrameGenerator("east","north");di.northEastDownToFixedFrame=di.localFrameToFixedFrameGenerator("north","east");di.northUpEastToFixedFrame=di.localFrameToFixedFrameGenerator("north","up");di.northWestUpToFixedFrame=di.localFrameToFixedFrameGenerator("north","west");var BVe=new Ae,OVe=new h(1,1,1),YVe=new M;di.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,di.eastNorthUpToFixedFrame);let r=Ae.fromHeadingPitchRoll(t,BVe),s=M.fromTranslationQuaternionRotationScale(h.ZERO,r,OVe,YVe);return o=i(e,n,o),M.multiply(o,s,o)};var zVe=new M,HVe=new $;di.headingPitchRollQuaternion=function(e,t,n,i,o){let r=di.headingPitchRollToFixedFrame(e,t,n,i,zVe),s=M.getMatrix3(r,HVe);return Ae.fromRotationMatrix(s,o)};var KVe=new h(1,1,1),JVe=new h,T$=new M,QVe=new M,jVe=new $,qVe=new Ae;di.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,ne.default),n=y(n,di.eastNorthUpToFixedFrame),l(i)||(i=new Ea);let o=M.getTranslation(e,JVe);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=M.inverseTransformation(n(o,t,T$),T$),s=M.setScale(e,KVe,QVe);s=M.setTranslation(s,h.ZERO,s),r=M.multiply(r,s,r);let a=Ae.fromRotationMatrix(M.getMatrix3(r,jVe),qVe);return a=Ae.normalize(a,a),Ea.fromQuaternion(a,i)};var $Ve=6*3600+41*60+50.54841,eLe=8640184812866e-6,tLe=.093104,nLe=-62e-7,iLe=11772758384668e-32,oLe=72921158553e-15,rLe=W.TWO_PI/86400,CN=new j;di.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=di.computeIcrfToFixedMatrix(e,t);return l(n)||(n=di.computeTemeToPseudoFixedMatrix(e,t)),n};di.computeTemeToPseudoFixedMatrix=function(e,t){CN=j.addSeconds(e,-j.computeTaiMinusUtc(e),CN);let n=CN.dayNumber,i=CN.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Jn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Jn.DAYS_PER_JULIAN_CENTURY;let a=($Ve+o*(eLe+o*(tLe+o*nLe)))*rLe%W.TWO_PI,c=oLe+iLe*(n-24515455e-1),d=(i+Jn.SECONDS_PER_DAY*.5)%Jn.SECONDS_PER_DAY,u=a+c*d,m=Math.cos(u),p=Math.sin(u);return l(t)?(t[0]=m,t[1]=-p,t[2]=0,t[3]=p,t[4]=m,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new $(m,p,0,-p,m,0,0,0,1)};di.iau2006XysData=new oR;di.earthOrientationParameters=iR.NONE;var RO=32.184,sLe=2451545;di.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+RO,i=e.stop.dayNumber,o=e.stop.secondsOfDay+RO;return di.iau2006XysData.preload(t,n,i,o)};di.computeIcrfToFixedMatrix=function(e,t){l(t)||(t=new $);let n=di.computeFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var aLe=32.184,cLe=2451545,VN=new Ea,lLe=new $,dLe=new j;di.computeMoonFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=j.addSeconds(e,aLe,dLe),i=j.totalDays(n)-cLe,o=W.toRadians(12.112)-W.toRadians(.052992)*i,r=W.toRadians(24.224)-W.toRadians(.105984)*i,s=W.toRadians(227.645)+W.toRadians(13.012)*i,a=W.toRadians(261.105)+W.toRadians(13.340716)*i,c=W.toRadians(358)+W.toRadians(.9856)*i;return VN.pitch=W.toRadians(180)-W.toRadians(3.878)*Math.sin(o)-W.toRadians(.12)*Math.sin(r)+W.toRadians(.07)*Math.sin(s)-W.toRadians(.017)*Math.sin(a),VN.roll=W.toRadians(66.53-90)+W.toRadians(1.543)*Math.cos(o)+W.toRadians(.24)*Math.cos(r)-W.toRadians(.028)*Math.cos(s)+W.toRadians(.007)*Math.cos(a),VN.heading=W.toRadians(244.375-90)+W.toRadians(13.17635831)*i+W.toRadians(3.558)*Math.sin(o)+W.toRadians(.121)*Math.sin(r)-W.toRadians(.064)*Math.sin(s)+W.toRadians(.016)*Math.sin(a)+W.toRadians(.025)*Math.sin(c),$.fromHeadingPitchRoll(VN,lLe)};di.computeIcrfToMoonFixedMatrix=function(e,t){l(t)||(t=new $);let n=di.computeMoonFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var uLe=new sx(0,0,0),mLe=new Zb(0,0,0,0,0,0),VO=new $,LO=new $;di.computeFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=di.earthOrientationParameters.compute(e,mLe);if(!l(n))return;let i=e.dayNumber,o=e.secondsOfDay+RO,r=di.iau2006XysData.computeXysRadians(i,o,uLe);if(!l(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),d=VO;d[0]=1-c*s*s,d[3]=-c*s*a,d[6]=s,d[1]=-c*s*a,d[4]=1-c*a*a,d[7]=a,d[2]=-s,d[5]=-a,d[8]=1-c*(s*s+a*a);let u=$.fromRotationZ(-r.s,LO),m=$.multiply(d,u,VO),p=e.dayNumber,g=e.secondsOfDay-j.computeTaiMinusUtc(e)+n.ut1MinusUtc,f=p-2451545,x=g/Jn.SECONDS_PER_DAY,_=.779057273264+x+.00273781191135448*(f+x);_=_%1*W.TWO_PI;let C=$.fromRotationZ(_,LO),V=$.multiply(m,C,VO),L=Math.cos(n.xPoleWander),Z=Math.cos(n.yPoleWander),G=Math.sin(n.xPoleWander),I=Math.sin(n.yPoleWander),v=i-sLe+o/Jn.SECONDS_PER_DAY;v/=36525;let P=-47e-6*v*W.RADIANS_PER_DEGREE/3600,w=Math.cos(P),F=Math.sin(P),b=LO;return b[0]=L*w,b[1]=L*F,b[2]=G,b[3]=-Z*F+I*G*w,b[4]=Z*w+I*G*F,b[5]=-I*L,b[6]=-I*F-Z*G*w,b[7]=I*w-Z*G*F,b[8]=Z*L,$.multiply(V,b,t)};var hLe=new se;di.pointToWindowCoordinates=function(e,t,n,i){return i=di.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};di.pointToGLWindowCoordinates=function(e,t,n,i){l(i)||(i=new D);let o=hLe;return M.multiplyByVector(e,se.fromElements(n.x,n.y,n.z,1,o),o),se.multiplyByScalar(o,1/o.w,o),M.multiplyByVector(t,o,o),D.fromCartesian4(o,i)};var fLe=new h,pLe=new h,bLe=new h;di.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,ne.default).geodeticSurfaceNormal(e,fLe),r=h.cross(t,o,pLe);h.equalsEpsilon(r,h.ZERO,W.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,bLe);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),l(i)||(i=new $),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var S$=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),C$=new he,ZO=new h,gLe=new h,yLe=new $,GO=new M,V$=new M;di.basisTo2D=function(e,t,n){let i=M.getTranslation(t,gLe),o=e.ellipsoid,r;if(h.equals(i,h.ZERO))r=h.clone(h.ZERO,ZO);else{let u=o.cartesianToCartographic(i,C$);r=e.project(u,ZO),h.fromElements(r.z,r.x,r.y,r)}let s=di.eastNorthUpToFixedFrame(i,o,GO),a=M.inverseTransformation(s,V$),c=M.getMatrix3(t,yLe),d=M.multiplyByMatrix3(a,c,n);return M.multiply(S$,d,n),M.setTranslation(n,r,n),n};di.ellipsoidTo2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=di.eastNorthUpToFixedFrame(t,i,GO),r=M.inverseTransformation(o,V$),s=i.cartesianToCartographic(t,C$),a=e.project(s,ZO);h.fromElements(a.z,a.x,a.y,a);let c=M.fromTranslation(a,GO);return M.multiply(S$,r,n),M.multiply(c,n,n),n};var Ft=di;var gEt=T(S(),1);var fEt=T(S(),1);var L$={};function aR(e,t){l(L$[e])||(L$[e]=!0,console.warn(y(t,e)))}aR.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";aR.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";aR.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";aR.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var St=aR;function xLe(e,t){St(e,t)}var as=xLe;function En(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(En.prototype,{width:{get:function(){return En.computeWidth(this)}},height:{get:function(){return En.computeHeight(this)}}});En.packedLength=4;En.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};En.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new En),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};En.computeWidth=function(e){let t=e.east,n=e.west;return t=0?u.longitude:u.longitude+W.TWO_PI;o=Math.min(o,m),r=Math.max(r,m)}return i-n>r-o&&(n=o,i=r,i>W.PI&&(i=i-W.TWO_PI),n>W.PI&&(n=n-W.TWO_PI)),l(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new En(n,s,i,a)};En.fromCartesianArray=function(e,t,n){t=y(t,ne.default);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let d=0,u=e.length;d=0?m.longitude:m.longitude+W.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>W.PI&&(o=o-W.TWO_PI),i>W.PI&&(i=i-W.TWO_PI)),l(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new En(i,a,o,c)};var _Le=new h,TLe=new h,SLe=new h,CLe=new h,VLe=new h,EO=new Array(5);for(let e=0;e0?i+=W.TWO_PI:r0&&(r+=W.TWO_PI),i=u))return l(n)?(n.west=a,n.south=d,n.east=c,n.north=u,n):new En(a,d,c,u)};En.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return l(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new En(i,o,r,s)};En.union=function(e,t,n){l(n)||(n=new En);let i=e.east,o=e.west,r=t.east,s=t.west;i0?i+=W.TWO_PI:r0&&(r+=W.TWO_PI),io||W.equalsEpsilon(n,o,W.EPSILON14))&&(n=e.south&&i<=e.north};var LLe=new he;En.subsample=function(e,t,n,i){t=y(t,ne.default),n=y(n,0),l(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,d=LLe;d.height=n,d.longitude=c,d.latitude=r,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.longitude=a,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.latitude=s,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.longitude=c,i[o]=t.cartographicToCartesian(d,i[o]),o++,r<0?d.latitude=r:s>0?d.latitude=s:d.latitude=0;for(let u=1;u<8;++u)d.longitude=-Math.PI+u*W.PI_OVER_TWO,En.contains(e,d)&&(i[o]=t.cartographicToCartesian(d,i[o]),o++);return d.latitude===0&&(d.longitude=c,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.longitude=a,i[o]=t.cartographicToCartesian(d,i[o]),o++),i.length=o,i};En.subsection=function(e,t,n,i,o,r){if(l(r)||(r=new En),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=W.TWO_PI+e.east-e.west;r.west=W.negativePiToPi(e.west+t*a),r.east=W.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};En.MAX_VALUE=Object.freeze(new En(-Math.PI,-W.PI_OVER_TWO,Math.PI,W.PI_OVER_TWO));var ce=En;function Ir(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}Ir.packedLength=4;Ir.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};Ir.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ir),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};Ir.fromPoints=function(e,t){if(l(t)||(t=new Ir),!l(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;an.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};Ir.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.widthr+t.height?Kt.OUTSIDE:Kt.INTERSECTING};Ir.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};Ir.prototype.clone=function(e){return Ir.clone(this,e)};Ir.prototype.intersect=function(e){return Ir.intersect(this,e)};Ir.prototype.equals=function(e){return Ir.equals(this,e)};var Ke=Ir;var UEt=T(S(),1);var Ia={POINTS:ie.POINTS,LINES:ie.LINES,LINE_LOOP:ie.LINE_LOOP,LINE_STRIP:ie.LINE_STRIP,TRIANGLES:ie.TRIANGLES,TRIANGLE_STRIP:ie.TRIANGLE_STRIP,TRIANGLE_FAN:ie.TRIANGLE_FAN};Ia.isLines=function(e){return e===Ia.LINES||e===Ia.LINE_LOOP||e===Ia.LINE_STRIP};Ia.isTriangles=function(e){return e===Ia.TRIANGLES||e===Ia.TRIANGLE_STRIP||e===Ia.TRIANGLE_FAN};Ia.validate=function(e){return e===Ia.POINTS||e===Ia.LINES||e===Ia.LINE_LOOP||e===Ia.LINE_STRIP||e===Ia.TRIANGLES||e===Ia.TRIANGLE_STRIP||e===Ia.TRIANGLE_FAN};var Me=Object.freeze(Ia);var BEt=T(S(),1),ax=`in vec4 position; +(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var M=ot;var MVt=T(S(),1),T1e={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},ie=Object.freeze(T1e);var S1e=new h;function Xt(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var ua={};ua[ie.FLOAT]="float";ua[ie.FLOAT_VEC2]="vec2";ua[ie.FLOAT_VEC3]="vec3";ua[ie.FLOAT_VEC4]="vec4";ua[ie.INT]="int";ua[ie.INT_VEC2]="ivec2";ua[ie.INT_VEC3]="ivec3";ua[ie.INT_VEC4]="ivec4";ua[ie.BOOL]="bool";ua[ie.BOOL_VEC2]="bvec2";ua[ie.BOOL_VEC3]="bvec3";ua[ie.BOOL_VEC4]="bvec4";ua[ie.FLOAT_MAT2]="mat2";ua[ie.FLOAT_MAT3]="mat3";ua[ie.FLOAT_MAT4]="mat4";ua[ie.SAMPLER_2D]="sampler2D";ua[ie.SAMPLER_CUBE]="samplerCube";Xt.prototype.getDeclaration=function(e){let t=`uniform ${ua[this._datatype]} ${e}`,n=this._size;return n===1?t+=";":t+=`[${n.toString()}];`,t};var C1e={czm_viewport:new Xt({size:1,datatype:ie.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new Xt({size:1,datatype:ie.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new Xt({size:1,datatype:ie.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_eyeEllipsoidNormalEC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.eyeEllipsoidNormalEC}}),czm_eyeEllipsoidCurvature:new Xt({size:1,datatype:ie.FLOAT_VEC2,getValue:function(e){return e.eyeEllipsoidCurvature}}),czm_modelToEnu:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.modelToEnu}}),czm_enuToModel:new Xt({size:1,datatype:ie.FLOAT_MAT4,getValue:function(e){return e.enuToModel}}),czm_entireFrustum:new Xt({size:1,datatype:ie.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new Xt({size:1,datatype:ie.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new Xt({size:1,datatype:ie.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return M.getTranslation(e.inverseView,S1e)}}),czm_frameNumber:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new Xt({size:1,datatype:ie.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new Xt({size:1,datatype:ie.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new Xt({size:1,datatype:ie.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new Xt({size:1,datatype:ie.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapsMaximumLOD:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new Xt({size:9,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new Xt({size:1,datatype:ie.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.fogDensity}}),czm_fogVisualDensityScalar:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.fogVisualDensityScalar}}),czm_fogMinimumBrightness:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.fogMinimumBrightness}}),czm_atmosphereHsbShift:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.atmosphereHsbShift}}),czm_atmosphereLightIntensity:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.atmosphereLightIntensity}}),czm_atmosphereRayleighCoefficient:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.atmosphereRayleighCoefficient}}),czm_atmosphereRayleighScaleHeight:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.atmosphereRayleighScaleHeight}}),czm_atmosphereMieCoefficient:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.atmosphereMieCoefficient}}),czm_atmosphereMieScaleHeight:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.atmosphereMieScaleHeight}}),czm_atmosphereMieAnisotropy:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.atmosphereMieAnisotropy}}),czm_atmosphereDynamicLighting:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.atmosphereDynamicLighting}}),czm_splitPosition:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new Xt({size:1,datatype:ie.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new Xt({size:1,datatype:ie.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new Xt({size:1,datatype:ie.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})},yp=C1e;var dLt=T(S(),1);var YVt=T(S(),1);function V1e(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var Yn=V1e;var KVt=T(S(),1);function L1e(){return!0}function R1e(e,t){t=y(t,"This object was destroyed, i.e., destroy() was called.");function n(){}for(let i in e)typeof e[i]=="function"&&(e[i]=n);e.isDestroyed=L1e}var me=R1e;var $Vt=T(S(),1);var Ns={UNSIGNED_BYTE:ie.UNSIGNED_BYTE,UNSIGNED_SHORT:ie.UNSIGNED_SHORT,UNSIGNED_INT:ie.UNSIGNED_INT};Ns.getSizeInBytes=function(e){switch(e){case Ns.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Ns.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Ns.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};Ns.fromSizeInBytes=function(e){switch(e){case 2:return Ns.UNSIGNED_SHORT;case 4:return Ns.UNSIGNED_INT;case 1:return Ns.UNSIGNED_BYTE}};Ns.validate=function(e){return l(e)&&(e===Ns.UNSIGNED_BYTE||e===Ns.UNSIGNED_SHORT||e===Ns.UNSIGNED_INT)};Ns.createTypedArray=function(e,t){return e>=W.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};Ns.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=W.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};Ns.fromTypedArray=function(e){if(e instanceof Uint8Array)return Ns.UNSIGNED_BYTE;if(e instanceof Uint16Array)return Ns.UNSIGNED_SHORT;if(e instanceof Uint32Array)return Ns.UNSIGNED_INT};var ke=Object.freeze(Ns);var nLt=T(S(),1);var nN={STREAM_DRAW:ie.STREAM_DRAW,STATIC_DRAW:ie.STATIC_DRAW,DYNAMIC_DRAW:ie.DYNAMIC_DRAW,validate:function(e){return e===nN.STREAM_DRAW||e===nN.STATIC_DRAW||e===nN.DYNAMIC_DRAW}},Ue=Object.freeze(nN);function hu(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=l(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=Yn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}hu.createVertexBuffer=function(e){return new hu({context:e.context,bufferTarget:ie.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};hu.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=ke.getSizeInBytes(n),o=new hu({context:t,bufferTarget:ie.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(hu.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});hu.prototype._getBuffer=function(){return this._buffer};hu.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};hu.prototype.copyFromBuffer=function(e,t,n,i){let o=ie.COPY_READ_BUFFER,r=ie.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};hu.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=ie.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};hu.prototype.isDestroyed=function(){return!1};hu.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),me(this)};var _t=hu;var GLt=T(S(),1);var VLt=T(S(),1);var yLt=T(S(),1);var hLt=T(S(),1);var P0,Xr={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},yl={};Object.defineProperties(yl,{element:{get:function(){if(yl.supportsFullscreen())return document[Xr.fullscreenElement]}},changeEventName:{get:function(){if(yl.supportsFullscreen())return Xr.fullscreenchange}},errorEventName:{get:function(){if(yl.supportsFullscreen())return Xr.fullscreenerror}},enabled:{get:function(){if(yl.supportsFullscreen())return document[Xr.fullscreenEnabled]}},fullscreen:{get:function(){if(yl.supportsFullscreen())return yl.element!==null}}});yl.supportsFullscreen=function(){if(l(P0))return P0;P0=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return Xr.requestFullscreen="requestFullscreen",Xr.exitFullscreen="exitFullscreen",Xr.fullscreenEnabled="fullscreenEnabled",Xr.fullscreenElement="fullscreenElement",Xr.fullscreenchange="fullscreenchange",Xr.fullscreenerror="fullscreenerror",P0=!0,P0;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i{let t=new Image;t.onload=function(){vc._result=t.width>0&&t.height>0,e(vc._result)},t.onerror=function(){vc._result=!1,e(vc._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),vc._promise};Object.defineProperties(vc,{initialized:{get:function(){return l(vc._result)}}});var BS=[];typeof ArrayBuffer<"u"&&(BS.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&BS.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&BS.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&BS.push(BigInt64Array),typeof BigUint64Array<"u"&&BS.push(BigUint64Array));var fu={isChrome:o3,chromeVersion:Z1e,isSafari:Pq,safariVersion:G1e,isWebkit:vq,webkitVersion:E1e,isInternetExplorer:wq,internetExplorerVersion:I1e,isEdge:lN,edgeVersion:X1e,isFirefox:dN,firefoxVersion:v1e,isWindows:W1e,isIPadOrIOS:P1e,hardwareConcurrency:y(tc.hardwareConcurrency,3),supportsPointerEvents:w1e,supportsImageRenderingPixelated:Mq,supportsWebP:vc,imageRenderingValue:F1e,typedArrayTypes:BS};fu.supportsBasis=function(e){return fu.supportsWebAssembly()&&e.context.supportsBasis};fu.supportsFullscreen=function(){return yr.supportsFullscreen()};fu.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};fu.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};fu.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};fu.supportsBigInt=function(){return typeof BigInt<"u"};fu.supportsWebWorkers=function(){return typeof Worker<"u"};fu.supportsWebAssembly=function(){return typeof WebAssembly<"u"};fu.supportsWebgl2=function(e){return e.context.webgl2};fu.supportsEsmWebWorkers=function(){return!dN()||parseInt(r3)>=114};var Yt=fu;function s3(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function se(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}se.fromCartesian4=function(e,t){return l(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new se(e.x,e.y,e.z,e.w)};se.fromBytes=function(e,t,n,i,o){return e=se.byteToFloat(y(e,255)),t=se.byteToFloat(y(t,255)),n=se.byteToFloat(y(n,255)),i=se.byteToFloat(y(i,255)),l(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new se(e,t,n,i)};se.fromAlpha=function(e,t,n){return l(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new se(e.red,e.green,e.blue,t)};var a3,c3,xp;Yt.supportsTypedArrays()&&(a3=new ArrayBuffer(4),c3=new Uint32Array(a3),xp=new Uint8Array(a3));se.fromRgba=function(e,t){return c3[0]=e,se.fromBytes(xp[0],xp[1],xp[2],xp[3],t)};se.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let d=2*n-c;r=s3(d,c,e+1/3),s=s3(d,c,e),a=s3(d,c,e-1/3)}return l(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new se(r,s,a,i)};se.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!l(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+W.nextRandomNumber()*(a-s)}let i=e.green;if(!l(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+W.nextRandomNumber()*(a-s)}let o=e.blue;if(!l(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+W.nextRandomNumber()*(a-s)}let r=e.alpha;if(!l(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+W.nextRandomNumber()*(a-s)}return l(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new se(n,i,o,r)};var A1e=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,M1e=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,N1e=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,k1e=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;se.fromCssColorString=function(e,t){l(t)||(t=new se),e=e.trim();let n=se[e.toUpperCase()];if(l(n))return se.clone(n,t),t;let i=A1e.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=M1e.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=N1e.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=k1e.exec(e),i!==null?se.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};se.packedLength=4;se.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};se.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new se),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};se.byteToFloat=function(e){return e/255};se.floatToByte=function(e){return e===1?255:e*256|0};se.clone=function(e,t){if(l(e))return l(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new se(e.red,e.green,e.blue,e.alpha)};se.equals=function(e,t){return e===t||l(e)&&l(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};se.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};se.prototype.clone=function(e){return se.clone(this,e)};se.prototype.equals=function(e){return se.equals(this,e)};se.prototype.equalsEpsilon=function(e,t){return this===e||l(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t};se.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};se.prototype.toCssColorString=function(){let e=se.floatToByte(this.red),t=se.floatToByte(this.green),n=se.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};se.prototype.toCssHexString=function(){let e=se.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=se.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=se.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=se.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};se.prototype.toBytes=function(e){let t=se.floatToByte(this.red),n=se.floatToByte(this.green),i=se.floatToByte(this.blue),o=se.floatToByte(this.alpha);return l(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};se.prototype.toRgba=function(){return xp[0]=se.floatToByte(this.red),xp[1]=se.floatToByte(this.green),xp[2]=se.floatToByte(this.blue),xp[3]=se.floatToByte(this.alpha),c3[0]};se.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};se.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};se.prototype.withAlpha=function(e,t){return se.fromAlpha(this,e,t)};se.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};se.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};se.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};se.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};se.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};se.lerp=function(e,t,n,i){return i.red=W.lerp(e.red,t.red,n),i.green=W.lerp(e.green,t.green,n),i.blue=W.lerp(e.blue,t.blue,n),i.alpha=W.lerp(e.alpha,t.alpha,n),i};se.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};se.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};se.ALICEBLUE=Object.freeze(se.fromCssColorString("#F0F8FF"));se.ANTIQUEWHITE=Object.freeze(se.fromCssColorString("#FAEBD7"));se.AQUA=Object.freeze(se.fromCssColorString("#00FFFF"));se.AQUAMARINE=Object.freeze(se.fromCssColorString("#7FFFD4"));se.AZURE=Object.freeze(se.fromCssColorString("#F0FFFF"));se.BEIGE=Object.freeze(se.fromCssColorString("#F5F5DC"));se.BISQUE=Object.freeze(se.fromCssColorString("#FFE4C4"));se.BLACK=Object.freeze(se.fromCssColorString("#000000"));se.BLANCHEDALMOND=Object.freeze(se.fromCssColorString("#FFEBCD"));se.BLUE=Object.freeze(se.fromCssColorString("#0000FF"));se.BLUEVIOLET=Object.freeze(se.fromCssColorString("#8A2BE2"));se.BROWN=Object.freeze(se.fromCssColorString("#A52A2A"));se.BURLYWOOD=Object.freeze(se.fromCssColorString("#DEB887"));se.CADETBLUE=Object.freeze(se.fromCssColorString("#5F9EA0"));se.CHARTREUSE=Object.freeze(se.fromCssColorString("#7FFF00"));se.CHOCOLATE=Object.freeze(se.fromCssColorString("#D2691E"));se.CORAL=Object.freeze(se.fromCssColorString("#FF7F50"));se.CORNFLOWERBLUE=Object.freeze(se.fromCssColorString("#6495ED"));se.CORNSILK=Object.freeze(se.fromCssColorString("#FFF8DC"));se.CRIMSON=Object.freeze(se.fromCssColorString("#DC143C"));se.CYAN=Object.freeze(se.fromCssColorString("#00FFFF"));se.DARKBLUE=Object.freeze(se.fromCssColorString("#00008B"));se.DARKCYAN=Object.freeze(se.fromCssColorString("#008B8B"));se.DARKGOLDENROD=Object.freeze(se.fromCssColorString("#B8860B"));se.DARKGRAY=Object.freeze(se.fromCssColorString("#A9A9A9"));se.DARKGREEN=Object.freeze(se.fromCssColorString("#006400"));se.DARKGREY=se.DARKGRAY;se.DARKKHAKI=Object.freeze(se.fromCssColorString("#BDB76B"));se.DARKMAGENTA=Object.freeze(se.fromCssColorString("#8B008B"));se.DARKOLIVEGREEN=Object.freeze(se.fromCssColorString("#556B2F"));se.DARKORANGE=Object.freeze(se.fromCssColorString("#FF8C00"));se.DARKORCHID=Object.freeze(se.fromCssColorString("#9932CC"));se.DARKRED=Object.freeze(se.fromCssColorString("#8B0000"));se.DARKSALMON=Object.freeze(se.fromCssColorString("#E9967A"));se.DARKSEAGREEN=Object.freeze(se.fromCssColorString("#8FBC8F"));se.DARKSLATEBLUE=Object.freeze(se.fromCssColorString("#483D8B"));se.DARKSLATEGRAY=Object.freeze(se.fromCssColorString("#2F4F4F"));se.DARKSLATEGREY=se.DARKSLATEGRAY;se.DARKTURQUOISE=Object.freeze(se.fromCssColorString("#00CED1"));se.DARKVIOLET=Object.freeze(se.fromCssColorString("#9400D3"));se.DEEPPINK=Object.freeze(se.fromCssColorString("#FF1493"));se.DEEPSKYBLUE=Object.freeze(se.fromCssColorString("#00BFFF"));se.DIMGRAY=Object.freeze(se.fromCssColorString("#696969"));se.DIMGREY=se.DIMGRAY;se.DODGERBLUE=Object.freeze(se.fromCssColorString("#1E90FF"));se.FIREBRICK=Object.freeze(se.fromCssColorString("#B22222"));se.FLORALWHITE=Object.freeze(se.fromCssColorString("#FFFAF0"));se.FORESTGREEN=Object.freeze(se.fromCssColorString("#228B22"));se.FUCHSIA=Object.freeze(se.fromCssColorString("#FF00FF"));se.GAINSBORO=Object.freeze(se.fromCssColorString("#DCDCDC"));se.GHOSTWHITE=Object.freeze(se.fromCssColorString("#F8F8FF"));se.GOLD=Object.freeze(se.fromCssColorString("#FFD700"));se.GOLDENROD=Object.freeze(se.fromCssColorString("#DAA520"));se.GRAY=Object.freeze(se.fromCssColorString("#808080"));se.GREEN=Object.freeze(se.fromCssColorString("#008000"));se.GREENYELLOW=Object.freeze(se.fromCssColorString("#ADFF2F"));se.GREY=se.GRAY;se.HONEYDEW=Object.freeze(se.fromCssColorString("#F0FFF0"));se.HOTPINK=Object.freeze(se.fromCssColorString("#FF69B4"));se.INDIANRED=Object.freeze(se.fromCssColorString("#CD5C5C"));se.INDIGO=Object.freeze(se.fromCssColorString("#4B0082"));se.IVORY=Object.freeze(se.fromCssColorString("#FFFFF0"));se.KHAKI=Object.freeze(se.fromCssColorString("#F0E68C"));se.LAVENDER=Object.freeze(se.fromCssColorString("#E6E6FA"));se.LAVENDAR_BLUSH=Object.freeze(se.fromCssColorString("#FFF0F5"));se.LAWNGREEN=Object.freeze(se.fromCssColorString("#7CFC00"));se.LEMONCHIFFON=Object.freeze(se.fromCssColorString("#FFFACD"));se.LIGHTBLUE=Object.freeze(se.fromCssColorString("#ADD8E6"));se.LIGHTCORAL=Object.freeze(se.fromCssColorString("#F08080"));se.LIGHTCYAN=Object.freeze(se.fromCssColorString("#E0FFFF"));se.LIGHTGOLDENRODYELLOW=Object.freeze(se.fromCssColorString("#FAFAD2"));se.LIGHTGRAY=Object.freeze(se.fromCssColorString("#D3D3D3"));se.LIGHTGREEN=Object.freeze(se.fromCssColorString("#90EE90"));se.LIGHTGREY=se.LIGHTGRAY;se.LIGHTPINK=Object.freeze(se.fromCssColorString("#FFB6C1"));se.LIGHTSEAGREEN=Object.freeze(se.fromCssColorString("#20B2AA"));se.LIGHTSKYBLUE=Object.freeze(se.fromCssColorString("#87CEFA"));se.LIGHTSLATEGRAY=Object.freeze(se.fromCssColorString("#778899"));se.LIGHTSLATEGREY=se.LIGHTSLATEGRAY;se.LIGHTSTEELBLUE=Object.freeze(se.fromCssColorString("#B0C4DE"));se.LIGHTYELLOW=Object.freeze(se.fromCssColorString("#FFFFE0"));se.LIME=Object.freeze(se.fromCssColorString("#00FF00"));se.LIMEGREEN=Object.freeze(se.fromCssColorString("#32CD32"));se.LINEN=Object.freeze(se.fromCssColorString("#FAF0E6"));se.MAGENTA=Object.freeze(se.fromCssColorString("#FF00FF"));se.MAROON=Object.freeze(se.fromCssColorString("#800000"));se.MEDIUMAQUAMARINE=Object.freeze(se.fromCssColorString("#66CDAA"));se.MEDIUMBLUE=Object.freeze(se.fromCssColorString("#0000CD"));se.MEDIUMORCHID=Object.freeze(se.fromCssColorString("#BA55D3"));se.MEDIUMPURPLE=Object.freeze(se.fromCssColorString("#9370DB"));se.MEDIUMSEAGREEN=Object.freeze(se.fromCssColorString("#3CB371"));se.MEDIUMSLATEBLUE=Object.freeze(se.fromCssColorString("#7B68EE"));se.MEDIUMSPRINGGREEN=Object.freeze(se.fromCssColorString("#00FA9A"));se.MEDIUMTURQUOISE=Object.freeze(se.fromCssColorString("#48D1CC"));se.MEDIUMVIOLETRED=Object.freeze(se.fromCssColorString("#C71585"));se.MIDNIGHTBLUE=Object.freeze(se.fromCssColorString("#191970"));se.MINTCREAM=Object.freeze(se.fromCssColorString("#F5FFFA"));se.MISTYROSE=Object.freeze(se.fromCssColorString("#FFE4E1"));se.MOCCASIN=Object.freeze(se.fromCssColorString("#FFE4B5"));se.NAVAJOWHITE=Object.freeze(se.fromCssColorString("#FFDEAD"));se.NAVY=Object.freeze(se.fromCssColorString("#000080"));se.OLDLACE=Object.freeze(se.fromCssColorString("#FDF5E6"));se.OLIVE=Object.freeze(se.fromCssColorString("#808000"));se.OLIVEDRAB=Object.freeze(se.fromCssColorString("#6B8E23"));se.ORANGE=Object.freeze(se.fromCssColorString("#FFA500"));se.ORANGERED=Object.freeze(se.fromCssColorString("#FF4500"));se.ORCHID=Object.freeze(se.fromCssColorString("#DA70D6"));se.PALEGOLDENROD=Object.freeze(se.fromCssColorString("#EEE8AA"));se.PALEGREEN=Object.freeze(se.fromCssColorString("#98FB98"));se.PALETURQUOISE=Object.freeze(se.fromCssColorString("#AFEEEE"));se.PALEVIOLETRED=Object.freeze(se.fromCssColorString("#DB7093"));se.PAPAYAWHIP=Object.freeze(se.fromCssColorString("#FFEFD5"));se.PEACHPUFF=Object.freeze(se.fromCssColorString("#FFDAB9"));se.PERU=Object.freeze(se.fromCssColorString("#CD853F"));se.PINK=Object.freeze(se.fromCssColorString("#FFC0CB"));se.PLUM=Object.freeze(se.fromCssColorString("#DDA0DD"));se.POWDERBLUE=Object.freeze(se.fromCssColorString("#B0E0E6"));se.PURPLE=Object.freeze(se.fromCssColorString("#800080"));se.RED=Object.freeze(se.fromCssColorString("#FF0000"));se.ROSYBROWN=Object.freeze(se.fromCssColorString("#BC8F8F"));se.ROYALBLUE=Object.freeze(se.fromCssColorString("#4169E1"));se.SADDLEBROWN=Object.freeze(se.fromCssColorString("#8B4513"));se.SALMON=Object.freeze(se.fromCssColorString("#FA8072"));se.SANDYBROWN=Object.freeze(se.fromCssColorString("#F4A460"));se.SEAGREEN=Object.freeze(se.fromCssColorString("#2E8B57"));se.SEASHELL=Object.freeze(se.fromCssColorString("#FFF5EE"));se.SIENNA=Object.freeze(se.fromCssColorString("#A0522D"));se.SILVER=Object.freeze(se.fromCssColorString("#C0C0C0"));se.SKYBLUE=Object.freeze(se.fromCssColorString("#87CEEB"));se.SLATEBLUE=Object.freeze(se.fromCssColorString("#6A5ACD"));se.SLATEGRAY=Object.freeze(se.fromCssColorString("#708090"));se.SLATEGREY=se.SLATEGRAY;se.SNOW=Object.freeze(se.fromCssColorString("#FFFAFA"));se.SPRINGGREEN=Object.freeze(se.fromCssColorString("#00FF7F"));se.STEELBLUE=Object.freeze(se.fromCssColorString("#4682B4"));se.TAN=Object.freeze(se.fromCssColorString("#D2B48C"));se.TEAL=Object.freeze(se.fromCssColorString("#008080"));se.THISTLE=Object.freeze(se.fromCssColorString("#D8BFD8"));se.TOMATO=Object.freeze(se.fromCssColorString("#FF6347"));se.TURQUOISE=Object.freeze(se.fromCssColorString("#40E0D0"));se.VIOLET=Object.freeze(se.fromCssColorString("#EE82EE"));se.WHEAT=Object.freeze(se.fromCssColorString("#F5DEB3"));se.WHITE=Object.freeze(se.fromCssColorString("#FFFFFF"));se.WHITESMOKE=Object.freeze(se.fromCssColorString("#F5F5F5"));se.YELLOW=Object.freeze(se.fromCssColorString("#FFFF00"));se.YELLOWGREEN=Object.freeze(se.fromCssColorString("#9ACD32"));se.TRANSPARENT=Object.freeze(new se(0,0,0,0));var B=se;function uN(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}uN.ALL=Object.freeze(new uN({color:new B(0,0,0,0),depth:1,stencil:0}));uN.prototype.execute=function(e,t){e.clear(this,t)};var oi=uN;var vLt=T(S(),1);var ILt=T(S(),1),U1e={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},Ge=Object.freeze(U1e);function Nq(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=Ge.COMPUTE,this.owner=e.owner}Nq.prototype.execute=function(e){e.execute(this)};var wc=Nq;var HXt=T(S(),1);var mIt=T(S(),1);var NLt=T(S(),1);function Nt(e,t){this.x=y(e,0),this.y=y(t,0)}Nt.fromElements=function(e,t,n){return l(n)?(n.x=e,n.y=t,n):new Nt(e,t)};Nt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t):new Nt(e.x,e.y)};Nt.fromCartesian3=Nt.clone;Nt.fromCartesian4=Nt.clone;Nt.packedLength=2;Nt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};Nt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Nt),n.x=e[t++],n.y=e[t],n};Nt.packArray=function(e,t){let n=e.length,i=n*2;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;oW.EPSILON12);return l(o)?(o.x=r*w,o.y=s*A,o.z=a*b,o):new h(r*w,s*A,a*b)}var sx=Y1e;function Mo(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}Mo.fromRadians=function(e,t,n,i){return n=y(n,0),l(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new Mo(e,t,n)};Mo.fromDegrees=function(e,t,n,i){return e=W.toRadians(e),t=W.toRadians(t),Mo.fromRadians(e,t,n,i)};var H1e=new h,z1e=new h,K1e=new h;Mo._ellipsoidOneOverRadii=new h(1/6378137,1/6378137,1/6356752314245179e-9);Mo._ellipsoidOneOverRadiiSquared=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));Mo._ellipsoidCenterToleranceSquared=W.EPSILON1;Mo.fromCartesian=function(e,t,n){let i=l(t)?t.oneOverRadii:Mo._ellipsoidOneOverRadii,o=l(t)?t.oneOverRadiiSquared:Mo._ellipsoidOneOverRadiiSquared,r=l(t)?t._centerToleranceSquared:Mo._ellipsoidCenterToleranceSquared,s=sx(e,i,o,r,z1e);if(!l(s))return;let a=h.multiplyComponents(s,o,H1e);a=h.normalize(a,a);let c=h.subtract(e,s,K1e),d=Math.atan2(a.y,a.x),u=Math.asin(a.z),m=W.sign(h.dot(c,e))*h.magnitude(c);return l(n)?(n.longitude=d,n.latitude=u,n.height=m,n):new Mo(d,u,m)};Mo.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};Mo.clone=function(e,t){if(l(e))return l(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Mo(e.longitude,e.latitude,e.height)};Mo.equals=function(e,t){return e===t||l(e)&&l(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};Mo.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};Mo.ZERO=Object.freeze(new Mo(0,0,0));Mo.prototype.clone=function(e){return Mo.clone(this,e)};Mo.prototype.equals=function(e){return Mo.equals(this,e)};Mo.prototype.equalsEpsilon=function(e,t){return Mo.equalsEpsilon(this,e,t)};Mo.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var he=Mo;var sRt=T(S(),1);function Oq(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=W.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function yi(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,Oq(this,e,t,n)}Object.defineProperties(yi.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});yi.clone=function(e,t){if(!l(e))return;let n=e._radii;return l(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new yi(n.x,n.y,n.z)};yi.fromCartesian3=function(e,t){return l(t)||(t=new yi),l(e)&&Oq(t,e.x,e.y,e.z),t};yi.WGS84=Object.freeze(new yi(6378137,6378137,6356752314245179e-9));yi.UNIT_SPHERE=Object.freeze(new yi(1,1,1));yi.MOON=Object.freeze(new yi(W.LUNAR_RADIUS,W.LUNAR_RADIUS,W.LUNAR_RADIUS));yi._default=yi.WGS84;Object.defineProperties(yi,{default:{get:function(){return yi._default},set:function(e){yi._default=e,h._ellipsoidRadiiSquared=e.radiiSquared,he._ellipsoidOneOverRadii=e.oneOverRadii,he._ellipsoidOneOverRadiiSquared=e.oneOverRadiiSquared,he._ellipsoidCenterToleranceSquared=e._centerToleranceSquared}}});yi.prototype.clone=function(e){return yi.clone(this,e)};yi.packedLength=h.packedLength;yi.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};yi.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return yi.fromCartesian3(i,n)};yi.prototype.geocentricSurfaceNormal=h.normalize;yi.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return l(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};yi.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,W.EPSILON14))return l(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var J1e=new h,Q1e=new h;yi.prototype.cartographicToCartesian=function(e,t){let n=J1e,i=Q1e;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),l(t)||(t=new h),h.add(i,n,t)};yi.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i=this._radii.z-t))return n};var eVe=new h;yi.prototype.getLocalCurvature=function(e,t){l(t)||(t=new D);let n=this.getSurfaceNormalIntersectionWithZAxis(e,0,eVe),i=h.distance(e,n),o=this.minimumRadius*i/this.maximumRadius**2,r=i*o**2;return D.fromElements(1/i,1/r,t)};var tVe=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],nVe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function Bq(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*tVe[s];r+=nVe[s]*(n(i+a)+n(i-a))}return r*=o,r}yi.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n0){o=r-1;continue}return r}return~(o+1)}var Io=oVe;var xRt=T(S(),1);function rVe(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var v0=rVe;var BRt=T(S(),1);var ZRt=T(S(),1);var TRt=T(S(),1);function sVe(e){return e%4===0&&e%100!==0||e%400===0}var Tm=sVe;var Yq=[31,28,31,30,31,30,31,31,30,31,30,31];function aVe(e,t,n,i,o,r,s,a){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,0),o=y(o,0),r=y(r,0),s=y(s,0),a=y(a,!1),this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a;function x(){xo.typeOf.number.greaterThanOrEquals("Year",e,1),xo.typeOf.number.lessThanOrEquals("Year",e,9999),xo.typeOf.number.greaterThanOrEquals("Month",t,1),xo.typeOf.number.lessThanOrEquals("Month",t,12),xo.typeOf.number.greaterThanOrEquals("Day",n,1),xo.typeOf.number.lessThanOrEquals("Day",n,31),xo.typeOf.number.greaterThanOrEquals("Hour",i,0),xo.typeOf.number.lessThanOrEquals("Hour",i,23),xo.typeOf.number.greaterThanOrEquals("Minute",o,0),xo.typeOf.number.lessThanOrEquals("Minute",o,59),xo.typeOf.bool("IsLeapSecond",a),xo.typeOf.number.greaterThanOrEquals("Second",r,0),xo.typeOf.number.lessThanOrEquals("Second",r,a?60:59),xo.typeOf.number.greaterThanOrEquals("Millisecond",s,0),xo.typeOf.number.lessThan("Millisecond",s,1e3)}function _(){let C=t===2&&Tm(e)?Yq[t-1]+1:Yq[t-1];if(n>C)throw new fe("Month and Day represents invalid date")}}var _p=aVe;var ERt=T(S(),1);function cVe(e,t){this.julianDate=e,this.offset=t}var Oi=cVe;var XRt=T(S(),1),lVe={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},Jn=Object.freeze(lVe);var PRt=T(S(),1),dVe={UTC:0,TAI:1},Kn=Object.freeze(dVe);var zq=new _p,l3=[31,28,31,30,31,30,31,31,30,31,30,31],d3=29;function u3(e,t){return Pt.compare(e.julianDate,t.julianDate)}var OS=new Oi;function pN(e){OS.julianDate=e;let t=Pt.leapSeconds,n=Io(t,OS,u3);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Pt.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Pt.addSeconds(e,i,e)}function Hq(e,t){OS.julianDate=e;let n=Pt.leapSeconds,i=Io(n,OS,u3);if(i<0&&(i=~i),i===0)return Pt.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Pt.addSeconds(e,-n[i-1].offset,t);let o=Pt.secondsDifference(n[i].julianDate,e);if(o===0)return Pt.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Pt.addSeconds(e,-n[--i].offset,t)}function w0(e,t,n){let i=t/Jn.SECONDS_PER_DAY|0;return e+=i,t-=Jn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Jn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function m3(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,d=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let u=r+(i*Jn.SECONDS_PER_HOUR+o*Jn.SECONDS_PER_MINUTE+s*Jn.SECONDS_PER_MILLISECOND);return u>=43200&&(d-=1),[d,u]}var uVe=/^(\d{4})$/,mVe=/^(\d{4})-(\d{2})$/,hVe=/^(\d{4})-?(\d{3})$/,fVe=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,pVe=/^(\d{4})-?(\d{2})-?(\d{2})$/,h3=/([Z+\-])?(\d{2})?:?(\d{2})?$/,bVe=/^(\d{2})(\.\d+)?/.source+h3.source,gVe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+h3.source,yVe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+h3.source;function Pt(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,Kn.UTC);let i=e|0;t=t+(e-i)*Jn.SECONDS_PER_DAY,w0(i,t,this),n===Kn.UTC&&pN(this)}Pt.fromGregorianDate=function(e,t){let n=m3(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(w0(n[0],n[1],t),pN(t),t):new Pt(n[0],n[1],Kn.UTC)};Pt.fromDate=function(e,t){let n=m3(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(w0(n[0],n[1],t),pN(t),t):new Pt(n[0],n[1],Kn.UTC)};Pt.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,d=0,u=n[0],m=n[1],p,g;if(n=u.match(pVe),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=u.match(mVe),n!==null)i=+n[1],o=+n[2];else if(n=u.match(uVe),n!==null)i=+n[1];else{let C;if(n=u.match(hVe),n!==null)i=+n[1],C=+n[2],g=Tm(i);else if(n=u.match(fVe),n!==null){i=+n[1];let V=+n[2],L=+n[3]||0,Z=new Date(Date.UTC(i,0,4));C=V*7+L-Z.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(C),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=Tm(i);let f;if(l(m)){n=m.match(yVe),n!==null?(s=+n[1],a=+n[2],c=+n[3],d=+(n[4]||0)*1e3,f=5):(n=m.match(gVe),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,f=4):(n=m.match(bVe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,f=3)));let C=n[f],V=+n[f+1],L=+(n[f+2]||0);switch(C){case"+":s=s-V,a=a-L;break;case"-":s=s+V,a=a+L;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let x=c===60;for(x&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?d3:l3[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?d3:l3[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?d3:l3[o-1],r+=p;let _=m3(i,o,r,s,a,c,d);return l(t)?(w0(_[0],_[1],t),pN(t)):t=new Pt(_[0],_[1],Kn.UTC),x&&Pt.addSeconds(t,1,t),t};Pt.now=function(e){return Pt.fromDate(new Date,e)};var fN=new Pt(0,0,Kn.TAI);Pt.toGregorianDate=function(e,t){let n=!1,i=Hq(e,fN);l(i)||(Pt.addSeconds(e,-1,fN),i=Hq(fN,fN),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let d=80*s/2447|0,u=s-(2447*d/80|0)|0;s=d/11|0;let m=d+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Jn.SECONDS_PER_HOUR|0,f=r-g*Jn.SECONDS_PER_HOUR,x=f/Jn.SECONDS_PER_MINUTE|0;f=f-x*Jn.SECONDS_PER_MINUTE;let _=f|0,C=(f-_)/Jn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(_+=1),l(t)?(t.year=p,t.month=m,t.day=u,t.hour=g,t.minute=x,t.second=_,t.millisecond=C,t.isLeapSecond=n,t):new _p(p,m,u,g,x,_,C,n)};Pt.toDate=function(e){let t=Pt.toGregorianDate(e,zq),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Pt.toIso8601=function(e,t){let n=Pt.toGregorianDate(e,zq),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,d=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&d===0&&(i=9999,o=12,r=31,s=24);let u;return!l(t)&&d!==0?(u=(d*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${u}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(u=(d*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${u}Z`)};Pt.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Pt(e.dayNumber,e.secondsOfDay,Kn.TAI)};Pt.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Pt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Pt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(Pt.secondsDifference(e,t))<=n};Pt.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Jn.SECONDS_PER_DAY};Pt.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Jn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Pt.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Jn.SECONDS_PER_DAY;return n+i};Pt.computeTaiMinusUtc=function(e){OS.julianDate=e;let t=Pt.leapSeconds,n=Io(t,OS,u3);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Pt.addSeconds=function(e,t,n){return w0(e.dayNumber,e.secondsOfDay+t,n)};Pt.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Jn.SECONDS_PER_MINUTE;return w0(e.dayNumber,i,n)};Pt.addHours=function(e,t,n){let i=e.secondsOfDay+t*Jn.SECONDS_PER_HOUR;return w0(e.dayNumber,i,n)};Pt.addDays=function(e,t,n){let i=e.dayNumber+t;return w0(i,e.secondsOfDay,n)};Pt.lessThan=function(e,t){return Pt.compare(e,t)<0};Pt.lessThanOrEquals=function(e,t){return Pt.compare(e,t)<=0};Pt.greaterThan=function(e,t){return Pt.compare(e,t)>0};Pt.greaterThanOrEquals=function(e,t){return Pt.compare(e,t)>=0};Pt.prototype.clone=function(e){return Pt.clone(this,e)};Pt.prototype.equals=function(e){return Pt.equals(this,e)};Pt.prototype.equalsEpsilon=function(e,t){return Pt.equalsEpsilon(this,e,t)};Pt.prototype.toString=function(){return Pt.toIso8601(this)};Pt.leapSeconds=[new Oi(new Pt(2441317,43210,Kn.TAI),10),new Oi(new Pt(2441499,43211,Kn.TAI),11),new Oi(new Pt(2441683,43212,Kn.TAI),12),new Oi(new Pt(2442048,43213,Kn.TAI),13),new Oi(new Pt(2442413,43214,Kn.TAI),14),new Oi(new Pt(2442778,43215,Kn.TAI),15),new Oi(new Pt(2443144,43216,Kn.TAI),16),new Oi(new Pt(2443509,43217,Kn.TAI),17),new Oi(new Pt(2443874,43218,Kn.TAI),18),new Oi(new Pt(2444239,43219,Kn.TAI),19),new Oi(new Pt(2444786,43220,Kn.TAI),20),new Oi(new Pt(2445151,43221,Kn.TAI),21),new Oi(new Pt(2445516,43222,Kn.TAI),22),new Oi(new Pt(2446247,43223,Kn.TAI),23),new Oi(new Pt(2447161,43224,Kn.TAI),24),new Oi(new Pt(2447892,43225,Kn.TAI),25),new Oi(new Pt(2448257,43226,Kn.TAI),26),new Oi(new Pt(2448804,43227,Kn.TAI),27),new Oi(new Pt(2449169,43228,Kn.TAI),28),new Oi(new Pt(2449534,43229,Kn.TAI),29),new Oi(new Pt(2450083,43230,Kn.TAI),30),new Oi(new Pt(2450630,43231,Kn.TAI),31),new Oi(new Pt(2451179,43232,Kn.TAI),32),new Oi(new Pt(2453736,43233,Kn.TAI),33),new Oi(new Pt(2454832,43234,Kn.TAI),34),new Oi(new Pt(2456109,43235,Kn.TAI),35),new Oi(new Pt(2457204,43236,Kn.TAI),36),new Oi(new Pt(2457754,43237,Kn.TAI),37)];var j=Pt;var AGt=T(S(),1),m$=T(ad(),1);var JRt=T(S(),1);function xVe(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var $L=xVe;var qRt=T(S(),1);function e$(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=e$(o,t)),n[i]=o}return n}var He=e$;var nZt=T(S(),1);function t$(e,t,n){n=y(n,!1);let i={},o=l(e),r=l(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=t$(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var Vt=t$;var oZt=T(S(),1);function _Ve(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var xl=_Ve;var cZt=T(S(),1),n$=T(ad(),1);function f3(e,t){let n;return typeof document<"u"&&(n=document),f3._implementation(e,t,n)}f3._implementation=function(e,t,n){if(!l(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new n$.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var Kh=f3;var dZt=T(S(),1),i$=T(ad(),1);function TVe(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new i$.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var eR=TVe;var mZt=T(S(),1),o$=T(ad(),1);function SVe(e){let t=new o$.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var ax=SVe;var pZt=T(S(),1);var r$={};function CVe(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=r$[t];l(i)||(i={},r$[t]=i);let o=i[n];if(!l(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d",{willReadFrequently:!0}),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var Sm=CVe;var gZt=T(S(),1);var VVe=/^blob:/i;function LVe(e){return VVe.test(e)}var cx=LVe;var _Zt=T(S(),1);var Jh;function RVe(e){l(Jh)||(Jh=document.createElement("a")),Jh.href=window.location.href;let t=Jh.host,n=Jh.protocol;return Jh.href=e,Jh.href=Jh.href,n!==Jh.protocol||t!==Jh.host}var F0=RVe;var SZt=T(S(),1);var ZVe=/^data:/i;function GVe(e){return ZVe.test(e)}var Tp=GVe;var VZt=T(S(),1);function EVe(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var lx=EVe;var RZt=T(S(),1);function IVe(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var tR=vVe;function s$(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=tR(this.responseHeaders))}s$.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var Qh=s$;var cGt=T(S(),1),_N=T(ad(),1);var KZt=T(S(),1);function nR(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(nR.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});nR.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};nR.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r0){for(o.sort(wVe),e=0;e=0;--t)this.heapify(t)};ux.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(oi&&(r=t[i],this._length=i),r};ux.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return p3(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var iR=ux;function FVe(e,t){return e.priority-t.priority}var no={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},zS=20,nc=new iR({comparator:FVe});nc.maximumLength=zS;nc.reserve(zS);var jh=[],Sp={},AVe=typeof document<"u"?new _N.default(document.location.href):new _N.default,TN=new be;function jo(){}jo.maximumRequests=50;jo.maximumRequestsPerServer=18;jo.requestsByServer={};jo.throttleRequests=!0;jo.debugShowStatistics=!1;jo.requestCompletedEvent=TN;Object.defineProperties(jo,{statistics:{get:function(){return no}},priorityHeapLength:{get:function(){return zS},set:function(e){if(ee;){let t=nc.pop();mx(t)}zS=e,nc.maximumLength=e,nc.reserve(e)}}});function a$(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}jo.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(jo.requestsByServer[e],jo.maximumRequestsPerServer);return Sp[e]+t<=n};jo.heapHasOpenSlots=function(e){return nc.length+e<=zS};function c$(e){return e.state===ti.UNISSUED&&(e.state=ti.ISSUED,e.deferred=xl()),e.deferred.promise}function MVe(e){return function(t){if(e.state===ti.CANCELLED)return;let n=e.deferred;--no.numberOfActiveRequests,--Sp[e.serverKey],TN.raiseEvent(),e.state=ti.RECEIVED,e.deferred=void 0,n.resolve(t)}}function NVe(e){return function(t){e.state!==ti.CANCELLED&&(++no.numberOfFailedRequests,--no.numberOfActiveRequests,--Sp[e.serverKey],TN.raiseEvent(t),e.state=ti.FAILED,e.deferred.reject(t))}}function l$(e){let t=c$(e);return e.state=ti.ACTIVE,jh.push(e),++no.numberOfActiveRequests,++no.numberOfActiveRequestsEver,++Sp[e.serverKey],e.requestFunction().then(MVe(e)).catch(NVe(e)),t}function mx(e){let t=e.state===ti.ACTIVE;if(e.state=ti.CANCELLED,++no.numberOfCancelledRequests,l(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--no.numberOfActiveRequests,--Sp[e.serverKey],++no.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}jo.update=function(){let e,t,n=0,i=jh.length;for(e=0;e0&&(jh[e-n]=t)}jh.length-=n;let o=nc.internalArray,r=nc.length;for(e=0;e0;){if(t=nc.pop(),t.cancelled){mx(t);continue}if(t.throttleByServer&&!jo.serverHasOpenSlots(t.serverKey)){mx(t);continue}l$(t),++a}kVe()};jo.getServerKey=function(e){let t=new _N.default(e);t.scheme()===""&&(t=t.absoluteTo(AVe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=Sp[n];return l(i)||(Sp[n]=0),n};jo.request=function(e){if(Tp(e.url)||cx(e.url))return TN.raiseEvent(),e.state=ti.RECEIVED,e.requestFunction();if(++no.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=jo.getServerKey(e.url)),jo.throttleRequests&&e.throttleByServer&&!jo.serverHasOpenSlots(e.serverKey))return;if(!jo.throttleRequests||!e.throttle)return l$(e);if(jh.length>=jo.maximumRequests)return;a$(e);let t=nc.insert(e);if(l(t)){if(t===e)return;mx(t)}return c$(e)};function kVe(){jo.debugShowStatistics&&(no.numberOfActiveRequests===0&&no.lastNumberOfActiveRequests>0&&(no.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${no.numberOfAttemptedRequests}`),no.numberOfAttemptedRequests=0),no.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${no.numberOfCancelledRequests}`),no.numberOfCancelledRequests=0),no.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${no.numberOfCancelledActiveRequests}`),no.numberOfCancelledActiveRequests=0),no.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${no.numberOfFailedRequests}`),no.numberOfFailedRequests=0)),no.lastNumberOfActiveRequests=no.numberOfActiveRequests)}jo.clearForSpecs=function(){for(;nc.length>0;){let t=nc.pop();mx(t)}let e=jh.length;for(let t=0;t0}},credits:{get:function(){return this._credits}}});Wt.prototype.toString=function(){return this.getUrlComponent(!0,!0)};Wt.prototype.parseUrl=function(e,t,n,i){let o=new m$.default(e),r=DVe(o.query());this._queryParameters=t?CN(r,this.queryParameters,n):r,o.search(""),o.fragment(""),l(i)&&o.scheme()===""&&(o=o.absoluteTo(Kh(i))),this._url=o.toString()};function DVe(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:cd(e)}function CN(e,t,n){if(!n)return Vt(e,t);let i=He(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];l(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}Wt.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${BVe(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let i=this._templateValues;return Object.keys(i).length>0&&(n=n.replace(/{(.*?)}/g,function(o,r){let s=i[r];return l(s)?encodeURIComponent(s):o})),t&&l(this.proxy)&&(n=this.proxy.getURL(n)),n};function BVe(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!l(e[t[0]])?`?${t[0]}`:`?${dx(e)}`}Wt.prototype.setQueryParameters=function(e,t){t?this._queryParameters=CN(this._queryParameters,e,!1):this._queryParameters=CN(e,this._queryParameters,!1)};Wt.prototype.appendQueryParameters=function(e){this._queryParameters=CN(e,this._queryParameters,!0)};Wt.prototype.setTemplateValues=function(e,t){t?this._templateValues=Vt(this._templateValues,e):this._templateValues=Vt(e,this._templateValues)};Wt.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,l(e.url)){let n=y(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return l(e.queryParameters)&&(t._queryParameters=Vt(e.queryParameters,t.queryParameters)),l(e.templateValues)&&(t._templateValues=Vt(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=Vt(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};Wt.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};Wt.prototype.clone=function(e){return l(e)?(e._url=this._url,e._queryParameters=He(this._queryParameters),e._templateValues=He(this._templateValues),e.headers=He(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new Wt({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:l(this.credits)?this.credits.slice():void 0})};Wt.prototype.getBaseUri=function(e){return eR(this.getUrlComponent(e),e)};Wt.prototype.appendForwardSlash=function(){this._url=$L(this._url)};Wt.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};Wt.fetchArrayBuffer=function(e){return new Wt(e).fetchArrayBuffer()};Wt.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};Wt.fetchBlob=function(e){return new Wt(e).fetchBlob()};Wt.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(g3(this.request),!h$||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return b3({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!l(r))return;let s,a,c,d;return Wt.supportsImageBitmapOptions().then(function(u){return s=u,a=s&&t,r}).then(function(u){if(!l(u))return;if(d=u,a)return Wt.createImageBitmapFromBlob(u,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let m=window.URL.createObjectURL(u);return c=new Wt({url:m}),b3({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(u){if(l(u))return u.blob=d,a||window.URL.revokeObjectURL(c.url),u}).catch(function(u){return l(c)&&window.URL.revokeObjectURL(c.url),u.blob=d,Promise.reject(u)})};function b3(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=xl();return Wt._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=ic.request(r);if(l(s))return s.catch(function(a){return r.state!==ti.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=ti.UNISSUED,r.deferred=void 0,b3({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}Wt.fetchImage=function(e){return new Wt(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};Wt.prototype.fetchText=function(){return this.fetch({responseType:"text"})};Wt.fetchText=function(e){return new Wt(e).fetchText()};Wt.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};Wt.fetchJson=function(e){return new Wt(e).fetchJson()};Wt.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};Wt.fetchXML=function(e){return new Wt(e).fetchXML()};Wt.prototype.fetchJsonp=function(e){e=y(e,"callback"),g3(this.request);let t;do t=`loadJsonp${W.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return f$(this,e,t)};function f$(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request,r=e.url;o.url=r,o.requestFunction=function(){let a=xl();return window[n]=function(c){a.resolve(c);try{delete window[n]}catch{window[n]=void 0}},Wt._Implementations.loadAndExecuteScript(r,n,a),a.promise};let s=ic.request(o);if(l(s))return s.catch(function(a){return o.state!==ti.FAILED?Promise.reject(a):e.retryOnError(a).then(function(c){return c?(o.state=ti.UNISSUED,o.deferred=void 0,f$(e,t,n)):Promise.reject(a)})})}Wt.fetchJsonp=function(e){return new Wt(e).fetchJsonp(e.callbackParameterName)};Wt.prototype._makeRequest=function(e){let t=this;g3(t.request);let n=t.request,i=t.url;n.url=i,n.requestFunction=function(){let r=e.responseType,s=Vt(e.headers,t.headers),a=e.overrideMimeType,c=e.method,d=e.data,u=xl(),m=Wt._Implementations.loadWithXhr(i,r,c,d,s,u,a);return l(m)&&l(m.abort)&&(n.cancelFunction=function(){m.abort()}),u.promise};let o=ic.request(n);if(l(o))return o.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==ti.FAILED?Promise.reject(r):t.retryOnError(r).then(function(s){return s?(n.state=ti.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function g3(e){if(e.state===ti.ISSUED||e.state===ti.ACTIVE)throw new ce("The Resource is already being fetched.");e.state=ti.UNISSUED,e.deferred=void 0}var OVe=/^data:(.*?)(;base64)?,(.*)$/;function SN(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function u$(e,t){let n=SN(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r{if(!a.ok){let c={};a.headers.forEach((d,u)=>{c[u]=d}),r.reject(new Qh(a.status,a,c));return}switch(t){case"text":r.resolve(a.text());break;case"json":r.resolve(a.json());break;default:r.resolve(new Uint8Array(await a.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new Qh)})}var zVe=typeof XMLHttpRequest>"u";Wt._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=OVe.exec(e);if(a!==null){r.resolve(YVe(a,t));return}if(zVe){HVe(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(JS.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(let u in o)o.hasOwnProperty(u)&&c.setRequestHeader(u,o[u]);l(t)&&(c.responseType=t);let d=!1;return typeof e=="string"&&(d=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(d&&c.status===0)){r.reject(new Qh(c.status,c.response,c.getAllResponseHeaders()));return}let u=c.response,m=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),f={};g.forEach(function(x){let _=x.split(": "),C=_.shift();f[C]=_.join(": ")}),r.resolve(f);return}if(c.status===204)r.resolve(void 0);else if(l(u)&&(!l(t)||m===t))r.resolve(u);else if(t==="json"&&typeof u=="string")try{r.resolve(JSON.parse(u))}catch(p){r.reject(p)}else(m===""||m==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(m===""||m==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new ce("Invalid XMLHttpRequest response type."))},c.onerror=function(u){r.reject(new Qh)},c.send(i),c};Wt._Implementations.loadAndExecuteScript=function(e,t,n){return lx(e,t).catch(function(i){n.reject(i)})};Wt._DefaultImplementations={};Wt._DefaultImplementations.createImage=Wt._Implementations.createImage;Wt._DefaultImplementations.loadWithXhr=Wt._Implementations.loadWithXhr;Wt._DefaultImplementations.loadAndExecuteScript=Wt._Implementations.loadAndExecuteScript;Wt.DEFAULT=Object.freeze(new Wt({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var Le=Wt;function sR(e){e=y(e,y.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=y(e.addNewLeapSeconds,!0),l(e.data)?p$(this,e.data):p$(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}sR.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Le.createIfNeeded(e),i;try{i=await n.fetchJson()}catch{throw new ce(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new sR({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};sR.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new v0(0,0,0,0,0),t}});sR.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new v0(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(l(i)){let a=n[i],c=n[i+1],d=j.lessThanOrEquals(a,e),u=!l(c),m=u||j.greaterThanOrEquals(c,e);if(d&&m)return o=i,!u&&c.equals(e)&&++o,r=o+1,g$(this,n,this._samples,e,o,r,t),t}let s=Io(n,e,j.compare,this._dateColumn);return s>=0?(st.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],d=t[r];if(c.equals(d)||i.equals(c))return b$(e,n,o,a,s),s;if(i.equals(d))return b$(e,n,r,a,s),s;let u=j.secondsDifference(i,c)/j.secondsDifference(d,c),m=o*a,p=r*a,g=n[m+e._ut1MinusUtcSecondsColumn],f=n[p+e._ut1MinusUtcSecondsColumn],x=f-g;if(x>.5||x<-.5){let _=n[m+e._taiMinusUtcSecondsColumn],C=n[p+e._taiMinusUtcSecondsColumn];_!==C&&(d.equals(i)?g=f:f-=C-_)}return s.xPoleWander=rR(u,n[m+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=rR(u,n[m+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=rR(u,n[m+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=rR(u,n[m+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=rR(u,g,f),s}var aR=sR;var eEt=T(S(),1);function oc(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}oc.fromQuaternion=function(e,t){l(t)||(t=new oc);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-W.asinClamped(n),t};oc.fromDegrees=function(e,t,n,i){return l(i)||(i=new oc),i.heading=e*W.RADIANS_PER_DEGREE,i.pitch=t*W.RADIANS_PER_DEGREE,i.roll=n*W.RADIANS_PER_DEGREE,i};oc.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new oc(e.heading,e.pitch,e.roll)};oc.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};oc.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&W.equalsEpsilon(e.heading,t.heading,n,i)&&W.equalsEpsilon(e.pitch,t.pitch,n,i)&&W.equalsEpsilon(e.roll,t.roll,n,i)};oc.prototype.clone=function(e){return oc.clone(this,e)};oc.prototype.equals=function(e){return oc.equals(this,e)};oc.prototype.equalsEpsilon=function(e,t,n){return oc.equalsEpsilon(this,e,t,n)};oc.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Ia=oc;var gEt=T(S(),1);var rEt=T(S(),1);var y$={};var x$=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function JVe(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t"u"?e:(l(VN)||(VN=document.createElement("a")),VN.href=e,VN.href)}var hx;function T$(){if(l(hx))return hx;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:l(y$?.url)?e=Kh(".",y$.url):typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(J9.toUrl)?e=Kh("..",fx("Core/buildModuleUrl.js")):e=JVe(),hx=new Le({url:_$(e)}),hx.appendForwardSlash(),hx}function QVe(e){return _$(J9.toUrl(`../${e}`))}function S$(e){return T$().getDerivedResource({url:e}).url}var LN;function fx(e){return l(LN)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(J9.toUrl)?LN=QVe:LN=S$),LN(e)}fx._cesiumScriptRegex=x$;fx._buildModuleUrlFromBaseUrl=S$;fx._clearBaseResource=function(){hx=void 0};fx.setBaseUrl=function(e){hx=Le.DEFAULT.getDerivedResource({url:e})};fx.getCesiumBaseUrl=T$;var sn=fx;var cEt=T(S(),1);function jVe(e,t,n){this.x=e,this.y=t,this.s=n}var px=jVe;function _3(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=Le.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new j(this._sampleZeroJulianEphemerisDate,0,Kn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var qVe=new j(0,0,Kn.TAI);function y3(e,t,n){let i=qVe;return i.dayNumber=t,i.secondsOfDay=n,j.daysDifference(i,e._sampleZeroDateTT)}_3.prototype.preload=function(e,t,n,i){let o=y3(this,e,t),r=y3(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,d=a/this._samplesPerXysFile|0,u=[];for(let m=c;m<=d;++m)u.push(x3(this,m));return Promise.all(u)};_3.prototype.computeXysRadians=function(e,t,n){let i=y3(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,d=this._samples;if(l(d[s*3])||(x3(this,s/this._samplesPerXysFile|0),c=!0),l(d[a*3])||(x3(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new px(0,0,0);let u=i-s*this._stepSizeDays,m=this._work,p=this._denominators,g=this._coef,f=this._xTable,x,_;for(x=0;x<=r;++x)m[x]=u-f[x];for(x=0;x<=r;++x){for(g[x]=1,_=0;_<=r;++_)_!==x&&(g[x]*=m[_]);g[x]*=p[x];let C=(s+x)*3;n.x+=g[x]*d[C++],n.y+=g[x]*d[C++],n.s+=g[x]*d[C]}return n};function x3(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Le({url:sn(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let d=0,u=a.length;d0)n=Math.sqrt(u+1),s=.5*n,n=.5/n,i=(e[$.COLUMN1ROW2]-e[$.COLUMN2ROW1])*n,o=(e[$.COLUMN2ROW0]-e[$.COLUMN0ROW2])*n,r=(e[$.COLUMN0ROW1]-e[$.COLUMN1ROW0])*n;else{let m=$Ve,p=0;c>a&&(p=1),d>a&&d>c&&(p=2);let g=m[p],f=m[g];n=Math.sqrt(e[$.getElementIndex(p,p)]-e[$.getElementIndex(g,g)]-e[$.getElementIndex(f,f)]+1);let x=eLe;x[p]=.5*n,n=.5/n,s=(e[$.getElementIndex(f,g)]-e[$.getElementIndex(g,f)])*n,x[g]=(e[$.getElementIndex(g,p)]+e[$.getElementIndex(p,g)])*n,x[f]=(e[$.getElementIndex(f,p)]+e[$.getElementIndex(p,f)])*n,i=-x[0],o=-x[1],r=-x[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new at(i,o,r,s)};var C$=new at,V$=new at,T3=new at,L$=new at;at.fromHeadingPitchRoll=function(e,t){return L$=at.fromAxisAngle(h.UNIT_X,e.roll,C$),T3=at.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=at.multiply(T3,L$,T3),V$=at.fromAxisAngle(h.UNIT_Z,-e.heading,C$),at.multiply(V$,t,t)};var RN=new h,S3=new h,Cm=new at,R$=new at,ZN=new at;at.packedLength=4;at.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};at.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new at),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};at.packedInterpolationLength=3;at.convertPackedArrayForInterpolation=function(e,t,n,i){at.unpack(e,n*4,ZN),at.conjugate(ZN,ZN);for(let o=0,r=n-t+1;o=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,d=a*a;for(let g=7;g>=0;--g)Cp[g]=(GN[g]*c-EN[g])*s,Vp[g]=(GN[g]*d-EN[g])*s;let u=r*n*(1+Cp[0]*(1+Cp[1]*(1+Cp[2]*(1+Cp[3]*(1+Cp[4]*(1+Cp[5]*(1+Cp[6]*(1+Cp[7])))))))),m=a*(1+Vp[0]*(1+Vp[1]*(1+Vp[2]*(1+Vp[3]*(1+Vp[4]*(1+Vp[5]*(1+Vp[6]*(1+Vp[7])))))))),p=at.multiplyByScalar(e,m,iLe);return at.multiplyByScalar(t,u,i),at.add(p,i,i)};at.fastSquad=function(e,t,n,i,o,r){let s=at.fastSlerp(e,t,o,dR),a=at.fastSlerp(n,i,o,jS);return at.fastSlerp(s,a,2*o*(1-o),r)};at.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};at.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};at.ZERO=Object.freeze(new at(0,0,0,0));at.IDENTITY=Object.freeze(new at(0,0,0,1));at.prototype.clone=function(e){return at.clone(this,e)};at.prototype.equals=function(e){return at.equals(this,e)};at.prototype.equalsEpsilon=function(e,t){return at.equalsEpsilon(this,e,t)};at.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Fe=at;var fi={},R3={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},qS={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},Z3={},_l={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},A0=new h,M0=new h,N0=new h;fi.localFrameToFixedFrameGenerator=function(e,t){if(!R3.hasOwnProperty(e)||!R3[e].hasOwnProperty(t))throw new fe("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=R3[e][t],i,o=e+t;return l(Z3[o])?i=Z3[o]:(i=function(r,s,a){if(l(a)||(a=new M),h.equalsEpsilon(r,h.ZERO,W.EPSILON14))h.unpack(qS[e],0,A0),h.unpack(qS[t],0,M0),h.unpack(qS[n],0,N0);else if(W.equalsEpsilon(r.x,0,W.EPSILON14)&&W.equalsEpsilon(r.y,0,W.EPSILON14)){let c=W.sign(r.z);h.unpack(qS[e],0,A0),e!=="east"&&e!=="west"&&h.multiplyByScalar(A0,c,A0),h.unpack(qS[t],0,M0),t!=="east"&&t!=="west"&&h.multiplyByScalar(M0,c,M0),h.unpack(qS[n],0,N0),n!=="east"&&n!=="west"&&h.multiplyByScalar(N0,c,N0)}else{s=y(s,ne.default),s.geodeticSurfaceNormal(r,_l.up);let c=_l.up,d=_l.east;d.x=-r.y,d.y=r.x,d.z=0,h.normalize(d,_l.east),h.cross(c,d,_l.north),h.multiplyByScalar(_l.up,-1,_l.down),h.multiplyByScalar(_l.east,-1,_l.west),h.multiplyByScalar(_l.north,-1,_l.south),A0=_l[e],M0=_l[t],N0=_l[n]}return a[0]=A0.x,a[1]=A0.y,a[2]=A0.z,a[3]=0,a[4]=M0.x,a[5]=M0.y,a[6]=M0.z,a[7]=0,a[8]=N0.x,a[9]=N0.y,a[10]=N0.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},Z3[o]=i),i};fi.eastNorthUpToFixedFrame=fi.localFrameToFixedFrameGenerator("east","north");fi.northEastDownToFixedFrame=fi.localFrameToFixedFrameGenerator("north","east");fi.northUpEastToFixedFrame=fi.localFrameToFixedFrameGenerator("north","up");fi.northWestUpToFixedFrame=fi.localFrameToFixedFrameGenerator("north","west");var oLe=new Fe,rLe=new h(1,1,1),sLe=new M;fi.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,fi.eastNorthUpToFixedFrame);let r=Fe.fromHeadingPitchRoll(t,oLe),s=M.fromTranslationQuaternionRotationScale(h.ZERO,r,rLe,sLe);return o=i(e,n,o),M.multiply(o,s,o)};var aLe=new M,cLe=new $;fi.headingPitchRollQuaternion=function(e,t,n,i,o){let r=fi.headingPitchRollToFixedFrame(e,t,n,i,aLe),s=M.getMatrix3(r,cLe);return Fe.fromRotationMatrix(s,o)};var lLe=new h(1,1,1),dLe=new h,E$=new M,uLe=new M,mLe=new $,hLe=new Fe;fi.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,ne.default),n=y(n,fi.eastNorthUpToFixedFrame),l(i)||(i=new Ia);let o=M.getTranslation(e,dLe);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=M.inverseTransformation(n(o,t,E$),E$),s=M.setScale(e,lLe,uLe);s=M.setTranslation(s,h.ZERO,s),r=M.multiply(r,s,r);let a=Fe.fromRotationMatrix(M.getMatrix3(r,mLe),hLe);return a=Fe.normalize(a,a),Ia.fromQuaternion(a,i)};var fLe=6*3600+41*60+50.54841,pLe=8640184812866e-6,bLe=.093104,gLe=-62e-7,yLe=11772758384668e-32,xLe=72921158553e-15,_Le=W.TWO_PI/86400,IN=new j;fi.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=fi.computeIcrfToFixedMatrix(e,t);return l(n)||(n=fi.computeTemeToPseudoFixedMatrix(e,t)),n};fi.computeTemeToPseudoFixedMatrix=function(e,t){IN=j.addSeconds(e,-j.computeTaiMinusUtc(e),IN);let n=IN.dayNumber,i=IN.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Jn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Jn.DAYS_PER_JULIAN_CENTURY;let a=(fLe+o*(pLe+o*(bLe+o*gLe)))*_Le%W.TWO_PI,c=xLe+yLe*(n-24515455e-1),d=(i+Jn.SECONDS_PER_DAY*.5)%Jn.SECONDS_PER_DAY,u=a+c*d,m=Math.cos(u),p=Math.sin(u);return l(t)?(t[0]=m,t[1]=-p,t[2]=0,t[3]=p,t[4]=m,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new $(m,p,0,-p,m,0,0,0,1)};fi.iau2006XysData=new cR;fi.earthOrientationParameters=aR.NONE;var I3=32.184,TLe=2451545;fi.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+I3,i=e.stop.dayNumber,o=e.stop.secondsOfDay+I3;return fi.iau2006XysData.preload(t,n,i,o)};fi.computeIcrfToFixedMatrix=function(e,t){l(t)||(t=new $);let n=fi.computeFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var SLe=32.184,CLe=2451545,XN=new Ia,VLe=new $,LLe=new j;fi.computeMoonFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=j.addSeconds(e,SLe,LLe),i=j.totalDays(n)-CLe,o=W.toRadians(12.112)-W.toRadians(.052992)*i,r=W.toRadians(24.224)-W.toRadians(.105984)*i,s=W.toRadians(227.645)+W.toRadians(13.012)*i,a=W.toRadians(261.105)+W.toRadians(13.340716)*i,c=W.toRadians(358)+W.toRadians(.9856)*i;return XN.pitch=W.toRadians(180)-W.toRadians(3.878)*Math.sin(o)-W.toRadians(.12)*Math.sin(r)+W.toRadians(.07)*Math.sin(s)-W.toRadians(.017)*Math.sin(a),XN.roll=W.toRadians(66.53-90)+W.toRadians(1.543)*Math.cos(o)+W.toRadians(.24)*Math.cos(r)-W.toRadians(.028)*Math.cos(s)+W.toRadians(.007)*Math.cos(a),XN.heading=W.toRadians(244.375-90)+W.toRadians(13.17635831)*i+W.toRadians(3.558)*Math.sin(o)+W.toRadians(.121)*Math.sin(r)-W.toRadians(.064)*Math.sin(s)+W.toRadians(.016)*Math.sin(a)+W.toRadians(.025)*Math.sin(c),$.fromHeadingPitchRoll(XN,VLe)};fi.computeIcrfToMoonFixedMatrix=function(e,t){l(t)||(t=new $);let n=fi.computeMoonFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var RLe=new px(0,0,0),ZLe=new v0(0,0,0,0,0,0),G3=new $,E3=new $;fi.computeFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=fi.earthOrientationParameters.compute(e,ZLe);if(!l(n))return;let i=e.dayNumber,o=e.secondsOfDay+I3,r=fi.iau2006XysData.computeXysRadians(i,o,RLe);if(!l(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),d=G3;d[0]=1-c*s*s,d[3]=-c*s*a,d[6]=s,d[1]=-c*s*a,d[4]=1-c*a*a,d[7]=a,d[2]=-s,d[5]=-a,d[8]=1-c*(s*s+a*a);let u=$.fromRotationZ(-r.s,E3),m=$.multiply(d,u,G3),p=e.dayNumber,g=e.secondsOfDay-j.computeTaiMinusUtc(e)+n.ut1MinusUtc,f=p-2451545,x=g/Jn.SECONDS_PER_DAY,_=.779057273264+x+.00273781191135448*(f+x);_=_%1*W.TWO_PI;let C=$.fromRotationZ(_,E3),V=$.multiply(m,C,G3),L=Math.cos(n.xPoleWander),Z=Math.cos(n.yPoleWander),G=Math.sin(n.xPoleWander),I=Math.sin(n.yPoleWander),v=i-TLe+o/Jn.SECONDS_PER_DAY;v/=36525;let P=-47e-6*v*W.RADIANS_PER_DEGREE/3600,w=Math.cos(P),A=Math.sin(P),b=E3;return b[0]=L*w,b[1]=L*A,b[2]=G,b[3]=-Z*A+I*G*w,b[4]=Z*w+I*G*A,b[5]=-I*L,b[6]=-I*A-Z*G*w,b[7]=I*w-Z*G*A,b[8]=Z*L,$.multiply(V,b,t)};var GLe=new re;fi.pointToWindowCoordinates=function(e,t,n,i){return i=fi.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};fi.pointToGLWindowCoordinates=function(e,t,n,i){l(i)||(i=new D);let o=GLe;return M.multiplyByVector(e,re.fromElements(n.x,n.y,n.z,1,o),o),re.multiplyByScalar(o,1/o.w,o),M.multiplyByVector(t,o,o),D.fromCartesian4(o,i)};var ELe=new h,ILe=new h,XLe=new h;fi.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,ne.default).geodeticSurfaceNormal(e,ELe),r=h.cross(t,o,ILe);h.equalsEpsilon(r,h.ZERO,W.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,XLe);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),l(i)||(i=new $),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var I$=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),X$=new he,X3=new h,WLe=new h,PLe=new $,W3=new M,W$=new M;fi.basisTo2D=function(e,t,n){let i=M.getTranslation(t,WLe),o=e.ellipsoid,r;if(h.equals(i,h.ZERO))r=h.clone(h.ZERO,X3);else{let u=o.cartesianToCartographic(i,X$);r=e.project(u,X3),h.fromElements(r.z,r.x,r.y,r)}let s=fi.eastNorthUpToFixedFrame(i,o,W3),a=M.inverseTransformation(s,W$),c=M.getMatrix3(t,PLe),d=M.multiplyByMatrix3(a,c,n);return M.multiply(I$,d,n),M.setTranslation(n,r,n),n};fi.ellipsoidTo2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=fi.eastNorthUpToFixedFrame(t,i,W3),r=M.inverseTransformation(o,W$),s=i.cartesianToCartographic(t,X$),a=e.project(s,X3);h.fromElements(a.z,a.x,a.y,a);let c=M.fromTranslation(a,W3);return M.multiply(I$,r,n),M.multiply(c,n,n),n};var vt=fi;function Xn(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(Xn.prototype,{width:{get:function(){return Xn.computeWidth(this)}},height:{get:function(){return Xn.computeHeight(this)}}});Xn.packedLength=4;Xn.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};Xn.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Xn),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};Xn.computeWidth=function(e){let t=e.east,n=e.west;return t=0?u.longitude:u.longitude+W.TWO_PI;o=Math.min(o,m),r=Math.max(r,m)}return i-n>r-o&&(n=o,i=r,i>W.PI&&(i=i-W.TWO_PI),n>W.PI&&(n=n-W.TWO_PI)),l(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new Xn(n,s,i,a)};Xn.fromCartesianArray=function(e,t,n){t=y(t,ne.default);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let d=0,u=e.length;d=0?m.longitude:m.longitude+W.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>W.PI&&(o=o-W.TWO_PI),i>W.PI&&(i=i-W.TWO_PI)),l(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new Xn(i,a,o,c)};var vLe=new h,wLe=new h,FLe=new h,ALe=new h,MLe=new h,P3=new Array(5);for(let e=0;e0?i+=W.TWO_PI:r0&&(r+=W.TWO_PI),i=u))return l(n)?(n.west=a,n.south=d,n.east=c,n.north=u,n):new Xn(a,d,c,u)};Xn.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return l(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new Xn(i,o,r,s)};Xn.union=function(e,t,n){l(n)||(n=new Xn);let i=e.east,o=e.west,r=t.east,s=t.west;i0?i+=W.TWO_PI:r0&&(r+=W.TWO_PI),io||W.equalsEpsilon(n,o,W.EPSILON14))&&(n=e.south&&i<=e.north};var NLe=new he;Xn.subsample=function(e,t,n,i){t=y(t,ne.default),n=y(n,0),l(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,d=NLe;d.height=n,d.longitude=c,d.latitude=r,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.longitude=a,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.latitude=s,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.longitude=c,i[o]=t.cartographicToCartesian(d,i[o]),o++,r<0?d.latitude=r:s>0?d.latitude=s:d.latitude=0;for(let u=1;u<8;++u)d.longitude=-Math.PI+u*W.PI_OVER_TWO,Xn.contains(e,d)&&(i[o]=t.cartographicToCartesian(d,i[o]),o++);return d.latitude===0&&(d.longitude=c,i[o]=t.cartographicToCartesian(d,i[o]),o++,d.longitude=a,i[o]=t.cartographicToCartesian(d,i[o]),o++),i.length=o,i};Xn.subsection=function(e,t,n,i,o,r){if(l(r)||(r=new Xn),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=W.TWO_PI+e.east-e.west;r.west=W.negativePiToPi(e.west+t*a),r.east=W.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};Xn.MAX_VALUE=Object.freeze(new Xn(-Math.PI,-W.PI_OVER_TWO,Math.PI,W.PI_OVER_TWO));var le=Xn;function Wr(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}Wr.packedLength=4;Wr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};Wr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Wr),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};Wr.fromPoints=function(e,t){if(l(t)||(t=new Wr),!l(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;an.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};Wr.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.widthr+t.height?zt.OUTSIDE:zt.INTERSECTING};Wr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};Wr.prototype.clone=function(e){return Wr.clone(this,e)};Wr.prototype.intersect=function(e){return Wr.intersect(this,e)};Wr.prototype.equals=function(e){return Wr.equals(this,e)};var Je=Wr;var pIt=T(S(),1);var Xa={POINTS:ie.POINTS,LINES:ie.LINES,LINE_LOOP:ie.LINE_LOOP,LINE_STRIP:ie.LINE_STRIP,TRIANGLES:ie.TRIANGLES,TRIANGLE_STRIP:ie.TRIANGLE_STRIP,TRIANGLE_FAN:ie.TRIANGLE_FAN};Xa.isLines=function(e){return e===Xa.LINES||e===Xa.LINE_LOOP||e===Xa.LINE_STRIP};Xa.isTriangles=function(e){return e===Xa.TRIANGLES||e===Xa.TRIANGLE_STRIP||e===Xa.TRIANGLE_FAN};Xa.validate=function(e){return e===Xa.POINTS||e===Xa.LINES||e===Xa.LINE_LOOP||e===Xa.LINE_STRIP||e===Xa.TRIANGLES||e===Xa.TRIANGLE_STRIP||e===Xa.TRIANGLE_FAN};var Me=Object.freeze(Xa);var gIt=T(S(),1),bx=`in vec4 position; in vec2 textureCoordinates; out vec2 v_textureCoordinates; @@ -88,14 +88,14 @@ void main() gl_Position = position; v_textureCoordinates = textureCoordinates; } -`;var KEt=T(S(),1);var gr={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function cR(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Me.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._pickMetadataAllowed=e.pickMetadataAllowed===!0,this._pickedMetadataInfo=void 0,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function tc(e,t){return(e._flags&t)===t}function Pb(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(cR.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return tc(this,gr.CULL)},set:function(e){tc(this,gr.CULL)!==e&&(Pb(this,gr.CULL,e),this.dirty=!0)}},occlude:{get:function(){return tc(this,gr.OCCLUDE)},set:function(e){tc(this,gr.OCCLUDE)!==e&&(Pb(this,gr.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return tc(this,gr.CAST_SHADOWS)},set:function(e){tc(this,gr.CAST_SHADOWS)!==e&&(Pb(this,gr.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return tc(this,gr.RECEIVE_SHADOWS)},set:function(e){tc(this,gr.RECEIVE_SHADOWS)!==e&&(Pb(this,gr.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return tc(this,gr.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){tc(this,gr.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(Pb(this,gr.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return tc(this,gr.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){tc(this,gr.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(Pb(this,gr.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickMetadataAllowed:{get:function(){return this._pickMetadataAllowed}},pickedMetadataInfo:{get:function(){return this._pickedMetadataInfo},set:function(e){this._pickedMetadataInfo!==e&&(this._pickedMetadataInfo=e,this.dirty=!0)}},pickOnly:{get:function(){return tc(this,gr.PICK_ONLY)},set:function(e){tc(this,gr.PICK_ONLY)!==e&&(Pb(this,gr.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return tc(this,gr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){tc(this,gr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(Pb(this,gr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});cR.shallowClone=function(e,t){if(l(e))return l(t)||(t=new cR),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._pickMetadataAllowed=e._pickMetadataAllowed,t._pickedMetadataInfo=e._pickedMetadataInfo,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};cR.prototype.execute=function(e,t){e.draw(this,t)};var tt=cR;var lIt=T(S(),1);var tIt=T(S(),1);var jEt=T(S(),1);var ui={UNSIGNED_BYTE:ie.UNSIGNED_BYTE,UNSIGNED_SHORT:ie.UNSIGNED_SHORT,UNSIGNED_INT:ie.UNSIGNED_INT,FLOAT:ie.FLOAT,HALF_FLOAT:ie.HALF_FLOAT_OES,UNSIGNED_INT_24_8:ie.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:ie.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:ie.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:ie.UNSIGNED_SHORT_5_6_5};ui.toWebGLConstant=function(e,t){switch(e){case ui.UNSIGNED_BYTE:return ie.UNSIGNED_BYTE;case ui.UNSIGNED_SHORT:return ie.UNSIGNED_SHORT;case ui.UNSIGNED_INT:return ie.UNSIGNED_INT;case ui.FLOAT:return ie.FLOAT;case ui.HALF_FLOAT:return t.webgl2?ie.HALF_FLOAT:ie.HALF_FLOAT_OES;case ui.UNSIGNED_INT_24_8:return ie.UNSIGNED_INT_24_8;case ui.UNSIGNED_SHORT_4_4_4_4:return ie.UNSIGNED_SHORT_4_4_4_4;case ui.UNSIGNED_SHORT_5_5_5_1:return ie.UNSIGNED_SHORT_5_5_5_1;case ui.UNSIGNED_SHORT_5_6_5:return ui.UNSIGNED_SHORT_5_6_5}};ui.isPacked=function(e){return e===ui.UNSIGNED_INT_24_8||e===ui.UNSIGNED_SHORT_4_4_4_4||e===ui.UNSIGNED_SHORT_5_5_5_1||e===ui.UNSIGNED_SHORT_5_6_5};ui.sizeInBytes=function(e){switch(e){case ui.UNSIGNED_BYTE:return 1;case ui.UNSIGNED_SHORT:case ui.UNSIGNED_SHORT_4_4_4_4:case ui.UNSIGNED_SHORT_5_5_5_1:case ui.UNSIGNED_SHORT_5_6_5:case ui.HALF_FLOAT:return 2;case ui.UNSIGNED_INT:case ui.FLOAT:case ui.UNSIGNED_INT_24_8:return 4}};ui.validate=function(e){return e===ui.UNSIGNED_BYTE||e===ui.UNSIGNED_SHORT||e===ui.UNSIGNED_INT||e===ui.FLOAT||e===ui.HALF_FLOAT||e===ui.UNSIGNED_INT_24_8||e===ui.UNSIGNED_SHORT_4_4_4_4||e===ui.UNSIGNED_SHORT_5_5_5_1||e===ui.UNSIGNED_SHORT_5_6_5};ui.getTypedArrayConstructor=function(e){let t=ui.sizeInBytes(e);return t===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:t===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:t===Float32Array.BYTES_PER_ELEMENT&&e===ui.FLOAT?Float32Array:Uint32Array};var it=Object.freeze(ui);var lt={DEPTH_COMPONENT:ie.DEPTH_COMPONENT,DEPTH_STENCIL:ie.DEPTH_STENCIL,ALPHA:ie.ALPHA,RED:ie.RED,R:ie.RED,RG:ie.RG,RGB:ie.RGB,RGBA:ie.RGBA,LUMINANCE:ie.LUMINANCE,LUMINANCE_ALPHA:ie.LUMINANCE_ALPHA,RGB_DXT1:ie.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:ie.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:ie.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:ie.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:ie.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:ie.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:ie.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:ie.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:ie.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:ie.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:ie.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:ie.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:ie.COMPRESSED_RGBA_BPTC_UNORM};lt.componentsLength=function(e){switch(e){case lt.RGB:return 3;case lt.RGBA:return 4;case lt.LUMINANCE_ALPHA:case lt.RG:return 2;case lt.ALPHA:case lt.RED:case lt.LUMINANCE:return 1;case lt.R:return 4;default:return 1}};lt.validate=function(e){return e===lt.DEPTH_COMPONENT||e===lt.DEPTH_STENCIL||e===lt.ALPHA||e===lt.RED||e===lt.RG||e===lt.RGB||e===lt.RGBA||e===lt.LUMINANCE||e===lt.LUMINANCE_ALPHA||e===lt.RGB_DXT1||e===lt.RGBA_DXT1||e===lt.RGBA_DXT3||e===lt.RGBA_DXT5||e===lt.RGB_PVRTC_4BPPV1||e===lt.RGB_PVRTC_2BPPV1||e===lt.RGBA_PVRTC_4BPPV1||e===lt.RGBA_PVRTC_2BPPV1||e===lt.RGBA_ASTC||e===lt.RGB_ETC1||e===lt.RGB8_ETC2||e===lt.RGBA8_ETC2_EAC||e===lt.RGBA_BC7||e===lt.R};lt.isColorFormat=function(e){return e===lt.RED||e===lt.ALPHA||e===lt.RGB||e===lt.RGBA||e===lt.LUMINANCE||e===lt.LUMINANCE_ALPHA||e===lt.R};lt.isDepthFormat=function(e){return e===lt.DEPTH_COMPONENT||e===lt.DEPTH_STENCIL};lt.isCompressedFormat=function(e){return e===lt.RGB_DXT1||e===lt.RGBA_DXT1||e===lt.RGBA_DXT3||e===lt.RGBA_DXT5||e===lt.RGB_PVRTC_4BPPV1||e===lt.RGB_PVRTC_2BPPV1||e===lt.RGBA_PVRTC_4BPPV1||e===lt.RGBA_PVRTC_2BPPV1||e===lt.RGBA_ASTC||e===lt.RGB_ETC1||e===lt.RGB8_ETC2||e===lt.RGBA8_ETC2_EAC||e===lt.RGBA_BC7};lt.isDXTFormat=function(e){return e===lt.RGB_DXT1||e===lt.RGBA_DXT1||e===lt.RGBA_DXT3||e===lt.RGBA_DXT5};lt.isPVRTCFormat=function(e){return e===lt.RGB_PVRTC_4BPPV1||e===lt.RGB_PVRTC_2BPPV1||e===lt.RGBA_PVRTC_4BPPV1||e===lt.RGBA_PVRTC_2BPPV1};lt.isASTCFormat=function(e){return e===lt.RGBA_ASTC};lt.isETC1Format=function(e){return e===lt.RGB_ETC1};lt.isETC2Format=function(e){return e===lt.RGB8_ETC2||e===lt.RGBA8_ETC2_EAC};lt.isBC7Format=function(e){return e===lt.RGBA_BC7};lt.compressedTextureSizeInBytes=function(e,t,n){switch(e){case lt.RGB_DXT1:case lt.RGBA_DXT1:case lt.RGB_ETC1:case lt.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case lt.RGBA_DXT3:case lt.RGBA_DXT5:case lt.RGBA_ASTC:case lt.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case lt.RGB_PVRTC_4BPPV1:case lt.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case lt.RGB_PVRTC_2BPPV1:case lt.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case lt.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};lt.textureSizeInBytes=function(e,t,n,i){let o=lt.componentsLength(e);return it.isPacked(t)&&(o=1),o*it.sizeInBytes(t)*n*i};lt.alignmentInBytes=function(e,t,n){let i=lt.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};lt.createTypedArray=function(e,t,n,i){let o=it.getTypedArrayConstructor(t),r=lt.componentsLength(e)*n*i;return new o(r)};lt.flipY=function(e,t,n,i,o){if(o===1)return e;let r=lt.createTypedArray(t,n,i,o),s=lt.componentsLength(t),a=i*s;for(let c=0;c0&&console.log(`${jh}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${jh}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${jh}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let d,u=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${jh}Shader program link log: ${c}`),m(o,"vertex"),m(r,"fragment"),d=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${jh}Vertex shader compile log: ${c}`),console.error(`${jh} Vertex shader source: -${n}`),d=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${jh}Fragment shader compile log: ${c}`),console.error(`${jh} Fragment shader source: -${i}`),d=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new de(d);function m(p,g){if(!l(u))return;let f=u.getTranslatedShaderSource(p);if(f===""){console.error(`${jh}${g} shader translation failed.`);return}console.error(`${jh}Translated ${g} shaderSource: -${f}`)}}function OLe(e,t,n){let i={};for(let o=0;o=0){if(u=n[d.slice(0,f)],!l(u))continue;m=u._locations,m.length<=1&&(p=u.value,g=e.getUniformLocation(t,d),g!==null&&(m.push(g),p.push(e.getUniform(t,g))))}else{m=[];for(let x=0;x{e.onmessage=function(o){let r=o.data.array,s=l(r)&&r[0]===t;i(s),e.terminate(),ca._canTransferArrayBuffer=s}})}return ca._canTransferArrayBuffer}var FO=new be;function wO(e){let t;try{t=new Blob([e],{type:"application/javascript"})}catch{let o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new o;r.append(e),t=r.getBlob("application/javascript")}return(window.URL||window.webkitURL).createObjectURL(t)}function AO(e){let t=new pee.default(e),n=t.scheme().length!==0&&t.fragment().length===0,i=e.replace(/\.js$/,""),o={},r,s;if(Eb(e))s=e;else if(!n){let a=sn(`${ca._workerModulePrefix}/${i}.js`);Eb(a)&&(s=a)}if(s){let a=`import "${s}";`;return r=wO(a),o.type="module",new Worker(r,o)}if(!n&&typeof CESIUM_WORKERS<"u"){let a=` - importScripts("${wO(CESIUM_WORKERS)}"); +`;var SIt=T(S(),1);var xr={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function uR(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Me.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._pickMetadataAllowed=e.pickMetadataAllowed===!0,this._pickedMetadataInfo=void 0,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function rc(e,t){return(e._flags&t)===t}function k0(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(uR.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return rc(this,xr.CULL)},set:function(e){rc(this,xr.CULL)!==e&&(k0(this,xr.CULL,e),this.dirty=!0)}},occlude:{get:function(){return rc(this,xr.OCCLUDE)},set:function(e){rc(this,xr.OCCLUDE)!==e&&(k0(this,xr.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return rc(this,xr.CAST_SHADOWS)},set:function(e){rc(this,xr.CAST_SHADOWS)!==e&&(k0(this,xr.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return rc(this,xr.RECEIVE_SHADOWS)},set:function(e){rc(this,xr.RECEIVE_SHADOWS)!==e&&(k0(this,xr.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return rc(this,xr.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){rc(this,xr.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(k0(this,xr.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return rc(this,xr.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){rc(this,xr.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(k0(this,xr.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickMetadataAllowed:{get:function(){return this._pickMetadataAllowed}},pickedMetadataInfo:{get:function(){return this._pickedMetadataInfo},set:function(e){this._pickedMetadataInfo!==e&&(this._pickedMetadataInfo=e,this.dirty=!0)}},pickOnly:{get:function(){return rc(this,xr.PICK_ONLY)},set:function(e){rc(this,xr.PICK_ONLY)!==e&&(k0(this,xr.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return rc(this,xr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){rc(this,xr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(k0(this,xr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});uR.shallowClone=function(e,t){if(l(e))return l(t)||(t=new uR),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._pickMetadataAllowed=e._pickMetadataAllowed,t._pickedMetadataInfo=e._pickedMetadataInfo,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};uR.prototype.execute=function(e,t){e.draw(this,t)};var tt=uR;var AIt=T(S(),1);var EIt=T(S(),1);var LIt=T(S(),1);var pi={UNSIGNED_BYTE:ie.UNSIGNED_BYTE,UNSIGNED_SHORT:ie.UNSIGNED_SHORT,UNSIGNED_INT:ie.UNSIGNED_INT,FLOAT:ie.FLOAT,HALF_FLOAT:ie.HALF_FLOAT_OES,UNSIGNED_INT_24_8:ie.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:ie.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:ie.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:ie.UNSIGNED_SHORT_5_6_5};pi.toWebGLConstant=function(e,t){switch(e){case pi.UNSIGNED_BYTE:return ie.UNSIGNED_BYTE;case pi.UNSIGNED_SHORT:return ie.UNSIGNED_SHORT;case pi.UNSIGNED_INT:return ie.UNSIGNED_INT;case pi.FLOAT:return ie.FLOAT;case pi.HALF_FLOAT:return t.webgl2?ie.HALF_FLOAT:ie.HALF_FLOAT_OES;case pi.UNSIGNED_INT_24_8:return ie.UNSIGNED_INT_24_8;case pi.UNSIGNED_SHORT_4_4_4_4:return ie.UNSIGNED_SHORT_4_4_4_4;case pi.UNSIGNED_SHORT_5_5_5_1:return ie.UNSIGNED_SHORT_5_5_5_1;case pi.UNSIGNED_SHORT_5_6_5:return pi.UNSIGNED_SHORT_5_6_5}};pi.isPacked=function(e){return e===pi.UNSIGNED_INT_24_8||e===pi.UNSIGNED_SHORT_4_4_4_4||e===pi.UNSIGNED_SHORT_5_5_5_1||e===pi.UNSIGNED_SHORT_5_6_5};pi.sizeInBytes=function(e){switch(e){case pi.UNSIGNED_BYTE:return 1;case pi.UNSIGNED_SHORT:case pi.UNSIGNED_SHORT_4_4_4_4:case pi.UNSIGNED_SHORT_5_5_5_1:case pi.UNSIGNED_SHORT_5_6_5:case pi.HALF_FLOAT:return 2;case pi.UNSIGNED_INT:case pi.FLOAT:case pi.UNSIGNED_INT_24_8:return 4}};pi.validate=function(e){return e===pi.UNSIGNED_BYTE||e===pi.UNSIGNED_SHORT||e===pi.UNSIGNED_INT||e===pi.FLOAT||e===pi.HALF_FLOAT||e===pi.UNSIGNED_INT_24_8||e===pi.UNSIGNED_SHORT_4_4_4_4||e===pi.UNSIGNED_SHORT_5_5_5_1||e===pi.UNSIGNED_SHORT_5_6_5};pi.getTypedArrayConstructor=function(e){let t=pi.sizeInBytes(e);return t===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:t===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:t===Float32Array.BYTES_PER_ELEMENT&&e===pi.FLOAT?Float32Array:Uint32Array};var qe=Object.freeze(pi);var ct={DEPTH_COMPONENT:ie.DEPTH_COMPONENT,DEPTH_STENCIL:ie.DEPTH_STENCIL,ALPHA:ie.ALPHA,RED:ie.RED,R:ie.RED,RG:ie.RG,RGB:ie.RGB,RGBA:ie.RGBA,LUMINANCE:ie.LUMINANCE,LUMINANCE_ALPHA:ie.LUMINANCE_ALPHA,RGB_DXT1:ie.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:ie.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:ie.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:ie.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:ie.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:ie.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:ie.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:ie.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:ie.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:ie.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:ie.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:ie.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:ie.COMPRESSED_RGBA_BPTC_UNORM};ct.componentsLength=function(e){switch(e){case ct.RGB:return 3;case ct.RGBA:return 4;case ct.LUMINANCE_ALPHA:case ct.RG:return 2;case ct.ALPHA:case ct.RED:case ct.LUMINANCE:return 1;case ct.R:return 4;default:return 1}};ct.validate=function(e){return e===ct.DEPTH_COMPONENT||e===ct.DEPTH_STENCIL||e===ct.ALPHA||e===ct.RED||e===ct.RG||e===ct.RGB||e===ct.RGBA||e===ct.LUMINANCE||e===ct.LUMINANCE_ALPHA||e===ct.RGB_DXT1||e===ct.RGBA_DXT1||e===ct.RGBA_DXT3||e===ct.RGBA_DXT5||e===ct.RGB_PVRTC_4BPPV1||e===ct.RGB_PVRTC_2BPPV1||e===ct.RGBA_PVRTC_4BPPV1||e===ct.RGBA_PVRTC_2BPPV1||e===ct.RGBA_ASTC||e===ct.RGB_ETC1||e===ct.RGB8_ETC2||e===ct.RGBA8_ETC2_EAC||e===ct.RGBA_BC7||e===ct.R};ct.isColorFormat=function(e){return e===ct.RED||e===ct.ALPHA||e===ct.RGB||e===ct.RGBA||e===ct.LUMINANCE||e===ct.LUMINANCE_ALPHA||e===ct.R};ct.isDepthFormat=function(e){return e===ct.DEPTH_COMPONENT||e===ct.DEPTH_STENCIL};ct.isCompressedFormat=function(e){return e===ct.RGB_DXT1||e===ct.RGBA_DXT1||e===ct.RGBA_DXT3||e===ct.RGBA_DXT5||e===ct.RGB_PVRTC_4BPPV1||e===ct.RGB_PVRTC_2BPPV1||e===ct.RGBA_PVRTC_4BPPV1||e===ct.RGBA_PVRTC_2BPPV1||e===ct.RGBA_ASTC||e===ct.RGB_ETC1||e===ct.RGB8_ETC2||e===ct.RGBA8_ETC2_EAC||e===ct.RGBA_BC7};ct.isDXTFormat=function(e){return e===ct.RGB_DXT1||e===ct.RGBA_DXT1||e===ct.RGBA_DXT3||e===ct.RGBA_DXT5};ct.isPVRTCFormat=function(e){return e===ct.RGB_PVRTC_4BPPV1||e===ct.RGB_PVRTC_2BPPV1||e===ct.RGBA_PVRTC_4BPPV1||e===ct.RGBA_PVRTC_2BPPV1};ct.isASTCFormat=function(e){return e===ct.RGBA_ASTC};ct.isETC1Format=function(e){return e===ct.RGB_ETC1};ct.isETC2Format=function(e){return e===ct.RGB8_ETC2||e===ct.RGBA8_ETC2_EAC};ct.isBC7Format=function(e){return e===ct.RGBA_BC7};ct.compressedTextureSizeInBytes=function(e,t,n){switch(e){case ct.RGB_DXT1:case ct.RGBA_DXT1:case ct.RGB_ETC1:case ct.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case ct.RGBA_DXT3:case ct.RGBA_DXT5:case ct.RGBA_ASTC:case ct.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case ct.RGB_PVRTC_4BPPV1:case ct.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case ct.RGB_PVRTC_2BPPV1:case ct.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case ct.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};ct.textureSizeInBytes=function(e,t,n,i){let o=ct.componentsLength(e);return qe.isPacked(t)&&(o=1),o*qe.sizeInBytes(t)*n*i};ct.alignmentInBytes=function(e,t,n){let i=ct.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};ct.createTypedArray=function(e,t,n,i){let o=qe.getTypedArrayConstructor(t),r=ct.componentsLength(e)*n*i;return new o(r)};ct.flipY=function(e,t,n,i,o){if(o===1)return e;let r=ct.createTypedArray(t,n,i,o),s=ct.componentsLength(t),a=i*s;for(let c=0;c0&&console.log(`${tf}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${tf}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${tf}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let d,u=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${tf}Shader program link log: ${c}`),m(o,"vertex"),m(r,"fragment"),d=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${tf}Vertex shader compile log: ${c}`),console.error(`${tf} Vertex shader source: +${n}`),d=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${tf}Fragment shader compile log: ${c}`),console.error(`${tf} Fragment shader source: +${i}`),d=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new ce(d);function m(p,g){if(!l(u))return;let f=u.getTranslatedShaderSource(p);if(f===""){console.error(`${tf}${g} shader translation failed.`);return}console.error(`${tf}Translated ${g} shaderSource: +${f}`)}}function oRe(e,t,n){let i={};for(let o=0;o=0){if(u=n[d.slice(0,f)],!l(u))continue;m=u._locations,m.length<=1&&(p=u.value,g=e.getUniformLocation(t,d),g!==null&&(m.push(g),p.push(e.getUniform(t,g))))}else{m=[];for(let x=0;x{e.onmessage=function(o){let r=o.data.array,s=l(r)&&r[0]===t;i(s),e.terminate(),ma._canTransferArrayBuffer=s}})}return ma._canTransferArrayBuffer}var k3=new be;function N3(e){let t;try{t=new Blob([e],{type:"application/javascript"})}catch{let o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new o;r.append(e),t=r.getBlob("application/javascript")}return(window.URL||window.webkitURL).createObjectURL(t)}function U3(e){let t=new Cee.default(e),n=t.scheme().length!==0&&t.fragment().length===0,i=e.replace(/\.js$/,""),o={},r,s;if(F0(e))s=e;else if(!n){let a=sn(`${ma._workerModulePrefix}/${i}.js`);F0(a)&&(s=a)}if(s){let a=`import "${s}";`;return r=N3(a),o.type="module",new Worker(r,o)}if(!n&&typeof CESIUM_WORKERS<"u"){let a=` + importScripts("${N3(CESIUM_WORKERS)}"); CesiumWorkers["${i}"](); - `;return r=wO(a),new Worker(r,o)}if(r=e,n||(r=sn(`${ca._workerModulePrefix+i}.js`)),!zt.supportsEsmWebWorkers())throw new de("This browser is not supported. Please update your browser to continue.");return o.type="module",new Worker(r,o)}async function dRe(e,t){let n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!zt.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new de(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=sn(t.fallbackModulePath),n}n.wasmBinaryFile=sn(t.wasmBinaryFile);let i=await Ge.fetchArrayBuffer({url:n.wasmBinaryFile});return n.wasmBinary=i,n}function ca(e,t){this._workerPath=e,this._maximumActiveTasks=y(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._nextID=0,this._webAssemblyPromise=void 0}var uRe=(e,t,n,i)=>{let o=({data:r})=>{if(r.id===t){if(l(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new de(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new fe(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),FO.raiseEvent(s),i(s)}else FO.raiseEvent(),n(r.result);e.removeEventListener("message",o)}};return o},mRe=[];async function hRe(e,t,n){let i=await Promise.resolve(bee());l(n)?i||(n.length=0):n=mRe;let o=e._nextID++,r=new Promise((s,a)=>{e._worker.addEventListener("message",uRe(e._worker,o,s,a))});return e._worker.postMessage({id:o,baseUrl:sn.getCesiumBaseUrl().url,parameters:t,canTransferArrayBuffer:i},n),r}async function fRe(e,t,n){++e._activeTasks;try{let i=await hRe(e,t,n);return--e._activeTasks,i}catch(i){throw--e._activeTasks,i}}ca.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=AO(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return fRe(this,e,t)};ca.prototype.initWebAssemblyModule=async function(e){if(l(this._webAssemblyPromise))return this._webAssemblyPromise;let t=async()=>{let n=this._worker=AO(this._workerPath),i=await dRe(this,e),o=await Promise.resolve(bee()),r,s=i.wasmBinary;l(s)&&o&&(r=[s]);let a=new Promise((c,d)=>{n.onmessage=function({data:u}){l(u)?c(u.result):d(new de("Could not configure wasm module"))}});return n.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:i}},r),a};return this._webAssemblyPromise=t(),this._webAssemblyPromise};ca.prototype.isDestroyed=function(){return!1};ca.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),me(this)};ca.taskCompletedEvent=FO;ca._defaultWorkerModulePrefix="Workers/";ca._workerModulePrefix=ca._defaultWorkerModulePrefix;ca._canTransferArrayBuffer=void 0;var bi=ca;function Cp(){}Cp._transcodeTaskProcessor=new bi("transcodeKTX2",Number.POSITIVE_INFINITY);Cp._readyPromise=void 0;function pRe(){let e=Cp._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(t){if(t)return Cp._transcodeTaskProcessor;throw new de("KTX2 transcoder could not be initialized.")});Cp._readyPromise=e}Cp.transcode=function(e,t){return l(Cp._readyPromise)||pRe(),Cp._readyPromise.then(function(n){let i=e;e instanceof ArrayBuffer&&(i=new Uint8Array(e));let o={supportedTargetFormats:t,ktx2Buffer:i};return n.scheduleTask(o,[i.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]);for(let r=0;r{let o=({data:r})=>{if(r.id===t){if(l(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new ce(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new fe(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),k3.raiseEvent(s),i(s)}else k3.raiseEvent(),n(r.result);e.removeEventListener("message",o)}};return o},ZRe=[];async function GRe(e,t,n){let i=await Promise.resolve(Vee());l(n)?i||(n.length=0):n=ZRe;let o=e._nextID++,r=new Promise((s,a)=>{e._worker.addEventListener("message",RRe(e._worker,o,s,a))});return e._worker.postMessage({id:o,baseUrl:sn.getCesiumBaseUrl().url,parameters:t,canTransferArrayBuffer:i},n),r}async function ERe(e,t,n){++e._activeTasks;try{let i=await GRe(e,t,n);return--e._activeTasks,i}catch(i){throw--e._activeTasks,i}}ma.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=U3(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return ERe(this,e,t)};ma.prototype.initWebAssemblyModule=async function(e){if(l(this._webAssemblyPromise))return this._webAssemblyPromise;let t=async()=>{let n=this._worker=U3(this._workerPath),i=await LRe(this,e),o=await Promise.resolve(Vee()),r,s=i.wasmBinary;l(s)&&o&&(r=[s]);let a=new Promise((c,d)=>{n.onmessage=function({data:u}){l(u)?c(u.result):d(new ce("Could not configure wasm module"))}});return n.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:i}},r),a};return this._webAssemblyPromise=t(),this._webAssemblyPromise};ma.prototype.isDestroyed=function(){return!1};ma.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),me(this)};ma.taskCompletedEvent=k3;ma._defaultWorkerModulePrefix="Workers/";ma._workerModulePrefix=ma._defaultWorkerModulePrefix;ma._canTransferArrayBuffer=void 0;var xi=ma;function Rp(){}Rp._transcodeTaskProcessor=new xi("transcodeKTX2",Number.POSITIVE_INFINITY);Rp._readyPromise=void 0;function IRe(){let e=Rp._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(t){if(t)return Rp._transcodeTaskProcessor;throw new ce("KTX2 transcoder could not be initialized.")});Rp._readyPromise=e}Rp.transcode=function(e,t){return l(Rp._readyPromise)||IRe(),Rp._readyPromise.then(function(n){let i=e;e instanceof ArrayBuffer&&(i=new Uint8Array(e));let o={supportedTargetFormats:t,ktx2Buffer:i};return n.scheduleTask(o,[i.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]);for(let r=0;rs.x&&h.clone(n,s),wa.y&&h.clone(n,a),Ac.z&&h.clone(n,c)}let m=h.magnitudeSquared(h.subtract(s,i,ha)),p=h.magnitudeSquared(h.subtract(a,o,ha)),g=h.magnitudeSquared(h.subtract(c,r,ha)),f=i,x=s,_=m;p>_&&(_=p,f=o,x=a),g>_&&(_=g,f=r,x=c);let C=j3;C.x=(f.x+x.x)*.5,C.y=(f.y+x.y)*.5,C.z=(f.z+x.z)*.5;let V=h.magnitudeSquared(h.subtract(x,C,ha)),L=Math.sqrt(V),Z=q3;Z.x=i.x,Z.y=o.y,Z.z=r.z;let G=$3;G.x=s.x,G.y=a.y,G.z=c.z;let I=h.midpoint(Z,G,eY),v=0;for(u=0;uv&&(v=P);let w=h.magnitudeSquared(h.subtract(n,C,ha));if(w>V){let A=Math.sqrt(w);L=(L+A)*.5,V=L*L;let b=A-L;C.x=(L*C.x+b*n.x)/A,C.y=(L*C.y+b*n.y)/A,C.z=(L*C.z+b*n.z)/A}}return Lc.x&&h.clone(o,c),bd.y&&h.clone(o,d),Ru.z&&h.clone(o,u)}let g=h.magnitudeSquared(h.subtract(c,r,ha)),f=h.magnitudeSquared(h.subtract(d,s,ha)),x=h.magnitudeSquared(h.subtract(u,a,ha)),_=r,C=c,V=g;f>V&&(V=f,_=s,C=d),x>V&&(V=x,_=a,C=u);let L=j3;L.x=(_.x+C.x)*.5,L.y=(_.y+C.y)*.5,L.z=(_.z+C.z)*.5;let Z=h.magnitudeSquared(h.subtract(C,L,ha)),G=Math.sqrt(Z),I=q3;I.x=r.x,I.y=s.y,I.z=a.z;let v=$3;v.x=c.x,v.y=d.y,v.z=u.z;let P=h.midpoint(I,v,eY),w=0;for(p=0;pw&&(w=A);let b=h.magnitudeSquared(h.subtract(o,L,ha));if(b>Z){let R=Math.sqrt(b);G=(G+R)*.5,Z=G*G;let E=R-G;L.x=(G*L.x+E*o.x)/R,L.y=(G*L.y+E*o.y)/R,L.z=(G*L.z+E*o.z)/R}}return Ga.x&&h.clone(i,a),Ac.y&&h.clone(i,c),bd.z&&h.clone(i,d)}let p=h.magnitudeSquared(h.subtract(a,o,ha)),g=h.magnitudeSquared(h.subtract(c,r,ha)),f=h.magnitudeSquared(h.subtract(d,s,ha)),x=o,_=a,C=p;g>C&&(C=g,x=r,_=c),f>C&&(C=f,x=s,_=d);let V=j3;V.x=(x.x+_.x)*.5,V.y=(x.y+_.y)*.5,V.z=(x.z+_.z)*.5;let L=h.magnitudeSquared(h.subtract(_,V,ha)),Z=Math.sqrt(L),G=q3;G.x=o.x,G.y=r.y,G.z=s.z;let I=$3;I.x=a.x,I.y=c.y,I.z=d.z;let v=h.midpoint(G,I,eY),P=0;for(m=0;mP&&(P=w);let A=h.magnitudeSquared(h.subtract(i,V,ha));if(A>L){let b=Math.sqrt(A);Z=(Z+b)*.5,L=Z*Z;let R=b-Z;V.x=(Z*V.x+R*i.x)/b,V.y=(Z*V.y+R*i.y)/b,V.z=(Z*V.z+R*i.z)/b}}return Z=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let d=(o+c+s)*.5,u=h.multiplyByScalar(a,(-o+d)/c,BRe);return h.add(u,i,u),h.clone(u,n.center),n.radius=d,n};var ORe=new h;bn.expand=function(e,t,n){n=bn.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,ORe));return i>n.radius&&(n.radius=i),n};bn.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?zt.OUTSIDE:r>1^-(e&1)}_o.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a>11,u=c>>5&o,m=c&i,p=3*a;t[p]=d*r,t[p+1]=u*s,t[p+2]=m*r}return t};var An=_o;var nPt=T(S(),1);var Mee=new h,Nee=new h,kee=new h;function tZe(e,t,n,i,o){l(o)||(o=new h);let r,s,a,c,d,u,m,p;if(l(t.z)){if(h.equalsEpsilon(e,t,W.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,W.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,W.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,Mee),s=h.subtract(i,t,Nee),a=h.subtract(e,t,kee),c=h.dot(r,r),d=h.dot(r,s),u=h.dot(r,a),m=h.dot(s,s),p=h.dot(s,a)}else{if(D.equalsEpsilon(e,t,W.EPSILON14))return h.clone(h.UNIT_X,o);if(D.equalsEpsilon(e,n,W.EPSILON14))return h.clone(h.UNIT_Y,o);if(D.equalsEpsilon(e,i,W.EPSILON14))return h.clone(h.UNIT_Z,o);r=D.subtract(n,t,Mee),s=D.subtract(i,t,Nee),a=D.subtract(e,t,kee),c=D.dot(r,r),d=D.dot(r,s),u=D.dot(r,a),m=D.dot(s,s),p=D.dot(s,a)}o.y=m*u-d*p,o.z=c*p-d*u;let g=c*m-d*d;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var yx=tZe;var sPt=T(S(),1);function nf(){this.high=h.clone(h.ZERO),this.low=h.clone(h.ZERO)}nf.encode=function(e,t){l(t)||(t={high:0,low:0});let n;return e>=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var Zp={high:0,low:0};nf.fromCartesian=function(e,t){l(t)||(t=new nf);let n=t.high,i=t.low;return nf.encode(e.x,Zp),n.x=Zp.high,i.x=Zp.low,nf.encode(e.y,Zp),n.y=Zp.high,i.y=Zp.low,nf.encode(e.z,Zp),n.z=Zp.high,i.z=Zp.low,t};var oY=new nf;nf.writeElements=function(e,t,n){nf.fromCartesian(e,oY);let i=oY.high,o=oY.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z};var Hn=nf;var vPt=T(S(),1);var lPt=T(S(),1);var rY={};rY.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function Uee(e,t,n){let i=e+t;return W.sign(e)!==W.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))d&&d/c0?[a/e,n/a]:[n/a,a/e]};var Fc=rY;var gPt=T(S(),1);var mPt=T(S(),1);var aY={};aY.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function sY(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,d=r*a,u=r*r,m=s*s,p=o*s-u,g=o*a-r*s,f=r*a-m,x=4*p*f-g*g,_,C;if(x<0){let H,J,te;u*d>=c*m?(H=o,J=p,te=-2*r*p+o*g):(H=a,J=f,te=-a*g+2*s*f);let q=-(te<0?-1:1)*Math.abs(H)*Math.sqrt(-x);C=-te+q;let ee=C/2,pe=ee<0?-Math.pow(-ee,1/3):Math.pow(ee,1/3),_e=C===q?-pe:-J/pe;return _=J<=0?pe+_e:-te/(pe*pe+_e*_e+J),u*d>=c*m?[(_-r)/o]:[-a/(_+s)]}let V=p,L=-2*r*p+o*g,Z=f,G=-a*g+2*s*f,I=Math.sqrt(x),v=Math.sqrt(3)/2,P=Math.abs(Math.atan2(o*I,-L)/3);_=2*Math.sqrt(-V);let w=Math.cos(P);C=_*w;let A=_*(-w/2-v*Math.sin(P)),b=C+A>2*r?C-r:A-r,R=o,E=b/R;P=Math.abs(Math.atan2(a*I,-G)/3),_=2*Math.sqrt(-Z),w=Math.cos(P),C=_*w,A=_*(-w/2-v*Math.sin(P));let X=-a,F=C+A<2*s?C+s:A+s,N=X/F,O=R*F,U=-b*F-R*X,Y=b*X,k=(s*U-r*Y)/(-r*U+s*O);return E<=k?E<=N?k<=N?[E,k,N]:[E,N,k]:[N,E,k]:E<=N?[k,E,N]:k<=N?[k,N,E]:[N,k,E]}aY.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return Fc.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=Fc.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return sY(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):sY(e,t,0,i);if(i===0)return o=Fc.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return sY(e,t,n,i)};var xx=aY;var cY={};cY.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,d=n*n,u=d*n,m=i*i,p=m*i,g=o*o,f=g*o;return a*d*m-4*c*p-4*e*u*m+18*e*t*n*p-27*r*m*m+256*s*f+o*(18*c*n*i-4*a*u+16*e*d*d-80*e*t*d*i-6*e*a*m+144*r*n*m)+g*(144*e*a*n-27*a*a-128*r*d-192*r*t*i)};function Lm(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=xx.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let d=-e/4,u=c[c.length-1];if(Math.abs(u)=0&&g>=0){let x=Math.sqrt(p),_=Math.sqrt(g);return[d-_,d-x,d+x,d+_]}else{if(p>=0&&g<0)return f=Math.sqrt(p),[d-f,d+f];if(p<0&&g>=0)return f=Math.sqrt(g),[d-f,d+f]}}return[]}else if(u>0){let m=Math.sqrt(u),p=(r+u-s/m)/2,g=(r+u+s/m)/2,f=Fc.computeRealRoots(1,m,p),x=Fc.computeRealRoots(1,-m,g);return f.length!==0?(f[0]+=d,f[1]+=d,x.length!==0?(x[0]+=d,x[1]+=d,f[1]<=x[0]?[f[0],f[1],x[0],x[1]]:x[1]<=f[0]?[x[0],x[1],f[0],f[1]]:f[0]>=x[0]&&f[1]<=x[1]?[x[0],f[0],f[1],x[1]]:x[0]>=f[0]&&x[1]<=f[1]?[f[0],x[0],x[1],f[1]]:f[0]>x[0]&&f[0]0){let m=u[0],p=t-m,g=p*p,f=e/2,x=p/2,_=g-4*i,C=g+4*Math.abs(i),V=s-4*m,L=s+4*Math.abs(m),Z,G;if(m<0||_*L=b[0]&&A[1]<=b[1]?[b[0],A[0],A[1],b[1]]:b[0]>=A[0]&&b[1]<=A[1]?[A[0],b[0],b[1],A[1]]:A[0]>b[0]&&A[0]u)||(p=h.cross(m,a,Bee),f=h.dot(s,p),f<0||g+f>u))return;x=h.dot(c,p)/u}else{if(Math.abs(u)1||(p=h.cross(m,a,Bee),f=h.dot(s,p)*_,f<0||g+f>1))return;x=h.dot(c,p)*_}return x};No.rayTriangle=function(e,t,n,i,o,r){let s=No.rayTriangleParametric(e,t,n,i,o);if(!(!l(s)||s<0))return l(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var oZe=new gn;No.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=oZe;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=No.rayTriangleParametric(a,n,i,o,r);if(!(!l(c)||c<0||c>h.distance(e,t)))return l(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function rZe(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,d=(-t-a)*s;return cs))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var cZe=new h,lZe=new h;No.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,cZe),o=h.multiplyComponents(n,e.direction,lZe),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,d,u,m;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),d=c*a,pd){u=s*s-d,m=-s+Math.sqrt(u);let f=m/c,x=a/m;return f0?g.push(new h(i,o*w,o*-R)):R!==0?(g.push(new h(i,o*w,o*-R)),g.push(new h(i,o*w,o*R)),++P):g.push(new h(i,o*w,o*R))}return g};var lY=new h,Oee=new h,Yee=new h,MN=new h,dZe=new h,uZe=new $,mZe=new $,hZe=new $,fZe=new $,pZe=new $,Hee=new $,zee=new $,Kee=new h,bZe=new h,gZe=new he;No.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let I=t.geodeticSurfaceNormal(n,lY);if(h.dot(i,I)>=0)return n}let o=l(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,lY),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,MN),c=h.normalize(h.cross(a,s,Oee),Oee),d=h.normalize(h.cross(s,c,Yee),Yee),u=uZe;u[0]=s.x,u[1]=s.y,u[2]=s.z,u[3]=c.x,u[4]=c.y,u[5]=c.z,u[6]=d.x,u[7]=d.y,u[8]=d.z;let m=$.transpose(u,mZe),p=$.fromScale(t.radii,hZe),g=$.fromScale(t.oneOverRadii,fZe),f=pZe;f[0]=0,f[1]=-i.z,f[2]=i.y,f[3]=i.z,f[4]=0,f[5]=-i.x,f[6]=-i.y,f[7]=i.x,f[8]=0;let x=$.multiply($.multiply(m,g,Hee),f,Hee),_=$.multiply($.multiply(x,p,zee),u,zee),C=$.multiplyByVector(x,n,dZe),V=No.quadraticVectorExpression(_,h.negate(C,lY),0,0,1),L,Z,G=V.length;if(G>0){let I=h.clone(h.ZERO,bZe),v=Number.NEGATIVE_INFINITY;for(let w=0;wv&&(v=b,I=h.clone(L,I))}let P=t.cartesianToCartographic(I,gZe);return v=W.clamp(v,0,1),Z=h.magnitude(h.subtract(I,n,MN))*Math.sqrt(1-v*v),Z=o?-Z:Z,P.height=Z,t.cartographicToCartesian(P,new h)}};var yZe=new h;No.lineSegmentPlane=function(e,t,n,i){l(i)||(i=new h);let o=h.subtract(t,e,yZe),r=n.normal,s=h.dot(r,o);if(Math.abs(s)1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};No.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,d=0;d+=s?1:0,d+=a?1:0,d+=c?1:0;let u,m;if((d===1||d===2)&&(u=new h,m=new h),d===1){if(s)return No.lineSegmentPlane(e,t,i,u),No.lineSegmentPlane(e,n,i,m),{positions:[e,t,n,u,m],indices:[0,3,4,1,2,4,1,4,3]};if(a)return No.lineSegmentPlane(t,n,i,u),No.lineSegmentPlane(t,e,i,m),{positions:[e,t,n,u,m],indices:[1,3,4,2,0,4,2,4,3]};if(c)return No.lineSegmentPlane(n,e,i,u),No.lineSegmentPlane(n,t,i,m),{positions:[e,t,n,u,m],indices:[2,3,4,0,1,4,0,4,3]}}else if(d===2)if(s)if(a){if(!c)return No.lineSegmentPlane(e,n,i,u),No.lineSegmentPlane(t,n,i,m),{positions:[e,t,n,u,m],indices:[0,1,4,0,4,3,2,3,4]}}else return No.lineSegmentPlane(n,t,i,u),No.lineSegmentPlane(e,t,i,m),{positions:[e,t,n,u,m],indices:[2,0,4,2,4,3,1,3,4]};else return No.lineSegmentPlane(t,e,i,u),No.lineSegmentPlane(n,e,i,m),{positions:[e,t,n,u,m],indices:[1,2,4,1,4,3,0,3,4]}};var ni=No;var kPt=T(S(),1);function ks(e,t){this.normal=h.clone(e),this.distance=t}ks.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return l(n)?(h.clone(t,n.normal),n.distance=i,n):new ks(t,i)};var xZe=new h;ks.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,xZe),i=e.w;return l(t)?(h.clone(n,t.normal),t.distance=i,t):new ks(n,i)};ks.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var _Ze=new h;ks.projectPointOntoPlane=function(e,t,n){l(n)||(n=new h);let i=ks.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,_Ze);return h.subtract(t,o,n)};var TZe=new M,SZe=new re,CZe=new h;ks.transform=function(e,t,n){let i=e.normal,o=e.distance,r=M.inverseTranspose(t,TZe),s=re.fromElements(i.x,i.y,i.z,o,SZe);s=M.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,CZe);return s=re.divideByScalar(s,h.magnitude(a),s),ks.fromCartesian4(s,n)};ks.clone=function(e,t){return l(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new ks(e.normal,e.distance)};ks.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};ks.ORIGIN_XY_PLANE=Object.freeze(new ks(h.UNIT_Z,0));ks.ORIGIN_YZ_PLANE=Object.freeze(new ks(h.UNIT_X,0));ks.ORIGIN_ZX_PLANE=Object.freeze(new ks(h.UNIT_Y,0));var un=ks;var OPt=T(S(),1);var dY={};dY.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!l(n)){n=0;let a=0,c=t[a];for(;an&&(n=c),++a,c=t[a]}let r=[];for(let a=0;ai&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};dY.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(b,R,E,X){for(;R.length>=1;){let F=R[R.length-1];if(R.splice(R.length-1,1),b[F].numLiveTriangles>0)return F}for(;o0)return++o,o-1;++o}return-1}function s(b,R,E,X,F,N,O){let U=-1,Y,k=-1,H=0;for(;Hk||k===-1)&&(k=Y,U=J)),++H}return U===-1?r(X,N,b,O):U}let a=t.length,c=0,d=0,u=t[d],m=a;if(l(n))c=n+1;else{for(;dc&&(c=u),++d,u=t[d];if(c===-1)return 0;++c}let p=[],g;for(g=0;gi&&(L.timeStamp=_,++_),++d}x=s(t,i,C,p,_,V,c)}return I};var SR=dY;var Ac={};function YN(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function VZe(e){let t=e.length,n=t/3*6,i=ke.createTypedArray(t,n),o=0;for(let r=0;r=3){let n=(t-2)*6,i=ke.createTypedArray(t,n);YN(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r0){let t=e.length-1,n=(t-1)*6,i=ke.createTypedArray(t,n),o=e[0],r=0;for(let s=1;so&&(o=n[r]);e.indices=SR.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function jee(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)){let i=e[n];t[n]=new Ze({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function ZZe(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];for(let r=0;r=W.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=jee(e.attributes),a=e.indices,c=a.length,d;e.primitiveType===Me.TRIANGLES?d=3:e.primitiveType===Me.LINES?d=2:e.primitiveType===Me.POINTS&&(d=1);for(let u=0;u=W.SIXTY_FOUR_KILOBYTES&&(t.push(new ht({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=jee(e.attributes))}o.length!==0&&t.push(new ht({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var qee=new h,GZe=new he;Ac.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=l(o)?o:new Ei;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),d=0;for(let u=0;u_&&(_=V)}return new ht({attributes:u,indices:f,primitiveType:d,boundingSphere:l(x)?new de(x,_):void 0})}Ac.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r0&&o.push(fY(t,"geometry")),n.length>0&&(o.push(fY(n,"westHemisphereGeometry")),o.push(fY(n,"eastHemisphereGeometry"))),o};var bu=new h,CR=new h,eC=new h,tC=new h;Ac.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),d;for(d=0;d0){for(u=0;u3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;oo?i>r?s=W.sign(e.y):s=W.sign(n.y):o>r?s=W.sign(t.y):s=W.sign(n.y);let a=s<0;U0(e,a),U0(t,a),U0(n,a)}var nte=new h;function gu(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,nte),e.y/(e.y-t.y),nte),n),h.clone(n,i),U0(n,!0),U0(i,!1)}var Tx=new h,Sx=new h,Cx=new h,Vx=new h,pY={positions:new Array(7),indices:new Array(3*3)};function UZe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;kZe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=pY.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(gu(e,t,Tx,Cx),gu(e,n,Sx,Vx),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(gu(t,n,Tx,Cx),gu(t,e,Sx,Vx),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(gu(n,e,Tx,Cx),gu(n,t,Sx,Vx),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(gu(n,e,Tx,Cx),gu(n,t,Sx,Vx),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(gu(t,n,Tx,Cx),gu(t,e,Sx,Vx),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(gu(e,t,Tx,Cx),gu(e,n,Sx,Vx),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=pY.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=Tx,c[4]=Sx,c[5]=Cx,c[6]=Vx,c.length=7),pY}function ite(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&l(n[o])&&l(n[o].values)){let r=n[o];r.values=Q.createTypedArray(r.componentDatatype,r.values)}let i=ht.computeNumberOfVertices(e);return e.indices=ke.createTypedArray(i,e.indices),t&&(e.boundingSphere=de.fromVertices(n.position.values)),e}function iC(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];n[i]=new Ze({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new ht({attributes:n,indices:[],primitiveType:e.primitiveType})}function xY(e,t,n){let i=l(e.geometry.boundingSphere);t=ite(t,i),n=ite(n,i),l(n)&&!l(t)?e.geometry=n:!l(n)&&l(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function _Y(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,d,u,m,p){let g=e.fromArray(d,r*t,n),f=e.fromArray(d,s*t,i),x=e.fromArray(d,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(f,c.y,f),e.multiplyByScalar(x,c.z,x);let _=e.add(g,f,g);e.add(_,x,_),p&&e.normalize(_,_),e.pack(_,u,m*t)}}var DZe=_Y(re,4),ON=_Y(h,3),lte=_Y(D,2),BZe=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,d=o[n]*i.z;r[s]=a+c+d>W.EPSILON6?1:0},LR=new h,bY=new h,gY=new h,OZe=new h;function DN(e,t,n,i,o,r,s,a,c,d,u,m,p,g,f,x){if(!l(r)&&!l(s)&&!l(a)&&!l(c)&&!l(d)&&g===0)return;let _=h.fromArray(o,e*3,LR),C=h.fromArray(o,t*3,bY),V=h.fromArray(o,n*3,gY),L=yx(i,_,C,V,OZe);if(l(L)){if(l(r)&&ON(e,t,n,L,r,m.normal.values,x,!0),l(d)){let Z=h.fromArray(d,e*3,LR),G=h.fromArray(d,t*3,bY),I=h.fromArray(d,n*3,gY);h.multiplyByScalar(Z,L.x,Z),h.multiplyByScalar(G,L.y,G),h.multiplyByScalar(I,L.z,I);let v;!h.equals(Z,h.ZERO)||!h.equals(G,h.ZERO)||!h.equals(I,h.ZERO)?(v=h.add(Z,G,Z),h.add(v,I,v),h.normalize(v,v)):(v=LR,v.x=0,v.y=0,v.z=0),h.pack(v,m.extrudeDirection.values,x*3)}if(l(u)&&BZe(e,t,n,L,u,m.applyOffset.values,x),l(s)&&ON(e,t,n,L,s,m.tangent.values,x,!0),l(a)&&ON(e,t,n,L,a,m.bitangent.values,x,!0),l(c)&<e(e,t,n,L,c,m.st.values,x),g>0)for(let Z=0;Z3){let X=E.positions,F=E.indices,N=F.length;for(let O=0;O0)continue;let c=h.unpack(i,s,mte);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let d=h.unpack(o,s,yY);(a.y<0&&d.y>0||a.y>0&&d.y<0)&&(s+30||de.intersectPlane(n,un.ORIGIN_ZX_PLANE)!==zt.INTERSECTING))return e;if(t.geometryType!==pu.NONE)switch(t.geometryType){case pu.POLYLINES:eGe(e);break;case pu.TRIANGLES:ote(e);break;case pu.LINES:rte(e);break}else NZe(t),t.primitiveType===Me.TRIANGLES?ote(e):t.primitiveType===Me.LINES&&rte(e);return e};var Mn=Ac;var Svt=T(S(),1);function RR(e,t,n,i,o,r,s,a,c,d,u){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=s,this._internalFormat=o,this._pixelFormat=r,this._size=a,this._preMultiplyAlpha=c,this._flipY=d,this._initialized=u}Object.defineProperties(RR.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}});RR.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,{width:r,height:s}=i,a=this._context._gl,c=this._textureTarget,d=this._targetFace;a.activeTexture(a.TEXTURE0),a.bindTexture(c,this._texture);let u=i.arrayBufferView,m=this._size,p=this._pixelFormat,g=this._internalFormat,f=this._pixelDatatype,x=this._preMultiplyAlpha,_=this._flipY,C=4;l(u)&&(C=st.alignmentInBytes(p,f,r)),a.pixelStorei(a.UNPACK_ALIGNMENT,C),o?a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.NONE):a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.BROWSER_DEFAULT_WEBGL);let V=!1;if(!this._initialized){let L;t===0&&n===0&&r===m&&s===m?(l(u)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),_&&(u=st.flipY(u,p,f,m,m)),L=u):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,_),L=i),V=!0):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),L=st.createTypedArray(p,f,m,m)),a.texImage2D(d,0,g,m,m,0,p,qe.toWebGLConstant(f,this._context),L),this._initialized=!0}V||(l(u)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),_&&(u=st.flipY(u,p,f,r,s)),a.texSubImage2D(d,0,t,n,r,s,p,qe.toWebGLConstant(f,this._context),u)):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,_),a.texSubImage2D(d,0,t,n,p,qe.toWebGLConstant(f,this._context),i))),a.bindTexture(c,null)};RR.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._size),r=y(r,this._size);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};RR.prototype.copyMipmapFromFramebuffer=function(e,t,n,i,o){e=y(e,0),t=y(t,0),n=y(n,this._size),i=y(i,this._size),o=y(o,0);let r=this._context._gl,s=this._textureTarget;r.activeTexture(r.TEXTURE0),r.bindTexture(s,this._texture),r.copyTexImage2D(this._targetFace,o,this._internalFormat,e,t,n,i,0),r.bindTexture(s,null),this._initialized=!0};var ZR=RR;var Lvt=T(S(),1);var HN={DONT_CARE:ie.DONT_CARE,FASTEST:ie.FASTEST,NICEST:ie.NICEST,validate:function(e){return e===HN.DONT_CARE||e===HN.FASTEST||e===HN.NICEST}},rf=Object.freeze(HN);var Uvt=T(S(),1);var Gvt=T(S(),1);var zN={NEAREST:ie.NEAREST,LINEAR:ie.LINEAR};zN.validate=function(e){return e===zN.NEAREST||e===zN.LINEAR};var bi=Object.freeze(zN);var Xvt=T(S(),1);var D0={NEAREST:ie.NEAREST,LINEAR:ie.LINEAR,NEAREST_MIPMAP_NEAREST:ie.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:ie.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:ie.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:ie.LINEAR_MIPMAP_LINEAR};D0.validate=function(e){return e===D0.NEAREST||e===D0.LINEAR||e===D0.NEAREST_MIPMAP_NEAREST||e===D0.LINEAR_MIPMAP_NEAREST||e===D0.NEAREST_MIPMAP_LINEAR||e===D0.LINEAR_MIPMAP_LINEAR};var qt=Object.freeze(D0);var vvt=T(S(),1);var KN={CLAMP_TO_EDGE:ie.CLAMP_TO_EDGE,REPEAT:ie.REPEAT,MIRRORED_REPEAT:ie.MIRRORED_REPEAT,validate:function(e){return e===KN.CLAMP_TO_EDGE||e===KN.REPEAT||e===KN.MIRRORED_REPEAT}},Ln=Object.freeze(KN);function GR(e){e=y(e,y.EMPTY_OBJECT);let{wrapS:t=Ln.CLAMP_TO_EDGE,wrapT:n=Ln.CLAMP_TO_EDGE,minificationFilter:i=qt.LINEAR,magnificationFilter:o=bi.LINEAR,maximumAnisotropy:r=1}=e;this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(GR.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});GR.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};GR.NEAREST=Object.freeze(new GR({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:qt.NEAREST,magnificationFilter:bi.NEAREST}));var $t=GR;var ewt=T(S(),1);function tGe(e,t,n,i){let o=l(t.vertexBuffer),r=l(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,Q.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let d=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(d,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(d),this.instanceDivisor>0&&(i.glVertexAttribDivisor(d,this.instanceDivisor),i._vertexAttribDivisors[d]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function fte(e,t,n){for(let i=0;i0&&(c=!0),l(s[r].value)&&(d=!0);let m;t.vertexArrayObject&&(m=t.glCreateVertexArray(),t.glBindVertexArray(m),fte(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=d,this._context=t,this._gl=n,this._vao=m,this._attributes=s,this._indexBuffer=o}function hte(e){return e.values.length/e.componentsPerAttribute}function nGe(e){return Q.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function iGe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)&&(o.push(n),e[n].componentDatatype===Q.DOUBLE&&(e[n].componentDatatype=Q.FLOAT,e[n].values=Q.createTypedArray(Q.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=hte(e[o[0]]),t=1;t0){let d=Q.getSizeInBytes(e[o[0]].componentDatatype),u=a%d;u!==0&&(a+=d-u);let m=r*a,p=new ArrayBuffer(m),g={};for(t=0;t=W.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=_t.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:ke.UNSIGNED_INT}):p=_t.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:ke.UNSIGNED_SHORT})),new Gp({context:t,attributes:u,indexBuffer:p})};Object.defineProperties(Gp.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});Gp.prototype.getAttribute=function(e){return this._attributes[e]};function oGe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=At.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function rGe(e,t){let n=e._attributes,i=n.length;for(let o=0;o1/pi. * * @alias czm_oneOverPi @@ -197,7 +197,7 @@ const float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto i * float pi = 1.0 / czm_oneOverPi; */ const float czm_oneOverPi = 0.3183098861837907; -`;var C2t=T(S(),1),GR=`/** +`;var Ywt=T(S(),1),kR=`/** * A built-in GLSL floating-point constant for 1/2pi. * * @alias czm_oneOverTwoPi @@ -213,7 +213,7 @@ const float czm_oneOverPi = 0.3183098861837907; * float pi = 2.0 * czm_oneOverTwoPi; */ const float czm_oneOverTwoPi = 0.15915494309189535; -`;var L2t=T(S(),1),ER=`/** +`;var zwt=T(S(),1),UR=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} * * @name czm_passCesium3DTile @@ -222,7 +222,7 @@ const float czm_oneOverTwoPi = 0.15915494309189535; * @see czm_pass */ const float czm_passCesium3DTile = 4.0; -`;var Z2t=T(S(),1),IR=`/** +`;var Jwt=T(S(),1),DR=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} * * @name czm_passCesium3DTileClassification @@ -231,7 +231,7 @@ const float czm_passCesium3DTile = 4.0; * @see czm_pass */ const float czm_passCesium3DTileClassification = 5.0; -`;var E2t=T(S(),1),XR=`/** +`;var jwt=T(S(),1),BR=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} * * @name czm_passCesium3DTileClassificationIgnoreShow @@ -240,7 +240,7 @@ const float czm_passCesium3DTileClassification = 5.0; * @see czm_pass */ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; -`;var X2t=T(S(),1),WR=`/** +`;var $wt=T(S(),1),OR=`/** * The automatic GLSL constant for {@link Pass#CLASSIFICATION} * * @name czm_passClassification @@ -249,7 +249,7 @@ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; * @see czm_pass */ const float czm_passClassification = 7.0; -`;var P2t=T(S(),1),PR=`/** +`;var tFt=T(S(),1),YR=`/** * The automatic GLSL constant for {@link Pass#COMPUTE} * * @name czm_passCompute @@ -258,7 +258,7 @@ const float czm_passClassification = 7.0; * @see czm_pass */ const float czm_passCompute = 1.0; -`;var w2t=T(S(),1),vR=`/** +`;var iFt=T(S(),1),HR=`/** * The automatic GLSL constant for {@link Pass#ENVIRONMENT} * * @name czm_passEnvironment @@ -267,7 +267,7 @@ const float czm_passCompute = 1.0; * @see czm_pass */ const float czm_passEnvironment = 0.0; -`;var A2t=T(S(),1),wR=`/** +`;var rFt=T(S(),1),zR=`/** * The automatic GLSL constant for {@link Pass#GLOBE} * * @name czm_passGlobe @@ -276,7 +276,7 @@ const float czm_passEnvironment = 0.0; * @see czm_pass */ const float czm_passGlobe = 2.0; -`;var N2t=T(S(),1),FR=`/** +`;var aFt=T(S(),1),KR=`/** * The automatic GLSL constant for {@link Pass#OPAQUE} * * @name czm_passOpaque @@ -285,7 +285,7 @@ const float czm_passGlobe = 2.0; * @see czm_pass */ const float czm_passOpaque = 7.0; -`;var U2t=T(S(),1),AR=`/** +`;var lFt=T(S(),1),JR=`/** * The automatic GLSL constant for {@link Pass#OVERLAY} * * @name czm_passOverlay @@ -294,7 +294,7 @@ const float czm_passOpaque = 7.0; * @see czm_pass */ const float czm_passOverlay = 10.0; -`;var B2t=T(S(),1),MR=`/** +`;var uFt=T(S(),1),QR=`/** * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} * * @name czm_passTerrainClassification @@ -303,7 +303,7 @@ const float czm_passOverlay = 10.0; * @see czm_pass */ const float czm_passTerrainClassification = 3.0; -`;var Y2t=T(S(),1),NR=`/** +`;var hFt=T(S(),1),jR=`/** * The automatic GLSL constant for {@link Pass#TRANSLUCENT} * * @name czm_passTranslucent @@ -312,7 +312,7 @@ const float czm_passTerrainClassification = 3.0; * @see czm_pass */ const float czm_passTranslucent = 8.0; -`;var H2t=T(S(),1),kR=`/** +`;var pFt=T(S(),1),qR=`/** * The automatic GLSL constant for {@link Pass#VOXELS} * * @name czm_passVoxels @@ -321,7 +321,7 @@ const float czm_passTranslucent = 8.0; * @see czm_pass */ const float czm_passVoxels = 9.0; -`;var J2t=T(S(),1),UR=`/** +`;var gFt=T(S(),1),$R=`/** * A built-in GLSL floating-point constant for Math.PI. * * @alias czm_pi @@ -337,7 +337,7 @@ const float czm_passVoxels = 9.0; * float twoPi = 2.0 * czm_pi; */ const float czm_pi = 3.141592653589793; -`;var j2t=T(S(),1),DR=`/** +`;var xFt=T(S(),1),eZ=`/** * A built-in GLSL floating-point constant for pi/4. * * @alias czm_piOverFour @@ -353,7 +353,7 @@ const float czm_pi = 3.141592653589793; * float pi = 4.0 * czm_piOverFour; */ const float czm_piOverFour = 0.7853981633974483; -`;var $2t=T(S(),1),BR=`/** +`;var TFt=T(S(),1),tZ=`/** * A built-in GLSL floating-point constant for pi/6. * * @alias czm_piOverSix @@ -369,7 +369,7 @@ const float czm_piOverFour = 0.7853981633974483; * float pi = 6.0 * czm_piOverSix; */ const float czm_piOverSix = 0.5235987755982988; -`;var tPt=T(S(),1),OR=`/** +`;var CFt=T(S(),1),nZ=`/** * A built-in GLSL floating-point constant for pi/3. * * @alias czm_piOverThree @@ -385,7 +385,7 @@ const float czm_piOverSix = 0.5235987755982988; * float pi = 3.0 * czm_piOverThree; */ const float czm_piOverThree = 1.0471975511965976; -`;var iPt=T(S(),1),YR=`/** +`;var LFt=T(S(),1),iZ=`/** * A built-in GLSL floating-point constant for pi/2. * * @alias czm_piOverTwo @@ -401,7 +401,7 @@ const float czm_piOverThree = 1.0471975511965976; * float pi = 2.0 * czm_piOverTwo; */ const float czm_piOverTwo = 1.5707963267948966; -`;var rPt=T(S(),1),zR=`/** +`;var ZFt=T(S(),1),oZ=`/** * A built-in GLSL floating-point constant for converting degrees to radians. * * @alias czm_radiansPerDegree @@ -417,7 +417,7 @@ const float czm_piOverTwo = 1.5707963267948966; * float rad = czm_radiansPerDegree * deg; */ const float czm_radiansPerDegree = 0.017453292519943295; -`;var aPt=T(S(),1),HR=`/** +`;var EFt=T(S(),1),rZ=`/** * The constant identifier for the 2D {@link SceneMode} * * @name czm_sceneMode2D @@ -428,7 +428,7 @@ const float czm_radiansPerDegree = 0.017453292519943295; * @see czm_sceneModeMorphing */ const float czm_sceneMode2D = 2.0; -`;var lPt=T(S(),1),KR=`/** +`;var XFt=T(S(),1),sZ=`/** * The constant identifier for the 3D {@link SceneMode} * * @name czm_sceneMode3D @@ -439,7 +439,7 @@ const float czm_sceneMode2D = 2.0; * @see czm_sceneModeMorphing */ const float czm_sceneMode3D = 3.0; -`;var uPt=T(S(),1),JR=`/** +`;var PFt=T(S(),1),aZ=`/** * The constant identifier for the Columbus View {@link SceneMode} * * @name czm_sceneModeColumbusView @@ -450,7 +450,7 @@ const float czm_sceneMode3D = 3.0; * @see czm_sceneModeMorphing */ const float czm_sceneModeColumbusView = 1.0; -`;var hPt=T(S(),1),QR=`/** +`;var wFt=T(S(),1),cZ=`/** * The constant identifier for the Morphing {@link SceneMode} * * @name czm_sceneModeMorphing @@ -461,7 +461,7 @@ const float czm_sceneModeColumbusView = 1.0; * @see czm_sceneMode3D */ const float czm_sceneModeMorphing = 0.0; -`;var pPt=T(S(),1),jR=`/** +`;var AFt=T(S(),1),lZ=`/** * A built-in GLSL floating-point constant for one solar radius. * * @alias czm_solarRadius @@ -474,7 +474,7 @@ const float czm_sceneModeMorphing = 0.0; * const float czm_solarRadius = ...; */ const float czm_solarRadius = 695500000.0; -`;var gPt=T(S(),1),qR=`/** +`;var NFt=T(S(),1),dZ=`/** * A built-in GLSL floating-point constant for 3pi/2. * * @alias czm_threePiOver2 @@ -490,7 +490,7 @@ const float czm_solarRadius = 695500000.0; * float pi = (2.0 / 3.0) * czm_threePiOver2; */ const float czm_threePiOver2 = 4.71238898038469; -`;var xPt=T(S(),1),$R=`/** +`;var UFt=T(S(),1),uZ=`/** * A built-in GLSL floating-point constant for 2pi. * * @alias czm_twoPi @@ -506,7 +506,7 @@ const float czm_threePiOver2 = 4.71238898038469; * float pi = czm_twoPi / 2.0; */ const float czm_twoPi = 6.283185307179586; -`;var TPt=T(S(),1),eZ=`/** +`;var BFt=T(S(),1),mZ=`/** * The maximum latitude, in radians, both North and South, supported by a Web Mercator * (EPSG:3857) projection. Technically, the Mercator projection is defined * for any latitude up to (but not including) 90 degrees, but it makes sense @@ -522,7 +522,7 @@ const float czm_twoPi = 6.283185307179586; * @glslConstant */ const float czm_webMercatorMaxLatitude = 1.4844222297453324; -`;var CPt=T(S(),1),tZ=`/** +`;var YFt=T(S(),1),hZ=`/** * @name czm_depthRangeStruct * @glslStruct */ @@ -531,7 +531,7 @@ struct czm_depthRangeStruct float near; float far; }; -`;var LPt=T(S(),1),nZ=`/** +`;var zFt=T(S(),1),fZ=`/** * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. * * @name czm_material @@ -553,7 +553,7 @@ struct czm_material vec3 emission; float alpha; }; -`;var ZPt=T(S(),1),iZ=`/** +`;var JFt=T(S(),1),pZ=`/** * Used as input to every material's czm_getMaterial function. * * @name czm_materialInput @@ -583,7 +583,7 @@ struct czm_materialInput float aspect; float waterMask; }; -`;var EPt=T(S(),1),oZ=`/** +`;var jFt=T(S(),1),bZ=`/** * Struct for representing a material for a {@link Model}. The model * rendering pipeline will pass this struct between material, custom shaders, * and lighting stages. This is not to be confused with {@link czm_material} @@ -628,7 +628,7 @@ struct czm_modelMaterial { // Add clearcoatF0 when KHR_materials_ior is implemented #endif }; -`;var XPt=T(S(),1),rZ=`/** +`;var $Ft=T(S(),1),gZ=`/** * Struct for representing the output of a custom vertex shader. * * @name czm_modelVertexOutput @@ -644,7 +644,7 @@ struct czm_modelVertexOutput { vec3 positionMC; float pointSize; }; -`;var PPt=T(S(),1),sZ=`/** +`;var tAt=T(S(),1),yZ=`/** * DOC_TBA * * @name czm_ray @@ -655,7 +655,7 @@ struct czm_ray vec3 origin; vec3 direction; }; -`;var wPt=T(S(),1),aZ=`/** +`;var iAt=T(S(),1),xZ=`/** * DOC_TBA * * @name czm_raySegment @@ -682,7 +682,7 @@ const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_in * @glslConstant */ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); -`;var APt=T(S(),1),cZ=`struct czm_shadowParameters +`;var rAt=T(S(),1),_Z=`struct czm_shadowParameters { #ifdef USE_CUBE_MAP_SHADOW vec3 texCoords; @@ -697,7 +697,7 @@ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); float normalShadingSmooth; float darkness; }; -`;var NPt=T(S(),1),lZ=`// See: +`;var aAt=T(S(),1),TZ=`// See: // https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ vec3 czm_acesTonemapping(vec3 color) { @@ -713,7 +713,7 @@ vec3 czm_acesTonemapping(vec3 color) { return color; } -`;var UPt=T(S(),1),dZ=`/** +`;var lAt=T(S(),1),SZ=`/** * @private */ float czm_alphaWeight(float a) @@ -724,7 +724,7 @@ float czm_alphaWeight(float a) // http://jcgt.org/published/0002/02/09/ return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0)))); } -`;var BPt=T(S(),1),uZ=`/** +`;var uAt=T(S(),1),CZ=`/** * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. * * @name czm_antialias @@ -763,7 +763,7 @@ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) { return czm_antialias(color1, color2, currentColor, dist, 0.1); } -`;var YPt=T(S(),1),mZ=`/** +`;var hAt=T(S(),1),VZ=`/** * Apply a HSB color shift to an RGB color. * * @param {vec3} rgb The color in RGB space. @@ -795,7 +795,7 @@ vec3 czm_applyHSBShift(vec3 rgb, vec3 hsbShift, bool ignoreBlackPixels) { // Convert shifted hsb back to rgb return czm_HSBToRGB(hsb); } -`;var HPt=T(S(),1),hZ=`/** +`;var pAt=T(S(),1),LZ=`/** * Approximately computes spherical coordinates given a normal. * Uses approximate inverse trigonometry for speed and consistency, * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU. @@ -813,7 +813,7 @@ vec2 czm_approximateSphericalCoordinates(vec3 normal) { float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); return vec2(latitudeApproximation, longitudeApproximation); } -`;var JPt=T(S(),1),fZ=`/** +`;var gAt=T(S(),1),RZ=`/** * Compute a rational approximation to tanh(x) * * @param {float} x A real number input @@ -823,7 +823,7 @@ float czm_approximateTanh(float x) { float x2 = x * x; return max(-1.0, min(1.0, x * (27.0 + x2) / (27.0 + 9.0 * x2))); } -`;var jPt=T(S(),1),pZ=`/** +`;var xAt=T(S(),1),ZZ=`/** * Determines if the fragment is back facing * * @name czm_backFacing @@ -836,7 +836,7 @@ bool czm_backFacing() // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494. return gl_FrontFacing == false; } -`;var $Pt=T(S(),1),bZ=`/** +`;var TAt=T(S(),1),GZ=`/** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a float expression. * @@ -907,7 +907,7 @@ vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } -`;var tvt=T(S(),1),gZ=` +`;var CAt=T(S(),1),EZ=` vec4 czm_cascadeColor(vec4 weights) { return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + @@ -915,14 +915,14 @@ vec4 czm_cascadeColor(vec4 weights) vec4(0.0, 0.0, 1.0, 1.0) * weights.z + vec4(1.0, 0.0, 1.0, 1.0) * weights.w; } -`;var ivt=T(S(),1),yZ=` +`;var LAt=T(S(),1),IZ=` uniform vec4 shadowMap_cascadeDistances; float czm_cascadeDistance(vec4 weights) { return dot(shadowMap_cascadeDistances, weights); } -`;var rvt=T(S(),1),xZ=` +`;var ZAt=T(S(),1),XZ=` uniform mat4 shadowMap_cascadeMatrices[4]; mat4 czm_cascadeMatrix(vec4 weights) @@ -932,7 +932,7 @@ mat4 czm_cascadeMatrix(vec4 weights) shadowMap_cascadeMatrices[2] * weights.z + shadowMap_cascadeMatrices[3] * weights.w; } -`;var avt=T(S(),1),_Z=` +`;var EAt=T(S(),1),WZ=` uniform vec4 shadowMap_cascadeSplits[2]; vec4 czm_cascadeWeights(float depthEye) @@ -942,7 +942,7 @@ vec4 czm_cascadeWeights(float depthEye) vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); return near * far; } -`;var lvt=T(S(),1),TZ=`float getSignedDistance(vec2 uv, highp sampler2D clippingDistance) { +`;var XAt=T(S(),1),PZ=`float getSignedDistance(vec2 uv, highp sampler2D clippingDistance) { float signedDistance = texture(clippingDistance, uv).r; return (signedDistance - 0.5) * 2.0; } @@ -979,7 +979,7 @@ void czm_clipPolygons(highp sampler2D clippingDistance, int extentsLength, vec2 } #endif } -`;var uvt=T(S(),1),SZ=`/** +`;var PAt=T(S(),1),vZ=`/** * DOC_TBA * * @name czm_columbusViewMorph @@ -991,7 +991,7 @@ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) vec3 p = mix(position2D.xyz, position3D.xyz, time); return vec4(p, 1.0); } -`;var hvt=T(S(),1),CZ=`/** +`;var wAt=T(S(),1),wZ=`/** * Compute the atmosphere color, applying Rayleigh and Mie scattering. This * builtin uses automatic uniforms so the atmophere settings are synced with the * state of the Scene, even in other contexts like Model. @@ -1035,7 +1035,51 @@ vec4 czm_computeAtmosphereColor( return vec4(color, opacity); } -`;var pvt=T(S(),1),VZ=`/** + +/** + * Compute the atmosphere color, applying Rayleigh and Mie scattering. This + * builtin uses automatic uniforms so the atmophere settings are synced with the + * state of the Scene, even in other contexts like Model. + * + * @name czm_computeAtmosphereColor + * @glslFunction + * + * @param {czm_ray} primaryRay Ray from the origin to sky fragment to in world coords (low precision) + * @param {vec3} lightDirection Light direction from the sun or other light source. + * @param {vec3} rayleighColor The Rayleigh scattering color computed by a scattering function + * @param {vec3} mieColor The Mie scattering color computed by a scattering function + * @param {float} opacity The opacity computed by a scattering function. + */ +vec4 czm_computeAtmosphereColor( + czm_ray primaryRay, + vec3 lightDirection, + vec3 rayleighColor, + vec3 mieColor, + float opacity +) { + vec3 direction = normalize(primaryRay.direction); + + float cosAngle = dot(direction, lightDirection); + float cosAngleSq = cosAngle * cosAngle; + + float G = czm_atmosphereMieAnisotropy; + float GSq = G * G; + + // The Rayleigh phase function. + float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); + // The Mie phase function. + float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); + + // The final color is generated by combining the effects of the Rayleigh and Mie scattering. + vec3 rayleigh = rayleighPhase * rayleighColor; + vec3 mie = miePhase * mieColor; + + vec3 color = (rayleigh + mie) * czm_atmosphereLightIntensity; + + return vec4(color, opacity); +} + +`;var AAt=T(S(),1),FZ=`/** * Compute atmosphere scattering for the ground atmosphere and fog. This method * uses automatic uniforms so it is always synced with the scene settings. * @@ -1065,7 +1109,7 @@ void czm_computeGroundAtmosphereScattering(vec3 positionWC, vec3 lightDirection, opacity ); } -`;var gvt=T(S(),1),LZ=`/** +`;var NAt=T(S(),1),AZ=`/** * Returns a position in model coordinates relative to eye taking into * account the current scene mode: 3D, 2D, or Columbus view. *

@@ -1087,7 +1131,7 @@ void czm_computeGroundAtmosphereScattering(vec3 positionWC, vec3 lightDirection, * @see czm_translateRelativeToEye */ vec4 czm_computePosition(); -`;var xvt=T(S(),1),RZ=`/** +`;var UAt=T(S(),1),MZ=`/** * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as * the transmittance value for the ray. This function uses automatic uniforms * so the atmosphere settings are always synced with the current scene. @@ -1129,7 +1173,6 @@ void czm_computeScattering( // Return empty colors if no intersection with the atmosphere geometry. if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { - rayleighColor = vec3(1.0, 0.0, 1.0); return; } @@ -1237,7 +1280,7 @@ void czm_computeScattering( // Compute the transmittance i.e. how much light is passing through the atmosphere. opacity = length(exp(-((czm_atmosphereMieCoefficient * opticalDepth.y) + (czm_atmosphereRayleighCoefficient * opticalDepth.x)))); } -`;var Tvt=T(S(),1),ZZ=`/** +`;var BAt=T(S(),1),NZ=`/** * @private */ vec2 cordic(float angle) @@ -1448,7 +1491,7 @@ vec2 czm_cosineAndSine(float angle) return cordic(angle); } } -`;var Cvt=T(S(),1),GZ=`/** +`;var YAt=T(S(),1),kZ=`/** * Decompresses texture coordinates that were packed into a single float. * * @name czm_decompressTextureCoordinates @@ -1465,7 +1508,7 @@ vec2 czm_cosineAndSine(float angle) float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; return vec2(stx, sty); } -`;var Lvt=T(S(),1),EZ=`// emulated noperspective +`;var zAt=T(S(),1),UZ=`// emulated noperspective #if (__VERSION__ == 300 || defined(GL_EXT_frag_depth)) && !defined(LOG_DEPTH) out float v_WindowZ; #endif @@ -1512,7 +1555,7 @@ vec4 czm_depthClamp(vec4 coords) #endif return coords; } -`;var Zvt=T(S(),1),IZ=`/** +`;var JAt=T(S(),1),DZ=`/** * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping. @@ -1545,7 +1588,7 @@ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) bitangentEC.x, bitangentEC.y, bitangentEC.z, normalEC.x, normalEC.y, normalEC.z); } -`;var Evt=T(S(),1),XZ=`/** +`;var jAt=T(S(),1),BZ=`/** * DOC_TBA * * @name czm_ellipsoidContainsPoint @@ -1557,7 +1600,7 @@ bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point) vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz; return (dot(scaled, scaled) <= 1.0); } -`;var Xvt=T(S(),1),WZ=`/** +`;var $At=T(S(),1),OZ=`/** * Approximate uv coordinates based on the ellipsoid normal. * * @name czm_ellipsoidTextureCoordinates @@ -1567,7 +1610,7 @@ vec2 czm_ellipsoidTextureCoordinates(vec3 normal) { return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); } -`;var Pvt=T(S(),1),PZ=`/** +`;var tMt=T(S(),1),YZ=`/** * Compares left and right componentwise. Returns true * if they are within epsilon and false otherwise. The inputs * left and right can be floats, vec2s, @@ -1603,7 +1646,7 @@ bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) { bool czm_equalsEpsilon(float left, float right, float epsilon) { return (abs(left - right) <= epsilon); } -`;var wvt=T(S(),1),vZ=`/** +`;var iMt=T(S(),1),HZ=`/** * DOC_TBA * * @name czm_eyeOffset @@ -1623,7 +1666,7 @@ vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset) p.z += zEyeOffset.z; return p; } -`;var Avt=T(S(),1),wZ=`/** +`;var rMt=T(S(),1),zZ=`/** * Transforms a position from eye to window coordinates. The transformation * from eye to clip coordinates is done using {@link czm_projection}. * The transform from normalized device coordinates to window coordinates is @@ -1655,7 +1698,7 @@ vec4 czm_eyeToWindowCoordinates(vec4 positionEC) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`;var Nvt=T(S(),1),FZ=`/** +`;var aMt=T(S(),1),KZ=`/** * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input. * * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on @@ -1710,7 +1753,7 @@ float czm_fastApproximateAtan(float x, float y) { t = czm_branchFreeTernary(y < 0.0, -t, t); return t; } -`;var Uvt=T(S(),1),AZ=`/** +`;var lMt=T(S(),1),JZ=`/** * Gets the color with fog at a distance from the camera. * * @name czm_fog @@ -1748,7 +1791,7 @@ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifie float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant)))); return mix(color, fogColor, fog); } -`;var Bvt=T(S(),1),MZ=`/** +`;var uMt=T(S(),1),QZ=`/** * Converts a color from RGB space to linear space. * * @name czm_gammaCorrect @@ -1770,7 +1813,7 @@ vec4 czm_gammaCorrect(vec4 color) { #endif return color; } -`;var Yvt=T(S(),1),NZ=`/** +`;var hMt=T(S(),1),jZ=`/** * DOC_TBA * * @name czm_geodeticSurfaceNormal @@ -1786,7 +1829,7 @@ vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, v { return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared); } -`;var Hvt=T(S(),1),kZ=`/** +`;var pMt=T(S(),1),qZ=`/** * An czm_material with default values. Every material's czm_getMaterial * should use this default material as a base for the material it returns. * The default normal value is given by materialInput.normalEC. @@ -1813,7 +1856,7 @@ czm_material czm_getDefaultMaterial(czm_materialInput materialInput) material.alpha = 1.0; return material; } -`;var Jvt=T(S(),1),UZ=`/** +`;var gMt=T(S(),1),$Z=`/** * Select which direction vector to use for dynamic atmosphere lighting based on an enum value * * @name czm_getDynamicAtmosphereLightDirection @@ -1835,7 +1878,7 @@ vec3 czm_getDynamicAtmosphereLightDirection(vec3 positionWC, float lightEnum) { czm_sunDirectionWC * float(lightEnum == SUNLIGHT); return normalize(lightDirection); } -`;var jvt=T(S(),1),DZ=`/** +`;var xMt=T(S(),1),eG=`/** * Calculates the intensity of diffusely reflected light. * * @name czm_getLambertDiffuse @@ -1857,7 +1900,7 @@ float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC) { return max(dot(lightDirectionEC, normalEC), 0.0); } -`;var $vt=T(S(),1),BZ=`/** +`;var TMt=T(S(),1),tG=`/** * Calculates the specular intensity of reflected light. * * @name czm_getSpecular @@ -1886,7 +1929,7 @@ float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float // Prevent this by making sure shininess is at least czm_epsilon2. return pow(specular, max(shininess, czm_epsilon2)); } -`;var twt=T(S(),1),OZ=`/** +`;var CMt=T(S(),1),nG=`/** * @private */ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians) @@ -1923,7 +1966,7 @@ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRa // average and scale to between -1 and 1 return ((noise / 4.0) - 0.5) * 2.0; } -`;var iwt=T(S(),1),YZ=`/** +`;var LMt=T(S(),1),iG=`/** * Converts an HSB color (hue, saturation, brightness) to RGB * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -1947,7 +1990,7 @@ vec3 czm_HSBToRGB(vec3 hsb) vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www); return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y); } -`;var rwt=T(S(),1),zZ=`/** +`;var ZMt=T(S(),1),oG=`/** * Converts an HSL color (hue, saturation, lightness) to RGB * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -1978,7 +2021,7 @@ vec3 czm_HSLToRGB(vec3 hsl) float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y; return (rgb - 0.5) * c + hsl.z; } -`;var awt=T(S(),1),HZ=`/** +`;var EMt=T(S(),1),rG=`/** * Adjusts the hue of a color. * * @name czm_hue @@ -2008,7 +2051,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue)); return toRGB * color; } -`;var lwt=T(S(),1),KZ=`/** +`;var XMt=T(S(),1),sG=`/** * Converts a color in linear space to RGB space. * * @name czm_inverseGamma @@ -2020,7 +2063,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 czm_inverseGamma(vec3 color) { return pow(color, vec3(1.0 / czm_gamma)); } -`;var uwt=T(S(),1),JZ=`/** +`;var PMt=T(S(),1),aG=`/** * Determines if a time interval is empty. * * @name czm_isEmpty @@ -2039,7 +2082,7 @@ bool czm_isEmpty(czm_raySegment interval) { return (interval.stop < 0.0); } -`;var hwt=T(S(),1),QZ=`/** +`;var wMt=T(S(),1),cG=`/** * Determines if a time interval is empty. * * @name czm_isFull @@ -2058,7 +2101,7 @@ bool czm_isFull(czm_raySegment interval) { return (interval.start == 0.0 && interval.stop == czm_infinity); } -`;var pwt=T(S(),1),jZ=`/** +`;var AMt=T(S(),1),lG=`/** * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located. * * @name czm_latitudeToWebMercatorFraction @@ -2079,7 +2122,7 @@ float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, fl return (mercatorY - southMercatorY) * oneOverMercatorHeight; } -`;var gwt=T(S(),1),qZ=`/** +`;var NMt=T(S(),1),dG=`/** * Converts a linear RGB color to an sRGB color. * * @param {vec3|vec4} linearIn The color in linear color space. @@ -2095,7 +2138,7 @@ vec4 czm_linearToSrgb(vec4 linearIn) vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2)); return vec4(srgbOut, linearIn.a); } -`;var xwt=T(S(),1),$Z=`/** +`;var UMt=T(S(),1),uG=`/** * Computes distance from an point in 2D to a line in 2D. * * @name czm_lineDistance @@ -2109,7 +2152,7 @@ vec4 czm_linearToSrgb(vec4 linearIn) float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) { return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1); } -`;var Twt=T(S(),1),eG=`/** +`;var BMt=T(S(),1),mG=`/** * Computes the luminance of a color. * * @name czm_luminance @@ -2129,7 +2172,7 @@ float czm_luminance(vec3 rgb) const vec3 W = vec3(0.2125, 0.7154, 0.0721); return dot(rgb, W); } -`;var Cwt=T(S(),1),tG=`/** +`;var YMt=T(S(),1),hG=`/** * Find the maximum component of a vector. * * @name czm_maximumComponent @@ -2150,7 +2193,7 @@ float czm_maximumComponent(vec4 v) { return max(max(max(v.x, v.y), v.z), v.w); } -`;var Lwt=T(S(),1),nG=`/** +`;var zMt=T(S(),1),fG=`/** * Computes the size of a pixel in meters at a distance from the eye. *

* Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel. @@ -2211,7 +2254,7 @@ float czm_metersPerPixel(vec4 positionEC) { return czm_metersPerPixel(positionEC, czm_pixelRatio); } -`;var Zwt=T(S(),1),iG=`/** +`;var JMt=T(S(),1),pG=`/** * Transforms a position from model to window coordinates. The transformation * from model to clip coordinates is done using {@link czm_modelViewProjection}. * The transform from normalized device coordinates to window coordinates is @@ -2248,7 +2291,7 @@ vec4 czm_modelToWindowCoordinates(vec4 position) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`;var Ewt=T(S(),1),oG=`/** +`;var jMt=T(S(),1),bG=`/** * DOC_TBA * * @name czm_multiplyWithColorBalance @@ -2266,7 +2309,7 @@ vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right) return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target; } -`;var Xwt=T(S(),1),rG=`/** +`;var $Mt=T(S(),1),gG=`/** * Computes a value that scales with distance. The scaling is clamped at the near and * far distances, and does not extrapolate. This function works with the * {@link NearFarScalar} JavaScript class. @@ -2292,7 +2335,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) return mix(valueAtMin, valueAtMax, t); } -`;var Pwt=T(S(),1),sG=` /** +`;var t9t=T(S(),1),yG=` /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ @@ -2375,7 +2418,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) vector3 = czm_octDecode(vec2(x, y)); } -`;var wwt=T(S(),1),aG=`/** +`;var i9t=T(S(),1),xG=`/** * Packs a depth value into a vec4 that can be represented by unsigned bytes. * * @name czm_packDepth @@ -2393,7 +2436,7 @@ vec4 czm_packDepth(float depth) enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); return enc; } -`;var Awt=T(S(),1),cG=`vec3 lambertianDiffuse(vec3 diffuseColor) +`;var r9t=T(S(),1),_G=`vec3 lambertianDiffuse(vec3 diffuseColor) { return diffuseColor / czm_pi; } @@ -2557,7 +2600,7 @@ vec3 czm_pbrLighting(vec3 viewDirectionEC, vec3 normalEC, vec3 lightDirectionEC, // Lo = (diffuse + specular) * Li * NdotL return (diffuseContribution + specularContribution) * NdotL; } -`;var Nwt=T(S(),1),lG=`// KhronosGroup https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral +`;var a9t=T(S(),1),TG=`// KhronosGroup https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral // Input color is non-negative and resides in the Linear Rec. 709 color space. // Output color is also Linear Rec. 709, but in the [0, 1] range. @@ -2580,7 +2623,7 @@ vec3 czm_pbrNeutralTonemapping(vec3 color) { float g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0); return mix(color, newPeak * vec3(1.0, 1.0, 1.0), g); } -`;var Uwt=T(S(),1),dG=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) +`;var l9t=T(S(),1),SG=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) { return czm_getLambertDiffuse(lightDirectionEC, material.normal); } @@ -2643,7 +2686,7 @@ vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) return vec4(color, material.alpha); } -`;var Bwt=T(S(),1),uG=`/** +`;var u9t=T(S(),1),CG=`/** * Computes distance from a point to a plane. * * @name czm_planeDistance @@ -2671,7 +2714,7 @@ float czm_planeDistance(vec4 plane, vec3 point) { float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) { return (dot(planeNormal, point) + planeDistance); } -`;var Ywt=T(S(),1),mG=`/** +`;var h9t=T(S(),1),VG=`/** * Computes the point along a ray at the given time. time can be positive, negative, or zero. * * @name czm_pointAlongRay @@ -2690,7 +2733,7 @@ vec3 czm_pointAlongRay(czm_ray ray, float time) { return ray.origin + (time * ray.direction); } -`;var Hwt=T(S(),1),hG=`/** +`;var p9t=T(S(),1),LG=`/** * DOC_TBA * * @name czm_rayEllipsoidIntersectionInterval @@ -2773,7 +2816,7 @@ czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_ } } } -`;var Jwt=T(S(),1),fG=`/** +`;var g9t=T(S(),1),RG=`/** * Compute the intersection interval of a ray with a sphere. * * @name czm_raySphereIntersectionInterval @@ -2809,11 +2852,11 @@ czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float czm_raySegment result = czm_raySegment(t0, t1); return result; } -`;var jwt=T(S(),1),pG=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) +`;var x9t=T(S(),1),ZG=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) { return czm_reverseLogDepth(texture(depthTexture, texCoords).r); } -`;var $wt=T(S(),1),bG=`/** +`;var T9t=T(S(),1),GG=`/** * Reads a value previously transformed with {@link czm_writeNonPerspective} * by dividing it by \`w\`, the value used in the perspective divide. * This function is intended to be called in a fragment shader to access a @@ -2844,18 +2887,18 @@ vec3 czm_readNonPerspective(vec3 value, float oneOverW) { vec4 czm_readNonPerspective(vec4 value, float oneOverW) { return value * oneOverW; } -`;var tFt=T(S(),1),gG=`float czm_reverseLogDepth(float logZ) +`;var C9t=T(S(),1),EG=`float czm_reverseLogDepth(float logZ) { #ifdef LOG_DEPTH float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne; - float depthFromNear = pow(2.0, log2Depth) - 1.0; + float depthFromNear = exp2(log2Depth) - 1.0; return far * (1.0 - near / (depthFromNear + near)) / (far - near); #endif return logZ; } -`;var iFt=T(S(),1),yG=`/** +`;var L9t=T(S(),1),IG=`/** * Converts an RGB color to HSB (hue, saturation, brightness) * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -2882,7 +2925,7 @@ vec3 czm_RGBToHSB(vec3 rgb) float d = q.x - min(q.w, q.y); return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x); } -`;var rFt=T(S(),1),xG=`/** +`;var Z9t=T(S(),1),XG=`/** * Converts an RGB color to HSL (hue, saturation, lightness) * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -2916,7 +2959,7 @@ vec3 czm_RGBToHSL(vec3 rgb) float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7); return vec3(hcv.x, s, l); } -`;var aFt=T(S(),1),_G=`/** +`;var E9t=T(S(),1),WG=`/** * Converts an RGB color to CIE Yxy. *

The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -2946,7 +2989,7 @@ vec3 czm_RGBToXYZ(vec3 rgb) Yxy.gb = xyz.rg / temp; return Yxy; } -`;var lFt=T(S(),1),TG=`/** +`;var X9t=T(S(),1),PG=`/** * Round a floating point value. This function exists because round() doesn't * exist in GLSL 1.00. * @@ -2968,7 +3011,7 @@ vec3 czm_round(vec3 value) { vec4 czm_round(vec4 value) { return floor(value + 0.5); } -`;var uFt=T(S(),1),SG=`/** +`;var P9t=T(S(),1),vG=`/** * Adjusts the saturation of a color. * * @name czm_saturation @@ -2990,7 +3033,7 @@ vec3 czm_saturation(vec3 rgb, float adjustment) vec3 intensity = vec3(dot(rgb, W)); return mix(intensity, rgb, adjustment); } -`;var hFt=T(S(),1),CG=` +`;var w9t=T(S(),1),wG=` float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d) { return czm_unpackDepth(czm_textureCube(shadowMap, d)); @@ -3014,7 +3057,7 @@ float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } -`;var pFt=T(S(),1),VG=` +`;var A9t=T(S(),1),FG=` float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness) { #ifdef USE_NORMAL_SHADING @@ -3080,7 +3123,7 @@ float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParam return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #endif -`;var gFt=T(S(),1),LG=`/** +`;var N9t=T(S(),1),AG=`/** * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL * built-in function sign except that returns 1.0 instead of 0.0 when the input value is 0.0. * @@ -3109,7 +3152,7 @@ vec4 czm_signNotZero(vec4 value) { return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w)); } -`;var xFt=T(S(),1),RG=`/** +`;var U9t=T(S(),1),MG=`/** * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector. *

* The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22]. @@ -3140,7 +3183,7 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) float y = normal.y; float z = normal.z; - return + vec3 L = L00 + L1_1 * y + L10 * z @@ -3150,8 +3193,10 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) + L20 * (3.0 * z * z - 1.0) + L21 * (z * x) + L22 * (x * x - y * y); + + return max(L, vec3(0.0)); } -`;var TFt=T(S(),1),ZG=`/** +`;var B9t=T(S(),1),NG=`/** * Converts an sRGB color to a linear RGB color. * * @param {vec3|vec4} srgbIn The color in sRGB space @@ -3167,7 +3212,7 @@ vec4 czm_srgbToLinear(vec4 srgbIn) vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); } -`;var CFt=T(S(),1),GG=`/** +`;var Y9t=T(S(),1),kG=`/** * Creates a matrix that transforms vectors from tangent space to eye space. * * @name czm_tangentToEyeSpaceMatrix @@ -3192,7 +3237,7 @@ mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC bitangent.x, bitangent.y, bitangent.z, normal.x , normal.y , normal.z); } -`;var LFt=T(S(),1),EG=`/** +`;var z9t=T(S(),1),UG=`/** * A wrapper around the texture (WebGL2) / textureCube (WebGL1) * function to allow for WebGL 1 support. * @@ -3227,7 +3272,7 @@ vec4 czm_textureCube(samplerCube sampler, vec3 p, float lod) { #elif defined(GL_EXT_shader_texture_lod) return textureCubeLodEXT(sampler, p, lod); #endif -}`;var ZFt=T(S(),1),IG=`/** +}`;var J9t=T(S(),1),DG=`/** * Transforms a plane. * * @name czm_transformPlane @@ -3242,7 +3287,7 @@ vec4 czm_transformPlane(vec4 plane, mat4 transform) { float normalMagnitude = length(transformedPlane.xyz); return transformedPlane / normalMagnitude; } -`;var EFt=T(S(),1),XG=`/** +`;var j9t=T(S(),1),BG=`/** * Translates a position (or any vec3) that was encoded with {@link EncodedCartesian3}, * and then provided to the shader as separate high and low bits to * be relative to the eye. As shown in the example, the position can then be transformed in eye @@ -3287,7 +3332,7 @@ vec4 czm_translateRelativeToEye(vec3 high, vec3 low) return vec4(highDifference + lowDifference, 1.0); } -`;var XFt=T(S(),1),WG=`/** +`;var $9t=T(S(),1),OG=`/** * @private */ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC) @@ -3314,7 +3359,7 @@ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirection return vec4(color, material.alpha); } -`;var PFt=T(S(),1),PG=`/** +`;var tNt=T(S(),1),YG=`/** * Returns the transpose of the matrix. The input matrix can be * a mat2, mat3, or mat4. * @@ -3359,7 +3404,7 @@ mat4 czm_transpose(mat4 matrix) matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2], matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]); } -`;var wFt=T(S(),1),vG=`vec2 getLookupUv(vec2 dimensions, int i) { +`;var iNt=T(S(),1),HG=`vec2 getLookupUv(vec2 dimensions, int i) { int pixY = i / int(dimensions.x); int pixX = i - (pixY * int(dimensions.x)); float pixelWidth = 1.0 / dimensions.x; @@ -3372,7 +3417,7 @@ mat4 czm_transpose(mat4 matrix) vec4 czm_unpackClippingExtents(highp sampler2D extentsTexture, int index) { vec2 textureDimensions = vec2(textureSize(extentsTexture, 0)); return texture(extentsTexture, getLookupUv(textureDimensions, index)); -}`;var AFt=T(S(),1),wG=`/** +}`;var rNt=T(S(),1),zG=`/** * Unpacks a vec4 depth value to a float in [0, 1) range. * * @name czm_unpackDepth @@ -3388,7 +3433,7 @@ float czm_unpackDepth(vec4 packedDepth) // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)); } -`;var NFt=T(S(),1),FG=`/** +`;var aNt=T(S(),1),KG=`/** * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4. * * @name czm_unpackFloat @@ -3412,7 +3457,7 @@ float czm_unpackFloat(vec4 packedFloat) float result = sign * exp2(exponent - 23.0) * mantissa; return result; } -`;var UFt=T(S(),1),AG=`/** +`;var lNt=T(S(),1),JG=`/** * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type, * so the return value is an int. *

@@ -3443,7 +3488,7 @@ float czm_unpackFloat(vec4 packedFloat) vec4 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0))); } -`;var BFt=T(S(),1),MG=`/** +`;var uNt=T(S(),1),QG=`/** * Transform metadata values following the EXT_structural_metadata spec * by multiplying by scale and adding the offset. Operations are always * performed component-wise, even for matrices. @@ -3481,7 +3526,7 @@ mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) { mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) { return matrixCompMult(scale, value) + offset; } -`;var YFt=T(S(),1),NG=`#ifdef LOG_DEPTH +`;var hNt=T(S(),1),jG=`#ifdef LOG_DEPTH // 1.0 at the near plane, increasing linearly from there. out float v_depthFromNearPlusOne; #ifdef SHADOW_MAP @@ -3545,7 +3590,7 @@ void czm_vertexLogDepth(vec4 clipCoords) czm_updatePositionDepth(clipCoords); #endif } -`;var HFt=T(S(),1),kG=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) +`;var pNt=T(S(),1),qG=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) { // Reconstruct NDC coordinates float x = 2.0 * screenCoordinate.x - 1.0; @@ -3656,7 +3701,7 @@ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth); } -`;var JFt=T(S(),1),UG=`// emulated noperspective +`;var gNt=T(S(),1),$G=`// emulated noperspective #if !defined(LOG_DEPTH) in float v_WindowZ; #endif @@ -3680,7 +3725,7 @@ void czm_writeDepthClamp() gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0); #endif } -`;var jFt=T(S(),1),DG=`#ifdef LOG_DEPTH +`;var xNt=T(S(),1),eE=`#ifdef LOG_DEPTH in float v_depthFromNearPlusOne; #ifdef POLYGON_OFFSET @@ -3759,7 +3804,7 @@ void czm_writeLogDepth() { czm_writeLogDepth(v_depthFromNearPlusOne); #endif } -`;var $Ft=T(S(),1),BG=`/** +`;var TNt=T(S(),1),tE=`/** * Transforms a value for non-perspective interpolation by multiplying * it by w, the value used in the perspective divide. This function is * intended to be called in a vertex shader to compute the value of a @@ -3791,7 +3836,7 @@ vec3 czm_writeNonPerspective(vec3 value, float w) { vec4 czm_writeNonPerspective(vec4 value, float w) { return value * w; } -`;var tAt=T(S(),1),OG=`/** +`;var CNt=T(S(),1),nE=`/** * Converts a CIE Yxy color to RGB. *

The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -3821,7 +3866,7 @@ vec3 czm_XYZToRGB(vec3 Yxy) return XYZ2RGB * xyz; } -`;var lx={czm_degreesPerRadian:gR,czm_depthRange:yR,czm_epsilon1:xR,czm_epsilon2:_R,czm_epsilon3:TR,czm_epsilon4:SR,czm_epsilon5:CR,czm_epsilon6:VR,czm_epsilon7:LR,czm_infinity:RR,czm_oneOverPi:ZR,czm_oneOverTwoPi:GR,czm_passCesium3DTile:ER,czm_passCesium3DTileClassification:IR,czm_passCesium3DTileClassificationIgnoreShow:XR,czm_passClassification:WR,czm_passCompute:PR,czm_passEnvironment:vR,czm_passGlobe:wR,czm_passOpaque:FR,czm_passOverlay:AR,czm_passTerrainClassification:MR,czm_passTranslucent:NR,czm_passVoxels:kR,czm_pi:UR,czm_piOverFour:DR,czm_piOverSix:BR,czm_piOverThree:OR,czm_piOverTwo:YR,czm_radiansPerDegree:zR,czm_sceneMode2D:HR,czm_sceneMode3D:KR,czm_sceneModeColumbusView:JR,czm_sceneModeMorphing:QR,czm_solarRadius:jR,czm_threePiOver2:qR,czm_twoPi:$R,czm_webMercatorMaxLatitude:eZ,czm_depthRangeStruct:tZ,czm_material:nZ,czm_materialInput:iZ,czm_modelMaterial:oZ,czm_modelVertexOutput:rZ,czm_ray:sZ,czm_raySegment:aZ,czm_shadowParameters:cZ,czm_acesTonemapping:lZ,czm_alphaWeight:dZ,czm_antialias:uZ,czm_applyHSBShift:mZ,czm_approximateSphericalCoordinates:hZ,czm_approximateTanh:fZ,czm_backFacing:pZ,czm_branchFreeTernary:bZ,czm_cascadeColor:gZ,czm_cascadeDistance:yZ,czm_cascadeMatrix:xZ,czm_cascadeWeights:_Z,czm_clipPolygons:TZ,czm_columbusViewMorph:SZ,czm_computeAtmosphereColor:CZ,czm_computeGroundAtmosphereScattering:VZ,czm_computePosition:LZ,czm_computeScattering:RZ,czm_cosineAndSine:ZZ,czm_decompressTextureCoordinates:GZ,czm_depthClamp:EZ,czm_eastNorthUpToEyeCoordinates:IZ,czm_ellipsoidContainsPoint:XZ,czm_ellipsoidTextureCoordinates:WZ,czm_equalsEpsilon:PZ,czm_eyeOffset:vZ,czm_eyeToWindowCoordinates:wZ,czm_fastApproximateAtan:FZ,czm_fog:AZ,czm_gammaCorrect:MZ,czm_geodeticSurfaceNormal:NZ,czm_getDefaultMaterial:kZ,czm_getDynamicAtmosphereLightDirection:UZ,czm_getLambertDiffuse:DZ,czm_getSpecular:BZ,czm_getWaterNoise:OZ,czm_HSBToRGB:YZ,czm_HSLToRGB:zZ,czm_hue:HZ,czm_inverseGamma:KZ,czm_isEmpty:JZ,czm_isFull:QZ,czm_latitudeToWebMercatorFraction:jZ,czm_linearToSrgb:qZ,czm_lineDistance:$Z,czm_luminance:eG,czm_maximumComponent:tG,czm_metersPerPixel:nG,czm_modelToWindowCoordinates:iG,czm_multiplyWithColorBalance:oG,czm_nearFarScalar:rG,czm_octDecode:sG,czm_packDepth:aG,czm_pbrLighting:cG,czm_pbrNeutralTonemapping:lG,czm_phong:dG,czm_planeDistance:uG,czm_pointAlongRay:mG,czm_rayEllipsoidIntersectionInterval:hG,czm_raySphereIntersectionInterval:fG,czm_readDepth:pG,czm_readNonPerspective:bG,czm_reverseLogDepth:gG,czm_RGBToHSB:yG,czm_RGBToHSL:xG,czm_RGBToXYZ:_G,czm_round:TG,czm_saturation:SG,czm_shadowDepthCompare:CG,czm_shadowVisibility:VG,czm_signNotZero:LG,czm_sphericalHarmonics:RG,czm_srgbToLinear:ZG,czm_tangentToEyeSpaceMatrix:GG,czm_textureCube:EG,czm_transformPlane:IG,czm_translateRelativeToEye:XG,czm_translucentPhong:WG,czm_transpose:PG,czm_unpackClippingExtents:vG,czm_unpackDepth:wG,czm_unpackFloat:FG,czm_unpackUint:AG,czm_valueTransform:MG,czm_vertexLogDepth:NG,czm_windowToEyeCoordinates:kG,czm_writeDepthClamp:UG,czm_writeLogDepth:DG,czm_writeNonPerspective:BG,czm_XYZToRGB:OG};var PMt=T(S(),1);function yRe(e,t){let n=e;return n=n.replaceAll("version 300 es",""),n=n.replaceAll(/(texture\()/g,"texture2D("),t?(n=n.replaceAll(/\n\s*(in)\s+(vec\d|mat\d|float)/g,` +`;var Lx={czm_degreesPerRadian:ER,czm_depthRange:IR,czm_epsilon1:XR,czm_epsilon2:WR,czm_epsilon3:PR,czm_epsilon4:vR,czm_epsilon5:wR,czm_epsilon6:FR,czm_epsilon7:AR,czm_infinity:MR,czm_oneOverPi:NR,czm_oneOverTwoPi:kR,czm_passCesium3DTile:UR,czm_passCesium3DTileClassification:DR,czm_passCesium3DTileClassificationIgnoreShow:BR,czm_passClassification:OR,czm_passCompute:YR,czm_passEnvironment:HR,czm_passGlobe:zR,czm_passOpaque:KR,czm_passOverlay:JR,czm_passTerrainClassification:QR,czm_passTranslucent:jR,czm_passVoxels:qR,czm_pi:$R,czm_piOverFour:eZ,czm_piOverSix:tZ,czm_piOverThree:nZ,czm_piOverTwo:iZ,czm_radiansPerDegree:oZ,czm_sceneMode2D:rZ,czm_sceneMode3D:sZ,czm_sceneModeColumbusView:aZ,czm_sceneModeMorphing:cZ,czm_solarRadius:lZ,czm_threePiOver2:dZ,czm_twoPi:uZ,czm_webMercatorMaxLatitude:mZ,czm_depthRangeStruct:hZ,czm_material:fZ,czm_materialInput:pZ,czm_modelMaterial:bZ,czm_modelVertexOutput:gZ,czm_ray:yZ,czm_raySegment:xZ,czm_shadowParameters:_Z,czm_acesTonemapping:TZ,czm_alphaWeight:SZ,czm_antialias:CZ,czm_applyHSBShift:VZ,czm_approximateSphericalCoordinates:LZ,czm_approximateTanh:RZ,czm_backFacing:ZZ,czm_branchFreeTernary:GZ,czm_cascadeColor:EZ,czm_cascadeDistance:IZ,czm_cascadeMatrix:XZ,czm_cascadeWeights:WZ,czm_clipPolygons:PZ,czm_columbusViewMorph:vZ,czm_computeAtmosphereColor:wZ,czm_computeGroundAtmosphereScattering:FZ,czm_computePosition:AZ,czm_computeScattering:MZ,czm_cosineAndSine:NZ,czm_decompressTextureCoordinates:kZ,czm_depthClamp:UZ,czm_eastNorthUpToEyeCoordinates:DZ,czm_ellipsoidContainsPoint:BZ,czm_ellipsoidTextureCoordinates:OZ,czm_equalsEpsilon:YZ,czm_eyeOffset:HZ,czm_eyeToWindowCoordinates:zZ,czm_fastApproximateAtan:KZ,czm_fog:JZ,czm_gammaCorrect:QZ,czm_geodeticSurfaceNormal:jZ,czm_getDefaultMaterial:qZ,czm_getDynamicAtmosphereLightDirection:$Z,czm_getLambertDiffuse:eG,czm_getSpecular:tG,czm_getWaterNoise:nG,czm_HSBToRGB:iG,czm_HSLToRGB:oG,czm_hue:rG,czm_inverseGamma:sG,czm_isEmpty:aG,czm_isFull:cG,czm_latitudeToWebMercatorFraction:lG,czm_linearToSrgb:dG,czm_lineDistance:uG,czm_luminance:mG,czm_maximumComponent:hG,czm_metersPerPixel:fG,czm_modelToWindowCoordinates:pG,czm_multiplyWithColorBalance:bG,czm_nearFarScalar:gG,czm_octDecode:yG,czm_packDepth:xG,czm_pbrLighting:_G,czm_pbrNeutralTonemapping:TG,czm_phong:SG,czm_planeDistance:CG,czm_pointAlongRay:VG,czm_rayEllipsoidIntersectionInterval:LG,czm_raySphereIntersectionInterval:RG,czm_readDepth:ZG,czm_readNonPerspective:GG,czm_reverseLogDepth:EG,czm_RGBToHSB:IG,czm_RGBToHSL:XG,czm_RGBToXYZ:WG,czm_round:PG,czm_saturation:vG,czm_shadowDepthCompare:wG,czm_shadowVisibility:FG,czm_signNotZero:AG,czm_sphericalHarmonics:MG,czm_srgbToLinear:NG,czm_tangentToEyeSpaceMatrix:kG,czm_textureCube:UG,czm_transformPlane:DG,czm_translateRelativeToEye:BG,czm_translucentPhong:OG,czm_transpose:YG,czm_unpackClippingExtents:HG,czm_unpackDepth:zG,czm_unpackFloat:KG,czm_unpackUint:JG,czm_valueTransform:QG,czm_vertexLogDepth:jG,czm_windowToEyeCoordinates:qG,czm_writeDepthClamp:$G,czm_writeLogDepth:eE,czm_writeNonPerspective:tE,czm_XYZToRGB:nE};var tUt=T(S(),1);function cGe(e,t){let n=e;return n=n.replaceAll("version 300 es",""),n=n.replaceAll(/(texture\()/g,"texture2D("),t?(n=n.replaceAll(/\n\s*(in)\s+(vec\d|mat\d|float)/g,` varying $2`),/out_FragData_(\d+)/.test(n)&&(n=`#extension GL_EXT_draw_buffers : enable ${n}`,n=n.replaceAll(/layout\s+\(location\s*=\s*\d+\)\s*out\s+vec4\s+out_FragData_\d+;/g,""),n=n.replaceAll(/out_FragData_(\d+)/g,"gl_FragData[$1]")),n=n.replaceAll(/layout\s+\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,""),n=n.replaceAll(/out_FragColor/g,"gl_FragColor"),n=n.replaceAll(/out_FragColor\[(\d+)\]/g,"gl_FragColor[$1]"),/gl_FragDepth/.test(n)&&(n=`#extension GL_EXT_frag_depth : enable ${n}`,n=n.replaceAll(/gl_FragDepth/g,"gl_FragDepthEXT")),n=`#ifdef GL_EXT_shader_texture_lod @@ -3831,13 +3876,13 @@ ${n}`,n=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif ${n}`):(n=n.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"attribute $2"),n=n.replaceAll(/(out)\s+(vec\d|mat\d|float)\s+([\w]+);/g,"varying $2 $3;")),n=`#version 100 -${n}`,n}var YG=yRe;function Tee(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){let n=t.match(/\n/gm).length,i="";for(let o=0;o0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r=0;--o)i=`${i+t[o].glslSource} -`;return i.replace(n.glslSource,"")}function Vee(e,t,n){let i,o,r="",s=e.sources;if(l(s))for(i=0,o=s.length;i0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r=0;--o)i=`${i+t[o].glslSource} +`;return i.replace(n.glslSource,"")}function xte(e,t,n){let i,o,r="",s=e.sources;if(l(s))for(i=0,o=s.length;i-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};Sm.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(l(o))return o.shaderProgram};Sm.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new Ye({sources:[r]})),typeof s=="string"&&(s=new Ye({sources:[s]}));let c=this._context,d=r.createCombinedVertexShader(c),u=s.createCombinedFragmentShader(c),m=new cn({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:d,fragmentShaderSource:s,fragmentShaderText:u,attributeLocations:a}),p={cache:this,shaderProgram:m,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),m._cachedShader=p,this._shaders[o]=p,m};function MO(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;o=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var Vp={high:0,low:0};$h.fromCartesian=function(e,t){l(t)||(t=new $h);let n=t.high,i=t.low;return $h.encode(e.x,Vp),n.x=Vp.high,i.x=Vp.low,$h.encode(e.y,Vp),n.y=Vp.high,i.y=Vp.low,$h.encode(e.z,Vp),n.z=Vp.high,i.z=Vp.low,t};var NO=new $h;$h.writeElements=function(e,t,n){$h.fromCartesian(e,NO);let i=NO.high,o=NO.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z};var zn=$h;var DNt=T(S(),1);var FNt=T(S(),1);var ZNt=T(S(),1);var xNt=T(S(),1);function As(e,t){this.normal=h.clone(e),this.distance=t}As.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return l(n)?(h.clone(t,n.normal),n.distance=i,n):new As(t,i)};var IRe=new h;As.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,IRe),i=e.w;return l(t)?(h.clone(n,t.normal),t.distance=i,t):new As(n,i)};As.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var XRe=new h;As.projectPointOntoPlane=function(e,t,n){l(n)||(n=new h);let i=As.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,XRe);return h.subtract(t,o,n)};var WRe=new M,PRe=new se,vRe=new h;As.transform=function(e,t,n){let i=e.normal,o=e.distance,r=M.inverseTranspose(t,WRe),s=se.fromElements(i.x,i.y,i.z,o,PRe);s=M.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,vRe);return s=se.divideByScalar(s,h.magnitude(a),s),As.fromCartesian4(s,n)};As.clone=function(e,t){return l(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new As(e.normal,e.distance)};As.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};As.ORIGIN_XY_PLANE=Object.freeze(new As(h.UNIT_Z,0));As.ORIGIN_YZ_PLANE=Object.freeze(new As(h.UNIT_X,0));As.ORIGIN_ZX_PLANE=Object.freeze(new As(h.UNIT_Y,0));var dn=As;function du(e){this.planes=y(e,[])}var KG=[new h,new h,new h];h.clone(h.UNIT_X,KG[0]);h.clone(h.UNIT_Y,KG[1]);h.clone(h.UNIT_Z,KG[2]);var wb=new h,wRe=new h,Gee=new dn(new h(1,0,0),0);du.fromBoundingSphere=function(e,t){l(t)||(t=new du);let n=KG.length,i=t.planes;i.length=2*n;let o=e.center,r=e.radius,s=0;for(let a=0;azRe;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*W.TWO_PI,o}function KRe(e,t){let n=Math.floor(e/W.TWO_PI);e-=n*W.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=W.zeroToTwoPi(r),e<0&&(r-=W.TWO_PI),r+=n*W.TWO_PI,r}function JRe(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),d=Math.sin(n);return l(i)?(i[0]=c*o-d*r*s,i[1]=d*o+c*r*s,i[2]=r*a,i[3]=-c*r-d*o*s,i[4]=-d*r+c*o*s,i[5]=o*a,i[6]=d*a,i[7]=-c*a,i[8]=s):i=new $(c*o-d*r*s,-c*r-d*o*s,d*a,d*o+c*r*s,-d*r+c*o*s,-c*a,r*a,o*a,s),i}var QRe=1.0000010178*Wa,jRe=100.46645683*uu,qRe=129597742283429e-5*od,Xee=16002,Wee=21863,Pee=32004,vee=10931,wee=14529,Fee=16368,Aee=15318,Mee=32794,$Re=64*1e-7*Wa,eZe=-152*1e-7*Wa,tZe=62*1e-7*Wa,nZe=-8*1e-7*Wa,iZe=32*1e-7*Wa,oZe=-41*1e-7*Wa,rZe=19*1e-7*Wa,sZe=-11*1e-7*Wa,aZe=-150*1e-7*Wa,cZe=-46*1e-7*Wa,lZe=68*1e-7*Wa,dZe=54*1e-7*Wa,uZe=14*1e-7*Wa,mZe=24*1e-7*Wa,hZe=-28*1e-7*Wa,fZe=22*1e-7*Wa,Nee=10,kee=16002,Uee=21863,Dee=10931,Bee=1473,Oee=32004,Yee=4387,zee=73,pZe=-325*1e-7,bZe=-322*1e-7,gZe=-79*1e-7,yZe=232*1e-7,xZe=-52*1e-7,_Ze=97*1e-7,TZe=55*1e-7,SZe=-41*1e-7,CZe=-105*1e-7,VZe=-137*1e-7,LZe=258*1e-7,RZe=35*1e-7,ZZe=-116*1e-7,GZe=-88*1e-7,EZe=-112*1e-7,IZe=-80*1e-7,KS=new j(0,0,Kn.TAI);function XZe(e,t){Kee(e,KS);let i=(KS.dayNumber-vN.dayNumber+(KS.secondsOfDay-vN.secondsOfDay)/Jn.SECONDS_PER_DAY)/(Jn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=QRe+$Re*Math.cos(Xee*o)+aZe*Math.sin(Xee*o)+eZe*Math.cos(Wee*o)+cZe*Math.sin(Wee*o)+tZe*Math.cos(Pee*o)+lZe*Math.sin(Pee*o)+nZe*Math.cos(vee*o)+dZe*Math.sin(vee*o)+iZe*Math.cos(wee*o)+uZe*Math.sin(wee*o)+oZe*Math.cos(Fee*o)+mZe*Math.sin(Fee*o)+rZe*Math.cos(Aee*o)+hZe*Math.sin(Aee*o)+sZe*Math.cos(Mee*o)+fZe*Math.sin(Mee*o),s=jRe+qRe*i+pZe*Math.cos(Nee*o)+CZe*Math.sin(Nee*o)+bZe*Math.cos(kee*o)+VZe*Math.sin(kee*o)+gZe*Math.cos(Uee*o)+LZe*Math.sin(Uee*o)+yZe*Math.cos(Dee*o)+RZe*Math.sin(Dee*o)+xZe*Math.cos(Bee*o)+ZZe*Math.sin(Bee*o)+_Ze*Math.cos(Oee*o)+GZe*Math.sin(Oee*o)+TZe*Math.cos(Yee*o)+EZe*Math.sin(Yee*o)+SZe*Math.cos(zee*o)+IZe*Math.sin(zee*o),a=.0167086342-.0004203654*i,c=102.93734808*uu+11612.3529*od*i,d=469.97289*od*i,u=174.87317577*uu-8679.27034*od*i;return Jee(r,a,d,c,u,s,t)}function Qee(e,t){Kee(e,KS);let i=(KS.dayNumber-vN.dayNumber+(KS.secondsOfDay-vN.secondsOfDay)/Jn.SECONDS_PER_DAY)/Jn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,d=5.15668983*uu,u=-8e-5*i+.02966*o-42e-6*r-13e-8*s,m=83.35324312*uu,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*uu,f=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,x=218.31664563*uu,_=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,C=297.85019547*uu+od*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),V=93.27209062*uu+od*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),L=134.96340251*uu+od*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),Z=357.52910918*uu+od*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),G=310.17137918*uu-od*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),I=2*C,v=4*C,P=6*C,w=2*L,F=3*L,b=4*L,R=2*V;a+=3400.4*Math.cos(I)-635.6*Math.cos(I-L)-235.6*Math.cos(L)+218.1*Math.cos(I-Z)+181*Math.cos(I+L),c+=.014216*Math.cos(I-L)+.008551*Math.cos(I-w)-.001383*Math.cos(L)+.001356*Math.cos(I+L)-.001147*Math.cos(v-F)-914e-6*Math.cos(v-w)+869e-6*Math.cos(I-Z-L)-627e-6*Math.cos(I)-394e-6*Math.cos(v-b)+282e-6*Math.cos(I-Z-w)-279e-6*Math.cos(C-L)-236e-6*Math.cos(w)+231e-6*Math.cos(v)+229e-6*Math.cos(P-b)-201e-6*Math.cos(w-R),u+=486.26*Math.cos(I-R)-40.13*Math.cos(I)+37.51*Math.cos(R)+25.73*Math.cos(w-R)+19.97*Math.cos(I-Z-R),p+=-55609*Math.sin(I-L)-34711*Math.sin(I-w)-9792*Math.sin(L)+9385*Math.sin(v-F)+7505*Math.sin(v-w)+5318*Math.sin(I+L)+3484*Math.sin(v-b)-3417*Math.sin(I-Z-L)-2530*Math.sin(P-b)-2376*Math.sin(I)-2075*Math.sin(I-F)-1883*Math.sin(w)-1736*Math.sin(P-5*L)+1626*Math.sin(Z)-1370*Math.sin(P-F),f+=-5392*Math.sin(I-R)-540*Math.sin(Z)-441*Math.sin(I)+423*Math.sin(R)-288*Math.sin(w-R),_+=-3332.9*Math.sin(I)+1197.4*Math.sin(I-L)-662.5*Math.sin(Z)+396.3*Math.sin(L)-218*Math.sin(I-Z);let E=2*G,X=3*G;u+=46.997*Math.cos(G)*i-.614*Math.cos(I-R+G)*i+.614*Math.cos(I-R-G)*i-.0297*Math.cos(E)*o-.0335*Math.cos(G)*o+.0012*Math.cos(I-R+E)*o-16e-5*Math.cos(G)*r+4e-5*Math.cos(X)*r+4e-5*Math.cos(E)*r;let A=2.116*Math.sin(G)*i-.111*Math.sin(I-R-G)*i-.0015*Math.sin(G)*o;p+=A,_+=A,f+=-520.77*Math.sin(G)*i+13.66*Math.sin(I-R+G)*i+1.12*Math.sin(I-G)*i-1.06*Math.sin(R-G)*i+.66*Math.sin(E)*o+.371*Math.sin(G)*o-.035*Math.sin(I-R+E)*o-.015*Math.sin(I-R+G)*o+.0014*Math.sin(G)*r-.0011*Math.sin(X)*r-9e-4*Math.sin(E)*r,a*=DRe;let N=d+u*od,O=m+p*od,U=x+_*od,Y=g+f*od;return Jee(a,c,N,O,Y,U,t)}var Hee=.012300034,WZe=Hee/(Hee+1)*-1;function PZe(e,t){return t=Qee(e,t),h.multiplyByScalar(t,WZe,t)}var jee=new $(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),JG=new h;UO.computeSunPositionInEarthInertialFrame=function(e,t){return l(e)||(e=j.now()),l(t)||(t=new h),JG=XZe(e,JG),t=h.negate(JG,t),PZe(e,JG),h.subtract(t,JG,t),$.multiplyByVector(jee,t,t),t};UO.computeMoonPositionInEarthInertialFrame=function(e,t){return l(e)||(e=j.now()),t=Qee(e,t),$.multiplyByVector(jee,t,t),t};var Ab=UO;var $Nt=T(S(),1),wN={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};wN.getMorphTime=function(e){return e===wN.SCENE3D?1:e===wN.MORPHING?void 0:0};var oe=Object.freeze(wN);var i5t=T(S(),1);function vZe(e){e=y(e,y.EMPTY_OBJECT),this.color=B.clone(y(e.color,B.WHITE)),this.intensity=y(e.intensity,2)}var Lp=vZe;function JS(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new Ke,this._viewportCartesian4=new se,this._viewportDirty=!1,this._viewportOrthographicMatrix=M.clone(M.IDENTITY),this._viewportTransformation=M.clone(M.IDENTITY),this._model=M.clone(M.IDENTITY),this._view=M.clone(M.IDENTITY),this._inverseView=M.clone(M.IDENTITY),this._projection=M.clone(M.IDENTITY),this._infiniteProjection=M.clone(M.IDENTITY),this._entireFrustum=new D,this._currentFrustum=new D,this._frustumPlanes=new se,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=$.clone(M.IDENTITY),this._view3DDirty=!0,this._view3D=new M,this._inverseView3DDirty=!0,this._inverseView3D=new M,this._inverseModelDirty=!0,this._inverseModel=new M,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new $,this._viewRotation=new $,this._inverseViewRotation=new $,this._viewRotation3D=new $,this._inverseViewRotation3D=new $,this._inverseProjectionDirty=!0,this._inverseProjection=new M,this._modelViewDirty=!0,this._modelView=new M,this._modelView3DDirty=!0,this._modelView3D=new M,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new M,this._inverseModelViewDirty=!0,this._inverseModelView=new M,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new M,this._viewProjectionDirty=!0,this._viewProjection=new M,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new M,this._modelViewProjectionDirty=!0,this._modelViewProjection=new M,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new M,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new M,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new M,this._normalDirty=!0,this._normal=new $,this._normal3DDirty=!0,this._normal3D=new $,this._inverseNormalDirty=!0,this._inverseNormal=new $,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new $,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new zn,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new D,this._eyeEllipsoidNormalEC=new h,this._eyeEllipsoidCurvature=new D,this._modelToEnu=new M,this._enuToModel=new M,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new B,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._fogMinimumBrightness=void 0,this._atmosphereHsbShift=void 0,this._atmosphereLightIntensity=void 0,this._atmosphereRayleighCoefficient=new h,this._atmosphereRayleighScaleHeight=new h,this._atmosphereMieCoefficient=new h,this._atmosphereMieScaleHeight=void 0,this._atmosphereMieAnisotropy=void 0,this._atmosphereDynamicLighting=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(JS.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!Ke.equals(e,this._viewport)){Ke.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return $ee(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return $ee(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){M.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,M.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,M.getMatrix3(this.inverseModel,e),$.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return BO(this),this._view3D}},viewRotation:{get:function(){return BO(this),this._viewRotation}},viewRotation3D:{get:function(){return BO(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return nte(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return nte(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return YZe(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return zZe(this),this._modelView}},modelView3D:{get:function(){return HZe(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return $Ze(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return KZe(this),this._inverseModelView}},inverseModelView3D:{get:function(){return JZe(this),this._inverseModelView3D}},viewProjection:{get:function(){return QZe(this),this._viewProjection}},inverseViewProjection:{get:function(){return jZe(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return qZe(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return eGe(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return tGe(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return nGe(this),this._modelViewInfiniteProjection}},normal:{get:function(){return iGe(this),this._normal}},normal3D:{get:function(){return oGe(this),this._normal3D}},inverseNormal:{get:function(){return rGe(this),this._inverseNormal}},inverseNormal3D:{get:function(){return sGe(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},eyeEllipsoidNormalEC:{get:function(){return this._eyeEllipsoidNormalEC}},eyeEllipsoidCurvature:{get:function(){return this._eyeEllipsoidCurvature}},modelToEnu:{get:function(){return this._modelToEnu}},enuToModel:{get:function(){return this._enuToModel}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return tte(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return tte(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},fogMinimumBrightness:{get:function(){return this._fogMinimumBrightness}},atmosphereHsbShift:{get:function(){return this._atmosphereHsbShift}},atmosphereLightIntensity:{get:function(){return this._atmosphereLightIntensity}},atmosphereRayleighCoefficient:{get:function(){return this._atmosphereRayleighCoefficient}},atmosphereRayleighScaleHeight:{get:function(){return this._atmosphereRayleighScaleHeight}},atmosphereMieCoefficient:{get:function(){return this._atmosphereMieCoefficient}},atmosphereMieScaleHeight:{get:function(){return this._atmosphereMieScaleHeight}},atmosphereMieAnisotropy:{get:function(){return this._atmosphereMieAnisotropy}},atmosphereDynamicLighting:{get:function(){return this._atmosphereDynamicLighting}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,ne.default)}}});function wZe(e,t){M.clone(t,e._view),M.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function FZe(e,t){M.clone(t,e._inverseView),M.getMatrix3(t,e._inverseViewRotation)}function AZe(e,t){M.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function MZe(e,t){M.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}var qee=new h,NZe=new M;function kZe(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=e._ellipsoid,i,o=t.positionCartographic;if(l(o)?(e._eyeHeight=o.height,e._eyeEllipsoidNormalEC=n.geodeticSurfaceNormalCartographic(o,e._eyeEllipsoidNormalEC),i=h.fromRadians(o.longitude,o.latitude,0,n,qee)):(e._eyeHeight=-n.maximumRadius,h.magnitude(t.positionWC)>0&&(e._eyeEllipsoidNormalEC=h.normalize(t.positionWC,e._eyeEllipsoidNormalEC)),i=n.scaleToGeodeticSurface(t.positionWC,qee)),e._encodedCameraPositionMCDirty=!0,!l(i))return;e._eyeEllipsoidNormalEC=$.multiplyByVector(e._viewRotation,e._eyeEllipsoidNormalEC,e._eyeEllipsoidNormalEC);let r=Ft.eastNorthUpToFixedFrame(i,n,NZe);e._enuToModel=M.multiplyTransformation(e.inverseModel,r,e._enuToModel),e._modelToEnu=M.inverseTransformation(e._enuToModel,e._modelToEnu),W.equalsEpsilon(n._radii.x,n._radii.y,W.EPSILON15)&&(e._eyeEllipsoidCurvature=n.getLocalCurvature(i,e._eyeEllipsoidCurvature))}var DO=new $,UZe=new he;function DZe(e,t){Ft.computeIcrfToCentralBodyFixedMatrix(t.time,DO);let n=Ab.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);$.multiplyByVector(DO,n,n),h.normalize(n,e._sunDirectionWC),n=$.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=Ab.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),$.multiplyByVector(DO,n,n),$.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,UZe);i.project(r,e._sunPositionColumbusView)}JS.prototype.updateCamera=function(e){wZe(this,e.viewMatrix),FZe(this,e.inverseViewMatrix),kZe(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==oe.SCENE2D&&e.frustum instanceof ln};JS.prototype.updateFrustum=function(e){AZe(this,e.projectionMatrix),l(e.infiniteProjectionMatrix)&&MZe(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=W.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let t=e.offCenterFrustum;l(t)&&(e=t),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};JS.prototype.updatePass=function(e){this._pass=e};var BZe=[],OZe=new Lp;JS.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===oe.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),DZe(this,e);let n=y(e.light,OZe);n instanceof Lp?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=$.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=l(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,BZe),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,this._fogDensity=e.fog.density,this._fogMinimumBrightness=e.fog.minimumBrightness;let c=e.atmosphere;l(c)&&(this._atmosphereHsbShift=h.fromElements(c.hueShift,c.saturationShift,c.brightnessShift,this._atmosphereHsbShift),this._atmosphereLightIntensity=c.lightIntensity,this._atmosphereRayleighCoefficient=h.clone(c.rayleighCoefficient,this._atmosphereRayleighCoefficient),this._atmosphereRayleighScaleHeight=c.rayleighScaleHeight,this._atmosphereMieCoefficient=h.clone(c.mieCoefficient,this._atmosphereMieCoefficient),this._atmosphereMieScaleHeight=c.mieScaleHeight,this._atmosphereMieAnisotropy=c.mieAnisotropy,this._atmosphereDynamicLighting=c.dynamicLighting),this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Ft.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let d=t.frustum.fov,u=this._viewport,m;l(d)?u.height>u.width?m=Math.tan(.5*d)*2/u.height:m=Math.tan(.5*d)*2/u.width:m=1/Math.max(u.width,u.height),this._geometricToleranceOverMeter=m*e.maximumScreenSpaceError,B.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function $ee(e){if(e._viewportDirty){let t=e._viewport;M.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),M.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function YZe(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==oe.SCENE2D&&e._mode!==oe.MORPHING&&!e._orthographicIn3D?M.inverse(e._projection,e._inverseProjection):M.clone(M.ZERO,e._inverseProjection))}function zZe(e){e._modelViewDirty&&(e._modelViewDirty=!1,M.multiplyTransformation(e._view,e._model,e._modelView))}function HZe(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,M.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function KZe(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,M.inverse(e.modelView,e._inverseModelView))}function JZe(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,M.inverse(e.modelView3D,e._inverseModelView3D))}function QZe(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,M.multiply(e._projection,e._view,e._viewProjection))}function jZe(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,M.inverse(e.viewProjection,e._inverseViewProjection))}function qZe(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,M.multiply(e._projection,e.modelView,e._modelViewProjection))}function $Ze(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function eGe(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,M.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function tGe(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,M.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function nGe(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,M.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function iGe(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;M.getMatrix3(e.inverseModelView,t),$.transpose(t,t)}}function oGe(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;M.getMatrix3(e.inverseModelView3D,t),$.transpose(t,t)}}function rGe(e){if(e._inverseNormalDirty){e._inverseNormalDirty=!1;let t=e._inverseNormal;M.getMatrix3(e.modelView,t),$.transpose(t,t)}}function sGe(e){if(e._inverseNormal3DDirty){e._inverseNormal3DDirty=!1;let t=e._inverseNormal3D;M.getMatrix3(e.modelView3D,t),$.transpose(t,t)}}var ete=new h;function tte(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,M.multiplyByPoint(e.inverseModel,e._cameraPosition,ete),zn.fromCartesian(ete,e._encodedCameraPositionMC))}var aGe=new h,cGe=new h,lGe=new h,dGe=new h,uGe=new he,mGe=new h,hGe=new M;function fGe(e,t,n,i,o,r,s,a){let c=aGe;c.x=e.y,c.y=e.z,c.z=e.x;let d=cGe;d.x=n.y,d.y=n.z,d.z=n.x;let u=lGe;u.x=i.y,u.y=i.z,u.z=i.x;let m=dGe;m.x=t.y,m.y=t.z,m.z=t.x,r===oe.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,uGe);p.longitude=W.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=W.clamp(p.latitude,-W.PI_OVER_TWO,W.PI_OVER_TWO);let g=s.ellipsoid,f=g.cartographicToCartesian(p,mGe),x=Ft.eastNorthUpToFixedFrame(f,g,hGe);return M.multiplyByPointAsVector(x,d,d),M.multiplyByPointAsVector(x,u,u),M.multiplyByPointAsVector(x,m,m),l(a)||(a=new M),a[0]=d.x,a[1]=u.x,a[2]=-m.x,a[3]=0,a[4]=d.y,a[5]=u.y,a[6]=-m.y,a[7]=0,a[8]=d.z,a[9]=u.z,a[10]=-m.z,a[11]=0,a[12]=-h.dot(d,f),a[13]=-h.dot(u,f),a[14]=h.dot(m,f),a[15]=1,a}function BO(e){e._view3DDirty&&(e._mode===oe.SCENE3D?M.clone(e._view,e._view3D):fGe(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),M.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function nte(e){e._inverseView3DDirty&&(M.inverseTransformation(e.view3D,e._inverseView3D),M.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var QG=JS;var F5t=T(S(),1);function pGe(e,t,n,i){let o=l(t.vertexBuffer),r=l(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,Q.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let d=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(d,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(d),this.instanceDivisor>0&&(i.glVertexAttribDivisor(d,this.instanceDivisor),i._vertexAttribDivisors[d]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function ote(e,t,n){for(let i=0;i0&&(c=!0),l(s[r].value)&&(d=!0);let m;t.vertexArrayObject&&(m=t.glCreateVertexArray(),t.glBindVertexArray(m),ote(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=d,this._context=t,this._gl=n,this._vao=m,this._attributes=s,this._indexBuffer=o}function ite(e){return e.values.length/e.componentsPerAttribute}function bGe(e){return Q.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function gGe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)&&(o.push(n),e[n].componentDatatype===Q.DOUBLE&&(e[n].componentDatatype=Q.FLOAT,e[n].values=Q.createTypedArray(Q.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=ite(e[o[0]]),t=1;t0){let d=Q.getSizeInBytes(e[o[0]].componentDatatype),u=a%d;u!==0&&(a+=d-u);let m=r*a,p=new ArrayBuffer(m),g={};for(t=0;t=W.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=xt.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:Ne.UNSIGNED_INT}):p=xt.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:Ne.UNSIGNED_SHORT})),new Rp({context:t,attributes:u,indexBuffer:p})};Object.defineProperties(Rp.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});Rp.prototype.getAttribute=function(e){return this._attributes[e]};function yGe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=Dt.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function xGe(e,t){let n=e._attributes,i=n.length;for(let o=0;o"u")throw new de("The browser does not support WebGL. Visit http://get.webgl.org.");!n&&!(typeof WebGL2RenderingContext<"u")&&(n=!0);let o=n?"webgl":"webgl2",r=e.getContext(o,t);if(!l(r))throw new de("The browser supports WebGL, but initialization failed.");return r}function TGe(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function SGe(e,t,n,i){let o=`${TGe(e,i)}: ${t.name}(`;for(let r=0;r=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},supportsTextureLod:{get:function(){return this._webgl2||this._supportsTextureLod}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=LGe(this._originalGLContext,e?CGe:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new wt({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new wt({context:this,pixelFormat:dt.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new wt({context:this,pixelFormat:dt.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new Xa({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return RGe}}});function rte(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,Be.partialApply(e._gl,o,t,r,n,i)}var OO;typeof WebGLRenderingContext<"u"&&(OO=[ie.BACK]);function YO(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=OO;if(l(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var ZGe=new ni;rd.prototype.clear=function(e,t){e=y(e,ZGe),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;l(o)&&(B.equals(this._clearColor,o)||(B.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),l(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),l(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);rte(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);YO(this,c),n.clear(i)};function GGe(e,t,n,i,o){YO(e,t),rte(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function EGe(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,M.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let d=r.indexBuffer;l(d)?(s=s*d.bytesPerIndex,l(a)?a=Math.min(a,d.numberOfIndices):a=d.numberOfIndices,c===0?e._gl.drawElements(o,a,d.indexDatatype,s):e.glDrawElementsInstanced(o,a,d.indexDatatype,s,c)):(l(a)?a=Math.min(a,r.numberOfVertices):a=r.numberOfVertices,c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}rd.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),GGe(this,o,t,n,r),EGe(this,e,n,i)};rd.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=OO;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i0&&(a=s.getColorTexture(0).pixelDatatype);let c=dt.createTypedArray(dt.RGBA,a,o,r);return YO(this,s),t.readPixels(n,i,o,r,dt.RGBA,it.toWebGLConstant(a,this),c),c};var ste={position:0,textureCoordinates:1};rd.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!l(e)){let t=new ft({attributes:{position:new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Me.TRIANGLES});e=hi.fromGeometry({context:this,geometry:t,attributeLocations:ste,bufferUsage:Ue.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};rd.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new tt({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Me.TRIANGLES,renderState:t.renderState,shaderProgram:cn.fromCache({context:this,vertexShaderSource:ax,fragmentShaderSource:e,attributeLocations:ste}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};rd.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function zO(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties(zO.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});zO.prototype.destroy=function(){delete this._pickObjects[this.key]};rd.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new de("Out of unique Pick IDs.");return this._pickObjects[t]=e,new zO(this._pickObjects,t,B.fromRgba(t))};rd.prototype.isDestroyed=function(){return!1};rd.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];l(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),me(this)};rd._deprecationWarning=as;var jG=rd;var Bkt=T(S(),1);var Tkt=T(S(),1);function QS(e){e=y(e,y.EMPTY_OBJECT);let{context:t,width:n,height:i,colorRenderbuffers:o,colorTextures:r,depthStencilRenderbuffer:s,depthStencilTexture:a,destroyAttachments:c}=e;if(this._width=n,this._height=i,l(o)!==l(r))throw new fe("Both color renderbuffer and texture attachments must be provided.");if(l(s)!==l(a))throw new fe("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new aa({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:c}),this._colorFramebuffer=new aa({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:c})}QS.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};QS.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};QS.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),l(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};QS.prototype.isDestroyed=function(){return!1};QS.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),me(this)};var qG=QS;var Xkt=T(S(),1);var Vkt=T(S(),1);var _l={RGBA4:ie.RGBA4,RGBA8:ie.RGBA8,RGBA16F:ie.RGBA16F,RGBA32F:ie.RGBA32F,RGB5_A1:ie.RGB5_A1,RGB565:ie.RGB565,DEPTH_COMPONENT16:ie.DEPTH_COMPONENT16,STENCIL_INDEX8:ie.STENCIL_INDEX8,DEPTH_STENCIL:ie.DEPTH_STENCIL,DEPTH24_STENCIL8:ie.DEPTH24_STENCIL8,validate:function(e){return e===_l.RGBA4||e===_l.RGBA8||e===_l.RGBA16F||e===_l.RGBA32F||e===_l.RGB5_A1||e===_l.RGB565||e===_l.DEPTH_COMPONENT16||e===_l.STENCIL_INDEX8||e===_l.DEPTH_STENCIL||e===_l.DEPTH24_STENCIL8},getColorFormat:function(e){return e===ie.FLOAT?_l.RGBA32F:e===ie.HALF_FLOAT_OES?_l.RGBA16F:_l.RGBA8}},Pc=Object.freeze(_l);function $G(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Dt.maximumRenderbufferSize,o=y(e.format,Pc.RGBA4),r=l(e.width)?e.width:n.drawingBufferWidth,s=l(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties($G.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});$G.prototype._getRenderbuffer=function(){return this._renderbuffer};$G.prototype.isDestroyed=function(){return!1};$G.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),me(this)};var sd=$G;function Ts(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Ts.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});Ts.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=l(i)&&this._pixelDatatype!==i||l(o)&&this._pixelFormat!==o,c=n===1?l(this._framebuffer):l(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!l(this._colorTextures[0])};Ts.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,it.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,dt.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s1){let a=Pc.getColorFormat(o);this._colorRenderbuffers[s]=new sd({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new wt({context:e,width:t,height:n,pixelFormat:dt.DEPTH_STENCIL,pixelDatatype:it.UNSIGNED_INT_24_8,sampler:nn.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new sd({context:e,width:t,height:n,format:Pc.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new sd({context:e,width:t,height:n,format:Pc.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new wt({context:e,width:t,height:n,pixelFormat:dt.DEPTH_COMPONENT,pixelDatatype:it.UNSIGNED_INT,sampler:nn.NEAREST}):this._depthRenderbuffer=new sd({context:e,width:t,height:n,format:Pc.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new qG({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new aa({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};Ts.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};Ts.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};Ts.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};Ts.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};Ts.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};Ts.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};Ts.prototype.getDepthTexture=function(){return this._depthTexture};Ts.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};Ts.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};Ts.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};Ts.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};Ts.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};Ts.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};Ts.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};Ts.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};Ts.prototype.destroy=function(){if(this._color){let e=this._colorTextures,t=this._colorRenderbuffers;for(let n=0;n0?Q.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=o===0?0:i-o;return t+=r,t};Ms._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(l(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=l(n);if(!o||n.sizeInBytes0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}Ms.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t0&&(this._hash={},e.length=0)};var Zt=hx;var UUt=T(S(),1);function ad(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(ad.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});ad.packedLength=2;ad.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};ad.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ad),n.near=e[t++],n.far=e[t],n};ad.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.far===t.far};ad.clone=function(e,t){if(l(e))return l(t)||(t=new ad),t.near=e.near,t.far=e.far,t};ad.prototype.clone=function(e){return ad.clone(this,e)};ad.prototype.equals=function(e){return ad.equals(this,e)};var vt=ad;var YUt=T(S(),1);function mu(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}mu.clone=function(e,t){if(l(e))return l(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new mu(e.near,e.nearValue,e.far,e.farValue)};mu.packedLength=4;mu.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};mu.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new mu),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};mu.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};mu.prototype.clone=function(e){return mu.clone(this,e)};mu.prototype.equals=function(e){return mu.equals(this,e)};var kt=mu;var HUt=T(S(),1),fx={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2,CLAMP_TO_TERRAIN:3,RELATIVE_TO_TERRAIN:4,CLAMP_TO_3D_TILE:5,RELATIVE_TO_3D_TILE:6},Je=Object.freeze(fx);function hu(e){return e===fx.CLAMP_TO_GROUND||e===fx.CLAMP_TO_3D_TILE||e===fx.CLAMP_TO_TERRAIN}function jS(e){return e===fx.RELATIVE_TO_GROUND||e===fx.RELATIVE_TO_3D_TILE||e===fx.RELATIVE_TO_TERRAIN}var JUt=T(S(),1),kGe={CENTER:0,LEFT:1,RIGHT:-1},gi=Object.freeze(kGe);var jUt=T(S(),1),UGe={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},wn=Object.freeze(UGe);var $Ut=T(S(),1),DGe={DONE:0,PENDING:1,FAILED:2},ht=Object.freeze(DGe);var oDt=T(S(),1);function Vm(){fe.throwInstantiationError()}Object.defineProperties(Vm.prototype,{isConstant:{get:fe.throwInstantiationError},definitionChanged:{get:fe.throwInstantiationError}});Vm.prototype.getValue=fe.throwInstantiationError;Vm.prototype.equals=fe.throwInstantiationError;Vm.equals=function(e,t){return e===t||l(e)&&e.equals(t)};Vm.arrayEquals=function(e,t){if(e===t)return!0;if(!l(e)||!l(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i-1;o--)r=t[o],l(r._billboard)&&l(r._position)&&s.set(r.id,new ate(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._billboard)&&l(r._position)?s.contains(r.id)||s.set(r.id,new ate(r)):(QO(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],QO(s.get(r.id),r,a),s.remove(r.id)};function QO(e,t,n){l(e)&&(e.billboard=void 0,n.removeBillboard(t))}var oE=Nb;var mtn=T(S(),1);var c3t=T(S(),1);var kDt=T(S(),1);var RDt=T(S(),1);function dEe(e,t){this.start=y(e,0),this.stop=y(t,0)}var Pa=dEe;function bn(e,t){this.center=h.clone(y(e,h.ZERO)),this.radius=y(t,0)}var $O=new h,eY=new h,tY=new h,nY=new h,iY=new h,oY=new h,rY=new h,la=new h,sY=new h,aY=new h,cY=new h,lY=new h,uEe=4/3*W.PI;bn.fromPoints=function(e,t){if(l(t)||(t=new bn),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=h.clone(e[0],rY),i=h.clone(n,$O),o=h.clone(n,eY),r=h.clone(n,tY),s=h.clone(n,nY),a=h.clone(n,iY),c=h.clone(n,oY),d=e.length,u;for(u=1;us.x&&h.clone(n,s),wa.y&&h.clone(n,a),Fc.z&&h.clone(n,c)}let m=h.magnitudeSquared(h.subtract(s,i,la)),p=h.magnitudeSquared(h.subtract(a,o,la)),g=h.magnitudeSquared(h.subtract(c,r,la)),f=i,x=s,_=m;p>_&&(_=p,f=o,x=a),g>_&&(_=g,f=r,x=c);let C=sY;C.x=(f.x+x.x)*.5,C.y=(f.y+x.y)*.5,C.z=(f.z+x.z)*.5;let V=h.magnitudeSquared(h.subtract(x,C,la)),L=Math.sqrt(V),Z=aY;Z.x=i.x,Z.y=o.y,Z.z=r.z;let G=cY;G.x=s.x,G.y=a.y,G.z=c.z;let I=h.midpoint(Z,G,lY),v=0;for(u=0;uv&&(v=P);let w=h.magnitudeSquared(h.subtract(n,C,la));if(w>V){let F=Math.sqrt(w);L=(L+F)*.5,V=L*L;let b=F-L;C.x=(L*C.x+b*n.x)/F,C.y=(L*C.y+b*n.y)/F,C.z=(L*C.z+b*n.z)/F}}return Lc.x&&h.clone(o,c),bd.y&&h.clone(o,d),Ru.z&&h.clone(o,u)}let g=h.magnitudeSquared(h.subtract(c,r,la)),f=h.magnitudeSquared(h.subtract(d,s,la)),x=h.magnitudeSquared(h.subtract(u,a,la)),_=r,C=c,V=g;f>V&&(V=f,_=s,C=d),x>V&&(V=x,_=a,C=u);let L=sY;L.x=(_.x+C.x)*.5,L.y=(_.y+C.y)*.5,L.z=(_.z+C.z)*.5;let Z=h.magnitudeSquared(h.subtract(C,L,la)),G=Math.sqrt(Z),I=aY;I.x=r.x,I.y=s.y,I.z=a.z;let v=cY;v.x=c.x,v.y=d.y,v.z=u.z;let P=h.midpoint(I,v,lY),w=0;for(p=0;pw&&(w=F);let b=h.magnitudeSquared(h.subtract(o,L,la));if(b>Z){let R=Math.sqrt(b);G=(G+R)*.5,Z=G*G;let E=R-G;L.x=(G*L.x+E*o.x)/R,L.y=(G*L.y+E*o.y)/R,L.z=(G*L.z+E*o.z)/R}}return Ga.x&&h.clone(i,a),Fc.y&&h.clone(i,c),bd.z&&h.clone(i,d)}let p=h.magnitudeSquared(h.subtract(a,o,la)),g=h.magnitudeSquared(h.subtract(c,r,la)),f=h.magnitudeSquared(h.subtract(d,s,la)),x=o,_=a,C=p;g>C&&(C=g,x=r,_=c),f>C&&(C=f,x=s,_=d);let V=sY;V.x=(x.x+_.x)*.5,V.y=(x.y+_.y)*.5,V.z=(x.z+_.z)*.5;let L=h.magnitudeSquared(h.subtract(_,V,la)),Z=Math.sqrt(L),G=aY;G.x=o.x,G.y=r.y,G.z=s.z;let I=cY;I.x=a.x,I.y=c.y,I.z=d.z;let v=h.midpoint(G,I,lY),P=0;for(m=0;mP&&(P=w);let F=h.magnitudeSquared(h.subtract(i,V,la));if(F>L){let b=Math.sqrt(F);Z=(Z+b)*.5,L=Z*Z;let R=b-Z;V.x=(Z*V.x+R*i.x)/b,V.y=(Z*V.y+R*i.y)/b,V.z=(Z*V.z+R*i.z)/b}}return Z=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let d=(o+c+s)*.5,u=h.multiplyByScalar(a,(-o+d)/c,SEe);return h.add(u,i,u),h.clone(u,n.center),n.radius=d,n};var CEe=new h;bn.expand=function(e,t,n){n=bn.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,CEe));return i>n.radius&&(n.radius=i),n};bn.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?Kt.OUTSIDE:r-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};Gm.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(l(o))return o.shaderProgram};Gm.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new Oe({sources:[r]})),typeof s=="string"&&(s=new Oe({sources:[s]}));let c=this._context,d=r.createCombinedVertexShader(c),u=s.createCombinedFragmentShader(c),m=new en({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:d,fragmentShaderSource:s,fragmentShaderText:u,attributeLocations:a}),p={cache:this,shaderProgram:m,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),m._cachedShader=p,this._shaders[o]=p,m};function SY(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;oIGe;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*W.TWO_PI,o}function WGe(e,t){let n=Math.floor(e/W.TWO_PI);e-=n*W.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=W.zeroToTwoPi(r),e<0&&(r-=W.TWO_PI),r+=n*W.TWO_PI,r}function PGe(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),d=Math.sin(n);return l(i)?(i[0]=c*o-d*r*s,i[1]=d*o+c*r*s,i[2]=r*a,i[3]=-c*r-d*o*s,i[4]=-d*r+c*o*s,i[5]=o*a,i[6]=d*a,i[7]=-c*a,i[8]=s):i=new $(c*o-d*r*s,-c*r-d*o*s,d*a,d*o+c*r*s,-d*r+c*o*s,-c*a,r*a,o*a,s),i}var vGe=1.0000010178*va,wGe=100.46645683*xu,FGe=129597742283429e-5*dd,Ete=16002,Ite=21863,Xte=32004,Wte=10931,Pte=14529,vte=16368,wte=15318,Fte=32794,AGe=64*1e-7*va,MGe=-152*1e-7*va,NGe=62*1e-7*va,kGe=-8*1e-7*va,UGe=32*1e-7*va,DGe=-41*1e-7*va,BGe=19*1e-7*va,OGe=-11*1e-7*va,YGe=-150*1e-7*va,HGe=-46*1e-7*va,zGe=68*1e-7*va,KGe=54*1e-7*va,JGe=14*1e-7*va,QGe=24*1e-7*va,jGe=-28*1e-7*va,qGe=22*1e-7*va,Ate=10,Mte=16002,Nte=21863,kte=10931,Ute=1473,Dte=32004,Bte=4387,Ote=73,$Ge=-325*1e-7,eEe=-322*1e-7,tEe=-79*1e-7,nEe=232*1e-7,iEe=-52*1e-7,oEe=97*1e-7,rEe=55*1e-7,sEe=-41*1e-7,aEe=-105*1e-7,cEe=-137*1e-7,lEe=258*1e-7,dEe=35*1e-7,uEe=-116*1e-7,mEe=-88*1e-7,hEe=-112*1e-7,fEe=-80*1e-7,oC=new j(0,0,Kn.TAI);function pEe(e,t){Hte(e,oC);let i=(oC.dayNumber-QN.dayNumber+(oC.secondsOfDay-QN.secondsOfDay)/Jn.SECONDS_PER_DAY)/(Jn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=vGe+AGe*Math.cos(Ete*o)+YGe*Math.sin(Ete*o)+MGe*Math.cos(Ite*o)+HGe*Math.sin(Ite*o)+NGe*Math.cos(Xte*o)+zGe*Math.sin(Xte*o)+kGe*Math.cos(Wte*o)+KGe*Math.sin(Wte*o)+UGe*Math.cos(Pte*o)+JGe*Math.sin(Pte*o)+DGe*Math.cos(vte*o)+QGe*Math.sin(vte*o)+BGe*Math.cos(wte*o)+jGe*Math.sin(wte*o)+OGe*Math.cos(Fte*o)+qGe*Math.sin(Fte*o),s=wGe+FGe*i+$Ge*Math.cos(Ate*o)+aEe*Math.sin(Ate*o)+eEe*Math.cos(Mte*o)+cEe*Math.sin(Mte*o)+tEe*Math.cos(Nte*o)+lEe*Math.sin(Nte*o)+nEe*Math.cos(kte*o)+dEe*Math.sin(kte*o)+iEe*Math.cos(Ute*o)+uEe*Math.sin(Ute*o)+oEe*Math.cos(Dte*o)+mEe*Math.sin(Dte*o)+rEe*Math.cos(Bte*o)+hEe*Math.sin(Bte*o)+sEe*Math.cos(Ote*o)+fEe*Math.sin(Ote*o),a=.0167086342-.0004203654*i,c=102.93734808*xu+11612.3529*dd*i,d=469.97289*dd*i,u=174.87317577*xu-8679.27034*dd*i;return zte(r,a,d,c,u,s,t)}function Kte(e,t){Hte(e,oC);let i=(oC.dayNumber-QN.dayNumber+(oC.secondsOfDay-QN.secondsOfDay)/Jn.SECONDS_PER_DAY)/Jn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,d=5.15668983*xu,u=-8e-5*i+.02966*o-42e-6*r-13e-8*s,m=83.35324312*xu,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*xu,f=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,x=218.31664563*xu,_=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,C=297.85019547*xu+dd*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),V=93.27209062*xu+dd*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),L=134.96340251*xu+dd*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),Z=357.52910918*xu+dd*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),G=310.17137918*xu-dd*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),I=2*C,v=4*C,P=6*C,w=2*L,A=3*L,b=4*L,R=2*V;a+=3400.4*Math.cos(I)-635.6*Math.cos(I-L)-235.6*Math.cos(L)+218.1*Math.cos(I-Z)+181*Math.cos(I+L),c+=.014216*Math.cos(I-L)+.008551*Math.cos(I-w)-.001383*Math.cos(L)+.001356*Math.cos(I+L)-.001147*Math.cos(v-A)-914e-6*Math.cos(v-w)+869e-6*Math.cos(I-Z-L)-627e-6*Math.cos(I)-394e-6*Math.cos(v-b)+282e-6*Math.cos(I-Z-w)-279e-6*Math.cos(C-L)-236e-6*Math.cos(w)+231e-6*Math.cos(v)+229e-6*Math.cos(P-b)-201e-6*Math.cos(w-R),u+=486.26*Math.cos(I-R)-40.13*Math.cos(I)+37.51*Math.cos(R)+25.73*Math.cos(w-R)+19.97*Math.cos(I-Z-R),p+=-55609*Math.sin(I-L)-34711*Math.sin(I-w)-9792*Math.sin(L)+9385*Math.sin(v-A)+7505*Math.sin(v-w)+5318*Math.sin(I+L)+3484*Math.sin(v-b)-3417*Math.sin(I-Z-L)-2530*Math.sin(P-b)-2376*Math.sin(I)-2075*Math.sin(I-A)-1883*Math.sin(w)-1736*Math.sin(P-5*L)+1626*Math.sin(Z)-1370*Math.sin(P-A),f+=-5392*Math.sin(I-R)-540*Math.sin(Z)-441*Math.sin(I)+423*Math.sin(R)-288*Math.sin(w-R),_+=-3332.9*Math.sin(I)+1197.4*Math.sin(I-L)-662.5*Math.sin(Z)+396.3*Math.sin(L)-218*Math.sin(I-Z);let E=2*G,X=3*G;u+=46.997*Math.cos(G)*i-.614*Math.cos(I-R+G)*i+.614*Math.cos(I-R-G)*i-.0297*Math.cos(E)*o-.0335*Math.cos(G)*o+.0012*Math.cos(I-R+E)*o-16e-5*Math.cos(G)*r+4e-5*Math.cos(X)*r+4e-5*Math.cos(E)*r;let F=2.116*Math.sin(G)*i-.111*Math.sin(I-R-G)*i-.0015*Math.sin(G)*o;p+=F,_+=F,f+=-520.77*Math.sin(G)*i+13.66*Math.sin(I-R+G)*i+1.12*Math.sin(I-G)*i-1.06*Math.sin(R-G)*i+.66*Math.sin(E)*o+.371*Math.sin(G)*o-.035*Math.sin(I-R+E)*o-.015*Math.sin(I-R+G)*o+.0014*Math.sin(G)*r-.0011*Math.sin(X)*r-9e-4*Math.sin(E)*r,a*=RGe;let N=d+u*dd,O=m+p*dd,U=x+_*dd,Y=g+f*dd;return zte(a,c,N,O,Y,U,t)}var Yte=.012300034,bEe=Yte/(Yte+1)*-1;function gEe(e,t){return t=Kte(e,t),h.multiplyByScalar(t,bEe,t)}var Jte=new $(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),aE=new h;VY.computeSunPositionInEarthInertialFrame=function(e,t){return l(e)||(e=j.now()),l(t)||(t=new h),aE=pEe(e,aE),t=h.negate(aE,t),gEe(e,aE),h.subtract(t,aE,t),$.multiplyByVector(Jte,t,t),t};VY.computeMoonPositionInEarthInertialFrame=function(e,t){return l(e)||(e=j.now()),t=Kte(e,t),$.multiplyByVector(Jte,t,t),t};var Y0=VY;var uDt=T(S(),1),jN={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};jN.getMorphTime=function(e){return e===jN.SCENE3D?1:e===jN.MORPHING?void 0:0};var oe=Object.freeze(jN);var pDt=T(S(),1);function yEe(e){e=y(e,y.EMPTY_OBJECT),this.color=B.clone(y(e.color,B.WHITE)),this.intensity=y(e.intensity,2)}var Ep=yEe;function rC(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new Je,this._viewportCartesian4=new re,this._viewportDirty=!1,this._viewportOrthographicMatrix=M.clone(M.IDENTITY),this._viewportTransformation=M.clone(M.IDENTITY),this._model=M.clone(M.IDENTITY),this._view=M.clone(M.IDENTITY),this._inverseView=M.clone(M.IDENTITY),this._projection=M.clone(M.IDENTITY),this._infiniteProjection=M.clone(M.IDENTITY),this._entireFrustum=new D,this._currentFrustum=new D,this._frustumPlanes=new re,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=$.clone(M.IDENTITY),this._view3DDirty=!0,this._view3D=new M,this._inverseView3DDirty=!0,this._inverseView3D=new M,this._inverseModelDirty=!0,this._inverseModel=new M,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new $,this._viewRotation=new $,this._inverseViewRotation=new $,this._viewRotation3D=new $,this._inverseViewRotation3D=new $,this._inverseProjectionDirty=!0,this._inverseProjection=new M,this._modelViewDirty=!0,this._modelView=new M,this._modelView3DDirty=!0,this._modelView3D=new M,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new M,this._inverseModelViewDirty=!0,this._inverseModelView=new M,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new M,this._viewProjectionDirty=!0,this._viewProjection=new M,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new M,this._modelViewProjectionDirty=!0,this._modelViewProjection=new M,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new M,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new M,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new M,this._normalDirty=!0,this._normal=new $,this._normal3DDirty=!0,this._normal3D=new $,this._inverseNormalDirty=!0,this._inverseNormal=new $,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new $,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new Hn,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new D,this._eyeEllipsoidNormalEC=new h,this._eyeEllipsoidCurvature=new D,this._modelToEnu=new M,this._enuToModel=new M,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new B,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._fogVisualDensityScalar=void 0,this._fogMinimumBrightness=void 0,this._atmosphereHsbShift=void 0,this._atmosphereLightIntensity=void 0,this._atmosphereRayleighCoefficient=new h,this._atmosphereRayleighScaleHeight=new h,this._atmosphereMieCoefficient=new h,this._atmosphereMieScaleHeight=void 0,this._atmosphereMieAnisotropy=void 0,this._atmosphereDynamicLighting=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(rC.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!Je.equals(e,this._viewport)){Je.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return jte(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return jte(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){M.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,M.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,M.getMatrix3(this.inverseModel,e),$.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return RY(this),this._view3D}},viewRotation:{get:function(){return RY(this),this._viewRotation}},viewRotation3D:{get:function(){return RY(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return ene(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return ene(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return EEe(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return IEe(this),this._modelView}},modelView3D:{get:function(){return XEe(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return AEe(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return WEe(this),this._inverseModelView}},inverseModelView3D:{get:function(){return PEe(this),this._inverseModelView3D}},viewProjection:{get:function(){return vEe(this),this._viewProjection}},inverseViewProjection:{get:function(){return wEe(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return FEe(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return MEe(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return NEe(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return kEe(this),this._modelViewInfiniteProjection}},normal:{get:function(){return UEe(this),this._normal}},normal3D:{get:function(){return DEe(this),this._normal3D}},inverseNormal:{get:function(){return BEe(this),this._inverseNormal}},inverseNormal3D:{get:function(){return OEe(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},eyeEllipsoidNormalEC:{get:function(){return this._eyeEllipsoidNormalEC}},eyeEllipsoidCurvature:{get:function(){return this._eyeEllipsoidCurvature}},modelToEnu:{get:function(){return this._modelToEnu}},enuToModel:{get:function(){return this._enuToModel}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return $te(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return $te(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},fogVisualDensityScalar:{get:function(){return this._fogVisualDensityScalar}},fogMinimumBrightness:{get:function(){return this._fogMinimumBrightness}},atmosphereHsbShift:{get:function(){return this._atmosphereHsbShift}},atmosphereLightIntensity:{get:function(){return this._atmosphereLightIntensity}},atmosphereRayleighCoefficient:{get:function(){return this._atmosphereRayleighCoefficient}},atmosphereRayleighScaleHeight:{get:function(){return this._atmosphereRayleighScaleHeight}},atmosphereMieCoefficient:{get:function(){return this._atmosphereMieCoefficient}},atmosphereMieScaleHeight:{get:function(){return this._atmosphereMieScaleHeight}},atmosphereMieAnisotropy:{get:function(){return this._atmosphereMieAnisotropy}},atmosphereDynamicLighting:{get:function(){return this._atmosphereDynamicLighting}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,ne.default)}}});function xEe(e,t){M.clone(t,e._view),M.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function _Ee(e,t){M.clone(t,e._inverseView),M.getMatrix3(t,e._inverseViewRotation)}function TEe(e,t){M.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function SEe(e,t){M.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}var Qte=new h,CEe=new M;function VEe(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=e._ellipsoid,i,o=t.positionCartographic;if(l(o)?(e._eyeHeight=o.height,e._eyeEllipsoidNormalEC=n.geodeticSurfaceNormalCartographic(o,e._eyeEllipsoidNormalEC),i=h.fromRadians(o.longitude,o.latitude,0,n,Qte)):(e._eyeHeight=-n.maximumRadius,h.magnitude(t.positionWC)>0&&(e._eyeEllipsoidNormalEC=h.normalize(t.positionWC,e._eyeEllipsoidNormalEC)),i=n.scaleToGeodeticSurface(t.positionWC,Qte)),e._encodedCameraPositionMCDirty=!0,!l(i))return;e._eyeEllipsoidNormalEC=$.multiplyByVector(e._viewRotation,e._eyeEllipsoidNormalEC,e._eyeEllipsoidNormalEC);let r=vt.eastNorthUpToFixedFrame(i,n,CEe);e._enuToModel=M.multiplyTransformation(e.inverseModel,r,e._enuToModel),e._modelToEnu=M.inverseTransformation(e._enuToModel,e._modelToEnu),W.equalsEpsilon(n._radii.x,n._radii.y,W.EPSILON15)&&(e._eyeEllipsoidCurvature=n.getLocalCurvature(i,e._eyeEllipsoidCurvature))}var LY=new $,LEe=new he;function REe(e,t){vt.computeIcrfToCentralBodyFixedMatrix(t.time,LY);let n=Y0.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);$.multiplyByVector(LY,n,n),h.normalize(n,e._sunDirectionWC),n=$.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=Y0.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),$.multiplyByVector(LY,n,n),$.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,LEe);i.project(r,e._sunPositionColumbusView)}rC.prototype.updateCamera=function(e){xEe(this,e.viewMatrix),_Ee(this,e.inverseViewMatrix),VEe(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==oe.SCENE2D&&e.frustum instanceof ln};rC.prototype.updateFrustum=function(e){TEe(this,e.projectionMatrix),l(e.infiniteProjectionMatrix)&&SEe(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=W.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let t=e.offCenterFrustum;l(t)&&(e=t),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};rC.prototype.updatePass=function(e){this._pass=e};var ZEe=[],GEe=new Ep;rC.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===oe.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),REe(this,e);let n=y(e.light,GEe);n instanceof Ep?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=$.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=l(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,ZEe),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,this._fogDensity=e.fog.density,this._fogVisualDensityScalar=e.fog.visualDensityScalar,this._fogMinimumBrightness=e.fog.minimumBrightness;let c=e.atmosphere;l(c)&&(this._atmosphereHsbShift=h.fromElements(c.hueShift,c.saturationShift,c.brightnessShift,this._atmosphereHsbShift),this._atmosphereLightIntensity=c.lightIntensity,this._atmosphereRayleighCoefficient=h.clone(c.rayleighCoefficient,this._atmosphereRayleighCoefficient),this._atmosphereRayleighScaleHeight=c.rayleighScaleHeight,this._atmosphereMieCoefficient=h.clone(c.mieCoefficient,this._atmosphereMieCoefficient),this._atmosphereMieScaleHeight=c.mieScaleHeight,this._atmosphereMieAnisotropy=c.mieAnisotropy,this._atmosphereDynamicLighting=c.dynamicLighting),this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=vt.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let d=t.frustum.fov,u=this._viewport,m;l(d)?u.height>u.width?m=Math.tan(.5*d)*2/u.height:m=Math.tan(.5*d)*2/u.width:m=1/Math.max(u.width,u.height),this._geometricToleranceOverMeter=m*e.maximumScreenSpaceError,B.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function jte(e){if(e._viewportDirty){let t=e._viewport;M.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),M.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function EEe(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==oe.SCENE2D&&e._mode!==oe.MORPHING&&!e._orthographicIn3D?M.inverse(e._projection,e._inverseProjection):M.clone(M.ZERO,e._inverseProjection))}function IEe(e){e._modelViewDirty&&(e._modelViewDirty=!1,M.multiplyTransformation(e._view,e._model,e._modelView))}function XEe(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,M.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function WEe(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,M.inverse(e.modelView,e._inverseModelView))}function PEe(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,M.inverse(e.modelView3D,e._inverseModelView3D))}function vEe(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,M.multiply(e._projection,e._view,e._viewProjection))}function wEe(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,M.inverse(e.viewProjection,e._inverseViewProjection))}function FEe(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,M.multiply(e._projection,e.modelView,e._modelViewProjection))}function AEe(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function MEe(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,M.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function NEe(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,M.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function kEe(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,M.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function UEe(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;M.getMatrix3(e.inverseModelView,t),$.transpose(t,t)}}function DEe(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;M.getMatrix3(e.inverseModelView3D,t),$.transpose(t,t)}}function BEe(e){if(e._inverseNormalDirty){e._inverseNormalDirty=!1;let t=e._inverseNormal;M.getMatrix3(e.modelView,t),$.transpose(t,t)}}function OEe(e){if(e._inverseNormal3DDirty){e._inverseNormal3DDirty=!1;let t=e._inverseNormal3D;M.getMatrix3(e.modelView3D,t),$.transpose(t,t)}}var qte=new h;function $te(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,M.multiplyByPoint(e.inverseModel,e._cameraPosition,qte),Hn.fromCartesian(qte,e._encodedCameraPositionMC))}var YEe=new h,HEe=new h,zEe=new h,KEe=new h,JEe=new he,QEe=new h,jEe=new M;function qEe(e,t,n,i,o,r,s,a){let c=YEe;c.x=e.y,c.y=e.z,c.z=e.x;let d=HEe;d.x=n.y,d.y=n.z,d.z=n.x;let u=zEe;u.x=i.y,u.y=i.z,u.z=i.x;let m=KEe;m.x=t.y,m.y=t.z,m.z=t.x,r===oe.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,JEe);p.longitude=W.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=W.clamp(p.latitude,-W.PI_OVER_TWO,W.PI_OVER_TWO);let g=s.ellipsoid,f=g.cartographicToCartesian(p,QEe),x=vt.eastNorthUpToFixedFrame(f,g,jEe);return M.multiplyByPointAsVector(x,d,d),M.multiplyByPointAsVector(x,u,u),M.multiplyByPointAsVector(x,m,m),l(a)||(a=new M),a[0]=d.x,a[1]=u.x,a[2]=-m.x,a[3]=0,a[4]=d.y,a[5]=u.y,a[6]=-m.y,a[7]=0,a[8]=d.z,a[9]=u.z,a[10]=-m.z,a[11]=0,a[12]=-h.dot(d,f),a[13]=-h.dot(u,f),a[14]=h.dot(m,f),a[15]=1,a}function RY(e){e._view3DDirty&&(e._mode===oe.SCENE3D?M.clone(e._view,e._view3D):qEe(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),M.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function ene(e){e._inverseView3DDirty&&(M.inverseTransformation(e.view3D,e._inverseView3D),M.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var cE=rC;function ud(e,t){let{getWebGLStub:n,requestWebgl1:i,webgl:o={},allowTextureFilterAnisotropic:r=!0}=y(t,{});o.alpha=y(o.alpha,!1),o.stencil=y(o.stencil,!0),o.powerPreference=y(o.powerPreference,"high-performance");let s=l(n)?n(e,o):$Ee(e,o,i),c=typeof WebGL2RenderingContext<"u"&&s instanceof WebGL2RenderingContext;this._canvas=e,this._originalGLContext=s,this._gl=s,this._webgl2=c,this._id=Yn(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new oE(this),this._textureCache=new rE;let d=s;this._stencilBits=d.getParameter(d.STENCIL_BITS),At._maximumCombinedTextureImageUnits=d.getParameter(d.MAX_COMBINED_TEXTURE_IMAGE_UNITS),At._maximumCubeMapSize=d.getParameter(d.MAX_CUBE_MAP_TEXTURE_SIZE),At._maximumFragmentUniformVectors=d.getParameter(d.MAX_FRAGMENT_UNIFORM_VECTORS),At._maximumTextureImageUnits=d.getParameter(d.MAX_TEXTURE_IMAGE_UNITS),At._maximumRenderbufferSize=d.getParameter(d.MAX_RENDERBUFFER_SIZE),At._maximumTextureSize=d.getParameter(d.MAX_TEXTURE_SIZE),At._maximumVaryingVectors=d.getParameter(d.MAX_VARYING_VECTORS),At._maximumVertexAttributes=d.getParameter(d.MAX_VERTEX_ATTRIBS),At._maximumVertexTextureImageUnits=d.getParameter(d.MAX_VERTEX_TEXTURE_IMAGE_UNITS),At._maximumVertexUniformVectors=d.getParameter(d.MAX_VERTEX_UNIFORM_VECTORS),At._maximumSamples=this._webgl2?d.getParameter(d.MAX_SAMPLES):0;let u=d.getParameter(d.ALIASED_LINE_WIDTH_RANGE);At._minimumAliasedLineWidth=u[0],At._maximumAliasedLineWidth=u[1];let m=d.getParameter(d.ALIASED_POINT_SIZE_RANGE);At._minimumAliasedPointSize=m[0],At._maximumAliasedPointSize=m[1];let p=d.getParameter(d.MAX_VIEWPORT_DIMS);At._maximumViewportWidth=p[0],At._maximumViewportHeight=p[1];let g=d.getShaderPrecisionFormat(d.FRAGMENT_SHADER,d.HIGH_FLOAT);At._highpFloatSupported=g.precision!==0;let f=d.getShaderPrecisionFormat(d.FRAGMENT_SHADER,d.HIGH_INT);At._highpIntSupported=f.rangeMax!==0,this._antialias=d.getContextAttributes().antialias,this._standardDerivatives=!!Sr(d,["OES_standard_derivatives"]),this._blendMinmax=!!Sr(d,["EXT_blend_minmax"]),this._elementIndexUint=!!Sr(d,["OES_element_index_uint"]),this._depthTexture=!!Sr(d,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!Sr(d,["EXT_frag_depth"]),this._debugShaders=Sr(d,["WEBGL_debug_shaders"]),this._textureFloat=!!Sr(d,["OES_texture_float"]),this._textureHalfFloat=!!Sr(d,["OES_texture_half_float"]),this._textureFloatLinear=!!Sr(d,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!Sr(d,["OES_texture_half_float_linear"]),this._supportsTextureLod=!!Sr(d,["EXT_shader_texture_lod"]),this._colorBufferFloat=!!Sr(d,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!Sr(d,["EXT_float_blend"]),this._colorBufferHalfFloat=!!Sr(d,["EXT_color_buffer_half_float"]),this._s3tc=!!Sr(d,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!Sr(d,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!Sr(d,["WEBGL_compressed_texture_astc"]),this._etc=!!Sr(d,["WEBG_compressed_texture_etc"]),this._etc1=!!Sr(d,["WEBGL_compressed_texture_etc1"]),this._bc7=!!Sr(d,["EXT_texture_compression_bptc"]),Tl.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let x=r?Sr(d,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=x,At._maximumTextureFilterAnisotropy=l(x)?d.getParameter(x.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let _,C,V,L,Z,G,I,v,P,w;if(c){let E=this;_=function(){return E._gl.createVertexArray()},C=function(X){E._gl.bindVertexArray(X)},V=function(X){E._gl.deleteVertexArray(X)},L=function(X,F,N,O,U){d.drawElementsInstanced(X,F,N,O,U)},Z=function(X,F,N,O){d.drawArraysInstanced(X,F,N,O)},G=function(X,F){d.vertexAttribDivisor(X,F)},I=function(X){d.drawBuffers(X)}}else v=Sr(d,["OES_vertex_array_object"]),l(v)&&(_=function(){return v.createVertexArrayOES()},C=function(E){v.bindVertexArrayOES(E)},V=function(E){v.deleteVertexArrayOES(E)}),P=Sr(d,["ANGLE_instanced_arrays"]),l(P)&&(L=function(E,X,F,N,O){P.drawElementsInstancedANGLE(E,X,F,N,O)},Z=function(E,X,F,N){P.drawArraysInstancedANGLE(E,X,F,N)},G=function(E,X){P.vertexAttribDivisorANGLE(E,X)}),w=Sr(d,["WEBGL_draw_buffers"]),l(w)&&(I=function(E){w.drawBuffersWEBGL(E)});this.glCreateVertexArray=_,this.glBindVertexArray=C,this.glDeleteVertexArray=V,this.glDrawElementsInstanced=L,this.glDrawArraysInstanced=Z,this.glVertexAttribDivisor=G,this.glDrawBuffers=I,this._vertexArrayObject=!!v,this._instancedArrays=!!P,this._drawBuffers=!!w,At._maximumDrawBuffers=this.drawBuffers?d.getParameter(ie.MAX_DRAW_BUFFERS):1,At._maximumColorAttachments=this.drawBuffers?d.getParameter(ie.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new B(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let A=new cE,b=new sc(this),R=Be.fromCache();this._defaultPassState=b,this._defaultRenderState=R,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=A,this._currentRenderState=R,this._currentPassState=b,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let E=0;E"u")throw new ce("The browser does not support WebGL. Visit http://get.webgl.org.");!n&&!(typeof WebGL2RenderingContext<"u")&&(n=!0);let o=n?"webgl":"webgl2",r=e.getContext(o,t);if(!l(r))throw new ce("The browser supports WebGL, but initialization failed.");return r}function eIe(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function tIe(e,t,n,i){let o=`${eIe(e,i)}: ${t.name}(`;for(let r=0;r=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},supportsTextureLod:{get:function(){return this._webgl2||this._supportsTextureLod}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=oIe(this._originalGLContext,e?nIe:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new It({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new It({context:this,pixelFormat:st.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new It({context:this,pixelFormat:st.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new Tr({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return rIe}}});function tne(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,Be.partialApply(e._gl,o,t,r,n,i)}var ZY;typeof WebGLRenderingContext<"u"&&(ZY=[ie.BACK]);function GY(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=ZY;if(l(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var sIe=new oi;ud.prototype.clear=function(e,t){e=y(e,sIe),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;l(o)&&(B.equals(this._clearColor,o)||(B.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),l(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),l(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);tne(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);GY(this,c),n.clear(i)};function aIe(e,t,n,i,o){GY(e,t),tne(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function cIe(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,M.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let d=r.indexBuffer;l(d)?(s=s*d.bytesPerIndex,l(a)?a=Math.min(a,d.numberOfIndices):a=d.numberOfIndices,c===0?e._gl.drawElements(o,a,d.indexDatatype,s):e.glDrawElementsInstanced(o,a,d.indexDatatype,s,c)):(l(a)?a=Math.min(a,r.numberOfVertices):a=r.numberOfVertices,c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}ud.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),aIe(this,o,t,n,r),cIe(this,e,n,i)};ud.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=ZY;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i0&&(a=s.getColorTexture(0).pixelDatatype);let c=st.createTypedArray(st.RGBA,a,o,r);return GY(this,s),t.readPixels(n,i,o,r,st.RGBA,qe.toWebGLConstant(a,this),c),c};var nne={position:0,textureCoordinates:1};ud.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!l(e)){let t=new ht({attributes:{position:new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Me.TRIANGLES});e=ri.fromGeometry({context:this,geometry:t,attributeLocations:nne,bufferUsage:Ue.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};ud.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new tt({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Me.TRIANGLES,renderState:t.renderState,shaderProgram:en.fromCache({context:this,vertexShaderSource:bx,fragmentShaderSource:e,attributeLocations:nne}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};ud.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function EY(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties(EY.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});EY.prototype.destroy=function(){delete this._pickObjects[this.key]};ud.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new ce("Out of unique Pick IDs.");return this._pickObjects[t]=e,new EY(this._pickObjects,t,B.fromRgba(t))};ud.prototype.isDestroyed=function(){return!1};ud.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];l(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),me(this)};ud._deprecationWarning=hs;var lE=ud;var DBt=T(S(),1);var _Bt=T(S(),1);function sC(e){e=y(e,y.EMPTY_OBJECT);let{context:t,width:n,height:i,colorRenderbuffers:o,colorTextures:r,depthStencilRenderbuffer:s,depthStencilTexture:a,destroyAttachments:c}=e;if(this._width=n,this._height=i,l(o)!==l(r))throw new fe("Both color renderbuffer and texture attachments must be provided.");if(l(s)!==l(a))throw new fe("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new Pr({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:c}),this._colorFramebuffer=new Pr({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:c})}sC.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};sC.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};sC.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),l(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};sC.prototype.isDestroyed=function(){return!1};sC.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),me(this)};var dE=sC;var IBt=T(S(),1);var CBt=T(S(),1);var Cl={RGBA4:ie.RGBA4,RGBA8:ie.RGBA8,RGBA16F:ie.RGBA16F,RGBA32F:ie.RGBA32F,RGB5_A1:ie.RGB5_A1,RGB565:ie.RGB565,DEPTH_COMPONENT16:ie.DEPTH_COMPONENT16,STENCIL_INDEX8:ie.STENCIL_INDEX8,DEPTH_STENCIL:ie.DEPTH_STENCIL,DEPTH24_STENCIL8:ie.DEPTH24_STENCIL8,validate:function(e){return e===Cl.RGBA4||e===Cl.RGBA8||e===Cl.RGBA16F||e===Cl.RGBA32F||e===Cl.RGB5_A1||e===Cl.RGB565||e===Cl.DEPTH_COMPONENT16||e===Cl.STENCIL_INDEX8||e===Cl.DEPTH_STENCIL||e===Cl.DEPTH24_STENCIL8},getColorFormat:function(e){return e===ie.FLOAT?Cl.RGBA32F:e===ie.HALF_FLOAT_OES?Cl.RGBA16F:Cl.RGBA8}},Mc=Object.freeze(Cl);function uE(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=At.maximumRenderbufferSize,o=y(e.format,Mc.RGBA4),r=l(e.width)?e.width:n.drawingBufferWidth,s=l(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(uE.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});uE.prototype._getRenderbuffer=function(){return this._renderbuffer};uE.prototype.isDestroyed=function(){return!1};uE.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),me(this)};var md=uE;function Zs(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Zs.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});Zs.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=l(i)&&this._pixelDatatype!==i||l(o)&&this._pixelFormat!==o,c=n===1?l(this._framebuffer):l(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!l(this._colorTextures[0])};Zs.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,qe.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,st.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s1){let a=Mc.getColorFormat(o);this._colorRenderbuffers[s]=new md({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new It({context:e,width:t,height:n,pixelFormat:st.DEPTH_STENCIL,pixelDatatype:qe.UNSIGNED_INT_24_8,sampler:$t.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new md({context:e,width:t,height:n,format:Mc.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new md({context:e,width:t,height:n,format:Mc.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new It({context:e,width:t,height:n,pixelFormat:st.DEPTH_COMPONENT,pixelDatatype:qe.UNSIGNED_INT,sampler:$t.NEAREST}):this._depthRenderbuffer=new md({context:e,width:t,height:n,format:Mc.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new dE({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new Pr({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};Zs.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};Zs.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};Zs.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};Zs.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};Zs.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};Zs.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};Zs.prototype.getDepthTexture=function(){return this._depthTexture};Zs.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};Zs.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};Zs.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};Zs.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};Zs.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};Zs.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};Zs.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};Zs.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};Zs.prototype.destroy=function(){if(this._color){let e=this._colorTextures,t=this._colorRenderbuffers;for(let n=0;n0?Q.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=o===0?0:i-o;return t+=r,t};Ds._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(l(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=l(n);if(!o||n.sizeInBytes0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}Ds.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t>4;if(o!==PY)throw new Error(`Got v${o} data when expected v${PY}.`);let r=ine[i&15];if(!r)throw new Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new e(a,s,r,t)}constructor(t,n=64,i=Float64Array,o){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let r=ine.indexOf(this.ArrayType),s=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-a%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,pE,t),this.coords=new this.ArrayType(this.data,pE+a+c,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(pE+s+a+c),this.ids=new this.IndexArrayType(this.data,pE,t),this.coords=new this.ArrayType(this.data,pE+a+c,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(PY<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=n,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return wY(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:r,coords:s,nodeSize:a}=this,c=[0,r.length-1,0],d=[];for(;c.length;){let u=c.pop()||0,m=c.pop()||0,p=c.pop()||0;if(m-p<=a){for(let _=p;_<=m;_++){let C=s[2*_],V=s[2*_+1];C>=t&&C<=i&&V>=n&&V<=o&&d.push(r[_])}continue}let g=p+m>>1,f=s[2*g],x=s[2*g+1];f>=t&&f<=i&&x>=n&&x<=o&&d.push(r[g]),(u===0?t<=f:n<=x)&&(c.push(p),c.push(g-1),c.push(1-u)),(u===0?i>=f:o>=x)&&(c.push(g+1),c.push(m),c.push(1-u))}return d}within(t,n,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:o,coords:r,nodeSize:s}=this,a=[0,o.length-1,0],c=[],d=i*i;for(;a.length;){let u=a.pop()||0,m=a.pop()||0,p=a.pop()||0;if(m-p<=s){for(let _=p;_<=m;_++)one(r[2*_],r[2*_+1],t,n)<=d&&c.push(o[_]);continue}let g=p+m>>1,f=r[2*g],x=r[2*g+1];one(f,x,t,n)<=d&&c.push(o[g]),(u===0?t-i<=f:n-i<=x)&&(a.push(p),a.push(g-1),a.push(1-u)),(u===0?t+i>=f:n+i>=x)&&(a.push(g+1),a.push(m),a.push(1-u))}return c}};function wY(e,t,n,i,o,r){if(o-i<=n)return;let s=i+o>>1;rne(e,t,s,i,o,r),wY(e,t,n,i,s-1,1-r),wY(e,t,n,s+1,o,1-r)}function rne(e,t,n,i,o,r){for(;o>i;){if(o-i>600){let d=o-i+1,u=n-i+1,m=Math.log(d),p=.5*Math.exp(2*m/3),g=.5*Math.sqrt(m*p*(d-p)/d)*(u-d/2<0?-1:1),f=Math.max(i,Math.floor(n-u*p/d+g)),x=Math.min(o,Math.floor(n+(d-u)*p/d+g));rne(e,t,n,f,x,r)}let s=t[2*n+r],a=i,c=o;for(bE(e,t,i,n),t[2*o+r]>s&&bE(e,t,i,o);as;)c--}t[2*i+r]===s?bE(e,t,i,c):(c++,bE(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function bE(e,t,n,i){vY(e,n,i),vY(t,2*n,2*i),vY(t,2*n+1,2*i+1)}function vY(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function one(e,t,n,i){let o=e-n,r=t-i;return o*o+r*r}var aC={},bIe={KDBush:Ex,addCache:function(e,t){return aC[e]=t,t},removeCache:function(e){delete aC[e]},getCache:function(e){return aC[e]},getCacheOrAdd:function(e){return aC[e]||(aC[e]={}),aC[e]}},Xp=bIe;var MOt=T(S(),1);var WOt=T(S(),1);var ZOt=T(S(),1);function H0(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new be,this.setValue(e)}Object.defineProperties(H0.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}});H0.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value};H0.prototype.setValue=function(e){let t=this._value;if(t!==e){let n=l(e),i=n&&typeof e.clone=="function",o=n&&typeof e.equals=="function";(!o||!e.equals(t))&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}};H0.prototype.equals=function(e){return this===e||e instanceof H0&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))};H0.prototype.valueOf=function(){return this._value};H0.prototype.toString=function(){return String(this._value)};var qn=H0;function gIe(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(r){let s=this[t],a=this[n];l(a)&&(a(),this[n]=void 0),r!==void 0&&(!l(r)||!l(r.getValue))&&l(o)&&(r=o(r)),s!==r&&(this[t]=r,this._definitionChanged.raiseEvent(this,e,r,s)),l(r)&&l(r.definitionChanged)&&(this[n]=r.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,r,r)},this))}}}function yIe(e){return new qn(e)}function xIe(e,t,n){return gIe(e,`_${e.toString()}`,`_${e.toString()}Subscription`,y(t,!1),y(n,yIe))}var ue=xIe;function gE(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(gE.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),image:ue("image"),scale:ue("scale"),pixelOffset:ue("pixelOffset"),eyeOffset:ue("eyeOffset"),horizontalOrigin:ue("horizontalOrigin"),verticalOrigin:ue("verticalOrigin"),heightReference:ue("heightReference"),color:ue("color"),rotation:ue("rotation"),alignedAxis:ue("alignedAxis"),sizeInMeters:ue("sizeInMeters"),width:ue("width"),height:ue("height"),scaleByDistance:ue("scaleByDistance"),translucencyByDistance:ue("translucencyByDistance"),pixelOffsetScaleByDistance:ue("pixelOffsetScaleByDistance"),imageSubRegion:ue("imageSubRegion"),distanceDisplayCondition:ue("distanceDisplayCondition"),disableDepthTestDistance:ue("disableDepthTestDistance"),splitDirection:ue("splitDirection")});gE.prototype.clone=function(e){return l(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e.splitDirection=this._splitDirection,e):new gE(this)};gE.prototype.merge=function(e){this.show=y(this._show,e.show),this.image=y(this._image,e.image),this.scale=y(this._scale,e.scale),this.pixelOffset=y(this._pixelOffset,e.pixelOffset),this.eyeOffset=y(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this._verticalOrigin,e.verticalOrigin),this.heightReference=y(this._heightReference,e.heightReference),this.color=y(this._color,e.color),this.rotation=y(this._rotation,e.rotation),this.alignedAxis=y(this._alignedAxis,e.alignedAxis),this.sizeInMeters=y(this._sizeInMeters,e.sizeInMeters),this.width=y(this._width,e.width),this.height=y(this._height,e.height),this.scaleByDistance=y(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=y(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=y(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this._disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var ac=gE;var Z3t=T(S(),1);var UOt=T(S(),1);function Ix(){this._array=[],this._hash={}}Object.defineProperties(Ix.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}});Ix.prototype.contains=function(e){return l(this._hash[e])};Ix.prototype.set=function(e,t){let n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))};Ix.prototype.get=function(e){return this._hash[e]};Ix.prototype.remove=function(e){let t=this._hash[e],n=l(t);if(n){let i=this._array;i.splice(i.indexOf(t),1),delete this._hash[e]}return n};Ix.prototype.removeAll=function(){let e=this._array;e.length>0&&(this._hash={},e.length=0)};var Gt=Ix;var YOt=T(S(),1);function hd(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(hd.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});hd.packedLength=2;hd.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};hd.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new hd),n.near=e[t++],n.far=e[t],n};hd.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.far===t.far};hd.clone=function(e,t){if(l(e))return l(t)||(t=new hd),t.near=e.near,t.far=e.far,t};hd.prototype.clone=function(e){return hd.clone(this,e)};hd.prototype.equals=function(e){return hd.equals(this,e)};var Ft=hd;var JOt=T(S(),1);function _u(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}_u.clone=function(e,t){if(l(e))return l(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new _u(e.near,e.nearValue,e.far,e.farValue)};_u.packedLength=4;_u.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};_u.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new _u),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};_u.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};_u.prototype.clone=function(e){return _u.clone(this,e)};_u.prototype.equals=function(e){return _u.equals(this,e)};var kt=_u;var jOt=T(S(),1),Xx={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2,CLAMP_TO_TERRAIN:3,RELATIVE_TO_TERRAIN:4,CLAMP_TO_3D_TILE:5,RELATIVE_TO_3D_TILE:6},Qe=Object.freeze(Xx);function Tu(e){return e===Xx.CLAMP_TO_GROUND||e===Xx.CLAMP_TO_3D_TILE||e===Xx.CLAMP_TO_TERRAIN}function cC(e){return e===Xx.RELATIVE_TO_GROUND||e===Xx.RELATIVE_TO_3D_TILE||e===Xx.RELATIVE_TO_TERRAIN}var $Ot=T(S(),1),_Ie={CENTER:0,LEFT:1,RIGHT:-1},_i=Object.freeze(_Ie);var t3t=T(S(),1),TIe={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},wn=Object.freeze(TIe);var i3t=T(S(),1),SIe={DONE:0,PENDING:1,FAILED:2},mt=Object.freeze(SIe);var c3t=T(S(),1);function Im(){fe.throwInstantiationError()}Object.defineProperties(Im.prototype,{isConstant:{get:fe.throwInstantiationError},definitionChanged:{get:fe.throwInstantiationError}});Im.prototype.getValue=fe.throwInstantiationError;Im.prototype.equals=fe.throwInstantiationError;Im.equals=function(e,t){return e===t||l(e)&&e.equals(t)};Im.arrayEquals=function(e,t){if(e===t)return!0;if(!l(e)||!l(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i-1;o--)r=t[o],l(r._billboard)&&l(r._position)&&s.set(r.id,new sne(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._billboard)&&l(r._position)?s.contains(r.id)||s.set(r.id,new sne(r)):(FY(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],FY(s.get(r.id),r,a),s.remove(r.id)};function FY(e,t,n){l(e)&&(e.billboard=void 0,n.removeBillboard(t))}var yE=z0;var cnn=T(S(),1);var N3t=T(S(),1);var OIe=new h;function af(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;this._min=h.clone(t),this._max=h.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}af.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new af({minimum:h.negate(n,new h),maximum:n,offsetAttribute:e.offsetAttribute})};af.fromAxisAlignedBoundingBox=function(e){return new af({minimum:e.minimum,maximum:e.maximum})};af.packedLength=2*h.packedLength+1;af.pack=function(e,t,n){return n=y(n,0),h.pack(e._min,t,n),h.pack(e._max,t,n+h.packedLength),t[n+h.packedLength*2]=y(e._offsetAttribute,-1),t};var cne=new h,lne=new h,ane={minimum:cne,maximum:lne,offsetAttribute:void 0};af.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,cne),o=h.unpack(e,t+h.packedLength,lne),r=e[t+h.packedLength*2];return l(n)?(n._min=h.clone(i,n._min),n._max=h.clone(o,n._max),n._offsetAttribute=r===-1?void 0:r,n):(ane.offsetAttribute=r===-1?void 0:r,new af(ane))};af.createGeometry=function(e){let t=e._min,n=e._max;if(h.equals(t,n))return;let i=new fn,o=new Uint16Array(12*2),r=new Float64Array(8*3);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=n.x,r[4]=t.y,r[5]=t.z,r[6]=n.x,r[7]=n.y,r[8]=t.z,r[9]=t.x,r[10]=n.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=n.z,r[15]=n.x,r[16]=t.y,r[17]=n.z,r[18]=n.x,r[19]=n.y,r[20]=n.z,r[21]=t.x,r[22]=n.y,r[23]=n.z,i.position=new Ze({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:r}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let s=h.subtract(n,t,OIe),a=h.magnitude(s)*.5;if(l(e._offsetAttribute)){let c=r.length,d=e._offsetAttribute===dn.NONE?0:1,u=new Uint8Array(c/3).fill(d);i.applyOffset=new Ze({componentDatatype:Q.UNSIGNED_BYTE,componentsPerAttribute:1,values:u})}return new ht({attributes:i,indices:o,primitiveType:Me.LINES,boundingSphere:new de(h.ZERO,a),offsetAttribute:e._offsetAttribute})};var Xm=af;var Y3t=T(S(),1);function lC(e,t,n,i){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,1),this.value=new Uint8Array([B.floatToByte(e),B.floatToByte(t),B.floatToByte(n),B.floatToByte(i)])}Object.defineProperties(lC.prototype,{componentDatatype:{get:function(){return Q.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});lC.fromColor=function(e){return new lC(e.red,e.green,e.blue,e.alpha)};lC.toValue=function(e,t){return l(t)?e.toBytes(t):new Uint8Array(e.toBytes())};lC.equals=function(e,t){return e===t||l(e)&&l(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var Ht=lC;var Q3t=T(S(),1);function xE(e,t){e=y(e,0),t=y(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}Object.defineProperties(xE.prototype,{componentDatatype:{get:function(){return Q.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});xE.fromDistanceDisplayCondition=function(e){return new xE(e.near,e.far)};xE.toValue=function(e,t){return l(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var Un=xE;var eYt=T(S(),1);function YIe(e){e=y(e,y.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=y(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var Et=YIe;var dYt=T(S(),1);var sYt=T(S(),1);function $o(e){e=y(e,y.EMPTY_OBJECT),this.start=l(e.start)?j.clone(e.start):new j,this.stop=l(e.stop)?j.clone(e.stop):new j,this.data=e.data,this.isStartIncluded=y(e.isStartIncluded,!0),this.isStopIncluded=y(e.isStopIncluded,!0)}Object.defineProperties($o.prototype,{isEmpty:{get:function(){let e=j.compare(this.stop,this.start);return e<0||e===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var dC={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};$o.fromIso8601=function(e,t){let n=e.iso8601.split("/");if(n.length!==2)throw new fe("options.iso8601 is an invalid ISO 8601 interval.");let i=j.fromIso8601(n[0]),o=j.fromIso8601(n[1]),r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=e.data;return l(t)?(t.start=i,t.stop=o,t.isStartIncluded=r,t.isStopIncluded=s,t.data=a,t):(dC.start=i,dC.stop=o,dC.isStartIncluded=r,dC.isStopIncluded=s,dC.data=a,new $o(dC))};$o.toIso8601=function(e,t){return`${j.toIso8601(e.start,t)}/${j.toIso8601(e.stop,t)}`};$o.clone=function(e,t){if(l(e))return l(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new $o(e)};$o.equals=function(e,t,n){return e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&j.equals(e.start,t.start)&&j.equals(e.stop,t.stop)&&(e.data===t.data||l(n)&&n(e.data,t.data)))};$o.equalsEpsilon=function(e,t,n,i){return n=y(n,0),e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&j.equalsEpsilon(e.start,t.start,n)&&j.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||l(i)&&i(e.data,t.data)))};$o.intersect=function(e,t,n,i){if(!l(t))return $o.clone($o.EMPTY,n);let o=e.start,r=e.stop,s=t.start,a=t.stop,c=j.greaterThanOrEquals(s,o)&&j.greaterThanOrEquals(r,s),d=!c&&j.lessThanOrEquals(s,o)&&j.lessThanOrEquals(o,a);if(!c&&!d)return $o.clone($o.EMPTY,n);let u=e.isStartIncluded,m=e.isStopIncluded,p=t.isStartIncluded,g=t.isStopIncluded,f=j.lessThan(r,a);return l(n)||(n=new $o),n.start=c?s:o,n.isStartIncluded=u&&p||!j.equals(s,o)&&(c&&p||d&&u),n.stop=f?r:a,n.isStopIncluded=f?m:m&&g||!j.equals(a,r)&&g,n.data=l(i)?i(e.data,t.data):e.data,n};$o.contains=function(e,t){if(e.isEmpty)return!1;let n=j.compare(e.start,t);if(n===0)return e.isStartIncluded;let i=j.compare(t,e.stop);return i===0?e.isStopIncluded:n<0&&i<0};$o.prototype.clone=function(e){return $o.clone(this,e)};$o.prototype.equals=function(e,t){return $o.equals(this,e,t)};$o.prototype.equalsEpsilon=function(e,t,n){return $o.equalsEpsilon(this,e,t,n)};$o.prototype.toString=function(){return $o.toIso8601(this)};$o.EMPTY=Object.freeze(new $o({start:new j,stop:new j,isStartIncluded:!1,isStopIncluded:!1}));var Rn=$o;var dne=Object.freeze(j.fromIso8601("0000-01-01T00:00:00Z")),une=Object.freeze(j.fromIso8601("9999-12-31T24:00:00Z")),HIe=Object.freeze(new Rn({start:dne,stop:une})),zIe={MINIMUM_VALUE:dne,MAXIMUM_VALUE:une,MAXIMUM_INTERVAL:HIe},Ye=zIe;var pYt=T(S(),1);function _E(e,t,n){e=y(e,0),t=y(t,0),n=y(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(_E.prototype,{componentDatatype:{get:function(){return Q.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});_E.fromCartesian3=function(e){return new _E(e.x,e.y,e.z)};_E.toValue=function(e,t){return l(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var qi=_E;var _Yt=T(S(),1);function qN(e){e=y(e,!0),this.value=qN.toValue(e)}Object.defineProperties(qN.prototype,{componentDatatype:{get:function(){return Q.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}});qN.toValue=function(e,t){return l(t)?(t[0]=e,t):new Uint8Array([e])};var _n=qN;var wzt=T(S(),1);var SYt=T(S(),1),TE=`in vec3 v_positionEC; in vec3 v_normalEC; in vec3 v_tangentEC; in vec3 v_bitangentEC; @@ -3904,7 +3949,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var rBt=T(S(),1),cE=`in vec3 position3DHigh; +`;var VYt=T(S(),1),SE=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec3 tangent; @@ -3930,7 +3975,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var aBt=T(S(),1),lE=`in vec3 v_positionEC; +`;var RYt=T(S(),1),CE=`in vec3 v_positionEC; in vec3 v_normalEC; void main() @@ -3953,7 +3998,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var lBt=T(S(),1),dE=`in vec3 position3DHigh; +`;var GYt=T(S(),1),VE=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in float batchId; @@ -3970,7 +4015,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var uBt=T(S(),1),uE=`in vec3 v_positionEC; +`;var IYt=T(S(),1),LE=`in vec3 v_positionEC; in vec3 v_normalEC; in vec2 v_st; @@ -3995,7 +4040,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var hBt=T(S(),1),mE=`in vec3 position3DHigh; +`;var WYt=T(S(),1),RE=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec2 st; @@ -4015,8 +4060,8 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var vBt=T(S(),1);var CBt=T(S(),1);var bBt=T(S(),1);var MEe={ADD:ie.FUNC_ADD,SUBTRACT:ie.FUNC_SUBTRACT,REVERSE_SUBTRACT:ie.FUNC_REVERSE_SUBTRACT,MIN:ie.MIN,MAX:ie.MAX},va=Object.freeze(MEe);var xBt=T(S(),1);var NEe={ZERO:ie.ZERO,ONE:ie.ONE,SOURCE_COLOR:ie.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:ie.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:ie.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:ie.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:ie.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:ie.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:ie.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:ie.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:ie.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:ie.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:ie.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:ie.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:ie.SRC_ALPHA_SATURATE},So=Object.freeze(NEe);var kEe={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:va.ADD,equationAlpha:va.ADD,functionSourceRgb:So.SOURCE_ALPHA,functionSourceAlpha:So.ONE,functionDestinationRgb:So.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:va.ADD,equationAlpha:va.ADD,functionSourceRgb:So.ONE,functionSourceAlpha:So.ONE,functionDestinationRgb:So.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:va.ADD,equationAlpha:va.ADD,functionSourceRgb:So.SOURCE_ALPHA,functionSourceAlpha:So.ONE,functionDestinationRgb:So.ONE,functionDestinationAlpha:So.ONE})},hn=Object.freeze(kEe);var RBt=T(S(),1);var UEe={FRONT:ie.FRONT,BACK:ie.BACK,FRONT_AND_BACK:ie.FRONT_AND_BACK},yi=Object.freeze(UEe);function eC(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(eC.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});eC.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),l(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(` -`)};eC.prototype.isTranslucent=function(){return l(this.material)&&this.material.isTranslucent()||!l(this.material)&&this.translucent};eC.prototype.getRenderState=function(){let e=this.isTranslucent(),t=ze(this.renderState,!1);return e?(t.depthMask=!1,t.blending=hn.ALPHA_BLEND):t.depthMask=!0,t};eC.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=hn.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:yi.BACK}),l(n)&&(i=Tt(n,i,!0)),i};var eo=eC;var iYt=T(S(),1);var FBt=T(S(),1),hE=`uniform sampler2D image; +`;var $Yt=T(S(),1);var DYt=T(S(),1);var wYt=T(S(),1);var KIe={ADD:ie.FUNC_ADD,SUBTRACT:ie.FUNC_SUBTRACT,REVERSE_SUBTRACT:ie.FUNC_REVERSE_SUBTRACT,MIN:ie.MIN,MAX:ie.MAX},wa=Object.freeze(KIe);var MYt=T(S(),1);var JIe={ZERO:ie.ZERO,ONE:ie.ONE,SOURCE_COLOR:ie.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:ie.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:ie.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:ie.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:ie.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:ie.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:ie.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:ie.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:ie.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:ie.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:ie.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:ie.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:ie.SRC_ALPHA_SATURATE},Co=Object.freeze(JIe);var QIe={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:wa.ADD,equationAlpha:wa.ADD,functionSourceRgb:Co.SOURCE_ALPHA,functionSourceAlpha:Co.ONE,functionDestinationRgb:Co.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Co.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:wa.ADD,equationAlpha:wa.ADD,functionSourceRgb:Co.ONE,functionSourceAlpha:Co.ONE,functionDestinationRgb:Co.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Co.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:wa.ADD,equationAlpha:wa.ADD,functionSourceRgb:Co.SOURCE_ALPHA,functionSourceAlpha:Co.ONE,functionDestinationRgb:Co.ONE,functionDestinationAlpha:Co.ONE})},hn=Object.freeze(QIe);var YYt=T(S(),1);var jIe={FRONT:ie.FRONT,BACK:ie.BACK,FRONT_AND_BACK:ie.FRONT_AND_BACK},Ti=Object.freeze(jIe);function uC(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(uC.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});uC.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),l(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(` +`)};uC.prototype.isTranslucent=function(){return l(this.material)&&this.material.isTranslucent()||!l(this.material)&&this.translucent};uC.prototype.getRenderState=function(){let e=this.isTranslucent(),t=He(this.renderState,!1);return e?(t.depthMask=!1,t.blending=hn.ALPHA_BLEND):t.depthMask=!0,t};uC.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=hn.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:Ti.BACK}),l(n)&&(i=Vt(n,i,!0)),i};var oo=uC;var Szt=T(S(),1);var tHt=T(S(),1),ZE=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { @@ -4027,7 +4072,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var MBt=T(S(),1),fE=`uniform sampler2D image; +`;var iHt=T(S(),1),GE=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; @@ -4056,7 +4101,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var kBt=T(S(),1),pE=`uniform vec4 lightColor; +`;var rHt=T(S(),1),EE=`uniform vec4 lightColor; uniform vec4 darkColor; uniform vec2 repeat; @@ -4085,7 +4130,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var DBt=T(S(),1),bE=`uniform vec4 lightColor; +`;var aHt=T(S(),1),IE=`uniform vec4 lightColor; uniform vec4 darkColor; uniform vec2 repeat; @@ -4103,7 +4148,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var OBt=T(S(),1),gE=`uniform sampler2D heights; +`;var lHt=T(S(),1),XE=`uniform sampler2D heights; uniform sampler2D colors; // This material expects heights to be sorted from lowest to highest. @@ -4177,7 +4222,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = color.a; return material; } -`;var zBt=T(S(),1),yE=`uniform vec4 color; +`;var uHt=T(S(),1),WE=`uniform vec4 color; uniform float spacing; uniform float width; @@ -4203,7 +4248,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var KBt=T(S(),1),xE=`uniform sampler2D image; +`;var hHt=T(S(),1),PE=`uniform sampler2D image; uniform float minimumHeight; uniform float maximumHeight; @@ -4217,7 +4262,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var QBt=T(S(),1),_E=`uniform vec4 fadeInColor; +`;var pHt=T(S(),1),vE=`uniform vec4 fadeInColor; uniform vec4 fadeOutColor; uniform float maximumDistance; uniform bool repeat; @@ -4254,7 +4299,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var qBt=T(S(),1),TE=`uniform vec4 color; +`;var gHt=T(S(),1),wE=`uniform vec4 color; uniform float cellAlpha; uniform vec2 lineCount; uniform vec2 lineThickness; @@ -4311,7 +4356,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var eOt=T(S(),1),SE=`uniform sampler2D image; +`;var xHt=T(S(),1),FE=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; @@ -4330,7 +4375,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var nOt=T(S(),1),CE=`uniform vec4 color; +`;var THt=T(S(),1),AE=`uniform vec4 color; float getPointOnLine(vec2 p0, vec2 p1, float x) { @@ -4393,7 +4438,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = outColor.a; return material; } -`;var oOt=T(S(),1),VE=`uniform vec4 color; +`;var CHt=T(S(),1),ME=`uniform vec4 color; uniform vec4 gapColor; uniform float dashLength; uniform float dashPattern; @@ -4432,7 +4477,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = fragColor.a; return material; } -`;var sOt=T(S(),1),LE=`uniform vec4 color; +`;var LHt=T(S(),1),NE=`uniform vec4 color; uniform float glowPower; uniform float taperPower; @@ -4457,7 +4502,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var cOt=T(S(),1),RE=`uniform vec4 color; +`;var ZHt=T(S(),1),kE=`uniform vec4 color; uniform vec4 outlineColor; uniform float outlineWidth; @@ -4486,7 +4531,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var dOt=T(S(),1),ZE=`uniform vec4 color; +`;var EHt=T(S(),1),UE=`uniform vec4 color; uniform vec4 rimColor; uniform float width; @@ -4507,7 +4552,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var mOt=T(S(),1),GE=`uniform sampler2D image; +`;var XHt=T(S(),1),DE=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { @@ -4518,7 +4563,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var fOt=T(S(),1),EE=`uniform vec4 evenColor; +`;var PHt=T(S(),1),BE=`uniform vec4 evenColor; uniform vec4 oddColor; uniform float offset; uniform float repeat; @@ -4542,7 +4587,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var bOt=T(S(),1),IE=`uniform vec4 waterColor; +`;var wHt=T(S(),1),OE=`uniform vec4 waterColor; uniform vec4 landColor; czm_material czm_getMaterial(czm_materialInput materialInput) @@ -4557,7 +4602,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var yOt=T(S(),1),XE=`// Thanks for the contribution Jonas +`;var AHt=T(S(),1),YE=`// Thanks for the contribution Jonas // http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog uniform sampler2D specularMap; @@ -4615,16 +4660,16 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;function He(e){this.type=void 0,this.autoDestroyOldTexture=e.autoDestroyOldTexture??!0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=y(e.minificationFilter,tn.LINEAR),this._magnificationFilter=y(e.magnificationFilter,mi.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,DEe(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),l(He._uniformList[this.type])||(He._uniformList[this.type]=Object.keys(this._uniforms))}He._uniformList={};He.fromType=function(e,t){let n=new He({fabric:{type:e}});if(l(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};He.prototype.isTranslucent=function(){if(l(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i-1)return!0;return!1}function KEe(e){let t=e._template.components,n=e._template.source;if(l(n))e.shaderSource+=`${n} +`;function ze(e){this.type=void 0,this.autoDestroyOldTexture=e.autoDestroyOldTexture??!0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=y(e.minificationFilter,qt.LINEAR),this._magnificationFilter=y(e.magnificationFilter,bi.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,qIe(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),l(ze._uniformList[this.type])||(ze._uniformList[this.type]=Object.keys(this._uniforms))}ze._uniformList={};ze.fromType=function(e,t){let n=new ze({fabric:{type:e}});if(l(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};ze.prototype.isTranslucent=function(){if(l(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i-1)return!0;return!1}function oXe(e){let t=e._template.components,n=e._template.source;if(l(n))e.shaderSource+=`${n} `;else{if(e.shaderSource+=`czm_material czm_getMaterial(czm_materialInput materialInput) { `,e.shaderSource+=`czm_material material = czm_getDefaultMaterial(materialInput); -`,l(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&HEe(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s}; +`,l(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&iXe(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s}; `}else o==="alpha"?e.shaderSource+=`material.alpha = ${t.alpha}; `:e.shaderSource+=`material.${o} = ${t[o]}; `}e.shaderSource+=`return material; } -`}}var Ste={mat2:wi,mat3:$,mat4:M},JEe=/\.ktx2$/i;function QEe(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!l(r)||r===He.DefaultImageId;t=r;let c=n._textures[e],d,u;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&l(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!l(c)||c===i.defaultTexture){let p=new nn({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new wt({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else l(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof wt&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];l(p)&&p!==n._defaultTexture&&!p.isDestroyed()&&n.autoDestroyOldTexture&&p.destroy(),n._textures[e]=r,d=`${e}Dimensions`,o.hasOwnProperty(d)&&(u=o[d],u.x=r._width,u.y=r._height);return}if(s&&l(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),l(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,d=`${e}Dimensions`,o.hasOwnProperty(d)&&(u=o[d],u.x=c._width,u.y=c._height)),a)return;let m=r instanceof Ge;if(!l(n._texturePaths[e])||m&&r.url!==n._texturePaths[e].url||!m&&r!==n._texturePaths[e]){if(typeof r=="string"||m){let p=m?r:Ge.createIfNeeded(r),g;JEe.test(p.url)?g=yl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(f){n._loadedImages.push({id:e,image:f})}).catch(function(){l(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function jEe(e){return function(t,n){let i=t.uniforms[e];if(i instanceof Xa){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(l(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===He.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[Ge.createIfNeeded(i.positiveX).fetchImage(),Ge.createIfNeeded(i.negativeX).fetchImage(),Ge.createIfNeeded(i.positiveY).fetchImage(),Ge.createIfNeeded(i.negativeY).fetchImage(),Ge.createIfNeeded(i.positiveZ).fetchImage(),Ge.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function qEe(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&Cte(e,n)}function Cte(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=$Ee(o),s;if(r==="channels")s=WE(e,t,o,!1);else{if(r==="sampler2D"){let d=`${t}Dimensions`;tIe(e,d)>0&&(i[d]={type:"ivec3",x:1,y:1},Cte(e,d))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let d=`uniform ${r} ${t};`;e.shaderSource=d+e.shaderSource}let c=`${t}_${e._count++}`;if(s=WE(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(QEe(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(jEe(t));else if(r.indexOf("mat")!==-1){let d=new Ste[r];e._uniforms[c]=function(){return Ste[r].fromColumnMajorArray(e.uniforms[t],d)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function $Ee(e){let t=e.type;if(!l(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof Ge||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof wt)/^([rgba]){1,4}$/i.test(e)?t="channels":e===He.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function eIe(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new He({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=Tt(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;WE(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=WE(e,i,a)}}function WE(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,d,u){return d||u?c:(o+=1,n)}),o}function tIe(e,t,n){return WE(e,t,t,n)}He._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};He.DefaultImageId="czm_defaultImage";He.DefaultCubeMapId="czm_defaultCubeMap";He.ColorType="Color";He._materialCache.addMaterial(He.ColorType,{fabric:{type:He.ColorType,uniforms:{color:new B(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});He.ImageType="Image";He._materialCache.addMaterial(He.ImageType,{fabric:{type:He.ImageType,uniforms:{image:He.DefaultImageId,repeat:new D(1,1),color:new B(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});He.DiffuseMapType="DiffuseMap";He._materialCache.addMaterial(He.DiffuseMapType,{fabric:{type:He.DiffuseMapType,uniforms:{image:He.DefaultImageId,channels:"rgb",repeat:new D(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});He.AlphaMapType="AlphaMap";He._materialCache.addMaterial(He.AlphaMapType,{fabric:{type:He.AlphaMapType,uniforms:{image:He.DefaultImageId,channel:"a",repeat:new D(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});He.SpecularMapType="SpecularMap";He._materialCache.addMaterial(He.SpecularMapType,{fabric:{type:He.SpecularMapType,uniforms:{image:He.DefaultImageId,channel:"r",repeat:new D(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});He.EmissionMapType="EmissionMap";He._materialCache.addMaterial(He.EmissionMapType,{fabric:{type:He.EmissionMapType,uniforms:{image:He.DefaultImageId,channels:"rgb",repeat:new D(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});He.BumpMapType="BumpMap";He._materialCache.addMaterial(He.BumpMapType,{fabric:{type:He.BumpMapType,uniforms:{image:He.DefaultImageId,channel:"r",strength:.8,repeat:new D(1,1)},source:fE},translucent:!1});He.NormalMapType="NormalMap";He._materialCache.addMaterial(He.NormalMapType,{fabric:{type:He.NormalMapType,uniforms:{image:He.DefaultImageId,channels:"rgb",strength:.8,repeat:new D(1,1)},source:SE},translucent:!1});He.GridType="Grid";He._materialCache.addMaterial(He.GridType,{fabric:{type:He.GridType,uniforms:{color:new B(0,1,0,1),cellAlpha:.1,lineCount:new D(8,8),lineThickness:new D(1,1),lineOffset:new D(0,0)},source:TE},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});He.StripeType="Stripe";He._materialCache.addMaterial(He.StripeType,{fabric:{type:He.StripeType,uniforms:{horizontal:!0,evenColor:new B(1,1,1,.5),oddColor:new B(0,0,1,.5),offset:0,repeat:5},source:EE},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});He.CheckerboardType="Checkerboard";He._materialCache.addMaterial(He.CheckerboardType,{fabric:{type:He.CheckerboardType,uniforms:{lightColor:new B(1,1,1,.5),darkColor:new B(0,0,0,.5),repeat:new D(5,5)},source:pE},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});He.DotType="Dot";He._materialCache.addMaterial(He.DotType,{fabric:{type:He.DotType,uniforms:{lightColor:new B(1,1,0,.75),darkColor:new B(0,1,1,.75),repeat:new D(5,5)},source:bE},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});He.WaterType="Water";He._materialCache.addMaterial(He.WaterType,{fabric:{type:He.WaterType,uniforms:{baseWaterColor:new B(.2,.3,.6,1),blendColor:new B(0,1,.699,1),specularMap:He.DefaultImageId,normalMap:He.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:XE},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});He.RimLightingType="RimLighting";He._materialCache.addMaterial(He.RimLightingType,{fabric:{type:He.RimLightingType,uniforms:{color:new B(1,0,0,.7),rimColor:new B(1,1,1,.4),width:.3},source:ZE},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});He.FadeType="Fade";He._materialCache.addMaterial(He.FadeType,{fabric:{type:He.FadeType,uniforms:{fadeInColor:new B(1,0,0,1),fadeOutColor:new B(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new D(.5,.5)},source:_E},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});He.PolylineArrowType="PolylineArrow";He._materialCache.addMaterial(He.PolylineArrowType,{fabric:{type:He.PolylineArrowType,uniforms:{color:new B(1,1,1,1)},source:CE},translucent:!0});He.PolylineDashType="PolylineDash";He._materialCache.addMaterial(He.PolylineDashType,{fabric:{type:He.PolylineDashType,uniforms:{color:new B(1,0,1,1),gapColor:new B(0,0,0,0),dashLength:16,dashPattern:255},source:VE},translucent:!0});He.PolylineGlowType="PolylineGlow";He._materialCache.addMaterial(He.PolylineGlowType,{fabric:{type:He.PolylineGlowType,uniforms:{color:new B(0,.5,1,1),glowPower:.25,taperPower:1},source:LE},translucent:!0});He.PolylineOutlineType="PolylineOutline";He._materialCache.addMaterial(He.PolylineOutlineType,{fabric:{type:He.PolylineOutlineType,uniforms:{color:new B(1,1,1,1),outlineColor:new B(1,0,0,1),outlineWidth:1},source:RE},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});He.ElevationContourType="ElevationContour";He._materialCache.addMaterial(He.ElevationContourType,{fabric:{type:He.ElevationContourType,uniforms:{spacing:100,color:new B(1,0,0,1),width:1},source:yE},translucent:!1});He.ElevationRampType="ElevationRamp";He._materialCache.addMaterial(He.ElevationRampType,{fabric:{type:He.ElevationRampType,uniforms:{image:He.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:xE},translucent:!1});He.SlopeRampMaterialType="SlopeRamp";He._materialCache.addMaterial(He.SlopeRampMaterialType,{fabric:{type:He.SlopeRampMaterialType,uniforms:{image:He.DefaultImageId},source:GE},translucent:!1});He.AspectRampMaterialType="AspectRamp";He._materialCache.addMaterial(He.AspectRampMaterialType,{fabric:{type:He.AspectRampMaterialType,uniforms:{image:He.DefaultImageId},source:hE},translucent:!1});He.ElevationBandType="ElevationBand";He._materialCache.addMaterial(He.ElevationBandType,{fabric:{type:He.ElevationBandType,uniforms:{heights:He.DefaultImageId,colors:He.DefaultImageId},source:gE},translucent:!0});He.WaterMaskType="WaterMask";He._materialCache.addMaterial(He.WaterMaskType,{fabric:{type:He.WaterMaskType,source:IE,uniforms:{waterColor:new B(1,1,1,1),landColor:new B(0,0,0,0)}},translucent:!1});var Bi=He;function px(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,px.MaterialSupport.TEXTURED);this.material=l(e.material)?e.material:Bi.fromType(Bi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=eo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(px.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});px.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;px.prototype.isTranslucent=eo.prototype.isTranslucent;px.prototype.getRenderState=eo.prototype.getRenderState;px.MaterialSupport={BASIC:Object.freeze({vertexFormat:We.POSITION_AND_NORMAL,vertexShaderSource:dE,fragmentShaderSource:lE}),TEXTURED:Object.freeze({vertexFormat:We.POSITION_NORMAL_AND_ST,vertexShaderSource:mE,fragmentShaderSource:uE}),ALL:Object.freeze({vertexFormat:We.ALL,vertexShaderSource:cE,fragmentShaderSource:aE})};var ro=px;var PYt=T(S(),1);var yYt=T(S(),1),PE=`in vec3 v_positionEC; +`}}var hne={mat2:Ii,mat3:$,mat4:M},rXe=/\.ktx2$/i;function sXe(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!l(r)||r===ze.DefaultImageId;t=r;let c=n._textures[e],d,u;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&l(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!l(c)||c===i.defaultTexture){let p=new $t({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new It({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else l(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof It&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];l(p)&&p!==n._defaultTexture&&!p.isDestroyed()&&n.autoDestroyOldTexture&&p.destroy(),n._textures[e]=r,d=`${e}Dimensions`,o.hasOwnProperty(d)&&(u=o[d],u.x=r._width,u.y=r._height);return}if(s&&l(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),l(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,d=`${e}Dimensions`,o.hasOwnProperty(d)&&(u=o[d],u.x=c._width,u.y=c._height)),a)return;let m=r instanceof Le;if(!l(n._texturePaths[e])||m&&r.url!==n._texturePaths[e].url||!m&&r!==n._texturePaths[e]){if(typeof r=="string"||m){let p=m?r:Le.createIfNeeded(r),g;rXe.test(p.url)?g=Tl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(f){n._loadedImages.push({id:e,image:f})}).catch(function(){l(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function aXe(e){return function(t,n){let i=t.uniforms[e];if(i instanceof Tr){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(l(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===ze.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[Le.createIfNeeded(i.positiveX).fetchImage(),Le.createIfNeeded(i.negativeX).fetchImage(),Le.createIfNeeded(i.positiveY).fetchImage(),Le.createIfNeeded(i.negativeY).fetchImage(),Le.createIfNeeded(i.positiveZ).fetchImage(),Le.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function cXe(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&fne(e,n)}function fne(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=lXe(o),s;if(r==="channels")s=HE(e,t,o,!1);else{if(r==="sampler2D"){let d=`${t}Dimensions`;uXe(e,d)>0&&(i[d]={type:"ivec3",x:1,y:1},fne(e,d))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let d=`uniform ${r} ${t};`;e.shaderSource=d+e.shaderSource}let c=`${t}_${e._count++}`;if(s=HE(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(sXe(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(aXe(t));else if(r.indexOf("mat")!==-1){let d=new hne[r];e._uniforms[c]=function(){return hne[r].fromColumnMajorArray(e.uniforms[t],d)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function lXe(e){let t=e.type;if(!l(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof Le||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof It)/^([rgba]){1,4}$/i.test(e)?t="channels":e===ze.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function dXe(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new ze({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=Vt(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;HE(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=HE(e,i,a)}}function HE(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,d,u){return d||u?c:(o+=1,n)}),o}function uXe(e,t,n){return HE(e,t,t,n)}ze._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};ze.DefaultImageId="czm_defaultImage";ze.DefaultCubeMapId="czm_defaultCubeMap";ze.ColorType="Color";ze._materialCache.addMaterial(ze.ColorType,{fabric:{type:ze.ColorType,uniforms:{color:new B(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});ze.ImageType="Image";ze._materialCache.addMaterial(ze.ImageType,{fabric:{type:ze.ImageType,uniforms:{image:ze.DefaultImageId,repeat:new D(1,1),color:new B(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});ze.DiffuseMapType="DiffuseMap";ze._materialCache.addMaterial(ze.DiffuseMapType,{fabric:{type:ze.DiffuseMapType,uniforms:{image:ze.DefaultImageId,channels:"rgb",repeat:new D(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});ze.AlphaMapType="AlphaMap";ze._materialCache.addMaterial(ze.AlphaMapType,{fabric:{type:ze.AlphaMapType,uniforms:{image:ze.DefaultImageId,channel:"a",repeat:new D(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});ze.SpecularMapType="SpecularMap";ze._materialCache.addMaterial(ze.SpecularMapType,{fabric:{type:ze.SpecularMapType,uniforms:{image:ze.DefaultImageId,channel:"r",repeat:new D(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});ze.EmissionMapType="EmissionMap";ze._materialCache.addMaterial(ze.EmissionMapType,{fabric:{type:ze.EmissionMapType,uniforms:{image:ze.DefaultImageId,channels:"rgb",repeat:new D(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});ze.BumpMapType="BumpMap";ze._materialCache.addMaterial(ze.BumpMapType,{fabric:{type:ze.BumpMapType,uniforms:{image:ze.DefaultImageId,channel:"r",strength:.8,repeat:new D(1,1)},source:GE},translucent:!1});ze.NormalMapType="NormalMap";ze._materialCache.addMaterial(ze.NormalMapType,{fabric:{type:ze.NormalMapType,uniforms:{image:ze.DefaultImageId,channels:"rgb",strength:.8,repeat:new D(1,1)},source:FE},translucent:!1});ze.GridType="Grid";ze._materialCache.addMaterial(ze.GridType,{fabric:{type:ze.GridType,uniforms:{color:new B(0,1,0,1),cellAlpha:.1,lineCount:new D(8,8),lineThickness:new D(1,1),lineOffset:new D(0,0)},source:wE},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});ze.StripeType="Stripe";ze._materialCache.addMaterial(ze.StripeType,{fabric:{type:ze.StripeType,uniforms:{horizontal:!0,evenColor:new B(1,1,1,.5),oddColor:new B(0,0,1,.5),offset:0,repeat:5},source:BE},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});ze.CheckerboardType="Checkerboard";ze._materialCache.addMaterial(ze.CheckerboardType,{fabric:{type:ze.CheckerboardType,uniforms:{lightColor:new B(1,1,1,.5),darkColor:new B(0,0,0,.5),repeat:new D(5,5)},source:EE},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});ze.DotType="Dot";ze._materialCache.addMaterial(ze.DotType,{fabric:{type:ze.DotType,uniforms:{lightColor:new B(1,1,0,.75),darkColor:new B(0,1,1,.75),repeat:new D(5,5)},source:IE},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});ze.WaterType="Water";ze._materialCache.addMaterial(ze.WaterType,{fabric:{type:ze.WaterType,uniforms:{baseWaterColor:new B(.2,.3,.6,1),blendColor:new B(0,1,.699,1),specularMap:ze.DefaultImageId,normalMap:ze.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:YE},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});ze.RimLightingType="RimLighting";ze._materialCache.addMaterial(ze.RimLightingType,{fabric:{type:ze.RimLightingType,uniforms:{color:new B(1,0,0,.7),rimColor:new B(1,1,1,.4),width:.3},source:UE},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});ze.FadeType="Fade";ze._materialCache.addMaterial(ze.FadeType,{fabric:{type:ze.FadeType,uniforms:{fadeInColor:new B(1,0,0,1),fadeOutColor:new B(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new D(.5,.5)},source:vE},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});ze.PolylineArrowType="PolylineArrow";ze._materialCache.addMaterial(ze.PolylineArrowType,{fabric:{type:ze.PolylineArrowType,uniforms:{color:new B(1,1,1,1)},source:AE},translucent:!0});ze.PolylineDashType="PolylineDash";ze._materialCache.addMaterial(ze.PolylineDashType,{fabric:{type:ze.PolylineDashType,uniforms:{color:new B(1,0,1,1),gapColor:new B(0,0,0,0),dashLength:16,dashPattern:255},source:ME},translucent:!0});ze.PolylineGlowType="PolylineGlow";ze._materialCache.addMaterial(ze.PolylineGlowType,{fabric:{type:ze.PolylineGlowType,uniforms:{color:new B(0,.5,1,1),glowPower:.25,taperPower:1},source:NE},translucent:!0});ze.PolylineOutlineType="PolylineOutline";ze._materialCache.addMaterial(ze.PolylineOutlineType,{fabric:{type:ze.PolylineOutlineType,uniforms:{color:new B(1,1,1,1),outlineColor:new B(1,0,0,1),outlineWidth:1},source:kE},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});ze.ElevationContourType="ElevationContour";ze._materialCache.addMaterial(ze.ElevationContourType,{fabric:{type:ze.ElevationContourType,uniforms:{spacing:100,color:new B(1,0,0,1),width:1},source:WE},translucent:!1});ze.ElevationRampType="ElevationRamp";ze._materialCache.addMaterial(ze.ElevationRampType,{fabric:{type:ze.ElevationRampType,uniforms:{image:ze.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:PE},translucent:!1});ze.SlopeRampMaterialType="SlopeRamp";ze._materialCache.addMaterial(ze.SlopeRampMaterialType,{fabric:{type:ze.SlopeRampMaterialType,uniforms:{image:ze.DefaultImageId},source:DE},translucent:!1});ze.AspectRampMaterialType="AspectRamp";ze._materialCache.addMaterial(ze.AspectRampMaterialType,{fabric:{type:ze.AspectRampMaterialType,uniforms:{image:ze.DefaultImageId},source:ZE},translucent:!1});ze.ElevationBandType="ElevationBand";ze._materialCache.addMaterial(ze.ElevationBandType,{fabric:{type:ze.ElevationBandType,uniforms:{heights:ze.DefaultImageId,colors:ze.DefaultImageId},source:XE},translucent:!0});ze.WaterMaskType="WaterMask";ze._materialCache.addMaterial(ze.WaterMaskType,{fabric:{type:ze.WaterMaskType,source:OE,uniforms:{waterColor:new B(1,1,1,1),landColor:new B(0,0,0,0)}},translucent:!1});var Yi=ze;function Wx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,Wx.MaterialSupport.TEXTURED);this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=oo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(Wx.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});Wx.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;Wx.prototype.isTranslucent=oo.prototype.isTranslucent;Wx.prototype.getRenderState=oo.prototype.getRenderState;Wx.MaterialSupport={BASIC:Object.freeze({vertexFormat:We.POSITION_AND_NORMAL,vertexShaderSource:VE,fragmentShaderSource:CE}),TEXTURED:Object.freeze({vertexFormat:We.POSITION_NORMAL_AND_ST,vertexShaderSource:RE,fragmentShaderSource:LE}),ALL:Object.freeze({vertexFormat:We.ALL,vertexShaderSource:SE,fragmentShaderSource:TE})};var lo=Wx;var qzt=T(S(),1);var Azt=T(S(),1),zE=`in vec3 v_positionEC; in vec3 v_normalEC; in vec4 v_color; @@ -4648,7 +4693,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); } -`;var _Yt=T(S(),1),vE=`in vec3 position3DHigh; +`;var Nzt=T(S(),1),KE=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec4 color; @@ -4668,13 +4713,13 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var SYt=T(S(),1),bx=`in vec4 v_color; +`;var Uzt=T(S(),1),Px=`in vec4 v_color; void main() { out_FragColor = czm_gammaCorrect(v_color); } -`;var VYt=T(S(),1),wE=`in vec3 position3DHigh; +`;var Bzt=T(S(),1),JE=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 color; in float batchId; @@ -4689,7 +4734,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;function Gp(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?wE:vE,r=i?bx:PE,s=i?Gp.FLAT_VERTEX_FORMAT:Gp.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=eo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(Gp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});Gp.VERTEX_FORMAT=We.POSITION_AND_NORMAL;Gp.FLAT_VERTEX_FORMAT=We.POSITION_ONLY;Gp.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;Gp.prototype.isTranslucent=eo.prototype.isTranslucent;Gp.prototype.getRenderState=eo.prototype.getRenderState;var mn=Gp;var UYt=T(S(),1);function tC(e){this._definitionChanged=new be,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(tC.prototype,{isConstant:{get:function(){return K.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ue("color")});tC.prototype.getType=function(e){return"Color"};var nIe=new j;tC.prototype.getValue=function(e,t){return l(e)||(e=j.now(nIe)),l(t)||(t={}),t.color=K.getValueOrClonedDefault(this._color,e,B.WHITE,t.color),t};tC.prototype.equals=function(e){return this===e||e instanceof tC&&K.equals(this._color,e._color)};var Ot=tC;var q4t=T(S(),1);var X4t=T(S(),1);var lzt=T(S(),1);var QYt=T(S(),1);function kb(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ne.default),this._rectangle=y(e.rectangle,ce.MAX_VALUE),this._projection=new Ri(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(kb.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});kb.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<=o&&(d=o-1);let u=(i.north-e.latitude)/a|0;return u>=r&&(u=r-1),l(n)?(n.x=d,n.y=u,n):new D(d,u)};var Oi=kb;var Vte=new h,Lte=new h,Rte=new he,mY=new h,iIe=new h,Zte=new le,oIe=new Oi,FE=[new he,new he,new he,new he],AE=new D,Yr={};Yr.initialize=function(){let e=Yr._initPromise;return l(e)||(e=Ge.fetchJson(sn("Assets/approximateTerrainHeights.json")).then(function(t){Yr._terrainHeights=t}),Yr._initPromise=e),e};Yr.getMinimumMaximumHeights=function(e,t){t=y(t,ne.default);let n=Gte(e),i=Yr._defaultMinTerrainHeight,o=Yr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Yr._terrainHeights[r];l(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(ce.northeast(e,Rte),Vte),t.cartographicToCartesian(ce.southwest(e,Rte),Lte),h.midpoint(Lte,Vte,mY);let a=t.scaleToGeodeticSurface(mY,iIe);if(l(a)){let c=h.distance(mY,a);i=Math.min(i,-c)}else i=Yr._defaultMinTerrainHeight}return i=Math.max(Yr._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};Yr.getBoundingSphere=function(e,t){t=y(t,ne.default);let n=Gte(e),i=Yr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Yr._terrainHeights[r];l(s)&&(i=s[1])}let o=le.fromRectangle3D(e,t,0);return le.fromRectangle3D(e,t,i,Zte),le.union(o,Zte,o)};function Gte(e){he.fromRadians(e.east,e.north,0,FE[0]),he.fromRadians(e.west,e.north,0,FE[1]),he.fromRadians(e.east,e.south,0,FE[2]),he.fromRadians(e.west,e.south,0,FE[3]);let t=0,n=0,i=0,o=0,r=Yr._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let d=FE[c];if(oIe.positionToTileXY(d,s,AE),c===0)i=AE.x,o=AE.y;else if(i!==AE.x||o!==AE.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}Yr._terrainHeightsMaxLevel=6;Yr._defaultMaxTerrainHeight=9e3;Yr._defaultMinTerrainHeight=-1e5;Yr._terrainHeights=void 0;Yr._initPromise=void 0;Object.defineProperties(Yr,{initialized:{get:function(){return l(Yr._terrainHeights)}}});var li=Yr;var _Ht=T(S(),1);var iHt=T(S(),1);var pzt=T(S(),1);function wc(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),l(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}wc.fromCorners=function(e,t,n){return l(n)||(n=new wc),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};wc.fromPoints=function(e,t){if(l(t)||(t=new wc),!l(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let m=1;m0?Kt.INSIDE:r+o<0?Kt.OUTSIDE:Kt.INTERSECTING};wc.prototype.clone=function(e){return wc.clone(this,e)};wc.prototype.intersectPlane=function(e){return wc.intersectPlane(this,e)};wc.prototype.equals=function(e){return wc.equals(this,e)};var Ub=wc;var Bzt=T(S(),1);var yzt=T(S(),1);var hY={};hY.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function Ete(e,t,n){let i=e+t;return W.sign(e)!==W.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))d&&d/c0?[a/e,n/a]:[n/a,a/e]};var Fc=hY;var Rzt=T(S(),1);var Tzt=T(S(),1);var pY={};pY.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function fY(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,d=r*a,u=r*r,m=s*s,p=o*s-u,g=o*a-r*s,f=r*a-m,x=4*p*f-g*g,_,C;if(x<0){let J,z,te;u*d>=c*m?(J=o,z=p,te=-2*r*p+o*g):(J=a,z=f,te=-a*g+2*s*f);let q=-(te<0?-1:1)*Math.abs(J)*Math.sqrt(-x);C=-te+q;let ee=C/2,pe=ee<0?-Math.pow(-ee,1/3):Math.pow(ee,1/3),_e=C===q?-pe:-z/pe;return _=z<=0?pe+_e:-te/(pe*pe+_e*_e+z),u*d>=c*m?[(_-r)/o]:[-a/(_+s)]}let V=p,L=-2*r*p+o*g,Z=f,G=-a*g+2*s*f,I=Math.sqrt(x),v=Math.sqrt(3)/2,P=Math.abs(Math.atan2(o*I,-L)/3);_=2*Math.sqrt(-V);let w=Math.cos(P);C=_*w;let F=_*(-w/2-v*Math.sin(P)),b=C+F>2*r?C-r:F-r,R=o,E=b/R;P=Math.abs(Math.atan2(a*I,-G)/3),_=2*Math.sqrt(-Z),w=Math.cos(P),C=_*w,F=_*(-w/2-v*Math.sin(P));let X=-a,A=C+F<2*s?C+s:F+s,N=X/A,O=R*A,U=-b*A-R*X,Y=b*X,k=(s*U-r*Y)/(-r*U+s*O);return E<=k?E<=N?k<=N?[E,k,N]:[E,N,k]:[N,E,k]:E<=N?[k,E,N]:k<=N?[k,N,E]:[N,k,E]}pY.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return Fc.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=Fc.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return fY(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):fY(e,t,0,i);if(i===0)return o=Fc.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return fY(e,t,n,i)};var gx=pY;var bY={};bY.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,d=n*n,u=d*n,m=i*i,p=m*i,g=o*o,f=g*o;return a*d*m-4*c*p-4*e*u*m+18*e*t*n*p-27*r*m*m+256*s*f+o*(18*c*n*i-4*a*u+16*e*d*d-80*e*t*d*i-6*e*a*m+144*r*n*m)+g*(144*e*a*n-27*a*a-128*r*d-192*r*t*i)};function Rm(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=gx.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let d=-e/4,u=c[c.length-1];if(Math.abs(u)=0&&g>=0){let x=Math.sqrt(p),_=Math.sqrt(g);return[d-_,d-x,d+x,d+_]}else{if(p>=0&&g<0)return f=Math.sqrt(p),[d-f,d+f];if(p<0&&g>=0)return f=Math.sqrt(g),[d-f,d+f]}}return[]}else if(u>0){let m=Math.sqrt(u),p=(r+u-s/m)/2,g=(r+u+s/m)/2,f=Fc.computeRealRoots(1,m,p),x=Fc.computeRealRoots(1,-m,g);return f.length!==0?(f[0]+=d,f[1]+=d,x.length!==0?(x[0]+=d,x[1]+=d,f[1]<=x[0]?[f[0],f[1],x[0],x[1]]:x[1]<=f[0]?[x[0],x[1],f[0],f[1]]:f[0]>=x[0]&&f[1]<=x[1]?[x[0],f[0],f[1],x[1]]:x[0]>=f[0]&&x[1]<=f[1]?[f[0],x[0],x[1],f[1]]:f[0]>x[0]&&f[0]0){let m=u[0],p=t-m,g=p*p,f=e/2,x=p/2,_=g-4*i,C=g+4*Math.abs(i),V=s-4*m,L=s+4*Math.abs(m),Z,G;if(m<0||_*L=b[0]&&F[1]<=b[1]?[b[0],F[0],F[1],b[1]]:b[0]>=F[0]&&b[1]<=F[1]?[F[0],b[0],b[1],F[1]]:F[0]>b[0]&&F[0]u)||(p=h.cross(m,a,Xte),f=h.dot(s,p),f<0||g+f>u))return;x=h.dot(c,p)/u}else{if(Math.abs(u)1||(p=h.cross(m,a,Xte),f=h.dot(s,p)*_,f<0||g+f>1))return;x=h.dot(c,p)*_}return x};Ao.rayTriangle=function(e,t,n,i,o,r){let s=Ao.rayTriangleParametric(e,t,n,i,o);if(!(!l(s)||s<0))return l(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var aIe=new gn;Ao.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=aIe;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=Ao.rayTriangleParametric(a,n,i,o,r);if(!(!l(c)||c<0||c>h.distance(e,t)))return l(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function cIe(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,d=(-t-a)*s;return cs))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var uIe=new h,mIe=new h;Ao.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,uIe),o=h.multiplyComponents(n,e.direction,mIe),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,d,u,m;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),d=c*a,pd){u=s*s-d,m=-s+Math.sqrt(u);let f=m/c,x=a/m;return f0?g.push(new h(i,o*w,o*-R)):R!==0?(g.push(new h(i,o*w,o*-R)),g.push(new h(i,o*w,o*R)),++P):g.push(new h(i,o*w,o*R))}return g};var gY=new h,Wte=new h,Pte=new h,NN=new h,hIe=new h,fIe=new $,pIe=new $,bIe=new $,gIe=new $,yIe=new $,vte=new $,wte=new $,Fte=new h,xIe=new h,_Ie=new he;Ao.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let I=t.geodeticSurfaceNormal(n,gY);if(h.dot(i,I)>=0)return n}let o=l(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,gY),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,NN),c=h.normalize(h.cross(a,s,Wte),Wte),d=h.normalize(h.cross(s,c,Pte),Pte),u=fIe;u[0]=s.x,u[1]=s.y,u[2]=s.z,u[3]=c.x,u[4]=c.y,u[5]=c.z,u[6]=d.x,u[7]=d.y,u[8]=d.z;let m=$.transpose(u,pIe),p=$.fromScale(t.radii,bIe),g=$.fromScale(t.oneOverRadii,gIe),f=yIe;f[0]=0,f[1]=-i.z,f[2]=i.y,f[3]=i.z,f[4]=0,f[5]=-i.x,f[6]=-i.y,f[7]=i.x,f[8]=0;let x=$.multiply($.multiply(m,g,vte),f,vte),_=$.multiply($.multiply(x,p,wte),u,wte),C=$.multiplyByVector(x,n,hIe),V=Ao.quadraticVectorExpression(_,h.negate(C,gY),0,0,1),L,Z,G=V.length;if(G>0){let I=h.clone(h.ZERO,xIe),v=Number.NEGATIVE_INFINITY;for(let w=0;wv&&(v=b,I=h.clone(L,I))}let P=t.cartesianToCartographic(I,_Ie);return v=W.clamp(v,0,1),Z=h.magnitude(h.subtract(I,n,NN))*Math.sqrt(1-v*v),Z=o?-Z:Z,P.height=Z,t.cartographicToCartesian(P,new h)}};var TIe=new h;Ao.lineSegmentPlane=function(e,t,n,i){l(i)||(i=new h);let o=h.subtract(t,e,TIe),r=n.normal,s=h.dot(r,o);if(Math.abs(s)1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};Ao.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,d=0;d+=s?1:0,d+=a?1:0,d+=c?1:0;let u,m;if((d===1||d===2)&&(u=new h,m=new h),d===1){if(s)return Ao.lineSegmentPlane(e,t,i,u),Ao.lineSegmentPlane(e,n,i,m),{positions:[e,t,n,u,m],indices:[0,3,4,1,2,4,1,4,3]};if(a)return Ao.lineSegmentPlane(t,n,i,u),Ao.lineSegmentPlane(t,e,i,m),{positions:[e,t,n,u,m],indices:[1,3,4,2,0,4,2,4,3]};if(c)return Ao.lineSegmentPlane(n,e,i,u),Ao.lineSegmentPlane(n,t,i,m),{positions:[e,t,n,u,m],indices:[2,3,4,0,1,4,0,4,3]}}else if(d===2)if(s)if(a){if(!c)return Ao.lineSegmentPlane(e,n,i,u),Ao.lineSegmentPlane(t,n,i,m),{positions:[e,t,n,u,m],indices:[0,1,4,0,4,3,2,3,4]}}else return Ao.lineSegmentPlane(n,t,i,u),Ao.lineSegmentPlane(e,t,i,m),{positions:[e,t,n,u,m],indices:[2,0,4,2,4,3,1,3,4]};else return Ao.lineSegmentPlane(t,e,i,u),Ao.lineSegmentPlane(n,e,i,m),{positions:[e,t,n,u,m],indices:[1,2,4,1,4,3,0,3,4]}};var ei=Ao;var yY=new se;function nf(e,t){t=y(t,ne.default),e=t.scaleToGeodeticSurface(e);let n=Ft.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(M.getColumn(n,0,yY)),this._yAxis=h.fromCartesian4(M.getColumn(n,1,yY));let i=h.fromCartesian4(M.getColumn(n,2,yY));this._plane=dn.fromPointNormal(e,i)}Object.defineProperties(nf.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var SIe=new Ub;nf.fromPoints=function(e,t){let n=Ub.fromPoints(e,SIe);return new nf(n.center,t)};var Nte=new gn,kN=new h;nf.prototype.projectPointOntoPlane=function(e,t){let n=Nte;n.origin=e,h.normalize(e,n.direction);let i=ei.rayPlane(n,this._plane,kN);if(l(i)||(h.negate(n.direction,n.direction),i=ei.rayPlane(n,this._plane,kN)),l(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return l(t)?(t.x=r,t.y=s,t):new D(r,s)}};nf.prototype.projectPointsOntoPlane=function(e,t){l(t)||(t=[]);let n=0,i=e.length;for(let o=0;o0?0:v.latitude,R=he.fromRadians(F,e.north,n,vIe),E=he.fromRadians(e.west,e.north,n,wIe),X=he.fromRadians(e.west,b,n,FIe),A=he.fromRadians(e.west,e.south,n,AIe),N=he.fromRadians(F,e.south,n,MIe),O=i.cartographicToCartesian(R,NIe),U=i.cartographicToCartesian(E,Dte),Y=i.cartographicToCartesian(X,kIe),k=i.cartographicToCartesian(A,Bte),J=i.cartographicToCartesian(N,UIe),z=w.projectPointToNearestOnPlane(O,DIe),te=w.projectPointToNearestOnPlane(U,BIe),H=w.projectPointToNearestOnPlane(Y,OIe),q=w.projectPointToNearestOnPlane(k,YIe),ee=w.projectPointToNearestOnPlane(J,zIe);return r=Math.min(te.x,H.x,q.x),s=-r,c=Math.max(te.y,z.y),a=Math.min(q.y,ee.y),E.height=A.height=t,U=i.cartographicToCartesian(E,Dte),k=i.cartographicToCartesian(A,Bte),d=Math.min(dn.getPointDistance(m,U),dn.getPointDistance(m,k)),u=n,kte(w.origin,w.xAxis,w.yAxis,w.zAxis,r,s,a,c,d,u,o)}let p=e.south>0,g=e.north<0,f=p?e.south:g?e.north:0,x=ce.center(e,Ute).longitude,_=h.fromRadians(x,f,n,i,HIe);_.z=0;let V=Math.abs(_.x)=c?Kt.INSIDE:Kt.INTERSECTING};var zte=new h,Hte=new h,Kte=new h,nXe=new h,Ote=new h,iXe=new h;Fi.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,Yte),i=e.halfAxes,o=$.getColumn(i,0,zte),r=$.getColumn(i,1,Hte),s=$.getColumn(i,2,Kte),a=h.magnitude(o),c=h.magnitude(r),d=h.magnitude(s),u=!0,m=!0,p=!0;a>0?h.divideByScalar(o,a,o):u=!1,c>0?h.divideByScalar(r,c,r):m=!1,d>0?h.divideByScalar(s,d,s):p=!1;let g=!u+!m+!p,f,x,_;if(g===1){let Z=o;f=r,x=s,m?p||(Z=s,x=o):(Z=r,f=o),_=h.cross(f,x,Ote),Z===o?o=_:Z===r?r=_:Z===s&&(s=_)}else if(g===2){f=o,m?f=r:p&&(f=s);let Z=h.UNIT_Y;Z.equalsEpsilon(f,W.EPSILON3)&&(Z=h.UNIT_X),x=h.cross(f,Z,nXe),h.normalize(x,x),_=h.cross(f,x,Ote),h.normalize(_,_),f===o?(r=x,s=_):f===r?(s=x,o=_):f===s&&(o=x,r=_)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let C=iXe;C.x=h.dot(n,o),C.y=h.dot(n,r),C.z=h.dot(n,s);let V=0,L;return C.x<-a?(L=C.x+a,V+=L*L):C.x>a&&(L=C.x-a,V+=L*L),C.y<-c?(L=C.y+c,V+=L*L):C.y>c&&(L=C.y-c,V+=L*L),C.z<-d?(L=C.z+d,V+=L*L):C.z>d&&(L=C.z-d,V+=L*L),V};var oXe=new h,rXe=new h;Fi.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Pa);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=$.getColumn(a,0,zte),d=$.getColumn(a,1,Hte),u=$.getColumn(a,2,Kte),m=h.add(c,d,oXe);h.add(m,u,m),h.add(m,s,m);let p=h.subtract(m,t,rXe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,m),h.add(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,m),h.subtract(m,d,m),h.add(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,m),h.subtract(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.add(m,d,m),h.add(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.add(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.subtract(m,d,m),h.add(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.subtract(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var sXe=new h,aXe=new h,cXe=new h;Fi.computeCorners=function(e,t){l(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=$.getColumn(i,0,sXe),r=$.getColumn(i,1,aXe),s=$.getColumn(i,2,cXe);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var lXe=new $;Fi.computeTransformation=function(e,t){l(t)||(t=new M);let n=e.center,i=$.multiplyByUniformScale(e.halfAxes,2,lXe);return M.fromRotationTranslation(i,n,t)};var dXe=new le;Fi.isOccluded=function(e,t){let n=le.fromOrientedBoundingBox(e,dXe);return!t.isBoundingSphereVisible(n)};Fi.prototype.intersectPlane=function(e){return Fi.intersectPlane(this,e)};Fi.prototype.distanceSquaredTo=function(e){return Fi.distanceSquaredTo(this,e)};Fi.prototype.computePlaneDistances=function(e,t,n){return Fi.computePlaneDistances(this,e,t,n)};Fi.prototype.computeCorners=function(e){return Fi.computeCorners(this,e)};Fi.prototype.computeTransformation=function(e){return Fi.computeTransformation(this,e)};Fi.prototype.isOccluded=function(e){return Fi.isOccluded(this,e)};Fi.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&$.equals(e.halfAxes,t.halfAxes)};Fi.prototype.clone=function(e){return Fi.clone(this,e)};Fi.prototype.equals=function(e){return Fi.equals(this,e)};var Xn=Fi;var LHt=T(S(),1);var UN={};UN.getHeight=function(e,t,n){return(e-n)*t+n};var uXe=new he;UN.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,uXe);if(!l(r))return h.clone(e,o);let s=UN.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var _r=UN;var h4t=T(S(),1);var ZHt=T(S(),1),kE=`in vec3 position3DHigh; +`;function Wp(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?JE:KE,r=i?Px:zE,s=i?Wp.FLAT_VERTEX_FORMAT:Wp.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=oo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(Wp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});Wp.VERTEX_FORMAT=We.POSITION_AND_NORMAL;Wp.FLAT_VERTEX_FORMAT=We.POSITION_ONLY;Wp.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;Wp.prototype.isTranslucent=oo.prototype.isTranslucent;Wp.prototype.getRenderState=oo.prototype.getRenderState;var mn=Wp;var sKt=T(S(),1);function mC(e){this._definitionChanged=new be,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(mC.prototype,{isConstant:{get:function(){return K.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:ue("color")});mC.prototype.getType=function(e){return"Color"};var mXe=new j;mC.prototype.getValue=function(e,t){return l(e)||(e=j.now(mXe)),l(t)||(t={}),t.color=K.getValueOrClonedDefault(this._color,e,B.WHITE,t.color),t};mC.prototype.equals=function(e){return this===e||e instanceof mC&&K.equals(this._color,e._color)};var Bt=mC;var Yjt=T(S(),1);var Vjt=T(S(),1);var GKt=T(S(),1);var pKt=T(S(),1);function K0(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ne.default),this._rectangle=y(e.rectangle,le.MAX_VALUE),this._projection=new Ei(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(K0.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});K0.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<=o&&(d=o-1);let u=(i.north-e.latitude)/a|0;return u>=r&&(u=r-1),l(n)?(n.x=d,n.y=u,n):new D(d,u)};var Hi=K0;var pne=new h,bne=new h,gne=new he,MY=new h,hXe=new h,yne=new de,fXe=new Hi,QE=[new he,new he,new he,new he],jE=new D,jr={};jr.initialize=function(){let e=jr._initPromise;return l(e)||(e=Le.fetchJson(sn("Assets/approximateTerrainHeights.json")).then(function(t){jr._terrainHeights=t}),jr._initPromise=e),e};jr.getMinimumMaximumHeights=function(e,t){t=y(t,ne.default);let n=xne(e),i=jr._defaultMinTerrainHeight,o=jr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=jr._terrainHeights[r];l(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(le.northeast(e,gne),pne),t.cartographicToCartesian(le.southwest(e,gne),bne),h.midpoint(bne,pne,MY);let a=t.scaleToGeodeticSurface(MY,hXe);if(l(a)){let c=h.distance(MY,a);i=Math.min(i,-c)}else i=jr._defaultMinTerrainHeight}return i=Math.max(jr._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};jr.getBoundingSphere=function(e,t){t=y(t,ne.default);let n=xne(e),i=jr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=jr._terrainHeights[r];l(s)&&(i=s[1])}let o=de.fromRectangle3D(e,t,0);return de.fromRectangle3D(e,t,i,yne),de.union(o,yne,o)};function xne(e){he.fromRadians(e.east,e.north,0,QE[0]),he.fromRadians(e.west,e.north,0,QE[1]),he.fromRadians(e.east,e.south,0,QE[2]),he.fromRadians(e.west,e.south,0,QE[3]);let t=0,n=0,i=0,o=0,r=jr._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let d=QE[c];if(fXe.positionToTileXY(d,s,jE),c===0)i=jE.x,o=jE.y;else if(i!==jE.x||o!==jE.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}jr._terrainHeightsMaxLevel=6;jr._defaultMaxTerrainHeight=9e3;jr._defaultMinTerrainHeight=-1e5;jr._terrainHeights=void 0;jr._initPromise=void 0;Object.defineProperties(jr,{initialized:{get:function(){return l(jr._terrainHeights)}}});var hi=jr;var uJt=T(S(),1);var KKt=T(S(),1);var vKt=T(S(),1);function kc(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),l(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}kc.fromCorners=function(e,t,n){return l(n)||(n=new kc),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};kc.fromPoints=function(e,t){if(l(t)||(t=new kc),!l(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let m=1;m0?zt.INSIDE:r+o<0?zt.OUTSIDE:zt.INTERSECTING};kc.prototype.clone=function(e){return kc.clone(this,e)};kc.prototype.intersectPlane=function(e){return kc.intersectPlane(this,e)};kc.prototype.equals=function(e){return kc.equals(this,e)};var J0=kc;var NY=new re;function cf(e,t){t=y(t,ne.default),e=t.scaleToGeodeticSurface(e);let n=vt.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(M.getColumn(n,0,NY)),this._yAxis=h.fromCartesian4(M.getColumn(n,1,NY));let i=h.fromCartesian4(M.getColumn(n,2,NY));this._plane=un.fromPointNormal(e,i)}Object.defineProperties(cf.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var pXe=new J0;cf.fromPoints=function(e,t){let n=J0.fromPoints(e,pXe);return new cf(n.center,t)};var _ne=new gn,e5=new h;cf.prototype.projectPointOntoPlane=function(e,t){let n=_ne;n.origin=e,h.normalize(e,n.direction);let i=ni.rayPlane(n,this._plane,e5);if(l(i)||(h.negate(n.direction,n.direction),i=ni.rayPlane(n,this._plane,e5)),l(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return l(t)?(t.x=r,t.y=s,t):new D(r,s)}};cf.prototype.projectPointsOntoPlane=function(e,t){l(t)||(t=[]);let n=0,i=e.length;for(let o=0;o0?0:v.latitude,R=he.fromRadians(A,e.north,n,ZXe),E=he.fromRadians(e.west,e.north,n,GXe),X=he.fromRadians(e.west,b,n,EXe),F=he.fromRadians(e.west,e.south,n,IXe),N=he.fromRadians(A,e.south,n,XXe),O=i.cartographicToCartesian(R,WXe),U=i.cartographicToCartesian(E,Cne),Y=i.cartographicToCartesian(X,PXe),k=i.cartographicToCartesian(F,Vne),H=i.cartographicToCartesian(N,vXe),J=w.projectPointToNearestOnPlane(O,wXe),te=w.projectPointToNearestOnPlane(U,FXe),z=w.projectPointToNearestOnPlane(Y,AXe),q=w.projectPointToNearestOnPlane(k,MXe),ee=w.projectPointToNearestOnPlane(H,NXe);return r=Math.min(te.x,z.x,q.x),s=-r,c=Math.max(te.y,J.y),a=Math.min(q.y,ee.y),E.height=F.height=t,U=i.cartographicToCartesian(E,Cne),k=i.cartographicToCartesian(F,Vne),d=Math.min(un.getPointDistance(m,U),un.getPointDistance(m,k)),u=n,Tne(w.origin,w.xAxis,w.yAxis,w.zAxis,r,s,a,c,d,u,o)}let p=e.south>0,g=e.north<0,f=p?e.south:g?e.north:0,x=le.center(e,Sne).longitude,_=h.fromRadians(x,f,n,i,kXe);_.z=0;let V=Math.abs(_.x)=c?zt.INSIDE:zt.INTERSECTING};var Zne=new h,Gne=new h,Ene=new h,JXe=new h,Lne=new h,QXe=new h;Mi.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,Rne),i=e.halfAxes,o=$.getColumn(i,0,Zne),r=$.getColumn(i,1,Gne),s=$.getColumn(i,2,Ene),a=h.magnitude(o),c=h.magnitude(r),d=h.magnitude(s),u=!0,m=!0,p=!0;a>0?h.divideByScalar(o,a,o):u=!1,c>0?h.divideByScalar(r,c,r):m=!1,d>0?h.divideByScalar(s,d,s):p=!1;let g=!u+!m+!p,f,x,_;if(g===1){let Z=o;f=r,x=s,m?p||(Z=s,x=o):(Z=r,f=o),_=h.cross(f,x,Lne),Z===o?o=_:Z===r?r=_:Z===s&&(s=_)}else if(g===2){f=o,m?f=r:p&&(f=s);let Z=h.UNIT_Y;Z.equalsEpsilon(f,W.EPSILON3)&&(Z=h.UNIT_X),x=h.cross(f,Z,JXe),h.normalize(x,x),_=h.cross(f,x,Lne),h.normalize(_,_),f===o?(r=x,s=_):f===r?(s=x,o=_):f===s&&(o=x,r=_)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let C=QXe;C.x=h.dot(n,o),C.y=h.dot(n,r),C.z=h.dot(n,s);let V=0,L;return C.x<-a?(L=C.x+a,V+=L*L):C.x>a&&(L=C.x-a,V+=L*L),C.y<-c?(L=C.y+c,V+=L*L):C.y>c&&(L=C.y-c,V+=L*L),C.z<-d?(L=C.z+d,V+=L*L):C.z>d&&(L=C.z-d,V+=L*L),V};var jXe=new h,qXe=new h;Mi.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Wa);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=$.getColumn(a,0,Zne),d=$.getColumn(a,1,Gne),u=$.getColumn(a,2,Ene),m=h.add(c,d,jXe);h.add(m,u,m),h.add(m,s,m);let p=h.subtract(m,t,qXe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,m),h.add(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,m),h.subtract(m,d,m),h.add(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,m),h.subtract(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.add(m,d,m),h.add(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.add(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.subtract(m,d,m),h.add(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,m),h.subtract(m,d,m),h.subtract(m,u,m),h.subtract(m,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var $Xe=new h,eWe=new h,tWe=new h;Mi.computeCorners=function(e,t){l(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=$.getColumn(i,0,$Xe),r=$.getColumn(i,1,eWe),s=$.getColumn(i,2,tWe);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var nWe=new $;Mi.computeTransformation=function(e,t){l(t)||(t=new M);let n=e.center,i=$.multiplyByUniformScale(e.halfAxes,2,nWe);return M.fromRotationTranslation(i,n,t)};var iWe=new de;Mi.isOccluded=function(e,t){let n=de.fromOrientedBoundingBox(e,iWe);return!t.isBoundingSphereVisible(n)};Mi.prototype.intersectPlane=function(e){return Mi.intersectPlane(this,e)};Mi.prototype.distanceSquaredTo=function(e){return Mi.distanceSquaredTo(this,e)};Mi.prototype.computePlaneDistances=function(e,t,n){return Mi.computePlaneDistances(this,e,t,n)};Mi.prototype.computeCorners=function(e){return Mi.computeCorners(this,e)};Mi.prototype.computeTransformation=function(e){return Mi.computeTransformation(this,e)};Mi.prototype.isOccluded=function(e){return Mi.isOccluded(this,e)};Mi.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&$.equals(e.halfAxes,t.halfAxes)};Mi.prototype.clone=function(e){return Mi.clone(this,e)};Mi.prototype.equals=function(e){return Mi.equals(this,e)};var In=Mi;var bJt=T(S(),1);var t5={};t5.getHeight=function(e,t,n){return(e-n)*t+n};var oWe=new he;t5.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,oWe);if(!l(r))return h.clone(e,o);let s=t5.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var Cr=t5;var sjt=T(S(),1);var yJt=T(S(),1),qE=`in vec3 position3DHigh; in vec3 position3DLow; in float batchId; @@ -4790,7 +4835,7 @@ void main() gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position); } -`;var EHt=T(S(),1),Db=`#ifdef VECTOR_TILE +`;var _Jt=T(S(),1),Q0=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif @@ -4803,7 +4848,7 @@ void main(void) #endif czm_writeDepthClamp(); } -`;var XHt=T(S(),1),Jte={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};Jte.NUMBER_OF_CLASSIFICATION_TYPES=3;var Un=Object.freeze(Jte);var vHt=T(S(),1);var mXe={NEVER:ie.NEVER,LESS:ie.LESS,EQUAL:ie.EQUAL,LESS_OR_EQUAL:ie.LEQUAL,GREATER:ie.GREATER,NOT_EQUAL:ie.NOTEQUAL,GREATER_OR_EQUAL:ie.GEQUAL,ALWAYS:ie.ALWAYS},rc=Object.freeze(mXe);var lQt=T(S(),1);var FHt=T(S(),1);function hXe(e,t){let n=[],i=e.length,o=0;for(;o>1^-(e&1)}xo.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a>11,u=c>>5&o,m=c&i,p=3*a;t[p]=d*r,t[p+1]=u*s,t[p+2]=m*r}return t};var An=xo;var yKt=T(S(),1);var tne=new h,nne=new h,ine=new h;function ZXe(e,t,n,i,o){l(o)||(o=new h);let r,s,a,c,d,u,m,p;if(l(t.z)){if(h.equalsEpsilon(e,t,W.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,W.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,W.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,tne),s=h.subtract(i,t,nne),a=h.subtract(e,t,ine),c=h.dot(r,r),d=h.dot(r,s),u=h.dot(r,a),m=h.dot(s,s),p=h.dot(s,a)}else{if(D.equalsEpsilon(e,t,W.EPSILON14))return h.clone(h.UNIT_X,o);if(D.equalsEpsilon(e,n,W.EPSILON14))return h.clone(h.UNIT_Y,o);if(D.equalsEpsilon(e,i,W.EPSILON14))return h.clone(h.UNIT_Z,o);r=D.subtract(n,t,tne),s=D.subtract(i,t,nne),a=D.subtract(e,t,ine),c=D.dot(r,r),d=D.dot(r,s),u=D.dot(r,a),m=D.dot(s,s),p=D.dot(s,a)}o.y=m*u-d*p,o.z=c*p-d*u;let g=c*m-d*d;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var _x=ZXe;var SKt=T(S(),1);var TY={};TY.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!l(n)){n=0;let a=0,c=t[a];for(;an&&(n=c),++a,c=t[a]}let r=[];for(let a=0;ai&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};TY.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(b,R,E,X){for(;R.length>=1;){let A=R[R.length-1];if(R.splice(R.length-1,1),b[A].numLiveTriangles>0)return A}for(;o0)return++o,o-1;++o}return-1}function s(b,R,E,X,A,N,O){let U=-1,Y,k=-1,J=0;for(;Jk||k===-1)&&(k=Y,U=z)),++J}return U===-1?r(X,N,b,O):U}let a=t.length,c=0,d=0,u=t[d],m=a;if(l(n))c=n+1;else{for(;dc&&(c=u),++d,u=t[d];if(c===-1)return 0;++c}let p=[],g;for(g=0;gi&&(L.timeStamp=_,++_),++d}x=s(t,i,C,p,_,V,c)}return I};var OE=TY;var Ac={};function JN(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function GXe(e){let t=e.length,n=t/3*6,i=Ne.createTypedArray(t,n),o=0;for(let r=0;r=3){let n=(t-2)*6,i=Ne.createTypedArray(t,n);JN(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r0){let t=e.length-1,n=(t-1)*6,i=Ne.createTypedArray(t,n),o=e[0],r=0;for(let s=1;so&&(o=n[r]);e.indices=OE.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function one(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)){let i=e[n];t[n]=new Re({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function XXe(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];for(let r=0;r=W.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=one(e.attributes),a=e.indices,c=a.length,d;e.primitiveType===Me.TRIANGLES?d=3:e.primitiveType===Me.LINES?d=2:e.primitiveType===Me.POINTS&&(d=1);for(let u=0;u=W.SIXTY_FOUR_KILOBYTES&&(t.push(new ft({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=one(e.attributes))}o.length!==0&&t.push(new ft({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var rne=new h,WXe=new he;Ac.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=l(o)?o:new Ri;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),d=0;for(let u=0;u_&&(_=V)}return new ft({attributes:u,indices:f,primitiveType:d,boundingSphere:l(x)?new le(x,_):void 0})}Ac.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r0&&o.push(LY(t,"geometry")),n.length>0&&(o.push(LY(n,"westHemisphereGeometry")),o.push(LY(n,"eastHemisphereGeometry"))),o};var fu=new h,YE=new h,nC=new h,iC=new h;Ac.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),d;for(d=0;d0){for(u=0;u3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;oo?i>r?s=W.sign(e.y):s=W.sign(n.y):o>r?s=W.sign(t.y):s=W.sign(n.y);let a=s<0;Bb(e,a),Bb(t,a),Bb(n,a)}var lne=new h;function pu(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,lne),e.y/(e.y-t.y),lne),n),h.clone(n,i),Bb(n,!0),Bb(i,!1)}var Tx=new h,Sx=new h,Cx=new h,Vx=new h,RY={positions:new Array(7),indices:new Array(3*3)};function YXe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;OXe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=RY.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(pu(e,t,Tx,Cx),pu(e,n,Sx,Vx),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(pu(t,n,Tx,Cx),pu(t,e,Sx,Vx),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(pu(n,e,Tx,Cx),pu(n,t,Sx,Vx),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(pu(n,e,Tx,Cx),pu(n,t,Sx,Vx),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(pu(t,n,Tx,Cx),pu(t,e,Sx,Vx),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(pu(e,t,Tx,Cx),pu(e,n,Sx,Vx),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=RY.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=Tx,c[4]=Sx,c[5]=Cx,c[6]=Vx,c.length=7),RY}function dne(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&l(n[o])&&l(n[o].values)){let r=n[o];r.values=Q.createTypedArray(r.componentDatatype,r.values)}let i=ft.computeNumberOfVertices(e);return e.indices=Ne.createTypedArray(i,e.indices),t&&(e.boundingSphere=le.fromVertices(n.position.values)),e}function rC(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];n[i]=new Re({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new ft({attributes:n,indices:[],primitiveType:e.primitiveType})}function IY(e,t,n){let i=l(e.geometry.boundingSphere);t=dne(t,i),n=dne(n,i),l(n)&&!l(t)?e.geometry=n:!l(n)&&l(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function XY(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,d,u,m,p){let g=e.fromArray(d,r*t,n),f=e.fromArray(d,s*t,i),x=e.fromArray(d,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(f,c.y,f),e.multiplyByScalar(x,c.z,x);let _=e.add(g,f,g);e.add(_,x,_),p&&e.normalize(_,_),e.pack(_,u,m*t)}}var zXe=XY(se,4),KN=XY(h,3),bne=XY(D,2),HXe=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,d=o[n]*i.z;r[s]=a+c+d>W.EPSILON6?1:0},HE=new h,ZY=new h,GY=new h,KXe=new h;function zN(e,t,n,i,o,r,s,a,c,d,u,m,p,g,f,x){if(!l(r)&&!l(s)&&!l(a)&&!l(c)&&!l(d)&&g===0)return;let _=h.fromArray(o,e*3,HE),C=h.fromArray(o,t*3,ZY),V=h.fromArray(o,n*3,GY),L=_x(i,_,C,V,KXe);if(l(L)){if(l(r)&&KN(e,t,n,L,r,m.normal.values,x,!0),l(d)){let Z=h.fromArray(d,e*3,HE),G=h.fromArray(d,t*3,ZY),I=h.fromArray(d,n*3,GY);h.multiplyByScalar(Z,L.x,Z),h.multiplyByScalar(G,L.y,G),h.multiplyByScalar(I,L.z,I);let v;!h.equals(Z,h.ZERO)||!h.equals(G,h.ZERO)||!h.equals(I,h.ZERO)?(v=h.add(Z,G,Z),h.add(v,I,v),h.normalize(v,v)):(v=HE,v.x=0,v.y=0,v.z=0),h.pack(v,m.extrudeDirection.values,x*3)}if(l(u)&&HXe(e,t,n,L,u,m.applyOffset.values,x),l(s)&&KN(e,t,n,L,s,m.tangent.values,x,!0),l(a)&&KN(e,t,n,L,a,m.bitangent.values,x,!0),l(c)&&bne(e,t,n,L,c,m.st.values,x),g>0)for(let Z=0;Z3){let X=E.positions,A=E.indices,N=A.length;for(let O=0;O0)continue;let c=h.unpack(i,s,xne);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let d=h.unpack(o,s,EY);(a.y<0&&d.y>0||a.y>0&&d.y<0)&&(s+30||le.intersectPlane(n,dn.ORIGIN_ZX_PLANE)!==Kt.INTERSECTING))return e;if(t.geometryType!==lu.NONE)switch(t.geometryType){case lu.POLYLINES:oWe(e);break;case lu.TRIANGLES:une(e);break;case lu.LINES:mne(e);break}else BXe(t),t.primitiveType===Me.TRIANGLES?une(e):t.primitiveType===Me.LINES&&mne(e);return e};var Dn=Ac;var nJt=T(S(),1);function Sl(e){this._ellipsoid=y(e,ne.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(Sl.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});Sl.mercatorAngleToGeodeticLatitude=function(e){return W.PI_OVER_TWO-2*Math.atan(Math.exp(-e))};Sl.geodeticLatitudeToMercatorAngle=function(e){e>Sl.MaximumLatitude?e=Sl.MaximumLatitude:e<-Sl.MaximumLatitude&&(e=-Sl.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};Sl.MaximumLatitude=Sl.mercatorAngleToGeodeticLatitude(Math.PI);Sl.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=Sl.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};Sl.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=Sl.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new he(i,o,r)};var Zi=Sl;function rWe(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r=0){let d=i[a];o=d.offset+d.count,s=d.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let d=0;dr&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function cWe(e,t){let n=[];return PY(e,"geometry",t,n),PY(e,"westHemisphereGeometry",t,n),PY(e,"eastHemisphereGeometry",t,n),n}var Ip={};Ip.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=aWe(e),t.length>0&&(n=Dn.createAttributeLocations(t[0]),e.createPickOffsets&&(r=cWe(i,t))),l(i[0].attributes)&&l(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),d=new Array(o);for(let u=0;u0&&(n.set(c.indices,s),s+=f)}return t.push(n.buffer),{stringTable:i,packedData:n}};Ip.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s0){let G=_.length/C;for(Z=Ne.createTypedArray(G,x),i=0;iVl.MaximumLatitude?e=Vl.MaximumLatitude:e<-Vl.MaximumLatitude&&(e=-Vl.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};Vl.MaximumLatitude=Vl.mercatorAngleToGeodeticLatitude(Math.PI);Vl.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=Vl.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};Vl.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=Vl.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new he(i,o,r)};var Xi=Vl;function _We(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r=0){let d=i[a];o=d.offset+d.count,s=d.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let d=0;dr&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function CWe(e,t){let n=[];return UY(e,"geometry",t,n),UY(e,"westHemisphereGeometry",t,n),UY(e,"eastHemisphereGeometry",t,n),n}var vp={};vp.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=SWe(e),t.length>0&&(n=Mn.createAttributeLocations(t[0]),e.createPickOffsets&&(r=CWe(i,t))),l(i[0].attributes)&&l(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),d=new Array(o);for(let u=0;u0&&(n.set(c.indices,s),s+=f)}return t.push(n.buffer),{stringTable:i,packedData:n}};vp.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s0){let G=_.length/C;for(Z=ke.createTypedArray(G,x),i=0;i= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; gl_Position *= show; }`,`${i} -${o}`};function Vne(e,t){if(!e.compressVertices)return t;let n=t.search(/in\s+vec3\s+normal;/g)!==-1,i=t.search(/in\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/in\s+vec3\s+tangent;/g)!==-1,r=t.search(/in\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",d=`in ${a} ${c};`,u="",m="";if(i){u+=`vec2 st; +${o}`};function Ane(e,t){if(!e.compressVertices)return t;let n=t.search(/in\s+vec3\s+normal;/g)!==-1,i=t.search(/in\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/in\s+vec3\s+tangent;/g)!==-1,r=t.search(/in\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",d=`in ${a} ${c};`,u="",m="";if(i){u+=`vec2 st; `;let f=s>1?`${c}.x`:c;m+=` st = czm_decompressTextureCoordinates(${f}); `}n&&o&&r?(u+=`vec3 normal; vec3 tangent; @@ -4954,14 +4999,14 @@ vec3 bitangent; `,m+=` tangent = czm_octDecode(${c}.${i&&n?"z":"y"}); `),r&&(u+=`vec3 bitangent; `,m+=` bitangent = czm_octDecode(${c}.${i&&n?"z":"y"}); -`));let p=t;p=p.replace(/in\s+vec3\s+normal;/g,""),p=p.replace(/in\s+vec2\s+st;/g,""),p=p.replace(/in\s+vec3\s+tangent;/g,""),p=p.replace(/in\s+vec3\s+bitangent;/g,""),p=Ye.replaceMain(p,"czm_non_compressed_main");let g=`void main() +`));let p=t;p=p.replace(/in\s+vec3\s+normal;/g,""),p=p.replace(/in\s+vec2\s+st;/g,""),p=p.replace(/in\s+vec3\s+tangent;/g,""),p=p.replace(/in\s+vec3\s+bitangent;/g,""),p=Oe.replaceMain(p,"czm_non_compressed_main");let g=`void main() { ${m} czm_non_compressed_main(); }`;return[d,u,p,g].join(` -`)}function CWe(e){let t=Ye.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { +`)}function MWe(e){let t=Oe.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { czm_non_depth_clamp_main(); gl_Position = czm_depthClamp(gl_Position);} -`,t}function VWe(e){let t=Ye.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { +`,t}function NWe(e){let t=Oe.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { czm_non_depth_clamp_main(); #if defined(LOG_DEPTH) czm_writeLogDepth(); @@ -4969,7 +5014,7 @@ ${m} czm_non_compressed_main(); czm_writeDepthClamp(); #endif } -`,t}function Lne(e,t){let n=e.vertexAttributes}function LWe(e,t){return function(){return e[t]}}var vY=Math.max(zt.hardwareConcurrency-1,1),QN,RWe=new bi("combineGeometry");function ZWe(e,t){let n,i,o,r,s=e._instanceIds;if(e._state===Tr.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let a=e._numberOfInstances=n.length,c=[],d=[];for(o=0;o0){let x=new Float64Array(m);for(f=[x.buffer],r=0;r0?(e._recomputeBoundingSpheres=!0,e._state=Tr.COMBINED):JE(e,t,Tr.FAILED,void 0)}).catch(function(m){JE(e,t,Tr.FAILED,m)})}}function GWe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a0?(e._recomputeBoundingSpheres=!0,e._state=Tr.COMBINED):JE(e,t,Tr.FAILED,void 0)}function EWe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!l(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!l(a)){for(a=new Array(s),i=0;i0||le.intersectPlane(x,dn.ORIGIN_ZX_PLANE)!==Kt.INTERSECTING?c.push(x):(d.push(x),u.push(x))}let m=c[0],p=u[0],g=d[0];for(i=1;i0){if(Dt.maximumVertexTextureImageUnits===0)throw new de("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==Tr.COMPLETE&&this._state!==Tr.COMBINED&&(this.asynchronous?ZWe(this,e):GWe(this,e)),this._state===Tr.COMBINED&&(IWe(this,e),Zne(this,e),WWe(this,e)),!this.show||this._state!==Tr.COMPLETE)return;this._batchTableOffsetsUpdated||Zne(this,e),this._recomputeBoundingSpheres&&EWe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=l(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),l(this._material)&&this._material.update(t);let d=n.closed&&c;o&&y(this._createRenderStatesFunction,PWe)(this,t,n,d),r&&y(this._createShaderProgramFunction,vWe)(this,e,n),(o||r)&&y(this._createCommandsFunction,wWe)(this,n,i,c,d,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,FWe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,d)};var AWe=new le,MWe=new le;function wne(e,t,n){if(n===un.TOP){let i=le.clone(e,AWe),o=le.clone(e,MWe);o.center=h.add(o.center,t,o.center),e=le.union(i,o,e)}else n===un.ALL&&(e.center=h.add(e.center,t,e.center));return e}function NWe(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=Q.createTypedArray(o.componentDatatype,r);return l(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function kWe(e,t,n,i,o){return function(r){let s=Xne(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var UWe=new h;function DWe(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(l(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;l(r)&&wne(i,h.fromArray(r.get(),0,UWe),e._offsetInstanceExtend[n]),l(o)&&(i=le.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function BWe(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}Sr.prototype.getGeometryInstanceAttributes=function(e){let t=this._perInstanceAttributeCache.get(e);if(l(t))return t;let n=-1,i=this._lastPerInstanceAttributeIndex,o=this._instanceIds,r=o.length;for(let d=0;d0){let x=new Float64Array(m);for(f=[x.buffer],r=0;r0?(e._recomputeBoundingSpheres=!0,e._state=Vr.COMBINED):nI(e,t,Vr.FAILED,void 0)}).catch(function(m){nI(e,t,Vr.FAILED,m)})}}function BWe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a0?(e._recomputeBoundingSpheres=!0,e._state=Vr.COMBINED):nI(e,t,Vr.FAILED,void 0)}function OWe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!l(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!l(a)){for(a=new Array(s),i=0;i0||de.intersectPlane(x,un.ORIGIN_ZX_PLANE)!==zt.INTERSECTING?c.push(x):(d.push(x),u.push(x))}let m=c[0],p=u[0],g=d[0];for(i=1;i0){if(At.maximumVertexTextureImageUnits===0)throw new ce("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==Vr.COMPLETE&&this._state!==Vr.COMBINED&&(this.asynchronous?DWe(this,e):BWe(this,e)),this._state===Vr.COMBINED&&(YWe(this,e),kne(this,e),zWe(this,e)),!this.show||this._state!==Vr.COMPLETE)return;this._batchTableOffsetsUpdated||kne(this,e),this._recomputeBoundingSpheres&&OWe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=l(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),l(this._material)&&this._material.update(t);let d=n.closed&&c;o&&y(this._createRenderStatesFunction,KWe)(this,t,n,d),r&&y(this._createShaderProgramFunction,JWe)(this,e,n),(o||r)&&y(this._createCommandsFunction,QWe)(this,n,i,c,d,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,jWe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,d)};var qWe=new de,$We=new de;function Kne(e,t,n){if(n===dn.TOP){let i=de.clone(e,qWe),o=de.clone(e,$We);o.center=h.add(o.center,t,o.center),e=de.union(i,o,e)}else n===dn.ALL&&(e.center=h.add(e.center,t,e.center));return e}function e2e(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=Q.createTypedArray(o.componentDatatype,r);return l(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function t2e(e,t,n,i,o){return function(r){let s=One(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var n2e=new h;function i2e(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(l(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;l(r)&&Kne(i,h.fromArray(r.get(),0,n2e),e._offsetInstanceExtend[n]),l(o)&&(i=de.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function o2e(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}Lr.prototype.getGeometryInstanceAttributes=function(e){let t=this._perInstanceAttributeCache.get(e);if(l(t))return t;let n=-1,i=this._lastPerInstanceAttributeIndex,o=this._instanceIds,r=o.length;for(let d=0;dd&&(u=W.PI-s,s=-W.PI,d+=u),r-=W.EPSILON5,s-=W.EPSILON5,c+=W.EPSILON5,d+=W.EPSILON5;let m=1/(d-s),p=1/(c-r),g={sphericalExtents:new sc({componentDatatype:Q.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,m]}),longitudeRotation:new sc({componentDatatype:Q.FLOAT,componentsPerAttribute:1,normalize:!1,value:[u]})};return One(g,t),Hne(e,i,g),g};bu.hasAttributesForTextureCoordinatePlanes=function(e){return l(e.southWest_HIGH)&&l(e.southWest_LOW)&&l(e.northward)&&l(e.eastward)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};bu.hasAttributesForSphericalExtents=function(e){return l(e.sphericalExtents)&&l(e.longitudeRotation)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};function i2e(e){return Math.max(e.width,e.height)>bu.MAX_WIDTH_FOR_PLANAR_EXTENTS}bu.shouldUseSphericalCoordinates=function(e){return i2e(e)};bu.MAX_WIDTH_FOR_PLANAR_EXTENTS=W.toRadians(1);var dd=bu;var UQt=T(S(),1);var vQt=T(S(),1);var o2e={NEVER:ie.NEVER,LESS:ie.LESS,EQUAL:ie.EQUAL,LESS_OR_EQUAL:ie.LEQUAL,GREATER:ie.GREATER,NOT_EQUAL:ie.NOTEQUAL,GREATER_OR_EQUAL:ie.GEQUAL,ALWAYS:ie.ALWAYS},Bn=Object.freeze(o2e);var AQt=T(S(),1);var r2e={ZERO:ie.ZERO,KEEP:ie.KEEP,REPLACE:ie.REPLACE,INCREMENT:ie.INCR,DECREMENT:ie.DECR,INVERT:ie.INVERT,INCREMENT_WRAP:ie.INCR_WRAP,DECREMENT_WRAP:ie.DECR_WRAP},bt=Object.freeze(r2e);var qN={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};qN.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:Bn.ALWAYS,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.REPLACE},backFunction:Bn.ALWAYS,backOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.REPLACE},reference:qN.CESIUM_3D_TILE_MASK,mask:qN.CESIUM_3D_TILE_MASK}};var Bt=Object.freeze(qN);function Rx(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Un.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(Rx.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});Rx.isSupported=function(e){return e.context.stencilBuffer};function aC(e,t){let n=t?Bn.EQUAL:Bn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:bt.KEEP,zFail:bt.DECREMENT_WRAP,zPass:bt.KEEP},backFunction:n,backOperation:{fail:bt.KEEP,zFail:bt.INCREMENT_WRAP,zPass:bt.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:rc.LESS_OR_EQUAL},depthMask:!1}}function MY(e){return{stencilTest:{enabled:e,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},backFunction:Bn.NOT_EQUAL,backOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND}}var s2e={stencilTest:{enabled:!0,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},backFunction:Bn.NOT_EQUAL,backOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function a2e(e,t,n,i){if(l(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=Be.fromCache(aC(o,!1)),e._rsStencilDepthPass3DTiles=Be.fromCache(aC(o,!0)),e._rsColorPass=Be.fromCache(MY(o,!1)),e._rsPickPass=Be.fromCache(s2e)}function c2e(e,t){if(!e.compressVertices)return t;if(t.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`in vec2 ${n};`,o=`vec3 extrudeDirection; +`;function Su(e,t,n){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let i=new OY;i.requiresTextureCoordinates=e,i.requiresEC=!n.flat;let o=new OY;if(o.requiresTextureCoordinates=e,n instanceof mn)i.requiresNormalEC=!n.flat;else{let r=`${n.material.shaderSource} +${n.fragmentShaderSource}`;i.normalEC=r.indexOf("materialInput.normalEC")!==-1||r.indexOf("czm_getDefaultMaterial")!==-1,i.positionToEyeEC=r.indexOf("materialInput.positionToEyeEC")!==-1,i.tangentToEyeMatrix=r.indexOf("materialInput.tangentToEyeMatrix")!==-1,i.st=r.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=i,this._pickShaderDependencies=o,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}Su.prototype.createFragmentShader=function(e){let t=this._appearance,n=this._colorShaderDependencies,i=[];!e&&!this._planarExtents&&i.push("SPHERICAL"),n.requiresEC&&i.push("REQUIRES_EC"),n.requiresWC&&i.push("REQUIRES_WC"),n.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),n.requiresNormalEC&&i.push("NORMAL_EC"),t instanceof mn&&i.push("PER_INSTANCE_COLOR"),n.normalEC&&i.push("USES_NORMAL_EC"),n.positionToEyeEC&&i.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&i.push("USES_TANGENT_TO_EYE"),n.st&&i.push("USES_ST"),t.flat&&i.push("FLAT");let o="";return t instanceof mn||(o=t.material.shaderSource),new Oe({defines:i,sources:[o,hC]})};Su.prototype.createPickFragmentShader=function(e){let t=this._pickShaderDependencies,n=["PICK"];return!e&&!this._planarExtents&&n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new Oe({defines:n,sources:[hC],pickColorQualifier:"in"})};Su.prototype.createVertexShader=function(e,t,n,i){return nie(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,i,this._projectionExtentDefines)};Su.prototype.createPickVertexShader=function(e,t,n,i){return nie(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,i,this._projectionExtentDefines)};var Jne=new h,Qne=new he,jne={high:0,low:0};function nie(e,t,n,i,o,r,s,a){let c=i.slice();if(a.eastMostYhighDefine===""){let d=Qne;d.longitude=W.PI,d.latitude=0,d.height=0;let u=s.project(d,Jne),m=Hn.encode(u.x,jne);a.eastMostYhighDefine=`EAST_MOST_X_HIGH ${m.high.toFixed(`${m.high}`.length+1)}`,a.eastMostYlowDefine=`EAST_MOST_X_LOW ${m.low.toFixed(`${m.low}`.length+1)}`;let p=Qne;p.longitude=-W.PI,p.latitude=0,p.height=0;let g=s.project(p,Jne);m=Hn.encode(g.x,jne),a.westMostYhighDefine=`WEST_MOST_X_HIGH ${m.high.toFixed(`${m.high}`.length+1)}`,a.westMostYlowDefine=`WEST_MOST_X_LOW ${m.low.toFixed(`${m.low}`.length+1)}`}return n&&(c.push(a.eastMostYhighDefine),c.push(a.eastMostYlowDefine),c.push(a.westMostYhighDefine),c.push(a.westMostYlowDefine)),l(r)&&r instanceof mn&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||n||c.push("SPHERICAL"),n&&c.push("COLUMBUS_VIEW_2D")),new Oe({defines:c,sources:[o]})}function OY(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(OY.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});function qne(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/D.distance(t,e)}var s2e=[new D,new D,new D,new D];function iie(e,t){let n=s2e,i=D.unpack(t,0,n[0]),o=D.unpack(t,2,n[1]),r=D.unpack(t,4,n[2]);e.uMaxVmax=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});let s=1/qne(i,o,r),a=1/qne(i,r,o);e.uvMinAndExtents=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,s,a]})}var oie=new he,rie=new h,a2e=new h,c2e=new h,i5={high:0,low:0};function sie(e,t,n){let i=oie;i.height=0,i.longitude=e.west,i.latitude=e.south;let o=t.project(i,rie);i.latitude=e.north;let r=t.project(i,a2e);i.longitude=e.east,i.latitude=e.south;let s=t.project(i,c2e),a=[0,0,0,0],c=[0,0,0,0],d=Hn.encode(o.x,i5);a[0]=d.high,c[0]=d.low,d=Hn.encode(o.y,i5),a[1]=d.high,c[1]=d.low,d=Hn.encode(r.y,i5),a[2]=d.high,c[2]=d.low,d=Hn.encode(s.x,i5),a[3]=d.high,c[3]=d.low,n.planes2D_HIGH=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:4,normalize:!1,value:a}),n.planes2D_LOW=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}var l2e=new M,d2e=new M,$ne=new h,u2e=new he,m2e=[new he,new he,new he,new he,new he,new he,new he,new he];function h2e(e,t,n,i,o,r){let s=le.center(e,u2e);s.height=n;let a=he.toCartesian(s,t,$ne),c=vt.eastNorthUpToFixedFrame(a,t,l2e),d=M.inverse(c,d2e),u=e.west,m=e.east,p=e.north,g=e.south,f=m2e;f[0].latitude=g,f[0].longitude=u,f[1].latitude=p,f[1].longitude=u,f[2].latitude=p,f[2].longitude=m,f[3].latitude=g,f[3].longitude=m;let x=(u+m)*.5,_=(p+g)*.5;f[4].latitude=g,f[4].longitude=x,f[5].latitude=p,f[5].longitude=x,f[6].latitude=_,f[6].longitude=u,f[7].latitude=_,f[7].longitude=m;let C=Number.POSITIVE_INFINITY,V=Number.NEGATIVE_INFINITY,L=Number.POSITIVE_INFINITY,Z=Number.NEGATIVE_INFINITY;for(let P=0;P<8;P++){f[P].height=n;let w=he.toCartesian(f[P],t,$ne);M.multiplyByPoint(d,w,w),w.z=0,C=Math.min(C,w.x),V=Math.max(V,w.x),L=Math.min(L,w.y),Z=Math.max(Z,w.y)}let G=i;G.x=C,G.y=L,G.z=0,M.multiplyByPoint(c,G,G);let I=o;I.x=V,I.y=L,I.z=0,M.multiplyByPoint(c,I,I),h.subtract(I,G,o);let v=r;v.x=C,v.y=Z,v.z=0,M.multiplyByPoint(c,v,v),h.subtract(v,G,r)}var f2e=new h,p2e=new h,b2e=new Hn;Su.getPlanarTextureCoordinateAttributes=function(e,t,n,i,o){let r=rie,s=f2e,a=p2e;h2e(e,n,y(o,0),r,s,a);let c={};iie(c,t);let d=Hn.fromCartesian(r,b2e);return c.southWest_HIGH=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(d.high,[0,0,0])}),c.southWest_LOW=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(d.low,[0,0,0])}),c.eastward=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(s,[0,0,0])}),c.northward=new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(a,[0,0,0])}),sie(e,i,c),c};var g2e=new h;function eie(e,t,n,i){let o=oie;o.latitude=e,o.longitude=t,o.height=0;let r=he.toCartesian(o,n,g2e),s=Math.sqrt(r.x*r.x+r.y*r.y),a=W.fastApproximateAtan2(s,r.z),c=W.fastApproximateAtan2(r.x,r.y);return i.x=a,i.y=c,i}var tie=new D;Su.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,i){let o=eie(e.south,e.west,n,tie),r=o.x,s=o.y,a=eie(e.north,e.east,n,tie),c=a.x,d=a.y,u=0;s>d&&(u=W.PI-s,s=-W.PI,d+=u),r-=W.EPSILON5,s-=W.EPSILON5,c+=W.EPSILON5,d+=W.EPSILON5;let m=1/(d-s),p=1/(c-r),g={sphericalExtents:new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,m]}),longitudeRotation:new lc({componentDatatype:Q.FLOAT,componentsPerAttribute:1,normalize:!1,value:[u]})};return iie(g,t),sie(e,i,g),g};Su.hasAttributesForTextureCoordinatePlanes=function(e){return l(e.southWest_HIGH)&&l(e.southWest_LOW)&&l(e.northward)&&l(e.eastward)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};Su.hasAttributesForSphericalExtents=function(e){return l(e.sphericalExtents)&&l(e.longitudeRotation)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};function y2e(e){return Math.max(e.width,e.height)>Su.MAX_WIDTH_FOR_PLANAR_EXTENTS}Su.shouldUseSphericalCoordinates=function(e){return y2e(e)};Su.MAX_WIDTH_FOR_PLANAR_EXTENTS=W.toRadians(1);var pd=Su;var v4t=T(S(),1);var Z4t=T(S(),1);var x2e={NEVER:ie.NEVER,LESS:ie.LESS,EQUAL:ie.EQUAL,LESS_OR_EQUAL:ie.LEQUAL,GREATER:ie.GREATER,NOT_EQUAL:ie.NOTEQUAL,GREATER_OR_EQUAL:ie.GEQUAL,ALWAYS:ie.ALWAYS},Bn=Object.freeze(x2e);var I4t=T(S(),1);var _2e={ZERO:ie.ZERO,KEEP:ie.KEEP,REPLACE:ie.REPLACE,INCREMENT:ie.INCR,DECREMENT:ie.DECR,INVERT:ie.INVERT,INCREMENT_WRAP:ie.INCR_WRAP,DECREMENT_WRAP:ie.DECR_WRAP},bt=Object.freeze(_2e);var o5={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};o5.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:Bn.ALWAYS,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.REPLACE},backFunction:Bn.ALWAYS,backOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.REPLACE},reference:o5.CESIUM_3D_TILE_MASK,mask:o5.CESIUM_3D_TILE_MASK}};var Dt=Object.freeze(o5);function Fx(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Dn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(Fx.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});Fx.isSupported=function(e){return e.context.stencilBuffer};function fC(e,t){let n=t?Bn.EQUAL:Bn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:bt.KEEP,zFail:bt.DECREMENT_WRAP,zPass:bt.KEEP},backFunction:n,backOperation:{fail:bt.KEEP,zFail:bt.INCREMENT_WRAP,zPass:bt.KEEP},reference:Dt.CESIUM_3D_TILE_MASK,mask:Dt.CESIUM_3D_TILE_MASK},stencilMask:Dt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:cc.LESS_OR_EQUAL},depthMask:!1}}function HY(e){return{stencilTest:{enabled:e,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},backFunction:Bn.NOT_EQUAL,backOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},reference:0,mask:Dt.CLASSIFICATION_MASK},stencilMask:Dt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND}}var T2e={stencilTest:{enabled:!0,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},backFunction:Bn.NOT_EQUAL,backOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},reference:0,mask:Dt.CLASSIFICATION_MASK},stencilMask:Dt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function S2e(e,t,n,i){if(l(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=Be.fromCache(fC(o,!1)),e._rsStencilDepthPass3DTiles=Be.fromCache(fC(o,!0)),e._rsColorPass=Be.fromCache(HY(o,!1)),e._rsPickPass=Be.fromCache(T2e)}function C2e(e,t){if(!e.compressVertices)return t;if(t.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`in vec2 ${n};`,o=`vec3 extrudeDirection; `,r=` extrudeDirection = czm_octDecode(${n}, 65535.0); -`,s=t;s=s.replace(/in\s+vec3\s+extrudeDirection;/g,""),s=Ye.replaceMain(s,"czm_non_compressed_main");let a=`void main() +`,s=t;s=s.replace(/in\s+vec3\s+extrudeDirection;/g,""),s=Oe.replaceMain(s,"czm_non_compressed_main");let a=`void main() { ${r} czm_non_compressed_main(); }`;return[i,o,s,a].join(` -`)}}function l2e(e,t){let n=t.context,i=e._primitive,o=kE;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=Wn._appendDistanceDisplayConditionToShader(i,o),o=Wn._modifyShaderPosition(e,o,t.scene3DOnly),o=Wn._updateColorAttribute(i,o);let r=e._hasPlanarExtentsAttributes,s=r||e._hasSphericalExtentsAttribute;e._extruded&&(o=c2e(i,o));let a=e._extruded?"EXTRUDED_GEOMETRY":"",c=new Ye({defines:[a],sources:[o]}),d=new Ye({sources:[Db]}),u=e._primitive._attributeLocations,m=new dd(s,r,e.appearance);if(e._spStencil=cn.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:c,fragmentShaderSource:d,attributeLocations:u}),e._primitive.allowPicking){let f=Ye.createPickVertexShaderSource(o);f=Wn._appendShowToShader(i,f),f=Wn._updatePickColorAttribute(f);let x=m.createPickFragmentShader(!1),_=m.createPickVertexShader([a],f,!1,t.mapProjection);if(e._spPick=cn.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:_,fragmentShaderSource:x,attributeLocations:u}),s){let C=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!l(C)){let V=m.createPickFragmentShader(!0),L=m.createPickVertexShader([a],f,!0,t.mapProjection);C=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:L,fragmentShaderSource:V,attributeLocations:u})}e._spPick2D=C}}else e._spPick=cn.fromCache({context:n,vertexShaderSource:c,fragmentShaderSource:d,attributeLocations:u});o=Wn._appendShowToShader(i,o),c=new Ye({defines:[a],sources:[o]}),e._sp=cn.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:c,fragmentShaderSource:d,attributeLocations:u});let p=m.createFragmentShader(!1),g=m.createVertexShader([a],o,!1,t.mapProjection);if(e._spColor=cn.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:g,fragmentShaderSource:p,attributeLocations:u}),s){let f=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!l(f)){let x=m.createFragmentShader(!0),_=m.createVertexShader([a],o,!0,t.mapProjection);f=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:_,fragmentShaderSource:x,attributeLocations:u})}e._spColor2D=f}}function d2e(e,t){let n=e._primitive,i=n._va.length*2;t.length=i;let o,r,s,a=0,c=n._batchTable.getUniformMapCallback()(e._uniformMap),d=e._needs2DShader;for(o=0;o0&&(c=o[0].attributes,p=dd.hasAttributesForSphericalExtents(c),g=dd.hasAttributesForTextureCoordinatePlanes(c),m=c.color),s=0;s{l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Rx.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Rx.prototype.isDestroyed=function(){return!1};Rx.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,me(this)};var cC=Rx;var f2e={u_globeMinimumAltitude:function(){return 55e3}};function Cl(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!l(t)&&l(n)){let o=Array.isArray(n)?n:[n],r=o.length;for(let s=0;s{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Cl.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};Cl.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Cl.prototype.isDestroyed=function(){return!1};Cl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};Cl._supportsMaterials=function(e){return e.depthTexture};Cl.supportsMaterials=function(e){return Cl._supportsMaterials(e.frameState.context)};var Mc=Cl;var M4t=T(S(),1);function lC(){fe.throwInstantiationError()}Object.defineProperties(lC.prototype,{isConstant:{get:fe.throwInstantiationError},definitionChanged:{get:fe.throwInstantiationError}});lC.prototype.getType=fe.throwInstantiationError;lC.prototype.getValue=fe.throwInstantiationError;lC.prototype.equals=fe.throwInstantiationError;var C2e=new j;lC.getValue=function(e,t,n){let i;return l(e)||(e=j.now(C2e)),l(t)&&(i=t.getType(e),l(i))?((!l(n)||n.type!==i)&&(n=Bi.fromType(i)),t.getValue(e,n.uniforms),n):((!l(n)||n.type!==Bi.ColorType)&&(n=Bi.fromType(Bi.ColorType)),B.clone(B.WHITE,n.uniforms.color),n)};var jo=lC;function Zx(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}Zx.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!K.getValueOrDefault(t.show,n,!0)};Zx.prototype._setOptions=fe.throwInstantiationError;Zx.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!l(s.fill)||s.fill.getValue(e)){let d=t.fillMaterialProperty,u=d instanceof Ot,m,p=t._getIsClosed(c);if(u)m=new mn({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=jo.getValue(e,d,this._material);this._material=g,m=new ro({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=mn.VERTEX_FORMAT,this._primitive=o.add(new Mc({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:m,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),K.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=m.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);u&&(m.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new Wn({geometryInstances:g,appearance:m,asynchronous:!1,shadows:a}))}}if(!n&&l(s.outline)&&s.outline.getValue(e)){let d=this._geometryUpdater.createOutlineGeometryInstance(e),u=K.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new Wn({geometryInstances:d,appearance:new mn({flat:!0,translucent:d.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(u)}}),asynchronous:!1,shadows:a}))}};Zx.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return l(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(le.clone(o.boundingSphere,e),ht.DONE):l(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(le.clone(o.boundingSphere,e),ht.DONE):l(n)&&!n.ready||l(i)&&!i.ready?ht.PENDING:ht.FAILED};Zx.prototype.isDestroyed=function(){return!1};Zx.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),me(this)};var ii=Zx;var Ten=T(S(),1);var oen=T(S(),1);var o7t=T(S(),1);var zjt=T(S(),1);var ejt=T(S(),1),V2e={NONE:0,GEODESIC:1,RHUMB:2},on=Object.freeze(V2e);var rjt=T(S(),1);var $ne=W.EPSILON10;function L2e(e,t,n,i){if(!l(e))return;n=y(n,!1);let o=l(i),r=e.length;if(r<2)return e;let s,a=e[0],c,d,u=0,m=-1;for(s=1;sW.EPSILON12);let R=F*(t*t-n*n)/(n*n),E=1+R*(4096+R*(R*(320-175*R)-768))/16384,X=R*(256+R*(R*(74-47*R)-128))/1024,A=b*b,N=X*w*(b+X*(P*(2*A-1)-X*b*(4*w*w-3)*(4*A-3)/6)/4),O=n*E*(v-N),U=Math.atan2(g*I,_-V*G),Y=Math.atan2(m*I,_*G-V);e._distance=O,e._startHeading=U,e._endHeading=Y,e._uSquared=R}var E2e=new h,UY=new h;function tie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,UY),E2e),r=h.normalize(i.cartographicToCartesian(n,UY),UY);G2e(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=he.clone(t,e._start),e._end=he.clone(n,e._end),e._start.height=0,e._end.height=0,R2e(e)}function QE(e,t,n){let i=y(n,ne.default);this._ellipsoid=i,this._start=new he,this._end=new he,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,l(e)&&l(t)&&tie(this,e,t,i)}Object.defineProperties(QE.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});QE.prototype.setEndPoints=function(e,t){tie(this,e,t,this._ellipsoid)};QE.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};QE.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),d=Math.sin(6*i),u=Math.sin(8*i),m=i*i,p=i*m,g=n.u8Over256,f=n.u2Over4,x=n.u6Over64,_=n.u4Over16,C=2*p*g*o/3+i*(1-f+7*_/4-15*x/4+579*g/64-(_-15*x/4+187*g/16)*o-(5*x/4-115*g/16)*r-29*g*s/16)+(f/2-_+71*x/32-85*g/16)*a+(5*_/16-5*x/4+383*g/96)*c-m*((x-11*g/2)*a+5*g*c/2)+(29*x/96-29*g/16)*d+539*g*u/1536,V=Math.asin(Math.sin(C)*n.cosineAlpha),L=Math.atan(n.a/n.b*Math.tan(V));C=C-n.sigma;let Z=Math.cos(2*n.sigma+C),G=Math.sin(C),I=Math.cos(C),v=n.cosineU*I,P=n.sineU*G,F=Math.atan2(G*n.sineHeading,v-P*n.cosineHeading)-eie(n.f,n.sineAlpha,n.cosineSquaredAlpha,C,G,I,Z);return l(t)?(t.longitude=this._start.longitude+F,t.latitude=L,t.height=0,t):new he(this._start.longitude+F,L,0)};var Xp=QE;var Tjt=T(S(),1);function BY(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,d=n,u=Math.sin(2*d),m=Math.sin(4*d),p=Math.sin(6*d),g=Math.sin(8*d),f=Math.sin(10*d),x=Math.sin(12*d);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*d-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*u+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*m-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*f+1001*c/8388608*x)}function I2e(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,d=c*c,u=d*c,m=u*c,p=m*c,g=p*c,f=Math.sin(2*i),x=Math.cos(2*i),_=Math.sin(4*i),C=Math.cos(4*i),V=Math.sin(6*i),L=Math.cos(6*i),Z=Math.sin(8*i),G=Math.cos(8*i),I=Math.sin(10*i),v=Math.cos(10*i),P=Math.sin(12*i);return i+i*c/4+7*i*d/64+15*i*u/256+579*i*m/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*d/16+45*i*u/256-i*(32*o-561)*m/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*x+(21*i*u/256+483*i*m/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*C+(151*i*m/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*L+(1097*i*p/65536+42783*i*g/1048576)*G+8011*i*g/1048576*v+(3*c/8+3*d/16+213*u/2048-3*o*u/64+255*m/4096-33*o*m/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*f+(21*d/256+21*u/256+533*m/8192-21*o*m/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*_+(151*u/6144+151*m/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*V+(1097*m/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*Z+(8011*p/2621440+8011*g/1048576)*I+293393*g/251658240*P}function dC(e,t){if(e===0)return Math.log(Math.tan(.5*(W.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(W.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function X2e(e,t,n,i,o){let r=dC(e._ellipticity,n),s=dC(e._ellipticity,o);return Math.atan2(W.negativePiToPi(i-t),s-r)}function W2e(e,t,n,i,o,r,s){let a=e._heading,c=r-i,d=0;if(W.equalsEpsilon(Math.abs(a),W.PI_OVER_TWO,W.EPSILON8))if(t===n)d=t*Math.cos(o)*W.negativePiToPi(c);else{let u=Math.sin(o);d=t*Math.cos(o)*W.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*u*u)}else{let u=BY(e._ellipticity,t,o);d=(BY(e._ellipticity,t,s)-u)/Math.cos(a)}return Math.abs(d)}var P2e=new h,DY=new h;function nie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,DY),P2e),r=h.normalize(i.cartographicToCartesian(n,DY),DY),s=i.maximumRadius,a=i.minimumRadius,c=s*s,d=a*a;e._ellipticitySquared=(c-d)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=he.clone(t,e._start),e._start.height=0,e._end=he.clone(n,e._end),e._end.height=0,e._heading=X2e(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=W2e(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function iie(e,t,n,i,o,r){if(n===0)return he.clone(e,r);let s=o*o,a,c,d;if(Math.abs(W.PI_OVER_TWO-Math.abs(t))>W.EPSILON8){let u=BY(o,i,e.latitude),m=n*Math.cos(t),p=u+m;if(c=I2e(p,o,i),Math.abs(t)0?a=W.negativePiToPi(e.longitude+d):a=W.negativePiToPi(e.longitude-d)}return l(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new he(a,c,0)}function Wp(e,t,n){let i=y(n,ne.default);this._ellipsoid=i,this._start=new he,this._end=new he,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(e)&&l(t)&&nie(this,e,t,i)}Object.defineProperties(Wp.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});Wp.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,ne.default),s=r.maximumRadius,a=r.minimumRadius,c=s*s,d=a*a,u=Math.sqrt((c-d)/c);t=W.negativePiToPi(t);let m=iie(e,t,n,r.maximumRadius,u);return!l(o)||l(i)&&!i.equals(o.ellipsoid)?new Wp(e,m,r):(o.setEndPoints(e,m),o)};Wp.prototype.setEndPoints=function(e,t){nie(this,e,t,this._ellipsoid)};Wp.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};Wp.prototype.interpolateUsingSurfaceDistance=function(e,t){return iie(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};Wp.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=W.negativePiToPi(e),W.equalsEpsilon(Math.abs(e),Math.PI,W.EPSILON14)&&(e=W.sign(r.longitude)*Math.PI),l(t)||(t=new he),Math.abs(W.PI_OVER_TWO-o)<=W.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(W.equalsEpsilon(Math.abs(W.PI_OVER_TWO-o),W.PI_OVER_TWO,W.EPSILON8))return W.equalsEpsilon(e,r.longitude,W.EPSILON12)?void 0:(t.longitude=e,t.latitude=W.PI_OVER_TWO*W.sign(W.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(W.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),d=(1+a)/(1-a),u=r.latitude,m;do{m=u;let p=n*Math.sin(m),g=(1+p)/(1-p);u=2*Math.atan(c*Math.pow(g/d,n/2))-W.PI_OVER_TWO}while(!W.equalsEpsilon(u,m,W.EPSILON12));return t.longitude=e,t.latitude=u,t.height=0,t};Wp.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(W.equalsEpsilon(Math.abs(i),W.PI_OVER_TWO,W.EPSILON8))return;let r=dC(n,o.latitude),s=dC(n,e),a=Math.tan(i)*(s-r),c=W.negativePiToPi(o.longitude+a);return l(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new he(c,e,0)};var wa=Wp;var jY=[Ri,Zi],v2e=jY.length,Cie=Math.cos(W.toRadians(30)),oie=Math.cos(W.toRadians(150)),Vie=0,Lie=1e3;function Yb(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,on.GEODESIC),this._ellipsoid=ne.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(Yb.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+ne.packedLength+1+1}}});Yb.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;iCie||rW.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,mie),d=c.cartesianToCartographic(s,uie)),d.height=0;let u=e.project(d,o);return o=h.subtract(u,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var ePe=new h,hie=new h;function fie(e,t,n,i,o,r){let s=h.subtract(t,e,ePe);h.normalize(s,s);let a=n-Vie,c=h.multiplyByScalar(s,a,hie);h.add(e,c,o);let d=i-Lie;c=h.multiplyByScalar(s,d,hie),h.add(t,c,r)}var tPe=new h;function n5(e,t){let n=dn.getPointDistance(i5,e),i=dn.getPointDistance(i5,t),o=tPe;W.equalsEpsilon(n,0,W.EPSILON2)?(o=Pp(t,e,o),h.multiplyByScalar(o,W.EPSILON2,o),h.add(e,o,e)):W.equalsEpsilon(i,0,W.EPSILON2)&&(o=Pp(e,t,o),h.multiplyByScalar(o,W.EPSILON2,o),h.add(t,o,t))}function nPe(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(W.equalsEpsilon(n,W.PI,W.EPSILON11)){let o=W.sign(t.longitude);return e.longitude=o*(n-W.EPSILON11),1}else if(W.equalsEpsilon(i,W.PI,W.EPSILON11)){let o=W.sign(e.longitude);return t.longitude=o*(i-W.EPSILON11),2}return 0}var Zie=new he,Gie=new he,pie=new h,HY=new h,bie=new h,gie=new h,iPe=new h,yie=new h,oPe=[Zie,Gie],rPe=new ce,sPe=new h,aPe=new h,cPe=new h,lPe=new h,dPe=new h,uPe=new h,KY=new h,JY=new h,mPe=new h,hPe=new h,fPe=new h,xie=new h,pPe=new h,bPe=new h,gPe=new zn,yPe=new zn,_ie=new h,xPe=new h,Tie=new h,_Pe=[new le,new le],Eie=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],Sie=Eie.length;function TPe(e,t,n,i,o,r,s){let a,c,d=t._ellipsoid,u=n.length/3-1,m=u*8,p=m*4,g=u*36,f=m>65535?new Uint32Array(g):new Uint16Array(g),x=new Float64Array(m*3),_=new Float32Array(p),C=new Float32Array(p),V=new Float32Array(p),L=new Float32Array(p),Z=new Float32Array(p),G,I,v,P;s&&(G=new Float32Array(p),I=new Float32Array(p),v=new Float32Array(p),P=new Float32Array(m*2));let w=r.length/2,F=0,b=Zie;b.height=0;let R=Gie;R.height=0;let E=pie,X=HY;if(s)for(c=0,a=1;aCie?(Rt=jE(t,b,we,pt,KY),Fe=jE(t,R,q,rt,JY)):Ji===1?(Fe=jE(t,R,q,rt,JY),Rt.x=0,Rt.y=W.sign(b.longitude-Math.abs(R.longitude)),Rt.z=0):(Rt=jE(t,b,we,pt,KY),Fe.x=0,Fe.y=W.sign(b.longitude-R.longitude),Fe.z=0)}let ke=h.distance(ve,H),qe=zn.fromCartesian(Ee,gPe),Qe=h.subtract(te,Ee,mPe),Ut=h.normalize(Qe,xie),Ce=h.subtract(ve,Ee,hPe);Ce=h.normalize(Ce,Ce);let Ve=h.cross(Ut,Ce,xie);Ve=h.normalize(Ve,Ve);let $t=h.cross(Ce,we,pPe);$t=h.normalize($t,$t);let en=h.subtract(H,te,fPe);en=h.normalize(en,en);let Qt=h.cross(q,en,bPe);Qt=h.normalize(Qt,Qt);let mo=ke/N,je=ee/N,os=0,sr,ia,De,mt=0,st=0;if(s){os=h.distance(pt,rt),sr=zn.fromCartesian(pt,yPe),ia=h.subtract(rt,pt,_ie),De=h.normalize(ia,xPe);let Ji=De.x;De.x=De.y,De.y=-Ji,mt=os/F,st=pe/F}for(O=0;O<8;O++){let Ji=J+O*4,ys=Y+O*2,Zr=Ji+3,ou=O<4?1:-1,wo=O===2||O===3||O===6||O===7?1:-1;h.pack(qe.high,_,Ji),_[Zr]=Qe.x,h.pack(qe.low,C,Ji),C[Zr]=Qe.y,h.pack($t,V,Ji),V[Zr]=Qe.z,h.pack(Qt,L,Ji),L[Zr]=mo*ou,h.pack(Ve,Z,Ji);let Gr=je*wo;Gr===0&&wo<0&&(Gr=9),Z[Zr]=Gr,s&&(G[Ji]=sr.high.x,G[Ji+1]=sr.high.y,G[Ji+2]=sr.low.x,G[Ji+3]=sr.low.y,v[Ji]=-Rt.y,v[Ji+1]=Rt.x,v[Ji+2]=Fe.y,v[Ji+3]=-Fe.x,I[Ji]=ia.x,I[Ji+1]=ia.y,I[Ji+2]=De.x,I[Ji+3]=De.y,P[ys]=mt*ou,Gr=st*wo,Gr===0&&wo<0&&(Gr=9),P[ys+1]=Gr)}let $e=cPe,et=lPe,Mt=sPe,xn=aPe,Ki=ce.fromCartographicArray(oPe,rPe),ho=li.getMinimumMaximumHeights(Ki,d),rs=ho.minimumTerrainHeight,ar=ho.maximumTerrainHeight;_e+=Math.abs(rs),_e+=Math.abs(ar),fie(Ee,ve,rs,ar,$e,Mt),fie(te,H,rs,ar,et,xn);let To=h.multiplyByScalar(Ve,W.EPSILON5,Tie);h.add($e,To,$e),h.add(et,To,et),h.add(Mt,To,Mt),h.add(xn,To,xn),n5($e,et),n5(Mt,xn),h.pack($e,x,k),h.pack(et,x,k+3),h.pack(xn,x,k+6),h.pack(Mt,x,k+9),To=h.multiplyByScalar(Ve,-2*W.EPSILON5,Tie),h.add($e,To,$e),h.add(et,To,et),h.add(Mt,To,Mt),h.add(xn,To,xn),n5($e,et),n5(Mt,xn),h.pack($e,x,k+12),h.pack(et,x,k+15),h.pack(xn,x,k+18),h.pack(Mt,x,k+21),U+=2,c+=3,Y+=16,k+=24,J+=32,ee+=ke,pe+=os}c=0;let ae=0;for(a=0;a0&&(c=o[0].attributes,p=pd.hasAttributesForSphericalExtents(c),g=pd.hasAttributesForTextureCoordinatePlanes(c),m=c.color),s=0;s{l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Fx.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Fx.prototype.isDestroyed=function(){return!1};Fx.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,me(this)};var pC=Fx;var E2e={u_globeMinimumAltitude:function(){return 55e3}};function Ll(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!l(t)&&l(n)){let o=Array.isArray(n)?n:[n],r=o.length;for(let s=0;s{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Ll.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};Ll.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Ll.prototype.isDestroyed=function(){return!1};Ll.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};Ll._supportsMaterials=function(e){return e.depthTexture};Ll.supportsMaterials=function(e){return Ll._supportsMaterials(e.frameState.context)};var Uc=Ll;var Xjt=T(S(),1);function bC(){fe.throwInstantiationError()}Object.defineProperties(bC.prototype,{isConstant:{get:fe.throwInstantiationError},definitionChanged:{get:fe.throwInstantiationError}});bC.prototype.getType=fe.throwInstantiationError;bC.prototype.getValue=fe.throwInstantiationError;bC.prototype.equals=fe.throwInstantiationError;var M2e=new j;bC.getValue=function(e,t,n){let i;return l(e)||(e=j.now(M2e)),l(t)&&(i=t.getType(e),l(i))?((!l(n)||n.type!==i)&&(n=Yi.fromType(i)),t.getValue(e,n.uniforms),n):((!l(n)||n.type!==Yi.ColorType)&&(n=Yi.fromType(Yi.ColorType)),B.clone(B.WHITE,n.uniforms.color),n)};var er=bC;function Ax(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}Ax.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!K.getValueOrDefault(t.show,n,!0)};Ax.prototype._setOptions=fe.throwInstantiationError;Ax.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!l(s.fill)||s.fill.getValue(e)){let d=t.fillMaterialProperty,u=d instanceof Bt,m,p=t._getIsClosed(c);if(u)m=new mn({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=er.getValue(e,d,this._material);this._material=g,m=new lo({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=mn.VERTEX_FORMAT,this._primitive=o.add(new Uc({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:m,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),K.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=m.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);u&&(m.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new Wn({geometryInstances:g,appearance:m,asynchronous:!1,shadows:a}))}}if(!n&&l(s.outline)&&s.outline.getValue(e)){let d=this._geometryUpdater.createOutlineGeometryInstance(e),u=K.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new Wn({geometryInstances:d,appearance:new mn({flat:!0,translucent:d.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(u)}}),asynchronous:!1,shadows:a}))}};Ax.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return l(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(de.clone(o.boundingSphere,e),mt.DONE):l(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(de.clone(o.boundingSphere,e),mt.DONE):l(n)&&!n.ready||l(i)&&!i.ready?mt.PENDING:mt.FAILED};Ax.prototype.isDestroyed=function(){return!1};Ax.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),me(this)};var si=Ax;var gtn=T(S(),1);var etn=T(S(),1);var zjt=T(S(),1),N2e={AUTODETECT:0,ENU:1,INERTIAL:2,VELOCITY:3},wp=Object.freeze(N2e);var $7t=T(S(),1);var U8t=T(S(),1);var Jjt=T(S(),1),k2e={NONE:0,GEODESIC:1,RHUMB:2},tn=Object.freeze(k2e);var e8t=T(S(),1);var mie=W.EPSILON10;function U2e(e,t,n,i){if(!l(e))return;n=y(n,!1);let o=l(i),r=e.length;if(r<2)return e;let s,a=e[0],c,d,u=0,m=-1;for(s=1;sW.EPSILON12);let R=A*(t*t-n*n)/(n*n),E=1+R*(4096+R*(R*(320-175*R)-768))/16384,X=R*(256+R*(R*(74-47*R)-128))/1024,F=b*b,N=X*w*(b+X*(P*(2*F-1)-X*b*(4*w*w-3)*(4*F-3)/6)/4),O=n*E*(v-N),U=Math.atan2(g*I,_-V*G),Y=Math.atan2(m*I,_*G-V);e._distance=O,e._startHeading=U,e._endHeading=Y,e._uSquared=R}var Y2e=new h,JY=new h;function fie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,JY),Y2e),r=h.normalize(i.cartographicToCartesian(n,JY),JY);O2e(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=he.clone(t,e._start),e._end=he.clone(n,e._end),e._start.height=0,e._end.height=0,D2e(e)}function iI(e,t,n){let i=y(n,ne.default);this._ellipsoid=i,this._start=new he,this._end=new he,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,l(e)&&l(t)&&fie(this,e,t,i)}Object.defineProperties(iI.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});iI.prototype.setEndPoints=function(e,t){fie(this,e,t,this._ellipsoid)};iI.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};iI.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),d=Math.sin(6*i),u=Math.sin(8*i),m=i*i,p=i*m,g=n.u8Over256,f=n.u2Over4,x=n.u6Over64,_=n.u4Over16,C=2*p*g*o/3+i*(1-f+7*_/4-15*x/4+579*g/64-(_-15*x/4+187*g/16)*o-(5*x/4-115*g/16)*r-29*g*s/16)+(f/2-_+71*x/32-85*g/16)*a+(5*_/16-5*x/4+383*g/96)*c-m*((x-11*g/2)*a+5*g*c/2)+(29*x/96-29*g/16)*d+539*g*u/1536,V=Math.asin(Math.sin(C)*n.cosineAlpha),L=Math.atan(n.a/n.b*Math.tan(V));C=C-n.sigma;let Z=Math.cos(2*n.sigma+C),G=Math.sin(C),I=Math.cos(C),v=n.cosineU*I,P=n.sineU*G,A=Math.atan2(G*n.sineHeading,v-P*n.cosineHeading)-hie(n.f,n.sineAlpha,n.cosineSquaredAlpha,C,G,I,Z);return l(t)?(t.longitude=this._start.longitude+A,t.latitude=L,t.height=0,t):new he(this._start.longitude+A,L,0)};var Fp=iI;var b8t=T(S(),1);function jY(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,d=n,u=Math.sin(2*d),m=Math.sin(4*d),p=Math.sin(6*d),g=Math.sin(8*d),f=Math.sin(10*d),x=Math.sin(12*d);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*d-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*u+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*m-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*f+1001*c/8388608*x)}function H2e(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,d=c*c,u=d*c,m=u*c,p=m*c,g=p*c,f=Math.sin(2*i),x=Math.cos(2*i),_=Math.sin(4*i),C=Math.cos(4*i),V=Math.sin(6*i),L=Math.cos(6*i),Z=Math.sin(8*i),G=Math.cos(8*i),I=Math.sin(10*i),v=Math.cos(10*i),P=Math.sin(12*i);return i+i*c/4+7*i*d/64+15*i*u/256+579*i*m/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*d/16+45*i*u/256-i*(32*o-561)*m/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*x+(21*i*u/256+483*i*m/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*C+(151*i*m/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*L+(1097*i*p/65536+42783*i*g/1048576)*G+8011*i*g/1048576*v+(3*c/8+3*d/16+213*u/2048-3*o*u/64+255*m/4096-33*o*m/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*f+(21*d/256+21*u/256+533*m/8192-21*o*m/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*_+(151*u/6144+151*m/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*V+(1097*m/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*Z+(8011*p/2621440+8011*g/1048576)*I+293393*g/251658240*P}function gC(e,t){if(e===0)return Math.log(Math.tan(.5*(W.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(W.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function z2e(e,t,n,i,o){let r=gC(e._ellipticity,n),s=gC(e._ellipticity,o);return Math.atan2(W.negativePiToPi(i-t),s-r)}function K2e(e,t,n,i,o,r,s){let a=e._heading,c=r-i,d=0;if(W.equalsEpsilon(Math.abs(a),W.PI_OVER_TWO,W.EPSILON8))if(t===n)d=t*Math.cos(o)*W.negativePiToPi(c);else{let u=Math.sin(o);d=t*Math.cos(o)*W.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*u*u)}else{let u=jY(e._ellipticity,t,o);d=(jY(e._ellipticity,t,s)-u)/Math.cos(a)}return Math.abs(d)}var J2e=new h,QY=new h;function pie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,QY),J2e),r=h.normalize(i.cartographicToCartesian(n,QY),QY),s=i.maximumRadius,a=i.minimumRadius,c=s*s,d=a*a;e._ellipticitySquared=(c-d)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=he.clone(t,e._start),e._start.height=0,e._end=he.clone(n,e._end),e._end.height=0,e._heading=z2e(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=K2e(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function bie(e,t,n,i,o,r){if(n===0)return he.clone(e,r);let s=o*o,a,c,d;if(Math.abs(W.PI_OVER_TWO-Math.abs(t))>W.EPSILON8){let u=jY(o,i,e.latitude),m=n*Math.cos(t),p=u+m;if(c=H2e(p,o,i),Math.abs(t)0?a=W.negativePiToPi(e.longitude+d):a=W.negativePiToPi(e.longitude-d)}return l(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new he(a,c,0)}function Ap(e,t,n){let i=y(n,ne.default);this._ellipsoid=i,this._start=new he,this._end=new he,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(e)&&l(t)&&pie(this,e,t,i)}Object.defineProperties(Ap.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});Ap.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,ne.default),s=r.maximumRadius,a=r.minimumRadius,c=s*s,d=a*a,u=Math.sqrt((c-d)/c);t=W.negativePiToPi(t);let m=bie(e,t,n,r.maximumRadius,u);return!l(o)||l(i)&&!i.equals(o.ellipsoid)?new Ap(e,m,r):(o.setEndPoints(e,m),o)};Ap.prototype.setEndPoints=function(e,t){pie(this,e,t,this._ellipsoid)};Ap.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};Ap.prototype.interpolateUsingSurfaceDistance=function(e,t){return bie(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};Ap.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=W.negativePiToPi(e),W.equalsEpsilon(Math.abs(e),Math.PI,W.EPSILON14)&&(e=W.sign(r.longitude)*Math.PI),l(t)||(t=new he),Math.abs(W.PI_OVER_TWO-o)<=W.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(W.equalsEpsilon(Math.abs(W.PI_OVER_TWO-o),W.PI_OVER_TWO,W.EPSILON8))return W.equalsEpsilon(e,r.longitude,W.EPSILON12)?void 0:(t.longitude=e,t.latitude=W.PI_OVER_TWO*W.sign(W.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(W.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),d=(1+a)/(1-a),u=r.latitude,m;do{m=u;let p=n*Math.sin(m),g=(1+p)/(1-p);u=2*Math.atan(c*Math.pow(g/d,n/2))-W.PI_OVER_TWO}while(!W.equalsEpsilon(u,m,W.EPSILON12));return t.longitude=e,t.latitude=u,t.height=0,t};Ap.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(W.equalsEpsilon(Math.abs(i),W.PI_OVER_TWO,W.EPSILON8))return;let r=gC(n,o.latitude),s=gC(n,e),a=Math.tan(i)*(s-r),c=W.negativePiToPi(o.longitude+a);return l(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new he(c,e,0)};var Fa=Ap;var rH=[Ei,Xi],Q2e=rH.length,Fie=Math.cos(W.toRadians(30)),gie=Math.cos(W.toRadians(150)),Aie=0,Mie=1e3;function q0(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,tn.GEODESIC),this._ellipsoid=ne.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(q0.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+ne.packedLength+1+1}}});q0.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;iFie||rW.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,Lie),d=c.cartesianToCartographic(s,Vie)),d.height=0;let u=e.project(d,o);return o=h.subtract(u,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var bPe=new h,Rie=new h;function Zie(e,t,n,i,o,r){let s=h.subtract(t,e,bPe);h.normalize(s,s);let a=n-Aie,c=h.multiplyByScalar(s,a,Rie);h.add(e,c,o);let d=i-Mie;c=h.multiplyByScalar(s,d,Rie),h.add(t,c,r)}var gPe=new h;function c5(e,t){let n=un.getPointDistance(l5,e),i=un.getPointDistance(l5,t),o=gPe;W.equalsEpsilon(n,0,W.EPSILON2)?(o=Mp(t,e,o),h.multiplyByScalar(o,W.EPSILON2,o),h.add(e,o,e)):W.equalsEpsilon(i,0,W.EPSILON2)&&(o=Mp(e,t,o),h.multiplyByScalar(o,W.EPSILON2,o),h.add(t,o,t))}function yPe(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(W.equalsEpsilon(n,W.PI,W.EPSILON11)){let o=W.sign(t.longitude);return e.longitude=o*(n-W.EPSILON11),1}else if(W.equalsEpsilon(i,W.PI,W.EPSILON11)){let o=W.sign(e.longitude);return t.longitude=o*(i-W.EPSILON11),2}return 0}var kie=new he,Uie=new he,Gie=new h,tH=new h,Eie=new h,Iie=new h,xPe=new h,Xie=new h,_Pe=[kie,Uie],TPe=new le,SPe=new h,CPe=new h,VPe=new h,LPe=new h,RPe=new h,ZPe=new h,nH=new h,iH=new h,GPe=new h,EPe=new h,IPe=new h,Wie=new h,XPe=new h,WPe=new h,PPe=new Hn,vPe=new Hn,Pie=new h,wPe=new h,vie=new h,FPe=[new de,new de],Die=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],wie=Die.length;function APe(e,t,n,i,o,r,s){let a,c,d=t._ellipsoid,u=n.length/3-1,m=u*8,p=m*4,g=u*36,f=m>65535?new Uint32Array(g):new Uint16Array(g),x=new Float64Array(m*3),_=new Float32Array(p),C=new Float32Array(p),V=new Float32Array(p),L=new Float32Array(p),Z=new Float32Array(p),G,I,v,P;s&&(G=new Float32Array(p),I=new Float32Array(p),v=new Float32Array(p),P=new Float32Array(m*2));let w=r.length/2,A=0,b=kie;b.height=0;let R=Uie;R.height=0;let E=Gie,X=tH;if(s)for(c=0,a=1;aFie?($e=oI(t,b,Ve,Ne,nH),Ke=oI(t,R,q,De,iH)):co===1?(Ke=oI(t,R,q,De,iH),$e.x=0,$e.y=W.sign(b.longitude-Math.abs(R.longitude)),$e.z=0):($e=oI(t,b,Ve,Ne,nH),Ke.x=0,Ke.y=W.sign(b.longitude-R.longitude),Ke.z=0)}let gt=h.distance(Ae,z),pt=Hn.fromCartesian(Ie,PPe),St=h.subtract(te,Ie,GPe),on=h.normalize(St,Wie),Ce=h.subtract(Ae,Ie,EPe);Ce=h.normalize(Ce,Ce);let Re=h.cross(on,Ce,Wie);Re=h.normalize(Re,Re);let cn=h.cross(Ce,Ve,XPe);cn=h.normalize(cn,cn);let rn=h.subtract(z,te,IPe);rn=h.normalize(rn,rn);let jt=h.cross(q,rn,WPe);jt=h.normalize(jt,jt);let ji=gt/N,je=ee/N,ds=0,Kr,Ga,we,lt=0,nt=0;if(s){ds=h.distance(Ne,De),Kr=Hn.fromCartesian(Ne,vPe),Ga=h.subtract(De,Ne,Pie),we=h.normalize(Ga,wPe);let co=we.x;we.x=we.y,we.y=-co,lt=ds/A,nt=pe/A}for(O=0;O<8;O++){let co=H+O*4,aa=Y+O*2,Jr=co+3,od=O<4?1:-1,jn=O===2||O===3||O===6||O===7?1:-1;h.pack(pt.high,_,co),_[Jr]=St.x,h.pack(pt.low,C,co),C[Jr]=St.y,h.pack(cn,V,co),V[Jr]=St.z,h.pack(jt,L,co),L[Jr]=ji*od,h.pack(Re,Z,co);let gr=je*jn;gr===0&&jn<0&&(gr=9),Z[Jr]=gr,s&&(G[co]=Kr.high.x,G[co+1]=Kr.high.y,G[co+2]=Kr.low.x,G[co+3]=Kr.low.y,v[co]=-$e.y,v[co+1]=$e.x,v[co+2]=Ke.y,v[co+3]=-Ke.x,I[co]=Ga.x,I[co+1]=Ga.y,I[co+2]=we.x,I[co+3]=we.y,P[aa]=lt*od,gr=nt*jn,gr===0&&jn<0&&(gr=9),P[aa+1]=gr)}let et=VPe,dt=LPe,Ot=SPe,Vn=CPe,ei=le.fromCartographicArray(_Pe,TPe),to=hi.getMinimumMaximumHeights(ei,d),Ir=to.minimumTerrainHeight,Ao=to.maximumTerrainHeight;_e+=Math.abs(Ir),_e+=Math.abs(Ao),Zie(Ie,Ae,Ir,Ao,et,Ot),Zie(te,z,Ir,Ao,dt,Vn);let Vs=h.multiplyByScalar(Re,W.EPSILON5,vie);h.add(et,Vs,et),h.add(dt,Vs,dt),h.add(Ot,Vs,Ot),h.add(Vn,Vs,Vn),c5(et,dt),c5(Ot,Vn),h.pack(et,x,k),h.pack(dt,x,k+3),h.pack(Vn,x,k+6),h.pack(Ot,x,k+9),Vs=h.multiplyByScalar(Re,-2*W.EPSILON5,vie),h.add(et,Vs,et),h.add(dt,Vs,dt),h.add(Ot,Vs,Ot),h.add(Vn,Vs,Vn),c5(et,dt),c5(Ot,Vn),h.pack(et,x,k+12),h.pack(dt,x,k+15),h.pack(Vn,x,k+18),h.pack(Ot,x,k+21),U+=2,c+=3,Y+=16,k+=24,H+=32,ee+=gt,pe+=ds}c=0;let ae=0;for(a=0;a{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};vp.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};vp.isSupported=function(e){return e.frameState.context.depthTexture};vp.prototype.isDestroyed=function(){return!1};vp.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,me(this)};var Em=vp;var G7t=T(S(),1);var T7t=T(S(),1);var f7t=T(S(),1);var ZPe=new D(1,1),GPe=!1,EPe=B.WHITE;function uC(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new be,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(uC.prototype,{isConstant:{get:function(){return K.isConstant(this._image)&&K.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:ue("image"),repeat:ue("repeat"),color:ue("color"),transparent:ue("transparent")});uC.prototype.getType=function(e){return"Image"};var IPe=new j;uC.prototype.getValue=function(e,t){return l(e)||(e=j.now(IPe)),l(t)||(t={}),t.image=K.getValueOrUndefined(this._image,e),t.repeat=K.getValueOrClonedDefault(this._repeat,e,ZPe,t.repeat),t.color=K.getValueOrClonedDefault(this._color,e,EPe,t.color),K.getValueOrDefault(this._transparent,e,GPe)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};uC.prototype.equals=function(e){return this===e||e instanceof uC&&K.equals(this._image,e._image)&&K.equals(this._repeat,e._repeat)&&K.equals(this._color,e._color)&&K.equals(this._transparent,e._transparent)};var zb=uC;function XPe(e){if(e instanceof B)return new Ot(e);if(typeof e=="string"||e instanceof Ge||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new zb;return t.image=e,t}}function WPe(e,t){return ue(e,t,XPe)}var Eo=WPe;function oI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(oI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),dimensions:ue("dimensions"),heightReference:ue("heightReference"),fill:ue("fill"),material:Eo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition")});oI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new oI(this)};oI.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Wx=oI;var H7t=T(S(),1);var I7t=T(S(),1),PPe={FIXED:0,INERTIAL:1},Ai=Object.freeze(PPe);var M7t=T(S(),1);function mC(){fe.throwInstantiationError()}Object.defineProperties(mC.prototype,{isConstant:{get:fe.throwInstantiationError},definitionChanged:{get:fe.throwInstantiationError},referenceFrame:{get:fe.throwInstantiationError}});mC.prototype.getValue=fe.throwInstantiationError;mC.prototype.getValueInReferenceFrame=fe.throwInstantiationError;mC.prototype.equals=fe.throwInstantiationError;var Wie=new $;mC.convertToReferenceFrame=function(e,t,n,i,o){if(!l(t))return t;if(l(o)||(o=new h),n===i)return h.clone(t,o);let r=Ft.computeIcrfToCentralBodyFixedMatrix(e,Wie);if(n===Ai.INERTIAL)return $.multiplyByVector(r,t,o);if(n===Ai.FIXED)return $.multiplyByVector($.transpose(r,Wie),t,o)};var Im=mC;function Px(e,t){this._definitionChanged=new be,this._value=h.clone(e),this._referenceFrame=y(t,Ai.FIXED)}Object.defineProperties(Px.prototype,{isConstant:{get:function(){return!l(this._value)||this._referenceFrame===Ai.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var vPe=new j;Px.prototype.getValue=function(e,t){return l(e)||(e=j.now(vPe)),this.getValueInReferenceFrame(e,Ai.FIXED,t)};Px.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),l(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};Px.prototype.getValueInReferenceFrame=function(e,t,n){return Im.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};Px.prototype.equals=function(e){return this===e||e instanceof Px&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var kc=Px;var e6t=T(S(),1);function rI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(rI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),positions:ue("positions"),width:ue("width"),height:ue("height"),heightReference:ue("heightReference"),extrudedHeight:ue("extrudedHeight"),extrudedHeightReference:ue("extrudedHeightReference"),cornerType:ue("cornerType"),granularity:ue("granularity"),fill:ue("fill"),material:Eo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition"),classificationType:ue("classificationType"),zIndex:ue("zIndex")});rI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new rI(this)};rI.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var vx=rI;var i6t=T(S(),1);function wPe(e){return e}function FPe(e,t){return ue(e,t,wPe)}var Vl=FPe;var d6t=T(S(),1);function sI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(sI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),length:ue("length"),topRadius:ue("topRadius"),bottomRadius:ue("bottomRadius"),heightReference:ue("heightReference"),fill:ue("fill"),material:Eo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),numberOfVerticalLines:ue("numberOfVerticalLines"),slices:ue("slices"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition")});sI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new sI(this)};sI.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var wx=sI;var g6t=T(S(),1);function aI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(aI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),semiMajorAxis:ue("semiMajorAxis"),semiMinorAxis:ue("semiMinorAxis"),height:ue("height"),heightReference:ue("heightReference"),extrudedHeight:ue("extrudedHeight"),extrudedHeightReference:ue("extrudedHeightReference"),rotation:ue("rotation"),stRotation:ue("stRotation"),granularity:ue("granularity"),fill:ue("fill"),material:Eo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),numberOfVerticalLines:ue("numberOfVerticalLines"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition"),classificationType:ue("classificationType"),zIndex:ue("zIndex")});aI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new aI(this)};aI.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Fx=aI;var V6t=T(S(),1);function cI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(cI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),radii:ue("radii"),innerRadii:ue("innerRadii"),minimumClock:ue("minimumClock"),maximumClock:ue("maximumClock"),minimumCone:ue("minimumCone"),maximumCone:ue("maximumCone"),heightReference:ue("heightReference"),fill:ue("fill"),material:Eo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),stackPartitions:ue("stackPartitions"),slicePartitions:ue("slicePartitions"),subdivisions:ue("subdivisions"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition")});cI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new cI(this)};cI.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Ax=cI;var I6t=T(S(),1);function lI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(lI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),text:ue("text"),font:ue("font"),style:ue("style"),scale:ue("scale"),showBackground:ue("showBackground"),backgroundColor:ue("backgroundColor"),backgroundPadding:ue("backgroundPadding"),pixelOffset:ue("pixelOffset"),eyeOffset:ue("eyeOffset"),horizontalOrigin:ue("horizontalOrigin"),verticalOrigin:ue("verticalOrigin"),heightReference:ue("heightReference"),fillColor:ue("fillColor"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),translucencyByDistance:ue("translucencyByDistance"),pixelOffsetScaleByDistance:ue("pixelOffsetScaleByDistance"),scaleByDistance:ue("scaleByDistance"),distanceDisplayCondition:ue("distanceDisplayCondition"),disableDepthTestDistance:ue("disableDepthTestDistance")});lI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new lI(this)};lI.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var Xm=lI;var cqt=T(S(),1);var Y6t=T(S(),1);var F6t=T(S(),1);var APe=new h(1,1,1),MPe=h.ZERO,NPe=Ae.IDENTITY;function Pie(e,t,n){this.translation=h.clone(y(e,MPe)),this.rotation=Ae.clone(y(t,NPe)),this.scale=h.clone(y(n,APe))}Pie.prototype.equals=function(e){return this===e||l(e)&&h.equals(this.translation,e.translation)&&Ae.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var Hb=Pie;var ez=new Hb;function dI(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new be,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(dI.prototype,{isConstant:{get:function(){return K.isConstant(this._translation)&&K.isConstant(this._rotation)&&K.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:ue("translation"),rotation:ue("rotation"),scale:ue("scale")});var kPe=new j;dI.prototype.getValue=function(e,t){return l(e)||(e=j.now(kPe)),l(t)||(t=new Hb),t.translation=K.getValueOrClonedDefault(this._translation,e,ez.translation,t.translation),t.rotation=K.getValueOrClonedDefault(this._rotation,e,ez.rotation,t.rotation),t.scale=K.getValueOrClonedDefault(this._scale,e,ez.scale,t.scale),t};dI.prototype.equals=function(e){return this===e||e instanceof dI&&K.equals(this._translation,e._translation)&&K.equals(this._rotation,e._rotation)&&K.equals(this._scale,e._scale)};var Mx=dI;var eqt=T(S(),1);function wp(e,t){this._propertyNames=[],this._definitionChanged=new be,l(e)&&this.merge(e,t)}Object.defineProperties(wp.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t{this._terrainHeight=s.height,this.definitionChanged.raiseEvent()};this._removeCallbackFunc=e.updateHeight(i,r,this._heightReference)};var sve=new j;fC.prototype.getValue=function(e,t){l(e)||(e=j.now(sve));let n=K.getValueOrDefault(this._heightReference,e,Je.NONE),i=K.getValueOrDefault(this._extrudedHeightReference,e,Je.NONE);if(n===Je.NONE&&!jS(i))return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,Mie);if(!l(r)||h.equals(r,h.ZERO)||!l(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,W.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};fC.prototype.isDestroyed=function(){return!1};fC.prototype.destroy=function(){return l(this._removeEventListener)&&this._removeEventListener(),l(this._removeModeListener)&&this._removeModeListener(),l(this._removeCallbackFunc)&&this._removeCallbackFunc(),me(this)};var Dx=fC;function ave(e,t,n,i){if(oi.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(l(r)){let s=new vm(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new Dx(this._scene,s,r)}}var Np=ave;var Nie=h.ZERO,kie=new h,cve=new h,Uie=new B;function lve(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function md(e,t){oi.call(this,{entity:e,scene:t,geometryOptions:new lve(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}l(Object.create)&&(md.prototype=Object.create(oi.prototype),md.prototype.constructor=md);Object.defineProperties(md.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});md.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new Tn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=kn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ot){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Uie)),l(a)||(a=B.WHITE),s.color=Ht.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=Qi.fromCartesian3(K.getValueOrDefault(this._terrainOffsetProperty,e,Nie,kie))),new Gt({id:t,geometry:Tl.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:s})};md.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=K.getValueOrDefault(this._outlineColorProperty,e,B.BLACK,Uie),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new Tn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Ht.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=Qi.fromCartesian3(K.getValueOrDefault(this._terrainOffsetProperty,e,Nie,kie))),new Gt({id:t,geometry:Lm.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:r})};md.prototype._computeCenter=function(e,t){return K.getValueOrUndefined(this._entity.position,e,t)};md.prototype._isHidden=function(e,t){return!l(t.dimensions)||!l(e.position)||oi.prototype._isHidden.call(this,e,t)};md.prototype._isDynamic=function(e,t){return!e.position.isConstant||!K.isConstant(e.orientation)||!t.dimensions.isConstant||!K.isConstant(t.outlineWidth)};md.prototype._setStaticOptions=function(e,t){let n=K.getValueOrDefault(t.heightReference,Oe.MINIMUM_VALUE,Je.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ot?mn.VERTEX_FORMAT:ro.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(Oe.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==Je.NONE?un.ALL:void 0};md.prototype._onEntityPropertyChanged=Np;md.DynamicGeometryUpdater=pC;function pC(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(pC.prototype=Object.create(ii.prototype),pC.prototype.constructor=pC);pC.prototype._isHidden=function(e,t,n){let i=K.getValueOrUndefined(e.position,n,cve),o=this._options.dimensions;return!l(i)||!l(o)||ii.prototype._isHidden.call(this,e,t,n)};pC.prototype._setOptions=function(e,t,n){let i=K.getValueOrDefault(t.heightReference,n,Je.NONE),o=this._options;o.dimensions=K.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==Je.NONE?un.ALL:void 0};var SI=md;var _tn=T(S(),1);function Bx(e,t,n){this._callback=void 0,this._isConstant=void 0,this._referenceFrame=y(n,Ai.FIXED),this._definitionChanged=new be,this.setCallback(e,t)}Object.defineProperties(Bx.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var dve=new j;Bx.prototype.getValue=function(e,t){return l(e)||(e=j.now(dve)),this.getValueInReferenceFrame(e,Ai.FIXED,t)};Bx.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};Bx.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._callback(e,n);return Im.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};Bx.prototype.equals=function(e){return this===e||e instanceof Bx&&this._callback===e._callback&&this._isConstant===e._isConstant&&this._referenceFrame===e._referenceFrame};var CI=Bx;var zBn=T(S(),1);var wBn=T(S(),1);var Ltn=T(S(),1),Bie=T(Die(),1);var uve=0,rz={};function rf(e,t){let n,i=e;l(rz[i])?n=rz[i]:(n=uve++,rz[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(rf.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!l(this._element)){let e=Bie.default.sanitize(this._html),t=document.createElement("div");t.className="cesium-credit-wrapper",t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i{u[m]=void 0});for(let m=r;m0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return l(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentCubeMap:{get:function(){return this._specularEnvironmentCubeMap}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready||this._useDefaultSpecularMaps}}});function mve(e,t){if(wm.isSupported(t)){if(e._specularEnvironmentCubeMap=e._specularEnvironmentCubeMap&&e._specularEnvironmentCubeMap.destroy(),l(e._specularEnvironmentMaps)){let n=new wm(e._specularEnvironmentMaps);e._specularEnvironmentCubeMap=n,e._removeErrorListener=n.errorEvent.addEventListener(i=>{console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}VI.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;D.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=D.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._luminanceAtZenith)!==l(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._previousSphericalHarmonicCoefficients)!==l(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentCubeMapDirty&&(mve(this,t),this._specularEnvironmentCubeMapDirty=!1),l(this._specularEnvironmentCubeMap)&&(this._specularEnvironmentCubeMap.update(e),this._specularEnvironmentCubeMap.ready&&(this._specularEnvironmentMapLoaded=!0));let o=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!l(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!l(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)};VI.prototype.isDestroyed=function(){return!1};VI.prototype.destroy=function(){return this._specularEnvironmentCubeMap=this._specularEnvironmentCubeMap&&this._specularEnvironmentCubeMap.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),me(this)};var Yx=VI;var nnn=T(S(),1),cz=T(nd(),1);var Ktn=T(S(),1);var az,Oie="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1ZjJlYTllMy1kYWRiLTQwYjctOGZhOS02NGJkOTJhYTA1ODUiLCJpZCI6MjU5LCJpYXQiOjE3Mjc3OTI2NzB9.XbfI79d1v3T5OpMl4CznrcBuctSfW1lycPWlt8bq_1A",o5={};o5.defaultAccessToken=Oie;o5.defaultServer=new Ge({url:"https://api.cesium.com/"});o5.getDefaultTokenCredit=function(e){if(e===Oie){if(!l(az)){let t=` This application is using Cesium's default ion access token. Please assign Cesium.Ion.defaultAccessToken with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at https://cesium.com.`;az=new Et(t,!0)}return az}};var Fm=o5;function Dc(e,t){let n,i=e.externalType,o=l(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:hve};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new de("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");Ge.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new cz.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}l(Object.create)&&(Dc.prototype=Object.create(Ge.prototype),Dc.prototype.constructor=Dc);Dc.fromAssetId=function(e,t){let n=Dc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new Dc(i,n)})};Object.defineProperties(Dc.prototype,{credits:{get:function(){return l(this._ionRoot)?this._ionRoot.credits:l(this._credits)?this._credits:(this._credits=Dc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});Dc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(Et.getIonCredit),i=Fm.getDefaultTokenCredit(t.queryParameters.access_token);return l(i)&&n.push(Et.clone(i)),n};Dc.prototype.clone=function(e){let t=y(this._ionRoot,this);return l(e)||(e=new Dc(t._ionEndpoint,t._ionEndpointResource)),e=Ge.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};Dc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},l(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return Ge.prototype.fetchImage.call(this,e)};Dc.prototype._makeRequest=function(e){return this._isExternal||new cz.default(this.url).authority()!==this._ionEndpointDomain?Ge.prototype._makeRequest.call(this,e):(l(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,e.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(e.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),Ge.prototype._makeRequest.call(this,e))};Dc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Fm.defaultServer),i=y(t.accessToken,Fm.defaultAccessToken);n=Ge.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return l(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function hve(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!l(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(l(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var hd=Dc;var rnn=T(S(),1);function sf(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(sf.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(et.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});sf.prototype.get=function(e){return this._array[e]};sf.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};sf.prototype.peek=function(){return this._array[this._length-1]};sf.prototype.push=function(e){let t=this.length++;this._array[t]=e};sf.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};sf.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};sf.prototype.resize=function(e){this.length=e};sf.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var Bc=sf;var lnn=T(S(),1);var kp={X:0,Y:1,Z:2};kp.Y_UP_TO_Z_UP=M.fromRotationTranslation($.fromArray([1,0,0,0,0,1,0,-1,0]));kp.Z_UP_TO_Y_UP=M.fromRotationTranslation($.fromArray([1,0,0,0,0,-1,0,1,0]));kp.X_UP_TO_Z_UP=M.fromRotationTranslation($.fromArray([0,0,1,0,1,0,-1,0,0]));kp.Z_UP_TO_X_UP=M.fromRotationTranslation($.fromArray([0,0,-1,0,1,0,1,0,0]));kp.X_UP_TO_Y_UP=M.fromRotationTranslation($.fromArray([0,1,0,-1,0,0,0,0,1]));kp.Y_UP_TO_X_UP=M.fromRotationTranslation($.fromArray([0,-1,0,1,0,0,0,0,1]));kp.fromName=function(e){return kp[e]};var Io=Object.freeze(kp);var jUn=T(S(),1);var mnn=T(S(),1);function Yie(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(Yie.prototype,{metadata:{get:function(){return this._metadata}}});var zx=Yie;var VMn=T(S(),1);var Gnn=T(S(),1);var _nn=T(S(),1);var bnn=T(S(),1);function Kb(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),Kb.decode(e)}Kb.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};Kb.decodeWithFromCharCode=function(e){let t="",n=fve(e),i=n.length;for(let o=0;o>10)+55296,(r&1023)+56320))}return t};function LI(e,t,n){return t<=e&&e<=n}function fve(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c0){let o=Math.min(t,Dt.maximumTextureSize),r=Math.ceil(t/Dt.maximumTextureSize),s=1/o,a=s*.5,c=1/r,d=c*.5;n=new D(o,r),i=new se(s,a,c,d)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(cc.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return l(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),l(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});cc.DEFAULT_COLOR_VALUE=B.WHITE;cc.DEFAULT_SHOW_VALUE=!0;function zie(e){let t=e._textureDimensions;return t.x*t.y*4}function Hie(e){if(!l(e._batchValues)){let t=zie(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function Kie(e){if(!l(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}cc.prototype.setShow=function(e,t){if(t&&!l(this._showAlphaProperties))return;let n=Kie(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=Hie(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};cc.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n0){let i=e._pickIds,o=zie(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c0;){if(t=u.pop(),c[t]===d)continue;c[t]=d;let m=n(e,t);if(l(m))return m;let p=o[t],g=s[t];for(let f=0;f{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Np.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Np.isSupported=function(e){return e.frameState.context.depthTexture};Np.prototype.isDestroyed=function(){return!1};Np.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,me(this)};var Wm=Np;var C6t=T(S(),1);var b6t=T(S(),1);var l6t=T(S(),1);var BPe=new D(1,1),OPe=!1,YPe=B.WHITE;function yC(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new be,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(yC.prototype,{isConstant:{get:function(){return K.isConstant(this._image)&&K.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:ue("image"),repeat:ue("repeat"),color:ue("color"),transparent:ue("transparent")});yC.prototype.getType=function(e){return"Image"};var HPe=new j;yC.prototype.getValue=function(e,t){return l(e)||(e=j.now(HPe)),l(t)||(t={}),t.image=K.getValueOrUndefined(this._image,e),t.repeat=K.getValueOrClonedDefault(this._repeat,e,BPe,t.repeat),t.color=K.getValueOrClonedDefault(this._color,e,YPe,t.color),K.getValueOrDefault(this._transparent,e,OPe)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};yC.prototype.equals=function(e){return this===e||e instanceof yC&&K.equals(this._image,e._image)&&K.equals(this._repeat,e._repeat)&&K.equals(this._color,e._color)&&K.equals(this._transparent,e._transparent)};var $0=yC;function zPe(e){if(e instanceof B)return new Bt(e);if(typeof e=="string"||e instanceof Le||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new $0;return t.image=e,t}}function KPe(e,t){return ue(e,t,zPe)}var Xo=KPe;function uI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(uI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),dimensions:ue("dimensions"),heightReference:ue("heightReference"),fill:ue("fill"),material:Xo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition")});uI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new uI(this)};uI.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Dx=uI;var D6t=T(S(),1);var L6t=T(S(),1),JPe={FIXED:0,INERTIAL:1},Ni=Object.freeze(JPe);var P6t=T(S(),1);function xC(){fe.throwInstantiationError()}Object.defineProperties(xC.prototype,{isConstant:{get:fe.throwInstantiationError},definitionChanged:{get:fe.throwInstantiationError},referenceFrame:{get:fe.throwInstantiationError}});xC.prototype.getValue=fe.throwInstantiationError;xC.prototype.getValueInReferenceFrame=fe.throwInstantiationError;xC.prototype.equals=fe.throwInstantiationError;var Yie=new $;xC.convertToReferenceFrame=function(e,t,n,i,o){if(!l(t))return t;if(l(o)||(o=new h),n===i)return h.clone(t,o);let r=vt.computeIcrfToCentralBodyFixedMatrix(e,Yie);if(n===Ni.INERTIAL)return $.multiplyByVector(r,t,o);if(n===Ni.FIXED)return $.multiplyByVector($.transpose(r,Yie),t,o)};var Pm=xC;function Bx(e,t){this._definitionChanged=new be,this._value=h.clone(e),this._referenceFrame=y(t,Ni.FIXED)}Object.defineProperties(Bx.prototype,{isConstant:{get:function(){return!l(this._value)||this._referenceFrame===Ni.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var QPe=new j;Bx.prototype.getValue=function(e,t){return l(e)||(e=j.now(QPe)),this.getValueInReferenceFrame(e,Ni.FIXED,t)};Bx.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),l(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};Bx.prototype.getValueInReferenceFrame=function(e,t,n){return Pm.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};Bx.prototype.equals=function(e){return this===e||e instanceof Bx&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var Bc=Bx;var J6t=T(S(),1);function mI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(mI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),positions:ue("positions"),width:ue("width"),height:ue("height"),heightReference:ue("heightReference"),extrudedHeight:ue("extrudedHeight"),extrudedHeightReference:ue("extrudedHeightReference"),cornerType:ue("cornerType"),granularity:ue("granularity"),fill:ue("fill"),material:Xo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition"),classificationType:ue("classificationType"),zIndex:ue("zIndex")});mI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new mI(this)};mI.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Ox=mI;var q6t=T(S(),1);function jPe(e){return e}function qPe(e,t){return ue(e,t,jPe)}var Oc=qPe;var rqt=T(S(),1);function hI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(hI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),length:ue("length"),topRadius:ue("topRadius"),bottomRadius:ue("bottomRadius"),heightReference:ue("heightReference"),fill:ue("fill"),material:Xo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),numberOfVerticalLines:ue("numberOfVerticalLines"),slices:ue("slices"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition")});hI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new hI(this)};hI.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Yx=hI;var mqt=T(S(),1);function fI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(fI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),semiMajorAxis:ue("semiMajorAxis"),semiMinorAxis:ue("semiMinorAxis"),height:ue("height"),heightReference:ue("heightReference"),extrudedHeight:ue("extrudedHeight"),extrudedHeightReference:ue("extrudedHeightReference"),rotation:ue("rotation"),stRotation:ue("stRotation"),granularity:ue("granularity"),fill:ue("fill"),material:Xo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),numberOfVerticalLines:ue("numberOfVerticalLines"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition"),classificationType:ue("classificationType"),zIndex:ue("zIndex")});fI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new fI(this)};fI.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Hx=fI;var xqt=T(S(),1);function pI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(pI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),radii:ue("radii"),innerRadii:ue("innerRadii"),minimumClock:ue("minimumClock"),maximumClock:ue("maximumClock"),minimumCone:ue("minimumCone"),maximumCone:ue("maximumCone"),heightReference:ue("heightReference"),fill:ue("fill"),material:Xo("material"),outline:ue("outline"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),stackPartitions:ue("stackPartitions"),slicePartitions:ue("slicePartitions"),subdivisions:ue("subdivisions"),shadows:ue("shadows"),distanceDisplayCondition:ue("distanceDisplayCondition")});pI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new pI(this)};pI.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var zx=pI;var Lqt=T(S(),1);function bI(e){this._definitionChanged=new be,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(bI.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:ue("show"),text:ue("text"),font:ue("font"),style:ue("style"),scale:ue("scale"),showBackground:ue("showBackground"),backgroundColor:ue("backgroundColor"),backgroundPadding:ue("backgroundPadding"),pixelOffset:ue("pixelOffset"),eyeOffset:ue("eyeOffset"),horizontalOrigin:ue("horizontalOrigin"),verticalOrigin:ue("verticalOrigin"),heightReference:ue("heightReference"),fillColor:ue("fillColor"),outlineColor:ue("outlineColor"),outlineWidth:ue("outlineWidth"),translucencyByDistance:ue("translucencyByDistance"),pixelOffsetScaleByDistance:ue("pixelOffsetScaleByDistance"),scaleByDistance:ue("scaleByDistance"),distanceDisplayCondition:ue("distanceDisplayCondition"),disableDepthTestDistance:ue("disableDepthTestDistance")});bI.prototype.clone=function(e){return l(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new bI(this)};bI.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var vm=bI;var i$t=T(S(),1);var kqt=T(S(),1);var Xqt=T(S(),1);var $Pe=new h(1,1,1),eve=h.ZERO,tve=Fe.IDENTITY;function Hie(e,t,n){this.translation=h.clone(y(e,eve)),this.rotation=Fe.clone(y(t,tve)),this.scale=h.clone(y(n,$Pe))}Hie.prototype.equals=function(e){return this===e||l(e)&&h.equals(this.translation,e.translation)&&Fe.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var eg=Hie;var cH=new eg;function gI(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new be,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(gI.prototype,{isConstant:{get:function(){return K.isConstant(this._translation)&&K.isConstant(this._rotation)&&K.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:ue("translation"),rotation:ue("rotation"),scale:ue("scale")});var nve=new j;gI.prototype.getValue=function(e,t){return l(e)||(e=j.now(nve)),l(t)||(t=new eg),t.translation=K.getValueOrClonedDefault(this._translation,e,cH.translation,t.translation),t.rotation=K.getValueOrClonedDefault(this._rotation,e,cH.rotation,t.rotation),t.scale=K.getValueOrClonedDefault(this._scale,e,cH.scale,t.scale),t};gI.prototype.equals=function(e){return this===e||e instanceof gI&&K.equals(this._translation,e._translation)&&K.equals(this._rotation,e._rotation)&&K.equals(this._scale,e._scale)};var Kx=gI;var Jqt=T(S(),1);function kp(e,t){this._propertyNames=[],this._definitionChanged=new be,l(e)&&this.merge(e,t)}Object.defineProperties(kp.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t{this._terrainHeight=s.height,this.definitionChanged.raiseEvent()};this._removeCallbackFunc=e.updateHeight(i,r,this._heightReference)};var Sve=new j;TC.prototype.getValue=function(e,t){l(e)||(e=j.now(Sve));let n=K.getValueOrDefault(this._heightReference,e,Qe.NONE),i=K.getValueOrDefault(this._extrudedHeightReference,e,Qe.NONE);if(n===Qe.NONE&&!cC(i))return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,jie);if(!l(r)||h.equals(r,h.ZERO)||!l(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,W.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};TC.prototype.isDestroyed=function(){return!1};TC.prototype.destroy=function(){return l(this._removeEventListener)&&this._removeEventListener(),l(this._removeModeListener)&&this._removeModeListener(),l(this._removeCallbackFunc)&&this._removeCallbackFunc(),me(this)};var qx=TC;function Cve(e,t,n,i){if(ai.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(l(r)){let s=new Am(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new qx(this._scene,s,r)}}var Op=Cve;var qie=h.ZERO,$ie=new h,Vve=new h,eoe=new B;function Lve(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function gd(e,t){ai.call(this,{entity:e,scene:t,geometryOptions:new Lve(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}l(Object.create)&&(gd.prototype=Object.create(ai.prototype),gd.prototype.constructor=gd);Object.defineProperties(gd.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});gd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Un.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Bt){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,eoe)),l(a)||(a=B.WHITE),s.color=Ht.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=qi.fromCartesian3(K.getValueOrDefault(this._terrainOffsetProperty,e,qie,$ie))),new Et({id:t,geometry:Pa.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:s})};gd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=K.getValueOrDefault(this._outlineColorProperty,e,B.BLACK,eoe),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new _n(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Ht.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=qi.fromCartesian3(K.getValueOrDefault(this._terrainOffsetProperty,e,qie,$ie))),new Et({id:t,geometry:Xm.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:r})};gd.prototype._computeCenter=function(e,t){return K.getValueOrUndefined(this._entity.position,e,t)};gd.prototype._isHidden=function(e,t){return!l(t.dimensions)||!l(e.position)||ai.prototype._isHidden.call(this,e,t)};gd.prototype._isDynamic=function(e,t){return!e.position.isConstant||!K.isConstant(e.orientation)||!t.dimensions.isConstant||!K.isConstant(t.outlineWidth)};gd.prototype._setStaticOptions=function(e,t){let n=K.getValueOrDefault(t.heightReference,Ye.MINIMUM_VALUE,Qe.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Bt?mn.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(Ye.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==Qe.NONE?dn.ALL:void 0};gd.prototype._onEntityPropertyChanged=Op;gd.DynamicGeometryUpdater=SC;function SC(e,t,n){si.call(this,e,t,n)}l(Object.create)&&(SC.prototype=Object.create(si.prototype),SC.prototype.constructor=SC);SC.prototype._isHidden=function(e,t,n){let i=K.getValueOrUndefined(e.position,n,Vve),o=this._options.dimensions;return!l(i)||!l(o)||si.prototype._isHidden.call(this,e,t,n)};SC.prototype._setOptions=function(e,t,n){let i=K.getValueOrDefault(t.heightReference,n,Qe.NONE),o=this._options;o.dimensions=K.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==Qe.NONE?dn.ALL:void 0};var EI=gd;var bnn=T(S(),1);function $x(e,t,n){this._callback=void 0,this._isConstant=void 0,this._referenceFrame=y(n,Ni.FIXED),this._definitionChanged=new be,this.setCallback(e,t)}Object.defineProperties($x.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var Rve=new j;$x.prototype.getValue=function(e,t){return l(e)||(e=j.now(Rve)),this.getValueInReferenceFrame(e,Ni.FIXED,t)};$x.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};$x.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._callback(e,n);return Pm.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};$x.prototype.equals=function(e){return this===e||e instanceof $x&&this._callback===e._callback&&this._isConstant===e._isConstant&&this._referenceFrame===e._referenceFrame};var II=$x;var NYn=T(S(),1);var GYn=T(S(),1);var Tnn=T(S(),1),noe=T(toe(),1);var Zve=0,hH={};function lf(e,t){let n,i=e;l(hH[i])?n=hH[i]:(n=Zve++,hH[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(lf.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!l(this._element)){let e=noe.default.sanitize(this._html),t=document.createElement("div");t.className="cesium-credit-wrapper",t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i{u[m]=void 0});for(let m=r;m0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},specularEnvironmentCubeMap:{get:function(){return this._specularEnvironmentCubeMap}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready||this._useDefaultSpecularMaps}}});function Gve(e,t){if(Mm.isSupported(t)){if(e._specularEnvironmentCubeMap=e._specularEnvironmentCubeMap&&e._specularEnvironmentCubeMap.destroy(),l(e._specularEnvironmentMaps)){let n=new Mm(e._specularEnvironmentMaps);e._specularEnvironmentCubeMap=n,e._removeErrorListener=n.errorEvent.addEventListener(i=>{console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}XI.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;D.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=D.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._previousSphericalHarmonicCoefficients)!==l(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentCubeMapDirty&&(Gve(this,t),this._specularEnvironmentCubeMapDirty=!1),l(this._specularEnvironmentCubeMap)&&(this._specularEnvironmentCubeMap.update(e),this._specularEnvironmentCubeMap.ready&&(this._specularEnvironmentMapLoaded=!0));let o=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!l(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!l(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)};XI.prototype.isDestroyed=function(){return!1};XI.prototype.destroy=function(){return this._specularEnvironmentCubeMap=this._specularEnvironmentCubeMap&&this._specularEnvironmentCubeMap.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),me(this)};var t_=XI;var qnn=T(S(),1),bH=T(ad(),1);var Onn=T(S(),1);var pH,ioe="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0ZDdmNWJiNy0wMmNlLTQ1MWUtODM2YS02NGM1MTBlOGMwMWQiLCJpZCI6MjU5LCJpYXQiOjE3MzMxNTc4OTV9.B3URHf0VdHDtGckb-hv7uqATdn8KfvkiuoAFZUq8tAo",d5={};d5.defaultAccessToken=ioe;d5.defaultServer=new Le({url:"https://api.cesium.com/"});d5.getDefaultTokenCredit=function(e){if(e===ioe){if(!l(pH)){let t=` This application is using Cesium's default ion access token. Please assign Cesium.Ion.defaultAccessToken with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at https://cesium.com.`;pH=new Lt(t,!0)}return pH}};var Nm=d5;function Hc(e,t){let n,i=e.externalType,o=l(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:Eve};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new ce("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");Le.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new bH.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}l(Object.create)&&(Hc.prototype=Object.create(Le.prototype),Hc.prototype.constructor=Hc);Hc.fromAssetId=function(e,t){let n=Hc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new Hc(i,n)})};Object.defineProperties(Hc.prototype,{credits:{get:function(){return l(this._ionRoot)?this._ionRoot.credits:l(this._credits)?this._credits:(this._credits=Hc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});Hc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(Lt.getIonCredit),i=Nm.getDefaultTokenCredit(t.queryParameters.access_token);return l(i)&&n.push(Lt.clone(i)),n};Hc.prototype.clone=function(e){let t=y(this._ionRoot,this);return l(e)||(e=new Hc(t._ionEndpoint,t._ionEndpointResource)),e=Le.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};Hc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},l(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return Le.prototype.fetchImage.call(this,e)};Hc.prototype._makeRequest=function(e){return this._isExternal||new bH.default(this.url).authority()!==this._ionEndpointDomain?Le.prototype._makeRequest.call(this,e):(l(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,e.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(e.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),Le.prototype._makeRequest.call(this,e))};Hc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Nm.defaultServer),i=y(t.accessToken,Nm.defaultAccessToken);n=Le.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return l(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function Eve(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!l(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(l(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var yd=Hc;var tin=T(S(),1);function df(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(df.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(et.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});df.prototype.get=function(e){return this._array[e]};df.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};df.prototype.peek=function(){return this._array[this._length-1]};df.prototype.push=function(e){let t=this.length++;this._array[t]=e};df.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};df.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};df.prototype.resize=function(e){this.length=e};df.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var zc=df;var rin=T(S(),1);var Yp={X:0,Y:1,Z:2};Yp.Y_UP_TO_Z_UP=M.fromRotationTranslation($.fromArray([1,0,0,0,0,1,0,-1,0]));Yp.Z_UP_TO_Y_UP=M.fromRotationTranslation($.fromArray([1,0,0,0,0,-1,0,1,0]));Yp.X_UP_TO_Z_UP=M.fromRotationTranslation($.fromArray([0,0,1,0,1,0,-1,0,0]));Yp.Z_UP_TO_X_UP=M.fromRotationTranslation($.fromArray([0,0,-1,0,1,0,1,0,0]));Yp.X_UP_TO_Y_UP=M.fromRotationTranslation($.fromArray([0,1,0,-1,0,0,0,0,1]));Yp.Y_UP_TO_X_UP=M.fromRotationTranslation($.fromArray([0,-1,0,1,0,0,0,0,1]));Yp.fromName=function(e){return Yp[e]};var Wo=Object.freeze(Yp);var DBn=T(S(),1);var cin=T(S(),1);function ooe(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(ooe.prototype,{metadata:{get:function(){return this._metadata}}});var n_=ooe;var p5n=T(S(),1);var Vin=T(S(),1);var bin=T(S(),1);var min=T(S(),1);function tg(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),tg.decode(e)}tg.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};tg.decodeWithFromCharCode=function(e){let t="",n=Ive(e),i=n.length;for(let o=0;o>10)+55296,(r&1023)+56320))}return t};function WI(e,t,n){return t<=e&&e<=n}function Ive(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c0){let o=Math.min(t,At.maximumTextureSize),r=Math.ceil(t/At.maximumTextureSize),s=1/o,a=s*.5,c=1/r,d=c*.5;n=new D(o,r),i=new re(s,a,c,d)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(uc.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return l(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),l(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});uc.DEFAULT_COLOR_VALUE=B.WHITE;uc.DEFAULT_SHOW_VALUE=!0;function roe(e){let t=e._textureDimensions;return t.x*t.y*4}function soe(e){if(!l(e._batchValues)){let t=roe(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function aoe(e){if(!l(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}uc.prototype.setShow=function(e,t){if(t&&!l(this._showAlphaProperties))return;let n=aoe(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=soe(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};uc.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n0){let i=e._pickIds,o=roe(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c0;){if(t=u.pop(),c[t]===d)continue;c[t]=d;let m=n(e,t);if(l(m))return m;let p=o[t],g=s[t];for(let f=0;f0?(s="",e&&(s+=`uniform bool tile_translucentCommand; +`}bo.prototype.getVertexShaderCallback=function(e,t,n){if(this.featuresLength===0)return;let i=this;return function(o){let r=uoe(o,n,!1),s;return At.maximumVertexTextureImageUnits>0?(s="",e&&(s+=`uniform bool tile_translucentCommand; `),s+=`uniform sampler2D tile_batchTexture; out vec4 tile_featureColor; out vec2 tile_featureSt; @@ -5933,7 +5978,7 @@ void main() tile_color(vec4(1.0)); tile_featureSt = computeSt(${t}); }`,`${r} -${kve(i)}${s}`}};function Qie(e,t){return e=Ye.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend; +${nwe(i)}${s}`}};function loe(e,t){return e=Oe.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend; void tile_color(vec4 tile_featureColor) { tile_main(); @@ -5946,7 +5991,7 @@ void tile_color(vec4 tile_featureColor) { tile_main(); } -`}function Uve(e,t){let n=`texture(${t}`,i=0,o=e.indexOf(n,i),r;for(;o>-1;){let s=0;for(let d=o;d-1;){let s=0;for(let d=o;d0?(i+=`uniform sampler2D tile_pickTexture; +`,e}bo.prototype.getFragmentShaderCallback=function(e,t,n){if(this.featuresLength!==0)return function(i){return i=uoe(i,t,!0),At.maximumVertexTextureImageUnits>0?(i+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() @@ -6007,7 +6052,7 @@ void main() `),i+=` tile_color(featureProperties); `,n&&(i+=` out_FragColor.rgb *= out_FragColor.a; `),i+=`} -`),i}};po.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=Ye.replaceMain(e,"tile_main"),Dt.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture; +`),i}};bo.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=Oe.replaceMain(e,"tile_main"),At.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() @@ -6028,7 +6073,7 @@ void main() out_FragColor = featureProperties; out_FragColor.rgb *= out_FragColor.a; } -`,e}};function Dve(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===Zl.HIGHLIGHT)return 0;if(n===Zl.REPLACE)return 1;if(n===Zl.MIX)return W.clamp(i,W.EPSILON4,1)}po.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return Tt(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return Dve(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};po.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var Jb={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};po.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s.isSkippingLevelOfDetail&&s.hasMixedContent&&e.context.stencilBuffer,c=Bve(this);for(let d=t;d>>Bt.SKIP_LOD_BIT_SHIFT}function jve(e){let t=ze(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=hn.ALPHA_BLEND,t.stencilTest=Bt.setCesium3DTileBit(),t.stencilMask=Bt.CESIUM_3D_TILE_MASK,Be.fromCache(t)}function qve(e){let t=ze(e,!0);return t.stencilTest=Bt.setCesium3DTileBit(),t.stencilMask=Bt.CESIUM_3D_TILE_MASK,Be.fromCache(t)}po.prototype.update=function(e,t){this._batchTexture.update(e,t)};po.prototype.isDestroyed=function(){return!1};po.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),me(this)};var Dp=po;var Jon=T(S(),1);var Nin=T(S(),1);function $ve(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var af=$ve;var Fon=T(S(),1);var Uin=T(S(),1),bC=`in vec3 position; +`,e}};function owe(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===Gl.HIGHLIGHT)return 0;if(n===Gl.REPLACE)return 1;if(n===Gl.MIX)return W.clamp(i,W.EPSILON4,1)}bo.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return Vt(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return owe(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};bo.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var ng={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};bo.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s.isSkippingLevelOfDetail&&s.hasMixedContent&&e.context.stencilBuffer,c=rwe(this);for(let d=t;d>>Dt.SKIP_LOD_BIT_SHIFT}function hwe(e){let t=He(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=hn.ALPHA_BLEND,t.stencilTest=Dt.setCesium3DTileBit(),t.stencilMask=Dt.CESIUM_3D_TILE_MASK,Be.fromCache(t)}function fwe(e){let t=He(e,!0);return t.stencilTest=Dt.setCesium3DTileBit(),t.stencilMask=Dt.CESIUM_3D_TILE_MASK,Be.fromCache(t)}bo.prototype.update=function(e,t){this._batchTexture.update(e,t)};bo.prototype.isDestroyed=function(){return!1};bo.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),me(this)};var zp=bo;var Yrn=T(S(),1);var won=T(S(),1);function pwe(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var uf=pwe;var Wrn=T(S(),1);var Aon=T(S(),1),CC=`in vec3 position; in float a_batchId; uniform mat4 u_modifiedModelViewProjection; @@ -6037,31 +6082,31 @@ void main() { gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0)); } -`;var Yin=T(S(),1);function xu(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(xu.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return l(this._color)||(this._color=new B),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(l(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});xu.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};xu.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};xu.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};xu.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(l(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(l(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(l(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(l(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),l(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=l(e.group)?e.group.metadata:void 0;if(l(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let d=e.tileset.metadata;if(l(d)){if(d.hasPropertyBySemantic(n))return d.getPropertyBySemantic(n);if(d.hasProperty(n))return d.getProperty(n)}};xu.prototype.getPropertyInherited=function(e){return xu.getPropertyInherited(this._content,this._batchId,e)};xu.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};xu.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};xu.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};xu.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var ks=xu;var son=T(S(),1);var Hin=T(S(),1),uz=class{add(t,n,i){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],n&&this[o][i?"unshift":"push"](n)},this)}run(t,n){this[t]=this[t]||[],this[t].forEach(function(i){i.call(n&&n.context?n.context:n,n)})}},mz=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(n=>{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},Gl=class e{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+e.version}static addUnaryOp(t){return e.max_unop_len=Math.max(t.length,e.max_unop_len),e.unary_ops[t]=1,e}static addBinaryOp(t,n,i){return e.max_binop_len=Math.max(t.length,e.max_binop_len),e.binary_ops[t]=n,i?e.right_associative.add(t):e.right_associative.delete(t),e}static addIdentifierChar(t){return e.additional_identifier_chars.add(t),e}static addLiteral(t,n){return e.literals[t]=n,e}static removeUnaryOp(t){return delete e.unary_ops[t],t.length===e.max_unop_len&&(e.max_unop_len=e.getMaxKeyLen(e.unary_ops)),e}static removeAllUnaryOps(){return e.unary_ops={},e.max_unop_len=0,e}static removeIdentifierChar(t){return e.additional_identifier_chars.delete(t),e}static removeBinaryOp(t){return delete e.binary_ops[t],t.length===e.max_binop_len&&(e.max_binop_len=e.getMaxKeyLen(e.binary_ops)),e.right_associative.delete(t),e}static removeAllBinaryOps(){return e.binary_ops={},e.max_binop_len=0,e}static removeLiteral(t){return delete e.literals[t],e}static removeAllLiterals(){return e.literals={},e}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new e(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(n=>n.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return e.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!e.binary_ops[String.fromCharCode(t)]||e.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return e.isIdentifierStart(t)||e.isDecimalDigit(t)}throwError(t){let n=new Error(t+" at character "+this.index);throw n.index=this.index,n.description=t,n}runHook(t,n){if(e.hooks[t]){let i={context:this,node:n};return e.hooks.run(t,i),i.node}return n}searchHook(t){if(e.hooks[t]){let n={context:this};return e.hooks[t].find(function(i){return i.call(n.context,n),n.node}),n.node}}gobbleSpaces(){let t=this.code;for(;t===e.SPACE_CODE||t===e.TAB_CODE||t===e.LF_CODE||t===e.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),n=t.length===1?t[0]:{type:e.COMPOUND,body:t};return this.runHook("after-all",n)}gobbleExpressions(t){let n=[],i,o;for(;this.index0;){if(e.binary_ops.hasOwnProperty(t)&&(!e.isIdentifierStart(this.code)||this.index+t.lengthr.right_a&&m.right_a?i>m.prec:i<=m.prec;for(;o.length>2&&u(o[o.length-2]);)a=o.pop(),n=o.pop().value,s=o.pop(),t={type:e.BINARY_EXP,operator:n,left:s,right:a},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+d),o.push(r,t)}for(c=o.length-1,t=o[c];c>1;)t={type:e.BINARY_EXP,operator:o[c-1].value,left:o[c-2],right:t},c-=2;return t}gobbleToken(){let t,n,i,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,e.isDecimalDigit(t)||t===e.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===e.SQUOTE_CODE||t===e.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===e.OBRACK_CODE)o=this.gobbleArray();else{for(n=this.expr.substr(this.index,e.max_unop_len),i=n.length;i>0;){if(e.unary_ops.hasOwnProperty(n)&&(!e.isIdentifierStart(this.code)||this.index+n.length=n.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(r===e.COMMA_CODE){if(this.index++,o++,o!==n.length){if(t===e.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===e.CBRACK_CODE)for(let s=n.length;s":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Gl.max_unop_len=Gl.getMaxKeyLen(Gl.unary_ops);Gl.max_binop_len=Gl.getMaxKeyLen(Gl.binary_ops);var Qb=e=>new Gl(e).parse(),twe=Object.getOwnPropertyNames(Gl);twe.forEach(e=>{Qb[e]===void 0&&e!=="prototype"&&(Qb[e]=Gl[e])});Qb.Jsep=Gl;var nwe="ConditionalExpression",iwe={name:"ternary",init(e){e.hooks.add("after-expression",function(n){if(n.node&&this.code===e.QUMARK_CODE){this.index++;let i=n.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let r=this.gobbleExpression();if(r||this.throwError("Expected expression"),n.node={type:nwe,test:i,consequent:o,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let s=i;for(;s.right.operator&&e.binary_ops[s.right.operator]<=.9;)s=s.right;n.node.test=s.right,s.right=n.node,n.node=i}}else this.throwError("Expected :")}})}};Qb.plugins.register(iwe);var Jin=T(S(),1),owe={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},gt=Object.freeze(owe);function Mm(e,t){this._expression=e,e=gwe(e,t),e=xwe(ywe(e)),Qb.addBinaryOp("=~",0),Qb.addBinaryOp("!~",0);let n;try{n=Qb(e)}catch(i){throw new de(i)}this._runtimeAst=Si(this,n)}Object.defineProperties(Mm.prototype,{expression:{get:function(){return this._expression}}});var Fn={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new D],cartesian3Array:[new h],cartesian4Array:[new se],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new D),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new se),this.cartesian4Array[this.cartesian4Index++]}};Mm.prototype.evaluate=function(e,t){Fn.reset();let n=this._runtimeAst.evaluate(e);return t instanceof B&&n instanceof se?B.fromCartesian4(n,t):n instanceof D||n instanceof h||n instanceof se?n.clone(t):n};Mm.prototype.evaluateColor=function(e,t){Fn.reset();let n=this._runtimeAst.evaluate(e);return B.fromCartesian4(n,t)};Mm.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e} +`;var Uon=T(S(),1);function Lu(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(Lu.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return l(this._color)||(this._color=new B),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(l(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});Lu.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};Lu.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};Lu.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};Lu.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(l(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(l(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(l(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(l(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),l(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=l(e.group)?e.group.metadata:void 0;if(l(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let d=e.tileset.metadata;if(l(d)){if(d.hasPropertyBySemantic(n))return d.getPropertyBySemantic(n);if(d.hasProperty(n))return d.getProperty(n)}};Lu.prototype.getPropertyInherited=function(e){return Lu.getPropertyInherited(this._content,this._batchId,e)};Lu.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};Lu.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};Lu.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};Lu.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Os=Lu;var nrn=T(S(),1);var Bon=T(S(),1),xH=class{add(t,n,i){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],n&&this[o][i?"unshift":"push"](n)},this)}run(t,n){this[t]=this[t]||[],this[t].forEach(function(i){i.call(n&&n.context?n.context:n,n)})}},_H=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(n=>{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},El=class e{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+e.version}static addUnaryOp(t){return e.max_unop_len=Math.max(t.length,e.max_unop_len),e.unary_ops[t]=1,e}static addBinaryOp(t,n,i){return e.max_binop_len=Math.max(t.length,e.max_binop_len),e.binary_ops[t]=n,i?e.right_associative.add(t):e.right_associative.delete(t),e}static addIdentifierChar(t){return e.additional_identifier_chars.add(t),e}static addLiteral(t,n){return e.literals[t]=n,e}static removeUnaryOp(t){return delete e.unary_ops[t],t.length===e.max_unop_len&&(e.max_unop_len=e.getMaxKeyLen(e.unary_ops)),e}static removeAllUnaryOps(){return e.unary_ops={},e.max_unop_len=0,e}static removeIdentifierChar(t){return e.additional_identifier_chars.delete(t),e}static removeBinaryOp(t){return delete e.binary_ops[t],t.length===e.max_binop_len&&(e.max_binop_len=e.getMaxKeyLen(e.binary_ops)),e.right_associative.delete(t),e}static removeAllBinaryOps(){return e.binary_ops={},e.max_binop_len=0,e}static removeLiteral(t){return delete e.literals[t],e}static removeAllLiterals(){return e.literals={},e}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new e(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(n=>n.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return e.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!e.binary_ops[String.fromCharCode(t)]||e.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return e.isIdentifierStart(t)||e.isDecimalDigit(t)}throwError(t){let n=new Error(t+" at character "+this.index);throw n.index=this.index,n.description=t,n}runHook(t,n){if(e.hooks[t]){let i={context:this,node:n};return e.hooks.run(t,i),i.node}return n}searchHook(t){if(e.hooks[t]){let n={context:this};return e.hooks[t].find(function(i){return i.call(n.context,n),n.node}),n.node}}gobbleSpaces(){let t=this.code;for(;t===e.SPACE_CODE||t===e.TAB_CODE||t===e.LF_CODE||t===e.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),n=t.length===1?t[0]:{type:e.COMPOUND,body:t};return this.runHook("after-all",n)}gobbleExpressions(t){let n=[],i,o;for(;this.index0;){if(e.binary_ops.hasOwnProperty(t)&&(!e.isIdentifierStart(this.code)||this.index+t.lengthr.right_a&&m.right_a?i>m.prec:i<=m.prec;for(;o.length>2&&u(o[o.length-2]);)a=o.pop(),n=o.pop().value,s=o.pop(),t={type:e.BINARY_EXP,operator:n,left:s,right:a},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+d),o.push(r,t)}for(c=o.length-1,t=o[c];c>1;)t={type:e.BINARY_EXP,operator:o[c-1].value,left:o[c-2],right:t},c-=2;return t}gobbleToken(){let t,n,i,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,e.isDecimalDigit(t)||t===e.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===e.SQUOTE_CODE||t===e.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===e.OBRACK_CODE)o=this.gobbleArray();else{for(n=this.expr.substr(this.index,e.max_unop_len),i=n.length;i>0;){if(e.unary_ops.hasOwnProperty(n)&&(!e.isIdentifierStart(this.code)||this.index+n.length=n.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(r===e.COMMA_CODE){if(this.index++,o++,o!==n.length){if(t===e.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===e.CBRACK_CODE)for(let s=n.length;s":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});El.max_unop_len=El.getMaxKeyLen(El.unary_ops);El.max_binop_len=El.getMaxKeyLen(El.binary_ops);var ig=e=>new El(e).parse(),gwe=Object.getOwnPropertyNames(El);gwe.forEach(e=>{ig[e]===void 0&&e!=="prototype"&&(ig[e]=El[e])});ig.Jsep=El;var ywe="ConditionalExpression",xwe={name:"ternary",init(e){e.hooks.add("after-expression",function(n){if(n.node&&this.code===e.QUMARK_CODE){this.index++;let i=n.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let r=this.gobbleExpression();if(r||this.throwError("Expected expression"),n.node={type:ywe,test:i,consequent:o,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let s=i;for(;s.right.operator&&e.binary_ops[s.right.operator]<=.9;)s=s.right;n.node.test=s.right,s.right=n.node,n.node=i}}else this.throwError("Expected :")}})}};ig.plugins.register(xwe);var Yon=T(S(),1),_we={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},yt=Object.freeze(_we);function Um(e,t){this._expression=e,e=Pwe(e,t),e=wwe(vwe(e)),ig.addBinaryOp("=~",0),ig.addBinaryOp("!~",0);let n;try{n=ig(e)}catch(i){throw new ce(i)}this._runtimeAst=Li(this,n)}Object.defineProperties(Um.prototype,{expression:{get:function(){return this._expression}}});var Fn={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new D],cartesian3Array:[new h],cartesian4Array:[new re],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new D),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new re),this.cartesian4Array[this.cartesian4Index++]}};Um.prototype.evaluate=function(e,t){Fn.reset();let n=this._runtimeAst.evaluate(e);return t instanceof B&&n instanceof re?B.fromCartesian4(n,t):n instanceof D||n instanceof h||n instanceof re?n.clone(t):n};Um.prototype.evaluateColor=function(e,t){Fn.reset();let n=this._runtimeAst.evaluate(e);return B.fromCartesian4(n,t)};Um.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e} { return ${o}; } -`,o};Mm.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};Mm.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var rwe=["!","-","+"],$ie=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],a5=/\${(.*?)}/g,swe=/\\/g,awe="@#%",cwe=/@#%/g,c5=new B,l5={abs:Us(Math.abs),sqrt:Us(Math.sqrt),cos:Us(Math.cos),sin:Us(Math.sin),tan:Us(Math.tan),acos:Us(Math.acos),asin:Us(Math.asin),atan:Us(Math.atan),radians:Us(W.toRadians),degrees:Us(W.toDegrees),sign:Us(W.sign),floor:Us(Math.floor),ceil:Us(Math.ceil),round:Us(Math.round),exp:Us(Math.exp),exp2:Us(dwe),log:Us(Math.log),log2:Us(uwe),fract:Us(lwe),length:mwe,normalize:hwe},d5={atan2:r5(Math.atan2,!1),pow:r5(Math.pow,!1),min:r5(Math.min,!0),max:r5(Math.max,!0),distance:fwe,dot:pwe,cross:bwe},pz={clamp:eoe(W.clamp,!0),mix:eoe(W.lerp,!0)};function lwe(e){return e-Math.floor(e)}function dwe(e){return Math.pow(2,e)}function uwe(e){return W.log2(e)}function Us(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof D)return D.fromElements(e(n.x),e(n.y),Fn.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),Fn.getCartesian3());if(n instanceof se)return se.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),Fn.getCartesian4());throw new de(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function r5(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof D)return D.fromElements(e(i.x,o),e(i.y,o),Fn.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),Fn.getCartesian3());if(i instanceof se)return se.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),Fn.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof D&&o instanceof D)return D.fromElements(e(i.x,o.x),e(i.y,o.y),Fn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),Fn.getCartesian3());if(i instanceof se&&o instanceof se)return se.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),Fn.getCartesian4());throw new de(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function eoe(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof D&&o instanceof D)return D.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),Fn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),Fn.getCartesian3());if(i instanceof se&&o instanceof se)return se.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),Fn.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof D&&o instanceof D&&r instanceof D)return D.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),Fn.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),Fn.getCartesian3());if(i instanceof se&&o instanceof se&&r instanceof se)return se.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),Fn.getCartesian4());throw new de(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function mwe(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof D)return D.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof se)return se.magnitude(t);throw new de(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function hwe(e,t){if(typeof t=="number")return 1;if(t instanceof D)return D.normalize(t,Fn.getCartesian2());if(t instanceof h)return h.normalize(t,Fn.getCartesian3());if(t instanceof se)return se.normalize(t,Fn.getCartesian4());throw new de(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function fwe(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof D&&n instanceof D)return D.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof se&&n instanceof se)return se.distance(t,n);throw new de(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function pwe(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof D&&n instanceof D)return D.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof se&&n instanceof se)return se.dot(t,n);throw new de(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function bwe(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,Fn.getCartesian3());throw new de(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function Ct(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,Ewe(this)}function gwe(e,t){if(!l(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;l(o)&&(e=e.replace(i,o))}return e}function ywe(e){return e.replace(swe,awe)}function fz(e){return e.replace(cwe,"\\")}function xwe(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o=0&&r=0?new Ct(gt.VARIABLE_IN_STRING,e.value):new Ct(gt.LITERAL_STRING,fz(e.value))}function Twe(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(!l(c.callee)||c.callee.name!=="regExp")throw new de(`${o} is not a function.`);return i===0?o==="test"?new Ct(gt.LITERAL_BOOLEAN,!1):new Ct(gt.LITERAL_NULL,null):(s=Si(e,c),a=Si(e,n[0]),new Ct(gt.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=Si(e,c),new Ct(gt.FUNCTION_CALL,o,r);throw new de(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new Ct(gt.LITERAL_COLOR,o);if(r=Si(e,n[0]),l(n[1])){let c=Si(e,n[1]);return new Ct(gt.LITERAL_COLOR,o,[r,c])}return new Ct(gt.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new de(`${o} requires three arguments.`);return r=[Si(e,n[0]),Si(e,n[1]),Si(e,n[2])],new Ct(gt.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new de(`${o} requires four arguments.`);return r=[Si(e,n[0]),Si(e,n[1]),Si(e,n[2]),Si(e,n[3])],new Ct(gt.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c1)throw new de(`${o} requires exactly one argument.`);return r=Si(e,n[0]),new Ct(gt.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new de(`${o} does not take any argument.`);return new Ct(gt.UNARY,o)}else if(l(l5[o])){if(i!==1)throw new de(`${o} requires exactly one argument.`);return r=Si(e,n[0]),new Ct(gt.UNARY,o,r)}else if(l(d5[o])){if(i!==2)throw new de(`${o} requires exactly two arguments.`);return s=Si(e,n[0]),a=Si(e,n[1]),new Ct(gt.BINARY,o,s,a)}else if(l(pz[o])){if(i!==3)throw new de(`${o} requires exactly three arguments.`);s=Si(e,n[0]),a=Si(e,n[1]);let c=Si(e,n[2]);return new Ct(gt.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new Ct(gt.LITERAL_BOOLEAN,!1):(r=Si(e,n[0]),new Ct(gt.UNARY,o,r));if(o==="Number")return i===0?new Ct(gt.LITERAL_NUMBER,0):(r=Si(e,n[0]),new Ct(gt.UNARY,o,r));if(o==="String")return i===0?new Ct(gt.LITERAL_STRING,""):(r=Si(e,n[0]),new Ct(gt.UNARY,o,r));if(o==="regExp")return Swe(e,t)}}throw new de(`Unexpected function call "${o}".`)}function Swe(e,t){let n=t.arguments;if(n.length===0)return new Ct(gt.LITERAL_REGEX,new RegExp);let i=Si(e,n[0]),o;if(n.length>1){let r=Si(e,n[1]);if(hz(i)&&hz(r)){try{o=new RegExp(fz(String(i._value)),r._value)}catch(s){throw new de(s)}return new Ct(gt.LITERAL_REGEX,o)}return new Ct(gt.REGEX,i,r)}if(hz(i)){try{o=new RegExp(fz(String(i._value)))}catch(r){throw new de(r)}return new Ct(gt.LITERAL_REGEX,o)}return new Ct(gt.REGEX,i)}function Cwe(e){if(Zwe(e.name)){let t=Gwe(e.name);return t.substr(0,8)==="tiles3d_"?new Ct(gt.BUILTIN_VARIABLE,t):new Ct(gt.VARIABLE,t)}else{if(e.name==="NaN")return new Ct(gt.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new Ct(gt.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new Ct(gt.LITERAL_UNDEFINED,void 0)}throw new de(`${e.name} is not defined.`)}function Vwe(e){let t=e.property.name;if(t==="PI")return new Ct(gt.LITERAL_NUMBER,Math.PI);if(t==="E")return new Ct(gt.LITERAL_NUMBER,Math.E)}function Lwe(e){if(e.property.name==="POSITIVE_INFINITY")return new Ct(gt.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function Rwe(e,t){if(t.object.name==="Math")return Vwe(t);if(t.object.name==="Number")return Lwe(t);let n,i=Si(e,t.object);return t.computed?(n=Si(e,t.property),new Ct(gt.MEMBER,"brackets",i,n)):(n=new Ct(gt.LITERAL_STRING,t.property.name),new Ct(gt.MEMBER,"dot",i,n))}function hz(e){return e._type>=gt.LITERAL_NULL}function Zwe(e){return e.substr(0,4)==="czm_"}function Gwe(e){return e.substr(4)}function Si(e,t){let n,i,o,r;if(t.type==="Literal")n=_we(t);else if(t.type==="CallExpression")n=Twe(e,t);else if(t.type==="Identifier")n=Cwe(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=Si(e,t.argument);if(rwe.indexOf(i)>-1)n=new Ct(gt.UNARY,i,s);else throw new de(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=Si(e,t.left),r=Si(e,t.right),$ie.indexOf(i)>-1)n=new Ct(gt.BINARY,i,o,r);else throw new de(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=Si(e,t.left),r=Si(e,t.right),$ie.indexOf(i)>-1&&(n=new Ct(gt.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=Si(e,t.test);o=Si(e,t.consequent),r=Si(e,t.alternate),n=new Ct(gt.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=Rwe(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:l(d5[e._value])&&(e.evaluate=Wwe(e._value)):e._type===gt.TERNARY?e.evaluate=Pwe(e._value):e._type===gt.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===gt.ARRAY?e.evaluate=e._evaluateArray:e._type===gt.VARIABLE?e.evaluate=e._evaluateVariable:e._type===gt.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===gt.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===gt.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===gt.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===gt.REGEX?e.evaluate=e._evaluateRegExp:e._type===gt.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=Iwe):e.evaluate=e._evaluateLiteral}function Iwe(e){return l(e)?e.content.tileset.timeSinceLoad:0}function Xwe(e){let t=l5[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function Wwe(e){let t=d5[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function Pwe(e){let t=pz[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function u5(e,t){if(l(e))return e.getPropertyInherited(t)}Ct.prototype._evaluateLiteral=function(){return this._value};Ct.prototype._evaluateLiteralColor=function(e){let t=c5,n=this._left;if(this._value==="color")l(n)?n.length>1?(B.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):B.fromCssColorString(n[0].evaluate(e),t):B.fromBytes(255,255,255,255,t);else if(this._value==="rgb")B.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;B.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?B.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&B.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return se.fromColor(t,Fn.getCartesian4())};Ct.prototype._evaluateLiteralVector=function(e){let t=Fn.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a1)throw new de(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new de(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return D.fromArray(t,0,Fn.getCartesian2());if(n==="vec3")return h.fromArray(t,0,Fn.getCartesian3());if(n==="vec4")return se.fromArray(t,0,Fn.getCartesian4())};Ct.prototype._evaluateLiteralString=function(){return this._value};Ct.prototype._evaluateVariableString=function(e){let t=this._value,n=a5.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=u5(e,o);l(r)||(r=""),t=t.replace(i,r),n=a5.exec(t)}return t};Ct.prototype._evaluateVariable=function(e){return u5(e,this._value)};function Kx(e){return e._value==="feature"}Ct.prototype._evaluateMemberDot=function(e){if(Kx(this._left))return u5(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof D||t instanceof h||t instanceof se){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};Ct.prototype._evaluateMemberBrackets=function(e){if(Kx(this._left))return u5(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof D||t instanceof h||t instanceof se){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};Ct.prototype._evaluateArray=function(e){let t=[];for(let n=0;n" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};Ct.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new de(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};Ct.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new de(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new de(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};Ct.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new de(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new de(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};Ct.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.add(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,Fn.getCartesian3());if(n instanceof se&&t instanceof se)return se.add(t,n,Fn.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new de(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.subtract(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,Fn.getCartesian3());if(n instanceof se&&t instanceof se)return se.subtract(t,n,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new de(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.multiplyComponents(t,n,Fn.getCartesian2());if(n instanceof D&&typeof t=="number")return D.multiplyByScalar(n,t,Fn.getCartesian2());if(t instanceof D&&typeof n=="number")return D.multiplyByScalar(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,Fn.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,Fn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,Fn.getCartesian3());if(n instanceof se&&t instanceof se)return se.multiplyComponents(t,n,Fn.getCartesian4());if(n instanceof se&&typeof t=="number")return se.multiplyByScalar(n,t,Fn.getCartesian4());if(t instanceof se&&typeof n=="number")return se.multiplyByScalar(t,n,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new de(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.divideComponents(t,n,Fn.getCartesian2());if(t instanceof D&&typeof n=="number")return D.divideByScalar(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,Fn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,Fn.getCartesian3());if(n instanceof se&&t instanceof se)return se.divideComponents(t,n,Fn.getCartesian4());if(t instanceof se&&typeof n=="number")return se.divideByScalar(t,n,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new de(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.fromElements(t.x%n.x,t.y%n.y,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,Fn.getCartesian3());if(n instanceof se&&t instanceof se)return se.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new de(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof D&&t instanceof D||n instanceof h&&t instanceof h||n instanceof se&&t instanceof se?t.equals(n):t===n};Ct.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof D&&t instanceof D||n instanceof h&&t instanceof h||n instanceof se&&t instanceof se?!t.equals(n):t!==n};Ct.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new de(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};Ct.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};Ct.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};Ct.prototype._evaluateIsExactClass=function(e){return l(e)?e.isExactClass(this._left.evaluate(e)):!1};Ct.prototype._evaluateIsClass=function(e){return l(e)?e.isClass(this._left.evaluate(e)):!1};Ct.prototype._evaluateGetExactClassName=function(e){if(l(e))return e.getExactClassName()};Ct.prototype._evaluateBooleanConversion=function(e){return!!this._left.evaluate(e)};Ct.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};Ct.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};Ct.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";l(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new de(o)}return i};Ct.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new de(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};Ct.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new de(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new de(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new de(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return l(i)?i[1]:null};Ct.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof D||t instanceof h||t instanceof se)return String(t);throw new de(`Unexpected function call "${this._value}".`)};function toe(e){let t=e._left,n=t.length;for(let a=0;a1){let p=d[0],g=d[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${d[0]}, 1.0)`}else{if(c==="rgb")return i=noe(this),l(i)?s5(i):`vec4(${d[0]} / 255.0, ${d[1]} / 255.0, ${d[2]} / 255.0, 1.0)`;if(c==="rgba")return d[3]!=="1.0"&&(t.translucent=!0),i=noe(this),l(i)?s5(i):`vec4(${d[0]} / 255.0, ${d[1]} / 255.0, ${d[2]} / 255.0, ${d[3]})`;if(c==="hsl")return i=toe(this),l(i)?s5(i):`vec4(czm_HSLToRGB(vec3(${d[0]}, ${d[1]}, ${d[2]})), 1.0)`;if(c==="hsla")return i=toe(this),l(i)?(i.alpha!==1&&(t.translucent=!0),s5(i)):(d[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${d[0]}, ${d[1]}, ${d[2]})), ${d[3]})`)}break;case gt.LITERAL_VECTOR:u=o.length,m=`${c}(`;for(let p=0;p",">=","<","<=","&&","||","!~","=~"],h5=/\${(.*?)}/g,Swe=/\\/g,Cwe="@#%",Vwe=/@#%/g,f5=new B,p5={abs:Ys(Math.abs),sqrt:Ys(Math.sqrt),cos:Ys(Math.cos),sin:Ys(Math.sin),tan:Ys(Math.tan),acos:Ys(Math.acos),asin:Ys(Math.asin),atan:Ys(Math.atan),radians:Ys(W.toRadians),degrees:Ys(W.toDegrees),sign:Ys(W.sign),floor:Ys(Math.floor),ceil:Ys(Math.ceil),round:Ys(Math.round),exp:Ys(Math.exp),exp2:Ys(Rwe),log:Ys(Math.log),log2:Ys(Zwe),fract:Ys(Lwe),length:Gwe,normalize:Ewe},b5={atan2:u5(Math.atan2,!1),pow:u5(Math.pow,!1),min:u5(Math.min,!0),max:u5(Math.max,!0),distance:Iwe,dot:Xwe,cross:Wwe},CH={clamp:hoe(W.clamp,!0),mix:hoe(W.lerp,!0)};function Lwe(e){return e-Math.floor(e)}function Rwe(e){return Math.pow(2,e)}function Zwe(e){return W.log2(e)}function Ys(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof D)return D.fromElements(e(n.x),e(n.y),Fn.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),Fn.getCartesian3());if(n instanceof re)return re.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),Fn.getCartesian4());throw new ce(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function u5(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof D)return D.fromElements(e(i.x,o),e(i.y,o),Fn.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),Fn.getCartesian3());if(i instanceof re)return re.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),Fn.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof D&&o instanceof D)return D.fromElements(e(i.x,o.x),e(i.y,o.y),Fn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),Fn.getCartesian3());if(i instanceof re&&o instanceof re)return re.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),Fn.getCartesian4());throw new ce(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function hoe(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof D&&o instanceof D)return D.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),Fn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),Fn.getCartesian3());if(i instanceof re&&o instanceof re)return re.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),Fn.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof D&&o instanceof D&&r instanceof D)return D.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),Fn.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),Fn.getCartesian3());if(i instanceof re&&o instanceof re&&r instanceof re)return re.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),Fn.getCartesian4());throw new ce(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function Gwe(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof D)return D.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof re)return re.magnitude(t);throw new ce(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function Ewe(e,t){if(typeof t=="number")return 1;if(t instanceof D)return D.normalize(t,Fn.getCartesian2());if(t instanceof h)return h.normalize(t,Fn.getCartesian3());if(t instanceof re)return re.normalize(t,Fn.getCartesian4());throw new ce(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function Iwe(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof D&&n instanceof D)return D.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof re&&n instanceof re)return re.distance(t,n);throw new ce(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function Xwe(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof D&&n instanceof D)return D.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof re&&n instanceof re)return re.dot(t,n);throw new ce(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function Wwe(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,Fn.getCartesian3());throw new ce(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function Rt(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,Ywe(this)}function Pwe(e,t){if(!l(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;l(o)&&(e=e.replace(i,o))}return e}function vwe(e){return e.replace(Swe,Cwe)}function SH(e){return e.replace(Vwe,"\\")}function wwe(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o=0&&r=0?new Rt(yt.VARIABLE_IN_STRING,e.value):new Rt(yt.LITERAL_STRING,SH(e.value))}function Awe(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(!l(c.callee)||c.callee.name!=="regExp")throw new ce(`${o} is not a function.`);return i===0?o==="test"?new Rt(yt.LITERAL_BOOLEAN,!1):new Rt(yt.LITERAL_NULL,null):(s=Li(e,c),a=Li(e,n[0]),new Rt(yt.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=Li(e,c),new Rt(yt.FUNCTION_CALL,o,r);throw new ce(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new Rt(yt.LITERAL_COLOR,o);if(r=Li(e,n[0]),l(n[1])){let c=Li(e,n[1]);return new Rt(yt.LITERAL_COLOR,o,[r,c])}return new Rt(yt.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new ce(`${o} requires three arguments.`);return r=[Li(e,n[0]),Li(e,n[1]),Li(e,n[2])],new Rt(yt.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new ce(`${o} requires four arguments.`);return r=[Li(e,n[0]),Li(e,n[1]),Li(e,n[2]),Li(e,n[3])],new Rt(yt.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c1)throw new ce(`${o} requires exactly one argument.`);return r=Li(e,n[0]),new Rt(yt.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new ce(`${o} does not take any argument.`);return new Rt(yt.UNARY,o)}else if(l(p5[o])){if(i!==1)throw new ce(`${o} requires exactly one argument.`);return r=Li(e,n[0]),new Rt(yt.UNARY,o,r)}else if(l(b5[o])){if(i!==2)throw new ce(`${o} requires exactly two arguments.`);return s=Li(e,n[0]),a=Li(e,n[1]),new Rt(yt.BINARY,o,s,a)}else if(l(CH[o])){if(i!==3)throw new ce(`${o} requires exactly three arguments.`);s=Li(e,n[0]),a=Li(e,n[1]);let c=Li(e,n[2]);return new Rt(yt.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new Rt(yt.LITERAL_BOOLEAN,!1):(r=Li(e,n[0]),new Rt(yt.UNARY,o,r));if(o==="Number")return i===0?new Rt(yt.LITERAL_NUMBER,0):(r=Li(e,n[0]),new Rt(yt.UNARY,o,r));if(o==="String")return i===0?new Rt(yt.LITERAL_STRING,""):(r=Li(e,n[0]),new Rt(yt.UNARY,o,r));if(o==="regExp")return Mwe(e,t)}}throw new ce(`Unexpected function call "${o}".`)}function Mwe(e,t){let n=t.arguments;if(n.length===0)return new Rt(yt.LITERAL_REGEX,new RegExp);let i=Li(e,n[0]),o;if(n.length>1){let r=Li(e,n[1]);if(TH(i)&&TH(r)){try{o=new RegExp(SH(String(i._value)),r._value)}catch(s){throw new ce(s)}return new Rt(yt.LITERAL_REGEX,o)}return new Rt(yt.REGEX,i,r)}if(TH(i)){try{o=new RegExp(SH(String(i._value)))}catch(r){throw new ce(r)}return new Rt(yt.LITERAL_REGEX,o)}return new Rt(yt.REGEX,i)}function Nwe(e){if(Bwe(e.name)){let t=Owe(e.name);return t.substr(0,8)==="tiles3d_"?new Rt(yt.BUILTIN_VARIABLE,t):new Rt(yt.VARIABLE,t)}else{if(e.name==="NaN")return new Rt(yt.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new Rt(yt.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new Rt(yt.LITERAL_UNDEFINED,void 0)}throw new ce(`${e.name} is not defined.`)}function kwe(e){let t=e.property.name;if(t==="PI")return new Rt(yt.LITERAL_NUMBER,Math.PI);if(t==="E")return new Rt(yt.LITERAL_NUMBER,Math.E)}function Uwe(e){if(e.property.name==="POSITIVE_INFINITY")return new Rt(yt.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function Dwe(e,t){if(t.object.name==="Math")return kwe(t);if(t.object.name==="Number")return Uwe(t);let n,i=Li(e,t.object);return t.computed?(n=Li(e,t.property),new Rt(yt.MEMBER,"brackets",i,n)):(n=new Rt(yt.LITERAL_STRING,t.property.name),new Rt(yt.MEMBER,"dot",i,n))}function TH(e){return e._type>=yt.LITERAL_NULL}function Bwe(e){return e.substr(0,4)==="czm_"}function Owe(e){return e.substr(4)}function Li(e,t){let n,i,o,r;if(t.type==="Literal")n=Fwe(t);else if(t.type==="CallExpression")n=Awe(e,t);else if(t.type==="Identifier")n=Nwe(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=Li(e,t.argument);if(Twe.indexOf(i)>-1)n=new Rt(yt.UNARY,i,s);else throw new ce(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=Li(e,t.left),r=Li(e,t.right),moe.indexOf(i)>-1)n=new Rt(yt.BINARY,i,o,r);else throw new ce(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=Li(e,t.left),r=Li(e,t.right),moe.indexOf(i)>-1&&(n=new Rt(yt.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=Li(e,t.test);o=Li(e,t.consequent),r=Li(e,t.alternate),n=new Rt(yt.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=Dwe(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:l(b5[e._value])&&(e.evaluate=Kwe(e._value)):e._type===yt.TERNARY?e.evaluate=Jwe(e._value):e._type===yt.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===yt.ARRAY?e.evaluate=e._evaluateArray:e._type===yt.VARIABLE?e.evaluate=e._evaluateVariable:e._type===yt.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===yt.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===yt.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===yt.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===yt.REGEX?e.evaluate=e._evaluateRegExp:e._type===yt.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=Hwe):e.evaluate=e._evaluateLiteral}function Hwe(e){return l(e)?e.content.tileset.timeSinceLoad:0}function zwe(e){let t=p5[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function Kwe(e){let t=b5[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function Jwe(e){let t=CH[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function g5(e,t){if(l(e))return e.getPropertyInherited(t)}Rt.prototype._evaluateLiteral=function(){return this._value};Rt.prototype._evaluateLiteralColor=function(e){let t=f5,n=this._left;if(this._value==="color")l(n)?n.length>1?(B.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):B.fromCssColorString(n[0].evaluate(e),t):B.fromBytes(255,255,255,255,t);else if(this._value==="rgb")B.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;B.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?B.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&B.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return re.fromColor(t,Fn.getCartesian4())};Rt.prototype._evaluateLiteralVector=function(e){let t=Fn.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a1)throw new ce(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new ce(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return D.fromArray(t,0,Fn.getCartesian2());if(n==="vec3")return h.fromArray(t,0,Fn.getCartesian3());if(n==="vec4")return re.fromArray(t,0,Fn.getCartesian4())};Rt.prototype._evaluateLiteralString=function(){return this._value};Rt.prototype._evaluateVariableString=function(e){let t=this._value,n=h5.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=g5(e,o);l(r)||(r=""),t=t.replace(i,r),n=h5.exec(t)}return t};Rt.prototype._evaluateVariable=function(e){return g5(e,this._value)};function o_(e){return e._value==="feature"}Rt.prototype._evaluateMemberDot=function(e){if(o_(this._left))return g5(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof D||t instanceof h||t instanceof re){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};Rt.prototype._evaluateMemberBrackets=function(e){if(o_(this._left))return g5(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof D||t instanceof h||t instanceof re){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};Rt.prototype._evaluateArray=function(e){let t=[];for(let n=0;n" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};Rt.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};Rt.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ce(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};Rt.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ce(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};Rt.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.add(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,Fn.getCartesian3());if(n instanceof re&&t instanceof re)return re.add(t,n,Fn.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new ce(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};Rt.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.subtract(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,Fn.getCartesian3());if(n instanceof re&&t instanceof re)return re.subtract(t,n,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new ce(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Rt.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.multiplyComponents(t,n,Fn.getCartesian2());if(n instanceof D&&typeof t=="number")return D.multiplyByScalar(n,t,Fn.getCartesian2());if(t instanceof D&&typeof n=="number")return D.multiplyByScalar(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,Fn.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,Fn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,Fn.getCartesian3());if(n instanceof re&&t instanceof re)return re.multiplyComponents(t,n,Fn.getCartesian4());if(n instanceof re&&typeof t=="number")return re.multiplyByScalar(n,t,Fn.getCartesian4());if(t instanceof re&&typeof n=="number")return re.multiplyByScalar(t,n,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new ce(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};Rt.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.divideComponents(t,n,Fn.getCartesian2());if(t instanceof D&&typeof n=="number")return D.divideByScalar(t,n,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,Fn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,Fn.getCartesian3());if(n instanceof re&&t instanceof re)return re.divideComponents(t,n,Fn.getCartesian4());if(t instanceof re&&typeof n=="number")return re.divideByScalar(t,n,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new ce(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};Rt.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof D&&t instanceof D)return D.fromElements(t.x%n.x,t.y%n.y,Fn.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,Fn.getCartesian3());if(n instanceof re&&t instanceof re)return re.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,Fn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new ce(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Rt.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof D&&t instanceof D||n instanceof h&&t instanceof h||n instanceof re&&t instanceof re?t.equals(n):t===n};Rt.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof D&&t instanceof D||n instanceof h&&t instanceof h||n instanceof re&&t instanceof re?!t.equals(n):t!==n};Rt.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new ce(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};Rt.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};Rt.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};Rt.prototype._evaluateIsExactClass=function(e){return l(e)?e.isExactClass(this._left.evaluate(e)):!1};Rt.prototype._evaluateIsClass=function(e){return l(e)?e.isClass(this._left.evaluate(e)):!1};Rt.prototype._evaluateGetExactClassName=function(e){if(l(e))return e.getExactClassName()};Rt.prototype._evaluateBooleanConversion=function(e){return!!this._left.evaluate(e)};Rt.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};Rt.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};Rt.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";l(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new ce(o)}return i};Rt.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ce(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};Rt.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new ce(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Rt.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new ce(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Rt.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ce(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return l(i)?i[1]:null};Rt.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof D||t instanceof h||t instanceof re)return String(t);throw new ce(`Unexpected function call "${this._value}".`)};function foe(e){let t=e._left,n=t.length;for(let a=0;a1){let p=d[0],g=d[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${d[0]}, 1.0)`}else{if(c==="rgb")return i=poe(this),l(i)?m5(i):`vec4(${d[0]} / 255.0, ${d[1]} / 255.0, ${d[2]} / 255.0, 1.0)`;if(c==="rgba")return d[3]!=="1.0"&&(t.translucent=!0),i=poe(this),l(i)?m5(i):`vec4(${d[0]} / 255.0, ${d[1]} / 255.0, ${d[2]} / 255.0, ${d[3]})`;if(c==="hsl")return i=foe(this),l(i)?m5(i):`vec4(czm_HSLToRGB(vec3(${d[0]}, ${d[1]}, ${d[2]})), 1.0)`;if(c==="hsla")return i=foe(this),l(i)?(i.alpha!==1&&(t.translucent=!0),m5(i)):(d[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${d[0]}, ${d[1]}, ${d[2]})), ${d[3]})`)}break;case yt.LITERAL_VECTOR:u=o.length,m=`${c}(`;for(let p=0;p0;){let u=t.pop();if(B.equals(u.color,a.color))d=bz(n,s,d,i,o,u.batchIds,r),a.batchIds=a.batchIds.concat(u.batchIds),a.count=d-a.offset;else{let m=d;d=bz(n,s,d,i,o,u.batchIds,r),u.offset=m,u.count=d-m,c.push(u),a=u}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function gz(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let d=0;d0;){let m=t.pop();if(B.equals(m.color,r.color))d=gz(a,c,d,n,i,m.batchIds,o),r.batchIds=r.batchIds.concat(m.batchIds),r.count=d-r.offset;else{let p=d;d=gz(a,c,d,n,i,m.batchIds,o),m.offset=p,m.count=d-p,s.push(m),r=m}}let u=e._va;e._va=e._vaSwap,e._vaSwap=u,e._batchedIndices=s}function Owe(e,t){return t.color.toRgba()-e.color.toRgba()}function Ywe(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s=x&&s{e.isDestroyed()||(e._error=f)}):void 0}}function aFe(e){l(e._primitive)||(e._primitive=new Qx({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}pd.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};pd.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};pd.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};pd.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};pd.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=sFe(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};pd.prototype.isDestroyed=function(){return!1};pd.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};var Op=pd;function cf(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,dFe(this,i,o)}Object.defineProperties(cf.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return l(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function cFe(e){return function(t,n){l(e._geometries)&&e._geometries.updateCommands(t,n)}}function lFe(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),d=y(e.ELLIPSOIDS_LENGTH,0),u=y(e.SPHERES_LENGTH,0);if(a>0&&l(e.BOX_BATCH_IDS)){let f=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,f,a)}if(c>0&&l(e.CYLINDER_BATCH_IDS)){let f=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,f,c)}if(d>0&&l(e.ELLIPSOID_BATCH_IDS)){let f=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,f,d)}if(u>0&&l(e.SPHERE_BATCH_IDS)){let f=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,f,u)}let m=l(n)||l(i)||l(o)||l(r),p=a>0&&!l(n)||c>0&&!l(i)||d>0&&!l(o)||u>0&&!l(r);if(m&&p)throw new de("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)&&!l(r)){let f=0;if(!l(n)&&a>0)for(n=new Uint16Array(a),s=0;s0)for(i=new Uint16Array(c),s=0;s0)for(o=new Uint16Array(d),s=0;s0)for(r=new Uint16Array(u),s=0;s0&&(g=Xo(i,n,d),n+=d,u>0&&(f=new Uint8Array(t,n,u),f=new Uint8Array(f)));let x=y(m.BOXES_LENGTH,0),_=y(m.CYLINDERS_LENGTH,0),C=y(m.ELLIPSOIDS_LENGTH,0),V=y(m.SPHERES_LENGTH,0),L=x+_+C+V,Z=new Dp(e,L,g,f,cFe(e));if(e._batchTable=Z,L===0)return;let G=e.tile.computedTransform,I;l(m.RTC_CENTER)&&(I=h.unpack(m.RTC_CENTER),M.multiplyByPoint(G,I,I));let v=lFe(m,p);if(x>0||_>0||C>0||V>0){let P,w,F,b;if(x>0){let R=p.byteOffset+m.BOXES.byteOffset;P=new Float32Array(p.buffer,R,Op.packedBoxLength*x)}if(_>0){let R=p.byteOffset+m.CYLINDERS.byteOffset;w=new Float32Array(p.buffer,R,Op.packedCylinderLength*_)}if(C>0){let R=p.byteOffset+m.ELLIPSOIDS.byteOffset;F=new Float32Array(p.buffer,R,Op.packedEllipsoidLength*C)}if(V>0){let R=p.byteOffset+m.SPHERES.byteOffset;b=new Float32Array(p.buffer,R,Op.packedSphereLength*V)}return e._geometries=new Op({boxes:P,boxBatchIds:v.boxes,cylinders:w,cylinderBatchIds:v.cylinders,ellipsoids:F,ellipsoidBatchIds:v.ellipsoids,spheres:b,sphereBatchIds:v.spheres,center:I,modelMatrix:G,batchTable:Z,boundingVolume:e.tile.boundingVolume.boundingVolume}),e}return Promise.resolve(e)}function coe(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}cf.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};cf.prototype.getFeature=function(e){return coe(this),this._features[e]};cf.prototype.applyDebugSettings=function(e,t){l(this._geometries)&&this._geometries.applyDebugSettings(e,t)};cf.prototype.applyStyle=function(e){coe(this),l(this._geometries)&&this._geometries.applyStyle(e,this._features)};cf.prototype.update=function(e,t){l(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),l(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(e,t),this._ready=!0)};cf.prototype.pick=function(e,t,n){};cf.prototype.isDestroyed=function(){return!1};cf.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),me(this)};var EI=cf;var khn=T(S(),1);var crn=T(S(),1);var yz={};yz.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),loe(i,o,r,s);return c};yz.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s>>0,xz=2*qx+1,qb=4,moe=[],hoe=[],hFe=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],$b=1,yC=2,m5=[$b,0,0,$b|yC];function Kr(e){if(!zt.supportsBigInt())throw new de("S2 required BigInt support");this._cellId=e,this._level=Kr.getLevel(e)}Kr.fromToken=function(e){return new Kr(Kr.getIdFromToken(e))};Kr.isValidId=function(e){return!(e<=0||e>>BigInt(xz)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};Kr.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?Kr.isValidId(Kr.getIdFromToken(e)):!1};Kr.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};Kr.getTokenFromId=function(e){let t=Math.floor(CFe(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};Kr.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return qx-(t>>1)};Kr.prototype.getChild=function(e){let t=boe(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new Kr(n)};Kr.prototype.getParent=function(){let e=boe(this._cellId)<>1&1;return poe(i[0],o[0][r^n&1],o[1][r])}function bFe(e,t){let n=foe(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,d=(o<<1)+c,u=(r<<1)+c;return[i,d,u]}function foe(e){moe.length===0&&_Fe();let t=Number(e>>BigInt(xz)),n=t&$b,i=(1<=0;s--){let c=(1<<2*(s===7?qx-7*qb:qb))-1;n+=Number(e>>BigInt(s*2*qb+1)&BigInt(c))<<2,n=hoe[n];let d=s*qb;o+=n>>qb+2<>2&i)<=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function doe(e){return 1/mFe*e}function yFe(e,t){let n=[[],[]],i=xFe(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=h5(uoe(r)),n[o][1]=h5(uoe(s))}return n}function xFe(e){return 1<>>0}function uoe(e){return 1/uFe*e}function eg(e,t,n,i,o,r){if(e===qb){let s=(t<>1),n+(s[0]&1),i,o,r^m5[0]),eg(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^m5[1]),eg(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^m5[2]),eg(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^m5[3])}}function _Fe(){eg(0,0,0,0,0,0),eg(0,0,0,$b,0,$b),eg(0,0,0,yC,0,yC),eg(0,0,0,$b|yC,0,$b|yC)}function boe(e){return e&~e+BigInt(1)}function TFe(e){return BigInt(1)<>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(_z.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});_z.prototype.getBit=function(e){if(l(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var xC=_z;var Zrn=T(S(),1);function zp(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(zp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});zp.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};zp.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};zp.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};zp.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};zp.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};zp.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};zp.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var _C=zp;var Ern=T(S(),1);var f5={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};f5.getBranchingFactor=function(e){switch(e){case f5.OCTREE:return 8;case f5.QUADTREE:return 4}};var Jr=Object.freeze(f5);var Nrn=T(S(),1);var vrn=T(S(),1);function ua(){}Object.defineProperties(ua.prototype,{class:{get:function(){fe.throwInstantiationError()}}});ua.prototype.hasProperty=function(e){fe.throwInstantiationError()};ua.prototype.hasPropertyBySemantic=function(e){fe.throwInstantiationError()};ua.prototype.getPropertyIds=function(e){fe.throwInstantiationError()};ua.prototype.getProperty=function(e){fe.throwInstantiationError()};ua.prototype.setProperty=function(e,t){fe.throwInstantiationError()};ua.prototype.getPropertyBySemantic=function(e){fe.throwInstantiationError()};ua.prototype.setPropertyBySemantic=function(e,t){fe.throwInstantiationError()};ua.hasProperty=function(e,t,n){if(l(t[e]))return!0;let i=n.properties;if(!l(i))return!1;let o=i[e];return!!(l(o)&&l(o.default))};ua.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return!1;let o=i[e];return l(o)};ua.getPropertyIds=function(e,t,n){n=l(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&l(e[o])&&n.push(o);let i=t.properties;if(l(i))for(let o in i)i.hasOwnProperty(o)&&!l(e[o])&&l(i[o].default)&&n.push(o);return n};ua.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!l(o)&&l(i.default))return o=ze(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(l(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};ua.setProperty=function(e,t,n,i){if(!l(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;return l(r)&&(o=r[e]),l(o)&&(t=o.packVectorAndMatrixTypes(t,!0),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};ua.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return;let o=i[e];if(l(o))return ua.getProperty(o.id,t,n)};ua.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!l(o))return!1;let r=i.propertiesBySemantic[e];return l(r)?ua.setProperty(r.id,t,n,i):!1};var Nn=ua;function Hp(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Hp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Hp.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};Hp.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};Hp.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};Hp.prototype.getProperty=function(e){return Nn.getProperty(e,this._properties,this._class)};Hp.prototype.setProperty=function(e,t){return Nn.setProperty(e,t,this._properties,this._class)};Hp.prototype.getPropertyBySemantic=function(e){return Nn.getPropertyBySemantic(e,this._properties,this._class)};Hp.prototype.setPropertyBySemantic=function(e,t){return Nn.setPropertyBySemantic(e,t,this._properties,this._class)};var II=Hp;var Isn=T(S(),1);var Csn=T(S(),1);var Orn=T(S(),1);var At={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};At.getMinimum=function(e){switch(e){case At.INT8:return-128;case At.UINT8:return 0;case At.INT16:return-32768;case At.UINT16:return 0;case At.INT32:return-2147483648;case At.UINT32:return 0;case At.INT64:return zt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case At.UINT64:return zt.supportsBigInt()?BigInt(0):0;case At.FLOAT32:return-34028234663852886e22;case At.FLOAT64:return-Number.MAX_VALUE}};At.getMaximum=function(e){switch(e){case At.INT8:return 127;case At.UINT8:return 255;case At.INT16:return 32767;case At.UINT16:return 65535;case At.INT32:return 2147483647;case At.UINT32:return 4294967295;case At.INT64:return zt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case At.UINT64:return zt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case At.FLOAT32:return 34028234663852886e22;case At.FLOAT64:return Number.MAX_VALUE}};At.isIntegerType=function(e){switch(e){case At.INT8:case At.UINT8:case At.INT16:case At.UINT16:case At.INT32:case At.UINT32:case At.INT64:case At.UINT64:return!0;default:return!1}};At.isUnsignedIntegerType=function(e){switch(e){case At.UINT8:case At.UINT16:case At.UINT32:case At.UINT64:return!0;default:return!1}};At.isVectorCompatible=function(e){switch(e){case At.INT8:case At.UINT8:case At.INT16:case At.UINT16:case At.INT32:case At.UINT32:case At.FLOAT32:case At.FLOAT64:return!0;default:return!1}};At.normalize=function(e,t){return Math.max(Number(e)/Number(At.getMaximum(t)),-1)};At.unnormalize=function(e,t){let n=At.getMaximum(t),i=At.isUnsignedIntegerType(t)?0:-n;return e=W.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===At.INT64||t===At.UINT64)&&zt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};Aa.prototype.handleNoData=function(e){let t=this._noData;if(!l(t))return e;if(!_oe(e,t))return e};function _oe(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n1;return l(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};Aa.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=Lt.getMathType(this._type),i=this._isArray,o=Lt.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};Aa.prototype.validate=function(e){if(!(!l(e)&&l(this._default)))return this._required&&!l(e)?"required property must have a value":this._isArray?GFe(this,e):Toe(this,e)};function GFe(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i1?goe(e,t,n):void 0}if(eYt.getMaximum(t))return goe(e,t,n)}function xoe(e,t){return`value ${e} of type ${t} must be finite`}function Tz(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function NFe(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function UFe(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<0;){let u=t.pop();if(B.equals(u.color,a.color))d=VH(n,s,d,i,o,u.batchIds,r),a.batchIds=a.batchIds.concat(u.batchIds),a.count=d-a.offset;else{let m=d;d=VH(n,s,d,i,o,u.batchIds,r),u.offset=m,u.count=d-m,c.push(u),a=u}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function LH(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let d=0;d0;){let m=t.pop();if(B.equals(m.color,r.color))d=LH(a,c,d,n,i,m.batchIds,o),r.batchIds=r.batchIds.concat(m.batchIds),r.count=d-r.offset;else{let p=d;d=LH(a,c,d,n,i,m.batchIds,o),m.offset=p,m.count=d-p,s.push(m),r=m}}let u=e._va;e._va=e._vaSwap,e._vaSwap=u,e._batchedIndices=s}function sFe(e,t){return t.color.toRgba()-e.color.toRgba()}function aFe(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s=x&&s{e.isDestroyed()||(e._error=f)}):void 0}}function CFe(e){l(e._primitive)||(e._primitive=new s_({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}_d.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};_d.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};_d.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};_d.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};_d.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=SFe(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};_d.prototype.isDestroyed=function(){return!1};_d.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};var Jp=_d;function mf(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,RFe(this,i,o)}Object.defineProperties(mf.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return l(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function VFe(e){return function(t,n){l(e._geometries)&&e._geometries.updateCommands(t,n)}}function LFe(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),d=y(e.ELLIPSOIDS_LENGTH,0),u=y(e.SPHERES_LENGTH,0);if(a>0&&l(e.BOX_BATCH_IDS)){let f=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,f,a)}if(c>0&&l(e.CYLINDER_BATCH_IDS)){let f=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,f,c)}if(d>0&&l(e.ELLIPSOID_BATCH_IDS)){let f=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,f,d)}if(u>0&&l(e.SPHERE_BATCH_IDS)){let f=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,f,u)}let m=l(n)||l(i)||l(o)||l(r),p=a>0&&!l(n)||c>0&&!l(i)||d>0&&!l(o)||u>0&&!l(r);if(m&&p)throw new ce("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)&&!l(r)){let f=0;if(!l(n)&&a>0)for(n=new Uint16Array(a),s=0;s0)for(i=new Uint16Array(c),s=0;s0)for(o=new Uint16Array(d),s=0;s0)for(r=new Uint16Array(u),s=0;s0&&(g=Po(i,n,d),n+=d,u>0&&(f=new Uint8Array(t,n,u),f=new Uint8Array(f)));let x=y(m.BOXES_LENGTH,0),_=y(m.CYLINDERS_LENGTH,0),C=y(m.ELLIPSOIDS_LENGTH,0),V=y(m.SPHERES_LENGTH,0),L=x+_+C+V,Z=new zp(e,L,g,f,VFe(e));if(e._batchTable=Z,L===0)return;let G=e.tile.computedTransform,I;l(m.RTC_CENTER)&&(I=h.unpack(m.RTC_CENTER),M.multiplyByPoint(G,I,I));let v=LFe(m,p);if(x>0||_>0||C>0||V>0){let P,w,A,b;if(x>0){let R=p.byteOffset+m.BOXES.byteOffset;P=new Float32Array(p.buffer,R,Jp.packedBoxLength*x)}if(_>0){let R=p.byteOffset+m.CYLINDERS.byteOffset;w=new Float32Array(p.buffer,R,Jp.packedCylinderLength*_)}if(C>0){let R=p.byteOffset+m.ELLIPSOIDS.byteOffset;A=new Float32Array(p.buffer,R,Jp.packedEllipsoidLength*C)}if(V>0){let R=p.byteOffset+m.SPHERES.byteOffset;b=new Float32Array(p.buffer,R,Jp.packedSphereLength*V)}return e._geometries=new Jp({boxes:P,boxBatchIds:v.boxes,cylinders:w,cylinderBatchIds:v.cylinders,ellipsoids:A,ellipsoidBatchIds:v.ellipsoids,spheres:b,sphereBatchIds:v.spheres,center:I,modelMatrix:G,batchTable:Z,boundingVolume:e.tile.boundingVolume.boundingVolume}),e}return Promise.resolve(e)}function Toe(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}mf.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};mf.prototype.getFeature=function(e){return Toe(this),this._features[e]};mf.prototype.applyDebugSettings=function(e,t){l(this._geometries)&&this._geometries.applyDebugSettings(e,t)};mf.prototype.applyStyle=function(e){Toe(this),l(this._geometries)&&this._geometries.applyStyle(e,this._features)};mf.prototype.update=function(e,t){l(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),l(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(e,t),this._ready=!0)};mf.prototype.pick=function(e,t,n){};mf.prototype.isDestroyed=function(){return!1};mf.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),me(this)};var FI=mf;var kfn=T(S(),1);var osn=T(S(),1);var RH={};RH.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),Soe(i,o,r,s);return c};RH.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s>>0,ZH=2*c_+1,rg=4,Loe=[],Roe=[],EFe=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],sg=1,LC=2,y5=[sg,0,0,sg|LC];function es(e){if(!Yt.supportsBigInt())throw new ce("S2 required BigInt support");this._cellId=e,this._level=es.getLevel(e)}es.fromToken=function(e){return new es(es.getIdFromToken(e))};es.isValidId=function(e){return!(e<=0||e>>BigInt(ZH)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};es.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?es.isValidId(es.getIdFromToken(e)):!1};es.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};es.getTokenFromId=function(e){let t=Math.floor(NFe(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};es.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return c_-(t>>1)};es.prototype.getChild=function(e){let t=Eoe(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new es(n)};es.prototype.getParent=function(){let e=Eoe(this._cellId)<>1&1;return Goe(i[0],o[0][r^n&1],o[1][r])}function WFe(e,t){let n=Zoe(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,d=(o<<1)+c,u=(r<<1)+c;return[i,d,u]}function Zoe(e){Loe.length===0&&FFe();let t=Number(e>>BigInt(ZH)),n=t&sg,i=(1<=0;s--){let c=(1<<2*(s===7?c_-7*rg:rg))-1;n+=Number(e>>BigInt(s*2*rg+1)&BigInt(c))<<2,n=Roe[n];let d=s*rg;o+=n>>rg+2<>2&i)<=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function Coe(e){return 1/GFe*e}function vFe(e,t){let n=[[],[]],i=wFe(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=x5(Voe(r)),n[o][1]=x5(Voe(s))}return n}function wFe(e){return 1<>>0}function Voe(e){return 1/ZFe*e}function ag(e,t,n,i,o,r){if(e===rg){let s=(t<>1),n+(s[0]&1),i,o,r^y5[0]),ag(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^y5[1]),ag(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^y5[2]),ag(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^y5[3])}}function FFe(){ag(0,0,0,0,0,0),ag(0,0,0,sg,0,sg),ag(0,0,0,LC,0,LC),ag(0,0,0,sg|LC,0,sg|LC)}function Eoe(e){return e&~e+BigInt(1)}function AFe(e){return BigInt(1)<>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(GH.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});GH.prototype.getBit=function(e){if(l(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var RC=GH;var Csn=T(S(),1);function jp(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(jp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});jp.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};jp.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};jp.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};jp.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};jp.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};jp.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};jp.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var ZC=jp;var Lsn=T(S(),1);var _5={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};_5.getBranchingFactor=function(e){switch(e){case _5.OCTREE:return 8;case _5.QUADTREE:return 4}};var ts=Object.freeze(_5);var wsn=T(S(),1);var Isn=T(S(),1);function pa(){}Object.defineProperties(pa.prototype,{class:{get:function(){fe.throwInstantiationError()}}});pa.prototype.hasProperty=function(e){fe.throwInstantiationError()};pa.prototype.hasPropertyBySemantic=function(e){fe.throwInstantiationError()};pa.prototype.getPropertyIds=function(e){fe.throwInstantiationError()};pa.prototype.getProperty=function(e){fe.throwInstantiationError()};pa.prototype.setProperty=function(e,t){fe.throwInstantiationError()};pa.prototype.getPropertyBySemantic=function(e){fe.throwInstantiationError()};pa.prototype.setPropertyBySemantic=function(e,t){fe.throwInstantiationError()};pa.hasProperty=function(e,t,n){if(l(t[e]))return!0;let i=n.properties;if(!l(i))return!1;let o=i[e];return!!(l(o)&&l(o.default))};pa.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return!1;let o=i[e];return l(o)};pa.getPropertyIds=function(e,t,n){n=l(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&l(e[o])&&n.push(o);let i=t.properties;if(l(i))for(let o in i)i.hasOwnProperty(o)&&!l(e[o])&&l(i[o].default)&&n.push(o);return n};pa.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!l(o)&&l(i.default))return o=He(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(l(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};pa.setProperty=function(e,t,n,i){if(!l(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;return l(r)&&(o=r[e]),l(o)&&(t=o.packVectorAndMatrixTypes(t,!0),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};pa.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return;let o=i[e];if(l(o))return pa.getProperty(o.id,t,n)};pa.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!l(o))return!1;let r=i.propertiesBySemantic[e];return l(r)?pa.setProperty(r.id,t,n,i):!1};var kn=pa;function qp(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(qp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});qp.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};qp.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};qp.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};qp.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};qp.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};qp.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};qp.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var AI=qp;var Ran=T(S(),1);var xan=T(S(),1);var ksn=T(S(),1);var Mt={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};Mt.getMinimum=function(e){switch(e){case Mt.INT8:return-128;case Mt.UINT8:return 0;case Mt.INT16:return-32768;case Mt.UINT16:return 0;case Mt.INT32:return-2147483648;case Mt.UINT32:return 0;case Mt.INT64:return Yt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case Mt.UINT64:return Yt.supportsBigInt()?BigInt(0):0;case Mt.FLOAT32:return-34028234663852886e22;case Mt.FLOAT64:return-Number.MAX_VALUE}};Mt.getMaximum=function(e){switch(e){case Mt.INT8:return 127;case Mt.UINT8:return 255;case Mt.INT16:return 32767;case Mt.UINT16:return 65535;case Mt.INT32:return 2147483647;case Mt.UINT32:return 4294967295;case Mt.INT64:return Yt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case Mt.UINT64:return Yt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case Mt.FLOAT32:return 34028234663852886e22;case Mt.FLOAT64:return Number.MAX_VALUE}};Mt.isIntegerType=function(e){switch(e){case Mt.INT8:case Mt.UINT8:case Mt.INT16:case Mt.UINT16:case Mt.INT32:case Mt.UINT32:case Mt.INT64:case Mt.UINT64:return!0;default:return!1}};Mt.isUnsignedIntegerType=function(e){switch(e){case Mt.UINT8:case Mt.UINT16:case Mt.UINT32:case Mt.UINT64:return!0;default:return!1}};Mt.isVectorCompatible=function(e){switch(e){case Mt.INT8:case Mt.UINT8:case Mt.INT16:case Mt.UINT16:case Mt.INT32:case Mt.UINT32:case Mt.FLOAT32:case Mt.FLOAT64:return!0;default:return!1}};Mt.normalize=function(e,t){return Math.max(Number(e)/Number(Mt.getMaximum(t)),-1)};Mt.unnormalize=function(e,t){let n=Mt.getMaximum(t),i=Mt.isUnsignedIntegerType(t)?0:-n;return e=W.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===Mt.INT64||t===Mt.UINT64)&&Yt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};Ma.prototype.handleNoData=function(e){let t=this._noData;if(!l(t))return e;if(!Poe(e,t))return e};function Poe(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n1;return l(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};Ma.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=ft.getMathType(this._type),i=this._isArray,o=ft.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};Ma.prototype.validate=function(e){if(!(!l(e)&&l(this._default)))return this._required&&!l(e)?"required property must have a value":this._isArray?OFe(this,e):voe(this,e)};function OFe(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i1?Ioe(e,t,n):void 0}if(eUt.getMaximum(t))return Ioe(e,t,n)}function Woe(e,t){return`value ${e} of type ${t} must be finite`}function EH(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function tAe(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function iAe(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<96?_-97:_>64?_-39:_+4}for(var C=0,x=0;x=3),c(n.exports.meshopt_spatialSortRemap,g,g.length/f,f*4)},encodeVertexBuffer:function(g,f,x){r(x>0&&x<=256),r(x%4==0);var _=n.exports.meshopt_encodeVertexBufferBound(f,x);return d(n.exports.meshopt_encodeVertexBuffer,_,g,f,x)},encodeIndexBuffer:function(g,f,x){r(x==2||x==4),r(f%3==0);var _=m(g,x),C=n.exports.meshopt_encodeIndexBufferBound(f,u(_)+1);return d(n.exports.meshopt_encodeIndexBuffer,C,_,f,4)},encodeIndexSequence:function(g,f,x){r(x==2||x==4);var _=m(g,x),C=n.exports.meshopt_encodeIndexSequenceBound(f,u(_)+1);return d(n.exports.meshopt_encodeIndexSequence,C,_,f,4)},encodeGltfBuffer:function(g,f,x,_){var C={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(C[_]),C[_](g,f,x)},encodeFilterOct:function(g,f,x,_){return r(x==4||x==8),r(_>=1&&_<=16),p(n.exports.meshopt_encodeFilterOct,g,f,x,_,16)},encodeFilterQuat:function(g,f,x,_){return r(x==8),r(_>=4&&_<=16),p(n.exports.meshopt_encodeFilterQuat,g,f,x,_,16)},encodeFilterExp:function(g,f,x,_,C){r(x>0&&x%4==0),r(_>=1&&_<=24);var V={Separate:0,SharedVector:1,SharedComponent:2};return p(n.exports.meshopt_encodeFilterExp,g,f,x,_,x,C?V[C]:1)}}}();var Jsn=T(S()),Roe=function(){var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(n)?a(t):a(e),r,s=WebAssembly.instantiate(o,{}).then(function(C){r=C.instance,r.exports.__wasm_call_ctors()});function a(C){for(var V=new Uint8Array(C.length),L=0;L96?Z-97:Z>64?Z-39:Z+4}for(var G=0,L=0;L0?x(C,V,L,u[Z],d[G]):s.then(function(){var I=new Uint8Array(C*V);return c(r,r.exports[u[Z]],I,C,V,L,r.exports[d[G]]),I})}}}();var qsn=T(S()),Qsn=function(){var e="b9H79Tebbbe9Hk9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gvuuuuue999Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuecj;jekr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdmxq:f97sdbk:39si8Au8A99zu8Jjjjjbc;W;ab9Rgs8Kjjjjbcbhzascxfcbc;Kbz:ljjjb8AdnabaeSmbabaeadcdtz:kjjjb8AkdndnamcdGmbcbhHxekasalcrfci4gecbyd;S1jjbHjjjjbbgOBdxasceBd2aOcbaez:ljjjbhAcbhlcbhednadTmbcbhlabheadhOinaAaeydbgCci4fgXaXRbbgXceaCcrGgCtV86bbaXcu7aC4ceGalfhlaeclfheaOcufgOmbkcualcdtalcFFFFi0Ehekasaecbyd;S1jjbHjjjjbbgHBdzascdBd2alcd4alfhCcehOinaOgecethOaeaC6mbkcdhzcbhQascuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbgCBdCasciBd2aCcFeaOz:ljjjbhLdnadTmbaecufhXcbhKinabaQcdtfgYydbgAc:v;t;h;Ev2hCcbhedndninaLaCaXGgCcdtfg8AydbgOcuSmeaHaOcdtfydbaASmdaecefgeaCfhCaeaX9nmbxdkkaHaKcdtfaABdba8AaKBdbaKhOaKcefhKkaYaOBdbaQcefgQad9hmbkkaLcbyd;O1jjbH:bjjjbbascdBd2kascxfazcdtfcualcefgecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbgEBdbasaEBdlasazceVgeBd2ascxfaecdtfcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbg3Bdbasa3BdwasazcdfgeBd2asclfabadalcbz:cjjjbascxfaecdtfcualcdtg5alcFFFFi0Eg8Ecbyd;S1jjbHjjjjbbgOBdbasazcifgeBd2ascxfaecdtfa8Ecbyd;S1jjbHjjjjbbg8FBdbasazclVgaBd2alcd4alfhXcehCinaCgecethCaeaX6mbkcbhKascxfaacdtfghcuaecdtgCaecFFFFi0Ecbyd;S1jjbHjjjjbbgXBdbasazcvVggBd2aXcFeaCz:ljjjbhQdnalTmbavcd4hAaecufhCinaKhednaHTmbaHaKcdtfydbhekaiaeaA2cdtfgeydlgXcH4aX7c:F:b:DD2aeydbgXcH4aX7c;D;O:B8J27aeydwgecH4ae7c:3F;N8N27aCGheaKcdth8JdndndndndnaHTmbaHa8JfhYcbhXinaQaecdtfgLydbg8AcuSmlaiaHa8AcdtfydbaA2cdtfaiaYydbaA2cdtfcxz:ojjjbTmiaXcefgXaefaCGheaXaC9nmbxdkkaiaKaA2cdtfhYcbhXinaQaecdtfgLydbg8AcuSmiaia8AaA2cdtfaYcxz:ojjjbTmdaXcefgXaefaCGheaXaC9nmbkkcbhLkaLydbgecu9hmekaLaKBdbaKhekaOa8JfaeBdbaKcefgKal9hmbkcbhea8FhCinaCaeBdbaCclfhCalaecefge9hmbkcbheaOhCa8FhXindnaeaCydbgASmbaXa8FaAcdtfgAydbBdbaAaeBdbkaCclfhCaXclfhXalaecefge9hmbkkcbh8KaQcbyd;O1jjbH:bjjjbbasaaBd2ahalcbyd;S1jjbHjjjjbbgABdbasagBd2ascxfagcdtfa8Ecbyd;S1jjbHjjjjbbgeBdbasazcofgCBd2ascxfaCcdtfa8Ecbyd;S1jjbHjjjjbbgCBdbasazcrfg8LBd2aecFea5z:ljjjbh8MaCcFea5z:ljjjbh8NdnalTmba3cwfhyindnaEa8KgXcefg8Kcdtfydbg8AaEaXcdtgefydbgCSmba8AaC9Rh8Ja3aCcitfh5a8Naefhga8MaefhKcbhLindndna5aLcitfydbgQaX9hmbaKaXBdbagaXBdbxekdnaEaQcdtgafgeclfydbgCaeydbgeSmba3aecitg8AfydbaXSmeaCae9Rhhaecu7aCfhYaya8AfhCcbheinaYaeSmeaecefheaCydbh8AaCcwfhCa8AaX9hmbkaeah6meka8NaafgeaXaQaeydbcuSEBdbaKaQaXaKydbcuSEBdbkaLcefgLa8J9hmbkka8Kal9hmbkaOhCaHhLa8FhXa8Nh8Aa8MhQcbheindndnaeaCydbgY9hmbdnaqTmbaehYdnaHTmbaLydbhYkaqaYfRbbTmbaAaefcl86bbxdkdnaeaXydbgY9hmbaQydbhYdna8AydbgKcu9hmbaYcu9hmbaAaefcb86bbxikaAaefh8JdnaeaKSmbaeaYSmba8Jce86bbxika8Jcl86bbxdkdnaea8FaYcdtgKfydb9hmbdna8Aydbg8JcuSmbaea8JSmbaQydbg5cuSmbaea5Smba8NaKfydbgacuSmbaaaYSmba8MaKfydbgKcuSmbaKaYSmbdnaOa8JcdtfydbaOaKcdtfydb9hmbaOa5cdtfydbaOaacdtfydb9hmbaAaefcd86bbxlkaAaefcl86bbxikaAaefcl86bbxdkaAaefcl86bbxekaAaefaAaYfRbb86bbkaCclfhCaLclfhLaXclfhXa8Aclfh8AaQclfhQalaecefge9hmbkamceGTmbaAhealhCindnaeRbbce9hmbaecl86bbkaecefheaCcufgCmbkkascxfa8Lcdtfcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbggBdbasazcwVg8JBd2agaialavaHz:djjjbh8PdndnaDmbcbhvxekascxfa8JcdtfcualaD2gecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbgvBdbasazcDVg8JBd2alTmbarcd4hYdnaHTmbaDcdthKcbhLavhQinaoaHaLcdtfydbaY2cdtfheawhCaQhXaDh8AinaXaeIdbaCIdbNUdbaeclfheaCclfhCaXclfhXa8Acufg8AmbkaQaKfhQaLcefgLal9hmbxdkkaYcdthYaDcdthKcbhQavhLinaoheawhCaLhXaDh8AinaXaeIdbaCIdbNUdbaeclfheaCclfhCaXclfhXa8Acufg8AmbkaoaYfhoaLaKfhLaQcefgQal9hmbkkascxfa8Jcdtfcualc8S2gealc;D;O;f8U0EgXcbyd;S1jjbHjjjjbbgCBdbasa8Jcefg8ABd2aCcbaez:ljjjbh8KdndndnaDTmbascxfa8AcdtfaXcbyd;S1jjbHjjjjbbgqBdbasa8JcdfgCBd2aqcbaez:ljjjb8AascxfaCcdtfcualaD2gecltgCaecFFFFb0Ecbyd;S1jjbHjjjjbbgwBdbasa8JcifBd2awcbaCz:ljjjb8AadmexdkcbhqcbhwadTmekcbhLabhCindnagaCclfydbgQcx2fgeIdbagaCydbgYcx2fgXIdbgI:tg8RagaCcwfydbgKcx2fg8AIdlaXIdlg8S:tgRNa8AIdbaI:tg8UaeIdla8S:tg8VN:tg8Wa8WNa8Va8AIdwaXIdwg8X:tg8YNaRaeIdwa8X:tg8VN:tgRaRNa8Va8UNa8Ya8RN:tg8Ra8RNMM:rg8UJbbbb9ETmba8Wa8U:vh8Wa8Ra8U:vh8RaRa8U:vhRka8KaOaYcdtfydbc8S2fgeaRa8U:rg8UaRNNg8VaeIdbMUdbaea8Ra8Ua8RNg8ZNg8YaeIdlMUdlaea8Wa8Ua8WNg80Ng81aeIdwMUdwaea8ZaRNg8ZaeIdxMUdxaea80aRNgBaeIdzMUdzaea80a8RNg80aeIdCMUdCaeaRa8Ua8Wa8XNaRaINa8Sa8RNMM:mg8SNgINgRaeIdKMUdKaea8RaINg8RaeId3MUd3aea8WaINg8WaeIdaMUdaaeaIa8SNgIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaQcdtfydbc8S2fgea8VaeIdbMUdbaea8YaeIdlMUdlaea81aeIdwMUdwaea8ZaeIdxMUdxaeaBaeIdzMUdzaea80aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaKcdtfydbc8S2fgea8VaeIdbMUdbaea8YaeIdlMUdlaea81aeIdwMUdwaea8ZaeIdxMUdxaeaBaeIdzMUdzaea80aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdyaCcxfhCaLcifgLad6mbkcbh8JabhYinaba8JcdtfhQcbhCinaAaQaCcj1jjbfydbcdtfydbgXfRbbhedndnaAaYaCfydbg8AfRbbgLc99fcFeGcpe0mbaeceSmbaecd9hmekdnaLcufcFeGce0mba8Ma8AcdtfydbaX9hmekdnaecufcFeGce0mba8NaXcdtfydba8A9hmekdnaLcv2aefc:q1jjbfRbbTmbaOaXcdtfydbaOa8Acdtfydb0mekdnagaXcx2fgKIdwaga8Acx2fgiIdwg8S:tgRaRNaKIdbaiIdbg8X:tg8Ra8RNaKIdlaiIdlg8V:tg8Ua8UNMM:rgIJbbbb9ETmbaRaI:vhRa8UaI:vh8Ua8RaI:vh8RkJbbacJbbacJbbjZaeceSEaLceSEh80dnagaQaCc:e1jjbfydbcdtfydbcx2fgeIdwa8S:tg8WaRa8WaRNaeIdba8X:tg81a8RNa8UaeIdla8V:tg8ZNMMg8YN:tg8Wa8WNa81a8Ra8YN:tgRaRNa8Za8Ua8YN:tg8Ra8RNMM:rg8UJbbbb9ETmba8Wa8U:vh8Wa8Ra8U:vh8RaRa8U:vhRka8KaOa8Acdtfydbc8S2fgeaRa80aINg8UaRNNg8YaeIdbMUdbaea8Ra8Ua8RNg80Ng81aeIdlMUdlaea8Wa8Ua8WNgINg8ZaeIdwMUdwaea80aRNg80aeIdxMUdxaeaIaRNgBaeIdzMUdzaeaIa8RNg83aeIdCMUdCaeaRa8Ua8Wa8SNaRa8XNa8Va8RNMM:mg8SNgINgRaeIdKMUdKaea8RaINg8RaeId3MUd3aea8WaINg8WaeIdaMUdaaeaIa8SNgIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaXcdtfydbc8S2fgea8YaeIdbMUdbaea81aeIdlMUdlaea8ZaeIdwMUdwaea80aeIdxMUdxaeaBaeIdzMUdzaea83aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdykaCclfgCcx9hmbkaYcxfhYa8Jcifg8Jad6mbkaDTmbcbhYinJbbbbh8XagabaYcdtfgeclfydbgKcx2fgCIdwagaeydbgicx2fgXIdwg8Z:tg8Ra8RNaCIdbaXIdbgB:tg8Wa8WNaCIdlaXIdlg83:tg8Ua8UNMMg80agaecwfydbg8Jcx2fgeIdwa8Z:tgINa8Ra8RaINa8WaeIdbaB:tg8SNa8UaeIdla83:tg8VNMMgRN:tJbbbbJbbjZa80aIaINa8Sa8SNa8Va8VNMMg81NaRaRN:tg8Y:va8YJbbbb9BEg8YNhUa81a8RNaIaRN:ta8YNh85a80a8VNa8UaRN:ta8YNh86a81a8UNa8VaRN:ta8YNh87a80a8SNa8WaRN:ta8YNh88a81a8WNa8SaRN:ta8YNh89a8Wa8VNa8Sa8UN:tgRaRNa8UaINa8Va8RN:tgRaRNa8Ra8SNaIa8WN:tgRaRNMM:r:rhRavaiaD2cdtfhCava8JaD2cdtfhXavaKaD2cdtfh8Aa8Z:mh8:a83:mhZaB:mhncbhLaDhQJbbbbh8VJbbbbh8YJbbbbh80Jbbbbh81Jbbbbh8ZJbbbbhBJbbbbh83JbbbbhcJbbbbh9cinasc;WbfaLfgecwfaRa85a8AIdbaCIdbgI:tg8UNaUaXIdbaI:tg8SNMg8RNUdbaeclfaRa87a8UNa86a8SNMg8WNUdbaeaRa89a8UNa88a8SNMg8UNUdbaecxfaRa8:a8RNaZa8WNaIana8UNMMMgINUdbaRa8Ra8WNNa81Mh81aRa8Ra8UNNa8ZMh8ZaRa8Wa8UNNaBMhBaRaIaINNa8XMh8XaRa8RaINNa8VMh8VaRa8WaINNa8YMh8YaRa8UaINNa80Mh80aRa8Ra8RNNa83Mh83aRa8Wa8WNNacMhcaRa8Ua8UNNa9cMh9caCclfhCa8Aclfh8AaXclfhXaLczfhLaQcufgQmbkaqaOaicdtfydbgCc8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyaqaOaKcdtfydbgKc8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyaqaOa8Jcdtfydbgic8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyawaCaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkawaKaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkawaiaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkaYcifgYad6mbkkasydlhJcbhednalTmbaJclfheaJydbh8AaAhCalhLcbhXincbaeydbgQa8A9RaCRbbcpeGEaXfhXaCcefhCaeclfheaQh8AaLcufgLmbkaXce4hekcuadae9Rcifg8Lcx2a8Lc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhhascxfasyd2gecdtfahBdbasaecefgCBd2ascxfaCcdtfcua8Lcdta8LcFFFFi0Ecbyd;S1jjbHjjjjbbgzBdbasaecdfgCBd2ascxfaCcdtfa8Ecbyd;S1jjbHjjjjbbg3BdbasaecifgCBd2ascxfaCcdtfalcbyd;S1jjbHjjjjbbg9eBdbasaeclfBd2a8PJbbjZamclGEhcJbbbbh83dnadak9nmbdna8Lci6mbaxaxNacacN:vhBaDclthTahcwfhSJbbbbh83inasclfabadgoalaOz:cjjjbabhicbhEcbhyinabaycdtfh8JcbheindnaOaiaefydbgXcdtgKfydbg8AaOa8Jaec:S1jjbfydbcdtfydbgCcdtfydbgLSmbaAaCfRbbgYcv2aAaXfRbbgQfc;a1jjbfRbbgaaQcv2aYfg5c;a1jjbfRbbgdVcFeGTmbdnaLa8A9nmba5c:q1jjbfRbbcFeGmekdnaQaY9hmbaQcufcFeGce0mba8MaKfydbaC9hmekahaEcx2fg8AaCaXadcFeGgLEBdla8AaXaCaLEBdba8AaLaaGcb9hBdwaEcefhEkaeclfgecx9hmbkdnaycifgyao9pmbaicxfhiaEcifa8L9nmekkdnaEmbaohdxikcbhYinJbbbbJbbjZa8KaOahaYcx2fg8AydlgLa8AydbgQa8AydwgCEgicdtfydbgac8S2gdfgeIdygR:vaRJbbbb9BEaeIdwagaQaLaCEgKcx2fgCIdwg8UNaeIdzaCIdbgINaeIdaMgRaRMMa8UNaeIdlaCIdlg8SNaeIdCa8UNaeId3MgRaRMMa8SNaeIdbaINaeIdxa8SNaeIdKMgRaRMMaINaeId8KMMM:lNh80JbbbbJbbjZa8KaOaQcdtfydbgyc8S2gXfgeIdygR:vaRJbbbb9BEaeIdwagaLcx2fgCIdwg8WNaeIdzaCIdbg8XNaeIdaMgRaRMMa8WNaeIdlaCIdlg8VNaeIdCa8WNaeId3MgRaRMMa8VNaeIdba8XNaeIdxa8VNaeIdKMgRaRMMa8XNaeId8KMMM:lNh81a8Acwfh8Ja8Aclfh5dnaDTmbaqaXfgXIdwa8WNaXIdza8XNaXIdaMgRaRMMa8WNaXIdla8VNaXIdCa8WNaXId3MgRaRMMa8VNaXIdba8XNaXIdxa8VNaXIdKMgRaRMMa8XNaXId8KMMMh8RavaLaD2cdtfhCawayaD2cltfheaXIdyh8YaDhXinaCIdbgRJbbb;aNaecxfIdba8WaecwfIdbNa8XaeIdbNa8VaeclfIdbNMMMNaRaRNa8YNa8RMMh8RaCclfhCaeczfheaXcufgXmbkaqadfgXIdwa8UNaXIdzaINaXIdaMgRaRMMa8UNaXIdla8SNaXIdCa8UNaXId3MgRaRMMa8SNaXIdbaINaXIdxa8SNaXIdKMgRaRMMaINaXId8KMMMh8WavaKaD2cdtfhCawaaaD2cltfheaXIdyh8XaDhXinaCIdbgRJbbb;aNaecxfIdba8UaecwfIdbNaIaeIdbNa8SaeclfIdbNMMMNaRaRNa8XNa8WMMh8WaCclfhCaeczfheaXcufgXmbka80a8W:lMh80a81a8R:lMh81ka5aLaKa81a809FgeEBdba8AaQaiaeEBdba8Ja81a80aeEUdbaYcefgYaE9hmbkasc;Wbfcbcj;abz:ljjjb8AaSheaEhCinasc;WbfaeydbcO4c;8ZGfgXaXydbcefBdbaecxfheaCcufgCmbkcbhecbhCinasc;WbfaefgXydbh8AaXaCBdba8AaCfhCaeclfgecj;ab9hmbkcbheaShCinasc;WbfaCydbcO4c;8ZGfgXaXydbgXcefBdbazaXcdtfaeBdbaCcxfhCaEaecefge9hmbkaoak9RgXci9Uh9hdnalTmbcbhea3hCinaCaeBdbaCclfhCalaecefge9hmbkkcbh9ia9ecbalz:ljjjbh6aXcO9Uh9ka9hce4h0asydwh9mcbhdcbh5dninahaza5cdtfydbcx2fg8JIdwg8RaB9Emeada9h9pmeJFFuuhRdna0aE9pmbahaza0cdtfydbcx2fIdwJbb;aZNhRkdna8RaR9ETmbada9k0mdkdna6aOa8Jydlg9ncdtg9ofydbg8Afg9pRbba6aOa8Jydbgicdtg9qfydbg9rfg9sRbbVmbdnaJa9rcdtfgeclfydbgCaeydbgeSmbaCae9RhQa9maecitfheaga8Acx2fgKcwfhyaKclfh8Eaga9rcx2fgacwfhmaaclfhrcbhCcehYdnindna3aeydbcdtfydbgXa8ASmba3aeclfydbcdtfydbgLa8ASmbaXaLSmbagaLcx2fgLIdbagaXcx2fgXIdbg8W:tgRarIdbaXIdlg8U:tg8XNaaIdba8W:tg8VaLIdla8U:tg8RN:tgIaRa8EIdba8U:tg8YNaKIdba8W:tg80a8RN:tg8UNa8RamIdbaXIdwg8S:tg81Na8XaLIdwa8S:tg8WN:tg8Xa8RayIdba8S:tg8ZNa8Ya8WN:tg8RNa8Wa8VNa81aRN:tg8Sa8Wa80Na8ZaRN:tgRNMMaIaINa8Xa8XNa8Sa8SNMMa8Ua8UNa8Ra8RNaRaRNMMN:rJbbj8:N9FmdkaecwfheaCcefgCaQ6hYaQaC9hmbkkaYceGTmba0cefh0xeka8Ka8Ac8S2gXfgea8Ka9rc8S2gLfgCIdbaeIdbMUdbaeaCIdlaeIdlMUdlaeaCIdwaeIdwMUdwaeaCIdxaeIdxMUdxaeaCIdzaeIdzMUdzaeaCIdCaeIdCMUdCaeaCIdKaeIdKMUdKaeaCId3aeId3MUd3aeaCIdaaeIdaMUdaaeaCId8KaeId8KMUd8KaeaCIdyaeIdyMUdydnaDTmbaqaXfgeaqaLfgCIdbaeIdbMUdbaeaCIdlaeIdlMUdlaeaCIdwaeIdwMUdwaeaCIdxaeIdxMUdxaeaCIdzaeIdzMUdzaeaCIdCaeIdCMUdCaeaCIdKaeIdKMUdKaeaCId3aeId3MUd3aeaCIdaaeIdaMUdaaeaCId8KaeId8KMUd8KaeaCIdyaeIdyMUdyaTa9r2hYaTa8A2hKawhCaDhLinaCaKfgeaCaYfgXIdbaeIdbMUdbaeclfgQaXclfIdbaQIdbMUdbaecwfgQaXcwfIdbaQIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCaLcufgLmbkka8JcwfhCdndndndnaAaifgXRbbc9:fPdebdkaiheina3aecdtgefa8ABdba8Faefydbgeai9hmbxikka8Fa9ofydbhea8Fa9qfydbhia3a9qfa9nBdbaeh9nka3aicdtfa9nBdbka9sce86bba9pce86bbaCIdbgRa83a83aR9DEh83a9icefh9icecdaXRbbceSEadfhdka5cefg5aE9hmbkkdna9imbaohdxikdnalTmbcbhCa8MheindnaeydbgXcuSmbdnaCa3aXcdtg8AfydbgX9hmba8Ma8AfydbhXkaeaXBdbkaeclfhealaCcefgC9hmbkcbhCa8NheindnaeydbgXcuSmbdnaCa3aXcdtg8AfydbgX9hmba8Na8AfydbhXkaeaXBdbkaeclfhealaCcefgC9hmbkkcbhdabhecbhLindna3aeydbcdtfydbgCa3aeclfydbcdtfydbgXSmbaCa3aecwfydbcdtfydbg8ASmbaXa8ASmbabadcdtfgQaCBdbaQcwfa8ABdbaQclfaXBdbadcifhdkaecxfheaLcifgLao6mbkadak9nmdxbkkasclfabadalaOz:cjjjbkdnaHTmbadTmbadheinabaHabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPaca83:rNUdbkasyd2gecdtascxffc98fhOdninaeTmeaOydbcbyd;O1jjbH:bjjjbbaOc98fhOaecufhexbkkasc;W;abf8Kjjjjbadk;Yieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk;Podvuv998Jjjjjbca9RgvcFFF;7rBd3av9cFFF;7;3FF:;Fb83dCavcFFF97Bdzav9cFFF;7FFF:;u83dwdnadTmbaicd4hodnabmbdnalTmbcbhrinaealarcdtfydbao2cdtfhwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxikkaocdthrcbhwincbhiinavcCfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbxdkkdnalTmbcbhrinabarcx2fgiaealarcdtfydbao2cdtfgwIdbUdbaiawIdlUdlaiawIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxdkkaocdthlcbhraehwinabarcx2fgiaearao2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawalfhwarcefgrad9hmbkkJbbbbavIdwavIdCgk:tgqaqJbbbb9DEgqavIdxavIdKgx:tgmamaq9DEgqavIdzavId3gm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgvaqavIdbax:tNUdbabcwfgvaqavIdbam:tNUdbabcxfhbadcufgdmbkkaPk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbk;3Aowud99wue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbgqBdxawceBd2aqaeadaicbz:djjjb8AawcuadcdtadcFFFFi0Egkcbyd;S1jjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhmawcuaicdtgPaicFFFFi0Ecbyd;S1jjbHjjjjbbgsBdCawciBd2dndnar:Zgz:rJbbbZMgH:lJbbb9p9DTmbaH:Ohexekcjjjj94hekaicufhOc:bwhAcbhCcbhXadhQinaChLaeaAgKcufaeaK9iEamgDcefaeaD9kEhYdndnadTmbaYcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbh3cbh5indnaEaxa5cdtfydbgAcm4aA7c:v;t;h;Ev2gics4ai7aOGgmcdtfgCydbgecuSmbaeaASmbcehiinaEamaifaOGgmcdtfgCydbgecuSmeaicefhiaeaA9hmbkkaCaABdba3aecuSfh3a5cefg5ad9hmbxdkkascFeaPz:ljjjb8Acbh3kaDaYa3ar0giEhmaLa3aiEhCdna3arSmbaYaKaiEgAam9Rcd9imbdndnaXcl0mbdnaQ:ZgHaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa3:Zghaz:tNNNaHaz:taaNa8Aah:tNa8Aaz:ta8FNahaH:tNM:va8EMJbbbZMgH:lJbbb9p9DTmbaH:Ohexdkcjjjj94hexekamaAfcd9Theka3aQaiEhQaXcefgXcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd;S1jjbHjjjjbbg5BdKawclBd2dndnadTmbamcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbhDcbh3inaxa3cdtgYfydbgAcm4aA7c:v;t;h;Ev2gics4ai7hecbhidndninaEaeaOGgmcdtfgCydbgecuSmednaxaecdtgCfydbaASmbaicefgiamfheaiaO9nmekka5aCfydbhixekaCa3BdbaDhiaDcefhDka5aYfaiBdba3cefg3ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekascFeaPz:ljjjb8AcbhDcbhekawaecbyd;S1jjbHjjjjbbgeBd3awcvBd2aecbaiz:ljjjbhCavcd4hxdnadTmbdnalTmbaxcdthEa5hAalheaqhmadhOinaCaAydbc32fgiamIdbaiIdbMUdbaiamclfIdbaiIdlMUdlaiamcwfIdbaiIdwMUdwaiaeIdbaiIdxMUdxaiaeclfIdbaiIdzMUdzaiaecwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaAclfhAaeaEfheamcxfhmaOcufgOmbxdkka5hmaqheadhAinaCamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaAcufgAmbkkdnaDTmbaChiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgH:vaHJbbbb9BEgHNUdbaiclfgmaHamIdbNUdbaicwfgmaHamIdbNUdbaicxfgmaHamIdbNUdbaiczfgmaHamIdbNUdbaicCfgmaHamIdbNUdbaic3fhiaecufgembkkcbhAawcuaDcdtgYaDcFFFFi0Egicbyd;S1jjbHjjjjbbgeBdaawcoBd2awaicbyd;S1jjbHjjjjbbgEBd8KaecFeaYz:ljjjbh3dnadTmbaoaoNh8Aaxcdthxalheina8Aaec;C1jjbalEgmIdwaCa5ydbgOc32fgiIdC:tgHaHNamIdbaiIdx:tgHaHNamIdlaiIdz:tgHaHNMMNaqcwfIdbaiIdw:tgHaHNaqIdbaiIdb:tgHaHNaqclfIdbaiIdl:tgHaHNMMMhHdndna3aOcdtgifgmydbcuSmbaEaifIdbaH9ETmekamaABdbaEaifaHUdbka5clfh5aeaxfheaqcxfhqadaAcefgA9hmbkkaba3aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd;O1jjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Odieui99iu8Jjjjjbca9RgicFFF;7rBd3ai9cFFF;7;3FF:;Fb83dCaicFFF97Bdzai9cFFF;7FFF:;u83dwdndnaembJbbjFhlJbbjFhvJbbjFhoxekadcd4cdthrcbhwincbhdinaicCfadfgDabadfIdbglaDIdbgvaval9EEUdbaicwfadfgDalaDIdbgvaval9DEUdbadclfgdcx9hmbkabarfhbawcefgwae9hmbkaiIdzaiId3:thoaiIdxaiIdK:thvaiIdwaiIdC:thlkJbbbbalalJbbbb9DEglavaval9DEglaoaoal9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcifc98GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcrfc94GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;W1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;W1jjbfgdBd;W1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:bedbcjwk9Oebbbdbbbbbbbebbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbbbbbbbbbbbbbbbbc;Owkxebbbdbbbj9Kbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(f){n=f.instance,n.exports.__wasm_call_ctors()});function o(f){for(var x=new Uint8Array(f.length),_=0;_96?C-97:C>64?C-39:C+4}for(var V=0,_=0;_=3),r(C>=0&&C<=f.length),r(C%3==0),r(V>=0);for(var Z=0,G=0;G<(L?L.length:0);++G)r(L[G]in g),Z|=g[L[G]];var I=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),v=d(n.exports.meshopt_simplify,I,f.length,x,x.length/_,_*4,C,V,Z);return v[0]=f instanceof Uint32Array?v[0]:new f.constructor(v[0]),v},simplifyWithAttributes:function(f,x,_,C,V,L,Z,G,I,v){r(this.useExperimentalFeatures),r(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),r(f.length%3==0),r(x instanceof Float32Array),r(x.length%_==0),r(_>=3),r(C instanceof Float32Array),r(C.length%V==0),r(V>=0),r(Z==null||Z.length==x.length),r(G>=0&&G<=f.length),r(G%3==0),r(I>=0),r(Array.isArray(L)),r(V>=L.length),r(L.length<=16);for(var P=0,w=0;w<(v?v.length:0);++w)r(v[w]in g),P|=g[v[w]];var F=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),b=u(n.exports.meshopt_simplifyWithAttributes,F,f.length,x,x.length/_,_*4,C,V*4,new Float32Array(L),Z?new Uint8Array(Z):null,G,I,P);return b[0]=f instanceof Uint32Array?b[0]:new f.constructor(b[0]),b},getScale:function(f,x){return r(f instanceof Float32Array),r(f.length%x==0),r(x>=3),m(n.exports.meshopt_simplifyScale,f,f.length/x,x*4)},simplifyPoints:function(f,x,_,C,V,L){return r(this.useExperimentalFeatures),r(f instanceof Float32Array),r(f.length%x==0),r(x>=3),r(_>=0&&_<=f.length/x),C?(r(C instanceof Float32Array),r(C.length%V==0),r(V>=3),r(f.length/x==C.length/V),p(n.exports.meshopt_simplifyPoints,f,f.length/x,x*4,C,V*4,L,_)):p(n.exports.meshopt_simplifyPoints,f,f.length/x,x*4,void 0,0,0,_)}}}();function e_(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.bufferViewId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.bufferViews[i],c=a.buffer,d=a.byteOffset,u=a.byteLength,m=!1,p,g,f,x;if(ri(a,"EXT_meshopt_compression")){let C=a.extensions.EXT_meshopt_compression;c=C.buffer,d=y(C.byteOffset,0),u=C.byteLength,m=!0,p=C.byteStride,g=C.count,f=C.mode,x=y(C.filter,"NONE")}let _=n.buffers[c];this._hasMeshopt=m,this._meshoptByteStride=p,this._meshoptCount=g,this._meshoptMode=f,this._meshoptFilter=x,this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._buffer=_,this._bufferId=c,this._byteOffset=d,this._byteLength=u,this._cacheKey=s,this._bufferLoader=void 0,this._typedArray=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(e_.prototype=Object.create(Yi.prototype),e_.prototype.constructor=e_);Object.defineProperties(e_.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});async function qFe(e){try{let t=$Fe(e);if(e._bufferLoader=t,await t.load(),e.isDestroyed())return;let n=t.typedArray,i=new Uint8Array(n.buffer,n.byteOffset+e._byteOffset,e._byteLength);if(e.unload(),e._typedArray=i,e._hasMeshopt){let o=e._meshoptCount,r=e._meshoptByteStride,s=new Uint8Array(o*r);Roe.decodeGltfBuffer(s,o,r,e._typedArray,e._meshoptMode,e._meshoptFilter),e._typedArray=s}return e._state=yt.READY,e}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load buffer view",t)}}e_.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,this._promise=qFe(this),this._promise)};function $Fe(e){let t=e._resourceCache,n=e._buffer;if(l(n.uri)){let o=e._baseResource.getDerivedResource({url:n.uri});return t.getExternalBufferLoader({resource:o})}return t.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:e._bufferId})}e_.prototype.unload=function(){l(this._bufferLoader)&&!this._bufferLoader.isDestroyed()&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var TC=e_;var Van=T(S(),1);var gan=T(S(),1);function Pr(){}Pr._maxDecodingConcurrency=Math.max(zt.hardwareConcurrency-1,1);Pr._decoderTaskProcessor=void 0;Pr._taskProcessorReady=!1;Pr._error=void 0;Pr._getDecoderTaskProcessor=function(){if(!l(Pr._decoderTaskProcessor)){let e=new bi("decodeDraco",Pr._maxDecodingConcurrency);e.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(t){t?Pr._taskProcessorReady=!0:Pr._error=new de("Draco decoder could not be initialized.")}).catch(t=>{Pr._error=t}),Pr._decoderTaskProcessor=e}return Pr._decoderTaskProcessor};Pr.decodePointCloud=function(e){let t=Pr._getDecoderTaskProcessor();if(l(Pr._error))throw Pr._error;if(Pr._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};Pr.decodeBufferView=function(e){let t=Pr._getDecoderTaskProcessor();if(l(Pr._error))throw Pr._error;if(Pr._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var Jp=Pr;function ig(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=yt.UNLOADED,this._promise=void 0,this._dracoError=void 0}l(Object.create)&&(ig.prototype=Object.create(Yi.prototype),ig.prototype.constructor=ig);Object.defineProperties(ig.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function eAe(e){let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._draco.bufferView,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._bufferViewTypedArray=n.typedArray,e._state=yt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;Zoe(e,n)}}ig.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,this._promise=eAe(this),this._promise)};function Zoe(e,t){throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load Draco",t)}async function tAe(e,t){try{let n=await t;return e.isDestroyed()?void 0:(e.unload(),e._decodedData={indices:n.indexArray,vertexAttributes:n.attributeData},e._state=yt.READY,e._baseResource)}catch(n){if(e.isDestroyed())return;e._dracoError=n}}ig.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.PROCESSING||(l(this._dracoError)&&Zoe(this,this._dracoError),!l(this._bufferViewTypedArray))||l(this._decodePromise))return!1;let t=this._draco,i=this._gltf.bufferViews,o=t.bufferView,r=i[o],s=t.attributes,a={array:new Uint8Array(this._bufferViewTypedArray),bufferView:r,compressedAttributes:s,dequantizeInShader:!0},c=Jp.decodeBufferView(a);if(!l(c))return!1;this._decodePromise=tAe(this,c)};ig.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var SC=ig;var Man=T(S(),1);var Ean=T(S(),1);function nAe(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return Ge.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(Ge.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new Ge({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return l(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return l(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var t_=nAe;function Qp(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,d=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=d,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(Qp.prototype=Object.create(Yi.prototype),Qp.prototype.constructor=Qp);Object.defineProperties(Qp.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});Qp.prototype.load=function(){return l(this._promise)?this._promise:l(this._bufferViewId)?(this._promise=iAe(this),this._promise):(this._promise=oAe(this),this._promise)};function Goe(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}async function iAe(e){e._state=yt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=n,await n.load(),e.isDestroyed())return;let i=n.typedArray,o=await sAe(i);if(e.isDestroyed())return;let r=Goe(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=yt.READY,e}catch(n){return e.isDestroyed()?void 0:Eoe(e,n,"Failed to load embedded image")}}async function oAe(e){e._state=yt.LOADING;let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});try{let o=await cAe(i);if(e.isDestroyed())return;let r=Goe(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=yt.READY,e}catch(o){return e.isDestroyed()?void 0:Eoe(e,o,`Failed to load image: ${n}`)}}function Eoe(e,t,n){return e.unload(),e._state=yt.FAILED,Promise.reject(e.getError(n,t))}function rAe(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new de("Image format is not recognized")}async function sAe(e){let t=rAe(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return yl(n)}return Qp._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var aAe=/(^data:image\/ktx2)|(\.ktx2$)/i;function cAe(e){let t=e.getUrlComponent(!1,!0);return aAe.test(t)?yl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}Qp.prototype.unload=function(){l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};Qp._loadImageFromTypedArray=t_;var CC=Qp;var qan=T(S(),1);var kan=T(S(),1),lAe={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},Ma=Object.freeze(lAe);function og(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),d=y(e.loadBuffer,!1),u=y(e.loadTypedArray,!1),m=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=m,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=d,this._loadTypedArray=u,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(og.prototype=Object.create(Yi.prototype),og.prototype.constructor=og);Object.defineProperties(og.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var dAe=new Vz;og.prototype.load=async function(){return l(this._promise)?this._promise:l(this._draco)?(this._promise=uAe(this),this._promise):(this._promise=mAe(this),this._promise)};async function uAe(e){e._state=yt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=yt.LOADED,e)}catch(n){if(e.isDestroyed())return;Cz(e,n)}}async function mAe(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView;e._state=yt.LOADING;let r=e._resourceCache;try{let s=r.getBufferViewLoader({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=s,await s.load(),e.isDestroyed())return;let a=s.typedArray;return e._typedArray=hAe(e,a),e._state=yt.PROCESSING,e}catch(s){if(e.isDestroyed())return;Cz(e,s)}}function hAe(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=Ne.getSizeInBytes(s),c=t.buffer,d=t.byteOffset+o.byteOffset;if(d%a!==0){let m=r*a,p=new Uint8Array(c,d,m);c=new Uint8Array(p).buffer,d=0,as("index-buffer-unaligned",`The index array is not aligned to a ${a}-byte boundary.`)}let u;return s===Ne.UNSIGNED_BYTE?u=new Uint8Array(c,d,r):s===Ne.UNSIGNED_SHORT?u=new Uint16Array(c,d,r):s===Ne.UNSIGNED_INT&&(u=new Uint32Array(c,d,r)),u}function Cz(e,t){throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load index buffer",t)}function Vz(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}Vz.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};Vz.prototype.execute=function(){this.buffer=Ioe(this.typedArray,this.indexDatatype,this.context)};function Ioe(e,t,n){let i=xt.createIndexBuffer({typedArray:e,context:n,usage:Ue.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}og.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.LOADED&&this._state!==yt.PROCESSING)return!1;let t=this._typedArray,n=this._indexDatatype;if(l(this._dracoLoader))try{this._dracoLoader.process(e)&&(t=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=t,n=Q.fromTypedArray(t),this._indexDatatype=n)}catch(o){Cz(this,o)}if(!l(t))return!1;let i;if(this._loadBuffer&&this._asynchronous){let o=dAe;if(o.set(t,n,e.context),!e.jobScheduler.execute(o,Ma.BUFFER))return!1;i=o.buffer}else this._loadBuffer&&(i=Ioe(t,n,e.context));return this.unload(),this._buffer=i,this._typedArray=this._loadTypedArray?t:void 0,this._state=yt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};og.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var VC=og;var lun=T(S(),1);var Ccn=T(S(),1);var tcn=T(S(),1);function fAe(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var Ss=fAe;var ccn=T(S(),1);var ocn=T(S(),1);function pAe(e,t){return l(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var lr=pAe;function Jt(){}Jt.objectLegacy=function(e,t){if(l(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}}};Jt.object=function(e,t){if(l(e)){let n=e.length;for(let i=0;i0)return i.byteStride}return Q.getSizeInBytes(t.componentType)*bd(t.type)}var Il=gAe;function yAe(e){Xe.accessor(e,function(n){l(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),Xe.bufferView(e,function(n){l(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),Xe.mesh(e,function(n){Xe.meshPrimitive(n,function(i){if(i.mode=y(i.mode,ie.TRIANGLES),!l(i.material)){l(e.materials)||(e.materials=[]);let o={name:"default"};i.material=Ss(e.materials,o)}})}),Xe.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),l(o)){let r=e.bufferViews[o];r.byteStride=Il(e,i),r.target=ie.ARRAY_BUFFER}}),Xe.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(l(o)){let r=e.bufferViews[o];r.target=ie.ELEMENT_ARRAY_BUFFER}}),Xe.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(l(o)){let c=o.technique,d=l(o.values)?o.values:{};o.values=d,d.ambient=l(d.ambient)?d.ambient:[0,0,0,1],d.emission=l(d.emission)?d.emission:[0,0,0,1],d.transparency=y(d.transparency,1),c!=="CONSTANT"&&(d.diffuse=l(d.diffuse)?d.diffuse:[0,0,0,1],c!=="LAMBERT"&&(d.specular=l(d.specular)?d.specular:[0,0,0,1],d.shininess=y(d.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;l(r)&&Xe.materialValue(n,function(c){l(c.index)&&n_(c)}),n_(n.emissiveTexture),n_(n.normalTexture),n_(n.occlusionTexture);let s=n.pbrMetallicRoughness;l(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),n_(s.baseColorTexture),n_(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;l(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),n_(a.specularGlossinessTexture))}),Xe.animation(e,function(n){Xe.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=xAe(e);return Xe.node(e,function(n,i){l(t[i])||l(n.translation)||l(n.rotation)||l(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Xe.sampler(e,function(n){n.wrapS=y(n.wrapS,ie.REPEAT),n.wrapT=y(n.wrapT,ie.REPEAT)}),l(e.scenes)&&!l(e.scene)&&(e.scene=0),e}function xAe(e){let t={};return Xe.animation(e,function(n){Xe.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function n_(e){l(e)&&(e.texCoord=y(e.texCoord,0))}var PI=yAe;var Zcn=T(S(),1);function _Ae(e){return Xe.shader(e,function(t){b5(t)}),Xe.buffer(e,function(t){b5(t)}),Xe.image(e,function(t){b5(t)}),b5(e),e}function b5(e){e.extras=l(e.extras)?e.extras:{},e.extras._pipeline=l(e.extras._pipeline)?e.extras._pipeline:{}}var rg=_Ae;var Bcn=T(S(),1);var vcn=T(S(),1);var Icn=T(S(),1);function TAe(e,t){let n=e.extensionsRequired;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var vI=TAe;function SAe(e,t){let n=e.extensionsUsed;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),vI(e,t),n.length===0&&delete e.extensionsUsed}}var i_=SAe;var CAe=4;function VAe(e){if(Am(e)!=="glTF")throw new de("File is not valid binary glTF");let n=Xoe(e,0,5),i=n[1];if(i!==1&&i!==2)throw new de("Binary glTF version is not 1 or 2");return i===1?LAe(e,n):RAe(e,n)}function Xoe(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r0){let m=y(u.binary_glTF,u.KHR_binary_glTF);l(m)&&(m.extras._pipeline.source=d,delete m.uri)}return i_(c,"KHR_binary_glTF"),c}function RAe(e,t){let n=t[2],i=12,o,r;for(;i0){let a=s[0];a.extras._pipeline.source=r}}return o}var wI=VAe;var Hcn=T(S(),1);function ZAe(e){return Xe.shader(e,function(t){g5(t)}),Xe.buffer(e,function(t){g5(t)}),Xe.image(e,function(t){g5(t)}),g5(e),e}function g5(e){l(e.extras)&&(l(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var FI=ZAe;var Gdn=T(S(),1);var jcn=T(S(),1);function GAe(e,t){let n=e.extensionsUsed;l(n)||(n=[],e.extensionsUsed=n),Ss(n,t,!0)}var Tu=GAe;var aln=T(S(),1);var eln=T(S(),1);function EAe(e){switch(e){case Q.BYTE:return function(t,n,i,o,r){for(let s=0;s-1:!1}var PAe=[ie.ZERO,ie.ONE,ie.SRC_COLOR,ie.ONE_MINUS_SRC_COLOR,ie.SRC_ALPHA,ie.ONE_MINUS_SRC_ALPHA,ie.DST_ALPHA,ie.ONE_MINUS_DST_ALPHA,ie.DST_COLOR,ie.ONE_MINUS_DST_COLOR];function vAe(e,t){if(!l(e))return t;for(let n=0;n<4;n++)if(PAe.indexOf(e[n])===-1)return t;return e}function wAe(e){let t={},n={},i=e.techniques;return l(i)&&(Xe.technique(e,function(o,r){let s=o.states;if(l(s)){let a=n[r]={};if(Woe(s,ie.BLEND)){a.alphaMode="BLEND";let c=s.functions;l(c)&&(l(c.blendEquationSeparate)||l(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,XAe),blendFactors:vAe(c.blendFuncSeparate,WAe)})}Woe(s,ie.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(l(e.extensions)||(e.extensions={}),Tu(e,"KHR_blend")),Xe.material(e,function(o){if(l(o.technique)){let r=n[o.technique];Xe.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];l(s)&&(l(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var AI=wAe;var Rln=T(S(),1);var xln=T(S(),1);function FAe(e,t){let n=e.extensionsRequired;l(n)||(n=[],e.extensionsRequired=n),Ss(n,t,!0),Tu(e,t)}var MI=FAe;function AAe(e){let t=e.techniques,n={},i={},o={};if(l(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,Xe.technique(e,function(a,c){let d={name:a.name,program:void 0,attributes:{},uniforms:{}},u;if(Xe.techniqueAttribute(a,function(m,p){u=a.parameters[m],d.attributes[p]={semantic:u.semantic}}),Xe.techniqueUniform(a,function(m,p){u=a.parameters[m],d.uniforms[p]={count:u.count,node:u.node,type:u.type,semantic:u.semantic,value:u.value},l(n[c])||(n[c]={}),n[c][m]=p}),l(o[a.program]))d.program=o[a.program];else{let m=e.programs[a.program],p={name:m.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[m.fragmentShader];p.fragmentShader=Ss(r.shaders,g,!0);let f=e.shaders[m.vertexShader];p.vertexShader=Ss(r.shaders,f,!0),d.program=Ss(r.programs,p),o[a.program]=d.program}i[c]=Ss(r.techniques,d)}),r.techniques.length>0&&(l(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,Tu(e,"KHR_techniques_webgl"),MI(e,"KHR_techniques_webgl"))}return Xe.material(e,function(r){if(l(r.technique)){let s={technique:i[r.technique]};Xe.objectLegacy(r.values,function(a,c){l(s.values)||(s.values={});let d=n[r.technique][c];l(d)&&(s.values[d]=a)}),l(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var NI=AAe;var Mln=T(S(),1);var Xln=T(S(),1);function MAe(e,t){yo.typeOf.object("material",e),yo.defined("handler",t);let n=e.pbrMetallicRoughness;if(l(n)){if(l(n.baseColorTexture)){let r=n.baseColorTexture,s=t(r.index,r);if(l(s))return s}if(l(n.metallicRoughnessTexture)){let r=n.metallicRoughnessTexture,s=t(r.index,r);if(l(s))return s}}let{extensions:i}=e;if(l(i)){let r=i.KHR_materials_pbrSpecularGlossiness;if(l(r)){if(l(r.diffuseTexture)){let c=r.diffuseTexture,d=t(c.index,c);if(l(d))return d}if(l(r.specularGlossinessTexture)){let c=r.specularGlossinessTexture,d=t(c.index,c);if(l(d))return d}}let s=i.KHR_materials_specular;if(l(s)){let{specularTexture:c,specularColorTexture:d}=s;if(l(c)){let u=t(c.index,c);if(l(u))return u}if(l(d)){let u=t(d.index,d);if(l(u))return u}}let a=i.KHR_materials_common;if(l(a)&&l(a.values)){let{diffuse:c,ambient:d,emission:u,specular:m}=a.values;if(l(c)&&l(c.index)){let p=t(c.index,c);if(l(p))return p}if(l(d)&&l(d.index)){let p=t(d.index,d);if(l(p))return p}if(l(u)&&l(u.index)){let p=t(u.index,u);if(l(p))return p}if(l(m)&&l(m.index)){let p=t(m.index,m);if(l(p))return p}}}let o=Xe.materialValue(e,function(r){if(l(r.index)){let s=t(r.index,r);if(l(s))return s}});if(l(o))return o;if(l(e.emissiveTexture)){let r=e.emissiveTexture,s=t(r.index,r);if(l(s))return s}if(l(e.normalTexture)){let r=e.normalTexture,s=t(r.index,r);if(l(s))return s}if(l(e.occlusionTexture)){let r=e.occlusionTexture,s=t(r.index,r);if(l(s))return s}}var LC=MAe;var Poe=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function NAe(e,t){return t=y(t,Poe),Poe.forEach(function(n){t.indexOf(n)>-1&&UAe(e,n)}),e}var kAe={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function UAe(e,t){let n=kAe[t],i=e[n];if(l(i)){let o=0,r=df[t](e),s=i.length;for(let a=0;at&&o.attributes[c]--}),Xe.meshPrimitiveTarget(o,function(a){Xe.meshPrimitiveTargetAttribute(a,function(c,d){c>t&&a[d]--})});let r=o.indices;l(r)&&r>t&&o.indices--;let s=o.extensions;l(s)&&l(s.CESIUM_primitive_outline)&&s.CESIUM_primitive_outline.indices>t&&--s.CESIUM_primitive_outline.indices})}),Xe.skin(e,function(i){l(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),Xe.animation(e,function(i){Xe.animationSampler(i,function(o){l(o.input)&&o.input>t&&o.input--,l(o.output)&&o.output>t&&o.output--})})};lf.buffer=function(e,t){e.buffers.splice(t,1),Xe.bufferView(e,function(i){l(i.buffer)&&i.buffer>t&&i.buffer--,l(i.extensions)&&l(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};lf.bufferView=function(e,t){if(e.bufferViews.splice(t,1),Xe.accessor(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Xe.shader(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Xe.image(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),lr(e,"KHR_draco_mesh_compression")&&Xe.mesh(e,function(i){Xe.meshPrimitive(i,function(o){l(o.extensions)&&l(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),lr(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let d=a[c];l(d.bufferView)&&d.bufferView>t&&d.bufferView--,l(d.arrayOffsetBufferView)&&d.arrayOffsetBufferView>t&&d.arrayOffsetBufferView--,l(d.stringOffsetBufferView)&&d.stringOffsetBufferView>t&&d.stringOffsetBufferView--}}}}if(lr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(l(o)){let r=o.length;for(let s=0;st&&u.values--,l(u.arrayOffsets)&&u.arrayOffsets>t&&u.arrayOffsets--,l(u.stringOffsets)&&u.stringOffsets>t&&u.stringOffsets--}}}}};lf.image=function(e,t){e.images.splice(t,1),Xe.texture(e,function(i){l(i.source)&&i.source>t&&--i.source;let o=i.extensions;l(o)&&l(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:l(o)&&l(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};lf.mesh=function(e,t){e.meshes.splice(t,1),Xe.node(e,function(i){l(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};lf.node=function(e,t){e.nodes.splice(t,1),Xe.skin(e,function(i){l(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),Xe.animation(e,function(i){Xe.animationChannel(i,function(o){l(o.target)&&l(o.target.node)&&o.target.node>t&&o.target.node--})}),Xe.technique(e,function(i){Xe.techniqueUniform(i,function(o){l(o.node)&&o.node>t&&o.node--})}),Xe.node(e,function(i){l(i.children)&&(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),Xe.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};lf.material=function(e,t){e.materials.splice(t,1),Xe.mesh(e,function(i){Xe.meshPrimitive(i,function(o){l(o.material)&&o.material>t&&o.material--})})};lf.sampler=function(e,t){e.samplers.splice(t,1),Xe.texture(e,function(i){l(i.sampler)&&i.sampler>t&&--i.sampler})};lf.texture=function(e,t){if(e.textures.splice(t,1),Xe.material(e,function(i){LC(i,function(o,r){r.index>t&&--r.index})}),lr(e,"EXT_feature_metadata")){Xe.mesh(e,function(r){Xe.meshPrimitive(r,function(s){let a=s.extensions;if(l(a)&&l(a.EXT_feature_metadata)){let d=a.EXT_feature_metadata.featureIdTextures;if(l(d)){let u=d.length;for(let m=0;mt&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let u=a[c].texture;u.index>t&&--u.index}}}}if(lr(e,"EXT_mesh_features")&&Xe.mesh(e,function(i){Xe.meshPrimitive(i,function(o){let r=o.extensions;if(l(r)&&l(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(l(a)){let c=a.length;for(let d=0;dt&&--u.texture.index}}}})}),lr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(l(o)){let r=o.length;for(let s=0;st&&--u.index}}}}};function df(){}df.accessor=function(e){let t={};return Xe.mesh(e,function(n){Xe.meshPrimitive(n,function(i){Xe.meshPrimitiveAttribute(i,function(r){t[r]=!0}),Xe.meshPrimitiveTarget(i,function(r){Xe.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;l(o)&&(t[o]=!0)})}),Xe.skin(e,function(n){l(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),Xe.animation(e,function(n){Xe.animationSampler(n,function(i){l(i.input)&&(t[i.input]=!0),l(i.output)&&(t[i.output]=!0)})}),lr(e,"EXT_mesh_gpu_instancing")&&Xe.node(e,function(n){l(n.extensions)&&l(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),lr(e,"CESIUM_primitive_outline")&&Xe.mesh(e,function(n){Xe.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.CESIUM_primitive_outline)){let s=o.CESIUM_primitive_outline.indices;l(s)&&(t[s]=!0)}})}),t};df.buffer=function(e){let t={};return Xe.bufferView(e,function(n){l(n.buffer)&&(t[n.buffer]=!0),l(n.extensions)&&l(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};df.bufferView=function(e){let t={};if(Xe.accessor(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Xe.shader(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Xe.image(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),lr(e,"KHR_draco_mesh_compression")&&Xe.mesh(e,function(n){Xe.meshPrimitive(n,function(i){l(i.extensions)&&l(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),lr(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];l(c.bufferView)&&(t[c.bufferView]=!0),l(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),l(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(lr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(l(i)){let o=i.length;for(let r=0;r0&&(t[n.mesh]=!0)}}),t};function voe(e,t,n){let i=e.nodes[t];return l(i.mesh)||l(i.camera)||l(i.skin)||l(i.weights)||l(i.extras)||l(i.extensions)&&Object.keys(i.extensions).length!==0||l(n[t])?!1:!l(i.children)||i.children.filter(function(o){return!voe(e,o,n)}).length===0}df.node=function(e){let t={};return Xe.skin(e,function(n){l(n.skeleton)&&(t[n.skeleton]=!0),Xe.skinJoint(n,function(i){t[i]=!0})}),Xe.animation(e,function(n){Xe.animationChannel(n,function(i){l(i.target)&&l(i.target.node)&&(t[i.target.node]=!0)})}),Xe.technique(e,function(n){Xe.techniqueUniform(n,function(i){l(i.node)&&(t[i.node]=!0)})}),Xe.node(e,function(n,i){voe(e,i,t)||(t[i]=!0)}),t};df.material=function(e){let t={};return Xe.mesh(e,function(n){Xe.meshPrimitive(n,function(i){l(i.material)&&(t[i.material]=!0)})}),t};df.texture=function(e){let t={};if(Xe.material(e,function(n){LC(n,function(i){t[i]=!0})}),lr(e,"EXT_feature_metadata")){Xe.mesh(e,function(o){Xe.meshPrimitive(o,function(r){let s=r.extensions;if(l(s)&&l(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(l(c)){let d=c.length;for(let u=0;u0)for(s.mesh=n.meshes[c[0]],t=1;t0&&l(s.skin)){let u=e.skins[s.skin];u.skeleton=n.nodes[c[0]]}delete s.skeletons}l(s.jointName)&&delete s.jointName}),Xe.skin(e,function(s){l(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(l(a)){let c=[],d=a.length;for(t=0;t=0&&(a=r.substring(0,s),c=r.substring(s));let d,u=d9e[a];l(u)?(d=u+c,t[r]=d):l(l9e[a])||(d=`_${r}`,t[r]=d)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];l(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),Xe.technique(e,function(n){Xe.techniqueParameter(n,function(i){let o=t[i.semantic];l(o)&&(i.semantic=o)})})}function m9e(e){Xe.camera(e,function(t){let n=t.perspective;if(l(n)){let i=n.aspectRatio;l(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;l(o)&&o===0&&(n.yfov=1)}})}function Zz(e,t){return l(t.byteStride)&&t.byteStride!==0?t.byteStride:Il(e,t)}function h9e(e){Xe.buffer(e,function(t){l(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),Xe.accessor(e,function(t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n],o=Zz(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function f9e(e){let t,n,i,o=e.bufferViews,r={};Xe.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];l(c.bufferView)&&(r[c.bufferView]=!0)});let s={};Xe.accessor(e,function(a){l(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let d=0,u=0,m=c.length;for(t=0;t=0;--r)if(i[r]===t){i.splice(r,1);return}}}),Xe.node(e,function(n,i){if(l(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),Moe(n)&&Noe(e,i))}}),delete e.nodes[t]}function b9e(e){return Xe.node(e,function(t,n){Moe(t)&&Noe(e,n)}),e}function g9e(e){Xe.animation(e,function(t){Xe.animationSampler(t,function(n){let i=e.accessors[n.input];if(!l(i.min)||!l(i.max)){let o=o_(e,i);i.min=o.min,i.max=o.max}})})}function y9e(e){Xe.accessor(e,function(t){if(l(t.min)||l(t.max)){let n=o_(e,t);l(t.min)&&(t.min=n.min),l(t.max)&&(t.max=n.max)}})}function x9e(e){e.asset=y(e.asset,{}),e.asset.version="2.0",Aoe(e),$Ae(e),b9e(e),e9e(e),t9e(e),i9e(e),r9e(e),h9e(e),f9e(e),p9e(e),g9e(e),y9e(e),s9e(e),a9e(e),c9e(e),u9e(e),BI(e),m9e(e),AI(e),NI(e),n9e(e)}var _9e=["u_tex","u_diffuse","u_emission","u_diffuse_tex"],T9e=["u_diffuse","u_diffuse_mat"];function Gz(e){e.pbrMetallicRoughness=l(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function Ez(e){return l(e.index)}function Iz(e){return Array.isArray(e)&&e.length===4}function koe(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function S9e(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.baseColorTextureNames,_9e),i=y(t.baseColorFactorNames,T9e);Xe.material(e,function(o){Xe.materialValue(o,function(r,s){n.indexOf(s)!==-1&&Ez(r)?(Gz(o),o.pbrMetallicRoughness.baseColorTexture=r):i.indexOf(s)!==-1&&Iz(r)&&(Gz(o),o.pbrMetallicRoughness.baseColorFactor=koe(r))})}),r_(e,"KHR_techniques_webgl"),r_(e,"KHR_blend")}function Rz(e,t){l(t)&&(Iz(t)?e.pbrMetallicRoughness.baseColorFactor=koe(t):Ez(t)&&(e.pbrMetallicRoughness.baseColorTexture=t))}function Foe(e,t){l(t)&&(Iz(t)?e.emissiveFactor=t.slice(0,3):Ez(t)&&(e.emissiveTexture=t))}function C9e(e){Xe.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(!l(n))return;let i=y(n.values,{}),o=i.ambient,r=i.diffuse,s=i.emission,a=i.transparency,c=n.doubleSided,d=n.transparent;Gz(t),n.technique==="CONSTANT"?(Tu(e,"KHR_materials_unlit"),t.extensions=l(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={},Rz(t,s),Rz(t,o)):(Rz(t,r),Foe(t,o),Foe(t,s)),l(c)&&(t.doubleSided=c),l(a)&&(l(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=a:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,a]),l(d)&&(t.alphaMode=d?"BLEND":"OPAQUE")}),r_(e,"KHR_materials_common")}var OI=HAe;var Odn=T(S(),1);var Xdn=T(S(),1);var si={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function V9e(e){switch(e){case si.POSITION:return"positionMC";case si.NORMAL:return"normalMC";case si.TANGENT:return"tangentMC";case si.TEXCOORD:return"texCoord";case si.COLOR:return"color";case si.JOINTS:return"joints";case si.WEIGHTS:return"weights";case si.FEATURE_ID:return"featureId"}}si.hasSetIndex=function(e){switch(e){case si.POSITION:case si.NORMAL:case si.TANGENT:return!1;case si.TEXCOORD:case si.COLOR:case si.JOINTS:case si.WEIGHTS:case si.FEATURE_ID:return!0}};si.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return si.POSITION;case"NORMAL":return si.NORMAL;case"TANGENT":return si.TANGENT;case"TEXCOORD":return si.TEXCOORD;case"COLOR":return si.COLOR;case"JOINTS":return si.JOINTS;case"WEIGHTS":return si.WEIGHTS;case"_FEATURE_ID":return si.FEATURE_ID}};si.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return si.POSITION;case"RGBA":case"RGB":case"RGB565":return si.COLOR;case"NORMAL":case"NORMAL_OCT16P":return si.NORMAL;case"BATCH_ID":return si.FEATURE_ID}};si.getGlslType=function(e){switch(e){case si.POSITION:case si.NORMAL:case si.TANGENT:return"vec3";case si.TEXCOORD:return"vec2";case si.COLOR:return"vec4";case si.JOINTS:return"ivec4";case si.WEIGHTS:return"vec4";case si.FEATURE_ID:return"int"}};si.getVariableName=function(e,t){let n=V9e(e);return l(t)&&(n+=`_${t}`),n};var Vt=Object.freeze(si);function lc(){}lc.getError=function(e,t,n){let i=`Failed to load ${e}: ${t}`;l(n)&&l(n.message)&&(i+=` -${n.message}`);let o=new de(i);return l(n)&&(o.stack=`Original stack: +${n.stack}`),n};cg.prototype.isDestroyed=function(){return!1};cg.prototype.destroy=function(){return this.unload(),me(this)};var zi=cg;var van=T(S(),1),mAe={UNLOADED:0,LOADING:1,LOADED:2,PROCESSING:3,READY:4,FAILED:5},xt=Object.freeze(mAe);function $p(e){e=y(e,y.EMPTY_OBJECT);let t=e.typedArray,n=e.resource,i=e.cacheKey;this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=xt.UNLOADED,this._promise=void 0}l(Object.create)&&($p.prototype=Object.create(zi.prototype),$p.prototype.constructor=$p);Object.defineProperties($p.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});$p.prototype.load=async function(){return l(this._promise)?this._promise:l(this._typedArray)?(this._promise=Promise.resolve(this),this._promise):(this._promise=hAe(this),this._promise)};async function hAe(e){let t=e._resource;e._state=xt.LOADING;try{let n=await $p._fetchArrayBuffer(t);return e.isDestroyed()?void 0:(e._typedArray=new Uint8Array(n),e._state=xt.READY,e)}catch(n){if(e.isDestroyed())return;e._state=xt.FAILED;let i=`Failed to load external buffer: ${t.url}`;throw e.getError(i,n)}}$p._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()};$p.prototype.unload=function(){this._typedArray=void 0};var l_=$p;var ucn=T(S(),1);var $an=T(S());var Ban=T(S()),Uan=function(){var e="b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:G:Qdkr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq;A9pLdbk;QqeKu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRbN:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9Uc;WFbGgecjdaecjd6Ehqcbhkindndnaiak9nmbaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndnaec9WGgsTmbcbhzaPhHawhOxekdnaxmbalheinaraw9Ram6miawcbamzNjjjbamfhwaecufgembxvkkcbhAaPhOinaDaAfRbbhCaDcjlfheaOhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkaraw9Ram6mdaOcefhOawcbamzNjjjbamfhwaAcefgAal9hmbxlkkindnaxTmbaDazfRbbhCaDcjlfheaHhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkkaraO9Ram6mearaOcbamzNjjjbgLamfgw9RcK6mecbhKaDcjlfhOinaDcjlfaKfhYcwhAczhQceheindndnaegXce9hmbcuhoaYRbbmecbhodninaogecsSmeaecefhoaOaefcefRbbTmbkkcucbaecs6EhoxekaXcethocuaXtc;:bGcFb7hCcbheinaoaCaOaefRbb9nfhoaecefgecz9hmbkkaoaQaoaQ6geEhQaXaAaeEhAaXcetheaXcl6mbkdndndndnaAcufPdiebkaLaKco4fgeaeRbbcdciaAclSEaKci4coGtV86bbaAcw9hmeawaY8Pbb83bbawcwfaYcwf8Pbb83bbawczfhwxdkaLaKco4fgeaeRbbceaKci4coGtV86bbkdncwaA9Tg8Ambinawcb86bbawcefhwxbkkcuaAtcu7hYcbhEaOh3ina3hea8AhCcbhoinaeRbbgQaYcFeGgXaQaX6EaoaAtVhoaecefheaCcufgCmbkawao86bba3a8Afh3awcefhwaEa8AfgEcz6mbkcbheindnaOaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaKczfgKas9pmbaOczfhOaraw9RcL0mekkaKas6meawTmeaHcefhHawhOazcefgzalSmixbkkcbhoxikcbhoaraw9Ralcaalca0E6mddnalc8F0mbawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9RhoxdkaDaPaxcufal2falz:tjjjb8Aaxakfhkawmbkcbhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBdN:kjjbk:zse5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:e:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc:y1jjbfydbcdtfydbh3aLaocN1jjbfydbcdtfydbh8AaLaoc:q1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc:q1jjbfydbcdtfydbgKTaLavcN1jjbfydbcdtfydbg8AceSGaLavc:y1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavcj1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:e:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:e:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b9kEc:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A9kEc:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk;HqdCui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgradcFFFFi0Ecbyd:m:kjjbHjjjjbbgeBd:SeavceBd:mdaeabarz:tjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaeadaiavc:Sefz:njjjbavyd:Gehwadci9UgDcbyd:m:kjjbHjjjjbbhravc:Sefavyd:mdgqcdtfarBdbavaqcefgkBd:mdarcbaDzNjjjbhxavc:SefakcdtfcuaicdtaicFFFFi0Ecbyd:m:kjjbHjjjjbbgmBdbavaqcdfgPBd:mdawhramhkinakalIdbalarydbgscwascw6Ecdtfc;ebfIdbMUdbarclfhrakclfhkaicufgimbkavc:SefaPcdtfcuaDcdtadcFFFF970Ecbyd:m:kjjbHjjjjbbgPBdbdnadci6mbaehraPhkaDhiinakamarydbcdtfIdbamarclfydbcdtfIdbMamarcwfydbcdtfIdbMUdbarcxfhrakclfhkaicufgimbkkaqcifhoavc;qbfhzavhravyd:KehHavyd:OehOcbhscbhkcbhAcehCinarhXcihQaeakci2gLcdtfgrydbhdarclfydbhqabaAcx2fgicwfarcwfydbgKBdbaiclfaqBdbaiadBdbaxakfce86bbazaKBdwazaqBdlazadBdbaPakcdtfcbBdbdnasTmbcihQaXhiinazaQcdtfaiydbgrBdbaQaraK9harad9haraq9hGGfhQaiclfhiascufgsmbkkaAcefhAcbhsinaOaHaeasaLfcdtfydbcdtgifydbcdtfgKhrawaifgqydbgdhidnadTmbdninarydbakSmearclfhraicufgiTmdxbkkaraKadcdtfc98fydbBdbaqaqydbcufBdbkascefgsci9hmbkdndnaQTmbcuhkJbbbbhYcbhqavyd:KehKavyd:OehLindndnawazaqcdtfydbcdtgsfydbgrmbaqcefhqxekaqcs0hiamasfgdIdbh8AadalcbaqcefgqaiEcdtfIdbalarcwarcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEarcdthiaLaKasfydbcdtfhrinaParydbgscdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYasakadEhkarclfhraic98fgimbkkaqaQ9hmbkakcu9hmekaCaD9pmdindnaxaCfRbbmbaChkxdkaDaCcefgC9hmbxikkaQczaQcz6EhsazhraXhzakcu9hmbkkaocdtavc:Seffc98fhrdninaoTmearydbcbyd1:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd:m:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Wkivuo99lu8Jjjjjbc;W;Gb9Rgl8Kjjjjbcbhvalcj;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:m:kjjbHjjjjbbgrBdj9GalceBd;G9GalcFFF;7rBdwal9cFFF;7;3FF:;Fb83dbalcFFF97Bd;S9Gal9cFFF;7FFF:;u83d;K9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;K;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;S9GhDalIdlhkalId;O9GhxalIdbhmalId;K9GhPkdndnadTmbJbbbbJbbjZJbbbbaPam:tgPaPJbbbb9DEgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhHalaocbyd:m:kjjbHjjjjbbgiBd:e9GdnadTmbabhzinazaHBdbazclfhzadaHcefgH9hmbkabhHadhzinalaraHydbgecdtfydbcFrGcx2fgvavydbgvcefBdbaiavcdtfaeBdbaHclfhHazcufgzmbkaihHadhzinalaraHydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaHclfhHazcufgzmbkabhHadhzinalaraHydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwaiavcdtfaeBdbaHclfhHazcufgzmbkcbhHinabaiydbcdtfaHBdbaiclfhiadaHcefgH9hmbkkclhidninaic98Smealcj;Gbfaifydbcbyd1:kjjbH:bjjjbbaic98fhixbkkalc;W;Gbf8Kjjjjbk9teiucbcbyd:q:kjjbgeabcifc98GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:kjjbgeabcrfc94GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:kjjbfgdBd:q:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iddbcjwk:edb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:bc:eqkzebbbebbbdbbba:vbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(g){n=g.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(0),n.exports.meshopt_encodeIndexVersion(1)});function o(g){for(var f=new Uint8Array(g.length),x=0;x96?_-97:_>64?_-39:_+4}for(var C=0,x=0;x=3),c(n.exports.meshopt_spatialSortRemap,g,g.length/f,f*4)},encodeVertexBuffer:function(g,f,x){r(x>0&&x<=256),r(x%4==0);var _=n.exports.meshopt_encodeVertexBufferBound(f,x);return d(n.exports.meshopt_encodeVertexBuffer,_,g,f,x)},encodeIndexBuffer:function(g,f,x){r(x==2||x==4),r(f%3==0);var _=m(g,x),C=n.exports.meshopt_encodeIndexBufferBound(f,u(_)+1);return d(n.exports.meshopt_encodeIndexBuffer,C,_,f,4)},encodeIndexSequence:function(g,f,x){r(x==2||x==4);var _=m(g,x),C=n.exports.meshopt_encodeIndexSequenceBound(f,u(_)+1);return d(n.exports.meshopt_encodeIndexSequence,C,_,f,4)},encodeGltfBuffer:function(g,f,x,_){var C={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(C[_]),C[_](g,f,x)},encodeFilterOct:function(g,f,x,_){return r(x==4||x==8),r(_>=1&&_<=16),p(n.exports.meshopt_encodeFilterOct,g,f,x,_,16)},encodeFilterQuat:function(g,f,x,_){return r(x==8),r(_>=4&&_<=16),p(n.exports.meshopt_encodeFilterQuat,g,f,x,_,16)},encodeFilterExp:function(g,f,x,_,C){r(x>0&&x%4==0),r(_>=1&&_<=24);var V={Separate:0,SharedVector:1,SharedComponent:2,Clamped:3};return p(n.exports.meshopt_encodeFilterExp,g,f,x,_,x,C?V[C]:1)}}}();var Yan=T(S()),Noe=function(){var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q:Odkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklzNbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q:6dkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(n)?a(t):a(e),r,s=WebAssembly.instantiate(o,{}).then(function(C){r=C.instance,r.exports.__wasm_call_ctors()});function a(C){for(var V=new Uint8Array(C.length),L=0;L96?Z-97:Z>64?Z-39:Z+4}for(var G=0,L=0;L0?x(C,V,L,u[Z],d[G]):s.then(function(){var I=new Uint8Array(C*V);return c(r,r.exports[u[Z]],I,C,V,L,r.exports[d[G]]),I})}}}();var Kan=T(S()),Han=function(){var e="b9H79Tebbbe9Hk9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gvuuuuue999Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuecj:Pdkr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdmxq;UMesdbk:kfvKue99euY99Qu8Jjjjjbc;W;qb9Rgs8Kjjjjbcbhzascxfcbc;Kbz:ljjjb8AdnabaeSmbabaeadcdtz:kjjjb8AkdnamcdGTmbalcrfci4gHcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd;S1jjbHjjjjbbhzascxfasyd2gecdtfazBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhQdnadTmbaecufhCcbhLinabaXcdtfgKydbgAc:v;t;h;Ev2hOcbhedndninaQaOaCGgOcdtfgYydbgHcuSmeazaHcdtfydbaASmdaecefgeaOfhOaeaC9nmbxdkkazaLcdtfaABdbaYaLBdbaLhHaLcefhLkaKaHBdbaXcefgXad9hmbkkaQcbyd;O1jjbH:bjjjbbasasyd2cufBd2kcualcefgecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbh8Aascxfasyd2gecdtfa8ABdbasa8ABdlasaecefBd2cuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbhEascxfasyd2gecdtfaEBdbasaEBdwasaecefBd2asclfabadalcbz:cjjjbcualcdtg3alcFFFFi0Eg5cbyd;S1jjbHjjjjbbhQascxfasyd2gecdtfaQBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Eascxfasyd2gecdtfa8EBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhLcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhXdnalTmbavcd4hCaecufhHinaLhednazTmbazaLcdtfydbhekaiaeaC2cdtfgeydlgOcH4aO7c:F:b:DD2aeydbgOcH4aO7c;D;O:B8J27aeydwgecH4ae7c:3F;N8N27aHGheaLcdth8FdndndndndnazTmbaza8FfhKcbhOinaXaecdtfgYydbgAcuSmlaiazaAcdtfydbaC2cdtfaiaKydbaC2cdtfcxz:ojjjbTmiaOcefgOaefaHGheaOaH9nmbxdkkaiaLaC2cdtfhKcbhOinaXaecdtfgYydbgAcuSmiaiaAaC2cdtfaKcxz:ojjjbTmdaOcefgOaefaHGheaOaH9nmbkkcbhYkaYydbgecu9hmekaYaLBdbaLhekaQa8FfaeBdbaLcefgLal9hmbkcbhea8EhHinaHaeBdbaHclfhHalaecefge9hmbkcbheaQhHa8EhOindnaeaHydbgCSmbaOa8EaCcdtfgCydbBdbaCaeBdbkaHclfhHaOclfhOalaecefge9hmbkkcbhaaXcbyd;O1jjbH:bjjjbbasasyd2cufBd2alcbyd;S1jjbHjjjjbbhXascxfasyd2gecdtfaXBdbasaecefBd2a5cbyd;S1jjbHjjjjbbheascxfasyd2gHcdtfaeBdbasaHcefBd2a5cbyd;S1jjbHjjjjbbhHascxfasyd2gOcdtfaHBdbasaOcefBd2aecFea3z:ljjjbhhaHcFea3z:ljjjbhgdnalTmbaEcwfh8Jindna8AaagOcefgacdtfydbgCa8AaOcdtgefydbgHSmbaCaH9Rh8FaEaHcitfh3agaefh8KahaefhLcbhAindndna3aAcitfydbgYaO9hmbaLaOBdba8KaOBdbxekdna8AaYcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgCfydbaOSmeaHae9Rh8Maecu7aHfhKa8JaCfhHcbheinaKaeSmeaecefheaHydbhCaHcwfhHaCaO9hmbkaea8M6mekaga8LfgeaOaYaeydbcuSEBdbaLaYaOaLydbcuSEBdbkaAcefgAa8F9hmbkkaaal9hmbkaQhHa8EhOaghCahhAcbheindndnaeaHydbgY9hmbdnaeaOydbgY9hmbaAydbhYdnaCydbgKcu9hmbaYcu9hmbaXaefcb86bbxikaXaefhLdnaeaKSmbaeaYSmbaLce86bbxikaLcl86bbxdkdnaea8EaYcdtgKfydb9hmbdnaCydbgLcuSmbaeaLSmbaAydbg8FcuSmbaea8FSmbagaKfydbg3cuSmba3aYSmbahaKfydbgKcuSmbaKaYSmbdnaQaLcdtfydbgYaQaKcdtfydb9hmbaYaQa8FcdtfydbgKSmbaKaQa3cdtfydb9hmbaXaefcd86bbxlkaXaefcl86bbxikaXaefcl86bbxdkaXaefcl86bbxekaXaefaXaYfRbb86bbkaHclfhHaOclfhOaCclfhCaAclfhAalaecefge9hmbkdnaqTmbdndnazTmbazheaQhHalhOindnaqaeydbfRbbTmbaXaHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaQhealhHindnaqRbbTmbaXaeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaQhealhOaXhHindnaXaeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmbaXhealhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhaascxfasyd2gecdtfaaBdbasaecefBd2aaaialavazz:djjjbh8NdndnaDmbcbhycbh8Jxekcbh8JawhecbhHindnaeIdbJbbbb9ETmbasc;Wbfa8JcdtfaHBdba8Jcefh8JkaeclfheaDaHcefgH9hmbkcua8Jal2gecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbhyascxfasyd2gecdtfayBdbasaecefBd2alTmba8JTmbarcd4hLdnazTmba8JcdthicbhYayhKinaoazaYcdtfydbaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbxdkka8JcdthicbhYayhKinaoaYaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbkkcualc8S2gHalc;D;O;f8U0EgCcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhqdndndndna8JTmbaCcbyd;S1jjbHjjjjbbhvascxfasyd2gecdtfavBdbcehOasaecefBd2avcbaHz:ljjjb8Acua8Jal2gecltgHaecFFFFb0Ecbyd;S1jjbHjjjjbbhrascxfasyd2gecdtfarBdbasaecefBd2arcbaHz:ljjjb8AadmexikcbhvadTmecbhrkcbhAabhHindnaaaHclfydbgYcx2fgeIdbaaaHydbgKcx2fgOIdbg8P:tgIaaaHcwfydbgLcx2fgCIdlaOIdlg8R:tg8SNaCIdba8P:tgRaeIdla8R:tg8UN:tg8Va8VNa8UaCIdwaOIdwg8W:tg8XNa8SaeIdwa8W:tg8UN:tg8Sa8SNa8UaRNa8XaIN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaKcdtfydbc8S2fgea8SaR:rgRa8SNNg8UaeIdbMUdbaeaIaRaINg8YNg8XaeIdlMUdlaea8VaRa8VNg8ZNg80aeIdwMUdwaea8Ya8SNg8YaeIdxMUdxaea8Za8SNg81aeIdzMUdzaea8ZaINg8ZaeIdCMUdCaea8SaRa8Va8WNa8Sa8PNa8RaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaYcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaLcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaHcxfhHaAcifgAad6mbkcbhiabhKinabaicdtfhYcbhHinaXaYaHc:G1jjbfydbcdtfydbgOfRbbhedndnaXaKaHfydbgCfRbbgAc99fcFeGcpe0mbaeceSmbaecd9hmekdnaAcufcFeGce0mbahaCcdtfydbaO9hmekdnaecufcFeGce0mbagaOcdtfydbaC9hmekdnaAcv2aefcj1jjbfRbbTmbaQaOcdtfydbaQaCcdtfydb0mekJbbacJbbacJbbjZaeceSEaAceSEh8ZdnaaaYaHc:K1jjbfydbcdtfydbcx2fgeIdwaaaCcx2fgAIdwg8R:tg8VaaaOcx2fgLIdwa8R:tg8Sa8SNaLIdbaAIdbg8W:tgIaINaLIdlaAIdlg8U:tgRaRNMMg8PNa8Va8SNaeIdba8W:tg80aINaRaeIdla8U:tg8YNMMg8Xa8SN:tg8Va8VNa80a8PNa8XaIN:tg8Sa8SNa8Ya8PNa8XaRN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaCcdtfydbc8S2fgea8Sa8Za8P:rNgRa8SNNg8XaeIdbMUdbaeaIaRaINg8ZNg80aeIdlMUdlaea8VaRa8VNg8PNg8YaeIdwMUdwaea8Za8SNg8ZaeIdxMUdxaea8Pa8SNg81aeIdzMUdzaea8PaINgBaeIdCMUdCaea8SaRa8Va8RNa8Sa8WNa8UaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaOcdtfydbc8S2fgea8XaeIdbMUdbaea80aeIdlMUdlaea8YaeIdwMUdwaea8ZaeIdxMUdxaea81aeIdzMUdzaeaBaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaicifgiad6mbkdna8JTmbcbhKinJbbbbh8WaaabaKcdtfgeclfydbgLcx2fgHIdwaaaeydbgicx2fgOIdwg8Y:tgIaINaHIdbaOIdbg81:tg8Va8VNaHIdlaOIdlgB:tgRaRNMMg8Zaaaecwfydbg8Fcx2fgeIdwa8Y:tg8PNaIaIa8PNa8VaeIdba81:tg8RNaRaeIdlaB:tg8UNMMg8SN:tJbbbbJbbjZa8Za8Pa8PNa8Ra8RNa8Ua8UNMMg80Na8Sa8SN:tg8X:va8XJbbbb9BEg8XNh83a80aINa8Pa8SN:ta8XNhUa8Za8UNaRa8SN:ta8XNh85a80aRNa8Ua8SN:ta8XNh86a8Za8RNa8Va8SN:ta8XNh87a80a8VNa8Ra8SN:ta8XNh88a8Va8UNa8RaRN:tg8Sa8SNaRa8PNa8UaIN:tg8Sa8SNaIa8RNa8Pa8VN:tg8Sa8SNMM:rJbbbZNh8Sayaia8J2g3cdtfhHaya8Fa8J2gwcdtfhOayaLa8J2g8LcdtfhCa8Y:mh89aB:mh8:a81:mhZcbhAa8JhYJbbbbh8UJbbbbh8XJbbbbh8ZJbbbbh80Jbbbbh8YJbbbbh81JbbbbhBJbbbbhnJbbbbhcinasc;WbfaAfgecwfa8SaUaCIdbaHIdbg8P:tgRNa83aOIdba8P:tg8RNMgINUdbaeclfa8Sa86aRNa85a8RNMg8VNUdbaea8Sa88aRNa87a8RNMgRNUdbaecxfa8Sa89aINa8:a8VNa8PaZaRNMMMg8PNUdba8SaIa8VNNa80Mh80a8SaIaRNNa8YMh8Ya8Sa8VaRNNa81Mh81a8Sa8Pa8PNNa8WMh8Wa8SaIa8PNNa8UMh8Ua8Sa8Va8PNNa8XMh8Xa8SaRa8PNNa8ZMh8Za8SaIaINNaBMhBa8Sa8Va8VNNanMhna8SaRaRNNacMhcaHclfhHaCclfhCaOclfhOaAczfhAaYcufgYmbkavaic8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyavaLc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyava8Fc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyara3cltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkara8LcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkarawcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkaKcifgKad6mbkkcbhOxekcehOcbhrkcbh8FdndnamcwGg9cmbJbbbbh8ZcbhJcbhocbhCxekcbhea5cbyd;S1jjbHjjjjbbhCascxfasyd2gHcdtfaCBdbasaHcefBd2dnalTmbaChHinaHaeBdbaHclfhHalaecefge9hmbkkdnaOmbcbhiinabaicdtfhLcbhKinaQaLaKcdtgec:G1jjbfydbcdtfydbcdtfydbhHdnaCaQaLaefydbcdtfydbgOcdtfgAydbgeaOSmbinaAaCaegOcdtfgYydbgeBdbaYhAaOae9hmbkkdnaCaHcdtfgAydbgeaHSmbinaAaCaegHcdtfgYydbgeBdbaYhAaHae9hmbkkdnaOaHSmbaCaOaHaOaH0EcdtfaOaHaOaH6EBdbkaKcefgKci9hmbkaicifgiad6mbkkcbhJdnalTmbcbhYindnaQaYcdtgefydbaY9hmbaYhHdnaCaefgKydbgeaYSmbaKhOinaOaCaegHcdtfgAydbgeBdbaAhOaHae9hmbkkaKaHBdbkaYcefgYal9hmbkcbheaQhOaChHcbhJindndnaeaOydbgA9hmbdnaeaHydbgA9hmbaHaJBdbaJcefhJxdkaHaCaAcdtfydbBdbxekaHaCaAcdtfydbBdbkaOclfhOaHclfhHalaecefge9hmbkkcuaJcltgeaJcjjjjiGEcbyd;S1jjbHjjjjbbhoascxfasyd2gHcdtfaoBdbasaHcefBd2aocbaez:ljjjbhAdnalTmbaChOaahealhYinaecwfIdbh8SaeclfIdbhIaAaOydbcltfgHaeIdbaHIdbMUdbaHclfgKaIaKIdbMUdbaHcwfgKa8SaKIdbMUdbaHcxfgHaHIdbJbbjZMUdbaOclfhOaecxfheaYcufgYmbkkdnaJTmbaAheaJhHinaecxfgOIdbh8SaOcbBdbaeaeIdbJbbbbJbbjZa8S:va8SJbbbb9BEg8SNUdbaeclfgOa8SaOIdbNUdbaecwfgOa8SaOIdbNUdbaeczfheaHcufgHmbkkdnalTmbaChOaahealhYinaAaOydbcltfgHcxfgKaecwfIdbaHcwfIdb:tg8Sa8SNaeIdbaHIdb:tg8Sa8SNaeclfIdbaHclfIdb:tg8Sa8SNMMg8SaKIdbgIaIa8S9DEUdbaOclfhOaecxfheaYcufgYmbkkdnaJmbcbhJJFFuuh8ZxekaAcxfheaAhHaJhOinaHaeIdbUdbaeczfheaHclfhHaOcufgOmbkJFFuuh8ZaAheaJhHinaeIdbg8Sa8Za8Za8S9EEh8ZaeclfheaHcufgHmbkkasydlh9ednalTmba9eclfhea9eydbhAaXhHalhYcbhOincbaeydbgKaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaKhAaYcufgYmbkaOce4h8Fkcuada8F9RcifgTcx2aTc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhDascxfasyd2gecdtfaDBdbasaecefBd2cuaTcdtaTcFFFFi0Ecbyd;S1jjbHjjjjbbhSascxfasyd2gecdtfaSBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Mascxfasyd2gecdtfa8MBdbasaecefBd2alcbyd;S1jjbHjjjjbbh9hascxfasyd2gecdtfa9hBdbasaecefBd2axaxNa8NJbbjZamclGEg83a83N:vhcJbbbbhndnadak9nmbdnaTci6mba8Jclth9iaDcwfh6JbbbbhBJbbbbhninasclfabadalaQz:cjjjbabh8FcbhEcbh5inaba5cdtfh3cbheindnaQa8FaefydbgOcdtgifydbgYaQa3aec:W1jjbfydbcdtfydbgHcdtgwfydbgKSmbaXaHfRbbgLcv2aXaOfRbbgAfc;a1jjbfRbbg8AaAcv2aLfg8Lc;a1jjbfRbbg8KVcFeGTmbdnaKaY9nmba8Lcj1jjbfRbbcFeGmekaAcufhYdnaAaL9hmbaYcFeGce0mbahaifydbaH9hmekdndnaAclSmbaLcl9hmekdnaYcFeGce0mbahaifydbaH9hmdkaLcufcFeGce0mbagawfydbaO9hmekaDaEcx2fgAaHaOa8KcFeGgYEBdlaAaOaHaYEBdbaAaYa8AGcb9hBdwaEcefhEkaeclfgecx9hmbkdna5cifg5ad9pmba8Fcxfh8FaEcifaT9nmekkaETmdcbhiinJbbbbJbbjZaqaQaDaicx2fgAydlgKaAydbgYaAydwgHEgLcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaYaKaHEg8Fcx2fgHIdwgRNaeIdzaHIdbg8PNaeIdaMg8Sa8SMMaRNaeIdlaHIdlg8RNaeIdCaRNaeId3Mg8Sa8SMMa8RNaeIdba8PNaeIdxa8RNaeIdKMg8Sa8SMMa8PNaeId8KMMM:lNh80JbbbbJbbjZaqaQaYcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaKcx2fgHIdwg8VNaeIdzaHIdbg8WNaeIdaMg8Sa8SMMa8VNaeIdlaHIdlg8UNaeIdCa8VNaeId3Mg8Sa8SMMa8UNaeIdba8WNaeIdxa8UNaeIdKMg8Sa8SMMa8WNaeId8KMMM:lNh8YaAcwfh3aAclfhwdna8JTmbavaYc8S2fgOIdwa8VNaOIdza8WNaOIdaMg8Sa8SMMa8VNaOIdla8UNaOIdCa8VNaOId3Mg8Sa8SMMa8UNaOIdba8WNaOIdxa8UNaOIdKMg8Sa8SMMa8WNaOId8KMMMh8SayaKa8J2cdtfhHaraYa8J2cltfheaOIdyh8Xa8JhOinaHIdbgIaIa8XNaecxfIdba8VaecwfIdbNa8WaeIdbNa8UaeclfIdbNMMMgIaIM:tNa8SMh8SaHclfhHaeczfheaOcufgOmbkavaLc8S2fgOIdwaRNaOIdza8PNaOIdaMgIaIMMaRNaOIdla8RNaOIdCaRNaOId3MgIaIMMa8RNaOIdba8PNaOIdxa8RNaOIdKMgIaIMMa8PNaOId8KMMMhIaya8Fa8J2cdtfhHaraLa8J2cltfheaOIdyh8Wa8JhOinaHIdbg8Va8Va8WNaecxfIdbaRaecwfIdbNa8PaeIdbNa8RaeclfIdbNMMMg8Va8VM:tNaIMhIaHclfhHaeczfheaOcufgOmbka80aI:lMh80a8Ya8S:lMh8YkawaKa8Fa8Ya809FgeEBdbaAaYaLaeEBdba3a8Ya80aeEUdbaicefgiaE9hmbkasc;Wbfcbcj;qbz:ljjjb8Aa6heaEhHinasc;WbfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinasc;WbfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea6hHinasc;WbfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdbaSaOcdtfaeBdbaHcxfhHaEaecefge9hmbkadak9RgOci9Uh9kdnalTmbcbhea8MhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh0a9hcbalz:ljjjbh9maOcO9Uh9na9kce4h9oasydwh9pcbh8KcbhwdninaDaSawcdtfydbcx2fg3Idwg8Sac9Emea8Ka9k9pmeJFFuuhIdna9oaE9pmbaDaSa9ocdtfydbcx2fIdwJbb;aZNhIkdna8SaI9ETmba8San9ETmba8Ka9n0mdkdna9maQa3ydlgicdtg9qfydbgAfg9rRbba9maQa3ydbgLcdtg9sfydbgHfg9tRbbVmbaXaLfRbbh9udna9eaHcdtfgeclfydbgOaeydbgeSmbaOae9RhKa9paecitfheaaaAcx2fg8Lcwfh5a8Lclfh9vaaaHcx2fg8Acwfh9wa8Aclfh9xcbhHceh8Fdnindna8MaeydbcdtfydbgOaASmba8MaeclfydbcdtfydbgYaASmbaOaYSmbaaaYcx2fgYIdbaaaOcx2fgOIdbg8V:tg8Sa9xIdbaOIdlgR:tg8WNa8AIdba8V:tg8UaYIdlaR:tgIN:tg8Pa8Sa9vIdbaR:tg8XNa8LIdba8V:tg80aIN:tgRNaIa9wIdbaOIdwg8R:tg8YNa8WaYIdwa8R:tg8VN:tg8WaIa5Idba8R:tg81Na8Xa8VN:tgINa8Va8UNa8Ya8SN:tg8Ra8Va80Na81a8SN:tg8SNMMa8Pa8PNa8Wa8WNa8Ra8RNMMaRaRNaIaINa8Sa8SNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaK6h8FaKaH9hmbkka8FceGTmba9ocefh9oxeka3cwfhHdndndndna9uc9:fPdebdkaLheina8MaecdtgefaiBdba8EaefydbgeaL9hmbxikkdnagahaha9sfydbaiSEa8Ea9sfydbgLcdtfydbgecu9hmba8Ea9qfydbheka8Ma9sfaiBdbaehika8MaLcdtfaiBdbka9tce86bba9rce86bbaHIdbg8Sanana8S9DEhna0cefh0cecda9uceSEa8Kfh8KkawcefgwaE9hmbkka0TmddnalTmbcbhKcbhiindna8MaicdtgefydbgOaiSmbaQaOcdtfydbh8FdnaiaQaefydb9hg3mbaqa8Fc8S2fgeaqaic8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyka8JTmbavaOc8S2fgeavaic8S2gwfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9iaO2hLarhHa8JhAinaHaLfgeaHaKfgOIdbaeIdbMUdbaeclfgYaOclfIdbaYIdbMUdbaecwfgYaOcwfIdbaYIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbka3mbJbbbbJbbjZaqawfgeIdyg8S:va8SJbbbb9BEaeIdwaaa8Fcx2fgHIdwg8SNaeIdzaHIdbgINaeIdaMg8Va8VMMa8SNaeIdlaHIdlg8VNaeIdCa8SNaeId3Mg8Sa8SMMa8VNaeIdbaINaeIdxa8VNaeIdKMg8Sa8SMMaINaeId8KMMM:lNg8SaBaBa8S9DEhBkaKa9ifhKaicefgial9hmbkcbhHahheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOahaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHagheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOagaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkkaBana8JEhBcbhYabhecbhKindna8MaeydbcdtfydbgHa8MaeclfydbcdtfydbgOSmbaHa8MaecwfydbcdtfydbgASmbaOaASmbabaYcdtfgLaHBdbaLcwfaABdbaLclfaOBdbaYcifhYkaecxfheaKcifgKad6mbkdndna9cTmbaYak9nmba8ZaB9FTmbcbhdabhecbhHindnaoaCaeydbgOcdtfydbcdtfIdbaB9ETmbabadcdtfgAaOBdbaAclfaeclfydbBdbaAcwfaecwfydbBdbadcifhdkaecxfheaHcifgHaY6mbkJFFuuh8ZaJTmeaoheaJhHJFFuuh8SinaeIdbgIa8Sa8SaI9EEg8Va8SaIaB9EgOEh8Sa8Va8ZaOEh8ZaeclfheaHcufgHmbxdkkaYhdkadak0mbxdkkasclfabadalaQz:cjjjbkdndnadak0mbadhOxekdna9cmbadhOxekdna8Zac9FmbadhOxekina8ZJbb;aZNg8Saca8Sac9DEh8VJbbbbh8SdnaJTmbaoheaJhHinaeIdbgIa8SaIa8V9FEa8SaIa8S9EEh8SaeclfheaHcufgHmbkkcbhOabhecbhHindnaoaCaeydbgAcdtfydbcdtfIdba8V9ETmbabaOcdtfgYaABdbaYclfaeclfydbBdbaYcwfaecwfydbBdbaOcifhOkaecxfheaHcifgHad6mbkJFFuuh8ZdnaJTmbaoheaJhHJFFuuhIinaeIdbgRaIaIaR9EEg8PaIaRa8V9EgAEhIa8Pa8ZaAEh8ZaeclfheaHcufgHmbkkdnaOad9hmbadhOxdka8Sanana8S9DEhnaOak9nmeaOhda8Zac9FmbkkdnamcjjjjlGTmbazmbaOTmbcbhQabheinaXaeydbgAfRbbc3thKaecwfgLydbhHdndnahaAcdtg8FfydbaeclfgiydbgCSmbcbhYagaCcdtfydbaA9hmekcjjjj94hYkaeaKaYVaAVBdbaXaCfRbbc3thKdndnahaCcdtfydbaHSmbcbhYagaHcdtfydbaC9hmekcjjjj94hYkaiaKaYVaCVBdbaXaHfRbbc3thYdndnahaHcdtfydbaASmbcbhCaga8FfydbaH9hmekcjjjj94hCkaLaYaCVaHVBdbaecxfheaQcifgQaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPa83an:rNUdbkasyd2gecdtascxffc98fhHdninaeTmeaHydbcbyd;O1jjbH:bjjjbbaHc98fhHaecufhexbkkasc;W;qbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk;Podvuv998Jjjjjbca9RgvcFFF;7rBd3av9cFFF;7;3FF:;Fb83dCavcFFF97Bdzav9cFFF;7FFF:;u83dwdnadTmbaicd4hodnabmbdnalTmbcbhrinaealarcdtfydbao2cdtfhwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxikkaocdthrcbhwincbhiinavcCfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbxdkkdnalTmbcbhrinabarcx2fgiaealarcdtfydbao2cdtfgwIdbUdbaiawIdlUdlaiawIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxdkkaocdthlcbhraehwinabarcx2fgiaearao2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawalfhwarcefgrad9hmbkkJbbbbavIdwavIdCgk:tgqaqJbbbb9DEgqavIdxavIdKgx:tgmamaq9DEgqavIdzavId3gm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgvaqavIdbax:tNUdbabcwfgvaqavIdbam:tNUdbabcxfhbadcufgdmbkkaPk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbk:nCoDud99rue99lul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbgqBdxawceBd2aqaeadaicbz:djjjb8AawcuadcdtadcFFFFi0Egkcbyd;S1jjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd;S1jjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbh5cbh8Eindna3axa8EcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5a8Ecefg8Ead9hmbxdkkazcFeasz:ljjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8FaD:Y:tgaa8FaK:Y:tgha5:ZggaH:tNNNaOaH:tahNa8Aag:tNa8AaH:taaNagaO:tNM:va8FMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd;S1jjbHjjjjbbg8EBdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbhDcbh5inaxa5cdtgYfydbgCcm4aC7c:v;t;h;Ev2gics4ai7hecbhidndnina3aeaAGgmcdtfgEydbgecuSmednaxaecdtgEfydbaCSmbaicefgiamfheaiaA9nmekka8EaEfydbhixekaEa5BdbaDhiaDcefhDka8EaYfaiBdba5cefg5ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:ljjjb8AcbhDcbhekawaecbyd;S1jjbHjjjjbbgeBd3awcvBd2aecbaiz:ljjjbhEavcd4hxdnadTmbdnalTmbaxcdth3a8EhCalheaqhmadhAinaEaCydbc32fgiamIdbaiIdbMUdbaiamclfIdbaiIdlMUdlaiamcwfIdbaiIdwMUdwaiaeIdbaiIdxMUdxaiaeclfIdbaiIdzMUdzaiaecwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaea3fheamcxfhmaAcufgAmbxdkka8EhmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd;S1jjbHjjjjbbgeBdaawcoBd2awaicbyd;S1jjbHjjjjbbg3Bd8KaecFeaYz:ljjjbh5dnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8Aaxcdthxalheina8Aaec;C1jjbalEgmIdwaEa8EydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndna5aAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka8Eclfh8EaeaxfheaqcxfhqadaCcefgC9hmbkkaba5aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd;O1jjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Odieui99iu8Jjjjjbca9RgicFFF;7rBd3ai9cFFF;7;3FF:;Fb83dCaicFFF97Bdzai9cFFF;7FFF:;u83dwdndnaembJbbjFhlJbbjFhvJbbjFhoxekadcd4cdthrcbhwincbhdinaicCfadfgDabadfIdbglaDIdbgvaval9EEUdbaicwfadfgDalaDIdbgvaval9DEUdbadclfgdcx9hmbkabarfhbawcefgwae9hmbkaiIdzaiId3:thoaiIdxaiIdK:thvaiIdwaiIdC:thlkJbbbbalalJbbbb9DEglavaval9DEglaoaoal9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcifc98GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcrfc94GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;W1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;W1jjbfgdBd;W1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:bedbcjwk9Oeeebeebebbeeebebbbbbebebbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbbbbbbbbbbc;OwkxebbbdbbbjNbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(f){n=f.instance,n.exports.__wasm_call_ctors()});function o(f){for(var x=new Uint8Array(f.length),_=0;_96?C-97:C>64?C-39:C+4}for(var V=0,_=0;_=3),r(C>=0&&C<=f.length),r(C%3==0),r(V>=0);for(var Z=0,G=0;G<(L?L.length:0);++G)r(L[G]in g),r(this.useExperimentalFeatures||L[G]!="Prune"),Z|=g[L[G]];var I=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),v=d(n.exports.meshopt_simplify,I,f.length,x,x.length/_,_*4,C,V,Z);return v[0]=f instanceof Uint32Array?v[0]:new f.constructor(v[0]),v},simplifyWithAttributes:function(f,x,_,C,V,L,Z,G,I,v){r(this.useExperimentalFeatures),r(f instanceof Uint32Array||f instanceof Int32Array||f instanceof Uint16Array||f instanceof Int16Array),r(f.length%3==0),r(x instanceof Float32Array),r(x.length%_==0),r(_>=3),r(C instanceof Float32Array),r(C.length%V==0),r(V>=0),r(Z==null||Z instanceof Uint8Array),r(Z==null||Z.length==x.length/_),r(G>=0&&G<=f.length),r(G%3==0),r(I>=0),r(Array.isArray(L)),r(V>=L.length),r(L.length<=32);for(var P=0;P=0);for(var w=0,P=0;P<(v?v.length:0);++P)r(v[P]in g),w|=g[v[P]];var A=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f),b=u(n.exports.meshopt_simplifyWithAttributes,A,f.length,x,x.length/_,_*4,C,V*4,new Float32Array(L),Z?new Uint8Array(Z):null,G,I,w);return b[0]=f instanceof Uint32Array?b[0]:new f.constructor(b[0]),b},getScale:function(f,x){return r(f instanceof Float32Array),r(f.length%x==0),r(x>=3),m(n.exports.meshopt_simplifyScale,f,f.length/x,x*4)},simplifyPoints:function(f,x,_,C,V,L){return r(this.useExperimentalFeatures),r(f instanceof Float32Array),r(f.length%x==0),r(x>=3),r(_>=0&&_<=f.length/x),C?(r(C instanceof Float32Array),r(C.length%V==0),r(V>=3),r(f.length/x==C.length/V),p(n.exports.meshopt_simplifyPoints,f,f.length/x,x*4,C,V*4,L,_)):p(n.exports.meshopt_simplifyPoints,f,f.length/x,x*4,void 0,0,0,_)}}}();var jan=T(S()),Jan=function(){var e="b9H79Tebbbefx9Geueu9Geub9Gbb9Giuuueu9Gkuuuuuuuuuu99eu9Gvuuuuueu9Gkuuuuuuuuu9999eu9Gruuuuuuub9Gkuuuuuuuuuuueu9Gouuuuuub9Giuuub9GluuuubiOHdilvorwDqrkbiibeilve9Weiiviebeoweuec:q:Odkr:Yewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bd39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbql79IV9RbkDwebcekdsPq;L9kHdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:oAlPue99eux998Jjjjjbc:We9Rgk8Kjjjjbakc;mbfcbc;Kbz:njjjb8AakcuaocdtgxaocFFFFi0Egmcbyd:e1jjbHjjjjbbgPBd9makceBd:SeakaPBdnakamcbyd:e1jjbHjjjjbbgsBd9qakcdBd:SeakasBd9eakcualcdtalcFFFFi0Ecbyd:e1jjbHjjjjbbgzBd9uakazBd9iakciBd:SeaPcbaxz:njjjbhHalci9UhOdnalTmbaihPalhAinaHaPydbcdtfgCaCydbcefBdbaPclfhPaAcufgAmbkkdnaoTmbcbhPashAaHhCaohXinaAaPBdbaAclfhAaCydbaPfhPaCclfhCaXcufgXmbkkdnalci6mbcbhPaihAinaAcwfydbhCaAclfydbhXasaAydbcdtfgQaQydbgQcefBdbazaQcdtfaPBdbasaXcdtfgXaXydbgXcefBdbazaXcdtfaPBdbasaCcdtfgCaCydbgCcefBdbazaCcdtfaPBdbaAcxfhAaOaPcefgP9hmbkkdnaoTmbaHhAashPaohCinaPaPydbaAydb9RBdbaAclfhAaPclfhPaCcufgCmbkkakamcbyd:e1jjbHjjjjbbgPBd9yakclBd:SeaPaHaxz:mjjjbhmakaOcbyd:e1jjbHjjjjbbgPBd9CakcvBd:SeaPcbaOz:njjjbhLakcuaOcK2alcjjjjd0Ecbyd:e1jjbHjjjjbbgKBd9GakcoBd:SeJbbbbhYdnalci6g8Ambarcd4hxaihAaKhPaOhrJbbbbhEinavaAclfydbax2cdtfgCIdlh3avaAydbax2cdtfgXIdlhYavaAcwfydbax2cdtfgQIdlh5aCIdwh8EaXIdwh8FaQIdwhaaPaCIdbghaXIdbggMaQIdbg8JMJbbnn:vUdbaPclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8KaCIdwh8LaXIdwh8MaPcxfa3aY:tg3aaa8F:tgaNa5aY:tg5a8Ea8F:tg8EN:tgYJbbbbJbbjZahag:tgha5Na8Jag:tgga3N:tg8Fa8FNaYaYNa8EagNaaahN:tgYaYNMM:rgg:vagJbbbb9BEg3NUdbaPczfaYa3NUdbaPcCfa8Fa3NUdbaPcwfa8Ka8Ma8LMMJbbnn:vUdbaEagMhEaAcxfhAaPcKfhParcufgrmbkaEaO:Z:vJbbbZNhYkakcuaOcdtalcFFFF970Ecbyd:e1jjbHjjjjbbgCBd9KakcrBd:SeaYaD:ZN:rhYdna8AmbcbhPaChAinaAaPBdbaAclfhAaOaPcefgP9hmbkkaYJbbbZNh8MakcuaOcltalcFFFFd0Ecbyd:e1jjbHjjjjbbg8ABd9OakcwBd:Secba8AaKaCaOz:djjjb8Aakaocbyd:e1jjbHjjjjbbgPBd2aPcFeaoz:njjjbhrakc8Wfcwf9cb83ibak9cb83i8WcbhPJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgcbhlinJbbbbh3dnaPTmbJbbjZaP:Z:vh3kaka8Ea3NgaUdaaka5a3NghUd3akaEa3Ng8JUdKJbbbbh3dnagagNaYaYNa8Fa8FNMMg8KJbbbb9BmbJbbjZa8K:r:vh3kakaga3NUd8Saka8Fa3NUdyakaYa3NUd8Kdndndnakyd8WgQakydUgAakcKfaeaiakc;abfaKamara8Maqz:ejjjbgCcuSmbdnaPaD9pmbaAaraiaCcx2fgXydbfRbbcFeSfaraXclfydbfRbbcFeSfaraXcwfydbfRbbcFeSfaw9nmdkaQaAcbaeaiakc;abfaKamara8MJbbbbz:ejjjbgCcu9hmekakaaUdCakahUdzaka8JUdxakcuBdwakcFFF;7rBdla8AcbaKaLakcxfakcwfakclfz:fjjjbakydwgCcuSmekdnakc8WfaiaCcx2fgOydbgPaOclfydbgAaOcwfydbgXarabaeadalawaDz:gjjjbTmbalcefhlJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgkamaPcdtfgPaPydbcufBdbamaAcdtfgPaPydbcufBdbamaXcdtfgPaPydbcufBdbcbhXinazasaOaXcdtfydbcdtgAfydbcdtfgxhPaHaAfgvydbgQhAdnaQTmbdninaPydbaCSmeaPclfhPaAcufgATmdxbkkaPaxaQcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbkaKaCcK2fgPIdbh3aPIdlhaaPIdwhhaPIdxh8JaPIdzh8KaPIdCh8LaLaCfce86bbaga8LMhga8Fa8KMh8FaYa8JMhYa8EahMh8Ea5aaMh5aEa3MhEakyd88hPxekkdnaPTmbdnakyd80gAaPci2fgCciGTmbadaCfcbaPaAcu7fciGcefz:njjjb8AkabalcltfgPak8Pi8W83dbaPcwfakc8Wfcwf8Pib83dbalcefhlkcahPdninaPc98Smeakc;mbfaPfydbcbydj1jjbH:bjjjbbaPc98fhPxbkkakc:Wef8Kjjjjbalk;3vivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbaeabcitfgrarydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark;Bloeue99vue99Due99dndnaembcuhkxekJbbjZaq:thxaiabcdtfhmavydbhPavydlhsavydwhzcbhHJFFuuhOcvhbcuhkindnaPamaHcdtfydbcdtgvfydbgATmbazasavfydbcdtfhiindndnawalaiydbgCcx2fgvclfydbgXfRbbcFeSawavydbgQfRbbcFeSfawavcwfydbgLfRbbcFeSfgKmbcbhvxekcehvaraQcdtfydbgYceSmbcehvaraXcdtfydbg8AceSmbcehvaraLcdtfydbgEceSmbdna8AcdSaYcdSfaEcdSfcd6mbaKcefhvxekaKcdfhvkdnavab9kmbdndnadTmbaoaCcK2fgQIdwadIdw:tg3a3NaQIdbadIdb:tg3a3NaQIdladIdl:tg3a3NMM:raD:vaxNJbbjZMJ9VO:d86JbbjZaQIdCadIdCNaQIdxadIdxNaQIdzadIdzNMMaqN:tg3a3J9VO:d869DENh3xekaraQcdtfydbaraXcdtfydbfaraLcdtfydbfc99f:Zh3kaCakavab6a3aO9DVgQEhkavabaQEhba3aOaQEhOkaiclfhiaAcufgAmbkkaHcefgHae9hmbkkakk;bddlue99dndndnabaecitfgrydlgwciGgDci9hmbarclfhqxekinabcbawcd4gwalaDcdtfIdbabaecitfIdb:tgkJbbbb9FEgDaecefgefadaialavaoz:fjjjbak:laoIdb9FTmdabaDaw7aefgecitfgrydlgwciGgDci9hmbkarclfhqkabaecitfhecuhbindnaiaeydbgDfRbbmbadaDcK2fgrIdwalIdw:tgkakNarIdbalIdb:tgkakNarIdlalIdl:tgkakNMM:rgkaoIdb9DTmbaoakUdbavaDBdbaqydbhwkaecwfheabcefgbawcd46mbkkk;yleoudnaladfgkRbbcFeSalaefgxRbbgmcFeSfabydwgPfalaifgsRbbcFeSfaD0abydxaq9pVgzce9hmbavawcltfgmab8Pdb83dbamcwfabcwfgm8Pdb83dbdndnamydbmbcbhqxekcbhDaohminalamabydbcdtfydbfcFe86bbamclfhmaDcefgDabydwgq6mbkkdnabydxglci2gDabydlgmfgPciGTmbaraPfcbalamcu7fciGcefz:njjjb8Aabydxci2hDabydlhmabydwhqkab9cb83dwababydbaqfBdbabaDcifc98GamfBdlaxRbbhmcbhPkdnamcFeGcFe9hmbaxaP86bbababydwgmcefBdwaoabydbcdtfamcdtfaeBdbkdnakRbbcFe9hmbakabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfadBdbkdnasRbbcFe9hmbasabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfaiBdbkarabydlfabydxci2faxRbb86bbarabydlfabydxci2fcefakRbb86bbarabydlfabydxci2fcdfasRbb86bbababydxcefBdxazk;Ckovud99euv99eul998Jjjjjbc:G;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:G:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaocafawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeao9cb83iKao9cb83izaoczfaocafawci2z1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:G:qefawz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:G:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:G:qefheaocafhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabazUd3abc8KfaxUdbabcafasUdbabcKfaCaxaPN:tUdbabcCfaXasaPN:tUdbabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabc8Ufae86bbdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabcRfav86bbdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:G;aef8Kjjjjbk:mvdouq99cbhi8Jjjjjbca9RglczfcwfcbBdbal9cb83izalcwfcbBdbal9cb83ibdnadTmbcbhvinaeaifhocbhrinalczfarfgwavawydbgwaoarfIdbgDaearawcx2ffIdb9DEBdbalarfgwavawydbgwaDaearawcx2ffIdb9EEBdbarclfgrcx9hmbkaicxfhiavcefgvad9hmbkkJbbbbhDcbhrcbhicbhvinaealarfydbcx2fgwIdwaealczfarfydbcx2fgoIdw:tgqaqNawIdbaoIdb:tgqaqNawIdlaoIdl:tgqaqNMMgqaDaqaD9EgwEhDavaiawEhiarclfhravcefgvci9hmbkaealczfaicdtgvfydbcx2fgrIdwaealavfydbcx2fglIdwMJbbbZNhqarIdlalIdlMJbbbZNhkarIdbalIdbMJbbbZNhxaD:rJbbbZNhDdnadTmbindnaecwfIdbgmaq:tgPaPNaeIdbgsax:tgPaPNaeclfIdbgzak:tgPaPNMMgPaDaDN9ETmbaqaDaP:rgH:vJbbbZNJbbbZMgPNamJbbjZaP:tgONMhqakaPNazaONMhkaxaPNasaONMhxaDaHMJbbbZNhDkaecxfheadcufgdmbkkabaDUdxabaqUdwabakUdlabaxUdbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Ylequ8Jjjjjbcjx9Rgl8Kjjjjbcbhvalcjqfcbaiz:njjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjqfaDcefRbbfRbb9RcFeGci6aoalcjqfaDRbbfRbb9RcFeGci6faoalcjqfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:qjjjb8Aakalcjqffaocefgo86bbaxalcjqffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjqffao86bbarcifhravcefgvad9hmbkalcFeaiz:njjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkfgwRbbgDcFe9hmbawax86bbaocjdfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjdfaDz:mjjjb8Aalcjxf8Kjjjjbk9teiucbcbyd11jjbgeabcifc98GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd11jjbgeabcrfc94GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd11jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd11jjbfgdBd11jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkkAebcjwkxebbbdbbbzNbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(f){n=f.instance,n.exports.__wasm_call_ctors()});function o(f){for(var x=new Uint8Array(f.length),_=0;_96?C-97:C>64?C-39:C+4}for(var V=0,_=0;_=3),r(C<=255||C>0),r(V<=512),r(V%4==0),L=L||0;var Z=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f);return u(Z,x,x.length/_,_*4,C,V,L)},computeClusterBounds:function(f,x,_){r(f.length%3==0),r(f.length/3<=512),r(x instanceof Float32Array),r(x.length%_==0),r(_>=3);var C=f.BYTES_PER_ELEMENT==4?f:new Uint32Array(f);return g(C,x,x.length/_,_*4)},computeMeshletBounds:function(f,x,_){return r(f.meshletCount!=0),r(x instanceof Float32Array),r(x.length%_==0),r(_>=3),p(f,x,x.length/_,_*4)},extractMeshlet:function(f,x){return r(x>=0&&x{Fr._error=t}),Fr._decoderTaskProcessor=e}return Fr._decoderTaskProcessor};Fr.decodePointCloud=function(e){let t=Fr._getDecoderTaskProcessor();if(l(Fr._error))throw Fr._error;if(Fr._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};Fr.decodeBufferView=function(e){let t=Fr._getDecoderTaskProcessor();if(l(Fr._error))throw Fr._error;if(Fr._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var eb=Fr;function lg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=xt.UNLOADED,this._promise=void 0,this._dracoError=void 0}l(Object.create)&&(lg.prototype=Object.create(zi.prototype),lg.prototype.constructor=lg);Object.defineProperties(lg.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function bAe(e){let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._draco.bufferView,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._bufferViewTypedArray=n.typedArray,e._state=xt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;koe(e,n)}}lg.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=xt.LOADING,this._promise=bAe(this),this._promise)};function koe(e,t){throw e.unload(),e._state=xt.FAILED,e.getError("Failed to load Draco",t)}async function gAe(e,t){try{let n=await t;return e.isDestroyed()?void 0:(e.unload(),e._decodedData={indices:n.indexArray,vertexAttributes:n.attributeData},e._state=xt.READY,e._baseResource)}catch(n){if(e.isDestroyed())return;e._dracoError=n}}lg.prototype.process=function(e){if(this._state===xt.READY)return!0;if(this._state!==xt.PROCESSING||(l(this._dracoError)&&koe(this,this._dracoError),!l(this._bufferViewTypedArray))||l(this._decodePromise))return!1;let t=this._draco,i=this._gltf.bufferViews,o=t.bufferView,r=i[o],s=t.attributes,a={array:new Uint8Array(this._bufferViewTypedArray),bufferView:r,compressedAttributes:s,dequantizeInShader:!0},c=eb.decodeBufferView(a);if(!l(c))return!1;this._decodePromise=gAe(this,c)};lg.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var EC=lg;var Mcn=T(S(),1);var Ecn=T(S(),1);function yAe(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return Le.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(Le.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new Le({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return l(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return l(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var u_=yAe;function tb(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,d=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=d,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=xt.UNLOADED,this._promise=void 0}l(Object.create)&&(tb.prototype=Object.create(zi.prototype),tb.prototype.constructor=tb);Object.defineProperties(tb.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});tb.prototype.load=function(){return l(this._promise)?this._promise:l(this._bufferViewId)?(this._promise=xAe(this),this._promise):(this._promise=_Ae(this),this._promise)};function Uoe(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}async function xAe(e){e._state=xt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=n,await n.load(),e.isDestroyed())return;let i=n.typedArray,o=await SAe(i);if(e.isDestroyed())return;let r=Uoe(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=xt.READY,e}catch(n){return e.isDestroyed()?void 0:Doe(e,n,"Failed to load embedded image")}}async function _Ae(e){e._state=xt.LOADING;let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});try{let o=await VAe(i);if(e.isDestroyed())return;let r=Uoe(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=xt.READY,e}catch(o){return e.isDestroyed()?void 0:Doe(e,o,`Failed to load image: ${n}`)}}function Doe(e,t,n){return e.unload(),e._state=xt.FAILED,Promise.reject(e.getError(n,t))}function TAe(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new ce("Image format is not recognized")}async function SAe(e){let t=TAe(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return Tl(n)}return tb._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var CAe=/(^data:image\/ktx2)|(\.ktx2$)/i;function VAe(e){let t=e.getUrlComponent(!1,!0);return CAe.test(t)?Tl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}tb.prototype.unload=function(){l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};tb._loadImageFromTypedArray=u_;var IC=tb;var qcn=T(S(),1);var kcn=T(S(),1),LAe={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},Na=Object.freeze(LAe);function dg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),d=y(e.loadBuffer,!1),u=y(e.loadTypedArray,!1),m=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=m,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=d,this._loadTypedArray=u,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=xt.UNLOADED,this._promise=void 0}l(Object.create)&&(dg.prototype=Object.create(zi.prototype),dg.prototype.constructor=dg);Object.defineProperties(dg.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var RAe=new WH;dg.prototype.load=async function(){return l(this._promise)?this._promise:l(this._draco)?(this._promise=ZAe(this),this._promise):(this._promise=GAe(this),this._promise)};async function ZAe(e){e._state=xt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=xt.LOADED,e)}catch(n){if(e.isDestroyed())return;XH(e,n)}}async function GAe(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView;e._state=xt.LOADING;let r=e._resourceCache;try{let s=r.getBufferViewLoader({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=s,await s.load(),e.isDestroyed())return;let a=s.typedArray;return e._typedArray=EAe(e,a),e._state=xt.PROCESSING,e}catch(s){if(e.isDestroyed())return;XH(e,s)}}function EAe(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=ke.getSizeInBytes(s),c=t.buffer,d=t.byteOffset+o.byteOffset;if(d%a!==0){let m=r*a,p=new Uint8Array(c,d,m);c=new Uint8Array(p).buffer,d=0,hs("index-buffer-unaligned",`The index array is not aligned to a ${a}-byte boundary.`)}let u;return s===ke.UNSIGNED_BYTE?u=new Uint8Array(c,d,r):s===ke.UNSIGNED_SHORT?u=new Uint16Array(c,d,r):s===ke.UNSIGNED_INT&&(u=new Uint32Array(c,d,r)),u}function XH(e,t){throw e.unload(),e._state=xt.FAILED,e.getError("Failed to load index buffer",t)}function WH(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}WH.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};WH.prototype.execute=function(){this.buffer=Boe(this.typedArray,this.indexDatatype,this.context)};function Boe(e,t,n){let i=_t.createIndexBuffer({typedArray:e,context:n,usage:Ue.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}dg.prototype.process=function(e){if(this._state===xt.READY)return!0;if(this._state!==xt.LOADED&&this._state!==xt.PROCESSING)return!1;let t=this._typedArray,n=this._indexDatatype;if(l(this._dracoLoader))try{this._dracoLoader.process(e)&&(t=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=t,n=Q.fromTypedArray(t),this._indexDatatype=n)}catch(o){XH(this,o)}if(!l(t))return!1;let i;if(this._loadBuffer&&this._asynchronous){let o=RAe;if(o.set(t,n,e.context),!e.jobScheduler.execute(o,Na.BUFFER))return!1;i=o.buffer}else this._loadBuffer&&(i=Boe(t,n,e.context));return this.unload(),this._buffer=i,this._typedArray=this._loadTypedArray?t:void 0,this._state=xt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};dg.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var XC=dg;var lmn=T(S(),1);var Cln=T(S(),1);var tln=T(S(),1);function IAe(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var Gs=IAe;var cln=T(S(),1);var oln=T(S(),1);function XAe(e,t){return l(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var lr=XAe;function Kt(){}Kt.objectLegacy=function(e,t){if(l(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}}};Kt.object=function(e,t){if(l(e)){let n=e.length;for(let i=0;i0)return i.byteStride}return Q.getSizeInBytes(t.componentType)*Td(t.type)}var Xl=PAe;function vAe(e){Pe.accessor(e,function(n){l(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),Pe.bufferView(e,function(n){l(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){if(i.mode=y(i.mode,ie.TRIANGLES),!l(i.material)){l(e.materials)||(e.materials=[]);let o={name:"default"};i.material=Gs(e.materials,o)}})}),Pe.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),l(o)){let r=e.bufferViews[o];r.byteStride=Xl(e,i),r.target=ie.ARRAY_BUFFER}}),Pe.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(l(o)){let r=e.bufferViews[o];r.target=ie.ELEMENT_ARRAY_BUFFER}}),Pe.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(l(o)){let c=o.technique,d=l(o.values)?o.values:{};o.values=d,d.ambient=l(d.ambient)?d.ambient:[0,0,0,1],d.emission=l(d.emission)?d.emission:[0,0,0,1],d.transparency=y(d.transparency,1),c!=="CONSTANT"&&(d.diffuse=l(d.diffuse)?d.diffuse:[0,0,0,1],c!=="LAMBERT"&&(d.specular=l(d.specular)?d.specular:[0,0,0,1],d.shininess=y(d.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;l(r)&&Pe.materialValue(n,function(c){l(c.index)&&m_(c)}),m_(n.emissiveTexture),m_(n.normalTexture),m_(n.occlusionTexture);let s=n.pbrMetallicRoughness;l(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),m_(s.baseColorTexture),m_(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;l(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),m_(a.specularGlossinessTexture))}),Pe.animation(e,function(n){Pe.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=wAe(e);return Pe.node(e,function(n,i){l(t[i])||l(n.translation)||l(n.rotation)||l(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Pe.sampler(e,function(n){n.wrapS=y(n.wrapS,ie.REPEAT),n.wrapT=y(n.wrapT,ie.REPEAT)}),l(e.scenes)&&!l(e.scene)&&(e.scene=0),e}function wAe(e){let t={};return Pe.animation(e,function(n){Pe.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function m_(e){l(e)&&(e.texCoord=y(e.texCoord,0))}var kI=vAe;var Zln=T(S(),1);function FAe(e){return Pe.shader(e,function(t){S5(t)}),Pe.buffer(e,function(t){S5(t)}),Pe.image(e,function(t){S5(t)}),S5(e),e}function S5(e){e.extras=l(e.extras)?e.extras:{},e.extras._pipeline=l(e.extras._pipeline)?e.extras._pipeline:{}}var ug=FAe;var Bln=T(S(),1);var vln=T(S(),1);var Iln=T(S(),1);function AAe(e,t){let n=e.extensionsRequired;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var UI=AAe;function MAe(e,t){let n=e.extensionsUsed;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),UI(e,t),n.length===0&&delete e.extensionsUsed}}var h_=MAe;var NAe=4;function kAe(e){if(km(e)!=="glTF")throw new ce("File is not valid binary glTF");let n=Ooe(e,0,5),i=n[1];if(i!==1&&i!==2)throw new ce("Binary glTF version is not 1 or 2");return i===1?UAe(e,n):DAe(e,n)}function Ooe(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r0){let m=y(u.binary_glTF,u.KHR_binary_glTF);l(m)&&(m.extras._pipeline.source=d,delete m.uri)}return h_(c,"KHR_binary_glTF"),c}function DAe(e,t){let n=t[2],i=12,o,r;for(;i0){let a=s[0];a.extras._pipeline.source=r}}return o}var DI=kAe;var zln=T(S(),1);function BAe(e){return Pe.shader(e,function(t){C5(t)}),Pe.buffer(e,function(t){C5(t)}),Pe.image(e,function(t){C5(t)}),C5(e),e}function C5(e){l(e.extras)&&(l(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var BI=BAe;var Gun=T(S(),1);var jln=T(S(),1);function OAe(e,t){let n=e.extensionsUsed;l(n)||(n=[],e.extensionsUsed=n),Gs(n,t,!0)}var Zu=OAe;var adn=T(S(),1);var edn=T(S(),1);function YAe(e){switch(e){case Q.BYTE:return function(t,n,i,o,r){for(let s=0;s-1:!1}var JAe=[ie.ZERO,ie.ONE,ie.SRC_COLOR,ie.ONE_MINUS_SRC_COLOR,ie.SRC_ALPHA,ie.ONE_MINUS_SRC_ALPHA,ie.DST_ALPHA,ie.ONE_MINUS_DST_ALPHA,ie.DST_COLOR,ie.ONE_MINUS_DST_COLOR];function QAe(e,t){if(!l(e))return t;for(let n=0;n<4;n++)if(JAe.indexOf(e[n])===-1)return t;return e}function jAe(e){let t={},n={},i=e.techniques;return l(i)&&(Pe.technique(e,function(o,r){let s=o.states;if(l(s)){let a=n[r]={};if(Yoe(s,ie.BLEND)){a.alphaMode="BLEND";let c=s.functions;l(c)&&(l(c.blendEquationSeparate)||l(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,zAe),blendFactors:QAe(c.blendFuncSeparate,KAe)})}Yoe(s,ie.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(l(e.extensions)||(e.extensions={}),Zu(e,"KHR_blend")),Pe.material(e,function(o){if(l(o.technique)){let r=n[o.technique];Pe.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];l(s)&&(l(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var OI=jAe;var Rdn=T(S(),1);var xdn=T(S(),1);function qAe(e,t){let n=e.extensionsRequired;l(n)||(n=[],e.extensionsRequired=n),Gs(n,t,!0),Zu(e,t)}var YI=qAe;function $Ae(e){let t=e.techniques,n={},i={},o={};if(l(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,Pe.technique(e,function(a,c){let d={name:a.name,program:void 0,attributes:{},uniforms:{}},u;if(Pe.techniqueAttribute(a,function(m,p){u=a.parameters[m],d.attributes[p]={semantic:u.semantic}}),Pe.techniqueUniform(a,function(m,p){u=a.parameters[m],d.uniforms[p]={count:u.count,node:u.node,type:u.type,semantic:u.semantic,value:u.value},l(n[c])||(n[c]={}),n[c][m]=p}),l(o[a.program]))d.program=o[a.program];else{let m=e.programs[a.program],p={name:m.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[m.fragmentShader];p.fragmentShader=Gs(r.shaders,g,!0);let f=e.shaders[m.vertexShader];p.vertexShader=Gs(r.shaders,f,!0),d.program=Gs(r.programs,p),o[a.program]=d.program}i[c]=Gs(r.techniques,d)}),r.techniques.length>0&&(l(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,Zu(e,"KHR_techniques_webgl"),YI(e,"KHR_techniques_webgl"))}return Pe.material(e,function(r){if(l(r.technique)){let s={technique:i[r.technique]};Pe.objectLegacy(r.values,function(a,c){l(s.values)||(s.values={});let d=n[r.technique][c];l(d)&&(s.values[d]=a)}),l(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var HI=$Ae;var Mdn=T(S(),1);var Xdn=T(S(),1);function eMe(e,t){xo.typeOf.object("material",e),xo.defined("handler",t);let n=e.pbrMetallicRoughness;if(l(n)){if(l(n.baseColorTexture)){let r=n.baseColorTexture,s=t(r.index,r);if(l(s))return s}if(l(n.metallicRoughnessTexture)){let r=n.metallicRoughnessTexture,s=t(r.index,r);if(l(s))return s}}let{extensions:i}=e;if(l(i)){let r=i.KHR_materials_pbrSpecularGlossiness;if(l(r)){if(l(r.diffuseTexture)){let c=r.diffuseTexture,d=t(c.index,c);if(l(d))return d}if(l(r.specularGlossinessTexture)){let c=r.specularGlossinessTexture,d=t(c.index,c);if(l(d))return d}}let s=i.KHR_materials_specular;if(l(s)){let{specularTexture:c,specularColorTexture:d}=s;if(l(c)){let u=t(c.index,c);if(l(u))return u}if(l(d)){let u=t(d.index,d);if(l(u))return u}}let a=i.KHR_materials_common;if(l(a)&&l(a.values)){let{diffuse:c,ambient:d,emission:u,specular:m}=a.values;if(l(c)&&l(c.index)){let p=t(c.index,c);if(l(p))return p}if(l(d)&&l(d.index)){let p=t(d.index,d);if(l(p))return p}if(l(u)&&l(u.index)){let p=t(u.index,u);if(l(p))return p}if(l(m)&&l(m.index)){let p=t(m.index,m);if(l(p))return p}}}let o=Pe.materialValue(e,function(r){if(l(r.index)){let s=t(r.index,r);if(l(s))return s}});if(l(o))return o;if(l(e.emissiveTexture)){let r=e.emissiveTexture,s=t(r.index,r);if(l(s))return s}if(l(e.normalTexture)){let r=e.normalTexture,s=t(r.index,r);if(l(s))return s}if(l(e.occlusionTexture)){let r=e.occlusionTexture,s=t(r.index,r);if(l(s))return s}}var WC=eMe;var Hoe=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function tMe(e,t){return t=y(t,Hoe),Hoe.forEach(function(n){t.indexOf(n)>-1&&iMe(e,n)}),e}var nMe={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function iMe(e,t){let n=nMe[t],i=e[n];if(l(i)){let o=0,r=pf[t](e),s=i.length;for(let a=0;at&&o.attributes[c]--}),Pe.meshPrimitiveTarget(o,function(a){Pe.meshPrimitiveTargetAttribute(a,function(c,d){c>t&&a[d]--})});let r=o.indices;l(r)&&r>t&&o.indices--;let s=o.extensions;l(s)&&l(s.CESIUM_primitive_outline)&&s.CESIUM_primitive_outline.indices>t&&--s.CESIUM_primitive_outline.indices})}),Pe.skin(e,function(i){l(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),Pe.animation(e,function(i){Pe.animationSampler(i,function(o){l(o.input)&&o.input>t&&o.input--,l(o.output)&&o.output>t&&o.output--})})};ff.buffer=function(e,t){e.buffers.splice(t,1),Pe.bufferView(e,function(i){l(i.buffer)&&i.buffer>t&&i.buffer--,l(i.extensions)&&l(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};ff.bufferView=function(e,t){if(e.bufferViews.splice(t,1),Pe.accessor(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Pe.shader(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Pe.image(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),lr(e,"KHR_draco_mesh_compression")&&Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){l(o.extensions)&&l(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),lr(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let d=a[c];l(d.bufferView)&&d.bufferView>t&&d.bufferView--,l(d.arrayOffsetBufferView)&&d.arrayOffsetBufferView>t&&d.arrayOffsetBufferView--,l(d.stringOffsetBufferView)&&d.stringOffsetBufferView>t&&d.stringOffsetBufferView--}}}}if(lr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(l(o)){let r=o.length;for(let s=0;st&&u.values--,l(u.arrayOffsets)&&u.arrayOffsets>t&&u.arrayOffsets--,l(u.stringOffsets)&&u.stringOffsets>t&&u.stringOffsets--}}}}};ff.image=function(e,t){e.images.splice(t,1),Pe.texture(e,function(i){l(i.source)&&i.source>t&&--i.source;let o=i.extensions;l(o)&&l(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:l(o)&&l(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};ff.mesh=function(e,t){e.meshes.splice(t,1),Pe.node(e,function(i){l(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};ff.node=function(e,t){e.nodes.splice(t,1),Pe.skin(e,function(i){l(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),Pe.animation(e,function(i){Pe.animationChannel(i,function(o){l(o.target)&&l(o.target.node)&&o.target.node>t&&o.target.node--})}),Pe.technique(e,function(i){Pe.techniqueUniform(i,function(o){l(o.node)&&o.node>t&&o.node--})}),Pe.node(e,function(i){l(i.children)&&(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),Pe.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};ff.material=function(e,t){e.materials.splice(t,1),Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){l(o.material)&&o.material>t&&o.material--})})};ff.sampler=function(e,t){e.samplers.splice(t,1),Pe.texture(e,function(i){l(i.sampler)&&i.sampler>t&&--i.sampler})};ff.texture=function(e,t){if(e.textures.splice(t,1),Pe.material(e,function(i){WC(i,function(o,r){r.index>t&&--r.index})}),lr(e,"EXT_feature_metadata")){Pe.mesh(e,function(r){Pe.meshPrimitive(r,function(s){let a=s.extensions;if(l(a)&&l(a.EXT_feature_metadata)){let d=a.EXT_feature_metadata.featureIdTextures;if(l(d)){let u=d.length;for(let m=0;mt&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let u=a[c].texture;u.index>t&&--u.index}}}}if(lr(e,"EXT_mesh_features")&&Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){let r=o.extensions;if(l(r)&&l(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(l(a)){let c=a.length;for(let d=0;dt&&--u.texture.index}}}})}),lr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(l(o)){let r=o.length;for(let s=0;st&&--u.index}}}}};function pf(){}pf.accessor=function(e){let t={};return Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){Pe.meshPrimitiveAttribute(i,function(r){t[r]=!0}),Pe.meshPrimitiveTarget(i,function(r){Pe.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;l(o)&&(t[o]=!0)})}),Pe.skin(e,function(n){l(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),Pe.animation(e,function(n){Pe.animationSampler(n,function(i){l(i.input)&&(t[i.input]=!0),l(i.output)&&(t[i.output]=!0)})}),lr(e,"EXT_mesh_gpu_instancing")&&Pe.node(e,function(n){l(n.extensions)&&l(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),lr(e,"CESIUM_primitive_outline")&&Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.CESIUM_primitive_outline)){let s=o.CESIUM_primitive_outline.indices;l(s)&&(t[s]=!0)}})}),t};pf.buffer=function(e){let t={};return Pe.bufferView(e,function(n){l(n.buffer)&&(t[n.buffer]=!0),l(n.extensions)&&l(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};pf.bufferView=function(e){let t={};if(Pe.accessor(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Pe.shader(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Pe.image(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),lr(e,"KHR_draco_mesh_compression")&&Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){l(i.extensions)&&l(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),lr(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];l(c.bufferView)&&(t[c.bufferView]=!0),l(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),l(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(lr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(l(i)){let o=i.length;for(let r=0;r0&&(t[n.mesh]=!0)}}),t};function zoe(e,t,n){let i=e.nodes[t];return l(i.mesh)||l(i.camera)||l(i.skin)||l(i.weights)||l(i.extras)||l(i.extensions)&&Object.keys(i.extensions).length!==0||l(n[t])?!1:!l(i.children)||i.children.filter(function(o){return!zoe(e,o,n)}).length===0}pf.node=function(e){let t={};return Pe.skin(e,function(n){l(n.skeleton)&&(t[n.skeleton]=!0),Pe.skinJoint(n,function(i){t[i]=!0})}),Pe.animation(e,function(n){Pe.animationChannel(n,function(i){l(i.target)&&l(i.target.node)&&(t[i.target.node]=!0)})}),Pe.technique(e,function(n){Pe.techniqueUniform(n,function(i){l(i.node)&&(t[i.node]=!0)})}),Pe.node(e,function(n,i){zoe(e,i,t)||(t[i]=!0)}),t};pf.material=function(e){let t={};return Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){l(i.material)&&(t[i.material]=!0)})}),t};pf.texture=function(e){let t={};if(Pe.material(e,function(n){WC(n,function(i){t[i]=!0})}),lr(e,"EXT_feature_metadata")){Pe.mesh(e,function(o){Pe.meshPrimitive(o,function(r){let s=r.extensions;if(l(s)&&l(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(l(c)){let d=c.length;for(let u=0;u0)for(s.mesh=n.meshes[c[0]],t=1;t0&&l(s.skin)){let u=e.skins[s.skin];u.skeleton=n.nodes[c[0]]}delete s.skeletons}l(s.jointName)&&delete s.jointName}),Pe.skin(e,function(s){l(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(l(a)){let c=[],d=a.length;for(t=0;t=0&&(a=r.substring(0,s),c=r.substring(s));let d,u=RMe[a];l(u)?(d=u+c,t[r]=d):l(LMe[a])||(d=`_${r}`,t[r]=d)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];l(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),Pe.technique(e,function(n){Pe.techniqueParameter(n,function(i){let o=t[i.semantic];l(o)&&(i.semantic=o)})})}function GMe(e){Pe.camera(e,function(t){let n=t.perspective;if(l(n)){let i=n.aspectRatio;l(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;l(o)&&o===0&&(n.yfov=1)}})}function wH(e,t){return l(t.byteStride)&&t.byteStride!==0?t.byteStride:Xl(e,t)}function EMe(e){Pe.buffer(e,function(t){l(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),Pe.accessor(e,function(t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n],o=wH(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function IMe(e){let t,n,i,o=e.bufferViews,r={};Pe.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];l(c.bufferView)&&(r[c.bufferView]=!0)});let s={};Pe.accessor(e,function(a){l(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let d=0,u=0,m=c.length;for(t=0;t=0;--r)if(i[r]===t){i.splice(r,1);return}}}),Pe.node(e,function(n,i){if(l(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),joe(n)&&qoe(e,i))}}),delete e.nodes[t]}function WMe(e){return Pe.node(e,function(t,n){joe(t)&&qoe(e,n)}),e}function PMe(e){Pe.animation(e,function(t){Pe.animationSampler(t,function(n){let i=e.accessors[n.input];if(!l(i.min)||!l(i.max)){let o=f_(e,i);i.min=o.min,i.max=o.max}})})}function vMe(e){Pe.accessor(e,function(t){if(l(t.min)||l(t.max)){let n=f_(e,t);l(t.min)&&(t.min=n.min),l(t.max)&&(t.max=n.max)}})}function wMe(e){e.asset=y(e.asset,{}),e.asset.version="2.0",Qoe(e),pMe(e),WMe(e),bMe(e),gMe(e),xMe(e),TMe(e),EMe(e),IMe(e),XMe(e),PMe(e),vMe(e),SMe(e),CMe(e),VMe(e),ZMe(e),QI(e),GMe(e),OI(e),HI(e),yMe(e)}var FMe=["u_tex","u_diffuse","u_emission","u_diffuse_tex"],AMe=["u_diffuse","u_diffuse_mat"];function FH(e){e.pbrMetallicRoughness=l(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function AH(e){return l(e.index)}function MH(e){return Array.isArray(e)&&e.length===4}function $oe(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function MMe(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.baseColorTextureNames,FMe),i=y(t.baseColorFactorNames,AMe);Pe.material(e,function(o){Pe.materialValue(o,function(r,s){n.indexOf(s)!==-1&&AH(r)?(FH(o),o.pbrMetallicRoughness.baseColorTexture=r):i.indexOf(s)!==-1&&MH(r)&&(FH(o),o.pbrMetallicRoughness.baseColorFactor=$oe(r))})}),p_(e,"KHR_techniques_webgl"),p_(e,"KHR_blend")}function vH(e,t){l(t)&&(MH(t)?e.pbrMetallicRoughness.baseColorFactor=$oe(t):AH(t)&&(e.pbrMetallicRoughness.baseColorTexture=t))}function Joe(e,t){l(t)&&(MH(t)?e.emissiveFactor=t.slice(0,3):AH(t)&&(e.emissiveTexture=t))}function NMe(e){Pe.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(!l(n))return;let i=y(n.values,{}),o=i.ambient,r=i.diffuse,s=i.emission,a=i.transparency,c=n.doubleSided,d=n.transparent;FH(t),n.technique==="CONSTANT"?(Zu(e,"KHR_materials_unlit"),t.extensions=l(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={},vH(t,s),vH(t,o)):(vH(t,r),Joe(t,o),Joe(t,s)),l(c)&&(t.doubleSided=c),l(a)&&(l(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=a:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,a]),l(d)&&(t.alphaMode=d?"BLEND":"OPAQUE")}),p_(e,"KHR_materials_common")}var jI=lMe;var Oun=T(S(),1);var Xun=T(S(),1);var li={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function kMe(e){switch(e){case li.POSITION:return"positionMC";case li.NORMAL:return"normalMC";case li.TANGENT:return"tangentMC";case li.TEXCOORD:return"texCoord";case li.COLOR:return"color";case li.JOINTS:return"joints";case li.WEIGHTS:return"weights";case li.FEATURE_ID:return"featureId"}}li.hasSetIndex=function(e){switch(e){case li.POSITION:case li.NORMAL:case li.TANGENT:return!1;case li.TEXCOORD:case li.COLOR:case li.JOINTS:case li.WEIGHTS:case li.FEATURE_ID:return!0}};li.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return li.POSITION;case"NORMAL":return li.NORMAL;case"TANGENT":return li.TANGENT;case"TEXCOORD":return li.TEXCOORD;case"COLOR":return li.COLOR;case"JOINTS":return li.JOINTS;case"WEIGHTS":return li.WEIGHTS;case"_FEATURE_ID":return li.FEATURE_ID}};li.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return li.POSITION;case"RGBA":case"RGB":case"RGB565":return li.COLOR;case"NORMAL":case"NORMAL_OCT16P":return li.NORMAL;case"BATCH_ID":return li.FEATURE_ID}};li.getGlslType=function(e){switch(e){case li.POSITION:case li.NORMAL:case li.TANGENT:return"vec3";case li.TEXCOORD:return"vec2";case li.COLOR:return"vec4";case li.JOINTS:return"ivec4";case li.WEIGHTS:return"vec4";case li.FEATURE_ID:return"int"}};li.getVariableName=function(e,t){let n=kMe(e);return l(t)&&(n+=`_${t}`),n};var Zt=Object.freeze(li);function mc(){}mc.getError=function(e,t,n){let i=`Failed to load ${e}: ${t}`;l(n)&&l(n.message)&&(i+=` +${n.message}`);let o=new ce(i);return l(n)&&(o.stack=`Original stack: ${n.stack} Handler stack: -${o.stack}`),o};lc.getNodeTransform=function(e){return l(e.matrix)?e.matrix:M.fromTranslationQuaternionRotationScale(l(e.translation)?e.translation:h.ZERO,l(e.rotation)?e.rotation:Ae.IDENTITY,l(e.scale)?e.scale:h.ONE)};lc.getAttributeBySemantic=function(e,t,n){let i=e.attributes,o=i.length;for(let r=0;r>t};ma.fromSubtreeJson=async function(e,t,n,i,o){let r=new ma(e,i,o),s;l(t)?s={json:t,binary:void 0}:s=fMe(n);let a=s.json;r._subtreeJson=a;let c;if(ri(a,"3DTILES_metadata"))c=a.extensions["3DTILES_metadata"];else if(l(a.tileMetadata)){let V=a.tileMetadata;c=a.propertyTables[V]}let d=[];if(l(a.contentMetadata)){let V=a.contentMetadata.length;for(let L=0;L0;u=u||m;for(let p=0;p>BigInt(61)),d=c%2===0?gC.encode2D(i,o,r):gC.encode2D(i,r,o),u=Yp.fromFacePositionLevel(c,BigInt(d),i),m,p;if(l(s)){let g=(a.maximumHeight+a.minimumHeight)/2;m=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else m=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:Yp.getTokenFromId(u._cellId),minimumHeight:m,maximumHeight:p}}}}var FMe=new h,AMe=new h,Mz=new h,MMe=new $;function ere(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,AMe),s=$.unpack(e,3,MMe),a=Math.pow(2,-t),c=-1+(2*n+1)*a,d=-1+(2*i+1)*a,u=0,m=h.fromElements(a,a,1,FMe);l(o)&&(u=-1+(2*o+1)*a,m.z=a);let p=h.fromElements(c,d,u,Mz);p=$.multiplyByVector(s,p,Mz),p=h.add(p,r,Mz);let g=$.clone(s);g=$.multiplyByScale(g,m,g);let f=new Array(12);return h.pack(p,f),$.pack(g,f,3),f}var NMe=new ce;function tre(e,t,n,i,o){if(t===0)return e.slice();let r=ce.unpack(e,0,NMe),s=e[4],a=e[5],c=Math.pow(2,-t),d=c*r.width,u=W.negativePiToPi(r.west+n*d),m=W.negativePiToPi(u+d),p=c*r.height,g=W.negativePiToPi(r.south+i*p),f=W.negativePiToPi(g+p),x=s,_=a;if(l(o)){let C=c*(a-s);x+=o*C,_=x+C}return[u,g,m,f,x,_]}function kMe(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=qoe(i,o,n,!1,t),s=joe(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},d=nre(e,i.baseResource,c,t);return d.implicitTileset=i,d.implicitCoordinates=o,d}function nre(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}Yc.prototype.hasProperty=function(e,t){return!1};Yc.prototype.getFeature=function(e){};Yc.prototype.applyDebugSettings=function(e,t){};Yc.prototype.applyStyle=function(e){};Yc.prototype.update=function(e,t){};Yc.prototype.pick=function(e,t,n){};Yc.prototype.isDestroyed=function(){return!1};Yc.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),me(this)};Yc._deriveBoundingBox=ere;Yc._deriveBoundingRegion=tre;Yc._deriveBoundingVolumeS2=$oe;var XC=Yc;var aPn=T(S(),1);var Dhn=T(S(),1),UMe={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},Pl=Object.freeze(UMe);var j2n=T(S(),1);var mfn=T(S(),1);var zhn=T(S(),1);function WC(e,t){this._distance=t,this._normal=new ire(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(WC.prototype,{distance:{get:function(){return this._distance},set:function(e){l(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){l(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});WC.fromPlane=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance):t=new WC(e.normal,e.distance),t};WC.clone=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance,t):new WC(e.normal,e.distance)};function ire(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(ire.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var u_=WC;function dc(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.edgeColor=B.clone(y(e.edgeColor,B.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new be,this.planeRemoved=new be,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?cre:lre,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(l(n)){let i=n.length;for(let o=0;o0&&(r=Kt.OUTSIDE);for(let s=0;s80*n){a=1/0,c=1/0;let u=-1/0,m=-1/0;for(let p=n;pu&&(u=g),f>m&&(m=f)}d=Math.max(u-a,m-c),d=d!==0?32767/d:0}return eX(r,s,n,a,c,d,0),s}function hre(e,t,n,i,o){let r;if(o===aNe(e,t,n,i)>0)for(let s=t;s=t;s-=i)r=mre(s/i|0,e[s],e[s+1],r);return r&&G5(r,r.next)&&(nX(r),r=r.next),r}function m_(e,t){if(!e)return e;t||(t=e);let n=e,i;do if(i=!1,!n.steiner&&(G5(n,n.next)||vr(n.prev,n,n.next)===0)){if(nX(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function eX(e,t,n,i,o,r,s){if(!e)return;!s&&r&&tNe(e,i,o,r);let a=e;for(;e.prev!==e.next;){let c=e.prev,d=e.next;if(r?HMe(e,i,o,r):zMe(e)){t.push(c.i,e.i,d.i),nX(e),e=d.next,a=d.next;continue}if(e=d,e===a){s?s===1?(e=KMe(m_(e),t),eX(e,t,n,i,o,r,2)):s===2&&JMe(e,t,n,i,o,r):eX(m_(e),t,n,i,o,r,1);break}}}function zMe(e){let t=e.prev,n=e,i=e.next;if(vr(t,n,i)>=0)return!1;let o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,d=i.y,u=or?o>s?o:s:r>s?r:s,g=a>c?a>d?a:d:c>d?c:d,f=i.next;for(;f!==t;){if(f.x>=u&&f.x<=p&&f.y>=m&&f.y<=g&&PC(o,a,r,c,s,d,f.x,f.y)&&vr(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function HMe(e,t,n,i){let o=e.prev,r=e,s=e.next;if(vr(o,r,s)>=0)return!1;let a=o.x,c=r.x,d=s.x,u=o.y,m=r.y,p=s.y,g=ac?a>d?a:d:c>d?c:d,_=u>m?u>p?u:p:m>p?m:p,C=kz(g,f,t,n,i),V=kz(x,_,t,n,i),L=e.prevZ,Z=e.nextZ;for(;L&&L.z>=C&&Z&&Z.z<=V;){if(L.x>=g&&L.x<=x&&L.y>=f&&L.y<=_&&L!==o&&L!==s&&PC(a,u,c,m,d,p,L.x,L.y)&&vr(L.prev,L,L.next)>=0||(L=L.prevZ,Z.x>=g&&Z.x<=x&&Z.y>=f&&Z.y<=_&&Z!==o&&Z!==s&&PC(a,u,c,m,d,p,Z.x,Z.y)&&vr(Z.prev,Z,Z.next)>=0))return!1;Z=Z.nextZ}for(;L&&L.z>=C;){if(L.x>=g&&L.x<=x&&L.y>=f&&L.y<=_&&L!==o&&L!==s&&PC(a,u,c,m,d,p,L.x,L.y)&&vr(L.prev,L,L.next)>=0)return!1;L=L.prevZ}for(;Z&&Z.z<=V;){if(Z.x>=g&&Z.x<=x&&Z.y>=f&&Z.y<=_&&Z!==o&&Z!==s&&PC(a,u,c,m,d,p,Z.x,Z.y)&&vr(Z.prev,Z,Z.next)>=0)return!1;Z=Z.nextZ}return!0}function KMe(e,t){let n=e;do{let i=n.prev,o=n.next.next;!G5(i,o)&&fre(i,n,n.next,o)&&tX(i,o)&&tX(o,i)&&(t.push(i.i,n.i,o.i),nX(n),nX(n.next),n=e=o),n=n.next}while(n!==e);return m_(n)}function JMe(e,t,n,i,o,r){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&oNe(s,a)){let c=pre(s,a);s=m_(s,s.next),c=m_(c,c.next),eX(s,t,n,i,o,r,0),eX(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function QMe(e,t,n,i){let o=[];for(let r=0,s=t.length;r=n.next.y&&n.next.y!==n.y){let m=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(m<=i&&m>r&&(r=m,s=n.x=n.x&&n.x>=c&&i!==n.x&&PC(os.x||n.x===s.x&&eNe(s,n)))&&(s=n,u=m)}n=n.next}while(n!==a);return s}function eNe(e,t){return vr(e.prev,e,t.prev)<0&&vr(t.next,e,e.next)<0}function tNe(e,t,n,i){let o=e;do o.z===0&&(o.z=kz(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,nNe(o)}function nNe(e){let t,n=1;do{let i=e,o;e=null;let r=null;for(t=0;i;){t++;let s=i,a=0;for(let d=0;d0||c>0&&s;)a!==0&&(c===0||!s||i.z<=s.z)?(o=i,i=i.nextZ,a--):(o=s,s=s.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;i=s}r.nextZ=null,n*=2}while(t>1);return e}function kz(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function iNe(e){let t=e,n=e;do(t.x=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function oNe(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!rNe(e,t)&&(tX(e,t)&&tX(t,e)&&sNe(e,t)&&(vr(e.prev,e,t.prev)||vr(e,t.prev,t))||G5(e,t)&&vr(e.prev,e,e.next)>0&&vr(t.prev,t,t.next)>0)}function vr(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function G5(e,t){return e.x===t.x&&e.y===t.y}function fre(e,t,n,i){let o=Z5(vr(e,t,n)),r=Z5(vr(e,t,i)),s=Z5(vr(n,i,e)),a=Z5(vr(n,i,t));return!!(o!==r&&s!==a||o===0&&R5(e,n,t)||r===0&&R5(e,i,t)||s===0&&R5(n,e,i)||a===0&&R5(n,t,i))}function R5(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function Z5(e){return e>0?1:e<0?-1:0}function rNe(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&fre(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function tX(e,t){return vr(e.prev,e,e.next)<0?vr(e,t,e.next)>=0&&vr(e,e.prev,t)>=0:vr(e,t,e.prev)<0||vr(e,e.next,t)<0}function sNe(e,t){let n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function pre(e,t){let n=Uz(e.i,e.x,e.y),i=Uz(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function mre(e,t,n,i){let o=Uz(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function nX(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function Uz(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function aNe(e,t,n,i){let o=0;for(let r=t,s=n-i;r0?cs.COUNTER_CLOCKWISE:cs.CLOCKWISE};ug.triangulate=function(e,t){let n=D.packArray(e);return Dz(n,t,2)};var xre=new h,_re=new h,Tre=new h,bre=new h,gre=new h,yre=new h,qp=new h,Sre=new D,Cre=new D,Vre=new D,vC=new D;ug.computeSubdivision=function(e,t,n,i,o){o=y(o,W.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,d=new Array(c*3),u=new Array(c*2),m=0,p=0;for(a=0;a0;){let L=s.pop(),Z=s.pop(),G=s.pop(),I=h.fromArray(d,G*3,xre),v=h.fromArray(d,Z*3,_re),P=h.fromArray(d,L*3,Tre),w,F,b;r&&(w=D.fromArray(u,G*2,Sre),F=D.fromArray(u,Z*2,Cre),b=D.fromArray(u,L*2,Vre));let R=h.multiplyByScalar(h.normalize(I,bre),x,bre),E=h.multiplyByScalar(h.normalize(v,gre),x,gre),X=h.multiplyByScalar(h.normalize(P,yre),x,yre),A=h.magnitudeSquared(h.subtract(R,E,qp)),N=h.magnitudeSquared(h.subtract(E,X,qp)),O=h.magnitudeSquared(h.subtract(X,R,qp)),U=Math.max(A,N,O),Y,k,J;U>C?A===U?(Y=`${Math.min(G,Z)} ${Math.max(G,Z)}`,a=f[Y],l(a)||(k=h.add(I,v,qp),h.multiplyByScalar(k,.5,k),d.push(k.x,k.y,k.z),a=d.length/3-1,f[Y]=a,r&&(J=D.add(w,F,vC),D.multiplyByScalar(J,.5,J),u.push(J.x,J.y))),s.push(G,a,L),s.push(a,Z,L)):N===U?(Y=`${Math.min(Z,L)} ${Math.max(Z,L)}`,a=f[Y],l(a)||(k=h.add(v,P,qp),h.multiplyByScalar(k,.5,k),d.push(k.x,k.y,k.z),a=d.length/3-1,f[Y]=a,r&&(J=D.add(F,b,vC),D.multiplyByScalar(J,.5,J),u.push(J.x,J.y))),s.push(Z,a,G),s.push(a,L,G)):O===U&&(Y=`${Math.min(L,G)} ${Math.max(L,G)}`,a=f[Y],l(a)||(k=h.add(P,I,qp),h.multiplyByScalar(k,.5,k),d.push(k.x,k.y,k.z),a=d.length/3-1,f[Y]=a,r&&(J=D.add(b,w,vC),D.multiplyByScalar(J,.5,J),u.push(J.x,J.y))),s.push(L,a,Z),s.push(a,G,Z)):(g.push(G),g.push(Z),g.push(L))}let V={attributes:{position:new Re({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:d})},indices:g,primitiveType:Me.TRIANGLES};return r&&(V.attributes.st=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:u})),new ft(V)};var dNe=new he,uNe=new he,mNe=new he,Bz=new he;ug.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,W.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,d=new Array(c*3),u=new Array(c*2),m=0,p=0;for(a=0;a0;){let G=s.pop(),I=s.pop(),v=s.pop(),P=h.fromArray(d,v*3,xre),w=h.fromArray(d,I*3,_re),F=h.fromArray(d,G*3,Tre),b,R,E;r&&(b=D.fromArray(u,v*2,Sre),R=D.fromArray(u,I*2,Cre),E=D.fromArray(u,G*2,Vre));let X=e.cartesianToCartographic(P,dNe),A=e.cartesianToCartographic(w,uNe),N=e.cartesianToCartographic(F,mNe);C.setEndPoints(X,A);let O=C.surfaceDistance;V.setEndPoints(A,N);let U=V.surfaceDistance;L.setEndPoints(N,X);let Y=L.surfaceDistance,k=Math.max(O,U,Y),J,z,te,H,q;k>_?O===k?(J=`${Math.min(v,I)} ${Math.max(v,I)}`,a=f[J],l(a)||(z=C.interpolateUsingFraction(.5,Bz),te=(X.height+A.height)*.5,H=h.fromRadians(z.longitude,z.latitude,te,e,qp),d.push(H.x,H.y,H.z),a=d.length/3-1,f[J]=a,r&&(q=D.add(b,R,vC),D.multiplyByScalar(q,.5,q),u.push(q.x,q.y))),s.push(v,a,G),s.push(a,I,G)):U===k?(J=`${Math.min(I,G)} ${Math.max(I,G)}`,a=f[J],l(a)||(z=V.interpolateUsingFraction(.5,Bz),te=(A.height+N.height)*.5,H=h.fromRadians(z.longitude,z.latitude,te,e,qp),d.push(H.x,H.y,H.z),a=d.length/3-1,f[J]=a,r&&(q=D.add(R,E,vC),D.multiplyByScalar(q,.5,q),u.push(q.x,q.y))),s.push(I,a,v),s.push(a,G,v)):Y===k&&(J=`${Math.min(G,v)} ${Math.max(G,v)}`,a=f[J],l(a)||(z=L.interpolateUsingFraction(.5,Bz),te=(N.height+X.height)*.5,H=h.fromRadians(z.longitude,z.latitude,te,e,qp),d.push(H.x,H.y,H.z),a=d.length/3-1,f[J]=a,r&&(q=D.add(E,b,vC),D.multiplyByScalar(q,.5,q),u.push(q.x,q.y))),s.push(G,a,I),s.push(a,v,I)):(g.push(v),g.push(I),g.push(G))}let Z={attributes:{position:new Re({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:d})},indices:g,primitiveType:Me.TRIANGLES};return r&&(Z.attributes.st=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:u})),new ft(Z)};ug.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,ne.default);let o=cNe,r=lNe;if(t=y(t,0),i=y(i,!0),l(e)){let s=e.length;for(let a=0;a10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};mg.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};mg.prototype.contains=function(e){return this._array.indexOf(e)!==-1};mg.prototype.clear=function(){this._array.length=this._offset=this._length=0};mg.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var hg=mg;var $o={};$o.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!l(o))continue;n+=2;let r=o.positions,s=o.holes;if(l(r)&&r.length>0&&(n+=r.length*t.packedLength),l(s)){let a=s.length;for(let c=0;c0;){let r=o.pop();if(!l(r))continue;let s=r.positions,a=r.holes;if(t[n++]=l(s)?s.length:0,t[n++]=l(a)?a.length:0,l(s)){let c=s.length;for(let d=0;d0?new Array(o):void 0;for(let a=0;aW.PI){let c=s;s=a,a=c}if(!(r.longitudea))return n.cartographicToCartesian(r)}function SNe(e,t,n,i){if(i===on.RHUMB)return TNe(e,t,n);let o=ei.lineSegmentPlane(e,t,dn.ORIGIN_XY_PLANE);if(l(o))return n.scaleToGeodeticSurface(o,o)}var CNe=new he;function VNe(e,t,n){let i=[],o,r,s,a,c,d=0;for(;dt.cartesianToCartographic(m,CNe).longitude;if(s===0)i.push({position:d,type:s,visited:!1,next:a,theta:u(o)});else if(a!==0){if(c=SNe(o,r,t,n),++d,!l(c))continue;e.splice(d,0,c),i.push({position:d,type:s,visited:!1,next:a,theta:u(c)})}++d}return i}function Gre(e,t,n,i,o,r,s){let a=[],c=r,d=m=>p=>p.position===m,u=[];do{let m=n[c];a.push(m);let p=i.findIndex(d(c)),g=i[p];if(!l(g)){++c;continue}let{visited:f,type:x,next:_}=g;if(g.visited=!0,x===0){if(_===0){let Z=i[p-(s?1:-1)];if(Z?.position===c+1)Z.visited=!0;else{++c;continue}}if(!f&&s&&_>0||r===c&&!s&&_<0){++c;continue}}if(!(s?x>=0:x<=0)){++c;continue}f||u.push(c);let V=p+(s?1:-1),L=i[V];if(!l(L)){++c;continue}c=L.position}while(c=0&&c!==r&&a.lengthd.theta-u.theta);let c=s[0].z>=0;o=Gre(i,o,s,a,1,0,c)}return i};$o.polygonsFromHierarchy=function(e,t,n,i,o,r){let s=[],a=[],c=new hg;c.enqueue(e);let d=l(r);for(;c.length!==0;){let u=c.dequeue(),m=u.positions,p=u.holes,g,f;if(i)for(f=m.length,g=0;g1){for(let v of I)c.enqueue(new Fa(v,p));continue}}let V=m.slice(),L=l(p)?p.length:0,Z=[],G;for(g=0;gMath.PI&&(e-=W.TWO_PI),e}}});var wC=new he,XNe=new h;wr.prototype.getLatitude=function(e){l(e)||(e=ne.default),wC.latitude=this.conformalLatitude,wC.longitude=this.longitude,wC.height=0;let t=this.ellipsoid.cartographicToCartesian(wC,XNe);return e.cartesianToCartographic(t,wC),wC.latitude};var WNe=new gn,PNe=new h,vNe=new h;wr.fromCartesian=function(e,t){let n=W.signNotZero(e.z),i=wr.NORTH_POLE_TANGENT_PLANE,o=wr.SOUTH_POLE;n<0&&(i=wr.SOUTH_POLE_TANGENT_PLANE,o=wr.NORTH_POLE);let r=WNe;r.origin=i.ellipsoid.scaleToGeocentricSurface(e,r.origin),r.direction=h.subtract(r.origin,o,PNe),h.normalize(r.direction,r.direction);let s=ei.rayPlane(r,i.plane,vNe),a=h.subtract(s,o,s),c=h.dot(i.xAxis,a),d=n*h.dot(i.yAxis,a);return l(t)?(t.position=new D(c,d),t.tangentPlane=i,t):new wr(new D(c,d),i)};wr.fromCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i=0?s:s+W.TWO_PI;o.westOverIdl=Math.min(o.westOverIdl,a),o.eastOverIdl=Math.max(o.eastOverIdl,a),r.west=Math.min(r.west,s),r.east=Math.max(r.east,s);let c=e.getLatitude(n),d=c;if(r.south=Math.min(r.south,c),r.north=Math.max(r.north,c),i!==on.RHUMB){let p=D.subtract(t.position,e.position,qNe),g=D.dot(t.position,p)/D.dot(p,p);if(g>0&&g<1){let f=D.add(t.position,D.multiplyByScalar(p,-g,p),$Ne),x=uc.clone(t,e5e);x.position=f;let _=x.getLatitude(n);r.south=Math.min(r.south,_),r.north=Math.max(r.north,_),Math.abs(c)>Math.abs(_)&&(d=_)}}let u=t.x*e.y-e.x*t.y,m=Math.sign(u);m!==0&&(m*=D.angleBetween(t.position,e.position)),d>=0&&(o.northAngle+=m),d<=0&&(o.southAngle+=m)}var vre=new uc,t5e=new uc,Su={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};Cu.computeRectangleFromPositions=function(e,t,n,i){if(l(i)||(i=new ce),e.length<3)return i;i.west=Number.POSITIVE_INFINITY,i.east=Number.NEGATIVE_INFINITY,i.south=Number.POSITIVE_INFINITY,i.north=Number.NEGATIVE_INFINITY,Su.northAngle=0,Su.southAngle=0,Su.westOverIdl=Number.POSITIVE_INFINITY,Su.eastOverIdl=Number.NEGATIVE_INFINITY;let o=e.length,r=uc.fromCartesian(e[0],t5e);for(let s=1;sSu.eastOverIdl-Su.westOverIdl&&(i.west=Su.westOverIdl,i.east=Su.eastOverIdl,i.east>W.PI&&(i.east=i.east-W.TWO_PI),i.west>W.PI&&(i.west=i.west-W.TWO_PI)),W.equalsEpsilon(Math.abs(Su.northAngle),W.TWO_PI,W.EPSILON10)&&(i.north=W.PI_OVER_TWO,i.east=W.PI,i.west=-W.PI),W.equalsEpsilon(Math.abs(Su.southAngle),W.TWO_PI,W.EPSILON10)&&(i.south=-W.PI_OVER_TWO,i.east=W.PI,i.west=-W.PI),i};var n5e=new uc;function i5e(e,t,n){return e.height>=W.PI||e.width>=W.PI?uc.fromCartesian(t[0],n5e).tangentPlane:zr.fromPoints(t,n)}var wre=new he;function o5e(e,t,n){return(i,o)=>{if(e.height>=W.PI||e.width>=W.PI){if(e.south<0&&e.north>0){l(o)||(o=[]);for(let s=0;s=W.PI||e.width>=W.PI)return(o,r)=>{if(e.south<0&&e.north>0){let s=n.cartesianToCartographic(o,wre);return l(r)||(r=new D),r.x=s.longitude/W.PI,r.y=s.latitude/W.PI_OVER_TWO,r}return uc.fromCartesian(o,r)};let i=zr.fromPoints(t,n);return(o,r)=>i.projectPointsOntoPlane(o,r)}function s5e(e,t,n,i){return(o,r)=>!i&&(e.height>=W.PI_OVER_TWO||e.width>=2*W.PI_OVER_THREE)?On.splitPolygonsOnEquator(o,t,n,r):o}function a5e(e,t,n,i){if(t.height>=W.PI||t.width>=W.PI)return Ke.fromRectangle(t,void 0,Ire);let o=e,r=zr.fromPoints(o,n);return On.computeBoundingRectangle(r.plane.normal,r.projectPointOntoPlane.bind(r),o,i,Ire)}Cu.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,d=e._arcType,u=e._textureCoordinates,m=l(u),p=r.positions;if(p.length<3)return;let g=e.rectangle,f=On.polygonsFromHierarchy(r,m,o5e(g,p,n),!s,n,s5e(g,n,d,s)),x=f.hierarchy,_=f.polygons,C=function(X){return X},V=m?On.polygonsFromHierarchy(u,!0,C,!1,n).polygons:void 0;if(x.length===0)return;let L=x[0].outerRing,Z=a5e(L,g,n,o),G=[],I=e._height,v=e._extrudedHeight,P=e._perPositionHeightExtrude||!W.equalsEpsilon(I,v,0,W.EPSILON2),w={perPositionHeight:s,vertexFormat:t,geometry:void 0,rotationAxis:i5e(g,L,n).plane.normal,projectTo2d:r5e(g,L,n),boundingRectangle:Z,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:d},F;if(P)for(w.extrude=!0,w.top=a,w.bottom=c,w.shadowVolume=e._shadowVolume,w.offsetAttribute=e._offsetAttribute,F=0;F<_.length;F++){let X=KNe(n,_[F],m?V[F]:void 0,i,x[F],s,a,c,t,d),A;a&&c?(A=X.topAndBottom,w.geometry=On.scaleToGeodeticHeightExtruded(A.geometry,I,v,n,s)):a?(A=X.topAndBottom,A.geometry.attributes.position.values=ai.scaleToGeodeticHeight(A.geometry.attributes.position.values,I,n,!s),w.geometry=A.geometry):c&&(A=X.topAndBottom,A.geometry.attributes.position.values=ai.scaleToGeodeticHeight(A.geometry.attributes.position.values,v,n,!0),w.geometry=A.geometry),(a||c)&&(w.wall=!1,A.geometry=Oz(w),G.push(A));let N=X.walls;w.wall=!0;for(let O=0;O>t};ba.fromSubtreeJson=async function(e,t,n,i,o){let r=new ba(e,i,o),s;l(t)?s={json:t,binary:void 0}:s=I9e(n);let a=s.json;r._subtreeJson=a;let c;if(ci(a,"3DTILES_metadata"))c=a.extensions["3DTILES_metadata"];else if(l(a.tileMetadata)){let V=a.tileMetadata;c=a.propertyTables[V]}let d=[];if(l(a.contentMetadata)){let V=a.contentMetadata.length;for(let L=0;L0;u=u||m;for(let p=0;p>BigInt(61)),d=c%2===0?VC.encode2D(i,o,r):VC.encode2D(i,r,o),u=Qp.fromFacePositionLevel(c,BigInt(d),i),m,p;if(l(s)){let g=(a.maximumHeight+a.minimumHeight)/2;m=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else m=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:Qp.getTokenFromId(u._cellId),minimumHeight:m,maximumHeight:p}}}}var q9e=new h,$9e=new h,HH=new h,eNe=new $;function hre(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,$9e),s=$.unpack(e,3,eNe),a=Math.pow(2,-t),c=-1+(2*n+1)*a,d=-1+(2*i+1)*a,u=0,m=h.fromElements(a,a,1,q9e);l(o)&&(u=-1+(2*o+1)*a,m.z=a);let p=h.fromElements(c,d,u,HH);p=$.multiplyByVector(s,p,HH),p=h.add(p,r,HH);let g=$.clone(s);g=$.multiplyByScale(g,m,g);let f=new Array(12);return h.pack(p,f),$.pack(g,f,3),f}var tNe=new le;function fre(e,t,n,i,o){if(t===0)return e.slice();let r=le.unpack(e,0,tNe),s=e[4],a=e[5],c=Math.pow(2,-t),d=c*r.width,u=W.negativePiToPi(r.west+n*d),m=W.negativePiToPi(u+d),p=c*r.height,g=W.negativePiToPi(r.south+i*p),f=W.negativePiToPi(g+p),x=s,_=a;if(l(o)){let C=c*(a-s);x+=o*C,_=x+C}return[u,g,m,f,x,_]}function nNe(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=ure(i,o,n,!1,t),s=dre(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},d=pre(e,i.baseResource,c,t);return d.implicitTileset=i,d.implicitCoordinates=o,d}function pre(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}Jc.prototype.hasProperty=function(e,t){return!1};Jc.prototype.getFeature=function(e){};Jc.prototype.applyDebugSettings=function(e,t){};Jc.prototype.applyStyle=function(e){};Jc.prototype.update=function(e,t){};Jc.prototype.pick=function(e,t,n){};Jc.prototype.isDestroyed=function(){return!1};Jc.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),me(this)};Jc._deriveBoundingBox=hre;Jc._deriveBoundingRegion=fre;Jc._deriveBoundingVolumeS2=mre;var MC=Jc;var qvn=T(S(),1);var Dfn=T(S(),1),iNe={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},vl=Object.freeze(iNe);var Dvn=T(S(),1);var mpn=T(S(),1);var Hfn=T(S(),1);function NC(e,t){this._distance=t,this._normal=new bre(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(NC.prototype,{distance:{get:function(){return this._distance},set:function(e){l(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){l(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});NC.fromPlane=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance):t=new NC(e.normal,e.distance),t};NC.clone=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance,t):new NC(e.normal,e.distance)};function bre(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(bre.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var T_=NC;function hc(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.edgeColor=B.clone(y(e.edgeColor,B.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new be,this.planeRemoved=new be,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?Tre:Sre,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(l(n)){let i=n.length;for(let o=0;o0&&(r=zt.OUTSIDE);for(let s=0;s80*n){a=1/0,c=1/0;let u=-1/0,m=-1/0;for(let p=n;pu&&(u=g),f>m&&(m=f)}d=Math.max(u-a,m-c),d=d!==0?32767/d:0}return aX(r,s,n,a,c,d,0),s}function Rre(e,t,n,i,o){let r;if(o===CNe(e,t,n,i)>0)for(let s=t;s=t;s-=i)r=Lre(s/i|0,e[s],e[s+1],r);return r&&v5(r,r.next)&&(lX(r),r=r.next),r}function S_(e,t){if(!e)return e;t||(t=e);let n=e,i;do if(i=!1,!n.steiner&&(v5(n,n.next)||Ar(n.prev,n,n.next)===0)){if(lX(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function aX(e,t,n,i,o,r,s){if(!e)return;!s&&r&&gNe(e,i,o,r);let a=e;for(;e.prev!==e.next;){let c=e.prev,d=e.next;if(r?lNe(e,i,o,r):cNe(e)){t.push(c.i,e.i,d.i),lX(e),e=d.next,a=d.next;continue}if(e=d,e===a){s?s===1?(e=dNe(S_(e),t),aX(e,t,n,i,o,r,2)):s===2&&uNe(e,t,n,i,o,r):aX(S_(e),t,n,i,o,r,1);break}}}function cNe(e){let t=e.prev,n=e,i=e.next;if(Ar(t,n,i)>=0)return!1;let o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,d=i.y,u=or?o>s?o:s:r>s?r:s,g=a>c?a>d?a:d:c>d?c:d,f=i.next;for(;f!==t;){if(f.x>=u&&f.x<=p&&f.y>=m&&f.y<=g&&kC(o,a,r,c,s,d,f.x,f.y)&&Ar(f.prev,f,f.next)>=0)return!1;f=f.next}return!0}function lNe(e,t,n,i){let o=e.prev,r=e,s=e.next;if(Ar(o,r,s)>=0)return!1;let a=o.x,c=r.x,d=s.x,u=o.y,m=r.y,p=s.y,g=ac?a>d?a:d:c>d?c:d,_=u>m?u>p?u:p:m>p?m:p,C=KH(g,f,t,n,i),V=KH(x,_,t,n,i),L=e.prevZ,Z=e.nextZ;for(;L&&L.z>=C&&Z&&Z.z<=V;){if(L.x>=g&&L.x<=x&&L.y>=f&&L.y<=_&&L!==o&&L!==s&&kC(a,u,c,m,d,p,L.x,L.y)&&Ar(L.prev,L,L.next)>=0||(L=L.prevZ,Z.x>=g&&Z.x<=x&&Z.y>=f&&Z.y<=_&&Z!==o&&Z!==s&&kC(a,u,c,m,d,p,Z.x,Z.y)&&Ar(Z.prev,Z,Z.next)>=0))return!1;Z=Z.nextZ}for(;L&&L.z>=C;){if(L.x>=g&&L.x<=x&&L.y>=f&&L.y<=_&&L!==o&&L!==s&&kC(a,u,c,m,d,p,L.x,L.y)&&Ar(L.prev,L,L.next)>=0)return!1;L=L.prevZ}for(;Z&&Z.z<=V;){if(Z.x>=g&&Z.x<=x&&Z.y>=f&&Z.y<=_&&Z!==o&&Z!==s&&kC(a,u,c,m,d,p,Z.x,Z.y)&&Ar(Z.prev,Z,Z.next)>=0)return!1;Z=Z.nextZ}return!0}function dNe(e,t){let n=e;do{let i=n.prev,o=n.next.next;!v5(i,o)&&Zre(i,n,n.next,o)&&cX(i,o)&&cX(o,i)&&(t.push(i.i,n.i,o.i),lX(n),lX(n.next),n=e=o),n=n.next}while(n!==e);return S_(n)}function uNe(e,t,n,i,o,r){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&_Ne(s,a)){let c=Gre(s,a);s=S_(s,s.next),c=S_(c,c.next),aX(s,t,n,i,o,r,0),aX(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function mNe(e,t,n,i){let o=[];for(let r=0,s=t.length;r=n.next.y&&n.next.y!==n.y){let m=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(m<=i&&m>r&&(r=m,s=n.x=n.x&&n.x>=c&&i!==n.x&&kC(os.x||n.x===s.x&&bNe(s,n)))&&(s=n,u=m)}n=n.next}while(n!==a);return s}function bNe(e,t){return Ar(e.prev,e,t.prev)<0&&Ar(t.next,e,e.next)<0}function gNe(e,t,n,i){let o=e;do o.z===0&&(o.z=KH(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,yNe(o)}function yNe(e){let t,n=1;do{let i=e,o;e=null;let r=null;for(t=0;i;){t++;let s=i,a=0;for(let d=0;d0||c>0&&s;)a!==0&&(c===0||!s||i.z<=s.z)?(o=i,i=i.nextZ,a--):(o=s,s=s.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;i=s}r.nextZ=null,n*=2}while(t>1);return e}function KH(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function xNe(e){let t=e,n=e;do(t.x=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function _Ne(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!TNe(e,t)&&(cX(e,t)&&cX(t,e)&&SNe(e,t)&&(Ar(e.prev,e,t.prev)||Ar(e,t.prev,t))||v5(e,t)&&Ar(e.prev,e,e.next)>0&&Ar(t.prev,t,t.next)>0)}function Ar(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function v5(e,t){return e.x===t.x&&e.y===t.y}function Zre(e,t,n,i){let o=P5(Ar(e,t,n)),r=P5(Ar(e,t,i)),s=P5(Ar(n,i,e)),a=P5(Ar(n,i,t));return!!(o!==r&&s!==a||o===0&&W5(e,n,t)||r===0&&W5(e,i,t)||s===0&&W5(n,e,i)||a===0&&W5(n,t,i))}function W5(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function P5(e){return e>0?1:e<0?-1:0}function TNe(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&Zre(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function cX(e,t){return Ar(e.prev,e,e.next)<0?Ar(e,t,e.next)>=0&&Ar(e,e.prev,t)>=0:Ar(e,t,e.prev)<0||Ar(e,e.next,t)<0}function SNe(e,t){let n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function Gre(e,t){let n=JH(e.i,e.x,e.y),i=JH(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function Lre(e,t,n,i){let o=JH(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function lX(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function JH(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function CNe(e,t,n,i){let o=0;for(let r=t,s=n-i;r0?ms.COUNTER_CLOCKWISE:ms.CLOCKWISE};gg.triangulate=function(e,t){let n=D.packArray(e);return QH(n,t,2)};var Wre=new h,Pre=new h,vre=new h,Ere=new h,Ire=new h,Xre=new h,ib=new h,wre=new D,Fre=new D,Are=new D,UC=new D;gg.computeSubdivision=function(e,t,n,i,o){o=y(o,W.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,d=new Array(c*3),u=new Array(c*2),m=0,p=0;for(a=0;a0;){let L=s.pop(),Z=s.pop(),G=s.pop(),I=h.fromArray(d,G*3,Wre),v=h.fromArray(d,Z*3,Pre),P=h.fromArray(d,L*3,vre),w,A,b;r&&(w=D.fromArray(u,G*2,wre),A=D.fromArray(u,Z*2,Fre),b=D.fromArray(u,L*2,Are));let R=h.multiplyByScalar(h.normalize(I,Ere),x,Ere),E=h.multiplyByScalar(h.normalize(v,Ire),x,Ire),X=h.multiplyByScalar(h.normalize(P,Xre),x,Xre),F=h.magnitudeSquared(h.subtract(R,E,ib)),N=h.magnitudeSquared(h.subtract(E,X,ib)),O=h.magnitudeSquared(h.subtract(X,R,ib)),U=Math.max(F,N,O),Y,k,H;U>C?F===U?(Y=`${Math.min(G,Z)} ${Math.max(G,Z)}`,a=f[Y],l(a)||(k=h.add(I,v,ib),h.multiplyByScalar(k,.5,k),d.push(k.x,k.y,k.z),a=d.length/3-1,f[Y]=a,r&&(H=D.add(w,A,UC),D.multiplyByScalar(H,.5,H),u.push(H.x,H.y))),s.push(G,a,L),s.push(a,Z,L)):N===U?(Y=`${Math.min(Z,L)} ${Math.max(Z,L)}`,a=f[Y],l(a)||(k=h.add(v,P,ib),h.multiplyByScalar(k,.5,k),d.push(k.x,k.y,k.z),a=d.length/3-1,f[Y]=a,r&&(H=D.add(A,b,UC),D.multiplyByScalar(H,.5,H),u.push(H.x,H.y))),s.push(Z,a,G),s.push(a,L,G)):O===U&&(Y=`${Math.min(L,G)} ${Math.max(L,G)}`,a=f[Y],l(a)||(k=h.add(P,I,ib),h.multiplyByScalar(k,.5,k),d.push(k.x,k.y,k.z),a=d.length/3-1,f[Y]=a,r&&(H=D.add(b,w,UC),D.multiplyByScalar(H,.5,H),u.push(H.x,H.y))),s.push(L,a,Z),s.push(a,G,Z)):(g.push(G),g.push(Z),g.push(L))}let V={attributes:{position:new Ze({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:d})},indices:g,primitiveType:Me.TRIANGLES};return r&&(V.attributes.st=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:u})),new ht(V)};var RNe=new he,ZNe=new he,GNe=new he,jH=new he;gg.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,W.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,d=new Array(c*3),u=new Array(c*2),m=0,p=0;for(a=0;a0;){let G=s.pop(),I=s.pop(),v=s.pop(),P=h.fromArray(d,v*3,Wre),w=h.fromArray(d,I*3,Pre),A=h.fromArray(d,G*3,vre),b,R,E;r&&(b=D.fromArray(u,v*2,wre),R=D.fromArray(u,I*2,Fre),E=D.fromArray(u,G*2,Are));let X=e.cartesianToCartographic(P,RNe),F=e.cartesianToCartographic(w,ZNe),N=e.cartesianToCartographic(A,GNe);C.setEndPoints(X,F);let O=C.surfaceDistance;V.setEndPoints(F,N);let U=V.surfaceDistance;L.setEndPoints(N,X);let Y=L.surfaceDistance,k=Math.max(O,U,Y),H,J,te,z,q;k>_?O===k?(H=`${Math.min(v,I)} ${Math.max(v,I)}`,a=f[H],l(a)||(J=C.interpolateUsingFraction(.5,jH),te=(X.height+F.height)*.5,z=h.fromRadians(J.longitude,J.latitude,te,e,ib),d.push(z.x,z.y,z.z),a=d.length/3-1,f[H]=a,r&&(q=D.add(b,R,UC),D.multiplyByScalar(q,.5,q),u.push(q.x,q.y))),s.push(v,a,G),s.push(a,I,G)):U===k?(H=`${Math.min(I,G)} ${Math.max(I,G)}`,a=f[H],l(a)||(J=V.interpolateUsingFraction(.5,jH),te=(F.height+N.height)*.5,z=h.fromRadians(J.longitude,J.latitude,te,e,ib),d.push(z.x,z.y,z.z),a=d.length/3-1,f[H]=a,r&&(q=D.add(R,E,UC),D.multiplyByScalar(q,.5,q),u.push(q.x,q.y))),s.push(I,a,v),s.push(a,G,v)):Y===k&&(H=`${Math.min(G,v)} ${Math.max(G,v)}`,a=f[H],l(a)||(J=L.interpolateUsingFraction(.5,jH),te=(N.height+X.height)*.5,z=h.fromRadians(J.longitude,J.latitude,te,e,ib),d.push(z.x,z.y,z.z),a=d.length/3-1,f[H]=a,r&&(q=D.add(E,b,UC),D.multiplyByScalar(q,.5,q),u.push(q.x,q.y))),s.push(G,a,I),s.push(a,v,I)):(g.push(v),g.push(I),g.push(G))}let Z={attributes:{position:new Ze({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:d})},indices:g,primitiveType:Me.TRIANGLES};return r&&(Z.attributes.st=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:u})),new ht(Z)};gg.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,ne.default);let o=VNe,r=LNe;if(t=y(t,0),i=y(i,!0),l(e)){let s=e.length;for(let a=0;a10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};yg.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};yg.prototype.contains=function(e){return this._array.indexOf(e)!==-1};yg.prototype.clear=function(){this._array.length=this._offset=this._length=0};yg.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var xg=yg;var nr={};nr.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!l(o))continue;n+=2;let r=o.positions,s=o.holes;if(l(r)&&r.length>0&&(n+=r.length*t.packedLength),l(s)){let a=s.length;for(let c=0;c0;){let r=o.pop();if(!l(r))continue;let s=r.positions,a=r.holes;if(t[n++]=l(s)?s.length:0,t[n++]=l(a)?a.length:0,l(s)){let c=s.length;for(let d=0;d0?new Array(o):void 0;for(let a=0;aW.PI){let c=s;s=a,a=c}if(!(r.longitudea))return n.cartographicToCartesian(r)}function MNe(e,t,n,i){if(i===tn.RHUMB)return ANe(e,t,n);let o=ni.lineSegmentPlane(e,t,un.ORIGIN_XY_PLANE);if(l(o))return n.scaleToGeodeticSurface(o,o)}var NNe=new he;function kNe(e,t,n){let i=[],o,r,s,a,c,d=0;for(;dt.cartesianToCartographic(m,NNe).longitude;if(s===0)i.push({position:d,type:s,visited:!1,next:a,theta:u(o)});else if(a!==0){if(c=MNe(o,r,t,n),++d,!l(c))continue;e.splice(d,0,c),i.push({position:d,type:s,visited:!1,next:a,theta:u(c)})}++d}return i}function Ure(e,t,n,i,o,r,s){let a=[],c=r,d=m=>p=>p.position===m,u=[];do{let m=n[c];a.push(m);let p=i.findIndex(d(c)),g=i[p];if(!l(g)){++c;continue}let{visited:f,type:x,next:_}=g;if(g.visited=!0,x===0){if(_===0){let Z=i[p-(s?1:-1)];if(Z?.position===c+1)Z.visited=!0;else{++c;continue}}if(!f&&s&&_>0||r===c&&!s&&_<0){++c;continue}}if(!(s?x>=0:x<=0)){++c;continue}f||u.push(c);let V=p+(s?1:-1),L=i[V];if(!l(L)){++c;continue}c=L.position}while(c=0&&c!==r&&a.lengthd.theta-u.theta);let c=s[0].z>=0;o=Ure(i,o,s,a,1,0,c)}return i};nr.polygonsFromHierarchy=function(e,t,n,i,o,r){let s=[],a=[],c=new xg;c.enqueue(e);let d=l(r);for(;c.length!==0;){let u=c.dequeue(),m=u.positions,p=u.holes,g,f;if(i)for(f=m.length,g=0;g1){for(let v of I)c.enqueue(new Aa(v,p));continue}}let V=m.slice(),L=l(p)?p.length:0,Z=[],G;for(g=0;gMath.PI&&(e-=W.TWO_PI),e}}});var DC=new he,zNe=new h;Mr.prototype.getLatitude=function(e){l(e)||(e=ne.default),DC.latitude=this.conformalLatitude,DC.longitude=this.longitude,DC.height=0;let t=this.ellipsoid.cartographicToCartesian(DC,zNe);return e.cartesianToCartographic(t,DC),DC.latitude};var KNe=new gn,JNe=new h,QNe=new h;Mr.fromCartesian=function(e,t){let n=W.signNotZero(e.z),i=Mr.NORTH_POLE_TANGENT_PLANE,o=Mr.SOUTH_POLE;n<0&&(i=Mr.SOUTH_POLE_TANGENT_PLANE,o=Mr.NORTH_POLE);let r=KNe;r.origin=i.ellipsoid.scaleToGeocentricSurface(e,r.origin),r.direction=h.subtract(r.origin,o,JNe),h.normalize(r.direction,r.direction);let s=ni.rayPlane(r,i.plane,QNe),a=h.subtract(s,o,s),c=h.dot(i.xAxis,a),d=n*h.dot(i.yAxis,a);return l(t)?(t.position=new D(c,d),t.tangentPlane=i,t):new Mr(new D(c,d),i)};Mr.fromCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i=0?s:s+W.TWO_PI;o.westOverIdl=Math.min(o.westOverIdl,a),o.eastOverIdl=Math.max(o.eastOverIdl,a),r.west=Math.min(r.west,s),r.east=Math.max(r.east,s);let c=e.getLatitude(n),d=c;if(r.south=Math.min(r.south,c),r.north=Math.max(r.north,c),i!==tn.RHUMB){let p=D.subtract(t.position,e.position,f5e),g=D.dot(t.position,p)/D.dot(p,p);if(g>0&&g<1){let f=D.add(t.position,D.multiplyByScalar(p,-g,p),p5e),x=fc.clone(t,b5e);x.position=f;let _=x.getLatitude(n);r.south=Math.min(r.south,_),r.north=Math.max(r.north,_),Math.abs(c)>Math.abs(_)&&(d=_)}}let u=t.x*e.y-e.x*t.y,m=Math.sign(u);m!==0&&(m*=D.angleBetween(t.position,e.position)),d>=0&&(o.northAngle+=m),d<=0&&(o.southAngle+=m)}var zre=new fc,g5e=new fc,Gu={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};Eu.computeRectangleFromPositions=function(e,t,n,i){if(l(i)||(i=new le),e.length<3)return i;i.west=Number.POSITIVE_INFINITY,i.east=Number.NEGATIVE_INFINITY,i.south=Number.POSITIVE_INFINITY,i.north=Number.NEGATIVE_INFINITY,Gu.northAngle=0,Gu.southAngle=0,Gu.westOverIdl=Number.POSITIVE_INFINITY,Gu.eastOverIdl=Number.NEGATIVE_INFINITY;let o=e.length,r=fc.fromCartesian(e[0],g5e);for(let s=1;sGu.eastOverIdl-Gu.westOverIdl&&(i.west=Gu.westOverIdl,i.east=Gu.eastOverIdl,i.east>W.PI&&(i.east=i.east-W.TWO_PI),i.west>W.PI&&(i.west=i.west-W.TWO_PI)),W.equalsEpsilon(Math.abs(Gu.northAngle),W.TWO_PI,W.EPSILON10)&&(i.north=W.PI_OVER_TWO,i.east=W.PI,i.west=-W.PI),W.equalsEpsilon(Math.abs(Gu.southAngle),W.TWO_PI,W.EPSILON10)&&(i.south=-W.PI_OVER_TWO,i.east=W.PI,i.west=-W.PI),i};var y5e=new fc;function x5e(e,t,n){return e.height>=W.PI||e.width>=W.PI?fc.fromCartesian(t[0],y5e).tangentPlane:qr.fromPoints(t,n)}var Kre=new he;function _5e(e,t,n){return(i,o)=>{if(e.height>=W.PI||e.width>=W.PI){if(e.south<0&&e.north>0){l(o)||(o=[]);for(let s=0;s=W.PI||e.width>=W.PI)return(o,r)=>{if(e.south<0&&e.north>0){let s=n.cartesianToCartographic(o,Kre);return l(r)||(r=new D),r.x=s.longitude/W.PI,r.y=s.latitude/W.PI_OVER_TWO,r}return fc.fromCartesian(o,r)};let i=qr.fromPoints(t,n);return(o,r)=>i.projectPointsOntoPlane(o,r)}function S5e(e,t,n,i){return(o,r)=>!i&&(e.height>=W.PI_OVER_TWO||e.width>=2*W.PI_OVER_THREE)?On.splitPolygonsOnEquator(o,t,n,r):o}function C5e(e,t,n,i){if(t.height>=W.PI||t.width>=W.PI)return Je.fromRectangle(t,void 0,Bre);let o=e,r=qr.fromPoints(o,n);return On.computeBoundingRectangle(r.plane.normal,r.projectPointOntoPlane.bind(r),o,i,Bre)}Eu.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,d=e._arcType,u=e._textureCoordinates,m=l(u),p=r.positions;if(p.length<3)return;let g=e.rectangle,f=On.polygonsFromHierarchy(r,m,_5e(g,p,n),!s,n,S5e(g,n,d,s)),x=f.hierarchy,_=f.polygons,C=function(X){return X},V=m?On.polygonsFromHierarchy(u,!0,C,!1,n).polygons:void 0;if(x.length===0)return;let L=x[0].outerRing,Z=C5e(L,g,n,o),G=[],I=e._height,v=e._extrudedHeight,P=e._perPositionHeightExtrude||!W.equalsEpsilon(I,v,0,W.EPSILON2),w={perPositionHeight:s,vertexFormat:t,geometry:void 0,rotationAxis:x5e(g,L,n).plane.normal,projectTo2d:T5e(g,L,n),boundingRectangle:Z,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:d},A;if(P)for(w.extrude=!0,w.top=a,w.bottom=c,w.shadowVolume=e._shadowVolume,w.offsetAttribute=e._offsetAttribute,A=0;A<_.length;A++){let X=d5e(n,_[A],m?V[A]:void 0,i,x[A],s,a,c,t,d),F;a&&c?(F=X.topAndBottom,w.geometry=On.scaleToGeodeticHeightExtruded(F.geometry,I,v,n,s)):a?(F=X.topAndBottom,F.geometry.attributes.position.values=di.scaleToGeodeticHeight(F.geometry.attributes.position.values,I,n,!s),w.geometry=F.geometry):c&&(F=X.topAndBottom,F.geometry.attributes.position.values=di.scaleToGeodeticHeight(F.geometry.attributes.position.values,v,n,!0),w.geometry=F.geometry),(a||c)&&(w.wall=!1,F.geometry=qH(w),G.push(F));let N=X.walls;w.wall=!0;for(let O=0;OAC.equals(t,e))};Qr.prototype.remove=function(e){let t=this._polygons,n=t.findIndex(i=>AC.equals(i,e));return n===-1?!1:(t.splice(n,1),this.polygonRemoved.raiseEvent(e,n),!0)};var d5e=new ce;function u5e(e){let t=[],n=[],i=e.length;for(let r=0;rce.union(e[_].computeSphericalExtents(d5e),x,x),a),t[p]=void 0,n[p]=void 0,c=Math.max(a.height*2.5,.001),d=Math.max(a.width*2.5,.001),u=ce.clone(a,u),u.south-=c,u.west-=d,u.north+=c,u.east+=d,u.south=Math.max(u.south,-Math.PI),u.west=Math.max(u.west,-Math.PI),u.north=Math.min(u.north,Math.PI),u.east=Math.min(u.east,Math.PI),p=-1}}t.push(u),n.push(m)}let o=new Map;return n.filter(l).forEach((r,s)=>r.forEach(a=>o.set(a,s))),{extentsList:t.filter(l),extentsIndexByPolygon:o}}Qr.prototype.removeAll=function(){let e=this._polygons,t=e.length;for(let n=0;ns+a.length,0);if(n===this.totalPositions||(this._totalPositions=n,this.length===0))return;l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0,this._signedDistanceComputeCommand=void 0);let i=this._polygonsTexture,o=this._extentsTexture,r=this._signedDistanceTexture;if(l(i)){let s=i.width*i.height;(s{e._signedDistanceComputeCommand=void 0}})}var Are=new ce,f5e=new ce;Qr.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._polygons,i=n.length,o=Kt.OUTSIDE;this.inverse&&(o=Kt.INSIDE);for(let r=0;r4?(St(`Property texture property ${e.id} is an array of length ${e.arrayLength}, but may have at most a length of 4`),!1):t!==Lt.SCALAR?(St(`Property texture property ${e.id} is an array of type ${t}, but only SCALAR is supported`),!1):n!==Yt.UINT8?(St(`Property texture property ${e.id} is an array with component type ${n}, but only UINT8 is supported`),!1):!0:Lt.isVectorType(t)||t===Lt.SCALAR?n!==Yt.UINT8?(St(`Property texture property ${e.id} has component type ${n}, but only UINT8 is supported`),!1):!0:(St(`Property texture property ${e.id} has an unsupported type`),!1)};var g5e=[void 0,"float","vec2","vec3","vec4"],y5e=[void 0,"int","ivec2","ivec3","ivec4"];sX.prototype.getGlslType=function(){let e=this._classProperty,t=Lt.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?g5e[t]:y5e[t]};sX.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function x5e(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var aX=sX;function Hz(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(l(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new aX({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(Hz.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Hz.prototype.getProperty=function(e){return this._properties[e]};var t0=Hz;var lbn=T(S(),1);var obn=T(S(),1);function Nre(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||l(i)||l(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Nre.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var cX=Nre;function Kz(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(l(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new cX({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Kz.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Kz.prototype.getProperty=function(e){return this._properties[e]};var p_=Kz;var hbn=T(S(),1);function lX(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=l(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(lX.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!l(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n=r;)C=o[C-r];o.push(C),s[x]=_}_>A5e&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):_>M5e&&t instanceof Uint8Array&&(t=new Uint16Array(t)),x===c?(c=_,t[a]=_):x===d?(d=_,t[a+1]=_):(u=_,t[a+2]=_),x=Ure(i,c,d,u,p,g,f)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function Ure(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,d=0,u=Jz(e,t,a,c,d);if(u===0)return t;let m=0,p=o?1:0,g=r?1:0,f=Jz(e,n,m,p,g);if(f===0)return n;let x=s?1:0,_=0,C=r?1:0,V=Jz(e,i,x,_,C);if(V===0)return i;let L=u&f&V,Z,G,I;if(L&1)Z=0,G=1,I=2;else if(L&2)Z=0,I=1,G=2;else if(L&4)G=0,Z=1,I=2;else if(L&8)G=0,I=1,Z=2;else if(L&16)I=0,Z=1,G=2;else if(L&32)I=0,G=1,Z=2;else{let F=Qz(u),b=Qz(f),R=Qz(V);return F>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}P5.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a1;)i>>=1,r.push(Dre(i));let s=new wt({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:dt.LUMINANCE,sampler:new nn({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:tn.LINEAR_MIPMAP_LINEAR,magnificationFilter:mi.LINEAR})});return t.outlineTexture=s,s};function Dre(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function Bre(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),l(this._processError)){this._state=Wo.FAILED;let o=this._processError;this._processError=void 0,w5(this,o)}let t=this._textureErrors.pop();if(l(t)){let o=this.getError("Failed to load glTF texture",t);throw o.name="TextureError",o}if(this._state===Wo.FAILED)return!1;let n=!1;try{n=this._process(e)}catch(o){this._state=Wo.FAILED,w5(this,o)}let i=!1;try{i=this._processTextures(e)}catch(o){this._textureState=Wo.FAILED,w5(this,o)}return this._incrementallyLoadTextures?n:n&&i};function Vke(e,t,n,i,o,r,s){let a=e.gltfJson,d=a.accessors[t].bufferView;return Ci.getVertexBufferLoader({gltf:a,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:s,bufferViewId:d,draco:i,attributeSemantic:n,accessorId:t,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r})}function Lke(e,t,n,i,o,r){return Ci.getIndexBufferLoader({gltf:e.gltfJson,accessorId:t,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:r,draco:n,asynchronous:e._asynchronous,loadBuffer:i,loadTypedArray:o})}function Rke(e,t){let n=Ci.getBufferViewLoader({gltf:e.gltfJson,bufferViewId:t,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(n),n}function ise(e,t,n){let i=t.byteOffset,o=Il(e,t),r=t.count,s=bd(t.type),a=t.componentType,c=Q.getSizeInBytes(a),d=c*s,u=r*s;if(o===d)return n=new Uint8Array(n),Q.createArrayBufferView(a,n.buffer,n.byteOffset+i,u);let m=Q.createTypedArray(a,u),p=new DataView(n.buffer),g=new Array(s),f=jp(t.componentType);i=n.byteOffset+i;for(let x=0;x{l(i)&&l(i.attributes)&&l(i.attributes[u])?Mke(x,_,o,r):Nke(a,c,x,_,o,r)},x}function sse(e,t,n,i,o,r,s){let a=n.modelSemantic,c=a===Vt.POSITION,d=a===Vt.FEATURE_ID,u=c&&!o&&e._loadAttributesFor2D&&!s.scene3DOnly,m=c&&e._enablePick&&!s.context.webgl2,p=e._loadForClassification&&d,g=e._loadAttributesAsTypedArray,f=!g,x=g||u||m||p,V=rse(e,t,n,i,r?!1:f,r?!0:x,s),L=new g_.AttributeLoadPlan(V);return L.loadBuffer=f,L.loadTypedArray=x,L}function kke(e,t,n,i,o){let r=e.gltfJson.accessors,s=l(n.ROTATION),a=l(n.TRANSLATION)&&l(r[n.TRANSLATION].min)&&l(r[n.TRANSLATION].max),c=$z(e,jr,i),d=c.modelSemantic,u=d===jr.TRANSLATION||d===jr.ROTATION||d===jr.SCALE,m=d===jr.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&u||!o.context.instancedArrays,g=e._enablePick&&!o.context.webgl2,f=!p,x=e._loadAttributesFor2D&&!o.scene3DOnly;return rse(e,t,c,void 0,f,p||m&&(!a||x||g),o)}function Uke(e,t,n,i,o,r){let s=e.gltfJson.accessors[t],a=s.bufferView;if(!l(n)&&!l(a))return;let c=new $5e;c.count=s.count;let d=e._loadAttributesAsTypedArray,u=(e._loadIndicesForWireframe||e._enablePick)&&!r.context.webgl2,m=e._loadForClassification&&i,g=!d,f=d||u||m,C=Lke(e,t,n,o?!1:g,o?!0:f,r),V=e._geometryLoaders.length;e._geometryLoaders.push(C);let L=C.load();e._loaderPromises.push(L),e._geometryCallbacks[V]=()=>{c.indexDatatype=C.indexDatatype,c.buffer=C.buffer,c.typedArray=C.typedArray};let Z=new g_.IndicesLoadPlan(c);return Z.loadBuffer=g,Z.loadTypedArray=f,Z}function Hc(e,t,n,i){let o=e.gltfJson,r=Xl.getImageIdFromTexture({gltf:o,textureId:t.index,supportedImageFormats:e._supportedImageFormats});if(!l(r))return;let s=Ci.getTextureLoader({gltf:o,textureInfo:t,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:n,asynchronous:e._asynchronous}),a=Xl.createModelTextureReader({textureInfo:t}),c=e._textureLoaders.length;e._textureLoaders.push(s);let d=s.load().catch(u=>{if(!e.isDestroyed()){if(!e._incrementallyLoadTextures)throw u;e._textureState=Wo.FAILED,e._textureErrors.push(u)}});return e._texturesPromises.push(d),e._textureCallbacks[c]=()=>{a.texture=s.texture,l(i)&&(a.texture.sampler=i)},a}function Dke(e,t,n){let{diffuseTexture:i,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=t,c=new bke;return l(i)&&(c.diffuseTexture=Hc(e,i,n)),l(o)&&(c.specularGlossinessTexture=Hc(e,o,n)),c.diffuseFactor=yd(se,r),c.specularFactor=yd(h,s),c.glossinessFactor=a,c}function Bke(e,t,n){let{baseColorTexture:i,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=t,c=new pke;return l(i)&&(c.baseColorTexture=Hc(e,i,n)),l(o)&&(c.metallicRoughnessTexture=Hc(e,o,n)),c.baseColorFactor=yd(se,r),c.metallicFactor=s,c.roughnessFactor=a,c}function Oke(e,t,n){let{specularFactor:i,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=t,a=new gke;return l(o)&&(a.specularTexture=Hc(e,o,n)),l(s)&&(a.specularColorTexture=Hc(e,s,n)),a.specularFactor=i,a.specularColorFactor=yd(h,r),a}function Yke(e,t,n){let{anisotropyStrength:i=jz.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=jz.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=t,s=new jz;return l(r)&&(s.anisotropyTexture=Hc(e,r,n)),s.anisotropyStrength=i,s.anisotropyRotation=o,s}function zke(e,t,n){let{clearcoatFactor:i=qz.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=qz.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=t,c=new qz;return l(o)&&(c.clearcoatTexture=Hc(e,o,n)),l(s)&&(c.clearcoatRoughnessTexture=Hc(e,s,n)),l(a)&&(c.clearcoatNormalTexture=Hc(e,a,n)),c.clearcoatFactor=i,c.clearcoatRoughnessFactor=r,c}function Hke(e,t,n){let i=new yke,o=y(t.extensions,y.EMPTY_OBJECT),r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,d=t.pbrMetallicRoughness;return i.unlit=l(o.KHR_materials_unlit),l(r)?i.specularGlossiness=Dke(e,r,n):(l(d)&&(i.metallicRoughness=Bke(e,d,n)),l(s)&&!i.unlit&&(i.specular=Oke(e,s,n)),l(a)&&!i.unlit&&(i.anisotropy=Yke(e,a,n)),l(c)&&!i.unlit&&(i.clearcoat=zke(e,c,n))),l(t.emissiveTexture)&&(i.emissiveTexture=Hc(e,t.emissiveTexture,n)),l(t.normalTexture)&&!e._loadForClassification&&(i.normalTexture=Hc(e,t.normalTexture,n)),l(t.occlusionTexture)&&(i.occlusionTexture=Hc(e,t.occlusionTexture,n)),i.emissiveFactor=yd(h,t.emissiveFactor),i.alphaMode=t.alphaMode,i.alphaCutoff=t.alphaCutoff,i.doubleSided=t.doubleSided,i}function ase(e,t){let n=new ese;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function cse(e,t,n,i){let o=new ese,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=ose(r.attribute),o.positionalLabel=i,o}function lse(e,t){let n=new nse;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function dse(e,t,n,i){let o=new nse,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function Kke(e,t,n,i){let o=new tse;o.featureCount=t.featureCount,o.nullFeatureId=t.nullFeatureId,o.propertyTableId=t.propertyTable,o.label=t.label,o.positionalLabel=i;let r=t.texture;o.textureReader=Hc(e,r,n,nn.NEAREST);let a=(l(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function Jke(e,t,n,i,o,r){let s=new tse,a=t.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=n,s.textureReader=Hc(e,c,i,nn.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function Qke(e,t,n,i,o){let r=new eke,s=void 0,a=!1;for(let c in t){if(!t.hasOwnProperty(c))continue;let d=t[c],u=$z(e,Vt,c),m=sse(e,d,u,s,a,n,o);r.attributes.push(m.attribute),i.attributePlans.push(m)}return r}function jke(e,t,n,i){let o=new tke,r=new g_(o);e._primitiveLoadPlans.push(r);let s=t.material;l(s)&&(o.material=Hke(e,e.gltfJson.materials[s],i));let a=y(t.extensions,y.EMPTY_OBJECT),c=!1,d=a.CESIUM_primitive_outline;e._loadPrimitiveOutline&&l(d)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=qke(e,d,r));let u=e._loadForClassification,m=a.KHR_draco_mesh_compression,p=!1,g=t.attributes;if(l(g))for(let G in g){if(!g.hasOwnProperty(G))continue;let I=g[G],v=$z(e,Vt,G),P=v.modelSemantic;if(u&&!Ake(P))continue;P===Vt.FEATURE_ID&&(p=!0);let w=sse(e,I,v,m,n,c,i);r.attributePlans.push(w),o.attributes.push(w.attribute)}let f=t.targets;if(l(f)&&!u)for(let G=0;Gn[s]);let r=t.inverseBindMatrices;if(l(r)){let s=e.gltfJson.accessors[r];i.inverseBindMatrices=F5(e,s)}else i.inverseBindMatrices=new Array(o.length).fill(M.IDENTITY);return i}function lUe(e,t){let n=e.gltfJson.skins;if(e._loadForClassification||!l(n))return[];let i=n.map(function(r,s){let a=cUe(e,r,t);return a.index=s,a}),o=e.gltfJson.nodes;for(let r=0;rOC.equals(t,e))};ns.prototype.remove=function(e){let t=this._polygons,n=t.findIndex(i=>OC.equals(i,e));return n===-1?!1:(t.splice(n,1),this.polygonRemoved.raiseEvent(e,n),!0)};var R5e=new le;function Z5e(e){let t=[],n=[],i=e.length;for(let r=0;rle.union(e[_].computeSphericalExtents(R5e),x,x),a),t[p]=void 0,n[p]=void 0,c=Math.max(a.height*2.5,.001),d=Math.max(a.width*2.5,.001),u=le.clone(a,u),u.south-=c,u.west-=d,u.north+=c,u.east+=d,u.south=Math.max(u.south,-Math.PI),u.west=Math.max(u.west,-Math.PI),u.north=Math.min(u.north,Math.PI),u.east=Math.min(u.east,Math.PI),p=-1}}t.push(u),n.push(m)}let o=new Map;return n.filter(l).forEach((r,s)=>r.forEach(a=>o.set(a,s))),{extentsList:t.filter(l),extentsIndexByPolygon:o}}ns.prototype.removeAll=function(){let e=this._polygons,t=e.length;for(let n=0;ns+a.length,0);if(n===this.totalPositions||(this._totalPositions=n,this.length===0))return;l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0,this._signedDistanceComputeCommand=void 0);let i=this._polygonsTexture,o=this._extentsTexture,r=this._signedDistanceTexture;if(l(i)){let s=i.width*i.height;(s{e._signedDistanceComputeCommand=void 0}})}var Qre=new le,I5e=new le;ns.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._polygons,i=n.length,o=zt.OUTSIDE;this.inverse&&(o=zt.INSIDE);for(let r=0;r=s.clientWidth)d=!0;else{if(L.x>s.clientWidth*.5){a.width=L.x,c.frustum.right=p.x-C,pc=VX(r,n,c,pc),Na.clipToGLWindowCoordinates(a,pc,tH),a.x+=L.x,c.position.x=-c.position.x;let Z=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-Z,pc=VX(r,n,c,pc),Na.clipToGLWindowCoordinates(a,pc,nH)}else{a.x+=L.x,a.width-=L.x,c.frustum.left=-p.x-C,pc=VX(r,n,c,pc),Na.clipToGLWindowCoordinates(a,pc,tH),a.x=a.x-a.width,c.position.x=-c.position.x;let Z=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-Z,pc=VX(r,n,c,pc),Na.clipToGLWindowCoordinates(a,pc,nH)}h.clone(g,c.position),c.frustum=f.clone(),i=D.clone(tH,i),(i.x<0||i.x>s.clientWidth)&&(i.x=nH.x)}}if(o.mode!==oe.SCENE2D||d){if(pc=VX(r,n,c,pc),pc.z<0&&!(c.frustum instanceof ln)&&!(c.frustum instanceof Xr))return;i=Na.clipToGLWindowCoordinates(a,pc,i)}return i.y=s.clientHeight-i.y,i};Na.worldToDrawingBufferCoordinates=function(e,t,n){if(n=Na.worldToWindowCoordinates(e,t,n),!!l(n))return Na.transformWindowToDrawingBuffer(e,n,n)};var o0=new h,MUe=new he;Na.computeActualEllipsoidPosition=function(e,t,n){let i=e.mode;if(i===oe.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,MUe);if(!l(r))return;if(o.project(r,o0),i===oe.COLUMBUS_VIEW)return h.fromElements(o0.z,o0.x,o0.y,n);if(i===oe.SCENE2D)return h.fromElements(0,o0.x,o0.y,n);let s=e.morphTime;return h.fromElements(W.lerp(o0.z,t.x,s),W.lerp(o0.x,t.y,s),W.lerp(o0.y,t.z,s),n)};var bse=new h,gse=new h,yse=new M;Na.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,bse),M.computeViewportTransformation(e,0,1,yse),M.multiplyByPoint(yse,bse,gse),D.fromCartesian3(gse,n)};Na.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return D.fromElements(t.x*o,t.y*r,n)};var NUe=new se,xse=new se;Na.drawingBufferToWorldCoordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,f=Math.pow(2,g)-1;n=c*(1-a/(f+a))/(c-a)}let d=e.view.passState.viewport,u=se.clone(se.UNIT_W,NUe);u.x=(t.x-d.x)/d.width*2-1,u.y=(t.y-d.y)/d.height*2-1,u.z=n*2-1,u.w=1;let m,p=e.camera.frustum;if(l(p.fovy)){m=M.multiplyByVector(r.inverseViewProjection,u,xse);let g=1/m.w;h.multiplyByScalar(m,g,m)}else{let g=p.offCenterFrustum;l(g)&&(p=g),m=xse,m.x=(u.x*(p.right-p.left)+p.left+p.right)*.5,m.y=(u.y*(p.top-p.bottom)+p.bottom+p.top)*.5,m.z=(u.z*(a-c)-a-c)*.5,m.w=1,m=M.multiplyByVector(r.inverseView,m,m)}return h.fromCartesian4(m,i)};var Mi=Na;var m_n=T(S(),1);var Cxn=T(S(),1);var DC={};DC._deprecationWarning=as;var r0=Uint32Array.BYTES_PER_ELEMENT;DC.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=r0;let r=o.getUint32(t,!0);if(r!==1)throw new de(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=r0;let s=o.getUint32(t,!0);t+=r0;let a=o.getUint32(t,!0);t+=r0;let c=o.getUint32(t,!0);t+=r0;let d=o.getUint32(t,!0);t+=r0;let u=o.getUint32(t,!0);t+=r0;let m;d>=570425344?(t-=r0*2,m=a,d=c,u=0,a=0,c=0,DC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):u>=570425344&&(t-=r0,m=d,d=a,u=c,a=0,c=0,DC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(m,0)}:(p=Xo(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let f,x;d>0&&(f=Xo(i,t,d),t+=d,u>0&&(x=new Uint8Array(e,t,u),x=new Uint8Array(x),t+=u));let _=n+s-t;if(_===0)throw new de("glTF byte length must be greater than 0.");let C;return t%4===0?C=new Uint8Array(e,t,_):(DC._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),C=new Uint8Array(i.subarray(t,t+_))),{batchLength:m,featureTableJson:p,featureTableBinary:g,batchTableJson:f,batchTableBinary:x,gltf:C}};var LX=DC;var Gxn=T(S(),1);function RX(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function _se(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return l(a)||(a=Q.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function kUe(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return l(r)||(r=Q.createTypedArray(n,i),o[t]=r),r}RX.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(t=y(t,Q.UNSIGNED_INT),n=y(n,1),_se(this,e,t,n,1,i.byteOffset)):i};RX.prototype.hasProperty=function(e){return l(this.json[e])};RX.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(l(i.componentType)&&(t=Q.fromName(i.componentType)),_se(this,e,t,n,this.featuresLength,i.byteOffset)):kUe(this,e,t,i)};RX.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!l(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a0&&(f=Xo(i,t,d),t+=d,u>0&&(x=new Uint8Array(e,t,u),x=new Uint8Array(x),t+=u));let _=n+s-t;if(_===0)throw new de("glTF byte length must be greater than 0.");let C;return t%4===0?C=new Uint8Array(e,t,_):(M5._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),C=new Uint8Array(i.subarray(t,t+_))),{gltfFormat:m,featureTableJson:p,featureTableBinary:g,batchTableJson:f,batchTableBinary:x,gltf:C}};var IX=M5;var a0={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},N5=Cn.Attribute,aDe=Cn.FeatureIdAttribute,Rse=Cn.Instances;function c0(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Io.Y),d=y(e.forwardAxis,Io.X),u=y(e.loadAttributesAsTypedArray,!1),m=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.enablePick,!1);i=l(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=d,this._loadAttributesAsTypedArray=u,this._loadIndicesForWireframe=m,this._loadPrimitiveOutline=p,this._enablePick=g,this._state=a0.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=M.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}l(Object.create)&&(c0.prototype=Object.create(Yi.prototype),c0.prototype.constructor=c0);Object.defineProperties(c0.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});c0.prototype.load=function(){if(l(this._promise))return this._promise;let e=IX.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new zm(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!l(a))throw new de("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",Q.FLOAT,3);l(c)&&(this._transform=M.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let d={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let m=Rl(e.gltf);m=m.replace(/[\s\0]+$/,"");let p=this._baseResource.getDerivedResource({url:m});d.gltfResource=p,d.baseResource=p}else d.gltfResource=this._i3dmResource,d.typedArray=e.gltf;let u=new n0(d);return this._gltfLoader=u,this._state=a0.LOADING,this._promise=u.load().then(()=>{if(!this.isDestroyed())return this._state=a0.PROCESSING,this}).catch(m=>{if(!this.isDestroyed())throw cDe(this,m)}),this._promise};function cDe(e,t){return e.unload(),e._state=a0.FAILED,e.getError("Failed to load i3dm",t)}c0.prototype.process=function(e){if(this._state===a0.READY)return!0;let t=this._gltfLoader,n=!1;if(this._state===a0.PROCESSING&&(n=t.process(e)),!n)return!1;let i=t.components;return i.transform=M.multiplyTransformation(this._transform,i.transform,i.transform),uDe(this,i,e),lDe(this,i),this._components=i,this._arrayBuffer=void 0,this._state=a0.READY,!0};function lDe(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(l(n.json))o=s0({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new zc({name:km.BATCH_TABLE_CLASS_NAME,count:i});o=new Ds({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var k5=new h,rH=new Array(4),dDe=new M;function uDe(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",Q.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,d=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),u=hDe(o,r),m;c&&(m=new Float32Array(4*r));let p;d&&(p=new Float32Array(3*r));let g=new Float32Array(r),f=h.unpackArray(u),x=new h,_=new h,C=new h,V=new h,L=new $,Z=new Ae,G=new Array(4),I=new h,v=new Array(3),P=new M;if(!l(s)||h.equals(h.unpack(s),h.ZERO)){let U=le.fromPoints(f);for(i=0;i0&&(U.instances=O?mDe(w):w,O=!0)}}function mDe(e){let t=new Rse;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o=n[t]){if(t+1=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o=n[o]&&e=0&&!(e>=n[o]&&en&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};BC.prototype.clampTime=function(e){let t=this.times;return W.clamp(e,t[0],t[t.length-1])};var no=BC;function OC(e){this._value=e,this._valueType=no.getPointType(e)}Object.defineProperties(OC.prototype,{value:{get:function(){return this._value}}});OC.prototype.findTimeInterval=function(e){};OC.prototype.wrapTime=function(e){return 0};OC.prototype.clampTime=function(e){return 0};OC.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var WX=OC;var HTn=T(S(),1);var vTn=T(S(),1);function YC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=no.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(YC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});YC.prototype.findTimeInterval=no.prototype.findTimeInterval;YC.prototype.wrapTime=no.prototype.wrapTime;YC.prototype.clampTime=no.prototype.clampTime;YC.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(l(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var _g=YC;var ATn=T(S(),1);var Zse={};Zse.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var zC=Zse;var Gse=[],Ese=[],Ise=[],Xse=[];function yDe(e,t,n){let i=Gse,o=Ise,r=Ese,s=Xse;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(l(c)||(c=s[0]=new h),h.clone(t,c),a=1;a0&&e.afterRender.push(a._raiseStartEvent)),a.loop===Pl.REPEAT)g=g-Math.floor(g);else if(a.loop===Pl.MIRRORED_REPEAT){let C=Math.floor(g),V=g-C;g=C%2===1?1-V:V}a.reverse&&(g=1-g);let _=g*d*a.multiplier;_=W.clamp(_,a.localStartTime,a.localStopTime),a.animate(_),a.update.numberOfListeners>0&&(a._updateEventTime=_,e.afterRender.push(a._raiseUpdateEvent)),i=!0,x||(a._state=Hm.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&U5.push(a))}}n=U5.length;for(let s=0;s= PRIMARY_STEPS) { + break; + } - // Find the evolute of the ellipse (center of curvature) at v. - vec2 evolute = evoluteScale * tTrigs * tTrigs * tTrigs; - // Find the (approximate) intersection of p - evolute with the ellipsoid. - vec2 q = normalize(p - evolute) * length(v - evolute); - // Update the estimate of t. - tTrigs = (q + evolute) * inverseRadii; - tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); - v = radii * tTrigs; + // Calculate sample position along viewpoint ray. + vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); - return v * sign(pos); -} + // Calculate height of sample position above ellipsoid. + float sampleHeight = length(samplePosition) - atmosphereInnerRadius; -vec3 computeEllipsoidPositionWC(vec3 positionMC) { - // Get the world-space position and project onto a meridian plane of - // the ellipsoid - vec3 positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; + // Calculate and accumulate density of particles at the sample position. + vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; + opticalDepth += sampleDensity; - vec2 positionEllipse = vec2(length(positionWC.xy), positionWC.z); - vec2 nearestPoint = nearestPointOnEllipseFast(positionEllipse, czm_ellipsoidRadii.xz); + // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. + czm_ray lightRay = czm_ray(samplePosition, lightDirection); + czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); - // Reconstruct a 3D point in world space - return vec3(nearestPoint.x * normalize(positionWC.xy), nearestPoint.y); -} + float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); + float lightPositionLength = 0.0; -void applyFog(inout vec4 color, vec4 groundAtmosphereColor, vec3 lightDirection, float distanceToCamera) { + vec2 lightOpticalDepth = vec2(0.0); - vec3 fogColor = groundAtmosphereColor.rgb; + // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. + for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { - // If there is dynamic lighting, apply that to the fog. - const float NONE = 0.0; - if (czm_atmosphereDynamicLighting != NONE) { - float darken = clamp(dot(normalize(czm_viewerPositionWC), lightDirection), czm_fogMinimumBrightness, 1.0); - fogColor *= darken; - } + // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (j >= LIGHT_STEPS) { + break; + } - // Tonemap if HDR rendering is disabled - #ifndef HDR - fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); - fogColor.rgb = czm_inverseGamma(fogColor.rgb); - #endif + // Calculate sample position along light ray. + vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); - // Matches the constant in GlobeFS.glsl. This makes the fog falloff - // more gradual. - const float fogModifier = 0.15; - vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, fogModifier); - color = vec4(withFog, color.a); -} + // Calculate height of the light sample position above ellipsoid. + float lightHeight = length(lightPosition) - atmosphereInnerRadius; -void atmosphereStage(inout vec4 color, in ProcessedAttributes attributes) { - vec3 rayleighColor; - vec3 mieColor; - float opacity; + // Calculate density of photons at the light sample position. + lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; - vec3 positionWC; - vec3 lightDirection; + // Increment distance on light ray. + lightPositionLength += lightStepLength; + } - // When the camera is in space, compute the position per-fragment for - // more accurate ground atmosphere. All other cases will use - // - // The if condition will be added in https://github.com/CesiumGS/cesium/issues/11717 - if (false) { - positionWC = computeEllipsoidPositionWC(attributes.positionMC); - lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); + // Compute attenuation via the primary ray and the light ray. + vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); - // The fog color is derived from the ground atmosphere color - czm_computeGroundAtmosphereScattering( - positionWC, - lightDirection, - rayleighColor, - mieColor, - opacity - ); - } else { - positionWC = attributes.positionWC; - lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); - rayleighColor = v_atmosphereRayleighColor; - mieColor = v_atmosphereMieColor; - opacity = v_atmosphereOpacity; + // Accumulate the scattering. + rayleighAccumulation += sampleDensity.x * attenuation; + mieAccumulation += sampleDensity.y * attenuation; + + // Increment distance on primary ray. + rayPositionLength += (rayStepLength += rayStepLengthIncrease); } - //color correct rayleigh and mie colors - const bool ignoreBlackPixels = true; - rayleighColor = czm_applyHSBShift(rayleighColor, czm_atmosphereHsbShift, ignoreBlackPixels); - mieColor = czm_applyHSBShift(mieColor, czm_atmosphereHsbShift, ignoreBlackPixels); + // Compute the scattering amount. + rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; + mieColor = u_atmosphereMieCoefficient * mieAccumulation; - vec4 groundAtmosphereColor = czm_computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + // Compute the transmittance i.e. how much light is passing through the atmosphere. + opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); +} - if (u_isInFog) { - float distanceToCamera = length(attributes.positionEC); - applyFog(color, groundAtmosphereColor, lightDirection, distanceToCamera); - } else { - // Ground atmosphere - } +vec4 computeAtmosphereColor( + vec3 positionWC, + vec3 lightDirection, + vec3 rayleighColor, + vec3 mieColor, + float opacity +) { + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + + float cosAngle = dot(cameraToPositionWCDirection, lightDirection); + float cosAngleSq = cosAngle * cosAngle; + + float G = u_atmosphereMieAnisotropy; + float GSq = G * G; + + // The Rayleigh phase function. + float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); + // The Mie phase function. + float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); + + // The final color is generated by combining the effects of the Rayleigh and Mie scattering. + vec3 rayleigh = rayleighPhase * rayleighColor; + vec3 mie = miePhase * mieColor; + + vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; + + return vec4(color, opacity); } -`;var uCn=T(S(),1),BX=`void atmosphereStage(ProcessedAttributes attributes) { - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_positionWC, czm_atmosphereDynamicLighting); +`;var w0n=T(S(),1),mX=`uniform samplerCube u_radianceMap; - czm_computeGroundAtmosphereScattering( - // This assumes the geometry stage came before this. - v_positionWC, - lightDirection, - v_atmosphereRayleighColor, - v_atmosphereMieColor, - v_atmosphereOpacity - ); +in vec2 v_textureCoordinates; + + +const float twoSqrtPi = 2.0 * sqrt(czm_pi); + +// Coutesy of https://www.ppsloan.org/publications/StupidSH36.pdf +float computeShBasis(int index, vec3 s) { + if (index == 0) { // l = 0, m = 0 + return 1.0 / twoSqrtPi; + } + + if (index == 1) { // l = 1, m = -1 + return -sqrt(3.0) * s.y / twoSqrtPi; + } + + if (index == 2) { // l = 1, m = 0 + return sqrt(3.0) * s.z / twoSqrtPi; + } + + if (index == 3) { // l = 1, m = 1 + return -sqrt(3.0) * s.x / twoSqrtPi; + } + + if (index == 4) { // l = 2, m = -2 + return sqrt(15.0) * s.y * s.x / twoSqrtPi; + } + + if (index == 5) { // l = 2, m = -1 + return -sqrt(15.0) * s.y * s.z / twoSqrtPi; + } + + if (index == 6) { // l = 2, m = 0 + return sqrt(5.0) * (3.0 * s.z * s.z - 1.0) / 2.0 / twoSqrtPi; + } + + if (index == 7) { // l = 2, m = 1 + return -sqrt(15.0) * s.x * s.z / twoSqrtPi; + } + + if (index == 8) { // l = 2, m = 2 + return sqrt(15.0) * (s.x * s.x - s.y * s.y) / 2.0 / twoSqrtPi; + } + + return 0.0; } -`;var vse={name:"AtmospherePipelineStage"};vse.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_ATMOSPHERE",void 0,ge.BOTH),i.addDefine("COMPUTE_POSITION_WC_ATMOSPHERE",void 0,ge.BOTH),i.addVarying("vec3","v_atmosphereRayleighColor"),i.addVarying("vec3","v_atmosphereMieColor"),i.addVarying("float","v_atmosphereOpacity"),i.addVertexLines([BX]),i.addFragmentLines([DX]),i.addUniform("bool","u_isInFog",ge.FRAGMENT),e.uniformMap.u_isInFog=function(){let o=h.distance(n.camera.positionWC,t.boundingSphere.center);return W.fog(o,n.fog.density)>W.EPSILON3}};var OX=vse;var ZCn=T(S(),1);var _Cn=T(S(),1),YX=`/** - * Compute some metrics for a procedural sky lighting model - * - * @param {vec3} positionWC The position of the fragment in world coordinates. - * @param {vec3} reflectionWC A unit vector in the direction of the reflection, in world coordinates. - * @return {vec3} The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - */ -vec3 getProceduralSkyMetrics(vec3 positionWC, vec3 reflectionWC) + +float vdcRadicalInverse(int i) { - // Figure out if the reflection vector hits the ellipsoid - float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / length(positionWC)); - float reflectionDotNadir = dot(reflectionWC, normalize(positionWC)); - float atmosphereHeight = 0.05; - float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir); - return vec3(horizonDotNadir, reflectionDotNadir, smoothstepHeight); + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) + { + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); + } + return value; } -/** - * Compute the diffuse irradiance for a procedural sky lighting model. - * - * @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - * @return {vec3} The computed diffuse irradiance. - */ -vec3 getProceduralDiffuseIrradiance(vec3 skyMetrics) +vec2 hammersley2D(int i, int N) { - vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); - float diffuseIrradianceFromEarth = (1.0 - skyMetrics.x) * (skyMetrics.y * 0.25 + 0.75) * skyMetrics.z; - float diffuseIrradianceFromSky = (1.0 - skyMetrics.z) * (1.0 - (skyMetrics.y * 0.25 + 0.25)); - return blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0); + return vec2(float(i) / float(N), vdcRadicalInverse(i)); } -/** - * Compute the specular irradiance for a procedural sky lighting model. - * - * @param {vec3} reflectionWC The reflection vector in world coordinates. - * @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - * @param {float} roughness The roughness of the material. - * @return {vec3} The computed specular irradiance. - */ -vec3 getProceduralSpecularIrradiance(vec3 reflectionWC, vec3 skyMetrics, float roughness) -{ - // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. - reflectionWC.x = -reflectionWC.x; - reflectionWC = -normalize(czm_temeToPseudoFixed * reflectionWC); - reflectionWC.x = -reflectionWC.x; +// Sample count is relatively low for the sake of performance, but should still be enough to capture directionality needed for third-order harmonics +const int samples = 256; +const float solidAngle = 1.0 / float(samples); - float inverseRoughness = 1.0 - roughness; - inverseRoughness *= inverseRoughness; - vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, reflectionWC).rgb * inverseRoughness; +void main() { + // Get the current coefficient based on the uv + vec2 uv = v_textureCoordinates.xy * 3.0; + int coefficientIndex = int(floor(uv.y) * 3.0 + floor(uv.x)); - // Compute colors at different angles relative to the horizon - vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), skyMetrics.z); - vec3 nadirColor = belowHorizonColor * 0.5; - vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5); - vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, skyMetrics.y * inverseRoughness * 0.5 + 0.75); - vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, skyMetrics.z); + for (int i = 0; i < samples; ++i) { + vec2 xi = hammersley2D(i, samples); + float phi = czm_twoPi * xi.x; + float cosTheta = 1.0 - 2.0 * sqrt(1.0 - xi.y * xi.y); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 direction = normalize(vec3(sinTheta * cos(phi), cosTheta, sinTheta * sin(phi))); - // Compute blend zones - float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - skyMetrics.x); - float blendRegionOffset = roughness * -1.0; - float farAboveHorizon = clamp(skyMetrics.x - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999); - float aroundHorizon = clamp(skyMetrics.x + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999); - float farBelowHorizon = clamp(skyMetrics.x + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999); + // Generate the spherical harmonics basis from the direction + float Ylm = computeShBasis(coefficientIndex, direction); - // Blend colors - float notDistantRough = (1.0 - skyMetrics.x * roughness * 0.8); - vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, skyMetrics.y) * notDistantRough); - specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, skyMetrics.y) * inverseRoughness); - specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, skyMetrics.y) * inverseRoughness); + vec3 lookupDirection = -direction.xyz; + lookupDirection.z = -lookupDirection.z; - return specularIrradiance; -} + vec4 color = czm_textureCube(u_radianceMap, lookupDirection, 0.0); -#ifdef USE_SUN_LUMINANCE -float clampedDot(vec3 x, vec3 y) -{ - return clamp(dot(x, y), 0.001, 1.0); + // Use the relevant function for this coefficient + out_FragColor += Ylm * color * solidAngle * sinTheta; + } + } -/** - * Sun luminance following the "CIE Clear Sky Model" - * See page 40 of https://3dvar.com/Green2003Spherical.pdf - * - * @param {vec3} positionWC The position of the fragment in world coordinates. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. - * @return {float} The computed sun luminance. - */ -float getSunLuminance(vec3 positionWC, vec3 normalEC, vec3 lightDirectionEC) -{ - vec3 normalWC = normalize(czm_inverseViewRotation * normalEC); - vec3 lightDirectionWC = normalize(czm_inverseViewRotation * lightDirectionEC); - vec3 vWC = -normalize(positionWC); +`;var A0n=T(S(),1),hX=`precision highp float; + +in vec2 v_textureCoordinates; + +uniform vec3 u_faceDirection; // Current cubemap face +uniform vec3 u_positionWC; +uniform mat4 u_enuToFixedFrame; +uniform vec4 u_brightnessSaturationGammaIntensity; +uniform vec4 u_groundColor; // alpha component represent albedo - // Angle between sun and zenith. - float LdotZenith = clampedDot(lightDirectionWC, vWC); - float S = acos(LdotZenith); - // Angle between zenith and current pixel - float NdotZenith = clampedDot(normalWC, vWC); - // Angle between sun and current pixel - float NdotL = clampedDot(normalEC, lightDirectionEC); - float gamma = acos(NdotL); +vec4 getCubeMapDirection(vec2 uv, vec3 faceDir) { + vec2 scaledUV = uv * 2.0 - 1.0; - float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * NdotL * NdotL) * (1.0 - exp(-0.32 / NdotZenith))); - float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * LdotZenith * LdotZenith) * (1.0 - exp(-0.32)); - return model_luminanceAtZenith * (numerator / denominator); + if (faceDir.x != 0.0) { + return vec4(faceDir.x, scaledUV.x * faceDir.x, -scaledUV.y, 0.0); + } else if (faceDir.y != 0.0) { + return vec4(scaledUV.x, -scaledUV.y * faceDir.y, faceDir.y, 0.0); + } else { + return vec4(scaledUV.x * faceDir.z, -faceDir.z, -scaledUV.y, 0.0); + } } + +void main() { + float height = length(u_positionWC); + float atmosphereInnerRadius = u_radiiAndDynamicAtmosphereColor.y; + float ellipsoidHeight = max(height - atmosphereInnerRadius, 0.0); + + // Scale the position to ensure the sky color is present, even when underground. + vec3 positionWC = u_positionWC / height * (ellipsoidHeight + atmosphereInnerRadius); + + float atmosphereOuterRadius = u_radiiAndDynamicAtmosphereColor.x; + float atmosphereHeight = atmosphereOuterRadius - atmosphereInnerRadius; + + vec3 direction = (u_enuToFixedFrame * getCubeMapDirection(v_textureCoordinates, u_faceDirection)).xyz; + vec3 normalizedDirection = normalize(direction); + + czm_ray ray = czm_ray(positionWC, normalizedDirection); + czm_raySegment intersection = czm_raySphereIntersectionInterval(ray, vec3(0.0), atmosphereInnerRadius); + if (!czm_isEmpty(intersection)) { + intersection = czm_rayEllipsoidIntersectionInterval(ray, vec3(0.0), czm_ellipsoidInverseRadii); + } + + bool onEllipsoid = intersection.start >= 0.0; + float rayLength = czm_branchFreeTernary(onEllipsoid, intersection.start, atmosphereOuterRadius); + + // Compute sky color for each position on a sphere at radius centered around the provided position's origin + vec3 skyPositionWC = positionWC + normalizedDirection * rayLength; + + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirectionWC = normalize(czm_getDynamicAtmosphereLightDirection(skyPositionWC, lightEnum)); + vec3 mieColor; + vec3 rayleighColor; + float opacity; + czm_computeScattering( + ray, + rayLength, + lightDirectionWC, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); + + vec4 atmopshereColor = czm_computeAtmosphereColor(ray, lightDirectionWC, rayleighColor, mieColor, opacity); + +#ifdef ATMOSPHERE_COLOR_CORRECT + const bool ignoreBlackPixels = true; + atmopshereColor.rgb = czm_applyHSBShift(atmopshereColor.rgb, czm_atmosphereHsbShift, ignoreBlackPixels); #endif -/** - * Compute the light contribution from a procedural sky model - * - * @param {vec3} positionEC The position of the fragment in eye coordinates. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. - * @param {czm_modelMaterial} The material properties. - * @return {vec3} The computed HDR color - */ - vec3 proceduralIBL( - vec3 positionEC, - vec3 normalEC, - vec3 lightDirectionEC, - czm_modelMaterial material -) { - vec3 viewDirectionEC = -normalize(positionEC); - vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0)); - vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirectionEC, normalEC)); - vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC); + vec3 lookupDirection = -normalizedDirection; + // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. + lookupDirection.x = -lookupDirection.x; + lookupDirection = -normalize(czm_temeToPseudoFixed * lookupDirection); + lookupDirection.x = -lookupDirection.x; - float roughness = material.roughness; - vec3 f0 = material.specular; + // Values outside the atmopshere are rendered as black, when they should be treated as transparent + float skyAlpha = clamp((1.0 - ellipsoidHeight / atmosphereHeight) * atmopshereColor.a, 0.0, 1.0); + skyAlpha = czm_branchFreeTernary(length(atmopshereColor.rgb) <= czm_epsilon7, 0.0, skyAlpha); // Treat black as transparent - vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness); - float NdotV = abs(dot(normalEC, viewDirectionEC)) + 0.001; - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y); - vec3 specularContribution = specularIrradiance * specularColor * model_iblFactor.y; - #ifdef USE_SPECULAR - specularContribution *= material.specularWeight; - #endif + // Blend starmap with atmopshere scattering + float intensity = u_brightnessSaturationGammaIntensity.w; + vec4 sceneSkyBoxColor = czm_textureCube(czm_environmentMap, lookupDirection); + vec3 skyBackgroundColor = mix(czm_backgroundColor.rgb, sceneSkyBoxColor.rgb, sceneSkyBoxColor.a); + vec4 combinedSkyColor = vec4(mix(skyBackgroundColor, atmopshereColor.rgb * intensity, skyAlpha), 1.0); - vec3 diffuseIrradiance = getProceduralDiffuseIrradiance(skyMetrics); - vec3 diffuseColor = material.diffuse; - vec3 diffuseContribution = diffuseIrradiance * diffuseColor * model_iblFactor.x; + // Compute ground color based on amount of reflected light, then blend it with ground atmosphere based on height + vec3 up = normalize(positionWC); + float occlusion = max(dot(lightDirectionWC, up), 0.05); + vec4 groundColor = vec4(u_groundColor.rgb * u_groundColor.a * (vec3(intensity * occlusion) + atmopshereColor.rgb), 1.0); + vec4 blendedGroundColor = mix(groundColor, atmopshereColor, clamp(ellipsoidHeight / atmosphereHeight, 0.0, 1.0)); - vec3 iblColor = specularContribution + diffuseContribution; + vec4 color = czm_branchFreeTernary(onEllipsoid, blendedGroundColor, combinedSkyColor); - #ifdef USE_SUN_LUMINANCE - iblColor *= getSunLuminance(positionWC, normalEC, lightDirectionEC); - #endif + float brightness = u_brightnessSaturationGammaIntensity.x; + float saturation = u_brightnessSaturationGammaIntensity.y; + float gamma = u_brightnessSaturationGammaIntensity.z; + +#ifdef ENVIRONMENT_COLOR_CORRECT + color.rgb = mix(vec3(0.0), color.rgb, brightness); + color.rgb = czm_saturation(color.rgb, saturation); +#endif + color.rgb = pow(color.rgb, vec3(gamma)); // Normally this would be in the ifdef above, but there is a precision issue with the atmopshere scattering transmittance (alpha). Having this line is a workaround for that issue, even when gamma is 1.0. + color.rgb = czm_gammaCorrect(color.rgb); - return iblColor; + out_FragColor = color; } +`;var N0n=T(S(),1),fX=`precision highp float; -#ifdef DIFFUSE_IBL -vec3 sampleDiffuseEnvironment(vec3 cubeDir) +in vec3 v_textureCoordinates; + +uniform float u_roughness; +uniform samplerCube u_radianceTexture; +uniform vec3 u_faceDirection; + +float vdcRadicalInverse(int i) { - #ifdef CUSTOM_SPHERICAL_HARMONICS - return czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); - #else - return czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); - #endif + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) + { + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); + } + return value; } -#endif -#ifdef SPECULAR_IBL -vec3 sampleSpecularEnvironment(vec3 cubeDir, float roughness) +vec2 hammersley2D(int i, int N) { - #ifdef CUSTOM_SPECULAR_IBL - float lod = roughness * model_specularEnvironmentMapsMaximumLOD; - return czm_textureCube(model_specularEnvironmentMaps, cubeDir, lod).rgb; - #else - float lod = roughness * czm_specularEnvironmentMapsMaximumLOD; - return czm_textureCube(czm_specularEnvironmentMaps, cubeDir, lod).rgb; - #endif + return vec2(float(i) / float(N), vdcRadicalInverse(i)); } -vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness) + +vec3 importanceSampleGGX(vec2 xi, float alphaRoughness, vec3 N) { - // see https://bruop.github.io/ibl/ at Single Scattering Results - // Roughness dependent fresnel, from Fdez-Aguera - vec3 f90 = max(vec3(1.0 - roughness), f0); - vec3 F = fresnelSchlick2(f0, f90, NdotV); + float alphaRoughnessSquared = alphaRoughness * alphaRoughness; + float phi = czm_twoPi * xi.x; + float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (alphaRoughnessSquared - 1.0) * xi.y)); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); + vec3 tangentX = normalize(cross(upVector, N)); + vec3 tangentY = cross(N, tangentX); + return tangentX * H.x + tangentY * H.y + N * H.z; +} - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularSample = sampleSpecularEnvironment(cubeDir, roughness); +// Sample count is relatively low for the sake of performance, but should still be enough to prevent artifacting in lower roughnesses +const int samples = 128; - return specularSample * (F * brdfLut.x + brdfLut.y); +void main() { + vec3 normal = u_faceDirection; + vec3 V = normalize(v_textureCoordinates); + float roughness = u_roughness; + + vec4 color = vec4(0.0); + float weight = 0.0; + for (int i = 0; i < samples; ++i) { + vec2 xi = hammersley2D(i, samples); + vec3 H = importanceSampleGGX(xi, roughness, V); + vec3 L = 2.0 * dot(V, H) * H - V; // reflected vector + + float NdotL = max(dot(V, L), 0.0); + if (NdotL > 0.0) { + color += vec4(czm_textureCube(u_radianceTexture, L).rgb, 1.0) * NdotL; + weight += NdotL; + } + } + out_FragColor = color / weight; +} +`;var U0n=T(S(),1),pX=`in vec3 position; +out vec3 v_textureCoordinates; + +uniform vec3 u_faceDirection; + +vec3 getCubeMapDirection(vec2 uv, vec3 faceDir) { + vec2 scaledUV = uv; + + if (faceDir.x != 0.0) { + return vec3(faceDir.x, scaledUV.y, scaledUV.x * faceDir.x); + } else if (faceDir.y != 0.0) { + return vec3(scaledUV.x, -faceDir.y, -scaledUV.y * faceDir.y); + } else { + return vec3(scaledUV.x * faceDir.z, scaledUV.y, -faceDir.z); + } +} + +void main() +{ + v_textureCoordinates = getCubeMapDirection(position.xy, u_faceDirection); + v_textureCoordinates.y = -v_textureCoordinates.y; + v_textureCoordinates.z = -v_textureCoordinates.z; + gl_Position = vec4(position, 1.0); +} +`;function ui(e){this._position=void 0,this._radianceMapDirty=!1,this._radianceCommandsDirty=!1,this._convolutionsCommandsDirty=!1,this._irradianceCommandDirty=!1,this._irradianceTextureDirty=!1,this._sphericalHarmonicCoefficientsDirty=!1,this._shouldRegenerateShaders=!1,e=y(e,y.EMPTY_OBJECT);let t=Math.min(y(e.mipmapLevels,10),Math.log2(At.maximumCubeMapSize));this._mipmapLevels=t,this._radianceMapComputeCommands=new Array(6),this._convolutionComputeCommands=new Array((t-1)*6),this._irradianceComputeCommand=void 0,this._radianceMapFS=void 0,this._irradianceMapFS=void 0,this._convolveSP=void 0,this._va=void 0,this._radianceMapTextures=new Array(6),this._specularMapTextures=new Array((t-1)*6),this._radianceCubeMap=void 0,this._irradianceMapTexture=void 0,this._sphericalHarmonicCoefficients=ui.DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS.slice(),this._lastTime=new j;let n=Math.pow(2,t-1);this._textureDimensions=new D(n,n),this._radiiAndDynamicAtmosphereColor=new h,this._sceneEnvironmentMap=void 0,this._backgroundColor=void 0,this._owner=void 0,this.enabled=y(e.enabled,!0),this.shouldUpdate=!0,this.maximumSecondsDifference=y(e.maximumSecondsDifference,60*60),this.maximumPositionEpsilon=y(e.maximumPositionEpsilon,1e3),this.atmosphereScatteringIntensity=y(e.atmosphereScatteringIntensity,2),this.gamma=y(e.gamma,1),this.brightness=y(e.brightness,1),this.saturation=y(e.saturation,1),this.groundColor=y(e.groundColor,ui.AVERAGE_EARTH_GROUND_COLOR),this.groundAlbedo=y(e.groundAlbedo,.31)}Object.defineProperties(ui.prototype,{owner:{get:function(){return this._owner}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},position:{get:function(){return this._position},set:function(e){h.equalsEpsilon(e,this._position,0,this.maximumPositionEpsilon)||(this._position=h.clone(e,this._position),this.reset())}},radianceCubeMap:{get:function(){return this._radianceCubeMap}},maximumMipmapLevel:{get:function(){return this._mipmapLevels}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}}});ui._maximumComputeCommandCount=8;ui._activeComputeCommandCount=0;ui._nextFrameCommandQueue=[];ui._queueCommand=(e,t)=>{if(ui._activeComputeCommandCount>=ui._maximumComputeCommandCount){ui._nextFrameCommandQueue.push(e);return}t.commandList.push(e),ui._activeComputeCommandCount++};ui._updateCommandQueue=e=>{if(ui._maximumComputeCommandCount=Math.log2(At.maximumCubeMapSize),ui._nextFrameCommandQueue.length>0&&ui._activeComputeCommandCounts,u_enuToFixedFrame:()=>c,u_faceDirection:()=>Tr.getDirection(m,qre),u_positionWC:()=>r,u_brightnessSaturationGammaIntensity:()=>d,u_groundColor:()=>e.groundColor.withAlpha(e.groundAlbedo,F5e)},persists:!0,owner:e,postExecute:()=>{let x=e._radianceMapComputeCommands;if(!l(x[g]))return;x[g]=void 0;let _=new Pr({context:n,colorTextures:[e._radianceMapTextures[g]],destroyAttachments:!1});_._bind(),e._radianceCubeMap[m].copyFromFramebuffer(),_._unBind(),_.destroy(),ui._activeComputeCommandCount--,x.some(l)||(e._convolutionsCommandsDirty=!0,e._shouldRegenerateShaders=!0)}});e._radianceMapComputeCommands[u]=f,ui._queueCommand(f,t),u++}e._radianceCommandsDirty=!1}}function M5e(e,t){let n=e._radianceCubeMap;n.generateMipmap();let i=e._mipmapLevels,o=e._textureDimensions,r=o.x/2,s=o.y/2,a=t.context,c=0,d=(m,p,g,f)=>()=>{let x=e._convolutionComputeCommands;!l(x[m])||x[m].canceled||(x[m]=void 0,n.copyFace(t,p,g,f),c++,ui._activeComputeCommandCount--,c===e._specularMapTextures.length&&(e._irradianceCommandDirty=!0,n.sampler=new $t({minificationFilter:qt.LINEAR_MIPMAP_LINEAR}),e._shouldRegenerateShaders=!0))},u=0;for(let m=1;mm/(i-1),u_radianceTexture:()=>n??a.defaultTexture,u_faceDirection:()=>Tr.getDirection(p,qre)},postExecute:d(u,g,p,m)});e._convolutionComputeCommands[u]=_,ui._queueCommand(_,t),++u}r/=2,s/=2}}var $re=new D(3,3);function N5e(e,t){let n=t.context,i=$re,o=e._irradianceMapTexture;l(o)||(o=new It({context:n,width:i.x,height:i.y,pixelDatatype:qe.FLOAT,pixelFormat:st.RGBA}),e._irradianceMapTexture=o);let r=e._irradianceMapFS;l(r)||(r=new Oe({sources:[mX]}),e._irradianceMapFS=r);let s=new wc({fragmentShaderSource:r,outputTexture:o,uniformMap:{u_radianceMap:()=>e._radianceCubeMap??n.defaultTexture},postExecute:()=>{l(e._irradianceComputeCommand)&&(e._irradianceTextureDirty=!1,e._irradianceComputeCommand=void 0,e._sphericalHarmonicCoefficientsDirty=!0,ui._activeComputeCommandCount--)}});e._irradianceComputeCommand=s,ui._queueCommand(s,t),e._irradianceTextureDirty=!0}function k5e(e,t){let n=t.context,i=new Pr({context:n,colorTextures:[e._irradianceMapTexture],destroyAttachments:!1}),o=$re,r=n.readPixels({x:0,y:0,width:o.x,height:o.y,framebuffer:i});for(let s=0;s<9;++s)e._sphericalHarmonicCoefficients[s]=h.unpack(r,s*4),h.multiplyByScalar(e._sphericalHarmonicCoefficients[s],e.atmosphereScatteringIntensity,e._sphericalHarmonicCoefficients[s]);i.destroy(),e._shouldRegenerateShaders=!0}ui.prototype.update=function(e){let t=e.mode;if(!ui.isDynamicUpdateSupported(e)||!this.enabled||!this.shouldUpdate||!l(this._position)||t===oe.MORPHING){this._shouldRegenerateShaders=!1;return}ui._updateCommandQueue(e);let i=e.atmosphere.dynamicLighting;if((P5e(this,e)||i===rb.SUNLIGHT&&!j.equalsEpsilon(e.time,this._lastTime,this.maximumSecondsDifference))&&(this.reset(),this._lastTime=j.clone(e.time,this._lastTime)),this._radianceMapDirty&&(A5e(this,e),this._radianceMapDirty=!1),this._convolutionsCommandsDirty&&(M5e(this,e),this._convolutionsCommandsDirty=!1),this._irradianceCommandDirty&&(N5e(this,e),this._irradianceCommandDirty=!1),this._irradianceTextureDirty){this._shouldRegenerateShaders=!1;return}if(this._sphericalHarmonicCoefficientsDirty){k5e(this,e),this._sphericalHarmonicCoefficientsDirty=!1;return}this._shouldRegenerateShaders=!1};ui.prototype.isDestroyed=function(){return!1};ui.prototype.destroy=function(){let e=this._radianceMapComputeCommands.length;for(let t=0;t4?(Tt(`Property texture property ${e.id} is an array of length ${e.arrayLength}, but may have at most a length of 4`),!1):t!==ft.SCALAR?(Tt(`Property texture property ${e.id} is an array of type ${t}, but only SCALAR is supported`),!1):n!==Ut.UINT8?(Tt(`Property texture property ${e.id} is an array with component type ${n}, but only UINT8 is supported`),!1):!0:ft.isVectorType(t)||t===ft.SCALAR?n!==Ut.UINT8?(Tt(`Property texture property ${e.id} has component type ${n}, but only UINT8 is supported`),!1):!0:(Tt(`Property texture property ${e.id} has an unsupported type`),!1)};var B5e=[void 0,"float","vec2","vec3","vec4"],O5e=[void 0,"int","ivec2","ivec3","ivec4"];yX.prototype.getGlslType=function(){let e=this._classProperty,t=ft.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?B5e[t]:O5e[t]};yX.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function Y5e(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var xX=yX;function tz(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(l(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new xX({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(tz.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});tz.prototype.getProperty=function(e){return this._properties[e]};var cb=tz;var iyn=T(S(),1);var qgn=T(S(),1);function tse(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||l(i)||l(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(tse.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var _X=tse;function nz(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(l(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new _X({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(nz.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});nz.prototype.getProperty=function(e){return this._properties[e]};var R_=nz;var ayn=T(S(),1);function TX(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=l(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(TX.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!l(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n=r;)C=o[C-r];o.push(C),s[x]=_}_>lke&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):_>dke&&t instanceof Uint8Array&&(t=new Uint16Array(t)),x===c?(c=_,t[a]=_):x===d?(d=_,t[a+1]=_):(u=_,t[a+2]=_),x=ise(i,c,d,u,p,g,f)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function ise(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,d=0,u=iz(e,t,a,c,d);if(u===0)return t;let m=0,p=o?1:0,g=r?1:0,f=iz(e,n,m,p,g);if(f===0)return n;let x=s?1:0,_=0,C=r?1:0,V=iz(e,i,x,_,C);if(V===0)return i;let L=u&f&V,Z,G,I;if(L&1)Z=0,G=1,I=2;else if(L&2)Z=0,I=1,G=2;else if(L&4)G=0,Z=1,I=2;else if(L&8)G=0,I=1,Z=2;else if(L&16)I=0,Z=1,G=2;else if(L&32)I=0,G=1,Z=2;else{let A=oz(u),b=oz(f),R=oz(V);return A>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}N5.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a1;)i>>=1,r.push(ose(i));let s=new It({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:st.LUMINANCE,sampler:new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:qt.LINEAR_MIPMAP_LINEAR,magnificationFilter:bi.LINEAR})});return t.outlineTexture=s,s};function ose(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function rse(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),l(this._processError)){this._state=vo.FAILED;let o=this._processError;this._processError=void 0,U5(this,o)}let t=this._textureErrors.pop();if(l(t)){let o=this.getError("Failed to load glTF texture",t);throw o.name="TextureError",o}if(this._state===vo.FAILED)return!1;let n=!1;try{n=this._process(e)}catch(o){this._state=vo.FAILED,U5(this,o)}let i=!1;try{i=this._processTextures(e)}catch(o){this._textureState=vo.FAILED,U5(this,o)}return this._incrementallyLoadTextures?n:n&&i};function Qke(e,t,n,i,o,r,s){let a=e.gltfJson,d=a.accessors[t].bufferView;return Ri.getVertexBufferLoader({gltf:a,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:s,bufferViewId:d,draco:i,attributeSemantic:n,accessorId:t,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r})}function jke(e,t,n,i,o,r){return Ri.getIndexBufferLoader({gltf:e.gltfJson,accessorId:t,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:r,draco:n,asynchronous:e._asynchronous,loadBuffer:i,loadTypedArray:o})}function qke(e,t){let n=Ri.getBufferViewLoader({gltf:e.gltfJson,bufferViewId:t,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(n),n}function xse(e,t,n){let i=t.byteOffset,o=Xl(e,t),r=t.count,s=Td(t.type),a=t.componentType,c=Q.getSizeInBytes(a),d=c*s,u=r*s;if(o===d)return n=new Uint8Array(n),Q.createArrayBufferView(a,n.buffer,n.byteOffset+i,u);let m=Q.createTypedArray(a,u),p=new DataView(n.buffer),g=new Array(s),f=nb(t.componentType);i=n.byteOffset+i;for(let x=0;x{l(i)&&l(i.attributes)&&l(i.attributes[u])?dUe(x,_,o,r):uUe(a,c,x,_,o,r)},x}function Sse(e,t,n,i,o,r,s){let a=n.modelSemantic,c=a===Zt.POSITION,d=a===Zt.FEATURE_ID,u=c&&!o&&e._loadAttributesFor2D&&!s.scene3DOnly,m=c&&e._enablePick&&!s.context.webgl2,p=e._loadForClassification&&d,g=e._loadAttributesAsTypedArray,f=!g,x=g||u||m||p,V=Tse(e,t,n,i,r?!1:f,r?!0:x,s),L=new G_.AttributeLoadPlan(V);return L.loadBuffer=f,L.loadTypedArray=x,L}function mUe(e,t,n,i,o){let r=e.gltfJson.accessors,s=l(n.ROTATION),a=l(n.TRANSLATION)&&l(r[n.TRANSLATION].min)&&l(r[n.TRANSLATION].max),c=az(e,is,i),d=c.modelSemantic,u=d===is.TRANSLATION||d===is.ROTATION||d===is.SCALE,m=d===is.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&u||!o.context.instancedArrays,g=e._enablePick&&!o.context.webgl2,f=!p,x=e._loadAttributesFor2D&&!o.scene3DOnly;return Tse(e,t,c,void 0,f,p||m&&(!a||x||g),o)}function hUe(e,t,n,i,o,r){let s=e.gltfJson.accessors[t],a=s.bufferView;if(!l(n)&&!l(a))return;let c=new Lke;c.count=s.count;let d=e._loadAttributesAsTypedArray,u=(e._loadIndicesForWireframe||e._enablePick)&&!r.context.webgl2,m=e._loadForClassification&&i,g=!d,f=d||u||m,C=jke(e,t,n,o?!1:g,o?!0:f,r),V=e._geometryLoaders.length;e._geometryLoaders.push(C);let L=C.load();e._loaderPromises.push(L),e._geometryCallbacks[V]=()=>{c.indexDatatype=C.indexDatatype,c.buffer=C.buffer,c.typedArray=C.typedArray};let Z=new G_.IndicesLoadPlan(c);return Z.loadBuffer=g,Z.loadTypedArray=f,Z}function jc(e,t,n,i){let o=e.gltfJson,r=Wl.getImageIdFromTexture({gltf:o,textureId:t.index,supportedImageFormats:e._supportedImageFormats});if(!l(r))return;let s=Ri.getTextureLoader({gltf:o,textureInfo:t,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:n,asynchronous:e._asynchronous}),a=Wl.createModelTextureReader({textureInfo:t}),c=e._textureLoaders.length;e._textureLoaders.push(s);let d=s.load().catch(u=>{if(!e.isDestroyed()){if(!e._incrementallyLoadTextures)throw u;e._textureState=vo.FAILED,e._textureErrors.push(u)}});return e._texturesPromises.push(d),e._textureCallbacks[c]=()=>{a.texture=s.texture,l(i)&&(a.texture.sampler=i)},a}function fUe(e,t,n){let{diffuseTexture:i,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=t,c=new Dke;return l(i)&&(c.diffuseTexture=jc(e,i,n)),l(o)&&(c.specularGlossinessTexture=jc(e,o,n)),c.diffuseFactor=Cd(re,r),c.specularFactor=Cd(h,s),c.glossinessFactor=a,c}function pUe(e,t,n){let{baseColorTexture:i,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=t,c=new Uke;return l(i)&&(c.baseColorTexture=jc(e,i,n)),l(o)&&(c.metallicRoughnessTexture=jc(e,o,n)),c.baseColorFactor=Cd(re,r),c.metallicFactor=s,c.roughnessFactor=a,c}function bUe(e,t,n){let{specularFactor:i,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=t,a=new Bke;return l(o)&&(a.specularTexture=jc(e,o,n)),l(s)&&(a.specularColorTexture=jc(e,s,n)),a.specularFactor=i,a.specularColorFactor=Cd(h,r),a}function gUe(e,t,n){let{anisotropyStrength:i=rz.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=rz.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=t,s=new rz;return l(r)&&(s.anisotropyTexture=jc(e,r,n)),s.anisotropyStrength=i,s.anisotropyRotation=o,s}function yUe(e,t,n){let{clearcoatFactor:i=sz.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=sz.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=t,c=new sz;return l(o)&&(c.clearcoatTexture=jc(e,o,n)),l(s)&&(c.clearcoatRoughnessTexture=jc(e,s,n)),l(a)&&(c.clearcoatNormalTexture=jc(e,a,n)),c.clearcoatFactor=i,c.clearcoatRoughnessFactor=r,c}function xUe(e,t,n){let i=new Oke,o=y(t.extensions,y.EMPTY_OBJECT),r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,d=t.pbrMetallicRoughness;return i.unlit=l(o.KHR_materials_unlit),l(r)?i.specularGlossiness=fUe(e,r,n):(l(d)&&(i.metallicRoughness=pUe(e,d,n)),l(s)&&!i.unlit&&(i.specular=bUe(e,s,n)),l(a)&&!i.unlit&&(i.anisotropy=gUe(e,a,n)),l(c)&&!i.unlit&&(i.clearcoat=yUe(e,c,n))),l(t.emissiveTexture)&&(i.emissiveTexture=jc(e,t.emissiveTexture,n)),l(t.normalTexture)&&!e._loadForClassification&&(i.normalTexture=jc(e,t.normalTexture,n)),l(t.occlusionTexture)&&(i.occlusionTexture=jc(e,t.occlusionTexture,n)),i.emissiveFactor=Cd(h,t.emissiveFactor),i.alphaMode=t.alphaMode,i.alphaCutoff=t.alphaCutoff,i.doubleSided=t.doubleSided,i}function Cse(e,t){let n=new bse;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function Vse(e,t,n,i){let o=new bse,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=_se(r.attribute),o.positionalLabel=i,o}function Lse(e,t){let n=new yse;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function Rse(e,t,n,i){let o=new yse,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function _Ue(e,t,n,i){let o=new gse;o.featureCount=t.featureCount,o.nullFeatureId=t.nullFeatureId,o.propertyTableId=t.propertyTable,o.label=t.label,o.positionalLabel=i;let r=t.texture;o.textureReader=jc(e,r,n,$t.NEAREST);let a=(l(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function TUe(e,t,n,i,o,r){let s=new gse,a=t.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=n,s.textureReader=jc(e,c,i,$t.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function SUe(e,t,n,i,o){let r=new Rke,s=void 0,a=!1;for(let c in t){if(!t.hasOwnProperty(c))continue;let d=t[c],u=az(e,Zt,c),m=Sse(e,d,u,s,a,n,o);r.attributes.push(m.attribute),i.attributePlans.push(m)}return r}function CUe(e,t,n,i){let o=new Zke,r=new G_(o);e._primitiveLoadPlans.push(r);let s=t.material;l(s)&&(o.material=xUe(e,e.gltfJson.materials[s],i));let a=y(t.extensions,y.EMPTY_OBJECT),c=!1,d=a.CESIUM_primitive_outline;e._loadPrimitiveOutline&&l(d)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=VUe(e,d,r));let u=e._loadForClassification,m=a.KHR_draco_mesh_compression,p=!1,g=t.attributes;if(l(g))for(let G in g){if(!g.hasOwnProperty(G))continue;let I=g[G],v=az(e,Zt,G),P=v.modelSemantic;if(u&&!lUe(P))continue;P===Zt.FEATURE_ID&&(p=!0);let w=Sse(e,I,v,m,n,c,i);r.attributePlans.push(w),o.attributes.push(w.attribute)}let f=t.targets;if(l(f)&&!u)for(let G=0;Gn[s]);let r=t.inverseBindMatrices;if(l(r)){let s=e.gltfJson.accessors[r];i.inverseBindMatrices=D5(e,s)}else i.inverseBindMatrices=new Array(o.length).fill(M.IDENTITY);return i}function wUe(e,t){let n=e.gltfJson.skins;if(e._loadForClassification||!l(n))return[];let i=n.map(function(r,s){let a=vUe(e,r,t);return a.index=s,a}),o=e.gltfJson.nodes;for(let r=0;r=s.clientWidth)d=!0;else{if(L.x>s.clientWidth*.5){a.width=L.x,c.frustum.right=p.x-C,yc=FX(r,n,c,yc),ka.clipToGLWindowCoordinates(a,yc,lz),a.x+=L.x,c.position.x=-c.position.x;let Z=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-Z,yc=FX(r,n,c,yc),ka.clipToGLWindowCoordinates(a,yc,dz)}else{a.x+=L.x,a.width-=L.x,c.frustum.left=-p.x-C,yc=FX(r,n,c,yc),ka.clipToGLWindowCoordinates(a,yc,lz),a.x=a.x-a.width,c.position.x=-c.position.x;let Z=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-Z,yc=FX(r,n,c,yc),ka.clipToGLWindowCoordinates(a,yc,dz)}h.clone(g,c.position),c.frustum=f.clone(),i=D.clone(lz,i),(i.x<0||i.x>s.clientWidth)&&(i.x=dz.x)}}if(o.mode!==oe.SCENE2D||d){if(yc=FX(r,n,c,yc),yc.z<0&&!(c.frustum instanceof ln)&&!(c.frustum instanceof vr))return;i=ka.clipToGLWindowCoordinates(a,yc,i)}return i.y=s.clientHeight-i.y,i};ka.worldToDrawingBufferCoordinates=function(e,t,n){if(n=ka.worldToWindowCoordinates(e,t,n),!!l(n))return ka.transformWindowToDrawingBuffer(e,n,n)};var ub=new h,dDe=new he;ka.computeActualEllipsoidPosition=function(e,t,n){let i=e.mode;if(i===oe.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,dDe);if(!l(r))return;if(o.project(r,ub),i===oe.COLUMBUS_VIEW)return h.fromElements(ub.z,ub.x,ub.y,n);if(i===oe.SCENE2D)return h.fromElements(0,ub.x,ub.y,n);let s=e.morphTime;return h.fromElements(W.lerp(ub.z,t.x,s),W.lerp(ub.x,t.y,s),W.lerp(ub.y,t.z,s),n)};var Wse=new h,Pse=new h,vse=new M;ka.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,Wse),M.computeViewportTransformation(e,0,1,vse),M.multiplyByPoint(vse,Wse,Pse),D.fromCartesian3(Pse,n)};ka.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return D.fromElements(t.x*o,t.y*r,n)};var uDe=new re,wse=new re;ka.drawingBufferToWorldCoordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,f=Math.pow(2,g)-1;n=c*(1-a/(f+a))/(c-a)}let d=e.view.passState.viewport,u=re.clone(re.UNIT_W,uDe);u.x=(t.x-d.x)/d.width*2-1,u.y=(t.y-d.y)/d.height*2-1,u.z=n*2-1,u.w=1;let m,p=e.camera.frustum;if(l(p.fovy)){m=M.multiplyByVector(r.inverseViewProjection,u,wse);let g=1/m.w;h.multiplyByScalar(m,g,m)}else{let g=p.offCenterFrustum;l(g)&&(p=g),m=wse,m.x=(u.x*(p.right-p.left)+p.left+p.right)*.5,m.y=(u.y*(p.top-p.bottom)+p.bottom+p.top)*.5,m.z=(u.z*(a-c)-a-c)*.5,m.w=1,m=M.multiplyByVector(r.inverseView,m,m)}return h.fromCartesian4(m,i)};var ki=ka;var sSn=T(S(),1);var gTn=T(S(),1);var JC={};JC._deprecationWarning=hs;var mb=Uint32Array.BYTES_PER_ELEMENT;JC.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=mb;let r=o.getUint32(t,!0);if(r!==1)throw new ce(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=mb;let s=o.getUint32(t,!0);t+=mb;let a=o.getUint32(t,!0);t+=mb;let c=o.getUint32(t,!0);t+=mb;let d=o.getUint32(t,!0);t+=mb;let u=o.getUint32(t,!0);t+=mb;let m;d>=570425344?(t-=mb*2,m=a,d=c,u=0,a=0,c=0,JC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):u>=570425344&&(t-=mb,m=d,d=a,u=c,a=0,c=0,JC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(m,0)}:(p=Po(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let f,x;d>0&&(f=Po(i,t,d),t+=d,u>0&&(x=new Uint8Array(e,t,u),x=new Uint8Array(x),t+=u));let _=n+s-t;if(_===0)throw new ce("glTF byte length must be greater than 0.");let C;return t%4===0?C=new Uint8Array(e,t,_):(JC._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),C=new Uint8Array(i.subarray(t,t+_))),{batchLength:m,featureTableJson:p,featureTableBinary:g,batchTableJson:f,batchTableBinary:x,gltf:C}};var AX=JC;var STn=T(S(),1);function MX(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function Fse(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return l(a)||(a=Q.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function mDe(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return l(r)||(r=Q.createTypedArray(n,i),o[t]=r),r}MX.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(t=y(t,Q.UNSIGNED_INT),n=y(n,1),Fse(this,e,t,n,1,i.byteOffset)):i};MX.prototype.hasProperty=function(e){return l(this.json[e])};MX.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(l(i.componentType)&&(t=Q.fromName(i.componentType)),Fse(this,e,t,n,this.featuresLength,i.byteOffset)):mDe(this,e,t,i)};MX.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!l(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a0&&(f=Po(i,t,d),t+=d,u>0&&(x=new Uint8Array(e,t,u),x=new Uint8Array(x),t+=u));let _=n+s-t;if(_===0)throw new ce("glTF byte length must be greater than 0.");let C;return t%4===0?C=new Uint8Array(e,t,_):(O5._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),C=new Uint8Array(i.subarray(t,t+_))),{gltfFormat:m,featureTableJson:p,featureTableBinary:g,batchTableJson:f,batchTableBinary:x,gltf:C}};var DX=O5;var fb={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},Y5=Sn.Attribute,PDe=Sn.FeatureIdAttribute,Dse=Sn.Instances;function pb(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Wo.Y),d=y(e.forwardAxis,Wo.X),u=y(e.loadAttributesAsTypedArray,!1),m=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.enablePick,!1);i=l(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=d,this._loadAttributesAsTypedArray=u,this._loadIndicesForWireframe=m,this._loadPrimitiveOutline=p,this._enablePick=g,this._state=fb.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=M.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}l(Object.create)&&(pb.prototype=Object.create(zi.prototype),pb.prototype.constructor=pb);Object.defineProperties(pb.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});pb.prototype.load=function(){if(l(this._promise))return this._promise;let e=DX.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new Qm(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!l(a))throw new ce("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",Q.FLOAT,3);l(c)&&(this._transform=M.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let d={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let m=Zl(e.gltf);m=m.replace(/[\s\0]+$/,"");let p=this._baseResource.getDerivedResource({url:m});d.gltfResource=p,d.baseResource=p}else d.gltfResource=this._i3dmResource,d.typedArray=e.gltf;let u=new lb(d);return this._gltfLoader=u,this._state=fb.LOADING,this._promise=u.load().then(()=>{if(!this.isDestroyed())return this._state=fb.PROCESSING,this}).catch(m=>{if(!this.isDestroyed())throw vDe(this,m)}),this._promise};function vDe(e,t){return e.unload(),e._state=fb.FAILED,e.getError("Failed to load i3dm",t)}pb.prototype.process=function(e){if(this._state===fb.READY)return!0;let t=this._gltfLoader,n=!1;if(this._state===fb.PROCESSING&&(n=t.process(e)),!n)return!1;let i=t.components;return i.transform=M.multiplyTransformation(this._transform,i.transform,i.transform),ADe(this,i,e),wDe(this,i),this._components=i,this._arrayBuffer=void 0,this._state=fb.READY,!0};function wDe(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(l(n.json))o=hb({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new Qc({name:Bm.BATCH_TABLE_CLASS_NAME,count:i});o=new Hs({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var H5=new h,hz=new Array(4),FDe=new M;function ADe(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",Q.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,d=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),u=NDe(o,r),m;c&&(m=new Float32Array(4*r));let p;d&&(p=new Float32Array(3*r));let g=new Float32Array(r),f=h.unpackArray(u),x=new h,_=new h,C=new h,V=new h,L=new $,Z=new Fe,G=new Array(4),I=new h,v=new Array(3),P=new M;if(!l(s)||h.equals(h.unpack(s),h.ZERO)){let U=de.fromPoints(f);for(i=0;i0&&(U.instances=O?MDe(w):w,O=!0)}}function MDe(e){let t=new Dse;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o=n[t]){if(t+1=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o=n[o]&&e=0&&!(e>=n[o]&&en&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};QC.prototype.clampTime=function(e){let t=this.times;return W.clamp(e,t[0],t[t.length-1])};var ro=QC;function jC(e){this._value=e,this._valueType=ro.getPointType(e)}Object.defineProperties(jC.prototype,{value:{get:function(){return this._value}}});jC.prototype.findTimeInterval=function(e){};jC.prototype.wrapTime=function(e){return 0};jC.prototype.clampTime=function(e){return 0};jC.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var OX=jC;var UCn=T(S(),1);var GCn=T(S(),1);function qC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=ro.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(qC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});qC.prototype.findTimeInterval=ro.prototype.findTimeInterval;qC.prototype.wrapTime=ro.prototype.wrapTime;qC.prototype.clampTime=ro.prototype.clampTime;qC.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(l(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var Rg=qC;var XCn=T(S(),1);var Bse={};Bse.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var $C=Bse;var Ose=[],Yse=[],Hse=[],zse=[];function ODe(e,t,n){let i=Ose,o=Hse,r=Yse,s=zse;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(l(c)||(c=s[0]=new h),h.clone(t,c),a=1;a0&&e.afterRender.push(a._raiseStartEvent)),a.loop===vl.REPEAT)g=g-Math.floor(g);else if(a.loop===vl.MIRRORED_REPEAT){let C=Math.floor(g),V=g-C;g=C%2===1?1-V:V}a.reverse&&(g=1-g);let _=g*d*a.multiplier;_=W.clamp(_,a.localStartTime,a.localStopTime),a.animate(_),a.update.numberOfListeners>0&&(a._updateEventTime=_,e.afterRender.push(a._raiseUpdateEvent)),i=!0,x||(a._state=jm.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&z5.push(a))}}n=z5.length;for(let s=0;sW.EPSILON3}};var nW=Qse;var SVn=T(S(),1);var fVn=T(S(),1),iW=`#ifdef DIFFUSE_IBL +vec3 sampleDiffuseEnvironment(vec3 cubeDir) +{ + #ifdef CUSTOM_SPHERICAL_HARMONICS + return czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); + #else + return czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); + #endif +} +#endif + +#ifdef SPECULAR_IBL +vec3 sampleSpecularEnvironment(vec3 cubeDir, float roughness) +{ + #ifdef CUSTOM_SPECULAR_IBL + float lod = roughness * model_specularEnvironmentMapsMaximumLOD; + return czm_textureCube(model_specularEnvironmentMaps, cubeDir, lod).rgb; + #else + float lod = roughness * czm_specularEnvironmentMapsMaximumLOD; + return czm_textureCube(czm_specularEnvironmentMaps, cubeDir, lod).rgb; + #endif +} +vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness) +{ + // see https://bruop.github.io/ibl/ at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + vec3 f90 = max(vec3(1.0 - roughness), f0); + vec3 F = fresnelSchlick2(f0, f90, NdotV); + + vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; + vec3 specularSample = sampleSpecularEnvironment(cubeDir, roughness); + + return specularSample * (F * brdfLut.x + brdfLut.y); } #endif @@ -6579,7 +6959,7 @@ vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y); vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems); vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse; - vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering); + vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering) * model_iblFactor.x; #else vec3 diffuseContribution = vec3(0.0); #endif @@ -6600,7 +6980,7 @@ vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) #ifdef SPECULAR_IBL vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC); vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness); - vec3 specularContribution = radiance * FssEss; + vec3 specularContribution = radiance * FssEss * model_iblFactor.y; #else vec3 specularContribution = vec3(0.0); #endif @@ -6608,14 +6988,14 @@ vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) return diffuseContribution + specularContribution; } #endif -`;var wse={name:"ImageBasedLightingPipelineStage"};wse.process=function(e,t,n){let i=t.imageBasedLighting,o=e.shaderBuilder;o.addDefine("USE_IBL_LIGHTING",void 0,ge.FRAGMENT),o.addUniform("vec2","model_iblFactor",ge.FRAGMENT),wm.isSupported(n.context)&&((i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled)&&o.addUniform("mat3","model_iblReferenceFrameMatrix",ge.FRAGMENT),l(i.sphericalHarmonicCoefficients)?(o.addDefine("DIFFUSE_IBL",void 0,ge.FRAGMENT),o.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,ge.FRAGMENT),o.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",ge.FRAGMENT)):i.useDefaultSphericalHarmonics&&o.addDefine("DIFFUSE_IBL",void 0,ge.FRAGMENT),l(i.specularEnvironmentCubeMap)&&i.specularEnvironmentCubeMap.ready?(o.addDefine("SPECULAR_IBL",void 0,ge.FRAGMENT),o.addDefine("CUSTOM_SPECULAR_IBL",void 0,ge.FRAGMENT),o.addUniform("samplerCube","model_specularEnvironmentMaps",ge.FRAGMENT),o.addUniform("float","model_specularEnvironmentMapsMaximumLOD",ge.FRAGMENT)):t.useDefaultSpecularMaps&&o.addDefine("SPECULAR_IBL",void 0,ge.FRAGMENT)),l(i.luminanceAtZenith)&&(o.addDefine("USE_SUN_LUMINANCE",void 0,ge.FRAGMENT),o.addUniform("float","model_luminanceAtZenith",ge.FRAGMENT)),o.addFragmentLines(YX);let r={model_iblFactor:function(){return i.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return i.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return i.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return i.specularEnvironmentCubeMap.texture},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentCubeMap.maximumMipmapLevel}};e.uniformMap=Tt(r,e.uniformMap)};var zX=wse;var UCn=T(S(),1);var wCn=T(S(),1);var XDe=W.EPSILON16;function dH(e){e=y(e,y.EMPTY_OBJECT);let t=e.stage,n=e.runtimeArticulation;this._stage=t,this._runtimeArticulation=n,this._name=t.name,this._type=t.type,this._minimumValue=t.minimumValue,this._maximumValue=t.maximumValue,this._currentValue=t.initialValue}Object.defineProperties(dH.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(e){e=W.clamp(e,this.minimumValue,this.maximumValue),W.equalsEpsilon(this._currentValue,e,XDe)||(this._currentValue=e,this.runtimeArticulation._dirty=!0)}}});var WDe=new h,lH=new $;dH.prototype.applyStageToMatrix=function(e){let t=this.type,n=this.currentValue,i=WDe,o;switch(t){case hc.XROTATE:o=$.fromRotationX(W.toRadians(n),lH),e=M.multiplyByMatrix3(e,o,e);break;case hc.YROTATE:o=$.fromRotationY(W.toRadians(n),lH),e=M.multiplyByMatrix3(e,o,e);break;case hc.ZROTATE:o=$.fromRotationZ(W.toRadians(n),lH),e=M.multiplyByMatrix3(e,o,e);break;case hc.XTRANSLATE:i.x=n,i.y=0,i.z=0,e=M.multiplyByTranslation(e,i,e);break;case hc.YTRANSLATE:i.x=0,i.y=n,i.z=0,e=M.multiplyByTranslation(e,i,e);break;case hc.ZTRANSLATE:i.x=0,i.y=0,i.z=n,e=M.multiplyByTranslation(e,i,e);break;case hc.XSCALE:i.x=n,i.y=1,i.z=1,e=M.multiplyByScale(e,i,e);break;case hc.YSCALE:i.x=1,i.y=n,i.z=1,e=M.multiplyByScale(e,i,e);break;case hc.ZSCALE:i.x=1,i.y=1,i.z=n,e=M.multiplyByScale(e,i,e);break;case hc.UNIFORMSCALE:e=M.multiplyByUniformScale(e,n,e);break;default:break}return e};var HX=dH;function D5(e){e=y(e,y.EMPTY_OBJECT);let t=e.articulation,n=e.sceneGraph;this._articulation=t,this._sceneGraph=n,this._name=t.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,PDe(this)}Object.defineProperties(D5.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function PDe(e){let n=e.articulation.stages,i=n.length,o=e._runtimeStages,r=e._runtimeStagesByName;for(let s=0;s=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:an.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}var sW=kse;var q1n=T(S(),1);var fH={};fH.name="ModelMatrixUpdateStage";fH.update=function(e,t,n){let i=n.mode!==oe.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;zse(e,t,o,e.transformToRoot),e._transformDirty=!1}};function i3e(e,t,n){e.modelMatrix=M.multiplyTransformation(t,n,e.modelMatrix),e.cullFace=qt.getCullFace(e.modelMatrix,e.primitiveType)}function zse(e,t,n,i){let o;i=M.multiplyTransformation(i,e.transform,new M),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=Tt(o,e.uniformMap)};var uW=jse;var IVn=T(S(),1);var qse={name:"ClassificationPipelineStage"};qse.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,ge.BOTH);let o=e.runtimePrimitive;l(o.batchLengths)||r3e(t,o)};function r3e(e,t){let n=qt.getAttributeBySemantic(e,Vt.POSITION);if(!l(n))throw new de("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=l(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=qt.getAttributeBySemantic(e,Vt.FEATURE_ID,0);if(!l(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let d=[],u=[0],m=r?i[0]:0,p=c[m],g=0;for(let x=1;x=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:an.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}var yW=nae;var zLn=T(S(),1);var Sz={};Sz.name="ModelMatrixUpdateStage";Sz.update=function(e,t,n){let i=n.mode!==oe.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;cae(e,t,o,e.transformToRoot),e._transformDirty=!1}};function IBe(e,t,n){e.modelMatrix=M.multiplyTransformation(t,n,e.modelMatrix),e.cullFace=Qt.getCullFace(e.modelMatrix,e.primitiveType)}function cae(e,t,n,i){let o;i=M.multiplyTransformation(i,e.transform,new M),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=Vt(o,e.uniformMap)};var CW=hae;var LRn=T(S(),1);var fae={name:"ClassificationPipelineStage"};fae.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,ge.BOTH);let o=e.runtimePrimitive;l(o.batchLengths)||WBe(t,o)};function WBe(e,t){let n=Qt.getAttributeBySemantic(e,Zt.POSITION);if(!l(n))throw new ce("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=l(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=Qt.getAttributeBySemantic(e,Zt.FEATURE_ID,0);if(!l(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let d=[],u=[0],m=r?i[0]:0,p=c[m],g=0;for(let x=1;xp3e(i,t,n)):[]}function p3e(e,t,n){let{getAttributeByName:i,getAttributeInfo:o,sanitizeGlslIdentifier:r}=qt,s=e.class.id,a=n?.classes[s],c=Object.entries(e.properties),d=new Array(c.length);for(let u=0;ug3e(n,t)):[]}function g3e(e,t){let{sanitizeGlslIdentifier:n}=qt,i=e.class.id,o=t?.classes[i],r=Object.entries(e.properties).filter(([a,c])=>c.isGpuCompatible()),s=new Array(r.length);for(let a=0;au),n.addStructField(Vi.STRUCT_ID_METADATA_FS,r,o);let g=`attributes.texCoord_${a}`,f=g;if(l(m)&&!$.equals(m,$.IDENTITY)){let L=`${p}Transform`;n.addUniform("mat3",L,ge.FRAGMENT),i[L]=function(){return m},f=`vec2(${L} * vec3(${g}, 1.0))`}let x=`texture(${p}, ${f}).${c}`,_=s.unpackInShader(x),C=sae({valueExpression:_,renderResources:e,glslType:r,metadataVariable:o,shaderDestination:ge.FRAGMENT,property:s}),V=`metadata.${o} = ${C};`;n.addFunctionLines(Vi.FUNCTION_ID_INITIALIZE_METADATA_FS,[V])}function iae(e,t){let{classProperty:n}=t.property,{metadataVariable:i,glslType:o,shaderDestination:r}=t,s=rae(Vi.METADATA_CLASS_FIELDS,n,`metadataClass.${i}`,o),a=`${o}MetadataClass`;e.addStructField(Vi.STRUCT_ID_METADATA_CLASS_FS,a,i),e.addFunctionLines(Vi.FUNCTION_ID_INITIALIZE_METADATA_FS,s),ge.includesVertexShader(r)&&(e.addStructField(Vi.STRUCT_ID_METADATA_CLASS_VS,a,i),e.addFunctionLines(Vi.FUNCTION_ID_INITIALIZE_METADATA_VS,s))}function oae(e,t){let{propertyStatistics:n}=t;if(!l(n))return;let{metadataVariable:i,type:o,glslType:r}=t;if(o===Lt.ENUM)return;let s=Vi.METADATA_STATISTICS_FIELDS,a=`metadataStatistics.${i}`,c=rae(s,n,a,r),d=`${r}MetadataStatistics`;e.addStructField(Vi.STRUCT_ID_METADATA_STATISTICS_FS,d,i),e.addFunctionLines(Vi.FUNCTION_ID_INITIALIZE_METADATA_FS,c),ge.includesVertexShader(t.shaderDestination)&&(e.addStructField(Vi.STRUCT_ID_METADATA_STATISTICS_VS,d,i),e.addFunctionLines(Vi.FUNCTION_ID_INITIALIZE_METADATA_VS,c))}function rae(e,t,n,i){function o(r){let s=t[r.specName];if(l(s))return`${n}.${r.shaderName} = ${i}(${s});`}return l(t)?e.map(o).filter(l):[]}function sae(e){let{valueExpression:t,property:n}=e;if(!n.hasValueTransform)return t;let i=e.metadataVariable,o=`u_${i}_offset`,r=`u_${i}_scale`,{shaderBuilder:s,uniformMap:a}=e.renderResources,{glslType:c,shaderDestination:d}=e;s.addUniform(c,o,d),s.addUniform(c,r,d);let{offset:u,scale:m}=n;return a[o]=()=>u,a[r]=()=>m,`czm_valueTransform(${o}, ${r}, ${t})`}var Vu=Vi;var GLn=T(S(),1),R3e={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},Lg=Object.freeze(R3e);var PLn=T(S(),1);var ILn=T(S(),1),aae=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],bH=1,SW=8,__=class e{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");let[n,i]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");let o=i>>4;if(o!==bH)throw new Error(`Got v${o} data when expected v${bH}.`);let r=aae[i&15];if(!r)throw new Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new e(a,s,r,t)}constructor(t,n=64,i=Float64Array,o){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let r=aae.indexOf(this.ArrayType),s=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-a%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,SW,t),this.coords=new this.ArrayType(this.data,SW+a+c,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(SW+s+a+c),this.ids=new this.IndexArrayType(this.data,SW,t),this.coords=new this.ArrayType(this.data,SW+a+c,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(bH<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=n,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return yH(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:r,coords:s,nodeSize:a}=this,c=[0,r.length-1,0],d=[];for(;c.length;){let u=c.pop()||0,m=c.pop()||0,p=c.pop()||0;if(m-p<=a){for(let _=p;_<=m;_++){let C=s[2*_],V=s[2*_+1];C>=t&&C<=i&&V>=n&&V<=o&&d.push(r[_])}continue}let g=p+m>>1,f=s[2*g],x=s[2*g+1];f>=t&&f<=i&&x>=n&&x<=o&&d.push(r[g]),(u===0?t<=f:n<=x)&&(c.push(p),c.push(g-1),c.push(1-u)),(u===0?i>=f:o>=x)&&(c.push(g+1),c.push(m),c.push(1-u))}return d}within(t,n,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:o,coords:r,nodeSize:s}=this,a=[0,o.length-1,0],c=[],d=i*i;for(;a.length;){let u=a.pop()||0,m=a.pop()||0,p=a.pop()||0;if(m-p<=s){for(let _=p;_<=m;_++)cae(r[2*_],r[2*_+1],t,n)<=d&&c.push(o[_]);continue}let g=p+m>>1,f=r[2*g],x=r[2*g+1];cae(f,x,t,n)<=d&&c.push(o[g]),(u===0?t-i<=f:n-i<=x)&&(a.push(p),a.push(g-1),a.push(1-u)),(u===0?t+i>=f:n+i>=x)&&(a.push(g+1),a.push(m),a.push(1-u))}return c}};function yH(e,t,n,i,o,r){if(o-i<=n)return;let s=i+o>>1;lae(e,t,s,i,o,r),yH(e,t,n,i,s-1,1-r),yH(e,t,n,s+1,o,1-r)}function lae(e,t,n,i,o,r){for(;o>i;){if(o-i>600){let d=o-i+1,u=n-i+1,m=Math.log(d),p=.5*Math.exp(2*m/3),g=.5*Math.sqrt(m*p*(d-p)/d)*(u-d/2<0?-1:1),f=Math.max(i,Math.floor(n-u*p/d+g)),x=Math.min(o,Math.floor(n+(d-u)*p/d+g));lae(e,t,n,f,x,r)}let s=t[2*n+r],a=i,c=o;for(CW(e,t,i,n),t[2*o+r]>s&&CW(e,t,i,o);as;)c--}t[2*i+r]===s?CW(e,t,i,c):(c++,CW(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function CW(e,t,n,i){gH(e,n,i),gH(t,2*n,2*i),gH(t,2*n+1,2*i+1)}function gH(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function cae(e,t,n,i){let o=e-n,r=t-i;return o*o+r*r}var $C={},Z3e={KDBush:__,addCache:function(e,t){return $C[e]=t,t},removeCache:function(e){delete $C[e]},getCache:function(e){return $C[e]},getCacheOrAdd:function(e){return $C[e]||($C[e]={}),$C[e]}},u0=Z3e;var ms={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:St};ms.process=function(e,t,n){let i=e.model.customShader;if(i&&ms.process_original(e,t,n,i),l(e.model._marsOptions)&&l(e.model._marsOptions.customShaders)){let o=u0.getCache(e.model._marsOptions.customShaders);for(let r in o)Object.prototype.hasOwnProperty.call(o,r)&&ms.process_original(e,t,n,o[r])}};ms.process_original=function(e,t,n,i){let{shaderBuilder:o,alphaOptions:r}=e,{lightingModel:s,translucencyMode:a}=i;l(s)&&(e.lightingOptions.lightingModel=s),a===Lg.TRANSLUCENT?r.pass=Ze.TRANSLUCENT:a===Lg.OPAQUE&&(r.pass=void 0);let c=w3e(i,t);if(!c.customShaderEnabled)return;if(N3e(o,i,c),c.shouldComputePositionWC&&o.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,ge.BOTH),l(i.vertexShaderText)&&o.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,ge.VERTEX),l(i.fragmentShaderText)){o.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,ge.FRAGMENT);let m=d0.getDefineName(i.mode);o.addDefine(m,void 0,ge.FRAGMENT)}let d=i.uniforms;for(let m in d)if(d.hasOwnProperty(m)){let p=d[m];o.addUniform(p.type,m)}let u=i.varyings;for(let m in u)if(u.hasOwnProperty(m)){let p=u[m];o.addVarying(p,m)}e.uniformMap=Tt(e.uniformMap,i.uniformMap)};function G3e(e){let t={};for(let n=0;nDBe(i,t,n)):[]}function DBe(e,t,n){let{getAttributeByName:i,getAttributeInfo:o,sanitizeGlslIdentifier:r}=Qt,s=e.class.id,a=n?.classes[s],c=Object.entries(e.properties),d=new Array(c.length);for(let u=0;uOBe(n,t)):[]}function OBe(e,t){let{sanitizeGlslIdentifier:n}=Qt,i=e.class.id,o=t?.classes[i],r=Object.entries(e.properties).filter(([a,c])=>c.isGpuCompatible()),s=new Array(r.length);for(let a=0;au),n.addStructField(Zi.STRUCT_ID_METADATA_FS,r,o);let g=`attributes.texCoord_${a}`,f=g;if(l(m)&&!$.equals(m,$.IDENTITY)){let L=`${p}Transform`;n.addUniform("mat3",L,ge.FRAGMENT),i[L]=function(){return m},f=`vec2(${L} * vec3(${g}, 1.0))`}let x=`texture(${p}, ${f}).${c}`,_=s.unpackInShader(x),C=Sae({valueExpression:_,renderResources:e,glslType:r,metadataVariable:o,shaderDestination:ge.FRAGMENT,property:s}),V=`metadata.${o} = ${C};`;n.addFunctionLines(Zi.FUNCTION_ID_INITIALIZE_METADATA_FS,[V])}function xae(e,t){let{classProperty:n}=t.property,{metadataVariable:i,glslType:o,shaderDestination:r}=t,s=Tae(Zi.METADATA_CLASS_FIELDS,n,`metadataClass.${i}`,o),a=`${o}MetadataClass`;e.addStructField(Zi.STRUCT_ID_METADATA_CLASS_FS,a,i),e.addFunctionLines(Zi.FUNCTION_ID_INITIALIZE_METADATA_FS,s),ge.includesVertexShader(r)&&(e.addStructField(Zi.STRUCT_ID_METADATA_CLASS_VS,a,i),e.addFunctionLines(Zi.FUNCTION_ID_INITIALIZE_METADATA_VS,s))}function _ae(e,t){let{propertyStatistics:n}=t;if(!l(n))return;let{metadataVariable:i,type:o,glslType:r}=t;if(o===ft.ENUM)return;let s=Zi.METADATA_STATISTICS_FIELDS,a=`metadataStatistics.${i}`,c=Tae(s,n,a,r),d=`${r}MetadataStatistics`;e.addStructField(Zi.STRUCT_ID_METADATA_STATISTICS_FS,d,i),e.addFunctionLines(Zi.FUNCTION_ID_INITIALIZE_METADATA_FS,c),ge.includesVertexShader(t.shaderDestination)&&(e.addStructField(Zi.STRUCT_ID_METADATA_STATISTICS_VS,d,i),e.addFunctionLines(Zi.FUNCTION_ID_INITIALIZE_METADATA_VS,c))}function Tae(e,t,n,i){function o(r){let s=t[r.specName];if(l(s))return`${n}.${r.shaderName} = ${i}(${s});`}return l(t)?e.map(o).filter(l):[]}function Sae(e){let{valueExpression:t,property:n}=e;if(!n.hasValueTransform)return t;let i=e.metadataVariable,o=`u_${i}_offset`,r=`u_${i}_scale`,{shaderBuilder:s,uniformMap:a}=e.renderResources,{glslType:c,shaderDestination:d}=e;s.addUniform(c,o,d),s.addUniform(c,r,d);let{offset:u,scale:m}=n;return a[o]=()=>u,a[r]=()=>m,`czm_valueTransform(${o}, ${r}, ${t})`}var Iu=Zi;var CZn=T(S(),1),$Be={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},Xg=Object.freeze($Be);var gs={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:Tt};gs.process=function(e,t,n){let i=e.model.customShader;if(i&&gs.process_original(e,t,n,i),l(e.model._marsOptions)&&l(e.model._marsOptions.customShaders)){let o=Xp.getCache(e.model._marsOptions.customShaders);for(let r in o)Object.prototype.hasOwnProperty.call(o,r)&&gs.process_original(e,t,n,o[r])}};gs.process_original=function(e,t,n,i){let{shaderBuilder:o,alphaOptions:r}=e,{lightingModel:s,translucencyMode:a}=i;l(s)&&(e.lightingOptions.lightingModel=s),a===Xg.TRANSLUCENT?r.pass=Ge.TRANSLUCENT:a===Xg.OPAQUE&&(r.pass=void 0);let c=aOe(i,t);if(!c.customShaderEnabled)return;if(uOe(o,i,c),c.shouldComputePositionWC&&o.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,ge.BOTH),l(i.vertexShaderText)&&o.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,ge.VERTEX),l(i.fragmentShaderText)){o.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,ge.FRAGMENT);let m=gb.getDefineName(i.mode);o.addDefine(m,void 0,ge.FRAGMENT)}let d=i.uniforms;for(let m in d)if(d.hasOwnProperty(m)){let p=d[m];o.addUniform(p.type,m)}let u=i.varyings;for(let m in u)if(u.hasOwnProperty(m)){let p=u[m];o.addVarying(p,m)}e.uniformMap=Vt(e.uniformMap,i.uniformMap)};function eOe(e){let t={};for(let n=0;n1?(g=e.attributeIndex,e.attributeIndex+=m):p&&!a?g=0:g=e.attributeIndex++,z3e(e,u,g,m,r,s)}tBe(i,t.attributes),t.primitiveType===Me.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(GW),i.addFragmentLines(ZW)};function z3e(e,t,n,i,o,r){let s=e.shaderBuilder,a=qt.getAttributeInfo(t),c=o&&!r;i>1?J3e(e,t,n,i):K3e(e,t,n,c),j3e(s,a,c),Q3e(s,a),l(t.semantic)&&H3e(s,t),q3e(s,a,o),$3e(s,a,c),eBe(s,a)}function H3e(e,t){let{semantic:n,setIndex:i}=t;switch(n){case Vt.NORMAL:e.addDefine("HAS_NORMALS");break;case Vt.TANGENT:e.addDefine("HAS_TANGENTS");break;case Vt.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case Vt.TEXCOORD:case Vt.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function K3e(e,t,n,i){let{quantization:o,semantic:r,setIndex:s}=t,{type:a,componentDatatype:c}=l(o)?o:t;r===Vt.FEATURE_ID&&s>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=s+1);let d=r===Vt.POSITION,u=d?0:n,m=an.getNumberOfComponents(a),p={index:u,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:m,componentDatatype:c,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!d||!i)return;let g=e.runtimePrimitive.positionBuffer2D,f={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:m,componentDatatype:Q.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(f)}function J3e(e,t,n,i){let{quantization:o,normalized:r}=t,{type:s,componentDatatype:a}=l(o)?o:t,d=an.getNumberOfComponents(s)/i,u=Q.getSizeInBytes(a),m=d*u,p=t.byteStride;for(let g=0;g1?(g=e.attributeIndex,e.attributeIndex+=m):p&&!a?g=0:g=e.attributeIndex++,yOe(e,u,g,m,r,s)}ZOe(i,t.attributes),t.primitiveType===Me.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(MW),i.addFragmentLines(AW)};function yOe(e,t,n,i,o,r){let s=e.shaderBuilder,a=Qt.getAttributeInfo(t),c=o&&!r;i>1?TOe(e,t,n,i):_Oe(e,t,n,c),COe(s,a,c),SOe(s,a),l(t.semantic)&&xOe(s,t),VOe(s,a,o),LOe(s,a,c),ROe(s,a)}function xOe(e,t){let{semantic:n,setIndex:i}=t;switch(n){case Zt.NORMAL:e.addDefine("HAS_NORMALS");break;case Zt.TANGENT:e.addDefine("HAS_TANGENTS");break;case Zt.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case Zt.TEXCOORD:case Zt.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function _Oe(e,t,n,i){let{quantization:o,semantic:r,setIndex:s}=t,{type:a,componentDatatype:c}=l(o)?o:t;r===Zt.FEATURE_ID&&s>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=s+1);let d=r===Zt.POSITION,u=d?0:n,m=an.getNumberOfComponents(a),p={index:u,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:m,componentDatatype:c,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!d||!i)return;let g=e.runtimePrimitive.positionBuffer2D,f={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:m,componentDatatype:Q.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(f)}function TOe(e,t,n,i){let{quantization:o,normalized:r}=t,{type:s,componentDatatype:a}=l(o)?o:t,d=an.getNumberOfComponents(s)/i,u=Q.getSizeInBytes(a),m=d*u,p=t.byteStride;for(let g=0;g0,d=!l(a)&&c;if(l(r)&&!d){let x=RBe(a),_=ZBe(r,x);GBe(i,_);let V=EBe(_).indexOf("normalMC")>=0,L=qt.getAttributeBySemantic(t,Vt.NORMAL);if(V&&!L)throw new de("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,ge.VERTEX),_.styleTranslucent&&(e.alphaOptions.pass=Ze.TRANSLUCENT)}let u=o.pointCloudShading;u.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,ge.VERTEX),u.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,ge.VERTEX);let m,p,g;dr.is3DTiles(o.type)&&(p=!0,m=o.content,g=m.tile.refine===No.ADD),i.addUniform("vec4","model_pointCloudParameters",ge.VERTEX),i.addVertexLines(MW);let f=e.uniformMap;f.model_pointCloudParameters=function(){let x=SBe,_=1;p&&(_=g?5:m.tileset.memoryAdjustedScreenSpaceError),x.x=y(u.maximumAttenuation,_),x.x*=n.pixelRatio;let C=CBe(e,t,u,m);x.y=C*u.geometricErrorScale;let V=n.context,L=n.camera.frustum,Z;return n.mode===oe.SCENE2D||L instanceof ln?Z=Number.POSITIVE_INFINITY:Z=V.drawingBufferHeight/n.camera.frustum.sseDenominator,x.z=Z,p&&(x.w=m.tileset.timeSinceLoad),x}};var Cae=new h;function CBe(e,t,n,i){if(l(i)){let u=i.tile.geometricError;if(u>0)return u}if(l(n.baseResolution))return n.baseResolution;let o=qt.getAttributeBySemantic(t,Vt.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,Cae);a=M.multiplyByPointAsVector(s,a,Cae);let c=a.x*a.y*a.z;return W.cbrt(c/r)}var VBe={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},LBe={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function RBe(e){let t=ze(LBe);if(!l(e))return t;for(let n=0;n0,d=!l(a)&&c;if(l(r)&&!d){let x=qOe(a),_=$Oe(r,x);e3e(i,_);let V=t3e(_).indexOf("normalMC")>=0,L=Qt.getAttributeBySemantic(t,Zt.NORMAL);if(V&&!L)throw new ce("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,ge.VERTEX),_.styleTranslucent&&(e.alphaOptions.pass=Ge.TRANSLUCENT)}let u=o.pointCloudShading;u.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,ge.VERTEX),u.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,ge.VERTEX);let m,p,g;dr.is3DTiles(o.type)&&(p=!0,m=o.content,g=m.tile.refine===Do.ADD),i.addUniform("vec4","model_pointCloudParameters",ge.VERTEX),i.addVertexLines(KW);let f=e.uniformMap;f.model_pointCloudParameters=function(){let x=KOe,_=1;p&&(_=g?5:m.tileset.memoryAdjustedScreenSpaceError),x.x=y(u.maximumAttenuation,_),x.x*=n.pixelRatio;let C=JOe(e,t,u,m);x.y=C*u.geometricErrorScale;let V=n.context,L=n.camera.frustum,Z;return n.mode===oe.SCENE2D||L instanceof ln?Z=Number.POSITIVE_INFINITY:Z=V.drawingBufferHeight/n.camera.frustum.sseDenominator,x.z=Z,p&&(x.w=m.tileset.timeSinceLoad),x}};var Fae=new h;function JOe(e,t,n,i){if(l(i)){let u=i.tile.geometricError;if(u>0)return u}if(l(n.baseResolution))return n.baseResolution;let o=Qt.getAttributeBySemantic(t,Zt.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,Fae);a=M.multiplyByPointAsVector(s,a,Fae);let c=a.x*a.y*a.z;return W.cbrt(c/r)}var QOe={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},jOe={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function qOe(e){let t=He(jOe);if(!l(e))return t;for(let n=0;n0,p=l(i.skin),g=l(r),x=!(g&&l(r.fragmentShaderText))||r.mode!==d0.REPLACE_MATERIAL,_=qt.hasQuantizedAttributes(n.attributes),C=o.debugWireframe&&Me.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),V=o.pointCloudShading,L=l(V)&&V.attenuation,Z=l(V)&&V.backFaceCulling,G=n.primitiveType===Me.POINTS&&(l(s)||L||Z),I=o._enableShowOutline&&l(n.outlineCoordinates),v=jBe(o,i,n),P=l(o.classificationType);d&&t.push(OW),t.push(IW),C&&t.push(JW),P&&t.push(mW),m&&t.push(FW),p&&t.push(zW),G&&t.push(NW),_&&t.push(RW),x&&t.push(vW),t.push(Vg),t.push(Vu),t.push(xd),v.hasPropertyTable&&(t.push(Rg),t.push(uW),t.push(pW)),u&&t.push(KW),g&&t.push(VW),t.push(WW),o.allowPicking&&t.push(AW),I&&t.push(DW),t.push(dW),t.push(BW)};function jBe(e,t,n){let i;return l(t.instances)&&(i=qt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(i))?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:(i=qt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),l(i)?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var QW=Aae;var NEn=T(S(),1);function VH(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],qBe(this)}Object.defineProperties(VH.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function qBe(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c0,p=l(i.skin),g=l(r),x=!(g&&l(r.fragmentShaderText))||r.mode!==gb.REPLACE_MATERIAL,_=Qt.hasQuantizedAttributes(n.attributes),C=o.debugWireframe&&Me.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),V=o.pointCloudShading,L=l(V)&&V.attenuation,Z=l(V)&&V.backFaceCulling,G=n.primitiveType===Me.POINTS&&(l(s)||L||Z),I=o._enableShowOutline&&l(n.outlineCoordinates),v=C3e(o,i,n),P=l(o.classificationType);d&&t.push(e2),t.push(kW),C&&t.push(r2),P&&t.push(VW),m&&t.push(HW),p&&t.push(n2),G&&t.push(JW),_&&t.push(FW),x&&t.push(OW),t.push(Ig),t.push(Iu),t.push(Vd),v.hasPropertyTable&&(t.push(Wg),t.push(CW),t.push(ZW)),u&&t.push(o2),g&&t.push(vW),t.push(DW),o.allowPicking&&t.push(zW),I&&t.push(qW),t.push(SW),t.push($W)};function C3e(e,t,n){let i;return l(t.instances)&&(i=Qt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(i))?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:(i=Qt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),l(i)?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var s2=Qae;var EXn=T(S(),1);function Ez(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],V3e(this)}Object.defineProperties(Ez.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function V3e(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif } -`;var Y5={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};Y5.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,ge.FRAGMENT),i.addFragmentLines(i2);let o={};i.addUniform("float",Y5.SPLIT_DIRECTION_UNIFORM_NAME,ge.FRAGMENT),o[Y5.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=Tt(o,e.uniformMap)};var o2=Y5;var fIn=T(S(),1);function tOe(e,t){this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=ze(e.uniformMap),this.alphaOptions=ze(e.alphaOptions),this.renderStateOptions=ze(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var r2=tOe;var RIn=T(S(),1);var yIn=T(S(),1);function nOe(e){e=y(e,y.EMPTY_OBJECT),this.lightingModel=y(e.lightingModel,ff.UNLIT)}var s2=nOe;function iOe(e,t){this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.uniformMap=ze(e.uniformMap),this.alphaOptions=ze(e.alphaOptions),this.renderStateOptions=ze(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;let n=t.primitive;this.count=l(n.indices)?n.indices.count:qt.getAttributeBySemantic(n,"POSITION").count,this.hasPropertyTable=!1,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;let i=qt.getPositionMinMax(n,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=h.clone(i.min,new h),this.positionMax=h.clone(i.max,new h),this.boundingSphere=le.fromCornerPoints(this.positionMin,this.positionMax,new le),this.lightingOptions=new s2,this.pickId=void 0}var a2=iOe;var ZXn=T(S(),1);var kIn=T(S(),1);function RH(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._command=t,this._model=i,this._runtimePrimitive=n.runtimePrimitive,this._modelMatrix=t.modelMatrix,this._boundingVolume=t.boundingVolume,this._cullFace=t.renderState.cull.face;let o=i.classificationType;this._classificationType=o,this._classifiesTerrain=o!==Un.CESIUM_3D_TILE,this._classifies3DTiles=o!==Un.TERRAIN,this._useDebugWireframe=i._enableDebugWireframe&&i.debugWireframe,this._pickId=n.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],aOe(this)}function oOe(e){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:bt.KEEP,zFail:bt.DECREMENT_WRAP,zPass:bt.KEEP},backFunction:e,backOperation:{fail:bt.KEEP,zFail:bt.INCREMENT_WRAP,zPass:bt.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:rc.LESS_OR_EQUAL},depthMask:!1}}var rOe={stencilTest:{enabled:!0,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},backFunction:Bn.NOT_EQUAL,backOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND},sOe={stencilTest:{enabled:!0,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},backFunction:Bn.NOT_EQUAL,backOperation:{fail:bt.ZERO,zFail:bt.ZERO,zPass:bt.ZERO},reference:0,mask:Bt.CLASSIFICATION_MASK},stencilMask:Bt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},Uae=[];function aOe(e){let t=e._command,n=Uae;if(e._useDebugWireframe){t.pass=Ze.OPAQUE,n.length=0,n.push(t),e._commandListDebugWireframe=c2(e,n,e._commandListDebugWireframe);let r=e._commandListDebugWireframe,s=r.length;for(let a=0;as||o<-s&&r>-s}function n1(e,t){if(!l(t))return;let n=m0.clone(t),i=tt.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function pOe(e){n1(e,e._originalCommand),n1(e,e._translucentCommand),n1(e,e._skipLodBackfaceCommand),n1(e,e._skipLodStencilCommand),n1(e,e._silhouetteModelCommand),n1(e,e._silhouetteColorCommand)}function bOe(e){let t=tt.shallowClone(e);t.pass=Ze.TRANSLUCENT;let n=ze(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=hn.ALPHA_BLEND,t.renderState=Be.fromCache(n),t}function gOe(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=ze(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:ie.ALWAYS,backFunction:ie.ALWAYS,reference:n,mask:-1,frontOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.REPLACE},backOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=Be.fromCache(o),i}function yOe(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=ze(e.renderState,!0);o.cull.enabled=!1,(e.pass===Ze.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=Ze.TRANSLUCENT,o.depthMask=!1,o.blending=hn.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:ie.NOTEQUAL,backFunction:ie.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.KEEP},backOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.KEEP}};let s=ze(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=Be.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function xOe(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=_Oe(o);if(r!==s){let a=TOe(r),c=ze(o.renderState,!0);c.stencilTest.reference=a,o.renderState=Be.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function _Oe(e){return(e.renderState.stencilTest.reference&Bt.SKIP_LOD_MASK)>>>Bt.SKIP_LOD_BIT_SHIFT}function TOe(e){return Bt.CESIUM_3D_TILE_MASK|e<s||o<-s&&r>-s}function c1(e,t){if(!l(t))return;let n=yb.clone(t),i=tt.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function U3e(e){c1(e,e._originalCommand),c1(e,e._translucentCommand),c1(e,e._skipLodBackfaceCommand),c1(e,e._skipLodStencilCommand),c1(e,e._silhouetteModelCommand),c1(e,e._silhouetteColorCommand)}function D3e(e){let t=tt.shallowClone(e);t.pass=Ge.TRANSLUCENT;let n=He(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=hn.ALPHA_BLEND,t.renderState=Be.fromCache(n),t}function B3e(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=He(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:ie.ALWAYS,backFunction:ie.ALWAYS,reference:n,mask:-1,frontOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.REPLACE},backOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=Be.fromCache(o),i}function O3e(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=He(e.renderState,!0);o.cull.enabled=!1,(e.pass===Ge.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=Ge.TRANSLUCENT,o.depthMask=!1,o.blending=hn.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:ie.NOTEQUAL,backFunction:ie.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.KEEP},backOperation:{fail:ie.KEEP,zFail:ie.KEEP,zPass:ie.KEEP}};let s=He(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=Be.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function Y3e(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=H3e(o);if(r!==s){let a=z3e(r),c=He(o.renderState,!0);c.stencilTest.reference=a,o.renderState=Be.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function H3e(e){return(e.renderState.stencilTest.reference&Dt.SKIP_LOD_MASK)>>>Dt.SKIP_LOD_BIT_SHIFT}function z3e(e){return Dt.CESIUM_3D_TILE_MASK|e<0&&(m=Xo(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new zm(d,u),f=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=f,!l(f))throw new de("Feature table global property: POINTS_LENGTH must be defined");let x=g.getGlobalProperty("RTC_CENTER",Q.FLOAT,3);l(x)&&(x=h.unpack(x));let _=DOe(g,m);if(_.rtcCenter=x,_.pointsLength=f,!_.hasPositions){let C=BOe(g);_.positions=C,_.hasPositions=_.hasPositions||l(C)}if(!_.hasPositions)throw new de("Either POSITION or POSITION_QUANTIZED must be defined.");if(!_.hasNormals){let C=YOe(g);_.normals=C,_.hasNormals=_.hasNormals||l(C)}if(!_.hasColors){let C=OOe(g);_.colors=C,_.hasColors=_.hasColors||l(C),_.hasConstantColor=l(_.constantColor),_.isTranslucent=l(C)&&C.isTranslucent}if(!_.hasBatchIds){let C=zOe(g);_.batchIds=C,_.hasBatchIds=_.hasBatchIds||l(C)}if(_.hasBatchIds){let C=g.getGlobalProperty("BATCH_LENGTH");if(!l(C))throw new de("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");_.batchLength=C}return l(p)&&(p=new Uint8Array(p),_.batchTableJson=m,_.batchTableBinary=p),_};function DOe(e,t){let n=e.json,i,o,r,s=l(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=l(t)&&l(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;l(a)&&(r=a.properties);let c,d,u,m,p;if(l(s)){o=s.properties;let f=s.byteOffset,x=s.byteLength;if(!l(o)||!l(f)||!l(x))throw new de("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(f,f+x),c=l(o.POSITION),d=l(o.RGB)||l(o.RGBA),u=l(o.NORMAL),m=l(o.BATCH_ID),p=l(o.RGBA)}let g;return l(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:Tt(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:d,isTranslucent:p,hasNormals:u,hasBatchIds:m}}function BOe(e){let t=e.json,n;if(l(t.POSITION))return n=e.getPropertyArray("POSITION",Q.FLOAT,3),{name:Vt.POSITION,semantic:Vt.POSITION,typedArray:n,isQuantized:!1,componentDatatype:Q.FLOAT,type:an.VEC3};if(l(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",Q.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",Q.FLOAT,3);if(!l(i))throw new de("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=65535,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",Q.FLOAT,3);if(!l(r))throw new de("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:Vt.POSITION,semantic:Vt.POSITION,typedArray:n,isQuantized:!0,componentDatatype:Q.FLOAT,type:an.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:Q.UNSIGNED_SHORT,quantizedType:an.VEC3}}}function OOe(e){let t=e.json,n;if(l(t.RGBA))return n=e.getPropertyArray("RGBA",Q.UNSIGNED_BYTE,4),{name:Vt.COLOR,semantic:Vt.COLOR,setIndex:0,typedArray:n,componentDatatype:Q.UNSIGNED_BYTE,type:an.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(l(t.RGB))return n=e.getPropertyArray("RGB",Q.UNSIGNED_BYTE,3),{name:"COLOR",semantic:Vt.COLOR,setIndex:0,typedArray:n,componentDatatype:Q.UNSIGNED_BYTE,type:an.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(l(t.RGB565))return n=e.getPropertyArray("RGB565",Q.UNSIGNED_SHORT,1),{name:"COLOR",semantic:Vt.COLOR,setIndex:0,typedArray:n,componentDatatype:Q.FLOAT,type:an.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(l(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",Q.UNSIGNED_BYTE,4),o=i[3],r=B.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:Vt.COLOR,semantic:Vt.COLOR,setIndex:0,constantColor:r,componentDatatype:Q.FLOAT,type:an.VEC4,isQuantized:!1,isTranslucent:s}}}function YOe(e){let t=e.json,n;if(l(t.NORMAL))return n=e.getPropertyArray("NORMAL",Q.FLOAT,3),{name:Vt.NORMAL,semantic:Vt.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:Q.FLOAT,type:an.VEC3};if(l(t.NORMAL_OCT16P))return n=e.getPropertyArray("NORMAL_OCT16P",Q.UNSIGNED_BYTE,2),{name:Vt.NORMAL,semantic:Vt.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<8)-1,quantizedType:an.VEC2,quantizedComponentDatatype:Q.UNSIGNED_BYTE,componentDatatype:Q.FLOAT,type:an.VEC3}}function zOe(e){let t=e.json;if(l(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",Q.UNSIGNED_SHORT,1);return{name:Vt.FEATURE_ID,semantic:Vt.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:Q.fromTypedArray(n),type:an.SCALAR}}}var C_=Kae;var HOe=Cn.Components,KOe=Cn.Scene,JOe=Cn.Node,QOe=Cn.Primitive,jOe=Cn.Attribute,Jae=Cn.Quantization,qOe=Cn.FeatureIdAttribute,$Oe=Cn.Material,eYe=Cn.MetallicRoughness;function Zg(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._error=void 0,this._state=yt.UNLOADED,this._buffers=[],this._components=void 0,this._transform=M.IDENTITY}l(Object.create)&&(Zg.prototype=Object.create(Yi.prototype),Zg.prototype.constructor=Zg);Object.defineProperties(Zg.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});Zg.prototype.load=function(){if(l(this._promise))return this._promise;this._parsedContent=C_.parse(this._arrayBuffer,this._byteOffset),this._state=yt.PROCESSING,this._promise=Promise.resolve(this)};Zg.prototype.process=function(e){if(l(this._error)){let t=this._error;throw this._error=void 0,t}if(this._state===yt.READY)return!0;if(this._state===yt.PROCESSING){if(l(this._decodePromise))return!1;this._decodePromise=tYe(this,e.context)}return!1};function tYe(e,t){let i=e._parsedContent.draco,o;if(l(i)?o=Jp.decodePointCloud(i,t):o=Promise.resolve(),!!l(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return l(r)&&nYe(e,i,r),hYe(e,t),e._state=yt.READY,e}).catch(function(r){e.unload(),e._state=yt.FAILED;let s="Failed to load Draco pnts";e._error=e.getError(s,r)})}function nYe(e,t,n){e._state=yt.READY;let i=e._parsedContent,o;if(l(n.POSITION)){if(o={name:"POSITION",semantic:Vt.POSITION,typedArray:n.POSITION.array,componentDatatype:Q.FLOAT,type:an.VEC3,isQuantized:!1},l(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,d=h.fromElements(c,c,c),u=h.unpack(a.minValues),m=(1<0&&fYe(e,a,m,t),l(n.rtcCenter)&&(u.transform=M.multiplyByTranslation(u.transform,n.rtcCenter,u.transform));let p=n.positions;l(p)&&p.isQuantized&&(u.transform=M.multiplyByTranslation(u.transform,p.quantizedVolumeOffset,u.transform)),e._components=u,e._parsedContent=void 0,e._arrayBuffer=void 0}function fYe(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s=0&&(a=ye)}}}}if(a!==Number.MAX_VALUE){if(s=gn.getPoint(t,a,s),n.mode!==oe.SCENE3D){h.fromElements(s.y,s.z,s.x,s);let u=n.mapProjection,m=u.ellipsoid,p=u.unproject(s,TYe);m.cartographicToCartesian(p,s)}return s}}function ZH(e,t,n,i,o,r,s,a,c,d){let u=n+t*i;if(d.x=e[u],d.y=e[u+1],d.z=e[u+2],l(o))if(o.octEncoded){if(d=An.octDecodeInRange(d,o.normalizationRange,d),o.octEncodedZXY){let m=d.x;d.x=d.z,d.z=d.y,d.y=m}}else d=h.multiplyComponents(d,o.quantizedVolumeStepSize,d),d=h.add(d,o.quantizedVolumeOffset,d);return d=M.multiplyByPoint(r,d,d),s!==1&&_r.getPosition(d,c,s,a,d),d}function so(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,dr.GLTF),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=l(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=$.clone($.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new AX(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=B.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,mc.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,B.RED);this._silhouetteColor=B.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,Ze.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new le,this._initialRadius=void 0,this._heightReference=y(e.heightReference,Je.NONE),this._heightDirty=this._heightReference!==Je.NONE,this._removeUpdateHeightCallback=void 0,this._enableVerticalExaggeration=y(e.enableVerticalExaggeration,!0),this._hasVerticalExaggeration=!1,this._clampedModelMatrix=void 0;let o=e.scene;l(o)&&l(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(()=>{this._heightDirty=!0})),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new hf(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;l(s)&&s.owner===void 0?us.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=M.clone(M.IDENTITY);let a=e.clippingPolygons;l(a)&&a.owner===void 0?Bm.setOwner(a,this,"_clippingPolygons"):this._clippingPolygons=a,this._clippingPolygonsState=0,this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=l(e.imageBasedLighting)?e.imageBasedLighting:new Yx,this._shouldDestroyImageBasedLighting=!l(e.imageBasedLighting),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,Sn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1),this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===dr.GLTF&&St("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.");let c=e.credit;typeof c=="string"&&(c=new Et(c)),this._credits=[],this._credit=c,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,Wr.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,B.BLACK),this._classificationType=e.classificationType,this._statistics=new p2,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this._fogRenderable=void 0,this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._errorEvent=new be,this._readyEvent=new be,this._texturesReadyEvent=new be,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=e.pickObject,this._marsOptions=y(e.marsOptions,{})}function GH(e,t){if(e._errorEvent.numberOfListeners>0){e._errorEvent.raiseEvent(t);return}console.log(t)}function CYe(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=l(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return ece(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===dr.GLTF&&St("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(us.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){e!==this._clippingPolygons&&(Bm.setOwner(e,this,"_clippingPolygons"),this.resetDrawCommands())}},enableVerticalExaggeration:{get:function(){return this._enableVerticalExaggeration},set:function(e){e!==this._enableVerticalExaggeration&&this.resetDrawCommands(),this._enableVerticalExaggeration=e}},hasVerticalExaggeration:{get:function(){return this._hasVerticalExaggeration}},lightColor:{get:function(){return this._lightColor},set:function(e){l(e)!==l(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});so.prototype.getNode=function(e){return this._nodesByName[e]};so.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};so.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};so.prototype.getExtension=function(e){return this._loader.components.extensions[e]};so.prototype.makeStyleDirty=function(){this._styleDirty=!0};so.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var LYe=new M,RYe=new $,ZYe=new M;so.prototype.update=function(e){let t=!1;try{t=GYe(this,e)}catch(n){if(!this._loader.incrementallyLoadTextures&&n.name==="TextureError")GH(this,n);else{let i=qt.getError("model",this._resource,n);GH(this,i)}}if(IYe(this,e),EYe(this,e),XYe(this,e),!this._resourcesLoaded&&t){this._resourcesLoaded=!0;let n=this._loader.components;if(!l(n)){if(this._loader.isUnloaded())return;let r=qt.getError("model",this._resource,new de("Failed to load model."));GH(r),this._rejectLoad=this._rejectLoad&&this._rejectLoad(r)}let i=n.structuralMetadata;l(i)&&i.propertyTableCount>0&&CYe(this,i);let o=new f2({model:this,modelComponents:n});this._sceneGraph=o,this._gltfCredits=o.components.asset.credits}if(!(!this._resourcesLoaded||e.mode===oe.MORPHING)){if(WYe(this),PYe(this),vYe(this,e),wYe(this),FYe(this,e),AYe(this,e),MYe(this,e),NYe(this,e),kYe(this,e),UYe(this,e),DYe(this,e),this._defaultTexture=e.context.defaultTexture,BYe(this,e),OYe(this,e),YYe(this),zYe(this,e),QYe(this,e),!this._ready){e.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this)});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this)),KYe(this),jYe(this,e),qYe(this),$Ye(this,e)}};function GYe(e,t){return!e._resourcesLoaded||e._loader.incrementallyLoadTextures&&!e._texturesLoaded?(t.afterRender.push(()=>!0),e._loader.process(t)):!0}function EYe(e,t){l(e._customShader)&&e._customShader.update(t)}function IYe(e,t){if(l(e._marsOptions)&&l(e._marsOptions.customShaders)){let n=u0.getCache(e._marsOptions.customShaders);for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&n[i].update(t)}}function XYe(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function WYe(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;l(n)&&n.propertyTableCount>0&&(e.featureTableId=VYe(t,e),e._styleDirty=!0,e.resetDrawCommands())}function PYe(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function vYe(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r=i&&r<=o}function ize(e,t){let n=t.creditDisplay,i=e._credits,o=i.length;for(let r=0;r0&&e.alpha<1};so.prototype.isInvisible=function(){let e=this.color;return l(e)&&e.alpha===0};function tce(e){return e.context.stencilBuffer}so.prototype.hasSilhouette=function(e){return tce(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!l(this._classificationType)};so.prototype.hasSkipLevelOfDetail=function(e){if(!dr.is3DTiles(this.type))return!1;let t=e.context.stencilBuffer,n=this._content.tileset;return t&&n.isSkippingLevelOfDetail};so.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return l(e)&&e.enabled&&e.length!==0};so.prototype.pick=function(e,t,n,i,o){return r1(this,e,t,n,i,o)};so.prototype.isClippingPolygonsEnabled=function(){let e=this._clippingPolygons;return l(e)&&e.enabled&&e.length!==0};so.prototype.isDestroyed=function(){return!1};so.prototype.destroy=function(){let e=this._loader;l(e)&&e.destroy();let t=this._featureTables;if(l(t)){let o=t.length;for(let r=0;r0,i=l(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=l(i)&&l(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),$ae(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function y2(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,enableVerticalExaggeration:n.enableVerticalExaggeration,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,clippingPolygons:n.clippingPolygons,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,enablePick:n.enablePick,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType,pickObject:n.pickObject,marsOptions:n.marsOptions}}var Jm=so;function hs(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(hs.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return l(t)&&l(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(l(t)&&l(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});hs.prototype.getExtension=function(e){return this._model.getExtension(e)};hs.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};hs.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return l(i)?n.featureTables[i].hasProperty(e,t):!1};hs.prototype.applyDebugSettings=function(e,t){t=e?t:B.WHITE,this.featuresLength===0?this._model.color=t:l(this.batchTable)&&this.batchTable.setAllColor(t)};hs.prototype.applyStyle=function(e){this._model.style=e};hs.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,l(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0),l(o)&&l(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o,n._clippingPlanesState=0);let r=e.clippingPolygons;l(r)&&i.clippingPolygonsDirty&&(n._clippingPolygons=r.enabled&&i._isClippedByPolygon?r:void 0),l(r)&&l(n._clippingPolygons)&&n._clippingPolygons!==r&&(n._clippingPolygons=r,n._clippingPolygonsState=0),n.update(t),!this._ready&&n.ready&&(n.activeAnimations.addAll({loop:Pl.REPEAT}),this._ready=!0)};hs.prototype.isDestroyed=function(){return!1};hs.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),me(this)};hs.fromGltf=async function(e,t,n,i){let o=new hs(e,t,n),s=x2(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=await Jm.fromGltfAsync(s);return o._model=c,o};hs.fromB3dm=async function(e,t,n,i,o){let r=new hs(e,t,n),a=x2(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let d=await Jm.fromB3dm(a);return r._model=d,r};hs.fromI3dm=async function(e,t,n,i,o){let r=new hs(e,t,n),a=x2(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await Jm.fromI3dm(a);return r._model=c,r};hs.fromPnts=async function(e,t,n,i,o){let r=new hs(e,t,n),a=x2(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await Jm.fromPnts(a);return r._model=c,r};hs.fromGeoJson=async function(e,t,n,i){let o=new hs(e,t,n),s=x2(e,t,o,{geoJson:i,resource:n}),a=await Jm.fromGeoJson(s);return o._model=a,o};hs.prototype.pick=function(e,t,n){if(!l(this._model)||!this._ready)return;let i=t.verticalExaggeration,o=t.verticalExaggerationRelativeHeight;return this._model.pick(e,t,i,o,ne.WGS84,n)};function x2(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:Ze.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enablePick:e._enablePick,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor,marsOptions:e._marsOptions};return Tt(i,o)}var pf=hs;var dPn=T(S(),1);function Lu(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(Lu.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Lu.fromJson=function(e,t,n,i){let o=new Lu(e,t,n);return o._tileset.loadTileset(o._resource,i,o._tile),o._ready=!0,o};Lu.prototype.hasProperty=function(e,t){return!1};Lu.prototype.getFeature=function(e){};Lu.prototype.applyDebugSettings=function(e,t){};Lu.prototype.applyStyle=function(e){};Lu.prototype.update=function(e,t){};Lu.prototype.pick=function(e,t,n){};Lu.prototype.isDestroyed=function(){return!1};Lu.prototype.destroy=function(){return me(this)};var _2=Lu;var pMn=T(S(),1);var fAn=T(S(),1);var wvn=T(S(),1);var mPn=T(S(),1),T2=`uniform sampler2D u_atlas; +`;function nce(){}nce.buildModelDrawCommand=function(e,t){let n=e.shaderBuilder,i=Q3e(e,n,t),o=j3e(e,i,t),r=e.model;return l(r.classificationType)?new x2({primitiveRenderResources:e,command:o}):new _2({primitiveRenderResources:e,command:o})};function Q3e(e,t,n){t.addVertexLines(T2),t.addFragmentLines(S2);let i=e.model,o=t.buildShaderProgram(n.context);return i._pipelineResources.push(o),o}function j3e(e,t,n){let i=q3e(e),o=new ri({context:n.context,indexBuffer:i,attributes:e.attributes}),r=e.model;r._pipelineResources.push(o);let s=e.alphaOptions.pass,a=r.sceneGraph,c=n.mode===oe.SCENE3D,d,u;if(!c&&!n.scene3DOnly&&r._projectTo2D)d=M.multiplyTransformation(a._computedModelMatrix,e.runtimeNode.computedTransform,new M),u=e.runtimePrimitive.boundingSphere2D;else{let C=c?a._computedModelMatrix:a._computedModelMatrix2D;d=M.multiplyTransformation(C,e.runtimeNode.computedTransform,new M),u=de.transform(e.boundingSphere,d)}let m=He(Be.fromCache(e.renderStateOptions),!0);m.cull.face=Qt.getCullFace(d,e.primitiveType),m=Be.fromCache(m);let p=l(r.classificationType),g=p?!1:Tn.castShadows(r.shadows),f=p?!1:Tn.receiveShadows(r.shadows),x=p?void 0:e.pickId;return new tt({boundingVolume:u,modelMatrix:d,uniformMap:e.uniformMap,renderState:m,vertexArray:o,shaderProgram:t,cull:r.cull,pass:s,count:e.count,owner:r,pickId:x,pickMetadataAllowed:!0,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:r.debugShowBoundingVolume,castShadows:g,receiveShadows:f})}function q3e(e){let t=e.wireframeIndexBuffer;if(l(t))return t;let n=e.indices;if(l(n))return n.buffer}var C2=nce;function Ld(e){e=y(e,y.EMPTY_OBJECT);let t=e.modelComponents;this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=M.clone(M.IDENTITY),this._computedModelMatrix2D=M.clone(M.IDENTITY),this._axisCorrectionMatrix=Qt.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new M),this._runtimeArticulations={},$3e(this)}Object.defineProperties(Ld.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function $3e(e){let t=e._components,n=t.scene,o=e._model.modelMatrix;ice(e,o);let r=t.articulations,s=r.length,a=e._runtimeArticulations;for(let V=0;V0&&(m=Po(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new Qm(d,u),f=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=f,!l(f))throw new ce("Feature table global property: POINTS_LENGTH must be defined");let x=g.getGlobalProperty("RTC_CENTER",Q.FLOAT,3);l(x)&&(x=h.unpack(x));let _=fYe(g,m);if(_.rtcCenter=x,_.pointsLength=f,!_.hasPositions){let C=pYe(g);_.positions=C,_.hasPositions=_.hasPositions||l(C)}if(!_.hasPositions)throw new ce("Either POSITION or POSITION_QUANTIZED must be defined.");if(!_.hasNormals){let C=gYe(g);_.normals=C,_.hasNormals=_.hasNormals||l(C)}if(!_.hasColors){let C=bYe(g);_.colors=C,_.hasColors=_.hasColors||l(C),_.hasConstantColor=l(_.constantColor),_.isTranslucent=l(C)&&C.isTranslucent}if(!_.hasBatchIds){let C=yYe(g);_.batchIds=C,_.hasBatchIds=_.hasBatchIds||l(C)}if(_.hasBatchIds){let C=g.getGlobalProperty("BATCH_LENGTH");if(!l(C))throw new ce("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");_.batchLength=C}return l(p)&&(p=new Uint8Array(p),_.batchTableJson=m,_.batchTableBinary=p),_};function fYe(e,t){let n=e.json,i,o,r,s=l(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=l(t)&&l(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;l(a)&&(r=a.properties);let c,d,u,m,p;if(l(s)){o=s.properties;let f=s.byteOffset,x=s.byteLength;if(!l(o)||!l(f)||!l(x))throw new ce("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(f,f+x),c=l(o.POSITION),d=l(o.RGB)||l(o.RGBA),u=l(o.NORMAL),m=l(o.BATCH_ID),p=l(o.RGBA)}let g;return l(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:Vt(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:d,isTranslucent:p,hasNormals:u,hasBatchIds:m}}function pYe(e){let t=e.json,n;if(l(t.POSITION))return n=e.getPropertyArray("POSITION",Q.FLOAT,3),{name:Zt.POSITION,semantic:Zt.POSITION,typedArray:n,isQuantized:!1,componentDatatype:Q.FLOAT,type:an.VEC3};if(l(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",Q.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",Q.FLOAT,3);if(!l(i))throw new ce("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=65535,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",Q.FLOAT,3);if(!l(r))throw new ce("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:Zt.POSITION,semantic:Zt.POSITION,typedArray:n,isQuantized:!0,componentDatatype:Q.FLOAT,type:an.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:Q.UNSIGNED_SHORT,quantizedType:an.VEC3}}}function bYe(e){let t=e.json,n;if(l(t.RGBA))return n=e.getPropertyArray("RGBA",Q.UNSIGNED_BYTE,4),{name:Zt.COLOR,semantic:Zt.COLOR,setIndex:0,typedArray:n,componentDatatype:Q.UNSIGNED_BYTE,type:an.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(l(t.RGB))return n=e.getPropertyArray("RGB",Q.UNSIGNED_BYTE,3),{name:"COLOR",semantic:Zt.COLOR,setIndex:0,typedArray:n,componentDatatype:Q.UNSIGNED_BYTE,type:an.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(l(t.RGB565))return n=e.getPropertyArray("RGB565",Q.UNSIGNED_SHORT,1),{name:"COLOR",semantic:Zt.COLOR,setIndex:0,typedArray:n,componentDatatype:Q.FLOAT,type:an.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(l(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",Q.UNSIGNED_BYTE,4),o=i[3],r=B.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:Zt.COLOR,semantic:Zt.COLOR,setIndex:0,constantColor:r,componentDatatype:Q.FLOAT,type:an.VEC4,isQuantized:!1,isTranslucent:s}}}function gYe(e){let t=e.json,n;if(l(t.NORMAL))return n=e.getPropertyArray("NORMAL",Q.FLOAT,3),{name:Zt.NORMAL,semantic:Zt.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:Q.FLOAT,type:an.VEC3};if(l(t.NORMAL_OCT16P))return n=e.getPropertyArray("NORMAL_OCT16P",Q.UNSIGNED_BYTE,2),{name:Zt.NORMAL,semantic:Zt.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<8)-1,quantizedType:an.VEC2,quantizedComponentDatatype:Q.UNSIGNED_BYTE,componentDatatype:Q.FLOAT,type:an.VEC3}}function yYe(e){let t=e.json;if(l(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",Q.UNSIGNED_SHORT,1);return{name:Zt.FEATURE_ID,semantic:Zt.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:Q.fromTypedArray(n),type:an.SCALAR}}}var P_=ace;var xYe=Sn.Components,_Ye=Sn.Scene,TYe=Sn.Node,SYe=Sn.Primitive,CYe=Sn.Attribute,cce=Sn.Quantization,VYe=Sn.FeatureIdAttribute,LYe=Sn.Material,RYe=Sn.MetallicRoughness;function vg(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._error=void 0,this._state=xt.UNLOADED,this._buffers=[],this._components=void 0,this._transform=M.IDENTITY}l(Object.create)&&(vg.prototype=Object.create(zi.prototype),vg.prototype.constructor=vg);Object.defineProperties(vg.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});vg.prototype.load=function(){if(l(this._promise))return this._promise;this._parsedContent=P_.parse(this._arrayBuffer,this._byteOffset),this._state=xt.PROCESSING,this._promise=Promise.resolve(this)};vg.prototype.process=function(e){if(l(this._error)){let t=this._error;throw this._error=void 0,t}if(this._state===xt.READY)return!0;if(this._state===xt.PROCESSING){if(l(this._decodePromise))return!1;this._decodePromise=ZYe(this,e.context)}return!1};function ZYe(e,t){let i=e._parsedContent.draco,o;if(l(i)?o=eb.decodePointCloud(i,t):o=Promise.resolve(),!!l(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return l(r)&&GYe(e,i,r),NYe(e,t),e._state=xt.READY,e}).catch(function(r){e.unload(),e._state=xt.FAILED;let s="Failed to load Draco pnts";e._error=e.getError(s,r)})}function GYe(e,t,n){e._state=xt.READY;let i=e._parsedContent,o;if(l(n.POSITION)){if(o={name:"POSITION",semantic:Zt.POSITION,typedArray:n.POSITION.array,componentDatatype:Q.FLOAT,type:an.VEC3,isQuantized:!1},l(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,d=h.fromElements(c,c,c),u=h.unpack(a.minValues),m=(1<0&&kYe(e,a,m,t),l(n.rtcCenter)&&(u.transform=M.multiplyByTranslation(u.transform,n.rtcCenter,u.transform));let p=n.positions;l(p)&&p.isQuantized&&(u.transform=M.multiplyByTranslation(u.transform,p.quantizedVolumeOffset,u.transform)),e._components=u,e._parsedContent=void 0,e._arrayBuffer=void 0}function kYe(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s=0&&(a=ye)}}}}if(a!==Number.MAX_VALUE){if(s=gn.getPoint(t,a,s),n.mode!==oe.SCENE3D){h.fromElements(s.y,s.z,s.x,s);let u=n.mapProjection,m=u.ellipsoid,p=u.unproject(s,zYe);m.cartographicToCartesian(p,s)}return s}}function Wz(e,t,n,i,o,r,s,a,c,d){let u=n+t*i;if(d.x=e[u],d.y=e[u+1],d.z=e[u+2],l(o))if(o.octEncoded){if(d=An.octDecodeInRange(d,o.normalizationRange,d),o.octEncodedZXY){let m=d.x;d.x=d.z,d.z=d.y,d.y=m}}else d=h.multiplyComponents(d,o.quantizedVolumeStepSize,d),d=h.add(d,o.quantizedVolumeOffset,d);return d=M.multiplyByPoint(r,d,d),s!==1&&Cr.getPosition(d,c,s,a,d),d}function uo(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,dr.GLTF),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=l(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=$.clone($.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new JX(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=B.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,pc.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,B.RED);this._silhouetteColor=B.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,Ge.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new de,this._initialRadius=void 0,this._heightReference=y(e.heightReference,Qe.NONE),this._heightDirty=this._heightReference!==Qe.NONE,this._removeUpdateHeightCallback=void 0,this._enableVerticalExaggeration=y(e.enableVerticalExaggeration,!0),this._hasVerticalExaggeration=!1,this._clampedModelMatrix=void 0;let o=e.scene;l(o)&&l(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(()=>{this._heightDirty=!0})),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new yf(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;l(s)&&s.owner===void 0?bs.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=M.clone(M.IDENTITY);let a=e.clippingPolygons;l(a)&&a.owner===void 0?Hm.setOwner(a,this,"_clippingPolygons"):this._clippingPolygons=a,this._clippingPolygonsState=0,this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=l(e.imageBasedLighting)?e.imageBasedLighting:new t_,this._shouldDestroyImageBasedLighting=!l(e.imageBasedLighting),this._environmentMapManager=void 0;let c=new sb(e.environmentMapOptions);sb.setOwner(c,this,"_environmentMapManager"),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,Tn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1),this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===dr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.");let d=e.credit;typeof d=="string"&&(d=new Lt(d)),this._credits=[],this._credit=d,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,wr.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,B.BLACK),this._classificationType=e.classificationType,this._statistics=new L2,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this._fogRenderable=void 0,this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._errorEvent=new be,this._readyEvent=new be,this._texturesReadyEvent=new be,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=e.pickObject,this._marsOptions=y(e.marsOptions,{})}function Pz(e,t){if(e._errorEvent.numberOfListeners>0){e._errorEvent.raiseEvent(t);return}console.log(t)}function JYe(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=l(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return hce(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===dr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(bs.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){e!==this._clippingPolygons&&(Hm.setOwner(e,this,"_clippingPolygons"),this.resetDrawCommands())}},enableVerticalExaggeration:{get:function(){return this._enableVerticalExaggeration},set:function(e){e!==this._enableVerticalExaggeration&&this.resetDrawCommands(),this._enableVerticalExaggeration=e}},hasVerticalExaggeration:{get:function(){return this._hasVerticalExaggeration}},lightColor:{get:function(){return this._lightColor},set:function(e){l(e)!==l(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},environmentMapManager:{get:function(){return this._environmentMapManager},set:function(e){e!==this.environmentMapManager&&(sb.setOwner(e,this,"_environmentMapManager"),this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});uo.prototype.getNode=function(e){return this._nodesByName[e]};uo.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};uo.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};uo.prototype.getExtension=function(e){return this._loader.components.extensions[e]};uo.prototype.makeStyleDirty=function(){this._styleDirty=!0};uo.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var jYe=new M,qYe=new $,$Ye=new M;uo.prototype.update=function(e){let t=!1;try{t=eHe(this,e)}catch(n){if(!this._loader.incrementallyLoadTextures&&n.name==="TextureError")Pz(this,n);else{let i=Qt.getError("model",this._resource,n);Pz(this,i)}}if(iHe(this,e),tHe(this,e),nHe(this,e),oHe(this,e),!this._resourcesLoaded&&t){this._resourcesLoaded=!0;let n=this._loader.components;if(!l(n)){if(this._loader.isUnloaded())return;let r=Qt.getError("model",this._resource,new ce("Failed to load model."));Pz(r),this._rejectLoad=this._rejectLoad&&this._rejectLoad(r)}let i=n.structuralMetadata;l(i)&&i.propertyTableCount>0&&JYe(this,i);let o=new V2({model:this,modelComponents:n});this._sceneGraph=o,this._gltfCredits=o.components.asset.credits}if(!(!this._resourcesLoaded||e.mode===oe.MORPHING)){if(rHe(this),sHe(this),aHe(this,e),cHe(this),lHe(this,e),dHe(this,e),uHe(this,e),mHe(this,e),hHe(this,e),fHe(this,e),pHe(this,e),this._defaultTexture=e.context.defaultTexture,bHe(this,e),gHe(this,e),yHe(this),xHe(this,e),CHe(this,e),!this._ready){e.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this)});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this)),THe(this),VHe(this,e),LHe(this),RHe(this,e)}};function eHe(e,t){return!e._resourcesLoaded||e._loader.incrementallyLoadTextures&&!e._texturesLoaded?(t.afterRender.push(()=>!0),e._loader.process(t)):!0}function tHe(e,t){l(e._customShader)&&e._customShader.update(t)}function nHe(e,t){let n=e._environmentMapManager,i=t.passes.pick||t.passes.pickVoxel;e._ready&&n.owner===e&&!i&&(n.position=e._boundingSphere.center,n.shouldUpdate=!l(e._imageBasedLighting.sphericalHarmonicCoefficients)||!l(e._imageBasedLighting.specularEnvironmentMaps),n.update(t),n.shouldRegenerateShaders&&e.resetDrawCommands())}function iHe(e,t){if(l(e._marsOptions)&&l(e._marsOptions.customShaders)){let n=Xp.getCache(e._marsOptions.customShaders);for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&n[i].update(t)}}function oHe(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function rHe(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;l(n)&&n.propertyTableCount>0&&(e.featureTableId=QYe(t,e),e._styleDirty=!0,e.resetDrawCommands())}function sHe(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function aHe(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r=i&&r<=o}function IHe(e,t){let n=t.creditDisplay,i=e._credits,o=i.length;for(let r=0;r0&&e.alpha<1};uo.prototype.isInvisible=function(){let e=this.color;return l(e)&&e.alpha===0};function fce(e){return e.context.stencilBuffer}uo.prototype.hasSilhouette=function(e){return fce(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!l(this._classificationType)};uo.prototype.hasSkipLevelOfDetail=function(e){if(!dr.is3DTiles(this.type))return!1;let t=e.context.stencilBuffer,n=this._content.tileset;return t&&n.isSkippingLevelOfDetail};uo.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return l(e)&&e.enabled&&e.length!==0};uo.prototype.pick=function(e,t,n,i,o){return d1(this,e,t,n,i,o)};uo.prototype.isClippingPolygonsEnabled=function(){let e=this._clippingPolygons;return l(e)&&e.enabled&&e.length!==0};uo.prototype.isDestroyed=function(){return!1};uo.prototype.destroy=function(){let e=this._loader;l(e)&&e.destroy();let t=this._featureTables;if(l(t)){let r=t.length;for(let s=0;s0,i=l(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=l(i)&&l(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),mce(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function G2(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,enableVerticalExaggeration:n.enableVerticalExaggeration,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,clippingPolygons:n.clippingPolygons,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,enablePick:n.enablePick,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType,pickObject:n.pickObject,marsOptions:n.marsOptions}}var $m=uo;function kr(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(kr.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return l(t)&&l(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(l(t)&&l(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});kr.prototype.getTextureIds=function(){return this._model.statistics.getTextureIds()};kr.prototype.getTextureByteLengthById=function(e){return this._model.statistics.getTextureByteLengthById(e)};kr.prototype.getExtension=function(e){return this._model.getExtension(e)};kr.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};kr.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return l(i)?n.featureTables[i].hasProperty(e,t):!1};kr.prototype.applyDebugSettings=function(e,t){t=e?t:B.WHITE,this.featuresLength===0?this._model.color=t:l(this.batchTable)&&this.batchTable.setAllColor(t)};kr.prototype.applyStyle=function(e){this._model.style=e};kr.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,l(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0);let r=e.environmentMapManager;n.environmentMapManager!==o&&(n._environmentMapManager=r),l(o)&&l(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o,n._clippingPlanesState=0);let s=e.clippingPolygons;l(s)&&i.clippingPolygonsDirty&&(n._clippingPolygons=s.enabled&&i._isClippedByPolygon?s:void 0),l(s)&&l(n._clippingPolygons)&&n._clippingPolygons!==s&&(n._clippingPolygons=s,n._clippingPolygonsState=0),n.update(t),!this._ready&&n.ready&&(n.activeAnimations.addAll({loop:vl.REPEAT}),this._ready=!0)};kr.prototype.isDestroyed=function(){return!1};kr.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),me(this)};kr.fromGltf=async function(e,t,n,i){let o=new kr(e,t,n),s=E2(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=await $m.fromGltfAsync(s);return o._model=c,o};kr.fromB3dm=async function(e,t,n,i,o){let r=new kr(e,t,n),a=E2(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let d=await $m.fromB3dm(a);return r._model=d,r};kr.fromI3dm=async function(e,t,n,i,o){let r=new kr(e,t,n),a=E2(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await $m.fromI3dm(a);return r._model=c,r};kr.fromPnts=async function(e,t,n,i,o){let r=new kr(e,t,n),a=E2(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await $m.fromPnts(a);return r._model=c,r};kr.fromGeoJson=async function(e,t,n,i){let o=new kr(e,t,n),s=E2(e,t,o,{geoJson:i,resource:n}),a=await $m.fromGeoJson(s);return o._model=a,o};kr.prototype.pick=function(e,t,n){if(!l(this._model)||!this._ready)return;let i=t.verticalExaggeration,o=t.verticalExaggerationRelativeHeight;return this._model.pick(e,t,i,o,ne.WGS84,n)};function E2(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:Ge.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enablePick:e._enablePick,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor,marsOptions:e._marsOptions};return Vt(i,o)}var Rd=kr;var twn=T(S(),1);function Xu(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(Xu.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Xu.fromJson=function(e,t,n,i){let o=new Xu(e,t,n);return o._tileset.loadTileset(o._resource,i,o._tile),o._ready=!0,o};Xu.prototype.hasProperty=function(e,t){return!1};Xu.prototype.getFeature=function(e){};Xu.prototype.applyDebugSettings=function(e,t){};Xu.prototype.applyStyle=function(e){};Xu.prototype.update=function(e,t){};Xu.prototype.pick=function(e,t,n){};Xu.prototype.isDestroyed=function(){return!1};Xu.prototype.destroy=function(){return me(this)};var I2=Xu;var s5n=T(S(),1);var r9n=T(S(),1);var RFn=T(S(),1);var iwn=T(S(),1),X2=`uniform sampler2D u_atlas; #ifdef VECTOR_TILE uniform vec4 u_highlightColor; @@ -8368,7 +8744,7 @@ void main() #endif } -`;var fPn=T(S(),1),S2=`#ifdef INSTANCED +`;var rwn=T(S(),1),W2=`#ifdef INSTANCED in vec2 direction; #endif in vec4 positionHighAndScale; @@ -8804,19 +9180,19 @@ if (lengthSq < disableDepthTestDistance) { v_color.a *= translucency; v_splitDirection = splitDirection; } -`;var FPn=T(S(),1);function xi(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=kt.clone(n)),l(i)&&(i=kt.clone(i)),l(o)&&(o=kt.clone(o)),l(r)&&(r=vt.clone(r)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._pixelOffset=D.clone(y(e.pixelOffset,D.ZERO)),this._translate=new D(0,0),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._heightReference=y(e.heightReference,Je.NONE),this._verticalOrigin=y(e.verticalOrigin,wn.CENTER),this._horizontalOrigin=y(e.horizontalOrigin,gi.CENTER),this._scale=y(e.scale,1),this._color=B.clone(y(e.color,B.WHITE)),this._rotation=y(e.rotation,0),this._alignedAxis=h.clone(y(e.alignedAxis,h.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=o,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=y(e.sizeInMeters,!1),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=y(e.collection,t),this._pickId=void 0,this._pickPrimitive=y(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let s=e.image,a=e.imageId;l(s)&&(l(a)||(typeof s=="string"?a=s:l(s.src)?a=s.src:a=Yn()),this._imageId=a,this._image=s),l(e.imageSubRegion)&&(this._imageId=a,this._imageSubRegion=e.imageSubRegion),l(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=oe.SCENE3D,this._clusterShow=!0,this._outlineColor=B.clone(y(e.outlineColor,B.BLACK)),this._outlineWidth=y(e.outlineWidth,0),this._updateClamping(),this._splitDirection=y(e.splitDirection,Wr.NONE)}var nce=xi.SHOW_INDEX=0,j5=xi.POSITION_INDEX=1,sce=xi.PIXEL_OFFSET_INDEX=2,rze=xi.EYE_OFFSET_INDEX=3,sze=xi.HORIZONTAL_ORIGIN_INDEX=4,aze=xi.VERTICAL_ORIGIN_INDEX=5,cze=xi.SCALE_INDEX=6,q5=xi.IMAGE_INDEX_INDEX=7,ice=xi.COLOR_INDEX=8,lze=xi.ROTATION_INDEX=9,dze=xi.ALIGNED_AXIS_INDEX=10,uze=xi.SCALE_BY_DISTANCE_INDEX=11,mze=xi.TRANSLUCENCY_BY_DISTANCE_INDEX=12,hze=xi.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,fze=xi.DISTANCE_DISPLAY_CONDITION=14,pze=xi.DISABLE_DEPTH_DISTANCE=15;xi.TEXTURE_COORDINATE_BOUNDS=16;var oce=xi.SDF_INDEX=17,bze=xi.SPLIT_DIRECTION_INDEX=18;xi.NUMBER_OF_PROPERTIES=19;function Po(e,t){let n=e._billboardCollection;l(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Object.defineProperties(xi.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Po(this,nce))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),this._updateClamping(),Po(this,j5))}},heightReference:{get:function(){return this._heightReference},set:function(e){let t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),Po(this,j5))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;D.equals(t,e)||(D.clone(e,t),Po(this,sce))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;kt.equals(t,e)||(this._scaleByDistance=kt.clone(e,t),Po(this,uze))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;kt.equals(t,e)||(this._translucencyByDistance=kt.clone(e,t),Po(this,mze))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;kt.equals(t,e)||(this._pixelOffsetScaleByDistance=kt.clone(e,t),Po(this,hze))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;h.equals(t,e)||(h.clone(e,t),Po(this,rze))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,Po(this,sze))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,Po(this,aze))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,Po(this,cze))}},color:{get:function(){return this._color},set:function(e){let t=this._color;B.equals(t,e)||(B.clone(e,t),Po(this,ice))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,Po(this,lze))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){let t=this._alignedAxis;h.equals(t,e)||(h.clone(e,t),Po(this,dze))}},width:{get:function(){return y(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,Po(this,q5))}},height:{get:function(){return y(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,Po(this,q5))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,Po(this,ice))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){vt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=vt.clone(e,this._distanceDisplayCondition),Po(this,fze))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Po(this,pze))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,l(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){l(e)?typeof e=="string"?this.setImage(e,e):e instanceof Ge?this.setImage(e.url,e):l(e.src)?this.setImage(e.src,e):this.setImage(Yn(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,Po(this,q5))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition),Po(this,j5)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Po(this,nce))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;B.equals(t,e)||(B.clone(e,t),Po(this,oce))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Po(this,oce))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,Po(this,bze))}}});xi.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};xi.prototype._updateClamping=function(){xi._updateClamping(this._billboardCollection,this)};var $5=new he;xi._updateClamping=function(e,t){let n=e._scene;if(!l(n))return;let i=y(n.ellipsoid,ne.default),o=n.frameState.mode,r=o!==t._mode;if(t._mode=o,(t._heightReference===Je.NONE||r)&&l(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===Je.NONE||!l(t._position))return;l(t._removeCallbackFunc)&&t._removeCallbackFunc();let s=i.cartesianToCartographic(t._position);if(!l(s)){t._actualClampedPosition=void 0;return}function a(d){let u=i.cartographicToCartesian(d,t._clampedPosition);jS(t._heightReference)&&(t._mode===oe.SCENE3D?(d.height+=s.height,i.cartographicToCartesian(d,u)):u.x+=s.height),t._clampedPosition=u}t._removeCallbackFunc=n.updateHeight(s,a,t._heightReference),he.clone(s,$5);let c=n.getHeight(s,t._heightReference);l(c)&&($5.height=c),a($5)};xi.prototype._loadImage=function(){let e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion,o,r=this;function s(c){if(r._imageId!==t||r._image!==n||!Ke.equals(r._imageSubRegion,i))return;let d=e.textureCoordinates[c];r._imageWidth=e.texture.width*d.width,r._imageHeight=e.texture.height*d.height,r._imageIndex=c,r._ready=!0,r._image=void 0,r._imageIndexPromise=void 0,Po(r,q5);let u=r._billboardCollection._scene;l(u)&&u.frameState.afterRender.push(()=>!0)}if(l(n)&&(o=e.addImage(t,n)),l(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,!l(o))return;let a=e.getImageIndex(t);if(l(a)&&!l(i)){s(a);return}o.then(s).catch(function(c){console.error(`Error loading image for billboard: ${c}`),r._imageIndexPromise=void 0})};xi.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,l(this._billboardCollection._textureAtlas)&&this._loadImage())};xi.prototype.setImageSubRegion=function(e,t){this._imageId===e&&Ke.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=Ke.clone(t),l(this._billboardCollection._textureAtlas)&&this._loadImage())};xi.prototype._setTranslate=function(e){let t=this._translate;D.equals(t,e)||(D.clone(e,t),Po(this,sce))};xi.prototype._getActualPosition=function(){return l(this._clampedPosition)?this._clampedPosition:this._actualPosition};xi.prototype._setActualPosition=function(e){l(this._clampedPosition)||h.clone(e,this._actualPosition),Po(this,j5)};var rce=new se;xi._computeActualPosition=function(e,t,n,i){return l(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===oe.SCENE3D?t:(M.multiplyByPoint(i,t,rce),Mi.computeActualEllipsoidPosition(n,rce))};var ace=new h;xi._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=M.multiplyByPoint(e,t,ace),a=Mi.worldWithEyeOffsetToWindowCoordinates(o,s,n,r);if(l(a))return D.add(a,i,a),a};var Q5=new D(0,0);xi.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;l(t)||(t=new D),D.clone(this._pixelOffset,Q5),D.add(Q5,this._translate,Q5);let i=n.modelMatrix,o=this._position;if(l(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==oe.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,$5);o=a.cartographicToCartesian(c,ace),i=M.IDENTITY}return xi._computeScreenSpacePosition(i,o,this._eyeOffset,Q5,e,t)};xi.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===gi.RIGHT?s-=i:e.horizontalOrigin===gi.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===wn.BOTTOM||e.verticalOrigin===wn.BASELINE?a-=o:e.verticalOrigin===wn.CENTER&&(a-=o*.5),l(n)||(n=new Ke),n.x=s,n.y=a,n.width=i,n.height=o,n};xi.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&Ke.equals(this._imageSubRegion,e._imageSubRegion)&&B.equals(this._color,e._color)&&D.equals(this._pixelOffset,e._pixelOffset)&&D.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&kt.equals(this._scaleByDistance,e._scaleByDistance)&&kt.equals(this._translucencyByDistance,e._translucencyByDistance)&&kt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&vt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};xi.prototype._destroy=function(){l(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var ao=xi;var MPn=T(S(),1),gze={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},Vo=Object.freeze(gze);var kPn=T(S(),1),yze={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},Os=Object.freeze(yze);var $Pn=T(S(),1);function h0(e,t,n,i,o){this.bottomLeft=y(e,D.ZERO),this.topRight=y(t,D.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var xze=new D(16,16);function Eg(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,xze);this._context=e.context,this._pixelFormat=y(e.pixelFormat,dt.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=Yn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(Eg.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return l(this._texture)||(this._texture=new wt({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function _ze(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),d=o*(a+t.height+r),u=s/c,m=a/d,p=new h0(new D(s+r,r),new D(c,a)),g=new h0(new D,new D(c,a),e._root,p),f=new h0(new D(r,a+r),new D(c,d)),x=new h0(new D,new D(c,d),g,f);for(let V=0;Vs){t.childNode1=new h0(new D(t.bottomLeft.x,t.bottomLeft.y),new D(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a0)&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1));let p,g;if(l(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let C=0,V=0,L=o._imageIndex;if(L!==-1){let G=n[L];C=G.height,V=G.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*C));let Z=e._textureAtlas.texture.width;g=Math.round(y(o.width,Z*V))}let f=Math.floor(W.clamp(g,0,vH)),x=Math.floor(W.clamp(p,0,vH)),_=f*vH+x;e._instanced?(r=o._index,s(r,a,c,u,_)):(r=o._index*4,s(r+0,a,c,u,_),s(r+1,a,c,u,_),s(r+2,a,c,u,_),s(r+3,a,c,u,_))}function Xce(e,t,n,i,o){if(hu(o.heightReference)){let f=e._scene,x=t.context,_=t.globeTranslucencyState.translucent,C=l(f.globe)&&f.globe.depthTestAgainstTerrain;e._shaderClampToGround=x.depthTexture&&!_&&C}let r,s=i[co.textureCoordinateBoundsOrLabelTranslate];if(Dt.maximumVertexTextureImageUnits>0){let f=0,x=0;l(o._labelTranslate)&&(f=o._labelTranslate.x,x=o._labelTranslate.y),e._instanced?(r=o._index,s(r,f,x,0,0)):(r=o._index*4,s(r+0,f,x,0,0),s(r+1,f,x,0,0),s(r+2,f,x,0,0),s(r+3,f,x,0,0));return}let a=0,c=0,d=0,u=0,m=o._imageIndex;if(m!==-1){let f=n[m];a=f.x,c=f.y,d=f.width,u=f.height}let p=a+d,g=c+u;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function Nze(e,t,n,i,o){if(!l(e._batchTable))return;let r=i[co.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function Wce(e,t,n,i,o){if(!e._sdf)return;let r,s=i[co.sdf],a=o.outlineColor,c=o.outlineWidth,d=B.floatToByte(a.red),u=B.floatToByte(a.green),m=B.floatToByte(a.blue),p=d*s1+u*bf+m,g=c/Os.RADIUS,f=B.floatToByte(a.alpha)*s1+B.floatToByte(g)*bf;e._instanced?(r=o._index,s(r,p,f)):(r=o._index*4,s(r+0,p+Sce,f),s(r+1,p+Cce,f),s(r+2,p+Vce,f),s(r+3,p+Lce,f))}function Pce(e,t,n,i,o){let r=i[co.splitDirection],s=0,a=o.splitDirection;l(a)&&(s=a);let c;e._instanced?(c=o._index,r(c,s)):(c=o._index*4,r(c+0,s),r(c+1,s),r(c+2,s),r(c+3,s))}function kze(e,t,n,i,o){_ce(e,t,n,i,o),Rce(e,t,n,i,o),Zce(e,t,n,i,o),FH(e,t,n,i,o),AH(e,t,n,i,o),Gce(e,t,n,i,o),Ece(e,t,n,i,o),Ice(e,t,n,i,o),Xce(e,t,n,i,o),Nze(e,t,n,i,o),Wce(e,t,n,i,o),Pce(e,t,n,i,o)}function wH(e,t,n,i,o,r){let s;i.mode===oe.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c!0)}if(l(n)&&(o=e.addImage(t,n)),l(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,!l(o))return;let a=e.getImageIndex(t);if(l(a)&&!l(i)){s(a);return}o.then(s).catch(function(c){console.error(`Error loading image for billboard: ${c}`),r._imageIndexPromise=void 0})};Si.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,l(this._billboardCollection._textureAtlas)&&this._loadImage())};Si.prototype.setImageSubRegion=function(e,t){this._imageId===e&&Je.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=Je.clone(t),l(this._billboardCollection._textureAtlas)&&this._loadImage())};Si.prototype._setTranslate=function(e){let t=this._translate;D.equals(t,e)||(D.clone(e,t),wo(this,xce))};Si.prototype._getActualPosition=function(){return l(this._clampedPosition)?this._clampedPosition:this._actualPosition};Si.prototype._setActualPosition=function(e){l(this._clampedPosition)||h.clone(e,this._actualPosition),wo(this,ik)};var yce=new re;Si._computeActualPosition=function(e,t,n,i){return l(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===oe.SCENE3D?t:(M.multiplyByPoint(i,t,yce),ki.computeActualEllipsoidPosition(n,yce))};var _ce=new h;Si._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=M.multiplyByPoint(e,t,_ce),a=ki.worldWithEyeOffsetToWindowCoordinates(o,s,n,r);if(l(a))return D.add(a,i,a),a};var nk=new D(0,0);Si.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;l(t)||(t=new D),D.clone(this._pixelOffset,nk),D.add(nk,this._translate,nk);let i=n.modelMatrix,o=this._position;if(l(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==oe.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,rk);o=a.cartographicToCartesian(c,_ce),i=M.IDENTITY}return Si._computeScreenSpacePosition(i,o,this._eyeOffset,nk,e,t)};Si.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===_i.RIGHT?s-=i:e.horizontalOrigin===_i.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===wn.BOTTOM||e.verticalOrigin===wn.BASELINE?a-=o:e.verticalOrigin===wn.CENTER&&(a-=o*.5),l(n)||(n=new Je),n.x=s,n.y=a,n.width=i,n.height=o,n};Si.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&Je.equals(this._imageSubRegion,e._imageSubRegion)&&B.equals(this._color,e._color)&&D.equals(this._pixelOffset,e._pixelOffset)&&D.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&kt.equals(this._scaleByDistance,e._scaleByDistance)&&kt.equals(this._translucencyByDistance,e._translucencyByDistance)&&kt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Ft.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};Si.prototype._destroy=function(){l(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var mo=Si;var Ewn=T(S(),1),OHe={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},Lo=Object.freeze(OHe);var Xwn=T(S(),1),YHe={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},Ks=Object.freeze(YHe);var Own=T(S(),1);function xb(e,t,n,i,o){this.bottomLeft=y(e,D.ZERO),this.topRight=y(t,D.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var HHe=new D(16,16);function Fg(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,HHe);this._context=e.context,this._pixelFormat=y(e.pixelFormat,st.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=Yn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(Fg.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return l(this._texture)||(this._texture=new It({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function zHe(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),d=o*(a+t.height+r),u=s/c,m=a/d,p=new xb(new D(s+r,r),new D(c,a)),g=new xb(new D,new D(c,a),e._root,p),f=new xb(new D(r,a+r),new D(c,d)),x=new xb(new D,new D(c,d),g,f);for(let V=0;Vs){t.childNode1=new xb(new D(t.bottomLeft.x,t.bottomLeft.y),new D(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a0)&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1));let p,g;if(l(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let C=0,V=0,L=o._imageIndex;if(L!==-1){let G=n[L];C=G.height,V=G.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*C));let Z=e._textureAtlas.texture.width;g=Math.round(y(o.width,Z*V))}let f=Math.floor(W.clamp(g,0,Nz)),x=Math.floor(W.clamp(p,0,Nz)),_=f*Nz+x;e._instanced?(r=o._index,s(r,a,c,u,_)):(r=o._index*4,s(r+0,a,c,u,_),s(r+1,a,c,u,_),s(r+2,a,c,u,_),s(r+3,a,c,u,_))}function Oce(e,t,n,i,o){if(Tu(o.heightReference)){let f=e._scene,x=t.context,_=t.globeTranslucencyState.translucent,C=l(f.globe)&&f.globe.depthTestAgainstTerrain;e._shaderClampToGround=x.depthTexture&&!_&&C}let r,s=i[ho.textureCoordinateBoundsOrLabelTranslate];if(At.maximumVertexTextureImageUnits>0){let f=0,x=0;l(o._labelTranslate)&&(f=o._labelTranslate.x,x=o._labelTranslate.y),e._instanced?(r=o._index,s(r,f,x,0,0)):(r=o._index*4,s(r+0,f,x,0,0),s(r+1,f,x,0,0),s(r+2,f,x,0,0),s(r+3,f,x,0,0));return}let a=0,c=0,d=0,u=0,m=o._imageIndex;if(m!==-1){let f=n[m];a=f.x,c=f.y,d=f.width,u=f.height}let p=a+d,g=c+u;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function mze(e,t,n,i,o){if(!l(e._batchTable))return;let r=i[ho.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function Yce(e,t,n,i,o){if(!e._sdf)return;let r,s=i[ho.sdf],a=o.outlineColor,c=o.outlineWidth,d=B.floatToByte(a.red),u=B.floatToByte(a.green),m=B.floatToByte(a.blue),p=d*u1+u*_f+m,g=c/Ks.RADIUS,f=B.floatToByte(a.alpha)*u1+B.floatToByte(g)*_f;e._instanced?(r=o._index,s(r,p,f)):(r=o._index*4,s(r+0,p+wce,f),s(r+1,p+Fce,f),s(r+2,p+Ace,f),s(r+3,p+Mce,f))}function Hce(e,t,n,i,o){let r=i[ho.splitDirection],s=0,a=o.splitDirection;l(a)&&(s=a);let c;e._instanced?(c=o._index,r(c,s)):(c=o._index*4,r(c+0,s),r(c+1,s),r(c+2,s),r(c+3,s))}function hze(e,t,n,i,o){Pce(e,t,n,i,o),Nce(e,t,n,i,o),kce(e,t,n,i,o),Uz(e,t,n,i,o),Dz(e,t,n,i,o),Uce(e,t,n,i,o),Dce(e,t,n,i,o),Bce(e,t,n,i,o),Oce(e,t,n,i,o),mze(e,t,n,i,o),Yce(e,t,n,i,o),Hce(e,t,n,i,o)}function kz(e,t,n,i,o,r){let s;i.mode===oe.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c0){this._vaf=vze(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),m=this._vaf.writers;for(let P=0;P0){let P=Oze;P.length=0,(c[V2]||c[Lze]||c[Vze])&&P.push(_ce),(c[C2]||c[dce]||c[Sze]||c[Cze]||c[Tze])&&(P.push(Rce),this._instanced&&P.push(AH)),(c[C2]||c[Rze]||c[fce])&&(P.push(Zce),P.push(FH)),(c[C2]||c[mce])&&P.push(FH),c[uce]&&P.push(AH),c[hce]&&P.push(Gce),c[pce]&&P.push(Ece),(c[bce]||c[Zze]||c[C2]||c[V2])&&P.push(Ice),(c[C2]||c[V2])&&P.push(Xce),c[gce]&&P.push(Wce),c[yce]&&P.push(Pce);let w=P.length;if(m=this._vaf.writers,a/n>.1){for(let F=0;Fn*1.5&&(s.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,le.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let f,x=M.IDENTITY;e.mode===oe.SCENE3D?(x=this.modelMatrix,f=le.clone(this._baseVolumeWC,this._boundingVolume)):f=le.clone(this._baseVolume2D,this._boundingVolume),Dze(this,e,f);let _=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,_){this._blendOption===Vo.OPAQUE||this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Be.fromCache({depthTest:{enabled:!0,func:ie.LESS},depthMask:!0}):this._rsOpaque=void 0;let P=this._blendOption===Vo.TRANSLUCENT;this._blendOption===Vo.TRANSLUCENT||this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Be.fromCache({depthTest:{enabled:!0,func:P?ie.LEQUAL:ie.LESS},depthMask:P,blending:hn.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let C,V,L,Z,G,I=Dt.maximumVertexTextureImageUnits>0;if(_||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){C=S2,V=T2,G=[],l(this._batchTable)&&(G.push("VECTOR_TILE"),C=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(C),V=this._batchTable.getFragmentShaderCallback(!1,void 0)(V)),L=new Ye({defines:G,sources:[C]}),this._instanced&&L.defines.push("INSTANCED"),this._shaderRotation&&L.defines.push("ROTATION"),this._shaderAlignedAxis&&L.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&L.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&L.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&L.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&L.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&L.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(I?L.defines.push("VERTEX_DEPTH_CHECK"):L.defines.push("FRAGMENT_DEPTH_CHECK"));let P=1-Os.CUTOFF;this._sdf&&L.defines.push("SDF");let w=l(this._batchTable)?"VECTOR_TILE":"";this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT&&(Z=new Ye({defines:["OPAQUE",w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._sp=cn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:co}),Z=new Ye({defines:["TRANSLUCENT",w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._spTranslucent=cn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:co})),this._blendOption===Vo.OPAQUE&&(Z=new Ye({defines:[w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._sp=cn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:co})),this._blendOption===Vo.TRANSLUCENT&&(Z=new Ye({defines:[w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._spTranslucent=cn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:co})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let v=e.commandList;if(p.render||p.pick){let P=this._colorCommands,w=this._blendOption===Vo.OPAQUE,F=this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT,b=this._vaf.va,R=b.length,E=this._uniforms,X;l(this._batchTable)?(E=this._batchTable.getUniformMapCallback()(E),X=this._batchTable.getPickId()):X="v_pickColor",P.length=R;let A=F?R*2:R;for(let N=0;N0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){l(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,zze);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=B.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&a1(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});ha.defaultColor=B.WHITE;ha.defaultPointOutlineColor=B.BLACK;ha.defaultPointOutlineWidth=0;ha.defaultPointSize=8;function a1(e){let t=e._billboard;if(l(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(l(e._billboardImage))return;let n=y(e._color,ha.defaultColor),i=y(e._pointOutlineColor,ha.defaultPointOutlineColor),o=y(e._pointOutlineWidth,ha.defaultPointOutlineWidth),r=y(e._pointSize,ha.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,d=e._billboardSize;if(B.equals(n,s)&&B.equals(i,a)&&o===c&&r===d)return;e._billboardColor=B.clone(n,e._billboardColor),e._billboardOutlineColor=B.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let u=n.alpha,m=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([m,r,p,o]);t.setImage(g,V_(u,m,p,o,r))}ha.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};ha.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};ha.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};ha.prototype.getPropertyInherited=function(e){return ks.getPropertyInherited(this._content,this._batchId,e)};ha.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};ha.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};ha.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};ha.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var f0=ha;var Awn=T(S(),1);var Qvn=T(S(),1);function Hze(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),d=100,u=r.width+d|0,m=3*a,p=m/2;c.width=u,c.height=m;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,d/2,p)),o&&(g.fillStyle="black",g.fillText(t,d/2,p));let f=g.getImageData(0,0,u,m).data,x=f.length,_=u*4,C,V,L,Z;for(C=0;C=0;--C)if(f[C]!==255){Z=C/_|0;break}let G=-1;for(C=0;C]/,o=[],r="",s=fs.LTR,a="",c=e.length;for(let d=0;d";case">":return"<"}}var iHe="\u05D0-\u05EA",oHe="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",kce=new RegExp(`[${iHe}${oHe}]`);function rHe(e){let t=e.split(` -`),n="";for(let i=0;id+1?s[d+1].Type===fs.RTL?(c=m+c,a=0):(c=G2(c,a,u.Word),a+=u.Word.length):c=G2(c,0,m)):u.Type===fs.RTL?c=G2(c,a,m):u.Type===fs.LTR?(c+=u.Word,a=c.length):(u.Type===fs.WEAK||u.Type===fs.BRACKETS)&&(d>0&&s[d-1].Type===fs.RTL?s.length>d+1?s[d+1].Type===fs.RTL?c=G2(c,a,m):(c+=u.Word,a=c.length):c+=u.Word:(c+=u.Word,a=c.length))}n+=c,i0,m=t._backgroundBillboard,p=e._backgroundBillboardCollection;u?(l(m)||(m=p.add({collection:e,image:zce,imageSubRegion:dHe}),t._backgroundBillboard=m),m.color=t._backgroundColor,m.show=t._show,m.position=t._position,m.eyeOffset=t._eyeOffset,m.pixelOffset=t._pixelOffset,m.horizontalOrigin=gi.LEFT,m.verticalOrigin=t._verticalOrigin,m.heightReference=t._heightReference,m.scale=t.totalScale,m.pickPrimitive=t,m.id=t._id,m.translucencyByDistance=t._translucencyByDistance,m.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,m.scaleByDistance=t._scaleByDistance,m.distanceDisplayCondition=t._distanceDisplayCondition,m.disableDepthTestDistance=t._disableDepthTestDistance,m.clusterShow=t.clusterShow):l(m)&&(p.remove(m),t._backgroundBillboard=m=void 0);let g=e._glyphTextureCache;for(d=0;d0&&L.height>0){let Z=(0,Oce.default)(L,{cutoff:Os.CUTOFF,radius:Os.RADIUS}),G=L.getContext("2d"),I=L.width,v=L.height,P=G.getImageData(0,0,I,v);for(let w=0;w0?V=L.pop():(V=e._billboardCollection.add({collection:e}),V._labelDimensions=new D,V._labelTranslate=new D),a.billboard=V),V.show=t._show,V.position=t._position,V.eyeOffset=t._eyeOffset,V.pixelOffset=t._pixelOffset,V.horizontalOrigin=gi.LEFT,V.verticalOrigin=t._verticalOrigin,V.heightReference=t._heightReference,V.scale=t.totalScale,V.pickPrimitive=t,V.id=t._id,V.image=_,V.translucencyByDistance=t._translucencyByDistance,V.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,V.scaleByDistance=t._scaleByDistance,V.distanceDisplayCondition=t._distanceDisplayCondition,V.disableDepthTestDistance=t._disableDepthTestDistance,V._batchIndex=t._batchIndex,V.outlineColor=t.outlineColor,t.style===Uo.FILL_AND_OUTLINE?(V.color=t._fillColor,V.outlineWidth=t.outlineWidth):t.style===Uo.FILL?(V.color=t._fillColor,V.outlineWidth=0):t.style===Uo.OUTLINE&&(V.color=B.TRANSPARENT,V.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function Bce(e,t,n){return t===gi.CENTER?-e/2:t===gi.RIGHT?-(e+n.x):n.x}var ur=new D,bHe=new D;function gHe(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,d=0,u=1,m,p=t.length,g=e._backgroundBillboard,f=D.clone(l(g)?e._backgroundPadding:D.ZERO,bHe);for(f.x/=e._relativeSize,f.y/=e._relativeSize,m=0;m0&&(C===gi.CENTER?G=-s/2-f.x:C===gi.RIGHT?G=-(s+f.x*2):G=0,ur.x=G*_,V===wn.TOP?ur.y=x-d-c:V===wn.CENTER?ur.y=(x-d)/2-c:V===wn.BASELINE?ur.y=-f.y-c:ur.y=0,ur.y=ur.y*_,g.width=P,g.height=w,g._setTranslate(ur),g._labelTranslate=D.clone(ur,g._labelTranslate)),hu(e.heightReference))for(m=0;m0?Vo.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};gf.prototype.isDestroyed=function(){return!1};gf.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),me(this)};var yf=gf;var JFn=T(S(),1);var Nwn=T(S(),1),E2=`in vec3 position3DHigh; +`,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=Ge.OVERLAY,i}var gze=[];vu.prototype.update=function(e){if(Oz(this),!this.show)return;let t=this._billboards,n=t.length,i=e.context;this._instanced=i.instancedArrays,ho=this._instanced?ize:nze,Az=this._instanced?rze:oze;let o=this._textureAtlas;if(!l(o)){o=this._textureAtlas=new Ag({context:i});for(let P=0;P0){this._vaf=aze(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),m=this._vaf.writers;for(let P=0;P0){let P=gze;P.length=0,(c[v2]||c[qHe]||c[jHe])&&P.push(Pce),(c[P2]||c[Cce]||c[JHe]||c[QHe]||c[KHe])&&(P.push(Nce),this._instanced&&P.push(Dz)),(c[P2]||c[$He]||c[Zce])&&(P.push(kce),P.push(Uz)),(c[P2]||c[Lce])&&P.push(Uz),c[Vce]&&P.push(Dz),c[Rce]&&P.push(Uce),c[Gce]&&P.push(Dce),(c[Ece]||c[eze]||c[P2]||c[v2])&&P.push(Bce),(c[P2]||c[v2])&&P.push(Oce),c[Ice]&&P.push(Yce),c[Xce]&&P.push(Hce);let w=P.length;if(m=this._vaf.writers,a/n>.1){for(let A=0;An*1.5&&(s.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,de.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let f,x=M.IDENTITY;e.mode===oe.SCENE3D?(x=this.modelMatrix,f=de.clone(this._baseVolumeWC,this._boundingVolume)):f=de.clone(this._baseVolume2D,this._boundingVolume),pze(this,e,f);let _=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,_){this._blendOption===Lo.OPAQUE||this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Be.fromCache({depthTest:{enabled:!0,func:ie.LESS},depthMask:!0}):this._rsOpaque=void 0;let P=this._blendOption===Lo.TRANSLUCENT;this._blendOption===Lo.TRANSLUCENT||this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Be.fromCache({depthTest:{enabled:!0,func:P?ie.LEQUAL:ie.LESS},depthMask:P,blending:hn.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let C,V,L,Z,G,I=At.maximumVertexTextureImageUnits>0;if(_||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){C=W2,V=X2,G=[],l(this._batchTable)&&(G.push("VECTOR_TILE"),C=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(C),V=this._batchTable.getFragmentShaderCallback(!1,void 0)(V)),L=new Oe({defines:G,sources:[C]}),this._instanced&&L.defines.push("INSTANCED"),this._shaderRotation&&L.defines.push("ROTATION"),this._shaderAlignedAxis&&L.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&L.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&L.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&L.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&L.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&L.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(I?L.defines.push("VERTEX_DEPTH_CHECK"):L.defines.push("FRAGMENT_DEPTH_CHECK"));let P=1-Ks.CUTOFF;this._sdf&&L.defines.push("SDF");let w=l(this._batchTable)?"VECTOR_TILE":"";this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT&&(Z=new Oe({defines:["OPAQUE",w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._sp=en.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:ho}),Z=new Oe({defines:["TRANSLUCENT",w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._spTranslucent=en.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:ho})),this._blendOption===Lo.OPAQUE&&(Z=new Oe({defines:[w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._sp=en.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:ho})),this._blendOption===Lo.TRANSLUCENT&&(Z=new Oe({defines:[w],sources:[V]}),this._shaderClampToGround&&(I?Z.defines.push("VERTEX_DEPTH_CHECK"):Z.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(Z.defines.push("SDF"),Z.defines.push(`SDF_EDGE ${P}`)),this._spTranslucent=en.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:L,fragmentShaderSource:Z,attributeLocations:ho})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let v=e.commandList;if(p.render||p.pick){let P=this._colorCommands,w=this._blendOption===Lo.OPAQUE,A=this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT,b=this._vaf.va,R=b.length,E=this._uniforms,X;l(this._batchTable)?(E=this._batchTable.getUniformMapCallback()(E),X=this._batchTable.getPickId()):X="v_pickColor",P.length=R;let F=A?R*2:R;for(let N=0;N0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){l(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,xze);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=B.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&m1(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});ga.defaultColor=B.WHITE;ga.defaultPointOutlineColor=B.BLACK;ga.defaultPointOutlineWidth=0;ga.defaultPointSize=8;function m1(e){let t=e._billboard;if(l(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(l(e._billboardImage))return;let n=y(e._color,ga.defaultColor),i=y(e._pointOutlineColor,ga.defaultPointOutlineColor),o=y(e._pointOutlineWidth,ga.defaultPointOutlineWidth),r=y(e._pointSize,ga.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,d=e._billboardSize;if(B.equals(n,s)&&B.equals(i,a)&&o===c&&r===d)return;e._billboardColor=B.clone(n,e._billboardColor),e._billboardOutlineColor=B.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let u=n.alpha,m=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([m,r,p,o]);t.setImage(g,v_(u,m,p,o,r))}ga.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};ga.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};ga.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};ga.prototype.getPropertyInherited=function(e){return Os.getPropertyInherited(this._content,this._batchId,e)};ga.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};ga.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};ga.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};ga.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var _b=ga;var GAn=T(S(),1);var UFn=T(S(),1);function _ze(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),d=100,u=r.width+d|0,m=3*a,p=m/2;c.width=u,c.height=m;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,d/2,p)),o&&(g.fillStyle="black",g.fillText(t,d/2,p));let f=g.getImageData(0,0,u,m).data,x=f.length,_=u*4,C,V,L,Z;for(C=0;C=0;--C)if(f[C]!==255){Z=C/_|0;break}let G=-1;for(C=0;C]/,o=[],r="",s=ys.LTR,a="",c=e.length;for(let d=0;d";case">":return"<"}}var Ize="\u05D0-\u05EA",Xze="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",$ce=new RegExp(`[${Ize}${Xze}]`);function Wze(e){let t=e.split(` +`),n="";for(let i=0;id+1?s[d+1].Type===ys.RTL?(c=m+c,a=0):(c=M2(c,a,u.Word),a+=u.Word.length):c=M2(c,0,m)):u.Type===ys.RTL?c=M2(c,a,m):u.Type===ys.LTR?(c+=u.Word,a=c.length):(u.Type===ys.WEAK||u.Type===ys.BRACKETS)&&(d>0&&s[d-1].Type===ys.RTL?s.length>d+1?s[d+1].Type===ys.RTL?c=M2(c,a,m):(c+=u.Word,a=c.length):c+=u.Word:(c+=u.Word,a=c.length))}n+=c,i0,m=t._backgroundBillboard,p=e._backgroundBillboardCollection;u?(l(m)||(m=p.add({collection:e,image:rle,imageSubRegion:Aze}),t._backgroundBillboard=m),m.color=t._backgroundColor,m.show=t._show,m.position=t._position,m.eyeOffset=t._eyeOffset,m.pixelOffset=t._pixelOffset,m.horizontalOrigin=_i.LEFT,m.verticalOrigin=t._verticalOrigin,m.heightReference=t._heightReference,m.scale=t.totalScale,m.pickPrimitive=t,m.id=t._id,m.translucencyByDistance=t._translucencyByDistance,m.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,m.scaleByDistance=t._scaleByDistance,m.distanceDisplayCondition=t._distanceDisplayCondition,m.disableDepthTestDistance=t._disableDepthTestDistance,m.clusterShow=t.clusterShow):l(m)&&(p.remove(m),t._backgroundBillboard=m=void 0);let g=e._glyphTextureCache;for(d=0;d0&&L.height>0){let Z=(0,ile.default)(L,{cutoff:Ks.CUTOFF,radius:Ks.RADIUS}),G=L.getContext("2d"),I=L.width,v=L.height,P=G.getImageData(0,0,I,v);for(let w=0;w0?V=L.pop():(V=e._billboardCollection.add({collection:e}),V._labelDimensions=new D,V._labelTranslate=new D),a.billboard=V),V.show=t._show,V.position=t._position,V.eyeOffset=t._eyeOffset,V.pixelOffset=t._pixelOffset,V.horizontalOrigin=_i.LEFT,V.verticalOrigin=t._verticalOrigin,V.heightReference=t._heightReference,V.scale=t.totalScale,V.pickPrimitive=t,V.id=t._id,V.image=_,V.translucencyByDistance=t._translucencyByDistance,V.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,V.scaleByDistance=t._scaleByDistance,V.distanceDisplayCondition=t._distanceDisplayCondition,V.disableDepthTestDistance=t._disableDepthTestDistance,V._batchIndex=t._batchIndex,V.outlineColor=t.outlineColor,t.style===Bo.FILL_AND_OUTLINE?(V.color=t._fillColor,V.outlineWidth=t.outlineWidth):t.style===Bo.FILL?(V.color=t._fillColor,V.outlineWidth=0):t.style===Bo.OUTLINE&&(V.color=B.TRANSPARENT,V.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function nle(e,t,n){return t===_i.CENTER?-e/2:t===_i.RIGHT?-(e+n.x):n.x}var ur=new D,Bze=new D;function Oze(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,d=0,u=1,m,p=t.length,g=e._backgroundBillboard,f=D.clone(l(g)?e._backgroundPadding:D.ZERO,Bze);for(f.x/=e._relativeSize,f.y/=e._relativeSize,m=0;m0&&(C===_i.CENTER?G=-s/2-f.x:C===_i.RIGHT?G=-(s+f.x*2):G=0,ur.x=G*_,V===wn.TOP?ur.y=x-d-c:V===wn.CENTER?ur.y=(x-d)/2-c:V===wn.BASELINE?ur.y=-f.y-c:ur.y=0,ur.y=ur.y*_,g.width=P,g.height=w,g._setTranslate(ur),g._labelTranslate=D.clone(ur,g._labelTranslate)),Tu(e.heightReference))for(m=0;m0?Lo.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};Tf.prototype.isDestroyed=function(){return!1};Tf.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),me(this)};var Sf=Tf;var kMn=T(S(),1);var IAn=T(S(),1),N2=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 position2DHigh; in vec3 position2DLow; @@ -8919,8 +9295,8 @@ void main() v_pickColor = pickColor; v_polylineAngle = polylineAngle; } -`;var dFn=T(S(),1);var qwn=T(S(),1);var Jc={};Jc.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};Jc.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var yHe=new he;Jc.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o0){t=y(t,M.IDENTITY);let o=M.inverseTransformation(t,xHe),r=M.multiplyByPoint(o,h.ZERO,_He),s=h.normalize(M.multiplyByPointAsVector(o,h.UNIT_Y,Kce),Kce),a=dn.fromPointNormal(r,s,THe),c=h.normalize(M.multiplyByPointAsVector(o,h.UNIT_X,Jce),Jce),d=dn.fromPointNormal(r,c,SHe),u=1;n.push(h.clone(e[0]));let m=n[0],p=e.length;for(let g=1;g2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;l(t)&&(i=M.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Gi.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array($ce),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=le.fromPoints(this._actualPositions),this._boundingVolumeWC=le.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new le}var qce=Sd.POSITION_INDEX=0,EHe=Sd.SHOW_INDEX=1,IHe=Sd.WIDTH_INDEX=2,XHe=Sd.MATERIAL_INDEX=3,X2=Sd.POSITION_SIZE_INDEX=4,WHe=Sd.DISTANCE_DISPLAY_CONDITION=5,$ce=Sd.NUMBER_OF_PROPERTIES=6;function b0(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;l(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(Sd.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,b0(this,EHe))}},positions:{get:function(){return this._positions},set:function(e){let t=_o(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&b0(this,X2),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=le.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=le.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),b0(this,qce),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,b0(this,XHe))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,b0(this,IHe))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,b0(this,X2)}}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!l(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){vt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=vt.clone(e,this._distanceDisplayCondition),b0(this,WHe))}}});Sd.prototype.update=function(){let e=M.IDENTITY;l(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[qce]>0||this._propertiesChanged[X2]>0;if((!M.equals(e,this._modelMatrix)||i)&&(this._segments=Gi.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=le.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=M.clone(e,this._modelMatrix),this._segments.positions.length!==t)b0(this,X2);else{let o=n.length;for(let r=0;r2){if(o[zH]||o[ele]){let f=e.mode===oe.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,x=zn.fromCartesian(f.center,cle),_=se.fromElements(x.low.x,x.low.y,x.low.z,f.radius,lle);this._batchTable.setBatchedAttribute(i._index,2,x.high),this._batchTable.setBatchedAttribute(i._index,3,_)}if(o[FHe]){let f=dle;f.x=0,f.y=Number.MAX_VALUE;let x=i.distanceDisplayCondition;l(x)&&(f.x=x.near,f.y=x.far),this._batchTable.setBatchedAttribute(i._index,4,f)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c0){let Y=w.isTranslucent();a>=s?(b=new tt({owner:e}),n.push(b)):b=n[a],++a,R=Tt(p(w._uniforms),e._uniformMap),b.boundingVolume=le.clone(W2,b.boundingVolume),b.modelMatrix=i,b.shaderProgram=G,b.vertexArray=x.va,b.renderState=Y?e._translucentRS:e._opaqueRS,b.pass=Y?Ze.TRANSLUCENT:Ze.OPAQUE,b.debugShowBoundingVolume=u,b.pickId="v_pickColor",b.uniformMap=R,b.count=F,b.offset=Z,Z+=F,F=0,c=!0,r.push(b)}w=X._material,w.update(o),P=A}let N=X._locatorBuckets,O=N.length;for(let Y=0;Y0&&(a>=s?(b=new tt({owner:e}),n.push(b)):b=n[a],++a,R=Tt(p(w._uniforms),e._uniformMap),b.boundingVolume=le.clone(W2,b.boundingVolume),b.modelMatrix=i,b.shaderProgram=G,b.vertexArray=x.va,b.renderState=w.isTranslucent()?e._translucentRS:e._opaqueRS,b.pass=w.isTranslucent()?Ze.TRANSLUCENT:Ze.OPAQUE,b.debugShowBoundingVolume=u,b.pickId="v_pickColor",b.uniformMap=R,b.count=F,b.offset=Z,c=!0,r.push(b)),P=void 0}}n.length=a}Qm.prototype.isDestroyed=function(){return!1};Qm.prototype.destroy=function(){return ule(this),KH(this),mle(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),me(this)};function NHe(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[zH]?(i.bufferUsage!==Ue.STREAM_DRAW&&(t=!0,i.bufferUsage=Ue.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==Ue.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=Ue.STATIC_DRAW):i.frameCount--),t}var nle=[0,0,0];function ile(e,t,n){e._createVertexArray=!1,KH(e),ule(e),DHe(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,d=[[]],u=0,m=e._polylineBuckets,p,g;for(p in m)m.hasOwnProperty(p)&&(g=m[p],g.updateShader(t,r,s),u+=g.lengthOfPositions);if(u>0){let f=e._mode,x=new Float32Array(6*u*3),_=new Float32Array(u*4),C,V=0,L=0,Z=0;for(p in m)if(m.hasOwnProperty(p)){g=m[p],g.write(x,_,V,L,Z,r,t,n),f===oe.MORPHING&&(l(C)||(C=new Float32Array(6*u*3)),g.writeForMorph(C,V));let R=g.lengthOfPositions;V+=6*R*3,L+=R*4,Z+=R*4,c=g.updateIndices(i,a,d,c)}let G=e._positionBufferUsage.bufferUsage,I=Ue.STATIC_DRAW;e._positionBuffer=xt.createVertexBuffer({context:t,typedArray:x,usage:G});let v;l(C)&&(v=xt.createVertexBuffer({context:t,typedArray:C,usage:G})),e._texCoordExpandAndBatchIndexBuffer=xt.createVertexBuffer({context:t,typedArray:_,usage:I});let P=3*Float32Array.BYTES_PER_ELEMENT,w=4*Float32Array.BYTES_PER_ELEMENT,F=0,b=i.length;for(let R=0;R0){let E=new Uint16Array(o),X=xt.createIndexBuffer({context:t,typedArray:E,usage:Ue.STATIC_DRAW,indexDatatype:Ne.UNSIGNED_SHORT});F+=a[R];let A=6*(R*(P*W.SIXTY_FOUR_KILOBYTES)-F*P),N=P+A,O=P+N,U=P+O,Y=P+U,k=P+Y,J=R*(w*W.SIXTY_FOUR_KILOBYTES)-F*w,z=[{index:Fl.position3DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:A,strideInBytes:6*P},{index:Fl.position3DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:N,strideInBytes:6*P},{index:Fl.position2DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:A,strideInBytes:6*P},{index:Fl.position2DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:N,strideInBytes:6*P},{index:Fl.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:O,strideInBytes:6*P},{index:Fl.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:U,strideInBytes:6*P},{index:Fl.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:O,strideInBytes:6*P},{index:Fl.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:U,strideInBytes:6*P},{index:Fl.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:Y,strideInBytes:6*P},{index:Fl.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:k,strideInBytes:6*P},{index:Fl.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:Y,strideInBytes:6*P},{index:Fl.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:k,strideInBytes:6*P},{index:Fl.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:Q.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:J}],te,H,q,ee;f===oe.SCENE3D?(H=e._positionBuffer,te="vertexBuffer",q=nle,ee="value"):f===oe.SCENE2D||f===oe.COLUMBUS_VIEW?(H=nle,te="value",q=e._positionBuffer,ee="vertexBuffer"):(H=v,te="vertexBuffer",q=e._positionBuffer,ee="vertexBuffer"),z[0][te]=H,z[1][te]=H,z[2][ee]=q,z[3][ee]=q,z[4][te]=H,z[5][te]=H,z[6][ee]=q,z[7][ee]=q,z[8][te]=H,z[9][te]=H,z[10][ee]=q,z[11][ee]=q;let pe=new hi({context:t,attributes:z,indexBuffer:X});e._vertexArrays.push({va:pe,buckets:d[R]})}}}function kHe(e,t){return t instanceof wt?t.id:t}var ok=[];function UHe(e){let t=Bi._uniformList[e.type],n=t.length;ok.length=2*n;let i=0;for(let o=0;o1){a.update();let c=a.material,d=i[c.type];l(d)||(d=i[c.type]=new xf(c,t,n)),d.addPolyline(a)}}}function BHe(e,t){let n=t.mode;(e._mode!==n||!M.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=M.clone(e.modelMatrix),e._createVertexArray=!0)}function HH(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s0,_=g._index,C=this.getSegments(g,a),V=C.positions,L=C.lengths,Z=V.length,G=g.getPickId(s).color,I=0,v=0,P;for(let O=0;O0||Cs.x>0&&Xu.x<0)&&h.clone(Cs,Xu),(Cs.x<0&&Wu.x>0||Cs.x>0&&Wu.x<0)&&h.clone(Cs,Wu));let J=Y?2:0,z=k?2:4;for(let te=J;te2&&(r.setBatchedAttribute(_,2,E),r.setBatchedAttribute(_,3,X),r.setBatchedAttribute(_,4,A))}};var zHe=new h,HHe=new h,KHe=new h,ole=new h;xf.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r0&&(c=a[a.length-1]+1);let d=this.polylines,u=d.length;for(let m=0;m0)g[0]=x;else continue}else g=p._segments.lengths;let f=g.length;if(f>0){let x=0;for(let _=0;_W.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:x}),x=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new YH(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),x+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:x}),c+4>W.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new YH(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};xf.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o0){e._boundingVolume2D=le.fromPoints(o,e._boundingVolume2D);let d=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(d.z,d.x,d.y)}return c1.positions=o,c1.lengths=e._segments.lengths,c1};var sle;xf.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*W.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=sle,c=6*s*3;!l(a)||a.lengthc&&(a=new Float32Array(a.buffer,0,c));let d=this.getSegments(t,i),u=d.positions,m=d.lengths,p=0,g=0,f=0,x;s=u.length;for(let _=0;_0||Cs.x>0&&Xu.x<0)&&h.clone(Cs,Xu),(Cs.x<0&&Wu.x>0||Cs.x>0&&Wu.x<0)&&h.clone(Cs,Wu));let Z=V?2:0,G=L?2:4;for(let I=Z;I{if(e.isDestroyed())return;e._positions=new Float64Array(a.positions);let c=e._billboardCollection,d=e._labelCollection,u=e._polylineCollection;n=e._positions;let m=e._batchIds,p=n.length/3;for(let g=0;g{e.isDestroyed()||(e._error=a)})}Pg.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a{if(e.isDestroyed())return;e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let f=new Float64Array(g.packedBuffer),x=f[0];dKe(e,f),e._indices=Ne.getSizeInBytes(x)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),fKe(e),e._ready=!0}).catch(g=>{e.isDestroyed()||(e._error=g)})}function fKe(e){l(e._primitive)||(e._primitive=new Qx({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0)}g0.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};g0.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};g0.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};g0.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};g0.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=hKe(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};g0.prototype.isDestroyed=function(){return!1};g0.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};var F2=g0;var i9n=T(S(),1);var XAn=T(S(),1),A2=`in vec4 currentPosition; +`;var tMn=T(S(),1);var BAn=T(S(),1);var $c={};$c.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};$c.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var Yze=new he;$c.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o0){t=y(t,M.IDENTITY);let o=M.inverseTransformation(t,Hze),r=M.multiplyByPoint(o,h.ZERO,zze),s=h.normalize(M.multiplyByPointAsVector(o,h.UNIT_Y,ale),ale),a=un.fromPointNormal(r,s,Kze),c=h.normalize(M.multiplyByPointAsVector(o,h.UNIT_X,cle),cle),d=un.fromPointNormal(r,c,Jze),u=1;n.push(h.clone(e[0]));let m=n[0],p=e.length;for(let g=1;g2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;l(t)&&(i=M.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Wi.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(mle),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=de.fromPoints(this._actualPositions),this._boundingVolumeWC=de.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new de}var ule=Gd.POSITION_INDEX=0,nKe=Gd.SHOW_INDEX=1,iKe=Gd.WIDTH_INDEX=2,oKe=Gd.MATERIAL_INDEX=3,U2=Gd.POSITION_SIZE_INDEX=4,rKe=Gd.DISTANCE_DISPLAY_CONDITION=5,mle=Gd.NUMBER_OF_PROPERTIES=6;function Tb(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;l(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(Gd.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,Tb(this,nKe))}},positions:{get:function(){return this._positions},set:function(e){let t=To(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&Tb(this,U2),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=de.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=de.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),Tb(this,ule),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,Tb(this,oKe))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,Tb(this,iKe))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,Tb(this,U2)}}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!l(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ft.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Ft.clone(e,this._distanceDisplayCondition),Tb(this,rKe))}}});Gd.prototype.update=function(){let e=M.IDENTITY;l(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[ule]>0||this._propertiesChanged[U2]>0;if((!M.equals(e,this._modelMatrix)||i)&&(this._segments=Wi.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=de.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=M.clone(e,this._modelMatrix),this._segments.positions.length!==t)Tb(this,U2);else{let o=n.length;for(let r=0;r2){if(o[jz]||o[hle]){let f=e.mode===oe.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,x=Hn.fromCartesian(f.center,Tle),_=re.fromElements(x.low.x,x.low.y,x.low.z,f.radius,Sle);this._batchTable.setBatchedAttribute(i._index,2,x.high),this._batchTable.setBatchedAttribute(i._index,3,_)}if(o[lKe]){let f=Cle;f.x=0,f.y=Number.MAX_VALUE;let x=i.distanceDisplayCondition;l(x)&&(f.x=x.near,f.y=x.far),this._batchTable.setBatchedAttribute(i._index,4,f)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c<_le;++c)o[c]=0;let r=M.IDENTITY;e.mode===oe.SCENE3D&&(r=this.modelMatrix);let s=e.passes,a=e.morphTime!==0;if((!l(this._opaqueRS)||this._opaqueRS.depthTest.enabled!==a)&&(this._opaqueRS=Be.fromCache({depthMask:a,depthTest:{enabled:a}})),(!l(this._translucentRS)||this._translucentRS.depthTest.enabled!==a)&&(this._translucentRS=Be.fromCache({blending:hn.ALPHA_BLEND,depthMask:!a,depthTest:{enabled:a}})),this._batchTable.update(e),s.render||s.pick){let c=this._colorCommands;uKe(this,e,c,r)}};var D2=new de,fle=new de;function uKe(e,t,n,i){let o=t.context,r=t.commandList,s=n.length,a=0,c=!0,d=e._vertexArrays,u=e.debugShowBoundingVolume,p=e._batchTable.getUniformMapCallback(),g=d.length;for(let f=0;f0){let Y=w.isTranslucent();a>=s?(b=new tt({owner:e}),n.push(b)):b=n[a],++a,R=Vt(p(w._uniforms),e._uniformMap),b.boundingVolume=de.clone(D2,b.boundingVolume),b.modelMatrix=i,b.shaderProgram=G,b.vertexArray=x.va,b.renderState=Y?e._translucentRS:e._opaqueRS,b.pass=Y?Ge.TRANSLUCENT:Ge.OPAQUE,b.debugShowBoundingVolume=u,b.pickId="v_pickColor",b.uniformMap=R,b.count=A,b.offset=Z,Z+=A,A=0,c=!0,r.push(b)}w=X._material,w.update(o),P=F}let N=X._locatorBuckets,O=N.length;for(let Y=0;Y0&&(a>=s?(b=new tt({owner:e}),n.push(b)):b=n[a],++a,R=Vt(p(w._uniforms),e._uniformMap),b.boundingVolume=de.clone(D2,b.boundingVolume),b.modelMatrix=i,b.shaderProgram=G,b.vertexArray=x.va,b.renderState=w.isTranslucent()?e._translucentRS:e._opaqueRS,b.pass=w.isTranslucent()?Ge.TRANSLUCENT:Ge.OPAQUE,b.debugShowBoundingVolume=u,b.pickId="v_pickColor",b.uniformMap=R,b.count=A,b.offset=Z,c=!0,r.push(b)),P=void 0}}n.length=a}th.prototype.isDestroyed=function(){return!1};th.prototype.destroy=function(){return Vle(this),$z(this),Lle(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),me(this)};function mKe(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[jz]?(i.bufferUsage!==Ue.STREAM_DRAW&&(t=!0,i.bufferUsage=Ue.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==Ue.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=Ue.STATIC_DRAW):i.frameCount--),t}var ple=[0,0,0];function ble(e,t,n){e._createVertexArray=!1,$z(e),Vle(e),pKe(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,d=[[]],u=0,m=e._polylineBuckets,p,g;for(p in m)m.hasOwnProperty(p)&&(g=m[p],g.updateShader(t,r,s),u+=g.lengthOfPositions);if(u>0){let f=e._mode,x=new Float32Array(6*u*3),_=new Float32Array(u*4),C,V=0,L=0,Z=0;for(p in m)if(m.hasOwnProperty(p)){g=m[p],g.write(x,_,V,L,Z,r,t,n),f===oe.MORPHING&&(l(C)||(C=new Float32Array(6*u*3)),g.writeForMorph(C,V));let R=g.lengthOfPositions;V+=6*R*3,L+=R*4,Z+=R*4,c=g.updateIndices(i,a,d,c)}let G=e._positionBufferUsage.bufferUsage,I=Ue.STATIC_DRAW;e._positionBuffer=_t.createVertexBuffer({context:t,typedArray:x,usage:G});let v;l(C)&&(v=_t.createVertexBuffer({context:t,typedArray:C,usage:G})),e._texCoordExpandAndBatchIndexBuffer=_t.createVertexBuffer({context:t,typedArray:_,usage:I});let P=3*Float32Array.BYTES_PER_ELEMENT,w=4*Float32Array.BYTES_PER_ELEMENT,A=0,b=i.length;for(let R=0;R0){let E=new Uint16Array(o),X=_t.createIndexBuffer({context:t,typedArray:E,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT});A+=a[R];let F=6*(R*(P*W.SIXTY_FOUR_KILOBYTES)-A*P),N=P+F,O=P+N,U=P+O,Y=P+U,k=P+Y,H=R*(w*W.SIXTY_FOUR_KILOBYTES)-A*w,J=[{index:Al.position3DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:F,strideInBytes:6*P},{index:Al.position3DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:N,strideInBytes:6*P},{index:Al.position2DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:F,strideInBytes:6*P},{index:Al.position2DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:N,strideInBytes:6*P},{index:Al.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:O,strideInBytes:6*P},{index:Al.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:U,strideInBytes:6*P},{index:Al.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:O,strideInBytes:6*P},{index:Al.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:U,strideInBytes:6*P},{index:Al.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:Y,strideInBytes:6*P},{index:Al.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:k,strideInBytes:6*P},{index:Al.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:Y,strideInBytes:6*P},{index:Al.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:Q.FLOAT,offsetInBytes:k,strideInBytes:6*P},{index:Al.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:Q.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:H}],te,z,q,ee;f===oe.SCENE3D?(z=e._positionBuffer,te="vertexBuffer",q=ple,ee="value"):f===oe.SCENE2D||f===oe.COLUMBUS_VIEW?(z=ple,te="value",q=e._positionBuffer,ee="vertexBuffer"):(z=v,te="vertexBuffer",q=e._positionBuffer,ee="vertexBuffer"),J[0][te]=z,J[1][te]=z,J[2][ee]=q,J[3][ee]=q,J[4][te]=z,J[5][te]=z,J[6][ee]=q,J[7][ee]=q,J[8][te]=z,J[9][te]=z,J[10][ee]=q,J[11][ee]=q;let pe=new ri({context:t,attributes:J,indexBuffer:X});e._vertexArrays.push({va:pe,buckets:d[R]})}}}function hKe(e,t){return t instanceof It?t.id:t}var dk=[];function fKe(e){let t=Yi._uniformList[e.type],n=t.length;dk.length=2*n;let i=0;for(let o=0;o1){a.update();let c=a.material,d=i[c.type];l(d)||(d=i[c.type]=new Cf(c,t,n)),d.addPolyline(a)}}}function bKe(e,t){let n=t.mode;(e._mode!==n||!M.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=M.clone(e.modelMatrix),e._createVertexArray=!0)}function qz(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s0,_=g._index,C=this.getSegments(g,a),V=C.positions,L=C.lengths,Z=V.length,G=g.getPickId(s).color,I=0,v=0,P;for(let O=0;O0||Es.x>0&&Au.x<0)&&h.clone(Es,Au),(Es.x<0&&Mu.x>0||Es.x>0&&Mu.x<0)&&h.clone(Es,Mu));let H=Y?2:0,J=k?2:4;for(let te=H;te2&&(r.setBatchedAttribute(_,2,E),r.setBatchedAttribute(_,3,X),r.setBatchedAttribute(_,4,F))}};var xKe=new h,_Ke=new h,TKe=new h,gle=new h;Cf.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r0&&(c=a[a.length-1]+1);let d=this.polylines,u=d.length;for(let m=0;m0)g[0]=x;else continue}else g=p._segments.lengths;let f=g.length;if(f>0){let x=0;for(let _=0;_W.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:x}),x=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new Qz(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),x+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:x}),c+4>W.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new Qz(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};Cf.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o0){e._boundingVolume2D=de.fromPoints(o,e._boundingVolume2D);let d=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(d.z,d.x,d.y)}return h1.positions=o,h1.lengths=e._segments.lengths,h1};var xle;Cf.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*W.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=xle,c=6*s*3;!l(a)||a.lengthc&&(a=new Float32Array(a.buffer,0,c));let d=this.getSegments(t,i),u=d.positions,m=d.lengths,p=0,g=0,f=0,x;s=u.length;for(let _=0;_0||Es.x>0&&Au.x<0)&&h.clone(Es,Au),(Es.x<0&&Mu.x>0||Es.x>0&&Mu.x<0)&&h.clone(Es,Mu));let Z=V?2:0,G=L?2:4;for(let I=Z;I{if(e.isDestroyed())return;e._positions=new Float64Array(a.positions);let c=e._billboardCollection,d=e._labelCollection,u=e._polylineCollection;n=e._positions;let m=e._batchIds,p=n.length/3;for(let g=0;g{e.isDestroyed()||(e._error=a)})}kg.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a{if(e.isDestroyed())return;e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let f=new Float64Array(g.packedBuffer),x=f[0];AKe(e,f),e._indices=ke.getSizeInBytes(x)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),UKe(e),e._ready=!0}).catch(g=>{e.isDestroyed()||(e._error=g)})}function UKe(e){l(e._primitive)||(e._primitive=new s_({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0)}Sb.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};Sb.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};Sb.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};Sb.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};Sb.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=kKe(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};Sb.prototype.isDestroyed=function(){return!1};Sb.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};var H2=Sb;var K9n=T(S(),1);var S9n=T(S(),1),z2=`in vec4 currentPosition; in vec4 previousPosition; in vec4 nextPosition; in vec2 expandAndWidth; @@ -8942,12 +9318,12 @@ void main() vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); gl_Position = czm_viewportOrthographic * positionWC; } -`;function qm(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ne.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=B.clone(B.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(qm.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function pKe(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ce.packedLength+ne.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ce.pack(t,a,c),c+=ce.packedLength,ne.pack(o,a,c),c+=ne.packedLength,h.pack(r,a,c),a}var bKe=new bi("createVectorTilePolylines",5),l1={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function gKe(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=pKe(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},d=bKe.scheduleTask(c,a);if(l(d))return d.then(function(u){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(u.decodedPositions),e._decodedPositionOffsets=new Uint32Array(u.decodedPositionOffsets)),e._currentPositions=new Float32Array(u.currentPositions),e._previousPositions=new Float32Array(u.previousPositions),e._nextPositions=new Float32Array(u.nextPositions),e._expandAndWidth=new Float32Array(u.expandAndWidth),e._vertexBatchIds=new Uint16Array(u.batchIds);let m=u.indexDatatype;e._indices=m===Ne.UNSIGNED_SHORT?new Uint16Array(u.indices):new Uint32Array(u.indices),yKe(e,t),e._ready=!0}).catch(u=>{e.isDestroyed()||(e._error=u)})}function yKe(e,t){if(!l(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let d=xt.createVertexBuffer({context:t,typedArray:i,usage:Ue.STATIC_DRAW}),u=xt.createVertexBuffer({context:t,typedArray:n,usage:Ue.STATIC_DRAW}),m=xt.createVertexBuffer({context:t,typedArray:o,usage:Ue.STATIC_DRAW}),p=xt.createVertexBuffer({context:t,typedArray:r,usage:Ue.STATIC_DRAW}),g=xt.createVertexBuffer({context:t,typedArray:s,usage:Ue.STATIC_DRAW}),f=xt.createIndexBuffer({context:t,typedArray:a,usage:Ue.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?Ne.UNSIGNED_SHORT:Ne.UNSIGNED_INT}),x=[{index:l1.previousPosition,vertexBuffer:d,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:l1.currentPosition,vertexBuffer:u,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:l1.nextPosition,vertexBuffer:m,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:l1.expandAndWidth,vertexBuffer:p,componentDatatype:Q.FLOAT,componentsPerAttribute:2},{index:l1.a_batchId,vertexBuffer:g,componentDatatype:Q.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new hi({context:t,attributes:x,indexBuffer:f}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var M2=new M,fle=new h;function xKe(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return M.clone(n,M2),M.multiplyByPoint(M2,e._center,fle),M.setTranslation(M2,fle,M2),M2},u_highlightColor:function(){return e._highlightColor}})}function _Ke(e){if(l(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=Be.fromCache({blending:hn.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var TKe=`uniform vec4 u_highlightColor; +`;function ih(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ne.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=B.clone(B.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(ih.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function DKe(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+le.packedLength+ne.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,le.pack(t,a,c),c+=le.packedLength,ne.pack(o,a,c),c+=ne.packedLength,h.pack(r,a,c),a}var BKe=new xi("createVectorTilePolylines",5),f1={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function OKe(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=DKe(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},d=BKe.scheduleTask(c,a);if(l(d))return d.then(function(u){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(u.decodedPositions),e._decodedPositionOffsets=new Uint32Array(u.decodedPositionOffsets)),e._currentPositions=new Float32Array(u.currentPositions),e._previousPositions=new Float32Array(u.previousPositions),e._nextPositions=new Float32Array(u.nextPositions),e._expandAndWidth=new Float32Array(u.expandAndWidth),e._vertexBatchIds=new Uint16Array(u.batchIds);let m=u.indexDatatype;e._indices=m===ke.UNSIGNED_SHORT?new Uint16Array(u.indices):new Uint32Array(u.indices),YKe(e,t),e._ready=!0}).catch(u=>{e.isDestroyed()||(e._error=u)})}function YKe(e,t){if(!l(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let d=_t.createVertexBuffer({context:t,typedArray:i,usage:Ue.STATIC_DRAW}),u=_t.createVertexBuffer({context:t,typedArray:n,usage:Ue.STATIC_DRAW}),m=_t.createVertexBuffer({context:t,typedArray:o,usage:Ue.STATIC_DRAW}),p=_t.createVertexBuffer({context:t,typedArray:r,usage:Ue.STATIC_DRAW}),g=_t.createVertexBuffer({context:t,typedArray:s,usage:Ue.STATIC_DRAW}),f=_t.createIndexBuffer({context:t,typedArray:a,usage:Ue.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?ke.UNSIGNED_SHORT:ke.UNSIGNED_INT}),x=[{index:f1.previousPosition,vertexBuffer:d,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:f1.currentPosition,vertexBuffer:u,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:f1.nextPosition,vertexBuffer:m,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:f1.expandAndWidth,vertexBuffer:p,componentDatatype:Q.FLOAT,componentsPerAttribute:2},{index:f1.a_batchId,vertexBuffer:g,componentDatatype:Q.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new ri({context:t,attributes:x,indexBuffer:f}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var K2=new M,Zle=new h;function HKe(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return M.clone(n,K2),M.multiplyByPoint(K2,e._center,Zle),M.setTranslation(K2,Zle,K2),K2},u_highlightColor:function(){return e._highlightColor}})}function zKe(e){if(l(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=Be.fromCache({blending:hn.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var KKe=`uniform vec4 u_highlightColor; void main() { out_FragColor = u_highlightColor; } -`;function SKe(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(A2),o=n.getFragmentShaderCallback(!1,void 0,!1)(TKe),r=new Ye({defines:["VECTOR_TILE",zt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[ud,i]}),s=new Ye({defines:["VECTOR_TILE"],sources:[o]});e._sp=cn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:l1})}function CKe(e,t){if(!l(e._command)){let n=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new tt({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:n,boundingVolume:e._boundingVolume,pass:Ze.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}qm.getPolylinePositions=function(e,t){let n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!l(n)||!l(i))return;let r,s,a=n.length,c=0,d=0;for(r=0;r{e.isDestroyed()||(e._error=u)})}function WKe(e,t){if(!l(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,d=e._indices,u=n.byteLength+i.byteLength;u+=o.byteLength+r.byteLength,u+=s.byteLength+a.byteLength,u+=c.byteLength+d.byteLength,e._trianglesLength=d.length/3,e._geometryByteLength=u;let m=xt.createVertexBuffer({context:t,typedArray:n,usage:Ue.STATIC_DRAW}),p=xt.createVertexBuffer({context:t,typedArray:i,usage:Ue.STATIC_DRAW}),g=xt.createVertexBuffer({context:t,typedArray:o,usage:Ue.STATIC_DRAW}),f=xt.createVertexBuffer({context:t,typedArray:r,usage:Ue.STATIC_DRAW}),x=xt.createVertexBuffer({context:t,typedArray:s,usage:Ue.STATIC_DRAW}),_=xt.createVertexBuffer({context:t,typedArray:a,usage:Ue.STATIC_DRAW}),C=xt.createVertexBuffer({context:t,typedArray:c,usage:Ue.STATIC_DRAW}),V=xt.createIndexBuffer({context:t,typedArray:d,usage:Ue.STATIC_DRAW,indexDatatype:d.BYTES_PER_ELEMENT===2?Ne.UNSIGNED_SHORT:Ne.UNSIGNED_INT}),L=[{index:vg.startEllipsoidNormal,vertexBuffer:m,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:vg.endEllipsoidNormal,vertexBuffer:p,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:vg.startPositionAndHeight,vertexBuffer:g,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:vg.endPositionAndHeight,vertexBuffer:f,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:vg.startFaceNormalAndVertexCorner,vertexBuffer:x,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:vg.endFaceNormalAndHalfWidth,vertexBuffer:_,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:vg.a_batchId,vertexBuffer:C,componentDatatype:Q.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new hi({context:t,attributes:L,indexBuffer:V}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var U2=new M,ple=new h;function PKe(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return M.clone(n,U2),M.multiplyByPoint(U2,e._center,ple),M.setTranslation(U2,ple,U2),U2},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function ble(e){return Be.fromCache({cull:{enabled:!0,face:yi.FRONT},blending:hn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Bn.EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.EQUAL,backOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK}})}function vKe(e){l(e._rs)||(e._rs=ble(!1),e._rs3DTiles=ble(!0))}function wKe(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(N2),o=n.getFragmentShaderCallback(!1,void 0,!0)(k2),r=new Ye({defines:["VECTOR_TILE",zt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[ud,i]}),s=new Ye({defines:["VECTOR_TILE"],sources:[o]});e._sp=cn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:vg})}function FKe(e,t){let n=e._command;if(!l(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new tt({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:Ze.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=tt.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=Ze.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===Un.TERRAIN||i===Un.BOTH)&&t.commandList.push(n),(i===Un.CESIUM_3D_TILE||i===Un.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}y0.prototype.getPositions=function(e){return G_.getPolylinePositions(this,e)};y0.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o{e.isDestroyed()||(e._error=t)})}y0.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=UKe(this).then(XKe(this,t))),l(this._error)){let i=this._error;throw this._error=void 0,i}return}PKe(this,t),wKe(this,t),vKe(this);let n=e.passes;(n.render||n.pick)&&FKe(this,e)};y0.prototype.isDestroyed=function(){return!1};y0.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),me(this)};var D2=y0;var J9n=T(S(),1);var QH=32767,DKe=new he,BKe=new h;function OKe(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);An.zigZagDeltaDecode(s,a,c);let d=new Float64Array(e.length);for(let u=0;u0&&l(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&l(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&l(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let d=l(n)||l(i)||l(o),u=s>0&&!l(n)||a>0&&!l(i)||c>0&&!l(o);if(d&&u)throw new de("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)){let p=0;if(!l(n)&&s>0)for(n=new Uint16Array(s),r=0;r0)for(i=new Uint16Array(a),r=0;r0)for(o=new Uint16Array(c),r=0;r0&&(C=Xo(i,n,d),n+=d,u>0&&(V=new Uint8Array(t,n,u),V=new Uint8Array(V),n+=u));let L=y(x.POLYGONS_LENGTH,0),Z=y(x.POLYLINES_LENGTH,0),G=y(x.POINTS_LENGTH,0),I=L+Z+G,v=new Dp(e,I,C,V,YKe(e));if(e._batchTable=v,I===0)return;let P=new zm(x,_),w=P.getGlobalProperty("REGION");if(!l(w))throw new de("Feature table global property: REGION must be defined");let F=ce.unpack(w),b=w[4],R=w[5],E=e._tile.computedTransform,X=P.getGlobalProperty("RTC_CENTER",Q.FLOAT,3);l(X)?(X=h.unpack(X),M.multiplyByPoint(E,X,X)):(X=ce.center(F),X.height=W.lerp(b,R,.5),X=ne.WGS84.cartographicToCartesian(X));let A=zKe(x,_);if(n+=(4-n%4)%4,L>0){P.featuresLength=L;let N=y(P.getPropertyArray("POLYGON_COUNTS",Q.UNSIGNED_INT,1),P.getPropertyArray("POLYGON_COUNT",Q.UNSIGNED_INT,1));if(!l(N))throw new de("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let O=y(P.getPropertyArray("POLYGON_INDEX_COUNTS",Q.UNSIGNED_INT,1),P.getPropertyArray("POLYGON_INDEX_COUNT",Q.UNSIGNED_INT,1));if(!l(O))throw new de("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let U=N.reduce(function(H,q){return H+q*2},0),Y=O.reduce(function(H,q){return H+q},0),k=new Uint32Array(t,n,Y);n+=m;let J=new Uint16Array(t,n,U);n+=p;let z,te;l(x.POLYGON_MINIMUM_HEIGHTS)&&l(x.POLYGON_MAXIMUM_HEIGHTS)&&(z=P.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",Q.FLOAT,1),te=P.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",Q.FLOAT,1)),e._polygons=new F2({positions:J,counts:N,indexCounts:O,indices:k,minimumHeight:b,maximumHeight:R,polygonMinimumHeights:z,polygonMaximumHeights:te,center:X,rectangle:F,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:v,batchIds:A.polygons,modelMatrix:E})}if(Z>0){P.featuresLength=Z;let N=y(P.getPropertyArray("POLYLINE_COUNTS",Q.UNSIGNED_INT,1),P.getPropertyArray("POLYLINE_COUNT",Q.UNSIGNED_INT,1));if(!l(N))throw new de("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let O=P.getPropertyArray("POLYLINE_WIDTHS",Q.UNSIGNED_SHORT,1);if(!l(O)){O=new Uint16Array(Z);for(let te=0;te0){let N=new Uint16Array(t,n,G*3);n+=f,e._points=new w2({positions:N,batchIds:A.points,minimumHeight:b,maximumHeight:R,rectangle:F,batchTable:v})}}function jH(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._polygons)&&e._polygons.createFeatures(e,n),l(e._polylines)&&e._polylines.createFeatures(e,n),l(e._points)&&e._points.createFeatures(e,n),e._features=n}}eh.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};eh.prototype.getFeature=function(e){return l(this._features)||jH(this),this._features[e]};eh.prototype.applyDebugSettings=function(e,t){l(this._polygons)&&this._polygons.applyDebugSettings(e,t),l(this._polylines)&&this._polylines.applyDebugSettings(e,t),l(this._points)&&this._points.applyDebugSettings(e,t)};eh.prototype.applyStyle=function(e){l(this._features)||jH(this),l(this._polygons)&&this._polygons.applyStyle(e,this._features),l(this._polylines)&&this._polylines.applyStyle(e,this._features),l(this._points)&&this._points.applyStyle(e,this._features)};eh.prototype.update=function(e,t){let n=!0;l(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons.ready),l(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines.ready),l(this._points)&&(this._points.update(t),n=n&&this._points.ready),l(this._batchTable)&&n&&(l(this._features)||jH(this),this._batchTable.update(e,t),this._ready=!0)};eh.prototype.pick=function(e,t,n){};eh.prototype.getPolylinePositions=function(e){let t=this._polylines;if(l(t))return t.getPositions(e)};eh.prototype.isDestroyed=function(){return!1};eh.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),me(this)};function QKe(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c=0?i[r]:void 0}var X_=$Ke;var aNn=T(S(),1);var eNn=T(S(),1);function T0(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(T0.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});T0.prototype.hasProperty=function(e){return Nn.hasProperty(e,this._properties,this._class)};T0.prototype.hasPropertyBySemantic=function(e){return Nn.hasPropertyBySemantic(e,this._properties,this._class)};T0.prototype.getPropertyIds=function(e){return Nn.getPropertyIds(this._properties,this._class,e)};T0.prototype.getProperty=function(e){return Nn.getProperty(e,this._properties,this._class)};T0.prototype.setProperty=function(e,t){return Nn.setProperty(e,t,this._properties,this._class)};T0.prototype.getPropertyBySemantic=function(e){return Nn.getPropertyBySemantic(e,this._properties,this._class)};T0.prototype.setPropertyBySemantic=function(e,t){return Nn.setPropertyBySemantic(e,t,this._properties,this._class)};var z2=T0;function $H(e,t){let n=ri(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){$H._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new z2({tile:n,class:o})}}$H._oneTimeWarning=St;var H2=$H;var INn=T(S(),1);var fNn=T(S(),1);function eJe(e){let t=new Uint8Array(e),n=Am(t);if(n==="glTF"&&(n="glb"),Vs.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=tJe(t);if(l(i.root))return{contentType:Vs.EXTERNAL_TILESET,jsonPayload:i};if(l(i.asset))return{contentType:Vs.GLTF,jsonPayload:i};if(l(i.tileAvailability))return{contentType:Vs.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(l(i.type))return{contentType:Vs.GEOJSON,jsonPayload:i};if(l(i.voxelTable))return{contentType:Vs.VOXEL_JSON,jsonPayload:i};throw new de("Invalid tile content.")}function tJe(e){let t;try{t=Xo(e)}catch{throw new de("Invalid tile content.")}return t}var Tf=eJe;function vu(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=l(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._ready=!1,this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;srJe(e,r,s)),o=await Promise.all(i);return e._contentsCreated=!0,e._contents=o.filter(l),o}async function rJe(e,t,n){if(l(t))try{let i=Tf(t);if(i.contentType===Vs.EXTERNAL_TILESET)throw new de("External tilesets are disallowed inside multiple contents");e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===Vs.GEOMETRY||i.contentType===Vs.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=E_[i.contentType];l(i.binaryPayload)?a=await Promise.resolve(c(o,s,r,i.binaryPayload.buffer,0)):a=await Promise.resolve(c(o,s,r,i.jsonPayload));let d=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let m=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=m.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=I_(o,d));let u=X_(o,d);return l(u)&&(a.group=new zx({metadata:u})),a}catch(i){xle(e,n,i)}}function xle(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=l(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}vu.prototype.cancelRequests=function(){for(let e=0;ea?g=W.TWO_PI-c+a:g=a-c;let x=Math.ceil(g/t)+1,_=Math.ceil(f/t)+1,C=g/(x-1),V=f/(_-1),L=ce.northwest(e,r),Z=ce.center(e,cJe);(n!==0||i!==0)&&(Z.longitude=0;f--)Ls.computePosition(t,n,!1,g,f,x),m[p++]=x.x,m[p++]=x.y,m[p++]=x.z;for(f=0,g=i-2;g>0;g--)Ls.computePosition(t,n,!1,g,f,x),m[p++]=x.x,m[p++]=x.y,m[p++]=x.z;let _=m.length/3*2,C=Ne.createTypedArray(m.length/3,_),V=0;for(let Z=0;Z0){Fu.longitude=(t.west+t.east)*.5,Fu.latitude=d;let x=n.cartographicToCartesian(Fu,h1.origin);h.clone(c,h1.direction);let _=dn.fromPointNormal(e.southwestCornerCartesian,e.westNormal,Gle);ei.rayPlane(h1,_,e.southwestCornerCartesian),u=n.geodeticSurfaceNormal(x,ak)}else u=n.geodeticSurfaceNormalCartographic(ce.southeast(t),ak);let m=h.cross(u,a,Zle);h.normalize(m,e.southNormal);let p=t.north,g;if(p<0){Fu.longitude=(t.west+t.east)*.5,Fu.latitude=p;let x=n.cartographicToCartesian(Fu,h1.origin);h.negate(c,h1.direction);let _=dn.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,Gle);ei.rayPlane(h1,_,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(x,ak)}else g=n.geodeticSurfaceNormalCartographic(ce.northwest(t),ak);let f=h.cross(a,g,Zle);h.normalize(f,e.northNormal)}var _Je=new h,TJe=new h,SJe=new h(0,-1,0),CJe=new h(0,0,-1),Ele=new h;function VJe(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!ce.contains(e.rectangle,o)){let d=e.southwestCornerCartesian,u=e.northeastCornerCartesian,m=e.westNormal,p=e.southNormal,g=e.eastNormal,f=e.northNormal;t.mode!==oe.SCENE3D&&(d=t.mapProjection.project(ce.southwest(e.rectangle),_Je),d.z=d.y,d.y=d.x,d.x=0,u=t.mapProjection.project(ce.northeast(e.rectangle),TJe),u.z=u.y,u.y=u.x,u.x=0,m=SJe,g=h.UNIT_Y,p=CJe,f=h.UNIT_Z);let x=h.subtract(i,d,Ele),_=h.dot(x,m),C=h.dot(x,p),V=h.subtract(i,u,Ele),L=h.dot(V,g),Z=h.dot(V,f);_>0?r+=_*_:L>0&&(r+=L*L),C>0?r+=C*C:Z>0&&(r+=Z*Z)}let s,a,c;if(t.mode===oe.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let d=s-c;r+=d*d}else if(s0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):dn.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,dn.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=uK(dn.projectPointOntoPlane(c,t,dK),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=Fle(t,p[0],p[1]),h.distance(a,t)}let u=Number.MAX_VALUE,m;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=uK(dn.projectPointOntoPlane(c,t,dK),i[r],c,this._edgeNormals[n[r]]),m=h.distanceSquared(a,t),m3)return a=uK(dn.projectPointOntoPlane(this._boundingPlanes[1],t,dK),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let d=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+d)%4]):h.distance(t,this._vertices[4+(n[1]-2+d)%4])};var UJe=new h,DJe=new h;function Fle(e,t,n){let i=h.subtract(n,t,UJe),o=h.subtract(e,t,DJe),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var BJe=new dn(h.UNIT_X,0);function uK(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c0&&(f=!0,m+=d),s1||ri(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=l(n.transform)?M.unpack(n.transform):M.clone(M.IDENTITY);let a=l(i)?i.computedTransform:e.modelMatrix,c=M.multiply(a,this.transform,new M),d=l(i)?i._initialTransform:M.IDENTITY;this._initialTransform=M.multiply(d,this.transform,new M),this.computedTransform=c,this.metadata=H2(e,n),this._verticalExaggeration=1,this._verticalExaggerationRelativeHeight=0,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let u;l(s)&&l(s.boundingVolume)&&(u=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=u,this._contentBoundingVolume2D=void 0;let m;l(n.viewerRequestVolume)&&(m=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=m,this.geometricError=n.geometricError,this._geometricError=n.geometricError,l(this._geometricError)||(this._geometricError=l(i)?i._geometricError:e._geometricError,er._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;l(n.refine)?((n.refine==="replace"||n.refine==="add")&&er._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?No.REPLACE:No.ADD):l(i)?p=i.refine:p=No.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,f=!1,x,_,C;if(t=Ge.createIfNeeded(t),r)x=Do.UNLOADED,_=t.clone();else if(l(s)){let G=s.uri;l(s.url)&&(er._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),G=s.url),G===""?(er._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new d1(e,this),f=!0,x=Do.READY):(x=Do.UNLOADED,_=t.getDerivedResource({url:G}),C=$a.getServerKey(_.getUrlComponent()))}else g=new d1(e,this),f=!0,x=Do.READY;this._content=g,this._contentResource=_,this._contentState=x,this._expiredContent=void 0,this._serverKey=C,this.hasEmptyContent=f,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.cacheNode=void 0;let V=n.expire,L,Z;l(V)&&(L=V.duration,l(V.date)&&(Z=j.fromIso8601(V.date))),this.expireDuration=L,this.expireDate=Z,this.lastStyleTime=0,this._optimChildrenWithinParent=Pu.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._wasSelectedLastFrame=!1,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._isClippedByPolygon=!1,this._clippingPlanesState=0,this._clippingPolygonsState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=B.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new j,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}er._deprecationWarning=as;Object.defineProperties(er.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return l(this._color)||(this._color=new B),B.clone(this._color)},set:function(e){this._color=B.clone(e,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||l(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===Do.READY}},contentUnloaded:{get:function(){return this._contentState===Do.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===Do.EXPIRED}},contentFailed:{get:function(){return this._contentState===Do.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var Fg=new h;function QJe(e,t){let{tileset:n,boundingSphere:i}=e,{radius:o,center:r}=i,{camera:s}=t,a=h.multiplyByScalar(s.directionWC,e._centerZDepth,Fg),c=h.add(s.positionWC,a,Fg),d=h.subtract(c,r,Fg);if(h.magnitude(d)>o){let Z=h.normalize(d,Fg),G=h.multiplyByScalar(Z,o,Fg),I=h.add(r,G,Fg),v=h.subtract(I,s.positionWC,Fg),P=h.normalize(v,Fg);e._foveatedFactor=1-Math.abs(h.dot(s.directionWC,P))}else e._foveatedFactor=0;let p=e.refine===No.REPLACE,g=n.isSkippingLevelOfDetail;if(p&&!g||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&p&&g||n._pass===vo.PRELOAD_FLIGHT||n._pass===vo.PRELOAD)return!1;let f=1-Math.cos(s.frustum.fov*.5),x=n.foveatedConeSize*f;if(e._foveatedFactor<=x)return!1;let _=f-x,C=W.clamp((e._foveatedFactor-x)/_,0,1),V=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.memoryAdjustedScreenSpaceError,C),L=e._screenSpaceError===0&&l(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.memoryAdjustedScreenSpaceError-V<=L}var Ble=new j;er.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=l(this.parent)?this.parent.geometricError:i._scaledGeometricError,s=t?r:this.geometricError;if(s===0)return 0;let{camera:a,context:c}=e,d=a.frustum,u=c.drawingBufferWidth,m=c.drawingBufferHeight*o,p;if(e.mode===oe.SCENE2D||d instanceof ln){let g=d.offCenterFrustum;l(g)&&(d=g);let f=Math.max(d.top-d.bottom,d.right-d.left)/Math.max(u,m);p=s/f}else{let g=Math.max(this._distanceToCamera,W.EPSILON7),f=d.sseDenominator;if(p=s*m/(g*f),i.dynamicScreenSpaceError){let x=i._dynamicScreenSpaceErrorComputedDensity,_=i.dynamicScreenSpaceErrorFactor,C=W.fog(g,x)*_;p-=C}}return p/=e.pixelRatio,p};function jJe(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=e.memoryAdjustedScreenSpaceError,i=t._screenSpaceErrorProgressiveResolution>n;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let o=t.parent,r=t._screenSpaceErrorProgressiveResolution<=n,s=l(o)&&o._screenSpaceErrorProgressiveResolution>n;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,i=!0),i}function qJe(e,t){let n=t.parent,o=l(n)&&(!e.isSkippingLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}er.prototype.updateVisibility=function(e){let{parent:t,tileset:n}=this;if(this._updatedVisibilityFrame===n._updatedVisibilityFrame)return;let i=l(t)?t.computedTransform:n.modelMatrix,o=l(t)?t._visibilityPlaneMask:ls.MASK_INDETERMINATE;this.updateTransform(i,e),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==ls.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=qJe(n,this),this._priorityProgressiveResolution=jJe(n,this),this.priorityDeferred=QJe(this,e),this._updatedVisibilityFrame=n._updatedVisibilityFrame};er.prototype.updateExpiration=function(){if(l(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=j.now(Ble);j.lessThan(this.expireDate,e)&&(this._contentState=Do.EXPIRED,this._expiredContent=this._content)}};function $Je(e){if(!l(e.expireDuration))return;let t=j.now(Ble);j.addSeconds(t,e.expireDuration,t),l(e.expireDate)?j.lessThan(e.expireDate,t)&&j.clone(t,e.expireDate):e.expireDate=j.clone(t)}function eQe(e){return function(){return e._priority}}er.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?tQe(this):iQe(this)};function tQe(e){let t=e._content,n=e._tileset;if(!l(t)){let o=ri(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new K2(n,e,e._contentResource.clone(),o),e._content=t}let i=t.requestInnerContents();if(l(i))return e._contentState=Do.LOADING,i.then(o=>{if(!e.isDestroyed()&&l(o))return e._contentState=Do.PROCESSING,t}).catch(o=>{if(!e.isDestroyed())throw e._contentState=Do.FAILED,o})}async function nQe(e,t,n,i,o){let r=e._contentState;e._contentState=Do.LOADING,++t.statistics.numberOfPendingRequests;let s;try{s=await o}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;if(n.cancelled||n.state===$n.CANCELLED){e._contentState=r,++t.statistics.numberOfAttemptedRequests;return}throw e._contentState=Do.FAILED,a}if(e.isDestroyed()){--t.statistics.numberOfPendingRequests;return}if(n.cancelled||n.state===$n.CANCELLED){e._contentState=r,--t.statistics.numberOfPendingRequests,++t.statistics.numberOfAttemptedRequests;return}try{let a=await oQe(e,s);return--t.statistics.numberOfPendingRequests,e.isDestroyed()?void 0:(i&&(e.expireDate=void 0),e._content=a,e._contentState=Do.PROCESSING,a)}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;throw e._contentState=Do.FAILED,a}}function iQe(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new Ko({throttle:!0,throttleByServer:!0,type:ss.TILES3D,priorityFunction:eQe(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=e._tileset,r=t.fetchArrayBuffer();if(!l(r)){++o.statistics.numberOfAttemptedRequests;return}return nQe(e,o,i,n,r)}async function oQe(e,t){let n=Tf(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===Vs.GEOMETRY||n.contentType===Vs.VECTOR,(n.contentType===Vs.IMPLICIT_SUBTREE||n.contentType===Vs.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===Vs.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=E_[n.contentType];if(e.isDestroyed())return;l(n.binaryPayload)?o=await Promise.resolve(r(i,e,e._contentResource,n.binaryPayload.buffer,0)):o=await Promise.resolve(r(i,e,e._contentResource,n.jsonPayload));let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,d=e.implicitCoordinates;o.metadata=c.getContentMetadataView(d,0)}else e.hasImplicitContent||(o.metadata=I_(i,s));let a=X_(i,s);return l(a)&&(o.group=new zx({metadata:a})),o}er.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};er.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=Do.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this.clippingPolygonsDirty=this._clippingPolygonsState===0,this._clippingPolygonsState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var Ole=new le;function fK(e,t){if(t.mode!==oe.SCENE3D&&!l(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=le.projectTo2D(n,t.mapProjection,Ole);e._boundingVolume2D=new L0(i.center,i.radius)}return t.mode!==oe.SCENE3D?e._boundingVolume2D:e._boundingVolume}function rQe(e,t){if(t.mode!==oe.SCENE3D&&!l(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=le.projectTo2D(n,t.mapProjection,Ole);e._contentBoundingVolume2D=new L0(i.center,i.radius)}return t.mode!==oe.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}er.prototype.visibility=function(e,t){let n=e.cullingVolume,i=fK(this,e),o=this._tileset,r=o.clippingPlanes;if(l(r)&&r.enabled){let a=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=a!==Kt.INSIDE,a===Kt.OUTSIDE)return ls.MASK_OUTSIDE}let s=o.clippingPolygons;if(l(s)&&s.enabled){let a=s.computeIntersectionWithBoundingVolume(i);this._isClippedByPolygon=a!==Kt.OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};er.prototype.contentVisibility=function(e){if(!l(this._contentBoundingVolume))return Kt.INSIDE;if(this._visibilityPlaneMask===ls.MASK_INSIDE)return Kt.INSIDE;let t=e.cullingVolume,n=rQe(this,e),i=this._tileset,o=i.clippingPlanes;if(l(o)&&o.enabled){let s=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=s!==Kt.INSIDE,s===Kt.OUTSIDE)return Kt.OUTSIDE}let r=i.clippingPolygons;if(l(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(n);if(this._isClippedByPolygon=s!==Kt.OUTSIDE,s===Kt.INSIDE)return Kt.OUTSIDE}return t.computeVisibility(n)};er.prototype.distanceToTile=function(e){return fK(this,e).distanceToCamera(e)};var sQe=new h;er.prototype.distanceToTileCenter=function(e){let n=fK(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,sQe);return h.dot(e.camera.directionWC,i)};er.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!l(t)||t.distanceToCamera(e)===0};var Yle=new $,zle=new h,aQe=new $,pK=new h,Hle=new ce,Kle=new Xn,hK=new M;function cQe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],pK),o=$.fromArray(e,3,aQe);i=M.multiplyByPoint(t,i,i);let r=M.getMatrix3(t,Yle);return o=$.multiply(r,o,o),l(n)?(n.update(i,o),n):new Vd(i,o)}function lQe(e,t,n,i){let o=ce.unpack(e,0,Hle),r=e[4],s=e[5],a=Xn.fromRectangle(o,r,s,ne.WGS84,Kle),c=a.center,d=a.halfAxes;t=M.multiplyTransformation(t,M.inverseTransformation(n,hK),hK),c=M.multiplyByPoint(t,c,c);let u=M.getMatrix3(t,Yle);return d=$.multiply(u,d,d),l(i)&&i instanceof Vd?(i.update(c,d),i):new Vd(c,d)}function dQe(e,t,n,i){if(!M.equalsEpsilon(t,n,W.EPSILON8))return lQe(e,t,n,i);let o=ce.unpack(e,0,Hle);return l(i)?(i.rectangle=ce.clone(o,i.rectangle),i.minimumHeight=e[4],i.maximumHeight=e[5],i.computeBoundingVolumes(ne.WGS84),i):new Au({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function uQe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],pK),o=e[3];i=M.multiplyByPoint(t,i,i);let r=M.getScale(t,zle),s=h.maximumComponent(r);return o*=s,l(n)?(n.update(i,o),n):new L0(i,o)}er.prototype.createBoundingVolume=function(e,t,n){let i=this.metadata,o;if(l(i)&&(o=d_.parseBoundingVolumeSemantic("TILE",i)),l(o)&&(e=o),!l(e))throw new de("boundingVolume must be defined");if(ri(e,"3DTILES_bounding_volume_S2"))return new q2(e.extensions["3DTILES_bounding_volume_S2"]);let{box:r,region:s,sphere:a}=e;if(l(r)){let c=cQe(r,t,n);return this._verticalExaggeration!==1&&kle(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c}if(l(s)){let c=dQe(s,t,this._initialTransform,n);return this._verticalExaggeration===1||(c instanceof Vd?kle(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight):(c.minimumHeight=_r.getHeight(c.minimumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.maximumHeight=_r.getHeight(c.maximumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.computeBoundingVolumes(ne.WGS84))),c}if(l(a)){let c=uQe(a,t,n);if(this._verticalExaggeration!==1){let d=_r.getPosition(c.center,ne.WGS84,this._verticalExaggeration,this._verticalExaggerationRelativeHeight,pK),u=c.radius*this._verticalExaggeration;c.update(d,u)}return c}throw new de("boundingVolume must contain a sphere, region, or box")};var mQe=h.unpackArray(new Array(8*3).fill(0));function kle(e,t,n){let i=e.boundingVolume.computeCorners(mQe).map(r=>_r.getPosition(r,ne.WGS84,t,n,r)),o=Xn.fromPoints(i,Kle);e.update(o.center,o.halfAxes)}er.prototype.updateTransform=function(e,t){e=y(e,M.IDENTITY);let n=M.multiplyTransformation(e,this.transform,hK),i=!M.equals(n,this.computedTransform),o=l(t)&&(this._verticalExaggeration!==t.verticalExaggeration||this._verticalExaggerationRelativeHeight!==t.verticalExaggerationRelativeHeight);if(!i&&!o)return;i&&M.clone(n,this.computedTransform),o&&(this._verticalExaggeration=t.verticalExaggeration,this._verticalExaggerationRelativeHeight=t.verticalExaggerationRelativeHeight);let r=this._header,s=this._contentHeader;this._boundingVolume=this.createBoundingVolume(r.boundingVolume,this.computedTransform,this._boundingVolume),l(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(s.boundingVolume,this.computedTransform,this._contentBoundingVolume)),l(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(r.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};er.prototype.updateGeometricErrorScale=function(){let e=M.getScale(this.computedTransform,zle),t=h.maximumComponent(e);if(this.geometricError=this._geometricError*t,!l(this.parent)){let n=this._tileset;n._scaledGeometricError=n._geometricError*t}};function hQe(e,t,n,i){if(!i.isRender)return;let o=l(e._contentHeader)&&l(e._contentHeader.boundingVolume),r=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(r){let c;e._finalResolution?e.hasRenderableContent?c=B.WHITE:c=B.DARKGRAY:c=B.YELLOW,l(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(c)),e._debugBoundingVolume.update(n);let d=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");d.color=Ht.toValue(c,d.color)}else!r&&l(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(l(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(B.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&l(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&l(e._viewerRequestVolume)?(l(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(B.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&l(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let s=t.debugColorizeTiles&&!e._debugColorizeTiles||l(t._heatmap.tilePropertyName),a=!t.debugColorizeTiles&&e._debugColorizeTiles;s?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):a&&(e._debugColorizeTiles=!1,e.color=B.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),a&&t.makeStyleDirty()}function fQe(e,t,n){let i=e._expiredContent;if(!e.hasMultipleContents&&l(i)){if(!e.contentReady){try{i.update(t,n)}catch{}return}e._expiredContent.destroy(),e._expiredContent=void 0}if(l(e.content))try{e.content.update(t,n)}catch(o){throw e._contentState=Do.FAILED,o}}function pQe(e,t){let n=t.clippingPlanes,i=0;l(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}function bQe(e,t){let n=t.clippingPolygons,i=0;l(n)&&e._isClippedByPolygon&&n.enabled&&(i=n.clippingPolygonsState),i!==e._clippingPolygonsState&&(e._clippingPolygonsState=i,e.clippingPolygonsDirty=!0)}er.prototype.update=function(e,t,n){let{commandList:i}=t,o=i.length;pQe(this,e),bQe(this,e),hQe(this,e,t,n),fQe(this,e,t);let r=i.length;this._commandsLength=r-o;for(let s=o;se.cacheBytes||n);){let s=r.item;r=r.next,this.unloadTile(e,s,t)}};k_.prototype.trim=function(){this._trimTiles=!0};var iP=k_;var WDn=T(S(),1);function mk(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function gK(e,t){let n;return t==="_loadTimestamp"?n=j.toDate(e).getTime():n=e,n}mk.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=gK(e,n),this._referenceMaximum[n]=gK(t,n)};function xQe(e,t){let n=e.tilePropertyName;if(l(n)){let i=gK(t[n],n);return l(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var bK=[new B(.1,.1,.1,1),new B(.153,.278,.878,1),new B(.827,.231,.49,1),new B(.827,.188,.22,1),new B(1,.592,.259,1),new B(1,.843,0,1)];mk.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!l(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=xQe(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+W.EPSILON7,c=W.clamp(i-o,0,s)/s,d=bK.length-1,u=c*d,m=Math.floor(u),p=Math.ceil(u),g=u-m,f=bK[m],x=bK[p],_=B.clone(B.WHITE);_.red=W.lerp(f.red,x.red,g),_.green=W.lerp(f.green,x.green,g),_.blue=W.lerp(f.blue,x.blue,g),e._debugColor=_};mk.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(l(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=l(t)&&l(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var oP=mk;var wDn=T(S(),1);function T1(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}T1.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};function hk(e,t,n,i){let o=t.innerContents,r=t.pointsLength,s=t.trianglesLength,a=t.featuresLength,c=t.geometryByteLength,d=t.texturesByteLength,u=t.batchTableByteLength;if(i?(e.numberOfFeaturesLoaded+=n?-a:a,e.numberOfPointsLoaded+=n?-r:r,e.geometryByteLength+=n?-c:c,e.texturesByteLength+=n?-d:d,e.batchTableByteLength+=n?-u:u):(e.numberOfFeaturesSelected+=n?-a:a,e.numberOfPointsSelected+=n?-r:r,e.numberOfTrianglesSelected+=n?-s:s),l(o)){let m=o.length;for(let p=0;p>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function xK(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}aP.encode2D=function(e,t){return(qle(e)|qle(t)<<1)>>>0};aP.decode2D=function(e,t){return l(t)||(t=new Array(2)),t[0]=$le(e),t[1]=$le(e>>1),t};aP.encode3D=function(e,t,n){return yK(e)|yK(t)<<1|yK(n)<<2};aP.decode3D=function(e,t){return l(t)||(t=new Array(3)),t[0]=xK(e),t[1]=xK(e>>1),t[2]=xK(e>>2),t};var Ag=aP;function Bo(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===Jr.OCTREE&&(this.z=e.z)}Object.defineProperties(Bo.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===Jr.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===Jr.OCTREE?Ag.encode3D(this.x,this.y,this.z):Ag.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===Jr.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});Bo.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===Jr.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};Bo.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===Jr.OCTREE?this.z===e.z:!0)};Bo.prototype.isImplicitTilesetRoot=function(){return this.level===0};Bo.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};Bo.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};Bo.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===Jr.OCTREE&&(e.z=this.z),e};var ede=[0,0,0];Bo.fromMortonIndex=function(e,t,n,i){let o;return e===Jr.OCTREE?(o=Ag.decode3D(i,ede),new Bo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Ag.decode2D(i,ede),new Bo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};Bo.fromTileIndex=function(e,t,n){let i,o,r;return e===Jr.OCTREE?(i=Math.floor(W.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(W.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),Bo.fromMortonIndex(e,t,i,r)};var D_=Bo;var h3n=T(S(),1);var a3n=T(S(),1);function E0(){}E0.selectTiles=function(e,t){fe.throwInstantiationError()};E0.sortChildrenByDistanceToCamera=function(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera};E0.canTraverse=function(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:e._screenSpaceError>e.tileset.memoryAdjustedScreenSpaceError};E0.selectTile=function(e,t){if(e.contentVisibility(t)===Kt.OUTSIDE)return;e._wasSelectedLastFrame=!0;let{content:n,tileset:i}=e;n.featurePropertiesDirty?(n.featurePropertiesDirty=!1,e.lastStyleTime=0,i._selectedTilesToStyle.push(e)):e._selectedFrame0;if((e.hasTilesetContent||e.hasImplicitContent)&&n){let r=e.children[0];tde(r,t),e._visible=r._visible;return}if(VQe(e,t)){e._visible=!1;return}let i=e.refine===No.REPLACE,o=e._optimChildrenWithinParent===Pu.USE_OPTIMIZATION;if(i&&o&&n&&!LQe(e,t)){++e.tileset._statistics.numberOfTilesCulledWithChildrenUnion,e._visible=!1;return}}function VQe(e,t){let{parent:n,tileset:i}=e;return!l(n)||n.hasTilesetContent||n.hasImplicitContent||n.refine!==No.ADD?!1:e.getScreenSpaceError(t,!0)<=i.memoryAdjustedScreenSpaceError}function LQe(e,t){let n=!1,i=e.children;for(let o=0;o0;){cP.stackMaximumLength=Math.max(cP.stackMaximumLength,s.length);let a=s.pop(),c=a.refine===No.ADD,d=a.refine===No.REPLACE,u=ZQe(a);u&&GQe(a,s,t),(c||d&&!u)&&(EQe(e,a),o(a,t),IQe(a,t),a.hasRenderableContent&&!a.contentAvailable&&(n=!1)),r(a,t)}return cP.stack.trim(cP.stackMaximumLength),n};function ZQe(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:(e.hasEmptyContent,!0)}function GQe(e,t,n){let{children:i}=e;for(let o=0;o0;){dP.stackMaximumLength=Math.max(dP.stackMaximumLength,a.length);let c=a.pop(),d=c.parent,u=!l(d)||d._refines;c._refines=i(c)?XQe(c,a,t)&&u:!1;let m=!c._refines&&u;c.hasRenderableContent?c.refine===No.ADD?(_K(c,t),o(c,t)):c.refine===No.REPLACE&&(o(c,t),m&&_K(c,t)):(n._emptyTiles.push(c),o(c,t),m&&_K(c,t)),r(c,t),s(c,t)}}function PQe(e,t){let{canTraverse:n,updateTile:i,loadTile:o,touchTile:r}=zs,s=!0,a=uP.stack;for(a.push(e);a.length>0;){uP.stackMaximumLength=Math.max(uP.stackMaximumLength,a.length);let c=a.pop(),d=c.children,u=d.length,m=!c.hasRenderableContent&&n(c);if(!m&&!c.contentAvailable&&(s=!1),i(c,t),c.isVisible||(o(c,t),r(c,t)),m)for(let p=0;p0;){fP.stackMaximumLength=Math.max(fP.stackMaximumLength,r.length);let a=r.pop().children;for(let c=0;cn._depth+e.skipLevels)}function MQe(e,t,n){let{tileset:i,children:o}=e,{updateTile:r,loadTile:s,touchTile:a}=zs;for(let d=0;dt:e._screenSpaceError>t:!0}function kQe(e,t){let{tileset:n}=e,i=n.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(n.baseScreenSpaceError,n.memoryAdjustedScreenSpaceError),{canTraverse:o,loadTile:r,visitTile:s,touchTile:a}=zs,c=hP.stack;for(c.push(e);c.length>0;){hP.stackMaximumLength=Math.max(hP.stackMaximumLength,c.length);let d=c.pop();FQe(d,t);let u=d.parent,m=!l(u)||u._refines;d._refines=o(d)?MQe(d,c,t)&&m:!1;let p=!d._refines&&m;d.hasRenderableContent?d.refine===No.ADD?(fk(d,t),r(d,t)):d.refine===No.REPLACE&&(NQe(d,i)?(r(d,t),p&&fk(d,t)):p?(fk(d,t),r(d,t)):AQe(n,d)&&r(d,t)):(n._emptyTiles.push(d),r(d,t),p&&fk(d,t)),s(d,t),a(d,t)}}function UQe(e,t){let{selectTile:n,canTraverse:i}=zs,{stack:o,ancestorStack:r}=I0,s;for(o.push(e);o.length>0||r.length>0;){if(I0.stackMaximumLength=Math.max(I0.stackMaximumLength,o.length),I0.ancestorStackMaximumLength=Math.max(I0.ancestorStackMaximumLength,r.length),r.length>0){let d=r.peek();if(d._stackLength===o.length){r.pop(),d!==s&&(d._finalResolution=!1),n(d,t);continue}}let a=o.pop();if(!l(a))continue;let c=i(a);if(a._shouldSelect)if(a.refine===No.ADD)n(a,t);else{if(a._selectionDepth=r.length,a._selectionDepth>0&&(a.tileset.hasMixedContent=!0),s=a,!c){n(a,t);continue}r.push(a),a._stackLength=o.length}if(c){let d=a.children;for(let u=0;uli._defaultMinTerrainHeight&&(s._initialClippingPlanesOriginMatrix=Ft.eastNorthUpToFixedFrame(p)),s._clippingPlanesOriginMatrix=M.clone(s._initialClippingPlanesOriginMatrix),s};tr.loadJson=function(e){return Ge.createIfNeeded(e).fetchJson()};tr.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};tr.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!l(i))throw new de("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new de("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");l(t.extensionsRequired)&&tr.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;l(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=rde(this,e,t.root,n);l(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===No.ADD;let d=c._header.children;if(l(d))for(let u=0;u_.minimumRadius){let L=he.fromCartesian(V,_,BQe);n=h.normalize(a.positionWC,sde),i=a.directionWC,o=a.positionCartographic.height,r=0,s=L.height*2}else{let L=M.multiplyByPoint(x,a.positionWC,zQe);if(n=h.UNIT_Z,i=M.multiplyByPointAsVector(x,a.directionWC,HQe),i=h.normalize(i,i),o=L.z,d instanceof Vd){let Z=$.getColumn(C.halfAxes,2,KQe),G=h.magnitude(Z);r=V.z-G,s=V.z+G}else if(d instanceof L0){let Z=C.radius;r=V.z-Z,s=V.z+Z}}}let u=e.dynamicScreenSpaceErrorHeightFalloff,m=r+(s-r)*u,p=s,g=W.clamp((o-m)/(p-m),0,1),f=1-Math.abs(h.dot(i,n));f=f*(1-g),e._dynamicScreenSpaceErrorComputedDensity=e.dynamicScreenSpaceErrorDensity*f}function QQe(e,t){if(t.hasEmptyContent)return;let{statistics:n}=e,i=t.contentExpired,o=t.requestContent();l(o)&&(o.then(r=>{!l(r)||t.isDestroyed()||e.isDestroyed()||(e._processingQueue.push(t),++n.numberOfTilesProcessing)}).catch(r=>{lde(r,e,t)}),i&&(t.hasTilesetContent||t.hasImplicitContent?d4e(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t))}function cde(e,t){return e._priority-t._priority}tr.prototype.postPassesUpdate=function(e){l(this._root)&&(jQe(this,e),m4e(this,e),this._cache.unloadTiles(this,ude),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};tr.prototype.prePassesUpdate=function(e){if(!l(this._root))return;o4e(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,l(t)&&t.enabled&&t.update(e);let n=this._clippingPolygons;l(n)&&n.enabled&&n.update(e),l(this._loadTimestamp)||(this._loadTimestamp=j.clone(e.time)),this._timeSinceLoad=Math.max(j.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&JQe(this,e),e.newFrame&&this._cache.reset()};function jQe(e,t){let n=e._requestedTilesInFlight,i=0;for(let o=0;o=1;if(r._contentState!==Do.LOADING){++i;continue}else if(s){r.cancelRequests(),++i;continue}i>0&&(n[o-i]=r)}n.length-=i}function qQe(e){let t=e._requestedTiles;t.sort(cde);for(let n=0;n0?t.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`))}function $Qe(e){let t=e._processingQueue,n=0;for(let i=0;i0&&(t[i-n]=o)}t.length-=n}var e4e=new he,t4e=new he,n4e=new h;function i4e(e,t,n){if(!e.enableCollision||!e.show)return;let i=e._addHeightCallbacks,o=t.boundingSphere;for(let r of i){if(r.invoked||t._wasSelectedLastFrame)continue;let s=r.ellipsoid,a=he.clone(r.positionCartographic,e4e),c=he.fromCartesian(o.center,s,t4e);l(c)&&(a.height=c.height);let d=he.toCartesian(a,s,n4e);h.distance(d,o.center)<=o.radius&&n.afterRender.push(()=>{l(r.callback)&&r.callback(a),r.invoked=!1})}}function o4e(e,t){$Qe(e);let n=e._processingQueue,{cacheBytes:i,maximumCacheOverflowBytes:o,statistics:r}=e,s=i+o,a=!1;for(let c=0;cs){a=!0;break}let d=n[c];try{d.process(e,t),d.contentReady&&(--r.numberOfTilesProcessing,e.tileLoad.raiseEvent(d))}catch(u){--r.numberOfTilesProcessing,lde(u,e,d)}}e.totalMemoryUsageInBytes0&&r4e(e)}function r4e(e){e._memoryAdjustedScreenSpaceError*=1.02;let t=e._processingQueue;for(let n=0;n{e.isDestroyed()||(e._error=u)})}function rJe(e,t){if(!l(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,d=e._indices,u=n.byteLength+i.byteLength;u+=o.byteLength+r.byteLength,u+=s.byteLength+a.byteLength,u+=c.byteLength+d.byteLength,e._trianglesLength=d.length/3,e._geometryByteLength=u;let m=_t.createVertexBuffer({context:t,typedArray:n,usage:Ue.STATIC_DRAW}),p=_t.createVertexBuffer({context:t,typedArray:i,usage:Ue.STATIC_DRAW}),g=_t.createVertexBuffer({context:t,typedArray:o,usage:Ue.STATIC_DRAW}),f=_t.createVertexBuffer({context:t,typedArray:r,usage:Ue.STATIC_DRAW}),x=_t.createVertexBuffer({context:t,typedArray:s,usage:Ue.STATIC_DRAW}),_=_t.createVertexBuffer({context:t,typedArray:a,usage:Ue.STATIC_DRAW}),C=_t.createVertexBuffer({context:t,typedArray:c,usage:Ue.STATIC_DRAW}),V=_t.createIndexBuffer({context:t,typedArray:d,usage:Ue.STATIC_DRAW,indexDatatype:d.BYTES_PER_ELEMENT===2?ke.UNSIGNED_SHORT:ke.UNSIGNED_INT}),L=[{index:Ug.startEllipsoidNormal,vertexBuffer:m,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:Ug.endEllipsoidNormal,vertexBuffer:p,componentDatatype:Q.FLOAT,componentsPerAttribute:3},{index:Ug.startPositionAndHeight,vertexBuffer:g,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:Ug.endPositionAndHeight,vertexBuffer:f,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:Ug.startFaceNormalAndVertexCorner,vertexBuffer:x,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:Ug.endFaceNormalAndHalfWidth,vertexBuffer:_,componentDatatype:Q.FLOAT,componentsPerAttribute:4},{index:Ug.a_batchId,vertexBuffer:C,componentDatatype:Q.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new ri({context:t,attributes:L,indexBuffer:V}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var j2=new M,Gle=new h;function sJe(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return M.clone(n,j2),M.multiplyByPoint(j2,e._center,Gle),M.setTranslation(j2,Gle,j2),j2},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function Ele(e){return Be.fromCache({cull:{enabled:!0,face:Ti.FRONT},blending:hn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Bn.EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.EQUAL,backOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},reference:Dt.CESIUM_3D_TILE_MASK,mask:Dt.CESIUM_3D_TILE_MASK}})}function aJe(e){l(e._rs)||(e._rs=Ele(!1),e._rs3DTiles=Ele(!0))}function cJe(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(J2),o=n.getFragmentShaderCallback(!1,void 0,!0)(Q2),r=new Oe({defines:["VECTOR_TILE",Yt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[bd,i]}),s=new Oe({defines:["VECTOR_TILE"],sources:[o]});e._sp=en.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:Ug})}function lJe(e,t){let n=e._command;if(!l(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new tt({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:Ge.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=tt.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=Ge.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===Dn.TERRAIN||i===Dn.BOTH)&&t.commandList.push(n),(i===Dn.CESIUM_3D_TILE||i===Dn.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}Cb.prototype.getPositions=function(e){return M_.getPolylinePositions(this,e)};Cb.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o{e.isDestroyed()||(e._error=t)})}Cb.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=fJe(this).then(oJe(this,t))),l(this._error)){let i=this._error;throw this._error=void 0,i}return}sJe(this,t),cJe(this,t),aJe(this);let n=e.passes;(n.render||n.pick)&&lJe(this,e)};Cb.prototype.isDestroyed=function(){return!1};Cb.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),me(this)};var q2=Cb;var kNn=T(S(),1);var tK=32767,pJe=new he,bJe=new h;function gJe(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);An.zigZagDeltaDecode(s,a,c);let d=new Float64Array(e.length);for(let u=0;u0&&l(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&l(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&l(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let d=l(n)||l(i)||l(o),u=s>0&&!l(n)||a>0&&!l(i)||c>0&&!l(o);if(d&&u)throw new ce("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)){let p=0;if(!l(n)&&s>0)for(n=new Uint16Array(s),r=0;r0)for(i=new Uint16Array(a),r=0;r0)for(o=new Uint16Array(c),r=0;r0&&(C=Po(i,n,d),n+=d,u>0&&(V=new Uint8Array(t,n,u),V=new Uint8Array(V),n+=u));let L=y(x.POLYGONS_LENGTH,0),Z=y(x.POLYLINES_LENGTH,0),G=y(x.POINTS_LENGTH,0),I=L+Z+G,v=new zp(e,I,C,V,yJe(e));if(e._batchTable=v,I===0)return;let P=new Qm(x,_),w=P.getGlobalProperty("REGION");if(!l(w))throw new ce("Feature table global property: REGION must be defined");let A=le.unpack(w),b=w[4],R=w[5],E=e._tile.computedTransform,X=P.getGlobalProperty("RTC_CENTER",Q.FLOAT,3);l(X)?(X=h.unpack(X),M.multiplyByPoint(E,X,X)):(X=le.center(A),X.height=W.lerp(b,R,.5),X=ne.WGS84.cartographicToCartesian(X));let F=xJe(x,_);if(n+=(4-n%4)%4,L>0){P.featuresLength=L;let N=y(P.getPropertyArray("POLYGON_COUNTS",Q.UNSIGNED_INT,1),P.getPropertyArray("POLYGON_COUNT",Q.UNSIGNED_INT,1));if(!l(N))throw new ce("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let O=y(P.getPropertyArray("POLYGON_INDEX_COUNTS",Q.UNSIGNED_INT,1),P.getPropertyArray("POLYGON_INDEX_COUNT",Q.UNSIGNED_INT,1));if(!l(O))throw new ce("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let U=N.reduce(function(z,q){return z+q*2},0),Y=O.reduce(function(z,q){return z+q},0),k=new Uint32Array(t,n,Y);n+=m;let H=new Uint16Array(t,n,U);n+=p;let J,te;l(x.POLYGON_MINIMUM_HEIGHTS)&&l(x.POLYGON_MAXIMUM_HEIGHTS)&&(J=P.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",Q.FLOAT,1),te=P.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",Q.FLOAT,1)),e._polygons=new H2({positions:H,counts:N,indexCounts:O,indices:k,minimumHeight:b,maximumHeight:R,polygonMinimumHeights:J,polygonMaximumHeights:te,center:X,rectangle:A,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:v,batchIds:F.polygons,modelMatrix:E})}if(Z>0){P.featuresLength=Z;let N=y(P.getPropertyArray("POLYLINE_COUNTS",Q.UNSIGNED_INT,1),P.getPropertyArray("POLYLINE_COUNT",Q.UNSIGNED_INT,1));if(!l(N))throw new ce("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let O=P.getPropertyArray("POLYLINE_WIDTHS",Q.UNSIGNED_SHORT,1);if(!l(O)){O=new Uint16Array(Z);for(let te=0;te0){let N=new Uint16Array(t,n,G*3);n+=f,e._points=new Y2({positions:N,batchIds:F.points,minimumHeight:b,maximumHeight:R,rectangle:A,batchTable:v})}}function nK(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._polygons)&&e._polygons.createFeatures(e,n),l(e._polylines)&&e._polylines.createFeatures(e,n),l(e._points)&&e._points.createFeatures(e,n),e._features=n}}rh.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};rh.prototype.getFeature=function(e){return l(this._features)||nK(this),this._features[e]};rh.prototype.applyDebugSettings=function(e,t){l(this._polygons)&&this._polygons.applyDebugSettings(e,t),l(this._polylines)&&this._polylines.applyDebugSettings(e,t),l(this._points)&&this._points.applyDebugSettings(e,t)};rh.prototype.applyStyle=function(e){l(this._features)||nK(this),l(this._polygons)&&this._polygons.applyStyle(e,this._features),l(this._polylines)&&this._polylines.applyStyle(e,this._features),l(this._points)&&this._points.applyStyle(e,this._features)};rh.prototype.update=function(e,t){let n=!0;l(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons.ready),l(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines.ready),l(this._points)&&(this._points.update(t),n=n&&this._points.ready),l(this._batchTable)&&n&&(l(this._features)||nK(this),this._batchTable.update(e,t),this._ready=!0)};rh.prototype.pick=function(e,t,n){};rh.prototype.getPolylinePositions=function(e){let t=this._polylines;if(l(t))return t.getPositions(e)};rh.prototype.isDestroyed=function(){return!1};rh.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),me(this)};function CJe(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c=0?i[r]:void 0}var U_=RJe;var q5n=T(S(),1);var Y5n=T(S(),1);function Rb(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(Rb.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Rb.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Rb.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Rb.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Rb.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};Rb.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};Rb.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};Rb.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var nP=Rb;function oK(e,t){let n=ci(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){oK._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new nP({tile:n,class:o})}}oK._oneTimeWarning=Tt;var iP=oK;var Tkn=T(S(),1);var rkn=T(S(),1);function ZJe(e){let t=new Uint8Array(e),n=km(t);if(n==="glTF"&&(n="glb"),Is.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=GJe(t);if(l(i.root))return{contentType:Is.EXTERNAL_TILESET,jsonPayload:i};if(l(i.asset))return{contentType:Is.GLTF,jsonPayload:i};if(l(i.tileAvailability))return{contentType:Is.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(l(i.type))return{contentType:Is.GEOJSON,jsonPayload:i};if(l(i.voxelTable))return{contentType:Is.VOXEL_JSON,jsonPayload:i};throw new ce("Invalid tile content.")}function GJe(e){let t;try{t=Po(e)}catch{throw new ce("Invalid tile content.")}return t}var Lf=ZJe;function ku(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=l(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._ready=!1,this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;sWJe(e,r,s)),o=await Promise.all(i);return e._contentsCreated=!0,e._contents=o.filter(l),o}async function WJe(e,t,n){if(l(t))try{let i=Lf(t);if(i.contentType===Is.EXTERNAL_TILESET)throw new ce("External tilesets are disallowed inside multiple contents");e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===Is.GEOMETRY||i.contentType===Is.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=N_[i.contentType];l(i.binaryPayload)?a=await Promise.resolve(c(o,s,r,i.binaryPayload.buffer,0)):a=await Promise.resolve(c(o,s,r,i.jsonPayload));let d=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let m=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=m.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=k_(o,d));let u=U_(o,d);return l(u)&&(a.group=new n_({metadata:u})),a}catch(i){Wle(e,n,i)}}function Wle(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=l(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}ku.prototype.cancelRequests=function(){for(let e=0;ea?g=W.TWO_PI-c+a:g=a-c;let x=Math.ceil(g/t)+1,_=Math.ceil(f/t)+1,C=g/(x-1),V=f/(_-1),L=le.northwest(e,r),Z=le.center(e,wJe);(n!==0||i!==0)&&(Z.longitude=0;f--)Xs.computePosition(t,n,!1,g,f,x),m[p++]=x.x,m[p++]=x.y,m[p++]=x.z;for(f=0,g=i-2;g>0;g--)Xs.computePosition(t,n,!1,g,f,x),m[p++]=x.x,m[p++]=x.y,m[p++]=x.z;let _=m.length/3*2,C=ke.createTypedArray(m.length/3,_),V=0;for(let Z=0;Z0){Du.longitude=(t.west+t.east)*.5,Du.latitude=d;let x=n.cartographicToCartesian(Du,y1.origin);h.clone(c,y1.direction);let _=un.fromPointNormal(e.southwestCornerCartesian,e.westNormal,Ule);ni.rayPlane(y1,_,e.southwestCornerCartesian),u=n.geodeticSurfaceNormal(x,hk)}else u=n.geodeticSurfaceNormalCartographic(le.southeast(t),hk);let m=h.cross(u,a,kle);h.normalize(m,e.southNormal);let p=t.north,g;if(p<0){Du.longitude=(t.west+t.east)*.5,Du.latitude=p;let x=n.cartographicToCartesian(Du,y1.origin);h.negate(c,y1.direction);let _=un.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,Ule);ni.rayPlane(y1,_,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(x,hk)}else g=n.geodeticSurfaceNormalCartographic(le.northwest(t),hk);let f=h.cross(a,g,kle);h.normalize(f,e.northNormal)}var zJe=new h,KJe=new h,JJe=new h(0,-1,0),QJe=new h(0,0,-1),Dle=new h;function jJe(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!le.contains(e.rectangle,o)){let d=e.southwestCornerCartesian,u=e.northeastCornerCartesian,m=e.westNormal,p=e.southNormal,g=e.eastNormal,f=e.northNormal;t.mode!==oe.SCENE3D&&(d=t.mapProjection.project(le.southwest(e.rectangle),zJe),d.z=d.y,d.y=d.x,d.x=0,u=t.mapProjection.project(le.northeast(e.rectangle),KJe),u.z=u.y,u.y=u.x,u.x=0,m=JJe,g=h.UNIT_Y,p=QJe,f=h.UNIT_Z);let x=h.subtract(i,d,Dle),_=h.dot(x,m),C=h.dot(x,p),V=h.subtract(i,u,Dle),L=h.dot(V,g),Z=h.dot(V,f);_>0?r+=_*_:L>0&&(r+=L*L),C>0?r+=C*C:Z>0&&(r+=Z*Z)}let s,a,c;if(t.mode===oe.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let d=s-c;r+=d*d}else if(s0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):un.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,un.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=bK(un.projectPointOntoPlane(c,t,pK),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=Jle(t,p[0],p[1]),h.distance(a,t)}let u=Number.MAX_VALUE,m;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=bK(un.projectPointOntoPlane(c,t,pK),i[r],c,this._edgeNormals[n[r]]),m=h.distanceSquared(a,t),m3)return a=bK(un.projectPointOntoPlane(this._boundingPlanes[1],t,pK),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let d=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+d)%4]):h.distance(t,this._vertices[4+(n[1]-2+d)%4])};var fQe=new h,pQe=new h;function Jle(e,t,n){let i=h.subtract(n,t,fQe),o=h.subtract(e,t,pQe),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var bQe=new un(h.UNIT_X,0);function bK(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c0&&(f=!0,m+=d),s1||ci(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=l(n.transform)?M.unpack(n.transform):M.clone(M.IDENTITY);let a=l(i)?i.computedTransform:e.modelMatrix,c=M.multiply(a,this.transform,new M),d=l(i)?i._initialTransform:M.IDENTITY;this._initialTransform=M.multiply(d,this.transform,new M),this.computedTransform=c,this.metadata=iP(e,n),this._verticalExaggeration=1,this._verticalExaggerationRelativeHeight=0,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let u;l(s)&&l(s.boundingVolume)&&(u=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=u,this._contentBoundingVolume2D=void 0;let m;l(n.viewerRequestVolume)&&(m=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=m,this.geometricError=n.geometricError,this._geometricError=n.geometricError,l(this._geometricError)||(this._geometricError=l(i)?i._geometricError:e._geometricError,ir._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;l(n.refine)?((n.refine==="replace"||n.refine==="add")&&ir._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?Do.REPLACE:Do.ADD):l(i)?p=i.refine:p=Do.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,f=!1,x,_,C;if(t=Le.createIfNeeded(t),r)x=Oo.UNLOADED,_=t.clone();else if(l(s)){let G=s.uri;l(s.url)&&(ir._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),G=s.url),G===""?(ir._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new p1(e,this),f=!0,x=Oo.READY):(x=Oo.UNLOADED,_=t.getDerivedResource({url:G}),C=ic.getServerKey(_.getUrlComponent()))}else g=new p1(e,this),f=!0,x=Oo.READY;this._content=g,this._contentResource=_,this._contentState=x,this._expiredContent=void 0,this._serverKey=C,this.hasEmptyContent=f,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.cacheNode=void 0;let V=n.expire,L,Z;l(V)&&(L=V.duration,l(V.date)&&(Z=j.fromIso8601(V.date))),this.expireDuration=L,this.expireDate=Z,this.lastStyleTime=0,this._optimChildrenWithinParent=Nu.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._wasSelectedLastFrame=!1,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._isClippedByPolygon=!1,this._clippingPlanesState=0,this._clippingPolygonsState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=B.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new j,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}ir._deprecationWarning=hs;Object.defineProperties(ir.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return l(this._color)||(this._color=new B),B.clone(this._color)},set:function(e){this._color=B.clone(e,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||l(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===Oo.READY}},contentUnloaded:{get:function(){return this._contentState===Oo.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===Oo.EXPIRED}},contentFailed:{get:function(){return this._contentState===Oo.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var Bg=new h;function CQe(e,t){let{tileset:n,boundingSphere:i}=e,{radius:o,center:r}=i,{camera:s}=t,a=h.multiplyByScalar(s.directionWC,e._centerZDepth,Bg),c=h.add(s.positionWC,a,Bg),d=h.subtract(c,r,Bg);if(h.magnitude(d)>o){let Z=h.normalize(d,Bg),G=h.multiplyByScalar(Z,o,Bg),I=h.add(r,G,Bg),v=h.subtract(I,s.positionWC,Bg),P=h.normalize(v,Bg);e._foveatedFactor=1-Math.abs(h.dot(s.directionWC,P))}else e._foveatedFactor=0;let p=e.refine===Do.REPLACE,g=n.isSkippingLevelOfDetail;if(p&&!g||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&p&&g||n._pass===Fo.PRELOAD_FLIGHT||n._pass===Fo.PRELOAD)return!1;let f=1-Math.cos(s.frustum.fov*.5),x=n.foveatedConeSize*f;if(e._foveatedFactor<=x)return!1;let _=f-x,C=W.clamp((e._foveatedFactor-x)/_,0,1),V=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.memoryAdjustedScreenSpaceError,C),L=e._screenSpaceError===0&&l(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.memoryAdjustedScreenSpaceError-V<=L}var nde=new j;ir.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=l(this.parent)?this.parent.geometricError:i._scaledGeometricError,s=t?r:this.geometricError;if(s===0)return 0;let{camera:a,context:c}=e,d=a.frustum,u=c.drawingBufferWidth,m=c.drawingBufferHeight*o,p;if(e.mode===oe.SCENE2D||d instanceof ln){let g=d.offCenterFrustum;l(g)&&(d=g);let f=Math.max(d.top-d.bottom,d.right-d.left)/Math.max(u,m);p=s/f}else{let g=Math.max(this._distanceToCamera,W.EPSILON7),f=d.sseDenominator;if(p=s*m/(g*f),i.dynamicScreenSpaceError){let x=i._dynamicScreenSpaceErrorComputedDensity,_=i.dynamicScreenSpaceErrorFactor,C=W.fog(g,x)*_;p-=C}}return p/=e.pixelRatio,p};function VQe(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=e.memoryAdjustedScreenSpaceError,i=t._screenSpaceErrorProgressiveResolution>n;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let o=t.parent,r=t._screenSpaceErrorProgressiveResolution<=n,s=l(o)&&o._screenSpaceErrorProgressiveResolution>n;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,i=!0),i}function LQe(e,t){let n=t.parent,o=l(n)&&(!e.isSkippingLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}ir.prototype.updateVisibility=function(e){let{parent:t,tileset:n}=this;if(this._updatedVisibilityFrame===n._updatedVisibilityFrame)return;let i=l(t)?t.computedTransform:n.modelMatrix,o=l(t)?t._visibilityPlaneMask:ps.MASK_INDETERMINATE;this.updateTransform(i,e),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==ps.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=LQe(n,this),this._priorityProgressiveResolution=VQe(n,this),this.priorityDeferred=CQe(this,e),this._updatedVisibilityFrame=n._updatedVisibilityFrame};ir.prototype.updateExpiration=function(){if(l(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=j.now(nde);j.lessThan(this.expireDate,e)&&(this._contentState=Oo.EXPIRED,this._expiredContent=this._content)}};function RQe(e){if(!l(e.expireDuration))return;let t=j.now(nde);j.addSeconds(t,e.expireDuration,t),l(e.expireDate)?j.lessThan(e.expireDate,t)&&j.clone(t,e.expireDate):e.expireDate=j.clone(t)}function ZQe(e){return function(){return e._priority}}ir.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?GQe(this):IQe(this)};function GQe(e){let t=e._content,n=e._tileset;if(!l(t)){let o=ci(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new oP(n,e,e._contentResource.clone(),o),e._content=t}let i=t.requestInnerContents();if(l(i))return e._contentState=Oo.LOADING,i.then(o=>{if(!e.isDestroyed()&&l(o))return e._contentState=Oo.PROCESSING,t}).catch(o=>{if(!e.isDestroyed())throw e._contentState=Oo.FAILED,o})}async function EQe(e,t,n,i,o){let r=e._contentState;e._contentState=Oo.LOADING,++t.statistics.numberOfPendingRequests;let s;try{s=await o}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;if(n.cancelled||n.state===ti.CANCELLED){e._contentState=r,++t.statistics.numberOfAttemptedRequests;return}throw e._contentState=Oo.FAILED,a}if(e.isDestroyed()){--t.statistics.numberOfPendingRequests;return}if(n.cancelled||n.state===ti.CANCELLED){e._contentState=r,--t.statistics.numberOfPendingRequests,++t.statistics.numberOfAttemptedRequests;return}try{let a=await XQe(e,s);return--t.statistics.numberOfPendingRequests,e.isDestroyed()?void 0:(i&&(e.expireDate=void 0),e._content=a,e._contentState=Oo.PROCESSING,a)}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;throw e._contentState=Oo.FAILED,a}}function IQe(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new Qo({throttle:!0,throttleByServer:!0,type:us.TILES3D,priorityFunction:ZQe(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=e._tileset,r=t.fetchArrayBuffer();if(!l(r)){++o.statistics.numberOfAttemptedRequests;return}return EQe(e,o,i,n,r)}async function XQe(e,t){let n=Lf(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===Is.GEOMETRY||n.contentType===Is.VECTOR,(n.contentType===Is.IMPLICIT_SUBTREE||n.contentType===Is.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===Is.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=N_[n.contentType];if(e.isDestroyed())return;l(n.binaryPayload)?o=await Promise.resolve(r(i,e,e._contentResource,n.binaryPayload.buffer,0)):o=await Promise.resolve(r(i,e,e._contentResource,n.jsonPayload));let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,d=e.implicitCoordinates;o.metadata=c.getContentMetadataView(d,0)}else e.hasImplicitContent||(o.metadata=k_(i,s));let a=U_(i,s);return l(a)&&(o.group=new n_({metadata:a})),o}ir.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};ir.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=Oo.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this.clippingPolygonsDirty=this._clippingPolygonsState===0,this._clippingPolygonsState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var ide=new de;function xK(e,t){if(t.mode!==oe.SCENE3D&&!l(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=de.projectTo2D(n,t.mapProjection,ide);e._boundingVolume2D=new Ib(i.center,i.radius)}return t.mode!==oe.SCENE3D?e._boundingVolume2D:e._boundingVolume}function WQe(e,t){if(t.mode!==oe.SCENE3D&&!l(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=de.projectTo2D(n,t.mapProjection,ide);e._contentBoundingVolume2D=new Ib(i.center,i.radius)}return t.mode!==oe.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}ir.prototype.visibility=function(e,t){let n=e.cullingVolume,i=xK(this,e),o=this._tileset,r=o.clippingPlanes;if(l(r)&&r.enabled){let a=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=a!==zt.INSIDE,a===zt.OUTSIDE)return ps.MASK_OUTSIDE}let s=o.clippingPolygons;if(l(s)&&s.enabled){let a=s.computeIntersectionWithBoundingVolume(i);this._isClippedByPolygon=a!==zt.OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};ir.prototype.contentVisibility=function(e){if(!l(this._contentBoundingVolume))return zt.INSIDE;if(this._visibilityPlaneMask===ps.MASK_INSIDE)return zt.INSIDE;let t=e.cullingVolume,n=WQe(this,e),i=this._tileset,o=i.clippingPlanes;if(l(o)&&o.enabled){let s=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=s!==zt.INSIDE,s===zt.OUTSIDE)return zt.OUTSIDE}let r=i.clippingPolygons;if(l(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(n);if(this._isClippedByPolygon=s!==zt.OUTSIDE,s===zt.INSIDE)return zt.OUTSIDE}return t.computeVisibility(n)};ir.prototype.distanceToTile=function(e){return xK(this,e).distanceToCamera(e)};var PQe=new h;ir.prototype.distanceToTileCenter=function(e){let n=xK(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,PQe);return h.dot(e.camera.directionWC,i)};ir.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!l(t)||t.distanceToCamera(e)===0};var ode=new $,rde=new h,vQe=new $,_K=new h,sde=new le,ade=new In,yK=new M;function wQe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],_K),o=$.fromArray(e,3,vQe);i=M.multiplyByPoint(t,i,i);let r=M.getMatrix3(t,ode);return o=$.multiply(r,o,o),l(n)?(n.update(i,o),n):new Id(i,o)}function FQe(e,t,n,i){let o=le.unpack(e,0,sde),r=e[4],s=e[5],a=In.fromRectangle(o,r,s,ne.WGS84,ade),c=a.center,d=a.halfAxes;t=M.multiplyTransformation(t,M.inverseTransformation(n,yK),yK),c=M.multiplyByPoint(t,c,c);let u=M.getMatrix3(t,ode);return d=$.multiply(u,d,d),l(i)&&i instanceof Id?(i.update(c,d),i):new Id(c,d)}function AQe(e,t,n,i){if(!M.equalsEpsilon(t,n,W.EPSILON8))return FQe(e,t,n,i);let o=le.unpack(e,0,sde);return l(i)?(i.rectangle=le.clone(o,i.rectangle),i.minimumHeight=e[4],i.maximumHeight=e[5],i.computeBoundingVolumes(ne.WGS84),i):new Bu({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function MQe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],_K),o=e[3];i=M.multiplyByPoint(t,i,i);let r=M.getScale(t,rde),s=h.maximumComponent(r);return o*=s,l(n)?(n.update(i,o),n):new Ib(i,o)}ir.prototype.createBoundingVolume=function(e,t,n){let i=this.metadata,o;if(l(i)&&(o=__.parseBoundingVolumeSemantic("TILE",i)),l(o)&&(e=o),!l(e))throw new ce("boundingVolume must be defined");if(ci(e,"3DTILES_bounding_volume_S2"))return new cP(e.extensions["3DTILES_bounding_volume_S2"]);let{box:r,region:s,sphere:a}=e;if(l(r)){let c=wQe(r,t,n);return this._verticalExaggeration!==1&&$le(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c}if(l(s)){let c=AQe(s,t,this._initialTransform,n);return this._verticalExaggeration===1||(c instanceof Id?$le(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight):(c.minimumHeight=Cr.getHeight(c.minimumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.maximumHeight=Cr.getHeight(c.maximumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.computeBoundingVolumes(ne.WGS84))),c}if(l(a)){let c=MQe(a,t,n);if(this._verticalExaggeration!==1){let d=Cr.getPosition(c.center,ne.WGS84,this._verticalExaggeration,this._verticalExaggerationRelativeHeight,_K),u=c.radius*this._verticalExaggeration;c.update(d,u)}return c}throw new ce("boundingVolume must contain a sphere, region, or box")};var NQe=h.unpackArray(new Array(8*3).fill(0));function $le(e,t,n){let i=e.boundingVolume.computeCorners(NQe).map(r=>Cr.getPosition(r,ne.WGS84,t,n,r)),o=In.fromPoints(i,ade);e.update(o.center,o.halfAxes)}ir.prototype.updateTransform=function(e,t){e=y(e,M.IDENTITY);let n=M.multiplyTransformation(e,this.transform,yK),i=!M.equals(n,this.computedTransform),o=l(t)&&(this._verticalExaggeration!==t.verticalExaggeration||this._verticalExaggerationRelativeHeight!==t.verticalExaggerationRelativeHeight);if(!i&&!o)return;i&&M.clone(n,this.computedTransform),o&&(this._verticalExaggeration=t.verticalExaggeration,this._verticalExaggerationRelativeHeight=t.verticalExaggerationRelativeHeight);let r=this._header,s=this._contentHeader;this._boundingVolume=this.createBoundingVolume(r.boundingVolume,this.computedTransform,this._boundingVolume),l(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(s.boundingVolume,this.computedTransform,this._contentBoundingVolume)),l(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(r.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};ir.prototype.updateGeometricErrorScale=function(){let e=M.getScale(this.computedTransform,rde),t=h.maximumComponent(e);if(this.geometricError=this._geometricError*t,!l(this.parent)){let n=this._tileset;n._scaledGeometricError=n._geometricError*t}};function kQe(e,t,n,i){if(!i.isRender)return;let o=l(e._contentHeader)&&l(e._contentHeader.boundingVolume),r=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(r){let c;e._finalResolution?e.hasRenderableContent?c=B.WHITE:c=B.DARKGRAY:c=B.YELLOW,l(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(c)),e._debugBoundingVolume.update(n);let d=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");d.color=Ht.toValue(c,d.color)}else!r&&l(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(l(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(B.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&l(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&l(e._viewerRequestVolume)?(l(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(B.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&l(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let s=t.debugColorizeTiles&&!e._debugColorizeTiles||l(t._heatmap.tilePropertyName),a=!t.debugColorizeTiles&&e._debugColorizeTiles;s?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):a&&(e._debugColorizeTiles=!1,e.color=B.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),a&&t.makeStyleDirty()}function UQe(e,t,n){let i=e._expiredContent;if(!e.hasMultipleContents&&l(i)){if(!e.contentReady){try{i.update(t,n)}catch{}return}e._expiredContent.destroy(),e._expiredContent=void 0}if(l(e.content))try{e.content.update(t,n)}catch(o){throw e._contentState=Oo.FAILED,o}}function DQe(e,t){let n=t.clippingPlanes,i=0;l(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}function BQe(e,t){let n=t.clippingPolygons,i=0;l(n)&&e._isClippedByPolygon&&n.enabled&&(i=n.clippingPolygonsState),i!==e._clippingPolygonsState&&(e._clippingPolygonsState=i,e.clippingPolygonsDirty=!0)}ir.prototype.update=function(e,t,n){let{commandList:i}=t,o=i.length;DQe(this,e),BQe(this,e),kQe(this,e,t,n),UQe(this,e,t);let r=i.length;this._commandsLength=r-o;for(let s=o;se.cacheBytes||n);){let s=r.item;r=r.next,this.unloadTile(e,s,t)}};Q_.prototype.trim=function(){this._trimTiles=!0};var hP=Q_;var COn=T(S(),1);function yk(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function SK(e,t){let n;return t==="_loadTimestamp"?n=j.toDate(e).getTime():n=e,n}yk.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=SK(e,n),this._referenceMaximum[n]=SK(t,n)};function HQe(e,t){let n=e.tilePropertyName;if(l(n)){let i=SK(t[n],n);return l(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var TK=[new B(.1,.1,.1,1),new B(.153,.278,.878,1),new B(.827,.231,.49,1),new B(.827,.188,.22,1),new B(1,.592,.259,1),new B(1,.843,0,1)];yk.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!l(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=HQe(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+W.EPSILON7,c=W.clamp(i-o,0,s)/s,d=TK.length-1,u=c*d,m=Math.floor(u),p=Math.ceil(u),g=u-m,f=TK[m],x=TK[p],_=B.clone(B.WHITE);_.red=W.lerp(f.red,x.red,g),_.green=W.lerp(f.green,x.green,g),_.blue=W.lerp(f.blue,x.blue,g),e._debugColor=_};yk.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(l(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=l(t)&&l(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var fP=yk;var ZOn=T(S(),1);function R1(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.texturesReferenceCounterById={},this.batchTableByteLength=0}R1.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};R1.prototype.incrementSelectionCounts=function(e){this.numberOfFeaturesSelected+=e.featuresLength,this.numberOfPointsSelected+=e.pointsLength,this.numberOfTrianglesSelected+=e.trianglesLength;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function VK(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}gP.encode2D=function(e,t){return(ude(e)|ude(t)<<1)>>>0};gP.decode2D=function(e,t){return l(t)||(t=new Array(2)),t[0]=mde(e),t[1]=mde(e>>1),t};gP.encode3D=function(e,t,n){return CK(e)|CK(t)<<1|CK(n)<<2};gP.decode3D=function(e,t){return l(t)||(t=new Array(3)),t[0]=VK(e),t[1]=VK(e>>1),t[2]=VK(e>>2),t};var Og=gP;function Yo(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===ts.OCTREE&&(this.z=e.z)}Object.defineProperties(Yo.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===ts.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===ts.OCTREE?Og.encode3D(this.x,this.y,this.z):Og.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===ts.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});Yo.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===ts.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};Yo.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===ts.OCTREE?this.z===e.z:!0)};Yo.prototype.isImplicitTilesetRoot=function(){return this.level===0};Yo.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};Yo.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};Yo.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===ts.OCTREE&&(e.z=this.z),e};var hde=[0,0,0];Yo.fromMortonIndex=function(e,t,n,i){let o;return e===ts.OCTREE?(o=Og.decode3D(i,hde),new Yo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Og.decode2D(i,hde),new Yo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};Yo.fromTileIndex=function(e,t,n){let i,o,r;return e===ts.OCTREE?(i=Math.floor(W.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(W.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),Yo.fromMortonIndex(e,t,i,r)};var q_=Yo;var r3n=T(S(),1);var $On=T(S(),1);function vb(){}vb.selectTiles=function(e,t){fe.throwInstantiationError()};vb.sortChildrenByDistanceToCamera=function(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera};vb.canTraverse=function(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:e._screenSpaceError>e.tileset.memoryAdjustedScreenSpaceError};vb.selectTile=function(e,t){if(e.contentVisibility(t)===zt.OUTSIDE)return;e._wasSelectedLastFrame=!0;let{content:n,tileset:i}=e;n.featurePropertiesDirty?(n.featurePropertiesDirty=!1,e.lastStyleTime=0,i._selectedTilesToStyle.push(e)):e._selectedFrame0;if((e.hasTilesetContent||e.hasImplicitContent)&&n){let r=e.children[0];fde(r,t),e._visible=r._visible;return}if(jQe(e,t)){e._visible=!1;return}let i=e.refine===Do.REPLACE,o=e._optimChildrenWithinParent===Nu.USE_OPTIMIZATION;if(i&&o&&n&&!qQe(e,t)){++e.tileset._statistics.numberOfTilesCulledWithChildrenUnion,e._visible=!1;return}}function jQe(e,t){let{parent:n,tileset:i}=e;return!l(n)||n.hasTilesetContent||n.hasImplicitContent||n.refine!==Do.ADD?!1:e.getScreenSpaceError(t,!0)<=i.memoryAdjustedScreenSpaceError}function qQe(e,t){let n=!1,i=e.children;for(let o=0;o0;){yP.stackMaximumLength=Math.max(yP.stackMaximumLength,s.length);let a=s.pop(),c=a.refine===Do.ADD,d=a.refine===Do.REPLACE,u=e4e(a);u&&t4e(a,s,t),(c||d&&!u)&&(n4e(e,a),o(a,t),i4e(a,t),a.hasRenderableContent&&!a.contentAvailable&&(n=!1)),r(a,t)}return yP.stack.trim(yP.stackMaximumLength),n};function e4e(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:(e.hasEmptyContent,!0)}function t4e(e,t,n){let{children:i}=e;for(let o=0;o0;){_P.stackMaximumLength=Math.max(_P.stackMaximumLength,a.length);let c=a.pop(),d=c.parent,u=!l(d)||d._refines;c._refines=i(c)?o4e(c,a,t)&&u:!1;let m=!c._refines&&u;c.hasRenderableContent?c.refine===Do.ADD?(LK(c,t),o(c,t)):c.refine===Do.REPLACE&&(o(c,t),m&&LK(c,t)):(n._emptyTiles.push(c),o(c,t),m&&LK(c,t)),r(c,t),s(c,t)}}function s4e(e,t){let{canTraverse:n,updateTile:i,loadTile:o,touchTile:r}=Qs,s=!0,a=TP.stack;for(a.push(e);a.length>0;){TP.stackMaximumLength=Math.max(TP.stackMaximumLength,a.length);let c=a.pop(),d=c.children,u=d.length,m=!c.hasRenderableContent&&n(c);if(!m&&!c.contentAvailable&&(s=!1),i(c,t),c.isVisible||(o(c,t),r(c,t)),m)for(let p=0;p0;){VP.stackMaximumLength=Math.max(VP.stackMaximumLength,r.length);let a=r.pop().children;for(let c=0;cn._depth+e.skipLevels)}function u4e(e,t,n){let{tileset:i,children:o}=e,{updateTile:r,loadTile:s,touchTile:a}=Qs;for(let d=0;dt:e._screenSpaceError>t:!0}function h4e(e,t){let{tileset:n}=e,i=n.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(n.baseScreenSpaceError,n.memoryAdjustedScreenSpaceError),{canTraverse:o,loadTile:r,visitTile:s,touchTile:a}=Qs,c=CP.stack;for(c.push(e);c.length>0;){CP.stackMaximumLength=Math.max(CP.stackMaximumLength,c.length);let d=c.pop();l4e(d,t);let u=d.parent,m=!l(u)||u._refines;d._refines=o(d)?u4e(d,c,t)&&m:!1;let p=!d._refines&&m;d.hasRenderableContent?d.refine===Do.ADD?(xk(d,t),r(d,t)):d.refine===Do.REPLACE&&(m4e(d,i)?(r(d,t),p&&xk(d,t)):p?(xk(d,t),r(d,t)):d4e(n,d)&&r(d,t)):(n._emptyTiles.push(d),r(d,t),p&&xk(d,t)),s(d,t),a(d,t)}}function f4e(e,t){let{selectTile:n,canTraverse:i}=Qs,{stack:o,ancestorStack:r}=wb,s;for(o.push(e);o.length>0||r.length>0;){if(wb.stackMaximumLength=Math.max(wb.stackMaximumLength,o.length),wb.ancestorStackMaximumLength=Math.max(wb.ancestorStackMaximumLength,r.length),r.length>0){let d=r.peek();if(d._stackLength===o.length){r.pop(),d!==s&&(d._finalResolution=!1),n(d,t);continue}}let a=o.pop();if(!l(a))continue;let c=i(a);if(a._shouldSelect)if(a.refine===Do.ADD)n(a,t);else{if(a._selectionDepth=r.length,a._selectionDepth>0&&(a.tileset.hasMixedContent=!0),s=a,!c){n(a,t);continue}r.push(a),a._stackLength=o.length}if(c){let d=a.children;for(let u=0;uhi._defaultMinTerrainHeight&&(s._initialClippingPlanesOriginMatrix=vt.eastNorthUpToFixedFrame(p)),s._clippingPlanesOriginMatrix=M.clone(s._initialClippingPlanesOriginMatrix),s};or.loadJson=function(e){return Le.createIfNeeded(e).fetchJson()};or.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};or.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!l(i))throw new ce("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new ce("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");l(t.extensionsRequired)&&or.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;l(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=yde(this,e,t.root,n);l(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===Do.ADD;let d=c._header.children;if(l(d))for(let u=0;u_.minimumRadius){let L=he.fromCartesian(V,_,b4e);n=h.normalize(a.positionWC,xde),i=a.directionWC,o=a.positionCartographic.height,r=0,s=L.height*2}else{let L=M.multiplyByPoint(x,a.positionWC,x4e);if(n=h.UNIT_Z,i=M.multiplyByPointAsVector(x,a.directionWC,_4e),i=h.normalize(i,i),o=L.z,d instanceof Id){let Z=$.getColumn(C.halfAxes,2,T4e),G=h.magnitude(Z);r=V.z-G,s=V.z+G}else if(d instanceof Ib){let Z=C.radius;r=V.z-Z,s=V.z+Z}}}let u=e.dynamicScreenSpaceErrorHeightFalloff,m=r+(s-r)*u,p=s,g=W.clamp((o-m)/(p-m),0,1),f=1-Math.abs(h.dot(i,n));f=f*(1-g),e._dynamicScreenSpaceErrorComputedDensity=e.dynamicScreenSpaceErrorDensity*f}function C4e(e,t){if(t.hasEmptyContent)return;let{statistics:n}=e,i=t.contentExpired,o=t.requestContent();l(o)&&(o.then(r=>{!l(r)||t.isDestroyed()||e.isDestroyed()||(e._processingQueue.push(t),++n.numberOfTilesProcessing)}).catch(r=>{Sde(r,e,t)}),i&&(t.hasTilesetContent||t.hasImplicitContent?A4e(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t))}function Tde(e,t){return e._priority-t._priority}or.prototype.postPassesUpdate=function(e){l(this._root)&&(V4e(this,e),N4e(this,e),this._cache.unloadTiles(this,Vde),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};or.prototype.prePassesUpdate=function(e){if(!l(this._root))return;X4e(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,l(t)&&t.enabled&&t.update(e);let n=this._clippingPolygons;l(n)&&n.enabled&&n.update(e),l(this._loadTimestamp)||(this._loadTimestamp=j.clone(e.time)),this._timeSinceLoad=Math.max(j.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&S4e(this,e),e.newFrame&&this._cache.reset()};function V4e(e,t){let n=e._requestedTilesInFlight,i=0;for(let o=0;o=1;if(r._contentState!==Oo.LOADING){++i;continue}else if(s){r.cancelRequests(),++i;continue}i>0&&(n[o-i]=r)}n.length-=i}function L4e(e){let t=e._requestedTiles;t.sort(Tde);for(let n=0;n0?t.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`),console.log(e.stack))}function R4e(e){let t=e._processingQueue,n=0;for(let i=0;i0&&(t[i-n]=o)}t.length-=n}var Z4e=new he,G4e=new he,E4e=new h;function I4e(e,t,n){if(!e.enableCollision||!e.show)return;let i=e._addHeightCallbacks,o=t.boundingSphere;for(let r of i){if(r.invoked||t._wasSelectedLastFrame)continue;let s=r.ellipsoid,a=he.clone(r.positionCartographic,Z4e),c=he.fromCartesian(o.center,s,G4e);l(c)&&(a.height=c.height);let d=he.toCartesian(a,s,E4e);h.distance(d,o.center)<=o.radius&&n.afterRender.push(()=>{l(r.callback)&&r.callback(a),r.invoked=!1})}}function X4e(e,t){R4e(e);let n=e._processingQueue,{cacheBytes:i,maximumCacheOverflowBytes:o,statistics:r}=e,s=i+o,a=!1;for(let c=0;cs){a=!0;break}let d=n[c];try{d.process(e,t),d.contentReady&&(--r.numberOfTilesProcessing,e.tileLoad.raiseEvent(d))}catch(u){--r.numberOfTilesProcessing,Sde(u,e,d)}}e.totalMemoryUsageInBytes0&&W4e(e)}function W4e(e){e._memoryAdjustedScreenSpaceError*=1.02;let t=e._processingQueue;for(let n=0;n0&&(i+=` Points: ${e.content.pointsLength}`,o++),e.content.trianglesLength>0&&(i+=` Triangles: ${e.content.trianglesLength}`,o++),i+=` Features: ${e.content.featuresLength}`,o++),t.debugShowMemoryUsage&&(i+=` -Texture Memory: ${ade(e.content.texturesByteLength)}`,i+=` -Geometry Memory: ${ade(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=` +Texture Memory: ${_de(e.content.texturesByteLength)}`,i+=` +Geometry Memory: ${_de(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=` Urls:`;let s=e.content.innerContentUrls;for(let a=0;a0;e._backfaceCommands.length=0,a&&(l(e._stencilClearCommand)||(e._stencilClearCommand=new ni({stencil:0,pass:Ze.CESIUM_3D_TILE,renderState:Be.fromCache({stencilMask:Bt.SKIP_LOD_MASK})})),i.push(e._stencilClearCommand));let{statistics:c,tileVisible:d}=e,u=n.isRender,m=i.length;for(let f=0;f=0;--_)i[m+x+_]=i[m+_];for(let _=0;_0&&e._pointCloudEyeDomeLighting.update(t,r,e.pointCloudShading,e.boundingSphere),e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(l(e._tileDebugLabels)||(e._tileDebugLabels=new yf),c4e(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var dde=[];function d4e(e,t){let n=t,i=dde;for(i.push(t);i.length>0;){t=i.pop();let o=t.children;for(let r=0;r{t.push(Et.clone(i))});let n=e.asset.extras;if(l(n)&&l(n.cesium)&&l(n.cesium.credits)){let i=n.cesium.credits;for(let o=0;oi.showOnScreen=i.showOnScreen||e._showCreditsOnScreen),e._credits=t}tr.prototype.getTraversal=function(e){let{pass:t}=e;return t===vo.MOST_DETAILED_PRELOAD||t===vo.MOST_DETAILED_PICK?lP:this.isSkippingLevelOfDetail?pP:mP};tr.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};tr.prototype.updateForPass=function(e,t){let n=t.pass;if(n===vo.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===vo.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===vo.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=vo.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),d=c.length;e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r);let u=this._clippingPolygons;l(u)&&u.enabled&&u.queueCommands(e);let m=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=p4e(this,e,m,s)),a&&(c.length=d),e.commandList=i,e.camera=o,e.cullingVolume=r};tr.prototype.hasExtension=function(e){return l(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};tr.prototype.isDestroyed=function(){return!1};tr.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),l(this._root)){let e=dde;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children;for(let i=0;i{let r=this._addHeightCallbacks,s=r.length;for(let a=0;a{let u=le.distanceSquaredTo(c.contentBoundingVolume.boundingSphere,e.origin),m=le.distanceSquaredTo(d.contentBoundingVolume.boundingSphere,e.origin);return u-m});let a;for(let c=0;c-1;i--)CK(this,e[i],t,n);return me(this)};Mg.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!l(n)||n.loadFail)return ht.FAILED;let i=n.tilesetPrimitive;return l(i)?i.show?(le.clone(i.boundingSphere,t),ht.DONE):ht.FAILED:ht.PENDING};Mg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._tileset)?s.set(r.id,r):(CK(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],CK(this,r,a,c),s.remove(r.id)};function CK(e,t,n,i){let o=n[t.id];l(o)&&(l(o.tilesetPrimitive)&&i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}async function S4e(e,t,n,i){t[n.id]={url:e.url,loadFail:!1};try{let o=await fa.fromUrl(e);if(o.id=n,i.add(o),!l(t[n.id]))return;t[n.id].tilesetPrimitive=o}catch(o){console.error(o),t[n.id].loadFail=!0}}var bP=Mg;var nOn=T(S(),1);var C4e=B.WHITE,V4e=B.BLACK,L4e=new D(2,2);function S1(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new be,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(S1.prototype,{isConstant:{get:function(){return K.isConstant(this._evenColor)&&K.isConstant(this._oddColor)&&K.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:ue("evenColor"),oddColor:ue("oddColor"),repeat:ue("repeat")});S1.prototype.getType=function(e){return"Checkerboard"};var R4e=new j;S1.prototype.getValue=function(e,t){return l(e)||(e=j.now(R4e)),l(t)||(t={}),t.lightColor=K.getValueOrClonedDefault(this._evenColor,e,C4e,t.lightColor),t.darkColor=K.getValueOrClonedDefault(this._oddColor,e,V4e,t.darkColor),t.repeat=K.getValueOrDefault(this._repeat,e,L4e),t};S1.prototype.equals=function(e){return this===e||e instanceof S1&&K.equals(this._evenColor,e._evenColor)&&K.equals(this._oddColor,e._oddColor)&&K.equals(this._repeat,e._repeat)};var C1=S1;var _On=T(S(),1);var hOn=T(S(),1);var hde={id:void 0};function gP(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function bc(e){this._owner=e,this._entities=new Zt,this._addedEntities=new Zt,this._removedEntities=new Zt,this._changedEntities=new Zt,this._suspendCount=0,this._collectionChanged=new be,this._id=Yn(),this._show=!0,this._firing=!1,this._refire=!1}bc.prototype.suspendEvents=function(){this._suspendCount++};bc.prototype.resumeEvents=function(){this._suspendCount--,gP(this)};Object.defineProperties(bc.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t-1;c--)s=a[c],pde(e,p,g,s);for(r=n-1;r>=0;r--)for(d=t[r],d.collectionChanged.addEventListener(Ar.prototype._onCollectionChanged,e),a=d.values,g=d.id,c=a.length-1;c>-1;c--){s=a[c],fde(e,p,g,s);let x=m.getById(s.id);l(x)||(x=u.getById(s.id),l(x)?VK(x):(bk.id=s.id,x=new qo(bk)),m.add(x)),x.merge(s)}e._collectionsCopy=t.slice(0),u.suspendEvents(),u.removeAll();let f=m.values;for(r=0;r=0;a--)c=i[a].getById(x),l(c)&&(l(d)||(d=r.getById(x),VK(d)),d.merge(c));l(d)||r.removeById(x),d=void 0}let g=t.length;for(s=0;s=0;a--)c=i[a].getById(x),l(c)&&(l(d)||(d=r.getById(x),l(d)?VK(d):(bk.id=x,d=new qo(bk),r.add(d))),d.merge(c));d=void 0}r.resumeEvents()};Ar.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),d=c[t],u=!l(d),m=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(l(g)){let f=g[t];if(l(f)){if(m)if(m=!1,l(f.merge)&&l(f.clone))d=f.clone(d);else{d=f;break}d.merge(f)}}}u&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=d};var LK=Ar;var KOn=T(S(),1);var UOn=T(S(),1);var SOn=T(S(),1);function RK(){this._removalFunctions=[]}RK.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};RK.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};Nr.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};Nr.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};Nr.prototype.contains=function(e){return this.indexOf(e)>=0};var ZK=new Rn;Nr.prototype.indexOf=function(e){let t=this._intervals;ZK.start=e,ZK.stop=e;let n=Go(t,ZK,EK);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-10&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i0&&(o=j.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((l(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?(j.greaterThan(e.stop,n[i-1].stop)?e=new Rn({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new Rn({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=j.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new Rn({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new Rn({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(l(t)?t(n[i].data,e.data):n[i].data===e.data)e=new Rn({start:e.start,stop:j.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:j.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new Rn({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};Nr.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=Go(t,e,EK);n<0&&(n=~n);let i=!1;for(n>0&&(j.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(j.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new Rn({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new Rn({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),yP[2]=ym(d)?29:28;a>yP[c]||c>=13;)a>yP[c]&&(a-=yP[c],++c),c>=13&&(--c,d+=Math.floor(c/12),c=c%12,++c),yP[2]=ym(d)?29:28;return gc.millisecond=i,gc.second=o,gc.minute=r,gc.hour=s,gc.day=a,gc.month=c,gc.year=d,j.fromGregorianDate(gc,n)}var Z4e=new j,G4e=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function gde(e,t){if(!l(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match(G4e);if(!l(n))return!1;if(l(n[1])&&(t.year=Number(n[1].replace(",","."))),l(n[2])&&(t.month=Number(n[2].replace(",","."))),l(n[3])&&(t.day=Number(n[3].replace(",","."))*7),l(n[4])&&(t.day+=Number(n[4].replace(",","."))),l(n[5])&&(t.hour=Number(n[5].replace(",","."))),l(n[6])&&(t.minute=Number(n[6].replace(",","."))),l(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),j.toGregorianDate(j.fromIso8601(e,Z4e),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var xP=new gp;Nr.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=j.fromIso8601(n[0]),o=j.fromIso8601(n[1]),r=[];if(!gde(n[2],xP))r.push(i,o);else{let s=j.clone(i);for(r.push(s);j.compare(s,o)<0;)s=GK(s,xP),j.compare(o,s)<=0&&j.clone(o,s),r.push(s)}return Nr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Nr.fromIso8601DateArray=function(e,t){return Nr.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return j.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Nr.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let d=0;d=0?-a:a}var Y4e=new h(-1,0,0),O_=new M,z4e=new M,WK=new $,H4e=$.IDENTITY.clone(),K4e=new h,J4e=new se,yde=new h;function X0(e,t,n,i,o,r,s,a){let c=K4e,d=J4e;O_=Ft.eastNorthUpToFixedFrame(e,o,O_),c=M.multiplyByPointAsVector(O_,Y4e,c),c=h.normalize(c,c);let u=O4e(c,t,e,o);WK=$.fromRotationZ(u,WK),yde.z=r,O_=M.multiplyTransformation(O_,M.fromRotationTranslation(WK,yde,z4e),O_);let m=H4e;m[0]=s;for(let p=0;p0){let x=d?2:1;for(let _=0;_=0};var q4e=new h,$4e=new h;_P.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=B4e(e,r),a=i._granularity,c=i._cornerType,d=o?j4e(t,n):xde(t,n),u=o?xde(t,n):void 0,m=n.height/2,p=n.width/2,g=e.length,f=[],x=o?[]:void 0,_=v4e,C=w4e,V=F4e,L=A4e,Z=M4e,G=N4e,I=k4e,v=U4e,P=D4e,w=e[0],F=e[1];L=r.geodeticSurfaceNormal(w,L),_=h.subtract(F,w,_),_=h.normalize(_,_),v=h.cross(L,_,v),v=h.normalize(v,v);let b=s[0],R=s[1];o&&(x=X0(w,v,u,x,r,b+m,1,1)),P=h.clone(w,P),w=F,C=h.negate(_,C);let E,X;for(let O=1;OIe;p--)Te=W.PI_OVER_TWO-p*ye,ee[ae++]=1-pe*(1+Math.cos(Te)),ee[ae++]=.5*(1+Math.sin(Te));for(p=Ie;p>0;p--)Te=W.PI_OVER_TWO-ye*p,ee[ae++]=1-_e*(1+Math.cos(Te)),ee[ae++]=.5*(1+Math.sin(Te));for(p=u-_;p>0;p--)ee[ae++]=p*_e,ee[ae++]=1;for(p=1;p0;p--)ee[ae++]=(p-1)*_e,ee[ae++]=1}c.st=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:ee})}return t.normal&&(c.normal=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:I.normals})),t.tangent&&(c.tangent=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:I.tangents})),t.bitangent&&(c.bitangent=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:I.bitangents})),{attributes:c,indices:U}}function mje(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,d;if(t.normal||t.bitangent||t.tangent){let u=t.normal?new Float32Array(s*6):void 0,m=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=vde,f=wde,x=Sk,_=Ck,C=uje,V=Fde,L=c;for(d=0;d-t?(o=xje,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),MK(e,o,i)};Cf.prototype.computeHorizonCullingPoint=function(e,t,n){return $de(this._ellipsoid,e,t,n)};var jde=ne.clone(ne.UNIT_SPHERE);Cf.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=qde(this._ellipsoid,n,jde);return $de(o,e,t,i)};Cf.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return eue(this._ellipsoid,e,t,n,i,o)};Cf.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=qde(this._ellipsoid,o,jde);return eue(s,e,t,n,i,r)};var _je=[];Cf.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=ce.subsample(e,t,0,_je),o=le.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var Tje=new h;function qde(e,t,n){if(l(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,Tje);e=ne.fromCartesian3(i,n)}return e}function $de(e,t,n,i){l(i)||(i=new h);let o=iue(e,t),r=0;for(let s=0,a=n.length;s0:s>o&&s*s/h.magnitudeSquared(r)>o)}var Sje=new h,Cje=new h;function tue(e,t,n){let i=e.transformPositionToScaledSpace(t,Sje),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,Cje);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),d=1/r,u=Math.sqrt(o-1)*d;return 1/(a*d-c*u)}function nue(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var AK=new h;function iue(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,AK),h.normalize(AK,AK))}var v0=Cf;var LHn=T(S(),1);function Vr(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;l(n)&&(n=kt.clone(n)),l(i)&&(i=kt.clone(i)),l(o)&&(o=vt.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=B.clone(y(e.color,B.WHITE)),this._outlineColor=B.clone(y(e.outlineColor,B.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1,this._splitDirection=y(e.splitDirection,Wr.NONE)}var oue=Vr.SHOW_INDEX=0,aue=Vr.POSITION_INDEX=1,Vje=Vr.COLOR_INDEX=2,Lje=Vr.OUTLINE_COLOR_INDEX=3,Rje=Vr.OUTLINE_WIDTH_INDEX=4,Zje=Vr.PIXEL_SIZE_INDEX=5,Gje=Vr.SCALE_BY_DISTANCE_INDEX=6,Eje=Vr.TRANSLUCENCY_BY_DISTANCE_INDEX=7,Ije=Vr.DISTANCE_DISPLAY_CONDITION_INDEX=8,Xje=Vr.DISABLE_DEPTH_DISTANCE_INDEX=9,Wje=Vr.SPLIT_DIRECTION_INDEX=10;Vr.NUMBER_OF_PROPERTIES=11;function Ld(e,t){let n=e._pointPrimitiveCollection;l(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(Vr.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Ld(this,oue))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),Ld(this,aue))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;kt.equals(t,e)||(this._scaleByDistance=kt.clone(e,t),Ld(this,Gje))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;kt.equals(t,e)||(this._translucencyByDistance=kt.clone(e,t),Ld(this,Eje))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,Ld(this,Zje))}},color:{get:function(){return this._color},set:function(e){let t=this._color;B.equals(t,e)||(B.clone(e,t),Ld(this,Vje))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;B.equals(t,e)||(B.clone(e,t),Ld(this,Lje))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Ld(this,Rje))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){vt.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=vt.clone(e,this._distanceDisplayCondition),Ld(this,Ije))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Ld(this,Xje))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Ld(this,oue))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,Ld(this,Wje))}}});Vr.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};Vr.prototype._getActualPosition=function(){return this._actualPosition};Vr.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),Ld(this,aue)};var rue=new se;Vr._computeActualPosition=function(e,t,n){return t.mode===oe.SCENE3D?e:(M.multiplyByPoint(n,e,rue),Mi.computeActualEllipsoidPosition(t,rue))};var sue=new se;Vr._computeScreenSpacePosition=function(e,t,n,i){let o=M.multiplyByVector(e,se.fromElements(t.x,t.y,t.z,1,sue),sue);return Mi.worldToWindowCoordinates(n,o,i)};Vr.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;l(t)||(t=new D);let i=n.modelMatrix,o=Vr._computeScreenSpacePosition(i,this._actualPosition,e,t);if(l(o))return o.y=e.canvas.clientHeight-o.y,o};Vr.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return l(n)||(n=new Ke),n.x=r,n.y=s,n.width=a,n.height=c,n};Vr.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&B.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&B.equals(this._outlineColor,e._outlineColor)&&kt.equals(this._scaleByDistance,e._scaleByDistance)&&kt.equals(this._translucencyByDistance,e._translucencyByDistance)&&vt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};Vr.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Rs=Vr;var nKn=T(S(),1);var ZHn=T(S(),1),Og=`in vec4 v_color; +Url: ${e._contentHeader.uri}`,o++;let r={text:i.substring(1),position:n,font:`${19-o}px sans-serif`,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function w4e(e,t){let n=e._selectedTiles,i=n.length,o=e._emptyTiles,r=o.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(l(e.debugPickedTile)){let s=l(e.debugPickPosition)?e.debugPickPosition:RK(e.debugPickedTile),a=ZK(e.debugPickedTile,e,s);a.pixelOffset=new D(15,-15)}}else{for(let s=0;s0;e._backfaceCommands.length=0,a&&(l(e._stencilClearCommand)||(e._stencilClearCommand=new oi({stencil:0,pass:Ge.CESIUM_3D_TILE,renderState:Be.fromCache({stencilMask:Dt.SKIP_LOD_MASK})})),i.push(e._stencilClearCommand));let{statistics:c,tileVisible:d}=e,u=n.isRender,m=i.length;for(let f=0;f=0;--_)i[m+x+_]=i[m+_];for(let _=0;_0&&e._pointCloudEyeDomeLighting.update(t,r,e.pointCloudShading,e.boundingSphere),e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(l(e._tileDebugLabels)||(e._tileDebugLabels=new Sf),w4e(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var Cde=[];function A4e(e,t){let n=t,i=Cde;for(i.push(t);i.length>0;){t=i.pop();let o=t.children;for(let r=0;r{t.push(Lt.clone(i))});let n=e.asset.extras;if(l(n)&&l(n.cesium)&&l(n.cesium.credits)){let i=n.cesium.credits;for(let o=0;oi.showOnScreen=i.showOnScreen||e._showCreditsOnScreen),e._credits=t}or.prototype.getTraversal=function(e){let{pass:t}=e;return t===Fo.MOST_DETAILED_PRELOAD||t===Fo.MOST_DETAILED_PICK?xP:this.isSkippingLevelOfDetail?LP:SP};or.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};or.prototype.updateForPass=function(e,t){let n=t.pass;if(n===Fo.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===Fo.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===Fo.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=Fo.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),d=c.length;if(e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r),s.isRender){let p=this._environmentMapManager;l(this._root)&&(p.position=this.boundingSphere.center),p.update(e)}let u=this._clippingPolygons;l(u)&&u.enabled&&u.queueCommands(e);let m=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=D4e(this,e,m,s)),a&&(c.length=d),e.commandList=i,e.camera=o,e.cullingVolume=r};or.prototype.hasExtension=function(e){return l(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};or.prototype.isDestroyed=function(){return!1};or.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),l(this._root)){let e=Cde;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children;for(let i=0;i{let r=this._addHeightCallbacks,s=r.length;for(let a=0;a{let u=de.distanceSquaredTo(c.contentBoundingVolume.boundingSphere,e.origin),m=de.distanceSquaredTo(d.contentBoundingVolume.boundingSphere,e.origin);return u-m});let a;for(let c=0;c-1;i--)GK(this,e[i],t,n);return me(this)};Yg.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!l(n)||n.loadFail)return mt.FAILED;let i=n.tilesetPrimitive;return l(i)?i.show?(de.clone(i.boundingSphere,t),mt.DONE):mt.FAILED:mt.PENDING};Yg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._tileset)?s.set(r.id,r):(GK(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],GK(this,r,a,c),s.remove(r.id)};function GK(e,t,n,i){let o=n[t.id];l(o)&&(l(o.tilesetPrimitive)&&i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}async function J4e(e,t,n,i){t[n.id]={url:e.url,loadFail:!1};try{let o=await xs.fromUrl(e);if(o.id=n,i.add(o),!l(t[n.id]))return;t[n.id].tilesetPrimitive=o}catch(o){console.error(o),t[n.id].loadFail=!0}}var RP=Yg;var JYn=T(S(),1);var Q4e=B.WHITE,j4e=B.BLACK,q4e=new D(2,2);function Z1(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new be,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(Z1.prototype,{isConstant:{get:function(){return K.isConstant(this._evenColor)&&K.isConstant(this._oddColor)&&K.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:ue("evenColor"),oddColor:ue("oddColor"),repeat:ue("repeat")});Z1.prototype.getType=function(e){return"Checkerboard"};var $4e=new j;Z1.prototype.getValue=function(e,t){return l(e)||(e=j.now($4e)),l(t)||(t={}),t.lightColor=K.getValueOrClonedDefault(this._evenColor,e,Q4e,t.lightColor),t.darkColor=K.getValueOrClonedDefault(this._oddColor,e,j4e,t.darkColor),t.repeat=K.getValueOrDefault(this._repeat,e,q4e),t};Z1.prototype.equals=function(e){return this===e||e instanceof Z1&&K.equals(this._evenColor,e._evenColor)&&K.equals(this._oddColor,e._oddColor)&&K.equals(this._repeat,e._repeat)};var G1=Z1;var hHn=T(S(),1);var sHn=T(S(),1);var Rde={id:void 0};function ZP(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function xc(e){this._owner=e,this._entities=new Gt,this._addedEntities=new Gt,this._removedEntities=new Gt,this._changedEntities=new Gt,this._suspendCount=0,this._collectionChanged=new be,this._id=Yn(),this._show=!0,this._firing=!1,this._refire=!1}xc.prototype.suspendEvents=function(){this._suspendCount++};xc.prototype.resumeEvents=function(){this._suspendCount--,ZP(this)};Object.defineProperties(xc.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t-1;c--)s=a[c],Gde(e,p,g,s);for(r=n-1;r>=0;r--)for(d=t[r],d.collectionChanged.addEventListener(Ur.prototype._onCollectionChanged,e),a=d.values,g=d.id,c=a.length-1;c>-1;c--){s=a[c],Zde(e,p,g,s);let x=m.getById(s.id);l(x)||(x=u.getById(s.id),l(x)?EK(x):(Tk.id=s.id,x=new tr(Tk)),m.add(x)),x.merge(s)}e._collectionsCopy=t.slice(0),u.suspendEvents(),u.removeAll();let f=m.values;for(r=0;r=0;a--)c=i[a].getById(x),l(c)&&(l(d)||(d=r.getById(x),EK(d)),d.merge(c));l(d)||r.removeById(x),d=void 0}let g=t.length;for(s=0;s=0;a--)c=i[a].getById(x),l(c)&&(l(d)||(d=r.getById(x),l(d)?EK(d):(Tk.id=x,d=new tr(Tk),r.add(d))),d.merge(c));d=void 0}r.resumeEvents()};Ur.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),d=c[t],u=!l(d),m=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(l(g)){let f=g[t];if(l(f)){if(m)if(m=!1,l(f.merge)&&l(f.clone))d=f.clone(d);else{d=f;break}d.merge(f)}}}u&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=d};var IK=Ur;var UHn=T(S(),1);var vHn=T(S(),1);var pHn=T(S(),1);function XK(){this._removalFunctions=[]}XK.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};XK.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};Dr.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};Dr.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};Dr.prototype.contains=function(e){return this.indexOf(e)>=0};var WK=new Rn;Dr.prototype.indexOf=function(e){let t=this._intervals;WK.start=e,WK.stop=e;let n=Io(t,WK,vK);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-10&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i0&&(o=j.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((l(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?(j.greaterThan(e.stop,n[i-1].stop)?e=new Rn({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new Rn({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=j.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new Rn({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new Rn({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(l(t)?t(n[i].data,e.data):n[i].data===e.data)e=new Rn({start:e.start,stop:j.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:j.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new Rn({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};Dr.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=Io(t,e,vK);n<0&&(n=~n);let i=!1;for(n>0&&(j.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(j.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new Rn({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new Rn({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),GP[2]=Tm(d)?29:28;a>GP[c]||c>=13;)a>GP[c]&&(a-=GP[c],++c),c>=13&&(--c,d+=Math.floor(c/12),c=c%12,++c),GP[2]=Tm(d)?29:28;return _c.millisecond=i,_c.second=o,_c.minute=r,_c.hour=s,_c.day=a,_c.month=c,_c.year=d,j.fromGregorianDate(_c,n)}var eje=new j,tje=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function Ide(e,t){if(!l(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match(tje);if(!l(n))return!1;if(l(n[1])&&(t.year=Number(n[1].replace(",","."))),l(n[2])&&(t.month=Number(n[2].replace(",","."))),l(n[3])&&(t.day=Number(n[3].replace(",","."))*7),l(n[4])&&(t.day+=Number(n[4].replace(",","."))),l(n[5])&&(t.hour=Number(n[5].replace(",","."))),l(n[6])&&(t.minute=Number(n[6].replace(",","."))),l(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),j.toGregorianDate(j.fromIso8601(e,eje),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var EP=new _p;Dr.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=j.fromIso8601(n[0]),o=j.fromIso8601(n[1]),r=[];if(!Ide(n[2],EP))r.push(i,o);else{let s=j.clone(i);for(r.push(s);j.compare(s,o)<0;)s=PK(s,EP),j.compare(o,s)<=0&&j.clone(o,s),r.push(s)}return Dr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Dr.fromIso8601DateArray=function(e,t){return Dr.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return j.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Dr.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let d=0;d=0?-a:a}var yje=new h(-1,0,0),eT=new M,xje=new M,AK=new $,_je=$.IDENTITY.clone(),Tje=new h,Sje=new re,Xde=new h;function Fb(e,t,n,i,o,r,s,a){let c=Tje,d=Sje;eT=vt.eastNorthUpToFixedFrame(e,o,eT),c=M.multiplyByPointAsVector(eT,yje,c),c=h.normalize(c,c);let u=gje(c,t,e,o);AK=$.fromRotationZ(u,AK),Xde.z=r,eT=M.multiplyTransformation(eT,M.fromRotationTranslation(AK,Xde,xje),eT);let m=_je;m[0]=s;for(let p=0;p0){let x=d?2:1;for(let _=0;_=0};var Lje=new h,Rje=new h;IP.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=bje(e,r),a=i._granularity,c=i._cornerType,d=o?Vje(t,n):Wde(t,n),u=o?Wde(t,n):void 0,m=n.height/2,p=n.width/2,g=e.length,f=[],x=o?[]:void 0,_=aje,C=cje,V=lje,L=dje,Z=uje,G=mje,I=hje,v=fje,P=pje,w=e[0],A=e[1];L=r.geodeticSurfaceNormal(w,L),_=h.subtract(A,w,_),_=h.normalize(_,_),v=h.cross(L,_,v),v=h.normalize(v,v);let b=s[0],R=s[1];o&&(x=Fb(w,v,u,x,r,b+m,1,1)),P=h.clone(w,P),w=A,C=h.negate(_,C);let E,X;for(let O=1;OXe;p--)Te=W.PI_OVER_TWO-p*ye,ee[ae++]=1-pe*(1+Math.cos(Te)),ee[ae++]=.5*(1+Math.sin(Te));for(p=Xe;p>0;p--)Te=W.PI_OVER_TWO-ye*p,ee[ae++]=1-_e*(1+Math.cos(Te)),ee[ae++]=.5*(1+Math.sin(Te));for(p=u-_;p>0;p--)ee[ae++]=p*_e,ee[ae++]=1;for(p=1;p0;p--)ee[ae++]=(p-1)*_e,ee[ae++]=1}c.st=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:ee})}return t.normal&&(c.normal=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:I.normals})),t.tangent&&(c.tangent=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:I.tangents})),t.bitangent&&(c.bitangent=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:I.bitangents})),{attributes:c,indices:U}}function Nje(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,d;if(t.normal||t.bitangent||t.tangent){let u=t.normal?new Float32Array(s*6):void 0,m=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=zde,f=Kde,x=Zk,_=Gk,C=Mje,V=Jde,L=c;for(d=0;d-t?(o=Hje,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),BK(e,o,i)};Zf.prototype.computeHorizonCullingPoint=function(e,t,n){return mue(this._ellipsoid,e,t,n)};var due=ne.clone(ne.UNIT_SPHERE);Zf.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=uue(this._ellipsoid,n,due);return mue(o,e,t,i)};Zf.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return hue(this._ellipsoid,e,t,n,i,o)};Zf.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=uue(this._ellipsoid,o,due);return hue(s,e,t,n,i,r)};var zje=[];Zf.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=le.subsample(e,t,0,zje),o=de.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var Kje=new h;function uue(e,t,n){if(l(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,Kje);e=ne.fromCartesian3(i,n)}return e}function mue(e,t,n,i){l(i)||(i=new h);let o=bue(e,t),r=0;for(let s=0,a=n.length;s0:s>o&&s*s/h.magnitudeSquared(r)>o)}var Jje=new h,Qje=new h;function fue(e,t,n){let i=e.transformPositionToScaledSpace(t,Jje),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,Qje);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),d=1/r,u=Math.sqrt(o-1)*d;return 1/(a*d-c*u)}function pue(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var DK=new h;function bue(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,DK),h.normalize(DK,DK))}var Nb=Zf;var yJn=T(S(),1);function Zr(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;l(n)&&(n=kt.clone(n)),l(i)&&(i=kt.clone(i)),l(o)&&(o=Ft.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=B.clone(y(e.color,B.WHITE)),this._outlineColor=B.clone(y(e.outlineColor,B.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1,this._splitDirection=y(e.splitDirection,wr.NONE)}var gue=Zr.SHOW_INDEX=0,_ue=Zr.POSITION_INDEX=1,jje=Zr.COLOR_INDEX=2,qje=Zr.OUTLINE_COLOR_INDEX=3,$je=Zr.OUTLINE_WIDTH_INDEX=4,e8e=Zr.PIXEL_SIZE_INDEX=5,t8e=Zr.SCALE_BY_DISTANCE_INDEX=6,n8e=Zr.TRANSLUCENCY_BY_DISTANCE_INDEX=7,i8e=Zr.DISTANCE_DISPLAY_CONDITION_INDEX=8,o8e=Zr.DISABLE_DEPTH_DISTANCE_INDEX=9,r8e=Zr.SPLIT_DIRECTION_INDEX=10;Zr.NUMBER_OF_PROPERTIES=11;function Xd(e,t){let n=e._pointPrimitiveCollection;l(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(Zr.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Xd(this,gue))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),Xd(this,_ue))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;kt.equals(t,e)||(this._scaleByDistance=kt.clone(e,t),Xd(this,t8e))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;kt.equals(t,e)||(this._translucencyByDistance=kt.clone(e,t),Xd(this,n8e))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,Xd(this,e8e))}},color:{get:function(){return this._color},set:function(e){let t=this._color;B.equals(t,e)||(B.clone(e,t),Xd(this,jje))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;B.equals(t,e)||(B.clone(e,t),Xd(this,qje))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Xd(this,$je))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ft.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=Ft.clone(e,this._distanceDisplayCondition),Xd(this,i8e))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Xd(this,o8e))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Xd(this,gue))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,Xd(this,r8e))}}});Zr.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};Zr.prototype._getActualPosition=function(){return this._actualPosition};Zr.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),Xd(this,_ue)};var yue=new re;Zr._computeActualPosition=function(e,t,n){return t.mode===oe.SCENE3D?e:(M.multiplyByPoint(n,e,yue),ki.computeActualEllipsoidPosition(t,yue))};var xue=new re;Zr._computeScreenSpacePosition=function(e,t,n,i){let o=M.multiplyByVector(e,re.fromElements(t.x,t.y,t.z,1,xue),xue);return ki.worldToWindowCoordinates(n,o,i)};Zr.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;l(t)||(t=new D);let i=n.modelMatrix,o=Zr._computeScreenSpacePosition(i,this._actualPosition,e,t);if(l(o))return o.y=e.canvas.clientHeight-o.y,o};Zr.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return l(n)||(n=new Je),n.x=r,n.y=s,n.width=a,n.height=c,n};Zr.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&B.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&B.equals(this._outlineColor,e._outlineColor)&&kt.equals(this._scaleByDistance,e._scaleByDistance)&&kt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Ft.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};Zr.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Ws=Zr;var JJn=T(S(),1);var _Jn=T(S(),1),jg=`in vec4 v_color; in vec4 v_outlineColor; in float v_innerPercent; in float v_pixelDistance; @@ -9137,7 +9513,7 @@ void main() out_FragColor = czm_gammaCorrect(color); czm_writeLogDepth(); } -`;var EHn=T(S(),1),RP=`uniform float u_maxTotalPointSize; +`;var SJn=T(S(),1),FP=`uniform float u_maxTotalPointSize; in vec4 positionHighAndSize; in vec4 positionLowAndOutline; @@ -9322,45 +9698,42 @@ void main() v_pickColor = pickColor; v_splitDirection = distanceDisplayConditionAndDisableDepthAndSplitDirection.w; } -`;var Pje=Rs.SHOW_INDEX,UK=Rs.POSITION_INDEX,cue=Rs.COLOR_INDEX,vje=Rs.OUTLINE_COLOR_INDEX,wje=Rs.OUTLINE_WIDTH_INDEX,Fje=Rs.PIXEL_SIZE_INDEX,lue=Rs.SCALE_BY_DISTANCE_INDEX,due=Rs.TRANSLUCENCY_BY_DISTANCE_INDEX,uue=Rs.DISTANCE_DISPLAY_CONDITION_INDEX,Aje=Rs.DISABLE_DEPTH_DISTANCE_INDEX,Mje=Rs.SPLIT_DIRECTION_INDEX,DK=Rs.NUMBER_OF_PROPERTIES,xc={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepthAndSplitDirection:5};function Du(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(DK),this._maxPixelSize=1,this._baseVolume=new le,this._baseVolumeWC=new le,this._baseVolume2D=new le,this._boundingVolume=new le,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(M.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,Vo.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=oe.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(Du.prototype,{length:{get:function(){return BK(this),this._pointPrimitives.length}}});function mue(e){let t=e.length;for(let n=0;n0&&(e._shaderDisableDepthDistance=!0,d===Number.POSITIVE_INFINITY&&(d=-1));let u=0,m=i.splitDirection;l(m)&&(u=m),r(o,s,a,d,u)}function kje(e,t,n,i){hue(e,t,n,i),fue(e,t,n,i),pue(e,t,n,i),bue(e,t,n,i),gue(e,t,n,i)}function kK(e,t,n,i,o,r){let s;i.mode===oe.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c0){this._vaf=Nje(c,n,this._buffersUsage),a=this._vaf.writers;for(let G=0;G0){let G=Bje;G.length=0,(r[UK]||r[wje]||r[Fje])&&G.push(hue),(r[cue]||r[vje])&&G.push(fue),(r[Pje]||r[due])&&G.push(pue),r[lue]&&G.push(bue),(r[uue]||r[Aje]||r[Mje])&&G.push(gue);let I=G.length;if(a=this._vaf.writers,o/n>.1){for(let v=0;vn*1.5&&(i.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,le.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,p=M.IDENTITY;e.mode===oe.SCENE3D?(p=this.modelMatrix,m=le.clone(this._baseVolumeWC,this._boundingVolume)):m=le.clone(this._baseVolume2D,this._boundingVolume),Dje(this,e,m);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===Vo.OPAQUE||this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Be.fromCache({depthTest:{enabled:!0,func:ie.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===Vo.TRANSLUCENT||this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Be.fromCache({depthTest:{enabled:!0,func:ie.LEQUAL},depthMask:!1,blending:hn.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let f,x;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(f=new Ye({sources:[RP]}),this._shaderScaleByDistance&&f.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&f.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&f.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&f.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT&&(x=new Ye({defines:["OPAQUE"],sources:[Og]}),this._sp=cn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:xc}),x=new Ye({defines:["TRANSLUCENT"],sources:[Og]}),this._spTranslucent=cn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:xc})),this._blendOption===Vo.OPAQUE&&(x=new Ye({sources:[Og]}),this._sp=cn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:xc})),this._blendOption===Vo.TRANSLUCENT&&(x=new Ye({sources:[Og]}),this._spTranslucent=cn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:xc})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let _,C,V,L,Z=e.commandList;if(d.render||u){let G=this._colorCommands,I=this._blendOption===Vo.OPAQUE,v=this._blendOption===Vo.OPAQUE_AND_TRANSLUCENT;_=this._vaf.va,C=_.length,G.length=C;let P=v?C*2:C;for(L=0;L0){let A=new __(V.length,64,Uint32Array);for(let N=0;N=u)for(_ue(N.position,R,b,e),p.push(N),Z=0;Z=u){let k=h.multiplyByScalar(Y,1/R,Y);for(_ue(k,R,b,e),p.push({position:k,width:U.width,height:U.height,minimumWidth:I.width,minimumHeight:I.height}),Z=0;Z0?(a=d.shift(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let u=this;return Promise.resolve().then(function(){u._clusterDirty=!0}),c}}function HK(e,t){let n=e._collectionIndicesByEntity[t];!l(n.billboardIndex)&&!l(n.labelIndex)&&!l(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}rh.prototype.getLabel=zK("_labelCollection",yf,"_unusedLabelIndices","labelIndex");rh.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._labelCollection)||!l(t)||!l(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,HK(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};rh.prototype.getBillboard=zK("_billboardCollection",Td,"_unusedBillboardIndices","billboardIndex");rh.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._billboardCollection)||!l(t)||!l(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,HK(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};rh.prototype.getPoint=zK("_pointCollection",I1,"_unusedPointIndices","pointIndex");rh.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._pointCollection)||!l(t)||!l(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,HK(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function YK(e){if(!l(e))return;let t=e.length;for(let n=0;n0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),l(this._billboardCollection)&&this._billboardCollection.length>0&&!l(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,Qje(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),l(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),l(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),l(this._clusterPointCollection)&&this._clusterPointCollection.update(e),l(this._labelCollection)&&this._labelCollection.update(e),l(this._billboardCollection)&&this._billboardCollection.update(e),l(this._pointCollection)&&this._pointCollection.update(e)};rh.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),l(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var Rd=rh;function KK(e){this._name=e,this._clock=void 0,this._changed=new be,this._error=new be,this._isLoading=!1,this._loading=new be,this._entityCollection=new Hs(this),this._entityCluster=new Rd}Object.defineProperties(KK.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Ur.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});KK.prototype.update=function(e){return!0};var GP=KK;var EJn=T(S(),1);var zKn=T(S(),1);var EKn=T(S(),1);var Sue={};Sue.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,d=new Float64Array(c*3),u,m=0,p=0,g=o?a*3:0,f=o?(a+i)*3:i*3;for(u=0;u0){let x=Math.min(r,o);d=Math.round(o/x),c+=x}let u=Ne.createTypedArray(s,c*2),m=0,p;for(p=0;p0)for(p=0;p0){for(c=0;c=t;i--)e[i]=e[a--]}for(i=0;i=0||l(m)&&j.compare(u,m)>=0));){for(iJ[p++]=u,r=r+1,s=0;s0&&(oJ.length=g,Eue(n,d,oJ),iJ.length=p,Eue(t,c,iJ))}else{for(s=0;so)return;if(this._backwardExtrapolationType===Gd.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let Z=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===Gd.NONE||o!==0&&j.secondsDifference(e,Z)>o)return;if(this._forwardExtrapolationType===Gd.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,d=this._yTable,u=this._interpolationAlgorithm,m=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let Z=Math.min(u.getRequiredDataPoints(this._interpolationDegree,p),i);Z!==this._numberOfPoints&&(this._numberOfPoints=Z,c.length=Z,d.length=Z*m)}let g=this._numberOfPoints-1;if(g<1)return;let f=0,x=i-1;if(x-f+1>=g+1){let Z=a-(g/2|0)-1;Zx&&(G=x,Z=G-g,Z0){n=new Array(t);for(let i=0;ic&&e!==Object}let f=typeof e.unpack=="function"&&e!==Bu;if(!g&&!p){m?t[n]=new jn(f?e.unpack(d,0):d):t[n]=Fue(e,s,i);return}let x=t[n],_,C=i.epoch;if(l(C)&&(_=j.fromIso8601(C)),g&&!p){x instanceof Id||(t[n]=x=new Id(e)),x.addSamplesPackedArray(d,_),Ik(i,x);return}let V;if(!g&&p){a=a.clone(),m?a.data=f?e.unpack(d,0):d:a.data=Fue(e,s,i),l(x)||(t[n]=x=m?new U0:new yc),m&&x instanceof U0?x.intervals.addInterval(a):x instanceof yc?(m&&(a.data=new jn(a.data)),x.intervals.addInterval(a)):(t[n]=x=Due(x),m&&(a.data=new jn(a.data)),x.intervals.addInterval(a));return}l(x)||(t[n]=x=new yc),x instanceof yc||(t[n]=x=Due(x));let L=x.intervals;V=L.findInterval(a),(!l(V)||!(V.data instanceof Id))&&(V=a.clone(),V.data=new Id(e),L.addInterval(V)),V.data.addSamplesPackedArray(d,_),Ik(i,V.data)}function eme(e,t){if(e instanceof Id){e.removeSamples(t);return}else if(e instanceof U0){e.intervals.removeInterval(t);return}else if(e instanceof yc){let n=e.intervals;for(let i=0;ic),!f&&!p){m?e[t]=new kc(h.unpack(d),g):e[t]=AP(r,n.reference);return}let x=e[t],_,C=n.epoch;if(l(C)&&(_=j.fromIso8601(C)),f&&!p){(!(x instanceof ga)||l(g)&&x.referenceFrame!==g)&&(e[t]=x=new ga(g,a)),x.addSamplesPackedArray(d,_),Ik(n,x);return}let V;if(!f&&p){s=s.clone(),m?s.data=h.unpack(d):s.data=AP(r,n.reference),l(x)||(m?x=new k0(g):x=new pa(g),e[t]=x),m&&x instanceof k0&&l(g)&&x.referenceFrame===g?x.intervals.addInterval(s):x instanceof pa?(m&&(s.data=new kc(s.data,g)),x.intervals.addInterval(s)):(e[t]=x=Bue(x),m&&(s.data=new kc(s.data,g)),x.intervals.addInterval(s));return}l(x)?x instanceof pa||(e[t]=x=Bue(x)):e[t]=x=new pa(g);let L=x.intervals;V=L.findInterval(s),(!l(V)||!(V.data instanceof ga)||l(g)&&V.data.referenceFrame!==g)&&(V=s.clone(),V.data=new ga(g,a),L.addInterval(V)),V.data.addSamplesPackedArray(d,_),Ik(n,V.data)}function tme(e,t){if(e instanceof ga){e.removeSamples(t);return}else if(e instanceof k0){e.intervals.removeInterval(t);return}else if(e instanceof pa){let n=e.intervals;for(let i=0;i. version format.");let i=t._documentPacket;l(e.name)&&(i.name=e.name);let o=e.clock;if(l(o)){let r=i.clock;l(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function V7e(e,t,n,i){let o=t.ellipse;if(!l(o))return;let r=mr(o.interval),s=e.ellipse;l(s)||(e.ellipse=s=new Fx),xe(Boolean,s,"show",o.show,r,i,n),xe(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),xe(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),xe(Number,s,"height",o.height,r,i,n),xe(Je,s,"heightReference",o.heightReference,r,i,n),xe(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),xe(Je,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),xe(Bu,s,"rotation",o.rotation,r,i,n),xe(Bu,s,"stRotation",o.stRotation,r,i,n),xe(Number,s,"granularity",o.granularity,r,i,n),xe(Boolean,s,"fill",o.fill,r,i,n),Xd(s,"material",o.material,r,i,n),xe(Boolean,s,"outline",o.outline,r,i,n),xe(B,s,"outlineColor",o.outlineColor,r,i,n),xe(Number,s,"outlineWidth",o.outlineWidth,r,i,n),xe(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),xe(Sn,s,"shadows",o.shadows,r,i,n),xe(vt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),xe(Un,s,"classificationType",o.classificationType,r,i,n),xe(Number,s,"zIndex",o.zIndex,r,i,n)}function L7e(e,t,n,i){let o=t.ellipsoid;if(!l(o))return;let r=mr(o.interval),s=e.ellipsoid;l(s)||(e.ellipsoid=s=new Ax),xe(Boolean,s,"show",o.show,r,i,n),xe(h,s,"radii",o.radii,r,i,n),xe(h,s,"innerRadii",o.innerRadii,r,i,n),xe(Number,s,"minimumClock",o.minimumClock,r,i,n),xe(Number,s,"maximumClock",o.maximumClock,r,i,n),xe(Number,s,"minimumCone",o.minimumCone,r,i,n),xe(Number,s,"maximumCone",o.maximumCone,r,i,n),xe(Je,s,"heightReference",o.heightReference,r,i,n),xe(Boolean,s,"fill",o.fill,r,i,n),Xd(s,"material",o.material,r,i,n),xe(Boolean,s,"outline",o.outline,r,i,n),xe(B,s,"outlineColor",o.outlineColor,r,i,n),xe(Number,s,"outlineWidth",o.outlineWidth,r,i,n),xe(Number,s,"stackPartitions",o.stackPartitions,r,i,n),xe(Number,s,"slicePartitions",o.slicePartitions,r,i,n),xe(Number,s,"subdivisions",o.subdivisions,r,i,n),xe(Sn,s,"shadows",o.shadows,r,i,n),xe(vt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function R7e(e,t,n,i){let o=t.label;if(!l(o))return;let r=mr(o.interval),s=e.label;l(s)||(e.label=s=new Xm),xe(Boolean,s,"show",o.show,r,i,n),xe(String,s,"text",o.text,r,i,n),xe(String,s,"font",o.font,r,i,n),xe(Uo,s,"style",o.style,r,i,n),xe(Number,s,"scale",o.scale,r,i,n),xe(Boolean,s,"showBackground",o.showBackground,r,i,n),xe(B,s,"backgroundColor",o.backgroundColor,r,i,n),xe(D,s,"backgroundPadding",o.backgroundPadding,r,i,n),xe(D,s,"pixelOffset",o.pixelOffset,r,i,n),xe(h,s,"eyeOffset",o.eyeOffset,r,i,n),xe(gi,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),xe(wn,s,"verticalOrigin",o.verticalOrigin,r,i,n),xe(Je,s,"heightReference",o.heightReference,r,i,n),xe(B,s,"fillColor",o.fillColor,r,i,n),xe(B,s,"outlineColor",o.outlineColor,r,i,n),xe(Number,s,"outlineWidth",o.outlineWidth,r,i,n),xe(kt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),xe(kt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),xe(kt,s,"scaleByDistance",o.scaleByDistance,r,i,n),xe(vt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),xe(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function Z7e(e,t,n,i){let o=t.model;if(!l(o))return;let r=mr(o.interval),s=e.model;l(s)||(e.model=s=new Fp),xe(Boolean,s,"show",o.show,r,i,n),xe(NP.default,s,"uri",o.gltf,r,i,n),xe(Number,s,"scale",o.scale,r,i,n),xe(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),xe(Number,s,"maximumScale",o.maximumScale,r,i,n),xe(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),xe(Boolean,s,"runAnimations",o.runAnimations,r,i,n),xe(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),xe(Sn,s,"shadows",o.shadows,r,i,n),xe(Je,s,"heightReference",o.heightReference,r,i,n),xe(B,s,"silhouetteColor",o.silhouetteColor,r,i,n),xe(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),xe(B,s,"color",o.color,r,i,n),xe(mc,s,"colorBlendMode",o.colorBlendMode,r,i,n),xe(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),xe(vt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,d=o.nodeTransformations;if(l(d))if(Array.isArray(d))for(a=0,c=d.length;a-1;c--)n[c](s,e,t,i)}sJ=void 0}function A7e(e){let t,n=e._documentPacket.clock;if(!l(n)){if(!l(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(Oe.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=j.secondsDifference(s,r),c=Math.round(a/120);return t=new ah,t.startTime=j.clone(r),t.stopTime=j.clone(s),t.clockRange=Dr.LOOP_STOP,t.multiplier=c,t.currentTime=j.clone(r),t.clockStep=bo.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}l(e._clock)?t=e._clock.clone():(t=new ah,t.startTime=Oe.MINIMUM_VALUE.clone(),t.stopTime=Oe.MAXIMUM_VALUE.clone(),t.currentTime=Oe.MINIMUM_VALUE.clone(),t.clockRange=Dr.LOOP_STOP,t.clockStep=bo.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=mr(n.interval);return l(i)&&(t.startTime=i.start,t.stopTime=i.stop),l(n.currentTime)&&(t.currentTime=j.fromIso8601(n.currentTime)),l(n.range)&&(t.clockRange=y(Dr[n.range],Dr.LOOP_STOP)),l(n.step)&&(t.clockStep=y(bo[n.step],bo.SYSTEM_CLOCK_MULTIPLIER)),l(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function ime(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new Et(s)),e._credit=s,typeof t=="string"||t instanceof Ge){t=Ge.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(l(c)){let d=c.length;for(let u=0;u1;--b){if(C=W.PI_OVER_TWO-(b-1)*_,G=J1(-C,r,f,g,c,u,d,m,p,G),I=J1(C+Math.PI,r,f,g,c,u,d,m,p,I),t){for(L[Z++]=G.x,L[Z++]=G.y,L[Z++]=G.z,E=2*(b-1)+2,R=1;R1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;aW.PI&&(m.north=m.north>0?W.PI_OVER_TWO-W.EPSILON7:m.north,m.south=m.south<0?W.EPSILON7-W.PI_OVER_TWO:m.south,m.east=W.PI,m.west=-W.PI),m}function Rf(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ne.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,W.RADIANS_PER_DEGREE),s=y(e.vertexFormat,We.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ne.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=We.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}Rf.packedLength=h.packedLength+ne.packedLength+We.packedLength+9;Rf.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ne.pack(e._ellipsoid,t,n),n+=ne.packedLength,We.pack(e._vertexFormat,t,n),n+=We.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var Sme=new h,Cme=new ne,Vme=new We,Lf={center:Sme,ellipsoid:Cme,vertexFormat:Vme,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Rf.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Sme);t+=h.packedLength;let o=ne.unpack(e,t,Cme);t+=ne.packedLength;let r=We.unpack(e,t,Vme);t+=We.packedLength;let s=e[t++],a=e[t++],c=e[t++],d=e[t++],u=e[t++],m=e[t++],p=e[t++],g=e[t++]===1,f=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ne.clone(o,n._ellipsoid),n._vertexFormat=We.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=d,n._height=u,n._granularity=m,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=f===-1?void 0:f,n):(Lf.height=u,Lf.extrudedHeight=p,Lf.granularity=m,Lf.stRotation=d,Lf.rotation=c,Lf.semiMajorAxis=s,Lf.semiMinorAxis=a,Lf.shadowVolume=g,Lf.offsetAttribute=f===-1?void 0:f,new Rf(Lf))};Rf.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,ne.default),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,W.RADIANS_PER_DEGREE),a=y(e.rotation,0);return Tme(n,o,r,a,s,i,t)};Rf.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!W.equalsEpsilon(t,n,0,W.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=H7e(o);else if(r=O7e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===un.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Re({componentDatatype:Q.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ft({attributes:r.attributes,indices:r.indices,primitiveType:Me.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};Rf.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Rf({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:We.POSITION_ONLY,shadowVolume:!0})};function K7e(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=kl.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c0){let f=Math.min(d,c);g=Math.round(c/f);let x=Math.min(g*d,c);for(p=0;p0&&(Z=!0,C+=c-1),s0&&u!==x-1&&m!==0&&m!==_-1&&(F[z]=!0),z++;p=0;let te,H;for(u=1;u=Fe&&u1||G>1))for(let R=0;R0;u-=d)Te=u*3,J=oV(J,ee,Te,p,_),ee+=6,o.st&&(H=rV(H,pe,u*2,G),pe+=4),n&&(_e+=3,z[_e++]=I[Te],z[_e++]=I[Te+1],z[_e++]=I[Te+2]),q&&(te[ae++]=1,ae+=1);if(E){let Fe=ye;for(Te=Fe*3,u=0;u<2;u++)J=oV(J,ee,Te,p,_),ee+=6,o.st&&(H=rV(H,pe,Fe*2,G),pe+=4),n&&(_e+=3,z[_e++]=I[Te],z[_e++]=I[Te+1],z[_e++]=I[Te+2]),q&&(te[ae++]=1,ae+=1)}else for(u=d-1;u>=0;u--)Te=u*3,J=oV(J,ee,Te,p,_),ee+=6,o.st&&(H=rV(H,pe,u*2,G),pe+=4),n&&(_e+=3,z[_e++]=I[Te],z[_e++]=I[Te+1],z[_e++]=I[Te+2]),q&&(te[ae++]=1,ae+=1);let Ie=j6e(J,o,a);o.st&&(Ie.attributes.st=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:H})),n&&(Ie.attributes.extrudeDirection=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:z})),P&&(Ie.attributes.applyOffset=new Re({componentDatatype:Q.UNSIGNED_BYTE,componentsPerAttribute:1,values:te}));let Ee=Ne.createTypedArray(k,O*6),ve,we,pt,rt;g=J.length/3;let Rt=0;for(u=0;u0)for(s=new Array(o),i=0;i0)for(a=new Array(o),i=0;i0)for(s=new Array(o),i=0;i0)for(a=new Array(o),i=0;i{i.raiseEvent(a)}),n[r]=s}this.updaters=n,this.geometryChanged=i,this.eventHelper=o,this._removeEntitySubscription=e.definitionChanged.addEventListener(dT.prototype._onEntityPropertyChanged,this)}dT.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r0){l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;l(this.depthFailAppearanceType)&&(l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=jo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new Wn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ot)&&(this.depthFailMaterial=jo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}cV.prototype.remove=function(e){She(this._solidItems,e)||She(this._translucentItems,e)};function Che(e,t,n){let i=!1,o=t.length;for(let r=0;r0)for(r=0;r=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let d=0;d0){l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=jo.getValue(e,this.materialProperty,this.material);let a;l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=jo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new Wn({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=jo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ot)&&(this.depthFailMaterial=jo.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};lV.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Mc({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};dV.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=jo.getValue(e,this.materialProperty,this.material),n=new Mc({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=jo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};mV.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Wn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new mn({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r0)for(m=!0,t=0;t0)for(m=!0,t=0;t-1;a--)c=s[a],d=c.id,u=this._updaterSets.get(d),u.entity===c?u.forEach(function(x){m._removeUpdater(x),m._insertUpdaterIntoBatch(e,x)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],d=c.id,u=this._updaterSets.get(d),u.forEach(this._removeUpdater.bind(this)),u.destroy(),this._updaterSets.remove(d),this._subscriptions.get(d)(),this._subscriptions.remove(d);for(a=n.length-1;a>-1;a--)c=n[a],d=c.id,u=new uT(c,this._scene),this._updaterSets.set(d,u),u.forEach(function(x){m._insertUpdaterIntoBatch(e,x)}),this._subscriptions.set(d,u.geometryChanged.addEventListener(Ul._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,f=g.length;for(a=0;a-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var fv=Ul;var nai=T(S(),1);var Hqe=1,Kqe="30px sans-serif",Jqe=Uo.FILL,Qqe=B.WHITE,jqe=B.BLACK,qqe=1,$qe=!1,e$e=new B(.165,.165,.165,.8),t$e=new D(7,5),n$e=D.ZERO,i$e=h.ZERO,o$e=Je.NONE,r$e=gi.CENTER,s$e=wn.CENTER,a$e=new h,c$e=new B,l$e=new B,d$e=new B,u$e=new D,m$e=new h,h$e=new D,f$e=new kt,p$e=new kt,b$e=new kt,g$e=new vt;function Ghe(e){this.entity=e,this.label=void 0,this.index=void 0}function qg(e,t){t.collectionChanged.addEventListener(qg.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new Zt,this._onCollectionChanged(t,t.values,[],[])}qg.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i-1;o--)r=t[o],l(r._label)&&l(r._position)&&s.set(r.id,new Ghe(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._label)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Ghe(r)):(RJ(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],RJ(s.get(r.id),r,a),s.remove(r.id)};function RJ(e,t,n){l(e)&&(e.label=void 0,n.removeLabel(t))}var pv=qg;var Cai=T(S(),1);var y$e=1,x$e=!0,_$e=0,T$e=!0,S$e=!0,C$e=Sn.ENABLED,V$e=Je.NONE,L$e=B.RED,R$e=0,Z$e=B.WHITE,G$e=mc.HIGHLIGHT,E$e=.5,I$e=new D(1,1),X$e=new M,W$e=new M,Ehe=new B,Ihe=new Array(4),P$e=new h;function $g(e,t){t.collectionChanged.addEventListener($g.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new Zt,this._onCollectionChanged(t,t.values,[],[])}async function v$e(e,t,n,i){let o=e._primitives,r=e._modelHash;try{let s=await Jm.fromGltfAsync({url:n,incrementallyLoadTextures:i,scene:e._scene});if(e.isDestroyed()||!l(r[t.id]))return;s.id=t,o.add(s),r[t.id].modelPrimitive=s,s.errorEvent.addEventListener(a=>{l(r[t.id])&&(console.log(a),a.name!=="TextureError"&&s.incrementallyLoadTextures&&(r[t.id].loadFailed=!0))})}catch(s){if(e.isDestroyed()||!l(r[t.id]))return;console.log(s),r[t.id].loadFailed=!0}}$g.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o-1;i--)ZJ(this,e[i],t,n);return me(this)};var Kk=new h,w$e=new he;$g.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!l(n))return ht.FAILED;if(n.loadFailed)return ht.FAILED;let i=n.modelPrimitive;if(!l(i)||!i.show)return ht.PENDING;if(!i.ready||!n.modelUpdated)return ht.PENDING;let o=this._scene,r=y(o.ellipsoid,ne.default);if(i.heightReference!==Je.NONE){let a=i.modelMatrix;Kk.x=a[12],Kk.y=a[13],Kk.z=a[14];let c=r.cartesianToCartographic(Kk,w$e),d=o.getHeight(c,i.heightReference);return l(d)&&(hu(i.heightReference)?c.height=d:c.height+=d),le.clone(i.boundingSphere,t),t.center=r.cartographicToCartesian(c),ht.DONE}return le.clone(i.boundingSphere,t),ht.DONE};$g.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._model)&&l(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._model)&&l(r._position)?(F$e(r,a),s.set(r.id,r)):(ZJ(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],ZJ(this,r,a,c),s.remove(r.id)};function ZJ(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function F$e(e,t){let n=t[e.id];l(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}var bv=$g;var eci=T(S(),1);var Xai=T(S(),1);function ey(e){this._definitionChanged=new be,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(ey.prototype,{isConstant:{get:function(){return K.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return l(this._value)?this._value.referenceFrame:Ai.FIXED}}});var A$e=new j;ey.prototype.getValue=function(e,t){return l(e)||(e=j.now(A$e)),this.getValueInReferenceFrame(e,Ai.FIXED,t)};ey.prototype.setValue=function(e){this._value!==e&&(this._value=e,l(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),l(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};ey.prototype.getValueInReferenceFrame=function(e,t,n){if(l(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),l(n)?ne.default.scaleToGeodeticSurface(n,n):void 0};ey.prototype.equals=function(e){return this===e||e instanceof ey&&this._value===e._value};ey.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Ef=ey;var M$e=60,N$e=1,Whe=new Rn,GJ=new Rn,EJ=new Rn;function Xhe(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function k$e(e,t,n,i,o,r,s,a,c){let d=a,u;u=e.getValueInReferenceFrame(t,r,c[d]),l(u)&&(c[d++]=u);let m=!l(o)||j.lessThanOrEquals(o,t)||j.greaterThanOrEquals(o,n),p=0,g=i.length,f=i[p],x=n,_=!1,C,V,L;for(;p0&&!_){let Z=i[p+1],G=j.secondsDifference(Z,f);_=G>s,_&&(C=Math.ceil(G/s),V=0,L=G/Math.max(C,2),C=Math.max(C-1,1))}if(_&&V0){let g=m.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let u=K.getValueOrDefault(i._resolution,e,M$e);c.show=!0,c.positions=vhe(o,r,s,e,this._referenceFrame,u,c.positions.slice()),c.material=jo.getValue(e,i._material,c.material),c.width=K.getValueOrDefault(i._width,e,N$e),c.distanceDisplayCondition=K.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};gv.prototype.removeObject=function(e){let t=e.polyline;l(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};gv.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),me(this)};function ty(e,t){t.collectionChanged.addEventListener(ty.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new Zt,this._onCollectionChanged(t,t.values,[],[])}ty.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&l(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i-1;o--)r=t[o],l(r._path)&&l(r._position)&&a.set(r.id,new Xhe(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._path)&&l(r._position)?a.contains(r.id)||a.set(r.id,new Xhe(r)):(s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};ty._subSample=vhe;var yv=ty;var fci=T(S(),1);var whe=B.WHITE,Fhe=B.BLACK,Ahe=0,Mhe=1,Nhe=0,khe=Wr.NONE,Uhe=new B,H$e=new h,Dhe=new B,Bhe=new kt,Ohe=new kt,Yhe=new vt;function zhe(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function ny(e,t){t.collectionChanged.addEventListener(ny.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new Zt,this._onCollectionChanged(t,t.values,[],[])}ny.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i0?(d.scale=1,g=g||C!==r.outlineWidth||V!==r.pixelSize||!B.equals(x,r.color)||!B.equals(_,r.outlineColor)):(d.scale=V/50,V=50,g=g||C!==r.outlineWidth||!B.equals(x,r.color)||!B.equals(_,r.outlineColor)),g){r.color=B.clone(x,r.color),r.outlineColor=B.clone(_,r.outlineColor),r.pixelSize=V,r.outlineWidth=C;let L=x.alpha,Z=x.toCssColorString(),G=_.toCssColorString(),I=JSON.stringify([Z,V,G,C]);d.setImage(I,V_(L,Z,G,C,V))}f&&d._updateClamping()}}return!0};ny.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!(l(n.pointPrimitive)||l(n.billboard)))return ht.FAILED;if(l(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!l(i._clampedPosition))return ht.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,ht.DONE};ny.prototype.isDestroyed=function(){return!1};ny.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(ny.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t-1;o--)r=t[o],l(r._point)&&l(r._position)&&s.set(r.id,new zhe(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._point)&&l(r._position)?s.contains(r.id)||s.set(r.id,new zhe(r)):(xv(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],xv(s.get(r.id),r,a),s.remove(r.id)};function xv(e,t,n){if(l(e)){let i=e.pointPrimitive;if(l(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;l(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var _v=ny;var zli=T(S(),1);var uli=T(S(),1);var vci=T(S(),1);var jhe=[];function K$e(e,t,n,i,o){let r=jhe;r.length=o;let s,a=n.red,c=n.green,d=n.blue,u=n.alpha,m=i.red,p=i.green,g=i.blue,f=i.alpha;if(B.equals(n,i)){for(s=0;s0?new Array(o):void 0;for(i=0;i0){let A=0,N=m[0];i=i.filter(function(O,U){let Y=!1;return o?Y=U===N||U===0&&N===1:Y=U+1===N,Y?(A++,N=m[A],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===on.GEODESIC||r===on.RHUMB){let A,N;r===on.GEODESIC?(A=W.chordLength(s,a.maximumRadius),N=Gi.numberOfPoints):(A=s,N=Gi.numberOfPointsRhumbLine);let O=Gi.extractHeights(p,a);if(l(i)){let U=1;for(c=0;c0)return le.fromPoints(t.positions,e),ht.DONE}return ht.FAILED};Sv.prototype.isDestroyed=function(){return!1};Sv.prototype.destroy=function(){let t=this._geometryUpdater._scene.id+this._primitives._guid,n=Jk[t];l(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete Jk[t])),l(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),me(this)};var Cv=ph;var Gli=T(S(),1);var iet=new B,oet=new vt,ret=new vt;function bh(e,t,n,i,o){let r;n instanceof Ot?r=Hr:r=da,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new Zt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Zt,this.material=void 0,this.updatersWithAttributes=new Zt,this.attributes=new Zt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(bh.prototype.onMaterialChanged,this),this.subscriptions=new Zt,this.showsUpdated=new Zt,this.zIndex=i,this._asynchronous=o}bh.prototype.onMaterialChanged=function(){this.invalidated=!0};bh.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ot&&t instanceof Ot?!0:l(t)&&t.equals(n)};bh.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!K.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};bh.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};bh.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new Em({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===da&&(this.material=jo.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===da&&(this.material=jo.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};bV.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c-1;a--)c=s[a],d=c.id,u=this._updaters.get(d),u.entity===c?(nfe(this,u),ife(this,e,u)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],d=c.id,u=this._updaters.get(d),nfe(this,u),u.destroy(),this._updaters.remove(d),this._subscriptions.get(d)(),this._subscriptions.remove(d);for(a=n.length-1;a>-1;a--)c=n[a],d=c.id,u=new Cv(c,this._scene),this._updaters.set(d,u),ife(this,e,u),this._subscriptions.set(d,u.geometryChanged.addEventListener(If._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let m=!0,p=this._batches,g=p.length;for(a=0;a-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var Lv=If;function Dl(e){Mc.initializeTerrainHeights(),Em.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new Mr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,Dl.defaultVisualizersCallback);let i=!1,o=new Nl,r=new Nl;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let d=0,u=n.length;dnew o(e,i))]};Object.defineProperties(Dl.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});Dl.prototype.isDestroyed=function(){return!1};Dl.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;thet*s.maximumRadius?(m=afe,h.normalize(c,m),h.negate(m,m),g=h.clone(h.UNIT_Z,XJ),p=h.cross(g,m,Qk),h.magnitude(p)>W.EPSILON7&&(h.normalize(m,m),h.normalize(p,p),g=h.cross(m,p,XJ),h.normalize(g,g),d=!0)):h.equalsEpsilon(c,V,W.EPSILON7)||(g=afe,h.normalize(I,g),h.normalize(v,v),p=h.cross(g,v,XJ),u&&(p=h.multiplyByScalar(p,-1,p)),h.equalsEpsilon(p,h.ZERO,W.EPSILON7)||(m=h.cross(p,g,Qk),$.multiplyByVector(G,m,m),$.multiplyByVector(G,p,p),$.multiplyByVector(G,g,g),h.normalize(m,m),h.normalize(p,p),h.normalize(g,g),d=!0))}}l(e.boundingSphere)&&(c=e.boundingSphere.center);let f,x,_;i&&(f=h.clone(t.position,WJ),x=h.clone(t.direction,cfe),_=h.clone(t.up,lfe));let C=met;d?(C[0]=m.x,C[1]=m.y,C[2]=m.z,C[3]=0,C[4]=p.x,C[5]=p.y,C[6]=p.z,C[7]=0,C[8]=g.x,C[9]=g.y,C[10]=g.z,C[11]=0,C[12]=c.x,C[13]=c.y,C[14]=c.z,C[15]=0):Ft.eastNorthUpToFixedFrame(c,s,C),t._setTransform(C),i&&(h.clone(f,t.position),h.clone(x,t.direction),h.clone(_,t.up),h.cross(x,_,t.right))}if(n){let d=a===oe.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,d)}}function Zv(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,ne.default),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._offset3D=new h}Object.defineProperties(Zv,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});Zv.defaultOffset3D=new h(-14e3,3500,3500);var jk=new Ju,pet=new h;Zv.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===oe.MORPHING)return;let r=this.entity,s=r.position;if(!l(s))return;let a=r!==this._lastEntity,c=o!==this._mode,d=n.camera,u=a||c,m=!0;if(a){let p=r.viewFrom,g=l(p);if(!g&&l(t)){jk.pitch=-W.PI_OVER_FOUR,jk.range=0;let f=s.getValue(e,pet);if(l(f)){let x=2-1/Math.max(1,h.magnitude(f)/i.maximumRadius);jk.pitch*=x}d.viewBoundingSphere(t,jk),this.boundingSphere=t,u=!1,m=!1}else(!g||!l(p.getValue(e,this._offset3D)))&&h.clone(Zv._defaultOffset3D,this._offset3D)}else!c&&this._mode!==oe.SCENE2D&&h.clone(d.position,this._offset3D);this._lastEntity=r,this._mode=o,fet(this,d,u,m,s,e,i)};var Gv=Zv;var $mi=T(S(),1);var _mi=T(S(),1);var Pdi=T(S(),1);function oU(e){return rU(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function rU(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?rU(n):n),[])}var dfe=[0,1,2,3].concat(...oU([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function hr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,d=e.stat_desc.max_length,u,m,p,g,f,x,_=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,u=o.heap_max+1;u<573;u++)m=o.heap[u],g=r[r[m*2+1]*2+1]+1,g>d&&(g=d,_++),r[m*2+1]=g,!(m>e.max_code)&&(o.bl_count[g]++,f=0,m>=c&&(f=a[m-c]),x=r[m*2],o.opt_len+=x*(g+f),s&&(o.static_len+=x*(s[m*2+1]+f)));if(_!==0){do{for(g=d-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[d]--,_-=2}while(_>0);for(g=d;g!==0;g--)for(m=o.bl_count[g];m!==0;)p=o.heap[--u],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),m--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,d,u,m;for(d=1;d<=15;d++)a[d]=c=c+s[d-1]<<1;for(u=0;u<=r;u++)m=o[u*2+1],m!==0&&(o[u*2]=n(a[m]++,m))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,d,u=-1,m;for(o.heap_len=0,o.heap_max=573,c=0;c=1;c--)o.pqdownheap(r,c);m=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),d=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=d,r[m*2]=r[c*2]+r[d*2],o.depth[m]=Math.max(o.depth[c],o.depth[d])+1,r[c*2+1]=r[d*2+1]=m,o.heap[1]=m++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}hr._length_code=[0,1,2,3,4,5,6,7].concat(...oU([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));hr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];hr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];hr.d_code=function(e){return e<256?dfe[e]:dfe[256+(e>>>7)]};hr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];hr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];hr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];hr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function Ua(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var bet=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],get=oU([[144,8],[112,9],[24,7],[8,8]]);Ua.static_ltree=rU(bet.map((e,t)=>[e,get[t]]));var yet=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],xet=oU([[30,5]]);Ua.static_dtree=rU(yet.map((e,t)=>[e,xet[t]]));Ua.static_l_desc=new Ua(Ua.static_ltree,hr.extra_lbits,257,286,15);Ua.static_d_desc=new Ua(Ua.static_dtree,hr.extra_dbits,0,30,15);Ua.static_bl_desc=new Ua(null,hr.extra_blbits,0,19,7);var _et=9,Tet=8;function Xf(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var mfe=0,nU=1,pT=2,gh=[new Xf(0,0,0,0,mfe),new Xf(4,4,8,4,nU),new Xf(4,5,16,8,nU),new Xf(4,6,32,32,nU),new Xf(4,4,16,16,pT),new Xf(8,16,32,32,pT),new Xf(8,16,128,128,pT),new Xf(8,32,128,256,pT),new Xf(32,128,258,1024,pT),new Xf(32,258,258,4096,pT)],qk=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Qu=0,$k=1,Ev=2,eU=3,Cet=32,PJ=42,tU=113,Iv=666,vJ=8,Vet=0,wJ=1,Let=2,Lr=3,iU=258,wd=iU+Lr+1;function ufe(e,t,n,i){let o=e[t*2],r=e[n*2];return o=3&&O[hr.bl_order[De]*2+1]===0;De--);return e.opt_len+=3*(De+1)+5+5+4,De}function Ie(De){e.pending_buf[e.pending++]=De}function Ee(De){Ie(De&255),Ie(De>>>8&255)}function ve(De){Ie(De>>8&255),Ie(De&255&255)}function we(De,mt){let st,$e=mt;ee>16-$e?(st=De,q|=st<>>16-ee,ee+=$e-16):(q|=De<=8&&(Ie(q&255),q>>>=8,ee-=8)}function ke(){we(wJ<<1,3),pt(256,Ua.static_ltree),Fe(),1+H+10-ee<9&&(we(wJ<<1,3),pt(256,Ua.static_ltree),Fe()),H=7}function qe(De,mt){let st,$e,et;if(e.dist_buf[z]=De,e.lc_buf[z]=mt&255,z++,De===0?A[mt*2]++:(te++,De--,A[(hr._length_code[mt]+256+1)*2]++,N[hr.d_code(De)*2]++),!(z&8191)&&b>2){for(st=z*8,$e=G-C,et=0;et<30;et++)st+=N[et*2]*(5+hr.extra_dbits[et]);if(st>>>=3,te8?Ee(q):ee>0&&Ie(q&255),q=0,ee=0}function Ce(De,mt,st){Ut(),H=8,st&&(Ee(mt),Ee(~mt)),e.pending_buf.set(c.subarray(De,De+mt),e.pending),e.pending+=mt}function Ve(De,mt,st){we((Vet<<1)+(st?1:0),3),Ce(De,mt,!0)}function $t(De,mt,st){let $e,et,Mt=0;b>0?(U.build_tree(e),Y.build_tree(e),Mt=Te(),$e=e.opt_len+3+7>>>3,et=e.static_len+3+7>>>3,et<=$e&&($e=et)):$e=et=mt+5,mt+4<=$e&&De!=-1?Ve(De,mt,st):et==$e?(we((wJ<<1)+(st?1:0),3),Qe(Ua.static_ltree,Ua.static_dtree)):(we((Let<<1)+(st?1:0),3),Rt(U.max_code+1,Y.max_code+1,Mt+1),Qe(A,N)),_e(),st&&Ut()}function en(De){$t(C>=0?C:-1,G-C,De),C=G,t.flush_pending()}function Qt(){let De,mt,st,$e;do{if($e=d-v-G,$e===0&&G===0&&v===0)$e=r;else if($e==-1)$e--;else if(G>=r+r-wd){c.set(c.subarray(r,r+r),0),I-=r,G-=r,C-=r,De=g,st=De;do mt=m[--st]&65535,m[st]=mt>=r?mt-r:0;while(--De!==0);De=r,st=De;do mt=u[--st]&65535,u[st]=mt>=r?mt-r:0;while(--De!==0);$e+=r}if(t.avail_in===0)return;De=t.read_buf(c,G+v,$e),v+=De,v>=Lr&&(p=c[G]&255,p=(p<<_^c[G+1]&255)&x)}while(vi-5&&(mt=i-5);;){if(v<=1){if(Qt(),v===0&&De==0)return Qu;if(v===0)break}if(G+=v,v=0,st=C+mt,(G===0||G>=st)&&(v=G-st,G=st,en(!1),t.avail_out===0)||G-C>=r-wd&&(en(!1),t.avail_out===0))return Qu}return en(De==4),t.avail_out===0?De==4?Ev:Qu:De==4?eU:$k}function je(De){let mt=w,st=G,$e,et,Mt=P,xn=G>r-wd?G-(r-wd):0,Ki=X,ho=a,rs=G+iU,ar=c[st+Mt-1],To=c[st+Mt];P>=E&&(mt>>=2),Ki>v&&(Ki=v);do if($e=De,!(c[$e+Mt]!=To||c[$e+Mt-1]!=ar||c[$e]!=c[st]||c[++$e]!=c[st+1])){st+=2,$e++;do;while(c[++st]==c[++$e]&&c[++st]==c[++$e]&&c[++st]==c[++$e]&&c[++st]==c[++$e]&&c[++st]==c[++$e]&&c[++st]==c[++$e]&&c[++st]==c[++$e]&&c[++st]==c[++$e]&&stMt){if(I=De,Mt=et,et>=Ki)break;ar=c[st+Mt-1],To=c[st+Mt]}}while((De=u[De&ho]&65535)>xn&&--mt!==0);return Mt<=v?Mt:v}function os(De){let mt=0,st;for(;;){if(v=Lr&&(p=(p<<_^c[G+(Lr-1)]&255)&x,mt=m[p]&65535,u[G&a]=m[p],m[p]=G),mt!==0&&(G-mt&65535)<=r-wd&&R!=2&&(V=je(mt)),V>=Lr)if(st=qe(G-I,V-Lr),v-=V,V<=F&&v>=Lr){V--;do G++,p=(p<<_^c[G+(Lr-1)]&255)&x,mt=m[p]&65535,u[G&a]=m[p],m[p]=G;while(--V!==0);G++}else G+=V,V=0,p=c[G]&255,p=(p<<_^c[G+1]&255)&x;else st=qe(0,c[G]&255),v--,G++;if(st&&(en(!1),t.avail_out===0))return Qu}return en(De==4),t.avail_out===0?De==4?Ev:Qu:De==4?eU:$k}function sr(De){let mt=0,st,$e;for(;;){if(v=Lr&&(p=(p<<_^c[G+(Lr-1)]&255)&x,mt=m[p]&65535,u[G&a]=m[p],m[p]=G),P=V,L=I,V=Lr-1,mt!==0&&P4096)&&(V=Lr-1)),P>=Lr&&V<=P){$e=G+v-Lr,st=qe(G-1-L,P-Lr),v-=P-1,P-=2;do++G<=$e&&(p=(p<<_^c[G+(Lr-1)]&255)&x,mt=m[p]&65535,u[G&a]=m[p],m[p]=G);while(--P!==0);if(Z=0,V=Lr-1,G++,st&&(en(!1),t.avail_out===0))return Qu}else if(Z!==0){if(st=qe(0,c[G-1]&255),st&&en(!1),G++,v--,t.avail_out===0)return Qu}else Z=1,G++,v--}return Z!==0&&(st=qe(0,c[G-1]&255),Z=0),en(De==4),t.avail_out===0?De==4?Ev:Qu:De==4?eU:$k}function ia(De){return De.total_in=De.total_out=0,De.msg=null,e.pending=0,e.pending_out=0,n=tU,o=0,ae(),pe(),0}e.deflateInit=function(De,mt,st,$e,et,Mt){return $e||($e=vJ),et||(et=Tet),Mt||(Mt=0),De.msg=null,mt==-1&&(mt=6),et<1||et>_et||$e!=vJ||st<9||st>15||mt<0||mt>9||Mt<0||Mt>2?-2:(De.dstate=e,s=st,r=1<9||st<0||st>2?-2:(gh[b].func!=gh[mt].func&&De.total_in!==0&&($e=De.deflate(1)),b!=mt&&(b=mt,F=gh[b].max_lazy,E=gh[b].good_length,X=gh[b].nice_length,w=gh[b].max_chain),R=st,$e)},e.deflateSetDictionary=function(De,mt,st){let $e=st,et,Mt=0;if(!mt||n!=PJ)return-2;if($er-wd&&($e=r-wd,Mt=st-$e),c.set(mt.subarray(Mt,Mt+$e),0),G=$e,C=$e,p=c[0]&255,p=(p<<_^c[1]&255)&x,et=0;et<=$e-Lr;et++)p=(p<<_^c[et+(Lr-1)]&255)&x,u[et&a]=m[p],m[p]=et;return 0},e.deflate=function(De,mt){let st,$e,et,Mt,xn;if(mt>4||mt<0)return-2;if(!De.next_out||!De.next_in&&De.avail_in!==0||n==Iv&&mt!=4)return De.msg=qk[4],-2;if(De.avail_out===0)return De.msg=qk[7],-5;if(t=De,Mt=o,o=mt,n==PJ&&($e=vJ+(s-8<<4)<<8,et=(b-1&255)>>1,et>3&&(et=3),$e|=et<<6,G!==0&&($e|=Cet),$e+=31-$e%31,n=tU,ve($e)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&&mt<=Mt&&mt!=4)return t.msg=qk[7],-5;if(n==Iv&&t.avail_in!==0)return De.msg=qk[7],-5;if(t.avail_in!==0||v!==0||mt!=0&&n!=Iv){switch(xn=-1,gh[b].func){case mfe:xn=mo(mt);break;case nU:xn=os(mt);break;case pT:xn=sr(mt);break;default:}if((xn==Ev||xn==eU)&&(n=Iv),xn==Qu||xn==Ev)return t.avail_out===0&&(o=-1),0;if(xn==$k){if(mt==1)ke();else if(Ve(0,0,!1),mt==3)for(st=0;stn&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function ffe(e){let t=this,n=new hfe,i=Zet(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let d,u,m=0,p=0,g=0,f=[];if(a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,d=n.deflate(o),d!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?f.push(new Uint8Array(r)):f.push(r.subarray(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=m&&(c(n.next_in_index),m=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return f.length>1?(u=new Uint8Array(g),f.forEach(function(x){u.set(x,p),p+=x.length})):u=f[0]?new Uint8Array(f[0]):new Uint8Array,u}},t.flush=function(){let a,c,d=0,u=0,m=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&m.push(r.slice(0,n.next_out_index)),u+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(u),m.forEach(function(p){c.set(p,d),d+=p.length}),c}}function Zet(e){return e+5*(Math.floor(e/16383)+1)}var wdi=T(S(),1);var Fd=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],vfe=1440,Get=0,Eet=4,Iet=9,Xet=5,Wet=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Pet=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],vet=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],wet=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Fet=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Aet=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],iy=15;function NJ(){let e=this,t,n,i,o,r,s;function a(d,u,m,p,g,f,x,_,C,V,L){let Z,G,I,v,P,w,F,b,R,E,X,A,N,O,U;E=0,P=m;do i[d[u+E]]++,E++,P--;while(P!==0);if(i[0]==m)return x[0]=-1,_[0]=0,0;for(b=_[0],w=1;w<=iy&&i[w]===0;w++);for(F=w,bP&&(b=P),_[0]=b,O=1<A+b;){if(v++,A+=b,U=I-A,U=U>b?b:U,(G=1<<(w=F-A))>Z+1&&(G-=Z+1,N=F,wvfe)return-3;r[v]=X=V[0],V[0]+=U,v!==0?(s[v]=P,o[0]=w,o[1]=b,w=P>>>A-b,o[2]=X-r[v-1]-w,C.set(o,(r[v-1]+w)*3)):x[0]=X}for(o[1]=F-A,E>=m?o[0]=192:L[E]>>A;w>>=1)P^=w;for(P^=w,R=(1<257?(V==-3?C.msg="oversubscribed distance tree":V==-5?(C.msg="incomplete distance tree",V=-3):V!=-4&&(C.msg="empty distance tree with lengths",V=-3),V):0)}}NJ.inflate_trees_fixed=function(e,t,n,i){return e[0]=Iet,t[0]=Xet,n[0]=Wet,i[0]=Pet,0};var sU=0,pfe=1,bfe=2,gfe=3,yfe=4,xfe=5,_fe=6,FJ=7,Tfe=8,aU=9;function Met(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,d=0,u=0,m,p=0,g,f=0;function x(_,C,V,L,Z,G,I,v){let P,w,F,b,R,E,X,A,N,O,U,Y,k,J,z,te;X=v.next_in_index,A=v.avail_in,R=I.bitb,E=I.bitk,N=I.write,O=N>=w[te+1],E-=w[te+1],I.win[N++]=w[te+2],O--;continue}do{if(R>>=w[te+1],E-=w[te+1],b&16){for(b&=15,k=w[te+2]+(R&Fd[b]),R>>=b,E-=b;E<15;)A--,R|=(v.read_byte(X++)&255)<>=w[te+1],E-=w[te+1],b&16){for(b&=15;E>=b,E-=b,O-=k,N>=J)z=N-J,N-z>0&&2>N-z?(I.win[N++]=I.win[z++],I.win[N++]=I.win[z++],k-=2):(I.win.set(I.win.subarray(z,z+2),N),N+=2,z+=2,k-=2);else{z=N-J;do z+=I.end;while(z<0);if(b=I.end-z,k>b){if(k-=b,N-z>0&&b>N-z)do I.win[N++]=I.win[z++];while(--b!==0);else I.win.set(I.win.subarray(z,z+b),N),N+=b,z+=b,b=0;z=0}}if(N-z>0&&k>N-z)do I.win[N++]=I.win[z++];while(--k!==0);else I.win.set(I.win.subarray(z,z+k),N),N+=k,z+=k,k=0;break}else if(!(b&64))P+=w[te+2],P+=R&Fd[b],te=(F+P)*3,b=w[te];else return v.msg="invalid distance code",k=v.avail_in-A,k=E>>3>3:k,A+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=A,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,-3;while(!0);break}if(b&64)return b&32?(k=v.avail_in-A,k=E>>3>3:k,A+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=A,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,1):(v.msg="invalid literal/length code",k=v.avail_in-A,k=E>>3>3:k,A+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=A,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,-3);if(P+=w[te+2],P+=R&Fd[b],te=(F+P)*3,(b=w[te])===0){R>>=w[te+1],E-=w[te+1],I.win[N++]=w[te+2],O--;break}}while(!0)}while(O>=258&&A>=10);return k=v.avail_in-A,k=E>>3>3:k,A+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=A,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,0}e.init=function(_,C,V,L,Z,G){t=sU,d=_,u=C,m=V,p=L,g=Z,f=G,i=null},e.proc=function(_,C,V){let L,Z,G,I=0,v=0,P=0,w,F,b,R;for(P=C.next_in_index,w=C.avail_in,I=_.bitb,v=_.bitk,F=_.write,b=F<_.read?_.read-F-1:_.end-F;;)switch(t){case sU:if(b>=258&&w>=10&&(_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,V=x(d,u,m,p,g,f,_,C),P=C.next_in_index,w=C.avail_in,I=_.bitb,v=_.bitk,F=_.write,b=F<_.read?_.read-F-1:_.end-F,V!=0)){t=V==1?FJ:aU;break}r=d,i=m,o=p,t=pfe;case pfe:for(L=r;v>>=i[Z+1],v-=i[Z+1],G=i[Z],G===0){s=i[Z+2],t=_fe;break}if(G&16){a=G&15,n=i[Z+2],t=bfe;break}if(!(G&64)){r=G,o=Z/3+i[Z+2];break}if(G&32){t=FJ;break}return t=aU,C.msg="invalid literal/length code",V=-3,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V);case bfe:for(L=a;v>=L,v-=L,r=u,i=g,o=f,t=gfe;case gfe:for(L=r;v>=i[Z+1],v-=i[Z+1],G=i[Z],G&16){a=G&15,c=i[Z+2],t=yfe;break}if(!(G&64)){r=G,o=Z/3+i[Z+2];break}return t=aU,C.msg="invalid distance code",V=-3,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V);case yfe:for(L=a;v>=L,v-=L,t=xfe;case xfe:for(R=F-c;R<0;)R+=_.end;for(;n!==0;){if(b===0&&(F==_.end&&_.read!==0&&(F=0,b=F<_.read?_.read-F-1:_.end-F),b===0&&(_.write=F,V=_.inflate_flush(C,V),F=_.write,b=F<_.read?_.read-F-1:_.end-F,F==_.end&&_.read!==0&&(F=0,b=F<_.read?_.read-F-1:_.end-F),b===0)))return _.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V);_.win[F++]=_.win[R++],b--,R==_.end&&(R=0),n--}t=sU;break;case _fe:if(b===0&&(F==_.end&&_.read!==0&&(F=0,b=F<_.read?_.read-F-1:_.end-F),b===0&&(_.write=F,V=_.inflate_flush(C,V),F=_.write,b=F<_.read?_.read-F-1:_.end-F,F==_.end&&_.read!==0&&(F=0,b=F<_.read?_.read-F-1:_.end-F),b===0)))return _.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V);V=0,_.win[F++]=s,b--,t=sU;break;case FJ:if(v>7&&(v-=8,w++,P--),_.write=F,V=_.inflate_flush(C,V),F=_.write,b=F<_.read?_.read-F-1:_.end-F,_.read!=_.write)return _.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V);t=Tfe;case Tfe:return V=1,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V);case aU:return V=-3,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V);default:return V=-2,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=F,_.inflate_flush(C,V)}},e.free=function(){}}var Sfe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],xV=0,AJ=1,Cfe=2,Vfe=3,Lfe=4,Rfe=5,cU=6,lU=7,Zfe=8,bT=9;function Net(e,t){let n=this,i=xV,o=0,r=0,s=0,a,c=[0],d=[0],u=new Met,m=0,p=new Int32Array(vfe*3),g=0,f=new NJ;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(x,_){_&&(_[0]=g),i==cU&&u.free(x),i=xV,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(x,_){let C,V,L;return V=x.next_out_index,L=n.read,C=(L<=n.write?n.write:n.end)-L,C>x.avail_out&&(C=x.avail_out),C!==0&&_==-5&&(_=0),x.avail_out-=C,x.total_out+=C,x.next_out.set(n.win.subarray(L,L+C),V),V+=C,L+=C,L==n.end&&(L=0,n.write==n.end&&(n.write=0),C=n.write-L,C>x.avail_out&&(C=x.avail_out),C!==0&&_==-5&&(_=0),x.avail_out-=C,x.total_out+=C,x.next_out.set(n.win.subarray(L,L+C),V),V+=C,L+=C),x.next_out_index=V,n.read=L,_},n.proc=function(x,_){let C,V,L,Z,G,I,v,P;for(Z=x.next_in_index,G=x.avail_in,V=n.bitb,L=n.bitk,I=n.write,v=I>>1){case 0:V>>>=3,L-=3,C=L&7,V>>>=C,L-=C,i=AJ;break;case 1:w=[],F=[],b=[[]],R=[[]],NJ.inflate_trees_fixed(w,F,b,R),u.init(w[0],F[0],b[0],0,R[0],0),V>>>=3,L-=3,i=cU;break;case 2:V>>>=3,L-=3,i=Vfe;break;case 3:return V>>>=3,L-=3,i=bT,x.msg="invalid block type",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_)}break;case AJ:for(;L<32;){if(G!==0)_=0;else return n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);G--,V|=(x.read_byte(Z++)&255)<>>16&65535)!=(V&65535))return i=bT,x.msg="invalid stored block lengths",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);o=V&65535,V=L=0,i=o!==0?Cfe:m!==0?lU:xV;break;case Cfe:if(G===0||v===0&&(I==n.end&&n.read!==0&&(I=0,v=IG&&(C=G),C>v&&(C=v),n.win.set(x.read_buf(Z,C),I),Z+=C,G-=C,I+=C,v-=C,(o-=C)!==0)break;i=m!==0?lU:xV;break;case Vfe:for(;L<14;){if(G!==0)_=0;else return n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);G--,V|=(x.read_byte(Z++)&255)<29||(C>>5&31)>29)return i=bT,x.msg="too many length or distance symbols",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);if(C=258+(C&31)+(C>>5&31),!a||a.length>>=14,L-=14,s=0,i=Lfe;case Lfe:for(;s<4+(r>>>10);){for(;L<3;){if(G!==0)_=0;else return n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);G--,V|=(x.read_byte(Z++)&255)<>>=3,L-=3}for(;s<19;)a[Sfe[s++]]=0;if(c[0]=7,C=f.inflate_trees_bits(a,c,d,p,x),C!=0)return _=C,_==-3&&(a=null,i=bT),n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);s=0,i=Rfe;case Rfe:for(;C=r,!(s>=258+(C&31)+(C>>5&31));){let O,U;for(C=c[0];L>>=C,L-=C,a[s++]=U;else{for(P=U==18?7:U-14,O=U==18?11:3;L>>=C,L-=C,O+=V&Fd[P],V>>>=P,L-=P,P=s,C=r,P+O>258+(C&31)+(C>>5&31)||U==16&&P<1)return a=null,i=bT,x.msg="invalid bit length repeat",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);U=U==16?a[P-1]:0;do a[P++]=U;while(--O!==0);s=P}}if(d[0]=-1,E=[],X=[],A=[],N=[],E[0]=9,X[0]=6,C=r,C=f.inflate_trees_dynamic(257+(C&31),1+(C>>5&31),a,E,X,A,N,p,x),C!=0)return C==-3&&(a=null,i=bT),_=C,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);u.init(E[0],X[0],p,A[0],p,N[0]),i=cU;case cU:if(n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,(_=u.proc(n,x,_))!=1)return n.inflate_flush(x,_);if(_=0,u.free(x),Z=x.next_in_index,G=x.avail_in,V=n.bitb,L=n.bitk,I=n.write,v=I15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new Net(n,1<>4)+8>s.wbits){s.mode=oy,n.msg="invalid win size",s.marker=5;break}s.mode=Gfe;case Gfe:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=oy,n.msg="incorrect header check",s.marker=5;break}if(!(r&ket)){s.mode=Xv;break}s.mode=Efe;case Efe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=Ife;case Ife:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=Xfe;case Xfe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=Wfe;case Wfe:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=MJ,2);case MJ:return s.mode=oy,n.msg="need dictionary",s.marker=0,-2;case Xv:if(o=s.blocks.proc(n,o),o==-3){s.mode=oy,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=Pfe;case Pfe:return n.avail_in=0,1;case oy:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=MJ)return-2;let a=n.istate;return s>=1<0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return d.length>1?(m=new Uint8Array(f),d.forEach(function(x){m.set(x,g),g+=x.length})):m=d[0]?new Uint8Array(d[0]):new Uint8Array,m}},t.flush=function(){n.inflateEnd()}}var Odi=T(S(),1);var Adi=T(S(),1);var _V="/",kJ=new Date(2107,11,31),UJ=new Date(1980,0,1),ji=void 0,Ad="undefined",K0="function";var Ndi=T(S(),1);var Wv=class{constructor(t){return class extends TransformStream{constructor(n,i){let o=new t(i);super({transform(r,s){s.enqueue(o.append(r))},flush(r){let s=o.flush();s&&r.enqueue(s)}})}}}};var Yet=64,Afe=2;try{typeof navigator!=Ad&&navigator.hardwareConcurrency&&(Afe=navigator.hardwareConcurrency)}catch{}var zet={chunkSize:512*1024,maxWorkers:Afe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:ji,CompressionStreamNative:typeof CompressionStream!=Ad&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=Ad&&DecompressionStream},sy=Object.assign({},zet);function Pv(){return sy}function dU(e){return Math.max(e.chunkSize,Yet)}function TV(e){let{baseURL:t,chunkSize:n,maxWorkers:i,terminateWorkerTimeout:o,useCompressionStream:r,useWebWorkers:s,Deflate:a,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:m}=e;if(ry("baseURL",t),ry("chunkSize",n),ry("maxWorkers",i),ry("terminateWorkerTimeout",o),ry("useCompressionStream",r),ry("useWebWorkers",s),a&&(sy.CompressionStream=new Wv(a)),c&&(sy.DecompressionStream=new Wv(c)),ry("CompressionStream",d),ry("DecompressionStream",u),m!==ji){let{deflate:p,inflate:g}=m;if((p||g)&&(sy.workerScripts||(sy.workerScripts={})),p){if(!Array.isArray(p))throw new Error("workerScripts.deflate must be an array");sy.workerScripts.deflate=p}if(g){if(!Array.isArray(g))throw new Error("workerScripts.inflate must be an array");sy.workerScripts.inflate=g}}}function ry(e,t){t!==ji&&(sy[e]=t)}var zdi=T(S(),1);var Mui=T(S(),1);var Eui=T(S(),1);var Rui=T(S(),1);var jdi=T(S(),1);var Kdi=T(S(),1),Mfe=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;Mfe[e]=t}var J0=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i>>8^Mfe[(n^t[i])&255];this.crc=n}get(){return~this.crc}};var vv=class extends TransformStream{constructor(){let t,n=new J0;super({transform(i,o){n.append(i),o.enqueue(i)},flush(){let i=new Uint8Array(4);new DataView(i.buffer).setUint32(0,n.get()),t.value=i}}),t=this}};var bui=T(S(),1);var eui=T(S(),1);function SV(e){if(typeof TextEncoder==Ad){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n0&&t&&(e[n-1]=tl.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=tl.getPartial(o);return i.push(tl.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},wv={bytes:{fromBits(e){let n=tl.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){let e=this,t=e._buffer,n=e._h;t=tl.concat(t,[tl.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i}_S(e,t){return t<>>32-e}_block(e){let t=this,n=t._h,i=Array(80);for(let d=0;d<16;d++)i[d]=e[d];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let d=0;d<=79;d++){d>=16&&(i[d]=t._S(1,i[d-3]^i[d-8]^i[d-14]^i[d-16]));let u=t._S(5,o)+t._f(d,r,s,a)+c+i[d]+t._key[Math.floor(d/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=u}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var DJ={};DJ.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let d=s[r-1];(r%o===0||o===8&&r%o===4)&&(d=n[d>>>24]<<24^n[d>>16&255]<<16^n[d>>8&255]<<8^n[d&255],r%o===0&&(d=d<<8^d>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^d}for(let d=0;r;d++,r--){let u=s[d&3?r:r-4];r<=4||d<4?a[d]=u:a[d]=i[0][n[u>>>24]]^i[1][n[u>>16&255]]^i[2][n[u>>8&255]]^i[3][n[u&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,d;for(let u=0;u<256;u++)r[(o[u]=u<<1^(u>>7)*283)^u]=u;for(let u=s=0;!n[u];u^=a||1,s=r[s]||1){let m=s^s<<1^s<<2^s<<3^s<<4;m=m>>8^m&255^99,n[u]=m,i[m]=u,d=o[c=o[a=o[u]]];let p=d*16843009^c*65537^a*257^u*16843008,g=o[m]*257^m*16843008;for(let f=0;f<4;f++)e[f][u]=g=g<<24^g>>>8,t[f][m]=p=p<<24^p>>>8}for(let u=0;u<5;u++)e[u]=e[u].slice(0),t[u]=t[u].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],d=r[3],u=r[4],m=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],f=e[t?1:3]^n[3],x=4,_,C,V;for(let L=0;L>>24]^a[p>>16&255]^c[g>>8&255]^d[f&255]^n[x],C=s[p>>>24]^a[g>>16&255]^c[f>>8&255]^d[m&255]^n[x+1],V=s[g>>>24]^a[f>>16&255]^c[m>>8&255]^d[p&255]^n[x+2],f=s[f>>>24]^a[m>>16&255]^c[p>>8&255]^d[g&255]^n[x+3],x+=4,m=_,p=C,g=V;for(let L=0;L<4;L++)o[t?3&-L:L]=u[m>>>24]<<24^u[p>>16&255]<<16^u[g>>8&255]<<8^u[f&255]^n[x++],_=m,m=p,p=g,g=f,f=_;return o}};var kfe={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=tl.bitLength(t);for(let r=0;r>5)+1<<2,r,s,a,c,d,u=new ArrayBuffer(o),m=new DataView(u),p=0,g=tl;for(t=wv.bytes.toBits(t),d=1;p<(o||1);d++){for(r=s=e.encrypt(g.concat(t,[d])),a=1;ao&&(e=new n().update(e).finalize());for(let r=0;rthis.resolveReady=s),password:Hfe(t,n),signed:i,strength:o-1,pending:new Uint8Array})},async transform(s,a){let c=this,{password:d,strength:u,resolveReady:m,ready:p}=c;d?(await itt(c,u,d,ju(s,0,Av[u]+2)),s=ju(s,Av[u]+2),r?a.error(new Error(Q0)):m()):await p;let g=new Uint8Array(s.length-ly-(s.length-ly)%CV);a.enqueue(Yfe(c,s,g,0,ly,!0))},async flush(s){let{signed:a,ctr:c,hmac:d,pending:u,ready:m}=this;if(d&&c){await m;let p=ju(u,0,u.length-ly),g=ju(u,u.length-ly),f=new Uint8Array;if(p.length){let x=Nv(Wf,p);d.update(x);let _=c.update(x);f=Mv(Wf,_)}if(a){let x=ju(Mv(Wf,d.digest()),0,ly);for(let _=0;_this.resolveReady=r),password:Hfe(t,n),strength:i-1,pending:new Uint8Array})},async transform(r,s){let a=this,{password:c,strength:d,resolveReady:u,ready:m}=a,p=new Uint8Array;c?(p=await ott(a,d,c),u()):await m;let g=new Uint8Array(p.length+r.length-r.length%CV);g.set(p,0),s.enqueue(Yfe(a,r,g,p.length,0))},async flush(r){let{ctr:s,hmac:a,pending:c,ready:d}=this;if(a&&s){await d;let u=new Uint8Array;if(c.length){let m=s.update(Nv(Wf,c));a.update(m),u=Mv(Wf,m)}o.signature=Mv(Wf,a.digest()).slice(0,ly),r.enqueue(YJ(u,o.signature))}}}),o=this}};function Yfe(e,t,n,i,o,r){let{ctr:s,hmac:a,pending:c}=e,d=t.length-o;c.length&&(t=YJ(c,t),n=att(n,d-d%CV));let u;for(u=0;u<=d-CV;u+=CV){let m=Nv(Wf,ju(t,u,u+CV));r&&a.update(m);let p=s.update(m);r||a.update(p),n.set(Mv(Wf,p),u+i)}return e.pending=ju(t,u),n}async function itt(e,t,n,i){let o=await zfe(e,t,n,ju(i,0,Av[t])),r=ju(i,Av[t]);if(o[0]!=r[0]||o[1]!=r[1])throw new Error(cy)}async function ott(e,t,n){let i=uU(new Uint8Array(Av[t])),o=await zfe(e,t,n,i);return YJ(i,o)}async function zfe(e,t,n,i){e.password=null;let o=await rtt(Ket,n,jet,!1,qet),r=await stt(Object.assign({salt:i},OJ),o,8*(Fv[t]*2+2)),s=new Uint8Array(r),a=Nv(Wf,ju(s,0,Fv[t])),c=Nv(Wf,ju(s,Fv[t],Fv[t]*2)),d=ju(s,Fv[t]*2);return Object.assign(e,{keys:{key:a,authentication:c,passwordVerification:d},ctr:new ttt(new ett(a),Array.from($et)),hmac:new ntt(c)}),d}async function rtt(e,t,n,i,o){if(Ufe)try{return await kv.importKey(e,t,n,i,o)}catch{return Ufe=!1,ay.importKey(t)}else return ay.importKey(t)}async function stt(e,t,n){if(Dfe)try{return await kv.deriveBits(e,t,n)}catch{return Dfe=!1,ay.pbkdf2(t,e.salt,OJ.iterations,n)}else return ay.pbkdf2(t,e.salt,OJ.iterations,n)}function Hfe(e,t){return t===ji?SV(e):t}function YJ(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function att(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function ju(e,t,n){return e.subarray(t,n)}function Mv(e,t){return e.fromBits(t)}function Nv(e,t){return e.toBits(t)}var _ui=T(S(),1);var VV=12,pU=class extends TransformStream{constructor({password:t,passwordVerification:n,checkPasswordOnly:i}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),jfe(this,t)},transform(o,r){let s=this;if(s.password){let a=Kfe(s,o.subarray(0,VV));if(s.password=null,a[VV-1]!=s.passwordVerification)throw new Error(cy);o=o.subarray(VV)}i?r.error(new Error(Q0)):r.enqueue(Kfe(s,o))}})}},bU=class extends TransformStream{constructor({password:t,passwordVerification:n}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),jfe(this,t)},transform(i,o){let r=this,s,a;if(r.password){r.password=null;let c=uU(new Uint8Array(VV));c[VV-1]=r.passwordVerification,s=new Uint8Array(i.length+c.length),s.set(Jfe(r,c),0),a=VV}else s=new Uint8Array(i.length),a=0;s.set(Jfe(r,i),a),o.enqueue(s)}})}};function Kfe(e,t){let n=new Uint8Array(t.length);for(let i=0;i>>24]),o=~e.crcKey2.get(),e.keys=[n,i,o]}function qfe(e){let t=e.keys[2]|2;return $fe(Math.imul(t,t^1)>>>8)}function $fe(e){return e&255}function Qfe(e){return e&4294967295}var epe="deflate-raw",gU=class extends TransformStream{constructor(t,{chunkSize:n,CompressionStream:i,CompressionStreamNative:o}){super({});let{compressed:r,encrypted:s,useCompressionStream:a,zipCrypto:c,signed:d,level:u}=t,m=this,p,g,f=tpe(super.readable);(!s||c)&&d&&(p=new vv,f=Pf(f,p)),r&&(f=ipe(f,a,{level:u,chunkSize:n},o,i)),s&&(c?f=Pf(f,new bU(t)):(g=new hU(t),f=Pf(f,g))),npe(m,f,()=>{let x;s&&!c&&(x=g.signature),(!s||c)&&d&&(x=new DataView(p.value.buffer).getUint32(0)),m.signature=x})}},yU=class extends TransformStream{constructor(t,{chunkSize:n,DecompressionStream:i,DecompressionStreamNative:o}){super({});let{zipCrypto:r,encrypted:s,signed:a,signature:c,compressed:d,useCompressionStream:u}=t,m,p,g=tpe(super.readable);s&&(r?g=Pf(g,new pU(t)):(p=new mU(t),g=Pf(g,p))),d&&(g=ipe(g,u,{chunkSize:n},o,i)),(!s||r)&&a&&(m=new vv,g=Pf(g,m)),npe(this,g,()=>{if((!s||r)&&a){let f=new DataView(m.value.buffer);if(c!=f.getUint32(0,!1))throw new Error(gT)}})}};function tpe(e){return Pf(e,new TransformStream({transform(t,n){t&&t.length&&n.enqueue(t)}}))}function npe(e,t,n){t=Pf(t,new TransformStream({flush:n})),Object.defineProperty(e,"readable",{get(){return t}})}function ipe(e,t,n,i,o){try{let r=t&&i?i:o;e=Pf(e,new r(epe,n))}catch{if(t)try{e=Pf(e,new o(epe,n))}catch{return e}else return e}return e}function Pf(e,t){return e.pipeThrough(t)}var ope="message",rpe="start",spe="pull",HJ="data",ape="ack",KJ="close",TU="deflate",SU="inflate";var xU=class extends TransformStream{constructor(t,n){super({});let i=this,{codecType:o}=t,r;o.startsWith(TU)?r=gU:o.startsWith(SU)&&(r=yU);let s=0,a=0,c=new r(t,n),d=super.readable,u=new TransformStream({transform(p,g){p&&p.length&&(a+=p.length,g.enqueue(p))},flush(){Object.assign(i,{inputSize:a})}}),m=new TransformStream({transform(p,g){p&&p.length&&(s+=p.length,g.enqueue(p))},flush(){let{signature:p}=c;Object.assign(i,{signature:p,outputSize:s,inputSize:a})}});Object.defineProperty(i,"readable",{get(){return d.pipeThrough(u).pipeThrough(c).pipeThrough(m)}})}},_U=class extends TransformStream{constructor(t){let n;super({transform:i,flush(o){n&&n.length&&o.enqueue(n)}});function i(o,r){if(n){let s=new Uint8Array(n.length+o.length);s.set(n),s.set(o,n.length),o=s,n=null}o.length>t?(r.enqueue(o.slice(0,t)),i(o.slice(t),r)):n=o}}};var Pui=T(S(),1);var dpe=typeof Worker!=Ad;var LV=class{constructor(t,{readable:n,writable:i},{options:o,config:r,streamOptions:s,useWebWorkers:a,transferStreams:c,scripts:d},u){let{signal:m}=s;return Object.assign(t,{busy:!0,readable:n.pipeThrough(new _U(r.chunkSize)).pipeThrough(new QJ(n,s),{signal:m}),writable:i,options:Object.assign({},o),scripts:d,transferStreams:c,terminate(){return new Promise(p=>{let{worker:g,busy:f}=t;g?(f?t.resolveTerminated=p:(g.terminate(),p()),t.interface=null):p()})},onTaskFinished(){let{resolveTerminated:p}=t;p&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),p()),t.busy=!1,u(t)}}),(a&&dpe?ctt:upe)(t,r)}},QJ=class extends TransformStream{constructor(t,{onstart:n,onprogress:i,size:o,onend:r}){let s=0;super({async start(){n&&await JJ(n,o)},async transform(a,c){s+=a.length,i&&await JJ(i,s,o),c.enqueue(a)},async flush(){t.size=s,r&&await JJ(r,s)}})}};async function JJ(e,...t){try{await e(...t)}catch{}}function upe(e,t){return{run:()=>ltt(e,t)}}function ctt(e,t){let{baseURL:n,chunkSize:i}=t;if(!e.interface){let o;try{o=mtt(e.scripts[0],n,e)}catch{return dpe=!1,upe(e,t)}Object.assign(e,{worker:o,interface:{run:()=>dtt(e,{chunkSize:i})}})}return e.interface}async function ltt({options:e,readable:t,writable:n,onTaskFinished:i},o){try{let r=new xU(e,o);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});let{signature:s,inputSize:a,outputSize:c}=r;return{signature:s,inputSize:a,outputSize:c}}finally{i()}}async function dtt(e,t){let n,i,o=new Promise((p,g)=>{n=p,i=g});Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:o});let{readable:r,options:s,scripts:a}=e,{writable:c,closed:d}=utt(e.writable),u=CU({type:rpe,scripts:a.slice(1),options:s,config:t,readable:r,writable:c},e);u||Object.assign(e,{reader:r.getReader(),writer:c.getWriter()});let m=await o;return u||await c.getWriter().close(),await d,m}function utt(e){let t,n=new Promise(o=>t=o);return{writable:new WritableStream({async write(o){let r=e.getWriter();await r.ready,await r.write(o),r.releaseLock()},close(){t()},abort(o){return e.getWriter().abort(o)}}),closed:n}}var cpe=!0,lpe=!0;function mtt(e,t,n){let i={type:"module"},o,r;typeof e==K0&&(e=e());try{o=new URL(e,t)}catch{o=e}if(cpe)try{r=new Worker(o)}catch{cpe=!1,r=new Worker(o,i)}else r=new Worker(o,i);return r.addEventListener(ope,s=>htt(s,n)),r}function CU(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:o}){try{let{value:r,readable:s,writable:a}=e,c=[];if(r&&(r.byteLength!C.busy);if(_)return hpe(_),new LV(_,e,t,x);if(yT.lengthjJ.push({resolve:C,stream:e,workerOptions:t}))}function x(_){if(jJ.length){let[{resolve:C,stream:V,workerOptions:L}]=jJ.splice(0,1);C(new LV(_,V,L,x))}else _.worker?(hpe(_),ftt(_,t)):yT=yT.filter(C=>C!=_)}}function ftt(e,t){let{config:n}=t,{terminateWorkerTimeout:i}=n;Number.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{yT=yT.filter(o=>o!=e);try{await e.terminate()}catch{}},i))}function hpe(e){let{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}var Dui=T(S(),1);var ptt="Writer iterator completed too soon",btt="text/plain";var gtt="Content-Type";var ytt=64*1024,eQ="writable",RV=class{constructor(){this.size=0}init(){this.initialized=!0}},LU=class extends RV{get readable(){let t=this,{chunkSize:n=ytt}=t,i=new ReadableStream({start(){this.chunkOffset=0},async pull(o){let{offset:r=0,size:s,diskNumberStart:a}=i,{chunkOffset:c}=this;o.enqueue(await Da(t,r+c,Math.min(n,s-c),a)),c+n>s?o.close():this.chunkOffset+=n}});return i}},qJ=class extends RV{constructor(){super();let t=this,n=new WritableStream({write(i){return t.writeUint8Array(i)}});Object.defineProperty(t,eQ,{get(){return n}})}writeUint8Array(){}};var RU=class extends qJ{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){let n=this,i=0,o=n.pending,r=n.pending.length;for(n.pending="",i=0;i2?n.data+=btoa(o):n.pending=o}getData(){return this.data+btoa(this.pending)}},j0=class extends LU{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,n){let i=this,o=t+n,s=await(t||on&&(s=s.slice(t,o)),new Uint8Array(s)}},Uv=class extends RV{constructor(t){super();let n=this,i=new TransformStream,o=[];t&&o.push([gtt,t]),Object.defineProperty(n,eQ,{get(){return i.writable}}),n.blob=new Response(i.readable,{headers:o}).blob()}getData(){return this.blob}},ZU=class extends j0{constructor(t){super(new Blob([t],{type:btt}))}},GU=class extends Uv{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,utf8:n}=this,i=await super.getData();if(i.text&&n)return i.text();{let o=new FileReader;return new Promise((r,s)=>{Object.assign(o,{onload:({target:a})=>r(a.result),onerror:()=>s(o.error)}),o.readAsText(i,t)})}}};var $J=class extends LU{constructor(t){super(),this.readers=t}async init(){let t=this,{readers:n}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(n.map(async(i,o)=>{await i.init(),o!=n.length-1&&(t.lastDiskOffset+=i.size),t.size+=i.size})),super.init()}async readUint8Array(t,n,i=0){let o=this,{readers:r}=this,s,a=i;a==-1&&(a=r.length-1);let c=t;for(;c>=r[a].size;)c-=r[a].size,a++;let d=r[a],u=d.size;if(c+n<=u)s=await Da(d,c,n);else{let m=u-c;s=new Uint8Array(n),s.set(await Da(d,c,m)),s.set(await o.readUint8Array(t+m,n-m,i),m)}return o.lastDiskNumber=Math.max(a,o.lastDiskNumber),s}},EU=class extends RV{constructor(t,n=4294967295){super();let i=this;Object.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o,r,s,a=new WritableStream({async write(u){let{availableSize:m}=i;if(s)u.length>=m?(await c(u.slice(0,m)),await d(),i.diskOffset+=o.size,i.diskNumber++,s=null,await this.write(u.slice(m))):await c(u);else{let{value:p,done:g}=await t.next();if(g&&!p)throw new Error(ptt);o=p,o.size=0,o.maxSize&&(i.maxSize=o.maxSize),i.availableSize=i.maxSize,await wf(o),r=p.writable,s=r.getWriter(),await this.write(u)}},async close(){await s.ready,await d()}});Object.defineProperty(i,eQ,{get(){return a}});async function c(u){let m=u.length;m&&(await s.ready,await s.write(u),o.size+=m,i.size+=m,i.availableSize-=m)}async function d(){r.size=o.size,await s.close()}}};async function wf(e,t){if(e.init&&!e.initialized)await e.init(t);else return Promise.resolve()}function IU(e){return Array.isArray(e)&&(e=new $J(e)),e instanceof ReadableStream&&(e={readable:e}),e}function XU(e){e.writable===ji&&typeof e.next==K0&&(e=new EU(e)),e instanceof WritableStream&&(e={writable:e});let{writable:t}=e;return t.size===ji&&(t.size=0),e instanceof EU||Object.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function Da(e,t,n,i){return e.readUint8Array(t,n,i)}var omi=T(S(),1);var Hui=T(S(),1);var Oui=T(S(),1),fpe="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),xtt=fpe.length==256;function ppe(e){if(xtt){let t="";for(let n=0;nthis[n]=t[n])}};var mQ="File format is not recognized",Vtt="End of central directory not found",Ltt="End of Zip64 central directory locator not found",Rtt="Central directory header not found",Ztt="Local file header not found",Gtt="Zip64 extra field not found",Ett="File contains encrypted entry",Itt="Encryption method not supported",ype="Compression method not supported",xpe="Split zip file",_pe="utf-8",Tpe="cp437",Xtt=[[rQ,4294967295],[sQ,4294967295],[aQ,4294967295],[WU,65535]],Wtt={[65535]:{getValue:bs,bytes:4},[4294967295]:{getValue:vU,bytes:8}},UU=class{constructor(t,n={}){Object.assign(this,{reader:IU(t),options:n,config:Pv()})}async*getEntriesGenerator(t={}){let n=this,{reader:i}=n,{config:o}=n;if(await wf(i),(i.size===ji||!i.readUint8Array)&&(i=new j0(await new Response(i.readable).blob()),await wf(i)),i.size<22)throw new Error(mQ);i.chunkSize=dU(o);let r=await Att(i,101010256,i.size,22,65535*16);if(!r){let F=await Da(i,0,4),b=_a(F);throw bs(b)==134695760?new Error(xpe):new Error(Vtt)}let s=_a(r),a=bs(s,12),c=bs(s,16),d=r.offset,u=xa(s,20),m=d+22+u,p=xa(s,4),g=i.lastDiskNumber||0,f=xa(s,6),x=xa(s,8),_=0,C=0;if(c==4294967295||a==4294967295||x==65535||f==65535){let F=await Da(i,r.offset-20,20),b=_a(F);if(bs(b,0)==117853008){c=vU(b,8);let R=await Da(i,c,56,-1),E=_a(R),X=r.offset-20-56;if(bs(E,0)!=101075792&&c!=X){let A=c;c=X,_=c-A,R=await Da(i,c,56,-1),E=_a(R)}if(bs(E,0)!=101075792)throw new Error(Ltt);p==65535&&(p=bs(E,16)),f==65535&&(f=bs(E,20)),x==65535&&(x=vU(E,32)),a==4294967295&&(a=vU(E,40)),c-=a}}if(c>=i.size&&(_=i.size-c-a-22,c=i.size-a-22),g!=p)throw new Error(xpe);if(c<0)throw new Error(mQ);let V=0,L=await Da(i,c,a,f),Z=_a(L);if(a){let F=r.offset-a;if(bs(Z,V)!=33639248&&c!=F){let b=c;c=F,_+=c-b,L=await Da(i,c,a,f),Z=_a(L)}}let G=r.offset-c-(i.lastDiskOffset||0);if(a!=G&&G>=0&&(a=G,L=await Da(i,c,a,f),Z=_a(L)),c<0||c>=i.size)throw new Error(mQ);let I=Bl(n,t,"filenameEncoding"),v=Bl(n,t,"commentEncoding");for(let F=0;Fb.getData(Ee,Te,ve),V=k;let{onprogress:Ie}=t;if(Ie)try{await Ie(F+1,x,new dy(b))}catch{}yield Te}let P=Bl(n,t,"extractPrependedData"),w=Bl(n,t,"extractAppendedData");return P&&(n.prependedData=C>0?await Da(i,0,C):new Uint8Array),n.comment=u?await Da(i,d+22,u):new Uint8Array,w&&(n.appendedData=m>>8&255:p>>>24&255),signature:p,compressed:d!=0,encrypted:G,useWebWorkers:Bl(o,i,"useWebWorkers"),useCompressionStream:Bl(o,i,"useCompressionStream"),transferStreams:Bl(o,i,"transferStreams"),checkPasswordOnly:b},config:u,streamOptions:{signal:F,size:P,onstart:E,onprogress:X,onend:A}},O=0;try{({outputSize:O}=await VU({readable:w,writable:R},N))}catch(U){if(!b||U.message!=Q0)throw U}finally{let U=Bl(o,i,"preventClose");R.size+=O,!U&&!R.locked&&await R.getWriter().close()}return b?ji:t.getData?t.getData():R}};function Cpe(e,t,n){let i=e.rawBitFlag=xa(t,n+2),o=(i&1)==1,r=bs(t,n+6);Object.assign(e,{encrypted:o,version:xa(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:Mtt(r),filenameLength:xa(t,n+22),extraFieldLength:xa(t,n+24)})}async function Vpe(e,t,n,i,o){let{rawExtraField:r}=t,s=t.extraField=new Map,a=_a(new Uint8Array(r)),c=0;try{for(;ct[o]==r);for(let o=0,r=0;o=5&&(r.push(ZV),s.push(PU));let a=1;r.forEach((c,d)=>{if(e.data.length>=a+4){let u=bs(i,a);t[c]=e[c]=new Date(u*1e3);let m=s[d];e[m]=u}a+=4})}async function Att(e,t,n,i,o){let r=new Uint8Array(4),s=_a(r);Ntt(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(d){let u=n-d,m=await Da(e,u,d);for(let p=m.length-i;p>=0;p--)if(m[p]==r[0]&&m[p+1]==r[1]&&m[p+2]==r[2]&&m[p+3]==r[3])return{offset:u+p,buffer:m.slice(p,p+i).buffer}}}function Bl(e,t,n){return t[n]===ji?e.options[n]:t[n]}function Mtt(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function hQ(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function GV(e,t){return e.getUint8(t)}function xa(e,t){return e.getUint16(t,!0)}function bs(e,t){return e.getUint32(t,!0)}function vU(e,t){return Number(e.getBigUint64(t,!0))}function Ntt(e,t,n){e.setUint32(t,n,!0)}function _a(e){return new DataView(e.buffer)}var mmi=T(S(),1);var Btt="File already exists",Ott="Zip file comment exceeds 64KB",Ytt="File entry comment exceeds 64KB",ztt="File entry name exceeds 64KB",Zpe="Version exceeds 65535",Htt="The strength must equal 1, 2, or 3",Ktt="Extra field type exceeds 65535",Jtt="Extra field data exceeds 64KB",GQ="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Gpe=new Uint8Array([7,0,2,0,65,69,3,0,0]),RQ=0,Epe=[],OU=class{constructor(t,n={}){t=XU(t);let i=t.availableSize!==ji&&t.availableSize>0&&t.availableSize!==1/0&&t.maxSize!==ji&&t.maxSize>0&&t.maxSize!==1/0;Object.assign(this,{writer:t,addSplitZipSignature:i,options:n,config:Pv(),files:new Map,filenames:new Set,offset:t.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new Set,bufferedWrites:0})}async add(t="",n,i={}){let o=this,{pendingAddFileCalls:r,config:s}=o;RQEpe.push(c));let a;try{if(t=t.trim(),o.filenames.has(t))throw new Error(Btt);return o.filenames.add(t),a=Qtt(o,t,n,i),r.add(a),await a}catch(c){throw o.filenames.delete(t),c}finally{r.delete(a);let c=Epe.shift();c?c():RQ--}}async close(t=new Uint8Array,n={}){let i=this,{pendingAddFileCalls:o,writer:r}=this,{writable:s}=r;for(;o.size;)await Promise.allSettled(Array.from(o));return await rnt(this,t,n),Oo(i,n,"preventClose")||await s.getWriter().close(),r.getData?r.getData():s}};async function Qtt(e,t,n,i){t=t.trim(),i.directory&&!t.endsWith(_V)?t+=_V:i.directory=t.endsWith(_V);let o=Oo(e,i,"encodeText",SV),r=o(t);if(r===ji&&(r=SV(t)),Hi(r)>65535)throw new Error(ztt);let s=i.comment||"",a=o(s);if(a===ji&&(a=SV(s)),Hi(a)>65535)throw new Error(Ytt);let c=Oo(e,i,"version",20);if(c>65535)throw new Error(Zpe);let d=Oo(e,i,"versionMadeBy",20);if(d>65535)throw new Error(Zpe);let u=Oo(e,i,ZV,new Date),m=Oo(e,i,Bv),p=Oo(e,i,Ov),g=Oo(e,i,dQ,!0),f=Oo(e,i,cQ,0),x=Oo(e,i,lQ,0),_=Oo(e,i,"password"),C=Oo(e,i,"rawPassword"),V=Oo(e,i,"encryptionStrength",3),L=Oo(e,i,"zipCrypto"),Z=Oo(e,i,"extendedTimestamp",!0),G=Oo(e,i,"keepOrder",!0),I=Oo(e,i,"level"),v=Oo(e,i,"useWebWorkers"),P=Oo(e,i,"bufferedWrite"),w=Oo(e,i,"dataDescriptorSignature",!1),F=Oo(e,i,"signal"),b=Oo(e,i,"useCompressionStream"),R=Oo(e,i,"dataDescriptor",!0),E=Oo(e,i,uQ);if(_!==ji&&V!==ji&&(V<1||V>3))throw new Error(Htt);let X=new Uint8Array,{extraField:A}=i;if(A){let Ie=0,Ee=0;A.forEach(ve=>Ie+=4+Hi(ve)),X=new Uint8Array(Ie),A.forEach((ve,we)=>{if(we>65535)throw new Error(Ktt);if(Hi(ve)>65535)throw new Error(Jtt);Gs(X,new Uint16Array([we]),Ee),Gs(X,new Uint16Array([Hi(ve)]),Ee+2),Gs(X,ve,Ee+4),Ee+=4+Hi(ve)})}let N=0,O=0,U=0,Y=E===!0;n&&(n=IU(n),await wf(n),n.size===ji?(R=!0,(E||E===ji)&&(E=!0,U=N=4294967296)):(U=n.size,N=snt(U)));let{diskOffset:k,diskNumber:J,maxSize:z}=e.writer,te=Y||U>4294967295,H=Y||N>4294967295,q=Y||e.offset+e.pendingEntriesSize-k>4294967295,pe=Oo(e,i,"supportZip64SplitFile",!0)&&Y||J+Math.ceil(e.pendingEntriesSize/z)>65535;if(q||te||H||pe){if(E===!1||!G)throw new Error(GQ);E=!0}E=E||!1,i=Object.assign({},i,{rawFilename:r,rawComment:a,version:c,versionMadeBy:d,lastModDate:u,lastAccessDate:m,creationDate:p,rawExtraField:X,zip64:E,zip64UncompressedSize:te,zip64CompressedSize:H,zip64Offset:q,zip64DiskNumberStart:pe,password:_,rawPassword:C,level:!b&&e.config.CompressionStream===ji&&e.config.CompressionStreamNative===ji?0:I,useWebWorkers:v,encryptionStrength:V,extendedTimestamp:Z,zipCrypto:L,bufferedWrite:P,keepOrder:G,dataDescriptor:R,dataDescriptorSignature:w,signal:F,msDosCompatible:g,internalFileAttribute:f,externalFileAttribute:x,useCompressionStream:b});let _e=$tt(i),ae=tnt(i),ye=Hi(_e.localHeaderArray,ae.dataDescriptorArray);O=ye+N,e.options.usdz&&(O+=O+64),e.pendingEntriesSize+=O;let Te;try{Te=await jtt(e,t,n,{headerInfo:_e,dataDescriptorInfo:ae,metadataSize:ye},i)}finally{e.pendingEntriesSize-=O}return Object.assign(Te,{name:t,comment:s,extraField:A}),new dy(Te)}async function jtt(e,t,n,i,o){let{files:r,writer:s}=e,{keepOrder:a,dataDescriptor:c,signal:d}=o,{headerInfo:u}=i,{usdz:m}=e.options,p=Array.from(r.values()).pop(),g={},f,x,_,C,V,L,Z;r.set(t,g);try{let P;a&&(P=p&&p.lock,G()),(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&a||!c)&&!m?(L=new TransformStream,Z=new Response(L.readable).blob(),L.writable.size=0,f=!0,e.bufferedWrites++,await wf(s)):(L=s,await I()),await wf(L);let{writable:w}=s,{diskOffset:F}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;let R=new Uint8Array(4),E=Ba(R);zi(E,0,134695760),await Ff(w,R),e.offset+=4}m&&ent(i,e.offset-F),f||(await P,await v(w));let{diskNumber:b}=s;if(V=!0,g.diskNumberStart=b,g=await qtt(n,L,g,i,e.config,o),V=!1,r.set(t,g),g.filename=t,f){await L.writable.getWriter().close();let R=await Z;await P,await I(),C=!0,c||(R=await int(g,R,w,o)),await v(w),g.diskNumberStart=s.diskNumber,F=s.diskOffset,await R.stream().pipeTo(w,{preventClose:!0,preventAbort:!0,signal:d}),w.size+=R.size,C=!1}if(g.offset=e.offset-F,g.zip64)ont(g,o);else if(g.offset>4294967295)throw new Error(GQ);return e.offset+=g.size,g}catch(P){if(f&&C||!f&&V){if(e.hasCorruptedEntries=!0,P)try{P.corruptedEntry=!0}catch{}f?e.offset+=L.writable.size:e.offset=L.writable.size}throw r.delete(t),P}finally{f&&e.bufferedWrites--,_&&_(),x&&x()}function G(){g.lock=new Promise(P=>_=P)}async function I(){e.writerLocked=!0;let{lockWriter:P}=e;e.lockWriter=new Promise(w=>x=()=>{e.writerLocked=!1,w()}),await P}async function v(P){Hi(u.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Ff(P,new Uint8Array))}}async function qtt(e,t,{diskNumberStart:n,lock:i},o,r,s){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:d}=o,{localHeaderArray:u,headerArray:m,lastModDate:p,rawLastModDate:g,encrypted:f,compressed:x,version:_,compressionMethod:C,rawExtraFieldExtendedTimestamp:V,extraFieldExtendedTimestampFlag:L,rawExtraFieldNTFS:Z,rawExtraFieldAES:G}=a,{dataDescriptorArray:I}=c,{rawFilename:v,lastAccessDate:P,creationDate:w,password:F,rawPassword:b,level:R,zip64:E,zip64UncompressedSize:X,zip64CompressedSize:A,zip64Offset:N,zip64DiskNumberStart:O,zipCrypto:U,dataDescriptor:Y,directory:k,versionMadeBy:J,rawComment:z,rawExtraField:te,useWebWorkers:H,onstart:q,onprogress:ee,onend:pe,signal:_e,encryptionStrength:ae,extendedTimestamp:ye,msDosCompatible:Te,internalFileAttribute:Ie,externalFileAttribute:Ee,useCompressionStream:ve}=s,we={lock:i,versionMadeBy:J,zip64:E,directory:!!k,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:z,rawExtraFieldExtendedTimestamp:V,rawExtraFieldNTFS:Z,rawExtraFieldAES:G,rawExtraField:te,extendedTimestamp:ye,msDosCompatible:Te,internalFileAttribute:Ie,externalFileAttribute:Ee,diskNumberStart:n},pt=0,rt=0,Rt,{writable:Fe}=t;if(e){e.chunkSize=dU(r),await Ff(Fe,u);let qe=e.readable,Qe=qe.size=e.size,Ut={options:{codecType:TU,level:R,rawPassword:b,password:F,encryptionStrength:ae,zipCrypto:f&&U,passwordVerification:f&&U&&g>>8&255,signed:!0,compressed:x,encrypted:f,useWebWorkers:H,useCompressionStream:ve,transferStreams:!1},config:r,streamOptions:{signal:_e,size:Qe,onstart:q,onprogress:ee,onend:pe}},Ce=await VU({readable:qe,writable:Fe},Ut);rt=Ce.inputSize,pt=Ce.outputSize,Rt=Ce.signature,Fe.size+=rt}else await Ff(Fe,u);let ke;if(E){let qe=4;X&&(qe+=8),A&&(qe+=8),N&&(qe+=8),O&&(qe+=4),ke=new Uint8Array(qe)}else ke=new Uint8Array;return nnt({signature:Rt,rawExtraFieldZip64:ke,compressedSize:pt,uncompressedSize:rt,headerInfo:a,dataDescriptorInfo:c},s),Y&&await Ff(Fe,I),Object.assign(we,{uncompressedSize:rt,compressedSize:pt,lastModDate:p,rawLastModDate:g,creationDate:w,lastAccessDate:P,encrypted:f,size:d+pt,compressionMethod:C,version:_,headerArray:m,signature:Rt,rawExtraFieldZip64:ke,extraFieldExtendedTimestampFlag:L,zip64UncompressedSize:X,zip64CompressedSize:A,zip64Offset:N,zip64DiskNumberStart:O}),we}function $tt(e){let{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:o,rawPassword:r,password:s,level:a,zip64:c,zipCrypto:d,dataDescriptor:u,directory:m,rawExtraField:p,encryptionStrength:g,extendedTimestamp:f}=e,x=a!==0&&!m,_=!!(s&&Hi(s)||r&&Hi(r)),C=e.version,V;if(_&&!d){V=new Uint8Array(Hi(Gpe)+2);let O=Ba(V);io(O,0,39169),Gs(V,Gpe,2),YU(O,8,g)}else V=new Uint8Array;let L,Z,G;if(f){Z=new Uint8Array(9+(i?4:0)+(o?4:0));let O=Ba(Z);io(O,0,21589),io(O,2,Hi(Z)-4),G=1+(i?2:0)+(o?4:0),YU(O,4,G);let U=5;zi(O,U,Math.floor(n.getTime()/1e3)),U+=4,i&&(zi(O,U,Math.floor(i.getTime()/1e3)),U+=4),o&&zi(O,U,Math.floor(o.getTime()/1e3));try{L=new Uint8Array(36);let Y=Ba(L),k=ZQ(n);io(Y,0,10),io(Y,2,32),io(Y,8,1),io(Y,10,24),Ol(Y,12,k),Ol(Y,20,ZQ(i)||k),Ol(Y,28,ZQ(o)||k)}catch{L=new Uint8Array}}else L=Z=new Uint8Array;let I=2048;u&&(I=I|8);let v=0;x&&(v=8),c&&(C=C>45?C:45),_&&(I=I|1,d||(C=C>51?C:51,v=99,x&&(V[9]=8)));let P=new Uint8Array(26),w=Ba(P);io(w,0,C),io(w,2,I),io(w,4,v);let F=new Uint32Array(1),b=Ba(F),R;nkJ?R=kJ:R=n,io(b,0,(R.getHours()<<6|R.getMinutes())<<5|R.getSeconds()/2),io(b,2,(R.getFullYear()-1980<<4|R.getMonth()+1)<<5|R.getDate());let E=F[0];zi(w,6,E),io(w,22,Hi(t));let X=Hi(V,Z,L,p);io(w,24,X);let A=new Uint8Array(30+Hi(t)+X),N=Ba(A);return zi(N,0,67324752),Gs(A,P,4),Gs(A,t,30),Gs(A,V,30+Hi(t)),Gs(A,Z,30+Hi(t,V)),Gs(A,L,30+Hi(t,V,Z)),Gs(A,p,30+Hi(t,V,Z,L)),{localHeaderArray:A,headerArray:P,headerView:w,lastModDate:n,rawLastModDate:E,encrypted:_,compressed:x,version:C,compressionMethod:v,extraFieldExtendedTimestampFlag:G,rawExtraFieldExtendedTimestamp:Z,rawExtraFieldNTFS:L,rawExtraFieldAES:V,extraFieldLength:X}}function ent(e,t){let{headerInfo:n}=e,{localHeaderArray:i,extraFieldLength:o}=n,r=Ba(i),s=64-(t+Hi(i))%64;s<4&&(s+=64);let a=new Uint8Array(s),c=Ba(a);io(c,0,6534),io(c,2,s-2);let d=i;n.localHeaderArray=i=new Uint8Array(Hi(d)+s),Gs(i,d),Gs(i,a,Hi(d)),r=Ba(i),io(r,28,o+s),e.metadataSize+=s}function tnt(e){let{zip64:t,dataDescriptor:n,dataDescriptorSignature:i}=e,o=new Uint8Array,r,s=0;return n&&(o=new Uint8Array(t?i?24:20:i?16:12),r=Ba(o),i&&(s=4,zi(r,0,134695760))),{dataDescriptorArray:o,dataDescriptorView:r,dataDescriptorOffset:s}}function nnt(e,t){let{signature:n,rawExtraFieldZip64:i,compressedSize:o,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:a}=e,{headerView:c,encrypted:d}=s,{dataDescriptorView:u,dataDescriptorOffset:m}=a,{zip64:p,zip64UncompressedSize:g,zip64CompressedSize:f,zipCrypto:x,dataDescriptor:_}=t;if((!d||x)&&n!==ji&&(zi(c,10,n),_&&zi(u,m,n)),p){let C=Ba(i);io(C,0,1),io(C,2,Hi(i)-4);let V=4;g&&(zi(c,18,4294967295),Ol(C,V,BigInt(r)),V+=8),f&&(zi(c,14,4294967295),Ol(C,V,BigInt(o))),_&&(Ol(u,m+4,BigInt(o)),Ol(u,m+12,BigInt(r)))}else zi(c,14,o),zi(c,18,r),_&&(zi(u,m+4,o),zi(u,m+8,r))}async function int(e,t,n,{zipCrypto:i}){let o;o=await t.slice(0,26).arrayBuffer(),o.byteLength!=26&&(o=o.slice(0,26));let r=new DataView(o);return(!e.encrypted||i)&&zi(r,14,e.signature),e.zip64?(zi(r,18,4294967295),zi(r,22,4294967295)):(zi(r,18,e.compressedSize),zi(r,22,e.uncompressedSize)),await Ff(n,new Uint8Array(o)),t.slice(o.byteLength)}function ont(e,t){let{rawExtraFieldZip64:n,offset:i,diskNumberStart:o}=e,{zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:a,zip64DiskNumberStart:c}=t,d=Ba(n),u=4;r&&(u+=8),s&&(u+=8),a&&(Ol(d,u,BigInt(i)),u+=8),c&&zi(d,u,o)}async function rnt(e,t,n){let{files:i,writer:o}=e,{diskOffset:r,writable:s}=o,{diskNumber:a}=o,c=0,d=0,u=e.offset-r,m=i.size;for(let[,G]of i){let{rawFilename:I,rawExtraFieldZip64:v,rawExtraFieldAES:P,rawComment:w,rawExtraFieldNTFS:F,rawExtraField:b,extendedTimestamp:R,extraFieldExtendedTimestampFlag:E,lastModDate:X}=G,A;if(R){A=new Uint8Array(9);let N=Ba(A);io(N,0,21589),io(N,2,5),YU(N,4,E),zi(N,5,Math.floor(X.getTime()/1e3))}else A=new Uint8Array;G.rawExtraFieldCDExtendedTimestamp=A,d+=46+Hi(I,w,v,P,F,A,b)}let p=new Uint8Array(d),g=Ba(p);await wf(o);let f=0;for(let[G,I]of Array.from(i.values()).entries()){let{offset:v,rawFilename:P,rawExtraFieldZip64:w,rawExtraFieldAES:F,rawExtraFieldCDExtendedTimestamp:b,rawExtraFieldNTFS:R,rawExtraField:E,rawComment:X,versionMadeBy:A,headerArray:N,directory:O,zip64:U,zip64UncompressedSize:Y,zip64CompressedSize:k,zip64DiskNumberStart:J,zip64Offset:z,msDosCompatible:te,internalFileAttribute:H,externalFileAttribute:q,diskNumberStart:ee,uncompressedSize:pe,compressedSize:_e}=I,ae=Hi(w,F,b,R,E);zi(g,c,33639248),io(g,c+4,A);let ye=Ba(N);Y||zi(ye,18,pe),k||zi(ye,14,_e),Gs(p,N,c+6),io(g,c+30,ae),io(g,c+32,Hi(X)),io(g,c+34,U&&J?65535:ee),io(g,c+36,H),q?zi(g,c+38,q):O&&te&&YU(g,c+38,16),zi(g,c+42,U&&z?4294967295:v),Gs(p,P,c+46),Gs(p,w,c+46+Hi(P)),Gs(p,F,c+46+Hi(P,w)),Gs(p,b,c+46+Hi(P,w,F)),Gs(p,R,c+46+Hi(P,w,F,b)),Gs(p,E,c+46+Hi(P,w,F,b,R)),Gs(p,X,c+46+Hi(P)+ae);let Te=46+Hi(P,X)+ae;if(c-f>o.availableSize&&(o.availableSize=0,await Ff(s,p.slice(f,c)),f=c),c+=Te,n.onprogress)try{await n.onprogress(G+1,i.size,new dy(I))}catch{}}await Ff(s,f?p.slice(f):p);let x=o.diskNumber,{availableSize:_}=o;_<22&&x++;let C=Oo(e,n,"zip64");if(u>4294967295||d>4294967295||m>65535||x>65535){if(C===!1)throw new Error(GQ);C=!0}let V=new Uint8Array(C?98:22),L=Ba(V);c=0,C&&(zi(L,0,101075792),Ol(L,4,BigInt(44)),io(L,12,45),io(L,14,45),zi(L,16,x),zi(L,20,a),Ol(L,24,BigInt(m)),Ol(L,32,BigInt(m)),Ol(L,40,BigInt(d)),Ol(L,48,BigInt(u)),zi(L,56,117853008),Ol(L,64,BigInt(u)+BigInt(d)),zi(L,72,x+1),Oo(e,n,"supportZip64SplitFile",!0)&&(x=65535,a=65535),m=65535,u=4294967295,d=4294967295,c+=76),zi(L,c,101010256),io(L,c+4,x),io(L,c+6,a),io(L,c+8,m),io(L,c+10,m),zi(L,c+12,d),zi(L,c+16,u);let Z=Hi(t);if(Z)if(Z<=65535)io(L,c+20,Z);else throw new Error(Ott);await Ff(s,V),Z&&await Ff(s,t)}async function Ff(e,t){let n=e.getWriter();try{await n.ready,e.size+=Hi(t),await n.write(t)}finally{n.releaseLock()}}function ZQ(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function Oo(e,t,n,i){let o=t[n]===ji?e.options[n]:t[n];return o===ji?i:o}function snt(e){return e+5*(Math.floor(e/16383)+1)}function YU(e,t,n){e.setUint8(t,n)}function io(e,t,n){e.setUint16(t,n,!0)}function zi(e,t,n){e.setUint32(t,n,!0)}function Ol(e,t,n){e.setBigUint64(t,n,!0)}function Gs(e,t,n){e.set(t,n)}function Ba(e){return new DataView(e.buffer)}function Hi(...e){let t=0;return e.forEach(n=>n&&(t+=n.length)),t}TV({Deflate:ffe,Inflate:Ffe});var EQ=32,ant="http://www.opengis.net/kml/2.2",xh="http://www.google.com/kml/ext/2.2",cnt="http://www.w3.org/2000/xmlns/";function zU(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var lnt=/^data:image\/([^,;]+)/;zU.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof Ge){if(e=Ge.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(lnt);n=`texture_${++this._count}`,l(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function dnt(e,t){return function(n){e._files[t]=n}}zU.prototype.model=function(e,t){let n=this._modelCallback;if(!l(n))throw new de("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(dnt(this,r))}return o};Object.defineProperties(zU.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function HU(e){this._time=e}HU.prototype.get=function(e,t,n){let i;return l(e)&&(i=l(e.getValue)?e.getValue(this._time,n):e),y(i,t)};HU.prototype.getColor=function(e,t){let n=this.get(e,t);if(l(n))return _T(n)};HU.prototype.getMaterialType=function(e){if(l(e))return e.getType(this._time)};function IQ(){this._ids={},this._styles={},this._count=0}IQ.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(l(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};IQ.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function Ppe(){this._ids={}}Ppe.prototype.get=function(e){if(!l(e))return this.get(Yn());let t=this._ids;return l(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function XQ(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=XQ._createState(e),o=t.values.filter(function(d){return!l(d.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(cnt,"xmlns:gx",xh);let a=r.createElement("Document");s.appendChild(a),wpe(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let u=new XMLSerializer().serializeToString(i.kmlDoc);return n?unt(u,c.files):{kml:u,externalFiles:c.files}})}function unt(e,t){let n=sn("ThirdParty/Workers/z-worker-pako.js");TV({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new Uv,o=new OU(i);return o.add("doc.kml",new ZU(e)).then(function(){let r=Object.keys(t);return vpe(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function vpe(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new j0(n[o])).then(function(){return vpe(e,t,n,i+1)})}XQ._createState=function(e){let t=e.entities,n=new IQ,i=t.computeAvailability(),o=l(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===Oe.MINIMUM_VALUE?r.stop===Oe.MAXIMUM_VALUE?r=new Rn:j.addSeconds(r.stop,-10*s,r.start):r.stop===Oe.MAXIMUM_VALUE&&j.addSeconds(r.start,10*s,r.stop);let a=new zU(e.modelCallback);return{kmlDoc:document.implementation.createDocument(ant,"kml"),ellipsoid:y(e.ellipsoid,ne.default),idManager:new Ppe,styleCache:n,externalFileHandler:a,time:o,valueGetter:new HU(o),sampleDuration:s,defaultAvailability:new kr([r])}};function wpe(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,d,u;for(let m=0;m0){let C=i.createElement("Placemark");C.setAttribute("id",s.get(p.id));let V=p.name,L=p.label;if(l(L)){let G=i.createElement("LabelStyle"),I=r.get(L.text);V=l(I)&&I.length>0?I:V;let v=r.getColor(L.fillColor);l(v)&&(G.appendChild(pn(i,"color",v)),G.appendChild(pn(i,"colorMode","normal")));let P=r.get(L.scale);l(P)&&G.appendChild(pn(i,"scale",P)),u.push(G)}C.appendChild(pn(i,"name",V)),C.appendChild(pn(i,"visibility",p.show)),C.appendChild(pn(i,"description",p.description)),l(g)&&C.appendChild(g),t.appendChild(C);let Z=u.length;if(Z>0){let G=i.createElement("Style");for(let I=0;I1){let G=i.createElement("MultiGeometry");for(let I=0;I0){let C=i.createElement("Folder");C.setAttribute("id",s.get(p.id)),C.appendChild(pn(i,"name",p.name)),C.appendChild(pn(i,"visibility",p.show)),C.appendChild(pn(i,"description",p.description)),t.appendChild(C),wpe(e,C,_)}}}var Yl=new h,nl=new he,yh=new j;function mnt(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!l(a)&&!l(t.path))return;let c=t.position;if(!c.isConstant){Fpe(e,t,a,n,i);return}s.get(c,void 0,Yl);let d=pn(o,"coordinates",xT(Yl,r)),u=o.createElement("Point"),m=o.createElement("altitudeMode");m.appendChild(TT(e,a.heightReference)),u.appendChild(m),u.appendChild(d),n.push(u);let p=a instanceof oc?Mpe(e,a):Ape(e,a);i.push(p)}function Fpe(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,d=t.position,u=!0;d instanceof pa?(c=d.intervals,u=!1):c=y(t.availability,e.defaultAvailability);let m=n instanceof Fp,p,g,f,x=[];for(p=0;p1){let C=r.createElementNS(xh,"MultiTrack");for(p=0;p0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],d=[ce.northeast,ce.southeast,ce.southwest,ce.northwest];for(let g=0;g<4;++g)d[g](a,nl),c.push(`${W.toDegrees(nl.longitude)},${W.toDegrees(nl.latitude)},${r}`);let u=pn(i,"coordinates",c.join(" ")),m=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(u),m.appendChild(p),[m]}function Xpe(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let u=0;u0&&(r=n);let a=[],c=t.hierarchy,d=o.get(c),u=Array.isArray(d)?d:d.positions,m=i.createElement("outerBoundaryIs");m.appendChild(Xpe(e,u,r,s)),a.push(m);let p=d.holes;if(l(p)){let g=p.length;for(let f=0;f0&&c.appendChild(pn(r,"extrude",!0));let u=a?fnt(e,t,d):pnt(e,t,d),m=u.length;for(let _=0;_=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var PQ=XQ;var Xfi=T(S(),1);var shi=T(S(),1);function Kv(){this._cache={}}Kv.prototype.fromColor=function(e,t){return KU(void 0,void 0,e,t,this._cache)};Kv.prototype.fromUrl=function(e,t,n){return KU(e,void 0,t,n,this._cache)};Kv.prototype.fromMakiIconId=function(e,t,n){return KU(sn(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};Kv.prototype.fromText=function(e,t,n){return KU(void 0,e,t,n,this._cache)};var ynt=new B;function xnt(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,ynt).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function kpe(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width${i}${Ype(o)}`:n+=`${i}${o}`)}return n.length>0&&(n=`${n}
`),n}function Rnt(e,t,n){let i;return function(o,r){return l(i)||(i=e(t,n)),i}}function Znt(e,t){return new vm(Rnt(Ype,e,t),!0)}function jU(e,t,n){let i=e.id;if(!l(i)||e.type!=="Feature")i=Yn();else{let s=2,a=i;for(;l(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(l(r)){o.properties=r;let s,a=r.title;if(l(a))o.name=a,s="title";else{let d=Number.MAX_VALUE;for(let u in r)if(r.hasOwnProperty(u)&&r[u]){let m=u.toLowerCase();if(d>1&&m==="title"){d=1,s=u;break}else d>2&&m==="name"?(d=2,s=u):d>3&&/title/i.test(u)?(d=3,s=u):d>4&&/name/i.test(u)&&(d=4,s=u)}l(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=l(c)?new jn(c):n(r,s))}return o}function YQ(e,t){let n=new Array(e.length);for(let i=0;i2?d.perPositionHeight=new jn(!0):o.clampToGround||(d.height=0);let p=jU(t,e._entityCollection,o.describe);p.polygon=d}function i0e(e,t,n,i,o){n0e(e,t,i,n.coordinates,o)}function o0e(e,t,n,i,o){let r=n.coordinates;for(let s=0;st&&(n==null?(n="…",i=3):i=n.length,e=e.substring(0,t-i)+n),e}function Yo(e,t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)}function my(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}function hy(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}var npi=T(S());var Bfi=T(S());var kfi=T(S()),fy=/[A-Za-z]/,Js=/[\d]/;var Nd=/\s/,qU=/['"]/,d0e=/[\x00-\x1F\x7F]/,u0e=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,Wnt=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,Pnt=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,vnt=u0e+Wnt+Pnt,m0e=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,Mfi=new RegExp("[".concat(u0e+m0e,"]")),zQ=vnt+m0e,_h=new RegExp("[".concat(zQ,"]"));var $U=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=n?n.split(Nd):[],o=t.split(Nd),r;r=o.shift();)i.indexOf(r)===-1&&i.push(r);return this.getAttrs().class=i.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=n?n.split(Nd):[],o=t.split(Nd),r;i.length&&(r=o.shift());){var s=i.indexOf(r);s!==-1&&i.splice(s,1)}return this.getAttrs().class=i.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),""].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();var Yfi=T(S());function h0e(e,t,n){var i,o;n==null?(n="…",o=3,i=8):(o=n.length,i=n.length);var r=function(V){var L={},Z=V,G=Z.match(/^([a-z]+):\/\//i);return G&&(L.scheme=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^(.*?)(?=(\?|#|\/|$))/i),G&&(L.host=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^\/(.*?)(?=(\?|#|$))/i),G&&(L.path=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^\?(.*?)(?=(#|$))/i),G&&(L.query=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^#(.*?)$/i),G&&(L.fragment=G[1]),L},s=function(V){var L="";return V.scheme&&V.host&&(L+=V.scheme+"://"),V.host&&(L+=V.host),V.path&&(L+="/"+V.path),V.query&&(L+="?"+V.query),V.fragment&&(L+="#"+V.fragment),L},a=function(V,L){var Z=L/2,G=Math.ceil(Z),I=-1*Math.floor(Z),v="";return I<0&&(v=V.substr(I)),V.substr(0,G)+n+v};if(e.length<=t)return e;var c=t-o,d=r(e);if(d.query){var u=d.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);u&&(d.query=d.query.substr(0,u[1].length),e=s(d))}if(e.length<=t||(d.host&&(d.host=d.host.replace(/^www\./,""),e=s(d)),e.length<=t))return e;var m="";if(d.host&&(m+=d.host),m.length>=c)return d.host.length==t?(d.host.substr(0,t-o)+n).substr(0,c+i):a(m,c).substr(0,c+i);var p="";if(d.path&&(p+="/"+d.path),d.query&&(p+="?"+d.query),p)if((m+p).length>=c){if((m+p).length==t)return(m+p).substr(0,t);var g=c-m.length;return(m+a(p,g)).substr(0,c+i)}else m+=p;if(d.fragment){var f="#"+d.fragment;if((m+f).length>=c){if((m+f).length==t)return(m+f).substr(0,t);var x=c-m.length;return(m+a(f,x)).substr(0,c+i)}else m+=f}if(d.scheme&&d.host){var _=d.scheme+"://";if((m+_).length0&&(C=m.substr(-1*Math.floor(c/2))),(m.substr(0,Math.ceil(c/2))+n+C).substr(0,c+i)}var Hfi=T(S());function f0e(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="…",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}var Qfi=T(S());function p0e(e,t,n){return l0e(e,t,n)}var b0e=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new $U({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length=0;g--){var f=u[g];switch(f.state){case 11:I(f,p);break;case 12:v(f,p);break;case 0:C(f,p);break;case 1:V(f,p);break;case 2:L(f,p);break;case 3:Z(f,p);break;case 4:G(f,p);break;case 5:P(f,p);break;case 6:w(f,p);break;case 7:F(f,p);break;case 13:b(f,p);break;case 14:R(f,p);break;case 8:E(f,p);break;case 9:X(f,p);break;case 10:A(f,p);break;case 15:N(f,p);break;case 16:O(f,p);break;case 17:U(f,p);break;case 18:Y(f,p);break;case 19:k(f,p);break;case 20:J(f,p);break;case 21:z(f,p);break;case 22:te(f,p);break;case 23:H(f,p);break;case 24:q(f,p);break;case 25:ee(f,p);break;case 26:pe(f,p);break;case 27:_e(f,p);break;case 28:ae(f,p);break;case 29:ye(f,p);break;case 30:Te(f,p);break;case 31:Ie(f,p);break;case 32:ve(f,p);break;case 33:we(f,p);break;case 34:pt(f,p);break;case 35:rt(f,p);break;case 36:Rt(f,p);break;case 37:Ee(f,p);break;case 38:Fe(f,p);break;case 39:ke(f,p);break;case 40:qe(f,p);break;case 41:Qe(f,p);break;default:hy(f.state)}}}for(var x=u.length-1;x>=0;x--)u.forEach(function(Ce){return Ut(Ce)});return c;function _(Ce){if(Ce==="#")u.push(lit(m,28));else if(Ce==="@")u.push(dit(m,30));else if(Ce==="/")u.push(n4(m,11));else if(Ce==="+")u.push(i4(m,37));else if(Ce==="(")u.push(i4(m,32));else{if(Js.test(Ce)&&(u.push(i4(m,38)),u.push(ait(m,13))),R0e(Ce)){var Ve=Ce.toLowerCase()==="m"?15:22;u.push(cit(m,Ve))}eD(Ce)&&u.push(t4(m,0)),_h.test(Ce)&&u.push(n4(m,5))}}function C(Ce,Ve){Ve===":"?Ce.state=2:Ve==="-"?Ce.state=1:JQ(Ve)||Yo(u,Ce)}function V(Ce,Ve){Ve==="-"||(Ve==="/"?(Yo(u,Ce),u.push(n4(m,11))):JQ(Ve)?Ce.state=0:Yo(u,Ce))}function L(Ce,Ve){Ve==="/"?Ce.state=3:Ve==="."?Yo(u,Ce):$0(Ve)?(Ce.state=5,eD(Ve)&&u.push(t4(m,0))):Yo(u,Ce)}function Z(Ce,Ve){Ve==="/"?Ce.state=4:QQ(Ve)?(Ce.state=10,Ce.acceptStateReached=!0):Ut(Ce)}function G(Ce,Ve){Ve==="/"?Ce.state=10:$0(Ve)?(Ce.state=5,Ce.acceptStateReached=!0):Yo(u,Ce)}function I(Ce,Ve){Ve==="/"?Ce.state=12:Yo(u,Ce)}function v(Ce,Ve){$0(Ve)?Ce.state=5:Yo(u,Ce)}function P(Ce,Ve){Ve==="."?Ce.state=7:Ve==="-"?Ce.state=6:Ve===":"?Ce.state=8:nD(Ve)?Ce.state=10:tD(Ve)||Ut(Ce)}function w(Ce,Ve){Ve==="-"||(Ve==="."?Ut(Ce):$0(Ve)?Ce.state=5:Ut(Ce))}function F(Ce,Ve){Ve==="."?Ut(Ce):$0(Ve)?(Ce.state=5,Ce.acceptStateReached=!0):Ut(Ce)}function b(Ce,Ve){Ve==="."?Ce.state=14:Ve===":"?Ce.state=8:Js.test(Ve)||(nD(Ve)?Ce.state=10:_h.test(Ve)?Yo(u,Ce):Ut(Ce))}function R(Ce,Ve){Js.test(Ve)?(Ce.octetsEncountered++,Ce.octetsEncountered===4&&(Ce.acceptStateReached=!0),Ce.state=13):Ut(Ce)}function E(Ce,Ve){Js.test(Ve)?Ce.state=9:Ut(Ce)}function X(Ce,Ve){Js.test(Ve)||(nD(Ve)?Ce.state=10:Ut(Ce))}function A(Ce,Ve){QQ(Ve)||Ut(Ce)}function N(Ce,Ve){Ve.toLowerCase()==="a"?Ce.state=16:te(Ce,Ve)}function O(Ce,Ve){Ve.toLowerCase()==="i"?Ce.state=17:te(Ce,Ve)}function U(Ce,Ve){Ve.toLowerCase()==="l"?Ce.state=18:te(Ce,Ve)}function Y(Ce,Ve){Ve.toLowerCase()==="t"?Ce.state=19:te(Ce,Ve)}function k(Ce,Ve){Ve.toLowerCase()==="o"?Ce.state=20:te(Ce,Ve)}function J(Ce,Ve){Ve.toLowerCase()===":"?Ce.state=21:te(Ce,Ve)}function z(Ce,Ve){iD(Ve)?Ce.state=22:Yo(u,Ce)}function te(Ce,Ve){Ve==="."?Ce.state=23:Ve==="@"?Ce.state=24:iD(Ve)?Ce.state=22:Yo(u,Ce)}function H(Ce,Ve){Ve==="."?Yo(u,Ce):Ve==="@"?Yo(u,Ce):iD(Ve)?Ce.state=22:Yo(u,Ce)}function q(Ce,Ve){$0(Ve)?Ce.state=25:Yo(u,Ce)}function ee(Ce,Ve){Ve==="."?Ce.state=27:Ve==="-"?Ce.state=26:tD(Ve)||Ut(Ce)}function pe(Ce,Ve){Ve==="-"||Ve==="."?Ut(Ce):tD(Ve)?Ce.state=25:Ut(Ce)}function _e(Ce,Ve){Ve==="."||Ve==="-"?Ut(Ce):$0(Ve)?(Ce.state=25,Ce.acceptStateReached=!0):Ut(Ce)}function ae(Ce,Ve){qQ(Ve)?(Ce.state=29,Ce.acceptStateReached=!0):Yo(u,Ce)}function ye(Ce,Ve){qQ(Ve)||Ut(Ce)}function Te(Ce,Ve){$Q(Ve)?(Ce.state=31,Ce.acceptStateReached=!0):Yo(u,Ce)}function Ie(Ce,Ve){$Q(Ve)||(_h.test(Ve)?Yo(u,Ce):Ut(Ce))}function Ee(Ce,Ve){Js.test(Ve)?Ce.state=38:(Yo(u,Ce),_(Ve))}function ve(Ce,Ve){Js.test(Ve)?Ce.state=33:Yo(u,Ce),_(Ve)}function we(Ce,Ve){Js.test(Ve)?Ce.state=34:Yo(u,Ce)}function pt(Ce,Ve){Js.test(Ve)?Ce.state=35:Yo(u,Ce)}function rt(Ce,Ve){Ve===")"?Ce.state=36:Yo(u,Ce)}function Rt(Ce,Ve){Js.test(Ve)?Ce.state=38:e4(Ve)?Ce.state=39:Yo(u,Ce)}function Fe(Ce,Ve){Ce.acceptStateReached=!0,oD(Ve)?Ce.state=40:Ve==="#"?Ce.state=41:Js.test(Ve)||(Ve==="("?Ce.state=32:e4(Ve)?Ce.state=39:(Ut(Ce),eD(Ve)&&u.push(t4(m,0))))}function ke(Ce,Ve){Js.test(Ve)?Ce.state=38:Ve==="("?Ce.state=32:(Ut(Ce),_(Ve))}function qe(Ce,Ve){oD(Ve)||(Ve==="#"?Ce.state=41:Js.test(Ve)?Ce.state=38:Ut(Ce))}function Qe(Ce,Ve){oD(Ve)?Ce.state=40:Js.test(Ve)?Yo(u,Ce):Ut(Ce)}function Ut(Ce){if(Yo(u,Ce),!!Ce.acceptStateReached){var Ve=Ce.startIdx,$t=e.slice(Ce.startIdx,m);if($t=sit($t),Ce.type==="url"){var en=e.charAt(Ce.startIdx-1);if(en==="@")return;var Qt=Ce.matchType;if(Qt==="scheme"){var mo=KQ.exec($t);if(mo&&(Ve=Ve+mo.index,$t=$t.slice(mo.index)),!T0e($t))return}else if(Qt==="tld"){if(!S0e($t))return}else if(Qt==="ipV4"){if(!C0e($t))return}else hy(Qt);c.push(new V0e({tagBuilder:n,matchedText:$t,offset:Ve,urlMatchType:Qt,url:$t,protocolRelativeMatch:$t.slice(0,2)==="//",stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))}else if(Ce.type==="email")Z0e($t)&&c.push(new G0e({tagBuilder:n,matchedText:$t,offset:Ve,email:$t.replace(L0e,"")}));else if(Ce.type==="hashtag")E0e($t)&&c.push(new X0e({tagBuilder:n,matchedText:$t,offset:Ve,serviceName:s,hashtag:$t.slice(1)}));else if(Ce.type==="mention")W0e($t,a)&&c.push(new v0e({tagBuilder:n,matchedText:$t,offset:Ve,serviceName:a,mention:$t.slice(1)}));else if(Ce.type==="phone"){if($t=$t.replace(/ +$/g,""),w0e($t)){var je=$t.replace(/[^0-9,;#]/g,"");c.push(new F0e({tagBuilder:n,matchedText:$t,offset:Ve,number:je,plusSign:$t.charAt(0)==="+"}))}}else hy(Ce)}}}var rit=/[\(\{\[]/,A0e=/[\)\}\]]/,M0e={")":"(","}":"{","]":"["};function sit(e){for(var t={"(":0,"{":0,"[":0},n=0;n=0;)if(r=e.charAt(o),A0e.test(r)){var s=M0e[r];if(t[s]<0)t[s]++,o--;else break}else if(_0e.test(r))o--;else break;return e.slice(0,o+1)}function t4(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"scheme"}}function n4(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"tld"}}function ait(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function cit(e,t){return{type:"email",startIdx:e,state:t,acceptStateReached:!1}}function lit(e,t){return{type:"hashtag",startIdx:e,state:t,acceptStateReached:!1}}function dit(e,t){return{type:"mention",startIdx:e,state:t,acceptStateReached:!1}}function i4(e,t){return{type:"phone",startIdx:e,state:t,acceptStateReached:!1}}var d0i=T(S());function k0e(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new Nf,c=0,d=e.length,u=0,m=0,p=a;c"?(p=new Nf(Qs(Qs({},p),{name:te()})),J()):!fy.test(q)&&!Js.test(q)&&q!==":"&&Y()}function C(q){q===">"?Y():fy.test(q)?u=3:Y()}function V(q){Nd.test(q)||(q==="/"?u=12:q===">"?J():q==="<"?k():q==="="||qU.test(q)||d0e.test(q)?Y():u=5)}function L(q){Nd.test(q)?u=6:q==="/"?u=12:q==="="?u=7:q===">"?J():q==="<"?k():qU.test(q)&&Y()}function Z(q){Nd.test(q)||(q==="/"?u=12:q==="="?u=7:q===">"?J():q==="<"?k():qU.test(q)?Y():u=5)}function G(q){Nd.test(q)||(q==='"'?u=8:q==="'"?u=9:/[>=`]/.test(q)?Y():q==="<"?k():u=10)}function I(q){q==='"'&&(u=11)}function v(q){q==="'"&&(u=11)}function P(q){Nd.test(q)?u=4:q===">"?J():q==="<"&&k()}function w(q){Nd.test(q)?u=4:q==="/"?u=12:q===">"?J():q==="<"?k():(u=4,H())}function F(q){q===">"?(p=new Nf(Qs(Qs({},p),{isClosing:!0})),J()):u=4}function b(q){e.substr(c,2)==="--"?(c+=2,p=new Nf(Qs(Qs({},p),{type:"comment"})),u=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new Nf(Qs(Qs({},p),{type:"doctype"})),u=20):Y()}function R(q){q==="-"?u=15:q===">"?Y():u=16}function E(q){q==="-"?u=18:q===">"?Y():u=16}function X(q){q==="-"&&(u=17)}function A(q){q==="-"?u=18:u=16}function N(q){q===">"?J():q==="!"?u=19:q==="-"||(u=16)}function O(q){q==="-"?u=17:q===">"?J():u=16}function U(q){q===">"?J():q==="<"&&k()}function Y(){u=0,p=a}function k(){u=1,p=new Nf({idx:c})}function J(){var q=e.slice(m,p.idx);q&&o(q,m),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),Y(),m=c+1}function z(){var q=e.slice(m,c);o(q,m),m=c+1}function te(){var q=p.idx+(p.isClosing?2:1);return e.slice(q,c).toLowerCase()}function H(){c--}}var Nf=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}();var uit=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=mit(t.urls),this.email=Md(t.email)?t.email:this.email,this.phone=Md(t.phone)?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=Md(t.newWindow)?t.newWindow:this.newWindow,this.stripPrefix=hit(t.stripPrefix),this.stripTrailingSlash=Md(t.stripTrailingSlash)?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=Md(t.decodePercentEncoding)?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&P0e.indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&I0e.indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=fit(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return k0e(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/( | |<|<|>|>|"|"|')/gi,d=s.split(c),u=a;d.forEach(function(m,p){if(p%2===0){var g=n.parseText(m,u);r.push.apply(r,g)}u+=m.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,d){return c.getOffset()-d.getOffset()});for(var n=0;nr?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()/g,">"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function o4(e,t){let n=qv(e,"id");return n=l(n)?n:Yn(),t.getOrCreateEntity(n)}function r4(e){let t=z0e(e,"lon"),n=z0e(e,"lat"),i=Qv(e,"ele",Lo.gpx);return h.fromDegrees(t,n,i)}function z0e(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function qv(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function py(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r${m.text}: ${m.value}

`)}if(!l(i)||i==="")return;i=pit.link(i),jv.innerHTML=i;let s=jv.querySelectorAll("a");for(n=0;n',d+=`${jv.innerHTML}`,jv.innerHTML="",d}function $0e(e,t,n,i){let o=r4(t),r=o4(t,n);r.position=o;let s=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",B.RED,sD);r.billboard=j0e(s);let a=zl(t,"name",Lo.gpx);r.name=a,r.label=yit(),r.label.text=a,r.description=a4(t,r),i.clampToGround&&(r.billboard.heightReference=Je.CLAMP_TO_GROUND,r.label.heightReference=Je.CLAMP_TO_GROUND)}function xit(e,t,n,i){let o=o4(t,n);o.description=a4(t,o);let r=s4(t,"rtept",Lo.gpx),s=new Array(r.length);for(let a=0;a0?(a=a.concat(c.times),u.addSamples(a,s),d=d&&!0):d=!1;if(d){let m=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",B.RED,sD);o.billboard=j0e(m),o.position=u,i.clampToGround&&(o.billboard.heightReference=Je.CLAMP_TO_GROUND),o.availability=new kr,o.availability.addInterval(new Rn({start:a[0],stop:a[a.length-1]}))}o.polyline=q0e(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function Tit(e){let t={positions:[],times:[]},n=s4(e,"trkpt",Lo.gpx),i;for(let o=0;o=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else l(n)&&n(!1)}function Wit(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,nbe.call(this,e,t,n)}}var nw=aD;var Hbi=T(S(),1);var Ubi=T(S(),1);var Mbi=T(S(),1),Ii=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var t=1.70158;return e===1?1:e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return e===0?0:--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ii.Bounce.Out(1-e)},Out:function(e){return e<.36363636363636365?7.5625*e*e:e<.7272727272727273?7.5625*(e-=.5454545454545454)*e+.75:e<.9090909090909091?7.5625*(e-=.8181818181818182)*e+.9375:7.5625*(e-=.9545454545454546)*e+.984375},InOut:function(e){return e<.5?Ii.Bounce.In(e*2)*.5:Ii.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(t){return Math.pow(t,e)},Out:function(t){return 1-Math.pow(1-t,e)},InOut:function(t){return t<.5?Math.pow(t*2,e)/2:(1-Math.pow(2-t*2,e))/2+.5}}}}),iw=function(){return performance.now()},Pit=function(){function e(){for(var t=[],n=0;n0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=IV.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=IV.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},ibe=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),c4=new Pit,obe=function(){function e(t,n){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ii.Linear.None,this._interpolationFunction=IV.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=ibe.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=t,typeof n=="object"?(this._group=n,n.add(this)):n===!0&&(this._group=c4,c4.add(this))}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(t,n){if(n===void 0&&(n=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=t,this._propertiesAreSetUp=!1,this._duration=n<0?0:n,this},e.prototype.duration=function(t){return t===void 0&&(t=1e3),this._duration=t<0?0:t,this},e.prototype.dynamic=function(t){return t===void 0&&(t=!1),this._isDynamic=t,this},e.prototype.start=function(t,n){if(t===void 0&&(t=iw()),n===void 0&&(n=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t,this._startTime+=this._delayTime,!this._propertiesAreSetUp||n){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var r in this._valuesEnd)o[r]=this._valuesEnd[r];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,n)}return this},e.prototype.startFromCurrentValues=function(t){return this.start(t,!0)},e.prototype._setupProperties=function(t,n,i,o,r){for(var s in i){var a=t[s],c=Array.isArray(a),d=c?"array":typeof a,u=!c&&Array.isArray(i[s]);if(!(d==="undefined"||d==="function")){if(u){var m=i[s];if(m.length===0)continue;for(var p=[a],g=0,f=m.length;g"u"||r)&&(n[s]=a),c||(n[s]*=1),u?o[s]=i[s].slice().reverse():o[s]=n[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},e.prototype.pause=function(t){return t===void 0&&(t=iw()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this)},e.prototype.resume=function(t){return t===void 0&&(t=iw()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;tc)return 1;var x=Math.trunc(s/a),_=s-x*a,C=Math.min(_/i._duration,1);return C===0&&s===i._duration?1:C},u=d(),m=this._easingFunction(u);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,m),this._onUpdateCallback&&this._onUpdateCallback(this._object,u),this._duration===0||s>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((s-this._duration)/a)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(r in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[r]=="string"&&(this._valuesStartRepeat[r]=this._valuesStartRepeat[r]+parseFloat(this._valuesEnd[r])),this._yoyo&&this._swapEndStartRepeatValues(r),this._valuesStart[r]=this._valuesStartRepeat[r];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=a*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var g=0,f=this._chainedTweens.length;gthis._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function Ait(e){let t=e.slice(0,Math.min(4,e.size)),n=bl(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function Mit(e){let t=bl(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function pbe(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(l(n)||(n=e.substr(0,e.indexOf("",t),i,o,r;for(;t!==-1&&t0?(Hl.maximumRed=r,Hl.red=void 0):(Hl.maximumRed=void 0,Hl.red=0),o>0?(Hl.maximumGreen=o,Hl.green=void 0):(Hl.maximumGreen=void 0,Hl.green=0),i>0?(Hl.maximumBlue=i,Hl.blue=void 0):(Hl.maximumBlue=void 0,Hl.blue=0),Hl.alpha=n,B.fromRandom(Hl)):new B(r,o,i,n)}function ST(e,t,n){let i=vn(e,t,n);if(l(i))return f4(i,vn(e,"colorMode",n)==="random")}function kit(e){let t=Xi(e,"TimeStamp",Pe.kmlgx),n=vn(t,"when",Pe.kmlgx);if(!l(t)||!l(n)||n.length===0)return;let i=j.fromIso8601(n),o=new kr;return o.addInterval(new Rn({start:i,stop:Oe.MAXIMUM_VALUE})),o}function Uit(e){let t=Xi(e,"TimeSpan",Pe.kmlgx);if(!l(t))return;let n,i=Xi(t,"begin",Pe.kmlgx),o=l(i)?j.fromIso8601(i.textContent):void 0,r=Xi(t,"end",Pe.kmlgx),s=l(r)?j.fromIso8601(r.textContent):void 0;if(l(o)&&l(s)){if(j.lessThan(s,o)){let a=o;o=s,s=a}n=new kr,n.addInterval(new Rn({start:o,stop:s}))}else l(o)?(n=new kr,n.addInterval(new Rn({start:o,stop:Oe.MAXIMUM_VALUE}))):l(s)&&(n=new kr,n.addInterval(new Rn({start:Oe.MINIMUM_VALUE,stop:s})));return n}function ybe(){let e=new oc;return e.width=by,e.height=by,e.scaleByDistance=new kt(rbe,sbe,abe,cbe),e.pixelOffsetScaleByDistance=new kt(rbe,sbe,abe,cbe),e}function x4(){let e=new Wm;return e.outline=!0,e.outlineColor=B.WHITE,e}function xbe(){let e=new Xm;return e.translucencyByDistance=new kt(3e6,1,5e6,0),e.pixelOffset=new D(17,0),e.horizontalOrigin=gi.LEFT,e.font="16px sans-serif",e.style=Uo.FILL_AND_OUTLINE,e}function _4(e,t,n,i,o){let r=vn(e,"href",Pe.kml);if(!l(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y(ti(e,"x",Pe.gx),0),d=y(ti(e,"y",Pe.gx),0);c=Math.min(c/32,7),d=7-Math.min(d/32,7);let u=8*d+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${u}.png`}let s=y4(r,n,i);if(o){let a=vn(e,"refreshMode",Pe.kml),c=vn(e,"viewRefreshMode",Pe.kml);a==="onInterval"||a==="onExpire"?St(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&St(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let d=y(vn(e,"viewBoundScale",Pe.kml),1),u=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",m=y(vn(e,"viewFormat",Pe.kml),u),p=vn(e,"httpQuery",Pe.kml);l(m)&&s.setQueryParameters(id(uD(m))),l(p)&&s.setQueryParameters(id(uD(p)));let g=t._ellipsoid;return S4(s,t.camera,t.canvas,d,t._lastCameraView.bbox,g),s}return s}function Dit(e,t,n,i,o){let r=ti(t,"scale",Pe.kml),s=ti(t,"heading",Pe.kml),a=ST(t,"color",Pe.kml),c=Xi(t,"Icon",Pe.kml),d=_4(c,e,i,o,!1);l(c)&&!l(d)&&(d=!1);let u=ti(c,"x",Pe.gx),m=ti(c,"y",Pe.gx),p=ti(c,"w",Pe.gx),g=ti(c,"h",Pe.gx),f=Xi(t,"hotSpot",Pe.kml),x=gy(f,"x"),_=gy(f,"y"),C=Es(f,"xunits"),V=Es(f,"yunits"),L=n.billboard;l(L)||(L=ybe(),n.billboard=L),L.image=d,L.scale=r,L.color=a,(l(u)||l(m)||l(p)||l(g))&&(L.imageSubRegion=new Ke(u,m,p,g)),l(s)&&s!==0&&(L.rotation=W.toRadians(-s),L.alignedAxis=h.UNIT_Z),r=y(r,1);let Z,G;l(x)&&(C==="pixels"?Z=-x*r:C==="insetPixels"?Z=(x-by)*r:C==="fraction"&&(Z=-x*by*r),Z+=by*.5*r),l(_)&&(V==="pixels"?G=_*r:V==="insetPixels"?G=(-_+by)*r:V==="fraction"&&(G=_*by*r),G-=by*.5*r),(l(Z)||l(G))&&(L.pixelOffset=new D(Z,G))}function dD(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r:clampToSeaFloor is currently not supported, using :clampToGround."),Je.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(St("kml-gx:altitudeMode-relativeToSeaFloor","KML - :relativeToSeaFloor is currently not supported, using :relativeToGround."),Je.RELATIVE_TO_GROUND):(l(e)?St("kml-altitudeMode-unknown",`KML - Unknown :${e}, using :CLAMP_TO_GROUND.`):St("kml-gx:altitudeMode-unknown",`KML - Unknown :${t}, using :CLAMP_TO_GROUND.`),Je.CLAMP_TO_GROUND)}function Yit(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&St("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new Ef(e))}function zit(e,t,n,i){if(!l(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&St("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r0&&St("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,d.length),f=[],x=[];for(let C=0;C0&&i.availability.addInterval(new Rn({start:x[0],stop:x[x.length-1]})),m&&u&&T4(t,i,o),!0}function hbe(e,t,n,i,o,r,s,a,c){let d=e[0],u=e[e.length-1],m=new ga;m.addSamples(e,t),n.intervals.addInterval(new Rn({start:d,stop:u,isStartIncluded:c,isStopIncluded:c,data:Yit(m,s,a)})),i.addInterval(new Rn({start:d,stop:u,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new Rn({start:d,stop:u,isStartIncluded:c,isStopIncluded:c,data:r}))}function Qit(e,t,n,i,o){let r=Sh(n,"interpolate",Pe.gx),s=Th(n,"Track",Pe.gx),a,c,d,u=!1,m=new U0,p=new kr,g=new pa,f=e._ellipsoid;for(let x=0,_=s.length;x<_;x++){let C=s[x],V=Th(C,"when",Pe.kml),L=Th(C,"coord",Pe.gx),Z=vn(C,"altitudeMode",Pe.kml),G=vn(C,"altitudeMode",Pe.gx),I=aw(Z,G),v=Sh(C,"extrude",Pe.kml),P=Math.min(L.length,V.length),w=[];a=[];for(let F=0;F0)){for(f='',r=0;r`;f+="
${y(x.displayName,s)}${y(x.value,"")}
"}if(!l(f))return;f=wit.link(f),go.innerHTML=f;let _=go.querySelectorAll("a");for(r=0;r<_.length;r++)_[r].setAttribute("target","_blank");l(i)&&i.keys.length>1&&(kd(go,"a","href",i),kd(go,"link","href",i),kd(go,"area","href",i),kd(go,"img","src",i),kd(go,"iframe","src",i),kd(go,"video","src",i),kd(go,"audio","src",i),kd(go,"source","src",i),kd(go,"track","src",i),kd(go,"input","src",i),kd(go,"embed","src",i),kd(go,"script","src",i),kd(go,"video","poster",i)),Ud(go,"a","href",o),Ud(go,"link","href",o),Ud(go,"area","href",o),Ud(go,"img","src",o),Ud(go,"iframe","src",o),Ud(go,"video","src",o),Ud(go,"audio","src",o),Ud(go,"source","src",o),Ud(go,"track","src",o),Ud(go,"input","src",o),Ud(go,"embed","src",o),Ud(go,"script","src",o),Ud(go,"video","poster",o);let C='
',C+=`${go.innerHTML}
`,go.innerHTML="",t.description=C}function fD(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=gbe(t,i,n.context),c=a.kml,d=Bit(e,t,n.styleCollection,r,s),u=vn(t,"name",Pe.kml);a.name=u,a.parent=o;let m=Uit(t);l(m)||(m=kit(t)),a.availability=m,V4(a);function p(L){return L?L.show&&p(L.parent):!0}let g=Sh(t,"visibility",Pe.kml);a.show=p(o)&&y(g,!0);let f=Xi(t,"author",Pe.atom),x=c.author;x.name=vn(f,"name",Pe.atom),x.uri=vn(f,"uri",Pe.atom),x.email=vn(f,"email",Pe.atom);let _=Xi(t,"link",Pe.atom),C=c.link;C.href=Es(_,"href"),C.hreflang=Es(_,"hreflang"),C.rel=Es(_,"rel"),C.type=Es(_,"type"),C.title=Es(_,"title"),C.length=Es(_,"length"),c.address=vn(t,"address",Pe.kml),c.phoneNumber=vn(t,"phoneNumber",Pe.kml),c.snippet=vn(t,"Snippet",Pe.kml),$it(t,a),eot(t,a,d,s,r);let V=e._ellipsoid;return Rbe(t,a,V),Lbe(t,a,V),l(Xi(t,"Region",Pe.kml))&&St("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:d}}function Vbe(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function tot(e,t,n,i){let o=fD(e,t,n),r=ze(n);r.parentEntity=o.entity,Vbe(e,t,r,i)}function not(e,t,n,i){let o=fD(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let d=0,u=c.length;dW.PI_OVER_TWO?W.PI_OVER_TWO:d}function a(d){return d>W.PI?d-W.TWO_PI:d<-W.PI?d+W.TWO_PI:d}let c=tx(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),l(t)&&t._mode!==oe.MORPHING){let d,u;if(o=y(o,lot),l(n)&&(m4.x=n.clientWidth*.5,m4.y=n.clientHeight*.5,d=t.pickEllipsoid(m4,r,dot)),l(d)?u=r.cartesianToCartographic(d,XV):(u=ce.center(o,XV),d=r.cartographicToCartesian(u)),l(i)&&!W.equalsEpsilon(i,1,W.EPSILON9)){let C=o.width*i*.5,V=o.height*i*.5;o=new ce(a(u.longitude-C),s(u.latitude-V),a(u.longitude+C),s(u.latitude+V))}c=c.replace("[bboxWest]",W.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",W.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",W.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",W.toDegrees(o.north).toString());let m=W.toDegrees(u.longitude).toString(),p=W.toDegrees(u.latitude).toString();c=c.replace("[lookatLon]",m),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",W.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",W.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,d)),c=c.replace("[lookatTerrainLon]",m),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",u.height.toString()),r.cartesianToCartographic(t.positionWC,XV),c=c.replace("[cameraLon]",W.toDegrees(XV.longitude).toString()),c=c.replace("[cameraLat]",W.toDegrees(XV.latitude).toString()),c=c.replace("[cameraAlt]",W.toDegrees(XV.height).toString());let g=t.frustum,f=g.aspectRatio,x="",_="";if(l(f)){let C=W.toDegrees(g.fov);f>1?(x=C,_=C/f):(_=C,x=C*f)}c=c.replace("[horizFov]",x.toString()),c=c.replace("[vertFov]",_.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");l(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(id(c))}function uot(e,t,n,i){let r=fD(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=Xi(t,"Link",Pe.kml);if(l(c)||(c=Xi(t,"Url",Pe.kml)),l(c)){let d=vn(c,"href",Pe.kml),u,m;if(l(d)){let p=d;if(d=y4(d,s,n.uriResolver),/^data:/.test(d.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{if(p=d.clone(),u=vn(c,"viewRefreshMode",Pe.kml),u==="onRegion"){St("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}m=y(vn(c,"viewBoundScale",Pe.kml),1);let _=u==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",C=y(vn(c,"viewFormat",Pe.kml),_),V=vn(c,"httpQuery",Pe.kml);l(C)&&d.setQueryParameters(id(uD(C))),l(V)&&d.setQueryParameters(id(uD(V)));let L=e._ellipsoid;S4(d,e.camera,e.canvas,m,e._lastCameraView.bbox,L)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},f=new Hs,x=C4(e,f,d,g).then(function(_){let C=e._entityCollection,V=f.values;C.suspendEvents();for(let G=0;G0||L==="onExpire"||u==="onStop"){let G=Xi(_,"NetworkLinkControl",Pe.kml),I=l(G),v=j.now(),P={id:Yn(),href:d,cookie:{},lastUpdated:v,updating:!1,entity:r,viewBoundScale:m,needsUpdate:!1,cameraUpdateTime:v},w=0;if(I&&(P.cookie=id(y(vn(G,"cookie",Pe.kml),"")),w=y(ti(G,"minRefreshPeriod",Pe.kml),0)),L==="onInterval")I&&(Z=Math.max(w,Z)),P.refreshMode=yy.INTERVAL,P.time=Z;else if(L==="onExpire"){let F;if(I&&(F=vn(G,"expires",Pe.kml)),l(F))try{let b=j.fromIso8601(F),R=j.secondsDifference(b,v);R>0&&R0;)this._screenOverlays.pop().remove()};function V4(e){let t=e.parent;if(l(t)){let n=t.availability;if(l(n)){let i=e.availability;l(i)?i.intersect(n):e.availability=n}}}function fot(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=Xi(r,"NetworkLinkControl",Pe.kml),c=l(a),d=0;if(c){if(l(Xi(a,"Update",Pe.kml))){St("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=id(y(vn(a,"cookie",Pe.kml),"")),d=y(ti(a,"minRefreshPeriod",Pe.kml),0)}let u=j.now(),m=t.refreshMode;if(m===yy.INTERVAL)l(a)&&(t.time=Math.max(d,t.time));else if(m===yy.EXPIRE){let v;if(l(a)&&(v=vn(a,"expires",Pe.kml)),l(v))try{let P=j.fromIso8601(v),w=j.secondsDifference(P,u);w>0&&wu.time&&(p=!0):u.refreshMode===yy.EXPIRE?j.greaterThan(n,u.time)&&(p=!0):u.refreshMode===yy.STOP&&(r&&(u.needsUpdate=!0,u.cameraUpdateTime=n),u.needsUpdate&&j.secondsDifference(n,u.cameraUpdateTime)>=u.time&&(p=!0)),p){o(m),u.updating=!0;let g=new Hs,f=u.href.clone();f.setQueryParameters(u.cookie);let x=y(i._ellipsoid,ne.default);S4(f,i.camera,i.canvas,u.viewBoundScale,s.bbox,x),C4(i,g,f,{context:m.id}).then(fot(i,u,g,c,f)).catch(function(_){let C=`NetworkLink ${u.href} refresh failed: ${_}`;console.log(C),i._error.raiseEvent(i,C)}),d=!0}}c.set(u.id,u)}}),d&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function pot(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}Dd._DeferredLoading=Uf;Dd._getTimestamp=_i;var cw=Dd;var hyi=T(S(),1);function lw(){fe.throwInstantiationError()}lw.prototype.update=fe.throwInstantiationError;lw.prototype.getBoundingSphere=fe.throwInstantiationError;lw.prototype.isDestroyed=fe.throwInstantiationError;lw.prototype.destroy=fe.throwInstantiationError;var L4=lw;var pyi=T(S(),1),bot={SATELLITE:1,OCEANS:2,HILLSHADE:3},Ch=Object.freeze(bot);var uxi=T(S(),1);var Cyi=T(S(),1);function xy(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ne.default),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Zi(this._ellipsoid),l(e.rectangleSouthwestInMeters)&&l(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new D(-i,-i),this._rectangleNortheastInMeters=new D(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new ce(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(xy.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});xy.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<=o&&(f=o-1);let x=g/d|0;return x>=r&&(x=r-1),l(n)?(n.x=f,n.y=x,n):new D(f,x)};var $r=xy;var Gyi=T(S(),1);var R4,Gbe="AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmRQoHkV6yy7n-w7RwBvqWZInYtbyiKcHHbPb4eH54WQnfJ6TQhd3sKcL6dutvEZajLojeHefo1qcBMplg4hb9OtcvtchKPzwRyH1-W_12nt2rhP3xbk8peiMvgIWZ__JYvZ8Wqw-8UWulEjXnpLRjclKf3NYHCTQgaw6Y6labxudMrnBgOODrJ1WdRxek-flc8.AT1_UW44TSnh",WV={};WV.defaultAccessToken=Gbe;WV.defaultWorldImageryServer=new Ge({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});WV.defaultWorldHillshadeServer=new Ge({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});WV.defaultWorldOceanServer=new Ge({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});WV.getDefaultTokenCredit=function(e){if(e===Gbe){if(!l(R4)){let t=' This application is using a default ArcGIS access token. Please assign Cesium.ArcGisMapService.defaultAccessToken with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at https://developers.arcgis.com/.';R4=new Et(t,!0)}return R4}};var Bd=WV;var vyi=T(S(),1);function Z4(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=Ge.createIfNeeded(e.missingImageUrl),n=this;function i(r){l(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=xm(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,d=e.pixelsToCheck;for(let u=0,m=d.length;a&&u0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}Z4.prototype.isReady=function(){return this._isReady};Z4.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!l(n)||l(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=xm(e),o=e.width;for(let r=0,s=t.length;r1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}l(n)&&(this.name=e[n])};G4.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r)&&(typeof r=="object"?i+=``:i+=``)}return i+="
${o}${t(r)}
${o}${r}
",i}this.description=t(e)};var Vh=G4;var Byi=T(S(),1);function PV(){fe.throwInstantiationError()}Object.defineProperties(PV.prototype,{rectangle:{get:fe.throwInstantiationError},tileWidth:{get:fe.throwInstantiationError},tileHeight:{get:fe.throwInstantiationError},maximumLevel:{get:fe.throwInstantiationError},minimumLevel:{get:fe.throwInstantiationError},tilingScheme:{get:fe.throwInstantiationError},tileDiscardPolicy:{get:fe.throwInstantiationError},errorEvent:{get:fe.throwInstantiationError},credit:{get:fe.throwInstantiationError},proxy:{get:fe.throwInstantiationError},hasAlphaChannel:{get:fe.throwInstantiationError}});PV.prototype.getTileCredits=function(e,t,n){fe.throwInstantiationError()};PV.prototype.requestImage=function(e,t,n,i){fe.throwInstantiationError()};PV.prototype.pickFeatures=function(e,t,n,i,o){fe.throwInstantiationError()};var got=/\.ktx2$/i;PV.loadImage=function(e,t){let n=Ge.createIfNeeded(t);return got.test(n.url)?yl(n):l(e)&&l(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var il=PV;function Ebe(e){this.useTiles=y(e.usePreCachedTilesIfAvailable,!0);let t=e.ellipsoid;this.tilingScheme=y(e.tilingScheme,new Oi({ellipsoid:t})),this.rectangle=y(e.rectangle,this.tilingScheme.rectangle),this.ellipsoid=t;let n=e.credit;typeof n=="string"&&(n=new Et(n)),this.credit=n,this.tileCredits=void 0,this.tileDiscardPolicy=e.tileDiscardPolicy,this.tileWidth=y(e.tileWidth,256),this.tileHeight=y(e.tileHeight,256),this.maximumLevel=e.maximumLevel}Ebe.prototype.build=function(e){e._useTiles=this.useTiles,e._tilingScheme=this.tilingScheme,e._rectangle=this.rectangle,e._credit=this.credit,e._tileCredits=this.tileCredits,e._tileDiscardPolicy=this.tileDiscardPolicy,e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,this.useTiles&&!l(this.tileDiscardPolicy)&&(e._tileDiscardPolicy=new dw({missingImageUrl:Ibe(e,0,0,this.maximumLevel).url,pixelsToCheck:[new D(0,0),new D(200,20),new D(20,200),new D(80,110),new D(160,130)],disableCheckIfAllPixelsAreTransparent:!0}))};function yot(e,t){let n=e.tileInfo;if(!l(n))t.useTiles=!1;else{if(t.tileWidth=n.rows,t.tileHeight=n.cols,n.spatialReference.wkid===102100||n.spatialReference.wkid===102113)t.tilingScheme=new $r({ellipsoid:t.ellipsoid});else if(e.tileInfo.spatialReference.wkid===4326)t.tilingScheme=new Oi({ellipsoid:t.ellipsoid});else{let i=`Tile spatial reference WKID ${e.tileInfo.spatialReference.wkid} is not supported.`;throw new de(i)}if(t.maximumLevel=e.tileInfo.lods.length-1,l(e.fullExtent)){if(l(e.fullExtent.spatialReference)&&l(e.fullExtent.spatialReference.wkid))if(e.fullExtent.spatialReference.wkid===102100||e.fullExtent.spatialReference.wkid===102113){let i=new Zi,o=e.fullExtent,r=i.unproject(new h(Math.max(o.xmin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(o.ymin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),s=i.unproject(new h(Math.min(o.xmax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(o.ymax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));t.rectangle=new ce(r.longitude,r.latitude,s.longitude,s.latitude)}else if(e.fullExtent.spatialReference.wkid===4326)t.rectangle=ce.fromDegrees(e.fullExtent.xmin,e.fullExtent.ymin,e.fullExtent.xmax,e.fullExtent.ymax);else{let i=`fullExtent.spatialReference WKID ${e.fullExtent.spatialReference.wkid} is not supported.`;throw new de(i)}}else t.rectangle=t.tilingScheme.rectangle;t.useTiles=!0}l(e.copyrightText)&&e.copyrightText.length>0&&(l(t.credit)?t.tileCredits=[new Et(e.copyrightText)]:t.credit=new Et(e.copyrightText))}function xot(e,t){let n=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(n+=`: ${t.message}`),new de(n)}async function _ot(e,t){let n=e.getDerivedResource({queryParameters:{f:"json"}});try{let i=await n.fetchJson();yot(i,t)}catch(i){xot(e,i)}}function Df(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new Oi({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers,this._credit=e.credit,this._tileCredits=void 0;let t=e.credit;typeof t=="string"&&(t=new Et(t)),this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new be}Df.fromBasemapType=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n,i,o;switch(e){case Ch.SATELLITE:{n=y(t.token,Bd.defaultAccessToken),i=Ge.createIfNeeded(Bd.defaultWorldImageryServer),i.appendForwardSlash();let r=Bd.getDefaultTokenCredit(n);l(r)&&(o=Et.clone(r))}break;case Ch.OCEANS:{n=y(t.token,Bd.defaultAccessToken),i=Ge.createIfNeeded(Bd.defaultWorldOceanServer),i.appendForwardSlash();let r=Bd.getDefaultTokenCredit(n);l(r)&&(o=Et.clone(r))}break;case Ch.HILLSHADE:{n=y(t.token,Bd.defaultAccessToken),i=Ge.createIfNeeded(Bd.defaultWorldHillshadeServer),i.appendForwardSlash();let r=Bd.getDefaultTokenCredit(n);l(r)&&(o=Et.clone(r))}break;default:}return Df.fromUrl(i,{...t,token:n,credit:o,usePreCachedTilesIfAvailable:!0})};function Ibe(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof Ri?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(Df.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});Df.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ge.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&n.setQueryParameters({token:t.token});let i=new Df(t);i._resource=n;let o=new Ebe(t);return y(t.usePreCachedTilesIfAvailable,!0)&&await _ot(n,o),o.build(i),i};Df.prototype.getTileCredits=function(e,t,n){return this._tileCredits};Df.prototype.requestImage=function(e,t,n,i){return il.loadImage(this,Ibe(this,e,t,n,i))};Df.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof Ri)s=W.toDegrees(i),a=W.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new he(i,o,0));s=p.x,a=p.y,c="3857"}let d="visible";l(this._layers)&&(d+=`:${this._layers}`);let u={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:d};return this._resource.getDerivedResource({url:"identify",queryParameters:u}).fetchJson().then(function(p){let g=[],f=p.results;if(!l(f))return g;for(let x=0;x 1.0 || offset.y < 0.0 || offset.y > 1.0) { - continue; - } - color += sampleTexture(offset); - ++count; - } - } - if (count > 0) { - color /= float(count); - } -`,e===t-1&&(n+=` float previous = texture(previousLuminance, vec2(0.5)).r; - color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); - color = previous + (color - previous) / (60.0 * 1.5); - color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); -`),n+=` out_FragColor = vec4(color); -} -`,n}function Lot(e,t){Wbe(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r0?n.raiseEvent(c):l(t)&&console.log(`An error occurred in "${t.constructor.name}": ${Bf(i)}`),c};pD.reportSuccess=function(e){l(e)&&(e.timesRetried=-1)};var Ro=pD;var Fxi=T(S(),1),Zot={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},vV=Object.freeze(Zot);var Nxi=T(S(),1);function fw(e){}fw.prototype.isReady=function(){return!0};fw.prototype.shouldDiscardImage=function(e){return fw.EMPTY_IMAGE===e};var bD;Object.defineProperties(fw,{EMPTY_IMAGE:{get:function(){return l(bD)||(bD=new Image,bD.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),bD}}});var wV=fw;function Pbe(e){this.tileWidth=void 0,this.tileHeight=void 0,this.maximumLevel=void 0,this.imageUrlSubdomains=void 0,this.imageUrlTemplate=void 0,this.attributionList=void 0}Pbe.prototype.build=function(e){e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,e._imageUrlSubdomains=this.imageUrlSubdomains,e._imageUrlTemplate=this.imageUrlTemplate;let t=e._attributionList=this.attributionList;t||(t=[]),e._attributionList=t;for(let n=0,i=t.length;no.coverageAreas?.some(r=>l(r.bbox)))),t.attributionList=i}function Eot(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i+=`: ${t.message}`),Ro.reportError(void 0,n,l(n)?n._errorEvent:void 0,i,void 0,void 0,void 0,t),new de(i)}async function Iot(e,t,n){let i=e.url,o=Is._metadataCache[i];l(o)||(o=e.fetchJsonp("jsonp"),Is._metadataCache[i]=o);try{let r=await o;return Got(r,t)}catch(r){Eot(e,r,n)}}function Is(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._mapStyle=y(e.mapStyle,vV.AERIAL),this._mapLayer=e.mapLayer,this._culture=y(e.culture,""),this._key=e.key,this._tileDiscardPolicy=e.tileDiscardPolicy,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new wV),this._proxy=e.proxy,this._credit=new Et(``),this._tilingScheme=new $r({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new be}Object.defineProperties(Is.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},mapLayer:{get:function(){return this._mapLayer}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return l(this.mapLayer)}}});Is.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.tileProtocol;l(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=y(t.mapStyle,vV.AERIAL),o=Ge.createIfNeeded(e);o.appendForwardSlash();let r={incl:"ImageryProviders",key:t.key,uriScheme:n};l(t.mapLayer)&&(r.mapLayer=t.mapLayer),l(t.culture)&&(r.culture=t.culture);let s=o.getDerivedResource({url:`REST/v1/Imagery/Metadata/${i}`,queryParameters:r}),a=new Is(t);a._resource=o;let c=new Pbe(t);return await Iot(s,c),c.build(a),a};var Xot=new ce;Is.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,Xot);return vot(this._attributionList,n,i)};Is.prototype.requestImage=function(e,t,n,i){let o=il.loadImage(this,Wot(this,e,t,n,i));if(l(o))return o.catch(function(r){return l(r.blob)&&r.blob.size===0?wV.EMPTY_IMAGE:Promise.reject(r)})};Is.prototype.pickFeatures=function(e,t,n,i,o){};Is.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<=0;--o){let r=1<=m.zoomMin&&t<=m.zoomMax){let p=ce.intersection(n,m.bbox,Pot);l(p)&&(c=!0)}}c&&i.push(s.credit)}return i}Is._metadataCache={};var pw=Is;var s_i=T(S(),1);var wot=new h(1,1,1);function E4(e){e=y(e,wot),this._dimensions=h.clone(e)}Object.defineProperties(E4.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var Fot=new h;E4.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,Fot),i=W.randomBetween(-n.x,n.x),o=W.randomBetween(-n.y,n.y),r=W.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var I4=E4;var __i=T(S(),1);var c_i=T(S(),1),bw=`in vec2 v_textureCoordinates; +`;var s8e=Ws.SHOW_INDEX,HK=Ws.POSITION_INDEX,Tue=Ws.COLOR_INDEX,a8e=Ws.OUTLINE_COLOR_INDEX,c8e=Ws.OUTLINE_WIDTH_INDEX,l8e=Ws.PIXEL_SIZE_INDEX,Sue=Ws.SCALE_BY_DISTANCE_INDEX,Cue=Ws.TRANSLUCENCY_BY_DISTANCE_INDEX,Vue=Ws.DISTANCE_DISPLAY_CONDITION_INDEX,d8e=Ws.DISABLE_DEPTH_DISTANCE_INDEX,u8e=Ws.SPLIT_DIRECTION_INDEX,zK=Ws.NUMBER_OF_PROPERTIES,Sc={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepthAndSplitDirection:5};function Ku(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(zK),this._maxPixelSize=1,this._baseVolume=new de,this._baseVolumeWC=new de,this._baseVolume2D=new de,this._boundingVolume=new de,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=M.clone(M.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,Lo.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=oe.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(Ku.prototype,{length:{get:function(){return KK(this),this._pointPrimitives.length}}});function Lue(e){let t=e.length;for(let n=0;n0&&(e._shaderDisableDepthDistance=!0,d===Number.POSITIVE_INFINITY&&(d=-1));let u=0,m=i.splitDirection;l(m)&&(u=m),r(o,s,a,d,u)}function h8e(e,t,n,i){Rue(e,t,n,i),Zue(e,t,n,i),Gue(e,t,n,i),Eue(e,t,n,i),Iue(e,t,n,i)}function YK(e,t,n,i,o,r){let s;i.mode===oe.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c0){this._vaf=m8e(c,n,this._buffersUsage),a=this._vaf.writers;for(let G=0;G0){let G=b8e;G.length=0,(r[HK]||r[c8e]||r[l8e])&&G.push(Rue),(r[Tue]||r[a8e])&&G.push(Zue),(r[s8e]||r[Cue])&&G.push(Gue),r[Sue]&&G.push(Eue),(r[Vue]||r[d8e]||r[u8e])&&G.push(Iue);let I=G.length;if(a=this._vaf.writers,o/n>.1){for(let v=0;vn*1.5&&(i.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,de.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,p=M.IDENTITY;e.mode===oe.SCENE3D?(p=this.modelMatrix,m=de.clone(this._baseVolumeWC,this._boundingVolume)):m=de.clone(this._baseVolume2D,this._boundingVolume),p8e(this,e,m);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===Lo.OPAQUE||this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Be.fromCache({depthTest:{enabled:!0,func:ie.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===Lo.TRANSLUCENT||this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Be.fromCache({depthTest:{enabled:!0,func:ie.LEQUAL},depthMask:!1,blending:hn.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let f,x;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(f=new Oe({sources:[FP]}),this._shaderScaleByDistance&&f.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&f.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&f.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&f.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT&&(x=new Oe({defines:["OPAQUE"],sources:[jg]}),this._sp=en.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:Sc}),x=new Oe({defines:["TRANSLUCENT"],sources:[jg]}),this._spTranslucent=en.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:Sc})),this._blendOption===Lo.OPAQUE&&(x=new Oe({sources:[jg]}),this._sp=en.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:Sc})),this._blendOption===Lo.TRANSLUCENT&&(x=new Oe({sources:[jg]}),this._spTranslucent=en.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:f,fragmentShaderSource:x,attributeLocations:Sc})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let _,C,V,L,Z=e.commandList;if(d.render||u){let G=this._colorCommands,I=this._blendOption===Lo.OPAQUE,v=this._blendOption===Lo.OPAQUE_AND_TRANSLUCENT;_=this._vaf.va,C=_.length,G.length=C;let P=v?C*2:C;for(L=0;L0){let F=new Ex(V.length,64,Uint32Array);for(let N=0;N=u)for(Pue(N.position,R,b,e),p.push(N),Z=0;Z=u){let k=h.multiplyByScalar(Y,1/R,Y);for(Pue(k,R,b,e),p.push({position:k,width:U.width,height:U.height,minimumWidth:I.width,minimumHeight:I.height}),Z=0;Z0?(a=d.shift(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let u=this;return Promise.resolve().then(function(){u._clusterDirty=!0}),c}}function qK(e,t){let n=e._collectionIndicesByEntity[t];!l(n.billboardIndex)&&!l(n.labelIndex)&&!l(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}dh.prototype.getLabel=jK("_labelCollection",Sf,"_unusedLabelIndices","labelIndex");dh.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._labelCollection)||!l(t)||!l(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,qK(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};dh.prototype.getBillboard=jK("_billboardCollection",Zd,"_unusedBillboardIndices","billboardIndex");dh.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._billboardCollection)||!l(t)||!l(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,qK(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};dh.prototype.getPoint=jK("_pointCollection",w1,"_unusedPointIndices","pointIndex");dh.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._pointCollection)||!l(t)||!l(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,qK(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function QK(e){if(!l(e))return;let t=e.length;for(let n=0;n0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),l(this._billboardCollection)&&this._billboardCollection.length>0&&!l(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,C8e(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),l(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),l(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),l(this._clusterPointCollection)&&this._clusterPointCollection.update(e),l(this._labelCollection)&&this._labelCollection.update(e),l(this._billboardCollection)&&this._billboardCollection.update(e),l(this._pointCollection)&&this._pointCollection.update(e)};dh.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),l(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var Wd=dh;function $K(e){this._name=e,this._clock=void 0,this._changed=new be,this._error=new be,this._isLoading=!1,this._loading=new be,this._entityCollection=new js(this),this._entityCluster=new Wd}Object.defineProperties($K.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Or.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});$K.prototype.update=function(e){return!0};var MP=$K;var S4n=T(S(),1);var NQn=T(S(),1);var SQn=T(S(),1);var wue={};wue.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,d=new Float64Array(c*3),u,m=0,p=0,g=o?a*3:0,f=o?(a+i)*3:i*3;for(u=0;u0){let x=Math.min(r,o);d=Math.round(o/x),c+=x}let u=ke.createTypedArray(s,c*2),m=0,p;for(p=0;p0)for(p=0;p0){for(c=0;c=t;i--)e[i]=e[a--]}for(i=0;i=0||l(m)&&j.compare(u,m)>=0));){for(cJ[p++]=u,r=r+1,s=0;s0&&(lJ.length=g,Due(n,d,lJ),cJ.length=p,Due(t,c,cJ))}else{for(s=0;so)return;if(this._backwardExtrapolationType===vd.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let Z=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===vd.NONE||o!==0&&j.secondsDifference(e,Z)>o)return;if(this._forwardExtrapolationType===vd.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,d=this._yTable,u=this._interpolationAlgorithm,m=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let Z=Math.min(u.getRequiredDataPoints(this._interpolationDegree,p),i);Z!==this._numberOfPoints&&(this._numberOfPoints=Z,c.length=Z,d.length=Z*m)}let g=this._numberOfPoints-1;if(g<1)return;let f=0,x=i-1;if(x-f+1>=g+1){let Z=a-(g/2|0)-1;Zx&&(G=x,Z=G-g,Z0){n=new Array(t);for(let i=0;ic&&e!==Object}let f=typeof e.unpack=="function"&&e!==Ju;if(!g&&!p){m?t[n]=new qn(f?e.unpack(d,0):d):t[n]=Jue(e,s,i);return}let x=t[n],_,C=i.epoch;if(l(C)&&(_=j.fromIso8601(C)),g&&!p){x instanceof Fd||(t[n]=x=new Fd(e)),x.addSamplesPackedArray(d,_),wk(i,x);return}let V;if(!g&&p){a=a.clone(),m?a.data=f?e.unpack(d,0):d:a.data=Jue(e,s,i),l(x)||(t[n]=x=m?new Hb:new Tc),m&&x instanceof Hb?x.intervals.addInterval(a):x instanceof Tc?(m&&(a.data=new qn(a.data)),x.intervals.addInterval(a)):(t[n]=x=tme(x),m&&(a.data=new qn(a.data)),x.intervals.addInterval(a));return}l(x)||(t[n]=x=new Tc),x instanceof Tc||(t[n]=x=tme(x));let L=x.intervals;V=L.findInterval(a),(!l(V)||!(V.data instanceof Fd))&&(V=a.clone(),V.data=new Fd(e),L.addInterval(V)),V.data.addSamplesPackedArray(d,_),wk(i,V.data)}function hme(e,t){if(e instanceof Fd){e.removeSamples(t);return}else if(e instanceof Hb){e.intervals.removeInterval(t);return}else if(e instanceof Tc){let n=e.intervals;for(let i=0;ic),!f&&!p){m?e[t]=new Bc(h.unpack(d),g):e[t]=zP(r,n.reference);return}let x=e[t],_,C=n.epoch;if(l(C)&&(_=j.fromIso8601(C)),f&&!p){(!(x instanceof _a)||l(g)&&x.referenceFrame!==g)&&(e[t]=x=new _a(g,a)),x.addSamplesPackedArray(d,_),wk(n,x);return}let V;if(!f&&p){s=s.clone(),m?s.data=h.unpack(d):s.data=zP(r,n.reference),l(x)||(m?x=new Yb(g):x=new ya(g),e[t]=x),m&&x instanceof Yb&&l(g)&&x.referenceFrame===g?x.intervals.addInterval(s):x instanceof ya?(m&&(s.data=new Bc(s.data,g)),x.intervals.addInterval(s)):(e[t]=x=nme(x),m&&(s.data=new Bc(s.data,g)),x.intervals.addInterval(s));return}l(x)?x instanceof ya||(e[t]=x=nme(x)):e[t]=x=new ya(g);let L=x.intervals;V=L.findInterval(s),(!l(V)||!(V.data instanceof _a)||l(g)&&V.data.referenceFrame!==g)&&(V=s.clone(),V.data=new _a(g,a),L.addInterval(V)),V.data.addSamplesPackedArray(d,_),wk(n,V.data)}function fme(e,t){if(e instanceof _a){e.removeSamples(t);return}else if(e instanceof Yb){e.intervals.removeInterval(t);return}else if(e instanceof ya){let n=e.intervals;for(let i=0;i. version format.");let i=t._documentPacket;l(e.name)&&(i.name=e.name);let o=e.clock;if(l(o)){let r=i.clock;l(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function j7e(e,t,n,i){let o=t.ellipse;if(!l(o))return;let r=hr(o.interval),s=e.ellipse;l(s)||(e.ellipse=s=new Hx),xe(Boolean,s,"show",o.show,r,i,n),xe(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),xe(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),xe(Number,s,"height",o.height,r,i,n),xe(Qe,s,"heightReference",o.heightReference,r,i,n),xe(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),xe(Qe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),xe(Ju,s,"rotation",o.rotation,r,i,n),xe(Ju,s,"stRotation",o.stRotation,r,i,n),xe(Number,s,"granularity",o.granularity,r,i,n),xe(Boolean,s,"fill",o.fill,r,i,n),Ad(s,"material",o.material,r,i,n),xe(Boolean,s,"outline",o.outline,r,i,n),xe(B,s,"outlineColor",o.outlineColor,r,i,n),xe(Number,s,"outlineWidth",o.outlineWidth,r,i,n),xe(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),xe(Tn,s,"shadows",o.shadows,r,i,n),xe(Ft,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),xe(Dn,s,"classificationType",o.classificationType,r,i,n),xe(Number,s,"zIndex",o.zIndex,r,i,n)}function q7e(e,t,n,i){let o=t.ellipsoid;if(!l(o))return;let r=hr(o.interval),s=e.ellipsoid;l(s)||(e.ellipsoid=s=new zx),xe(Boolean,s,"show",o.show,r,i,n),xe(h,s,"radii",o.radii,r,i,n),xe(h,s,"innerRadii",o.innerRadii,r,i,n),xe(Number,s,"minimumClock",o.minimumClock,r,i,n),xe(Number,s,"maximumClock",o.maximumClock,r,i,n),xe(Number,s,"minimumCone",o.minimumCone,r,i,n),xe(Number,s,"maximumCone",o.maximumCone,r,i,n),xe(Qe,s,"heightReference",o.heightReference,r,i,n),xe(Boolean,s,"fill",o.fill,r,i,n),Ad(s,"material",o.material,r,i,n),xe(Boolean,s,"outline",o.outline,r,i,n),xe(B,s,"outlineColor",o.outlineColor,r,i,n),xe(Number,s,"outlineWidth",o.outlineWidth,r,i,n),xe(Number,s,"stackPartitions",o.stackPartitions,r,i,n),xe(Number,s,"slicePartitions",o.slicePartitions,r,i,n),xe(Number,s,"subdivisions",o.subdivisions,r,i,n),xe(Tn,s,"shadows",o.shadows,r,i,n),xe(Ft,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function $7e(e,t,n,i){let o=t.label;if(!l(o))return;let r=hr(o.interval),s=e.label;l(s)||(e.label=s=new vm),xe(Boolean,s,"show",o.show,r,i,n),xe(String,s,"text",o.text,r,i,n),xe(String,s,"font",o.font,r,i,n),xe(Bo,s,"style",o.style,r,i,n),xe(Number,s,"scale",o.scale,r,i,n),xe(Boolean,s,"showBackground",o.showBackground,r,i,n),xe(B,s,"backgroundColor",o.backgroundColor,r,i,n),xe(D,s,"backgroundPadding",o.backgroundPadding,r,i,n),xe(D,s,"pixelOffset",o.pixelOffset,r,i,n),xe(h,s,"eyeOffset",o.eyeOffset,r,i,n),xe(_i,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),xe(wn,s,"verticalOrigin",o.verticalOrigin,r,i,n),xe(Qe,s,"heightReference",o.heightReference,r,i,n),xe(B,s,"fillColor",o.fillColor,r,i,n),xe(B,s,"outlineColor",o.outlineColor,r,i,n),xe(Number,s,"outlineWidth",o.outlineWidth,r,i,n),xe(kt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),xe(kt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),xe(kt,s,"scaleByDistance",o.scaleByDistance,r,i,n),xe(Ft,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),xe(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function e6e(e,t,n,i){let o=t.model;if(!l(o))return;let r=hr(o.interval),s=e.model;l(s)||(e.model=s=new Up),xe(Boolean,s,"show",o.show,r,i,n),xe(JP.default,s,"uri",o.gltf,r,i,n),xe(Number,s,"scale",o.scale,r,i,n),xe(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),xe(Number,s,"maximumScale",o.maximumScale,r,i,n),xe(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),xe(Boolean,s,"runAnimations",o.runAnimations,r,i,n),xe(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),xe(Tn,s,"shadows",o.shadows,r,i,n),xe(Qe,s,"heightReference",o.heightReference,r,i,n),xe(B,s,"silhouetteColor",o.silhouetteColor,r,i,n),xe(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),xe(B,s,"color",o.color,r,i,n),xe(pc,s,"colorBlendMode",o.colorBlendMode,r,i,n),xe(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),xe(Ft,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,d=o.nodeTransformations;if(l(d))if(Array.isArray(d))for(a=0,c=d.length;a-1;c--)n[c](s,e,t,i)}uJ=void 0}function d6e(e){let t,n=e._documentPacket.clock;if(!l(n)){if(!l(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(Ye.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=j.secondsDifference(s,r),c=Math.round(a/120);return t=new mh,t.startTime=j.clone(r),t.stopTime=j.clone(s),t.clockRange=Yr.LOOP_STOP,t.multiplier=c,t.currentTime=j.clone(r),t.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}l(e._clock)?t=e._clock.clone():(t=new mh,t.startTime=Ye.MINIMUM_VALUE.clone(),t.stopTime=Ye.MAXIMUM_VALUE.clone(),t.currentTime=Ye.MINIMUM_VALUE.clone(),t.clockRange=Yr.LOOP_STOP,t.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=hr(n.interval);return l(i)&&(t.startTime=i.start,t.stopTime=i.stop),l(n.currentTime)&&(t.currentTime=j.fromIso8601(n.currentTime)),l(n.range)&&(t.clockRange=y(Yr[n.range],Yr.LOOP_STOP)),l(n.step)&&(t.clockStep=y(go[n.step],go.SYSTEM_CLOCK_MULTIPLIER)),l(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function bme(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new Lt(s)),e._credit=s,typeof t=="string"||t instanceof Le){t=Le.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(l(c)){let d=c.length;for(let u=0;u1;--b){if(C=W.PI_OVER_TWO-(b-1)*_,G=eV(-C,r,f,g,c,u,d,m,p,G),I=eV(C+Math.PI,r,f,g,c,u,d,m,p,I),t){for(L[Z++]=G.x,L[Z++]=G.y,L[Z++]=G.z,E=2*(b-1)+2,R=1;R1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;aW.PI&&(m.north=m.north>0?W.PI_OVER_TWO-W.EPSILON7:m.north,m.south=m.south<0?W.EPSILON7-W.PI_OVER_TWO:m.south,m.east=W.PI,m.west=-W.PI),m}function If(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ne.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,W.RADIANS_PER_DEGREE),s=y(e.vertexFormat,We.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ne.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=We.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}If.packedLength=h.packedLength+ne.packedLength+We.packedLength+9;If.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ne.pack(e._ellipsoid,t,n),n+=ne.packedLength,We.pack(e._vertexFormat,t,n),n+=We.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var wme=new h,Fme=new ne,Ame=new We,Ef={center:wme,ellipsoid:Fme,vertexFormat:Ame,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};If.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,wme);t+=h.packedLength;let o=ne.unpack(e,t,Fme);t+=ne.packedLength;let r=We.unpack(e,t,Ame);t+=We.packedLength;let s=e[t++],a=e[t++],c=e[t++],d=e[t++],u=e[t++],m=e[t++],p=e[t++],g=e[t++]===1,f=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ne.clone(o,n._ellipsoid),n._vertexFormat=We.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=d,n._height=u,n._granularity=m,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=f===-1?void 0:f,n):(Ef.height=u,Ef.extrudedHeight=p,Ef.granularity=m,Ef.stRotation=d,Ef.rotation=c,Ef.semiMajorAxis=s,Ef.semiMinorAxis=a,Ef.shadowVolume=g,Ef.offsetAttribute=f===-1?void 0:f,new If(Ef))};If.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,ne.default),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,W.RADIANS_PER_DEGREE),a=y(e.rotation,0);return vme(n,o,r,a,s,i,t)};If.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!W.equalsEpsilon(t,n,0,W.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=_6e(o);else if(r=g6e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===dn.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Ze({componentDatatype:Q.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ht({attributes:r.attributes,indices:r.indices,primitiveType:Me.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};If.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new If({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:We.POSITION_ONLY,shadowVolume:!0})};function T6e(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=Ul.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c0){let f=Math.min(d,c);g=Math.round(c/f);let x=Math.min(g*d,c);for(p=0;p0&&(Z=!0,C+=c-1),s0&&u!==x-1&&m!==0&&m!==_-1&&(A[J]=!0),J++;p=0;let te,z;for(u=1;u=Ke&&u1||G>1))for(let R=0;R0;u-=d)Te=u*3,H=lV(H,ee,Te,p,_),ee+=6,o.st&&(z=dV(z,pe,u*2,G),pe+=4),n&&(_e+=3,J[_e++]=I[Te],J[_e++]=I[Te+1],J[_e++]=I[Te+2]),q&&(te[ae++]=1,ae+=1);if(E){let Ke=ye;for(Te=Ke*3,u=0;u<2;u++)H=lV(H,ee,Te,p,_),ee+=6,o.st&&(z=dV(z,pe,Ke*2,G),pe+=4),n&&(_e+=3,J[_e++]=I[Te],J[_e++]=I[Te+1],J[_e++]=I[Te+2]),q&&(te[ae++]=1,ae+=1)}else for(u=d-1;u>=0;u--)Te=u*3,H=lV(H,ee,Te,p,_),ee+=6,o.st&&(z=dV(z,pe,u*2,G),pe+=4),n&&(_e+=3,J[_e++]=I[Te],J[_e++]=I[Te+1],J[_e++]=I[Te+2]),q&&(te[ae++]=1,ae+=1);let Xe=Vqe(H,o,a);o.st&&(Xe.attributes.st=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:z})),n&&(Xe.attributes.extrudeDirection=new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:J})),P&&(Xe.attributes.applyOffset=new Ze({componentDatatype:Q.UNSIGNED_BYTE,componentsPerAttribute:1,values:te}));let Ie=ke.createTypedArray(k,O*6),Ae,Ve,Ne,De;g=H.length/3;let $e=0;for(u=0;u0)for(s=new Array(o),i=0;i0)for(a=new Array(o),i=0;i0)for(s=new Array(o),i=0;i0)for(a=new Array(o),i=0;i{i.raiseEvent(a)}),n[r]=s}this.updaters=n,this.geometryChanged=i,this.eventHelper=o,this._removeEntitySubscription=e.definitionChanged.addEventListener(xT.prototype._onEntityPropertyChanged,this)}xT.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r0){l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;l(this.depthFailAppearanceType)&&(l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=er.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new Wn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Bt)&&(this.depthFailMaterial=er.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}hV.prototype.remove=function(e){whe(this._solidItems,e)||whe(this._translucentItems,e)};function Fhe(e,t,n){let i=!1,o=t.length;for(let r=0;r0)for(r=0;r=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let d=0;d0){l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=er.getValue(e,this.materialProperty,this.material);let a;l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=er.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new Wn({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=er.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Bt)&&(this.depthFailMaterial=er.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};fV.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Uc({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};pV.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=er.getValue(e,this.materialProperty,this.material),n=new Uc({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=er.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};gV.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Wn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new mn({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r0)for(m=!0,t=0;t0)for(m=!0,t=0;t-1;a--)c=s[a],d=c.id,u=this._updaterSets.get(d),u.entity===c?u.forEach(function(x){m._removeUpdater(x),m._insertUpdaterIntoBatch(e,x)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],d=c.id,u=this._updaterSets.get(d),u.forEach(this._removeUpdater.bind(this)),u.destroy(),this._updaterSets.remove(d),this._subscriptions.get(d)(),this._subscriptions.remove(d);for(a=n.length-1;a>-1;a--)c=n[a],d=c.id,u=new _T(c,this._scene),this._updaterSets.set(d,u),u.forEach(function(x){m._insertUpdaterIntoBatch(e,x)}),this._subscriptions.set(d,u.geometryChanged.addEventListener(Dl._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,f=g.length;for(a=0;a-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var Vv=Dl;var Jci=T(S(),1);var _$e=1,T$e="30px sans-serif",S$e=Bo.FILL,C$e=B.WHITE,V$e=B.BLACK,L$e=1,R$e=!1,Z$e=new B(.165,.165,.165,.8),G$e=new D(7,5),E$e=D.ZERO,I$e=h.ZERO,X$e=Qe.NONE,W$e=_i.CENTER,P$e=wn.CENTER,v$e=new h,w$e=new B,F$e=new B,A$e=new B,M$e=new D,N$e=new h,k$e=new D,U$e=new kt,D$e=new kt,B$e=new kt,O$e=new Ft;function Uhe(e){this.entity=e,this.label=void 0,this.index=void 0}function ry(e,t){t.collectionChanged.addEventListener(ry.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new Gt,this._onCollectionChanged(t,t.values,[],[])}ry.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i-1;o--)r=t[o],l(r._label)&&l(r._position)&&s.set(r.id,new Uhe(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._label)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Uhe(r)):(XJ(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],XJ(s.get(r.id),r,a),s.remove(r.id)};function XJ(e,t,n){l(e)&&(e.label=void 0,n.removeLabel(t))}var Lv=ry;var bli=T(S(),1);var Y$e=1,H$e=!0,z$e=0,K$e=!0,J$e=!0,Q$e=Tn.ENABLED,j$e=Qe.NONE,q$e=B.RED,$$e=0,eet=B.WHITE,tet=pc.HIGHLIGHT,net=.5,iet=new D(1,1),oet=new M,ret=new M,Dhe=new B,Bhe=new Array(4),set=new h;function sy(e,t){t.collectionChanged.addEventListener(sy.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new Gt,this._onCollectionChanged(t,t.values,[],[])}async function aet(e,t,n,i){let o=e._primitives,r=e._modelHash;try{let s=await $m.fromGltfAsync({url:n,incrementallyLoadTextures:i,scene:e._scene});if(e.isDestroyed()||!l(r[t.id]))return;s.id=t,o.add(s),r[t.id].modelPrimitive=s,s.errorEvent.addEventListener(a=>{l(r[t.id])&&(console.log(a),a.name!=="TextureError"&&s.incrementallyLoadTextures&&(r[t.id].loadFailed=!0))})}catch(s){if(e.isDestroyed()||!l(r[t.id]))return;console.log(s),r[t.id].loadFailed=!0}}sy.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o-1;i--)WJ(this,e[i],t,n);return me(this)};var $k=new h,cet=new he;sy.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!l(n))return mt.FAILED;if(n.loadFailed)return mt.FAILED;let i=n.modelPrimitive;if(!l(i)||!i.show)return mt.PENDING;if(!i.ready||!n.modelUpdated)return mt.PENDING;let o=this._scene,r=y(o.ellipsoid,ne.default);if(i.heightReference!==Qe.NONE){let a=i.modelMatrix;$k.x=a[12],$k.y=a[13],$k.z=a[14];let c=r.cartesianToCartographic($k,cet),d=o.getHeight(c,i.heightReference);return l(d)&&(Tu(i.heightReference)?c.height=d:c.height+=d),de.clone(i.boundingSphere,t),t.center=r.cartographicToCartesian(c),mt.DONE}return de.clone(i.boundingSphere,t),mt.DONE};sy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._model)&&l(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._model)&&l(r._position)?(det(r,a),s.set(r.id,r)):(WJ(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],WJ(this,r,a,c),s.remove(r.id)};function WJ(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function det(e,t){let n=t[e.id];l(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}var Rv=sy;var zli=T(S(),1);var Vli=T(S(),1);function ay(e){this._definitionChanged=new be,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(ay.prototype,{isConstant:{get:function(){return K.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return l(this._value)?this._value.referenceFrame:Ni.FIXED}}});var uet=new j;ay.prototype.getValue=function(e,t){return l(e)||(e=j.now(uet)),this.getValueInReferenceFrame(e,Ni.FIXED,t)};ay.prototype.setValue=function(e){this._value!==e&&(this._value=e,l(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),l(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};ay.prototype.getValueInReferenceFrame=function(e,t,n){if(l(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),l(n)?ne.default.scaleToGeodeticSurface(n,n):void 0};ay.prototype.equals=function(e){return this===e||e instanceof ay&&this._value===e._value};ay.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Pf=ay;var met=60,het=1,Yhe=new Rn,PJ=new Rn,vJ=new Rn;function Ohe(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function fet(e,t,n,i,o,r,s,a,c){let d=a,u;u=e.getValueInReferenceFrame(t,r,c[d]),l(u)&&(c[d++]=u);let m=!l(o)||j.lessThanOrEquals(o,t)||j.greaterThanOrEquals(o,n),p=0,g=i.length,f=i[p],x=n,_=!1,C,V,L;for(;p0&&!_){let Z=i[p+1],G=j.secondsDifference(Z,f);_=G>s,_&&(C=Math.ceil(G/s),V=0,L=G/Math.max(C,2),C=Math.max(C-1,1))}if(_&&V0){let g=m.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let u=K.getValueOrDefault(i._resolution,e,met);c.show=!0,c.positions=zhe(o,r,s,e,this._referenceFrame,u,c.positions.slice()),c.material=er.getValue(e,i._material,c.material),c.width=K.getValueOrDefault(i._width,e,het),c.distanceDisplayCondition=K.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};Zv.prototype.removeObject=function(e){let t=e.polyline;l(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};Zv.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),me(this)};function cy(e,t){t.collectionChanged.addEventListener(cy.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new Gt,this._onCollectionChanged(t,t.values,[],[])}cy.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&l(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i-1;o--)r=t[o],l(r._path)&&l(r._position)&&a.set(r.id,new Ohe(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._path)&&l(r._position)?a.contains(r.id)||a.set(r.id,new Ohe(r)):(s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};cy._subSample=zhe;var Gv=cy;var adi=T(S(),1);var Khe=B.WHITE,Jhe=B.BLACK,Qhe=0,jhe=1,qhe=0,$he=wr.NONE,efe=new B,Tet=new h,tfe=new B,nfe=new kt,ife=new kt,ofe=new Ft;function rfe(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function ly(e,t){t.collectionChanged.addEventListener(ly.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new Gt,this._onCollectionChanged(t,t.values,[],[])}ly.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i0?(d.scale=1,g=g||C!==r.outlineWidth||V!==r.pixelSize||!B.equals(x,r.color)||!B.equals(_,r.outlineColor)):(d.scale=V/50,V=50,g=g||C!==r.outlineWidth||!B.equals(x,r.color)||!B.equals(_,r.outlineColor)),g){r.color=B.clone(x,r.color),r.outlineColor=B.clone(_,r.outlineColor),r.pixelSize=V,r.outlineWidth=C;let L=x.alpha,Z=x.toCssColorString(),G=_.toCssColorString(),I=JSON.stringify([Z,V,G,C]);d.setImage(I,v_(L,Z,G,C,V))}f&&d._updateClamping()}}return!0};ly.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!(l(n.pointPrimitive)||l(n.billboard)))return mt.FAILED;if(l(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!l(i._clampedPosition))return mt.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,mt.DONE};ly.prototype.isDestroyed=function(){return!1};ly.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(ly.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t-1;o--)r=t[o],l(r._point)&&l(r._position)&&s.set(r.id,new rfe(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._point)&&l(r._position)?s.contains(r.id)||s.set(r.id,new rfe(r)):(Ev(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],Ev(s.get(r.id),r,a),s.remove(r.id)};function Ev(e,t,n){if(l(e)){let i=e.pointPrimitive;if(l(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;l(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var Iv=ly;var Nui=T(S(),1);var oui=T(S(),1);var Zdi=T(S(),1);var dfe=[];function Cet(e,t,n,i,o){let r=dfe;r.length=o;let s,a=n.red,c=n.green,d=n.blue,u=n.alpha,m=i.red,p=i.green,g=i.blue,f=i.alpha;if(B.equals(n,i)){for(s=0;s0?new Array(o):void 0;for(i=0;i0){let F=0,N=m[0];i=i.filter(function(O,U){let Y=!1;return o?Y=U===N||U===0&&N===1:Y=U+1===N,Y?(F++,N=m[F],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===tn.GEODESIC||r===tn.RHUMB){let F,N;r===tn.GEODESIC?(F=W.chordLength(s,a.maximumRadius),N=Wi.numberOfPoints):(F=s,N=Wi.numberOfPointsRhumbLine);let O=Wi.extractHeights(p,a);if(l(i)){let U=1;for(c=0;c0)return de.fromPoints(t.positions,e),mt.DONE}return mt.FAILED};Wv.prototype.isDestroyed=function(){return!1};Wv.prototype.destroy=function(){let t=this._geometryUpdater._scene.id+this._primitives._guid,n=eU[t];l(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete eU[t])),l(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),me(this)};var Pv=xh;var Tui=T(S(),1);var Wet=new B,Pet=new Ft,vet=new Ft;function _h(e,t,n,i,o){let r;n instanceof Bt?r=$r:r=fa,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new Gt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Gt,this.material=void 0,this.updatersWithAttributes=new Gt,this.attributes=new Gt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(_h.prototype.onMaterialChanged,this),this.subscriptions=new Gt,this.showsUpdated=new Gt,this.zIndex=i,this._asynchronous=o}_h.prototype.onMaterialChanged=function(){this.invalidated=!0};_h.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Bt&&t instanceof Bt?!0:l(t)&&t.equals(n)};_h.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!K.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};_h.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};_h.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new Wm({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===fa&&(this.material=er.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===fa&&(this.material=er.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};TV.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c-1;a--)c=s[a],d=c.id,u=this._updaters.get(d),u.entity===c?(pfe(this,u),bfe(this,e,u)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],d=c.id,u=this._updaters.get(d),pfe(this,u),u.destroy(),this._updaters.remove(d),this._subscriptions.get(d)(),this._subscriptions.remove(d);for(a=n.length-1;a>-1;a--)c=n[a],d=c.id,u=new Pv(c,this._scene),this._updaters.set(d,u),bfe(this,e,u),this._subscriptions.set(d,u.geometryChanged.addEventListener(vf._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let m=!0,p=this._batches,g=p.length;for(a=0;a-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var wv=vf;function Bl(e){Uc.initializeTerrainHeights(),Wm.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new mr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,Bl.defaultVisualizersCallback);let i=!1,o=new kl,r=new kl;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let d=0,u=n.length;dnew o(e,i))]};Object.defineProperties(Bl.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});Bl.prototype.isDestroyed=function(){return!1};Bl.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;tOet*d.maximumRadius?(f=_fe,h.normalize(m,f),h.negate(f,f),_=h.clone(h.UNIT_Z,FJ),x=h.cross(_,f,tU),h.magnitude(x)>W.EPSILON7&&(h.normalize(f,f),h.normalize(x,x),_=h.cross(f,x,FJ),h.normalize(_,_),p=!0)):h.equalsEpsilon(m,v,W.EPSILON7)||(_=_fe,h.normalize(b,_),h.normalize(R,R),x=h.cross(_,R,FJ),g&&(x=h.multiplyByScalar(x,-1,x)),h.equalsEpsilon(x,h.ZERO,W.EPSILON7)||(f=h.cross(x,_,tU),$.multiplyByVector(A,f,f),$.multiplyByVector(A,x,x),$.multiplyByVector(A,_,_),h.normalize(f,f),h.normalize(x,x),h.normalize(_,_),p=!0))}}l(e.boundingSphere)&&(m=e.boundingSphere.center);let C,V,L;i&&(C=h.clone(t.position,AJ),V=h.clone(t.direction,Tfe),L=h.clone(t.up,Sfe));let Z=ket,G;l(s)&&(G=s.getValue(c,Uet));let I=r.getValue(c,Det);if(a===wp.INERTIAL&&l(G))M.fromTranslationQuaternionRotationScale(m,G,h.ONE,Z);else if(a===wp.VELOCITY&&l(I)){let v=vt.rotationMatrixFromPositionVelocity(m,I,d,Bet);M.fromRotationTranslation(v,m,Z)}else a===wp.ENU||!p?vt.eastNorthUpToFixedFrame(m,d,Z):(Z[0]=f.x,Z[1]=f.y,Z[2]=f.z,Z[3]=0,Z[4]=x.x,Z[5]=x.y,Z[6]=x.z,Z[7]=0,Z[8]=_.x,Z[9]=_.y,Z[10]=_.z,Z[11]=0,Z[12]=m.x,Z[13]=m.y,Z[14]=m.z,Z[15]=0);t._setTransform(Z),i&&(h.clone(C,t.position),h.clone(V,t.direction),h.clone(L,t.up),h.cross(V,L,t.right))}if(n){let p=u===oe.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,p)}}function Av(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,ne.default),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._velocityProperty=new zb(e.position,!0),this._offset3D=new h}Object.defineProperties(Av,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});Av.defaultOffset3D=new h(-14e3,3500,3500);var nU=new nm,Het=new h;Av.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===oe.MORPHING)return;let r=this.entity,s=r.trackingReferenceFrame,a=r.position;if(!l(a))return;let c=this._velocityProperty,d=r.orientation,u=r!==this._lastEntity,m=o!==this._mode,p=n.camera,g=u||m,f=!0;if(u){let x=r.viewFrom,_=l(x);if(!_&&l(t)){nU.pitch=-W.PI_OVER_FOUR,nU.range=0;let C=a.getValue(e,Het);if(l(C)){let V=2-1/Math.max(1,h.magnitude(C)/i.maximumRadius);nU.pitch*=V}p.viewBoundingSphere(t,nU),this.boundingSphere=t,g=!1,f=!1}else(!_||!l(x.getValue(e,this._offset3D)))&&h.clone(Av._defaultOffset3D,this._offset3D)}else!m&&this._mode!==oe.SCENE2D&&h.clone(p.position,this._offset3D);this._lastEntity=r,this._mode=o,Yet(this,p,g,f,a,c,d,s,e,i)};var Mv=Av;var Jfi=T(S(),1);var bfi=T(S(),1);var Emi=T(S(),1);function lU(e){return dU(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function dU(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?dU(n):n),[])}var Cfe=[0,1,2,3].concat(...lU([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function fr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,d=e.stat_desc.max_length,u,m,p,g,f,x,_=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,u=o.heap_max+1;u<573;u++)m=o.heap[u],g=r[r[m*2+1]*2+1]+1,g>d&&(g=d,_++),r[m*2+1]=g,!(m>e.max_code)&&(o.bl_count[g]++,f=0,m>=c&&(f=a[m-c]),x=r[m*2],o.opt_len+=x*(g+f),s&&(o.static_len+=x*(s[m*2+1]+f)));if(_!==0){do{for(g=d-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[d]--,_-=2}while(_>0);for(g=d;g!==0;g--)for(m=o.bl_count[g];m!==0;)p=o.heap[--u],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),m--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,d,u,m;for(d=1;d<=15;d++)a[d]=c=c+s[d-1]<<1;for(u=0;u<=r;u++)m=o[u*2+1],m!==0&&(o[u*2]=n(a[m]++,m))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,d,u=-1,m;for(o.heap_len=0,o.heap_max=573,c=0;c=1;c--)o.pqdownheap(r,c);m=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),d=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=d,r[m*2]=r[c*2]+r[d*2],o.depth[m]=Math.max(o.depth[c],o.depth[d])+1,r[c*2+1]=r[d*2+1]=m,o.heap[1]=m++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}fr._length_code=[0,1,2,3,4,5,6,7].concat(...lU([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));fr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];fr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];fr.d_code=function(e){return e<256?Cfe[e]:Cfe[256+(e>>>7)]};fr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];fr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];fr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];fr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function Da(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var zet=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],Ket=lU([[144,8],[112,9],[24,7],[8,8]]);Da.static_ltree=dU(zet.map((e,t)=>[e,Ket[t]]));var Jet=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],Qet=lU([[30,5]]);Da.static_dtree=dU(Jet.map((e,t)=>[e,Qet[t]]));Da.static_l_desc=new Da(Da.static_ltree,fr.extra_lbits,257,286,15);Da.static_d_desc=new Da(Da.static_dtree,fr.extra_dbits,0,30,15);Da.static_bl_desc=new Da(null,fr.extra_blbits,0,19,7);var jet=9,qet=8;function wf(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var Lfe=0,aU=1,VT=2,Th=[new wf(0,0,0,0,Lfe),new wf(4,4,8,4,aU),new wf(4,5,16,8,aU),new wf(4,6,32,32,aU),new wf(4,4,16,16,VT),new wf(8,16,32,32,VT),new wf(8,16,128,128,VT),new wf(8,32,128,256,VT),new wf(32,128,258,1024,VT),new wf(32,258,258,4096,VT)],iU=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],im=0,oU=1,Nv=2,rU=3,$et=32,MJ=42,sU=113,kv=666,NJ=8,ett=0,kJ=1,ttt=2,Gr=3,cU=258,Ud=cU+Gr+1;function Vfe(e,t,n,i){let o=e[t*2],r=e[n*2];return o=3&&O[fr.bl_order[we]*2+1]===0;we--);return e.opt_len+=3*(we+1)+5+5+4,we}function Xe(we){e.pending_buf[e.pending++]=we}function Ie(we){Xe(we&255),Xe(we>>>8&255)}function Ae(we){Xe(we>>8&255),Xe(we&255&255)}function Ve(we,lt){let nt,et=lt;ee>16-et?(nt=we,q|=nt<>>16-ee,ee+=et-16):(q|=we<=8&&(Xe(q&255),q>>>=8,ee-=8)}function gt(){Ve(kJ<<1,3),Ne(256,Da.static_ltree),Ke(),1+z+10-ee<9&&(Ve(kJ<<1,3),Ne(256,Da.static_ltree),Ke()),z=7}function pt(we,lt){let nt,et,dt;if(e.dist_buf[J]=we,e.lc_buf[J]=lt&255,J++,we===0?F[lt*2]++:(te++,we--,F[(fr._length_code[lt]+256+1)*2]++,N[fr.d_code(we)*2]++),!(J&8191)&&b>2){for(nt=J*8,et=G-C,dt=0;dt<30;dt++)nt+=N[dt*2]*(5+fr.extra_dbits[dt]);if(nt>>>=3,te8?Ie(q):ee>0&&Xe(q&255),q=0,ee=0}function Ce(we,lt,nt){on(),z=8,nt&&(Ie(lt),Ie(~lt)),e.pending_buf.set(c.subarray(we,we+lt),e.pending),e.pending+=lt}function Re(we,lt,nt){Ve((ett<<1)+(nt?1:0),3),Ce(we,lt,!0)}function cn(we,lt,nt){let et,dt,Ot=0;b>0?(U.build_tree(e),Y.build_tree(e),Ot=Te(),et=e.opt_len+3+7>>>3,dt=e.static_len+3+7>>>3,dt<=et&&(et=dt)):et=dt=lt+5,lt+4<=et&&we!=-1?Re(we,lt,nt):dt==et?(Ve((kJ<<1)+(nt?1:0),3),St(Da.static_ltree,Da.static_dtree)):(Ve((ttt<<1)+(nt?1:0),3),$e(U.max_code+1,Y.max_code+1,Ot+1),St(F,N)),_e(),nt&&on()}function rn(we){cn(C>=0?C:-1,G-C,we),C=G,t.flush_pending()}function jt(){let we,lt,nt,et;do{if(et=d-v-G,et===0&&G===0&&v===0)et=r;else if(et==-1)et--;else if(G>=r+r-Ud){c.set(c.subarray(r,r+r),0),I-=r,G-=r,C-=r,we=g,nt=we;do lt=m[--nt]&65535,m[nt]=lt>=r?lt-r:0;while(--we!==0);we=r,nt=we;do lt=u[--nt]&65535,u[nt]=lt>=r?lt-r:0;while(--we!==0);et+=r}if(t.avail_in===0)return;we=t.read_buf(c,G+v,et),v+=we,v>=Gr&&(p=c[G]&255,p=(p<<_^c[G+1]&255)&x)}while(vi-5&&(lt=i-5);;){if(v<=1){if(jt(),v===0&&we==0)return im;if(v===0)break}if(G+=v,v=0,nt=C+lt,(G===0||G>=nt)&&(v=G-nt,G=nt,rn(!1),t.avail_out===0)||G-C>=r-Ud&&(rn(!1),t.avail_out===0))return im}return rn(we==4),t.avail_out===0?we==4?Nv:im:we==4?rU:oU}function je(we){let lt=w,nt=G,et,dt,Ot=P,Vn=G>r-Ud?G-(r-Ud):0,ei=X,to=a,Ir=G+cU,Ao=c[nt+Ot-1],Vs=c[nt+Ot];P>=E&&(lt>>=2),ei>v&&(ei=v);do if(et=we,!(c[et+Ot]!=Vs||c[et+Ot-1]!=Ao||c[et]!=c[nt]||c[++et]!=c[nt+1])){nt+=2,et++;do;while(c[++nt]==c[++et]&&c[++nt]==c[++et]&&c[++nt]==c[++et]&&c[++nt]==c[++et]&&c[++nt]==c[++et]&&c[++nt]==c[++et]&&c[++nt]==c[++et]&&c[++nt]==c[++et]&&ntOt){if(I=we,Ot=dt,dt>=ei)break;Ao=c[nt+Ot-1],Vs=c[nt+Ot]}}while((we=u[we&to]&65535)>Vn&&--lt!==0);return Ot<=v?Ot:v}function ds(we){let lt=0,nt;for(;;){if(v=Gr&&(p=(p<<_^c[G+(Gr-1)]&255)&x,lt=m[p]&65535,u[G&a]=m[p],m[p]=G),lt!==0&&(G-lt&65535)<=r-Ud&&R!=2&&(V=je(lt)),V>=Gr)if(nt=pt(G-I,V-Gr),v-=V,V<=A&&v>=Gr){V--;do G++,p=(p<<_^c[G+(Gr-1)]&255)&x,lt=m[p]&65535,u[G&a]=m[p],m[p]=G;while(--V!==0);G++}else G+=V,V=0,p=c[G]&255,p=(p<<_^c[G+1]&255)&x;else nt=pt(0,c[G]&255),v--,G++;if(nt&&(rn(!1),t.avail_out===0))return im}return rn(we==4),t.avail_out===0?we==4?Nv:im:we==4?rU:oU}function Kr(we){let lt=0,nt,et;for(;;){if(v=Gr&&(p=(p<<_^c[G+(Gr-1)]&255)&x,lt=m[p]&65535,u[G&a]=m[p],m[p]=G),P=V,L=I,V=Gr-1,lt!==0&&P4096)&&(V=Gr-1)),P>=Gr&&V<=P){et=G+v-Gr,nt=pt(G-1-L,P-Gr),v-=P-1,P-=2;do++G<=et&&(p=(p<<_^c[G+(Gr-1)]&255)&x,lt=m[p]&65535,u[G&a]=m[p],m[p]=G);while(--P!==0);if(Z=0,V=Gr-1,G++,nt&&(rn(!1),t.avail_out===0))return im}else if(Z!==0){if(nt=pt(0,c[G-1]&255),nt&&rn(!1),G++,v--,t.avail_out===0)return im}else Z=1,G++,v--}return Z!==0&&(nt=pt(0,c[G-1]&255),Z=0),rn(we==4),t.avail_out===0?we==4?Nv:im:we==4?rU:oU}function Ga(we){return we.total_in=we.total_out=0,we.msg=null,e.pending=0,e.pending_out=0,n=sU,o=0,ae(),pe(),0}e.deflateInit=function(we,lt,nt,et,dt,Ot){return et||(et=NJ),dt||(dt=qet),Ot||(Ot=0),we.msg=null,lt==-1&&(lt=6),dt<1||dt>jet||et!=NJ||nt<9||nt>15||lt<0||lt>9||Ot<0||Ot>2?-2:(we.dstate=e,s=nt,r=1<9||nt<0||nt>2?-2:(Th[b].func!=Th[lt].func&&we.total_in!==0&&(et=we.deflate(1)),b!=lt&&(b=lt,A=Th[b].max_lazy,E=Th[b].good_length,X=Th[b].nice_length,w=Th[b].max_chain),R=nt,et)},e.deflateSetDictionary=function(we,lt,nt){let et=nt,dt,Ot=0;if(!lt||n!=MJ)return-2;if(etr-Ud&&(et=r-Ud,Ot=nt-et),c.set(lt.subarray(Ot,Ot+et),0),G=et,C=et,p=c[0]&255,p=(p<<_^c[1]&255)&x,dt=0;dt<=et-Gr;dt++)p=(p<<_^c[dt+(Gr-1)]&255)&x,u[dt&a]=m[p],m[p]=dt;return 0},e.deflate=function(we,lt){let nt,et,dt,Ot,Vn;if(lt>4||lt<0)return-2;if(!we.next_out||!we.next_in&&we.avail_in!==0||n==kv&<!=4)return we.msg=iU[4],-2;if(we.avail_out===0)return we.msg=iU[7],-5;if(t=we,Ot=o,o=lt,n==MJ&&(et=NJ+(s-8<<4)<<8,dt=(b-1&255)>>1,dt>3&&(dt=3),et|=dt<<6,G!==0&&(et|=$et),et+=31-et%31,n=sU,Ae(et)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&<<=Ot&<!=4)return t.msg=iU[7],-5;if(n==kv&&t.avail_in!==0)return we.msg=iU[7],-5;if(t.avail_in!==0||v!==0||lt!=0&&n!=kv){switch(Vn=-1,Th[b].func){case Lfe:Vn=ji(lt);break;case aU:Vn=ds(lt);break;case VT:Vn=Kr(lt);break;default:}if((Vn==Nv||Vn==rU)&&(n=kv),Vn==im||Vn==Nv)return t.avail_out===0&&(o=-1),0;if(Vn==oU){if(lt==1)gt();else if(Re(0,0,!1),lt==3)for(nt=0;ntn&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function Zfe(e){let t=this,n=new Rfe,i=itt(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let d,u,m=0,p=0,g=0,f=[];if(a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,d=n.deflate(o),d!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?f.push(new Uint8Array(r)):f.push(r.subarray(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=m&&(c(n.next_in_index),m=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return f.length>1?(u=new Uint8Array(g),f.forEach(function(x){u.set(x,p),p+=x.length})):u=f[0]?new Uint8Array(f[0]):new Uint8Array,u}},t.flush=function(){let a,c,d=0,u=0,m=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&m.push(r.slice(0,n.next_out_index)),u+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(u),m.forEach(function(p){c.set(p,d),d+=p.length}),c}}function itt(e){return e+5*(Math.floor(e/16383)+1)}var Xmi=T(S(),1);var Dd=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],zfe=1440,ott=0,rtt=4,stt=9,att=5,ctt=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],ltt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],dtt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],utt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],mtt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],htt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],dy=15;function OJ(){let e=this,t,n,i,o,r,s;function a(d,u,m,p,g,f,x,_,C,V,L){let Z,G,I,v,P,w,A,b,R,E,X,F,N,O,U;E=0,P=m;do i[d[u+E]]++,E++,P--;while(P!==0);if(i[0]==m)return x[0]=-1,_[0]=0,0;for(b=_[0],w=1;w<=dy&&i[w]===0;w++);for(A=w,bP&&(b=P),_[0]=b,O=1<F+b;){if(v++,F+=b,U=I-F,U=U>b?b:U,(G=1<<(w=A-F))>Z+1&&(G-=Z+1,N=A,wzfe)return-3;r[v]=X=V[0],V[0]+=U,v!==0?(s[v]=P,o[0]=w,o[1]=b,w=P>>>F-b,o[2]=X-r[v-1]-w,C.set(o,(r[v-1]+w)*3)):x[0]=X}for(o[1]=A-F,E>=m?o[0]=192:L[E]>>F;w>>=1)P^=w;for(P^=w,R=(1<257?(V==-3?C.msg="oversubscribed distance tree":V==-5?(C.msg="incomplete distance tree",V=-3):V!=-4&&(C.msg="empty distance tree with lengths",V=-3),V):0)}}OJ.inflate_trees_fixed=function(e,t,n,i){return e[0]=stt,t[0]=att,n[0]=ctt,i[0]=ltt,0};var uU=0,Gfe=1,Efe=2,Ife=3,Xfe=4,Wfe=5,Pfe=6,UJ=7,vfe=8,mU=9;function ftt(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,d=0,u=0,m,p=0,g,f=0;function x(_,C,V,L,Z,G,I,v){let P,w,A,b,R,E,X,F,N,O,U,Y,k,H,J,te;X=v.next_in_index,F=v.avail_in,R=I.bitb,E=I.bitk,N=I.write,O=N>=w[te+1],E-=w[te+1],I.win[N++]=w[te+2],O--;continue}do{if(R>>=w[te+1],E-=w[te+1],b&16){for(b&=15,k=w[te+2]+(R&Dd[b]),R>>=b,E-=b;E<15;)F--,R|=(v.read_byte(X++)&255)<>=w[te+1],E-=w[te+1],b&16){for(b&=15;E>=b,E-=b,O-=k,N>=H)J=N-H,N-J>0&&2>N-J?(I.win[N++]=I.win[J++],I.win[N++]=I.win[J++],k-=2):(I.win.set(I.win.subarray(J,J+2),N),N+=2,J+=2,k-=2);else{J=N-H;do J+=I.end;while(J<0);if(b=I.end-J,k>b){if(k-=b,N-J>0&&b>N-J)do I.win[N++]=I.win[J++];while(--b!==0);else I.win.set(I.win.subarray(J,J+b),N),N+=b,J+=b,b=0;J=0}}if(N-J>0&&k>N-J)do I.win[N++]=I.win[J++];while(--k!==0);else I.win.set(I.win.subarray(J,J+k),N),N+=k,J+=k,k=0;break}else if(!(b&64))P+=w[te+2],P+=R&Dd[b],te=(A+P)*3,b=w[te];else return v.msg="invalid distance code",k=v.avail_in-F,k=E>>3>3:k,F+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=F,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,-3;while(!0);break}if(b&64)return b&32?(k=v.avail_in-F,k=E>>3>3:k,F+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=F,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,1):(v.msg="invalid literal/length code",k=v.avail_in-F,k=E>>3>3:k,F+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=F,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,-3);if(P+=w[te+2],P+=R&Dd[b],te=(A+P)*3,(b=w[te])===0){R>>=w[te+1],E-=w[te+1],I.win[N++]=w[te+2],O--;break}}while(!0)}while(O>=258&&F>=10);return k=v.avail_in-F,k=E>>3>3:k,F+=k,X-=k,E-=k<<3,I.bitb=R,I.bitk=E,v.avail_in=F,v.total_in+=X-v.next_in_index,v.next_in_index=X,I.write=N,0}e.init=function(_,C,V,L,Z,G){t=uU,d=_,u=C,m=V,p=L,g=Z,f=G,i=null},e.proc=function(_,C,V){let L,Z,G,I=0,v=0,P=0,w,A,b,R;for(P=C.next_in_index,w=C.avail_in,I=_.bitb,v=_.bitk,A=_.write,b=A<_.read?_.read-A-1:_.end-A;;)switch(t){case uU:if(b>=258&&w>=10&&(_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,V=x(d,u,m,p,g,f,_,C),P=C.next_in_index,w=C.avail_in,I=_.bitb,v=_.bitk,A=_.write,b=A<_.read?_.read-A-1:_.end-A,V!=0)){t=V==1?UJ:mU;break}r=d,i=m,o=p,t=Gfe;case Gfe:for(L=r;v>>=i[Z+1],v-=i[Z+1],G=i[Z],G===0){s=i[Z+2],t=Pfe;break}if(G&16){a=G&15,n=i[Z+2],t=Efe;break}if(!(G&64)){r=G,o=Z/3+i[Z+2];break}if(G&32){t=UJ;break}return t=mU,C.msg="invalid literal/length code",V=-3,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V);case Efe:for(L=a;v>=L,v-=L,r=u,i=g,o=f,t=Ife;case Ife:for(L=r;v>=i[Z+1],v-=i[Z+1],G=i[Z],G&16){a=G&15,c=i[Z+2],t=Xfe;break}if(!(G&64)){r=G,o=Z/3+i[Z+2];break}return t=mU,C.msg="invalid distance code",V=-3,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V);case Xfe:for(L=a;v>=L,v-=L,t=Wfe;case Wfe:for(R=A-c;R<0;)R+=_.end;for(;n!==0;){if(b===0&&(A==_.end&&_.read!==0&&(A=0,b=A<_.read?_.read-A-1:_.end-A),b===0&&(_.write=A,V=_.inflate_flush(C,V),A=_.write,b=A<_.read?_.read-A-1:_.end-A,A==_.end&&_.read!==0&&(A=0,b=A<_.read?_.read-A-1:_.end-A),b===0)))return _.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V);_.win[A++]=_.win[R++],b--,R==_.end&&(R=0),n--}t=uU;break;case Pfe:if(b===0&&(A==_.end&&_.read!==0&&(A=0,b=A<_.read?_.read-A-1:_.end-A),b===0&&(_.write=A,V=_.inflate_flush(C,V),A=_.write,b=A<_.read?_.read-A-1:_.end-A,A==_.end&&_.read!==0&&(A=0,b=A<_.read?_.read-A-1:_.end-A),b===0)))return _.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V);V=0,_.win[A++]=s,b--,t=uU;break;case UJ:if(v>7&&(v-=8,w++,P--),_.write=A,V=_.inflate_flush(C,V),A=_.write,b=A<_.read?_.read-A-1:_.end-A,_.read!=_.write)return _.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V);t=vfe;case vfe:return V=1,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V);case mU:return V=-3,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V);default:return V=-2,_.bitb=I,_.bitk=v,C.avail_in=w,C.total_in+=P-C.next_in_index,C.next_in_index=P,_.write=A,_.inflate_flush(C,V)}},e.free=function(){}}var wfe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],VV=0,DJ=1,Ffe=2,Afe=3,Mfe=4,Nfe=5,hU=6,fU=7,kfe=8,LT=9;function ptt(e,t){let n=this,i=VV,o=0,r=0,s=0,a,c=[0],d=[0],u=new ftt,m=0,p=new Int32Array(zfe*3),g=0,f=new OJ;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(x,_){_&&(_[0]=g),i==hU&&u.free(x),i=VV,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(x,_){let C,V,L;return V=x.next_out_index,L=n.read,C=(L<=n.write?n.write:n.end)-L,C>x.avail_out&&(C=x.avail_out),C!==0&&_==-5&&(_=0),x.avail_out-=C,x.total_out+=C,x.next_out.set(n.win.subarray(L,L+C),V),V+=C,L+=C,L==n.end&&(L=0,n.write==n.end&&(n.write=0),C=n.write-L,C>x.avail_out&&(C=x.avail_out),C!==0&&_==-5&&(_=0),x.avail_out-=C,x.total_out+=C,x.next_out.set(n.win.subarray(L,L+C),V),V+=C,L+=C),x.next_out_index=V,n.read=L,_},n.proc=function(x,_){let C,V,L,Z,G,I,v,P;for(Z=x.next_in_index,G=x.avail_in,V=n.bitb,L=n.bitk,I=n.write,v=I>>1){case 0:V>>>=3,L-=3,C=L&7,V>>>=C,L-=C,i=DJ;break;case 1:w=[],A=[],b=[[]],R=[[]],OJ.inflate_trees_fixed(w,A,b,R),u.init(w[0],A[0],b[0],0,R[0],0),V>>>=3,L-=3,i=hU;break;case 2:V>>>=3,L-=3,i=Afe;break;case 3:return V>>>=3,L-=3,i=LT,x.msg="invalid block type",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_)}break;case DJ:for(;L<32;){if(G!==0)_=0;else return n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);G--,V|=(x.read_byte(Z++)&255)<>>16&65535)!=(V&65535))return i=LT,x.msg="invalid stored block lengths",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);o=V&65535,V=L=0,i=o!==0?Ffe:m!==0?fU:VV;break;case Ffe:if(G===0||v===0&&(I==n.end&&n.read!==0&&(I=0,v=IG&&(C=G),C>v&&(C=v),n.win.set(x.read_buf(Z,C),I),Z+=C,G-=C,I+=C,v-=C,(o-=C)!==0)break;i=m!==0?fU:VV;break;case Afe:for(;L<14;){if(G!==0)_=0;else return n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);G--,V|=(x.read_byte(Z++)&255)<29||(C>>5&31)>29)return i=LT,x.msg="too many length or distance symbols",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);if(C=258+(C&31)+(C>>5&31),!a||a.length>>=14,L-=14,s=0,i=Mfe;case Mfe:for(;s<4+(r>>>10);){for(;L<3;){if(G!==0)_=0;else return n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);G--,V|=(x.read_byte(Z++)&255)<>>=3,L-=3}for(;s<19;)a[wfe[s++]]=0;if(c[0]=7,C=f.inflate_trees_bits(a,c,d,p,x),C!=0)return _=C,_==-3&&(a=null,i=LT),n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);s=0,i=Nfe;case Nfe:for(;C=r,!(s>=258+(C&31)+(C>>5&31));){let O,U;for(C=c[0];L>>=C,L-=C,a[s++]=U;else{for(P=U==18?7:U-14,O=U==18?11:3;L>>=C,L-=C,O+=V&Dd[P],V>>>=P,L-=P,P=s,C=r,P+O>258+(C&31)+(C>>5&31)||U==16&&P<1)return a=null,i=LT,x.msg="invalid bit length repeat",_=-3,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);U=U==16?a[P-1]:0;do a[P++]=U;while(--O!==0);s=P}}if(d[0]=-1,E=[],X=[],F=[],N=[],E[0]=9,X[0]=6,C=r,C=f.inflate_trees_dynamic(257+(C&31),1+(C>>5&31),a,E,X,F,N,p,x),C!=0)return C==-3&&(a=null,i=LT),_=C,n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,n.inflate_flush(x,_);u.init(E[0],X[0],p,F[0],p,N[0]),i=hU;case hU:if(n.bitb=V,n.bitk=L,x.avail_in=G,x.total_in+=Z-x.next_in_index,x.next_in_index=Z,n.write=I,(_=u.proc(n,x,_))!=1)return n.inflate_flush(x,_);if(_=0,u.free(x),Z=x.next_in_index,G=x.avail_in,V=n.bitb,L=n.bitk,I=n.write,v=I15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new ptt(n,1<>4)+8>s.wbits){s.mode=uy,n.msg="invalid win size",s.marker=5;break}s.mode=Ufe;case Ufe:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=uy,n.msg="incorrect header check",s.marker=5;break}if(!(r&btt)){s.mode=Uv;break}s.mode=Dfe;case Dfe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=Bfe;case Bfe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=Ofe;case Ofe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=Yfe;case Yfe:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=BJ,2);case BJ:return s.mode=uy,n.msg="need dictionary",s.marker=0,-2;case Uv:if(o=s.blocks.proc(n,o),o==-3){s.mode=uy,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=Hfe;case Hfe:return n.avail_in=0,1;case uy:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=BJ)return-2;let a=n.istate;return s>=1<0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return d.length>1?(m=new Uint8Array(f),d.forEach(function(x){m.set(x,g),g+=x.length})):m=d[0]?new Uint8Array(d[0]):new Uint8Array,m}},t.flush=function(){n.inflateEnd()}}var kmi=T(S(),1);var Pmi=T(S(),1);var LV="/",YJ=new Date(2107,11,31),HJ=new Date(1980,0,1),$i=void 0,Bd="undefined",e0="function";var wmi=T(S(),1);var Dv=class{constructor(t){return class extends TransformStream{constructor(n,i){let o=new t(i);super({transform(r,s){s.enqueue(o.append(r))},flush(r){let s=o.flush();s&&r.enqueue(s)}})}}}};var Ttt=64,Qfe=2;try{typeof navigator!=Bd&&navigator.hardwareConcurrency&&(Qfe=navigator.hardwareConcurrency)}catch{}var Stt={chunkSize:512*1024,maxWorkers:Qfe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:$i,CompressionStreamNative:typeof CompressionStream!=Bd&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=Bd&&DecompressionStream},hy=Object.assign({},Stt);function Bv(){return hy}function pU(e){return Math.max(e.chunkSize,Ttt)}function RV(e){let{baseURL:t,chunkSize:n,maxWorkers:i,terminateWorkerTimeout:o,useCompressionStream:r,useWebWorkers:s,Deflate:a,Inflate:c,CompressionStream:d,DecompressionStream:u,workerScripts:m}=e;if(my("baseURL",t),my("chunkSize",n),my("maxWorkers",i),my("terminateWorkerTimeout",o),my("useCompressionStream",r),my("useWebWorkers",s),a&&(hy.CompressionStream=new Dv(a)),c&&(hy.DecompressionStream=new Dv(c)),my("CompressionStream",d),my("DecompressionStream",u),m!==$i){let{deflate:p,inflate:g}=m;if((p||g)&&(hy.workerScripts||(hy.workerScripts={})),p){if(!Array.isArray(p))throw new Error("workerScripts.deflate must be an array");hy.workerScripts.deflate=p}if(g){if(!Array.isArray(g))throw new Error("workerScripts.inflate must be an array");hy.workerScripts.inflate=g}}}function my(e,t){t!==$i&&(hy[e]=t)}var Dmi=T(S(),1);var vhi=T(S(),1);var Lhi=T(S(),1);var Shi=T(S(),1);var zmi=T(S(),1);var Omi=T(S(),1),jfe=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;jfe[e]=t}var t0=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i>>8^jfe[(n^t[i])&255];this.crc=n}get(){return~this.crc}};var Ov=class extends TransformStream{constructor(){let t,n=new t0;super({transform(i,o){n.append(i),o.enqueue(i)},flush(){let i=new Uint8Array(4);new DataView(i.buffer).setUint32(0,n.get()),t.value=i}}),t=this}};var mhi=T(S(),1);var Qmi=T(S(),1);function ZV(e){if(typeof TextEncoder==Bd){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n0&&t&&(e[n-1]=rl.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=rl.getPartial(o);return i.push(rl.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},Yv={bytes:{fromBits(e){let n=rl.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){let e=this,t=e._buffer,n=e._h;t=rl.concat(t,[rl.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i}_S(e,t){return t<>>32-e}_block(e){let t=this,n=t._h,i=Array(80);for(let d=0;d<16;d++)i[d]=e[d];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let d=0;d<=79;d++){d>=16&&(i[d]=t._S(1,i[d-3]^i[d-8]^i[d-14]^i[d-16]));let u=t._S(5,o)+t._f(d,r,s,a)+c+i[d]+t._key[Math.floor(d/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=u}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var zJ={};zJ.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let d=s[r-1];(r%o===0||o===8&&r%o===4)&&(d=n[d>>>24]<<24^n[d>>16&255]<<16^n[d>>8&255]<<8^n[d&255],r%o===0&&(d=d<<8^d>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^d}for(let d=0;r;d++,r--){let u=s[d&3?r:r-4];r<=4||d<4?a[d]=u:a[d]=i[0][n[u>>>24]]^i[1][n[u>>16&255]]^i[2][n[u>>8&255]]^i[3][n[u&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,d;for(let u=0;u<256;u++)r[(o[u]=u<<1^(u>>7)*283)^u]=u;for(let u=s=0;!n[u];u^=a||1,s=r[s]||1){let m=s^s<<1^s<<2^s<<3^s<<4;m=m>>8^m&255^99,n[u]=m,i[m]=u,d=o[c=o[a=o[u]]];let p=d*16843009^c*65537^a*257^u*16843008,g=o[m]*257^m*16843008;for(let f=0;f<4;f++)e[f][u]=g=g<<24^g>>>8,t[f][m]=p=p<<24^p>>>8}for(let u=0;u<5;u++)e[u]=e[u].slice(0),t[u]=t[u].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],d=r[3],u=r[4],m=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],f=e[t?1:3]^n[3],x=4,_,C,V;for(let L=0;L>>24]^a[p>>16&255]^c[g>>8&255]^d[f&255]^n[x],C=s[p>>>24]^a[g>>16&255]^c[f>>8&255]^d[m&255]^n[x+1],V=s[g>>>24]^a[f>>16&255]^c[m>>8&255]^d[p&255]^n[x+2],f=s[f>>>24]^a[m>>16&255]^c[p>>8&255]^d[g&255]^n[x+3],x+=4,m=_,p=C,g=V;for(let L=0;L<4;L++)o[t?3&-L:L]=u[m>>>24]<<24^u[p>>16&255]<<16^u[g>>8&255]<<8^u[f&255]^n[x++],_=m,m=p,p=g,g=f,f=_;return o}};var $fe={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=rl.bitLength(t);for(let r=0;r>5)+1<<2,r,s,a,c,d,u=new ArrayBuffer(o),m=new DataView(u),p=0,g=rl;for(t=Yv.bytes.toBits(t),d=1;p<(o||1);d++){for(r=s=e.encrypt(g.concat(t,[d])),a=1;ao&&(e=new n().update(e).finalize());for(let r=0;rthis.resolveReady=s),password:spe(t,n),signed:i,strength:o-1,pending:new Uint8Array})},async transform(s,a){let c=this,{password:d,strength:u,resolveReady:m,ready:p}=c;d?(await Ptt(c,u,d,om(s,0,zv[u]+2)),s=om(s,zv[u]+2),r?a.error(new Error(n0)):m()):await p;let g=new Uint8Array(s.length-by-(s.length-by)%GV);a.enqueue(ope(c,s,g,0,by,!0))},async flush(s){let{signed:a,ctr:c,hmac:d,pending:u,ready:m}=this;if(d&&c){await m;let p=om(u,0,u.length-by),g=om(u,u.length-by),f=new Uint8Array;if(p.length){let x=Jv(Ff,p);d.update(x);let _=c.update(x);f=Kv(Ff,_)}if(a){let x=om(Kv(Ff,d.digest()),0,by);for(let _=0;_this.resolveReady=r),password:spe(t,n),strength:i-1,pending:new Uint8Array})},async transform(r,s){let a=this,{password:c,strength:d,resolveReady:u,ready:m}=a,p=new Uint8Array;c?(p=await vtt(a,d,c),u()):await m;let g=new Uint8Array(p.length+r.length-r.length%GV);g.set(p,0),s.enqueue(ope(a,r,g,p.length,0))},async flush(r){let{ctr:s,hmac:a,pending:c,ready:d}=this;if(a&&s){await d;let u=new Uint8Array;if(c.length){let m=s.update(Jv(Ff,c));a.update(m),u=Kv(Ff,m)}o.signature=Kv(Ff,a.digest()).slice(0,by),r.enqueue(QJ(u,o.signature))}}}),o=this}};function ope(e,t,n,i,o,r){let{ctr:s,hmac:a,pending:c}=e,d=t.length-o;c.length&&(t=QJ(c,t),n=Att(n,d-d%GV));let u;for(u=0;u<=d-GV;u+=GV){let m=Jv(Ff,om(t,u,u+GV));r&&a.update(m);let p=s.update(m);r||a.update(p),n.set(Kv(Ff,p),u+i)}return e.pending=om(t,u),n}async function Ptt(e,t,n,i){let o=await rpe(e,t,n,om(i,0,zv[t])),r=om(i,zv[t]);if(o[0]!=r[0]||o[1]!=r[1])throw new Error(py)}async function vtt(e,t,n){let i=bU(new Uint8Array(zv[t])),o=await rpe(e,t,n,i);return QJ(i,o)}async function rpe(e,t,n,i){e.password=null;let o=await wtt(Vtt,n,Ztt,!1,Gtt),r=await Ftt(Object.assign({salt:i},JJ),o,8*(Hv[t]*2+2)),s=new Uint8Array(r),a=Jv(Ff,om(s,0,Hv[t])),c=Jv(Ff,om(s,Hv[t],Hv[t]*2)),d=om(s,Hv[t]*2);return Object.assign(e,{keys:{key:a,authentication:c,passwordVerification:d},ctr:new Xtt(new Itt(a),Array.from(Ett)),hmac:new Wtt(c)}),d}async function wtt(e,t,n,i,o){if(epe)try{return await Qv.importKey(e,t,n,i,o)}catch{return epe=!1,fy.importKey(t)}else return fy.importKey(t)}async function Ftt(e,t,n){if(tpe)try{return await Qv.deriveBits(e,t,n)}catch{return tpe=!1,fy.pbkdf2(t,e.salt,JJ.iterations,n)}else return fy.pbkdf2(t,e.salt,JJ.iterations,n)}function spe(e,t){return t===$i?ZV(e):t}function QJ(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Att(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function om(e,t,n){return e.subarray(t,n)}function Kv(e,t){return e.fromBits(t)}function Jv(e,t){return e.toBits(t)}var bhi=T(S(),1);var EV=12,_U=class extends TransformStream{constructor({password:t,passwordVerification:n,checkPasswordOnly:i}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),dpe(this,t)},transform(o,r){let s=this;if(s.password){let a=ape(s,o.subarray(0,EV));if(s.password=null,a[EV-1]!=s.passwordVerification)throw new Error(py);o=o.subarray(EV)}i?r.error(new Error(n0)):r.enqueue(ape(s,o))}})}},TU=class extends TransformStream{constructor({password:t,passwordVerification:n}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),dpe(this,t)},transform(i,o){let r=this,s,a;if(r.password){r.password=null;let c=bU(new Uint8Array(EV));c[EV-1]=r.passwordVerification,s=new Uint8Array(i.length+c.length),s.set(cpe(r,c),0),a=EV}else s=new Uint8Array(i.length),a=0;s.set(cpe(r,i),a),o.enqueue(s)}})}};function ape(e,t){let n=new Uint8Array(t.length);for(let i=0;i>>24]),o=~e.crcKey2.get(),e.keys=[n,i,o]}function upe(e){let t=e.keys[2]|2;return mpe(Math.imul(t,t^1)>>>8)}function mpe(e){return e&255}function lpe(e){return e&4294967295}var hpe="deflate-raw",SU=class extends TransformStream{constructor(t,{chunkSize:n,CompressionStream:i,CompressionStreamNative:o}){super({});let{compressed:r,encrypted:s,useCompressionStream:a,zipCrypto:c,signed:d,level:u}=t,m=this,p,g,f=fpe(super.readable);(!s||c)&&d&&(p=new Ov,f=Af(f,p)),r&&(f=bpe(f,a,{level:u,chunkSize:n},o,i)),s&&(c?f=Af(f,new TU(t)):(g=new yU(t),f=Af(f,g))),ppe(m,f,()=>{let x;s&&!c&&(x=g.signature),(!s||c)&&d&&(x=new DataView(p.value.buffer).getUint32(0)),m.signature=x})}},CU=class extends TransformStream{constructor(t,{chunkSize:n,DecompressionStream:i,DecompressionStreamNative:o}){super({});let{zipCrypto:r,encrypted:s,signed:a,signature:c,compressed:d,useCompressionStream:u}=t,m,p,g=fpe(super.readable);s&&(r?g=Af(g,new _U(t)):(p=new gU(t),g=Af(g,p))),d&&(g=bpe(g,u,{chunkSize:n},o,i)),(!s||r)&&a&&(m=new Ov,g=Af(g,m)),ppe(this,g,()=>{if((!s||r)&&a){let f=new DataView(m.value.buffer);if(c!=f.getUint32(0,!1))throw new Error(RT)}})}};function fpe(e){return Af(e,new TransformStream({transform(t,n){t&&t.length&&n.enqueue(t)}}))}function ppe(e,t,n){t=Af(t,new TransformStream({flush:n})),Object.defineProperty(e,"readable",{get(){return t}})}function bpe(e,t,n,i,o){try{let r=t&&i?i:o;e=Af(e,new r(hpe,n))}catch{if(t)try{e=Af(e,new o(hpe,n))}catch{return e}else return e}return e}function Af(e,t){return e.pipeThrough(t)}var gpe="message",ype="start",xpe="pull",qJ="data",_pe="ack",$J="close",RU="deflate",ZU="inflate";var VU=class extends TransformStream{constructor(t,n){super({});let i=this,{codecType:o}=t,r;o.startsWith(RU)?r=SU:o.startsWith(ZU)&&(r=CU);let s=0,a=0,c=new r(t,n),d=super.readable,u=new TransformStream({transform(p,g){p&&p.length&&(a+=p.length,g.enqueue(p))},flush(){Object.assign(i,{inputSize:a})}}),m=new TransformStream({transform(p,g){p&&p.length&&(s+=p.length,g.enqueue(p))},flush(){let{signature:p}=c;Object.assign(i,{signature:p,outputSize:s,inputSize:a})}});Object.defineProperty(i,"readable",{get(){return d.pipeThrough(u).pipeThrough(c).pipeThrough(m)}})}},LU=class extends TransformStream{constructor(t){let n;super({transform:i,flush(o){n&&n.length&&o.enqueue(n)}});function i(o,r){if(n){let s=new Uint8Array(n.length+o.length);s.set(n),s.set(o,n.length),o=s,n=null}o.length>t?(r.enqueue(o.slice(0,t)),i(o.slice(t),r)):n=o}}};var Ehi=T(S(),1);var Cpe=typeof Worker!=Bd;var IV=class{constructor(t,{readable:n,writable:i},{options:o,config:r,streamOptions:s,useWebWorkers:a,transferStreams:c,scripts:d},u){let{signal:m}=s;return Object.assign(t,{busy:!0,readable:n.pipeThrough(new LU(r.chunkSize)).pipeThrough(new tQ(n,s),{signal:m}),writable:i,options:Object.assign({},o),scripts:d,transferStreams:c,terminate(){return new Promise(p=>{let{worker:g,busy:f}=t;g?(f?t.resolveTerminated=p:(g.terminate(),p()),t.interface=null):p()})},onTaskFinished(){let{resolveTerminated:p}=t;p&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),p()),t.busy=!1,u(t)}}),(a&&Cpe?Mtt:Vpe)(t,r)}},tQ=class extends TransformStream{constructor(t,{onstart:n,onprogress:i,size:o,onend:r}){let s=0;super({async start(){n&&await eQ(n,o)},async transform(a,c){s+=a.length,i&&await eQ(i,s,o),c.enqueue(a)},async flush(){t.size=s,r&&await eQ(r,s)}})}};async function eQ(e,...t){try{await e(...t)}catch{}}function Vpe(e,t){return{run:()=>Ntt(e,t)}}function Mtt(e,t){let{baseURL:n,chunkSize:i}=t;if(!e.interface){let o;try{o=Dtt(e.scripts[0],n,e)}catch{return Cpe=!1,Vpe(e,t)}Object.assign(e,{worker:o,interface:{run:()=>ktt(e,{chunkSize:i})}})}return e.interface}async function Ntt({options:e,readable:t,writable:n,onTaskFinished:i},o){try{let r=new VU(e,o);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});let{signature:s,inputSize:a,outputSize:c}=r;return{signature:s,inputSize:a,outputSize:c}}finally{i()}}async function ktt(e,t){let n,i,o=new Promise((p,g)=>{n=p,i=g});Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:o});let{readable:r,options:s,scripts:a}=e,{writable:c,closed:d}=Utt(e.writable),u=GU({type:ype,scripts:a.slice(1),options:s,config:t,readable:r,writable:c},e);u||Object.assign(e,{reader:r.getReader(),writer:c.getWriter()});let m=await o;return u||await c.getWriter().close(),await d,m}function Utt(e){let t,n=new Promise(o=>t=o);return{writable:new WritableStream({async write(o){let r=e.getWriter();await r.ready,await r.write(o),r.releaseLock()},close(){t()},abort(o){return e.getWriter().abort(o)}}),closed:n}}var Tpe=!0,Spe=!0;function Dtt(e,t,n){let i={type:"module"},o,r;typeof e==e0&&(e=e());try{o=new URL(e,t)}catch{o=e}if(Tpe)try{r=new Worker(o)}catch{Tpe=!1,r=new Worker(o,i)}else r=new Worker(o,i);return r.addEventListener(gpe,s=>Btt(s,n)),r}function GU(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:o}){try{let{value:r,readable:s,writable:a}=e,c=[];if(r&&(r.byteLength!C.busy);if(_)return Rpe(_),new IV(_,e,t,x);if(ZT.lengthnQ.push({resolve:C,stream:e,workerOptions:t}))}function x(_){if(nQ.length){let[{resolve:C,stream:V,workerOptions:L}]=nQ.splice(0,1);C(new IV(_,V,L,x))}else _.worker?(Rpe(_),Ott(_,t)):ZT=ZT.filter(C=>C!=_)}}function Ott(e,t){let{config:n}=t,{terminateWorkerTimeout:i}=n;Number.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{ZT=ZT.filter(o=>o!=e);try{await e.terminate()}catch{}},i))}function Rpe(e){let{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}var Mhi=T(S(),1);var Ytt="Writer iterator completed too soon",Htt="text/plain";var ztt="Content-Type";var Ktt=64*1024,rQ="writable",XV=class{constructor(){this.size=0}init(){this.initialized=!0}},IU=class extends XV{get readable(){let t=this,{chunkSize:n=Ktt}=t,i=new ReadableStream({start(){this.chunkOffset=0},async pull(o){let{offset:r=0,size:s,diskNumberStart:a}=i,{chunkOffset:c}=this;o.enqueue(await Ba(t,r+c,Math.min(n,s-c),a)),c+n>s?o.close():this.chunkOffset+=n}});return i}},iQ=class extends XV{constructor(){super();let t=this,n=new WritableStream({write(i){return t.writeUint8Array(i)}});Object.defineProperty(t,rQ,{get(){return n}})}writeUint8Array(){}};var XU=class extends iQ{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){let n=this,i=0,o=n.pending,r=n.pending.length;for(n.pending="",i=0;i2?n.data+=btoa(o):n.pending=o}getData(){return this.data+btoa(this.pending)}},i0=class extends IU{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,n){let i=this,o=t+n,s=await(t||on&&(s=s.slice(t,o)),new Uint8Array(s)}},jv=class extends XV{constructor(t){super();let n=this,i=new TransformStream,o=[];t&&o.push([ztt,t]),Object.defineProperty(n,rQ,{get(){return i.writable}}),n.blob=new Response(i.readable,{headers:o}).blob()}getData(){return this.blob}},WU=class extends i0{constructor(t){super(new Blob([t],{type:Htt}))}},PU=class extends jv{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,utf8:n}=this,i=await super.getData();if(i.text&&n)return i.text();{let o=new FileReader;return new Promise((r,s)=>{Object.assign(o,{onload:({target:a})=>r(a.result),onerror:()=>s(o.error)}),o.readAsText(i,t)})}}};var oQ=class extends IU{constructor(t){super(),this.readers=t}async init(){let t=this,{readers:n}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(n.map(async(i,o)=>{await i.init(),o!=n.length-1&&(t.lastDiskOffset+=i.size),t.size+=i.size})),super.init()}async readUint8Array(t,n,i=0){let o=this,{readers:r}=this,s,a=i;a==-1&&(a=r.length-1);let c=t;for(;c>=r[a].size;)c-=r[a].size,a++;let d=r[a],u=d.size;if(c+n<=u)s=await Ba(d,c,n);else{let m=u-c;s=new Uint8Array(n),s.set(await Ba(d,c,m)),s.set(await o.readUint8Array(t+m,n-m,i),m)}return o.lastDiskNumber=Math.max(a,o.lastDiskNumber),s}},vU=class extends XV{constructor(t,n=4294967295){super();let i=this;Object.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o,r,s,a=new WritableStream({async write(u){let{availableSize:m}=i;if(s)u.length>=m?(await c(u.slice(0,m)),await d(),i.diskOffset+=o.size,i.diskNumber++,s=null,await this.write(u.slice(m))):await c(u);else{let{value:p,done:g}=await t.next();if(g&&!p)throw new Error(Ytt);o=p,o.size=0,o.maxSize&&(i.maxSize=o.maxSize),i.availableSize=i.maxSize,await Nf(o),r=p.writable,s=r.getWriter(),await this.write(u)}},async close(){await s.ready,await d()}});Object.defineProperty(i,rQ,{get(){return a}});async function c(u){let m=u.length;m&&(await s.ready,await s.write(u),o.size+=m,i.size+=m,i.availableSize-=m)}async function d(){r.size=o.size,await s.close()}}};async function Nf(e,t){if(e.init&&!e.initialized)await e.init(t);else return Promise.resolve()}function wU(e){return Array.isArray(e)&&(e=new oQ(e)),e instanceof ReadableStream&&(e={readable:e}),e}function FU(e){e.writable===$i&&typeof e.next==e0&&(e=new vU(e)),e instanceof WritableStream&&(e={writable:e});let{writable:t}=e;return t.size===$i&&(t.size=0),e instanceof vU||Object.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function Ba(e,t,n,i){return e.readUint8Array(t,n,i)}var efi=T(S(),1);var Bhi=T(S(),1);var khi=T(S(),1),Zpe="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),Jtt=Zpe.length==256;function Gpe(e){if(Jtt){let t="";for(let n=0;nthis[n]=t[n])}};var gQ="File format is not recognized",ent="End of central directory not found",tnt="End of Zip64 central directory locator not found",nnt="Central directory header not found",int="Local file header not found",ont="Zip64 extra field not found",rnt="File contains encrypted entry",snt="Encryption method not supported",Xpe="Compression method not supported",Wpe="Split zip file",Ppe="utf-8",vpe="cp437",ant=[[dQ,4294967295],[uQ,4294967295],[mQ,4294967295],[AU,65535]],cnt={[65535]:{getValue:Ts,bytes:4},[4294967295]:{getValue:NU,bytes:8}},HU=class{constructor(t,n={}){Object.assign(this,{reader:wU(t),options:n,config:Bv()})}async*getEntriesGenerator(t={}){let n=this,{reader:i}=n,{config:o}=n;if(await Nf(i),(i.size===$i||!i.readUint8Array)&&(i=new i0(await new Response(i.readable).blob()),await Nf(i)),i.size<22)throw new Error(gQ);i.chunkSize=pU(o);let r=await hnt(i,101010256,i.size,22,65535*16);if(!r){let A=await Ba(i,0,4),b=Ca(A);throw Ts(b)==134695760?new Error(Wpe):new Error(ent)}let s=Ca(r),a=Ts(s,12),c=Ts(s,16),d=r.offset,u=Sa(s,20),m=d+22+u,p=Sa(s,4),g=i.lastDiskNumber||0,f=Sa(s,6),x=Sa(s,8),_=0,C=0;if(c==4294967295||a==4294967295||x==65535||f==65535){let A=await Ba(i,r.offset-20,20),b=Ca(A);if(Ts(b,0)==117853008){c=NU(b,8);let R=await Ba(i,c,56,-1),E=Ca(R),X=r.offset-20-56;if(Ts(E,0)!=101075792&&c!=X){let F=c;c=X,_=c-F,R=await Ba(i,c,56,-1),E=Ca(R)}if(Ts(E,0)!=101075792)throw new Error(tnt);p==65535&&(p=Ts(E,16)),f==65535&&(f=Ts(E,20)),x==65535&&(x=NU(E,32)),a==4294967295&&(a=NU(E,40)),c-=a}}if(c>=i.size&&(_=i.size-c-a-22,c=i.size-a-22),g!=p)throw new Error(Wpe);if(c<0)throw new Error(gQ);let V=0,L=await Ba(i,c,a,f),Z=Ca(L);if(a){let A=r.offset-a;if(Ts(Z,V)!=33639248&&c!=A){let b=c;c=A,_+=c-b,L=await Ba(i,c,a,f),Z=Ca(L)}}let G=r.offset-c-(i.lastDiskOffset||0);if(a!=G&&G>=0&&(a=G,L=await Ba(i,c,a,f),Z=Ca(L)),c<0||c>=i.size)throw new Error(gQ);let I=Ol(n,t,"filenameEncoding"),v=Ol(n,t,"commentEncoding");for(let A=0;Ab.getData(Ie,Te,Ae),V=k;let{onprogress:Xe}=t;if(Xe)try{await Xe(A+1,x,new gy(b))}catch{}yield Te}let P=Ol(n,t,"extractPrependedData"),w=Ol(n,t,"extractAppendedData");return P&&(n.prependedData=C>0?await Ba(i,0,C):new Uint8Array),n.comment=u?await Ba(i,d+22,u):new Uint8Array,w&&(n.appendedData=m>>8&255:p>>>24&255),signature:p,compressed:d!=0,encrypted:G,useWebWorkers:Ol(o,i,"useWebWorkers"),useCompressionStream:Ol(o,i,"useCompressionStream"),transferStreams:Ol(o,i,"transferStreams"),checkPasswordOnly:b},config:u,streamOptions:{signal:A,size:P,onstart:E,onprogress:X,onend:F}},O=0;try{({outputSize:O}=await EU({readable:w,writable:R},N))}catch(U){if(!b||U.message!=n0)throw U}finally{let U=Ol(o,i,"preventClose");R.size+=O,!U&&!R.locked&&await R.getWriter().close()}return b?$i:t.getData?t.getData():R}};function Fpe(e,t,n){let i=e.rawBitFlag=Sa(t,n+2),o=(i&1)==1,r=Ts(t,n+6);Object.assign(e,{encrypted:o,version:Sa(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:fnt(r),filenameLength:Sa(t,n+22),extraFieldLength:Sa(t,n+24)})}async function Ape(e,t,n,i,o){let{rawExtraField:r}=t,s=t.extraField=new Map,a=Ca(new Uint8Array(r)),c=0;try{for(;ct[o]==r);for(let o=0,r=0;o=5&&(r.push(WV),s.push(MU));let a=1;r.forEach((c,d)=>{if(e.data.length>=a+4){let u=Ts(i,a);t[c]=e[c]=new Date(u*1e3);let m=s[d];e[m]=u}a+=4})}async function hnt(e,t,n,i,o){let r=new Uint8Array(4),s=Ca(r);pnt(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(d){let u=n-d,m=await Ba(e,u,d);for(let p=m.length-i;p>=0;p--)if(m[p]==r[0]&&m[p+1]==r[1]&&m[p+2]==r[2]&&m[p+3]==r[3])return{offset:u+p,buffer:m.slice(p,p+i).buffer}}}function Ol(e,t,n){return t[n]===$i?e.options[n]:t[n]}function fnt(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function yQ(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function PV(e,t){return e.getUint8(t)}function Sa(e,t){return e.getUint16(t,!0)}function Ts(e,t){return e.getUint32(t,!0)}function NU(e,t){return Number(e.getBigUint64(t,!0))}function pnt(e,t,n){e.setUint32(t,n,!0)}function Ca(e){return new DataView(e.buffer)}var cfi=T(S(),1);var xnt="File already exists",_nt="Zip file comment exceeds 64KB",Tnt="File entry comment exceeds 64KB",Snt="File entry name exceeds 64KB",kpe="Version exceeds 65535",Cnt="The strength must equal 1, 2, or 3",Vnt="Extra field type exceeds 65535",Lnt="Extra field data exceeds 64KB",PQ="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Upe=new Uint8Array([7,0,2,0,65,69,3,0,0]),XQ=0,Dpe=[],JU=class{constructor(t,n={}){t=FU(t);let i=t.availableSize!==$i&&t.availableSize>0&&t.availableSize!==1/0&&t.maxSize!==$i&&t.maxSize>0&&t.maxSize!==1/0;Object.assign(this,{writer:t,addSplitZipSignature:i,options:n,config:Bv(),files:new Map,filenames:new Set,offset:t.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new Set,bufferedWrites:0})}async add(t="",n,i={}){let o=this,{pendingAddFileCalls:r,config:s}=o;XQDpe.push(c));let a;try{if(t=t.trim(),o.filenames.has(t))throw new Error(xnt);return o.filenames.add(t),a=Rnt(o,t,n,i),r.add(a),await a}catch(c){throw o.filenames.delete(t),c}finally{r.delete(a);let c=Dpe.shift();c?c():XQ--}}async close(t=new Uint8Array,n={}){let i=this,{pendingAddFileCalls:o,writer:r}=this,{writable:s}=r;for(;o.size;)await Promise.allSettled(Array.from(o));return await wnt(this,t,n),Ho(i,n,"preventClose")||await s.getWriter().close(),r.getData?r.getData():s}};async function Rnt(e,t,n,i){t=t.trim(),i.directory&&!t.endsWith(LV)?t+=LV:i.directory=t.endsWith(LV);let o=Ho(e,i,"encodeText",ZV),r=o(t);if(r===$i&&(r=ZV(t)),Ji(r)>65535)throw new Error(Snt);let s=i.comment||"",a=o(s);if(a===$i&&(a=ZV(s)),Ji(a)>65535)throw new Error(Tnt);let c=Ho(e,i,"version",20);if(c>65535)throw new Error(kpe);let d=Ho(e,i,"versionMadeBy",20);if(d>65535)throw new Error(kpe);let u=Ho(e,i,WV,new Date),m=Ho(e,i,$v),p=Ho(e,i,ew),g=Ho(e,i,pQ,!0),f=Ho(e,i,hQ,0),x=Ho(e,i,fQ,0),_=Ho(e,i,"password"),C=Ho(e,i,"rawPassword"),V=Ho(e,i,"encryptionStrength",3),L=Ho(e,i,"zipCrypto"),Z=Ho(e,i,"extendedTimestamp",!0),G=Ho(e,i,"keepOrder",!0),I=Ho(e,i,"level"),v=Ho(e,i,"useWebWorkers"),P=Ho(e,i,"bufferedWrite"),w=Ho(e,i,"dataDescriptorSignature",!1),A=Ho(e,i,"signal"),b=Ho(e,i,"useCompressionStream"),R=Ho(e,i,"dataDescriptor",!0),E=Ho(e,i,bQ);if(_!==$i&&V!==$i&&(V<1||V>3))throw new Error(Cnt);let X=new Uint8Array,{extraField:F}=i;if(F){let Xe=0,Ie=0;F.forEach(Ae=>Xe+=4+Ji(Ae)),X=new Uint8Array(Xe),F.forEach((Ae,Ve)=>{if(Ve>65535)throw new Error(Vnt);if(Ji(Ae)>65535)throw new Error(Lnt);vs(X,new Uint16Array([Ve]),Ie),vs(X,new Uint16Array([Ji(Ae)]),Ie+2),vs(X,Ae,Ie+4),Ie+=4+Ji(Ae)})}let N=0,O=0,U=0,Y=E===!0;n&&(n=wU(n),await Nf(n),n.size===$i?(R=!0,(E||E===$i)&&(E=!0,U=N=4294967296)):(U=n.size,N=Fnt(U)));let{diskOffset:k,diskNumber:H,maxSize:J}=e.writer,te=Y||U>4294967295,z=Y||N>4294967295,q=Y||e.offset+e.pendingEntriesSize-k>4294967295,pe=Ho(e,i,"supportZip64SplitFile",!0)&&Y||H+Math.ceil(e.pendingEntriesSize/J)>65535;if(q||te||z||pe){if(E===!1||!G)throw new Error(PQ);E=!0}E=E||!1,i=Object.assign({},i,{rawFilename:r,rawComment:a,version:c,versionMadeBy:d,lastModDate:u,lastAccessDate:m,creationDate:p,rawExtraField:X,zip64:E,zip64UncompressedSize:te,zip64CompressedSize:z,zip64Offset:q,zip64DiskNumberStart:pe,password:_,rawPassword:C,level:!b&&e.config.CompressionStream===$i&&e.config.CompressionStreamNative===$i?0:I,useWebWorkers:v,encryptionStrength:V,extendedTimestamp:Z,zipCrypto:L,bufferedWrite:P,keepOrder:G,dataDescriptor:R,dataDescriptorSignature:w,signal:A,msDosCompatible:g,internalFileAttribute:f,externalFileAttribute:x,useCompressionStream:b});let _e=Ent(i),ae=Xnt(i),ye=Ji(_e.localHeaderArray,ae.dataDescriptorArray);O=ye+N,e.options.usdz&&(O+=O+64),e.pendingEntriesSize+=O;let Te;try{Te=await Znt(e,t,n,{headerInfo:_e,dataDescriptorInfo:ae,metadataSize:ye},i)}finally{e.pendingEntriesSize-=O}return Object.assign(Te,{name:t,comment:s,extraField:F}),new gy(Te)}async function Znt(e,t,n,i,o){let{files:r,writer:s}=e,{keepOrder:a,dataDescriptor:c,signal:d}=o,{headerInfo:u}=i,{usdz:m}=e.options,p=Array.from(r.values()).pop(),g={},f,x,_,C,V,L,Z;r.set(t,g);try{let P;a&&(P=p&&p.lock,G()),(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&a||!c)&&!m?(L=new TransformStream,Z=new Response(L.readable).blob(),L.writable.size=0,f=!0,e.bufferedWrites++,await Nf(s)):(L=s,await I()),await Nf(L);let{writable:w}=s,{diskOffset:A}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;let R=new Uint8Array(4),E=Oa(R);Ki(E,0,134695760),await kf(w,R),e.offset+=4}m&&Int(i,e.offset-A),f||(await P,await v(w));let{diskNumber:b}=s;if(V=!0,g.diskNumberStart=b,g=await Gnt(n,L,g,i,e.config,o),V=!1,r.set(t,g),g.filename=t,f){await L.writable.getWriter().close();let R=await Z;await P,await I(),C=!0,c||(R=await Pnt(g,R,w,o)),await v(w),g.diskNumberStart=s.diskNumber,A=s.diskOffset,await R.stream().pipeTo(w,{preventClose:!0,preventAbort:!0,signal:d}),w.size+=R.size,C=!1}if(g.offset=e.offset-A,g.zip64)vnt(g,o);else if(g.offset>4294967295)throw new Error(PQ);return e.offset+=g.size,g}catch(P){if(f&&C||!f&&V){if(e.hasCorruptedEntries=!0,P)try{P.corruptedEntry=!0}catch{}f?e.offset+=L.writable.size:e.offset=L.writable.size}throw r.delete(t),P}finally{f&&e.bufferedWrites--,_&&_(),x&&x()}function G(){g.lock=new Promise(P=>_=P)}async function I(){e.writerLocked=!0;let{lockWriter:P}=e;e.lockWriter=new Promise(w=>x=()=>{e.writerLocked=!1,w()}),await P}async function v(P){Ji(u.localHeaderArray)>s.availableSize&&(s.availableSize=0,await kf(P,new Uint8Array))}}async function Gnt(e,t,{diskNumberStart:n,lock:i},o,r,s){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:d}=o,{localHeaderArray:u,headerArray:m,lastModDate:p,rawLastModDate:g,encrypted:f,compressed:x,version:_,compressionMethod:C,rawExtraFieldExtendedTimestamp:V,extraFieldExtendedTimestampFlag:L,rawExtraFieldNTFS:Z,rawExtraFieldAES:G}=a,{dataDescriptorArray:I}=c,{rawFilename:v,lastAccessDate:P,creationDate:w,password:A,rawPassword:b,level:R,zip64:E,zip64UncompressedSize:X,zip64CompressedSize:F,zip64Offset:N,zip64DiskNumberStart:O,zipCrypto:U,dataDescriptor:Y,directory:k,versionMadeBy:H,rawComment:J,rawExtraField:te,useWebWorkers:z,onstart:q,onprogress:ee,onend:pe,signal:_e,encryptionStrength:ae,extendedTimestamp:ye,msDosCompatible:Te,internalFileAttribute:Xe,externalFileAttribute:Ie,useCompressionStream:Ae}=s,Ve={lock:i,versionMadeBy:H,zip64:E,directory:!!k,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:J,rawExtraFieldExtendedTimestamp:V,rawExtraFieldNTFS:Z,rawExtraFieldAES:G,rawExtraField:te,extendedTimestamp:ye,msDosCompatible:Te,internalFileAttribute:Xe,externalFileAttribute:Ie,diskNumberStart:n},Ne=0,De=0,$e,{writable:Ke}=t;if(e){e.chunkSize=pU(r),await kf(Ke,u);let pt=e.readable,St=pt.size=e.size,on={options:{codecType:RU,level:R,rawPassword:b,password:A,encryptionStrength:ae,zipCrypto:f&&U,passwordVerification:f&&U&&g>>8&255,signed:!0,compressed:x,encrypted:f,useWebWorkers:z,useCompressionStream:Ae,transferStreams:!1},config:r,streamOptions:{signal:_e,size:St,onstart:q,onprogress:ee,onend:pe}},Ce=await EU({readable:pt,writable:Ke},on);De=Ce.inputSize,Ne=Ce.outputSize,$e=Ce.signature,Ke.size+=De}else await kf(Ke,u);let gt;if(E){let pt=4;X&&(pt+=8),F&&(pt+=8),N&&(pt+=8),O&&(pt+=4),gt=new Uint8Array(pt)}else gt=new Uint8Array;return Wnt({signature:$e,rawExtraFieldZip64:gt,compressedSize:Ne,uncompressedSize:De,headerInfo:a,dataDescriptorInfo:c},s),Y&&await kf(Ke,I),Object.assign(Ve,{uncompressedSize:De,compressedSize:Ne,lastModDate:p,rawLastModDate:g,creationDate:w,lastAccessDate:P,encrypted:f,size:d+Ne,compressionMethod:C,version:_,headerArray:m,signature:$e,rawExtraFieldZip64:gt,extraFieldExtendedTimestampFlag:L,zip64UncompressedSize:X,zip64CompressedSize:F,zip64Offset:N,zip64DiskNumberStart:O}),Ve}function Ent(e){let{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:o,rawPassword:r,password:s,level:a,zip64:c,zipCrypto:d,dataDescriptor:u,directory:m,rawExtraField:p,encryptionStrength:g,extendedTimestamp:f}=e,x=a!==0&&!m,_=!!(s&&Ji(s)||r&&Ji(r)),C=e.version,V;if(_&&!d){V=new Uint8Array(Ji(Upe)+2);let O=Oa(V);so(O,0,39169),vs(V,Upe,2),QU(O,8,g)}else V=new Uint8Array;let L,Z,G;if(f){Z=new Uint8Array(9+(i?4:0)+(o?4:0));let O=Oa(Z);so(O,0,21589),so(O,2,Ji(Z)-4),G=1+(i?2:0)+(o?4:0),QU(O,4,G);let U=5;Ki(O,U,Math.floor(n.getTime()/1e3)),U+=4,i&&(Ki(O,U,Math.floor(i.getTime()/1e3)),U+=4),o&&Ki(O,U,Math.floor(o.getTime()/1e3));try{L=new Uint8Array(36);let Y=Oa(L),k=WQ(n);so(Y,0,10),so(Y,2,32),so(Y,8,1),so(Y,10,24),Yl(Y,12,k),Yl(Y,20,WQ(i)||k),Yl(Y,28,WQ(o)||k)}catch{L=new Uint8Array}}else L=Z=new Uint8Array;let I=2048;u&&(I=I|8);let v=0;x&&(v=8),c&&(C=C>45?C:45),_&&(I=I|1,d||(C=C>51?C:51,v=99,x&&(V[9]=8)));let P=new Uint8Array(26),w=Oa(P);so(w,0,C),so(w,2,I),so(w,4,v);let A=new Uint32Array(1),b=Oa(A),R;nYJ?R=YJ:R=n,so(b,0,(R.getHours()<<6|R.getMinutes())<<5|R.getSeconds()/2),so(b,2,(R.getFullYear()-1980<<4|R.getMonth()+1)<<5|R.getDate());let E=A[0];Ki(w,6,E),so(w,22,Ji(t));let X=Ji(V,Z,L,p);so(w,24,X);let F=new Uint8Array(30+Ji(t)+X),N=Oa(F);return Ki(N,0,67324752),vs(F,P,4),vs(F,t,30),vs(F,V,30+Ji(t)),vs(F,Z,30+Ji(t,V)),vs(F,L,30+Ji(t,V,Z)),vs(F,p,30+Ji(t,V,Z,L)),{localHeaderArray:F,headerArray:P,headerView:w,lastModDate:n,rawLastModDate:E,encrypted:_,compressed:x,version:C,compressionMethod:v,extraFieldExtendedTimestampFlag:G,rawExtraFieldExtendedTimestamp:Z,rawExtraFieldNTFS:L,rawExtraFieldAES:V,extraFieldLength:X}}function Int(e,t){let{headerInfo:n}=e,{localHeaderArray:i,extraFieldLength:o}=n,r=Oa(i),s=64-(t+Ji(i))%64;s<4&&(s+=64);let a=new Uint8Array(s),c=Oa(a);so(c,0,6534),so(c,2,s-2);let d=i;n.localHeaderArray=i=new Uint8Array(Ji(d)+s),vs(i,d),vs(i,a,Ji(d)),r=Oa(i),so(r,28,o+s),e.metadataSize+=s}function Xnt(e){let{zip64:t,dataDescriptor:n,dataDescriptorSignature:i}=e,o=new Uint8Array,r,s=0;return n&&(o=new Uint8Array(t?i?24:20:i?16:12),r=Oa(o),i&&(s=4,Ki(r,0,134695760))),{dataDescriptorArray:o,dataDescriptorView:r,dataDescriptorOffset:s}}function Wnt(e,t){let{signature:n,rawExtraFieldZip64:i,compressedSize:o,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:a}=e,{headerView:c,encrypted:d}=s,{dataDescriptorView:u,dataDescriptorOffset:m}=a,{zip64:p,zip64UncompressedSize:g,zip64CompressedSize:f,zipCrypto:x,dataDescriptor:_}=t;if((!d||x)&&n!==$i&&(Ki(c,10,n),_&&Ki(u,m,n)),p){let C=Oa(i);so(C,0,1),so(C,2,Ji(i)-4);let V=4;g&&(Ki(c,18,4294967295),Yl(C,V,BigInt(r)),V+=8),f&&(Ki(c,14,4294967295),Yl(C,V,BigInt(o))),_&&(Yl(u,m+4,BigInt(o)),Yl(u,m+12,BigInt(r)))}else Ki(c,14,o),Ki(c,18,r),_&&(Ki(u,m+4,o),Ki(u,m+8,r))}async function Pnt(e,t,n,{zipCrypto:i}){let o;o=await t.slice(0,26).arrayBuffer(),o.byteLength!=26&&(o=o.slice(0,26));let r=new DataView(o);return(!e.encrypted||i)&&Ki(r,14,e.signature),e.zip64?(Ki(r,18,4294967295),Ki(r,22,4294967295)):(Ki(r,18,e.compressedSize),Ki(r,22,e.uncompressedSize)),await kf(n,new Uint8Array(o)),t.slice(o.byteLength)}function vnt(e,t){let{rawExtraFieldZip64:n,offset:i,diskNumberStart:o}=e,{zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:a,zip64DiskNumberStart:c}=t,d=Oa(n),u=4;r&&(u+=8),s&&(u+=8),a&&(Yl(d,u,BigInt(i)),u+=8),c&&Ki(d,u,o)}async function wnt(e,t,n){let{files:i,writer:o}=e,{diskOffset:r,writable:s}=o,{diskNumber:a}=o,c=0,d=0,u=e.offset-r,m=i.size;for(let[,G]of i){let{rawFilename:I,rawExtraFieldZip64:v,rawExtraFieldAES:P,rawComment:w,rawExtraFieldNTFS:A,rawExtraField:b,extendedTimestamp:R,extraFieldExtendedTimestampFlag:E,lastModDate:X}=G,F;if(R){F=new Uint8Array(9);let N=Oa(F);so(N,0,21589),so(N,2,5),QU(N,4,E),Ki(N,5,Math.floor(X.getTime()/1e3))}else F=new Uint8Array;G.rawExtraFieldCDExtendedTimestamp=F,d+=46+Ji(I,w,v,P,A,F,b)}let p=new Uint8Array(d),g=Oa(p);await Nf(o);let f=0;for(let[G,I]of Array.from(i.values()).entries()){let{offset:v,rawFilename:P,rawExtraFieldZip64:w,rawExtraFieldAES:A,rawExtraFieldCDExtendedTimestamp:b,rawExtraFieldNTFS:R,rawExtraField:E,rawComment:X,versionMadeBy:F,headerArray:N,directory:O,zip64:U,zip64UncompressedSize:Y,zip64CompressedSize:k,zip64DiskNumberStart:H,zip64Offset:J,msDosCompatible:te,internalFileAttribute:z,externalFileAttribute:q,diskNumberStart:ee,uncompressedSize:pe,compressedSize:_e}=I,ae=Ji(w,A,b,R,E);Ki(g,c,33639248),so(g,c+4,F);let ye=Oa(N);Y||Ki(ye,18,pe),k||Ki(ye,14,_e),vs(p,N,c+6),so(g,c+30,ae),so(g,c+32,Ji(X)),so(g,c+34,U&&H?65535:ee),so(g,c+36,z),q?Ki(g,c+38,q):O&&te&&QU(g,c+38,16),Ki(g,c+42,U&&J?4294967295:v),vs(p,P,c+46),vs(p,w,c+46+Ji(P)),vs(p,A,c+46+Ji(P,w)),vs(p,b,c+46+Ji(P,w,A)),vs(p,R,c+46+Ji(P,w,A,b)),vs(p,E,c+46+Ji(P,w,A,b,R)),vs(p,X,c+46+Ji(P)+ae);let Te=46+Ji(P,X)+ae;if(c-f>o.availableSize&&(o.availableSize=0,await kf(s,p.slice(f,c)),f=c),c+=Te,n.onprogress)try{await n.onprogress(G+1,i.size,new gy(I))}catch{}}await kf(s,f?p.slice(f):p);let x=o.diskNumber,{availableSize:_}=o;_<22&&x++;let C=Ho(e,n,"zip64");if(u>4294967295||d>4294967295||m>65535||x>65535){if(C===!1)throw new Error(PQ);C=!0}let V=new Uint8Array(C?98:22),L=Oa(V);c=0,C&&(Ki(L,0,101075792),Yl(L,4,BigInt(44)),so(L,12,45),so(L,14,45),Ki(L,16,x),Ki(L,20,a),Yl(L,24,BigInt(m)),Yl(L,32,BigInt(m)),Yl(L,40,BigInt(d)),Yl(L,48,BigInt(u)),Ki(L,56,117853008),Yl(L,64,BigInt(u)+BigInt(d)),Ki(L,72,x+1),Ho(e,n,"supportZip64SplitFile",!0)&&(x=65535,a=65535),m=65535,u=4294967295,d=4294967295,c+=76),Ki(L,c,101010256),so(L,c+4,x),so(L,c+6,a),so(L,c+8,m),so(L,c+10,m),Ki(L,c+12,d),Ki(L,c+16,u);let Z=Ji(t);if(Z)if(Z<=65535)so(L,c+20,Z);else throw new Error(_nt);await kf(s,V),Z&&await kf(s,t)}async function kf(e,t){let n=e.getWriter();try{await n.ready,e.size+=Ji(t),await n.write(t)}finally{n.releaseLock()}}function WQ(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function Ho(e,t,n,i){let o=t[n]===$i?e.options[n]:t[n];return o===$i?i:o}function Fnt(e){return e+5*(Math.floor(e/16383)+1)}function QU(e,t,n){e.setUint8(t,n)}function so(e,t,n){e.setUint16(t,n,!0)}function Ki(e,t,n){e.setUint32(t,n,!0)}function Yl(e,t,n){e.setBigUint64(t,n,!0)}function vs(e,t,n){e.set(t,n)}function Oa(e){return new DataView(e.buffer)}function Ji(...e){let t=0;return e.forEach(n=>n&&(t+=n.length)),t}RV({Deflate:Zfe,Inflate:Jfe});var vQ=32,Ant="http://www.opengis.net/kml/2.2",Ch="http://www.google.com/kml/ext/2.2",Mnt="http://www.w3.org/2000/xmlns/";function jU(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var Nnt=/^data:image\/([^,;]+)/;jU.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof Le){if(e=Le.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(Nnt);n=`texture_${++this._count}`,l(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function knt(e,t){return function(n){e._files[t]=n}}jU.prototype.model=function(e,t){let n=this._modelCallback;if(!l(n))throw new ce("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(knt(this,r))}return o};Object.defineProperties(jU.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function qU(e){this._time=e}qU.prototype.get=function(e,t,n){let i;return l(e)&&(i=l(e.getValue)?e.getValue(this._time,n):e),y(i,t)};qU.prototype.getColor=function(e,t){let n=this.get(e,t);if(l(n))return ET(n)};qU.prototype.getMaterialType=function(e){if(l(e))return e.getType(this._time)};function wQ(){this._ids={},this._styles={},this._count=0}wQ.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(l(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};wQ.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function Hpe(){this._ids={}}Hpe.prototype.get=function(e){if(!l(e))return this.get(Yn());let t=this._ids;return l(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function FQ(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=FQ._createState(e),o=t.values.filter(function(d){return!l(d.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(Mnt,"xmlns:gx",Ch);let a=r.createElement("Document");s.appendChild(a),Kpe(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let u=new XMLSerializer().serializeToString(i.kmlDoc);return n?Unt(u,c.files):{kml:u,externalFiles:c.files}})}function Unt(e,t){let n=sn("ThirdParty/Workers/z-worker-pako.js");RV({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new jv,o=new JU(i);return o.add("doc.kml",new WU(e)).then(function(){let r=Object.keys(t);return zpe(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function zpe(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new i0(n[o])).then(function(){return zpe(e,t,n,i+1)})}FQ._createState=function(e){let t=e.entities,n=new wQ,i=t.computeAvailability(),o=l(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===Ye.MINIMUM_VALUE?r.stop===Ye.MAXIMUM_VALUE?r=new Rn:j.addSeconds(r.stop,-10*s,r.start):r.stop===Ye.MAXIMUM_VALUE&&j.addSeconds(r.start,10*s,r.stop);let a=new jU(e.modelCallback);return{kmlDoc:document.implementation.createDocument(Ant,"kml"),ellipsoid:y(e.ellipsoid,ne.default),idManager:new Hpe,styleCache:n,externalFileHandler:a,time:o,valueGetter:new qU(o),sampleDuration:s,defaultAvailability:new Br([r])}};function Kpe(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,d,u;for(let m=0;m0){let C=i.createElement("Placemark");C.setAttribute("id",s.get(p.id));let V=p.name,L=p.label;if(l(L)){let G=i.createElement("LabelStyle"),I=r.get(L.text);V=l(I)&&I.length>0?I:V;let v=r.getColor(L.fillColor);l(v)&&(G.appendChild(pn(i,"color",v)),G.appendChild(pn(i,"colorMode","normal")));let P=r.get(L.scale);l(P)&&G.appendChild(pn(i,"scale",P)),u.push(G)}C.appendChild(pn(i,"name",V)),C.appendChild(pn(i,"visibility",p.show)),C.appendChild(pn(i,"description",p.description)),l(g)&&C.appendChild(g),t.appendChild(C);let Z=u.length;if(Z>0){let G=i.createElement("Style");for(let I=0;I1){let G=i.createElement("MultiGeometry");for(let I=0;I0){let C=i.createElement("Folder");C.setAttribute("id",s.get(p.id)),C.appendChild(pn(i,"name",p.name)),C.appendChild(pn(i,"visibility",p.show)),C.appendChild(pn(i,"description",p.description)),t.appendChild(C),Kpe(e,C,_)}}}var Hl=new h,sl=new he,Sh=new j;function Dnt(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!l(a)&&!l(t.path))return;let c=t.position;if(!c.isConstant){Jpe(e,t,a,n,i);return}s.get(c,void 0,Hl);let d=pn(o,"coordinates",GT(Hl,r)),u=o.createElement("Point"),m=o.createElement("altitudeMode");m.appendChild(IT(e,a.heightReference)),u.appendChild(m),u.appendChild(d),n.push(u);let p=a instanceof ac?jpe(e,a):Qpe(e,a);i.push(p)}function Jpe(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,d=t.position,u=!0;d instanceof ya?(c=d.intervals,u=!1):c=y(t.availability,e.defaultAvailability);let m=n instanceof Up,p,g,f,x=[];for(p=0;p1){let C=r.createElementNS(Ch,"MultiTrack");for(p=0;p0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],d=[le.northeast,le.southeast,le.southwest,le.northwest];for(let g=0;g<4;++g)d[g](a,sl),c.push(`${W.toDegrees(sl.longitude)},${W.toDegrees(sl.latitude)},${r}`);let u=pn(i,"coordinates",c.join(" ")),m=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(u),m.appendChild(p),[m]}function Ope(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let u=0;u0&&(r=n);let a=[],c=t.hierarchy,d=o.get(c),u=Array.isArray(d)?d:d.positions,m=i.createElement("outerBoundaryIs");m.appendChild(Ope(e,u,r,s)),a.push(m);let p=d.holes;if(l(p)){let g=p.length;for(let f=0;f0&&c.appendChild(pn(r,"extrude",!0));let u=a?Ont(e,t,d):Ynt(e,t,d),m=u.length;for(let _=0;_=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var MQ=FQ;var Zbi=T(S(),1);var npi=T(S(),1);function ow(){this._cache={}}ow.prototype.fromColor=function(e,t){return $U(void 0,void 0,e,t,this._cache)};ow.prototype.fromUrl=function(e,t,n){return $U(e,void 0,t,n,this._cache)};ow.prototype.fromMakiIconId=function(e,t,n){return $U(sn(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};ow.prototype.fromText=function(e,t,n){return $U(void 0,e,t,n,this._cache)};var Knt=new B;function Jnt(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,Knt).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function $pe(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width${i}${obe(o)}`:n+=`${i}${o}`)}return n.length>0&&(n=`${n}
`),n}function nit(e,t,n){let i;return function(o,r){return l(i)||(i=e(t,n)),i}}function iit(e,t){return new Am(nit(obe,e,t),!0)}function nD(e,t,n){let i=e.id;if(!l(i)||e.type!=="Feature")i=Yn();else{let s=2,a=i;for(;l(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(l(r)){o.properties=r;let s,a=r.title;if(l(a))o.name=a,s="title";else{let d=Number.MAX_VALUE;for(let u in r)if(r.hasOwnProperty(u)&&r[u]){let m=u.toLowerCase();if(d>1&&m==="title"){d=1,s=u;break}else d>2&&m==="name"?(d=2,s=u):d>3&&/title/i.test(u)?(d=3,s=u):d>4&&/name/i.test(u)&&(d=4,s=u)}l(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=l(c)?new qn(c):n(r,s))}return o}function QQ(e,t){let n=new Array(e.length);for(let i=0;i2?d.perPositionHeight=new qn(!0):o.clampToGround||(d.height=0);let p=nD(t,e._entityCollection,o.describe);p.polygon=d}function bbe(e,t,n,i,o){pbe(e,t,i,n.coordinates,o)}function gbe(e,t,n,i,o){let r=n.coordinates;for(let s=0;st&&(n==null?(n="…",i=3):i=n.length,e=e.substring(0,t-i)+n),e}function zo(e,t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)}function xy(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}function _y(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}var qbi=T(S());var Nbi=T(S());var Fbi=T(S()),Ty=/[A-Za-z]/,$s=/[\d]/;var Yd=/\s/,iD=/['"]/,Cbe=/[\x00-\x1F\x7F]/,Vbe=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,cit=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,lit=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,dit=Vbe+cit+lit,Lbe=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,vbi=new RegExp("[".concat(Vbe+Lbe,"]")),jQ=dit+Lbe,Vh=new RegExp("[".concat(jQ,"]"));var oD=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=n?n.split(Yd):[],o=t.split(Yd),r;r=o.shift();)i.indexOf(r)===-1&&i.push(r);return this.getAttrs().class=i.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=n?n.split(Yd):[],o=t.split(Yd),r;i.length&&(r=o.shift());){var s=i.indexOf(r);s!==-1&&i.splice(s,1)}return this.getAttrs().class=i.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),""].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();var Ubi=T(S());function Rbe(e,t,n){var i,o;n==null?(n="…",o=3,i=8):(o=n.length,i=n.length);var r=function(V){var L={},Z=V,G=Z.match(/^([a-z]+):\/\//i);return G&&(L.scheme=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^(.*?)(?=(\?|#|\/|$))/i),G&&(L.host=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^\/(.*?)(?=(\?|#|$))/i),G&&(L.path=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^\?(.*?)(?=(#|$))/i),G&&(L.query=G[1],Z=Z.substr(G[0].length)),G=Z.match(/^#(.*?)$/i),G&&(L.fragment=G[1]),L},s=function(V){var L="";return V.scheme&&V.host&&(L+=V.scheme+"://"),V.host&&(L+=V.host),V.path&&(L+="/"+V.path),V.query&&(L+="?"+V.query),V.fragment&&(L+="#"+V.fragment),L},a=function(V,L){var Z=L/2,G=Math.ceil(Z),I=-1*Math.floor(Z),v="";return I<0&&(v=V.substr(I)),V.substr(0,G)+n+v};if(e.length<=t)return e;var c=t-o,d=r(e);if(d.query){var u=d.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);u&&(d.query=d.query.substr(0,u[1].length),e=s(d))}if(e.length<=t||(d.host&&(d.host=d.host.replace(/^www\./,""),e=s(d)),e.length<=t))return e;var m="";if(d.host&&(m+=d.host),m.length>=c)return d.host.length==t?(d.host.substr(0,t-o)+n).substr(0,c+i):a(m,c).substr(0,c+i);var p="";if(d.path&&(p+="/"+d.path),d.query&&(p+="?"+d.query),p)if((m+p).length>=c){if((m+p).length==t)return(m+p).substr(0,t);var g=c-m.length;return(m+a(p,g)).substr(0,c+i)}else m+=p;if(d.fragment){var f="#"+d.fragment;if((m+f).length>=c){if((m+f).length==t)return(m+f).substr(0,t);var x=c-m.length;return(m+a(f,x)).substr(0,c+i)}else m+=f}if(d.scheme&&d.host){var _=d.scheme+"://";if((m+_).length0&&(C=m.substr(-1*Math.floor(c/2))),(m.substr(0,Math.ceil(c/2))+n+C).substr(0,c+i)}var Bbi=T(S());function Zbe(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="…",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}var Hbi=T(S());function Gbe(e,t,n){return Sbe(e,t,n)}var Ebe=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new oD({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length=0;g--){var f=u[g];switch(f.state){case 11:I(f,p);break;case 12:v(f,p);break;case 0:C(f,p);break;case 1:V(f,p);break;case 2:L(f,p);break;case 3:Z(f,p);break;case 4:G(f,p);break;case 5:P(f,p);break;case 6:w(f,p);break;case 7:A(f,p);break;case 13:b(f,p);break;case 14:R(f,p);break;case 8:E(f,p);break;case 9:X(f,p);break;case 10:F(f,p);break;case 15:N(f,p);break;case 16:O(f,p);break;case 17:U(f,p);break;case 18:Y(f,p);break;case 19:k(f,p);break;case 20:H(f,p);break;case 21:J(f,p);break;case 22:te(f,p);break;case 23:z(f,p);break;case 24:q(f,p);break;case 25:ee(f,p);break;case 26:pe(f,p);break;case 27:_e(f,p);break;case 28:ae(f,p);break;case 29:ye(f,p);break;case 30:Te(f,p);break;case 31:Xe(f,p);break;case 32:Ae(f,p);break;case 33:Ve(f,p);break;case 34:Ne(f,p);break;case 35:De(f,p);break;case 36:$e(f,p);break;case 37:Ie(f,p);break;case 38:Ke(f,p);break;case 39:gt(f,p);break;case 40:pt(f,p);break;case 41:St(f,p);break;default:_y(f.state)}}}for(var x=u.length-1;x>=0;x--)u.forEach(function(Ce){return on(Ce)});return c;function _(Ce){if(Ce==="#")u.push(Nit(m,28));else if(Ce==="@")u.push(kit(m,30));else if(Ce==="/")u.push(a4(m,11));else if(Ce==="+")u.push(c4(m,37));else if(Ce==="(")u.push(c4(m,32));else{if($s.test(Ce)&&(u.push(c4(m,38)),u.push(Ait(m,13))),Nbe(Ce)){var Re=Ce.toLowerCase()==="m"?15:22;u.push(Mit(m,Re))}rD(Ce)&&u.push(s4(m,0)),Vh.test(Ce)&&u.push(a4(m,5))}}function C(Ce,Re){Re===":"?Ce.state=2:Re==="-"?Ce.state=1:e4(Re)||zo(u,Ce)}function V(Ce,Re){Re==="-"||(Re==="/"?(zo(u,Ce),u.push(a4(m,11))):e4(Re)?Ce.state=0:zo(u,Ce))}function L(Ce,Re){Re==="/"?Ce.state=3:Re==="."?zo(u,Ce):r0(Re)?(Ce.state=5,rD(Re)&&u.push(s4(m,0))):zo(u,Ce)}function Z(Ce,Re){Re==="/"?Ce.state=4:t4(Re)?(Ce.state=10,Ce.acceptStateReached=!0):on(Ce)}function G(Ce,Re){Re==="/"?Ce.state=10:r0(Re)?(Ce.state=5,Ce.acceptStateReached=!0):zo(u,Ce)}function I(Ce,Re){Re==="/"?Ce.state=12:zo(u,Ce)}function v(Ce,Re){r0(Re)?Ce.state=5:zo(u,Ce)}function P(Ce,Re){Re==="."?Ce.state=7:Re==="-"?Ce.state=6:Re===":"?Ce.state=8:aD(Re)?Ce.state=10:sD(Re)||on(Ce)}function w(Ce,Re){Re==="-"||(Re==="."?on(Ce):r0(Re)?Ce.state=5:on(Ce))}function A(Ce,Re){Re==="."?on(Ce):r0(Re)?(Ce.state=5,Ce.acceptStateReached=!0):on(Ce)}function b(Ce,Re){Re==="."?Ce.state=14:Re===":"?Ce.state=8:$s.test(Re)||(aD(Re)?Ce.state=10:Vh.test(Re)?zo(u,Ce):on(Ce))}function R(Ce,Re){$s.test(Re)?(Ce.octetsEncountered++,Ce.octetsEncountered===4&&(Ce.acceptStateReached=!0),Ce.state=13):on(Ce)}function E(Ce,Re){$s.test(Re)?Ce.state=9:on(Ce)}function X(Ce,Re){$s.test(Re)||(aD(Re)?Ce.state=10:on(Ce))}function F(Ce,Re){t4(Re)||on(Ce)}function N(Ce,Re){Re.toLowerCase()==="a"?Ce.state=16:te(Ce,Re)}function O(Ce,Re){Re.toLowerCase()==="i"?Ce.state=17:te(Ce,Re)}function U(Ce,Re){Re.toLowerCase()==="l"?Ce.state=18:te(Ce,Re)}function Y(Ce,Re){Re.toLowerCase()==="t"?Ce.state=19:te(Ce,Re)}function k(Ce,Re){Re.toLowerCase()==="o"?Ce.state=20:te(Ce,Re)}function H(Ce,Re){Re.toLowerCase()===":"?Ce.state=21:te(Ce,Re)}function J(Ce,Re){cD(Re)?Ce.state=22:zo(u,Ce)}function te(Ce,Re){Re==="."?Ce.state=23:Re==="@"?Ce.state=24:cD(Re)?Ce.state=22:zo(u,Ce)}function z(Ce,Re){Re==="."?zo(u,Ce):Re==="@"?zo(u,Ce):cD(Re)?Ce.state=22:zo(u,Ce)}function q(Ce,Re){r0(Re)?Ce.state=25:zo(u,Ce)}function ee(Ce,Re){Re==="."?Ce.state=27:Re==="-"?Ce.state=26:sD(Re)||on(Ce)}function pe(Ce,Re){Re==="-"||Re==="."?on(Ce):sD(Re)?Ce.state=25:on(Ce)}function _e(Ce,Re){Re==="."||Re==="-"?on(Ce):r0(Re)?(Ce.state=25,Ce.acceptStateReached=!0):on(Ce)}function ae(Ce,Re){i4(Re)?(Ce.state=29,Ce.acceptStateReached=!0):zo(u,Ce)}function ye(Ce,Re){i4(Re)||on(Ce)}function Te(Ce,Re){o4(Re)?(Ce.state=31,Ce.acceptStateReached=!0):zo(u,Ce)}function Xe(Ce,Re){o4(Re)||(Vh.test(Re)?zo(u,Ce):on(Ce))}function Ie(Ce,Re){$s.test(Re)?Ce.state=38:(zo(u,Ce),_(Re))}function Ae(Ce,Re){$s.test(Re)?Ce.state=33:zo(u,Ce),_(Re)}function Ve(Ce,Re){$s.test(Re)?Ce.state=34:zo(u,Ce)}function Ne(Ce,Re){$s.test(Re)?Ce.state=35:zo(u,Ce)}function De(Ce,Re){Re===")"?Ce.state=36:zo(u,Ce)}function $e(Ce,Re){$s.test(Re)?Ce.state=38:r4(Re)?Ce.state=39:zo(u,Ce)}function Ke(Ce,Re){Ce.acceptStateReached=!0,lD(Re)?Ce.state=40:Re==="#"?Ce.state=41:$s.test(Re)||(Re==="("?Ce.state=32:r4(Re)?Ce.state=39:(on(Ce),rD(Re)&&u.push(s4(m,0))))}function gt(Ce,Re){$s.test(Re)?Ce.state=38:Re==="("?Ce.state=32:(on(Ce),_(Re))}function pt(Ce,Re){lD(Re)||(Re==="#"?Ce.state=41:$s.test(Re)?Ce.state=38:on(Ce))}function St(Ce,Re){lD(Re)?Ce.state=40:$s.test(Re)?zo(u,Ce):on(Ce)}function on(Ce){if(zo(u,Ce),!!Ce.acceptStateReached){var Re=Ce.startIdx,cn=e.slice(Ce.startIdx,m);if(cn=Fit(cn),Ce.type==="url"){var rn=e.charAt(Ce.startIdx-1);if(rn==="@")return;var jt=Ce.matchType;if(jt==="scheme"){var ji=$Q.exec(cn);if(ji&&(Re=Re+ji.index,cn=cn.slice(ji.index)),!vbe(cn))return}else if(jt==="tld"){if(!wbe(cn))return}else if(jt==="ipV4"){if(!Fbe(cn))return}else _y(jt);c.push(new Abe({tagBuilder:n,matchedText:cn,offset:Re,urlMatchType:jt,url:cn,protocolRelativeMatch:cn.slice(0,2)==="//",stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))}else if(Ce.type==="email")kbe(cn)&&c.push(new Ube({tagBuilder:n,matchedText:cn,offset:Re,email:cn.replace(Mbe,"")}));else if(Ce.type==="hashtag")Dbe(cn)&&c.push(new Obe({tagBuilder:n,matchedText:cn,offset:Re,serviceName:s,hashtag:cn.slice(1)}));else if(Ce.type==="mention")Ybe(cn,a)&&c.push(new zbe({tagBuilder:n,matchedText:cn,offset:Re,serviceName:a,mention:cn.slice(1)}));else if(Ce.type==="phone"){if(cn=cn.replace(/ +$/g,""),Kbe(cn)){var je=cn.replace(/[^0-9,;#]/g,"");c.push(new Jbe({tagBuilder:n,matchedText:cn,offset:Re,number:je,plusSign:cn.charAt(0)==="+"}))}}else _y(Ce)}}}var wit=/[\(\{\[]/,Qbe=/[\)\}\]]/,jbe={")":"(","}":"{","]":"["};function Fit(e){for(var t={"(":0,"{":0,"[":0},n=0;n=0;)if(r=e.charAt(o),Qbe.test(r)){var s=jbe[r];if(t[s]<0)t[s]++,o--;else break}else if(Pbe.test(r))o--;else break;return e.slice(0,o+1)}function s4(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"scheme"}}function a4(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"tld"}}function Ait(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function Mit(e,t){return{type:"email",startIdx:e,state:t,acceptStateReached:!1}}function Nit(e,t){return{type:"hashtag",startIdx:e,state:t,acceptStateReached:!1}}function kit(e,t){return{type:"mention",startIdx:e,state:t,acceptStateReached:!1}}function c4(e,t){return{type:"phone",startIdx:e,state:t,acceptStateReached:!1}}var sgi=T(S());function $be(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new Bf,c=0,d=e.length,u=0,m=0,p=a;c"?(p=new Bf(ea(ea({},p),{name:te()})),H()):!Ty.test(q)&&!$s.test(q)&&q!==":"&&Y()}function C(q){q===">"?Y():Ty.test(q)?u=3:Y()}function V(q){Yd.test(q)||(q==="/"?u=12:q===">"?H():q==="<"?k():q==="="||iD.test(q)||Cbe.test(q)?Y():u=5)}function L(q){Yd.test(q)?u=6:q==="/"?u=12:q==="="?u=7:q===">"?H():q==="<"?k():iD.test(q)&&Y()}function Z(q){Yd.test(q)||(q==="/"?u=12:q==="="?u=7:q===">"?H():q==="<"?k():iD.test(q)?Y():u=5)}function G(q){Yd.test(q)||(q==='"'?u=8:q==="'"?u=9:/[>=`]/.test(q)?Y():q==="<"?k():u=10)}function I(q){q==='"'&&(u=11)}function v(q){q==="'"&&(u=11)}function P(q){Yd.test(q)?u=4:q===">"?H():q==="<"&&k()}function w(q){Yd.test(q)?u=4:q==="/"?u=12:q===">"?H():q==="<"?k():(u=4,z())}function A(q){q===">"?(p=new Bf(ea(ea({},p),{isClosing:!0})),H()):u=4}function b(q){e.substr(c,2)==="--"?(c+=2,p=new Bf(ea(ea({},p),{type:"comment"})),u=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new Bf(ea(ea({},p),{type:"doctype"})),u=20):Y()}function R(q){q==="-"?u=15:q===">"?Y():u=16}function E(q){q==="-"?u=18:q===">"?Y():u=16}function X(q){q==="-"&&(u=17)}function F(q){q==="-"?u=18:u=16}function N(q){q===">"?H():q==="!"?u=19:q==="-"||(u=16)}function O(q){q==="-"?u=17:q===">"?H():u=16}function U(q){q===">"?H():q==="<"&&k()}function Y(){u=0,p=a}function k(){u=1,p=new Bf({idx:c})}function H(){var q=e.slice(m,p.idx);q&&o(q,m),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),Y(),m=c+1}function J(){var q=e.slice(m,c);o(q,m),m=c+1}function te(){var q=p.idx+(p.isClosing?2:1);return e.slice(q,c).toLowerCase()}function z(){c--}}var Bf=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}();var Uit=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=Dit(t.urls),this.email=Od(t.email)?t.email:this.email,this.phone=Od(t.phone)?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=Od(t.newWindow)?t.newWindow:this.newWindow,this.stripPrefix=Bit(t.stripPrefix),this.stripTrailingSlash=Od(t.stripTrailingSlash)?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=Od(t.decodePercentEncoding)?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&Hbe.indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&Bbe.indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=Oit(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return $be(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/( | |<|<|>|>|"|"|')/gi,d=s.split(c),u=a;d.forEach(function(m,p){if(p%2===0){var g=n.parseText(m,u);r.push.apply(r,g)}u+=m.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,d){return c.getOffset()-d.getOffset()});for(var n=0;nr?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()/g,">"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function l4(e,t){let n=cw(e,"id");return n=l(n)?n:Yn(),t.getOrCreateEntity(n)}function d4(e){let t=r0e(e,"lon"),n=r0e(e,"lat"),i=sw(e,"ele",Ro.gpx);return h.fromDegrees(t,n,i)}function r0e(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function cw(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Sy(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r${m.text}: ${m.value}

`)}if(!l(i)||i==="")return;i=Yit.link(i),aw.innerHTML=i;let s=aw.querySelectorAll("a");for(n=0;n',d+=`${aw.innerHTML}`,aw.innerHTML="",d}function m0e(e,t,n,i){let o=d4(t),r=l4(t,n);r.position=o;let s=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",B.RED,uD);r.billboard=d0e(s);let a=zl(t,"name",Ro.gpx);r.name=a,r.label=Kit(),r.label.text=a,r.description=m4(t,r),i.clampToGround&&(r.billboard.heightReference=Qe.CLAMP_TO_GROUND,r.label.heightReference=Qe.CLAMP_TO_GROUND)}function Jit(e,t,n,i){let o=l4(t,n);o.description=m4(t,o);let r=u4(t,"rtept",Ro.gpx),s=new Array(r.length);for(let a=0;a0?(a=a.concat(c.times),u.addSamples(a,s),d=d&&!0):d=!1;if(d){let m=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",B.RED,uD);o.billboard=d0e(m),o.position=u,i.clampToGround&&(o.billboard.heightReference=Qe.CLAMP_TO_GROUND),o.availability=new Br,o.availability.addInterval(new Rn({start:a[0],stop:a[a.length-1]}))}o.polyline=u0e(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function jit(e){let t={positions:[],times:[]},n=u4(e,"trkpt",Ro.gpx),i;for(let o=0;o=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else l(n)&&n(!1)}function cot(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,p0e.call(this,e,t,n)}}var mw=mD;var Byi=T(S(),1);var Ayi=T(S(),1);var vyi=T(S(),1),vi=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var t=1.70158;return e===1?1:e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return e===0?0:--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)}}),Bounce:Object.freeze({In:function(e){return 1-vi.Bounce.Out(1-e)},Out:function(e){return e<.36363636363636365?7.5625*e*e:e<.7272727272727273?7.5625*(e-=.5454545454545454)*e+.75:e<.9090909090909091?7.5625*(e-=.8181818181818182)*e+.9375:7.5625*(e-=.9545454545454546)*e+.984375},InOut:function(e){return e<.5?vi.Bounce.In(e*2)*.5:vi.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e1e4?1e4:e,{In:function(t){return Math.pow(t,e)},Out:function(t){return 1-Math.pow(1-t,e)},InOut:function(t){return t<.5?Math.pow(t*2,e)/2:(1-Math.pow(2-t*2,e))/2+.5}}}}),hw=function(){return performance.now()},lot=function(){function e(){for(var t=[],n=0;n0;){this._tweensAddedDuringUpdate={};for(var o=0;o1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=wV.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=wV.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},b0e=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),h4=new lot,g0e=function(){function e(t,n){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=vi.Linear.None,this._interpolationFunction=wV.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=b0e.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=t,typeof n=="object"?(this._group=n,n.add(this)):n===!0&&(this._group=h4,h4.add(this))}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(t,n){if(n===void 0&&(n=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=t,this._propertiesAreSetUp=!1,this._duration=n<0?0:n,this},e.prototype.duration=function(t){return t===void 0&&(t=1e3),this._duration=t<0?0:t,this},e.prototype.dynamic=function(t){return t===void 0&&(t=!1),this._isDynamic=t,this},e.prototype.start=function(t,n){if(t===void 0&&(t=hw()),n===void 0&&(n=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t,this._startTime+=this._delayTime,!this._propertiesAreSetUp||n){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var r in this._valuesEnd)o[r]=this._valuesEnd[r];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,n)}return this},e.prototype.startFromCurrentValues=function(t){return this.start(t,!0)},e.prototype._setupProperties=function(t,n,i,o,r){for(var s in i){var a=t[s],c=Array.isArray(a),d=c?"array":typeof a,u=!c&&Array.isArray(i[s]);if(!(d==="undefined"||d==="function")){if(u){var m=i[s];if(m.length===0)continue;for(var p=[a],g=0,f=m.length;g"u"||r)&&(n[s]=a),c||(n[s]*=1),u?o[s]=i[s].slice().reverse():o[s]=n[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},e.prototype.pause=function(t){return t===void 0&&(t=hw()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this)},e.prototype.resume=function(t){return t===void 0&&(t=hw()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;tc)return 1;var x=Math.trunc(s/a),_=s-x*a,C=Math.min(_/i._duration,1);return C===0&&s===i._duration?1:C},u=d(),m=this._easingFunction(u);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,m),this._onUpdateCallback&&this._onUpdateCallback(this._object,u),this._duration===0||s>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((s-this._duration)/a)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(r in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[r]=="string"&&(this._valuesStartRepeat[r]=this._valuesStartRepeat[r]+parseFloat(this._valuesEnd[r])),this._yoyo&&this._swapEndStartRepeatValues(r),this._valuesStart[r]=this._valuesStartRepeat[r];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=a*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var g=0,f=this._chainedTweens.length;gthis._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function hot(e){let t=e.slice(0,Math.min(4,e.size)),n=xl(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function fot(e){let t=xl(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function G0e(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(l(n)||(n=e.substr(0,e.indexOf("",t),i,o,r;for(;t!==-1&&t0?(Kl.maximumRed=r,Kl.red=void 0):(Kl.maximumRed=void 0,Kl.red=0),o>0?(Kl.maximumGreen=o,Kl.green=void 0):(Kl.maximumGreen=void 0,Kl.green=0),i>0?(Kl.maximumBlue=i,Kl.blue=void 0):(Kl.maximumBlue=void 0,Kl.blue=0),Kl.alpha=n,B.fromRandom(Kl)):new B(r,o,i,n)}function XT(e,t,n){let i=vn(e,t,n);if(l(i))return x4(i,vn(e,"colorMode",n)==="random")}function bot(e){let t=wi(e,"TimeStamp",ve.kmlgx),n=vn(t,"when",ve.kmlgx);if(!l(t)||!l(n)||n.length===0)return;let i=j.fromIso8601(n),o=new Br;return o.addInterval(new Rn({start:i,stop:Ye.MAXIMUM_VALUE})),o}function got(e){let t=wi(e,"TimeSpan",ve.kmlgx);if(!l(t))return;let n,i=wi(t,"begin",ve.kmlgx),o=l(i)?j.fromIso8601(i.textContent):void 0,r=wi(t,"end",ve.kmlgx),s=l(r)?j.fromIso8601(r.textContent):void 0;if(l(o)&&l(s)){if(j.lessThan(s,o)){let a=o;o=s,s=a}n=new Br,n.addInterval(new Rn({start:o,stop:s}))}else l(o)?(n=new Br,n.addInterval(new Rn({start:o,stop:Ye.MAXIMUM_VALUE}))):l(s)&&(n=new Br,n.addInterval(new Rn({start:Ye.MINIMUM_VALUE,stop:s})));return n}function X0e(){let e=new ac;return e.width=Cy,e.height=Cy,e.scaleByDistance=new kt(y0e,x0e,_0e,T0e),e.pixelOffsetScaleByDistance=new kt(y0e,x0e,_0e,T0e),e}function V4(){let e=new wm;return e.outline=!0,e.outlineColor=B.WHITE,e}function W0e(){let e=new vm;return e.translucencyByDistance=new kt(3e6,1,5e6,0),e.pixelOffset=new D(17,0),e.horizontalOrigin=_i.LEFT,e.font="16px sans-serif",e.style=Bo.FILL_AND_OUTLINE,e}function L4(e,t,n,i,o){let r=vn(e,"href",ve.kml);if(!l(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y(ii(e,"x",ve.gx),0),d=y(ii(e,"y",ve.gx),0);c=Math.min(c/32,7),d=7-Math.min(d/32,7);let u=8*d+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${u}.png`}let s=C4(r,n,i);if(o){let a=vn(e,"refreshMode",ve.kml),c=vn(e,"viewRefreshMode",ve.kml);a==="onInterval"||a==="onExpire"?Tt(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&Tt(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let d=y(vn(e,"viewBoundScale",ve.kml),1),u=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",m=y(vn(e,"viewFormat",ve.kml),u),p=vn(e,"httpQuery",ve.kml);l(m)&&s.setQueryParameters(cd(bD(m))),l(p)&&s.setQueryParameters(cd(bD(p)));let g=t._ellipsoid;return Z4(s,t.camera,t.canvas,d,t._lastCameraView.bbox,g),s}return s}function yot(e,t,n,i,o){let r=ii(t,"scale",ve.kml),s=ii(t,"heading",ve.kml),a=XT(t,"color",ve.kml),c=wi(t,"Icon",ve.kml),d=L4(c,e,i,o,!1);l(c)&&!l(d)&&(d=!1);let u=ii(c,"x",ve.gx),m=ii(c,"y",ve.gx),p=ii(c,"w",ve.gx),g=ii(c,"h",ve.gx),f=wi(t,"hotSpot",ve.kml),x=Vy(f,"x"),_=Vy(f,"y"),C=ws(f,"xunits"),V=ws(f,"yunits"),L=n.billboard;l(L)||(L=X0e(),n.billboard=L),L.image=d,L.scale=r,L.color=a,(l(u)||l(m)||l(p)||l(g))&&(L.imageSubRegion=new Je(u,m,p,g)),l(s)&&s!==0&&(L.rotation=W.toRadians(-s),L.alignedAxis=h.UNIT_Z),r=y(r,1);let Z,G;l(x)&&(C==="pixels"?Z=-x*r:C==="insetPixels"?Z=(x-Cy)*r:C==="fraction"&&(Z=-x*Cy*r),Z+=Cy*.5*r),l(_)&&(V==="pixels"?G=_*r:V==="insetPixels"?G=(-_+Cy)*r:V==="fraction"&&(G=_*Cy*r),G-=Cy*.5*r),(l(Z)||l(G))&&(L.pixelOffset=new D(Z,G))}function pD(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r:clampToSeaFloor is currently not supported, using :clampToGround."),Qe.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(Tt("kml-gx:altitudeMode-relativeToSeaFloor","KML - :relativeToSeaFloor is currently not supported, using :relativeToGround."),Qe.RELATIVE_TO_GROUND):(l(e)?Tt("kml-altitudeMode-unknown",`KML - Unknown :${e}, using :CLAMP_TO_GROUND.`):Tt("kml-gx:altitudeMode-unknown",`KML - Unknown :${t}, using :CLAMP_TO_GROUND.`),Qe.CLAMP_TO_GROUND)}function Tot(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new Pf(e))}function Sot(e,t,n,i){if(!l(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r0&&Tt("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,d.length),f=[],x=[];for(let C=0;C0&&i.availability.addInterval(new Rn({start:x[0],stop:x[x.length-1]})),m&&u&&R4(t,i,o),!0}function R0e(e,t,n,i,o,r,s,a,c){let d=e[0],u=e[e.length-1],m=new _a;m.addSamples(e,t),n.intervals.addInterval(new Rn({start:d,stop:u,isStartIncluded:c,isStopIncluded:c,data:Tot(m,s,a)})),i.addInterval(new Rn({start:d,stop:u,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new Rn({start:d,stop:u,isStartIncluded:c,isStopIncluded:c,data:r}))}function Rot(e,t,n,i,o){let r=Rh(n,"interpolate",ve.gx),s=Lh(n,"Track",ve.gx),a,c,d,u=!1,m=new Hb,p=new Br,g=new ya,f=e._ellipsoid;for(let x=0,_=s.length;x<_;x++){let C=s[x],V=Lh(C,"when",ve.kml),L=Lh(C,"coord",ve.gx),Z=vn(C,"altitudeMode",ve.kml),G=vn(C,"altitudeMode",ve.gx),I=gw(Z,G),v=Rh(C,"extrude",ve.kml),P=Math.min(L.length,V.length),w=[];a=[];for(let A=0;A0)){for(f='',r=0;r`;f+="
${y(x.displayName,s)}${y(x.value,"")}
"}if(!l(f))return;f=uot.link(f),yo.innerHTML=f;let _=yo.querySelectorAll("a");for(r=0;r<_.length;r++)_[r].setAttribute("target","_blank");l(i)&&i.keys.length>1&&(Hd(yo,"a","href",i),Hd(yo,"link","href",i),Hd(yo,"area","href",i),Hd(yo,"img","src",i),Hd(yo,"iframe","src",i),Hd(yo,"video","src",i),Hd(yo,"audio","src",i),Hd(yo,"source","src",i),Hd(yo,"track","src",i),Hd(yo,"input","src",i),Hd(yo,"embed","src",i),Hd(yo,"script","src",i),Hd(yo,"video","poster",i)),zd(yo,"a","href",o),zd(yo,"link","href",o),zd(yo,"area","href",o),zd(yo,"img","src",o),zd(yo,"iframe","src",o),zd(yo,"video","src",o),zd(yo,"audio","src",o),zd(yo,"source","src",o),zd(yo,"track","src",o),zd(yo,"input","src",o),zd(yo,"embed","src",o),zd(yo,"script","src",o),zd(yo,"video","poster",o);let C='
',C+=`${yo.innerHTML}
`,yo.innerHTML="",t.description=C}function xD(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=I0e(t,i,n.context),c=a.kml,d=xot(e,t,n.styleCollection,r,s),u=vn(t,"name",ve.kml);a.name=u,a.parent=o;let m=got(t);l(m)||(m=bot(t)),a.availability=m,E4(a);function p(L){return L?L.show&&p(L.parent):!0}let g=Rh(t,"visibility",ve.kml);a.show=p(o)&&y(g,!0);let f=wi(t,"author",ve.atom),x=c.author;x.name=vn(f,"name",ve.atom),x.uri=vn(f,"uri",ve.atom),x.email=vn(f,"email",ve.atom);let _=wi(t,"link",ve.atom),C=c.link;C.href=ws(_,"href"),C.hreflang=ws(_,"hreflang"),C.rel=ws(_,"rel"),C.type=ws(_,"type"),C.title=ws(_,"title"),C.length=ws(_,"length"),c.address=vn(t,"address",ve.kml),c.phoneNumber=vn(t,"phoneNumber",ve.kml),c.snippet=vn(t,"Snippet",ve.kml),Eot(t,a),Iot(t,a,d,s,r);let V=e._ellipsoid;return N0e(t,a,V),M0e(t,a,V),l(wi(t,"Region",ve.kml))&&Tt("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:d}}function A0e(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function Xot(e,t,n,i){let o=xD(e,t,n),r=He(n);r.parentEntity=o.entity,A0e(e,t,r,i)}function Wot(e,t,n,i){let o=xD(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let d=0,u=c.length;dW.PI_OVER_TWO?W.PI_OVER_TWO:d}function a(d){return d>W.PI?d-W.TWO_PI:d<-W.PI?d+W.TWO_PI:d}let c=dx(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),l(t)&&t._mode!==oe.MORPHING){let d,u;if(o=y(o,Not),l(n)&&(g4.x=n.clientWidth*.5,g4.y=n.clientHeight*.5,d=t.pickEllipsoid(g4,r,kot)),l(d)?u=r.cartesianToCartographic(d,FV):(u=le.center(o,FV),d=r.cartographicToCartesian(u)),l(i)&&!W.equalsEpsilon(i,1,W.EPSILON9)){let C=o.width*i*.5,V=o.height*i*.5;o=new le(a(u.longitude-C),s(u.latitude-V),a(u.longitude+C),s(u.latitude+V))}c=c.replace("[bboxWest]",W.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",W.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",W.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",W.toDegrees(o.north).toString());let m=W.toDegrees(u.longitude).toString(),p=W.toDegrees(u.latitude).toString();c=c.replace("[lookatLon]",m),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",W.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",W.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,d)),c=c.replace("[lookatTerrainLon]",m),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",u.height.toString()),r.cartesianToCartographic(t.positionWC,FV),c=c.replace("[cameraLon]",W.toDegrees(FV.longitude).toString()),c=c.replace("[cameraLat]",W.toDegrees(FV.latitude).toString()),c=c.replace("[cameraAlt]",W.toDegrees(FV.height).toString());let g=t.frustum,f=g.aspectRatio,x="",_="";if(l(f)){let C=W.toDegrees(g.fov);f>1?(x=C,_=C/f):(_=C,x=C*f)}c=c.replace("[horizFov]",x.toString()),c=c.replace("[vertFov]",_.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");l(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(cd(c))}function Uot(e,t,n,i){let r=xD(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=wi(t,"Link",ve.kml);if(l(c)||(c=wi(t,"Url",ve.kml)),l(c)){let d=vn(c,"href",ve.kml),u,m;if(l(d)){let p=d;if(d=C4(d,s,n.uriResolver),/^data:/.test(d.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{if(p=d.clone(),u=vn(c,"viewRefreshMode",ve.kml),u==="onRegion"){Tt("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}m=y(vn(c,"viewBoundScale",ve.kml),1);let _=u==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",C=y(vn(c,"viewFormat",ve.kml),_),V=vn(c,"httpQuery",ve.kml);l(C)&&d.setQueryParameters(cd(bD(C))),l(V)&&d.setQueryParameters(cd(bD(V)));let L=e._ellipsoid;Z4(d,e.camera,e.canvas,m,e._lastCameraView.bbox,L)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},f=new js,x=G4(e,f,d,g).then(function(_){let C=e._entityCollection,V=f.values;C.suspendEvents();for(let G=0;G0||L==="onExpire"||u==="onStop"){let G=wi(_,"NetworkLinkControl",ve.kml),I=l(G),v=j.now(),P={id:Yn(),href:d,cookie:{},lastUpdated:v,updating:!1,entity:r,viewBoundScale:m,needsUpdate:!1,cameraUpdateTime:v},w=0;if(I&&(P.cookie=cd(y(vn(G,"cookie",ve.kml),"")),w=y(ii(G,"minRefreshPeriod",ve.kml),0)),L==="onInterval")I&&(Z=Math.max(w,Z)),P.refreshMode=Ly.INTERVAL,P.time=Z;else if(L==="onExpire"){let A;if(I&&(A=vn(G,"expires",ve.kml)),l(A))try{let b=j.fromIso8601(A),R=j.secondsDifference(b,v);R>0&&R0;)this._screenOverlays.pop().remove()};function E4(e){let t=e.parent;if(l(t)){let n=t.availability;if(l(n)){let i=e.availability;l(i)?i.intersect(n):e.availability=n}}}function Oot(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=wi(r,"NetworkLinkControl",ve.kml),c=l(a),d=0;if(c){if(l(wi(a,"Update",ve.kml))){Tt("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=cd(y(vn(a,"cookie",ve.kml),"")),d=y(ii(a,"minRefreshPeriod",ve.kml),0)}let u=j.now(),m=t.refreshMode;if(m===Ly.INTERVAL)l(a)&&(t.time=Math.max(d,t.time));else if(m===Ly.EXPIRE){let v;if(l(a)&&(v=vn(a,"expires",ve.kml)),l(v))try{let P=j.fromIso8601(v),w=j.secondsDifference(P,u);w>0&&wu.time&&(p=!0):u.refreshMode===Ly.EXPIRE?j.greaterThan(n,u.time)&&(p=!0):u.refreshMode===Ly.STOP&&(r&&(u.needsUpdate=!0,u.cameraUpdateTime=n),u.needsUpdate&&j.secondsDifference(n,u.cameraUpdateTime)>=u.time&&(p=!0)),p){o(m),u.updating=!0;let g=new js,f=u.href.clone();f.setQueryParameters(u.cookie);let x=y(i._ellipsoid,ne.default);Z4(f,i.camera,i.canvas,u.viewBoundScale,s.bbox,x),G4(i,g,f,{context:m.id}).then(Oot(i,u,g,c,f)).catch(function(_){let C=`NetworkLink ${u.href} refresh failed: ${_}`;console.log(C),i._error.raiseEvent(i,C)}),d=!0}}c.set(u.id,u)}}),d&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function Yot(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}Kd._DeferredLoading=Yf;Kd._getTimestamp=Ci;var yw=Kd;var l_i=T(S(),1);function xw(){fe.throwInstantiationError()}xw.prototype.update=fe.throwInstantiationError;xw.prototype.getBoundingSphere=fe.throwInstantiationError;xw.prototype.isDestroyed=fe.throwInstantiationError;xw.prototype.destroy=fe.throwInstantiationError;var I4=xw;var sSi=T(S(),1);var u_i=T(S(),1),Hot={NONE:0,LERC:1},rm=Object.freeze(Hot);var gTi=T(S(),1);var D_i=T(S(),1);var L_i=T(S(),1);var h_i=T(S(),1),zot={NONE:0,BITS12:1},ta=Object.freeze(zot);var WT=new h,Kot=new h,sm=new D,_D=new M,Jot=new M,Qot=Math.pow(2,12);function Lc(e,t,n,i,o,r,s,a,c,d){let u=ta.NONE,m,p;if(l(t)&&l(n)&&l(i)&&l(o)){let g=t.minimum,f=t.maximum,x=h.subtract(f,g,Kot),_=i-n;Math.max(h.maximumComponent(x),_)0,g=y(e.isGeographic,!0),f=y(e.ellipsoid,ne.default),x=1/f.maximumRadius,_=le.clone(e.nativeRectangle),C=le.clone(e.rectangle),V,L,Z,G;l(C)?(V=C.west,L=C.south,Z=C.east,G=C.north):g?(V=a(_.west),L=a(_.south),Z=a(_.east),G=a(_.north)):(V=_.west*x,L=s-2*o(r(-_.south*x)),Z=_.east*x,G=s-2*o(r(-_.north*x)));let I=e.relativeToCenter,v=l(I);I=v?I:h.ZERO;let P=y(e.includeWebMercatorT,!1),w=y(e.exaggeration,1),A=y(e.exaggerationRelativeHeight,0),R=w!==1,E=y(e.structure,Hf.DEFAULT_STRUCTURE),X=y(E.heightScale,Hf.DEFAULT_STRUCTURE.heightScale),F=y(E.heightOffset,Hf.DEFAULT_STRUCTURE.heightOffset),N=y(E.elementsPerHeight,Hf.DEFAULT_STRUCTURE.elementsPerHeight),O=y(E.stride,Hf.DEFAULT_STRUCTURE.stride),U=y(E.elementMultiplier,Hf.DEFAULT_STRUCTURE.elementMultiplier),Y=y(E.isBigEndian,Hf.DEFAULT_STRUCTURE.isBigEndian),k=le.computeWidth(_),H=le.computeHeight(_),J=k/(d-1),te=H/(u-1);g||(k*=x,H*=x);let z=f.radiiSquared,q=z.x,ee=z.y,pe=z.z,_e=65536,ae=-65536,ye=vt.eastNorthUpToFixedFrame(I,f),Te=M.inverseTransformation(ye,qot),Xe,Ie;P&&(Xe=Xi.geodeticLatitudeToMercatorAngle(L),Ie=1/(Xi.geodeticLatitudeToMercatorAngle(G)-Xe));let Ae=$ot;Ae.x=Number.POSITIVE_INFINITY,Ae.y=Number.POSITIVE_INFINITY,Ae.z=Number.POSITIVE_INFINITY;let Ve=ert;Ve.x=Number.NEGATIVE_INFINITY,Ve.y=Number.NEGATIVE_INFINITY,Ve.z=Number.NEGATIVE_INFINITY;let Ne=Number.POSITIVE_INFINITY,De=d*u,$e=m>0?d*2+u*2:0,Ke=De+$e,gt=new Array(Ke),pt=new Array(Ke),St=new Array(Ke),on=P?new Array(Ke):[],Ce=R?new Array(Ke):[],Re=0,cn=u,rn=0,jt=d;p&&(--Re,++cn,--rn,++jt);let ji=1e-5;for(let et=Re;et=u&&(dt=u-1);let Ot=_.north-te*dt;g?Ot=a(Ot):Ot=s-2*o(r(-Ot*x));let Vn=(Ot-L)/(G-L);Vn=W.clamp(Vn,0,1);let ei=et===Re,to=et===cn-1;m>0&&(ei?Ot+=ji*H:to&&(Ot-=ji*H));let Ir=t(Ot),Ao=n(Ot),Vs=pe*Ao,co;P&&(co=(Xi.geodeticLatitudeToMercatorAngle(Ot)-Xe)*Ie);for(let aa=rn;aa=d&&(Jr=d-1);let od=dt*(d*O)+Jr*O,jn;if(N===1)jn=c[od];else{jn=0;let ca;if(Y)for(ca=0;ca=0;--ca)jn=jn*U+c[od+ca]}jn=jn*X+F,ae=Math.max(ae,jn),_e=Math.min(_e,jn);let gr=_.west+J*Jr;g?gr=a(gr):gr=gr*x;let Eo=(gr-V)/(Z-V);Eo=W.clamp(Eo,0,1);let ja=dt*d+Jr;if(m>0){let ca=aa===rn,Qr=aa===jt-1,Ea=ei||to||ca||Qr;if((ei||to)&&(ca||Qr))continue;Ea&&(jn-=m,ca?(ja=De+(u-dt-1),gr-=ji*k):to?ja=De+u+(d-Jr-1):Qr?(ja=De+u+d+dt,gr+=ji*k):ei&&(ja=De+u+d+u+Jr))}let So=Ir*t(gr),rd=Ir*n(gr),Oh=q*So,mp=ee*rd,hp=1/i(Oh*So+mp*rd+Vs*Ao),X0=Oh*hp,Hh=mp*hp,sd=Vs*hp,Ls=new h;Ls.x=X0+So*jn,Ls.y=Hh+rd*jn,Ls.z=sd+Ao*jn,M.multiplyByPoint(Te,Ls,X4),h.minimumByComponent(X4,Ae,Ae),h.maximumByComponent(X4,Ve,Ve),Ne=Math.min(Ne,jn),gt[ja]=Ls,St[ja]=new D(Eo,Vn),pt[ja]=jn,P&&(on[ja]=co),R&&(Ce[ja]=f.geodeticSurfaceNormal(Ls))}}let je=de.fromPoints(gt),ds;l(C)&&(ds=In.fromRectangle(C,_e,ae,f));let Kr;v&&(Kr=new Nb(f).computeHorizonCullingPointPossiblyUnderEllipsoid(I,gt,_e));let Ga=new J0(Ae,Ve,I),we=new Rc(I,Ga,Ne,ae,ye,!1,P,R,w,A),lt=new Float32Array(Ke*we.stride),nt=0;for(let et=0;et0?L=rs.getRegularGridAndSkirtIndicesAndEdgeIndices(V.gridWidth,V.gridHeight):L=rs.getRegularGridIndicesAndEdgeIndices(V.gridWidth,V.gridHeight);let Z=V.gridWidth*V.gridHeight;return C._mesh=new am(m,new Float32Array(V.vertices),L.indices,L.indexCountWithoutSkirts,Z,V.minimumHeight,V.maximumHeight,de.clone(V.boundingSphere3D),h.clone(V.occludeePointInScaledSpace),V.numberOfAttributes,In.clone(V.orientedBoundingBox),Rc.clone(V.encoding),L.westIndicesSouthToNorth,L.southIndicesEastToWest,L.eastIndicesNorthToSouth,L.northIndicesWestToEast),C._buffer=void 0,C._mesh})};s0.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),d=t.tileXYToRectangle(n,i,o),u=a.cartographicToCartesian(le.center(d)),m=this._structure,g=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<0?x=rs.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):x=rs.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let _=f.gridWidth*f.gridHeight;return this._mesh=new am(u,f.vertices,x.indices,x.indexCountWithoutSkirts,_,f.minimumHeight,f.maximumHeight,f.boundingSphere3D,f.occludeePointInScaledSpace,f.encoding.stride,f.orientedBoundingBox,f.encoding,x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),this._mesh};s0.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,d=r.isBigEndian,u=r.heightOffset,m=r.heightScale,p=l(this._mesh),g=this._encoding===rm.LERC;if(!p&&g)return;let x;if(p){let _=this._mesh.vertices,C=this._mesh.encoding;x=K0e(_,C,u,m,e,i,o,t,n)}else x=ort(this._buffer,a,c,s,d,e,i,o,t,n),x=x*m+u;return x};s0.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(a))return;let c=this._width,d=this._height,u=this._structure,m=u.stride,p=new this._bufferType(c*d*m),g=a.vertices,f=a.encoding,x=e.tileXYToRectangle(t,n,i),_=e.tileXYToRectangle(o,r,s),C=u.heightOffset,V=u.heightScale,L=u.elementsPerHeight,Z=u.elementMultiplier,G=u.isBigEndian,I=Math.pow(Z,L-1);for(let v=0;vu.highestEncodedHeight?u.highestEncodedHeight:b,rrt(p,L,Z,I,m,G,v*c+w,b)}}return Promise.resolve(new s0({buffer:p,width:c,height:d,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};s0.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<=s&&(g=s-1,p=s-2);let f=m|0,x=f+1;x>=a&&(x=a-1,f=a-2);let _=u-p,C=m-f;f=a-1-f,x=a-1-x;let V=VD(e,t,n,i,o,f*s+p),L=VD(e,t,n,i,o,f*s+g),Z=VD(e,t,n,i,o,x*s+p),G=VD(e,t,n,i,o,x*s+g);return J0e(_,C,V,L,Z,G)}function K0e(e,t,n,i,o,r,s,a,c){let d=(a-o.west)*(r-1)/(o.east-o.west),u=(c-o.south)*(s-1)/(o.north-o.south),m=d|0,p=m+1;p>=r&&(p=r-1,m=r-2);let g=u|0,f=g+1;f>=s&&(f=s-1,g=s-2);let x=d-m,_=u-g;g=s-1-g,f=s-1-f;let C=(t.decodeHeight(e,g*r+m)-n)/i,V=(t.decodeHeight(e,g*r+p)-n)/i,L=(t.decodeHeight(e,f*r+m)-n)/i,Z=(t.decodeHeight(e,f*r+p)-n)/i;return J0e(x,_,C,V,L,Z)}function J0e(e,t,n,i,o,r){return t=0;--a)s=s*n+e[r+a];return s}function rrt(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var Ya=s0;var CTi=T(S(),1);function kV(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var PT=new le;function srt(e,t,n,i){let o=i.length;for(let r=0;r=0;--i)if(l(n[i])&&n[i].length===0)return i;return 0};var Q0e=new he;kV.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,PT);return le.center(i,Q0e),this.computeMaximumLevelAtPosition(Q0e)>=e};kV.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function MV(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(MV.prototype,{nw:{get:function(){return this._nw||(this._nw=new MV(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new MV(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new MV(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new MV(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function urt(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function W4(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function NV(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function _w(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&NV(t._nw.extent,n),s=t._ne&&NV(t._ne.extent,n),a=t._sw&&NV(t._sw.extent,n),c=t._se&&NV(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,_w(t,t._nw,n))),s&&(i=Math.max(i,_w(t,t._ne,n))),a&&(i=Math.max(i,_w(t,t._sw,n))),c&&(i=Math.max(i,_w(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];NV(a,n)&&(i=a.level)}t=t.parent}return i}function Tw(e,t,n){if(!t)return;let i,o=!1;for(i=0;it.east&&n.push(new le(t.east,o.south,o.east,o.north)),o.southt.north&&n.push(new le(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var Gh=kV;var XTi=T(S(),1);var RTi=T(S(),1);function prt(e){let t,n=e.name,i=e.message;l(n)&&l(i)?t=`${n}: ${i}`:t=e.toString();let o=e.stack;return l(o)&&(t+=` +${o}`),t}var zf=prt;function RD(e,t,n,i,o,r,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=o,this.timesRetried=y(r,0),this.retry=!1,this.error=s}RD.reportError=function(e,t,n,i,o,r,s,a){let c=e;return l(e)?(c.provider=t,c.message=i,c.x=o,c.y=r,c.level=s,c.retry=!1,c.error=a,++c.timesRetried):c=new RD(t,i,o,r,s,0,a),l(n)&&n.numberOfListeners>0?n.raiseEvent(c):l(t)&&console.log(`An error occurred in "${t.constructor.name}": ${zf(i)}`),c};RD.reportSuccess=function(e){l(e)&&(e.timesRetried=-1)};var Zo=RD;var NTi=T(S(),1);function Zy(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ne.default),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Xi(this._ellipsoid),l(e.rectangleSouthwestInMeters)&&l(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new D(-i,-i),this._rectangleNortheastInMeters=new D(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new le(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(Zy.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});Zy.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<=o&&(f=o-1);let x=g/d|0;return x>=r&&(x=r-1),l(n)?(n.x=f,n.y=x,n):new D(f,x)};var ss=Zy;var brt=15;function j0e(e){this.ellipsoid=y(e.ellipsoid,ne.default),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}j0e.prototype.build=function(e){e._credit=this.credit,e._tilingScheme=this.tilingScheme,e._height=this.height,e._width=this.width,e._encoding=this.encoding,e._lodCount=this.lodCount,e._hasAvailability=this.hasAvailability,e._tilesAvailable=this.tilesAvailable,e._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._terrainDataStructure=this.terrainDataStructure};function grt(e,t){let n=t.copyrightText;l(n)&&(e.credit=new Lt(n));let i=t.spatialReference,o=y(i.latestWkid,i.wkid),r=t.extent,s={ellipsoid:e.ellipsoid};if(o===4326)s.rectangle=le.fromDegrees(r.xmin,r.ymin,r.xmax,r.ymax),e.tilingScheme=new Hi(s);else if(o===3857){let d=Math.PI*e.ellipsoid.maximumRadius;t.extent.xmax>d&&(t.extent.xmax=d),t.extent.ymax>d&&(t.extent.ymax=d),t.extent.xmin<-d&&(t.extent.xmin=-d),t.extent.ymin<-d&&(t.extent.ymin=-d),s.rectangleSouthwestInMeters=new D(r.xmin,r.ymin),s.rectangleNortheastInMeters=new D(r.xmax,r.ymax),e.tilingScheme=new ss(s)}else throw new ce("Invalid spatial reference");let a=t.tileInfo;if(!l(a))throw new ce("tileInfo is required");e.width=a.rows+1,e.height=a.cols+1,e.encoding=a.format==="LERC"?rm.LERC:rm.NONE,e.lodCount=a.lods.length-1,(e.hasAvailability=t.capabilities.indexOf("Tilemap")!==-1)&&(e.tilesAvailable=new Gh(e.tilingScheme,e.lodCount),e.tilesAvailable.addAvailableTileRange(0,0,0,e.tilingScheme.getNumberOfXTilesAtLevel(0),e.tilingScheme.getNumberOfYTilesAtLevel(0)),e.tilesAvailabilityLoaded=new Gh(e.tilingScheme,e.lodCount)),e.levelZeroMaximumGeometricError=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.width,e.tilingScheme.getNumberOfXTilesAtLevel(0)),t.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),l(t.minValues)&&l(t.maxValues)?e.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:t.minValues[0],highestEncodedHeight:t.maxValues[0]}:e.terrainDataStructure={elementMultiplier:1}}async function yrt(e,t,n){try{let i=await t.fetchJson();grt(e,i)}catch(i){let o=`An error occurred while accessing ${t}.`;throw Zo.reportError(void 0,n,l(n)?n._errorEvent:void 0,o),i}}function Gy(e){e=y(e,y.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0,this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._errorEvent=new be}Object.defineProperties(Gy.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});Gy.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=Le.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&(n=n.getDerivedResource({queryParameters:{token:t.token}}));let i=n.getDerivedResource({queryParameters:{f:"pjson"}}),o=new j0e(t);await yrt(o,i);let r=new Gy(t);return o.build(r),r._resource=n,r};Gy.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!l(P4(this,n+1,e*2,t*2))){let m=q0e(this,n+1,e*2,t*2);s=m.promise,a=m.request}let c=o.fetchArrayBuffer();if(!l(c)||!l(s))return;let d=this,u=this._tilesAvailable;return Promise.all([c,s]).then(function(m){return new Ya({buffer:m[0],width:d._width,height:d._height,childTileMask:r?u.computeChildMaskForTile(n,e,t):brt,structure:d._terrainDataStructure,encoding:d._encoding})}).catch(async function(m){if(l(a)&&a.state===ti.CANCELLED){i.cancel();try{await i.deferred?.promise}catch{}return i.state=ti.CANCELLED,Promise.reject(m)}return Promise.reject(m)})};function P4(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailabilityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}Gy.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<0;){let c=a.pop(),d=xrt(c,n,i,o);if(d.value===1){let m=d.range;m.startX+=e,m.endX+=e,m.startY+=t,m.endY+=t,r.push(m)}let u=d.endingIndices;u.length>0&&(a=a.concat(u))}return r}function q0e(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<',!1)}Object.defineProperties(w4.prototype,{url:{get:function(){return $0e}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});w4.prototype.geocode=async function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],d=r[3];return{displayName:o.name,destination:le.fromDegrees(a,s,d,c)}})})};var F4=w4;var bSi=T(S(),1);function A4(){}Object.defineProperties(A4.prototype,{credit:{get:function(){}}});A4.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s2&&(l(i)||(i=Crt,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!l(o))){let r=t.length-1;o=Vrt,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=Srt(this),this._lastTimeIndex=0}Object.defineProperties(Ey.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});Ey.catmullRomCoefficientMatrix=new M(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);Ey.prototype.findTimeInterval=ro.prototype.findTimeInterval;Ey.prototype.wrapTime=ro.prototype.wrapTime;Ey.prototype.clampTime=ro.prototype.clampTime;Ey.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var N4=Ey;var bCi=T(S(),1);var YSi=T(S(),1);var ISi=T(S(),1);var ZD={};ZD.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){l(r)?r.length=0:r=[];let s,a,c;t?(s=ne,a=i>e,c=o>e);let d=s+a+c,u,m,p,g,f,x;return d===1?s?(u=(e-n)/(i-n),m=(e-n)/(o-n),r.push(1),r.push(2),m!==1&&(r.push(-1),r.push(0),r.push(2),r.push(m)),u!==1&&(r.push(-1),r.push(0),r.push(1),r.push(u))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(f=(e-o)/(n-o),x=(e-o)/(i-o),r.push(0),r.push(1),x!==1&&(r.push(-1),r.push(2),r.push(1),r.push(x)),f!==1&&(r.push(-1),r.push(2),r.push(0),r.push(f))):d===2?!s&&n!==e?(g=(e-i)/(n-i),f=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(f)):!a&&i!==e?(x=(e-o)/(i-o),u=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(x),r.push(-1),r.push(0),r.push(1),r.push(u)):!c&&o!==e&&(m=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(m),r.push(-1),r.push(1),r.push(2),r.push(p)):d!==3&&(r.push(0),r.push(1),r.push(2)),r};ZD.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let d=n-s,u=s-o,m=r-a,p=i-a,g=1/(m*d+u*p),f=t-a,x=e-s,_=(m*x+u*f)*g,C=(-p*x+d*f)*g,V=1-_-C;return l(c)?(c.x=_,c.y=C,c.z=V,c):new h(_,C,V)};ZD.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let d=(s-o)*(t-r)-(a-r)*(e-o),u=(n-e)*(t-r)-(i-t)*(e-o),m=(a-r)*(n-e)-(s-o)*(i-t);if(m===0)return;let p=d/m,g=u/m;if(p>=0&&p<=1&&g>=0&&g<=1)return l(c)||(c=new D),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var a0=ZD;function Iy(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=ED(e.westIndices,o,t),this._southIndices=ED(e.southIndices,r,t),this._eastIndices=ED(e.eastIndices,o,t),this._northIndices=ED(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(Iy.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return l(this._mesh)}}});var GD=[];function ED(e,t,n){GD.length=e.length;let i=!1;for(let o=0,r=e.length;o0&&t(e[o-1],e[o])>0;return i?(GD.sort(t),ke.createTypedArray(n,GD)):e}var tge="createVerticesFromQuantizedTerrainMesh",Lrt=new xi(tge),Rrt=new xi(tge,Zh.maximumAsynchronousTasks);Iy.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,d=t.tileXYToRectangle(n,i,o),m=(a?Rrt:Lrt).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:d,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!l(m))return;let p=this;return Promise.resolve(m).then(function(g){let f=p._quantizedVertices.length/3,x=f+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,_=ke.createTypedArray(x,g.indices),C=new Float32Array(g.vertices),V=g.center,L=g.minimumHeight,Z=g.maximumHeight,G=p._boundingSphere,I=p._orientedBoundingBox,v=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),P=g.vertexStride,w=Rc.clone(g.encoding);return p._mesh=new am(V,C,_,g.indexCountWithoutSkirts,f,L,Z,G,v,P,I,w,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var Zrt=new xi("upsampleQuantizedTerrainMesh",Zh.maximumAsynchronousTasks);Iy.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,d=n*2===r,u=e.ellipsoid,m=e.tileXYToRectangle(o,r,s),p=Zrt.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:d,childRectangle:m,ellipsoid:u});if(!l(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let f=c?g*.5:this._westSkirtHeight,x=d?g*.5:this._southSkirtHeight,_=c?this._eastSkirtHeight:g*.5,C=d?this._northSkirtHeight:g*.5,V=this._credits;return Promise.resolve(p).then(function(L){let Z=new Uint16Array(L.vertices),G=ke.createTypedArray(Z.length/3,L.indices),I;return l(L.encodedNormals)&&(I=new Uint8Array(L.encodedNormals)),new Iy({quantizedVertices:Z,indices:G,encodedNormals:I,minimumHeight:L.minimumHeight,maximumHeight:L.maximumHeight,boundingSphere:de.clone(L.boundingSphere),orientedBoundingBox:In.clone(L.orientedBoundingBox),horizonOcclusionPoint:h.clone(L.horizonOcclusionPoint),westIndices:L.westIndices,southIndices:L.southIndices,eastIndices:L.eastIndices,northIndices:L.northIndices,westSkirtHeight:f,southSkirtHeight:x,eastSkirtHeight:_,northSkirtHeight:C,childTileMask:0,credits:V,createdByUpsampling:!0})})};var k4=32767,nge=new h;Iy.prototype.interpolateHeight=function(e,t,n){let i=W.clamp((t-e.west)/e.width,0,1);i*=k4;let o=W.clamp((n-e.south)/e.height,0,1);return o*=k4,l(this._mesh)?Xrt(this,i,o):Wrt(this,i,o)};function ige(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),d=Math.max(n,o,s),u=Math.min(i,r,a),m=Math.max(i,r,a);return e>=c&&e<=d&&t>=u&&t<=m}var Grt=new D,Ert=new D,Irt=new D;function Xrt(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let _=r.decodeHeight(o,d),C=r.decodeHeight(o,u),V=r.decodeHeight(o,m);return x.x*_+x.y*C+x.z*V}}}}function Wrt(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a=-1e-15&&V.y>=-1e-15&&V.z>=-1e-15){let L=V.x*r[d]+V.y*r[u]+V.z*r[m];return W.lerp(e._minimumHeight,e._maximumHeight,L/k4)}}}}Iy.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<0&&(e.attribution+=" "),e.attribution+=t.attribution),e.layers.push(new Prt({resource:e.lastResource,version:t.version,isHeightmap:a,tileUrlTemplates:c,availability:g,hasVertexNormals:i,hasWaterMask:o,hasMetadata:r,availabilityLevels:m,availabilityTilesLoaded:u,littleEndianExtensionSize:s}));let f=t.parentUrl;return l(f)?l(g)?(e.lastResource=e.lastResource.getDerivedResource({url:f}),e.lastResource.appendForwardSlash(),e.layerJsonResource=e.lastResource.getDerivedResource({url:"layer.json"}),await B4(e),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function vrt(e,t,n){let i=`An error occurred while accessing ${e.layerJsonResource.url}.`;if(l(t)&&(i+=` +${t.message}`),e.previousError=Zo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,i),e.previousError.retry)return B4(e,n);throw new ce(i)}async function wrt(e,t,n){await sge(e,t,n);let i=e.overallAvailability.length;if(i>0){let o=e.availability=new Gh(e.tilingScheme,e.overallMaxZoom);for(let r=0;r0){let o=new Lt(e.attribution);e.tileCredits.push(o)}return!0}async function B4(e,t){try{let n=await e.layerJsonResource.fetchJson();return wrt(e,n,t)}catch(n){return l(n)&&n.statusCode===404?(await sge(e,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},t),!0):vrt(e,n,t)}}function Eh(e){e=y(e,y.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new be;let t=e.credit;typeof t=="string"&&(t=new Lt(t)),this._credit=t,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._tileCredits=void 0}var U4={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function oge(e){return!l(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function Frt(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new Ya({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function Art(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,d=c+1,u=Float64Array.BYTES_PER_ELEMENT*c,m=Float64Array.BYTES_PER_ELEMENT*d,g=Uint16Array.BYTES_PER_ELEMENT*3,f=3,x=Uint16Array.BYTES_PER_ELEMENT,_=x*f,C=new DataView(t),V=new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0));a+=u;let L=C.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let Z=C.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let G=new de(new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0)),C.getFloat64(a+u,!0));a+=m;let I=new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0));a+=u;let v=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let P=new Uint16Array(t,a,v*3);a+=v*g,v>64*1024&&(x=Uint32Array.BYTES_PER_ELEMENT,_=x*f);let w=P.subarray(0,v),A=P.subarray(v,2*v),b=P.subarray(v*2,3*v);An.zigZagDeltaDecode(w,A,b),a%x!==0&&(a+=x-a%x);let R=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let E=ke.createTypedArrayFromArrayBuffer(v,t,a,R*f);a+=R*_;let X=0,F=E.length;for(let ae=0;ae0){let Ie=Po(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,Te).available;if(l(Ie))for(let Ae=0;Aem.promise))}return!l(r)&&a?c.then(()=>new Promise(d=>{setTimeout(()=>{let u=this.requestTileGeometry(e,t,n,i);d(u)},0)})):age(this,e,t,n,r,i)};function age(e,t,n,i,o,r){if(!l(o))return Promise.reject(new ce("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let d,u,m=s[(t+a+i)%s.length],p=o.resource;l(p._ionEndpoint)&&!l(p._ionEndpoint.externalType)?(c.length!==0&&(u={extensions:c.join("-")}),d=oge(void 0)):d=oge(c);let g=p.getDerivedResource({url:m,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:u,headers:d,request:r}).fetchArrayBuffer();if(l(g))return g.then(function(f){return l(f)?l(e._heightmapStructure)?Frt(e,f,i,t,n):Art(e,f,i,t,n,o):Promise.reject(new ce("Mesh buffer doesn't exist."))})}Object.defineProperties(Eh.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Eh.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;rthis._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r=d&&(m=(m+8)%24,u=m);se;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});Ih.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new Ih({comparator:t,maximumLength:e});o._length=i;for(let r=0;r=2&&(this._array[0]=this._array[e-1],uge(this,0)),this._array[e-1]=void 0,t};Ih.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=Q4(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&uge(this,n)}return this._array[e-1]=void 0,t};Ih.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};Ih.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[Q4(this,1,2)?1:2]};function ID(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function Vw(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function Q4(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function dge(e,t){if(t===0)return;let n=Math.floor(W.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=Vw(e,t,i);for(o!==n&&(ID(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(Vw(e,t,r)!==o)break;ID(e,t,r),t=r}}function uge(e,t){let n=e._length,i=Math.floor(W.log2(t+1))%2===0,o;for(;(o=2*t+1)mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 +\xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 +ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS +>\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 +\x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function Qd(e){this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=W.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={}}Object.defineProperties(Qd.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}}});Qd.fromUrl=async function(e){let t=e;typeof t!="string"&&!(t instanceof Le)&&(t=e.url);let n=Le.createIfNeeded(t);n.appendForwardSlash();let i=new Qd;i._resource=n;try{await xst(i),await i.getQuadTreePacket("",i._quadPacketVersion)}catch(o){let r=`An error occurred while accessing ${xge(i,"",1).url}: ${o}`;throw new ce(r)}return i};Qd.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<=0;--o){let r=1<1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),l(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var yge=new xi("decodeGoogleEarthEnterprisePacket");Qd.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=xge(this,e,t,n).fetchArrayBuffer();if(!l(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return yge.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(d){let u,m=-1;if(e!==""){m=e.length+1;let f=d[e];u=r[e],u._bits|=f._bits,delete d[e]}let p=Object.keys(d);p.sort(function(f,x){return f.length-x.length});let g=p.length;for(let f=0;f1){let L=r[x.substring(0,x.length-1)];C.setParent(L)}r[x]=C}else r[x]=null}})})};Qd.prototype.populateSubtree=function(e,t,n,i){let o=Qd.tileXYToQuadKey(e,t,n);return oj(this,o,i)};function oj(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(l(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(l(c))return c.then(function(){return s=new Qo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),oj(e,t,s)});if(!l(r)||!r.hasSubtree())return Promise.reject(new ce(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!l(c))return a[o]=c,c.then(function(){return s=new Qo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),oj(e,t,s)}).finally(function(){delete a[o]})}Qd.prototype.getTileInformation=function(e,t,n){let i=Qd.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};Qd.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function xge(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var nj,ij;function xst(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!l(ij)){let n=sn("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;ij=lx(n).then(function(){nj=window.cesiumGoogleEarthDbRootParser(bst),l(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return ij.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=nj.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return yge.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=nj.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),l(i.endSnippet)&&l(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}l(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let _=r.decodeHeight(o,d),C=r.decodeHeight(o,u),V=r.decodeHeight(o,m);return x.x*_+x.y*C+x.z*V}}}var Zst=Uint16Array.BYTES_PER_ELEMENT,Tge=Uint32Array.BYTES_PER_ELEMENT,sj=Int32Array.BYTES_PER_ELEMENT,Gst=Float32Array.BYTES_PER_ELEMENT,aj=Float64Array.BYTES_PER_ELEMENT;function Est(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),d=0;for(let G=0;G=-1e-15&&X.y>=-1e-15&&X.z>=-1e-15)return X.x*V[G]+X.y*V[I]+X.z*V[v]}}var zV=UT;var SLi=T(S(),1);var cm={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},PD=new j;function vD(){this._terrainCache={},this._lastTidy=j.now()}vD.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:j.now()}};vD.prototype.get=function(e){let n=this._terrainCache[e];if(l(n))return delete this._terrainCache[e],n.buffer};vD.prototype.tidy=function(){if(j.now(PD),j.secondsDifference(PD,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i10&&delete e[o]}j.clone(PD,this._lastTidy)}};function Py(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=new Hi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new le(-W.PI,-W.PI,W.PI,W.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new Lt(t)),this._credit=t,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new vD,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new be}Object.defineProperties(Py.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});Py.fromMetadata=function(e,t){if(!e.terrainPresent)throw new ce(`The server ${e.url} doesn't have terrain`);let n=new Py(t);return n._metadata=e,n};var Ist=new xi("decodeGoogleEarthEnterprisePacket");function Vge(e,t,n){let i=t.getChildBitmask();if(t.terrainState===cm.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());l(r)&&r.hasTerrain()&&(i|=1<0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var cj=Py;var ELi=T(S(),1);var Wst="https://maps.googleapis.com/maps/api/geocode/json",Lge='Google';function lj(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._resource=new Le({url:Wst,queryParameters:{key:t}}),this._credit=new Lt(Lge,!0)}Object.defineProperties(lj.prototype,{credit:{get:function(){return this._credit}}});lj.prototype.geocode=async function(e){let n=await this._resource.getDerivedResource({queryParameters:{address:e}}).fetchJson();if(n.status==="ZERO_RESULTS")return[];if(n.status!=="OK")throw new ce(`GoogleGeocoderService got a bad response ${n.status}: ${n.error_message}`);return n.results.map(o=>{let r=o.geometry.viewport.southwest,s=o.geometry.viewport.northeast;return{displayName:o.formatted_address,destination:le.fromDegrees(r.lng,r.lat,s.lng,s.lat),attribution:{html:Lge,collapsible:!1}}})};var dj=lj;var PLi=T(S(),1);var wD={};wD.defaultApiKey=void 0;wD.mapTilesApiEndpoint=new Le({url:"https://tile.googleapis.com/v1/"});wD.getDefaultCredit=function(){return new Lt('Google',!0)};var DT=wD;var DLi=T(S(),1);var wLi=T(S(),1);function Pst(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var Iw=Pst;var Nge={},vst=32.184,wst=2451545,Rge=-.0529921,Zge=-.1059842,Gge=13.0120009,Ege=13.3407154,Ige=.9856003,Xge=26.4057084,Wge=13.064993,Pge=.3287146,vge=1.7484877,wge=-.1589763,Fge=.0036096,Age=.1643573,Mge=12.9590088,uj=new j;Nge.ComputeMoon=function(e,t){l(e)||(e=j.now()),uj=j.addSeconds(e,vst,uj);let n=j.totalDays(uj)-wst,i=n/Jn.DAYS_PER_JULIAN_CENTURY,o=(125.045+Rge*n)*W.RADIANS_PER_DEGREE,r=(250.089+Zge*n)*W.RADIANS_PER_DEGREE,s=(260.008+Gge*n)*W.RADIANS_PER_DEGREE,a=(176.625+Ege*n)*W.RADIANS_PER_DEGREE,c=(357.529+Ige*n)*W.RADIANS_PER_DEGREE,d=(311.589+Xge*n)*W.RADIANS_PER_DEGREE,u=(134.963+Wge*n)*W.RADIANS_PER_DEGREE,m=(276.617+Pge*n)*W.RADIANS_PER_DEGREE,p=(34.226+vge*n)*W.RADIANS_PER_DEGREE,g=(15.134+wge*n)*W.RADIANS_PER_DEGREE,f=(119.743+Fge*n)*W.RADIANS_PER_DEGREE,x=(239.961+Age*n)*W.RADIANS_PER_DEGREE,_=(25.053+Mge*n)*W.RADIANS_PER_DEGREE,C=Math.sin(o),V=Math.sin(r),L=Math.sin(s),Z=Math.sin(a),G=Math.sin(c),I=Math.sin(d),v=Math.sin(u),P=Math.sin(m),w=Math.sin(p),A=Math.sin(g),b=Math.sin(f),R=Math.sin(x),E=Math.sin(_),X=Math.cos(o),F=Math.cos(r),N=Math.cos(s),O=Math.cos(a),U=Math.cos(c),Y=Math.cos(d),k=Math.cos(u),H=Math.cos(m),J=Math.cos(p),te=Math.cos(g),z=Math.cos(f),q=Math.cos(x),ee=Math.cos(_),pe=(269.9949+.0031*i-3.8787*C-.1204*V+.07*L-.0172*Z+.0072*I-.0052*A+.0043*E)*W.RADIANS_PER_DEGREE,_e=(66.5392+.013*i+1.5419*X+.0239*F-.0278*N+.0068*O-.0029*Y+9e-4*k+8e-4*te-9e-4*ee)*W.RADIANS_PER_DEGREE,ae=(38.3213+13.17635815*n-14e-13*n*n+3.561*C+.1208*V-.0642*L+.0158*Z+.0252*G-.0066*I-.0047*v-.0046*P+.0028*w+.0052*A+.004*b+.0019*R-.0044*E)*W.RADIANS_PER_DEGREE,ye=(13.17635815-14e-13*(2*n)+3.561*X*Rge+.1208*F*Zge-.0642*N*Gge+.0158*O*Ege+.0252*U*Ige-.0066*Y*Xge-.0047*k*Wge-.0046*H*Pge+.0028*J*vge+.0052*te*wge+.004*z*Fge+.0019*q*Age-.0044*ee*Mge)/86400*W.RADIANS_PER_DEGREE;return l(t)||(t=new Iw),t.rightAscension=pe,t.declination=_e,t.rotation=ae,t.rotationRate=ye,t};var Xw=Nge;var jLi=T(S(),1);function kge(e){(!l(e)||typeof e!="function")&&(e=Xw.ComputeMoon),this._computeFunction=e}var Fst=new h,Ast=new h,Mst=new h;function Nst(e,t,n){let i=Fst;i.x=Math.cos(e+W.PI_OVER_TWO),i.y=Math.sin(e+W.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=Mst;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,Ast);return l(n)||(n=new $),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var kst=new $,Ust=new Fe;kge.prototype.evaluate=function(e,t){l(e)||(e=j.now());let n=this._computeFunction(e),i=Nst(n.rightAscension,n.declination,t),o=W.zeroToTwoPi(n.rotation),r=Fe.fromAxisAngle(h.UNIT_Z,o,Ust),s=$.fromQuaternion(Fe.conjugate(r,r),kst);return $.multiply(s,i,i)};var Ww=kge;var eRi=T(S(),1);var Pw={};Pw.type=void 0;Pw.getRequiredDataPoints=fe.throwInstantiationError;Pw.interpolateOrderZero=fe.throwInstantiationError;Pw.interpolate=fe.throwInstantiationError;var mj=Pw;var nRi=T(S(),1),Dst={GOOGLE:"GOOGLE",BING:"BING",DEFAULT:"DEFAULT"},d0=Object.freeze(Dst);var xRi=T(S(),1);var lRi=T(S(),1);function hj(e){this._url=Le.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(hj.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});hj.prototype.geocode=async function(e,t){return this._url.getDerivedResource({url:t===Wy.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(l(s))r=le.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r,attributions:i.attributions}})})};var vw=hj;function Bst(e){if(!Object.values(d0).some(t=>t===e))throw new fe(`Invalid geocodeProviderType: "${e}"`)}var Uge=Object.freeze({[d0.GOOGLE]:"google",[d0.BING]:"bing",[d0.DEFAULT]:void 0});function Ost(e){return Uge[e]}function Yst(e){return Object.entries(Uge).find(t=>t[1]===e)[0]}function fj(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.geocodeProviderType,d0.DEFAULT),n=y(e.accessToken,Nm.defaultAccessToken),i=Le.createIfNeeded(y(e.server,Nm.defaultServer));i.appendForwardSlash();let o=Nm.getDefaultTokenCredit(n);l(o)&&e.scene.frameState.creditDisplay.addStaticCredit(Lt.clone(o));let r=i.getDerivedResource({url:"v1/geocode"});l(n)&&r.appendQueryParameters({access_token:n}),this._accessToken=n,this._server=i,this._pelias=new vw(r),this.geocodeProviderType=t}Object.defineProperties(fj.prototype,{credit:{get:function(){}},geocodeProviderType:{get:function(){return Yst(this._pelias.url.queryParameters.geocoder)},set:function(e){Bst(e);let t={...this._pelias.url.queryParameters,geocoder:Ost(e)};l(t.geocoder)||delete t.geocoder,this._pelias.url.setQueryParameters(t)}}});fj.prototype.geocode=async function(e,t){return this._pelias.geocode(e,t)};var BT=fj;var CRi=T(S(),1);var Gc={};Gc.ExportStatus=Object.freeze({NotStarted:"NotStarted",InProgress:"InProgress",Complete:"Complete",Invalid:"Invalid"});Gc.ExportType=Object.freeze({IMODEL:"IMODEL",CESIUM:"CESIUM","3DTILES":"3DTILES"});Gc.RealityDataType=Object.freeze({Cesium3DTiles:"Cesium3DTiles",PNTS:"PNTS",OPC:"OPC",RealityMesh3DTiles:"RealityMesh3DTiles",Terrain3DTiles:"Terrain3DTiles","3MX":"3MX","3SM":"3SM",CCCloudProject:"CCCloudProject",CCImageCollection:"CCImageCollection",CCOrientations:"CCOrientations",ContextCaptureInputs:"ContextCaptureInputs",ContextDetector:"ContextDetector",ContextScene:"ContextScene",DAE:"DAE",DGN:"DGN",DSM:"DSM",FBX:"FBX",GLB:"GLB",GLTF:"GLTF",KML:"KML",LAS:"LAS",LAZ:"LAZ",LOD:"LOD",LodTree:"LodTree",OBJ:"OBJ",OMI:"OMI",OMR:"OMR",Orthophoto:"Orthophoto",OrthophotoDSM:"OrthophotoDSM",OSGB:"OSGB",OVF:"OVF",OBT:"OBT",PLY:"PLY",PointCloud:"PointCloud",S3C:"S3C",ScanCollection:"ScanCollection",SHP:"SHP",SLPK:"SLPK",SpaceEyes3D:"SpaceEyes3D",STL:"STL",TSM:"TSM",Unstructured:"Unstructured",Other:"Other"});Gc.defaultAccessToken=void 0;Gc.apiEndpoint=new Le({url:"https://api.bentley.com"});Gc.getExports=async function(e){let t=new Le({url:`${Gc.apiEndpoint}mesh-export`,headers:{Authorization:`Bearer ${Gc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json",Prefer:"return=representation"},queryParameters:{iModelId:e,exportType:Gc.ExportType["3DTILES"],$top:"5",client:"CesiumJS"}});typeof CESIUM_VERSION<"u"&&t.appendQueryParameters({clientVersion:CESIUM_VERSION});try{return await t.fetchJson()}catch(n){let i=JSON.parse(n.response);throw n.statusCode===401?new ce(`Unauthorized, bad token, wrong scopes or headers bad. ${i.error.details[0].code}`):n.statusCode===403?(console.error(i.error.code,i.error.message),new ce("Not allowed, forbidden")):n.statusCode===422?new ce(`Unprocessable Entity:${i.error.code} ${i.error.message}`):n.statusCode===429?new ce("Too many requests"):new ce(`Unknown request failure ${n.statusCode}`)}};Gc.getRealityDataMetadata=async function(e,t){let n=new Le({url:`${Gc.apiEndpoint}reality-management/reality-data/${t}`,headers:{Authorization:`Bearer ${Gc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json"},queryParameters:{iTwinId:e}});try{return(await n.fetchJson()).realityData}catch(i){let o=JSON.parse(i.response);throw i.statusCode===401?new ce(`Unauthorized, bad token, wrong scopes or headers bad. ${o.error.details[0].code}`):i.statusCode===403?(console.error(o.error.code,o.error.message),new ce("Not allowed, forbidden")):i.statusCode===404?new ce(`Reality data not found: ${e}, ${t}`):i.statusCode===422?new ce(`Unprocessable Entity:${o.error.code} ${o.error.message}`):i.statusCode===429?new ce("Too many requests"):new ce(`Unknown request failure ${i.statusCode}`)}};Gc.getRealityDataURL=async function(e,t,n){let i=new Le({url:`${Gc.apiEndpoint}reality-management/reality-data/${t}/readaccess`,headers:{Authorization:`Bearer ${Gc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json"},queryParameters:{iTwinId:e}});try{let r=(await i.fetchJson())._links.containerUrl.href,s=new URL(r);return s.pathname=`${s.pathname}/${n}`,s.toString()}catch(o){let r=JSON.parse(o.response);throw o.statusCode===401?new ce(`Unauthorized, bad token, wrong scopes or headers bad. ${r.error.details[0].code}`):o.statusCode===403?(console.error(r.error.code,r.error.message),new ce("Not allowed, forbidden")):o.statusCode===404?new ce(`Reality data not found: ${e}, ${t}`):o.statusCode===422?new ce(`Unprocessable Entity:${r.error.code} ${r.error.message}`):o.statusCode===429?new ce("Too many requests"):new ce(`Unknown request failure ${o.statusCode}`)}};var jd=Gc;var LRi=T(S(),1),Hst={SHIFT:0,CTRL:1,ALT:2},na=Object.freeze(Hst);var GRi=T(S(),1);function FD(){fe.throwInstantiationError()}Object.defineProperties(FD.prototype,{ellipsoid:{get:fe.throwInstantiationError}});FD.prototype.project=fe.throwInstantiationError;FD.prototype.unproject=fe.throwInstantiationError;var pj=FD;var IRi=T(S(),1);var bj=[],gj=[];function zst(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=bj,d=gj,u,m;for(u=0;u=a||t(g,f,n)<=0)?(e[p]=g,++u):m=o)return;let r=Math.floor((i+o)*.5);yj(e,t,n,i,r),yj(e,t,n,r+1,o),zst(e,t,n,i,r,o)}function Kst(e,t,n){let i=e.length,o=Math.ceil(i*.5);bj.length=o,gj.length=o,yj(e,t,n,0,i-1),bj.length=0,gj.length=0}var u0=Kst;var wRi=T(S(),1);function KV(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(KV.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});KV.prototype.findTimeInterval=ro.prototype.findTimeInterval;KV.prototype.wrapTime=ro.prototype.wrapTime;KV.prototype.clampTime=ro.prototype.clampTime;KV.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);l(t)||(t=new Array(this._count));for(let s=0;si){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,AD);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,AD),AD)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});Ec.fromBoundingSphere=function(e,t,n){return l(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new Ec(e,t)};var Bge=new h;Ec.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,Bge),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var Qst=new h;Ec.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,Qst),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,Bge),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var jst=new h;Ec.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return pr.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,jst),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n0?(o=Math.sqrt(o)+this._horizonDistance,s-n?pr.PARTIAL:pr.FULL))}}return pr.NONE};var MD=new h;Ec.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,MD),MD),c=-h.dot(a,o),d=Ec._anyRotationVector(o,a,c),u=Ec._horizonToPlaneNormalDotProduct(e,a,c,d,n[0]);if(!u)return;let m;for(let g=1;gi.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var eat=new h;Ec._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,eat);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>W.EPSILON13)return h.normalize(s,new h)}return o};var _j=new h,tat=new h,ND=new h,Dge=new h;Ec._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,_j),s=h.clone(e.center,tat),a=e.radius,c=h.subtract(s,r,ND),d=h.magnitudeSquared(c),u=a*a;if(dOpenStreetMap contributors',!1)}Object.defineProperties(Tj.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});Tj.prototype.geocode=async function(e){return this._url.getDerivedResource({url:"json",queryParameters:Vt(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(l(r))o=le.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var Sj=Tj;var rZi=T(S(),1);var nat={packedLength:void 0,pack:fe.throwInstantiationError,unpack:fe.throwInstantiationError},Cj=nat;var cZi=T(S(),1);var iat={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:fe.throwInstantiationError,unpackInterpolationResult:fe.throwInstantiationError},Vj=iat;var hZi=T(S(),1);var oat=new h;function rat(e,t,n,i){let o=yx(e,t,n,i,oat);return l(o)?o.x>0&&o.y>0&&o.z>0:!1}var Lj=rat;var bZi=T(S(),1);function Oge(){fe.throwInstantiationError()}Oge.prototype.getURL=fe.throwInstantiationError;var Rj=Oge;var xZi=T(S(),1);async function sat(e,t,n,i){return l(i)||(i=!1),lat(e,t,n,i)}function aat(e,t,n){let i=e[0],o=i.terrainProvider.requestTileGeometry(i.x,i.y,i.level);if(!o)return!1;let r;return n?r=o.then(Hge(i)):r=o.then(Hge(i)).catch(dat(i)),e.shift(),t.push(r),!0}function cat(e){return new Promise(function(t){setTimeout(t,e)})}function Zj(e,t,n){return e.length?aat(e,t,n)?Zj(e,t,n):cat(100).then(()=>Zj(e,t,n)):Promise.resolve()}function lat(e,t,n,i){let o=e.tilingScheme,r,s=[],a={};for(r=0;r0&&await zge(e,a,n),t}var OT=zge;var AZi=T(S(),1);var RZi=T(S(),1),uat={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},Cn=Object.freeze(uat);function vy(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=(t.clientX-o.left)*(i.offsetWidth/o.width),n.y=(t.clientY-o.top)*(i.offsetHeight/o.height),n}function vj(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function YT(e){if(e.shiftKey)return na.SHIFT;if(e.ctrlKey)return na.CTRL;if(e.altKey)return na.ALT}var Fs={LEFT:0,MIDDLE:1,RIGHT:2};function qd(e,t,n,i){function o(r){i(e,r)}Yt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function mat(e){let t=e._element,n=l(t.disableRootEvents)?t:document;Yt.supportsPointerEvents()?(qd(e,"pointerdown",t,yat),qd(e,"pointerup",t,iye),qd(e,"pointermove",t,xat),qd(e,"pointercancel",t,iye)):(qd(e,"mousedown",t,oye),qd(e,"mouseup",n,rye),qd(e,"mousemove",n,sye),qd(e,"touchstart",t,bat),qd(e,"touchend",n,qge),qd(e,"touchmove",n,gat),qd(e,"touchcancel",n,qge)),qd(e,"dblclick",t,fat);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",qd(e,i,t,pat)}function hat(e){let t=e._removalFunctions;for(let n=0;nWh.mouseEmulationIgnoreMilliseconds}function Pj(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)0?n=t.detail*-120:n=t.wheelDelta;if(!l(n))return;let i=YT(t),o=e.getInputAction(Cn.WHEEL,i);l(o)&&(o(n),t.preventDefault())}function bat(e,t){wj(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i0?new Array(o):void 0;for(i=0;i0&&(h.pack(I,m,Z),Z+=3,f=n[d-1],g[G++]=B.floatToByte(f.red),g[G++]=B.floatToByte(f.green),g[G++]=B.floatToByte(f.blue),g[G++]=B.floatToByte(f.alpha)),c&&d===u-1)break;h.pack(I,m,Z),Z+=3,l(n)&&(f=n[d],g[G++]=B.floatToByte(f.red),g[G++]=B.floatToByte(f.green),g[G++]=B.floatToByte(f.blue),g[G++]=B.floatToByte(f.alpha))}}let _=new fn;_.position=new Ze({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:m}),l(n)&&(_.color=new Ze({componentDatatype:Q.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=m.length/3;let C=(p-1)*2,V=ke.createTypedArray(p,C),L=0;for(d=0;da?c=a:s<0?c=0:c=s;let u=i?y(this.tolerance,1):.001;Math.abs(c-d)>u&&(this._seeking=!0,t.currentTime=c)};function Lat(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var kj=zT;var AGi=T(S(),1);function Rat(e,t){this.rectangle=e,this.maxLevel=t}function cye(e){this.ellipsoid=y(e.ellipsoid,ne.default),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}cye.prototype.build=function(e){e._tilingScheme=this.tilingScheme,e._heightmapWidth=this.heightmapWidth,e._heightmapHeight=this.heightmapHeight,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._rectangles=this.rectangles};function Zat(e,t){let n=t.getElementsByTagName("SRS")[0].textContent;if(n==="EPSG:4326")e.tilingScheme=new Hi({ellipsoid:e.ellipsoid});else throw new ce(`SRS ${n} is not supported`);let i=t.getElementsByTagName("TileFormat")[0];e.heightmapWidth=parseInt(i.getAttribute("width"),10),e.heightmapHeight=parseInt(i.getAttribute("height"),10),e.levelZeroMaximumGeometricError=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.ellipsoid,Math.min(e.heightmapWidth,e.heightmapHeight),e.tilingScheme.getNumberOfXTilesAtLevel(0));let o=t.getElementsByTagName("DataExtent");for(let r=0;r 0.0 and <= 1.0 -#endif + vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); + vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); + vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); + vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); -uniform mat3 u_transformDirectionViewToLocal; -uniform vec3 u_cameraPositionUv; -uniform float u_stepSize; + vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); + vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); + return mix(yLerp0, yLerp1, lerpValue.z); +} -#if defined(PICKING) - uniform vec4 u_pickColor; -#endif +// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). +bool intersectSphere(vec3 origin, vec3 dir, float slice, + out vec3 point, out vec3 normal) { + float A = dot(dir, dir); + float B = dot(origin, dir); + float C = dot(origin, origin) - 0.25; + float discriminant = (B * B) - (A * C); + if(discriminant < 0.0) { + return false; + } + float root = sqrt(discriminant); + float t = (-B - root) / A; + if(t < 0.0) { + t = (-B + root) / A; + } + point = origin + t * dir; -vec3 getSampleSize(in int level) { - vec3 sampleCount = exp2(float(level)) * vec3(u_dimensions); - vec3 sampleSizeUv = 1.0 / sampleCount; - return scaleShapeUvToShapeSpace(sampleSizeUv); -} + if(slice >= 0.0) { + point.z = (slice / 2.0) - 0.5; + if(length(point) > 0.5) { + return false; + } + } -#define MINIMUM_STEP_SCALAR (0.02) -#define SHIFT_FRACTION (0.001) + normal = normalize(point); + point -= czm_epsilon2 * normal; + return true; +} -/** - * Given a coordinate within a tile, and sample spacings along a ray through - * the coordinate, find the distance to the points where the ray entered and - * exited the voxel cell, along with the surface normals at those points. - * The surface normals are returned in shape space coordinates. - */ -RayShapeIntersection getVoxelIntersection(in vec3 tileUv, in vec3 sampleSizeAlongRay) { - vec3 voxelCoord = tileUv * vec3(u_dimensions); - vec3 directions = sign(sampleSizeAlongRay); - vec3 positiveDirections = max(directions, 0.0); - vec3 entryCoord = mix(ceil(voxelCoord), floor(voxelCoord), positiveDirections); - vec3 exitCoord = entryCoord + directions; - - vec3 distanceFromEntry = -abs((entryCoord - voxelCoord) * sampleSizeAlongRay); - float lastEntry = maxComponent(distanceFromEntry); - bvec3 isLastEntry = equal(distanceFromEntry, vec3(lastEntry)); - vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; - vec4 entry = vec4(entryNormal, lastEntry); - - vec3 distanceToExit = abs((exitCoord - voxelCoord) * sampleSizeAlongRay); - float firstExit = minComponent(distanceToExit); - bvec3 isFirstExit = equal(distanceToExit, vec3(firstExit)); - vec3 exitNormal = vec3(isFirstExit) * directions; - vec4 exit = vec4(exitNormal, firstExit); +// Transforms the ray origin and direction into unit sphere space, +// then transforms the result back into the ellipsoid's space. +bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, + out vec3 point, out vec3 normal) { + if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { + return false; + } - return RayShapeIntersection(entry, exit); + vec3 o = (origin - center) / scale; + vec3 d = dir / scale; + vec3 p, n; + bool intersected = intersectSphere(o, d, slice, p, n); + if(intersected) { + point = (p * scale) + center; + normal = n; + } + return intersected; } -vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection, in mat3 jacobianT, in float currentT) { - // The Jacobian is computed in a space where the shape spans [-1, 1]. - // But the ray is marched in a space where the shape fills [0, 1]. - // So we need to scale the Jacobian by 2. - vec3 gradient = 2.0 * viewRay.rawDir * jacobianT; - vec3 sampleSizeAlongRay = getSampleSize(sampleData.tileCoords.w) / gradient; +// Assume that if phase shift is being called for octave i, +// the frequency is of i - 1. This saves us from doing extra +// division / multiplication operations. +vec2 phaseShift2D(vec2 p, vec2 freq) { + return (czm_pi / 2.0) * sin(freq.yx * p.yx); +} - RayShapeIntersection voxelIntersection = getVoxelIntersection(sampleData.tileUv, sampleSizeAlongRay); +vec2 phaseShift3D(vec3 p, vec2 freq) { + return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); +} - // Transform normal from shape space to Cartesian space - vec3 voxelNormal = normalize(jacobianT * voxelIntersection.entry.xyz); - // Compare with the shape intersection, to choose the appropriate normal - vec4 voxelEntry = vec4(voxelNormal, currentT + voxelIntersection.entry.w); - vec4 entry = intersectionMax(shapeIntersection.entry, voxelEntry); +// The cloud texture function derived from Gardner's 1985 paper, +// "Visual Simulation of Clouds." +// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf +const float T0 = 0.6; // contrast of the texture pattern +const float k = 0.1; // computed to produce a maximum value of 1 +const float C0 = 0.8; // coefficient +const float FX0 = 0.6; // frequency X +const float FY0 = 0.6; // frequency Y +const int octaves = 5; - float fixedStep = minComponent(abs(sampleSizeAlongRay)) * u_stepSize; - float shift = fixedStep * SHIFT_FRACTION; - float dt = voxelIntersection.exit.w + shift; - if ((currentT + dt) > shapeIntersection.exit.w) { - // Stop at end of shape - dt = shapeIntersection.exit.w - currentT + shift; +float T(vec3 point) { + vec2 sum = vec2(0.0); + float Ci = C0; + vec2 FXY = vec2(FX0, FY0); + vec2 PXY = vec2(0.0); + for(int i = 1; i <= octaves; i++) { + PXY = phaseShift3D(point, FXY); + Ci *= 0.707; + FXY *= 2.0; + vec2 sinTerm = sin(FXY * point.xy + PXY); + sum += Ci * sinTerm + vec2(T0); } - float stepSize = clamp(dt, fixedStep * MINIMUM_STEP_SCALAR, fixedStep + shift); - - return vec4(entry.xyz, stepSize); -} - -vec2 packIntToVec2(int value) { - float shifted = float(value) / 255.0; - float lowBits = fract(shifted); - float highBits = floor(shifted) / 255.0; - return vec2(highBits, lowBits); + return k * sum.x * sum.y; } -vec2 packFloatToVec2(float value) { - float lowBits = fract(value); - float highBits = floor(value) / 255.0; - return vec2(highBits, lowBits); -} +const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, +const float t = 0.4; // fraction of texture shading +const float s = 0.25; // fraction of specular reflection -int getSampleIndex(in vec3 tileUv) { - ivec3 voxelDimensions = u_dimensions; - vec3 sampleCoordinate = tileUv * vec3(voxelDimensions); - // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not. - // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1). - // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring - vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5); - sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate); - ivec3 sampleIndex = ivec3(floor(sampleCoordinate)); - #if defined(PADDING) - voxelDimensions += u_paddingBefore + u_paddingAfter; - sampleIndex += u_paddingBefore; - #endif - // Convert to a 1D index for lookup in a 1D data array - return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z); +float I(float Id, float Is, float It) { + return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; } -void main() -{ - vec4 fragCoord = gl_FragCoord; - vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] - vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); - vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case - vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case - vec3 viewPosUv = u_cameraPositionUv; - #if defined(SHAPE_ELLIPSOID) - // viewDirUv has been scaled to a space where the ellipsoid is a sphere. - // Undo this scaling to get the raw direction. - vec3 rawDir = viewDirUv * u_ellipsoidRadiiUv; - Ray viewRayUv = Ray(viewPosUv, viewDirUv, rawDir); - #else - Ray viewRayUv = Ray(viewPosUv, viewDirUv, viewDirUv); - #endif - - Intersections ix; - RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); +const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); - // Exit early if the scene was completely missed. - if (shapeIntersection.entry.w == NO_HIT) { - discard; +vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, + float brightness) { + vec3 cloudPoint, cloudNormal; + if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, + cloudPoint, cloudNormal)) { + return vec4(0.0); } - float currentT = shapeIntersection.entry.w; - float endT = shapeIntersection.exit.w; - vec3 positionUv = viewPosUv + currentT * viewDirUv; - PointJacobianT pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); - - // Traverse the tree from the start position - TraversalData traversalData; - SampleData sampleDatas[SAMPLE_COUNT]; - traverseOctreeFromBeginning(pointJacobian.point, traversalData, sampleDatas); - vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection + float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection + float It = T(cloudPoint); // texture function + float intensity = I(Id, Is, It); + vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); - #if defined(JITTER) - float noise = hash(screenCoord); // [0,1] - currentT += noise * step.w; - positionUv += noise * step.w * viewDirUv; - #endif + vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); + float W = noise.x; + float W2 = noise.y; + float W3 = noise.z; - FragmentInput fragmentInput; - #if defined(STATISTICS) - setStatistics(fragmentInput.metadata.statistics); - #endif + // The dot product between the cloud's normal and the ray's direction is greatest + // in the center of the ellipsoid's surface. It decreases towards the edge. + // Thus, it is used to blur the areas leading to the edges of the ellipsoid, + // so that no harsh lines appear. - vec4 colorAccum = vec4(0.0); + // The first (and biggest) layer of worley noise is then subtracted from this. + // The final result is scaled up so that the base cloud is not too translucent. + float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); + float TR = pow(ndDot, 3.0) - W; // translucency + TR *= 1.3; - for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { - // Read properties from the megatexture based on the traversal state - Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); + // Subtracting the second and third layers of worley noise is more complicated. + // If these layers of noise were simply subtracted from the current translucency, + // the shape derived from the first layer of noise would be completely deleted. + // The erosion of this noise should thus be constricted to the edges of the cloud. + // However, because the edges of the ellipsoid were already blurred away, mapping + // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. + // The value of (0.5 - ndDot) provides the best compromise. + float minusDot = 0.5 - ndDot; - // Prepare the custom shader inputs - copyPropertiesToMetadata(properties, fragmentInput.metadata); - fragmentInput.voxel.positionUv = positionUv; - fragmentInput.voxel.positionShapeUv = pointJacobian.point; - fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; - fragmentInput.voxel.viewDirUv = viewDirUv; - fragmentInput.voxel.viewDirWorld = viewDirWorld; - fragmentInput.voxel.surfaceNormal = step.xyz; - fragmentInput.voxel.travelDistance = step.w; - fragmentInput.voxel.stepCount = stepCount; - fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex; - fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv); + // Even with the previous calculation, subtracting the second layer of wnoise + // erode too much of the cloud. The addition of it, however, will detailed + // volume to the cloud. As long as the noise is only added and not subtracted, + // the results are aesthetically pleasing. - // Run the custom shader - czm_modelMaterial materialOutput; - fragmentMain(fragmentInput, materialOutput); + // The minusDot product is mapped in a way that it is larger at the edges of + // the ellipsoid, so a subtraction and min operation are used instead of + // an addition and max one. + TR -= min(minusDot * W2, 0.0); - // Sanitize the custom shader output - vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); - color.rgb = max(color.rgb, vec3(0.0)); - color.a = clamp(color.a, 0.0, 1.0); + // The third level of worley noise is subtracted from the result, with some + // modifications. First, a scalar is added to minusDot so that the noise + // starts affecting the shape farther away from the center of the ellipsoid's + // surface. Then, it is scaled down so its impact is not too intense. + TR -= 0.8 * (minusDot + 0.25) * W3; - // Pre-multiplied alpha blend - colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); + // The texture function's shading does not correlate with the shape of the cloud + // produced by the layers of noise, so an extra shading scalar is calculated. + // The darkest areas of the cloud are assigned to be where the noise erodes + // the cloud the most. This is then interpolated based on the translucency + // and the diffuse shading term of that point in the cloud. + float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); - // Stop traversing if the alpha has been fully saturated - if (colorAccum.a > ALPHA_ACCUM_MAX) { - colorAccum.a = ALPHA_ACCUM_MAX; - break; - } + // To avoid values that are too dark, this scalar is increased by a small amount + // and clamped so it never goes to zero. + shading = clamp(shading + 0.2, 0.3, 1.0); - if (step.w == 0.0) { - // Shape is infinitely thin. The ray may have hit the edge of a - // foreground voxel. Step ahead slightly to check for more voxels - step.w == 0.00001; - } + // Finally, the contrast of the cloud's color is increased. + vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); + return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; +} - // Keep raymarching - currentT += step.w; - positionUv = viewPosUv + currentT * viewDirUv; +void main() { +#ifdef DEBUG_BILLBOARDS + out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); +#endif + // To avoid calculations with high values, + // we raycast from an arbitrarily smaller space. + vec2 coordinate = v_maximumSize.xy * v_offset; - // Check if there's more intersections. - if (currentT > endT) { - #if (INTERSECTION_COUNT == 1) - break; - #else - shapeIntersection = nextIntersection(ix); - if (shapeIntersection.entry.w == NO_HIT) { - break; - } else { - // Found another intersection. Resume raymarching there - currentT = shapeIntersection.entry.w; - endT = shapeIntersection.exit.w; - positionUv = viewPosUv + currentT * viewDirUv; - } - #endif - } + vec3 ellipsoidScale = 0.82 * v_maximumSize; + vec3 ellipsoidCenter = vec3(0.0); - // Traverse the tree from the current ray position. - // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. - pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); - traverseOctreeFromExisting(pointJacobian.point, traversalData, sampleDatas); - step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + float zOffset = max(ellipsoidScale.z - 10.0, 0.0); + vec3 eye = vec3(0, 0, -10.0 - zOffset); + vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); + vec3 rayOrigin = eye; +#ifdef DEBUG_ELLIPSOIDS + vec3 point, normal; + if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, + point, normal)) { + out_FragColor = v_brightness * v_color; } - - // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] - colorAccum.a /= ALPHA_ACCUM_MAX; - - #if defined(PICKING) - // If alpha is 0.0 there is nothing to pick - if (colorAccum.a == 0.0) { - discard; - } - out_FragColor = u_pickColor; - #elif defined(PICKING_VOXEL) - // If alpha is 0.0 there is nothing to pick - if (colorAccum.a == 0.0) { - discard; - } - vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex); - vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv)); - out_FragColor = vec4(megatextureId, sampleIndex); - #else - out_FragColor = colorAccum; - #endif +#else +#ifndef DEBUG_BILLBOARDS + vec4 cloud = drawCloud(rayOrigin, rayDir, + ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); + if(cloud.w < 0.01) { + discard; + } + out_FragColor = cloud; +#endif +#endif } -`;var I_i=T(S(),1),Tw=`in vec2 position; +`;var qGi=T(S(),1),Dw=`#ifdef INSTANCED +in vec2 direction; +#endif +in vec4 positionHighAndScaleX; +in vec4 positionLowAndScaleY; +in vec4 packedAttribute0; +in vec4 packedAttribute1; +in vec4 color; -uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; +out vec2 v_offset; +out vec3 v_maximumSize; +out vec4 v_color; +out float v_slice; +out float v_brightness; void main() { - vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; - vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; - vec2 translation = 0.5 * (aabbMax + aabbMin); - vec2 scale = 0.5 * (aabbMax - aabbMin); - gl_Position = vec4(position * scale + translation, 0.0, 1.0); -} -`;var W_i=T(S(),1),Sw=`/* Intersection defines -#define INTERSECTION_COUNT ### -*/ + // Unpack attributes. + vec3 positionHigh = positionHighAndScaleX.xyz; + vec3 positionLow = positionLowAndScaleY.xyz; + vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); -#define NO_HIT (-czm_infinity) -#define INF_HIT (czm_infinity * 0.5) + float show = packedAttribute0.x; + float brightness = packedAttribute0.y; + vec2 coordinates = packedAttribute0.wz; + vec3 maximumSize = packedAttribute1.xyz; + float slice = packedAttribute1.w; -struct RayShapeIntersection { - vec4 entry; - vec4 exit; -}; +#ifdef INSTANCED + vec2 dir = direction; +#else + vec2 dir = coordinates; +#endif -vec4 intersectionMin(in vec4 intersect0, in vec4 intersect1) -{ - if (intersect0.w == NO_HIT) { - return intersect1; - } else if (intersect1.w == NO_HIT) { - return intersect0; - } - return (intersect0.w <= intersect1.w) ? intersect0 : intersect1; -} + vec2 offset = dir - vec2(0.5, 0.5); + vec2 scaledOffset = scale * offset; + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + positionEC.xy += scaledOffset; + + positionEC.xyz *= show; + gl_Position = czm_projection * positionEC; -vec4 intersectionMax(in vec4 intersect0, in vec4 intersect1) -{ - return (intersect0.w >= intersect1.w) ? intersect0 : intersect1; + v_offset = offset; + v_maximumSize = maximumSize; + v_color = color; + v_slice = slice; + v_brightness = brightness; } +`;var eEi=T(S(),1),Bw=`uniform vec3 u_noiseTextureDimensions; +uniform float u_noiseDetail; +uniform vec3 u_noiseOffset; +in vec2 v_position; -RayShapeIntersection intersectIntersections(in Ray ray, in RayShapeIntersection intersect0, in RayShapeIntersection intersect1) -{ - bool missed = (intersect0.entry.w == NO_HIT) || - (intersect1.entry.w == NO_HIT) || - (intersect0.exit.w < intersect1.entry.w) || - (intersect0.entry.w > intersect1.exit.w); - if (missed) { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - return RayShapeIntersection(miss, miss); +float wrap(float value, float rangeLength) { + if(value < 0.0) { + float absValue = abs(value); + float modValue = mod(absValue, rangeLength); + return mod(rangeLength - modValue, rangeLength); } - - vec4 entry = intersectionMax(intersect0.entry, intersect1.entry); - vec4 exit = intersectionMin(intersect0.exit, intersect1.exit); - - return RayShapeIntersection(entry, exit); + return mod(value, rangeLength); } -struct Intersections { - // Don't access these member variables directly - call the functions instead. - - // Store an array of ray-surface intersections. Each intersection is composed of: - // .xyz for the surface normal at the intersection point - // .w for the T value - // The scale of the normal encodes the shape intersection type: - // length(intersection.xyz) = 1: positive shape entry - // length(intersection.xyz) = 2: positive shape exit - // length(intersection.xyz) = 3: negative shape entry - // length(intersection.xyz) = 4: negative shape exit - // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, - // so we need twice as many to track ray-*surface* intersections - vec4 intersections[INTERSECTION_COUNT * 2]; - - #if (INTERSECTION_COUNT > 1) - // Maintain state for future nextIntersection calls - int index; - int surroundCount; - bool surroundIsPositive; - #endif -}; - -RayShapeIntersection getFirstIntersection(in Intersections ix) -{ - return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); +vec3 wrapVec(vec3 value, float rangeLength) { + return vec3(wrap(value.x, rangeLength), + wrap(value.y, rangeLength), + wrap(value.z, rangeLength)); } -vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) -{ - float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; - return vec4(intersection.xyz * scale, intersection.w); +vec3 random3(vec3 p) { + float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); + float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); + return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); } -// Use defines instead of real functions because WebGL1 cannot access array with non-constant index. -#define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) -#define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) -#define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = encodeIntersectionType((intersection), int(!positive), (enter)) -#define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) - -#if (INTERSECTION_COUNT > 1) -void initializeIntersections(inout Intersections ix) { - // Sort the intersections from min T to max T with bubble sort. - // Note: If this sorting function changes, some of the intersection test may - // need to be updated. Search for "bubble sort" to find those areas. - const int sortPasses = INTERSECTION_COUNT * 2 - 1; - for (int n = sortPasses; n > 0; --n) { - for (int i = 0; i < sortPasses; ++i) { - // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (i >= n) { break; } +// Frequency corresponds to cell size. +// The higher the frequency, the smaller the cell size. +vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { + float textureSliceWidth = u_noiseTextureDimensions.x; + vec3 cell = centerCell + offset; + cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); + cell += floor(u_noiseOffset / u_noiseDetail); + vec3 p = offset + random3(cell); + return p; +} - vec4 intersect0 = ix.intersections[i + 0]; - vec4 intersect1 = ix.intersections[i + 1]; +float worleyNoise(vec3 p, float freq) { + vec3 centerCell = floor(p * freq); + vec3 pointInCell = fract(p * freq); + float shortestDistance = 1000.0; - bool inOrder = intersect0.w <= intersect1.w; + for(float z = -1.0; z <= 1.0; z++) { + for(float y = -1.0; y <= 1.0; y++) { + for(float x = -1.0; x <= 1.0; x++) { + vec3 offset = vec3(x, y, z); + vec3 point = getWorleyCellPoint(centerCell, offset, freq); - ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; - ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; + float distance = length(pointInCell - point); + if(distance < shortestDistance) { + shortestDistance = distance; + } + } } } - // Prepare initial state for nextIntersection - ix.index = 0; - ix.surroundCount = 0; - ix.surroundIsPositive = false; + return shortestDistance; } -#endif -#if (INTERSECTION_COUNT > 1) -RayShapeIntersection nextIntersection(inout Intersections ix) { - vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); - RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); +const float MAX_FBM_ITERATIONS = 10.0; - const int passCount = INTERSECTION_COUNT * 2; +float worleyFBMNoise(vec3 p, float octaves, float scale) { + float noise = 0.0; + float freq = 1.0; + float persistence = 0.625; + for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { + if(i >= octaves) { + break; + } - if (ix.index == passCount) { - return shapeIntersection; + noise += worleyNoise(p * scale, freq * scale) * persistence; + persistence *= 0.5; + freq *= 2.0; } + return noise; +} - for (int i = 0; i < passCount; ++i) { - // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to continue instead. - if (i < ix.index) { - continue; - } - - ix.index = i + 1; +void main() { + float textureSliceWidth = u_noiseTextureDimensions.x; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + float x = mod(v_position.x, textureSliceWidth); + float y = mod(v_position.y, textureSliceWidth); + float sliceRow = floor(v_position.y / textureSliceWidth); + float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; - surfaceIntersection = ix.intersections[i]; - int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); - bool currShapeIsPositive = intersectionType < 2; - bool enter = intMod(intersectionType, 2) == 0; + vec3 position = vec3(x, y, z); + position /= u_noiseDetail; + float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); + float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); + float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); + out_FragColor = vec4(worley0, worley1, worley2, 1.0); +} +`;var nEi=T(S(),1),Ow=`uniform vec3 u_noiseTextureDimensions; +in vec2 position; - ix.surroundCount += enter ? +1 : -1; - ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; +out vec2 v_position; - // entering positive or exiting negative - if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { - shapeIntersection.entry = surfaceIntersection; - } +void main() +{ + gl_Position = vec4(position, 0.1, 1.0); - // exiting positive or entering negative after being inside positive - bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; - bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; - if (exitPositive || enterNegativeFromPositive) { - shapeIntersection.exit = surfaceIntersection; + float textureSliceWidth = u_noiseTextureDimensions.x; + float noiseTextureRows = u_noiseTextureDimensions.y; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + vec2 transformedPos = (position * 0.5) + vec2(0.5); + transformedPos *= textureSliceWidth; + transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; + transformedPos.y *= noiseTextureRows; + v_position = transformedPos; +} +`;var oEi=T(S(),1),Yw=`uniform sampler2D u_opaqueDepthTexture; +uniform sampler2D u_translucentDepthTexture; - // entry and exit have been found, so the loop can stop - if (exitPositive) { - // After exiting positive shape there is nothing left to intersect, so jump to the end index. - ix.index = passCount; - } - break; - } - } +in vec2 v_textureCoordinates; - return shapeIntersection; +void main() +{ + float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; + float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; + translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); + out_FragColor = czm_packDepth(translucentDepth); } -#endif +`;var sEi=T(S(),1),Hw=`/** + * Compositing for Weighted Blended Order-Independent Transparency. See: + * - http://jcgt.org/published/0002/02/09/ + * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html + */ -// NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 -`;var v_i=T(S(),1),Cw=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, -// setIntersectionPair, INF_HIT, NO_HIT +uniform sampler2D u_opaque; +uniform sampler2D u_accumulation; +uniform sampler2D u_revealage; -/* intersectDepth defines (set in Scene/VoxelRenderResources.js) -#define DEPTH_INTERSECTION_INDEX ### -*/ +in vec2 v_textureCoordinates; -uniform mat4 u_transformPositionViewToUv; +void main() +{ + vec4 opaque = texture(u_opaque, v_textureCoordinates); + vec4 accum = texture(u_accumulation, v_textureCoordinates); + float r = texture(u_revealage, v_textureCoordinates).r; -void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); - if (logDepthOrDepth != 0.0) { - // Calculate how far the ray must travel before it hits the depth buffer. - vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); - eyeCoordinateDepth /= eyeCoordinateDepth.w; - vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); - float t = dot(depthPositionUv - ray.pos, ray.dir); - setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); - } else { - // There's no depth at this location. - setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); +#ifdef MRT + vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); +#else + vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); +#endif + + out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; + + if (opaque != czm_backgroundColor) + { + out_FragColor.a = 1.0; } } -`;var F_i=T(S(),1),Vw=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, -// NO_HIT, setShapeIntersection +`;var cEi=T(S(),1),zw=`in vec4 positionEC; -/* Clipping plane defines (set in Scene/VoxelRenderResources.js) -#define CLIPPING_PLANES_UNION -#define CLIPPING_PLANES_COUNT -#define CLIPPING_PLANES_INTERSECTION_INDEX -*/ +void main() +{ + vec3 position; + vec3 direction; + if (czm_orthographicIn3D == 1.0) + { + vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; + vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom + vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top + position = vec3(mix(minPlane, maxPlane, uv), 0.0); + direction = vec3(0.0, 0.0, -1.0); + } + else + { + position = vec3(0.0); + direction = normalize(positionEC.xyz); + } -uniform sampler2D u_clippingPlanesTexture; -uniform mat4 u_clippingPlanesMatrix; + czm_ray ray = czm_ray(position, direction); -// Plane is in Hessian Normal Form -vec4 intersectPlane(in Ray ray, in vec4 plane) { - vec3 n = plane.xyz; // normal - float w = plane.w; // -dot(pointOnPlane, normal) + vec3 ellipsoid_center = czm_view[3].xyz; - float a = dot(ray.pos, n); - float b = dot(ray.dir, n); - float t = -(w + a) / b; + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + if (!czm_isEmpty(intersection)) + { + out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); + } + else + { + discard; + } - return vec4(n, t); + czm_writeLogDepth(); } +`;var dEi=T(S(),1),Kw=`in vec4 position; -void intersectClippingPlanes(in Ray ray, inout Intersections ix) { - vec4 backSide = vec4(-ray.dir, -INF_HIT); - vec4 farSide = vec4(ray.dir, +INF_HIT); - RayShapeIntersection clippingVolume; +out vec4 positionEC; - #if (CLIPPING_PLANES_COUNT == 1) - // Union and intersection are the same when there's one clipping plane, and the code - // is more simplified. - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - bool reflects = dot(ray.dir, intersection.xyz) < 0.0; - clippingVolume.entry = reflects ? backSide : intersection; - clippingVolume.exit = reflects ? intersection : farSide; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); - #elif defined(CLIPPING_PLANES_UNION) - vec4 firstTransmission = vec4(ray.dir, +INF_HIT); - vec4 lastReflection = vec4(-ray.dir, -INF_HIT); - for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - if (dot(ray.dir, planeUv.xyz) > 0.0) { - firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; - } else { - lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; - } - } - clippingVolume.entry = backSide; - clippingVolume.exit = lastReflection; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); - clippingVolume.entry = firstTransmission; - clippingVolume.exit = farSide; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); - #else // intersection - vec4 lastTransmission = vec4(ray.dir, -INF_HIT); - vec4 firstReflection = vec4(-ray.dir, +INF_HIT); - for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - if (dot(ray.dir, planeUv.xyz) > 0.0) { - lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; - } else { - firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; - } - } - if (lastTransmission.w < firstReflection.w) { - clippingVolume.entry = lastTransmission; - clippingVolume.exit = firstReflection; - } else { - clippingVolume.entry = vec4(-ray.dir, NO_HIT); - clippingVolume.exit = vec4(ray.dir, NO_HIT); - } - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); - #endif -} -`;var M_i=T(S(),1),FV=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, -// RayShapeIntersection +void main() +{ + positionEC = czm_modelView * position; + gl_Position = czm_modelViewProjection * position; -vec4 intersectLongitude(in Ray ray, in float angle, in bool positiveNormal) { - float normalSign = positiveNormal ? 1.0 : -1.0; - vec2 planeNormal = vec2(-sin(angle), cos(angle)) * normalSign; + czm_vertexLogDepth(); +} +`;var mEi=T(S(),1),jV=`uniform vec3 u_radii; +uniform vec3 u_oneOverEllipsoidRadiiSquared; - vec2 position = ray.pos.xy; - vec2 direction = ray.dir.xy; - float approachRate = dot(direction, planeNormal); - float distance = -dot(position, planeNormal); +in vec3 v_positionEC; - float t = (approachRate == 0.0) - ? NO_HIT - : distance / approachRate; +vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) +{ + vec3 positionEC = czm_pointAlongRay(ray, intersection); + vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; + vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); + vec3 sphericalNormal = normalize(positionMC / u_radii); + vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates + vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordinates - return vec4(planeNormal, 0.0, t); -} + vec2 st = czm_ellipsoidTextureCoordinates(sphericalNormal); + vec3 positionToEyeEC = -positionEC; -RayShapeIntersection intersectHalfSpace(in Ray ray, in float angle, in bool positiveNormal) -{ - vec4 intersection = intersectLongitude(ray, angle, positiveNormal); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + czm_materialInput materialInput; + materialInput.s = st.s; + materialInput.st = st; + materialInput.str = (positionMC + u_radii) / u_radii; + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); + materialInput.positionToEyeEC = positionToEyeEC; + czm_material material = czm_getMaterial(materialInput); - bool hitFront = (intersection.w > 0.0) == (dot(ray.pos.xy, intersection.xy) > 0.0); - if (!hitFront) { - return RayShapeIntersection(intersection, farSide); - } else { - return RayShapeIntersection(-1.0 * farSide, intersection); - } +#ifdef ONLY_SUN_LIGHTING + return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); +#else + return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif } -void intersectFlippedWedge(in Ray ray, in vec2 minMaxAngle, out RayShapeIntersection intersections[2]) +void main() { - intersections[0] = intersectHalfSpace(ray, minMaxAngle.x, false); - intersections[1] = intersectHalfSpace(ray, minMaxAngle.y, true); -} - -bool hitPositiveHalfPlane(in Ray ray, in vec4 intersection, in bool positiveNormal) { - float normalSign = positiveNormal ? 1.0 : -1.0; - vec2 planeDirection = vec2(intersection.y, -intersection.x) * normalSign; - vec2 hit = ray.pos.xy + intersection.w * ray.dir.xy; - return dot(hit, planeDirection) > 0.0; -} - -void intersectHalfPlane(in Ray ray, in float angle, out RayShapeIntersection intersections[2]) { - vec4 intersection = intersectLongitude(ray, angle, true); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii + // in the vertex shader. Only when it is larger than some constant, march along the ray. + // Otherwise perform one intersection test which will be the common case. - if (hitPositiveHalfPlane(ray, intersection, true)) { - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = vec4(-1.0 * intersection.xy, 0.0, intersection.w); - intersections[1].entry = intersection; - intersections[1].exit = farSide; - } else { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = farSide; - intersections[1].entry = miss; - intersections[1].exit = miss; - } -} + // Test if the ray intersects a sphere with the ellipsoid's maximum radius. + // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test + // may cause false negatives. This will discard fragments before marching the ray forward. + float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; + vec3 direction = normalize(v_positionEC); + vec3 ellipsoidCenter = czm_modelView[3].xyz; -RayShapeIntersection intersectRegularWedge(in Ray ray, in vec2 minMaxAngle) -{ - // Note: works for maxAngle > minAngle + pi, where the "regular wedge" - // is actually a negative volume. - // Compute intersections with the two planes. - // Normals will point toward the "outside" (negative space) - vec4 intersect1 = intersectLongitude(ray, minMaxAngle.x, false); - vec4 intersect2 = intersectLongitude(ray, minMaxAngle.y, true); + float t1 = -1.0; + float t2 = -1.0; - // Choose intersection with smallest T as the "first", the other as "last" - // Note: first or last could be in the "shadow" wedge, beyond the tip - bool inOrder = intersect1.w <= intersect2.w; - vec4 first = inOrder ? intersect1 : intersect2; - vec4 last = inOrder ? intersect2 : intersect1; + float b = -2.0 * dot(direction, ellipsoidCenter); + float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; - bool firstIsAhead = first.w >= 0.0; - bool startedInsideFirst = dot(ray.pos.xy, first.xy) < 0.0; - bool exitFromInside = firstIsAhead == startedInsideFirst; - bool lastIsAhead = last.w > 0.0; - bool startedOutsideLast = dot(ray.pos.xy, last.xy) >= 0.0; - bool enterFromOutside = lastIsAhead == startedOutsideLast; + float discriminant = b * b - 4.0 * c; + if (discriminant >= 0.0) { + t1 = (-b - sqrt(discriminant)) * 0.5; + t2 = (-b + sqrt(discriminant)) * 0.5; + } - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); - vec4 miss = vec4(normalize(ray.dir), NO_HIT); + if (t1 < 0.0 && t2 < 0.0) { + discard; + } - if (exitFromInside && enterFromOutside) { - // Ray crosses both faces of negative wedge, exiting then entering the positive shape - return RayShapeIntersection(first, last); - } else if (!exitFromInside && enterFromOutside) { - // Ray starts inside wedge. last is in shadow wedge, and first is actually the entry - return RayShapeIntersection(-1.0 * farSide, first); - } else if (exitFromInside && !enterFromOutside) { - // First intersection was in the shadow wedge, so last is actually the exit - return RayShapeIntersection(last, farSide); - } else { // !exitFromInside && !enterFromOutside - // Both intersections were in the shadow wedge - return RayShapeIntersection(miss, miss); + float t = min(t1, t2); + if (t < 0.0) { + t = 0.0; } -} -`;var k_i=T(S(),1),Lw=`// See IntersectionUtils.glsl for the definitions of Ray, RayShapeIntersection, -// NO_HIT, Intersections -/* Box defines (set in Scene/VoxelBoxShape.js) -#define BOX_INTERSECTION_INDEX ### // always 0 -*/ + // March ray forward to intersection with larger sphere and find + czm_ray ray = czm_ray(t * direction, direction); -uniform vec3 u_renderMinBounds; -uniform vec3 u_renderMaxBounds; + vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); -RayShapeIntersection intersectBox(in Ray ray, in vec3 minBound, in vec3 maxBound) -{ - // Consider the box as the intersection of the space between 3 pairs of parallel planes - // Compute the distance along the ray to each plane - vec3 t0 = (minBound - ray.pos) / ray.dir; - vec3 t1 = (maxBound - ray.pos) / ray.dir; + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); - // Identify candidate entries/exits based on distance from ray.pos - vec3 entries = min(t0, t1); - vec3 exits = max(t0, t1); + if (czm_isEmpty(intersection)) + { + discard; + } - vec3 directions = sign(ray.dir); + // If the viewer is outside, compute outsideFaceColor, with normals facing outward. + vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); - // The actual intersection points are the furthest entry and the closest exit - float lastEntry = maxComponent(entries); - bvec3 isLastEntry = equal(entries, vec3(lastEntry)); - vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; - vec4 entry = vec4(entryNormal, lastEntry); + // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. + vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); - float firstExit = minComponent(exits); - bvec3 isFirstExit = equal(exits, vec3(firstExit)); - vec3 exitNormal = vec3(isLastEntry) * directions; - vec4 exit = vec4(exitNormal, firstExit); + out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); + out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); - if (entry.w > exit.w) { - entry.w = NO_HIT; - exit.w = NO_HIT; - } +#if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) + t = (intersection.start != 0.0) ? intersection.start : intersection.stop; + vec3 positionEC = czm_pointAlongRay(ray, t); + vec4 positionCC = czm_projection * vec4(positionEC, 1.0); +#ifdef LOG_DEPTH + czm_writeLogDepth(1.0 + positionCC.w); +#else + float z = positionCC.z / positionCC.w; - return RayShapeIntersection(entry, exit); -} + float n = czm_depthRange.near; + float f = czm_depthRange.far; -void intersectShape(in Ray ray, inout Intersections ix) -{ - RayShapeIntersection intersection = intersectBox(ray, u_renderMinBounds, u_renderMaxBounds); - setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); + gl_FragDepth = (z * (f - n) + f + n) * 0.5; +#endif +#endif } -`;var D_i=T(S(),1),Rw=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, Intersections, -// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection, -// intersectIntersections -// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, -// intersectFlippedWedge, intersectRegularWedge +`;var fEi=T(S(),1),qV=`in vec3 position; -/* Cylinder defines (set in Scene/VoxelCylinderShape.js) -#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN -#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO - -#define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX -#define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN -#define CYLINDER_INTERSECTION_INDEX_ANGLE -*/ +uniform vec3 u_radii; -// Cylinder uniforms -uniform vec2 u_cylinderRenderRadiusMinMax; -uniform vec2 u_cylinderRenderHeightMinMax; -#if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) - uniform vec2 u_cylinderRenderAngleMinMax; -#endif +out vec3 v_positionEC; -/** - * Find the intersection of a ray with the volume defined by two planes of constant z - */ -RayShapeIntersection intersectHeightBounds(in Ray ray, in vec2 minMaxHeight, in bool convex) +void main() { - float zPosition = ray.pos.z; - float zDirection = ray.dir.z; - - float tmin = (minMaxHeight.x - zPosition) / zDirection; - float tmax = (minMaxHeight.y - zPosition) / zDirection; + // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. + // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, + // but doing it here allows us to change the radii without rewriting the vertex data, and + // allows all ellipsoids to reuse the same vertex data. + vec4 p = vec4(u_radii * position, 1.0); - // Normals point outside the volume - float signFlip = convex ? 1.0 : -1.0; - vec4 intersectMin = vec4(0.0, 0.0, -1.0 * signFlip, tmin); - vec4 intersectMax = vec4(0.0, 0.0, 1.0 * signFlip, tmax); + v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates + gl_Position = czm_modelViewProjection * p; // position in clip coordinates - bool topEntry = zDirection < 0.0; - vec4 entry = topEntry ? intersectMax : intersectMin; - vec4 exit = topEntry ? intersectMin : intersectMax; + // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums + // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the + // ellipsoid (does not write depth) that was rendered in the farther frustum. + // + // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates + // artifacts since some fragments can be alpha blended twice. This is solved by only rendering + // the ellipsoid in the closest frustum to the viewer. + gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); - return RayShapeIntersection(entry, exit); + czm_vertexLogDepth(); } - -/** - * Find the intersection of a ray with a right cylindrical surface of a given radius - * about the z-axis. - */ -RayShapeIntersection intersectCylinder(in Ray ray, in float radius, in bool convex) -{ - vec2 position = ray.pos.xy; - vec2 direction = ray.dir.xy; - - float a = dot(direction, direction); - float b = dot(position, direction); - float c = dot(position, position) - radius * radius; - float determinant = b * b - a * c; - - if (determinant < 0.0) { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - return RayShapeIntersection(miss, miss); - } - - determinant = sqrt(determinant); - float t1 = (-b - determinant) / a; - float t2 = (-b + determinant) / a; - float signFlip = convex ? 1.0 : -1.0; - vec4 intersect1 = vec4(normalize(position + t1 * direction) * signFlip, 0.0, t1); - vec4 intersect2 = vec4(normalize(position + t2 * direction) * signFlip, 0.0, t2); - - return RayShapeIntersection(intersect1, intersect2); -} - -/** - * Find the intersection of a ray with a right cylindrical solid of given - * radius and height bounds. NOTE: The shape is assumed to be convex. +`;var bEi=T(S(),1);/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */var Jw=`/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -RayShapeIntersection intersectBoundedCylinder(in Ray ray, in float radius, in vec2 minMaxHeight) -{ - RayShapeIntersection cylinderIntersection = intersectCylinder(ray, radius, true); - RayShapeIntersection heightBoundsIntersection = intersectHeightBounds(ray, minMaxHeight, true); - return intersectIntersections(ray, cylinderIntersection, heightBoundsIntersection); -} - -void intersectShape(Ray ray, inout Intersections ix) -{ - // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. - // Direction is scaled as well to be in sync with position. - ray.pos = ray.pos * 2.0 - 1.0; - ray.dir *= 2.0; - - RayShapeIntersection outerIntersect = intersectBoundedCylinder(ray, u_cylinderRenderRadiusMinMax.y, u_cylinderRenderHeightMinMax); - - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); - - if (outerIntersect.entry.w == NO_HIT) { - return; - } - #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) - // When the cylinder is perfectly thin it's necessary to sandwich the - // inner cylinder intersection inside the outer cylinder intersection. - - // Without this special case, - // [outerMin, outerMax, innerMin, innerMax] will bubble sort to - // [outerMin, innerMin, outerMax, innerMax] which will cause the back - // side of the cylinder to be invisible because it will think the ray - // is still inside the inner (negative) cylinder after exiting the - // outer (positive) cylinder. - - // With this special case, - // [outerMin, innerMin, innerMax, outerMax] will bubble sort to - // [outerMin, innerMin, innerMax, outerMax] which will work correctly. +// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples +// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h - // Note: If initializeIntersections() changes its sorting function - // from bubble sort to something else, this code may need to change. - RayShapeIntersection innerIntersect = intersectCylinder(ray, 1.0, false); - setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter - setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter - setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit - setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) - RayShapeIntersection innerIntersect = intersectCylinder(ray, u_cylinderRenderRadiusMinMax.x, false); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); - #endif +// Steps used to integrate into Cesium: +// * The following defines are set: +// #define FXAA_PC 1 +// #define FXAA_WEBGL_1 1 +// #define FXAA_GREEN_AS_LUMA 1 +// #define FXAA_EARLY_EXIT 1 +// #define FXAA_GLSL_120 1 +// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. +// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace +// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. +// * There are no implicit conversions from ivec* to vec* so replace: +// #define FxaaInt2 ivec2 +// with +// #define FxaaInt2 vec2 +// * The texture2DLod function is only available in vertex shaders so replace: +// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) +// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) +// with +// #define FxaaTexTop(t, p) texture(t, p) +// #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) +// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. +// * The following parameters to FxaaPixelShader are unused and can be removed: +// fxaaConsolePosPos +// fxaaConsoleRcpFrameOpt +// fxaaConsoleRcpFrameOpt2 +// fxaaConsole360RcpFrameOpt2 +// fxaaConsoleEdgeSharpness +// fxaaConsoleEdgeThreshold +// fxaaConsoleEdgeThresholdMi +// fxaaConsole360ConstDir - #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) - RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) - RayShapeIntersection wedgeIntersects[2]; - intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax, wedgeIntersects); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) - RayShapeIntersection wedgeIntersects[2]; - intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x, wedgeIntersects); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); - #endif -} -`;var O_i=T(S(),1),Zw=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, Intersections, -// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection -// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, -// intersectFlippedWedge, intersectRegularWedge +// +// Choose the quality preset. +// This needs to be compiled into the shader as it effects code. +// Best option to include multiple presets is to +// in each shader define the preset, then include this file. +// +// OPTIONS +// ----------------------------------------------------------------------- +// 10 to 15 - default medium dither (10=fastest, 15=highest quality) +// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) +// 39 - no dither, very expensive +// +// NOTES +// ----------------------------------------------------------------------- +// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) +// 13 = about same speed as FXAA 3.9 and better than 12 +// 23 = closest to FXAA 3.9 visually and performance wise +// _ = the lowest digit is directly related to performance +// _ = the highest digit is directly related to style +// +//#define FXAA_QUALITY_PRESET 12 -/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF -#define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE -#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX -#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN -#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX -#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN -*/ -#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) - uniform vec2 u_ellipsoidRenderLongitudeMinMax; +#if (FXAA_QUALITY_PRESET == 10) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 3.0 + #define FXAA_QUALITY_P2 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 11) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 3.0 + #define FXAA_QUALITY_P3 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 12) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 4.0 + #define FXAA_QUALITY_P4 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 13) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 4.0 + #define FXAA_QUALITY_P5 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 14) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 4.0 + #define FXAA_QUALITY_P6 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 15) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 20) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 2.0 + #define FXAA_QUALITY_P2 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 21) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 22) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 23) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 24) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 3.0 + #define FXAA_QUALITY_P6 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 25) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 26) + #define FXAA_QUALITY_PS 9 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 4.0 + #define FXAA_QUALITY_P8 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 27) + #define FXAA_QUALITY_PS 10 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 4.0 + #define FXAA_QUALITY_P9 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 28) + #define FXAA_QUALITY_PS 11 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 4.0 + #define FXAA_QUALITY_P10 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 29) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 39) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.0 + #define FXAA_QUALITY_P2 1.0 + #define FXAA_QUALITY_P3 1.0 + #define FXAA_QUALITY_P4 1.0 + #define FXAA_QUALITY_P5 1.5 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 #endif -uniform float u_eccentricitySquared; -uniform vec2 u_ellipsoidRenderLatitudeSinMinMax; -uniform vec2 u_clipMinMaxHeight; - -RayShapeIntersection intersectZPlane(in Ray ray, in float z) { - float t = -ray.pos.z / ray.dir.z; - - bool startsOutside = sign(ray.pos.z) == sign(z); - bool entry = (t >= 0.0) != startsOutside; - - vec4 intersect = vec4(0.0, 0.0, z, t); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); - - if (entry) { - return RayShapeIntersection(intersect, farSide); - } else { - return RayShapeIntersection(-1.0 * farSide, intersect); - } -} - -RayShapeIntersection intersectHeight(in Ray ray, in float relativeHeight, in bool convex) -{ - // Scale the ray by the ellipsoid axes to make it a unit sphere - // Note: approximating ellipsoid + height as an ellipsoid - vec3 radiiCorrection = u_ellipsoidRadiiUv / (u_ellipsoidRadiiUv + relativeHeight); - vec3 position = ray.pos * radiiCorrection; - vec3 direction = ray.dir * radiiCorrection; - - float a = dot(direction, direction); // ~ 1.0 (or maybe 4.0 if ray is scaled) - float b = dot(direction, position); // roughly inside [-1.0, 1.0] when zoomed in - float c = dot(position, position) - 1.0; // ~ 0.0 when zoomed in. - float determinant = b * b - a * c; // ~ b * b when zoomed in - - if (determinant < 0.0) { - vec4 miss = vec4(normalize(direction), NO_HIT); - return RayShapeIntersection(miss, miss); - } - - determinant = sqrt(determinant); - - // Compute larger root using standard formula - float signB = b < 0.0 ? -1.0 : 1.0; - // The other root may suffer from subtractive cancellation in the standard formula. - // Compute it from the first root instead. - float t1 = (-b - signB * determinant) / a; - float t2 = c / (a * t1); - float tmin = min(t1, t2); - float tmax = max(t1, t2); - - float directionScale = convex ? 1.0 : -1.0; - vec3 d1 = directionScale * normalize(position + tmin * direction); - vec3 d2 = directionScale * normalize(position + tmax * direction); - - return RayShapeIntersection(vec4(d1, tmin), vec4(d2, tmax)); -} - -/** - * Given a circular cone around the z-axis, with apex at the origin, - * find the parametric distance(s) along a ray where that ray intersects - * the cone. - * The cone opening angle is described by the squared cosine of - * its half-angle (the angle between the Z-axis and the surface) - */ -vec2 intersectDoubleEndedCone(in Ray ray, in float cosSqrHalfAngle) -{ - vec3 o = ray.pos; - vec3 d = ray.dir; - float sinSqrHalfAngle = 1.0 - cosSqrHalfAngle; - - float aSin = d.z * d.z * sinSqrHalfAngle; - float aCos = -dot(d.xy, d.xy) * cosSqrHalfAngle; - float a = aSin + aCos; - - float bSin = d.z * o.z * sinSqrHalfAngle; - float bCos = -dot(o.xy, d.xy) * cosSqrHalfAngle; - float b = bSin + bCos; - - float cSin = o.z * o.z * sinSqrHalfAngle; - float cCos = -dot(o.xy, o.xy) * cosSqrHalfAngle; - float c = cSin + cCos; - // determinant = b * b - a * c. But bSin * bSin = aSin * cSin. - // Avoid subtractive cancellation by expanding to eliminate these terms - float determinant = 2.0 * bSin * bCos + bCos * bCos - aSin * cCos - aCos * cSin - aCos * cCos; - - if (determinant < 0.0) { - return vec2(NO_HIT); - } else if (a == 0.0) { - // Ray is parallel to cone surface - return (b == 0.0) - ? vec2(NO_HIT) // Ray is on cone surface - : vec2(-0.5 * c / b, NO_HIT); - } - - determinant = sqrt(determinant); - - // Compute larger root using standard formula - float signB = b < 0.0 ? -1.0 : 1.0; - float t1 = (-b - signB * determinant) / a; - // The other root may suffer from subtractive cancellation in the standard formula. - // Compute it from the first root instead. - float t2 = c / (a * t1); - float tmin = min(t1, t2); - float tmax = max(t1, t2); - return vec2(tmin, tmax); -} -/** - * Given a point on a conical surface, find the surface normal at that point. - */ -vec3 getConeNormal(in vec3 p, in bool convex) { - // Start with radial component pointing toward z-axis - vec2 radial = -abs(p.z) * normalize(p.xy); - // Z component points toward opening of cone - float zSign = (p.z < 0.0) ? -1.0 : 1.0; - float z = length(p.xy) * zSign; - // Flip normal if shape is convex - float flip = (convex) ? -1.0 : 1.0; - return normalize(vec3(radial, z) * flip); -} +#define FxaaBool bool +#define FxaaFloat float +#define FxaaFloat2 vec2 +#define FxaaFloat3 vec3 +#define FxaaFloat4 vec4 +#define FxaaHalf float +#define FxaaHalf2 vec2 +#define FxaaHalf3 vec3 +#define FxaaHalf4 vec4 +#define FxaaInt2 vec2 +#define FxaaTex sampler2D -/** - * Compute the shift between the ellipsoid origin and the apex of a cone of latitude - */ -float getLatitudeConeShift(in float sinLatitude) { - // Find prime vertical radius of curvature: - // the distance along the ellipsoid normal to the intersection with the z-axis - float x2 = u_eccentricitySquared * sinLatitude * sinLatitude; - float primeVerticalRadius = inversesqrt(1.0 - x2); +#define FxaaSat(x) clamp(x, 0.0, 1.0) +#define FxaaTexTop(t, p) texture(t, p) +#define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) - // Compute a shift from the origin to the intersection of the cone with the z-axis - return primeVerticalRadius * u_eccentricitySquared * sinLatitude; -} - -void intersectFlippedCone(in Ray ray, in float cosHalfAngle, out RayShapeIntersection intersections[2]) { - // Undo the scaling from ellipsoid to sphere - ray.pos = ray.pos * u_ellipsoidRadiiUv; - ray.dir = ray.dir * u_ellipsoidRadiiUv; - // Shift the ray to account for the latitude cone not being centered at the Earth center - ray.pos.z += getLatitudeConeShift(cosHalfAngle); - - float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; - vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); - - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); - - // Initialize output with no intersections - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = farSide; - intersections[1].entry = miss; - intersections[1].exit = miss; - - if (intersect.x == NO_HIT) { - return; - } - - // Find the points of intersection - float tmin = intersect.x; - float tmax = intersect.y; - vec3 p0 = ray.pos + tmin * ray.dir; - vec3 p1 = ray.pos + tmax * ray.dir; - - vec4 intersect0 = vec4(getConeNormal(p0, true), tmin); - vec4 intersect1 = vec4(getConeNormal(p1, true), tmax); - - bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); - bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); - - if (p0InShadowCone && p1InShadowCone) { - // no valid intersections - } else if (p0InShadowCone) { - intersections[0].exit = intersect1; - } else if (p1InShadowCone) { - intersections[0].entry = intersect0; - } else { - intersections[0].exit = intersect0; - intersections[1].entry = intersect1; - intersections[1].exit = farSide; - } -} - -RayShapeIntersection intersectRegularCone(in Ray ray, in float cosHalfAngle, in bool convex) { - // Undo the scaling from ellipsoid to sphere - ray.pos = ray.pos * u_ellipsoidRadiiUv; - ray.dir = ray.dir * u_ellipsoidRadiiUv; - // Shift the ray to account for the latitude cone not being centered at the Earth center - ray.pos.z += getLatitudeConeShift(cosHalfAngle); - - float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; - vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); - - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); - - if (intersect.x == NO_HIT) { - return RayShapeIntersection(miss, miss); - } - - // Find the points of intersection - float tmin = intersect.x; - float tmax = intersect.y; - vec3 p0 = ray.pos + tmin * ray.dir; - vec3 p1 = ray.pos + tmax * ray.dir; - - vec4 intersect0 = vec4(getConeNormal(p0, convex), tmin); - vec4 intersect1 = vec4(getConeNormal(p1, convex), tmax); - - bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); - bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); - - if (p0InShadowCone && p1InShadowCone) { - return RayShapeIntersection(miss, miss); - } else if (p0InShadowCone) { - return RayShapeIntersection(intersect1, farSide); - } else if (p1InShadowCone) { - return RayShapeIntersection(-1.0 * farSide, intersect0); - } else { - return RayShapeIntersection(intersect0, intersect1); - } -} - -void intersectShape(in Ray ray, inout Intersections ix) { - // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. - // Direction is scaled as well to be in sync with position. - ray.pos = ray.pos * 2.0 - 1.0; - ray.dir *= 2.0; - - // Outer ellipsoid - RayShapeIntersection outerIntersect = intersectHeight(ray, u_clipMinMaxHeight.y, true); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); - - // Exit early if the outer ellipsoid was missed. - if (outerIntersect.entry.w == NO_HIT) { - return; - } - - // Inner ellipsoid - RayShapeIntersection innerIntersect = intersectHeight(ray, u_clipMinMaxHeight.x, false); - - if (innerIntersect.entry.w == NO_HIT) { - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); - } else { - // When the ellipsoid is large and thin it's possible for floating point math - // to cause the ray to intersect the inner ellipsoid before the outer ellipsoid. - // To prevent this from happening, clamp innerIntersect to outerIntersect and - // sandwich the inner ellipsoid intersection inside the outer ellipsoid intersection. - - // Without this special case, - // [outerMin, outerMax, innerMin, innerMax] will bubble sort to - // [outerMin, innerMin, outerMax, innerMax] which will cause the back - // side of the ellipsoid to be invisible because it will think the ray - // is still inside the inner (negative) ellipsoid after exiting the - // outer (positive) ellipsoid. - - // With this special case, - // [outerMin, innerMin, innerMax, outerMax] will bubble sort to - // [outerMin, innerMin, innerMax, outerMax] which will work correctly. - - // Note: If initializeIntersections() changes its sorting function - // from bubble sort to something else, this code may need to change. - innerIntersect.entry.w = max(innerIntersect.entry.w, outerIntersect.entry.w); - innerIntersect.exit.w = min(innerIntersect.exit.w, outerIntersect.exit.w); - setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter - setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter - setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit - setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit - } - - // Bottom cone - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) - RayShapeIntersection bottomConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, false); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) - RayShapeIntersection bottomConeIntersection = intersectZPlane(ray, -1.0); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) - RayShapeIntersection bottomConeIntersections[2]; - intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, bottomConeIntersections); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersections[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersections[1]); - #endif - - // Top cone - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) - RayShapeIntersection topConeIntersections[2]; - intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, topConeIntersections); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersections[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersections[1]); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) - RayShapeIntersection topConeIntersection = intersectZPlane(ray, 1.0); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) - RayShapeIntersection topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, false); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); - #endif - - // Wedge - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) - RayShapeIntersection wedgeIntersects[2]; - intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x, wedgeIntersects); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) - RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) - RayShapeIntersection wedgeIntersects[2]; - intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax, wedgeIntersects); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); - #endif -} -`;var z_i=T(S(),1),LT=`// Main intersection function for Voxel scenes. -// See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl -// for the definition of intersectShape. The appropriate function is selected -// based on the VoxelPrimitive shape type, and added to the shader in -// Scene/VoxelRenderResources.js. -// See also IntersectClippingPlane.glsl and IntersectDepth.glsl. -// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, -// getFirstIntersection, initializeIntersections, nextIntersection. - -/* Intersection defines (set in Scene/VoxelRenderResources.js) -#define INTERSECTION_COUNT ### -*/ - -RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { - // Do a ray-shape intersection to find the exact starting and ending points. - intersectShape(ray, ix); - - // Exit early if the positive shape was completely missed or behind the ray. - RayShapeIntersection intersection = getFirstIntersection(ix); - if (intersection.entry.w == NO_HIT) { - // Positive shape was completely missed - so exit early. - return intersection; - } - - // Clipping planes - #if defined(CLIPPING_PLANES) - intersectClippingPlanes(ray, ix); - #endif - - // Depth - #if defined(DEPTH_TEST) - intersectDepth(screenCoord, ray, ix); - #endif - - // Find the first intersection that's in front of the ray - #if (INTERSECTION_COUNT > 1) - initializeIntersections(ix); - for (int i = 0; i < INTERSECTION_COUNT; ++i) { - intersection = nextIntersection(ix); - if (intersection.exit.w > 0.0) { - // Set start to 0.0 when ray is inside the shape. - intersection.entry.w = max(intersection.entry.w, 0.0); - break; - } - } - #else - // Set start to 0.0 when ray is inside the shape. - intersection.entry.w = max(intersection.entry.w, 0.0); - #endif - - return intersection; -} -`;var K_i=T(S(),1),Gw=`/* Box defines (set in Scene/VoxelBoxShape.js) -#define BOX_HAS_SHAPE_BOUNDS -*/ - -#if defined(BOX_HAS_SHAPE_BOUNDS) - uniform vec3 u_boxUvToShapeUvScale; - uniform vec3 u_boxUvToShapeUvTranslate; -#endif - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // For BOX, UV space = shape space, so we can use positionUv as-is, - // and the Jacobian is the identity matrix, except that a step of 1 - // only spans half the shape space [-1, 1], so the identity is scaled. - return PointJacobianT(positionUv, mat3(0.5)); -} - -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return positionShape * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; -#else - return positionShape; -#endif -} - -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} - -vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; -#else - return shapeUv; -#endif -} - -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return shapeUv / u_boxUvToShapeUvScale; -#else - return shapeUv; -#endif -}`;var Q_i=T(S(),1),Ew=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) -#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS -#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED -*/ - -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) - uniform vec2 u_cylinderShapeUvAngleMinMax; -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) - uniform float u_cylinderShapeUvAngleRangeZeroMid; -#endif - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // Convert from Cartesian UV space [0, 1] to Cartesian local space [-1, 1] - vec3 position = positionUv * 2.0 - 1.0; - - float radius = length(position.xy); // [0, 1] - vec3 radial = normalize(vec3(position.xy, 0.0)); - - // Shape space height is defined within [0, 1] - float height = positionUv.z; // [0, 1] - vec3 z = vec3(0.0, 0.0, 1.0); - - float angle = atan(position.y, position.x); - vec3 east = normalize(vec3(-position.y, position.x, 0.0)); - - vec3 point = vec3(radius, height, angle); - mat3 jacobianT = mat3(radial, z, east / length(position.xy)); - return PointJacobianT(point, jacobianT); -} - -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { - float radius = positionShape.x; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; - #endif - - float height = positionShape.y; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; - #endif - - float angle = (positionShape.z + czm_pi) / czm_twoPi; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) - // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. - angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); - #endif - - // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) - angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; - #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) - angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; - #endif - - angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; - #endif - - return vec3(radius, height, angle); -} - -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} - -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { - float radius = shapeUv.x; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - radius /= u_cylinderUvToShapeUvRadius.x; - #endif - - float height = shapeUv.y; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - height /= u_cylinderUvToShapeUvHeight.x; - #endif - - float angle = shapeUv.z * czm_twoPi; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - angle /= u_cylinderUvToShapeUvAngle.x; - #endif - - return vec3(radius, height, angle); -} -`;var q_i=T(S(),1),Iw=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE -*/ - -uniform vec3 u_ellipsoidRadiiUv; // [0,1] -uniform vec2 u_evoluteScale; // (radiiUv.x ^ 2 - radiiUv.z ^ 2) * vec2(1.0, -1.0) / radiiUv; -uniform vec3 u_ellipsoidInverseRadiiSquaredUv; -#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) - uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; -#endif -#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset -#endif -#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset -#endif -uniform float u_ellipsoidInverseHeightDifferenceUv; - -// robust iterative solution without trig functions -// https://github.com/0xfaded/ellipse_demo/issues/1 -// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse -// Extended to return radius of curvature along with the point -vec3 nearestPointAndRadiusOnEllipse(vec2 pos, vec2 radii) { - vec2 p = abs(pos); - vec2 inverseRadii = 1.0 / radii; - - // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) - // but store the cos and sin of t in a vec2 for efficiency. - // Initial guess: t = pi/4 - vec2 tTrigs = vec2(0.7071067811865476); - // Initial guess of point on ellipsoid - vec2 v = radii * tTrigs; - // Center of curvature of the ellipse at v - vec2 evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; - - const int iterations = 3; - for (int i = 0; i < iterations; ++i) { - // Find the (approximate) intersection of p - evolute with the ellipsoid. - vec2 q = normalize(p - evolute) * length(v - evolute); - // Update the estimate of t. - tTrigs = (q + evolute) * inverseRadii; - tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); - v = radii * tTrigs; - evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; - } - - return vec3(v * sign(pos), length(v - evolute)); -} - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // Convert from UV space [0, 1] to local space [-1, 1] - vec3 position = positionUv * 2.0 - 1.0; - // Undo the scaling from ellipsoid to sphere - position = position * u_ellipsoidRadiiUv; - - float longitude = atan(position.y, position.x); - vec3 east = normalize(vec3(-position.y, position.x, 0.0)); - - // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) - // (assume radii.y == radii.x) and find the nearest point on the ellipse and its normal - float distanceFromZAxis = length(position.xy); - vec2 posEllipse = vec2(distanceFromZAxis, position.z); - vec3 surfacePointAndRadius = nearestPointAndRadiusOnEllipse(posEllipse, u_ellipsoidRadiiUv.xz); - vec2 surfacePoint = surfacePointAndRadius.xy; - - vec2 normal2d = normalize(surfacePoint * u_ellipsoidInverseRadiiSquaredUv.xz); - float latitude = atan(normal2d.y, normal2d.x); - vec3 north = vec3(-normal2d.y * normalize(position.xy), abs(normal2d.x)); - - float heightSign = length(posEllipse) < length(surfacePoint) ? -1.0 : 1.0; - float height = heightSign * length(posEllipse - surfacePoint); - vec3 up = normalize(cross(east, north)); - - vec3 point = vec3(longitude, latitude, height); - mat3 jacobianT = mat3(east / distanceFromZAxis, north / (surfacePointAndRadius.z + height), up); - return PointJacobianT(point, jacobianT); -} - -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { - // Longitude: shift & scale to [0, 1] - float longitude = (positionShape.x + czm_pi) / czm_twoPi; - - // Correct the angle when max < min - // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) - longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); - #endif - - // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) - longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; - #endif - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) - longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; - #endif - - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; - #endif - - // Latitude: shift and scale to [0, 1] - float latitude = (positionShape.y + czm_piOverTwo) / czm_pi; - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; - #endif - - // Height: scale to the range [0, 1] - float height = 1.0 + positionShape.z * u_ellipsoidInverseHeightDifferenceUv; - - return vec3(longitude, latitude, height); -} - -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} - -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { - // Convert from [0, 1] to radians [-pi, pi] - float longitude = shapeUv.x * czm_twoPi; - #if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - longitude /= u_ellipsoidUvToShapeUvLongitude.x; - #endif - - // Convert from [0, 1] to radians [-pi/2, pi/2] - float latitude = shapeUv.y * czm_pi; - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - latitude /= u_ellipsoidUvToShapeUvLatitude.x; - #endif - - float height = shapeUv.z / u_ellipsoidInverseHeightDifferenceUv; - - return vec3(longitude, latitude, height); -} -`;var eTi=T(S(),1),Xw=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js -#define OCTREE_FLAG_INTERNAL 0 -#define OCTREE_FLAG_LEAF 1 -#define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 - -#define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops - -uniform sampler2D u_octreeInternalNodeTexture; -uniform vec2 u_octreeInternalNodeTexelSizeUv; -uniform int u_octreeInternalNodeTilesPerRow; -#if (SAMPLE_COUNT > 1) -uniform sampler2D u_octreeLeafNodeTexture; -uniform vec2 u_octreeLeafNodeTexelSizeUv; -uniform int u_octreeLeafNodeTilesPerRow; -#endif - -struct OctreeNodeData { - int data; - int flag; -}; - -struct TraversalData { - ivec4 octreeCoords; - int parentOctreeIndex; -}; - -struct SampleData { - int megatextureIndex; - ivec4 tileCoords; - vec3 tileUv; - #if (SAMPLE_COUNT > 1) - float weight; - #endif -}; - -// Integer mod: For WebGL1 only -int intMod(in int a, in int b) { - return a - (b * (a / b)); -} -int normU8_toInt(in float value) { - return int(value * 255.0); -} -int normU8x2_toInt(in vec2 value) { - return int(value.x * 255.0) + 256 * int(value.y * 255.0); -} -float normU8x2_toFloat(in vec2 value) { - return float(normU8x2_toInt(value)) / 65535.0; -} - -OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { - vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); - - OctreeNodeData data; - data.data = normU8x2_toInt(texData.xy); - data.flag = normU8x2_toInt(texData.zw); - return data; -} - -OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { - int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; - int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; - int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; - vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); - return getOctreeNodeData(octreeUv); -} - -int getOctreeParentIndex(in int octreeIndex) { - int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; - int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; - vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); - vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); - int parentOctreeIndex = normU8x2_toInt(parentData.xy); - return parentOctreeIndex; -} - -/** -* Convert a position in the uv-space of the tileset bounding shape -* into the uv-space of a tile within the tileset -*/ -vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { - // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) - float dimAtLevel = exp2(float(octreeCoords.w)); - return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); -} - -vec3 getClampedTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { - vec3 tileUv = getTileUv(shapePosition, octreeCoords); - return clamp(tileUv, vec3(0.0), vec3(1.0)); -} - -void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { - sampleData.megatextureIndex = data.data; - sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; -} - -#if (SAMPLE_COUNT > 1) -void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { - int leafIndex = data.data; - int leafNodeTexelCount = 2; - // Adding 0.5 moves to the center of the texel - float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; - float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; - - // Get an interpolation weight and a flag to determine whether to read the parent texture - vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); - vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); - float lerp = normU8x2_toFloat(leafData0.xy); - sampleDatas[0].weight = 1.0 - lerp; - sampleDatas[1].weight = lerp; - // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT - sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; - sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; - - // Get megatexture indices for both samples - vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); - vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); - sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); - sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); -} -#endif - -OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { - float sizeAtLevel = exp2(-1.0 * float(traversalData.octreeCoords.w)); - vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; - vec3 end = start + vec3(sizeAtLevel); - OctreeNodeData childData; - - for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { - // Find out which octree child contains the position - // 0 if before center, 1 if after - vec3 center = 0.5 * (start + end); - vec3 childCoord = step(center, shapePosition); - - // Get octree coords for the next level down - ivec4 octreeCoords = traversalData.octreeCoords; - traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); - - childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); - - if (childData.flag != OCTREE_FLAG_INTERNAL) { - // leaf tile - stop traversing - break; - } - - // interior tile - keep going deeper - start = mix(start, center, childCoord); - end = mix(center, end, childCoord); - traversalData.parentOctreeIndex = childData.data; - } - - return childData; -} - -/** -* Transform a given position to an octree tile coordinate and a position within that tile, -* and find the corresponding megatexture index and texture coordinates -*/ -void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { - traversalData.octreeCoords = ivec4(0); - traversalData.parentOctreeIndex = 0; - - OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); - if (nodeData.flag != OCTREE_FLAG_LEAF) { - nodeData = traverseOctreeDownwards(shapePosition, traversalData); - } - - #if (SAMPLE_COUNT == 1) - getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - #else - getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); - #endif -} - -bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { - return clamp(v, minVal, maxVal) == v; -} - -bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { - vec3 tileUv = getTileUv(shapePosition, octreeCoords); - bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); - // Assume (!) the position is always inside the root tile. - return inside || octreeCoords.w == 0; -} - -void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { - if (insideTile(shapePosition, traversalData.octreeCoords)) { - for (int i = 0; i < SAMPLE_COUNT; i++) { - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - } - return; - } - - // Go up tree until we find a parent tile containing shapePosition - for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { - traversalData.octreeCoords.xyz /= 2; - traversalData.octreeCoords.w -= 1; - - if (insideTile(shapePosition, traversalData.octreeCoords)) { - break; - } - - traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); - } - - // Go down tree - OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); - - #if (SAMPLE_COUNT == 1) - getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - #else - getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); - #endif -} -`;var nTi=T(S(),1),Ww=`// See Octree.glsl for the definitions of SampleData and intMod - -/* Megatexture defines (set in Scene/VoxelRenderResources.js) -#define SAMPLE_COUNT ### -#define NEAREST_SAMPLING -#define PADDING -*/ - -uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions -uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions -uniform vec2 u_megatextureVoxelSizeUv; -uniform vec2 u_megatextureSliceSizeUv; -uniform vec2 u_megatextureTileSizeUv; - -uniform ivec3 u_dimensions; // does not include padding -#if defined(PADDING) - uniform ivec3 u_paddingBefore; - uniform ivec3 u_paddingAfter; -#endif - -// Integer min, max, clamp: For WebGL1 only -int intMin(int a, int b) { - return a <= b ? a : b; -} -int intMax(int a, int b) { - return a >= b ? a : b; -} -int intClamp(int v, int minVal, int maxVal) { - return intMin(intMax(v, minVal), maxVal); -} - -vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) -{ - int indexX = intMod(index, dimensions.x); - int indexY = index / dimensions.x; - return vec2(indexX, indexY) * uvScale; -} - -/* - How is 3D data stored in a 2D megatexture? - - In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). - The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and - the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). - Note that there could be empty space in the megatexture because it's a power of two. - - 0 1 2 3 - +---+---+---+---+ - | | | | | 3 - +---+---+---+---+ - | | | | | 2 - +-------+-------+ - |010|110|011|111| 1 - |--- ---|--- ---| - |000|100|001|101| 0 - +-------+-------+ - - When doing linear interpolation the megatexture needs to be sampled twice: once for - the Z slice above the voxel coordinate and once for the slice below. The two slices - are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is - halfway between two Z slices so the interpolation factor is 0.5. Below is a side view - of the 3D voxel grid with voxel coordinates on the left side. - - 2 +---+ - |001| - 1 +-z-+ - |000| - 0 +---+ - - When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. -*/ - -Properties getPropertiesFromMegatexture(in SampleData sampleData) { - int tileIndex = sampleData.megatextureIndex; - vec3 voxelCoord = sampleData.tileUv * vec3(u_dimensions); - ivec3 voxelDimensions = u_dimensions; - - #if defined(PADDING) - voxelDimensions += u_paddingBefore + u_paddingAfter; - voxelCoord += vec3(u_paddingBefore); - #endif - - #if defined(NEAREST_SAMPLING) - // Round to the center of the nearest voxel - voxelCoord = floor(voxelCoord) + vec3(0.5); - #endif - - // Tile location - vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); - - // Slice location - float slice = voxelCoord.z - 0.5; - int sliceIndex = int(floor(slice)); - int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); - vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); - - // Voxel location - vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; - - // Final location in the megatexture - vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; - - #if defined(NEAREST_SAMPLING) - return getPropertiesFromMegatextureAtUv(uv0); - #else - float sliceLerp = fract(slice); - int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); - vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); - vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; - Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); - Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); - return mixProperties(properties0, properties1, sliceLerp); - #endif -} - -// Convert an array of sample datas to a final weighted properties. -Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { - #if (SAMPLE_COUNT == 1) - return getPropertiesFromMegatexture(sampleDatas[0]); - #else - // When more than one sample is taken the accumulator needs to start at 0 - Properties properties = clearProperties(); - for (int i = 0; i < SAMPLE_COUNT; ++i) { - float weight = sampleDatas[i].weight; - - // Avoid reading the megatexture when the weight is 0 as it can be costly. - if (weight > 0.0) { - Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); - tempProperties = scaleProperties(tempProperties, weight); - properties = sumProperties(properties, tempProperties); - } - } - return properties; - #endif -} -`;function Oot(e){let t=new mx;this.shaderBuilder=t;let n=e._customShader,i=Tt(e._uniformMap,n.uniformMap);e._uniformMap=i;let o=n.uniforms;for(let p in o)if(o.hasOwnProperty(p)){let g=o[p];t.addUniform(g.type,p,ge.FRAGMENT)}t.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",ge.FRAGMENT),this.uniformMap=i;let r=e._clippingPlanes,s=l(r)&&r.enabled?r.length:0;this.clippingPlanes=r,this.clippingPlanesLength=s,t.addVertexLines([Tw]),t.addFragmentLines([n.fragmentShaderText,"#line 0",Xw,xw,Sw,Ww]),s>0&&(t.addDefine("CLIPPING_PLANES",void 0,ge.FRAGMENT),t.addDefine("CLIPPING_PLANES_COUNT",s,ge.FRAGMENT),r.unionClippingRegions&&t.addDefine("CLIPPING_PLANES_UNION",void 0,ge.FRAGMENT),t.addFragmentLines([Vw])),e._depthTest&&(t.addDefine("DEPTH_TEST",void 0,ge.FRAGMENT),t.addFragmentLines([Cw]));let a=e._provider.shape;a==="BOX"?t.addFragmentLines([Gw,Lw,LT]):a==="CYLINDER"?t.addFragmentLines([Ew,FV,Rw,LT]):a==="ELLIPSOID"&&(t.addDefine("SHAPE_ELLIPSOID",void 0,ge.FRAGMENT),t.addFragmentLines([Iw,FV,Zw,LT])),t.addFragmentLines([_w]);let c=e._shape,d=c.shaderDefines;for(let p in d)if(d.hasOwnProperty(p)){let g=d[p];l(g)&&(g=g===!0?void 0:g,t.addDefine(p,g,ge.FRAGMENT))}let u=c.shaderMaximumIntersectionsLength;s>0&&(t.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",u,ge.FRAGMENT),s===1?u+=1:r.unionClippingRegions?u+=2:u+=1),e._depthTest&&(t.addDefine("DEPTH_INTERSECTION_INDEX",u,ge.FRAGMENT),u+=1),t.addDefine("INTERSECTION_COUNT",u,ge.FRAGMENT),(!h.equals(e.paddingBefore,h.ZERO)||!h.equals(e.paddingAfter,h.ZERO))&&t.addDefine("PADDING",void 0,ge.FRAGMENT),e._useLogDepth&&t.addDefine("LOG_DEPTH_READ_ONLY",void 0,ge.FRAGMENT),e._nearestSampling&&t.addDefine("NEAREST_SAMPLING",void 0,ge.FRAGMENT);let m=e._traversal;t.addDefine("SAMPLE_COUNT",`${m._sampleCount}`,ge.FRAGMENT)}var Pw=Oot;var ITi=T(S(),1);function Yot(e,t){let{shaderBuilder:n}=e,{names:i,types:o,componentTypes:r,minimumValues:s,maximumValues:a}=t._provider,c=o.length,d=l(s)&&l(a);n.addDefine("METADATA_COUNT",c,ge.FRAGMENT),d&&n.addDefine("STATISTICS",void 0,ge.FRAGMENT);for(let P=0;P0){let C="getClippingPlane",V=tb(o,t),L=0,Z=V.indexOf(")")+1,G=V.indexOf("{",Z)+1,I=V.indexOf("}",G),v=V.slice(L,Z),P=V.slice(G,I);i.addFunction(C,v,ge.FRAGMENT),i.addFunctionLines(C,[P])}let s=i.clone();s.addDefine("PICKING",void 0,ge.FRAGMENT);let a=i.clone();a.addDefine("PICKING_VOXEL",void 0,ge.FRAGMENT);let c=i.buildShaderProgram(t),d=s.buildShaderProgram(t),u=a.buildShaderProgram(t),m=Be.fromCache({cull:{enabled:!0,face:yi.BACK},depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND}),p=t.getViewportQuadVertexArray(),g=e._depthTest,f=new tt({vertexArray:p,primitiveType:Me.TRIANGLES,renderState:m,shaderProgram:c,uniformMap:n.uniformMap,modelMatrix:e._compoundModelMatrix,pass:Ze.VOXELS,executeInClosestFrustum:!0,owner:this,cull:g,occlude:g}),x=tt.shallowClone(f,new tt);x.shaderProgram=d,x.pickOnly=!0;let _=tt.shallowClone(f,new tt);if(_.shaderProgram=u,_.pickOnly=!0,l(e._drawCommand)){let C=e._drawCommand;C.shaderProgram=C.shaderProgram&&C.shaderProgram.destroy()}if(l(e._drawCommandPick)){let C=e._drawCommandPick;C.shaderProgram=C.shaderProgram&&C.shaderProgram.destroy()}if(l(e._drawCommandPickVoxel)){let C=e._drawCommandPickVoxel;C.shaderProgram=C.shaderProgram&&C.shaderProgram.destroy()}e._drawCommand=f,e._drawCommandPick=x,e._drawCommandPickVoxel=_}var ww=Jot;var KSi=T(S(),1);var oSi=T(S(),1);var qTi=T(S(),1);function Of(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new ls,this._perspectiveMatrix=new M,this._infinitePerspective=new M}function X4(e){let{top:t,bottom:n,right:i,left:o,near:r,far:s}=e;(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||r!==e._near||s!==e._far)&&(e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=r,e._far=s,e._perspectiveMatrix=M.computePerspectiveOffCenter(o,i,n,t,r,s,e._perspectiveMatrix),e._infinitePerspective=M.computeInfinitePerspectiveOffCenter(o,i,n,t,r,e._infinitePerspective))}Object.defineProperties(Of.prototype,{projectionMatrix:{get:function(){return X4(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return X4(this),this._infinitePerspective}}});var Qot=new h,jot=new h,qot=new h,$ot=new h;Of.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,d=this.far,u=h.cross(t,n,Qot),m=jot;h.multiplyByScalar(t,c,m),h.add(e,m,m);let p=qot;h.multiplyByScalar(t,d,p),h.add(e,p,p);let g=$ot;h.multiplyByScalar(u,a,g),h.add(m,g,g),h.subtract(g,e,g),h.normalize(g,g),h.cross(g,n,g),h.normalize(g,g);let f=i[0];return l(f)||(f=i[0]=new se),f.x=g.x,f.y=g.y,f.z=g.z,f.w=-h.dot(g,e),h.multiplyByScalar(u,s,g),h.add(m,g,g),h.subtract(g,e,g),h.cross(n,g,g),h.normalize(g,g),f=i[1],l(f)||(f=i[1]=new se),f.x=g.x,f.y=g.y,f.z=g.z,f.w=-h.dot(g,e),h.multiplyByScalar(n,r,g),h.add(m,g,g),h.subtract(g,e,g),h.cross(u,g,g),h.normalize(g,g),f=i[2],l(f)||(f=i[2]=new se),f.x=g.x,f.y=g.y,f.z=g.z,f.w=-h.dot(g,e),h.multiplyByScalar(n,o,g),h.add(m,g,g),h.subtract(g,e,g),h.cross(g,u,g),h.normalize(g,g),f=i[3],l(f)||(f=i[3]=new se),f.x=g.x,f.y=g.y,f.z=g.z,f.w=-h.dot(g,e),f=i[4],l(f)||(f=i[4]=new se),f.x=t.x,f.y=t.y,f.z=t.z,f.w=-h.dot(t,m),h.negate(t,g),f=i[5],l(f)||(f=i[5]=new se),f.x=g.x,f.y=g.y,f.z=g.z,f.w=-h.dot(g,p),this._cullingVolume};Of.prototype.getPixelDimensions=function(e,t,n,i,o){X4(this);let r=1/this.near,s=this.top*r,a=2*i*n*s/t;s=this.right*r;let c=2*i*n*s/e;return o.x=c,o.y=a,o};Of.prototype.clone=function(e){return l(e)||(e=new Of),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};Of.prototype.equals=function(e){return l(e)&&e instanceof Of&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Of.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof Of&&W.equalsEpsilon(this.right,e.right,t,n)&&W.equalsEpsilon(this.left,e.left,t,n)&&W.equalsEpsilon(this.top,e.top,t,n)&&W.equalsEpsilon(this.bottom,e.bottom,t,n)&&W.equalsEpsilon(this.near,e.near,t,n)&&W.equalsEpsilon(this.far,e.far,t,n)};var ol=Of;function Kl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new ol,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this.xOffset=y(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=y(e.yOffset,0),this._yOffset=this.yOffset}Kl.packedLength=6;Kl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};Kl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Kl),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function Lh(e){if(!(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset))return;e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset;let n=e._offCenterFrustum;n.top=e.near*Math.tan(.5*e._fovy),n.bottom=-n.top,n.right=e.aspectRatio*n.top,n.left=-n.right,n.near=e.near,n.far=e.far,n.right+=e.xOffset,n.left+=e.xOffset,n.top+=e.yOffset,n.bottom+=e.yOffset}Object.defineProperties(Kl.prototype,{projectionMatrix:{get:function(){return Lh(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return Lh(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return Lh(this),this._fovy}},sseDenominator:{get:function(){return Lh(this),this._sseDenominator}},offCenterFrustum:{get:function(){return Lh(this),this._offCenterFrustum}}});Kl.prototype.computeCullingVolume=function(e,t,n){return Lh(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Kl.prototype.getPixelDimensions=function(e,t,n,i,o){return Lh(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Kl.prototype.clone=function(e){return l(e)||(e=new Kl),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Kl.prototype.equals=function(e){return!l(e)||!(e instanceof Kl)?!1:(Lh(this),Lh(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Kl.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Kl)?!1:(Lh(this),Lh(e),W.equalsEpsilon(this.fov,e.fov,t,n)&&W.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var Li=Kl;var bSi=T(S(),1);var Mbe={};function ert(e,t,n){let i,o,r;if(e instanceof Li){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof ol)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var trt=new h,wbe=new h;function Nbe(e,t,n,i){if(l(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(d){let u=n(d);if(d<=.5){let p=(u-o)/a;return W.lerp(e,-W.PI_OVER_TWO,p)}let m=(u-r)/c;return W.lerp(-W.PI_OVER_TWO,t,1-m)}}return function(o){return W.lerp(e,t,o)}}function P4(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!l(r)){let a=e.position,c=t,d=e.up,u=e.right,m=e.frustum,p=h.subtract(a,c,trt),g=h.magnitude(h.multiplyByScalar(d,h.dot(p,d),wbe)),f=h.magnitude(h.multiplyByScalar(u,h.dot(p,u),wbe));r=Math.min(ert(m,g,f)*.2,1e9)}if(se+Math.PI?e+=W.TWO_PI:tW.PI&&(t.longitude+=W.TWO_PI)}var rrt=new he,srt=new he;function art(e,t,n,i,o,r,s,a,c,d){let u=e.camera,p=e.mapProjection.ellipsoid,g=he.clone(u.positionCartographic,rrt),f=u.pitch,x=Fw(u.heading,i),_=Fw(u.roll,r),C=p.cartesianToCartographic(n,srt);g.longitude=W.zeroToTwoPi(g.longitude),C.longitude=W.zeroToTwoPi(C.longitude);let V=!1;if(l(a)){let I=W.zeroToTwoPi(a),v=Math.min(g.longitude,C.longitude),P=Math.max(g.longitude,C.longitude),w=I>=v&&I<=P;if(l(c)){let F=Math.abs(g.longitude-C.longitude),b=W.TWO_PI-F;(w?F:b)<(w?b:F)*c&&!w&&(V=!0)}else w||(V=!0)}V?irt(g,C):ort(g,C);let L=P4(u,n,g.height,C.height,s),Z=Nbe(f,o,L,d);function G(){let I=g.longitude,v=C.longitude,P=g.latitude,w=C.latitude;return function(b){let R=b.time/t,E=h.fromRadians(W.lerp(I,v,R),W.lerp(P,w,R),L(R),p);u.setView({destination:E,orientation:{heading:W.lerp(x,i,R),pitch:Z(R),roll:W.lerp(_,r,R)}})}}return G()}function crt(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,kbe),d=Fw(a.heading,i),u=a.frustum.right-a.frustum.left,m=P4(a,n,u,n.z,s);function p(g){let f=g.time/t;a.setView({orientation:{heading:W.lerp(d,i,f)}}),D.lerp(c,n,f,a.position);let x=m(f),_=a.frustum,C=_.top/_.right,V=(x-(_.right-_.left))*.5;_.right+=V,_.left-=V,_.top=C*_.right,_.bottom=-_.top}return p}var Fbe=new he,lrt=new h;function W4(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function Abe(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}Mbe.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===oe.MORPHING)return W4();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,d=t.flyOverLongitudeWeight,u=t.pitchAdjustHeight,m=t.easingFunction;o&&i!==oe.SCENE3D&&(s.cartesianToCartographic(n,Fbe),n=r.project(Fbe,lrt));let p=e.camera,g=t.endTransform;l(g)&&p._setTransform(g);let f=t.duration;l(f)||(f=Math.ceil(h.distance(p.position,n)/1e6)+2,f=Math.min(f,3));let x=y(t.heading,0),_=y(t.pitch,-W.PI_OVER_TWO),C=y(t.roll,0),V=e.screenSpaceCameraController;V.enableInputs=!1;let L=Abe(V,t.complete),Z=Abe(V,t.cancel),G=p.frustum,I=e.mode===oe.SCENE2D;if(I=I&&D.equalsEpsilon(p.position,n,W.EPSILON6),I=I&&W.equalsEpsilon(Math.max(G.right-G.left,G.top-G.bottom),n.z,W.EPSILON6),I=I||e.mode!==oe.SCENE2D&&h.equalsEpsilon(n,p.position,W.EPSILON10),I=I&&W.equalsEpsilon(W.negativePiToPi(x),W.negativePiToPi(p.heading),W.EPSILON10)&&W.equalsEpsilon(W.negativePiToPi(_),W.negativePiToPi(p.pitch),W.EPSILON10)&&W.equalsEpsilon(W.negativePiToPi(C),W.negativePiToPi(p.roll),W.EPSILON10),I)return W4(L,Z);let v=new Array(4);if(v[oe.SCENE2D]=crt,v[oe.SCENE3D]=art,v[oe.COLUMBUS_VIEW]=nrt,f<=0)return W4(function(){v[i](e,1,n,x,_,C,a,c,d,u)({time:1}),typeof L=="function"&&L()},Z);let P=v[i](e,f,n,x,_,C,a,c,d,u);if(!l(m)){let w=p.positionCartographic.height,F=i===oe.SCENE3D?s.cartesianToCartographic(n).height:n.z;w>F&&w>11500?m=Or.CUBIC_OUT:m=Or.QUINTIC_IN_OUT}return{duration:f,easingFunction:m,startObject:{time:0},stopObject:{time:f},update:P,complete:L,cancel:Z}};var Aw=Mbe;var ySi=T(S(),1),drt={ROTATE:0,INFINITE_SCROLL:1},Jl=Object.freeze(drt);function rn(e){this._scene=e,this._transform=M.clone(M.IDENTITY),this._invTransform=M.clone(M.IDENTITY),this._actualTransform=M.clone(M.IDENTITY),this._actualInvTransform=M.clone(M.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new he,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new Li,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=W.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new be,this._moveEnd=new be,this._changed=new be,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this._changedRoll=void 0,this.percentageChanged=.5,this._viewMatrix=new M,this._invViewMatrix=new M,Kbe(this),this._mode=oe.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new he(Math.PI,W.PI_OVER_TWO)),this._max2Dfrustum=void 0,sge(this,rn.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*rn.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}rn.TRANSFORM_2D=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);rn.TRANSFORM_2D_INVERSE=M.inverseTransformation(rn.TRANSFORM_2D,new M);rn.DEFAULT_VIEW_RECTANGLE=ce.fromDegrees(-95,-20,-70,90);rn.DEFAULT_VIEW_FACTOR=.5;rn.DEFAULT_OFFSET=new Ju(0,-W.PI_OVER_FOUR,0);function Kbe(e){M.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),M.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),M.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function urt(e){if(!l(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=_i()):e.timeSinceMoved=Math.max(_i()-e._lastMovedTimestamp,0)/1e3}}rn.prototype.canPreloadFlight=function(){return l(this._currentFlight)&&this._mode!==oe.SCENE2D};rn.prototype._updateCameraChanged=function(){let e=this;if(urt(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;l(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%W.TWO_PI;i=i>W.PI?W.TWO_PI-i:i;let o=i/Math.PI;o>t&&(e._changedHeading=n);let r=e.roll;l(e._changedRoll)||(e._changedRoll=r);let s=Math.abs(e._changedRoll-r)%W.TWO_PI;s=s>W.PI?W.TWO_PI-s:s;let a=s/Math.PI;if(a>t&&(e._changedRoll=r),(a>t||o>t)&&e._changed.raiseEvent(Math.max(a,o)),e._mode===oe.SCENE2D){if(!l(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let p=e.position,g=e._changedPosition,f=e.frustum,x=e._changedFrustum,_=p.x+f.left,C=p.x+f.right,V=g.x+x.left,L=g.x+x.right,Z=p.y+f.bottom,G=p.y+f.top,I=g.y+x.bottom,v=g.y+x.top,P=Math.max(_,V),w=Math.min(C,L),F=Math.max(Z,I),b=Math.min(G,v),R;if(P>=w||F>=G)R=1;else{let E=x;_L&&Zv&&(E=f),R=1-(w-P)*(b-F)/((E.right-E.left)*(E.top-E.bottom))}R>t&&(e._changed.raiseEvent(R),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!l(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let c=W.acosClamped(h.dot(e.directionWC,e._changedDirection)),d;l(e.frustum.fovy)?d=c/(e.frustum.fovy*.5):d=c;let m=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(d>t||m>t)&&(e._changed.raiseEvent(Math.max(d,m)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function mrt(e){Ft.basisTo2D(e._projection,e._transform,e._actualTransform)}var hrt=new he,frt=new h,yD=new h,prt=new se,brt=new se,grt=new se,yrt=new se,xrt=new se;function _rt(e){let t=e._projection,n=t.ellipsoid,i=M.getColumn(e._transform,3,prt),o=n.cartesianToCartographic(i,hrt),r=t.project(o,frt),s=brt;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=se.clone(se.UNIT_X,xrt),c=se.add(M.getColumn(e._transform,0,yD),i,yD);n.cartesianToCartographic(c,o),t.project(o,r);let d=grt;d.x=r.z,d.y=r.x,d.z=r.y,d.w=0,h.subtract(d,s,d),d.x=0;let u=yrt;if(h.magnitudeSquared(d)>W.EPSILON10)h.cross(a,d,u);else{let m=se.add(M.getColumn(e._transform,1,yD),i,yD);n.cartesianToCartographic(m,o),t.project(o,r),u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,h.subtract(u,s,u),u.x=0,h.magnitudeSquared(u)W.EPSILON2){let x=1/h.magnitudeSquared(c),_=h.dot(c,s)*x,C=h.multiplyByScalar(s,_,v4);c=h.normalize(h.subtract(c,C,e._up),e._up),h.clone(c,e.up),u=h.cross(s,c,e._right),h.clone(u,e.right)}}(a||p)&&(e._directionWC=M.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(d||p)&&(e._upWC=M.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(m||p)&&(e._rightWC=M.multiplyByPointAsVector(g,u,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||d||m||p)&&Kbe(e)}function Jbe(e,t){let n;return W.equalsEpsilon(Math.abs(e.z),1,W.EPSILON3)?n=Math.atan2(t.y,t.x)-W.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-W.PI_OVER_TWO,W.TWO_PI-W.zeroToTwoPi(n)}function Qbe(e){return W.PI_OVER_TWO-W.acosClamped(e.z)}function jbe(e,t,n){let i=0;return W.equalsEpsilon(Math.abs(e.z),1,W.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=W.zeroToTwoPi(i+W.TWO_PI)),i}var TD=new M,SD=new M;Object.defineProperties(rn.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return Cc(this),this._invTransform}},viewMatrix:{get:function(){return Cc(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return Cc(this),this._invViewMatrix}},positionCartographic:{get:function(){return Cc(this),this._positionCartographic}},positionWC:{get:function(){return Cc(this),this._positionWC}},directionWC:{get:function(){return Cc(this),this._directionWC}},upWC:{get:function(){return Cc(this),this._upWC}},rightWC:{get:function(){return Cc(this),this._rightWC}},heading:{get:function(){if(this._mode!==oe.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,TD),n=Ft.eastNorthUpToFixedFrame(this.positionWC,e,SD);this._setTransform(n);let i=Jbe(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==oe.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,TD),n=Ft.eastNorthUpToFixedFrame(this.positionWC,e,SD);this._setTransform(n);let i=Qbe(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==oe.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,TD),n=Ft.eastNorthUpToFixedFrame(this.positionWC,e,SD);this._setTransform(n);let i=jbe(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});rn.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==oe.MORPHING,t=this._mode===oe.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===oe.SCENE2D&&tge(this,this.position)};var Trt=new h,Srt=new h,Crt=new h;rn.prototype._setTransform=function(e){let t=h.clone(this.positionWC,Trt),n=h.clone(this.upWC,Srt),i=h.clone(this.directionWC,Crt);M.clone(e,this._transform),this._transformChanged=!0,Cc(this);let o=this._actualInvTransform;M.multiplyByPoint(o,t,this.position),M.multiplyByPointAsVector(o,i,this.direction),M.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),Cc(this)};var Vrt=new D,Lrt=new gn,Rrt=new h,Zrt=new h;function qbe(e){if(!M.equals(M.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=Vrt;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(l(n)){let a=e.getPickRay(i,Lrt);o=n.pickWorldCoordinates(a,t,!0,Rrt)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,Zrt));let s;if(l(o)||l(r)){let a=l(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=l(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}rn.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof ln&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=qbe(this)))};var CD=new h,N4=new M,Grt=new M,k4=new Ae,U4=new $,$be=new he;function Ert(e,t,n){let i=M.clone(e.transform,N4),o=Ft.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,Grt);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-W.PI_OVER_TWO;let r=Ae.fromHeadingPitchRoll(n,k4),s=$.fromQuaternion(r,U4);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function Irt(e,t,n,i){let o=M.clone(e.transform,N4);if(e._setTransform(M.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,$be);t=a.project(c,CD)}h.clone(t,e.position)}n.heading=n.heading-W.PI_OVER_TWO;let r=Ae.fromHeadingPitchRoll(n,k4),s=$.fromQuaternion(r,U4);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function Xrt(e,t,n,i){let o=M.clone(e.transform,N4);if(e._setTransform(M.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,d=c.ellipsoid.cartesianToCartographic(t,$be);t=c.project(d,CD)}D.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===Jl.ROTATE){n.heading=n.heading-W.PI_OVER_TWO,n.pitch=-W.PI_OVER_TWO,n.roll=0;let r=Ae.fromHeadingPitchRoll(n,k4),s=$.fromQuaternion(r,U4);$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var Wrt=new h,Prt=new h,vrt=new h;function ege(e,t,n,i){let o=h.clone(n.direction,Wrt),r=h.clone(n.up,Prt);if(e._scene.mode===oe.SCENE3D){let a=e._projection.ellipsoid,c=Ft.eastNorthUpToFixedFrame(t,a,TD),d=M.inverseTransformation(c,SD);M.multiplyByPointAsVector(d,o,o),M.multiplyByPointAsVector(d,r,r)}let s=h.cross(o,r,vrt);return i.heading=Jbe(o,r),i.pitch=Qbe(o),i.roll=jbe(o,r,s),i}var M4={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},AV=new Ea;rn.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===oe.MORPHING)return;l(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,CD));l(o)&&l(o.west)&&(o=this.getRectangleCameraCoordinates(o,CD),i=!1),l(t.direction)&&(t=ege(this,o,t,M4.orientation)),AV.heading=y(t.heading,0),AV.pitch=y(t.pitch,-W.PI_OVER_TWO),AV.roll=y(t.roll,0),n===oe.SCENE3D?Ert(this,o,AV):n===oe.SCENE2D?Xrt(this,o,AV,i):Irt(this,o,AV,i)};var wrt=new h;rn.prototype.flyHome=function(e){let t=this._mode;if(t===oe.MORPHING&&this._scene.completeMorph(),t===oe.SCENE2D)this.flyTo({destination:rn.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:M.IDENTITY});else if(t===oe.SCENE3D){let n=this.getRectangleCameraCoordinates(rn.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*rn.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:M.IDENTITY})}else if(t===oe.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,wrt).z),roll:0},endTransform:M.IDENTITY,convert:!1})}};rn.prototype.worldToCameraCoordinates=function(e,t){return l(t)||(t=new se),Cc(this),M.multiplyByVector(this._actualInvTransform,e,t)};rn.prototype.worldToCameraCoordinatesPoint=function(e,t){return l(t)||(t=new h),Cc(this),M.multiplyByPoint(this._actualInvTransform,e,t)};rn.prototype.worldToCameraCoordinatesVector=function(e,t){return l(t)||(t=new h),Cc(this),M.multiplyByPointAsVector(this._actualInvTransform,e,t)};rn.prototype.cameraToWorldCoordinates=function(e,t){return l(t)||(t=new se),Cc(this),M.multiplyByVector(this._actualTransform,e,t)};rn.prototype.cameraToWorldCoordinatesPoint=function(e,t){return l(t)||(t=new h),Cc(this),M.multiplyByPoint(this._actualTransform,e,t)};rn.prototype.cameraToWorldCoordinatesVector=function(e,t){return l(t)||(t=new h),Cc(this),M.multiplyByPointAsVector(this._actualTransform,e,t)};function tge(e,t){let n=e._scene.mapMode2D===Jl.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var Ube=new h;rn.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,Ube),h.add(n,Ube,n),this._mode===oe.SCENE2D&&tge(this,n),this._adjustOrthographicFrustum(!0)};rn.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===oe.SCENE2D?VD(this,e):this.move(this.direction,e)};rn.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===oe.SCENE2D?VD(this,-e):this.move(this.direction,-e)};rn.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};rn.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};rn.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};rn.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};rn.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.up,-e)};rn.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.up,e)};rn.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.right,-e)};rn.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.right,e)};var Frt=new Ae,Art=new $;rn.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Ae.fromAxisAngle(e,-n,Frt),o=$.fromQuaternion(i,Art),r=this.direction,s=this.up,a=this.right;$.multiplyByVector(o,r,r),$.multiplyByVector(o,s,s),$.multiplyByVector(o,a,a)};rn.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};rn.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var Mrt=new Ae,Nrt=new $;rn.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Ae.fromAxisAngle(e,-n,Mrt),o=$.fromQuaternion(i,Nrt);$.multiplyByVector(o,this.position,this.position),$.multiplyByVector(o,this.direction,this.direction),$.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};rn.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),nge(this,e)};rn.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),nge(this,-e)};var krt=new h,Urt=new h,Drt=new h,Dbe=new h;function nge(e,t){let n=e.position;if(l(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,W.EPSILON2)){let i=h.normalize(n,krt),o=h.equalsEpsilon(i,e.constrainedAxis,W.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,Dbe),W.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,Urt),a=h.dot(i,s),c=W.acosClamped(a);t>0&&t>c&&(t=c-W.EPSILON4),a=h.dot(i,h.negate(s,Dbe)),c=W.acosClamped(a),t<0&&-t>c&&(t=-c+W.EPSILON4);let d=h.cross(s,i,Drt);e.rotate(d,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}rn.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),ige(this,-e)};rn.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),ige(this,e)};function ige(e,t){l(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function VD(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===Jl.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===Jl.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function oge(e,t){e.move(e.direction,t)}rn.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===oe.SCENE2D?VD(this,e):oge(this,e)};rn.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===oe.SCENE2D?VD(this,-e):oge(this,-e)};rn.prototype.getMagnitude=function(){if(this._mode===oe.SCENE3D)return h.magnitude(this.position);if(this._mode===oe.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===oe.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var Brt=new M;rn.prototype.lookAt=function(e,t){let n=this._scene,i=y(n.ellipsoid,ne.default),o=Ft.eastNorthUpToFixedFrame(e,i,Brt);this.lookAtTransform(o,t)};var Ort=new h,Yrt=new Ae,zrt=new Ae,Hrt=new $;function rge(e,t,n){t=W.clamp(t,-W.PI_OVER_TWO,W.PI_OVER_TWO),e=W.zeroToTwoPi(e)-W.PI_OVER_TWO;let i=Ae.fromAxisAngle(h.UNIT_Y,-t,Yrt),o=Ae.fromAxisAngle(h.UNIT_Z,-e,zrt),r=Ae.multiply(o,i,o),s=$.fromQuaternion(r,Hrt),a=h.clone(h.UNIT_X,Ort);return $.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}rn.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!l(t))return;let n;if(l(t.heading)?n=rge(t.heading,t.pitch,t.range):n=t,this._mode===oe.SCENE2D){D.clone(D.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)d&&(d+=W.TWO_PI);let u=(c+d)*.5,m;if(a<-W.PI_OVER_TWO+W.RADIANS_PER_DEGREE&&s>W.PI_OVER_TWO-W.RADIANS_PER_DEGREE)m=0;else{let w=Mw;w.longitude=u,w.latitude=s,w.height=0;let F=Krt;F.longitude=u,F.latitude=a,F.height=0;let b=Bbe;(!l(b)||b.ellipsoid!==o)&&(Bbe=b=new Xp(void 0,void 0,o)),b.setEndPoints(w,F),m=b.interpolateUsingFraction(.5,Mw).latitude}let p=Mw;p.longitude=u,p.latitude=m,p.height=0;let g=o.cartographicToCartesian(p,tst),f=Mw;f.longitude=d,f.latitude=s;let x=o.cartographicToCartesian(f,Jrt);f.longitude=c;let _=o.cartographicToCartesian(f,jrt);f.longitude=u;let C=o.cartographicToCartesian(f,$rt);f.latitude=a;let V=o.cartographicToCartesian(f,est);f.longitude=d;let L=o.cartographicToCartesian(f,qrt);f.longitude=c;let Z=o.cartographicToCartesian(f,Qrt);h.subtract(_,g,_),h.subtract(L,g,L),h.subtract(x,g,x),h.subtract(Z,g,Z),h.subtract(C,g,C),h.subtract(V,g,V);let G=o.geodeticSurfaceNormal(g,r.direction);h.negate(G,G);let I=h.cross(G,h.UNIT_Z,r.right);h.normalize(I,I);let v=h.cross(I,G,r.up),P;if(e.frustum instanceof ln){let w=Math.max(h.distance(x,_),h.distance(L,Z)),F=Math.max(h.distance(x,L),h.distance(_,Z)),b,R,E=e.frustum._offCenterFrustum,X=E.right/E.top,A=F*X;w>A?(b=w,R=b/X):(R=F,b=A),P=Math.max(b,R)}else{let w=Math.tan(e.frustum.fovy*.5),F=e.frustum.aspectRatio*w;if(P=Math.max(Sc(G,v,_,w),Sc(G,v,L,w),Sc(G,v,x,w),Sc(G,v,Z,w),Sc(G,v,C,w),Sc(G,v,V,w),Sc(G,I,_,F),Sc(G,I,L,F),Sc(G,I,x,F),Sc(G,I,Z,F),Sc(G,I,C,F),Sc(G,I,V,F)),a<0&&s>0){let b=Mw;b.longitude=c,b.latitude=0,b.height=0;let R=o.cartographicToCartesian(b,w4);h.subtract(R,g,R),P=Math.max(P,Sc(G,v,R,w),Sc(G,I,R,F)),b.longitude=d,R=o.cartographicToCartesian(b,w4),h.subtract(R,g,R),P=Math.max(P,Sc(G,v,R,w),Sc(G,I,R,F))}}return h.add(g,h.multiplyByScalar(G,-P,w4),n)}var ist=new he,ost=new h,rst=new h;function sst(e,t,n){let i=e._projection;t.west>t.east&&(t=ce.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=ist;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,ost);M.multiplyByPoint(o,a,a),M.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,rst);if(M.multiplyByPoint(o,c,c),M.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,l(e.frustum.fovy)){let d=Math.tan(e.frustum.fovy*.5),u=e.frustum.aspectRatio*d;n.z=Math.max((a.x-c.x)/u,(a.y-c.y)/d)*.5}else{let d=a.x-c.x,u=a.y-c.y;n.z=Math.max(d,u)}return n}var ast=new he,cst=new h,lst=new h;function dst(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===Jl.INFINITE_SCROLL?o+=W.TWO_PI:(t=ce.MAX_VALUE,o=t.east));let r=ast;r.longitude=o,r.latitude=t.north;let s=i.project(r,cst);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,lst),c=Math.abs(s.x-a.x)*.5,d=Math.abs(s.y-a.y)*.5,u,m,p=e.frustum.right/e.frustum.top,g=d*p;return c>g?(u=c,m=u/p):(m=d,u=g),d=Math.max(2*u,2*m),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=d,n=i.project(r,n),n}rn.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(l(t)||(t=new h),n===oe.SCENE3D)return sge(this,e,t);if(n===oe.COLUMBUS_VIEW)return sst(this,e,t);if(n===oe.SCENE2D)return dst(this,e,t)};var ust=new gn;function mst(e,t,n,i){n=y(n,ne.default);let o=e.getPickRay(t,ust),r=ei.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return gn.getPoint(o,s,i)}var hst=new gn;function fst(e,t,n,i){let r=e.getPickRay(t,hst).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-W.PI_OVER_TWO||s.latitude>W.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var pst=new gn;function bst(e,t,n,i){let o=e.getPickRay(t,pst),r=-o.origin.x/o.direction.x;gn.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-W.PI_OVER_TWO||s.latitude>W.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}rn.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(l(n)||(n=new h),t=y(t,ne.default),this._mode===oe.SCENE3D)n=mst(this,e,t,n);else if(this._mode===oe.SCENE2D)n=fst(this,e,this._projection,n);else if(this._mode===oe.COLUMBUS_VIEW)n=bst(this,e,this._projection,n);else return;return n}};var gst=new h,yst=new h,xst=new h;function _st(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,d=2/o*t.x-1,u=2/r*(r-t.y)-1,m=e.positionWC;h.clone(m,n.origin);let p=h.multiplyByScalar(e.directionWC,c,gst);h.add(m,p,p);let g=h.multiplyByScalar(e.rightWC,d*c*a,yst),f=h.multiplyByScalar(e.upWC,u*c*s,xst),x=h.add(p,g,n.direction);return h.add(x,f,x),h.subtract(x,m,x),h.normalize(x,x),n}var xD=new h;function Tst(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2/o*t.x-1;c*=(s.right-s.left)*.5;let d=2/r*(r-t.y)-1;d*=(s.top-s.bottom)*.5;let u=n.origin;return h.clone(e.position,u),h.multiplyByScalar(e.right,c,xD),h.add(xD,u,u),h.multiplyByScalar(e.up,d,xD),h.add(xD,u,u),h.clone(e.directionWC,n.direction),(e._mode===oe.COLUMBUS_VIEW||e._mode===oe.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}rn.prototype.getPickRay=function(e,t){l(t)||(t=new gn);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return l(i.aspectRatio)&&l(i.fov)&&l(i.near)?_st(this,e,t):Tst(this,e,t)};var Sst=new h,Cst=new h;rn.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,Sst),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),Cst);return Math.max(0,h.magnitude(n)-e.radius)};var Vst=new D;rn.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,Vst);return Math.max(o.x,o.y)};function Lst(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let d=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(d,e.position)}return{easingFunction:Or.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var Rst=new h,Obe=new h,Zst=new h,Gst=new h;function Est(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,Rst),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,Obe),Obe);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,Zst);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,d=h.magnitude(h.subtract(n,s,Gst)),u=c*d,m=a*d,p=e._maxCoord.x,g=e._maxCoord.y,f=Math.max(u-p,p),x=Math.max(m-g,g);if(n.z<-f||n.z>f||n.y<-x||n.y>x){let _=s.y<-f||s.y>f,C=s.z<-x||s.z>x;if(_||C)return Lst(e,n,s,f,x,t)}}rn.prototype.createCorrectPositionTween=function(e){if(this._mode===oe.COLUMBUS_VIEW)return Est(this,e)};var Ist=new h,js={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};rn.prototype.cancelFlight=function(){l(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};rn.prototype.completeFlight=function(){if(l(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=js.destination,e.orientation.heading=js.heading,e.orientation.pitch=js.pitch,e.orientation.roll=js.roll,this.setView(e),l(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};rn.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===oe.MORPHING)return;this.cancelFlight();let i=t instanceof ce;i&&(t=this.getRectangleCameraCoordinates(t,Ist));let o=y(e.orientation,y.EMPTY_OBJECT);if(l(o.direction)&&(o=ege(this,t,o,M4.orientation)),l(e.duration)&&e.duration<=0){let u=M4;u.destination=e.destination,u.orientation.heading=o.heading,u.orientation.pitch=o.pitch,u.orientation.roll=o.roll,u.convert=e.convert,u.endTransform=e.endTransform,this.setView(u),typeof e.complete=="function"&&e.complete();return}let r=this,s;js.destination=t,js.heading=o.heading,js.pitch=o.pitch,js.roll=o.roll,js.duration=e.duration,js.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),l(e.complete)&&e.complete()},js.cancel=e.cancel,js.endTransform=e.endTransform,js.convert=i?!1:e.convert,js.maximumHeight=e.maximumHeight,js.pitchAdjustHeight=e.pitchAdjustHeight,js.flyOverLongitude=e.flyOverLongitude,js.flyOverLongitudeWeight=e.flyOverLongitudeWeight,js.easingFunction=e.easingFunction;let a=this._scene,c=Aw.createTween(a,js);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let d=this._scene.preloadFlightCamera;this._mode!==oe.SCENE2D&&(l(d)||(d=rn.clone(this)),d.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=d.frustum.computeCullingVolume(d.positionWC,d.directionWC,d.upWC))};function Xst(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function Wst(e,t){let n=e.frustum,i=n.offCenterFrustum;l(i)&&(n=i);let o,r,s=n.right/n.top,a=t*s;return t>a?(o=t,r=o/s):(r=t,o=a),Math.max(o,r)*1.5}var Pst=100;function age(e,t,n){n=Ju.clone(l(n)?n:rn.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!l(r)||r===0){let s=t.radius;s===0?n.range=Pst:e.frustum instanceof ln||e._mode===oe.SCENE2D?n.range=Wst(e,s):n.range=Xst(e,s),n.range=W.clamp(n.range,i,o)}return n}rn.prototype.viewBoundingSphere=function(e,t){t=age(this,e,t),this.lookAt(e.center,t)};var vst=new M,wst=new h,Fst=new h,Ast=new h,Mst=new h,Nst=new se,kst=new Ae,Ust=new $;rn.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===oe.SCENE2D||this._mode===oe.COLUMBUS_VIEW;this._setTransform(M.IDENTITY);let i=age(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,wst):o=rge(i.heading,i.pitch,i.range);let r=this._scene,s=y(r.ellipsoid,ne.default),a=Ft.eastNorthUpToFixedFrame(e.center,s,vst);M.multiplyByPoint(a,o,o);let c,d;if(!n){if(c=h.subtract(e.center,o,Fst),h.normalize(c,c),d=M.multiplyByPointAsVector(a,h.UNIT_Z,Ast),1-Math.abs(h.dot(c,d))W.PI?u+=W.TWO_PI-f:u+=f,m=g}return W.equalsEpsilon(Math.abs(u),W.TWO_PI,W.EPSILON9)&&(t.west=-W.PI,t.east=W.PI,_y[0].latitude>=0?t.north=W.PI_OVER_TWO:t.south=-W.PI_OVER_TWO),t};rn.prototype.switchToPerspectiveFrustum=function(){if(this._mode===oe.SCENE2D||this.frustum instanceof Li)return;let e=this._scene;this.frustum=new Li,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=W.toRadians(60)};rn.prototype.switchToOrthographicFrustum=function(){if(this._mode===oe.SCENE2D||this.frustum instanceof ln)return;let e=qbe(this),t=this._scene;this.frustum=new ln,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};rn.clone=function(e,t){return l(t)||(t=new rn(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),M.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var oo=rn;var TCi=T(S(),1);var QSi=T(S(),1),Ost={SHIFT:0,CTRL:1,ALT:2},qs=Object.freeze(Ost);var lCi=T(S(),1);var qSi=T(S(),1),Yst={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},Vn=Object.freeze(Yst);function Ty(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=(t.clientX-o.left)*(i.offsetWidth/o.width),n.y=(t.clientY-o.top)*(i.offsetHeight/o.height),n}function H4(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function RT(e){if(e.shiftKey)return qs.SHIFT;if(e.ctrlKey)return qs.CTRL;if(e.altKey)return qs.ALT}var Xs={LEFT:0,MIDDLE:1,RIGHT:2};function Od(e,t,n,i){function o(r){i(e,r)}zt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function zst(e){let t=e._element,n=l(t.disableRootEvents)?t:document;zt.supportsPointerEvents()?(Od(e,"pointerdown",t,qst),Od(e,"pointerup",t,gge),Od(e,"pointermove",t,$st),Od(e,"pointercancel",t,gge)):(Od(e,"mousedown",t,yge),Od(e,"mouseup",n,xge),Od(e,"mousemove",n,_ge),Od(e,"touchstart",t,Qst),Od(e,"touchend",n,mge),Od(e,"touchmove",n,jst),Od(e,"touchcancel",n,mge)),Od(e,"dblclick",t,Kst);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",Od(e,i,t,Jst)}function Hst(e){let t=e._removalFunctions;for(let n=0;nRh.mouseEmulationIgnoreMilliseconds}function z4(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)0?n=t.detail*-120:n=t.wheelDelta;if(!l(n))return;let i=RT(t),o=e.getInputAction(Vn.WHEEL,i);l(o)&&(o(n),t.preventDefault())}function Qst(e,t){K4(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i=p+Math.PI;)m-=g;for(;m0||e}}});qu.prototype.isMoving=function(e,t){let n=$s(e,t);return!this._update[n]};qu.prototype.getMovement=function(e,t){let n=$s(e,t);return this._movement[n]};qu.prototype.getLastMovement=function(e,t){let n=$s(e,t),i=this._lastMovement[n];if(i.valid)return i};qu.prototype.isButtonDown=function(e,t){let n=$s(e,t);return this._isDown[n]};qu.prototype.getStartMousePosition=function(e,t){if(e===Wi.WHEEL)return this._currentMousePosition;let n=$s(e,t);return this._eventStartPosition[n]};qu.prototype.getButtonPressTime=function(e,t){let n=$s(e,t);return this._pressTime[n]};qu.prototype.getButtonReleaseTime=function(e,t){let n=$s(e,t);return this._releaseTime[n]};qu.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};qu.prototype.isDestroyed=function(){return!1};qu.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),me(this)};var Uw=qu;var VCi=T(S(),1);function Yf(){this.featurePropertiesDirty=!1}Object.defineProperties(Yf.prototype,{featuresLength:{get:function(){fe.throwInstantiationError()}},pointsLength:{get:function(){fe.throwInstantiationError()}},trianglesLength:{get:function(){fe.throwInstantiationError()}},geometryByteLength:{get:function(){fe.throwInstantiationError()}},texturesByteLength:{get:function(){fe.throwInstantiationError()}},batchTableByteLength:{get:function(){fe.throwInstantiationError()}},innerContents:{get:function(){fe.throwInstantiationError()}},ready:{get:function(){fe.throwInstantiationError()}},tileset:{get:function(){fe.throwInstantiationError()}},tile:{get:function(){fe.throwInstantiationError()}},url:{get:function(){fe.throwInstantiationError()}},batchTable:{get:function(){fe.throwInstantiationError()}},metadata:{get:function(){fe.throwInstantiationError()},set:function(e){fe.throwInstantiationError()}},group:{get:function(){fe.throwInstantiationError()},set:function(e){fe.throwInstantiationError()}}});Yf.prototype.hasProperty=function(e,t){fe.throwInstantiationError()};Yf.prototype.getFeature=function(e){fe.throwInstantiationError()};Yf.prototype.applyDebugSettings=function(e,t){fe.throwInstantiationError()};Yf.prototype.applyStyle=function(e){fe.throwInstantiationError()};Yf.prototype.update=function(e,t){fe.throwInstantiationError()};Yf.prototype.pick=function(e,t,n){fe.throwInstantiationError()};Yf.prototype.isDestroyed=function(){fe.throwInstantiationError()};Yf.prototype.destroy=function(){fe.throwInstantiationError()};var j4=Yf;var RCi=T(S(),1);function iat(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var $u=iat;var NCi=T(S(),1);var XCi=T(S(),1);function NV(e,t){this._conditionsExpression=ze(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,rat(this,t)}Object.defineProperties(NV.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function oat(e,t){this.condition=e,this.expression=t}function rat(e,t){let n=[],i=e._conditions;if(!l(i))return;let o=i.length;for(let r=0;re;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});Zh.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new Zh({comparator:t,maximumLength:e});o._length=i;for(let r=0;r=2&&(this._array[0]=this._array[e-1],Zge(this,0)),this._array[e-1]=void 0,t};Zh.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=q4(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&Zge(this,n)}return this._array[e-1]=void 0,t};Zh.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};Zh.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[q4(this,1,2)?1:2]};function RD(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function Bw(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function q4(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function Rge(e,t){if(t===0)return;let n=Math.floor(W.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=Bw(e,t,i);for(o!==n&&(RD(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(Bw(e,t,r)!==o)break;RD(e,t,r),t=r}}function Zge(e,t){let n=e._length,i=Math.floor(W.log2(t+1))%2===0,o;for(;(o=2*t+1)0){let i=n.getParentSubtreeCoordinates(),o=this.find(i)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==t;)this._queue.removeMinimum()};Ow.prototype.find=function(e){let t=this._queue,n=t.internalArray,i=t.length;for(let o=0;oc.x||a.y>c.y||a.z>c.z||(a.x===c.x)+(a.y===c.y)+(a.z===c.z)>=2||i.x>o.x||i.y>o.y||i.z>o.z||d.x===0||d.y===0||d.z===0)return!1;this.shapeTransform=M.clone(e,this.shapeTransform),this.orientedBoundingBox=tj(a,c,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=le.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:u,shaderDefines:m}=this;for(let f in m)m.hasOwnProperty(f)&&(m[f]=void 0);let p=!h.equals(t,r)||!h.equals(n,s),g=0;if(m.BOX_INTERSECTION_INDEX=g,g+=1,u.renderMinBounds=M.multiplyByPoint(Gge,a,u.renderMinBounds),u.renderMaxBounds=M.multiplyByPoint(Gge,c,u.renderMaxBounds),p){m.BOX_HAS_SHAPE_BOUNDS=!0;let f=t,x=n;u.boxUvToShapeUvScale=h.fromElements(2/(f.x===x.x?1:x.x-f.x),2/(f.y===x.y?1:x.y-f.y),2/(f.z===x.z?1:x.z-f.z),u.boxUvToShapeUvScale),u.boxUvToShapeUvTranslate=h.fromElements(-u.boxUvToShapeUvScale.x*(f.x*.5+.5),-u.boxUvToShapeUvScale.y*(f.y*.5+.5),-u.boxUvToShapeUvScale.z*(f.z*.5+.5),u.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=g,!0};var ZD=new h,ej=new h;Ql.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minBounds,s=this._maxBounds,a=1/Math.pow(2,e),c=h.fromElements(W.lerp(r.x,s.x,a*t),W.lerp(r.y,s.y,a*n),W.lerp(r.z,s.z,a*i),ZD),d=h.fromElements(W.lerp(r.x,s.x,a*(t+1)),W.lerp(r.y,s.y,a*(n+1)),W.lerp(r.z,s.z,a*(i+1)),ej);return tj(c,d,this.shapeTransform,o)};var Ege=new h;Ql.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,Ege),s=h.multiplyByScalar(r,o,Ege),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,ZD),o,ZD),c=h.add(a,s,ej),d=this._minBounds,u=this._maxBounds,m=h.fromElements(W.lerp(d.x,u.x,a.x),W.lerp(d.y,u.y,a.y),W.lerp(d.z,u.z,a.z),ZD),p=h.fromElements(W.lerp(d.x,u.x,c.x),W.lerp(d.y,u.y,c.y),W.lerp(d.z,u.z,c.z),ej);return tj(m,p,this.shapeTransform,i)};Ql.DefaultMinBounds=Object.freeze(new h(-1,-1,-1));Ql.DefaultMaxBounds=Object.freeze(new h(1,1,1));function tj(e,t,n,i){let o=Ql.DefaultMinBounds,r=Ql.DefaultMaxBounds;if(h.equals(e,o)&&h.equals(t,r))i.center=M.getTranslation(n,i.center),i.halfAxes=M.getMatrix3(n,i.halfAxes);else{let a=M.getScale(n,$4),c=h.midpoint(e,t,cat);i.center=M.multiplyByPoint(n,c,i.center),a=h.fromElements(a.x*.5*(t.x-e.x),a.y*.5*(t.y-e.y),a.z*.5*(t.z-e.z),$4);let d=M.getRotation(n,lat);i.halfAxes=$.setScale(d,a,i.halfAxes)}return i}var zf=Ql;var a1i=T(S(),1);function GD(e){this._resource=e,this._metadataTable=void 0}Object.defineProperties(GD.prototype,{metadataTable:{get:function(){return this._metadataTable}}});GD.fromJson=async function(e,t,n,i){let o;l(t)?o={json:t,binary:void 0}:o=pat(n);let r=await fat(e,o.json,o.binary),s={},a=o.json.bufferViews.length;for(let m=0;mG||F>b||W.equalsEpsilon(U.x,0,void 0,g)||W.equalsEpsilon(U.y,0,void 0,g)||W.equalsEpsilon(U.z,0,void 0,g))return!1;this._minimumRadius=_,this._maximumRadius=C,this._minimumHeight=I,this._maximumHeight=v,this._minimumAngle=R,this._maximumAngle=E,this.shapeTransform=M.clone(e,this.shapeTransform),this.orientedBoundingBox=ij(Z,G,F,b,N,O,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=le.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let J=_===r&&C===s,z=I===a&&v===c,te=Ep+x&&H=p-x&&H<=p+x,_e=q||ee||pe,ae=W.equalsEpsilon(R,d,void 0,f),ye=W.equalsEpsilon(E,u,void 0,f),Te=Z===r,Ie=O=p-x&&Eex&&EeW.PI&&(L[Z++]=V-W.PI_OVER_TWO,L[Z++]=V+W.PI_OVER_TWO);let G=1,I=1,v=-1,P=-1;for(let te=0;teL.y||V.y===s.y||L.y===r.y||V.z>L.z||W.equalsEpsilon(I,h.ZERO,void 0,a))return!1;this._rectangle=ce.fromRadians(f.x,f.y,x.x,x.y),this._translation=M.getTranslation(e,this._translation),this._rotation=M.getRotation(e,this._rotation),this._ellipsoid=ne.fromCartesian3(p,this._ellipsoid),this._minimumHeight=f.z,this._maximumHeight=x.z;let v=ce.fromRadians(V.x,V.y,L.x,L.y,Mat);this.orientedBoundingBox=oj(v,V.z,L.z,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=M.fromRotationTranslation($.setScale(this._rotation,Z,Aat),this._translation,this.shapeTransform),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=le.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let P=s.x-r.x,w=.5*P,F=L.x=w-d&&bd&&bw+d&&O=w-d&&O<=w+d,k=O=-m&&L.y<=+m,H=L.y>+m&&L.yr.y+u&&V.y<-m,pe=V.y>=-m&&V.y<=+m,_e=V.y>+m,ae=ee||pe||_e,ye=q||ae,Te=x.y-f.y,Ie=x.y<-m,Ee=x.y>=-m&&x.y<=+m,ve=x.y>+m&&x.yr.y+u&&f.y<-m,rt=f.y>=-m&&f.y<=+m,Rt=f.y>+m,ke=we||(pt||rt||Rt),{shaderUniforms:qe,shaderDefines:Qe}=this;for(let Qt in Qe)Qe.hasOwnProperty(Qt)&&(Qe[Qt]=void 0);qe.ellipsoidRadiiUv=h.divideByScalar(Z,G,qe.ellipsoidRadiiUv);let{x:Ut,z:Ce}=qe.ellipsoidRadiiUv,Ve=Ce/Ut;qe.eccentricitySquared=1-Ve*Ve,qe.evoluteScale=D.fromElements((Ut*Ut-Ce*Ce)/Ut,(Ce*Ce-Ut*Ut)/Ce,qe.evoluteScale),qe.ellipsoidInverseRadiiSquaredUv=h.divideComponents(h.ONE,h.multiplyComponents(qe.ellipsoidRadiiUv,qe.ellipsoidRadiiUv,qe.ellipsoidInverseRadiiSquaredUv),qe.ellipsoidInverseRadiiSquaredUv);let $t=0;Qe.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=$t,$t+=1,Qe.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=$t,$t+=1,qe.clipMinMaxHeight=D.fromElements((V.z-x.z)/G,(L.z-x.z)/G,qe.clipMinMaxHeight);let en=(x.z-f.z)/G;if(qe.ellipsoidInverseHeightDifferenceUv=1/en,f.z===x.z&&(qe.ellipsoidInverseHeightDifferenceUv=0),A&&(Qe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,Qe.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=$t,E?(Qe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,$t+=1):X?(Qe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,$t+=2):R&&(Qe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,$t+=2),qe.ellipsoidRenderLongitudeMinMax=D.fromElements(V.x,L.x,qe.ellipsoidRenderLongitudeMinMax)),J)if(Qe.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,x.x{let{type:g,componentType:f}=p,x=r?.properties[m].min,_=r?.properties[m].max,C=Lt.getComponentCount(g),V=kge(x,C),L=kge(_,C);return{id:m,type:g,componentType:f,minValue:V,maxValue:L}});e.names=a.map(m=>m.id),e.types=a.map(m=>m.type),e.componentTypes=a.map(m=>m.componentType);let c=a.map(m=>m.minValue),d=a.map(m=>m.maxValue),u=c.some(l);e.minimumValues=u?c:void 0,e.maximumValues=u?d:void 0}function kge(e,t){if(!l(e))return;let n=Array.isArray(e)?e:[e];return Array.from({length:t},(i,o)=>n[o])}async function Kat(e,t){let n=e.contentUriTemplates[0].getDerivedResource({templateValues:t.getTemplateValues()}),i=e.baseResource.getDerivedResource({url:n.url}),o=await i.fetchArrayBuffer(),r=Tf(o);return await zw.fromJson(i,r.jsonPayload,r.binaryPayload,e.metadataSchema)}async function Jat(e,t){let n=e._implicitTileset,i=e._subtreeCache,o=i.find(t);if(l(o))return o;let r=n.subtreeUriTemplate.getDerivedResource({templateValues:t.getTemplateValues()}),s=n.baseResource.getDerivedResource({url:r.url}),a=await s.fetchArrayBuffer();if(o=i.find(t),l(o))return o;let c=Tf(a);return o=await c_.fromSubtreeJson(s,c.jsonPayload,c.binaryPayload,n,t),i.addSubtree(o),o}ED.prototype.requestData=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.tileLevel,0),n=y(e.tileX,0),i=y(e.tileY,0),o=y(e.tileZ,0);if(y(e.keyframe,0)!==0)return;let s=this._implicitTileset,a=this.names,c=new D_({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:t,x:n,y:i,z:o}),d=c.isSubtreeRoot()&&c.level>0,u=d?c.getParentSubtreeCoordinates():c.getSubtreeCoordinates();return Jat(this,u).then(function(p){return(d?p.childSubtreeIsAvailableAtCoordinates(c):p.tileIsAvailableAtCoordinates(c))?Kat(s,c):Promise.reject("Tile is not available")}).then(function(p){return a.map(function(g){return p.metadataTable.getPropertyTypedArray(g)})})};var rj=ED;var dVi=T(S(),1);function sj(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(sj.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});sj.prototype.emit=function(e){let t=W.randomBetween(0,W.TWO_PI),n=W.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var Hw=sj;var cLi=T(S(),1);var mVi=T(S(),1),aj={CUMULUS:0};aj.validate=function(e){return e===aj.CUMULUS};var kV=Object.freeze(aj);var fVi=T(S(),1),Kw=`uniform sampler2D u_noiseTexture; -uniform vec3 u_noiseTextureDimensions; -uniform float u_noiseDetail; -in vec2 v_offset; -in vec3 v_maximumSize; -in vec4 v_color; -in float v_slice; -in float v_brightness; - -float wrap(float value, float rangeLength) { - if(value < 0.0) { - float absValue = abs(value); - float modValue = mod(absValue, rangeLength); - return mod(rangeLength - modValue, rangeLength); - } - return mod(value, rangeLength); -} - -vec3 wrapVec(vec3 value, float rangeLength) { - return vec3(wrap(value.x, rangeLength), - wrap(value.y, rangeLength), - wrap(value.z, rangeLength)); -} - -vec2 voxelToUV(vec3 voxelIndex) { - float textureSliceWidth = u_noiseTextureDimensions.x; - float noiseTextureRows = u_noiseTextureDimensions.y; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - - float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; - vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, - inverseNoiseTextureRows / textureSliceWidth); - vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); - float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); - float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); - - float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; - float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; - return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; -} - -// Interpolate a voxel with its neighbor (along the positive X-axis) -vec4 lerpSamplesX(vec3 voxelIndex, float x) { - vec2 uv0 = voxelToUV(voxelIndex); - vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); - vec4 sample0 = texture(u_noiseTexture, uv0); - vec4 sample1 = texture(u_noiseTexture, uv1); - return mix(sample0, sample1, x); -} - -vec4 sampleNoiseTexture(vec3 position) { - float textureSliceWidth = u_noiseTextureDimensions.x; - vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); - vec3 lerpValue = fract(recenteredPos); - vec3 voxelIndex = floor(recenteredPos); - - vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); - vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); - vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); - vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); - - vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); - vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); - return mix(yLerp0, yLerp1, lerpValue.z); -} - -// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). -bool intersectSphere(vec3 origin, vec3 dir, float slice, - out vec3 point, out vec3 normal) { - float A = dot(dir, dir); - float B = dot(origin, dir); - float C = dot(origin, origin) - 0.25; - float discriminant = (B * B) - (A * C); - if(discriminant < 0.0) { - return false; - } - float root = sqrt(discriminant); - float t = (-B - root) / A; - if(t < 0.0) { - t = (-B + root) / A; - } - point = origin + t * dir; - - if(slice >= 0.0) { - point.z = (slice / 2.0) - 0.5; - if(length(point) > 0.5) { - return false; - } - } - - normal = normalize(point); - point -= czm_epsilon2 * normal; - return true; -} - -// Transforms the ray origin and direction into unit sphere space, -// then transforms the result back into the ellipsoid's space. -bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, - out vec3 point, out vec3 normal) { - if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { - return false; - } - - vec3 o = (origin - center) / scale; - vec3 d = dir / scale; - vec3 p, n; - bool intersected = intersectSphere(o, d, slice, p, n); - if(intersected) { - point = (p * scale) + center; - normal = n; - } - return intersected; -} - -// Assume that if phase shift is being called for octave i, -// the frequency is of i - 1. This saves us from doing extra -// division / multiplication operations. -vec2 phaseShift2D(vec2 p, vec2 freq) { - return (czm_pi / 2.0) * sin(freq.yx * p.yx); -} - -vec2 phaseShift3D(vec3 p, vec2 freq) { - return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); -} - -// The cloud texture function derived from Gardner's 1985 paper, -// "Visual Simulation of Clouds." -// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf -const float T0 = 0.6; // contrast of the texture pattern -const float k = 0.1; // computed to produce a maximum value of 1 -const float C0 = 0.8; // coefficient -const float FX0 = 0.6; // frequency X -const float FY0 = 0.6; // frequency Y -const int octaves = 5; - -float T(vec3 point) { - vec2 sum = vec2(0.0); - float Ci = C0; - vec2 FXY = vec2(FX0, FY0); - vec2 PXY = vec2(0.0); - for(int i = 1; i <= octaves; i++) { - PXY = phaseShift3D(point, FXY); - Ci *= 0.707; - FXY *= 2.0; - vec2 sinTerm = sin(FXY * point.xy + PXY); - sum += Ci * sinTerm + vec2(T0); - } - return k * sum.x * sum.y; -} - -const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, -const float t = 0.4; // fraction of texture shading -const float s = 0.25; // fraction of specular reflection - -float I(float Id, float Is, float It) { - return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; -} - -const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); - -vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, - float brightness) { - vec3 cloudPoint, cloudNormal; - if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, - cloudPoint, cloudNormal)) { - return vec4(0.0); - } - - float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection - float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection - float It = T(cloudPoint); // texture function - float intensity = I(Id, Is, It); - vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); - - vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); - float W = noise.x; - float W2 = noise.y; - float W3 = noise.z; - - // The dot product between the cloud's normal and the ray's direction is greatest - // in the center of the ellipsoid's surface. It decreases towards the edge. - // Thus, it is used to blur the areas leading to the edges of the ellipsoid, - // so that no harsh lines appear. - - // The first (and biggest) layer of worley noise is then subtracted from this. - // The final result is scaled up so that the base cloud is not too translucent. - float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); - float TR = pow(ndDot, 3.0) - W; // translucency - TR *= 1.3; - - // Subtracting the second and third layers of worley noise is more complicated. - // If these layers of noise were simply subtracted from the current translucency, - // the shape derived from the first layer of noise would be completely deleted. - // The erosion of this noise should thus be constricted to the edges of the cloud. - // However, because the edges of the ellipsoid were already blurred away, mapping - // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. - // The value of (0.5 - ndDot) provides the best compromise. - float minusDot = 0.5 - ndDot; - - // Even with the previous calculation, subtracting the second layer of wnoise - // erode too much of the cloud. The addition of it, however, will detailed - // volume to the cloud. As long as the noise is only added and not subtracted, - // the results are aesthetically pleasing. - - // The minusDot product is mapped in a way that it is larger at the edges of - // the ellipsoid, so a subtraction and min operation are used instead of - // an addition and max one. - TR -= min(minusDot * W2, 0.0); - - // The third level of worley noise is subtracted from the result, with some - // modifications. First, a scalar is added to minusDot so that the noise - // starts affecting the shape farther away from the center of the ellipsoid's - // surface. Then, it is scaled down so its impact is not too intense. - TR -= 0.8 * (minusDot + 0.25) * W3; - - // The texture function's shading does not correlate with the shape of the cloud - // produced by the layers of noise, so an extra shading scalar is calculated. - // The darkest areas of the cloud are assigned to be where the noise erodes - // the cloud the most. This is then interpolated based on the translucency - // and the diffuse shading term of that point in the cloud. - float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); - - // To avoid values that are too dark, this scalar is increased by a small amount - // and clamped so it never goes to zero. - shading = clamp(shading + 0.2, 0.3, 1.0); - - // Finally, the contrast of the cloud's color is increased. - vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); - return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; -} - -void main() { -#ifdef DEBUG_BILLBOARDS - out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); -#endif - // To avoid calculations with high values, - // we raycast from an arbitrarily smaller space. - vec2 coordinate = v_maximumSize.xy * v_offset; - - vec3 ellipsoidScale = 0.82 * v_maximumSize; - vec3 ellipsoidCenter = vec3(0.0); - - float zOffset = max(ellipsoidScale.z - 10.0, 0.0); - vec3 eye = vec3(0, 0, -10.0 - zOffset); - vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); - vec3 rayOrigin = eye; -#ifdef DEBUG_ELLIPSOIDS - vec3 point, normal; - if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, - point, normal)) { - out_FragColor = v_brightness * v_color; - } -#else -#ifndef DEBUG_BILLBOARDS - vec4 cloud = drawCloud(rayOrigin, rayDir, - ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); - if(cloud.w < 0.01) { - discard; - } - out_FragColor = cloud; -#endif -#endif -} -`;var bVi=T(S(),1),Jw=`#ifdef INSTANCED -in vec2 direction; -#endif -in vec4 positionHighAndScaleX; -in vec4 positionLowAndScaleY; -in vec4 packedAttribute0; -in vec4 packedAttribute1; -in vec4 color; - -out vec2 v_offset; -out vec3 v_maximumSize; -out vec4 v_color; -out float v_slice; -out float v_brightness; - -void main() { - // Unpack attributes. - vec3 positionHigh = positionHighAndScaleX.xyz; - vec3 positionLow = positionLowAndScaleY.xyz; - vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); - - float show = packedAttribute0.x; - float brightness = packedAttribute0.y; - vec2 coordinates = packedAttribute0.wz; - vec3 maximumSize = packedAttribute1.xyz; - float slice = packedAttribute1.w; - -#ifdef INSTANCED - vec2 dir = direction; -#else - vec2 dir = coordinates; -#endif - - vec2 offset = dir - vec2(0.5, 0.5); - vec2 scaledOffset = scale * offset; - vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); - vec4 positionEC = czm_modelViewRelativeToEye * p; - positionEC.xy += scaledOffset; - - positionEC.xyz *= show; - gl_Position = czm_projection * positionEC; - - v_offset = offset; - v_maximumSize = maximumSize; - v_color = color; - v_slice = slice; - v_brightness = brightness; -} -`;var yVi=T(S(),1),Qw=`uniform vec3 u_noiseTextureDimensions; -uniform float u_noiseDetail; -uniform vec3 u_noiseOffset; -in vec2 v_position; - -float wrap(float value, float rangeLength) { - if(value < 0.0) { - float absValue = abs(value); - float modValue = mod(absValue, rangeLength); - return mod(rangeLength - modValue, rangeLength); - } - return mod(value, rangeLength); -} - -vec3 wrapVec(vec3 value, float rangeLength) { - return vec3(wrap(value.x, rangeLength), - wrap(value.y, rangeLength), - wrap(value.z, rangeLength)); -} - -vec3 random3(vec3 p) { - float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); - float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); - return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); -} - -// Frequency corresponds to cell size. -// The higher the frequency, the smaller the cell size. -vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { - float textureSliceWidth = u_noiseTextureDimensions.x; - vec3 cell = centerCell + offset; - cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); - cell += floor(u_noiseOffset / u_noiseDetail); - vec3 p = offset + random3(cell); - return p; -} - -float worleyNoise(vec3 p, float freq) { - vec3 centerCell = floor(p * freq); - vec3 pointInCell = fract(p * freq); - float shortestDistance = 1000.0; - - for(float z = -1.0; z <= 1.0; z++) { - for(float y = -1.0; y <= 1.0; y++) { - for(float x = -1.0; x <= 1.0; x++) { - vec3 offset = vec3(x, y, z); - vec3 point = getWorleyCellPoint(centerCell, offset, freq); - - float distance = length(pointInCell - point); - if(distance < shortestDistance) { - shortestDistance = distance; - } - } - } - } - - return shortestDistance; -} - -const float MAX_FBM_ITERATIONS = 10.0; - -float worleyFBMNoise(vec3 p, float octaves, float scale) { - float noise = 0.0; - float freq = 1.0; - float persistence = 0.625; - for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { - if(i >= octaves) { - break; - } - - noise += worleyNoise(p * scale, freq * scale) * persistence; - persistence *= 0.5; - freq *= 2.0; - } - return noise; -} - -void main() { - float textureSliceWidth = u_noiseTextureDimensions.x; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - float x = mod(v_position.x, textureSliceWidth); - float y = mod(v_position.y, textureSliceWidth); - float sliceRow = floor(v_position.y / textureSliceWidth); - float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; - - vec3 position = vec3(x, y, z); - position /= u_noiseDetail; - float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); - float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); - float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); - out_FragColor = vec4(worley0, worley1, worley2, 1.0); -} -`;var _Vi=T(S(),1),jw=`uniform vec3 u_noiseTextureDimensions; -in vec2 position; - -out vec2 v_position; - -void main() -{ - gl_Position = vec4(position, 0.1, 1.0); - - float textureSliceWidth = u_noiseTextureDimensions.x; - float noiseTextureRows = u_noiseTextureDimensions.y; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - vec2 transformedPos = (position * 0.5) + vec2(0.5); - transformedPos *= textureSliceWidth; - transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; - transformedPos.y *= noiseTextureRows; - v_position = transformedPos; -} -`;var ZVi=T(S(),1);function Gh(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!l(e.scale)&&l(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new D(this._maximumSize.x,this._maximumSize.y);else{this._scale=D.clone(y(e.scale,new D(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=B.clone(y(e.color,B.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var Qat=Gh.SHOW_INDEX=0,jat=Gh.POSITION_INDEX=1,qat=Gh.SCALE_INDEX=2,$at=Gh.MAXIMUM_SIZE_INDEX=3,ect=Gh.SLICE_INDEX=4,tct=Gh.BRIGHTNESS_INDEX=5,nct=Gh.COLOR_INDEX=6;Gh.NUMBER_OF_PROPERTIES=7;function IT(e,t){let n=e._cloudCollection;l(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(Gh.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,IT(this,Qat))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),IT(this,jat))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;D.equals(t,e)||(D.clone(e,t),IT(this,qat))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),IT(this,$at))}},color:{get:function(){return this._color},set:function(e){let t=this._color;B.equals(t,e)||(B.clone(e,t),IT(this,nct))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,IT(this,ect))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,IT(this,tct))}}});Gh.prototype._destroy=function(){this._cloudCollection=void 0};var Hd=Gh;var Kd,ID=new h,ict={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},oct={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},rct=Hd.SHOW_INDEX,sct=Hd.POSITION_INDEX,act=Hd.SCALE_INDEX,cct=Hd.MAXIMUM_SIZE_INDEX,lct=Hd.SLICE_INDEX,dct=Hd.BRIGHTNESS_INDEX,uct=Hd.NUMBER_OF_PROPERTIES,mct=Hd.COLOR_INDEX;function Eh(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(uct),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:Uge(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function Uge(e){return function(){return ID.x=e._textureSliceWidth,ID.y=e._noiseTextureRows,ID.z=1/e._noiseTextureRows,ID}}Object.defineProperties(Eh.prototype,{length:{get:function(){return lj(this),this._clouds.length}}});function Dge(e){let t=e.length;for(let n=0;n0){n._vaf=xct(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a.1){for(p=0;p0&&Vct(this,e),r>i*1.5&&(o.length=i),!(!l(this._vaf)||!l(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&Lct(this,e,Jw,Kw),Rct(this,e))};Eh.prototype.isDestroyed=function(){return!1};Eh.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),Dge(this._clouds),me(this)};var uj=Eh;var SLi=T(S(),1);var bLi=T(S(),1);var uLi=T(S(),1);async function Zct(e,t,n,i){return l(i)||(i=!1),Ict(e,t,n,i)}function Gct(e,t,n){let i=e[0],o=i.terrainProvider.requestTileGeometry(i.x,i.y,i.level);if(!o)return!1;let r;return n?r=o.then(Kge(i)):r=o.then(Kge(i)).catch(Xct(i)),e.shift(),t.push(r),!0}function Ect(e){return new Promise(function(t){setTimeout(t,e)})}function mj(e,t,n){return e.length?Gct(e,t,n)?mj(e,t,n):Ect(100).then(()=>mj(e,t,n)):Promise.resolve()}function Ict(e,t,n,i){let o=e.tilingScheme,r,s=[],a={};for(r=0;r0&&await Jge(e,a,n),t}var XT=Jge;async function fj(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);if(t.mode===oe.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),!l(n))return r;let a=n.availability;if(!l(a)||t.mode===oe.SCENE2D)return r;let c=[ce.center(e),ce.southeast(e),ce.southwest(e),ce.northeast(e),ce.northwest(e)],d=await fj._sampleTerrainMostDetailed(n,c),u=!1,m=d.reduce(function(g,f){return l(f.height)?(u=!0,Math.max(f.height,g)):g},-Number.MAX_VALUE),p=r;return u&&(p.height+=m),p}fj._sampleTerrainMostDetailed=XT;var WT=fj;var ZLi=T(S(),1);var Wct=W.toRadians(30);function pj(e){this._angle=y(e,Wct)}Object.defineProperties(pj.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});pj.prototype.emit=function(e){let t=Math.tan(this._angle),n=W.randomBetween(0,W.TWO_PI),i=W.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var bj=pj;var YLi=T(S(),1);var ELi=T(S(),1);var gj=[],yj=[];function Pct(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=gj,d=yj,u,m;for(u=0;u=a||t(g,f,n)<=0)?(e[p]=g,++u):m=o)return;let r=Math.floor((i+o)*.5);xj(e,t,n,i,r),xj(e,t,n,r+1,o),Pct(e,t,n,i,r,o)}function vct(e,t,n){let i=e.length,o=Math.ceil(i*.5);gj.length=o,yj.length=o,xj(e,t,n,0,i-1),gj.length=0,yj.length=0}var ib=vct;var wct=new B,Fct=new B,Act=new B,Mct=new B,Qge=new se,$w=new Uint8Array(4);function jge(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return B.lerp(t.color,n.color,o,i)}function XD(e,t){return{height:e,color:B.clone(t)}}function qge(e){return e=e.filter(function(t,n,i){let o=n>0,r=n0,r=n0,r=o?B.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function Nct(e){let t,n,i=[],o=e.length;for(t=0;t=f.height}u?c=c.reverse():d||ib(c,function(g,f){return W.sign(g.height-f.height)});let m=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!m&&!p&&(m=!0,p=!0),m&&c.splice(0,0,XD(jl._minimumHeight,c[0].color)),p&&c.splice(c.length,0,XD(jl._maximumHeight,c[c.length-1].color)),c=qge(c),i.push(c)}return i}function kct(e){let t=Nct(e),n=[],i=[],o;function r(d,u){n.push(XD(d,u))}function s(d,u,m){let p=B.multiplyByScalar(m,1-u.alpha,Mct);p=B.add(p,u,p),r(d,p)}let a=t.length;for(o=0;o0?d[u-1]:void 0,_=u0?i[m-1]:void 0,L=m',!0)};var PT=WD;async function Uct(e,t){if(t=y(t,{}),t.cacheBytes=y(t.cacheBytes,1536*1024*1024),t.maximumCacheOverflowBytes=y(t.maximumCacheOverflowBytes,1024*1024*1024),t.enableCollision=y(t.enableCollision,!0),e=y(e,PT.defaultApiKey),!l(e))return Dct(t);let n,i=PT.getDefaultCredit();l(i)&&(n=[i]);let o=new Ge({url:`${PT.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:e},credits:n});return fa.fromUrl(o,t)}var $ge={};async function Dct(e){let i=$ge[2275207];l(i)||(i=hd.fromAssetId(2275207),$ge[2275207]=i);let o=await i;return fa.fromUrl(o,e)}var Tj=Uct;var dRi=T(S(),1);async function Bct(e){let t=await fa.fromIonAssetId(96188,e);e=y(e,y.EMPTY_OBJECT);let n=e.style;if(!l(n)){let i=y(e.defaultColor,B.WHITE).toCssColorString();n=new ZT({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var Sj=Bct;var _Ri=T(S(),1);function Oct(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!l(n.attributes)||!l(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=M.clone(y(e.modelMatrix,M.IDENTITY)),r=y(e.length,1e4);if(l(i.normal)&&t.push(new Gt({geometry:Dn.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new Ht(1,0,0,1)},modelMatrix:o})),l(i.tangent)&&t.push(new Gt({geometry:Dn.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new Ht(0,1,0,1)},modelMatrix:o})),l(i.bitangent)&&t.push(new Gt({geometry:Dn.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new Ht(0,0,1,1)},modelMatrix:o})),t.length>0)return new Wn({asynchronous:!1,geometryInstances:t,appearance:new mn({flat:!0,translucent:!1})})}var Cj=Oct;var wGi=T(S(),1);var GGi=T(S(),1);var jRi=T(S(),1);var FRi=T(S(),1);var eye=/{[^}]+}/g,tye={x:Kct,y:Qct,z:$ct,s:elt,reverseX:Jct,reverseY:jct,reverseZ:qct,westDegrees:tlt,southDegrees:nlt,eastDegrees:ilt,northDegrees:olt,westProjected:rlt,southProjected:slt,eastProjected:alt,northProjected:clt,width:llt,height:dlt},Yct=Tt(tye,{i:ult,j:mlt,reverseI:hlt,reverseJ:flt,longitudeDegrees:blt,latitudeDegrees:glt,longitudeProjected:ylt,latitudeProjected:xlt,format:Tlt});function eF(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new be;let t=Ge.createIfNeeded(e.url),n=Ge.createIfNeeded(e.pickFeaturesUrl);this._resource=t,this._urlSchemeZeroPadding=e.urlSchemeZeroPadding,this._getFeatureInfoFormats=e.getFeatureInfoFormats,this._pickFeaturesResource=n;let i=e.subdomains;Array.isArray(i)?i=i.slice():l(i)&&i.length>0?i=i.split(""):i=["a","b","c"],this._subdomains=i,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new $r({ellipsoid:e.ellipsoid})),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._rectangle=ce.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=e.tileDiscardPolicy;let o=e.credit;typeof o=="string"&&(o=new Et(o)),this._credit=o,this._hasAlphaChannel=y(e.hasAlphaChannel,!0);let r=e.customTags,s=Tt(tye,r),a=Tt(Yct,r);this._tags=s,this._pickFeaturesTags=a,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=y(e.enablePickFeatures,!0)}Object.defineProperties(eF.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});eF.prototype.getTileCredits=function(e,t,n){};eF.prototype.requestImage=function(e,t,n,i){return il.loadImage(this,zct(this,e,t,n,i))};eF.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!l(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(d,u){return d.callback(u)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let d=s._getFeatureInfoFormats[r],u=Hct(s,e,t,n,i,o,d.format);return++r,d.type==="json"?u.fetchJson().then(d.callback).catch(c):d.type==="xml"?u.fetchXML().then(d.callback).catch(c):d.type==="text"||d.type==="html"?u.fetchText().then(d.callback).catch(c):u.fetch({responseType:d.format}).then(a.bind(void 0,d)).catch(c)}return c()};var PD=!1,Jd=new ce,vD=!1,tF=new ce;function zct(e,t,n,i,o){PD=!1,vD=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},d=s.match(eye);return l(d)&&d.forEach(function(u){let m=u.substring(1,u.length-1);l(a[m])&&(c[m]=a[m](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var Vj=!1,DV=new D,Lj=!1;function Hct(e,t,n,i,o,r,s){PD=!1,vD=!1,Vj=!1,Lj=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),d=e._pickFeaturesTags,u={},m=c.match(eye);return l(m)&&m.forEach(function(p){let g=p.substring(1,p.length-1);l(d[g])&&(u[g]=d[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:u})}function BV(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function Kct(e,t,n,i){return BV(e,"{x}",t)}function Jct(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return BV(e,"{reverseX}",o)}function Qct(e,t,n,i){return BV(e,"{y}",n)}function jct(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return BV(e,"{reverseY}",o)}function qct(e,t,n,i){let o=e.maximumLevel,r=l(o)&&it.rectangle.east&&(e.east=t.rectangle.east),e.southt.rectangle.north&&(e.north=t.rectangle.north),e}function iye(e,t,n){let i=e.positionToTileXY(ce.southwest(t),n),o=e.positionToTileXY(ce.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}em._metadataSuccess=function(e,t,n,i,o){let r=/tileformat/i,s=/tileset/i,a=/tilesets/i,c=/boundingbox/i,d,u,m,p=[],g=e.childNodes[0].childNodes;for(let P=0;P`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new be}Object.defineProperties(ql.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});ql.fromUrl=async function(e,t,n){n=y(n,{});let i=y(n.path,"/default_map"),o=Ge.createIfNeeded(e).getDerivedResource({url:i[0]==="/"?i.substring(1):i});o.appendForwardSlash();let r=o.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),s=new oye(n);s.channel=t,await Vlt(r,s);let a=new ql(n);return s.build(a),a._resource=o,a._url=e,a._path=i,a};ql.prototype.getTileCredits=function(e,t,n){};ql.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return il.loadImage(this,o)};ql.prototype.pickFeatures=function(e,t,n,i,o){};ql._logoUrl=void 0;Object.defineProperties(ql,{logoUrl:{get:function(){return l(ql._logoUrl)||(ql._logoUrl=sn("Assets/Images/google_earth_credit.png")),ql._logoUrl},set:function(e){ql._logoUrl=e}}});var nF=ql;var yZi=T(S(),1);var Llt=/\/$/,rye=new Et('© Mapbox © OpenStreetMap Improve this map');function OV(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Ge.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();Llt.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;l(e.credit)?(s=e.credit,typeof s=="string"&&(s=new Et(s))):s=rye,this._resource=i,this._imageryProvider=new Oa({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(OV.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});OV.prototype.getTileCredits=function(e,t,n){};OV.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};OV.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};OV._defaultCredit=rye;var iF=OV;var IZi=T(S(),1);function vT(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=y(e.rectangle,ce.MAX_VALUE),n=new Oi({rectangle:t,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=n,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new be;let i=e.credit;typeof i=="string"&&(i=new Et(i)),this._credit=i;let o=Ge.createIfNeeded(e.url);this._resource=o,this._tileWidth=e.tileWidth,this._tileHeight=e.tileHeight}Object.defineProperties(vT.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});function Rlt(e,t,n,i){let o=`Failed to load image ${e.url}`;l(t)&&l(t.message)&&(o+=`: ${t.message}`);let r=Ro.reportError(i,n,l(n)?n._errorEvent:void 0,o,0,0,0,t);if(r.retry)return Zj(e,n,r);throw l(n)&&(n._hasError=!0),new de(o)}async function Zj(e,t,n){try{return await il.loadImage(null,e)}catch(i){return Rlt(e,i,t,n)}}vT.fromUrl=async function(e,t){let n=Ge.createIfNeeded(e),i=await Zj(n);t=y(t,y.EMPTY_OBJECT);let o=new vT({...t,url:e,tileWidth:i.width,tileHeight:i.height});return o._image=i,o};vT.prototype.getTileCredits=function(e,t,n){};vT.prototype.requestImage=async function(e,t,n,i){if(!this._hasError&&!l(this._image)){let o=await Zj(this._resource,this);return this._image=o,Ro.reportSuccess(this._errorEvent),o}return this._image};vT.prototype.pickFeatures=function(e,t,n,i,o){};var oF=vT;var eGi=T(S(),1);var FZi=T(S(),1);function Zlt(e,t,n){this.type=e,l(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,l(n)||(e==="json"?n=Glt:e==="xml"?n=Wlt:(e==="html"||e==="text")&&(n=sye)),this.callback=n}function Glt(e){let t=[],n=e.features;for(let i=0;i0)for(let r=0;r\s*<\/body>/im,Nlt=//im,klt=/([\s\S]*)<\/title>/im;function sye(e){if(Mlt.test(e)||Nlt.test(e))return;let t,n=klt.exec(e);n&&n.length>1&&(t=n[1]);let i=new Vh;return i.name=t,i.description=e,i.data=e,[i]}var wT=Zlt;var BZi=T(S(),1);function rF(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(rF.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});rF.prototype.getFromCache=function(e,t,n,i){let o=aye(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(l(s)&&l(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};rF.prototype.checkApproachingInterval=function(e,t,n,i){let o=aye(e,t,n),r=this._tilesRequestedForInterval,s=cye(this),a={key:o,priorityFunction:i.priorityFunction};(!l(s)||!lye(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};rF.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=cye(this);if(l(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=lye(this,c,r),a||s.push(c)}}};function aye(e,t,n){return`${e}-${t}-${n}`}function Ult(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function cye(e){let t=e._times;if(!l(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=j.secondsDifference(c.stop,i),++a):(s=j.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function lye(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];l(r)||(r=o[i]={});let s=t.key;if(l(r[s]))return!0;let a=Ult(s),c=new Ko({throttle:!1,throttleByServer:!0,type:ss.IMAGERY,priorityFunction:t.priorityFunction}),d=e._requestImageFunction(a.x,a.y,a.level,c,n);return l(d)?(r[s]={promise:d,request:c},!0):!1}var FT=rF;var Dlt=[3034,3035,3042,3043,3044],Blt=[4471,4559];function Ih(e){if(e=y(e,y.EMPTY_OBJECT),l(e.times)&&!l(e.clock))throw new fe("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=Ge.createIfNeeded(e.url),n=Ge.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(Ih.DefaultParameters,!0),n.setQueryParameters(Ih.GetFeatureInfoDefaultParameters,!0),l(e.parameters)&&t.setQueryParameters(dye(e.parameters,e.toLowerCase)),l(e.getFeatureInfoParameters)&&n.setQueryParameters(dye(e.getFeatureInfoParameters,e.toLowerCase));let i=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new FT({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,d,u){return uye(i,s,a,c,d,u)},reloadFunction:function(){l(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Zi?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!Blt.includes(a)||Dlt.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Zi?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new Oa({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new Oi({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,Ih.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function uye(e,t,n,i,o,r){let s=l(r)?r.data:void 0,a=e._tileProvider;return l(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function Olt(e,t,n,i,o,r,s){let a=l(s)?s.data:void 0,c=e._tileProvider;return l(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(Ih.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});Ih.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};Ih.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=uye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};Ih.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=l(r)?r.currentInterval:void 0;return Olt(this,e,t,n,i,o,s)};Ih.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});Ih.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});Ih.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new wT("json","application/json")),Object.freeze(new wT("xml","text/xml")),Object.freeze(new wT("text","text/html"))]);function dye(e,t=!0){if(t){let n={};for(let i in e)e.hasOwnProperty(i)&&(n[i.toLowerCase()]=e[i]);return n}return e}var sF=Ih;var mGi=T(S(),1);var Ylt=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function aF(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=Ge.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!l(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(Ylt),this._useKvp=!0;else{let m={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(m),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new $r({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new FT({clock:e.clock,times:e.times,requestImageFunction:function(m,p,g,f,x){return mye(s,m,p,g,f,x)},reloadFunction:function(){l(s._reload)&&s._reload()}}));let a=this._tilingScheme.positionToTileXY(ce.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(ce.northeast(this._rectangle),this._minimumLevel),d=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new be;let u=e.credit;this._credit=typeof u=="string"?new Et(u):u,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():l(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function mye(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=l(s)?s[i]:i.toString(),c=e._subdomains,d=e._dimensions,u=l(r)?r.data:void 0,m,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},m=e._resource.getDerivedResource({request:o}),m.setTemplateValues(p),l(d)&&m.setTemplateValues(d),l(u)&&m.setTemplateValues(u);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,l(d)&&(g=Tt(g,d)),l(u)&&(g=Tt(g,u)),p={s:c[(t+n+i)%c.length]},m=e._resource.getDerivedResource({queryParameters:g,request:o}),m.setTemplateValues(p)}return il.loadImage(e,m)}Object.defineProperties(aF.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,l(this._reload)&&this._reload())}}});aF.prototype.getTileCredits=function(e,t,n){};aF.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=mye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};aF.prototype.pickFeatures=function(e,t,n,i,o){};var cF=aF;var zlt={ARCGIS_MAPSERVER:eb.fromUrl,BING:async(e,t)=>pw.fromUrl(e,t),GOOGLE_EARTH:async(e,t)=>{let n=t.channel;return delete t.channel,nF.fromUrl(e,n,t)},MAPBOX:(e,t)=>new iF({url:e,...t}),SINGLE_TILE:oF.fromUrl,TMS:Cy.fromUrl,URL_TEMPLATE:(e,t)=>new Oa({url:e,...t}),WMS:(e,t)=>new sF({url:e,...t}),WMTS:(e,t)=>new cF({url:e,...t})};function Kf(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileCredits=void 0,this._errorEvent=new be}Object.defineProperties(Kf.prototype,{rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}}});Kf.fromAssetId=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=hd._createEndpointResource(e,t),i=e.toString()+t.accessToken+t.server,o=Kf._endpointCache[i];l(o)||(o=n.fetchJson(),Kf._endpointCache[i]=o);let r=await o;if(r.type!=="IMAGERY")throw new de(`Cesium ion asset ${e} is not an imagery asset.`);let s,a=r.externalType;if(!l(a))s=await Cy.fromUrl(new hd(r,n));else{let d=zlt[a];if(!l(d))throw new de(`Unrecognized Cesium ion imagery type: ${a}`);let u={...r.options},m=u.url;delete u.url,s=await d(m,u)}let c=new Kf(t);return s.errorEvent.addEventListener(function(d){d.provider=c,c._errorEvent.raiseEvent(d)}),c._tileCredits=hd.getCreditsFromEndpoint(r,n),c._imageryProvider=s,c};Kf.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return l(i)?this._tileCredits.concat(i):this._tileCredits};Kf.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};Kf.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};Kf._endpointCache={};var ob=Kf;var IGi=T(S(),1),Hlt={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},rb=Object.freeze(Hlt);function Klt(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,rb.AERIAL);return ob.fromAssetId(t)}var sb=Klt;var BGi=T(S(),1);var gye=T(nd(),1),hye=576,Jlt=100,lF="#ffffff",ND="#48b";function yye(e,t){this.credit=e,this.count=y(t,1)}function Qlt(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(Et.equals(o,t))return!0}return!1}function jlt(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;Et.equals(n,t)||(l(t)&&e._cesiumCreditContainer.removeChild(t.element),l(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var xye="cesium-credit-delimiter";function fye(e){let t=document.createElement("span");return t.textContent=e,t.className=xye,t}function pye(e,t){if(l(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function bye(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(l(a)){if(r=s,l(n)&&(r*=2,s>0)){let d=r-1;if(o.length<=d)e.appendChild(fye(n));else{let u=o[d];u.className!==xye&&e.replaceChild(fye(n),u)}}let c=a.element;if(o.length<=r)e.appendChild(pye(c,i));else{let d=o[r];d._creditId!==a._id&&e.replaceChild(pye(c,i),d)}}}for(++r;r<o.length;)e.removeChild(o[r])}function qlt(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<hye?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=hye&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function $lt(e){let t=` -.cesium-credit-lightbox-overlay { - display: none; - z-index: 1; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(80, 80, 80, 0.8); -} - -.cesium-credit-lightbox { - background-color: #303336; - color: ${lF}; - position: relative; - min-height: ${Jlt}px; - margin: auto; -} -.cesium-credit-lightbox > ul > li a, -.cesium-credit-lightbox > ul > li a:visited, -.cesium-credit-wrapper a, -.cesium-credit-wrapper a:visited { - color: ${lF}; -} -.cesium-credit-lightbox > ul > li a:hover { - color: ${ND}; -} -.cesium-credit-lightbox.cesium-credit-lightbox-expanded { - border: 1px solid #444; - border-radius: 5px; - max-width: 370px; -} -.cesium-credit-lightbox.cesium-credit-lightbox-mobile { - height: 100%; - width: 100%; -} -.cesium-credit-lightbox-title { - padding: 20px 20px 0 20px; -} -.cesium-credit-lightbox-close { - font-size: 18pt; - cursor: pointer; - position: absolute; - top: 0; - right: 6px; - color: ${lF}; -} -.cesium-credit-lightbox-close:hover { - color: ${ND}; -} -.cesium-credit-lightbox > ul { - margin: 0; - padding: 12px 20px 12px 40px; - font-size: 13px; -} -.cesium-credit-lightbox > ul > li { - padding-bottom: 6px; -} -.cesium-credit-lightbox > ul > li * { - padding: 0; - margin: 0; -} - -.cesium-credit-expand-link { - padding-left: 5px; - cursor: pointer; - text-decoration: underline; - color: ${lF}; -} -.cesium-credit-expand-link:hover { - color: ${ND}; -} - -.cesium-credit-text { - color: ${lF}; -} - -.cesium-credit-delimiter { - padding: 0 5px; -} - -.cesium-credit-textContainer *, -.cesium-credit-logoContainer * { - display: inline; -} - -.cesium-credit-textContainer a:hover { - color: ${ND} -} - -.cesium-credit-textContainer .cesium-credit-wrapper:first-of-type { - padding-left: 5px; -} -`;function n(r){if(r.shadowRoot)return r.shadowRoot;if(r.getRootNode){let s=r.getRootNode();if(s instanceof ShadowRoot)return s}}let i=y(n(e),document.head),o=document.createElement("style");o.innerHTML=t,i.appendChild(o)}function fr(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(f){r.contains(f.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="×",c.className="cesium-credit-lightbox-close",r.appendChild(c);let d=document.createElement("ul");r.appendChild(d);let u=document.createElement("div");u.className="cesium-credit-logoContainer",u.style.display="inline",e.appendChild(u);let m=document.createElement("div");m.className="cesium-credit-textContainer",m.style.display="inline",e.appendChild(m);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),$lt(e);let g=Et.clone(fr.cesiumCredit);this._delimiter=y(t,"\u2022"),this._screenContainer=m,this._cesiumCreditContainer=u,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=d,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new Zt,lightboxCredits:new Zt},this._defaultCredit=void 0,this.viewport=n,this.container=e}function _ye(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(l(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new yye(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}fr.prototype.addCreditToNextFrame=function(e){if(e.isIon()){l(this._defaultCredit)||(this._defaultCredit=Et.clone(Tye())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,_ye(this,t,e)};fr.prototype.addStaticCredit=function(e){let t=this._staticCredits;Qlt(t,e)||t.push(e)};fr.prototype.removeStaticCredit=function(e){let t=this._staticCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};fr.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};fr.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};fr.prototype.update=function(){this._expanded&&qlt(this)};fr.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits,n=e.lightboxCredits;t.removeAll(),n.removeAll();let i=this._staticCredits;for(let o=0;o<i.length;++o){let r=i[o],s=r.showOnScreen?t:n;r.isIon()&&Et.equals(fr.cesiumCredit,this._cesiumCredit)||_ye(this,s,r,Number.MAX_VALUE)}Et.equals(fr.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=Et.clone(fr.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};fr.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;bye(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",bye(this._creditList,t,void 0,"li"),jlt(this)};fr.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),me(this)};fr.prototype.isDestroyed=function(){return!1};fr._cesiumCredit=void 0;fr._cesiumCreditInitialized=!1;var kD;function Tye(){if(!l(kD)){let e=sn("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new gye.default(e).path()),kD=new Et(`<a href="https://cesium.com/" target="_blank"><img src="${e}" style="vertical-align: -7px" title="Cesium ion"/></a>`,!0)}return fr._cesiumCreditInitialized||(fr._cesiumCredit=kD,fr._cesiumCreditInitialized=!0),kD}Object.defineProperties(fr,{cesiumCredit:{get:function(){return Tye(),fr._cesiumCredit},set:function(e){fr._cesiumCredit=e,fr._cesiumCreditInitialized=!0}}});fr.CreditDisplayElement=yye;var dF=fr;var KGi=T(S(),1);function uF(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;l(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); } -`;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); } -`;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); } -`;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); } -`;break;case"vec4":r=`vec4 getColor() { return ${o}; } -`;break}let s=`in vec3 position3DHigh; -in vec3 position3DLow; -in float batchId; -${n?"":`in ${i} ${t}; -`}out ${i} ${o}; -void main() -{ -vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); -${n?`${o} = czm_batchTable_${t}(batchId); -`:`${o} = ${t}; -`}gl_Position = czm_modelViewProjectionRelativeToEye * p; -}`,a=`in ${i} ${o}; -${r} -void main() -{ -out_FragColor = getColor(); -}`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=eo.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(uF.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});uF.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;uF.prototype.isTranslucent=eo.prototype.isTranslucent;uF.prototype.getRenderState=eo.prototype.getRenderState;var Ij=uF;var zEi=T(S(),1);var mEi=T(S(),1);var UD=0,edt=1;function AT(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e.vertexFormat,We.DEFAULT),r=y(e._drawNearPlane,!0),s,a;t instanceof Li?(s=UD,a=Li.packedLength):t instanceof ln&&(s=edt,a=ln.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Ae.clone(n),this._drawNearPlane=r,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+h.packedLength+Ae.packedLength+We.packedLength}AT.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===UD?(Li.pack(o,t,n),n+=Li.packedLength):(ln.pack(o,t,n),n+=ln.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Ae.pack(e._orientation,t,n),n+=Ae.packedLength,We.pack(e._vertexFormat,t,n),n+=We.packedLength,t[n]=e._drawNearPlane?1:0,t};var tdt=new Li,ndt=new ln,idt=new Ae,odt=new h,rdt=new We;AT.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===UD?(o=Li.unpack(e,t,tdt),t+=Li.packedLength):(o=ln.unpack(e,t,ndt),t+=ln.packedLength);let r=h.unpack(e,t,odt);t+=h.packedLength;let s=Ae.unpack(e,t,idt);t+=Ae.packedLength;let a=We.unpack(e,t,rdt);t+=We.packedLength;let c=e[t]===1;if(!l(n))return new AT({frustum:o,origin:r,orientation:s,vertexFormat:a,_drawNearPlane:c});let d=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(d),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Ae.clone(s,n._orientation),n._vertexFormat=We.clone(a,n._vertexFormat),n._drawNearPlane=c,n};function YV(e,t,n,i,o,r,s,a){let c=e/3*2;for(let d=0;d<4;++d)l(t)&&(t[e]=r.x,t[e+1]=r.y,t[e+2]=r.z),l(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),l(i)&&(i[e]=a.x,i[e+1]=a.y,i[e+2]=a.z),e+=3;o[c]=0,o[c+1]=0,o[c+2]=1,o[c+3]=0,o[c+4]=1,o[c+5]=1,o[c+6]=0,o[c+7]=1}var sdt=new $,adt=new M,Xj=new M,Sye=new h,Cye=new h,Vye=new h,cdt=new h,ldt=new h,ddt=new h,Vy=new Array(3),mF=new Array(4);mF[0]=new se(-1,-1,1,1);mF[1]=new se(1,-1,1,1);mF[2]=new se(1,1,1,1);mF[3]=new se(-1,1,1,1);var Lye=new Array(4);for(let e=0;e<4;++e)Lye[e]=new se;AT._computeNearFarPlanes=function(e,t,n,i,o,r,s,a){let c=$.fromQuaternion(t,sdt),d=y(r,Sye),u=y(s,Cye),m=y(a,Vye);d=$.getColumn(c,0,d),u=$.getColumn(c,1,u),m=$.getColumn(c,2,m),h.normalize(d,d),h.normalize(u,u),h.normalize(m,m),h.negate(d,d);let p=M.computeView(e,m,u,d,adt),g,f,x=i.projectionMatrix;if(n===UD){let _=M.multiply(x,p,Xj);f=M.inverse(_,Xj)}else g=M.inverseTransformation(p,Xj);l(f)?(Vy[0]=i.near,Vy[1]=i.far):(Vy[0]=0,Vy[1]=i.near,Vy[2]=i.far);for(let _=0;_<2;++_)for(let C=0;C<4;++C){let V=se.clone(mF[C],Lye[C]);if(l(f)){V=M.multiplyByVector(f,V,V);let L=1/V.w;h.multiplyByScalar(V,L,V),h.subtract(V,e,V),h.normalize(V,V);let Z=h.dot(m,V);h.multiplyByScalar(V,Vy[_]/Z,V),h.add(V,e,V)}else{let L=i.offCenterFrustum;l(L)&&(i=L);let Z=Vy[_],G=Vy[_+1];V.x=(V.x*(i.right-i.left)+i.left+i.right)*.5,V.y=(V.y*(i.top-i.bottom)+i.bottom+i.top)*.5,V.z=(V.z*(Z-G)-Z-G)*.5,V.w=1,M.multiplyByVector(g,V,V)}o[12*_+C*3]=V.x,o[12*_+C*3+1]=V.y,o[12*_+C*3+2]=V.z}};AT.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=e._vertexFormat,a=r?6:5,c=new Float64Array(3*4*6);AT._computeNearFarPlanes(i,o,t,n,c);let d=3*4*2;c[d]=c[3*4],c[d+1]=c[3*4+1],c[d+2]=c[3*4+2],c[d+3]=c[0],c[d+4]=c[1],c[d+5]=c[2],c[d+6]=c[3*3],c[d+7]=c[3*3+1],c[d+8]=c[3*3+2],c[d+9]=c[3*7],c[d+10]=c[3*7+1],c[d+11]=c[3*7+2],d+=3*4,c[d]=c[3*5],c[d+1]=c[3*5+1],c[d+2]=c[3*5+2],c[d+3]=c[3],c[d+4]=c[4],c[d+5]=c[5],c[d+6]=c[0],c[d+7]=c[1],c[d+8]=c[2],c[d+9]=c[3*4],c[d+10]=c[3*4+1],c[d+11]=c[3*4+2],d+=3*4,c[d]=c[3],c[d+1]=c[4],c[d+2]=c[5],c[d+3]=c[3*5],c[d+4]=c[3*5+1],c[d+5]=c[3*5+2],c[d+6]=c[3*6],c[d+7]=c[3*6+1],c[d+8]=c[3*6+2],c[d+9]=c[3*2],c[d+10]=c[3*2+1],c[d+11]=c[3*2+2],d+=3*4,c[d]=c[3*2],c[d+1]=c[3*2+1],c[d+2]=c[3*2+2],c[d+3]=c[3*6],c[d+4]=c[3*6+1],c[d+5]=c[3*6+2],c[d+6]=c[3*7],c[d+7]=c[3*7+1],c[d+8]=c[3*7+2],c[d+9]=c[3*3],c[d+10]=c[3*3+1],c[d+11]=c[3*3+2],r||(c=c.subarray(3*4));let u=new fn({position:new Re({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:c})});if(l(s.normal)||l(s.tangent)||l(s.bitangent)||l(s.st)){let p=l(s.normal)?new Float32Array(12*a):void 0,g=l(s.tangent)?new Float32Array(3*4*a):void 0,f=l(s.bitangent)?new Float32Array(3*4*a):void 0,x=l(s.st)?new Float32Array(2*4*a):void 0,_=Sye,C=Cye,V=Vye,L=h.negate(_,cdt),Z=h.negate(C,ldt),G=h.negate(V,ddt);d=0,r&&(YV(d,p,g,f,x,G,_,C),d+=3*4),YV(d,p,g,f,x,V,L,C),d+=3*4,YV(d,p,g,f,x,L,G,C),d+=3*4,YV(d,p,g,f,x,Z,G,L),d+=3*4,YV(d,p,g,f,x,_,V,C),d+=3*4,YV(d,p,g,f,x,C,V,L),l(p)&&(u.normal=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:p})),l(g)&&(u.tangent=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:g})),l(f)&&(u.bitangent=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:f})),l(x)&&(u.st=new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:2,values:x}))}let m=new Uint16Array(6*a);for(let p=0;p<a;++p){let g=p*6,f=p*4;m[g]=f,m[g+1]=f+1,m[g+2]=f+2,m[g+3]=f,m[g+4]=f+2,m[g+5]=f+3}return new ft({attributes:u,indices:m,primitiveType:Me.TRIANGLES,boundingSphere:le.fromVertices(c)})};var MT=AT;var ZEi=T(S(),1);var Wj=0,udt=1;function hF(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e._drawNearPlane,!0),r,s;t instanceof Li?(r=Wj,s=Li.packedLength):t instanceof ln&&(r=udt,s=ln.packedLength),this._frustumType=r,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Ae.clone(n),this._drawNearPlane=o,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+s+h.packedLength+Ae.packedLength}hF.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===Wj?(Li.pack(o,t,n),n+=Li.packedLength):(ln.pack(o,t,n),n+=ln.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Ae.pack(e._orientation,t,n),n+=Ae.packedLength,t[n]=e._drawNearPlane?1:0,t};var mdt=new Li,hdt=new ln,fdt=new Ae,pdt=new h;hF.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===Wj?(o=Li.unpack(e,t,mdt),t+=Li.packedLength):(o=ln.unpack(e,t,hdt),t+=ln.packedLength);let r=h.unpack(e,t,pdt);t+=h.packedLength;let s=Ae.unpack(e,t,fdt);t+=Ae.packedLength;let a=e[t]===1;if(!l(n))return new hF({frustum:o,origin:r,orientation:s,_drawNearPlane:a});let c=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(c),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Ae.clone(s,n._orientation),n._drawNearPlane=a,n};hF.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=new Float64Array(3*4*2);MT._computeNearFarPlanes(i,o,t,n,s);let a=new fn({position:new Re({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:s})}),c,d,u=r?2:1,m=new Uint16Array(8*(u+1)),p=r?0:1;for(;p<2;++p)c=r?p*8:0,d=p*4,m[c]=d,m[c+1]=d+1,m[c+2]=d+1,m[c+3]=d+2,m[c+4]=d+2,m[c+5]=d+3,m[c+6]=d+3,m[c+7]=d;for(p=0;p<2;++p)c=(u+p)*8,d=p*4,m[c]=d,m[c+1]=d+4,m[c+2]=d+1,m[c+3]=d+5,m[c+4]=d+2,m[c+5]=d+6,m[c+6]=d+3,m[c+7]=d+7;return new ft({attributes:a,indices:m,primitiveType:Me.LINES,boundingSphere:le.fromVertices(s)})};var fF=hF;function DD(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,B.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var bdt=new h,gdt=new $,ydt=new Ae,xdt=new Li,_dt=new ol,Tdt=new ln,Sdt=new Xr,Cdt=new B,Vdt=[1,1e5];DD.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof Li?a=xdt:s instanceof ol?a=_dt:s instanceof ln?a=Tdt:a=Sdt,a=s.clone(a);let c,d=this._frustumSplits;!l(d)||d.length<=1?(d=Vdt,d[0]=this._camera.frustum.near,d[1]=this._camera.frustum.far,c=1):c=d.length-1;let u=r.positionWC,m=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,bdt);let f=gdt;$.setColumn(f,0,g,f),$.setColumn(f,1,p,f),$.setColumn(f,2,m,f);let x=Ae.fromRotationMatrix(f,ydt);for(t.length=n.length=c,i=0;i<c;++i)a.near=d[i],a.far=d[i+1],t[i]=new Wn({geometryInstances:new Gt({geometry:new MT({origin:u,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Ht.fromColor(B.fromAlpha(this._color,.1,Cdt))},id:this.id,pickPrimitive:this}),appearance:new mn({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new Wn({geometryInstances:new Gt({geometry:new fF({origin:u,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Ht.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new mn({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};DD.prototype.isDestroyed=function(){return!1};DD.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return me(this)};var Jf=DD;var $Ei=T(S(),1);function Rye(){this._cachedShowFrustumsShaders={}}function Ldt(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Rdt(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(u){u=Ye.replaceMain(u,"czm_Debug_main");let m=/out_FragData_(\d+)/g,p;for(;(p=m.exec(u))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return u});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor; -`,a+=`uniform vec3 debugShowFrustumsColor; -`,a+=`void main() -{ - czm_Debug_main(); -`;let c;if(s>0)for(c=0;c<s;++c)a+=` out_FragData_${r[c]}.rgb *= debugShowCommandsColor; -`,a+=` out_FragData_${r[c]}.rgb *= debugShowFrustumsColor; -`;else a+=` out_FragColor.rgb *= debugShowCommandsColor; -`,a+=` out_FragColor.rgb *= debugShowFrustumsColor; -`;a+="}",o.sources.push(a);let d=Ldt(i);return cn.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:d})}var pF=new B;function Zdt(e,t){let n;return l(t.uniformMap)?n=t.uniformMap:n={},l(n.debugShowCommandsColor)||l(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(l(t._debugColor)||(t._debugColor=B.fromRandom()),t._debugColor):B.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(pF.red=t.debugOverlappingFrustums&1?1:0,pF.green=t.debugOverlappingFrustums&2?1:0,pF.blue=t.debugOverlappingFrustums&4?1:0,pF.alpha=1,pF):B.WHITE}),n}var Gdt=new tt;Rye.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];l(o)||(o=Rdt(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=tt.shallowClone(t,Gdt);r.shaderProgram=o,r.uniformMap=Zdt(e,t),r.execute(e.context,n)};var bF=Rye;var mIi=T(S(),1);function BD(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=new M,this.id=e.id,this._id=void 0,this._primitive=void 0}BD.prototype.update=function(e){if(this.show){if(!l(this._primitive)||!M.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=M.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,l(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new Gt({geometry:new H0({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:Hr.VERTEX_FORMAT,colors:[B.RED,B.RED],arcType:on.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this}),n=new Gt({geometry:new H0({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:Hr.VERTEX_FORMAT,colors:[B.GREEN,B.GREEN],arcType:on.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this}),i=new Gt({geometry:new H0({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:Hr.VERTEX_FORMAT,colors:[B.BLUE,B.BLUE],arcType:on.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this});this._primitive=new Wn({geometryInstances:[t,n,i],appearance:new Hr,asynchronous:!1})}this._primitive.update(e)}};BD.prototype.isDestroyed=function(){return!1};BD.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};var gF=BD;var NIi=T(S(),1);var fIi=T(S(),1),yF=`in vec4 positionEC; - -void main() -{ - vec3 position; - vec3 direction; - if (czm_orthographicIn3D == 1.0) - { - vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; - vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom - vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top - position = vec3(mix(minPlane, maxPlane, uv), 0.0); - direction = vec3(0.0, 0.0, -1.0); - } - else - { - position = vec3(0.0); - direction = normalize(positionEC.xyz); - } - - czm_ray ray = czm_ray(position, direction); - - vec3 ellipsoid_center = czm_view[3].xyz; - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); - if (!czm_isEmpty(intersection)) - { - out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); - } - else - { - discard; - } - - czm_writeLogDepth(); -} -`;var bIi=T(S(),1),xF=`in vec4 position; - -out vec4 positionEC; - -void main() -{ - positionEC = czm_modelView * position; - gl_Position = czm_modelViewProjection * position; - - czm_vertexLogDepth(); -} -`;function TF(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var _F=zt.supportsTypedArrays()?new Float32Array(12):[],Zye=new h,Gye=new h,Pj=new h,Eye=new h,OD=new h;function Edt(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof ln)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let m=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,m,Zye),g=h.normalize(p,Gye),f=h.normalize(h.cross(h.UNIT_Z,p,Pj),Pj),x=h.normalize(h.cross(g,f,Eye),Eye),_=h.magnitude(p),C=Math.sqrt(_*_-1);o=h.multiplyByScalar(g,1/_,Zye);let V=C/_;r=h.multiplyByScalar(f,V,Gye),s=h.multiplyByScalar(x,V,Pj)}let a=h.add(o,s,OD);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,_F,0);let c=h.subtract(o,s,OD);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,_F,3);let d=h.add(o,s,OD);h.add(d,r,d),h.multiplyComponents(n,d,d),h.pack(d,_F,6);let u=h.subtract(o,s,OD);return h.add(u,r,u),h.multiplyComponents(n,u,u),h.pack(u,_F,9),_F}TF.prototype.update=function(e){if(this._mode=e.mode,e.mode!==oe.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new ne(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(l(this._command)||(this._rs=Be.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new tt({renderState:this._rs,boundingVolume:new le(h.ZERO,i.maximumRadius),pass:Ze.OPAQUE,owner:this})),!l(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new Ye({sources:[xF]}),a=new Ye({sources:[yF]});o&&(a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")),this._sp=cn.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=Edt(i,e);if(l(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new ft({attributes:{position:new Re({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Me.TRIANGLES});this._va=hi.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:Ue.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};TF.prototype.execute=function(e,t){this._mode===oe.SCENE3D&&this._command.execute(e,t)};TF.prototype.isDestroyed=function(){return!1};TF.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var SF=TF;var KIi=T(S(),1);function HV(){}var Idt=/\bgl_FragDepth\b/,Xdt=/\bdiscard\b/;function Wdt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(l(n))return n;let i=t.fragmentShaderSource,o=!1,r=i.sources;for(let a=0;a<r.length;++a)if(Idt.test(r[a])||Xdt.test(r[a])){o=!0;break}let s=i.defines.indexOf("LOG_DEPTH")>=0;if(!o&&!s){let a=`void main() -{ - out_FragColor = vec4(1.0); -} -`;i=new Ye({sources:[a]})}else if(!o&&s){let a=`void main() -{ - out_FragColor = vec4(1.0); - czm_writeLogDepth(); -} -`;i=new Ye({defines:["LOG_DEPTH"],sources:[a]})}return e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}function Pdt(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(l(i))return i;let o=Be.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1};let r=Be.fromCache(o);return n[t.id]=r,r}HV.createDepthOnlyDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.depthOnlyCommand?.shaderProgram,r=i.depthOnlyCommand?.renderState;return i.depthOnlyCommand=tt.shallowClone(t,i.depthOnlyCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=Wdt(n,t.shaderProgram),i.depthOnlyCommand.renderState=Pdt(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var vdt=/\s+czm_writeLogDepth\(/,wdt=/\s+czm_vertexLogDepth\(/;function Fdt(e,t){if(t.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return t;let i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(l(i))return i;let o=t._attributeLocations,r=t.vertexShaderSource.clone(),s=t.fragmentShaderSource.clone();r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH"),s.defines=l(s.defines)?s.defines.slice(0):[],s.defines.push("LOG_DEPTH");let a=!1,c=r.sources;for(let u=0;u<c.length;++u)if(wdt.test(c[u])){a=!0;break}if(!a){for(let m=0;m<c.length;++m)c[m]=Ye.replaceMain(c[m],"czm_log_depth_main");c.push(` - -void main() -{ - czm_log_depth_main(); - czm_vertexLogDepth(); -} -`)}c=s.sources,a=!1;for(let u=0;u<c.length;++u)vdt.test(c[u])&&(a=!0);s.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(a=!0);let d="";if(!a){for(let u=0;u<c.length;u++)c[u]=Ye.replaceMain(c[u],"czm_log_depth_main");d=` -void main() -{ - czm_log_depth_main(); - czm_writeLogDepth(); -} -`}return c.push(d),e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o})}HV.createLogDepthCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=tt.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=Fdt(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function Adt(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(l(i))return i;Object.prototype.toString.call(n)==="[object Object]"&&(n.color?n=`vec4(${B.floatToByte(n.color.red)}, ${B.floatToByte(n.color.green)}, ${B.floatToByte(n.color.blue)}, ${B.floatToByte(n.color.alpha)})`:n="vec4(1.0)");let o=t._attributeLocations,{sources:r,defines:s}=t.fragmentShaderSource,c=r.some(g=>g.includes("out_FragData"))?"out_FragData_0":"out_FragColor",d=`void main () -{ - czm_non_pick_main(); - if (${c}.a == 0.0) { - discard; - } - ${c} = ${n}; -} `,u=r.length,m=new Array(u+1);for(let g=0;g<u;++g)m[g]=Ye.replaceMain(r[g],"czm_non_pick_main");m[u]=d;let p=new Ye({sources:m,defines:s});return e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:p,attributeLocations:o})}function Iye(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(l(i))return i;let o=Be.getState(t);o.blending.enabled=!1,o.depthMask=!0;let r=Be.fromCache(o);return n[t.id]=r,r}HV.createPickDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.pickCommand?.shaderProgram,r=i.pickCommand?.renderState;return i.pickCommand=tt.shallowClone(t,i.pickCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=Adt(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=Iye(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function zV(e,t,n){let i=e.length;for(let o=0;o<i;o++)e[o].trimStart().split(/\s+/)[0]===t&&(e[o]=`${t} ${n}`)}function Xye(e){return e.isArray?e.arrayLength:Lt.getComponentCount(e.type)}function Mdt(e){let t=Xye(e);return e.normalized?t===1?"float":`vec${t}`:t===1?"int":`ivec${t}`}function Ndt(e,t,n){let i=n.schemaId,o=n.className,r=n.propertyName,s=`pickMetadata-${i}-${o}-${r}`,a=e.shaderCache.getDerivedShaderProgram(t,s);if(l(a))return a;let c=n.classProperty,d=Mdt(c),u=["0.0","0.0","0.0","0.0"],m=Xye(c);if(m===1)u[0]="float(value)";else{let x=["x","y","z","w"];for(let _=0;_<m;_++){let V=`value.${x[_]}`;u[_]=`float(${V})`}}if(!c.normalized)for(let x=0;x<m;x++)u[x]+=" / 255.0";let p=t.fragmentShaderSource.defines.slice();p.push(xd.METADATA_PICKING_ENABLED),zV(p,xd.METADATA_PICKING_VALUE_TYPE,d),zV(p,xd.METADATA_PICKING_VALUE_STRING,`metadata.${r}`),zV(p,xd.METADATA_PICKING_VALUE_COMPONENT_X,u[0]),zV(p,xd.METADATA_PICKING_VALUE_COMPONENT_Y,u[1]),zV(p,xd.METADATA_PICKING_VALUE_COMPONENT_Z,u[2]),zV(p,xd.METADATA_PICKING_VALUE_COMPONENT_W,u[3]);let g=new Ye({sources:t.fragmentShaderSource.sources,defines:p});return e.shaderCache.createDerivedShaderProgram(t,s,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:g,attributeLocations:t._attributeLocations})}HV.createPickMetadataDerivedCommand=function(e,t,n,i){return l(i)||(i={}),i.pickMetadataCommand=tt.shallowClone(t,i.pickMetadataCommand),i.pickMetadataCommand.shaderProgram=Ndt(n,t.shaderProgram,t.pickedMetadataInfo),i.pickMetadataCommand.renderState=Iye(e,t.renderState),i.shaderProgramId=t.shaderProgram.id,i};function kdt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(l(n))return n;let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();return o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}HV.createHdrCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=tt.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=kdt(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var Qf=HV;var tXi=T(S(),1);function YD(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!l(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=W.toRadians(o),t._beta=W.toRadians(i.beta),t._gamma=W.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var Udt=new Ae,Wye=new Ae,Ddt=new $;function Bdt(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Ae.fromAxisAngle(o,n,Wye),c=Ae.fromAxisAngle(r,i,Udt),d=Ae.multiply(c,a,c),u=Ae.fromAxisAngle(s,t,Wye);Ae.multiply(u,d,d);let m=$.fromQuaternion(d,Ddt);$.multiplyByVector(m,r,r),$.multiplyByVector(m,s,s),$.multiplyByVector(m,o,o)}YD.prototype.update=function(){if(!l(this._alpha))return;l(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;Bdt(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};YD.prototype.isDestroyed=function(){return!1};YD.prototype.destroy=function(){return this._removeListener(),me(this)};var CF=YD;var sXi=T(S(),1);function Odt(e){this.direction=h.clone(e.direction),this.color=B.clone(y(e.color,B.WHITE)),this.intensity=y(e.intensity,1)}var vj=Odt;var vXi=T(S(),1);var cXi=T(S(),1),KV=`uniform vec3 u_radii; -uniform vec3 u_oneOverEllipsoidRadiiSquared; - -in vec3 v_positionEC; - -vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) -{ - vec3 positionEC = czm_pointAlongRay(ray, intersection); - vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; - vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); - vec3 sphericalNormal = normalize(positionMC / u_radii); - vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates - vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordinates - - vec2 st = czm_ellipsoidTextureCoordinates(sphericalNormal); - vec3 positionToEyeEC = -positionEC; - - czm_materialInput materialInput; - materialInput.s = st.s; - materialInput.st = st; - materialInput.str = (positionMC + u_radii) / u_radii; - materialInput.normalEC = normalEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); - materialInput.positionToEyeEC = positionToEyeEC; - czm_material material = czm_getMaterial(materialInput); - -#ifdef ONLY_SUN_LIGHTING - return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); -#else - return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); -#endif -} - -void main() -{ - // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii - // in the vertex shader. Only when it is larger than some constant, march along the ray. - // Otherwise perform one intersection test which will be the common case. - - // Test if the ray intersects a sphere with the ellipsoid's maximum radius. - // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test - // may cause false negatives. This will discard fragments before marching the ray forward. - float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; - vec3 direction = normalize(v_positionEC); - vec3 ellipsoidCenter = czm_modelView[3].xyz; - - float t1 = -1.0; - float t2 = -1.0; - - float b = -2.0 * dot(direction, ellipsoidCenter); - float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; - - float discriminant = b * b - 4.0 * c; - if (discriminant >= 0.0) { - t1 = (-b - sqrt(discriminant)) * 0.5; - t2 = (-b + sqrt(discriminant)) * 0.5; - } - - if (t1 < 0.0 && t2 < 0.0) { - discard; - } - - float t = min(t1, t2); - if (t < 0.0) { - t = 0.0; - } - - // March ray forward to intersection with larger sphere and find - czm_ray ray = czm_ray(t * direction, direction); - - vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); - - if (czm_isEmpty(intersection)) - { - discard; - } - - // If the viewer is outside, compute outsideFaceColor, with normals facing outward. - vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); - - // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. - vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); - - out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); - out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); - -#if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) - t = (intersection.start != 0.0) ? intersection.start : intersection.stop; - vec3 positionEC = czm_pointAlongRay(ray, t); - vec4 positionCC = czm_projection * vec4(positionEC, 1.0); -#ifdef LOG_DEPTH - czm_writeLogDepth(1.0 + positionCC.w); -#else - float z = positionCC.z / positionCC.w; - - float n = czm_depthRange.near; - float f = czm_depthRange.far; - - gl_FragDepth = (z * (f - n) + f + n) * 0.5; -#endif -#endif -} -`;var dXi=T(S(),1),JV=`in vec3 position; - -uniform vec3 u_radii; - -out vec3 v_positionEC; - -void main() -{ - // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. - // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, - // but doing it here allows us to change the radii without rewriting the vertex data, and - // allows all ellipsoids to reuse the same vertex data. - vec4 p = vec4(u_radii * position, 1.0); - - v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates - gl_Position = czm_modelViewProjection * p; // position in clip coordinates - - // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums - // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the - // ellipsoid (does not write depth) that was rendered in the farther frustum. - // - // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates - // artifacts since some fragments can be alpha blended twice. This is solved by only rendering - // the ellipsoid in the closest frustum to the viewer. - gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); - - czm_vertexLogDepth(); -} -`;var wj={position:0};function zD(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new le,this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=new M,this._computedModelMatrix=new M,this.show=y(e.show,!0),this.material=y(e.material,Bi.fromType(Bi.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new tt({owner:y(e._owner,this)}),this._pickCommand=new tt({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function Ydt(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(l(t))return t;let n=Tl.createGeometry(Tl.fromDimensions({dimensions:new h(2,2,2),vertexFormat:We.POSITION_ONLY}));return t=hi.fromGeometry({context:e,geometry:n,attributeLocations:wj,bufferUsage:Ue.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}zD.prototype.update=function(e){if(!this.show||e.mode!==oe.SCENE3D||!l(this.center)||!l(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!l(this._rs)||i)&&(this._translucent=n,this._rs=Be.fromCache({cull:{enabled:!0,face:yi.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?hn.ALPHA_BLEND:void 0})),l(this._va)||(this._va=Ydt(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let x=this._oneOverEllipsoidRadiiSquared;x.x=1/(r.x*r.x),x.y=1/(r.y*r.y),x.z=1/(r.z*r.z),o=!0}(!M.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(M.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),M.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),le.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,d=this._useLogDepth!==c;this._useLogDepth=c;let u=this._colorCommand,m,p;(s||a||i||d)&&(m=new Ye({sources:[JV]}),p=new Ye({sources:[this.material.shaderSource,KV]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(m.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._sp=cn.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:p,attributeLocations:wj}),u.vertexArray=this._va,u.renderState=this._rs,u.shaderProgram=this._sp,u.uniformMap=Tt(this._uniforms,this.material._uniforms),u.executeInClosestFrustum=n);let g=e.commandList,f=e.passes;if(f.render&&(u.boundingVolume=this._boundingSphere,u.debugShowBoundingVolume=this.debugShowBoundingVolume,u.modelMatrix=this._computedModelMatrix,u.pass=n?Ze.TRANSLUCENT:Ze.OPAQUE,g.push(u)),f.pick){let x=this._pickCommand;(!l(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(s||a||!l(this._pickSP)||d)&&(m=new Ye({sources:[JV]}),p=new Ye({sources:[this.material.shaderSource,KV],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(m.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._pickSP=cn.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:m,fragmentShaderSource:p,attributeLocations:wj}),x.vertexArray=this._va,x.renderState=this._rs,x.shaderProgram=this._pickSP,x.uniformMap=Tt(Tt(this._uniforms,this._pickUniforms),this.material._uniforms),x.executeInClosestFrustum=n),x.boundingVolume=this._boundingSphere,x.modelMatrix=this._computedModelMatrix,x.pass=n?Ze.TRANSLUCENT:Ze.OPAQUE,g.push(x)}};zD.prototype.isDestroyed=function(){return!1};zD.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),me(this)};var VF=zD;var HXi=T(S(),1);var FXi=T(S(),1),LF=`in vec3 v_positionMC; -in vec3 v_positionEC; -in vec2 v_st; - -void main() -{ - czm_materialInput materialInput; - - vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); -#ifdef FACE_FORWARD - normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); -#endif - - materialInput.s = v_st.s; - materialInput.st = v_st; - materialInput.str = vec3(v_st, 0.0); - - // Convert tangent space material normal to eye space - materialInput.normalEC = normalEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); - - // Convert view vector to world space - vec3 positionToEyeEC = -v_positionEC; - materialInput.positionToEyeEC = positionToEyeEC; - - czm_material material = czm_getMaterial(materialInput); - -#ifdef FLAT - out_FragColor = vec4(material.diffuse + material.emission, material.alpha); -#else - out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); -#endif -} -`;var MXi=T(S(),1),RF=`in vec3 position3DHigh; -in vec3 position3DLow; -in vec2 st; -in float batchId; - -out vec3 v_positionMC; -out vec3 v_positionEC; -out vec2 v_st; - -void main() -{ - vec4 p = czm_computePosition(); - - v_positionMC = position3DHigh + position3DLow; // position in model coordinates - v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates - v_st = st; - - gl_Position = czm_modelViewProjectionRelativeToEye * p; -} -`;function NT(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=l(e.material)?e.material:Bi.fromType(Bi.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,RF),this._fragmentShaderSource=y(e.fragmentShaderSource,LF),this._renderState=eo.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(NT.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return NT.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});NT.VERTEX_FORMAT=We.POSITION_AND_ST;NT.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;NT.prototype.isTranslucent=eo.prototype.isTranslucent;NT.prototype.getRenderState=eo.prototype.getRenderState;var Fj=NT;var $Xi=T(S(),1);function Pye(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}var HD=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],jf=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let e=0;e<jf.length;++e)jf[e]*=1e6;var vye=jf[1],Aj=jf[jf.length-1];for(let e=0;e<jf.length;++e)jf[e]=(jf[e]-Aj)/(vye-Aj);var Ta=0;function zdt(e){let t=HD,n=t.length;if(e<t[0])return Ta=0,Ta;if(e>t[n-1])return Ta=n-2,Ta;if(e>=t[Ta]){if(Ta+1<n&&e<t[Ta+1])return Ta;if(Ta+2<n&&e<t[Ta+2])return++Ta,Ta}else if(Ta-1>=0&&e>=t[Ta-1])return--Ta,Ta;let i;for(i=0;i<n-2&&!(e>=t[i]&&e<t[i+1]);++i);return Ta=i,Ta}var Hdt=new h;Pye.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!l(i)||i.height>8e5||e.mode!==oe.SCENE3D){e.fog.enabled=!1,e.fog.density=0;return}let o=i.height,r=zdt(o),s=W.clamp((o-HD[r])/(HD[r+1]-HD[r]),0,1),a=W.lerp(jf[r],jf[r+1],s),c=this.density*1e6,d=c/vye*Aj;a=a*(c-d)*1e-6;let u=h.normalize(n.positionWC,Hdt),m=Math.abs(h.dot(n.directionWC,u));a*=1-m,e.fog.density=a,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var ZF=Pye;var aWi=T(S(),1);function $l(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,$l.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,$l.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,$l.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,$l.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,$l.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new be,this._nominalFrameRate=new be,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){Kdt(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){Jdt(t)}this._visibilityChangeRemoveListener=void 0,l(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}$l.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};$l.fromScene=function(e){return(!l(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new $l({scene:e})),e._frameRateMonitor};Object.defineProperties($l.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});$l.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};$l.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};$l.prototype.isDestroyed=function(){return!1};$l.prototype.destroy=function(){return this._preUpdateRemoveListener(),l(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),me(this)};function Kdt(e,t){if(e._pauseCount>0)return;let n=_i();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Jn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Jn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Jn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function Jdt(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var GF=$l;var dWi=T(S(),1);function Qdt(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=oe.SCENE3D,this.morphTime=oe.getMorphTime(oe.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,pickVoxel:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,renderable:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.atmosphere=void 0,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0,this.pickingMetadata=!1,this.pickedMetadataInfo=void 0}var EF=Qdt;var fWi=T(S(),1);function jdt(e,t){this.near=y(e,0),this.far=y(t,0);let n=Ze.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var IF=jdt;var bWi=T(S(),1);function qdt(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = ${n}.rgb; - float clippingPlanesEdgeWidth = ${n}.a; - if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) - { - out_FragColor = clippingPlanesEdgeColor; - } -`}var XF=qdt;var xWi=T(S(),1);function $dt(e,t,n,i){if(!l(e)||l(t)&&e.id!==t)return;let r=(e.classes||{})[n];if(!l(r))return;let a=(r.properties||{})[i];if(l(a))return a}var WF=$dt;var PAi=T(S(),1);var F2i=T(S(),1);var Z2i=T(S(),1);var TWi=T(S(),1),eut={NONE:0,LERC:1},tm=Object.freeze(eut);var qWi=T(S(),1);var wWi=T(S(),1);var CWi=T(S(),1),tut={NONE:0,BITS12:1},ea=Object.freeze(tut);var kT=new h,nut=new h,nm=new D,KD=new M,iut=new M,out=Math.pow(2,12);function Vc(e,t,n,i,o,r,s,a,c,d){let u=ea.NONE,m,p;if(l(t)&&l(n)&&l(i)&&l(o)){let g=t.minimum,f=t.maximum,x=h.subtract(f,g,nut),_=i-n;Math.max(h.maximumComponent(x),_)<out-1?u=ea.BITS12:u=ea.NONE,m=M.inverseTransformation(o,new M);let V=h.negate(g,kT);M.multiply(M.fromTranslation(V,KD),m,m);let L=kT;L.x=1/x.x,L.y=1/x.y,L.z=1/x.z,M.multiply(M.fromScale(L,KD),m,m),p=M.clone(o),M.setTranslation(p,h.ZERO,p),o=M.clone(o,new M);let Z=M.fromTranslation(g,KD),G=M.fromScale(x,iut),I=M.multiply(Z,G,KD);M.multiply(o,I,o),M.multiply(p,I,p)}this.quantization=u,this.minimumHeight=n,this.maximumHeight=i,this.center=h.clone(e),this.toScaledENU=m,this.fromScaledENU=o,this.matrix=p,this.hasVertexNormals=r,this.hasWebMercatorT=y(s,!1),this.hasGeodeticSurfaceNormals=y(a,!1),this.exaggeration=y(c,1),this.exaggerationRelativeHeight=y(d,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}Vc.prototype.encode=function(e,t,n,i,o,r,s,a){let c=i.x,d=i.y;if(this.quantization===ea.BITS12){n=M.multiplyByPoint(this.toScaledENU,n,kT),n.x=W.clamp(n.x,0,1),n.y=W.clamp(n.y,0,1),n.z=W.clamp(n.z,0,1);let u=this.maximumHeight-this.minimumHeight,m=W.clamp((o-this.minimumHeight)/u,0,1);D.fromElements(n.x,n.y,nm);let p=An.compressTextureCoordinates(nm);D.fromElements(n.z,m,nm);let g=An.compressTextureCoordinates(nm);D.fromElements(c,d,nm);let f=An.compressTextureCoordinates(nm);if(e[t++]=p,e[t++]=g,e[t++]=f,this.hasWebMercatorT){D.fromElements(s,0,nm);let x=An.compressTextureCoordinates(nm);e[t++]=x}}else h.subtract(n,this.center,kT),e[t++]=kT.x,e[t++]=kT.y,e[t++]=kT.z,e[t++]=o,e[t++]=c,e[t++]=d,this.hasWebMercatorT&&(e[t++]=s);return this.hasVertexNormals&&(e[t++]=An.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=a.x,e[t++]=a.y,e[t++]=a.z),t};var rut=new h,wye=new h;Vc.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;let i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let r=this.stride;for(let s=0;s<o;s++){for(let u=0;u<i;u++){let m=s*i+u,p=s*r+u;t[p]=e[m]}let a=this.decodePosition(t,s,rut),c=n.geodeticSurfaceNormal(a,wye),d=s*r+this._offsetGeodeticSurfaceNormal;t[d]=c.x,t[d+1]=c.y,t[d+2]=c.z}};Vc.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;let n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let o=this.stride;for(let r=0;r<i;r++)for(let s=0;s<o;s++){let a=r*n+s,c=r*o+s;t[c]=e[a]}};Vc.prototype.decodePosition=function(e,t,n){if(l(n)||(n=new h),t*=this.stride,this.quantization===ea.BITS12){let i=An.decompressTextureCoordinates(e[t],nm);n.x=i.x,n.y=i.y;let o=An.decompressTextureCoordinates(e[t+1],nm);return n.z=o.x,M.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],h.add(n,this.center,n)};Vc.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);let i=this.exaggeration,o=this.exaggerationRelativeHeight;if(i!==1&&this.hasGeodeticSurfaceNormals){let s=this.decodeGeodeticSurfaceNormal(e,t,wye),a=this.decodeHeight(e,t),c=_r.getHeight(a,i,o)-a;n.x+=s.x*c,n.y+=s.y*c,n.z+=s.z*c}return n};Vc.prototype.decodeTextureCoordinates=function(e,t,n){return l(n)||(n=new D),t*=this.stride,this.quantization===ea.BITS12?An.decompressTextureCoordinates(e[t+2],n):D.fromElements(e[t+4],e[t+5],n)};Vc.prototype.decodeHeight=function(e,t){return t*=this.stride,this.quantization===ea.BITS12?An.decompressTextureCoordinates(e[t+1],nm).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:e[t+3]};Vc.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===ea.BITS12?An.decompressTextureCoordinates(e[t+3],nm).x:e[t+6]};Vc.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;let i=e[t]/256,o=Math.floor(i),r=(i-o)*256;return D.fromElements(o,r,n)};Vc.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n};Vc.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case ea.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};var JD={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},QD={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};Vc.prototype.getAttributes=function(e){let t=Q.FLOAT,n=Q.getSizeInBytes(t),i=this.stride*n,o=0,r=[];function s(a,c){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:c,offsetInBytes:o,strideInBytes:i}),o+=c*n}if(this.quantization===ea.NONE){s(JD.position3DAndHeight,4);let a=2;a+=this.hasWebMercatorT?1:0,a+=this.hasVertexNormals?1:0,s(JD.textureCoordAndEncodedNormals,a),this.hasGeodeticSurfaceNormals&&s(JD.geodeticSurfaceNormal,3)}else{let a=this.hasWebMercatorT||this.hasVertexNormals,c=this.hasWebMercatorT&&this.hasVertexNormals;s(QD.compressed0,a?4:3),c&&s(QD.compressed1,1),this.hasGeodeticSurfaceNormals&&s(QD.geodeticSurfaceNormal,3)}return r};Vc.prototype.getAttributeLocations=function(){return this.quantization===ea.NONE?JD:QD};Vc.clone=function(e,t){if(l(e))return l(t)||(t=new Vc),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=h.clone(e.center),t.toScaledENU=M.clone(e.toScaledENU),t.fromScaledENU=M.clone(e.fromScaledENU),t.matrix=M.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var Lc=Vc;var qf={};qf.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var Mj=new h,sut=new M,aut=new h,cut=new h;qf.computeVertices=function(e){let t=Math.cos,n=Math.sin,i=Math.sqrt,o=Math.atan,r=Math.exp,s=W.PI_OVER_TWO,a=W.toRadians,c=e.heightmap,d=e.width,u=e.height,m=e.skirtHeight,p=m>0,g=y(e.isGeographic,!0),f=y(e.ellipsoid,ne.default),x=1/f.maximumRadius,_=ce.clone(e.nativeRectangle),C=ce.clone(e.rectangle),V,L,Z,G;l(C)?(V=C.west,L=C.south,Z=C.east,G=C.north):g?(V=a(_.west),L=a(_.south),Z=a(_.east),G=a(_.north)):(V=_.west*x,L=s-2*o(r(-_.south*x)),Z=_.east*x,G=s-2*o(r(-_.north*x)));let I=e.relativeToCenter,v=l(I);I=v?I:h.ZERO;let P=y(e.includeWebMercatorT,!1),w=y(e.exaggeration,1),F=y(e.exaggerationRelativeHeight,0),R=w!==1,E=y(e.structure,qf.DEFAULT_STRUCTURE),X=y(E.heightScale,qf.DEFAULT_STRUCTURE.heightScale),A=y(E.heightOffset,qf.DEFAULT_STRUCTURE.heightOffset),N=y(E.elementsPerHeight,qf.DEFAULT_STRUCTURE.elementsPerHeight),O=y(E.stride,qf.DEFAULT_STRUCTURE.stride),U=y(E.elementMultiplier,qf.DEFAULT_STRUCTURE.elementMultiplier),Y=y(E.isBigEndian,qf.DEFAULT_STRUCTURE.isBigEndian),k=ce.computeWidth(_),J=ce.computeHeight(_),z=k/(d-1),te=J/(u-1);g||(k*=x,J*=x);let H=f.radiiSquared,q=H.x,ee=H.y,pe=H.z,_e=65536,ae=-65536,ye=Ft.eastNorthUpToFixedFrame(I,f),Te=M.inverseTransformation(ye,sut),Ie,Ee;P&&(Ie=Zi.geodeticLatitudeToMercatorAngle(L),Ee=1/(Zi.geodeticLatitudeToMercatorAngle(G)-Ie));let ve=aut;ve.x=Number.POSITIVE_INFINITY,ve.y=Number.POSITIVE_INFINITY,ve.z=Number.POSITIVE_INFINITY;let we=cut;we.x=Number.NEGATIVE_INFINITY,we.y=Number.NEGATIVE_INFINITY,we.z=Number.NEGATIVE_INFINITY;let pt=Number.POSITIVE_INFINITY,rt=d*u,Rt=m>0?d*2+u*2:0,Fe=rt+Rt,ke=new Array(Fe),qe=new Array(Fe),Qe=new Array(Fe),Ut=P?new Array(Fe):[],Ce=R?new Array(Fe):[],Ve=0,$t=u,en=0,Qt=d;p&&(--Ve,++$t,--en,++Qt);let mo=1e-5;for(let $e=Ve;$e<$t;++$e){let et=$e;et<0&&(et=0),et>=u&&(et=u-1);let Mt=_.north-te*et;g?Mt=a(Mt):Mt=s-2*o(r(-Mt*x));let xn=(Mt-L)/(G-L);xn=W.clamp(xn,0,1);let Ki=$e===Ve,ho=$e===$t-1;m>0&&(Ki?Mt+=mo*J:ho&&(Mt-=mo*J));let rs=t(Mt),ar=n(Mt),To=pe*ar,Ji;P&&(Ji=(Zi.geodeticLatitudeToMercatorAngle(Mt)-Ie)*Ee);for(let ys=en;ys<Qt;++ys){let Zr=ys;Zr<0&&(Zr=0),Zr>=d&&(Zr=d-1);let ou=et*(d*O)+Zr*O,wo;if(N===1)wo=c[ou];else{wo=0;let Ra;if(Y)for(Ra=0;Ra<N;++Ra)wo=wo*U+c[ou+Ra];else for(Ra=N-1;Ra>=0;--Ra)wo=wo*U+c[ou+Ra]}wo=wo*X+A,ae=Math.max(ae,wo),_e=Math.min(_e,wo);let Gr=_.west+z*Zr;g?Gr=a(Gr):Gr=Gr*x;let ru=(Gr-V)/(Z-V);ru=W.clamp(ru,0,1);let Ic=et*d+Zr;if(m>0){let Ra=ys===en,oa=ys===Qt-1,vs=Ki||ho||Ra||oa;if((Ki||ho)&&(Ra||oa))continue;vs&&(wo-=m,Ra?(Ic=rt+(u-et-1),Gr-=mo*k):ho?Ic=rt+u+(d-Zr-1):oa?(Ic=rt+u+d+et,Gr+=mo*k):Ki&&(Ic=rt+u+d+u+Zr))}let kh=rs*t(Gr),zo=rs*n(Gr),lp=q*kh,cr=ee*zo,Zo=1/i(lp*kh+cr*zo+To*ar),fm=lp*Zo,Ky=cr*Zo,Lb=To*Zo,xs=new h;xs.x=fm+kh*wo,xs.y=Ky+zo*wo,xs.z=Lb+ar*wo,M.multiplyByPoint(Te,xs,Mj),h.minimumByComponent(Mj,ve,ve),h.maximumByComponent(Mj,we,we),pt=Math.min(pt,wo),ke[Ic]=xs,Qe[Ic]=new D(ru,xn),qe[Ic]=wo,P&&(Ut[Ic]=Ji),R&&(Ce[Ic]=f.geodeticSurfaceNormal(xs))}}let je=le.fromPoints(ke),os;l(C)&&(os=Xn.fromRectangle(C,_e,ae,f));let sr;v&&(sr=new v0(f).computeHorizonCullingPointPossiblyUnderEllipsoid(I,ke,_e));let ia=new Ub(ve,we,I),De=new Lc(I,ia,pt,ae,ye,!1,P,R,w,F),mt=new Float32Array(Fe*De.stride),st=0;for(let $e=0;$e<Fe;++$e)st=De.encode(mt,st,ke[$e],Qe[$e],qe[$e],void 0,Ut[$e],Ce[$e]);return{vertices:mt,maximumHeight:ae,minimumHeight:_e,encoding:De,boundingSphere3D:je,orientedBoundingBox:os,occludeePointInScaledSpace:sr}};var QV=qf;var t2i=T(S(),1);function Ly(){fe.throwInstantiationError()}Object.defineProperties(Ly.prototype,{credits:{get:fe.throwInstantiationError},waterMask:{get:fe.throwInstantiationError}});Ly.prototype.interpolateHeight=fe.throwInstantiationError;Ly.prototype.isChildAvailable=fe.throwInstantiationError;Ly.prototype.createMesh=fe.throwInstantiationError;Ly.prototype.upsample=fe.throwInstantiationError;Ly.prototype.wasCreatedByUpsampling=fe.throwInstantiationError;Ly.maximumAsynchronousTasks=5;var Xh=Ly;var o2i=T(S(),1);function lut(e,t,n,i,o,r,s,a,c,d,u,m,p,g,f,x){this.center=e,this.vertices=t,this.stride=y(d,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=o,this.minimumHeight=r,this.maximumHeight=s,this.boundingSphere3D=a,this.occludeePointInScaledSpace=c,this.orientedBoundingBox=u,this.encoding=m,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=g,this.eastIndicesNorthToSouth=f,this.northIndicesWestToEast=x}var im=lut;var d2i=T(S(),1);function rl(){fe.throwInstantiationError()}Object.defineProperties(rl.prototype,{errorEvent:{get:fe.throwInstantiationError},credit:{get:fe.throwInstantiationError},tilingScheme:{get:fe.throwInstantiationError},hasWaterMask:{get:fe.throwInstantiationError},hasVertexNormals:{get:fe.throwInstantiationError},availability:{get:fe.throwInstantiationError}});var Fye=[];rl.getRegularGridIndices=function(e,t){let n=Fye[e];l(n)||(Fye[e]=n=[]);let i=n[t];return l(i)||(e*t<W.SIXTY_FOUR_KILOBYTES?i=n[t]=new Uint16Array((e-1)*(t-1)*6):i=n[t]=new Uint32Array((e-1)*(t-1)*6),kye(e,t,i,0)),i};var Aye=[];rl.getRegularGridIndicesAndEdgeIndices=function(e,t){let n=Aye[e];l(n)||(Aye[e]=n=[]);let i=n[t];if(!l(i)){let o=rl.getRegularGridIndices(e,t),r=Nye(e,t),s=r.westIndicesSouthToNorth,a=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,d=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:s,southIndicesEastToWest:a,eastIndicesNorthToSouth:c,northIndicesWestToEast:d}}return i};var Mye=[];rl.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){let n=Mye[e];l(n)||(Mye[e]=n=[]);let i=n[t];if(!l(i)){let o=e*t,r=(e-1)*(t-1)*6,s=e*2+t*2,a=Math.max(0,s-4)*6,c=o+s,d=r+a,u=Nye(e,t),m=u.westIndicesSouthToNorth,p=u.southIndicesEastToWest,g=u.eastIndicesNorthToSouth,f=u.northIndicesWestToEast,x=Ne.createTypedArray(c,d);kye(e,t,x,0),rl.addSkirtIndices(m,p,g,f,o,x,r),i=n[t]={indices:x,westIndicesSouthToNorth:m,southIndicesEastToWest:p,eastIndicesNorthToSouth:g,northIndicesWestToEast:f,indexCountWithoutSkirts:r}}return i};rl.addSkirtIndices=function(e,t,n,i,o,r,s){let a=o;s=jD(e,a,r,s),a+=e.length,s=jD(t,a,r,s),a+=t.length,s=jD(n,a,r,s),a+=n.length,jD(i,a,r,s)};function Nye(e,t){let n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e),s;for(s=0;s<e;++s)r[s]=s,i[s]=e*t-1-s;for(s=0;s<t;++s)o[s]=(s+1)*e-1,n[s]=(t-s-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function kye(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let s=0;s<e-1;++s){let a=o,c=a+e,d=c+1,u=a+1;n[i++]=a,n[i++]=c,n[i++]=u,n[i++]=u,n[i++]=c,n[i++]=d,++o}++o}}function jD(e,t,n,i){let o=e[0],r=e.length;for(let s=1;s<r;++s){let a=e[s];n[i++]=o,n[i++]=a,n[i++]=t,n[i++]=t,n[i++]=a,n[i++]=t+1,o=a,++t}return i}rl.heightmapTerrainQuality=.25;rl.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return e.maximumRadius*2*Math.PI*rl.heightmapTerrainQuality/(t*n)};rl.prototype.requestTileGeometry=fe.throwInstantiationError;rl.prototype.getLevelMaximumGeometricError=fe.throwInstantiationError;rl.prototype.getTileDataAvailable=fe.throwInstantiationError;rl.prototype.loadTileDataAvailability=fe.throwInstantiationError;var ts=rl;function ab(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=y(e.childTileMask,15),this._encoding=y(e.encoding,tm.NONE);let t=QV.DEFAULT_STRUCTURE,n=e.structure;l(n)?n!==t&&(n.heightScale=y(n.heightScale,t.heightScale),n.heightOffset=y(n.heightOffset,t.heightOffset),n.elementsPerHeight=y(n.elementsPerHeight,t.elementsPerHeight),n.stride=y(n.stride,t.stride),n.elementMultiplier=y(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=y(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===tm.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(ab.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var Uye="createVerticesFromHeightmap",dut=new bi(Uye),uut=new bi(Uye,Xh.maximumAsynchronousTasks);ab.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,d=t.tileXYToNativeRectangle(n,i,o),u=t.tileXYToRectangle(n,i,o),m=c.cartographicToCartesian(ce.center(u)),p=this._structure,f=ts.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(f*4,1e3);let _=(a?uut:dut).scheduleTask({heightmap:this._buffer,structure:p,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:d,rectangle:u,relativeToCenter:m,ellipsoid:c,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ri,exaggeration:r,exaggerationRelativeHeight:s,encoding:this._encoding});if(!l(_))return;let C=this;return Promise.resolve(_).then(function(V){let L;C._skirtHeight>0?L=ts.getRegularGridAndSkirtIndicesAndEdgeIndices(V.gridWidth,V.gridHeight):L=ts.getRegularGridIndicesAndEdgeIndices(V.gridWidth,V.gridHeight);let Z=V.gridWidth*V.gridHeight;return C._mesh=new im(m,new Float32Array(V.vertices),L.indices,L.indexCountWithoutSkirts,Z,V.minimumHeight,V.maximumHeight,le.clone(V.boundingSphere3D),h.clone(V.occludeePointInScaledSpace),V.numberOfAttributes,Xn.clone(V.orientedBoundingBox),Lc.clone(V.encoding),L.westIndicesSouthToNorth,L.southIndicesEastToWest,L.eastIndicesNorthToSouth,L.northIndicesWestToEast),C._buffer=void 0,C._mesh})};ab.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),d=t.tileXYToRectangle(n,i,o),u=a.cartographicToCartesian(ce.center(d)),m=this._structure,g=ts.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(g*4,1e3);let f=QV.computeVertices({heightmap:this._buffer,structure:m,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:c,rectangle:d,relativeToCenter:u,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ri,exaggeration:r,exaggerationRelativeHeight:s});this._buffer=void 0;let x;this._skirtHeight>0?x=ts.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):x=ts.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let _=f.gridWidth*f.gridHeight;return this._mesh=new im(u,f.vertices,x.indices,x.indexCountWithoutSkirts,_,f.minimumHeight,f.maximumHeight,f.boundingSphere3D,f.occludeePointInScaledSpace,f.encoding.stride,f.orientedBoundingBox,f.encoding,x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),this._mesh};ab.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,d=r.isBigEndian,u=r.heightOffset,m=r.heightScale,p=l(this._mesh),g=this._encoding===tm.LERC;if(!p&&g)return;let x;if(p){let _=this._mesh.vertices,C=this._mesh.encoding;x=Dye(_,C,u,m,e,i,o,t,n)}else x=mut(this._buffer,a,c,s,d,e,i,o,t,n),x=x*m+u;return x};ab.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(a))return;let c=this._width,d=this._height,u=this._structure,m=u.stride,p=new this._bufferType(c*d*m),g=a.vertices,f=a.encoding,x=e.tileXYToRectangle(t,n,i),_=e.tileXYToRectangle(o,r,s),C=u.heightOffset,V=u.heightScale,L=u.elementsPerHeight,Z=u.elementMultiplier,G=u.isBigEndian,I=Math.pow(Z,L-1);for(let v=0;v<d;++v){let P=W.lerp(_.north,_.south,v/(d-1));for(let w=0;w<c;++w){let F=W.lerp(_.west,_.east,w/(c-1)),b=Dye(g,f,C,V,x,c,d,F,P);b=b<u.lowestEncodedHeight?u.lowestEncodedHeight:b,b=b>u.highestEncodedHeight?u.highestEncodedHeight:b,hut(p,L,Z,I,m,G,v*c+w,b)}}return Promise.resolve(new ab({buffer:p,width:c,height:d,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};ab.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};ab.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};function mut(e,t,n,i,o,r,s,a,c,d){let u=(c-r.west)*(s-1)/(r.east-r.west),m=(d-r.south)*(a-1)/(r.north-r.south),p=u|0,g=p+1;g>=s&&(g=s-1,p=s-2);let f=m|0,x=f+1;x>=a&&(x=a-1,f=a-2);let _=u-p,C=m-f;f=a-1-f,x=a-1-x;let V=qD(e,t,n,i,o,f*s+p),L=qD(e,t,n,i,o,f*s+g),Z=qD(e,t,n,i,o,x*s+p),G=qD(e,t,n,i,o,x*s+g);return Bye(_,C,V,L,Z,G)}function Dye(e,t,n,i,o,r,s,a,c){let d=(a-o.west)*(r-1)/(o.east-o.west),u=(c-o.south)*(s-1)/(o.north-o.south),m=d|0,p=m+1;p>=r&&(p=r-1,m=r-2);let g=u|0,f=g+1;f>=s&&(f=s-1,g=s-2);let x=d-m,_=u-g;g=s-1-g,f=s-1-f;let C=(t.decodeHeight(e,g*r+m)-n)/i,V=(t.decodeHeight(e,g*r+p)-n)/i,L=(t.decodeHeight(e,f*r+m)-n)/i,Z=(t.decodeHeight(e,f*r+p)-n)/i;return Bye(x,_,C,V,L,Z)}function Bye(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function qD(e,t,n,i,o,r){r*=i;let s=0,a;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function hut(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c<t-1;++c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;else for(c=t-1;c>0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var Ya=ab;function jV(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Oi({ellipsoid:y(e.ellipsoid,ne.default)})),this._levelZeroMaximumGeometricError=ts.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new be}Object.defineProperties(jV.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});jV.prototype.requestTileGeometry=function(e,t,n,i){return Promise.resolve(new Ya({buffer:new Uint8Array(16*16),width:16,height:16}))};jV.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};jV.prototype.getTileDataAvailable=function(e,t,n){};jV.prototype.loadTileDataAvailability=function(e,t,n){};var UT=jV;var M2i=T(S(),1),PF=`uniform vec4 u_initialColor; - -#if TEXTURE_UNITS > 0 -uniform sampler2D u_dayTextures[TEXTURE_UNITS]; -uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; -uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; - -#ifdef APPLY_ALPHA -uniform float u_dayTextureAlpha[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_DAY_NIGHT_ALPHA -uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; -uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_SPLIT -uniform float u_dayTextureSplit[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_BRIGHTNESS -uniform float u_dayTextureBrightness[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_CONTRAST -uniform float u_dayTextureContrast[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_HUE -uniform float u_dayTextureHue[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_SATURATION -uniform float u_dayTextureSaturation[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_GAMMA -uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C -#ifdef APPLY_INVERT_COLOR_MARS3D -uniform bool u_mars3dTextureInvertColor[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_FILTER_COLOR_MARS3D -uniform vec3 u_mars3dTextureFilterColor[TEXTURE_UNITS]; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - -#ifdef APPLY_IMAGERY_CUTOUT -uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_COLOR_TO_ALPHA -uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; -#endif - -uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; -#endif - -#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) -uniform sampler2D u_waterMask; -uniform vec4 u_waterMaskTranslationAndScale; -uniform float u_zoomedOutOceanSpecularIntensity; -#endif - -#ifdef SHOW_OCEAN_WAVES -uniform sampler2D u_oceanNormalMap; -#endif - -#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) -uniform vec2 u_lightingFadeDistance; -#endif - -#ifdef TILE_LIMIT_RECTANGLE -uniform vec4 u_cartographicLimitRectangle; -#endif - -#ifdef GROUND_ATMOSPHERE -uniform vec2 u_nightFadeDistance; -#endif - -#ifdef ENABLE_CLIPPING_PLANES -uniform highp sampler2D u_clippingPlanes; -uniform mat4 u_clippingPlanesMatrix; -uniform vec4 u_clippingPlanesEdgeStyle; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS -uniform highp sampler2D u_clippingDistance; -in vec2 v_clippingPosition; -flat in int v_regionIndex; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) -uniform float u_minimumBrightness; -#endif - -#ifdef COLOR_CORRECT -uniform vec3 u_hsbShift; // Hue, saturation, brightness -#endif - -#ifdef HIGHLIGHT_FILL_TILE -uniform vec4 u_fillHighlightColor; -#endif - -#ifdef TRANSLUCENT -uniform vec4 u_frontFaceAlphaByDistance; -uniform vec4 u_backFaceAlphaByDistance; -uniform vec4 u_translucencyRectangle; -#endif - -#ifdef UNDERGROUND_COLOR -uniform vec4 u_undergroundColor; -uniform vec4 u_undergroundColorAlphaByDistance; -#endif - -#ifdef ENABLE_VERTEX_LIGHTING -uniform float u_lambertDiffuseMultiplier; -uniform float u_vertexShadowDarkness; -#endif - -in vec3 v_positionMC; -in vec3 v_positionEC; -in vec3 v_textureCoordinates; -in vec3 v_normalMC; -in vec3 v_normalEC; - -#ifdef APPLY_MATERIAL -in float v_height; -in float v_slope; -in float v_aspect; -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) -#ifdef APPLY_MARS3D_FLOOD -uniform bool u_mars_flood_enabled; -uniform bool u_mars_flood_only; -uniform vec4 u_mars_flood_rectangle; -uniform highp sampler2D u_mars_flood_texture; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 -#ifdef APPLY_MARS3D_CLIP -uniform bool u_mars_clip_enabled; -uniform bool u_mars_clip_only; -uniform vec4 u_mars_clip_rectangle; -uniform highp sampler2D u_mars_clip_texture; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 -uniform highp float u_mars_inverseTileWidth; -uniform highp vec2 u_mars_cartographicTileRectangle; - -bool inAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture) { - float lo = v_textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; - float la = v_textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; - - float newX = (lo - rectangle.x) / rectangle.z; - float newY = (la - rectangle.y) / rectangle.w; - - if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ - vec4 point = texture(rangeTexture, vec2(newX, newY)); - return point.r > 0.0; - } - - return false; -} -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -in float v_distance; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) -in vec3 v_atmosphereRayleighColor; -in vec3 v_atmosphereMieColor; -in float v_atmosphereOpacity; -#endif - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 -#ifdef APPLY_MARS3D_UPLIFT -uniform vec4 u_mars_uplift_rectangle; -uniform highp sampler2D u_mars_uplift_texture; -uniform bool u_mars_uplift_enabled; -uniform bool u_mars_uplift_hideInsideOrOutside; -#endif -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 - -#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -float interpolateByDistance(vec4 nearFarScalar, float distance) -{ - float startDistance = nearFarScalar.x; - float startValue = nearFarScalar.y; - float endDistance = nearFarScalar.z; - float endValue = nearFarScalar.w; - float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); - return mix(startValue, endValue, t); -} -#endif - -#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) -vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) -{ - return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); -} -#endif - -#ifdef TRANSLUCENT -bool inTranslucencyRectangle() -{ - return - v_textureCoordinates.x > u_translucencyRectangle.x && - v_textureCoordinates.x < u_translucencyRectangle.z && - v_textureCoordinates.y > u_translucencyRectangle.y && - v_textureCoordinates.y < u_translucencyRectangle.w; -} -#endif - -vec4 sampleAndBlend( - vec4 previousColor, - sampler2D textureToSample, - vec2 tileTextureCoordinates, - vec4 textureCoordinateRectangle, - vec4 textureCoordinateTranslationAndScale, - float textureAlpha, - float textureNightAlpha, - float textureDayAlpha, - float textureBrightness, - float textureContrast, - float textureHue, - float textureSaturation, - float textureOneOverGamma, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - bool textureInvertColor, - vec3 texturefilterColor, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - float split, - vec4 colorToAlpha, - float nightBlend) -{ - // This crazy step stuff sets the alpha to 0.0 if this following condition is true: - // tileTextureCoordinates.s < textureCoordinateRectangle.s || - // tileTextureCoordinates.s > textureCoordinateRectangle.p || - // tileTextureCoordinates.t < textureCoordinateRectangle.t || - // tileTextureCoordinates.t > textureCoordinateRectangle.q - // In other words, the alpha is zero if the fragment is outside the rectangle - // covered by this texture. Would an actual 'if' yield better performance? - vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); - textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; - - alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); - textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; - -#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) - textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); -#endif - - vec2 translation = textureCoordinateTranslationAndScale.xy; - vec2 scale = textureCoordinateTranslationAndScale.zw; - vec2 textureCoordinates = tileTextureCoordinates * scale + translation; - vec4 value = texture(textureToSample, textureCoordinates); - vec3 color = value.rgb; - float alpha = value.a; - -#ifdef APPLY_COLOR_TO_ALPHA - vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); - colorDiff.r = czm_maximumComponent(colorDiff); - alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); -#endif - -#if !defined(APPLY_GAMMA) - vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); - color = tempColor.rgb; - alpha = tempColor.a; -#else - color = pow(color, vec3(textureOneOverGamma)); -#endif - -#ifdef APPLY_SPLIT - float splitPosition = czm_splitPosition; - // Split to the left - if (split < 0.0 && gl_FragCoord.x > splitPosition) { - alpha = 0.0; - } - // Split to the right - else if (split > 0.0 && gl_FragCoord.x < splitPosition) { - alpha = 0.0; - } -#endif - -#ifdef APPLY_BRIGHTNESS - color = mix(vec3(0.0), color, textureBrightness); -#endif - -#ifdef APPLY_CONTRAST - color = mix(vec3(0.5), color, textureContrast); -#endif - -#ifdef APPLY_HUE - color = czm_hue(color, textureHue); -#endif - -#ifdef APPLY_SATURATION - color = czm_saturation(color, textureSaturation); -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C -#ifdef APPLY_INVERT_COLOR_MARS3D - if(textureInvertColor) { - color = vec3(1.0 - color.r, 1.0 - color.g, 1.0 - color.b); - } -#endif - -#ifdef APPLY_FILTER_COLOR_MARS3D - if(texturefilterColor.x != 1.0 || texturefilterColor.y != 1.0 || texturefilterColor.z != 1.0) { - color = vec3(color.r * texturefilterColor.x, color.g * texturefilterColor.y, color.b * texturefilterColor.z); - } -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - - float sourceAlpha = alpha * textureAlpha; - float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); - outAlpha += sign(outAlpha) - 1.0; - - vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; - - // When rendering imagery for a tile in multiple passes, - // some GPU/WebGL implementation combinations will not blend fragments in - // additional passes correctly if their computation includes an unmasked - // divide-by-zero operation, - // even if it's not in the output or if the output has alpha zero. - // - // For example, without sanitization for outAlpha, - // this renders without artifacts: - // if (outAlpha == 0.0) { outColor = vec3(0.0); } - // - // but using czm_branchFreeTernary will cause portions of the tile that are - // alpha-zero in the additional pass to render as black instead of blending - // with the previous pass: - // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); - // - // So instead, sanitize against divide-by-zero, - // store this state on the sign of outAlpha, and correct on return. - - return vec4(outColor, max(outAlpha, 0.0)); -} - -vec3 colorCorrect(vec3 rgb) { -#ifdef COLOR_CORRECT - // Convert rgb color to hsb - vec3 hsb = czm_RGBToHSB(rgb); - // Perform hsb shift - hsb.x += u_hsbShift.x; // hue - hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation - hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness - // Convert shifted hsb back to rgb - rgb = czm_HSBToRGB(hsb); -#endif - return rgb; -} - -vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); -vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); - -const float fExposure = 2.0; - -vec3 computeEllipsoidPosition() -{ - float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); - vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); - xy *= czm_viewport.zw * mpp * 0.5; - - vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); - czm_ray ray = czm_ray(vec3(0.0), direction); - - vec3 ellipsoid_center = czm_view[3].xyz; - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); - - vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); - return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; -} - -void main() -{ - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 -#ifdef APPLY_MARS3D_CLIP - if(u_mars_clip_enabled) { - if(u_mars_clip_only) { - if(!inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { - discard; - } - } else { - if(inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { - discard; - } - } - } -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 - -#ifdef TILE_LIMIT_RECTANGLE - if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || - v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) - { - discard; - } -#endif - -#ifdef ENABLE_CLIPPING_PLANES - float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); -#endif - -#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) - vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates - vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordinates -#endif - -#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) - float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); -#else - float nightBlend = 0.0; -#endif - - // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 - // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the - // fragments on the edges of tiles even though the vertex shader is outputting - // coordinates strictly in the 0-1 range. - vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); - -#ifdef SHOW_TILE_BOUNDARIES - if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || - v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) - { - color = vec4(1.0, 0.0, 0.0, 1.0); - } -#endif - -#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) - float cameraDist; - if (czm_sceneMode == czm_sceneMode2D) - { - cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; - } - else if (czm_sceneMode == czm_sceneModeColumbusView) - { - cameraDist = -czm_view[3].z; - } - else - { - cameraDist = length(czm_view[3]); - } - float fadeOutDist = u_lightingFadeDistance.x; - float fadeInDist = u_lightingFadeDistance.y; - if (czm_sceneMode != czm_sceneMode3D) { - vec3 radii = czm_ellipsoidRadii; - float maxRadii = max(radii.x, max(radii.y, radii.z)); - fadeOutDist -= maxRadii; - fadeInDist -= maxRadii; - } - float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); -#else - float fade = 0.0; -#endif - -#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) - vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; - vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; - vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; - waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; - - float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; - - #ifdef SHOW_REFLECTIVE_OCEAN - if (mask > 0.0) - { - mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); - - vec2 ellipsoidTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC); - vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC.zyx); - - vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); - - color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); - } - #endif -#endif - -#ifdef APPLY_MATERIAL - czm_materialInput materialInput; - materialInput.st = v_textureCoordinates.st; - materialInput.normalEC = normalize(v_normalEC); - materialInput.positionToEyeEC = -v_positionEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); - materialInput.slope = v_slope; - materialInput.height = v_height; - materialInput.aspect = v_aspect; - #ifdef HAS_WATER_MASK - materialInput.waterMask = mask; - #endif - - czm_material material = czm_getMaterial(materialInput); - - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - bool hasAlphaBlend = true; - #ifdef APPLY_MARS3D_FLOOD - hasAlphaBlend = !u_mars_flood_enabled || (u_mars_flood_enabled && inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)); - if(u_mars_flood_enabled) { - if(u_mars_flood_only) { - if(! inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)) { - discard; - } - } - } - #endif - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - - if(hasAlphaBlend) { - vec4 materialColor = vec4(material.diffuse, material.alpha); - color = alphaBlend(materialColor, color); - } - -#endif - -#ifdef ENABLE_VERTEX_LIGHTING - float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); - vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); -#elif defined(ENABLE_DAYNIGHT_SHADING) - float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); - diffuseIntensity = mix(1.0, diffuseIntensity, fade); - vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); -#else - vec4 finalColor = color; -#endif - -#ifdef ENABLE_CLIPPING_PLANES - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; - float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; - - if (clipDistance < clippingPlanesEdgeWidth) - { - finalColor = clippingPlanesEdgeColor; - } -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS - vec2 clippingPosition = v_clippingPosition; - int regionIndex = v_regionIndex; - clipPolygons(u_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); -#endif - -#ifdef HIGHLIGHT_FILL_TILE - finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); -#endif - -#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) - vec3 atmosphereLightDirection = czm_sunDirectionWC; -#else - vec3 atmosphereLightDirection = czm_lightDirectionWC; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) - if (!czm_backFacing()) - { - bool dynamicLighting = false; - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) - dynamicLighting = true; - #endif - - vec3 rayleighColor; - vec3 mieColor; - float opacity; - - vec3 positionWC; - vec3 lightDirection; - - // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. - // Otherwise, the scattering is computed in the vertex shader. - #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE - positionWC = computeEllipsoidPosition(); - lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); - computeAtmosphereScattering( - positionWC, - lightDirection, - rayleighColor, - mieColor, - opacity - ); - #else - positionWC = v_positionMC; - lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); - rayleighColor = v_atmosphereRayleighColor; - mieColor = v_atmosphereMieColor; - opacity = v_atmosphereOpacity; - #endif - - #ifdef COLOR_CORRECT - const bool ignoreBlackPixels = true; - rayleighColor = czm_applyHSBShift(rayleighColor, u_hsbShift, ignoreBlackPixels); - mieColor = czm_applyHSBShift(mieColor, u_hsbShift, ignoreBlackPixels); - #endif - - vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); - - // Fog is applied to tiles selected for fog, close to the Earth. - #ifdef FOG - vec3 fogColor = groundAtmosphereColor.rgb; - - // If there is lighting, apply that to the fog. - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) - float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); - fogColor *= darken; - #endif - - #ifndef HDR - fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); - fogColor.rgb = czm_inverseGamma(fogColor.rgb); - #endif - - const float modifier = 0.15; - finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a); - - #else - // Apply ground atmosphere. This happens when the camera is far away from the earth. - - // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. - // This value is larger near the "circumference", as it is further away from the camera. We use it to - // brighten up that area of the ground atmosphere. - const float transmittanceModifier = 0.5; - float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); - - vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; - - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) - float fadeInDist = u_nightFadeDistance.x; - float fadeOutDist = u_nightFadeDistance.y; - - float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); - float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); - vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); - - finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); - #endif - - #ifndef HDR - finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); - #else - finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); - #endif - - finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); - #endif - } -#endif - -#ifdef UNDERGROUND_COLOR - if (czm_backFacing()) - { - float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); - float distance = max(v_distance - distanceFromEllipsoid, 0.0); - float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); - vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); - finalColor = alphaBlend(undergroundColor, finalColor); - } -#endif - -#ifdef TRANSLUCENT - if (inTranslucencyRectangle()) - { - vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; - finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); - } -#endif - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 -#ifdef APPLY_MARS3D_UPLIFT - if(u_mars_uplift_enabled) { - bool isInSlopeRampRectangle = inAreaMars3DRange(u_mars_uplift_rectangle, u_mars_uplift_texture); - if(isInSlopeRampRectangle == u_mars_uplift_hideInsideOrOutside) { - discard; - } - } -#endif - - out_FragColor = finalColor; -} - - -#ifdef SHOW_REFLECTIVE_OCEAN - -float waveFade(float edge0, float edge1, float x) -{ - float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); - return pow(1.0 - y, 5.0); -} - -float linearFade(float edge0, float edge1, float x) -{ - return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); -} - -// Based on water rendering by Jonas Wagner: -// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog - -// low altitude wave settings -const float oceanFrequencyLowAltitude = 825000.0; -const float oceanAnimationSpeedLowAltitude = 0.004; -const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; -const float oceanSpecularIntensity = 0.5; - -// high altitude wave settings -const float oceanFrequencyHighAltitude = 125000.0; -const float oceanAnimationSpeedHighAltitude = 0.008; -const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; - -vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) -{ - vec3 positionToEyeEC = -positionEyeCoordinates; - float positionToEyeECLength = length(positionToEyeEC); - - // The double normalize below works around a bug in Firefox on Android devices. - vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); - - // Fade out the waves as the camera moves far from the surface. - float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); - -#ifdef SHOW_OCEAN_WAVES - // high altitude waves - float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; - vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); - vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); - - // low altitude waves - time = czm_frameNumber * oceanAnimationSpeedLowAltitude; - noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); - vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); - - // blend the 2 wave layers based on distance to surface - float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); - float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); - vec3 normalTangentSpace = - (highAltitudeFade * normalTangentSpaceHighAltitude) + - (lowAltitudeFade * normalTangentSpaceLowAltitude); - normalTangentSpace = normalize(normalTangentSpace); - - // fade out the normal perturbation as we move farther from the water surface - normalTangentSpace.xy *= waveIntensity; - normalTangentSpace = normalize(normalTangentSpace); -#else - vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); -#endif - - vec3 normalEC = enuToEye * normalTangentSpace; - - const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); - - // Use diffuse light to highlight the waves - float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; - vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); - -#ifdef SHOW_OCEAN_WAVES - // Where diffuse light is low or non-existent, use wave highlights based solely on - // the wave bumpiness and no particular light direction. - float tsPerturbationRatio = normalTangentSpace.z; - vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); -#else - vec3 nonDiffuseHighlight = vec3(0.0); -#endif - - // Add specular highlights in 3D, and in all modes when zoomed in. - float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); - float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); - float specular = specularIntensity * surfaceReflectance; - -#ifdef HDR - specular *= 1.4; - - float e = 0.2; - float d = 3.3; - float c = 1.7; - - vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); -#else - vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; -#endif - - return vec4(color, imageryColor.a); -} - -#endif // #ifdef SHOW_REFLECTIVE_OCEAN -`;var k2i=T(S(),1),vF=`#ifdef QUANTIZATION_BITS12 -in vec4 compressed0; -in float compressed1; -#else -in vec4 position3DAndHeight; -in vec4 textureCoordAndEncodedNormals; -#endif - -#ifdef GEODETIC_SURFACE_NORMALS -in vec3 geodeticSurfaceNormal; -#endif - -#ifdef EXAGGERATION -uniform vec2 u_verticalExaggerationAndRelativeHeight; -#endif - -uniform vec3 u_center3D; -uniform mat4 u_modifiedModelView; -uniform mat4 u_modifiedModelViewProjection; -uniform vec4 u_tileRectangle; - -// Uniforms for 2D Mercator projection -uniform vec2 u_southAndNorthLatitude; -uniform vec2 u_southMercatorYAndOneOverHeight; - -out vec3 v_positionMC; -out vec3 v_positionEC; - -out vec3 v_textureCoordinates; -out vec3 v_normalMC; -out vec3 v_normalEC; - -#ifdef APPLY_MATERIAL -out float v_slope; -out float v_aspect; -out float v_height; -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -out float v_distance; -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) -out vec3 v_atmosphereRayleighColor; -out vec3 v_atmosphereMieColor; -out float v_atmosphereOpacity; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS -uniform highp sampler2D u_clippingExtents; -out vec2 v_clippingPosition; -flat out int v_regionIndex; -#endif - -// These functions are generated at runtime. -vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); -float get2DYPositionFraction(vec2 textureCoordinates); - -vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) -{ - return u_modifiedModelViewProjection * vec4(position, 1.0); -} - -float get2DMercatorYPositionFraction(vec2 textureCoordinates) -{ - // The width of a tile at level 11, in radians and assuming a single root tile, is - // 2.0 * czm_pi / pow(2.0, 11.0) - // We want to just linearly interpolate the 2D position from the texture coordinates - // when we're at this level or higher. The constant below is the expression - // above evaluated and then rounded up at the 4th significant digit. - const float maxTileWidth = 0.003068; - float positionFraction = textureCoordinates.y; - float southLatitude = u_southAndNorthLatitude.x; - float northLatitude = u_southAndNorthLatitude.y; - if (northLatitude - southLatitude > maxTileWidth) - { - float southMercatorY = u_southMercatorYAndOneOverHeight.x; - float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; - - float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); - currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); - positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); - } - return positionFraction; -} - -float get2DGeographicYPositionFraction(vec2 textureCoordinates) -{ - return textureCoordinates.y; -} - -vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) -{ - float yPositionFraction = get2DYPositionFraction(textureCoordinates); - vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); - return u_modifiedModelViewProjection * rtcPosition2D; -} - -vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) -{ - return getPositionPlanarEarth(position, 0.0, textureCoordinates); -} - -vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) -{ - return getPositionPlanarEarth(position, height, textureCoordinates); -} - -vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) -{ - // We do not do RTC while morphing, so there is potential for jitter. - // This is unlikely to be noticeable, though. - vec3 position3DWC = position + u_center3D; - float yPositionFraction = get2DYPositionFraction(textureCoordinates); - vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); - vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); - return czm_modelViewProjection * morphPosition; -} - -#ifdef QUANTIZATION_BITS12 -uniform vec2 u_minMaxHeight; -uniform mat4 u_scaleAndBias; -#endif - - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 -#ifdef APPLY_MARS3D_FLAT -uniform bool u_mars_flat_enabled; -uniform vec4 u_mars_flat_rectangle; -uniform highp sampler2D u_mars_flat_texture; - -uniform highp float u_mars_inverseTileWidth; -uniform highp vec2 u_mars_cartographicTileRectangle; - -vec4 getAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture, vec2 textureCoordinates) { - float lo = textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; - float la = textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; - - float newX = (lo - rectangle.x) / rectangle.z; - float newY = (la - rectangle.y) / rectangle.w; - - vec4 point; - if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ - vec4 point = texture(rangeTexture, vec2(newX, newY)); - return point; - }else{ - return vec4(0.0); - } -} -#endif -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 - - -void main() -{ -#ifdef QUANTIZATION_BITS12 - vec2 xy = czm_decompressTextureCoordinates(compressed0.x); - vec2 zh = czm_decompressTextureCoordinates(compressed0.y); - vec3 position = vec3(xy, zh.x); - float height = zh.y; - vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); - - height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; - position = (u_scaleAndBias * vec4(position, 1.0)).xyz; - -#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y) || defined(APPLY_MATERIAL) - float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; - float encodedNormal = compressed1; -#elif defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; - float encodedNormal = 0.0; -#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) - float webMercatorT = textureCoordinates.y; - float encodedNormal = compressed0.w; -#else - float webMercatorT = textureCoordinates.y; - float encodedNormal = 0.0; -#endif - -#else - // A single float per element - vec3 position = position3DAndHeight.xyz; - float height = position3DAndHeight.w; - vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; - -#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = textureCoordAndEncodedNormals.z; - float encodedNormal = textureCoordAndEncodedNormals.w; -#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) - float webMercatorT = textureCoordinates.y; - float encodedNormal = textureCoordAndEncodedNormals.z; -#elif defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = textureCoordAndEncodedNormals.z; - float encodedNormal = 0.0; -#else - float webMercatorT = textureCoordinates.y; - float encodedNormal = 0.0; -#endif - -#endif - - vec3 position3DWC = position + u_center3D; - -#ifdef GEODETIC_SURFACE_NORMALS - vec3 ellipsoidNormal = geodeticSurfaceNormal; -#else - vec3 ellipsoidNormal = normalize(position3DWC); -#endif - -#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) - float exaggeration = u_verticalExaggerationAndRelativeHeight.x; - float relativeHeight = u_verticalExaggerationAndRelativeHeight.y; - float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; - - // stop from going through center of earth - float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); - newHeight = max(newHeight, -minRadius); - - vec3 offset = ellipsoidNormal * (newHeight - height); - position += offset; - position3DWC += offset; - height = newHeight; -#endif - - // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 -#ifdef APPLY_MARS3D_FLAT - if(u_mars_flat_enabled) { - vec4 isInside = getAreaMars3DRange(u_mars_flat_rectangle,u_mars_flat_texture,textureCoordinates); - if(isInside.r>0.0 || isInside.g>0.0 || isInside.b>0.0 || isInside.a>0.0){ - float newHeight = czm_unpackFloat(isInside); - if(newHeight>-9999.0 && newHeight<9999.0){ - vec3 offset = (newHeight - height) * ellipsoidNormal; - position += offset; - position3DWC += offset; - height = newHeight; - // vec3 newPosition = (position3DWC + offset) - u_center3D; - } - } - } -#endif - // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 - - gl_Position = getPosition(position, height, textureCoordinates); - - v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; - v_positionMC = position3DWC; // position in model coordinates - - v_textureCoordinates = vec3(textureCoordinates, webMercatorT); - -#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) - vec3 normalMC = czm_octDecode(encodedNormal); - -#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) - vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; - vec3 rejection = normalMC - projection; - normalMC = normalize(projection + rejection * exaggeration); -#endif - - v_normalMC = normalMC; - v_normalEC = czm_normal3D * v_normalMC; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS - vec2 sphericalLatLong = czm_approximateSphericalCoordinates(position3DWC); - sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); - - vec2 minDistance = vec2(czm_infinity); - v_clippingPosition = vec2(czm_infinity); - v_regionIndex = -1; - - for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { - vec4 extents = unpackClippingExtents(u_clippingExtents, regionIndex); - vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; - - vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); - vec2 distance = abs(rectUv - clamped) * extents.wz; - - float threshold = 0.01; - if (minDistance.x > distance.x || minDistance.y > distance.y) { - minDistance = distance; - v_clippingPosition = rectUv; - if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { - v_regionIndex = regionIndex; - } - } - } -#endif - -#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) - - bool dynamicLighting = false; - - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) - dynamicLighting = true; - #endif - -#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) - vec3 atmosphereLightDirection = czm_sunDirectionWC; -#else - vec3 atmosphereLightDirection = czm_lightDirectionWC; -#endif - - vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); - - computeAtmosphereScattering( - position3DWC, - lightDirection, - v_atmosphereRayleighColor, - v_atmosphereMieColor, - v_atmosphereOpacity - ); -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) - v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); -#endif - -#ifdef APPLY_MATERIAL - float northPoleZ = czm_ellipsoidRadii.z; - vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); - vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); - float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); - v_slope = acos(dotProd); - vec3 normalRejected = ellipsoidNormal * dotProd; - vec3 normalProjected = v_normalMC - normalRejected; - vec3 aspectVector = normalize(normalProjected); - v_aspect = acos(dot(aspectVector, vectorEastMC)); - float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); - v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); - v_height = height; -#endif -} -`;var D2i=T(S(),1),cb=`uniform vec3 u_radiiAndDynamicAtmosphereColor; - -uniform float u_atmosphereLightIntensity; -uniform float u_atmosphereRayleighScaleHeight; -uniform float u_atmosphereMieScaleHeight; -uniform float u_atmosphereMieAnisotropy; -uniform vec3 u_atmosphereRayleighCoefficient; -uniform vec3 u_atmosphereMieCoefficient; - -const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. -const int PRIMARY_STEPS_MAX = 16; // Maximum number of times the ray from the camera to the world position (primary ray) is sampled. -const int LIGHT_STEPS_MAX = 4; // Maximum number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - -/** - * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as - * the transmittance value for the ray. - * - * @param {czm_ray} primaryRay The ray from the camera to the position. - * @param {float} primaryRayLength The length of the primary ray. - * @param {vec3} lightDirection The direction of the light to calculate the scattering from. - * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. - * @param {vec3} mieColor The variable the Mie scattering will be written to. - * @param {float} opacity The variable the transmittance will be written to. - * @glslFunction - */ -void computeScattering( - czm_ray primaryRay, - float primaryRayLength, - vec3 lightDirection, - float atmosphereInnerRadius, - out vec3 rayleighColor, - out vec3 mieColor, - out float opacity -) { - - // Initialize the default scattering amounts to 0. - rayleighColor = vec3(0.0); - mieColor = vec3(0.0); - opacity = 0.0; - - float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - - vec3 origin = vec3(0.0); - - // Calculate intersection from the camera to the outer ring of the atmosphere. - czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); - - // Return empty colors if no intersection with the atmosphere geometry. - if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { - return; - } - - // To deal with smaller values of PRIMARY_STEPS (e.g. 4) - // we implement a split strategy: sky or horizon. - // For performance reasons, instead of a if/else branch - // a soft choice is implemented through a weight 0.0 <= w_stop_gt_lprl <= 1.0 - float x = 1e-7 * primaryRayAtmosphereIntersect.stop / length(primaryRayLength); - // Value close to 0.0: close to the horizon - // Value close to 1.0: above in the sky - float w_stop_gt_lprl = 0.5 * (1.0 + czm_approximateTanh(x)); - - // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. - float start_0 = primaryRayAtmosphereIntersect.start; - primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); - // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. - primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); - - // For the number of ray steps, distinguish inside or outside atmosphere (outer space) - // (1) from outer space we have to use more ray steps to get a realistic rendering - // (2) within atmosphere we need fewer steps for faster rendering - float x_o_a = start_0 - ATMOSPHERE_THICKNESS; // ATMOSPHERE_THICKNESS used as an ad-hoc constant, no precise meaning here, only the order of magnitude matters - float w_inside_atmosphere = 1.0 - 0.5 * (1.0 + czm_approximateTanh(x_o_a)); - int PRIMARY_STEPS = PRIMARY_STEPS_MAX - int(w_inside_atmosphere * 12.0); // Number of times the ray from the camera to the world position (primary ray) is sampled. - int LIGHT_STEPS = LIGHT_STEPS_MAX - int(w_inside_atmosphere * 2.0); // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - - // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. - float rayPositionLength = primaryRayAtmosphereIntersect.start; - // (1) Outside the atmosphere: constant rayStepLength - // (2) Inside atmosphere: variable rayStepLength to compensate the rough rendering of the smaller number of ray steps - float totalRayLength = primaryRayAtmosphereIntersect.stop - rayPositionLength; - float rayStepLengthIncrease = w_inside_atmosphere * ((1.0 - w_stop_gt_lprl) * totalRayLength / (float(PRIMARY_STEPS * (PRIMARY_STEPS + 1)) / 2.0)); - float rayStepLength = max(1.0 - w_inside_atmosphere, w_stop_gt_lprl) * totalRayLength / max(7.0 * w_inside_atmosphere, float(PRIMARY_STEPS)); - - vec3 rayleighAccumulation = vec3(0.0); - vec3 mieAccumulation = vec3(0.0); - vec2 opticalDepth = vec2(0.0); - vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); - - // Sample positions on the primary ray. - for (int i = 0; i < PRIMARY_STEPS_MAX; ++i) { - - // The loop should be: for (int i = 0; i < PRIMARY_STEPS; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (i >= PRIMARY_STEPS) { - break; - } - - // Calculate sample position along viewpoint ray. - vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); - - // Calculate height of sample position above ellipsoid. - float sampleHeight = length(samplePosition) - atmosphereInnerRadius; - - // Calculate and accumulate density of particles at the sample position. - vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; - opticalDepth += sampleDensity; - - // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. - czm_ray lightRay = czm_ray(samplePosition, lightDirection); - czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); - - float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); - float lightPositionLength = 0.0; - - vec2 lightOpticalDepth = vec2(0.0); - - // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. - for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { - - // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (j >= LIGHT_STEPS) { - break; - } - - // Calculate sample position along light ray. - vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); - - // Calculate height of the light sample position above ellipsoid. - float lightHeight = length(lightPosition) - atmosphereInnerRadius; - - // Calculate density of photons at the light sample position. - lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; - - // Increment distance on light ray. - lightPositionLength += lightStepLength; - } - - // Compute attenuation via the primary ray and the light ray. - vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); - - // Accumulate the scattering. - rayleighAccumulation += sampleDensity.x * attenuation; - mieAccumulation += sampleDensity.y * attenuation; - - // Increment distance on primary ray. - rayPositionLength += (rayStepLength += rayStepLengthIncrease); - } - - // Compute the scattering amount. - rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; - mieColor = u_atmosphereMieCoefficient * mieAccumulation; - - // Compute the transmittance i.e. how much light is passing through the atmosphere. - opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); -} - -vec4 computeAtmosphereColor( - vec3 positionWC, - vec3 lightDirection, - vec3 rayleighColor, - vec3 mieColor, - float opacity -) { - // Setup the primary ray: from the camera position to the vertex position. - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - - float cosAngle = dot(cameraToPositionWCDirection, lightDirection); - float cosAngleSq = cosAngle * cosAngle; - - float G = u_atmosphereMieAnisotropy; - float GSq = G * G; - - // The Rayleigh phase function. - float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); - // The Mie phase function. - float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); - - // The final color is generated by combining the effects of the Rayleigh and Mie scattering. - vec3 rayleigh = rayleighPhase * rayleighColor; - vec3 mie = miePhase * mieColor; - - vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; - - return vec4(color, opacity); -} -`;var O2i=T(S(),1),qV=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { - - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); - - float atmosphereInnerRadius = length(positionWC); - - computeScattering( - primaryRay, - length(cameraToPositionWC), - lightDirection, - atmosphereInnerRadius, - rayleighColor, - mieColor, - opacity - ); -} -`;var q2i=T(S(),1);function fut(e,t,n,i,o,r){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o,this.clippingPolygonShaderState=r}function Nj(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function put(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case oe.SCENE3D:o=t;break;case oe.SCENE2D:case oe.COLUMBUS_VIEW:o=n;break;case oe.MORPHING:o=i;break}return o}function but(e){return e.webgl2?`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { - czm_clipPolygons(clippingDistance, regionsLength, clippingPosition, regionIndex); - }`:`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { - }`}function gut(e){return e.webgl2?`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { - return czm_unpackClippingExtents(extentsTexture, index); - }`:`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { - return vec4(); - }`}function yut(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}Nj.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,d=e.applyAlpha,u=e.applyDayNightAlpha,m=e.applySplit,p=e.hasWaterMask,g=e.showReflectiveOcean,f=e.showOceanWaves,x=e.enableLighting,_=e.dynamicAtmosphereLighting,C=e.dynamicAtmosphereLightingFromSun,V=e.showGroundAtmosphere,L=e.perFragmentGroundAtmosphere,Z=e.hasVertexNormals,G=e.useWebMercatorProjection,I=e.enableFog,v=e.enableClippingPlanes,P=e.clippingPlanes,w=e.enableClippingPolygons,F=e.clippingPolygons,b=e.clippedByBoundaries,R=e.hasImageryLayerCutout,E=e.colorCorrect,X=e.highlightFillTile,A=e.colorToAlpha,N=e.hasGeodeticSurfaceNormals,O=e.hasExaggeration,U=e.showUndergroundColor,Y=e.translucent,k=e.marsOptions||{},J=0,z="",H=n.renderedMesh.encoding;H.quantization===ea.BITS12&&(J=1,z="QUANTIZATION_BITS12");let ee=0,pe="";b&&(ee=1,pe="TILE_LIMIT_RECTANGLE");let _e=0,ae="";R&&(_e=1,ae="APPLY_IMAGERY_CUTOUT");let ye=t.mode,Te=ye|o<<2|r<<3|s<<4|a<<5|c<<6|d<<7|p<<8|g<<9|f<<10|x<<11|_<<12|C<<13|V<<14|L<<15|Z<<16|G<<17|I<<18|J<<19|m<<20|v<<21|w<<22|ee<<23|_e<<24|E<<25|X<<26|A<<27|N<<28|O<<29|U<<30|Y<<31|u<<32,Ie=0;l(P)&&P.length>0&&(Ie=v?P.clippingPlanesState:0);let Ee=0;l(F)&&F.length>0&&(Ee=w?F.clippingPolygonsState:0);let ve=n.surfaceShader;if(l(ve)&&ve.numberOfDayTextures===i&&ve.flags===Te&&ve.material===this.material&&ve.clippingShaderState===Ie&&ve.clippingPolygonShaderState===Ee)return ve.shaderProgram;let we=this._shadersByTexturesFlags[i];if(l(we)||(we=this._shadersByTexturesFlags[i]=[]),ve=we[Te],!l(ve)||ve.material!==this.material||ve.clippingShaderState!==Ie||ve.clippingPolygonShaderState!==Ee){let pt=this.baseVertexShaderSource.clone(),rt=this.baseFragmentShaderSource.clone();Ie!==0&&rt.sources.unshift(tb(P,t.context)),Ee!==0&&(rt.sources.unshift(but(t.context)),pt.sources.unshift(gut(t.context))),k.enableUplift&&rt.defines.push("APPLY_MARS3D_UPLIFT"),k.enableFlat&&pt.defines.push("APPLY_MARS3D_FLAT"),k.enableClip&&rt.defines.push("APPLY_MARS3D_CLIP"),k.enableFlood&&rt.defines.push("APPLY_MARS3D_FLOOD"),pt.defines.push(z),rt.defines.push(`TEXTURE_UNITS ${i}`,pe,ae),o&&rt.defines.push("APPLY_BRIGHTNESS"),r&&rt.defines.push("APPLY_CONTRAST"),s&&rt.defines.push("APPLY_HUE"),a&&rt.defines.push("APPLY_SATURATION"),c&&rt.defines.push("APPLY_GAMMA"),k.invertColor&&rt.defines.push("APPLY_INVERT_COLOR_MARS3D"),k.filterColor&&rt.defines.push("APPLY_FILTER_COLOR_MARS3D"),d&&rt.defines.push("APPLY_ALPHA"),u&&rt.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&rt.defines.push("HAS_WATER_MASK"),g&&(rt.defines.push("SHOW_REFLECTIVE_OCEAN"),pt.defines.push("SHOW_REFLECTIVE_OCEAN")),f&&rt.defines.push("SHOW_OCEAN_WAVES"),A&&rt.defines.push("APPLY_COLOR_TO_ALPHA"),U&&(pt.defines.push("UNDERGROUND_COLOR"),rt.defines.push("UNDERGROUND_COLOR")),Y&&(pt.defines.push("TRANSLUCENT"),rt.defines.push("TRANSLUCENT")),x&&(Z?(pt.defines.push("ENABLE_VERTEX_LIGHTING"),rt.defines.push("ENABLE_VERTEX_LIGHTING")):(pt.defines.push("ENABLE_DAYNIGHT_SHADING"),rt.defines.push("ENABLE_DAYNIGHT_SHADING"))),_&&(pt.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),rt.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),C&&(pt.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),rt.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),V&&(pt.defines.push("GROUND_ATMOSPHERE"),rt.defines.push("GROUND_ATMOSPHERE"),L&&(pt.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),rt.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),pt.defines.push("INCLUDE_WEB_MERCATOR_Y"),rt.defines.push("INCLUDE_WEB_MERCATOR_Y"),I&&(pt.defines.push("FOG"),rt.defines.push("FOG")),m&&rt.defines.push("APPLY_SPLIT"),v&&rt.defines.push("ENABLE_CLIPPING_PLANES"),w&&(rt.defines.push("ENABLE_CLIPPING_POLYGONS"),pt.defines.push("ENABLE_CLIPPING_POLYGONS"),F.inverse&&rt.defines.push("CLIPPING_INVERSE"),rt.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${F.extentsCount}`),pt.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${F.extentsCount}`)),E&&rt.defines.push("COLOR_CORRECT"),X&&rt.defines.push("HIGHLIGHT_FILL_TILE"),N&&pt.defines.push("GEODETIC_SURFACE_NORMALS"),O&&pt.defines.push("EXAGGERATION");let Rt=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) - { - vec4 color = initialColor; -`;R&&(Rt+=` vec4 cutoutAndColorResult; - bool texelUnclipped; -`);for(let ke=0;ke<i;++ke)R?Rt+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${ke}]; - texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y; - cutoutAndColorResult = sampleAndBlend( -`:Rt+=` color = sampleAndBlend( -`,Rt+=` color, - u_dayTextures[${ke}], - u_dayTextureUseWebMercatorT[${ke}] ? textureCoordinates.xz : textureCoordinates.xy, - u_dayTextureTexCoordsRectangle[${ke}], - u_dayTextureTranslationAndScale[${ke}], - ${d?`u_dayTextureAlpha[${ke}]`:"1.0"}, - ${u?`u_dayTextureNightAlpha[${ke}]`:"1.0"}, -${u?`u_dayTextureDayAlpha[${ke}]`:"1.0"}, -${o?`u_dayTextureBrightness[${ke}]`:"0.0"}, - ${r?`u_dayTextureContrast[${ke}]`:"0.0"}, - ${s?`u_dayTextureHue[${ke}]`:"0.0"}, - ${a?`u_dayTextureSaturation[${ke}]`:"0.0"}, - ${c?`u_dayTextureOneOverGamma[${ke}]`:"0.0"}, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - ${k.invertColor?`u_mars3dTextureInvertColor[${ke}]`:"false"}, - ${k.filterColor?`u_mars3dTextureFilterColor[${ke}]`:"vec3(1.0)"}, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - ${m?`u_dayTextureSplit[${ke}]`:"0.0"}, - ${A?`u_colorsToAlpha[${ke}]`:"vec4(0.0)"}, - nightBlend ); -`,R&&(Rt+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color); -`);Rt+=` return color; - }`,rt.sources.push(Rt),pt.sources.push(put(ye)),pt.sources.push(yut(G));let Fe=cn.fromCache({context:t.context,vertexShaderSource:pt,fragmentShaderSource:rt,attributeLocations:H.getAttributeLocations()});ve=we[Te]=new fut(i,Te,this.material,Fe,Ie,Ee)}return n.surfaceShader=ve,ve.shaderProgram};Nj.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!l(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],l(t)&&t.shaderProgram.destroy())}return me(this)};var wF=Nj;var aFi=T(S(),1);var ePi=T(S(),1),xut={NONE:-1,PARTIAL:0,FULL:1},pr=Object.freeze(xut);var wPi=T(S(),1);var nPi=T(S(),1),_ut={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},qn=Object.freeze(_ut);var oPi=T(S(),1),Tut={START:0,LOADING:1,DONE:2,FAILED:3},ta=Object.freeze(Tut);var sPi=T(S(),1),Sut={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},lo=Object.freeze(Sut);function or(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new se(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=lo.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new le,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(or.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===lo.RECEIVING||e===lo.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!l(s.loadingImagery)||s.loadingImagery.state!==qn.TRANSITIONING}return n}},renderedMesh:{get:function(){if(l(this.vertexArray))return this.mesh;if(l(this.fill))return this.fill.mesh}}});var Cut=new he;function kj(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(l(t)&&t!==oe.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,Cut);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var Vut=new h,Lut=new h,Rut=new h;or.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!l(r))return;let s=r.vertices,a=r.indices,c=r.encoding,d=a.length,u=Number.MAX_VALUE;for(let m=0;m<d;m+=3){let p=a[m],g=a[m+1],f=a[m+2],x=kj(c,t,n,s,p,Vut),_=kj(c,t,n,s,g,Lut),C=kj(c,t,n,s,f,Rut),V=ei.rayTriangleParametric(e,x,_,C,i);l(V)&&V<u&&V>=0&&(u=V)}return u!==Number.MAX_VALUE?gn.getPoint(e,u,o):void 0};or.prototype.freeResources=function(){l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=lo.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};or.prototype.freeVertexArray=function(){or._freeVertexArray(this.vertexArray),this.vertexArray=void 0,or._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};or.initialize=function(e,t,n){let i=e.data;l(i)||(i=e.data=new or),e.state===ta.START&&(Zut(e,t,n),e.state=ta.LOADING)};or.processStateMachine=function(e,t,n,i,o,r,s){or.initialize(e,n,i);let a=e.data;if(e.state===ta.LOADING&&Gut(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=l(a.vertexArray);let d=a.terrainState===lo.READY;e.upsampledFromParent=l(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let u=a.processImagery(e,n,t);if(d&&u){let m=e._loadedCallbacks,p={};for(let g in m)m.hasOwnProperty(g)&&(m[g](e)||(p[g]=m[g]));e._loadedCallbacks=p,e.state=ta.DONE}c&&(e.renderable=!0)};or.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,d,u;for(d=0,u=c.length;d<u;++d){let m=c[d];if(!l(m.loadingImagery)){r=!1;continue}if(m.loadingImagery.state===qn.PLACEHOLDER){let g=m.loadingImagery.imageryLayer;if(g.ready){m.freeResources(),c.splice(d,1),g._createTileImagerySkeletons(e,t,d),--d,u=c.length;continue}else r=!1}let p=m.processStateMachine(e,n,i);a=a&&p,s=s||p||l(m.readyImagery),r=r&&l(m.loadingImagery)&&(m.loadingImagery.state===qn.FAILED||m.loadingImagery.state===qn.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function Oye(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=Lc.clone(s);c.hasGeodeticSurfaceNormals=t,c=Lc.clone(c);let d=c.stride,u=new Float32Array(a*d);t?s.addGeodeticSurfaceNormals(r,u,n):s.removeGeodeticSurfaceNormals(r,u),o.vertices=u,o.stride=d,o!==e.mesh?(or._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=or._createVertexArrayForMesh(i.context,o)):(or._freeVertexArray(e.vertexArray),e.vertexArray=or._createVertexArrayForMesh(i.context,o)),or._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}or.prototype.addGeodeticSurfaceNormals=function(e,t){Oye(this,!0,e,t)};or.prototype.removeGeodeticSurfaceNormals=function(e){Oye(this,!1,void 0,e)};or.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.verticalExaggeration,s=t.verticalExaggerationRelativeHeight,a=r!==1,c=o.encoding,d=c.exaggeration!==r,u=c.exaggerationRelativeHeight!==s;if(d||u){if(d)if(a&&!c.hasGeodeticSurfaceNormals){let m=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(m,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let m=e.customData,p=m.length;for(let g=0;g<p;g++){let f=m[g];f.level=-1}}}};function Zut(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!l(i)&&l(e.parent)){let o=e.parent,r=o.data;l(r)&&l(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=lo.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function Gut(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===lo.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||or.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===lo.FAILED&&Eut(s,e,t,n,e.x,e.y,e.level),s.terrainState===lo.UNLOADED&&Iut(s,n,e.x,e.y,e.level),s.terrainState===lo.RECEIVED&&Wut(s,t,n,e.x,e.y,e.level),s.terrainState===lo.TRANSFORMED&&(Put(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=lo.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)wut(t.context,s);else{let d=s._findAncestorTileWithTerrainData(e);l(d)&&l(d.data.waterMaskTexture)&&(s.waterMaskTexture=d.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,d,s.waterMaskTranslationAndScale))}}function Eut(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=ta.FAILED;return}let c=a.data.terrainData,d=a.x,u=a.y,m=a.level;if(!l(c))return;let p=c.upsample(i.tilingScheme,d,u,m,o,r,s);l(p)&&(e.terrainState=lo.RECEIVING,Promise.resolve(p).then(function(g){l(g)&&(e.terrainData=g,e.terrainState=lo.RECEIVED)}).catch(function(){e.terrainState=lo.FAILED}))}function Iut(e,t,n,i,o){function r(c){if(!l(c)){e.terrainState=lo.UNLOADED,e.request=void 0;return}e.terrainData=c,e.terrainState=lo.RECEIVED,e.request=void 0}function s(c){if(e.request.state===$n.CANCELLED){e.terrainData=void 0,e.terrainState=lo.UNLOADED,e.request=void 0;return}e.terrainState=lo.FAILED,e.request=void 0;let d=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=Ro.reportError(t._requestError,t,t.errorEvent,d,n,i,o),t._requestError.retry&&a()}function a(){let c=new Ko({throttle:!1,throttleByServer:!0,type:ss.TERRAIN});e.request=c;let d=t.requestTileGeometry(n,i,o,c);l(d)?(e.terrainState=lo.RECEIVING,Promise.resolve(d).then(function(u){r(u)}).catch(function(u){s(u)})):(e.terrainState=lo.UNLOADED,e.request=void 0)}a()}var Xut={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function Wut(e,t,n,i,o,r){let s=n.tilingScheme,a=Xut;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.verticalExaggeration,a.exaggerationRelativeHeight=t.verticalExaggerationRelativeHeight,a.throttle=!0;let d=e.terrainData.createMesh(a);l(d)&&(e.terrainState=lo.TRANSFORMING,Promise.resolve(d).then(function(u){e.mesh=u,e.terrainState=lo.TRANSFORMED}).catch(function(){e.terrainState=lo.FAILED}))}or._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=xt.createVertexBuffer({context:e,typedArray:n,usage:Ue.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!l(s)||s.isDestroyed()){let a=t.indices;s=xt.createIndexBuffer({context:e,typedArray:a,usage:Ue.STATIC_DRAW,indexDatatype:Ne.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new hi({context:e,attributes:o,indexBuffer:s})};or._freeVertexArray=function(e){if(l(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),l(t)&&!t.isDestroyed()&&l(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function Put(e,t,n,i,o,r,s){e.vertexArray=or._createVertexArrayForMesh(t,e.mesh),e.terrainState=lo.READY,e.fill=e.fill&&e.fill.destroy(s)}function vut(e){let t=e.cache.tile_waterMaskData;if(!l(t)){let n=wt.create({context:e,pixelFormat:dt.LUMINANCE,pixelDatatype:it.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new nn({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:tn.LINEAR,magnificationFilter:mi.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function wut(e,t){let n=t.terrainData.waterMask,i=vut(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=wt.create({context:e,pixelFormat:dt.LUMINANCE,pixelDatatype:it.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,se.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}or.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;l(t)&&(!l(t.data)||!l(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};or.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var om=or;var vvi=T(S(),1);var APi=T(S(),1),FF=`uniform sampler2D u_texture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = texture(u_texture, v_textureCoordinates); -} -`;var NPi=T(S(),1),AF=`in vec4 position; -in float webMercatorT; - -uniform vec2 u_textureDimensions; - -out vec2 v_textureCoordinates; - -void main() -{ - v_textureCoordinates = vec2(position.x, webMercatorT); - gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); -} -`;var OPi=T(S(),1);function $V(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=qn.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!l(o)&&e.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}$V.createPlaceholder=function(e){let t=new $V(e,0,0,0);return t.addReference(),t.state=qn.PLACEHOLDER,t};$V.prototype.addReference=function(){++this.referenceCount};$V.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),l(this.parent)&&this.parent.releaseReference(),l(this.image)&&l(this.image.destroy)&&this.image.destroy(),l(this.texture)&&this.texture.destroy(),l(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),me(this),0):this.referenceCount};$V.prototype.processStateMachine=function(e,t,n){this.state===qn.UNLOADED&&!n&&(this.state=qn.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===qn.RECEIVED&&(this.state=qn.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===qn.READY&&t&&!this.texture;(this.state===qn.TEXTURE_LOADED||i)&&(this.state=qn.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var eL=$V;var KPi=T(S(),1);function Uj(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}Uj.prototype.freeResources=function(){l(this.readyImagery)&&this.readyImagery.releaseReference(),l(this.loadingImagery)&&this.loadingImagery.releaseReference()};Uj.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===qn.READY)return l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;l(r)&&(r.state!==qn.READY||!this.useWebMercatorT&&!l(r.texture));)r.state!==qn.FAILED&&r.state!==qn.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,l(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===qn.FAILED||i.state===qn.INVALID?l(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var tL=Uj;function Ti(e,t){this._imageryProvider=e,this._readyEvent=new be,this._errorEvent=new be,t=y(t,y.EMPTY_OBJECT),e=y(e,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e._defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e._defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e._defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e._defaultBrightness,Ti.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e._defaultContrast,Ti.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e._defaultHue,Ti.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e._defaultSaturation,Ti.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e._defaultGamma,Ti.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,Ti.DEFAULT_SPLIT),this.minificationFilter=y(t.minificationFilter,y(e._defaultMinificationFilter,Ti.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e._defaultMagnificationFilter,Ti.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,ce.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new tL(eL.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,Ti.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD),this._marsOptions=y(t.marsOptions,{}),this._initByMars3D&&this._initByMars3D(e,t)}Object.defineProperties(Ti.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return l(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});Ti.DEFAULT_BRIGHTNESS=1;Ti.DEFAULT_CONTRAST=1;Ti.DEFAULT_HUE=0;Ti.DEFAULT_SATURATION=1;Ti.DEFAULT_GAMMA=1;Ti.DEFAULT_SPLIT=Wr.NONE;Ti.DEFAULT_MINIFICATION_FILTER=tn.LINEAR;Ti.DEFAULT_MAGNIFICATION_FILTER=mi.LINEAR;Ti.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;Ti.fromProviderAsync=function(e,t){let n=new Ti(void 0,t);return kut(n,Promise.resolve(e)),n};Ti.fromWorldImagery=function(e){return e=y(e,y.EMPTY_OBJECT),Ti.fromProviderAsync(sb({style:e.style}),e)};Ti.prototype.isBaseLayer=function(){return this._isBaseLayer};Ti.prototype.isDestroyed=function(){return!1};Ti.prototype.destroy=function(){return me(this)};var Hye=new ce,Yye=new ce,Dj=new ce,Kye=new ce;Ti.prototype.getImageryRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return ce.intersection(e.rectangle,t)};Ti.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(!l(t)||l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;l(n)||(n=i.imagery.length);let o=this._imageryProvider;if(!this.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Zi&&e.rectangle.north<Zi.MaximumLatitude&&e.rectangle.south>-Zi.MaximumLatitude,s=ce.intersection(o.rectangle,this._rectangle,Hye),a=ce.intersection(e.rectangle,s,Yye);if(!l(a)){if(!this.isBaseLayer())return!1;let E=s,X=e.rectangle;a=Yye,X.south>=E.north?a.north=a.south=E.north:X.north<=E.south?a.north=a.south=E.south:(a.south=Math.max(X.south,E.south),a.north=Math.min(X.north,E.north)),X.west>=E.east?a.west=a.east=E.east:X.east<=E.west?a.west=a.east=E.west:(a.west=Math.max(X.west,E.west),a.east=Math.min(X.east,E.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let u=1*t.getLevelMaximumGeometricError(e.level),m=Mut(this,u,c);m=Math.max(0,m);let p=o.maximumLevel;if(m>p&&(m=p),l(o.minimumLevel)){let E=o.minimumLevel;m<E&&(m=E)}let g=o.tilingScheme,f=g.positionToTileXY(ce.northwest(a),m),x=g.positionToTileXY(ce.southeast(a),m),_=e.rectangle.width/512,C=e.rectangle.height/512,V=g.tileXYToRectangle(f.x,f.y,m);Math.abs(V.south-e.rectangle.north)<C&&f.y<x.y&&++f.y,Math.abs(V.east-e.rectangle.west)<_&&f.x<x.x&&++f.x;let L=g.tileXYToRectangle(x.x,x.y,m);Math.abs(L.north-e.rectangle.south)<C&&x.y>f.y&&--x.y,Math.abs(L.west-e.rectangle.east)<_&&x.x>f.x&&--x.x;let Z=ce.clone(e.rectangle,Kye),G=g.tileXYToRectangle(f.x,f.y,m),I=ce.intersection(G,s,Dj),v;r?(g.rectangleToNativeRectangle(Z,Z),g.rectangleToNativeRectangle(G,G),g.rectangleToNativeRectangle(I,I),g.rectangleToNativeRectangle(s,s),v=g.tileXYToNativeRectangle.bind(g),_=Z.width/512,C=Z.height/512):v=g.tileXYToRectangle.bind(g);let P,w=0,F=1,b;!this.isBaseLayer()&&Math.abs(I.west-Z.west)>=_&&(w=Math.min(1,(I.west-Z.west)/Z.width)),!this.isBaseLayer()&&Math.abs(I.north-Z.north)>=C&&(F=Math.max(0,(I.north-Z.south)/Z.height));let R=F;for(let E=f.x;E<=x.x;E++)if(P=w,G=v(E,f.y,m),I=ce.simpleIntersection(G,s,Dj),!!l(I)){w=Math.min(1,(I.east-Z.west)/Z.width),E===x.x&&(this.isBaseLayer()||Math.abs(I.east-Z.east)<_)&&(w=1),F=R;for(let X=f.y;X<=x.y;X++){if(b=F,G=v(E,X,m),I=ce.simpleIntersection(G,s,Dj),!l(I))continue;F=Math.max(0,(I.south-Z.south)/Z.height),X===x.y&&(this.isBaseLayer()||Math.abs(I.south-Z.south)<C)&&(F=0);let A=new se(P,F,w,b),N=this.getImageryFromCache(E,X,m);i.imagery.splice(n,0,new tL(N,A,r)),++n}}return!0};Ti.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,Hye),i=c.rectangleToNativeRectangle(i,Kye)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new se(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};Ti.prototype._requestImagery=function(e){if(l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return e.state=qn.FAILED,e.request=void 0,!1;if(l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return e.state=qn.FAILED,e.request=void 0,!1;let t=this._imageryProvider,n=this;function i(s){if(!l(s))return o();e.image=s,e.state=qn.RECEIVED,e.request=void 0,Ro.reportSuccess(n._requestImageError),n._marsOptions.onAddTileSuccess&&n._marsOptions.onAddTileSuccess(e)}function o(s){if(e.request.state===$n.CANCELLED){e.state=qn.UNLOADED,e.request=void 0;return}e.state=qn.FAILED,e.request=void 0;let a=`\u65E0\u6CD5\u83B7\u5F97\u56FE\u5757 x:${e.x},y: ${e.y},z:${e.level}. `;t._resource&&t._resource._last_url&&(a+=t._resource._last_url),n._requestImageError=Ro.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r(),n._marsOptions.onAddTileError&&n._marsOptions.onAddTileError(e)}function r(){let s=new Ko({throttle:!1,throttleByServer:!0,type:ss.IMAGERY});e.request=s,e.state=qn.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!l(a)){e.state=qn.UNLOADED,e.request=void 0;return}l(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),n._marsOptions.onAddTile&&n._marsOptions.onAddTile(e),a.then?a.then(function(c){i(c)}).catch(function(c){o(c)}):i(a)}r()};Ti.prototype._createTextureWebGL=function(e,t){let n=new nn({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return l(i.internalFormat)?new wt({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new wt({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?dt.RGBA:dt.RGB,sampler:n})};Ti.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(l(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(l(r)){if(!r.isReady()){t.state=qn.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=qn.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Zi?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=qn.TEXTURE_LOADED};function zye(e,t,n){return`${e}:${t}:${n}`}Ti.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===tn.LINEAR&&i===mi.LINEAR&&!dt.isCompressedFormat(t.pixelFormat)&&W.isPowerOfTwo(t.width)&&W.isPowerOfTwo(t.height)){n=tn.LINEAR_MIPMAP_LINEAR;let r=Dt.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=zye(n,i,s),c=e.cache.imageryLayerMipmapSamplers;l(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let d=c[a];l(d)||(d=c[a]=new nn({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(qh.NICEST),t.sampler=d}else{let r=zye(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;l(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];l(a)||(a=s[r]=new nn({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};Ti.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof Ri)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new gm({persists:!0,owner:this,preExecute:function(c){Aut(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=qn.READY,t.releaseReference()},canceled:function(){t.state=qn.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=qn.READY};Ti.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};Ti.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){l(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};Ti.prototype.getImageryFromCache=function(e,t,n,i){let o=Jye(e,t,n),r=this._imageryCache[o];return l(r)||(r=new eL(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};Ti.prototype.removeImageryFromCache=function(e){this._marsOptions.onRemoveTile&&this._marsOptions.onRemoveTile(e);let t=Jye(e.x,e.y,e.level);delete this._imageryCache[t]};function Jye(e,t,n){return JSON.stringify([e,t,n])}var $D={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new D,texture:void 0},Fut=zt.supportsTypedArrays()?new Float32Array(2*64):void 0;function Aut(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!l(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){l(this.framebuffer)&&this.framebuffer.destroy(),l(this.vertexArray)&&this.vertexArray.destroy(),l(this.shaderProgram)&&this.shaderProgram.destroy()}};let _=new Float32Array(2*64*2),C=0;for(let I=0;I<64;++I){let v=I/63;_[C++]=0,_[C++]=v,_[C++]=1,_[C++]=v}let V={position:0,webMercatorT:1},L=ts.getRegularGridIndices(2,64),Z=xt.createIndexBuffer({context:t,typedArray:L,usage:Ue.STATIC_DRAW,indexDatatype:Ne.UNSIGNED_SHORT});o.vertexArray=new hi({context:t,attributes:[{index:V.position,vertexBuffer:xt.createVertexBuffer({context:t,typedArray:_,usage:Ue.STATIC_DRAW}),componentsPerAttribute:2},{index:V.webMercatorT,vertexBuffer:xt.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:Ue.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:Z});let G=new Ye({sources:[AF]});o.shaderProgram=cn.fromCache({context:t,vertexShaderSource:G,fragmentShaderSource:FF,attributeLocations:V}),o.sampler=new nn({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:tn.LINEAR,magnificationFilter:mi.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;$D.textureDimensions.x=r,$D.textureDimensions.y=s,$D.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let u=1/(.5*Math.log((1+a)/(1-a))-c),m=new wt({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});W.isPowerOfTwo(r)&&W.isPowerOfTwo(s)&&m.generateMipmap(qh.NICEST);let p=i.south,g=i.north,f=Fut,x=0;for(let _=0;_<64;++_){let C=_/63,V=W.lerp(p,g,C);a=Math.sin(V);let Z=(.5*Math.log((1+a)/(1-a))-c)*u;f[x++]=Z,f[x++]=Z}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(f),e.shaderProgram=o.shaderProgram,e.outputTexture=m,e.uniformMap=$D,e.vertexArray=o.vertexArray}function Mut(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof Ri?1:Math.cos(n),a=o.rectangle,d=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,u=Math.log(d)/Math.log(2);return Math.round(u)|0}function Nut(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function kut(e,t){let n;try{if(n=await Promise.resolve(t),e.isDestroyed())return;e._imageryProvider=n,e._readyEvent.raiseEvent(n)}catch(i){Nut(e._errorEvent,i)}}var Sa=Ti;var swi=T(S(),1);var Fvi=T(S(),1),Uut={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},_n=Uut;var Mvi=T(S(),1),Qye={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=Qye.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},Qn=Qye;function iL(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new se}iL.prototype.update=function(e,t,n){this.changedThisFrame&&(ixe(e,t,this.tile,n),this.changedThisFrame=!1)};iL.prototype.destroy=function(e){this._destroyVertexArray(e),l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};iL.prototype._destroyVertexArray=function(e){l(this.vertexArray)&&(l(e)?e.push(this.vertexArray):om._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var Dut=new hg;iL.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=Dut;a.clear();for(let d=0;d<t.length;++d){let u=t[d];l(u.data.vertexArray)&&a.enqueue(t[d])}let c=a.dequeue();for(;c!==void 0;){let d=c.findTileToWest(r),u=c.findTileToSouth(r),m=c.findTileToEast(r),p=c.findTileToNorth(r);Ws(e,n,c,d,s,_n.EAST,!1,a,i),Ws(e,n,c,u,s,_n.NORTH,!1,a,i),Ws(e,n,c,m,s,_n.WEST,!1,a,i),Ws(e,n,c,p,s,_n.SOUTH,!1,a,i);let g=d.findTileToNorth(r),f=d.findTileToSouth(r),x=m.findTileToNorth(r),_=m.findTileToSouth(r);Ws(e,n,c,g,s,_n.SOUTHEAST,!1,a,i),Ws(e,n,c,x,s,_n.SOUTHWEST,!1,a,i),Ws(e,n,c,f,s,_n.NORTHEAST,!1,a,i),Ws(e,n,c,_,s,_n.NORTHWEST,!1,a,i),c=a.dequeue()}};function Ws(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let d=i;for(;d&&(d._lastSelectionResultFrame!==o||Qn.wasKicked(d._lastSelectionResult)||Qn.originalResult(d._lastSelectionResult)===Qn.CULLED);){if(s)return;let u=d.parent;if(r>=_n.NORTHWEST&&u!==void 0)switch(r){case _n.NORTHWEST:d=d===u.northwestChild?u:void 0;break;case _n.NORTHEAST:d=d===u.northeastChild?u:void 0;break;case _n.SOUTHWEST:d=d===u.southwestChild?u:void 0;break;case _n.SOUTHEAST:d=d===u.southeastChild?u:void 0;break}else d=u}if(d!==void 0){if(d._lastSelectionResult===Qn.RENDERED){if(l(d.data.vertexArray))return;But(e,t,n,d,r,o,a,c);return}if(Qn.originalResult(i._lastSelectionResult)!==Qn.CULLED)switch(r){case _n.WEST:Ws(e,t,n,i.northwestChild,o,r,!0,a,c),Ws(e,t,n,i.southwestChild,o,r,!0,a,c);break;case _n.EAST:Ws(e,t,n,i.southeastChild,o,r,!0,a,c),Ws(e,t,n,i.northeastChild,o,r,!0,a,c);break;case _n.SOUTH:Ws(e,t,n,i.southwestChild,o,r,!0,a,c),Ws(e,t,n,i.southeastChild,o,r,!0,a,c);break;case _n.NORTH:Ws(e,t,n,i.northeastChild,o,r,!0,a,c),Ws(e,t,n,i.northwestChild,o,r,!0,a,c);break;case _n.NORTHWEST:Ws(e,t,n,i.northwestChild,o,r,!0,a,c);break;case _n.NORTHEAST:Ws(e,t,n,i.northeastChild,o,r,!0,a,c);break;case _n.SOUTHWEST:Ws(e,t,n,i.southwestChild,o,r,!0,a,c);break;case _n.SOUTHEAST:Ws(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new fe("Invalid edge")}}}function But(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new iL(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),Out(e,t,n,i,o,a)}function Out(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;l(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(ixe(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let d,u;switch(o){case _n.WEST:d=s.westMeshes,u=s.westTiles;break;case _n.SOUTH:d=s.southMeshes,u=s.southTiles;break;case _n.EAST:d=s.eastMeshes,u=s.eastTiles;break;case _n.NORTH:d=s.northMeshes,u=s.northTiles;break;case _n.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case _n.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case _n.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case _n.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||d[0]!==a||d.length!==1,d[0]=a,u[0]=n,d.length=1,u.length=1;return}let m,p,g,f,x=n.rectangle,_,C=i.rectangle;switch(o){case _n.WEST:for(_=(C.north-C.south)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.greaterThan(x.north,f.south,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.greaterThanOrEquals(x.south,f.north,_));++p);break;case _n.SOUTH:for(_=(C.east-C.west)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.lessThan(x.west,f.east,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.lessThanOrEquals(x.east,f.west,_));++p);break;case _n.EAST:for(_=(C.north-C.south)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.lessThan(x.south,f.north,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.lessThanOrEquals(x.north,f.south,_));++p);break;case _n.NORTH:for(_=(C.east-C.west)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.greaterThan(x.east,f.west,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.greaterThanOrEquals(x.west,f.east,_));++p);break}p-m===1?(s.changedThisFrame=s.changedThisFrame||d[m]!==a,d[m]=a,u[m]=n):(s.changedThisFrame=!0,d.splice(m,p-m,a),u.splice(m,p-m,n))}var DT=new he,Yut=new he,nL=new h,zj=new h,Bj=new D,Oj=new D,Qd=new D;function s3(){this.height=0,this.encodedNormal=new D}function e3(e,t,n,i,o,r,s,a,c){if(l(o))return o;let d;if(l(r)&&l(s))d=(r.height+s.height)*.5;else if(l(r))d=r.height;else if(l(s))d=s.height;else if(l(a))d=a.height;else{let m=e.tile.data.tileBoundingRegion,p=0,g=0;l(m)&&(p=m.minimumHeight,g=m.maximumHeight),d=(p+g)*.5}return oxe(e,t,n,i,d,c),c}var zut={minimumHeight:0,maximumHeight:0},Hut=new h,jye=new s3,qye=new s3,$ye=new s3,exe=new s3,Kut=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,Jut={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function ixe(e,t,n,i){om.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.verticalExaggeration,c=t.verticalExaggerationRelativeHeight,d=a!==1,u=n.tilingScheme.ellipsoid,m=n3(r,u,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,$ye),p=n3(r,u,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,jye),g=n3(r,u,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,qye),f=n3(r,u,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,exe);m=e3(r,u,0,1,m,p,f,g,$ye),p=e3(r,u,0,0,p,m,g,f,jye),g=e3(r,u,1,1,g,p,f,m,qye),f=e3(r,u,1,1,f,g,m,p,exe);let x=p.height,_=g.height,C=m.height,V=f.height,L=Math.min(x,_,C,V),Z=Math.max(x,_,C,V),G=(L+Z)*.5,I,v,P=e.getLevelMaximumGeometricError(n.level),w=u.maximumRadius-P,F=Math.acos(w/u.maximumRadius)*4;if(F*=1.5,s.width>F&&Z-L<=P){let E=new Ya({width:9,height:9,buffer:Kut,structure:{heightOffset:Z}}),X=Jut;X.tilingScheme=n.tilingScheme,X.x=n.x,X.y=n.y,X.level=n.level,X.exaggeration=a,X.exaggerationRelativeHeight=c,r.mesh=E._createMeshSync(X)}else{let E=d,X=ce.center(s,Yut);X.height=G;let A=u.cartographicToCartesian(X,Hut),N=new Lc(A,void 0,void 0,void 0,void 0,!0,!0,E,a,c),O=5,U;for(U=r.westMeshes,I=0,v=U.length;I<v;++I)O+=U[I].eastIndicesNorthToSouth.length;for(U=r.southMeshes,I=0,v=U.length;I<v;++I)O+=U[I].northIndicesWestToEast.length;for(U=r.eastMeshes,I=0,v=U.length;I<v;++I)O+=U[I].westIndicesSouthToNorth.length;for(U=r.northMeshes,I=0,v=U.length;I<v;++I)O+=U[I].southIndicesEastToWest.length;let Y=zut;Y.minimumHeight=L,Y.maximumHeight=Z;let k=N.stride,J=new Float32Array(O*k),z=0,te=z;z=t3(u,s,N,J,z,0,1,m.height,m.encodedNormal,1,Y),z=o3(r,u,N,J,z,r.westTiles,r.westMeshes,_n.EAST,Y);let H=z;z=t3(u,s,N,J,z,0,0,p.height,p.encodedNormal,0,Y),z=o3(r,u,N,J,z,r.southTiles,r.southMeshes,_n.NORTH,Y);let q=z;z=t3(u,s,N,J,z,1,0,g.height,g.encodedNormal,0,Y),z=o3(r,u,N,J,z,r.eastTiles,r.eastMeshes,_n.WEST,Y);let ee=z;z=t3(u,s,N,J,z,1,1,f.height,f.encodedNormal,1,Y),z=o3(r,u,N,J,z,r.northTiles,r.northMeshes,_n.SOUTH,Y),L=Y.minimumHeight,Z=Y.maximumHeight;let pe=Xn.fromRectangle(s,L,Z,n.tilingScheme.ellipsoid),_e=Zi.geodeticLatitudeToMercatorAngle(s.south),ae=1/(Zi.geodeticLatitudeToMercatorAngle(s.north)-_e),ye=(Zi.geodeticLatitudeToMercatorAngle(X.latitude)-_e)*ae,Te=u.geodeticSurfaceNormalCartographic(DT,zj),Ie=An.octEncode(Te,Bj),Ee=z;N.encode(J,z*k,pe.center,D.fromElements(.5,.5,Qd),G,Ie,ye,Te),++z;let ve=z,we=ve<256?1:2,pt=(ve-1)*3,rt=pt*we,Rt=(J.length-ve*k)*Float32Array.BYTES_PER_ELEMENT,Fe;if(Rt>=rt){let Ve=ve*k*Float32Array.BYTES_PER_ELEMENT;Fe=ve<256?new Uint8Array(J.buffer,Ve,pt):new Uint16Array(J.buffer,Ve,pt)}else Fe=ve<256?new Uint8Array(pt):new Uint16Array(pt);J=new Float32Array(J.buffer,0,ve*k);let ke=0;for(I=0;I<ve-2;++I)Fe[ke++]=Ee,Fe[ke++]=I,Fe[ke++]=I+1;Fe[ke++]=Ee,Fe[ke++]=I,Fe[ke++]=0;let qe=[];for(I=H;I>=te;--I)qe.push(I);let Qe=[];for(I=q;I>=H;--I)Qe.push(I);let Ut=[];for(I=ee;I>=q;--I)Ut.push(I);let Ce=[];for(Ce.push(0),I=Ee-1;I>=ee;--I)Ce.push(I);r.mesh=new im(N.center,J,Fe,pt,ve,L,Z,le.fromOrientedBoundingBox(pe),nmt(e,pe.center,s,L,Z),N.stride,pe,N,qe,Qe,Ut,Ce)}let b=t.context;r._destroyVertexArray(i),r.vertexArray=om._createVertexArrayForMesh(b,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let R=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let E=o._findAncestorTileWithTerrainData(n);l(E)&&l(E.data.waterMaskTexture)&&(r.waterMaskTexture=E.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,E,r.waterMaskTranslationAndScale))}l(R)&&(--R.referenceCount,R.referenceCount===0&&R.destroy())}function t3(e,t,n,i,o,r,s,a,c,d,u){let m=DT;m.longitude=W.lerp(t.west,t.east,r),m.latitude=W.lerp(t.south,t.north,s),m.height=a;let p=e.cartographicToCartesian(m,nL),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,zj));let f=Oj;return f.x=r,f.y=s,n.encode(i,o*n.stride,p,f,a,c,d,g),u.minimumHeight=Math.min(u.minimumHeight,a),u.maximumHeight=Math.max(u.maximumHeight,a),o+1}var r3=new ce;function MF(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=ce.clone(e.rectangle,r3),o.west-=W.TWO_PI,o.east-=W.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=ce.clone(e.rectangle,r3),o.west+=W.TWO_PI,o.east+=W.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,d=o.north-o.south,u=(r.south-o.south)/d,m=(r.north-o.south)/d,p=(n.x-a)/(c-a),g=(n.y-u)/(m-u);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var Qut=new D;function Yj(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var jut=new D,qut=new h;function $ut(e,t,n,i,o,r,s,a,c,d){let u=i.encoding,m=i.vertices,p=MF(t,n,u.decodeTextureCoordinates(m,o,Qd),Qd),g=MF(t,n,u.decodeTextureCoordinates(m,r,Oj),Oj),f;c?f=(s-p.x)/(g.x-p.x):f=(a-p.y)/(g.y-p.y);let x=u.decodeHeight(m,o),_=u.decodeHeight(m,r),C=n.rectangle;DT.longitude=W.lerp(C.west,C.east,s),DT.latitude=W.lerp(C.south,C.north,a),d.height=DT.height=W.lerp(x,_,f);let V;if(u.hasVertexNormals){let L=u.getOctEncodedNormal(m,o,Qut),Z=u.getOctEncodedNormal(m,r,jut),G=An.octDecode(L.x,L.y,nL),I=An.octDecode(Z.x,Z.y,qut);V=h.lerp(G,I,f,nL),h.normalize(V,V),An.octEncode(V,d.encodedNormal)}else V=e.geodeticSurfaceNormalCartographic(DT,nL),An.octEncode(V,d.encodedNormal)}function oxe(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic(DT,nL);An.octEncode(s,r.encodedNormal)}function n3(e,t,n,i,o,r,s,a,c,d,u){if(nxe(e,t,a,s,!1,n,i,u)||nxe(e,t,d,c,!0,n,i,u))return u;let p;if(Hj(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],Yj(r,p,n,i,u),u;let g;if(n===0?i===0?g=i3(e.westMeshes,e.westTiles,_n.EAST,e.southMeshes,e.southTiles,_n.NORTH,n,i):g=i3(e.northMeshes,e.northTiles,_n.SOUTH,e.westMeshes,e.westTiles,_n.EAST,n,i):i===0?g=i3(e.southMeshes,e.southTiles,_n.NORTH,e.eastMeshes,e.eastTiles,_n.WEST,n,i):g=i3(e.eastMeshes,e.eastTiles,_n.WEST,e.northMeshes,e.northTiles,_n.SOUTH,n,i),l(g))return oxe(e,t,n,i,g,u),u}function i3(e,t,n,i,o,r,s,a){let c=txe(e,t,!1,n,s,a),d=txe(i,o,!0,r,s,a);return l(c)&&l(d)?(c+d)*.5:l(c)?c:d}function o3(e,t,n,i,o,r,s,a,c){for(let d=0;d<r.length;++d)o=emt(e,t,n,i,o,r[d],s[d],a,c);return o}function emt(e,t,n,i,o,r,s,a,c){let d=r.rectangle;a===_n.EAST&&e.tile.x===0?(d=ce.clone(r.rectangle,r3),d.west-=W.TWO_PI,d.east-=W.TWO_PI):a===_n.WEST&&r.x===0&&(d=ce.clone(r.rectangle,r3),d.west+=W.TWO_PI,d.east+=W.TWO_PI);let u=e.tile.rectangle,m,p;o>0&&(n.decodeTextureCoordinates(i,o-1,Qd),m=Qd.x,p=Qd.y);let g,f;switch(a){case _n.WEST:g=s.westIndicesSouthToNorth,f=!1;break;case _n.NORTH:g=s.northIndicesWestToEast,f=!0;break;case _n.EAST:g=s.eastIndicesNorthToSouth,f=!1;break;case _n.SOUTH:g=s.southIndicesEastToWest,f=!0;break}let x=r,_=e.tile,C=s.encoding,V=s.vertices,L=n.stride,Z,G;C.hasWebMercatorT&&(Z=Zi.geodeticLatitudeToMercatorAngle(u.south),G=1/(Zi.geodeticLatitudeToMercatorAngle(u.north)-Z));for(let I=0;I<g.length;++I){let v=g[I],P=C.decodeTextureCoordinates(V,v,Qd);MF(x,_,P,P);let w=P.x,F=P.y,b=f?w:F;if(b<0||b>1||Math.abs(w-m)<W.EPSILON5&&Math.abs(F-p)<W.EPSILON5)continue;let R=Math.abs(w)<W.EPSILON5||Math.abs(w-1)<W.EPSILON5,E=Math.abs(F)<W.EPSILON5||Math.abs(F-1)<W.EPSILON5;if(R&&E)continue;let X=C.decodePosition(V,v,nL),A=C.decodeHeight(V,v),N;C.hasVertexNormals?N=C.getOctEncodedNormal(V,v,Bj):(N=Bj,N.x=0,N.y=0);let O=F;if(C.hasWebMercatorT){let Y=W.lerp(u.south,u.north,F);O=(Zi.geodeticLatitudeToMercatorAngle(Y)-Z)*G}let U;n.hasGeodeticSurfaceNormals&&(U=t.geodeticSurfaceNormal(X,zj)),n.encode(i,o*L,X,P,A,N,O,U),c.minimumHeight=Math.min(c.minimumHeight,A),c.maximumHeight=Math.max(c.maximumHeight,A),++o}return o}function txe(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let d=s;d!==a;d+=c){let u=e[d],m=t[d];if(!Hj(m,u))continue;let p;switch(i){case _n.WEST:p=u.westIndicesSouthToNorth;break;case _n.SOUTH:p=u.southIndicesEastToWest;break;case _n.EAST:p=u.eastIndicesNorthToSouth;break;case _n.NORTH:p=u.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(l(g))return u.encoding.decodeHeight(u.vertices,g)}}function Hj(e,t){return l(t)&&(!l(e.data.fill)||!e.data.fill.changedThisFrame)}function nxe(e,t,n,i,o,r,s,a){let c,d,u,m,p,g=i[o?0:n.length-1],f=n[o?0:n.length-1];if(Hj(g,f)&&(r===0?s===0?(c=o?f.northIndicesWestToEast:f.eastIndicesNorthToSouth,d=o,u=o):(c=o?f.eastIndicesNorthToSouth:f.southIndicesEastToWest,d=!o,u=!1):s===0?(c=o?f.westIndicesSouthToNorth:f.northIndicesWestToEast,d=!o,u=!0):(c=o?f.southIndicesEastToWest:f.westIndicesSouthToNorth,d=o,u=!o),c.length>0)){m=o?0:c.length-1,p=c[m],f.encoding.decodeTextureCoordinates(f.vertices,p,Qd);let x=MF(g,e.tile,Qd,Qd);if(x.x===r&&x.y===s)return Yj(f,p,r,s,a),!0;if(m=Go(c,d?r:s,function(_,C){f.encoding.decodeTextureCoordinates(f.vertices,_,Qd);let V=MF(g,e.tile,Qd,Qd);return u?d?V.x-r:V.y-s:d?r-V.x:s-V.y}),m<0){if(m=~m,m>0&&m<c.length)return $ut(t,g,e.tile,f,c[m-1],c[m],r,s,d,a),!0}else return Yj(f,c[m],r,s,a),!0}return!1}var tmt=[new h,new h,new h,new h];function nmt(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=tmt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var oL=iL;function rr(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.showWaterEffect=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=Sn.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new be,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(rr.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(rr.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(rr.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(rr.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new be,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new B(0,0,.5,1),this._clippingPlanes=void 0,this._clippingPolygons=void 0,this.cartographicLimitRectangle=ce.clone(ce.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldVerticalExaggeration=void 0,this._oldVerticalExaggerationRelativeHeight=void 0,this._initByMars3D&&this._initByMars3D(e)}Object.defineProperties(rr.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=se.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},tilingScheme:{get:function(){if(l(this._terrainProvider))return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,l(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){us.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){Bm.setOwner(e,this,"_clippingPolygons")}}});function imt(e,t){let n=e.loadingImagery;l(n)||(n=e.readyImagery);let i=t.loadingImagery;return l(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}rr.prototype.update=function(e){this._imageryLayers._update()};function omt(e,t){let n=t.creditDisplay,i=e._terrainProvider;l(i)&&l(i.credit)&&n.addCreditToNextFrame(i.credit);let o=e._imageryLayers;for(let r=0,s=o.length;r<s;++r){let a=o.get(r);a.ready&&a.show&&l(a.imageryProvider.credit)&&n.addCreditToNextFrame(a.imageryProvider.credit)}}rr.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(imt)})),omt(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)om._freeVertexArray(t[i]);t.length=0};rr.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let o=0,r=t.length;o<r;++o){let s=t[o];l(s)&&(s.length=0)}let n=this._clippingPlanes;l(n)&&n.enabled&&n.update(e);let i=this._clippingPolygons;l(i)&&i.enabled&&(i.update(e),i.queueCommands(e)),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};rr.prototype.endUpdate=function(e){if(!l(this._renderState)){this._renderState=Be.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:rc.LESS}}),this._blendRenderState=Be.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:rc.LESS_OR_EQUAL},blending:hn.ALPHA_BLEND});let s=ze(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=Be.fromCache(s),s=ze(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=Be.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&oL.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.verticalExaggeration,i=e.verticalExaggerationRelativeHeight,o=this._oldVerticalExaggeration!==n||this._oldVerticalExaggerationRelativeHeight!==i;this._oldVerticalExaggeration=n,this._oldVerticalExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(l(c))for(let d=0,u=c.length;d<u;++d){let m=c[d],p=m.data.tileBoundingRegion;lxe(this,m,e,!1);let g=this.marsOptions?.uplift;if(g&&g.enabled&&g.height!==0&&g.rectangles){for(let f=0;f<g.rectangles.length;f++)if(ce.intersection(p.rectangle,g.rectangles[f])){lxe(this,m,e,!0);break}}e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function dxe(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}rr.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)dxe(t[n],e)};rr.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};rr.prototype.getLevelMaximumGeometricError=function(e){return l(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(e):0};rr.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;l(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===Qn.CULLED_BUT_NEEDED,o=n.terrainState),om.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==pr.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,om.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var rmt=new le,uxe=new ce,smt=new ce,amt=new he;function c3(e,t){if(t.west<t.east)return t;let n=ce.clone(t,smt);return ce.center(e,amt).longitude>0?n.east=W.PI:n.west=-W.PI,n}function mxe(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;if(l(n)&&n.enabled)return!0;let i=e._clippingPolygons;return!!(l(i)&&i.enabled||!ce.equals(e.cartographicLimitRectangle,ce.MAX_VALUE))}rr.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=mxe(this,t);if(t.fog.enabled&&!o&&W.fog(i,t.fog.density)>=1)return pr.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return pr.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;l(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let d=c3(e.rectangle,this.cartographicLimitRectangle),u=ce.simpleIntersection(d,e.rectangle,uxe);if(!l(u))return pr.NONE;if(ce.equals(u,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==oe.SCENE3D&&(c=rmt,le.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===oe.MORPHING&&l(r.renderedMesh)&&(c=le.union(s.boundingSphere,c,c))),!l(c))return pr.PARTIAL;let m=this._clippingPlanes;if(l(m)&&m.enabled){let _=m.computeIntersectionWithBoundingVolume(c);if(e.isClipped=_!==Kt.INSIDE,_===Kt.OUTSIDE)return pr.NONE}let p=this._clippingPolygons;if(l(p)&&p.enabled){let _=p.computeIntersectionWithBoundingVolume(s);e.isClipped=_!==Kt.OUTSIDE}let g,f=a.computeVisibility(c);if(f===Kt.OUTSIDE?g=pr.NONE:f===Kt.INTERSECTING?g=pr.PARTIAL:f===Kt.INSIDE&&(g=pr.FULL),g===pr.NONE)return g;let x=t.mode===oe.SCENE3D&&t.camera.frustum instanceof ln;if(t.mode===oe.SCENE3D&&!x&&l(n)&&!o){let _=r.occludeePointInScaledSpace;return!l(_)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(_,s.minimumHeight)?g:pr.NONE}return g};rr.prototype.canRefine=function(e){return l(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var cmt=[],lmt=[];rr.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=cmt;i.length=this._imageryLayers.length;let o=!1,r=!1,s;l(n)&&(o=n.terrainState===lo.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(l(s))for(a=0,c=s.length;a<c;++a){let m=s[a],p=m.loadingImagery,g=!l(p)||p.state===qn.FAILED||p.state===qn.INVALID,f=(m.loadingImagery||m.readyImagery).imageryLayer._layerIndex;i[f]=g&&i[f]}let d=this.quadtree._lastSelectionFrameNumber,u=lmt;for(u.length=0,u.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);u.length>0;){let m=u.pop(),p=m._lastSelectionResultFrame===d?m._lastSelectionResult:Qn.NONE;if(p===Qn.RENDERED){let g=m.data;if(!l(g))continue;if(!o&&m.data.terrainState===lo.READY)return!1;let f=m.data.imagery;for(a=0,c=f.length;a<c;++a){let x=f[a],_=x.loadingImagery,C=!l(_)||_.state===qn.FAILED||_.state===qn.INVALID,V=(x.loadingImagery||x.readyImagery).imageryLayer._layerIndex;if(C&&!i[V])return!1}}else p===Qn.REFINED&&u.push(m.southwestChild,m.southeastChild,m.northwestChild,m.northeastChild)}return!0};var dmt=new h;rr.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,dmt),a=h.magnitude(s);return a<W.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var rxe=new M,a3=new M,umt=new se,mmt=new se,hmt=new se,fmt=new h,sxe=new h,pmt=new h,bmt=new h;rr.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let d=i[a];l(d.readyImagery)&&d.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];l(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;l(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var gmt=[new h,new h,new h,new h];function axe(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=gmt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}rr.prototype.computeDistanceToTile=function(e,t){ymt(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,d=Math.abs(c-r),u=Math.abs(c-s);d>u?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function ymt(e,t,n){let i=e.data;i===void 0&&(i=e.data=new om);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new Au({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,d=e,u=0,m=t.marsOptions?.flat;if(m&&m.enabled&&m.rectangles){for(let _=0;_<m.rectangles.length;_++)if(ce.intersection(e.rectangle,m.rectangles[_])){u=m.rectangles[_]._flatHeight??m.heights[_];break}}let p=t.marsOptions?.uplift,g=0;if(p&&p.enabled&&p.height!==0&&p.rectangles){for(let _=0;_<p.rectangles.length;_++)if(ce.intersection(r.rectangle,p.rectangles[_])){g=p.height;break}}let f=i.mesh,x=i.terrainData;if(f!==void 0&&f.minimumHeight!==void 0&&f.maximumHeight!==void 0)r.minimumHeight=f.minimumHeight,r.maximumHeight=f.maximumHeight,c=!0;else if(x!==void 0&&x._minimumHeight!==void 0&&x._maximumHeight!==void 0)r.minimumHeight=x._minimumHeight,r.maximumHeight=x._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let _=e.parent;for(;_!==void 0;){let C=_.data;if(C!==void 0){let V=C.mesh,L=C.terrainData;if(V!==void 0&&V.minimumHeight!==void 0&&V.maximumHeight!==void 0){r.minimumHeight=V.minimumHeight,r.maximumHeight=V.maximumHeight;break}else if(L!==void 0&&L._minimumHeight!==void 0&&L._maximumHeight!==void 0){r.minimumHeight=L._minimumHeight,r.maximumHeight=L._maximumHeight;break}}_=_.parent}d=_}if(r.maximumHeight+=g,r.minimumHeight-=u,d!==void 0){let _=n.verticalExaggeration,C=n.verticalExaggerationRelativeHeight;if((_!==1||u!==0)&&(c=!1,r.minimumHeight=_r.getHeight(r.minimumHeight,_,C),r.maximumHeight=_r.getHeight(r.maximumHeight,_,C)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=Xn.clone(f.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=le.clone(f.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(f.occludeePointInScaledSpace,i.occludeePointInScaledSpace),l(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=axe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let L=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||L)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=axe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=d,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}rr.prototype.isDestroyed=function(){return!1};rr.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),me(this)};function xmt(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,d;for(d=0;d<c;++d)if(o=a[d],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=d;break}if(s!==-1){let u=s+e;if(o=a[u],r=l(o)?y(o.readyImagery,o.loadingImagery):void 0,!l(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,u);for(d=s;d<u;++d)a[d].freeResources();a.splice(s,e)}return!0}}rr.prototype._onLayerAdded=function(e,t){if(!this.isDestroyed()&&e.show){let n=this._terrainProvider,i=this,o=this._imageryLayersUpdatedEvent,r=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(l(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,d=c.length,u=-1,m=0;for(a=0;a<d;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)u===-1&&(u=a),++m;else if(u!==-1)break}if(u===-1)return;let p=u+m;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=xmt(m,e,n),s.state=ta.LOADING)})};if(e.ready){let s=e.imageryProvider;s._reload=r}this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=ta.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==Qn.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,o.raiseEvent()}};rr.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],d=c.loadingImagery;if(l(d)||(d=c.readyImagery),d.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),l(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};rr.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};rr.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var _mt=new M,Tmt=new M;function cxe(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_verticalExaggerationAndRelativeHeight:function(){return this.properties.verticalExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=M.multiplyByPoint(i,this.properties.rtc,sxe);return M.setTranslation(i,o,rxe),rxe},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=M.multiplyByPoint(i,this.properties.rtc,sxe);return M.setTranslation(i,r,a3),M.multiply(o,a3,a3),a3},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return l(i)&&l(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=l(i)?M.multiply(e.context.uniformState.view,i.modelMatrix,_mt):M.IDENTITY;return M.inverseTranspose(o,Tmt)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_clippingDistance:function(){let i=t._clippingPolygons.clippingTexture;return l(i)?i:e.context.defaultTexture},u_clippingExtents:function(){let i=t._clippingPolygons.extentsTexture;return l(i)?i:e.context.defaultTexture},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},u_mars3dTextureInvertColor:function(){return this.properties.mars3dTextureInvertColor},u_mars3dTextureFilterColor:function(){return this.properties.mars3dTextureFilterColor},u_mars_inverseTileWidth:function(){return this.properties.mars_inverseTileWidth},u_mars_cartographicTileRectangle:function(){return this.properties.mars_cartographicTileRectangle},u_mars_flat_enabled:function(){return this.properties.mars_flat_enabled},u_mars_flat_rectangle:function(){return this.properties.mars_flat_rectangle},u_mars_flat_texture:function(){return l(this.properties.mars_flat_texture)?this.properties.mars_flat_texture:e.context.defaultTexture},u_mars_uplift_enabled:function(){return this.properties.mars_uplift_enabled},u_mars_uplift_hideInsideOrOutside:function(){return this.properties.mars_uplift_hideInsideOrOutside},u_mars_uplift_rectangle:function(){return this.properties.mars_uplift_rectangle},u_mars_uplift_texture:function(){return l(this.properties.mars_uplift_texture)?this.properties.mars_uplift_texture:e.context.defaultTexture},u_mars_clip_enabled:function(){return this.properties.mars_clip_enabled},u_mars_clip_rectangle:function(){return this.properties.mars_clip_rectangle},u_mars_clip_texture:function(){return l(this.properties.mars_clip_texture)?this.properties.mars_clip_texture:e.context.defaultTexture},u_mars_clip_only:function(){return this.properties.mars_clip_only},u_mars_flood_enabled:function(){return this.properties.mars_flood_enabled},u_mars_flood_rectangle:function(){return this.properties.mars_flood_rectangle},u_mars_flood_texture:function(){return l(this.properties.mars_flood_texture)?this.properties.mars_flood_texture:e.context.defaultTexture},u_mars_flood_only:function(){return this.properties.mars_flood_only},properties:{initialColor:new se(0,0,.5,1),fillHighlightColor:new B(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new D(65e5,9e6),nightFadeDistance:new D(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new M,tileRectangle:new se,verticalExaggerationAndRelativeHeight:new D(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new D,southMercatorYAndOneOverHeight:new D,waterMask:void 0,waterMaskTranslationAndScale:new se,minMaxHeight:new D,scaleAndBias:new M,clippingPlanesEdgeColor:B.clone(B.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new se,frontFaceAlphaByDistance:new se,backFaceAlphaByDistance:new se,localizedTranslucencyRectangle:new se,undergroundColor:B.clone(B.TRANSPARENT),undergroundColorAlphaByDistance:new se,lambertDiffuseMultiplier:0,vertexShadowDarkness:0,mars3dTextureInvertColor:[],mars3dTextureFilterColor:[],mars_inverseTileWidth:0,mars_cartographicTileRectangle:void 0,mars_flat_enabled:!1,mars_flat_rectangle:new se,mars_flat_texture:void 0,mars_uplift_enabled:!1,mars_uplift_hideInsideOrOutside:!1,mars_uplift_rectangle:new se,mars_uplift_texture:void 0,mars_clip_enabled:!1,mars_clip_rectangle:new se,mars_clip_texture:void 0,mars_clip_only:!1,mars_flood_enabled:!1,mars_flood_rectangle:new se,mars_flood_texture:void 0,mars_flood_only:!1}};return l(t.materialUniformMap)?Tt(n,t.materialUniformMap):n}function Smt(e,t,n){let i=n.data,o,r;if(l(i.vertexArray)?(o=i.mesh,r=i.vertexArray):l(i.fill)&&l(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!l(o)||!l(r))){if(l(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=Cmt(e,r,o),i.wireframeVertexArray.mesh=o}}function Cmt(e,t,n){let o={indices:n.indices,primitiveType:Me.TRIANGLES};Dn.toWireframe(o);let r=o.indices,s=xt.createIndexBuffer({context:e,typedArray:r,usage:Ue.STATIC_DRAW,indexDatatype:Ne.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new hi({context:e,attributes:t._attributes,indexBuffer:s})}var hxe,fxe,l3;(function(){let e=new Gt({geometry:Lm.fromDimensions({dimensions:new h(2,2,2)})}),t=new Gt({geometry:new V0({radius:1})}),n=new M,i,o;function r(s){return new Wn({geometryInstances:s,appearance:new mn({translucent:!1,flat:!0}),asynchronous:!1})}hxe=function(s,a){return s===i||(l3(),i=s,n=M.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=Ht.fromColor(a),o=r(e)),o},fxe=function(s,a){return s===i||(l3(),i=s,n=M.fromTranslation(s.center,n),n=M.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=Ht.fromColor(a),o=r(t)),o},l3=function(){l(o)&&(o.destroy(),o=void 0,i=void 0)}})();var Vmt=new se(0,0,0,0),Lmt={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,enableClippingPolygons:void 0,clippingPolygons:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},Rmt=B.TRANSPARENT,Zmt=new kt;function lxe(e,t,n,i){let o=t.data;l(o.vertexArray)||(o.fill===void 0&&(o.fill=new oL(t)),o.fill.update(e,n));let r=n.creditDisplay,s=o.terrainData;if(l(s)&&l(s.credits)){let en=s.credits;for(let Qt=0,mo=en.length;Qt<mo;++Qt)r.addCreditToNextFrame(en[Qt])}let a=Dt.maximumTextureImageUnits,c=o.waterMaskTexture,d=o.waterMaskTranslationAndScale;!l(c)&&l(o.fill)&&(c=o.fill.waterMaskTexture,d=o.fill.waterMaskTranslationAndScale);let u=n.cameraUnderground,m=n.globeTranslucencyState,p=m.translucent,g=m.frontFaceAlphaByDistance,f=m.backFaceAlphaByDistance,x=m.rectangle,_=y(e.undergroundColor,Rmt),C=y(e.undergroundColorAlphaByDistance,Zmt),V=mxe(e,n)&&n.mode===oe.SCENE3D&&_.alpha>0&&(C.nearValue>0||C.farValue>0),L=e.lambertDiffuseMultiplier,Z=e.vertexShadowDarkness,G=e.hasWaterMask&&l(c),I=G&&e.showWaterEffect,v=e.oceanNormalMap,P=I&&l(v),w=e.terrainProvider,F=l(w)&&e.terrainProvider.hasVertexNormals,b=n.fog.enabled&&n.fog.renderable&&!u,R=e.showGroundAtmosphere&&n.mode===oe.SCENE3D,E=Sn.castShadows(e.shadows)&&!p,X=Sn.receiveShadows(e.shadows)&&!p,A=e.hueShift,N=e.saturationShift,O=e.brightnessShift,U=!(W.equalsEpsilon(A,0,W.EPSILON7)&&W.equalsEpsilon(N,0,W.EPSILON7)&&W.equalsEpsilon(O,0,W.EPSILON7)),Y=!1;if(R){let en=h.magnitude(n.camera.positionWC),Qt=e.nightFadeOutDistance;Y=en>Qt}G&&--a,P&&--a,l(n.shadowState)&&n.shadowState.shadowsEnabled&&--a,l(e.clippingPlanes)&&e.clippingPlanes.enabled&&--a,l(e.clippingPolygons)&&e.clippingPolygons.enabled&&(--a,--a),a-=m.numberOfTextureUniforms;let k=o.renderedMesh,J=k.center,z=k.encoding,te=o.tileBoundingRegion,H=n.verticalExaggeration,q=n.verticalExaggerationRelativeHeight,ee=e.marsOptions?.uplift;i&&ee&&(q=n.verticalExaggerationRelativeHeight-ee.height/(H-1)),e.marsOptions?.uplift?.enabled&&--a,e.marsOptions?.clip?.enabled&&--a,e.marsOptions?.flat?.enabled&&--a,e.marsOptions?.flood?.enabled&&--a;let pe=H!==1,_e=z.hasGeodeticSurfaceNormals,ae=umt,ye=0,Te=0,Ie=0,Ee=0,ve=!1;if(n.mode!==oe.SCENE3D){let en=n.mapProjection,Qt=en.project(ce.southwest(t.rectangle),pmt),mo=en.project(ce.northeast(t.rectangle),bmt);if(ae.x=Qt.x,ae.y=Qt.y,ae.z=mo.x,ae.w=mo.y,n.mode!==oe.MORPHING&&(J=fmt,J.x=0,J.y=(ae.z+ae.x)*.5,J.z=(ae.w+ae.y)*.5,ae.x-=J.y,ae.y-=J.z,ae.z-=J.y,ae.w-=J.z),n.mode===oe.SCENE2D&&z.quantization===ea.BITS12){let je=1/(Math.pow(2,12)-1)*.5,os=(ae.z-ae.x)*je,sr=(ae.w-ae.y)*je;ae.x-=os,ae.y-=sr,ae.z+=os,ae.w+=sr}en instanceof Zi&&(ye=t.rectangle.south,Te=t.rectangle.north,Ie=Zi.geodeticLatitudeToMercatorAngle(ye),Ee=1/(Zi.geodeticLatitudeToMercatorAngle(Te)-Ie),ve=!0)}let we=Lmt;we.frameState=n,we.surfaceTile=o,we.hasWaterMask=G,we.showReflectiveOcean=I,we.showOceanWaves=P,we.enableLighting=e.enableLighting,we.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,we.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,we.showGroundAtmosphere=R,we.atmosphereLightIntensity=e.atmosphereLightIntensity,we.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,we.atmosphereMieCoefficient=e.atmosphereMieCoefficient,we.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,we.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,we.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,we.perFragmentGroundAtmosphere=Y,we.hasVertexNormals=F,we.useWebMercatorProjection=ve,we.clippedByBoundaries=o.clippedByBoundaries,we.hasGeodeticSurfaceNormals=_e,we.hasExaggeration=pe;let pt=o.imagery,rt=0,Rt=pt.length,Fe=e.showSkirts&&!u&&!p,ke=e.backFaceCulling&&!u&&!p,qe=ke?e._renderState:e._disableCullingRenderState,Qe=ke?e._blendRenderState:e._disableCullingBlendRenderState,Ut=qe,Ce=e._firstPassInitialColor,Ve=n.context;if(l(e._debug.boundingSphereTile)||l3(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let en=e._drawCommands.length;for(let Qt=0;Qt<en;++Qt)e._uniformMaps[Qt]=cxe(n,e)}do{let en=0,Qt,mo;if(e._drawCommands.length<=e._usedDrawCommands?(Qt=new tt,Qt.owner=t,Qt.cull=!1,Qt.boundingVolume=new le,Qt.orientedBoundingBox=void 0,mo=cxe(n,e),e._drawCommands.push(Qt),e._uniformMaps.push(mo)):(Qt=e._drawCommands[e._usedDrawCommands],mo=e._uniformMaps[e._usedDrawCommands]),Qt.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let oa=te.boundingVolume,vs=te.boundingSphere;l(oa)?hxe(oa,B.RED).update(n):l(vs)&&fxe(vs,B.RED).update(n)}let je=mo.properties;se.clone(Ce,je.initialColor),je.oceanNormalMap=v,je.lightingFadeDistance.x=e.lightingFadeOutDistance,je.lightingFadeDistance.y=e.lightingFadeInDistance,je.nightFadeDistance.x=e.nightFadeOutDistance,je.nightFadeDistance.y=e.nightFadeInDistance,je.atmosphereLightIntensity=e.atmosphereLightIntensity,je.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,je.atmosphereMieCoefficient=e.atmosphereMieCoefficient,je.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,je.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,je.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,je.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let os=u?f:g,sr=u?g:f;l(os)&&(se.fromElements(os.near,os.nearValue,os.far,os.farValue,je.frontFaceAlphaByDistance),se.fromElements(sr.near,sr.nearValue,sr.far,sr.farValue,je.backFaceAlphaByDistance)),se.fromElements(C.near,C.nearValue,C.far,C.farValue,je.undergroundColorAlphaByDistance),B.clone(_,je.undergroundColor),je.lambertDiffuseMultiplier=L,je.vertexShadowDarkness=Z;let ia=!l(o.vertexArray)&&l(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;ia&&B.clone(e.fillHighlightColor,je.fillHighlightColor),je.verticalExaggerationAndRelativeHeight.x=H,je.verticalExaggerationAndRelativeHeight.y=q,je.center3D=k.center,h.clone(J,je.rtc),se.clone(ae,je.tileRectangle),je.southAndNorthLatitude.x=ye,je.southAndNorthLatitude.y=Te,je.southMercatorYAndOneOverHeight.x=Ie,je.southMercatorYAndOneOverHeight.y=Ee;let De=mmt,mt=c3(t.rectangle,e.cartographicLimitRectangle),st=hmt,$e=c3(t.rectangle,x);h.fromElements(A,N,O,je.hsbShift);let et=t.rectangle,Mt=1/et.width,xn=1/et.height;De.x=(mt.west-et.west)*Mt,De.y=(mt.south-et.south)*xn,De.z=(mt.east-et.west)*Mt,De.w=(mt.north-et.south)*xn,se.clone(De,je.localizedCartographicLimitRectangle),st.x=($e.west-et.west)*Mt,st.y=($e.south-et.south)*xn,st.z=($e.east-et.west)*Mt,st.w=($e.north-et.south)*xn,je.mars_inverseTileWidth=Mt,je.mars_cartographicTileRectangle=new D(et.west,et.south);let Ki=e.marsOptions?.clip;Ki?(Ki.rectangle?je.mars_clip_rectangle=new se(Ki.rectangle.west,Ki.rectangle.south,Ki.rectangle.width,Ki.rectangle.height):je.mars_clip_rectangle=new se,je.mars_clip_texture=Ki.texture,je.mars_clip_only=Ki.onlySelf,je.mars_clip_enabled=Ki.enabled):(je.mars_clip_enabled=!1,je.mars_clip_rectangle=new se,je.mars_clip_texture=void 0,je.mars_clip_only=!1);let ho=e.marsOptions?.flood;ho?(ho.rectangle?je.mars_flood_rectangle=new se(ho.rectangle.west,ho.rectangle.south,ho.rectangle.width,ho.rectangle.height):je.mars_flood_rectangle=new se,je.mars_flood_texture=ho.texture,je.mars_flood_only=ho.onlySelf,je.mars_flood_enabled=ho.enabled):(je.mars_flood_enabled=!1,je.mars_flood_rectangle=new se,je.mars_flood_texture=void 0);let rs=e.marsOptions?.flat;rs?(rs.rectangle?je.mars_flat_rectangle=new se(rs.rectangle.west,rs.rectangle.south,rs.rectangle.width,rs.rectangle.height):je.mars_flat_rectangle=new se,je.mars_flat_texture=rs.texture,je.mars_flat_enabled=rs.enabled):(je.mars_flat_enabled=!1,je.mars_flat_rectangle=new se,je.mars_flat_texture=void 0);let ar=e.marsOptions?.uplift;ar?(ar.rectangle?je.mars_uplift_rectangle=new se(ar.rectangle.west,ar.rectangle.south,ar.rectangle.width,ar.rectangle.height):je.mars_uplift_rectangle=new se,je.mars_uplift_texture=ar.texture,je.mars_uplift_enabled=(!ar.showUp||ar.enabled&&ar.height!==0)&&l(ar.rectangles)&&ar.rectangles.length>0,je.mars_uplift_hideInsideOrOutside=!i):(je.mars_uplift_enabled=!1,je.mars_uplift_rectangle=new se,je.mars_uplift_texture=void 0,je.mars_uplift_hideInsideOrOutside=!1),se.clone(st,je.localizedTranslucencyRectangle);let To=b&&W.fog(t._distance,n.fog.density)>W.EPSILON3;U=U&&(To||R);let Ji=!1,ys=!1,Zr=!1,ou=!1,wo=!1,Gr=!1,ru=!1,Ic=!1,kh=!1,zo=!1,lp=!1,cr=!1;for(;en<a&&rt<Rt;){let oa=pt[rt],vs=oa.readyImagery;if(++rt,!l(vs)||vs.imageryLayer.alpha===0)continue;let GS=oa.useWebMercatorT?vs.textureWebMercator:vs.texture,fo=vs.imageryLayer;l(oa.textureTranslationAndScale)||(oa.textureTranslationAndScale=fo._calculateTextureTranslationAndScale(t,oa)),je.dayTextures[en]=GS,je.dayTextureTranslationAndScale[en]=oa.textureTranslationAndScale,je.dayTextureTexCoordsRectangle[en]=oa.textureCoordinateRectangle,je.dayTextureUseWebMercatorT[en]=oa.useWebMercatorT,je.dayTextureAlpha[en]=fo.alpha,Gr=Gr||je.dayTextureAlpha[en]!==1,je.dayTextureNightAlpha[en]=fo.nightAlpha,ru=ru||je.dayTextureNightAlpha[en]!==1,je.dayTextureDayAlpha[en]=fo.dayAlpha,ru=ru||je.dayTextureDayAlpha[en]!==1,je.dayTextureBrightness[en]=fo.brightness,Ji=Ji||je.dayTextureBrightness[en]!==Sa.DEFAULT_BRIGHTNESS,je.dayTextureContrast[en]=fo.contrast,ys=ys||je.dayTextureContrast[en]!==Sa.DEFAULT_CONTRAST,je.dayTextureHue[en]=fo.hue,Zr=Zr||je.dayTextureHue[en]!==Sa.DEFAULT_HUE,je.dayTextureSaturation[en]=fo.saturation,ou=ou||je.dayTextureSaturation[en]!==Sa.DEFAULT_SATURATION,je.dayTextureOneOverGamma[en]=1/fo.gamma,wo=wo||je.dayTextureOneOverGamma[en]!==1/Sa.DEFAULT_GAMMA,je.dayTextureSplit[en]=fo.splitDirection,Ic=Ic||je.dayTextureSplit[en]!==0,lp=lp||!!fo.invertColor,je.mars3dTextureInvertColor[en]=!!fo.invertColor,cr=cr||!!fo.filterColor,fo.filterColor?je.mars3dTextureFilterColor[en]=new h(fo.filterColor.red,fo.filterColor.green,fo.filterColor.blue):je.mars3dTextureFilterColor[en]=new h(1,1,1);let pm=je.dayTextureCutoutRectangles[en];if(l(pm)||(pm=je.dayTextureCutoutRectangles[en]=new se),se.clone(se.ZERO,pm),l(fo.cutoutRectangle)){let Za=c3(et,fo.cutoutRectangle),Uh=ce.simpleIntersection(Za,et,uxe);kh=l(Uh)||kh,pm.x=(Za.west-et.west)*Mt,pm.y=(Za.south-et.south)*xn,pm.z=(Za.east-et.west)*Mt,pm.w=(Za.north-et.south)*xn}let bm=je.colorsToAlpha[en];l(bm)||(bm=je.colorsToAlpha[en]=new se);let up=l(fo.colorToAlpha)&&fo.colorToAlphaThreshold>0;if(zo=zo||up,up){let Za=fo.colorToAlpha;bm.x=Za.red,bm.y=Za.green,bm.z=Za.blue,bm.w=fo.colorToAlphaThreshold}else bm.w=-1;if(l(vs.credits)){let Za=vs.credits;for(let Uh=0,AM=Za.length;Uh<AM;++Uh)r.addCreditToNextFrame(Za[Uh])}++en}je.dayTextures.length=en,je.waterMask=c,se.clone(d,je.waterMaskTranslationAndScale),je.minMaxHeight.x=z.minimumHeight,je.minMaxHeight.y=z.maximumHeight,M.clone(z.matrix,je.scaleAndBias);let dp=e._clippingPlanes,Zo=l(dp)&&dp.enabled&&t.isClipped;Zo&&(je.clippingPlanesEdgeColor=B.clone(dp.edgeColor,je.clippingPlanesEdgeColor),je.clippingPlanesEdgeWidth=dp.edgeWidth);let fm=e._clippingPolygons,Ky=l(fm)&&fm.enabled&&t.isClipped;we.numberOfDayTextures=en,we.applyBrightness=Ji,we.applyContrast=ys,we.applyHue=Zr,we.applySaturation=ou,we.applyGamma=wo,we.applyAlpha=Gr,we.applyDayNightAlpha=ru,we.applySplit=Ic,we.enableFog=To,we.enableClippingPlanes=Zo,we.clippingPlanes=dp,we.enableClippingPolygons=Ky,we.clippingPolygons=fm,we.hasImageryLayerCutout=kh,we.colorCorrect=U,we.highlightFillTile=ia,we.colorToAlpha=zo,we.showUndergroundColor=V,we.translucent=p,we.marsOptions={invertColor:lp,filterColor:cr,enableUplift:e?._marsOptions?.uplift?.enabled,enableFlat:e?._marsOptions?.flat?.enabled,enableClip:e?._marsOptions?.clip?.enabled,enableFlood:e?._marsOptions?.flood?.enabled};let Lb=o.renderedMesh.indices.length;Fe||(Lb=o.renderedMesh.indexCountWithoutSkirts),Qt.shaderProgram=e._surfaceShaderSet.getShaderProgram(we),Qt.castShadows=E,Qt.receiveShadows=X,Qt.renderState=Ut,Qt.primitiveType=Me.TRIANGLES,Qt.vertexArray=o.vertexArray||o.fill.vertexArray,Qt.count=Lb,Qt.uniformMap=mo,Qt.pass=Ze.GLOBE,e._debug.wireframe&&(Smt(Ve,e,t),l(o.wireframeVertexArray)&&(Qt.vertexArray=o.wireframeVertexArray,Qt.primitiveType=Me.LINES,Qt.count=Lb*2));let xs=Qt.boundingVolume,Ra=Qt.orientedBoundingBox;n.mode!==oe.SCENE3D?(le.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,te.minimumHeight,te.maximumHeight,xs),h.fromElements(xs.center.z,xs.center.x,xs.center.y,xs.center),n.mode===oe.MORPHING&&(xs=le.union(te.boundingSphere,xs,xs))):(Qt.boundingVolume=le.clone(te.boundingSphere,xs),Qt.orientedBoundingBox=Xn.clone(te.boundingVolume,Ra)),Qt.dirty=!0,p&&m.updateDerivedCommands(Qt,n),dxe(Qt,n),Ut=Qe,Ce=Vmt}while(rt<Rt)}var NF=rr;var mFi=T(S(),1);function pxe(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=ce.clone(ce.MAX_VALUE)}Object.defineProperties(pxe.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=kt.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=kt.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){l(e)||(e=ce.clone(ce.MAX_VALUE)),ce.clone(e,this._rectangle)}}});var kF=pxe;var TFi=T(S(),1);function Ps(){this._layers=[],this.layerAdded=new be,this.layerRemoved=new be,this.layerMoved=new be,this.layerShownOrHidden=new be}Object.defineProperties(Ps.prototype,{length:{get:function(){return this._layers.length}}});Ps.prototype.add=function(e,t){l(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t);let i=e.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(e,e._layerIndex,e.show),i()})};Ps.prototype.addImageryProvider=function(e,t){let n=new Sa(e);return this.add(n,t),n};Ps.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};Ps.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};Ps.prototype.contains=function(e){return this.indexOf(e)!==-1};Ps.prototype.indexOf=function(e){return this._layers.indexOf(e)};Ps.prototype.get=function(e){return this._layers[e]};function d3(e,t){return e.indexOf(t)}function bxe(e,t,n){let i=e._layers;if(t=W.clamp(t,0,i.length-1),n=W.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}Ps.prototype.raise=function(e){let t=d3(this._layers,e);bxe(this,t,t+1)};Ps.prototype.lower=function(e){let t=d3(this._layers,e);bxe(this,t,t-1)};Ps.prototype.raiseToTop=function(e){let t=d3(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))};Ps.prototype.lowerToBottom=function(e){let t=d3(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var Gmt=new ce;function gxe(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!l(r)&&a<o.length;++a){let c=o[a];ce.contains(c.rectangle,t)&&(r=c)}if(!l(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],d=c.readyImagery;if(!l(d)||!d.imageryLayer.ready)continue;let u=d.imageryLayer.imageryProvider;if(n&&!l(u.pickFeatures)||!ce.contains(d.rectangle,t))continue;let m=Gmt,p=1/1024;m.west=W.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),m.east=W.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),m.south=W.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),m.north=W.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),ce.contains(m,t)&&i(d)}}Ps.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[];if(gxe(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};Ps.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(gxe(t,i,!0,function(s){if(!s.imageryLayer.ready)return;let a=s.imageryLayer.imageryProvider;for(let d=0;d<r.length;d++)if(r[d]===s.imageryLayer)return;let c=a.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);l(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let d=s[c],u=r[c];if(l(d)&&d.length>0)for(let m=0;m<d.length;++m){let p=d[m];p.imageryLayer=u,l(p.position)||(p.position=i),a.push(p)}}return a})};Ps.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};Ps.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};Ps.prototype.isDestroyed=function(){return!1};Ps.prototype.destroy=function(){return this.removeAll(!0),me(this)};Ps.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(l(i._show)&&(l(n)||(n=[]),n.push(i)),i._show=i.show);if(l(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var UF=Ps;var tAi=T(S(),1);var LFi=T(S(),1);function yxe(e){this._ellipsoid=new v0(e.ellipsoid,h.ZERO)}Object.defineProperties(yxe.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var DF=yxe;var XFi=T(S(),1);function sl(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=Qn.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=ta.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}sl.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new sl({tilingScheme:e,x:s,y:r,level:0});return i};sl.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(l(t)&&l(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],ce.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(l(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],ce.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties(sl.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return l(this._southwestChild)||(this._southwestChild=new sl({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return l(this._southeastChild)||(this._southeastChild=new sl({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return l(this._northwestChild)||(this._northwestChild=new sl({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return l(this._northeastChild)||(this._northeastChild=new sl({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<ta.DONE}},eligibleForUnloading:{get:function(){let e=!0;return l(this.data)&&(e=this.data.eligibleForUnloading,l(e)||(e=!0)),e}}});sl.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};sl.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};sl.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};sl.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};sl.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};sl.prototype.freeResources=function(){this.state=ta.START,this.renderable=!1,this.upsampledFromParent=!1,l(this.data)&&l(this.data.freeResources)&&this.data.freeResources(),u3(this._southwestChild),this._southwestChild=void 0,u3(this._southeastChild),this._southeastChild=void 0,u3(this._northwestChild),this._northwestChild=void 0,u3(this._northeastChild),this._northeastChild=void 0};function u3(e){l(e)&&e.freeResources()}var BF=sl;var vFi=T(S(),1);function m3(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}m3.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};m3.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&l(this._lastBeforeStartOfFrame)&&this.count>e&&l(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),xxe(this,t)),t=i}};function xxe(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}m3.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!l(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(l(e.replacementPrevious)||l(e.replacementNext))&&xxe(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var OF=m3;function rm(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new OF,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new DF({ellipsoid:n}),this._tileLoadProgressEvent=new be,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(rm.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});rm.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function Emt(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,Txe(e);let n=e._levelZeroTiles;if(l(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}rm.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;l(t);)t.state!==ta.START&&e(t),t=t.replacementNext};rm.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};rm.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};rm.prototype.update=function(e){l(this._tileProvider.update)&&this._tileProvider.update(e)};function Txe(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}rm.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(Emt(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),Txe(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};rm.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),Pmt(this,e),Bmt(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function Imt(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;if(n!==e._lastTileLoadQueueLength||e._tilesInvalidated){let o=be.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n);t.afterRender.push(()=>(o(),!0)),e._lastTileLoadQueueLength=n}let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}rm.prototype.endFrame=function(e){!e.passes.render||e.mode===oe.MORPHING||(Nmt(this,e),Dmt(this,e),Imt(this,e))};rm.prototype.isDestroyed=function(){return!1};rm.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var zF,_xe=new he;function Xmt(e,t){let n=ce.center(e.rectangle,_xe),i=n.longitude-zF.longitude,o=n.latitude-zF.latitude;n=ce.center(t.rectangle,_xe);let r=n.longitude-zF.longitude,s=n.latitude-zF.latitude;return i*i+o*o-(r*r+s*s)}var Wmt=new h,YF=[];function Pmt(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!l(e._levelZeroTiles)){let x=r.tilingScheme;if(l(x)){let _=r.tilingScheme;e._levelZeroTiles=BF.createLevelZeroTiles(_);let C=e._levelZeroTiles.length;if(YF.length<C)for(YF=new Array(C),o=0;o<C;++o)YF[o]===void 0&&(YF[o]=new HF)}else return}e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;zF=t.camera.positionCartographic,a.sort(Xmt);let d=e._addHeightCallbacks,u=e._removeHeightCallbacks,m=t.frameNumber,p;if(d.length>0||u.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(m,d,u);d.length=0,u.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let f=M.getTranslation(g.transform,Wmt);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(f,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?za(e,s,r,t,c,!1,YF[o]):(lb(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=m}function lb(e,t,n,i){n.needsLoading&&(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function HF(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function Sxe(){this.southwest=new HF,this.southeast=new HF,this.northwest=new HF,this.northeast=new HF}Sxe.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var Qj=new Array(31);for(let e=0;e<Qj.length;++e)Qj[e]=new Sxe;function vmt(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=Amt(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,d=n.northwestChild,u=n.northeastChild,m=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===m?n._lastSelectionResult:Qn.NONE,g=e.tileProvider;if(s||i){let f=Qn.originalResult(p)===Qn.RENDERED,x=Qn.originalResult(p)===Qn.CULLED||p===Qn.NONE,_=n.state===ta.DONE,C=f||x||_;if(C||l(g.canRenderWithoutLosingDetail)&&(C=g.canRenderWithoutLosingDetail(n)),C){s&&lb(e,e._tileLoadQueueMedium,n,t),h3(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Qn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&lb(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&d.upsampledFromParent&&u.upsampledFromParent){h3(e,n),lb(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(d),e._tileReplacementQueue.markTileRendered(u),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Qn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.REFINED;let x=e._tilesToRender.length,_=e._tileLoadQueueLow.length,C=e._tileLoadQueueMedium.length,V=e._tileLoadQueueHigh.length,L=e._tileToUpdateHeights.length;if(wmt(e,a,c,d,u,t,i,o),x!==e._tilesToRender.length){let Z=o.allAreRenderable,G=o.anyWereRenderedLastFrame,I=o.notYetRenderableCount,v=!1;if(!Z&&!G){let P=e._tilesToRender;for(let F=x;F<P.length;++F){let b=P[F];for(;b!==void 0&&b._lastSelectionResult!==Qn.KICKED&&b!==n;)b._lastSelectionResult=Qn.kick(b._lastSelectionResult),b=b.parent}e._tilesToRender.length=x,e._tileToUpdateHeights.length=L,h3(e,n),n._lastSelectionResult=Qn.RENDERED;let w=p===Qn.RENDERED;!w&&I>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=_,e._tileLoadQueueMedium.length=C,e._tileLoadQueueHigh.length=V,lb(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,v=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=w,w||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!v&&lb(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.RENDERED,h3(e,n),lb(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Qn.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function wmt(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,d=e._tileProvider,u=e._occluders,m=Qj[t.level],p=m.southwest,g=m.southeast,f=m.northwest,x=m.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(za(e,t,d,r,u,s,p),za(e,n,d,r,u,s,g),za(e,i,d,r,u,s,f),za(e,o,d,r,u,s,x)):(za(e,i,d,r,u,s,f),za(e,t,d,r,u,s,p),za(e,o,d,r,u,s,x),za(e,n,d,r,u,s,g)):c.latitude<t.rectangle.north?(za(e,n,d,r,u,s,g),za(e,t,d,r,u,s,p),za(e,o,d,r,u,s,x),za(e,i,d,r,u,s,f)):(za(e,o,d,r,u,s,x),za(e,i,d,r,u,s,f),za(e,n,d,r,u,s,g),za(e,t,d,r,u,s,p)),m.combine(a)}function Fmt(e,t){let n=t.rectangle;return l(e._cameraPositionCartographic)&&ce.contains(n,e._cameraPositionCartographic)||l(e._cameraReferenceFrameOriginCartographic)&&ce.contains(n,e._cameraReferenceFrameOriginCartographic)}function za(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==pr.NONE)return vmt(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,Fmt(e,t)){(!l(t.data)||!l(t.data.vertexArray))&&lb(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:Qn.NONE;c!==Qn.CULLED_BUT_NEEDED&&c!==Qn.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=Qn.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(lb(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=Qn.CULLED):t._lastSelectionResult=Qn.CULLED;t._lastSelectionResultFrame=i.frameNumber}function Amt(e,t,n){if(t.mode===oe.SCENE2D||t.camera.frustum instanceof ln||t.camera.frustum instanceof Xr)return Mmt(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=W.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function Mmt(e,t,n){let o=t.camera.frustum,r=o.offCenterFrustum;l(r)&&(o=r);let s=t.context,a=s.drawingBufferWidth,c=s.drawingBufferHeight,d=e._tileProvider.getLevelMaximumGeometricError(n.level),u=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(a,c),m=d/u;return t.fog.enabled&&t.mode!==oe.SCENE2D&&(m-=W.fog(n._distance,t.fog.density)*t.fog.sse),m/=t.pixelRatio,m}function h3(e,t){e._tilesToRender.push(t)}function Nmt(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=_i()+e._loadQueueTimeSlice,s=e._tileProvider,a=Kj(e,t,s,r,n,!1);a=Kj(e,t,s,r,i,a),Kj(e,t,s,r,o,a)}function kmt(e,t){return e._loadPriority-t._loadPriority}function Kj(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(kmt);for(let s=0,a=o.length;s<a&&(_i()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var rL=new gn,Jj=new he,Ry=new h,Umt=[];function Dmt(e,t){if(!l(e.tileProvider.tilingScheme))return;let n=Umt;n.length=0;let i=e._tileToUpdateHeights,o=_i(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,d=e.tileProvider.tilingScheme.ellipsoid,u;for(;i.length>0;){let m=i[0];if(!l(m.data)||!l(m.data.mesh)){let x=m._lastSelectionResultFrame===e._lastSelectionFrameNumber?m._lastSelectionResult:Qn.NONE;(x===Qn.RENDERED||x===Qn.CULLED_BUT_NEEDED)&&n.push(m),i.shift(),e._lastTileIndex=0;continue}let p=m.customData,g=p.length,f=!1;for(u=e._lastTileIndex;u<g;++u){let x=p[u],_=m.data.terrainData,C=l(_)&&_.wasCreatedByUpsampling();if(m.level>x.level&&!C){if(l(x.positionOnEllipsoidSurface)||(x.positionOnEllipsoidSurface=h.fromRadians(x.positionCartographic.longitude,x.positionCartographic.latitude,0,d)),a===oe.SCENE3D){let L=d.geodeticSurfaceNormal(x.positionOnEllipsoidSurface,rL.direction),Z=d.getSurfaceNormalIntersectionWithZAxis(x.positionOnEllipsoidSurface,11500,rL.origin);if(!l(Z)){let G=0;l(m.data.tileBoundingRegion)&&(G=m.data.tileBoundingRegion.minimumHeight);let I=Math.min(G,-11500),v=h.multiplyByScalar(L,Math.abs(I)+1,Ry);h.subtract(x.positionOnEllipsoidSurface,v,rL.origin)}}else he.clone(x.positionCartographic,Jj),Jj.height=-11500,c.project(Jj,Ry),h.fromElements(Ry.z,Ry.x,Ry.y,Ry),h.clone(Ry,rL.origin),h.clone(h.UNIT_X,rL.direction);let V=m.data.pick(rL,a,c,!1,Ry);l(V)&&(l(x.callback)&&x.callback(V),x.level=m.level)}if(_i()>=s){f=!0;break}}if(f){e._lastTileIndex=u;break}else e._lastTileIndex=0,i.shift()}for(u=0;u<n.length;u++)i.push(n[u])}function Bmt(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var KF=rm;function Wh(e){e=y(e,ne.default);let t=new UT({ellipsoid:e}),n=new UF;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new wF,this._material=void 0,this._surface=new KF({tileProvider:new NF({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new be,this._undergroundColor=B.clone(B.BLACK),this._undergroundColorAlphaByDistance=new kt(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new kF,qj(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Ge({url:sn("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=ne.WGS84.equals(e),this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=W.PI_OVER_TWO*e.minimumRadius,this.lightingFadeInDistance=W.PI*e.minimumRadius,this.nightFadeOutDistance=W.PI_OVER_TWO*e.minimumRadius,this.nightFadeInDistance=5*W.PI_OVER_TWO*e.minimumRadius,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=Sn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3}Object.defineProperties(Wh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return l(this._surface)?this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},clippingPolygons:{get:function(){return this._surface.tileProvider.clippingPolygons},set:function(e){this._surface.tileProvider.clippingPolygons=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){l(e)||(e=ce.clone(ce.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),l(this._material)&&qj(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,qj(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=B.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=kt.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function qj(e){let t=[],n=l(e._material)&&(l(e._material.shaderSource.match(/slope/))||l(e._material.shaderSource.match("normalEC"))),i=[cb,qV];l(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(PF),e._surfaceShaderSet.baseVertexShaderSource=new Ye({sources:[cb,qV,vF],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new Ye({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function Omt(e){return function(t,n){let i=le.distanceSquaredTo(t.pickBoundingSphere,e),o=le.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var Ymt=[],zmt={start:0,stop:0};Wh.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=Ymt;s.length=0;let a=this._surface._tilesToRender,c=a.length,d,u;for(u=0;u<c;++u){d=a[u];let p=d.data;if(!l(p))continue;let g=p.pickBoundingSphere;if(o!==oe.SCENE3D)p.pickBoundingSphere=g=le.fromRectangleWithHeights2D(d.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(l(p.renderedMesh))le.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let f=ei.raySphere(e,g,zmt);l(f)&&s.push(p)}s.sort(Omt(e.origin));let m;for(c=s.length,u=0;u<c&&(m=s[u].pick(e,t.mode,t.mapProjection,n,i),!l(m));++u);return m};var Hmt=new he;Wh.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),l(n)&&t.mode!==oe.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,Hmt);n=this._ellipsoid.cartographicToCartesian(i,n)}return n};var Kmt=new h,Cxe=new h,Jmt=new he,Qmt=new gn;function jj(e,t){return l(e)&&ce.contains(e.rectangle,t)?e:void 0}Wh.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!l(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!ce.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;l(n);)n=jj(n._southwestChild,e)||jj(n._southeastChild,e)||jj(n._northwestChild,e)||n._northeastChild,l(n)&&l(n.data)&&l(n.data.renderedMesh)&&(r=n);if(n=r,!l(n)||!l(n.data)||!l(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,Kmt),d=Qmt,u=a.geodeticSurfaceNormal(c,d.direction),m=a.getSurfaceNormalIntersectionWithZAxis(c,11500,d.origin);if(!l(m)){let g;l(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let f=Math.min(y(g,0),-11500),x=h.multiplyByScalar(u,Math.abs(f)+1,Cxe);h.subtract(c,x,d.origin)}let p=n.data.pick(d,void 0,s,!1,Cxe);if(l(p))return a.cartesianToCartographic(p,Jmt).height};Wh.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)};Wh.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=l(i)&&i.hasWaterMask&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(l(c)){let d=this;a.fetchImage().then(function(u){c===d._oceanNormalMapResource.url&&(d._oceanNormalMap=d._oceanNormalMap&&d._oceanNormalMap.destroy(),d._oceanNormalMap=new wt({context:e.context,source:u}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===oe.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.showWaterEffect=this.showWaterEffect,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.vertexShadowDarkness=this.vertexShadowDarkness,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};Wh.prototype.render=function(e){this.show&&(l(this._material)&&this._material.update(e.context),this._surface.render(e))};Wh.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)};Wh.prototype.isDestroyed=function(){return!1};Wh.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),me(this)};var JF=Wh;var $Ai=T(S(),1);var wAi=T(S(),1),ed=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = texture(colorTexture, v_textureCoordinates); -} -`;var AAi=T(S(),1),Zy=`uniform highp sampler2D u_depthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); -} -`;function $f(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new fi({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new fi({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new fi,this._tempCopyDepthFramebuffer=new fi,this._updateDepthFramebuffer=new fi({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new Ke,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties($f.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function Vxe(e,t,n,i,o){let r=e._viewport;r.width=n,r.height=i;let s=!Ke.equals(r,o.viewport),a=s!==e._useScissorTest;e._useScissorTest=s,Ke.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ke.clone(o.viewport,e._scissorRectangle),a=!0),(!l(e._rs)||!Ke.equals(r,e._rs.viewport)||a)&&(e._rs=Be.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=Be.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:hn.ALPHA_BLEND}),e._rsUpdate=Be.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Bn.EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.NEVER,reference:Bt.CESIUM_3D_TILE_MASK,mask:Bt.CESIUM_3D_TILE_MASK}})),l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(Zy,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,l(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(ed,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,l(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(Zy,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,l(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(ed,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,l(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new ni({color:new B(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}$f.prototype.update=function(e,t,n,i,o,r){let{width:s,height:a}=n,c=o?e.halfFloatingPointTexture?it.HALF_FLOAT:it.FLOAT:it.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),Vxe(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._clearGlobeDepth=r};$f.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};$f.prototype.executeCopyDepth=function(e,t){l(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};$f.prototype.executeUpdateDepth=function(e,t,n){let i=l(n)?n:t.framebuffer.depthStencilTexture;if(!this._clearGlobeDepth&&i===this.colorFramebufferManager.getDepthStencilTexture()){l(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t);return}if(!l(this._updateDepthCommand))return;let o=this._updateDepthFramebuffer;if(!l(o.framebuffer)||o.getDepthStencilTexture()!==i||o.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture(),{width:s,height:a}=r;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,s,a),o.setColorTexture(r,0),o.setDepthStencilTexture(i),o.update(e,s,a),Vxe(this,e,s,a,t)}this._tempCopyDepthTexture=i,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)};$f.prototype.executeCopyColor=function(e,t){l(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};$f.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;l(i)&&(B.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};$f.prototype.isDestroyed=function(){return!1};$f.prototype.destroy=function(){return this._pickColorFramebuffer.destroy(),this._outputFramebuffer.destroy(),this._copyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.destroy(),this._updateDepthFramebuffer.destroy(),l(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),l(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),l(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),me(this)};var QF=$f;var d9i=T(S(),1);function BT(){this._framebuffer=new fi({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new fi,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new Ke,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(BT.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function jmt(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function qmt(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?it.HALF_FLOAT:it.FLOAT:it.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function $mt(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!Ke.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,Ke.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ke.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._renderState)||!Ke.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(Zy,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),l(e._clearCommand)||(e._clearCommand=new ni({color:new B(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}BT.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;qmt(this,n,o,r,e),$mt(this,n,o,r,i),this._useHdr=e};BT.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};BT.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};BT.prototype.isDestroyed=function(){return!1};BT.prototype.destroy=function(){return jmt(this),me(this)};var jF=BT;var V9i=T(S(),1);var Ca={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},OT=Ca.DERIVED_COMMANDS_MAXIMUM_LENGTH,vxe=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function YT(){this._frontFaceAlphaByDistance=new kt(0,1,0,1),this._backFaceAlphaByDistance=new kt(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=ce.clone(ce.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(OT),this._derivedBlendCommandTypes=new Array(OT),this._derivedPickCommandTypes=new Array(OT),this._derivedCommandTypesToUpdate=new Array(OT),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(YT.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});YT.prototype.update=function(e){let t=e.globe;if(!l(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=Lxe(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=Lxe(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=Rxe(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=Rxe(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=iht(this,e,t),this._sunVisibleThroughGlobe=eht(this,e),this._environmentVisible=tht(this,e),this._useDepthPlane=nht(this,e),this._numberOfTextureUniforms=oht(this),this._rectangle=ce.clone(t.translucency.rectangle,this._rectangle),rht(this,e)};function Lxe(e,t,n,i){return e?l(n)?(kt.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function Rxe(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function eht(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function tht(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function nht(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function iht(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==oe.SCENE2D&&t.context.depthTexture}function oht(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function rht(e,t){e._derivedCommandsLength=$j(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=$j(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=$j(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<OT;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!l(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=_ht())}function $j(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,d=e._requiresManualDepthTest,u=i?Ca.PICK_FRONT_FACE:d?Ca.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:Ca.TRANSLUCENT_FRONT_FACE,m=i?Ca.PICK_BACK_FACE:d?Ca.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:Ca.TRANSLUCENT_BACK_FACE;return t.mode===oe.SCENE2D?(o[r++]=Ca.DEPTH_ONLY_FRONT_FACE,o[r++]=u,r):(a?(n||(o[r++]=Ca.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=u,o[r++]=m):(o[r++]=m,o[r++]=u)):c?(n||(o[r++]=Ca.DEPTH_ONLY_BACK_FACE),o[r++]=Ca.OPAQUE_FRONT_FACE,o[r++]=m):(n||(o[r++]=Ca.DEPTH_ONLY_FRONT_FACE),o[r++]=Ca.OPAQUE_BACK_FACE,o[r++]=u),r)}function sm(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Zxe(e,t){return e.indexOf(t)>-1}function sht(e,t){sm(e.defines,"TRANSLUCENT"),sm(t.defines,"TRANSLUCENT")}function aht(e,t){sm(e.defines,"GROUND_ATMOSPHERE"),sm(t.defines,"GROUND_ATMOSPHERE"),sm(e.defines,"FOG"),sm(t.defines,"FOG"),sm(e.defines,"TRANSLUCENT"),sm(t.defines,"TRANSLUCENT")}function e8(e,t){if(Zxe(t.defines,"TILE_LIMIT_RECTANGLE")||Zxe(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main() -{ - out_FragColor = vec4(1.0); -} -`;t.sources=[n]}function t8(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=Ye.replaceMain(n[r],"czm_globe_translucency_main");n.push(` - -uniform sampler2D u_classificationTexture; -void main() -{ - vec2 st = gl_FragCoord.xy / czm_viewport.zw; -#ifdef MANUAL_DEPTH_TEST - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); - if (logDepthOrDepth != 0.0) - { - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); - float depthEC = eyeCoordinate.z / eyeCoordinate.w; - if (v_positionEC.z < depthEC) - { - discard; - } - } -#endif - czm_globe_translucency_main(); - vec4 classificationColor = texture(u_classificationTexture, st); - if (classificationColor.a > 0.0) - { - // Reverse premultiplication process to get the correct composited result of the classification primitives - classificationColor.rgb /= classificationColor.a; - } - out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); -} -`)}function wxe(e,t){t8(e,t),sm(e.defines,"GROUND_ATMOSPHERE"),sm(t.defines,"GROUND_ATMOSPHERE"),sm(e.defines,"FOG"),sm(t.defines,"FOG")}function cht(e,t){t8(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function lht(e,t){wxe(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Gxe(e,t){let n=`uniform sampler2D u_classificationTexture; -void main() -{ - vec2 st = gl_FragCoord.xy / czm_viewport.zw; - vec4 pickColor = texture(u_classificationTexture, st); - if (pickColor == vec4(0.0)) - { - discard; - } - out_FragColor = pickColor; -} -`;t.sources=[n]}function dht(e,t,n,i,o,r){if(!l(o))return t;if(!i&&l(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!l(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),d=t.fragmentShaderSource.clone();c.defines=l(c.defines)?c.defines.slice(0):[],d.defines=l(d.defines)?d.defines.slice(0):[],o(c,d),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:d,attributeLocations:a})}return s}function uht(e){e.cull.face=yi.BACK,e.cull.enabled=!0}function mht(e){e.cull.face=yi.FRONT,e.cull.enabled=!0}function hht(e){e.cull.face=yi.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function fht(e){e.cull.face=yi.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function pht(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Exe(e){e.cull.face=yi.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=hn.ALPHA_BLEND}function Ixe(e){e.cull.face=yi.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=hn.ALPHA_BLEND}function bht(e){e.cull.face=yi.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function ght(e){e.cull.face=yi.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function yht(e,t,n,i,o){if(!l(i))return e;if(!n&&l(t))return t;let r=o[e.id];if(!l(r)){let s=Be.getState(e);i(s),r=Be.fromCache(s),o[e.id]=r}return r}function sL(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function xht(e,t,n,i,o){return l(o)?!i&&l(n)?n:Tt(t,o(e),!1):t}function Ph(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function _ht(){return[new Ph({pass:Ze.GLOBE,pickOnly:!1,getShaderProgramFunction:sht,getRenderStateFunction:uht,getUniformMapFunction:void 0}),new Ph({pass:Ze.GLOBE,pickOnly:!1,getShaderProgramFunction:aht,getRenderStateFunction:mht,getUniformMapFunction:void 0}),new Ph({pass:Ze.GLOBE,pickOnly:!1,getShaderProgramFunction:e8,getRenderStateFunction:hht,getUniformMapFunction:void 0}),new Ph({pass:Ze.GLOBE,pickOnly:!1,getShaderProgramFunction:e8,getRenderStateFunction:fht,getUniformMapFunction:void 0}),new Ph({pass:Ze.GLOBE,pickOnly:!1,getShaderProgramFunction:e8,getRenderStateFunction:pht,getUniformMapFunction:void 0}),new Ph({pass:Ze.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:t8,getRenderStateFunction:Exe,getUniformMapFunction:sL}),new Ph({pass:Ze.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:wxe,getRenderStateFunction:Ixe,getUniformMapFunction:sL}),new Ph({pass:Ze.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:cht,getRenderStateFunction:Exe,getUniformMapFunction:sL}),new Ph({pass:Ze.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:lht,getRenderStateFunction:Ixe,getUniformMapFunction:sL}),new Ph({pass:Ze.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Gxe,getRenderStateFunction:bht,getUniformMapFunction:sL}),new Ph({pass:Ze.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Gxe,getRenderStateFunction:ght,getUniformMapFunction:sL})]}var Xxe=new Array(OT),Wxe=new Array(OT);YT.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)Wxe[o]=this._derivedCommandPacks[n[o]],Xxe[o]=vxe[n[o]];Tht(this,e,i,n,Xxe,Wxe,t)}};function Tht(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!l(a)||c){t.dirty=!1,l(a)||(a={},t.derivedCommands.globeTranslucency=a);let d=s.frameNumber,u=y(a.uniformMapDirtyFrame,0),m=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,f=a.shaderProgramId!==t.shaderProgram.id,x=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=d),f&&(a.shaderProgramDirtyFrame=d),x&&(a.renderStateDirtyFrame=d),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let _=0;_<n;++_){let C=r[_],V=i[_],L=o[_],Z=a[L],G,I,v;l(Z)?(G=Z.uniformMap,I=Z.shaderProgram,v=Z.renderState):(G=void 0,I=void 0,v=void 0),Z=tt.shallowClone(t,Z),a[L]=Z;let P=y(Z.derivedCommands.uniformMapDirtyFrame,0),w=y(Z.derivedCommands.shaderProgramDirtyFrame,0),F=y(Z.derivedCommands.renderStateDirtyFrame,0),b=g||P<u,R=f||w<m,E=x||F<p;b&&(Z.derivedCommands.uniformMapDirtyFrame=d),R&&(Z.derivedCommands.shaderProgramDirtyFrame=d),E&&(Z.derivedCommands.renderStateDirtyFrame=d),Z.derivedCommands.type=V,Z.pass=C.pass,Z.pickOnly=C.pickOnly,Z.uniformMap=xht(e,t.uniformMap,G,b,C.getUniformMapFunction),Z.shaderProgram=dht(s.context,t.shaderProgram,I,R,C.getShaderProgramFunction,L),Z.renderState=yht(t.renderState,v,E,C.getRenderStateFunction,C.renderStateCache)}}}YT.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick||n.passes.pickVoxel;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=vxe[o[a]];n.commandList.push(s[c])}};function Fxe(e,t,n,i,o,r){for(let s=0;s<t;++s){let a=e[s],c=a.derivedCommands.type;(!l(r)||r.indexOf(c)>-1)&&n(a,i,o)}}function Pxe(e,t,n,i,o){for(let r=0;r<t;++r)n(e[r],i,o)}var Sht=[Ca.OPAQUE_FRONT_FACE,Ca.OPAQUE_BACK_FACE],Cht=[Ca.DEPTH_ONLY_FRONT_FACE,Ca.DEPTH_ONLY_BACK_FACE,Ca.DEPTH_ONLY_FRONT_AND_BACK_FACE];YT.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[Ze.GLOBE],a=e.indices[Ze.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),Fxe(s,a,t,i,o,Sht))};YT.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let{context:r}=i,{uniformState:s}=r,a=e.commands[Ze.GLOBE],c=e.indices[Ze.GLOBE],d=e.commands[Ze.TERRAIN_CLASSIFICATION],u=e.indices[Ze.TERRAIN_CLASSIFICATION];if(c===0||u===0)return;let m=this._frontFaceTranslucent,p=this._backFaceTranslucent;if((!m||!p)&&Pxe(d,u,t,i,o),!m&&!p)return;this._globeTranslucencyFramebuffer=n;let g=s.globeDepthTexture,f=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,Fxe(a,c,t,i,o,Cht),r.depthTexture){let x=n.packDepth(r,o);s.globeDepthTexture=x}Pxe(d,u,t,i,o),s.globeDepthTexture=g,o.framebuffer=f};var qF=YT;var cMi=T(S(),1);var Z9i=T(S(),1);var Vht=1953029805,Lht=2917034100;function n8(e,t){if(n8.passThroughDataForTesting)return t;let n=e.byteLength;if(n===0||n%4!==0)throw new de("The length of key must be greater than 0 and a multiple of 4.");let i=new DataView(t),o=i.getUint32(0,!0);if(o===Vht||o===Lht)return t;let r=new DataView(e),s=0,a=t.byteLength,c=a-a%8,d=n,u,m=8;for(;s<c;)for(m=(m+8)%24,u=m;s<c&&u<d;)i.setUint32(s,i.getUint32(s,!0)^r.getUint32(u,!0),!0),i.setUint32(s+4,i.getUint32(s+4,!0)^r.getUint32(u+4,!0),!0),s+=8,u+=24;if(s<a)for(u>=d&&(m=(m+8)%24,u=m);s<a;)i.setUint8(s,i.getUint8(s)^r.getUint8(u)),s++,u++}n8.passThroughDataForTesting=!1;var $F=n8;var K9i=T(S(),1),Xht=T(i8(),1);var v9i=T(S(),1);var I9i=T(S(),1);function Rht(e,t){return(e&t)!==0}var Rc=Rht;var Zht=[1,2,4,8],Axe=15,Ght=16,Eht=64,Iht=128;function ep(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}ep.clone=function(e,t){return l(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new ep(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t};ep.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()};ep.prototype.hasSubtree=function(){return Rc(this._bits,Ght)};ep.prototype.hasImagery=function(){return Rc(this._bits,Eht)};ep.prototype.hasTerrain=function(){return Rc(this._bits,Iht)};ep.prototype.hasChildren=function(){return Rc(this._bits,Axe)};ep.prototype.hasChild=function(e){return Rc(this._bits,Zht[e])};ep.prototype.getChildBitmask=function(){return this._bits&Axe};var eA=ep;function Wht(e){let t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}var Pht=Wht(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y -wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB -\f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 -\xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 -ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS ->\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 -\x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function jd(e){this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=W.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={}}Object.defineProperties(jd.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}}});jd.fromUrl=async function(e){let t=e;typeof t!="string"&&!(t instanceof Ge)&&(t=e.url);let n=Ge.createIfNeeded(t);n.appendForwardSlash();let i=new jd;i._resource=n;try{await vht(i),await i.getQuadTreePacket("",i._quadPacketVersion)}catch(o){let r=`An error occurred while accessing ${Nxe(i,"",1).url}: ${o}`;throw new de(r)}return i};jd.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;Rc(t,r)?Rc(e,r)&&(s|=1):(s|=2,Rc(e,r)||(s|=1)),i+=s}return i};jd.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];Rc(s,2)?Rc(s,1)||(t|=r):(n|=r,Rc(s,1)&&(t|=r))}return{x:t,y:n,level:i}};jd.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(l(t))return t!==null;let n=!0,i=e,o;for(;i.length>1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),l(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var Mxe=new bi("decodeGoogleEarthEnterprisePacket");jd.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=Nxe(this,e,t,n).fetchArrayBuffer();if(!l(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return Mxe.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(d){let u,m=-1;if(e!==""){m=e.length+1;let f=d[e];u=r[e],u._bits|=f._bits,delete d[e]}let p=Object.keys(d);p.sort(function(f,x){return f.length-x.length});let g=p.length;for(let f=0;f<g;++f){let x=p[f];if(d[x]!==null){let C=eA.clone(d[x]),V=x.length;if(V===m)C.setParent(u);else if(V>1){let L=r[x.substring(0,x.length-1)];C.setParent(L)}r[x]=C}else r[x]=null}})})};jd.prototype.populateSubtree=function(e,t,n,i){let o=jd.tileXYToQuadKey(e,t,n);return s8(this,o,i)};function s8(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(l(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(l(c))return c.then(function(){return s=new Ko({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),s8(e,t,s)});if(!l(r)||!r.hasSubtree())return Promise.reject(new de(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!l(c))return a[o]=c,c.then(function(){return s=new Ko({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),s8(e,t,s)}).finally(function(){delete a[o]})}jd.prototype.getTileInformation=function(e,t,n){let i=jd.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};jd.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function Nxe(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var o8,r8;function vht(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!l(r8)){let n=sn("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;r8=ex(n).then(function(){o8=window.cesiumGoogleEarthDbRootParser(Xht),l(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return r8.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=o8.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return Mxe.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=o8.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),l(i.endSnippet)&&l(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}l(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a<s;++a){let c=r[a],d=c.copyrightString;l(d)&&(o[c.providerId]=new Et(d.value))}}).catch(function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=Pht})}var db=jd;var kxe=T(i8(),1);function a8(){this._image=new Image}a8.prototype.isReady=function(){return!0};a8.prototype.shouldDiscardImage=function(e){return e===this._image};function zT(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new Oi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ce(-W.PI,-W.PI,W.PI,W.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new a8),this._errorEvent=new be}Object.defineProperties(zT.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});zT.fromMetadata=function(e,t){if(!e.imageryPresent)throw new de(`The server ${e.url} doesn't have imagery`);let n=new zT(t);return n._metadata=e,n};zT.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(l(o)){let r=i.providers[o.imageryProvider];if(l(r))return[r]}};zT.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=db.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!l(a)){if(r.isValid(s)){let d=new Ko({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,d);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=wht(this,a,e,t,n,i).fetchArrayBuffer();if(l(c))return c.then(function(d){$F(r.key,d);let u=new Uint8Array(d),m,p=r.protoImagery;if((!l(p)||!p)&&(m=Fht(u)),!l(m)&&(!l(p)||p)){let g=Aht(u);m=g.imageType,u=g.imageData}return!l(m)||!l(u)?o:t_({uint8Array:u,format:m,flipY:!0})})};zT.prototype.pickFeatures=function(e,t,n,i,o){};function wht(e,t,n,i,o,r){let s=db.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=l(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function Fht(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function Aht(e){let t=kxe.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,l(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(l(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new de("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return l(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var c8=zT;var pMi=T(S(),1);var Mht=new B(1,1,1,.4),Nht=new B(0,1,0,.05),kht=new B(0,.5,0,.2);function HT(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Oi({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,Mht),this._glowColor=y(e.glowColor,Nht),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,kht),this._errorEvent=new be,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas()}Object.defineProperties(HT.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});HT.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let r=1+i/this._cells*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};HT.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};HT.prototype.getTileCredits=function(e,t,n){};HT.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};HT.prototype.pickFeatures=function(e,t,n,i,o){};var l8=HT;var $Ni=T(S(),1);var VNi=T(S(),1);var sNi=T(S(),1);var LMi=T(S(),1);function vh(){}vh._maxDecodingConcurrency=Math.max(zt.hardwareConcurrency-1,1);vh._decodeTaskProcessor=new bi("decodeI3S",vh._maxDecodingConcurrency);vh._promise=void 0;async function Uht(){if(await vh._decodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}))return vh._decodeTaskProcessor;throw new de("I3S decoder could not be initialized.")}vh.decode=async function(e,t,n,i,o){return l(vh._promise)||(vh._promise=Uht()),vh._promise.then(function(r){let s=n._parent._data,a=n._parent._inverseRotationMatrix,c=0,d=0,u=0;l(s.obb)?(c=s.obb.center[0],d=s.obb.center[1],u=s.obb.center[2]):l(s.mbs)&&(c=s.mbs[0],d=s.mbs[1],u=s.mbs[2]);let m=$.fromRotationX(-W.PI_OVER_TWO),p=new $;$.multiply(m,a,p);let g=he.fromDegrees(c,d,u),f=ne.WGS84.cartographicToCartesian(g),x={binaryData:n._data,featureData:l(i)&&l(i[0])?i[0].data:void 0,schema:t,bufferInfo:n._geometryBufferInfo,ellipsoidRadiiSquare:ne.WGS84.radiiSquared,url:e,geoidDataList:n._dataProvider._geoidDataList,cartographicCenter:g,cartesianCenter:f,parentRotation:p,enableFeatures:n._dataProvider.showFeatures,splitGeometryByColorTransparency:n._dataProvider.adjustMaterialAlphaMode,symbologyData:o,calculateNormals:n._dataProvider.calculateNormals};return r.scheduleTask(x)})};var tA=vh;var EMi=T(S(),1);function d8(e,t){this._parent=e,this._dataProvider=e._dataProvider,this._layer=e._layer,l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${t}`}):this._resource=this._parent.resource.getDerivedResource({url:t})}Object.defineProperties(d8.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});d8.prototype.load=async function(){return this._data=await wh.loadJson(this._resource),this._data};var nA=d8;var PMi=T(S(),1);function ub(e,t){this._storageInfo=t,this._parent=e,this._dataProvider=e._dataProvider,this._loadPromise=void 0;let n=`attributes/${t.key}/0`;l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${n}`}):this._resource=this._parent.resource.getDerivedResource({url:n})}Object.defineProperties(ub.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){if(l(this._values)){if(l(this._values.attributeValues))return this._values.attributeValues;if(l(this._values.objectIds))return this._values.objectIds}return[]}},name:{get:function(){return this._storageInfo.name}}});function f3(e){return e==="UInt8"||e==="Int8"?1:e==="UInt16"||e==="Int16"?2:e==="UInt32"||e==="Int32"||e==="Oid32"||e==="Float32"?4:e==="UInt64"||e==="Int64"||e==="Float64"?8:0}function Dht(e){return e==="String"?1:f3(e)}async function Bht(e){let t=await e._dataProvider._loadBinary(e._resource),n=new DataView(t);e._data=t,e._validateHeader(n);let i=e._parseHeader(n),o=e._getBodyOffset(i);e._validateBody(n,o),e._parseBody(n,o)}ub.prototype.load=function(){return l(this._loadPromise)?this._loadPromise:(this._loadPromise=Bht(this).catch(function(e){console.error(e)}),this._loadPromise)};ub.prototype._parseValue=function(e,t,n){let i;if(t==="UInt8")i=e.getUint8(n),n+=1;else if(t==="Int8")i=e.getInt8(n),n+=1;else if(t==="UInt16")i=e.getUint16(n,!0),n+=2;else if(t==="Int16")i=e.getInt16(n,!0),n+=2;else if(t==="UInt32")i=e.getUint32(n,!0),n+=4;else if(t==="Oid32")i=e.getUint32(n,!0),n+=4;else if(t==="Int32")i=e.getInt32(n,!0),n+=4;else if(t==="UInt64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);i=o+Math.pow(2,32)*r,n+=8}else if(t==="Int64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);r<Math.pow(2,31)?i=o+Math.pow(2,32)*r:i=o+Math.pow(2,32)*(r-Math.pow(2,32)),n+=8}else t==="Float32"?(i=e.getFloat32(n,!0),n+=4):t==="Float64"?(i=e.getFloat64(n,!0),n+=8):t==="String"&&(i=String.fromCharCode(e.getUint8(n)),n+=1);return{value:i,offset:n}};ub.prototype._parseHeader=function(e){let t=0;this._header={};for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n],o=this._parseValue(e,i.valueType,t);this._header[i.property]=o.value,t=o.offset}return t};ub.prototype._parseBody=function(e,t){this._values={};for(let n=0;n<this._storageInfo.ordering.length;n++){let i=this._storageInfo.ordering[n],o=i==="ObjectIds"?"objectIds":i,r=this._storageInfo[o];if(l(r)){this._values[o]=[];for(let s=0;s<this._header.count;++s)if(r.valueType!=="String"){let a=this._parseValue(e,r.valueType,t);this._values[o].push(a.value),t=a.offset}else{let a=this._values.attributeByteCounts[s],c="";for(let d=0;d<a;++d){let u=this._parseValue(e,r.valueType,t);u.value.charCodeAt(0)!==0&&(c+=u.value),t=u.offset}this._values[o].push(c)}}}};ub.prototype._getBodyOffset=function(e){let t=0;return l(this._storageInfo.attributeValues)?t=f3(this._storageInfo.attributeValues.valueType):l(this._storageInfo.objectIds)&&(t=f3(this._storageInfo.objectIds.valueType)),t>0?Math.ceil(e/t)*t:e};ub.prototype._validateHeader=function(e){let t=0;for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n];t+=Dht(i.valueType)}if(e.byteLength<t)throw new de(`Invalid attribute buffer size (field: ${this.name}, header: ${t}, actual: ${e.byteLength})`)};ub.prototype._validateBody=function(e,t){if(!l(this._header.count))throw new de(`Invalid attribute buffer (field: ${this.name}, count is missing)`);let n;for(let i=0;i<this._storageInfo.ordering.length&&t<e.byteLength;i++){let o=this._storageInfo.ordering[i],r=o==="ObjectIds"?"objectIds":o,s=this._storageInfo[r];if(l(s))if(s.valueType!=="String"){r==="attributeByteCounts"&&(n=t);let a=f3(s.valueType);t+=a*this._header.count}else{if(!l(n))throw new de(`Invalid attribute buffer (field: ${this.name}, attributeByteCounts is missing)`);for(let a=0;a<this._header.count&&t<e.byteLength;++a){let c=this._parseValue(e,this._storageInfo.attributeByteCounts.valueType,n);t+=c.value,n=c.offset}}else throw new de(`Invalid attribute buffer (field: ${this.name}, ${r} is missing)`)}if(e.byteLength<t)throw new de(`Invalid attribute buffer size (field: ${this.name}, expected: ${t}, actual: ${e.byteLength})`)};var iA=ub;var DMi=T(S(),1);var wMi=T(S(),1);function Oht(e){return e<=.04045?e*.07739938080495357:Math.pow((e+.055)*.9478672985781991,2.4)}var KT=Oht;function oA(e,t){let n=e._dataProvider,i=e._layer,o;l(e._nodeIndex)?o=i.resource.getDerivedResource({url:`nodes/${e._data.mesh.geometry.resource}/${t}`}):o=e.resource.getDerivedResource({url:t}),this._parent=e,this._dataProvider=n,this._layer=i,this._resource=o,this._customAttributes=void 0}Object.defineProperties(oA.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});oA.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){return e._data=t,t})};var Yht=new h,zht=new h,Hht=new h,Kht=new h,Jht=new h;function u8(e,t,n,i){let o=h.subtract(i,n,Yht),r=h.cross(o,h.subtract(e,n,zht),Kht),s=h.cross(o,h.subtract(t,n,Hht),Jht);return h.dot(r,s)>=0}var Qht=new h,jht=new h,qht=new h,$ht=new h,eft=new h,tft=new h,nft=new h,ift=new h,oft=new h,rft=new h;oA.prototype.getClosestPointIndexOnTriangle=function(e,t,n){if(l(this._customAttributes)&&l(this._customAttributes.positions)){let i=new h(e,t,n);i.x-=this._customAttributes.cartesianCenter.x,i.y-=this._customAttributes.cartesianCenter.y,i.z-=this._customAttributes.cartesianCenter.z,$.multiplyByVector(this._customAttributes.parentRotation,i,i);let o=Number.MAX_VALUE,r,s,a,c,d=this._customAttributes.positions,u=this._customAttributes.indices,m;l(u)?m=u.length:m=d.length/3;for(let p=0;p<m;p++){let g,f,x;l(u)?(g=u[p],f=u[p+1],x=u[p+2]):(g=p*3,f=p*3+1,x=p*3+2);let _=h.fromElements(d[g*3],d[g*3+1],d[g*3+2],Qht),C=h.fromElements(d[f*3],d[f*3+1],d[f*3+2],jht),V=new h(d[x*3],d[x*3+1],d[x*3+2],qht);if(!u8(i,_,C,V)||!u8(i,C,_,V)||!u8(i,V,_,C))continue;let L=h.subtract(C,_,$ht),Z=h.subtract(V,_,eft),G=h.cross(L,Z,tft);if(h.magnitude(G)===0)continue;let I=h.normalize(G,nft),v=h.subtract(i,_,ift),P=Math.abs(h.dot(v,I));if(P<o){o=P,r=p;let w=h.magnitudeSquared(h.subtract(i,_,v)),F=h.magnitudeSquared(h.subtract(i,C,oft)),b=h.magnitudeSquared(h.subtract(i,V,rft));w<F&&w<b?(a=g,c=_,s=w):F<b?(a=f,c=C,s=F):(a=x,c=V,s=b)}}if(l(r))return{index:a,distanceSquared:s,distance:Math.sqrt(s),queriedPosition:i,closestPosition:h.clone(c)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};function Uxe(e){let t=[],n=e.length;for(let i=0;i<n;i++)i<3?t.push(KT(e[i])):t.push(e[i]);return t}oA.prototype._generateGltf=function(e,t,n,i,o,r,s,a){let c={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},d=!1,u,m="";if(l(this._parent._data.mesh)&&l(this._layer._data.materialDefinitions)){let L=this._parent._data.mesh.material.definition;if(L>=0&&L<this._layer._data.materialDefinitions.length){if(u=this._layer._data.materialDefinitions[L],c=u,l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorTexture)){d=!0,c.pbrMetallicRoughness.baseColorTexture.index=0;let Z="0";if(l(this._layer._data.textureSetDefinitions))for(let G=0;G<this._layer._data.textureSetDefinitions.length;G++){let I=this._layer._data.textureSetDefinitions[G];for(let v=0;v<I.formats.length;v++){let P=I.formats[v];if(P.format==="jpg"){Z=P.name;break}}}l(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(m=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${Z}`}).url)}l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorFactor)&&(c.pbrMetallicRoughness.baseColorFactor=Uxe(c.pbrMetallicRoughness.baseColorFactor)),l(c.emissiveFactor)&&(c.emissiveFactor=Uxe(c.emissiveFactor))}}else l(this._parent._data.textureData)&&(d=!0,m=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,c.pbrMetallicRoughness.baseColorTexture={index:0});l(c.alphaMode)&&(c.alphaMode=c.alphaMode.toUpperCase());let p=[],g=[],f=[];d&&(p=[{sampler:0,source:0}],g=[{uri:m}],f=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]);let x=[],_=n.length;for(let V=0;V<_;V++){let L=n[V].primitives,Z=L.length;for(let G=0;G<Z;G++){let I=L[G];if(l(I.material)){for(;I.material>=x.length;){let P=ze(c,!0);x.push(P)}let v=x[I.material];l(I.extra)&&I.extra.isTransparent?l(v.alphaMode)||(v.alphaMode="BLEND"):v.alphaMode==="BLEND"&&(v.alphaMode="OPAQUE")}}}return{scene:0,scenes:[{nodes:e}],nodes:t,meshes:n,buffers:i,bufferViews:o,accessors:r,materials:x,textures:p,images:g,samplers:f,asset:{version:"2.0"},extensions:s,extensionsUsed:a}};var aL=oA;function Zc(e,t,n){let i,o,r,s;n?(i=0,o=e):(i=e._level+1,o=e._layer),typeof t=="number"?r=t:s=e.resource.getDerivedResource({url:`${t}/`}),this._parent=e,this._dataProvider=e._dataProvider,this._isRoot=n,this._level=i,this._layer=o,this._nodeIndex=r,this._resource=s,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0,this._symbologyData=void 0}Object.defineProperties(Zc.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});Zc.prototype.load=async function(){let e=this;function t(){if(!e._isRoot){let o=e._create3DTileDefinition();e._tile=new Nu(e._layer._tileset,e._dataProvider.resource,o,e._parent._tile),e._tile._i3sNode=e}}if(!l(this._nodeIndex)){let o=await wh.loadJson(this._resource);e._data=o,t();return}let n=await this._layer._getNodeInNodePages(this._nodeIndex);e._data=n;let i;e._isRoot?i="nodes/root/":l(n.mesh)&&(i=`../${n.mesh.geometry.resource}/`),l(i)&&l(e._parent.resource)&&(e._resource=e._parent.resource.getDerivedResource({url:i})),t()};function Dxe(e,t){let n=new iA(e,t);return e._fields[t.name]=n,n.load()}Zc.prototype.loadFields=function(){let e=this._layer._data.attributeStorageInfo,t=[];if(l(e))for(let n=0;n<e.length;n++){let i=e[n],o=this._fields[i.name];l(o)?t.push(o.load()):t.push(Dxe(this,i))}return Promise.all(t)};Zc.prototype.loadField=function(e){let t=this._fields[e];if(l(t))return t.load();let n=this._layer._data.attributeStorageInfo;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];if(o.name===e)return Dxe(this,o)}return Promise.resolve()};Zc.prototype.getFieldsForPickedPosition=function(e){let t=this.geometryData[0];if(!l(t.customAttributes.featureIndex))return{};let n=t.getClosestPointIndexOnTriangle(e.x,e.y,e.z);if(n.index===-1||n.index>t.customAttributes.featureIndex.length)return{};let i=t.customAttributes.featureIndex[n.index];return this.getFieldsForFeature(i)};Zc.prototype.getFieldsForFeature=function(e){let t={};for(let n in this.fields)if(this.fields.hasOwnProperty(n)){let i=this.fields[n];e>=0&&e<i.values.length&&(t[i.name]=i.values[e])}return t};Zc.prototype._loadChildren=function(){let e=this;if(l(this._childrenReadyPromise))return this._childrenReadyPromise;let t=[];if(l(e._data.children))for(let n=0;n<e._data.children.length;n++){let i=e._data.children[n],o=new Zc(e,y(i.href,i),!1);e._children.push(o),t.push(o.load())}return this._childrenReadyPromise=Promise.all(t).then(function(){for(let n=0;n<e._children.length;n++)e._tile.children.push(e._children[n]._tile)}),this._childrenReadyPromise};Zc.prototype._loadGeometryData=function(){let e=[];if(l(this._data.geometryData))for(let t=0;t<this._data.geometryData.length;t++){let n=new aL(this,this._data.geometryData[t].href);this._geometryData.push(n),e.push(n.load())}else if(l(this._data.mesh)){let t=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),n=`./geometries/${t.bufferIndex}/`,i=new aL(this,n);i._geometryDefinitions=t.definition,i._geometryBufferInfo=t.geometryBufferInfo,this._geometryData.push(i),e.push(i.load())}return Promise.all(e)};Zc.prototype._loadFeatureData=function(){let e=[];if(l(this._data.featureData))for(let t=0;t<this._data.featureData.length;t++){let n=new nA(this,this._data.featureData[t].href);this._featureData.push(n),e.push(n.load())}return Promise.all(e)};Zc.prototype._clearGeometryData=function(){this._geometryData=[]};Zc.prototype._create3DTileDefinition=function(){let e=this._data.obb,t=this._data.mbs;if(!l(e)&&!l(t)){console.error("Failed to load I3S node. Bounding volume is required.");return}let n;if(l(e)?n=he.fromDegrees(e.center[0],e.center[1],e.center[2]):n=he.fromDegrees(t[0],t[1],t[2]),l(this._dataProvider._geoidDataList)&&l(n))for(let C=0;C<this._dataProvider._geoidDataList.length;C++){let V=this._dataProvider._geoidDataList[C],L=V.projection.project(n);if(L.x>V.nativeExtent.west&&L.x<V.nativeExtent.east&&L.y>V.nativeExtent.south&&L.y<V.nativeExtent.north){n.height+=lft(L.x,L.y,V);break}}let i={},o,r=0;l(e)?(i={box:[0,0,0,e.halfSize[0],0,0,0,e.halfSize[1],0,0,0,e.halfSize[2]]},r=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),o=ne.WGS84.cartographicToCartesian(n)):(i={sphere:[0,0,0,t[3]]},o=ne.WGS84.cartographicToCartesian(n),r=this._data.mbs[3]),r*=2;let s=1/0;if(l(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let C=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));s=r/C}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let C=this._data.lodThreshold;s=r/C}else console.error("Invalid lodSelectionMetricType in Layer");else if(l(this._data.lodSelection))for(let C=0;C<this._data.lodSelection.length;C++)this._data.lodSelection[C].metricType==="maxScreenThreshold"&&(s=r/this._data.lodSelection[C].maxError);s===1/0&&(s=1e5);let a=s*16,c=new Ea(0,0,0),d=Ft.headingPitchRollQuaternion(o,c);l(this._data.obb)&&(d=new Ae(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let u=$.fromQuaternion(d),m=$.inverse(u,new $),p=new M(u[0],u[1],u[2],0,u[3],u[4],u[5],0,u[6],u[7],u[8],0,o.x,o.y,o.z,1),g=M.inverse(p,new M),f=M.clone(p);l(this._parent._globalTransform)&&M.multiply(p,this._parent._inverseGlobalTransform,f),this._globalTransform=p,this._inverseGlobalTransform=g,this._inverseRotationMatrix=m;let x=[];for(let C=0;C<this._children.length;C++)x.push(this._children[C]._create3DTileDefinition());return{children:x,refine:"REPLACE",boundingVolume:i,transform:[f[0],f[4],f[8],f[12],f[1],f[5],f[9],f[13],f[2],f[6],f[10],f[14],f[3],f[7],f[11],f[15]],content:{uri:l(this._resource)?this._resource.url:void 0},geometricError:a}};Zc.prototype._loadSymbology=async function(){!l(this._symbologyData)&&l(this._layer._symbology)&&(this._symbologyData=await this._layer._symbology._getSymbology(this))};Zc.prototype._createContentURL=async function(){let e={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},t=[this._loadGeometryData()];if(this._dataProvider.legacyVersion16&&t.push(this._loadFeatureData()),await Promise.all(t),l(this._geometryData)&&this._geometryData.length>0){this._dataProvider._applySymbology&&await this._loadSymbology();let o=this._geometryData[0].resource.url,r=this._layer._data.store.defaultGeometrySchema,s=this._geometryData[0],a=await tA.decode(o,r,s,this._featureData[0],this._symbologyData);if(!l(a))return;e=s._generateGltf(a.meshData.nodesInScene,a.meshData.nodes,a.meshData.meshes,a.meshData.buffers,a.meshData.bufferViews,a.meshData.accessors,a.meshData.rootExtensions,a.meshData.extensionsUsed),this._geometryData[0]._customAttributes=a.meshData._customAttributes}let n=this._dataProvider._binarizeGltf(e),i=new Blob([n],{type:"application/binary"});return URL.createObjectURL(i)};async function sft(e){let t=e._layer._filters,n=[];for(let i=0;i<t.length;i++){let o=e.loadField(t[i].name);n.push(o)}return await Promise.all(n),t}function aft(e,t,n){if(!l(n.values)||n.values.length===0)return!1;let i=l(t)?t.values:[],o;e<i.length&&(o=i[e]);let r=!1;for(let s=0;s<n.values.length;s++)if(n.values[s]===o){r=!0;break}return r}async function Bxe(e,t){let n=e._tile.content.batchTable;if(l(n)&&n.featuresLength>0){n.setAllShow(!0);let i=await sft(e);if(i.length>0)for(let o=0;o<n.featuresLength;o++)for(let r=0;r<i.length;r++){let s=i[r];if(!aft(o,e._fields[s.name],s)){n.setShow(o,!1);break}}}t.show=!0}Zc.prototype._filterFeatures=function(){let e=[];for(let n=0;n<this._children.length;n++){let i=this._children[n]._filterFeatures();e.push(i)}let t=this._tile?.content?._model;if(l(this._geometryData)&&this._geometryData.length>0&&l(t)&&t.ready){t.show=!1;let n=Bxe(this,t);e.push(n)}return Promise.all(e)};Nu.prototype._hookedRequestContent=Nu.prototype.requestContent;Nu.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading){this._isLoading=!0;let e=this;return this._i3sNode._createContentURL().then(t=>{if(!l(t)){e._isLoading=!1;return}return e._contentResource=new Ge({url:t}),e._hookedRequestContent()}).then(t=>{let n=t?._model;return l(e._i3sNode._geometryData)&&e._i3sNode._geometryData.length>0&&l(n)&&(n.show=!1,n.readyEvent.addEventListener(()=>{Bxe(e._i3sNode,n)})),e._isLoading=!1,t})}};function cft(e,t,n,i,o,r){let s=n*(1-e)+i*e,a=o*(1-e)+r*e;return s*(1-t)+a*t}function p3(e,t,n,i){let o=e+t*n;return i[o]}function lft(e,t,n){let i=n.nativeExtent,o=(e-i.west)/(i.east-i.west)*(n.width-1),r=(t-i.south)/(i.north-i.south)*(n.height-1),s=Math.floor(o),a=Math.floor(r);o-=s,r-=a;let c=s<n.width?s+1:s,d=a<n.height?a+1:a;a=n.height-1-a,d=n.height-1-d;let u=p3(s,a,n.width,n.buffer),m=p3(c,a,n.width,n.buffer),p=p3(s,d,n.width,n.buffer),g=p3(c,d,n.width,n.buffer),f=cft(o,r,u,m,p,g);return f=f*n.scale+n.offset,f}Object.defineProperties(Nu.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var cL=Zc;var mNi=T(S(),1);function b3(e){this._layer=e,this._defaultSymbology=void 0,this._valueFields=[],this._uniqueValueHash=void 0,this._classBreaksHash=void 0,this._parseLayerSymbology()}Object.defineProperties(b3.prototype,{defaultSymbology:{get:function(){return this._defaultSymbology}}});function m8(e,t){let n=[];for(let i=0;i<e.length;i++){let o=B.byteToFloat(e[i]);i<3?n.push(KT(o)):n.push(o)}return n.length===3&&(l(t)?n.push(1-t/100):n.push(1)),n}function lL(e,t){let n={edges:void 0,material:void 0};if(l(e)&&l(e.symbolLayers))for(let i=0;i<e.symbolLayers.length;i++){let o=e.symbolLayers[i];if(o.type==="Fill"){let r=o.edges,s=o.outline;if(l(r)?(n.edges={},l(r.color)&&(n.edges.color=m8(r.color,r.transparency))):l(s)&&(n.edges={},l(s.color)&&(n.edges.color=m8(s.color,s.transparency))),!t){let a=o.material;l(a)&&(n.material={colorMixMode:a.colorMixMode},l(a.color)&&(n.material.color=m8(a.color,a.transparency)))}break}}return n}function dft(e,t){if(l(e.uniqueValueGroups)){let n={};for(let i=0;i<e.uniqueValueGroups.length;i++){let o=e.uniqueValueGroups[i].classes;if(l(o))for(let r=0;r<o.length;r++){let s=lL(o[r].symbol,t),a=o[r].values;for(let c=0;c<a.length;c++){let d=a[c],u=n;for(let m=0;m<d.length;m++){let p=d[m];m===d.length-1?u[p]=s:(l(u[p])||(u[p]={}),u=u[p])}}}}return n}if(l(e.uniqueValueInfos)){let n={};for(let i=0;i<e.uniqueValueInfos.length;i++){let o=e.uniqueValueInfos[i];n[o.value]=lL(o.symbol,t)}return n}}function uft(e,t){if(l(e.classBreakInfos)){let n=[...e.classBreakInfos];n.sort(function(o,r){let s=y(o.classMaxValue,o.classMinValue),a=y(r.classMaxValue,r.classMinValue);return s-a});let i={ranges:[],symbols:[]};l(e.minValue)&&(i.ranges.push(e.minValue),i.symbols.push(void 0));for(let o=0;o<n.length;o++){let r=n[o];l(r.classMinValue)&&(i.ranges.length===0||r.classMinValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMinValue),i.symbols.push(void 0)),l(r.classMaxValue)&&(i.ranges.length===0||r.classMaxValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMaxValue),i.symbols.push(lL(r.symbol,t)))}return i.symbols.push(void 0),i}}b3.prototype._parseLayerSymbology=function(){let e=this._layer.data.drawingInfo;if(l(e)&&l(e.renderer)){let t=this._layer.data.cachedDrawingInfo,n=l(t)&&t.color===!0,i=e.renderer;i.type==="simple"?this._defaultSymbology=lL(i.symbol,n):i.type==="uniqueValue"?(this._defaultSymbology=lL(i.defaultSymbol,n),this._valueFields.push(i.field1),l(i.field2)&&this._valueFields.push(i.field2),l(i.field3)&&this._valueFields.push(i.field3),this._uniqueValueHash=dft(i,n)):i.type==="classBreaks"&&(this._defaultSymbology=lL(i.defaultSymbol,n),this._valueFields.push(i.field),this._classBreaksHash=uft(i,n))}};function Oxe(e,t,n,i){let o=t[n];if(i<o.length){let r=o[i],s=e[r];return l(s)&&++n<t.length?Oxe(s,t,n,i):s}}function mft(e,t){let n=0,i=e.length;if(n<i)do{let o=n+i>>>1;e[o]<t?n=o+1:i=o}while(n<i);return n}function hft(e,t,n){let i=t[n],o=mft(e.ranges,i);return e.symbols[o]}b3.prototype._getSymbology=async function(e){let t={default:this._defaultSymbology};if(this._valueFields.length>0){let n=[];for(let r=0;r<this._valueFields.length;r++)n.push(e.loadField(this._valueFields[r]));await Promise.all(n);let i=[];for(let r=0;r<this._valueFields.length;r++)i.push(e.fields[this._valueFields[r]].values);let o;if(l(this._uniqueValueHash)?o=r=>Oxe(this._uniqueValueHash,i,0,r):l(this._classBreaksHash)&&(o=r=>hft(this._classBreaksHash,i[0],r)),l(o)){let r=i[0];for(let s=0;s<r.length;s++){let a=o(s);l(a)&&(t[s]=a)}}}return t};var rA=b3;function td(e,t,n){this._dataProvider=e,this._parent=n,!l(t.href)&&l(t.id)&&(t.href=`layers/${t.id}`);let i=this._parent.resource.getUrlComponent(),o="";i.match(/layers\/\d/)?o=`${i}`.replace(/\/+$/,""):o=`${i}`.replace(/\/?$/,"/").concat(`${t.href}`),this._version=t.store.version;let r=this._version.split(".");this._majorVersion=parseInt(r[0]),this._minorVersion=r.length>1?parseInt(r[1]):0,this._resource=new Ge({url:o}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=t,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._filters=[],this._symbology=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(td.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(l(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});td.prototype.load=async function(e){if(this._data.spatialReference.wkid!==4326)throw new de(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(this._dataProvider.applySymbology&&(this._symbology=new rA(this)),await this._dataProvider.loadGeoidData(),await this._loadRootNode(e),await this._create3DTileset(e),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};td.prototype._computeGeometryDefinitions=function(e){if(this._geometryDefinitions=[],l(this._data.geometryDefinitions))for(let t=0;t<this._data.geometryDefinitions.length;t++){let n=[],i=this._data.geometryDefinitions[t].geometryBuffers;for(let o=0;o<i.length;o++){let r=i[o],s=[],a=!1;if(l(r.compressedAttributes)&&e){a=!0;let c=r.compressedAttributes.attributes;for(let d=0;d<c.length;d++)s.push(c[d])}else for(let c in r)c!=="offset"&&s.push(c);n.push({compressed:a,attributes:s,index:i.indexOf(r)})}n.sort(function(o,r){return o.compressed&&!r.compressed?-1:!o.compressed&&r.compressed?1:o.attributes.length-r.attributes.length}),this._geometryDefinitions.push(n)}};td.prototype._findBestGeometryBuffers=function(e,t){let n=this._geometryDefinitions[e];if(l(n)){for(let i=0;i<n.length;++i){let o=n[i],r=!1,s=o.attributes;for(let a=0;a<t.length;a++)if(!s.includes(t[a])){r=!0;break}if(!r)return{bufferIndex:o.index,definition:n,geometryBufferInfo:o}}if(l(n[0]))return{bufferIndex:0,definition:n,geometryBufferInfo:n[0]}}};td.prototype._loadRootNode=function(e){if(l(this._data.nodePages)){let t=0;l(this._data.nodePages.rootIndex)&&(t=this._data.nodePages.rootIndex),this._rootNode=new cL(this,t,!0)}else this._rootNode=new cL(this,this._data.store.rootNode,!0);return this._rootNode.load(e)};td.prototype._getNodeInNodePages=function(e){let t=Math.floor(e/this._data.nodePages.nodesPerPage),n=e%this._data.nodePages.nodesPerPage;return this._loadNodePage(t).then(function(i){return i.nodes[n]})};td._fetchJson=function(e){return e.fetchJson()};td.prototype._loadNodePage=function(e){let t=this;if(!l(this._nodePageFetches[e])){let n=this.resource.getDerivedResource({url:`nodepages/${e}/`}),i=td._fetchJson(n).then(function(o){return l(o.error)&&o.error.code!==200?Promise.reject(o.error):(t._nodePages[e]=o.nodes,o)});this._nodePageFetches[e]=i}return this._nodePageFetches[e]};td.prototype._computeExtent=function(){l(this._data.fullExtent)?this._extent=ce.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):l(this._data.store.extent)&&(this._extent=ce.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};td.prototype._create3DTileset=async function(e){let t={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},n=new Blob([JSON.stringify(t)],{type:"application/json"}),i=URL.createObjectURL(n),o=this._symbology?.defaultSymbology?.edges?.color;l(o)&&!l(e?.outlineColor)&&(e=l(e)?ze(e):{},e.outlineColor=B.fromCartesian4(se.fromArray(o))),this._tileset=await fa.fromUrl(i,e),this._tileset.show=this._parent.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(r){r._i3sNode._clearGeometryData(),URL.revokeObjectURL(r._contentResource._url),r._contentResource=r._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(r){l(r._i3sNode)&&r._i3sNode._loadChildren()})};td.prototype._updateVisibility=function(){l(this._tileset)&&(this._tileset.show=this._parent.show)};td.prototype.filterByAttributes=function(e){this._filters=l(e)?ze(e,!0):[];let t=this._rootNode;return l(t)?t._filterFeatures():Promise.resolve()};var JT=td;var ENi=T(S(),1);function g3(e,t){this._dataProvider=e,this._resource=new Ge({url:t}),this._resource.setQueryParameters(e.resource.queryParameters),this._resource.appendForwardSlash()}Object.defineProperties(g3.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},names:{get:function(){let e=[],t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n)e.push(t[n].fieldName);return e}}});g3.prototype.load=async function(){return this._data=await wh.loadJson(this._resource),this._data};g3.prototype._getValues=function(e){let t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n){let i=t[n];if(i.fieldName===e)return l(i.mostFrequentValues)?[...i.mostFrequentValues]:[]}};var sA=g3;var FNi=T(S(),1);function aA(e,t,n){this._dataProvider=e,this._parent=t,this._data=n,this._name=n.name,this._modelName=n.modelName,this._visibility=y(n.visibility,!0),this._resource=void 0,this._sublayers=[],this._i3sLayers=[]}Object.defineProperties(aA.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},name:{get:function(){return this._name}},modelName:{get:function(){return this._modelName}},sublayers:{get:function(){return this._sublayers}},visibility:{get:function(){return this._visibility},set:function(e){if(this._visibility!==e){this._visibility=e;for(let t=0;t<this._i3sLayers.length;t++)this._i3sLayers[t]._updateVisibility()}}},show:{get:function(){return this._visibility&&this._parent.show}}});aA._fromData=async function(e,t,n,i){let o=new aA(e,i,n);if(o._data.layerType==="group"){let r=o._data.sublayers;if(l(r)){let s=[];for(let c=0;c<r.length;c++){let d=aA._fromData(e,t,r[c],o);s.push(d)}let a=await Promise.all(s);for(let c=0;c<a.length;c++){let d=a[c];o._sublayers.push(d),o._i3sLayers.push(...d._i3sLayers)}}}else if(o._data.layerType==="3DObject"){let r=t.concat(`/sublayers/${o._data.id}`),s=new Ge({url:r});s.setQueryParameters(e.resource.queryParameters),s.appendForwardSlash(),o._resource=s;let a=await wh.loadJson(o._resource),c=new JT(e,a,o);o._i3sLayers.push(c)}else console.log(`${o._data.layerType} layer ${o._data.name} is skipped as not supported.`);return o};var cA=aA;var Hxe=T(Yxe(),1);function gs(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._show=y(e.show,!0),this._geoidTiledTerrainProvider=e.geoidTiledTerrainProvider,this._showFeatures=y(e.showFeatures,!1),this._adjustMaterialAlphaMode=y(e.adjustMaterialAlphaMode,!1),this._applySymbology=y(e.applySymbology,!1),this._calculateNormals=y(e.calculateNormals,!1),this._cesium3dTilesetOptions=y(e.cesium3dTilesetOptions,y.EMPTY_OBJECT),this._layers=[],this._sublayers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,this._attributeStatistics=[],this._layersExtent=[]}Object.defineProperties(gs.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;for(let t=0;t<this._layers.length;t++)this._layers[t]._updateVisibility()}}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},sublayers:{get:function(){return this._sublayers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},resource:{get:function(){return this._resource}},showFeatures:{get:function(){return this._showFeatures}},adjustMaterialAlphaMode:{get:function(){return this._adjustMaterialAlphaMode}},applySymbology:{get:function(){return this._applySymbology}},calculateNormals:{get:function(){return this._calculateNormals}}});gs.prototype.destroy=function(){for(let e=0;e<this._layers.length;e++)l(this._layers[e]._tileset)&&this._layers[e]._tileset.destroy();return me(this)};gs.prototype.isDestroyed=function(){return!1};gs.prototype.update=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.update(e)};gs.prototype.prePassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.prePassesUpdate(e)};gs.prototype.postPassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.postPassesUpdate(e)};gs.prototype.updateForPass=function(e,t){for(let n=0;n<this._layers.length;n++)l(this._layers[n]._tileset)&&this._layers[n]._tileset.updateForPass(e,t)};function fft(e,t){let n=e.resource.getUrlComponent(),i="";return n.match(/layers\/\d/)?i=`${n}`.replace(/\/+$/,""):i=`${n}`.replace(/\/?$/,"/").concat(`layers/${t}`),i}async function zxe(e,t,n){if(t.layerType==="Building"){l(n.showFeatures)||(e._showFeatures=!0),l(n.adjustMaterialAlphaMode)||(e._adjustMaterialAlphaMode=!0),l(n.applySymbology)||(e._applySymbology=!0),l(n.calculateNormals)||(e._calculateNormals=!0);let i=fft(e,t.id);if(l(t.sublayers)){let o=[];for(let s=0;s<t.sublayers.length;s++){let a=cA._fromData(e,i,t.sublayers[s],e);o.push(a)}let r=await Promise.all(o);for(let s=0;s<r.length;s++){let a=r[s];e._sublayers.push(a),e._layers.push(...a._i3sLayers)}}if(l(t.statisticsHRef)){let o=i.concat(`/${t.statisticsHRef}`),r=new sA(e,o);await r.load(),e._attributeStatistics.push(r)}if(l(t.fullExtent)){let o=ce.fromDegrees(t.fullExtent.xmin,t.fullExtent.ymin,t.fullExtent.xmax,t.fullExtent.ymax);e._layersExtent.push(o)}}else if(t.layerType==="3DObject"||t.layerType==="IntegratedMesh"){!l(n.calculateNormals)&&!l(t.textureSetDefinitions)&&(e._calculateNormals=!0);let i=new JT(e,t,e);e._layers.push(i),l(i._extent)&&e._layersExtent.push(i._extent)}else console.log(`${t.layerType} layer ${t.name} is skipped as not supported.`)}gs.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ge.createIfNeeded(e);n.setQueryParameters({f:"pjson"},!0);let i=await gs.loadJson(n),o=new gs(t);if(o._resource=n,o._data=i,l(i.layers)){let s=[];for(let a=0;a<i.layers.length;a++){let c=zxe(o,i.layers[a],t);s.push(c)}await Promise.all(s)}else await zxe(o,i,t);o._computeExtent();let r=[];for(let s=0;s<o._layers.length;s++)r.push(o._layers[s].load(t.cesium3dTilesetOptions));return await Promise.all(r),o};gs._fetchJson=function(e){return e.fetchJson()};gs.loadJson=async function(e){let t=await gs._fetchJson(e);if(l(t.error)){if(console.error("Failed to fetch I3S ",e.url),l(t.error.message)&&console.error(t.error.message),l(t.error.details))for(let n=0;n<t.error.details.length;n++)console.log(t.error.details[n]);throw new de(t.error)}return t};gs.prototype._loadBinary=async function(e){let t=await e.fetchArrayBuffer();if(t.byteLength>0&&new Uint8Array(t)[0]===123&&new TextDecoder().decode(t).includes("404"))throw new de(`Failed to load binary: ${e.url}`);return t};gs.prototype._binarizeGltf=function(e){let n=new TextEncoder().encode(JSON.stringify(e)),i=new Uint8Array(n.byteLength+20),o={magic:new Uint8Array(i.buffer,0,4),version:new Uint32Array(i.buffer,4,1),length:new Uint32Array(i.buffer,8,1),chunkLength:new Uint32Array(i.buffer,12,1),chunkType:new Uint32Array(i.buffer,16,1),chunkData:new Uint8Array(i.buffer,20,n.byteLength)};return o.magic[0]=103,o.magic[1]=108,o.magic[2]=84,o.magic[3]=70,o.version[0]=2,o.length[0]=i.byteLength,o.chunkLength[0]=n.byteLength,o.chunkType[0]=1313821514,o.chunkData.set(n),i};var pft=new D;function bft(e,t){let n=e.tilingScheme,i=[],o={},r=e._lodCount,s=he.fromRadians(t.west,t.north),a=he.fromRadians(t.east,t.south),c=n.positionToTileXY(s,r),d=n.positionToTileXY(a,r);for(let m=c.x;m<=d.x;m++)for(let p=c.y;p<=d.y;p++){let g=D.fromElements(m,p,pft),f=g.toString();if(!o.hasOwnProperty(f)){let x={x:g.x,y:g.y,level:r,tilingScheme:n,terrainProvider:e,positions:[]};o[f]=x,i.push(x)}}let u=[];for(let m=0;m<i.length;++m){let p=i[m],g=p.terrainProvider.requestTileGeometry(p.x,p.y,p.level);u.push(g)}return Promise.all(u).then(function(m){let p=[];for(let g=0;g<m.length;g++){let f={tilingScheme:n,x:i[g].x,y:i[g].y,level:i[g].level},x=m[g],_="Geographic";n._projection instanceof Zi&&(_="WebMercator");let C={projectionType:_,projection:n._projection,nativeExtent:n.tileXYToNativeRectangle(f.x,f.y,f.level),height:x._height,width:x._width,scale:x._structure.heightScale,offset:x._structure.heightOffset};if(x._encoding===tm.LERC){let V=Hxe.default.decode(x._buffer);C.buffer=V.pixels[0]}else C.buffer=x._buffer;p.push(C)}return p})}async function gft(e){let t=e._geoidTiledTerrainProvider;if(l(t))try{let n=await bft(t,e._extent);e._geoidDataList=n}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}gs.prototype.loadGeoidData=async function(){return l(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=gft(this),this._geoidDataPromise)};gs.prototype._computeExtent=function(){let e;for(let t=0;t<this._layersExtent.length;t++){let n=this._layersExtent[t];l(e)?ce.union(e,n,e):e=ce.clone(n)}this._extent=e};gs.prototype.getAttributeNames=function(){let e=[];for(let t=0;t<this._attributeStatistics.length;++t)e.push(...this._attributeStatistics[t].names);return e};gs.prototype.getAttributeValues=function(e){for(let t=0;t<this._attributeStatistics.length;++t){let n=this._attributeStatistics[t]._getValues(e);if(l(n))return n}return[]};gs.prototype.filterByAttributes=function(e){let t=[];for(let n=0;n<this._layers.length;n++){let i=this._layers[n].filterByAttributes(e);t.push(i)}return Promise.all(t)};var wh=gs;var y5i=T(S(),1);function tp(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new fi({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new fi({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new ni({color:new B(0,0,0,0),owner:this}),this._clearCommand=new ni({color:new B(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(tp.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});tp.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var yft={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Bn.EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.NEVER,reference:0,mask:Bt.CLASSIFICATION_MASK},blending:hn.ALPHA_BLEND},xft={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.NEVER,reference:0,mask:Bt.CLASSIFICATION_MASK},blending:hn.ALPHA_BLEND},_ft={depthMask:!0,depthTest:{enabled:!0},stencilTest:Bt.setCesium3DTileBit(),stencilMask:Bt.CESIUM_3D_TILE_MASK,blending:hn.ALPHA_BLEND},Tft=`uniform sampler2D colorTexture; -uniform sampler2D depthTexture; -uniform sampler2D classifiedTexture; -in vec2 v_textureCoordinates; -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - if (color.a == 0.0) - { - discard; - } - bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); -#ifdef UNCLASSIFIED - vec4 highlightColor = czm_invertClassificationColor; - if (isClassified) - { - discard; - } -#else - vec4 highlightColor = vec4(1.0); - if (!isClassified) - { - discard; - } -#endif - out_FragColor = color * highlightColor; - gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; -} -`,Sft=`uniform sampler2D colorTexture; -in vec2 v_textureCoordinates; -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - if (color.a == 0.0) - { - discard; - } -#ifdef UNCLASSIFIED - out_FragColor = color * czm_invertClassificationColor; -#else - out_FragColor = color; -#endif -} -`;tp.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!l(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._previousFramebuffer)||(this._depthStencilTexture=new wt({context:e,width:s,height:a,pixelFormat:dt.DEPTH_STENCIL,pixelDatatype:it.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new sd({context:e,width:s,height:a,format:Pc.DEPTH24_STENCIL8,numSamples:t})))),!l(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let d,u;l(this._previousFramebuffer)?(d=n.getDepthStencilTexture(),u=n.getDepthStencilRenderbuffer()):(d=this._depthStencilTexture,u=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(d),l(u)&&this._fbo.setDepthStencilRenderbuffer(u),this._fbo.update(e,s,a,t),l(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(d),this._fboClassified.update(e,s,a))}if(l(this._rsUnclassified)||(this._rsUnclassified=Be.fromCache(yft),this._rsClassified=Be.fromCache(xft),this._rsDefault=Be.fromCache(_ft)),!l(this._unclassifiedCommand)||o||r){l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let d=l(this._previousFramebuffer)?Sft:Tft,u=new Ye({defines:["UNCLASSIFIED"],sources:[d]}),m=new Ye({sources:[d]});this._unclassifiedCommand=e.createViewportQuadCommand(u,{renderState:l(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(m,{renderState:l(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),l(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),l(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(ed,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};tp.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};tp.prototype.clear=function(e,t){l(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};tp.prototype.executeClassified=function(e,t){if(!l(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};tp.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};tp.prototype.isDestroyed=function(){return!1};tp.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),me(this)};var dL=tp;var C5i=T(S(),1);function x3(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(x3.prototype,{total:{get:function(){return this._total}}});function Gy(e){let t=new Array(Ma.NUMBER_OF_JOB_TYPES);t[Ma.TEXTURE]=new x3(l(e)?e[Ma.TEXTURE]:10),t[Ma.PROGRAM]=new x3(l(e)?e[Ma.PROGRAM]:10),t[Ma.BUFFER]=new x3(l(e)?e[Ma.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}Gy.getTimestamp=_i;Object.defineProperties(Gy.prototype,{totalBudget:{get:function(){return this._totalBudget}}});Gy.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};Gy.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};Gy.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,d;for(d=0;d<c&&(r=n[d],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++d);if(d===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=Gy.getTimestamp();e.execute();let a=Gy.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var lA=Gy;var L5i=T(S(),1),Kxe=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function _3(e,t){this.spatialNode=e,this.keyframe=t,this.state=Kxe.UNLOADED,this.metadata=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}_3.priorityComparator=function(e,t){return e.priority-t.priority};_3.searchComparator=function(e,t){return e.keyframe-t.keyframe};_3.LoadState=Kxe;var qi=_3;var G5i=T(S(),1);function Jxe(){}Object.defineProperties(Jxe.prototype,{color:{get:fe.throwInstantiationError},intensity:{get:fe.throwInstantiationError}});var h8=Jxe;var w5i=T(S(),1);var Cft=/\/$/,Qxe=new Et('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function uL(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Ge.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=l(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();Cft.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;l(e.credit)?(c=e.credit,typeof c=="string"&&(c=new Et(c))):c=Qxe,this._resource=i,this._imageryProvider=new Oa({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(uL.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});uL.prototype.getTileCredits=function(e,t,n){};uL.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};uL.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};uL._defaultCredit=Qxe;var f8=uL;var tki=T(S(),1);function Ey(e,t,n,i,o){i===Yt.UNSIGNED_SHORT&&(i=Yt.FLOAT32);let r=e.floatingPointTexture;if(i===Yt.FLOAT32&&!r)throw new de("Floating point texture not supported");let s;i===Yt.FLOAT32||i===Yt.FLOAT64?s=it.FLOAT:i===Yt.UINT8&&(s=it.UNSIGNED_BYTE);let a;n===1?a=e.webgl2?dt.RED:dt.LUMINANCE:n===2?a=e.webgl2?dt.RG:dt.LUMINANCE_ALPHA:n===3?a=dt.RGB:n===4&&(a=dt.RGBA);let c=512*1024*1024,d=128*1024*1024;o=Math.min(y(o,d),c);let u=Dt.maximumTextureSize,m=Yt.getSizeInBytes(i),p=Math.floor(o/(n*m)),g=Math.min(u,W.previousPowerOfTwo(Math.floor(Math.sqrt(p)))),f=Math.ceil(Math.sqrt(t.x)),x=Math.ceil(t.z/f),_=f*t.x,C=x*t.y,V=Math.floor(g/_),L=Math.floor(g/C);if(V===0||L===0)throw new de("Tileset is too large to fit into megatexture");this.channelCount=n,this.componentType=i,this.voxelCountPerTile=h.clone(t,new h),this.maximumTileCount=V*L,this.regionCountPerMegatexture=new D(V,L),this.voxelCountPerRegion=new D(_,C),this.sliceCountPerRegion=new D(f,x),this.voxelSizeUv=new D(1/g,1/g),this.sliceSizeUv=new D(t.x/g,t.y/g),this.regionSizeUv=new D(_/g,C/g),this.texture=new wt({context:e,pixelFormat:a,pixelDatatype:s,flipY:!1,width:g,height:g,sampler:new nn({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:tn.LINEAR,magnificationFilter:mi.LINEAR})});let Z=Yt.toComponentDatatype(i);this.tileVoxelDataTemp=Q.createTypedArray(Z,_*C*n),this.nodes=new Array(this.maximumTileCount);for(let G=0;G<this.maximumTileCount;G++)this.nodes[G]=new Vft(G);for(let G=0;G<this.maximumTileCount;G++){let I=this.nodes[G];I.previousNode=G>0?this.nodes[G-1]:void 0,I.nextNode=G<this.maximumTileCount-1?this.nodes[G+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function Vft(e){this.index=e,this.nextNode=void 0,this.previousNode=void 0}Ey.prototype.add=function(e){if(this.isFull())throw new fe("Trying to add when there are no empty spots");let t=this.emptyList;this.emptyList=this.emptyList.nextNode,l(this.emptyList)&&(this.emptyList.previousNode=void 0),t.nextNode=this.occupiedList,l(t.nextNode)&&(t.nextNode.previousNode=t),this.occupiedList=t;let n=t.index;return this.writeDataToTexture(n,e),this.occupiedCount++,n};Ey.prototype.remove=function(e){if(e<0||e>=this.maximumTileCount)throw new fe("Megatexture index out of bounds");let t=this.nodes[e];l(t.previousNode)&&(t.previousNode.nextNode=t.nextNode),l(t.nextNode)&&(t.nextNode.previousNode=t.previousNode),t.nextNode=this.emptyList,l(t.nextNode)&&(t.nextNode.previousNode=t),t.previousNode=void 0,this.emptyList=t,this.occupiedCount--};Ey.prototype.isFull=function(){return this.emptyList===void 0};Ey.getApproximateTextureMemoryByteLength=function(e,t,n,i){i===Yt.UNSIGNED_SHORT&&(i=Yt.FLOAT32);let o=Yt.getSizeInBytes(i),r=e*t.x*t.y*t.z,s=Math.ceil(Math.sqrt(t.x)),a=Math.ceil(t.z/s),c=s*t.x,d=a*t.y,u=W.previousPowerOfTwo(Math.floor(Math.sqrt(r)));for(;;){let p=Math.floor(u/c),g=Math.floor(u/d);if(p*g>=e)break;u*=2}return u*u*n*o};Ey.prototype.writeDataToTexture=function(e,t){let n=t.constructor===Uint16Array?new Float32Array(t):t,i=this.voxelCountPerTile,o=this.sliceCountPerRegion,r=this.voxelCountPerRegion,s=this.channelCount,a=this.tileVoxelDataTemp;for(let x=0;x<i.z;x++){let _=x%o.x*i.x,C=Math.floor(x/o.x)*i.y;for(let V=0;V<i.y;V++)for(let L=0;L<i.x;L++){let Z=x*i.y*i.x+V*i.x+L,G=(C+V)*r.x+(_+L);for(let I=0;I<s;I++)a[G*s+I]=n[Z*s+I]}}let c=this.regionCountPerMegatexture,d=r.x,u=r.y,m=e%c.x*r.x,p=Math.floor(e/c.x)*r.y,f={source:{arrayBufferView:a,width:d,height:u},xOffset:m,yOffset:p};this.texture.copyFrom(f)};Ey.prototype.isDestroyed=function(){return!1};Ey.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),me(this)};var mL=Ey;var hki=T(S(),1);var al={};al.decodeRawMetadataValue=function(e,t,n){switch(e){case Yt.INT8:return t.getInt8(n);case Yt.UINT8:return t.getUint8(n);case Yt.INT16:return t.getInt16(n);case Yt.UINT16:return t.getUint16(n);case Yt.INT32:return t.getInt32(n);case Yt.UINT32:return t.getUint32(n);case Yt.INT64:return t.getBigInt64(n);case Yt.UINT64:return t.getBigUint64(n);case Yt.FLOAT32:return t.getFloat32(n);case Yt.FLOAT64:return t.getFloat64(n)}throw new de(`Invalid component type: ${e}`)};al.decodeRawMetadataValueComponent=function(e,t,n){let i=e.componentType,o=al.decodeRawMetadataValue(i,t,n);return e.normalized?Yt.normalize(o,i):o};al.decodeRawMetadataValueElement=function(e,t,n){let i=e.componentType,o=Yt.getSizeInBytes(i),r=e.type,s=Lt.getComponentCount(r),a=o*s;if(s>1){let u=Array(s);for(let m=0;m<s;m++){let p=n*a+m*o,g=al.decodeRawMetadataValueComponent(e,t,p);u[m]=g}return u}let c=n*a;return al.decodeRawMetadataValueComponent(e,t,c)};al.decodeRawMetadataValues=function(e,t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=al.decodeRawMetadataValueElement(e,n,s);r[s]=a}return r}return al.decodeRawMetadataValueElement(e,n,0)};al.convertToObjectType=function(e,t){if(!l(t)||e===Lt.SCALAR||e===Lt.STRING||e===Lt.BOOLEAN||e===Lt.ENUM)return t;let n=t.map(i=>Number(i));switch(e){case Lt.VEC2:return D.unpack(n,0,new D);case Lt.VEC3:return h.unpack(n,0,new h);case Lt.VEC4:return se.unpack(n,0,new h);case Lt.MAT2:return wi.unpack(n,0,new wi);case Lt.MAT3:return $.unpack(n,0,new $);case Lt.MAT4:return M.unpack(n,0,new M)}return t};al.decodeMetadataValues=function(e,t){let n=al.decodeRawMetadataValues(e,t);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=n[s],c=al.convertToObjectType(e.type,a);r[s]=c}return r}return al.convertToObjectType(e.type,n)};var dA=Object.freeze(al);var zki=T(S(),1);var Xki=T(S(),1);var Ski=T(S(),1);var pki=T(S(),1);function Lft(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var uA=Lft;var d_e={},Rft=32.184,Zft=2451545,jxe=-.0529921,qxe=-.1059842,$xe=13.0120009,e_e=13.3407154,t_e=.9856003,n_e=26.4057084,i_e=13.064993,o_e=.3287146,r_e=1.7484877,s_e=-.1589763,a_e=.0036096,c_e=.1643573,l_e=12.9590088,p8=new j;d_e.ComputeMoon=function(e,t){l(e)||(e=j.now()),p8=j.addSeconds(e,Rft,p8);let n=j.totalDays(p8)-Zft,i=n/Jn.DAYS_PER_JULIAN_CENTURY,o=(125.045+jxe*n)*W.RADIANS_PER_DEGREE,r=(250.089+qxe*n)*W.RADIANS_PER_DEGREE,s=(260.008+$xe*n)*W.RADIANS_PER_DEGREE,a=(176.625+e_e*n)*W.RADIANS_PER_DEGREE,c=(357.529+t_e*n)*W.RADIANS_PER_DEGREE,d=(311.589+n_e*n)*W.RADIANS_PER_DEGREE,u=(134.963+i_e*n)*W.RADIANS_PER_DEGREE,m=(276.617+o_e*n)*W.RADIANS_PER_DEGREE,p=(34.226+r_e*n)*W.RADIANS_PER_DEGREE,g=(15.134+s_e*n)*W.RADIANS_PER_DEGREE,f=(119.743+a_e*n)*W.RADIANS_PER_DEGREE,x=(239.961+c_e*n)*W.RADIANS_PER_DEGREE,_=(25.053+l_e*n)*W.RADIANS_PER_DEGREE,C=Math.sin(o),V=Math.sin(r),L=Math.sin(s),Z=Math.sin(a),G=Math.sin(c),I=Math.sin(d),v=Math.sin(u),P=Math.sin(m),w=Math.sin(p),F=Math.sin(g),b=Math.sin(f),R=Math.sin(x),E=Math.sin(_),X=Math.cos(o),A=Math.cos(r),N=Math.cos(s),O=Math.cos(a),U=Math.cos(c),Y=Math.cos(d),k=Math.cos(u),J=Math.cos(m),z=Math.cos(p),te=Math.cos(g),H=Math.cos(f),q=Math.cos(x),ee=Math.cos(_),pe=(269.9949+.0031*i-3.8787*C-.1204*V+.07*L-.0172*Z+.0072*I-.0052*F+.0043*E)*W.RADIANS_PER_DEGREE,_e=(66.5392+.013*i+1.5419*X+.0239*A-.0278*N+.0068*O-.0029*Y+9e-4*k+8e-4*te-9e-4*ee)*W.RADIANS_PER_DEGREE,ae=(38.3213+13.17635815*n-14e-13*n*n+3.561*C+.1208*V-.0642*L+.0158*Z+.0252*G-.0066*I-.0047*v-.0046*P+.0028*w+.0052*F+.004*b+.0019*R-.0044*E)*W.RADIANS_PER_DEGREE,ye=(13.17635815-14e-13*(2*n)+3.561*X*jxe+.1208*A*qxe-.0642*N*$xe+.0158*O*e_e+.0252*U*t_e-.0066*Y*n_e-.0047*k*i_e-.0046*J*o_e+.0028*z*r_e+.0052*te*s_e+.004*H*a_e+.0019*q*c_e-.0044*ee*l_e)/86400*W.RADIANS_PER_DEGREE;return l(t)||(t=new uA),t.rightAscension=pe,t.declination=_e,t.rotation=ae,t.rotationRate=ye,t};var mA=d_e;function u_e(e){(!l(e)||typeof e!="function")&&(e=mA.ComputeMoon),this._computeFunction=e}var Gft=new h,Eft=new h,Ift=new h;function Xft(e,t,n){let i=Gft;i.x=Math.cos(e+W.PI_OVER_TWO),i.y=Math.sin(e+W.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=Ift;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,Eft);return l(n)||(n=new $),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var Wft=new $,Pft=new Ae;u_e.prototype.evaluate=function(e,t){l(e)||(e=j.now());let n=this._computeFunction(e),i=Xft(n.rightAscension,n.declination,t),o=W.zeroToTwoPi(n.rotation),r=Ae.fromAxisAngle(h.UNIT_Z,o,Pft),s=$.fromQuaternion(Ae.conjugate(r,r),Wft);return $.multiply(s,i,i)};var hA=u_e;function fA(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;l(t)||(t=sn("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,ne.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new VF({radii:this.ellipsoid.radii,material:Bi.fromType(Bi.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new hA}Object.defineProperties(fA.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var T3=new $,vft=new $,wft=new h,S3=[];fA.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;l(Ft.computeIcrfToFixedMatrix(n,T3))||Ft.computeTemeToPseudoFixedMatrix(n,T3);let i=this._axes.evaluate(n,vft);$.transpose(i,i),$.multiply(T3,i,i);let o=Ab.computeMoonPositionInEarthInertialFrame(n,wft);$.multiplyByVector(T3,o,o),M.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=S3,S3.length=0,t.update(e),e.commandList=r,S3.length===1?S3[0]:void 0};fA.prototype.isDestroyed=function(){return!1};fA.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),me(this)};var pA=fA;var Kki=T(S(),1);function b8(e){}b8.prototype.isReady=function(){return!0};b8.prototype.shouldDiscardImage=function(e){return!1};var g8=b8;var gUi=T(S(),1);var Qki=T(S(),1),hL=`#ifdef MRT -layout (location = 0) out vec4 out_FragData_0; -layout (location = 1) out vec4 out_FragData_1; -#else -layout (location = 0) out vec4 out_FragColor; -#endif - -uniform vec4 u_bgColor; -uniform sampler2D u_depthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) - { -#ifdef MRT - out_FragData_0 = u_bgColor; - out_FragData_1 = vec4(u_bgColor.a); -#else - out_FragColor = u_bgColor; -#endif - return; - } - - discard; -} -`;var qki=T(S(),1),bA=`/** - * Compositing for Weighted Blended Order-Independent Transparency. See: - * - http://jcgt.org/published/0002/02/09/ - * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html - */ - -uniform sampler2D u_opaque; -uniform sampler2D u_accumulation; -uniform sampler2D u_revealage; - -in vec2 v_textureCoordinates; - -void main() -{ - vec4 opaque = texture(u_opaque, v_textureCoordinates); - vec4 accum = texture(u_accumulation, v_textureCoordinates); - float r = texture(u_revealage, v_textureCoordinates).r; - -#ifdef MRT - vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); -#else - vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); -#endif - - out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; - - if (opaque != czm_backgroundColor) - { - out_FragColor.a = 1.0; - } -} -`;function mb(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new fi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new fi({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new fi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new fi({createColorAttachments:!1}),this._opaqueClearCommand=new ni({color:new B(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new ni({color:new B(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new ni({color:new B(0,0,0,0),owner:this}),this._alphaClearCommand=new ni({color:new B(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new Ke,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function m_e(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function y8(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function h_e(e){m_e(e),y8(e)}function Fft(e,t,n,i){m_e(e),e._accumulationTexture=new wt({context:t,width:n,height:i,pixelFormat:dt.RGBA,pixelDatatype:it.FLOAT}),e._revealageTexture=new wt({context:t,pixelFormat:dt.RGBA,pixelDatatype:it.FLOAT,width:n,height:i,flipY:!1})}function Aft(e,t){y8(e);let n=ie.FRAMEBUFFER_COMPLETE,i=!0,{width:o,height:r}=e._accumulationTexture;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&(y8(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,d=e._adjustAlphaFBO.status===n;(!s||!a||!c||!d)&&(h_e(e),e._translucentMultipassSupport=!1,i=!1)}return i}mb.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let{width:r,height:s}=this._opaqueTexture,a=this._accumulationTexture,c=!l(a)||a.width!==r||a.height!==s||i!==this._useHDR,d=this._numSamples!==o;if((c||d)&&(this._numSamples=o,Fft(this,e,r,s)),(!l(this._translucentFBO.framebuffer)||c||d)&&!Aft(this,e))return;this._useHDR=i;let u=this,m,p;l(this._compositeCommand)||(m=new Ye({sources:[bA]}),this._translucentMRTSupport&&m.defines.push("MRT"),p={u_opaque:function(){return u._opaqueTexture},u_accumulation:function(){return u._accumulationTexture},u_revealage:function(){return u._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this})),l(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(m=new Ye({defines:["MRT"],sources:[hL]}),p={u_bgColor:function(){return u._translucentMRTClearCommand.color},u_depthTexture:function(){return u._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(m=new Ye({sources:[hL]}),p={u_bgColor:function(){return u._translucentMultipassClearCommand.color},u_depthTexture:function(){return u._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this}),p={u_bgColor:function(){return u._alphaClearCommand.color},u_depthTexture:function(){return u._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!Ke.equals(this._viewport,t.viewport),f=g!==this._useScissorTest;this._useScissorTest=g,Ke.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=Ke.clone(t.viewport,this._scissorRectangle),f=!0),(!l(this._rs)||!Ke.equals(this._viewport,this._rs.viewport)||f)&&(this._rs=Be.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),l(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var Mft={enabled:!0,color:new B(0,0,0,0),equationRgb:va.ADD,equationAlpha:va.ADD,functionSourceRgb:So.ONE,functionDestinationRgb:So.ONE,functionSourceAlpha:So.ZERO,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA},Nft={enabled:!0,color:new B(0,0,0,0),equationRgb:va.ADD,equationAlpha:va.ADD,functionSourceRgb:So.ONE,functionDestinationRgb:So.ONE,functionSourceAlpha:So.ONE,functionDestinationAlpha:So.ONE},kft={enabled:!0,color:new B(0,0,0,0),equationRgb:va.ADD,equationAlpha:va.ADD,functionSourceRgb:So.ZERO,functionDestinationRgb:So.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:So.ZERO,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA};function x8(e,t,n,i){let o=n[i.id];if(!l(o)){let r=Be.getState(i);r.depthMask=!1,r.blending=t,o=Be.fromCache(r),n[i.id]=o}return o}function Uft(e,t,n){return x8(t,Mft,e._translucentRenderStateCache,n)}function Dft(e,t,n){return x8(t,Nft,e._translucentRenderStateCache,n)}function Bft(e,t,n){return x8(t,kft,e._alphaRenderStateCache,n)}var Oft=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; - float ai = czm_out_FragColor.a; - float wzi = czm_alphaWeight(ai); - out_FragData_0 = vec4(Ci * wzi, ai); - out_FragData_1 = vec4(ai * wzi); -`,Yft=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; - float ai = czm_out_FragColor.a; - float wzi = czm_alphaWeight(ai); - out_FragColor = vec4(Ci, ai) * wzi; -`,zft=` float ai = czm_out_FragColor.a; - out_FragColor = vec4(ai); -`;function _8(e,t,n,i){let{shaderCache:o}=e,r=o.getDerivedShaderProgram(t,n);if(l(r))return r;let s=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map(function(u){return Ye.replaceMain(u,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,`vec4 czm_out_FragColor; -bool czm_discard = false; -`);let c=[...i.matchAll(/out_FragData_(\d+)/g)],d="";for(let u=0;u<c.length;u++){let m=c[u];d=`layout (location = ${m[1]}) out vec4 ${m[0]}; -${d}`}return a.sources.push(d),a.sources.push(`void main() -{ - czm_translucent_main(); - if (czm_discard) - { - discard; - } -${i}} -`),o.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:s})}function Hft(e,t){return _8(e,t,"translucentMRT",Oft)}function Kft(e,t){return _8(e,t,"translucentMultipass",Yft)}function Jft(e,t){return _8(e,t,"alphaMultipass",zft)}mb.prototype.createDerivedCommands=function(e,t,n){if(l(n)||(n={}),this._translucentMRTSupport){let a,c;return l(n.translucentCommand)&&(a=n.translucentCommand.shaderProgram,c=n.translucentCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),!l(a)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=Hft(t,e.shaderProgram),n.translucentCommand.renderState=Uft(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=a,n.translucentCommand.renderState=c),n}let i,o,r,s;return l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),n.alphaCommand=tt.shallowClone(e,n.alphaCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=Kft(t,e.shaderProgram),n.translucentCommand.renderState=Dft(this,t,e.renderState),n.alphaCommand.shaderProgram=Jft(t,e.shaderProgram),n.alphaCommand.renderState=Bft(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s),n};function Qft(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:d}=a,u=t._hdr,m=i.framebuffer,p=d.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let f=0;f<o.length;++f){let x=o[f];x=c?x.derivedCommands.logDepth.command:x,x=u?x.derivedCommands.hdr.command:x;let _=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(_,t,i,g)}if(l(r)){let f=r.unclassifiedCommand,x=p&&f.receiveShadows?f.derivedCommands.oit.shadows.translucentCommand:f.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=e._alphaFBO.framebuffer;for(let f=0;f<o.length;++f){let x=o[f];x=c?x.derivedCommands.logDepth.command:x,x=u?x.derivedCommands.hdr.command:x;let _=p&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand;n(_,t,i,g)}if(l(r)){let f=r.unclassifiedCommand,x=p&&f.receiveShadows?f.derivedCommands.oit.shadows.alphaCommand:f.derivedCommands.oit.alphaCommand;n(x,t,i,g)}i.framebuffer=m}function jft(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:d}=a,u=t._hdr,m=i.framebuffer,p=d.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let f=0;f<o.length;++f){let x=o[f];x=c?x.derivedCommands.logDepth.command:x,x=u?x.derivedCommands.hdr.command:x;let _=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(_,t,i,g)}if(l(r)){let f=r.unclassifiedCommand,x=p&&f.receiveShadows?f.derivedCommands.oit.shadows.translucentCommand:f.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=m}mb.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){jft(this,e,t,n,i,o);return}Qft(this,e,t,n,i,o)};mb.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};mb.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,B.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};mb.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};mb.prototype.isDestroyed=function(){return!1};mb.prototype.destroy=function(){return h_e(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),me(this)};var gA=mb;var RUi=T(S(),1);var qft=new Et("MapQuest, Open Street Map and contributors, CC-BY-SA");function C3(e){e=y(e,y.EMPTY_OBJECT);let t=Ge.createIfNeeded(y(e.url,"https://tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}${e.retinaTiles?"@2x":""}.${y(e.fileExtension,"png")}`;let n=new $r({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(ce.southwest(a),r),d=n.positionToTileXY(ce.northeast(a),r),u=(Math.abs(d.x-c.x)+1)*(Math.abs(d.y-c.y)+1),m=y(e.credit,qft);typeof m=="string"&&(m=new Et(m)),Oa.call(this,{url:t,credit:m,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}l(Object.create)&&(C3.prototype=Object.create(Oa.prototype),C3.prototype.constructor=C3);var hb=C3;var PUi=T(S(),1);var $ft=new D(1,1);function T8(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=B.clone(y(e.startColor,B.WHITE)),this.endColor=B.clone(y(e.endColor,B.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=D.clone(y(e.imageSize,$ft)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(T8.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var f_e=new h;T8.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,f_e),h.add(this.position,f_e,this.position),l(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var fL=T8;var FUi=T(S(),1);function p_e(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(p_e.prototype,{complete:{get:function(){return this._complete}}});var S8=p_e;var NUi=T(S(),1);function b_e(e){}b_e.prototype.emit=function(e){fe.throwInstantiationError()};var C8=b_e;var eDi=T(S(),1);var g_e=new D(1,1);function yA(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;l(t)||(t=new Hw(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._emitterModelMatrix=M.clone(y(e.emitterModelMatrix,M.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new M,this._startColor=B.clone(y(e.color,y(e.startColor,B.WHITE))),this._endColor=B.clone(y(e.color,y(e.endColor,B.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=D.clone(y(e.imageSize,y(e.minimumImageSize,g_e))),this._maximumImageSize=D.clone(y(e.imageSize,y(e.maximumImageSize,g_e))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new be,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(yA.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!M.equals(this._modelMatrix,e),M.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!M.equals(this._emitterModelMatrix,e),M.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){B.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){B.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function ept(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(l(o)){let m=o.length;for(let p=0;p<m;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,d=e._particlePool,u=Math.max(a-c.length-d.length,0);for(let m=0;m<u;++m){let p=new fL;p._billboard=r.add({image:s,show:!1}),d.push(p)}e._particleEstimate=a}function tpt(e){let t=e._particlePool.pop();return l(t)||(t=new fL),t}function npt(e,t){e._particlePool.push(t)}function ipt(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let d=n[c];i.remove(d._billboard)}n.length=a}function opt(e){l(e._billboard)&&(e._billboard.show=!1)}function y_e(e,t){let n=t._billboard;l(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=W.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=W.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=W.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=W.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new B(i,o,r,s),n.scale=W.lerp(t.startScale,t.endScale,t.normalizedAge)}function rpt(e,t){t.startColor=B.clone(e._startColor,t.startColor),t.endColor=B.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=W.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=W.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=W.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=W.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=W.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function spt(e,t){if(e._isComplete)return 0;t=W.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),l(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;l(s)&&!s._complete&&a>s.time&&(i+=W.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var V3=new h;yA.prototype.update=function(e){if(!this.show)return;l(this._billboardCollection)||(this._billboardCollection=new Td),this._updateParticlePool&&(ept(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=j.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?y_e(this,s):(opt(s),npt(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=spt(this,t);if(c>0&&l(i)){this._matrixDirty&&(this._combinedMatrix=M.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let d=this._combinedMatrix;for(r=0;r<c;r++)s=tpt(this),this._emitter.emit(s),h.add(s.position,s.velocity,V3),M.multiplyByPoint(d,V3,V3),s.position=M.multiplyByPoint(d,s.position,s.position),h.subtract(V3,s.position,s.velocity),h.normalize(s.velocity,s.velocity),rpt(this,s),y_e(this,s)}if(this._billboardCollection.update(e),this._previousTime=j.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=W.mod(this._currentTime,this._lifetime),this.bursts){let d=this.bursts.length;for(r=0;r<d;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&ipt(this)};yA.prototype.isDestroyed=function(){return!1};yA.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),me(this)};var V8=yA;var sDi=T(S(),1);function L3(e){e=y(e,y.EMPTY_OBJECT);let t=Pn(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=_i(),this._lastMsSampleTime=_i(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(L3.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});L3.prototype.update=function(e){let t=_i(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};L3.prototype.destroy=function(){return me(this)};var fb=L3;var hDi=T(S(),1);function QT(){this._framebuffer=new fi,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(QT.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function apt(e,t,n){let{width:i,height:o}=n;e._framebuffer.update(t,i,o)}function cpt(e,t,n){l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(`uniform highp sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - vec4 globeDepthPacked = texture(czm_globeDepthTexture, v_textureCoordinates); - float globeDepth = czm_unpackDepth(globeDepthPacked); - float depth = texture(colorTexture, v_textureCoordinates).r; - out_FragColor = czm_branchFreeTernary(globeDepth <= 0.0 || globeDepth >= 1.0 || depth < globeDepth && depth > 0.0 && depth < 1.0, - czm_packDepth(depth), globeDepthPacked); -} -`,{renderState:Be.fromCache(),uniformMap:{colorTexture:function(){return e._textureToCopy}},owner:e})),e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}QT.prototype.update=function(e,t){apt(this,e,t),cpt(this,e,t)};var lpt=new se,dpt=new se(1,1/255,1/65025,1/16581375);QT.prototype.getDepth=function(e,t,n){if(!l(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=se.unpack(i,0,lpt);return se.divideByScalar(o,255,o),se.dot(o,dpt)};QT.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};QT.prototype.isDestroyed=function(){return!1};QT.prototype.destroy=function(){return this._framebuffer.destroy(),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=l(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),me(this)};var xA=QT;var xDi=T(S(),1);function _A(){this._framebuffer=new fi({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(_A.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function upt(e){e._framebuffer.destroy()}function mpt(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new ic(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new Ke},o.viewport=new Ke,e._passState=o}_A.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&mpt(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};_A.prototype.isDestroyed=function(){return!1};_A.prototype.destroy=function(){return upt(this),me(this)};var TA=_A;var TDi=T(S(),1);function hpt(e,t,n,i){this.schemaId=e,this.className=t,this.propertyName=n,this.classProperty=i}var SA=hpt;var IDi=T(S(),1);function pL(e){let t=new ic(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new Ke},t.viewport=new Ke,this._context=e,this._fb=new fi({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}pL.prototype.begin=function(e,t){let n=this._context,{width:i,height:o}=t;return Ke.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var CA=new B;pL.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),d=0,u=0,m=0,p=-1;for(let g=0;g<s;++g){if(-a<=d&&d<=a&&-c<=u&&u<=c){let f=4*((c-u)*t+d+a);CA.red=B.byteToFloat(o[f]),CA.green=B.byteToFloat(o[f+1]),CA.blue=B.byteToFloat(o[f+2]),CA.alpha=B.byteToFloat(o[f+3]);let x=i.getObjectByPickColor(CA);if(l(x))return x}if(d===u||d<0&&-d===u||d>0&&d===1-u){let f=m;m=-p,p=f}d+=m,u+=p}};pL.prototype.readCenterPixel=function(e){let t=y(e.width,1),n=y(e.height,1),o=this._context.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.floor(t*.5),a=4*(Math.floor(n*.5)*t+r);return o.slice(a,a+4)};pL.prototype.isDestroyed=function(){return!1};pL.prototype.destroy=function(){return this._fb.destroy(),me(this)};var VA=pL;var nOi=T(S(),1);var EBi=T(S(),1);var ADi=T(S(),1);function pb(){this._numSamples=1,this._colorFramebuffer=new fi({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new fi({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new B(0,0,0,0),this._clearCommand=new ni({color:new B(0,0,0,0),depth:1,owner:this})}function fpt(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(pb.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});pb.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?it.HALF_FLOAT:it.FLOAT:it.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};pb.prototype.clear=function(e,t,n){B.clone(n,this._clearCommand.color),B.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};pb.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};pb.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};pb.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};pb.prototype.isDestroyed=function(){return!1};pb.prototype.destroy=function(){return fpt(this),me(this)};var jT=pb;var v3i=T(S(),1);var UDi=T(S(),1);function qT(){}qT.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};qT.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=Ye.findPositionVarying(e),s=l(r);if(t&&!s){let a=o.length;for(let d=0;d<a;++d)o[d]=Ye.replaceMain(o[d],"czm_shadow_cast_main");o.push(`out vec3 v_positionEC; -void main() -{ - czm_shadow_cast_main(); - v_positionEC = (czm_inverseProjection * gl_Position).xyz; -}`)}return new Ye({defines:i,sources:o})};qT.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=Ye.findPositionVarying(e),a=l(s);a||(s="v_positionEC");let c=r.length;for(let u=0;u<c;++u)r[u]=Ye.replaceMain(r[u],"czm_shadow_cast_main");let d="";return t&&(a||(d+=`in vec3 v_positionEC; -`),d+=`uniform vec4 shadowMap_lightPositionEC; -`),i?d+=`void main() -{ -`:d+=`void main() -{ - czm_shadow_cast_main(); - if (out_FragColor.a == 0.0) - { - discard; - } -`,t?d+=` float distance = length(${s}); - if (distance >= shadowMap_lightPositionEC.w) - { - discard; - } - distance /= shadowMap_lightPositionEC.w; // radius - out_FragColor = czm_packDepth(distance); -`:n?d+=` out_FragColor = vec4(1.0); -`:d+=` out_FragColor = czm_packDepth(gl_FragCoord.z); -`,d+=`} -`,r.push(d),new Ye({defines:o,sources:r})};qT.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,d=e.debugCascadeColors,u=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${d}${u}${t}${n}${i}`};qT.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new Ye({defines:i,sources:o})};qT.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=Ye.findNormalVarying(e),s=!i&&l(r)||i&&o,a=Ye.findPositionVarying(e),c=l(a),d=t._usesDepthTexture,u=t._polygonOffsetSupported,m=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,f=t.debugCascadeColors,x=t.softShadows,_=m?t._pointBias:i?t._terrainBias:t._primitiveBias,C=e.defines.slice(0),V=e.sources.slice(0),L=V.length;for(let I=0;I<L;++I)V[I]=Ye.replaceMain(V[I],"czm_shadow_receive_main");m?C.push("USE_CUBE_MAP_SHADOW"):d&&C.push("USE_SHADOW_DEPTH_TEXTURE"),x&&!m&&C.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?C.push("ENABLE_VERTEX_LIGHTING"):C.push("ENABLE_DAYNIGHT_SHADING")),n&&_.normalShading&&s&&(C.push("USE_NORMAL_SHADING"),_.normalShadingSmooth>0&&C.push("USE_NORMAL_SHADING_SMOOTH"));let Z="";m?Z+=`uniform samplerCube shadowMap_textureCube; -`:Z+=`uniform sampler2D shadowMap_texture; -`;let G;return c?G=` return vec4(${a}, 1.0); -`:G=`#ifndef LOG_DEPTH - return czm_windowToEyeCoordinates(gl_FragCoord); -#else - return vec4(v_logPositionEC, 1.0); -#endif -`,Z+=`uniform mat4 shadowMap_matrix; -uniform vec3 shadowMap_lightDirectionEC; -uniform vec4 shadowMap_lightPositionEC; -uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; -uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; -#ifdef LOG_DEPTH -in vec3 v_logPositionEC; -#endif -vec4 getPositionEC() -{ -${G}} -vec3 getNormalEC() -{ -${s?` return normalize(${r}); -`:` return vec3(1.0); -`}} -void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) -{ -${_.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; - float normalOffsetScale = 1.0 - nDotL; - vec3 offset = normalOffset * normalOffsetScale * normalEC; - positionEC.xyz += offset; -`:""}} -`,Z+=`void main() -{ - czm_shadow_receive_main(); - vec4 positionEC = getPositionEC(); - vec3 normalEC = getNormalEC(); - float depth = -positionEC.z; -`,Z+=` czm_shadowParameters shadowParameters; - shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; - shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; - shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; - shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; -`,i?Z+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); -`:u||(Z+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); -`),m?Z+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; - float distance = length(directionEC); - directionEC = normalize(directionEC); - float radius = shadowMap_lightPositionEC.w; - // Stop early if the fragment is beyond the point light radius - if (distance > radius) - { - return; - } - vec3 directionWC = czm_inverseViewRotation * directionEC; - shadowParameters.depth = distance / radius; - shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); - shadowParameters.texCoords = directionWC; - float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); -`:p?Z+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); - float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - vec4 shadowPosition = shadowMap_matrix * positionEC; - // Spot light uses a perspective projection, so perform the perspective divide - shadowPosition /= shadowPosition.w; - // Stop early if the fragment is not in the shadow bounds - if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) - { - return; - } - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); -`:g?Z+=` float maxDepth = shadowMap_cascadeSplits[1].w; - // Stop early if the eye depth exceeds the last cascade - if (depth > maxDepth) - { - return; - } - // Get the cascade based on the eye-space depth - vec4 weights = czm_cascadeWeights(depth); - // Apply normal offset - float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - // Transform position into the cascade - vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; - // Get visibility - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); - // Fade out shadows that are far away - float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; - float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); - visibility = mix(visibility, 1.0, fade); -${f?` // Draw cascade colors for debugging - out_FragColor *= czm_cascadeColor(weights); -`:""}`:Z+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - vec4 shadowPosition = shadowMap_matrix * positionEC; - // Stop early if the fragment is not in the shadow bounds - if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) - { - return; - } - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); -`,Z+=` out_FragColor.rgb *= visibility; -} -`,V.push(Z),new Ye({defines:C,sources:V})};var np=qT;function ip(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(zt.isInternetExplorer()||zt.isEdge()||(zt.isChrome()||zt.isFirefox())&&zt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n;let i=y(e.depthBiasStep,1);this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4*i},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*i},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4*i},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new M,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new se,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new R3,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new le,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new D,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Xr:l(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new se,new se],this._cascadeMatrices=[new M,new M,new M,new M],this._cascadeDistances=new se;let o;this._isPointLight?o=6:this._cascadesEnabled?o=this._numberOfCascades:o=1,this._passes=new Array(o);for(let r=0;r<o;++r)this._passes[r]=new ppt(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,R8(this),this._clearCommand=new ni({depth:1,color:new B}),this._clearPassState=new ic(t),this._size=y(e.size,2048),this.size=this._size}ip.MAXIMUM_DISTANCE=2e4;function ppt(e){this.camera=new R3,this.passState=new ic(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function L8(e,t){return Be.fromCache({cull:{enabled:!0,face:yi.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function R8(e){let t=!e._usesDepthTexture;e._primitiveRenderState=L8(t,e._primitiveBias),e._terrainRenderState=L8(t,e._terrainBias),e._pointRenderState=L8(t,e._pointBias)}ip.prototype.debugCreateRenderStates=function(){R8(this)};Object.defineProperties(ip.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){Tpt(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function Z8(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;l(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function bpt(e,t){let n=new sd({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Pc.DEPTH_COMPONENT16}),i=new wt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:dt.RGBA,pixelDatatype:it.UNSIGNED_BYTE,sampler:nn.NEAREST}),o=new aa({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function gpt(e,t){let n=new wt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:dt.DEPTH_STENCIL,pixelDatatype:it.UNSIGNED_INT_24_8,sampler:nn.NEAREST}),i=new aa({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function ypt(e,t){let n=new sd({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Pc.DEPTH_COMPONENT16}),i=new Xa({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:dt.RGBA,pixelDatatype:it.UNSIGNED_BYTE,sampler:nn.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new aa({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function T_e(e,t){e._isPointLight?ypt(e,t):e._usesDepthTexture?gpt(e,t):bpt(e,t)}function xpt(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==ie.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,R8(e),Z8(e),T_e(e,t))}function _pt(e,t){(!l(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(Z8(e),T_e(e,t),xpt(e,t),S_e(e,t))}function S_e(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function Tpt(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=Dt.maximumCubeMapSize>=t?t:Dt.maximumCubeMapSize,o.x=t,o.y=t;let r=new Ke(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=Dt.maximumTextureSize>=t?t:Dt.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new Ke(0,0,t,t)):i===4&&(t=Dt.maximumTextureSize>=t*2?t:Dt.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new Ke(0,0,t,t),n[1].passState.viewport=new Ke(t,0,t,t),n[2].passState.viewport=new Ke(0,t,t,t),n[3].passState.viewport=new Ke(t,t,t,t));e._clearPassState.viewport=new Ke(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,d=a.y/o.y,u=a.width/o.x,m=a.height/o.y;s.textureOffsets=new M(u,0,0,c,0,m,0,d,0,0,1,0,0,0,0,1)}}var Spt=new Ke;function Cpt(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube; -in vec2 v_textureCoordinates; -void main() -{ - vec2 uv = v_textureCoordinates; - vec3 dir; - - if (uv.y < 0.5) - { - if (uv.x < 0.333) - { - dir.x = -1.0; - dir.y = uv.x * 6.0 - 1.0; - dir.z = uv.y * 4.0 - 1.0; - } - else if (uv.x < 0.666) - { - dir.y = -1.0; - dir.x = uv.x * 6.0 - 3.0; - dir.z = uv.y * 4.0 - 1.0; - } - else - { - dir.z = -1.0; - dir.x = uv.x * 6.0 - 5.0; - dir.y = uv.y * 4.0 - 1.0; - } - } - else - { - if (uv.x < 0.333) - { - dir.x = 1.0; - dir.y = uv.x * 6.0 - 1.0; - dir.z = uv.y * 4.0 - 3.0; - } - else if (uv.x < 0.666) - { - dir.y = 1.0; - dir.x = uv.x * 6.0 - 3.0; - dir.z = uv.y * 4.0 - 3.0; - } - else - { - dir.z = 1.0; - dir.x = uv.x * 6.0 - 5.0; - dir.y = uv.y * 4.0 - 3.0; - } - } - - float shadow = czm_unpackDepth(czm_textureCube(shadowMap_textureCube, dir)); - out_FragColor = vec4(vec3(shadow), 1.0); -} -`:n=`uniform sampler2D shadowMap_texture; -in vec2 v_textureCoordinates; -void main() -{ -${e._usesDepthTexture?` float shadow = texture(shadowMap_texture, v_textureCoordinates).r; -`:` float shadow = czm_unpackDepth(texture(shadowMap_texture, v_textureCoordinates)); -`} out_FragColor = vec4(vec3(shadow), 1.0); -} -`;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=Ze.OVERLAY,i}function Vpt(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=Spt;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;l(a)||(a=Cpt(e,n),e._debugShadowViewCommand=a),(!l(a.renderState)||!Ke.equals(a.renderState.viewport,s))&&(a.renderState=Be.fromCache({viewport:Ke.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var op=new Array(8);op[0]=new se(-1,-1,-1,1);op[1]=new se(1,-1,-1,1);op[2]=new se(1,1,-1,1);op[3]=new se(-1,1,-1,1);op[4]=new se(-1,-1,1,1);op[5]=new se(1,-1,1,1);op[6]=new se(1,1,1,1);op[7]=new se(-1,1,1,1);var Iy=new M,G8=new Array(8);for(let e=0;e<8;++e)G8[e]=new se;function Lpt(e,t){let n=new Gt({geometry:new Lm({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:Ht.fromColor(t)}}),i=new Gt({geometry:new V0({radius:.5}),attributes:{color:Ht.fromColor(t)}});return new Wn({geometryInstances:[n,i],appearance:new mn({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var Rpt=[B.RED,B.GREEN,B.BLUE,B.MAGENTA],Zpt=new h;function Gpt(e,t){Vpt(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new Jf({camera:e._sceneCamera,color:B.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new Jf({camera:e._shadowMapCamera,color:B.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new Jf({camera:e._passes[i].camera,color:Rpt[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!l(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Ae.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,Zpt),a=M.fromTranslationQuaternionRotationScale(i,o,s,Iy);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=Lpt(a,B.YELLOW)}e._debugLightFrustum.update(t)}else(!l(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new Jf({camera:e._shadowMapCamera,color:B.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function R3(){this.viewMatrix=new M,this.inverseViewMatrix=new M,this.frustum=void 0,this.positionCartographic=new he,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new M}R3.prototype.clone=function(e){M.clone(e.viewMatrix,this.viewMatrix),M.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),he.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var Ept=new M(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);R3.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return M.multiply(t,e,this.viewProjectionMatrix),M.multiply(Ept,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var Ipt=new Array(5),Xpt=new Li,Wpt=new Array(4),C_e=new h,V_e=new h;function Ppt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,d=r/o,u=.9,m=!1;t.shadowState.closestObjectSize<200&&(m=!0,u=.9);let p=Wpt,g=Ipt;for(g[0]=o,g[s]=r,a=0;a<s;++a){let F=(a+1)/s,b=o*Math.pow(d,F),R=o+c*F,E=W.lerp(R,b,u);g[a+1]=E,p[a]=E-g[a]}if(m){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let F=g[0];for(a=0;a<s-1;++a)F+=p[a],g[a+1]=F}se.unpack(g,0,e._cascadeSplits[0]),se.unpack(g,1,e._cascadeSplits[1]),se.unpack(p,0,e._cascadeDistances);let f=n.frustum,x=f.left,_=f.right,C=f.bottom,V=f.top,L=f.near,Z=f.far,G=n.positionWC,I=n.directionWC,v=n.upWC,P=i.frustum.clone(Xpt),w=n.getViewProjection();for(a=0;a<s;++a){P.near=g[a],P.far=g[a+1];let F=M.multiply(P.projectionMatrix,i.viewMatrix,Iy),b=M.inverse(F,Iy),R=M.multiply(w,b,Iy),E=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,C_e),X=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,V_e);for(let Y=0;Y<8;++Y){let k=se.clone(op[Y],G8[Y]);M.multiplyByVector(R,k,k),h.divideByScalar(k,k.w,k),h.minimumByComponent(k,E,E),h.maximumByComponent(k,X,X)}E.x=Math.max(E.x,0),E.y=Math.max(E.y,0),E.z=0,X.x=Math.min(X.x,1),X.y=Math.min(X.y,1),X.z=Math.min(X.z,1);let A=e._passes[a],N=A.camera;N.clone(n);let O=N.frustum;O.left=x+E.x*(_-x),O.right=x+X.x*(_-x),O.bottom=C+E.y*(V-C),O.top=C+X.y*(V-C),O.near=L+E.z*(Z-L),O.far=L+X.z*(Z-L),A.cullingVolume=N.frustum.computeCullingVolume(G,I,v);let U=e._cascadeMatrices[a];M.multiply(N.getViewProjection(),i.inverseViewMatrix,U),M.multiply(A.textureOffsets,U,U)}}var vpt=new M,wpt=new h,Fpt=new h,x_e=new h;function Apt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=M.multiply(i.frustum.projectionMatrix,i.viewMatrix,Iy),r=M.inverse(o,Iy),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,W.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,wpt);a=h.cross(c,s,Fpt),h.normalize(a,a),h.normalize(c,c);let d=h.fromElements(0,0,0,x_e),u=M.computeView(d,s,a,c,vpt),m=M.multiply(u,r,Iy),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,C_e),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,V_e);for(let Z=0;Z<8;++Z){let G=se.clone(op[Z],G8[Z]);M.multiplyByVector(m,G,G),h.divideByScalar(G,G.w,G),h.minimumByComponent(G,p,p),h.maximumByComponent(G,g,g)}g.z+=1e3,p.z-=10;let f=x_e;f.x=-(.5*(p.x+g.x)),f.y=-(.5*(p.y+g.y)),f.z=-g.z;let x=M.fromTranslation(f,Iy);u=M.multiply(x,u,u);let _=.5*(g.x-p.x),C=.5*(g.y-p.y),V=g.z-p.z,L=n.frustum;L.left=-_,L.right=_,L.bottom=-C,L.top=C,L.near=.01,L.far=V,M.clone(u,n.viewMatrix),M.inverse(u,n.inverseViewMatrix),M.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var Mpt=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],Npt=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],kpt=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function Upt(e,t){let n=new Li;n.fov=W.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=Mpt[i],o.upWC=Npt[i],o.rightWC=kpt[i],M.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),M.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var Dpt=new h,Bpt=new h,L_e=new le,__e=L_e.center;function Opt(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=L_e;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,Dpt),s=h.negate(i.directionWC,Bpt),a=h.dot(r,s);if(e.fadingEnabled){let c=W.clamp(a/.1,0,1);e._darkness=W.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===Kt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),le.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,__e),__e);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===Kt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),le.clone(o,e._boundingSphere)}}function Ypt(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;M.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),M.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=oo.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,Opt(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}ip.prototype.update=function(e){if(Ypt(this,e),this._needsUpdate)if(_pt(this,e.context),this._isPointLight&&Upt(this,e),this._cascadesEnabled&&(Apt(this,e),this._numberOfCascades>1&&Ppt(this,e)),this._isPointLight)this._shadowMapCullingVolume=ls.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;M.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&Gpt(this,e)};ip.prototype.updatePass=function(e,t){S_e(this,e,t)};var zpt=new D;function R_e(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=zpt;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,se.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return se.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new se,combinedUniforms2:new se};return Tt(t,o,!1)}function Hpt(e,t,n,i,o,r){let s,a,c;if(l(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=tt.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!l(s)||o!==n.shaderProgram.id||t){let d=n.shaderProgram,u=n.pass===Ze.GLOBE,m=n.pass!==Ze.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,f=np.getShadowCastShaderKeyword(p,u,g,m);if(s=i.shaderCache.getDerivedShaderProgram(d,f),!l(s)){let _=d.vertexShaderSource,C=d.fragmentShaderSource,V=np.createShadowCastVertexShader(_,p,u),L=np.createShadowCastFragmentShader(C,p,g,m);s=i.shaderCache.createDerivedShaderProgram(d,f,{vertexShaderSource:V,fragmentShaderSource:L,attributeLocations:d._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:u&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=ze(a,!1),a.cull=ze(a.cull,!1),a.cull.enabled=!1,a=Be.fromCache(a)),c=R_e(e,n.uniformMap,u)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}ip.createReceiveDerivedCommand=function(e,t,n,i,o){l(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,d=t.pass===Ze.GLOBE,u=!1;if(d&&(u=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let m,p;l(o.receiveCommand)&&(m=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=tt.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,f=o.receiveShaderProgramId!==t.shaderProgram.id;if(!l(m)||f||n||g){let x=np.getShadowReceiveShaderKeyword(e[0],t.castShadows,d,u);if(m=i.shaderCache.getDerivedShaderProgram(s,x),!l(m)){let _=np.createShadowReceiveVertexShader(a,d,u),C=np.createShadowReceiveFragmentShader(c,e[0],t.castShadows,d,u);m=i.shaderCache.createDerivedShaderProgram(s,x,{vertexShaderSource:_,fragmentShaderSource:C,attributeLocations:s._attributeLocations})}p=R_e(e[0],t.uniformMap,d)}o.receiveCommand.shaderProgram=m,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};ip.createCastDerivedCommand=function(e,t,n,i,o){if(l(o)||(o={}),t.castShadows){let r=o.castCommands;l(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=Hpt(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};ip.prototype.isDestroyed=function(){return!1};ip.prototype.destroy=function(){Z8(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return me(this)};var bb=ip;var rBi=T(S(),1);var F3i=T(S(),1),LA=`uniform sampler2D u_opaqueDepthTexture; -uniform sampler2D u_translucentDepthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; - float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; - translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); - out_FragColor = czm_packDepth(translucentDepth); -} -`;var M3i=T(S(),1),$T=`uniform sampler2D colorTexture; - -#ifdef DEBUG_SHOW_DEPTH -uniform sampler2D u_packedTranslucentDepth; -#endif - -in vec2 v_textureCoordinates; - -void main() -{ -#ifdef DEBUG_SHOW_DEPTH - if (v_textureCoordinates.x < 0.5) - { - out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); - out_FragColor.a = 1.0; - } -#else - vec4 color = texture(colorTexture, v_textureCoordinates); - -#ifdef PICK - if (color == vec4(0.0)) - { - discard; - } -#else - // Reverse premultiplication process to get the correct composited result of the classification primitives - color.rgb /= color.a; -#endif - out_FragColor = color; -#endif -} -`;var Kpt=!1;function Xy(e){this._drawClassificationFBO=new fi({createDepthAttachments:!1}),this._accumulationFBO=new fi({createDepthAttachments:!1}),this._packFBO=new fi,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new ni({color:new B(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new ni({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new Ke,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(Xy.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function Z_e(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function G_e(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function Jpt(e,t,n,i){Z_e(e),e._translucentDepthStencilTexture=new wt({context:t,width:n,height:i,pixelFormat:dt.DEPTH_STENCIL,pixelDatatype:it.UNSIGNED_INT_24_8,sampler:nn.NEAREST})}function Qpt(e,t,n,i){G_e(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function jpt(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(Jpt(e,t,o,r),Qpt(e,t,o,r));let s,a;if(l(e._packDepthCommand)||(s=new Ye({sources:[LA]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!l(e._compositeCommand)){s=new Ye({sources:[$T]}),a={colorTexture:function(){return e._textureToComposite}},Kpt&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let u=e._compositeCommand,m=u.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(m,"pick",{vertexShaderSource:m.vertexShaderSource,fragmentShaderSource:new Ye({sources:s.sources,defines:["PICK"]}),attributeLocations:m._attributeLocations}),g=tt.shallowClone(u);g.shaderProgram=p,u.derivedCommands.pick=g}l(e._copyCommand)||(s=new Ye({sources:[$T]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),l(e._accumulateCommand)||(s=new Ye({sources:[$T]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!Ke.equals(e._viewport,n.viewport),d=c!==e._useScissorTest;e._useScissorTest=c,Ke.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=Ke.clone(n.viewport,e._scissorRectangle),d=!0),(!l(e._rsDepth)||!Ke.equals(e._viewport,e._rsDepth.viewport)||d)&&(e._rsDepth=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!l(e._rsAccumulate)||!Ke.equals(e._viewport,e._rsAccumulate.viewport)||d)&&(e._rsAccumulate=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Bn.EQUAL,reference:Bt.CESIUM_3D_TILE_MASK}})),l(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!l(e._rsComp)||!Ke.equals(e._viewport,e._rsComp.viewport)||d)&&(e._rsComp=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:hn.ALPHA_BLEND})),l(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}Xy.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=e.frameState.useLogDepth,s=e.context,a=n.framebuffer;for(let c=0;c<i.length;++c){let d=i[c];if(d=r?d.derivedCommands.logDepth.command:d,d.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}}if(this._hasTranslucentDepth){jpt(this,s,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(s,n);for(let c=0;c<i.length;++c){let d=i[c];if(d=r?d.derivedCommands.logDepth.command:d,!d.depthForTranslucentClassification)continue;let u=d.derivedCommands.depth.depthOnlyCommand;t(u,e,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(s,n)),n.framebuffer=a}};Xy.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(Ze.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[Ze.CESIUM_3D_TILE_CLASSIFICATION],d=i.indices[Ze.CESIUM_3D_TILE_CLASSIFICATION];for(let u=0;u<d;++u)t(c[u],e,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};Xy.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),qpt(this,e,t)};function qpt(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}Xy.prototype.isSupported=function(){return this._supported};Xy.prototype.isDestroyed=function(){return!1};Xy.prototype.destroy=function(){return Z_e(this),G_e(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),me(this)};var RA=Xy;function $pt(){this.command=void 0,this.near=void 0,this.far=void 0}function Z3(e,t,n){let i=e.context,o;i.depthTexture&&(o=new QF);let r;e._useOIT&&i.depthTexture&&(r=new gA(i));let s=new ic(i);s.viewport=Ke.clone(n),this.camera=t,this._cameraClone=oo.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new VA(i),this.pickDepthFramebuffer=new TA,this.sceneFramebuffer=new jT,this.globeDepth=o,this.globeTranslucencyFramebuffer=new jF,this.oit=r,this.translucentTileClassification=new RA(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var E8=new h,I8=new h;function e0t(e,t,n){let i=Math.max(h.maximumComponent(h.abs(e.position,E8)),h.maximumComponent(h.abs(t.position,I8))),o=1/Math.max(1,i);return h.multiplyByScalar(e.position,o,E8),h.multiplyByScalar(t.position,o,I8),h.equalsEpsilon(E8,I8,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&M.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}Z3.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return e0t(t,n,W.EPSILON15)?(this._cameraStartFired&&_i()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=_i(),oo.clone(t,n),!0)};function t0t(e,t,n,i){let{frameState:o}=t,{camera:r,useLogDepth:s}=o,a=s?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,c=t.mode===oe.SCENE2D,d=t.nearToFarDistance2D;i*=1+W.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n),isNaN(n)&&(n=r.frustum.near),isNaN(i)&&(i=r.frustum.far);let u;c?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),u=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):u=Math.ceil(Math.log(i/n)/Math.log(a));let{frustumCommandsList:m}=e;m.length=u;for(let p=0;p<u;++p){let g,f;c?(g=Math.min(i-d,n+p*d),f=Math.min(i,g+d)):(g=Math.max(n,Math.pow(a,p)*n),f=Math.min(i,a*g));let x=m[p];l(x)?(x.near=g,x.far=f):x=m[p]=new IF(g,f)}}function n0t(e,t,n){let{command:i,near:o,far:r}=n;t.debugShowFrustums&&(i.debugOverlappingFrustums=0);let{frustumCommandsList:s}=e;for(let a=0;a<s.length;++a){let c=s[a];if(o>c.far)continue;if(r<c.near)break;let d=i.pass,u=c.indices[d]++;if(c.commands[d][u]=i,t.debugShowFrustums&&(i.debugOverlappingFrustums|=1<<a),i.executeInClosestFrustum)break}if(t.debugShowFrustums){let{debugFrustumStatistics:a}=e,{debugOverlappingFrustums:c}=i,d=a.commandsInFrustums;d[c]=l(d[c])?d[c]+1:1,++a.totalCommands}t.updateDerivedCommands(i)}var E_e=new ls,i0t=new Pa;Z3.prototype.createPotentiallyVisibleSet=function(e){let{frameState:t}=e,{camera:n,commandList:i,shadowState:o}=t,{positionWC:r,directionWC:s,frustum:a}=n,c=e._computeCommandList,d=e._overlayCommandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let u=this.frustumCommandsList;for(let w=0;w<u.length;++w)for(let F=0;F<Ze.NUMBER_OF_PASSES;++F)u[w].indices[F]=0;c.length=0,d.length=0;let m=this._commandExtents,p=m.length,g=0,f=+Number.MAX_VALUE,x=-Number.MAX_VALUE,{shadowsEnabled:_}=o,C=+Number.MAX_VALUE,V=-Number.MAX_VALUE,L=Number.MAX_VALUE,Z=t.mode===oe.SCENE3D?t.occluder:void 0,{cullingVolume:G}=t,I=E_e.planes;for(let w=0;w<5;++w)I[w]=G.planes[w];G=E_e;for(let w=0;w<i.length;++w){let F=i[w],{pass:b,boundingVolume:R}=F;if(b===Ze.COMPUTE)c.push(F);else if(b===Ze.OVERLAY)d.push(F);else{let E,X;if(l(R)){if(!e.isVisible(G,F,Z))continue;let N=R.computePlaneDistances(r,s,i0t);if(E=N.start,X=N.stop,f=Math.min(f,E),x=Math.max(x,X),_&&F.receiveShadows&&E<bb.MAXIMUM_DISTANCE&&!(b===Ze.GLOBE&&E<-100&&X>100)){let O=X-E;b!==Ze.GLOBE&&E<100&&(L=Math.min(L,O)),C=Math.min(C,E),V=Math.max(V,X)}}else F instanceof ni?(E=a.near,X=a.far):(E=a.near,X=a.far,f=Math.min(f,E),x=Math.max(x,X));let A=m[g];l(A)||(A=m[g]=new $pt),A.command=F,A.near=E,A.far=X,g++}}_&&(C=Math.min(Math.max(C,a.near),a.far),V=Math.max(Math.min(V,a.far),C),o.nearPlane=C,o.farPlane=V,o.closestObjectSize=L),t0t(this,e,f,x);for(let w=0;w<g;w++)n0t(this,e,m[w]);if(g<p)for(let w=g;w<p;w++){let F=m[w];if(!l(F.command))break;F.command=void 0}let v=u.length,{frustumSplits:P}=t;P.length=v+1;for(let w=0;w<v;++w)P[w]=u[w].near,w===v-1&&(P[w+1]=u[w].far)};Z3.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e=this.pickDepths;for(let t=0;t<e.length;++t)e[t].destroy()};var eS=Z3;var X_e=.1,o0t=new $u({pass:vo.MOST_DETAILED_PRELOAD}),r0t=new $u({pass:vo.MOST_DETAILED_PICK}),ZA=new $u({pass:vo.PICK});function na(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new Ke(0,0,1,1),n=new oo(e);n.frustum=new ln({width:X_e,aspectRatio:1,near:.1}),this._pickOffscreenView=new eS(e,n,t)}na.prototype.update=function(){this._pickPositionCacheDirty=!0};na.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return l(i)||(i=new xA,n[t]=i),i};var s0t=new Xr,a0t=new h,G3=new h,c0t=new D,l0t=new M;function d0t(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2*(t.x-o.x)/o.width-1;c*=(s.right-s.left)*.5;let d=2*(o.height-t.y-o.y)/o.height-1;d*=(s.top-s.bottom)*.5;let u=M.clone(r.transform,l0t);r._setTransform(M.IDENTITY);let m=h.clone(r.position,a0t);h.multiplyByScalar(r.right,c,G3),h.add(G3,m,m),h.multiplyByScalar(r.up,d,G3),h.add(G3,m,m),r._setTransform(u),e.mode===oe.SCENE2D&&h.fromElements(m.z,m.x,m.y,m);let p=s.getPixelDimensions(o.width,o.height,1,1,c0t),g=s0t;return g.right=p.x*.5,g.left=-g.right,g.top=p.y*.5,g.bottom=-g.top,g.near=s.near,g.far=s.far,g.computeCullingVolume(m,r.directionWC,r.upWC)}var u0t=new ol,m0t=new D;function h0t(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),d=s.aspectRatio*c,u=2*(t.x-o.x)/o.width-1,m=2*(o.height-t.y-o.y)/o.height-1,p=u*a*d,g=m*a*c,f=s.getPixelDimensions(o.width,o.height,1,1,m0t),x=f.x*n*.5,_=f.y*i*.5,C=u0t;return C.top=g+_,C.bottom=g-_,C.right=p+x,C.left=p-x,C.near=a,C.far=s.far,C.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function E3(e,t,n,i,o){let r=e.camera.frustum;return r instanceof ln||r instanceof Xr?d0t(e,t,n,i,o):h0t(e,t,n,i,o)}var I3=new Ke(0,0,3,3),X3=new D,GA=new B(0,0,0,0);function X8(e,t,n,i,o){return o.width=y(n,3),o.height=y(i,o.width),o.x=t.x-(o.width-1)*.5,o.y=e-t.y-(o.height-1)*.5,o}na.prototype.pick=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let d=s.passState;d.viewport=Ke.clone(a,d.viewport);let u=Mi.transformWindowToDrawingBuffer(e,t,X3),m=X8(o.drawingBufferHeight,u,n,i,I3);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=E3(e,u,m.width,m.height,a),r.invertClassification=!1,r.passes.pick=!0,r.tilesetPassState=ZA,o.uniformState.update(r),e.updateEnvironment(),d=c.begin(m,a),e.updateAndExecuteCommands(d,GA),e.resolveFramebuffers(d);let p=c.end(m);return o.endFrame(),p};na.prototype.pickVoxelCoordinate=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let d=s.passState;d.viewport=Ke.clone(a,d.viewport);let u=Mi.transformWindowToDrawingBuffer(e,t,X3),m=X8(o.drawingBufferHeight,u,n,i,I3);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=E3(e,u,m.width,m.height,a),r.invertClassification=!1,r.passes.pickVoxel=!0,r.tilesetPassState=ZA,o.uniformState.update(r),e.updateEnvironment(),d=c.begin(m,a),e.updateAndExecuteCommands(d,GA),e.resolveFramebuffers(d);let p=c.readCenterPixel(m);return o.endFrame(),p};na.prototype.pickMetadata=function(e,t,n){let{context:i,frameState:o,defaultView:r}=e,{viewport:s,pickFramebuffer:a}=r;e.view=r,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=r.passState;c.viewport=Ke.clone(s,c.viewport);let d=Mi.transformWindowToDrawingBuffer(e,t,X3),u=X8(i.drawingBufferHeight,d,1,1,I3);e.jobScheduler.disableThisFrame(),e.updateFrameState(),o.cullingVolume=E3(e,d,u.width,u.height,s),o.invertClassification=!1,o.passes.pick=!0,o.tilesetPassState=ZA,o.pickingMetadata=!0,o.pickedMetadataInfo=n,i.uniformState.update(o),e.updateEnvironment(),c=a.begin(u,s),e.updateAndExecuteCommands(c,GA);let m=e._environmentState.useOIT;e._environmentState.useOIT=!1,e.resolveFramebuffers(c),e._environmentState.useOIT=m;let p=a.readCenterPixel(u);return i.endFrame(),o.pickingMetadata=!1,dA.decodeMetadataValues(n.classProperty,p)};function f0t(e,t){let{defaultView:n,context:i,frameState:o,environmentState:r}=e,{viewport:s,pickDepthFramebuffer:a}=n;e.view=n,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=n.passState;c.viewport=Ke.clone(s,c.viewport),e.clearPasses(o.passes),o.passes.pick=!0,o.passes.depth=!0,o.cullingVolume=E3(e,t,1,1,s),o.tilesetPassState=ZA,e.updateEnvironment(),r.renderTranslucentDepthForPick=!0,c=a.update(i,t,s),e.updateAndExecuteCommands(c,GA),e.resolveFramebuffers(c),i.endFrame()}var p0t=new Li,b0t=new ol,g0t=new ln,y0t=new Xr;na.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let{context:o,frameState:r,camera:s,defaultView:a}=e,{uniformState:c}=o;e.view=a;let d=Mi.transformWindowToDrawingBuffer(e,t,X3);e.pickTranslucentDepth?f0t(e,d):(e.updateFrameState(),c.update(r),e.updateEnvironment()),d.y=e.drawingBufferHeight-d.y;let u;l(s.frustum.fov)?u=s.frustum.clone(p0t):l(s.frustum.infiniteProjectionMatrix)?u=s.frustum.clone(b0t):l(s.frustum.width)?u=s.frustum.clone(g0t):u=s.frustum.clone(y0t);let{frustumCommandsList:m}=a,p=m.length;for(let g=0;g<p;++g){let x=this.getPickDepth(e,g).getDepth(o,d.x,d.y);if(l(x)&&x>0&&x<1){let _=m[g],C;return e.mode===oe.SCENE2D?(C=s.position.z,s.position.z=C-_.near+1,u.far=Math.max(1,_.far-_.near),u.near=1,c.update(r),c.updateFrustum(u)):(u.near=_.near*(g!==0?e.opaqueFrustumNearOffset:1),u.far=_.far,c.updateFrustum(u)),n=Mi.drawingBufferToWorldCoordinates(e,d,x,n),e.mode===oe.SCENE2D&&(s.position.z=C,c.update(r)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var x0t=new he;na.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),l(n)&&e.mode!==oe.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,x0t);o.cartographicToCartesian(r,n)}return n};function W_e(e,t){let n,i,o=[],r=[],s=[],a=[];l(e)||(e=Number.MAX_VALUE);let c=t();for(;l(c);){let d=c.object,u=c.position,m=c.exclude;if(l(u)&&!l(d)){o.push(c);break}if(!l(d)||!l(d.primitive)||!m&&(o.push(c),0>=--e))break;let p=d.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&l(d.id)&&(i=p.getGeometryInstanceAttributes(d.id),l(i)&&l(i.show)&&(g=!0,i.show=Tn.toValue(!1,i.show),s.push(i))),d instanceof ks&&(g=!0,d.show=!1,a.push(d)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=Tn.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}na.prototype.drillPick=function(e,t,n,i,o){let r=this;return W_e(n,function(){let c=r.pick(e,t,i,o);if(l(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var I_e=new h,_0t=new h;function T0t(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function P_e(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,I_e),s=h.cross(o,r,I_e),a=h.cross(o,s,_0t);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,X_e),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function S0t(e,t,n){let i=t.frameState,{ray:o,width:r,tilesets:s}=n,a=e._pickOffscreenView.camera,c=P_e(e,o,r,a),d=o0t;d.camera=a,d.cullingVolume=c;let u=!0,m=s.length;for(let p=0;p<m;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,d),u=u&&d.ready)}return u&&n._completePick(),u}na.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)S0t(this,e,t[n])&&t.splice(n--,1)};function v_e(e,t,n){for(let i=0;i<e.length;++i){let o=e.get(i);o.show&&(l(o.isCesium3DTileset)?(!l(t)||t.indexOf(o)===-1)&&n.push(o):o instanceof Nl&&v_e(o,t,n))}}function W3(e,t,n,i,o,r){let s=[];if(v_e(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new T0t(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function C0t(e,t){return!l(e)||!l(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function V0t(e,t,n,i,o,r,s){let{context:a,frameState:c}=t,d=a.uniformState,u=e._pickOffscreenView;t.view=u,P_e(e,n,o,u.camera);let m=Ke.clone(u.viewport,I3),p=u.pickFramebuffer.begin(m,u.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),c.invertClassification=!1,c.passes.pick=!0,c.passes.offscreen=!0,s?c.tilesetPassState=r0t:c.tilesetPassState=ZA,d.update(c),t.updateEnvironment(),t.updateAndExecuteCommands(p,GA),t.resolveFramebuffers(p);let g,f=u.pickFramebuffer.end(m);if(t.context.depthTexture){let{frustumCommandsList:x}=u,_=x.length;for(let C=0;C<_;++C){let L=e.getPickDepth(t,C).getDepth(a,0,0);if(l(L)&&L>0&&L<1){let Z=x[C],G=Z.near*(C!==0?t.opaqueFrustumNearOffset:1),I=Z.far,v=G+L*(I-G);g=gn.getPoint(n,v);break}}}if(t.view=t.defaultView,a.endFrame(),l(f)||l(g))return{object:f,position:g,exclude:!l(g)&&r||C0t(f,i)}}function w_e(e,t,n,i,o,r,s,a){return W_e(i,function(){return V0t(e,t,n,o,r,s,a)})}function bL(e,t,n,i,o,r,s){let a=w_e(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function F_e(e,t,n,i,o,r,s,a){return w_e(e,t,n,i,o,r,s,a)}function P3(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}na.prototype.pickFromRay=function(e,t,n,i){return bL(this,e,t,n,i,!1,!1)};na.prototype.drillPickFromRay=function(e,t,n,i,o){return F_e(this,e,t,n,i,o,!1,!1)};na.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=gn.clone(t),n=l(n)?n.slice():n,P3(e,W3(o,e,t,n,i,function(){return bL(o,e,t,n,i,!1,!0)}))};na.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=gn.clone(t),i=l(i)?i.slice():i,P3(e,W3(r,e,t,i,o,function(){return F_e(r,e,t,n,i,o,!1,!0)}))};var L0t=new h,R0t=new h,Z0t=new gn,A_e=new he;function W8(e,t){let n=e.ellipsoid,i=li._defaultMaxTerrainHeight,o=n.geodeticSurfaceNormalCartographic(t,R0t),r=he.toCartesian(t,n,L0t),s=Z0t;s.origin=r,s.direction=o;let a=new gn;return gn.getPoint(s,i,a.origin),h.negate(o,a.direction),a}function M_e(e,t){let n=e.ellipsoid,i=he.fromCartesian(t,n,A_e);return W8(e,i)}function N_e(e,t){let n=e.ellipsoid;return he.fromCartesian(t,n,A_e).height}function G0t(e,t,n,i,o){let r=W8(t,n);return W3(e,t,r,i,o,function(){let s=bL(e,t,r,i,o,!0,!0);if(l(s))return N_e(t,s.position)})}function E0t(e,t,n,i,o,r){let s=M_e(t,n);return W3(e,t,s,i,o,function(){let a=bL(e,t,s,i,o,!0,!0);if(l(a))return h.clone(a.position,r)})}na.prototype.sampleHeight=function(e,t,n,i){let o=W8(e,t),r=bL(this,e,o,n,i,!0,!1);if(l(r))return N_e(e,r.position)};na.prototype.clampToHeight=function(e,t,n,i,o){let r=M_e(e,t),s=bL(this,e,r,n,i,!0,!1);if(l(s))return h.clone(s.position,o)};na.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=G0t(this,e,t[s],n,i);return P3(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};na.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=E0t(this,e,t[s],n,i,t[s]);return P3(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};na.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var EA=na;var DOi=T(S(),1);var D_e=T(BM(),1);var rOi=T(S(),1);var I0t={modifyFragmentShader:function(t){return t=Ye.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection; -void main() -{ -#ifndef SHADOW_MAP - if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; -#endif - czm_splitter_main(); -} -`,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},gL=I0t;var tS={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function IA(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=B.clone(B.DARKGRAY),this._highlightColor=B.clone(B.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=tS.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,Ze.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=M.clone(M.IDENTITY),this._modelMatrix=M.clone(M.IDENTITY),this.time=0,this.shadows=Sn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,Wr.NONE),this._splittingEnabled=!1,this._error=void 0,X0t(this,e)}Object.defineProperties(IA.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return B.clone(this._highlightColor)},set:function(e){this._highlightColor=B.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(l(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=le.clone(e,this._boundingSphere)}}});function X0t(e,t){let n=C_.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&l(n.batchTableBinary)&&(n.styleableProperties=Dp.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),l(n.draco)){let a=n.draco;e._decodingState=tS.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;l(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;l(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;l(r)&&(l(r.constantColor)&&(e._constantColor=B.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;l(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength}var W0t=new h,P0t=new h,v0t=new h,k_e,v3;function w0t(e){if(!l(v3)){k_e=new D_e.default(0),v3=new Array(e);for(let t=0;t<e;++t)v3[t]=k_e.random()}return v3}function F0t(e){let n=e.length/3,i=Math.min(n,20),o=w0t(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,W0t),c=h.fromElements(s,s,s,P0t);for(let u=0;u<i;++u){let m=Math.floor(o[u]*n),p=h.unpack(e,m*3,v0t);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let d=le.fromCornerPoints(a,c);return d.radius+=W.EPSILON2,d}function U_e(e,t){let n=Q.fromTypedArray(e);return n===Q.INT||n===Q.UNSIGNED_INT||n===Q.DOUBLE?(St("Cast pnts property to floats",`Point cloud property "${t}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var A0t=new se,M0t=new se,N0t=new B,B_e=0,w3=1,A8=2,O_e=3,k0t=4,P8=new M,U0t=new M;function D0t(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,d=i.styleableProperties,u=l(d),m=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,f=e._isOctEncodedDraco,x=e._quantizedRange,_=e._octEncodedRange,C=e._isRGB565,V=e._isTranslucent,L=e._hasColors,Z=e._hasNormals,G=e._hasBatchIds,I,v,P=[],w={};if(e._styleableShaderAttributes=w,u){let U=k0t;for(let Y in d)if(d.hasOwnProperty(Y)){let k=d[Y],J=U_e(k.typedArray,Y);I=k.componentCount,v=Q.fromTypedArray(J);let z=xt.createVertexBuffer({context:n,typedArray:J,usage:Ue.STATIC_DRAW});e._geometryByteLength+=z.sizeInBytes;let te={index:U,vertexBuffer:z,componentsPerAttribute:I,componentDatatype:v,normalize:!1,offsetInBytes:0,strideInBytes:0};P.push(te),w[Y]={location:U,componentCount:I},++U}}let F=xt.createVertexBuffer({context:n,typedArray:r.typedArray,usage:Ue.STATIC_DRAW});e._geometryByteLength+=F.sizeInBytes;let b;L&&(b=xt.createVertexBuffer({context:n,typedArray:s.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=b.sizeInBytes);let R;Z&&(R=xt.createVertexBuffer({context:n,typedArray:a.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=R.sizeInBytes);let E;G&&(c.typedArray=U_e(c.typedArray,"batchIds"),E=xt.createVertexBuffer({context:n,typedArray:c.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=E.sizeInBytes);let X=[];if(m?v=Q.UNSIGNED_SHORT:p?v=x<=255?Q.UNSIGNED_BYTE:Q.UNSIGNED_SHORT:v=Q.FLOAT,X.push({index:B_e,vertexBuffer:F,componentsPerAttribute:3,componentDatatype:v,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(m||p?e._boundingSphere=le.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=F0t(r.typedArray)),L)if(C)X.push({index:w3,vertexBuffer:b,componentsPerAttribute:1,componentDatatype:Q.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let U=V?4:3;X.push({index:w3,vertexBuffer:b,componentsPerAttribute:U,componentDatatype:Q.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}Z&&(g?(I=2,v=Q.UNSIGNED_BYTE):f?(I=2,v=_<=255?Q.UNSIGNED_BYTE:Q.UNSIGNED_SHORT):(I=3,v=Q.FLOAT),X.push({index:A8,vertexBuffer:R,componentsPerAttribute:I,componentDatatype:v,normalize:!1,offsetInBytes:0,strideInBytes:0})),G&&X.push({index:O_e,vertexBuffer:E,componentsPerAttribute:1,componentDatatype:Q.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),u&&(X=X.concat(P));let A=new hi({context:n,attributes:X}),N={depthTest:{enabled:!0}},O={depthTest:{enabled:!0},depthMask:!1,blending:hn.ALPHA_BLEND};e._opaquePass===Ze.CESIUM_3D_TILE&&(N.stencilTest=Bt.setCesium3DTileBit(),N.stencilMask=Bt.CESIUM_3D_TILE_MASK,O.stencilTest=Bt.setCesium3DTileBit(),O.stencilMask=Bt.CESIUM_3D_TILE_MASK),e._opaqueRenderState=Be.fromCache(N),e._translucentRenderState=Be.fromCache(O),e._drawCommand=new tt({boundingVolume:new le,cull:e._cull,modelMatrix:new M,primitiveType:Me.POINTS,vertexArray:A,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:V?e._translucentRenderState:e._opaqueRenderState,pass:V?Ze.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function B0t(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=A0t;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,d;t.mode===oe.SCENE2D||c instanceof ln?d=Number.POSITIVE_INFINITY:d=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=d}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!l(a))return B.TRANSPARENT;let c=B.clone(a.edgeColor,N0t);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!l(a))return M.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);M.multiply(n.uniformState.view3D,c,P8);let d=M.multiply(P8,a.modelMatrix,P8);return M.inverseTranspose(d,U0t)}};gL.addUniforms(e,s),(i||o||r)&&(s=Tt(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=M0t;if(l(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),l(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function v8(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function w8(e,t){e=e.slice(e.indexOf(` -`));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function F8(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var O0t={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function Y0t(e,t,n){let i,o,r,s=t.context,a=l(n),c=e._isQuantized,d=e._isQuantizedDraco,u=e._isOctEncoded16P,m=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,f=e._hasColors,x=e._hasNormals,_=e._hasBatchIds,C=e._backFaceCulling,V=e._normalShading,L=e._drawCommand.vertexArray,Z=e.clippingPlanes,G=e._attenuation,I,v,P,w=g,F=ze(O0t),b={},R=e._styleableShaderAttributes;for(o in R)R.hasOwnProperty(o)&&(r=R[o],F[o]=`czm_3dtiles_property_${r.location}`,b[r.location]=r);if(a){let ae={translucent:!1},ye="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";I=n.getColorShaderFunction(`getColorFromStyle${ye}`,F,ae),v=n.getShowShaderFunction(`getShowFromStyle${ye}`,F,ae),P=n.getPointSizeShaderFunction(`getPointSizeFromStyle${ye}`,F,ae),l(I)&&ae.translucent&&(w=!0)}e._styleTranslucent=w;let E=l(I),X=l(v),A=l(P),N=e.isClipped,O=[],U=[];E&&(v8(I,O),w8(I,U)),X&&(v8(v,O),w8(v,U)),A&&(v8(P,O),w8(P,U));let Y=U.indexOf("COLOR")>=0,k=U.indexOf("NORMAL")>=0;if(k&&!x)throw new de("Style references the NORMAL semantic but the point cloud does not have normals");for(o in R)if(R.hasOwnProperty(o)){r=R[o];let ae=O.indexOf(r.location)>=0,ye=F8(L,r.location);ye.enabled=ae}let J=f&&(!E||Y);if(f){let ae=F8(L,w3);ae.enabled=J}let z=x&&(V||C||k);if(x){let ae=F8(L,A8);ae.enabled=z}let te={a_position:B_e};J&&(te.a_color=w3),z&&(te.a_normal=A8),_&&(te.a_batchId=O_e);let H="",q=O.length;for(i=0;i<q;++i){let ae=O[i];r=b[ae];let ye=r.componentCount,Te=`czm_3dtiles_property_${ae}`,Ie;ye===1?Ie="float":Ie=`vec${ye}`,H+=`in ${Ie} ${Te}; -`,te[Te]=r.location}B0t(e,t);let ee=`in vec3 a_position; -out vec4 v_color; -uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; -uniform vec4 u_constantColor; -uniform vec4 u_highlightColor; -`;ee+=`float u_pointSize; -float tiles3d_tileset_time; -`,G&&(ee+=`float u_geometricError; -float u_depthMultiplier; -`),ee+=H,J&&(g?ee+=`in vec4 a_color; -`:p?ee+=`in float a_color; -const float SHIFT_RIGHT_11 = 1.0 / 2048.0; -const float SHIFT_RIGHT_5 = 1.0 / 32.0; -const float SHIFT_LEFT_11 = 2048.0; -const float SHIFT_LEFT_5 = 32.0; -const float NORMALIZE_6 = 1.0 / 64.0; -const float NORMALIZE_5 = 1.0 / 32.0; -`:ee+=`in vec3 a_color; -`),z&&(u||m?ee+=`in vec2 a_normal; -`:ee+=`in vec3 a_normal; -`),_&&(ee+=`in float a_batchId; -`),(c||d||m)&&(ee+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; -`),E&&(ee+=I),X&&(ee+=v),A&&(ee+=P),ee+=`void main() -{ - u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; - tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; -`,G&&(ee+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; - u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; -`),J?g?ee+=` vec4 color = a_color; -`:p?ee+=` float compressed = a_color; - float r = floor(compressed * SHIFT_RIGHT_11); - compressed -= r * SHIFT_LEFT_11; - float g = floor(compressed * SHIFT_RIGHT_5); - compressed -= g * SHIFT_LEFT_5; - float b = compressed; - vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); - vec4 color = vec4(rgb, 1.0); -`:ee+=` vec4 color = vec4(a_color, 1.0); -`:ee+=` vec4 color = u_constantColor; -`,c||d?ee+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; -`:ee+=` vec3 position = a_position; -`,ee+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); -`,z?(u?ee+=` vec3 normal = czm_octDecode(a_normal); -`:m?ee+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; -`:ee+=` vec3 normal = a_normal; -`,ee+=` vec3 normalEC = czm_normal * normal; -`):ee+=` vec3 normal = vec3(1.0); -`,E&&(ee+=` color = getColorFromStyle(position, position_absolute, color, normal); -`),X&&(ee+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); -`),A?ee+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; -`:G?ee+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); - float depth = -positionEC.z; - gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); -`:ee+=` gl_PointSize = u_pointSize; -`,ee+=` color = color * u_highlightColor; -`,z&&V&&(ee+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); - diffuseStrength = max(diffuseStrength, 0.4); - color.xyz *= diffuseStrength * czm_lightColor; -`),ee+=` v_color = color; - gl_Position = czm_modelViewProjection * vec4(position, 1.0); -`,z&&C&&(ee+=` float visible = step(-normalEC.z, 0.0); - gl_Position *= visible; - gl_PointSize *= visible; -`),X&&(ee+=` gl_Position.w *= float(show); - gl_PointSize *= float(show); -`),ee+=`} -`;let pe=`in vec4 v_color; -`;N&&(pe+=`uniform highp sampler2D u_clippingPlanes; -uniform mat4 u_clippingPlanesMatrix; -uniform vec4 u_clippingPlanesEdgeStyle; -`,pe+=` -`,pe+=tb(Z,s),pe+=` -`),pe+=`void main() -{ - out_FragColor = czm_gammaCorrect(v_color); -`,N&&(pe+=XF("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),pe+=`} -`,e.splitDirection!==Wr.NONE&&(pe=gL.modifyFragmentShader(pe)),l(e._vertexShaderLoaded)&&(ee=e._vertexShaderLoaded(ee)),l(e._fragmentShaderLoaded)&&(pe=e._fragmentShaderLoaded(pe));let _e=e._drawCommand;l(_e.shaderProgram)&&_e.shaderProgram.destroy(),_e.shaderProgram=cn.fromCache({context:s,vertexShaderSource:ee,fragmentShaderSource:pe,attributeLocations:te});try{_e.shaderProgram._bind()}catch{throw new de("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function z0t(e,t){if(e._decodingState===tS.READY)return!1;if(e._decodingState===tS.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=Jp.decodePointCloud(i,t);l(o)&&(e._decodingState=tS.DECODING,o.then(function(r){e._decodingState=tS.READY;let s=l(r.POSITION)?r.POSITION.array:void 0,a=l(r.RGB)?r.RGB.array:void 0,c=l(r.RGBA)?r.RGBA.array:void 0,d=l(r.NORMAL)?r.NORMAL.array:void 0,u=l(r.BATCH_ID)?r.BATCH_ID.array:void 0,m=l(s)&&l(r.POSITION.data.quantization),p=l(d)&&l(r.NORMAL.data.quantization);if(m){let _=r.POSITION.data.quantization,C=_.range;e._quantizedVolumeScale=h.fromElements(C,C,C),e._quantizedVolumeOffset=h.unpack(_.minValues),e._quantizedRange=(1<<_.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,f=i.batchTableProperties;for(let _ in f)if(f.hasOwnProperty(_)){let C=r[_];l(g)||(g={}),g[_]={typedArray:C.array,componentCount:C.data.componentsPerAttribute}}l(s)&&(n.positions={typedArray:s});let x=y(c,a);l(x)&&(n.colors={typedArray:x}),l(d)&&(n.normals={typedArray:d}),l(u)&&(n.batchIds={typedArray:u}),n.styleableProperties=g}).catch(function(r){e._decodingState=tS.FAILED,e._error=r}))}return!0}var H0t=new se,K0t=new h;IA.prototype.update=function(e){let t=e.context;if(l(this._error)){let d=this._error;throw this._error=void 0,d}if(z0t(this,t))return;let i=!1,o=!M.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),l(this._drawCommand)||(D0t(this,e),o=!0,i=!0,this._ready=!0,this._parsedContent=void 0),o){M.clone(this.modelMatrix,this._modelMatrix);let d=this._drawCommand.modelMatrix;if(M.clone(this._modelMatrix,d),l(this._rtcCenter)&&M.multiplyByTranslation(d,this._rtcCenter,d),l(this._quantizedVolumeOffset)&&M.multiplyByTranslation(d,this._quantizedVolumeOffset,d),e.mode!==oe.SCENE3D){let m=e.mapProjection,p=M.getColumn(d,3,H0t);se.equals(p,se.UNIT_W)||Ft.basisTo2D(m,d,d)}let u=this._drawCommand.boundingVolume;if(le.clone(this._boundingSphere,u),this._cull){let m=u.center;M.multiplyByPoint(d,m,m);let p=M.getScale(d,K0t);u.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==Wr.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&Y0t(this,e,this._style),this._drawCommand.castShadows=Sn.castShadows(this.shadows),this._drawCommand.receiveShadows=Sn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?Ze.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};IA.prototype.isDestroyed=function(){return!1};IA.prototype.destroy=function(){let e=this._drawCommand;return l(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),me(this)};var XA=IA;var uYi=T(S(),1);var OOi=T(S(),1),J0t={NEAREST:0,LINEAR:1},qd=J0t;function nS(e){e=y(e,y.EMPTY_OBJECT);let{fragmentShader:t,textureScale:n=1,pixelFormat:i=dt.RGBA}=e;this._fragmentShader=t,this._uniforms=e.uniforms,this._textureScale=n,this._forcePowerOfTwo=y(e.forcePowerOfTwo,!1),this._sampleMode=y(e.sampleMode,qd.NEAREST),this._pixelFormat=i,this._pixelDatatype=y(e.pixelDatatype,it.UNSIGNED_BYTE),this._clearColor=y(e.clearColor,B.BLACK),this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let o=new ic;o.scissorTest={enabled:!0,rectangle:l(e.scissorRectangle)?Ke.clone(e.scissorRectangle):new Ke},this._passState=o,this._ready=!1;let r=e.name;l(r)||(r=Yn()),this._name=r,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(nS.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(l(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(l(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var Q0t=/uniform\s+sampler2D\s+depthTexture/g;nS.prototype._isSupported=function(e){return!Q0t.test(this._fragmentShader)||e.depthTexture};function j0t(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];l(a)&&a!==r&&a instanceof wt&&!l(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof wt&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function q0t(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function $0t(e,t){return function(){let n=e[t]();if(l(n))return n.dimensions}}function ebt(e){if(l(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i){if(!i.hasOwnProperty(r))continue;typeof i[r]!="function"?(t[r]=q0t(e,r),n[r]=j0t(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof wt||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=$0t(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=Tt(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function tbt(e,t){return e=e.replace(/in\s+vec2\s+v_textureCoordinates;/g,""),`#define CZM_SELECTED_FEATURE -uniform sampler2D czm_idTexture; -uniform sampler2D czm_selectedIdTexture; -uniform float czm_selectedIdTextureStep; -in vec2 v_textureCoordinates; -bool czm_selected(vec2 offset) -{ - bool selected = false; - vec4 id = texture(czm_idTexture, v_textureCoordinates + offset); - for (int i = 0; i < ${t}; ++i) - { - vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); - if (all(equal(id, selectedId))) - { - return true; - } - } - return false; -} -bool czm_selected() -{ - return czm_selected(vec2(0.0)); -} - -${e}`}function nbt(e,t){if(l(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(l(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=tbt(n,o)}let i=new Ye({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function ibt(e){let t=e._sampleMode,n,i;t===qd.LINEAR?(n=tn.LINEAR,i=mi.LINEAR):(n=tn.NEAREST,i=mi.NEAREST);let o=e._sampler;(!l(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new nn({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function obt(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function rbt(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function sbt(e,t){let n=e._texturesToRelease;for(let a=0;a<n.length;++a){let c=n[a];c=c&&c.destroy()}n.length=0;let i=e._texturesToCreate;for(let a=0;a<i.length;++a){let{name:c,source:d}=i[a];e._actualUniforms[c]=new wt({context:t,source:d})}i.length=0;let o=e._dirtyUniforms;if(o.length===0&&!l(e._texturePromise)){e._ready=!0;return}if(o.length===0||l(e._texturePromise))return;let r=e._uniforms,s=[];for(let a=0;a<o.length;++a){let c=o[a],d=r[c],u=e._textureCache.getStageByName(d);if(l(u))e._actualUniforms[c]=rbt(e,d);else if(typeof d=="string"){let m=new Ge({url:d});s.push(m.fetchImage().then(obt(e,c)))}else e._texturesToCreate.push({name:c,source:d})}o.length=0,s.length>0?(e._ready=!1,e._texturePromise=Promise.all(s).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function Y_e(e){l(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!l(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i){if(!i.hasOwnProperty(o))continue;let r=i[o];r instanceof wt&&(l(t.getStageByName(n[o]))||r.destroy(),e._dirtyUniforms.push(o))}}function abt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength;if(l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;for(let o=0;o<e._combinedSelected.length;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function cbt(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!l(n))return;let i=0;for(let s=0;s<n.length;++s){let a=n[s];l(a.pickIds)?i+=a.pickIds.length:l(a.pickId)&&++i}if(n.length===0||i===0){let s=new Uint8Array([255,255,255,255]);e._selectedIdTexture=new wt({context:t,pixelFormat:dt.RGBA,pixelDatatype:it.UNSIGNED_BYTE,source:{arrayBufferView:s,width:1,height:1},sampler:nn.NEAREST});return}let o=0,r=new Uint8Array(i*4);for(let s=0;s<n.length;++s){let a=n[s];if(l(a.pickIds)){let c=a.pickIds,d=c.length;for(let u=0;u<d;++u){let m=c[u].color;r[o]=B.floatToByte(m.red),r[o+1]=B.floatToByte(m.green),r[o+2]=B.floatToByte(m.blue),r[o+3]=B.floatToByte(m.alpha),o+=4}}else if(l(a.pickId)){let c=a.pickId.color;r[o]=B.floatToByte(c.red),r[o+1]=B.floatToByte(c.green),r[o+2]=B.floatToByte(c.blue),r[o+3]=B.floatToByte(c.alpha),o+=4}}e._selectedIdTexture=new wt({context:t,pixelFormat:dt.RGBA,pixelDatatype:it.UNSIGNED_BYTE,source:{arrayBufferView:r,width:i,height:1},sampler:nn.NEAREST})}nS.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&&Y_e(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=abt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0,cbt(this,e),ebt(this),sbt(this,e),nbt(this,e),ibt(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!l(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!l(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=Be.fromCache({viewport:new Ke(0,0,i.width,i.height)}))),this._command.renderState=o};nS.prototype.execute=function(e,t,n,i){if(!l(this._command)||!l(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,nn.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;l(o)&&(o.context=e),this._command.execute(e,o)};nS.prototype.isDestroyed=function(){return!1};nS.prototype.destroy=function(){return Y_e(this),me(this)};var uo=nS;var sHi=T(S(),1);var vzi=T(S(),1);var hYi=T(S(),1),WA=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - color /= texture(autoExposure, vec2(0.5)).r; -#else - color *= vec3(exposure); -#endif - color = czm_acesTonemapping(color); - color = czm_inverseGamma(color); - - out_FragColor = vec4(color, fragmentColor.a); -} -`;var pYi=T(S(),1),PA=`precision highp float; - -uniform sampler2D randomTexture; -uniform sampler2D depthTexture; -uniform float intensity; -uniform float bias; -uniform float lengthCap; -uniform float stepSize; -uniform float frustumLength; - -vec3 pixelToEye(vec2 screenCoordinate) -{ - vec2 uv = screenCoordinate / czm_viewport.zw; - float depth = czm_readDepth(depthTexture, uv); - vec2 xy = 2.0 * uv - vec2(1.0); - vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); - return posEC.xyz / posEC.w; -} - -// Reconstruct surface normal in eye coordinates, avoiding edges -vec3 getNormalXEdge(vec3 positionEC) -{ - // Find the 3D surface positions at adjacent screen pixels - vec2 centerCoord = gl_FragCoord.xy; - vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0)); - vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0)); - vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0)); - vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0)); - - // Compute potential tangent vectors - vec3 dx0 = positionEC - positionLeft; - vec3 dx1 = positionRight - positionEC; - vec3 dy0 = positionEC - positionDown; - vec3 dy1 = positionUp - positionEC; - - // The shorter tangent is more likely to be on the same surface - vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1; - vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1; - - return normalize(cross(dx, dy)); -} - -void main(void) -{ - vec3 positionEC = pixelToEye(gl_FragCoord.xy); - - if (positionEC.z > frustumLength) - { - out_FragColor = vec4(1.0); - return; - } - - vec3 normalEC = getNormalXEdge(positionEC); - - float ao = 0.0; - - const int ANGLE_STEPS = 4; - float angleStepScale = 1.0 / float(ANGLE_STEPS); - float angleStep = angleStepScale * czm_twoPi; - float cosStep = cos(angleStep); - float sinStep = sin(angleStep); - mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep); - - // Initial sampling direction (different for each pixel) - const float randomTextureSize = 255.0; - vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize); - float randomVal = texture(randomTexture, randomTexCoord).x; - vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal)); - - // Loop over sampling directions - for (int i = 0; i < ANGLE_STEPS; i++) - { - sampleDirection = rotateStep * sampleDirection; - - float localAO = 0.0; - vec2 radialStep = stepSize * sampleDirection; - - for (int j = 0; j < 6; j++) - { - // Step along sampling direction, away from output pixel - vec2 newCoords = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5); - - // Exit if we stepped off the screen - if (clamp(newCoords, vec2(0.0), czm_viewport.zw) != newCoords) - { - break; - } - - vec3 stepPositionEC = pixelToEye(newCoords); - vec3 stepVector = stepPositionEC - positionEC; - float stepLength = length(stepVector); - - if (stepLength > lengthCap) - { - break; - } - - float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0); - if (dotVal < bias) - { - dotVal = 0.0; - } - - float weight = stepLength / lengthCap; - weight = 1.0 - weight * weight; - localAO = max(localAO, dotVal * weight); - } - ao += localAO; - } - - ao *= angleStepScale; - ao = 1.0 - clamp(ao, 0.0, 1.0); - ao = pow(ao, intensity); - out_FragColor = vec4(vec3(ao), 1.0); -} -`;var gYi=T(S(),1),vA=`uniform sampler2D colorTexture; -uniform sampler2D ambientOcclusionTexture; -uniform bool ambientOcclusionOnly; -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); - out_FragColor = ambientOcclusionOnly ? ao : ao * color; -} -`;var xYi=T(S(),1),wA=`uniform sampler2D colorTexture; -uniform float gradations; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; -#ifdef CZM_SELECTED_FEATURE - if (czm_selected()) { - out_FragColor = vec4(rgb, 1.0); - return; - } -#endif - float luminance = czm_luminance(rgb); - float darkness = luminance * gradations; - darkness = (darkness - fract(darkness)) / gradations; - out_FragColor = vec4(vec3(darkness), 1.0); -} -`;var TYi=T(S(),1),FA=`uniform sampler2D colorTexture; -uniform sampler2D bloomTexture; -uniform bool glowOnly; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - -#ifdef CZM_SELECTED_FEATURE - if (czm_selected()) { - out_FragColor = color; - return; - } -#endif - - vec4 bloom = texture(bloomTexture, v_textureCoordinates); - out_FragColor = glowOnly ? bloom : bloom + color; -} -`;var CYi=T(S(),1),AA=`uniform sampler2D colorTexture; -uniform float brightness; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; - vec3 target = vec3(0.0); - out_FragColor = vec4(mix(target, rgb, brightness), 1.0); -} -`;var LYi=T(S(),1),MA=`uniform sampler2D colorTexture; -uniform float contrast; -uniform float brightness; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; - sceneColor = czm_RGBToHSB(sceneColor); - sceneColor.z += brightness; - sceneColor = czm_HSBToRGB(sceneColor); - - float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); - sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); - out_FragColor = vec4(sceneColor, 1.0); -} -`;var ZYi=T(S(),1),NA=`uniform sampler2D colorTexture; -uniform sampler2D blurTexture; -uniform sampler2D depthTexture; -uniform float focalDistance; - -in vec2 v_textureCoordinates; - -vec4 toEye(vec2 uv, float depth) -{ - vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); - vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); - posInCamera = posInCamera / posInCamera.w; - return posInCamera; -} - -float computeDepthBlur(float depth) -{ - float f; - if (depth < focalDistance) - { - f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); - } - else - { - f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); - f = pow(f, 0.1); - } - f *= f; - f = clamp(f, 0.0, 1.0); - return pow(f, 0.5); -} - -void main(void) -{ - float depth = czm_readDepth(depthTexture, v_textureCoordinates); - vec4 posInCamera = toEye(v_textureCoordinates, depth); - float d = computeDepthBlur(-posInCamera.z); - out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); -} -`;var EYi=T(S(),1),kA=`uniform sampler2D depthTexture; - -in vec2 v_textureCoordinates; - -void main(void) -{ - float depth = czm_readDepth(depthTexture, v_textureCoordinates); - out_FragColor = vec4(vec3(depth), 1.0); -} -`;var XYi=T(S(),1),UA=`uniform sampler2D depthTexture; -uniform float length; -uniform vec4 color; - -in vec2 v_textureCoordinates; - -void main(void) -{ - float directions[3]; - directions[0] = -1.0; - directions[1] = 0.0; - directions[2] = 1.0; - - float scalars[3]; - scalars[0] = 3.0; - scalars[1] = 10.0; - scalars[2] = 3.0; - - float padx = czm_pixelRatio / czm_viewport.z; - float pady = czm_pixelRatio / czm_viewport.w; - -#ifdef CZM_SELECTED_FEATURE - bool selected = false; - for (int i = 0; i < 3; ++i) - { - float dir = directions[i]; - selected = selected || czm_selected(vec2(-padx, dir * pady)); - selected = selected || czm_selected(vec2(padx, dir * pady)); - selected = selected || czm_selected(vec2(dir * padx, -pady)); - selected = selected || czm_selected(vec2(dir * padx, pady)); - if (selected) - { - break; - } - } - if (!selected) - { - out_FragColor = vec4(color.rgb, 0.0); - return; - } -#endif - - float horizEdge = 0.0; - float vertEdge = 0.0; - - for (int i = 0; i < 3; ++i) - { - float dir = directions[i]; - float scale = scalars[i]; - - horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; - horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; - - vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; - vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; - } - - float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); - out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); -} -`;var PYi=T(S(),1),DA=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See slides 142 and 143: -// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - - const float A = 0.22; // shoulder strength - const float B = 0.30; // linear strength - const float C = 0.10; // linear angle - const float D = 0.20; // toe strength - const float E = 0.01; // toe numerator - const float F = 0.30; // toe denominator - - const float white = 11.2; // linear white point value - - vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; - float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; - - c = czm_inverseGamma(c / w); - out_FragColor = vec4(c, fragmentColor.a); -} -`;var wYi=T(S(),1),BA=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - color /= texture(autoExposure, vec2(0.5)).r; -#else - color *= vec3(exposure); -#endif - color = czm_pbrNeutralTonemapping(color); - color = czm_inverseGamma(color); - - out_FragColor = vec4(color, fragmentColor.a); -} -`;var AYi=T(S(),1),OA=`in vec2 v_textureCoordinates; - -uniform sampler2D colorTexture; - -const float fxaaQualitySubpix = 0.5; -const float fxaaQualityEdgeThreshold = 0.125; -const float fxaaQualityEdgeThresholdMin = 0.0833; - -void main() -{ - vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; - vec4 color = FxaaPixelShader( - v_textureCoordinates, - colorTexture, - fxaaQualityRcpFrame, - fxaaQualitySubpix, - fxaaQualityEdgeThreshold, - fxaaQualityEdgeThresholdMin); - float alpha = texture(colorTexture, v_textureCoordinates).a; - out_FragColor = vec4(color.rgb, alpha); -} -`;var NYi=T(S(),1),Wy=`#define SAMPLES 8 - -uniform float delta; -uniform float sigma; -uniform float direction; // 0.0 for x direction, 1.0 for y direction - -uniform sampler2D colorTexture; - -#ifdef USE_STEP_SIZE -uniform float stepSize; -#else -uniform vec2 step; -#endif - -in vec2 v_textureCoordinates; - -// Incremental Computation of the Gaussian: -// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html - -void main() -{ - vec2 st = v_textureCoordinates; - vec2 dir = vec2(1.0 - direction, direction); - -#ifdef USE_STEP_SIZE - vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); -#else - vec2 step = step; -#endif - - vec3 g; - g.x = 1.0 / (sqrt(czm_twoPi) * sigma); - g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); - g.z = g.y * g.y; - - vec4 result = texture(colorTexture, st) * g.x; - for (int i = 1; i < SAMPLES; ++i) - { - g.xy *= g.yz; - - vec2 offset = float(i) * dir * step; - result += texture(colorTexture, st - offset) * g.x; - result += texture(colorTexture, st + offset) * g.x; - } - - out_FragColor = result; -} -`;var UYi=T(S(),1),YA=`uniform sampler2D colorTexture; -uniform sampler2D dirtTexture; -uniform sampler2D starTexture; -uniform vec2 dirtTextureDimensions; -uniform float distortion; -uniform float ghostDispersal; -uniform float haloWidth; -uniform float dirtAmount; -uniform float earthRadius; -uniform float intensity; - -in vec2 v_textureCoordinates; - -// whether it is in space or not -// 6500000.0 is empirical value -#define DISTANCE_TO_SPACE 6500000.0 - -// return ndc from world coordinate biased earthRadius -vec4 getNDCFromWC(vec3 WC, float earthRadius) -{ - vec4 positionEC = czm_view * vec4(WC, 1.0); - positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); - vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); - return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); -} - -// Check if current pixel is included Earth -// if then mask it gradually -float isInEarth(vec2 texcoord, vec2 sceneSize) -{ - vec2 NDC = texcoord * 2.0 - 1.0; - vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); - vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); - NDC.xy -= earthPosSC.xy; - - float X = abs(NDC.x) * sceneSize.x; - float Y = abs(NDC.y) * sceneSize.y; - - return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); -} - -// For Chromatic effect -vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) -{ - vec2 sceneSize = czm_viewport.zw; - vec3 color; - if(isSpace) - { - color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; - color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; - color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; - } - else - { - color.r = texture(tex, texcoord + direction * distortion.r).r; - color.g = texture(tex, texcoord + direction * distortion.g).g; - color.b = texture(tex, texcoord + direction * distortion.b).b; - } - return vec4(clamp(color, 0.0, 1.0), 0.0); -} - -void main(void) -{ - vec4 originalColor = texture(colorTexture, v_textureCoordinates); - vec3 rgb = originalColor.rgb; - bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; - - // Sun position - vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); - vec4 sunPositionEC = czm_view * sunPos; - vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); - sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); - - // If sun is not in the screen space, use original color. - if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) - { - // Lens flare is disabled when not in space until #5932 is fixed. - // https://github.com/CesiumGS/cesium/issues/5932 - out_FragColor = originalColor; - return; - } - - vec2 texcoord = vec2(1.0) - v_textureCoordinates; - vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; - vec2 invPixelSize = 1.0 / pixelSize; - vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); - - // ghost vector to image centre: - vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; - vec3 direction = normalize(vec3(ghostVec, 0.0)); - - // sample ghosts: - vec4 result = vec4(0.0); - vec4 ghost = vec4(0.0); - for (int i = 0; i < 4; ++i) - { - vec2 offset = fract(texcoord + ghostVec * float(i)); - // Only bright spots from the centre of the source image - ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); - } - result += ghost; - - // sample halo - vec2 haloVec = normalize(ghostVec) * haloWidth; - float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); - weightForHalo = pow(1.0 - weightForHalo, 5.0); - - result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; - - // dirt on lens - vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; - if (dirtTexCoords.x > 1.0) - { - dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); - } - if (dirtTexCoords.y > 1.0) - { - dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); - } - result += dirtAmount * texture(dirtTexture, dirtTexCoords); - - // Rotating starburst texture's coordinate - // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) - float camrot = czm_view[0].z + czm_view[1].y; - float cosValue = cos(camrot); - float sinValue = sin(camrot); - mat3 rotation = mat3( - cosValue, -sinValue, 0.0, - sinValue, cosValue, 0.0, - 0.0, 0.0, 1.0 - ); - - vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); - vec3 st2 = vec3((rotation * st1).xy, 1.0); - vec3 st3 = st2 * 0.5 + vec3(0.5); - vec2 lensStarTexcoord = st3.xy; - float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); - float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); - - if (!isSpace) - { - result *= oneMinusWeightForLensFlare * intensity * 0.2; - } - else - { - result *= oneMinusWeightForLensFlare * intensity; - result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; - } - - result += texture(colorTexture, v_textureCoordinates); - - out_FragColor = result; -} -`;var BYi=T(S(),1),zA=`uniform sampler2D colorTexture; -uniform vec3 white; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See equation 4: -// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - color = (color * (1.0 + color / white)) / (1.0 + color); - color = czm_inverseGamma(color); - out_FragColor = vec4(color, fragmentColor.a); -} -`;var YYi=T(S(),1),HA=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -float rand(vec2 co) -{ - return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); -} - -void main(void) -{ - float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; - vec3 green = vec3(0.0, 1.0, 0.0); - out_FragColor = vec4((noiseValue + rgb) * green, 1.0); -} -`;var HYi=T(S(),1),KA=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See equation 3: -// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - color = color / (1.0 + color); - color = czm_inverseGamma(color); - out_FragColor = vec4(color, fragmentColor.a); -} -`;var JYi=T(S(),1),JA=`uniform sampler2D colorTexture; -uniform sampler2D silhouetteTexture; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); - vec4 color = texture(colorTexture, v_textureCoordinates); - out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); -} -`;var jYi=T(S(),1);/** - * @license - * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of NVIDIA CORPORATION nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */var QA=`/** - * @license - * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of NVIDIA CORPORATION nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples -// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h - -// Steps used to integrate into Cesium: -// * The following defines are set: -// #define FXAA_PC 1 -// #define FXAA_WEBGL_1 1 -// #define FXAA_GREEN_AS_LUMA 1 -// #define FXAA_EARLY_EXIT 1 -// #define FXAA_GLSL_120 1 -// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. -// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace -// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. -// * There are no implicit conversions from ivec* to vec* so replace: -// #define FxaaInt2 ivec2 -// with -// #define FxaaInt2 vec2 -// * The texture2DLod function is only available in vertex shaders so replace: -// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) -// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) -// with -// #define FxaaTexTop(t, p) texture(t, p) -// #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) -// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. -// * The following parameters to FxaaPixelShader are unused and can be removed: -// fxaaConsolePosPos -// fxaaConsoleRcpFrameOpt -// fxaaConsoleRcpFrameOpt2 -// fxaaConsole360RcpFrameOpt2 -// fxaaConsoleEdgeSharpness -// fxaaConsoleEdgeThreshold -// fxaaConsoleEdgeThresholdMi -// fxaaConsole360ConstDir - -// -// Choose the quality preset. -// This needs to be compiled into the shader as it effects code. -// Best option to include multiple presets is to -// in each shader define the preset, then include this file. -// -// OPTIONS -// ----------------------------------------------------------------------- -// 10 to 15 - default medium dither (10=fastest, 15=highest quality) -// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) -// 39 - no dither, very expensive -// -// NOTES -// ----------------------------------------------------------------------- -// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) -// 13 = about same speed as FXAA 3.9 and better than 12 -// 23 = closest to FXAA 3.9 visually and performance wise -// _ = the lowest digit is directly related to performance -// _ = the highest digit is directly related to style -// -//#define FXAA_QUALITY_PRESET 12 - - -#if (FXAA_QUALITY_PRESET == 10) - #define FXAA_QUALITY_PS 3 - #define FXAA_QUALITY_P0 1.5 - #define FXAA_QUALITY_P1 3.0 - #define FXAA_QUALITY_P2 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 11) - #define FXAA_QUALITY_PS 4 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 3.0 - #define FXAA_QUALITY_P3 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 12) - #define FXAA_QUALITY_PS 5 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 4.0 - #define FXAA_QUALITY_P4 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 13) - #define FXAA_QUALITY_PS 6 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 4.0 - #define FXAA_QUALITY_P5 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 14) - #define FXAA_QUALITY_PS 7 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 4.0 - #define FXAA_QUALITY_P6 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 15) - #define FXAA_QUALITY_PS 8 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 4.0 - #define FXAA_QUALITY_P7 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 20) - #define FXAA_QUALITY_PS 3 - #define FXAA_QUALITY_P0 1.5 - #define FXAA_QUALITY_P1 2.0 - #define FXAA_QUALITY_P2 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 21) - #define FXAA_QUALITY_PS 4 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 22) - #define FXAA_QUALITY_PS 5 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 23) - #define FXAA_QUALITY_PS 6 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 24) - #define FXAA_QUALITY_PS 7 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 3.0 - #define FXAA_QUALITY_P6 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 25) - #define FXAA_QUALITY_PS 8 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 4.0 - #define FXAA_QUALITY_P7 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 26) - #define FXAA_QUALITY_PS 9 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 4.0 - #define FXAA_QUALITY_P8 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 27) - #define FXAA_QUALITY_PS 10 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 4.0 - #define FXAA_QUALITY_P9 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 28) - #define FXAA_QUALITY_PS 11 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 4.0 - #define FXAA_QUALITY_P10 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 29) - #define FXAA_QUALITY_PS 12 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 2.0 - #define FXAA_QUALITY_P10 4.0 - #define FXAA_QUALITY_P11 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 39) - #define FXAA_QUALITY_PS 12 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.0 - #define FXAA_QUALITY_P2 1.0 - #define FXAA_QUALITY_P3 1.0 - #define FXAA_QUALITY_P4 1.0 - #define FXAA_QUALITY_P5 1.5 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 2.0 - #define FXAA_QUALITY_P10 4.0 - #define FXAA_QUALITY_P11 8.0 -#endif - -#define FxaaBool bool -#define FxaaFloat float -#define FxaaFloat2 vec2 -#define FxaaFloat3 vec3 -#define FxaaFloat4 vec4 -#define FxaaHalf float -#define FxaaHalf2 vec2 -#define FxaaHalf3 vec3 -#define FxaaHalf4 vec4 -#define FxaaInt2 vec2 -#define FxaaTex sampler2D - -#define FxaaSat(x) clamp(x, 0.0, 1.0) -#define FxaaTexTop(t, p) texture(t, p) -#define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) - -FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } +FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } FxaaFloat4 FxaaPixelShader( // @@ -15508,434 +11100,5058 @@ FxaaFloat4 FxaaPixelShader( #endif /*--------------------------------------------------------------------------*/ } - #endif -/*--------------------------------------------------------------------------*/ + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } +/*--------------------------------------------------------------------------*/ + FxaaFloat dstN = posM.x - posN.x; + FxaaFloat dstP = posP.x - posM.x; + if(!horzSpan) dstN = posM.y - posN.y; + if(!horzSpan) dstP = posP.y - posM.y; +/*--------------------------------------------------------------------------*/ + FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; + FxaaFloat spanLength = (dstP + dstN); + FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; + FxaaFloat spanLengthRcp = 1.0/spanLength; +/*--------------------------------------------------------------------------*/ + FxaaBool directionN = dstN < dstP; + FxaaFloat dst = min(dstN, dstP); + FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; + FxaaFloat subpixG = subpixF * subpixF; + FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; + FxaaFloat subpixH = subpixG * fxaaQualitySubpix; +/*--------------------------------------------------------------------------*/ + FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; + FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); + if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; + if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; + return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); +} +`;var yEi=T(S(),1),Qw=`uniform vec4 u_initialColor; + +#if TEXTURE_UNITS > 0 +uniform sampler2D u_dayTextures[TEXTURE_UNITS]; +uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; +uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; + +#ifdef APPLY_ALPHA +uniform float u_dayTextureAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_DAY_NIGHT_ALPHA +uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; +uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SPLIT +uniform float u_dayTextureSplit[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_BRIGHTNESS +uniform float u_dayTextureBrightness[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_CONTRAST +uniform float u_dayTextureContrast[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_HUE +uniform float u_dayTextureHue[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SATURATION +uniform float u_dayTextureSaturation[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_GAMMA +uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C +#ifdef APPLY_INVERT_COLOR_MARS3D +uniform bool u_mars3dTextureInvertColor[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_FILTER_COLOR_MARS3D +uniform vec3 u_mars3dTextureFilterColor[TEXTURE_UNITS]; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + +#ifdef APPLY_IMAGERY_CUTOUT +uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_COLOR_TO_ALPHA +uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; +#endif + +uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; +#endif + +#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) +uniform sampler2D u_waterMask; +uniform vec4 u_waterMaskTranslationAndScale; +uniform float u_zoomedOutOceanSpecularIntensity; +#endif + +#ifdef SHOW_OCEAN_WAVES +uniform sampler2D u_oceanNormalMap; +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) +uniform vec2 u_lightingFadeDistance; +#endif + +#ifdef TILE_LIMIT_RECTANGLE +uniform vec4 u_cartographicLimitRectangle; +#endif + +#ifdef GROUND_ATMOSPHERE +uniform vec2 u_nightFadeDistance; +#endif + +#ifdef ENABLE_CLIPPING_PLANES +uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS +uniform highp sampler2D u_clippingDistance; +in vec2 v_clippingPosition; +flat in int v_regionIndex; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) +uniform float u_minimumBrightness; +#endif + +#ifdef COLOR_CORRECT +uniform vec3 u_hsbShift; // Hue, saturation, brightness +#endif + +#ifdef HIGHLIGHT_FILL_TILE +uniform vec4 u_fillHighlightColor; +#endif + +#ifdef TRANSLUCENT +uniform vec4 u_frontFaceAlphaByDistance; +uniform vec4 u_backFaceAlphaByDistance; +uniform vec4 u_translucencyRectangle; +#endif + +#ifdef UNDERGROUND_COLOR +uniform vec4 u_undergroundColor; +uniform vec4 u_undergroundColorAlphaByDistance; +#endif + +#ifdef ENABLE_VERTEX_LIGHTING +uniform float u_lambertDiffuseMultiplier; +uniform float u_vertexShadowDarkness; +#endif + +in vec3 v_positionMC; +in vec3 v_positionEC; +in vec3 v_textureCoordinates; +in vec3 v_normalMC; +in vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +in float v_height; +in float v_slope; +in float v_aspect; +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) +#ifdef APPLY_MARS3D_FLOOD +uniform bool u_mars_flood_enabled; +uniform bool u_mars_flood_only; +uniform vec4 u_mars_flood_rectangle; +uniform highp sampler2D u_mars_flood_texture; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 +#ifdef APPLY_MARS3D_CLIP +uniform bool u_mars_clip_enabled; +uniform bool u_mars_clip_only; +uniform vec4 u_mars_clip_rectangle; +uniform highp sampler2D u_mars_clip_texture; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 +uniform highp float u_mars_inverseTileWidth; +uniform highp vec2 u_mars_cartographicTileRectangle; + +bool inAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture) { + float lo = v_textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; + float la = v_textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; + + float newX = (lo - rectangle.x) / rectangle.z; + float newY = (la - rectangle.y) / rectangle.w; + + if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ + vec4 point = texture(rangeTexture, vec2(newX, newY)); + return point.r > 0.0; + } + + return false; +} +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +in float v_distance; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) +in vec3 v_atmosphereRayleighColor; +in vec3 v_atmosphereMieColor; +in float v_atmosphereOpacity; +#endif + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 +#ifdef APPLY_MARS3D_UPLIFT +uniform vec4 u_mars_uplift_rectangle; +uniform highp sampler2D u_mars_uplift_texture; +uniform bool u_mars_uplift_enabled; +uniform bool u_mars_uplift_hideInsideOrOutside; +#endif +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} +#endif + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) +vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) +{ + return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); +} +#endif + +#ifdef TRANSLUCENT +bool inTranslucencyRectangle() +{ + return + v_textureCoordinates.x > u_translucencyRectangle.x && + v_textureCoordinates.x < u_translucencyRectangle.z && + v_textureCoordinates.y > u_translucencyRectangle.y && + v_textureCoordinates.y < u_translucencyRectangle.w; +} +#endif + +vec4 sampleAndBlend( + vec4 previousColor, + sampler2D textureToSample, + vec2 tileTextureCoordinates, + vec4 textureCoordinateRectangle, + vec4 textureCoordinateTranslationAndScale, + float textureAlpha, + float textureNightAlpha, + float textureDayAlpha, + float textureBrightness, + float textureContrast, + float textureHue, + float textureSaturation, + float textureOneOverGamma, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + bool textureInvertColor, + vec3 texturefilterColor, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + float split, + vec4 colorToAlpha, + float nightBlend) +{ + // This crazy step stuff sets the alpha to 0.0 if this following condition is true: + // tileTextureCoordinates.s < textureCoordinateRectangle.s || + // tileTextureCoordinates.s > textureCoordinateRectangle.p || + // tileTextureCoordinates.t < textureCoordinateRectangle.t || + // tileTextureCoordinates.t > textureCoordinateRectangle.q + // In other words, the alpha is zero if the fragment is outside the rectangle + // covered by this texture. Would an actual 'if' yield better performance? + vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + + alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); +#endif + + vec2 translation = textureCoordinateTranslationAndScale.xy; + vec2 scale = textureCoordinateTranslationAndScale.zw; + vec2 textureCoordinates = tileTextureCoordinates * scale + translation; + vec4 value = texture(textureToSample, textureCoordinates); + vec3 color = value.rgb; + float alpha = value.a; + +#ifdef APPLY_COLOR_TO_ALPHA + vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); + colorDiff.r = czm_maximumComponent(colorDiff); + alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); +#endif + +#if !defined(APPLY_GAMMA) + vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); + color = tempColor.rgb; + alpha = tempColor.a; +#else + color = pow(color, vec3(textureOneOverGamma)); +#endif + +#ifdef APPLY_SPLIT + float splitPosition = czm_splitPosition; + // Split to the left + if (split < 0.0 && gl_FragCoord.x > splitPosition) { + alpha = 0.0; + } + // Split to the right + else if (split > 0.0 && gl_FragCoord.x < splitPosition) { + alpha = 0.0; + } +#endif + +#ifdef APPLY_BRIGHTNESS + color = mix(vec3(0.0), color, textureBrightness); +#endif + +#ifdef APPLY_CONTRAST + color = mix(vec3(0.5), color, textureContrast); +#endif + +#ifdef APPLY_HUE + color = czm_hue(color, textureHue); +#endif + +#ifdef APPLY_SATURATION + color = czm_saturation(color, textureSaturation); +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C +#ifdef APPLY_INVERT_COLOR_MARS3D + if(textureInvertColor) { + color = vec3(1.0 - color.r, 1.0 - color.g, 1.0 - color.b); + } +#endif + +#ifdef APPLY_FILTER_COLOR_MARS3D + if(texturefilterColor.x != 1.0 || texturefilterColor.y != 1.0 || texturefilterColor.z != 1.0) { + color = vec3(color.r * texturefilterColor.x, color.g * texturefilterColor.y, color.b * texturefilterColor.z); + } +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + + float sourceAlpha = alpha * textureAlpha; + float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); + outAlpha += sign(outAlpha) - 1.0; + + vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; + + // When rendering imagery for a tile in multiple passes, + // some GPU/WebGL implementation combinations will not blend fragments in + // additional passes correctly if their computation includes an unmasked + // divide-by-zero operation, + // even if it's not in the output or if the output has alpha zero. + // + // For example, without sanitization for outAlpha, + // this renders without artifacts: + // if (outAlpha == 0.0) { outColor = vec3(0.0); } + // + // but using czm_branchFreeTernary will cause portions of the tile that are + // alpha-zero in the additional pass to render as black instead of blending + // with the previous pass: + // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); + // + // So instead, sanitize against divide-by-zero, + // store this state on the sign of outAlpha, and correct on return. + + return vec4(outColor, max(outAlpha, 0.0)); +} + +vec3 colorCorrect(vec3 rgb) { +#ifdef COLOR_CORRECT + // Convert rgb color to hsb + vec3 hsb = czm_RGBToHSB(rgb); + // Perform hsb shift + hsb.x += u_hsbShift.x; // hue + hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation + hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness + // Convert shifted hsb back to rgb + rgb = czm_HSBToRGB(hsb); +#endif + return rgb; +} + +vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); + +const float fExposure = 2.0; + +vec3 computeEllipsoidPosition() +{ + float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); + vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); + xy *= czm_viewport.zw * mpp * 0.5; + + vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); + czm_ray ray = czm_ray(vec3(0.0), direction); + + vec3 ellipsoid_center = czm_view[3].xyz; + + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + + vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); + return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; +} + +void main() +{ + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 +#ifdef APPLY_MARS3D_CLIP + if(u_mars_clip_enabled) { + if(u_mars_clip_only) { + if(!inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { + discard; + } + } else { + if(inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { + discard; + } + } + } +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 + +#ifdef TILE_LIMIT_RECTANGLE + if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || + v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) + { + discard; + } +#endif + +#ifdef ENABLE_CLIPPING_PLANES + float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); +#endif + +#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) + vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates + vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordinates +#endif + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); +#else + float nightBlend = 0.0; +#endif + + // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 + // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the + // fragments on the edges of tiles even though the vertex shader is outputting + // coordinates strictly in the 0-1 range. + vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); + +#ifdef SHOW_TILE_BOUNDARIES + if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || + v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) + { + color = vec4(1.0, 0.0, 0.0, 1.0); + } +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) + float cameraDist; + if (czm_sceneMode == czm_sceneMode2D) + { + cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; + } + else if (czm_sceneMode == czm_sceneModeColumbusView) + { + cameraDist = -czm_view[3].z; + } + else + { + cameraDist = length(czm_view[3]); + } + float fadeOutDist = u_lightingFadeDistance.x; + float fadeInDist = u_lightingFadeDistance.y; + if (czm_sceneMode != czm_sceneMode3D) { + vec3 radii = czm_ellipsoidRadii; + float maxRadii = max(radii.x, max(radii.y, radii.z)); + fadeOutDist -= maxRadii; + fadeInDist -= maxRadii; + } + float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); +#else + float fade = 0.0; +#endif + +#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) + vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; + vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; + vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; + waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; + + float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; + + #ifdef SHOW_REFLECTIVE_OCEAN + if (mask > 0.0) + { + mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); + + vec2 ellipsoidTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC); + vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC.zyx); + + vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); + + color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); + } + #endif +#endif + +#ifdef APPLY_MATERIAL + czm_materialInput materialInput; + materialInput.st = v_textureCoordinates.st; + materialInput.normalEC = normalize(v_normalEC); + materialInput.positionToEyeEC = -v_positionEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); + materialInput.slope = v_slope; + materialInput.height = v_height; + materialInput.aspect = v_aspect; + #ifdef HAS_WATER_MASK + materialInput.waterMask = mask; + #endif + + czm_material material = czm_getMaterial(materialInput); + + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + bool hasAlphaBlend = true; + #ifdef APPLY_MARS3D_FLOOD + hasAlphaBlend = !u_mars_flood_enabled || (u_mars_flood_enabled && inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)); + if(u_mars_flood_enabled) { + if(u_mars_flood_only) { + if(! inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)) { + discard; + } + } + } + #endif + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + + if(hasAlphaBlend) { + vec4 materialColor = vec4(material.diffuse, material.alpha); + color = alphaBlend(materialColor, color); + } + +#endif + +#ifdef ENABLE_VERTEX_LIGHTING + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#elif defined(ENABLE_DAYNIGHT_SHADING) + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); + diffuseIntensity = mix(1.0, diffuseIntensity, fade); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#else + vec4 finalColor = color; +#endif + +#ifdef ENABLE_CLIPPING_PLANES + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; + float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; + + if (clipDistance < clippingPlanesEdgeWidth) + { + finalColor = clippingPlanesEdgeColor; + } +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS + vec2 clippingPosition = v_clippingPosition; + int regionIndex = v_regionIndex; + clipPolygons(u_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); +#endif + +#ifdef HIGHLIGHT_FILL_TILE + finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); +#endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) + if (!czm_backFacing()) + { + bool dynamicLighting = false; + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + + vec3 rayleighColor; + vec3 mieColor; + float opacity; + + vec3 positionWC; + vec3 lightDirection; + + // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. + // Otherwise, the scattering is computed in the vertex shader. + #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE + positionWC = computeEllipsoidPosition(); + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + computeAtmosphereScattering( + positionWC, + lightDirection, + rayleighColor, + mieColor, + opacity + ); + #else + positionWC = v_positionMC; + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + rayleighColor = v_atmosphereRayleighColor; + mieColor = v_atmosphereMieColor; + opacity = v_atmosphereOpacity; + #endif + + #ifdef COLOR_CORRECT + const bool ignoreBlackPixels = true; + rayleighColor = czm_applyHSBShift(rayleighColor, u_hsbShift, ignoreBlackPixels); + mieColor = czm_applyHSBShift(mieColor, u_hsbShift, ignoreBlackPixels); + #endif + + vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + + // Fog is applied to tiles selected for fog, close to the Earth. + #ifdef FOG + vec3 fogColor = groundAtmosphereColor.rgb; + + // If there is lighting, apply that to the fog. + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); + fogColor *= darken; + #endif + + #ifndef HDR + fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); + fogColor.rgb = czm_inverseGamma(fogColor.rgb); + #endif + + finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, czm_fogVisualDensityScalar), finalColor.a); + + #else + // Apply ground atmosphere. This happens when the camera is far away from the earth. + + // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. + // This value is larger near the "circumference", as it is further away from the camera. We use it to + // brighten up that area of the ground atmosphere. + const float transmittanceModifier = 0.5; + float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); + + vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float fadeInDist = u_nightFadeDistance.x; + float fadeOutDist = u_nightFadeDistance.y; + + float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); + float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); + vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); + + finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); + #endif + + #ifndef HDR + finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); + #else + finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); + #endif + + finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); + #endif + } +#endif + +#ifdef UNDERGROUND_COLOR + if (czm_backFacing()) + { + float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); + float distance = max(v_distance - distanceFromEllipsoid, 0.0); + float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); + vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); + finalColor = alphaBlend(undergroundColor, finalColor); + } +#endif + +#ifdef TRANSLUCENT + if (inTranslucencyRectangle()) + { + vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; + finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); + } +#endif + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 +#ifdef APPLY_MARS3D_UPLIFT + if(u_mars_uplift_enabled) { + bool isInSlopeRampRectangle = inAreaMars3DRange(u_mars_uplift_rectangle, u_mars_uplift_texture); + if(isInSlopeRampRectangle == u_mars_uplift_hideInsideOrOutside) { + discard; + } + } +#endif + + out_FragColor = finalColor; +} + + +#ifdef SHOW_REFLECTIVE_OCEAN + +float waveFade(float edge0, float edge1, float x) +{ + float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return pow(1.0 - y, 5.0); +} + +float linearFade(float edge0, float edge1, float x) +{ + return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); +} + +// Based on water rendering by Jonas Wagner: +// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog + +// low altitude wave settings +const float oceanFrequencyLowAltitude = 825000.0; +const float oceanAnimationSpeedLowAltitude = 0.004; +const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; +const float oceanSpecularIntensity = 0.5; + +// high altitude wave settings +const float oceanFrequencyHighAltitude = 125000.0; +const float oceanAnimationSpeedHighAltitude = 0.008; +const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; + +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) +{ + vec3 positionToEyeEC = -positionEyeCoordinates; + float positionToEyeECLength = length(positionToEyeEC); + + // The double normalize below works around a bug in Firefox on Android devices. + vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); + + // Fade out the waves as the camera moves far from the surface. + float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); + +#ifdef SHOW_OCEAN_WAVES + // high altitude waves + float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; + vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); + vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); + + // low altitude waves + time = czm_frameNumber * oceanAnimationSpeedLowAltitude; + noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); + vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); + + // blend the 2 wave layers based on distance to surface + float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); + float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); + vec3 normalTangentSpace = + (highAltitudeFade * normalTangentSpaceHighAltitude) + + (lowAltitudeFade * normalTangentSpaceLowAltitude); + normalTangentSpace = normalize(normalTangentSpace); + + // fade out the normal perturbation as we move farther from the water surface + normalTangentSpace.xy *= waveIntensity; + normalTangentSpace = normalize(normalTangentSpace); +#else + vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); +#endif + + vec3 normalEC = enuToEye * normalTangentSpace; + + const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); + + // Use diffuse light to highlight the waves + float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; + vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); + +#ifdef SHOW_OCEAN_WAVES + // Where diffuse light is low or non-existent, use wave highlights based solely on + // the wave bumpiness and no particular light direction. + float tsPerturbationRatio = normalTangentSpace.z; + vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); +#else + vec3 nonDiffuseHighlight = vec3(0.0); +#endif + + // Add specular highlights in 3D, and in all modes when zoomed in. + float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); + float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); + float specular = specularIntensity * surfaceReflectance; + +#ifdef HDR + specular *= 1.4; + + float e = 0.2; + float d = 3.3; + float c = 1.7; + + vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); +#else + vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; +#endif + + return vec4(color, imageryColor.a); +} + +#endif // #ifdef SHOW_REFLECTIVE_OCEAN +`;var _Ei=T(S(),1),jw=`#ifdef QUANTIZATION_BITS12 +in vec4 compressed0; +in float compressed1; +#else +in vec4 position3DAndHeight; +in vec4 textureCoordAndEncodedNormals; +#endif + +#ifdef GEODETIC_SURFACE_NORMALS +in vec3 geodeticSurfaceNormal; +#endif + +#ifdef EXAGGERATION +uniform vec2 u_verticalExaggerationAndRelativeHeight; +#endif + +uniform vec3 u_center3D; +uniform mat4 u_modifiedModelView; +uniform mat4 u_modifiedModelViewProjection; +uniform vec4 u_tileRectangle; + +// Uniforms for 2D Mercator projection +uniform vec2 u_southAndNorthLatitude; +uniform vec2 u_southMercatorYAndOneOverHeight; + +out vec3 v_positionMC; +out vec3 v_positionEC; + +out vec3 v_textureCoordinates; +out vec3 v_normalMC; +out vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +out float v_slope; +out float v_aspect; +out float v_height; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +out float v_distance; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) +out vec3 v_atmosphereRayleighColor; +out vec3 v_atmosphereMieColor; +out float v_atmosphereOpacity; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS +uniform highp sampler2D u_clippingExtents; +out vec2 v_clippingPosition; +flat out int v_regionIndex; +#endif + +// These functions are generated at runtime. +vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); +float get2DYPositionFraction(vec2 textureCoordinates); + +vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return u_modifiedModelViewProjection * vec4(position, 1.0); +} + +float get2DMercatorYPositionFraction(vec2 textureCoordinates) +{ + // The width of a tile at level 11, in radians and assuming a single root tile, is + // 2.0 * czm_pi / pow(2.0, 11.0) + // We want to just linearly interpolate the 2D position from the texture coordinates + // when we're at this level or higher. The constant below is the expression + // above evaluated and then rounded up at the 4th significant digit. + const float maxTileWidth = 0.003068; + float positionFraction = textureCoordinates.y; + float southLatitude = u_southAndNorthLatitude.x; + float northLatitude = u_southAndNorthLatitude.y; + if (northLatitude - southLatitude > maxTileWidth) + { + float southMercatorY = u_southMercatorYAndOneOverHeight.x; + float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; + + float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); + currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); + positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); + } + return positionFraction; +} + +float get2DGeographicYPositionFraction(vec2 textureCoordinates) +{ + return textureCoordinates.y; +} + +vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) +{ + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + return u_modifiedModelViewProjection * rtcPosition2D; +} + +vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, 0.0, textureCoordinates); +} + +vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, height, textureCoordinates); +} + +vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) +{ + // We do not do RTC while morphing, so there is potential for jitter. + // This is unlikely to be noticeable, though. + vec3 position3DWC = position + u_center3D; + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); + return czm_modelViewProjection * morphPosition; +} + +#ifdef QUANTIZATION_BITS12 +uniform vec2 u_minMaxHeight; +uniform mat4 u_scaleAndBias; +#endif + + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 +#ifdef APPLY_MARS3D_FLAT +uniform bool u_mars_flat_enabled; +uniform vec4 u_mars_flat_rectangle; +uniform highp sampler2D u_mars_flat_texture; + +uniform highp float u_mars_inverseTileWidth; +uniform highp vec2 u_mars_cartographicTileRectangle; + +vec4 getAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture, vec2 textureCoordinates) { + float lo = textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; + float la = textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; + + float newX = (lo - rectangle.x) / rectangle.z; + float newY = (la - rectangle.y) / rectangle.w; + + vec4 point; + if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ + vec4 point = texture(rangeTexture, vec2(newX, newY)); + return point; + }else{ + return vec4(0.0); + } +} +#endif +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 + + +void main() +{ +#ifdef QUANTIZATION_BITS12 + vec2 xy = czm_decompressTextureCoordinates(compressed0.x); + vec2 zh = czm_decompressTextureCoordinates(compressed0.y); + vec3 position = vec3(xy, zh.x); + float height = zh.y; + vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); + + height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; + position = (u_scaleAndBias * vec4(position, 1.0)).xyz; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y) || defined(APPLY_MATERIAL) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = compressed1; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = 0.0; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = compressed0.w; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#else + // A single float per element + vec3 position = position3DAndHeight.xyz; + float height = position3DAndHeight.w; + vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = textureCoordAndEncodedNormals.w; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = textureCoordAndEncodedNormals.z; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = 0.0; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#endif + + vec3 position3DWC = position + u_center3D; + +#ifdef GEODETIC_SURFACE_NORMALS + vec3 ellipsoidNormal = geodeticSurfaceNormal; +#else + vec3 ellipsoidNormal = normalize(position3DWC); +#endif + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + float exaggeration = u_verticalExaggerationAndRelativeHeight.x; + float relativeHeight = u_verticalExaggerationAndRelativeHeight.y; + float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; + + // stop from going through center of earth + float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); + newHeight = max(newHeight, -minRadius); + + vec3 offset = ellipsoidNormal * (newHeight - height); + position += offset; + position3DWC += offset; + height = newHeight; +#endif + + // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 +#ifdef APPLY_MARS3D_FLAT + if(u_mars_flat_enabled) { + vec4 isInside = getAreaMars3DRange(u_mars_flat_rectangle,u_mars_flat_texture,textureCoordinates); + if(isInside.r>0.0 || isInside.g>0.0 || isInside.b>0.0 || isInside.a>0.0){ + float newHeight = czm_unpackFloat(isInside); + if(newHeight>-9999.0 && newHeight<9999.0){ + vec3 offset = (newHeight - height) * ellipsoidNormal; + position += offset; + position3DWC += offset; + height = newHeight; + // vec3 newPosition = (position3DWC + offset) - u_center3D; + } + } + } +#endif + // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 + + gl_Position = getPosition(position, height, textureCoordinates); + + v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; + v_positionMC = position3DWC; // position in model coordinates + + v_textureCoordinates = vec3(textureCoordinates, webMercatorT); + +#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + vec3 normalMC = czm_octDecode(encodedNormal); + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; + vec3 rejection = normalMC - projection; + normalMC = normalize(projection + rejection * exaggeration); +#endif + + v_normalMC = normalMC; + v_normalEC = czm_normal3D * v_normalMC; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS + vec2 sphericalLatLong = czm_approximateSphericalCoordinates(position3DWC); + sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); + + vec2 minDistance = vec2(czm_infinity); + v_clippingPosition = vec2(czm_infinity); + v_regionIndex = -1; + + for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { + vec4 extents = unpackClippingExtents(u_clippingExtents, regionIndex); + vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; + + vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); + vec2 distance = abs(rectUv - clamped) * extents.wz; + + float threshold = 0.01; + if (minDistance.x > distance.x || minDistance.y > distance.y) { + minDistance = distance; + v_clippingPosition = rectUv; + if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { + v_regionIndex = regionIndex; + } + } + } +#endif + +#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) + + bool dynamicLighting = false; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + + vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); + + computeAtmosphereScattering( + position3DWC, + lightDirection, + v_atmosphereRayleighColor, + v_atmosphereMieColor, + v_atmosphereOpacity + ); +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) + v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); +#endif + +#ifdef APPLY_MATERIAL + float northPoleZ = czm_ellipsoidRadii.z; + vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); + vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); + float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); + v_slope = acos(dotProd); + vec3 normalRejected = ellipsoidNormal * dotProd; + vec3 normalProjected = v_normalMC - normalRejected; + vec3 aspectVector = normalize(normalProjected); + v_aspect = acos(dot(aspectVector, vectorEastMC)); + float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); + v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); + v_height = height; +#endif +} +`;var SEi=T(S(),1),$V=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { + + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + float atmosphereInnerRadius = length(positionWC); + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); +} +`;var VEi=T(S(),1),qw=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(u_texture, v_textureCoordinates); +} +`;var REi=T(S(),1),$w=`in vec4 position; +in float webMercatorT; + +uniform vec2 u_textureDimensions; + +out vec2 v_textureCoordinates; + +void main() +{ + v_textureCoordinates = vec2(position.x, webMercatorT); + gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); +} +`;var GEi=T(S(),1),eL=`float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} + +void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) +{ + float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; + + // Adjustment to the atmosphere radius applied based on the camera height. + float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; + float distanceAdjustMax = czm_ellipsoidRadii.x; + float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; + float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); + + // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit + // for the position on the ellipsoid. + float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; + float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; + + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + underTranslucentGlobe = 0.0; + + // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. + #if defined(GLOBE_TRANSLUCENT) + + // Check for intersection with the inner radius of the atmopshere. + czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); + if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { + + // Compute position on globe. + vec3 direction = normalize(positionWC); + czm_ray ellipsoidRay = czm_ray(positionWC, -direction); + czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); + vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); + + // Control the color using the camera angle. + float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); + + // Control the opacity using the distance from Earth. + opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); + vec3 horizonColor = vec3(0.1, 0.2, 0.3); + vec3 nearColor = vec3(0.0); + + rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); + + // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. + underTranslucentGlobe = 1.0; + return; + } + #endif + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); + + // Alter the opacity based on how close the viewer is to the ground. + // (0.0 = At edge of atmosphere, 1.0 = On ground) + float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; + float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; + opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); + + // Alter alpha based on time of day (0.0 = night , 1.0 = day) + float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; + opacity *= pow(nightAlpha, 0.5); +} +`;var IEi=T(S(),1),eF=`in vec3 v_outerPositionWC; + +uniform vec3 u_hsbShift; + +#ifndef PER_FRAGMENT_ATMOSPHERE +in vec3 v_mieColor; +in vec3 v_rayleighColor; +in float v_opacity; +in float v_translucent; +#endif + +void main (void) +{ + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_outerPositionWC, lightEnum); + + vec3 mieColor; + vec3 rayleighColor; + float opacity; + float translucent; + + #ifdef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + v_outerPositionWC, + lightDirection, + rayleighColor, + mieColor, + opacity, + translucent + ); + #else + mieColor = v_mieColor; + rayleighColor = v_rayleighColor; + opacity = v_opacity; + translucent = v_translucent; + #endif + + vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); + + #ifndef HDR + color.rgb = czm_pbrNeutralTonemapping(color.rgb); + color.rgb = czm_inverseGamma(color.rgb); + #endif + + #ifdef COLOR_CORRECT + const bool ignoreBlackPixels = true; + color.rgb = czm_applyHSBShift(color.rgb, u_hsbShift, ignoreBlackPixels); + #endif + + // For the parts of the sky atmosphere that are not behind a translucent globe, + // we mix in the default opacity so that the sky atmosphere still appears at distance. + // This is needed because the opacity in the sky atmosphere is initially adjusted based + // on the camera height. + if (translucent == 0.0) { + color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); + } + + out_FragColor = color; +} +`;var WEi=T(S(),1),tF=`in vec4 position; + +out vec3 v_outerPositionWC; + +#ifndef PER_FRAGMENT_ATMOSPHERE +out vec3 v_mieColor; +out vec3 v_rayleighColor; +out float v_opacity; +out float v_translucent; +#endif + +void main(void) +{ + vec4 positionWC = czm_model * position; + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC.xyz, lightEnum); + + #ifndef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + positionWC.xyz, + lightDirection, + v_rayleighColor, + v_mieColor, + v_opacity, + v_translucent + ); + #endif + + v_outerPositionWC = positionWC.xyz; + gl_Position = czm_modelViewProjection * position; +} +`;var vEi=T(S(),1),nF=`uniform samplerCube u_cubeMap; + +in vec3 v_texCoord; + +void main() +{ + vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); + out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); +} +`;var FEi=T(S(),1),iF=`in vec3 position; +out vec3 v_texCoord; + +void main() +{ + vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); + gl_Position = czm_projection * vec4(p, 1.0); + v_texCoord = position.xyz; +} +`;var MEi=T(S(),1),oF=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color = texture(u_texture, v_textureCoordinates); + out_FragColor = czm_gammaCorrect(color); +} +`;var kEi=T(S(),1),rF=`uniform float u_radiusTS; + +in vec2 v_textureCoordinates; + +vec2 rotate(vec2 p, vec2 direction) +{ + return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); +} + +vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) +{ + vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); + float radius = length(rotatedPosition) * lengthScalar; + float burst = 1.0 - smoothstep(0.0, 0.55, radius); + return vec4(burst); +} + +void main() +{ + float lengthScalar = 2.0 / sqrt(2.0); + vec2 position = v_textureCoordinates - vec2(0.5); + float radius = length(position) * lengthScalar; + float surface = step(radius, u_radiusTS); + vec4 color = vec4(vec2(1.0), surface + 0.2, surface); + + float glow = 1.0 - smoothstep(0.0, 0.55, radius); + color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; + + vec4 burst = vec4(0.0); + + // The following loop has been manually unrolled for speed, to + // avoid sin() and cos(). + // + //for (float i = 0.4; i < 3.2; i += 1.047) { + // vec2 direction = vec2(sin(i), cos(i)); + // burst += 0.4 * addBurst(position, direction, lengthScalar); + // + // direction = vec2(sin(i - 0.08), cos(i - 0.08)); + // burst += 0.3 * addBurst(position, direction, lengthScalar); + //} + + burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 + burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 + burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 + + burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 + + // End of manual loop unrolling. + + color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; + + out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); +} +`;var DEi=T(S(),1),sF=`in vec2 direction; + +uniform float u_size; + +out vec2 v_textureCoordinates; + +void main() +{ + vec4 position; + if (czm_morphTime == 1.0) + { + position = vec4(czm_sunPositionWC, 1.0); + } + else + { + position = vec4(czm_sunPositionColumbusView.zxy, 1.0); + } + + vec4 positionEC = czm_view * position; + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + + vec2 halfSize = vec2(u_size * 0.5); + halfSize *= ((direction * 2.0) - 1.0); + + gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); + + v_textureCoordinates = direction; +} +`;var OEi=T(S(),1),aF=` +in vec2 v_textureCoordinates; + +void main() +{ + czm_materialInput materialInput; + + materialInput.s = v_textureCoordinates.s; + materialInput.st = v_textureCoordinates; + materialInput.str = vec3(v_textureCoordinates, 0.0); + materialInput.normalEC = vec3(0.0, 0.0, -1.0); + + czm_material material = czm_getMaterial(materialInput); + + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +} +`;var S6i=T(S(),1);var QEi=T(S(),1);async function Oj(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);if(t.mode===oe.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),!l(n))return r;let a=n.availability;if(!l(a)||t.mode===oe.SCENE2D)return r;let c=[le.center(e),le.southeast(e),le.southwest(e),le.northeast(e),le.northwest(e)],d=await Oj._sampleTerrainMostDetailed(n,c),u=!1,m=d.reduce(function(g,f){return l(f.height)?(u=!0,Math.max(f.height,g)):g},-Number.MAX_VALUE),p=r;return u&&(p.height+=m),p}Oj._sampleTerrainMostDetailed=OT;var KT=Oj;var aAi=T(S(),1);var cIi=T(S(),1);var eIi=T(S(),1);var vat=new D;function wat(e,t){let n=e.unionClippingRegions,i=e.length,o=bs.useFloatTexture(t),r=bs.getTextureResolution(e,t,vat),s=r.x,a=r.y,c=o?Mat(s,a):Nat(s,a);return c+=` +`,c+=n?Fat(i):Aat(i),c}function Fat(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount; + float pixelWidth = czm_metersPerPixel(position); + bool breakAndDiscard = false; + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); + if (amount <= 0.0) + { + breakAndDiscard = true; + break; + } + } + if (breakAndDiscard) { + discard; + } + return clipAmount; +} +`}function Aat(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + bool clipped = true; + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount = 0.0; + float pixelWidth = czm_metersPerPixel(position); + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = max(amount, clipAmount); + clipped = clipped && (amount <= 0.0); + } + if (clipped) + { + discard; + } + return clipAmount; +} +`}function Mat(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int pixY = clippingPlaneNumber / ${e}; + int pixX = clippingPlaneNumber - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 plane = texture(packedClippingPlanes, vec2(u, v)); + return czm_transformPlane(plane, transform); +} +`}function Nat(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int clippingPlaneStartIndex = clippingPlaneNumber * 2; + int pixY = clippingPlaneStartIndex / ${e}; + int pixX = clippingPlaneStartIndex - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; + vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); + vec4 plane; + plane.xyz = czm_octDecode(oct, 65535.0); + plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + ${o}, v))); + return czm_transformPlane(plane, transform); +} +`}var m0=wat;function kat(e,t,n,i,o,r){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o,this.clippingPolygonShaderState=r}function Yj(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function Uat(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case oe.SCENE3D:o=t;break;case oe.SCENE2D:case oe.COLUMBUS_VIEW:o=n;break;case oe.MORPHING:o=i;break}return o}function Dat(e){return e.webgl2?`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { + czm_clipPolygons(clippingDistance, regionsLength, clippingPosition, regionIndex); + }`:`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { + }`}function Bat(e){return e.webgl2?`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { + return czm_unpackClippingExtents(extentsTexture, index); + }`:`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { + return vec4(); + }`}function Oat(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}Yj.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,d=e.applyAlpha,u=e.applyDayNightAlpha,m=e.applySplit,p=e.hasWaterMask,g=e.showReflectiveOcean,f=e.showOceanWaves,x=e.enableLighting,_=e.dynamicAtmosphereLighting,C=e.dynamicAtmosphereLightingFromSun,V=e.showGroundAtmosphere,L=e.perFragmentGroundAtmosphere,Z=e.hasVertexNormals,G=e.useWebMercatorProjection,I=e.enableFog,v=e.enableClippingPlanes,P=e.clippingPlanes,w=e.enableClippingPolygons,A=e.clippingPolygons,b=e.clippedByBoundaries,R=e.hasImageryLayerCutout,E=e.colorCorrect,X=e.highlightFillTile,F=e.colorToAlpha,N=e.hasGeodeticSurfaceNormals,O=e.hasExaggeration,U=e.showUndergroundColor,Y=e.translucent,k=e.marsOptions||{},H=0,J="",z=n.renderedMesh.encoding;z.quantization===ta.BITS12&&(H=1,J="QUANTIZATION_BITS12");let ee=0,pe="";b&&(ee=1,pe="TILE_LIMIT_RECTANGLE");let _e=0,ae="";R&&(_e=1,ae="APPLY_IMAGERY_CUTOUT");let ye=t.mode,Te=ye|o<<2|r<<3|s<<4|a<<5|c<<6|d<<7|p<<8|g<<9|f<<10|x<<11|_<<12|C<<13|V<<14|L<<15|Z<<16|G<<17|I<<18|H<<19|m<<20|v<<21|w<<22|ee<<23|_e<<24|E<<25|X<<26|F<<27|N<<28|O<<29|U<<30|Y<<31|u<<32,Xe=0;l(P)&&P.length>0&&(Xe=v?P.clippingPlanesState:0);let Ie=0;l(A)&&A.length>0&&(Ie=w?A.clippingPolygonsState:0);let Ae=n.surfaceShader;if(l(Ae)&&Ae.numberOfDayTextures===i&&Ae.flags===Te&&Ae.material===this.material&&Ae.clippingShaderState===Xe&&Ae.clippingPolygonShaderState===Ie)return Ae.shaderProgram;let Ve=this._shadersByTexturesFlags[i];if(l(Ve)||(Ve=this._shadersByTexturesFlags[i]=[]),Ae=Ve[Te],!l(Ae)||Ae.material!==this.material||Ae.clippingShaderState!==Xe||Ae.clippingPolygonShaderState!==Ie){let Ne=this.baseVertexShaderSource.clone(),De=this.baseFragmentShaderSource.clone();Xe!==0&&De.sources.unshift(m0(P,t.context)),Ie!==0&&(De.sources.unshift(Dat(t.context)),Ne.sources.unshift(Bat(t.context))),k.enableUplift&&De.defines.push("APPLY_MARS3D_UPLIFT"),k.enableFlat&&Ne.defines.push("APPLY_MARS3D_FLAT"),k.enableClip&&De.defines.push("APPLY_MARS3D_CLIP"),k.enableFlood&&De.defines.push("APPLY_MARS3D_FLOOD"),Ne.defines.push(J),De.defines.push(`TEXTURE_UNITS ${i}`,pe,ae),o&&De.defines.push("APPLY_BRIGHTNESS"),r&&De.defines.push("APPLY_CONTRAST"),s&&De.defines.push("APPLY_HUE"),a&&De.defines.push("APPLY_SATURATION"),c&&De.defines.push("APPLY_GAMMA"),k.invertColor&&De.defines.push("APPLY_INVERT_COLOR_MARS3D"),k.filterColor&&De.defines.push("APPLY_FILTER_COLOR_MARS3D"),d&&De.defines.push("APPLY_ALPHA"),u&&De.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&De.defines.push("HAS_WATER_MASK"),g&&(De.defines.push("SHOW_REFLECTIVE_OCEAN"),Ne.defines.push("SHOW_REFLECTIVE_OCEAN")),f&&De.defines.push("SHOW_OCEAN_WAVES"),F&&De.defines.push("APPLY_COLOR_TO_ALPHA"),U&&(Ne.defines.push("UNDERGROUND_COLOR"),De.defines.push("UNDERGROUND_COLOR")),Y&&(Ne.defines.push("TRANSLUCENT"),De.defines.push("TRANSLUCENT")),x&&(Z?(Ne.defines.push("ENABLE_VERTEX_LIGHTING"),De.defines.push("ENABLE_VERTEX_LIGHTING")):(Ne.defines.push("ENABLE_DAYNIGHT_SHADING"),De.defines.push("ENABLE_DAYNIGHT_SHADING"))),_&&(Ne.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),De.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),C&&(Ne.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),De.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),V&&(Ne.defines.push("GROUND_ATMOSPHERE"),De.defines.push("GROUND_ATMOSPHERE"),L&&(Ne.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),De.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),Ne.defines.push("INCLUDE_WEB_MERCATOR_Y"),De.defines.push("INCLUDE_WEB_MERCATOR_Y"),I&&(Ne.defines.push("FOG"),De.defines.push("FOG")),m&&De.defines.push("APPLY_SPLIT"),v&&De.defines.push("ENABLE_CLIPPING_PLANES"),w&&(De.defines.push("ENABLE_CLIPPING_POLYGONS"),Ne.defines.push("ENABLE_CLIPPING_POLYGONS"),A.inverse&&De.defines.push("CLIPPING_INVERSE"),De.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${A.extentsCount}`),Ne.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${A.extentsCount}`)),E&&De.defines.push("COLOR_CORRECT"),X&&De.defines.push("HIGHLIGHT_FILL_TILE"),N&&Ne.defines.push("GEODETIC_SURFACE_NORMALS"),O&&Ne.defines.push("EXAGGERATION");let $e=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) + { + vec4 color = initialColor; +`;R&&($e+=` vec4 cutoutAndColorResult; + bool texelUnclipped; +`);for(let gt=0;gt<i;++gt)R?$e+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${gt}]; + texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y; + cutoutAndColorResult = sampleAndBlend( +`:$e+=` color = sampleAndBlend( +`,$e+=` color, + u_dayTextures[${gt}], + u_dayTextureUseWebMercatorT[${gt}] ? textureCoordinates.xz : textureCoordinates.xy, + u_dayTextureTexCoordsRectangle[${gt}], + u_dayTextureTranslationAndScale[${gt}], + ${d?`u_dayTextureAlpha[${gt}]`:"1.0"}, + ${u?`u_dayTextureNightAlpha[${gt}]`:"1.0"}, +${u?`u_dayTextureDayAlpha[${gt}]`:"1.0"}, +${o?`u_dayTextureBrightness[${gt}]`:"0.0"}, + ${r?`u_dayTextureContrast[${gt}]`:"0.0"}, + ${s?`u_dayTextureHue[${gt}]`:"0.0"}, + ${a?`u_dayTextureSaturation[${gt}]`:"0.0"}, + ${c?`u_dayTextureOneOverGamma[${gt}]`:"0.0"}, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + ${k.invertColor?`u_mars3dTextureInvertColor[${gt}]`:"false"}, + ${k.filterColor?`u_mars3dTextureFilterColor[${gt}]`:"vec3(1.0)"}, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + ${m?`u_dayTextureSplit[${gt}]`:"0.0"}, + ${F?`u_colorsToAlpha[${gt}]`:"vec4(0.0)"}, + nightBlend ); +`,R&&($e+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color); +`);$e+=` return color; + }`,De.sources.push($e),Ne.sources.push(Uat(ye)),Ne.sources.push(Oat(G));let Ke=en.fromCache({context:t.context,vertexShaderSource:Ne,fragmentShaderSource:De,attributeLocations:z.getAttributeLocations()});Ae=Ve[Te]=new kat(i,Te,this.material,Ke,Xe,Ie)}return n.surfaceShader=Ae,Ae.shaderProgram};Yj.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!l(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],l(t)&&t.shaderProgram.destroy())}return me(this)};var cF=Yj;var wwi=T(S(),1);var BIi=T(S(),1);var dIi=T(S(),1),Yat={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},$n=Object.freeze(Yat);var mIi=T(S(),1),Hat={START:0,LOADING:1,DONE:2,FAILED:3},ia=Object.freeze(Hat);var fIi=T(S(),1),zat={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},fo=Object.freeze(zat);function rr(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new re(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=fo.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new de,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(rr.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===fo.RECEIVING||e===fo.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!l(s.loadingImagery)||s.loadingImagery.state!==$n.TRANSITIONING}return n}},renderedMesh:{get:function(){if(l(this.vertexArray))return this.mesh;if(l(this.fill))return this.fill.mesh}}});var Kat=new he;function Hj(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(l(t)&&t!==oe.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,Kat);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var Jat=new h,Qat=new h,jat=new h;rr.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!l(r))return;let s=r.vertices,a=r.indices,c=r.encoding,d=a.length,u=Number.MAX_VALUE;for(let m=0;m<d;m+=3){let p=a[m],g=a[m+1],f=a[m+2],x=Hj(c,t,n,s,p,Jat),_=Hj(c,t,n,s,g,Qat),C=Hj(c,t,n,s,f,jat),V=ni.rayTriangleParametric(e,x,_,C,i);l(V)&&V<u&&V>=0&&(u=V)}return u!==Number.MAX_VALUE?gn.getPoint(e,u,o):void 0};rr.prototype.freeResources=function(){l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=fo.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};rr.prototype.freeVertexArray=function(){rr._freeVertexArray(this.vertexArray),this.vertexArray=void 0,rr._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};rr.initialize=function(e,t,n){let i=e.data;l(i)||(i=e.data=new rr),e.state===ia.START&&(qat(e,t,n),e.state=ia.LOADING)};rr.processStateMachine=function(e,t,n,i,o,r,s){rr.initialize(e,n,i);let a=e.data;if(e.state===ia.LOADING&&$at(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=l(a.vertexArray);let d=a.terrainState===fo.READY;e.upsampledFromParent=l(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let u=a.processImagery(e,n,t);if(d&&u){let m=e._loadedCallbacks,p={};for(let g in m)m.hasOwnProperty(g)&&(m[g](e)||(p[g]=m[g]));e._loadedCallbacks=p,e.state=ia.DONE}c&&(e.renderable=!0)};rr.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,d,u;for(d=0,u=c.length;d<u;++d){let m=c[d];if(!l(m.loadingImagery)){r=!1;continue}if(m.loadingImagery.state===$n.PLACEHOLDER){let g=m.loadingImagery.imageryLayer;if(g.ready){m.freeResources(),c.splice(d,1),g._createTileImagerySkeletons(e,t,d),--d,u=c.length;continue}else r=!1}let p=m.processStateMachine(e,n,i);a=a&&p,s=s||p||l(m.readyImagery),r=r&&l(m.loadingImagery)&&(m.loadingImagery.state===$n.FAILED||m.loadingImagery.state===$n.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function dye(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=Rc.clone(s);c.hasGeodeticSurfaceNormals=t,c=Rc.clone(c);let d=c.stride,u=new Float32Array(a*d);t?s.addGeodeticSurfaceNormals(r,u,n):s.removeGeodeticSurfaceNormals(r,u),o.vertices=u,o.stride=d,o!==e.mesh?(rr._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=rr._createVertexArrayForMesh(i.context,o)):(rr._freeVertexArray(e.vertexArray),e.vertexArray=rr._createVertexArrayForMesh(i.context,o)),rr._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}rr.prototype.addGeodeticSurfaceNormals=function(e,t){dye(this,!0,e,t)};rr.prototype.removeGeodeticSurfaceNormals=function(e){dye(this,!1,void 0,e)};rr.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.verticalExaggeration,s=t.verticalExaggerationRelativeHeight,a=r!==1,c=o.encoding,d=c.exaggeration!==r,u=c.exaggerationRelativeHeight!==s;if(d||u){if(d)if(a&&!c.hasGeodeticSurfaceNormals){let m=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(m,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let m=e.customData,p=m.length;for(let g=0;g<p;g++){let f=m[g];f.level=-1}}}};function qat(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!l(i)&&l(e.parent)){let o=e.parent,r=o.data;l(r)&&l(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=fo.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function $at(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===fo.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||rr.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===fo.FAILED&&ect(s,e,t,n,e.x,e.y,e.level),s.terrainState===fo.UNLOADED&&tct(s,n,e.x,e.y,e.level),s.terrainState===fo.RECEIVED&&ict(s,t,n,e.x,e.y,e.level),s.terrainState===fo.TRANSFORMED&&(oct(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=fo.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)sct(t.context,s);else{let d=s._findAncestorTileWithTerrainData(e);l(d)&&l(d.data.waterMaskTexture)&&(s.waterMaskTexture=d.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,d,s.waterMaskTranslationAndScale))}}function ect(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=ia.FAILED;return}let c=a.data.terrainData,d=a.x,u=a.y,m=a.level;if(!l(c))return;let p=c.upsample(i.tilingScheme,d,u,m,o,r,s);l(p)&&(e.terrainState=fo.RECEIVING,Promise.resolve(p).then(function(g){l(g)&&(e.terrainData=g,e.terrainState=fo.RECEIVED)}).catch(function(){e.terrainState=fo.FAILED}))}function tct(e,t,n,i,o){function r(c){if(!l(c)){e.terrainState=fo.UNLOADED,e.request=void 0;return}e.terrainData=c,e.terrainState=fo.RECEIVED,e.request=void 0}function s(c){if(e.request.state===ti.CANCELLED){e.terrainData=void 0,e.terrainState=fo.UNLOADED,e.request=void 0;return}e.terrainState=fo.FAILED,e.request=void 0;let d=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=Zo.reportError(t._requestError,t,t.errorEvent,d,n,i,o),t._requestError.retry&&a()}function a(){let c=new Qo({throttle:!1,throttleByServer:!0,type:us.TERRAIN});e.request=c;let d=t.requestTileGeometry(n,i,o,c);l(d)?(e.terrainState=fo.RECEIVING,Promise.resolve(d).then(function(u){r(u)}).catch(function(u){s(u)})):(e.terrainState=fo.UNLOADED,e.request=void 0)}a()}var nct={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function ict(e,t,n,i,o,r){let s=n.tilingScheme,a=nct;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.verticalExaggeration,a.exaggerationRelativeHeight=t.verticalExaggerationRelativeHeight,a.throttle=!0;let d=e.terrainData.createMesh(a);l(d)&&(e.terrainState=fo.TRANSFORMING,Promise.resolve(d).then(function(u){e.mesh=u,e.terrainState=fo.TRANSFORMED}).catch(function(){e.terrainState=fo.FAILED}))}rr._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=_t.createVertexBuffer({context:e,typedArray:n,usage:Ue.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!l(s)||s.isDestroyed()){let a=t.indices;s=_t.createIndexBuffer({context:e,typedArray:a,usage:Ue.STATIC_DRAW,indexDatatype:ke.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new ri({context:e,attributes:o,indexBuffer:s})};rr._freeVertexArray=function(e){if(l(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),l(t)&&!t.isDestroyed()&&l(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function oct(e,t,n,i,o,r,s){e.vertexArray=rr._createVertexArrayForMesh(t,e.mesh),e.terrainState=fo.READY,e.fill=e.fill&&e.fill.destroy(s)}function rct(e){let t=e.cache.tile_waterMaskData;if(!l(t)){let n=It.create({context:e,pixelFormat:st.LUMINANCE,pixelDatatype:qe.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:qt.LINEAR,magnificationFilter:bi.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function sct(e,t){let n=t.terrainData.waterMask,i=rct(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=It.create({context:e,pixelFormat:st.LUMINANCE,pixelDatatype:qe.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,re.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}rr.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;l(t)&&(!l(t.data)||!l(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};rr.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var lm=rr;var dvi=T(S(),1);var pPi=T(S(),1);var cPi=T(S(),1);var PXi=T(S(),1);var KIi=T(S(),1);var zj,uye="AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmSrZYLHFXe7j_lQcsSJKc8-7rwh0IFSNWLGZErkzXRnYjMjURTz-hGiKMEeAJIZBG7uiYEn0Mt1rrwlJGIpirZQC4iO428519DlO3QC9DnRBqLXGTBhirgoU7-Z2209sy87s49kw6NOC8_Eew6nCLf-pZ883DRPRyAYH7LC8cvRLInud0EdndtUFa4y83TamrA.AT1_ahjrWDrq",tL={};tL.defaultAccessToken=uye;tL.defaultWorldImageryServer=new Le({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});tL.defaultWorldHillshadeServer=new Le({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});tL.defaultWorldOceanServer=new Le({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});tL.getDefaultTokenCredit=function(e){if(e===uye){if(!l(zj)){let t='<b> This application is using a default ArcGIS access token. Please assign <i>Cesium.ArcGisMapService.defaultAccessToken</i> with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at <a href="https://developers.arcgis.com/">https://developers.arcgis.com/</a>.</b>';zj=new Lt(t,!0)}return zj}};var eu=tL;var eXi=T(S(),1);function Kj(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=Le.createIfNeeded(e.missingImageUrl),n=this;function i(r){l(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=Sm(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,d=e.pixelsToCheck;for(let u=0,m=d.length;a&&u<m;++u){let p=d[u],g=p.x*4+p.y*c;s[g+3]>0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}Kj.prototype.isReady=function(){return this._isReady};Kj.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!l(n)||l(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=Sm(e),o=e.width;for(let r=0,s=t.length;r<s;++r){let a=t[r],c=a.x*4+a.y*o;for(let d=0;d<4;++d){let u=c+d;if(i[u]!==n[u])return!1}}return!0};var lF=Kj;var iXi=T(S(),1);function Jj(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}Jj.prototype.configureNameFromProperties=function(e){let t=10,n;for(let i in e)if(e.hasOwnProperty(i)&&e[i]){let o=i.toLowerCase();t>1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}l(n)&&(this.name=e[n])};Jj.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='<table class="cesium-infoBox-defaultTable">';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r)&&(typeof r=="object"?i+=`<tr><td>${o}</td><td>${t(r)}</td></tr>`:i+=`<tr><td>${o}</td><td>${r}</td></tr>`)}return i+="</table>",i}this.description=t(e)};var Ph=Jj;var lXi=T(S(),1);function nL(){fe.throwInstantiationError()}Object.defineProperties(nL.prototype,{rectangle:{get:fe.throwInstantiationError},tileWidth:{get:fe.throwInstantiationError},tileHeight:{get:fe.throwInstantiationError},maximumLevel:{get:fe.throwInstantiationError},minimumLevel:{get:fe.throwInstantiationError},tilingScheme:{get:fe.throwInstantiationError},tileDiscardPolicy:{get:fe.throwInstantiationError},errorEvent:{get:fe.throwInstantiationError},credit:{get:fe.throwInstantiationError},proxy:{get:fe.throwInstantiationError},hasAlphaChannel:{get:fe.throwInstantiationError}});nL.prototype.getTileCredits=function(e,t,n){fe.throwInstantiationError()};nL.prototype.requestImage=function(e,t,n,i){fe.throwInstantiationError()};nL.prototype.pickFeatures=function(e,t,n,i,o){fe.throwInstantiationError()};var act=/\.ktx2$/i;nL.loadImage=function(e,t){let n=Le.createIfNeeded(t);return act.test(n.url)?Tl(n):l(e)&&l(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var ll=nL;var uXi=T(S(),1),cct={SATELLITE:1,OCEANS:2,HILLSHADE:3},vh=Object.freeze(cct);function mye(e){this.useTiles=y(e.usePreCachedTilesIfAvailable,!0);let t=e.ellipsoid;this.tilingScheme=y(e.tilingScheme,new Hi({ellipsoid:t})),this.rectangle=y(e.rectangle,this.tilingScheme.rectangle),this.ellipsoid=t;let n=e.credit;typeof n=="string"&&(n=new Lt(n)),this.credit=n,this.tileCredits=void 0,this.tileDiscardPolicy=e.tileDiscardPolicy,this.tileWidth=y(e.tileWidth,256),this.tileHeight=y(e.tileHeight,256),this.maximumLevel=e.maximumLevel}mye.prototype.build=function(e){e._useTiles=this.useTiles,e._tilingScheme=this.tilingScheme,e._rectangle=this.rectangle,e._credit=this.credit,e._tileCredits=this.tileCredits,e._tileDiscardPolicy=this.tileDiscardPolicy,e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,this.useTiles&&!l(this.tileDiscardPolicy)&&(e._tileDiscardPolicy=new lF({missingImageUrl:hye(e,0,0,this.maximumLevel).url,pixelsToCheck:[new D(0,0),new D(200,20),new D(20,200),new D(80,110),new D(160,130)],disableCheckIfAllPixelsAreTransparent:!0}))};function lct(e,t){let n=e.tileInfo;if(!l(n))t.useTiles=!1;else{if(t.tileWidth=n.rows,t.tileHeight=n.cols,n.spatialReference.wkid===102100||n.spatialReference.wkid===102113)t.tilingScheme=new ss({ellipsoid:t.ellipsoid});else if(e.tileInfo.spatialReference.wkid===4326)t.tilingScheme=new Hi({ellipsoid:t.ellipsoid});else{let i=`Tile spatial reference WKID ${e.tileInfo.spatialReference.wkid} is not supported.`;throw new ce(i)}if(t.maximumLevel=e.tileInfo.lods.length-1,l(e.fullExtent)){if(l(e.fullExtent.spatialReference)&&l(e.fullExtent.spatialReference.wkid))if(e.fullExtent.spatialReference.wkid===102100||e.fullExtent.spatialReference.wkid===102113){let i=new Xi,o=e.fullExtent,r=i.unproject(new h(Math.max(o.xmin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(o.ymin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),s=i.unproject(new h(Math.min(o.xmax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(o.ymax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));t.rectangle=new le(r.longitude,r.latitude,s.longitude,s.latitude)}else if(e.fullExtent.spatialReference.wkid===4326)t.rectangle=le.fromDegrees(e.fullExtent.xmin,e.fullExtent.ymin,e.fullExtent.xmax,e.fullExtent.ymax);else{let i=`fullExtent.spatialReference WKID ${e.fullExtent.spatialReference.wkid} is not supported.`;throw new ce(i)}}else t.rectangle=t.tilingScheme.rectangle;t.useTiles=!0}l(e.copyrightText)&&e.copyrightText.length>0&&(l(t.credit)?t.tileCredits=[new Lt(e.copyrightText)]:t.credit=new Lt(e.copyrightText))}function dct(e,t){let n=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(n+=`: ${t.message}`),new ce(n)}async function uct(e,t){let n=e.getDerivedResource({queryParameters:{f:"json"}});try{let i=await n.fetchJson();lct(i,t)}catch(i){dct(e,i)}}function Qf(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new Hi({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers,this._credit=e.credit,this._tileCredits=void 0;let t=e.credit;typeof t=="string"&&(t=new Lt(t)),this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new be}Qf.fromBasemapType=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n,i,o;switch(e){case vh.SATELLITE:{n=y(t.token,eu.defaultAccessToken),i=Le.createIfNeeded(eu.defaultWorldImageryServer),i.appendForwardSlash();let r=eu.getDefaultTokenCredit(n);l(r)&&(o=Lt.clone(r))}break;case vh.OCEANS:{n=y(t.token,eu.defaultAccessToken),i=Le.createIfNeeded(eu.defaultWorldOceanServer),i.appendForwardSlash();let r=eu.getDefaultTokenCredit(n);l(r)&&(o=Lt.clone(r))}break;case vh.HILLSHADE:{n=y(t.token,eu.defaultAccessToken),i=Le.createIfNeeded(eu.defaultWorldHillshadeServer),i.appendForwardSlash();let r=eu.getDefaultTokenCredit(n);l(r)&&(o=Lt.clone(r))}break;default:}return Qf.fromUrl(i,{...t,token:n,credit:o,usePreCachedTilesIfAvailable:!0})};function hye(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof Ei?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(Qf.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});Qf.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Le.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&n.setQueryParameters({token:t.token});let i=new Qf(t);i._resource=n;let o=new mye(t);return y(t.usePreCachedTilesIfAvailable,!0)&&await uct(n,o),o.build(i),i};Qf.prototype.getTileCredits=function(e,t,n){return this._tileCredits};Qf.prototype.requestImage=function(e,t,n,i){return ll.loadImage(this,hye(this,e,t,n,i))};Qf.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof Ei)s=W.toDegrees(i),a=W.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new he(i,o,0));s=p.x,a=p.y,c="3857"}let d="visible";l(this._layers)&&(d+=`:${this._layers}`);let u={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:d};return this._resource.getDerivedResource({url:"identify",queryParameters:u}).fetchJson().then(function(p){let g=[],f=p.results;if(!l(f))return g;for(let x=0;x<f.length;++x){let _=f[x],C=new Ph;if(C.data=_,C.name=_.value,C.properties=_.attributes,C.configureDescriptionFromProperties(_.attributes),_.geometryType==="esriGeometryPoint"&&_.geometry){let V=_.geometry.spatialReference&&_.geometry.spatialReference.wkid?_.geometry.spatialReference.wkid:4326;if(V===4326||V===4283)C.position=he.fromDegrees(_.geometry.x,_.geometry.y,_.geometry.z);else if(V===102100||V===900913||V===3857){let L=new Xi;C.position=L.unproject(new h(_.geometry.x,_.geometry.y,_.geometry.z))}}g.push(C)}return g})};Qf._metadataCache={};var h0=Qf;var eWi=T(S(),1);var wXi=T(S(),1),mct={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},iL=Object.freeze(mct);var MXi=T(S(),1);function dF(e){}dF.prototype.isReady=function(){return!0};dF.prototype.shouldDiscardImage=function(e){return dF.EMPTY_IMAGE===e};var OD;Object.defineProperties(dF,{EMPTY_IMAGE:{get:function(){return l(OD)||(OD=new Image,OD.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),OD}}});var oL=dF;function fye(e){this.tileWidth=void 0,this.tileHeight=void 0,this.maximumLevel=void 0,this.imageUrlSubdomains=void 0,this.imageUrlTemplate=void 0,this.attributionList=void 0}fye.prototype.build=function(e){e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,e._imageUrlSubdomains=this.imageUrlSubdomains,e._imageUrlTemplate=this.imageUrlTemplate;let t=e._attributionList=this.attributionList;t||(t=[]),e._attributionList=t;for(let n=0,i=t.length;n<i;++n){let o=t[n];if(o.credit instanceof Lt)break;o.credit=new Lt(o.attribution);let r=o.coverageAreas;for(let s=0,a=o.coverageAreas.length;s<a;++s){let c=r[s],d=c.bbox;c.bbox=new le(W.toRadians(d[1]),W.toRadians(d[0]),W.toRadians(d[3]),W.toRadians(d[2]))}}};function hct(e,t){if(e.resourceSets.length!==1)throw new ce("metadata does not specify one resource in resourceSets");let n=e.resourceSets[0].resources[0];t.tileWidth=n.imageWidth,t.tileHeight=n.imageHeight,t.maximumLevel=n.zoomMax-1,t.imageUrlSubdomains=n.imageUrlSubdomains,t.imageUrlTemplate=n.imageUrl;let i=n.imageryProviders;l(n.imageryProviders)&&(i=n.imageryProviders.filter(o=>o.coverageAreas?.some(r=>l(r.bbox)))),t.attributionList=i}function fct(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i+=`: ${t.message}`),Zo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i,void 0,void 0,void 0,t),new ce(i)}async function pct(e,t,n){let i=e.url,o=As._metadataCache[i];l(o)||(o=e.fetchJsonp("jsonp"),As._metadataCache[i]=o);try{let r=await o;return hct(r,t)}catch(r){fct(e,r,n)}}function As(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._mapStyle=y(e.mapStyle,iL.AERIAL),this._mapLayer=e.mapLayer,this._culture=y(e.culture,""),this._key=e.key,this._tileDiscardPolicy=e.tileDiscardPolicy,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new oL),this._proxy=e.proxy,this._credit=new Lt(`<a href="https://www.microsoft.com/en-us/maps/bing-maps/product"><img src="${As.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new ss({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new be}Object.defineProperties(As.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},mapLayer:{get:function(){return this._mapLayer}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return l(this.mapLayer)}}});As.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.tileProtocol;l(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=y(t.mapStyle,iL.AERIAL),o=Le.createIfNeeded(e);o.appendForwardSlash();let r={incl:"ImageryProviders",key:t.key,uriScheme:n};l(t.mapLayer)&&(r.mapLayer=t.mapLayer),l(t.culture)&&(r.culture=t.culture);let s=o.getDerivedResource({url:`REST/v1/Imagery/Metadata/${i}`,queryParameters:r}),a=new As(t);a._resource=o;let c=new fye(t);return await pct(s,c),c.build(a),a};var bct=new le;As.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,bct);return xct(this._attributionList,n,i)};As.prototype.requestImage=function(e,t,n,i){let o=ll.loadImage(this,gct(this,e,t,n,i));if(l(o))return o.catch(function(r){return l(r.blob)&&r.blob.size===0?oL.EMPTY_IMAGE:Promise.reject(r)})};As.prototype.pickFeatures=function(e,t,n,i,o){};As.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;e&r&&(s|=1),t&r&&(s|=2),i+=s}return i};As.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];s&1&&(t|=r),s&2&&(n|=r)}return{x:t,y:n,level:i}};As._logoUrl=void 0;Object.defineProperties(As,{logoUrl:{get:function(){return l(As._logoUrl)||(As._logoUrl=sn("Assets/Images/bing_maps_credit.png")),As._logoUrl},set:function(e){As._logoUrl=e}}});function gct(e,t,n,i,o){let r=e._imageUrlTemplate,s=e._imageUrlSubdomains,a=(t+n+i)%s.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:As.tileXYToQuadKey(t,n,i),subdomain:s[a],culture:e._culture},queryParameters:{n:"z"}})}var yct=new le;function xct(e,t,n){++t;let i=[];for(let o=0,r=e.length;o<r;++o){let s=e[o],a=s.coverageAreas,c=!1;for(let d=0,u=s.coverageAreas.length;!c&&d<u;++d){let m=a[d];if(t>=m.zoomMin&&t<=m.zoomMax){let p=le.intersection(n,m.bbox,yct);l(p)&&(c=!0)}}c&&i.push(s.credit)}return i}As._metadataCache={};var uF=As;var XWi=T(S(),1);var bWi=T(S(),1);var pye=/{[^}]+}/g,bye={x:Cct,y:Lct,z:Gct,s:Ect,reverseX:Vct,reverseY:Rct,reverseZ:Zct,westDegrees:Ict,southDegrees:Xct,eastDegrees:Wct,northDegrees:Pct,westProjected:vct,southProjected:wct,eastProjected:Fct,northProjected:Act,width:Mct,height:Nct},_ct=Vt(bye,{i:kct,j:Uct,reverseI:Dct,reverseJ:Bct,longitudeDegrees:Yct,latitudeDegrees:Hct,longitudeProjected:zct,latitudeProjected:Kct,format:Qct});function mF(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new be;let t=Le.createIfNeeded(e.url),n=Le.createIfNeeded(e.pickFeaturesUrl);this._resource=t,this._urlSchemeZeroPadding=e.urlSchemeZeroPadding,this._getFeatureInfoFormats=e.getFeatureInfoFormats,this._pickFeaturesResource=n;let i=e.subdomains;Array.isArray(i)?i=i.slice():l(i)&&i.length>0?i=i.split(""):i=["a","b","c"],this._subdomains=i,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new ss({ellipsoid:e.ellipsoid})),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._rectangle=le.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=e.tileDiscardPolicy;let o=e.credit;typeof o=="string"&&(o=new Lt(o)),this._credit=o,this._hasAlphaChannel=y(e.hasAlphaChannel,!0);let r=e.customTags,s=Vt(bye,r),a=Vt(_ct,r);this._tags=s,this._pickFeaturesTags=a,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=y(e.enablePickFeatures,!0)}Object.defineProperties(mF.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});mF.prototype.getTileCredits=function(e,t,n){};mF.prototype.requestImage=function(e,t,n,i){return ll.loadImage(this,Tct(this,e,t,n,i))};mF.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!l(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(d,u){return d.callback(u)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let d=s._getFeatureInfoFormats[r],u=Sct(s,e,t,n,i,o,d.format);return++r,d.type==="json"?u.fetchJson().then(d.callback).catch(c):d.type==="xml"?u.fetchXML().then(d.callback).catch(c):d.type==="text"||d.type==="html"?u.fetchText().then(d.callback).catch(c):u.fetch({responseType:d.format}).then(a.bind(void 0,d)).catch(c)}return c()};var YD=!1,tu=new le,HD=!1,hF=new le;function Tct(e,t,n,i,o){YD=!1,HD=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},d=s.match(pye);return l(d)&&d.forEach(function(u){let m=u.substring(1,u.length-1);l(a[m])&&(c[m]=a[m](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var Qj=!1,sL=new D,jj=!1;function Sct(e,t,n,i,o,r,s){YD=!1,HD=!1,Qj=!1,jj=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),d=e._pickFeaturesTags,u={},m=c.match(pye);return l(m)&&m.forEach(function(p){let g=p.substring(1,p.length-1);l(d[g])&&(u[g]=d[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:u})}function aL(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function Cct(e,t,n,i){return aL(e,"{x}",t)}function Vct(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return aL(e,"{reverseX}",o)}function Lct(e,t,n,i){return aL(e,"{y}",n)}function Rct(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return aL(e,"{reverseY}",o)}function Zct(e,t,n,i){let o=e.maximumLevel,r=l(o)&&i<o?o-i-1:i;return aL(e,"{reverseZ}",r)}function Gct(e,t,n,i){return aL(e,"{z}",i)}function Ect(e,t,n,i){let o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function zD(e,t,n,i){YD||(e.tilingScheme.tileXYToRectangle(t,n,i,tu),tu.west=W.toDegrees(tu.west),tu.south=W.toDegrees(tu.south),tu.east=W.toDegrees(tu.east),tu.north=W.toDegrees(tu.north),YD=!0)}function Ict(e,t,n,i){return zD(e,t,n,i),tu.west}function Xct(e,t,n,i){return zD(e,t,n,i),tu.south}function Wct(e,t,n,i){return zD(e,t,n,i),tu.east}function Pct(e,t,n,i){return zD(e,t,n,i),tu.north}function KD(e,t,n,i){HD||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,hF),HD=!0)}function vct(e,t,n,i){return KD(e,t,n,i),hF.west}function wct(e,t,n,i){return KD(e,t,n,i),hF.south}function Fct(e,t,n,i){return KD(e,t,n,i),hF.east}function Act(e,t,n,i){return KD(e,t,n,i),hF.north}function Mct(e,t,n,i){return e.tileWidth}function Nct(e,t,n,i){return e.tileHeight}function kct(e,t,n,i,o,r,s){return JD(e,t,n,i,o,r),sL.x}function Uct(e,t,n,i,o,r,s){return JD(e,t,n,i,o,r),sL.y}function Dct(e,t,n,i,o,r,s){return JD(e,t,n,i,o,r),e.tileWidth-sL.x-1}function Bct(e,t,n,i,o,r,s){return JD(e,t,n,i,o,r),e.tileHeight-sL.y-1}var Oct=new le,rL=new h;function JD(e,t,n,i,o,r,s){if(Qj)return;qj(e,t,n,i,o,r);let a=rL,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,Oct);sL.x=e.tileWidth*(a.x-c.west)/c.width|0,sL.y=e.tileHeight*(c.north-a.y)/c.height|0,Qj=!0}function Yct(e,t,n,i,o,r,s){return W.toDegrees(o)}function Hct(e,t,n,i,o,r,s){return W.toDegrees(r)}function zct(e,t,n,i,o,r,s){return qj(e,t,n,i,o,r),rL.x}function Kct(e,t,n,i,o,r,s){return qj(e,t,n,i,o,r),rL.y}var Jct=new he;function qj(e,t,n,i,o,r,s){if(!jj){if(e.tilingScheme.projection instanceof Ei)rL.x=W.toDegrees(o),rL.y=W.toDegrees(r);else{let a=Jct;a.longitude=o,a.latitude=r,e.tilingScheme.projection.project(a,rL)}jj=!0}}function Qct(e,t,n,i,o,r,s){return s}var za=mF;function dm(e){za.call(this,e)}dm._requestMetadata=async function(e,t,n,i){try{let o=await n.fetchXML();return dm._metadataSuccess(o,e,t,n,i)}catch(o){if(o instanceof Qh)return dm._metadataFailure(e,t);throw o}};dm.fromUrl=async function(e,t){let n=Le.createIfNeeded(e);n.appendForwardSlash();let i=n,o=n.getDerivedResource({url:"tilemapresource.xml"});t=y(t,y.EMPTY_OBJECT);let r=await dm._requestMetadata(t,i,o);return new dm(r)};l(Object.create)&&(dm.prototype=Object.create(za.prototype),dm.prototype.constructor=dm);function gye(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function yye(e,t,n){let i=e.positionToTileXY(le.southwest(t),n),o=e.positionToTileXY(le.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}dm._metadataSuccess=function(e,t,n,i,o){let r=/tileformat/i,s=/tileset/i,a=/tilesets/i,c=/boundingbox/i,d,u,m,p=[],g=e.childNodes[0].childNodes;for(let P=0;P<g.length;P++)if(r.test(g.item(P).nodeName))d=g.item(P);else if(a.test(g.item(P).nodeName)){m=g.item(P);let w=g.item(P).childNodes;for(let A=0;A<w.length;A++)s.test(w.item(A).nodeName)&&p.push(w.item(A))}else c.test(g.item(P).nodeName)&&(u=g.item(P));let f;if(!l(m)||!l(u))throw f=`Unable to find expected tilesets or bbox attributes in ${i.url}.`,l(o)&&Zo.reportError(void 0,o,o.errorEvent,f),new ce(f);let x=y(t.fileExtension,d.getAttribute("extension")),_=y(t.tileWidth,parseInt(d.getAttribute("width"),10)),C=y(t.tileHeight,parseInt(d.getAttribute("height"),10)),V=y(t.minimumLevel,parseInt(p[0].getAttribute("order"),10)),L=y(t.maximumLevel,parseInt(p[p.length-1].getAttribute("order"),10)),Z=m.getAttribute("profile"),G=t.tilingScheme;if(!l(G))if(Z==="geodetic"||Z==="global-geodetic")G=new Hi({ellipsoid:t.ellipsoid});else if(Z==="mercator"||Z==="global-mercator")G=new ss({ellipsoid:t.ellipsoid});else throw f=`${i.url} specifies an unsupported profile attribute, ${Z}.`,l(o)&&Zo.reportError(void 0,o,o.errorEvent,f),new ce(f);let I=le.clone(t.rectangle);if(!l(I)){let P,w,A,b;y(t.flipXY,!1)?(A=new D(parseFloat(u.getAttribute("miny")),parseFloat(u.getAttribute("minx"))),b=new D(parseFloat(u.getAttribute("maxy")),parseFloat(u.getAttribute("maxx")))):(A=new D(parseFloat(u.getAttribute("minx")),parseFloat(u.getAttribute("miny"))),b=new D(parseFloat(u.getAttribute("maxx")),parseFloat(u.getAttribute("maxy"))));let E=Z==="geodetic"||Z==="mercator";if(G.projection instanceof Ei||E)P=he.fromDegrees(A.x,A.y),w=he.fromDegrees(b.x,b.y);else{let X=G.projection;P=X.unproject(A),w=X.unproject(b)}I=new le(P.longitude,P.latitude,w.longitude,w.latitude)}return I=gye(I,G),V=yye(G,I,V),{url:n.getDerivedResource({url:`{z}/{x}/{reverseY}.${x}`}),tilingScheme:G,rectangle:I,tileWidth:_,tileHeight:C,minimumLevel:V,maximumLevel:L,tileDiscardPolicy:t.tileDiscardPolicy,credit:t.credit}};dm._metadataFailure=function(e,t){let n=y(e.fileExtension,"png"),i=y(e.tileWidth,256),o=y(e.tileHeight,256),r=e.maximumLevel,s=l(e.tilingScheme)?e.tilingScheme:new ss({ellipsoid:e.ellipsoid}),a=y(e.rectangle,s.rectangle);a=gye(a,s);let c=yye(s,a,e.minimumLevel);return{url:t.getDerivedResource({url:`{z}/{x}/{reverseY}.${n}`}),tilingScheme:s,rectangle:a,tileWidth:i,tileHeight:o,minimumLevel:c,maximumLevel:r,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit}};var My=dm;var YWi=T(S(),1);function xye(e){this.channel=e.channel,this.ellipsoid=e.ellipsoid,this.tilingScheme=void 0,this.version=void 0}xye.prototype.build=function(e){e._channel=this.channel,e._version=this.version,e._tilingScheme=this.tilingScheme};function jct(e,t){let n;try{n=JSON.parse(e)}catch{n=JSON.parse(e.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}let i;for(let o=0;o<n.layers.length;o++)if(n.layers[o].id===t.channel){i=n.layers[o];break}if(!l(i)){let o=`Could not find layer with channel (id) of ${t.channel}.`;throw new ce(o)}if(!l(i.version)){let o=`Could not find a version in channel (id) ${t.channel}.`;throw new ce(o)}if(t.version=i.version,l(n.projection)&&n.projection==="flat")t.tilingScheme=new Hi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new le(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:t.ellipsoid});else if(!l(n.projection)||n.projection==="mercator")t.tilingScheme=new ss({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:t.ellipsoid});else{let o=`Unsupported projection ${n.projection}.`;throw new ce(o)}return!0}function qct(e,t,n){let i=`An error occurred while accessing ${t.url}.`;throw l(e)&&l(e.message)&&(i+=`: ${e.message}`),Zo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new ce(i)}async function $ct(e,t,n){try{let i=await e.fetchText();jct(i,t)}catch(i){qct(i,e,n)}}function Ql(e){e=y(e,{}),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1.9,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new Lt(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${Ql.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new be}Object.defineProperties(Ql.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});Ql.fromUrl=async function(e,t,n){n=y(n,{});let i=y(n.path,"/default_map"),o=Le.createIfNeeded(e).getDerivedResource({url:i[0]==="/"?i.substring(1):i});o.appendForwardSlash();let r=o.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),s=new xye(n);s.channel=t,await $ct(r,s);let a=new Ql(n);return s.build(a),a._resource=o,a._url=e,a._path=i,a};Ql.prototype.getTileCredits=function(e,t,n){};Ql.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return ll.loadImage(this,o)};Ql.prototype.pickFeatures=function(e,t,n,i,o){};Ql._logoUrl=void 0;Object.defineProperties(Ql,{logoUrl:{get:function(){return l(Ql._logoUrl)||(Ql._logoUrl=sn("Assets/Images/google_earth_credit.png")),Ql._logoUrl},set:function(e){Ql._logoUrl=e}}});var fF=Ql;var qWi=T(S(),1);var elt=/\/$/,_ye=new Lt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function cL(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Le.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();elt.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;l(e.credit)?(s=e.credit,typeof s=="string"&&(s=new Lt(s))):s=_ye,this._resource=i,this._imageryProvider=new za({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(cL.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});cL.prototype.getTileCredits=function(e,t,n){};cL.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};cL.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};cL._defaultCredit=_ye;var pF=cL;var d2i=T(S(),1);function JT(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=y(e.rectangle,le.MAX_VALUE),n=new Hi({rectangle:t,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=n,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new be;let i=e.credit;typeof i=="string"&&(i=new Lt(i)),this._credit=i;let o=Le.createIfNeeded(e.url);this._resource=o,this._tileWidth=e.tileWidth,this._tileHeight=e.tileHeight}Object.defineProperties(JT.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});function tlt(e,t,n,i){let o=`Failed to load image ${e.url}`;l(t)&&l(t.message)&&(o+=`: ${t.message}`);let r=Zo.reportError(i,n,l(n)?n._errorEvent:void 0,o,0,0,0,t);if(r.retry)return $j(e,n,r);throw l(n)&&(n._hasError=!0),new ce(o)}async function $j(e,t,n){try{return await ll.loadImage(null,e)}catch(i){return tlt(e,i,t,n)}}JT.fromUrl=async function(e,t){let n=Le.createIfNeeded(e),i=await $j(n);t=y(t,y.EMPTY_OBJECT);let o=new JT({...t,url:e,tileWidth:i.width,tileHeight:i.height});return o._image=i,o};JT.prototype.getTileCredits=function(e,t,n){};JT.prototype.requestImage=async function(e,t,n,i){if(!this._hasError&&!l(this._image)){let o=await $j(this._resource,this);return this._image=o,Zo.reportSuccess(this._errorEvent),o}return this._image};JT.prototype.pickFeatures=function(e,t,n,i,o){};var bF=JT;var v2i=T(S(),1);var b2i=T(S(),1);function nlt(e,t,n){this.type=e,l(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,l(n)||(e==="json"?n=ilt:e==="xml"?n=alt:(e==="html"||e==="text")&&(n=Tye)),this.callback=n}function ilt(e){let t=[],n=e.features;for(let i=0;i<n.length;++i){let o=n[i],r=new Ph;if(r.data=o,r.properties=o.properties,r.configureNameFromProperties(o.properties),r.configureDescriptionFromProperties(o.properties),l(o.geometry)&&o.geometry.type==="Point"){let s=o.geometry.coordinates[0],a=o.geometry.coordinates[1];r.position=he.fromDegrees(s,a)}t.push(r)}return t}var e8="http://www.mapinfo.com/mxp",olt="http://www.esri.com/wms",rlt="http://www.opengis.net/wfs",slt="http://www.opengis.net/gml";function alt(e){let t=e.documentElement;if(t.localName==="MultiFeatureCollection"&&t.namespaceURI===e8)return clt(e);if(t.localName==="FeatureInfoResponse"&&t.namespaceURI===olt)return llt(e);if(t.localName==="FeatureCollection"&&t.namespaceURI===rlt)return dlt(e);if(t.localName==="ServiceExceptionReport")throw new ce(new XMLSerializer().serializeToString(t));return t.localName==="msGMLOutput"?ult(e):mlt(e)}function clt(e){let t=[],i=e.documentElement.getElementsByTagNameNS(e8,"Feature");for(let o=0;o<i.length;++o){let r=i[o],s={},a=r.getElementsByTagNameNS(e8,"Val");for(let d=0;d<a.length;++d){let u=a[d];if(u.hasAttribute("ref")){let m=u.getAttribute("ref"),p=u.textContent.trim();s[m]=p}}let c=new Ph;c.data=r,c.properties=s,c.configureNameFromProperties(s),c.configureDescriptionFromProperties(s),t.push(c)}return t}function llt(e){let t=e.documentElement,n=[],i,o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){let s=o[r];i={};let a=s.attributes;for(let c=0;c<a.length;++c){let d=a[c];i[d.name]=d.value}n.push(QD(s,i))}else{let r=t.getElementsByTagNameNS("*","FeatureInfo");for(let s=0;s<r.length;++s){let a=r[s];i={};let c=a.childNodes;for(let d=0;d<c.length;++d){let u=c[d];u.nodeType===Node.ELEMENT_NODE&&(i[u.localName]=u.textContent)}n.push(QD(a,i))}}return n}function dlt(e){let t=[],i=e.documentElement.getElementsByTagNameNS(slt,"featureMember");for(let o=0;o<i.length;++o){let r=i[o],s={};t8(r,s),t.push(QD(r,s))}return t}function ult(e){let t=[],n,i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!l(n))throw new ce("Unable to find first child of the feature info xml document");let o=n.childNodes;for(let r=0;r<o.length;++r){let s=o[r];if(s.nodeType===Node.ELEMENT_NODE){let a={};t8(s,a),t.push(QD(s,a))}}return t}function t8(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){let o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),!(o.localName==="Point"||o.localName==="LineString"||o.localName==="Polygon"||o.localName==="boundedBy")&&o.hasChildNodes()&&t8(o,t)&&(t[o.localName]=o.textContent)}return n}function QD(e,t){let n=new Ph;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function mlt(e){let t=new XMLSerializer().serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);let o=new Ph;return o.data=e,o.description=n.innerHTML,[o]}var hlt=/<body>\s*<\/body>/im,flt=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,plt=/<title>([\s\S]*)<\/title>/im;function Tye(e){if(hlt.test(e)||flt.test(e))return;let t,n=plt.exec(e);n&&n.length>1&&(t=n[1]);let i=new Ph;return i.name=t,i.description=e,i.data=e,[i]}var QT=nlt;var C2i=T(S(),1);function gF(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(gF.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});gF.prototype.getFromCache=function(e,t,n,i){let o=Sye(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(l(s)&&l(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};gF.prototype.checkApproachingInterval=function(e,t,n,i){let o=Sye(e,t,n),r=this._tilesRequestedForInterval,s=Cye(this),a={key:o,priorityFunction:i.priorityFunction};(!l(s)||!Vye(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};gF.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=Cye(this);if(l(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=Vye(this,c,r),a||s.push(c)}}};function Sye(e,t,n){return`${e}-${t}-${n}`}function blt(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function Cye(e){let t=e._times;if(!l(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=j.secondsDifference(c.stop,i),++a):(s=j.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function Vye(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];l(r)||(r=o[i]={});let s=t.key;if(l(r[s]))return!0;let a=blt(s),c=new Qo({throttle:!1,throttleByServer:!0,type:us.IMAGERY,priorityFunction:t.priorityFunction}),d=e._requestImageFunction(a.x,a.y,a.level,c,n);return l(d)?(r[s]={promise:d,request:c},!0):!1}var jT=gF;var glt=[3034,3035,3042,3043,3044],ylt=[4471,4559];function wh(e){if(e=y(e,y.EMPTY_OBJECT),l(e.times)&&!l(e.clock))throw new fe("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=Le.createIfNeeded(e.url),n=Le.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(wh.DefaultParameters,!0),n.setQueryParameters(wh.GetFeatureInfoDefaultParameters,!0),l(e.parameters)&&t.setQueryParameters(Lye(e.parameters,e.toLowerCase)),l(e.getFeatureInfoParameters)&&n.setQueryParameters(Lye(e.getFeatureInfoParameters,e.toLowerCase));let i=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new jT({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,d,u){return Rye(i,s,a,c,d,u)},reloadFunction:function(){l(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Xi?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!ylt.includes(a)||glt.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Xi?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new za({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new Hi({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,wh.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function Rye(e,t,n,i,o,r){let s=l(r)?r.data:void 0,a=e._tileProvider;return l(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function xlt(e,t,n,i,o,r,s){let a=l(s)?s.data:void 0,c=e._tileProvider;return l(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(wh.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});wh.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};wh.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=Rye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};wh.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=l(r)?r.currentInterval:void 0;return xlt(this,e,t,n,i,o,s)};wh.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});wh.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});wh.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new QT("json","application/json")),Object.freeze(new QT("xml","text/xml")),Object.freeze(new QT("text","text/html"))]);function Lye(e,t=!0){if(t){let n={};for(let i in e)e.hasOwnProperty(i)&&(n[i.toLowerCase()]=e[i]);return n}return e}var yF=wh;var H2i=T(S(),1);var _lt=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function xF(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=Le.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!l(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(_lt),this._useKvp=!0;else{let m={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(m),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new ss({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new jT({clock:e.clock,times:e.times,requestImageFunction:function(m,p,g,f,x){return Zye(s,m,p,g,f,x)},reloadFunction:function(){l(s._reload)&&s._reload()}}));let a=this._tilingScheme.positionToTileXY(le.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(le.northeast(this._rectangle),this._minimumLevel),d=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new be;let u=e.credit;this._credit=typeof u=="string"?new Lt(u):u,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():l(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function Zye(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=l(s)?s[i]:i.toString(),c=e._subdomains,d=e._dimensions,u=l(r)?r.data:void 0,m,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},m=e._resource.getDerivedResource({request:o}),m.setTemplateValues(p),l(d)&&m.setTemplateValues(d),l(u)&&m.setTemplateValues(u);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,l(d)&&(g=Vt(g,d)),l(u)&&(g=Vt(g,u)),p={s:c[(t+n+i)%c.length]},m=e._resource.getDerivedResource({queryParameters:g,request:o}),m.setTemplateValues(p)}return ll.loadImage(e,m)}Object.defineProperties(xF.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,l(this._reload)&&this._reload())}}});xF.prototype.getTileCredits=function(e,t,n){};xF.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=Zye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};xF.prototype.pickFeatures=function(e,t,n,i,o){};var _F=xF;var Tlt={ARCGIS_MAPSERVER:h0.fromUrl,BING:async(e,t)=>uF.fromUrl(e,t),GOOGLE_EARTH:async(e,t)=>{let n=t.channel;return delete t.channel,fF.fromUrl(e,n,t)},MAPBOX:(e,t)=>new pF({url:e,...t}),SINGLE_TILE:bF.fromUrl,TMS:My.fromUrl,URL_TEMPLATE:(e,t)=>new za({url:e,...t}),WMS:(e,t)=>new yF({url:e,...t}),WMTS:(e,t)=>new _F({url:e,...t})};function jf(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileCredits=void 0,this._errorEvent=new be}Object.defineProperties(jf.prototype,{rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}}});jf.fromAssetId=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=yd._createEndpointResource(e,t),i=e.toString()+t.accessToken+t.server,o=jf._endpointCache[i];l(o)||(o=n.fetchJson(),jf._endpointCache[i]=o);let r=await o;if(r.type!=="IMAGERY")throw new ce(`Cesium ion asset ${e} is not an imagery asset.`);let s,a=r.externalType;if(!l(a))s=await My.fromUrl(new yd(r,n));else{let d=Tlt[a];if(!l(d))throw new ce(`Unrecognized Cesium ion imagery type: ${a}`);let u={...r.options},m=u.url;delete u.url,s=await d(m,u)}let c=new jf(t);return s.errorEvent.addEventListener(function(d){d.provider=c,c._errorEvent.raiseEvent(d)}),c._tileCredits=yd.getCreditsFromEndpoint(r,n),c._imageryProvider=s,c};jf.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return l(i)?this._tileCredits.concat(i):this._tileCredits};jf.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};jf.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};jf._endpointCache={};var f0=jf;var dPi=T(S(),1),Slt={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},p0=Object.freeze(Slt);function Clt(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,p0.AERIAL);return f0.fromAssetId(t)}var b0=Clt;var _Pi=T(S(),1);function lL(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=$n.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!l(o)&&e.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}lL.createPlaceholder=function(e){let t=new lL(e,0,0,0);return t.addReference(),t.state=$n.PLACEHOLDER,t};lL.prototype.addReference=function(){++this.referenceCount};lL.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),l(this.parent)&&this.parent.releaseReference(),l(this.image)&&l(this.image.destroy)&&this.image.destroy(),l(this.texture)&&this.texture.destroy(),l(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),me(this),0):this.referenceCount};lL.prototype.processStateMachine=function(e,t,n){this.state===$n.UNLOADED&&!n&&(this.state=$n.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===$n.RECEIVED&&(this.state=$n.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===$n.READY&&t&&!this.texture;(this.state===$n.TEXTURE_LOADED||i)&&(this.state=$n.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var dL=lL;var VPi=T(S(),1);function n8(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}n8.prototype.freeResources=function(){l(this.readyImagery)&&this.readyImagery.releaseReference(),l(this.loadingImagery)&&this.loadingImagery.releaseReference()};n8.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===$n.READY)return l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;l(r)&&(r.state!==$n.READY||!this.useWebMercatorT&&!l(r.texture));)r.state!==$n.FAILED&&r.state!==$n.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,l(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===$n.FAILED||i.state===$n.INVALID?l(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var uL=n8;function Vi(e,t){this._imageryProvider=e,this._readyEvent=new be,this._errorEvent=new be,t=y(t,y.EMPTY_OBJECT),e=y(e,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e._defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e._defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e._defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e._defaultBrightness,Vi.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e._defaultContrast,Vi.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e._defaultHue,Vi.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e._defaultSaturation,Vi.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e._defaultGamma,Vi.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,Vi.DEFAULT_SPLIT),this.minificationFilter=y(t.minificationFilter,y(e._defaultMinificationFilter,Vi.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e._defaultMagnificationFilter,Vi.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,le.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new uL(dL.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,Vi.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD),this._marsOptions=y(t.marsOptions,{}),this._initByMars3D&&this._initByMars3D(e,t)}Object.defineProperties(Vi.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return l(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});Vi.DEFAULT_BRIGHTNESS=1;Vi.DEFAULT_CONTRAST=1;Vi.DEFAULT_HUE=0;Vi.DEFAULT_SATURATION=1;Vi.DEFAULT_GAMMA=1;Vi.DEFAULT_SPLIT=wr.NONE;Vi.DEFAULT_MINIFICATION_FILTER=qt.LINEAR;Vi.DEFAULT_MAGNIFICATION_FILTER=bi.LINEAR;Vi.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;Vi.fromProviderAsync=function(e,t){let n=new Vi(void 0,t);return Glt(n,Promise.resolve(e)),n};Vi.fromWorldImagery=function(e){return e=y(e,y.EMPTY_OBJECT),Vi.fromProviderAsync(b0({style:e.style}),e)};Vi.prototype.isBaseLayer=function(){return this._isBaseLayer};Vi.prototype.isDestroyed=function(){return!1};Vi.prototype.destroy=function(){return me(this)};var Iye=new le,Gye=new le,i8=new le,Xye=new le;Vi.prototype.getImageryRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return le.intersection(e.rectangle,t)};Vi.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(!l(t)||l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;l(n)||(n=i.imagery.length);let o=this._imageryProvider;if(!this.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Xi&&e.rectangle.north<Xi.MaximumLatitude&&e.rectangle.south>-Xi.MaximumLatitude,s=le.intersection(o.rectangle,this._rectangle,Iye),a=le.intersection(e.rectangle,s,Gye);if(!l(a)){if(!this.isBaseLayer())return!1;let E=s,X=e.rectangle;a=Gye,X.south>=E.north?a.north=a.south=E.north:X.north<=E.south?a.north=a.south=E.south:(a.south=Math.max(X.south,E.south),a.north=Math.min(X.north,E.north)),X.west>=E.east?a.west=a.east=E.east:X.east<=E.west?a.west=a.east=E.west:(a.west=Math.max(X.west,E.west),a.east=Math.min(X.east,E.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let u=1*t.getLevelMaximumGeometricError(e.level),m=Rlt(this,u,c);m=Math.max(0,m);let p=o.maximumLevel;if(m>p&&(m=p),l(o.minimumLevel)){let E=o.minimumLevel;m<E&&(m=E)}let g=o.tilingScheme,f=g.positionToTileXY(le.northwest(a),m),x=g.positionToTileXY(le.southeast(a),m),_=e.rectangle.width/512,C=e.rectangle.height/512,V=g.tileXYToRectangle(f.x,f.y,m);Math.abs(V.south-e.rectangle.north)<C&&f.y<x.y&&++f.y,Math.abs(V.east-e.rectangle.west)<_&&f.x<x.x&&++f.x;let L=g.tileXYToRectangle(x.x,x.y,m);Math.abs(L.north-e.rectangle.south)<C&&x.y>f.y&&--x.y,Math.abs(L.west-e.rectangle.east)<_&&x.x>f.x&&--x.x;let Z=le.clone(e.rectangle,Xye),G=g.tileXYToRectangle(f.x,f.y,m),I=le.intersection(G,s,i8),v;r?(g.rectangleToNativeRectangle(Z,Z),g.rectangleToNativeRectangle(G,G),g.rectangleToNativeRectangle(I,I),g.rectangleToNativeRectangle(s,s),v=g.tileXYToNativeRectangle.bind(g),_=Z.width/512,C=Z.height/512):v=g.tileXYToRectangle.bind(g);let P,w=0,A=1,b;!this.isBaseLayer()&&Math.abs(I.west-Z.west)>=_&&(w=Math.min(1,(I.west-Z.west)/Z.width)),!this.isBaseLayer()&&Math.abs(I.north-Z.north)>=C&&(A=Math.max(0,(I.north-Z.south)/Z.height));let R=A;for(let E=f.x;E<=x.x;E++)if(P=w,G=v(E,f.y,m),I=le.simpleIntersection(G,s,i8),!!l(I)){w=Math.min(1,(I.east-Z.west)/Z.width),E===x.x&&(this.isBaseLayer()||Math.abs(I.east-Z.east)<_)&&(w=1),A=R;for(let X=f.y;X<=x.y;X++){if(b=A,G=v(E,X,m),I=le.simpleIntersection(G,s,i8),!l(I))continue;A=Math.max(0,(I.south-Z.south)/Z.height),X===x.y&&(this.isBaseLayer()||Math.abs(I.south-Z.south)<C)&&(A=0);let F=new re(P,A,w,b),N=this.getImageryFromCache(E,X,m);i.imagery.splice(n,0,new uL(N,F,r)),++n}}return!0};Vi.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,Iye),i=c.rectangleToNativeRectangle(i,Xye)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new re(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};Vi.prototype._requestImagery=function(e){if(l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return e.state=$n.FAILED,e.request=void 0,!1;if(l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return e.state=$n.FAILED,e.request=void 0,!1;let t=this._imageryProvider,n=this;function i(s){if(!l(s))return o();e.image=s,e.state=$n.RECEIVED,e.request=void 0,Zo.reportSuccess(n._requestImageError),n._marsOptions.onAddTileSuccess&&n._marsOptions.onAddTileSuccess(e)}function o(s){if(e.request.state===ti.CANCELLED){e.state=$n.UNLOADED,e.request=void 0;return}e.state=$n.FAILED,e.request=void 0;let a=`\u65E0\u6CD5\u83B7\u5F97\u56FE\u5757 x:${e.x},y: ${e.y},z:${e.level}. `;t._resource&&t._resource._last_url&&(a+=t._resource._last_url),n._requestImageError=Zo.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r(),n._marsOptions.onAddTileError&&n._marsOptions.onAddTileError(e)}function r(){let s=new Qo({throttle:!1,throttleByServer:!0,type:us.IMAGERY});e.request=s,e.state=$n.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!l(a)){e.state=$n.UNLOADED,e.request=void 0;return}l(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),n._marsOptions.onAddTile&&n._marsOptions.onAddTile(e),a.then?a.then(function(c){i(c)}).catch(function(c){o(c)}):i(a)}r()};Vi.prototype._createTextureWebGL=function(e,t){let n=new $t({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return l(i.internalFormat)?new It({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new It({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?st.RGBA:st.RGB,sampler:n})};Vi.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(l(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(l(r)){if(!r.isReady()){t.state=$n.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=$n.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Xi?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=$n.TEXTURE_LOADED};function Eye(e,t,n){return`${e}:${t}:${n}`}Vi.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===qt.LINEAR&&i===bi.LINEAR&&!st.isCompressedFormat(t.pixelFormat)&&W.isPowerOfTwo(t.width)&&W.isPowerOfTwo(t.height)){n=qt.LINEAR_MIPMAP_LINEAR;let r=At.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=Eye(n,i,s),c=e.cache.imageryLayerMipmapSamplers;l(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let d=c[a];l(d)||(d=c[a]=new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(rf.NICEST),t.sampler=d}else{let r=Eye(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;l(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];l(a)||(a=s[r]=new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};Vi.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof Ei)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new wc({persists:!0,owner:this,preExecute:function(c){Llt(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=$n.READY,t.releaseReference()},canceled:function(){t.state=$n.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=$n.READY};Vi.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};Vi.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){l(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};Vi.prototype.getImageryFromCache=function(e,t,n,i){let o=Wye(e,t,n),r=this._imageryCache[o];return l(r)||(r=new dL(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};Vi.prototype.removeImageryFromCache=function(e){this._marsOptions.onRemoveTile&&this._marsOptions.onRemoveTile(e);let t=Wye(e.x,e.y,e.level);delete this._imageryCache[t]};function Wye(e,t,n){return JSON.stringify([e,t,n])}var jD={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new D,texture:void 0},Vlt=Yt.supportsTypedArrays()?new Float32Array(2*64):void 0;function Llt(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!l(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){l(this.framebuffer)&&this.framebuffer.destroy(),l(this.vertexArray)&&this.vertexArray.destroy(),l(this.shaderProgram)&&this.shaderProgram.destroy()}};let _=new Float32Array(2*64*2),C=0;for(let I=0;I<64;++I){let v=I/63;_[C++]=0,_[C++]=v,_[C++]=1,_[C++]=v}let V={position:0,webMercatorT:1},L=rs.getRegularGridIndices(2,64),Z=_t.createIndexBuffer({context:t,typedArray:L,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT});o.vertexArray=new ri({context:t,attributes:[{index:V.position,vertexBuffer:_t.createVertexBuffer({context:t,typedArray:_,usage:Ue.STATIC_DRAW}),componentsPerAttribute:2},{index:V.webMercatorT,vertexBuffer:_t.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:Ue.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:Z});let G=new Oe({sources:[$w]});o.shaderProgram=en.fromCache({context:t,vertexShaderSource:G,fragmentShaderSource:qw,attributeLocations:V}),o.sampler=new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:qt.LINEAR,magnificationFilter:bi.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;jD.textureDimensions.x=r,jD.textureDimensions.y=s,jD.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let u=1/(.5*Math.log((1+a)/(1-a))-c),m=new It({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});W.isPowerOfTwo(r)&&W.isPowerOfTwo(s)&&m.generateMipmap(rf.NICEST);let p=i.south,g=i.north,f=Vlt,x=0;for(let _=0;_<64;++_){let C=_/63,V=W.lerp(p,g,C);a=Math.sin(V);let Z=(.5*Math.log((1+a)/(1-a))-c)*u;f[x++]=Z,f[x++]=Z}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(f),e.shaderProgram=o.shaderProgram,e.outputTexture=m,e.uniformMap=jD,e.vertexArray=o.vertexArray}function Rlt(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof Ei?1:Math.cos(n),a=o.rectangle,d=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,u=Math.log(d)/Math.log(2);return Math.round(u)|0}function Zlt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function Glt(e,t){let n;try{if(n=await Promise.resolve(t),e.isDestroyed())return;e._imageryProvider=n,e._readyEvent.raiseEvent(n)}catch(i){Zlt(e._errorEvent,i)}}var Ka=Vi;var vvi=T(S(),1);var mvi=T(S(),1),Pye={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=Pye.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},Qn=Pye;function hL(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new re}hL.prototype.update=function(e,t,n){this.changedThisFrame&&(kye(e,t,this.tile,n),this.changedThisFrame=!1)};hL.prototype.destroy=function(e){this._destroyVertexArray(e),l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};hL.prototype._destroyVertexArray=function(e){l(this.vertexArray)&&(l(e)?e.push(this.vertexArray):lm._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var Elt=new xg;hL.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=Elt;a.clear();for(let d=0;d<t.length;++d){let u=t[d];l(u.data.vertexArray)&&a.enqueue(t[d])}let c=a.dequeue();for(;c!==void 0;){let d=c.findTileToWest(r),u=c.findTileToSouth(r),m=c.findTileToEast(r),p=c.findTileToNorth(r);Ms(e,n,c,d,s,xn.EAST,!1,a,i),Ms(e,n,c,u,s,xn.NORTH,!1,a,i),Ms(e,n,c,m,s,xn.WEST,!1,a,i),Ms(e,n,c,p,s,xn.SOUTH,!1,a,i);let g=d.findTileToNorth(r),f=d.findTileToSouth(r),x=m.findTileToNorth(r),_=m.findTileToSouth(r);Ms(e,n,c,g,s,xn.SOUTHEAST,!1,a,i),Ms(e,n,c,x,s,xn.SOUTHWEST,!1,a,i),Ms(e,n,c,f,s,xn.NORTHEAST,!1,a,i),Ms(e,n,c,_,s,xn.NORTHWEST,!1,a,i),c=a.dequeue()}};function Ms(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let d=i;for(;d&&(d._lastSelectionResultFrame!==o||Qn.wasKicked(d._lastSelectionResult)||Qn.originalResult(d._lastSelectionResult)===Qn.CULLED);){if(s)return;let u=d.parent;if(r>=xn.NORTHWEST&&u!==void 0)switch(r){case xn.NORTHWEST:d=d===u.northwestChild?u:void 0;break;case xn.NORTHEAST:d=d===u.northeastChild?u:void 0;break;case xn.SOUTHWEST:d=d===u.southwestChild?u:void 0;break;case xn.SOUTHEAST:d=d===u.southeastChild?u:void 0;break}else d=u}if(d!==void 0){if(d._lastSelectionResult===Qn.RENDERED){if(l(d.data.vertexArray))return;Ilt(e,t,n,d,r,o,a,c);return}if(Qn.originalResult(i._lastSelectionResult)!==Qn.CULLED)switch(r){case xn.WEST:Ms(e,t,n,i.northwestChild,o,r,!0,a,c),Ms(e,t,n,i.southwestChild,o,r,!0,a,c);break;case xn.EAST:Ms(e,t,n,i.southeastChild,o,r,!0,a,c),Ms(e,t,n,i.northeastChild,o,r,!0,a,c);break;case xn.SOUTH:Ms(e,t,n,i.southwestChild,o,r,!0,a,c),Ms(e,t,n,i.southeastChild,o,r,!0,a,c);break;case xn.NORTH:Ms(e,t,n,i.northeastChild,o,r,!0,a,c),Ms(e,t,n,i.northwestChild,o,r,!0,a,c);break;case xn.NORTHWEST:Ms(e,t,n,i.northwestChild,o,r,!0,a,c);break;case xn.NORTHEAST:Ms(e,t,n,i.northeastChild,o,r,!0,a,c);break;case xn.SOUTHWEST:Ms(e,t,n,i.southwestChild,o,r,!0,a,c);break;case xn.SOUTHEAST:Ms(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new fe("Invalid edge")}}}function Ilt(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new hL(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),Xlt(e,t,n,i,o,a)}function Xlt(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;l(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(kye(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let d,u;switch(o){case xn.WEST:d=s.westMeshes,u=s.westTiles;break;case xn.SOUTH:d=s.southMeshes,u=s.southTiles;break;case xn.EAST:d=s.eastMeshes,u=s.eastTiles;break;case xn.NORTH:d=s.northMeshes,u=s.northTiles;break;case xn.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case xn.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case xn.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case xn.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||d[0]!==a||d.length!==1,d[0]=a,u[0]=n,d.length=1,u.length=1;return}let m,p,g,f,x=n.rectangle,_,C=i.rectangle;switch(o){case xn.WEST:for(_=(C.north-C.south)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.greaterThan(x.north,f.south,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.greaterThanOrEquals(x.south,f.north,_));++p);break;case xn.SOUTH:for(_=(C.east-C.west)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.lessThan(x.west,f.east,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.lessThanOrEquals(x.east,f.west,_));++p);break;case xn.EAST:for(_=(C.north-C.south)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.lessThan(x.south,f.north,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.lessThanOrEquals(x.north,f.south,_));++p);break;case xn.NORTH:for(_=(C.east-C.west)*W.EPSILON5,m=0;m<u.length&&(g=u[m],f=g.rectangle,!W.greaterThan(x.east,f.west,_));++m);for(p=m;p<u.length&&(g=u[p],f=g.rectangle,!W.greaterThanOrEquals(x.west,f.east,_));++p);break}p-m===1?(s.changedThisFrame=s.changedThisFrame||d[m]!==a,d[m]=a,u[m]=n):(s.changedThisFrame=!0,d.splice(m,p-m,a),u.splice(m,p-m,n))}var qT=new he,Wlt=new he,mL=new h,a8=new h,o8=new D,r8=new D,nu=new D;function oB(){this.height=0,this.encodedNormal=new D}function qD(e,t,n,i,o,r,s,a,c){if(l(o))return o;let d;if(l(r)&&l(s))d=(r.height+s.height)*.5;else if(l(r))d=r.height;else if(l(s))d=s.height;else if(l(a))d=a.height;else{let m=e.tile.data.tileBoundingRegion,p=0,g=0;l(m)&&(p=m.minimumHeight,g=m.maximumHeight),d=(p+g)*.5}return Uye(e,t,n,i,d,c),c}var Plt={minimumHeight:0,maximumHeight:0},vlt=new h,vye=new oB,wye=new oB,Fye=new oB,Aye=new oB,wlt=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,Flt={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function kye(e,t,n,i){lm.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.verticalExaggeration,c=t.verticalExaggerationRelativeHeight,d=a!==1,u=n.tilingScheme.ellipsoid,m=eB(r,u,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,Fye),p=eB(r,u,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,vye),g=eB(r,u,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,wye),f=eB(r,u,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,Aye);m=qD(r,u,0,1,m,p,f,g,Fye),p=qD(r,u,0,0,p,m,g,f,vye),g=qD(r,u,1,1,g,p,f,m,wye),f=qD(r,u,1,1,f,g,m,p,Aye);let x=p.height,_=g.height,C=m.height,V=f.height,L=Math.min(x,_,C,V),Z=Math.max(x,_,C,V),G=(L+Z)*.5,I,v,P=e.getLevelMaximumGeometricError(n.level),w=u.maximumRadius-P,A=Math.acos(w/u.maximumRadius)*4;if(A*=1.5,s.width>A&&Z-L<=P){let E=new Ya({width:9,height:9,buffer:wlt,structure:{heightOffset:Z}}),X=Flt;X.tilingScheme=n.tilingScheme,X.x=n.x,X.y=n.y,X.level=n.level,X.exaggeration=a,X.exaggerationRelativeHeight=c,r.mesh=E._createMeshSync(X)}else{let E=d,X=le.center(s,Wlt);X.height=G;let F=u.cartographicToCartesian(X,vlt),N=new Rc(F,void 0,void 0,void 0,void 0,!0,!0,E,a,c),O=5,U;for(U=r.westMeshes,I=0,v=U.length;I<v;++I)O+=U[I].eastIndicesNorthToSouth.length;for(U=r.southMeshes,I=0,v=U.length;I<v;++I)O+=U[I].northIndicesWestToEast.length;for(U=r.eastMeshes,I=0,v=U.length;I<v;++I)O+=U[I].westIndicesSouthToNorth.length;for(U=r.northMeshes,I=0,v=U.length;I<v;++I)O+=U[I].southIndicesEastToWest.length;let Y=Plt;Y.minimumHeight=L,Y.maximumHeight=Z;let k=N.stride,H=new Float32Array(O*k),J=0,te=J;J=$D(u,s,N,H,J,0,1,m.height,m.encodedNormal,1,Y),J=nB(r,u,N,H,J,r.westTiles,r.westMeshes,xn.EAST,Y);let z=J;J=$D(u,s,N,H,J,0,0,p.height,p.encodedNormal,0,Y),J=nB(r,u,N,H,J,r.southTiles,r.southMeshes,xn.NORTH,Y);let q=J;J=$D(u,s,N,H,J,1,0,g.height,g.encodedNormal,0,Y),J=nB(r,u,N,H,J,r.eastTiles,r.eastMeshes,xn.WEST,Y);let ee=J;J=$D(u,s,N,H,J,1,1,f.height,f.encodedNormal,1,Y),J=nB(r,u,N,H,J,r.northTiles,r.northMeshes,xn.SOUTH,Y),L=Y.minimumHeight,Z=Y.maximumHeight;let pe=In.fromRectangle(s,L,Z,n.tilingScheme.ellipsoid),_e=Xi.geodeticLatitudeToMercatorAngle(s.south),ae=1/(Xi.geodeticLatitudeToMercatorAngle(s.north)-_e),ye=(Xi.geodeticLatitudeToMercatorAngle(X.latitude)-_e)*ae,Te=u.geodeticSurfaceNormalCartographic(qT,a8),Xe=An.octEncode(Te,o8),Ie=J;N.encode(H,J*k,pe.center,D.fromElements(.5,.5,nu),G,Xe,ye,Te),++J;let Ae=J,Ve=Ae<256?1:2,Ne=(Ae-1)*3,De=Ne*Ve,$e=(H.length-Ae*k)*Float32Array.BYTES_PER_ELEMENT,Ke;if($e>=De){let Re=Ae*k*Float32Array.BYTES_PER_ELEMENT;Ke=Ae<256?new Uint8Array(H.buffer,Re,Ne):new Uint16Array(H.buffer,Re,Ne)}else Ke=Ae<256?new Uint8Array(Ne):new Uint16Array(Ne);H=new Float32Array(H.buffer,0,Ae*k);let gt=0;for(I=0;I<Ae-2;++I)Ke[gt++]=Ie,Ke[gt++]=I,Ke[gt++]=I+1;Ke[gt++]=Ie,Ke[gt++]=I,Ke[gt++]=0;let pt=[];for(I=z;I>=te;--I)pt.push(I);let St=[];for(I=q;I>=z;--I)St.push(I);let on=[];for(I=ee;I>=q;--I)on.push(I);let Ce=[];for(Ce.push(0),I=Ie-1;I>=ee;--I)Ce.push(I);r.mesh=new am(N.center,H,Ke,Ne,Ae,L,Z,de.fromOrientedBoundingBox(pe),Blt(e,pe.center,s,L,Z),N.stride,pe,N,pt,St,on,Ce)}let b=t.context;r._destroyVertexArray(i),r.vertexArray=lm._createVertexArrayForMesh(b,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let R=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let E=o._findAncestorTileWithTerrainData(n);l(E)&&l(E.data.waterMaskTexture)&&(r.waterMaskTexture=E.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,E,r.waterMaskTranslationAndScale))}l(R)&&(--R.referenceCount,R.referenceCount===0&&R.destroy())}function $D(e,t,n,i,o,r,s,a,c,d,u){let m=qT;m.longitude=W.lerp(t.west,t.east,r),m.latitude=W.lerp(t.south,t.north,s),m.height=a;let p=e.cartographicToCartesian(m,mL),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,a8));let f=r8;return f.x=r,f.y=s,n.encode(i,o*n.stride,p,f,a,c,d,g),u.minimumHeight=Math.min(u.minimumHeight,a),u.maximumHeight=Math.max(u.maximumHeight,a),o+1}var iB=new le;function TF(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=le.clone(e.rectangle,iB),o.west-=W.TWO_PI,o.east-=W.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=le.clone(e.rectangle,iB),o.west+=W.TWO_PI,o.east+=W.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,d=o.north-o.south,u=(r.south-o.south)/d,m=(r.north-o.south)/d,p=(n.x-a)/(c-a),g=(n.y-u)/(m-u);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var Alt=new D;function s8(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var Mlt=new D,Nlt=new h;function klt(e,t,n,i,o,r,s,a,c,d){let u=i.encoding,m=i.vertices,p=TF(t,n,u.decodeTextureCoordinates(m,o,nu),nu),g=TF(t,n,u.decodeTextureCoordinates(m,r,r8),r8),f;c?f=(s-p.x)/(g.x-p.x):f=(a-p.y)/(g.y-p.y);let x=u.decodeHeight(m,o),_=u.decodeHeight(m,r),C=n.rectangle;qT.longitude=W.lerp(C.west,C.east,s),qT.latitude=W.lerp(C.south,C.north,a),d.height=qT.height=W.lerp(x,_,f);let V;if(u.hasVertexNormals){let L=u.getOctEncodedNormal(m,o,Alt),Z=u.getOctEncodedNormal(m,r,Mlt),G=An.octDecode(L.x,L.y,mL),I=An.octDecode(Z.x,Z.y,Nlt);V=h.lerp(G,I,f,mL),h.normalize(V,V),An.octEncode(V,d.encodedNormal)}else V=e.geodeticSurfaceNormalCartographic(qT,mL),An.octEncode(V,d.encodedNormal)}function Uye(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic(qT,mL);An.octEncode(s,r.encodedNormal)}function eB(e,t,n,i,o,r,s,a,c,d,u){if(Nye(e,t,a,s,!1,n,i,u)||Nye(e,t,d,c,!0,n,i,u))return u;let p;if(c8(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],s8(r,p,n,i,u),u;let g;if(n===0?i===0?g=tB(e.westMeshes,e.westTiles,xn.EAST,e.southMeshes,e.southTiles,xn.NORTH,n,i):g=tB(e.northMeshes,e.northTiles,xn.SOUTH,e.westMeshes,e.westTiles,xn.EAST,n,i):i===0?g=tB(e.southMeshes,e.southTiles,xn.NORTH,e.eastMeshes,e.eastTiles,xn.WEST,n,i):g=tB(e.eastMeshes,e.eastTiles,xn.WEST,e.northMeshes,e.northTiles,xn.SOUTH,n,i),l(g))return Uye(e,t,n,i,g,u),u}function tB(e,t,n,i,o,r,s,a){let c=Mye(e,t,!1,n,s,a),d=Mye(i,o,!0,r,s,a);return l(c)&&l(d)?(c+d)*.5:l(c)?c:d}function nB(e,t,n,i,o,r,s,a,c){for(let d=0;d<r.length;++d)o=Ult(e,t,n,i,o,r[d],s[d],a,c);return o}function Ult(e,t,n,i,o,r,s,a,c){let d=r.rectangle;a===xn.EAST&&e.tile.x===0?(d=le.clone(r.rectangle,iB),d.west-=W.TWO_PI,d.east-=W.TWO_PI):a===xn.WEST&&r.x===0&&(d=le.clone(r.rectangle,iB),d.west+=W.TWO_PI,d.east+=W.TWO_PI);let u=e.tile.rectangle,m,p;o>0&&(n.decodeTextureCoordinates(i,o-1,nu),m=nu.x,p=nu.y);let g,f;switch(a){case xn.WEST:g=s.westIndicesSouthToNorth,f=!1;break;case xn.NORTH:g=s.northIndicesWestToEast,f=!0;break;case xn.EAST:g=s.eastIndicesNorthToSouth,f=!1;break;case xn.SOUTH:g=s.southIndicesEastToWest,f=!0;break}let x=r,_=e.tile,C=s.encoding,V=s.vertices,L=n.stride,Z,G;C.hasWebMercatorT&&(Z=Xi.geodeticLatitudeToMercatorAngle(u.south),G=1/(Xi.geodeticLatitudeToMercatorAngle(u.north)-Z));for(let I=0;I<g.length;++I){let v=g[I],P=C.decodeTextureCoordinates(V,v,nu);TF(x,_,P,P);let w=P.x,A=P.y,b=f?w:A;if(b<0||b>1||Math.abs(w-m)<W.EPSILON5&&Math.abs(A-p)<W.EPSILON5)continue;let R=Math.abs(w)<W.EPSILON5||Math.abs(w-1)<W.EPSILON5,E=Math.abs(A)<W.EPSILON5||Math.abs(A-1)<W.EPSILON5;if(R&&E)continue;let X=C.decodePosition(V,v,mL),F=C.decodeHeight(V,v),N;C.hasVertexNormals?N=C.getOctEncodedNormal(V,v,o8):(N=o8,N.x=0,N.y=0);let O=A;if(C.hasWebMercatorT){let Y=W.lerp(u.south,u.north,A);O=(Xi.geodeticLatitudeToMercatorAngle(Y)-Z)*G}let U;n.hasGeodeticSurfaceNormals&&(U=t.geodeticSurfaceNormal(X,a8)),n.encode(i,o*L,X,P,F,N,O,U),c.minimumHeight=Math.min(c.minimumHeight,F),c.maximumHeight=Math.max(c.maximumHeight,F),++o}return o}function Mye(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let d=s;d!==a;d+=c){let u=e[d],m=t[d];if(!c8(m,u))continue;let p;switch(i){case xn.WEST:p=u.westIndicesSouthToNorth;break;case xn.SOUTH:p=u.southIndicesEastToWest;break;case xn.EAST:p=u.eastIndicesNorthToSouth;break;case xn.NORTH:p=u.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(l(g))return u.encoding.decodeHeight(u.vertices,g)}}function c8(e,t){return l(t)&&(!l(e.data.fill)||!e.data.fill.changedThisFrame)}function Nye(e,t,n,i,o,r,s,a){let c,d,u,m,p,g=i[o?0:n.length-1],f=n[o?0:n.length-1];if(c8(g,f)&&(r===0?s===0?(c=o?f.northIndicesWestToEast:f.eastIndicesNorthToSouth,d=o,u=o):(c=o?f.eastIndicesNorthToSouth:f.southIndicesEastToWest,d=!o,u=!1):s===0?(c=o?f.westIndicesSouthToNorth:f.northIndicesWestToEast,d=!o,u=!0):(c=o?f.southIndicesEastToWest:f.westIndicesSouthToNorth,d=o,u=!o),c.length>0)){m=o?0:c.length-1,p=c[m],f.encoding.decodeTextureCoordinates(f.vertices,p,nu);let x=TF(g,e.tile,nu,nu);if(x.x===r&&x.y===s)return s8(f,p,r,s,a),!0;if(m=Io(c,d?r:s,function(_,C){f.encoding.decodeTextureCoordinates(f.vertices,_,nu);let V=TF(g,e.tile,nu,nu);return u?d?V.x-r:V.y-s:d?r-V.x:s-V.y}),m<0){if(m=~m,m>0&&m<c.length)return klt(t,g,e.tile,f,c[m-1],c[m],r,s,d,a),!0}else return s8(f,c[m],r,s,a),!0}return!1}var Dlt=[new h,new h,new h,new h];function Blt(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=Dlt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var fL=hL;function sr(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.showWaterEffect=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=Tn.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new be,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(sr.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(sr.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(sr.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(sr.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new be,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new B(0,0,.5,1),this._clippingPlanes=void 0,this._clippingPolygons=void 0,this.cartographicLimitRectangle=le.clone(le.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldVerticalExaggeration=void 0,this._oldVerticalExaggerationRelativeHeight=void 0,this._initByMars3D&&this._initByMars3D(e)}Object.defineProperties(sr.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=re.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},tilingScheme:{get:function(){if(l(this._terrainProvider))return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,l(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){bs.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){Hm.setOwner(e,this,"_clippingPolygons")}}});function Olt(e,t){let n=e.loadingImagery;l(n)||(n=e.readyImagery);let i=t.loadingImagery;return l(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}sr.prototype.update=function(e){this._imageryLayers._update()};function Ylt(e,t){let n=t.creditDisplay,i=e._terrainProvider;l(i)&&l(i.credit)&&n.addCreditToNextFrame(i.credit);let o=e._imageryLayers;for(let r=0,s=o.length;r<s;++r){let a=o.get(r);a.ready&&a.show&&l(a.imageryProvider.credit)&&n.addCreditToNextFrame(a.imageryProvider.credit)}}sr.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(Olt)})),Ylt(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)lm._freeVertexArray(t[i]);t.length=0};sr.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let o=0,r=t.length;o<r;++o){let s=t[o];l(s)&&(s.length=0)}let n=this._clippingPlanes;l(n)&&n.enabled&&n.update(e);let i=this._clippingPolygons;l(i)&&i.enabled&&(i.update(e),i.queueCommands(e)),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};sr.prototype.endUpdate=function(e){if(!l(this._renderState)){this._renderState=Be.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:cc.LESS}}),this._blendRenderState=Be.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:cc.LESS_OR_EQUAL},blending:hn.ALPHA_BLEND});let s=He(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=Be.fromCache(s),s=He(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=Be.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&fL.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.verticalExaggeration,i=e.verticalExaggerationRelativeHeight,o=this._oldVerticalExaggeration!==n||this._oldVerticalExaggerationRelativeHeight!==i;this._oldVerticalExaggeration=n,this._oldVerticalExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(l(c))for(let d=0,u=c.length;d<u;++d){let m=c[d],p=m.data.tileBoundingRegion;Hye(this,m,e,!1);let g=this.marsOptions?.uplift;if(g&&g.enabled&&g.height!==0&&g.rectangles){for(let f=0;f<g.rectangles.length;f++)if(le.intersection(p.rectangle,g.rectangles[f])){Hye(this,m,e,!0);break}}e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function zye(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}sr.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)zye(t[n],e)};sr.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};sr.prototype.getLevelMaximumGeometricError=function(e){return l(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(e):0};sr.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;l(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===Qn.CULLED_BUT_NEEDED,o=n.terrainState),lm.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==pr.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,lm.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var Hlt=new de,Kye=new le,zlt=new le,Klt=new he;function sB(e,t){if(t.west<t.east)return t;let n=le.clone(t,zlt);return le.center(e,Klt).longitude>0?n.east=W.PI:n.west=-W.PI,n}function Jye(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;if(l(n)&&n.enabled)return!0;let i=e._clippingPolygons;return!!(l(i)&&i.enabled||!le.equals(e.cartographicLimitRectangle,le.MAX_VALUE))}sr.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=Jye(this,t);if(t.fog.enabled&&!o&&W.fog(i,t.fog.density)>=1)return pr.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return pr.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;l(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let d=sB(e.rectangle,this.cartographicLimitRectangle),u=le.simpleIntersection(d,e.rectangle,Kye);if(!l(u))return pr.NONE;if(le.equals(u,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==oe.SCENE3D&&(c=Hlt,de.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===oe.MORPHING&&l(r.renderedMesh)&&(c=de.union(s.boundingSphere,c,c))),!l(c))return pr.PARTIAL;let m=this._clippingPlanes;if(l(m)&&m.enabled){let _=m.computeIntersectionWithBoundingVolume(c);if(e.isClipped=_!==zt.INSIDE,_===zt.OUTSIDE)return pr.NONE}let p=this._clippingPolygons;if(l(p)&&p.enabled){let _=p.computeIntersectionWithBoundingVolume(s);e.isClipped=_!==zt.OUTSIDE}let g,f=a.computeVisibility(c);if(f===zt.OUTSIDE?g=pr.NONE:f===zt.INTERSECTING?g=pr.PARTIAL:f===zt.INSIDE&&(g=pr.FULL),g===pr.NONE)return g;let x=t.mode===oe.SCENE3D&&t.camera.frustum instanceof ln;if(t.mode===oe.SCENE3D&&!x&&l(n)&&!o){let _=r.occludeePointInScaledSpace;return!l(_)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(_,s.minimumHeight)?g:pr.NONE}return g};sr.prototype.canRefine=function(e){return l(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var Jlt=[],Qlt=[];sr.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=Jlt;i.length=this._imageryLayers.length;let o=!1,r=!1,s;l(n)&&(o=n.terrainState===fo.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(l(s))for(a=0,c=s.length;a<c;++a){let m=s[a],p=m.loadingImagery,g=!l(p)||p.state===$n.FAILED||p.state===$n.INVALID,f=(m.loadingImagery||m.readyImagery).imageryLayer._layerIndex;i[f]=g&&i[f]}let d=this.quadtree._lastSelectionFrameNumber,u=Qlt;for(u.length=0,u.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);u.length>0;){let m=u.pop(),p=m._lastSelectionResultFrame===d?m._lastSelectionResult:Qn.NONE;if(p===Qn.RENDERED){let g=m.data;if(!l(g))continue;if(!o&&m.data.terrainState===fo.READY)return!1;let f=m.data.imagery;for(a=0,c=f.length;a<c;++a){let x=f[a],_=x.loadingImagery,C=!l(_)||_.state===$n.FAILED||_.state===$n.INVALID,V=(x.loadingImagery||x.readyImagery).imageryLayer._layerIndex;if(C&&!i[V])return!1}}else p===Qn.REFINED&&u.push(m.southwestChild,m.southeastChild,m.northwestChild,m.northeastChild)}return!0};var jlt=new h;sr.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,jlt),a=h.magnitude(s);return a<W.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var Dye=new M,rB=new M,qlt=new re,$lt=new re,edt=new re,tdt=new h,Bye=new h,ndt=new h,idt=new h;sr.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let d=i[a];l(d.readyImagery)&&d.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];l(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;l(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var odt=[new h,new h,new h,new h];function Oye(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=odt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}sr.prototype.computeDistanceToTile=function(e,t){rdt(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,d=Math.abs(c-r),u=Math.abs(c-s);d>u?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function rdt(e,t,n){let i=e.data;i===void 0&&(i=e.data=new lm);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new Bu({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,d=e,u=0,m=t.marsOptions?.flat;if(m&&m.enabled&&m.rectangles){for(let _=0;_<m.rectangles.length;_++)if(le.intersection(e.rectangle,m.rectangles[_])){u=m.rectangles[_]._flatHeight??m.heights[_];break}}let p=t.marsOptions?.uplift,g=0;if(p&&p.enabled&&p.height!==0&&p.rectangles){for(let _=0;_<p.rectangles.length;_++)if(le.intersection(r.rectangle,p.rectangles[_])){g=p.height;break}}let f=i.mesh,x=i.terrainData;if(f!==void 0&&f.minimumHeight!==void 0&&f.maximumHeight!==void 0)r.minimumHeight=f.minimumHeight,r.maximumHeight=f.maximumHeight,c=!0;else if(x!==void 0&&x._minimumHeight!==void 0&&x._maximumHeight!==void 0)r.minimumHeight=x._minimumHeight,r.maximumHeight=x._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let _=e.parent;for(;_!==void 0;){let C=_.data;if(C!==void 0){let V=C.mesh,L=C.terrainData;if(V!==void 0&&V.minimumHeight!==void 0&&V.maximumHeight!==void 0){r.minimumHeight=V.minimumHeight,r.maximumHeight=V.maximumHeight;break}else if(L!==void 0&&L._minimumHeight!==void 0&&L._maximumHeight!==void 0){r.minimumHeight=L._minimumHeight,r.maximumHeight=L._maximumHeight;break}}_=_.parent}d=_}if(r.maximumHeight+=g,r.minimumHeight-=u,d!==void 0){let _=n.verticalExaggeration,C=n.verticalExaggerationRelativeHeight;if((_!==1||u!==0)&&(c=!1,r.minimumHeight=Cr.getHeight(r.minimumHeight,_,C),r.maximumHeight=Cr.getHeight(r.maximumHeight,_,C)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=In.clone(f.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=de.clone(f.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(f.occludeePointInScaledSpace,i.occludeePointInScaledSpace),l(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=Oye(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let L=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||L)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=Oye(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=d,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}sr.prototype.isDestroyed=function(){return!1};sr.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),me(this)};function sdt(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,d;for(d=0;d<c;++d)if(o=a[d],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=d;break}if(s!==-1){let u=s+e;if(o=a[u],r=l(o)?y(o.readyImagery,o.loadingImagery):void 0,!l(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,u);for(d=s;d<u;++d)a[d].freeResources();a.splice(s,e)}return!0}}sr.prototype._onLayerAdded=function(e,t){if(!this.isDestroyed()&&e.show){let n=this._terrainProvider,i=this,o=this._imageryLayersUpdatedEvent,r=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(l(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,d=c.length,u=-1,m=0;for(a=0;a<d;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)u===-1&&(u=a),++m;else if(u!==-1)break}if(u===-1)return;let p=u+m;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=sdt(m,e,n),s.state=ia.LOADING)})};if(e.ready){let s=e.imageryProvider;s._reload=r}this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=ia.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==Qn.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,o.raiseEvent()}};sr.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],d=c.loadingImagery;if(l(d)||(d=c.readyImagery),d.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),l(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};sr.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};sr.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var adt=new M,cdt=new M;function Yye(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_verticalExaggerationAndRelativeHeight:function(){return this.properties.verticalExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=M.multiplyByPoint(i,this.properties.rtc,Bye);return M.setTranslation(i,o,Dye),Dye},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=M.multiplyByPoint(i,this.properties.rtc,Bye);return M.setTranslation(i,r,rB),M.multiply(o,rB,rB),rB},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return l(i)&&l(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=l(i)?M.multiply(e.context.uniformState.view,i.modelMatrix,adt):M.IDENTITY;return M.inverseTranspose(o,cdt)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_clippingDistance:function(){let i=t._clippingPolygons.clippingTexture;return l(i)?i:e.context.defaultTexture},u_clippingExtents:function(){let i=t._clippingPolygons.extentsTexture;return l(i)?i:e.context.defaultTexture},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},u_mars3dTextureInvertColor:function(){return this.properties.mars3dTextureInvertColor},u_mars3dTextureFilterColor:function(){return this.properties.mars3dTextureFilterColor},u_mars_inverseTileWidth:function(){return this.properties.mars_inverseTileWidth},u_mars_cartographicTileRectangle:function(){return this.properties.mars_cartographicTileRectangle},u_mars_flat_enabled:function(){return this.properties.mars_flat_enabled},u_mars_flat_rectangle:function(){return this.properties.mars_flat_rectangle},u_mars_flat_texture:function(){return l(this.properties.mars_flat_texture)?this.properties.mars_flat_texture:e.context.defaultTexture},u_mars_uplift_enabled:function(){return this.properties.mars_uplift_enabled},u_mars_uplift_hideInsideOrOutside:function(){return this.properties.mars_uplift_hideInsideOrOutside},u_mars_uplift_rectangle:function(){return this.properties.mars_uplift_rectangle},u_mars_uplift_texture:function(){return l(this.properties.mars_uplift_texture)?this.properties.mars_uplift_texture:e.context.defaultTexture},u_mars_clip_enabled:function(){return this.properties.mars_clip_enabled},u_mars_clip_rectangle:function(){return this.properties.mars_clip_rectangle},u_mars_clip_texture:function(){return l(this.properties.mars_clip_texture)?this.properties.mars_clip_texture:e.context.defaultTexture},u_mars_clip_only:function(){return this.properties.mars_clip_only},u_mars_flood_enabled:function(){return this.properties.mars_flood_enabled},u_mars_flood_rectangle:function(){return this.properties.mars_flood_rectangle},u_mars_flood_texture:function(){return l(this.properties.mars_flood_texture)?this.properties.mars_flood_texture:e.context.defaultTexture},u_mars_flood_only:function(){return this.properties.mars_flood_only},properties:{initialColor:new re(0,0,.5,1),fillHighlightColor:new B(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new D(65e5,9e6),nightFadeDistance:new D(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new M,tileRectangle:new re,verticalExaggerationAndRelativeHeight:new D(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new D,southMercatorYAndOneOverHeight:new D,waterMask:void 0,waterMaskTranslationAndScale:new re,minMaxHeight:new D,scaleAndBias:new M,clippingPlanesEdgeColor:B.clone(B.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new re,frontFaceAlphaByDistance:new re,backFaceAlphaByDistance:new re,localizedTranslucencyRectangle:new re,undergroundColor:B.clone(B.TRANSPARENT),undergroundColorAlphaByDistance:new re,lambertDiffuseMultiplier:0,vertexShadowDarkness:0,mars3dTextureInvertColor:[],mars3dTextureFilterColor:[],mars_inverseTileWidth:0,mars_cartographicTileRectangle:void 0,mars_flat_enabled:!1,mars_flat_rectangle:new re,mars_flat_texture:void 0,mars_uplift_enabled:!1,mars_uplift_hideInsideOrOutside:!1,mars_uplift_rectangle:new re,mars_uplift_texture:void 0,mars_clip_enabled:!1,mars_clip_rectangle:new re,mars_clip_texture:void 0,mars_clip_only:!1,mars_flood_enabled:!1,mars_flood_rectangle:new re,mars_flood_texture:void 0,mars_flood_only:!1}};return l(t.materialUniformMap)?Vt(n,t.materialUniformMap):n}function ldt(e,t,n){let i=n.data,o,r;if(l(i.vertexArray)?(o=i.mesh,r=i.vertexArray):l(i.fill)&&l(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!l(o)||!l(r))){if(l(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=ddt(e,r,o),i.wireframeVertexArray.mesh=o}}function ddt(e,t,n){let o={indices:n.indices,primitiveType:Me.TRIANGLES};Mn.toWireframe(o);let r=o.indices,s=_t.createIndexBuffer({context:e,typedArray:r,usage:Ue.STATIC_DRAW,indexDatatype:ke.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new ri({context:e,attributes:t._attributes,indexBuffer:s})}var Qye,jye,aB;(function(){let e=new Et({geometry:Xm.fromDimensions({dimensions:new h(2,2,2)})}),t=new Et({geometry:new Eb({radius:1})}),n=new M,i,o;function r(s){return new Wn({geometryInstances:s,appearance:new mn({translucent:!1,flat:!0}),asynchronous:!1})}Qye=function(s,a){return s===i||(aB(),i=s,n=M.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=Ht.fromColor(a),o=r(e)),o},jye=function(s,a){return s===i||(aB(),i=s,n=M.fromTranslation(s.center,n),n=M.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=Ht.fromColor(a),o=r(t)),o},aB=function(){l(o)&&(o.destroy(),o=void 0,i=void 0)}})();var udt=new re(0,0,0,0),mdt={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,enableClippingPolygons:void 0,clippingPolygons:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},hdt=B.TRANSPARENT,fdt=new kt;function Hye(e,t,n,i){let o=t.data;l(o.vertexArray)||(o.fill===void 0&&(o.fill=new fL(t)),o.fill.update(e,n));let r=n.creditDisplay,s=o.terrainData;if(l(s)&&l(s.credits)){let rn=s.credits;for(let jt=0,ji=rn.length;jt<ji;++jt)r.addCreditToNextFrame(rn[jt])}let a=At.maximumTextureImageUnits,c=o.waterMaskTexture,d=o.waterMaskTranslationAndScale;!l(c)&&l(o.fill)&&(c=o.fill.waterMaskTexture,d=o.fill.waterMaskTranslationAndScale);let u=n.cameraUnderground,m=n.globeTranslucencyState,p=m.translucent,g=m.frontFaceAlphaByDistance,f=m.backFaceAlphaByDistance,x=m.rectangle,_=y(e.undergroundColor,hdt),C=y(e.undergroundColorAlphaByDistance,fdt),V=Jye(e,n)&&n.mode===oe.SCENE3D&&_.alpha>0&&(C.nearValue>0||C.farValue>0),L=e.lambertDiffuseMultiplier,Z=e.vertexShadowDarkness,G=e.hasWaterMask&&l(c),I=G&&e.showWaterEffect,v=e.oceanNormalMap,P=I&&l(v),w=e.terrainProvider,A=l(w)&&e.terrainProvider.hasVertexNormals,b=n.fog.enabled&&n.fog.renderable&&!u,R=e.showGroundAtmosphere&&n.mode===oe.SCENE3D,E=Tn.castShadows(e.shadows)&&!p,X=Tn.receiveShadows(e.shadows)&&!p,F=e.hueShift,N=e.saturationShift,O=e.brightnessShift,U=!(W.equalsEpsilon(F,0,W.EPSILON7)&&W.equalsEpsilon(N,0,W.EPSILON7)&&W.equalsEpsilon(O,0,W.EPSILON7)),Y=!1;if(R){let rn=h.magnitude(n.camera.positionWC),jt=e.nightFadeOutDistance;Y=rn>jt}G&&--a,P&&--a,l(n.shadowState)&&n.shadowState.shadowsEnabled&&--a,l(e.clippingPlanes)&&e.clippingPlanes.enabled&&--a,l(e.clippingPolygons)&&e.clippingPolygons.enabled&&(--a,--a),a-=m.numberOfTextureUniforms;let k=o.renderedMesh,H=k.center,J=k.encoding,te=o.tileBoundingRegion,z=n.verticalExaggeration,q=n.verticalExaggerationRelativeHeight,ee=e.marsOptions?.uplift;i&&ee&&(q=n.verticalExaggerationRelativeHeight-ee.height/(z-1)),e.marsOptions?.uplift?.enabled&&--a,e.marsOptions?.clip?.enabled&&--a,e.marsOptions?.flat?.enabled&&--a,e.marsOptions?.flood?.enabled&&--a;let pe=z!==1,_e=J.hasGeodeticSurfaceNormals,ae=qlt,ye=0,Te=0,Xe=0,Ie=0,Ae=!1;if(n.mode!==oe.SCENE3D){let rn=n.mapProjection,jt=rn.project(le.southwest(t.rectangle),ndt),ji=rn.project(le.northeast(t.rectangle),idt);if(ae.x=jt.x,ae.y=jt.y,ae.z=ji.x,ae.w=ji.y,n.mode!==oe.MORPHING&&(H=tdt,H.x=0,H.y=(ae.z+ae.x)*.5,H.z=(ae.w+ae.y)*.5,ae.x-=H.y,ae.y-=H.z,ae.z-=H.y,ae.w-=H.z),n.mode===oe.SCENE2D&&J.quantization===ta.BITS12){let je=1/(Math.pow(2,12)-1)*.5,ds=(ae.z-ae.x)*je,Kr=(ae.w-ae.y)*je;ae.x-=ds,ae.y-=Kr,ae.z+=ds,ae.w+=Kr}rn instanceof Xi&&(ye=t.rectangle.south,Te=t.rectangle.north,Xe=Xi.geodeticLatitudeToMercatorAngle(ye),Ie=1/(Xi.geodeticLatitudeToMercatorAngle(Te)-Xe),Ae=!0)}let Ve=mdt;Ve.frameState=n,Ve.surfaceTile=o,Ve.hasWaterMask=G,Ve.showReflectiveOcean=I,Ve.showOceanWaves=P,Ve.enableLighting=e.enableLighting,Ve.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,Ve.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,Ve.showGroundAtmosphere=R,Ve.atmosphereLightIntensity=e.atmosphereLightIntensity,Ve.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Ve.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Ve.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Ve.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Ve.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Ve.perFragmentGroundAtmosphere=Y,Ve.hasVertexNormals=A,Ve.useWebMercatorProjection=Ae,Ve.clippedByBoundaries=o.clippedByBoundaries,Ve.hasGeodeticSurfaceNormals=_e,Ve.hasExaggeration=pe;let Ne=o.imagery,De=0,$e=Ne.length,Ke=e.showSkirts&&!u&&!p,gt=e.backFaceCulling&&!u&&!p,pt=gt?e._renderState:e._disableCullingRenderState,St=gt?e._blendRenderState:e._disableCullingBlendRenderState,on=pt,Ce=e._firstPassInitialColor,Re=n.context;if(l(e._debug.boundingSphereTile)||aB(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let rn=e._drawCommands.length;for(let jt=0;jt<rn;++jt)e._uniformMaps[jt]=Yye(n,e)}do{let rn=0,jt,ji;if(e._drawCommands.length<=e._usedDrawCommands?(jt=new tt,jt.owner=t,jt.cull=!1,jt.boundingVolume=new de,jt.orientedBoundingBox=void 0,ji=Yye(n,e),e._drawCommands.push(jt),e._uniformMaps.push(ji)):(jt=e._drawCommands[e._usedDrawCommands],ji=e._uniformMaps[e._usedDrawCommands]),jt.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let Qr=te.boundingVolume,Ea=te.boundingSphere;l(Qr)?Qye(Qr,B.RED).update(n):l(Ea)&&jye(Ea,B.RED).update(n)}let je=ji.properties;re.clone(Ce,je.initialColor),je.oceanNormalMap=v,je.lightingFadeDistance.x=e.lightingFadeOutDistance,je.lightingFadeDistance.y=e.lightingFadeInDistance,je.nightFadeDistance.x=e.nightFadeOutDistance,je.nightFadeDistance.y=e.nightFadeInDistance,je.atmosphereLightIntensity=e.atmosphereLightIntensity,je.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,je.atmosphereMieCoefficient=e.atmosphereMieCoefficient,je.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,je.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,je.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,je.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let ds=u?f:g,Kr=u?g:f;l(ds)&&(re.fromElements(ds.near,ds.nearValue,ds.far,ds.farValue,je.frontFaceAlphaByDistance),re.fromElements(Kr.near,Kr.nearValue,Kr.far,Kr.farValue,je.backFaceAlphaByDistance)),re.fromElements(C.near,C.nearValue,C.far,C.farValue,je.undergroundColorAlphaByDistance),B.clone(_,je.undergroundColor),je.lambertDiffuseMultiplier=L,je.vertexShadowDarkness=Z;let Ga=!l(o.vertexArray)&&l(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;Ga&&B.clone(e.fillHighlightColor,je.fillHighlightColor),je.verticalExaggerationAndRelativeHeight.x=z,je.verticalExaggerationAndRelativeHeight.y=q,je.center3D=k.center,h.clone(H,je.rtc),re.clone(ae,je.tileRectangle),je.southAndNorthLatitude.x=ye,je.southAndNorthLatitude.y=Te,je.southMercatorYAndOneOverHeight.x=Xe,je.southMercatorYAndOneOverHeight.y=Ie;let we=$lt,lt=sB(t.rectangle,e.cartographicLimitRectangle),nt=edt,et=sB(t.rectangle,x);h.fromElements(F,N,O,je.hsbShift);let dt=t.rectangle,Ot=1/dt.width,Vn=1/dt.height;we.x=(lt.west-dt.west)*Ot,we.y=(lt.south-dt.south)*Vn,we.z=(lt.east-dt.west)*Ot,we.w=(lt.north-dt.south)*Vn,re.clone(we,je.localizedCartographicLimitRectangle),nt.x=(et.west-dt.west)*Ot,nt.y=(et.south-dt.south)*Vn,nt.z=(et.east-dt.west)*Ot,nt.w=(et.north-dt.south)*Vn,je.mars_inverseTileWidth=Ot,je.mars_cartographicTileRectangle=new D(dt.west,dt.south);let ei=e.marsOptions?.clip;ei?(ei.rectangle?je.mars_clip_rectangle=new re(ei.rectangle.west,ei.rectangle.south,ei.rectangle.width,ei.rectangle.height):je.mars_clip_rectangle=new re,je.mars_clip_texture=ei.texture,je.mars_clip_only=ei.onlySelf,je.mars_clip_enabled=ei.enabled):(je.mars_clip_enabled=!1,je.mars_clip_rectangle=new re,je.mars_clip_texture=void 0,je.mars_clip_only=!1);let to=e.marsOptions?.flood;to?(to.rectangle?je.mars_flood_rectangle=new re(to.rectangle.west,to.rectangle.south,to.rectangle.width,to.rectangle.height):je.mars_flood_rectangle=new re,je.mars_flood_texture=to.texture,je.mars_flood_only=to.onlySelf,je.mars_flood_enabled=to.enabled):(je.mars_flood_enabled=!1,je.mars_flood_rectangle=new re,je.mars_flood_texture=void 0);let Ir=e.marsOptions?.flat;Ir?(Ir.rectangle?je.mars_flat_rectangle=new re(Ir.rectangle.west,Ir.rectangle.south,Ir.rectangle.width,Ir.rectangle.height):je.mars_flat_rectangle=new re,je.mars_flat_texture=Ir.texture,je.mars_flat_enabled=Ir.enabled):(je.mars_flat_enabled=!1,je.mars_flat_rectangle=new re,je.mars_flat_texture=void 0);let Ao=e.marsOptions?.uplift;Ao?(Ao.rectangle?je.mars_uplift_rectangle=new re(Ao.rectangle.west,Ao.rectangle.south,Ao.rectangle.width,Ao.rectangle.height):je.mars_uplift_rectangle=new re,je.mars_uplift_texture=Ao.texture,je.mars_uplift_enabled=(!Ao.showUp||Ao.enabled&&Ao.height!==0)&&l(Ao.rectangles)&&Ao.rectangles.length>0,je.mars_uplift_hideInsideOrOutside=!i):(je.mars_uplift_enabled=!1,je.mars_uplift_rectangle=new re,je.mars_uplift_texture=void 0,je.mars_uplift_hideInsideOrOutside=!1),re.clone(nt,je.localizedTranslucencyRectangle);let Vs=b&&W.fog(t._distance,n.fog.density)>W.EPSILON3;U=U&&(Vs||R);let co=!1,aa=!1,Jr=!1,od=!1,jn=!1,gr=!1,Eo=!1,ja=!1,So=!1,rd=!1,Oh=!1,mp=!1;for(;rn<a&&De<$e;){let Qr=Ne[De],Ea=Qr.readyImagery;if(++De,!l(Ea)||Ea.imageryLayer.alpha===0)continue;let ex=Qr.useWebMercatorT?Ea.textureWebMercator:Ea.texture,Ko=Ea.imageryLayer;l(Qr.textureTranslationAndScale)||(Qr.textureTranslationAndScale=Ko._calculateTextureTranslationAndScale(t,Qr)),je.dayTextures[rn]=ex,je.dayTextureTranslationAndScale[rn]=Qr.textureTranslationAndScale,je.dayTextureTexCoordsRectangle[rn]=Qr.textureCoordinateRectangle,je.dayTextureUseWebMercatorT[rn]=Qr.useWebMercatorT,je.dayTextureAlpha[rn]=Ko.alpha,gr=gr||je.dayTextureAlpha[rn]!==1,je.dayTextureNightAlpha[rn]=Ko.nightAlpha,Eo=Eo||je.dayTextureNightAlpha[rn]!==1,je.dayTextureDayAlpha[rn]=Ko.dayAlpha,Eo=Eo||je.dayTextureDayAlpha[rn]!==1,je.dayTextureBrightness[rn]=Ko.brightness,co=co||je.dayTextureBrightness[rn]!==Ka.DEFAULT_BRIGHTNESS,je.dayTextureContrast[rn]=Ko.contrast,aa=aa||je.dayTextureContrast[rn]!==Ka.DEFAULT_CONTRAST,je.dayTextureHue[rn]=Ko.hue,Jr=Jr||je.dayTextureHue[rn]!==Ka.DEFAULT_HUE,je.dayTextureSaturation[rn]=Ko.saturation,od=od||je.dayTextureSaturation[rn]!==Ka.DEFAULT_SATURATION,je.dayTextureOneOverGamma[rn]=1/Ko.gamma,jn=jn||je.dayTextureOneOverGamma[rn]!==1/Ka.DEFAULT_GAMMA,je.dayTextureSplit[rn]=Ko.splitDirection,ja=ja||je.dayTextureSplit[rn]!==0,Oh=Oh||!!Ko.invertColor,je.mars3dTextureInvertColor[rn]=!!Ko.invertColor,mp=mp||!!Ko.filterColor,Ko.filterColor?je.mars3dTextureFilterColor[rn]=new h(Ko.filterColor.red,Ko.filterColor.green,Ko.filterColor.blue):je.mars3dTextureFilterColor[rn]=new h(1,1,1);let zh=je.dayTextureCutoutRectangles[rn];if(l(zh)||(zh=je.dayTextureCutoutRectangles[rn]=new re),re.clone(re.ZERO,zh),l(Ko.cutoutRectangle)){let la=sB(dt,Ko.cutoutRectangle),uu=le.simpleIntersection(la,dt,Kye);So=l(uu)||So,zh.x=(la.west-dt.west)*Ot,zh.y=(la.south-dt.south)*Vn,zh.z=(la.east-dt.west)*Ot,zh.w=(la.north-dt.south)*Vn}let fp=je.colorsToAlpha[rn];l(fp)||(fp=je.colorsToAlpha[rn]=new re);let FS=l(Ko.colorToAlpha)&&Ko.colorToAlphaThreshold>0;if(rd=rd||FS,FS){let la=Ko.colorToAlpha;fp.x=la.red,fp.y=la.green,fp.z=la.blue,fp.w=Ko.colorToAlphaThreshold}else fp.w=-1;if(l(Ea.credits)){let la=Ea.credits;for(let uu=0,W0=la.length;uu<W0;++uu)r.addCreditToNextFrame(la[uu])}++rn}je.dayTextures.length=rn,je.waterMask=c,re.clone(d,je.waterMaskTranslationAndScale),je.minMaxHeight.x=J.minimumHeight,je.minMaxHeight.y=J.maximumHeight,M.clone(J.matrix,je.scaleAndBias);let Yh=e._clippingPlanes,hp=l(Yh)&&Yh.enabled&&t.isClipped;hp&&(je.clippingPlanesEdgeColor=B.clone(Yh.edgeColor,je.clippingPlanesEdgeColor),je.clippingPlanesEdgeWidth=Yh.edgeWidth);let X0=e._clippingPolygons,Hh=l(X0)&&X0.enabled&&t.isClipped;Ve.numberOfDayTextures=rn,Ve.applyBrightness=co,Ve.applyContrast=aa,Ve.applyHue=Jr,Ve.applySaturation=od,Ve.applyGamma=jn,Ve.applyAlpha=gr,Ve.applyDayNightAlpha=Eo,Ve.applySplit=ja,Ve.enableFog=Vs,Ve.enableClippingPlanes=hp,Ve.clippingPlanes=Yh,Ve.enableClippingPolygons=Hh,Ve.clippingPolygons=X0,Ve.hasImageryLayerCutout=So,Ve.colorCorrect=U,Ve.highlightFillTile=Ga,Ve.colorToAlpha=rd,Ve.showUndergroundColor=V,Ve.translucent=p,Ve.marsOptions={invertColor:Oh,filterColor:mp,enableUplift:e?._marsOptions?.uplift?.enabled,enableFlat:e?._marsOptions?.flat?.enabled,enableClip:e?._marsOptions?.clip?.enabled,enableFlood:e?._marsOptions?.flood?.enabled};let sd=o.renderedMesh.indices.length;Ke||(sd=o.renderedMesh.indexCountWithoutSkirts),jt.shaderProgram=e._surfaceShaderSet.getShaderProgram(Ve),jt.castShadows=E,jt.receiveShadows=X,jt.renderState=on,jt.primitiveType=Me.TRIANGLES,jt.vertexArray=o.vertexArray||o.fill.vertexArray,jt.count=sd,jt.uniformMap=ji,jt.pass=Ge.GLOBE,e._debug.wireframe&&(ldt(Re,e,t),l(o.wireframeVertexArray)&&(jt.vertexArray=o.wireframeVertexArray,jt.primitiveType=Me.LINES,jt.count=sd*2));let Ls=jt.boundingVolume,ca=jt.orientedBoundingBox;n.mode!==oe.SCENE3D?(de.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,te.minimumHeight,te.maximumHeight,Ls),h.fromElements(Ls.center.z,Ls.center.x,Ls.center.y,Ls.center),n.mode===oe.MORPHING&&(Ls=de.union(te.boundingSphere,Ls,Ls))):(jt.boundingVolume=de.clone(te.boundingSphere,Ls),jt.orientedBoundingBox=In.clone(te.boundingVolume,ca)),jt.dirty=!0,p&&m.updateDerivedCommands(jt,n),zye(jt,n),on=St,Ce=udt}while(De<$e)}var SF=sr;var kwi=T(S(),1);function qye(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=le.clone(le.MAX_VALUE)}Object.defineProperties(qye.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=kt.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=kt.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){l(e)||(e=le.clone(le.MAX_VALUE)),le.clone(e,this._rectangle)}}});var CF=qye;var Jwi=T(S(),1);function Ss(){this._layers=[],this.layerAdded=new be,this.layerRemoved=new be,this.layerMoved=new be,this.layerShownOrHidden=new be}Object.defineProperties(Ss.prototype,{length:{get:function(){return this._layers.length}}});Ss.prototype.add=function(e,t){l(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t);let i=e.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(e,e._layerIndex,e.show),i()})};Ss.prototype.addImageryProvider=function(e,t){let n=new Ka(e);return this.add(n,t),n};Ss.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};Ss.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};Ss.prototype.contains=function(e){return this.indexOf(e)!==-1};Ss.prototype.indexOf=function(e){return this._layers.indexOf(e)};Ss.prototype.get=function(e){return this._layers[e]};function cB(e,t){return e.indexOf(t)}function $ye(e,t,n){let i=e._layers;if(t=W.clamp(t,0,i.length-1),n=W.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}Ss.prototype.raise=function(e){let t=cB(this._layers,e);$ye(this,t,t+1)};Ss.prototype.lower=function(e){let t=cB(this._layers,e);$ye(this,t,t-1)};Ss.prototype.raiseToTop=function(e){let t=cB(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))};Ss.prototype.lowerToBottom=function(e){let t=cB(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var pdt=new le;function l8(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!l(r)&&a<o.length;++a){let c=o[a];le.contains(c.rectangle,t)&&(r=c)}if(!l(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],d=c.readyImagery;if(!l(d)||!d.imageryLayer.ready)continue;let u=d.imageryLayer.imageryProvider;if(n&&!l(u.pickFeatures)||!le.contains(d.rectangle,t))continue;let m=pdt,p=1/1024;m.west=W.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),m.east=W.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),m.south=W.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),m.north=W.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),le.contains(m,t)&&i(d)}}Ss.pickImageryHelper=l8;Ss.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[];if(l8(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};Ss.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(l8(t,i,!0,function(s){if(!s.imageryLayer.ready)return;let a=s.imageryLayer.imageryProvider;for(let d=0;d<r.length;d++)if(r[d]===s.imageryLayer)return;let c=a.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);l(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let d=s[c],u=r[c];if(l(d)&&d.length>0)for(let m=0;m<d.length;++m){let p=d[m];p.imageryLayer=u,l(p.position)||(p.position=i),a.push(p)}}return a})};Ss.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};Ss.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};Ss.prototype.isDestroyed=function(){return!1};Ss.prototype.destroy=function(){return this.removeAll(!0),me(this)};Ss.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(l(i._show)&&(l(n)||(n=[]),n.push(i)),i._show=i.show);if(l(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var VF=Ss;var EFi=T(S(),1);var $wi=T(S(),1);function exe(e){this._ellipsoid=new Nb(e.ellipsoid,h.ZERO)}Object.defineProperties(exe.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var LF=exe;var rFi=T(S(),1);function dl(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=Qn.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=ia.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}dl.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new dl({tilingScheme:e,x:s,y:r,level:0});return i};dl.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(l(t)&&l(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],le.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(l(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],le.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties(dl.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return l(this._southwestChild)||(this._southwestChild=new dl({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return l(this._southeastChild)||(this._southeastChild=new dl({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return l(this._northwestChild)||(this._northwestChild=new dl({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return l(this._northeastChild)||(this._northeastChild=new dl({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<ia.DONE}},eligibleForUnloading:{get:function(){let e=!0;return l(this.data)&&(e=this.data.eligibleForUnloading,l(e)||(e=!0)),e}}});dl.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};dl.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};dl.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};dl.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};dl.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};dl.prototype.freeResources=function(){this.state=ia.START,this.renderable=!1,this.upsampledFromParent=!1,l(this.data)&&l(this.data.freeResources)&&this.data.freeResources(),lB(this._southwestChild),this._southwestChild=void 0,lB(this._southeastChild),this._southeastChild=void 0,lB(this._northwestChild),this._northwestChild=void 0,lB(this._northeastChild),this._northeastChild=void 0};function lB(e){l(e)&&e.freeResources()}var RF=dl;var cFi=T(S(),1);function dB(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}dB.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};dB.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&l(this._lastBeforeStartOfFrame)&&this.count>e&&l(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),txe(this,t)),t=i}};function txe(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}dB.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!l(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(l(e.replacementPrevious)||l(e.replacementNext))&&txe(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var ZF=dB;function um(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new ZF,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new LF({ellipsoid:n}),this._tileLoadProgressEvent=new be,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(um.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});um.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function bdt(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,ixe(e);let n=e._levelZeroTiles;if(l(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}um.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;l(t);)t.state!==ia.START&&e(t),t=t.replacementNext};um.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};um.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};um.prototype.update=function(e){l(this._tileProvider.update)&&this._tileProvider.update(e)};function ixe(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}um.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(bdt(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),ixe(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};um.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),_dt(this,e),Idt(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function gdt(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;if(n!==e._lastTileLoadQueueLength||e._tilesInvalidated){let o=be.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n);t.afterRender.push(()=>(o(),!0)),e._lastTileLoadQueueLength=n}let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}um.prototype.endFrame=function(e){!e.passes.render||e.mode===oe.MORPHING||(Rdt(this,e),Edt(this,e),gdt(this,e))};um.prototype.isDestroyed=function(){return!1};um.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var EF,nxe=new he;function ydt(e,t){let n=le.center(e.rectangle,nxe),i=n.longitude-EF.longitude,o=n.latitude-EF.latitude;n=le.center(t.rectangle,nxe);let r=n.longitude-EF.longitude,s=n.latitude-EF.latitude;return i*i+o*o-(r*r+s*s)}var xdt=new h,GF=[];function _dt(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!l(e._levelZeroTiles)){let x=r.tilingScheme;if(l(x)){let _=r.tilingScheme;e._levelZeroTiles=RF.createLevelZeroTiles(_);let C=e._levelZeroTiles.length;if(GF.length<C)for(GF=new Array(C),o=0;o<C;++o)GF[o]===void 0&&(GF[o]=new IF)}else return}e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;EF=t.camera.positionCartographic,a.sort(ydt);let d=e._addHeightCallbacks,u=e._removeHeightCallbacks,m=t.frameNumber,p;if(d.length>0||u.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(m,d,u);d.length=0,u.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let f=M.getTranslation(g.transform,xdt);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(f,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?Ja(e,s,r,t,c,!1,GF[o]):(g0(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=m}function g0(e,t,n,i){n.needsLoading&&(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function IF(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function oxe(){this.southwest=new IF,this.southeast=new IF,this.northwest=new IF,this.northeast=new IF}oxe.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var m8=new Array(31);for(let e=0;e<m8.length;++e)m8[e]=new oxe;function Tdt(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=Vdt(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,d=n.northwestChild,u=n.northeastChild,m=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===m?n._lastSelectionResult:Qn.NONE,g=e.tileProvider;if(s||i){let f=Qn.originalResult(p)===Qn.RENDERED,x=Qn.originalResult(p)===Qn.CULLED||p===Qn.NONE,_=n.state===ia.DONE,C=f||x||_;if(C||l(g.canRenderWithoutLosingDetail)&&(C=g.canRenderWithoutLosingDetail(n)),C){s&&g0(e,e._tileLoadQueueMedium,n,t),uB(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Qn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&g0(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&d.upsampledFromParent&&u.upsampledFromParent){uB(e,n),g0(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(d),e._tileReplacementQueue.markTileRendered(u),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Qn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.REFINED;let x=e._tilesToRender.length,_=e._tileLoadQueueLow.length,C=e._tileLoadQueueMedium.length,V=e._tileLoadQueueHigh.length,L=e._tileToUpdateHeights.length;if(Sdt(e,a,c,d,u,t,i,o),x!==e._tilesToRender.length){let Z=o.allAreRenderable,G=o.anyWereRenderedLastFrame,I=o.notYetRenderableCount,v=!1;if(!Z&&!G){let P=e._tilesToRender;for(let A=x;A<P.length;++A){let b=P[A];for(;b!==void 0&&b._lastSelectionResult!==Qn.KICKED&&b!==n;)b._lastSelectionResult=Qn.kick(b._lastSelectionResult),b=b.parent}e._tilesToRender.length=x,e._tileToUpdateHeights.length=L,uB(e,n),n._lastSelectionResult=Qn.RENDERED;let w=p===Qn.RENDERED;!w&&I>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=_,e._tileLoadQueueMedium.length=C,e._tileLoadQueueHigh.length=V,g0(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,v=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=w,w||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!v&&g0(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Qn.RENDERED,uB(e,n),g0(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Qn.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function Sdt(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,d=e._tileProvider,u=e._occluders,m=m8[t.level],p=m.southwest,g=m.southeast,f=m.northwest,x=m.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(Ja(e,t,d,r,u,s,p),Ja(e,n,d,r,u,s,g),Ja(e,i,d,r,u,s,f),Ja(e,o,d,r,u,s,x)):(Ja(e,i,d,r,u,s,f),Ja(e,t,d,r,u,s,p),Ja(e,o,d,r,u,s,x),Ja(e,n,d,r,u,s,g)):c.latitude<t.rectangle.north?(Ja(e,n,d,r,u,s,g),Ja(e,t,d,r,u,s,p),Ja(e,o,d,r,u,s,x),Ja(e,i,d,r,u,s,f)):(Ja(e,o,d,r,u,s,x),Ja(e,i,d,r,u,s,f),Ja(e,n,d,r,u,s,g),Ja(e,t,d,r,u,s,p)),m.combine(a)}function Cdt(e,t){let n=t.rectangle;return l(e._cameraPositionCartographic)&&le.contains(n,e._cameraPositionCartographic)||l(e._cameraReferenceFrameOriginCartographic)&&le.contains(n,e._cameraReferenceFrameOriginCartographic)}function Ja(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==pr.NONE)return Tdt(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,Cdt(e,t)){(!l(t.data)||!l(t.data.vertexArray))&&g0(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:Qn.NONE;c!==Qn.CULLED_BUT_NEEDED&&c!==Qn.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=Qn.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(g0(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=Qn.CULLED):t._lastSelectionResult=Qn.CULLED;t._lastSelectionResultFrame=i.frameNumber}function Vdt(e,t,n){if(t.mode===oe.SCENE2D||t.camera.frustum instanceof ln||t.camera.frustum instanceof vr)return Ldt(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=W.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function Ldt(e,t,n){let o=t.camera.frustum,r=o.offCenterFrustum;l(r)&&(o=r);let s=t.context,a=s.drawingBufferWidth,c=s.drawingBufferHeight,d=e._tileProvider.getLevelMaximumGeometricError(n.level),u=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(a,c),m=d/u;return t.fog.enabled&&t.mode!==oe.SCENE2D&&(m-=W.fog(n._distance,t.fog.density)*t.fog.sse),m/=t.pixelRatio,m}function uB(e,t){e._tilesToRender.push(t)}function Rdt(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=Ci()+e._loadQueueTimeSlice,s=e._tileProvider,a=d8(e,t,s,r,n,!1);a=d8(e,t,s,r,i,a),d8(e,t,s,r,o,a)}function Zdt(e,t){return e._loadPriority-t._loadPriority}function d8(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(Zdt);for(let s=0,a=o.length;s<a&&(Ci()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var pL=new gn,u8=new he,Ny=new h,Gdt=[];function Edt(e,t){if(!l(e.tileProvider.tilingScheme))return;let n=Gdt;n.length=0;let i=e._tileToUpdateHeights,o=Ci(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,d=e.tileProvider.tilingScheme.ellipsoid,u;for(;i.length>0;){let m=i[0];if(!l(m.data)||!l(m.data.mesh)){let x=m._lastSelectionResultFrame===e._lastSelectionFrameNumber?m._lastSelectionResult:Qn.NONE;(x===Qn.RENDERED||x===Qn.CULLED_BUT_NEEDED)&&n.push(m),i.shift(),e._lastTileIndex=0;continue}let p=m.customData,g=p.length,f=!1;for(u=e._lastTileIndex;u<g;++u){let x=p[u],_=m.data.terrainData,C=l(_)&&_.wasCreatedByUpsampling();if(m.level>x.level&&!C){if(l(x.positionOnEllipsoidSurface)||(x.positionOnEllipsoidSurface=h.fromRadians(x.positionCartographic.longitude,x.positionCartographic.latitude,0,d)),a===oe.SCENE3D){let L=d.geodeticSurfaceNormal(x.positionOnEllipsoidSurface,pL.direction),Z=d.getSurfaceNormalIntersectionWithZAxis(x.positionOnEllipsoidSurface,11500,pL.origin);if(!l(Z)){let G=0;l(m.data.tileBoundingRegion)&&(G=m.data.tileBoundingRegion.minimumHeight);let I=Math.min(G,-11500),v=h.multiplyByScalar(L,Math.abs(I)+1,Ny);h.subtract(x.positionOnEllipsoidSurface,v,pL.origin)}}else he.clone(x.positionCartographic,u8),u8.height=-11500,c.project(u8,Ny),h.fromElements(Ny.z,Ny.x,Ny.y,Ny),h.clone(Ny,pL.origin),h.clone(h.UNIT_X,pL.direction);let V=m.data.pick(pL,a,c,!1,Ny);l(V)&&(l(x.callback)&&x.callback(V),x.level=m.level)}if(Ci()>=s){f=!0;break}}if(f){e._lastTileIndex=u;break}else e._lastTileIndex=0,i.shift()}for(u=0;u<n.length;u++)i.push(n[u])}function Idt(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var XF=um;function Fh(e){e=y(e,ne.default);let t=new MT({ellipsoid:e}),n=new VF;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new cF,this._material=void 0,this._surface=new XF({tileProvider:new SF({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new be,this._undergroundColor=B.clone(B.BLACK),this._undergroundColorAlphaByDistance=new kt(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new CF,f8(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Le({url:sn("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=ne.WGS84.equals(e),this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=W.PI_OVER_TWO*e.minimumRadius,this.lightingFadeInDistance=W.PI*e.minimumRadius,this.nightFadeOutDistance=W.PI_OVER_TWO*e.minimumRadius,this.nightFadeInDistance=5*W.PI_OVER_TWO*e.minimumRadius,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=Tn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3}Object.defineProperties(Fh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return l(this._surface)?this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},clippingPolygons:{get:function(){return this._surface.tileProvider.clippingPolygons},set:function(e){this._surface.tileProvider.clippingPolygons=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){l(e)||(e=le.clone(le.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),l(this._material)&&f8(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,f8(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=B.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=kt.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function f8(e){let t=[],n=l(e._material)&&(l(e._material.shaderSource.match(/slope/))||l(e._material.shaderSource.match("normalEC"))),i=[zm,$V];l(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(Qw),e._surfaceShaderSet.baseVertexShaderSource=new Oe({sources:[zm,$V,jw],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new Oe({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function Xdt(e){return function(t,n){let i=de.distanceSquaredTo(t.pickBoundingSphere,e),o=de.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var Wdt=[],Pdt={start:0,stop:0};Fh.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=Wdt;s.length=0;let a=this._surface._tilesToRender,c=a.length,d,u;for(u=0;u<c;++u){d=a[u];let p=d.data;if(!l(p))continue;let g=p.pickBoundingSphere;if(o!==oe.SCENE3D)p.pickBoundingSphere=g=de.fromRectangleWithHeights2D(d.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(l(p.renderedMesh))de.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let f=ni.raySphere(e,g,Pdt);l(f)&&s.push(p)}s.sort(Xdt(e.origin));let m;for(c=s.length,u=0;u<c&&(m=s[u].pick(e,t.mode,t.mapProjection,n,i),!l(m));++u);return m};var vdt=new he;Fh.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),l(n)&&t.mode!==oe.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,vdt);n=this._ellipsoid.cartographicToCartesian(i,n)}return n};var wdt=new h,rxe=new h,Fdt=new he,Adt=new gn;function h8(e,t){return l(e)&&le.contains(e.rectangle,t)?e:void 0}Fh.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!l(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!le.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;l(n);)n=h8(n._southwestChild,e)||h8(n._southeastChild,e)||h8(n._northwestChild,e)||n._northeastChild,l(n)&&l(n.data)&&l(n.data.renderedMesh)&&(r=n);if(n=r,!l(n)||!l(n.data)||!l(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,wdt),d=Adt,u=a.geodeticSurfaceNormal(c,d.direction),m=a.getSurfaceNormalIntersectionWithZAxis(c,11500,d.origin);if(!l(m)){let g;l(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let f=Math.min(y(g,0),-11500),x=h.multiplyByScalar(u,Math.abs(f)+1,rxe);h.subtract(c,x,d.origin)}let p=n.data.pick(d,void 0,s,!1,rxe);if(l(p))return a.cartesianToCartographic(p,Fdt).height};Fh.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)};Fh.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=l(i)&&i.hasWaterMask&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(l(c)){let d=this;a.fetchImage().then(function(u){c===d._oceanNormalMapResource.url&&(d._oceanNormalMap=d._oceanNormalMap&&d._oceanNormalMap.destroy(),d._oceanNormalMap=new It({context:e.context,source:u}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===oe.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.showWaterEffect=this.showWaterEffect,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.vertexShadowDarkness=this.vertexShadowDarkness,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};Fh.prototype.render=function(e){this.show&&(l(this._material)&&this._material.update(e.context),this._surface.render(e))};Fh.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)};Fh.prototype.isDestroyed=function(){return!1};Fh.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),me(this)};var WF=Fh;var HAi=T(S(),1);var XAi=T(S(),1);var p8={position:0};function mB(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new de,this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=new M,this._computedModelMatrix=new M,this.show=y(e.show,!0),this.material=y(e.material,Yi.fromType(Yi.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new tt({owner:y(e._owner,this)}),this._pickCommand=new tt({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function Mdt(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(l(t))return t;let n=Pa.createGeometry(Pa.fromDimensions({dimensions:new h(2,2,2),vertexFormat:We.POSITION_ONLY}));return t=ri.fromGeometry({context:e,geometry:n,attributeLocations:p8,bufferUsage:Ue.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}mB.prototype.update=function(e){if(!this.show||e.mode!==oe.SCENE3D||!l(this.center)||!l(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!l(this._rs)||i)&&(this._translucent=n,this._rs=Be.fromCache({cull:{enabled:!0,face:Ti.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?hn.ALPHA_BLEND:void 0})),l(this._va)||(this._va=Mdt(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let x=this._oneOverEllipsoidRadiiSquared;x.x=1/(r.x*r.x),x.y=1/(r.y*r.y),x.z=1/(r.z*r.z),o=!0}(!M.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(M.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),M.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),de.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,d=this._useLogDepth!==c;this._useLogDepth=c;let u=this._colorCommand,m,p;(s||a||i||d)&&(m=new Oe({sources:[qV]}),p=new Oe({sources:[this.material.shaderSource,jV]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(m.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._sp=en.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:p,attributeLocations:p8}),u.vertexArray=this._va,u.renderState=this._rs,u.shaderProgram=this._sp,u.uniformMap=Vt(this._uniforms,this.material._uniforms),u.executeInClosestFrustum=n);let g=e.commandList,f=e.passes;if(f.render&&(u.boundingVolume=this._boundingSphere,u.debugShowBoundingVolume=this.debugShowBoundingVolume,u.modelMatrix=this._computedModelMatrix,u.pass=n?Ge.TRANSLUCENT:Ge.OPAQUE,g.push(u)),f.pick){let x=this._pickCommand;(!l(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(s||a||!l(this._pickSP)||d)&&(m=new Oe({sources:[qV]}),p=new Oe({sources:[this.material.shaderSource,jV],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(m.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._pickSP=en.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:m,fragmentShaderSource:p,attributeLocations:p8}),x.vertexArray=this._va,x.renderState=this._rs,x.shaderProgram=this._pickSP,x.uniformMap=Vt(Vt(this._uniforms,this._pickUniforms),this.material._uniforms),x.executeInClosestFrustum=n),x.boundingVolume=this._boundingSphere,x.modelMatrix=this._computedModelMatrix,x.pass=n?Ge.TRANSLUCENT:Ge.OPAQUE,g.push(x)}};mB.prototype.isDestroyed=function(){return!1};mB.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),me(this)};var PF=mB;function vF(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;l(t)||(t=sn("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,ne.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new PF({radii:this.ellipsoid.radii,material:Yi.fromType(Yi.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new Ww}Object.defineProperties(vF.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var hB=new $,Ndt=new $,kdt=new h,fB=[];vF.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;l(vt.computeIcrfToFixedMatrix(n,hB))||vt.computeTemeToPseudoFixedMatrix(n,hB);let i=this._axes.evaluate(n,Ndt);$.transpose(i,i),$.multiply(hB,i,i);let o=Y0.computeMoonPositionInEarthInertialFrame(n,kdt);$.multiplyByVector(hB,o,o),M.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=fB,fB.length=0,t.update(e),e.commandList=r,fB.length===1?fB[0]:void 0};vF.prototype.isDestroyed=function(){return!1};vF.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),me(this)};var wF=vF;var dji=T(S(),1);var oMi=T(S(),1);function FF(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(FF.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function Udt(e,t,n){let i=t.createViewportQuadCommand(kw,{framebuffer:n,renderState:Be.fromCache({viewport:new Je(0,0,256,256)})});e._drawCommand=i}FF.prototype.update=function(e){if(!l(this._colorTexture)){let t=e.context,n=new It({context:t,width:256,height:256,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,sampler:$t.NEAREST});this._colorTexture=n;let i=new Pr({context:t,colorTextures:[n],destroyAttachments:!1});Udt(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};FF.prototype.isDestroyed=function(){return!1};FF.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),me(this)};var AF=FF;var KMi=T(S(),1);var bMi=T(S(),1);var lxe={};function Ddt(e,t,n){let i,o,r;if(e instanceof Gi){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof cl)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var Bdt=new h,sxe=new h;function dxe(e,t,n,i){if(l(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(d){let u=n(d);if(d<=.5){let p=(u-o)/a;return W.lerp(e,-W.PI_OVER_TWO,p)}let m=(u-r)/c;return W.lerp(-W.PI_OVER_TWO,t,1-m)}}return function(o){return W.lerp(e,t,o)}}function g8(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!l(r)){let a=e.position,c=t,d=e.up,u=e.right,m=e.frustum,p=h.subtract(a,c,Bdt),g=h.magnitude(h.multiplyByScalar(d,h.dot(p,d),sxe)),f=h.magnitude(h.multiplyByScalar(u,h.dot(p,u),sxe));r=Math.min(Ddt(m,g,f)*.2,1e9)}if(s<r){let d=-Math.pow((r-n)*1e6,.125),u=Math.pow((r-i)*1e6,1/8);return function(m){let p=m*(u-d)+d;return-Math.pow(p,8)/1e6+r}}return function(a){return W.lerp(n,i,a)}}function MF(e,t){return W.equalsEpsilon(e,W.TWO_PI,W.EPSILON11)&&(e=0),t>e+Math.PI?e+=W.TWO_PI:t<e-Math.PI&&(e-=W.TWO_PI),e}var uxe=new h;function Odt(e,t,n,i,o,r,s,a){let c=e.camera,d=h.clone(c.position,uxe),u=c.pitch,m=MF(c.heading,i),p=MF(c.roll,r),g=g8(c,n,d.z,n.z,s),f=dxe(u,o,g,a);function x(_){let C=_.time/t;c.setView({orientation:{heading:W.lerp(m,i,C),pitch:f(C),roll:W.lerp(p,r,C)}}),D.lerp(d,n,C,c.position),c.position.z=g(C)}return x}function Ydt(e,t){e.longitude<t.longitude?e.longitude+=W.TWO_PI:t.longitude+=W.TWO_PI}function Hdt(e,t){let n=e.longitude-t.longitude;n<-W.PI?e.longitude+=W.TWO_PI:n>W.PI&&(t.longitude+=W.TWO_PI)}var zdt=new he,Kdt=new he;function Jdt(e,t,n,i,o,r,s,a,c,d){let u=e.camera,p=e.mapProjection.ellipsoid,g=he.clone(u.positionCartographic,zdt),f=u.pitch,x=MF(u.heading,i),_=MF(u.roll,r),C=p.cartesianToCartographic(n,Kdt);g.longitude=W.zeroToTwoPi(g.longitude),C.longitude=W.zeroToTwoPi(C.longitude);let V=!1;if(l(a)){let I=W.zeroToTwoPi(a),v=Math.min(g.longitude,C.longitude),P=Math.max(g.longitude,C.longitude),w=I>=v&&I<=P;if(l(c)){let A=Math.abs(g.longitude-C.longitude),b=W.TWO_PI-A;(w?A:b)<(w?b:A)*c&&!w&&(V=!0)}else w||(V=!0)}V?Ydt(g,C):Hdt(g,C);let L=g8(u,n,g.height,C.height,s),Z=dxe(f,o,L,d);function G(){let I=g.longitude,v=C.longitude,P=g.latitude,w=C.latitude;return function(b){let R=b.time/t,E=h.fromRadians(W.lerp(I,v,R),W.lerp(P,w,R),L(R),p);u.setView({destination:E,orientation:{heading:W.lerp(x,i,R),pitch:Z(R),roll:W.lerp(_,r,R)}})}}return G()}function Qdt(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,uxe),d=MF(a.heading,i),u=a.frustum.right-a.frustum.left,m=g8(a,n,u,n.z,s);function p(g){let f=g.time/t;a.setView({orientation:{heading:W.lerp(d,i,f)}}),D.lerp(c,n,f,a.position);let x=m(f),_=a.frustum,C=_.top/_.right,V=(x-(_.right-_.left))*.5;_.right+=V,_.left-=V,_.top=C*_.right,_.bottom=-_.top}return p}var axe=new he,jdt=new h;function b8(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function cxe(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}lxe.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===oe.MORPHING)return b8();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,d=t.flyOverLongitudeWeight,u=t.pitchAdjustHeight,m=t.easingFunction;o&&i!==oe.SCENE3D&&(s.cartesianToCartographic(n,axe),n=r.project(axe,jdt));let p=e.camera,g=t.endTransform;l(g)&&p._setTransform(g);let f=t.duration;l(f)||(f=Math.ceil(h.distance(p.position,n)/1e6)+2,f=Math.min(f,3));let x=y(t.heading,0),_=y(t.pitch,-W.PI_OVER_TWO),C=y(t.roll,0),V=e.screenSpaceCameraController;V.enableInputs=!1;let L=cxe(V,t.complete),Z=cxe(V,t.cancel),G=p.frustum,I=e.mode===oe.SCENE2D;if(I=I&&D.equalsEpsilon(p.position,n,W.EPSILON6),I=I&&W.equalsEpsilon(Math.max(G.right-G.left,G.top-G.bottom),n.z,W.EPSILON6),I=I||e.mode!==oe.SCENE2D&&h.equalsEpsilon(n,p.position,W.EPSILON10),I=I&&W.equalsEpsilon(W.negativePiToPi(x),W.negativePiToPi(p.heading),W.EPSILON10)&&W.equalsEpsilon(W.negativePiToPi(_),W.negativePiToPi(p.pitch),W.EPSILON10)&&W.equalsEpsilon(W.negativePiToPi(C),W.negativePiToPi(p.roll),W.EPSILON10),I)return b8(L,Z);let v=new Array(4);if(v[oe.SCENE2D]=Qdt,v[oe.SCENE3D]=Jdt,v[oe.COLUMBUS_VIEW]=Odt,f<=0)return b8(function(){v[i](e,1,n,x,_,C,a,c,d,u)({time:1}),typeof L=="function"&&L()},Z);let P=v[i](e,f,n,x,_,C,a,c,d,u);if(!l(m)){let w=p.positionCartographic.height,A=i===oe.SCENE3D?s.cartesianToCartographic(n).height:n.z;w>A&&w>11500?m=zr.CUBIC_OUT:m=zr.QUINTIC_IN_OUT}return{duration:f,easingFunction:m,startObject:{time:0},stopObject:{time:f},update:P,complete:L,cancel:Z}};var NF=lxe;var yMi=T(S(),1),qdt={ROTATE:0,INFINITE_SCROLL:1},jl=Object.freeze(qdt);function nn(e){this._scene=e,this._transform=M.clone(M.IDENTITY),this._invTransform=M.clone(M.IDENTITY),this._actualTransform=M.clone(M.IDENTITY),this._actualInvTransform=M.clone(M.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new he,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new Gi,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=W.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new be,this._moveEnd=new be,this._changed=new be,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this._changedRoll=void 0,this.percentageChanged=.5,this._viewMatrix=new M,this._invViewMatrix=new M,xxe(this),this._mode=oe.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new he(Math.PI,W.PI_OVER_TWO)),this._max2Dfrustum=void 0,Xxe(this,nn.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*nn.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}nn.TRANSFORM_2D=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);nn.TRANSFORM_2D_INVERSE=M.inverseTransformation(nn.TRANSFORM_2D,new M);nn.DEFAULT_VIEW_RECTANGLE=le.fromDegrees(-95,-20,-70,90);nn.DEFAULT_VIEW_FACTOR=.5;nn.DEFAULT_OFFSET=new nm(0,-W.PI_OVER_FOUR,0);function xxe(e){M.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),M.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),M.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function $dt(e){if(!l(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=Ci()):e.timeSinceMoved=Math.max(Ci()-e._lastMovedTimestamp,0)/1e3}}nn.prototype.canPreloadFlight=function(){return l(this._currentFlight)&&this._mode!==oe.SCENE2D};nn.prototype._updateCameraChanged=function(){let e=this;if($dt(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;l(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%W.TWO_PI;i=i>W.PI?W.TWO_PI-i:i;let o=i/Math.PI;o>t&&(e._changedHeading=n);let r=e.roll;l(e._changedRoll)||(e._changedRoll=r);let s=Math.abs(e._changedRoll-r)%W.TWO_PI;s=s>W.PI?W.TWO_PI-s:s;let a=s/Math.PI;if(a>t&&(e._changedRoll=r),(a>t||o>t)&&e._changed.raiseEvent(Math.max(a,o)),e._mode===oe.SCENE2D){if(!l(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let p=e.position,g=e._changedPosition,f=e.frustum,x=e._changedFrustum,_=p.x+f.left,C=p.x+f.right,V=g.x+x.left,L=g.x+x.right,Z=p.y+f.bottom,G=p.y+f.top,I=g.y+x.bottom,v=g.y+x.top,P=Math.max(_,V),w=Math.min(C,L),A=Math.max(Z,I),b=Math.min(G,v),R;if(P>=w||A>=G)R=1;else{let E=x;_<V&&C>L&&Z<I&&G>v&&(E=f),R=1-(w-P)*(b-A)/((E.right-E.left)*(E.top-E.bottom))}R>t&&(e._changed.raiseEvent(R),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!l(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let c=W.acosClamped(h.dot(e.directionWC,e._changedDirection)),d;l(e.frustum.fovy)?d=c/(e.frustum.fovy*.5):d=c;let m=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(d>t||m>t)&&(e._changed.raiseEvent(Math.max(d,m)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function eut(e){vt.basisTo2D(e._projection,e._transform,e._actualTransform)}var tut=new he,nut=new h,pB=new h,iut=new re,out=new re,rut=new re,sut=new re,aut=new re;function cut(e){let t=e._projection,n=t.ellipsoid,i=M.getColumn(e._transform,3,iut),o=n.cartesianToCartographic(i,tut),r=t.project(o,nut),s=out;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=re.clone(re.UNIT_X,aut),c=re.add(M.getColumn(e._transform,0,pB),i,pB);n.cartesianToCartographic(c,o),t.project(o,r);let d=rut;d.x=r.z,d.y=r.x,d.z=r.y,d.w=0,h.subtract(d,s,d),d.x=0;let u=sut;if(h.magnitudeSquared(d)>W.EPSILON10)h.cross(a,d,u);else{let m=re.add(M.getColumn(e._transform,1,pB),i,pB);n.cartesianToCartographic(m,o),t.project(o,r),u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,h.subtract(u,s,u),u.x=0,h.magnitudeSquared(u)<W.EPSILON10&&(re.clone(re.UNIT_Y,d),re.clone(re.UNIT_Z,u))}h.cross(u,a,d),h.normalize(d,d),h.cross(a,d,u),h.normalize(u,u),M.setColumn(e._actualTransform,0,d,e._actualTransform),M.setColumn(e._actualTransform,1,u,e._actualTransform),M.setColumn(e._actualTransform,2,a,e._actualTransform),M.setColumn(e._actualTransform,3,s,e._actualTransform)}var y8=new h;function Xc(e){let t=e._mode,n=!1,i=0;t===oe.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position,r=!h.equals(o,e.position)||n;r&&(o=h.clone(e.position,e._position));let s=e._direction,a=!h.equals(s,e.direction);a&&(h.normalize(e.direction,e.direction),s=h.clone(e.direction,e._direction));let c=e._up,d=!h.equals(c,e.up);d&&(h.normalize(e.up,e.up),c=h.clone(e.up,e._up));let u=e._right,m=!h.equals(u,e.right);m&&(h.normalize(e.right,e.right),u=h.clone(e.right,e._right));let p=e._transformChanged||e._modeChanged;e._transformChanged=!1,p&&(M.inverseTransformation(e._transform,e._invTransform),e._mode===oe.COLUMBUS_VIEW||e._mode===oe.SCENE2D?M.equals(M.IDENTITY,e._transform)?M.clone(nn.TRANSFORM_2D,e._actualTransform):e._mode===oe.COLUMBUS_VIEW?eut(e):cut(e):M.clone(e._transform,e._actualTransform),M.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);let g=e._actualTransform;if(r||p)if(e._positionWC=M.multiplyByPoint(g,o,e._positionWC),t===oe.SCENE3D||t===oe.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{let f=y8;f.x=e._positionWC.y,f.y=e._positionWC.z,f.z=e._positionWC.x,t===oe.SCENE2D&&(f.z=i),e._projection.unproject(f,e._positionCartographic)}if(a||d||m){let f=h.dot(s,h.cross(c,u,y8));if(Math.abs(1-f)>W.EPSILON2){let x=1/h.magnitudeSquared(c),_=h.dot(c,s)*x,C=h.multiplyByScalar(s,_,y8);c=h.normalize(h.subtract(c,C,e._up),e._up),h.clone(c,e.up),u=h.cross(s,c,e._right),h.clone(u,e.right)}}(a||p)&&(e._directionWC=M.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(d||p)&&(e._upWC=M.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(m||p)&&(e._rightWC=M.multiplyByPointAsVector(g,u,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||d||m||p)&&xxe(e)}function _xe(e,t){let n;return W.equalsEpsilon(Math.abs(e.z),1,W.EPSILON3)?n=Math.atan2(t.y,t.x)-W.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-W.PI_OVER_TWO,W.TWO_PI-W.zeroToTwoPi(n)}function Txe(e){return W.PI_OVER_TWO-W.acosClamped(e.z)}function Sxe(e,t,n){let i=0;return W.equalsEpsilon(Math.abs(e.z),1,W.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=W.zeroToTwoPi(i+W.TWO_PI)),i}var yB=new M,xB=new M;Object.defineProperties(nn.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return Xc(this),this._invTransform}},viewMatrix:{get:function(){return Xc(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return Xc(this),this._invViewMatrix}},positionCartographic:{get:function(){return Xc(this),this._positionCartographic}},positionWC:{get:function(){return Xc(this),this._positionWC}},directionWC:{get:function(){return Xc(this),this._directionWC}},upWC:{get:function(){return Xc(this),this._upWC}},rightWC:{get:function(){return Xc(this),this._rightWC}},heading:{get:function(){if(this._mode!==oe.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,yB),n=vt.eastNorthUpToFixedFrame(this.positionWC,e,xB);this._setTransform(n);let i=_xe(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==oe.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,yB),n=vt.eastNorthUpToFixedFrame(this.positionWC,e,xB);this._setTransform(n);let i=Txe(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==oe.MORPHING){let e=this._projection.ellipsoid,t=M.clone(this._transform,yB),n=vt.eastNorthUpToFixedFrame(this.positionWC,e,xB);this._setTransform(n);let i=Sxe(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});nn.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==oe.MORPHING,t=this._mode===oe.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===oe.SCENE2D&&Rxe(this,this.position)};var lut=new h,dut=new h,uut=new h;nn.prototype._setTransform=function(e){let t=h.clone(this.positionWC,lut),n=h.clone(this.upWC,dut),i=h.clone(this.directionWC,uut);M.clone(e,this._transform),this._transformChanged=!0,Xc(this);let o=this._actualInvTransform;M.multiplyByPoint(o,t,this.position),M.multiplyByPointAsVector(o,i,this.direction),M.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),Xc(this)};var mut=new D,hut=new gn,fut=new h,put=new h;function Cxe(e){if(!M.equals(M.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=mut;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(l(n)){let a=e.getPickRay(i,hut);o=n.pickWorldCoordinates(a,t,!0,fut)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,put));let s;if(l(o)||l(r)){let a=l(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=l(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}nn.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof ln&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=Cxe(this)))};var _B=new h,C8=new M,but=new M,V8=new Fe,L8=new $,Vxe=new he;function gut(e,t,n){let i=M.clone(e.transform,C8),o=vt.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,but);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-W.PI_OVER_TWO;let r=Fe.fromHeadingPitchRoll(n,V8),s=$.fromQuaternion(r,L8);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function yut(e,t,n,i){let o=M.clone(e.transform,C8);if(e._setTransform(M.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,Vxe);t=a.project(c,_B)}h.clone(t,e.position)}n.heading=n.heading-W.PI_OVER_TWO;let r=Fe.fromHeadingPitchRoll(n,V8),s=$.fromQuaternion(r,L8);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function xut(e,t,n,i){let o=M.clone(e.transform,C8);if(e._setTransform(M.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,d=c.ellipsoid.cartesianToCartographic(t,Vxe);t=c.project(d,_B)}D.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===jl.ROTATE){n.heading=n.heading-W.PI_OVER_TWO,n.pitch=-W.PI_OVER_TWO,n.roll=0;let r=Fe.fromHeadingPitchRoll(n,V8),s=$.fromQuaternion(r,L8);$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var _ut=new h,Tut=new h,Sut=new h;function Lxe(e,t,n,i){let o=h.clone(n.direction,_ut),r=h.clone(n.up,Tut);if(e._scene.mode===oe.SCENE3D){let a=e._projection.ellipsoid,c=vt.eastNorthUpToFixedFrame(t,a,yB),d=M.inverseTransformation(c,xB);M.multiplyByPointAsVector(d,o,o),M.multiplyByPointAsVector(d,r,r)}let s=h.cross(o,r,Sut);return i.heading=_xe(o,r),i.pitch=Txe(o),i.roll=Sxe(o,r,s),i}var S8={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},bL=new Ia;nn.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===oe.MORPHING)return;l(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,_B));l(o)&&l(o.west)&&(o=this.getRectangleCameraCoordinates(o,_B),i=!1),l(t.direction)&&(t=Lxe(this,o,t,S8.orientation)),bL.heading=y(t.heading,0),bL.pitch=y(t.pitch,-W.PI_OVER_TWO),bL.roll=y(t.roll,0),n===oe.SCENE3D?gut(this,o,bL):n===oe.SCENE2D?xut(this,o,bL,i):yut(this,o,bL,i)};var Cut=new h;nn.prototype.flyHome=function(e){let t=this._mode;if(t===oe.MORPHING&&this._scene.completeMorph(),t===oe.SCENE2D)this.flyTo({destination:nn.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:M.IDENTITY});else if(t===oe.SCENE3D){let n=this.getRectangleCameraCoordinates(nn.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*nn.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:M.IDENTITY})}else if(t===oe.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,Cut).z),roll:0},endTransform:M.IDENTITY,convert:!1})}};nn.prototype.worldToCameraCoordinates=function(e,t){return l(t)||(t=new re),Xc(this),M.multiplyByVector(this._actualInvTransform,e,t)};nn.prototype.worldToCameraCoordinatesPoint=function(e,t){return l(t)||(t=new h),Xc(this),M.multiplyByPoint(this._actualInvTransform,e,t)};nn.prototype.worldToCameraCoordinatesVector=function(e,t){return l(t)||(t=new h),Xc(this),M.multiplyByPointAsVector(this._actualInvTransform,e,t)};nn.prototype.cameraToWorldCoordinates=function(e,t){return l(t)||(t=new re),Xc(this),M.multiplyByVector(this._actualTransform,e,t)};nn.prototype.cameraToWorldCoordinatesPoint=function(e,t){return l(t)||(t=new h),Xc(this),M.multiplyByPoint(this._actualTransform,e,t)};nn.prototype.cameraToWorldCoordinatesVector=function(e,t){return l(t)||(t=new h),Xc(this),M.multiplyByPointAsVector(this._actualTransform,e,t)};function Rxe(e,t){let n=e._scene.mapMode2D===jl.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var mxe=new h;nn.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,mxe),h.add(n,mxe,n),this._mode===oe.SCENE2D&&Rxe(this,n),this._adjustOrthographicFrustum(!0)};nn.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===oe.SCENE2D?TB(this,e):this.move(this.direction,e)};nn.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===oe.SCENE2D?TB(this,-e):this.move(this.direction,-e)};nn.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};nn.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};nn.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};nn.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};nn.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.up,-e)};nn.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.up,e)};nn.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.right,-e)};nn.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==oe.SCENE2D&&this.look(this.right,e)};var Vut=new Fe,Lut=new $;nn.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Fe.fromAxisAngle(e,-n,Vut),o=$.fromQuaternion(i,Lut),r=this.direction,s=this.up,a=this.right;$.multiplyByVector(o,r,r),$.multiplyByVector(o,s,s),$.multiplyByVector(o,a,a)};nn.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};nn.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var Rut=new Fe,Zut=new $;nn.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Fe.fromAxisAngle(e,-n,Rut),o=$.fromQuaternion(i,Zut);$.multiplyByVector(o,this.position,this.position),$.multiplyByVector(o,this.direction,this.direction),$.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};nn.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),Zxe(this,e)};nn.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),Zxe(this,-e)};var Gut=new h,Eut=new h,Iut=new h,hxe=new h;function Zxe(e,t){let n=e.position;if(l(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,W.EPSILON2)){let i=h.normalize(n,Gut),o=h.equalsEpsilon(i,e.constrainedAxis,W.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,hxe),W.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,Eut),a=h.dot(i,s),c=W.acosClamped(a);t>0&&t>c&&(t=c-W.EPSILON4),a=h.dot(i,h.negate(s,hxe)),c=W.acosClamped(a),t<0&&-t>c&&(t=-c+W.EPSILON4);let d=h.cross(s,i,Iut);e.rotate(d,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}nn.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),Gxe(this,-e)};nn.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),Gxe(this,e)};function Gxe(e,t){l(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function TB(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===jl.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===jl.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function Exe(e,t){e.move(e.direction,t)}nn.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===oe.SCENE2D?TB(this,e):Exe(this,e)};nn.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===oe.SCENE2D?TB(this,-e):Exe(this,-e)};nn.prototype.getMagnitude=function(){if(this._mode===oe.SCENE3D)return h.magnitude(this.position);if(this._mode===oe.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===oe.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var Xut=new M;nn.prototype.lookAt=function(e,t){let n=this._scene,i=y(n.ellipsoid,ne.default),o=vt.eastNorthUpToFixedFrame(e,i,Xut);this.lookAtTransform(o,t)};var Wut=new h,Put=new Fe,vut=new Fe,wut=new $;function Ixe(e,t,n){t=W.clamp(t,-W.PI_OVER_TWO,W.PI_OVER_TWO),e=W.zeroToTwoPi(e)-W.PI_OVER_TWO;let i=Fe.fromAxisAngle(h.UNIT_Y,-t,Put),o=Fe.fromAxisAngle(h.UNIT_Z,-e,vut),r=Fe.multiply(o,i,o),s=$.fromQuaternion(r,wut),a=h.clone(h.UNIT_X,Wut);return $.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}nn.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!l(t))return;let n;if(l(t.heading)?n=Ixe(t.heading,t.pitch,t.range):n=t,this._mode===oe.SCENE2D){D.clone(D.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)<W.EPSILON10&&h.clone(h.UNIT_Y,this.up),h.normalize(this.up,this.up),this._setTransform(M.IDENTITY),h.negate(h.UNIT_Z,this.direction),h.cross(this.direction,this.up,this.right),h.normalize(this.right,this.right);let i=this.frustum,o=i.top/i.right;i.right=h.magnitude(n)*.5,i.left=-i.right,i.top=o*i.right,i.bottom=-i.top,this._setTransform(e);return}h.clone(n,this.position),h.negate(this.position,this.direction),h.normalize(this.direction,this.direction),h.cross(this.direction,h.UNIT_Z,this.right),h.magnitudeSquared(this.right)<W.EPSILON10&&h.clone(h.UNIT_X,this.right),h.normalize(this.right,this.right),h.cross(this.right,this.direction,this.up),h.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};var kF=new he,Fut=new he,Aut=new h,Mut=new h,Nut=new h,kut=new h,Uut=new h,Dut=new h,But=new h,x8=new h,Out={direction:new h,right:new h,up:new h},fxe;function Ic(e,t,n,i){return Math.abs(h.dot(t,n))/i-h.dot(e,n)}function Xxe(e,t,n,i){let o=e._projection.ellipsoid,r=i?e:Out,{north:s,south:a,west:c}=t,{east:d}=t;c>d&&(d+=W.TWO_PI);let u=(c+d)*.5,m;if(a<-W.PI_OVER_TWO+W.RADIANS_PER_DEGREE&&s>W.PI_OVER_TWO-W.RADIANS_PER_DEGREE)m=0;else{let w=kF;w.longitude=u,w.latitude=s,w.height=0;let A=Fut;A.longitude=u,A.latitude=a,A.height=0;let b=fxe;(!l(b)||b.ellipsoid!==o)&&(fxe=b=new Fp(void 0,void 0,o)),b.setEndPoints(w,A),m=b.interpolateUsingFraction(.5,kF).latitude}let p=kF;p.longitude=u,p.latitude=m,p.height=0;let g=o.cartographicToCartesian(p,But),f=kF;f.longitude=d,f.latitude=s;let x=o.cartographicToCartesian(f,Aut);f.longitude=c;let _=o.cartographicToCartesian(f,Nut);f.longitude=u;let C=o.cartographicToCartesian(f,Uut);f.latitude=a;let V=o.cartographicToCartesian(f,Dut);f.longitude=d;let L=o.cartographicToCartesian(f,kut);f.longitude=c;let Z=o.cartographicToCartesian(f,Mut);h.subtract(_,g,_),h.subtract(L,g,L),h.subtract(x,g,x),h.subtract(Z,g,Z),h.subtract(C,g,C),h.subtract(V,g,V);let G=o.geodeticSurfaceNormal(g,r.direction);h.negate(G,G);let I=h.cross(G,h.UNIT_Z,r.right);h.normalize(I,I);let v=h.cross(I,G,r.up),P;if(e.frustum instanceof ln){let w=Math.max(h.distance(x,_),h.distance(L,Z)),A=Math.max(h.distance(x,L),h.distance(_,Z)),b,R,E=e.frustum._offCenterFrustum,X=E.right/E.top,F=A*X;w>F?(b=w,R=b/X):(R=A,b=F),P=Math.max(b,R)}else{let w=Math.tan(e.frustum.fovy*.5),A=e.frustum.aspectRatio*w;if(P=Math.max(Ic(G,v,_,w),Ic(G,v,L,w),Ic(G,v,x,w),Ic(G,v,Z,w),Ic(G,v,C,w),Ic(G,v,V,w),Ic(G,I,_,A),Ic(G,I,L,A),Ic(G,I,x,A),Ic(G,I,Z,A),Ic(G,I,C,A),Ic(G,I,V,A)),a<0&&s>0){let b=kF;b.longitude=c,b.latitude=0,b.height=0;let R=o.cartographicToCartesian(b,x8);h.subtract(R,g,R),P=Math.max(P,Ic(G,v,R,w),Ic(G,I,R,A)),b.longitude=d,R=o.cartographicToCartesian(b,x8),h.subtract(R,g,R),P=Math.max(P,Ic(G,v,R,w),Ic(G,I,R,A))}}return h.add(g,h.multiplyByScalar(G,-P,x8),n)}var Yut=new he,Hut=new h,zut=new h;function Kut(e,t,n){let i=e._projection;t.west>t.east&&(t=le.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=Yut;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,Hut);M.multiplyByPoint(o,a,a),M.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,zut);if(M.multiplyByPoint(o,c,c),M.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,l(e.frustum.fovy)){let d=Math.tan(e.frustum.fovy*.5),u=e.frustum.aspectRatio*d;n.z=Math.max((a.x-c.x)/u,(a.y-c.y)/d)*.5}else{let d=a.x-c.x,u=a.y-c.y;n.z=Math.max(d,u)}return n}var Jut=new he,Qut=new h,jut=new h;function qut(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===jl.INFINITE_SCROLL?o+=W.TWO_PI:(t=le.MAX_VALUE,o=t.east));let r=Jut;r.longitude=o,r.latitude=t.north;let s=i.project(r,Qut);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,jut),c=Math.abs(s.x-a.x)*.5,d=Math.abs(s.y-a.y)*.5,u,m,p=e.frustum.right/e.frustum.top,g=d*p;return c>g?(u=c,m=u/p):(m=d,u=g),d=Math.max(2*u,2*m),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=d,n=i.project(r,n),n}nn.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(l(t)||(t=new h),n===oe.SCENE3D)return Xxe(this,e,t);if(n===oe.COLUMBUS_VIEW)return Kut(this,e,t);if(n===oe.SCENE2D)return qut(this,e,t)};var $ut=new gn;function emt(e,t,n,i){n=y(n,ne.default);let o=e.getPickRay(t,$ut),r=ni.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return gn.getPoint(o,s,i)}var tmt=new gn;function nmt(e,t,n,i){let r=e.getPickRay(t,tmt).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-W.PI_OVER_TWO||s.latitude>W.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var imt=new gn;function omt(e,t,n,i){let o=e.getPickRay(t,imt),r=-o.origin.x/o.direction.x;gn.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-W.PI_OVER_TWO||s.latitude>W.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}nn.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(l(n)||(n=new h),t=y(t,ne.default),this._mode===oe.SCENE3D)n=emt(this,e,t,n);else if(this._mode===oe.SCENE2D)n=nmt(this,e,this._projection,n);else if(this._mode===oe.COLUMBUS_VIEW)n=omt(this,e,this._projection,n);else return;return n}};var rmt=new h,smt=new h,amt=new h;function cmt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,d=2/o*t.x-1,u=2/r*(r-t.y)-1,m=e.positionWC;h.clone(m,n.origin);let p=h.multiplyByScalar(e.directionWC,c,rmt);h.add(m,p,p);let g=h.multiplyByScalar(e.rightWC,d*c*a,smt),f=h.multiplyByScalar(e.upWC,u*c*s,amt),x=h.add(p,g,n.direction);return h.add(x,f,x),h.subtract(x,m,x),h.normalize(x,x),n}var bB=new h;function lmt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2/o*t.x-1;c*=(s.right-s.left)*.5;let d=2/r*(r-t.y)-1;d*=(s.top-s.bottom)*.5;let u=n.origin;return h.clone(e.position,u),h.multiplyByScalar(e.right,c,bB),h.add(bB,u,u),h.multiplyByScalar(e.up,d,bB),h.add(bB,u,u),h.clone(e.directionWC,n.direction),(e._mode===oe.COLUMBUS_VIEW||e._mode===oe.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}nn.prototype.getPickRay=function(e,t){l(t)||(t=new gn);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return l(i.aspectRatio)&&l(i.fov)&&l(i.near)?cmt(this,e,t):lmt(this,e,t)};var dmt=new h,umt=new h;nn.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,dmt),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),umt);return Math.max(0,h.magnitude(n)-e.radius)};var mmt=new D;nn.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,mmt);return Math.max(o.x,o.y)};function hmt(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let d=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(d,e.position)}return{easingFunction:zr.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var fmt=new h,pxe=new h,pmt=new h,bmt=new h;function gmt(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,fmt),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,pxe),pxe);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,pmt);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,d=h.magnitude(h.subtract(n,s,bmt)),u=c*d,m=a*d,p=e._maxCoord.x,g=e._maxCoord.y,f=Math.max(u-p,p),x=Math.max(m-g,g);if(n.z<-f||n.z>f||n.y<-x||n.y>x){let _=s.y<-f||s.y>f,C=s.z<-x||s.z>x;if(_||C)return hmt(e,n,s,f,x,t)}}nn.prototype.createCorrectPositionTween=function(e){if(this._mode===oe.COLUMBUS_VIEW)return gmt(this,e)};var ymt=new h,oa={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};nn.prototype.cancelFlight=function(){l(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};nn.prototype.completeFlight=function(){if(l(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=oa.destination,e.orientation.heading=oa.heading,e.orientation.pitch=oa.pitch,e.orientation.roll=oa.roll,this.setView(e),l(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};nn.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===oe.MORPHING)return;this.cancelFlight();let i=t instanceof le;i&&(t=this.getRectangleCameraCoordinates(t,ymt));let o=y(e.orientation,y.EMPTY_OBJECT);if(l(o.direction)&&(o=Lxe(this,t,o,S8.orientation)),l(e.duration)&&e.duration<=0){let u=S8;u.destination=e.destination,u.orientation.heading=o.heading,u.orientation.pitch=o.pitch,u.orientation.roll=o.roll,u.convert=e.convert,u.endTransform=e.endTransform,this.setView(u),typeof e.complete=="function"&&e.complete();return}let r=this,s;oa.destination=t,oa.heading=o.heading,oa.pitch=o.pitch,oa.roll=o.roll,oa.duration=e.duration,oa.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),l(e.complete)&&e.complete()},oa.cancel=e.cancel,oa.endTransform=e.endTransform,oa.convert=i?!1:e.convert,oa.maximumHeight=e.maximumHeight,oa.pitchAdjustHeight=e.pitchAdjustHeight,oa.flyOverLongitude=e.flyOverLongitude,oa.flyOverLongitudeWeight=e.flyOverLongitudeWeight,oa.easingFunction=e.easingFunction;let a=this._scene,c=NF.createTween(a,oa);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let d=this._scene.preloadFlightCamera;this._mode!==oe.SCENE2D&&(l(d)||(d=nn.clone(this)),d.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=d.frustum.computeCullingVolume(d.positionWC,d.directionWC,d.upWC))};function xmt(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function _mt(e,t){let n=e.frustum,i=n.offCenterFrustum;l(i)&&(n=i);let o,r,s=n.right/n.top,a=t*s;return t>a?(o=t,r=o/s):(r=t,o=a),Math.max(o,r)*1.5}var Tmt=100;function Wxe(e,t,n){n=nm.clone(l(n)?n:nn.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!l(r)||r===0){let s=t.radius;s===0?n.range=Tmt:e.frustum instanceof ln||e._mode===oe.SCENE2D?n.range=_mt(e,s):n.range=xmt(e,s),n.range=W.clamp(n.range,i,o)}return n}nn.prototype.viewBoundingSphere=function(e,t){t=Wxe(this,e,t),this.lookAt(e.center,t)};var Smt=new M,Cmt=new h,Vmt=new h,Lmt=new h,Rmt=new h,Zmt=new re,Gmt=new Fe,Emt=new $;nn.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===oe.SCENE2D||this._mode===oe.COLUMBUS_VIEW;this._setTransform(M.IDENTITY);let i=Wxe(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,Cmt):o=Ixe(i.heading,i.pitch,i.range);let r=this._scene,s=y(r.ellipsoid,ne.default),a=vt.eastNorthUpToFixedFrame(e.center,s,Smt);M.multiplyByPoint(a,o,o);let c,d;if(!n){if(c=h.subtract(e.center,o,Vmt),h.normalize(c,c),d=M.multiplyByPointAsVector(a,h.UNIT_Z,Lmt),1-Math.abs(h.dot(c,d))<W.EPSILON6){let m=Fe.fromAxisAngle(c,i.heading,Gmt),p=$.fromQuaternion(m,Emt);h.fromCartesian4(M.getColumn(a,1,Zmt),d),$.multiplyByVector(p,d,d)}let u=h.cross(c,d,Rmt);h.cross(u,c,d),h.normalize(d,d)}this.flyTo({destination:o,orientation:{direction:c,up:d},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var bxe=new h,gxe=new h,_8=new h,yxe=new h,UF=[new h,new h,new h,new h];function Imt(e,t){let n=t.radii,i=e.positionWC,o=h.multiplyComponents(t.oneOverRadii,i,bxe),r=h.magnitude(o),s=h.normalize(o,gxe),a,c;h.equalsEpsilon(s,h.UNIT_Z,W.EPSILON10)?(a=new h(0,1,0),c=new h(0,0,1)):(a=h.normalize(h.cross(h.UNIT_Z,s,_8),_8),c=h.normalize(h.cross(s,a,yxe),yxe));let d=Math.sqrt(h.magnitudeSquared(o)-1),u=h.multiplyByScalar(s,1/r,bxe),m=d/r,p=h.multiplyByScalar(a,m,gxe),g=h.multiplyByScalar(c,m,_8),f=h.add(u,g,UF[0]);h.subtract(f,p,f),h.multiplyComponents(n,f,f);let x=h.subtract(u,g,UF[1]);h.subtract(x,p,x),h.multiplyComponents(n,x,x);let _=h.subtract(u,g,UF[2]);h.add(_,p,_),h.multiplyComponents(n,_,_);let C=h.add(u,g,UF[3]);return h.add(C,p,C),h.multiplyComponents(n,C,C),UF}var T8=new D,Xmt=new h,ky=[new he,new he,new he,new he];function gB(e,t,n,i,o,r){T8.x=e,T8.y=t;let s=i.pickEllipsoid(T8,o,Xmt);return l(s)?(ky[n]=o.cartesianToCartographic(s,ky[n]),1):(ky[n]=o.cartesianToCartographic(r[n],ky[n]),0)}nn.prototype.computeViewRectangle=function(e,t){e=y(e,ne.default);let n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new de(h.ZERO,e.maximumRadius);if(n.computeVisibility(i)===zt.OUTSIDE)return;let r=this._scene.canvas,s=r.clientWidth,a=r.clientHeight,c=0,d=Imt(this,e);if(c+=gB(0,0,0,this,e,d),c+=gB(0,a,1,this,e,d),c+=gB(s,a,2,this,e,d),c+=gB(s,0,3,this,e,d),c<2)return le.MAX_VALUE;t=le.fromCartographicArray(ky,t);let u=0,m=ky[3].longitude;for(let p=0;p<4;++p){let g=ky[p].longitude,f=Math.abs(g-m);f>W.PI?u+=W.TWO_PI-f:u+=f,m=g}return W.equalsEpsilon(Math.abs(u),W.TWO_PI,W.EPSILON9)&&(t.west=-W.PI,t.east=W.PI,ky[0].latitude>=0?t.north=W.PI_OVER_TWO:t.south=-W.PI_OVER_TWO),t};nn.prototype.switchToPerspectiveFrustum=function(){if(this._mode===oe.SCENE2D||this.frustum instanceof Gi)return;let e=this._scene;this.frustum=new Gi,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=W.toRadians(60)};nn.prototype.switchToOrthographicFrustum=function(){if(this._mode===oe.SCENE2D||this.frustum instanceof ln)return;let e=Cxe(this),t=this._scene;this.frustum=new ln,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};nn.clone=function(e,t){return l(t)||(t=new nn(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),M.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var ao=nn;var QMi=T(S(),1);function Wmt(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var mm=Wmt;var o9i=T(S(),1);var Axe=T(ad(),1),Pxe=576,Pmt=100,DF="#ffffff",SB="#48b";function Mxe(e,t){this.credit=e,this.count=y(t,1)}function vmt(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(Lt.equals(o,t))return!0}return!1}function wmt(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;Lt.equals(n,t)||(l(t)&&e._cesiumCreditContainer.removeChild(t.element),l(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var Nxe="cesium-credit-delimiter";function vxe(e){let t=document.createElement("span");return t.textContent=e,t.className=Nxe,t}function wxe(e,t){if(l(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function Fxe(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(l(a)){if(r=s,l(n)&&(r*=2,s>0)){let d=r-1;if(o.length<=d)e.appendChild(vxe(n));else{let u=o[d];u.className!==Nxe&&e.replaceChild(vxe(n),u)}}let c=a.element;if(o.length<=r)e.appendChild(wxe(c,i));else{let d=o[r];d._creditId!==a._id&&e.replaceChild(wxe(c,i),d)}}}for(++r;r<o.length;)e.removeChild(o[r])}function Fmt(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<Pxe?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=Pxe&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function Amt(e){let t=` +.cesium-credit-lightbox-overlay { + display: none; + z-index: 1; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(80, 80, 80, 0.8); +} + +.cesium-credit-lightbox { + background-color: #303336; + color: ${DF}; + position: relative; + min-height: ${Pmt}px; + margin: auto; +} +.cesium-credit-lightbox > ul > li a, +.cesium-credit-lightbox > ul > li a:visited, +.cesium-credit-wrapper a, +.cesium-credit-wrapper a:visited { + color: ${DF}; +} +.cesium-credit-lightbox > ul > li a:hover { + color: ${SB}; +} +.cesium-credit-lightbox.cesium-credit-lightbox-expanded { + border: 1px solid #444; + border-radius: 5px; + max-width: 370px; +} +.cesium-credit-lightbox.cesium-credit-lightbox-mobile { + height: 100%; + width: 100%; +} +.cesium-credit-lightbox-title { + padding: 20px 20px 0 20px; +} +.cesium-credit-lightbox-close { + font-size: 18pt; + cursor: pointer; + position: absolute; + top: 0; + right: 6px; + color: ${DF}; +} +.cesium-credit-lightbox-close:hover { + color: ${SB}; +} +.cesium-credit-lightbox > ul { + margin: 0; + padding: 12px 20px 12px 40px; + font-size: 13px; +} +.cesium-credit-lightbox > ul > li { + padding-bottom: 6px; +} +.cesium-credit-lightbox > ul > li * { + padding: 0; + margin: 0; +} + +.cesium-credit-expand-link { + padding-left: 5px; + cursor: pointer; + text-decoration: underline; + color: ${DF}; +} +.cesium-credit-expand-link:hover { + color: ${SB}; +} + +.cesium-credit-text { + color: ${DF}; +} + +.cesium-credit-delimiter { + padding: 0 5px; +} + +.cesium-credit-textContainer *, +.cesium-credit-logoContainer * { + display: inline; +} + +.cesium-credit-textContainer a:hover { + color: ${SB} +} + +.cesium-credit-textContainer .cesium-credit-wrapper:first-of-type { + padding-left: 5px; +} +`;function n(r){if(r.shadowRoot)return r.shadowRoot;if(r.getRootNode){let s=r.getRootNode();if(s instanceof ShadowRoot)return s}}let i=y(n(e),document.head),o=document.createElement("style");o.innerHTML=t,i.appendChild(o)}function br(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(f){r.contains(f.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="×",c.className="cesium-credit-lightbox-close",r.appendChild(c);let d=document.createElement("ul");r.appendChild(d);let u=document.createElement("div");u.className="cesium-credit-logoContainer",u.style.display="inline",e.appendChild(u);let m=document.createElement("div");m.className="cesium-credit-textContainer",m.style.display="inline",e.appendChild(m);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),Amt(e);let g=Lt.clone(br.cesiumCredit);this._delimiter=y(t,"\u2022"),this._screenContainer=m,this._cesiumCreditContainer=u,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=d,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new Gt,lightboxCredits:new Gt},this._defaultCredit=void 0,this.viewport=n,this.container=e}function kxe(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(l(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new Mxe(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}br.prototype.addCreditToNextFrame=function(e){if(e.isIon()){l(this._defaultCredit)||(this._defaultCredit=Lt.clone(Uxe())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,kxe(this,t,e)};br.prototype.addStaticCredit=function(e){let t=this._staticCredits;vmt(t,e)||t.push(e)};br.prototype.removeStaticCredit=function(e){let t=this._staticCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};br.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};br.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};br.prototype.update=function(){this._expanded&&Fmt(this)};br.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits,n=e.lightboxCredits;t.removeAll(),n.removeAll();let i=this._staticCredits;for(let o=0;o<i.length;++o){let r=i[o],s=r.showOnScreen?t:n;r.isIon()&&Lt.equals(br.cesiumCredit,this._cesiumCredit)||kxe(this,s,r,Number.MAX_VALUE)}Lt.equals(br.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=Lt.clone(br.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};br.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;Fxe(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",Fxe(this._creditList,t,void 0,"li"),wmt(this)};br.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),me(this)};br.prototype.isDestroyed=function(){return!1};br._cesiumCredit=void 0;br._cesiumCreditInitialized=!1;var CB;function Uxe(){if(!l(CB)){let e=sn("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new Axe.default(e).path()),CB=new Lt(`<a href="https://cesium.com/" target="_blank"><img src="${e}" style="vertical-align: -7px" title="Cesium ion"/></a>`,!0)}return br._cesiumCreditInitialized||(br._cesiumCredit=CB,br._cesiumCreditInitialized=!0),CB}Object.defineProperties(br,{cesiumCredit:{get:function(){return Uxe(),br._cesiumCredit},set:function(e){br._cesiumCredit=e,br._cesiumCreditInitialized=!0}}});br.CreditDisplayElement=Mxe;var BF=br;var C9i=T(S(),1);function VB(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,B.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var Mmt=new h,Nmt=new $,kmt=new Fe,Umt=new Gi,Dmt=new cl,Bmt=new ln,Omt=new vr,Ymt=new B,Hmt=[1,1e5];VB.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof Gi?a=Umt:s instanceof cl?a=Dmt:s instanceof ln?a=Bmt:a=Omt,a=s.clone(a);let c,d=this._frustumSplits;!l(d)||d.length<=1?(d=Hmt,d[0]=this._camera.frustum.near,d[1]=this._camera.frustum.far,c=1):c=d.length-1;let u=r.positionWC,m=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,Mmt);let f=Nmt;$.setColumn(f,0,g,f),$.setColumn(f,1,p,f),$.setColumn(f,2,m,f);let x=Fe.fromRotationMatrix(f,kmt);for(t.length=n.length=c,i=0;i<c;++i)a.near=d[i],a.far=d[i+1],t[i]=new Wn({geometryInstances:new Et({geometry:new kT({origin:u,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Ht.fromColor(B.fromAlpha(this._color,.1,Ymt))},id:this.id,pickPrimitive:this}),appearance:new mn({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new Wn({geometryInstances:new Et({geometry:new Zw({origin:u,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Ht.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new mn({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};VB.prototype.isDestroyed=function(){return!1};VB.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return me(this)};var qf=VB;var H9i=T(S(),1);function YF(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var OF=Yt.supportsTypedArrays()?new Float32Array(12):[],Dxe=new h,Bxe=new h,R8=new h,Oxe=new h,LB=new h;function zmt(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof ln)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let m=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,m,Dxe),g=h.normalize(p,Bxe),f=h.normalize(h.cross(h.UNIT_Z,p,R8),R8),x=h.normalize(h.cross(g,f,Oxe),Oxe),_=h.magnitude(p),C=Math.sqrt(_*_-1);o=h.multiplyByScalar(g,1/_,Dxe);let V=C/_;r=h.multiplyByScalar(f,V,Bxe),s=h.multiplyByScalar(x,V,R8)}let a=h.add(o,s,LB);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,OF,0);let c=h.subtract(o,s,LB);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,OF,3);let d=h.add(o,s,LB);h.add(d,r,d),h.multiplyComponents(n,d,d),h.pack(d,OF,6);let u=h.subtract(o,s,LB);return h.add(u,r,u),h.multiplyComponents(n,u,u),h.pack(u,OF,9),OF}YF.prototype.update=function(e){if(this._mode=e.mode,e.mode!==oe.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new ne(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(l(this._command)||(this._rs=Be.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new tt({renderState:this._rs,boundingVolume:new de(h.ZERO,i.maximumRadius),pass:Ge.OPAQUE,owner:this})),!l(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new Oe({sources:[Kw]}),a=new Oe({sources:[zw]});o&&(a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")),this._sp=en.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=zmt(i,e);if(l(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new ht({attributes:{position:new Ze({componentDatatype:Q.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Me.TRIANGLES});this._va=ri.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:Ue.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};YF.prototype.execute=function(e,t){this._mode===oe.SCENE3D&&this._command.execute(e,t)};YF.prototype.isDestroyed=function(){return!1};YF.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var HF=YF;var nNi=T(S(),1);function yL(){}var Kmt=/\bgl_FragDepth\b/,Jmt=/\bdiscard\b/;function Qmt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(l(n))return n;let i=t.fragmentShaderSource,o=!1,r=i.sources;for(let a=0;a<r.length;++a)if(Kmt.test(r[a])||Jmt.test(r[a])){o=!0;break}let s=i.defines.indexOf("LOG_DEPTH")>=0;if(!o&&!s){let a=`void main() +{ + out_FragColor = vec4(1.0); +} +`;i=new Oe({sources:[a]})}else if(!o&&s){let a=`void main() +{ + out_FragColor = vec4(1.0); + czm_writeLogDepth(); +} +`;i=new Oe({defines:["LOG_DEPTH"],sources:[a]})}return e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}function jmt(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(l(i))return i;let o=Be.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1};let r=Be.fromCache(o);return n[t.id]=r,r}yL.createDepthOnlyDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.depthOnlyCommand?.shaderProgram,r=i.depthOnlyCommand?.renderState;return i.depthOnlyCommand=tt.shallowClone(t,i.depthOnlyCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=Qmt(n,t.shaderProgram),i.depthOnlyCommand.renderState=jmt(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var qmt=/\s+czm_writeLogDepth\(/,$mt=/\s+czm_vertexLogDepth\(/;function eht(e,t){if(t.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return t;let i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(l(i))return i;let o=t._attributeLocations,r=t.vertexShaderSource.clone(),s=t.fragmentShaderSource.clone();r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH"),s.defines=l(s.defines)?s.defines.slice(0):[],s.defines.push("LOG_DEPTH");let a=!1,c=r.sources;for(let u=0;u<c.length;++u)if($mt.test(c[u])){a=!0;break}if(!a){for(let m=0;m<c.length;++m)c[m]=Oe.replaceMain(c[m],"czm_log_depth_main");c.push(` + +void main() +{ + czm_log_depth_main(); + czm_vertexLogDepth(); +} +`)}c=s.sources,a=!1;for(let u=0;u<c.length;++u)qmt.test(c[u])&&(a=!0);s.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(a=!0);let d="";if(!a){for(let u=0;u<c.length;u++)c[u]=Oe.replaceMain(c[u],"czm_log_depth_main");d=` +void main() +{ + czm_log_depth_main(); + czm_writeLogDepth(); +} +`}return c.push(d),e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o})}yL.createLogDepthCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=tt.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=eht(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function tht(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(l(i))return i;Object.prototype.toString.call(n)==="[object Object]"&&(n.color?n=`vec4(${B.floatToByte(n.color.red)}, ${B.floatToByte(n.color.green)}, ${B.floatToByte(n.color.blue)}, ${B.floatToByte(n.color.alpha)})`:n="vec4(1.0)");let o=t._attributeLocations,{sources:r,defines:s}=t.fragmentShaderSource,c=r.some(g=>g.includes("out_FragData"))?"out_FragData_0":"out_FragColor",d=`void main () +{ + czm_non_pick_main(); + if (${c}.a == 0.0) { + discard; + } + ${c} = ${n}; +} `,u=r.length,m=new Array(u+1);for(let g=0;g<u;++g)m[g]=Oe.replaceMain(r[g],"czm_non_pick_main");m[u]=d;let p=new Oe({sources:m,defines:s});return e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:p,attributeLocations:o})}function Yxe(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(l(i))return i;let o=Be.getState(t);o.blending.enabled=!1,o.depthMask=!0;let r=Be.fromCache(o);return n[t.id]=r,r}yL.createPickDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.pickCommand?.shaderProgram,r=i.pickCommand?.renderState;return i.pickCommand=tt.shallowClone(t,i.pickCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=tht(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=Yxe(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function gL(e,t,n){let i=e.length;for(let o=0;o<i;o++)e[o].trimStart().split(/\s+/)[0]===t&&(e[o]=`${t} ${n}`)}function Hxe(e){return e.isArray?e.arrayLength:ft.getComponentCount(e.type)}function nht(e){let t=Hxe(e);return e.normalized?t===1?"float":`vec${t}`:t===1?"int":`ivec${t}`}function zxe(e,t,n){return`((${e} - float(${t})) / float(${n}))`}function Kxe(e,t){let n=Ut.getMaximum(t);return`(${e}) / float(${n})`}function iht(e,t){let n="float(value)";if(t.hasValueTransform){let i=t.offset,o=t.scale;n=zxe(n,i,o)}return e.normalized||(n=Kxe(n,e.componentType)),n}function oht(e,t,n){let o=`float(${`value.${n}`})`;if(t.hasValueTransform){let r=t.offset[n],s=t.scale[n];o=zxe(o,r,s)}return e.normalized||(o=Kxe(o,e.componentType)),o}function rht(e,t,n){let i=n.schemaId,o=n.className,r=n.propertyName,s=`pickMetadata-${i}-${o}-${r}`,a=e.shaderCache.getDerivedShaderProgram(t,s);if(l(a))return a;let c=n.metadataProperty,d=n.classProperty,u=nht(d),m=["0.0","0.0","0.0","0.0"],p=Hxe(d);if(p===1)m[0]=iht(d,c);else{let _=["x","y","z","w"];for(let C=0;C<p;C++)m[C]=oht(d,c,_[C])}let g=t.fragmentShaderSource.defines.slice();g.push(Vd.METADATA_PICKING_ENABLED),gL(g,Vd.METADATA_PICKING_VALUE_TYPE,u),gL(g,Vd.METADATA_PICKING_VALUE_STRING,`metadata.${r}`),gL(g,Vd.METADATA_PICKING_VALUE_COMPONENT_X,m[0]),gL(g,Vd.METADATA_PICKING_VALUE_COMPONENT_Y,m[1]),gL(g,Vd.METADATA_PICKING_VALUE_COMPONENT_Z,m[2]),gL(g,Vd.METADATA_PICKING_VALUE_COMPONENT_W,m[3]);let f=new Oe({sources:t.fragmentShaderSource.sources,defines:g});return e.shaderCache.createDerivedShaderProgram(t,s,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:f,attributeLocations:t._attributeLocations})}yL.createPickMetadataDerivedCommand=function(e,t,n,i){return l(i)||(i={}),i.pickMetadataCommand=tt.shallowClone(t,i.pickMetadataCommand),i.pickMetadataCommand.shaderProgram=rht(n,t.shaderProgram,t.pickedMetadataInfo),i.pickMetadataCommand.renderState=Yxe(e,t.renderState),i.shaderProgramId=t.shaderProgram.id,i};function sht(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(l(n))return n;let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();return o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}yL.createHdrCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=tt.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=sht(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var $f=yL;var lNi=T(S(),1);function RB(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!l(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=W.toRadians(o),t._beta=W.toRadians(i.beta),t._gamma=W.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var aht=new Fe,Jxe=new Fe,cht=new $;function lht(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Fe.fromAxisAngle(o,n,Jxe),c=Fe.fromAxisAngle(r,i,aht),d=Fe.multiply(c,a,c),u=Fe.fromAxisAngle(s,t,Jxe);Fe.multiply(u,d,d);let m=$.fromQuaternion(d,cht);$.multiplyByVector(m,r,r),$.multiplyByVector(m,s,s),$.multiplyByVector(m,o,o)}RB.prototype.update=function(){if(!l(this._alpha))return;l(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;lht(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};RB.prototype.isDestroyed=function(){return!1};RB.prototype.destroy=function(){return this._removeListener(),me(this)};var zF=RB;var pNi=T(S(),1);function Z8(){this.enabled=!0,this.renderable=!0,this.density=6e-4,this.heightScalar=.001,this._heightFalloff=.59,this.maxHeight=8e5,this.visualDensityScalar=.15,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}Object.defineProperties(Z8.prototype,{heightFalloff:{get:function(){return this._heightFalloff},set:function(e){this._heightFalloff=e}}});var dht=new h;Z8.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!l(i)||i.height>this.maxHeight||e.mode!==oe.SCENE3D){e.fog.enabled=!1,e.fog.density=0;return}let o=i.height,r=this.density*this.heightScalar*Math.pow(Math.max(o/this.maxHeight,W.EPSILON4),-Math.max(this._heightFalloff,0)),s=h.normalize(n.positionWC,dht),a=Math.abs(h.dot(n.directionWC,s));r*=1-a,e.fog.density=r,e.fog.visualDensityScalar=this.visualDensityScalar,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var KF=Z8;var yNi=T(S(),1);function uht(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=oe.SCENE3D,this.morphTime=oe.getMorphTime(oe.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,pickVoxel:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,renderable:!1,density:void 0,visualDensityScalar:void 0,sse:void 0,minimumBrightness:void 0},this.atmosphere=void 0,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0,this.pickingMetadata=!1,this.pickedMetadataInfo=void 0}var JF=uht;var WNi=T(S(),1);var Va={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},$T=Va.DERIVED_COMMANDS_MAXIMUM_LENGTH,r_e=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function eS(){this._frontFaceAlphaByDistance=new kt(0,1,0,1),this._backFaceAlphaByDistance=new kt(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=le.clone(le.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array($T),this._derivedBlendCommandTypes=new Array($T),this._derivedPickCommandTypes=new Array($T),this._derivedCommandTypesToUpdate=new Array($T),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(eS.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});eS.prototype.update=function(e){let t=e.globe;if(!l(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=Qxe(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=Qxe(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=jxe(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=jxe(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=pht(this,e,t),this._sunVisibleThroughGlobe=mht(this,e),this._environmentVisible=hht(this,e),this._useDepthPlane=fht(this,e),this._numberOfTextureUniforms=bht(this),this._rectangle=le.clone(t.translucency.rectangle,this._rectangle),ght(this,e)};function Qxe(e,t,n,i){return e?l(n)?(kt.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function jxe(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function mht(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function hht(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function fht(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function pht(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==oe.SCENE2D&&t.context.depthTexture}function bht(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function ght(e,t){e._derivedCommandsLength=G8(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=G8(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=G8(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<$T;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!l(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=Wht())}function G8(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,d=e._requiresManualDepthTest,u=i?Va.PICK_FRONT_FACE:d?Va.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:Va.TRANSLUCENT_FRONT_FACE,m=i?Va.PICK_BACK_FACE:d?Va.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:Va.TRANSLUCENT_BACK_FACE;return t.mode===oe.SCENE2D?(o[r++]=Va.DEPTH_ONLY_FRONT_FACE,o[r++]=u,r):(a?(n||(o[r++]=Va.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=u,o[r++]=m):(o[r++]=m,o[r++]=u)):c?(n||(o[r++]=Va.DEPTH_ONLY_BACK_FACE),o[r++]=Va.OPAQUE_FRONT_FACE,o[r++]=m):(n||(o[r++]=Va.DEPTH_ONLY_FRONT_FACE),o[r++]=Va.OPAQUE_BACK_FACE,o[r++]=u),r)}function hm(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function qxe(e,t){return e.indexOf(t)>-1}function yht(e,t){hm(e.defines,"TRANSLUCENT"),hm(t.defines,"TRANSLUCENT")}function xht(e,t){hm(e.defines,"GROUND_ATMOSPHERE"),hm(t.defines,"GROUND_ATMOSPHERE"),hm(e.defines,"FOG"),hm(t.defines,"FOG"),hm(e.defines,"TRANSLUCENT"),hm(t.defines,"TRANSLUCENT")}function E8(e,t){if(qxe(t.defines,"TILE_LIMIT_RECTANGLE")||qxe(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main() +{ + out_FragColor = vec4(1.0); +} +`;t.sources=[n]}function I8(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=Oe.replaceMain(n[r],"czm_globe_translucency_main");n.push(` + +uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; +#ifdef MANUAL_DEPTH_TEST + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); + if (logDepthOrDepth != 0.0) + { + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + float depthEC = eyeCoordinate.z / eyeCoordinate.w; + if (v_positionEC.z < depthEC) + { + discard; + } + } +#endif + czm_globe_translucency_main(); + vec4 classificationColor = texture(u_classificationTexture, st); + if (classificationColor.a > 0.0) + { + // Reverse premultiplication process to get the correct composited result of the classification primitives + classificationColor.rgb /= classificationColor.a; + } + out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); +} +`)}function s_e(e,t){I8(e,t),hm(e.defines,"GROUND_ATMOSPHERE"),hm(t.defines,"GROUND_ATMOSPHERE"),hm(e.defines,"FOG"),hm(t.defines,"FOG")}function _ht(e,t){I8(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Tht(e,t){s_e(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function $xe(e,t){let n=`uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; + vec4 pickColor = texture(u_classificationTexture, st); + if (pickColor == vec4(0.0)) + { + discard; + } + out_FragColor = pickColor; +} +`;t.sources=[n]}function Sht(e,t,n,i,o,r){if(!l(o))return t;if(!i&&l(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!l(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),d=t.fragmentShaderSource.clone();c.defines=l(c.defines)?c.defines.slice(0):[],d.defines=l(d.defines)?d.defines.slice(0):[],o(c,d),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:d,attributeLocations:a})}return s}function Cht(e){e.cull.face=Ti.BACK,e.cull.enabled=!0}function Vht(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0}function Lht(e){e.cull.face=Ti.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Rht(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Zht(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function e_e(e){e.cull.face=Ti.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=hn.ALPHA_BLEND}function t_e(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=hn.ALPHA_BLEND}function Ght(e){e.cull.face=Ti.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function Eht(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function Iht(e,t,n,i,o){if(!l(i))return e;if(!n&&l(t))return t;let r=o[e.id];if(!l(r)){let s=Be.getState(e);i(s),r=Be.fromCache(s),o[e.id]=r}return r}function xL(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function Xht(e,t,n,i,o){return l(o)?!i&&l(n)?n:Vt(t,o(e),!1):t}function Ah(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function Wht(){return[new Ah({pass:Ge.GLOBE,pickOnly:!1,getShaderProgramFunction:yht,getRenderStateFunction:Cht,getUniformMapFunction:void 0}),new Ah({pass:Ge.GLOBE,pickOnly:!1,getShaderProgramFunction:xht,getRenderStateFunction:Vht,getUniformMapFunction:void 0}),new Ah({pass:Ge.GLOBE,pickOnly:!1,getShaderProgramFunction:E8,getRenderStateFunction:Lht,getUniformMapFunction:void 0}),new Ah({pass:Ge.GLOBE,pickOnly:!1,getShaderProgramFunction:E8,getRenderStateFunction:Rht,getUniformMapFunction:void 0}),new Ah({pass:Ge.GLOBE,pickOnly:!1,getShaderProgramFunction:E8,getRenderStateFunction:Zht,getUniformMapFunction:void 0}),new Ah({pass:Ge.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:I8,getRenderStateFunction:e_e,getUniformMapFunction:xL}),new Ah({pass:Ge.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:s_e,getRenderStateFunction:t_e,getUniformMapFunction:xL}),new Ah({pass:Ge.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:_ht,getRenderStateFunction:e_e,getUniformMapFunction:xL}),new Ah({pass:Ge.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Tht,getRenderStateFunction:t_e,getUniformMapFunction:xL}),new Ah({pass:Ge.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:$xe,getRenderStateFunction:Ght,getUniformMapFunction:xL}),new Ah({pass:Ge.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:$xe,getRenderStateFunction:Eht,getUniformMapFunction:xL})]}var n_e=new Array($T),i_e=new Array($T);eS.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)i_e[o]=this._derivedCommandPacks[n[o]],n_e[o]=r_e[n[o]];Pht(this,e,i,n,n_e,i_e,t)}};function Pht(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!l(a)||c){t.dirty=!1,l(a)||(a={},t.derivedCommands.globeTranslucency=a);let d=s.frameNumber,u=y(a.uniformMapDirtyFrame,0),m=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,f=a.shaderProgramId!==t.shaderProgram.id,x=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=d),f&&(a.shaderProgramDirtyFrame=d),x&&(a.renderStateDirtyFrame=d),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let _=0;_<n;++_){let C=r[_],V=i[_],L=o[_],Z=a[L],G,I,v;l(Z)?(G=Z.uniformMap,I=Z.shaderProgram,v=Z.renderState):(G=void 0,I=void 0,v=void 0),Z=tt.shallowClone(t,Z),a[L]=Z;let P=y(Z.derivedCommands.uniformMapDirtyFrame,0),w=y(Z.derivedCommands.shaderProgramDirtyFrame,0),A=y(Z.derivedCommands.renderStateDirtyFrame,0),b=g||P<u,R=f||w<m,E=x||A<p;b&&(Z.derivedCommands.uniformMapDirtyFrame=d),R&&(Z.derivedCommands.shaderProgramDirtyFrame=d),E&&(Z.derivedCommands.renderStateDirtyFrame=d),Z.derivedCommands.type=V,Z.pass=C.pass,Z.pickOnly=C.pickOnly,Z.uniformMap=Xht(e,t.uniformMap,G,b,C.getUniformMapFunction),Z.shaderProgram=Sht(s.context,t.shaderProgram,I,R,C.getShaderProgramFunction,L),Z.renderState=Iht(t.renderState,v,E,C.getRenderStateFunction,C.renderStateCache)}}}eS.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick||n.passes.pickVoxel;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=r_e[o[a]];n.commandList.push(s[c])}};function a_e(e,t,n,i,o,r){for(let s=0;s<t;++s){let a=e[s],c=a.derivedCommands.type;(!l(r)||r.indexOf(c)>-1)&&n(a,i,o)}}function o_e(e,t,n,i,o){for(let r=0;r<t;++r)n(e[r],i,o)}var vht=[Va.OPAQUE_FRONT_FACE,Va.OPAQUE_BACK_FACE],wht=[Va.DEPTH_ONLY_FRONT_FACE,Va.DEPTH_ONLY_BACK_FACE,Va.DEPTH_ONLY_FRONT_AND_BACK_FACE];eS.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[Ge.GLOBE],a=e.indices[Ge.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),a_e(s,a,t,i,o,vht))};eS.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let{context:r}=i,{uniformState:s}=r,a=e.commands[Ge.GLOBE],c=e.indices[Ge.GLOBE],d=e.commands[Ge.TERRAIN_CLASSIFICATION],u=e.indices[Ge.TERRAIN_CLASSIFICATION];if(c===0||u===0)return;let m=this._frontFaceTranslucent,p=this._backFaceTranslucent;if((!m||!p)&&o_e(d,u,t,i,o),!m&&!p)return;this._globeTranslucencyFramebuffer=n;let g=s.globeDepthTexture,f=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,a_e(a,c,t,i,o,wht),r.depthTexture){let x=n.packDepth(r,o);s.globeDepthTexture=x}o_e(d,u,t,i,o),s.globeDepthTexture=g,o.framebuffer=f};var QF=eS;var $Ni=T(S(),1);var vNi=T(S(),1),ql=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(colorTexture, v_textureCoordinates); +} +`;function ep(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new gi({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new gi({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new oi({color:new B(0,0,0,0),owner:this}),this._clearCommand=new oi({color:new B(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(ep.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});ep.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var Fht={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Bn.EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.NEVER,reference:0,mask:Dt.CLASSIFICATION_MASK},blending:hn.ALPHA_BLEND},Aht={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Bn.NOT_EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.NEVER,reference:0,mask:Dt.CLASSIFICATION_MASK},blending:hn.ALPHA_BLEND},Mht={depthMask:!0,depthTest:{enabled:!0},stencilTest:Dt.setCesium3DTileBit(),stencilMask:Dt.CESIUM_3D_TILE_MASK,blending:hn.ALPHA_BLEND},Nht=`uniform sampler2D colorTexture; +uniform sampler2D depthTexture; +uniform sampler2D classifiedTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } + bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); +#ifdef UNCLASSIFIED + vec4 highlightColor = czm_invertClassificationColor; + if (isClassified) + { + discard; + } +#else + vec4 highlightColor = vec4(1.0); + if (!isClassified) + { + discard; + } +#endif + out_FragColor = color * highlightColor; + gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; +} +`,kht=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } +#ifdef UNCLASSIFIED + out_FragColor = color * czm_invertClassificationColor; +#else + out_FragColor = color; +#endif +} +`;ep.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!l(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._previousFramebuffer)||(this._depthStencilTexture=new It({context:e,width:s,height:a,pixelFormat:st.DEPTH_STENCIL,pixelDatatype:qe.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new md({context:e,width:s,height:a,format:Mc.DEPTH24_STENCIL8,numSamples:t})))),!l(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let d,u;l(this._previousFramebuffer)?(d=n.getDepthStencilTexture(),u=n.getDepthStencilRenderbuffer()):(d=this._depthStencilTexture,u=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(d),l(u)&&this._fbo.setDepthStencilRenderbuffer(u),this._fbo.update(e,s,a,t),l(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(d),this._fboClassified.update(e,s,a))}if(l(this._rsUnclassified)||(this._rsUnclassified=Be.fromCache(Fht),this._rsClassified=Be.fromCache(Aht),this._rsDefault=Be.fromCache(Mht)),!l(this._unclassifiedCommand)||o||r){l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let d=l(this._previousFramebuffer)?kht:Nht,u=new Oe({defines:["UNCLASSIFIED"],sources:[d]}),m=new Oe({sources:[d]});this._unclassifiedCommand=e.createViewportQuadCommand(u,{renderState:l(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(m,{renderState:l(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),l(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),l(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(ql,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};ep.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};ep.prototype.clear=function(e,t){l(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};ep.prototype.executeClassified=function(e,t){if(!l(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};ep.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};ep.prototype.isDestroyed=function(){return!1};ep.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),me(this)};var _L=ep;var o5i=T(S(),1);function ZB(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(ZB.prototype,{total:{get:function(){return this._total}}});function Uy(e){let t=new Array(Na.NUMBER_OF_JOB_TYPES);t[Na.TEXTURE]=new ZB(l(e)?e[Na.TEXTURE]:10),t[Na.PROGRAM]=new ZB(l(e)?e[Na.PROGRAM]:10),t[Na.BUFFER]=new ZB(l(e)?e[Na.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}Uy.getTimestamp=Ci;Object.defineProperties(Uy.prototype,{totalBudget:{get:function(){return this._totalBudget}}});Uy.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};Uy.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};Uy.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,d;for(d=0;d<c&&(r=n[d],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++d);if(d===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=Uy.getTimestamp();e.execute();let a=Uy.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var jF=Uy;var d5i=T(S(),1);function GB(e){e=y(e,y.EMPTY_OBJECT);let t=Pn(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=Ci(),this._lastMsSampleTime=Ci(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(GB.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});GB.prototype.update=function(e){let t=Ci(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};GB.prototype.destroy=function(){return me(this)};var y0=GB;var hBi=T(S(),1);var C5i=T(S(),1);var La={};La.decodeRawMetadataValue=function(e,t,n){switch(e){case Ut.INT8:return t.getInt8(n);case Ut.UINT8:return t.getUint8(n);case Ut.INT16:return t.getInt16(n,!0);case Ut.UINT16:return t.getUint16(n,!0);case Ut.INT32:return t.getInt32(n,!0);case Ut.UINT32:return t.getUint32(n,!0);case Ut.INT64:return t.getBigInt64(n,!0);case Ut.UINT64:return t.getBigUint64(n,!0);case Ut.FLOAT32:return t.getFloat32(n,!0);case Ut.FLOAT64:return t.getFloat64(n,!0)}throw new ce(`Invalid component type: ${e}`)};La.decodeRawMetadataValueComponent=function(e,t,n){let i=e.componentType,o=La.decodeRawMetadataValue(i,t,n);return e.normalized?Ut.normalize(o,i):o};La.decodeRawMetadataValueElement=function(e,t,n){let i=e.componentType,o=Ut.getSizeInBytes(i),r=e.type,s=ft.getComponentCount(r),a=o*s;if(s>1){let u=Array(s);for(let m=0;m<s;m++){let p=n*a+m*o,g=La.decodeRawMetadataValueComponent(e,t,p);u[m]=g}return u}let c=n*a;return La.decodeRawMetadataValueComponent(e,t,c)};La.decodeRawMetadataValues=function(e,t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=La.decodeRawMetadataValueElement(e,n,s);r[s]=a}return r}return La.decodeRawMetadataValueElement(e,n,0)};La.convertToObjectType=function(e,t){if(!l(t)||e===ft.SCALAR||e===ft.STRING||e===ft.BOOLEAN||e===ft.ENUM)return t;let n=t.map(i=>Number(i));switch(e){case ft.VEC2:return D.unpack(n,0,new D);case ft.VEC3:return h.unpack(n,0,new h);case ft.VEC4:return re.unpack(n,0,new re);case ft.MAT2:return Ii.unpack(n,0,new Ii);case ft.MAT3:return $.unpack(n,0,new $);case ft.MAT4:return M.unpack(n,0,new M)}throw new ce(`Invalid metadata object type: ${e}`)};La.convertFromObjectType=function(e,t){if(!l(t)||e===ft.SCALAR||e===ft.STRING||e===ft.BOOLEAN||e===ft.ENUM)return t;switch(e){case ft.VEC2:return D.pack(t,Array(2));case ft.VEC3:return h.pack(t,Array(3));case ft.VEC4:return re.pack(t,Array(4));case ft.MAT2:return Ii.pack(t,Array(4));case ft.MAT3:return $.pack(t,Array(9));case ft.MAT4:return M.pack(t,Array(16))}throw new ce(`Invalid metadata object type: ${e}`)};La.decodeMetadataValues=function(e,t,n){let i=La.decodeRawMetadataValues(e,n);if(t.hasValueTransform){let r=La.convertFromObjectType(e.type,t.offset),s=La.convertFromObjectType(e.type,t.scale);i=hf.valueTransformInPlace(i,r,s,Ut.applyValueTransform)}if(e.isArray){let r=e.arrayLength,s=Array(r);for(let a=0;a<r;a++){let c=i[a],d=La.convertToObjectType(e.type,c);s[a]=d}return s}return La.convertToObjectType(e.type,i)};var qF=Object.freeze(La);var I5i=T(S(),1);function tS(){this._framebuffer=new gi,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(tS.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function Uht(e,t,n){let{width:i,height:o}=n;e._framebuffer.update(t,i,o)}function Dht(e,t,n){l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(`uniform highp sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 globeDepthPacked = texture(czm_globeDepthTexture, v_textureCoordinates); + float globeDepth = czm_unpackDepth(globeDepthPacked); + float depth = texture(colorTexture, v_textureCoordinates).r; + out_FragColor = czm_branchFreeTernary(globeDepth <= 0.0 || globeDepth >= 1.0 || depth < globeDepth && depth > 0.0 && depth < 1.0, + czm_packDepth(depth), globeDepthPacked); +} +`,{renderState:Be.fromCache(),uniformMap:{colorTexture:function(){return e._textureToCopy}},owner:e})),e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}tS.prototype.update=function(e,t){Uht(this,e,t),Dht(this,e,t)};var Bht=new re,Oht=new re(1,1/255,1/65025,1/16581375);tS.prototype.getDepth=function(e,t,n){if(!l(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=re.unpack(i,0,Bht);return re.divideByScalar(o,255,o),re.dot(o,Oht)};tS.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};tS.prototype.isDestroyed=function(){return!1};tS.prototype.destroy=function(){return this._framebuffer.destroy(),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=l(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),me(this)};var $F=tS;var kDi=T(S(),1);var v5i=T(S(),1);function Yht(e,t){this.near=y(e,0),this.far=y(t,0);let n=Ge.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var eA=Yht;var q5i=T(S(),1);var F5i=T(S(),1),Dy=`uniform highp sampler2D u_depthTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); +} +`;function tp(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new gi({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new gi({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new gi,this._tempCopyDepthFramebuffer=new gi,this._updateDepthFramebuffer=new gi({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new Je,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(tp.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function c_e(e,t,n,i,o){let r=e._viewport;r.width=n,r.height=i;let s=!Je.equals(r,o.viewport),a=s!==e._useScissorTest;e._useScissorTest=s,Je.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Je.clone(o.viewport,e._scissorRectangle),a=!0),(!l(e._rs)||!Je.equals(r,e._rs.viewport)||a)&&(e._rs=Be.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=Be.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:hn.ALPHA_BLEND}),e._rsUpdate=Be.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Bn.EQUAL,frontOperation:{fail:bt.KEEP,zFail:bt.KEEP,zPass:bt.KEEP},backFunction:Bn.NEVER,reference:Dt.CESIUM_3D_TILE_MASK,mask:Dt.CESIUM_3D_TILE_MASK}})),l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(Dy,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,l(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(ql,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,l(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(Dy,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,l(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(ql,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,l(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new oi({color:new B(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}tp.prototype.update=function(e,t,n,i,o,r){let{width:s,height:a}=n,c=o?e.halfFloatingPointTexture?qe.HALF_FLOAT:qe.FLOAT:qe.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),c_e(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._clearGlobeDepth=r};tp.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};tp.prototype.executeCopyDepth=function(e,t){l(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};tp.prototype.executeUpdateDepth=function(e,t,n){let i=l(n)?n:t.framebuffer.depthStencilTexture;if(!this._clearGlobeDepth&&i===this.colorFramebufferManager.getDepthStencilTexture()){l(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t);return}if(!l(this._updateDepthCommand))return;let o=this._updateDepthFramebuffer;if(!l(o.framebuffer)||o.getDepthStencilTexture()!==i||o.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture(),{width:s,height:a}=r;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,s,a),o.setColorTexture(r,0),o.setDepthStencilTexture(i),o.update(e,s,a),c_e(this,e,s,a,t)}this._tempCopyDepthTexture=i,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)};tp.prototype.executeCopyColor=function(e,t){l(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};tp.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;l(i)&&(B.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};tp.prototype.isDestroyed=function(){return!1};tp.prototype.destroy=function(){return this._pickColorFramebuffer.destroy(),this._outputFramebuffer.destroy(),this._copyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.destroy(),this._updateDepthFramebuffer.destroy(),l(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),l(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),l(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),me(this)};var tA=tp;var lki=T(S(),1);function nS(){this._framebuffer=new gi({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new gi,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new Je,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(nS.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function Hht(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function zht(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?qe.HALF_FLOAT:qe.FLOAT:qe.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function Kht(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!Je.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,Je.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Je.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._renderState)||!Je.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(Dy,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),l(e._clearCommand)||(e._clearCommand=new oi({color:new B(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}nS.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;zht(this,n,o,r,e),Kht(this,n,o,r,i),this._useHdr=e};nS.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};nS.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};nS.prototype.isDestroyed=function(){return!1};nS.prototype.destroy=function(){return Hht(this),me(this)};var nA=nS;var Gki=T(S(),1);function x0(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new gi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new gi({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new gi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new gi({createColorAttachments:!1}),this._opaqueClearCommand=new oi({color:new B(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new oi({color:new B(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new oi({color:new B(0,0,0,0),owner:this}),this._alphaClearCommand=new oi({color:new B(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new Je,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function l_e(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function X8(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function d_e(e){l_e(e),X8(e)}function Jht(e,t,n,i){l_e(e),e._accumulationTexture=new It({context:t,width:n,height:i,pixelFormat:st.RGBA,pixelDatatype:qe.FLOAT}),e._revealageTexture=new It({context:t,pixelFormat:st.RGBA,pixelDatatype:qe.FLOAT,width:n,height:i,flipY:!1})}function Qht(e,t){X8(e);let n=ie.FRAMEBUFFER_COMPLETE,i=!0,{width:o,height:r}=e._accumulationTexture;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&(X8(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,d=e._adjustAlphaFBO.status===n;(!s||!a||!c||!d)&&(d_e(e),e._translucentMultipassSupport=!1,i=!1)}return i}x0.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let{width:r,height:s}=this._opaqueTexture,a=this._accumulationTexture,c=!l(a)||a.width!==r||a.height!==s||i!==this._useHDR,d=this._numSamples!==o;if((c||d)&&(this._numSamples=o,Jht(this,e,r,s)),(!l(this._translucentFBO.framebuffer)||c||d)&&!Qht(this,e))return;this._useHDR=i;let u=this,m,p;l(this._compositeCommand)||(m=new Oe({sources:[Hw]}),this._translucentMRTSupport&&m.defines.push("MRT"),p={u_opaque:function(){return u._opaqueTexture},u_accumulation:function(){return u._accumulationTexture},u_revealage:function(){return u._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this})),l(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(m=new Oe({defines:["MRT"],sources:[QV]}),p={u_bgColor:function(){return u._translucentMRTClearCommand.color},u_depthTexture:function(){return u._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(m=new Oe({sources:[QV]}),p={u_bgColor:function(){return u._translucentMultipassClearCommand.color},u_depthTexture:function(){return u._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this}),p={u_bgColor:function(){return u._alphaClearCommand.color},u_depthTexture:function(){return u._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(m,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!Je.equals(this._viewport,t.viewport),f=g!==this._useScissorTest;this._useScissorTest=g,Je.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=Je.clone(t.viewport,this._scissorRectangle),f=!0),(!l(this._rs)||!Je.equals(this._viewport,this._rs.viewport)||f)&&(this._rs=Be.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),l(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var jht={enabled:!0,color:new B(0,0,0,0),equationRgb:wa.ADD,equationAlpha:wa.ADD,functionSourceRgb:Co.ONE,functionDestinationRgb:Co.ONE,functionSourceAlpha:Co.ZERO,functionDestinationAlpha:Co.ONE_MINUS_SOURCE_ALPHA},qht={enabled:!0,color:new B(0,0,0,0),equationRgb:wa.ADD,equationAlpha:wa.ADD,functionSourceRgb:Co.ONE,functionDestinationRgb:Co.ONE,functionSourceAlpha:Co.ONE,functionDestinationAlpha:Co.ONE},$ht={enabled:!0,color:new B(0,0,0,0),equationRgb:wa.ADD,equationAlpha:wa.ADD,functionSourceRgb:Co.ZERO,functionDestinationRgb:Co.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:Co.ZERO,functionDestinationAlpha:Co.ONE_MINUS_SOURCE_ALPHA};function W8(e,t,n,i){let o=n[i.id];if(!l(o)){let r=Be.getState(i);r.depthMask=!1,r.blending=t,o=Be.fromCache(r),n[i.id]=o}return o}function eft(e,t,n){return W8(t,jht,e._translucentRenderStateCache,n)}function tft(e,t,n){return W8(t,qht,e._translucentRenderStateCache,n)}function nft(e,t,n){return W8(t,$ht,e._alphaRenderStateCache,n)}var ift=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragData_0 = vec4(Ci * wzi, ai); + out_FragData_1 = vec4(ai * wzi); +`,oft=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragColor = vec4(Ci, ai) * wzi; +`,rft=` float ai = czm_out_FragColor.a; + out_FragColor = vec4(ai); +`;function P8(e,t,n,i){let{shaderCache:o}=e,r=o.getDerivedShaderProgram(t,n);if(l(r))return r;let s=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map(function(u){return Oe.replaceMain(u,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,`vec4 czm_out_FragColor; +bool czm_discard = false; +`);let c=[...i.matchAll(/out_FragData_(\d+)/g)],d="";for(let u=0;u<c.length;u++){let m=c[u];d=`layout (location = ${m[1]}) out vec4 ${m[0]}; +${d}`}return a.sources.push(d),a.sources.push(`void main() +{ + czm_translucent_main(); + if (czm_discard) + { + discard; + } +${i}} +`),o.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:s})}function sft(e,t){return P8(e,t,"translucentMRT",ift)}function aft(e,t){return P8(e,t,"translucentMultipass",oft)}function cft(e,t){return P8(e,t,"alphaMultipass",rft)}x0.prototype.createDerivedCommands=function(e,t,n){if(l(n)||(n={}),this._translucentMRTSupport){let a,c;return l(n.translucentCommand)&&(a=n.translucentCommand.shaderProgram,c=n.translucentCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),!l(a)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=sft(t,e.shaderProgram),n.translucentCommand.renderState=eft(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=a,n.translucentCommand.renderState=c),n}let i,o,r,s;return l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),n.alphaCommand=tt.shallowClone(e,n.alphaCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=aft(t,e.shaderProgram),n.translucentCommand.renderState=tft(this,t,e.renderState),n.alphaCommand.shaderProgram=cft(t,e.shaderProgram),n.alphaCommand.renderState=nft(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s),n};function lft(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:d}=a,u=t._hdr,m=i.framebuffer,p=d.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let f=0;f<o.length;++f){let x=o[f];x=c?x.derivedCommands.logDepth.command:x,x=u?x.derivedCommands.hdr.command:x;let _=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(_,t,i,g)}if(l(r)){let f=r.unclassifiedCommand,x=p&&f.receiveShadows?f.derivedCommands.oit.shadows.translucentCommand:f.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=e._alphaFBO.framebuffer;for(let f=0;f<o.length;++f){let x=o[f];x=c?x.derivedCommands.logDepth.command:x,x=u?x.derivedCommands.hdr.command:x;let _=p&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand;n(_,t,i,g)}if(l(r)){let f=r.unclassifiedCommand,x=p&&f.receiveShadows?f.derivedCommands.oit.shadows.alphaCommand:f.derivedCommands.oit.alphaCommand;n(x,t,i,g)}i.framebuffer=m}function dft(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:d}=a,u=t._hdr,m=i.framebuffer,p=d.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let f=0;f<o.length;++f){let x=o[f];x=c?x.derivedCommands.logDepth.command:x,x=u?x.derivedCommands.hdr.command:x;let _=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(_,t,i,g)}if(l(r)){let f=r.unclassifiedCommand,x=p&&f.receiveShadows?f.derivedCommands.oit.shadows.translucentCommand:f.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=m}x0.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){dft(this,e,t,n,i,o);return}lft(this,e,t,n,i,o)};x0.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};x0.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,B.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};x0.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};x0.prototype.isDestroyed=function(){return!1};x0.prototype.destroy=function(){return d_e(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),me(this)};var iA=x0;var vki=T(S(),1);function oA(){this._framebuffer=new gi({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(oA.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function uft(e){e._framebuffer.destroy()}function mft(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new sc(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new Je},o.viewport=new Je,e._passState=o}oA.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&mft(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};oA.prototype.isDestroyed=function(){return!1};oA.prototype.destroy=function(){return uft(this),me(this)};var rA=oA;var Bki=T(S(),1);function TL(e){let t=new sc(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new Je},t.viewport=new Je,this._context=e,this._fb=new gi({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}TL.prototype.begin=function(e,t){let n=this._context,{width:i,height:o}=t;return Je.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var sA=new B;TL.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),d=0,u=0,m=0,p=-1;for(let g=0;g<s;++g){if(-a<=d&&d<=a&&-c<=u&&u<=c){let f=4*((c-u)*t+d+a);sA.red=B.byteToFloat(o[f]),sA.green=B.byteToFloat(o[f+1]),sA.blue=B.byteToFloat(o[f+2]),sA.alpha=B.byteToFloat(o[f+3]);let x=i.getObjectByPickColor(sA);if(l(x))return x}if(d===u||d<0&&-d===u||d>0&&d===1-u){let f=m;m=-p,p=f}d+=m,u+=p}};TL.prototype.readCenterPixel=function(e){let t=y(e.width,1),n=y(e.height,1),o=this._context.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.floor(t*.5),a=4*(Math.floor(n*.5)*t+r);return o.slice(a,a+4)};TL.prototype.isDestroyed=function(){return!1};TL.prototype.destroy=function(){return this._fb.destroy(),me(this)};var aA=TL;var Qki=T(S(),1);function _0(){this._numSamples=1,this._colorFramebuffer=new gi({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new gi({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new B(0,0,0,0),this._clearCommand=new oi({color:new B(0,0,0,0),depth:1,owner:this})}function hft(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(_0.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});_0.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?qe.HALF_FLOAT:qe.FLOAT:qe.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};_0.prototype.clear=function(e,t,n){B.clone(n,this._clearCommand.color),B.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};_0.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};_0.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};_0.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};_0.prototype.isDestroyed=function(){return!1};_0.prototype.destroy=function(){return hft(this),me(this)};var iS=_0;var zUi=T(S(),1);var eUi=T(S(),1);function oS(){}oS.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};oS.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=Oe.findPositionVarying(e),s=l(r);if(t&&!s){let a=o.length;for(let d=0;d<a;++d)o[d]=Oe.replaceMain(o[d],"czm_shadow_cast_main");o.push(`out vec3 v_positionEC; +void main() +{ + czm_shadow_cast_main(); + v_positionEC = (czm_inverseProjection * gl_Position).xyz; +}`)}return new Oe({defines:i,sources:o})};oS.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=Oe.findPositionVarying(e),a=l(s);a||(s="v_positionEC");let c=r.length;for(let u=0;u<c;++u)r[u]=Oe.replaceMain(r[u],"czm_shadow_cast_main");let d="";return t&&(a||(d+=`in vec3 v_positionEC; +`),d+=`uniform vec4 shadowMap_lightPositionEC; +`),i?d+=`void main() +{ +`:d+=`void main() +{ + czm_shadow_cast_main(); + if (out_FragColor.a == 0.0) + { + discard; + } +`,t?d+=` float distance = length(${s}); + if (distance >= shadowMap_lightPositionEC.w) + { + discard; + } + distance /= shadowMap_lightPositionEC.w; // radius + out_FragColor = czm_packDepth(distance); +`:n?d+=` out_FragColor = vec4(1.0); +`:d+=` out_FragColor = czm_packDepth(gl_FragCoord.z); +`,d+=`} +`,r.push(d),new Oe({defines:o,sources:r})};oS.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,d=e.debugCascadeColors,u=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${d}${u}${t}${n}${i}`};oS.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new Oe({defines:i,sources:o})};oS.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=Oe.findNormalVarying(e),s=!i&&l(r)||i&&o,a=Oe.findPositionVarying(e),c=l(a),d=t._usesDepthTexture,u=t._polygonOffsetSupported,m=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,f=t.debugCascadeColors,x=t.softShadows,_=m?t._pointBias:i?t._terrainBias:t._primitiveBias,C=e.defines.slice(0),V=e.sources.slice(0),L=V.length;for(let I=0;I<L;++I)V[I]=Oe.replaceMain(V[I],"czm_shadow_receive_main");m?C.push("USE_CUBE_MAP_SHADOW"):d&&C.push("USE_SHADOW_DEPTH_TEXTURE"),x&&!m&&C.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?C.push("ENABLE_VERTEX_LIGHTING"):C.push("ENABLE_DAYNIGHT_SHADING")),n&&_.normalShading&&s&&(C.push("USE_NORMAL_SHADING"),_.normalShadingSmooth>0&&C.push("USE_NORMAL_SHADING_SMOOTH"));let Z="";m?Z+=`uniform samplerCube shadowMap_textureCube; +`:Z+=`uniform sampler2D shadowMap_texture; +`;let G;return c?G=` return vec4(${a}, 1.0); +`:G=`#ifndef LOG_DEPTH + return czm_windowToEyeCoordinates(gl_FragCoord); +#else + return vec4(v_logPositionEC, 1.0); +#endif +`,Z+=`uniform mat4 shadowMap_matrix; +uniform vec3 shadowMap_lightDirectionEC; +uniform vec4 shadowMap_lightPositionEC; +uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; +uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; +#ifdef LOG_DEPTH +in vec3 v_logPositionEC; +#endif +vec4 getPositionEC() +{ +${G}} +vec3 getNormalEC() +{ +${s?` return normalize(${r}); +`:` return vec3(1.0); +`}} +void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) +{ +${_.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; + float normalOffsetScale = 1.0 - nDotL; + vec3 offset = normalOffset * normalOffsetScale * normalEC; + positionEC.xyz += offset; +`:""}} +`,Z+=`void main() +{ + czm_shadow_receive_main(); + vec4 positionEC = getPositionEC(); + vec3 normalEC = getNormalEC(); + float depth = -positionEC.z; +`,Z+=` czm_shadowParameters shadowParameters; + shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; + shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; + shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; + shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; +`,i?Z+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); +`:u||(Z+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); +`),m?Z+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; + float distance = length(directionEC); + directionEC = normalize(directionEC); + float radius = shadowMap_lightPositionEC.w; + // Stop early if the fragment is beyond the point light radius + if (distance > radius) + { + return; + } + vec3 directionWC = czm_inverseViewRotation * directionEC; + shadowParameters.depth = distance / radius; + shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + shadowParameters.texCoords = directionWC; + float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); +`:p?Z+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); + float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Spot light uses a perspective projection, so perform the perspective divide + shadowPosition /= shadowPosition.w; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`:g?Z+=` float maxDepth = shadowMap_cascadeSplits[1].w; + // Stop early if the eye depth exceeds the last cascade + if (depth > maxDepth) + { + return; + } + // Get the cascade based on the eye-space depth + vec4 weights = czm_cascadeWeights(depth); + // Apply normal offset + float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + // Transform position into the cascade + vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; + // Get visibility + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); + // Fade out shadows that are far away + float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; + float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); + visibility = mix(visibility, 1.0, fade); +${f?` // Draw cascade colors for debugging + out_FragColor *= czm_cascadeColor(weights); +`:""}`:Z+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`,Z+=` out_FragColor.rgb *= visibility; +} +`,V.push(Z),new Oe({defines:C,sources:V})};var np=oS;function ip(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(Yt.isInternetExplorer()||Yt.isEdge()||(Yt.isChrome()||Yt.isFirefox())&&Yt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n;let i=y(e.depthBiasStep,1);this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4*i},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*i},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4*i},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new M,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new re,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new EB,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new de,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new D,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new vr:l(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new re,new re],this._cascadeMatrices=[new M,new M,new M,new M],this._cascadeDistances=new re;let o;this._isPointLight?o=6:this._cascadesEnabled?o=this._numberOfCascades:o=1,this._passes=new Array(o);for(let r=0;r<o;++r)this._passes[r]=new fft(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,w8(this),this._clearCommand=new oi({depth:1,color:new B}),this._clearPassState=new sc(t),this._size=y(e.size,2048),this.size=this._size}ip.MAXIMUM_DISTANCE=2e4;function fft(e){this.camera=new EB,this.passState=new sc(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function v8(e,t){return Be.fromCache({cull:{enabled:!0,face:Ti.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function w8(e){let t=!e._usesDepthTexture;e._primitiveRenderState=v8(t,e._primitiveBias),e._terrainRenderState=v8(t,e._terrainBias),e._pointRenderState=v8(t,e._pointBias)}ip.prototype.debugCreateRenderStates=function(){w8(this)};Object.defineProperties(ip.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){_ft(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function F8(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;l(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function pft(e,t){let n=new md({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Mc.DEPTH_COMPONENT16}),i=new It({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,sampler:$t.NEAREST}),o=new Pr({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function bft(e,t){let n=new It({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:st.DEPTH_STENCIL,pixelDatatype:qe.UNSIGNED_INT_24_8,sampler:$t.NEAREST}),i=new Pr({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function gft(e,t){let n=new md({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Mc.DEPTH_COMPONENT16}),i=new Tr({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,sampler:$t.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new Pr({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function h_e(e,t){e._isPointLight?gft(e,t):e._usesDepthTexture?bft(e,t):pft(e,t)}function yft(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==ie.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,w8(e),F8(e),h_e(e,t))}function xft(e,t){(!l(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(F8(e),h_e(e,t),yft(e,t),f_e(e,t))}function f_e(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function _ft(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=At.maximumCubeMapSize>=t?t:At.maximumCubeMapSize,o.x=t,o.y=t;let r=new Je(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=At.maximumTextureSize>=t?t:At.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new Je(0,0,t,t)):i===4&&(t=At.maximumTextureSize>=t*2?t:At.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new Je(0,0,t,t),n[1].passState.viewport=new Je(t,0,t,t),n[2].passState.viewport=new Je(0,t,t,t),n[3].passState.viewport=new Je(t,t,t,t));e._clearPassState.viewport=new Je(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,d=a.y/o.y,u=a.width/o.x,m=a.height/o.y;s.textureOffsets=new M(u,0,0,c,0,m,0,d,0,0,1,0,0,0,0,1)}}var Tft=new Je;function Sft(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube; +in vec2 v_textureCoordinates; +void main() +{ + vec2 uv = v_textureCoordinates; + vec3 dir; + + if (uv.y < 0.5) + { + if (uv.x < 0.333) + { + dir.x = -1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 1.0; + } + else if (uv.x < 0.666) + { + dir.y = -1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 1.0; + } + else + { + dir.z = -1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 1.0; + } + } + else + { + if (uv.x < 0.333) + { + dir.x = 1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 3.0; + } + else if (uv.x < 0.666) + { + dir.y = 1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 3.0; + } + else + { + dir.z = 1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 3.0; + } + } + + float shadow = czm_unpackDepth(czm_textureCube(shadowMap_textureCube, dir)); + out_FragColor = vec4(vec3(shadow), 1.0); +} +`:n=`uniform sampler2D shadowMap_texture; +in vec2 v_textureCoordinates; +void main() +{ +${e._usesDepthTexture?` float shadow = texture(shadowMap_texture, v_textureCoordinates).r; +`:` float shadow = czm_unpackDepth(texture(shadowMap_texture, v_textureCoordinates)); +`} out_FragColor = vec4(vec3(shadow), 1.0); +} +`;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=Ge.OVERLAY,i}function Cft(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=Tft;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;l(a)||(a=Sft(e,n),e._debugShadowViewCommand=a),(!l(a.renderState)||!Je.equals(a.renderState.viewport,s))&&(a.renderState=Be.fromCache({viewport:Je.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var op=new Array(8);op[0]=new re(-1,-1,-1,1);op[1]=new re(1,-1,-1,1);op[2]=new re(1,1,-1,1);op[3]=new re(-1,1,-1,1);op[4]=new re(-1,-1,1,1);op[5]=new re(1,-1,1,1);op[6]=new re(1,1,1,1);op[7]=new re(-1,1,1,1);var By=new M,A8=new Array(8);for(let e=0;e<8;++e)A8[e]=new re;function Vft(e,t){let n=new Et({geometry:new Xm({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:Ht.fromColor(t)}}),i=new Et({geometry:new Eb({radius:.5}),attributes:{color:Ht.fromColor(t)}});return new Wn({geometryInstances:[n,i],appearance:new mn({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var Lft=[B.RED,B.GREEN,B.BLUE,B.MAGENTA],Rft=new h;function Zft(e,t){Cft(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new qf({camera:e._sceneCamera,color:B.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new qf({camera:e._shadowMapCamera,color:B.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new qf({camera:e._passes[i].camera,color:Lft[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!l(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Fe.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,Rft),a=M.fromTranslationQuaternionRotationScale(i,o,s,By);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=Vft(a,B.YELLOW)}e._debugLightFrustum.update(t)}else(!l(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new qf({camera:e._shadowMapCamera,color:B.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function EB(){this.viewMatrix=new M,this.inverseViewMatrix=new M,this.frustum=void 0,this.positionCartographic=new he,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new M}EB.prototype.clone=function(e){M.clone(e.viewMatrix,this.viewMatrix),M.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),he.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var Gft=new M(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);EB.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return M.multiply(t,e,this.viewProjectionMatrix),M.multiply(Gft,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var Eft=new Array(5),Ift=new Gi,Xft=new Array(4),p_e=new h,b_e=new h;function Wft(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,d=r/o,u=.9,m=!1;t.shadowState.closestObjectSize<200&&(m=!0,u=.9);let p=Xft,g=Eft;for(g[0]=o,g[s]=r,a=0;a<s;++a){let A=(a+1)/s,b=o*Math.pow(d,A),R=o+c*A,E=W.lerp(R,b,u);g[a+1]=E,p[a]=E-g[a]}if(m){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let A=g[0];for(a=0;a<s-1;++a)A+=p[a],g[a+1]=A}re.unpack(g,0,e._cascadeSplits[0]),re.unpack(g,1,e._cascadeSplits[1]),re.unpack(p,0,e._cascadeDistances);let f=n.frustum,x=f.left,_=f.right,C=f.bottom,V=f.top,L=f.near,Z=f.far,G=n.positionWC,I=n.directionWC,v=n.upWC,P=i.frustum.clone(Ift),w=n.getViewProjection();for(a=0;a<s;++a){P.near=g[a],P.far=g[a+1];let A=M.multiply(P.projectionMatrix,i.viewMatrix,By),b=M.inverse(A,By),R=M.multiply(w,b,By),E=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,p_e),X=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,b_e);for(let Y=0;Y<8;++Y){let k=re.clone(op[Y],A8[Y]);M.multiplyByVector(R,k,k),h.divideByScalar(k,k.w,k),h.minimumByComponent(k,E,E),h.maximumByComponent(k,X,X)}E.x=Math.max(E.x,0),E.y=Math.max(E.y,0),E.z=0,X.x=Math.min(X.x,1),X.y=Math.min(X.y,1),X.z=Math.min(X.z,1);let F=e._passes[a],N=F.camera;N.clone(n);let O=N.frustum;O.left=x+E.x*(_-x),O.right=x+X.x*(_-x),O.bottom=C+E.y*(V-C),O.top=C+X.y*(V-C),O.near=L+E.z*(Z-L),O.far=L+X.z*(Z-L),F.cullingVolume=N.frustum.computeCullingVolume(G,I,v);let U=e._cascadeMatrices[a];M.multiply(N.getViewProjection(),i.inverseViewMatrix,U),M.multiply(F.textureOffsets,U,U)}}var Pft=new M,vft=new h,wft=new h,u_e=new h;function Fft(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=M.multiply(i.frustum.projectionMatrix,i.viewMatrix,By),r=M.inverse(o,By),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,W.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,vft);a=h.cross(c,s,wft),h.normalize(a,a),h.normalize(c,c);let d=h.fromElements(0,0,0,u_e),u=M.computeView(d,s,a,c,Pft),m=M.multiply(u,r,By),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,p_e),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,b_e);for(let Z=0;Z<8;++Z){let G=re.clone(op[Z],A8[Z]);M.multiplyByVector(m,G,G),h.divideByScalar(G,G.w,G),h.minimumByComponent(G,p,p),h.maximumByComponent(G,g,g)}g.z+=1e3,p.z-=10;let f=u_e;f.x=-(.5*(p.x+g.x)),f.y=-(.5*(p.y+g.y)),f.z=-g.z;let x=M.fromTranslation(f,By);u=M.multiply(x,u,u);let _=.5*(g.x-p.x),C=.5*(g.y-p.y),V=g.z-p.z,L=n.frustum;L.left=-_,L.right=_,L.bottom=-C,L.top=C,L.near=.01,L.far=V,M.clone(u,n.viewMatrix),M.inverse(u,n.inverseViewMatrix),M.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var Aft=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],Mft=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],Nft=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function kft(e,t){let n=new Gi;n.fov=W.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=Aft[i],o.upWC=Mft[i],o.rightWC=Nft[i],M.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),M.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var Uft=new h,Dft=new h,g_e=new de,m_e=g_e.center;function Bft(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=g_e;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,Uft),s=h.negate(i.directionWC,Dft),a=h.dot(r,s);if(e.fadingEnabled){let c=W.clamp(a/.1,0,1);e._darkness=W.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===zt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),de.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,m_e),m_e);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===zt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),de.clone(o,e._boundingSphere)}}function Oft(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;M.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),M.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=ao.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,Bft(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}ip.prototype.update=function(e){if(Oft(this,e),this._needsUpdate)if(xft(this,e.context),this._isPointLight&&kft(this,e),this._cascadesEnabled&&(Fft(this,e),this._numberOfCascades>1&&Wft(this,e)),this._isPointLight)this._shadowMapCullingVolume=ps.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;M.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&Zft(this,e)};ip.prototype.updatePass=function(e,t){f_e(this,e,t)};var Yft=new D;function y_e(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=Yft;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,re.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return re.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new re,combinedUniforms2:new re};return Vt(t,o,!1)}function Hft(e,t,n,i,o,r){let s,a,c;if(l(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=tt.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!l(s)||o!==n.shaderProgram.id||t){let d=n.shaderProgram,u=n.pass===Ge.GLOBE,m=n.pass!==Ge.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,f=np.getShadowCastShaderKeyword(p,u,g,m);if(s=i.shaderCache.getDerivedShaderProgram(d,f),!l(s)){let _=d.vertexShaderSource,C=d.fragmentShaderSource,V=np.createShadowCastVertexShader(_,p,u),L=np.createShadowCastFragmentShader(C,p,g,m);s=i.shaderCache.createDerivedShaderProgram(d,f,{vertexShaderSource:V,fragmentShaderSource:L,attributeLocations:d._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:u&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=He(a,!1),a.cull=He(a.cull,!1),a.cull.enabled=!1,a=Be.fromCache(a)),c=y_e(e,n.uniformMap,u)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}ip.createReceiveDerivedCommand=function(e,t,n,i,o){l(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,d=t.pass===Ge.GLOBE,u=!1;if(d&&(u=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let m,p;l(o.receiveCommand)&&(m=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=tt.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,f=o.receiveShaderProgramId!==t.shaderProgram.id;if(!l(m)||f||n||g){let x=np.getShadowReceiveShaderKeyword(e[0],t.castShadows,d,u);if(m=i.shaderCache.getDerivedShaderProgram(s,x),!l(m)){let _=np.createShadowReceiveVertexShader(a,d,u),C=np.createShadowReceiveFragmentShader(c,e[0],t.castShadows,d,u);m=i.shaderCache.createDerivedShaderProgram(s,x,{vertexShaderSource:_,fragmentShaderSource:C,attributeLocations:s._attributeLocations})}p=y_e(e[0],t.uniformMap,d)}o.receiveCommand.shaderProgram=m,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};ip.createCastDerivedCommand=function(e,t,n,i,o){if(l(o)||(o={}),t.castShadows){let r=o.castCommands;l(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=Hft(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};ip.prototype.isDestroyed=function(){return!1};ip.prototype.destroy=function(){F8(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return me(this)};var T0=ip;var bDi=T(S(),1);var JUi=T(S(),1),rS=`uniform sampler2D colorTexture; + +#ifdef DEBUG_SHOW_DEPTH +uniform sampler2D u_packedTranslucentDepth; +#endif + +in vec2 v_textureCoordinates; + +void main() +{ +#ifdef DEBUG_SHOW_DEPTH + if (v_textureCoordinates.x < 0.5) + { + out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); + out_FragColor.a = 1.0; + } +#else + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef PICK + if (color == vec4(0.0)) + { + discard; + } +#else + // Reverse premultiplication process to get the correct composited result of the classification primitives + color.rgb /= color.a; +#endif + out_FragColor = color; +#endif +} +`;var zft=!1;function Oy(e){this._drawClassificationFBO=new gi({createDepthAttachments:!1}),this._accumulationFBO=new gi({createDepthAttachments:!1}),this._packFBO=new gi,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new oi({color:new B(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new oi({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new Je,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(Oy.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function x_e(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function __e(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function Kft(e,t,n,i){x_e(e),e._translucentDepthStencilTexture=new It({context:t,width:n,height:i,pixelFormat:st.DEPTH_STENCIL,pixelDatatype:qe.UNSIGNED_INT_24_8,sampler:$t.NEAREST})}function Jft(e,t,n,i){__e(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function Qft(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(Kft(e,t,o,r),Jft(e,t,o,r));let s,a;if(l(e._packDepthCommand)||(s=new Oe({sources:[Yw]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!l(e._compositeCommand)){s=new Oe({sources:[rS]}),a={colorTexture:function(){return e._textureToComposite}},zft&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let u=e._compositeCommand,m=u.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(m,"pick",{vertexShaderSource:m.vertexShaderSource,fragmentShaderSource:new Oe({sources:s.sources,defines:["PICK"]}),attributeLocations:m._attributeLocations}),g=tt.shallowClone(u);g.shaderProgram=p,u.derivedCommands.pick=g}l(e._copyCommand)||(s=new Oe({sources:[rS]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),l(e._accumulateCommand)||(s=new Oe({sources:[rS]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!Je.equals(e._viewport,n.viewport),d=c!==e._useScissorTest;e._useScissorTest=c,Je.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=Je.clone(n.viewport,e._scissorRectangle),d=!0),(!l(e._rsDepth)||!Je.equals(e._viewport,e._rsDepth.viewport)||d)&&(e._rsDepth=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!l(e._rsAccumulate)||!Je.equals(e._viewport,e._rsAccumulate.viewport)||d)&&(e._rsAccumulate=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Bn.EQUAL,reference:Dt.CESIUM_3D_TILE_MASK}})),l(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!l(e._rsComp)||!Je.equals(e._viewport,e._rsComp.viewport)||d)&&(e._rsComp=Be.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:hn.ALPHA_BLEND})),l(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}Oy.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=e.frameState.useLogDepth,s=e.context,a=n.framebuffer;for(let c=0;c<i.length;++c){let d=i[c];if(d=r?d.derivedCommands.logDepth.command:d,d.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}}if(this._hasTranslucentDepth){Qft(this,s,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(s,n);for(let c=0;c<i.length;++c){let d=i[c];if(d=r?d.derivedCommands.logDepth.command:d,!d.depthForTranslucentClassification)continue;let u=d.derivedCommands.depth.depthOnlyCommand;t(u,e,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(s,n)),n.framebuffer=a}};Oy.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(Ge.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[Ge.CESIUM_3D_TILE_CLASSIFICATION],d=i.indices[Ge.CESIUM_3D_TILE_CLASSIFICATION];for(let u=0;u<d;++u)t(c[u],e,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};Oy.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),jft(this,e,t)};function jft(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}Oy.prototype.isSupported=function(){return this._supported};Oy.prototype.isDestroyed=function(){return!1};Oy.prototype.destroy=function(){return x_e(this),__e(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),me(this)};var cA=Oy;function qft(){this.command=void 0,this.near=void 0,this.far=void 0}function IB(e,t,n){let i=e.context,o;i.depthTexture&&(o=new tA);let r;e._useOIT&&i.depthTexture&&(r=new iA(i));let s=new sc(i);s.viewport=Je.clone(n),this.camera=t,this._cameraClone=ao.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new aA(i),this.pickDepthFramebuffer=new rA,this.sceneFramebuffer=new iS,this.globeDepth=o,this.globeTranslucencyFramebuffer=new nA,this.oit=r,this.translucentTileClassification=new cA(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var M8=new h,N8=new h;function $ft(e,t,n){let i=Math.max(h.maximumComponent(h.abs(e.position,M8)),h.maximumComponent(h.abs(t.position,N8))),o=1/Math.max(1,i);return h.multiplyByScalar(e.position,o,M8),h.multiplyByScalar(t.position,o,N8),h.equalsEpsilon(M8,N8,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&M.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}IB.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return $ft(t,n,W.EPSILON15)?(this._cameraStartFired&&Ci()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=Ci(),ao.clone(t,n),!0)};function ept(e,t,n,i){let{frameState:o}=t,{camera:r,useLogDepth:s}=o,a=s?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,c=t.mode===oe.SCENE2D,d=t.nearToFarDistance2D;i*=1+W.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n),isNaN(n)&&(n=r.frustum.near),isNaN(i)&&(i=r.frustum.far);let u;c?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),u=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):u=Math.ceil(Math.log(i/n)/Math.log(a));let{frustumCommandsList:m}=e;m.length=u;for(let p=0;p<u;++p){let g,f;c?(g=Math.min(i-d,n+p*d),f=Math.min(i,g+d)):(g=Math.max(n,Math.pow(a,p)*n),f=Math.min(i,a*g));let x=m[p];l(x)?(x.near=g,x.far=f):x=m[p]=new eA(g,f)}}function tpt(e,t,n){let{command:i,near:o,far:r}=n;t.debugShowFrustums&&(i.debugOverlappingFrustums=0);let{frustumCommandsList:s}=e;for(let a=0;a<s.length;++a){let c=s[a];if(o>c.far)continue;if(r<c.near)break;let d=i.pass,u=c.indices[d]++;if(c.commands[d][u]=i,t.debugShowFrustums&&(i.debugOverlappingFrustums|=1<<a),i.executeInClosestFrustum)break}if(t.debugShowFrustums){let{debugFrustumStatistics:a}=e,{debugOverlappingFrustums:c}=i,d=a.commandsInFrustums;d[c]=l(d[c])?d[c]+1:1,++a.totalCommands}t.updateDerivedCommands(i)}var T_e=new ps,npt=new Wa;IB.prototype.createPotentiallyVisibleSet=function(e){let{frameState:t}=e,{camera:n,commandList:i,shadowState:o}=t,{positionWC:r,directionWC:s,frustum:a}=n,c=e._computeCommandList,d=e._overlayCommandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let u=this.frustumCommandsList;for(let w=0;w<u.length;++w)for(let A=0;A<Ge.NUMBER_OF_PASSES;++A)u[w].indices[A]=0;c.length=0,d.length=0;let m=this._commandExtents,p=m.length,g=0,f=+Number.MAX_VALUE,x=-Number.MAX_VALUE,{shadowsEnabled:_}=o,C=+Number.MAX_VALUE,V=-Number.MAX_VALUE,L=Number.MAX_VALUE,Z=t.mode===oe.SCENE3D?t.occluder:void 0,{cullingVolume:G}=t,I=T_e.planes;for(let w=0;w<5;++w)I[w]=G.planes[w];G=T_e;for(let w=0;w<i.length;++w){let A=i[w],{pass:b,boundingVolume:R}=A;if(b===Ge.COMPUTE)c.push(A);else if(b===Ge.OVERLAY)d.push(A);else{let E,X;if(l(R)){if(!e.isVisible(G,A,Z))continue;let N=R.computePlaneDistances(r,s,npt);if(E=N.start,X=N.stop,f=Math.min(f,E),x=Math.max(x,X),_&&A.receiveShadows&&E<T0.MAXIMUM_DISTANCE&&!(b===Ge.GLOBE&&E<-100&&X>100)){let O=X-E;b!==Ge.GLOBE&&E<100&&(L=Math.min(L,O)),C=Math.min(C,E),V=Math.max(V,X)}}else A instanceof oi?(E=a.near,X=a.far):(E=a.near,X=a.far,f=Math.min(f,E),x=Math.max(x,X));let F=m[g];l(F)||(F=m[g]=new qft),F.command=A,F.near=E,F.far=X,g++}}_&&(C=Math.min(Math.max(C,a.near),a.far),V=Math.max(Math.min(V,a.far),C),o.nearPlane=C,o.farPlane=V,o.closestObjectSize=L),ept(this,e,f,x);for(let w=0;w<g;w++)tpt(this,e,m[w]);if(g<p)for(let w=g;w<p;w++){let A=m[w];if(!l(A.command))break;A.command=void 0}let v=u.length,{frustumSplits:P}=t;P.length=v+1;for(let w=0;w<v;++w)P[w]=u[w].near,w===v-1&&(P[w+1]=u[w].far)};IB.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e=this.pickDepths;for(let t=0;t<e.length;++t)e[t].destroy()};var sS=IB;var C_e=.1,ipt=new mm({pass:Fo.MOST_DETAILED_PRELOAD}),opt=new mm({pass:Fo.MOST_DETAILED_PICK}),lA=new mm({pass:Fo.PICK});function ra(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new Je(0,0,1,1),n=new ao(e);n.frustum=new ln({width:C_e,aspectRatio:1,near:.1}),this._pickOffscreenView=new sS(e,n,t)}ra.prototype.update=function(){this._pickPositionCacheDirty=!0};ra.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return l(i)||(i=new $F,n[t]=i),i};var rpt=new vr,spt=new h,XB=new h,apt=new D,cpt=new M;function lpt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2*(t.x-o.x)/o.width-1;c*=(s.right-s.left)*.5;let d=2*(o.height-t.y-o.y)/o.height-1;d*=(s.top-s.bottom)*.5;let u=M.clone(r.transform,cpt);r._setTransform(M.IDENTITY);let m=h.clone(r.position,spt);h.multiplyByScalar(r.right,c,XB),h.add(XB,m,m),h.multiplyByScalar(r.up,d,XB),h.add(XB,m,m),r._setTransform(u),e.mode===oe.SCENE2D&&h.fromElements(m.z,m.x,m.y,m);let p=s.getPixelDimensions(o.width,o.height,1,1,apt),g=rpt;return g.right=p.x*.5,g.left=-g.right,g.top=p.y*.5,g.bottom=-g.top,g.near=s.near,g.far=s.far,g.computeCullingVolume(m,r.directionWC,r.upWC)}var dpt=new cl,upt=new D;function mpt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),d=s.aspectRatio*c,u=2*(t.x-o.x)/o.width-1,m=2*(o.height-t.y-o.y)/o.height-1,p=u*a*d,g=m*a*c,f=s.getPixelDimensions(o.width,o.height,1,1,upt),x=f.x*n*.5,_=f.y*i*.5,C=dpt;return C.top=g+_,C.bottom=g-_,C.right=p+x,C.left=p-x,C.near=a,C.far=s.far,C.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function WB(e,t,n,i,o){let r=e.camera.frustum;return r instanceof ln||r instanceof vr?lpt(e,t,n,i,o):mpt(e,t,n,i,o)}var PB=new Je(0,0,3,3),vB=new D,dA=new B(0,0,0,0);function k8(e,t,n,i,o){return o.width=y(n,3),o.height=y(i,o.width),o.x=t.x-(o.width-1)*.5,o.y=e-t.y-(o.height-1)*.5,o}ra.prototype.pick=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let d=s.passState;d.viewport=Je.clone(a,d.viewport);let u=ki.transformWindowToDrawingBuffer(e,t,vB),m=k8(o.drawingBufferHeight,u,n,i,PB);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=WB(e,u,m.width,m.height,a),r.invertClassification=!1,r.passes.pick=!0,r.tilesetPassState=lA,o.uniformState.update(r),e.updateEnvironment(),d=c.begin(m,a),e.updateAndExecuteCommands(d,dA),e.resolveFramebuffers(d);let p=c.end(m);return o.endFrame(),p};ra.prototype.pickVoxelCoordinate=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let d=s.passState;d.viewport=Je.clone(a,d.viewport);let u=ki.transformWindowToDrawingBuffer(e,t,vB),m=k8(o.drawingBufferHeight,u,n,i,PB);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=WB(e,u,m.width,m.height,a),r.invertClassification=!1,r.passes.pickVoxel=!0,r.tilesetPassState=lA,o.uniformState.update(r),e.updateEnvironment(),d=c.begin(m,a),e.updateAndExecuteCommands(d,dA),e.resolveFramebuffers(d);let p=c.readCenterPixel(m);return o.endFrame(),p};ra.prototype.pickMetadata=function(e,t,n){let{context:i,frameState:o,defaultView:r}=e,{viewport:s,pickFramebuffer:a}=r;e.view=r,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=r.passState;c.viewport=Je.clone(s,c.viewport);let d=ki.transformWindowToDrawingBuffer(e,t,vB),u=k8(i.drawingBufferHeight,d,1,1,PB);e.jobScheduler.disableThisFrame(),e.updateFrameState(),o.cullingVolume=WB(e,d,u.width,u.height,s),o.invertClassification=!1,o.passes.pick=!0,o.tilesetPassState=lA,o.pickingMetadata=!0,o.pickedMetadataInfo=n,i.uniformState.update(o),e.updateEnvironment(),c=a.begin(u,s),e.updateAndExecuteCommands(c,dA);let m=e._environmentState.useOIT;e._environmentState.useOIT=!1,e.resolveFramebuffers(c),e._environmentState.useOIT=m;let p=a.readCenterPixel(u);return i.endFrame(),o.pickingMetadata=!1,qF.decodeMetadataValues(n.classProperty,n.metadataProperty,p)};function hpt(e,t){let{defaultView:n,context:i,frameState:o,environmentState:r}=e,{viewport:s,pickDepthFramebuffer:a}=n;e.view=n,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=n.passState;c.viewport=Je.clone(s,c.viewport),e.clearPasses(o.passes),o.passes.pick=!0,o.passes.depth=!0,o.cullingVolume=WB(e,t,1,1,s),o.tilesetPassState=lA,e.updateEnvironment(),r.renderTranslucentDepthForPick=!0,c=a.update(i,t,s),e.updateAndExecuteCommands(c,dA),e.resolveFramebuffers(c),i.endFrame()}var fpt=new Gi,ppt=new cl,bpt=new ln,gpt=new vr;ra.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let{context:o,frameState:r,camera:s,defaultView:a}=e,{uniformState:c}=o;e.view=a;let d=ki.transformWindowToDrawingBuffer(e,t,vB);e.pickTranslucentDepth?hpt(e,d):(e.updateFrameState(),c.update(r),e.updateEnvironment()),d.y=e.drawingBufferHeight-d.y;let u;l(s.frustum.fov)?u=s.frustum.clone(fpt):l(s.frustum.infiniteProjectionMatrix)?u=s.frustum.clone(ppt):l(s.frustum.width)?u=s.frustum.clone(bpt):u=s.frustum.clone(gpt);let{frustumCommandsList:m}=a,p=m.length;for(let g=0;g<p;++g){let x=this.getPickDepth(e,g).getDepth(o,d.x,d.y);if(l(x)&&x>0&&x<1){let _=m[g],C;return e.mode===oe.SCENE2D?(C=s.position.z,s.position.z=C-_.near+1,u.far=Math.max(1,_.far-_.near),u.near=1,c.update(r),c.updateFrustum(u)):(u.near=_.near*(g!==0?e.opaqueFrustumNearOffset:1),u.far=_.far,c.updateFrustum(u)),n=ki.drawingBufferToWorldCoordinates(e,d,x,n),e.mode===oe.SCENE2D&&(s.position.z=C,c.update(r)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var ypt=new he;ra.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),l(n)&&e.mode!==oe.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,ypt);o.cartographicToCartesian(r,n)}return n};function V_e(e,t){let n,i,o=[],r=[],s=[],a=[];l(e)||(e=Number.MAX_VALUE);let c=t();for(;l(c);){let d=c.object,u=c.position,m=c.exclude;if(l(u)&&!l(d)){o.push(c);break}if(!l(d)||!l(d.primitive)||!m&&(o.push(c),0>=--e))break;let p=d.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&l(d.id)&&(i=p.getGeometryInstanceAttributes(d.id),l(i)&&l(i.show)&&(g=!0,i.show=_n.toValue(!1,i.show),s.push(i))),d instanceof Os&&(g=!0,d.show=!1,a.push(d)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=_n.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}ra.prototype.drillPick=function(e,t,n,i,o){let r=this;return V_e(n,function(){let c=r.pick(e,t,i,o);if(l(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var S_e=new h,xpt=new h;function _pt(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function L_e(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,S_e),s=h.cross(o,r,S_e),a=h.cross(o,s,xpt);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,C_e),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function Tpt(e,t,n){let i=t.frameState,{ray:o,width:r,tilesets:s}=n,a=e._pickOffscreenView.camera,c=L_e(e,o,r,a),d=ipt;d.camera=a,d.cullingVolume=c;let u=!0,m=s.length;for(let p=0;p<m;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,d),u=u&&d.ready)}return u&&n._completePick(),u}ra.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)Tpt(this,e,t[n])&&t.splice(n--,1)};function R_e(e,t,n){for(let i=0;i<e.length;++i){let o=e.get(i);o.show&&(l(o.isCesium3DTileset)?(!l(t)||t.indexOf(o)===-1)&&n.push(o):o instanceof kl&&R_e(o,t,n))}}function wB(e,t,n,i,o,r){let s=[];if(R_e(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new _pt(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function Spt(e,t){return!l(e)||!l(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function Cpt(e,t,n,i,o,r,s){let{context:a,frameState:c}=t,d=a.uniformState,u=e._pickOffscreenView;t.view=u,L_e(e,n,o,u.camera);let m=Je.clone(u.viewport,PB),p=u.pickFramebuffer.begin(m,u.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),c.invertClassification=!1,c.passes.pick=!0,c.passes.offscreen=!0,s?c.tilesetPassState=opt:c.tilesetPassState=lA,d.update(c),t.updateEnvironment(),t.updateAndExecuteCommands(p,dA),t.resolveFramebuffers(p);let g,f=u.pickFramebuffer.end(m);if(t.context.depthTexture){let{frustumCommandsList:x}=u,_=x.length;for(let C=0;C<_;++C){let L=e.getPickDepth(t,C).getDepth(a,0,0);if(l(L)&&L>0&&L<1){let Z=x[C],G=Z.near*(C!==0?t.opaqueFrustumNearOffset:1),I=Z.far,v=G+L*(I-G);g=gn.getPoint(n,v);break}}}if(t.view=t.defaultView,a.endFrame(),l(f)||l(g))return{object:f,position:g,exclude:!l(g)&&r||Spt(f,i)}}function Z_e(e,t,n,i,o,r,s,a){return V_e(i,function(){return Cpt(e,t,n,o,r,s,a)})}function SL(e,t,n,i,o,r,s){let a=Z_e(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function G_e(e,t,n,i,o,r,s,a){return Z_e(e,t,n,i,o,r,s,a)}function FB(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}ra.prototype.pickFromRay=function(e,t,n,i){return SL(this,e,t,n,i,!1,!1)};ra.prototype.drillPickFromRay=function(e,t,n,i,o){return G_e(this,e,t,n,i,o,!1,!1)};ra.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=gn.clone(t),n=l(n)?n.slice():n,FB(e,wB(o,e,t,n,i,function(){return SL(o,e,t,n,i,!1,!0)}))};ra.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=gn.clone(t),i=l(i)?i.slice():i,FB(e,wB(r,e,t,i,o,function(){return G_e(r,e,t,n,i,o,!1,!0)}))};var Vpt=new h,Lpt=new h,Rpt=new gn,E_e=new he;function U8(e,t){let n=e.ellipsoid,i=hi._defaultMaxTerrainHeight,o=n.geodeticSurfaceNormalCartographic(t,Lpt),r=he.toCartesian(t,n,Vpt),s=Rpt;s.origin=r,s.direction=o;let a=new gn;return gn.getPoint(s,i,a.origin),h.negate(o,a.direction),a}function I_e(e,t){let n=e.ellipsoid,i=he.fromCartesian(t,n,E_e);return U8(e,i)}function X_e(e,t){let n=e.ellipsoid;return he.fromCartesian(t,n,E_e).height}function Zpt(e,t,n,i,o){let r=U8(t,n);return wB(e,t,r,i,o,function(){let s=SL(e,t,r,i,o,!0,!0);if(l(s))return X_e(t,s.position)})}function Gpt(e,t,n,i,o,r){let s=I_e(t,n);return wB(e,t,s,i,o,function(){let a=SL(e,t,s,i,o,!0,!0);if(l(a))return h.clone(a.position,r)})}ra.prototype.sampleHeight=function(e,t,n,i){let o=U8(e,t),r=SL(this,e,o,n,i,!0,!1);if(l(r))return X_e(e,r.position)};ra.prototype.clampToHeight=function(e,t,n,i,o){let r=I_e(e,t),s=SL(this,e,r,n,i,!0,!1);if(l(s))return h.clone(s.position,o)};ra.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Zpt(this,e,t[s],n,i);return FB(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};ra.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Gpt(this,e,t[s],n,i,t[s]);return FB(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};ra.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var uA=ra;var M3i=T(S(),1);var m3i=T(S(),1);var pBi=T(S(),1),mA=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + color /= texture(autoExposure, vec2(0.5)).r; +#else + color *= vec3(exposure); +#endif + color = czm_acesTonemapping(color); + color = czm_inverseGamma(color); + + out_FragColor = vec4(color, fragmentColor.a); +} +`;var gBi=T(S(),1),hA=`precision highp float; + +uniform sampler2D randomTexture; +uniform sampler2D depthTexture; +uniform float intensity; +uniform float bias; +uniform float lengthCap; +uniform int stepCount; +uniform int directionCount; + +vec4 pixelToEye(vec2 screenCoordinate) +{ + vec2 uv = screenCoordinate / czm_viewport.zw; + float depth = czm_readDepth(depthTexture, uv); + vec2 xy = 2.0 * uv - vec2(1.0); + vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); + posEC = posEC / posEC.w; + // Avoid numerical error at far plane + if (depth >= 1.0) { + posEC.z = czm_currentFrustum.y; + } + return posEC; +} + +// Reconstruct surface normal in eye coordinates, avoiding edges +vec3 getNormalXEdge(vec3 positionEC) +{ + // Find the 3D surface positions at adjacent screen pixels + vec2 centerCoord = gl_FragCoord.xy; + vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0)).xyz; + vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0)).xyz; + vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0)).xyz; + vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0)).xyz; + + // Compute potential tangent vectors + vec3 dx0 = positionEC - positionLeft; + vec3 dx1 = positionRight - positionEC; + vec3 dy0 = positionEC - positionDown; + vec3 dy1 = positionUp - positionEC; + + // The shorter tangent is more likely to be on the same surface + vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1; + vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1; + + return normalize(cross(dx, dy)); +} + +const float sqrtTwoPi = sqrt(czm_twoPi); + +float gaussian(float x, float standardDeviation) { + float argument = x / standardDeviation; + return exp(-0.5 * argument * argument) / (sqrtTwoPi * standardDeviation); +} + +void main(void) +{ + vec4 positionEC = pixelToEye(gl_FragCoord.xy); + + // Exit if we are too close to the back of the frustum, where the depth value is invalid. + float maxValidDepth = czm_currentFrustum.y - lengthCap; + if (-positionEC.z > maxValidDepth) + { + out_FragColor = vec4(1.0); + return; + } + + vec3 normalEC = getNormalXEdge(positionEC.xyz); + float gaussianVariance = lengthCap * sqrt(-positionEC.z); + // Choose a step length such that the marching stops just before 3 * variance. + float stepLength = 3.0 * gaussianVariance / (float(stepCount) + 1.0); + float metersPerPixel = czm_metersPerPixel(positionEC, 1.0); + // Minimum step is 1 pixel to avoid double sampling + float pixelsPerStep = max(stepLength / metersPerPixel, 1.0); + stepLength = pixelsPerStep * metersPerPixel; + + float angleStepScale = 1.0 / float(directionCount); + float angleStep = angleStepScale * czm_twoPi; + float cosStep = cos(angleStep); + float sinStep = sin(angleStep); + mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep); + + // Initial sampling direction (different for each pixel) + const float randomTextureSize = 255.0; + vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize); + float randomVal = texture(randomTexture, randomTexCoord).x; + vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal)); + + float ao = 0.0; + // Loop over sampling directions +#if __VERSION__ == 300 + for (int i = 0; i < directionCount; i++) + { +#else + for (int i = 0; i < 16; i++) + { + if (i >= directionCount) { + break; + } +#endif + sampleDirection = rotateStep * sampleDirection; + + float localAO = 0.0; + vec2 radialStep = pixelsPerStep * sampleDirection; + +#if __VERSION__ == 300 + for (int j = 0; j < stepCount; j++) + { +#else + for (int j = 0; j < 64; j++) + { + if (j >= stepCount) { + break; + } +#endif + // Step along sampling direction, away from output pixel + vec2 samplePixel = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5); + + // Exit if we stepped off the screen + if (clamp(samplePixel, vec2(0.0), czm_viewport.zw) != samplePixel) { + break; + } + + // Compute step vector from output point to sampled point + vec4 samplePositionEC = pixelToEye(samplePixel); + vec3 stepVector = samplePositionEC.xyz - positionEC.xyz; + + // Estimate the angle from the surface normal. + float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0); + dotVal = czm_branchFreeTernary(dotVal > bias, dotVal, 0.0); + dotVal = czm_branchFreeTernary(-samplePositionEC.z <= maxValidDepth, dotVal, 0.0); + + // Weight contribution based on the distance from the output point + float sampleDistance = length(stepVector); + float weight = gaussian(sampleDistance, gaussianVariance); + localAO += weight * dotVal; + } + ao += localAO; + } + + ao *= angleStepScale * stepLength; + ao = 1.0 - clamp(ao, 0.0, 1.0); + ao = pow(ao, intensity); + out_FragColor = vec4(vec3(ao), 1.0); +} +`;var xBi=T(S(),1),fA=`uniform sampler2D colorTexture; +uniform sampler2D ambientOcclusionTexture; +uniform bool ambientOcclusionOnly; +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); + out_FragColor = ambientOcclusionOnly ? ao : ao * color; +} +`;var TBi=T(S(),1),pA=`uniform sampler2D colorTexture; +uniform float gradations; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = vec4(rgb, 1.0); + return; + } +#endif + float luminance = czm_luminance(rgb); + float darkness = luminance * gradations; + darkness = (darkness - fract(darkness)) / gradations; + out_FragColor = vec4(vec3(darkness), 1.0); +} +`;var CBi=T(S(),1),bA=`uniform sampler2D colorTexture; +uniform sampler2D bloomTexture; +uniform bool glowOnly; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = color; + return; + } +#endif + + vec4 bloom = texture(bloomTexture, v_textureCoordinates); + out_FragColor = glowOnly ? bloom : bloom + color; +} +`;var LBi=T(S(),1),gA=`uniform sampler2D colorTexture; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 target = vec3(0.0); + out_FragColor = vec4(mix(target, rgb, brightness), 1.0); +} +`;var ZBi=T(S(),1),yA=`uniform sampler2D colorTexture; +uniform float contrast; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; + sceneColor = czm_RGBToHSB(sceneColor); + sceneColor.z += brightness; + sceneColor = czm_HSBToRGB(sceneColor); + + float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); + sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); + out_FragColor = vec4(sceneColor, 1.0); +} +`;var EBi=T(S(),1),xA=`uniform sampler2D colorTexture; +uniform sampler2D blurTexture; +uniform sampler2D depthTexture; +uniform float focalDistance; + +in vec2 v_textureCoordinates; + +vec4 toEye(vec2 uv, float depth) +{ + vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); + vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); + posInCamera = posInCamera / posInCamera.w; + return posInCamera; +} + +float computeDepthBlur(float depth) +{ + float f; + if (depth < focalDistance) + { + f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); + } + else + { + f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); + f = pow(f, 0.1); + } + f *= f; + f = clamp(f, 0.0, 1.0); + return pow(f, 0.5); +} + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + vec4 posInCamera = toEye(v_textureCoordinates, depth); + float d = computeDepthBlur(-posInCamera.z); + out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); +} +`;var XBi=T(S(),1),_A=`uniform sampler2D depthTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + out_FragColor = vec4(vec3(depth), 1.0); +} +`;var PBi=T(S(),1),TA=`uniform sampler2D depthTexture; +uniform float length; +uniform vec4 color; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float directions[3]; + directions[0] = -1.0; + directions[1] = 0.0; + directions[2] = 1.0; + + float scalars[3]; + scalars[0] = 3.0; + scalars[1] = 10.0; + scalars[2] = 3.0; + + float padx = czm_pixelRatio / czm_viewport.z; + float pady = czm_pixelRatio / czm_viewport.w; + +#ifdef CZM_SELECTED_FEATURE + bool selected = false; + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + selected = selected || czm_selected(vec2(-padx, dir * pady)); + selected = selected || czm_selected(vec2(padx, dir * pady)); + selected = selected || czm_selected(vec2(dir * padx, -pady)); + selected = selected || czm_selected(vec2(dir * padx, pady)); + if (selected) + { + break; + } + } + if (!selected) + { + out_FragColor = vec4(color.rgb, 0.0); + return; + } +#endif + + float horizEdge = 0.0; + float vertEdge = 0.0; + + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + float scale = scalars[i]; + + horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; + horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; + + vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; + vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; + } + + float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); + out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); +} +`;var wBi=T(S(),1),SA=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See slides 142 and 143: +// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + + const float A = 0.22; // shoulder strength + const float B = 0.30; // linear strength + const float C = 0.10; // linear angle + const float D = 0.20; // toe strength + const float E = 0.01; // toe numerator + const float F = 0.30; // toe denominator + + const float white = 11.2; // linear white point value + + vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; + float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; + + c = czm_inverseGamma(c / w); + out_FragColor = vec4(c, fragmentColor.a); +} +`;var ABi=T(S(),1),CA=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + color /= texture(autoExposure, vec2(0.5)).r; +#else + color *= vec3(exposure); +#endif + color = czm_pbrNeutralTonemapping(color); + color = czm_inverseGamma(color); + + out_FragColor = vec4(color, fragmentColor.a); +} +`;var NBi=T(S(),1),VA=`in vec2 v_textureCoordinates; + +uniform sampler2D colorTexture; + +const float fxaaQualitySubpix = 0.5; +const float fxaaQualityEdgeThreshold = 0.125; +const float fxaaQualityEdgeThresholdMin = 0.0833; + +void main() +{ + vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; + vec4 color = FxaaPixelShader( + v_textureCoordinates, + colorTexture, + fxaaQualityRcpFrame, + fxaaQualitySubpix, + fxaaQualityEdgeThreshold, + fxaaQualityEdgeThresholdMin); + float alpha = texture(colorTexture, v_textureCoordinates).a; + out_FragColor = vec4(color.rgb, alpha); +} +`;var UBi=T(S(),1),Yy=`#define SAMPLES 8 + +uniform float delta; +uniform float sigma; +uniform float direction; // 0.0 for x direction, 1.0 for y direction + +uniform sampler2D colorTexture; + +#ifdef USE_STEP_SIZE +uniform float stepSize; +#else +uniform vec2 step; +#endif + +in vec2 v_textureCoordinates; + +// Incremental Computation of the Gaussian: +// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html + +void main() +{ + vec2 st = v_textureCoordinates; + vec2 dir = vec2(1.0 - direction, direction); + +#ifdef USE_STEP_SIZE + vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); +#else + vec2 step = step; +#endif + + vec3 g; + g.x = 1.0 / (sqrt(czm_twoPi) * sigma); + g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); + g.z = g.y * g.y; + + vec4 result = texture(colorTexture, st) * g.x; + for (int i = 1; i < SAMPLES; ++i) + { + g.xy *= g.yz; + + vec2 offset = float(i) * dir * step; + result += texture(colorTexture, st - offset) * g.x; + result += texture(colorTexture, st + offset) * g.x; + } + + out_FragColor = result; +} +`;var BBi=T(S(),1),LA=`uniform sampler2D colorTexture; +uniform sampler2D dirtTexture; +uniform sampler2D starTexture; +uniform vec2 dirtTextureDimensions; +uniform float distortion; +uniform float ghostDispersal; +uniform float haloWidth; +uniform float dirtAmount; +uniform float earthRadius; +uniform float intensity; + +in vec2 v_textureCoordinates; + +// whether it is in space or not +// 6500000.0 is empirical value +#define DISTANCE_TO_SPACE 6500000.0 + +// return ndc from world coordinate biased earthRadius +vec4 getNDCFromWC(vec3 WC, float earthRadius) +{ + vec4 positionEC = czm_view * vec4(WC, 1.0); + positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); +} + +// Check if current pixel is included Earth +// if then mask it gradually +float isInEarth(vec2 texcoord, vec2 sceneSize) +{ + vec2 NDC = texcoord * 2.0 - 1.0; + vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); + vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); + NDC.xy -= earthPosSC.xy; + + float X = abs(NDC.x) * sceneSize.x; + float Y = abs(NDC.y) * sceneSize.y; + + return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); +} + +// For Chromatic effect +vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) +{ + vec2 sceneSize = czm_viewport.zw; + vec3 color; + if(isSpace) + { + color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; + color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; + color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; + } + else + { + color.r = texture(tex, texcoord + direction * distortion.r).r; + color.g = texture(tex, texcoord + direction * distortion.g).g; + color.b = texture(tex, texcoord + direction * distortion.b).b; + } + return vec4(clamp(color, 0.0, 1.0), 0.0); +} + +void main(void) +{ + vec4 originalColor = texture(colorTexture, v_textureCoordinates); + vec3 rgb = originalColor.rgb; + bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; + + // Sun position + vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); + vec4 sunPositionEC = czm_view * sunPos; + vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); + sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); + + // If sun is not in the screen space, use original color. + if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) + { + // Lens flare is disabled when not in space until #5932 is fixed. + // https://github.com/CesiumGS/cesium/issues/5932 + out_FragColor = originalColor; + return; + } + + vec2 texcoord = vec2(1.0) - v_textureCoordinates; + vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; + vec2 invPixelSize = 1.0 / pixelSize; + vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); + + // ghost vector to image centre: + vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; + vec3 direction = normalize(vec3(ghostVec, 0.0)); + + // sample ghosts: + vec4 result = vec4(0.0); + vec4 ghost = vec4(0.0); + for (int i = 0; i < 4; ++i) + { + vec2 offset = fract(texcoord + ghostVec * float(i)); + // Only bright spots from the centre of the source image + ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); + } + result += ghost; + + // sample halo + vec2 haloVec = normalize(ghostVec) * haloWidth; + float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); + weightForHalo = pow(1.0 - weightForHalo, 5.0); + + result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; + + // dirt on lens + vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; + if (dirtTexCoords.x > 1.0) + { + dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); + } + if (dirtTexCoords.y > 1.0) + { + dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); + } + result += dirtAmount * texture(dirtTexture, dirtTexCoords); + + // Rotating starburst texture's coordinate + // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) + float camrot = czm_view[0].z + czm_view[1].y; + float cosValue = cos(camrot); + float sinValue = sin(camrot); + mat3 rotation = mat3( + cosValue, -sinValue, 0.0, + sinValue, cosValue, 0.0, + 0.0, 0.0, 1.0 + ); + + vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); + vec3 st2 = vec3((rotation * st1).xy, 1.0); + vec3 st3 = st2 * 0.5 + vec3(0.5); + vec2 lensStarTexcoord = st3.xy; + float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); + float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); + + if (!isSpace) + { + result *= oneMinusWeightForLensFlare * intensity * 0.2; + } + else + { + result *= oneMinusWeightForLensFlare * intensity; + result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; + } + + result += texture(colorTexture, v_textureCoordinates); + + out_FragColor = result; +} +`;var YBi=T(S(),1),RA=`uniform sampler2D colorTexture; +uniform vec3 white; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See equation 4: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + color = (color * (1.0 + color / white)) / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var zBi=T(S(),1),ZA=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +float rand(vec2 co) +{ + return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 green = vec3(0.0, 1.0, 0.0); + out_FragColor = vec4((noiseValue + rgb) * green, 1.0); +} +`;var JBi=T(S(),1),GA=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See equation 3: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + color = color / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var jBi=T(S(),1),EA=`uniform sampler2D colorTexture; +uniform sampler2D silhouetteTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); + vec4 color = texture(colorTexture, v_textureCoordinates); + out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); +} +`;var sOi=T(S(),1);function aS(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new gi,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new D,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(aS.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let e=this._framebuffers;if(l(e))return e[e.length-1].getColorTexture(0)}}});function W_e(e){let t=e._framebuffers;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function Ept(e,t){W_e(e);let n=e._width,i=e._height,o=t.halfFloatingPointTexture?qe.HALF_FLOAT:qe.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),s=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),s[c]=new gi,s[c].update(t,n,i,1,o);let a=s[r-1].getColorTexture(0);e._previousLuminance.update(t,a.width,a.height,1,o),e._framebuffers=s}function P_e(e){let t=e._commands;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function Ipt(e,t){let n;if(t===0)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{let i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function Xpt(e,t){let n=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +float sampleTexture(vec2 offset) { +`;return e===0?n+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); + return czm_luminance(color.rgb); +`:n+=` return texture(colorTexture, v_textureCoordinates + offset).r; +`,n+=`} + +`,n+=`uniform vec2 colorTextureDimensions; +uniform vec2 minMaxLuminance; +uniform sampler2D previousLuminance; +void main() { + float color = 0.0; + float xStep = 1.0 / colorTextureDimensions.x; + float yStep = 1.0 / colorTextureDimensions.y; + int count = 0; + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + vec2 offset; + offset.x = -xStep + float(i) * xStep; + offset.y = -yStep + float(j) * yStep; + if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { + continue; + } + color += sampleTexture(offset); + ++count; + } + } + if (count > 0) { + color /= float(count); + } +`,e===t-1&&(n+=` float previous = texture(previousLuminance, vec2(0.5)).r; + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); + color = previous + (color - previous) / (60.0 * 1.5); + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); +`),n+=` out_FragColor = vec4(color); +} +`,n}function Wpt(e,t){P_e(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(Xpt(r,i),{framebuffer:n[r].framebuffer,uniformMap:Ipt(e,r)});e._commands=o}aS.prototype.clear=function(e){let t=this._framebuffers;if(!l(t))return;let n=this._clearCommand;l(n)||(n=this._clearCommand=new oi({color:new B(0,0,0,0),framebuffer:void 0}));let i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)};aS.prototype.update=function(e){let t=e.drawingBufferWidth,n=e.drawingBufferHeight;(t!==this._width||n!==this._height)&&(this._width=t,this._height=n,Ept(this,e),Wpt(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o};aS.prototype.execute=function(e,t){this._colorTexture=t;let n=this._commands;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o)n[o].execute(e)};aS.prototype.isDestroyed=function(){return!1};aS.prototype.destroy=function(){return W_e(this),P_e(this),me(this)};var IA=aS;var EOi=T(S(),1);var cOi=T(S(),1),Ppt={NEAREST:0,LINEAR:1},iu=Ppt;function cS(e){e=y(e,y.EMPTY_OBJECT);let{name:t=Yn(),fragmentShader:n,uniforms:i,textureScale:o=1,forcePowerOfTwo:r=!1,sampleMode:s=iu.NEAREST,pixelFormat:a=st.RGBA,pixelDatatype:c=qe.UNSIGNED_BYTE,clearColor:d=B.BLACK,scissorRectangle:u}=e;this._fragmentShader=n,this._uniforms=i,this._textureScale=o,this._forcePowerOfTwo=r,this._sampleMode=s,this._pixelFormat=a,this._pixelDatatype=c,this._clearColor=d,this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let m=new sc;m.scissorTest={enabled:!0,rectangle:l(u)?Je.clone(u):new Je},this._passState=m,this._ready=!1,this._name=t,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(cS.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(l(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(l(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var vpt=/uniform\s+sampler2D\s+depthTexture/g;cS.prototype._isSupported=function(e){return!vpt.test(this._fragmentShader)||e.depthTexture};function wpt(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];l(a)&&a!==r&&a instanceof It&&!l(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof It&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function Fpt(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function Apt(e,t){return function(){let n=e[t]();if(l(n))return n.dimensions}}function Mpt(e){if(l(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i){if(!i.hasOwnProperty(r))continue;typeof i[r]!="function"?(t[r]=Fpt(e,r),n[r]=wpt(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof It||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=Apt(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=Vt(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function Npt(e,t){return e=e.replace(/in\s+vec2\s+v_textureCoordinates;/g,""),`#define CZM_SELECTED_FEATURE +uniform sampler2D czm_idTexture; +uniform sampler2D czm_selectedIdTexture; +uniform float czm_selectedIdTextureStep; +in vec2 v_textureCoordinates; +bool czm_selected(vec2 offset) +{ + bool selected = false; + vec4 id = texture(czm_idTexture, v_textureCoordinates + offset); + for (int i = 0; i < ${t}; ++i) + { + vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); + if (all(equal(id, selectedId))) + { + return true; + } + } + return false; +} +bool czm_selected() +{ + return czm_selected(vec2(0.0)); +} + +${e}`}function kpt(e,t){if(l(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(l(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=Npt(n,o)}let i=new Oe({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function Upt(e){let t=e._sampleMode,n,i;t===iu.LINEAR?(n=qt.LINEAR,i=bi.LINEAR):(n=qt.NEAREST,i=bi.NEAREST);let o=e._sampler;(!l(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function Dpt(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function Bpt(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function Opt(e,t){let n=e._texturesToRelease;for(let a=0;a<n.length;++a){let c=n[a];c=c&&c.destroy()}n.length=0;let i=e._texturesToCreate;for(let a=0;a<i.length;++a){let{name:c,source:d}=i[a];e._actualUniforms[c]=new It({context:t,source:d})}i.length=0;let o=e._dirtyUniforms;if(o.length===0&&!l(e._texturePromise)){e._ready=!0;return}if(o.length===0||l(e._texturePromise))return;let r=e._uniforms,s=[];for(let a=0;a<o.length;++a){let c=o[a],d=r[c],u=e._textureCache.getStageByName(d);if(l(u))e._actualUniforms[c]=Bpt(e,d);else if(typeof d=="string"){let m=new Le({url:d});s.push(m.fetchImage().then(Dpt(e,c)))}else e._texturesToCreate.push({name:c,source:d})}o.length=0,s.length>0?(e._ready=!1,e._texturePromise=Promise.all(s).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function v_e(e){l(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!l(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i){if(!i.hasOwnProperty(o))continue;let r=i[o];r instanceof It&&(l(t.getStageByName(n[o]))||r.destroy(),e._dirtyUniforms.push(o))}}function Ypt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength;if(l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;for(let o=0;o<e._combinedSelected.length;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function Hpt(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!l(n))return;let i=0;for(let s=0;s<n.length;++s){let a=n[s];l(a.pickIds)?i+=a.pickIds.length:l(a.pickId)&&++i}if(n.length===0||i===0){let s=new Uint8Array([255,255,255,255]);e._selectedIdTexture=new It({context:t,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,source:{arrayBufferView:s,width:1,height:1},sampler:$t.NEAREST});return}let o=0,r=new Uint8Array(i*4);for(let s=0;s<n.length;++s){let a=n[s];if(l(a.pickIds)){let c=a.pickIds,d=c.length;for(let u=0;u<d;++u){let m=c[u].color;r[o]=B.floatToByte(m.red),r[o+1]=B.floatToByte(m.green),r[o+2]=B.floatToByte(m.blue),r[o+3]=B.floatToByte(m.alpha),o+=4}}else if(l(a.pickId)){let c=a.pickId.color;r[o]=B.floatToByte(c.red),r[o+1]=B.floatToByte(c.green),r[o+2]=B.floatToByte(c.blue),r[o+3]=B.floatToByte(c.alpha),o+=4}}e._selectedIdTexture=new It({context:t,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,source:{arrayBufferView:r,width:i,height:1},sampler:$t.NEAREST})}cS.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&&v_e(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=Ypt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0,Hpt(this,e),Mpt(this),Opt(this,e),kpt(this,e),Upt(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!l(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!l(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=Be.fromCache({viewport:new Je(0,0,i.width,i.height)}))),this._command.renderState=o};cS.prototype.execute=function(e,t,n,i){if(!l(this._command)||!l(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,$t.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;l(o)&&(o.context=e),this._command.execute(e,o)};cS.prototype.isDestroyed=function(){return!1};cS.prototype.destroy=function(){return v_e(this),me(this)};var po=cS;var wOi=T(S(),1);function lS(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;l(t)||(t=Yn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(lS.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});lS.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};lS.prototype.get=function(e){return this._stages[e]};function zpt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}lS.prototype.update=function(e,t){this._selectedDirty=zpt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};lS.prototype.isDestroyed=function(){return!1};lS.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return me(this)};var $l=lS;var Er={};function D8(e){let o=`#define USE_STEP_SIZE +${Yy}`,r=new po({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:iu.LINEAR}),s=new po({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:iu.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let d=r.uniforms,u=s.uniforms;d.delta=u.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let d=r.uniforms,u=s.uniforms;d.sigma=u.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let d=r.uniforms,u=s.uniforms;d.stepSize=u.stepSize=c}}}),new $l({name:e,stages:[r,s],uniforms:a})}Er.createBlurStage=function(){return D8("czm_blur")};Er.createDepthOfFieldStage=function(){let e=D8("czm_depth_of_field_blur"),t=new po({name:"czm_depth_of_field_composite",fragmentShader:xA,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new $l({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Er.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Er.createEdgeDetectionStage=function(){let e=Yn();return new po({name:`czm_edge_detection_${e}`,fragmentShader:TA,uniforms:{length:.25,color:B.clone(B.BLACK)}})};Er.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function Kpt(e){if(!l(e))return Er.createEdgeDetectionStage();let t=new $l({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a}; +`,o+=` vec4 edge${a} = texture(edgeTexture${a}, v_textureCoordinates); + if (edge${a}.a > 0.0) + { + color = edge${a}; + break; + } +`,n[`edgeTexture${a}`]=e[a].name;let r=`${i}in vec2 v_textureCoordinates; +void main() { + vec4 color = vec4(0.0); + for (int i = 0; i < ${e.length}; i++) + { +${o} } + out_FragColor = color; +} +`,s=new po({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new $l({name:"czm_edge_detection_composite",stages:[t,s]})}Er.createSilhouetteStage=function(e){let t=Kpt(e),n=new po({name:"czm_silhouette_color_edges",fragmentShader:EA,uniforms:{silhouetteTexture:t.name}});return new $l({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Er.isSilhouetteSupported=function(e){return e.context.depthTexture};Er.createBloomStage=function(){let e=new po({name:"czm_bloom_contrast_bias",fragmentShader:yA,uniforms:{contrast:128,brightness:-.3}}),t=D8("czm_bloom_blur"),n=new $l({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new po({name:"czm_bloom_generate_composite",fragmentShader:bA,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new $l({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Er.createAmbientOcclusionStage=function(){let e=new po({name:"czm_ambient_occlusion_generate",fragmentShader:hA,uniforms:{intensity:3,bias:.1,lengthCap:.26,directionCount:8,stepCount:32,randomTexture:void 0}}),t=new po({name:"czm_ambient_occlusion_composite",fragmentShader:fA,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:e.name}}),n={};return Object.defineProperties(n,{intensity:{get:function(){return e.uniforms.intensity},set:function(i){e.uniforms.intensity=i}},bias:{get:function(){return e.uniforms.bias},set:function(i){e.uniforms.bias=i}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(i){e.uniforms.lengthCap=i}},directionCount:{get:function(){return e.uniforms.directionCount},set:function(i){e.uniforms.directionCount=i}},stepCount:{get:function(){return e.uniforms.stepCount},set:function(i){e.uniforms.stepCount=i}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(i){e.uniforms.randomTexture=i}},ambientOcclusionOnly:{get:function(){return t.uniforms.ambientOcclusionOnly},set:function(i){t.uniforms.ambientOcclusionOnly=i}}}),new $l({name:"czm_ambient_occlusion",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Er.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var Jpt=`#define FXAA_QUALITY_PRESET 39 +${Jw} +${VA}`;Er.createFXAAStage=function(){return new po({name:"czm_FXAA",fragmentShader:Jpt,sampleMode:iu.LINEAR})};Er.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=mA,new po({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Er.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=SA,new po({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Er.createPbrNeutralTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=CA,new po({name:"czm_pbr_neutral",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Er.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=GA,new po({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Er.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=RA,new po({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:B.WHITE,autoExposure:void 0,exposure:1}})};Er.createAutoExposureStage=function(){return new IA};Er.createBlackAndWhiteStage=function(){return new po({name:"czm_black_and_white",fragmentShader:pA,uniforms:{gradations:5}})};Er.createBrightnessStage=function(){return new po({name:"czm_brightness",fragmentShader:gA,uniforms:{brightness:.5}})};Er.createNightVisionStage=function(){return new po({name:"czm_night_vision",fragmentShader:ZA})};Er.createDepthViewStage=function(){return new po({name:"czm_depth_view",fragmentShader:_A})};Er.createLensFlareStage=function(){return new po({name:"czm_lens_flare",fragmentShader:LA,uniforms:{dirtTexture:sn("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:sn("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:ne.WGS84.maximumRadius}})};var ou=Er;var _3i=T(S(),1);function S0(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function WA(e){for(;l(e.length);)e=e.get(e.length-1);return e.name}function B8(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(l(o)){let a=e.getStageByName(o);r[WA(a)]=!0}let s=i.uniforms;if(l(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let d=0;d<c;++d){let u=s[a[d]];if(typeof u=="string"){let m=e.getStageByName(u);l(m)&&(r[WA(m)]=!0)}}}return i.name}function XA(e,t,n,i,o){if(l(i.enabled)&&!i.enabled||l(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!l(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let m=0;m<c;++m){let p=i.get(m);l(p.length)?a=XA(e,t,n,p,o):a=B8(e,t,n,p,o),s&&(o=a)}let d,u;if(s)for(d=1;d<c;++d)u=WA(i.get(d)),l(n[u])||(n[u]={}),n[u][r]=!0;else for(d=1;d<c;++d){u=WA(i.get(d));let m=n[u];for(let p=0;p<d;++p)m[WA(i.get(p))]=!0}return a}function Qpt(e,t){let n={};if(l(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=XA(e,t,n,i,void 0);a=XA(e,t,n,o,a),a=B8(e,t,n,r,a),a=XA(e,t,n,e,a),B8(e,t,n,s,a)}else XA(e,t,n,e,void 0);return n}function jpt(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,d=o._clearColor,u,m,p=e._framebuffers,g=p.length;for(u=0;u<g;++u){if(m=p[u],r!==m.textureScale||s!==m.forcePowerOfTwo||a!==m.pixelFormat||c!==m.pixelDatatype||!B.equals(d,m.clearColor))continue;let f=m.stages,x=f.length,_=!1;for(let C=0;C<x;++C)if(n[f[C]]){_=!0;break}if(!_)break}return l(m)&&u<g?(m.stages.push(t),m):(m={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:d,stages:[t],buffer:new gi({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(m),m)}function qpt(e,t){let n=Qpt(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=jpt(e,i,n[i]))}function O8(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function $pt(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,d=Math.ceil(n*c),u=Math.ceil(i*c),m=Math.min(d,u);a.forcePowerOfTwo&&(W.isPowerOfTwo(m)||(m=W.nextPowerOfTwo(m)),d=m,u=m),a.buffer.update(t,d,u),a.clear=new oi({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}S0.prototype.updateDependencies=function(){this._updateDependencies=!0};S0.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=l(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=l(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=l(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=l(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!l(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(O8(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&qpt(this,e);let c=e.drawingBufferWidth,d=e.drawingBufferHeight,u=this._width!==c||this._height!==d;!n&&!u||(this._width=c,this._height=d,this._updateDependencies=!1,O8(this),$pt(this,e))};S0.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};S0.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};S0.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};S0.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(l(t))return t.buffer.framebuffer};S0.prototype.isDestroyed=function(){return!1};S0.prototype.destroy=function(){return O8(this),me(this)};var dS=S0;var S3i=T(S(),1),ebt={REINHARD:"REINHARD",MODIFIED_REINHARD:"MODIFIED_REINHARD",FILMIC:"FILMIC",ACES:"ACES",PBR_NEUTRAL:"PBR_NEUTRAL"};var C0=Object.freeze(ebt);var Y8=[];function ul(){let e=ou.createFXAAStage(),t=ou.createAmbientOcclusionStage(),n=ou.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=ou.createAutoExposureStage(),this._exposure=1,this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=C0.PBR_NEUTRAL;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new dS(this),r={},s=Y8;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let d=c.length;if(l(d))for(let u=0;u<d;++u)s.push(c.get(u))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(ul.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return H8(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(l(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!l(t))continue;if(l(t.selected))return!0;let n=t.length;if(l(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;l(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case C0.REINHARD:n=ou.createReinhardTonemappingStage(t);break;case C0.MODIFIED_REINHARD:n=ou.createModifiedReinhardTonemappingStage(t);break;case C0.FILMIC:n=ou.createFilmicTonemappingStage(t);break;case C0.PBR_NEUTRAL:n=ou.createPbrNeutralTonemappingStage(t);break;default:n=ou.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}else n.uniforms.exposure=this._exposure;this._tonemapper=e,this._tonemapping=n,l(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}},exposure:{get:function(){return this._exposure},set:function(e){this._tonemapping.uniforms.exposure=e,this._exposure=e}}});function H8(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages;for(let i=0,o=0;i<n.length;++i){let r=n[i];r&&(r._index=o++,t.push(r))}e._stages=t}ul.prototype.add=function(e){let t=this._stageNames,n=Y8;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(l(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};ul.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=Y8;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(l(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};ul.prototype.contains=function(e){return l(e)&&l(e._index)&&e._textureCache===this._textureCache};ul.prototype.get=function(e){return H8(this),this._stages[e]};ul.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};ul.prototype.getStageByName=function(e){return this._stageNames[e]};ul.prototype.update=function(e,t,n){H8(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages;o.length=r.length;let s=0;for(let C=0;C<r.length;++C){let V=r[C];V.ready&&V.enabled&&V._isSupported(e)&&(o[s++]=V)}o.length=s;let a=s!==i.length;if(!a){for(let C=0;C<s;++C)if(o[C]!==i[C]){a=!0;break}}let c=this._ao,d=this._bloom,u=this._autoExposure,m=this._tonemapping,p=this._fxaa;m.enabled=n;let g=c.enabled&&c._isSupported(e),f=d.enabled&&d._isSupported(e),x=m.enabled&&m._isSupported(e),_=p.enabled&&p._isSupported(e);if((a||this._textureCacheDirty||g!==this._aoEnabled||f!==this._bloomEnabled||x!==this._tonemappingEnabled||_!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=g,this._bloomEnabled=f,this._tonemappingEnabled=x,this._fxaaEnabled=_,this._textureCacheDirty=!1),l(this._randomTexture)&&!g&&(this._randomTexture.destroy(),this._randomTexture=void 0),!l(this._randomTexture)&&g){let V=new Uint8Array(196608);for(let L=0;L<196608;L+=3)V[L]=Math.floor(Math.random()*255);this._randomTexture=new It({context:e,pixelFormat:st.RGB,pixelDatatype:qe.UNSIGNED_BYTE,source:{arrayBufferView:V,width:256,height:256},sampler:new $t({wrapS:Ln.REPEAT,wrapT:Ln.REPEAT,minificationFilter:qt.NEAREST,magnificationFilter:bi.NEAREST})})}this._textureCache.update(e),p.update(e,t),c.update(e,t),d.update(e,t),m.update(e,t),this._autoExposureEnabled&&u.update(e,t);for(let C=0;C<r.length;++C)r[C].update(e,t);s=0;for(let C=0;C<r.length;++C){let V=r[C];V.ready&&V.enabled&&V._isSupported(e)&&s++}a=s!==o.length,a&&this.update(e,t,n)};ul.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function uS(e){for(;l(e.length);)e=e.get(e.length-1);return e.outputTexture}ul.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(l(t))return uS(t)};function rp(e,t,n,i,o){if(l(e.execute)){e.execute(t,n,i,o);return}if(e.inputPreviousStageTexture){rp(e.get(0),t,n,i,o);for(let r=1;r<e.length;++r)rp(e.get(r),t,uS(e.get(r-1)),i,o)}else for(let r=0;r<e.length;++r)rp(e.get(r),t,n,i,o)}ul.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,d=this._autoExposure,u=this._tonemapping,m=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,f=u.enabled&&u._isSupported(e),x=s.enabled&&s._isSupported(e);if(!x&&!m&&!p&&!f&&r===0)return;let _=t;m&&a.ready&&(rp(a,e,_,n,i),_=uS(a)),p&&c.ready&&(rp(c,e,_,n,i),_=uS(c)),g&&d.ready&&rp(d,e,_,n,i),f&&u.ready&&(rp(u,e,_,n,i),_=uS(u));let C=_;if(r>0){rp(o[0],e,_,n,i);for(let V=1;V<r;++V)rp(o[V],e,uS(o[V-1]),n,i);C=uS(o[r-1])}x&&s.ready&&rp(s,e,C,n,i)};ul.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(ql,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};ul.prototype.isDestroyed=function(){return!1};ul.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),me(this)};var PA=ul;var nYi=T(S(),1);function mS(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}mS.prototype.completeMorph=function(){l(this._completeMorph)&&this._completeMorph()};mS.prototype.morphTo2D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof ln,!(this._previousMode===oe.SCENE2D||this._previousMode===oe.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,oe.SCENE2D,!0),n._mode=oe.MORPHING,n.camera._setTransform(M.IDENTITY),this._previousMode===oe.COLUMBUS_VIEW?Pbt(this,e):kbt(this,e,t),e===0&&l(this._completeMorph)&&this._completeMorph())};var tbt=new h,nbt=new h,ibt=new h,obt=new h,rbt=new h,sbt=new h,abt=new h,cbt=new he,lbt=new M,dbt=new Gi,ubt=new ln,mbt={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};mS.prototype.morphToColumbusView=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===oe.COLUMBUS_VIEW||this._previousMode===oe.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,oe.COLUMBUS_VIEW,!0),n.camera._setTransform(M.IDENTITY);let i=tbt,o=nbt,r=ibt;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let d=n.camera;if(this._previousMode===oe.SCENE2D)h.clone(d.position,i),i.z=d.frustum.right-d.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(d.positionWC,i),h.clone(d.directionWC,o),h.clone(d.upWC,r);let u=t.scaleToGeodeticSurface(i,abt),m=vt.eastNorthUpToFixedFrame(u,t,lbt);M.inverseTransformation(m,m),n.mapProjection.project(t.cartesianToCartographic(i,cbt),i),M.multiplyByPointAsVector(m,o,o),M.multiplyByPointAsVector(m,r,r)}}let s;this._morphToOrthographic?(s=ubt,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=dbt,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=W.toRadians(60));let a=mbt;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=Dbt(a);vA(this,c),this._previousMode===oe.SCENE2D?Ubt(this,e,a,c):(a.position2D=M.multiplyByPoint(ao.TRANSFORM_2D,i,obt),a.direction2D=M.multiplyByPointAsVector(ao.TRANSFORM_2D,o,rbt),a.up2D=M.multiplyByPointAsVector(ao.TRANSFORM_2D,r,sbt),n._mode=oe.MORPHING,Y_e(this,e,a,c)),e===0&&l(this._completeMorph)&&this._completeMorph()};var J8={position:new h,direction:new h,up:new h,frustum:void 0},F_e=new Gi;mS.prototype.morphTo3D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===oe.SCENE3D||this._previousMode===oe.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,oe.SCENE3D,!0),n._mode=oe.MORPHING,n.camera._setTransform(M.IDENTITY),this._previousMode===oe.SCENE2D)Cbt(this,e,t);else{let i;e>0?(i=J8,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=A_e(this,t);let o,r=n.camera;r.frustum instanceof ln?o=r.frustum.clone():(o=F_e,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=W.toRadians(60)),i.frustum=o;let s=z_e(i);vA(this,s),K8(this,e,i,s)}e===0&&l(this._completeMorph)&&this._completeMorph()}};mS.prototype.isDestroyed=function(){return!1};mS.prototype.destroy=function(){return AB(this),me(this)};function vA(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new $d(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,Cn.LEFT_DOWN),e._morphHandler.setInputAction(n,Cn.MIDDLE_DOWN),e._morphHandler.setInputAction(n,Cn.RIGHT_DOWN),e._morphHandler.setInputAction(n,Cn.WHEEL)}}function AB(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var hbt=new he,fbt=new h,pbt=new M;function A_e(e,t){let n=e._scene,i=n.camera,o=J8,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,hbt);t.cartographicToCartesian(c,r);let d=t.scaleToGeodeticSurface(r,fbt),u=vt.eastNorthUpToFixedFrame(d,t,pbt);return M.multiplyByPointAsVector(u,i.direction,s),M.multiplyByPointAsVector(u,i.up,a),o}var bbt=new h,gbt=new h,ybt=new h,xbt=new h,_bt=new h,Tbt=new h;function K8(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,bbt),a=h.clone(r.direction,gbt),c=h.clone(r.up,ybt),d=M.multiplyByPoint(ao.TRANSFORM_2D_INVERSE,n.position,xbt),u=M.multiplyByPointAsVector(ao.TRANSFORM_2D_INVERSE,n.direction,_bt),m=M.multiplyByPointAsVector(ao.TRANSFORM_2D_INVERSE,n.up,Tbt);function p(f){fm(s,d,f.time,r.position),fm(a,u,f.time,r.direction),fm(c,m,f.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:zr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){H_e(e,o,0,1,t,i)}});e._currentTweens.push(g)}var Sbt=new ln,M_e=new h,N_e=new h,k_e=new h,Q8=new h,U_e=new h,D_e=new h;function Cbt(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=J8,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=A_e(e,n));let s;e._morphToOrthographic?(s=Sbt,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=F_e,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=W.toRadians(60)),r.frustum=s;let a=z_e(r);vA(e,a);let c;e._morphToOrthographic?c=function(){K8(e,t,r,a)}:c=function(){O_e(e,t,r,function(){K8(e,t,r,a)})},t>0?(i._mode=oe.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,Q8),complete:function(){i._mode=oe.MORPHING,c()}})):c()}function fm(e,t,n,i){return h.lerp(e,t,n,i)}function B_e(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof ln)return;let a=s.frustum.fov,c=W.RADIANS_PER_DEGREE*.5,d=n.position.z*Math.tan(a*.5);s.frustum.far=d/Math.tan(c*.5)+1e7;function u(p){s.frustum.fov=W.lerp(a,c,p.time);let g=d/Math.tan(s.frustum.fov*.5);i(s,g)}let m=r.tweens.add({duration:t,easingFunction:zr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:u,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(m)}var Vbt=new h,Lbt=new h,Rbt=new h,z8=new h,Zbt=new h,Gbt=new h,Ebt=new vr,Ibt=new gn,Xbt=new h,Wbt={position:void 0,direction:void 0,up:void 0,frustum:void 0};function Pbt(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,Vbt),r=h.clone(i.direction,Lbt),s=h.clone(i.up,Rbt),a=h.negate(h.UNIT_Z,Zbt),c=h.clone(h.UNIT_Y,Gbt),d=z8;if(t>0)h.clone(h.ZERO,z8),d.z=5*n.ellipsoid.maximumRadius;else{h.clone(o,z8);let _=Ibt;M.multiplyByPoint(ao.TRANSFORM_2D,o,_.origin),M.multiplyByPointAsVector(ao.TRANSFORM_2D,r,_.direction);let C=n.globe;if(l(C)){let V=C.pickWorldCoordinates(_,n,!0,Xbt);l(V)&&(M.multiplyByPoint(ao.TRANSFORM_2D_INVERSE,V,d),d.z+=h.distance(o,d))}}let u=Ebt;u.right=d.z*.5,u.left=-u.right,u.top=u.right*(n.drawingBufferHeight/n.drawingBufferWidth),u.bottom=-u.top;let m=Wbt;m.position=d,m.direction=a,m.up=c,m.frustum=u;let p=K_e(m);vA(e,p);function g(_){fm(o,d,_.time,i.position),fm(r,a,_.time,i.direction),fm(s,c,_.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function f(_,C){_.position.z=C}let x=n.tweens.add({duration:t,easingFunction:zr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){B_e(e,t,m,f,p)}});e._currentTweens.push(x)}var w_e=new he,vbt={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new vr},wbt={position:new h,direction:new h,up:new h,frustum:void 0},Fbt=new h,Abt=new gn,Mbt=new M,Nbt=new h;function kbt(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=vbt;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,w_e),i.mapProjection.project(w_e,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let m=Abt;h.clone(r.position2D,m.origin);let p=h.clone(o.directionWC,m.direction),g=n.scaleToGeodeticSurface(o.positionWC,Nbt),f=vt.eastNorthUpToFixedFrame(g,n,Mbt);M.inverseTransformation(f,f),M.multiplyByPointAsVector(f,p,p),M.multiplyByPointAsVector(ao.TRANSFORM_2D,p,p);let x=i.globe;if(l(x)){let _=x.pickWorldCoordinates(m,i,!0,Fbt);if(l(_)){let C=h.distance(r.position2D,_);_.x+=C,h.clone(_,r.position2D)}}}function s(m,p){m.position.x=p}M.multiplyByPoint(ao.TRANSFORM_2D,r.position,r.position2D),M.multiplyByPointAsVector(ao.TRANSFORM_2D,r.direction,r.direction2D),M.multiplyByPointAsVector(ao.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=wbt;M.multiplyByPoint(ao.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let d=K_e(c);vA(e,d);function u(){B_e(e,t,r,s,d)}Y_e(e,t,r,u)}function O_e(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=W.RADIANS_PER_DEGREE*.5,d=s*Math.tan(a*.5);r.frustum.far=d/Math.tan(c*.5)+1e7,r.frustum.fov=c;function u(p){r.frustum.fov=W.lerp(c,a,p.time),r.position.z=d/Math.tan(r.frustum.fov*.5)}let m=o.tweens.add({duration:t,easingFunction:zr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:u,complete:function(){i(e)}});e._currentTweens.push(m)}function Ubt(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,Q8),a=h.clone(n.direction,U_e),c=h.clone(n.up,D_e);o._mode=oe.MORPHING;function d(){r.frustum=n.frustum.clone();let u=h.clone(r.position,M_e),m=h.clone(r.direction,N_e),p=h.clone(r.up,k_e);u.z=s.z;function g(x){fm(u,s,x.time,r.position),fm(m,a,x.time,r.direction),fm(p,c,x.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let f=o.tweens.add({duration:t,easingFunction:zr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(f)}e._morphToOrthographic?d():O_e(e,0,n,d)}function Y_e(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,M_e),a=h.clone(r.direction,N_e),c=h.clone(r.up,k_e),d=h.clone(n.position2D,Q8),u=h.clone(n.direction2D,U_e),m=h.clone(n.up2D,D_e);function p(f){fm(s,d,f.time,r.position),fm(a,u,f.time,r.direction),fm(c,m,f.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:zr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){H_e(e,o,1,0,t,i)}});e._currentTweens.push(g)}function H_e(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:zr.QUARTIC_OUT};l(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function z_e(e){return function(t){let n=t._scene;n._mode=oe.SCENE3D,n.morphTime=oe.getMorphTime(oe.SCENE3D),AB(t);let i=n.camera;(t._previousMode!==oe.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,oe.SCENE3D,r)}}function K_e(e){return function(t){let n=t._scene;n._mode=oe.SCENE2D,n.morphTime=oe.getMorphTime(oe.SCENE2D),AB(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,oe.SCENE2D,o)}}function Dbt(e){return function(t){let n=t._scene;n._mode=oe.COLUMBUS_VIEW,n.morphTime=oe.getMorphTime(oe.COLUMBUS_VIEW),AB(t);let i=n.camera;(t._previousModeMode!==oe.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,oe.COLUMBUS_VIEW,r)}}var wA=mS;var jYi=T(S(),1);var fYi=T(S(),1);var oYi=T(S(),1),Bbt={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},Fi=Object.freeze(Bbt);function sa(e,t){let n=`${e}`;return l(t)&&(n+=`+${t}`),n}function Obt(e,t){D.clone(e.distance.startPosition,t.distance.startPosition),D.clone(e.distance.endPosition,t.distance.endPosition),D.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),D.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function J_e(e,t,n){let i=sa(Fi.PINCH,t),o=e._update,r=e._isDown,s=e._eventStartPosition,a=e._pressTime,c=e._releaseTime;o[i]=!0,r[i]=!1,s[i]=new D;let d=e._movement[i];l(d)||(d=e._movement[i]={}),d.distance={startPosition:new D,endPosition:new D},d.angleAndHeight={startPosition:new D,endPosition:new D},d.prevAngle=0,e._eventHandler.setInputAction(function(u){e._buttonsDown++,r[i]=!0,a[i]=new Date,D.lerp(u.position1,u.position2,.5,s[i])},Cn.PINCH_START,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),r[i]=!1,c[i]=new Date},Cn.PINCH_END,t),e._eventHandler.setInputAction(function(u){if(r[i]){o[i]?(Obt(u,d),o[i]=!1,d.prevAngle=d.angleAndHeight.startPosition.x):(D.clone(u.distance.endPosition,d.distance.endPosition),D.clone(u.angleAndHeight.endPosition,d.angleAndHeight.endPosition));let m=d.angleAndHeight.endPosition.x,p=d.prevAngle,g=Math.PI*2;for(;m>=p+Math.PI;)m-=g;for(;m<p-Math.PI;)m+=g;d.angleAndHeight.endPosition.x=-m*n.clientWidth/12,d.angleAndHeight.startPosition.x=-p*n.clientWidth/12}},Cn.PINCH_MOVE,t)}function Q_e(e,t){let n=sa(Fi.WHEEL,t),i=e._pressTime,o=e._releaseTime,r=e._update;r[n]=!0;let s=e._movement[n];l(s)||(s=e._movement[n]={});let a=e._lastMovement[n];l(a)||(a=e._lastMovement[n]={startPosition:new D,endPosition:new D,valid:!1}),s.startPosition=new D,D.clone(D.ZERO,s.startPosition),s.endPosition=new D,e._eventHandler.setInputAction(function(c){let d=7.5*W.toRadians(c);i[n]=o[n]=new Date,s.endPosition.x=0,s.endPosition.y=d,D.clone(s.endPosition,a.endPosition),a.valid=!0,r[n]=!1},Cn.WHEEL,t)}function CL(e,t,n){let i=sa(n,t),o=e._isDown,r=e._eventStartPosition,s=e._pressTime;o[i]=!1,r[i]=new D;let a=e._lastMovement[i];l(a)||(a=e._lastMovement[i]={startPosition:new D,endPosition:new D,valid:!1});let c,d;n===Fi.LEFT_DRAG?(c=Cn.LEFT_DOWN,d=Cn.LEFT_UP):n===Fi.RIGHT_DRAG?(c=Cn.RIGHT_DOWN,d=Cn.RIGHT_UP):n===Fi.MIDDLE_DRAG&&(c=Cn.MIDDLE_DOWN,d=Cn.MIDDLE_UP),e._eventHandler.setInputAction(function(u){e._buttonsDown++,a.valid=!1,o[i]=!0,s[i]=new Date,D.clone(u.position,r[i])},c,t),e._eventHandler.setInputAction(function(){j8(sa(n,void 0),e);for(let u of Object.values(na)){let m=sa(n,u);j8(m,e)}},d,t)}function j8(e,t){let n=t._releaseTime,i=t._isDown;i[e]&&(t._buttonsDown=Math.max(t._buttonsDown-1,0)),i[e]=!1,n[e]=new Date}function j_e(e,t){D.clone(e.startPosition,t.startPosition),D.clone(e.endPosition,t.endPosition)}function Ybt(e,t,n){let i=n._isDown,o=!1,r=sa(e,t);for(let[c,d]of Object.entries(i))c.startsWith(e)&&d&&c!==r&&(o=!0,j8(c,n));if(!o)return;let s=n._pressTime,a=n._lastMovement[r];l(a)||(a=n._lastMovement[r]={startPosition:new D,endPosition:new D,valid:!1}),n._buttonsDown++,a.valid=!1,i[r]=!0,s[r]=new Date}function q_e(e,t){let n=e._update,i=e._movement,o=e._lastMovement,r=e._isDown;for(let s in Fi)if(Fi.hasOwnProperty(s)){let a=Fi[s];if(l(a)){let c=sa(a,t);n[c]=!0,l(e._lastMovement[c])||(e._lastMovement[c]={startPosition:new D,endPosition:new D,valid:!1}),l(e._movement[c])||(e._movement[c]={startPosition:new D,endPosition:new D})}}e._eventHandler.setInputAction(function(s){for(let a in Fi)if(Fi.hasOwnProperty(a)){let c=Fi[a];if(l(c)){let d=sa(c,t);Ybt(c,t,e),r[d]&&(n[d]?(j_e(i[d],o[d]),o[d].valid=!0,j_e(s,i[d]),n[d]=!1):D.clone(s.endPosition,i[d].endPosition))}}D.clone(s.endPosition,e._currentMousePosition)},Cn.MOUSE_MOVE,t)}function pm(e){this._eventHandler=new $d(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new D,Q_e(this,void 0),J_e(this,void 0,e),CL(this,void 0,Fi.LEFT_DRAG),CL(this,void 0,Fi.RIGHT_DRAG),CL(this,void 0,Fi.MIDDLE_DRAG),q_e(this,void 0);for(let t in na)if(na.hasOwnProperty(t)){let n=na[t];l(n)&&(Q_e(this,n),J_e(this,n,e),CL(this,n,Fi.LEFT_DRAG),CL(this,n,Fi.RIGHT_DRAG),CL(this,n,Fi.MIDDLE_DRAG),q_e(this,n))}}Object.defineProperties(pm.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let e=!this._update[sa(Fi.WHEEL)]||!this._update[sa(Fi.WHEEL,na.SHIFT)]||!this._update[sa(Fi.WHEEL,na.CTRL)]||!this._update[sa(Fi.WHEEL,na.ALT)];return this._buttonsDown>0||e}}});pm.prototype.isMoving=function(e,t){let n=sa(e,t);return!this._update[n]};pm.prototype.getMovement=function(e,t){let n=sa(e,t);return this._movement[n]};pm.prototype.getLastMovement=function(e,t){let n=sa(e,t),i=this._lastMovement[n];if(i.valid)return i};pm.prototype.isButtonDown=function(e,t){let n=sa(e,t);return this._isDown[n]};pm.prototype.getStartMousePosition=function(e,t){if(e===Fi.WHEEL)return this._currentMousePosition;let n=sa(e,t);return this._eventStartPosition[n]};pm.prototype.getButtonPressTime=function(e,t){let n=sa(e,t);return this._pressTime[n]};pm.prototype.getButtonReleaseTime=function(e,t){let n=sa(e,t);return this._releaseTime[n]};pm.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};pm.prototype.isDestroyed=function(){return!1};pm.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),me(this)};var FA=pm;var CYi=T(S(),1);function MB(e,t,n,i,o,r,s,a,c,d){this._tweens=e,this._tweenjs=t,this._startObject=He(n),this._stopObject=He(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=d,this.needsStart=!0}Object.defineProperties(MB.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});MB.prototype.cancelTween=function(){this._tweens.remove(this)};function Mh(){this._tweens=[]}Object.defineProperties(Mh.prototype,{length:{get:function(){return this._tweens.length}}});Mh.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return l(e.complete)&&e.complete(),new MB(this);let t=e.duration/Jn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Jn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,zr.LINEAR_NONE),r=e.startObject,s=new g0e(r);s.to(He(e.stopObject),t),s.delay(i),s.easing(o),l(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new MB(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};Mh.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};Mh.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&l(t.uniforms[o])&&l(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};Mh.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};Mh.prototype.remove=function(e){if(!l(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),l(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};Mh.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),l(n.cancel)&&n.cancel()}e.length=0};Mh.prototype.contains=function(e){return l(e)&&this._tweens.indexOf(e)!==-1};Mh.prototype.get=function(e){return this._tweens[e]};Mh.prototype.update=function(e){let t=this._tweens,n=0;for(e=l(e)?e/Jn.SECONDS_PER_MILLISECOND:Ci();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var hS=Mh;function MA(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.zoomFactor=5,this.translateEventTypes=Fi.LEFT_DRAG,this.zoomEventTypes=[Fi.RIGHT_DRAG,Fi.WHEEL,Fi.PINCH],this.rotateEventTypes=Fi.LEFT_DRAG,this.tiltEventTypes=[Fi.MIDDLE_DRAG,Fi.PINCH,{eventType:Fi.LEFT_DRAG,modifier:na.CTRL},{eventType:Fi.RIGHT_DRAG,modifier:na.CTRL}],this.lookEventTypes={eventType:Fi.LEFT_DRAG,modifier:na.SHIFT};let t=y(e.ellipsoid,ne.default);this.minimumPickingTerrainHeight=ne.WGS84.equals(t)?15e4:t.minimumRadius*.025,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=ne.WGS84.equals(t)?4e3:t.minimumRadius*63e-5,this.minimumCollisionTerrainHeight=ne.WGS84.equals(t)?15e3:t.minimumRadius*.0025,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=ne.WGS84.equals(t)?75e5:t.minimumRadius*1.175,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.maximumTiltAngle=void 0,this._scene=e,this._globe=void 0,this._ellipsoid=t,this._lastGlobeHeight=0,this._aggregator=new FA(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new hS,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new D(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new D(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new D,this._strafeEndMousePosition=new D,this._zoomMouseStart=new D(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._panLastMousePosition=new D,this._panLastWorldPosition=new h,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let n=e.mapProjection;this._maxCoord=n.project(new he(Math.PI,W.PI_OVER_TWO)),this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function Hbt(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function zbt(e){return D.equalsEpsilon(e.startPosition,e.endPosition,W.EPSILON14)}var Kbt=.4;function Jbt(e,t,n,i,o,r,s){let a=r[s];l(a)||(a=r[s]={startPosition:new D,endPosition:new D,motion:new D,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),d=e.getButtonReleaseTime(t,n),u=c&&d&&(d.getTime()-c.getTime())/1e3,p=d&&(new Date().getTime()-d.getTime())/1e3;if(c&&d&&u<Kbt){let g=Hbt(p,i),f=e.getLastMovement(t,n);if(!l(f)||zbt(f)||!a.inertiaEnabled||(a.motion.x=(f.endPosition.x-f.startPosition.x)*.5,a.motion.y=(f.endPosition.y-f.startPosition.y)*.5,a.startPosition=D.clone(f.startPosition,a.startPosition),a.endPosition=D.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=D.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||D.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let x=e.getStartMousePosition(t,n);o(r,x,a)}}}function Qbt(e,t){if(l(t)){let n=e[t];l(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(l(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],l(n)&&(n.inertiaEnabled=!1)}}}var $_e=[];function ml(e,t,n,i,o,r){if(!l(n))return;let s=e._aggregator;Array.isArray(n)||($_e[0]=n,n=$_e);let a=n.length;for(let c=0;c<a;++c){let d=n[c],u=l(d.eventType)?d.eventType:d,m=d.modifier,p=s.isMoving(u,m)&&s.getMovement(u,m),g=s.getStartMousePosition(u,m);e.enableInputs&&t&&(p?(i(e,g,p),Qbt(e,r)):o<1&&Jbt(s,u,m,o,i,e,r))}}var NB=new gn,jbt=new h,qbt=new D,$bt=new h,e0t=new D,t0t=new h,n0t=new h,i0t=new h,o0t=new h,uTe=new h,r0t=new h,s0t=new h,a0t=new h,c0t=new h,l0t=new h,d0t=new h,u0t=new h,m0t=new h,h0t=new h,f0t=new h,fS=new h,eTe=new h,tTe=new h,q8={orientation:new Ia};function s7(e,t,n,i,o,r){let s=1;l(r)&&(s=W.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,d=a>0?e.minimumZoomDistance*s:0,u=e.maximumZoomDistance,m=o-d,p=i*m;p=W.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let f=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!l(e._globe)){if(f>0&&Math.abs(o-d)<1||f<0&&Math.abs(o-u)<1)return;o-f<d?f=o-d-1:o-f>u&&(f=o-u)}let x=e._scene,_=x.camera,C=x.mode,V=q8.orientation;if(V.heading=_.heading,V.pitch=_.pitch,V.roll=_.roll,_.frustum instanceof ln){Math.abs(f)>0&&(_.zoomIn(f),_._adjustOrthographicFrustum(!0));return}let L=y(n.inertiaEnabled,D.equals(t,e._zoomMouseStart)),Z=e._zoomingOnVector,G=e._rotatingZoom,I;if(L||(e._zoomMouseStart=D.clone(t,e._zoomMouseStart),l(e._globe)&&C===oe.SCENE2D?(I=_.getPickRay(t,NB).origin,I=h.fromElements(I.y,I.z,I.x)):l(e._globe)&&(I=V0(e,t,jbt)),l(I)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(I,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,Z=e._zoomingOnVector=!1,G=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){_.zoomIn(f);return}let v=C===oe.COLUMBUS_VIEW;if(_.positionCartographic.height<2e6&&(G=!0),!L||G){if(C===oe.SCENE2D){let P=e._zoomWorldPosition,w=_.position;if(!h.equals(P,w)&&_.positionCartographic.height<e._maxCoord.x*2){let A=_.position.x,b=h.subtract(P,w,$bt);h.normalize(b,b);let R=h.distance(P,w)*f/(_.getMagnitude()*.5);_.move(b,R*.5),(_.position.x<0&&A>0||_.position.x>0&&A<0)&&(I=_.getPickRay(t,NB).origin,I=h.fromElements(I.y,I.z,I.x),e._zoomWorldPosition=h.clone(I,e._zoomWorldPosition))}}else if(C===oe.SCENE3D){let P=h.normalize(_.position,uTe);if(e._cameraUnderground||e._zoomingUnderground||_.positionCartographic.height<3e3&&Math.abs(h.dot(_.direction,P))<.6)v=!0;else{let w=x.canvas,A=e0t;A.x=w.clientWidth/2,A.y=w.clientHeight/2;let b=V0(e,A,t0t);if(!l(b))v=!0;else if(_.positionCartographic.height<1e6)if(h.dot(_.direction,P)>=-.5)v=!0;else{let R=s0t;h.clone(_.position,R);let E=e._zoomWorldPosition,X=r0t;if(X=h.normalize(E,X),h.dot(X,P)<0)return;let F=f0t,N=l0t;h.clone(_.direction,N),h.add(R,h.multiplyByScalar(N,1e3,fS),F);let O=d0t,U=u0t;h.subtract(E,R,O),h.normalize(O,U);let Y=h.dot(P,U);if(Y>=0){e._zoomMouseStart.x=-1;return}let k=Math.acos(-Y),H=h.magnitude(R),J=h.magnitude(E),te=H-f,z=h.magnitude(O),q=Math.asin(W.clamp(z/J*Math.sin(k),-1,1)),ee=Math.asin(W.clamp(te/J*Math.sin(k),-1,1)),pe=q-ee+k,_e=a0t;h.normalize(R,_e);let ae=c0t;ae=h.cross(U,_e,ae),ae=h.normalize(ae,ae),h.normalize(h.cross(_e,ae,fS),N),h.multiplyByScalar(h.normalize(F,fS),h.magnitude(F)-f,F),h.normalize(R,R),h.multiplyByScalar(R,te,R);let ye=m0t;h.multiplyByScalar(h.add(h.multiplyByScalar(_e,Math.cos(pe)-1,eTe),h.multiplyByScalar(N,Math.sin(pe),tTe),fS),te,ye),h.add(R,ye,R),h.normalize(F,_e),h.normalize(h.cross(_e,ae,fS),N);let Te=h0t;h.multiplyByScalar(h.add(h.multiplyByScalar(_e,Math.cos(pe)-1,eTe),h.multiplyByScalar(N,Math.sin(pe),tTe),fS),h.magnitude(F),Te),h.add(F,Te,F),h.clone(R,_.position),h.normalize(h.subtract(F,R,fS),_.direction),h.clone(_.direction,_.direction),h.cross(_.direction,_.up,_.right),h.cross(_.right,_.direction,_.up),_.setView(q8);return}else{let R=h.normalize(b,n0t),E=h.normalize(e._zoomWorldPosition,i0t),X=h.dot(E,R);if(X>0&&X<1){let F=W.acosClamped(X),N=h.cross(E,R,o0t),O=Math.abs(F)>W.toRadians(20)?_.positionCartographic.height*.75:_.positionCartographic.height-f,U=f/O;_.rotate(N,F*U)}}}}e._rotatingZoom=!v}if(!L&&v||Z){let P,w=ki.worldToWindowCoordinates(x,e._zoomWorldPosition,qbt);C!==oe.COLUMBUS_VIEW&&D.equals(t,e._zoomMouseStart)&&l(w)?P=_.getPickRay(w,NB):P=_.getPickRay(t,NB);let A=P.direction;(C===oe.COLUMBUS_VIEW||C===oe.SCENE2D)&&h.fromElements(A.y,A.z,A.x,A),_.move(A,f),e._zoomingOnVector=!0}else _.zoomIn(f);e._cameraUnderground||_.setView(q8)}var p0t=new gn,b0t=new gn,g0t=new h;function y0t(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,p0t).origin,s=o.getPickRay(n.endPosition,b0t).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,g0t),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function nTe(e,t,n){l(n.distance)&&(n=n.distance);let o=e._scene.camera;s7(e,t,n,e.zoomFactor,o.getMagnitude())}var x0t=new D,_0t=new D;function iTe(e,t,n){if(l(n.angleAndHeight)){T0t(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=x0t;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=D.normalize(c,c);let d=_0t;d.x=2/s*n.endPosition.x-1,d.y=2/a*(a-n.endPosition.y)-1,d=D.normalize(d,d);let u=W.acosClamped(c.x);c.y<0&&(u=W.TWO_PI-u);let m=W.acosClamped(d.x);d.y<0&&(m=W.TWO_PI-m);let p=m-u;o.twistRight(p)}function T0t(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function S0t(e){let t=e._scene.mapMode2D===jl.ROTATE;M.equals(M.IDENTITY,e._scene.camera.transform)?(ml(e,e.enableTranslate,e.translateEventTypes,y0t,e.inertiaTranslate,"_lastInertiaTranslateMovement"),ml(e,e.enableZoom,e.zoomEventTypes,nTe,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&ml(e,e.enableRotate,e.tiltEventTypes,iTe,e.inertiaSpin,"_lastInertiaTiltMovement")):(ml(e,e.enableZoom,e.zoomEventTypes,nTe,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&ml(e,e.enableRotate,e.translateEventTypes,iTe,e.inertiaSpin,"_lastInertiaSpinMovement"))}var mTe=new gn,C0t=new h,V0t=new h;function V0(e,t,n){let i=e._scene,o=e._globe,r=i.camera,s;if(i.pickPositionSupported&&(s=i.pickPositionWorldCoordinates(t,C0t)),!l(o))return h.clone(s,n);let a=!e._cameraUnderground,c=r.getPickRay(t,mTe),d=o.pickWorldCoordinates(c,i,a,V0t),u=l(s)?h.distance(s,r.positionWC):Number.POSITIVE_INFINITY,m=l(d)?h.distance(d,r.positionWC):Number.POSITIVE_INFINITY;return u<m?h.clone(s,n):h.clone(d,n)}var L0t=new he;function HB(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===oe.SCENE3D){let c=t.cartesianToCartographic(i.position,L0t);l(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var R0t=new h;function hTe(e,t){let n=t.origin,i=t.direction,o=HB(e),r=h.normalize(n,R0t),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function fTe(e,t,n,i){let o=h.distance(t.origin,n),r=HB(e),s=W.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),gn.getPoint(t,o,i)}function pTe(e,t,n,i){let o;return l(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=HB(e))):o=HB(e),gn.getPoint(t,o,i)}var Z0t=new D;function bTe(e,t){let n=t.endPosition,i=D.subtract(t.endPosition,t.startPosition,Z0t),o=e._strafeEndMousePosition;D.add(o,i,o),t.endPosition=o,a7(e,t,e._strafeStartPosition),t.endPosition=n}var oTe=new gn,G0t=new gn,$8=new h,E0t=new h,I0t=new h,X0t=new h,W0t=new un(h.UNIT_X,0),P0t=new D,v0t=new D;function w0t(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){su(e,t,n);return}if(e._strafing){bTe(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=D.clone(n.startPosition,P0t),a=D.clone(n.endPosition,v0t),c=o.getPickRay(s,oTe),d=h.clone(h.ZERO,X0t),u=h.UNIT_X,m;if(o.position.z<e._minimumPickingTerrainHeight&&(m=V0(e,s,$8),l(m)&&(d.x=m.x)),r||d.x>o.position.z&&l(m)){let L=m;r&&(L=pTe(e,c,m,$8)),D.clone(t,e._strafeMousePosition),D.clone(t,e._strafeEndMousePosition),h.clone(L,e._strafeStartPosition),e._strafing=!0,a7(e,n,e._strafeStartPosition);return}let p=un.fromPointNormal(d,u,W0t);c=o.getPickRay(s,oTe);let g=ni.rayPlane(c,p,$8),f=o.getPickRay(a,G0t),x=ni.rayPlane(f,p,E0t);if(!l(g)||!l(x)){e._looking=!0,su(e,t,n),D.clone(t,e._translateMousePosition);return}let _=h.subtract(g,x,I0t),C=_.x;_.x=_.y,_.y=_.z,_.z=C;let V=h.magnitude(_);V>W.EPSILON6&&(h.normalize(_,_),o.move(_,V))}var gTe=new D,DB=new gn,BB=new h,F0t=new h,yTe=new M,A0t=new M,M0t=new h,N0t=new un(h.UNIT_X,0),e7=new h,i7=new he,xTe=new M,k0t=new Fe,U0t=new $,OB=new h;function D0t(e,t,n){if(l(n.angleAndHeight)&&(n=n.angleAndHeight),D.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){su(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,B0t(e,t,n)):O0t(e,t,n)}function B0t(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=gTe;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,DB),c=h.UNIT_X,d=a.origin,u=a.direction,m,p=h.dot(c,u);if(Math.abs(p)>W.EPSILON6&&(m=-h.dot(c,d)/p),!l(m)||m<=0){e._looking=!0,su(e,t,n),D.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(u,m,BB);h.add(d,g,g);let f=i.mapProjection,x=f.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let _=f.unproject(g,i7);x.cartographicToCartesian(_,g);let C=vt.eastNorthUpToFixedFrame(g,x,yTe),V=e._globe,L=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let Z=M.clone(o.transform,xTe);o._setTransform(C),ru(e,t,n,h.UNIT_Z),o._setTransform(Z),e._globe=V,e._ellipsoid=L;let G=L.maximumRadius;e._rotateFactor=1/G,e._rotateRateRangeAdjustment=G}function O0t(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(D.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,BB);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=V0(e,t,BB)),!l(s)){a=o.getPickRay(t,DB);let b=a.origin,R=a.direction,E,X=h.dot(c,R);if(Math.abs(X)>W.EPSILON6&&(E=-h.dot(c,b)/X),!l(E)||E<=0){e._looking=!0,su(e,t,n),D.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(R,E,BB),h.add(b,s,s)}r&&(l(a)||(a=o.getPickRay(t,DB)),fTe(e,a,s,s)),D.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let d=i.canvas,u=gTe;u.x=d.clientWidth/2,u.y=e._tiltCenterMousePosition.y,a=o.getPickRay(u,DB);let m=h.clone(h.ZERO,M0t);m.x=s.x;let p=un.fromPointNormal(m,c,N0t),g=ni.rayPlane(a,p,F0t),f=o._projection,x=f.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let _=f.unproject(s,i7);x.cartographicToCartesian(_,s);let C=vt.eastNorthUpToFixedFrame(s,x,yTe),V;l(g)?(h.fromElements(g.y,g.z,g.x,g),_=f.unproject(g,i7),x.cartographicToCartesian(_,g),V=vt.eastNorthUpToFixedFrame(g,x,A0t)):V=C;let L=e._globe,Z=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let G=h.UNIT_Z,I=M.clone(o.transform,xTe);o._setTransform(C);let v=h.cross(h.UNIT_Z,h.normalize(o.position,e7),e7),P=h.dot(o.right,v);if(ru(e,t,n,G,!1,!0),o._setTransform(V),P<0){let b=n.startPosition.y-n.endPosition.y;(r&&b<0||!r&&b>0)&&(G=void 0);let R=o.constrainedAxis;o.constrainedAxis=void 0,ru(e,t,n,G,!0,!1),o.constrainedAxis=R}else ru(e,t,n,G,!0,!1);if(l(o.constrainedAxis)){let b=h.cross(o.direction,o.constrainedAxis,OB);h.equalsEpsilon(b,h.ZERO,W.EPSILON6)||(h.dot(b,o.right)<0&&h.negate(b,b),h.cross(b,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(I),e._globe=L,e._ellipsoid=Z;let w=Z.maximumRadius;e._rotateFactor=1/w,e._rotateRateRangeAdjustment=w;let A=h.clone(o.positionWC,e7);if(e.enableCollisionDetection&&d7(e,!0),!h.equals(o.positionWC,A)){o._setTransform(V),o.worldToCameraCoordinatesPoint(A,A);let b=h.magnitudeSquared(A);h.magnitudeSquared(o.position)>b&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(b),o.position));let R=h.angleBetween(A,o.position),E=h.cross(A,o.position,A);h.normalize(E,E);let X=Fe.fromAxisAngle(E,R,k0t),F=$.fromQuaternion(X,U0t);$.multiplyByVector(F,o.direction,o.direction),$.multiplyByVector(F,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(I)}}var _Te=new D,TTe=new gn,STe=new h;function Y0t(e,t,n){l(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=_Te,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,TTe),d=c.origin,u=c.direction,m=o.position.z,p;m<e._minimumPickingTerrainHeight&&(p=V0(e,a,STe));let g;if(l(p)&&(g=h.distance(d,p)),s){let f=hTe(e,c,m);l(g)?g=Math.min(g,f):g=f}if(!l(g)){let f=h.UNIT_X;g=-h.dot(f,d)/h.dot(f,u)}s7(e,t,n,e.zoomFactor,g)}function H0t(e){let n=e._scene.camera;if(!M.equals(M.IDENTITY,n.transform))ml(e,e.enableRotate,e.rotateEventTypes,ru,e.inertiaSpin,"_lastInertiaSpinMovement"),ml(e,e.enableZoom,e.zoomEventTypes,VTe,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),ml(e,e.enableTilt,e.tiltEventTypes,D0t,e.inertiaSpin,"_lastInertiaTiltMovement"),ml(e,e.enableTranslate,e.translateEventTypes,w0t,e.inertiaTranslate,"_lastInertiaTranslateMovement"),ml(e,e.enableZoom,e.zoomEventTypes,Y0t,e.inertiaZoom,"_lastInertiaZoomMovement"),ml(e,e.enableLook,e.lookEventTypes,su),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);l(o)&&(e._tween=i.add(o))}i.update()}}var z0t=new gn,K0t=new un(h.UNIT_X,0),J0t=new h,Q0t=new h;function a7(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,z0t),s=h.clone(o.direction,Q0t);i.mode===oe.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=un.fromPointNormal(n,s,K0t),c=ni.rayPlane(r,a,J0t);l(c)&&(s=h.subtract(n,c,s),i.mode===oe.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var rTe=new h,CTe=new he,o7=new h,r7=new ne,j0t=new h,q0t=new h,$0t=new h;function egt(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!M.equals(o.transform,M.IDENTITY)){ru(e,t,n);return}let a,c,d=s.geodeticSurfaceNormal(o.position,j0t);if(D.equals(t,e._rotateMousePosition)){if(e._looking)su(e,t,n,d);else if(e._rotating)ru(e,t,n);else if(e._strafing)bTe(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=o7,c.x=c.y=c.z=a,s=ne.fromCartesian3(c,r7),n7(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let u=s.cartesianToCartographic(o.positionWC,CTe).height,m=e._globe;if(l(m)&&u<e._minimumPickingTerrainHeight){let p=V0(e,n.startPosition,$0t);if(l(p)){let g=!1,f=o.getPickRay(n.startPosition,mTe);if(r)g=!0,pTe(e,f,p,p);else{let x=s.geodeticSurfaceNormal(p,q0t);Math.abs(h.dot(f.direction,x))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(D.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,a7(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=o7,c.x=c.y=c.z=a,s=ne.fromCartesian3(c,r7),n7(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,su(e,t,n,d)}else l(o.pickEllipsoid(n.startPosition,e._ellipsoid,rTe))?(n7(e,t,n,e._ellipsoid),h.clone(rTe,e._rotateStartPosition)):u>e._minimumTrackBallHeight?(e._rotating=!0,ru(e,t,n)):(e._looking=!0,su(e,t,n,d));D.clone(t,e._rotateMousePosition)}function ru(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,d=a.constrainedAxis;l(i)&&(a.constrainedAxis=i);let u=h.magnitude(a.position),m=e._rotateFactor*(u-e._rotateRateRangeAdjustment);m>e._maximumRotateRate&&(m=e._maximumRotateRate),m<e._minimumRotateRate&&(m=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let f=m*p*Math.PI*2,x=m*g*Math.PI;if(l(i)&&l(e.maximumTiltAngle)){let _=e.maximumTiltAngle,C=h.dot(a.direction,i),V=Math.PI-Math.acos(C)+x;V>_&&(x-=V-_)}o||a.rotateRight(f),r||a.rotateUp(x),a.constrainedAxis=d}var t7=re.clone(re.UNIT_W),sTe=re.clone(re.UNIT_W),kB=new h,VL=new h,UB=new h,aTe=new h,tgt=new D,ngt=new D,igt=new D,ogt=new D,rgt=new gn;function n7(e,t,n,i){let o=e._scene,r=o.camera,s=D.clone(n.startPosition,tgt),a=D.clone(n.endPosition,ngt),c=i.cartesianToCartographic(r.positionWC,CTe).height,d,u;if(!n.inertiaEnabled&&c<e._minimumPickingTerrainHeight&&(d=h.clone(e._panLastWorldPosition,t7),!l(e._globe)&&!D.equalsEpsilon(s,e._panLastMousePosition)&&(d=V0(e,s,t7)),!l(e._globe)&&l(d))){let m=h.subtract(d,r.positionWC,VL),p=h.multiplyByScalar(r.directionWC,h.dot(r.directionWC,m),VL),g=h.magnitude(p),f=r.frustum.getPixelDimensions(o.drawingBufferWidth,o.drawingBufferHeight,g,o.pixelRatio,ogt),x=D.subtract(a,s,igt),_=h.multiplyByScalar(r.rightWC,x.x*f.x,VL),C=h.normalize(r.positionWC,uTe),V=r.getPickRay(a,rgt).direction,L=h.subtract(V,h.projectVector(V,r.rightWC,UB),UB),Z=h.angleBetween(L,r.directionWC),G=1;l(r.frustum.fov)&&(G=Math.max(Math.tan(Z),.1));let I=Math.abs(h.dot(r.directionWC,C)),v=-x.y*f.y*2/Math.sqrt(G)*(1-I),P=h.multiplyByScalar(V,v,UB);I=Math.abs(h.dot(r.upWC,C));let w=h.multiplyByScalar(r.upWC,-x.y*(1-I)*f.y,aTe);u=h.add(d,_,sTe),u=h.add(u,P,u),u=h.add(u,w,u),h.clone(u,e._panLastWorldPosition),D.clone(a,e._panLastMousePosition)}if((!l(d)||!l(u))&&(d=r.pickEllipsoid(s,i,t7),u=r.pickEllipsoid(a,i,sTe)),!l(d)||!l(u)){e._rotating=!0,ru(e,t,n);return}if(d=r.worldToCameraCoordinates(d,d),u=r.worldToCameraCoordinates(u,u),l(r.constrainedAxis)){let m=r.constrainedAxis,p=h.mostOrthogonalAxis(m,kB);h.cross(p,m,p),h.normalize(p,p);let g=h.cross(m,p,VL),f=h.magnitude(d),x=h.dot(m,d),_=Math.acos(x/f),C=h.multiplyByScalar(m,x,UB);h.subtract(d,C,C),h.normalize(C,C);let V=h.magnitude(u),L=h.dot(m,u),Z=Math.acos(L/V),G=h.multiplyByScalar(m,L,aTe);h.subtract(u,G,G),h.normalize(G,G);let I=Math.acos(h.dot(C,p));h.dot(C,g)<0&&(I=W.TWO_PI-I);let v=Math.acos(h.dot(G,p));h.dot(G,g)<0&&(v=W.TWO_PI-v);let P=I-v,w;h.equalsEpsilon(m,r.position,W.EPSILON2)?w=r.right:w=h.cross(m,r.position,kB);let A=h.cross(m,w,kB),b=h.dot(A,h.subtract(d,m,VL)),R=h.dot(A,h.subtract(u,m,VL)),E;b>0&&R>0?E=Z-_:b>0&&R<=0?h.dot(r.position,m)>0?E=-_-Z:E=_+Z:E=_-Z,r.rotateRight(P),r.rotateUp(E)}else{h.normalize(d,d),h.normalize(u,u);let m=h.dot(d,u),p=h.cross(d,u,kB);if(m<1&&!h.equalsEpsilon(p,h.ZERO,W.EPSILON14)){let g=Math.acos(m);r.rotate(p,g)}}}var sgt=new h,agt=new he,cTe=0;function VTe(e,t,n){l(n.distance)&&(n=n.distance);let i=n.inertiaEnabled,o=e._ellipsoid,r=e._scene,s=r.camera,a=r.canvas,c=e._cameraUnderground,d;c?d=t:(d=_Te,d.x=a.clientWidth/2,d.y=a.clientHeight/2);let u=s.getPickRay(d,TTe),m,p=o.cartesianToCartographic(s.position,agt).height,g=Math.abs(cTe)<e.minimumPickingTerrainDistanceWithInertia;(i?g:p<e._minimumPickingTerrainHeight)&&(m=V0(e,d,STe));let x;if(l(m)&&(x=h.distance(u.origin,m),cTe=x),c){let C=hTe(e,u,p);l(x)?x=Math.min(x,C):x=C}l(x)||(x=p);let _=h.normalize(s.position,sgt);s7(e,t,n,e.zoomFactor,x,h.dot(_,s.direction))}var LTe=new D,YB=new gn,AA=new h,cgt=new h,RTe=new M,lgt=new M,ZTe=new M,dgt=new Fe,ugt=new $,c7=new he,l7=new h;function mgt(e,t,n){let o=e._scene.camera;if(!M.equals(o.transform,M.IDENTITY))return;if(l(n.angleAndHeight)&&(n=n.angleAndHeight),D.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,l7);su(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,c7);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,fgt(e,t,n)):pgt(e,t,n)}var hgt=new he;function fgt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,hgt).height;if(a-s-1<W.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,d=LTe;d.x=c.clientWidth/2,d.y=c.clientHeight/2;let u=r.getPickRay(d,YB),m,p=ni.rayEllipsoid(u,i);if(l(p))m=gn.getPoint(u,p.start,AA);else if(a>e._minimumTrackBallHeight){let V=ni.grazingAltitudeLocation(u,i);if(!l(V))return;let L=i.cartesianToCartographic(V,c7);L.height=0,m=i.cartographicToCartesian(L,AA)}else{e._looking=!0;let V=e._ellipsoid.geodeticSurfaceNormal(r.position,l7);su(e,t,n,V),D.clone(t,e._tiltCenterMousePosition);return}let g=vt.eastNorthUpToFixedFrame(m,i,RTe),f=e._globe,x=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let _=M.clone(r.transform,ZTe);r._setTransform(g),ru(e,t,n,h.UNIT_Z),r._setTransform(_),e._globe=f,e._ellipsoid=x;let C=x.maximumRadius;e._rotateFactor=1/C,e._rotateRateRangeAdjustment=C}function pgt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,d;if(D.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,AA);else{if(a=V0(e,t,AA),!l(a)){if(c=r.getPickRay(t,YB),d=ni.rayEllipsoid(c,i),!l(d)){if(i.cartesianToCartographic(r.position,c7).height<=e._minimumTrackBallHeight){e._looking=!0;let R=e._ellipsoid.geodeticSurfaceNormal(r.position,l7);su(e,t,n,R),D.clone(t,e._tiltCenterMousePosition)}return}a=gn.getPoint(c,d.start,AA)}s&&(l(c)||(c=r.getPickRay(t,YB)),fTe(e,c,a,a)),D.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let u=o.canvas,m=LTe;m.x=u.clientWidth/2,m.y=e._tiltCenterMousePosition.y,c=r.getPickRay(m,YB);let p=h.magnitude(a),g=h.fromElements(p,p,p,o7),f=ne.fromCartesian3(g,r7);if(d=ni.rayEllipsoid(c,f),!l(d))return;let x=h.magnitude(c.origin)>p?d.start:d.stop,_=gn.getPoint(c,x,cgt),C=vt.eastNorthUpToFixedFrame(a,i,RTe),V=vt.eastNorthUpToFixedFrame(_,f,lgt),L=e._globe,Z=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let G=h.UNIT_Z,I=M.clone(r.transform,ZTe);r._setTransform(V);let v=h.cross(_,r.positionWC,OB);if(h.dot(r.rightWC,v)<0){let b=n.startPosition.y-n.endPosition.y;(s&&b<0||!s&&b>0)&&(G=void 0);let R=r.constrainedAxis;r.constrainedAxis=void 0,ru(e,t,n,G,!0,!1),r.constrainedAxis=R}else ru(e,t,n,G,!0,!1);if(r._setTransform(C),ru(e,t,n,G,!1,!0),l(r.constrainedAxis)){let b=h.cross(r.direction,r.constrainedAxis,OB);h.equalsEpsilon(b,h.ZERO,W.EPSILON6)||(h.dot(b,r.right)<0&&h.negate(b,b),h.cross(b,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(I),e._globe=L,e._ellipsoid=Z;let w=Z.maximumRadius;e._rotateFactor=1/w,e._rotateRateRangeAdjustment=w;let A=h.clone(r.positionWC,OB);if(e.enableCollisionDetection&&d7(e,!0),!h.equals(r.positionWC,A)){r._setTransform(V),r.worldToCameraCoordinatesPoint(A,A);let b=h.magnitudeSquared(A);h.magnitudeSquared(r.position)>b&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(b),r.position));let R=h.angleBetween(A,r.position),E=h.cross(A,r.position,A);h.normalize(E,E);let X=Fe.fromAxisAngle(E,R,dgt),F=$.fromQuaternion(X,ugt);$.multiplyByVector(F,r.direction,r.direction),$.multiplyByVector(F,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(I)}}var bgt=new D,ggt=new D,lTe=new gn,dTe=new gn,ygt=new h,xgt=new h;function su(e,t,n,i){let r=e._scene.camera,s=bgt;s.x=n.startPosition.x,s.y=0;let a=ggt;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,lTe),d=r.getPickRay(a,dTe),u=0,m,p;r.frustum instanceof ln?(m=c.origin,p=d.origin,h.add(r.direction,m,m),h.add(r.direction,p,p),h.subtract(m,r.position,m),h.subtract(p,r.position,p),h.normalize(m,m),h.normalize(p,p)):(m=c.direction,p=d.direction);let g=h.dot(m,p);g<1&&(u=Math.acos(g)),u=n.startPosition.x>n.endPosition.x?-u:u;let f=e._horizontalRotationAxis;if(l(i)?r.look(i,-u):l(f)?r.look(f,-u):r.lookLeft(u),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,lTe),d=r.getPickRay(a,dTe),u=0,r.frustum instanceof ln?(m=c.origin,p=d.origin,h.add(r.direction,m,m),h.add(r.direction,p,p),h.subtract(m,r.position,m),h.subtract(p,r.position,p),h.normalize(m,m),h.normalize(p,p)):(m=c.direction,p=d.direction),g=h.dot(m,p),g<1&&(u=Math.acos(g)),u=n.startPosition.y>n.endPosition.y?-u:u,i=y(i,f),l(i)){let x=r.direction,_=h.negate(i,ygt),C=h.equalsEpsilon(x,i,W.EPSILON2),V=h.equalsEpsilon(x,_,W.EPSILON2);if(!C&&!V){g=h.dot(x,i);let L=W.acosClamped(g);u>0&&u>L&&(u=L-W.EPSILON4),g=h.dot(x,_),L=W.acosClamped(g),u<0&&-u>L&&(u=-L+W.EPSILON4);let Z=h.cross(i,x,xgt);r.look(Z,u)}else(C&&u<0||V&&u>0)&&r.look(r.right,-u)}else r.lookUp(u)}function _gt(e){ml(e,e.enableRotate,e.rotateEventTypes,egt,e.inertiaSpin,"_lastInertiaSpinMovement"),ml(e,e.enableZoom,e.zoomEventTypes,VTe,e.inertiaZoom,"_lastInertiaZoomMovement"),ml(e,e.enableTilt,e.tiltEventTypes,mgt,e.inertiaSpin,"_lastInertiaTiltMovement"),ml(e,e.enableLook,e.lookEventTypes,su)}var Tgt=new M,Sgt=new he;function d7(e,t){e._adjustedHeightForTerrain=!0;let n=e._scene,i=n.mode;if(i===oe.SCENE2D||i===oe.MORPHING)return;let o=n.camera,r=y(n.ellipsoid,ne.WGS84),s=n.mapProjection,a,c;M.equals(o.transform,M.IDENTITY)||(a=M.clone(o.transform,Tgt),c=h.magnitude(o.position),o._setTransform(M.IDENTITY));let d=Sgt;i===oe.SCENE3D?r.cartesianToCartographic(o.position,d):s.unproject(o.position,d);let u=!1;if(d.height<e._minimumCollisionTerrainHeight){let m=e._scene.globeHeight;if(l(m)){let p=m+e.minimumZoomDistance,g=m-e._lastGlobeHeight,f=g/e._lastGlobeHeight;d.height<p&&(t||Math.abs(f)<=.1)&&(d.height=p,i===oe.SCENE3D?r.cartographicToCartesian(d,o.position):s.project(d,o.position),u=!0),t||Math.abs(f)<=.1?e._lastGlobeHeight=m:e._lastGlobeHeight+=g*.1}}l(a)&&(o._setTransform(a),u&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}MA.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===oe.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var Cgt=new h,Vgt=new h;MA.prototype.update=function(){let e=this._scene,{camera:t,globe:n,mode:i}=e;M.equals(t.transform,M.IDENTITY)?(this._globe=n,this._ellipsoid=y(e.ellipsoid,ne.default)):(this._globe=void 0,this._ellipsoid=ne.UNIT_SPHERE);let{verticalExaggeration:o,verticalExaggerationRelativeHeight:r}=e;this._minimumCollisionTerrainHeight=Cr.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=Cr.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=Cr.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&l(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,Cgt),c=h.clone(t.directionWC,Vgt);if(i===oe.SCENE2D?S0t(this):i===oe.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,H0t(this)):i===oe.SCENE3D&&(this._horizontalRotationAxis=void 0,_gt(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain){let d=!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC);d7(this,d)}this._aggregator.reset()};MA.prototype.isDestroyed=function(){return!1};MA.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),me(this)};var NA=MA;var _Hi=T(S(),1);var $Yi=T(S(),1),kA=`uniform sampler2D colorTexture; +uniform sampler2D colorTexture2; + +uniform vec2 center; +uniform float radius; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color0 = texture(colorTexture, v_textureCoordinates); + vec4 color1 = texture(colorTexture2, v_textureCoordinates); + + float x = length(gl_FragCoord.xy - center) / radius; + float t = smoothstep(0.5, 0.8, x); + out_FragColor = mix(color0 + color1, color1, t); +} +`;var tHi=T(S(),1),UA=`uniform sampler2D colorTexture; + +uniform float avgLuminance; +uniform float threshold; +uniform float offset; + +in vec2 v_textureCoordinates; + +float key(float avg) +{ + float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); + return max(0.0, guess) + 0.1; +} + +// See section 9. "The bright-pass filter" of Realtime HDR Rendering +// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf + +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + vec3 xyz = czm_RGBToXYZ(color.rgb); + float luminance = xyz.r; + + float scaledLum = key(avgLuminance) * luminance / avgLuminance; + float brightLum = max(scaledLum - threshold, 0.0); + float brightness = brightLum / (offset + brightLum); + + xyz.r = brightness; + out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); +} +`;function L0(){this._sceneFramebuffer=new iS;let e=.125,t=new Array(6);t[0]=new po({fragmentShader:ql,textureScale:e,forcePowerOfTwo:!0,sampleMode:iu.LINEAR});let n=t[1]=new po({fragmentShader:UA,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new D,t[2]=new po({fragmentShader:Yy,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new po({fragmentShader:Yy,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new po({fragmentShader:ql,sampleMode:iu.LINEAR}),this._uCenter=new D,this._uRadius=void 0,t[5]=new po({fragmentShader:kA,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new $l({stages:t});let o=new dS(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}L0.prototype.get=function(e){return this._stages.get(e)};L0.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var Lgt=new re,GTe=new D,Rgt=new D,ETe=new M;function Zgt(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=M.computeViewportTransformation(n,0,1,ETe),d=M.multiplyByPoint(r,o,Lgt),u=vt.pointToGLWindowCoordinates(s,c,o,GTe);d.x+=W.SOLAR_RADIUS;let m=vt.pointToGLWindowCoordinates(a,c,d,d),p=D.magnitude(D.subtract(m,u,m))*30*2,g=Rgt;g.x=p,g.y=p,e._uCenter=D.clone(u,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let f=t.drawingBufferWidth,x=t.drawingBufferHeight,_=e._stages,C=_.get(0),V=C.outputTexture.width,L=C.outputTexture.height,Z=new Je;Z.width=V,Z.height=L,c=M.computeViewportTransformation(Z,0,1,ETe),u=vt.pointToGLWindowCoordinates(s,c,o,GTe),g.x*=V/f,g.y*=L/x;let G=C.scissorRectangle;G.x=Math.max(u.x-g.x*.5,0),G.y=Math.max(u.y-g.y*.5,0),G.width=Math.min(g.x,f),G.height=Math.min(g.y,x);for(let I=1;I<4;++I)Je.clone(G,_.get(I).scissorRectangle)}L0.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};L0.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),Zgt(this,t,n),o};L0.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};L0.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(ql,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};L0.prototype.isDestroyed=function(){return!1};L0.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),me(this)};var DA=L0;var ZHi=T(S(),1);function ITe(){this._cachedShowFrustumsShaders={}}function Ggt(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Egt(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(u){u=Oe.replaceMain(u,"czm_Debug_main");let m=/out_FragData_(\d+)/g,p;for(;(p=m.exec(u))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return u});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor; +`,a+=`uniform vec3 debugShowFrustumsColor; +`,a+=`void main() +{ + czm_Debug_main(); +`;let c;if(s>0)for(c=0;c<s;++c)a+=` out_FragData_${r[c]}.rgb *= debugShowCommandsColor; +`,a+=` out_FragData_${r[c]}.rgb *= debugShowFrustumsColor; +`;else a+=` out_FragColor.rgb *= debugShowCommandsColor; +`,a+=` out_FragColor.rgb *= debugShowFrustumsColor; +`;a+="}",o.sources.push(a);let d=Ggt(i);return en.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:d})}var BA=new B;function Igt(e,t){let n;return l(t.uniformMap)?n=t.uniformMap:n={},l(n.debugShowCommandsColor)||l(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(l(t._debugColor)||(t._debugColor=B.fromRandom()),t._debugColor):B.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(BA.red=t.debugOverlappingFrustums&1?1:0,BA.green=t.debugOverlappingFrustums&2?1:0,BA.blue=t.debugOverlappingFrustums&4?1:0,BA.alpha=1,BA):B.WHITE}),n}var Xgt=new tt;ITe.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];l(o)||(o=Egt(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=tt.shallowClone(t,Xgt);r.shaderProgram=o,r.uniformMap=Igt(e,t),r.execute(e.context,n)};var OA=ITe;var PHi=T(S(),1);function pS(e,t,n){this._primitive=e,this._tileIndex=t,this._sampleIndex=n,this._metadata={},this._orientedBoundingBox=new In}pS.fromKeyframeNode=function(e,t,n,i){let o=new pS(e,t,n),{spatialNode:r,metadata:s}=i;return o._metadata=Wgt(e,s,n),o._orientedBoundingBox=vgt(e,r,n,o._orientedBoundingBox),o};function Wgt(e,t,n){if(!l(t))return;let{names:i,types:o}=e.provider,r={};for(let s=0;s<i.length;s++){let a=i[s],c=ft.getComponentCount(o[s]),d=t[s].slice(n*c,(n+1)*c);r[a]=d}return r}var XTe=new h,Pgt=new h;function vgt(e,t,n,i){let o=t.dimensions,r=o.x*o.y,s=Math.floor(n/r),a=n-s*r,c=Math.floor(a/o.x),d=a-c*o.x,u=h.fromElements(d,c,s,XTe),m=h.divideComponents(h.subtract(u,e._paddingBefore,XTe),e.dimensions,Pgt);return e._shape.computeOrientedBoundingBoxForSample(t,e.dimensions,m,i)}Object.defineProperties(pS.prototype,{metadata:{get:function(){return this._metadata}},primitive:{get:function(){return this._primitive}},sampleIndex:{get:function(){return this._sampleIndex}},tileIndex:{get:function(){return this._tileIndex}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox.clone()}}});pS.prototype.hasProperty=function(e){return l(this._metadata[e])};pS.prototype.getNames=function(){return Object.keys(this._metadata)};pS.prototype.getProperty=function(e){return this._metadata[e]};var YA=pS;var GQi=T(S(),1);var qzi=T(S(),1);var vzi=T(S(),1);var wHi=T(S(),1),HA=`struct Ray { + vec3 pos; + vec3 dir; + vec3 rawDir; +}; + +#if defined(JITTER) +/** + * Generate a pseudo-random value for a given 2D screen coordinate. + * Similar to https://www.shadertoy.com/view/4djSRW with a modified hashscale. + */ +float hash(vec2 p) +{ + vec3 p3 = fract(vec3(p.xyx) * 50.0); + p3 += dot(p3, p3.yzx + 19.19); + return fract((p3.x + p3.y) * p3.z); +} +#endif + +float minComponent(in vec3 v) { + return min(min(v.x, v.y), v.z); +} + +float maxComponent(in vec3 v) { + return max(max(v.x, v.y), v.z); +} + +struct PointJacobianT { + vec3 point; + mat3 jacobianT; +}; +`;var AHi=T(S(),1),zA=`// See Intersection.glsl for the definition of intersectScene +// See IntersectionUtils.glsl for the definition of nextIntersection +// See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl +// for the definition of convertUvToShapeUvSpace. The appropriate function is +// selected based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See Octree.glsl for the definitions of TraversalData, SampleData, +// traverseOctreeFromBeginning, and traverseOctreeFromExisting +// See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture + +#define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops +#if defined(PICKING_VOXEL) + #define ALPHA_ACCUM_MAX 0.1 +#else + #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 +#endif + +uniform mat3 u_transformDirectionViewToLocal; +uniform vec3 u_cameraPositionUv; +uniform float u_stepSize; + +#if defined(PICKING) + uniform vec4 u_pickColor; +#endif + +vec3 getSampleSize(in int level) { + vec3 sampleCount = exp2(float(level)) * vec3(u_dimensions); + vec3 sampleSizeUv = 1.0 / sampleCount; + return scaleShapeUvToShapeSpace(sampleSizeUv); +} + +#define MINIMUM_STEP_SCALAR (0.02) +#define SHIFT_FRACTION (0.001) + +/** + * Given a coordinate within a tile, and sample spacings along a ray through + * the coordinate, find the distance to the points where the ray entered and + * exited the voxel cell, along with the surface normals at those points. + * The surface normals are returned in shape space coordinates. + */ +RayShapeIntersection getVoxelIntersection(in vec3 tileUv, in vec3 sampleSizeAlongRay) { + vec3 voxelCoord = tileUv * vec3(u_dimensions); + vec3 directions = sign(sampleSizeAlongRay); + vec3 positiveDirections = max(directions, 0.0); + vec3 entryCoord = mix(ceil(voxelCoord), floor(voxelCoord), positiveDirections); + vec3 exitCoord = entryCoord + directions; + + vec3 distanceFromEntry = -abs((entryCoord - voxelCoord) * sampleSizeAlongRay); + float lastEntry = maxComponent(distanceFromEntry); + bvec3 isLastEntry = equal(distanceFromEntry, vec3(lastEntry)); + vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; + vec4 entry = vec4(entryNormal, lastEntry); + + vec3 distanceToExit = abs((exitCoord - voxelCoord) * sampleSizeAlongRay); + float firstExit = minComponent(distanceToExit); + bvec3 isFirstExit = equal(distanceToExit, vec3(firstExit)); + vec3 exitNormal = vec3(isFirstExit) * directions; + vec4 exit = vec4(exitNormal, firstExit); + + return RayShapeIntersection(entry, exit); +} + +vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection, in mat3 jacobianT, in float currentT) { + // The Jacobian is computed in a space where the shape spans [-1, 1]. + // But the ray is marched in a space where the shape fills [0, 1]. + // So we need to scale the Jacobian by 2. + vec3 gradient = 2.0 * viewRay.rawDir * jacobianT; + vec3 sampleSizeAlongRay = getSampleSize(sampleData.tileCoords.w) / gradient; + + RayShapeIntersection voxelIntersection = getVoxelIntersection(sampleData.tileUv, sampleSizeAlongRay); + + // Transform normal from shape space to Cartesian space + vec3 voxelNormal = normalize(jacobianT * voxelIntersection.entry.xyz); + // Compare with the shape intersection, to choose the appropriate normal + vec4 voxelEntry = vec4(voxelNormal, currentT + voxelIntersection.entry.w); + vec4 entry = intersectionMax(shapeIntersection.entry, voxelEntry); + + float fixedStep = minComponent(abs(sampleSizeAlongRay)) * u_stepSize; + float shift = fixedStep * SHIFT_FRACTION; + float dt = voxelIntersection.exit.w + shift; + if ((currentT + dt) > shapeIntersection.exit.w) { + // Stop at end of shape + dt = shapeIntersection.exit.w - currentT + shift; + } + float stepSize = clamp(dt, fixedStep * MINIMUM_STEP_SCALAR, fixedStep + shift); + + return vec4(entry.xyz, stepSize); +} + +vec2 packIntToVec2(int value) { + float shifted = float(value) / 255.0; + float lowBits = fract(shifted); + float highBits = floor(shifted) / 255.0; + return vec2(highBits, lowBits); +} + +vec2 packFloatToVec2(float value) { + float lowBits = fract(value); + float highBits = floor(value) / 255.0; + return vec2(highBits, lowBits); +} + +int getSampleIndex(in vec3 tileUv) { + ivec3 voxelDimensions = u_dimensions; + vec3 sampleCoordinate = tileUv * vec3(voxelDimensions); + // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not. + // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1). + // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring + vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5); + sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate); + ivec3 sampleIndex = ivec3(floor(sampleCoordinate)); + #if defined(PADDING) + voxelDimensions += u_paddingBefore + u_paddingAfter; + sampleIndex += u_paddingBefore; + #endif + // Convert to a 1D index for lookup in a 1D data array + return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z); +} + +void main() +{ + vec4 fragCoord = gl_FragCoord; + vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] + vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); + vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case + vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case + vec3 viewPosUv = u_cameraPositionUv; + #if defined(SHAPE_ELLIPSOID) + // viewDirUv has been scaled to a space where the ellipsoid is a sphere. + // Undo this scaling to get the raw direction. + vec3 rawDir = viewDirUv * u_ellipsoidRadiiUv; + Ray viewRayUv = Ray(viewPosUv, viewDirUv, rawDir); + #else + Ray viewRayUv = Ray(viewPosUv, viewDirUv, viewDirUv); + #endif + + Intersections ix; + RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); + + // Exit early if the scene was completely missed. + if (shapeIntersection.entry.w == NO_HIT) { + discard; + } + + float currentT = shapeIntersection.entry.w; + float endT = shapeIntersection.exit.w; + vec3 positionUv = viewPosUv + currentT * viewDirUv; + PointJacobianT pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + + // Traverse the tree from the start position + TraversalData traversalData; + SampleData sampleDatas[SAMPLE_COUNT]; + traverseOctreeFromBeginning(pointJacobian.point, traversalData, sampleDatas); + vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + + #if defined(JITTER) + float noise = hash(screenCoord); // [0,1] + currentT += noise * step.w; + positionUv += noise * step.w * viewDirUv; + #endif + + FragmentInput fragmentInput; + #if defined(STATISTICS) + setStatistics(fragmentInput.metadata.statistics); + #endif + + vec4 colorAccum = vec4(0.0); + + for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { + // Read properties from the megatexture based on the traversal state + Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); + + // Prepare the custom shader inputs + copyPropertiesToMetadata(properties, fragmentInput.metadata); + fragmentInput.voxel.positionUv = positionUv; + fragmentInput.voxel.positionShapeUv = pointJacobian.point; + fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; + fragmentInput.voxel.viewDirUv = viewDirUv; + fragmentInput.voxel.viewDirWorld = viewDirWorld; + fragmentInput.voxel.surfaceNormal = step.xyz; + fragmentInput.voxel.travelDistance = step.w; + fragmentInput.voxel.stepCount = stepCount; + fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex; + fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv); + + // Run the custom shader + czm_modelMaterial materialOutput; + fragmentMain(fragmentInput, materialOutput); + + // Sanitize the custom shader output + vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); + color.rgb = max(color.rgb, vec3(0.0)); + color.a = clamp(color.a, 0.0, 1.0); + + // Pre-multiplied alpha blend + colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); + + // Stop traversing if the alpha has been fully saturated + if (colorAccum.a > ALPHA_ACCUM_MAX) { + colorAccum.a = ALPHA_ACCUM_MAX; + break; + } + + if (step.w == 0.0) { + // Shape is infinitely thin. The ray may have hit the edge of a + // foreground voxel. Step ahead slightly to check for more voxels + step.w == 0.00001; + } + + // Keep raymarching + currentT += step.w; + positionUv = viewPosUv + currentT * viewDirUv; + + // Check if there's more intersections. + if (currentT > endT) { + #if (INTERSECTION_COUNT == 1) + break; + #else + shapeIntersection = nextIntersection(ix); + if (shapeIntersection.entry.w == NO_HIT) { + break; + } else { + // Found another intersection. Resume raymarching there + currentT = shapeIntersection.entry.w; + endT = shapeIntersection.exit.w; + positionUv = viewPosUv + currentT * viewDirUv; + } + #endif + } + + // Traverse the tree from the current ray position. + // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. + pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + traverseOctreeFromExisting(pointJacobian.point, traversalData, sampleDatas); + step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + } + + // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] + colorAccum.a /= ALPHA_ACCUM_MAX; + + #if defined(PICKING) + // If alpha is 0.0 there is nothing to pick + if (colorAccum.a == 0.0) { + discard; + } + out_FragColor = u_pickColor; + #elif defined(PICKING_VOXEL) + // If alpha is 0.0 there is nothing to pick + if (colorAccum.a == 0.0) { + discard; + } + vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex); + vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv)); + out_FragColor = vec4(megatextureId, sampleIndex); + #else + out_FragColor = colorAccum; + #endif +} +`;var NHi=T(S(),1),KA=`in vec2 position; + +uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; + +void main() { + vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; + vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; + vec2 translation = 0.5 * (aabbMax + aabbMin); + vec2 scale = 0.5 * (aabbMax - aabbMin); + gl_Position = vec4(position * scale + translation, 0.0, 1.0); +} +`;var UHi=T(S(),1),JA=`/* Intersection defines +#define INTERSECTION_COUNT ### +*/ + +#define NO_HIT (-czm_infinity) +#define INF_HIT (czm_infinity * 0.5) + +struct RayShapeIntersection { + vec4 entry; + vec4 exit; +}; + +vec4 intersectionMin(in vec4 intersect0, in vec4 intersect1) +{ + if (intersect0.w == NO_HIT) { + return intersect1; + } else if (intersect1.w == NO_HIT) { + return intersect0; + } + return (intersect0.w <= intersect1.w) ? intersect0 : intersect1; +} + +vec4 intersectionMax(in vec4 intersect0, in vec4 intersect1) +{ + return (intersect0.w >= intersect1.w) ? intersect0 : intersect1; +} + +RayShapeIntersection intersectIntersections(in Ray ray, in RayShapeIntersection intersect0, in RayShapeIntersection intersect1) +{ + bool missed = (intersect0.entry.w == NO_HIT) || + (intersect1.entry.w == NO_HIT) || + (intersect0.exit.w < intersect1.entry.w) || + (intersect0.entry.w > intersect1.exit.w); + if (missed) { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + vec4 entry = intersectionMax(intersect0.entry, intersect1.entry); + vec4 exit = intersectionMin(intersect0.exit, intersect1.exit); + + return RayShapeIntersection(entry, exit); +} + +struct Intersections { + // Don't access these member variables directly - call the functions instead. + + // Store an array of ray-surface intersections. Each intersection is composed of: + // .xyz for the surface normal at the intersection point + // .w for the T value + // The scale of the normal encodes the shape intersection type: + // length(intersection.xyz) = 1: positive shape entry + // length(intersection.xyz) = 2: positive shape exit + // length(intersection.xyz) = 3: negative shape entry + // length(intersection.xyz) = 4: negative shape exit + // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, + // so we need twice as many to track ray-*surface* intersections + vec4 intersections[INTERSECTION_COUNT * 2]; + + #if (INTERSECTION_COUNT > 1) + // Maintain state for future nextIntersection calls + int index; + int surroundCount; + bool surroundIsPositive; + #endif +}; + +RayShapeIntersection getFirstIntersection(in Intersections ix) +{ + return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); +} + +vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) +{ + float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; + return vec4(intersection.xyz * scale, intersection.w); +} + +// Use defines instead of real functions because WebGL1 cannot access array with non-constant index. +#define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) +#define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) +#define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = encodeIntersectionType((intersection), int(!positive), (enter)) +#define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) + +#if (INTERSECTION_COUNT > 1) +void initializeIntersections(inout Intersections ix) { + // Sort the intersections from min T to max T with bubble sort. + // Note: If this sorting function changes, some of the intersection test may + // need to be updated. Search for "bubble sort" to find those areas. + const int sortPasses = INTERSECTION_COUNT * 2 - 1; + for (int n = sortPasses; n > 0; --n) { + for (int i = 0; i < sortPasses; ++i) { + // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (i >= n) { break; } + + vec4 intersect0 = ix.intersections[i + 0]; + vec4 intersect1 = ix.intersections[i + 1]; + + bool inOrder = intersect0.w <= intersect1.w; + + ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; + ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; + } + } + + // Prepare initial state for nextIntersection + ix.index = 0; + ix.surroundCount = 0; + ix.surroundIsPositive = false; +} +#endif + +#if (INTERSECTION_COUNT > 1) +RayShapeIntersection nextIntersection(inout Intersections ix) { + vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); + RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); + + const int passCount = INTERSECTION_COUNT * 2; + + if (ix.index == passCount) { + return shapeIntersection; + } + + for (int i = 0; i < passCount; ++i) { + // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to continue instead. + if (i < ix.index) { + continue; + } + + ix.index = i + 1; + + surfaceIntersection = ix.intersections[i]; + int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); + bool currShapeIsPositive = intersectionType < 2; + bool enter = intMod(intersectionType, 2) == 0; + + ix.surroundCount += enter ? +1 : -1; + ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; + + // entering positive or exiting negative + if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { + shapeIntersection.entry = surfaceIntersection; + } + + // exiting positive or entering negative after being inside positive + bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; + bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; + if (exitPositive || enterNegativeFromPositive) { + shapeIntersection.exit = surfaceIntersection; + + // entry and exit have been found, so the loop can stop + if (exitPositive) { + // After exiting positive shape there is nothing left to intersect, so jump to the end index. + ix.index = passCount; + } + break; + } + } + + return shapeIntersection; +} +#endif + +// NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 +`;var BHi=T(S(),1),QA=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, +// setIntersectionPair, INF_HIT, NO_HIT + +/* intersectDepth defines (set in Scene/VoxelRenderResources.js) +#define DEPTH_INTERSECTION_INDEX ### +*/ + +uniform mat4 u_transformPositionViewToUv; + +void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); + if (logDepthOrDepth != 0.0) { + // Calculate how far the ray must travel before it hits the depth buffer. + vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); + eyeCoordinateDepth /= eyeCoordinateDepth.w; + vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); + float t = dot(depthPositionUv - ray.pos, ray.dir); + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); + } else { + // There's no depth at this location. + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); + } +} +`;var YHi=T(S(),1),jA=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, +// NO_HIT, setShapeIntersection + +/* Clipping plane defines (set in Scene/VoxelRenderResources.js) +#define CLIPPING_PLANES_UNION +#define CLIPPING_PLANES_COUNT +#define CLIPPING_PLANES_INTERSECTION_INDEX +*/ + +uniform sampler2D u_clippingPlanesTexture; +uniform mat4 u_clippingPlanesMatrix; + +// Plane is in Hessian Normal Form +vec4 intersectPlane(in Ray ray, in vec4 plane) { + vec3 n = plane.xyz; // normal + float w = plane.w; // -dot(pointOnPlane, normal) + + float a = dot(ray.pos, n); + float b = dot(ray.dir, n); + float t = -(w + a) / b; + + return vec4(n, t); +} + +void intersectClippingPlanes(in Ray ray, inout Intersections ix) { + vec4 backSide = vec4(-ray.dir, -INF_HIT); + vec4 farSide = vec4(ray.dir, +INF_HIT); + RayShapeIntersection clippingVolume; + + #if (CLIPPING_PLANES_COUNT == 1) + // Union and intersection are the same when there's one clipping plane, and the code + // is more simplified. + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + bool reflects = dot(ray.dir, intersection.xyz) < 0.0; + clippingVolume.entry = reflects ? backSide : intersection; + clippingVolume.exit = reflects ? intersection : farSide; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); + #elif defined(CLIPPING_PLANES_UNION) + vec4 firstTransmission = vec4(ray.dir, +INF_HIT); + vec4 lastReflection = vec4(-ray.dir, -INF_HIT); + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + if (dot(ray.dir, planeUv.xyz) > 0.0) { + firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; + } else { + lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; + } + } + clippingVolume.entry = backSide; + clippingVolume.exit = lastReflection; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); + clippingVolume.entry = firstTransmission; + clippingVolume.exit = farSide; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); + #else // intersection + vec4 lastTransmission = vec4(ray.dir, -INF_HIT); + vec4 firstReflection = vec4(-ray.dir, +INF_HIT); + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + if (dot(ray.dir, planeUv.xyz) > 0.0) { + lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; + } else { + firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; + } + } + if (lastTransmission.w < firstReflection.w) { + clippingVolume.entry = lastTransmission; + clippingVolume.exit = firstReflection; + } else { + clippingVolume.entry = vec4(-ray.dir, NO_HIT); + clippingVolume.exit = vec4(ray.dir, NO_HIT); + } + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); + #endif +} +`;var zHi=T(S(),1),LL=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, +// RayShapeIntersection + +vec4 intersectLongitude(in Ray ray, in float angle, in bool positiveNormal) { + float normalSign = positiveNormal ? 1.0 : -1.0; + vec2 planeNormal = vec2(-sin(angle), cos(angle)) * normalSign; + + vec2 position = ray.pos.xy; + vec2 direction = ray.dir.xy; + float approachRate = dot(direction, planeNormal); + float distance = -dot(position, planeNormal); + + float t = (approachRate == 0.0) + ? NO_HIT + : distance / approachRate; + + return vec4(planeNormal, 0.0, t); +} + +RayShapeIntersection intersectHalfSpace(in Ray ray, in float angle, in bool positiveNormal) +{ + vec4 intersection = intersectLongitude(ray, angle, positiveNormal); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + bool hitFront = (intersection.w > 0.0) == (dot(ray.pos.xy, intersection.xy) > 0.0); + if (!hitFront) { + return RayShapeIntersection(intersection, farSide); + } else { + return RayShapeIntersection(-1.0 * farSide, intersection); + } +} + +void intersectFlippedWedge(in Ray ray, in vec2 minMaxAngle, out RayShapeIntersection intersections[2]) +{ + intersections[0] = intersectHalfSpace(ray, minMaxAngle.x, false); + intersections[1] = intersectHalfSpace(ray, minMaxAngle.y, true); +} + +bool hitPositiveHalfPlane(in Ray ray, in vec4 intersection, in bool positiveNormal) { + float normalSign = positiveNormal ? 1.0 : -1.0; + vec2 planeDirection = vec2(intersection.y, -intersection.x) * normalSign; + vec2 hit = ray.pos.xy + intersection.w * ray.dir.xy; + return dot(hit, planeDirection) > 0.0; +} + +void intersectHalfPlane(in Ray ray, in float angle, out RayShapeIntersection intersections[2]) { + vec4 intersection = intersectLongitude(ray, angle, true); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (hitPositiveHalfPlane(ray, intersection, true)) { + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = vec4(-1.0 * intersection.xy, 0.0, intersection.w); + intersections[1].entry = intersection; + intersections[1].exit = farSide; + } else { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = farSide; + intersections[1].entry = miss; + intersections[1].exit = miss; + } +} + +RayShapeIntersection intersectRegularWedge(in Ray ray, in vec2 minMaxAngle) +{ + // Note: works for maxAngle > minAngle + pi, where the "regular wedge" + // is actually a negative volume. + // Compute intersections with the two planes. + // Normals will point toward the "outside" (negative space) + vec4 intersect1 = intersectLongitude(ray, minMaxAngle.x, false); + vec4 intersect2 = intersectLongitude(ray, minMaxAngle.y, true); + + // Choose intersection with smallest T as the "first", the other as "last" + // Note: first or last could be in the "shadow" wedge, beyond the tip + bool inOrder = intersect1.w <= intersect2.w; + vec4 first = inOrder ? intersect1 : intersect2; + vec4 last = inOrder ? intersect2 : intersect1; + + bool firstIsAhead = first.w >= 0.0; + bool startedInsideFirst = dot(ray.pos.xy, first.xy) < 0.0; + bool exitFromInside = firstIsAhead == startedInsideFirst; + bool lastIsAhead = last.w > 0.0; + bool startedOutsideLast = dot(ray.pos.xy, last.xy) >= 0.0; + bool enterFromOutside = lastIsAhead == startedOutsideLast; + + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + + if (exitFromInside && enterFromOutside) { + // Ray crosses both faces of negative wedge, exiting then entering the positive shape + return RayShapeIntersection(first, last); + } else if (!exitFromInside && enterFromOutside) { + // Ray starts inside wedge. last is in shadow wedge, and first is actually the entry + return RayShapeIntersection(-1.0 * farSide, first); + } else if (exitFromInside && !enterFromOutside) { + // First intersection was in the shadow wedge, so last is actually the exit + return RayShapeIntersection(last, farSide); + } else { // !exitFromInside && !enterFromOutside + // Both intersections were in the shadow wedge + return RayShapeIntersection(miss, miss); + } +} +`;var JHi=T(S(),1),qA=`// See IntersectionUtils.glsl for the definitions of Ray, RayShapeIntersection, +// NO_HIT, Intersections + +/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_INTERSECTION_INDEX ### // always 0 +*/ + +uniform vec3 u_renderMinBounds; +uniform vec3 u_renderMaxBounds; + +RayShapeIntersection intersectBox(in Ray ray, in vec3 minBound, in vec3 maxBound) +{ + // Consider the box as the intersection of the space between 3 pairs of parallel planes + // Compute the distance along the ray to each plane + vec3 t0 = (minBound - ray.pos) / ray.dir; + vec3 t1 = (maxBound - ray.pos) / ray.dir; + + // Identify candidate entries/exits based on distance from ray.pos + vec3 entries = min(t0, t1); + vec3 exits = max(t0, t1); + + vec3 directions = sign(ray.dir); + + // The actual intersection points are the furthest entry and the closest exit + float lastEntry = maxComponent(entries); + bvec3 isLastEntry = equal(entries, vec3(lastEntry)); + vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; + vec4 entry = vec4(entryNormal, lastEntry); + + float firstExit = minComponent(exits); + bvec3 isFirstExit = equal(exits, vec3(firstExit)); + vec3 exitNormal = vec3(isLastEntry) * directions; + vec4 exit = vec4(exitNormal, firstExit); + + if (entry.w > exit.w) { + entry.w = NO_HIT; + exit.w = NO_HIT; + } + + return RayShapeIntersection(entry, exit); +} + +void intersectShape(in Ray ray, inout Intersections ix) +{ + RayShapeIntersection intersection = intersectBox(ray, u_renderMinBounds, u_renderMaxBounds); + setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); +} +`;var jHi=T(S(),1),$A=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, Intersections, +// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection, +// intersectIntersections +// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, +// intersectFlippedWedge, intersectRegularWedge + +/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO + +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN +#define CYLINDER_INTERSECTION_INDEX_ANGLE +*/ + +// Cylinder uniforms +uniform vec2 u_cylinderRenderRadiusMinMax; +uniform vec2 u_cylinderRenderHeightMinMax; +#if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) + uniform vec2 u_cylinderRenderAngleMinMax; +#endif + +/** + * Find the intersection of a ray with the volume defined by two planes of constant z + */ +RayShapeIntersection intersectHeightBounds(in Ray ray, in vec2 minMaxHeight, in bool convex) +{ + float zPosition = ray.pos.z; + float zDirection = ray.dir.z; + + float tmin = (minMaxHeight.x - zPosition) / zDirection; + float tmax = (minMaxHeight.y - zPosition) / zDirection; + + // Normals point outside the volume + float signFlip = convex ? 1.0 : -1.0; + vec4 intersectMin = vec4(0.0, 0.0, -1.0 * signFlip, tmin); + vec4 intersectMax = vec4(0.0, 0.0, 1.0 * signFlip, tmax); + + bool topEntry = zDirection < 0.0; + vec4 entry = topEntry ? intersectMax : intersectMin; + vec4 exit = topEntry ? intersectMin : intersectMax; + + return RayShapeIntersection(entry, exit); +} + +/** + * Find the intersection of a ray with a right cylindrical surface of a given radius + * about the z-axis. + */ +RayShapeIntersection intersectCylinder(in Ray ray, in float radius, in bool convex) +{ + vec2 position = ray.pos.xy; + vec2 direction = ray.dir.xy; + + float a = dot(direction, direction); + float b = dot(position, direction); + float c = dot(position, position) - radius * radius; + float determinant = b * b - a * c; + + if (determinant < 0.0) { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + determinant = sqrt(determinant); + float t1 = (-b - determinant) / a; + float t2 = (-b + determinant) / a; + float signFlip = convex ? 1.0 : -1.0; + vec4 intersect1 = vec4(normalize(position + t1 * direction) * signFlip, 0.0, t1); + vec4 intersect2 = vec4(normalize(position + t2 * direction) * signFlip, 0.0, t2); + + return RayShapeIntersection(intersect1, intersect2); +} + +/** + * Find the intersection of a ray with a right cylindrical solid of given + * radius and height bounds. NOTE: The shape is assumed to be convex. + */ +RayShapeIntersection intersectBoundedCylinder(in Ray ray, in float radius, in vec2 minMaxHeight) +{ + RayShapeIntersection cylinderIntersection = intersectCylinder(ray, radius, true); + RayShapeIntersection heightBoundsIntersection = intersectHeightBounds(ray, minMaxHeight, true); + return intersectIntersections(ray, cylinderIntersection, heightBoundsIntersection); +} + +void intersectShape(Ray ray, inout Intersections ix) +{ + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + + RayShapeIntersection outerIntersect = intersectBoundedCylinder(ray, u_cylinderRenderRadiusMinMax.y, u_cylinderRenderHeightMinMax); + + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); + + if (outerIntersect.entry.w == NO_HIT) { + return; + } + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) + // When the cylinder is perfectly thin it's necessary to sandwich the + // inner cylinder intersection inside the outer cylinder intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the cylinder to be invisible because it will think the ray + // is still inside the inner (negative) cylinder after exiting the + // outer (positive) cylinder. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + RayShapeIntersection innerIntersect = intersectCylinder(ray, 1.0, false); + setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter + setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter + setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit + setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) + RayShapeIntersection innerIntersect = intersectCylinder(ray, u_cylinderRenderRadiusMinMax.x, false); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); + #endif + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) + RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) + RayShapeIntersection wedgeIntersects[2]; + intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax, wedgeIntersects); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) + RayShapeIntersection wedgeIntersects[2]; + intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x, wedgeIntersects); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); + #endif +} +`;var $Hi=T(S(),1),eM=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, Intersections, +// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection +// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, +// intersectFlippedWedge, intersectRegularWedge + +/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF +#define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN +*/ + +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidRenderLongitudeMinMax; +#endif +uniform float u_eccentricitySquared; +uniform vec2 u_ellipsoidRenderLatitudeSinMinMax; +uniform vec2 u_clipMinMaxHeight; + +RayShapeIntersection intersectZPlane(in Ray ray, in float z) { + float t = -ray.pos.z / ray.dir.z; + + bool startsOutside = sign(ray.pos.z) == sign(z); + bool entry = (t >= 0.0) != startsOutside; + + vec4 intersect = vec4(0.0, 0.0, z, t); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (entry) { + return RayShapeIntersection(intersect, farSide); + } else { + return RayShapeIntersection(-1.0 * farSide, intersect); + } +} + +RayShapeIntersection intersectHeight(in Ray ray, in float relativeHeight, in bool convex) +{ + // Scale the ray by the ellipsoid axes to make it a unit sphere + // Note: approximating ellipsoid + height as an ellipsoid + vec3 radiiCorrection = u_ellipsoidRadiiUv / (u_ellipsoidRadiiUv + relativeHeight); + vec3 position = ray.pos * radiiCorrection; + vec3 direction = ray.dir * radiiCorrection; + + float a = dot(direction, direction); // ~ 1.0 (or maybe 4.0 if ray is scaled) + float b = dot(direction, position); // roughly inside [-1.0, 1.0] when zoomed in + float c = dot(position, position) - 1.0; // ~ 0.0 when zoomed in. + float determinant = b * b - a * c; // ~ b * b when zoomed in + + if (determinant < 0.0) { + vec4 miss = vec4(normalize(direction), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + determinant = sqrt(determinant); + + // Compute larger root using standard formula + float signB = b < 0.0 ? -1.0 : 1.0; + // The other root may suffer from subtractive cancellation in the standard formula. + // Compute it from the first root instead. + float t1 = (-b - signB * determinant) / a; + float t2 = c / (a * t1); + float tmin = min(t1, t2); + float tmax = max(t1, t2); + + float directionScale = convex ? 1.0 : -1.0; + vec3 d1 = directionScale * normalize(position + tmin * direction); + vec3 d2 = directionScale * normalize(position + tmax * direction); + + return RayShapeIntersection(vec4(d1, tmin), vec4(d2, tmax)); +} + +/** + * Given a circular cone around the z-axis, with apex at the origin, + * find the parametric distance(s) along a ray where that ray intersects + * the cone. + * The cone opening angle is described by the squared cosine of + * its half-angle (the angle between the Z-axis and the surface) + */ +vec2 intersectDoubleEndedCone(in Ray ray, in float cosSqrHalfAngle) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + float sinSqrHalfAngle = 1.0 - cosSqrHalfAngle; + + float aSin = d.z * d.z * sinSqrHalfAngle; + float aCos = -dot(d.xy, d.xy) * cosSqrHalfAngle; + float a = aSin + aCos; + + float bSin = d.z * o.z * sinSqrHalfAngle; + float bCos = -dot(o.xy, d.xy) * cosSqrHalfAngle; + float b = bSin + bCos; + + float cSin = o.z * o.z * sinSqrHalfAngle; + float cCos = -dot(o.xy, o.xy) * cosSqrHalfAngle; + float c = cSin + cCos; + // determinant = b * b - a * c. But bSin * bSin = aSin * cSin. + // Avoid subtractive cancellation by expanding to eliminate these terms + float determinant = 2.0 * bSin * bCos + bCos * bCos - aSin * cCos - aCos * cSin - aCos * cCos; + + if (determinant < 0.0) { + return vec2(NO_HIT); + } else if (a == 0.0) { + // Ray is parallel to cone surface + return (b == 0.0) + ? vec2(NO_HIT) // Ray is on cone surface + : vec2(-0.5 * c / b, NO_HIT); + } + + determinant = sqrt(determinant); + + // Compute larger root using standard formula + float signB = b < 0.0 ? -1.0 : 1.0; + float t1 = (-b - signB * determinant) / a; + // The other root may suffer from subtractive cancellation in the standard formula. + // Compute it from the first root instead. + float t2 = c / (a * t1); + float tmin = min(t1, t2); + float tmax = max(t1, t2); + return vec2(tmin, tmax); +} + +/** + * Given a point on a conical surface, find the surface normal at that point. + */ +vec3 getConeNormal(in vec3 p, in bool convex) { + // Start with radial component pointing toward z-axis + vec2 radial = -abs(p.z) * normalize(p.xy); + // Z component points toward opening of cone + float zSign = (p.z < 0.0) ? -1.0 : 1.0; + float z = length(p.xy) * zSign; + // Flip normal if shape is convex + float flip = (convex) ? -1.0 : 1.0; + return normalize(vec3(radial, z) * flip); +} + +/** + * Compute the shift between the ellipsoid origin and the apex of a cone of latitude + */ +float getLatitudeConeShift(in float sinLatitude) { + // Find prime vertical radius of curvature: + // the distance along the ellipsoid normal to the intersection with the z-axis + float x2 = u_eccentricitySquared * sinLatitude * sinLatitude; + float primeVerticalRadius = inversesqrt(1.0 - x2); + + // Compute a shift from the origin to the intersection of the cone with the z-axis + return primeVerticalRadius * u_eccentricitySquared * sinLatitude; +} + +void intersectFlippedCone(in Ray ray, in float cosHalfAngle, out RayShapeIntersection intersections[2]) { + // Undo the scaling from ellipsoid to sphere + ray.pos = ray.pos * u_ellipsoidRadiiUv; + ray.dir = ray.dir * u_ellipsoidRadiiUv; + // Shift the ray to account for the latitude cone not being centered at the Earth center + ray.pos.z += getLatitudeConeShift(cosHalfAngle); + + float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + // Initialize output with no intersections + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = farSide; + intersections[1].entry = miss; + intersections[1].exit = miss; + + if (intersect.x == NO_HIT) { + return; + } + + // Find the points of intersection + float tmin = intersect.x; + float tmax = intersect.y; + vec3 p0 = ray.pos + tmin * ray.dir; + vec3 p1 = ray.pos + tmax * ray.dir; + + vec4 intersect0 = vec4(getConeNormal(p0, true), tmin); + vec4 intersect1 = vec4(getConeNormal(p1, true), tmax); + + bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); + bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + + if (p0InShadowCone && p1InShadowCone) { + // no valid intersections + } else if (p0InShadowCone) { + intersections[0].exit = intersect1; + } else if (p1InShadowCone) { + intersections[0].entry = intersect0; + } else { + intersections[0].exit = intersect0; + intersections[1].entry = intersect1; + intersections[1].exit = farSide; + } +} + +RayShapeIntersection intersectRegularCone(in Ray ray, in float cosHalfAngle, in bool convex) { + // Undo the scaling from ellipsoid to sphere + ray.pos = ray.pos * u_ellipsoidRadiiUv; + ray.dir = ray.dir * u_ellipsoidRadiiUv; + // Shift the ray to account for the latitude cone not being centered at the Earth center + ray.pos.z += getLatitudeConeShift(cosHalfAngle); + + float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (intersect.x == NO_HIT) { + return RayShapeIntersection(miss, miss); + } + + // Find the points of intersection + float tmin = intersect.x; + float tmax = intersect.y; + vec3 p0 = ray.pos + tmin * ray.dir; + vec3 p1 = ray.pos + tmax * ray.dir; + + vec4 intersect0 = vec4(getConeNormal(p0, convex), tmin); + vec4 intersect1 = vec4(getConeNormal(p1, convex), tmax); + + bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); + bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + + if (p0InShadowCone && p1InShadowCone) { + return RayShapeIntersection(miss, miss); + } else if (p0InShadowCone) { + return RayShapeIntersection(intersect1, farSide); + } else if (p1InShadowCone) { + return RayShapeIntersection(-1.0 * farSide, intersect0); + } else { + return RayShapeIntersection(intersect0, intersect1); + } +} + +void intersectShape(in Ray ray, inout Intersections ix) { + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + + // Outer ellipsoid + RayShapeIntersection outerIntersect = intersectHeight(ray, u_clipMinMaxHeight.y, true); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); + + // Exit early if the outer ellipsoid was missed. + if (outerIntersect.entry.w == NO_HIT) { + return; + } + + // Inner ellipsoid + RayShapeIntersection innerIntersect = intersectHeight(ray, u_clipMinMaxHeight.x, false); + + if (innerIntersect.entry.w == NO_HIT) { + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); + } else { + // When the ellipsoid is large and thin it's possible for floating point math + // to cause the ray to intersect the inner ellipsoid before the outer ellipsoid. + // To prevent this from happening, clamp innerIntersect to outerIntersect and + // sandwich the inner ellipsoid intersection inside the outer ellipsoid intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the ellipsoid to be invisible because it will think the ray + // is still inside the inner (negative) ellipsoid after exiting the + // outer (positive) ellipsoid. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + innerIntersect.entry.w = max(innerIntersect.entry.w, outerIntersect.entry.w); + innerIntersect.exit.w = min(innerIntersect.exit.w, outerIntersect.exit.w); + setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter + setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter + setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit + setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + } + + // Bottom cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) + RayShapeIntersection bottomConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, false); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) + RayShapeIntersection bottomConeIntersection = intersectZPlane(ray, -1.0); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) + RayShapeIntersection bottomConeIntersections[2]; + intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, bottomConeIntersections); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersections[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersections[1]); + #endif + + // Top cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) + RayShapeIntersection topConeIntersections[2]; + intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, topConeIntersections); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersections[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersections[1]); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) + RayShapeIntersection topConeIntersection = intersectZPlane(ray, 1.0); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) + RayShapeIntersection topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, false); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #endif + + // Wedge + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) + RayShapeIntersection wedgeIntersects[2]; + intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x, wedgeIntersects); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) + RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) + RayShapeIntersection wedgeIntersects[2]; + intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax, wedgeIntersects); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); + #endif +} +`;var tzi=T(S(),1),bS=`// Main intersection function for Voxel scenes. +// See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl +// for the definition of intersectShape. The appropriate function is selected +// based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See also IntersectClippingPlane.glsl and IntersectDepth.glsl. +// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, +// getFirstIntersection, initializeIntersections, nextIntersection. + +/* Intersection defines (set in Scene/VoxelRenderResources.js) +#define INTERSECTION_COUNT ### +*/ + +RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { + // Do a ray-shape intersection to find the exact starting and ending points. + intersectShape(ray, ix); + + // Exit early if the positive shape was completely missed or behind the ray. + RayShapeIntersection intersection = getFirstIntersection(ix); + if (intersection.entry.w == NO_HIT) { + // Positive shape was completely missed - so exit early. + return intersection; + } + + // Clipping planes + #if defined(CLIPPING_PLANES) + intersectClippingPlanes(ray, ix); + #endif + + // Depth + #if defined(DEPTH_TEST) + intersectDepth(screenCoord, ray, ix); + #endif + + // Find the first intersection that's in front of the ray + #if (INTERSECTION_COUNT > 1) + initializeIntersections(ix); + for (int i = 0; i < INTERSECTION_COUNT; ++i) { + intersection = nextIntersection(ix); + if (intersection.exit.w > 0.0) { + // Set start to 0.0 when ray is inside the shape. + intersection.entry.w = max(intersection.entry.w, 0.0); + break; } - #endif -/*--------------------------------------------------------------------------*/ } + #else + // Set start to 0.0 when ray is inside the shape. + intersection.entry.w = max(intersection.entry.w, 0.0); + #endif + + return intersection; +} +`;var izi=T(S(),1),tM=`/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_HAS_SHAPE_BOUNDS +*/ + +#if defined(BOX_HAS_SHAPE_BOUNDS) + uniform vec3 u_boxUvToShapeUvScale; + uniform vec3 u_boxUvToShapeUvTranslate; +#endif + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // For BOX, UV space = shape space, so we can use positionUv as-is, + // and the Jacobian is the identity matrix, except that a step of 1 + // only spans half the shape space [-1, 1], so the identity is scaled. + return PointJacobianT(positionUv, mat3(0.5)); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return positionShape * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; +#else + return positionShape; +#endif +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; +#else + return shapeUv; +#endif +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return shapeUv / u_boxUvToShapeUvScale; +#else + return shapeUv; +#endif +}`;var rzi=T(S(),1),nM=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS +#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED +*/ + +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + uniform vec2 u_cylinderShapeUvAngleMinMax; +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + uniform float u_cylinderShapeUvAngleRangeZeroMid; +#endif + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // Convert from Cartesian UV space [0, 1] to Cartesian local space [-1, 1] + vec3 position = positionUv * 2.0 - 1.0; + + float radius = length(position.xy); // [0, 1] + vec3 radial = normalize(vec3(position.xy, 0.0)); + + // Shape space height is defined within [0, 1] + float height = positionUv.z; // [0, 1] + vec3 z = vec3(0.0, 0.0, 1.0); + + float angle = atan(position.y, position.x); + vec3 east = normalize(vec3(-position.y, position.x, 0.0)); + + vec3 point = vec3(radius, height, angle); + mat3 jacobianT = mat3(radial, z, east / length(position.xy)); + return PointJacobianT(point, jacobianT); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { + float radius = positionShape.x; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; + #endif + + float height = positionShape.y; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; + #endif + + float angle = (positionShape.z + czm_pi) / czm_twoPi; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. + angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); #endif -/*--------------------------------------------------------------------------*/ + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) + angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; + #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; + #endif + + angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; + #endif + + return vec3(radius, height, angle); +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { + float radius = shapeUv.x; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + radius /= u_cylinderUvToShapeUvRadius.x; + #endif + + float height = shapeUv.y; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + height /= u_cylinderUvToShapeUvHeight.x; + #endif + + float angle = shapeUv.z * czm_twoPi; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + angle /= u_cylinderUvToShapeUvAngle.x; + #endif + + return vec3(radius, height, angle); +} +`;var azi=T(S(),1),iM=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE +*/ + +uniform vec3 u_ellipsoidRadiiUv; // [0,1] +uniform vec2 u_evoluteScale; // (radiiUv.x ^ 2 - radiiUv.z ^ 2) * vec2(1.0, -1.0) / radiiUv; +uniform vec3 u_ellipsoidInverseRadiiSquaredUv; +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset +#endif +uniform float u_ellipsoidInverseHeightDifferenceUv; + +// robust iterative solution without trig functions +// https://github.com/0xfaded/ellipse_demo/issues/1 +// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse +// Extended to return radius of curvature along with the point +vec3 nearestPointAndRadiusOnEllipse(vec2 pos, vec2 radii) { + vec2 p = abs(pos); + vec2 inverseRadii = 1.0 / radii; + + // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) + // but store the cos and sin of t in a vec2 for efficiency. + // Initial guess: t = pi/4 + vec2 tTrigs = vec2(0.7071067811865476); + // Initial guess of point on ellipsoid + vec2 v = radii * tTrigs; + // Center of curvature of the ellipse at v + vec2 evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; + + const int iterations = 3; + for (int i = 0; i < iterations; ++i) { + // Find the (approximate) intersection of p - evolute with the ellipsoid. + vec2 q = normalize(p - evolute) * length(v - evolute); + // Update the estimate of t. + tTrigs = (q + evolute) * inverseRadii; + tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); + v = radii * tTrigs; + evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; } + + return vec3(v * sign(pos), length(v - evolute)); +} + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // Convert from UV space [0, 1] to local space [-1, 1] + vec3 position = positionUv * 2.0 - 1.0; + // Undo the scaling from ellipsoid to sphere + position = position * u_ellipsoidRadiiUv; + + float longitude = atan(position.y, position.x); + vec3 east = normalize(vec3(-position.y, position.x, 0.0)); + + // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) + // (assume radii.y == radii.x) and find the nearest point on the ellipse and its normal + float distanceFromZAxis = length(position.xy); + vec2 posEllipse = vec2(distanceFromZAxis, position.z); + vec3 surfacePointAndRadius = nearestPointAndRadiusOnEllipse(posEllipse, u_ellipsoidRadiiUv.xz); + vec2 surfacePoint = surfacePointAndRadius.xy; + + vec2 normal2d = normalize(surfacePoint * u_ellipsoidInverseRadiiSquaredUv.xz); + float latitude = atan(normal2d.y, normal2d.x); + vec3 north = vec3(-normal2d.y * normalize(position.xy), abs(normal2d.x)); + + float heightSign = length(posEllipse) < length(surfacePoint) ? -1.0 : 1.0; + float height = heightSign * length(posEllipse - surfacePoint); + vec3 up = normalize(cross(east, north)); + + vec3 point = vec3(longitude, latitude, height); + mat3 jacobianT = mat3(east / distanceFromZAxis, north / (surfacePointAndRadius.z + height), up); + return PointJacobianT(point, jacobianT); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { + // Longitude: shift & scale to [0, 1] + float longitude = (positionShape.x + czm_pi) / czm_twoPi; + + // Correct the angle when max < min + // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); + #endif + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) + longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; + #endif + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) + longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; + #endif + + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; + #endif + + // Latitude: shift and scale to [0, 1] + float latitude = (positionShape.y + czm_piOverTwo) / czm_pi; + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; + #endif + + // Height: scale to the range [0, 1] + float height = 1.0 + positionShape.z * u_ellipsoidInverseHeightDifferenceUv; + + return vec3(longitude, latitude, height); +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { + // Convert from [0, 1] to radians [-pi, pi] + float longitude = shapeUv.x * czm_twoPi; + #if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + longitude /= u_ellipsoidUvToShapeUvLongitude.x; + #endif + + // Convert from [0, 1] to radians [-pi/2, pi/2] + float latitude = shapeUv.y * czm_pi; + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + latitude /= u_ellipsoidUvToShapeUvLatitude.x; #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } -/*--------------------------------------------------------------------------*/ - FxaaFloat dstN = posM.x - posN.x; - FxaaFloat dstP = posP.x - posM.x; - if(!horzSpan) dstN = posM.y - posN.y; - if(!horzSpan) dstP = posP.y - posM.y; -/*--------------------------------------------------------------------------*/ - FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; - FxaaFloat spanLength = (dstP + dstN); - FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; - FxaaFloat spanLengthRcp = 1.0/spanLength; -/*--------------------------------------------------------------------------*/ - FxaaBool directionN = dstN < dstP; - FxaaFloat dst = min(dstN, dstP); - FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; - FxaaFloat subpixG = subpixF * subpixF; - FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; - FxaaFloat subpixH = subpixG * fxaaQualitySubpix; -/*--------------------------------------------------------------------------*/ - FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; - FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); - if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; - if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; - return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); + + float height = shapeUv.z / u_ellipsoidInverseHeightDifferenceUv; + + return vec3(longitude, latitude, height); } -`;var izi=T(S(),1);function iS(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;l(t)||(t=Yn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(iS.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});iS.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};iS.prototype.get=function(e){return this._stages[e]};function lbt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}iS.prototype.update=function(e,t){this._selectedDirty=lbt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};iS.prototype.isDestroyed=function(){return!1};iS.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return me(this)};var cl=iS;var Rr={};function F3(e){let o=`#define USE_STEP_SIZE -${Wy}`,r=new uo({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:qd.LINEAR}),s=new uo({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:qd.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let d=r.uniforms,u=s.uniforms;d.delta=u.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let d=r.uniforms,u=s.uniforms;d.sigma=u.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let d=r.uniforms,u=s.uniforms;d.stepSize=u.stepSize=c}}}),new cl({name:e,stages:[r,s],uniforms:a})}Rr.createBlurStage=function(){return F3("czm_blur")};Rr.createDepthOfFieldStage=function(){let e=F3("czm_depth_of_field_blur"),t=new uo({name:"czm_depth_of_field_composite",fragmentShader:NA,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new cl({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Rr.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Rr.createEdgeDetectionStage=function(){let e=Yn();return new uo({name:`czm_edge_detection_${e}`,fragmentShader:UA,uniforms:{length:.25,color:B.clone(B.BLACK)}})};Rr.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function dbt(e){if(!l(e))return Rr.createEdgeDetectionStage();let t=new cl({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a}; -`,o+=` vec4 edge${a} = texture(edgeTexture${a}, v_textureCoordinates); - if (edge${a}.a > 0.0) - { - color = edge${a}; - break; - } -`,n[`edgeTexture${a}`]=e[a].name;let r=`${i}in vec2 v_textureCoordinates; -void main() { - vec4 color = vec4(0.0); - for (int i = 0; i < ${e.length}; i++) - { -${o} } - out_FragColor = color; -} -`,s=new uo({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new cl({name:"czm_edge_detection_composite",stages:[t,s]})}Rr.createSilhouetteStage=function(e){let t=dbt(e),n=new uo({name:"czm_silhouette_color_edges",fragmentShader:JA,uniforms:{silhouetteTexture:t.name}});return new cl({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Rr.isSilhouetteSupported=function(e){return e.context.depthTexture};Rr.createBloomStage=function(){let e=new uo({name:"czm_bloom_contrast_bias",fragmentShader:MA,uniforms:{contrast:128,brightness:-.3}}),t=F3("czm_bloom_blur"),n=new cl({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new uo({name:"czm_bloom_generate_composite",fragmentShader:FA,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new cl({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Rr.createAmbientOcclusionStage=function(){let e=new uo({name:"czm_ambient_occlusion_generate",fragmentShader:PA,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),t=F3("czm_ambient_occlusion_blur");t.uniforms.stepSize=.86;let n=new cl({name:"czm_ambient_occlusion_generate_blur",stages:[e,t]}),i=new uo({name:"czm_ambient_occlusion_composite",fragmentShader:vA,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:n.name}}),o={};return Object.defineProperties(o,{intensity:{get:function(){return e.uniforms.intensity},set:function(r){e.uniforms.intensity=r}},bias:{get:function(){return e.uniforms.bias},set:function(r){e.uniforms.bias=r}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(r){e.uniforms.lengthCap=r}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(r){e.uniforms.stepSize=r}},frustumLength:{get:function(){return e.uniforms.frustumLength},set:function(r){e.uniforms.frustumLength=r}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(r){e.uniforms.randomTexture=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},blurStepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}},ambientOcclusionOnly:{get:function(){return i.uniforms.ambientOcclusionOnly},set:function(r){i.uniforms.ambientOcclusionOnly=r}}}),new cl({name:"czm_ambient_occlusion",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Rr.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var ubt=`#define FXAA_QUALITY_PRESET 39 -${QA} -${OA}`;Rr.createFXAAStage=function(){return new uo({name:"czm_FXAA",fragmentShader:ubt,sampleMode:qd.LINEAR})};Rr.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=WA,new uo({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Rr.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=DA,new uo({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Rr.createPbrNeutralTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=BA,new uo({name:"czm_pbr_neutral",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Rr.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=KA,new uo({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Rr.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=zA,new uo({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:B.WHITE,autoExposure:void 0,exposure:1}})};Rr.createAutoExposureStage=function(){return new hw};Rr.createBlackAndWhiteStage=function(){return new uo({name:"czm_black_and_white",fragmentShader:wA,uniforms:{gradations:5}})};Rr.createBrightnessStage=function(){return new uo({name:"czm_brightness",fragmentShader:AA,uniforms:{brightness:.5}})};Rr.createNightVisionStage=function(){return new uo({name:"czm_night_vision",fragmentShader:HA})};Rr.createDepthViewStage=function(){return new uo({name:"czm_depth_view",fragmentShader:kA})};Rr.createLensFlareStage=function(){return new uo({name:"czm_lens_flare",fragmentShader:YA,uniforms:{dirtTexture:sn("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:sn("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:ne.WGS84.maximumRadius}})};var $d=Rr;var Dzi=T(S(),1);function gb(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function qA(e){for(;l(e.length);)e=e.get(e.length-1);return e.name}function M8(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(l(o)){let a=e.getStageByName(o);r[qA(a)]=!0}let s=i.uniforms;if(l(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let d=0;d<c;++d){let u=s[a[d]];if(typeof u=="string"){let m=e.getStageByName(u);l(m)&&(r[qA(m)]=!0)}}}return i.name}function jA(e,t,n,i,o){if(l(i.enabled)&&!i.enabled||l(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!l(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let m=0;m<c;++m){let p=i.get(m);l(p.length)?a=jA(e,t,n,p,o):a=M8(e,t,n,p,o),s&&(o=a)}let d,u;if(s)for(d=1;d<c;++d)u=qA(i.get(d)),l(n[u])||(n[u]={}),n[u][r]=!0;else for(d=1;d<c;++d){u=qA(i.get(d));let m=n[u];for(let p=0;p<d;++p)m[qA(i.get(p))]=!0}return a}function mbt(e,t){let n={};if(l(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=jA(e,t,n,i,void 0);a=jA(e,t,n,o,a),a=M8(e,t,n,r,a),a=jA(e,t,n,e,a),M8(e,t,n,s,a)}else jA(e,t,n,e,void 0);return n}function hbt(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,d=o._clearColor,u,m,p=e._framebuffers,g=p.length;for(u=0;u<g;++u){if(m=p[u],r!==m.textureScale||s!==m.forcePowerOfTwo||a!==m.pixelFormat||c!==m.pixelDatatype||!B.equals(d,m.clearColor))continue;let f=m.stages,x=f.length,_=!1;for(let C=0;C<x;++C)if(n[f[C]]){_=!0;break}if(!_)break}return l(m)&&u<g?(m.stages.push(t),m):(m={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:d,stages:[t],buffer:new fi({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(m),m)}function fbt(e,t){let n=mbt(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=hbt(e,i,n[i]))}function N8(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function pbt(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,d=Math.ceil(n*c),u=Math.ceil(i*c),m=Math.min(d,u);a.forcePowerOfTwo&&(W.isPowerOfTwo(m)||(m=W.nextPowerOfTwo(m)),d=m,u=m),a.buffer.update(t,d,u),a.clear=new ni({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}gb.prototype.updateDependencies=function(){this._updateDependencies=!0};gb.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=l(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=l(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=l(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=l(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!l(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(N8(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&fbt(this,e);let c=e.drawingBufferWidth,d=e.drawingBufferHeight,u=this._width!==c||this._height!==d;!n&&!u||(this._width=c,this._height=d,this._updateDependencies=!1,N8(this),pbt(this,e))};gb.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};gb.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};gb.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};gb.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(l(t))return t.buffer.framebuffer};gb.prototype.isDestroyed=function(){return!1};gb.prototype.destroy=function(){return N8(this),me(this)};var oS=gb;var Ozi=T(S(),1),bbt={REINHARD:"REINHARD",MODIFIED_REINHARD:"MODIFIED_REINHARD",FILMIC:"FILMIC",ACES:"ACES",PBR_NEUTRAL:"PBR_NEUTRAL"};var yb=Object.freeze(bbt);var k8=[];function ll(){let e=$d.createFXAAStage(),t=$d.createAmbientOcclusionStage(),n=$d.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=$d.createAutoExposureStage(),this._exposure=1,this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=yb.PBR_NEUTRAL;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new oS(this),r={},s=k8;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let d=c.length;if(l(d))for(let u=0;u<d;++u)s.push(c.get(u))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(ll.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return U8(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(l(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!l(t))continue;if(l(t.selected))return!0;let n=t.length;if(l(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;l(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case yb.REINHARD:n=$d.createReinhardTonemappingStage(t);break;case yb.MODIFIED_REINHARD:n=$d.createModifiedReinhardTonemappingStage(t);break;case yb.FILMIC:n=$d.createFilmicTonemappingStage(t);break;case yb.PBR_NEUTRAL:n=$d.createPbrNeutralTonemappingStage(t);break;default:n=$d.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}else n.uniforms.exposure=this._exposure;this._tonemapper=e,this._tonemapping=n,l(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}},exposure:{get:function(){return this._exposure},set:function(e){this._tonemapping.uniforms.exposure=e,this._exposure=e}}});function U8(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages;for(let i=0,o=0;i<n.length;++i){let r=n[i];r&&(r._index=o++,t.push(r))}e._stages=t}ll.prototype.add=function(e){let t=this._stageNames,n=k8;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(l(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};ll.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=k8;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(l(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};ll.prototype.contains=function(e){return l(e)&&l(e._index)&&e._textureCache===this._textureCache};ll.prototype.get=function(e){return U8(this),this._stages[e]};ll.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};ll.prototype.getStageByName=function(e){return this._stageNames[e]};ll.prototype.update=function(e,t,n){U8(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages;o.length=r.length;let s=0;for(let C=0;C<r.length;++C){let V=r[C];V.ready&&V.enabled&&V._isSupported(e)&&(o[s++]=V)}o.length=s;let a=s!==i.length;if(!a){for(let C=0;C<s;++C)if(o[C]!==i[C]){a=!0;break}}let c=this._ao,d=this._bloom,u=this._autoExposure,m=this._tonemapping,p=this._fxaa;m.enabled=n;let g=c.enabled&&c._isSupported(e),f=d.enabled&&d._isSupported(e),x=m.enabled&&m._isSupported(e),_=p.enabled&&p._isSupported(e);if((a||this._textureCacheDirty||g!==this._aoEnabled||f!==this._bloomEnabled||x!==this._tonemappingEnabled||_!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=g,this._bloomEnabled=f,this._tonemappingEnabled=x,this._fxaaEnabled=_,this._textureCacheDirty=!1),l(this._randomTexture)&&!g&&(this._randomTexture.destroy(),this._randomTexture=void 0),!l(this._randomTexture)&&g){let V=new Uint8Array(196608);for(let L=0;L<196608;L+=3)V[L]=Math.floor(Math.random()*255);this._randomTexture=new wt({context:e,pixelFormat:dt.RGB,pixelDatatype:it.UNSIGNED_BYTE,source:{arrayBufferView:V,width:256,height:256},sampler:new nn({wrapS:Ln.REPEAT,wrapT:Ln.REPEAT,minificationFilter:tn.NEAREST,magnificationFilter:mi.NEAREST})})}this._textureCache.update(e),p.update(e,t),c.update(e,t),d.update(e,t),m.update(e,t),this._autoExposureEnabled&&u.update(e,t);for(let C=0;C<r.length;++C)r[C].update(e,t);s=0;for(let C=0;C<r.length;++C){let V=r[C];V.ready&&V.enabled&&V._isSupported(e)&&s++}a=s!==o.length,a&&this.update(e,t,n)};ll.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function rS(e){for(;l(e.length);)e=e.get(e.length-1);return e.outputTexture}ll.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(l(t))return rS(t)};function rp(e,t,n,i,o){if(l(e.execute)){e.execute(t,n,i,o);return}if(e.inputPreviousStageTexture){rp(e.get(0),t,n,i,o);for(let r=1;r<e.length;++r)rp(e.get(r),t,rS(e.get(r-1)),i,o)}else for(let r=0;r<e.length;++r)rp(e.get(r),t,n,i,o)}ll.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,d=this._autoExposure,u=this._tonemapping,m=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,f=u.enabled&&u._isSupported(e),x=s.enabled&&s._isSupported(e);if(!x&&!m&&!p&&!f&&r===0)return;let _=t;m&&a.ready&&(rp(a,e,_,n,i),_=rS(a)),p&&c.ready&&(rp(c,e,_,n,i),_=rS(c)),g&&d.ready&&rp(d,e,_,n,i),f&&u.ready&&(rp(u,e,_,n,i),_=rS(u));let C=_;if(r>0){rp(o[0],e,_,n,i);for(let V=1;V<r;++V)rp(o[V],e,rS(o[V-1]),n,i);C=rS(o[r-1])}x&&s.ready&&rp(s,e,C,n,i)};ll.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(ed,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};ll.prototype.isDestroyed=function(){return!1};ll.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),me(this)};var $A=ll;var lHi=T(S(),1);function eu(){fe.throwInstantiationError()}eu.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties(eu.prototype,{quadtree:{get:fe.throwInstantiationError,set:fe.throwInstantiationError},tilingScheme:{get:fe.throwInstantiationError},errorEvent:{get:fe.throwInstantiationError}});eu.prototype.update=fe.throwInstantiationError;eu.prototype.beginUpdate=fe.throwInstantiationError;eu.prototype.endUpdate=fe.throwInstantiationError;eu.prototype.getLevelMaximumGeometricError=fe.throwInstantiationError;eu.prototype.loadTile=fe.throwInstantiationError;eu.prototype.computeTileVisibility=fe.throwInstantiationError;eu.prototype.showTileThisFrame=fe.throwInstantiationError;eu.prototype.computeDistanceToTile=fe.throwInstantiationError;eu.prototype.isDestroyed=fe.throwInstantiationError;eu.prototype.destroy=fe.throwInstantiationError;var D8=eu;var J4i=T(S(),1);var xHi=T(S(),1);function Gc(e,t){this._occluderPosition=h.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var A3=new h;Object.defineProperties(Gc.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=h.clone(e,this._cameraPosition);let t=h.subtract(this._occluderPosition,e,A3),n=h.magnitudeSquared(t),i=this._occluderRadius*this._occluderRadius,o,r,s;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,A3);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,A3),A3)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});Gc.fromBoundingSphere=function(e,t,n){return l(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new Gc(e,t)};var H_e=new h;Gc.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,H_e),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var gbt=new h;Gc.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,gbt),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,H_e),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n<this._occluderRadius)return o>0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var ybt=new h;Gc.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return pr.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,ybt),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n<s?pr.NONE:(o=this._occluderRadius+n,o=r-o*o,o>0?(o=Math.sqrt(o)+this._horizonDistance,s<o*o+n*n?pr.FULL:pr.PARTIAL):(i=h.subtract(t,this._horizonPlanePosition,i),h.dot(i,this._horizonPlaneNormal)>-n?pr.PARTIAL:pr.FULL))}}return pr.NONE};var M3=new h;Gc.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,M3),M3),c=-h.dot(a,o),d=Gc._anyRotationVector(o,a,c),u=Gc._horizonToPlaneNormalDotProduct(e,a,c,d,n[0]);if(!u)return;let m;for(let g=1;g<s;++g){if(m=Gc._horizonToPlaneNormalDotProduct(e,a,c,d,n[g]),!m)return;m<u&&(u=m)}if(u<.0017453283658983088)return;let p=r/u;return h.add(o,h.multiplyByScalar(a,p,M3),M3)};var xbt=[];Gc.computeOccludeePointFromRectangle=function(e,t){t=y(t,ne.default);let n=ce.subsample(e,t,0,xbt),i=le.fromPoints(n),o=h.ZERO;if(!h.equals(o,i.center))return Gc.computeOccludeePoint(new le(o,t.minimumRadius),i.center,n)};var _bt=new h;Gc._anyRotationVector=function(e,t,n){let i=h.abs(t,_bt),o=i.x>i.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var Tbt=new h;Gc._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,Tbt);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>W.EPSILON13)return h.normalize(s,new h)}return o};var B8=new h,Sbt=new h,N3=new h,z_e=new h;Gc._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,B8),s=h.clone(e.center,Sbt),a=e.radius,c=h.subtract(s,r,N3),d=h.magnitudeSquared(c),u=a*a;if(d<u)return!1;let m=d-u,p=Math.sqrt(m),f=1/Math.sqrt(d),_=p*f*p;c=h.normalize(c,c);let C=h.add(r,h.multiplyByScalar(c,_,z_e),z_e),V=Math.sqrt(m-_*_),L=this._rotationVector(s,t,n,r,i),Z=h.fromElements(L.x*L.x*c.x+(L.x*L.y-L.z)*c.y+(L.x*L.z+L.y)*c.z,(L.x*L.y+L.z)*c.x+L.y*L.y*c.y+(L.y*L.z-L.x)*c.z,(L.x*L.z-L.y)*c.x+(L.y*L.z+L.x)*c.y+L.z*L.z*c.z,B8);Z=h.normalize(Z,Z);let G=h.multiplyByScalar(Z,V,B8);L=h.normalize(h.subtract(h.add(C,G,N3),s,N3),N3);let I=h.dot(t,L);L=h.normalize(h.subtract(h.subtract(C,G,L),s,L),L);let v=h.dot(t,L);return I<v?I:v};var e9=Gc;var AHi=T(S(),1);function sS(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}sS.prototype.completeMorph=function(){l(this._completeMorph)&&this._completeMorph()};sS.prototype.morphTo2D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof ln,!(this._previousMode===oe.SCENE2D||this._previousMode===oe.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,oe.SCENE2D,!0),n._mode=oe.MORPHING,n.camera._setTransform(M.IDENTITY),this._previousMode===oe.COLUMBUS_VIEW?tgt(this,e):cgt(this,e,t),e===0&&l(this._completeMorph)&&this._completeMorph())};var Cbt=new h,Vbt=new h,Lbt=new h,Rbt=new h,Zbt=new h,Gbt=new h,Ebt=new h,Ibt=new he,Xbt=new M,Wbt=new Li,Pbt=new ln,vbt={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};sS.prototype.morphToColumbusView=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===oe.COLUMBUS_VIEW||this._previousMode===oe.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,oe.COLUMBUS_VIEW,!0),n.camera._setTransform(M.IDENTITY);let i=Cbt,o=Vbt,r=Lbt;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let d=n.camera;if(this._previousMode===oe.SCENE2D)h.clone(d.position,i),i.z=d.frustum.right-d.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(d.positionWC,i),h.clone(d.directionWC,o),h.clone(d.upWC,r);let u=t.scaleToGeodeticSurface(i,Ebt),m=Ft.eastNorthUpToFixedFrame(u,t,Xbt);M.inverseTransformation(m,m),n.mapProjection.project(t.cartesianToCartographic(i,Ibt),i),M.multiplyByPointAsVector(m,o,o),M.multiplyByPointAsVector(m,r,r)}}let s;this._morphToOrthographic?(s=Pbt,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=Wbt,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=W.toRadians(60));let a=vbt;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=dgt(a);t9(this,c),this._previousMode===oe.SCENE2D?lgt(this,e,a,c):(a.position2D=M.multiplyByPoint(oo.TRANSFORM_2D,i,Rbt),a.direction2D=M.multiplyByPointAsVector(oo.TRANSFORM_2D,o,Zbt),a.up2D=M.multiplyByPointAsVector(oo.TRANSFORM_2D,r,Gbt),n._mode=oe.MORPHING,oTe(this,e,a,c)),e===0&&l(this._completeMorph)&&this._completeMorph()};var z8={position:new h,direction:new h,up:new h,frustum:void 0},J_e=new Li;sS.prototype.morphTo3D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===oe.SCENE3D||this._previousMode===oe.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,oe.SCENE3D,!0),n._mode=oe.MORPHING,n.camera._setTransform(M.IDENTITY),this._previousMode===oe.SCENE2D)Ybt(this,e,t);else{let i;e>0?(i=z8,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=Q_e(this,t);let o,r=n.camera;r.frustum instanceof ln?o=r.frustum.clone():(o=J_e,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=W.toRadians(60)),i.frustum=o;let s=sTe(i);t9(this,s),Y8(this,e,i,s)}e===0&&l(this._completeMorph)&&this._completeMorph()}};sS.prototype.isDestroyed=function(){return!1};sS.prototype.destroy=function(){return k3(this),me(this)};function t9(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new Yd(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,Vn.LEFT_DOWN),e._morphHandler.setInputAction(n,Vn.MIDDLE_DOWN),e._morphHandler.setInputAction(n,Vn.RIGHT_DOWN),e._morphHandler.setInputAction(n,Vn.WHEEL)}}function k3(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var wbt=new he,Fbt=new h,Abt=new M;function Q_e(e,t){let n=e._scene,i=n.camera,o=z8,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,wbt);t.cartographicToCartesian(c,r);let d=t.scaleToGeodeticSurface(r,Fbt),u=Ft.eastNorthUpToFixedFrame(d,t,Abt);return M.multiplyByPointAsVector(u,i.direction,s),M.multiplyByPointAsVector(u,i.up,a),o}var Mbt=new h,Nbt=new h,kbt=new h,Ubt=new h,Dbt=new h,Bbt=new h;function Y8(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,Mbt),a=h.clone(r.direction,Nbt),c=h.clone(r.up,kbt),d=M.multiplyByPoint(oo.TRANSFORM_2D_INVERSE,n.position,Ubt),u=M.multiplyByPointAsVector(oo.TRANSFORM_2D_INVERSE,n.direction,Dbt),m=M.multiplyByPointAsVector(oo.TRANSFORM_2D_INVERSE,n.up,Bbt);function p(f){am(s,d,f.time,r.position),am(a,u,f.time,r.direction),am(c,m,f.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:Or.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){rTe(e,o,0,1,t,i)}});e._currentTweens.push(g)}var Obt=new ln,j_e=new h,q_e=new h,$_e=new h,H8=new h,eTe=new h,tTe=new h;function Ybt(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=z8,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=Q_e(e,n));let s;e._morphToOrthographic?(s=Obt,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=J_e,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=W.toRadians(60)),r.frustum=s;let a=sTe(r);t9(e,a);let c;e._morphToOrthographic?c=function(){Y8(e,t,r,a)}:c=function(){iTe(e,t,r,function(){Y8(e,t,r,a)})},t>0?(i._mode=oe.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,H8),complete:function(){i._mode=oe.MORPHING,c()}})):c()}function am(e,t,n,i){return h.lerp(e,t,n,i)}function nTe(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof ln)return;let a=s.frustum.fov,c=W.RADIANS_PER_DEGREE*.5,d=n.position.z*Math.tan(a*.5);s.frustum.far=d/Math.tan(c*.5)+1e7;function u(p){s.frustum.fov=W.lerp(a,c,p.time);let g=d/Math.tan(s.frustum.fov*.5);i(s,g)}let m=r.tweens.add({duration:t,easingFunction:Or.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:u,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(m)}var zbt=new h,Hbt=new h,Kbt=new h,O8=new h,Jbt=new h,Qbt=new h,jbt=new Xr,qbt=new gn,$bt=new h,egt={position:void 0,direction:void 0,up:void 0,frustum:void 0};function tgt(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,zbt),r=h.clone(i.direction,Hbt),s=h.clone(i.up,Kbt),a=h.negate(h.UNIT_Z,Jbt),c=h.clone(h.UNIT_Y,Qbt),d=O8;if(t>0)h.clone(h.ZERO,O8),d.z=5*n.ellipsoid.maximumRadius;else{h.clone(o,O8);let _=qbt;M.multiplyByPoint(oo.TRANSFORM_2D,o,_.origin),M.multiplyByPointAsVector(oo.TRANSFORM_2D,r,_.direction);let C=n.globe;if(l(C)){let V=C.pickWorldCoordinates(_,n,!0,$bt);l(V)&&(M.multiplyByPoint(oo.TRANSFORM_2D_INVERSE,V,d),d.z+=h.distance(o,d))}}let u=jbt;u.right=d.z*.5,u.left=-u.right,u.top=u.right*(n.drawingBufferHeight/n.drawingBufferWidth),u.bottom=-u.top;let m=egt;m.position=d,m.direction=a,m.up=c,m.frustum=u;let p=aTe(m);t9(e,p);function g(_){am(o,d,_.time,i.position),am(r,a,_.time,i.direction),am(s,c,_.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function f(_,C){_.position.z=C}let x=n.tweens.add({duration:t,easingFunction:Or.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){nTe(e,t,m,f,p)}});e._currentTweens.push(x)}var K_e=new he,ngt={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new Xr},igt={position:new h,direction:new h,up:new h,frustum:void 0},ogt=new h,rgt=new gn,sgt=new M,agt=new h;function cgt(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=ngt;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,K_e),i.mapProjection.project(K_e,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let m=rgt;h.clone(r.position2D,m.origin);let p=h.clone(o.directionWC,m.direction),g=n.scaleToGeodeticSurface(o.positionWC,agt),f=Ft.eastNorthUpToFixedFrame(g,n,sgt);M.inverseTransformation(f,f),M.multiplyByPointAsVector(f,p,p),M.multiplyByPointAsVector(oo.TRANSFORM_2D,p,p);let x=i.globe;if(l(x)){let _=x.pickWorldCoordinates(m,i,!0,ogt);if(l(_)){let C=h.distance(r.position2D,_);_.x+=C,h.clone(_,r.position2D)}}}function s(m,p){m.position.x=p}M.multiplyByPoint(oo.TRANSFORM_2D,r.position,r.position2D),M.multiplyByPointAsVector(oo.TRANSFORM_2D,r.direction,r.direction2D),M.multiplyByPointAsVector(oo.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=igt;M.multiplyByPoint(oo.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let d=aTe(c);t9(e,d);function u(){nTe(e,t,r,s,d)}oTe(e,t,r,u)}function iTe(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=W.RADIANS_PER_DEGREE*.5,d=s*Math.tan(a*.5);r.frustum.far=d/Math.tan(c*.5)+1e7,r.frustum.fov=c;function u(p){r.frustum.fov=W.lerp(c,a,p.time),r.position.z=d/Math.tan(r.frustum.fov*.5)}let m=o.tweens.add({duration:t,easingFunction:Or.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:u,complete:function(){i(e)}});e._currentTweens.push(m)}function lgt(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,H8),a=h.clone(n.direction,eTe),c=h.clone(n.up,tTe);o._mode=oe.MORPHING;function d(){r.frustum=n.frustum.clone();let u=h.clone(r.position,j_e),m=h.clone(r.direction,q_e),p=h.clone(r.up,$_e);u.z=s.z;function g(x){am(u,s,x.time,r.position),am(m,a,x.time,r.direction),am(p,c,x.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let f=o.tweens.add({duration:t,easingFunction:Or.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(f)}e._morphToOrthographic?d():iTe(e,0,n,d)}function oTe(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,j_e),a=h.clone(r.direction,q_e),c=h.clone(r.up,$_e),d=h.clone(n.position2D,H8),u=h.clone(n.direction2D,eTe),m=h.clone(n.up2D,tTe);function p(f){am(s,d,f.time,r.position),am(a,u,f.time,r.direction),am(c,m,f.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:Or.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){rTe(e,o,1,0,t,i)}});e._currentTweens.push(g)}function rTe(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Or.QUARTIC_OUT};l(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function sTe(e){return function(t){let n=t._scene;n._mode=oe.SCENE3D,n.morphTime=oe.getMorphTime(oe.SCENE3D),k3(t);let i=n.camera;(t._previousMode!==oe.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,oe.SCENE3D,r)}}function aTe(e){return function(t){let n=t._scene;n._mode=oe.SCENE2D,n.morphTime=oe.getMorphTime(oe.SCENE2D),k3(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,oe.SCENE2D,o)}}function dgt(e){return function(t){let n=t._scene;n._mode=oe.COLUMBUS_VIEW,n.morphTime=oe.getMorphTime(oe.COLUMBUS_VIEW),k3(t);let i=n.camera;(t._previousModeMode!==oe.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,oe.COLUMBUS_VIEW,r)}}var n9=sS;var _Ki=T(S(),1);var zHi=T(S(),1);function U3(e,t,n,i,o,r,s,a,c,d){this._tweens=e,this._tweenjs=t,this._startObject=ze(n),this._stopObject=ze(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=d,this.needsStart=!0}Object.defineProperties(U3.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});U3.prototype.cancelTween=function(){this._tweens.remove(this)};function Fh(){this._tweens=[]}Object.defineProperties(Fh.prototype,{length:{get:function(){return this._tweens.length}}});Fh.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return l(e.complete)&&e.complete(),new U3(this);let t=e.duration/Jn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Jn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,Or.LINEAR_NONE),r=e.startObject,s=new obe(r);s.to(ze(e.stopObject),t),s.delay(i),s.easing(o),l(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new U3(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};Fh.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};Fh.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&l(t.uniforms[o])&&l(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};Fh.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};Fh.prototype.remove=function(e){if(!l(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),l(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};Fh.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),l(n.cancel)&&n.cancel()}e.length=0};Fh.prototype.contains=function(e){return l(e)&&this._tweens.indexOf(e)!==-1};Fh.prototype.get=function(e){return this._tweens[e]};Fh.prototype.update=function(e){let t=this._tweens,n=0;for(e=l(e)?e/Jn.SECONDS_PER_MILLISECOND:_i();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var aS=Fh;function o9(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.zoomFactor=5,this.translateEventTypes=Wi.LEFT_DRAG,this.zoomEventTypes=[Wi.RIGHT_DRAG,Wi.WHEEL,Wi.PINCH],this.rotateEventTypes=Wi.LEFT_DRAG,this.tiltEventTypes=[Wi.MIDDLE_DRAG,Wi.PINCH,{eventType:Wi.LEFT_DRAG,modifier:qs.CTRL},{eventType:Wi.RIGHT_DRAG,modifier:qs.CTRL}],this.lookEventTypes={eventType:Wi.LEFT_DRAG,modifier:qs.SHIFT};let t=y(e.ellipsoid,ne.default);this.minimumPickingTerrainHeight=ne.WGS84.equals(t)?15e4:t.minimumRadius*.025,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=ne.WGS84.equals(t)?4e3:t.minimumRadius*63e-5,this.minimumCollisionTerrainHeight=ne.WGS84.equals(t)?15e3:t.minimumRadius*.0025,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=ne.WGS84.equals(t)?75e5:t.minimumRadius*1.175,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.maximumTiltAngle=void 0,this._scene=e,this._globe=void 0,this._ellipsoid=t,this._lastGlobeHeight=0,this._aggregator=new Uw(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new aS,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new D(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new D(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new D,this._strafeEndMousePosition=new D,this._zoomMouseStart=new D(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._panLastMousePosition=new D,this._panLastWorldPosition=new h,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let n=e.mapProjection;this._maxCoord=n.project(new he(Math.PI,W.PI_OVER_TWO)),this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function ugt(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function mgt(e){return D.equalsEpsilon(e.startPosition,e.endPosition,W.EPSILON14)}var hgt=.4;function fgt(e,t,n,i,o,r,s){let a=r[s];l(a)||(a=r[s]={startPosition:new D,endPosition:new D,motion:new D,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),d=e.getButtonReleaseTime(t,n),u=c&&d&&(d.getTime()-c.getTime())/1e3,p=d&&(new Date().getTime()-d.getTime())/1e3;if(c&&d&&u<hgt){let g=ugt(p,i),f=e.getLastMovement(t,n);if(!l(f)||mgt(f)||!a.inertiaEnabled||(a.motion.x=(f.endPosition.x-f.startPosition.x)*.5,a.motion.y=(f.endPosition.y-f.startPosition.y)*.5,a.startPosition=D.clone(f.startPosition,a.startPosition),a.endPosition=D.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=D.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||D.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let x=e.getStartMousePosition(t,n);o(r,x,a)}}}function pgt(e,t){if(l(t)){let n=e[t];l(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(l(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],l(n)&&(n.inertiaEnabled=!1)}}}var cTe=[];function dl(e,t,n,i,o,r){if(!l(n))return;let s=e._aggregator;Array.isArray(n)||(cTe[0]=n,n=cTe);let a=n.length;for(let c=0;c<a;++c){let d=n[c],u=l(d.eventType)?d.eventType:d,m=d.modifier,p=s.isMoving(u,m)&&s.getMovement(u,m),g=s.getStartMousePosition(u,m);e.enableInputs&&t&&(p?(i(e,g,p),pgt(e,r)):o<1&&fgt(s,u,m,o,i,e,r))}}var D3=new gn,bgt=new h,ggt=new D,ygt=new h,xgt=new D,_gt=new h,Tgt=new h,Sgt=new h,Cgt=new h,_Te=new h,Vgt=new h,Lgt=new h,Rgt=new h,Zgt=new h,Ggt=new h,Egt=new h,Igt=new h,Xgt=new h,Wgt=new h,Pgt=new h,cS=new h,lTe=new h,dTe=new h,K8={orientation:new Ea};function n7(e,t,n,i,o,r){let s=1;l(r)&&(s=W.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,d=a>0?e.minimumZoomDistance*s:0,u=e.maximumZoomDistance,m=o-d,p=i*m;p=W.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let f=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!l(e._globe)){if(f>0&&Math.abs(o-d)<1||f<0&&Math.abs(o-u)<1)return;o-f<d?f=o-d-1:o-f>u&&(f=o-u)}let x=e._scene,_=x.camera,C=x.mode,V=K8.orientation;if(V.heading=_.heading,V.pitch=_.pitch,V.roll=_.roll,_.frustum instanceof ln){Math.abs(f)>0&&(_.zoomIn(f),_._adjustOrthographicFrustum(!0));return}let L=y(n.inertiaEnabled,D.equals(t,e._zoomMouseStart)),Z=e._zoomingOnVector,G=e._rotatingZoom,I;if(L||(e._zoomMouseStart=D.clone(t,e._zoomMouseStart),l(e._globe)&&C===oe.SCENE2D?(I=_.getPickRay(t,D3).origin,I=h.fromElements(I.y,I.z,I.x)):l(e._globe)&&(I=xb(e,t,bgt)),l(I)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(I,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,Z=e._zoomingOnVector=!1,G=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){_.zoomIn(f);return}let v=C===oe.COLUMBUS_VIEW;if(_.positionCartographic.height<2e6&&(G=!0),!L||G){if(C===oe.SCENE2D){let P=e._zoomWorldPosition,w=_.position;if(!h.equals(P,w)&&_.positionCartographic.height<e._maxCoord.x*2){let F=_.position.x,b=h.subtract(P,w,ygt);h.normalize(b,b);let R=h.distance(P,w)*f/(_.getMagnitude()*.5);_.move(b,R*.5),(_.position.x<0&&F>0||_.position.x>0&&F<0)&&(I=_.getPickRay(t,D3).origin,I=h.fromElements(I.y,I.z,I.x),e._zoomWorldPosition=h.clone(I,e._zoomWorldPosition))}}else if(C===oe.SCENE3D){let P=h.normalize(_.position,_Te);if(e._cameraUnderground||e._zoomingUnderground||_.positionCartographic.height<3e3&&Math.abs(h.dot(_.direction,P))<.6)v=!0;else{let w=x.canvas,F=xgt;F.x=w.clientWidth/2,F.y=w.clientHeight/2;let b=xb(e,F,_gt);if(!l(b))v=!0;else if(_.positionCartographic.height<1e6)if(h.dot(_.direction,P)>=-.5)v=!0;else{let R=Lgt;h.clone(_.position,R);let E=e._zoomWorldPosition,X=Vgt;if(X=h.normalize(E,X),h.dot(X,P)<0)return;let A=Pgt,N=Ggt;h.clone(_.direction,N),h.add(R,h.multiplyByScalar(N,1e3,cS),A);let O=Egt,U=Igt;h.subtract(E,R,O),h.normalize(O,U);let Y=h.dot(P,U);if(Y>=0){e._zoomMouseStart.x=-1;return}let k=Math.acos(-Y),J=h.magnitude(R),z=h.magnitude(E),te=J-f,H=h.magnitude(O),q=Math.asin(W.clamp(H/z*Math.sin(k),-1,1)),ee=Math.asin(W.clamp(te/z*Math.sin(k),-1,1)),pe=q-ee+k,_e=Rgt;h.normalize(R,_e);let ae=Zgt;ae=h.cross(U,_e,ae),ae=h.normalize(ae,ae),h.normalize(h.cross(_e,ae,cS),N),h.multiplyByScalar(h.normalize(A,cS),h.magnitude(A)-f,A),h.normalize(R,R),h.multiplyByScalar(R,te,R);let ye=Xgt;h.multiplyByScalar(h.add(h.multiplyByScalar(_e,Math.cos(pe)-1,lTe),h.multiplyByScalar(N,Math.sin(pe),dTe),cS),te,ye),h.add(R,ye,R),h.normalize(A,_e),h.normalize(h.cross(_e,ae,cS),N);let Te=Wgt;h.multiplyByScalar(h.add(h.multiplyByScalar(_e,Math.cos(pe)-1,lTe),h.multiplyByScalar(N,Math.sin(pe),dTe),cS),h.magnitude(A),Te),h.add(A,Te,A),h.clone(R,_.position),h.normalize(h.subtract(A,R,cS),_.direction),h.clone(_.direction,_.direction),h.cross(_.direction,_.up,_.right),h.cross(_.right,_.direction,_.up),_.setView(K8);return}else{let R=h.normalize(b,Tgt),E=h.normalize(e._zoomWorldPosition,Sgt),X=h.dot(E,R);if(X>0&&X<1){let A=W.acosClamped(X),N=h.cross(E,R,Cgt),O=Math.abs(A)>W.toRadians(20)?_.positionCartographic.height*.75:_.positionCartographic.height-f,U=f/O;_.rotate(N,A*U)}}}}e._rotatingZoom=!v}if(!L&&v||Z){let P,w=Mi.worldToWindowCoordinates(x,e._zoomWorldPosition,ggt);C!==oe.COLUMBUS_VIEW&&D.equals(t,e._zoomMouseStart)&&l(w)?P=_.getPickRay(w,D3):P=_.getPickRay(t,D3);let F=P.direction;(C===oe.COLUMBUS_VIEW||C===oe.SCENE2D)&&h.fromElements(F.y,F.z,F.x,F),_.move(F,f),e._zoomingOnVector=!0}else _.zoomIn(f);e._cameraUnderground||_.setView(K8)}var vgt=new gn,wgt=new gn,Fgt=new h;function Agt(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,vgt).origin,s=o.getPickRay(n.endPosition,wgt).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,Fgt),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function uTe(e,t,n){l(n.distance)&&(n=n.distance);let o=e._scene.camera;n7(e,t,n,e.zoomFactor,o.getMagnitude())}var Mgt=new D,Ngt=new D;function mTe(e,t,n){if(l(n.angleAndHeight)){kgt(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=Mgt;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=D.normalize(c,c);let d=Ngt;d.x=2/s*n.endPosition.x-1,d.y=2/a*(a-n.endPosition.y)-1,d=D.normalize(d,d);let u=W.acosClamped(c.x);c.y<0&&(u=W.TWO_PI-u);let m=W.acosClamped(d.x);d.y<0&&(m=W.TWO_PI-m);let p=m-u;o.twistRight(p)}function kgt(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function Ugt(e){let t=e._scene.mapMode2D===Jl.ROTATE;M.equals(M.IDENTITY,e._scene.camera.transform)?(dl(e,e.enableTranslate,e.translateEventTypes,Agt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),dl(e,e.enableZoom,e.zoomEventTypes,uTe,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&dl(e,e.enableRotate,e.tiltEventTypes,mTe,e.inertiaSpin,"_lastInertiaTiltMovement")):(dl(e,e.enableZoom,e.zoomEventTypes,uTe,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&dl(e,e.enableRotate,e.translateEventTypes,mTe,e.inertiaSpin,"_lastInertiaSpinMovement"))}var TTe=new gn,Dgt=new h,Bgt=new h;function xb(e,t,n){let i=e._scene,o=e._globe,r=i.camera,s;if(i.pickPositionSupported&&(s=i.pickPositionWorldCoordinates(t,Dgt)),!l(o))return h.clone(s,n);let a=!e._cameraUnderground,c=r.getPickRay(t,TTe),d=o.pickWorldCoordinates(c,i,a,Bgt),u=l(s)?h.distance(s,r.positionWC):Number.POSITIVE_INFINITY,m=l(d)?h.distance(d,r.positionWC):Number.POSITIVE_INFINITY;return u<m?h.clone(s,n):h.clone(d,n)}var Ogt=new he;function J3(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===oe.SCENE3D){let c=t.cartesianToCartographic(i.position,Ogt);l(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var Ygt=new h;function STe(e,t){let n=t.origin,i=t.direction,o=J3(e),r=h.normalize(n,Ygt),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function CTe(e,t,n,i){let o=h.distance(t.origin,n),r=J3(e),s=W.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),gn.getPoint(t,o,i)}function VTe(e,t,n,i){let o;return l(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=J3(e))):o=J3(e),gn.getPoint(t,o,i)}var zgt=new D;function LTe(e,t){let n=t.endPosition,i=D.subtract(t.endPosition,t.startPosition,zgt),o=e._strafeEndMousePosition;D.add(o,i,o),t.endPosition=o,i7(e,t,e._strafeStartPosition),t.endPosition=n}var hTe=new gn,Hgt=new gn,J8=new h,Kgt=new h,Jgt=new h,Qgt=new h,jgt=new dn(h.UNIT_X,0),qgt=new D,$gt=new D;function eyt(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){nu(e,t,n);return}if(e._strafing){LTe(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=D.clone(n.startPosition,qgt),a=D.clone(n.endPosition,$gt),c=o.getPickRay(s,hTe),d=h.clone(h.ZERO,Qgt),u=h.UNIT_X,m;if(o.position.z<e._minimumPickingTerrainHeight&&(m=xb(e,s,J8),l(m)&&(d.x=m.x)),r||d.x>o.position.z&&l(m)){let L=m;r&&(L=VTe(e,c,m,J8)),D.clone(t,e._strafeMousePosition),D.clone(t,e._strafeEndMousePosition),h.clone(L,e._strafeStartPosition),e._strafing=!0,i7(e,n,e._strafeStartPosition);return}let p=dn.fromPointNormal(d,u,jgt);c=o.getPickRay(s,hTe);let g=ei.rayPlane(c,p,J8),f=o.getPickRay(a,Hgt),x=ei.rayPlane(f,p,Kgt);if(!l(g)||!l(x)){e._looking=!0,nu(e,t,n),D.clone(t,e._translateMousePosition);return}let _=h.subtract(g,x,Jgt),C=_.x;_.x=_.y,_.y=_.z,_.z=C;let V=h.magnitude(_);V>W.EPSILON6&&(h.normalize(_,_),o.move(_,V))}var RTe=new D,Y3=new gn,z3=new h,tyt=new h,ZTe=new M,nyt=new M,iyt=new h,oyt=new dn(h.UNIT_X,0),Q8=new h,$8=new he,GTe=new M,ryt=new Ae,syt=new $,H3=new h;function ayt(e,t,n){if(l(n.angleAndHeight)&&(n=n.angleAndHeight),D.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){nu(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,cyt(e,t,n)):lyt(e,t,n)}function cyt(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=RTe;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,Y3),c=h.UNIT_X,d=a.origin,u=a.direction,m,p=h.dot(c,u);if(Math.abs(p)>W.EPSILON6&&(m=-h.dot(c,d)/p),!l(m)||m<=0){e._looking=!0,nu(e,t,n),D.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(u,m,z3);h.add(d,g,g);let f=i.mapProjection,x=f.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let _=f.unproject(g,$8);x.cartographicToCartesian(_,g);let C=Ft.eastNorthUpToFixedFrame(g,x,ZTe),V=e._globe,L=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let Z=M.clone(o.transform,GTe);o._setTransform(C),tu(e,t,n,h.UNIT_Z),o._setTransform(Z),e._globe=V,e._ellipsoid=L;let G=L.maximumRadius;e._rotateFactor=1/G,e._rotateRateRangeAdjustment=G}function lyt(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(D.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,z3);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=xb(e,t,z3)),!l(s)){a=o.getPickRay(t,Y3);let b=a.origin,R=a.direction,E,X=h.dot(c,R);if(Math.abs(X)>W.EPSILON6&&(E=-h.dot(c,b)/X),!l(E)||E<=0){e._looking=!0,nu(e,t,n),D.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(R,E,z3),h.add(b,s,s)}r&&(l(a)||(a=o.getPickRay(t,Y3)),CTe(e,a,s,s)),D.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let d=i.canvas,u=RTe;u.x=d.clientWidth/2,u.y=e._tiltCenterMousePosition.y,a=o.getPickRay(u,Y3);let m=h.clone(h.ZERO,iyt);m.x=s.x;let p=dn.fromPointNormal(m,c,oyt),g=ei.rayPlane(a,p,tyt),f=o._projection,x=f.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let _=f.unproject(s,$8);x.cartographicToCartesian(_,s);let C=Ft.eastNorthUpToFixedFrame(s,x,ZTe),V;l(g)?(h.fromElements(g.y,g.z,g.x,g),_=f.unproject(g,$8),x.cartographicToCartesian(_,g),V=Ft.eastNorthUpToFixedFrame(g,x,nyt)):V=C;let L=e._globe,Z=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let G=h.UNIT_Z,I=M.clone(o.transform,GTe);o._setTransform(C);let v=h.cross(h.UNIT_Z,h.normalize(o.position,Q8),Q8),P=h.dot(o.right,v);if(tu(e,t,n,G,!1,!0),o._setTransform(V),P<0){let b=n.startPosition.y-n.endPosition.y;(r&&b<0||!r&&b>0)&&(G=void 0);let R=o.constrainedAxis;o.constrainedAxis=void 0,tu(e,t,n,G,!0,!1),o.constrainedAxis=R}else tu(e,t,n,G,!0,!1);if(l(o.constrainedAxis)){let b=h.cross(o.direction,o.constrainedAxis,H3);h.equalsEpsilon(b,h.ZERO,W.EPSILON6)||(h.dot(b,o.right)<0&&h.negate(b,b),h.cross(b,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(I),e._globe=L,e._ellipsoid=Z;let w=Z.maximumRadius;e._rotateFactor=1/w,e._rotateRateRangeAdjustment=w;let F=h.clone(o.positionWC,Q8);if(e.enableCollisionDetection&&s7(e,!0),!h.equals(o.positionWC,F)){o._setTransform(V),o.worldToCameraCoordinatesPoint(F,F);let b=h.magnitudeSquared(F);h.magnitudeSquared(o.position)>b&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(b),o.position));let R=h.angleBetween(F,o.position),E=h.cross(F,o.position,F);h.normalize(E,E);let X=Ae.fromAxisAngle(E,R,ryt),A=$.fromQuaternion(X,syt);$.multiplyByVector(A,o.direction,o.direction),$.multiplyByVector(A,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(I)}}var ETe=new D,ITe=new gn,XTe=new h;function dyt(e,t,n){l(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=ETe,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,ITe),d=c.origin,u=c.direction,m=o.position.z,p;m<e._minimumPickingTerrainHeight&&(p=xb(e,a,XTe));let g;if(l(p)&&(g=h.distance(d,p)),s){let f=STe(e,c,m);l(g)?g=Math.min(g,f):g=f}if(!l(g)){let f=h.UNIT_X;g=-h.dot(f,d)/h.dot(f,u)}n7(e,t,n,e.zoomFactor,g)}function uyt(e){let n=e._scene.camera;if(!M.equals(M.IDENTITY,n.transform))dl(e,e.enableRotate,e.rotateEventTypes,tu,e.inertiaSpin,"_lastInertiaSpinMovement"),dl(e,e.enableZoom,e.zoomEventTypes,PTe,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),dl(e,e.enableTilt,e.tiltEventTypes,ayt,e.inertiaSpin,"_lastInertiaTiltMovement"),dl(e,e.enableTranslate,e.translateEventTypes,eyt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),dl(e,e.enableZoom,e.zoomEventTypes,dyt,e.inertiaZoom,"_lastInertiaZoomMovement"),dl(e,e.enableLook,e.lookEventTypes,nu),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);l(o)&&(e._tween=i.add(o))}i.update()}}var myt=new gn,hyt=new dn(h.UNIT_X,0),fyt=new h,pyt=new h;function i7(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,myt),s=h.clone(o.direction,pyt);i.mode===oe.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=dn.fromPointNormal(n,s,hyt),c=ei.rayPlane(r,a,fyt);l(c)&&(s=h.subtract(n,c,s),i.mode===oe.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var fTe=new h,WTe=new he,e7=new h,t7=new ne,byt=new h,gyt=new h,yyt=new h;function xyt(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!M.equals(o.transform,M.IDENTITY)){tu(e,t,n);return}let a,c,d=s.geodeticSurfaceNormal(o.position,byt);if(D.equals(t,e._rotateMousePosition)){if(e._looking)nu(e,t,n,d);else if(e._rotating)tu(e,t,n);else if(e._strafing)LTe(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=e7,c.x=c.y=c.z=a,s=ne.fromCartesian3(c,t7),q8(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let u=s.cartesianToCartographic(o.positionWC,WTe).height,m=e._globe;if(l(m)&&u<e._minimumPickingTerrainHeight){let p=xb(e,n.startPosition,yyt);if(l(p)){let g=!1,f=o.getPickRay(n.startPosition,TTe);if(r)g=!0,VTe(e,f,p,p);else{let x=s.geodeticSurfaceNormal(p,gyt);Math.abs(h.dot(f.direction,x))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(D.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,i7(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=e7,c.x=c.y=c.z=a,s=ne.fromCartesian3(c,t7),q8(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,nu(e,t,n,d)}else l(o.pickEllipsoid(n.startPosition,e._ellipsoid,fTe))?(q8(e,t,n,e._ellipsoid),h.clone(fTe,e._rotateStartPosition)):u>e._minimumTrackBallHeight?(e._rotating=!0,tu(e,t,n)):(e._looking=!0,nu(e,t,n,d));D.clone(t,e._rotateMousePosition)}function tu(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,d=a.constrainedAxis;l(i)&&(a.constrainedAxis=i);let u=h.magnitude(a.position),m=e._rotateFactor*(u-e._rotateRateRangeAdjustment);m>e._maximumRotateRate&&(m=e._maximumRotateRate),m<e._minimumRotateRate&&(m=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let f=m*p*Math.PI*2,x=m*g*Math.PI;if(l(i)&&l(e.maximumTiltAngle)){let _=e.maximumTiltAngle,C=h.dot(a.direction,i),V=Math.PI-Math.acos(C)+x;V>_&&(x-=V-_)}o||a.rotateRight(f),r||a.rotateUp(x),a.constrainedAxis=d}var j8=se.clone(se.UNIT_W),pTe=se.clone(se.UNIT_W),B3=new h,yL=new h,O3=new h,bTe=new h,_yt=new D,Tyt=new D,Syt=new D,Cyt=new D,Vyt=new gn;function q8(e,t,n,i){let o=e._scene,r=o.camera,s=D.clone(n.startPosition,_yt),a=D.clone(n.endPosition,Tyt),c=i.cartesianToCartographic(r.positionWC,WTe).height,d,u;if(!n.inertiaEnabled&&c<e._minimumPickingTerrainHeight&&(d=h.clone(e._panLastWorldPosition,j8),!l(e._globe)&&!D.equalsEpsilon(s,e._panLastMousePosition)&&(d=xb(e,s,j8)),!l(e._globe)&&l(d))){let m=h.subtract(d,r.positionWC,yL),p=h.multiplyByScalar(r.directionWC,h.dot(r.directionWC,m),yL),g=h.magnitude(p),f=r.frustum.getPixelDimensions(o.drawingBufferWidth,o.drawingBufferHeight,g,o.pixelRatio,Cyt),x=D.subtract(a,s,Syt),_=h.multiplyByScalar(r.rightWC,x.x*f.x,yL),C=h.normalize(r.positionWC,_Te),V=r.getPickRay(a,Vyt).direction,L=h.subtract(V,h.projectVector(V,r.rightWC,O3),O3),Z=h.angleBetween(L,r.directionWC),G=1;l(r.frustum.fov)&&(G=Math.max(Math.tan(Z),.1));let I=Math.abs(h.dot(r.directionWC,C)),v=-x.y*f.y*2/Math.sqrt(G)*(1-I),P=h.multiplyByScalar(V,v,O3);I=Math.abs(h.dot(r.upWC,C));let w=h.multiplyByScalar(r.upWC,-x.y*(1-I)*f.y,bTe);u=h.add(d,_,pTe),u=h.add(u,P,u),u=h.add(u,w,u),h.clone(u,e._panLastWorldPosition),D.clone(a,e._panLastMousePosition)}if((!l(d)||!l(u))&&(d=r.pickEllipsoid(s,i,j8),u=r.pickEllipsoid(a,i,pTe)),!l(d)||!l(u)){e._rotating=!0,tu(e,t,n);return}if(d=r.worldToCameraCoordinates(d,d),u=r.worldToCameraCoordinates(u,u),l(r.constrainedAxis)){let m=r.constrainedAxis,p=h.mostOrthogonalAxis(m,B3);h.cross(p,m,p),h.normalize(p,p);let g=h.cross(m,p,yL),f=h.magnitude(d),x=h.dot(m,d),_=Math.acos(x/f),C=h.multiplyByScalar(m,x,O3);h.subtract(d,C,C),h.normalize(C,C);let V=h.magnitude(u),L=h.dot(m,u),Z=Math.acos(L/V),G=h.multiplyByScalar(m,L,bTe);h.subtract(u,G,G),h.normalize(G,G);let I=Math.acos(h.dot(C,p));h.dot(C,g)<0&&(I=W.TWO_PI-I);let v=Math.acos(h.dot(G,p));h.dot(G,g)<0&&(v=W.TWO_PI-v);let P=I-v,w;h.equalsEpsilon(m,r.position,W.EPSILON2)?w=r.right:w=h.cross(m,r.position,B3);let F=h.cross(m,w,B3),b=h.dot(F,h.subtract(d,m,yL)),R=h.dot(F,h.subtract(u,m,yL)),E;b>0&&R>0?E=Z-_:b>0&&R<=0?h.dot(r.position,m)>0?E=-_-Z:E=_+Z:E=_-Z,r.rotateRight(P),r.rotateUp(E)}else{h.normalize(d,d),h.normalize(u,u);let m=h.dot(d,u),p=h.cross(d,u,B3);if(m<1&&!h.equalsEpsilon(p,h.ZERO,W.EPSILON14)){let g=Math.acos(m);r.rotate(p,g)}}}var Lyt=new h,Ryt=new he,gTe=0;function PTe(e,t,n){l(n.distance)&&(n=n.distance);let i=n.inertiaEnabled,o=e._ellipsoid,r=e._scene,s=r.camera,a=r.canvas,c=e._cameraUnderground,d;c?d=t:(d=ETe,d.x=a.clientWidth/2,d.y=a.clientHeight/2);let u=s.getPickRay(d,ITe),m,p=o.cartesianToCartographic(s.position,Ryt).height,g=Math.abs(gTe)<e.minimumPickingTerrainDistanceWithInertia;(i?g:p<e._minimumPickingTerrainHeight)&&(m=xb(e,d,XTe));let x;if(l(m)&&(x=h.distance(u.origin,m),gTe=x),c){let C=STe(e,u,p);l(x)?x=Math.min(x,C):x=C}l(x)||(x=p);let _=h.normalize(s.position,Lyt);n7(e,t,n,e.zoomFactor,x,h.dot(_,s.direction))}var vTe=new D,K3=new gn,i9=new h,Zyt=new h,wTe=new M,Gyt=new M,FTe=new M,Eyt=new Ae,Iyt=new $,o7=new he,r7=new h;function Xyt(e,t,n){let o=e._scene.camera;if(!M.equals(o.transform,M.IDENTITY))return;if(l(n.angleAndHeight)&&(n=n.angleAndHeight),D.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,r7);nu(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,o7);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,Pyt(e,t,n)):vyt(e,t,n)}var Wyt=new he;function Pyt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,Wyt).height;if(a-s-1<W.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,d=vTe;d.x=c.clientWidth/2,d.y=c.clientHeight/2;let u=r.getPickRay(d,K3),m,p=ei.rayEllipsoid(u,i);if(l(p))m=gn.getPoint(u,p.start,i9);else if(a>e._minimumTrackBallHeight){let V=ei.grazingAltitudeLocation(u,i);if(!l(V))return;let L=i.cartesianToCartographic(V,o7);L.height=0,m=i.cartographicToCartesian(L,i9)}else{e._looking=!0;let V=e._ellipsoid.geodeticSurfaceNormal(r.position,r7);nu(e,t,n,V),D.clone(t,e._tiltCenterMousePosition);return}let g=Ft.eastNorthUpToFixedFrame(m,i,wTe),f=e._globe,x=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let _=M.clone(r.transform,FTe);r._setTransform(g),tu(e,t,n,h.UNIT_Z),r._setTransform(_),e._globe=f,e._ellipsoid=x;let C=x.maximumRadius;e._rotateFactor=1/C,e._rotateRateRangeAdjustment=C}function vyt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,d;if(D.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,i9);else{if(a=xb(e,t,i9),!l(a)){if(c=r.getPickRay(t,K3),d=ei.rayEllipsoid(c,i),!l(d)){if(i.cartesianToCartographic(r.position,o7).height<=e._minimumTrackBallHeight){e._looking=!0;let R=e._ellipsoid.geodeticSurfaceNormal(r.position,r7);nu(e,t,n,R),D.clone(t,e._tiltCenterMousePosition)}return}a=gn.getPoint(c,d.start,i9)}s&&(l(c)||(c=r.getPickRay(t,K3)),CTe(e,c,a,a)),D.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let u=o.canvas,m=vTe;m.x=u.clientWidth/2,m.y=e._tiltCenterMousePosition.y,c=r.getPickRay(m,K3);let p=h.magnitude(a),g=h.fromElements(p,p,p,e7),f=ne.fromCartesian3(g,t7);if(d=ei.rayEllipsoid(c,f),!l(d))return;let x=h.magnitude(c.origin)>p?d.start:d.stop,_=gn.getPoint(c,x,Zyt),C=Ft.eastNorthUpToFixedFrame(a,i,wTe),V=Ft.eastNorthUpToFixedFrame(_,f,Gyt),L=e._globe,Z=e._ellipsoid;e._globe=void 0,e._ellipsoid=ne.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let G=h.UNIT_Z,I=M.clone(r.transform,FTe);r._setTransform(V);let v=h.cross(_,r.positionWC,H3);if(h.dot(r.rightWC,v)<0){let b=n.startPosition.y-n.endPosition.y;(s&&b<0||!s&&b>0)&&(G=void 0);let R=r.constrainedAxis;r.constrainedAxis=void 0,tu(e,t,n,G,!0,!1),r.constrainedAxis=R}else tu(e,t,n,G,!0,!1);if(r._setTransform(C),tu(e,t,n,G,!1,!0),l(r.constrainedAxis)){let b=h.cross(r.direction,r.constrainedAxis,H3);h.equalsEpsilon(b,h.ZERO,W.EPSILON6)||(h.dot(b,r.right)<0&&h.negate(b,b),h.cross(b,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(I),e._globe=L,e._ellipsoid=Z;let w=Z.maximumRadius;e._rotateFactor=1/w,e._rotateRateRangeAdjustment=w;let F=h.clone(r.positionWC,H3);if(e.enableCollisionDetection&&s7(e,!0),!h.equals(r.positionWC,F)){r._setTransform(V),r.worldToCameraCoordinatesPoint(F,F);let b=h.magnitudeSquared(F);h.magnitudeSquared(r.position)>b&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(b),r.position));let R=h.angleBetween(F,r.position),E=h.cross(F,r.position,F);h.normalize(E,E);let X=Ae.fromAxisAngle(E,R,Eyt),A=$.fromQuaternion(X,Iyt);$.multiplyByVector(A,r.direction,r.direction),$.multiplyByVector(A,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(I)}}var wyt=new D,Fyt=new D,yTe=new gn,xTe=new gn,Ayt=new h,Myt=new h;function nu(e,t,n,i){let r=e._scene.camera,s=wyt;s.x=n.startPosition.x,s.y=0;let a=Fyt;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,yTe),d=r.getPickRay(a,xTe),u=0,m,p;r.frustum instanceof ln?(m=c.origin,p=d.origin,h.add(r.direction,m,m),h.add(r.direction,p,p),h.subtract(m,r.position,m),h.subtract(p,r.position,p),h.normalize(m,m),h.normalize(p,p)):(m=c.direction,p=d.direction);let g=h.dot(m,p);g<1&&(u=Math.acos(g)),u=n.startPosition.x>n.endPosition.x?-u:u;let f=e._horizontalRotationAxis;if(l(i)?r.look(i,-u):l(f)?r.look(f,-u):r.lookLeft(u),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,yTe),d=r.getPickRay(a,xTe),u=0,r.frustum instanceof ln?(m=c.origin,p=d.origin,h.add(r.direction,m,m),h.add(r.direction,p,p),h.subtract(m,r.position,m),h.subtract(p,r.position,p),h.normalize(m,m),h.normalize(p,p)):(m=c.direction,p=d.direction),g=h.dot(m,p),g<1&&(u=Math.acos(g)),u=n.startPosition.y>n.endPosition.y?-u:u,i=y(i,f),l(i)){let x=r.direction,_=h.negate(i,Ayt),C=h.equalsEpsilon(x,i,W.EPSILON2),V=h.equalsEpsilon(x,_,W.EPSILON2);if(!C&&!V){g=h.dot(x,i);let L=W.acosClamped(g);u>0&&u>L&&(u=L-W.EPSILON4),g=h.dot(x,_),L=W.acosClamped(g),u<0&&-u>L&&(u=-L+W.EPSILON4);let Z=h.cross(i,x,Myt);r.look(Z,u)}else(C&&u<0||V&&u>0)&&r.look(r.right,-u)}else r.lookUp(u)}function Nyt(e){dl(e,e.enableRotate,e.rotateEventTypes,xyt,e.inertiaSpin,"_lastInertiaSpinMovement"),dl(e,e.enableZoom,e.zoomEventTypes,PTe,e.inertiaZoom,"_lastInertiaZoomMovement"),dl(e,e.enableTilt,e.tiltEventTypes,Xyt,e.inertiaSpin,"_lastInertiaTiltMovement"),dl(e,e.enableLook,e.lookEventTypes,nu)}var kyt=new M,Uyt=new he;function s7(e,t){e._adjustedHeightForTerrain=!0;let n=e._scene,i=n.mode;if(i===oe.SCENE2D||i===oe.MORPHING)return;let o=n.camera,r=y(n.ellipsoid,ne.WGS84),s=n.mapProjection,a,c;M.equals(o.transform,M.IDENTITY)||(a=M.clone(o.transform,kyt),c=h.magnitude(o.position),o._setTransform(M.IDENTITY));let d=Uyt;i===oe.SCENE3D?r.cartesianToCartographic(o.position,d):s.unproject(o.position,d);let u=!1;if(d.height<e._minimumCollisionTerrainHeight){let m=e._scene.globeHeight;if(l(m)){let p=m+e.minimumZoomDistance,g=m-e._lastGlobeHeight,f=g/e._lastGlobeHeight;d.height<p&&(t||Math.abs(f)<=.1)&&(d.height=p,i===oe.SCENE3D?r.cartographicToCartesian(d,o.position):s.project(d,o.position),u=!0),t||Math.abs(f)<=.1?e._lastGlobeHeight=m:e._lastGlobeHeight+=g*.1}}l(a)&&(o._setTransform(a),u&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}o9.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===oe.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var Dyt=new h,Byt=new h;o9.prototype.update=function(){let e=this._scene,{camera:t,globe:n,mode:i}=e;M.equals(t.transform,M.IDENTITY)?(this._globe=n,this._ellipsoid=y(e.ellipsoid,ne.default)):(this._globe=void 0,this._ellipsoid=ne.UNIT_SPHERE);let{verticalExaggeration:o,verticalExaggerationRelativeHeight:r}=e;this._minimumCollisionTerrainHeight=_r.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=_r.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=_r.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&l(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,Dyt),c=h.clone(t.directionWC,Byt);if(i===oe.SCENE2D?Ugt(this):i===oe.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,uyt(this)):i===oe.SCENE3D&&(this._horizontalRotationAxis=void 0,Nyt(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain){let d=!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC);s7(this,d)}this._aggregator.reset()};o9.prototype.isDestroyed=function(){return!1};o9.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),me(this)};var r9=o9;var BKi=T(S(),1);var SKi=T(S(),1),s9=`uniform sampler2D colorTexture; -uniform sampler2D colorTexture2; +`;var lzi=T(S(),1),oM=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js +#define OCTREE_FLAG_INTERNAL 0 +#define OCTREE_FLAG_LEAF 1 +#define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 -uniform vec2 center; -uniform float radius; +#define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops -in vec2 v_textureCoordinates; +uniform sampler2D u_octreeInternalNodeTexture; +uniform vec2 u_octreeInternalNodeTexelSizeUv; +uniform int u_octreeInternalNodeTilesPerRow; +#if (SAMPLE_COUNT > 1) +uniform sampler2D u_octreeLeafNodeTexture; +uniform vec2 u_octreeLeafNodeTexelSizeUv; +uniform int u_octreeLeafNodeTilesPerRow; +#endif -void main() -{ - vec4 color0 = texture(colorTexture, v_textureCoordinates); - vec4 color1 = texture(colorTexture2, v_textureCoordinates); +struct OctreeNodeData { + int data; + int flag; +}; - float x = length(gl_FragCoord.xy - center) / radius; - float t = smoothstep(0.5, 0.8, x); - out_FragColor = mix(color0 + color1, color1, t); +struct TraversalData { + ivec4 octreeCoords; + int parentOctreeIndex; +}; + +struct SampleData { + int megatextureIndex; + ivec4 tileCoords; + vec3 tileUv; + #if (SAMPLE_COUNT > 1) + float weight; + #endif +}; + +// Integer mod: For WebGL1 only +int intMod(in int a, in int b) { + return a - (b * (a / b)); +} +int normU8_toInt(in float value) { + return int(value * 255.0); +} +int normU8x2_toInt(in vec2 value) { + return int(value.x * 255.0) + 256 * int(value.y * 255.0); +} +float normU8x2_toFloat(in vec2 value) { + return float(normU8x2_toInt(value)) / 65535.0; } -`;var VKi=T(S(),1),a9=`uniform sampler2D colorTexture; -uniform float avgLuminance; -uniform float threshold; -uniform float offset; +OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { + vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); -in vec2 v_textureCoordinates; + OctreeNodeData data; + data.data = normU8x2_toInt(texData.xy); + data.flag = normU8x2_toInt(texData.zw); + return data; +} -float key(float avg) -{ - float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); - return max(0.0, guess) + 0.1; +OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { + int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; + int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; + int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + return getOctreeNodeData(octreeUv); } -// See section 9. "The bright-pass filter" of Realtime HDR Rendering -// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf +int getOctreeParentIndex(in int octreeIndex) { + int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; + int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); + int parentOctreeIndex = normU8x2_toInt(parentData.xy); + return parentOctreeIndex; +} -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - vec3 xyz = czm_RGBToXYZ(color.rgb); - float luminance = xyz.r; +/** +* Convert a position in the uv-space of the tileset bounding shape +* into the uv-space of a tile within the tileset +*/ +vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { + // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) + float dimAtLevel = exp2(float(octreeCoords.w)); + return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); +} - float scaledLum = key(avgLuminance) * luminance / avgLuminance; - float brightLum = max(scaledLum - threshold, 0.0); - float brightness = brightLum / (offset + brightLum); +vec3 getClampedTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { + vec3 tileUv = getTileUv(shapePosition, octreeCoords); + return clamp(tileUv, vec3(0.0), vec3(1.0)); +} - xyz.r = brightness; - out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); +void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { + sampleData.megatextureIndex = data.data; + sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; } -`;function _b(){this._sceneFramebuffer=new jT;let e=.125,t=new Array(6);t[0]=new uo({fragmentShader:ed,textureScale:e,forcePowerOfTwo:!0,sampleMode:qd.LINEAR});let n=t[1]=new uo({fragmentShader:a9,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new D,t[2]=new uo({fragmentShader:Wy,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new uo({fragmentShader:Wy,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new uo({fragmentShader:ed,sampleMode:qd.LINEAR}),this._uCenter=new D,this._uRadius=void 0,t[5]=new uo({fragmentShader:s9,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new cl({stages:t});let o=new oS(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}_b.prototype.get=function(e){return this._stages.get(e)};_b.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var Oyt=new se,ATe=new D,Yyt=new D,MTe=new M;function zyt(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=M.computeViewportTransformation(n,0,1,MTe),d=M.multiplyByPoint(r,o,Oyt),u=Ft.pointToGLWindowCoordinates(s,c,o,ATe);d.x+=W.SOLAR_RADIUS;let m=Ft.pointToGLWindowCoordinates(a,c,d,d),p=D.magnitude(D.subtract(m,u,m))*30*2,g=Yyt;g.x=p,g.y=p,e._uCenter=D.clone(u,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let f=t.drawingBufferWidth,x=t.drawingBufferHeight,_=e._stages,C=_.get(0),V=C.outputTexture.width,L=C.outputTexture.height,Z=new Ke;Z.width=V,Z.height=L,c=M.computeViewportTransformation(Z,0,1,MTe),u=Ft.pointToGLWindowCoordinates(s,c,o,ATe),g.x*=V/f,g.y*=L/x;let G=C.scissorRectangle;G.x=Math.max(u.x-g.x*.5,0),G.y=Math.max(u.y-g.y*.5,0),G.width=Math.min(g.x,f),G.height=Math.min(g.y,x);for(let I=1;I<4;++I)Ke.clone(G,_.get(I).scissorRectangle)}_b.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};_b.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),zyt(this,t,n),o};_b.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};_b.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(ed,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};_b.prototype.isDestroyed=function(){return!1};_b.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),me(this)};var c9=_b;var JKi=T(S(),1);function lS(e,t,n){this._primitive=e,this._tileIndex=t,this._sampleIndex=n,this._metadata={},this._orientedBoundingBox=new Xn}lS.fromKeyframeNode=function(e,t,n,i){let o=new lS(e,t,n),{spatialNode:r,metadata:s}=i;return o._metadata=Hyt(e,s,n),o._orientedBoundingBox=Jyt(e,r,n,o._orientedBoundingBox),o};function Hyt(e,t,n){if(!l(t))return;let{names:i,types:o}=e.provider,r={};for(let s=0;s<i.length;s++){let a=i[s],c=Lt.getComponentCount(o[s]),d=t[s].slice(n*c,(n+1)*c);r[a]=d}return r}var NTe=new h,Kyt=new h;function Jyt(e,t,n,i){let o=t.dimensions,r=o.x*o.y,s=Math.floor(n/r),a=n-s*r,c=Math.floor(a/o.x),d=a-c*o.x,u=h.fromElements(d,c,s,NTe),m=h.divideComponents(h.subtract(u,e._paddingBefore,NTe),e.dimensions,Kyt);return e._shape.computeOrientedBoundingBoxForSample(t,e.dimensions,m,i)}Object.defineProperties(lS.prototype,{metadata:{get:function(){return this._metadata}},primitive:{get:function(){return this._primitive}},sampleIndex:{get:function(){return this._sampleIndex}},tileIndex:{get:function(){return this._tileIndex}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox.clone()}}});lS.prototype.hasProperty=function(e){return l(this._metadata[e])};lS.prototype.getNames=function(){return Object.keys(this._metadata)};lS.prototype.getProperty=function(e){return this._metadata[e]};var l9=lS;var SQi=T(S(),1);var VJi=T(S(),1);var rJi=T(S(),1);function cm(e,t,n,i,o,r,s){this.children=void 0,this.parent=o,this.level=e,this.x=t,this.y=n,this.z=i,this.dimensions=h.clone(s),this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new Xn,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(r)}var Qyt=new h;cm.prototype.computeBoundingVolumes=function(e){this.orientedBoundingBox=e.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let t=$.getScale(this.orientedBoundingBox.halfAxes,Qyt),n=2*h.maximumComponent(t);this.approximateVoxelSize=n/h.minimumComponent(this.dimensions)};cm.prototype.constructChildNodes=function(e){let{level:t,x:n,y:i,z:o}=this,r=n*2,s=i*2,a=o*2,c=s+1,d=r+1,u=a+1,m=t+1,p=[[m,r,s,a],[m,d,s,a],[m,r,c,a],[m,d,c,a],[m,r,s,u],[m,d,s,u],[m,r,c,u],[m,d,c,u]];this.children=p.map(([g,f,x,_])=>new cm(g,f,x,_,this,e,this.dimensions))};cm.prototype.visibility=function(e,t){let n=this.orientedBoundingBox;return e.cullingVolume.computeVisibilityWithPlaneMask(n,t)};cm.prototype.computeScreenSpaceError=function(e,t){let n=this.orientedBoundingBox,i=Math.sqrt(n.distanceSquaredTo(e));i=Math.max(i,W.EPSILON7);let o=this.approximateVoxelSize,r=t*(o/i);this.screenSpaceError=r};var kTe={keyframe:0};function d9(e,t){return kTe.keyframe=e,Go(t,kTe,qi.searchComparator)}cm.prototype.computeSurroundingRenderableKeyframeNodes=function(e){let t=this,n=t.level,i=Math.floor(e),o=Math.ceil(e),r,s,a=+Number.MAX_VALUE,c=+Number.MAX_VALUE;for(;l(t);){let{renderableKeyframeNodes:m}=t;if(m.length>=1){let p=jyt(i,m),g=m[p],f=o===i||i<g.keyframe?p:Math.min(p+1,m.length-1),x=m[f],_=i-g.keyframe,C=UTe(n-t.level,_);C<a&&(a=C,r=g);let V=x.keyframe-o,L=UTe(n-t.level,V);if(L<c&&(c=L,s=x),_===0&&V===0)break}t=t.parent}if(this.renderableKeyframeNodePrevious=r,this.renderableKeyframeNodeNext=s,!l(r)||!l(s))return;let d=r.keyframe,u=s.keyframe;this.renderableKeyframeNodeLerp=d===u?0:W.clamp((e-d)/(u-d),0,1)};function jyt(e,t){let n=d9(e,t);return n<0?W.clamp(~n-1,0,t.length-1):n}function UTe(e,t){let n=Math.exp(e*4),i=t>=0?1:-200;return e*n+t*i}cm.prototype.isVisited=function(e){return this.visitedFrameNumber===e};cm.prototype.createKeyframeNode=function(e){let t=d9(e,this.keyframeNodes);if(t<0){t=~t;let n=new qi(this,e);this.keyframeNodes.splice(t,0,n)}};cm.prototype.destroyKeyframeNode=function(e,t){let n=e.keyframe,i=d9(n,this.keyframeNodes);if(i<0)throw new fe("Keyframe node does not exist.");if(this.keyframeNodes.splice(i,1),e.megatextureIndex!==-1){for(let r=0;r<t.length;r++)t[r].remove(e.megatextureIndex);let o=d9(n,this.renderableKeyframeNodes);if(o<0)throw new fe("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(o,1)}e.spatialNode=void 0,e.state=qi.LoadState.UNLOADED,e.metadata={},e.megatextureIndex=-1,e.priority=-Number.MAX_VALUE,e.highPriorityFrameNumber=-1};cm.prototype.addKeyframeNodeToMegatextures=function(e,t){if(e.state!==qi.LoadState.RECEIVED||e.megatextureIndex!==-1||e.metadata.length!==t.length)throw new fe("Keyframe node cannot be added to megatexture");for(let o=0;o<t.length;o++){let r=t[o];e.megatextureIndex=r.add(e.metadata[o])}e.state=qi.LoadState.LOADED;let n=this.renderableKeyframeNodes,i=d9(e.keyframe,n);if(i>=0)throw new fe("Keyframe already renderable");i=~i,n.splice(i,0,e)};cm.prototype.isRenderable=function(e){let t=this.renderableKeyframeNodePrevious,n=this.renderableKeyframeNodeNext,i=this.level;return l(t)&&l(n)&&(t.spatialNode.level===i||n.spatialNode.level===i)&&this.visitedFrameNumber===e};var u9=cm;function Tb(e,t,n,i,o,r,s){this._primitive=e,this.megatextures=new Array(i.length);for(let f=0;f<i.length;f++){let x=i[f],_=Lt.getComponentCount(x),C=o[f];this.megatextures[f]=new mL(t,n,_,C,s)}let a=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let c=e._shape;this.rootNode=new u9(0,0,0,0,void 0,c,n),this._priorityQueue=new GT({maximumLength:a,comparator:qi.priorityComparator}),this._highPriorityKeyframeNodes=new Array(a),this._keyframeNodesInMegatexture=new Array(a),this._keyframeCount=r,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(r);let d=this._binaryTreeKeyframeWeighting;d[0]=0,d[r-1]=0,a7(d,1,r-2,0);let u=9,m=2048,p=Math.floor(m/u),g=Math.ceil(a/p);this.internalNodeTexture=new wt({context:t,pixelFormat:dt.RGBA,pixelDatatype:it.UNSIGNED_BYTE,flipY:!1,width:m,height:g,sampler:new nn({minificationFilter:tn.NEAREST,magnificationFilter:mi.NEAREST})}),this.internalNodeTilesPerRow=p,this.internalNodeTexelSizeUv=new D(1/m,1/g),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new D}Tb.prototype.findKeyframeNode=function(e){return this._keyframeNodesInMegatexture.find(function(t){return t.megatextureIndex===e})};function a7(e,t,n,i){if(t>n)return;let o=Math.floor((t+n)/2);e[o]=i,a7(e,t,o-1,i+1),a7(e,o+1,n,i+1)}Tb.simultaneousRequestCountMaximum=50;Tb.prototype.update=function(e,t,n,i){let o=this._primitive,r=e.context,s=this.megatextures[0].maximumTileCount,a=this._keyframeCount,c=o._levelBlendFactor,d=c>0,u=a>1,m=(d?2:1)*(u?2:1);this._sampleCount=m;let p=m>=2;if(p&&!l(this.leafNodeTexture)){let V=Math.floor(512),L=Math.ceil(s/V);this.leafNodeTexture=new wt({context:r,pixelFormat:dt.RGBA,pixelDatatype:it.UNSIGNED_BYTE,flipY:!1,width:1024,height:L,sampler:new nn({minificationFilter:tn.NEAREST,magnificationFilter:mi.NEAREST})}),this.leafNodeTexelSizeUv=D.fromElements(1/1024,1/L,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=V}else!p&&l(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=W.clamp(t,0,a-1),n&&DTe(this,this.rootNode),i)return;this._frameNumber=e.frameNumber;let g=_i();ext(this,e);let f=_i();ixt(this,m,c);let x=_i();if(this._debugPrint){let _=f-g,C=x-f,V=x-g;nxt(this,_,C,V)}};Tb.prototype.isRenderable=function(e){return e.isRenderable(this._frameNumber)};Tb.prototype.isDestroyed=function(){return!1};Tb.prototype.destroy=function(){let e=this.megatextures,t=e.length;for(let n=0;n<t;n++)e[n]=e[n]&&e[n].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),me(this)};function DTe(e,t){if(t.computeBoundingVolumes(e._primitive._shape),l(t.children))for(let n=0;n<8;n++){let i=t.children[n];DTe(e,i)}}function qyt(e,t){if(e._simultaneousRequestCount>=Tb.simultaneousRequestCountMaximum)return;let n=e._primitive._provider;function i(c){e._simultaneousRequestCount--;let d=n.types.length;if(!l(c))t.state=qi.LoadState.UNAVAILABLE;else if(c===qi.LoadState.FAILED)t.state=qi.LoadState.FAILED;else if(!Array.isArray(c)||c.length!==d)t.state=qi.LoadState.FAILED;else{let u=e.megatextures;for(let m=0;m<d;m++){let{voxelCountPerTile:p,channelCount:g}=u[m],{x:f,y:x,z:_}=p,C=f*x*_,V=c[m],L=C*g;if(V.length===L)t.metadata[m]=V,t.state=qi.LoadState.RECEIVED;else{t.state=qi.LoadState.FAILED;break}}}}function o(){e._simultaneousRequestCount--,t.state=qi.LoadState.FAILED}let{keyframe:r,spatialNode:s}=t,a=n.requestData({tileLevel:s.level,tileX:s.x,tileY:s.y,tileZ:s.z,keyframe:r});l(a)?(e._simultaneousRequestCount++,t.state=qi.LoadState.RECEIVING,a.then(i).catch(o)):t.state=qi.LoadState.FAILED}function $yt(e){return e/(1+e)}function ext(e,t){let n=e._frameNumber,i=e._primitive,o=i._shape,r=i.screenSpaceError,s=e._priorityQueue,a=e._keyframeCount,c=W.clamp(Math.floor(e._keyframeLocation),0,a-2),d=c+1,{camera:u,context:m,pixelRatio:p}=t,{positionWC:g,frustum:f}=u,_=m.drawingBufferHeight/p/f.sseDenominator;function C(F,b){if(F.computeScreenSpaceError(g,_),b=F.visibility(t,b),b===ls.MASK_OUTSIDE)return;if(F.visitedFrameNumber=n,a===1)F.createKeyframeNode(0);else if(F.keyframeNodes.length!==a)for(let N=0;N<a;N++)F.createKeyframeNode(N);let{screenSpaceError:R,keyframeNodes:E}=F,X=$yt(R),A=!1;for(let N=0;N<E.length;N++){let O=E[N];O.priority=10*X+txt(c,O.keyframe,d,e),O.state!==qi.LoadState.UNAVAILABLE&&O.state!==qi.LoadState.FAILED&&O.priority!==-Number.MAX_VALUE&&s.insert(O),O.state===qi.LoadState.LOADED&&(A=!0)}if(R<r||!A){F.children=void 0;return}l(F.children)||F.constructChildNodes(o);for(let N=0;N<8;N++){let O=F.children[N];C(O,b)}}s.reset(),C(e.rootNode,ls.MASK_INDETERMINATE);let V=e._highPriorityKeyframeNodes,L=0,Z;for(;s.length>0;)Z=s.removeMaximum(),Z.highPriorityFrameNumber=n,V[L]=Z,L++;let G=e._keyframeNodesInMegatexture,I=e.megatextures[0],v=I.occupiedCount;G.length=v,G.sort(function(F,b){return F.highPriorityFrameNumber===b.highPriorityFrameNumber?b.priority-F.priority:b.highPriorityFrameNumber-F.highPriorityFrameNumber});let P=0,w=0;for(let F=0;F<L;F++)if(Z=V[F],!(Z.state===qi.LoadState.LOADED||Z.spatialNode===void 0)&&(Z.state===qi.LoadState.UNLOADED&&qyt(e,Z),Z.state===qi.LoadState.RECEIVED)){let b=0;if(I.isFull()){b=v-1-P,P++;let R=G[b];R.spatialNode.destroyKeyframeNode(R,e.megatextures)}else b=v+w,w++;Z.spatialNode.addKeyframeNodeToMegatextures(Z,e.megatextures),G[b]=Z}}function txt(e,t,n,i){let o=Math.min(Math.abs(t-e),Math.abs(t-n)),r=Math.max(e,i._keyframeCount-n-1,1),s=Math.pow(1-o/r,4),a=Math.exp(-i._binaryTreeKeyframeWeighting[t]);return W.lerp(a,s,.15+.85*s)}function nxt(e,t,n,i){let o=e._keyframeCount,r=e.rootNode,s=Object.keys(qi.LoadState).length,a=new Array(s),c=new Array(s),d=0;for(let C=0;C<s;C++){let V=new Array(o);a[C]=V;for(let L=0;L<o;L++)V[L]=0;c[C]=0}function u(C){let V=C.keyframeNodes;for(let L=0;L<V.length;L++){let Z=V[L],G=Z.keyframe,I=Z.state;a[I][G]+=1,c[I]+=1,d++}if(l(C.children))for(let L=0;L<8;L++){let Z=C.children[L];u(Z)}}u(r);let m=`KEYFRAMES: ${a[qi.LoadState.LOADED]}`,p=`UNLOADED: ${c[qi.LoadState.UNLOADED]} | RECEIVING: ${c[qi.LoadState.RECEIVING]} | RECEIVED: ${c[qi.LoadState.RECEIVED]} | LOADED: ${c[qi.LoadState.LOADED]} | FAILED: ${c[qi.LoadState.FAILED]} | UNAVAILABLE: ${c[qi.LoadState.UNAVAILABLE]} | TOTAL: ${d}`,g=Math.round(t*100)/100,f=Math.round(n*100)/100,x=Math.round(i*100)/100,_=`LOAD: ${g} | OCT: ${f} | ALL: ${x}`;console.log(`${m} || ${p} || ${_}`)}var Q3={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function ixt(e,t,n){let i=e._primitive._screenSpaceError,o=e._keyframeLocation,r=e._frameNumber,s=t>=2,a=0,c=0,d=[],u=[];function m(g,f,x,_,C){let V=!1;if(l(g.children))for(let L=0;L<8;L++){let Z=g.children[L];Z.computeSurroundingRenderableKeyframeNodes(o),Z.isRenderable(r)&&(V=!0)}if(V){d[C]=Q3.INTERNAL<<16|f,d[x]=_,a++,_=f,C=_*9+1;for(let L=0;L<8;L++){let Z=g.children[L];f=a,x=f*9+0,m(Z,f,x,_,C+L)}}else{if(s){let L=c*5,Z=g.renderableKeyframeNodePrevious,G=g.level-Z.spatialNode.level,I=Z.spatialNode.parent,v=l(I)?I.renderableKeyframeNodePrevious:Z,P=oxt(g,i,n),w=G,F=1,b=Z.megatextureIndex,R=v.megatextureIndex;u[L+0]=P,u[L+1]=w,u[L+2]=F,u[L+3]=b,u[L+4]=R,d[C]=Q3.LEAF<<16|c}else{let L=g.renderableKeyframeNodePrevious,G=g.level-L.spatialNode.level===0?Q3.LEAF:Q3.PACKED_LEAF_FROM_PARENT;d[C]=G<<16|L.megatextureIndex}c++}}let p=e.rootNode;p.computeSurroundingRenderableKeyframeNodes(o),p.isRenderable(r)&&m(p,0,0,0,0),rxt(d,9,e.internalNodeTilesPerRow,e.internalNodeTexture),s&&sxt(u,2,e.leafNodeTilesPerRow,e.leafNodeTexture)}function oxt(e,t,n){if(e.parent===void 0)return 0;let i=e.screenSpaceError,o=e.parent.screenSpaceError,s=((t-i)/(o-i)+n-1)/n;return W.clamp(s,0,1)}function rxt(e,t,n,i){let o=dt.componentsLength(i.pixelFormat),r=Math.ceil(e.length/t),s=Math.max(1,t*Math.min(r,n)),a=Math.max(1,Math.ceil(r/n)),c=new Uint8Array(s*a*o);for(let m=0;m<e.length;m++){let p=e[m],g=m*o;for(let f=0;f<o;f++)c[g+f]=p>>>f*8&255}let u={source:{arrayBufferView:c,width:s,height:a},xOffset:0,yOffset:0};i.copyFrom(u)}function sxt(e,t,n,i){let o=dt.componentsLength(i.pixelFormat),r=5,s=Math.ceil(e.length/r),a=Math.max(1,t*Math.min(s,n)),c=Math.max(1,Math.ceil(s/n)),d=new Uint8Array(a*c*o);for(let p=0;p<s;p++){let g=e[p*r+0],f=e[p*r+1],x=e[p*r+2],_=e[p*r+3],C=e[p*r+4],V=W.clamp(Math.floor(65536*g),0,65535);d[p*8+0]=V>>>0&255,d[p*8+1]=V>>>8&255,d[p*8+2]=f&255,d[p*8+3]=x&255,d[p*8+4]=_>>>0&255,d[p*8+5]=_>>>8&255,d[p*8+6]=C>>>0&255,d[p*8+7]=C>>>8&255}let m={source:{arrayBufferView:d,width:a,height:c},xOffset:0,yOffset:0};i.copyFrom(m)}Tb.getApproximateTextureMemoryByteLength=function(e,t,n,i){let o=0,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=i[s],d=Lt.getComponentCount(a);o+=mL.getApproximateTextureMemoryByteLength(e,t,d,c)}return o};var xL=Tb;var JJi=T(S(),1);var RJi=T(S(),1),axt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},_L=Object.freeze(axt);var NJi=T(S(),1);var GJi=T(S(),1);function cxt(e,t,n){let i=new Uint8ClampedArray(e.buffer),o=new ImageData(i,t,n),r=document.createElement("canvas");return r.width=t,r.height=n,r.getContext("2d").putImageData(o,0,0),r}var m9=cxt;function TL(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}TL.prototype.getTexture=function(e){return this._textures[e]};function lxt(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];l(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}TL.prototype.loadTexture2D=function(e,t){l(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):lxt(this,e,t)};function dxt(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?j3(o,r,n):uxt(o,r,n),a=e._textures[i];l(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function j3(e,t,n){let{typedArray:i,sampler:o}=e,r=l(i)?OTe(e,n):new wt({context:n,source:t,sampler:o});return BTe(o)&&r.generateMipmap(),r}function uxt(e,t,n){let{typedArray:i,sampler:o}=e,r=BTe(o),s=o.wrapS===Ln.REPEAT||o.wrapS===Ln.MIRRORED_REPEAT||o.wrapT===Ln.REPEAT||o.wrapT===Ln.MIRRORED_REPEAT,{width:a,height:c}=l(i)?e:t,d=[a,c].every(W.isPowerOfTwo);if((r||s)&&!d)if(l(i)){if(e.pixelDatatype===it.UNSIGNED_BYTE){let m=m9(i,a,c),p=cg(m);return j3({sampler:o},p,n)}}else{let m=cg(t);return j3(e,m,n)}else return j3(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),OTe(e,n)}function BTe(e){return[tn.NEAREST_MIPMAP_NEAREST,tn.NEAREST_MIPMAP_LINEAR,tn.LINEAR_MIPMAP_NEAREST,tn.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function OTe(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new wt({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}TL.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];dxt(this,o,t)}n.length=0};TL.prototype.isDestroyed=function(){return!1};TL.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return me(this)};var h9=TL;function f9(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,d0.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,Lg.INHERIT),this._textureManager=new h9,this._defaultTexture=void 0,this.uniformMap=mxt(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},pxt(this),bxt(this)}function mxt(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===_L.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=hxt(e,i)):n[i]=fxt(e,i)}return n}function hxt(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function fxt(e,t){return function(){return e.uniforms[t].value}}function dS(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function pxt(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;l(r)&&(o=e.usedVariablesVertex.attributeSet,dS(r,t,o),o=e.usedVariablesVertex.featureIdSet,dS(r,n,o),o=e.usedVariablesVertex.metadataSet,dS(r,i,o));let s=e.fragmentShaderText;if(l(s)){o=e.usedVariablesFragment.attributeSet,dS(s,t,o),o=e.usedVariablesFragment.featureIdSet,dS(s,n,o),o=e.usedVariablesFragment.metadataSet,dS(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;dS(s,a,c)}}function YTe(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function Ec(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${YTe(t)} is not available in the ${i} shader. Did you mean ${YTe(n)} instead?`;throw new fe(o)}}function bxt(e){let t=e.usedVariablesVertex.attributeSet;Ec(t,"position","positionMC","vertex"),Ec(t,"normal","normalMC","vertex"),Ec(t,"tangent","tangentMC","vertex"),Ec(t,"bitangent","bitangentMC","vertex"),Ec(t,"positionWC","positionMC","vertex"),Ec(t,"positionEC","positionMC","vertex"),Ec(t,"normalEC","normalMC","vertex"),Ec(t,"tangentEC","tangentMC","vertex"),Ec(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;Ec(n,"position","positionEC","fragment"),Ec(n,"normal","normalEC","fragment"),Ec(n,"tangent","tangentEC","fragment"),Ec(n,"bitangent","bitangentEC","fragment"),Ec(n,"normalMC","normalEC","fragment"),Ec(n,"tangentMC","tangentEC","fragment"),Ec(n,"bitangentMC","bitangentEC","fragment")}f9.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===_L.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):l(t.clone)?n.value=t.clone(n.value):n.value=t};f9.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};f9.prototype.isDestroyed=function(){return!1};f9.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),me(this)};var uS=f9;function sp(e){e=y(e,y.EMPTY_OBJECT),this._ready=!1,this._provider=y(e.provider,sp.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new h,this._paddingAfter=new h,this._minBounds=new h,this._minBoundsOld=new h,this._maxBounds=new h,this._maxBoundsOld=new h,this._exaggeratedMinBounds=new h,this._exaggeratedMinBoundsOld=new h,this._exaggeratedMaxBounds=new h,this._exaggeratedMaxBoundsOld=new h,this._minClippingBounds=new h,this._minClippingBoundsOld=new h,this._maxClippingBounds=new h,this._maxClippingBoundsOld=new h,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._exaggeratedModelMatrix=M.clone(this._modelMatrix),this._compoundModelMatrix=new M,this._compoundModelMatrixOld=new M,this._customShader=y(e.customShader,sp.DefaultCustomShader),this._customShaderCompilationEvent=new be,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=e.clock,this._transformPositionWorldToUv=new M,this._transformPositionUvToWorld=new M,this._transformDirectionWorldToLocal=new $,this._transformNormalLocalToWorld=new $,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new jm,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new D,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new D,megatextureTextures:[],megatextureSliceDimensions:new D,megatextureTileDimensions:new D,megatextureVoxelSizeUv:new D,megatextureSliceSizeUv:new D,megatextureTileSizeUv:new D,dimensions:new h,paddingBefore:new h,paddingAfter:new h,transformPositionViewToUv:new M,transformPositionUvToView:new M,transformDirectionViewToLocal:new $,transformNormalLocalToWorld:new $,cameraPositionUv:new h,ndcSpaceAxisAlignedBoundingBox:new se,clippingPlanesTexture:void 0,clippingPlanesMatrix:new M,stepSize:0,pickColor:new B},this._shapeDefinesOld={},this._uniformMap={};let t=this._uniforms,n=this._uniformMap;for(let o in t)if(t.hasOwnProperty(o)){let r=`u_${o}`;n[r]=function(){return t[o]}}let i=this._provider;gxt(this,i)}function gxt(e,t){let{shape:n,minBounds:i=Pi.getMinBounds(n),maxBounds:o=Pi.getMaxBounds(n)}=t;e.minBounds=i,e.maxBounds=o,e.minClippingBounds=Pi.getMinBounds(n),e.maxClippingBounds=Pi.getMaxBounds(n),e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e._exaggeratedModelMatrix=M.clone(e._modelMatrix,e._exaggeratedModelMatrix),HTe(e,t);let r=Pi.getShapeConstructor(n);e._shape=new r,e._shapeVisible=KTe(e,e._shape,t)}Object.defineProperties(sp.prototype,{ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this._shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=M.clone(e,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(e){this._disableRender=!e}},disableUpdate:{get:function(){return this._disableUpdate},set:function(e){this._disableUpdate=e}},debugDraw:{get:function(){return this._debugDraw},set:function(e){this._debugDraw=e}},depthTest:{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(e){this._nearestSampling!==e&&(this._nearestSampling=e,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(e){this._levelBlendFactor=W.clamp(e,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(e){this._screenSpaceError=e}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(e){this._stepSizeMultiplier=e}},minBounds:{get:function(){return this._minBounds},set:function(e){this._minBounds=h.clone(e,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(e){this._maxBounds=h.clone(e,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(e){this._minClippingBounds=h.clone(e,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(e){this._maxClippingBounds=h.clone(e,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){us.setOwner(e,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(e){if(this._customShader!==e){let t=this._uniformMap,i=this._customShader.uniformMap;for(let o in i)i.hasOwnProperty(o)&&delete t[o];l(e)?this._customShader=e:this._customShader=sp.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var yxt=new h,xxt=new se,_xt=new se,Txt=new h,Sxt=new h,Cxt=new $,Vxt=new $,Lxt=new M,Rxt=new M,Zxt=new M,Gxt=M.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new M),Ext=M.fromRotationTranslation($.fromUniformScale(2,new $),new h(-1,-1,-1),new M);sp.prototype.update=function(e){let t=this._provider;this._customShader.update(e);let n=e.context;if(!this._ready){wxt(this,t,n),e.afterRender.push(()=>(this._ready=!0,!0));return}Pxt(this,e);let i=HTe(this,t),o=this._shape;if(i&&(this._shapeVisible=KTe(this,o,t),Mxt(this,o)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let r=Nxt(t.timeIntervalCollection,this._clock),s=this._traversal,a=s._sampleCount;if(s.update(e,r,i,this._disableUpdate),a!==s._sampleCount&&(this._shaderDirty=!0),!s.isRenderable(s.rootNode)||(this._debugDraw&&Hxt(this,e),this._disableRender))return;this._useLogDepth!==e.useLogDepth&&(this._useLogDepth=e.useLogDepth,this._shaderDirty=!0),kxt(this,e)&&(this._shaderDirty=!0);let d=s.leafNodeTexture,u=this._uniforms;l(d)&&(u.octreeLeafNodeTexture=s.leafNodeTexture,u.octreeLeafNodeTexelSizeUv=D.clone(s.leafNodeTexelSizeUv,u.octreeLeafNodeTexelSizeUv),u.octreeLeafNodeTilesPerRow=s.leafNodeTilesPerRow),this._shaderDirty&&(ww(this,n),this._shaderDirty=!1);let m=n.uniformState.viewProjection,p=o.orientedBoundingBox,g=Bxt(p,m,_xt);if(g.x===1||g.y===1||g.z===-1||g.w===-1)return;u.ndcSpaceAxisAlignedBoundingBox=se.clone(g,u.ndcSpaceAxisAlignedBoundingBox);let x=n.uniformState.inverseView;u.transformPositionViewToUv=M.multiplyTransformation(this._transformPositionWorldToUv,x,u.transformPositionViewToUv);let _=n.uniformState.view;u.transformPositionUvToView=M.multiplyTransformation(_,this._transformPositionUvToWorld,u.transformPositionUvToView);let C=n.uniformState.inverseViewRotation;u.transformDirectionViewToLocal=$.multiply(this._transformDirectionWorldToLocal,C,u.transformDirectionViewToLocal),u.transformNormalLocalToWorld=$.clone(this._transformNormalLocalToWorld,u.transformNormalLocalToWorld);let V=e.camera.positionWC;u.cameraPositionUv=M.multiplyByPoint(this._transformPositionWorldToUv,V,u.cameraPositionUv),u.stepSize=this._stepSizeMultiplier;let L=e.passes.pick?this._drawCommandPick:e.passes.pickVoxel?this._drawCommandPickVoxel:this._drawCommand;L.boundingVolume=o.boundingSphere,e.commandList.push(L)};var Ixt=new h,c7=new h,Xxt=new he,Wxt=new h;function Pxt(e,t){if(e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e.shape===Pi.ELLIPSOID){let n=t.verticalExaggerationRelativeHeight,i=t.verticalExaggeration;e._exaggeratedMinBounds.z=(e._minBounds.z-n)*i+n,e._exaggeratedMaxBounds.z=(e._maxBounds.z-n)*i+n}else if(e.shape===Pi.BOX){let n=h.fromElements(1,1,t.verticalExaggeration,Ixt);e._exaggeratedModelMatrix=M.multiplyByScale(e._modelMatrix,n,e._exaggeratedModelMatrix),e._exaggeratedModelMatrix=M.multiplyByTranslation(e._exaggeratedModelMatrix,vxt(e,t),e._exaggeratedModelMatrix)}}function vxt(e,t){let{shapeTransform:n=M.IDENTITY,globalTransform:i=M.IDENTITY}=e._provider,o=M.getTranslation(n,c7),r=M.multiplyByPoint(e._modelMatrix,o,c7),s=M.multiplyByPoint(i,r,c7),c=ne.WGS84.cartesianToCartographic(s,Xxt),d=0;l(c)&&(d=c.height);let u=_r.getHeight(d,t.verticalExaggeration,t.verticalExaggerationRelativeHeight);return h.fromElements(0,0,(u-d)/t.verticalExaggeration,Wxt)}function wxt(e,t,n){let i=e._uniforms;e._pickId=n.createPickId({primitive:e}),i.pickColor=B.clone(e._pickId.color,i.pickColor);let{shaderDefines:o,shaderUniforms:r}=e._shape;e._shapeDefinesOld=ze(o,!0);let s=e._uniformMap;for(let a in r)if(r.hasOwnProperty(a)){let c=`u_${a}`;s[c]=function(){return r[a]}}i.dimensions=h.clone(t.dimensions,i.dimensions),e._paddingBefore=h.clone(y(t.paddingBefore,h.ZERO),e._paddingBefore),i.paddingBefore=h.clone(e._paddingBefore,i.paddingBefore),e._paddingAfter=h.clone(y(t.paddingAfter,h.ZERO),e._paddingBefore),i.paddingAfter=h.clone(e._paddingAfter,i.paddingAfter),e._traversal=Fxt(e,t,n),Axt(e._traversal,i)}function HTe(e,t){let n=y(t.shapeTransform,M.IDENTITY),i=y(t.globalTransform,M.IDENTITY);return M.multiplyTransformation(i,e._exaggeratedModelMatrix,e._compoundModelMatrix),M.multiplyTransformation(e._compoundModelMatrix,n,e._compoundModelMatrix),mS(e,"_compoundModelMatrix","_compoundModelMatrixOld")+mS(e,"_minBounds","_minBoundsOld")+mS(e,"_maxBounds","_maxBoundsOld")+mS(e,"_exaggeratedMinBounds","_exaggeratedMinBoundsOld")+mS(e,"_exaggeratedMaxBounds","_exaggeratedMaxBoundsOld")+mS(e,"_minClippingBounds","_minClippingBoundsOld")+mS(e,"_maxClippingBounds","_maxClippingBoundsOld")>0}function mS(e,t,n){let i=e[t],o=e[n],r=!i.equals(o);return r&&i.clone(o),r?1:0}function KTe(e,t,n){if(!t.update(e._compoundModelMatrix,e._exaggeratedMinBounds,e._exaggeratedMaxBounds,e.minClippingBounds,e.maxClippingBounds))return!1;let o=t.shapeTransform,r=M.inverse(o,Lxt),s=M.getRotation(o,Cxt),a=M.getScale(o,Txt),c=h.maximumComponent(a),d=h.divideByScalar(a,c,Sxt),u=$.multiplyByScale(s,d,Vxt);return e._transformPositionWorldToUv=M.multiplyTransformation(Gxt,r,e._transformPositionWorldToUv),e._transformPositionUvToWorld=M.multiplyTransformation(o,Ext,e._transformPositionUvToWorld),e._transformDirectionWorldToLocal=M.getMatrix3(r,e._transformDirectionWorldToLocal),e._transformNormalLocalToWorld=$.inverseTranspose(u,e._transformNormalLocalToWorld),!0}function Fxt(e,t,n){let i=h.clone(t.dimensions,yxt);h.add(i,e._paddingBefore,i),h.add(i,e._paddingAfter,i);let o=t.maximumTileCount,r=l(o)?xL.getApproximateTextureMemoryByteLength(o,i,t.types,t.componentTypes):void 0,s=y(t.keyframeCount,1);return new xL(e,n,i,t.types,t.componentTypes,s,r)}function Axt(e,t){t.octreeInternalNodeTexture=e.internalNodeTexture,t.octreeInternalNodeTexelSizeUv=D.clone(e.internalNodeTexelSizeUv,t.octreeInternalNodeTexelSizeUv),t.octreeInternalNodeTilesPerRow=e.internalNodeTilesPerRow;let n=e.megatextures,i=n[0],o=n.length;t.megatextureTextures=new Array(o);for(let r=0;r<o;r++)t.megatextureTextures[r]=n[r].texture;t.megatextureSliceDimensions=D.clone(i.sliceCountPerRegion,t.megatextureSliceDimensions),t.megatextureTileDimensions=D.clone(i.regionCountPerMegatexture,t.megatextureTileDimensions),t.megatextureVoxelSizeUv=D.clone(i.voxelSizeUv,t.megatextureVoxelSizeUv),t.megatextureSliceSizeUv=D.clone(i.sliceSizeUv,t.megatextureSliceSizeUv),t.megatextureTileSizeUv=D.clone(i.regionSizeUv,t.megatextureTileSizeUv)}function Mxt(e,t){let n=t.shaderDefines,i=Object.keys(n).some(o=>n[o]!==e._shapeDefinesOld[o]);return i&&(e._shapeDefinesOld=ze(n,!0)),i}function Nxt(e,t){if(!l(e)||!l(t))return 0;let n=t.currentTime,i,o=e.indexOf(n);o>=0?i=e.get(o):(o=~o,o===e.length?(o=e.length-1,i=e.get(o),n=i.stop):(i=e.get(o),n=i.start));let r=j.secondsDifference(i.stop,i.start),a=j.secondsDifference(n,i.start)/r;return o+a}function kxt(e,t){let n=e.clippingPlanes;if(!l(n))return!1;n.update(t);let{clippingPlanesState:i,enabled:o}=n;if(o){let r=e._uniforms;r.clippingPlanesTexture=n.texture,r.clippingPlanesMatrix=M.transpose(M.multiplyTransformation(M.inverse(n.modelMatrix,r.clippingPlanesMatrix),e._transformPositionUvToWorld,r.clippingPlanesMatrix),r.clippingPlanesMatrix)}return e._clippingPlanesState===i&&e._clippingPlanesEnabled===o?!1:(e._clippingPlanesState=i,e._clippingPlanesEnabled=o,!0)}sp.prototype.isDestroyed=function(){return!1};sp.prototype.destroy=function(){let e=this._drawCommand;l(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy());let t=this._drawCommandPick;return l(t)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),me(this)};var zTe=new Array(new se(-1,-1,-1,1),new se(1,-1,-1,1),new se(-1,1,-1,1),new se(1,1,-1,1),new se(-1,-1,1,1),new se(1,-1,1,1),new se(-1,1,1,1),new se(1,1,1,1)),Uxt=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),Dxt=new Array(new se,new se,new se,new se,new se,new se,new se,new se);function Bxt(e,t,n){let i=M.fromRotationTranslation(e.halfAxes,e.center,Rxt),o=M.multiply(t,i,Zxt),r=+Number.MAX_VALUE,s=-Number.MAX_VALUE,a=+Number.MAX_VALUE,c=-Number.MAX_VALUE,d,u=Dxt,m=zTe.length;for(d=0;d<m;d++)M.multiplyByVector(o,zTe[d],u[d]);for(d=0;d<m;d++){let p=u[d];if(p.z>=-p.w){let g=p.x/p.w,f=p.y/p.w;r=Math.min(r,g),s=Math.max(s,g),a=Math.min(a,f),c=Math.max(c,f)}else for(let g=0;g<3;g++){let f=Uxt[d*3+g],x=u[f];if(x.z>=-x.w){let _=p.z+p.w,C=x.z+x.w,V=_/(_-C),L=se.lerp(p,x,V,xxt),Z=L.x/L.w,G=L.y/L.w;r=Math.min(r,Z),s=Math.max(s,Z),a=Math.min(a,G),c=Math.max(c,G)}}}return r=W.clamp(r,-1,1),a=W.clamp(a,-1,1),s=W.clamp(s,-1,1),c=W.clamp(c,-1,1),n=se.fromElements(r,a,s,c,n),n}var l7=3e7,Oxt=new h(l7,0,0),Yxt=new h(0,l7,0),zxt=new h(0,0,l7);function Hxt(e,t){let n=e._traversal,i=e._debugPolylines;i.removeAll();function o(c,d,u,m){i.add({positions:[c,d],width:m,material:Bi.fromType("Color",{color:u})})}function r(c,d,u){let m=c.computeCorners();o(m[0],m[1],d,u),o(m[2],m[3],d,u),o(m[4],m[5],d,u),o(m[6],m[7],d,u),o(m[0],m[2],d,u),o(m[4],m[6],d,u),o(m[1],m[3],d,u),o(m[5],m[7],d,u),o(m[0],m[4],d,u),o(m[2],m[6],d,u),o(m[1],m[5],d,u),o(m[3],m[7],d,u)}function s(c){if(!n.isRenderable(c))return;let d=c.level,m=Math.max(1,5/Math.pow(2,d)),g=[B.RED,B.LIME,B.BLUE][d%3];if(r(c.orientedBoundingBox,g,m),l(c.children))for(let f=0;f<8;f++)s(c.children[f])}r(e._shape.orientedBoundingBox,B.WHITE,5),s(n.rootNode);let a=10;o(h.ZERO,Oxt,B.RED,a),o(h.ZERO,Yxt,B.LIME,a),o(h.ZERO,zxt,B.BLUE,a),i.update(t)}sp.DefaultCustomShader=new uS({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) -{ - material.diffuse = vec3(1.0); - material.alpha = 1.0; -}`});function JTe(){this.ready=!0,this.shape=Pi.BOX,this.dimensions=new h(1,1,1),this.names=["data"],this.types=[Lt.SCALAR],this.componentTypes=[Yt.FLOAT32],this.maximumTileCount=1}JTe.prototype.requestData=function(e){if(!((l(e)?y(e.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};sp.DefaultProvider=new JTe;var Py=sp;var $3=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function ci(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=ze(e.contextOptions),r=l(n),s=new jG(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),l(i)||(i=t.parentNode),this._id=Yn(),this._jobScheduler=new lA,this._frameState=new EF(s,new dF(n,"\u2022",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new mR(s),this._ellipsoid=y(e.ellipsoid,ne.default),this._globe=void 0,this._globeTranslucencyState=new qF,this._primitives=new Nl,this._groundPrimitives=new Nl,this._globeHeight=void 0,this._globeHeightDirty=!0,this._cameraUnderground=!1,this._removeUpdateHeightCallback=void 0,this._logDepthBuffer=ci.defaultLogDepthBuffer&&s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new aS,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new SF(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new ni({color:new B,stencil:0,owner:this}),this._depthClearCommand=new ni({depth:1,owner:this}),this._stencilClearCommand=new ni({stencil:0}),this._classificationStencilClearCommand=new ni({stencil:0,renderState:Be.fromCache({stencilMask:Bt.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new n9(this),this._preUpdate=new be,this._postUpdate=new be,this._renderError=new be,this._preRender=new be,this._postRender=new be,this._minimumDisableDepthTestDistance=0,this._debugInspector=new bF,this._msaaSamples=y(e.msaaSamples,4),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new be,this.morphComplete=new be,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=B.clone(B.BLACK),this._mode=oe.SCENE3D,this._mapProjection=l(e.mapProjection)?e.mapProjection:new Ri(this._ellipsoid),this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.atmosphere=new mw,this.fog=new ZF,this.fog.enabled=ne.WGS84.equals(this._ellipsoid),ne.WGS84.equals(this._ellipsoid)||(oo.DEFAULT_VIEW_RECTANGLE=ce.fromDegrees(-45,-45,45,45)),this._shadowMapCamera=new oo(this),this.shadowMap=new bb({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=B.clone(B.WHITE),this._actualInvertClassificationColor=B.clone(this._invertClassificationColor),this._invertClassification=new dL,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new $A,this._brdfLutGenerator=new yw,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new r9(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,Jl.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=$a.requestCompletedEvent.addEventListener($3(this)),this._removeTaskProcessorListenerCallback=bi.taskCompletedEvent.addEventListener($3(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let a=new Ke(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new oo(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new oo(this),this.preloadFlightCullingVolume=void 0,this._picking=new EA(this),this._defaultView=new eS(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentCubeMap=void 0,this.light=new Lp,eSe(this,0,j.now()),this.updateFrameState(),this.initializeFrame()}ci.defaultLogDepthBuffer=!0;function Kxt(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];l(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener($3(e))),n.push(t.terrainProviderChanged.addEventListener($3(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(ci.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return Dt.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return Dt.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return wm.isSupported(this._context)}},ellipsoid:{get:function(){return this._ellipsoid}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,Kxt(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(l(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(l(this.globe))return this.globe.terrainProvider},set:function(e){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),l(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(l(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===oe.SCENE2D?this.morphTo2D(0):e===oe.SCENE3D?this.morphTo3D(0):e===oe.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new oo(this),l(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new CF(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,Dt.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});ci.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function Jxt(e,t){let n=e.pickedMetadataInfo,i=t.pickedMetadataInfo;return n?.schemaId!==i?.schemaId||n?.className!==i?.className||n?.propertyName!==i?.propertyName}function QTe(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,{lightShadowMaps:s,lightShadowsEnabled:a}=i.shadowState,c=t.derivedCommands;l(t.pickId)&&(c.picking=Qf.createPickDerivedCommand(e,t,o,c.picking)),i.pickingMetadata&&t.pickMetadataAllowed&&(t.pickedMetadataInfo=i.pickedMetadataInfo,l(t.pickedMetadataInfo)&&(c.pickingMetadata=Qf.createPickMetadataDerivedCommand(e,t,o,c.pickingMetadata))),t.pickOnly||(c.depth=Qf.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=Qf.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=bb.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===Ze.TRANSLUCENT&&l(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=l(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}ci.prototype.updateDerivedCommands=function(e){let{derivedCommands:t}=e;if(!l(t))return;let n=this._frameState,{shadowState:i,useLogDepth:o}=this._frameState,r=this._context,s=!1,a=i.lastDirtyTime;e.lastDirtyTime!==a&&(e.lastDirtyTime=a,e.dirty=!0,s=!0);let c=this._hdr,d=l(t.logDepth),u=l(t.hdr),m=l(t.originalCommand),p=o&&!d,g=c&&!u,f=(!o||!c)&&!m,x=n.pickingMetadata&&Jxt(e,n);if(e.dirty=e.dirty||p||g||f||x,!e.dirty)return;e.dirty=!1;let{shadowsEnabled:_,shadowMaps:C}=i;_&&e.castShadows&&(t.shadows=bb.createCastDerivedCommand(C,e,s,r,t.shadows)),(d||p)&&(t.logDepth=Qf.createLogDepthCommand(e,r,t.logDepth),QTe(this,t.logDepth.command,s)),(m||f)&&QTe(this,e,s)};var Qxt=new $u({pass:vo.RENDER}),d7=new $u({pass:vo.PRELOAD}),u7=new $u({pass:vo.PRELOAD_FLIGHT}),jxt=new $u({pass:vo.REQUEST_RENDER_MODE_DEFER_CHECK}),jTe=new le,m7;function qxt(e){if(!(e._mode!==oe.SCENE3D||!e.globe?.show||e._cameraUnderground||e._globeTranslucencyState.translucent))return jTe.radius=e.ellipsoid.minimumRadius+e.frameState.minimumTerrainHeight,m7=e9.fromBoundingSphere(jTe,e.camera.positionWC,m7),m7}ci.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.pickVoxel=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function eSe(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=j.clone(n,i.time)}ci.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=qxt(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof ln||this.camera.frustum instanceof Xr),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState;let{globe:n}=this;l(n)&&n._terrainExaggerationChanged&&(this.verticalExaggeration=n._terrainExaggeration,this.verticalExaggerationRelativeHeight=n._terrainExaggerationRelativeHeight,n._terrainExaggerationChanged=!1),t.verticalExaggeration=this.verticalExaggeration,t.verticalExaggerationRelativeHeight=this.verticalExaggerationRelativeHeight,l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready?(t.specularEnvironmentMaps=this._specularEnvironmentCubeMap.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentCubeMap.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=B.clone(this.invertClassificationColor,this._actualInvertClassificationColor),dL.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,l(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};ci.prototype.isVisible=function(e,t,n){if(!l(t))return!1;let{boundingVolume:i}=t;return!l(i)||!t.cull?!0:e.computeVisibility(i)===Kt.OUTSIDE?!1:!l(n)||!t.occlude||!i.isOccluded(n)};var q3=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);q3=M.inverseTransformation(q3,q3);function $xt(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;l(t._debugVolume)&&t._debugVolume.destroy();let a=h.clone(s.center);if(o.mode!==oe.SCENE3D){a=M.multiplyByPoint(q3,a,a);let f=o.mapProjection,x=f.unproject(a);a=f.ellipsoid.cartographicToCartesian(x)}let c,d,{radius:u}=s;l(u)?(c=Ks.createGeometry(new Ks({radii:new h(u,u,u),vertexFormat:mn.FLAT_VERTEX_FORMAT})),d=M.fromTranslation(a)):(c=Tl.createGeometry(Tl.fromDimensions({dimensions:new h(2,2,2),vertexFormat:mn.FLAT_VERTEX_FORMAT})),d=M.fromRotationTranslation(s.halfAxes,a,new M)),t._debugVolume=new Wn({geometryInstances:new Gt({geometry:Dn.toWireframe(c),modelMatrix:d,attributes:{color:new Ht(1,0,0,1)}}),appearance:new mn({flat:!0,translucent:!1}),asynchronous:!1});let m=o.commandList,p=o.commandList=[];t._debugVolume.update(o),e=p[0],o.useLogDepth&&(e=Qf.createLogDepthCommand(e,r).command);let g;l(i)&&(g=n.framebuffer,n.framebuffer=i),e.execute(r,n),l(g)&&(n.framebuffer=g),o.commandList=m}function ap(e,t,n,i){let o=t._frameState,r=t._context;if(l(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof ni){e.execute(r,n);return}e.debugShowBoundingVolume&&l(e.boundingVolume)&&$xt(e,t,n,i),o.useLogDepth&&l(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=o.passes;if(!s.pick&&!s.pickVoxel&&!s.depth&&t._hdr&&l(e.derivedCommands)&&l(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth){if(o.pickingMetadata&&l(e.derivedCommands.pickingMetadata)){e=e.derivedCommands.pickingMetadata.pickMetadataCommand,e.execute(r,n);return}if(!o.pickingMetadata&&l(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(r,n);return}}else if(l(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(r,n);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,n);return}o.shadowState.lightShadowsEnabled&&e.receiveShadows&&l(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(r,n):e.execute(r,n)}function qTe(e,t,n){let{derivedCommands:i}=e;if(!l(i))return;let o=t._frameState,r=t._context;o.useLogDepth&&l(i.logDepth)&&(e=i.logDepth.command);let{picking:s,pickingMetadata:a,depth:c}=e.derivedCommands;l(a)&&(e=i.pickingMetadata.pickMetadataCommand,e.execute(r,n)),l(s)?(e=s.pickCommand,e.execute(r,n)):l(c)&&(e=c.depthOnlyCommand,e.execute(r,n))}function tSe(e,t,n){return t.boundingVolume?.distanceSquaredTo(n)-e.boundingVolume?.distanceSquaredTo(n)}function e_t(e,t,n){return e.boundingVolume?.distanceSquaredTo(n)-t.boundingVolume?.distanceSquaredTo(n)+W.EPSILON12}function t_t(e,t,n,i,o){ib(i,tSe,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function n_t(e,t,n,i,o){ib(i,e_t,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function i_t(e,t,n){e.context.uniformState.updatePass(Ze.VOXELS);let i=n.commands[Ze.VOXELS];i.length=n.indices[Ze.VOXELS],ib(i,tSe,e.camera.positionWC);for(let o=0;o<i.length;++o)ap(i[o],e,t)}var o_t=new Li,r_t=new ol,s_t=new ln,a_t=new Xr;function c_t(e){let{frustum:t}=e;return l(t.fov)?t.clone(o_t):l(t.infiniteProjectionMatrix)?t.clone(r_t):l(t.width)?t.clone(s_t):t.clone(a_t)}function l_t(e){if(e._environmentState.useOIT){if(!l(e._executeOITFunction)){let{view:t,context:n}=e;e._executeOITFunction=function(i,o,r,s,a){t.globeDepth.prepareColorTextures(n),t.oit.executeCommands(i,o,r,s,a)}}return e._executeOITFunction}return e.frameState.passes.render?t_t:n_t}function d_t(e,t,n){let{frameState:i,context:o}=e,{pick:r,pickVoxel:s}=i.passes,a=r||s,c;!a&&e._environmentState.useInvertClassification&&i.invertClassificationColor.alpha<1&&(c=e._invertClassification);let d=l_t(e);o.uniformState.updatePass(Ze.TRANSLUCENT);let u=n.commands[Ze.TRANSLUCENT];u.length=n.indices[Ze.TRANSLUCENT],d(e,ap,t,u,c)}function u_t(e,t,n){let{translucentTileClassification:i,globeDepth:o}=e._view;if(!(n.indices[Ze.CESIUM_3D_TILE_CLASSIFICATION]>0)||!i.isSupported())return;let s=n.commands[Ze.TRANSLUCENT];i.executeTranslucentCommands(e,ap,t,s,o.depthStencilTexture),i.executeClassificationCommands(e,ap,t,n)}function f7(e,t){let{camera:n,context:i,frameState:o}=e,{uniformState:r}=i;r.updateCamera(n);let s=c_t(n);s.near=n.frustum.near,s.far=n.frustum.far;let a=o.passes,c=a.pick||a.pickVoxel;c||m_t(e,t);let{clearGlobeDepth:d,renderTranslucentDepthForPick:u,useDepthPlane:m,useGlobeDepthFramebuffer:p,useInvertClassification:g,usePostProcessSelected:f}=e._environmentState,{globeDepth:x,globeTranslucencyFramebuffer:_,sceneFramebuffer:C,frustumCommandsList:V}=e._view,L=V.length,Z=e._globeTranslucencyState,G=e._depthClearCommand,I=e._stencilClearCommand,v=e._classificationStencilClearCommand,P=e._depthPlane,w=n.position.z;function F(R,E){r.updatePass(E);let X=R.commands[E],A=R.indices[E];for(let N=0;N<A;++N)ap(X[N],e,t);return A}function b(R,E){r.updatePass(E);let X=R.commands[E],A=R.indices[E];for(let N=0;N<A;++N)qTe(X[N],e,t)}for(let R=0;R<L;++R){let E=L-R-1,X=V[E];e.mode===oe.SCENE2D?(n.position.z=w-X.near+1,s.far=Math.max(1,X.far-X.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=E!==0?X.near*e.opaqueFrustumNearOffset:X.near,s.far=X.far,r.updateFrustum(s)),G.execute(i,t),i.stencilBuffer&&I.execute(i,t),Z.translucent?(r.updatePass(Ze.GLOBE),Z.executeGlobeCommands(X,ap,_,e,t)):F(X,Ze.GLOBE),p&&x.executeCopyDepth(i,t),u||(Z.translucent?(r.updatePass(Ze.TERRAIN_CLASSIFICATION),Z.executeGlobeClassificationCommands(X,ap,_,e,t)):F(X,Ze.TERRAIN_CLASSIFICATION)),d&&(G.execute(i,t),m&&P.execute(i,t));let A;if(!g||c||u)A=F(X,Ze.CESIUM_3D_TILE),A>0&&(p&&(x.prepareColorTextures(i,d),x.executeUpdateDepth(i,t,x.depthStencilTexture)),u||(A=F(X,Ze.CESIUM_3D_TILE_CLASSIFICATION)));else{e._invertClassification.clear(i,t);let O=t.framebuffer;t.framebuffer=e._invertClassification._fbo.framebuffer,A=F(X,Ze.CESIUM_3D_TILE),p&&(e._invertClassification.prepareTextures(i),x.executeUpdateDepth(i,t,e._invertClassification._fbo.getDepthStencilTexture())),A=F(X,Ze.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),t.framebuffer=O,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),A>0&&i.stencilBuffer&&v.execute(i,t),A=F(X,Ze.CESIUM_3D_TILE_CLASSIFICATION)}if(A>0&&i.stencilBuffer&&I.execute(i,t),i_t(e,t,X),F(X,Ze.OPAQUE),E!==0&&e.mode!==oe.SCENE2D&&(s.near=X.near,r.updateFrustum(s)),d_t(e,t,X),u_t(e,t,X),i.depthTexture&&e.useDepthPicking&&(p||u)){let O=e._picking.getPickDepth(e,E);O.update(i,x.depthStencilTexture),O.executeCopyDepth(i,t)}if(c||!f)continue;let N=t.framebuffer;t.framebuffer=C.getIdFramebuffer(),s.near=E!==0?X.near*e.opaqueFrustumNearOffset:X.near,s.far=X.far,r.updateFrustum(s),Z.translucent?(r.updatePass(Ze.GLOBE),Z.executeGlobeCommands(X,qTe,_,e,t)):b(X,Ze.GLOBE),d&&(G.framebuffer=t.framebuffer,G.execute(i,t),G.framebuffer=void 0),d&&m&&P.execute(i,t),b(X,Ze.CESIUM_3D_TILE),b(X,Ze.OPAQUE),b(X,Ze.TRANSLUCENT),t.framebuffer=N}}function m_t(e,t){let{context:n,environmentState:i,view:o}=e;if(n.uniformState.updatePass(Ze.ENVIRONMENT),l(i.skyBoxCommand)&&ap(i.skyBoxCommand,e,t),i.isSkyAtmosphereVisible&&ap(i.skyAtmosphereCommand,e,t),i.isSunVisible&&(i.sunDrawCommand.execute(n,t),e.sunBloom&&!i.useWebVR)){let r;i.useGlobeDepthFramebuffer?r=o.globeDepth.framebuffer:i.usePostProcess?r=o.sceneFramebuffer.framebuffer:r=i.originalFramebuffer,e._sunPostProcess.execute(n),e._sunPostProcess.copy(n,r),t.framebuffer=r}i.isMoonVisible&&i.moonCommand.execute(n,t)}function nSe(e){e.context.uniformState.updatePass(Ze.COMPUTE);let t=e._environmentState.sunComputeCommand;l(t)&&t.execute(e._computeEngine);let n=e._computeCommandList;for(let i=0;i<n.length;++i)n[i].execute(e._computeEngine)}function h_t(e,t){e.context.uniformState.updatePass(Ze.OVERLAY);let n=e.context,i=e._overlayCommandList;for(let o=0;o<i.length;++o)i[o].execute(n,t)}function f_t(e,t,n){let{shadowMapCullingVolume:i,isPointLight:o,passes:r}=n,s=r.length,a=[Ze.GLOBE,Ze.CESIUM_3D_TILE,Ze.OPAQUE,Ze.TRANSLUCENT];for(let c=0;c<t.length;++c){let d=t[c];if(e.updateDerivedCommands(d),!(!d.castShadows||a.indexOf(d.pass)<0||!e.isVisible(i,d)))if(o)for(let u=0;u<s;++u)r[u].commandList.push(d);else if(s===1)r[0].commandList.push(d);else{let u=!1;for(let m=s-1;m>=0;--m){let p=r[m].cullingVolume;if(e.isVisible(p,d))r[m].commandList.push(d),u=!0;else if(u)break}}}}function iSe(e){let{shadowState:t,commandList:n}=e.frameState,{shadowsEnabled:i,shadowMaps:o}=t;if(!i)return;let{context:r}=e,{uniformState:s}=r;for(let a=0;a<o.length;++a){let c=o[a];if(c.outOfView)continue;let{passes:d}=c;for(let u=0;u<d.length;++u)d[u].commandList.length=0;f_t(e,n,c);for(let u=0;u<d.length;++u){let m=c.passes[u],{camera:p,commandList:g}=m;s.updateCamera(p),c.updatePass(r,u);for(let f=0;f<g.length;++f){let x=g[f];s.updatePass(x.pass);let _=x.derivedCommands.shadows.castCommands[a];ap(_,e,m.passState)}}}}var p_t=new h;ci.prototype.updateAndExecuteCommands=function(e,t){G_t(this,e,t),this._environmentState.useWebVR?b_t(this,e,t):this._frameState.mode!==oe.SCENE2D||this._mapMode2D===Jl.ROTATE?vy(!0,this,e):L_t(this,e)};function b_t(e,t){let n=e._view,i=n.camera,r=e._environmentState.renderTranslucentDepthForPick;oSe(e),n.createPotentiallyVisibleSet(e),nSe(e),r||iSe(e);let s=t.viewport;s.x=0,s.y=0,s.width=s.width*.5;let a=oo.clone(i,e._cameraVR);a.frustum=i.frustum;let c=i.frustum.near,d=c*y(e.focalLength,5),u=y(e.eyeSeparation,d/30),m=h.multiplyByScalar(a.right,u*.5,p_t);i.frustum.aspectRatio=s.width/s.height;let p=.5*u*c/d;h.add(a.position,m,i.position),i.frustum.xOffset=p,f7(e,t),s.x=s.width,h.subtract(a.position,m,i.position),i.frustum.xOffset=-p,f7(e,t),oo.clone(a,i)}var g_t=new he(Math.PI,W.PI_OVER_TWO),y_t=new h,x_t=new h,__t=new M,T_t=new M,S_t=new h,C_t=new h,V_t=new Ke;function L_t(e,t){let{frameState:n,camera:i}=e,{uniformState:o}=e.context,r=t.viewport,s=Ke.clone(r,V_t);t.viewport=s;let a=g_t,c=y_t;e.mapProjection.project(a,c);let u=h.clone(i.position,x_t),m=M.clone(i.transform,T_t),p=i.frustum.clone();i._setTransform(M.IDENTITY);let g=M.computeViewportTransformation(s,0,1,__t),f=i.frustum.projectionMatrix,x=i.positionWC.y,_=h.fromElements(W.sign(x)*c.x-x,0,-i.positionWC.x,S_t),C=Ft.pointToGLWindowCoordinates(f,g,_,C_t);C.x=Math.floor(C.x);let V=s.x,L=s.width;if(x===0||C.x<=V||C.x>=V+L)vy(!0,e,t);else if(Math.abs(V+L*.5-C.x)<1)s.width=C.x-s.x,i.position.x*=W.sign(i.position.x),i.frustum.right=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),vy(!0,e,t),s.x=C.x,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),vy(!1,e,t);else if(C.x>V+L*.5){s.width=C.x-V;let Z=i.frustum.right;i.frustum.right=c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),vy(!0,e,t),s.x=C.x,s.width=V+L-C.x,i.position.x=-i.position.x,i.frustum.left=-i.frustum.right,i.frustum.right=Z-i.frustum.right*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),vy(!1,e,t)}else{s.x=C.x,s.width=V+L-C.x;let Z=i.frustum.left;i.frustum.left=-c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),vy(!0,e,t),s.x=V,s.width=C.x-V,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=Z-i.frustum.left*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),vy(!1,e,t)}i._setTransform(m),h.clone(u,i.position),i.frustum=p.clone(),t.viewport=r}function vy(e,t,n){let i=t._view,{renderTranslucentDepthForPick:o}=t._environmentState;e||(t.frameState.commandList.length=0),oSe(t),i.createPotentiallyVisibleSet(t),e&&(nSe(t),o||iSe(t)),f7(t,n)}var $Te=new ls;ci.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.atmosphere,s=this.skyAtmosphere,a=this.globe,c=this._globeTranslucencyState;if(!i||this._mode!==oe.SCENE2D&&t.camera.frustum instanceof ln||!c.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{if(l(s)){if(l(a))s.setDynamicLighting(CT.fromGlobeFlags(a)),n.isReadyForAtmosphere=n.isReadyForAtmosphere||!a.show||a._surface._tilesToRender.length>0;else{let C=r.dynamicLighting;s.setDynamicLighting(C),n.isReadyForAtmosphere=!0}n.skyAtmosphereCommand=s.update(e,a),l(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)}else n.skyAtmosphereCommand=void 0;n.skyBoxCommand=l(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let _=l(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=l(_)?_.drawCommand:void 0,n.sunComputeCommand=l(_)?_.computeCommand:void 0,n.moonCommand=l(this.moon)?this.moon.update(e):void 0}let d=n.clearGlobeDepth=l(a)&&a.show&&(!a.depthTestAgainstTerrain||this.mode===oe.SCENE2D);(n.useDepthPlane=d&&this.mode===oe.SCENE3D&&c.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==oe.SCENE2D&&!o;let m=e.mode===oe.SCENE3D&&!c.sunVisibleThroughGlobe?e.occluder:void 0,p=e.cullingVolume,g=$Te.planes;for(let _=0;_<5;++_)g[_]=p.planes[_];p=$Te,n.isSkyAtmosphereVisible=l(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(p,n.sunDrawCommand,m),n.isMoonVisible=this.isVisible(p,n.moonCommand,m);let f=this.specularEnvironmentMaps,x=this._specularEnvironmentCubeMap;l(f)&&x?.url!==f?(x=x&&x.destroy(),this._specularEnvironmentCubeMap=new wm(f)):!l(f)&&l(x)&&(x.destroy(),this._specularEnvironmentCubeMap=void 0),l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.update(e)};function R_t(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new Jf({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),l(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function Z_t(e){let t=e._frameState,{passes:n,shadowState:i,shadowMaps:o}=t,r=o.length,s=r>0&&!n.pick&&!n.pickVoxel&&e.mode===oe.SCENE3D;if(s!==i.shadowsEnabled&&(++i.lastDirtyTime,i.shadowsEnabled=s),i.lightShadowsEnabled=!1,!!s){for(let a=0;a<r;++a)if(o[a]!==i.shadowMaps[a]){++i.lastDirtyTime;break}i.shadowMaps.length=0,i.lightShadowMaps.length=0;for(let a=0;a<r;++a){let c=o[a];c.update(t),i.shadowMaps.push(c),c.fromLightSource&&(i.lightShadowMaps.push(c),i.lightShadowsEnabled=!0),c.dirty&&(++i.lastDirtyTime,c.dirty=!1)}}}function oSe(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),R_t(e),Z_t(e),e._globe&&e._globe.render(t)}function G_t(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,a=o.passes,c=a.pick||a.pickVoxel;l(s.globeDepth)&&(s.globeDepth.picking=c);let d=r.useWebVR;r.originalFramebuffer=t.framebuffer,l(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!d?e._sunPostProcess=new c9:l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!l(e.sun)&&l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let u=e._clearColorCommand;B.clone(n,u.color),u.execute(i,t);let m=r.useGlobeDepthFramebuffer=l(s.globeDepth);m&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&l(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let f=e.postProcessStages,x=r.usePostProcess=!c&&(e._hdr||f.length>0||f.ambientOcclusion.enabled||f.fxaa.enabled||f.bloom.enabled);if(r.usePostProcessSelected=!1,x&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),f.update(i,o.useLogDepth,e._hdr),f.clear(i),x=r.usePostProcess=f.ready,r.usePostProcessSelected=x&&f.hasSelected),r.isSunVisible&&e.sunBloom&&!d?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):m?t.framebuffer=s.globeDepth.framebuffer:x&&(t.framebuffer=s.sceneFramebuffer.framebuffer),l(t.framebuffer)&&u.execute(i,t),r.useInvertClassification=!c&&l(t.framebuffer)&&e.invertClassification){let C;if(o.invertClassificationColor.alpha===1&&m&&(C=s.globeDepth.framebuffer),l(C)||i.depthTexture){if(e._invertClassification.previousFramebuffer=C,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),o.invertClassificationColor.alpha<1&&g){let V=e._invertClassification.unclassifiedCommand,L=V.derivedCommands;L.oit=p.createDerivedCommands(V,i,L.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}ci.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,{globeDepth:o,translucentTileClassification:r}=i;l(o)&&o.prepareColorTextures(t);let{useOIT:s,useGlobeDepthFramebuffer:a,usePostProcess:c,originalFramebuffer:d}=n,u=a?o.colorFramebufferManager:void 0,m=i.sceneFramebuffer._colorFramebuffer,p=i.sceneFramebuffer.idFramebuffer;if(s&&(e.framebuffer=c?m.framebuffer:d,i.oit.execute(t,e)),r.hasTranslucentDepth&&r.isSupported()&&r.execute(this,e),c){i.sceneFramebuffer.prepareColorTextures(t);let g=m;a&&!s&&(g=u);let f=this.postProcessStages,x=g.getColorTexture(0),_=p.getColorTexture(0),C=y(u,m).getDepthStencilTexture();f.execute(t,x,C,_),f.copy(t,d)}!s&&!c&&a&&(e.framebuffer=d,o.executeCopyColor(t,e))};function E_t(e){let t=e._frameState.afterRender;for(let n=0;n<t.length;++n)t[n]()&&e.requestRender();t.length=0}function I_t(e){if(e.mode===oe.MORPHING)return;let t=e.camera.positionCartographic;return e.getHeight(t)}ci.prototype.getHeight=function(e,t){if(!l(e))return;let n=t===Je.CLAMP_TO_TERRAIN||t===Je.RELATIVE_TO_TERRAIN,i=t===Je.CLAMP_TO_3D_TILE||t===Je.RELATIVE_TO_3D_TILE;if(!l(e))return;let o=Number.NEGATIVE_INFINITY;if(!n){let s=this.primitives.length;for(let a=0;a<s;++a){let c=this.primitives.get(a);if(!c.isCesium3DTileset||!c.show||!c.enableCollision)continue;let d=c.getHeight(e,this);l(d)&&d>o&&(o=d)}}let r=this._globe;if(!i&&l(r)&&r.show){let s=r.getHeight(e);s>o&&(o=s)}if(o>Number.NEGATIVE_INFINITY)return o};var h7=new he;ci.prototype.updateHeight=function(e,t,n){let i=()=>{he.clone(e,h7);let g=this.getHeight(e,n);l(g)&&(h7.height=g,t(h7))},o=n===Je.CLAMP_TO_TERRAIN||n===Je.RELATIVE_TO_TERRAIN,r=n===Je.CLAMP_TO_3D_TILE||n===Je.RELATIVE_TO_3D_TILE,s;!r&&l(this.globe)&&(s=this.globe._surface.updateHeight(e,i));let a={},c=this._ellipsoid,d=g=>{if(o||g.isDestroyed()||!g.isCesium3DTileset)return;let f=g.updateHeight(e,i,c);a[g.id]=f};if(!o){let g=this.primitives.length;for(let f=0;f<g;++f){let x=this.primitives.get(f);d(x)}}let u=this.primitives.primitiveAdded.addEventListener(d),m=this.primitives.primitiveRemoved.addEventListener(g=>{g.isDestroyed()||!g.isCesium3DTileset||(l(a[g.id])&&a[g.id](),delete a[g.id])});return()=>{s=s&&s(),Object.values(a).forEach(g=>g()),a={},u(),m()}};function X_t(e){let t=e.camera,n=e._mode,i=e._screenSpaceCameraController,o=t.positionCartographic;if(!l(o))return!1;if(!i.onMap()&&o.height<0)return!0;if(n===oe.SCENE2D||n===oe.MORPHING)return!1;let r=e._globeHeight;return l(r)&&o.height<r}ci.prototype.initializeFrame=function(){if(this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeightDirty){l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),this._globeHeight=I_t(this),this._globeHeightDirty=!1;let e=this.camera.positionCartographic;this._removeUpdateHeightCallback=this.updateHeight(e,t=>{this.isDestroyed()||(this._globeHeight=t.height)})}this._cameraUnderground=X_t(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),l(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function W_t(e,t){if(e.debugShowFramesPerSecond){if(!l(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new fb({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else l(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function P_t(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),l(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function v_t(e){e.primitives.postPassesUpdate(e._frameState),$a.update()}var w_t=new B;function F_t(e){let t=e._frameState,n=e.context,{uniformState:i}=n,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=Qxt;let r=y(e.backgroundColor,B.BLACK);e._hdr&&(r=B.clone(r,w_t),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,t.atmosphere=e.atmosphere,e.fog.update(t),i.update(t);let s=e.shadowMap;l(s)&&s.enabled&&(!l(e.light)||e.light instanceof Lp?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=Ke.clone(a,c.viewport),l(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,h_t(e,c),l(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function hS(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function A_t(e){return e._picking.updateMostDetailedRayPicks(e)}ci.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,l(e)||(e=j.now());let n=this._view.checkForCameraUpdates(this);n&&(this._globeHeightDirty=!0);let i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===oe.MORPHING;if(!i&&l(this.maximumRenderTimeChange)&&l(this._lastRenderTime)){let o=Math.abs(j.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=j.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=W.incrementWrap(t.frameNumber,15e6,1);eSe(this,o,e),t.newFrame=!0}hS(this,P_t),this.primitives.show&&(hS(this,A_t),hS(this,M_t),hS(this,N_t),i||hS(this,k_t)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),hS(this,F_t)),W_t(this,i),hS(this,v_t),E_t(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};ci.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};ci.prototype.requestRender=function(){this._renderRequested=!0};ci.prototype.clampLineWidth=function(e){return Math.max(Dt.minimumAliasedLineWidth,Math.min(e,Dt.maximumAliasedLineWidth))};ci.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};ci.prototype.pickVoxel=function(e,t,n){let i=this.pick(e,t,n);if(!l(i))return;let o=i.primitive;if(!(o instanceof Py))return;let r=this._picking.pickVoxelCoordinate(this,e,t,n),s=255*r[0]+r[1],a=o._traversal.findKeyframeNode(s);if(!l(a))return;let c=255*r[2]+r[3];return l9.fromKeyframeNode(o,s,c,a)};ci.prototype.pickMetadata=function(e,t,n,i){let o=this.pick(e);if(!l(o))return;let r=o.detail?.model?.structuralMetadata?.schema,s=WF(r,t,n,i);if(!l(s))return;let a=new SA(t,n,i,s);return this._picking.pickMetadata(this,e,a)};ci.prototype.pickMetadataSchema=function(e){let t=this.pick(e);return l(t)?t.detail?.model?.structuralMetadata?.schema:void 0};ci.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};ci.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};ci.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function M_t(e){let t=e._frameState;d7.camera=t.camera,d7.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,d7)}function N_t(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;u7.camera=e.preloadFlightCamera,u7.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,u7)}function k_t(e){e.primitives.updateForPass(e._frameState,jxt)}ci.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};ci.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};ci.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};ci.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};ci.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};ci.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};ci.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};ci.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};ci.prototype.cartesianToCanvasCoordinates=function(e,t){return Mi.worldToWindowCoordinates(this,e,t)};ci.prototype.completeMorph=function(){this._transitioner.completeMorph()};ci.prototype.morphTo2D=function(e){e=y(e,2),this._transitioner.morphTo2D(e,this._ellipsoid)};ci.prototype.morphToColumbusView=function(e){e=y(e,2),this._transitioner.morphToColumbusView(e,this._ellipsoid)};ci.prototype.morphTo3D=function(e){e=y(e,2),this._transitioner.morphTo3D(e,this._ellipsoid)};function U_t(e,t){if(e._removeTerrainProviderReadyListener=e._removeTerrainProviderReadyListener&&e._removeTerrainProviderReadyListener(),t.ready){l(e.globe)&&(e.globe.terrainProvider=t.provider);return}e.globe.terrainProvider=void 0,e._removeTerrainProviderReadyListener=t.readyEvent.addEventListener(n=>{l(e)&&l(e.globe)&&(e.globe.terrainProvider=n),e._removeTerrainProviderReadyListener()})}ci.prototype.setTerrain=function(e){return U_t(this,e),e};ci.prototype.isDestroyed=function(){return!1};ci.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),l(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),me(this)};var p9=ci;var Zji=T(S(),1);var j4i=T(S(),1),SL=`float interpolateByDistance(vec4 nearFarScalar, float distance) -{ - float startDistance = nearFarScalar.x; - float startValue = nearFarScalar.y; - float endDistance = nearFarScalar.z; - float endValue = nearFarScalar.w; - float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); - return mix(startValue, endValue, t); + +#if (SAMPLE_COUNT > 1) +void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { + int leafIndex = data.data; + int leafNodeTexelCount = 2; + // Adding 0.5 moves to the center of the texel + float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; + float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; + + // Get an interpolation weight and a flag to determine whether to read the parent texture + vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); + vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); + float lerp = normU8x2_toFloat(leafData0.xy); + sampleDatas[0].weight = 1.0 - lerp; + sampleDatas[1].weight = lerp; + // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT + sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; + sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; + + // Get megatexture indices for both samples + vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); + vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); + sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); + sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); } +#endif -void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) -{ - float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; +OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { + float sizeAtLevel = exp2(-1.0 * float(traversalData.octreeCoords.w)); + vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; + vec3 end = start + vec3(sizeAtLevel); + OctreeNodeData childData; - // Adjustment to the atmosphere radius applied based on the camera height. - float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; - float distanceAdjustMax = czm_ellipsoidRadii.x; - float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; - float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { + // Find out which octree child contains the position + // 0 if before center, 1 if after + vec3 center = 0.5 * (start + end); + vec3 childCoord = step(center, shapePosition); - // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit - // for the position on the ellipsoid. - float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; - float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; + // Get octree coords for the next level down + ivec4 octreeCoords = traversalData.octreeCoords; + traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); - // Setup the primary ray: from the camera position to the vertex position. - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); + + if (childData.flag != OCTREE_FLAG_INTERNAL) { + // leaf tile - stop traversing + break; + } + + // interior tile - keep going deeper + start = mix(start, center, childCoord); + end = mix(center, end, childCoord); + traversalData.parentOctreeIndex = childData.data; + } + + return childData; +} - underTranslucentGlobe = 0.0; +/** +* Transform a given position to an octree tile coordinate and a position within that tile, +* and find the corresponding megatexture index and texture coordinates +*/ +void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { + traversalData.octreeCoords = ivec4(0); + traversalData.parentOctreeIndex = 0; - // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. - #if defined(GLOBE_TRANSLUCENT) + OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); + if (nodeData.flag != OCTREE_FLAG_LEAF) { + nodeData = traverseOctreeDownwards(shapePosition, traversalData); + } - // Check for intersection with the inner radius of the atmopshere. - czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); - if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + #else + getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); + #endif +} - // Compute position on globe. - vec3 direction = normalize(positionWC); - czm_ray ellipsoidRay = czm_ray(positionWC, -direction); - czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); - vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); +bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { + return clamp(v, minVal, maxVal) == v; +} - // Control the color using the camera angle. - float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); +bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { + vec3 tileUv = getTileUv(shapePosition, octreeCoords); + bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); + // Assume (!) the position is always inside the root tile. + return inside || octreeCoords.w == 0; +} - // Control the opacity using the distance from Earth. - opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); - vec3 horizonColor = vec3(0.1, 0.2, 0.3); - vec3 nearColor = vec3(0.0); +void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { + if (insideTile(shapePosition, traversalData.octreeCoords)) { + for (int i = 0; i < SAMPLE_COUNT; i++) { + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + } + return; + } - rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); + // Go up tree until we find a parent tile containing shapePosition + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { + traversalData.octreeCoords.xyz /= 2; + traversalData.octreeCoords.w -= 1; - // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. - underTranslucentGlobe = 1.0; - return; + if (insideTile(shapePosition, traversalData.octreeCoords)) { + break; } - #endif - computeScattering( - primaryRay, - length(cameraToPositionWC), - lightDirection, - atmosphereInnerRadius, - rayleighColor, - mieColor, - opacity - ); + traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); + } - // Alter the opacity based on how close the viewer is to the ground. - // (0.0 = At edge of atmosphere, 1.0 = On ground) - float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; - float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); + // Go down tree + OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); - // Alter alpha based on time of day (0.0 = night , 1.0 = day) - float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; - opacity *= pow(nightAlpha, 0.5); + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + #else + getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); + #endif } -`;var $4i=T(S(),1),b9=`in vec3 v_outerPositionWC; +`;var uzi=T(S(),1),rM=`// See Octree.glsl for the definitions of SampleData and intMod -uniform vec3 u_hsbShift; +/* Megatexture defines (set in Scene/VoxelRenderResources.js) +#define SAMPLE_COUNT ### +#define NEAREST_SAMPLING +#define PADDING +*/ -#ifndef PER_FRAGMENT_ATMOSPHERE -in vec3 v_mieColor; -in vec3 v_rayleighColor; -in float v_opacity; -in float v_translucent; +uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions +uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions +uniform vec2 u_megatextureVoxelSizeUv; +uniform vec2 u_megatextureSliceSizeUv; +uniform vec2 u_megatextureTileSizeUv; + +uniform ivec3 u_dimensions; // does not include padding +#if defined(PADDING) + uniform ivec3 u_paddingBefore; + uniform ivec3 u_paddingAfter; #endif -void main (void) +// Integer min, max, clamp: For WebGL1 only +int intMin(int a, int b) { + return a <= b ? a : b; +} +int intMax(int a, int b) { + return a >= b ? a : b; +} +int intClamp(int v, int minVal, int maxVal) { + return intMin(intMax(v, minVal), maxVal); +} + +vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) { - float lightEnum = u_radiiAndDynamicAtmosphereColor.z; - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_outerPositionWC, lightEnum); + int indexX = intMod(index, dimensions.x); + int indexY = index / dimensions.x; + return vec2(indexX, indexY) * uvScale; +} - vec3 mieColor; - vec3 rayleighColor; - float opacity; - float translucent; +/* + How is 3D data stored in a 2D megatexture? - #ifdef PER_FRAGMENT_ATMOSPHERE - computeAtmosphereScattering( - v_outerPositionWC, - lightDirection, - rayleighColor, - mieColor, - opacity, - translucent - ); - #else - mieColor = v_mieColor; - rayleighColor = v_rayleighColor; - opacity = v_opacity; - translucent = v_translucent; - #endif + In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). + The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and + the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). + Note that there could be empty space in the megatexture because it's a power of two. - vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); + 0 1 2 3 + +---+---+---+---+ + | | | | | 3 + +---+---+---+---+ + | | | | | 2 + +-------+-------+ + |010|110|011|111| 1 + |--- ---|--- ---| + |000|100|001|101| 0 + +-------+-------+ - #ifndef HDR - color.rgb = czm_pbrNeutralTonemapping(color.rgb); - color.rgb = czm_inverseGamma(color.rgb); - #endif + When doing linear interpolation the megatexture needs to be sampled twice: once for + the Z slice above the voxel coordinate and once for the slice below. The two slices + are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is + halfway between two Z slices so the interpolation factor is 0.5. Below is a side view + of the 3D voxel grid with voxel coordinates on the left side. - #ifdef COLOR_CORRECT - const bool ignoreBlackPixels = true; - color.rgb = czm_applyHSBShift(color.rgb, u_hsbShift, ignoreBlackPixels); + 2 +---+ + |001| + 1 +-z-+ + |000| + 0 +---+ + + When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. +*/ + +Properties getPropertiesFromMegatexture(in SampleData sampleData) { + int tileIndex = sampleData.megatextureIndex; + vec3 voxelCoord = sampleData.tileUv * vec3(u_dimensions); + ivec3 voxelDimensions = u_dimensions; + + #if defined(PADDING) + voxelDimensions += u_paddingBefore + u_paddingAfter; + voxelCoord += vec3(u_paddingBefore); #endif - // For the parts of the sky atmosphere that are not behind a translucent globe, - // we mix in the default opacity so that the sky atmosphere still appears at distance. - // This is needed because the opacity in the sky atmosphere is initially adjusted based - // on the camera height. - if (translucent == 0.0) { - color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); - } + #if defined(NEAREST_SAMPLING) + // Round to the center of the nearest voxel + voxelCoord = floor(voxelCoord) + vec3(0.5); + #endif - out_FragColor = color; -} -`;var tji=T(S(),1),g9=`in vec4 position; + // Tile location + vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); -out vec3 v_outerPositionWC; + // Slice location + float slice = voxelCoord.z - 0.5; + int sliceIndex = int(floor(slice)); + int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); + vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); -#ifndef PER_FRAGMENT_ATMOSPHERE -out vec3 v_mieColor; -out vec3 v_rayleighColor; -out float v_opacity; -out float v_translucent; -#endif + // Voxel location + vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; -void main(void) -{ - vec4 positionWC = czm_model * position; - float lightEnum = u_radiiAndDynamicAtmosphereColor.z; - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC.xyz, lightEnum); + // Final location in the megatexture + vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; - #ifndef PER_FRAGMENT_ATMOSPHERE - computeAtmosphereScattering( - positionWC.xyz, - lightDirection, - v_rayleighColor, - v_mieColor, - v_opacity, - v_translucent - ); + #if defined(NEAREST_SAMPLING) + return getPropertiesFromMegatextureAtUv(uv0); + #else + float sliceLerp = fract(slice); + int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); + vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); + vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; + Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); + Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); + return mixProperties(properties0, properties1, sliceLerp); #endif - - v_outerPositionWC = positionWC.xyz; - gl_Position = czm_modelViewProjection * position; } -`;function CL(e){e=y(e,ne.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=M.fromScale(n),this._modelMatrix=new M,this._command=new tt({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties(CL.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});CL.prototype.setDynamicLighting=function(e){this._radiiAndDynamicAtmosphereColor.z=e};var p7=new M;CL.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==oe.SCENE3D&&n!==oe.MORPHING||!e.passes.render)return;let i=M.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,p7),o=M.multiplyTransformation(i,Io.Y_UP_TO_Z_UP,p7),r=M.multiply(this._scaleMatrix,o,p7);M.clone(r,this._modelMatrix);let s=e.context,a=D_t(this),c=e.globeTranslucencyState.translucent,d=this.perFragmentAtmosphere||c||!l(t)||!t.show,u=this._command;if(!l(u.vertexArray)){let p=Ks.createGeometry(new Ks({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:We.POSITION_ONLY}));u.vertexArray=hi.fromGeometry({context:s,geometry:p,attributeLocations:Dn.createAttributeLocations(p),bufferUsage:Ue.STATIC_DRAW}),u.renderState=Be.fromCache({cull:{enabled:!0,face:yi.FRONT},blending:hn.ALPHA_BLEND,depthMask:!1})}let m=a|d<<2|c<<3;if(m!==this._flags){this._flags=m;let p=[];a&&p.push("COLOR_CORRECT"),d&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new Ye({defines:p,sources:[cb,SL,g9]}),f=new Ye({defines:p,sources:[cb,SL,b9]});this._spSkyAtmosphere=cn.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:f}),u.shaderProgram=this._spSkyAtmosphere}return u};function D_t(e){return!(W.equalsEpsilon(e.hueShift,0,W.EPSILON7)&&W.equalsEpsilon(e.saturationShift,0,W.EPSILON7)&&W.equalsEpsilon(e.brightnessShift,0,W.EPSILON7))}CL.prototype.isDestroyed=function(){return!1};CL.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),me(this)};var y9=CL;var e8i=T(S(),1);var Eji=T(S(),1),x9=`uniform samplerCube u_cubeMap; -in vec3 v_texCoord; +// Convert an array of sample datas to a final weighted properties. +Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { + #if (SAMPLE_COUNT == 1) + return getPropertiesFromMegatexture(sampleDatas[0]); + #else + // When more than one sample is taken the accumulator needs to start at 0 + Properties properties = clearProperties(); + for (int i = 0; i < SAMPLE_COUNT; ++i) { + float weight = sampleDatas[i].weight; -void main() -{ - vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); - out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); + // Avoid reading the megatexture when the weight is 0 as it can be costly. + if (weight > 0.0) { + Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); + tempProperties = scaleProperties(tempProperties, weight); + properties = sumProperties(properties, tempProperties); + } + } + return properties; + #endif } -`;var Xji=T(S(),1),_9=`in vec3 position; - -out vec3 v_texCoord; - -void main() +`;function wgt(e){let t=new Gx;this.shaderBuilder=t;let n=e._customShader,i=Vt(e._uniformMap,n.uniformMap);e._uniformMap=i;let o=n.uniforms;for(let p in o)if(o.hasOwnProperty(p)){let g=o[p];t.addUniform(g.type,p,ge.FRAGMENT)}t.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",ge.FRAGMENT),this.uniformMap=i;let r=e._clippingPlanes,s=l(r)&&r.enabled?r.length:0;this.clippingPlanes=r,this.clippingPlanesLength=s,t.addVertexLines([KA]),t.addFragmentLines([n.fragmentShaderText,"#line 0",oM,HA,JA,rM]),s>0&&(t.addDefine("CLIPPING_PLANES",void 0,ge.FRAGMENT),t.addDefine("CLIPPING_PLANES_COUNT",s,ge.FRAGMENT),r.unionClippingRegions&&t.addDefine("CLIPPING_PLANES_UNION",void 0,ge.FRAGMENT),t.addFragmentLines([jA])),e._depthTest&&(t.addDefine("DEPTH_TEST",void 0,ge.FRAGMENT),t.addFragmentLines([QA]));let a=e._provider.shape;a==="BOX"?t.addFragmentLines([tM,qA,bS]):a==="CYLINDER"?t.addFragmentLines([nM,LL,$A,bS]):a==="ELLIPSOID"&&(t.addDefine("SHAPE_ELLIPSOID",void 0,ge.FRAGMENT),t.addFragmentLines([iM,LL,eM,bS])),t.addFragmentLines([zA]);let c=e._shape,d=c.shaderDefines;for(let p in d)if(d.hasOwnProperty(p)){let g=d[p];l(g)&&(g=g===!0?void 0:g,t.addDefine(p,g,ge.FRAGMENT))}let u=c.shaderMaximumIntersectionsLength;s>0&&(t.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",u,ge.FRAGMENT),s===1?u+=1:r.unionClippingRegions?u+=2:u+=1),e._depthTest&&(t.addDefine("DEPTH_INTERSECTION_INDEX",u,ge.FRAGMENT),u+=1),t.addDefine("INTERSECTION_COUNT",u,ge.FRAGMENT),(!h.equals(e.paddingBefore,h.ZERO)||!h.equals(e.paddingAfter,h.ZERO))&&t.addDefine("PADDING",void 0,ge.FRAGMENT),e._useLogDepth&&t.addDefine("LOG_DEPTH_READ_ONLY",void 0,ge.FRAGMENT),e._nearestSampling&&t.addDefine("NEAREST_SAMPLING",void 0,ge.FRAGMENT);let m=e._traversal;t.addDefine("SAMPLE_COUNT",`${m._sampleCount}`,ge.FRAGMENT)}var sM=wgt;var Nzi=T(S(),1);function Fgt(e,t){let{shaderBuilder:n}=e,{names:i,types:o,componentTypes:r,minimumValues:s,maximumValues:a}=t._provider,c=o.length,d=l(s)&&l(a);n.addDefine("METADATA_COUNT",c,ge.FRAGMENT),d&&n.addDefine("STATISTICS",void 0,ge.FRAGMENT);for(let P=0;P<c;P++){let w=i[P],A=o[P],b=`PropertyStatistics_${w}`,R=`PropertyStatistics_${w}`;n.addStruct(b,R,ge.FRAGMENT);let E=zB(A);n.addStructField(b,E,"min"),n.addStructField(b,E,"max")}let u="Statistics",m="Statistics",p="statistics";n.addStruct(u,m,ge.FRAGMENT);for(let P=0;P<c;P++){let w=i[P],A=`PropertyStatistics_${w}`,b=w;n.addStructField(u,A,b)}let g="Metadata",f="Metadata",x="metadata";n.addStruct(g,f,ge.FRAGMENT),n.addStructField(g,m,p);for(let P=0;P<c;P++){let w=i[P],A=o[P],b=zB(A);n.addStructField(g,b,w)}for(let P=0;P<c;P++){let w=i[P],A=o[P],b=Mgt(A),R=`VoxelProperty_${w}`,E=`VoxelProperty_${w}`;n.addStruct(R,E,ge.FRAGMENT),n.addStructField(R,b,"partialDerivativeLocal"),n.addStructField(R,b,"partialDerivativeWorld"),n.addStructField(R,b,"partialDerivativeView"),n.addStructField(R,b,"partialDerivativeValid")}let _="Voxel",C="Voxel",V="voxel";n.addStruct(_,C,ge.FRAGMENT);for(let P=0;P<c;P++){let w=i[P],A=`VoxelProperty_${w}`;n.addStructField(_,A,w)}n.addStructField(_,"vec3","positionEC"),n.addStructField(_,"vec3","positionUv"),n.addStructField(_,"vec3","positionShapeUv"),n.addStructField(_,"vec3","positionUvLocal"),n.addStructField(_,"vec3","viewDirUv"),n.addStructField(_,"vec3","viewDirWorld"),n.addStructField(_,"vec3","surfaceNormal"),n.addStructField(_,"float","travelDistance"),n.addStructField(_,"int","stepCount"),n.addStructField(_,"int","tileIndex"),n.addStructField(_,"int","sampleIndex");let L="FragmentInput";n.addStruct(L,"FragmentInput",ge.FRAGMENT),n.addStructField(L,f,x),n.addStructField(L,C,V);let G="Properties",I="Properties",v="properties";n.addStruct(G,I,ge.FRAGMENT);for(let P=0;P<c;P++){let w=i[P],A=o[P],b=zB(A);n.addStructField(G,b,w)}{let P="clearProperties";n.addFunction(P,`${I} clearProperties()`,ge.FRAGMENT),n.addFunctionLines(P,[`${I} ${v};`]);for(let w=0;w<c;w++){let A=i[w],b=o[w],R=r[w],E=zB(b,R);n.addFunctionLines(P,[`${v}.${A} = ${E}(0.0);`])}n.addFunctionLines(P,[`return ${v};`])}{let P="sumProperties";n.addFunction(P,`${I} sumProperties(${I} propertiesA, ${I} propertiesB)`,ge.FRAGMENT),n.addFunctionLines(P,[`${I} ${v};`]);for(let w=0;w<c;w++){let A=i[w];n.addFunctionLines(P,[`${v}.${A} = propertiesA.${A} + propertiesB.${A};`])}n.addFunctionLines(P,[`return ${v};`])}{let P="scaleProperties";n.addFunction(P,`${I} scaleProperties(${I} ${v}, float scale)`,ge.FRAGMENT),n.addFunctionLines(P,[`${I} scaledProperties = ${v};`]);for(let w=0;w<c;w++){let A=i[w];n.addFunctionLines(P,[`scaledProperties.${A} *= scale;`])}n.addFunctionLines(P,["return scaledProperties;"])}{let P="mixProperties";n.addFunction(P,`${I} mixProperties(${I} propertiesA, ${I} propertiesB, float mixFactor)`,ge.FRAGMENT),n.addFunctionLines(P,[`${I} ${v};`]);for(let w=0;w<c;w++){let A=i[w];n.addFunctionLines(P,[`${v}.${A} = mix(propertiesA.${A}, propertiesB.${A}, mixFactor);`])}n.addFunctionLines(P,[`return ${v};`])}{let P="copyPropertiesToMetadata";n.addFunction(P,`void copyPropertiesToMetadata(in ${I} ${v}, inout ${f} ${x})`,ge.FRAGMENT);for(let w=0;w<c;w++){let A=i[w];n.addFunctionLines(P,[`${x}.${A} = ${v}.${A};`])}}if(d){let P="setStatistics";n.addFunction(P,`void setStatistics(inout ${m} ${p})`,ge.FRAGMENT);for(let w=0;w<c;w++){let A=i[w],b=o[w],R=ft.getComponentCount(b);for(let E=0;E<R;E++){let X=Ngt(b,E),F=s[w][E],N=a[w][E];n.addFunctionLines(P,[`${p}.${A}.min${X} = ${WTe(F)};`,`${p}.${A}.max${X} = ${WTe(N)};`])}}}{let P="getPropertiesFromMegatextureAtUv";n.addFunction(P,`${I} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,ge.FRAGMENT),n.addFunctionLines(P,[`${I} ${v};`]);for(let w=0;w<c;w++){let A=i[w],b=o[w],R=r[w],E=Agt(b,R);n.addFunctionLines(P,[`properties.${A} = texture(u_megatextureTextures[${w}], texcoord)${E};`])}n.addFunctionLines(P,[`return ${v};`])}}function zB(e){if(e===ft.SCALAR)return"float";if(e===ft.VEC2)return"vec2";if(e===ft.VEC3)return"vec3";if(e===ft.VEC4)return"vec4"}function Agt(e){if(e===ft.SCALAR)return".r";if(e===ft.VEC2)return".ra";if(e===ft.VEC3)return".rgb";if(e===ft.VEC4)return""}function Mgt(e){if(e===ft.SCALAR)return"vec3";if(e===ft.VEC2)return"mat2";if(e===ft.VEC3)return"mat3";if(e===ft.VEC4)return"mat4"}function WTe(e){let t=e.toString();return t.indexOf(".")===-1&&(t=`${e}.0`),t}function Ngt(e,t){return e===ft.SCALAR?"":`[${t}]`}var aM=Fgt;function kgt(e,t){let n=new sM(e);aM(n,e);let{shaderBuilder:i,clippingPlanes:o,clippingPlanesLength:r}=n;if(r>0){let C="getClippingPlane",V=m0(o,t),L=0,Z=V.indexOf(")")+1,G=V.indexOf("{",Z)+1,I=V.indexOf("}",G),v=V.slice(L,Z),P=V.slice(G,I);i.addFunction(C,v,ge.FRAGMENT),i.addFunctionLines(C,[P])}let s=i.clone();s.addDefine("PICKING",void 0,ge.FRAGMENT);let a=i.clone();a.addDefine("PICKING_VOXEL",void 0,ge.FRAGMENT);let c=i.buildShaderProgram(t),d=s.buildShaderProgram(t),u=a.buildShaderProgram(t),m=Be.fromCache({cull:{enabled:!0,face:Ti.BACK},depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND}),p=t.getViewportQuadVertexArray(),g=e._depthTest,f=new tt({vertexArray:p,primitiveType:Me.TRIANGLES,renderState:m,shaderProgram:c,uniformMap:n.uniformMap,modelMatrix:e._compoundModelMatrix,pass:Ge.VOXELS,executeInClosestFrustum:!0,owner:this,cull:g,occlude:g}),x=tt.shallowClone(f,new tt);x.shaderProgram=d,x.pickOnly=!0;let _=tt.shallowClone(f,new tt);if(_.shaderProgram=u,_.pickOnly=!0,l(e._drawCommand)){let C=e._drawCommand;C.shaderProgram=C.shaderProgram&&C.shaderProgram.destroy()}if(l(e._drawCommandPick)){let C=e._drawCommandPick;C.shaderProgram=C.shaderProgram&&C.shaderProgram.destroy()}if(l(e._drawCommandPickVoxel)){let C=e._drawCommandPickVoxel;C.shaderProgram=C.shaderProgram&&C.shaderProgram.destroy()}e._drawCommand=f,e._drawCommandPick=x,e._drawCommandPickVoxel=_}var cM=kgt;var wKi=T(S(),1);var aKi=T(S(),1);function ed(){this.orientedBoundingBox=new In,this.boundingSphere=new de,this.boundTransform=new M,this.shapeTransform=new M,this._minBounds=h.clone(ed.DefaultMinBounds,new h),this._maxBounds=h.clone(ed.DefaultMaxBounds,new h),this.shaderUniforms={renderMinBounds:new h,renderMaxBounds:new h,boxUvToShapeUvScale:new h,boxUvToShapeUvTranslate:new h},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_SHAPE_BOUNDS:void 0},this.shaderMaximumIntersectionsLength=0}var Ugt=new h,u7=new h,Dgt=new $,Bgt=new h,Ogt=new h,Ygt=new h,Hgt=new h,PTe=M.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new M);ed.prototype.update=function(e,t,n,i,o){i=y(i,ed.DefaultMinBounds),o=y(o,ed.DefaultMaxBounds);let r=ed.DefaultMinBounds,s=ed.DefaultMaxBounds;t=this._minBounds=h.clamp(t,r,s,this._minBounds),n=this._maxBounds=h.clamp(n,r,s,this._maxBounds),i=h.clamp(i,r,s,Bgt),o=h.clamp(o,r,s,Ogt);let a=h.clamp(t,i,o,Ygt),c=h.clamp(n,i,o,Hgt),d=M.getScale(e,u7);if(a.x>c.x||a.y>c.y||a.z>c.z||(a.x===c.x)+(a.y===c.y)+(a.z===c.z)>=2||i.x>o.x||i.y>o.y||i.z>o.z||d.x===0||d.y===0||d.z===0)return!1;this.shapeTransform=M.clone(e,this.shapeTransform),this.orientedBoundingBox=h7(a,c,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=de.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:u,shaderDefines:m}=this;for(let f in m)m.hasOwnProperty(f)&&(m[f]=void 0);let p=!h.equals(t,r)||!h.equals(n,s),g=0;if(m.BOX_INTERSECTION_INDEX=g,g+=1,u.renderMinBounds=M.multiplyByPoint(PTe,a,u.renderMinBounds),u.renderMaxBounds=M.multiplyByPoint(PTe,c,u.renderMaxBounds),p){m.BOX_HAS_SHAPE_BOUNDS=!0;let f=t,x=n;u.boxUvToShapeUvScale=h.fromElements(2/(f.x===x.x?1:x.x-f.x),2/(f.y===x.y?1:x.y-f.y),2/(f.z===x.z?1:x.z-f.z),u.boxUvToShapeUvScale),u.boxUvToShapeUvTranslate=h.fromElements(-u.boxUvToShapeUvScale.x*(f.x*.5+.5),-u.boxUvToShapeUvScale.y*(f.y*.5+.5),-u.boxUvToShapeUvScale.z*(f.z*.5+.5),u.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=g,!0};var KB=new h,m7=new h;ed.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minBounds,s=this._maxBounds,a=1/Math.pow(2,e),c=h.fromElements(W.lerp(r.x,s.x,a*t),W.lerp(r.y,s.y,a*n),W.lerp(r.z,s.z,a*i),KB),d=h.fromElements(W.lerp(r.x,s.x,a*(t+1)),W.lerp(r.y,s.y,a*(n+1)),W.lerp(r.z,s.z,a*(i+1)),m7);return h7(c,d,this.shapeTransform,o)};var vTe=new h;ed.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,vTe),s=h.multiplyByScalar(r,o,vTe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,KB),o,KB),c=h.add(a,s,m7),d=this._minBounds,u=this._maxBounds,m=h.fromElements(W.lerp(d.x,u.x,a.x),W.lerp(d.y,u.y,a.y),W.lerp(d.z,u.z,a.z),KB),p=h.fromElements(W.lerp(d.x,u.x,c.x),W.lerp(d.y,u.y,c.y),W.lerp(d.z,u.z,c.z),m7);return h7(m,p,this.shapeTransform,i)};ed.DefaultMinBounds=Object.freeze(new h(-1,-1,-1));ed.DefaultMaxBounds=Object.freeze(new h(1,1,1));function h7(e,t,n,i){let o=ed.DefaultMinBounds,r=ed.DefaultMaxBounds;if(h.equals(e,o)&&h.equals(t,r))i.center=M.getTranslation(n,i.center),i.halfAxes=M.getMatrix3(n,i.halfAxes);else{let a=M.getScale(n,u7),c=h.midpoint(e,t,Ugt);i.center=M.multiplyByPoint(n,c,i.center),a=h.fromElements(a.x*.5*(t.x-e.x),a.y*.5*(t.y-e.y),a.z*.5*(t.z-e.z),u7);let d=M.getRotation(n,Dgt);i.halfAxes=$.setScale(d,a,i.halfAxes)}return i}var sp=ed;var yKi=T(S(),1);function as(){this.orientedBoundingBox=new In,this.boundingSphere=new de,this.boundTransform=new M,this.shapeTransform=new M,this._minimumRadius=as.DefaultMinBounds.x,this._maximumRadius=as.DefaultMaxBounds.x,this._minimumHeight=as.DefaultMinBounds.y,this._maximumHeight=as.DefaultMaxBounds.y,this._minimumAngle=as.DefaultMinBounds.z,this._maximumAngle=as.DefaultMaxBounds.z,this.shaderUniforms={cylinderRenderHeightMinMax:new D,cylinderRenderRadiusMinMax:new D,cylinderRenderAngleMinMax:new D,cylinderUvToShapeUvRadius:new D,cylinderUvToShapeUvHeight:new D,cylinderUvToShapeUvAngle:new D,cylinderShapeUvAngleMinMax:new D,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var MTe=new h;as.prototype.update=function(e,t,n,i,o){i=y(i,as.DefaultMinBounds),o=y(o,as.DefaultMaxBounds);let r=as.DefaultMinBounds.x,s=as.DefaultMaxBounds.x,a=as.DefaultMinBounds.y,c=as.DefaultMaxBounds.y,d=as.DefaultMinBounds.z,u=as.DefaultMaxBounds.z,m=u-d,p=.5*m,g=W.EPSILON10,f=W.EPSILON3,x=W.EPSILON10,_=W.clamp(t.x,r,s),C=W.clamp(n.x,r,s),V=W.clamp(i.x,r,s),L=W.clamp(o.x,r,s),Z=Math.max(_,V),G=Math.min(C,L),I=W.clamp(t.y,a,c),v=W.clamp(n.y,a,c),P=W.clamp(i.y,a,c),w=W.clamp(o.y,a,c),A=Math.max(I,P),b=Math.min(v,w),R=W.negativePiToPi(t.z),E=W.negativePiToPi(n.z),X=W.negativePiToPi(i.z),F=W.negativePiToPi(o.z),N=Math.max(R,X),O=Math.min(E,F),U=M.getScale(e,MTe);if(G===0||Z>G||A>b||W.equalsEpsilon(U.x,0,void 0,g)||W.equalsEpsilon(U.y,0,void 0,g)||W.equalsEpsilon(U.z,0,void 0,g))return!1;this._minimumRadius=_,this._maximumRadius=C,this._minimumHeight=I,this._maximumHeight=v,this._minimumAngle=R,this._maximumAngle=E,this.shapeTransform=M.clone(e,this.shapeTransform),this.orientedBoundingBox=p7(Z,G,A,b,N,O,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=de.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let H=_===r&&C===s,J=I===a&&v===c,te=E<R,z=E-R+te*m,q=z>p+x&&z<m-x,ee=z<p-x,pe=z>=p-x&&z<=p+x,_e=q||ee||pe,ae=W.equalsEpsilon(R,d,void 0,f),ye=W.equalsEpsilon(E,u,void 0,f),Te=Z===r,Xe=O<N,Ie=O-N+Xe*m,Ae=Ie>=p-x&&Ie<m-x,Ve=Ie>x&&Ie<p-x,Ne=Ie<=x,De=Ae||Ve||Ne,{shaderUniforms:$e,shaderDefines:Ke}=this;for(let pt in Ke)Ke.hasOwnProperty(pt)&&(Ke[pt]=void 0);let gt=0;if(Ke.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=gt,gt+=1,Te||(Ke.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,Ke.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=gt,gt+=1),$e.cylinderRenderRadiusMinMax=D.fromElements(Z,G,$e.cylinderRenderRadiusMinMax),Z===G&&(Ke.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),!H){Ke.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let pt=C-_,St=0,on=1;pt!==0&&(St=1/pt,on=-_/pt),$e.cylinderUvToShapeUvRadius=D.fromElements(St,on,$e.cylinderUvToShapeUvRadius)}if(!J){Ke.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let pt=v-I,St=0,on=1;pt!==0&&(St=2/pt,on=-(I+1)/pt),$e.cylinderUvToShapeUvHeight=D.fromElements(St,on,$e.cylinderUvToShapeUvHeight)}if($e.cylinderRenderHeightMinMax=D.fromElements(A,b,$e.cylinderRenderHeightMinMax),te&&(Ke.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),De&&(Ke.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,Ke.CYLINDER_INTERSECTION_INDEX_ANGLE=gt,Ae?(Ke.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,gt+=1):Ve?(Ke.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,gt+=2):Ne&&(Ke.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,gt+=2),$e.cylinderRenderAngleMinMax=D.fromElements(N,O,$e.cylinderRenderAngleMinMax)),_e){Ke.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,ae&&(Ke.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),ye&&(Ke.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let pt=(R-d)/m,St=(E-d)/m,on=1-z/m;if($e.cylinderShapeUvAngleMinMax=D.fromElements(pt,St,$e.cylinderShapeUvAngleMinMax),$e.cylinderShapeUvAngleRangeZeroMid=(St+.5*on)%1,z<=x)$e.cylinderUvToShapeUvAngle=D.fromElements(0,1,$e.cylinderUvToShapeUvAngle);else{let Ce=m/z,Re=-(R-d)/z;$e.cylinderUvToShapeUvAngle=D.fromElements(Ce,Re,$e.cylinderUvToShapeUvAngle)}}return this.shaderMaximumIntersectionsLength=gt,!0};as.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minimumRadius,s=this._maximumRadius,a=this._minimumHeight,c=this._maximumHeight,d=this._minimumAngle,u=this._maximumAngle,m=1/Math.pow(2,e),p=W.lerp(r,s,t*m),g=W.lerp(r,s,(t+1)*m),f=W.lerp(a,c,n*m),x=W.lerp(a,c,(n+1)*m),_=W.lerp(d,u,i*m),C=W.lerp(d,u,(i+1)*m);return p7(p,g,f,x,_,C,this.shapeTransform,o)};var wTe=new h,FTe=new h,zgt=new h;as.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,wTe),s=h.multiplyByScalar(r,o,wTe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,FTe),o,FTe),c=h.add(a,s,zgt),d=this._minimumRadius,u=this._maximumRadius,m=this._minimumHeight,p=this._maximumHeight,g=this._minimumAngle,f=this._maximumAngle,x=W.lerp(d,u,a.x),_=W.lerp(d,u,c.x),C=W.lerp(m,p,a.y),V=W.lerp(m,p,c.y),L=W.lerp(g,f,a.z),Z=W.lerp(g,f,c.z);return p7(x,_,C,V,L,Z,this.shapeTransform,i)};as.DefaultMinBounds=Object.freeze(new h(0,-1,-W.PI));as.DefaultMaxBounds=Object.freeze(new h(1,1,+W.PI));var Kgt=5,Jgt=new Array(Kgt),Qgt=new h,jgt=new $,qgt=new M,$gt=new M,eyt=new M,f7=new M,tyt=new h,nyt=new h,iyt=new h,NTe=new Array(8);for(let e=0;e<8;e++)NTe[e]=new h;function ATe(e,t,n){return Math.abs(re.dot(e,t))<n}function oyt(e){let t=M.getColumn(e,0,tyt),n=M.getColumn(e,1,nyt),i=M.getColumn(e,2,iyt),o=W.EPSILON4;return ATe(t,n,o)&&ATe(n,i,o)}function ryt(e,t){let n=NTe;h.fromElements(-.5,-.5,-.5,n[0]),h.fromElements(-.5,-.5,.5,n[1]),h.fromElements(-.5,.5,-.5,n[2]),h.fromElements(-.5,.5,.5,n[3]),h.fromElements(.5,-.5,-.5,n[4]),h.fromElements(.5,-.5,.5,n[5]),h.fromElements(.5,.5,-.5,n[6]),h.fromElements(.5,.5,.5,n[7]);for(let i=0;i<8;++i)M.multiplyByPoint(e,n[i],n[i]);return In.fromPoints(n,t)}function p7(e,t,n,i,o,r,s,a){let c=as.DefaultMinBounds,d=as.DefaultMaxBounds,u=c.x,m=d.x,p=c.y,g=d.y,f=c.z,x=d.z;if(e===u&&t===m&&n===p&&i===g&&o===f&&r===x)return a.center=M.getTranslation(s,a.center),a.halfAxes=M.getMatrix3(s,a.halfAxes),a;r<o&&(r+=W.TWO_PI);let C=r-o,V=o+C*.5,L=Jgt,Z=0;L[Z++]=o,L[Z++]=r,L[Z++]=V,C>W.PI&&(L[Z++]=V-W.PI_OVER_TWO,L[Z++]=V+W.PI_OVER_TWO);let G=1,I=1,v=-1,P=-1;for(let te=0;te<Z;++te){let z=L[te]-V,q=Math.cos(z),ee=Math.sin(z),pe=q*e,_e=ee*e,ae=q*t,ye=ee*t;G=Math.min(G,pe),I=Math.min(I,_e),G=Math.min(G,ae),I=Math.min(I,ye),v=Math.max(v,pe),P=Math.max(P,_e),v=Math.max(v,ae),P=Math.max(P,ye)}let w=v-G,A=P-I,b=i-n,R=(G+v)*.5,E=(I+P)*.5,X=(n+i)*.5,F=h.fromElements(R,E,X,Qgt),N=$.fromRotationZ(V,jgt),O=h.fromElements(w,A,b,MTe),U=M.fromScale(O,eyt),Y=M.fromRotation(N,$gt),k=M.fromTranslation(F,qgt),H=M.multiplyTransformation(Y,M.multiplyTransformation(k,U,f7),f7),J=M.multiplyTransformation(s,H,f7);return oyt(J)?In.fromTransformation(J,a):ryt(J,a)}var ap=as;var IKi=T(S(),1);function R0(){this.orientedBoundingBox=new In,this.boundingSphere=new de,this.boundTransform=new M,this.shapeTransform=new M,this._rectangle=new le,this._minimumHeight=R0.DefaultMinBounds.z,this._maximumHeight=R0.DefaultMaxBounds.z,this._ellipsoid=new ne,this._translation=new h,this._rotation=new $,this.shaderUniforms={ellipsoidRadiiUv:new h,eccentricitySquared:0,evoluteScale:new D,ellipsoidInverseRadiiSquaredUv:new h,ellipsoidRenderLongitudeMinMax:new D,ellipsoidShapeUvLongitudeMinMaxMid:new h,ellipsoidUvToShapeUvLongitude:new D,ellipsoidUvToShapeUvLatitude:new D,ellipsoidRenderLatitudeSinMinMax:new D,ellipsoidInverseHeightDifferenceUv:0,clipMinMaxHeight:new D},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var syt=new h,ayt=new h,cyt=new h,lyt=new h,dyt=new h,uyt=new h,myt=new h,hyt=new h,fyt=new $,kTe=new h,UTe=new h,pyt=new le;R0.prototype.update=function(e,t,n,i,o){let{DefaultMinBounds:r,DefaultMaxBounds:s}=R0;i=y(i,r),o=y(o,s);let a=W.EPSILON10,c=W.EPSILON3,d=W.EPSILON10,u=W.EPSILON10,m=W.EPSILON3,p=M.getScale(e,hyt),g=h.clone(r,syt);g.z=-h.minimumComponent(p);let f=h.clamp(t,g,s,ayt),x=h.clamp(n,g,s,cyt),_=h.clamp(i,g,s,lyt),C=h.clamp(o,g,s,dyt),V=h.maximumByComponent(f,_,uyt),L=h.minimumByComponent(x,C,myt),Z=h.add(p,h.fromElements(x.z,x.z,x.z,kTe),kTe),G=h.maximumComponent(Z),I=h.add(p,h.fromElements(L.z,L.z,L.z,UTe),UTe);if(V.y>L.y||V.y===s.y||L.y===r.y||V.z>L.z||W.equalsEpsilon(I,h.ZERO,void 0,a))return!1;this._rectangle=le.fromRadians(f.x,f.y,x.x,x.y),this._translation=M.getTranslation(e,this._translation),this._rotation=M.getRotation(e,this._rotation),this._ellipsoid=ne.fromCartesian3(p,this._ellipsoid),this._minimumHeight=f.z,this._maximumHeight=x.z;let v=le.fromRadians(V.x,V.y,L.x,L.y,pyt);this.orientedBoundingBox=b7(v,V.z,L.z,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=M.fromRotationTranslation($.setScale(this._rotation,Z,fyt),this._translation,this.shapeTransform),this.boundTransform=M.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=de.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let P=s.x-r.x,w=.5*P,A=L.x<V.x,b=L.x-V.x+A*P,R=b<=d,E=b>=w-d&&b<P-d,X=b>d&&b<w-d,F=R||E||X,N=x.x<f.x,O=x.x-f.x+N*P,U=O>w+d&&O<P-d,Y=O>=w-d&&O<=w+d,k=O<w-d,H=U||Y||k,J=L.y<-m,te=L.y>=-m&&L.y<=+m,z=L.y>+m&&L.y<s.y-u,q=J||te||z,ee=V.y>r.y+u&&V.y<-m,pe=V.y>=-m&&V.y<=+m,_e=V.y>+m,ae=ee||pe||_e,ye=q||ae,Te=x.y-f.y,Xe=x.y<-m,Ie=x.y>=-m&&x.y<=+m,Ae=x.y>+m&&x.y<s.y-u,Ve=Xe||Ie||Ae,Ne=f.y>r.y+u&&f.y<-m,De=f.y>=-m&&f.y<=+m,$e=f.y>+m,gt=Ve||(Ne||De||$e),{shaderUniforms:pt,shaderDefines:St}=this;for(let jt in St)St.hasOwnProperty(jt)&&(St[jt]=void 0);pt.ellipsoidRadiiUv=h.divideByScalar(Z,G,pt.ellipsoidRadiiUv);let{x:on,z:Ce}=pt.ellipsoidRadiiUv,Re=Ce/on;pt.eccentricitySquared=1-Re*Re,pt.evoluteScale=D.fromElements((on*on-Ce*Ce)/on,(Ce*Ce-on*on)/Ce,pt.evoluteScale),pt.ellipsoidInverseRadiiSquaredUv=h.divideComponents(h.ONE,h.multiplyComponents(pt.ellipsoidRadiiUv,pt.ellipsoidRadiiUv,pt.ellipsoidInverseRadiiSquaredUv),pt.ellipsoidInverseRadiiSquaredUv);let cn=0;St.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=cn,cn+=1,St.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=cn,cn+=1,pt.clipMinMaxHeight=D.fromElements((V.z-x.z)/G,(L.z-x.z)/G,pt.clipMinMaxHeight);let rn=(x.z-f.z)/G;if(pt.ellipsoidInverseHeightDifferenceUv=1/rn,f.z===x.z&&(pt.ellipsoidInverseHeightDifferenceUv=0),F&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,St.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=cn,E?(St.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,cn+=1):X?(St.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,cn+=2):R&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,cn+=2),pt.ellipsoidRenderLongitudeMinMax=D.fromElements(V.x,L.x,pt.ellipsoidRenderLongitudeMinMax)),H)if(St.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,x.x<f.x&&(St.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0),O<=d)pt.ellipsoidUvToShapeUvLongitude=D.fromElements(0,1,pt.ellipsoidUvToShapeUvLongitude);else{let ji=P/O,je=-(f.x-r.x)/O;pt.ellipsoidUvToShapeUvLongitude=D.fromElements(ji,je,pt.ellipsoidUvToShapeUvLongitude)}if(F){let jt=W.equalsEpsilon(V.x,r.x,void 0,c),ji=W.equalsEpsilon(L.x,s.x,void 0,c);jt&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),ji&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let je=(f.x-r.x)/P,ds=(x.x-r.x)/P,Kr=(L.x-r.x)/P,Ga=1-b/P,we=(Kr+.5*Ga)%1;pt.ellipsoidShapeUvLongitudeMinMaxMid=h.fromElements(je,ds,we,pt.ellipsoidShapeUvLongitudeMinMaxMid)}if(ye&&(ae&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,St.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=cn,ee?(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,cn+=1):pe?(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,cn+=1):_e&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,cn+=2)),q&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,St.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=cn,J?(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,cn+=2):te?(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,cn+=1):z&&(St.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,cn+=1)),pt.ellipsoidRenderLatitudeSinMinMax=D.fromElements(Math.sin(V.y),Math.sin(L.y),pt.ellipsoidRenderLatitudeSinMinMax)),gt)if(St.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,Te<u)pt.ellipsoidUvToShapeUvLatitude=D.fromElements(0,1,pt.ellipsoidUvToShapeUvLatitude);else{let ji=(s.y-r.y)/Te,je=(r.y-f.y)/Te;pt.ellipsoidUvToShapeUvLatitude=D.fromElements(ji,je,pt.ellipsoidUvToShapeUvLatitude)}return this.shaderMaximumIntersectionsLength=cn,!0};var OTe=new le;R0.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=1/Math.pow(2,e),s=t*r,a=(t+1)*r,c=n*r,d=(n+1)*r,u=i*r,m=(i+1)*r,p=le.subsection(this._rectangle,s,c,a,d,OTe),g=W.lerp(this._minimumHeight,this._maximumHeight,u),f=W.lerp(this._minimumHeight,this._maximumHeight,m);return b7(p,g,f,this._ellipsoid,this._translation,this._rotation,o)};var DTe=new h,BTe=new h,byt=new h;R0.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,DTe),s=h.multiplyByScalar(r,o,DTe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,BTe),o,BTe),c=h.add(a,s,byt),d=le.subsection(this._rectangle,a.x,a.y,c.x,c.y,OTe),u=W.lerp(this._minimumHeight,this._maximumHeight,a.z),m=W.lerp(this._minimumHeight,this._maximumHeight,c.z);return b7(d,u,m,this._ellipsoid,this._translation,this._rotation,i)};function b7(e,t,n,i,o,r,s){return s=In.fromRectangle(e,t,n,i,s),s.center=h.add(s.center,o,s.center),s.halfAxes=$.multiply(s.halfAxes,r,s.halfAxes),s}R0.DefaultMinBounds=Object.freeze(new h(-W.PI,-W.PI_OVER_TWO,-ne.WGS84.minimumRadius));R0.DefaultMaxBounds=Object.freeze(new h(W.PI,W.PI_OVER_TWO,10*ne.WGS84.maximumRadius));var gS=R0;var au={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};au.getMinBounds=function(e){switch(e){case au.BOX:return sp.DefaultMinBounds;case au.ELLIPSOID:return gS.DefaultMinBounds;case au.CYLINDER:return ap.DefaultMinBounds}};au.getMaxBounds=function(e){switch(e){case au.BOX:return sp.DefaultMaxBounds;case au.ELLIPSOID:return gS.DefaultMaxBounds;case au.CYLINDER:return ap.DefaultMaxBounds}};au.getShapeConstructor=function(e){switch(e){case au.BOX:return sp;case au.ELLIPSOID:return gS;case au.CYLINDER:return ap}};var Ai=Object.freeze(au);var WJi=T(S(),1);var AKi=T(S(),1),YTe=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function JB(e,t){this.spatialNode=e,this.keyframe=t,this.state=YTe.UNLOADED,this.metadata=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}JB.priorityComparator=function(e,t){return e.priority-t.priority};JB.searchComparator=function(e,t){return e.keyframe-t.keyframe};JB.LoadState=YTe;var eo=JB;var iJi=T(S(),1);function Hy(e,t,n,i,o){i===Ut.UNSIGNED_SHORT&&(i=Ut.FLOAT32);let r=e.floatingPointTexture;if(i===Ut.FLOAT32&&!r)throw new ce("Floating point texture not supported");let s;i===Ut.FLOAT32||i===Ut.FLOAT64?s=qe.FLOAT:i===Ut.UINT8&&(s=qe.UNSIGNED_BYTE);let a;n===1?a=e.webgl2?st.RED:st.LUMINANCE:n===2?a=e.webgl2?st.RG:st.LUMINANCE_ALPHA:n===3?a=st.RGB:n===4&&(a=st.RGBA);let c=512*1024*1024,d=128*1024*1024;o=Math.min(y(o,d),c);let u=At.maximumTextureSize,m=Ut.getSizeInBytes(i),p=Math.floor(o/(n*m)),g=Math.min(u,W.previousPowerOfTwo(Math.floor(Math.sqrt(p)))),f=Math.ceil(Math.sqrt(t.x)),x=Math.ceil(t.z/f),_=f*t.x,C=x*t.y,V=Math.floor(g/_),L=Math.floor(g/C);if(V===0||L===0)throw new ce("Tileset is too large to fit into megatexture");this.channelCount=n,this.componentType=i,this.voxelCountPerTile=h.clone(t,new h),this.maximumTileCount=V*L,this.regionCountPerMegatexture=new D(V,L),this.voxelCountPerRegion=new D(_,C),this.sliceCountPerRegion=new D(f,x),this.voxelSizeUv=new D(1/g,1/g),this.sliceSizeUv=new D(t.x/g,t.y/g),this.regionSizeUv=new D(_/g,C/g),this.texture=new It({context:e,pixelFormat:a,pixelDatatype:s,flipY:!1,width:g,height:g,sampler:new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:qt.LINEAR,magnificationFilter:bi.LINEAR})});let Z=Ut.toComponentDatatype(i);this.tileVoxelDataTemp=Q.createTypedArray(Z,_*C*n),this.nodes=new Array(this.maximumTileCount);for(let G=0;G<this.maximumTileCount;G++)this.nodes[G]=new gyt(G);for(let G=0;G<this.maximumTileCount;G++){let I=this.nodes[G];I.previousNode=G>0?this.nodes[G-1]:void 0,I.nextNode=G<this.maximumTileCount-1?this.nodes[G+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function gyt(e){this.index=e,this.nextNode=void 0,this.previousNode=void 0}Hy.prototype.add=function(e){if(this.isFull())throw new fe("Trying to add when there are no empty spots");let t=this.emptyList;this.emptyList=this.emptyList.nextNode,l(this.emptyList)&&(this.emptyList.previousNode=void 0),t.nextNode=this.occupiedList,l(t.nextNode)&&(t.nextNode.previousNode=t),this.occupiedList=t;let n=t.index;return this.writeDataToTexture(n,e),this.occupiedCount++,n};Hy.prototype.remove=function(e){if(e<0||e>=this.maximumTileCount)throw new fe("Megatexture index out of bounds");let t=this.nodes[e];l(t.previousNode)&&(t.previousNode.nextNode=t.nextNode),l(t.nextNode)&&(t.nextNode.previousNode=t.previousNode),t.nextNode=this.emptyList,l(t.nextNode)&&(t.nextNode.previousNode=t),t.previousNode=void 0,this.emptyList=t,this.occupiedCount--};Hy.prototype.isFull=function(){return this.emptyList===void 0};Hy.getApproximateTextureMemoryByteLength=function(e,t,n,i){i===Ut.UNSIGNED_SHORT&&(i=Ut.FLOAT32);let o=Ut.getSizeInBytes(i),r=e*t.x*t.y*t.z,s=Math.ceil(Math.sqrt(t.x)),a=Math.ceil(t.z/s),c=s*t.x,d=a*t.y,u=W.previousPowerOfTwo(Math.floor(Math.sqrt(r)));for(;;){let p=Math.floor(u/c),g=Math.floor(u/d);if(p*g>=e)break;u*=2}return u*u*n*o};Hy.prototype.writeDataToTexture=function(e,t){let n=t.constructor===Uint16Array?new Float32Array(t):t,i=this.voxelCountPerTile,o=this.sliceCountPerRegion,r=this.voxelCountPerRegion,s=this.channelCount,a=this.tileVoxelDataTemp;for(let x=0;x<i.z;x++){let _=x%o.x*i.x,C=Math.floor(x/o.x)*i.y;for(let V=0;V<i.y;V++)for(let L=0;L<i.x;L++){let Z=x*i.y*i.x+V*i.x+L,G=(C+V)*r.x+(_+L);for(let I=0;I<s;I++)a[G*s+I]=n[Z*s+I]}}let c=this.regionCountPerMegatexture,d=r.x,u=r.y,m=e%c.x*r.x,p=Math.floor(e/c.x)*r.y,f={source:{arrayBufferView:a,width:d,height:u},xOffset:m,yOffset:p};this.texture.copyFrom(f)};Hy.prototype.isDestroyed=function(){return!1};Hy.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),me(this)};var RL=Hy;var hJi=T(S(),1);function bm(e,t,n,i,o,r,s){this.children=void 0,this.parent=o,this.level=e,this.x=t,this.y=n,this.z=i,this.dimensions=h.clone(s),this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new In,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(r)}var yyt=new h;bm.prototype.computeBoundingVolumes=function(e){this.orientedBoundingBox=e.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let t=$.getScale(this.orientedBoundingBox.halfAxes,yyt),n=2*h.maximumComponent(t);this.approximateVoxelSize=n/h.minimumComponent(this.dimensions)};bm.prototype.constructChildNodes=function(e){let{level:t,x:n,y:i,z:o}=this,r=n*2,s=i*2,a=o*2,c=s+1,d=r+1,u=a+1,m=t+1,p=[[m,r,s,a],[m,d,s,a],[m,r,c,a],[m,d,c,a],[m,r,s,u],[m,d,s,u],[m,r,c,u],[m,d,c,u]];this.children=p.map(([g,f,x,_])=>new bm(g,f,x,_,this,e,this.dimensions))};bm.prototype.visibility=function(e,t){let n=this.orientedBoundingBox;return e.cullingVolume.computeVisibilityWithPlaneMask(n,t)};bm.prototype.computeScreenSpaceError=function(e,t){let n=this.orientedBoundingBox,i=Math.sqrt(n.distanceSquaredTo(e));i=Math.max(i,W.EPSILON7);let o=this.approximateVoxelSize,r=t*(o/i);this.screenSpaceError=r};var HTe={keyframe:0};function lM(e,t){return HTe.keyframe=e,Io(t,HTe,eo.searchComparator)}bm.prototype.computeSurroundingRenderableKeyframeNodes=function(e){let t=this,n=t.level,i=Math.floor(e),o=Math.ceil(e),r,s,a=+Number.MAX_VALUE,c=+Number.MAX_VALUE;for(;l(t);){let{renderableKeyframeNodes:m}=t;if(m.length>=1){let p=xyt(i,m),g=m[p],f=o===i||i<g.keyframe?p:Math.min(p+1,m.length-1),x=m[f],_=i-g.keyframe,C=zTe(n-t.level,_);C<a&&(a=C,r=g);let V=x.keyframe-o,L=zTe(n-t.level,V);if(L<c&&(c=L,s=x),_===0&&V===0)break}t=t.parent}if(this.renderableKeyframeNodePrevious=r,this.renderableKeyframeNodeNext=s,!l(r)||!l(s))return;let d=r.keyframe,u=s.keyframe;this.renderableKeyframeNodeLerp=d===u?0:W.clamp((e-d)/(u-d),0,1)};function xyt(e,t){let n=lM(e,t);return n<0?W.clamp(~n-1,0,t.length-1):n}function zTe(e,t){let n=Math.exp(e*4),i=t>=0?1:-200;return e*n+t*i}bm.prototype.isVisited=function(e){return this.visitedFrameNumber===e};bm.prototype.createKeyframeNode=function(e){let t=lM(e,this.keyframeNodes);if(t<0){t=~t;let n=new eo(this,e);this.keyframeNodes.splice(t,0,n)}};bm.prototype.destroyKeyframeNode=function(e,t){let n=e.keyframe,i=lM(n,this.keyframeNodes);if(i<0)throw new fe("Keyframe node does not exist.");if(this.keyframeNodes.splice(i,1),e.megatextureIndex!==-1){for(let r=0;r<t.length;r++)t[r].remove(e.megatextureIndex);let o=lM(n,this.renderableKeyframeNodes);if(o<0)throw new fe("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(o,1)}e.spatialNode=void 0,e.state=eo.LoadState.UNLOADED,e.metadata={},e.megatextureIndex=-1,e.priority=-Number.MAX_VALUE,e.highPriorityFrameNumber=-1};bm.prototype.addKeyframeNodeToMegatextures=function(e,t){if(e.state!==eo.LoadState.RECEIVED||e.megatextureIndex!==-1||e.metadata.length!==t.length)throw new fe("Keyframe node cannot be added to megatexture");for(let o=0;o<t.length;o++){let r=t[o];e.megatextureIndex=r.add(e.metadata[o])}e.state=eo.LoadState.LOADED;let n=this.renderableKeyframeNodes,i=lM(e.keyframe,n);if(i>=0)throw new fe("Keyframe already renderable");i=~i,n.splice(i,0,e)};bm.prototype.isRenderable=function(e){let t=this.renderableKeyframeNodePrevious,n=this.renderableKeyframeNodeNext,i=this.level;return l(t)&&l(n)&&(t.spatialNode.level===i||n.spatialNode.level===i)&&this.visitedFrameNumber===e};var dM=bm;function Z0(e,t,n,i,o,r,s){this._primitive=e,this.megatextures=new Array(i.length);for(let f=0;f<i.length;f++){let x=i[f],_=ft.getComponentCount(x),C=o[f];this.megatextures[f]=new RL(t,n,_,C,s)}let a=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let c=e._shape;this.rootNode=new dM(0,0,0,0,void 0,c,n),this._priorityQueue=new AT({maximumLength:a,comparator:eo.priorityComparator}),this._highPriorityKeyframeNodes=new Array(a),this._keyframeNodesInMegatexture=new Array(a),this._keyframeCount=r,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(r);let d=this._binaryTreeKeyframeWeighting;d[0]=0,d[r-1]=0,g7(d,1,r-2,0);let u=9,m=2048,p=Math.floor(m/u),g=Math.ceil(a/p);this.internalNodeTexture=new It({context:t,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,flipY:!1,width:m,height:g,sampler:new $t({minificationFilter:qt.NEAREST,magnificationFilter:bi.NEAREST})}),this.internalNodeTilesPerRow=p,this.internalNodeTexelSizeUv=new D(1/m,1/g),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new D}Z0.prototype.findKeyframeNode=function(e){return this._keyframeNodesInMegatexture.find(function(t){return t.megatextureIndex===e})};function g7(e,t,n,i){if(t>n)return;let o=Math.floor((t+n)/2);e[o]=i,g7(e,t,o-1,i+1),g7(e,o+1,n,i+1)}Z0.simultaneousRequestCountMaximum=50;Z0.prototype.update=function(e,t,n,i){let o=this._primitive,r=e.context,s=this.megatextures[0].maximumTileCount,a=this._keyframeCount,c=o._levelBlendFactor,d=c>0,u=a>1,m=(d?2:1)*(u?2:1);this._sampleCount=m;let p=m>=2;if(p&&!l(this.leafNodeTexture)){let V=Math.floor(512),L=Math.ceil(s/V);this.leafNodeTexture=new It({context:r,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,flipY:!1,width:1024,height:L,sampler:new $t({minificationFilter:qt.NEAREST,magnificationFilter:bi.NEAREST})}),this.leafNodeTexelSizeUv=D.fromElements(1/1024,1/L,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=V}else!p&&l(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=W.clamp(t,0,a-1),n&&KTe(this,this.rootNode),i)return;this._frameNumber=e.frameNumber;let g=Ci();Syt(this,e);let f=Ci();Lyt(this,m,c);let x=Ci();if(this._debugPrint){let _=f-g,C=x-f,V=x-g;Vyt(this,_,C,V)}};Z0.prototype.isRenderable=function(e){return e.isRenderable(this._frameNumber)};Z0.prototype.isDestroyed=function(){return!1};Z0.prototype.destroy=function(){let e=this.megatextures,t=e.length;for(let n=0;n<t;n++)e[n]=e[n]&&e[n].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),me(this)};function KTe(e,t){if(t.computeBoundingVolumes(e._primitive._shape),l(t.children))for(let n=0;n<8;n++){let i=t.children[n];KTe(e,i)}}function _yt(e,t){if(e._simultaneousRequestCount>=Z0.simultaneousRequestCountMaximum)return;let n=e._primitive._provider;function i(c){e._simultaneousRequestCount--;let d=n.types.length;if(!l(c))t.state=eo.LoadState.UNAVAILABLE;else if(c===eo.LoadState.FAILED)t.state=eo.LoadState.FAILED;else if(!Array.isArray(c)||c.length!==d)t.state=eo.LoadState.FAILED;else{let u=e.megatextures;for(let m=0;m<d;m++){let{voxelCountPerTile:p,channelCount:g}=u[m],{x:f,y:x,z:_}=p,C=f*x*_,V=c[m],L=C*g;if(V.length===L)t.metadata[m]=V,t.state=eo.LoadState.RECEIVED;else{t.state=eo.LoadState.FAILED;break}}}}function o(){e._simultaneousRequestCount--,t.state=eo.LoadState.FAILED}let{keyframe:r,spatialNode:s}=t,a=n.requestData({tileLevel:s.level,tileX:s.x,tileY:s.y,tileZ:s.z,keyframe:r});l(a)?(e._simultaneousRequestCount++,t.state=eo.LoadState.RECEIVING,a.then(i).catch(o)):t.state=eo.LoadState.FAILED}function Tyt(e){return e/(1+e)}function Syt(e,t){let n=e._frameNumber,i=e._primitive,o=i._shape,r=i.screenSpaceError,s=e._priorityQueue,a=e._keyframeCount,c=W.clamp(Math.floor(e._keyframeLocation),0,a-2),d=c+1,{camera:u,context:m,pixelRatio:p}=t,{positionWC:g,frustum:f}=u,_=m.drawingBufferHeight/p/f.sseDenominator;function C(A,b){if(A.computeScreenSpaceError(g,_),b=A.visibility(t,b),b===ps.MASK_OUTSIDE)return;if(A.visitedFrameNumber=n,a===1)A.createKeyframeNode(0);else if(A.keyframeNodes.length!==a)for(let N=0;N<a;N++)A.createKeyframeNode(N);let{screenSpaceError:R,keyframeNodes:E}=A,X=Tyt(R),F=!1;for(let N=0;N<E.length;N++){let O=E[N];O.priority=10*X+Cyt(c,O.keyframe,d,e),O.state!==eo.LoadState.UNAVAILABLE&&O.state!==eo.LoadState.FAILED&&O.priority!==-Number.MAX_VALUE&&s.insert(O),O.state===eo.LoadState.LOADED&&(F=!0)}if(R<r||!F){A.children=void 0;return}l(A.children)||A.constructChildNodes(o);for(let N=0;N<8;N++){let O=A.children[N];C(O,b)}}s.reset(),C(e.rootNode,ps.MASK_INDETERMINATE);let V=e._highPriorityKeyframeNodes,L=0,Z;for(;s.length>0;)Z=s.removeMaximum(),Z.highPriorityFrameNumber=n,V[L]=Z,L++;let G=e._keyframeNodesInMegatexture,I=e.megatextures[0],v=I.occupiedCount;G.length=v,G.sort(function(A,b){return A.highPriorityFrameNumber===b.highPriorityFrameNumber?b.priority-A.priority:b.highPriorityFrameNumber-A.highPriorityFrameNumber});let P=0,w=0;for(let A=0;A<L;A++)if(Z=V[A],!(Z.state===eo.LoadState.LOADED||Z.spatialNode===void 0)&&(Z.state===eo.LoadState.UNLOADED&&_yt(e,Z),Z.state===eo.LoadState.RECEIVED)){let b=0;if(I.isFull()){b=v-1-P,P++;let R=G[b];R.spatialNode.destroyKeyframeNode(R,e.megatextures)}else b=v+w,w++;Z.spatialNode.addKeyframeNodeToMegatextures(Z,e.megatextures),G[b]=Z}}function Cyt(e,t,n,i){let o=Math.min(Math.abs(t-e),Math.abs(t-n)),r=Math.max(e,i._keyframeCount-n-1,1),s=Math.pow(1-o/r,4),a=Math.exp(-i._binaryTreeKeyframeWeighting[t]);return W.lerp(a,s,.15+.85*s)}function Vyt(e,t,n,i){let o=e._keyframeCount,r=e.rootNode,s=Object.keys(eo.LoadState).length,a=new Array(s),c=new Array(s),d=0;for(let C=0;C<s;C++){let V=new Array(o);a[C]=V;for(let L=0;L<o;L++)V[L]=0;c[C]=0}function u(C){let V=C.keyframeNodes;for(let L=0;L<V.length;L++){let Z=V[L],G=Z.keyframe,I=Z.state;a[I][G]+=1,c[I]+=1,d++}if(l(C.children))for(let L=0;L<8;L++){let Z=C.children[L];u(Z)}}u(r);let m=`KEYFRAMES: ${a[eo.LoadState.LOADED]}`,p=`UNLOADED: ${c[eo.LoadState.UNLOADED]} | RECEIVING: ${c[eo.LoadState.RECEIVING]} | RECEIVED: ${c[eo.LoadState.RECEIVED]} | LOADED: ${c[eo.LoadState.LOADED]} | FAILED: ${c[eo.LoadState.FAILED]} | UNAVAILABLE: ${c[eo.LoadState.UNAVAILABLE]} | TOTAL: ${d}`,g=Math.round(t*100)/100,f=Math.round(n*100)/100,x=Math.round(i*100)/100,_=`LOAD: ${g} | OCT: ${f} | ALL: ${x}`;console.log(`${m} || ${p} || ${_}`)}var QB={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function Lyt(e,t,n){let i=e._primitive._screenSpaceError,o=e._keyframeLocation,r=e._frameNumber,s=t>=2,a=0,c=0,d=[],u=[];function m(g,f,x,_,C){let V=!1;if(l(g.children))for(let L=0;L<8;L++){let Z=g.children[L];Z.computeSurroundingRenderableKeyframeNodes(o),Z.isRenderable(r)&&(V=!0)}if(V){d[C]=QB.INTERNAL<<16|f,d[x]=_,a++,_=f,C=_*9+1;for(let L=0;L<8;L++){let Z=g.children[L];f=a,x=f*9+0,m(Z,f,x,_,C+L)}}else{if(s){let L=c*5,Z=g.renderableKeyframeNodePrevious,G=g.level-Z.spatialNode.level,I=Z.spatialNode.parent,v=l(I)?I.renderableKeyframeNodePrevious:Z,P=Ryt(g,i,n),w=G,A=1,b=Z.megatextureIndex,R=v.megatextureIndex;u[L+0]=P,u[L+1]=w,u[L+2]=A,u[L+3]=b,u[L+4]=R,d[C]=QB.LEAF<<16|c}else{let L=g.renderableKeyframeNodePrevious,G=g.level-L.spatialNode.level===0?QB.LEAF:QB.PACKED_LEAF_FROM_PARENT;d[C]=G<<16|L.megatextureIndex}c++}}let p=e.rootNode;p.computeSurroundingRenderableKeyframeNodes(o),p.isRenderable(r)&&m(p,0,0,0,0),Zyt(d,9,e.internalNodeTilesPerRow,e.internalNodeTexture),s&&Gyt(u,2,e.leafNodeTilesPerRow,e.leafNodeTexture)}function Ryt(e,t,n){if(e.parent===void 0)return 0;let i=e.screenSpaceError,o=e.parent.screenSpaceError,s=((t-i)/(o-i)+n-1)/n;return W.clamp(s,0,1)}function Zyt(e,t,n,i){let o=st.componentsLength(i.pixelFormat),r=Math.ceil(e.length/t),s=Math.max(1,t*Math.min(r,n)),a=Math.max(1,Math.ceil(r/n)),c=new Uint8Array(s*a*o);for(let m=0;m<e.length;m++){let p=e[m],g=m*o;for(let f=0;f<o;f++)c[g+f]=p>>>f*8&255}let u={source:{arrayBufferView:c,width:s,height:a},xOffset:0,yOffset:0};i.copyFrom(u)}function Gyt(e,t,n,i){let o=st.componentsLength(i.pixelFormat),r=5,s=Math.ceil(e.length/r),a=Math.max(1,t*Math.min(s,n)),c=Math.max(1,Math.ceil(s/n)),d=new Uint8Array(a*c*o);for(let p=0;p<s;p++){let g=e[p*r+0],f=e[p*r+1],x=e[p*r+2],_=e[p*r+3],C=e[p*r+4],V=W.clamp(Math.floor(65536*g),0,65535);d[p*8+0]=V>>>0&255,d[p*8+1]=V>>>8&255,d[p*8+2]=f&255,d[p*8+3]=x&255,d[p*8+4]=_>>>0&255,d[p*8+5]=_>>>8&255,d[p*8+6]=C>>>0&255,d[p*8+7]=C>>>8&255}let m={source:{arrayBufferView:d,width:a,height:c},xOffset:0,yOffset:0};i.copyFrom(m)}Z0.getApproximateTextureMemoryByteLength=function(e,t,n,i){let o=0,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=i[s],d=ft.getComponentCount(a);o+=RL.getApproximateTextureMemoryByteLength(e,t,d,c)}return o};var ZL=Z0;var tQi=T(S(),1);var vJi=T(S(),1),Eyt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},GL=Object.freeze(Eyt);var YJi=T(S(),1);function EL(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}EL.prototype.getTexture=function(e){return this._textures[e]};function Iyt(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];l(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}EL.prototype.loadTexture2D=function(e,t){l(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):Iyt(this,e,t)};function Xyt(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?jB(o,r,n):Wyt(o,r,n),a=e._textures[i];l(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function jB(e,t,n){let{typedArray:i,sampler:o}=e,r=l(i)?QTe(e,n):new It({context:n,source:t,sampler:o});return JTe(o)&&r.generateMipmap(),r}function Wyt(e,t,n){let{typedArray:i,sampler:o}=e,r=JTe(o),s=o.wrapS===Ln.REPEAT||o.wrapS===Ln.MIRRORED_REPEAT||o.wrapT===Ln.REPEAT||o.wrapT===Ln.MIRRORED_REPEAT,{width:a,height:c}=l(i)?e:t,d=[a,c].every(W.isPowerOfTwo);if((r||s)&&!d)if(l(i)){if(e.pixelDatatype===qe.UNSIGNED_BYTE){let m=Gw(i,a,c),p=fg(m);return jB({sampler:o},p,n)}}else{let m=fg(t);return jB(e,m,n)}else return jB(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),QTe(e,n)}function JTe(e){return[qt.NEAREST_MIPMAP_NEAREST,qt.NEAREST_MIPMAP_LINEAR,qt.LINEAR_MIPMAP_NEAREST,qt.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function QTe(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new It({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}EL.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];Xyt(this,o,t)}n.length=0};EL.prototype.isDestroyed=function(){return!1};EL.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return me(this)};var uM=EL;function mM(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,gb.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,Xg.INHERIT),this._textureManager=new uM,this._defaultTexture=void 0,this.uniformMap=Pyt(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},Fyt(this),Ayt(this)}function Pyt(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===GL.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=vyt(e,i)):n[i]=wyt(e,i)}return n}function vyt(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function wyt(e,t){return function(){return e.uniforms[t].value}}function yS(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function Fyt(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;l(r)&&(o=e.usedVariablesVertex.attributeSet,yS(r,t,o),o=e.usedVariablesVertex.featureIdSet,yS(r,n,o),o=e.usedVariablesVertex.metadataSet,yS(r,i,o));let s=e.fragmentShaderText;if(l(s)){o=e.usedVariablesFragment.attributeSet,yS(s,t,o),o=e.usedVariablesFragment.featureIdSet,yS(s,n,o),o=e.usedVariablesFragment.metadataSet,yS(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;yS(s,a,c)}}function jTe(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function Wc(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${jTe(t)} is not available in the ${i} shader. Did you mean ${jTe(n)} instead?`;throw new fe(o)}}function Ayt(e){let t=e.usedVariablesVertex.attributeSet;Wc(t,"position","positionMC","vertex"),Wc(t,"normal","normalMC","vertex"),Wc(t,"tangent","tangentMC","vertex"),Wc(t,"bitangent","bitangentMC","vertex"),Wc(t,"positionWC","positionMC","vertex"),Wc(t,"positionEC","positionMC","vertex"),Wc(t,"normalEC","normalMC","vertex"),Wc(t,"tangentEC","tangentMC","vertex"),Wc(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;Wc(n,"position","positionEC","fragment"),Wc(n,"normal","normalEC","fragment"),Wc(n,"tangent","tangentEC","fragment"),Wc(n,"bitangent","bitangentEC","fragment"),Wc(n,"normalMC","normalEC","fragment"),Wc(n,"tangentMC","tangentEC","fragment"),Wc(n,"bitangentMC","bitangentEC","fragment")}mM.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===GL.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):l(t.clone)?n.value=t.clone(n.value):n.value=t};mM.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};mM.prototype.isDestroyed=function(){return!1};mM.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),me(this)};var xS=mM;function cp(e){e=y(e,y.EMPTY_OBJECT),this._ready=!1,this._provider=y(e.provider,cp.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new h,this._paddingAfter=new h,this._minBounds=new h,this._minBoundsOld=new h,this._maxBounds=new h,this._maxBoundsOld=new h,this._exaggeratedMinBounds=new h,this._exaggeratedMinBoundsOld=new h,this._exaggeratedMaxBounds=new h,this._exaggeratedMaxBoundsOld=new h,this._minClippingBounds=new h,this._minClippingBoundsOld=new h,this._maxClippingBounds=new h,this._maxClippingBoundsOld=new h,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._exaggeratedModelMatrix=M.clone(this._modelMatrix),this._compoundModelMatrix=new M,this._compoundModelMatrixOld=new M,this._customShader=y(e.customShader,cp.DefaultCustomShader),this._customShaderCompilationEvent=new be,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=e.clock,this._transformPositionWorldToUv=new M,this._transformPositionUvToWorld=new M,this._transformDirectionWorldToLocal=new $,this._transformNormalLocalToWorld=new $,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new nh,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new D,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new D,megatextureTextures:[],megatextureSliceDimensions:new D,megatextureTileDimensions:new D,megatextureVoxelSizeUv:new D,megatextureSliceSizeUv:new D,megatextureTileSizeUv:new D,dimensions:new h,paddingBefore:new h,paddingAfter:new h,transformPositionViewToUv:new M,transformPositionUvToView:new M,transformDirectionViewToLocal:new $,transformNormalLocalToWorld:new $,cameraPositionUv:new h,ndcSpaceAxisAlignedBoundingBox:new re,clippingPlanesTexture:void 0,clippingPlanesMatrix:new M,stepSize:0,pickColor:new B},this._shapeDefinesOld={},this._uniformMap={};let t=this._uniforms,n=this._uniformMap;for(let o in t)if(t.hasOwnProperty(o)){let r=`u_${o}`;n[r]=function(){return t[o]}}let i=this._provider;Myt(this,i)}function Myt(e,t){let{shape:n,minBounds:i=Ai.getMinBounds(n),maxBounds:o=Ai.getMaxBounds(n)}=t;e.minBounds=i,e.maxBounds=o,e.minClippingBounds=Ai.getMinBounds(n),e.maxClippingBounds=Ai.getMaxBounds(n),e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e._exaggeratedModelMatrix=M.clone(e._modelMatrix,e._exaggeratedModelMatrix),$Te(e,t);let r=Ai.getShapeConstructor(n);e._shape=new r,e._shapeVisible=eSe(e,e._shape,t)}Object.defineProperties(cp.prototype,{ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this._shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=M.clone(e,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(e){this._disableRender=!e}},disableUpdate:{get:function(){return this._disableUpdate},set:function(e){this._disableUpdate=e}},debugDraw:{get:function(){return this._debugDraw},set:function(e){this._debugDraw=e}},depthTest:{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(e){this._nearestSampling!==e&&(this._nearestSampling=e,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(e){this._levelBlendFactor=W.clamp(e,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(e){this._screenSpaceError=e}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(e){this._stepSizeMultiplier=e}},minBounds:{get:function(){return this._minBounds},set:function(e){this._minBounds=h.clone(e,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(e){this._maxBounds=h.clone(e,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(e){this._minClippingBounds=h.clone(e,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(e){this._maxClippingBounds=h.clone(e,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){bs.setOwner(e,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(e){if(this._customShader!==e){let t=this._uniformMap,i=this._customShader.uniformMap;for(let o in i)i.hasOwnProperty(o)&&delete t[o];l(e)?this._customShader=e:this._customShader=cp.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var Nyt=new h,kyt=new re,Uyt=new re,Dyt=new h,Byt=new h,Oyt=new $,Yyt=new $,Hyt=new M,zyt=new M,Kyt=new M,Jyt=M.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new M),Qyt=M.fromRotationTranslation($.fromUniformScale(2,new $),new h(-1,-1,-1),new M);cp.prototype.update=function(e){let t=this._provider;this._customShader.update(e);let n=e.context;if(!this._ready){nxt(this,t,n),e.afterRender.push(()=>(this._ready=!0,!0));return}ext(this,e);let i=$Te(this,t),o=this._shape;if(i&&(this._shapeVisible=eSe(this,o,t),rxt(this,o)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let r=sxt(t.timeIntervalCollection,this._clock),s=this._traversal,a=s._sampleCount;if(s.update(e,r,i,this._disableUpdate),a!==s._sampleCount&&(this._shaderDirty=!0),!s.isRenderable(s.rootNode)||(this._debugDraw&&fxt(this,e),this._disableRender))return;this._useLogDepth!==e.useLogDepth&&(this._useLogDepth=e.useLogDepth,this._shaderDirty=!0),axt(this,e)&&(this._shaderDirty=!0);let d=s.leafNodeTexture,u=this._uniforms;l(d)&&(u.octreeLeafNodeTexture=s.leafNodeTexture,u.octreeLeafNodeTexelSizeUv=D.clone(s.leafNodeTexelSizeUv,u.octreeLeafNodeTexelSizeUv),u.octreeLeafNodeTilesPerRow=s.leafNodeTilesPerRow),this._shaderDirty&&(cM(this,n),this._shaderDirty=!1);let m=n.uniformState.viewProjection,p=o.orientedBoundingBox,g=dxt(p,m,Uyt);if(g.x===1||g.y===1||g.z===-1||g.w===-1)return;u.ndcSpaceAxisAlignedBoundingBox=re.clone(g,u.ndcSpaceAxisAlignedBoundingBox);let x=n.uniformState.inverseView;u.transformPositionViewToUv=M.multiplyTransformation(this._transformPositionWorldToUv,x,u.transformPositionViewToUv);let _=n.uniformState.view;u.transformPositionUvToView=M.multiplyTransformation(_,this._transformPositionUvToWorld,u.transformPositionUvToView);let C=n.uniformState.inverseViewRotation;u.transformDirectionViewToLocal=$.multiply(this._transformDirectionWorldToLocal,C,u.transformDirectionViewToLocal),u.transformNormalLocalToWorld=$.clone(this._transformNormalLocalToWorld,u.transformNormalLocalToWorld);let V=e.camera.positionWC;u.cameraPositionUv=M.multiplyByPoint(this._transformPositionWorldToUv,V,u.cameraPositionUv),u.stepSize=this._stepSizeMultiplier;let L=e.passes.pick?this._drawCommandPick:e.passes.pickVoxel?this._drawCommandPickVoxel:this._drawCommand;L.boundingVolume=o.boundingSphere,e.commandList.push(L)};var jyt=new h,y7=new h,qyt=new he,$yt=new h;function ext(e,t){if(e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e.shape===Ai.ELLIPSOID){let n=t.verticalExaggerationRelativeHeight,i=t.verticalExaggeration;e._exaggeratedMinBounds.z=(e._minBounds.z-n)*i+n,e._exaggeratedMaxBounds.z=(e._maxBounds.z-n)*i+n}else if(e.shape===Ai.BOX){let n=h.fromElements(1,1,t.verticalExaggeration,jyt);e._exaggeratedModelMatrix=M.multiplyByScale(e._modelMatrix,n,e._exaggeratedModelMatrix),e._exaggeratedModelMatrix=M.multiplyByTranslation(e._exaggeratedModelMatrix,txt(e,t),e._exaggeratedModelMatrix)}}function txt(e,t){let{shapeTransform:n=M.IDENTITY,globalTransform:i=M.IDENTITY}=e._provider,o=M.getTranslation(n,y7),r=M.multiplyByPoint(e._modelMatrix,o,y7),s=M.multiplyByPoint(i,r,y7),c=ne.WGS84.cartesianToCartographic(s,qyt),d=0;l(c)&&(d=c.height);let u=Cr.getHeight(d,t.verticalExaggeration,t.verticalExaggerationRelativeHeight);return h.fromElements(0,0,(u-d)/t.verticalExaggeration,$yt)}function nxt(e,t,n){let i=e._uniforms;e._pickId=n.createPickId({primitive:e}),i.pickColor=B.clone(e._pickId.color,i.pickColor);let{shaderDefines:o,shaderUniforms:r}=e._shape;e._shapeDefinesOld=He(o,!0);let s=e._uniformMap;for(let a in r)if(r.hasOwnProperty(a)){let c=`u_${a}`;s[c]=function(){return r[a]}}i.dimensions=h.clone(t.dimensions,i.dimensions),e._paddingBefore=h.clone(y(t.paddingBefore,h.ZERO),e._paddingBefore),i.paddingBefore=h.clone(e._paddingBefore,i.paddingBefore),e._paddingAfter=h.clone(y(t.paddingAfter,h.ZERO),e._paddingBefore),i.paddingAfter=h.clone(e._paddingAfter,i.paddingAfter),e._traversal=ixt(e,t,n),oxt(e._traversal,i)}function $Te(e,t){let n=y(t.shapeTransform,M.IDENTITY),i=y(t.globalTransform,M.IDENTITY);return M.multiplyTransformation(i,e._exaggeratedModelMatrix,e._compoundModelMatrix),M.multiplyTransformation(e._compoundModelMatrix,n,e._compoundModelMatrix),_S(e,"_compoundModelMatrix","_compoundModelMatrixOld")+_S(e,"_minBounds","_minBoundsOld")+_S(e,"_maxBounds","_maxBoundsOld")+_S(e,"_exaggeratedMinBounds","_exaggeratedMinBoundsOld")+_S(e,"_exaggeratedMaxBounds","_exaggeratedMaxBoundsOld")+_S(e,"_minClippingBounds","_minClippingBoundsOld")+_S(e,"_maxClippingBounds","_maxClippingBoundsOld")>0}function _S(e,t,n){let i=e[t],o=e[n],r=!i.equals(o);return r&&i.clone(o),r?1:0}function eSe(e,t,n){if(!t.update(e._compoundModelMatrix,e._exaggeratedMinBounds,e._exaggeratedMaxBounds,e.minClippingBounds,e.maxClippingBounds))return!1;let o=t.shapeTransform,r=M.inverse(o,Hyt),s=M.getRotation(o,Oyt),a=M.getScale(o,Dyt),c=h.maximumComponent(a),d=h.divideByScalar(a,c,Byt),u=$.multiplyByScale(s,d,Yyt);return e._transformPositionWorldToUv=M.multiplyTransformation(Jyt,r,e._transformPositionWorldToUv),e._transformPositionUvToWorld=M.multiplyTransformation(o,Qyt,e._transformPositionUvToWorld),e._transformDirectionWorldToLocal=M.getMatrix3(r,e._transformDirectionWorldToLocal),e._transformNormalLocalToWorld=$.inverseTranspose(u,e._transformNormalLocalToWorld),!0}function ixt(e,t,n){let i=h.clone(t.dimensions,Nyt);h.add(i,e._paddingBefore,i),h.add(i,e._paddingAfter,i);let o=t.maximumTileCount,r=l(o)?ZL.getApproximateTextureMemoryByteLength(o,i,t.types,t.componentTypes):void 0,s=y(t.keyframeCount,1);return new ZL(e,n,i,t.types,t.componentTypes,s,r)}function oxt(e,t){t.octreeInternalNodeTexture=e.internalNodeTexture,t.octreeInternalNodeTexelSizeUv=D.clone(e.internalNodeTexelSizeUv,t.octreeInternalNodeTexelSizeUv),t.octreeInternalNodeTilesPerRow=e.internalNodeTilesPerRow;let n=e.megatextures,i=n[0],o=n.length;t.megatextureTextures=new Array(o);for(let r=0;r<o;r++)t.megatextureTextures[r]=n[r].texture;t.megatextureSliceDimensions=D.clone(i.sliceCountPerRegion,t.megatextureSliceDimensions),t.megatextureTileDimensions=D.clone(i.regionCountPerMegatexture,t.megatextureTileDimensions),t.megatextureVoxelSizeUv=D.clone(i.voxelSizeUv,t.megatextureVoxelSizeUv),t.megatextureSliceSizeUv=D.clone(i.sliceSizeUv,t.megatextureSliceSizeUv),t.megatextureTileSizeUv=D.clone(i.regionSizeUv,t.megatextureTileSizeUv)}function rxt(e,t){let n=t.shaderDefines,i=Object.keys(n).some(o=>n[o]!==e._shapeDefinesOld[o]);return i&&(e._shapeDefinesOld=He(n,!0)),i}function sxt(e,t){if(!l(e)||!l(t))return 0;let n=t.currentTime,i,o=e.indexOf(n);o>=0?i=e.get(o):(o=~o,o===e.length?(o=e.length-1,i=e.get(o),n=i.stop):(i=e.get(o),n=i.start));let r=j.secondsDifference(i.stop,i.start),a=j.secondsDifference(n,i.start)/r;return o+a}function axt(e,t){let n=e.clippingPlanes;if(!l(n))return!1;n.update(t);let{clippingPlanesState:i,enabled:o}=n;if(o){let r=e._uniforms;r.clippingPlanesTexture=n.texture,r.clippingPlanesMatrix=M.transpose(M.multiplyTransformation(M.inverse(n.modelMatrix,r.clippingPlanesMatrix),e._transformPositionUvToWorld,r.clippingPlanesMatrix),r.clippingPlanesMatrix)}return e._clippingPlanesState===i&&e._clippingPlanesEnabled===o?!1:(e._clippingPlanesState=i,e._clippingPlanesEnabled=o,!0)}cp.prototype.isDestroyed=function(){return!1};cp.prototype.destroy=function(){let e=this._drawCommand;l(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy());let t=this._drawCommandPick;return l(t)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),me(this)};var qTe=new Array(new re(-1,-1,-1,1),new re(1,-1,-1,1),new re(-1,1,-1,1),new re(1,1,-1,1),new re(-1,-1,1,1),new re(1,-1,1,1),new re(-1,1,1,1),new re(1,1,1,1)),cxt=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),lxt=new Array(new re,new re,new re,new re,new re,new re,new re,new re);function dxt(e,t,n){let i=M.fromRotationTranslation(e.halfAxes,e.center,zyt),o=M.multiply(t,i,Kyt),r=+Number.MAX_VALUE,s=-Number.MAX_VALUE,a=+Number.MAX_VALUE,c=-Number.MAX_VALUE,d,u=lxt,m=qTe.length;for(d=0;d<m;d++)M.multiplyByVector(o,qTe[d],u[d]);for(d=0;d<m;d++){let p=u[d];if(p.z>=-p.w){let g=p.x/p.w,f=p.y/p.w;r=Math.min(r,g),s=Math.max(s,g),a=Math.min(a,f),c=Math.max(c,f)}else for(let g=0;g<3;g++){let f=cxt[d*3+g],x=u[f];if(x.z>=-x.w){let _=p.z+p.w,C=x.z+x.w,V=_/(_-C),L=re.lerp(p,x,V,kyt),Z=L.x/L.w,G=L.y/L.w;r=Math.min(r,Z),s=Math.max(s,Z),a=Math.min(a,G),c=Math.max(c,G)}}}return r=W.clamp(r,-1,1),a=W.clamp(a,-1,1),s=W.clamp(s,-1,1),c=W.clamp(c,-1,1),n=re.fromElements(r,a,s,c,n),n}var x7=3e7,uxt=new h(x7,0,0),mxt=new h(0,x7,0),hxt=new h(0,0,x7);function fxt(e,t){let n=e._traversal,i=e._debugPolylines;i.removeAll();function o(c,d,u,m){i.add({positions:[c,d],width:m,material:Yi.fromType("Color",{color:u})})}function r(c,d,u){let m=c.computeCorners();o(m[0],m[1],d,u),o(m[2],m[3],d,u),o(m[4],m[5],d,u),o(m[6],m[7],d,u),o(m[0],m[2],d,u),o(m[4],m[6],d,u),o(m[1],m[3],d,u),o(m[5],m[7],d,u),o(m[0],m[4],d,u),o(m[2],m[6],d,u),o(m[1],m[5],d,u),o(m[3],m[7],d,u)}function s(c){if(!n.isRenderable(c))return;let d=c.level,m=Math.max(1,5/Math.pow(2,d)),g=[B.RED,B.LIME,B.BLUE][d%3];if(r(c.orientedBoundingBox,g,m),l(c.children))for(let f=0;f<8;f++)s(c.children[f])}r(e._shape.orientedBoundingBox,B.WHITE,5),s(n.rootNode);let a=10;o(h.ZERO,uxt,B.RED,a),o(h.ZERO,mxt,B.LIME,a),o(h.ZERO,hxt,B.BLUE,a),i.update(t)}cp.DefaultCustomShader=new xS({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { - vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); - gl_Position = czm_projection * vec4(p, 1.0); - v_texCoord = position.xyz; -} -`;function LL(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new tt({modelMatrix:M.clone(M.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}LL.prototype.update=function(e,t){let n=this,{mode:i,passes:o,context:r}=e;if(!this.show||i!==oe.SCENE3D&&i!==oe.MORPHING||!o.render)return;if(this._sources!==this.sources){this._sources=this.sources;let a=this.sources;typeof a.positiveX=="string"?eE(r,this._sources).then(function(c){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=c}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new Xa({context:r,source:a}))}let s=this._command;if(!l(s.vertexArray)){s.uniformMap={u_cubeMap:function(){return n._cubeMap}};let a=Tl.createGeometry(Tl.fromDimensions({dimensions:new h(2,2,2),vertexFormat:We.POSITION_ONLY})),c=this._attributeLocations=Dn.createAttributeLocations(a);s.vertexArray=hi.fromGeometry({context:r,geometry:a,attributeLocations:c,bufferUsage:Ue.STATIC_DRAW}),s.renderState=Be.fromCache({blending:hn.ALPHA_BLEND})}if(!l(s.shaderProgram)||this._useHdr!==t){let a=new Ye({defines:[t?"HDR":""],sources:[x9]});s.shaderProgram=cn.fromCache({context:r,vertexShaderSource:_9,fragmentShaderSource:a,attributeLocations:this._attributeLocations}),this._useHdr=t}if(l(this._cubeMap))return s};LL.prototype.isDestroyed=function(){return!1};LL.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),me(this)};function VL(e){return sn(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}LL.createEarthSkyBox=function(){return new LL({sources:{positiveX:VL("px"),negativeX:VL("mx"),positiveY:VL("py"),negativeY:VL("my"),positiveZ:VL("pz"),negativeZ:VL("mz")}})};var T9=LL;var r8i=T(S(),1);function b7(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(b7.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});b7.prototype.emit=function(e){let t=W.randomBetween(0,W.TWO_PI),n=W.randomBetween(0,W.PI),i=W.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var g7=b7;var c8i=T(S(),1);function S9(){}S9.prototype.evaluate=function(e,t){fe.throwInstantiationError()};S9.prototype.evaluateColor=function(e,t){fe.throwInstantiationError()};S9.prototype.getShaderFunction=function(e,t,n,i){fe.throwInstantiationError()};S9.prototype.getVariables=function(){fe.throwInstantiationError()};var y7=S9;var B8i=T(S(),1);var d8i=T(S(),1),C9=`uniform sampler2D u_texture; - -in vec2 v_textureCoordinates; - -void main() + material.diffuse = vec3(1.0); + material.alpha = 1.0; +}`});function tSe(){this.ready=!0,this.shape=Ai.BOX,this.dimensions=new h(1,1,1),this.names=["data"],this.types=[ft.SCALAR],this.componentTypes=[Ut.FLOAT32],this.maximumTileCount=1}tSe.prototype.requestData=function(e){if(!((l(e)?y(e.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};cp.DefaultProvider=new tSe;var zy=cp;var XQi=T(S(),1);function pxt(e,t,n,i){if(!l(e)||l(t)&&e.id!==t)return;let r=(e.classes||{})[n];if(!l(r))return;let a=(r.properties||{})[i];if(l(a))return a}var hM=pxt;var PQi=T(S(),1);function bxt(e,t,n,i,o){this.schemaId=e,this.className=t,this.propertyName=n,this.classProperty=i,this.metadataProperty=o}var fM=bxt;var FQi=T(S(),1);function gxt(e,t,n){if(!l(e))return;let i=e.propertyTextures;for(let o of i)if(o.class.id===t){let a=o.properties[n];if(l(a))return a}}var pM=gxt;var $B=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function mi(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=He(e.contextOptions),r=l(n),s=new lE(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),l(i)||(i=t.parentNode),this._id=Yn(),this._jobScheduler=new jF,this._frameState=new JF(s,new BF(n,"\u2022",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new pR(s),this._ellipsoid=y(e.ellipsoid,ne.default),this._globe=void 0,this._globeTranslucencyState=new QF,this._primitives=new kl,this._groundPrimitives=new kl,this._globeHeight=void 0,this._globeHeightDirty=!0,this._cameraUnderground=!1,this._removeUpdateHeightCallback=void 0,this._logDepthBuffer=mi.defaultLogDepthBuffer&&s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new hS,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new HF(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new oi({color:new B,stencil:0,owner:this}),this._depthClearCommand=new oi({depth:1,owner:this}),this._stencilClearCommand=new oi({stencil:0}),this._classificationStencilClearCommand=new oi({stencil:0,renderState:Be.fromCache({stencilMask:Dt.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new wA(this),this._preUpdate=new be,this._postUpdate=new be,this._renderError=new be,this._preRender=new be,this._postRender=new be,this._minimumDisableDepthTestDistance=0,this._debugInspector=new OA,this._msaaSamples=y(e.msaaSamples,4),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new be,this.morphComplete=new be,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=B.clone(B.BLACK),this._mode=oe.SCENE3D,this._mapProjection=l(e.mapProjection)?e.mapProjection:new Ei(this._ellipsoid),this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.atmosphere=new L_,this.fog=new KF,this.fog.enabled=ne.WGS84.equals(this._ellipsoid),ne.WGS84.equals(this._ellipsoid)||(ao.DEFAULT_VIEW_RECTANGLE=le.fromDegrees(-45,-45,45,45)),this._shadowMapCamera=new ao(this),this.shadowMap=new T0({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=B.clone(B.WHITE),this._actualInvertClassificationColor=B.clone(this._invertClassificationColor),this._invertClassification=new _L,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new PA,this._brdfLutGenerator=new AF,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new NA(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,jl.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=ic.requestCompletedEvent.addEventListener($B(this)),this._removeTaskProcessorListenerCallback=xi.taskCompletedEvent.addEventListener($B(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let a=new Je(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new ao(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new ao(this),this.preloadFlightCullingVolume=void 0,this._picking=new uA(this),this._defaultView=new sS(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentCubeMap=void 0,this.light=new Ep,sSe(this,0,j.now()),this.updateFrameState(),this.initializeFrame()}mi.defaultLogDepthBuffer=!0;function yxt(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];l(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener($B(e))),n.push(t.terrainProviderChanged.addEventListener($B(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(mi.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return At.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return At.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return Mm.isSupported(this._context)}},ellipsoid:{get:function(){return this._ellipsoid}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,yxt(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(l(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(l(this.globe))return this.globe.terrainProvider},set:function(e){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),l(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(l(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===oe.SCENE2D?this.morphTo2D(0):e===oe.SCENE3D?this.morphTo3D(0):e===oe.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new ao(this),l(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new zF(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,At.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});mi.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function xxt(e,t){let n=e.pickedMetadataInfo,i=t.pickedMetadataInfo;return n?.schemaId!==i?.schemaId||n?.className!==i?.className||n?.propertyName!==i?.propertyName}function nSe(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,{lightShadowMaps:s,lightShadowsEnabled:a}=i.shadowState,c=t.derivedCommands;l(t.pickId)&&(c.picking=$f.createPickDerivedCommand(e,t,o,c.picking)),i.pickingMetadata&&t.pickMetadataAllowed&&(t.pickedMetadataInfo=i.pickedMetadataInfo,l(t.pickedMetadataInfo)&&(c.pickingMetadata=$f.createPickMetadataDerivedCommand(e,t,o,c.pickingMetadata))),t.pickOnly||(c.depth=$f.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=$f.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=T0.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===Ge.TRANSLUCENT&&l(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=l(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}mi.prototype.updateDerivedCommands=function(e){let{derivedCommands:t}=e;if(!l(t))return;let n=this._frameState,{shadowState:i,useLogDepth:o}=this._frameState,r=this._context,s=!1,a=i.lastDirtyTime;e.lastDirtyTime!==a&&(e.lastDirtyTime=a,e.dirty=!0,s=!0);let c=this._hdr,d=l(t.logDepth),u=l(t.hdr),m=l(t.originalCommand),p=o&&!d,g=c&&!u,f=(!o||!c)&&!m,x=n.pickingMetadata&&xxt(e,n);if(e.dirty=e.dirty||p||g||f||x,!e.dirty)return;e.dirty=!1;let{shadowsEnabled:_,shadowMaps:C}=i;_&&e.castShadows&&(t.shadows=T0.createCastDerivedCommand(C,e,s,r,t.shadows)),(d||p)&&(t.logDepth=$f.createLogDepthCommand(e,r,t.logDepth),nSe(this,t.logDepth.command,s)),(m||f)&&nSe(this,e,s)};var _xt=new mm({pass:Fo.RENDER}),_7=new mm({pass:Fo.PRELOAD}),T7=new mm({pass:Fo.PRELOAD_FLIGHT}),Txt=new mm({pass:Fo.REQUEST_RENDER_MODE_DEFER_CHECK}),iSe=new de,S7;function Sxt(e){if(!(e._mode!==oe.SCENE3D||!e.globe?.show||e._cameraUnderground||e._globeTranslucencyState.translucent))return iSe.radius=e.ellipsoid.minimumRadius+e.frameState.minimumTerrainHeight,S7=ww.fromBoundingSphere(iSe,e.camera.positionWC,S7),S7}mi.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.pickVoxel=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function sSe(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=j.clone(n,i.time)}mi.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=Sxt(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof ln||this.camera.frustum instanceof vr),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState;let{globe:n}=this;l(n)&&n._terrainExaggerationChanged&&(this.verticalExaggeration=n._terrainExaggeration,this.verticalExaggerationRelativeHeight=n._terrainExaggerationRelativeHeight,n._terrainExaggerationChanged=!1),t.verticalExaggeration=this.verticalExaggeration,t.verticalExaggerationRelativeHeight=this.verticalExaggerationRelativeHeight,l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready?(t.specularEnvironmentMaps=this._specularEnvironmentCubeMap.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentCubeMap.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=B.clone(this.invertClassificationColor,this._actualInvertClassificationColor),_L.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,l(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};mi.prototype.isVisible=function(e,t,n){if(!l(t))return!1;let{boundingVolume:i}=t;return!l(i)||!t.cull?!0:e.computeVisibility(i)===zt.OUTSIDE?!1:!l(n)||!t.occlude||!i.isOccluded(n)};var qB=new M(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);qB=M.inverseTransformation(qB,qB);function Cxt(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;l(t._debugVolume)&&t._debugVolume.destroy();let a=h.clone(s.center);if(o.mode!==oe.SCENE3D){a=M.multiplyByPoint(qB,a,a);let f=o.mapProjection,x=f.unproject(a);a=f.ellipsoid.cartographicToCartesian(x)}let c,d,{radius:u}=s;l(u)?(c=qs.createGeometry(new qs({radii:new h(u,u,u),vertexFormat:mn.FLAT_VERTEX_FORMAT})),d=M.fromTranslation(a)):(c=Pa.createGeometry(Pa.fromDimensions({dimensions:new h(2,2,2),vertexFormat:mn.FLAT_VERTEX_FORMAT})),d=M.fromRotationTranslation(s.halfAxes,a,new M)),t._debugVolume=new Wn({geometryInstances:new Et({geometry:Mn.toWireframe(c),modelMatrix:d,attributes:{color:new Ht(1,0,0,1)}}),appearance:new mn({flat:!0,translucent:!1}),asynchronous:!1});let m=o.commandList,p=o.commandList=[];t._debugVolume.update(o),e=p[0],o.useLogDepth&&(e=$f.createLogDepthCommand(e,r).command);let g;l(i)&&(g=n.framebuffer,n.framebuffer=i),e.execute(r,n),l(g)&&(n.framebuffer=g),o.commandList=m}function lp(e,t,n,i){let o=t._frameState,r=t._context;if(l(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof oi){e.execute(r,n);return}e.debugShowBoundingVolume&&l(e.boundingVolume)&&Cxt(e,t,n,i),o.useLogDepth&&l(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=o.passes;if(!s.pick&&!s.pickVoxel&&!s.depth&&t._hdr&&l(e.derivedCommands)&&l(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth){if(o.pickingMetadata&&l(e.derivedCommands.pickingMetadata)){e=e.derivedCommands.pickingMetadata.pickMetadataCommand,e.execute(r,n);return}if(!o.pickingMetadata&&l(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(r,n);return}}else if(l(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(r,n);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,n);return}o.shadowState.lightShadowsEnabled&&e.receiveShadows&&l(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(r,n):e.execute(r,n)}function oSe(e,t,n){let{derivedCommands:i}=e;if(!l(i))return;let o=t._frameState,r=t._context;o.useLogDepth&&l(i.logDepth)&&(e=i.logDepth.command);let{picking:s,pickingMetadata:a,depth:c}=e.derivedCommands;l(a)&&(e=i.pickingMetadata.pickMetadataCommand,e.execute(r,n)),l(s)?(e=s.pickCommand,e.execute(r,n)):l(c)&&(e=c.depthOnlyCommand,e.execute(r,n))}function aSe(e,t,n){return t.boundingVolume?.distanceSquaredTo(n)-e.boundingVolume?.distanceSquaredTo(n)}function Vxt(e,t,n){return e.boundingVolume?.distanceSquaredTo(n)-t.boundingVolume?.distanceSquaredTo(n)+W.EPSILON12}function Lxt(e,t,n,i,o){u0(i,aSe,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function Rxt(e,t,n,i,o){u0(i,Vxt,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function Zxt(e,t,n){e.context.uniformState.updatePass(Ge.VOXELS);let i=n.commands[Ge.VOXELS];i.length=n.indices[Ge.VOXELS],u0(i,aSe,e.camera.positionWC);for(let o=0;o<i.length;++o)lp(i[o],e,t)}var Gxt=new Gi,Ext=new cl,Ixt=new ln,Xxt=new vr;function Wxt(e){let{frustum:t}=e;return l(t.fov)?t.clone(Gxt):l(t.infiniteProjectionMatrix)?t.clone(Ext):l(t.width)?t.clone(Ixt):t.clone(Xxt)}function Pxt(e){if(e._environmentState.useOIT){if(!l(e._executeOITFunction)){let{view:t,context:n}=e;e._executeOITFunction=function(i,o,r,s,a){t.globeDepth.prepareColorTextures(n),t.oit.executeCommands(i,o,r,s,a)}}return e._executeOITFunction}return e.frameState.passes.render?Lxt:Rxt}function vxt(e,t,n){let{frameState:i,context:o}=e,{pick:r,pickVoxel:s}=i.passes,a=r||s,c;!a&&e._environmentState.useInvertClassification&&i.invertClassificationColor.alpha<1&&(c=e._invertClassification);let d=Pxt(e);o.uniformState.updatePass(Ge.TRANSLUCENT);let u=n.commands[Ge.TRANSLUCENT];u.length=n.indices[Ge.TRANSLUCENT],d(e,lp,t,u,c)}function wxt(e,t,n){let{translucentTileClassification:i,globeDepth:o}=e._view;if(!(n.indices[Ge.CESIUM_3D_TILE_CLASSIFICATION]>0)||!i.isSupported())return;let s=n.commands[Ge.TRANSLUCENT];i.executeTranslucentCommands(e,lp,t,s,o.depthStencilTexture),i.executeClassificationCommands(e,lp,t,n)}function V7(e,t){let{camera:n,context:i,frameState:o}=e,{uniformState:r}=i;r.updateCamera(n);let s=Wxt(n);s.near=n.frustum.near,s.far=n.frustum.far;let a=o.passes,c=a.pick||a.pickVoxel;c||Fxt(e,t);let{clearGlobeDepth:d,renderTranslucentDepthForPick:u,useDepthPlane:m,useGlobeDepthFramebuffer:p,useInvertClassification:g,usePostProcessSelected:f}=e._environmentState,{globeDepth:x,globeTranslucencyFramebuffer:_,sceneFramebuffer:C,frustumCommandsList:V}=e._view,L=V.length,Z=e._globeTranslucencyState,G=e._depthClearCommand,I=e._stencilClearCommand,v=e._classificationStencilClearCommand,P=e._depthPlane,w=n.position.z;function A(R,E){r.updatePass(E);let X=R.commands[E],F=R.indices[E];for(let N=0;N<F;++N)lp(X[N],e,t);return F}function b(R,E){r.updatePass(E);let X=R.commands[E],F=R.indices[E];for(let N=0;N<F;++N)oSe(X[N],e,t)}for(let R=0;R<L;++R){let E=L-R-1,X=V[E];e.mode===oe.SCENE2D?(n.position.z=w-X.near+1,s.far=Math.max(1,X.far-X.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=E!==0?X.near*e.opaqueFrustumNearOffset:X.near,s.far=X.far,r.updateFrustum(s)),G.execute(i,t),i.stencilBuffer&&I.execute(i,t),Z.translucent?(r.updatePass(Ge.GLOBE),Z.executeGlobeCommands(X,lp,_,e,t)):A(X,Ge.GLOBE),p&&x.executeCopyDepth(i,t),u||(Z.translucent?(r.updatePass(Ge.TERRAIN_CLASSIFICATION),Z.executeGlobeClassificationCommands(X,lp,_,e,t)):A(X,Ge.TERRAIN_CLASSIFICATION)),d&&(G.execute(i,t),m&&P.execute(i,t));let F;if(!g||c||u)F=A(X,Ge.CESIUM_3D_TILE),F>0&&(p&&(x.prepareColorTextures(i,d),x.executeUpdateDepth(i,t,x.depthStencilTexture)),u||(F=A(X,Ge.CESIUM_3D_TILE_CLASSIFICATION)));else{e._invertClassification.clear(i,t);let O=t.framebuffer;t.framebuffer=e._invertClassification._fbo.framebuffer,F=A(X,Ge.CESIUM_3D_TILE),p&&(e._invertClassification.prepareTextures(i),x.executeUpdateDepth(i,t,e._invertClassification._fbo.getDepthStencilTexture())),F=A(X,Ge.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),t.framebuffer=O,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),F>0&&i.stencilBuffer&&v.execute(i,t),F=A(X,Ge.CESIUM_3D_TILE_CLASSIFICATION)}if(F>0&&i.stencilBuffer&&I.execute(i,t),Zxt(e,t,X),A(X,Ge.OPAQUE),E!==0&&e.mode!==oe.SCENE2D&&(s.near=X.near,r.updateFrustum(s)),vxt(e,t,X),wxt(e,t,X),i.depthTexture&&e.useDepthPicking&&(p||u)){let O=e._picking.getPickDepth(e,E);O.update(i,x.depthStencilTexture),O.executeCopyDepth(i,t)}if(c||!f)continue;let N=t.framebuffer;t.framebuffer=C.getIdFramebuffer(),s.near=E!==0?X.near*e.opaqueFrustumNearOffset:X.near,s.far=X.far,r.updateFrustum(s),Z.translucent?(r.updatePass(Ge.GLOBE),Z.executeGlobeCommands(X,oSe,_,e,t)):b(X,Ge.GLOBE),d&&(G.framebuffer=t.framebuffer,G.execute(i,t),G.framebuffer=void 0),d&&m&&P.execute(i,t),b(X,Ge.CESIUM_3D_TILE),b(X,Ge.OPAQUE),b(X,Ge.TRANSLUCENT),t.framebuffer=N}}function Fxt(e,t){let{context:n,environmentState:i,view:o}=e;if(n.uniformState.updatePass(Ge.ENVIRONMENT),l(i.skyBoxCommand)&&lp(i.skyBoxCommand,e,t),i.isSkyAtmosphereVisible&&lp(i.skyAtmosphereCommand,e,t),i.isSunVisible&&(i.sunDrawCommand.execute(n,t),e.sunBloom&&!i.useWebVR)){let r;i.useGlobeDepthFramebuffer?r=o.globeDepth.framebuffer:i.usePostProcess?r=o.sceneFramebuffer.framebuffer:r=i.originalFramebuffer,e._sunPostProcess.execute(n),e._sunPostProcess.copy(n,r),t.framebuffer=r}i.isMoonVisible&&i.moonCommand.execute(n,t)}function cSe(e){e.context.uniformState.updatePass(Ge.COMPUTE);let t=e._environmentState.sunComputeCommand;l(t)&&t.execute(e._computeEngine);let n=e._computeCommandList;for(let i=0;i<n.length;++i)n[i].execute(e._computeEngine)}function Axt(e,t){e.context.uniformState.updatePass(Ge.OVERLAY);let n=e.context,i=e._overlayCommandList;for(let o=0;o<i.length;++o)i[o].execute(n,t)}function Mxt(e,t,n){let{shadowMapCullingVolume:i,isPointLight:o,passes:r}=n,s=r.length,a=[Ge.GLOBE,Ge.CESIUM_3D_TILE,Ge.OPAQUE,Ge.TRANSLUCENT];for(let c=0;c<t.length;++c){let d=t[c];if(e.updateDerivedCommands(d),!(!d.castShadows||a.indexOf(d.pass)<0||!e.isVisible(i,d)))if(o)for(let u=0;u<s;++u)r[u].commandList.push(d);else if(s===1)r[0].commandList.push(d);else{let u=!1;for(let m=s-1;m>=0;--m){let p=r[m].cullingVolume;if(e.isVisible(p,d))r[m].commandList.push(d),u=!0;else if(u)break}}}}function lSe(e){let{shadowState:t,commandList:n}=e.frameState,{shadowsEnabled:i,shadowMaps:o}=t;if(!i)return;let{context:r}=e,{uniformState:s}=r;for(let a=0;a<o.length;++a){let c=o[a];if(c.outOfView)continue;let{passes:d}=c;for(let u=0;u<d.length;++u)d[u].commandList.length=0;Mxt(e,n,c);for(let u=0;u<d.length;++u){let m=c.passes[u],{camera:p,commandList:g}=m;s.updateCamera(p),c.updatePass(r,u);for(let f=0;f<g.length;++f){let x=g[f];s.updatePass(x.pass);let _=x.derivedCommands.shadows.castCommands[a];lp(_,e,m.passState)}}}}var Nxt=new h;mi.prototype.updateAndExecuteCommands=function(e,t){qxt(this,e,t),this._environmentState.useWebVR?kxt(this,e,t):this._frameState.mode!==oe.SCENE2D||this._mapMode2D===jl.ROTATE?Ky(!0,this,e):Jxt(this,e)};function kxt(e,t){let n=e._view,i=n.camera,r=e._environmentState.renderTranslucentDepthForPick;dSe(e),n.createPotentiallyVisibleSet(e),cSe(e),r||lSe(e);let s=t.viewport;s.x=0,s.y=0,s.width=s.width*.5;let a=ao.clone(i,e._cameraVR);a.frustum=i.frustum;let c=i.frustum.near,d=c*y(e.focalLength,5),u=y(e.eyeSeparation,d/30),m=h.multiplyByScalar(a.right,u*.5,Nxt);i.frustum.aspectRatio=s.width/s.height;let p=.5*u*c/d;h.add(a.position,m,i.position),i.frustum.xOffset=p,V7(e,t),s.x=s.width,h.subtract(a.position,m,i.position),i.frustum.xOffset=-p,V7(e,t),ao.clone(a,i)}var Uxt=new he(Math.PI,W.PI_OVER_TWO),Dxt=new h,Bxt=new h,Oxt=new M,Yxt=new M,Hxt=new h,zxt=new h,Kxt=new Je;function Jxt(e,t){let{frameState:n,camera:i}=e,{uniformState:o}=e.context,r=t.viewport,s=Je.clone(r,Kxt);t.viewport=s;let a=Uxt,c=Dxt;e.mapProjection.project(a,c);let u=h.clone(i.position,Bxt),m=M.clone(i.transform,Yxt),p=i.frustum.clone();i._setTransform(M.IDENTITY);let g=M.computeViewportTransformation(s,0,1,Oxt),f=i.frustum.projectionMatrix,x=i.positionWC.y,_=h.fromElements(W.sign(x)*c.x-x,0,-i.positionWC.x,Hxt),C=vt.pointToGLWindowCoordinates(f,g,_,zxt);C.x=Math.floor(C.x);let V=s.x,L=s.width;if(x===0||C.x<=V||C.x>=V+L)Ky(!0,e,t);else if(Math.abs(V+L*.5-C.x)<1)s.width=C.x-s.x,i.position.x*=W.sign(i.position.x),i.frustum.right=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),Ky(!0,e,t),s.x=C.x,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),Ky(!1,e,t);else if(C.x>V+L*.5){s.width=C.x-V;let Z=i.frustum.right;i.frustum.right=c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),Ky(!0,e,t),s.x=C.x,s.width=V+L-C.x,i.position.x=-i.position.x,i.frustum.left=-i.frustum.right,i.frustum.right=Z-i.frustum.right*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),Ky(!1,e,t)}else{s.x=C.x,s.width=V+L-C.x;let Z=i.frustum.left;i.frustum.left=-c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),Ky(!0,e,t),s.x=V,s.width=C.x-V,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=Z-i.frustum.left*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),Ky(!1,e,t)}i._setTransform(m),h.clone(u,i.position),i.frustum=p.clone(),t.viewport=r}function Ky(e,t,n){let i=t._view,{renderTranslucentDepthForPick:o}=t._environmentState;e||(t.frameState.commandList.length=0),dSe(t),i.createPotentiallyVisibleSet(t),e&&(cSe(t),o||lSe(t)),V7(t,n)}var rSe=new ps;mi.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.atmosphere,s=this.skyAtmosphere,a=this.globe,c=this._globeTranslucencyState;if(!i||this._mode!==oe.SCENE2D&&t.camera.frustum instanceof ln||!c.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{if(l(s)){if(l(a))s.setDynamicLighting(rb.fromGlobeFlags(a)),n.isReadyForAtmosphere=n.isReadyForAtmosphere||!a.show||a._surface._tilesToRender.length>0;else{let C=r.dynamicLighting;s.setDynamicLighting(C),n.isReadyForAtmosphere=!0}n.skyAtmosphereCommand=s.update(e,a),l(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)}else n.skyAtmosphereCommand=void 0;n.skyBoxCommand=l(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let _=l(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=l(_)?_.drawCommand:void 0,n.sunComputeCommand=l(_)?_.computeCommand:void 0,n.moonCommand=l(this.moon)?this.moon.update(e):void 0}let d=n.clearGlobeDepth=l(a)&&a.show&&(!a.depthTestAgainstTerrain||this.mode===oe.SCENE2D);(n.useDepthPlane=d&&this.mode===oe.SCENE3D&&c.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==oe.SCENE2D&&!o;let m=e.mode===oe.SCENE3D&&!c.sunVisibleThroughGlobe?e.occluder:void 0,p=e.cullingVolume,g=rSe.planes;for(let _=0;_<5;++_)g[_]=p.planes[_];p=rSe,n.isSkyAtmosphereVisible=l(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(p,n.sunDrawCommand,m),n.isMoonVisible=this.isVisible(p,n.moonCommand,m);let f=this.specularEnvironmentMaps,x=this._specularEnvironmentCubeMap;l(f)&&x?.url!==f?(x=x&&x.destroy(),this._specularEnvironmentCubeMap=new Mm(f)):!l(f)&&l(x)&&(x.destroy(),this._specularEnvironmentCubeMap=void 0),l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.update(e)};function Qxt(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new qf({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),l(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function jxt(e){let t=e._frameState,{passes:n,shadowState:i,shadowMaps:o}=t,r=o.length,s=r>0&&!n.pick&&!n.pickVoxel&&e.mode===oe.SCENE3D;if(s!==i.shadowsEnabled&&(++i.lastDirtyTime,i.shadowsEnabled=s),i.lightShadowsEnabled=!1,!!s){for(let a=0;a<r;++a)if(o[a]!==i.shadowMaps[a]){++i.lastDirtyTime;break}i.shadowMaps.length=0,i.lightShadowMaps.length=0;for(let a=0;a<r;++a){let c=o[a];c.update(t),i.shadowMaps.push(c),c.fromLightSource&&(i.lightShadowMaps.push(c),i.lightShadowsEnabled=!0),c.dirty&&(++i.lastDirtyTime,c.dirty=!1)}}}function dSe(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),Qxt(e),jxt(e),e._globe&&e._globe.render(t)}function qxt(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,a=o.passes,c=a.pick||a.pickVoxel;l(s.globeDepth)&&(s.globeDepth.picking=c);let d=r.useWebVR;r.originalFramebuffer=t.framebuffer,l(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!d?e._sunPostProcess=new DA:l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!l(e.sun)&&l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let u=e._clearColorCommand;B.clone(n,u.color),u.execute(i,t);let m=r.useGlobeDepthFramebuffer=l(s.globeDepth);m&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&l(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let f=e.postProcessStages,x=r.usePostProcess=!c&&(e._hdr||f.length>0||f.ambientOcclusion.enabled||f.fxaa.enabled||f.bloom.enabled);if(r.usePostProcessSelected=!1,x&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),f.update(i,o.useLogDepth,e._hdr),f.clear(i),x=r.usePostProcess=f.ready,r.usePostProcessSelected=x&&f.hasSelected),r.isSunVisible&&e.sunBloom&&!d?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):m?t.framebuffer=s.globeDepth.framebuffer:x&&(t.framebuffer=s.sceneFramebuffer.framebuffer),l(t.framebuffer)&&u.execute(i,t),r.useInvertClassification=!c&&l(t.framebuffer)&&e.invertClassification){let C;if(o.invertClassificationColor.alpha===1&&m&&(C=s.globeDepth.framebuffer),l(C)||i.depthTexture){if(e._invertClassification.previousFramebuffer=C,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),o.invertClassificationColor.alpha<1&&g){let V=e._invertClassification.unclassifiedCommand,L=V.derivedCommands;L.oit=p.createDerivedCommands(V,i,L.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}mi.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,{globeDepth:o,translucentTileClassification:r}=i;l(o)&&o.prepareColorTextures(t);let{useOIT:s,useGlobeDepthFramebuffer:a,usePostProcess:c,originalFramebuffer:d}=n,u=a?o.colorFramebufferManager:void 0,m=i.sceneFramebuffer._colorFramebuffer,p=i.sceneFramebuffer.idFramebuffer;if(s&&(e.framebuffer=c?m.framebuffer:d,i.oit.execute(t,e)),r.hasTranslucentDepth&&r.isSupported()&&r.execute(this,e),c){i.sceneFramebuffer.prepareColorTextures(t);let g=m;a&&!s&&(g=u);let f=this.postProcessStages,x=g.getColorTexture(0),_=p.getColorTexture(0),C=y(u,m).getDepthStencilTexture();f.execute(t,x,C,_),f.copy(t,d)}!s&&!c&&a&&(e.framebuffer=d,o.executeCopyColor(t,e))};function $xt(e){let t=e._frameState.afterRender;for(let n=0;n<t.length;++n)t[n]()&&e.requestRender();t.length=0}function e_t(e){if(e.mode===oe.MORPHING)return;let t=e.camera.positionCartographic;return e.getHeight(t)}mi.prototype.getHeight=function(e,t){if(!l(e))return;let n=t===Qe.CLAMP_TO_TERRAIN||t===Qe.RELATIVE_TO_TERRAIN,i=t===Qe.CLAMP_TO_3D_TILE||t===Qe.RELATIVE_TO_3D_TILE;if(!l(e))return;let o=Number.NEGATIVE_INFINITY;if(!n){let s=this.primitives.length;for(let a=0;a<s;++a){let c=this.primitives.get(a);if(!c.isCesium3DTileset||!c.show||!c.enableCollision)continue;let d=c.getHeight(e,this);l(d)&&d>o&&(o=d)}}let r=this._globe;if(!i&&l(r)&&r.show){let s=r.getHeight(e);s>o&&(o=s)}if(o>Number.NEGATIVE_INFINITY)return o};var C7=new he;mi.prototype.updateHeight=function(e,t,n){let i=()=>{he.clone(e,C7);let g=this.getHeight(e,n);l(g)&&(C7.height=g,t(C7))},o=n===Qe.CLAMP_TO_TERRAIN||n===Qe.RELATIVE_TO_TERRAIN,r=n===Qe.CLAMP_TO_3D_TILE||n===Qe.RELATIVE_TO_3D_TILE,s;!r&&l(this.globe)&&(s=this.globe._surface.updateHeight(e,i));let a={},c=this._ellipsoid,d=g=>{if(o||g.isDestroyed()||!g.isCesium3DTileset)return;let f=g.updateHeight(e,i,c);a[g.id]=f};if(!o){let g=this.primitives.length;for(let f=0;f<g;++f){let x=this.primitives.get(f);d(x)}}let u=this.primitives.primitiveAdded.addEventListener(d),m=this.primitives.primitiveRemoved.addEventListener(g=>{g.isDestroyed()||!g.isCesium3DTileset||(l(a[g.id])&&a[g.id](),delete a[g.id])});return()=>{s=s&&s(),Object.values(a).forEach(g=>g()),a={},u(),m()}};function t_t(e){let t=e.camera,n=e._mode,i=e._screenSpaceCameraController,o=t.positionCartographic;if(!l(o))return!1;if(!i.onMap()&&o.height<0)return!0;if(n===oe.SCENE2D||n===oe.MORPHING)return!1;let r=e._globeHeight;return l(r)&&o.height<r}mi.prototype.initializeFrame=function(){if(this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeightDirty){l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),this._globeHeight=e_t(this),this._globeHeightDirty=!1;let e=this.camera.positionCartographic;this._removeUpdateHeightCallback=this.updateHeight(e,t=>{this.isDestroyed()||(this._globeHeight=t.height)})}this._cameraUnderground=t_t(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),l(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function n_t(e,t){if(e.debugShowFramesPerSecond){if(!l(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new y0({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else l(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function i_t(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),l(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function o_t(e){e.primitives.postPassesUpdate(e._frameState),ic.update()}var r_t=new B;function s_t(e){let t=e._frameState,n=e.context,{uniformState:i}=n,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=_xt;let r=y(e.backgroundColor,B.BLACK);e._hdr&&(r=B.clone(r,r_t),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,t.atmosphere=e.atmosphere,e.fog.update(t),i.update(t);let s=e.shadowMap;l(s)&&s.enabled&&(!l(e.light)||e.light instanceof Ep?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=Je.clone(a,c.viewport),l(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,Axt(e,c),l(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function TS(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function a_t(e){return e._picking.updateMostDetailedRayPicks(e)}mi.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,l(e)||(e=j.now());let n=this._view.checkForCameraUpdates(this);n&&(this._globeHeightDirty=!0);let i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===oe.MORPHING;if(!i&&l(this.maximumRenderTimeChange)&&l(this._lastRenderTime)){let o=Math.abs(j.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=j.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=W.incrementWrap(t.frameNumber,15e6,1);sSe(this,o,e),t.newFrame=!0}TS(this,i_t),this.primitives.show&&(TS(this,a_t),TS(this,c_t),TS(this,l_t),i||TS(this,d_t)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),TS(this,s_t)),n_t(this,i),TS(this,o_t),$xt(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};mi.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};mi.prototype.requestRender=function(){this._renderRequested=!0};mi.prototype.clampLineWidth=function(e){return Math.max(At.minimumAliasedLineWidth,Math.min(e,At.maximumAliasedLineWidth))};mi.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};mi.prototype.pickVoxel=function(e,t,n){let i=this.pick(e,t,n);if(!l(i))return;let o=i.primitive;if(!(o instanceof zy))return;let r=this._picking.pickVoxelCoordinate(this,e,t,n),s=255*r[0]+r[1],a=o._traversal.findKeyframeNode(s);if(!l(a))return;let c=255*r[2]+r[3];return YA.fromKeyframeNode(o,s,c,a)};mi.prototype.pickMetadata=function(e,t,n,i){let o=this.pick(e);if(!l(o))return;let r=o.detail?.model?.structuralMetadata;if(!l(r))return;let s=r.schema,a=hM(s,t,n,i);if(!l(a))return;let c=pM(r,n,i);if(!l(c))return;let d=new fM(t,n,i,a,c);return this._picking.pickMetadata(this,e,d)};mi.prototype.pickMetadataSchema=function(e){let t=this.pick(e);return l(t)?t.detail?.model?.structuralMetadata?.schema:void 0};mi.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};mi.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};mi.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function c_t(e){let t=e._frameState;_7.camera=t.camera,_7.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,_7)}function l_t(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;T7.camera=e.preloadFlightCamera,T7.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,T7)}function d_t(e){e.primitives.updateForPass(e._frameState,Txt)}mi.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};mi.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};mi.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};mi.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};mi.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};mi.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};mi.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};mi.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};mi.prototype.cartesianToCanvasCoordinates=function(e,t){return ki.worldToWindowCoordinates(this,e,t)};mi.prototype.completeMorph=function(){this._transitioner.completeMorph()};mi.prototype.morphTo2D=function(e){e=y(e,2),this._transitioner.morphTo2D(e,this._ellipsoid)};mi.prototype.morphToColumbusView=function(e){e=y(e,2),this._transitioner.morphToColumbusView(e,this._ellipsoid)};mi.prototype.morphTo3D=function(e){e=y(e,2),this._transitioner.morphTo3D(e,this._ellipsoid)};function u_t(e,t){if(e._removeTerrainProviderReadyListener=e._removeTerrainProviderReadyListener&&e._removeTerrainProviderReadyListener(),t.ready){l(e.globe)&&(e.globe.terrainProvider=t.provider);return}e.globe.terrainProvider=void 0,e._removeTerrainProviderReadyListener=t.readyEvent.addEventListener(n=>{l(e)&&l(e.globe)&&(e.globe.terrainProvider=n),e._removeTerrainProviderReadyListener()})}mi.prototype.setTerrain=function(e){return u_t(this,e),e};mi.prototype.isDestroyed=function(){return!1};mi.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),l(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),me(this)};var bM=mi;var Fji=T(S(),1);function IL(e){e=y(e,ne.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=M.fromScale(n),this._modelMatrix=new M,this._command=new tt({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties(IL.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});IL.prototype.setDynamicLighting=function(e){this._radiiAndDynamicAtmosphereColor.z=e};var L7=new M;IL.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==oe.SCENE3D&&n!==oe.MORPHING||!e.passes.render)return;let i=M.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,L7),o=M.multiplyTransformation(i,Wo.Y_UP_TO_Z_UP,L7),r=M.multiply(this._scaleMatrix,o,L7);M.clone(r,this._modelMatrix);let s=e.context,a=m_t(this),c=e.globeTranslucencyState.translucent,d=this.perFragmentAtmosphere||c||!l(t)||!t.show,u=this._command;if(!l(u.vertexArray)){let p=qs.createGeometry(new qs({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:We.POSITION_ONLY}));u.vertexArray=ri.fromGeometry({context:s,geometry:p,attributeLocations:Mn.createAttributeLocations(p),bufferUsage:Ue.STATIC_DRAW}),u.renderState=Be.fromCache({cull:{enabled:!0,face:Ti.FRONT},blending:hn.ALPHA_BLEND,depthMask:!1})}let m=a|d<<2|c<<3;if(m!==this._flags){this._flags=m;let p=[];a&&p.push("COLOR_CORRECT"),d&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new Oe({defines:p,sources:[zm,eL,tF]}),f=new Oe({defines:p,sources:[zm,eL,eF]});this._spSkyAtmosphere=en.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:f}),u.shaderProgram=this._spSkyAtmosphere}return u};function m_t(e){return!(W.equalsEpsilon(e.hueShift,0,W.EPSILON7)&&W.equalsEpsilon(e.saturationShift,0,W.EPSILON7)&&W.equalsEpsilon(e.brightnessShift,0,W.EPSILON7))}IL.prototype.isDestroyed=function(){return!1};IL.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),me(this)};var gM=IL;var r8i=T(S(),1);function WL(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new tt({modelMatrix:M.clone(M.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0,this._hasError=!1,this._error=void 0}WL.prototype.update=function(e,t){let n=this,{mode:i,passes:o,context:r}=e;if(!this.show||i!==oe.SCENE3D&&i!==oe.MORPHING||!o.render)return;if(this._hasError){let a=this._error;throw this._hasError=!1,this._error=void 0,a}if(this._sources!==this.sources){this._sources=this.sources;let a=this.sources;typeof a.positiveX=="string"?mE(r,this._sources).then(function(c){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=c}).catch(c=>{this._hasError=!0,this._error=c}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new Tr({context:r,source:a}))}let s=this._command;if(!l(s.vertexArray)){s.uniformMap={u_cubeMap:function(){return n._cubeMap}};let a=Pa.createGeometry(Pa.fromDimensions({dimensions:new h(2,2,2),vertexFormat:We.POSITION_ONLY})),c=this._attributeLocations=Mn.createAttributeLocations(a);s.vertexArray=ri.fromGeometry({context:r,geometry:a,attributeLocations:c,bufferUsage:Ue.STATIC_DRAW}),s.renderState=Be.fromCache({blending:hn.ALPHA_BLEND})}if(!l(s.shaderProgram)||this._useHdr!==t){let a=new Oe({defines:[t?"HDR":""],sources:[nF]});s.shaderProgram=en.fromCache({context:r,vertexShaderSource:iF,fragmentShaderSource:a,attributeLocations:this._attributeLocations}),this._useHdr=t}if(l(this._cubeMap))return s};WL.prototype.isDestroyed=function(){return!1};WL.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),me(this)};function XL(e){return sn(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}WL.createEarthSkyBox=function(){return new WL({sources:{positiveX:XL("px"),negativeX:XL("mx"),positiveY:XL("py"),negativeY:XL("my"),positiveZ:XL("pz"),negativeZ:XL("mz")}})};var yM=WL;var v8i=T(S(),1);function _M(){this.show=!0,this._drawCommand=new tt({primitiveType:Me.TRIANGLES,boundingVolume:new de,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new de,this._boundingVolume2D=new de,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(_M.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var h_t=new D,f_t=new D,p_t=new re,xM=new re;_M.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===oe.SCENE2D||i===oe.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!l(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let Z=Math.max(r,s);Z=Math.pow(2,Math.ceil(Math.log(Z)/Math.log(2))-2),Z=Math.max(1,Z);let G=n?o.halfFloatingPointTexture?qe.HALF_FLOAT:qe.FLOAT:qe.UNSIGNED_BYTE;this._texture=new It({context:o,width:Z,height:Z,pixelFormat:st.RGBA,pixelDatatype:G}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let I=this,v={u_radiusTS:function(){return I._radiusTS}};this._commands.computeCommand=new wc({fragmentShaderSource:rF,outputTexture:this._texture,uniformMap:v,persists:!1,owner:this,postExecute:function(){I._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!l(a.vertexArray)){let Z={direction:0},G=new Uint8Array(4*2);G[0]=0,G[1]=0,G[2]=255,G[3]=0,G[4]=255,G[5]=255,G[6]=0,G[7]=255;let I=_t.createVertexBuffer({context:o,typedArray:G,usage:Ue.STATIC_DRAW}),v=[{index:Z.direction,vertexBuffer:I,componentsPerAttribute:2,normalize:!0,componentDatatype:Q.UNSIGNED_BYTE}],P=_t.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT});a.vertexArray=new ri({context:o,attributes:v,indexBuffer:P}),a.shaderProgram=en.fromCache({context:o,vertexShaderSource:sF,fragmentShaderSource:oF,attributeLocations:Z}),a.renderState=Be.fromCache({blending:hn.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,d=o.uniformState.sunPositionColumbusView,u=this._boundingVolume,m=this._boundingVolume2D;h.clone(c,u.center),m.center.x=d.z,m.center.y=d.x,m.center.z=d.y,u.radius=W.SOLAR_RADIUS+W.SOLAR_RADIUS*this._glowLengthTS,m.radius=u.radius,i===oe.SCENE3D?de.clone(u,a.boundingVolume):i===oe.COLUMBUS_VIEW&&de.clone(m,a.boundingVolume);let p=ki.computeActualEllipsoidPosition(e,c,xM),g=h.magnitude(h.subtract(p,e.camera.position,xM)),f=o.uniformState.projection,x=p_t;x.x=0,x.y=0,x.z=-g,x.w=1;let _=M.multiplyByVector(f,x,xM),C=ki.clipToGLWindowCoordinates(t.viewport,_,h_t);x.x=W.SOLAR_RADIUS;let V=M.multiplyByVector(f,x,xM),L=ki.clipToGLWindowCoordinates(t.viewport,V,f_t);return this._size=D.magnitude(D.subtract(L,C,xM)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};_M.prototype.isDestroyed=function(){return!1};_M.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),me(this)};var TM=_M;var k7i=T(S(),1);var S7i=T(S(),1);var hSe=T(Q9(),1);var F8i=T(S(),1);function b_t(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = ${n}.rgb; + float clippingPlanesEdgeWidth = ${n}.a; + if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) + { + out_FragColor = clippingPlanesEdgeColor; + } +`}var SM=b_t;var N8i=T(S(),1);var g_t={modifyFragmentShader:function(t){return t=Oe.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection; +void main() +{ +#ifndef SHADOW_MAP + if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; +#endif + czm_splitter_main(); +} +`,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},PL=g_t;var SS={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function CM(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=B.clone(B.DARKGRAY),this._highlightColor=B.clone(B.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=SS.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,Ge.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=M.clone(M.IDENTITY),this._modelMatrix=M.clone(M.IDENTITY),this.time=0,this.shadows=Tn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,wr.NONE),this._splittingEnabled=!1,this._error=void 0,y_t(this,e)}Object.defineProperties(CM.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return B.clone(this._highlightColor)},set:function(e){this._highlightColor=B.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(l(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=de.clone(e,this._boundingSphere)}}});function y_t(e,t){let n=P_.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&l(n.batchTableBinary)&&(n.styleableProperties=zp.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),l(n.draco)){let a=n.draco;e._decodingState=SS.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;l(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;l(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;l(r)&&(l(r.constantColor)&&(e._constantColor=B.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;l(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength}var x_t=new h,__t=new h,T_t=new h,uSe,eO;function S_t(e){if(!l(eO)){uSe=new hSe.default(0),eO=new Array(e);for(let t=0;t<e;++t)eO[t]=uSe.random()}return eO}function C_t(e){let n=e.length/3,i=Math.min(n,20),o=S_t(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,x_t),c=h.fromElements(s,s,s,__t);for(let u=0;u<i;++u){let m=Math.floor(o[u]*n),p=h.unpack(e,m*3,T_t);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let d=de.fromCornerPoints(a,c);return d.radius+=W.EPSILON2,d}function mSe(e,t){let n=Q.fromTypedArray(e);return n===Q.INT||n===Q.UNSIGNED_INT||n===Q.DOUBLE?(Tt("Cast pnts property to floats",`Point cloud property "${t}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var V_t=new re,L_t=new re,R_t=new B,fSe=0,tO=1,I7=2,pSe=3,Z_t=4,R7=new M,G_t=new M;function E_t(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,d=i.styleableProperties,u=l(d),m=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,f=e._isOctEncodedDraco,x=e._quantizedRange,_=e._octEncodedRange,C=e._isRGB565,V=e._isTranslucent,L=e._hasColors,Z=e._hasNormals,G=e._hasBatchIds,I,v,P=[],w={};if(e._styleableShaderAttributes=w,u){let U=Z_t;for(let Y in d)if(d.hasOwnProperty(Y)){let k=d[Y],H=mSe(k.typedArray,Y);I=k.componentCount,v=Q.fromTypedArray(H);let J=_t.createVertexBuffer({context:n,typedArray:H,usage:Ue.STATIC_DRAW});e._geometryByteLength+=J.sizeInBytes;let te={index:U,vertexBuffer:J,componentsPerAttribute:I,componentDatatype:v,normalize:!1,offsetInBytes:0,strideInBytes:0};P.push(te),w[Y]={location:U,componentCount:I},++U}}let A=_t.createVertexBuffer({context:n,typedArray:r.typedArray,usage:Ue.STATIC_DRAW});e._geometryByteLength+=A.sizeInBytes;let b;L&&(b=_t.createVertexBuffer({context:n,typedArray:s.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=b.sizeInBytes);let R;Z&&(R=_t.createVertexBuffer({context:n,typedArray:a.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=R.sizeInBytes);let E;G&&(c.typedArray=mSe(c.typedArray,"batchIds"),E=_t.createVertexBuffer({context:n,typedArray:c.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=E.sizeInBytes);let X=[];if(m?v=Q.UNSIGNED_SHORT:p?v=x<=255?Q.UNSIGNED_BYTE:Q.UNSIGNED_SHORT:v=Q.FLOAT,X.push({index:fSe,vertexBuffer:A,componentsPerAttribute:3,componentDatatype:v,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(m||p?e._boundingSphere=de.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=C_t(r.typedArray)),L)if(C)X.push({index:tO,vertexBuffer:b,componentsPerAttribute:1,componentDatatype:Q.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let U=V?4:3;X.push({index:tO,vertexBuffer:b,componentsPerAttribute:U,componentDatatype:Q.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}Z&&(g?(I=2,v=Q.UNSIGNED_BYTE):f?(I=2,v=_<=255?Q.UNSIGNED_BYTE:Q.UNSIGNED_SHORT):(I=3,v=Q.FLOAT),X.push({index:I7,vertexBuffer:R,componentsPerAttribute:I,componentDatatype:v,normalize:!1,offsetInBytes:0,strideInBytes:0})),G&&X.push({index:pSe,vertexBuffer:E,componentsPerAttribute:1,componentDatatype:Q.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),u&&(X=X.concat(P));let F=new ri({context:n,attributes:X}),N={depthTest:{enabled:!0}},O={depthTest:{enabled:!0},depthMask:!1,blending:hn.ALPHA_BLEND};e._opaquePass===Ge.CESIUM_3D_TILE&&(N.stencilTest=Dt.setCesium3DTileBit(),N.stencilMask=Dt.CESIUM_3D_TILE_MASK,O.stencilTest=Dt.setCesium3DTileBit(),O.stencilMask=Dt.CESIUM_3D_TILE_MASK),e._opaqueRenderState=Be.fromCache(N),e._translucentRenderState=Be.fromCache(O),e._drawCommand=new tt({boundingVolume:new de,cull:e._cull,modelMatrix:new M,primitiveType:Me.POINTS,vertexArray:F,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:V?e._translucentRenderState:e._opaqueRenderState,pass:V?Ge.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function I_t(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=V_t;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,d;t.mode===oe.SCENE2D||c instanceof ln?d=Number.POSITIVE_INFINITY:d=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=d}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!l(a))return B.TRANSPARENT;let c=B.clone(a.edgeColor,R_t);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!l(a))return M.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);M.multiply(n.uniformState.view3D,c,R7);let d=M.multiply(R7,a.modelMatrix,R7);return M.inverseTranspose(d,G_t)}};PL.addUniforms(e,s),(i||o||r)&&(s=Vt(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=L_t;if(l(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),l(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function Z7(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function G7(e,t){e=e.slice(e.indexOf(` +`));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function E7(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var X_t={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function W_t(e,t,n){let i,o,r,s=t.context,a=l(n),c=e._isQuantized,d=e._isQuantizedDraco,u=e._isOctEncoded16P,m=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,f=e._hasColors,x=e._hasNormals,_=e._hasBatchIds,C=e._backFaceCulling,V=e._normalShading,L=e._drawCommand.vertexArray,Z=e.clippingPlanes,G=e._attenuation,I,v,P,w=g,A=He(X_t),b={},R=e._styleableShaderAttributes;for(o in R)R.hasOwnProperty(o)&&(r=R[o],A[o]=`czm_3dtiles_property_${r.location}`,b[r.location]=r);if(a){let ae={translucent:!1},ye="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";I=n.getColorShaderFunction(`getColorFromStyle${ye}`,A,ae),v=n.getShowShaderFunction(`getShowFromStyle${ye}`,A,ae),P=n.getPointSizeShaderFunction(`getPointSizeFromStyle${ye}`,A,ae),l(I)&&ae.translucent&&(w=!0)}e._styleTranslucent=w;let E=l(I),X=l(v),F=l(P),N=e.isClipped,O=[],U=[];E&&(Z7(I,O),G7(I,U)),X&&(Z7(v,O),G7(v,U)),F&&(Z7(P,O),G7(P,U));let Y=U.indexOf("COLOR")>=0,k=U.indexOf("NORMAL")>=0;if(k&&!x)throw new ce("Style references the NORMAL semantic but the point cloud does not have normals");for(o in R)if(R.hasOwnProperty(o)){r=R[o];let ae=O.indexOf(r.location)>=0,ye=E7(L,r.location);ye.enabled=ae}let H=f&&(!E||Y);if(f){let ae=E7(L,tO);ae.enabled=H}let J=x&&(V||C||k);if(x){let ae=E7(L,I7);ae.enabled=J}let te={a_position:fSe};H&&(te.a_color=tO),J&&(te.a_normal=I7),_&&(te.a_batchId=pSe);let z="",q=O.length;for(i=0;i<q;++i){let ae=O[i];r=b[ae];let ye=r.componentCount,Te=`czm_3dtiles_property_${ae}`,Xe;ye===1?Xe="float":Xe=`vec${ye}`,z+=`in ${Xe} ${Te}; +`,te[Te]=r.location}I_t(e,t);let ee=`in vec3 a_position; +out vec4 v_color; +uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; +uniform vec4 u_constantColor; +uniform vec4 u_highlightColor; +`;ee+=`float u_pointSize; +float tiles3d_tileset_time; +`,G&&(ee+=`float u_geometricError; +float u_depthMultiplier; +`),ee+=z,H&&(g?ee+=`in vec4 a_color; +`:p?ee+=`in float a_color; +const float SHIFT_RIGHT_11 = 1.0 / 2048.0; +const float SHIFT_RIGHT_5 = 1.0 / 32.0; +const float SHIFT_LEFT_11 = 2048.0; +const float SHIFT_LEFT_5 = 32.0; +const float NORMALIZE_6 = 1.0 / 64.0; +const float NORMALIZE_5 = 1.0 / 32.0; +`:ee+=`in vec3 a_color; +`),J&&(u||m?ee+=`in vec2 a_normal; +`:ee+=`in vec3 a_normal; +`),_&&(ee+=`in float a_batchId; +`),(c||d||m)&&(ee+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; +`),E&&(ee+=I),X&&(ee+=v),F&&(ee+=P),ee+=`void main() +{ + u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; + tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; +`,G&&(ee+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; + u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; +`),H?g?ee+=` vec4 color = a_color; +`:p?ee+=` float compressed = a_color; + float r = floor(compressed * SHIFT_RIGHT_11); + compressed -= r * SHIFT_LEFT_11; + float g = floor(compressed * SHIFT_RIGHT_5); + compressed -= g * SHIFT_LEFT_5; + float b = compressed; + vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); + vec4 color = vec4(rgb, 1.0); +`:ee+=` vec4 color = vec4(a_color, 1.0); +`:ee+=` vec4 color = u_constantColor; +`,c||d?ee+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; +`:ee+=` vec3 position = a_position; +`,ee+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); +`,J?(u?ee+=` vec3 normal = czm_octDecode(a_normal); +`:m?ee+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; +`:ee+=` vec3 normal = a_normal; +`,ee+=` vec3 normalEC = czm_normal * normal; +`):ee+=` vec3 normal = vec3(1.0); +`,E&&(ee+=` color = getColorFromStyle(position, position_absolute, color, normal); +`),X&&(ee+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); +`),F?ee+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; +`:G?ee+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); + float depth = -positionEC.z; + gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); +`:ee+=` gl_PointSize = u_pointSize; +`,ee+=` color = color * u_highlightColor; +`,J&&V&&(ee+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); + diffuseStrength = max(diffuseStrength, 0.4); + color.xyz *= diffuseStrength * czm_lightColor; +`),ee+=` v_color = color; + gl_Position = czm_modelViewProjection * vec4(position, 1.0); +`,J&&C&&(ee+=` float visible = step(-normalEC.z, 0.0); + gl_Position *= visible; + gl_PointSize *= visible; +`),X&&(ee+=` gl_Position.w *= float(show); + gl_PointSize *= float(show); +`),ee+=`} +`;let pe=`in vec4 v_color; +`;N&&(pe+=`uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +`,pe+=` +`,pe+=m0(Z,s),pe+=` +`),pe+=`void main() +{ + out_FragColor = czm_gammaCorrect(v_color); +`,N&&(pe+=SM("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),pe+=`} +`,e.splitDirection!==wr.NONE&&(pe=PL.modifyFragmentShader(pe)),l(e._vertexShaderLoaded)&&(ee=e._vertexShaderLoaded(ee)),l(e._fragmentShaderLoaded)&&(pe=e._fragmentShaderLoaded(pe));let _e=e._drawCommand;l(_e.shaderProgram)&&_e.shaderProgram.destroy(),_e.shaderProgram=en.fromCache({context:s,vertexShaderSource:ee,fragmentShaderSource:pe,attributeLocations:te});try{_e.shaderProgram._bind()}catch{throw new ce("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function P_t(e,t){if(e._decodingState===SS.READY)return!1;if(e._decodingState===SS.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=eb.decodePointCloud(i,t);l(o)&&(e._decodingState=SS.DECODING,o.then(function(r){e._decodingState=SS.READY;let s=l(r.POSITION)?r.POSITION.array:void 0,a=l(r.RGB)?r.RGB.array:void 0,c=l(r.RGBA)?r.RGBA.array:void 0,d=l(r.NORMAL)?r.NORMAL.array:void 0,u=l(r.BATCH_ID)?r.BATCH_ID.array:void 0,m=l(s)&&l(r.POSITION.data.quantization),p=l(d)&&l(r.NORMAL.data.quantization);if(m){let _=r.POSITION.data.quantization,C=_.range;e._quantizedVolumeScale=h.fromElements(C,C,C),e._quantizedVolumeOffset=h.unpack(_.minValues),e._quantizedRange=(1<<_.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,f=i.batchTableProperties;for(let _ in f)if(f.hasOwnProperty(_)){let C=r[_];l(g)||(g={}),g[_]={typedArray:C.array,componentCount:C.data.componentsPerAttribute}}l(s)&&(n.positions={typedArray:s});let x=y(c,a);l(x)&&(n.colors={typedArray:x}),l(d)&&(n.normals={typedArray:d}),l(u)&&(n.batchIds={typedArray:u}),n.styleableProperties=g}).catch(function(r){e._decodingState=SS.FAILED,e._error=r}))}return!0}var v_t=new re,w_t=new h;CM.prototype.update=function(e){let t=e.context;if(l(this._error)){let d=this._error;throw this._error=void 0,d}if(P_t(this,t))return;let i=!1,o=!M.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),l(this._drawCommand)||(E_t(this,e),o=!0,i=!0,this._ready=!0,this._parsedContent=void 0),o){M.clone(this.modelMatrix,this._modelMatrix);let d=this._drawCommand.modelMatrix;if(M.clone(this._modelMatrix,d),l(this._rtcCenter)&&M.multiplyByTranslation(d,this._rtcCenter,d),l(this._quantizedVolumeOffset)&&M.multiplyByTranslation(d,this._quantizedVolumeOffset,d),e.mode!==oe.SCENE3D){let m=e.mapProjection,p=M.getColumn(d,3,v_t);re.equals(p,re.UNIT_W)||vt.basisTo2D(m,d,d)}let u=this._drawCommand.boundingVolume;if(de.clone(this._boundingSphere,u),this._cull){let m=u.center;M.multiplyByPoint(d,m,m);let p=M.getScale(d,w_t);u.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==wr.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&W_t(this,e,this._style),this._drawCommand.castShadows=Tn.castShadows(this.shadows),this._drawCommand.receiveShadows=Tn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?Ge.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};CM.prototype.isDestroyed=function(){return!1};CM.prototype.destroy=function(){let e=this._drawCommand;return l(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),me(this)};var VM=CM;function VS(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.shadows=y(e.shadows,Tn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new yf(e.shading),this.style=e.style,this.frameFailed=new be,this.frameChanged=new be,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new db,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(VS.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){bs.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(l(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}}});function F_t(e){return`uniform vec4 czm_pickColor; +${e}`}function A_t(e){return function(t){return Vt(t,{czm_pickColor:function(){return e._pickId.color}})}}function M_t(){return"czm_pickColor"}VS.prototype.makeStyleDirty=function(){this._styleDirty=!0};VS.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var N_t=new j;function W7(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function CS(e,t){return e._intervals.indexOf(t.start)}function k_t(e,t){let n=e._intervals,i=e._clock,o=W7(e);if(o===0)return;let r=e._getAverageLoadTime(),s=j.addSeconds(i.currentTime,r*o,N_t),a=n.indexOf(s),c=CS(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function U_t(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function D_t(e,t,n){let i=W7(e),o=CS(e,t),r=CS(e,n);return i>=0?o>=r:o<=r}function gSe(e,t){return function(n){let i=l(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function B_t(e,t,n){let i=CS(e,t),o=e._frames,r=o[i];if(!l(r)){let s=t.data.transform,a=l(s)?M.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:Ci(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber,uri:c},o[i]=r,Le.fetchArrayBuffer({url:c}).then(function(d){r.pointCloud=new VM({arrayBuffer:d,cull:!0,fragmentShaderLoaded:F_t,uniformMapLoaded:A_t(e),pickIdLoaded:M_t})}).catch(gSe(e,c))}return r}function O_t(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function Y_t(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(l(o)&&!t.ready){let r=i.commandList,s=r.length;if(ySe(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(Ci()-t.timestamp)/1e3;O_t(e,a)}}t.touchedFrameNumber=i.frameNumber}var H_t=new M;function z_t(e,t){let n=e.shading;return l(n)&&l(n.baseResolution)?n.baseResolution:l(t.boundingSphere)?W.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function K_t(e){let t=e.shading;return l(t)&&l(t.maximumAttenuation)?t.maximumAttenuation:10}var J_t=new yf;function ySe(e,t,n,i){let o=y(e.shading,J_t),r=t.pointCloud,s=y(t.transform,M.IDENTITY);r.modelMatrix=M.multiplyTransformation(e.modelMatrix,s,H_t),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=z_t(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=K_t(e);try{r.update(i)}catch(a){gSe(e,t.uri)(a)}t.touchedFrameNumber=i.frameNumber}function X7(e,t,n,i){let o=B_t(e,t,i);Y_t(e,o,n,i)}function Q_t(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function xSe(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(l(r)&&(!l(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),l(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function j_t(e,t){let n=CS(e,t),i=e._frames[n];if(l(i)&&i.ready)return i}function bSe(e,t,n,i,o){return l(n)?n.ready?!0:(X7(e,t,i,o),n.ready):!1}function q_t(e,t,n,i,o){let r,s,a,c=e._intervals,d=e._frames,u=CS(e,n),m=CS(e,t);if(u>=m){for(r=u;r>=m;--r)if(s=c.get(r),a=d[r],bSe(e,s,a,i,o))return s}else for(r=u;r<=m;++r)if(s=c.get(r),a=d[r],bSe(e,s,a,i,o))return s;return t}function $_t(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];l(s)&&l(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var vL={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};VS.prototype.update=function(e){if(e.mode===oe.MORPHING||!this.show)return;l(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),l(this._loadTimestamp)||(this._loadTimestamp=j.clone(e.time));let t=Math.max(j.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=l(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&$_t(this,o,s),vL.timeSinceLoad=t,vL.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,d=e.commandList,u=d.length,m=this._previousInterval,p=this._nextInterval,g=U_t(this);if(!l(g))return;let f=!1,x=W7(this),_=x===0;x!==this._clockMultiplier&&(f=!0,this._clockMultiplier=x),(!l(m)||_)&&(m=g),(!l(p)||f||D_t(this,g,p))&&(p=k_t(this,g)),m=q_t(this,m,g,vL,e);let C=j_t(this,m);l(C)||(X7(this,m,vL,e),C=this._lastRenderedFrame),l(C)&&ySe(this,C,vL,e),l(p)&&X7(this,p,vL,e);let V=this;l(C)&&!l(this._lastRenderedFrame)&&e.afterRender.push(function(){return!0}),l(C)&&C!==this._lastRenderedFrame&&V.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){return V.frameChanged.raiseEvent(V),!0}),this._previousInterval=m,this._nextInterval=p,this._lastRenderedFrame=C;let L=this._totalMemoryUsageInBytes,Z=this.maximumMemoryUsage*1024*1024;L>Z&&xSe(this,Q_t(e));let I=d.length-u;l(a)&&a.attenuation&&a.eyeDomeLighting&&I>0&&c.update(e,u,a,this.boundingSphere)};VS.prototype.isDestroyed=function(){return!1};VS.prototype.destroy=function(){return xSe(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),me(this)};var wL=VS;function _Se(e,t){if(l(t)){let n=t.clock;l(n)&&n.getValue(e)}}function eTt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!l(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors&&e.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,o)}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function TSe(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,l(e._scene)&&(e._scene.pixelRatio=t),t}function SSe(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=TSe(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function CSe(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;l(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function Go(e,t){e=Pn(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=Yt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=Yt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=l(t.creditContainer)?Pn(t.creditContainer):n;c.appendChild(a);let d=l(t.creditViewport)?Pn(t.creditViewport):n,u=y(t.showRenderLoopErrors,!0),m=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=d,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=u,this._resolutionScale=1,this._useBrowserRecommendedResolution=m,this._forceResize=!1,this._entityView=void 0,this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._trackedEntityChanged=new be,this._allowDataSourcesToSuspendAnimation=!0,this._clock=l(t.clock)?t.clock:new uh,l(t.shouldAnimate)&&(this._clock.shouldAnimate=t.shouldAnimate),SSe(this);try{let p=y(t.ellipsoid,ne.default),g=new bM({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:d,ellipsoid:p,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=g,g.camera.constrainedAxis=h.UNIT_Z,TSe(this),CSe(this);let f=t.globe;l(f)||(f=new WF(p)),f!==!1&&(g.globe=f,g.globe.shadows=y(t.terrainShadows,Tn.RECEIVE_ONLY));let x=t.skyBox;!l(x)&&ne.WGS84.equals(p)&&(x=yM.createEarthSkyBox()),x!==!1&&(g.skyBox=x,g.sun=new TM,ne.WGS84.equals(p)&&(g.moon=new wF));let _=t.skyAtmosphere;!l(_)&&ne.WGS84.equals(p)&&(_=new gM(p),_.show=t.globe!==!1&&f.show),_!==!1&&(g.skyAtmosphere=_);let C=t.baseLayer;t.globe!==!1&&C!==!1&&(l(C)||(C=Ka.fromWorldImagery()),g.imageryLayers.add(C)),l(t.terrainProvider)&&t.globe!==!1&&(g.terrainProvider=t.terrainProvider),l(t.terrain)&&t.globe!==!1&&g.setTerrain(t.terrain),this._screenSpaceEventHandler=new $d(i),l(t.sceneMode)&&(t.sceneMode===oe.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===oe.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let V=this;this._onRenderError=function(P,w){V._useDefaultRenderLoop=!1,V._renderLoopRunning=!1,V._showRenderLoopErrors&&V.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,w)},g.renderError.addEventListener(this._onRenderError);let L=t.dataSources,Z=!1;l(L)||(L=new qP,Z=!0);let G=new Fv({scene:g,dataSourceCollection:L}),I=new mr;this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=t.automaticallyTrackDataSourceClocks??!0,this._dataSourceCollection=L,this._destroyDataSourceCollection=Z,this._dataSourceDisplay=G,this._eventHelper=I,this._canAnimateUpdateCallback=this._updateCanAnimate,I.add(this._clock.onTick,Go.prototype._onTick,this),I.add(g.morphStart,Go.prototype._clearTrackedObject,this),I.add(L.dataSourceAdded,Go.prototype._onDataSourceAdded,this),I.add(L.dataSourceRemoved,Go.prototype._onDataSourceRemoved,this),I.add(g.postRender,Go.prototype._postRender,this);let v=L.length;for(let P=0;P<v;P++)this._dataSourceAdded(L,L.get(P));this._dataSourceAdded(void 0,G.defaultDataSource),I.add(L.dataSourceAdded,Go.prototype._dataSourceAdded,this),I.add(L.dataSourceRemoved,Go.prototype._dataSourceRemoved,this)}catch(p){throw u&&this.showErrorPanel("Error constructing CesiumWidget.",'Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:',p),p}}Object.defineProperties(Go.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},camera:{get:function(){return this._scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&eTt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,P7(this);let t=this.scene,n=t.mode;!l(e)||!l(e.position)?(this._needTrackedEntityUpdate=!1,(n===oe.COLUMBUS_VIEW||n===oe.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===oe.COLUMBUS_VIEW||n===oe.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(M.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,_Se(this.clock,e))}}});Go.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),l(window.addEventListener)&&window.addEventListener("resize",c,!1);let d=l(t),u=l(n);if(d||u){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),u){let f=zf(n);d||(typeof n=="string"&&(n=new Error(n)),t=zf({name:n.name,message:n.message}),f=n.stack),typeof console<"u"&&console.error(`${e} +${t} +${f}`);let x=document.createElement("div");x.className="cesium-widget-errorPanel-message-details collapsed";let _=document.createElement("span");_.className="cesium-widget-errorPanel-more-details",_.appendChild(document.createTextNode("See more...")),x.appendChild(_),x.onclick=function(C){x.removeChild(_),x.appendChild(document.createTextNode(f)),x.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",x.onclick=void 0},a.appendChild(x)}g.innerHTML=`<p>${t}</p>`}let m=document.createElement("div");m.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(m);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){l(c)&&l(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},m.appendChild(p),i.appendChild(o)};Go.prototype.isDestroyed=function(){return!1};Go.prototype.destroy=function(){let e=this.dataSources,t=e.length;for(let n=0;n<t;n++)this._dataSourceRemoved(e,e.get(n));this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),l(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),this._eventHelper.removeAll(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),me(this)};Go.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,SSe(this),CSe(this),this._scene.requestRender())};Go.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};Go.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Go.prototype._onEntityCollectionChanged,this)};Go.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Go.prototype._onEntityCollectionChanged,this),l(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0)};Go.prototype._updateCanAnimate=function(e){this._clock.canAnimate=e};var FL=new de;Go.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&this._canAnimateUpdateCallback(n);let i=this._entityView;if(l(i)){let o=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(o,!0,FL)===mt.DONE&&i.update(t,FL)}};Go.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0)}};Go.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Go.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&_Se(this.clock,e)};Go.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Go.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Go.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};Go.prototype.zoomTo=function(e,t){return VSe(this,e,{offset:t},!1)};Go.prototype.flyTo=function(e,t){return VSe(this,e,t,!0)};function VSe(e,t,n,i){P7(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof Ka){let s;l(r.imageryProvider)?s=Promise.resolve(r.getImageryRectangle()):s=new Promise(a=>{let c=r.readyEvent.addEventListener(()=>{c(),a(r.getImageryRectangle())})}),s.then(function(a){return KT(a,e.scene)}).then(function(a){e._zoomPromise===o&&(e._zoomTarget=a)});return}if(r instanceof xs||r instanceof wL||r instanceof zy){e._zoomTarget=r;return}if(r.isLoading&&l(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=r.values??r,l(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function LM(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function P7(e){let t=e._zoomPromise;l(t)&&(LM(e),e._completeZoom(!1))}Go.prototype._postRender=function(){tTt(this),nTt(this)};function tTt(e){let t=e._zoomTarget;if(!l(t)||e.scene.mode===oe.MORPHING)return;let n=e.scene,i=n.camera,o=e._zoomOptions??{},r;function s(u){l(o.offset)||(o.offset=new nm(0,-.5,u.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(M.IDENTITY),e._completeZoom(!0)),LM(e)}if(t instanceof wL){if(l(t.boundingSphere)){s(t.boundingSphere);return}let u=t.frameChanged.addEventListener(function(m){s(m.boundingSphere),u()});return}if(t instanceof xs||t instanceof zy){s(t.boundingSphere);return}if(t instanceof he){r={destination:n.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),LM(e);return}let a=t,c=[];for(let u=0,m=a.length;u<m;u++){let p=e._dataSourceDisplay.getBoundingSphere(a[u],!1,FL);if(p===mt.PENDING)return;p!==mt.FAILED&&c.push(de.clone(FL))}if(c.length===0){P7(e);return}e.trackedEntity=void 0;let d=de.fromBoundingSpheres(c);e._zoomIsFlight?(LM(e),i.flyToBoundingSphere(d,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(d,o.offset),i.lookAtTransform(M.IDENTITY),LM(e),e._completeZoom(!0))}function nTt(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=K.getValueOrUndefined(t.position,n);if(!l(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,FL);if(r===mt.PENDING)return;let s=o.mode;(s===oe.COLUMBUS_VIEW||s===oe.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===oe.COLUMBUS_VIEW||s===oe.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==mt.FAILED?FL:void 0;e._entityView=new Mv(t,o,o.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var RM=Go;var Z6i=T(S(),1);var iTt=new h(1,1,1);function v7(e){e=y(e,iTt),this._dimensions=h.clone(e)}Object.defineProperties(v7.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var oTt=new h;v7.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,oTt),i=W.randomBetween(-n.x,n.x),o=W.randomBetween(-n.y,n.y),r=W.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var w7=v7;var I6i=T(S(),1);function dp(){this.featurePropertiesDirty=!1}Object.defineProperties(dp.prototype,{featuresLength:{get:function(){fe.throwInstantiationError()}},pointsLength:{get:function(){fe.throwInstantiationError()}},trianglesLength:{get:function(){fe.throwInstantiationError()}},geometryByteLength:{get:function(){fe.throwInstantiationError()}},texturesByteLength:{get:function(){fe.throwInstantiationError()}},batchTableByteLength:{get:function(){fe.throwInstantiationError()}},innerContents:{get:function(){fe.throwInstantiationError()}},ready:{get:function(){fe.throwInstantiationError()}},tileset:{get:function(){fe.throwInstantiationError()}},tile:{get:function(){fe.throwInstantiationError()}},url:{get:function(){fe.throwInstantiationError()}},batchTable:{get:function(){fe.throwInstantiationError()}},metadata:{get:function(){fe.throwInstantiationError()},set:function(e){fe.throwInstantiationError()}},group:{get:function(){fe.throwInstantiationError()},set:function(e){fe.throwInstantiationError()}}});dp.prototype.hasProperty=function(e,t){fe.throwInstantiationError()};dp.prototype.getFeature=function(e){fe.throwInstantiationError()};dp.prototype.applyDebugSettings=function(e,t){fe.throwInstantiationError()};dp.prototype.applyStyle=function(e){fe.throwInstantiationError()};dp.prototype.update=function(e,t){fe.throwInstantiationError()};dp.prototype.pick=function(e,t,n){fe.throwInstantiationError()};dp.prototype.isDestroyed=function(){fe.throwInstantiationError()};dp.prototype.destroy=function(){fe.throwInstantiationError()};var F7=dp;var B6i=T(S(),1);var w6i=T(S(),1);function AL(e,t){this._conditionsExpression=He(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,sTt(this,t)}Object.defineProperties(AL.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function rTt(e,t){this.condition=e,this.expression=t}function sTt(e,t){let n=[],i=e._conditions;if(!l(i))return;let o=i.length;for(let r=0;r<o;++r){let s=i[r],a=String(s[0]),c=String(s[1]);n.push(new rTt(new Ru(a,t),new Ru(c,t)))}e._runtimeConditions=n}AL.prototype.evaluate=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluate(e,t)}};AL.prototype.evaluateColor=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluateColor(e,t)}};AL.prototype.getShaderFunction=function(e,t,n,i){let o=this._runtimeConditions;if(!l(o)||o.length===0)return;let r="",s=o.length;for(let a=0;a<s;++a){let c=o[a],d=c.condition.getShaderExpression(t,n),u=c.expression.getShaderExpression(t,n);r+=` ${a===0?"if":"else if"} (${d}) + { + return ${u}; + } +`}return r=`${i} ${e} { - vec4 color = texture(u_texture, v_textureCoordinates); - out_FragColor = czm_gammaCorrect(color); +${r} return ${i}(1.0); } -`;var m8i=T(S(),1),V9=`uniform float u_radiusTS; - -in vec2 v_textureCoordinates; - -vec2 rotate(vec2 p, vec2 direction) +`,r};AL.prototype.getVariables=function(){let e=[],t=this._runtimeConditions;if(!l(t)||t.length===0)return e;let n=t.length;for(let i=0;i<n;++i){let o=t[i];e.push.apply(e,o.condition.getVariables()),e.push.apply(e,o.expression.getVariables())}return e=e.filter(function(i,o,r){return r.indexOf(i)===o}),e};var ZM=AL;function Jy(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,aTt(this,e)}function aTt(e,t){t=y(He(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;let n={};if(l(t.meta)){let i=t.defines,o=y(t.meta,y.EMPTY_OBJECT);for(let r in o)o.hasOwnProperty(r)&&(n[r]=new Ru(o[r],i))}e._meta=n,e._ready=!0}function ar(e,t){let n=y(e._style,y.EMPTY_OBJECT).defines;if(l(t)){if(typeof t=="boolean"||typeof t=="number")return new Ru(String(t));if(typeof t=="string")return new Ru(t,n);if(l(t.conditions))return new ZM(t,n)}else return;return t}function cr(e){if(l(e)){if(l(e.expression))return e.expression;if(l(e.conditionsExpression))return He(e.conditionsExpression,!0)}else return;return e}Object.defineProperties(Jy.prototype,{style:{get:function(){return this._style}},show:{get:function(){return this._show},set:function(e){this._show=ar(this,e),this._style.show=cr(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=ar(this,e),this._style.color=cr(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=ar(this,e),this._style.pointSize=cr(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=ar(this,e),this._style.pointOutlineColor=cr(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=ar(this,e),this._style.pointOutlineWidth=cr(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=ar(this,e),this._style.labelColor=cr(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=ar(this,e),this._style.labelOutlineColor=cr(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=ar(this,e),this._style.labelOutlineWidth=cr(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=ar(this,e),this._style.font=cr(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=ar(this,e),this._style.labelStyle=cr(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=ar(this,e),this._style.labelText=cr(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=ar(this,e),this._style.backgroundColor=cr(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=ar(this,e),this._style.backgroundPadding=cr(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=ar(this,e),this._style.backgroundEnabled=cr(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=ar(this,e),this._style.scaleByDistance=cr(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=ar(this,e),this._style.translucencyByDistance=cr(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=ar(this,e),this._style.distanceDisplayCondition=cr(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=ar(this,e),this._style.heightOffset=cr(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=ar(this,e),this._style.anchorLineEnabled=cr(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=ar(this,e),this._style.anchorLineColor=cr(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=ar(this,e),this._style.image=cr(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=ar(this,e),this._style.disableDepthTestDistance=cr(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=ar(this,e),this._style.horizontalOrigin=cr(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=ar(this,e),this._style.verticalOrigin=cr(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=ar(this,e),this._style.labelHorizontalOrigin=cr(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=ar(this,e),this._style.labelVerticalOrigin=cr(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}});Jy.fromUrl=function(e){return Le.createIfNeeded(e).fetchJson(e).then(function(n){return new Jy(n)})};Jy.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,l(this.color)&&l(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)};Jy.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady?this._showShaderFunction:(this._showShaderFunctionReady=!0,l(this.show)&&l(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0,this._showShaderFunction)};Jy.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady?this._pointSizeShaderFunction:(this._pointSizeShaderFunctionReady=!0,l(this.pointSize)&&l(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0,this._pointSizeShaderFunction)};Jy.prototype.getVariables=function(){let e=[];return l(this.color)&&l(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),l(this.show)&&l(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),l(this.pointSize)&&l(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var LS=Jy;var Sqi=T(S(),1);var z6i=T(S(),1);function GM(e){e=y(e,y.EMPTY_OBJECT),this._maximumSubtreeCount=y(e.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new AT({comparator:GM.comparator})}GM.prototype.addSubtree=function(e){let t=new cTt(e,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(t);let n=e.implicitCoordinates;if(n.level>0){let i=n.getParentSubtreeCoordinates(),o=this.find(i)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==t;)this._queue.removeMinimum()};GM.prototype.find=function(e){let t=this._queue,n=t.internalArray,i=t.length;for(let o=0;o<i;o++){let r=n[o],a=r.subtree.implicitCoordinates;if(e.isEqual(a))return r.subtree}};GM.comparator=function(e,t){let n=e.subtree.implicitCoordinates,i=t.subtree.implicitCoordinates;return n.isAncestor(i)?1:i.isAncestor(n)?-1:e.stamp-t.stamp};function cTt(e,t){this.subtree=e,this.stamp=t}var EM=GM;var q6i=T(S(),1);function nO(e){this._resource=e,this._metadataTable=void 0}Object.defineProperties(nO.prototype,{metadataTable:{get:function(){return this._metadataTable}}});nO.fromJson=async function(e,t,n,i){let o;l(t)?o={json:t,binary:void 0}:o=dTt(n);let r=await lTt(e,o.json,o.binary),s={},a=o.json.bufferViews.length;for(let m=0;m<a;++m){let p=o.json.bufferViews[m],g=p.byteOffset,f=g+p.byteLength,_=r[p.buffer].subarray(g,f);s[m]=_}let c=o.json.voxelTable,d=o.json.propertyTables[c],u=new nO(e);return u._metadataTable=new Il({count:d.count,properties:d.properties,class:i.classes[d.class],bufferViews:s}),u};function lTt(e,t,n){let i=t.buffers.length,o=new Array(i);for(let r=0;r<i;r++){let s=t.buffers[r];if(l(s.uri)){let c=e.getDerivedResource({url:s.uri});o[r]=c.fetchArrayBuffer().then(function(d){return new Uint8Array(d)})}else o[r]=Promise.resolve(n)}return Promise.all(o)}function dTt(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Po(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}var IM=nO;function iO(e){e=y(e,y.EMPTY_OBJECT),this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new EM}iO.fromUrl=async function(e){let t=Le.createIfNeeded(e),n=await t.fetchJson();mTt(n);let i=gTt(n,t);await i.load();let o=n.root,r=o.content.extensions["3DTILES_content_voxels"],s=r.class,a=ci(n,"3DTILES_metadata")?n.extensions["3DTILES_metadata"]:n,c=i.schema,d=new J_({metadataJson:a,schema:c}),u=new iO;yTt(u,d,s);let m=new j_(t,o,c),{shape:p,minBounds:g,maxBounds:f,shapeTransform:x,globalTransform:_}=hTt(o);u.shape=p,u.minBounds=g,u.maxBounds=f,u.dimensions=h.unpack(r.dimensions),u.shapeTransform=x,u.globalTransform=_,u.maximumTileCount=uTt(d);let C,V;return l(r.padding)&&(C=h.unpack(r.padding.before),V=h.unpack(r.padding.after)),u.paddingBefore=C,u.paddingAfter=V,u._implicitTileset=m,Ri.unload(i),u};function uTt(e){if(l(e.tileset))return e.tileset.getPropertyBySemantic(x_.TILESET_TILE_COUNT)}function mTt(e){let t=e.root;if(!l(t.content))throw new ce("Root must have content");if(!ci(t.content,"3DTILES_content_voxels"))throw new ce("Root tile content must have 3DTILES_content_voxels extension");if(!ci(t,"3DTILES_implicit_tiling")&&!l(t.implicitTiling))throw new ce("Root tile must have implicit tiling");if(!l(e.schema)&&!l(e.schemaUri)&&!ci(e,"3DTILES_metadata"))throw new ce("Tileset must have a metadata schema")}function hTt(e){let t=e.boundingVolume,n;if(l(e.transform)?n=M.unpack(e.transform):n=M.clone(M.IDENTITY),l(t.box))return pTt(t.box,n);if(l(t.region))return fTt(t.region);if(ci(t,"3DTILES_bounding_volume_cylinder"))return bTt(t.extensions["3DTILES_bounding_volume_cylinder"].cylinder,n);throw new ce("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function fTt(e){let t=e[0],n=e[1],i=e[2],o=e[3],r=e[4],s=e[5],a=M.fromScale(ne.WGS84.radii),c=new h(t,n,r),d=new h(i,o,s);return{shape:Ai.ELLIPSOID,minBounds:c,maxBounds:d,shapeTransform:a,globalTransform:M.clone(M.IDENTITY)}}function pTt(e,t){let n=In.unpack(e),i=M.fromRotationTranslation(n.halfAxes,n.center);return{shape:Ai.BOX,minBounds:h.clone(sp.DefaultMinBounds),maxBounds:h.clone(sp.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function bTt(e,t){let n=In.unpack(e),i=M.fromRotationTranslation(n.halfAxes,n.center);return{shape:Ai.CYLINDER,minBounds:h.clone(ap.DefaultMinBounds),maxBounds:h.clone(ap.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function gTt(e,t){let{schemaUri:n,schema:i}=e;return l(n)?Ri.getSchemaLoader({resource:t.getDerivedResource({url:n})}):Ri.getSchemaLoader({schema:i})}function yTt(e,t,n){let{schema:i,statistics:o}=t,r=o?.classes[n],s=i.classes[n].properties,a=Object.entries(s).map(([m,p])=>{let{type:g,componentType:f}=p,x=r?.properties[m].min,_=r?.properties[m].max,C=ft.getComponentCount(g),V=LSe(x,C),L=LSe(_,C);return{id:m,type:g,componentType:f,minValue:V,maxValue:L}});e.names=a.map(m=>m.id),e.types=a.map(m=>m.type),e.componentTypes=a.map(m=>m.componentType);let c=a.map(m=>m.minValue),d=a.map(m=>m.maxValue),u=c.some(l);e.minimumValues=u?c:void 0,e.maximumValues=u?d:void 0}function LSe(e,t){if(!l(e))return;let n=Array.isArray(e)?e:[e];return Array.from({length:t},(i,o)=>n[o])}async function xTt(e,t){let n=e.contentUriTemplates[0].getDerivedResource({templateValues:t.getTemplateValues()}),i=e.baseResource.getDerivedResource({url:n.url}),o=await i.fetchArrayBuffer(),r=Lf(o);return await IM.fromJson(i,r.jsonPayload,r.binaryPayload,e.metadataSchema)}async function _Tt(e,t){let n=e._implicitTileset,i=e._subtreeCache,o=i.find(t);if(l(o))return o;let r=n.subtreeUriTemplate.getDerivedResource({templateValues:t.getTemplateValues()}),s=n.baseResource.getDerivedResource({url:r.url}),a=await s.fetchArrayBuffer();if(o=i.find(t),l(o))return o;let c=Lf(a);return o=await y_.fromSubtreeJson(s,c.jsonPayload,c.binaryPayload,n,t),i.addSubtree(o),o}iO.prototype.requestData=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.tileLevel,0),n=y(e.tileX,0),i=y(e.tileY,0),o=y(e.tileZ,0);if(y(e.keyframe,0)!==0)return;let s=this._implicitTileset,a=this.names,c=new q_({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:t,x:n,y:i,z:o}),d=c.isSubtreeRoot()&&c.level>0,u=d?c.getParentSubtreeCoordinates():c.getSubtreeCoordinates();return _Tt(this,u).then(function(p){return(d?p.childSubtreeIsAvailableAtCoordinates(c):p.tileIsAvailableAtCoordinates(c))?xTt(s,c):Promise.reject("Tile is not available")}).then(function(p){return a.map(function(g){return p.metadataTable.getPropertyTypedArray(g)})})};var A7=iO;var Zqi=T(S(),1);function M7(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(M7.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});M7.prototype.emit=function(e){let t=W.randomBetween(0,W.TWO_PI),n=W.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var XM=M7;var g$i=T(S(),1);var Eqi=T(S(),1),N7={CUMULUS:0};N7.validate=function(e){return e===N7.CUMULUS};var ML=Object.freeze(N7);var Fqi=T(S(),1);function Nh(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!l(e.scale)&&l(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new D(this._maximumSize.x,this._maximumSize.y);else{this._scale=D.clone(y(e.scale,new D(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=B.clone(y(e.color,B.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var TTt=Nh.SHOW_INDEX=0,STt=Nh.POSITION_INDEX=1,CTt=Nh.SCALE_INDEX=2,VTt=Nh.MAXIMUM_SIZE_INDEX=3,LTt=Nh.SLICE_INDEX=4,RTt=Nh.BRIGHTNESS_INDEX=5,ZTt=Nh.COLOR_INDEX=6;Nh.NUMBER_OF_PROPERTIES=7;function RS(e,t){let n=e._cloudCollection;l(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(Nh.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,RS(this,TTt))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),RS(this,STt))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;D.equals(t,e)||(D.clone(e,t),RS(this,CTt))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),RS(this,VTt))}},color:{get:function(){return this._color},set:function(e){let t=this._color;B.equals(t,e)||(B.clone(e,t),RS(this,ZTt))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,RS(this,LTt))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,RS(this,RTt))}}});Nh.prototype._destroy=function(){this._cloudCollection=void 0};var cu=Nh;var lu,oO=new h,GTt={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},ETt={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},ITt=cu.SHOW_INDEX,XTt=cu.POSITION_INDEX,WTt=cu.SCALE_INDEX,PTt=cu.MAXIMUM_SIZE_INDEX,vTt=cu.SLICE_INDEX,wTt=cu.BRIGHTNESS_INDEX,FTt=cu.NUMBER_OF_PROPERTIES,ATt=cu.COLOR_INDEX;function kh(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(FTt),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:RSe(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function RSe(e){return function(){return oO.x=e._textureSliceWidth,oO.y=e._noiseTextureRows,oO.z=1/e._noiseTextureRows,oO}}Object.defineProperties(kh.prototype,{length:{get:function(){return U7(this),this._clouds.length}}});function ZSe(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}kh.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.cloudType,ML.CUMULUS),n;return t===ML.CUMULUS&&(n=new cu(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n};kh.prototype.remove=function(e){return this.contains(e)?(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};kh.prototype.removeAll=function(){ZSe(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function U7(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;let t=[],n=e._clouds,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(n._index=r++,t.push(s))}e._clouds=t}}kh.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]};kh.prototype.contains=function(e){return l(e)&&e._cloudCollection===this};kh.prototype.get=function(e){return U7(this),this._clouds[e]};var MTt=new Float32Array([-1,-1,1,-1,1,1,-1,1]),NTt=new Uint16Array([0,1,2,0,2,3]);function kTt(e){let t=_t.createVertexBuffer({context:e,typedArray:MTt,usage:Ue.STATIC_DRAW}),n=_t.createIndexBuffer({context:e,typedArray:NTt,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:Q.FLOAT}];return new ri({context:e,attributes:i,indexBuffer:n})}var D7;function UTt(e){let n=e.cache.cloudCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s,o[r+4]=s+2,o[r+5]=s+3;return n=_t.createIndexBuffer({context:e,typedArray:o,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function DTt(e){let t=e.cache.cloudCollection_indexBufferInstanced;return l(t)||(t=_t.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function BTt(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return l(t)||(t=_t.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Ue.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function OTt(e,t,n){let i=[{index:lu.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:Q.FLOAT,usage:Ue.STATIC_DRAW},{index:lu.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:Q.FLOAT,usage:Ue.STATIC_DRAW},{index:lu.packedAttribute0,componentsPerAttribute:4,componentDatatype:Q.FLOAT,usage:Ue.STATIC_DRAW},{index:lu.packedAttribute1,componentsPerAttribute:4,componentDatatype:Q.FLOAT,usage:Ue.STATIC_DRAW},{index:lu.color,componentsPerAttribute:4,componentDatatype:Q.UNSIGNED_BYTE,normalize:!0,usage:Ue.STATIC_DRAW}];n&&i.push({index:lu.direction,componentsPerAttribute:2,componentDatatype:Q.FLOAT,vertexBuffer:BTt(e)});let o=n?t:4*t;return new Ip(e,i,o,n)}var k7=new Hn;function GSe(e,t,n,i){let o,r=n[lu.positionHighAndScaleX],s=n[lu.positionLowAndScaleY],a=i.position;Hn.fromCartesian(a,k7);let c=i.scale,d=k7.high,u=k7.low;e._instanced?(o=i._index,r(o,d.x,d.y,d.z,c.x),s(o,u.x,u.y,u.z,c.y)):(o=i._index*4,r(o+0,d.x,d.y,d.z,c.x),r(o+1,d.x,d.y,d.z,c.x),r(o+2,d.x,d.y,d.z,c.x),r(o+3,d.x,d.y,d.z,c.x),s(o+0,u.x,u.y,u.z,c.y),s(o+1,u.x,u.y,u.z,c.y),s(o+2,u.x,u.y,u.z,c.y),s(o+3,u.x,u.y,u.z,c.y))}function ESe(e,t,n,i){let o,r=n[lu.packedAttribute0],s=i.show,a=i.brightness;e._instanced?(o=i._index,r(o,s,a,0,0)):(o=i._index*4,r(o+0,s,a,0,0),r(o+1,s,a,1,0),r(o+2,s,a,1,1),r(o+3,s,a,0,1))}function ISe(e,t,n,i){let o,r=n[lu.packedAttribute1],s=i.maximumSize,a=i.slice;e._instanced?(o=i._index,r(o,s.x,s.y,s.z,a)):(o=i._index*4,r(o+0,s.x,s.y,s.z,a),r(o+1,s.x,s.y,s.z,a),r(o+2,s.x,s.y,s.z,a),r(o+3,s.x,s.y,s.z,a))}function XSe(e,t,n,i){let o,r=n[lu.color],s=i.color,a=B.floatToByte(s.red),c=B.floatToByte(s.green),d=B.floatToByte(s.blue),u=B.floatToByte(s.alpha);e._instanced?(o=i._index,r(o,a,c,d,u)):(o=i._index*4,r(o+0,a,c,d,u),r(o+1,a,c,d,u),r(o+2,a,c,d,u),r(o+3,a,c,d,u))}function YTt(e,t,n,i){GSe(e,t,n,i),ESe(e,t,n,i),ISe(e,t,n,i),XSe(e,t,n,i)}function HTt(e,t,n,i){let o=e,r=o._textureSliceWidth,s=o._noiseTextureRows,a=t.context;o._vaNoise=kTt(a),o._spNoise=en.fromCache({context:a,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});let c=o.noiseDetail,d=o.noiseOffset;o._noiseTexture=new It({context:a,width:r*r/s,height:r*s,pixelDatatype:qe.UNSIGNED_BYTE,pixelFormat:st.RGBA,sampler:new $t({wrapS:Ln.REPEAT,wrapT:Ln.REPEAT,minificationFilter:qt.NEAREST,magnificationFilter:bi.NEAREST})});let u=new wc({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:RSe(o),u_noiseDetail:function(){return c},u_noiseOffset:function(){return d}},persists:!1,owner:e,postExecute:function(m){o._ready=!0,o._loading=!1}});t.commandList.push(u),o._loading=!0}function zTt(e,t){let n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();let o=e._clouds,r=o.length;if(r>0){n._vaf=OTt(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a<r;++a){let c=o[a];YTt(e,t,s,c)}n._vaf.commit(D7(i))}}var KTt=[];function JTt(e,t){let n=t.context,i=e,r=i._clouds.length,s=i._cloudsToUpdate,a=i._cloudsToUpdateIndex,c=i._propertiesChanged,d=KTt;d.length=0,(c[XTt]||c[WTt])&&d.push(GSe),(c[ITt]||c[wTt])&&d.push(ESe),(c[PTt]||c[vTt])&&d.push(ISe),c[ATt]&&d.push(XSe);let u=d.length,m=i._vaf.writers,p,g,f;if(a/r>.1){for(p=0;p<a;++p)for(g=s[p],g._dirty=!1,f=0;f<u;++f)d[f](e,t,m,g);i._vaf.commit(D7(n))}else{for(p=0;p<a;++p){for(g=s[p],g._dirty=!1,f=0;f<u;++f)d[f](e,t,m,g);i._instanced?i._vaf.subCommit(g._index,1):i._vaf.subCommit(g._index*4,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function QTt(e,t,n,i){let o=t.context,r=e,s=new Oe({defines:[],sources:[n]});r._instanced&&s.defines.push("INSTANCED");let a=new Oe({defines:[],sources:[i]});r.debugBillboards&&a.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&a.defines.push("DEBUG_ELLIPSOIDS"),r._sp=en.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:lu}),r._rs=Be.fromCache({depthTest:{enabled:!0,func:ie.LESS},depthMask:!1,blending:hn.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function jTt(e,t){let n=e,i=t.passes,o=n._uniforms,r=t.commandList;if(i.render){let s=n._colorCommands,a=n._vaf.va,c=a.length;s.length=c;for(let d=0;d<c;d++){let u=s[d];l(u)||(u=s[d]=new tt),u.pass=Ge.TRANSLUCENT,u.owner=e,u.uniformMap=o,u.count=a[d].indicesCount,u.vertexArray=a[d].va,u.shaderProgram=n._sp,u.renderState=n._rs,n._instanced&&(u.count=6,u.instanceCount=n._clouds.length),r.push(u)}}}kh.prototype.update=function(e){if(U7(this),!this.show)return;let t=this.debugBillboards||this.debugEllipsoids;this._ready=t?!0:l(this._noiseTexture),!this._ready&&!this._loading&&!t&&HTt(this,e,Ow,Bw),this._instanced=e.context.instancedArrays,lu=this._instanced?ETt:GTt,D7=this._instanced?DTt:UTt;let i=this._clouds.length,o=this._cloudsToUpdate,r=this._cloudsToUpdateIndex;this._createVertexArray?zTt(this,e):r>0&&JTt(this,e),r>i*1.5&&(o.length=i),!(!l(this._vaf)||!l(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&QTt(this,e,Dw,Uw),jTt(this,e))};kh.prototype.isDestroyed=function(){return!1};kh.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),ZSe(this._clouds),me(this)};var B7=kh;var S$i=T(S(),1);var qTt=W.toRadians(30);function O7(e){this._angle=y(e,qTt)}Object.defineProperties(O7.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});O7.prototype.emit=function(e){let t=Math.tan(this._angle),n=W.randomBetween(0,W.TWO_PI),i=W.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var Y7=O7;var M$i=T(S(),1);var $Tt=new B,eSt=new B,tSt=new B,nSt=new B,WSe=new re,WM=new Uint8Array(4);function PSe(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return B.lerp(t.color,n.color,o,i)}function rO(e,t){return{height:e,color:B.clone(t)}}function vSe(e){return e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?t.height===i[n-1].height:!0,a=r?t.height===i[n+1].height:!0;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?B.equals(t.color,i[n-1].color):!1,a=r?B.equals(t.color,i[n+1].color):!1;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=o?B.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function iSt(e){let t,n,i=[],o=e.length;for(t=0;t<o;t++){let r=e[t],s=r.entries,a=s.length,c=[];for(n=0;n<a;n++){let g=s[n],f=W.clamp(g.height,td._minimumHeight,td._maximumHeight),x=B.clone(g.color,$Tt);x.red*=x.alpha,x.green*=x.alpha,x.blue*=x.alpha,c.push(rO(f,x))}let d=!0,u=!0;for(n=0;n<a-1;n++){let g=c[n+0],f=c[n+1];d=d&&g.height<=f.height,u=u&&g.height>=f.height}u?c=c.reverse():d||u0(c,function(g,f){return W.sign(g.height-f.height)});let m=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!m&&!p&&(m=!0,p=!0),m&&c.splice(0,0,rO(td._minimumHeight,c[0].color)),p&&c.splice(c.length,0,rO(td._maximumHeight,c[c.length-1].color)),c=vSe(c),i.push(c)}return i}function oSt(e){let t=iSt(e),n=[],i=[],o;function r(d,u){n.push(rO(d,u))}function s(d,u,m){let p=B.multiplyByScalar(m,1-u.alpha,nSt);p=B.add(p,u,p),r(d,p)}let a=t.length;for(o=0;o<a;o++){let d=t[o],u=0,m=0;i=n,n=[];let p=d.length,g=i.length;for(;u<p||m<g;){let f=u<p?d[u]:void 0,x=u>0?d[u-1]:void 0,_=u<p-1?d[u+1]:void 0,C=m<g?i[m]:void 0,V=m>0?i[m-1]:void 0,L=m<g-1?i[m+1]:void 0;if(l(f)&&l(C)&&f.height===C.height){let Z=l(L)&&C.height===L.height,G=!l(V),I=!l(L),v=l(_)&&f.height===_.height,P=!l(x),w=!l(_);Z?v?(s(f.height,f.color,C.color),s(f.height,_.color,L.color)):P?(r(f.height,C.color),s(f.height,f.color,L.color)):w?(s(f.height,f.color,C.color),r(f.height,L.color)):(s(f.height,f.color,C.color),s(f.height,f.color,L.color)):G?v?(r(f.height,f.color),s(f.height,_.color,C.color)):w?(r(f.height,f.color),r(f.height,C.color)):(P||r(f.height,f.color),s(f.height,f.color,C.color)):I?v?(s(f.height,f.color,C.color),r(f.height,_.color)):P?(r(f.height,C.color),r(f.height,f.color)):w?s(f.height,f.color,C.color):(s(f.height,f.color,C.color),r(f.height,f.color)):v?(s(f.height,f.color,C.color),s(f.height,_.color,C.color)):P?(r(f.height,C.color),s(f.height,f.color,C.color)):w?(s(f.height,f.color,C.color),r(f.height,C.color)):s(f.height,f.color,C.color),u+=v?2:1,m+=Z?2:1}else if(l(f)&&l(C)&&l(V)&&f.height<C.height){let Z=PSe(f.height,V,C,tSt);l(x)?l(_)?s(f.height,f.color,Z):(s(f.height,f.color,Z),r(f.height,Z)):(r(f.height,Z),s(f.height,f.color,Z)),u++}else if(l(C)&&l(f)&&l(x)&&C.height<f.height){let Z=PSe(C.height,x,f,eSt);l(V)?l(L)?s(C.height,Z,C.color):(s(C.height,Z,C.color),r(C.height,Z)):(r(C.height,Z),s(C.height,Z,C.color)),m++}else l(f)&&(!l(C)||f.height<C.height)?(l(C)&&!l(V)&&!l(_)?(r(f.height,f.color),r(f.height,td._emptyColor),r(C.height,td._emptyColor)):(!l(C)&&l(V)&&!l(x)&&(r(V.height,td._emptyColor),r(f.height,td._emptyColor)),r(f.height,f.color)),u++):l(C)&&(!l(f)||C.height<f.height)&&(r(C.height,C.color),m++)}}return vSe(n)}function td(e){let{scene:t,layers:n}=y(e,y.EMPTY_OBJECT),{context:i}=t,o=oSt(n),r=o.length,s,a,c;if(!td._useFloatTexture(i)){a=qe.UNSIGNED_BYTE,c=st.RGBA,s=new Uint8Array(r*4);for(let g=0;g<r;g++)re.packFloat(o[g].height,WSe),re.pack(WSe,s,g*4)}else{a=qe.FLOAT,c=i.webgl2?st.RED:st.LUMINANCE,s=new Float32Array(r);for(let g=0;g<r;g++)s[g]=o[g].height}let u=It.create({context:i,pixelFormat:c,pixelDatatype:a,source:{arrayBufferView:s,width:r,height:1},sampler:new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:qt.NEAREST,magnificationFilter:bi.NEAREST})}),m=new Uint8Array(r*4);for(let g=0;g<r;g++)o[g].color.toBytes(WM),m[g*4+0]=WM[0],m[g*4+1]=WM[1],m[g*4+2]=WM[2],m[g*4+3]=WM[3];let p=It.create({context:i,pixelFormat:st.RGBA,pixelDatatype:qe.UNSIGNED_BYTE,source:{arrayBufferView:m,width:r,height:1},sampler:new $t({wrapS:Ln.CLAMP_TO_EDGE,wrapT:Ln.CLAMP_TO_EDGE,minificationFilter:qt.LINEAR,magnificationFilter:bi.LINEAR})});return Yi.fromType("ElevationBand",{heights:u,colors:p})}td._useFloatTexture=function(e){return e.floatingPointTexture};td._maximumHeight=5906376425472;td._minimumHeight=-5906376425472;td._emptyColor=new B(0,0,0,0);var H7=td;var K$i=T(S(),1);async function rSt(e,t){t=y(t,{}),t.cacheBytes=y(t.cacheBytes,1536*1024*1024),t.maximumCacheOverflowBytes=y(t.maximumCacheOverflowBytes,1024*1024*1024),t.enableCollision=y(t.enableCollision,!0),e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(hs("createGooglePhotorealistic3DTileset(key)","createGooglePhotorealistic3DTileset(key) has been deprecated. It is replaced by createGooglePhotorealistic3DTileset({key}). It will be removed in Cesium 1.126."),e={key:e}),e.onlyUsingWithGoogleGeocoder||Tt("google-tiles-with-google-geocoder","Only the Google geocoder can be used with Google Photorealistic 3D Tiles. Set the `geocode` property of Viewer constructor options. You can set additionalOptions.onlyUsingWithGoogleGeocoder to hide this warning once you have configured the geocoder.");let n=y(e.key,DT.defaultApiKey);if(!l(n))return sSt(t);let i,o=DT.getDefaultCredit();l(o)&&(i=[o]);let r=new Le({url:`${DT.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:n},credits:i});return xs.fromUrl(r,t)}var wSe={};async function sSt(e){let i=wSe[2275207];l(i)||(i=yd.fromAssetId(2275207),wSe[2275207]=i);let o=await i;return xs.fromUrl(o,e)}var z7=rSt;var teo=T(S(),1);async function aSt(e){let t=await xs.fromIonAssetId(96188,e);e=y(e,y.EMPTY_OBJECT);let n=e.style;if(!l(n)){let i=y(e.defaultColor,B.WHITE).toCssColorString();n=new LS({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var K7=aSt;var ueo=T(S(),1);function cSt(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!l(n.attributes)||!l(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=M.clone(y(e.modelMatrix,M.IDENTITY)),r=y(e.length,1e4);if(l(i.normal)&&t.push(new Et({geometry:Mn.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new Ht(1,0,0,1)},modelMatrix:o})),l(i.tangent)&&t.push(new Et({geometry:Mn.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new Ht(0,1,0,1)},modelMatrix:o})),l(i.bitangent)&&t.push(new Et({geometry:Mn.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new Ht(0,0,1,1)},modelMatrix:o})),t.length>0)return new Wn({asynchronous:!1,geometryInstances:t,appearance:new mn({flat:!0,translucent:!1})})}var J7=cSt;var beo=T(S(),1);function PM(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;l(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); } +`;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); } +`;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); } +`;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); } +`;break;case"vec4":r=`vec4 getColor() { return ${o}; } +`;break}let s=`in vec3 position3DHigh; +in vec3 position3DLow; +in float batchId; +${n?"":`in ${i} ${t}; +`}out ${i} ${o}; +void main() { - return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); -} - -vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) +vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); +${n?`${o} = czm_batchTable_${t}(batchId); +`:`${o} = ${t}; +`}gl_Position = czm_modelViewProjectionRelativeToEye * p; +}`,a=`in ${i} ${o}; +${r} +void main() { - vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); - float radius = length(rotatedPosition) * lengthScalar; - float burst = 1.0 - smoothstep(0.0, 0.55, radius); - return vec4(burst); -} +out_FragColor = getColor(); +}`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=oo.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(PM.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});PM.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;PM.prototype.isTranslucent=oo.prototype.isTranslucent;PM.prototype.getRenderState=oo.prototype.getRenderState;var Q7=PM;var Eeo=T(S(),1);function sO(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._modelMatrix=new M,this.id=e.id,this._id=void 0,this._primitive=void 0}sO.prototype.update=function(e){if(this.show){if(!l(this._primitive)||!M.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=M.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,l(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new Et({geometry:new $b({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:$r.VERTEX_FORMAT,colors:[B.RED,B.RED],arcType:tn.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this}),n=new Et({geometry:new $b({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:$r.VERTEX_FORMAT,colors:[B.GREEN,B.GREEN],arcType:tn.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this}),i=new Et({geometry:new $b({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:$r.VERTEX_FORMAT,colors:[B.BLUE,B.BLUE],arcType:tn.NONE}),modelMatrix:M.multiplyByUniformScale(this.modelMatrix,this.length,new M),id:this.id,pickPrimitive:this});this._primitive=new Wn({geometryInstances:[t,n,i],appearance:new $r,asynchronous:!1})}this._primitive.update(e)}};sO.prototype.isDestroyed=function(){return!1};sO.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),me(this)};var vM=sO;var veo=T(S(),1);function lSt(e){this.direction=h.clone(e.direction),this.color=B.clone(y(e.color,B.WHITE)),this.intensity=y(e.intensity,1)}var j7=lSt;var zeo=T(S(),1);var Feo=T(S(),1),wM=`in vec3 v_positionMC; +in vec3 v_positionEC; +in vec2 v_st; void main() { - float lengthScalar = 2.0 / sqrt(2.0); - vec2 position = v_textureCoordinates - vec2(0.5); - float radius = length(position) * lengthScalar; - float surface = step(radius, u_radiusTS); - vec4 color = vec4(vec2(1.0), surface + 0.2, surface); - - float glow = 1.0 - smoothstep(0.0, 0.55, radius); - color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; - - vec4 burst = vec4(0.0); + czm_materialInput materialInput; - // The following loop has been manually unrolled for speed, to - // avoid sin() and cos(). - // - //for (float i = 0.4; i < 3.2; i += 1.047) { - // vec2 direction = vec2(sin(i), cos(i)); - // burst += 0.4 * addBurst(position, direction, lengthScalar); - // - // direction = vec2(sin(i - 0.08), cos(i - 0.08)); - // burst += 0.3 * addBurst(position, direction, lengthScalar); - //} + vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif - burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 - burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 - burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 + materialInput.s = v_st.s; + materialInput.st = v_st; + materialInput.str = vec3(v_st, 0.0); - burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 - burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 - burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 + // Convert tangent space material normal to eye space + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); - // End of manual loop unrolling. + // Convert view vector to world space + vec3 positionToEyeEC = -v_positionEC; + materialInput.positionToEyeEC = positionToEyeEC; - color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; + czm_material material = czm_getMaterial(materialInput); - out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif } -`;var f8i=T(S(),1),L9=`in vec2 direction; - -uniform float u_size; - -out vec2 v_textureCoordinates; +`;var Meo=T(S(),1),FM=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec2 st; +in float batchId; -void main() -{ - vec4 position; - if (czm_morphTime == 1.0) - { - position = vec4(czm_sunPositionWC, 1.0); - } - else - { - position = vec4(czm_sunPositionColumbusView.zxy, 1.0); - } - - vec4 positionEC = czm_view * position; - vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); - - vec2 halfSize = vec2(u_size * 0.5); - halfSize *= ((direction * 2.0) - 1.0); - - gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); - - v_textureCoordinates = direction; -} -`;function Z9(){this.show=!0,this._drawCommand=new tt({primitiveType:Me.TRIANGLES,boundingVolume:new le,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new le,this._boundingVolume2D=new le,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(Z9.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var B_t=new D,O_t=new D,Y_t=new se,R9=new se;Z9.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===oe.SCENE2D||i===oe.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!l(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let Z=Math.max(r,s);Z=Math.pow(2,Math.ceil(Math.log(Z)/Math.log(2))-2),Z=Math.max(1,Z);let G=n?o.halfFloatingPointTexture?it.HALF_FLOAT:it.FLOAT:it.UNSIGNED_BYTE;this._texture=new wt({context:o,width:Z,height:Z,pixelFormat:dt.RGBA,pixelDatatype:G}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let I=this,v={u_radiusTS:function(){return I._radiusTS}};this._commands.computeCommand=new gm({fragmentShaderSource:V9,outputTexture:this._texture,uniformMap:v,persists:!1,owner:this,postExecute:function(){I._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!l(a.vertexArray)){let Z={direction:0},G=new Uint8Array(4*2);G[0]=0,G[1]=0,G[2]=255,G[3]=0,G[4]=255,G[5]=255,G[6]=0,G[7]=255;let I=xt.createVertexBuffer({context:o,typedArray:G,usage:Ue.STATIC_DRAW}),v=[{index:Z.direction,vertexBuffer:I,componentsPerAttribute:2,normalize:!0,componentDatatype:Q.UNSIGNED_BYTE}],P=xt.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ue.STATIC_DRAW,indexDatatype:Ne.UNSIGNED_SHORT});a.vertexArray=new hi({context:o,attributes:v,indexBuffer:P}),a.shaderProgram=cn.fromCache({context:o,vertexShaderSource:L9,fragmentShaderSource:C9,attributeLocations:Z}),a.renderState=Be.fromCache({blending:hn.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,d=o.uniformState.sunPositionColumbusView,u=this._boundingVolume,m=this._boundingVolume2D;h.clone(c,u.center),m.center.x=d.z,m.center.y=d.x,m.center.z=d.y,u.radius=W.SOLAR_RADIUS+W.SOLAR_RADIUS*this._glowLengthTS,m.radius=u.radius,i===oe.SCENE3D?le.clone(u,a.boundingVolume):i===oe.COLUMBUS_VIEW&&le.clone(m,a.boundingVolume);let p=Mi.computeActualEllipsoidPosition(e,c,R9),g=h.magnitude(h.subtract(p,e.camera.position,R9)),f=o.uniformState.projection,x=Y_t;x.x=0,x.y=0,x.z=-g,x.w=1;let _=M.multiplyByVector(f,x,R9),C=Mi.clipToGLWindowCoordinates(t.viewport,_,B_t);x.x=W.SOLAR_RADIUS;let V=M.multiplyByVector(f,x,R9),L=Mi.clipToGLWindowCoordinates(t.viewport,V,O_t);return this._size=D.magnitude(D.subtract(L,C,R9)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};Z9.prototype.isDestroyed=function(){return!1};Z9.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),me(this)};var G9=Z9;var e6i=T(S(),1);var O7i=T(S(),1);var k7i=T(S(),1);var l7i=T(S(),1);var K8i=T(S(),1);var eB={};eB.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){l(r)?r.length=0:r=[];let s,a,c;t?(s=n<e,a=i<e,c=o<e):(s=n>e,a=i>e,c=o>e);let d=s+a+c,u,m,p,g,f,x;return d===1?s?(u=(e-n)/(i-n),m=(e-n)/(o-n),r.push(1),r.push(2),m!==1&&(r.push(-1),r.push(0),r.push(2),r.push(m)),u!==1&&(r.push(-1),r.push(0),r.push(1),r.push(u))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(f=(e-o)/(n-o),x=(e-o)/(i-o),r.push(0),r.push(1),x!==1&&(r.push(-1),r.push(2),r.push(1),r.push(x)),f!==1&&(r.push(-1),r.push(2),r.push(0),r.push(f))):d===2?!s&&n!==e?(g=(e-i)/(n-i),f=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(f)):!a&&i!==e?(x=(e-o)/(i-o),u=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(x),r.push(-1),r.push(0),r.push(1),r.push(u)):!c&&o!==e&&(m=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(m),r.push(-1),r.push(1),r.push(2),r.push(p)):d!==3&&(r.push(0),r.push(1),r.push(2)),r};eB.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let d=n-s,u=s-o,m=r-a,p=i-a,g=1/(m*d+u*p),f=t-a,x=e-s,_=(m*x+u*f)*g,C=(-p*x+d*f)*g,V=1-_-C;return l(c)?(c.x=_,c.y=C,c.z=V,c):new h(_,C,V)};eB.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let d=(s-o)*(t-r)-(a-r)*(e-o),u=(n-e)*(t-r)-(i-t)*(e-o),m=(a-r)*(n-e)-(s-o)*(i-t);if(m===0)return;let p=d/m,g=u/m;if(p>=0&&p<=1&&g>=0&&g<=1)return l(c)||(c=new D),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var Sb=eB;function wy(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=nB(e.westIndices,o,t),this._southIndices=nB(e.southIndices,r,t),this._eastIndices=nB(e.eastIndices,o,t),this._northIndices=nB(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(wy.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return l(this._mesh)}}});var tB=[];function nB(e,t,n){tB.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)tB[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(tB.sort(t),Ne.createTypedArray(n,tB)):e}var rSe="createVerticesFromQuantizedTerrainMesh",z_t=new bi(rSe),H_t=new bi(rSe,Xh.maximumAsynchronousTasks);wy.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,d=t.tileXYToRectangle(n,i,o),m=(a?H_t:z_t).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:d,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!l(m))return;let p=this;return Promise.resolve(m).then(function(g){let f=p._quantizedVertices.length/3,x=f+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,_=Ne.createTypedArray(x,g.indices),C=new Float32Array(g.vertices),V=g.center,L=g.minimumHeight,Z=g.maximumHeight,G=p._boundingSphere,I=p._orientedBoundingBox,v=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),P=g.vertexStride,w=Lc.clone(g.encoding);return p._mesh=new im(V,C,_,g.indexCountWithoutSkirts,f,L,Z,G,v,P,I,w,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var K_t=new bi("upsampleQuantizedTerrainMesh",Xh.maximumAsynchronousTasks);wy.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,d=n*2===r,u=e.ellipsoid,m=e.tileXYToRectangle(o,r,s),p=K_t.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:d,childRectangle:m,ellipsoid:u});if(!l(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let f=c?g*.5:this._westSkirtHeight,x=d?g*.5:this._southSkirtHeight,_=c?this._eastSkirtHeight:g*.5,C=d?this._northSkirtHeight:g*.5,V=this._credits;return Promise.resolve(p).then(function(L){let Z=new Uint16Array(L.vertices),G=Ne.createTypedArray(Z.length/3,L.indices),I;return l(L.encodedNormals)&&(I=new Uint8Array(L.encodedNormals)),new wy({quantizedVertices:Z,indices:G,encodedNormals:I,minimumHeight:L.minimumHeight,maximumHeight:L.maximumHeight,boundingSphere:le.clone(L.boundingSphere),orientedBoundingBox:Xn.clone(L.orientedBoundingBox),horizonOcclusionPoint:h.clone(L.horizonOcclusionPoint),westIndices:L.westIndices,southIndices:L.southIndices,eastIndices:L.eastIndices,northIndices:L.northIndices,westSkirtHeight:f,southSkirtHeight:x,eastSkirtHeight:_,northSkirtHeight:C,childTileMask:0,credits:V,createdByUpsampling:!0})})};var x7=32767,sSe=new h;wy.prototype.interpolateHeight=function(e,t,n){let i=W.clamp((t-e.west)/e.width,0,1);i*=x7;let o=W.clamp((n-e.south)/e.height,0,1);return o*=x7,l(this._mesh)?q_t(this,i,o):$_t(this,i,o)};function aSe(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),d=Math.max(n,o,s),u=Math.min(i,r,a),m=Math.max(i,r,a);return e>=c&&e<=d&&t>=u&&t<=m}var J_t=new D,Q_t=new D,j_t=new D;function q_t(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let d=s[a],u=s[a+1],m=s[a+2],p=r.decodeTextureCoordinates(o,d,J_t),g=r.decodeTextureCoordinates(o,u,Q_t),f=r.decodeTextureCoordinates(o,m,j_t);if(aSe(t,n,p.x,p.y,g.x,g.y,f.x,f.y)){let x=Sb.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,f.x,f.y,sSe);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let _=r.decodeHeight(o,d),C=r.decodeHeight(o,u),V=r.decodeHeight(o,m);return x.x*_+x.y*C+x.z*V}}}}function $_t(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a<c;a+=3){let d=s[a],u=s[a+1],m=s[a+2],p=i[d],g=i[u],f=i[m],x=o[d],_=o[u],C=o[m];if(aSe(t,n,p,x,g,_,f,C)){let V=Sb.computeBarycentricCoordinates(t,n,p,x,g,_,f,C,sSe);if(V.x>=-1e-15&&V.y>=-1e-15&&V.z>=-1e-15){let L=V.x*r[d]+V.y*r[u]+V.z*r[m];return W.lerp(e._minimumHeight,e._maximumHeight,L/x7)}}}}wy.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};wy.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var fS=wy;var p7i=T(S(),1);function GL(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var pS=new ce;function eTt(e,t,n,i){let o=i.length;for(let r=0;r<o;++r){let s=i[r];if(s.x===t&&s.y===n&&s.level===e)return!0}return!1}GL.prototype.addAvailableTileRange=function(e,t,n,i,o){let r=this._tilingScheme,s=this._rootNodes;if(e===0)for(let p=n;p<=o;++p)for(let g=t;g<=i;++g)eTt(e,g,p,s)||s.push(new RL(r,void 0,0,g,p));r.tileXYToRectangle(t,n,e,pS);let a=pS.west,c=pS.north;r.tileXYToRectangle(i,o,e,pS);let d=pS.east,u=pS.south,m=new rTt(e,a,u,d,c);for(let p=0;p<s.length;++p){let g=s[p];_7(g.extent,m)&&sTt(this._maximumLevel,g,m)}};GL.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){let i=this._rootNodes[n];if(ZL(i.extent,e)){t=i;break}}return l(t)?E9(void 0,t,e):-1};var tTt=[],nTt=[],iTt=new ce,oTt=new ce;GL.prototype.computeBestAvailableLevelOverRectangle=function(e){let t=tTt;t.length=0,e.east<e.west?(t.push(ce.fromRadians(-Math.PI,e.south,e.east,e.north,iTt)),t.push(ce.fromRadians(e.west,e.south,Math.PI,e.north,oTt))):t.push(e);let n=nTt;n.length=0;let i;for(i=0;i<this._rootNodes.length;++i)I9(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(l(n[i])&&n[i].length===0)return i;return 0};var cSe=new he;GL.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,pS);return ce.center(i,cSe),this.computeMaximumLevelAtPosition(cSe)>=e};GL.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function RL(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(RL.prototype,{nw:{get:function(){return this._nw||(this._nw=new RL(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new RL(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new RL(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new RL(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function rTt(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function _7(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function sTt(e,t,n){for(;t.level<e;)if(iB(t.nw.extent,n))t=t.nw;else if(iB(t.ne.extent,n))t=t.ne;else if(iB(t.sw.extent,n))t=t.sw;else if(iB(t.se.extent,n))t=t.se;else break;if(t.rectangles.length===0||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let i=Go(t.rectangles,n.level,aTt);i<0&&(i=~i),t.rectangles.splice(i,0,n)}}function aTt(e,t){return e.level-t}function iB(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function ZL(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function E9(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&ZL(t._nw.extent,n),s=t._ne&&ZL(t._ne.extent,n),a=t._sw&&ZL(t._sw.extent,n),c=t._se&&ZL(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,E9(t,t._nw,n))),s&&(i=Math.max(i,E9(t,t._ne,n))),a&&(i=Math.max(i,E9(t,t._sw,n))),c&&(i=Math.max(i,E9(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];ZL(a,n)&&(i=a.level)}t=t.parent}return i}function I9(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||_7(t.extent,n[i]);if(!o)return;let r=t.rectangles;for(i=0;i<r.length;++i){let s=r[i];e[s.level]||(e[s.level]=n),e[s.level]=cTt(e[s.level],s)}I9(e,t._nw,n),I9(e,t._ne,n),I9(e,t._sw,n),I9(e,t._se,n)}function cTt(e,t){let n=[];for(let i=0;i<e.length;++i){let o=e[i];_7(o,t)?(o.west<t.west&&n.push(new ce(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new ce(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new ce(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new ce(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var Ah=GL;function lTt(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function dSe(e){this.requestVertexNormals=y(e.requestVertexNormals,!1),this.requestWaterMask=y(e.requestWaterMask,!1),this.requestMetadata=y(e.requestMetadata,!0),this.ellipsoid=y(e.ellipsoid,ne.default),this.heightmapWidth=65,this.heightmapStructure=void 0,this.hasWaterMask=!1,this.hasMetadata=!1,this.hasVertexNormals=!1,this.scheme=void 0,this.lastResource=void 0,this.layerJsonResource=void 0,this.previousError=void 0,this.availability=void 0,this.tilingScheme=void 0,this.levelZeroMaximumGeometricError=void 0,this.heightmapStructure=void 0,this.layers=[],this.attribution="",this.overallAvailability=[],this.overallMaxZoom=0,this.tileCredits=[]}dSe.prototype.build=function(e){e._heightmapWidth=this.heightmapWidth,e._scheme=this.scheme;let t=l(this.lastResource.credits)?this.lastResource.credits:[];e._tileCredits=t.concat(this.tileCredits),e._availability=this.availability,e._tilingScheme=this.tilingScheme,e._requestWaterMask=this.requestWaterMask,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._heightmapStructure=this.heightmapStructure,e._layers=this.layers,e._hasWaterMask=this.hasWaterMask,e._hasVertexNormals=this.hasVertexNormals,e._hasMetadata=this.hasMetadata};async function uSe(e,t,n){if(!t.format){let x="The tile format is not specified in the layer.json file.";throw e.previousError=Ro.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new de(x)}if(!t.tiles||t.tiles.length===0){let x="The layer.json file does not specify any tile URL templates.";throw e.previousError=Ro.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new de(x)}let i=!1,o=!1,r=!1,s=!0,a=!1;if(t.format==="heightmap-1.0")a=!0,l(e.heightmapStructure)||(e.heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),o=!0,e.requestWaterMask=!0;else if(t.format.indexOf("quantized-mesh-1.")!==0){let x=`The tile format "${t.format}" is invalid or not supported.`;throw e.previousError=Ro.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new de(x)}let c=t.tiles,d=t.maxzoom;if(e.overallMaxZoom=Math.max(e.overallMaxZoom,d),!t.projection||t.projection==="EPSG:4326")e.tilingScheme=new Oi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else if(t.projection==="EPSG:3857")e.tilingScheme=new $r({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else{let x=`The projection "${t.projection}" is invalid or not supported.`;throw e.previousError=Ro.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new de(x)}if(e.levelZeroMaximumGeometricError=ts.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.heightmapWidth,e.tilingScheme.getNumberOfXTilesAtLevel(0)),!t.scheme||t.scheme==="tms"||t.scheme==="slippyMap")e.scheme=t.scheme;else{let x=`The scheme "${t.scheme}" is invalid or not supported.`;throw e.previousError=Ro.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new de(x)}let u;l(t.extensions)&&t.extensions.indexOf("octvertexnormals")!==-1?i=!0:l(t.extensions)&&t.extensions.indexOf("vertexnormals")!==-1&&(i=!0,s=!1),l(t.extensions)&&t.extensions.indexOf("watermask")!==-1&&(o=!0),l(t.extensions)&&t.extensions.indexOf("metadata")!==-1&&(r=!0);let m=t.metadataAvailability,p=t.available,g;if(l(p)&&!l(m)){g=new Ah(e.tilingScheme,p.length);for(let x=0;x<p.length;++x){let _=p[x],C=e.tilingScheme.getNumberOfYTilesAtLevel(x);l(e.overallAvailability[x])||(e.overallAvailability[x]=[]);for(let V=0;V<_.length;++V){let L=_[V],Z=C-L.endY-1,G=C-L.startY-1;e.overallAvailability[x].push([L.startX,Z,L.endX,G]),g.addAvailableTileRange(x,L.startX,Z,L.endX,G)}}}else l(m)&&(u=new Ah(e.tilingScheme,d),g=new Ah(e.tilingScheme,d),e.overallAvailability[0]=[[0,0,1,0]],g.addAvailableTileRange(0,0,0,1,0));e.hasWaterMask=e.hasWaterMask||o,e.hasVertexNormals=e.hasVertexNormals||i,e.hasMetadata=e.hasMetadata||r,l(t.attribution)&&(e.attribution.length>0&&(e.attribution+=" "),e.attribution+=t.attribution),e.layers.push(new lTt({resource:e.lastResource,version:t.version,isHeightmap:a,tileUrlTemplates:c,availability:g,hasVertexNormals:i,hasWaterMask:o,hasMetadata:r,availabilityLevels:m,availabilityTilesLoaded:u,littleEndianExtensionSize:s}));let f=t.parentUrl;return l(f)?l(g)?(e.lastResource=e.lastResource.getDerivedResource({url:f}),e.lastResource.appendForwardSlash(),e.layerJsonResource=e.lastResource.getDerivedResource({url:"layer.json"}),await C7(e),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function dTt(e,t,n){let i=`An error occurred while accessing ${e.layerJsonResource.url}.`;if(l(t)&&(i+=` -${t.message}`),e.previousError=Ro.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,i),e.previousError.retry)return C7(e,n);throw new de(i)}async function uTt(e,t,n){await uSe(e,t,n);let i=e.overallAvailability.length;if(i>0){let o=e.availability=new Ah(e.tilingScheme,e.overallMaxZoom);for(let r=0;r<i;++r){let s=e.overallAvailability[r];for(let a=0;a<s.length;++a){let c=s[a];o.addAvailableTileRange(r,c[0],c[1],c[2],c[3])}}}if(e.attribution.length>0){let o=new Et(e.attribution);e.tileCredits.push(o)}return!0}async function C7(e,t){try{let n=await e.layerJsonResource.fetchJson();return uTt(e,n,t)}catch(n){return l(n)&&n.statusCode===404?(await uSe(e,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},t),!0):dTt(e,n,t)}}function Mh(e){e=y(e,y.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new be;let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._tileCredits=void 0}var T7={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function lSe(e){return!l(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function mTt(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new Ya({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function hTt(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,d=c+1,u=Float64Array.BYTES_PER_ELEMENT*c,m=Float64Array.BYTES_PER_ELEMENT*d,g=Uint16Array.BYTES_PER_ELEMENT*3,f=3,x=Uint16Array.BYTES_PER_ELEMENT,_=x*f,C=new DataView(t),V=new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0));a+=u;let L=C.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let Z=C.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let G=new le(new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0)),C.getFloat64(a+u,!0));a+=m;let I=new h(C.getFloat64(a,!0),C.getFloat64(a+8,!0),C.getFloat64(a+16,!0));a+=u;let v=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let P=new Uint16Array(t,a,v*3);a+=v*g,v>64*1024&&(x=Uint32Array.BYTES_PER_ELEMENT,_=x*f);let w=P.subarray(0,v),F=P.subarray(v,2*v),b=P.subarray(v*2,3*v);An.zigZagDeltaDecode(w,F,b),a%x!==0&&(a+=x-a%x);let R=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let E=Ne.createTypedArrayFromArrayBuffer(v,t,a,R*f);a+=R*_;let X=0,A=E.length;for(let ae=0;ae<A;++ae){let ye=E[ae];E[ae]=X-ye,ye===0&&++X}let N=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let O=Ne.createTypedArrayFromArrayBuffer(v,t,a,N);a+=N*x;let U=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let Y=Ne.createTypedArrayFromArrayBuffer(v,t,a,U);a+=U*x;let k=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let J=Ne.createTypedArrayFromArrayBuffer(v,t,a,k);a+=k*x;let z=C.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let te=Ne.createTypedArrayFromArrayBuffer(v,t,a,z);a+=z*x;let H,q;for(;a<C.byteLength;){let ae=C.getUint8(a,!0);a+=Uint8Array.BYTES_PER_ELEMENT;let ye=C.getUint32(a,s);if(a+=Uint32Array.BYTES_PER_ELEMENT,ae===T7.OCT_VERTEX_NORMALS&&e._requestVertexNormals)H=new Uint8Array(t,a,v*2);else if(ae===T7.WATER_MASK&&e._requestWaterMask)q=new Uint8Array(t,a,ye);else if(ae===T7.METADATA&&e._requestMetadata){let Te=C.getUint32(a,!0);if(Te>0){let Ee=Xo(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,Te).available;if(l(Ee))for(let ve=0;ve<Ee.length;++ve){let we=n+ve+1,pt=Ee[ve],rt=e._tilingScheme.getNumberOfYTilesAtLevel(we);for(let Rt=0;Rt<pt.length;++Rt){let Fe=pt[Rt],ke=rt-Fe.endY-1,qe=rt-Fe.startY-1;e.availability.addAvailableTileRange(we,Fe.startX,ke,Fe.endX,qe),r.availability.addAvailableTileRange(we,Fe.startX,ke,Fe.endX,qe)}}}r.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}a+=ye}let ee=e.getLevelMaximumGeometricError(n)*5,pe=e._tilingScheme.tileXYToRectangle(i,o,n),_e=Xn.fromRectangle(pe,L,Z,e._tilingScheme.ellipsoid);return new fS({center:V,minimumHeight:L,maximumHeight:Z,boundingSphere:G,orientedBoundingBox:_e,horizonOcclusionPoint:I,quantizedVertices:P,encodedNormals:H,indices:E,westIndices:O,southIndices:Y,eastIndices:J,northIndices:te,westSkirtHeight:ee,southSkirtHeight:ee,eastSkirtHeight:ee,northSkirtHeight:ee,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:q,credits:e._tileCredits})}Mh.prototype.requestTileGeometry=function(e,t,n,i){let o=this._layers,r,s=o.length,a=!1,c=Promise.resolve();if(s===1)r=o[0];else for(let d=0;d<s;++d){let u=o[d];if(!l(u.availability)||u.availability.isTileAvailable(n,e,t)){r=u;break}let m=V7(this,e,t,n,u,d===0);m.result&&(a=!0,c=c.then(()=>m.promise))}return!l(r)&&a?c.then(()=>new Promise(d=>{setTimeout(()=>{let u=this.requestTileGeometry(e,t,n,i);d(u)},0)})):mSe(this,e,t,n,r,i)};function mSe(e,t,n,i,o,r){if(!l(o))return Promise.reject(new de("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let d,u,m=s[(t+a+i)%s.length],p=o.resource;l(p._ionEndpoint)&&!l(p._ionEndpoint.externalType)?(c.length!==0&&(u={extensions:c.join("-")}),d=lSe(void 0)):d=lSe(c);let g=p.getDerivedResource({url:m,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:u,headers:d,request:r}).fetchArrayBuffer();if(l(g))return g.then(function(f){return l(f)?l(e._heightmapStructure)?mTt(e,f,i,t,n):hTt(e,f,i,t,n,o):Promise.reject(new de("Mesh buffer doesn't exist."))})}Object.defineProperties(Mh.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Mh.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Mh.fromIonAssetId=async function(e,t){let n=await hd.fromAssetId(e);return Mh.fromUrl(n,t)};Mh.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=Ge.createIfNeeded(e);n.appendForwardSlash();let i=new dSe(t);i.lastResource=n,i.layerJsonResource=i.lastResource.getDerivedResource({url:"layer.json"}),await C7(i);let o=new Mh(t);return i.build(o),o};Mh.prototype.getTileDataAvailable=function(e,t,n){if(!l(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;r<o;++r)if(V7(this,e,t,n,i[r],r===0).result)return;return!1};Mh.prototype.loadTileDataAvailability=function(e,t,n){if(!l(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r<o;++r){let s=V7(this,e,t,n,i[r],r===0);if(l(s.promise))return s.promise}};function S7(e,t,n,i){if(i===0)return;let o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,s=1<<i-r,a=t/s|0,c=n/s|0;return{level:r,x:a,y:c}}function V7(e,t,n,i,o,r){if(!l(o.availabilityLevels))return{result:!1};let s,a=function(){delete o.availabilityPromiseCache[s]},c=o.availabilityTilesLoaded,d=o.availability,u=S7(o,t,n,i);for(;l(u);){if(d.isTileAvailable(u.level,u.x,u.y)&&!c.isTileAvailable(u.level,u.x,u.y)){let m;if(!r&&(s=`${u.level}-${u.x}-${u.y}`,m=o.availabilityPromiseCache[s],!l(m))){let p=new Ko({throttle:!1,throttleByServer:!0,type:ss.TERRAIN});m=mSe(e,u.x,u.y,u.level,o,p),l(m)&&(o.availabilityPromiseCache[s]=m,m.then(a))}return{result:!0,promise:m}}u=S7(o,u.x,u.y,u.level)}return{result:!1}}Mh._getAvailabilityTile=S7;var bS=Mh;function fTt(e){return e=y(e,y.EMPTY_OBJECT),bS.fromIonAssetId(2426648,{requestVertexNormals:y(e.requestVertexNormals,!1)})}var X9=fTt;var J7i=T(S(),1);function pTt(e){return e=y(e,y.EMPTY_OBJECT),bS.fromIonAssetId(1,{requestVertexNormals:y(e.requestVertexNormals,!1),requestWaterMask:y(e.requestWaterMask,!1),ellipsoid:ne.WGS84})}var gS=pTt;function EL(e){this._ready=!1,this._provider=void 0,this._errorEvent=new be,this._readyEvent=new be,gTt(this,e)}Object.defineProperties(EL.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});EL.fromWorldTerrain=function(e){return new EL(gS(e))};EL.fromWorldBathymetry=function(e){return new EL(X9(e))};function bTt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function gTt(e,t){let n;try{n=await Promise.resolve(t),e._provider=n,e._ready=!0,e._readyEvent.raiseEvent(n)}catch(i){bTt(e._errorEvent,i)}}var W9=EL;var i6i=T(S(),1);function IL(){}IL.prototype.boundingVolume=void 0;IL.prototype.boundingSphere=void 0;IL.prototype.distanceToCamera=function(e){fe.throwInstantiationError()};IL.prototype.intersectPlane=function(e){fe.throwInstantiationError()};IL.prototype.createDebugVolume=function(e){fe.throwInstantiationError()};var L7=IL;var d6i=T(S(),1);function P9(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Oi({ellipsoid:e.ellipsoid}),this._color=y(e.color,B.YELLOW),this._errorEvent=new be,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(P9.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});P9.prototype.getTileCredits=function(e,t,n){};P9.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};P9.prototype.pickFeatures=function(e,t,n,i,o){};var v9=P9;var h6i=T(S(),1);function R7(e){fe.throwInstantiationError()}R7.prototype.isReady=fe.throwInstantiationError;R7.prototype.shouldDiscardImage=fe.throwInstantiationError;var Z7=R7;var p6i=T(S(),1),yTt={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},G7=Object.freeze(yTt);var P6i=T(S(),1);function xS(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this.shadows=y(e.shadows,Sn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new hf(e.shading),this.style=e.style,this.frameFailed=new be,this.frameChanged=new be,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new i0,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(xS.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){us.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(l(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}}});function xTt(e){return`uniform vec4 czm_pickColor; -${e}`}function _Tt(e){return function(t){return Tt(t,{czm_pickColor:function(){return e._pickId.color}})}}function TTt(){return"czm_pickColor"}xS.prototype.makeStyleDirty=function(){this._styleDirty=!0};xS.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var STt=new j;function I7(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function yS(e,t){return e._intervals.indexOf(t.start)}function CTt(e,t){let n=e._intervals,i=e._clock,o=I7(e);if(o===0)return;let r=e._getAverageLoadTime(),s=j.addSeconds(i.currentTime,r*o,STt),a=n.indexOf(s),c=yS(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function VTt(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function LTt(e,t,n){let i=I7(e),o=yS(e,t),r=yS(e,n);return i>=0?o>=r:o<=r}function fSe(e,t){return function(n){let i=l(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function RTt(e,t,n){let i=yS(e,t),o=e._frames,r=o[i];if(!l(r)){let s=t.data.transform,a=l(s)?M.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:_i(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber,uri:c},o[i]=r,Ge.fetchArrayBuffer({url:c}).then(function(d){r.pointCloud=new XA({arrayBuffer:d,cull:!0,fragmentShaderLoaded:xTt,uniformMapLoaded:_Tt(e),pickIdLoaded:TTt})}).catch(fSe(e,c))}return r}function ZTt(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function GTt(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(l(o)&&!t.ready){let r=i.commandList,s=r.length;if(pSe(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(_i()-t.timestamp)/1e3;ZTt(e,a)}}t.touchedFrameNumber=i.frameNumber}var ETt=new M;function ITt(e,t){let n=e.shading;return l(n)&&l(n.baseResolution)?n.baseResolution:l(t.boundingSphere)?W.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function XTt(e){let t=e.shading;return l(t)&&l(t.maximumAttenuation)?t.maximumAttenuation:10}var WTt=new hf;function pSe(e,t,n,i){let o=y(e.shading,WTt),r=t.pointCloud,s=y(t.transform,M.IDENTITY);r.modelMatrix=M.multiplyTransformation(e.modelMatrix,s,ETt),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=ITt(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=XTt(e);try{r.update(i)}catch(a){fSe(e,t.uri)(a)}t.touchedFrameNumber=i.frameNumber}function E7(e,t,n,i){let o=RTt(e,t,i);GTt(e,o,n,i)}function PTt(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function bSe(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(l(r)&&(!l(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),l(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function vTt(e,t){let n=yS(e,t),i=e._frames[n];if(l(i)&&i.ready)return i}function hSe(e,t,n,i,o){return l(n)?n.ready?!0:(E7(e,t,i,o),n.ready):!1}function wTt(e,t,n,i,o){let r,s,a,c=e._intervals,d=e._frames,u=yS(e,n),m=yS(e,t);if(u>=m){for(r=u;r>=m;--r)if(s=c.get(r),a=d[r],hSe(e,s,a,i,o))return s}else for(r=u;r<=m;++r)if(s=c.get(r),a=d[r],hSe(e,s,a,i,o))return s;return t}function FTt(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];l(s)&&l(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var XL={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};xS.prototype.update=function(e){if(e.mode===oe.MORPHING||!this.show)return;l(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),l(this._loadTimestamp)||(this._loadTimestamp=j.clone(e.time));let t=Math.max(j.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=l(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&FTt(this,o,s),XL.timeSinceLoad=t,XL.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,d=e.commandList,u=d.length,m=this._previousInterval,p=this._nextInterval,g=VTt(this);if(!l(g))return;let f=!1,x=I7(this),_=x===0;x!==this._clockMultiplier&&(f=!0,this._clockMultiplier=x),(!l(m)||_)&&(m=g),(!l(p)||f||LTt(this,g,p))&&(p=CTt(this,g)),m=wTt(this,m,g,XL,e);let C=vTt(this,m);l(C)||(E7(this,m,XL,e),C=this._lastRenderedFrame),l(C)&&pSe(this,C,XL,e),l(p)&&E7(this,p,XL,e);let V=this;l(C)&&!l(this._lastRenderedFrame)&&e.afterRender.push(function(){return!0}),l(C)&&C!==this._lastRenderedFrame&&V.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){return V.frameChanged.raiseEvent(V),!0}),this._previousInterval=m,this._nextInterval=p,this._lastRenderedFrame=C;let L=this._totalMemoryUsageInBytes,Z=this.maximumMemoryUsage*1024*1024;L>Z&&bSe(this,PTt(e));let I=d.length-u;l(a)&&a.attenuation&&a.eyeDomeLighting&&I>0&&c.update(e,u,a,this.boundingSphere)};xS.prototype.isDestroyed=function(){return!1};xS.prototype.destroy=function(){return bSe(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),me(this)};var WL=xS;var H6i=T(S(),1);var w6i=T(S(),1),w9=` -in vec2 v_textureCoordinates; +out vec3 v_positionMC; +out vec3 v_positionEC; +out vec2 v_st; void main() { - czm_materialInput materialInput; - - materialInput.s = v_textureCoordinates.s; - materialInput.st = v_textureCoordinates; - materialInput.str = vec3(v_textureCoordinates, 0.0); - materialInput.normalEC = vec3(0.0, 0.0, -1.0); - - czm_material material = czm_getMaterial(materialInput); + vec4 p = czm_computePosition(); - out_FragColor = vec4(material.diffuse + material.emission, material.alpha); + v_positionMC = position3DHigh + position3DLow; // position in model coordinates + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_st = st; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;function oB(e,t){this.show=!0,l(e)||(e=new Ke),this.rectangle=Ke.clone(e),l(t)||(t=Bi.fromType(Bi.ColorType,{color:new B(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}oB.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!l(t)||!Ke.equals(t.viewport,this.rectangle))&&(this._rs=Be.fromCache({blending:hn.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!l(this._overlayCommand)){this._material=this.material,l(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new Ye({sources:[this._material.shaderSource,w9]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=Ze.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};oB.prototype.isDestroyed=function(){return!1};oB.prototype.destroy=function(){return l(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),me(this)};var X7=oB;var Q6i=T(S(),1);function W7(){fe.throwInstantiationError()}Object.defineProperties(W7.prototype,{globalTransform:{get:fe.throwInstantiationError},shapeTransform:{get:fe.throwInstantiationError},shape:{get:fe.throwInstantiationError},minBounds:{get:fe.throwInstantiationError},maxBounds:{get:fe.throwInstantiationError},dimensions:{get:fe.throwInstantiationError},paddingBefore:{get:fe.throwInstantiationError},paddingAfter:{get:fe.throwInstantiationError},names:{get:fe.throwInstantiationError},types:{get:fe.throwInstantiationError},componentTypes:{get:fe.throwInstantiationError},minimumValues:{get:fe.throwInstantiationError},maximumValues:{get:fe.throwInstantiationError},maximumTileCount:{get:fe.throwInstantiationError},keyframeCount:{get:fe.throwInstantiationError},timeIntervalCollection:{get:fe.throwInstantiationError}});W7.prototype.requestData=fe.throwInstantiationError;var P7=W7;var $6i=T(S(),1);function _S(){fe.throwInstantiationError()}Object.defineProperties(_S.prototype,{orientedBoundingBox:{get:fe.throwInstantiationError},boundingSphere:{get:fe.throwInstantiationError},boundTransform:{get:fe.throwInstantiationError},shapeTransform:{get:fe.throwInstantiationError},shaderUniforms:{get:fe.throwInstantiationError},shaderDefines:{get:fe.throwInstantiationError},shaderMaximumIntersectionsLength:{get:fe.throwInstantiationError}});_S.prototype.update=fe.throwInstantiationError;_S.prototype.computeOrientedBoundingBoxForTile=fe.throwInstantiationError;_S.prototype.computeOrientedBoundingBoxForSample=fe.throwInstantiationError;_S.DefaultMinBounds=fe.throwInstantiationError;_S.DefaultMaxBounds=fe.throwInstantiationError;var v7=_S;var _qi=T(S(),1);function ATt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!l(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors&&e.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,o)}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function gSe(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,l(e._scene)&&(e._scene.pixelRatio=t),t}function ySe(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=gSe(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function xSe(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;l(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function TS(e,t){e=Pn(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=zt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=zt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=l(t.creditContainer)?Pn(t.creditContainer):n;c.appendChild(a);let d=l(t.creditViewport)?Pn(t.creditViewport):n,u=y(t.showRenderLoopErrors,!0),m=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=d,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=u,this._resolutionScale=1,this._useBrowserRecommendedResolution=m,this._forceResize=!1,this._clock=l(t.clock)?t.clock:new sh,ySe(this);try{let p=y(t.ellipsoid,ne.default),g=new p9({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:d,ellipsoid:p,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=g,g.camera.constrainedAxis=h.UNIT_Z,gSe(this),xSe(this);let f=t.globe;l(f)||(f=new JF(p)),f!==!1&&(g.globe=f,g.globe.shadows=y(t.terrainShadows,Sn.RECEIVE_ONLY));let x=t.skyBox;!l(x)&&ne.WGS84.equals(p)&&(x=T9.createEarthSkyBox()),x!==!1&&(g.skyBox=x,g.sun=new G9,ne.WGS84.equals(p)&&(g.moon=new pA));let _=t.skyAtmosphere;!l(_)&&ne.WGS84.equals(p)&&(_=new y9(p),_.show=t.globe!==!1&&f.show),_!==!1&&(g.skyAtmosphere=_);let C=t.baseLayer;t.globe!==!1&&C!==!1&&(l(C)||(C=Sa.fromWorldImagery()),g.imageryLayers.add(C)),l(t.terrainProvider)&&t.globe!==!1&&(g.terrainProvider=t.terrainProvider),l(t.terrain)&&t.globe!==!1&&g.setTerrain(t.terrain),this._screenSpaceEventHandler=new Yd(i),l(t.sceneMode)&&(t.sceneMode===oe.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===oe.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let V=this;this._onRenderError=function(L,Z){V._useDefaultRenderLoop=!1,V._renderLoopRunning=!1,V._showRenderLoopErrors&&V.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,Z)},g.renderError.addEventListener(this._onRenderError)}catch(p){throw u&&this.showErrorPanel("Error constructing CesiumWidget.",'Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:',p),p}}Object.defineProperties(TS.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},camera:{get:function(){return this._scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&ATt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}}});TS.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),l(window.addEventListener)&&window.addEventListener("resize",c,!1);let d=l(t),u=l(n);if(d||u){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),u){let f=Bf(n);d||(typeof n=="string"&&(n=new Error(n)),t=Bf({name:n.name,message:n.message}),f=n.stack),typeof console<"u"&&console.error(`${e} -${t} -${f}`);let x=document.createElement("div");x.className="cesium-widget-errorPanel-message-details collapsed";let _=document.createElement("span");_.className="cesium-widget-errorPanel-more-details",_.appendChild(document.createTextNode("See more...")),x.appendChild(_),x.onclick=function(C){x.removeChild(_),x.appendChild(document.createTextNode(f)),x.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",x.onclick=void 0},a.appendChild(x)}g.innerHTML=`<p>${t}</p>`}let m=document.createElement("div");m.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(m);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){l(c)&&l(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},m.appendChild(p),i.appendChild(o)};TS.prototype.isDestroyed=function(){return!1};TS.prototype.destroy=function(){l(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),me(this)};TS.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,ySe(this),xSe(this),this._scene.requestRender())};TS.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};var F9=TS;var Uqi=T(S(),1);var MTt=15;function _Se(e){this.ellipsoid=y(e.ellipsoid,ne.default),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}_Se.prototype.build=function(e){e._credit=this.credit,e._tilingScheme=this.tilingScheme,e._height=this.height,e._width=this.width,e._encoding=this.encoding,e._lodCount=this.lodCount,e._hasAvailability=this.hasAvailability,e._tilesAvailable=this.tilesAvailable,e._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._terrainDataStructure=this.terrainDataStructure};function NTt(e,t){let n=t.copyrightText;l(n)&&(e.credit=new Et(n));let i=t.spatialReference,o=y(i.latestWkid,i.wkid),r=t.extent,s={ellipsoid:e.ellipsoid};if(o===4326)s.rectangle=ce.fromDegrees(r.xmin,r.ymin,r.xmax,r.ymax),e.tilingScheme=new Oi(s);else if(o===3857){let d=Math.PI*e.ellipsoid.maximumRadius;t.extent.xmax>d&&(t.extent.xmax=d),t.extent.ymax>d&&(t.extent.ymax=d),t.extent.xmin<-d&&(t.extent.xmin=-d),t.extent.ymin<-d&&(t.extent.ymin=-d),s.rectangleSouthwestInMeters=new D(r.xmin,r.ymin),s.rectangleNortheastInMeters=new D(r.xmax,r.ymax),e.tilingScheme=new $r(s)}else throw new de("Invalid spatial reference");let a=t.tileInfo;if(!l(a))throw new de("tileInfo is required");e.width=a.rows+1,e.height=a.cols+1,e.encoding=a.format==="LERC"?tm.LERC:tm.NONE,e.lodCount=a.lods.length-1,(e.hasAvailability=t.capabilities.indexOf("Tilemap")!==-1)&&(e.tilesAvailable=new Ah(e.tilingScheme,e.lodCount),e.tilesAvailable.addAvailableTileRange(0,0,0,e.tilingScheme.getNumberOfXTilesAtLevel(0),e.tilingScheme.getNumberOfYTilesAtLevel(0)),e.tilesAvailabilityLoaded=new Ah(e.tilingScheme,e.lodCount)),e.levelZeroMaximumGeometricError=ts.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.width,e.tilingScheme.getNumberOfXTilesAtLevel(0)),t.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),l(t.minValues)&&l(t.maxValues)?e.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:t.minValues[0],highestEncodedHeight:t.maxValues[0]}:e.terrainDataStructure={elementMultiplier:1}}async function kTt(e,t,n){try{let i=await t.fetchJson();NTt(e,i)}catch(i){let o=`An error occurred while accessing ${t}.`;throw Ro.reportError(void 0,n,l(n)?n._errorEvent:void 0,o),i}}function Fy(e){e=y(e,y.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0,this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._errorEvent=new be}Object.defineProperties(Fy.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});Fy.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=Ge.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&(n=n.getDerivedResource({queryParameters:{token:t.token}}));let i=n.getDerivedResource({queryParameters:{f:"pjson"}}),o=new _Se(t);await kTt(o,i);let r=new Fy(t);return o.build(r),r._resource=n,r};Fy.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!l(w7(this,n+1,e*2,t*2))){let m=TSe(this,n+1,e*2,t*2);s=m.promise,a=m.request}let c=o.fetchArrayBuffer();if(!l(c)||!l(s))return;let d=this,u=this._tilesAvailable;return Promise.all([c,s]).then(function(m){return new Ya({buffer:m[0],width:d._width,height:d._height,childTileMask:r?u.computeChildMaskForTile(n,e,t):MTt,structure:d._terrainDataStructure,encoding:d._encoding})}).catch(async function(m){if(l(a)&&a.state===$n.CANCELLED){i.cancel();try{await i.deferred?.promise}catch{}return i.state=$n.CANCELLED,Promise.reject(m)}return Promise.reject(m)})};function w7(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailabilityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}Fy.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Fy.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;let i=w7(this,n,e,t);if(l(i))return i;TSe(this,n,e,t)};Fy.prototype.loadTileDataAvailability=function(e,t,n){};function UTt(e,t,n,i){let o=t-1,r=n-1,s=i[e.y*t+e.x],a=[],c={startX:e.x,startY:e.y,endX:0,endY:0},d=new D(e.x+1,e.y+1),u=!1,m=!1;for(;!(u&&m);){let p=d.x,g=m?d.y+1:d.y;if(!u){for(let f=e.y;f<g;++f)if(i[f*t+d.x]!==s){u=!0;break}u?(a.push(new D(d.x,e.y)),--d.x,--p,c.endX=d.x):d.x===o?(c.endX=d.x,u=!0):++d.x}if(!m){let f=d.y*t;for(let x=e.x;x<=p;++x)if(i[f+x]!==s){m=!0;break}m?(a.push(new D(e.x,d.y)),--d.y,c.endY=d.y):d.y===r?(c.endY=d.y,m=!0):++d.y}}return{endingIndices:a,range:c,value:s}}function DTt(e,t,n,i,o){let r=[];if(o.every(function(c){return c===o[0]}))return o[0]===1&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let a=[new D(0,0)];for(;a.length>0;){let c=a.pop(),d=UTt(c,n,i,o);if(d.value===1){let m=d.range;m.startX+=e,m.endX+=e,m.startY+=t,m.endY+=t,r.push(m)}let u=d.endingIndices;u.length>0&&(a=a.concat(u))}return r}function TSe(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<<t,128),a=`tilemap/${t}/${r}/${o}/${s}/${s}`,c=e._availableCache;if(l(c[a]))return c[a];let d=new Ko({throttle:!1,throttleByServer:!0,type:ss.TERRAIN}),m=e._resource.getDerivedResource({url:a,request:d}).fetchJson();return l(m)?(m=m.then(function(p){let g=DTt(o,r,s,s,p.data);e._tilesAvailabilityLoaded.addAvailableTileRange(t,o,r,o+s,r+s);let f=e._tilesAvailable;for(let x=0;x<g.length;++x){let _=g[x];f.addAvailableTileRange(t,_.startX,_.startY,_.endX,_.endY)}return w7(e,t,n,i)}),c[a]={promise:m,request:d},m=m.finally(function(p){return delete c[a],p}),{promise:m,request:d}):{}}var F7=Fy;var Kqi=T(S(),1);var SSe="https://dev.virtualearth.net/REST/v1/Locations";function A7(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._key=t;let n={key:t};l(e.culture)&&(n.culture=e.culture),this._resource=new Ge({url:SSe,queryParameters:n}),this._credit=new Et('<img src="http://dev.virtualearth.net/Branding/logo_powered_by.png"/>',!1)}Object.defineProperties(A7.prototype,{url:{get:function(){return SSe}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});A7.prototype.geocode=async function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],d=r[3];return{displayName:o.name,destination:ce.fromDegrees(a,s,d,c)}})})};var M7=A7;var jqi=T(S(),1);function N7(){}Object.defineProperties(N7.prototype,{credit:{get:function(){}}});N7.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s<t.length;++s){let a=t[s].match(r);r.test(t[s])&&a.length===3&&(/^[ns]/i.test(a[2])?i=/^[n]/i.test(a[2])?+a[1]:-a[1]:/^[ew]/i.test(a[2])&&(n=/^[e]/i.test(a[2])?+a[1]:-a[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){let r={displayName:e,destination:h.fromDegrees(n,i,o)};return Promise.resolve([r])}}return Promise.resolve([])};var k7=N7;var s$i=T(S(),1);var BTt=new se,CSe=new h,PL=new h;function OTt(e){let t=e.points,n=e.times;if(t.length<3){let i=n[0],o=1/(n[1]-i),r=t[0],s=t[1];return function(a,c){l(c)||(c=new h);let d=(a-i)*o;return h.lerp(r,s,d,c)}}return function(i,o){l(o)||(o=new h);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=BTt;a.z=s,a.y=s*s,a.x=a.y*s,a.w=1;let c,d,u,m,p;return r===0?(c=t[0],d=t[1],u=e.firstTangent,m=h.subtract(t[2],c,CSe),h.multiplyByScalar(m,.5,m),p=M.multiplyByVector(Tg.hermiteCoefficientMatrix,a,a)):r===t.length-2?(c=t[r],d=t[r+1],m=e.lastTangent,u=h.subtract(d,t[r-1],CSe),h.multiplyByScalar(u,.5,u),p=M.multiplyByVector(Tg.hermiteCoefficientMatrix,a,a)):(c=t[r-1],d=t[r],u=t[r+1],m=t[r+2],p=M.multiplyByVector(Ay.catmullRomCoefficientMatrix,a,a)),o=h.multiplyByScalar(c,p.x,o),h.multiplyByScalar(d,p.y,PL),h.add(o,PL,o),h.multiplyByScalar(u,p.z,PL),h.add(o,PL,o),h.multiplyByScalar(m,p.w,PL),h.add(o,PL,o)}}var YTt=new h,zTt=new h;function Ay(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.firstTangent,o=e.lastTangent;if(t.length>2&&(l(i)||(i=YTt,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!l(o))){let r=t.length-1;o=zTt,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=OTt(this),this._lastTimeIndex=0}Object.defineProperties(Ay.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});Ay.catmullRomCoefficientMatrix=new M(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);Ay.prototype.findTimeInterval=no.prototype.findTimeInterval;Ay.prototype.wrapTime=no.prototype.wrapTime;Ay.prototype.clampTime=no.prototype.clampTime;Ay.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var U7=Ay;var f$i=T(S(),1);function Cb(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new el(n),this._workerName="createCircleGeometry"}Cb.packedLength=el.packedLength;Cb.pack=function(e,t,n){return el.pack(e._ellipseGeometry,t,n)};var VSe=new el({center:new h,semiMajorAxis:1,semiMinorAxis:1}),Ha={center:new h,radius:void 0,ellipsoid:ne.clone(ne.default),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new We,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};Cb.unpack=function(e,t,n){let i=el.unpack(e,t,VSe);return Ha.center=h.clone(i._center,Ha.center),Ha.ellipsoid=ne.clone(i._ellipsoid,Ha.ellipsoid),Ha.ellipsoid=ne.clone(i._ellipsoid,VSe._ellipsoid),Ha.height=i._height,Ha.extrudedHeight=i._extrudedHeight,Ha.granularity=i._granularity,Ha.vertexFormat=We.clone(i._vertexFormat,Ha.vertexFormat),Ha.stRotation=i._stRotation,Ha.shadowVolume=i._shadowVolume,l(n)?(Ha.semiMajorAxis=i._semiMajorAxis,Ha.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new el(Ha),n):(Ha.radius=i._semiMajorAxis,new Cb(Ha))};Cb.createGeometry=function(e){return el.createGeometry(e._ellipseGeometry)};Cb.createShadowVolume=function(e,t,n){let i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),s=n(i,o);return new Cb({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:We.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(Cb.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var D7=Cb;var T$i=T(S(),1);function vL(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new Wd(n),this._workerName="createCircleOutlineGeometry"}vL.packedLength=Wd.packedLength;vL.pack=function(e,t,n){return Wd.pack(e._ellipseGeometry,t,n)};var HTt=new Wd({center:new h,semiMajorAxis:1,semiMinorAxis:1}),iu={center:new h,radius:void 0,ellipsoid:ne.clone(ne.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};vL.unpack=function(e,t,n){let i=Wd.unpack(e,t,HTt);return iu.center=h.clone(i._center,iu.center),iu.ellipsoid=ne.clone(i._ellipsoid,iu.ellipsoid),iu.height=i._height,iu.extrudedHeight=i._extrudedHeight,iu.granularity=i._granularity,iu.numberOfVerticalLines=i._numberOfVerticalLines,l(n)?(iu.semiMajorAxis=i._semiMajorAxis,iu.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Wd(iu),n):(iu.radius=i._semiMajorAxis,new vL(iu))};vL.createGeometry=function(e){return Wd.createGeometry(e._ellipseGeometry)};var B7=vL;var X$i=T(S(),1);function wL(e){e=y(e,y.EMPTY_OBJECT),this._callback=e.callback,this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Oi({ellipsoid:y(e.ellipsoid,ne.default)})),this._width=e.width,this._height=e.height;let t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=ts.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new be;let n=e.credit;typeof n=="string"&&(n=new Et(n)),this._credit=n}Object.defineProperties(wL.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});wL.prototype.requestTileGeometry=function(e,t,n,i){let o=this._callback(e,t,n);if(!l(o))return;let r=this._width,s=this._height;return Promise.resolve(o).then(function(a){let c=a;return Array.isArray(c)&&(c=new Float64Array(c)),new Ya({buffer:c,width:r,height:s})})};wL.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};wL.prototype.getTileDataAvailable=function(e,t,n){};wL.prototype.loadTileDataAvailability=function(e,t,n){};var O7=wL;var P$i=T(S(),1);function LSe(e){this.proxy=e}LSe.prototype.getURL=function(e){let t=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+t+encodeURIComponent(e)};var Y7=LSe;var M$i=T(S(),1);function rB(){fe.throwInstantiationError()}Object.defineProperties(rB.prototype,{credit:{get:fe.throwInstantiationError}});rB.getCreditsFromResult=function(e){if(l(e.attributions))return e.attributions.map(Et.getIonCredit)};rB.prototype.geocode=fe.throwInstantiationError;var FL=rB;var k$i=T(S(),1),KTt={SEARCH:0,AUTOCOMPLETE:1},My=Object.freeze(KTt);var B$i=T(S(),1);function RSe(){fe.throwInstantiationError()}RSe.createGeometry=function(e){fe.throwInstantiationError()};var z7=RSe;var seo=T(S(),1);function SS(e){e=y(e,y.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;let t=y(e.childTileMask,15),n=t&3;n|=t&4?8:0,n|=t&8?4:0,this._childTileMask=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(SS.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var ESe="createVerticesFromGoogleEarthEnterpriseBuffer",JTt=new bi(ESe),QTt=new bi(ESe,Xh.maximumAsynchronousTasks),ZSe=new ce,H7=new ce;SS.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid;t.tileXYToNativeRectangle(n,i,o,ZSe),t.tileXYToRectangle(n,i,o,H7);let d=c.cartographicToCartesian(ce.center(H7)),m=40075.16/(1<<o);this._skirtHeight=Math.min(m*8,1e3);let g=(a?QTt:JTt).scheduleTask({buffer:this._buffer,nativeRectangle:ZSe,rectangle:H7,relativeToCenter:d,ellipsoid:c,skirtHeight:this._skirtHeight,exaggeration:r,exaggerationRelativeHeight:s,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!l(g))return;let f=this;return g.then(function(x){return f._mesh=new im(d,new Float32Array(x.vertices),new Uint16Array(x.indices),x.indexCountWithoutSkirts,x.vertexCountWithoutSkirts,x.minimumHeight,x.maximumHeight,le.clone(x.boundingSphere3D),h.clone(x.occludeePointInScaledSpace),x.numberOfAttributes,Xn.clone(x.orientedBoundingBox),Lc.clone(x.encoding),x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),f._minimumHeight=x.minimumHeight,f._maximumHeight=x.maximumHeight,f._buffer=void 0,f._mesh})};SS.prototype.interpolateHeight=function(e,t,n){let i=W.clamp((t-e.west)/e.width,0,1),o=W.clamp((n-e.south)/e.height,0,1);return l(this._mesh)?tSt(this,i,o):oSt(this,i,o,e)};var jTt=new bi("upsampleQuantizedTerrainMesh",Xh.maximumAsynchronousTasks);SS.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,d=n*2===r,u=e.ellipsoid,m=e.tileXYToRectangle(o,r,s),p=jTt.scheduleTask({vertices:a.vertices,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:d,childRectangle:m,ellipsoid:u});if(!l(p))return;let g=this;return p.then(function(f){let x=new Uint16Array(f.vertices),_=Ne.createTypedArray(x.length/3,f.indices),C=g._skirtHeight;return new fS({quantizedVertices:x,indices:_,minimumHeight:f.minimumHeight,maximumHeight:f.maximumHeight,boundingSphere:le.clone(f.boundingSphere),orientedBoundingBox:Xn.clone(f.orientedBoundingBox),horizonOcclusionPoint:h.clone(f.horizonOcclusionPoint),westIndices:f.westIndices,southIndices:f.southIndices,eastIndices:f.eastIndices,northIndices:f.northIndices,westSkirtHeight:C,southSkirtHeight:C,eastSkirtHeight:C,northSkirtHeight:C,childTileMask:0,createdByUpsampling:!0,credits:g._credits})})};SS.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};SS.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var qTt=new D,$Tt=new D,eSt=new D,ISe=new h;function tSt(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let d=s[a],u=s[a+1],m=s[a+2],p=r.decodeTextureCoordinates(o,d,qTt),g=r.decodeTextureCoordinates(o,u,$Tt),f=r.decodeTextureCoordinates(o,m,eSt),x=Sb.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,f.x,f.y,ISe);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let _=r.decodeHeight(o,d),C=r.decodeHeight(o,u),V=r.decodeHeight(o,m);return x.x*_+x.y*C+x.z*V}}}var nSt=Uint16Array.BYTES_PER_ELEMENT,GSe=Uint32Array.BYTES_PER_ELEMENT,K7=Int32Array.BYTES_PER_ELEMENT,iSt=Float32Array.BYTES_PER_ELEMENT,J7=Float64Array.BYTES_PER_ELEMENT;function oSt(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),d=0;for(let G=0;G<r;++G)d+=c.getUint32(d,!0),d+=GSe;d+=GSe,d+=2*J7;let u=W.toRadians(c.getFloat64(d,!0)*180);d+=J7;let m=W.toRadians(c.getFloat64(d,!0)*180);d+=J7;let p=i.width/u/2,g=i.height/m/2,f=c.getInt32(d,!0);d+=K7;let x=c.getInt32(d,!0)*3;d+=K7,d+=K7;let _=new Array(f),C=new Array(f),V=new Array(f),L;for(L=0;L<f;++L)_[L]=s+c.getUint8(d++)*p,C[L]=a+c.getUint8(d++)*g,V[L]=c.getFloat32(d,!0)*6371010,d+=iSt;let Z=new Array(x);for(L=0;L<x;++L)Z[L]=c.getUint16(d,!0),d+=nSt;for(L=0;L<x;L+=3){let G=Z[L],I=Z[L+1],v=Z[L+2],P=_[G],w=_[I],F=_[v],b=C[G],R=C[I],E=C[v],X=Sb.computeBarycentricCoordinates(t,n,P,b,w,R,F,E,ISe);if(X.x>=-1e-15&&X.y>=-1e-15&&X.z>=-1e-15)return X.x*V[G]+X.y*V[I]+X.z*V[v]}}var AL=SS;var Veo=T(S(),1);var lm={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},sB=new j;function aB(){this._terrainCache={},this._lastTidy=j.now()}aB.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:j.now()}};aB.prototype.get=function(e){let n=this._terrainCache[e];if(l(n))return delete this._terrainCache[e],n.buffer};aB.prototype.tidy=function(){if(j.now(sB),j.secondsDifference(sB,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){let o=t[i],r=e[o];j.secondsDifference(sB,r.timestamp)>10&&delete e[o]}j.clone(sB,this._lastTidy)}};function Ny(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=new Oi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ce(-W.PI,-W.PI,W.PI,W.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new aB,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new be}Object.defineProperties(Ny.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});Ny.fromMetadata=function(e,t){if(!e.terrainPresent)throw new de(`The server ${e.url} doesn't have terrain`);let n=new Ny(t);return n._metadata=e,n};var rSt=new bi("decodeGoogleEarthEnterprisePacket");function XSe(e,t,n){let i=t.getChildBitmask();if(t.terrainState===lm.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());l(r)&&r.hasTerrain()&&(i|=1<<o)}}return i}Ny.prototype.requestTileGeometry=function(e,t,n,i){let o=db.tileXYToQuadKey(e,t,n),r=this._terrainCache,s=this._metadata,a=s.getTileInformationFromQuadKey(o);if(!l(a))return Promise.reject(new de("Terrain tile doesn't exist"));let c=a.terrainState;l(c)||(c=a.terrainState=lm.UNKNOWN);let d=r.get(o);if(l(d)){let C=s.providers[a.terrainProvider];return Promise.resolve(new AL({buffer:d,childTileMask:XSe(o,a,s),credits:l(C)?[C]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold}))}if(r.tidy(),a.ancestorHasTerrain){if(c===lm.NONE)return Promise.reject(new de("Terrain tile doesn't exist"))}else return Promise.resolve(new Ya({buffer:new Uint8Array(16*16),width:16,height:16}));let u,m=o,p=-1;switch(c){case lm.SELF:p=a.terrainVersion;break;case lm.PARENT:m=m.substring(0,m.length-1),u=s.getTileInformationFromQuadKey(m),p=u.terrainVersion;break;case lm.UNKNOWN:a.hasTerrain()?p=a.terrainVersion:(m=m.substring(0,m.length-1),u=s.getTileInformationFromQuadKey(m),l(u)&&u.hasTerrain()&&(p=u.terrainVersion));break}if(p<0)return Promise.reject(new de("Terrain tile doesn't exist"));let g=this._terrainPromises,f=this._terrainRequests,x,_;if(l(g[m]))x=g[m],_=f[m];else{_=i;let C=sSt(this,m,p,_).fetchArrayBuffer();if(!l(C))return;x=C.then(function(V){return l(V)?rSt.scheduleTask({buffer:V,type:"Terrain",key:s.key},[V]).then(function(L){let Z=s.getTileInformationFromQuadKey(m);Z.terrainState=lm.SELF,r.add(m,L[0]);let G=Z.terrainProvider,I=L.length-1;for(let v=0;v<I;++v){let P=m+v.toString(),w=s.getTileInformationFromQuadKey(P);l(w)&&(r.add(P,L[v+1]),w.terrainState=lm.PARENT,w.terrainProvider===0&&(w.terrainProvider=G))}}):Promise.reject(new de("Failed to load terrain."))}),g[m]=x,f[m]=_,x=x.finally(function(){delete g[m],delete f[m]})}return x.then(function(){let C=r.get(o);if(l(C)){let V=s.providers[a.terrainProvider];return new AL({buffer:C,childTileMask:XSe(o,a,s),credits:l(V)?[V]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold})}return Promise.reject(new de("Failed to load terrain."))}).catch(function(C){return _.state===$n.CANCELLED?(i.state=_.state,Promise.reject(C)):(a.terrainState=lm.NONE,Promise.reject(C))})};Ny.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Ny.prototype.getTileDataAvailable=function(e,t,n){let i=this._metadata,o=db.tileXYToQuadKey(e,t,n),r=i.getTileInformation(e,t,n);if(r===null)return!1;if(l(r)){if(!r.ancestorHasTerrain)return!0;let s=r.terrainState;if(s===lm.NONE)return!1;if((!l(s)||s===lm.UNKNOWN)&&(r.terrainState=lm.UNKNOWN,!r.hasTerrain())){o=o.substring(0,o.length-1);let a=i.getTileInformationFromQuadKey(o);if(!l(a)||!a.hasTerrain())return!1}return!0}if(i.isValid(o)){let s=new Ko({throttle:!1,throttleByServer:!0,type:ss.TERRAIN});i.populateSubtree(e,t,n,s)}return!1};Ny.prototype.loadTileDataAvailability=function(e,t,n){};function sSt(e,t,n,i){return n=l(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var Q7=Ny;var Zeo=T(S(),1);var A9={};A9.type=void 0;A9.getRequiredDataPoints=fe.throwInstantiationError;A9.interpolateOrderZero=fe.throwInstantiationError;A9.interpolate=fe.throwInstantiationError;var j7=A9;var Deo=T(S(),1);var veo=T(S(),1);function q7(e){this._url=Ge.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(q7.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});q7.prototype.geocode=async function(e,t){return this._url.getDerivedResource({url:t===My.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(l(s))r=ce.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r,attributions:i.attributions}})})};var M9=q7;function $7(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.accessToken,Fm.defaultAccessToken),n=Ge.createIfNeeded(y(e.server,Fm.defaultServer));n.appendForwardSlash();let i=Fm.getDefaultTokenCredit(t);l(i)&&e.scene.frameState.creditDisplay.addStaticCredit(Et.clone(i));let o=n.getDerivedResource({url:"v1/geocode"});l(t)&&o.appendQueryParameters({access_token:t}),this._accessToken=t,this._server=n,this._pelias=new M9(o)}Object.defineProperties($7.prototype,{credit:{get:function(){}}});$7.prototype.geocode=async function(e,t){return this._pelias.geocode(e,t)};var N9=$7;var Yeo=T(S(),1);function cB(){fe.throwInstantiationError()}Object.defineProperties(cB.prototype,{ellipsoid:{get:fe.throwInstantiationError}});cB.prototype.project=fe.throwInstantiationError;cB.prototype.unproject=fe.throwInstantiationError;var e6=cB;var Qeo=T(S(),1);function ML(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(ML.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});ML.prototype.findTimeInterval=no.prototype.findTimeInterval;ML.prototype.wrapTime=no.prototype.wrapTime;ML.prototype.clampTime=no.prototype.clampTime;ML.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);l(t)||(t=new Array(this._count));for(let s=0;s<this._count;s++){let a=o*this._count+s;t[s]=n[a]*(1-r)+n[a+this._count]*r}return t};var t6=ML;var rto=T(S(),1);function n6(e,t,n){e=Ge.createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=y(n,{}),this._credit=new Et('Geodata copyright <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',!1)}Object.defineProperties(n6.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});n6.prototype.geocode=async function(e){return this._url.getDerivedResource({url:"json",queryParameters:Tt(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(l(r))o=ce.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var i6=n6;var cto=T(S(),1);var aSt={packedLength:void 0,pack:fe.throwInstantiationError,unpack:fe.throwInstantiationError},o6=aSt;var uto=T(S(),1);var cSt={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:fe.throwInstantiationError,unpackInterpolationResult:fe.throwInstantiationError},r6=cSt;var bto=T(S(),1);var lSt=new h;function dSt(e,t,n,i){let o=_x(e,t,n,i,lSt);return l(o)?o.x>0&&o.y>0&&o.z>0:!1}var s6=dSt;var xto=T(S(),1);function WSe(){fe.throwInstantiationError()}WSe.prototype.getURL=fe.throwInstantiationError;var a6=WSe;var Fto=T(S(),1);function uSt(e,t,n,i,o,r,s){let a=Gi.numberOfPoints(e,t,o),c,d=n.red,u=n.green,m=n.blue,p=n.alpha,g=i.red,f=i.green,x=i.blue,_=i.alpha;if(B.equals(n,i)){for(c=0;c<a;c++)r[s++]=B.floatToByte(d),r[s++]=B.floatToByte(u),r[s++]=B.floatToByte(m),r[s++]=B.floatToByte(p);return s}let C=(g-d)/a,V=(f-u)/a,L=(x-m)/a,Z=(_-p)/a,G=s;for(c=0;c<a;c++)r[G++]=B.floatToByte(d+c*C),r[G++]=B.floatToByte(u+c*V),r[G++]=B.floatToByte(m+c*L),r[G++]=B.floatToByte(p+c*Z);return G}function k9(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=y(e.arcType,on.GEODESIC),this._granularity=y(e.granularity,W.RADIANS_PER_DEGREE),this._ellipsoid=y(e.ellipsoid,ne.default),this._workerName="createSimplePolylineGeometry";let o=1+t.length*h.packedLength;o+=l(n)?1+n.length*B.packedLength:1,this.packedLength=o+ne.packedLength+3}k9.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=B.packedLength)B.pack(s[i],t,n);return ne.pack(e._ellipsoid,t,n),n+=ne.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};k9.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=B.packedLength)s[i]=B.unpack(e,t);let a=ne.unpack(e,t);t+=ne.packedLength;let c=e[t++]===1,d=e[t++],u=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=a,n._colorsPerVertex=c,n._arcType=d,n._granularity=u,n):new k9({positions:r,colors:s,ellipsoid:a,colorsPerVertex:c,arcType:d,granularity:u})};var lB=new Array(2),dB=new Array(2),mSt={positions:lB,height:dB,ellipsoid:void 0,minDistance:void 0,granularity:void 0};k9.createGeometry=function(e){let t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,r=e._granularity,s=e._ellipsoid,a=W.chordLength(r,s.maximumRadius),c=l(n)&&!i,d,u=t.length,m,p,g,f,x=0;if(o===on.GEODESIC||o===on.RHUMB){let Z,G,I;o===on.GEODESIC?(Z=W.chordLength(r,s.maximumRadius),G=Gi.numberOfPoints,I=Gi.generateArc):(Z=r,G=Gi.numberOfPointsRhumbLine,I=Gi.generateRhumbArc);let v=Gi.extractHeights(t,s),P=mSt;if(o===on.GEODESIC?P.minDistance=a:P.granularity=r,P.ellipsoid=s,c){let w=0;for(d=0;d<u-1;d++)w+=G(t[d],t[d+1],Z)+1;m=new Float64Array(w*3),g=new Uint8Array(w*4),P.positions=lB,P.height=dB;let F=0;for(d=0;d<u-1;++d){lB[0]=t[d],lB[1]=t[d+1],dB[0]=v[d],dB[1]=v[d+1];let b=I(P);if(l(n)){let R=b.length/3;f=n[d];for(let E=0;E<R;++E)g[F++]=B.floatToByte(f.red),g[F++]=B.floatToByte(f.green),g[F++]=B.floatToByte(f.blue),g[F++]=B.floatToByte(f.alpha)}m.set(b,x),x+=b.length}}else if(P.positions=t,P.height=v,m=new Float64Array(I(P)),l(n)){for(g=new Uint8Array(m.length/3*4),d=0;d<u-1;++d){let F=t[d],b=t[d+1],R=n[d],E=n[d+1];x=uSt(F,b,R,E,a,g,x)}let w=n[u-1];g[x++]=B.floatToByte(w.red),g[x++]=B.floatToByte(w.green),g[x++]=B.floatToByte(w.blue),g[x++]=B.floatToByte(w.alpha)}}else{p=c?u*2-2:u,m=new Float64Array(p*3),g=l(n)?new Uint8Array(p*4):void 0;let Z=0,G=0;for(d=0;d<u;++d){let I=t[d];if(c&&d>0&&(h.pack(I,m,Z),Z+=3,f=n[d-1],g[G++]=B.floatToByte(f.red),g[G++]=B.floatToByte(f.green),g[G++]=B.floatToByte(f.blue),g[G++]=B.floatToByte(f.alpha)),c&&d===u-1)break;h.pack(I,m,Z),Z+=3,l(n)&&(f=n[d],g[G++]=B.floatToByte(f.red),g[G++]=B.floatToByte(f.green),g[G++]=B.floatToByte(f.blue),g[G++]=B.floatToByte(f.alpha))}}let _=new fn;_.position=new Re({componentDatatype:Q.DOUBLE,componentsPerAttribute:3,values:m}),l(n)&&(_.color=new Re({componentDatatype:Q.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=m.length/3;let C=(p-1)*2,V=Ne.createTypedArray(p,C),L=0;for(d=0;d<p-1;++d)V[L++]=d,V[L++]=d+1;return new ft({attributes:_,indices:V,primitiveType:Me.LINES,boundingSphere:le.fromPoints(t)})};var c6=k9;var Bto=T(S(),1);function NL(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new Ks(i),this._workerName="createSphereGeometry"}NL.packedLength=Ks.packedLength;NL.pack=function(e,t,n){return Ks.pack(e._ellipsoidGeometry,t,n)};var hSt=new Ks,ky={radius:void 0,radii:new h,vertexFormat:new We,stackPartitions:void 0,slicePartitions:void 0};NL.unpack=function(e,t,n){let i=Ks.unpack(e,t,hSt);return ky.vertexFormat=We.clone(i._vertexFormat,ky.vertexFormat),ky.stackPartitions=i._stackPartitions,ky.slicePartitions=i._slicePartitions,l(n)?(h.clone(i._radii,ky.radii),n._ellipsoidGeometry=new Ks(ky),n):(ky.radius=i._radii.x,new NL(ky))};NL.createGeometry=function(e){return Ks.createGeometry(e._ellipsoidGeometry)};var l6=NL;var zto=T(S(),1);function Uy(e){}Object.defineProperties(Uy.prototype,{ellipsoid:{get:fe.throwInstantiationError},rectangle:{get:fe.throwInstantiationError},projection:{get:fe.throwInstantiationError}});Uy.prototype.getNumberOfXTilesAtLevel=fe.throwInstantiationError;Uy.prototype.getNumberOfYTilesAtLevel=fe.throwInstantiationError;Uy.prototype.rectangleToNativeRectangle=fe.throwInstantiationError;Uy.prototype.tileXYToNativeRectangle=fe.throwInstantiationError;Uy.prototype.tileXYToRectangle=fe.throwInstantiationError;Uy.prototype.positionToTileXY=fe.throwInstantiationError;var d6=Uy;var $to=T(S(),1);function CS(e){e=y(e,y.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=y(e.epoch,Oe.MINIMUM_VALUE),this.tolerance=y(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(CS.prototype,{clock:{get:function(){return this._clock},set:function(e){let t=this._clock;t!==e&&(l(t)&&(this._clockSubscription(),this._clockSubscription=void 0),l(e)&&(this._clockSubscription=e.onTick.addEventListener(CS.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){let t=this._element;t!==e&&(l(t)&&t.removeEventListener("seeked",this._seekFunction,!1),l(e)&&(this._seeking=!1,this._seekFunction=fSt(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}});CS.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,me(this)};CS.prototype.isDestroyed=function(){return!1};CS.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;let t=this._element;try{t.playbackRate=e.multiplier}catch{t.playbackRate=0}this._lastPlaybackRate=e.multiplier};CS.prototype._onTick=function(e){let t=this._element;if(!l(t)||t.readyState<2)return;let n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(e);let o=e.currentTime,r=y(this.epoch,Oe.MINIMUM_VALUE),s=j.secondsDifference(o,r),a=t.duration,c,d=t.currentTime;t.loop?(s=s%a,s<0&&(s=a-s),c=s):s>a?c=a:s<0?c=0:c=s;let u=i?y(this.tolerance,1):.001;Math.abs(c-d)>u&&(this._seeking=!0,t.currentTime=c)};function fSt(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var u6=CS;var pno=T(S(),1);function pSt(e,t){this.rectangle=e,this.maxLevel=t}function PSe(e){this.ellipsoid=y(e.ellipsoid,ne.default),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}PSe.prototype.build=function(e){e._tilingScheme=this.tilingScheme,e._heightmapWidth=this.heightmapWidth,e._heightmapHeight=this.heightmapHeight,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._rectangles=this.rectangles};function bSt(e,t){let n=t.getElementsByTagName("SRS")[0].textContent;if(n==="EPSG:4326")e.tilingScheme=new Oi({ellipsoid:e.ellipsoid});else throw new de(`SRS ${n} is not supported`);let i=t.getElementsByTagName("TileFormat")[0];e.heightmapWidth=parseInt(i.getAttribute("width"),10),e.heightmapHeight=parseInt(i.getAttribute("height"),10),e.levelZeroMaximumGeometricError=ts.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.ellipsoid,Math.min(e.heightmapWidth,e.heightmapHeight),e.tilingScheme.getNumberOfXTilesAtLevel(0));let o=t.getElementsByTagName("DataExtent");for(let r=0;r<o.length;++r){let s=o[r],a=W.toRadians(parseFloat(s.getAttribute("minx"))),c=W.toRadians(parseFloat(s.getAttribute("miny"))),d=W.toRadians(parseFloat(s.getAttribute("maxx"))),u=W.toRadians(parseFloat(s.getAttribute("maxy"))),m=parseInt(s.getAttribute("maxlevel"),10);e.rectangles.push(new pSt(new ce(a,c,d,u),m))}}function gSt(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i=`${i}: ${t.message}`),Ro.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new de(i)}async function ySt(e,t,n){try{let i=await t.fetchXML();bSt(e,i)}catch(i){gSt(t,i,n)}}function Dy(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new be,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._tilingScheme=void 0,this._rectangles=[]}Object.defineProperties(Dy.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});Dy.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=new PSe(t),i=Ge.createIfNeeded(e);await ySt(n,i);let o=new Dy(t);return n.build(o),o._resource=i,o};Dy.prototype.requestTileGeometry=function(e,t,n,i){let o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}).fetchImage({preferImageBitmap:!0});if(!l(s))return;let a=this;return Promise.resolve(s).then(function(c){return new Ya({buffer:xm(c),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:xSt(a,e,t,n),structure:a._terrainDataStructure})})};Dy.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var vSe=new ce;function xSt(e,t,n,i){let o=e._tilingScheme,r=e._rectangles,s=o.tileXYToRectangle(t,n,i),a=0;for(let c=0;c<r.length&&a!==15;++c){let d=r[c];if(d.maxLevel<=i)continue;let u=d.rectangle,m=ce.intersection(u,s,vSe);l(m)&&(uB(o,u,t*2,n*2,i+1)&&(a|=4),uB(o,u,t*2+1,n*2,i+1)&&(a|=8),uB(o,u,t*2,n*2+1,i+1)&&(a|=1),uB(o,u,t*2+1,n*2+1,i+1)&&(a|=2))}return a}function uB(e,t,n,i,o){let r=e.tileXYToRectangle(n,i,o);return l(ce.intersection(r,t,vSe))}Dy.prototype.getTileDataAvailable=function(e,t,n){};Dy.prototype.loadTileDataAvailability=function(e,t,n){};var m6=Dy;var gno=T(S(),1),_St={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},h6=Object.freeze(_St);var _no=T(S(),1);function TSt(e){switch(e){case ie.FLOAT:return"float";case ie.FLOAT_VEC2:return"vec2";case ie.FLOAT_VEC3:return"vec3";case ie.FLOAT_VEC4:return"vec4";case ie.FLOAT_MAT2:return"mat2";case ie.FLOAT_MAT3:return"mat3";case ie.FLOAT_MAT4:return"mat4";case ie.SAMPLER_2D:return"sampler2D";case ie.BOOL:return"bool"}}var f6=TSt;var Sno=T(S(),1);function SSt(e,t,n){return function(){n.apply(e,arguments),t.apply(e,arguments)}}var U9=SSt;var Ino=T(S(),1);function CSt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,dt.RGBA),this.pixelDatatype=y(e.pixelDatatype,it.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=Ge.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?Ln.REPEAT:Ln.CLAMP_TO_EDGE;this.sampler=new nn({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var p6=CSt;var Wno=T(S(),1),VSt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},b6=Object.freeze(VSt);var vno=T(S(),1),g6=`uniform sampler2D u_depthTexture; +`;function ZS(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,FM),this._fragmentShaderSource=y(e.fragmentShaderSource,wM),this._renderState=oo.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(ZS.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return ZS.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});ZS.VERTEX_FORMAT=We.POSITION_AND_ST;ZS.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;ZS.prototype.isTranslucent=oo.prototype.isTranslucent;ZS.prototype.getRenderState=oo.prototype.getRenderState;var q7=ZS;var tto=T(S(),1);function nd(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,nd.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,nd.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,nd.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,nd.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,nd.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new be,this._nominalFrameRate=new be,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){dSt(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){uSt(t)}this._visibilityChangeRemoveListener=void 0,l(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}nd.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};nd.fromScene=function(e){return(!l(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new nd({scene:e})),e._frameRateMonitor};Object.defineProperties(nd.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});nd.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};nd.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};nd.prototype.isDestroyed=function(){return!1};nd.prototype.destroy=function(){return this._preUpdateRemoveListener(),l(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),me(this)};function dSt(e,t){if(e._pauseCount>0)return;let n=Ci();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Jn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Jn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Jn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function uSt(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var AM=nd;var pto=T(S(),1);var FSe=T(tj(),1);function $7(){this._image=new Image}$7.prototype.isReady=function(){return!0};$7.prototype.shouldDiscardImage=function(e){return e===this._image};function GS(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new Hi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new le(-W.PI,-W.PI,W.PI,W.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new Lt(t)),this._credit=t,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new $7),this._errorEvent=new be}Object.defineProperties(GS.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});GS.fromMetadata=function(e,t){if(!e.imageryPresent)throw new ce(`The server ${e.url} doesn't have imagery`);let n=new GS(t);return n._metadata=e,n};GS.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(l(o)){let r=i.providers[o.imageryProvider];if(l(r))return[r]}};GS.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=l0.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!l(a)){if(r.isValid(s)){let d=new Qo({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,d);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=mSt(this,a,e,t,n,i).fetchArrayBuffer();if(l(c))return c.then(function(d){Cw(r.key,d);let u=new Uint8Array(d),m,p=r.protoImagery;if((!l(p)||!p)&&(m=hSt(u)),!l(m)&&(!l(p)||p)){let g=fSt(u);m=g.imageType,u=g.imageData}return!l(m)||!l(u)?o:u_({uint8Array:u,format:m,flipY:!0})})};GS.prototype.pickFeatures=function(e,t,n,i,o){};function mSt(e,t,n,i,o,r){let s=l0.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=l(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function hSt(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function fSt(e){let t=FSe.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,l(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(l(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new ce("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return l(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var e6=GS;var Sto=T(S(),1);var pSt=new B(1,1,1,.4),bSt=new B(0,1,0,.05),gSt=new B(0,.5,0,.2);function ES(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Hi({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,pSt),this._glowColor=y(e.glowColor,bSt),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,gSt),this._errorEvent=new be,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas()}Object.defineProperties(ES.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});ES.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let r=1+i/this._cells*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};ES.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};ES.prototype.getTileCredits=function(e,t,n){};ES.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};ES.prototype.pickFeatures=function(e,t,n,i,o){};var t6=ES;var oio=T(S(),1);var Eno=T(S(),1);var uno=T(S(),1);var Wto=T(S(),1);function Uh(){}Uh._maxDecodingConcurrency=Math.max(Yt.hardwareConcurrency-1,1);Uh._decodeTaskProcessor=new xi("decodeI3S",Uh._maxDecodingConcurrency);Uh._promise=void 0;async function ySt(){if(await Uh._decodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}))return Uh._decodeTaskProcessor;throw new ce("I3S decoder could not be initialized.")}Uh.decode=async function(e,t,n,i,o){return l(Uh._promise)||(Uh._promise=ySt()),Uh._promise.then(function(r){let s=n._parent._data,a=n._parent._inverseRotationMatrix,c=0,d=0,u=0;l(s.obb)?(c=s.obb.center[0],d=s.obb.center[1],u=s.obb.center[2]):l(s.mbs)&&(c=s.mbs[0],d=s.mbs[1],u=s.mbs[2]);let m=$.fromRotationX(-W.PI_OVER_TWO),p=new $;$.multiply(m,a,p);let g=he.fromDegrees(c,d,u),f=ne.WGS84.cartographicToCartesian(g),x={binaryData:n._data,featureData:l(i)&&l(i[0])?i[0].data:void 0,schema:t,bufferInfo:n._geometryBufferInfo,ellipsoidRadiiSquare:ne.WGS84.radiiSquared,url:e,geoidDataList:n._dataProvider._geoidDataList,cartographicCenter:g,cartesianCenter:f,parentRotation:p,enableFeatures:n._dataProvider.showFeatures,splitGeometryByColorTransparency:n._dataProvider.adjustMaterialAlphaMode,symbologyData:o,calculateNormals:n._dataProvider.calculateNormals};return r.scheduleTask(x)})};var MM=Uh;var Fto=T(S(),1);function n6(e,t){this._parent=e,this._dataProvider=e._dataProvider,this._layer=e._layer,l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${t}`}):this._resource=this._parent.resource.getDerivedResource({url:t})}Object.defineProperties(n6.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});n6.prototype.load=async function(){return this._data=await Dh.loadJson(this._resource),this._data};var NM=n6;var kto=T(S(),1);function G0(e,t){this._storageInfo=t,this._parent=e,this._dataProvider=e._dataProvider,this._loadPromise=void 0;let n=`attributes/${t.key}/0`;l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${n}`}):this._resource=this._parent.resource.getDerivedResource({url:n})}Object.defineProperties(G0.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){if(l(this._values)){if(l(this._values.attributeValues))return this._values.attributeValues;if(l(this._values.objectIds))return this._values.objectIds}return[]}},name:{get:function(){return this._storageInfo.name}}});function aO(e){return e==="UInt8"||e==="Int8"?1:e==="UInt16"||e==="Int16"?2:e==="UInt32"||e==="Int32"||e==="Oid32"||e==="Float32"?4:e==="UInt64"||e==="Int64"||e==="Float64"?8:0}function xSt(e){return e==="String"?1:aO(e)}async function _St(e){let t=await e._dataProvider._loadBinary(e._resource),n=new DataView(t);e._data=t,e._validateHeader(n);let i=e._parseHeader(n),o=e._getBodyOffset(i);e._validateBody(n,o),e._parseBody(n,o)}G0.prototype.load=function(){return l(this._loadPromise)?this._loadPromise:(this._loadPromise=_St(this).catch(function(e){console.error(e)}),this._loadPromise)};G0.prototype._parseValue=function(e,t,n){let i;if(t==="UInt8")i=e.getUint8(n),n+=1;else if(t==="Int8")i=e.getInt8(n),n+=1;else if(t==="UInt16")i=e.getUint16(n,!0),n+=2;else if(t==="Int16")i=e.getInt16(n,!0),n+=2;else if(t==="UInt32")i=e.getUint32(n,!0),n+=4;else if(t==="Oid32")i=e.getUint32(n,!0),n+=4;else if(t==="Int32")i=e.getInt32(n,!0),n+=4;else if(t==="UInt64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);i=o+Math.pow(2,32)*r,n+=8}else if(t==="Int64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);r<Math.pow(2,31)?i=o+Math.pow(2,32)*r:i=o+Math.pow(2,32)*(r-Math.pow(2,32)),n+=8}else t==="Float32"?(i=e.getFloat32(n,!0),n+=4):t==="Float64"?(i=e.getFloat64(n,!0),n+=8):t==="String"&&(i=String.fromCharCode(e.getUint8(n)),n+=1);return{value:i,offset:n}};G0.prototype._parseHeader=function(e){let t=0;this._header={};for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n],o=this._parseValue(e,i.valueType,t);this._header[i.property]=o.value,t=o.offset}return t};G0.prototype._parseBody=function(e,t){this._values={};for(let n=0;n<this._storageInfo.ordering.length;n++){let i=this._storageInfo.ordering[n],o=i==="ObjectIds"?"objectIds":i,r=this._storageInfo[o];if(l(r)){this._values[o]=[];for(let s=0;s<this._header.count;++s)if(r.valueType!=="String"){let a=this._parseValue(e,r.valueType,t);this._values[o].push(a.value),t=a.offset}else{let a=this._values.attributeByteCounts[s],c="";for(let d=0;d<a;++d){let u=this._parseValue(e,r.valueType,t);u.value.charCodeAt(0)!==0&&(c+=u.value),t=u.offset}this._values[o].push(c)}}}};G0.prototype._getBodyOffset=function(e){let t=0;return l(this._storageInfo.attributeValues)?t=aO(this._storageInfo.attributeValues.valueType):l(this._storageInfo.objectIds)&&(t=aO(this._storageInfo.objectIds.valueType)),t>0?Math.ceil(e/t)*t:e};G0.prototype._validateHeader=function(e){let t=0;for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n];t+=xSt(i.valueType)}if(e.byteLength<t)throw new ce(`Invalid attribute buffer size (field: ${this.name}, header: ${t}, actual: ${e.byteLength})`)};G0.prototype._validateBody=function(e,t){if(!l(this._header.count))throw new ce(`Invalid attribute buffer (field: ${this.name}, count is missing)`);let n;for(let i=0;i<this._storageInfo.ordering.length&&t<e.byteLength;i++){let o=this._storageInfo.ordering[i],r=o==="ObjectIds"?"objectIds":o,s=this._storageInfo[r];if(l(s))if(s.valueType!=="String"){r==="attributeByteCounts"&&(n=t);let a=aO(s.valueType);t+=a*this._header.count}else{if(!l(n))throw new ce(`Invalid attribute buffer (field: ${this.name}, attributeByteCounts is missing)`);for(let a=0;a<this._header.count&&t<e.byteLength;++a){let c=this._parseValue(e,this._storageInfo.attributeByteCounts.valueType,n);t+=c.value,n=c.offset}}else throw new ce(`Invalid attribute buffer (field: ${this.name}, ${r} is missing)`)}if(e.byteLength<t)throw new ce(`Invalid attribute buffer size (field: ${this.name}, expected: ${t}, actual: ${e.byteLength})`)};var kM=G0;var zto=T(S(),1);function UM(e,t){let n=e._dataProvider,i=e._layer,o;l(e._nodeIndex)?o=i.resource.getDerivedResource({url:`nodes/${e._data.mesh.geometry.resource}/${t}`}):o=e.resource.getDerivedResource({url:t}),this._parent=e,this._dataProvider=n,this._layer=i,this._resource=o,this._customAttributes=void 0}Object.defineProperties(UM.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});UM.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){return e._data=t,t})};var TSt=new h,SSt=new h,CSt=new h,VSt=new h,LSt=new h;function i6(e,t,n,i){let o=h.subtract(i,n,TSt),r=h.cross(o,h.subtract(e,n,SSt),VSt),s=h.cross(o,h.subtract(t,n,CSt),LSt);return h.dot(r,s)>=0}var RSt=new h,ZSt=new h,GSt=new h,ESt=new h,ISt=new h,XSt=new h,WSt=new h,PSt=new h,vSt=new h,wSt=new h;UM.prototype.getClosestPointIndexOnTriangle=function(e,t,n){if(l(this._customAttributes)&&l(this._customAttributes.positions)){let i=new h(e,t,n);i.x-=this._customAttributes.cartesianCenter.x,i.y-=this._customAttributes.cartesianCenter.y,i.z-=this._customAttributes.cartesianCenter.z,$.multiplyByVector(this._customAttributes.parentRotation,i,i);let o=Number.MAX_VALUE,r,s,a,c,d=this._customAttributes.positions,u=this._customAttributes.indices,m;l(u)?m=u.length:m=d.length/3;for(let p=0;p<m;p++){let g,f,x;l(u)?(g=u[p],f=u[p+1],x=u[p+2]):(g=p*3,f=p*3+1,x=p*3+2);let _=h.fromElements(d[g*3],d[g*3+1],d[g*3+2],RSt),C=h.fromElements(d[f*3],d[f*3+1],d[f*3+2],ZSt),V=new h(d[x*3],d[x*3+1],d[x*3+2],GSt);if(!i6(i,_,C,V)||!i6(i,C,_,V)||!i6(i,V,_,C))continue;let L=h.subtract(C,_,ESt),Z=h.subtract(V,_,ISt),G=h.cross(L,Z,XSt);if(h.magnitude(G)===0)continue;let I=h.normalize(G,WSt),v=h.subtract(i,_,PSt),P=Math.abs(h.dot(v,I));if(P<o){o=P,r=p;let w=h.magnitudeSquared(h.subtract(i,_,v)),A=h.magnitudeSquared(h.subtract(i,C,vSt)),b=h.magnitudeSquared(h.subtract(i,V,wSt));w<A&&w<b?(a=g,c=_,s=w):A<b?(a=f,c=C,s=A):(a=x,c=V,s=b)}}if(l(r))return{index:a,distanceSquared:s,distance:Math.sqrt(s),queriedPosition:i,closestPosition:h.clone(c)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};function ASe(e){let t=[],n=e.length;for(let i=0;i<n;i++)i<3?t.push(HT(e[i])):t.push(e[i]);return t}UM.prototype._generateGltf=function(e,t,n,i,o,r,s,a){let c={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},d=!1,u,m="";if(l(this._parent._data.mesh)&&l(this._layer._data.materialDefinitions)){let L=this._parent._data.mesh.material.definition;if(L>=0&&L<this._layer._data.materialDefinitions.length){if(u=this._layer._data.materialDefinitions[L],c=u,l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorTexture)){d=!0,c.pbrMetallicRoughness.baseColorTexture.index=0;let Z="0";if(l(this._layer._data.textureSetDefinitions))for(let G=0;G<this._layer._data.textureSetDefinitions.length;G++){let I=this._layer._data.textureSetDefinitions[G];for(let v=0;v<I.formats.length;v++){let P=I.formats[v];if(P.format==="jpg"){Z=P.name;break}}}l(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(m=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${Z}`}).url)}l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorFactor)&&(c.pbrMetallicRoughness.baseColorFactor=ASe(c.pbrMetallicRoughness.baseColorFactor)),l(c.emissiveFactor)&&(c.emissiveFactor=ASe(c.emissiveFactor))}}else l(this._parent._data.textureData)&&(d=!0,m=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,c.pbrMetallicRoughness.baseColorTexture={index:0});l(c.alphaMode)&&(c.alphaMode=c.alphaMode.toUpperCase());let p=[],g=[],f=[];d&&(p=[{sampler:0,source:0}],g=[{uri:m}],f=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]);let x=[],_=n.length;for(let V=0;V<_;V++){let L=n[V].primitives,Z=L.length;for(let G=0;G<Z;G++){let I=L[G];if(l(I.material)){for(;I.material>=x.length;){let P=He(c,!0);x.push(P)}let v=x[I.material];l(I.extra)&&I.extra.isTransparent?l(v.alphaMode)||(v.alphaMode="BLEND"):v.alphaMode==="BLEND"&&(v.alphaMode="OPAQUE")}}}return{scene:0,scenes:[{nodes:e}],nodes:t,meshes:n,buffers:i,bufferViews:o,accessors:r,materials:x,textures:p,images:g,samplers:f,asset:{version:"2.0"},extensions:s,extensionsUsed:a}};var NL=UM;function Pc(e,t,n){let i,o,r,s;n?(i=0,o=e):(i=e._level+1,o=e._layer),typeof t=="number"?r=t:s=e.resource.getDerivedResource({url:`${t}/`}),this._parent=e,this._dataProvider=e._dataProvider,this._isRoot=n,this._level=i,this._layer=o,this._nodeIndex=r,this._resource=s,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0,this._symbologyData=void 0}Object.defineProperties(Pc.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});Pc.prototype.load=async function(){let e=this;function t(){if(!e._isRoot){let o=e._create3DTileDefinition();e._tile=new Yu(e._layer._tileset,e._dataProvider.resource,o,e._parent._tile),e._tile._i3sNode=e}}if(!l(this._nodeIndex)){let o=await Dh.loadJson(this._resource);e._data=o,t();return}let n=await this._layer._getNodeInNodePages(this._nodeIndex);e._data=n;let i;e._isRoot?i="nodes/root/":l(n.mesh)&&(i=`../${n.mesh.geometry.resource}/`),l(i)&&l(e._parent.resource)&&(e._resource=e._parent.resource.getDerivedResource({url:i})),t()};function MSe(e,t){let n=new kM(e,t);return e._fields[t.name]=n,n.load()}Pc.prototype.loadFields=function(){let e=this._layer._data.attributeStorageInfo,t=[];if(l(e))for(let n=0;n<e.length;n++){let i=e[n],o=this._fields[i.name];l(o)?t.push(o.load()):t.push(MSe(this,i))}return Promise.all(t)};Pc.prototype.loadField=function(e){let t=this._fields[e];if(l(t))return t.load();let n=this._layer._data.attributeStorageInfo;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];if(o.name===e)return MSe(this,o)}return Promise.resolve()};Pc.prototype.getFieldsForPickedPosition=function(e){let t=this.geometryData[0];if(!l(t.customAttributes.featureIndex))return{};let n=t.getClosestPointIndexOnTriangle(e.x,e.y,e.z);if(n.index===-1||n.index>t.customAttributes.featureIndex.length)return{};let i=t.customAttributes.featureIndex[n.index];return this.getFieldsForFeature(i)};Pc.prototype.getFieldsForFeature=function(e){let t={};for(let n in this.fields)if(this.fields.hasOwnProperty(n)){let i=this.fields[n];e>=0&&e<i.values.length&&(t[i.name]=i.values[e])}return t};Pc.prototype._loadChildren=function(){let e=this;if(l(this._childrenReadyPromise))return this._childrenReadyPromise;let t=[];if(l(e._data.children))for(let n=0;n<e._data.children.length;n++){let i=e._data.children[n],o=new Pc(e,y(i.href,i),!1);e._children.push(o),t.push(o.load())}return this._childrenReadyPromise=Promise.all(t).then(function(){for(let n=0;n<e._children.length;n++)e._tile.children.push(e._children[n]._tile)}),this._childrenReadyPromise};Pc.prototype._loadGeometryData=function(){let e=[];if(l(this._data.geometryData))for(let t=0;t<this._data.geometryData.length;t++){let n=new NL(this,this._data.geometryData[t].href);this._geometryData.push(n),e.push(n.load())}else if(l(this._data.mesh)){let t=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),n=`./geometries/${t.bufferIndex}/`,i=new NL(this,n);i._geometryDefinitions=t.definition,i._geometryBufferInfo=t.geometryBufferInfo,this._geometryData.push(i),e.push(i.load())}return Promise.all(e)};Pc.prototype._loadFeatureData=function(){let e=[];if(l(this._data.featureData))for(let t=0;t<this._data.featureData.length;t++){let n=new NM(this,this._data.featureData[t].href);this._featureData.push(n),e.push(n.load())}return Promise.all(e)};Pc.prototype._clearGeometryData=function(){this._geometryData=[]};Pc.prototype._create3DTileDefinition=function(){let e=this._data.obb,t=this._data.mbs;if(!l(e)&&!l(t)){console.error("Failed to load I3S node. Bounding volume is required.");return}let n;if(l(e)?n=he.fromDegrees(e.center[0],e.center[1],e.center[2]):n=he.fromDegrees(t[0],t[1],t[2]),l(this._dataProvider._geoidDataList)&&l(n))for(let C=0;C<this._dataProvider._geoidDataList.length;C++){let V=this._dataProvider._geoidDataList[C],L=V.projection.project(n);if(L.x>V.nativeExtent.west&&L.x<V.nativeExtent.east&&L.y>V.nativeExtent.south&&L.y<V.nativeExtent.north){n.height+=NSt(L.x,L.y,V);break}}let i={},o,r=0;l(e)?(i={box:[0,0,0,e.halfSize[0],0,0,0,e.halfSize[1],0,0,0,e.halfSize[2]]},r=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),o=ne.WGS84.cartographicToCartesian(n)):(i={sphere:[0,0,0,t[3]]},o=ne.WGS84.cartographicToCartesian(n),r=this._data.mbs[3]),r*=2;let s=1/0;if(l(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let C=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));s=r/C}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let C=this._data.lodThreshold;s=r/C}else console.error("Invalid lodSelectionMetricType in Layer");else if(l(this._data.lodSelection))for(let C=0;C<this._data.lodSelection.length;C++)this._data.lodSelection[C].metricType==="maxScreenThreshold"&&(s=r/this._data.lodSelection[C].maxError);s===1/0&&(s=1e5);let a=s*16,c=new Ia(0,0,0),d=vt.headingPitchRollQuaternion(o,c);l(this._data.obb)&&(d=new Fe(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let u=$.fromQuaternion(d),m=$.inverse(u,new $),p=new M(u[0],u[1],u[2],0,u[3],u[4],u[5],0,u[6],u[7],u[8],0,o.x,o.y,o.z,1),g=M.inverse(p,new M),f=M.clone(p);l(this._parent._globalTransform)&&M.multiply(p,this._parent._inverseGlobalTransform,f),this._globalTransform=p,this._inverseGlobalTransform=g,this._inverseRotationMatrix=m;let x=[];for(let C=0;C<this._children.length;C++)x.push(this._children[C]._create3DTileDefinition());return{children:x,refine:"REPLACE",boundingVolume:i,transform:[f[0],f[4],f[8],f[12],f[1],f[5],f[9],f[13],f[2],f[6],f[10],f[14],f[3],f[7],f[11],f[15]],content:{uri:l(this._resource)?this._resource.url:void 0},geometricError:a}};Pc.prototype._loadSymbology=async function(){!l(this._symbologyData)&&l(this._layer._symbology)&&(this._symbologyData=await this._layer._symbology._getSymbology(this))};Pc.prototype._createContentURL=async function(){let e={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},t=[this._loadGeometryData()];if(this._dataProvider.legacyVersion16&&t.push(this._loadFeatureData()),await Promise.all(t),l(this._geometryData)&&this._geometryData.length>0){this._dataProvider._applySymbology&&await this._loadSymbology();let o=this._geometryData[0].resource.url,r=this._layer._data.store.defaultGeometrySchema,s=this._geometryData[0],a=await MM.decode(o,r,s,this._featureData[0],this._symbologyData);if(!l(a))return;e=s._generateGltf(a.meshData.nodesInScene,a.meshData.nodes,a.meshData.meshes,a.meshData.buffers,a.meshData.bufferViews,a.meshData.accessors,a.meshData.rootExtensions,a.meshData.extensionsUsed),this._geometryData[0]._customAttributes=a.meshData._customAttributes}let n=this._dataProvider._binarizeGltf(e),i=new Blob([n],{type:"application/binary"});return URL.createObjectURL(i)};async function FSt(e){let t=e._layer._filters,n=[];for(let i=0;i<t.length;i++){let o=e.loadField(t[i].name);n.push(o)}return await Promise.all(n),t}function ASt(e,t,n){if(!l(n.values)||n.values.length===0)return!1;let i=l(t)?t.values:[],o;e<i.length&&(o=i[e]);let r=!1;for(let s=0;s<n.values.length;s++)if(n.values[s]===o){r=!0;break}return r}async function NSe(e,t){let n=e._tile.content.batchTable;if(l(n)&&n.featuresLength>0){n.setAllShow(!0);let i=await FSt(e);if(i.length>0)for(let o=0;o<n.featuresLength;o++)for(let r=0;r<i.length;r++){let s=i[r];if(!ASt(o,e._fields[s.name],s)){n.setShow(o,!1);break}}}t.show=!0}Pc.prototype._filterFeatures=function(){let e=[];for(let n=0;n<this._children.length;n++){let i=this._children[n]._filterFeatures();e.push(i)}let t=this._tile?.content?._model;if(l(this._geometryData)&&this._geometryData.length>0&&l(t)&&t.ready){t.show=!1;let n=NSe(this,t);e.push(n)}return Promise.all(e)};Yu.prototype._hookedRequestContent=Yu.prototype.requestContent;Yu.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading){this._isLoading=!0;let e=this;return this._i3sNode._createContentURL().then(t=>{if(!l(t)){e._isLoading=!1;return}return e._contentResource=new Le({url:t}),e._hookedRequestContent()}).then(t=>{let n=t?._model;return l(e._i3sNode._geometryData)&&e._i3sNode._geometryData.length>0&&l(n)&&(n.show=!1,n.readyEvent.addEventListener(()=>{NSe(e._i3sNode,n)})),e._isLoading=!1,t})}};function MSt(e,t,n,i,o,r){let s=n*(1-e)+i*e,a=o*(1-e)+r*e;return s*(1-t)+a*t}function cO(e,t,n,i){let o=e+t*n;return i[o]}function NSt(e,t,n){let i=n.nativeExtent,o=(e-i.west)/(i.east-i.west)*(n.width-1),r=(t-i.south)/(i.north-i.south)*(n.height-1),s=Math.floor(o),a=Math.floor(r);o-=s,r-=a;let c=s<n.width?s+1:s,d=a<n.height?a+1:a;a=n.height-1-a,d=n.height-1-d;let u=cO(s,a,n.width,n.buffer),m=cO(c,a,n.width,n.buffer),p=cO(s,d,n.width,n.buffer),g=cO(c,d,n.width,n.buffer),f=MSt(o,r,u,m,p,g);return f=f*n.scale+n.offset,f}Object.defineProperties(Yu.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var kL=Pc;var gno=T(S(),1);function lO(e){this._layer=e,this._defaultSymbology=void 0,this._valueFields=[],this._uniqueValueHash=void 0,this._classBreaksHash=void 0,this._parseLayerSymbology()}Object.defineProperties(lO.prototype,{defaultSymbology:{get:function(){return this._defaultSymbology}}});function o6(e,t){let n=[];for(let i=0;i<e.length;i++){let o=B.byteToFloat(e[i]);i<3?n.push(HT(o)):n.push(o)}return n.length===3&&(l(t)?n.push(1-t/100):n.push(1)),n}function UL(e,t){let n={edges:void 0,material:void 0};if(l(e)&&l(e.symbolLayers))for(let i=0;i<e.symbolLayers.length;i++){let o=e.symbolLayers[i];if(o.type==="Fill"){let r=o.edges,s=o.outline;if(l(r)?(n.edges={},l(r.color)&&(n.edges.color=o6(r.color,r.transparency))):l(s)&&(n.edges={},l(s.color)&&(n.edges.color=o6(s.color,s.transparency))),!t){let a=o.material;l(a)&&(n.material={colorMixMode:a.colorMixMode},l(a.color)&&(n.material.color=o6(a.color,a.transparency)))}break}}return n}function kSt(e,t){if(l(e.uniqueValueGroups)){let n={};for(let i=0;i<e.uniqueValueGroups.length;i++){let o=e.uniqueValueGroups[i].classes;if(l(o))for(let r=0;r<o.length;r++){let s=UL(o[r].symbol,t),a=o[r].values;for(let c=0;c<a.length;c++){let d=a[c],u=n;for(let m=0;m<d.length;m++){let p=d[m];m===d.length-1?u[p]=s:(l(u[p])||(u[p]={}),u=u[p])}}}}return n}if(l(e.uniqueValueInfos)){let n={};for(let i=0;i<e.uniqueValueInfos.length;i++){let o=e.uniqueValueInfos[i];n[o.value]=UL(o.symbol,t)}return n}}function USt(e,t){if(l(e.classBreakInfos)){let n=[...e.classBreakInfos];n.sort(function(o,r){let s=y(o.classMaxValue,o.classMinValue),a=y(r.classMaxValue,r.classMinValue);return s-a});let i={ranges:[],symbols:[]};l(e.minValue)&&(i.ranges.push(e.minValue),i.symbols.push(void 0));for(let o=0;o<n.length;o++){let r=n[o];l(r.classMinValue)&&(i.ranges.length===0||r.classMinValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMinValue),i.symbols.push(void 0)),l(r.classMaxValue)&&(i.ranges.length===0||r.classMaxValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMaxValue),i.symbols.push(UL(r.symbol,t)))}return i.symbols.push(void 0),i}}lO.prototype._parseLayerSymbology=function(){let e=this._layer.data.drawingInfo;if(l(e)&&l(e.renderer)){let t=this._layer.data.cachedDrawingInfo,n=l(t)&&t.color===!0,i=e.renderer;i.type==="simple"?this._defaultSymbology=UL(i.symbol,n):i.type==="uniqueValue"?(this._defaultSymbology=UL(i.defaultSymbol,n),this._valueFields.push(i.field1),l(i.field2)&&this._valueFields.push(i.field2),l(i.field3)&&this._valueFields.push(i.field3),this._uniqueValueHash=kSt(i,n)):i.type==="classBreaks"&&(this._defaultSymbology=UL(i.defaultSymbol,n),this._valueFields.push(i.field),this._classBreaksHash=USt(i,n))}};function kSe(e,t,n,i){let o=t[n];if(i<o.length){let r=o[i],s=e[r];return l(s)&&++n<t.length?kSe(s,t,n,i):s}}function DSt(e,t){let n=0,i=e.length;if(n<i)do{let o=n+i>>>1;e[o]<t?n=o+1:i=o}while(n<i);return n}function BSt(e,t,n){let i=t[n],o=DSt(e.ranges,i);return e.symbols[o]}lO.prototype._getSymbology=async function(e){let t={default:this._defaultSymbology};if(this._valueFields.length>0){let n=[];for(let r=0;r<this._valueFields.length;r++)n.push(e.loadField(this._valueFields[r]));await Promise.all(n);let i=[];for(let r=0;r<this._valueFields.length;r++)i.push(e.fields[this._valueFields[r]].values);let o;if(l(this._uniqueValueHash)?o=r=>kSe(this._uniqueValueHash,i,0,r):l(this._classBreaksHash)&&(o=r=>BSt(this._classBreaksHash,i[0],r)),l(o)){let r=i[0];for(let s=0;s<r.length;s++){let a=o(s);l(a)&&(t[s]=a)}}}return t};var DM=lO;function id(e,t,n){this._dataProvider=e,this._parent=n,!l(t.href)&&l(t.id)&&(t.href=`layers/${t.id}`);let i=this._parent.resource.getUrlComponent(),o="";i.match(/layers\/\d/)?o=`${i}`.replace(/\/+$/,""):o=`${i}`.replace(/\/?$/,"/").concat(`${t.href}`),this._version=t.store.version;let r=this._version.split(".");this._majorVersion=parseInt(r[0]),this._minorVersion=r.length>1?parseInt(r[1]):0,this._resource=new Le({url:o}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=t,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._filters=[],this._symbology=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(id.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(l(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});id.prototype.load=async function(e){if(this._data.spatialReference.wkid!==4326)throw new ce(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(this._dataProvider.applySymbology&&(this._symbology=new DM(this)),await this._dataProvider.loadGeoidData(),await this._loadRootNode(e),await this._create3DTileset(e),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};id.prototype._computeGeometryDefinitions=function(e){if(this._geometryDefinitions=[],l(this._data.geometryDefinitions))for(let t=0;t<this._data.geometryDefinitions.length;t++){let n=[],i=this._data.geometryDefinitions[t].geometryBuffers;for(let o=0;o<i.length;o++){let r=i[o],s=[],a=!1;if(l(r.compressedAttributes)&&e){a=!0;let c=r.compressedAttributes.attributes;for(let d=0;d<c.length;d++)s.push(c[d])}else for(let c in r)c!=="offset"&&s.push(c);n.push({compressed:a,attributes:s,index:i.indexOf(r)})}n.sort(function(o,r){return o.compressed&&!r.compressed?-1:!o.compressed&&r.compressed?1:o.attributes.length-r.attributes.length}),this._geometryDefinitions.push(n)}};id.prototype._findBestGeometryBuffers=function(e,t){let n=this._geometryDefinitions[e];if(l(n)){for(let i=0;i<n.length;++i){let o=n[i],r=!1,s=o.attributes;for(let a=0;a<t.length;a++)if(!s.includes(t[a])){r=!0;break}if(!r)return{bufferIndex:o.index,definition:n,geometryBufferInfo:o}}if(l(n[0]))return{bufferIndex:0,definition:n,geometryBufferInfo:n[0]}}};id.prototype._loadRootNode=function(e){if(l(this._data.nodePages)){let t=0;l(this._data.nodePages.rootIndex)&&(t=this._data.nodePages.rootIndex),this._rootNode=new kL(this,t,!0)}else this._rootNode=new kL(this,this._data.store.rootNode,!0);return this._rootNode.load(e)};id.prototype._getNodeInNodePages=function(e){let t=Math.floor(e/this._data.nodePages.nodesPerPage),n=e%this._data.nodePages.nodesPerPage;return this._loadNodePage(t).then(function(i){return i.nodes[n]})};id._fetchJson=function(e){return e.fetchJson()};id.prototype._loadNodePage=function(e){let t=this;if(!l(this._nodePageFetches[e])){let n=this.resource.getDerivedResource({url:`nodepages/${e}/`}),i=id._fetchJson(n).then(function(o){return l(o.error)&&o.error.code!==200?Promise.reject(o.error):(t._nodePages[e]=o.nodes,o)});this._nodePageFetches[e]=i}return this._nodePageFetches[e]};id.prototype._computeExtent=function(){l(this._data.fullExtent)?this._extent=le.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):l(this._data.store.extent)&&(this._extent=le.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};id.prototype._create3DTileset=async function(e){let t={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},n=new Blob([JSON.stringify(t)],{type:"application/json"}),i=URL.createObjectURL(n),o=this._symbology?.defaultSymbology?.edges?.color;l(o)&&!l(e?.outlineColor)&&(e=l(e)?He(e):{},e.outlineColor=B.fromCartesian4(re.fromArray(o))),this._tileset=await xs.fromUrl(i,e),this._tileset.show=this._parent.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(r){r._i3sNode._clearGeometryData(),URL.revokeObjectURL(r._contentResource._url),r._contentResource=r._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(r){l(r._i3sNode)&&r._i3sNode._loadChildren()})};id.prototype._updateVisibility=function(){l(this._tileset)&&(this._tileset.show=this._parent.show)};id.prototype.filterByAttributes=function(e){this._filters=l(e)?He(e,!0):[];let t=this._rootNode;return l(t)?t._filterFeatures():Promise.resolve()};var IS=id;var vno=T(S(),1);function dO(e,t){this._dataProvider=e,this._resource=new Le({url:t}),this._resource.setQueryParameters(e.resource.queryParameters),this._resource.appendForwardSlash()}Object.defineProperties(dO.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},names:{get:function(){let e=[],t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n)e.push(t[n].fieldName);return e}}});dO.prototype.load=async function(){return this._data=await Dh.loadJson(this._resource),this._data};dO.prototype._getValues=function(e){let t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n){let i=t[n];if(i.fieldName===e)return l(i.mostFrequentValues)?[...i.mostFrequentValues]:[]}};var BM=dO;var Uno=T(S(),1);function OM(e,t,n){this._dataProvider=e,this._parent=t,this._data=n,this._name=n.name,this._modelName=n.modelName,this._visibility=y(n.visibility,!0),this._resource=void 0,this._sublayers=[],this._i3sLayers=[]}Object.defineProperties(OM.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},name:{get:function(){return this._name}},modelName:{get:function(){return this._modelName}},sublayers:{get:function(){return this._sublayers}},visibility:{get:function(){return this._visibility},set:function(e){if(this._visibility!==e){this._visibility=e;for(let t=0;t<this._i3sLayers.length;t++)this._i3sLayers[t]._updateVisibility()}}},show:{get:function(){return this._visibility&&this._parent.show}}});OM._fromData=async function(e,t,n,i){let o=new OM(e,i,n);if(o._data.layerType==="group"){let r=o._data.sublayers;if(l(r)){let s=[];for(let c=0;c<r.length;c++){let d=OM._fromData(e,t,r[c],o);s.push(d)}let a=await Promise.all(s);for(let c=0;c<a.length;c++){let d=a[c];o._sublayers.push(d),o._i3sLayers.push(...d._i3sLayers)}}}else if(o._data.layerType==="3DObject"){let r=t.concat(`/sublayers/${o._data.id}`),s=new Le({url:r});s.setQueryParameters(e.resource.queryParameters),s.appendForwardSlash(),o._resource=s;let a=await Dh.loadJson(o._resource),c=new IS(e,a,o);o._i3sLayers.push(c)}else console.log(`${o._data.layerType} layer ${o._data.name} is skipped as not supported.`);return o};var YM=OM;var BSe=T(USe(),1);function Cs(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._show=y(e.show,!0),this._geoidTiledTerrainProvider=e.geoidTiledTerrainProvider,this._showFeatures=y(e.showFeatures,!1),this._adjustMaterialAlphaMode=y(e.adjustMaterialAlphaMode,!1),this._applySymbology=y(e.applySymbology,!1),this._calculateNormals=y(e.calculateNormals,!1),this._cesium3dTilesetOptions=y(e.cesium3dTilesetOptions,y.EMPTY_OBJECT),this._layers=[],this._sublayers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,this._attributeStatistics=[],this._layersExtent=[]}Object.defineProperties(Cs.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;for(let t=0;t<this._layers.length;t++)this._layers[t]._updateVisibility()}}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},sublayers:{get:function(){return this._sublayers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},resource:{get:function(){return this._resource}},showFeatures:{get:function(){return this._showFeatures}},adjustMaterialAlphaMode:{get:function(){return this._adjustMaterialAlphaMode}},applySymbology:{get:function(){return this._applySymbology}},calculateNormals:{get:function(){return this._calculateNormals}}});Cs.prototype.destroy=function(){for(let e=0;e<this._layers.length;e++)l(this._layers[e]._tileset)&&this._layers[e]._tileset.destroy();return me(this)};Cs.prototype.isDestroyed=function(){return!1};Cs.prototype.update=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.update(e)};Cs.prototype.prePassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.prePassesUpdate(e)};Cs.prototype.postPassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.postPassesUpdate(e)};Cs.prototype.updateForPass=function(e,t){for(let n=0;n<this._layers.length;n++)l(this._layers[n]._tileset)&&this._layers[n]._tileset.updateForPass(e,t)};function OSt(e,t){let n=e.resource.getUrlComponent(),i="";return n.match(/layers\/\d/)?i=`${n}`.replace(/\/+$/,""):i=`${n}`.replace(/\/?$/,"/").concat(`layers/${t}`),i}async function DSe(e,t,n){if(t.layerType==="Building"){l(n.showFeatures)||(e._showFeatures=!0),l(n.adjustMaterialAlphaMode)||(e._adjustMaterialAlphaMode=!0),l(n.applySymbology)||(e._applySymbology=!0),l(n.calculateNormals)||(e._calculateNormals=!0);let i=OSt(e,t.id);if(l(t.sublayers)){let o=[];for(let s=0;s<t.sublayers.length;s++){let a=YM._fromData(e,i,t.sublayers[s],e);o.push(a)}let r=await Promise.all(o);for(let s=0;s<r.length;s++){let a=r[s];e._sublayers.push(a),e._layers.push(...a._i3sLayers)}}if(l(t.statisticsHRef)){let o=i.concat(`/${t.statisticsHRef}`),r=new BM(e,o);await r.load(),e._attributeStatistics.push(r)}if(l(t.fullExtent)){let o=le.fromDegrees(t.fullExtent.xmin,t.fullExtent.ymin,t.fullExtent.xmax,t.fullExtent.ymax);e._layersExtent.push(o)}}else if(t.layerType==="3DObject"||t.layerType==="IntegratedMesh"){!l(n.calculateNormals)&&!l(t.textureSetDefinitions)&&(e._calculateNormals=!0);let i=new IS(e,t,e);e._layers.push(i),l(i._extent)&&e._layersExtent.push(i._extent)}else console.log(`${t.layerType} layer ${t.name} is skipped as not supported.`)}Cs.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Le.createIfNeeded(e);n.setQueryParameters({f:"pjson"},!0);let i=await Cs.loadJson(n),o=new Cs(t);if(o._resource=n,o._data=i,l(i.layers)){let s=[];for(let a=0;a<i.layers.length;a++){let c=DSe(o,i.layers[a],t);s.push(c)}await Promise.all(s)}else await DSe(o,i,t);o._computeExtent();let r=[];for(let s=0;s<o._layers.length;s++)r.push(o._layers[s].load(t.cesium3dTilesetOptions));return await Promise.all(r),o};Cs._fetchJson=function(e){return e.fetchJson()};Cs.loadJson=async function(e){let t=await Cs._fetchJson(e);if(l(t.error)){if(console.error("Failed to fetch I3S ",e.url),l(t.error.message)&&console.error(t.error.message),l(t.error.details))for(let n=0;n<t.error.details.length;n++)console.log(t.error.details[n]);throw new ce(t.error)}return t};Cs.prototype._loadBinary=async function(e){let t=await e.fetchArrayBuffer();if(t.byteLength>0&&new Uint8Array(t)[0]===123&&new TextDecoder().decode(t).includes("404"))throw new ce(`Failed to load binary: ${e.url}`);return t};Cs.prototype._binarizeGltf=function(e){let n=new TextEncoder().encode(JSON.stringify(e)),i=new Uint8Array(n.byteLength+20),o={magic:new Uint8Array(i.buffer,0,4),version:new Uint32Array(i.buffer,4,1),length:new Uint32Array(i.buffer,8,1),chunkLength:new Uint32Array(i.buffer,12,1),chunkType:new Uint32Array(i.buffer,16,1),chunkData:new Uint8Array(i.buffer,20,n.byteLength)};return o.magic[0]=103,o.magic[1]=108,o.magic[2]=84,o.magic[3]=70,o.version[0]=2,o.length[0]=i.byteLength,o.chunkLength[0]=n.byteLength,o.chunkType[0]=1313821514,o.chunkData.set(n),i};var YSt=new D;function HSt(e,t){let n=e.tilingScheme,i=[],o={},r=e._lodCount,s=he.fromRadians(t.west,t.north),a=he.fromRadians(t.east,t.south),c=n.positionToTileXY(s,r),d=n.positionToTileXY(a,r);for(let m=c.x;m<=d.x;m++)for(let p=c.y;p<=d.y;p++){let g=D.fromElements(m,p,YSt),f=g.toString();if(!o.hasOwnProperty(f)){let x={x:g.x,y:g.y,level:r,tilingScheme:n,terrainProvider:e,positions:[]};o[f]=x,i.push(x)}}let u=[];for(let m=0;m<i.length;++m){let p=i[m],g=p.terrainProvider.requestTileGeometry(p.x,p.y,p.level);u.push(g)}return Promise.all(u).then(function(m){let p=[];for(let g=0;g<m.length;g++){let f={tilingScheme:n,x:i[g].x,y:i[g].y,level:i[g].level},x=m[g],_="Geographic";n._projection instanceof Xi&&(_="WebMercator");let C={projectionType:_,projection:n._projection,nativeExtent:n.tileXYToNativeRectangle(f.x,f.y,f.level),height:x._height,width:x._width,scale:x._structure.heightScale,offset:x._structure.heightOffset};if(x._encoding===rm.LERC){let V=BSe.default.decode(x._buffer);C.buffer=V.pixels[0]}else C.buffer=x._buffer;p.push(C)}return p})}async function zSt(e){let t=e._geoidTiledTerrainProvider;if(l(t))try{let n=await HSt(t,e._extent);e._geoidDataList=n}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}Cs.prototype.loadGeoidData=async function(){return l(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=zSt(this),this._geoidDataPromise)};Cs.prototype._computeExtent=function(){let e;for(let t=0;t<this._layersExtent.length;t++){let n=this._layersExtent[t];l(e)?le.union(e,n,e):e=le.clone(n)}this._extent=e};Cs.prototype.getAttributeNames=function(){let e=[];for(let t=0;t<this._attributeStatistics.length;++t)e.push(...this._attributeStatistics[t].names);return e};Cs.prototype.getAttributeValues=function(e){for(let t=0;t<this._attributeStatistics.length;++t){let n=this._attributeStatistics[t]._getValues(e);if(l(n))return n}return[]};Cs.prototype.filterByAttributes=function(e){let t=[];for(let n=0;n<this._layers.length;n++){let i=this._layers[n].filterByAttributes(e);t.push(i)}return Promise.all(t)};var Dh=Cs;var uio=T(S(),1);var r6={};r6.createTilesetFromIModelId=async function(e,t){let{exports:n}=await jd.getExports(e);if(n.length>0&&n.every(a=>a.status===jd.ExportStatus.Invalid))throw new ce(`All exports for this iModel are Invalid: ${e}`);let i=n.find(a=>a.status===jd.ExportStatus.Complete);if(!l(i))return;let o=new URL(i._links.mesh.href);o.pathname=`${o.pathname}/tileset.json`;let r=o.toString(),s=new Le({url:r});return xs.fromUrl(s,t)};r6.createTilesetForRealityDataId=async function(e,t,n,i){if(!l(n)||!l(i)){let s=await jd.getRealityDataMetadata(e,t);i=s.rootDocument,n=s.type}if(![jd.RealityDataType.Cesium3DTiles,jd.RealityDataType.PNTS,jd.RealityDataType.RealityMesh3DTiles,jd.RealityDataType.Terrain3DTiles].includes(n))throw new ce(`Reality data type is not a mesh type: ${n}`);let r=await jd.getRealityDataURL(e,t,i);return xs.fromUrl(r,{maximumScreenSpaceError:4})};var s6=r6;var fio=T(S(),1);function OSe(){}Object.defineProperties(OSe.prototype,{color:{get:fe.throwInstantiationError},intensity:{get:fe.throwInstantiationError}});var a6=OSe;var Tio=T(S(),1);var KSt=/\/$/,YSe=new Lt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function DL(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Le.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=l(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();KSt.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;l(e.credit)?(c=e.credit,typeof c=="string"&&(c=new Lt(c))):c=YSe,this._resource=i,this._imageryProvider=new za({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(DL.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});DL.prototype.getTileCredits=function(e,t,n){};DL.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};DL.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};DL._defaultCredit=YSe;var c6=DL;var Cio=T(S(),1);function l6(e){}l6.prototype.isReady=function(){return!0};l6.prototype.shouldDiscardImage=function(e){return!1};var d6=l6;var Wio=T(S(),1);var JSt=new Lt("MapQuest, Open Street Map and contributors, CC-BY-SA");function mO(e){e=y(e,y.EMPTY_OBJECT);let t=Le.createIfNeeded(y(e.url,"https://tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}${e.retinaTiles?"@2x":""}.${y(e.fileExtension,"png")}`;let n=new ss({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(le.southwest(a),r),d=n.positionToTileXY(le.northeast(a),r),u=(Math.abs(d.x-c.x)+1)*(Math.abs(d.y-c.y)+1),m=y(e.credit,JSt);typeof m=="string"&&(m=new Lt(m)),za.call(this,{url:t,credit:m,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}l(Object.create)&&(mO.prototype=Object.create(za.prototype),mO.prototype.constructor=mO);var E0=mO;var Nio=T(S(),1);var QSt=new D(1,1);function u6(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=B.clone(y(e.startColor,B.WHITE)),this.endColor=B.clone(y(e.endColor,B.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=D.clone(y(e.imageSize,QSt)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(u6.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var HSe=new h;u6.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,HSe),h.add(this.position,HSe,this.position),l(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var BL=u6;var Dio=T(S(),1);function zSe(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(zSe.prototype,{complete:{get:function(){return this._complete}}});var m6=zSe;var Yio=T(S(),1);function KSe(e){}KSe.prototype.emit=function(e){fe.throwInstantiationError()};var h6=KSe;var soo=T(S(),1);var JSe=new D(1,1);function HM(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;l(t)||(t=new XM(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=M.clone(y(e.modelMatrix,M.IDENTITY)),this._emitterModelMatrix=M.clone(y(e.emitterModelMatrix,M.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new M,this._startColor=B.clone(y(e.color,y(e.startColor,B.WHITE))),this._endColor=B.clone(y(e.color,y(e.endColor,B.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=D.clone(y(e.imageSize,y(e.minimumImageSize,JSe))),this._maximumImageSize=D.clone(y(e.imageSize,y(e.maximumImageSize,JSe))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new be,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(HM.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!M.equals(this._modelMatrix,e),M.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!M.equals(this._emitterModelMatrix,e),M.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){B.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){B.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function jSt(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(l(o)){let m=o.length;for(let p=0;p<m;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,d=e._particlePool,u=Math.max(a-c.length-d.length,0);for(let m=0;m<u;++m){let p=new BL;p._billboard=r.add({image:s,show:!1}),d.push(p)}e._particleEstimate=a}function qSt(e){let t=e._particlePool.pop();return l(t)||(t=new BL),t}function $St(e,t){e._particlePool.push(t)}function eCt(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let d=n[c];i.remove(d._billboard)}n.length=a}function tCt(e){l(e._billboard)&&(e._billboard.show=!1)}function QSe(e,t){let n=t._billboard;l(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=W.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=W.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=W.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=W.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new B(i,o,r,s),n.scale=W.lerp(t.startScale,t.endScale,t.normalizedAge)}function nCt(e,t){t.startColor=B.clone(e._startColor,t.startColor),t.endColor=B.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=W.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=W.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=W.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=W.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=W.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function iCt(e,t){if(e._isComplete)return 0;t=W.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),l(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;l(s)&&!s._complete&&a>s.time&&(i+=W.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var hO=new h;HM.prototype.update=function(e){if(!this.show)return;l(this._billboardCollection)||(this._billboardCollection=new Zd),this._updateParticlePool&&(jSt(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=j.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?QSe(this,s):(tCt(s),$St(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=iCt(this,t);if(c>0&&l(i)){this._matrixDirty&&(this._combinedMatrix=M.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let d=this._combinedMatrix;for(r=0;r<c;r++)s=qSt(this),this._emitter.emit(s),h.add(s.position,s.velocity,hO),M.multiplyByPoint(d,hO,hO),s.position=M.multiplyByPoint(d,s.position,s.position),h.subtract(hO,s.position,s.velocity),h.normalize(s.velocity,s.velocity),nCt(this,s),QSe(this,s)}if(this._billboardCollection.update(e),this._previousTime=j.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=W.mod(this._currentTime,this._lifetime),this.bursts){let d=this.bursts.length;for(r=0;r<d;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&eCt(this)};HM.prototype.isDestroyed=function(){return!1};HM.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),me(this)};var f6=HM;var loo=T(S(),1);function du(){fe.throwInstantiationError()}du.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties(du.prototype,{quadtree:{get:fe.throwInstantiationError,set:fe.throwInstantiationError},tilingScheme:{get:fe.throwInstantiationError},errorEvent:{get:fe.throwInstantiationError}});du.prototype.update=fe.throwInstantiationError;du.prototype.beginUpdate=fe.throwInstantiationError;du.prototype.endUpdate=fe.throwInstantiationError;du.prototype.getLevelMaximumGeometricError=fe.throwInstantiationError;du.prototype.loadTile=fe.throwInstantiationError;du.prototype.computeTileVisibility=fe.throwInstantiationError;du.prototype.showTileThisFrame=fe.throwInstantiationError;du.prototype.computeDistanceToTile=fe.throwInstantiationError;du.prototype.isDestroyed=fe.throwInstantiationError;du.prototype.destroy=fe.throwInstantiationError;var p6=du;var foo=T(S(),1);function b6(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(b6.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});b6.prototype.emit=function(e){let t=W.randomBetween(0,W.TWO_PI),n=W.randomBetween(0,W.PI),i=W.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var g6=b6;var goo=T(S(),1);function zM(){}zM.prototype.evaluate=function(e,t){fe.throwInstantiationError()};zM.prototype.evaluateColor=function(e,t){fe.throwInstantiationError()};zM.prototype.getShaderFunction=function(e,t,n,i){fe.throwInstantiationError()};zM.prototype.getVariables=function(){fe.throwInstantiationError()};var y6=zM;var Soo=T(S(),1);function OL(e){this._ready=!1,this._provider=void 0,this._errorEvent=new be,this._readyEvent=new be,rCt(this,e)}Object.defineProperties(OL.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});OL.fromWorldTerrain=function(e){return new OL(FT(e))};OL.fromWorldBathymetry=function(e){return new OL(Sw(e))};function oCt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function rCt(e,t){let n;try{n=await Promise.resolve(t),e._provider=n,e._ready=!0,e._readyEvent.raiseEvent(n)}catch(i){oCt(e._errorEvent,i)}}var KM=OL;var Loo=T(S(),1);function YL(){}YL.prototype.boundingVolume=void 0;YL.prototype.boundingSphere=void 0;YL.prototype.distanceToCamera=function(e){fe.throwInstantiationError()};YL.prototype.intersectPlane=function(e){fe.throwInstantiationError()};YL.prototype.createDebugVolume=function(e){fe.throwInstantiationError()};var x6=YL;var Woo=T(S(),1);function JM(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Hi({ellipsoid:e.ellipsoid}),this._color=y(e.color,B.YELLOW),this._errorEvent=new be,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(JM.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});JM.prototype.getTileCredits=function(e,t,n){};JM.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};JM.prototype.pickFeatures=function(e,t,n,i,o){};var QM=JM;var woo=T(S(),1);function _6(e){fe.throwInstantiationError()}_6.prototype.isReady=fe.throwInstantiationError;_6.prototype.shouldDiscardImage=fe.throwInstantiationError;var T6=_6;var Aoo=T(S(),1),sCt={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},S6=Object.freeze(sCt);var Joo=T(S(),1);function fO(e,t){this.show=!0,l(e)||(e=new Je),this.rectangle=Je.clone(e),l(t)||(t=Yi.fromType(Yi.ColorType,{color:new B(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}fO.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!l(t)||!Je.equals(t.viewport,this.rectangle))&&(this._rs=Be.fromCache({blending:hn.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!l(this._overlayCommand)){this._material=this.material,l(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new Oe({sources:[this._material.shaderSource,aF]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=Ge.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};fO.prototype.isDestroyed=function(){return!1};fO.prototype.destroy=function(){return l(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),me(this)};var C6=fO;var qoo=T(S(),1);function V6(){fe.throwInstantiationError()}Object.defineProperties(V6.prototype,{globalTransform:{get:fe.throwInstantiationError},shapeTransform:{get:fe.throwInstantiationError},shape:{get:fe.throwInstantiationError},minBounds:{get:fe.throwInstantiationError},maxBounds:{get:fe.throwInstantiationError},dimensions:{get:fe.throwInstantiationError},paddingBefore:{get:fe.throwInstantiationError},paddingAfter:{get:fe.throwInstantiationError},names:{get:fe.throwInstantiationError},types:{get:fe.throwInstantiationError},componentTypes:{get:fe.throwInstantiationError},minimumValues:{get:fe.throwInstantiationError},maximumValues:{get:fe.throwInstantiationError},maximumTileCount:{get:fe.throwInstantiationError},keyframeCount:{get:fe.throwInstantiationError},timeIntervalCollection:{get:fe.throwInstantiationError}});V6.prototype.requestData=fe.throwInstantiationError;var L6=V6;var tro=T(S(),1);function XS(){fe.throwInstantiationError()}Object.defineProperties(XS.prototype,{orientedBoundingBox:{get:fe.throwInstantiationError},boundingSphere:{get:fe.throwInstantiationError},boundTransform:{get:fe.throwInstantiationError},shapeTransform:{get:fe.throwInstantiationError},shaderUniforms:{get:fe.throwInstantiationError},shaderDefines:{get:fe.throwInstantiationError},shaderMaximumIntersectionsLength:{get:fe.throwInstantiationError}});XS.prototype.update=fe.throwInstantiationError;XS.prototype.computeOrientedBoundingBoxForTile=fe.throwInstantiationError;XS.prototype.computeOrientedBoundingBoxForSample=fe.throwInstantiationError;XS.DefaultMinBounds=fe.throwInstantiationError;XS.DefaultMaxBounds=fe.throwInstantiationError;var R6=XS;var iro=T(S(),1),Z6=`uniform sampler2D u_depthTexture; in vec2 v_textureCoordinates; @@ -15949,49 +16165,49 @@ void main() float scale = pow(z_ndc * 0.5 + 0.5, 8.0); out_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0); } -`;var Fno=T(S(),1),LSt={SIGX:"SIGX",SIGY:"SIGY",SIGZ:"SIGZ",VARX:"VARX",VARY:"VARY",VARZ:"VARZ",SIGR:"VARZ"},y6=Object.freeze(LSt);var Nno=T(S(),1);function RSt(e){async function t({data:i}){let o=[],r={id:i.id,result:void 0,error:void 0};self.CESIUM_BASE_URL=i.baseUrl;try{let s=await e(i.parameters,o);r.result=s}catch(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}i.canTransferArrayBuffer||(o.length=0);try{postMessage(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${Bf(s)} - with responseMessage: ${JSON.stringify(r)}`,postMessage(r)}}function n(i){postMessage({id:i.data?.id,error:`postMessage failed with error: ${JSON.stringify(i)}`})}return self.onmessage=t,self.onmessageerror=n,self}var x6=RSt;globalThis.CESIUM_VERSION="1.122";var lGo=T(S(),1);var NCo=T(S(),1);var wCo=T(S(),1);var RCo=T(S(),1),D9;typeof ko<"u"&&(D9=ko);(function(){/*! +`;var uro=T(S(),1);function aCt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,st.RGBA),this.pixelDatatype=y(e.pixelDatatype,qe.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=Le.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?Ln.REPEAT:Ln.CLAMP_TO_EDGE;this.sampler=new $t({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var G6=aCt;var hro=T(S(),1),cCt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},E6=Object.freeze(cCt);var pro=T(S(),1),lCt={SIGX:"SIGX",SIGY:"SIGY",SIGZ:"SIGZ",VARX:"VARX",VARY:"VARY",VARZ:"VARZ",SIGR:"VARZ"},I6=Object.freeze(lCt);var yro=T(S(),1);function dCt(e){async function t({data:i}){let o=[],r={id:i.id,result:void 0,error:void 0};self.CESIUM_BASE_URL=i.baseUrl;try{let s=await e(i.parameters,o);r.result=s}catch(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}i.canTransferArrayBuffer||(o.length=0);try{postMessage(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${zf(s)} + with responseMessage: ${JSON.stringify(r)}`,postMessage(r)}}function n(i){postMessage({id:i.data?.id,error:`postMessage failed with error: ${JSON.stringify(i)}`})}return self.onmessage=t,self.onmessageerror=n,self}var X6=dCt;globalThis.CESIUM_VERSION="1.124";var qIo=T(S(),1);var ELo=T(S(),1);var LLo=T(S(),1);var bLo=T(S(),1),jM;typeof ko<"u"&&(jM=ko);(function(){/*! * Knockout JavaScript library v3.5.1 * (c) The Knockout.js team - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) - */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(b,R){return b===null||typeof b in x?b===R:!1}function d(b,R){var E;return function(){E||(E=f.a.setTimeout(function(){E=e,b()},R))}}function u(b,R){var E;return function(){clearTimeout(E),E=f.a.setTimeout(b,R)}}function m(b,R){R&&R!=="change"?R==="beforeChange"?this.pc(b):this.gb(b,R):this.qc(b)}function p(b,R){R!==null&&R.s&&R.s()}function g(b,R){var E=this.qd,X=E[Z];X.ra||(this.Qb&&this.mb[R]?(E.uc(R,b,this.mb[R]),this.mb[R]=null,--this.Qb):X.I[R]||E.uc(R,b,X.J?{da:b}:E.$c(b)),b.Ja&&b.gd())}var f=typeof s<"u"?s:{};f.b=function(b,R){for(var E=b.split("."),X=f,A=0;A<E.length-1;A++)X=X[E[A]];X[E[E.length-1]]=R},f.L=function(b,R,E){b[R]=E},f.version="3.5.1",f.b("version",f.version),f.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},f.a=function(){function b(H,q){for(var ee in H)A.call(H,ee)&&q(ee,H[ee])}function R(H,q){if(q)for(var ee in q)A.call(q,ee)&&(H[ee]=q[ee]);return H}function E(H,q){return H.__proto__=q,H}function X(H,q,ee,pe){var _e=H[q].match(z)||[];f.a.D(ee.match(z),function(ae){f.a.Na(_e,ae,pe)}),H[q]=_e.join(" ")}var A=Object.prototype.hasOwnProperty,N={__proto__:[]}instanceof Array,O=typeof Symbol=="function",U={},Y={};U[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],U.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),b(U,function(H,q){if(q.length)for(var ee=0,pe=q.length;ee<pe;ee++)Y[q[ee]]=H});var k={propertychange:!0},J=n&&function(){for(var H=3,q=n.createElement("div"),ee=q.getElementsByTagName("i");q.innerHTML="<!--[if gt IE "+ ++H+"]><i></i><![endif]-->",ee[0];);return 4<H?H:e}(),z=/\S+/g,te;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(H,q,ee){for(var pe=0,_e=H.length;pe<_e;pe++)q.call(ee,H[pe],pe,H)},A:typeof Array.prototype.indexOf=="function"?function(H,q){return Array.prototype.indexOf.call(H,q)}:function(H,q){for(var ee=0,pe=H.length;ee<pe;ee++)if(H[ee]===q)return ee;return-1},Lb:function(H,q,ee){for(var pe=0,_e=H.length;pe<_e;pe++)if(q.call(ee,H[pe],pe,H))return H[pe];return e},Pa:function(H,q){var ee=f.a.A(H,q);0<ee?H.splice(ee,1):ee===0&&H.shift()},wc:function(H){var q=[];return H&&f.a.D(H,function(ee){0>f.a.A(q,ee)&&q.push(ee)}),q},Mb:function(H,q,ee){var pe=[];if(H)for(var _e=0,ae=H.length;_e<ae;_e++)pe.push(q.call(ee,H[_e],_e));return pe},jb:function(H,q,ee){var pe=[];if(H)for(var _e=0,ae=H.length;_e<ae;_e++)q.call(ee,H[_e],_e)&&pe.push(H[_e]);return pe},Nb:function(H,q){if(q instanceof Array)H.push.apply(H,q);else for(var ee=0,pe=q.length;ee<pe;ee++)H.push(q[ee]);return H},Na:function(H,q,ee){var pe=f.a.A(f.a.bc(H),q);0>pe?ee&&H.push(q):ee||H.splice(pe,1)},Ba:N,extend:R,setPrototypeOf:E,Ab:N?E:R,P:b,Ga:function(H,q,ee){if(!H)return H;var pe={},_e;for(_e in H)A.call(H,_e)&&(pe[_e]=q.call(ee,H[_e],_e,H));return pe},Tb:function(H){for(;H.firstChild;)f.removeNode(H.firstChild)},Yb:function(H){H=f.a.la(H);for(var q=(H[0]&&H[0].ownerDocument||n).createElement("div"),ee=0,pe=H.length;ee<pe;ee++)q.appendChild(f.oa(H[ee]));return q},Ca:function(H,q){for(var ee=0,pe=H.length,_e=[];ee<pe;ee++){var ae=H[ee].cloneNode(!0);_e.push(q?f.oa(ae):ae)}return _e},va:function(H,q){if(f.a.Tb(H),q)for(var ee=0,pe=q.length;ee<pe;ee++)H.appendChild(q[ee])},Xc:function(H,q){var ee=H.nodeType?[H]:H;if(0<ee.length){for(var pe=ee[0],_e=pe.parentNode,ae=0,ye=q.length;ae<ye;ae++)_e.insertBefore(q[ae],pe);for(ae=0,ye=ee.length;ae<ye;ae++)f.removeNode(ee[ae])}},Ua:function(H,q){if(H.length){for(q=q.nodeType===8&&q.parentNode||q;H.length&&H[0].parentNode!==q;)H.splice(0,1);for(;1<H.length&&H[H.length-1].parentNode!==q;)H.length--;if(1<H.length){var ee=H[0],pe=H[H.length-1];for(H.length=0;ee!==pe;)H.push(ee),ee=ee.nextSibling;H.push(pe)}}return H},Zc:function(H,q){7>J?H.setAttribute("selected",q):H.selected=q},Db:function(H){return H===null||H===e?"":H.trim?H.trim():H.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(H,q){return H=H||"",q.length>H.length?!1:H.substring(0,q.length)===q},vd:function(H,q){if(H===q)return!0;if(H.nodeType===11)return!1;if(q.contains)return q.contains(H.nodeType!==1?H.parentNode:H);if(q.compareDocumentPosition)return(q.compareDocumentPosition(H)&16)==16;for(;H&&H!=q;)H=H.parentNode;return!!H},Sb:function(H){return f.a.vd(H,H.ownerDocument.documentElement)},kd:function(H){return!!f.a.Lb(H,f.a.Sb)},R:function(H){return H&&H.tagName&&H.tagName.toLowerCase()},Ac:function(H){return f.onError?function(){try{return H.apply(this,arguments)}catch(q){throw f.onError&&f.onError(q),q}}:H},setTimeout:function(H,q){return setTimeout(f.a.Ac(H),q)},Gc:function(H){setTimeout(function(){throw f.onError&&f.onError(H),H},0)},B:function(H,q,ee){var pe=f.a.Ac(ee);if(ee=k[q],f.options.useOnlyNativeEvents||ee||!o)if(ee||typeof H.addEventListener!="function")if(typeof H.attachEvent<"u"){var _e=function(ye){pe.call(H,ye)},ae="on"+q;H.attachEvent(ae,_e),f.a.K.za(H,function(){H.detachEvent(ae,_e)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else H.addEventListener(q,pe,!1);else te||(te=typeof o(H).on=="function"?"on":"bind"),o(H)[te](q,pe)},Fb:function(H,q){if(!H||!H.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var ee;if(f.a.R(H)==="input"&&H.type&&q.toLowerCase()=="click"?(ee=H.type,ee=ee=="checkbox"||ee=="radio"):ee=!1,f.options.useOnlyNativeEvents||!o||ee)if(typeof n.createEvent=="function")if(typeof H.dispatchEvent=="function")ee=n.createEvent(Y[q]||"HTMLEvents"),ee.initEvent(q,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,H),H.dispatchEvent(ee);else throw Error("The supplied element doesn't support dispatchEvent");else if(ee&&H.click)H.click();else if(typeof H.fireEvent<"u")H.fireEvent("on"+q);else throw Error("Browser doesn't support triggering events");else o(H).trigger(q)},f:function(H){return f.O(H)?H():H},bc:function(H){return f.O(H)?H.v():H},Eb:function(H,q,ee){var pe;q&&(typeof H.classList=="object"?(pe=H.classList[ee?"add":"remove"],f.a.D(q.match(z),function(_e){pe.call(H.classList,_e)})):typeof H.className.baseVal=="string"?X(H.className,"baseVal",q,ee):X(H,"className",q,ee))},Bb:function(H,q){var ee=f.a.f(q);(ee===null||ee===e)&&(ee="");var pe=f.h.firstChild(H);!pe||pe.nodeType!=3||f.h.nextSibling(pe)?f.h.va(H,[H.ownerDocument.createTextNode(ee)]):pe.data=ee,f.a.Ad(H)},Yc:function(H,q){if(H.name=q,7>=J)try{var ee=H.name.replace(/[&<>'"]/g,function(pe){return"&#"+pe.charCodeAt(0)+";"});H.mergeAttributes(n.createElement("<input name='"+ee+"'/>"),!1)}catch{}},Ad:function(H){9<=J&&(H=H.nodeType==1?H:H.parentNode,H.style&&(H.style.zoom=H.style.zoom))},wd:function(H){if(J){var q=H.style.width;H.style.width=0,H.style.width=q}},Pd:function(H,q){H=f.a.f(H),q=f.a.f(q);for(var ee=[],pe=H;pe<=q;pe++)ee.push(pe);return ee},la:function(H){for(var q=[],ee=0,pe=H.length;ee<pe;ee++)q.push(H[ee]);return q},Da:function(H){return O?Symbol(H):H},Zd:J===6,$d:J===7,W:J,Lc:function(H,q){for(var ee=f.a.la(H.getElementsByTagName("input")).concat(f.a.la(H.getElementsByTagName("textarea"))),pe=typeof q=="string"?function(ye){return ye.name===q}:function(ye){return q.test(ye.name)},_e=[],ae=ee.length-1;0<=ae;ae--)pe(ee[ae])&&_e.push(ee[ae]);return _e},Nd:function(H){return typeof H=="string"&&(H=f.a.Db(H))?r&&r.parse?r.parse(H):new Function("return "+H)():null},hc:function(H,q,ee){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(f.a.f(H),q,ee)},Od:function(H,q,ee){ee=ee||{};var pe=ee.params||{},_e=ee.includeFields||this.Jc,ae=H;if(typeof H=="object"&&f.a.R(H)==="form")for(var ae=H.action,ye=_e.length-1;0<=ye;ye--)for(var Te=f.a.Lc(H,_e[ye]),Ie=Te.length-1;0<=Ie;Ie--)pe[Te[Ie].name]=Te[Ie].value;q=f.a.f(q);var Ee=n.createElement("form");Ee.style.display="none",Ee.action=ae,Ee.method="post";for(var ve in q)H=n.createElement("input"),H.type="hidden",H.name=ve,H.value=f.a.hc(f.a.f(q[ve])),Ee.appendChild(H);b(pe,function(we,pt){var rt=n.createElement("input");rt.type="hidden",rt.name=we,rt.value=pt,Ee.appendChild(rt)}),n.body.appendChild(Ee),ee.submitter?ee.submitter(Ee):Ee.submit(),setTimeout(function(){Ee.parentNode.removeChild(Ee)},0)}}}(),f.b("utils",f.a),f.b("utils.arrayForEach",f.a.D),f.b("utils.arrayFirst",f.a.Lb),f.b("utils.arrayFilter",f.a.jb),f.b("utils.arrayGetDistinctValues",f.a.wc),f.b("utils.arrayIndexOf",f.a.A),f.b("utils.arrayMap",f.a.Mb),f.b("utils.arrayPushAll",f.a.Nb),f.b("utils.arrayRemoveItem",f.a.Pa),f.b("utils.cloneNodes",f.a.Ca),f.b("utils.createSymbolOrString",f.a.Da),f.b("utils.extend",f.a.extend),f.b("utils.fieldsIncludedWithJsonPost",f.a.Jc),f.b("utils.getFormFields",f.a.Lc),f.b("utils.objectMap",f.a.Ga),f.b("utils.peekObservable",f.a.bc),f.b("utils.postJson",f.a.Od),f.b("utils.parseJson",f.a.Nd),f.b("utils.registerEventHandler",f.a.B),f.b("utils.stringifyJson",f.a.hc),f.b("utils.range",f.a.Pd),f.b("utils.toggleDomNodeCssClass",f.a.Eb),f.b("utils.triggerEvent",f.a.Fb),f.b("utils.unwrapObservable",f.a.f),f.b("utils.objectForEach",f.a.P),f.b("utils.addOrRemoveItem",f.a.Na),f.b("utils.setTextContent",f.a.Bb),f.b("unwrap",f.a.f),Function.prototype.bind||(Function.prototype.bind=function(b){var R=this;if(arguments.length===1)return function(){return R.apply(b,arguments)};var E=Array.prototype.slice.call(arguments,1);return function(){var X=E.slice(0);return X.push.apply(X,arguments),R.apply(b,X)}}),f.a.g=new function(){var b=0,R="__ko__"+new Date().getTime(),E={},X,A;return f.a.W?(X=function(N,O){var U=N[R];if(!U||U==="null"||!E[U]){if(!O)return e;U=N[R]="ko"+b++,E[U]={}}return E[U]},A=function(N){var O=N[R];return O?(delete E[O],N[R]=null,!0):!1}):(X=function(N,O){var U=N[R];return!U&&O&&(U=N[R]={}),U},A=function(N){return N[R]?(delete N[R],!0):!1}),{get:function(N,O){var U=X(N,!1);return U&&U[O]},set:function(N,O,U){(N=X(N,U!==e))&&(N[O]=U)},Ub:function(N,O,U){return N=X(N,!0),N[O]||(N[O]=U)},clear:A,Z:function(){return b+++R}}},f.b("utils.domData",f.a.g),f.b("utils.domData.clear",f.a.g.clear),f.a.K=new function(){function b(O,U){var Y=f.a.g.get(O,X);return Y===e&&U&&(Y=[],f.a.g.set(O,X,Y)),Y}function R(O){var U=b(O,!1);if(U)for(var U=U.slice(0),Y=0;Y<U.length;Y++)U[Y](O);f.a.g.clear(O),f.a.K.cleanExternalData(O),N[O.nodeType]&&E(O.childNodes,!0)}function E(O,U){for(var Y=[],k,J=0;J<O.length;J++)if((!U||O[J].nodeType===8)&&(R(Y[Y.length]=k=O[J]),O[J]!==k))for(;J--&&f.a.A(Y,O[J])==-1;);}var X=f.a.g.Z(),A={1:!0,8:!0,9:!0},N={1:!0,9:!0};return{za:function(O,U){if(typeof U!="function")throw Error("Callback must be a function");b(O,!0).push(U)},yb:function(O,U){var Y=b(O,!1);Y&&(f.a.Pa(Y,U),Y.length==0&&f.a.g.set(O,X,e))},oa:function(O){return f.u.G(function(){A[O.nodeType]&&(R(O),N[O.nodeType]&&E(O.getElementsByTagName("*")))}),O},removeNode:function(O){f.oa(O),O.parentNode&&O.parentNode.removeChild(O)},cleanExternalData:function(O){o&&typeof o.cleanData=="function"&&o.cleanData([O])}}},f.oa=f.a.K.oa,f.removeNode=f.a.K.removeNode,f.b("cleanNode",f.oa),f.b("removeNode",f.removeNode),f.b("utils.domNodeDisposal",f.a.K),f.b("utils.domNodeDisposal.addDisposeCallback",f.a.K.za),f.b("utils.domNodeDisposal.removeDisposeCallback",f.a.K.yb),function(){var b=[0,"",""],R=[1,"<table>","</table>"],E=[3,"<table><tbody><tr>","</tr></tbody></table>"],X=[1,"<select multiple='multiple'>","</select>"],A={thead:R,tbody:R,tfoot:R,tr:[2,"<table><tbody>","</tbody></table>"],td:E,th:E,option:X,optgroup:X},N=8>=f.a.W;f.a.ua=function(O,U){var Y;if(o){if(o.parseHTML)Y=o.parseHTML(O,U)||[];else if((Y=o.clean([O],U))&&Y[0]){for(var k=Y[0];k.parentNode&&k.parentNode.nodeType!==11;)k=k.parentNode;k.parentNode&&k.parentNode.removeChild(k)}}else{(Y=U)||(Y=n);var k=Y.parentWindow||Y.defaultView||t,J=f.a.Db(O).toLowerCase(),z=Y.createElement("div"),te;for(te=(J=J.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&A[J[1]]||b,J=te[0],te="ignored<div>"+te[1]+O+te[2]+"</div>",typeof k.innerShiv=="function"?z.appendChild(k.innerShiv(te)):(N&&Y.body.appendChild(z),z.innerHTML=te,N&&z.parentNode.removeChild(z));J--;)z=z.lastChild;Y=f.a.la(z.lastChild.childNodes)}return Y},f.a.Md=function(O,U){var Y=f.a.ua(O,U);return Y.length&&Y[0].parentElement||f.a.Yb(Y)},f.a.fc=function(O,U){if(f.a.Tb(O),U=f.a.f(U),U!==null&&U!==e)if(typeof U!="string"&&(U=U.toString()),o)o(O).html(U);else for(var Y=f.a.ua(U,O.ownerDocument),k=0;k<Y.length;k++)O.appendChild(Y[k])}}(),f.b("utils.parseHtmlFragment",f.a.ua),f.b("utils.setHtml",f.a.fc),f.aa=function(){function b(E,X){if(E){if(E.nodeType==8){var A=f.aa.Uc(E.nodeValue);A!=null&&X.push({ud:E,Kd:A})}else if(E.nodeType==1)for(var A=0,N=E.childNodes,O=N.length;A<O;A++)b(N[A],X)}}var R={};return{Xb:function(E){if(typeof E!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var X=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return R[X]=E,"<!--[ko_memo:"+X+"]-->"},bd:function(E,X){var A=R[E];if(A===e)throw Error("Couldn't find any memo with ID "+E+". Perhaps it's already been unmemoized.");try{return A.apply(null,X||[]),!0}finally{delete R[E]}},cd:function(E,X){var A=[];b(E,A);for(var N=0,O=A.length;N<O;N++){var U=A[N].ud,Y=[U];X&&f.a.Nb(Y,X),f.aa.bd(A[N].Kd,Y),U.nodeValue="",U.parentNode&&U.parentNode.removeChild(U)}},Uc:function(E){return(E=E.match(/^\[ko_memo\:(.*?)\]$/))?E[1]:null}}}(),f.b("memoization",f.aa),f.b("memoization.memoize",f.aa.Xb),f.b("memoization.unmemoize",f.aa.bd),f.b("memoization.parseMemoText",f.aa.Uc),f.b("memoization.unmemoizeDomNodeAndDescendants",f.aa.cd),f.na=function(){function b(){if(A){for(var U=A,Y=0,k;O<A;)if(k=X[O++]){if(O>U){if(5e3<=++Y){O=A,f.a.Gc(Error("'Too much recursion' after processing "+Y+" task groups."));break}U=A}try{k()}catch(J){f.a.Gc(J)}}}}function R(){b(),O=A=X.length=0}var E,X=[],A=0,N=1,O=0;return t.MutationObserver?E=function(U){var Y=n.createElement("div");return new MutationObserver(U).observe(Y,{attributes:!0}),function(){Y.classList.toggle("foo")}}(R):E=n&&"onreadystatechange"in n.createElement("script")?function(U){var Y=n.createElement("script");Y.onreadystatechange=function(){Y.onreadystatechange=null,n.documentElement.removeChild(Y),Y=null,U()},n.documentElement.appendChild(Y)}:function(U){setTimeout(U,0)},{scheduler:E,zb:function(U){return A||f.na.scheduler(R),X[A++]=U,N++},cancel:function(U){U=U-(N-A),U>=O&&U<A&&(X[U]=null)},resetForTesting:function(){var U=A-O;return O=A=X.length=0,U},Sd:b}}(),f.b("tasks",f.na),f.b("tasks.schedule",f.na.zb),f.b("tasks.runEarly",f.na.Sd),f.Ta={throttle:function(b,R){b.throttleEvaluation=R;var E=null;return f.$({read:b,write:function(X){clearTimeout(E),E=f.a.setTimeout(function(){b(X)},R)}})},rateLimit:function(b,R){var E,X,A;typeof R=="number"?E=R:(E=R.timeout,X=R.method),b.Hb=!1,A=typeof X=="function"?X:X=="notifyWhenChangesStop"?u:d,b.ub(function(N){return A(N,E,R)})},deferred:function(b,R){if(R!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");b.Hb||(b.Hb=!0,b.ub(function(E){var X,A=!1;return function(){if(!A){f.na.cancel(X),X=f.na.zb(E);try{A=!0,b.notifySubscribers(e,"dirty")}finally{A=!1}}}}))},notify:function(b,R){b.equalityComparer=R=="always"?null:c}};var x={undefined:1,boolean:1,number:1,string:1};f.b("extenders",f.Ta),f.ic=function(b,R,E){this.da=b,this.lc=R,this.mc=E,this.Ib=!1,this.fb=this.Jb=null,f.L(this,"dispose",this.s),f.L(this,"disposeWhenNodeIsRemoved",this.l)},f.ic.prototype.s=function(){this.Ib||(this.fb&&f.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},f.ic.prototype.l=function(b){this.Jb=b,f.a.K.za(b,this.fb=this.s.bind(this))},f.T=function(){f.a.Ab(this,_),_.qb(this)};var _={qb:function(b){b.U={change:[]},b.sc=1},subscribe:function(b,R,E){var X=this;E=E||"change";var A=new f.ic(X,R?b.bind(R):b,function(){f.a.Pa(X.U[E],A),X.hb&&X.hb(E)});return X.Qa&&X.Qa(E),X.U[E]||(X.U[E]=[]),X.U[E].push(A),A},notifySubscribers:function(b,R){if(R=R||"change",R==="change"&&this.Gb(),this.Wa(R)){var E=R==="change"&&this.ed||this.U[R].slice(0);try{f.u.xc();for(var X=0,A;A=E[X];++X)A.Ib||A.lc(b)}finally{f.u.end()}}},ob:function(){return this.sc},Dd:function(b){return this.ob()!==b},Gb:function(){++this.sc},ub:function(b){var R=this,E=f.O(R),X,A,N,O,U;R.gb||(R.gb=R.notifySubscribers,R.notifySubscribers=m);var Y=b(function(){R.Ja=!1,E&&O===R&&(O=R.nc?R.nc():R());var k=A||U&&R.sb(N,O);U=A=X=!1,k&&R.gb(N=O)});R.qc=function(k,J){J&&R.Ja||(U=!J),R.ed=R.U.change.slice(0),R.Ja=X=!0,O=k,Y()},R.pc=function(k){X||(N=k,R.gb(k,"beforeChange"))},R.rc=function(){U=!0},R.gd=function(){R.sb(N,R.v(!0))&&(A=!0)}},Wa:function(b){return this.U[b]&&this.U[b].length},Bd:function(b){if(b)return this.U[b]&&this.U[b].length||0;var R=0;return f.a.P(this.U,function(E,X){E!=="dirty"&&(R+=X.length)}),R},sb:function(b,R){return!this.equalityComparer||!this.equalityComparer(b,R)},toString:function(){return"[object Object]"},extend:function(b){var R=this;return b&&f.a.P(b,function(E,X){var A=f.Ta[E];typeof A=="function"&&(R=A(R,X)||R)}),R}};f.L(_,"init",_.qb),f.L(_,"subscribe",_.subscribe),f.L(_,"extend",_.extend),f.L(_,"getSubscriptionsCount",_.Bd),f.a.Ba&&f.a.setPrototypeOf(_,Function.prototype),f.T.fn=_,f.Qc=function(b){return b!=null&&typeof b.subscribe=="function"&&typeof b.notifySubscribers=="function"},f.b("subscribable",f.T),f.b("isSubscribable",f.Qc),f.S=f.u=function(){function b(N){E.push(X),X=N}function R(){X=E.pop()}var E=[],X,A=0;return{xc:b,end:R,cc:function(N){if(X){if(!f.Qc(N))throw Error("Only subscribable things can act as dependencies");X.od.call(X.pd,N,N.fd||(N.fd=++A))}},G:function(N,O,U){try{return b(),N.apply(O,U||[])}finally{R()}},qa:function(){if(X)return X.o.qa()},Va:function(){if(X)return X.o.Va()},Ya:function(){if(X)return X.Ya},o:function(){if(X)return X.o}}}(),f.b("computedContext",f.S),f.b("computedContext.getDependenciesCount",f.S.qa),f.b("computedContext.getDependencies",f.S.Va),f.b("computedContext.isInitial",f.S.Ya),f.b("computedContext.registerDependency",f.S.cc),f.b("ignoreDependencies",f.Yd=f.u.G);var C=f.a.Da("_latestValue");f.ta=function(b){function R(){return 0<arguments.length?(R.sb(R[C],arguments[0])&&(R.ya(),R[C]=arguments[0],R.xa()),this):(f.u.cc(R),R[C])}return R[C]=b,f.a.Ba||f.a.extend(R,f.T.fn),f.T.fn.qb(R),f.a.Ab(R,V),f.options.deferUpdates&&f.Ta.deferred(R,!0),R};var V={equalityComparer:c,v:function(){return this[C]},xa:function(){this.notifySubscribers(this[C],"spectate"),this.notifySubscribers(this[C])},ya:function(){this.notifySubscribers(this[C],"beforeChange")}};f.a.Ba&&f.a.setPrototypeOf(V,f.T.fn);var L=f.ta.Ma="__ko_proto__";V[L]=f.ta,f.O=function(b){if((b=typeof b=="function"&&b[L])&&b!==V[L]&&b!==f.o.fn[L])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b},f.Za=function(b){return typeof b=="function"&&(b[L]===V[L]||b[L]===f.o.fn[L]&&b.Nc)},f.b("observable",f.ta),f.b("isObservable",f.O),f.b("isWriteableObservable",f.Za),f.b("isWritableObservable",f.Za),f.b("observable.fn",V),f.L(V,"peek",V.v),f.L(V,"valueHasMutated",V.xa),f.L(V,"valueWillMutate",V.ya),f.Ha=function(b){if(b=b||[],typeof b!="object"||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return b=f.ta(b),f.a.Ab(b,f.Ha.fn),b.extend({trackArrayChanges:!0})},f.Ha.fn={remove:function(b){for(var R=this.v(),E=[],X=typeof b!="function"||f.O(b)?function(O){return O===b}:b,A=0;A<R.length;A++){var N=R[A];if(X(N)){if(E.length===0&&this.ya(),R[A]!==N)throw Error("Array modified during remove; cannot remove item");E.push(N),R.splice(A,1),A--}}return E.length&&this.xa(),E},removeAll:function(b){if(b===e){var R=this.v(),E=R.slice(0);return this.ya(),R.splice(0,R.length),this.xa(),E}return b?this.remove(function(X){return 0<=f.a.A(b,X)}):[]},destroy:function(b){var R=this.v(),E=typeof b!="function"||f.O(b)?function(N){return N===b}:b;this.ya();for(var X=R.length-1;0<=X;X--){var A=R[X];E(A)&&(A._destroy=!0)}this.xa()},destroyAll:function(b){return b===e?this.destroy(function(){return!0}):b?this.destroy(function(R){return 0<=f.a.A(b,R)}):[]},indexOf:function(b){var R=this();return f.a.A(R,b)},replace:function(b,R){var E=this.indexOf(b);0<=E&&(this.ya(),this.v()[E]=R,this.xa())},sorted:function(b){var R=this().slice(0);return b?R.sort(b):R.sort()},reversed:function(){return this().slice(0).reverse()}},f.a.Ba&&f.a.setPrototypeOf(f.Ha.fn,f.ta.fn),f.a.D("pop push reverse shift sort splice unshift".split(" "),function(b){f.Ha.fn[b]=function(){var R=this.v();this.ya(),this.zc(R,b,arguments);var E=R[b].apply(R,arguments);return this.xa(),E===R?this:E}}),f.a.D(["slice"],function(b){f.Ha.fn[b]=function(){var R=this();return R[b].apply(R,arguments)}}),f.Pc=function(b){return f.O(b)&&typeof b.remove=="function"&&typeof b.push=="function"},f.b("observableArray",f.Ha),f.b("isObservableArray",f.Pc),f.Ta.trackArrayChanges=function(b,R){function E(){function z(){if(U){var te=[].concat(b.v()||[]),H;b.Wa("arrayChange")&&((!A||1<U)&&(A=f.a.Pb(Y,te,b.Ob)),H=A),Y=te,A=null,U=0,H&&H.length&&b.notifySubscribers(H,"arrayChange")}}X?z():(X=!0,O=b.subscribe(function(){++U},null,"spectate"),Y=[].concat(b.v()||[]),A=null,N=b.subscribe(z))}if(b.Ob={},R&&typeof R=="object"&&f.a.extend(b.Ob,R),b.Ob.sparse=!0,!b.zc){var X=!1,A=null,N,O,U=0,Y,k=b.Qa,J=b.hb;b.Qa=function(z){k&&k.call(b,z),z==="arrayChange"&&E()},b.hb=function(z){J&&J.call(b,z),z!=="arrayChange"||b.Wa("arrayChange")||(N&&N.s(),O&&O.s(),O=N=null,X=!1,Y=e)},b.zc=function(z,te,H){function q(Ee,ve,we){return ee[ee.length]={status:Ee,value:ve,index:we}}if(X&&!U){var ee=[],pe=z.length,_e=H.length,ae=0;switch(te){case"push":ae=pe;case"unshift":for(te=0;te<_e;te++)q("added",H[te],ae+te);break;case"pop":ae=pe-1;case"shift":pe&&q("deleted",z[ae],ae);break;case"splice":te=Math.min(Math.max(0,0>H[0]?pe+H[0]:H[0]),pe);for(var pe=_e===1?pe:Math.min(te+(H[1]||0),pe),_e=te+_e-2,ae=Math.max(pe,_e),ye=[],Te=[],Ie=2;te<ae;++te,++Ie)te<pe&&Te.push(q("deleted",z[te],te)),te<_e&&ye.push(q("added",H[Ie],te));f.a.Kc(Te,ye);break;default:return}A=ee}}}};var Z=f.a.Da("_state");f.o=f.$=function(b,R,E){function X(){if(0<arguments.length){if(typeof A=="function")A.apply(N.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return N.ra||f.u.cc(X),(N.ka||N.J&&X.Xa())&&X.ha(),N.X}if(typeof b=="object"?E=b:(E=E||{},b&&(E.read=b)),typeof E.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var A=E.write,N={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:E.read,nb:R||E.owner,l:E.disposeWhenNodeIsRemoved||E.l||null,Sa:E.disposeWhen||E.Sa,Rb:null,I:{},V:0,Ic:null};return X[Z]=N,X.Nc=typeof A=="function",f.a.Ba||f.a.extend(X,f.T.fn),f.T.fn.qb(X),f.a.Ab(X,G),E.pure?(N.wb=!0,N.J=!0,f.a.extend(X,I)):E.deferEvaluation&&f.a.extend(X,v),f.options.deferUpdates&&f.Ta.deferred(X,!0),N.l&&(N.jc=!0,N.l.nodeType||(N.l=null)),N.J||E.deferEvaluation||X.ha(),N.l&&X.ja()&&f.a.K.za(N.l,N.Rb=function(){X.s()}),X};var G={equalityComparer:c,qa:function(){return this[Z].V},Va:function(){var b=[];return f.a.P(this[Z].I,function(R,E){b[E.Ka]=E.da}),b},Vb:function(b){if(!this[Z].V)return!1;var R=this.Va();return f.a.A(R,b)!==-1?!0:!!f.a.Lb(R,function(E){return E.Vb&&E.Vb(b)})},uc:function(b,R,E){if(this[Z].wb&&R===this)throw Error("A 'pure' computed must not be called recursively");this[Z].I[b]=E,E.Ka=this[Z].V++,E.La=R.ob()},Xa:function(){var b,R,E=this[Z].I;for(b in E)if(Object.prototype.hasOwnProperty.call(E,b)&&(R=E[b],this.Ia&&R.da.Ja||R.da.Dd(R.La)))return!0},Jd:function(){this.Ia&&!this[Z].rb&&this.Ia(!1)},ja:function(){var b=this[Z];return b.ka||0<b.V},Rd:function(){this.Ja?this[Z].ka&&(this[Z].sa=!0):this.Hc()},$c:function(b){if(b.Hb){var R=b.subscribe(this.Jd,this,"dirty"),E=b.subscribe(this.Rd,this);return{da:b,s:function(){R.s(),E.s()}}}return b.subscribe(this.Hc,this)},Hc:function(){var b=this,R=b.throttleEvaluation;R&&0<=R?(clearTimeout(this[Z].Ic),this[Z].Ic=f.a.setTimeout(function(){b.ha(!0)},R)):b.Ia?b.Ia(!0):b.ha(!0)},ha:function(b){var R=this[Z],E=R.Sa,X=!1;if(!R.rb&&!R.ra){if(R.l&&!f.a.Sb(R.l)||E&&E()){if(!R.jc){this.s();return}}else R.jc=!1;R.rb=!0;try{X=this.zd(b)}finally{R.rb=!1}return X}},zd:function(b){var R=this[Z],X=!1,E=R.wb?e:!R.V,X={qd:this,mb:R.I,Qb:R.V};f.u.xc({pd:X,od:g,o:this,Ya:E}),R.I={},R.V=0;var A=this.yd(R,X);return R.V?X=this.sb(R.X,A):(this.s(),X=!0),X&&(R.J?this.Gb():this.notifySubscribers(R.X,"beforeChange"),R.X=A,this.notifySubscribers(R.X,"spectate"),!R.J&&b&&this.notifySubscribers(R.X),this.rc&&this.rc()),E&&this.notifySubscribers(R.X,"awake"),X},yd:function(b,R){try{var E=b.Wc;return b.nb?E.call(b.nb):E()}finally{f.u.end(),R.Qb&&!b.J&&f.a.P(R.mb,p),b.sa=b.ka=!1}},v:function(b){var R=this[Z];return(R.ka&&(b||!R.V)||R.J&&this.Xa())&&this.ha(),R.X},ub:function(b){f.T.fn.ub.call(this,b),this.nc=function(){return this[Z].J||(this[Z].sa?this.ha():this[Z].ka=!1),this[Z].X},this.Ia=function(R){this.pc(this[Z].X),this[Z].ka=!0,R&&(this[Z].sa=!0),this.qc(this,!R)}},s:function(){var b=this[Z];!b.J&&b.I&&f.a.P(b.I,function(R,E){E.s&&E.s()}),b.l&&b.Rb&&f.a.K.yb(b.l,b.Rb),b.I=e,b.V=0,b.ra=!0,b.sa=!1,b.ka=!1,b.J=!1,b.l=e,b.Sa=e,b.Wc=e,this.Nc||(b.nb=e)}},I={Qa:function(b){var R=this,E=R[Z];if(!E.ra&&E.J&&b=="change"){if(E.J=!1,E.sa||R.Xa())E.I=null,E.V=0,R.ha()&&R.Gb();else{var X=[];f.a.P(E.I,function(A,N){X[N.Ka]=A}),f.a.D(X,function(A,N){var O=E.I[A],U=R.$c(O.da);U.Ka=N,U.La=O.La,E.I[A]=U}),R.Xa()&&R.ha()&&R.Gb()}E.ra||R.notifySubscribers(E.X,"awake")}},hb:function(b){var R=this[Z];R.ra||b!="change"||this.Wa("change")||(f.a.P(R.I,function(E,X){X.s&&(R.I[E]={da:X.da,Ka:X.Ka,La:X.La},X.s())}),R.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var b=this[Z];return b.J&&(b.sa||this.Xa())&&this.ha(),f.T.fn.ob.call(this)}},v={Qa:function(b){b!="change"&&b!="beforeChange"||this.v()}};f.a.Ba&&f.a.setPrototypeOf(G,f.T.fn);var P=f.ta.Ma;G[P]=f.o,f.Oc=function(b){return typeof b=="function"&&b[P]===G[P]},f.Fd=function(b){return f.Oc(b)&&b[Z]&&b[Z].wb},f.b("computed",f.o),f.b("dependentObservable",f.o),f.b("isComputed",f.Oc),f.b("isPureComputed",f.Fd),f.b("computed.fn",G),f.L(G,"peek",G.v),f.L(G,"dispose",G.s),f.L(G,"isActive",G.ja),f.L(G,"getDependenciesCount",G.qa),f.L(G,"getDependencies",G.Va),f.xb=function(b,R){return typeof b=="function"?f.o(b,R,{pure:!0}):(b=f.a.extend({},b),b.pure=!0,f.o(b,R))},f.b("pureComputed",f.xb),function(){function b(X,A,N){if(N=N||new E,X=A(X),typeof X!="object"||X===null||X===e||X instanceof RegExp||X instanceof Date||X instanceof String||X instanceof Number||X instanceof Boolean)return X;var O=X instanceof Array?[]:{};return N.save(X,O),R(X,function(U){var Y=A(X[U]);switch(typeof Y){case"boolean":case"number":case"string":case"function":O[U]=Y;break;case"object":case"undefined":var k=N.get(Y);O[U]=k!==e?k:b(Y,A,N)}}),O}function R(X,A){if(X instanceof Array){for(var N=0;N<X.length;N++)A(N);typeof X.toJSON=="function"&&A("toJSON")}else for(N in X)A(N)}function E(){this.keys=[],this.values=[]}f.ad=function(X){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return b(X,function(A){for(var N=0;f.O(A)&&10>N;N++)A=A();return A})},f.toJSON=function(X,A,N){return X=f.ad(X),f.a.hc(X,A,N)},E.prototype={constructor:E,save:function(X,A){var N=f.a.A(this.keys,X);0<=N?this.values[N]=A:(this.keys.push(X),this.values.push(A))},get:function(X){return X=f.a.A(this.keys,X),0<=X?this.values[X]:e}}}(),f.b("toJS",f.ad),f.b("toJSON",f.toJSON),f.Wd=function(b,R,E){function X(A){var N=f.xb(b,E).extend({ma:"always"}),O=N.subscribe(function(U){U&&(O.s(),A(U))});return N.notifySubscribers(N.v()),O}return typeof Promise!="function"||R?X(R.bind(E)):new Promise(X)},f.b("when",f.Wd),function(){f.w={M:function(b){switch(f.a.R(b)){case"option":return b.__ko__hasDomDataOptionValue__===!0?f.a.g.get(b,f.c.options.$b):7>=f.a.W?b.getAttributeNode("value")&&b.getAttributeNode("value").specified?b.value:b.text:b.value;case"select":return 0<=b.selectedIndex?f.w.M(b.options[b.selectedIndex]):e;default:return b.value}},cb:function(b,R,E){switch(f.a.R(b)){case"option":typeof R=="string"?(f.a.g.set(b,f.c.options.$b,e),"__ko__hasDomDataOptionValue__"in b&&delete b.__ko__hasDomDataOptionValue__,b.value=R):(f.a.g.set(b,f.c.options.$b,R),b.__ko__hasDomDataOptionValue__=!0,b.value=typeof R=="number"?R:"");break;case"select":(R===""||R===null)&&(R=e);for(var X=-1,A=0,N=b.options.length,O;A<N;++A)if(O=f.w.M(b.options[A]),O==R||O===""&&R===e){X=A;break}(E||0<=X||R===e&&1<b.size)&&(b.selectedIndex=X,f.a.W===6&&f.a.setTimeout(function(){b.selectedIndex=X},0));break;default:(R===null||R===e)&&(R=""),b.value=R}}}}(),f.b("selectExtensions",f.w),f.b("selectExtensions.readValue",f.w.M),f.b("selectExtensions.writeValue",f.w.cb),f.m=function(){function b(U){U=f.a.Db(U),U.charCodeAt(0)===123&&(U=U.slice(1,-1)),U+=` -,`;var Y=[],k=U.match(X),J,z=[],te=0;if(1<k.length){for(var H=0,q;q=k[H];++H){var ee=q.charCodeAt(0);if(ee===44){if(0>=te){Y.push(J&&z.length?{key:J,value:z.join("")}:{unknown:J||z.join("")}),J=te=0,z=[];continue}}else if(ee===58){if(!te&&!J&&z.length===1){J=z.pop();continue}}else{if(ee===47&&1<q.length&&(q.charCodeAt(1)===47||q.charCodeAt(1)===42))continue;ee===47&&H&&1<q.length?(ee=k[H-1].match(A))&&!N[ee[0]]&&(U=U.substr(U.indexOf(q)+1),k=U.match(X),H=-1,q="/"):ee===40||ee===123||ee===91?++te:ee===41||ee===125||ee===93?--te:J||z.length||ee!==34&&ee!==39||(q=q.slice(1,-1))}z.push(q)}if(0<te)throw Error("Unbalanced parentheses, braces, or brackets")}return Y}var R=["true","false","null","undefined"],E=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,X=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* -|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),A=/[\])"'A-Za-z0-9_$]+$/,N={in:1,return:1,typeof:1},O={};return{Ra:[],wa:O,ac:b,vb:function(U,Y){function k(ee,pe){var _e;if(!H){var ae=f.getBindingHandler(ee);if(ae&&ae.preprocess&&!(pe=ae.preprocess(pe,ee,k)))return;(ae=O[ee])&&(_e=pe,0<=f.a.A(R,_e)?_e=!1:(ae=_e.match(E),_e=ae===null?!1:ae[1]?"Object("+ae[1]+")"+ae[2]:_e),ae=_e),ae&&z.push("'"+(typeof O[ee]=="string"?O[ee]:ee)+"':function(_z){"+_e+"=_z}")}te&&(pe="function(){return "+pe+" }"),J.push("'"+ee+"':"+pe)}Y=Y||{};var J=[],z=[],te=Y.valueAccessors,H=Y.bindingParams,q=typeof U=="string"?b(U):U;return f.a.D(q,function(ee){k(ee.key||ee.unknown,ee.value)}),z.length&&k("_ko_property_writers","{"+z.join(",")+" }"),J.join(",")},Id:function(U,Y){for(var k=0;k<U.length;k++)if(U[k].key==Y)return!0;return!1},eb:function(U,Y,k,J,z){U&&f.O(U)?!f.Za(U)||z&&U.v()===J||U(J):(U=Y.get("_ko_property_writers"))&&U[k]&&U[k](J)}}}(),f.b("expressionRewriting",f.m),f.b("expressionRewriting.bindingRewriteValidators",f.m.Ra),f.b("expressionRewriting.parseObjectLiteral",f.m.ac),f.b("expressionRewriting.preProcessBindings",f.m.vb),f.b("expressionRewriting._twoWayBindings",f.m.wa),f.b("jsonExpressionRewriting",f.m),f.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",f.m.vb),function(){function b(k){return k.nodeType==8&&N.test(A?k.text:k.nodeValue)}function R(k){return k.nodeType==8&&O.test(A?k.text:k.nodeValue)}function E(k,J){for(var z=k,te=1,H=[];z=z.nextSibling;){if(R(z)&&(f.a.g.set(z,Y,!0),te--,te===0))return H;H.push(z),b(z)&&te++}if(!J)throw Error("Cannot find closing comment tag to match: "+k.nodeValue);return null}function X(k,J){var z=E(k,J);return z?0<z.length?z[z.length-1].nextSibling:k.nextSibling:null}var A=n&&n.createComment("test").text==="<!--test-->",N=A?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,O=A?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,U={ul:!0,ol:!0},Y="__ko_matchedEndComment__";f.h={ea:{},childNodes:function(k){return b(k)?E(k):k.childNodes},Ea:function(k){if(b(k)){k=f.h.childNodes(k);for(var J=0,z=k.length;J<z;J++)f.removeNode(k[J])}else f.a.Tb(k)},va:function(k,J){if(b(k)){f.h.Ea(k);for(var z=k.nextSibling,te=0,H=J.length;te<H;te++)z.parentNode.insertBefore(J[te],z)}else f.a.va(k,J)},Vc:function(k,J){var z;b(k)?(z=k.nextSibling,k=k.parentNode):z=k.firstChild,z?J!==z&&k.insertBefore(J,z):k.appendChild(J)},Wb:function(k,J,z){z?(z=z.nextSibling,b(k)&&(k=k.parentNode),z?J!==z&&k.insertBefore(J,z):k.appendChild(J)):f.h.Vc(k,J)},firstChild:function(k){if(b(k))return!k.nextSibling||R(k.nextSibling)?null:k.nextSibling;if(k.firstChild&&R(k.firstChild))throw Error("Found invalid end comment, as the first child of "+k);return k.firstChild},nextSibling:function(k){if(b(k)&&(k=X(k)),k.nextSibling&&R(k.nextSibling)){var J=k.nextSibling;if(R(J)&&!f.a.g.get(J,Y))throw Error("Found end comment without a matching opening comment, as child of "+k);return null}return k.nextSibling},Cd:b,Vd:function(k){return(k=(A?k.text:k.nodeValue).match(N))?k[1]:null},Sc:function(k){if(U[f.a.R(k)]){var J=k.firstChild;if(J)do if(J.nodeType===1){var z;z=J.firstChild;var te=null;if(z)do if(te)te.push(z);else if(b(z)){var H=X(z,!0);H?z=H:te=[z]}else R(z)&&(te=[z]);while(z=z.nextSibling);if(z=te)for(te=J.nextSibling,H=0;H<z.length;H++)te?k.insertBefore(z[H],te):k.appendChild(z[H])}while(J=J.nextSibling)}}}}(),f.b("virtualElements",f.h),f.b("virtualElements.allowedBindings",f.h.ea),f.b("virtualElements.emptyNode",f.h.Ea),f.b("virtualElements.insertAfter",f.h.Wb),f.b("virtualElements.prepend",f.h.Vc),f.b("virtualElements.setDomNodeChildren",f.h.va),function(){f.ga=function(){this.nd={}},f.a.extend(f.ga.prototype,{nodeHasBindings:function(b){switch(b.nodeType){case 1:return b.getAttribute("data-bind")!=null||f.j.getComponentNameForNode(b);case 8:return f.h.Cd(b);default:return!1}},getBindings:function(b,R){var E=this.getBindingsString(b,R),E=E?this.parseBindingsString(E,R,b):null;return f.j.tc(E,b,R,!1)},getBindingAccessors:function(b,R){var E=this.getBindingsString(b,R),E=E?this.parseBindingsString(E,R,b,{valueAccessors:!0}):null;return f.j.tc(E,b,R,!0)},getBindingsString:function(b){switch(b.nodeType){case 1:return b.getAttribute("data-bind");case 8:return f.h.Vd(b);default:return null}},parseBindingsString:function(b,R,E,X){try{var A=this.nd,N=b+(X&&X.valueAccessors||""),O;if(!(O=A[N])){var U,Y="with($context){with($data||{}){return{"+f.m.vb(b,X)+"}}}";U=new Function("$context","$element",Y),O=A[N]=U}return O(R,E)}catch(k){throw k.message=`Unable to parse bindings. + */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(b,R){return b===null||typeof b in x?b===R:!1}function d(b,R){var E;return function(){E||(E=f.a.setTimeout(function(){E=e,b()},R))}}function u(b,R){var E;return function(){clearTimeout(E),E=f.a.setTimeout(b,R)}}function m(b,R){R&&R!=="change"?R==="beforeChange"?this.pc(b):this.gb(b,R):this.qc(b)}function p(b,R){R!==null&&R.s&&R.s()}function g(b,R){var E=this.qd,X=E[Z];X.ra||(this.Qb&&this.mb[R]?(E.uc(R,b,this.mb[R]),this.mb[R]=null,--this.Qb):X.I[R]||E.uc(R,b,X.J?{da:b}:E.$c(b)),b.Ja&&b.gd())}var f=typeof s<"u"?s:{};f.b=function(b,R){for(var E=b.split("."),X=f,F=0;F<E.length-1;F++)X=X[E[F]];X[E[E.length-1]]=R},f.L=function(b,R,E){b[R]=E},f.version="3.5.1",f.b("version",f.version),f.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},f.a=function(){function b(z,q){for(var ee in z)F.call(z,ee)&&q(ee,z[ee])}function R(z,q){if(q)for(var ee in q)F.call(q,ee)&&(z[ee]=q[ee]);return z}function E(z,q){return z.__proto__=q,z}function X(z,q,ee,pe){var _e=z[q].match(J)||[];f.a.D(ee.match(J),function(ae){f.a.Na(_e,ae,pe)}),z[q]=_e.join(" ")}var F=Object.prototype.hasOwnProperty,N={__proto__:[]}instanceof Array,O=typeof Symbol=="function",U={},Y={};U[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],U.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),b(U,function(z,q){if(q.length)for(var ee=0,pe=q.length;ee<pe;ee++)Y[q[ee]]=z});var k={propertychange:!0},H=n&&function(){for(var z=3,q=n.createElement("div"),ee=q.getElementsByTagName("i");q.innerHTML="<!--[if gt IE "+ ++z+"]><i></i><![endif]-->",ee[0];);return 4<z?z:e}(),J=/\S+/g,te;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(z,q,ee){for(var pe=0,_e=z.length;pe<_e;pe++)q.call(ee,z[pe],pe,z)},A:typeof Array.prototype.indexOf=="function"?function(z,q){return Array.prototype.indexOf.call(z,q)}:function(z,q){for(var ee=0,pe=z.length;ee<pe;ee++)if(z[ee]===q)return ee;return-1},Lb:function(z,q,ee){for(var pe=0,_e=z.length;pe<_e;pe++)if(q.call(ee,z[pe],pe,z))return z[pe];return e},Pa:function(z,q){var ee=f.a.A(z,q);0<ee?z.splice(ee,1):ee===0&&z.shift()},wc:function(z){var q=[];return z&&f.a.D(z,function(ee){0>f.a.A(q,ee)&&q.push(ee)}),q},Mb:function(z,q,ee){var pe=[];if(z)for(var _e=0,ae=z.length;_e<ae;_e++)pe.push(q.call(ee,z[_e],_e));return pe},jb:function(z,q,ee){var pe=[];if(z)for(var _e=0,ae=z.length;_e<ae;_e++)q.call(ee,z[_e],_e)&&pe.push(z[_e]);return pe},Nb:function(z,q){if(q instanceof Array)z.push.apply(z,q);else for(var ee=0,pe=q.length;ee<pe;ee++)z.push(q[ee]);return z},Na:function(z,q,ee){var pe=f.a.A(f.a.bc(z),q);0>pe?ee&&z.push(q):ee||z.splice(pe,1)},Ba:N,extend:R,setPrototypeOf:E,Ab:N?E:R,P:b,Ga:function(z,q,ee){if(!z)return z;var pe={},_e;for(_e in z)F.call(z,_e)&&(pe[_e]=q.call(ee,z[_e],_e,z));return pe},Tb:function(z){for(;z.firstChild;)f.removeNode(z.firstChild)},Yb:function(z){z=f.a.la(z);for(var q=(z[0]&&z[0].ownerDocument||n).createElement("div"),ee=0,pe=z.length;ee<pe;ee++)q.appendChild(f.oa(z[ee]));return q},Ca:function(z,q){for(var ee=0,pe=z.length,_e=[];ee<pe;ee++){var ae=z[ee].cloneNode(!0);_e.push(q?f.oa(ae):ae)}return _e},va:function(z,q){if(f.a.Tb(z),q)for(var ee=0,pe=q.length;ee<pe;ee++)z.appendChild(q[ee])},Xc:function(z,q){var ee=z.nodeType?[z]:z;if(0<ee.length){for(var pe=ee[0],_e=pe.parentNode,ae=0,ye=q.length;ae<ye;ae++)_e.insertBefore(q[ae],pe);for(ae=0,ye=ee.length;ae<ye;ae++)f.removeNode(ee[ae])}},Ua:function(z,q){if(z.length){for(q=q.nodeType===8&&q.parentNode||q;z.length&&z[0].parentNode!==q;)z.splice(0,1);for(;1<z.length&&z[z.length-1].parentNode!==q;)z.length--;if(1<z.length){var ee=z[0],pe=z[z.length-1];for(z.length=0;ee!==pe;)z.push(ee),ee=ee.nextSibling;z.push(pe)}}return z},Zc:function(z,q){7>H?z.setAttribute("selected",q):z.selected=q},Db:function(z){return z===null||z===e?"":z.trim?z.trim():z.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(z,q){return z=z||"",q.length>z.length?!1:z.substring(0,q.length)===q},vd:function(z,q){if(z===q)return!0;if(z.nodeType===11)return!1;if(q.contains)return q.contains(z.nodeType!==1?z.parentNode:z);if(q.compareDocumentPosition)return(q.compareDocumentPosition(z)&16)==16;for(;z&&z!=q;)z=z.parentNode;return!!z},Sb:function(z){return f.a.vd(z,z.ownerDocument.documentElement)},kd:function(z){return!!f.a.Lb(z,f.a.Sb)},R:function(z){return z&&z.tagName&&z.tagName.toLowerCase()},Ac:function(z){return f.onError?function(){try{return z.apply(this,arguments)}catch(q){throw f.onError&&f.onError(q),q}}:z},setTimeout:function(z,q){return setTimeout(f.a.Ac(z),q)},Gc:function(z){setTimeout(function(){throw f.onError&&f.onError(z),z},0)},B:function(z,q,ee){var pe=f.a.Ac(ee);if(ee=k[q],f.options.useOnlyNativeEvents||ee||!o)if(ee||typeof z.addEventListener!="function")if(typeof z.attachEvent<"u"){var _e=function(ye){pe.call(z,ye)},ae="on"+q;z.attachEvent(ae,_e),f.a.K.za(z,function(){z.detachEvent(ae,_e)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else z.addEventListener(q,pe,!1);else te||(te=typeof o(z).on=="function"?"on":"bind"),o(z)[te](q,pe)},Fb:function(z,q){if(!z||!z.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var ee;if(f.a.R(z)==="input"&&z.type&&q.toLowerCase()=="click"?(ee=z.type,ee=ee=="checkbox"||ee=="radio"):ee=!1,f.options.useOnlyNativeEvents||!o||ee)if(typeof n.createEvent=="function")if(typeof z.dispatchEvent=="function")ee=n.createEvent(Y[q]||"HTMLEvents"),ee.initEvent(q,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,z),z.dispatchEvent(ee);else throw Error("The supplied element doesn't support dispatchEvent");else if(ee&&z.click)z.click();else if(typeof z.fireEvent<"u")z.fireEvent("on"+q);else throw Error("Browser doesn't support triggering events");else o(z).trigger(q)},f:function(z){return f.O(z)?z():z},bc:function(z){return f.O(z)?z.v():z},Eb:function(z,q,ee){var pe;q&&(typeof z.classList=="object"?(pe=z.classList[ee?"add":"remove"],f.a.D(q.match(J),function(_e){pe.call(z.classList,_e)})):typeof z.className.baseVal=="string"?X(z.className,"baseVal",q,ee):X(z,"className",q,ee))},Bb:function(z,q){var ee=f.a.f(q);(ee===null||ee===e)&&(ee="");var pe=f.h.firstChild(z);!pe||pe.nodeType!=3||f.h.nextSibling(pe)?f.h.va(z,[z.ownerDocument.createTextNode(ee)]):pe.data=ee,f.a.Ad(z)},Yc:function(z,q){if(z.name=q,7>=H)try{var ee=z.name.replace(/[&<>'"]/g,function(pe){return"&#"+pe.charCodeAt(0)+";"});z.mergeAttributes(n.createElement("<input name='"+ee+"'/>"),!1)}catch{}},Ad:function(z){9<=H&&(z=z.nodeType==1?z:z.parentNode,z.style&&(z.style.zoom=z.style.zoom))},wd:function(z){if(H){var q=z.style.width;z.style.width=0,z.style.width=q}},Pd:function(z,q){z=f.a.f(z),q=f.a.f(q);for(var ee=[],pe=z;pe<=q;pe++)ee.push(pe);return ee},la:function(z){for(var q=[],ee=0,pe=z.length;ee<pe;ee++)q.push(z[ee]);return q},Da:function(z){return O?Symbol(z):z},Zd:H===6,$d:H===7,W:H,Lc:function(z,q){for(var ee=f.a.la(z.getElementsByTagName("input")).concat(f.a.la(z.getElementsByTagName("textarea"))),pe=typeof q=="string"?function(ye){return ye.name===q}:function(ye){return q.test(ye.name)},_e=[],ae=ee.length-1;0<=ae;ae--)pe(ee[ae])&&_e.push(ee[ae]);return _e},Nd:function(z){return typeof z=="string"&&(z=f.a.Db(z))?r&&r.parse?r.parse(z):new Function("return "+z)():null},hc:function(z,q,ee){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(f.a.f(z),q,ee)},Od:function(z,q,ee){ee=ee||{};var pe=ee.params||{},_e=ee.includeFields||this.Jc,ae=z;if(typeof z=="object"&&f.a.R(z)==="form")for(var ae=z.action,ye=_e.length-1;0<=ye;ye--)for(var Te=f.a.Lc(z,_e[ye]),Xe=Te.length-1;0<=Xe;Xe--)pe[Te[Xe].name]=Te[Xe].value;q=f.a.f(q);var Ie=n.createElement("form");Ie.style.display="none",Ie.action=ae,Ie.method="post";for(var Ae in q)z=n.createElement("input"),z.type="hidden",z.name=Ae,z.value=f.a.hc(f.a.f(q[Ae])),Ie.appendChild(z);b(pe,function(Ve,Ne){var De=n.createElement("input");De.type="hidden",De.name=Ve,De.value=Ne,Ie.appendChild(De)}),n.body.appendChild(Ie),ee.submitter?ee.submitter(Ie):Ie.submit(),setTimeout(function(){Ie.parentNode.removeChild(Ie)},0)}}}(),f.b("utils",f.a),f.b("utils.arrayForEach",f.a.D),f.b("utils.arrayFirst",f.a.Lb),f.b("utils.arrayFilter",f.a.jb),f.b("utils.arrayGetDistinctValues",f.a.wc),f.b("utils.arrayIndexOf",f.a.A),f.b("utils.arrayMap",f.a.Mb),f.b("utils.arrayPushAll",f.a.Nb),f.b("utils.arrayRemoveItem",f.a.Pa),f.b("utils.cloneNodes",f.a.Ca),f.b("utils.createSymbolOrString",f.a.Da),f.b("utils.extend",f.a.extend),f.b("utils.fieldsIncludedWithJsonPost",f.a.Jc),f.b("utils.getFormFields",f.a.Lc),f.b("utils.objectMap",f.a.Ga),f.b("utils.peekObservable",f.a.bc),f.b("utils.postJson",f.a.Od),f.b("utils.parseJson",f.a.Nd),f.b("utils.registerEventHandler",f.a.B),f.b("utils.stringifyJson",f.a.hc),f.b("utils.range",f.a.Pd),f.b("utils.toggleDomNodeCssClass",f.a.Eb),f.b("utils.triggerEvent",f.a.Fb),f.b("utils.unwrapObservable",f.a.f),f.b("utils.objectForEach",f.a.P),f.b("utils.addOrRemoveItem",f.a.Na),f.b("utils.setTextContent",f.a.Bb),f.b("unwrap",f.a.f),Function.prototype.bind||(Function.prototype.bind=function(b){var R=this;if(arguments.length===1)return function(){return R.apply(b,arguments)};var E=Array.prototype.slice.call(arguments,1);return function(){var X=E.slice(0);return X.push.apply(X,arguments),R.apply(b,X)}}),f.a.g=new function(){var b=0,R="__ko__"+new Date().getTime(),E={},X,F;return f.a.W?(X=function(N,O){var U=N[R];if(!U||U==="null"||!E[U]){if(!O)return e;U=N[R]="ko"+b++,E[U]={}}return E[U]},F=function(N){var O=N[R];return O?(delete E[O],N[R]=null,!0):!1}):(X=function(N,O){var U=N[R];return!U&&O&&(U=N[R]={}),U},F=function(N){return N[R]?(delete N[R],!0):!1}),{get:function(N,O){var U=X(N,!1);return U&&U[O]},set:function(N,O,U){(N=X(N,U!==e))&&(N[O]=U)},Ub:function(N,O,U){return N=X(N,!0),N[O]||(N[O]=U)},clear:F,Z:function(){return b+++R}}},f.b("utils.domData",f.a.g),f.b("utils.domData.clear",f.a.g.clear),f.a.K=new function(){function b(O,U){var Y=f.a.g.get(O,X);return Y===e&&U&&(Y=[],f.a.g.set(O,X,Y)),Y}function R(O){var U=b(O,!1);if(U)for(var U=U.slice(0),Y=0;Y<U.length;Y++)U[Y](O);f.a.g.clear(O),f.a.K.cleanExternalData(O),N[O.nodeType]&&E(O.childNodes,!0)}function E(O,U){for(var Y=[],k,H=0;H<O.length;H++)if((!U||O[H].nodeType===8)&&(R(Y[Y.length]=k=O[H]),O[H]!==k))for(;H--&&f.a.A(Y,O[H])==-1;);}var X=f.a.g.Z(),F={1:!0,8:!0,9:!0},N={1:!0,9:!0};return{za:function(O,U){if(typeof U!="function")throw Error("Callback must be a function");b(O,!0).push(U)},yb:function(O,U){var Y=b(O,!1);Y&&(f.a.Pa(Y,U),Y.length==0&&f.a.g.set(O,X,e))},oa:function(O){return f.u.G(function(){F[O.nodeType]&&(R(O),N[O.nodeType]&&E(O.getElementsByTagName("*")))}),O},removeNode:function(O){f.oa(O),O.parentNode&&O.parentNode.removeChild(O)},cleanExternalData:function(O){o&&typeof o.cleanData=="function"&&o.cleanData([O])}}},f.oa=f.a.K.oa,f.removeNode=f.a.K.removeNode,f.b("cleanNode",f.oa),f.b("removeNode",f.removeNode),f.b("utils.domNodeDisposal",f.a.K),f.b("utils.domNodeDisposal.addDisposeCallback",f.a.K.za),f.b("utils.domNodeDisposal.removeDisposeCallback",f.a.K.yb),function(){var b=[0,"",""],R=[1,"<table>","</table>"],E=[3,"<table><tbody><tr>","</tr></tbody></table>"],X=[1,"<select multiple='multiple'>","</select>"],F={thead:R,tbody:R,tfoot:R,tr:[2,"<table><tbody>","</tbody></table>"],td:E,th:E,option:X,optgroup:X},N=8>=f.a.W;f.a.ua=function(O,U){var Y;if(o){if(o.parseHTML)Y=o.parseHTML(O,U)||[];else if((Y=o.clean([O],U))&&Y[0]){for(var k=Y[0];k.parentNode&&k.parentNode.nodeType!==11;)k=k.parentNode;k.parentNode&&k.parentNode.removeChild(k)}}else{(Y=U)||(Y=n);var k=Y.parentWindow||Y.defaultView||t,H=f.a.Db(O).toLowerCase(),J=Y.createElement("div"),te;for(te=(H=H.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&F[H[1]]||b,H=te[0],te="ignored<div>"+te[1]+O+te[2]+"</div>",typeof k.innerShiv=="function"?J.appendChild(k.innerShiv(te)):(N&&Y.body.appendChild(J),J.innerHTML=te,N&&J.parentNode.removeChild(J));H--;)J=J.lastChild;Y=f.a.la(J.lastChild.childNodes)}return Y},f.a.Md=function(O,U){var Y=f.a.ua(O,U);return Y.length&&Y[0].parentElement||f.a.Yb(Y)},f.a.fc=function(O,U){if(f.a.Tb(O),U=f.a.f(U),U!==null&&U!==e)if(typeof U!="string"&&(U=U.toString()),o)o(O).html(U);else for(var Y=f.a.ua(U,O.ownerDocument),k=0;k<Y.length;k++)O.appendChild(Y[k])}}(),f.b("utils.parseHtmlFragment",f.a.ua),f.b("utils.setHtml",f.a.fc),f.aa=function(){function b(E,X){if(E){if(E.nodeType==8){var F=f.aa.Uc(E.nodeValue);F!=null&&X.push({ud:E,Kd:F})}else if(E.nodeType==1)for(var F=0,N=E.childNodes,O=N.length;F<O;F++)b(N[F],X)}}var R={};return{Xb:function(E){if(typeof E!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var X=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return R[X]=E,"<!--[ko_memo:"+X+"]-->"},bd:function(E,X){var F=R[E];if(F===e)throw Error("Couldn't find any memo with ID "+E+". Perhaps it's already been unmemoized.");try{return F.apply(null,X||[]),!0}finally{delete R[E]}},cd:function(E,X){var F=[];b(E,F);for(var N=0,O=F.length;N<O;N++){var U=F[N].ud,Y=[U];X&&f.a.Nb(Y,X),f.aa.bd(F[N].Kd,Y),U.nodeValue="",U.parentNode&&U.parentNode.removeChild(U)}},Uc:function(E){return(E=E.match(/^\[ko_memo\:(.*?)\]$/))?E[1]:null}}}(),f.b("memoization",f.aa),f.b("memoization.memoize",f.aa.Xb),f.b("memoization.unmemoize",f.aa.bd),f.b("memoization.parseMemoText",f.aa.Uc),f.b("memoization.unmemoizeDomNodeAndDescendants",f.aa.cd),f.na=function(){function b(){if(F){for(var U=F,Y=0,k;O<F;)if(k=X[O++]){if(O>U){if(5e3<=++Y){O=F,f.a.Gc(Error("'Too much recursion' after processing "+Y+" task groups."));break}U=F}try{k()}catch(H){f.a.Gc(H)}}}}function R(){b(),O=F=X.length=0}var E,X=[],F=0,N=1,O=0;return t.MutationObserver?E=function(U){var Y=n.createElement("div");return new MutationObserver(U).observe(Y,{attributes:!0}),function(){Y.classList.toggle("foo")}}(R):E=n&&"onreadystatechange"in n.createElement("script")?function(U){var Y=n.createElement("script");Y.onreadystatechange=function(){Y.onreadystatechange=null,n.documentElement.removeChild(Y),Y=null,U()},n.documentElement.appendChild(Y)}:function(U){setTimeout(U,0)},{scheduler:E,zb:function(U){return F||f.na.scheduler(R),X[F++]=U,N++},cancel:function(U){U=U-(N-F),U>=O&&U<F&&(X[U]=null)},resetForTesting:function(){var U=F-O;return O=F=X.length=0,U},Sd:b}}(),f.b("tasks",f.na),f.b("tasks.schedule",f.na.zb),f.b("tasks.runEarly",f.na.Sd),f.Ta={throttle:function(b,R){b.throttleEvaluation=R;var E=null;return f.$({read:b,write:function(X){clearTimeout(E),E=f.a.setTimeout(function(){b(X)},R)}})},rateLimit:function(b,R){var E,X,F;typeof R=="number"?E=R:(E=R.timeout,X=R.method),b.Hb=!1,F=typeof X=="function"?X:X=="notifyWhenChangesStop"?u:d,b.ub(function(N){return F(N,E,R)})},deferred:function(b,R){if(R!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");b.Hb||(b.Hb=!0,b.ub(function(E){var X,F=!1;return function(){if(!F){f.na.cancel(X),X=f.na.zb(E);try{F=!0,b.notifySubscribers(e,"dirty")}finally{F=!1}}}}))},notify:function(b,R){b.equalityComparer=R=="always"?null:c}};var x={undefined:1,boolean:1,number:1,string:1};f.b("extenders",f.Ta),f.ic=function(b,R,E){this.da=b,this.lc=R,this.mc=E,this.Ib=!1,this.fb=this.Jb=null,f.L(this,"dispose",this.s),f.L(this,"disposeWhenNodeIsRemoved",this.l)},f.ic.prototype.s=function(){this.Ib||(this.fb&&f.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},f.ic.prototype.l=function(b){this.Jb=b,f.a.K.za(b,this.fb=this.s.bind(this))},f.T=function(){f.a.Ab(this,_),_.qb(this)};var _={qb:function(b){b.U={change:[]},b.sc=1},subscribe:function(b,R,E){var X=this;E=E||"change";var F=new f.ic(X,R?b.bind(R):b,function(){f.a.Pa(X.U[E],F),X.hb&&X.hb(E)});return X.Qa&&X.Qa(E),X.U[E]||(X.U[E]=[]),X.U[E].push(F),F},notifySubscribers:function(b,R){if(R=R||"change",R==="change"&&this.Gb(),this.Wa(R)){var E=R==="change"&&this.ed||this.U[R].slice(0);try{f.u.xc();for(var X=0,F;F=E[X];++X)F.Ib||F.lc(b)}finally{f.u.end()}}},ob:function(){return this.sc},Dd:function(b){return this.ob()!==b},Gb:function(){++this.sc},ub:function(b){var R=this,E=f.O(R),X,F,N,O,U;R.gb||(R.gb=R.notifySubscribers,R.notifySubscribers=m);var Y=b(function(){R.Ja=!1,E&&O===R&&(O=R.nc?R.nc():R());var k=F||U&&R.sb(N,O);U=F=X=!1,k&&R.gb(N=O)});R.qc=function(k,H){H&&R.Ja||(U=!H),R.ed=R.U.change.slice(0),R.Ja=X=!0,O=k,Y()},R.pc=function(k){X||(N=k,R.gb(k,"beforeChange"))},R.rc=function(){U=!0},R.gd=function(){R.sb(N,R.v(!0))&&(F=!0)}},Wa:function(b){return this.U[b]&&this.U[b].length},Bd:function(b){if(b)return this.U[b]&&this.U[b].length||0;var R=0;return f.a.P(this.U,function(E,X){E!=="dirty"&&(R+=X.length)}),R},sb:function(b,R){return!this.equalityComparer||!this.equalityComparer(b,R)},toString:function(){return"[object Object]"},extend:function(b){var R=this;return b&&f.a.P(b,function(E,X){var F=f.Ta[E];typeof F=="function"&&(R=F(R,X)||R)}),R}};f.L(_,"init",_.qb),f.L(_,"subscribe",_.subscribe),f.L(_,"extend",_.extend),f.L(_,"getSubscriptionsCount",_.Bd),f.a.Ba&&f.a.setPrototypeOf(_,Function.prototype),f.T.fn=_,f.Qc=function(b){return b!=null&&typeof b.subscribe=="function"&&typeof b.notifySubscribers=="function"},f.b("subscribable",f.T),f.b("isSubscribable",f.Qc),f.S=f.u=function(){function b(N){E.push(X),X=N}function R(){X=E.pop()}var E=[],X,F=0;return{xc:b,end:R,cc:function(N){if(X){if(!f.Qc(N))throw Error("Only subscribable things can act as dependencies");X.od.call(X.pd,N,N.fd||(N.fd=++F))}},G:function(N,O,U){try{return b(),N.apply(O,U||[])}finally{R()}},qa:function(){if(X)return X.o.qa()},Va:function(){if(X)return X.o.Va()},Ya:function(){if(X)return X.Ya},o:function(){if(X)return X.o}}}(),f.b("computedContext",f.S),f.b("computedContext.getDependenciesCount",f.S.qa),f.b("computedContext.getDependencies",f.S.Va),f.b("computedContext.isInitial",f.S.Ya),f.b("computedContext.registerDependency",f.S.cc),f.b("ignoreDependencies",f.Yd=f.u.G);var C=f.a.Da("_latestValue");f.ta=function(b){function R(){return 0<arguments.length?(R.sb(R[C],arguments[0])&&(R.ya(),R[C]=arguments[0],R.xa()),this):(f.u.cc(R),R[C])}return R[C]=b,f.a.Ba||f.a.extend(R,f.T.fn),f.T.fn.qb(R),f.a.Ab(R,V),f.options.deferUpdates&&f.Ta.deferred(R,!0),R};var V={equalityComparer:c,v:function(){return this[C]},xa:function(){this.notifySubscribers(this[C],"spectate"),this.notifySubscribers(this[C])},ya:function(){this.notifySubscribers(this[C],"beforeChange")}};f.a.Ba&&f.a.setPrototypeOf(V,f.T.fn);var L=f.ta.Ma="__ko_proto__";V[L]=f.ta,f.O=function(b){if((b=typeof b=="function"&&b[L])&&b!==V[L]&&b!==f.o.fn[L])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!b},f.Za=function(b){return typeof b=="function"&&(b[L]===V[L]||b[L]===f.o.fn[L]&&b.Nc)},f.b("observable",f.ta),f.b("isObservable",f.O),f.b("isWriteableObservable",f.Za),f.b("isWritableObservable",f.Za),f.b("observable.fn",V),f.L(V,"peek",V.v),f.L(V,"valueHasMutated",V.xa),f.L(V,"valueWillMutate",V.ya),f.Ha=function(b){if(b=b||[],typeof b!="object"||!("length"in b))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return b=f.ta(b),f.a.Ab(b,f.Ha.fn),b.extend({trackArrayChanges:!0})},f.Ha.fn={remove:function(b){for(var R=this.v(),E=[],X=typeof b!="function"||f.O(b)?function(O){return O===b}:b,F=0;F<R.length;F++){var N=R[F];if(X(N)){if(E.length===0&&this.ya(),R[F]!==N)throw Error("Array modified during remove; cannot remove item");E.push(N),R.splice(F,1),F--}}return E.length&&this.xa(),E},removeAll:function(b){if(b===e){var R=this.v(),E=R.slice(0);return this.ya(),R.splice(0,R.length),this.xa(),E}return b?this.remove(function(X){return 0<=f.a.A(b,X)}):[]},destroy:function(b){var R=this.v(),E=typeof b!="function"||f.O(b)?function(N){return N===b}:b;this.ya();for(var X=R.length-1;0<=X;X--){var F=R[X];E(F)&&(F._destroy=!0)}this.xa()},destroyAll:function(b){return b===e?this.destroy(function(){return!0}):b?this.destroy(function(R){return 0<=f.a.A(b,R)}):[]},indexOf:function(b){var R=this();return f.a.A(R,b)},replace:function(b,R){var E=this.indexOf(b);0<=E&&(this.ya(),this.v()[E]=R,this.xa())},sorted:function(b){var R=this().slice(0);return b?R.sort(b):R.sort()},reversed:function(){return this().slice(0).reverse()}},f.a.Ba&&f.a.setPrototypeOf(f.Ha.fn,f.ta.fn),f.a.D("pop push reverse shift sort splice unshift".split(" "),function(b){f.Ha.fn[b]=function(){var R=this.v();this.ya(),this.zc(R,b,arguments);var E=R[b].apply(R,arguments);return this.xa(),E===R?this:E}}),f.a.D(["slice"],function(b){f.Ha.fn[b]=function(){var R=this();return R[b].apply(R,arguments)}}),f.Pc=function(b){return f.O(b)&&typeof b.remove=="function"&&typeof b.push=="function"},f.b("observableArray",f.Ha),f.b("isObservableArray",f.Pc),f.Ta.trackArrayChanges=function(b,R){function E(){function J(){if(U){var te=[].concat(b.v()||[]),z;b.Wa("arrayChange")&&((!F||1<U)&&(F=f.a.Pb(Y,te,b.Ob)),z=F),Y=te,F=null,U=0,z&&z.length&&b.notifySubscribers(z,"arrayChange")}}X?J():(X=!0,O=b.subscribe(function(){++U},null,"spectate"),Y=[].concat(b.v()||[]),F=null,N=b.subscribe(J))}if(b.Ob={},R&&typeof R=="object"&&f.a.extend(b.Ob,R),b.Ob.sparse=!0,!b.zc){var X=!1,F=null,N,O,U=0,Y,k=b.Qa,H=b.hb;b.Qa=function(J){k&&k.call(b,J),J==="arrayChange"&&E()},b.hb=function(J){H&&H.call(b,J),J!=="arrayChange"||b.Wa("arrayChange")||(N&&N.s(),O&&O.s(),O=N=null,X=!1,Y=e)},b.zc=function(J,te,z){function q(Ie,Ae,Ve){return ee[ee.length]={status:Ie,value:Ae,index:Ve}}if(X&&!U){var ee=[],pe=J.length,_e=z.length,ae=0;switch(te){case"push":ae=pe;case"unshift":for(te=0;te<_e;te++)q("added",z[te],ae+te);break;case"pop":ae=pe-1;case"shift":pe&&q("deleted",J[ae],ae);break;case"splice":te=Math.min(Math.max(0,0>z[0]?pe+z[0]:z[0]),pe);for(var pe=_e===1?pe:Math.min(te+(z[1]||0),pe),_e=te+_e-2,ae=Math.max(pe,_e),ye=[],Te=[],Xe=2;te<ae;++te,++Xe)te<pe&&Te.push(q("deleted",J[te],te)),te<_e&&ye.push(q("added",z[Xe],te));f.a.Kc(Te,ye);break;default:return}F=ee}}}};var Z=f.a.Da("_state");f.o=f.$=function(b,R,E){function X(){if(0<arguments.length){if(typeof F=="function")F.apply(N.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return N.ra||f.u.cc(X),(N.ka||N.J&&X.Xa())&&X.ha(),N.X}if(typeof b=="object"?E=b:(E=E||{},b&&(E.read=b)),typeof E.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var F=E.write,N={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:E.read,nb:R||E.owner,l:E.disposeWhenNodeIsRemoved||E.l||null,Sa:E.disposeWhen||E.Sa,Rb:null,I:{},V:0,Ic:null};return X[Z]=N,X.Nc=typeof F=="function",f.a.Ba||f.a.extend(X,f.T.fn),f.T.fn.qb(X),f.a.Ab(X,G),E.pure?(N.wb=!0,N.J=!0,f.a.extend(X,I)):E.deferEvaluation&&f.a.extend(X,v),f.options.deferUpdates&&f.Ta.deferred(X,!0),N.l&&(N.jc=!0,N.l.nodeType||(N.l=null)),N.J||E.deferEvaluation||X.ha(),N.l&&X.ja()&&f.a.K.za(N.l,N.Rb=function(){X.s()}),X};var G={equalityComparer:c,qa:function(){return this[Z].V},Va:function(){var b=[];return f.a.P(this[Z].I,function(R,E){b[E.Ka]=E.da}),b},Vb:function(b){if(!this[Z].V)return!1;var R=this.Va();return f.a.A(R,b)!==-1?!0:!!f.a.Lb(R,function(E){return E.Vb&&E.Vb(b)})},uc:function(b,R,E){if(this[Z].wb&&R===this)throw Error("A 'pure' computed must not be called recursively");this[Z].I[b]=E,E.Ka=this[Z].V++,E.La=R.ob()},Xa:function(){var b,R,E=this[Z].I;for(b in E)if(Object.prototype.hasOwnProperty.call(E,b)&&(R=E[b],this.Ia&&R.da.Ja||R.da.Dd(R.La)))return!0},Jd:function(){this.Ia&&!this[Z].rb&&this.Ia(!1)},ja:function(){var b=this[Z];return b.ka||0<b.V},Rd:function(){this.Ja?this[Z].ka&&(this[Z].sa=!0):this.Hc()},$c:function(b){if(b.Hb){var R=b.subscribe(this.Jd,this,"dirty"),E=b.subscribe(this.Rd,this);return{da:b,s:function(){R.s(),E.s()}}}return b.subscribe(this.Hc,this)},Hc:function(){var b=this,R=b.throttleEvaluation;R&&0<=R?(clearTimeout(this[Z].Ic),this[Z].Ic=f.a.setTimeout(function(){b.ha(!0)},R)):b.Ia?b.Ia(!0):b.ha(!0)},ha:function(b){var R=this[Z],E=R.Sa,X=!1;if(!R.rb&&!R.ra){if(R.l&&!f.a.Sb(R.l)||E&&E()){if(!R.jc){this.s();return}}else R.jc=!1;R.rb=!0;try{X=this.zd(b)}finally{R.rb=!1}return X}},zd:function(b){var R=this[Z],X=!1,E=R.wb?e:!R.V,X={qd:this,mb:R.I,Qb:R.V};f.u.xc({pd:X,od:g,o:this,Ya:E}),R.I={},R.V=0;var F=this.yd(R,X);return R.V?X=this.sb(R.X,F):(this.s(),X=!0),X&&(R.J?this.Gb():this.notifySubscribers(R.X,"beforeChange"),R.X=F,this.notifySubscribers(R.X,"spectate"),!R.J&&b&&this.notifySubscribers(R.X),this.rc&&this.rc()),E&&this.notifySubscribers(R.X,"awake"),X},yd:function(b,R){try{var E=b.Wc;return b.nb?E.call(b.nb):E()}finally{f.u.end(),R.Qb&&!b.J&&f.a.P(R.mb,p),b.sa=b.ka=!1}},v:function(b){var R=this[Z];return(R.ka&&(b||!R.V)||R.J&&this.Xa())&&this.ha(),R.X},ub:function(b){f.T.fn.ub.call(this,b),this.nc=function(){return this[Z].J||(this[Z].sa?this.ha():this[Z].ka=!1),this[Z].X},this.Ia=function(R){this.pc(this[Z].X),this[Z].ka=!0,R&&(this[Z].sa=!0),this.qc(this,!R)}},s:function(){var b=this[Z];!b.J&&b.I&&f.a.P(b.I,function(R,E){E.s&&E.s()}),b.l&&b.Rb&&f.a.K.yb(b.l,b.Rb),b.I=e,b.V=0,b.ra=!0,b.sa=!1,b.ka=!1,b.J=!1,b.l=e,b.Sa=e,b.Wc=e,this.Nc||(b.nb=e)}},I={Qa:function(b){var R=this,E=R[Z];if(!E.ra&&E.J&&b=="change"){if(E.J=!1,E.sa||R.Xa())E.I=null,E.V=0,R.ha()&&R.Gb();else{var X=[];f.a.P(E.I,function(F,N){X[N.Ka]=F}),f.a.D(X,function(F,N){var O=E.I[F],U=R.$c(O.da);U.Ka=N,U.La=O.La,E.I[F]=U}),R.Xa()&&R.ha()&&R.Gb()}E.ra||R.notifySubscribers(E.X,"awake")}},hb:function(b){var R=this[Z];R.ra||b!="change"||this.Wa("change")||(f.a.P(R.I,function(E,X){X.s&&(R.I[E]={da:X.da,Ka:X.Ka,La:X.La},X.s())}),R.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var b=this[Z];return b.J&&(b.sa||this.Xa())&&this.ha(),f.T.fn.ob.call(this)}},v={Qa:function(b){b!="change"&&b!="beforeChange"||this.v()}};f.a.Ba&&f.a.setPrototypeOf(G,f.T.fn);var P=f.ta.Ma;G[P]=f.o,f.Oc=function(b){return typeof b=="function"&&b[P]===G[P]},f.Fd=function(b){return f.Oc(b)&&b[Z]&&b[Z].wb},f.b("computed",f.o),f.b("dependentObservable",f.o),f.b("isComputed",f.Oc),f.b("isPureComputed",f.Fd),f.b("computed.fn",G),f.L(G,"peek",G.v),f.L(G,"dispose",G.s),f.L(G,"isActive",G.ja),f.L(G,"getDependenciesCount",G.qa),f.L(G,"getDependencies",G.Va),f.xb=function(b,R){return typeof b=="function"?f.o(b,R,{pure:!0}):(b=f.a.extend({},b),b.pure=!0,f.o(b,R))},f.b("pureComputed",f.xb),function(){function b(X,F,N){if(N=N||new E,X=F(X),typeof X!="object"||X===null||X===e||X instanceof RegExp||X instanceof Date||X instanceof String||X instanceof Number||X instanceof Boolean)return X;var O=X instanceof Array?[]:{};return N.save(X,O),R(X,function(U){var Y=F(X[U]);switch(typeof Y){case"boolean":case"number":case"string":case"function":O[U]=Y;break;case"object":case"undefined":var k=N.get(Y);O[U]=k!==e?k:b(Y,F,N)}}),O}function R(X,F){if(X instanceof Array){for(var N=0;N<X.length;N++)F(N);typeof X.toJSON=="function"&&F("toJSON")}else for(N in X)F(N)}function E(){this.keys=[],this.values=[]}f.ad=function(X){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return b(X,function(F){for(var N=0;f.O(F)&&10>N;N++)F=F();return F})},f.toJSON=function(X,F,N){return X=f.ad(X),f.a.hc(X,F,N)},E.prototype={constructor:E,save:function(X,F){var N=f.a.A(this.keys,X);0<=N?this.values[N]=F:(this.keys.push(X),this.values.push(F))},get:function(X){return X=f.a.A(this.keys,X),0<=X?this.values[X]:e}}}(),f.b("toJS",f.ad),f.b("toJSON",f.toJSON),f.Wd=function(b,R,E){function X(F){var N=f.xb(b,E).extend({ma:"always"}),O=N.subscribe(function(U){U&&(O.s(),F(U))});return N.notifySubscribers(N.v()),O}return typeof Promise!="function"||R?X(R.bind(E)):new Promise(X)},f.b("when",f.Wd),function(){f.w={M:function(b){switch(f.a.R(b)){case"option":return b.__ko__hasDomDataOptionValue__===!0?f.a.g.get(b,f.c.options.$b):7>=f.a.W?b.getAttributeNode("value")&&b.getAttributeNode("value").specified?b.value:b.text:b.value;case"select":return 0<=b.selectedIndex?f.w.M(b.options[b.selectedIndex]):e;default:return b.value}},cb:function(b,R,E){switch(f.a.R(b)){case"option":typeof R=="string"?(f.a.g.set(b,f.c.options.$b,e),"__ko__hasDomDataOptionValue__"in b&&delete b.__ko__hasDomDataOptionValue__,b.value=R):(f.a.g.set(b,f.c.options.$b,R),b.__ko__hasDomDataOptionValue__=!0,b.value=typeof R=="number"?R:"");break;case"select":(R===""||R===null)&&(R=e);for(var X=-1,F=0,N=b.options.length,O;F<N;++F)if(O=f.w.M(b.options[F]),O==R||O===""&&R===e){X=F;break}(E||0<=X||R===e&&1<b.size)&&(b.selectedIndex=X,f.a.W===6&&f.a.setTimeout(function(){b.selectedIndex=X},0));break;default:(R===null||R===e)&&(R=""),b.value=R}}}}(),f.b("selectExtensions",f.w),f.b("selectExtensions.readValue",f.w.M),f.b("selectExtensions.writeValue",f.w.cb),f.m=function(){function b(U){U=f.a.Db(U),U.charCodeAt(0)===123&&(U=U.slice(1,-1)),U+=` +,`;var Y=[],k=U.match(X),H,J=[],te=0;if(1<k.length){for(var z=0,q;q=k[z];++z){var ee=q.charCodeAt(0);if(ee===44){if(0>=te){Y.push(H&&J.length?{key:H,value:J.join("")}:{unknown:H||J.join("")}),H=te=0,J=[];continue}}else if(ee===58){if(!te&&!H&&J.length===1){H=J.pop();continue}}else{if(ee===47&&1<q.length&&(q.charCodeAt(1)===47||q.charCodeAt(1)===42))continue;ee===47&&z&&1<q.length?(ee=k[z-1].match(F))&&!N[ee[0]]&&(U=U.substr(U.indexOf(q)+1),k=U.match(X),z=-1,q="/"):ee===40||ee===123||ee===91?++te:ee===41||ee===125||ee===93?--te:H||J.length||ee!==34&&ee!==39||(q=q.slice(1,-1))}J.push(q)}if(0<te)throw Error("Unbalanced parentheses, braces, or brackets")}return Y}var R=["true","false","null","undefined"],E=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,X=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* +|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),F=/[\])"'A-Za-z0-9_$]+$/,N={in:1,return:1,typeof:1},O={};return{Ra:[],wa:O,ac:b,vb:function(U,Y){function k(ee,pe){var _e;if(!z){var ae=f.getBindingHandler(ee);if(ae&&ae.preprocess&&!(pe=ae.preprocess(pe,ee,k)))return;(ae=O[ee])&&(_e=pe,0<=f.a.A(R,_e)?_e=!1:(ae=_e.match(E),_e=ae===null?!1:ae[1]?"Object("+ae[1]+")"+ae[2]:_e),ae=_e),ae&&J.push("'"+(typeof O[ee]=="string"?O[ee]:ee)+"':function(_z){"+_e+"=_z}")}te&&(pe="function(){return "+pe+" }"),H.push("'"+ee+"':"+pe)}Y=Y||{};var H=[],J=[],te=Y.valueAccessors,z=Y.bindingParams,q=typeof U=="string"?b(U):U;return f.a.D(q,function(ee){k(ee.key||ee.unknown,ee.value)}),J.length&&k("_ko_property_writers","{"+J.join(",")+" }"),H.join(",")},Id:function(U,Y){for(var k=0;k<U.length;k++)if(U[k].key==Y)return!0;return!1},eb:function(U,Y,k,H,J){U&&f.O(U)?!f.Za(U)||J&&U.v()===H||U(H):(U=Y.get("_ko_property_writers"))&&U[k]&&U[k](H)}}}(),f.b("expressionRewriting",f.m),f.b("expressionRewriting.bindingRewriteValidators",f.m.Ra),f.b("expressionRewriting.parseObjectLiteral",f.m.ac),f.b("expressionRewriting.preProcessBindings",f.m.vb),f.b("expressionRewriting._twoWayBindings",f.m.wa),f.b("jsonExpressionRewriting",f.m),f.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",f.m.vb),function(){function b(k){return k.nodeType==8&&N.test(F?k.text:k.nodeValue)}function R(k){return k.nodeType==8&&O.test(F?k.text:k.nodeValue)}function E(k,H){for(var J=k,te=1,z=[];J=J.nextSibling;){if(R(J)&&(f.a.g.set(J,Y,!0),te--,te===0))return z;z.push(J),b(J)&&te++}if(!H)throw Error("Cannot find closing comment tag to match: "+k.nodeValue);return null}function X(k,H){var J=E(k,H);return J?0<J.length?J[J.length-1].nextSibling:k.nextSibling:null}var F=n&&n.createComment("test").text==="<!--test-->",N=F?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,O=F?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,U={ul:!0,ol:!0},Y="__ko_matchedEndComment__";f.h={ea:{},childNodes:function(k){return b(k)?E(k):k.childNodes},Ea:function(k){if(b(k)){k=f.h.childNodes(k);for(var H=0,J=k.length;H<J;H++)f.removeNode(k[H])}else f.a.Tb(k)},va:function(k,H){if(b(k)){f.h.Ea(k);for(var J=k.nextSibling,te=0,z=H.length;te<z;te++)J.parentNode.insertBefore(H[te],J)}else f.a.va(k,H)},Vc:function(k,H){var J;b(k)?(J=k.nextSibling,k=k.parentNode):J=k.firstChild,J?H!==J&&k.insertBefore(H,J):k.appendChild(H)},Wb:function(k,H,J){J?(J=J.nextSibling,b(k)&&(k=k.parentNode),J?H!==J&&k.insertBefore(H,J):k.appendChild(H)):f.h.Vc(k,H)},firstChild:function(k){if(b(k))return!k.nextSibling||R(k.nextSibling)?null:k.nextSibling;if(k.firstChild&&R(k.firstChild))throw Error("Found invalid end comment, as the first child of "+k);return k.firstChild},nextSibling:function(k){if(b(k)&&(k=X(k)),k.nextSibling&&R(k.nextSibling)){var H=k.nextSibling;if(R(H)&&!f.a.g.get(H,Y))throw Error("Found end comment without a matching opening comment, as child of "+k);return null}return k.nextSibling},Cd:b,Vd:function(k){return(k=(F?k.text:k.nodeValue).match(N))?k[1]:null},Sc:function(k){if(U[f.a.R(k)]){var H=k.firstChild;if(H)do if(H.nodeType===1){var J;J=H.firstChild;var te=null;if(J)do if(te)te.push(J);else if(b(J)){var z=X(J,!0);z?J=z:te=[J]}else R(J)&&(te=[J]);while(J=J.nextSibling);if(J=te)for(te=H.nextSibling,z=0;z<J.length;z++)te?k.insertBefore(J[z],te):k.appendChild(J[z])}while(H=H.nextSibling)}}}}(),f.b("virtualElements",f.h),f.b("virtualElements.allowedBindings",f.h.ea),f.b("virtualElements.emptyNode",f.h.Ea),f.b("virtualElements.insertAfter",f.h.Wb),f.b("virtualElements.prepend",f.h.Vc),f.b("virtualElements.setDomNodeChildren",f.h.va),function(){f.ga=function(){this.nd={}},f.a.extend(f.ga.prototype,{nodeHasBindings:function(b){switch(b.nodeType){case 1:return b.getAttribute("data-bind")!=null||f.j.getComponentNameForNode(b);case 8:return f.h.Cd(b);default:return!1}},getBindings:function(b,R){var E=this.getBindingsString(b,R),E=E?this.parseBindingsString(E,R,b):null;return f.j.tc(E,b,R,!1)},getBindingAccessors:function(b,R){var E=this.getBindingsString(b,R),E=E?this.parseBindingsString(E,R,b,{valueAccessors:!0}):null;return f.j.tc(E,b,R,!0)},getBindingsString:function(b){switch(b.nodeType){case 1:return b.getAttribute("data-bind");case 8:return f.h.Vd(b);default:return null}},parseBindingsString:function(b,R,E,X){try{var F=this.nd,N=b+(X&&X.valueAccessors||""),O;if(!(O=F[N])){var U,Y="with($context){with($data||{}){return{"+f.m.vb(b,X)+"}}}";U=new Function("$context","$element",Y),O=F[N]=U}return O(R,E)}catch(k){throw k.message=`Unable to parse bindings. Bindings value: `+b+` -Message: `+k.message,k}}}),f.ga.instance=new f.ga}(),f.b("bindingProvider",f.ga),function(){function b(ae){var ye=(ae=f.a.g.get(ae,_e))&&ae.N;ye&&(ae.N=null,ye.Tc())}function R(ae,ye,Te){this.node=ae,this.yc=ye,this.kb=[],this.H=!1,ye.N||f.a.K.za(ae,b),Te&&Te.N&&(Te.N.kb.push(ae),this.Kb=Te)}function E(ae){return function(){return ae}}function X(ae){return ae()}function A(ae){return f.a.Ga(f.u.G(ae),function(ye,Te){return function(){return ae()[Te]}})}function N(ae,ye,Te){return typeof ae=="function"?A(ae.bind(null,ye,Te)):f.a.Ga(ae,E)}function O(ae,ye){return A(this.getBindings.bind(this,ae,ye))}function U(ae,ye){var Te=f.h.firstChild(ye);if(Te){var Ie,Ee=f.ga.instance,ve=Ee.preprocessNode;if(ve){for(;Ie=Te;)Te=f.h.nextSibling(Ie),ve.call(Ee,Ie);Te=f.h.firstChild(ye)}for(;Ie=Te;)Te=f.h.nextSibling(Ie),Y(ae,Ie)}f.i.ma(ye,f.i.H)}function Y(ae,ye){var Te=ae,Ie=ye.nodeType===1;Ie&&f.h.Sc(ye),(Ie||f.ga.instance.nodeHasBindings(ye))&&(Te=J(ye,null,ae).bindingContextForDescendants),Te&&!ee[f.a.R(ye)]&&U(Te,ye)}function k(ae){var ye=[],Te={},Ie=[];return f.a.P(ae,function Ee(ve){if(!Te[ve]){var we=f.getBindingHandler(ve);we&&(we.after&&(Ie.push(ve),f.a.D(we.after,function(pt){if(ae[pt]){if(f.a.A(Ie,pt)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+Ie.join(", "));Ee(pt)}}),Ie.length--),ye.push({key:ve,Mc:we})),Te[ve]=!0}}),ye}function J(ae,ye,Te){var Ie=f.a.g.Ub(ae,_e,{}),Ee=Ie.hd;if(!ye){if(Ee)throw Error("You cannot apply bindings multiple times to the same element.");Ie.hd=!0}Ee||(Ie.context=Te),Ie.Zb||(Ie.Zb={});var ve;if(ye&&typeof ye!="function")ve=ye;else{var we=f.ga.instance,pt=we.getBindingAccessors||O,rt=f.$(function(){return(ve=ye?ye(Te,ae):pt.call(we,ae,Te))&&(Te[te]&&Te[te](),Te[q]&&Te[q]()),ve},null,{l:ae});ve&&rt.ja()||(rt=null)}var Rt=Te,Fe;if(ve){var ke=function(){return f.a.Ga(rt?rt():ve,X)},qe=rt?function(Qe){return function(){return X(rt()[Qe])}}:function(Qe){return ve[Qe]};ke.get=function(Qe){return ve[Qe]&&X(qe(Qe))},ke.has=function(Qe){return Qe in ve},f.i.H in ve&&f.i.subscribe(ae,f.i.H,function(){var Qe=(0,ve[f.i.H])();if(Qe){var Ut=f.h.childNodes(ae);Ut.length&&Qe(Ut,f.Ec(Ut[0]))}}),f.i.pa in ve&&(Rt=f.i.Cb(ae,Te),f.i.subscribe(ae,f.i.pa,function(){var Qe=(0,ve[f.i.pa])();Qe&&f.h.firstChild(ae)&&Qe(ae)})),Ie=k(ve),f.a.D(Ie,function(Qe){var Ut=Qe.Mc.init,Ce=Qe.Mc.update,Ve=Qe.key;if(ae.nodeType===8&&!f.h.ea[Ve])throw Error("The binding '"+Ve+"' cannot be used with virtual elements");try{typeof Ut=="function"&&f.u.G(function(){var $t=Ut(ae,qe(Ve),ke,Rt.$data,Rt);if($t&&$t.controlsDescendantBindings){if(Fe!==e)throw Error("Multiple bindings ("+Fe+" and "+Ve+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");Fe=Ve}}),typeof Ce=="function"&&f.$(function(){Ce(ae,qe(Ve),ke,Rt.$data,Rt)},null,{l:ae})}catch($t){throw $t.message='Unable to process binding "'+Ve+": "+ve[Ve]+`" -Message: `+$t.message,$t}})}return Ie=Fe===e,{shouldBindDescendants:Ie,bindingContextForDescendants:Ie&&Rt}}function z(ae,ye){return ae&&ae instanceof f.fa?ae:new f.fa(ae,e,e,ye)}var te=f.a.Da("_subscribable"),H=f.a.Da("_ancestorBindingInfo"),q=f.a.Da("_dataDependency");f.c={};var ee={script:!0,textarea:!0,template:!0};f.getBindingHandler=function(ae){return f.c[ae]};var pe={};f.fa=function(ae,ye,Te,Ie,Ee){function ve(){var qe=Rt?rt():rt,Qe=f.a.f(qe);return ye?(f.a.extend(we,ye),H in ye&&(we[H]=ye[H])):(we.$parents=[],we.$root=Qe,we.ko=f),we[te]=Fe,pt?Qe=we.$data:(we.$rawData=qe,we.$data=Qe),Te&&(we[Te]=Qe),Ie&&Ie(we,ye,Qe),ye&&ye[te]&&!f.S.o().Vb(ye[te])&&ye[te](),ke&&(we[q]=ke),we.$data}var we=this,pt=ae===pe,rt=pt?e:ae,Rt=typeof rt=="function"&&!f.O(rt),Fe,ke=Ee&&Ee.dataDependency;Ee&&Ee.exportDependencies?ve():(Fe=f.xb(ve),Fe.v(),Fe.ja()?Fe.equalityComparer=null:we[te]=e)},f.fa.prototype.createChildContext=function(ae,ye,Te,Ie){if(!Ie&&ye&&typeof ye=="object"&&(Ie=ye,ye=Ie.as,Te=Ie.extend),ye&&Ie&&Ie.noChildContext){var Ee=typeof ae=="function"&&!f.O(ae);return new f.fa(pe,this,null,function(ve){Te&&Te(ve),ve[ye]=Ee?ae():ae},Ie)}return new f.fa(ae,this,ye,function(ve,we){ve.$parentContext=we,ve.$parent=we.$data,ve.$parents=(we.$parents||[]).slice(0),ve.$parents.unshift(ve.$parent),Te&&Te(ve)},Ie)},f.fa.prototype.extend=function(ae,ye){return new f.fa(pe,this,null,function(Te){f.a.extend(Te,typeof ae=="function"?ae(Te):ae)},ye)};var _e=f.a.g.Z();R.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},R.prototype.sd=function(ae){f.a.Pa(this.kb,ae),!this.kb.length&&this.H&&this.Cc()},R.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,f.a.K.yb(this.node,b),f.i.ma(this.node,f.i.pa),this.Tc())},f.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(ae,ye,Te,Ie,Ee){var ve=f.a.g.Ub(ae,_e,{});return ve.Fa||(ve.Fa=new f.T),Ee&&Ee.notifyImmediately&&ve.Zb[ye]&&f.u.G(Te,Ie,[ae]),ve.Fa.subscribe(Te,Ie,ye)},ma:function(ae,ye){var Te=f.a.g.get(ae,_e);if(Te&&(Te.Zb[ye]=!0,Te.Fa&&Te.Fa.notifySubscribers(ae,ye),ye==f.i.H)){if(Te.N)Te.N.Cc();else if(Te.N===e&&Te.Fa&&Te.Fa.Wa(f.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(ae,ye){var Te=f.a.g.Ub(ae,_e,{});return Te.N||(Te.N=new R(ae,Te,ye[H])),ye[H]==Te?ye:ye.extend(function(Ie){Ie[H]=Te})}},f.Td=function(ae){return(ae=f.a.g.get(ae,_e))&&ae.context},f.ib=function(ae,ye,Te){return ae.nodeType===1&&f.h.Sc(ae),J(ae,ye,z(Te))},f.ld=function(ae,ye,Te){return Te=z(Te),f.ib(ae,N(ye,Te,ae),Te)},f.Oa=function(ae,ye){ye.nodeType!==1&&ye.nodeType!==8||U(z(ae),ye)},f.vc=function(ae,ye,Te){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(ye=n.body,!ye)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!ye||ye.nodeType!==1&&ye.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");Y(z(ae,Te),ye)},f.Dc=function(ae){return!ae||ae.nodeType!==1&&ae.nodeType!==8?e:f.Td(ae)},f.Ec=function(ae){return(ae=f.Dc(ae))?ae.$data:e},f.b("bindingHandlers",f.c),f.b("bindingEvent",f.i),f.b("bindingEvent.subscribe",f.i.subscribe),f.b("bindingEvent.startPossiblyAsyncContentBinding",f.i.Cb),f.b("applyBindings",f.vc),f.b("applyBindingsToDescendants",f.Oa),f.b("applyBindingAccessorsToNode",f.ib),f.b("applyBindingsToNode",f.ld),f.b("contextFor",f.Dc),f.b("dataFor",f.Ec)}(),function(b){function R(O,U){var Y=Object.prototype.hasOwnProperty.call(A,O)?A[O]:b,k;Y?Y.subscribe(U):(Y=A[O]=new f.T,Y.subscribe(U),E(O,function(J,z){var te=!(!z||!z.synchronous);N[O]={definition:J,Gd:te},delete A[O],k||te?Y.notifySubscribers(J):f.na.zb(function(){Y.notifySubscribers(J)})}),k=!0)}function E(O,U){X("getConfig",[O],function(Y){Y?X("loadComponent",[O,Y],function(k){U(k,Y)}):U(null,null)})}function X(O,U,Y,k){k||(k=f.j.loaders.slice(0));var J=k.shift();if(J){var z=J[O];if(z){var te=!1;if(z.apply(J,U.concat(function(H){te?Y(null):H!==null?Y(H):X(O,U,Y,k)}))!==b&&(te=!0,!J.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else X(O,U,Y,k)}else Y(null)}var A={},N={};f.j={get:function(O,U){var Y=Object.prototype.hasOwnProperty.call(N,O)?N[O]:b;Y?Y.Gd?f.u.G(function(){U(Y.definition)}):f.na.zb(function(){U(Y.definition)}):R(O,U)},Bc:function(O){delete N[O]},oc:X},f.j.loaders=[],f.b("components",f.j),f.b("components.get",f.j.get),f.b("components.clearCachedDefinition",f.j.Bc)}(),function(){function b(Y,k,J,z){function te(){--q===0&&z(H)}var H={},q=2,ee=J.template;J=J.viewModel,ee?A(k,ee,function(pe){f.j.oc("loadTemplate",[Y,pe],function(_e){H.template=_e,te()})}):te(),J?A(k,J,function(pe){f.j.oc("loadViewModel",[Y,pe],function(_e){H[U]=_e,te()})}):te()}function R(Y,k,J){if(typeof k=="function")J(function(te){return new k(te)});else if(typeof k[U]=="function")J(k[U]);else if("instance"in k){var z=k.instance;J(function(){return z})}else"viewModel"in k?R(Y,k.viewModel,J):Y("Unknown viewModel value: "+k)}function E(Y){switch(f.a.R(Y)){case"script":return f.a.ua(Y.text);case"textarea":return f.a.ua(Y.value);case"template":if(X(Y.content))return f.a.Ca(Y.content.childNodes)}return f.a.Ca(Y.childNodes)}function X(Y){return t.DocumentFragment?Y instanceof DocumentFragment:Y&&Y.nodeType===11}function A(Y,k,J){typeof k.require=="string"?a||t.require?(a||t.require)([k.require],function(z){z&&typeof z=="object"&&z.Xd&&z.default&&(z=z.default),J(z)}):Y("Uses require, but no AMD loader is present"):J(k)}function N(Y){return function(k){throw Error("Component '"+Y+"': "+k)}}var O={};f.j.register=function(Y,k){if(!k)throw Error("Invalid configuration for "+Y);if(f.j.tb(Y))throw Error("Component "+Y+" is already registered");O[Y]=k},f.j.tb=function(Y){return Object.prototype.hasOwnProperty.call(O,Y)},f.j.unregister=function(Y){delete O[Y],f.j.Bc(Y)},f.j.Fc={getConfig:function(Y,k){k(f.j.tb(Y)?O[Y]:null)},loadComponent:function(Y,k,J){var z=N(Y);A(z,k,function(te){b(Y,z,te,J)})},loadTemplate:function(Y,k,J){if(Y=N(Y),typeof k=="string")J(f.a.ua(k));else if(k instanceof Array)J(k);else if(X(k))J(f.a.la(k.childNodes));else if(k.element)if(k=k.element,t.HTMLElement?k instanceof HTMLElement:k&&k.tagName&&k.nodeType===1)J(E(k));else if(typeof k=="string"){var z=n.getElementById(k);z?J(E(z)):Y("Cannot find element with ID "+k)}else Y("Unknown element type: "+k);else Y("Unknown template value: "+k)},loadViewModel:function(Y,k,J){R(N(Y),k,J)}};var U="createViewModel";f.b("components.register",f.j.register),f.b("components.isRegistered",f.j.tb),f.b("components.unregister",f.j.unregister),f.b("components.defaultLoader",f.j.Fc),f.j.loaders.push(f.j.Fc),f.j.dd=O}(),function(){function b(E,X){var A=E.getAttribute("params");if(A){var A=R.parseBindingsString(A,X,E,{valueAccessors:!0,bindingParams:!0}),A=f.a.Ga(A,function(U){return f.o(U,null,{l:E})}),N=f.a.Ga(A,function(U){var Y=U.v();return U.ja()?f.o({read:function(){return f.a.f(U())},write:f.Za(Y)&&function(k){U()(k)},l:E}):Y});return Object.prototype.hasOwnProperty.call(N,"$raw")||(N.$raw=A),N}return{$raw:{}}}f.j.getComponentNameForNode=function(E){var X=f.a.R(E);if(f.j.tb(X)&&(X.indexOf("-")!=-1||""+E=="[object HTMLUnknownElement]"||8>=f.a.W&&E.tagName===X))return X},f.j.tc=function(E,X,A,N){if(X.nodeType===1){var O=f.j.getComponentNameForNode(X);if(O){if(E=E||{},E.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var U={name:O,params:b(X,A)};E.component=N?function(){return U}:U}}return E};var R=new f.ga;9>f.a.W&&(f.j.register=function(E){return function(X){return E.apply(this,arguments)}}(f.j.register),n.createDocumentFragment=function(E){return function(){var X=E(),A=f.j.dd,N;for(N in A);return X}}(n.createDocumentFragment))}(),function(){function b(X,A,N){if(A=A.template,!A)throw Error("Component '"+X+"' has no template");X=f.a.Ca(A),f.h.va(N,X)}function R(X,A,N){var O=X.createViewModel;return O?O.call(X,A,N):A}var E=0;f.c.component={init:function(X,A,N,O,U){function Y(){var H=k&&k.dispose;typeof H=="function"&&H.call(k),z&&z.s(),J=k=z=null}var k,J,z,te=f.a.la(f.h.childNodes(X));return f.h.Ea(X),f.a.K.za(X,Y),f.o(function(){var H=f.a.f(A()),q,ee;if(typeof H=="string"?q=H:(q=f.a.f(H.name),ee=f.a.f(H.params)),!q)throw Error("No component name specified");var pe=f.i.Cb(X,U),_e=J=++E;f.j.get(q,function(ae){if(J===_e){if(Y(),!ae)throw Error("Unknown component '"+q+"'");b(q,ae,X);var ye=R(ae,ee,{element:X,templateNodes:te});ae=pe.createChildContext(ye,{extend:function(Te){Te.$component=ye,Te.$componentTemplateNodes=te}}),ye&&ye.koDescendantsComplete&&(z=f.i.subscribe(X,f.i.pa,ye.koDescendantsComplete,ye)),k=ye,f.Oa(ae,X)}})},null,{l:X}),{controlsDescendantBindings:!0}}},f.h.ea.component=!0}();var w={class:"className",for:"htmlFor"};f.c.attr={update:function(b,R){var E=f.a.f(R())||{};f.a.P(E,function(X,A){A=f.a.f(A);var N=X.indexOf(":"),N="lookupNamespaceURI"in b&&0<N&&b.lookupNamespaceURI(X.substr(0,N)),O=A===!1||A===null||A===e;O?N?b.removeAttributeNS(N,X):b.removeAttribute(X):A=A.toString(),8>=f.a.W&&X in w?(X=w[X],O?b.removeAttribute(X):b[X]=A):O||(N?b.setAttributeNS(N,X,A):b.setAttribute(X,A)),X==="name"&&f.a.Yc(b,O?"":A)})}},function(){f.c.checked={after:["value","attr"],init:function(b,R,E){function X(){var H=b.checked,q=N();if(!f.S.Ya()&&(H||!U&&!f.S.qa())){var ee=f.u.G(R);if(k){var pe=J?ee.v():ee,_e=te;te=q,_e!==q?H&&(f.a.Na(pe,q,!0),f.a.Na(pe,_e,!1)):f.a.Na(pe,q,H),J&&f.Za(ee)&&ee(pe)}else O&&(q===e?q=H:H||(q=e)),f.m.eb(ee,E,"checked",q,!0)}}function A(){var H=f.a.f(R()),q=N();k?(b.checked=0<=f.a.A(H,q),te=q):b.checked=O&&q===e?!!H:N()===H}var N=f.xb(function(){if(E.has("checkedValue"))return f.a.f(E.get("checkedValue"));if(z)return E.has("value")?f.a.f(E.get("value")):b.value}),O=b.type=="checkbox",U=b.type=="radio";if(O||U){var Y=R(),k=O&&f.a.f(Y)instanceof Array,J=!(k&&Y.push&&Y.splice),z=U||k,te=k?N():e;U&&!b.name&&f.c.uniqueName.init(b,function(){return!0}),f.o(X,null,{l:b}),f.a.B(b,"click",X),f.o(A,null,{l:b}),Y=e}}},f.m.wa.checked=!0,f.c.checkedValue={update:function(b,R){b.value=f.a.f(R())}}}(),f.c.class={update:function(b,R){var E=f.a.Db(f.a.f(R()));f.a.Eb(b,b.__ko__cssValue,!1),b.__ko__cssValue=E,f.a.Eb(b,E,!0)}},f.c.css={update:function(b,R){var E=f.a.f(R());E!==null&&typeof E=="object"?f.a.P(E,function(X,A){A=f.a.f(A),f.a.Eb(b,X,A)}):f.c.class.update(b,R)}},f.c.enable={update:function(b,R){var E=f.a.f(R());E&&b.disabled?b.removeAttribute("disabled"):E||b.disabled||(b.disabled=!0)}},f.c.disable={update:function(b,R){f.c.enable.update(b,function(){return!f.a.f(R())})}},f.c.event={init:function(b,R,E,X,A){var N=R()||{};f.a.P(N,function(O){typeof O=="string"&&f.a.B(b,O,function(U){var Y,k=R()[O];if(k){try{var J=f.a.la(arguments);X=A.$data,J.unshift(X),Y=k.apply(X,J)}finally{Y!==!0&&(U.preventDefault?U.preventDefault():U.returnValue=!1)}E.get(O+"Bubble")===!1&&(U.cancelBubble=!0,U.stopPropagation&&U.stopPropagation())}})})}},f.c.foreach={Rc:function(b){return function(){var R=b(),E=f.a.bc(R);return!E||typeof E.length=="number"?{foreach:R,templateEngine:f.ba.Ma}:(f.a.f(R),{foreach:E.data,as:E.as,noChildContext:E.noChildContext,includeDestroyed:E.includeDestroyed,afterAdd:E.afterAdd,beforeRemove:E.beforeRemove,afterRender:E.afterRender,beforeMove:E.beforeMove,afterMove:E.afterMove,templateEngine:f.ba.Ma})}},init:function(b,R){return f.c.template.init(b,f.c.foreach.Rc(R))},update:function(b,R,E,X,A){return f.c.template.update(b,f.c.foreach.Rc(R),E,X,A)}},f.m.Ra.foreach=!1,f.h.ea.foreach=!0,f.c.hasfocus={init:function(b,R,E){function X(O){b.__ko_hasfocusUpdating=!0;var U=b.ownerDocument;if("activeElement"in U){var Y;try{Y=U.activeElement}catch{Y=U.body}O=Y===b}U=R(),f.m.eb(U,E,"hasfocus",O,!0),b.__ko_hasfocusLastValue=O,b.__ko_hasfocusUpdating=!1}var A=X.bind(null,!0),N=X.bind(null,!1);f.a.B(b,"focus",A),f.a.B(b,"focusin",A),f.a.B(b,"blur",N),f.a.B(b,"focusout",N),b.__ko_hasfocusLastValue=!1},update:function(b,R){var E=!!f.a.f(R());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===E||(E?b.focus():b.blur(),!E&&b.__ko_hasfocusLastValue&&b.ownerDocument.body.focus(),f.u.G(f.a.Fb,null,[b,E?"focusin":"focusout"]))}},f.m.wa.hasfocus=!0,f.c.hasFocus=f.c.hasfocus,f.m.wa.hasFocus="hasfocus",f.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(b,R){f.a.fc(b,R())}},function(){function b(R,E,X){f.c[R]={init:function(A,N,O,U,Y){var k,J,z={},te,H,q;if(E){U=O.get("as");var ee=O.get("noChildContext");q=!(U&&ee),z={as:U,noChildContext:ee,exportDependencies:q}}return H=(te=O.get("completeOn")=="render")||O.has(f.i.pa),f.o(function(){var pe=f.a.f(N()),_e=!X!=!pe,ae=!J,ye;(q||_e!==k)&&(H&&(Y=f.i.Cb(A,Y)),_e&&((!E||q)&&(z.dataDependency=f.S.o()),ye=E?Y.createChildContext(typeof pe=="function"?pe:N,z):f.S.qa()?Y.extend(null,z):Y),ae&&f.S.qa()&&(J=f.a.Ca(f.h.childNodes(A),!0)),_e?(ae||f.h.va(A,f.a.Ca(J)),f.Oa(ye,A)):(f.h.Ea(A),te||f.i.ma(A,f.i.H)),k=_e)},null,{l:A}),{controlsDescendantBindings:!0}}},f.m.Ra[R]=!1,f.h.ea[R]=!0}b("if"),b("ifnot",!1,!0),b("with",!0)}(),f.c.let={init:function(b,R,E,X,A){return R=A.extend(R),f.Oa(R,b),{controlsDescendantBindings:!0}}},f.h.ea.let=!0;var F={};f.c.options={init:function(b){if(f.a.R(b)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:function(b,R,E){function X(){return f.a.jb(b.options,function(ee){return ee.selected})}function A(ee,pe,_e){var ae=typeof pe;return ae=="function"?pe(ee):ae=="string"?ee[pe]:_e}function N(ee,pe){if(H&&k)f.i.ma(b,f.i.H);else if(te.length){var _e=0<=f.a.A(te,f.w.M(pe[0]));f.a.Zc(pe[0],_e),H&&!_e&&f.u.G(f.a.Fb,null,[b,"change"])}}var O=b.multiple,U=b.length!=0&&O?b.scrollTop:null,Y=f.a.f(R()),k=E.get("valueAllowUnset")&&E.has("value"),J=E.get("optionsIncludeDestroyed");R={};var z,te=[];k||(O?te=f.a.Mb(X(),f.w.M):0<=b.selectedIndex&&te.push(f.w.M(b.options[b.selectedIndex]))),Y&&(typeof Y.length>"u"&&(Y=[Y]),z=f.a.jb(Y,function(ee){return J||ee===e||ee===null||!f.a.f(ee._destroy)}),E.has("optionsCaption")&&(Y=f.a.f(E.get("optionsCaption")),Y!==null&&Y!==e&&z.unshift(F)));var H=!1;if(R.beforeRemove=function(ee){b.removeChild(ee)},Y=N,E.has("optionsAfterRender")&&typeof E.get("optionsAfterRender")=="function"&&(Y=function(ee,pe){N(0,pe),f.u.G(E.get("optionsAfterRender"),null,[pe[0],ee!==F?ee:e])}),f.a.ec(b,z,function(ee,pe,_e){return _e.length&&(te=!k&&_e[0].selected?[f.w.M(_e[0])]:[],H=!0),pe=b.ownerDocument.createElement("option"),ee===F?(f.a.Bb(pe,E.get("optionsCaption")),f.w.cb(pe,e)):(_e=A(ee,E.get("optionsValue"),ee),f.w.cb(pe,f.a.f(_e)),ee=A(ee,E.get("optionsText"),_e),f.a.Bb(pe,ee)),[pe]},R,Y),!k){var q;O?q=te.length&&X().length<te.length:q=te.length&&0<=b.selectedIndex?f.w.M(b.options[b.selectedIndex])!==te[0]:te.length||0<=b.selectedIndex,q&&f.u.G(f.a.Fb,null,[b,"change"])}(k||f.S.Ya())&&f.i.ma(b,f.i.H),f.a.wd(b),U&&20<Math.abs(U-b.scrollTop)&&(b.scrollTop=U)}},f.c.options.$b=f.a.g.Z(),f.c.selectedOptions={init:function(b,R,E){function X(){var O=R(),U=[];f.a.D(b.getElementsByTagName("option"),function(Y){Y.selected&&U.push(f.w.M(Y))}),f.m.eb(O,E,"selectedOptions",U)}function A(){var O=f.a.f(R()),U=b.scrollTop;O&&typeof O.length=="number"&&f.a.D(b.getElementsByTagName("option"),function(Y){var k=0<=f.a.A(O,f.w.M(Y));Y.selected!=k&&f.a.Zc(Y,k)}),b.scrollTop=U}if(f.a.R(b)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var N;f.i.subscribe(b,f.i.H,function(){N?X():(f.a.B(b,"change",X),N=f.o(A,null,{l:b}))},null,{notifyImmediately:!0})},update:function(){}},f.m.wa.selectedOptions=!0,f.c.style={update:function(b,R){var E=f.a.f(R()||{});f.a.P(E,function(X,A){if(A=f.a.f(A),(A===null||A===e||A===!1)&&(A=""),o)o(b).css(X,A);else if(/^--/.test(X))b.style.setProperty(X,A);else{X=X.replace(/-(\w)/g,function(O,U){return U.toUpperCase()});var N=b.style[X];b.style[X]=A,A===N||b.style[X]!=N||isNaN(A)||(b.style[X]=A+"px")}})}},f.c.submit={init:function(b,R,E,X,A){if(typeof R()!="function")throw Error("The value for a submit binding must be a function");f.a.B(b,"submit",function(N){var O,U=R();try{O=U.call(A.$data,b)}finally{O!==!0&&(N.preventDefault?N.preventDefault():N.returnValue=!1)}})}},f.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(b,R){f.a.Bb(b,R())}},f.h.ea.text=!0,function(){if(t&&t.navigator){var b=function(z){if(z)return parseFloat(z[1])},R=t.navigator.userAgent,E,X,A,N,O;(E=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(O=b(R.match(/Edge\/([^ ]+)$/)))||b(R.match(/Chrome\/([^ ]+)/))||(X=b(R.match(/Version\/([^ ]+) Safari/)))||(A=b(R.match(/Firefox\/([^ ]+)/)))||(N=f.a.W||b(R.match(/MSIE ([^ ]+)/)))||(N=b(R.match(/rv:([^ )]+)/)))}if(8<=N&&10>N)var U=f.a.g.Z(),Y=f.a.g.Z(),k=function(z){var te=this.activeElement;(te=te&&f.a.g.get(te,Y))&&te(z)},J=function(z,te){var H=z.ownerDocument;f.a.g.get(H,U)||(f.a.g.set(H,U,!0),f.a.B(H,"selectionchange",k)),f.a.g.set(z,Y,te)};f.c.textInput={init:function(z,te,H){function q(ve,we){f.a.B(z,ve,we)}function ee(){var ve=f.a.f(te());(ve===null||ve===e)&&(ve=""),Te!==e&&ve===Te?f.a.setTimeout(ee,4):z.value!==ve&&(Ee=!0,z.value=ve,Ee=!1,ae=z.value)}function pe(){ye||(Te=z.value,ye=f.a.setTimeout(_e,4))}function _e(){clearTimeout(ye),Te=ye=e;var ve=z.value;ae!==ve&&(ae=ve,f.m.eb(te(),H,"textInput",ve))}var ae=z.value,ye,Te,Ie=f.a.W==9?pe:_e,Ee=!1;N&&q("keypress",_e),11>N&&q("propertychange",function(ve){Ee||ve.propertyName!=="value"||Ie(ve)}),N==8&&(q("keyup",_e),q("keydown",_e)),J&&(J(z,Ie),q("dragend",pe)),(!N||9<=N)&&q("input",Ie),5>X&&f.a.R(z)==="textarea"?(q("keydown",pe),q("paste",pe),q("cut",pe)):11>E?q("keydown",pe):4>A?(q("DOMAutoComplete",_e),q("dragdrop",_e),q("drop",_e)):O&&z.type==="number"&&q("keydown",pe),q("change",_e),q("blur",_e),f.o(ee,null,{l:z})}},f.m.wa.textInput=!0,f.c.textinput={preprocess:function(z,te,H){H("textInput",z)}}}(),f.c.uniqueName={init:function(b,R){if(R()){var E="ko_unique_"+ ++f.c.uniqueName.rd;f.a.Yc(b,E)}}},f.c.uniqueName.rd=0,f.c.using={init:function(b,R,E,X,A){var N;return E.has("as")&&(N={as:E.get("as"),noChildContext:E.get("noChildContext")}),R=A.createChildContext(R,N),f.Oa(R,b),{controlsDescendantBindings:!0}}},f.h.ea.using=!0,f.c.value={init:function(b,R,E){var X=f.a.R(b),A=X=="input";if(!A||b.type!="checkbox"&&b.type!="radio"){var N=[],O=E.get("valueUpdate"),U=!1,Y=null;O&&(typeof O=="string"?N=[O]:N=f.a.wc(O),f.a.Pa(N,"change"));var k=function(){Y=null,U=!1;var te=R(),H=f.w.M(b);f.m.eb(te,E,"value",H)};!f.a.W||!A||b.type!="text"||b.autocomplete=="off"||b.form&&b.form.autocomplete=="off"||f.a.A(N,"propertychange")!=-1||(f.a.B(b,"propertychange",function(){U=!0}),f.a.B(b,"focus",function(){U=!1}),f.a.B(b,"blur",function(){U&&k()})),f.a.D(N,function(te){var H=k;f.a.Ud(te,"after")&&(H=function(){Y=f.w.M(b),f.a.setTimeout(k,0)},te=te.substring(5)),f.a.B(b,te,H)});var J;if(J=A&&b.type=="file"?function(){var te=f.a.f(R());te===null||te===e||te===""?b.value="":f.u.G(k)}:function(){var te=f.a.f(R()),H=f.w.M(b);Y!==null&&te===Y?f.a.setTimeout(J,0):(te!==H||H===e)&&(X==="select"?(H=E.get("valueAllowUnset"),f.w.cb(b,te,H),H||te===f.w.M(b)||f.u.G(k)):f.w.cb(b,te))},X==="select"){var z;f.i.subscribe(b,f.i.H,function(){z?E.get("valueAllowUnset")?J():k():(f.a.B(b,"change",k),z=f.o(J,null,{l:b}))},null,{notifyImmediately:!0})}else f.a.B(b,"change",k),f.o(J,null,{l:b})}else f.ib(b,{checkedValue:R})},update:function(){}},f.m.wa.value=!0,f.c.visible={update:function(b,R){var E=f.a.f(R()),X=b.style.display!="none";E&&!X?b.style.display="":!E&&X&&(b.style.display="none")}},f.c.hidden={update:function(b,R){f.c.visible.update(b,function(){return!f.a.f(R())})}},function(b){f.c[b]={init:function(R,E,X,A,N){return f.c.event.init.call(this,R,function(){var O={};return O[b]=E(),O},X,A,N)}}}("click"),f.ca=function(){},f.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},f.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},f.ca.prototype.makeTemplateSource=function(b,R){if(typeof b=="string"){R=R||n;var E=R.getElementById(b);if(!E)throw Error("Cannot find template with ID "+b);return new f.C.F(E)}if(b.nodeType==1||b.nodeType==8)return new f.C.ia(b);throw Error("Unknown template type: "+b)},f.ca.prototype.renderTemplate=function(b,R,E,X){return b=this.makeTemplateSource(b,X),this.renderTemplateSource(b,R,E,X)},f.ca.prototype.isTemplateRewritten=function(b,R){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(b,R).data("isRewritten")},f.ca.prototype.rewriteTemplate=function(b,R,E){b=this.makeTemplateSource(b,E),R=R(b.text()),b.text(R),b.data("isRewritten",!0)},f.b("templateEngine",f.ca),f.kc=function(){function b(X,A,N,O){X=f.m.ac(X);for(var U=f.m.Ra,Y=0;Y<X.length;Y++){var k=X[Y].key;if(Object.prototype.hasOwnProperty.call(U,k)){var J=U[k];if(typeof J=="function"){if(k=J(X[Y].value))throw Error(k)}else if(!J)throw Error("This template engine does not support the '"+k+"' binding within its templates")}}return N="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+f.m.vb(X,{valueAccessors:!0})+" } })()},'"+N.toLowerCase()+"')",O.createJavaScriptEvaluatorBlock(N)+A}var R=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,E=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(X,A,N){A.isTemplateRewritten(X,N)||A.rewriteTemplate(X,function(O){return f.kc.Ld(O,A)},N)},Ld:function(X,A){return X.replace(R,function(N,O,U,Y,k){return b(k,O,U,A)}).replace(E,function(N,O){return b(O,"<!-- ko -->","#comment",A)})},md:function(X,A){return f.aa.Xb(function(N,O){var U=N.nextSibling;U&&U.nodeName.toLowerCase()===A&&f.ib(U,X,O)})}}}(),f.b("__tr_ambtns",f.kc.md),function(){f.C={},f.C.F=function(E){if(this.F=E){var X=f.a.R(E);this.ab=X==="script"?1:X==="textarea"?2:X=="template"&&E.content&&E.content.nodeType===11?3:4}},f.C.F.prototype.text=function(){var E=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[E];var X=arguments[0];E==="innerHTML"?f.a.fc(this.F,X):this.F[E]=X};var b=f.a.g.Z()+"_";f.C.F.prototype.data=function(E){if(arguments.length===1)return f.a.g.get(this.F,b+E);f.a.g.set(this.F,b+E,arguments[1])};var R=f.a.g.Z();f.C.F.prototype.nodes=function(){var E=this.F;if(arguments.length==0){var X=f.a.g.get(E,R)||{},A=X.lb||(this.ab===3?E.content:this.ab===4?E:e);if(!A||X.jd){var N=this.text();N&&N!==X.bb&&(A=f.a.Md(N,E.ownerDocument),f.a.g.set(E,R,{lb:A,bb:N,jd:!0}))}return A}X=arguments[0],this.ab!==e&&this.text(""),f.a.g.set(E,R,{lb:X})},f.C.ia=function(E){this.F=E},f.C.ia.prototype=new f.C.F,f.C.ia.prototype.constructor=f.C.ia,f.C.ia.prototype.text=function(){if(arguments.length==0){var E=f.a.g.get(this.F,R)||{};return E.bb===e&&E.lb&&(E.bb=E.lb.innerHTML),E.bb}f.a.g.set(this.F,R,{bb:arguments[0]})},f.b("templateSources",f.C),f.b("templateSources.domElement",f.C.F),f.b("templateSources.anonymousTemplate",f.C.ia)}(),function(){function b(Y,k,J){var z;for(k=f.h.nextSibling(k);Y&&(z=Y)!==k;)Y=f.h.nextSibling(z),J(z,Y)}function R(Y,k){if(Y.length){var J=Y[0],z=Y[Y.length-1],te=J.parentNode,H=f.ga.instance,q=H.preprocessNode;if(q){if(b(J,z,function(ee,pe){var _e=ee.previousSibling,ae=q.call(H,ee);ae&&(ee===J&&(J=ae[0]||pe),ee===z&&(z=ae[ae.length-1]||_e))}),Y.length=0,!J)return;J===z?Y.push(J):(Y.push(J,z),f.a.Ua(Y,te))}b(J,z,function(ee){ee.nodeType!==1&&ee.nodeType!==8||f.vc(k,ee)}),b(J,z,function(ee){ee.nodeType!==1&&ee.nodeType!==8||f.aa.cd(ee,[k])}),f.a.Ua(Y,te)}}function E(Y){return Y.nodeType?Y:0<Y.length?Y[0]:null}function X(Y,k,J,z,te){te=te||{};var H=(Y&&E(Y)||J||{}).ownerDocument,q=te.templateEngine||N;if(f.kc.xd(J,q,H),J=q.renderTemplate(J,z,te,H),typeof J.length!="number"||0<J.length&&typeof J[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(H=!1,k){case"replaceChildren":f.h.va(Y,J),H=!0;break;case"replaceNode":f.a.Xc(Y,J),H=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k)}return H&&(R(J,z),te.afterRender&&f.u.G(te.afterRender,null,[J,z[te.as||"$data"]]),k=="replaceChildren"&&f.i.ma(Y,f.i.H)),J}function A(Y,k,J){return f.O(Y)?Y():typeof Y=="function"?Y(k,J):Y}var N;f.gc=function(Y){if(Y!=e&&!(Y instanceof f.ca))throw Error("templateEngine must inherit from ko.templateEngine");N=Y},f.dc=function(Y,k,J,z,te){if(J=J||{},(J.templateEngine||N)==e)throw Error("Set a template engine before calling renderTemplate");if(te=te||"replaceChildren",z){var H=E(z);return f.$(function(){var ee=k&&k instanceof f.fa?k:new f.fa(k,null,null,null,{exportDependencies:!0}),q=A(Y,ee.$data,ee),ee=X(z,te,q,ee,J);te=="replaceNode"&&(z=ee,H=E(z))},null,{Sa:function(){return!H||!f.a.Sb(H)},l:H&&te=="replaceNode"?H.parentNode:H})}return f.aa.Xb(function(q){f.dc(Y,k,J,q,"replaceNode")})},f.Qd=function(Y,k,J,z,te){function H(Te,Ie){f.u.G(f.a.ec,null,[z,Te,ee,J,q,Ie]),f.i.ma(z,f.i.H)}function q(Te,Ie){R(Ie,pe),J.afterRender&&J.afterRender(Ie,Te),pe=null}function ee(Te,Ie){pe=te.createChildContext(Te,{as:_e,noChildContext:J.noChildContext,extend:function(ve){ve.$index=Ie,_e&&(ve[_e+"Index"]=Ie)}});var Ee=A(Y,Te,pe);return X(z,"ignoreTargetNode",Ee,pe,J)}var pe,_e=J.as,ae=J.includeDestroyed===!1||f.options.foreachHidesDestroyed&&!J.includeDestroyed;if(ae||J.beforeRemove||!f.Pc(k))return f.$(function(){var Te=f.a.f(k)||[];typeof Te.length>"u"&&(Te=[Te]),ae&&(Te=f.a.jb(Te,function(Ie){return Ie===e||Ie===null||!f.a.f(Ie._destroy)})),H(Te)},null,{l:z});H(k.v());var ye=k.subscribe(function(Te){H(k(),Te)},null,"arrayChange");return ye.l(z),ye};var O=f.a.g.Z(),U=f.a.g.Z();f.c.template={init:function(Y,k){var J=f.a.f(k());if(typeof J=="string"||"name"in J)f.h.Ea(Y);else if("nodes"in J){if(J=J.nodes||[],f.O(J))throw Error('The "nodes" option must be a plain, non-observable array.');var z=J[0]&&J[0].parentNode;z&&f.a.g.get(z,U)||(z=f.a.Yb(J),f.a.g.set(z,U,!0)),new f.C.ia(Y).nodes(z)}else if(J=f.h.childNodes(Y),0<J.length)z=f.a.Yb(J),new f.C.ia(Y).nodes(z);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(Y,k,J,z,te){var H=k();k=f.a.f(H),J=!0,z=null,typeof k=="string"?k={}:(H="name"in k?k.name:Y,"if"in k&&(J=f.a.f(k.if)),J&&"ifnot"in k&&(J=!f.a.f(k.ifnot)),J&&!H&&(J=!1)),"foreach"in k?z=f.Qd(H,J&&k.foreach||[],k,Y,te):J?(J=te,"data"in k&&(J=te.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),z=f.dc(H,J,k,Y)):f.h.Ea(Y),te=z,(k=f.a.g.get(Y,O))&&typeof k.s=="function"&&k.s(),f.a.g.set(Y,O,!te||te.ja&&!te.ja()?e:te)}},f.m.Ra.template=function(Y){return Y=f.m.ac(Y),Y.length==1&&Y[0].unknown||f.m.Id(Y,"name")?null:"This template engine does not support anonymous templates nested within its templates"},f.h.ea.template=!0}(),f.b("setTemplateEngine",f.gc),f.b("renderTemplate",f.dc),f.a.Kc=function(b,R,E){if(b.length&&R.length){var X,A,N,O,U;for(X=A=0;(!E||X<E)&&(O=b[A]);++A){for(N=0;U=R[N];++N)if(O.value===U.value){O.moved=U.index,U.moved=O.index,R.splice(N,1),X=N=0;break}X+=N}}},f.a.Pb=function(){function b(R,E,X,A,N){var O=Math.min,U=Math.max,Y=[],k,J=R.length,z,te=E.length,H=te-J||1,q=J+te+1,ee,pe,_e;for(k=0;k<=J;k++)for(pe=ee,Y.push(ee=[]),_e=O(te,k+H),z=U(0,k-1);z<=_e;z++)ee[z]=z?k?R[k-1]===E[z-1]?pe[z-1]:O(pe[z]||q,ee[z-1]||q)+1:z+1:k+1;for(O=[],U=[],H=[],k=J,z=te;k||z;)te=Y[k][z]-1,z&&te===Y[k][z-1]?U.push(O[O.length]={status:X,value:E[--z],index:z}):k&&te===Y[k-1][z]?H.push(O[O.length]={status:A,value:R[--k],index:k}):(--z,--k,N.sparse||O.push({status:"retained",value:E[z]}));return f.a.Kc(H,U,!N.dontLimitMoves&&10*J),O.reverse()}return function(R,E,X){return X=typeof X=="boolean"?{dontLimitMoves:X}:X||{},R=R||[],E=E||[],R.length<E.length?b(R,E,"added","deleted",X):b(E,R,"deleted","added",X)}}(),f.b("utils.compareArrays",f.a.Pb),function(){function b(X,A,N,O,U){var Y=[],k=f.$(function(){var J=A(N,U,f.a.Ua(Y,X))||[];0<Y.length&&(f.a.Xc(Y,J),O&&f.u.G(O,null,[N,J,U])),Y.length=0,f.a.Nb(Y,J)},null,{l:X,Sa:function(){return!f.a.kd(Y)}});return{Y,$:k.ja()?k:e}}var R=f.a.g.Z(),E=f.a.g.Z();f.a.ec=function(X,A,N,O,U,Y){function k(Qe){Ee={Aa:Qe,pb:f.ta(pe++)},q.push(Ee),H||Ie.push(Ee)}function J(Qe){Ee=te[Qe],pe!==Ee.pb.v()&&Te.push(Ee),Ee.pb(pe++),f.a.Ua(Ee.Y,X),q.push(Ee)}function z(Qe,Ut){if(Qe)for(var Ce=0,Ve=Ut.length;Ce<Ve;Ce++)f.a.D(Ut[Ce].Y,function($t){Qe($t,Ce,Ut[Ce].Aa)})}A=A||[],typeof A.length>"u"&&(A=[A]),O=O||{};var te=f.a.g.get(X,R),H=!te,q=[],ee=0,pe=0,_e=[],ae=[],ye=[],Te=[],Ie=[],Ee,ve=0;if(H)f.a.D(A,k);else{if(!Y||te&&te._countWaitingForRemove){var we=f.a.Mb(te,function(Qe){return Qe.Aa});Y=f.a.Pb(we,A,{dontLimitMoves:O.dontLimitMoves,sparse:!0})}for(var we=0,pt,rt,Rt;pt=Y[we];we++)switch(rt=pt.moved,Rt=pt.index,pt.status){case"deleted":for(;ee<Rt;)J(ee++);rt===e&&(Ee=te[ee],Ee.$&&(Ee.$.s(),Ee.$=e),f.a.Ua(Ee.Y,X).length&&(O.beforeRemove&&(q.push(Ee),ve++,Ee.Aa===E?Ee=null:ye.push(Ee)),Ee&&_e.push.apply(_e,Ee.Y))),ee++;break;case"added":for(;pe<Rt;)J(ee++);rt!==e?(ae.push(q.length),J(rt)):k(pt.value)}for(;pe<A.length;)J(ee++);q._countWaitingForRemove=ve}f.a.g.set(X,R,q),z(O.beforeMove,Te),f.a.D(_e,O.beforeRemove?f.oa:f.removeNode);var Fe,ke,qe;try{qe=X.ownerDocument.activeElement}catch{}if(ae.length)for(;(we=ae.shift())!=e;){for(Ee=q[we],Fe=e;we;)if((ke=q[--we].Y)&&ke.length){Fe=ke[ke.length-1];break}for(A=0;ee=Ee.Y[A];Fe=ee,A++)f.h.Wb(X,ee,Fe)}for(we=0;Ee=q[we];we++){for(Ee.Y||f.a.extend(Ee,b(X,N,Ee.Aa,U,Ee.pb)),A=0;ee=Ee.Y[A];Fe=ee,A++)f.h.Wb(X,ee,Fe);!Ee.Ed&&U&&(U(Ee.Aa,Ee.Y,Ee.pb),Ee.Ed=!0,Fe=Ee.Y[Ee.Y.length-1])}for(qe&&X.ownerDocument.activeElement!=qe&&qe.focus(),z(O.beforeRemove,ye),we=0;we<ye.length;++we)ye[we].Aa=E;z(O.afterMove,Te),z(O.afterAdd,Ie)}}(),f.b("utils.setDomNodeChildrenFromArrayMapping",f.a.ec),f.ba=function(){this.allowTemplateRewriting=!1},f.ba.prototype=new f.ca,f.ba.prototype.constructor=f.ba,f.ba.prototype.renderTemplateSource=function(b,R,E,X){return(R=!(9>f.a.W)&&b.nodes?b.nodes():null)?f.a.la(R.cloneNode(!0).childNodes):(b=b.text(),f.a.ua(b,X))},f.ba.Ma=new f.ba,f.gc(f.ba.Ma),f.b("nativeTemplateEngine",f.ba),function(){f.$a=function(){var R=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(E,X,A,N){if(N=N||n,A=A||{},2>R)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var O=E.data("precompiled");return O||(O=E.text()||"",O=o.template(null,"{{ko_with $item.koBindingContext}}"+O+"{{/ko_with}}"),E.data("precompiled",O)),E=[X.$data],X=o.extend({koBindingContext:X},A.templateOptions),X=o.tmpl(O,E,X),X.appendTo(N.createElement("div")),o.fragments={},X},this.createJavaScriptEvaluatorBlock=function(E){return"{{ko_code ((function() { return "+E+" })()) }}"},this.addTemplate=function(E,X){n.write("<script type='text/html' id='"+E+"'>"+X+"<\/script>")},0<R&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},f.$a.prototype=new f.ca,f.$a.prototype.constructor=f.$a;var b=new f.$a;0<b.Hd&&f.gc(b),f.b("jqueryTmplTemplateEngine",f.$a)}()})})()})()})();var ZSt=ko;typeof window<"u"?(ko=window.ko,typeof D9<"u"?window.ko=D9:delete window.ko):(ko=global.ko,typeof D9<"u"?global.ko=D9:delete global.ko);var VS=ZSt;var GCo=T(S(),1);/** +Message: `+k.message,k}}}),f.ga.instance=new f.ga}(),f.b("bindingProvider",f.ga),function(){function b(ae){var ye=(ae=f.a.g.get(ae,_e))&&ae.N;ye&&(ae.N=null,ye.Tc())}function R(ae,ye,Te){this.node=ae,this.yc=ye,this.kb=[],this.H=!1,ye.N||f.a.K.za(ae,b),Te&&Te.N&&(Te.N.kb.push(ae),this.Kb=Te)}function E(ae){return function(){return ae}}function X(ae){return ae()}function F(ae){return f.a.Ga(f.u.G(ae),function(ye,Te){return function(){return ae()[Te]}})}function N(ae,ye,Te){return typeof ae=="function"?F(ae.bind(null,ye,Te)):f.a.Ga(ae,E)}function O(ae,ye){return F(this.getBindings.bind(this,ae,ye))}function U(ae,ye){var Te=f.h.firstChild(ye);if(Te){var Xe,Ie=f.ga.instance,Ae=Ie.preprocessNode;if(Ae){for(;Xe=Te;)Te=f.h.nextSibling(Xe),Ae.call(Ie,Xe);Te=f.h.firstChild(ye)}for(;Xe=Te;)Te=f.h.nextSibling(Xe),Y(ae,Xe)}f.i.ma(ye,f.i.H)}function Y(ae,ye){var Te=ae,Xe=ye.nodeType===1;Xe&&f.h.Sc(ye),(Xe||f.ga.instance.nodeHasBindings(ye))&&(Te=H(ye,null,ae).bindingContextForDescendants),Te&&!ee[f.a.R(ye)]&&U(Te,ye)}function k(ae){var ye=[],Te={},Xe=[];return f.a.P(ae,function Ie(Ae){if(!Te[Ae]){var Ve=f.getBindingHandler(Ae);Ve&&(Ve.after&&(Xe.push(Ae),f.a.D(Ve.after,function(Ne){if(ae[Ne]){if(f.a.A(Xe,Ne)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+Xe.join(", "));Ie(Ne)}}),Xe.length--),ye.push({key:Ae,Mc:Ve})),Te[Ae]=!0}}),ye}function H(ae,ye,Te){var Xe=f.a.g.Ub(ae,_e,{}),Ie=Xe.hd;if(!ye){if(Ie)throw Error("You cannot apply bindings multiple times to the same element.");Xe.hd=!0}Ie||(Xe.context=Te),Xe.Zb||(Xe.Zb={});var Ae;if(ye&&typeof ye!="function")Ae=ye;else{var Ve=f.ga.instance,Ne=Ve.getBindingAccessors||O,De=f.$(function(){return(Ae=ye?ye(Te,ae):Ne.call(Ve,ae,Te))&&(Te[te]&&Te[te](),Te[q]&&Te[q]()),Ae},null,{l:ae});Ae&&De.ja()||(De=null)}var $e=Te,Ke;if(Ae){var gt=function(){return f.a.Ga(De?De():Ae,X)},pt=De?function(St){return function(){return X(De()[St])}}:function(St){return Ae[St]};gt.get=function(St){return Ae[St]&&X(pt(St))},gt.has=function(St){return St in Ae},f.i.H in Ae&&f.i.subscribe(ae,f.i.H,function(){var St=(0,Ae[f.i.H])();if(St){var on=f.h.childNodes(ae);on.length&&St(on,f.Ec(on[0]))}}),f.i.pa in Ae&&($e=f.i.Cb(ae,Te),f.i.subscribe(ae,f.i.pa,function(){var St=(0,Ae[f.i.pa])();St&&f.h.firstChild(ae)&&St(ae)})),Xe=k(Ae),f.a.D(Xe,function(St){var on=St.Mc.init,Ce=St.Mc.update,Re=St.key;if(ae.nodeType===8&&!f.h.ea[Re])throw Error("The binding '"+Re+"' cannot be used with virtual elements");try{typeof on=="function"&&f.u.G(function(){var cn=on(ae,pt(Re),gt,$e.$data,$e);if(cn&&cn.controlsDescendantBindings){if(Ke!==e)throw Error("Multiple bindings ("+Ke+" and "+Re+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");Ke=Re}}),typeof Ce=="function"&&f.$(function(){Ce(ae,pt(Re),gt,$e.$data,$e)},null,{l:ae})}catch(cn){throw cn.message='Unable to process binding "'+Re+": "+Ae[Re]+`" +Message: `+cn.message,cn}})}return Xe=Ke===e,{shouldBindDescendants:Xe,bindingContextForDescendants:Xe&&$e}}function J(ae,ye){return ae&&ae instanceof f.fa?ae:new f.fa(ae,e,e,ye)}var te=f.a.Da("_subscribable"),z=f.a.Da("_ancestorBindingInfo"),q=f.a.Da("_dataDependency");f.c={};var ee={script:!0,textarea:!0,template:!0};f.getBindingHandler=function(ae){return f.c[ae]};var pe={};f.fa=function(ae,ye,Te,Xe,Ie){function Ae(){var pt=$e?De():De,St=f.a.f(pt);return ye?(f.a.extend(Ve,ye),z in ye&&(Ve[z]=ye[z])):(Ve.$parents=[],Ve.$root=St,Ve.ko=f),Ve[te]=Ke,Ne?St=Ve.$data:(Ve.$rawData=pt,Ve.$data=St),Te&&(Ve[Te]=St),Xe&&Xe(Ve,ye,St),ye&&ye[te]&&!f.S.o().Vb(ye[te])&&ye[te](),gt&&(Ve[q]=gt),Ve.$data}var Ve=this,Ne=ae===pe,De=Ne?e:ae,$e=typeof De=="function"&&!f.O(De),Ke,gt=Ie&&Ie.dataDependency;Ie&&Ie.exportDependencies?Ae():(Ke=f.xb(Ae),Ke.v(),Ke.ja()?Ke.equalityComparer=null:Ve[te]=e)},f.fa.prototype.createChildContext=function(ae,ye,Te,Xe){if(!Xe&&ye&&typeof ye=="object"&&(Xe=ye,ye=Xe.as,Te=Xe.extend),ye&&Xe&&Xe.noChildContext){var Ie=typeof ae=="function"&&!f.O(ae);return new f.fa(pe,this,null,function(Ae){Te&&Te(Ae),Ae[ye]=Ie?ae():ae},Xe)}return new f.fa(ae,this,ye,function(Ae,Ve){Ae.$parentContext=Ve,Ae.$parent=Ve.$data,Ae.$parents=(Ve.$parents||[]).slice(0),Ae.$parents.unshift(Ae.$parent),Te&&Te(Ae)},Xe)},f.fa.prototype.extend=function(ae,ye){return new f.fa(pe,this,null,function(Te){f.a.extend(Te,typeof ae=="function"?ae(Te):ae)},ye)};var _e=f.a.g.Z();R.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},R.prototype.sd=function(ae){f.a.Pa(this.kb,ae),!this.kb.length&&this.H&&this.Cc()},R.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,f.a.K.yb(this.node,b),f.i.ma(this.node,f.i.pa),this.Tc())},f.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(ae,ye,Te,Xe,Ie){var Ae=f.a.g.Ub(ae,_e,{});return Ae.Fa||(Ae.Fa=new f.T),Ie&&Ie.notifyImmediately&&Ae.Zb[ye]&&f.u.G(Te,Xe,[ae]),Ae.Fa.subscribe(Te,Xe,ye)},ma:function(ae,ye){var Te=f.a.g.get(ae,_e);if(Te&&(Te.Zb[ye]=!0,Te.Fa&&Te.Fa.notifySubscribers(ae,ye),ye==f.i.H)){if(Te.N)Te.N.Cc();else if(Te.N===e&&Te.Fa&&Te.Fa.Wa(f.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(ae,ye){var Te=f.a.g.Ub(ae,_e,{});return Te.N||(Te.N=new R(ae,Te,ye[z])),ye[z]==Te?ye:ye.extend(function(Xe){Xe[z]=Te})}},f.Td=function(ae){return(ae=f.a.g.get(ae,_e))&&ae.context},f.ib=function(ae,ye,Te){return ae.nodeType===1&&f.h.Sc(ae),H(ae,ye,J(Te))},f.ld=function(ae,ye,Te){return Te=J(Te),f.ib(ae,N(ye,Te,ae),Te)},f.Oa=function(ae,ye){ye.nodeType!==1&&ye.nodeType!==8||U(J(ae),ye)},f.vc=function(ae,ye,Te){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(ye=n.body,!ye)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!ye||ye.nodeType!==1&&ye.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");Y(J(ae,Te),ye)},f.Dc=function(ae){return!ae||ae.nodeType!==1&&ae.nodeType!==8?e:f.Td(ae)},f.Ec=function(ae){return(ae=f.Dc(ae))?ae.$data:e},f.b("bindingHandlers",f.c),f.b("bindingEvent",f.i),f.b("bindingEvent.subscribe",f.i.subscribe),f.b("bindingEvent.startPossiblyAsyncContentBinding",f.i.Cb),f.b("applyBindings",f.vc),f.b("applyBindingsToDescendants",f.Oa),f.b("applyBindingAccessorsToNode",f.ib),f.b("applyBindingsToNode",f.ld),f.b("contextFor",f.Dc),f.b("dataFor",f.Ec)}(),function(b){function R(O,U){var Y=Object.prototype.hasOwnProperty.call(F,O)?F[O]:b,k;Y?Y.subscribe(U):(Y=F[O]=new f.T,Y.subscribe(U),E(O,function(H,J){var te=!(!J||!J.synchronous);N[O]={definition:H,Gd:te},delete F[O],k||te?Y.notifySubscribers(H):f.na.zb(function(){Y.notifySubscribers(H)})}),k=!0)}function E(O,U){X("getConfig",[O],function(Y){Y?X("loadComponent",[O,Y],function(k){U(k,Y)}):U(null,null)})}function X(O,U,Y,k){k||(k=f.j.loaders.slice(0));var H=k.shift();if(H){var J=H[O];if(J){var te=!1;if(J.apply(H,U.concat(function(z){te?Y(null):z!==null?Y(z):X(O,U,Y,k)}))!==b&&(te=!0,!H.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else X(O,U,Y,k)}else Y(null)}var F={},N={};f.j={get:function(O,U){var Y=Object.prototype.hasOwnProperty.call(N,O)?N[O]:b;Y?Y.Gd?f.u.G(function(){U(Y.definition)}):f.na.zb(function(){U(Y.definition)}):R(O,U)},Bc:function(O){delete N[O]},oc:X},f.j.loaders=[],f.b("components",f.j),f.b("components.get",f.j.get),f.b("components.clearCachedDefinition",f.j.Bc)}(),function(){function b(Y,k,H,J){function te(){--q===0&&J(z)}var z={},q=2,ee=H.template;H=H.viewModel,ee?F(k,ee,function(pe){f.j.oc("loadTemplate",[Y,pe],function(_e){z.template=_e,te()})}):te(),H?F(k,H,function(pe){f.j.oc("loadViewModel",[Y,pe],function(_e){z[U]=_e,te()})}):te()}function R(Y,k,H){if(typeof k=="function")H(function(te){return new k(te)});else if(typeof k[U]=="function")H(k[U]);else if("instance"in k){var J=k.instance;H(function(){return J})}else"viewModel"in k?R(Y,k.viewModel,H):Y("Unknown viewModel value: "+k)}function E(Y){switch(f.a.R(Y)){case"script":return f.a.ua(Y.text);case"textarea":return f.a.ua(Y.value);case"template":if(X(Y.content))return f.a.Ca(Y.content.childNodes)}return f.a.Ca(Y.childNodes)}function X(Y){return t.DocumentFragment?Y instanceof DocumentFragment:Y&&Y.nodeType===11}function F(Y,k,H){typeof k.require=="string"?a||t.require?(a||t.require)([k.require],function(J){J&&typeof J=="object"&&J.Xd&&J.default&&(J=J.default),H(J)}):Y("Uses require, but no AMD loader is present"):H(k)}function N(Y){return function(k){throw Error("Component '"+Y+"': "+k)}}var O={};f.j.register=function(Y,k){if(!k)throw Error("Invalid configuration for "+Y);if(f.j.tb(Y))throw Error("Component "+Y+" is already registered");O[Y]=k},f.j.tb=function(Y){return Object.prototype.hasOwnProperty.call(O,Y)},f.j.unregister=function(Y){delete O[Y],f.j.Bc(Y)},f.j.Fc={getConfig:function(Y,k){k(f.j.tb(Y)?O[Y]:null)},loadComponent:function(Y,k,H){var J=N(Y);F(J,k,function(te){b(Y,J,te,H)})},loadTemplate:function(Y,k,H){if(Y=N(Y),typeof k=="string")H(f.a.ua(k));else if(k instanceof Array)H(k);else if(X(k))H(f.a.la(k.childNodes));else if(k.element)if(k=k.element,t.HTMLElement?k instanceof HTMLElement:k&&k.tagName&&k.nodeType===1)H(E(k));else if(typeof k=="string"){var J=n.getElementById(k);J?H(E(J)):Y("Cannot find element with ID "+k)}else Y("Unknown element type: "+k);else Y("Unknown template value: "+k)},loadViewModel:function(Y,k,H){R(N(Y),k,H)}};var U="createViewModel";f.b("components.register",f.j.register),f.b("components.isRegistered",f.j.tb),f.b("components.unregister",f.j.unregister),f.b("components.defaultLoader",f.j.Fc),f.j.loaders.push(f.j.Fc),f.j.dd=O}(),function(){function b(E,X){var F=E.getAttribute("params");if(F){var F=R.parseBindingsString(F,X,E,{valueAccessors:!0,bindingParams:!0}),F=f.a.Ga(F,function(U){return f.o(U,null,{l:E})}),N=f.a.Ga(F,function(U){var Y=U.v();return U.ja()?f.o({read:function(){return f.a.f(U())},write:f.Za(Y)&&function(k){U()(k)},l:E}):Y});return Object.prototype.hasOwnProperty.call(N,"$raw")||(N.$raw=F),N}return{$raw:{}}}f.j.getComponentNameForNode=function(E){var X=f.a.R(E);if(f.j.tb(X)&&(X.indexOf("-")!=-1||""+E=="[object HTMLUnknownElement]"||8>=f.a.W&&E.tagName===X))return X},f.j.tc=function(E,X,F,N){if(X.nodeType===1){var O=f.j.getComponentNameForNode(X);if(O){if(E=E||{},E.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var U={name:O,params:b(X,F)};E.component=N?function(){return U}:U}}return E};var R=new f.ga;9>f.a.W&&(f.j.register=function(E){return function(X){return E.apply(this,arguments)}}(f.j.register),n.createDocumentFragment=function(E){return function(){var X=E(),F=f.j.dd,N;for(N in F);return X}}(n.createDocumentFragment))}(),function(){function b(X,F,N){if(F=F.template,!F)throw Error("Component '"+X+"' has no template");X=f.a.Ca(F),f.h.va(N,X)}function R(X,F,N){var O=X.createViewModel;return O?O.call(X,F,N):F}var E=0;f.c.component={init:function(X,F,N,O,U){function Y(){var z=k&&k.dispose;typeof z=="function"&&z.call(k),J&&J.s(),H=k=J=null}var k,H,J,te=f.a.la(f.h.childNodes(X));return f.h.Ea(X),f.a.K.za(X,Y),f.o(function(){var z=f.a.f(F()),q,ee;if(typeof z=="string"?q=z:(q=f.a.f(z.name),ee=f.a.f(z.params)),!q)throw Error("No component name specified");var pe=f.i.Cb(X,U),_e=H=++E;f.j.get(q,function(ae){if(H===_e){if(Y(),!ae)throw Error("Unknown component '"+q+"'");b(q,ae,X);var ye=R(ae,ee,{element:X,templateNodes:te});ae=pe.createChildContext(ye,{extend:function(Te){Te.$component=ye,Te.$componentTemplateNodes=te}}),ye&&ye.koDescendantsComplete&&(J=f.i.subscribe(X,f.i.pa,ye.koDescendantsComplete,ye)),k=ye,f.Oa(ae,X)}})},null,{l:X}),{controlsDescendantBindings:!0}}},f.h.ea.component=!0}();var w={class:"className",for:"htmlFor"};f.c.attr={update:function(b,R){var E=f.a.f(R())||{};f.a.P(E,function(X,F){F=f.a.f(F);var N=X.indexOf(":"),N="lookupNamespaceURI"in b&&0<N&&b.lookupNamespaceURI(X.substr(0,N)),O=F===!1||F===null||F===e;O?N?b.removeAttributeNS(N,X):b.removeAttribute(X):F=F.toString(),8>=f.a.W&&X in w?(X=w[X],O?b.removeAttribute(X):b[X]=F):O||(N?b.setAttributeNS(N,X,F):b.setAttribute(X,F)),X==="name"&&f.a.Yc(b,O?"":F)})}},function(){f.c.checked={after:["value","attr"],init:function(b,R,E){function X(){var z=b.checked,q=N();if(!f.S.Ya()&&(z||!U&&!f.S.qa())){var ee=f.u.G(R);if(k){var pe=H?ee.v():ee,_e=te;te=q,_e!==q?z&&(f.a.Na(pe,q,!0),f.a.Na(pe,_e,!1)):f.a.Na(pe,q,z),H&&f.Za(ee)&&ee(pe)}else O&&(q===e?q=z:z||(q=e)),f.m.eb(ee,E,"checked",q,!0)}}function F(){var z=f.a.f(R()),q=N();k?(b.checked=0<=f.a.A(z,q),te=q):b.checked=O&&q===e?!!z:N()===z}var N=f.xb(function(){if(E.has("checkedValue"))return f.a.f(E.get("checkedValue"));if(J)return E.has("value")?f.a.f(E.get("value")):b.value}),O=b.type=="checkbox",U=b.type=="radio";if(O||U){var Y=R(),k=O&&f.a.f(Y)instanceof Array,H=!(k&&Y.push&&Y.splice),J=U||k,te=k?N():e;U&&!b.name&&f.c.uniqueName.init(b,function(){return!0}),f.o(X,null,{l:b}),f.a.B(b,"click",X),f.o(F,null,{l:b}),Y=e}}},f.m.wa.checked=!0,f.c.checkedValue={update:function(b,R){b.value=f.a.f(R())}}}(),f.c.class={update:function(b,R){var E=f.a.Db(f.a.f(R()));f.a.Eb(b,b.__ko__cssValue,!1),b.__ko__cssValue=E,f.a.Eb(b,E,!0)}},f.c.css={update:function(b,R){var E=f.a.f(R());E!==null&&typeof E=="object"?f.a.P(E,function(X,F){F=f.a.f(F),f.a.Eb(b,X,F)}):f.c.class.update(b,R)}},f.c.enable={update:function(b,R){var E=f.a.f(R());E&&b.disabled?b.removeAttribute("disabled"):E||b.disabled||(b.disabled=!0)}},f.c.disable={update:function(b,R){f.c.enable.update(b,function(){return!f.a.f(R())})}},f.c.event={init:function(b,R,E,X,F){var N=R()||{};f.a.P(N,function(O){typeof O=="string"&&f.a.B(b,O,function(U){var Y,k=R()[O];if(k){try{var H=f.a.la(arguments);X=F.$data,H.unshift(X),Y=k.apply(X,H)}finally{Y!==!0&&(U.preventDefault?U.preventDefault():U.returnValue=!1)}E.get(O+"Bubble")===!1&&(U.cancelBubble=!0,U.stopPropagation&&U.stopPropagation())}})})}},f.c.foreach={Rc:function(b){return function(){var R=b(),E=f.a.bc(R);return!E||typeof E.length=="number"?{foreach:R,templateEngine:f.ba.Ma}:(f.a.f(R),{foreach:E.data,as:E.as,noChildContext:E.noChildContext,includeDestroyed:E.includeDestroyed,afterAdd:E.afterAdd,beforeRemove:E.beforeRemove,afterRender:E.afterRender,beforeMove:E.beforeMove,afterMove:E.afterMove,templateEngine:f.ba.Ma})}},init:function(b,R){return f.c.template.init(b,f.c.foreach.Rc(R))},update:function(b,R,E,X,F){return f.c.template.update(b,f.c.foreach.Rc(R),E,X,F)}},f.m.Ra.foreach=!1,f.h.ea.foreach=!0,f.c.hasfocus={init:function(b,R,E){function X(O){b.__ko_hasfocusUpdating=!0;var U=b.ownerDocument;if("activeElement"in U){var Y;try{Y=U.activeElement}catch{Y=U.body}O=Y===b}U=R(),f.m.eb(U,E,"hasfocus",O,!0),b.__ko_hasfocusLastValue=O,b.__ko_hasfocusUpdating=!1}var F=X.bind(null,!0),N=X.bind(null,!1);f.a.B(b,"focus",F),f.a.B(b,"focusin",F),f.a.B(b,"blur",N),f.a.B(b,"focusout",N),b.__ko_hasfocusLastValue=!1},update:function(b,R){var E=!!f.a.f(R());b.__ko_hasfocusUpdating||b.__ko_hasfocusLastValue===E||(E?b.focus():b.blur(),!E&&b.__ko_hasfocusLastValue&&b.ownerDocument.body.focus(),f.u.G(f.a.Fb,null,[b,E?"focusin":"focusout"]))}},f.m.wa.hasfocus=!0,f.c.hasFocus=f.c.hasfocus,f.m.wa.hasFocus="hasfocus",f.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(b,R){f.a.fc(b,R())}},function(){function b(R,E,X){f.c[R]={init:function(F,N,O,U,Y){var k,H,J={},te,z,q;if(E){U=O.get("as");var ee=O.get("noChildContext");q=!(U&&ee),J={as:U,noChildContext:ee,exportDependencies:q}}return z=(te=O.get("completeOn")=="render")||O.has(f.i.pa),f.o(function(){var pe=f.a.f(N()),_e=!X!=!pe,ae=!H,ye;(q||_e!==k)&&(z&&(Y=f.i.Cb(F,Y)),_e&&((!E||q)&&(J.dataDependency=f.S.o()),ye=E?Y.createChildContext(typeof pe=="function"?pe:N,J):f.S.qa()?Y.extend(null,J):Y),ae&&f.S.qa()&&(H=f.a.Ca(f.h.childNodes(F),!0)),_e?(ae||f.h.va(F,f.a.Ca(H)),f.Oa(ye,F)):(f.h.Ea(F),te||f.i.ma(F,f.i.H)),k=_e)},null,{l:F}),{controlsDescendantBindings:!0}}},f.m.Ra[R]=!1,f.h.ea[R]=!0}b("if"),b("ifnot",!1,!0),b("with",!0)}(),f.c.let={init:function(b,R,E,X,F){return R=F.extend(R),f.Oa(R,b),{controlsDescendantBindings:!0}}},f.h.ea.let=!0;var A={};f.c.options={init:function(b){if(f.a.R(b)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<b.length;)b.remove(0);return{controlsDescendantBindings:!0}},update:function(b,R,E){function X(){return f.a.jb(b.options,function(ee){return ee.selected})}function F(ee,pe,_e){var ae=typeof pe;return ae=="function"?pe(ee):ae=="string"?ee[pe]:_e}function N(ee,pe){if(z&&k)f.i.ma(b,f.i.H);else if(te.length){var _e=0<=f.a.A(te,f.w.M(pe[0]));f.a.Zc(pe[0],_e),z&&!_e&&f.u.G(f.a.Fb,null,[b,"change"])}}var O=b.multiple,U=b.length!=0&&O?b.scrollTop:null,Y=f.a.f(R()),k=E.get("valueAllowUnset")&&E.has("value"),H=E.get("optionsIncludeDestroyed");R={};var J,te=[];k||(O?te=f.a.Mb(X(),f.w.M):0<=b.selectedIndex&&te.push(f.w.M(b.options[b.selectedIndex]))),Y&&(typeof Y.length>"u"&&(Y=[Y]),J=f.a.jb(Y,function(ee){return H||ee===e||ee===null||!f.a.f(ee._destroy)}),E.has("optionsCaption")&&(Y=f.a.f(E.get("optionsCaption")),Y!==null&&Y!==e&&J.unshift(A)));var z=!1;if(R.beforeRemove=function(ee){b.removeChild(ee)},Y=N,E.has("optionsAfterRender")&&typeof E.get("optionsAfterRender")=="function"&&(Y=function(ee,pe){N(0,pe),f.u.G(E.get("optionsAfterRender"),null,[pe[0],ee!==A?ee:e])}),f.a.ec(b,J,function(ee,pe,_e){return _e.length&&(te=!k&&_e[0].selected?[f.w.M(_e[0])]:[],z=!0),pe=b.ownerDocument.createElement("option"),ee===A?(f.a.Bb(pe,E.get("optionsCaption")),f.w.cb(pe,e)):(_e=F(ee,E.get("optionsValue"),ee),f.w.cb(pe,f.a.f(_e)),ee=F(ee,E.get("optionsText"),_e),f.a.Bb(pe,ee)),[pe]},R,Y),!k){var q;O?q=te.length&&X().length<te.length:q=te.length&&0<=b.selectedIndex?f.w.M(b.options[b.selectedIndex])!==te[0]:te.length||0<=b.selectedIndex,q&&f.u.G(f.a.Fb,null,[b,"change"])}(k||f.S.Ya())&&f.i.ma(b,f.i.H),f.a.wd(b),U&&20<Math.abs(U-b.scrollTop)&&(b.scrollTop=U)}},f.c.options.$b=f.a.g.Z(),f.c.selectedOptions={init:function(b,R,E){function X(){var O=R(),U=[];f.a.D(b.getElementsByTagName("option"),function(Y){Y.selected&&U.push(f.w.M(Y))}),f.m.eb(O,E,"selectedOptions",U)}function F(){var O=f.a.f(R()),U=b.scrollTop;O&&typeof O.length=="number"&&f.a.D(b.getElementsByTagName("option"),function(Y){var k=0<=f.a.A(O,f.w.M(Y));Y.selected!=k&&f.a.Zc(Y,k)}),b.scrollTop=U}if(f.a.R(b)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var N;f.i.subscribe(b,f.i.H,function(){N?X():(f.a.B(b,"change",X),N=f.o(F,null,{l:b}))},null,{notifyImmediately:!0})},update:function(){}},f.m.wa.selectedOptions=!0,f.c.style={update:function(b,R){var E=f.a.f(R()||{});f.a.P(E,function(X,F){if(F=f.a.f(F),(F===null||F===e||F===!1)&&(F=""),o)o(b).css(X,F);else if(/^--/.test(X))b.style.setProperty(X,F);else{X=X.replace(/-(\w)/g,function(O,U){return U.toUpperCase()});var N=b.style[X];b.style[X]=F,F===N||b.style[X]!=N||isNaN(F)||(b.style[X]=F+"px")}})}},f.c.submit={init:function(b,R,E,X,F){if(typeof R()!="function")throw Error("The value for a submit binding must be a function");f.a.B(b,"submit",function(N){var O,U=R();try{O=U.call(F.$data,b)}finally{O!==!0&&(N.preventDefault?N.preventDefault():N.returnValue=!1)}})}},f.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(b,R){f.a.Bb(b,R())}},f.h.ea.text=!0,function(){if(t&&t.navigator){var b=function(J){if(J)return parseFloat(J[1])},R=t.navigator.userAgent,E,X,F,N,O;(E=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(O=b(R.match(/Edge\/([^ ]+)$/)))||b(R.match(/Chrome\/([^ ]+)/))||(X=b(R.match(/Version\/([^ ]+) Safari/)))||(F=b(R.match(/Firefox\/([^ ]+)/)))||(N=f.a.W||b(R.match(/MSIE ([^ ]+)/)))||(N=b(R.match(/rv:([^ )]+)/)))}if(8<=N&&10>N)var U=f.a.g.Z(),Y=f.a.g.Z(),k=function(J){var te=this.activeElement;(te=te&&f.a.g.get(te,Y))&&te(J)},H=function(J,te){var z=J.ownerDocument;f.a.g.get(z,U)||(f.a.g.set(z,U,!0),f.a.B(z,"selectionchange",k)),f.a.g.set(J,Y,te)};f.c.textInput={init:function(J,te,z){function q(Ae,Ve){f.a.B(J,Ae,Ve)}function ee(){var Ae=f.a.f(te());(Ae===null||Ae===e)&&(Ae=""),Te!==e&&Ae===Te?f.a.setTimeout(ee,4):J.value!==Ae&&(Ie=!0,J.value=Ae,Ie=!1,ae=J.value)}function pe(){ye||(Te=J.value,ye=f.a.setTimeout(_e,4))}function _e(){clearTimeout(ye),Te=ye=e;var Ae=J.value;ae!==Ae&&(ae=Ae,f.m.eb(te(),z,"textInput",Ae))}var ae=J.value,ye,Te,Xe=f.a.W==9?pe:_e,Ie=!1;N&&q("keypress",_e),11>N&&q("propertychange",function(Ae){Ie||Ae.propertyName!=="value"||Xe(Ae)}),N==8&&(q("keyup",_e),q("keydown",_e)),H&&(H(J,Xe),q("dragend",pe)),(!N||9<=N)&&q("input",Xe),5>X&&f.a.R(J)==="textarea"?(q("keydown",pe),q("paste",pe),q("cut",pe)):11>E?q("keydown",pe):4>F?(q("DOMAutoComplete",_e),q("dragdrop",_e),q("drop",_e)):O&&J.type==="number"&&q("keydown",pe),q("change",_e),q("blur",_e),f.o(ee,null,{l:J})}},f.m.wa.textInput=!0,f.c.textinput={preprocess:function(J,te,z){z("textInput",J)}}}(),f.c.uniqueName={init:function(b,R){if(R()){var E="ko_unique_"+ ++f.c.uniqueName.rd;f.a.Yc(b,E)}}},f.c.uniqueName.rd=0,f.c.using={init:function(b,R,E,X,F){var N;return E.has("as")&&(N={as:E.get("as"),noChildContext:E.get("noChildContext")}),R=F.createChildContext(R,N),f.Oa(R,b),{controlsDescendantBindings:!0}}},f.h.ea.using=!0,f.c.value={init:function(b,R,E){var X=f.a.R(b),F=X=="input";if(!F||b.type!="checkbox"&&b.type!="radio"){var N=[],O=E.get("valueUpdate"),U=!1,Y=null;O&&(typeof O=="string"?N=[O]:N=f.a.wc(O),f.a.Pa(N,"change"));var k=function(){Y=null,U=!1;var te=R(),z=f.w.M(b);f.m.eb(te,E,"value",z)};!f.a.W||!F||b.type!="text"||b.autocomplete=="off"||b.form&&b.form.autocomplete=="off"||f.a.A(N,"propertychange")!=-1||(f.a.B(b,"propertychange",function(){U=!0}),f.a.B(b,"focus",function(){U=!1}),f.a.B(b,"blur",function(){U&&k()})),f.a.D(N,function(te){var z=k;f.a.Ud(te,"after")&&(z=function(){Y=f.w.M(b),f.a.setTimeout(k,0)},te=te.substring(5)),f.a.B(b,te,z)});var H;if(H=F&&b.type=="file"?function(){var te=f.a.f(R());te===null||te===e||te===""?b.value="":f.u.G(k)}:function(){var te=f.a.f(R()),z=f.w.M(b);Y!==null&&te===Y?f.a.setTimeout(H,0):(te!==z||z===e)&&(X==="select"?(z=E.get("valueAllowUnset"),f.w.cb(b,te,z),z||te===f.w.M(b)||f.u.G(k)):f.w.cb(b,te))},X==="select"){var J;f.i.subscribe(b,f.i.H,function(){J?E.get("valueAllowUnset")?H():k():(f.a.B(b,"change",k),J=f.o(H,null,{l:b}))},null,{notifyImmediately:!0})}else f.a.B(b,"change",k),f.o(H,null,{l:b})}else f.ib(b,{checkedValue:R})},update:function(){}},f.m.wa.value=!0,f.c.visible={update:function(b,R){var E=f.a.f(R()),X=b.style.display!="none";E&&!X?b.style.display="":!E&&X&&(b.style.display="none")}},f.c.hidden={update:function(b,R){f.c.visible.update(b,function(){return!f.a.f(R())})}},function(b){f.c[b]={init:function(R,E,X,F,N){return f.c.event.init.call(this,R,function(){var O={};return O[b]=E(),O},X,F,N)}}}("click"),f.ca=function(){},f.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},f.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},f.ca.prototype.makeTemplateSource=function(b,R){if(typeof b=="string"){R=R||n;var E=R.getElementById(b);if(!E)throw Error("Cannot find template with ID "+b);return new f.C.F(E)}if(b.nodeType==1||b.nodeType==8)return new f.C.ia(b);throw Error("Unknown template type: "+b)},f.ca.prototype.renderTemplate=function(b,R,E,X){return b=this.makeTemplateSource(b,X),this.renderTemplateSource(b,R,E,X)},f.ca.prototype.isTemplateRewritten=function(b,R){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(b,R).data("isRewritten")},f.ca.prototype.rewriteTemplate=function(b,R,E){b=this.makeTemplateSource(b,E),R=R(b.text()),b.text(R),b.data("isRewritten",!0)},f.b("templateEngine",f.ca),f.kc=function(){function b(X,F,N,O){X=f.m.ac(X);for(var U=f.m.Ra,Y=0;Y<X.length;Y++){var k=X[Y].key;if(Object.prototype.hasOwnProperty.call(U,k)){var H=U[k];if(typeof H=="function"){if(k=H(X[Y].value))throw Error(k)}else if(!H)throw Error("This template engine does not support the '"+k+"' binding within its templates")}}return N="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+f.m.vb(X,{valueAccessors:!0})+" } })()},'"+N.toLowerCase()+"')",O.createJavaScriptEvaluatorBlock(N)+F}var R=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,E=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(X,F,N){F.isTemplateRewritten(X,N)||F.rewriteTemplate(X,function(O){return f.kc.Ld(O,F)},N)},Ld:function(X,F){return X.replace(R,function(N,O,U,Y,k){return b(k,O,U,F)}).replace(E,function(N,O){return b(O,"<!-- ko -->","#comment",F)})},md:function(X,F){return f.aa.Xb(function(N,O){var U=N.nextSibling;U&&U.nodeName.toLowerCase()===F&&f.ib(U,X,O)})}}}(),f.b("__tr_ambtns",f.kc.md),function(){f.C={},f.C.F=function(E){if(this.F=E){var X=f.a.R(E);this.ab=X==="script"?1:X==="textarea"?2:X=="template"&&E.content&&E.content.nodeType===11?3:4}},f.C.F.prototype.text=function(){var E=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[E];var X=arguments[0];E==="innerHTML"?f.a.fc(this.F,X):this.F[E]=X};var b=f.a.g.Z()+"_";f.C.F.prototype.data=function(E){if(arguments.length===1)return f.a.g.get(this.F,b+E);f.a.g.set(this.F,b+E,arguments[1])};var R=f.a.g.Z();f.C.F.prototype.nodes=function(){var E=this.F;if(arguments.length==0){var X=f.a.g.get(E,R)||{},F=X.lb||(this.ab===3?E.content:this.ab===4?E:e);if(!F||X.jd){var N=this.text();N&&N!==X.bb&&(F=f.a.Md(N,E.ownerDocument),f.a.g.set(E,R,{lb:F,bb:N,jd:!0}))}return F}X=arguments[0],this.ab!==e&&this.text(""),f.a.g.set(E,R,{lb:X})},f.C.ia=function(E){this.F=E},f.C.ia.prototype=new f.C.F,f.C.ia.prototype.constructor=f.C.ia,f.C.ia.prototype.text=function(){if(arguments.length==0){var E=f.a.g.get(this.F,R)||{};return E.bb===e&&E.lb&&(E.bb=E.lb.innerHTML),E.bb}f.a.g.set(this.F,R,{bb:arguments[0]})},f.b("templateSources",f.C),f.b("templateSources.domElement",f.C.F),f.b("templateSources.anonymousTemplate",f.C.ia)}(),function(){function b(Y,k,H){var J;for(k=f.h.nextSibling(k);Y&&(J=Y)!==k;)Y=f.h.nextSibling(J),H(J,Y)}function R(Y,k){if(Y.length){var H=Y[0],J=Y[Y.length-1],te=H.parentNode,z=f.ga.instance,q=z.preprocessNode;if(q){if(b(H,J,function(ee,pe){var _e=ee.previousSibling,ae=q.call(z,ee);ae&&(ee===H&&(H=ae[0]||pe),ee===J&&(J=ae[ae.length-1]||_e))}),Y.length=0,!H)return;H===J?Y.push(H):(Y.push(H,J),f.a.Ua(Y,te))}b(H,J,function(ee){ee.nodeType!==1&&ee.nodeType!==8||f.vc(k,ee)}),b(H,J,function(ee){ee.nodeType!==1&&ee.nodeType!==8||f.aa.cd(ee,[k])}),f.a.Ua(Y,te)}}function E(Y){return Y.nodeType?Y:0<Y.length?Y[0]:null}function X(Y,k,H,J,te){te=te||{};var z=(Y&&E(Y)||H||{}).ownerDocument,q=te.templateEngine||N;if(f.kc.xd(H,q,z),H=q.renderTemplate(H,J,te,z),typeof H.length!="number"||0<H.length&&typeof H[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(z=!1,k){case"replaceChildren":f.h.va(Y,H),z=!0;break;case"replaceNode":f.a.Xc(Y,H),z=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k)}return z&&(R(H,J),te.afterRender&&f.u.G(te.afterRender,null,[H,J[te.as||"$data"]]),k=="replaceChildren"&&f.i.ma(Y,f.i.H)),H}function F(Y,k,H){return f.O(Y)?Y():typeof Y=="function"?Y(k,H):Y}var N;f.gc=function(Y){if(Y!=e&&!(Y instanceof f.ca))throw Error("templateEngine must inherit from ko.templateEngine");N=Y},f.dc=function(Y,k,H,J,te){if(H=H||{},(H.templateEngine||N)==e)throw Error("Set a template engine before calling renderTemplate");if(te=te||"replaceChildren",J){var z=E(J);return f.$(function(){var ee=k&&k instanceof f.fa?k:new f.fa(k,null,null,null,{exportDependencies:!0}),q=F(Y,ee.$data,ee),ee=X(J,te,q,ee,H);te=="replaceNode"&&(J=ee,z=E(J))},null,{Sa:function(){return!z||!f.a.Sb(z)},l:z&&te=="replaceNode"?z.parentNode:z})}return f.aa.Xb(function(q){f.dc(Y,k,H,q,"replaceNode")})},f.Qd=function(Y,k,H,J,te){function z(Te,Xe){f.u.G(f.a.ec,null,[J,Te,ee,H,q,Xe]),f.i.ma(J,f.i.H)}function q(Te,Xe){R(Xe,pe),H.afterRender&&H.afterRender(Xe,Te),pe=null}function ee(Te,Xe){pe=te.createChildContext(Te,{as:_e,noChildContext:H.noChildContext,extend:function(Ae){Ae.$index=Xe,_e&&(Ae[_e+"Index"]=Xe)}});var Ie=F(Y,Te,pe);return X(J,"ignoreTargetNode",Ie,pe,H)}var pe,_e=H.as,ae=H.includeDestroyed===!1||f.options.foreachHidesDestroyed&&!H.includeDestroyed;if(ae||H.beforeRemove||!f.Pc(k))return f.$(function(){var Te=f.a.f(k)||[];typeof Te.length>"u"&&(Te=[Te]),ae&&(Te=f.a.jb(Te,function(Xe){return Xe===e||Xe===null||!f.a.f(Xe._destroy)})),z(Te)},null,{l:J});z(k.v());var ye=k.subscribe(function(Te){z(k(),Te)},null,"arrayChange");return ye.l(J),ye};var O=f.a.g.Z(),U=f.a.g.Z();f.c.template={init:function(Y,k){var H=f.a.f(k());if(typeof H=="string"||"name"in H)f.h.Ea(Y);else if("nodes"in H){if(H=H.nodes||[],f.O(H))throw Error('The "nodes" option must be a plain, non-observable array.');var J=H[0]&&H[0].parentNode;J&&f.a.g.get(J,U)||(J=f.a.Yb(H),f.a.g.set(J,U,!0)),new f.C.ia(Y).nodes(J)}else if(H=f.h.childNodes(Y),0<H.length)J=f.a.Yb(H),new f.C.ia(Y).nodes(J);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(Y,k,H,J,te){var z=k();k=f.a.f(z),H=!0,J=null,typeof k=="string"?k={}:(z="name"in k?k.name:Y,"if"in k&&(H=f.a.f(k.if)),H&&"ifnot"in k&&(H=!f.a.f(k.ifnot)),H&&!z&&(H=!1)),"foreach"in k?J=f.Qd(z,H&&k.foreach||[],k,Y,te):H?(H=te,"data"in k&&(H=te.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),J=f.dc(z,H,k,Y)):f.h.Ea(Y),te=J,(k=f.a.g.get(Y,O))&&typeof k.s=="function"&&k.s(),f.a.g.set(Y,O,!te||te.ja&&!te.ja()?e:te)}},f.m.Ra.template=function(Y){return Y=f.m.ac(Y),Y.length==1&&Y[0].unknown||f.m.Id(Y,"name")?null:"This template engine does not support anonymous templates nested within its templates"},f.h.ea.template=!0}(),f.b("setTemplateEngine",f.gc),f.b("renderTemplate",f.dc),f.a.Kc=function(b,R,E){if(b.length&&R.length){var X,F,N,O,U;for(X=F=0;(!E||X<E)&&(O=b[F]);++F){for(N=0;U=R[N];++N)if(O.value===U.value){O.moved=U.index,U.moved=O.index,R.splice(N,1),X=N=0;break}X+=N}}},f.a.Pb=function(){function b(R,E,X,F,N){var O=Math.min,U=Math.max,Y=[],k,H=R.length,J,te=E.length,z=te-H||1,q=H+te+1,ee,pe,_e;for(k=0;k<=H;k++)for(pe=ee,Y.push(ee=[]),_e=O(te,k+z),J=U(0,k-1);J<=_e;J++)ee[J]=J?k?R[k-1]===E[J-1]?pe[J-1]:O(pe[J]||q,ee[J-1]||q)+1:J+1:k+1;for(O=[],U=[],z=[],k=H,J=te;k||J;)te=Y[k][J]-1,J&&te===Y[k][J-1]?U.push(O[O.length]={status:X,value:E[--J],index:J}):k&&te===Y[k-1][J]?z.push(O[O.length]={status:F,value:R[--k],index:k}):(--J,--k,N.sparse||O.push({status:"retained",value:E[J]}));return f.a.Kc(z,U,!N.dontLimitMoves&&10*H),O.reverse()}return function(R,E,X){return X=typeof X=="boolean"?{dontLimitMoves:X}:X||{},R=R||[],E=E||[],R.length<E.length?b(R,E,"added","deleted",X):b(E,R,"deleted","added",X)}}(),f.b("utils.compareArrays",f.a.Pb),function(){function b(X,F,N,O,U){var Y=[],k=f.$(function(){var H=F(N,U,f.a.Ua(Y,X))||[];0<Y.length&&(f.a.Xc(Y,H),O&&f.u.G(O,null,[N,H,U])),Y.length=0,f.a.Nb(Y,H)},null,{l:X,Sa:function(){return!f.a.kd(Y)}});return{Y,$:k.ja()?k:e}}var R=f.a.g.Z(),E=f.a.g.Z();f.a.ec=function(X,F,N,O,U,Y){function k(St){Ie={Aa:St,pb:f.ta(pe++)},q.push(Ie),z||Xe.push(Ie)}function H(St){Ie=te[St],pe!==Ie.pb.v()&&Te.push(Ie),Ie.pb(pe++),f.a.Ua(Ie.Y,X),q.push(Ie)}function J(St,on){if(St)for(var Ce=0,Re=on.length;Ce<Re;Ce++)f.a.D(on[Ce].Y,function(cn){St(cn,Ce,on[Ce].Aa)})}F=F||[],typeof F.length>"u"&&(F=[F]),O=O||{};var te=f.a.g.get(X,R),z=!te,q=[],ee=0,pe=0,_e=[],ae=[],ye=[],Te=[],Xe=[],Ie,Ae=0;if(z)f.a.D(F,k);else{if(!Y||te&&te._countWaitingForRemove){var Ve=f.a.Mb(te,function(St){return St.Aa});Y=f.a.Pb(Ve,F,{dontLimitMoves:O.dontLimitMoves,sparse:!0})}for(var Ve=0,Ne,De,$e;Ne=Y[Ve];Ve++)switch(De=Ne.moved,$e=Ne.index,Ne.status){case"deleted":for(;ee<$e;)H(ee++);De===e&&(Ie=te[ee],Ie.$&&(Ie.$.s(),Ie.$=e),f.a.Ua(Ie.Y,X).length&&(O.beforeRemove&&(q.push(Ie),Ae++,Ie.Aa===E?Ie=null:ye.push(Ie)),Ie&&_e.push.apply(_e,Ie.Y))),ee++;break;case"added":for(;pe<$e;)H(ee++);De!==e?(ae.push(q.length),H(De)):k(Ne.value)}for(;pe<F.length;)H(ee++);q._countWaitingForRemove=Ae}f.a.g.set(X,R,q),J(O.beforeMove,Te),f.a.D(_e,O.beforeRemove?f.oa:f.removeNode);var Ke,gt,pt;try{pt=X.ownerDocument.activeElement}catch{}if(ae.length)for(;(Ve=ae.shift())!=e;){for(Ie=q[Ve],Ke=e;Ve;)if((gt=q[--Ve].Y)&>.length){Ke=gt[gt.length-1];break}for(F=0;ee=Ie.Y[F];Ke=ee,F++)f.h.Wb(X,ee,Ke)}for(Ve=0;Ie=q[Ve];Ve++){for(Ie.Y||f.a.extend(Ie,b(X,N,Ie.Aa,U,Ie.pb)),F=0;ee=Ie.Y[F];Ke=ee,F++)f.h.Wb(X,ee,Ke);!Ie.Ed&&U&&(U(Ie.Aa,Ie.Y,Ie.pb),Ie.Ed=!0,Ke=Ie.Y[Ie.Y.length-1])}for(pt&&X.ownerDocument.activeElement!=pt&&pt.focus(),J(O.beforeRemove,ye),Ve=0;Ve<ye.length;++Ve)ye[Ve].Aa=E;J(O.afterMove,Te),J(O.afterAdd,Xe)}}(),f.b("utils.setDomNodeChildrenFromArrayMapping",f.a.ec),f.ba=function(){this.allowTemplateRewriting=!1},f.ba.prototype=new f.ca,f.ba.prototype.constructor=f.ba,f.ba.prototype.renderTemplateSource=function(b,R,E,X){return(R=!(9>f.a.W)&&b.nodes?b.nodes():null)?f.a.la(R.cloneNode(!0).childNodes):(b=b.text(),f.a.ua(b,X))},f.ba.Ma=new f.ba,f.gc(f.ba.Ma),f.b("nativeTemplateEngine",f.ba),function(){f.$a=function(){var R=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(E,X,F,N){if(N=N||n,F=F||{},2>R)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var O=E.data("precompiled");return O||(O=E.text()||"",O=o.template(null,"{{ko_with $item.koBindingContext}}"+O+"{{/ko_with}}"),E.data("precompiled",O)),E=[X.$data],X=o.extend({koBindingContext:X},F.templateOptions),X=o.tmpl(O,E,X),X.appendTo(N.createElement("div")),o.fragments={},X},this.createJavaScriptEvaluatorBlock=function(E){return"{{ko_code ((function() { return "+E+" })()) }}"},this.addTemplate=function(E,X){n.write("<script type='text/html' id='"+E+"'>"+X+"<\/script>")},0<R&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},f.$a.prototype=new f.ca,f.$a.prototype.constructor=f.$a;var b=new f.$a;0<b.Hd&&f.gc(b),f.b("jqueryTmplTemplateEngine",f.$a)}()})})()})()})();var uCt=ko;typeof window<"u"?(ko=window.ko,typeof jM<"u"?window.ko=jM:delete window.ko):(ko=global.ko,typeof jM<"u"?global.ko=jM:delete global.ko);var WS=uCt;var yLo=T(S(),1);/** * @license * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 * Copyright (c) Steve Sanderson * MIT license - */var _6="__knockoutObservables",T6="__knockoutSubscribable";function wSe(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=FSe(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===_6||o===T6)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&ESt(n,a)}}),e}function FSe(e,t){var n=e[_6];return!n&&t&&(n={},Object.defineProperty(e,_6,{value:n})),n}function GSt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),wSe.call(i,e,[t]),e}function ESt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=ISt(e,t,i))})}function ISt(e,t,n){var i=XSt(e,n);return i.subscribe(t)}function XSt(e,t){var n=t[T6];if(!n){n=new e.subscribable,Object.defineProperty(t,T6,{value:n});var i={};WSt(t,n,i),PSt(e,t,n,i)}return n}function WSt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function PSt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function ASe(e,t){if(!e)return null;var n=FSe(e,!1);return n&&n[t]||null}function vSt(e,t){var n=ASe(e,t);n&&n.valueHasMutated()}function wSt(e){e.track=wSe,e.getObservable=ASe,e.valueHasMutated=vSt,e.defineProperty=GSt}var B9={attachToKo:wSt};var ICo=T(S(),1),MSe="http://www.w3.org/2000/svg",NSe="cesium-svgPath-svg",FSt={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(MSe,"svg:svg");i.setAttribute("class",NSe);let o=document.createElementNS(MSe,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${NSe} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},O9=FSt;B9.attachToKo(VS);O9.register(VS);var Se=VS;function Y9(e){l(e)||(e=new sh),this._clock=e,this._eventHelper=new Mr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=Se.observable(j.now()),this.systemTime.equalityComparer=j.equals,this.startTime=Se.observable(e.startTime),this.startTime.equalityComparer=j.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=Se.observable(e.stopTime),this.stopTime.equalityComparer=j.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=Se.observable(e.currentTime),this.currentTime.equalityComparer=j.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=Se.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=Se.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=Se.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=Se.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=Se.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),Se.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(Y9.prototype,{clock:{get:function(){return this._clock}}});Y9.prototype.synchronize=function(){let e=this._clock;this.systemTime=j.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};Y9.prototype.isDestroyed=function(){return!1};Y9.prototype.destroy=function(){this._eventHelper.removeAll(),me(this)};var z9=Y9;var DCo=T(S(),1);function ASt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,fe.throwInstantiationError()}var S6=ASt;var KCo=T(S(),1);function MSt(e,t){t=y(t,!0);let n=new be,i=new be;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,Se.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var Zn=MSt;var qCo=T(S(),1);var H9={};H9.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return l(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};H9.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};H9.createRangeInput=function(e,t,n,i,o,r){r=y(r,t);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=n,a.max=i,a.step=y(o,"any"),a.setAttribute("data-bind",`valueUpdate: "input", value: ${t}`);let c=document.createElement("div");c.appendChild(a);let d=document.createElement("div");return d.className="cesium-cesiumInspector-slider",d.appendChild(document.createTextNode(e)),d.appendChild(s),d.appendChild(c),d};H9.createButton=function(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=e,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${t}`;return l(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i};var Ka=H9;var t1o=T(S(),1);function NSt(e,t,n,i,o){return n.call(i,e[t]),Se.getObservable(e,t).subscribe(n,i,o)}var Va=NSt;var a1o=T(S(),1);function kSe(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),Se.track(this,["toggled","tooltip"])}Object.defineProperties(kSe.prototype,{command:{get:function(){return this._command}}});var By=kSe;var _1o=T(S(),1);var h1o=T(S(),1);function USe(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,Se.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=Se.getObservable(this,"imageryProviderViewModels"),r=Se.pureComputed(function(){let m=o(),p={},g;for(g=0;g<m.length;g++){let _=m[g],C=_.category;l(p[C])?p[C].push(_):p[C]=[_]}let f=Object.keys(p),x=[];for(g=0;g<f.length;g++){let _=f[g];x.push({name:_,providers:p[_]})}return x});this._imageryProviders=r;let s=Se.getObservable(this,"terrainProviderViewModels"),a=Se.pureComputed(function(){let m=s(),p={},g;for(g=0;g<m.length;g++){let _=m[g],C=_.category;l(p[C])?p[C].push(_):p[C]=[_]}let f=Object.keys(p),x=[];for(g=0;g<f.length;g++){let _=f[g];x.push({name:_,providers:p[_]})}return x});this._terrainProviders=a,this.buttonTooltip=void 0,Se.defineProperty(this,"buttonTooltip",function(){let m=this.selectedImagery,p=this.selectedTerrain,g=l(m)?m.name:void 0,f=l(p)?p.name:void 0;return l(g)&&l(f)?`${g} -${f}`:l(g)?g:f}),this.buttonImageUrl=void 0,Se.defineProperty(this,"buttonImageUrl",function(){let m=this.selectedImagery;if(l(m))return m.iconUrl}),this.selectedImagery=void 0;let c=Se.observable();this.updateSelectedImageryViewModel=m=>{c(m),this.dropDownVisible=!1},this._currentImageryLayers=[],Se.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(m){if(c()===m){this.dropDownVisible=!1;return}let p=e.map,g,f=this._currentImageryLayers,x=f.length,_=this._globe.imageryLayers,C=!1;if(!p)for(g=0;g<x;g++){let V=_.length;for(let L=0;L<V;L++){let Z=_.get(L);if(Z===f[g]){_.remove(Z),C=!0;break}}}if(l(m))if(p&&m.marsOptions)p.basemap=m.marsOptions.layerId;else if(p&&m.options&&m.isTile)p.basemap=m.options.id;else{let V=m.creationCommand();if(Array.isArray(V)){let L=V.length;for(this._currentImageryLayers=[],g=L-1;g>=0;g--){let Z=Sa.fromProviderAsync(V[g]);_.add(Z,0),this._currentImageryLayers.push(Z)}}else{this._currentImageryLayers=[];let L=Sa.fromProviderAsync(V);if(L.name=m.name,C)_.add(L,0);else{let Z=_.get(0);l(Z)&&_.remove(Z),_.add(L,0)}this._currentImageryLayers.push(L)}}else p&&(p.basemap=void 0);c(m),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let d=Se.observable();this.updateSelectedTerrainViewModel=m=>{d(m),this.dropDownVisible=!1},Se.defineProperty(this,"selectedTerrain",{get:function(){return d()},set:function(m){if(d()===m){this.dropDownVisible=!1;return}let p;if(l(m)&&(p=m.creationCommand()),l(p)&&!l(p.then)){if(e.map&&m.marsOptions){e.map.terrainProvider=p;return}this._globe.terrainProvider=p}else if(l(p)){let g=!1,f=this._globe.terrainProviderChanged.addEventListener(()=>{g=!0,f()}),_=new W9(p).readyEvent.addEventListener(C=>{if(!g){if(e.map&&m.marsOptions){e.map.terrainProvider=C;return}this._globe.terrainProvider=C,_()}})}d(m),this.dropDownVisible=!1}});let u=this;this._toggleDropDown=Zn(function(){u.dropDownVisible=!u.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel),this.selectedTerrain=e.selectedTerrainProviderViewModel}Object.defineProperties(USe.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var K9=USe;function mB(e,t){e=Pn(e);let n=new K9(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let d=document.createElement("div");d.className="cesium-baseLayerPicker-categoryTitle",d.setAttribute("data-bind","text: name"),c.appendChild(d);let u=document.createElement("div");u.className="cesium-baseLayerPicker-choices",u.setAttribute("data-bind","foreach: providers"),c.appendChild(u);let m=document.createElement("div");m.className="cesium-baseLayerPicker-item",m.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),u.appendChild(m);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),m.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),m.appendChild(g);let f=document.createElement("div");f.className="cesium-baseLayerPicker-sectionTitle",f.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),f.innerHTML="Terrain",r.appendChild(f);let x=document.createElement("div");x.className="cesium-baseLayerPicker-section",x.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(x);let _=document.createElement("div");_.className="cesium-baseLayerPicker-category",x.appendChild(_);let C=document.createElement("div");C.className="cesium-baseLayerPicker-categoryTitle",C.setAttribute("data-bind","text: name"),_.appendChild(C);let V=document.createElement("div");V.className="cesium-baseLayerPicker-choices",V.setAttribute("data-bind","foreach: providers"),_.appendChild(V);let L=document.createElement("div");L.className="cesium-baseLayerPicker-item",L.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),V.appendChild(L);let Z=document.createElement("img");Z.className="cesium-baseLayerPicker-itemIcon",Z.setAttribute("data-bind","attr: { src: iconUrl }"),Z.setAttribute("draggable","false"),L.appendChild(Z);let G=document.createElement("div");G.className="cesium-baseLayerPicker-itemLabel",G.setAttribute("data-bind","text: name"),L.appendChild(G),Se.applyBindings(n,i),Se.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(I){i.contains(I.target)||r.contains(I.target)||(n.dropDownVisible=!1)},zt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(mB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});mB.prototype.isDestroyed=function(){return!1};mB.prototype.destroy=function(){return zt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Se.cleanNode(this._element),Se.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),me(this)};var J9=mB;var I1o=T(S(),1);var R1o=T(S(),1);function DSe(e){let t=e.creationFunction;l(t.canExecute)||(t=Zn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),this.marsOptions=e.marsOptions,Se.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(DSe.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var ns=DSe;function kSt(){let e=[],t=devicePixelRatio>=2;return e.push(new ns({name:"Bing Maps Aerial",iconUrl:sn("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return sb({style:rb.AERIAL})}})),e.push(new ns({name:"Bing Maps Aerial with Labels",iconUrl:sn("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return sb({style:rb.AERIAL_WITH_LABELS})}})),e.push(new ns({name:"Bing Maps Roads",iconUrl:sn("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return sb({style:rb.ROAD})}})),e.push(new ns({name:"ArcGIS World Imagery",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return eb.fromBasemapType(Ch.SATELLITE,{enablePickFeatures:!1})}})),e.push(new ns({name:"ArcGIS World Hillshade",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return eb.fromBasemapType(Ch.HILLSHADE,{enablePickFeatures:!1})}})),e.push(new ns({name:"Esri World Ocean",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return eb.fromBasemapType(Ch.OCEANS,{enablePickFeatures:!1})}})),e.push(new ns({name:"Open\xADStreet\xADMap",iconUrl:sn("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. -http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new hb({url:"https://tile.openstreetmap.org/"})}})),e.push(new ns({name:"Stadia x Stamen Watercolor",iconUrl:sn("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and reminiscent of hand drawn maps, the watercolor maps from Stamen Design apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. -https://docs.stadiamaps.com/map-styles/stamen-watercolor/`,category:"Other",creationFunction:function(){return new hb({url:"https://tiles.stadiamaps.com/tiles/stamen_watercolor/",fileExtension:"jpg",credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> + */var W6="__knockoutObservables",P6="__knockoutSubscribable";function jSe(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=qSe(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===W6||o===P6)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&hCt(n,a)}}),e}function qSe(e,t){var n=e[W6];return!n&&t&&(n={},Object.defineProperty(e,W6,{value:n})),n}function mCt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),jSe.call(i,e,[t]),e}function hCt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=fCt(e,t,i))})}function fCt(e,t,n){var i=pCt(e,n);return i.subscribe(t)}function pCt(e,t){var n=t[P6];if(!n){n=new e.subscribable,Object.defineProperty(t,P6,{value:n});var i={};bCt(t,n,i),gCt(e,t,n,i)}return n}function bCt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function gCt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function $Se(e,t){if(!e)return null;var n=qSe(e,!1);return n&&n[t]||null}function yCt(e,t){var n=$Se(e,t);n&&n.valueHasMutated()}function xCt(e){e.track=jSe,e.getObservable=$Se,e.valueHasMutated=yCt,e.defineProperty=mCt}var qM={attachToKo:xCt};var _Lo=T(S(),1),eCe="http://www.w3.org/2000/svg",tCe="cesium-svgPath-svg",_Ct={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(eCe,"svg:svg");i.setAttribute("class",tCe);let o=document.createElementNS(eCe,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${tCe} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},$M=_Ct;qM.attachToKo(WS);$M.register(WS);var Se=WS;function e9(e){l(e)||(e=new uh),this._clock=e,this._eventHelper=new mr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=Se.observable(j.now()),this.systemTime.equalityComparer=j.equals,this.startTime=Se.observable(e.startTime),this.startTime.equalityComparer=j.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=Se.observable(e.stopTime),this.stopTime.equalityComparer=j.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=Se.observable(e.currentTime),this.currentTime.equalityComparer=j.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=Se.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=Se.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=Se.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=Se.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=Se.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),Se.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(e9.prototype,{clock:{get:function(){return this._clock}}});e9.prototype.synchronize=function(){let e=this._clock;this.systemTime=j.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};e9.prototype.isDestroyed=function(){return!1};e9.prototype.destroy=function(){this._eventHelper.removeAll(),me(this)};var t9=e9;var WLo=T(S(),1);function TCt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,fe.throwInstantiationError()}var v6=TCt;var MLo=T(S(),1);function SCt(e,t){t=y(t,!0);let n=new be,i=new be;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,Se.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var Zn=SCt;var DLo=T(S(),1);var n9={};n9.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return l(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};n9.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};n9.createRangeInput=function(e,t,n,i,o,r){r=y(r,t);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=n,a.max=i,a.step=y(o,"any"),a.setAttribute("data-bind",`valueUpdate: "input", value: ${t}`);let c=document.createElement("div");c.appendChild(a);let d=document.createElement("div");return d.className="cesium-cesiumInspector-slider",d.appendChild(document.createTextNode(e)),d.appendChild(s),d.appendChild(c),d};n9.createButton=function(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=e,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${t}`;return l(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i};var Qa=n9;var YLo=T(S(),1);function CCt(e,t,n,i,o){return n.call(i,e[t]),Se.getObservable(e,t).subscribe(n,i,o)}var Ra=CCt;var jLo=T(S(),1);function nCe(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),Se.track(this,["toggled","tooltip"])}Object.defineProperties(nCe.prototype,{command:{get:function(){return this._command}}});var Qy=nCe;var uRo=T(S(),1);var iRo=T(S(),1);function VCt(e){let t;if(l(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>    ${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function w6(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var LCt=new gn,RCt=new h;function i9(e,t){let n=this,i=e.canvas,o=new $d(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",Se.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=Zn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=Zn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=Zn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=Zn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=Se.getObservable(this,"frustums").subscribe(function(d){n._scene.debugShowFrustums=d,n._scene.requestRender()}),this._frustumPlanesSubscription=Se.getObservable(this,"frustumPlanes").subscribe(function(d){n._scene.debugShowFrustumPlanes=d,n._scene.requestRender()}),this._performanceSubscription=Se.getObservable(this,"performance").subscribe(function(d){d?n._performanceDisplay=new y0({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=Zn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=Se.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=Zn(function(){if(n.primitiveReferenceFrame){let d=n._primitive.modelMatrix;n._modelMatrixPrimitive=new vM({modelMatrix:d}),n._scene.primitives.add(n._modelMatrixPrimitive)}else l(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=Se.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=Zn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(d){return l(n._modelMatrixPrimitive)&&d.owner===n._modelMatrixPrimitive._primitive?!0:l(n._primitive)?d.owner===n._primitive||d.owner===n._primitive._billboardCollection||d.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=Se.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=Se.getObservable(this,"wireframe").subscribe(function(d){r._surface.tileProvider._debug.wireframe=d,n._scene.requestRender()}),this._depthFrustumSubscription=Se.getObservable(this,"depthFrustum").subscribe(function(d){n._scene.debugShowDepthFrustum=d,n._scene.requestRender()}),this._incrementDepthFrustum=Zn(function(){let d=n.depthFrustum+1;return n.depthFrustum=w6(1,n._numberOfFrustums,d),n._scene.requestRender(),!0}),this._decrementDepthFrustum=Zn(function(){let d=n.depthFrustum-1;return n.depthFrustum=w6(1,n._numberOfFrustums,d),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=Se.getObservable(this,"suspendUpdates").subscribe(function(d){r._surface._debug.suspendLodUpdate=d,d||(n.filterTile=!1)});let s;this._showTileCoordinates=Zn(function(){return n.tileCoordinates&&!l(s)?s=e.imageryLayers.addImageryProvider(new QM({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&l(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=Se.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=Se.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=Zn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=Zn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],l(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=Se.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(d){let u=n._scene.pick({x:d.position.x,y:d.position.y});l(u)&&(n.primitive=l(u.collection)?u.collection:u.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=Zn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=Se.getObservable(this,"pickPrimitiveActive").subscribe(function(d){d?o.setInputAction(a,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)});function c(d){let u,m=r.ellipsoid,p=n._scene.camera.getPickRay(d.position,LCt),g=r.pick(p,n._scene,RCt);if(l(g)){let f=m.cartesianToCartographic(g),x=r._surface.tileProvider._tilesToRenderByTextureCount;for(let _=0;!u&&_<x.length;++_){let C=x[_];if(l(C))for(let V=0;!u&&V<C.length;++V){let L=C[V];le.contains(L.rectangle,f)&&(u=L)}}}n.tile=u,n.pickTileActive=!1}this._pickTile=Zn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=Se.getObservable(this,"pickTileActive").subscribe(function(d){d?o.setInputAction(c,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(i9.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,l(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,l(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(l(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;l(n)&&l(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});i9.prototype._update=function(){this.frustums&&(this.frustumStatisticText=VCt(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=w6(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};i9.prototype.isDestroyed=function(){return!1};i9.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),me(this)};var o9=i9;function pO(e,t){e=Pn(e);let n=document.createElement("div"),i=new o9(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=Qa.createSection,c=Qa.createCheckbox,d=a(s,"General","generalVisible","toggleGeneral"),u=c("Show Frustums","frustums"),m=document.createElement("div");m.className="cesium-cesiumInspector-frustumStatistics",m.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),u.appendChild(m),d.appendChild(u),d.appendChild(c("Show Frustum Planes","frustumPlanes")),d.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",d.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),d.appendChild(p);let g=document.createElement("div");d.appendChild(g);let f=document.createElement("span");f.setAttribute("data-bind",'html: "     Frustum:"'),g.appendChild(f);let x=document.createElement("span");x.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(x);let _=document.createElement("input");_.type="button",_.value="-",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(_);let C=document.createElement("input");C.type="button",C.value="+",C.className="cesium-cesiumInspector-pickButton",C.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(C);let V=a(s,"Primitives","primitivesVisible","togglePrimitives"),L=document.createElement("div");L.className="cesium-cesiumInspector-pickSection",V.appendChild(L);let Z=document.createElement("input");Z.type="button",Z.value="Pick a primitive",Z.className="cesium-cesiumInspector-pickButton",Z.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let G=document.createElement("div");G.className="cesium-cesiumInspector-center",G.appendChild(Z),L.appendChild(G),L.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),L.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),L.appendChild(this._primitiveOnly);let I=a(s,"Terrain","terrainVisible","toggleTerrain"),v=document.createElement("div");v.className="cesium-cesiumInspector-pickSection",I.appendChild(v);let P=document.createElement("input");P.type="button",P.value="Pick a tile",P.className="cesium-cesiumInspector-pickButton",P.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),G=document.createElement("div"),G.appendChild(P),G.className="cesium-cesiumInspector-center",v.appendChild(G);let w=document.createElement("div");v.appendChild(w);let A=document.createElement("input");A.type="button",A.value="Parent",A.className="cesium-cesiumInspector-pickButton",A.setAttribute("data-bind","click: selectParent");let b=document.createElement("input");b.type="button",b.value="NW",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: selectNW");let R=document.createElement("input");R.type="button",R.value="NE",R.className="cesium-cesiumInspector-pickButton",R.setAttribute("data-bind","click: selectNE");let E=document.createElement("input");E.type="button",E.value="SW",E.className="cesium-cesiumInspector-pickButton",E.setAttribute("data-bind","click: selectSW");let X=document.createElement("input");X.type="button",X.value="SE",X.className="cesium-cesiumInspector-pickButton",X.setAttribute("data-bind","click: selectSE");let F=document.createElement("div");F.className="cesium-cesiumInspector-tileText",w.className="cesium-cesiumInspector-frustumStatistics",w.appendChild(F),w.setAttribute("data-bind","visible: hasPickedTile"),F.setAttribute("data-bind","html: tileText");let N=document.createElement("div");N.className="cesium-cesiumInspector-relativeText",N.textContent="Select relative:",w.appendChild(N);let O=document.createElement("table"),U=document.createElement("tr"),Y=document.createElement("tr"),k=document.createElement("td");k.appendChild(A);let H=document.createElement("td");H.appendChild(b);let J=document.createElement("td");J.appendChild(R),U.appendChild(k),U.appendChild(H),U.appendChild(J);let te=document.createElement("td"),z=document.createElement("td");z.appendChild(E);let q=document.createElement("td");q.appendChild(X),Y.appendChild(te),Y.appendChild(z),Y.appendChild(q),O.appendChild(U),O.appendChild(Y),w.appendChild(O),v.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),v.appendChild(c("Show only selected","filterTile","hasPickedTile")),I.appendChild(c("Wireframe","wireframe")),I.appendChild(c("Suspend LOD update","suspendUpdates")),I.appendChild(c("Show tile coordinates","tileCoordinates")),Se.applyBindings(i,this._element)}Object.defineProperties(pO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});pO.prototype.isDestroyed=function(){return!1};pO.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),me(this)};var r9=pO;var bRo=T(S(),1);var PS="http://www.w3.org/2000/svg",rCe="http://www.w3.org/1999/xlink",bO,s9=B.fromCssColorString("rgba(247,250,255,0.384)"),gO=B.fromCssColorString("rgba(143,191,255,0.216)"),F6=B.fromCssColorString("rgba(153,197,255,0.098)"),yO=B.fromCssColorString("rgba(255,255,255,0.086)"),ZCt=B.fromCssColorString("rgba(255,255,255,0.267)"),GCt=B.fromCssColorString("rgba(255,255,255,0)"),iCe=B.fromCssColorString("rgba(66,67,68,0.3)"),oCe=B.fromCssColorString("rgba(0,0,0,0.5)");function jy(e){return B.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var a9={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function Bh(e){let t=document.createElementNS(PS,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(Bh(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(rCe,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function A6(e,t,n){let i=document.createElementNS(PS,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(PS,"tspan");return o.textContent=n,i.appendChild(o),i}function ECt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var xO=new B;function cs(e,t){let n=t.alpha,i=1-n;return xO.red=e.red*i+t.red*n,xO.green=e.green*i+t.green*n,xO.blue=e.blue*i+t.blue*n,xO.toCssColorString()}function M6(e,t,n){let i=a9[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Bh(o)}function ICt(e,t,n){let i=a9[n],o=a9.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Bh(r)}function XCt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&bO!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,d;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,d=t.touches[0].clientY):(c=t.clientX,d=t.clientY),!i&&(c>a.right||c<a.left||d<a.top||d>a.bottom))return;let u=e._shuttleRingPointer.getBoundingClientRect(),m=c-o-a.left,p=d-r-a.top,g=Math.atan2(p,m)*180/Math.PI+90;g>180&&(g-=360);let f=n.shuttleRingAngle;i||c<u.right&&c>u.left&&d>u.top&&d<u.bottom?(bO=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<f?n.slower():g>f&&n.faster(),t.preventDefault()}else e===bO&&(bO=void 0),n.shuttleRingDragging=!1}function I0(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[Ra(t,"toggled",this.setToggled,this),Ra(t,"tooltip",this.setTooltip,this),Ra(t.command,"canExecute",this.setEnabled,this)]}I0.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();me(this)};I0.prototype.isDestroyed=function(){return!1};I0.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};I0.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};I0.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function HL(e,t){e=Pn(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(PS,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",rCe);let s=document.createElementNS(PS,"g");this._topG=s,this._realtimeSVG=new I0(ICt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new I0(M6(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new I0(M6(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new I0(M6(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(PS,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=Bh({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let d=a9.animation_pathSwooshFX,u=a9.animation_pathPointer,m=Bh({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:d.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:d.d},{tagName:d.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:d.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=m,this._shuttleRingPointer=Bh({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:u.tagName,d:u.d});let p=Bh({tagName:"g",transform:"translate(100,100)"});this._knobOuter=Bh({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,f=Bh({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=A6(0,-24,""),this._knobTime=A6(0,-7,""),this._knobStatus=A6(0,-41,"");let x=Bh({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),_=document.createElementNS(PS,"g");_.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(_),s.appendChild(p),s.appendChild(a),_.appendChild(c),_.appendChild(m),_.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(f),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(x),r.appendChild(s),e.appendChild(r);let C=this;function V(v){XCt(C,v)}this._mouseCallback=V,c.addEventListener("mousedown",V,!0),c.addEventListener("touchstart",V,!0),m.addEventListener("mousedown",V,!0),m.addEventListener("touchstart",V,!0),n.addEventListener("mousemove",V,!0),n.addEventListener("touchmove",V,!0),n.addEventListener("mouseup",V,!0),n.addEventListener("touchend",V,!0),n.addEventListener("touchcancel",V,!0),this._shuttleRingPointer.addEventListener("mousedown",V,!0),this._shuttleRingPointer.addEventListener("touchstart",V,!0),this._knobOuter.addEventListener("mousedown",V,!0),this._knobOuter.addEventListener("touchstart",V,!0);let L=this._knobTime.childNodes[0],Z=this._knobDate.childNodes[0],G=this._knobStatus.childNodes[0],I;this._subscriptions=[Ra(t.pauseViewModel,"toggled",function(v){I!==v&&(I=v,I?C._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):C._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),Ra(t,"shuttleRingAngle",function(v){ECt(C._shuttleRingPointer,C._knobOuter,v)}),Ra(t,"dateLabel",function(v){Z.textContent!==v&&(Z.textContent=v)}),Ra(t,"timeLabel",function(v){L.textContent!==v&&(L.textContent=v)}),Ra(t,"multiplierLabel",function(v){G.textContent!==v&&(G.textContent=v)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(HL.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});HL.prototype.isDestroyed=function(){return!1};HL.prototype.destroy=function(){l(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return me(this)};HL.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};HL.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(l(this._observer))return;let u=this;u._observer=new MutationObserver(function(){e.body.contains(u._container)&&(u._observer.disconnect(),u._observer=void 0,u.applyThemeChanges())}),u._observer.observe(e,{childList:!0,subtree:!0});return}let t=jy(this._themeNormal),n=jy(this._themeHover),i=jy(this._themeSelect),o=jy(this._themeDisabled),r=jy(this._themeKnob),s=jy(this._themePointer),a=jy(this._themeSwoosh),c=jy(this._themeSwooshHover),d=Bh({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":cs(t,s9)},{tagName:"stop",offset:"12%","stop-color":cs(t,gO)},{tagName:"stop",offset:"46%","stop-color":cs(t,F6)},{tagName:"stop",offset:"81%","stop-color":cs(t,yO)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":cs(n,s9)},{tagName:"stop",offset:"12%","stop-color":cs(n,gO)},{tagName:"stop",offset:"46%","stop-color":cs(n,F6)},{tagName:"stop",offset:"81%","stop-color":cs(n,yO)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":cs(i,s9)},{tagName:"stop",offset:"12%","stop-color":cs(i,gO)},{tagName:"stop",offset:"46%","stop-color":cs(i,F6)},{tagName:"stop",offset:"81%","stop-color":cs(i,yO)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":cs(o,ZCt)},{tagName:"stop",offset:"75%","stop-color":cs(o,GCt)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":cs(s,oCe)},{tagName:"stop",offset:"100%","stop-color":cs(s,oCe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":cs(r,s9)},{tagName:"stop",offset:"60%","stop-color":cs(r,iCe)},{tagName:"stop",offset:"85%","stop-color":cs(r,gO)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":cs(r,iCe)},{tagName:"stop",offset:"60%","stop-color":cs(r,s9)},{tagName:"stop",offset:"85%","stop-color":cs(r,yO)}]}]});l(this._defsElement)?this._svgNode.replaceChild(d,this._defsElement):this._svgNode.appendChild(d),this._defsElement=d};var c9=HL;var VRo=T(S(),1);var WCt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],qy=15,zL=105;function sCe(e,t){return e-t}function N6(e,t){let n=Io(t,e,sCe);return n<0?~n:n}function PCt(e,t){if(Math.abs(e)<=qy)return e/qy;let n=qy,i=zL,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function vCt(e,t,n){if(n.clockStep===go.SYSTEM_CLOCK)return qy;if(Math.abs(e)<=1)return e*qy;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=qy,r=zL,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function gm(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=gm.defaultDateFormatter,this._timeFormatter=gm.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,Se.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(gm.defaultTicks),this.timeLabel=void 0,Se.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,Se.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,Se.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===go.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,Se.defineProperty(this,"shuttleRingAngle",{get:function(){return vCt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,zL),-zL);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===zL){c.multiplier=s>0?a[a.length-1]:a[0];return}let d=PCt(s,a);if(t.snapToTicks)d=a[N6(d,a)];else if(d!==0){let u=Math.abs(d);if(u>100){let m=u.toFixed(0).length-2,p=Math.pow(10,m);d=Math.round(d/p)*p|0}else u>qy?d=Math.round(d):u>1?d=+d.toFixed(1):u>0&&(d=+d.toFixed(2))}c.multiplier=d}}),this._canAnimate=void 0,Se.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===Yr.UNBOUNDED)return!0;let c=s.multiplier,d=s.currentTime,u=s.startTime,m=!1;if(a===Yr.LOOP_STOP)m=j.greaterThan(d,u)||d.equals(u)&&c>0;else{let p=s.stopTime;m=j.greaterThan(d,u)&&j.lessThan(d,p)||d.equals(u)&&c>0||d.equals(p)&&c<0}return m||(s.shouldAnimate=!1),m}),this._isSystemTimeAvailable=void 0,Se.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===Yr.UNBOUNDED)return!0;let c=s.systemTime;return j.greaterThanOrEquals(c,s.startTime)&&j.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,Se.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=Zn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new Qy(n,{toggled:Se.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=Zn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new Qy(i,{toggled:Se.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=Zn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new Qy(o,{toggled:Se.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==go.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=Zn(function(){t._clockViewModel.clockStep=go.SYSTEM_CLOCK},Se.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new Qy(r,{toggled:Se.computed(function(){return e.clockStep===go.SYSTEM_CLOCK}),tooltip:Se.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=Zn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,d=N6(c,a)-1;d>=0&&(s.multiplier=a[d])}),this._faster=Zn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,d=N6(c,a)+1;d<a.length&&(s.multiplier=a[d])})}gm.defaultDateFormatter=function(e,t){let n=j.toGregorianDate(e);return`${WCt[n.month-1]} ${n.day} ${n.year}`};gm.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];gm.defaultTimeFormatter=function(e,t){let n=j.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};gm.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};gm.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(sCe);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(gm.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}});gm._maxShuttleRingAngle=zL;gm._realtimeShuttleRingAngle=qy;var l9=gm;var ARo=T(S(),1);var IRo=T(S(),1);function aCe(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,Se.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=Se.getObservable(this,"imageryProviderViewModels"),r=Se.pureComputed(function(){let m=o(),p={},g;for(g=0;g<m.length;g++){let _=m[g],C=_.category;l(p[C])?p[C].push(_):p[C]=[_]}let f=Object.keys(p),x=[];for(g=0;g<f.length;g++){let _=f[g];x.push({name:_,providers:p[_]})}return x});this._imageryProviders=r;let s=Se.getObservable(this,"terrainProviderViewModels"),a=Se.pureComputed(function(){let m=s(),p={},g;for(g=0;g<m.length;g++){let _=m[g],C=_.category;l(p[C])?p[C].push(_):p[C]=[_]}let f=Object.keys(p),x=[];for(g=0;g<f.length;g++){let _=f[g];x.push({name:_,providers:p[_]})}return x});this._terrainProviders=a,this.buttonTooltip=void 0,Se.defineProperty(this,"buttonTooltip",function(){let m=this.selectedImagery,p=this.selectedTerrain,g=l(m)?m.name:void 0,f=l(p)?p.name:void 0;return l(g)&&l(f)?`${g} +${f}`:l(g)?g:f}),this.buttonImageUrl=void 0,Se.defineProperty(this,"buttonImageUrl",function(){let m=this.selectedImagery;if(l(m))return m.iconUrl}),this.selectedImagery=void 0;let c=Se.observable();this.updateSelectedImageryViewModel=m=>{c(m),this.dropDownVisible=!1},this._currentImageryLayers=[],Se.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(m){if(c()===m){this.dropDownVisible=!1;return}let p=e.map,g,f=this._currentImageryLayers,x=f.length,_=this._globe.imageryLayers,C=!1;if(!p)for(g=0;g<x;g++){let V=_.length;for(let L=0;L<V;L++){let Z=_.get(L);if(Z===f[g]){_.remove(Z),C=!0;break}}}if(l(m))if(p&&m.marsOptions)p.basemap=m.marsOptions.layerId;else if(p&&m.options&&m.isTile)p.basemap=m.options.id;else{let V=m.creationCommand();if(Array.isArray(V)){let L=V.length;for(this._currentImageryLayers=[],g=L-1;g>=0;g--){let Z=Ka.fromProviderAsync(V[g]);_.add(Z,0),this._currentImageryLayers.push(Z)}}else{this._currentImageryLayers=[];let L=Ka.fromProviderAsync(V);if(L.name=m.name,C)_.add(L,0);else{let Z=_.get(0);l(Z)&&_.remove(Z),_.add(L,0)}this._currentImageryLayers.push(L)}}else p&&(p.basemap=void 0);c(m),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let d=Se.observable();this.updateSelectedTerrainViewModel=m=>{d(m),this.dropDownVisible=!1},Se.defineProperty(this,"selectedTerrain",{get:function(){return d()},set:function(m){if(d()===m){this.dropDownVisible=!1;return}let p;if(l(m)&&(p=m.creationCommand()),l(p)&&!l(p.then)){if(e.map&&m.marsOptions){e.map.terrainProvider=p;return}this._globe.terrainProvider=p}else if(l(p)){let g=!1,f=this._globe.terrainProviderChanged.addEventListener(()=>{g=!0,f()}),_=new KM(p).readyEvent.addEventListener(C=>{if(!g){if(e.map&&m.marsOptions){e.map.terrainProvider=C;return}this._globe.terrainProvider=C,_()}})}d(m),this.dropDownVisible=!1}});let u=this;this._toggleDropDown=Zn(function(){u.dropDownVisible=!u.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel),this.selectedTerrain=e.selectedTerrainProviderViewModel}Object.defineProperties(aCe.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var d9=aCe;function _O(e,t){e=Pn(e);let n=new d9(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let d=document.createElement("div");d.className="cesium-baseLayerPicker-categoryTitle",d.setAttribute("data-bind","text: name"),c.appendChild(d);let u=document.createElement("div");u.className="cesium-baseLayerPicker-choices",u.setAttribute("data-bind","foreach: providers"),c.appendChild(u);let m=document.createElement("div");m.className="cesium-baseLayerPicker-item",m.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),u.appendChild(m);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),m.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),m.appendChild(g);let f=document.createElement("div");f.className="cesium-baseLayerPicker-sectionTitle",f.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),f.innerHTML="Terrain",r.appendChild(f);let x=document.createElement("div");x.className="cesium-baseLayerPicker-section",x.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(x);let _=document.createElement("div");_.className="cesium-baseLayerPicker-category",x.appendChild(_);let C=document.createElement("div");C.className="cesium-baseLayerPicker-categoryTitle",C.setAttribute("data-bind","text: name"),_.appendChild(C);let V=document.createElement("div");V.className="cesium-baseLayerPicker-choices",V.setAttribute("data-bind","foreach: providers"),_.appendChild(V);let L=document.createElement("div");L.className="cesium-baseLayerPicker-item",L.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),V.appendChild(L);let Z=document.createElement("img");Z.className="cesium-baseLayerPicker-itemIcon",Z.setAttribute("data-bind","attr: { src: iconUrl }"),Z.setAttribute("draggable","false"),L.appendChild(Z);let G=document.createElement("div");G.className="cesium-baseLayerPicker-itemLabel",G.setAttribute("data-bind","text: name"),L.appendChild(G),Se.applyBindings(n,i),Se.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(I){i.contains(I.target)||r.contains(I.target)||(n.dropDownVisible=!1)},Yt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(_O.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});_O.prototype.isDestroyed=function(){return!1};_O.prototype.destroy=function(){return Yt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Se.cleanNode(this._element),Se.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),me(this)};var u9=_O;var zRo=T(S(),1);var BRo=T(S(),1);function cCe(e){let t=e.creationFunction;l(t.canExecute)||(t=Zn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),this.marsOptions=e.marsOptions,Se.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(cCe.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var ls=cCe;function wCt(){let e=[],t=devicePixelRatio>=2;return e.push(new ls({name:"Bing Maps Aerial",iconUrl:sn("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return b0({style:p0.AERIAL})}})),e.push(new ls({name:"Bing Maps Aerial with Labels",iconUrl:sn("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return b0({style:p0.AERIAL_WITH_LABELS})}})),e.push(new ls({name:"Bing Maps Roads",iconUrl:sn("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return b0({style:p0.ROAD})}})),e.push(new ls({name:"ArcGIS World Imagery",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return h0.fromBasemapType(vh.SATELLITE,{enablePickFeatures:!1})}})),e.push(new ls({name:"ArcGIS World Hillshade",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return h0.fromBasemapType(vh.HILLSHADE,{enablePickFeatures:!1})}})),e.push(new ls({name:"Esri World Ocean",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return h0.fromBasemapType(vh.OCEANS,{enablePickFeatures:!1})}})),e.push(new ls({name:"Open\xADStreet\xADMap",iconUrl:sn("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. +http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new E0({url:"https://tile.openstreetmap.org/"})}})),e.push(new ls({name:"Stadia x Stamen Watercolor",iconUrl:sn("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and reminiscent of hand drawn maps, the watercolor maps from Stamen Design apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. +https://docs.stadiamaps.com/map-styles/stamen-watercolor/`,category:"Other",creationFunction:function(){return new E0({url:"https://tiles.stadiamaps.com/tiles/stamen_watercolor/",fileExtension:"jpg",credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> © <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ns({name:"Stadia x Stamen Toner",iconUrl:sn("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and the most popular of the excellent styles from Stamen Design, these high-contrast B+W (black and white) maps are the perfect backdrop for your colorful and eye-catching overlays. -https://docs.stadiamaps.com/map-styles/stamen-toner/`,category:"Other",creationFunction:function(){return new hb({url:"https://tiles.stadiamaps.com/tiles/stamen_toner/",retinaTiles:t,credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ls({name:"Stadia x Stamen Toner",iconUrl:sn("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and the most popular of the excellent styles from Stamen Design, these high-contrast B+W (black and white) maps are the perfect backdrop for your colorful and eye-catching overlays. +https://docs.stadiamaps.com/map-styles/stamen-toner/`,category:"Other",creationFunction:function(){return new E0({url:"https://tiles.stadiamaps.com/tiles/stamen_toner/",retinaTiles:t,credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> © <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ns({name:"Stadia Alidade Smooth",iconUrl:sn("Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png"),tooltip:`Stadia's custom Alidade Smooth style is designed for maps that use a lot of markers or overlays. It features a muted color scheme and fewer points of interest to allow your added data to shine. -https://docs.stadiamaps.com/map-styles/alidade-smooth/`,category:"Other",creationFunction:function(){return new hb({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ls({name:"Stadia Alidade Smooth",iconUrl:sn("Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png"),tooltip:`Stadia's custom Alidade Smooth style is designed for maps that use a lot of markers or overlays. It features a muted color scheme and fewer points of interest to allow your added data to shine. +https://docs.stadiamaps.com/map-styles/alidade-smooth/`,category:"Other",creationFunction:function(){return new E0({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ns({name:"Stadia Alidade Smooth Dark",iconUrl:sn("Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png"),tooltip:`Stadia Alidade Smooth Dark, like its lighter cousin, is also designed to stay out of the way. It just flips the dark mode switch on the color scheme. With the lights out, your data can now literally shine. -https://docs.stadiamaps.com/map-styles/alidade-smooth-dark/`,category:"Other",creationFunction:function(){return new hb({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ls({name:"Stadia Alidade Smooth Dark",iconUrl:sn("Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png"),tooltip:`Stadia Alidade Smooth Dark, like its lighter cousin, is also designed to stay out of the way. It just flips the dark mode switch on the color scheme. With the lights out, your data can now literally shine. +https://docs.stadiamaps.com/map-styles/alidade-smooth-dark/`,category:"Other",creationFunction:function(){return new E0({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ns({name:"Sentinel-2",iconUrl:sn("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return ob.fromAssetId(3954)}})),e.push(new ns({name:"Blue Marble",iconUrl:sn("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return ob.fromAssetId(3845)}})),e.push(new ns({name:"Earth at night",iconUrl:sn("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return ob.fromAssetId(3812)}})),e.push(new ns({name:"Natural Earth\xA0II",iconUrl:sn("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. -http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return Cy.fromUrl(sn("Assets/Textures/NaturalEarthII"))}})),e}var Q9=kSt;var v1o=T(S(),1);function USt(){let e=[];return e.push(new ns({name:"WGS84 Ellipsoid",iconUrl:sn("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new UT({ellipsoid:ne.WGS84})}})),e.push(new ns({name:"Cesium World Terrain",iconUrl:sn("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return gS({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var j9=USt;var N1o=T(S(),1);var LS="http://www.w3.org/2000/svg",YSe="http://www.w3.org/1999/xlink",hB,q9=B.fromCssColorString("rgba(247,250,255,0.384)"),fB=B.fromCssColorString("rgba(143,191,255,0.216)"),C6=B.fromCssColorString("rgba(153,197,255,0.098)"),pB=B.fromCssColorString("rgba(255,255,255,0.086)"),DSt=B.fromCssColorString("rgba(255,255,255,0.267)"),BSt=B.fromCssColorString("rgba(255,255,255,0)"),BSe=B.fromCssColorString("rgba(66,67,68,0.3)"),OSe=B.fromCssColorString("rgba(0,0,0,0.5)");function Oy(e){return B.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var $9={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function Nh(e){let t=document.createElementNS(LS,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(Nh(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(YSe,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function V6(e,t,n){let i=document.createElementNS(LS,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(LS,"tspan");return o.textContent=n,i.appendChild(o),i}function OSt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var bB=new B;function is(e,t){let n=t.alpha,i=1-n;return bB.red=e.red*i+t.red*n,bB.green=e.green*i+t.green*n,bB.blue=e.blue*i+t.blue*n,bB.toCssColorString()}function L6(e,t,n){let i=$9[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Nh(o)}function YSt(e,t,n){let i=$9[n],o=$9.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Nh(r)}function zSt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&hB!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,d;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,d=t.touches[0].clientY):(c=t.clientX,d=t.clientY),!i&&(c>a.right||c<a.left||d<a.top||d>a.bottom))return;let u=e._shuttleRingPointer.getBoundingClientRect(),m=c-o-a.left,p=d-r-a.top,g=Math.atan2(p,m)*180/Math.PI+90;g>180&&(g-=360);let f=n.shuttleRingAngle;i||c<u.right&&c>u.left&&d>u.top&&d<u.bottom?(hB=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<f?n.slower():g>f&&n.faster(),t.preventDefault()}else e===hB&&(hB=void 0),n.shuttleRingDragging=!1}function Vb(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[Va(t,"toggled",this.setToggled,this),Va(t,"tooltip",this.setTooltip,this),Va(t.command,"canExecute",this.setEnabled,this)]}Vb.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();me(this)};Vb.prototype.isDestroyed=function(){return!1};Vb.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};Vb.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};Vb.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function kL(e,t){e=Pn(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(LS,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",YSe);let s=document.createElementNS(LS,"g");this._topG=s,this._realtimeSVG=new Vb(YSt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new Vb(L6(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new Vb(L6(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new Vb(L6(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(LS,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=Nh({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let d=$9.animation_pathSwooshFX,u=$9.animation_pathPointer,m=Nh({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:d.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:d.d},{tagName:d.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:d.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=m,this._shuttleRingPointer=Nh({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:u.tagName,d:u.d});let p=Nh({tagName:"g",transform:"translate(100,100)"});this._knobOuter=Nh({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,f=Nh({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=V6(0,-24,""),this._knobTime=V6(0,-7,""),this._knobStatus=V6(0,-41,"");let x=Nh({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),_=document.createElementNS(LS,"g");_.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(_),s.appendChild(p),s.appendChild(a),_.appendChild(c),_.appendChild(m),_.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(f),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(x),r.appendChild(s),e.appendChild(r);let C=this;function V(v){zSt(C,v)}this._mouseCallback=V,c.addEventListener("mousedown",V,!0),c.addEventListener("touchstart",V,!0),m.addEventListener("mousedown",V,!0),m.addEventListener("touchstart",V,!0),n.addEventListener("mousemove",V,!0),n.addEventListener("touchmove",V,!0),n.addEventListener("mouseup",V,!0),n.addEventListener("touchend",V,!0),n.addEventListener("touchcancel",V,!0),this._shuttleRingPointer.addEventListener("mousedown",V,!0),this._shuttleRingPointer.addEventListener("touchstart",V,!0),this._knobOuter.addEventListener("mousedown",V,!0),this._knobOuter.addEventListener("touchstart",V,!0);let L=this._knobTime.childNodes[0],Z=this._knobDate.childNodes[0],G=this._knobStatus.childNodes[0],I;this._subscriptions=[Va(t.pauseViewModel,"toggled",function(v){I!==v&&(I=v,I?C._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):C._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),Va(t,"shuttleRingAngle",function(v){OSt(C._shuttleRingPointer,C._knobOuter,v)}),Va(t,"dateLabel",function(v){Z.textContent!==v&&(Z.textContent=v)}),Va(t,"timeLabel",function(v){L.textContent!==v&&(L.textContent=v)}),Va(t,"multiplierLabel",function(v){G.textContent!==v&&(G.textContent=v)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(kL.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});kL.prototype.isDestroyed=function(){return!1};kL.prototype.destroy=function(){l(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return me(this)};kL.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};kL.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(l(this._observer))return;let u=this;u._observer=new MutationObserver(function(){e.body.contains(u._container)&&(u._observer.disconnect(),u._observer=void 0,u.applyThemeChanges())}),u._observer.observe(e,{childList:!0,subtree:!0});return}let t=Oy(this._themeNormal),n=Oy(this._themeHover),i=Oy(this._themeSelect),o=Oy(this._themeDisabled),r=Oy(this._themeKnob),s=Oy(this._themePointer),a=Oy(this._themeSwoosh),c=Oy(this._themeSwooshHover),d=Nh({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":is(t,q9)},{tagName:"stop",offset:"12%","stop-color":is(t,fB)},{tagName:"stop",offset:"46%","stop-color":is(t,C6)},{tagName:"stop",offset:"81%","stop-color":is(t,pB)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":is(n,q9)},{tagName:"stop",offset:"12%","stop-color":is(n,fB)},{tagName:"stop",offset:"46%","stop-color":is(n,C6)},{tagName:"stop",offset:"81%","stop-color":is(n,pB)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":is(i,q9)},{tagName:"stop",offset:"12%","stop-color":is(i,fB)},{tagName:"stop",offset:"46%","stop-color":is(i,C6)},{tagName:"stop",offset:"81%","stop-color":is(i,pB)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":is(o,DSt)},{tagName:"stop",offset:"75%","stop-color":is(o,BSt)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":is(s,OSe)},{tagName:"stop",offset:"100%","stop-color":is(s,OSe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":is(r,q9)},{tagName:"stop",offset:"60%","stop-color":is(r,BSe)},{tagName:"stop",offset:"85%","stop-color":is(r,fB)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":is(r,BSe)},{tagName:"stop",offset:"60%","stop-color":is(r,q9)},{tagName:"stop",offset:"85%","stop-color":is(r,pB)}]}]});l(this._defsElement)?this._svgNode.replaceChild(d,this._defsElement):this._svgNode.appendChild(d),this._defsElement=d};var eM=kL;var H1o=T(S(),1);var HSt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Yy=15,UL=105;function zSe(e,t){return e-t}function R6(e,t){let n=Go(t,e,zSe);return n<0?~n:n}function KSt(e,t){if(Math.abs(e)<=Yy)return e/Yy;let n=Yy,i=UL,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function JSt(e,t,n){if(n.clockStep===bo.SYSTEM_CLOCK)return Yy;if(Math.abs(e)<=1)return e*Yy;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=Yy,r=UL,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function dm(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=dm.defaultDateFormatter,this._timeFormatter=dm.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,Se.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(dm.defaultTicks),this.timeLabel=void 0,Se.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,Se.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,Se.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===bo.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,Se.defineProperty(this,"shuttleRingAngle",{get:function(){return JSt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,UL),-UL);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=bo.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===UL){c.multiplier=s>0?a[a.length-1]:a[0];return}let d=KSt(s,a);if(t.snapToTicks)d=a[R6(d,a)];else if(d!==0){let u=Math.abs(d);if(u>100){let m=u.toFixed(0).length-2,p=Math.pow(10,m);d=Math.round(d/p)*p|0}else u>Yy?d=Math.round(d):u>1?d=+d.toFixed(1):u>0&&(d=+d.toFixed(2))}c.multiplier=d}}),this._canAnimate=void 0,Se.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===Dr.UNBOUNDED)return!0;let c=s.multiplier,d=s.currentTime,u=s.startTime,m=!1;if(a===Dr.LOOP_STOP)m=j.greaterThan(d,u)||d.equals(u)&&c>0;else{let p=s.stopTime;m=j.greaterThan(d,u)&&j.lessThan(d,p)||d.equals(u)&&c>0||d.equals(p)&&c<0}return m||(s.shouldAnimate=!1),m}),this._isSystemTimeAvailable=void 0,Se.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===Dr.UNBOUNDED)return!0;let c=s.systemTime;return j.greaterThanOrEquals(c,s.startTime)&&j.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,Se.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=Zn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new By(n,{toggled:Se.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=Zn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new By(i,{toggled:Se.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=Zn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new By(o,{toggled:Se.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==bo.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=Zn(function(){t._clockViewModel.clockStep=bo.SYSTEM_CLOCK},Se.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new By(r,{toggled:Se.computed(function(){return e.clockStep===bo.SYSTEM_CLOCK}),tooltip:Se.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=Zn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,d=R6(c,a)-1;d>=0&&(s.multiplier=a[d])}),this._faster=Zn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,d=R6(c,a)+1;d<a.length&&(s.multiplier=a[d])})}dm.defaultDateFormatter=function(e,t){let n=j.toGregorianDate(e);return`${HSt[n.month-1]} ${n.day} ${n.year}`};dm.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];dm.defaultTimeFormatter=function(e,t){let n=j.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};dm.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};dm.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(zSe);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(dm.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}});dm._maxShuttleRingAngle=UL;dm._realtimeShuttleRingAngle=Yy;var tM=dm;var rVo=T(S(),1);var q1o=T(S(),1);function QSt(e){return function(t){let n=e._scene.pick(t.position);l(n)&&n.primitive instanceof fa&&(e.tileset=n.primitive),e.pickActive=!1}}function KSe(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);l(i)&&i.primitive instanceof fa&&(e.tileset=i.primitive)},Vn.MOUSE_MOVE):(e._eventHandler.removeInputAction(Vn.MOUSE_MOVE),e.picking=e.picking)}var jSt={maximumFractionDigits:3};function nM(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,jSt):Math.round(t).toLocaleString()}function iM(e,t){if(!l(e))return"";let n=t?e._statisticsPerPass[vo.PICK]:e._statisticsPerPass[vo.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${nM(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${nM(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${nM(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function JSe(){let e=Ci.statistics;return` + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ls({name:"Sentinel-2",iconUrl:sn("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return f0.fromAssetId(3954)}})),e.push(new ls({name:"Blue Marble",iconUrl:sn("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return f0.fromAssetId(3845)}})),e.push(new ls({name:"Earth at night",iconUrl:sn("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return f0.fromAssetId(3812)}})),e.push(new ls({name:"Natural Earth\xA0II",iconUrl:sn("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. +http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return My.fromUrl(sn("Assets/Textures/NaturalEarthII"))}})),e}var m9=wCt;var jRo=T(S(),1);function FCt(){let e=[];return e.push(new ls({name:"WGS84 Ellipsoid",iconUrl:sn("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new MT({ellipsoid:ne.WGS84})}})),e.push(new ls({name:"Cesium World Terrain",iconUrl:sn("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return FT({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var h9=FCt;var lZo=T(S(),1);var nZo=T(S(),1);function ACt(e){return function(t){let n=e._scene.pick(t.position);l(n)&&n.primitive instanceof xs&&(e.tileset=n.primitive),e.pickActive=!1}}function dCe(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);l(i)&&i.primitive instanceof xs&&(e.tileset=i.primitive)},Cn.MOUSE_MOVE):(e._eventHandler.removeInputAction(Cn.MOUSE_MOVE),e.picking=e.picking)}var MCt={maximumFractionDigits:3};function f9(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,MCt):Math.round(t).toLocaleString()}function p9(e,t){if(!l(e))return"";let n=t?e._statisticsPerPass[Fo.PICK]:e._statisticsPerPass[Fo.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${f9(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${f9(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${f9(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function uCe(){let e=Ri.statistics;return` <ul class="cesium-cesiumInspector-statistics"> - <li><strong>Geometry Memory (MB): </strong>${nM(e.geometryByteLength)}</li> - <li><strong>Texture Memory (MB): </strong>${nM(e.texturesByteLength)}</li> + <li><strong>Geometry Memory (MB): </strong>${f9(e.geometryByteLength)}</li> + <li><strong>Texture Memory (MB): </strong>${f9(e.texturesByteLength)}</li> </ul> - `}var qSt=[{text:"Highlight",value:Zl.HIGHLIGHT},{text:"Replace",value:Zl.REPLACE},{text:"Mix",value:Zl.MIX}],HSe=new B(1,1,0,.4),$St=new B,gB=new B;function La(e,t){let n=this,i=e.canvas;this._eventHandler=new Yd(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new fb({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,Se.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=Se.observable({}),this.properties=[],Se.defineProperty(this,"properties",function(){let k=[],J=n._properties();for(let z in J)J.hasOwnProperty(z)&&k.push(z);return k});let o=Se.observable();Se.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(k){o(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceError=k)}}),this.dynamicScreenSpaceError=!1;let r=Se.observable();Se.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(k){r(k),l(n._tileset)&&(n._tileset.colorBlendMode=k,n._scene.requestRender())}}),this.colorBlendMode=Zl.HIGHLIGHT;let s=Se.observable(),a=Se.observable();Se.defineProperty(this,"picking",{get:function(){return a()},set:function(k){a(k),k?n._eventHandler.setInputAction(function(J){let z=e.pick(J.endPosition);if(z instanceof ks?(n.feature=z,n.tile=z.content.tile):l(z)&&l(z.content)?(n.feature=void 0,n.tile=z.content.tile):(n.feature=void 0,n.tile=void 0),!!l(n._tileset)){if(s&&l(z)&&l(z.content)){let te;e.pickPositionSupported&&(te=e.pickPosition(J.endPosition),l(te)&&(n._tileset.debugPickPosition=te)),n._tileset.debugPickedTile=z.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},Vn.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(Vn.MOUSE_MOVE))}}),this.picking=!0;let c=Se.observable();Se.defineProperty(this,"colorize",{get:function(){return c()},set:function(k){c(k),l(n._tileset)&&(n._tileset.debugColorizeTiles=k,n._scene.requestRender())}}),this.colorize=!1;let d=Se.observable();Se.defineProperty(this,"wireframe",{get:function(){return d()},set:function(k){d(k),l(n._tileset)&&(n._tileset.debugWireframe=k,n._scene.requestRender())}}),this.wireframe=!1;let u=Se.observable();Se.defineProperty(this,"showBoundingVolumes",{get:function(){return u()},set:function(k){u(k),l(n._tileset)&&(n._tileset.debugShowBoundingVolume=k,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let m=Se.observable();Se.defineProperty(this,"showContentBoundingVolumes",{get:function(){return m()},set:function(k){m(k),l(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=k,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=Se.observable();Se.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(k){p(k),l(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=k,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=Se.observable();Se.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(k){g(k),l(n._tileset)&&(n._tileset.debugFreezeFrame=k,n._scene.debugShowFrustumPlanes=k,n._scene.requestRender())}}),this.freezeFrame=!1,Se.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(k){s(k),l(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=k,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let f=Se.observable();Se.defineProperty(this,"showGeometricError",{get:function(){return f()},set:function(k){f(k),l(n._tileset)&&(n._tileset.debugShowGeometricError=k,n._scene.requestRender())}}),this.showGeometricError=!1;let x=Se.observable();Se.defineProperty(this,"showRenderingStatistics",{get:function(){return x()},set:function(k){x(k),l(n._tileset)&&(n._tileset.debugShowRenderingStatistics=k,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let _=Se.observable();Se.defineProperty(this,"showMemoryUsage",{get:function(){return _()},set:function(k){_(k),l(n._tileset)&&(n._tileset.debugShowMemoryUsage=k,n._scene.requestRender())}}),this.showMemoryUsage=!1;let C=Se.observable();Se.defineProperty(this,"showUrl",{get:function(){return C()},set:function(k){C(k),l(n._tileset)&&(n._tileset.debugShowUrl=k,n._scene.requestRender())}}),this.showUrl=!1;let V=Se.observable();Se.defineProperty(this,"maximumScreenSpaceError",{get:function(){return V()},set:function(k){k=Number(k),isNaN(k)||(V(k),l(n._tileset)&&(n._tileset.maximumScreenSpaceError=k))}}),this.maximumScreenSpaceError=16;let L=Se.observable();Se.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return L()},set:function(k){k=Number(k),isNaN(k)||(L(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=k))}}),this.dynamicScreenSpaceErrorDensity=2e-4,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,Se.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(L(),1/6)},set:function(k){let J=Math.pow(k,6);L(J),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=J)}});let Z=Se.observable();Se.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return Z()},set:function(k){k=Number(k),isNaN(k)||(Z(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=k))}}),this.dynamicScreenSpaceErrorFactor=24;let G=QSt(this),I=Se.observable();Se.defineProperty(this,"pickActive",{get:function(){return I()},set:function(k){I(k),k?n._eventHandler.setInputAction(G,Vn.LEFT_CLICK):n._eventHandler.removeInputAction(Vn.LEFT_CLICK)}});let v=Se.observable();Se.defineProperty(this,"pointCloudShading",{get:function(){return v()},set:function(k){v(k),l(n._tileset)&&(n._tileset.pointCloudShading.attenuation=k)}}),this.pointCloudShading=!1;let P=Se.observable();Se.defineProperty(this,"geometricErrorScale",{get:function(){return P()},set:function(k){k=Number(k),isNaN(k)||(P(k),l(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=k))}}),this.geometricErrorScale=1;let w=Se.observable();Se.defineProperty(this,"maximumAttenuation",{get:function(){return w()},set:function(k){k=Number(k),isNaN(k)||(w(k),l(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=k===0?void 0:k))}}),this.maximumAttenuation=0;let F=Se.observable();Se.defineProperty(this,"baseResolution",{get:function(){return F()},set:function(k){k=Number(k),isNaN(k)||(F(k),l(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=k===0?void 0:k))}}),this.baseResolution=0;let b=Se.observable();Se.defineProperty(this,"eyeDomeLighting",{get:function(){return b()},set:function(k){b(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=k)}}),this.eyeDomeLighting=!1;let R=Se.observable();Se.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return R()},set:function(k){k=Number(k),isNaN(k)||(R(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=k))}}),this.eyeDomeLightingStrength=1;let E=Se.observable();Se.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return E()},set:function(k){k=Number(k),isNaN(k)||(E(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=k))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let X=Se.observable();Se.defineProperty(this,"skipLevelOfDetail",{get:function(){return X()},set:function(k){X(k),l(n._tileset)&&(n._tileset.skipLevelOfDetail=k)}}),this.skipLevelOfDetail=!0;let A=Se.observable();Se.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return A()},set:function(k){k=Number(k),isNaN(k)||(A(k),l(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=k))}}),this.skipScreenSpaceErrorFactor=16;let N=Se.observable();Se.defineProperty(this,"baseScreenSpaceError",{get:function(){return N()},set:function(k){k=Number(k),isNaN(k)||(N(k),l(n._tileset)&&(n._tileset.baseScreenSpaceError=k))}}),this.baseScreenSpaceError=1024;let O=Se.observable();Se.defineProperty(this,"skipLevels",{get:function(){return O()},set:function(k){k=Number(k),isNaN(k)||(O(k),l(n._tileset)&&(n._tileset.skipLevels=k))}}),this.skipLevels=1;let U=Se.observable();Se.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return U()},set:function(k){U(k),l(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=k)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let Y=Se.observable();Se.defineProperty(this,"loadSiblings",{get:function(){return Y()},set:function(k){Y(k),l(n._tileset)&&(n._tileset.loadSiblings=k)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),l(this._tileset)||KSe(this,!0)}Object.defineProperties(La.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return qSt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,l(e)){this._properties(e.properties);let t=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],n=t.length;for(let o=0;o<n;++o){let r=t[o];this[r]=this[r]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings,this.hasEnabledWireframe=e._enableDebugWireframe;let i=e.pointCloudShading;this.pointCloudShading=i.attenuation,this.geometricErrorScale=i.geometricErrorScale,this.maximumAttenuation=i.maximumAttenuation?i.maximumAttenuation:0,this.baseResolution=i.baseResolution?i.baseResolution:0,this.eyeDomeLighting=i.eyeDomeLighting,this.eyeDomeLightingStrength=i.eyeDomeLightingStrength,this.eyeDomeLightingRadius=i.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=iM(e,!1),this._pickStatisticsText=iM(e,!0),this._resourceCacheStatisticsText=JSe(),KSe(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;l(t)&&!t.content.isDestroyed()&&(!this.colorize&&l(this._style)?t.color=l(this._style.color)?this._style.color.evaluateColor(t,$St):B.WHITE:t.color=gB,this._scene.requestRender()),l(e)&&(B.clone(e.color,gB),e.color=HSe,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;l(t)&&!t.isDestroyed()&&!Z6(t.content)&&(t.color=gB,this._scene.requestRender()),l(e)&&!Z6(e.content)&&(B.clone(e.color,gB),e.color=HSe,this._scene.requestRender()),this._tile=e}}});function Z6(e){if(!l(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)if(!Z6(t[i]))return!1;return!0}return!1}La.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};La.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};La.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};La.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};La.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};La.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};La.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};La.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};La.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};La.prototype.trimTilesCache=function(){l(this._tileset)&&this._tileset.trimLoadedTiles()};La.prototype.compileStyle=function(){let e=this._tileset;if(!(!l(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new ZT(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};La.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` + `}var NCt=[{text:"Highlight",value:Gl.HIGHLIGHT},{text:"Replace",value:Gl.REPLACE},{text:"Mix",value:Gl.MIX}],lCe=new B(1,1,0,.4),kCt=new B,TO=new B;function Za(e,t){let n=this,i=e.canvas;this._eventHandler=new $d(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new y0({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,Se.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=Se.observable({}),this.properties=[],Se.defineProperty(this,"properties",function(){let k=[],H=n._properties();for(let J in H)H.hasOwnProperty(J)&&k.push(J);return k});let o=Se.observable();Se.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(k){o(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceError=k)}}),this.dynamicScreenSpaceError=!1;let r=Se.observable();Se.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(k){r(k),l(n._tileset)&&(n._tileset.colorBlendMode=k,n._scene.requestRender())}}),this.colorBlendMode=Gl.HIGHLIGHT;let s=Se.observable(),a=Se.observable();Se.defineProperty(this,"picking",{get:function(){return a()},set:function(k){a(k),k?n._eventHandler.setInputAction(function(H){let J=e.pick(H.endPosition);if(J instanceof Os?(n.feature=J,n.tile=J.content.tile):l(J)&&l(J.content)?(n.feature=void 0,n.tile=J.content.tile):(n.feature=void 0,n.tile=void 0),!!l(n._tileset)){if(s&&l(J)&&l(J.content)){let te;e.pickPositionSupported&&(te=e.pickPosition(H.endPosition),l(te)&&(n._tileset.debugPickPosition=te)),n._tileset.debugPickedTile=J.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},Cn.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(Cn.MOUSE_MOVE))}}),this.picking=!0;let c=Se.observable();Se.defineProperty(this,"colorize",{get:function(){return c()},set:function(k){c(k),l(n._tileset)&&(n._tileset.debugColorizeTiles=k,n._scene.requestRender())}}),this.colorize=!1;let d=Se.observable();Se.defineProperty(this,"wireframe",{get:function(){return d()},set:function(k){d(k),l(n._tileset)&&(n._tileset.debugWireframe=k,n._scene.requestRender())}}),this.wireframe=!1;let u=Se.observable();Se.defineProperty(this,"showBoundingVolumes",{get:function(){return u()},set:function(k){u(k),l(n._tileset)&&(n._tileset.debugShowBoundingVolume=k,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let m=Se.observable();Se.defineProperty(this,"showContentBoundingVolumes",{get:function(){return m()},set:function(k){m(k),l(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=k,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=Se.observable();Se.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(k){p(k),l(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=k,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=Se.observable();Se.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(k){g(k),l(n._tileset)&&(n._tileset.debugFreezeFrame=k,n._scene.debugShowFrustumPlanes=k,n._scene.requestRender())}}),this.freezeFrame=!1,Se.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(k){s(k),l(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=k,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let f=Se.observable();Se.defineProperty(this,"showGeometricError",{get:function(){return f()},set:function(k){f(k),l(n._tileset)&&(n._tileset.debugShowGeometricError=k,n._scene.requestRender())}}),this.showGeometricError=!1;let x=Se.observable();Se.defineProperty(this,"showRenderingStatistics",{get:function(){return x()},set:function(k){x(k),l(n._tileset)&&(n._tileset.debugShowRenderingStatistics=k,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let _=Se.observable();Se.defineProperty(this,"showMemoryUsage",{get:function(){return _()},set:function(k){_(k),l(n._tileset)&&(n._tileset.debugShowMemoryUsage=k,n._scene.requestRender())}}),this.showMemoryUsage=!1;let C=Se.observable();Se.defineProperty(this,"showUrl",{get:function(){return C()},set:function(k){C(k),l(n._tileset)&&(n._tileset.debugShowUrl=k,n._scene.requestRender())}}),this.showUrl=!1;let V=Se.observable();Se.defineProperty(this,"maximumScreenSpaceError",{get:function(){return V()},set:function(k){k=Number(k),isNaN(k)||(V(k),l(n._tileset)&&(n._tileset.maximumScreenSpaceError=k))}}),this.maximumScreenSpaceError=16;let L=Se.observable();Se.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return L()},set:function(k){k=Number(k),isNaN(k)||(L(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=k))}}),this.dynamicScreenSpaceErrorDensity=2e-4,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,Se.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(L(),1/6)},set:function(k){let H=Math.pow(k,6);L(H),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=H)}});let Z=Se.observable();Se.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return Z()},set:function(k){k=Number(k),isNaN(k)||(Z(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=k))}}),this.dynamicScreenSpaceErrorFactor=24;let G=ACt(this),I=Se.observable();Se.defineProperty(this,"pickActive",{get:function(){return I()},set:function(k){I(k),k?n._eventHandler.setInputAction(G,Cn.LEFT_CLICK):n._eventHandler.removeInputAction(Cn.LEFT_CLICK)}});let v=Se.observable();Se.defineProperty(this,"pointCloudShading",{get:function(){return v()},set:function(k){v(k),l(n._tileset)&&(n._tileset.pointCloudShading.attenuation=k)}}),this.pointCloudShading=!1;let P=Se.observable();Se.defineProperty(this,"geometricErrorScale",{get:function(){return P()},set:function(k){k=Number(k),isNaN(k)||(P(k),l(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=k))}}),this.geometricErrorScale=1;let w=Se.observable();Se.defineProperty(this,"maximumAttenuation",{get:function(){return w()},set:function(k){k=Number(k),isNaN(k)||(w(k),l(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=k===0?void 0:k))}}),this.maximumAttenuation=0;let A=Se.observable();Se.defineProperty(this,"baseResolution",{get:function(){return A()},set:function(k){k=Number(k),isNaN(k)||(A(k),l(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=k===0?void 0:k))}}),this.baseResolution=0;let b=Se.observable();Se.defineProperty(this,"eyeDomeLighting",{get:function(){return b()},set:function(k){b(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=k)}}),this.eyeDomeLighting=!1;let R=Se.observable();Se.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return R()},set:function(k){k=Number(k),isNaN(k)||(R(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=k))}}),this.eyeDomeLightingStrength=1;let E=Se.observable();Se.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return E()},set:function(k){k=Number(k),isNaN(k)||(E(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=k))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let X=Se.observable();Se.defineProperty(this,"skipLevelOfDetail",{get:function(){return X()},set:function(k){X(k),l(n._tileset)&&(n._tileset.skipLevelOfDetail=k)}}),this.skipLevelOfDetail=!0;let F=Se.observable();Se.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return F()},set:function(k){k=Number(k),isNaN(k)||(F(k),l(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=k))}}),this.skipScreenSpaceErrorFactor=16;let N=Se.observable();Se.defineProperty(this,"baseScreenSpaceError",{get:function(){return N()},set:function(k){k=Number(k),isNaN(k)||(N(k),l(n._tileset)&&(n._tileset.baseScreenSpaceError=k))}}),this.baseScreenSpaceError=1024;let O=Se.observable();Se.defineProperty(this,"skipLevels",{get:function(){return O()},set:function(k){k=Number(k),isNaN(k)||(O(k),l(n._tileset)&&(n._tileset.skipLevels=k))}}),this.skipLevels=1;let U=Se.observable();Se.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return U()},set:function(k){U(k),l(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=k)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let Y=Se.observable();Se.defineProperty(this,"loadSiblings",{get:function(){return Y()},set:function(k){Y(k),l(n._tileset)&&(n._tileset.loadSiblings=k)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),l(this._tileset)||dCe(this,!0)}Object.defineProperties(Za.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return NCt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,l(e)){this._properties(e.properties);let t=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],n=t.length;for(let o=0;o<n;++o){let r=t[o];this[r]=this[r]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings,this.hasEnabledWireframe=e._enableDebugWireframe;let i=e.pointCloudShading;this.pointCloudShading=i.attenuation,this.geometricErrorScale=i.geometricErrorScale,this.maximumAttenuation=i.maximumAttenuation?i.maximumAttenuation:0,this.baseResolution=i.baseResolution?i.baseResolution:0,this.eyeDomeLighting=i.eyeDomeLighting,this.eyeDomeLightingStrength=i.eyeDomeLightingStrength,this.eyeDomeLightingRadius=i.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=p9(e,!1),this._pickStatisticsText=p9(e,!0),this._resourceCacheStatisticsText=uCe(),dCe(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;l(t)&&!t.content.isDestroyed()&&(!this.colorize&&l(this._style)?t.color=l(this._style.color)?this._style.color.evaluateColor(t,kCt):B.WHITE:t.color=TO,this._scene.requestRender()),l(e)&&(B.clone(e.color,TO),e.color=lCe,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;l(t)&&!t.isDestroyed()&&!k6(t.content)&&(t.color=TO,this._scene.requestRender()),l(e)&&!k6(e.content)&&(B.clone(e.color,TO),e.color=lCe,this._scene.requestRender()),this._tile=e}}});function k6(e){if(!l(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)if(!k6(t[i]))return!1;return!0}return!1}Za.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};Za.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};Za.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};Za.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};Za.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};Za.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};Za.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};Za.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};Za.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};Za.prototype.trimTilesCache=function(){l(this._tileset)&&this._tileset.trimLoadedTiles()};Za.prototype.compileStyle=function(){let e=this._tileset;if(!(!l(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new LS(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};Za.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` `),c=a.length,d;if(t.shiftKey)for(d=0;d<c;++d)a[d][0]===" "&&(a[d][1]===" "?(a[d]=a[d].substr(2),r-=2):(a[d]=a[d].substr(1),r-=1));else for(d=0;d<c;++d)a[d]=` ${a[d]}`,r+=2;let u=a.join(` -`);n.value=n.value.slice(0,i)+u+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};La.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),l(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=iM(e,!1),this._pickStatisticsText=iM(e,!0),this._resourceCacheStatisticsText=JSe())};La.prototype.isDestroyed=function(){return!1};La.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){Se.getObservable(e,t).dispose()}),me(this)};La.getStatistics=iM;var oM=La;function yB(e,t){e=Pn(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new oM(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=Ka.createSection,c=Ka.createCheckbox,d=Ka.createRangeInput,u=Ka.createButton,m=a(s,"Tileset","tilesetVisible","toggleTileset"),p=a(s,"Display","displayVisible","toggleDisplay"),g=a(s,"Update","updateVisible","toggleUpdate"),f=a(s,"Logging","loggingVisible","toggleLogging"),x=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),_=a(s,"Style","styleVisible","toggleStyle"),C=a(s,"Optimization","optimizationVisible","toggleOptimization"),V=document.createElement("div");V.className="field-group";let L=document.createElement("label");L.className="field-label",L.appendChild(document.createTextNode("Properties: "));let Z=document.createElement("div");Z.setAttribute("data-bind","text: properties"),V.appendChild(L),V.appendChild(Z),m.appendChild(V),m.appendChild(u("Pick Tileset","togglePickTileset","pickActive")),m.appendChild(u("Trim Tiles Cache","trimTilesCache")),m.appendChild(c("Enable Picking","picking")),p.appendChild(c("Colorize","colorize"));let G=p.appendChild(c("Wireframe","wireframe","_tileset === undefined || hasEnabledWireframe")),I=document.createElement("p");I.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),I.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),I.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",G.appendChild(I),p.appendChild(c("Bounding Volumes","showBoundingVolumes")),p.appendChild(c("Content Volumes","showContentBoundingVolumes")),p.appendChild(c("Request Volumes","showRequestVolumes")),p.appendChild(c("Point Cloud Shading","pointCloudShading"));let v=document.createElement("div");v.setAttribute("data-bind","visible: pointCloudShading"),v.appendChild(d("Geometric Error Scale","geometricErrorScale",0,2,.01)),v.appendChild(d("Maximum Attenuation","maximumAttenuation",0,32,1)),v.appendChild(d("Base Resolution","baseResolution",0,1,.01)),v.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),p.appendChild(v);let P=document.createElement("div");P.setAttribute("data-bind","visible: eyeDomeLighting"),P.appendChild(d("EDL Strength","eyeDomeLightingStrength",0,2,.1)),P.appendChild(d("EDL Radius","eyeDomeLightingRadius",0,4,.1)),v.appendChild(P),g.appendChild(c("Freeze Frame","freezeFrame")),g.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let w=document.createElement("div");w.appendChild(d("Maximum Screen Space Error","maximumScreenSpaceError",0,128,1)),g.appendChild(w);let F=document.createElement("div");F.setAttribute("data-bind","visible: dynamicScreenSpaceError"),F.appendChild(d("Screen Space Error Density","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),F.appendChild(d("Screen Space Error Factor","dynamicScreenSpaceErrorFactor",1,32,.1)),g.appendChild(F),f.appendChild(c("Performance","performance")),f.appendChild(i),f.appendChild(c("Statistics","showStatistics"));let b=document.createElement("div");b.className="cesium-3dTilesInspector-statistics",b.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),f.appendChild(b),f.appendChild(c("Pick Statistics","showPickStatistics"));let R=document.createElement("div");R.className="cesium-3dTilesInspector-statistics",R.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),f.appendChild(R),f.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let E=document.createElement("div");E.className="cesium-3dTilesInspector-statistics",E.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),f.appendChild(E);let X=document.createElement("div");_.appendChild(X),X.appendChild(document.createTextNode("Color Blend Mode: "));let A=document.createElement("select");A.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),X.appendChild(A);let N=document.createElement("textarea");N.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),X.className="cesium-cesiumInspector-styleEditor",X.appendChild(N);let O=u("Compile (Ctrl+Enter)","compileStyle");X.appendChild(O);let U=document.createElement("div");U.className="cesium-cesiumInspector-error",U.setAttribute("data-bind","text: editorError"),X.appendChild(U),x.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),x.appendChild(c("Geometric Error","showGeometricError")),x.appendChild(c("Rendering Statistics","showRenderingStatistics")),x.appendChild(c("Memory Usage (MB)","showMemoryUsage")),x.appendChild(c("Url","showUrl")),C.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let Y=document.createElement("div");Y.appendChild(d("Skip SSE Factor","skipScreenSpaceErrorFactor",1,50,1)),C.appendChild(Y);let k=document.createElement("div");k.appendChild(d("SSE before skipping LOD","baseScreenSpaceError",0,4096,1)),C.appendChild(k);let J=document.createElement("div");J.appendChild(d("Min. levels to skip","skipLevels",0,10,1)),C.appendChild(J),C.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),C.appendChild(c("Load siblings of visible tiles","loadSiblings")),Se.applyBindings(o,n)}Object.defineProperties(yB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});yB.prototype.isDestroyed=function(){return!1};yB.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),me(this)};var rM=yB;var xVo=T(S(),1);var uVo=T(S(),1);function eCt(e){let t;if(l(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>    ${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function G6(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var tCt=new gn,nCt=new h;function sM(e,t){let n=this,i=e.canvas,o=new Yd(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",Se.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=Zn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=Zn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=Zn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=Zn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=Se.getObservable(this,"frustums").subscribe(function(d){n._scene.debugShowFrustums=d,n._scene.requestRender()}),this._frustumPlanesSubscription=Se.getObservable(this,"frustumPlanes").subscribe(function(d){n._scene.debugShowFrustumPlanes=d,n._scene.requestRender()}),this._performanceSubscription=Se.getObservable(this,"performance").subscribe(function(d){d?n._performanceDisplay=new fb({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=Zn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=Se.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=Zn(function(){if(n.primitiveReferenceFrame){let d=n._primitive.modelMatrix;n._modelMatrixPrimitive=new gF({modelMatrix:d}),n._scene.primitives.add(n._modelMatrixPrimitive)}else l(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=Se.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=Zn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(d){return l(n._modelMatrixPrimitive)&&d.owner===n._modelMatrixPrimitive._primitive?!0:l(n._primitive)?d.owner===n._primitive||d.owner===n._primitive._billboardCollection||d.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=Se.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=Se.getObservable(this,"wireframe").subscribe(function(d){r._surface.tileProvider._debug.wireframe=d,n._scene.requestRender()}),this._depthFrustumSubscription=Se.getObservable(this,"depthFrustum").subscribe(function(d){n._scene.debugShowDepthFrustum=d,n._scene.requestRender()}),this._incrementDepthFrustum=Zn(function(){let d=n.depthFrustum+1;return n.depthFrustum=G6(1,n._numberOfFrustums,d),n._scene.requestRender(),!0}),this._decrementDepthFrustum=Zn(function(){let d=n.depthFrustum-1;return n.depthFrustum=G6(1,n._numberOfFrustums,d),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=Se.getObservable(this,"suspendUpdates").subscribe(function(d){r._surface._debug.suspendLodUpdate=d,d||(n.filterTile=!1)});let s;this._showTileCoordinates=Zn(function(){return n.tileCoordinates&&!l(s)?s=e.imageryLayers.addImageryProvider(new v9({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&l(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=Se.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=Se.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=Zn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=Zn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],l(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=Se.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(d){let u=n._scene.pick({x:d.position.x,y:d.position.y});l(u)&&(n.primitive=l(u.collection)?u.collection:u.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=Zn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=Se.getObservable(this,"pickPrimitiveActive").subscribe(function(d){d?o.setInputAction(a,Vn.LEFT_CLICK):o.removeInputAction(Vn.LEFT_CLICK)});function c(d){let u,m=r.ellipsoid,p=n._scene.camera.getPickRay(d.position,tCt),g=r.pick(p,n._scene,nCt);if(l(g)){let f=m.cartesianToCartographic(g),x=r._surface.tileProvider._tilesToRenderByTextureCount;for(let _=0;!u&&_<x.length;++_){let C=x[_];if(l(C))for(let V=0;!u&&V<C.length;++V){let L=C[V];ce.contains(L.rectangle,f)&&(u=L)}}}n.tile=u,n.pickTileActive=!1}this._pickTile=Zn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=Se.getObservable(this,"pickTileActive").subscribe(function(d){d?o.setInputAction(c,Vn.LEFT_CLICK):o.removeInputAction(Vn.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(sM.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return Zn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,l(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,l(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(l(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;l(n)&&l(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});sM.prototype._update=function(){this.frustums&&(this.frustumStatisticText=eCt(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=G6(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};sM.prototype.isDestroyed=function(){return!1};sM.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),me(this)};var aM=sM;function xB(e,t){e=Pn(e);let n=document.createElement("div"),i=new aM(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=Ka.createSection,c=Ka.createCheckbox,d=a(s,"General","generalVisible","toggleGeneral"),u=c("Show Frustums","frustums"),m=document.createElement("div");m.className="cesium-cesiumInspector-frustumStatistics",m.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),u.appendChild(m),d.appendChild(u),d.appendChild(c("Show Frustum Planes","frustumPlanes")),d.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",d.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),d.appendChild(p);let g=document.createElement("div");d.appendChild(g);let f=document.createElement("span");f.setAttribute("data-bind",'html: "     Frustum:"'),g.appendChild(f);let x=document.createElement("span");x.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(x);let _=document.createElement("input");_.type="button",_.value="-",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(_);let C=document.createElement("input");C.type="button",C.value="+",C.className="cesium-cesiumInspector-pickButton",C.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(C);let V=a(s,"Primitives","primitivesVisible","togglePrimitives"),L=document.createElement("div");L.className="cesium-cesiumInspector-pickSection",V.appendChild(L);let Z=document.createElement("input");Z.type="button",Z.value="Pick a primitive",Z.className="cesium-cesiumInspector-pickButton",Z.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let G=document.createElement("div");G.className="cesium-cesiumInspector-center",G.appendChild(Z),L.appendChild(G),L.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),L.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),L.appendChild(this._primitiveOnly);let I=a(s,"Terrain","terrainVisible","toggleTerrain"),v=document.createElement("div");v.className="cesium-cesiumInspector-pickSection",I.appendChild(v);let P=document.createElement("input");P.type="button",P.value="Pick a tile",P.className="cesium-cesiumInspector-pickButton",P.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),G=document.createElement("div"),G.appendChild(P),G.className="cesium-cesiumInspector-center",v.appendChild(G);let w=document.createElement("div");v.appendChild(w);let F=document.createElement("input");F.type="button",F.value="Parent",F.className="cesium-cesiumInspector-pickButton",F.setAttribute("data-bind","click: selectParent");let b=document.createElement("input");b.type="button",b.value="NW",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: selectNW");let R=document.createElement("input");R.type="button",R.value="NE",R.className="cesium-cesiumInspector-pickButton",R.setAttribute("data-bind","click: selectNE");let E=document.createElement("input");E.type="button",E.value="SW",E.className="cesium-cesiumInspector-pickButton",E.setAttribute("data-bind","click: selectSW");let X=document.createElement("input");X.type="button",X.value="SE",X.className="cesium-cesiumInspector-pickButton",X.setAttribute("data-bind","click: selectSE");let A=document.createElement("div");A.className="cesium-cesiumInspector-tileText",w.className="cesium-cesiumInspector-frustumStatistics",w.appendChild(A),w.setAttribute("data-bind","visible: hasPickedTile"),A.setAttribute("data-bind","html: tileText");let N=document.createElement("div");N.className="cesium-cesiumInspector-relativeText",N.textContent="Select relative:",w.appendChild(N);let O=document.createElement("table"),U=document.createElement("tr"),Y=document.createElement("tr"),k=document.createElement("td");k.appendChild(F);let J=document.createElement("td");J.appendChild(b);let z=document.createElement("td");z.appendChild(R),U.appendChild(k),U.appendChild(J),U.appendChild(z);let te=document.createElement("td"),H=document.createElement("td");H.appendChild(E);let q=document.createElement("td");q.appendChild(X),Y.appendChild(te),Y.appendChild(H),Y.appendChild(q),O.appendChild(U),O.appendChild(Y),w.appendChild(O),v.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),v.appendChild(c("Show only selected","filterTile","hasPickedTile")),I.appendChild(c("Wireframe","wireframe")),I.appendChild(c("Suspend LOD update","suspendUpdates")),I.appendChild(c("Show tile coordinates","tileCoordinates")),Se.applyBindings(i,this._element)}Object.defineProperties(xB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});xB.prototype.isDestroyed=function(){return!1};xB.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),me(this)};var cM=xB;var WVo=T(S(),1);var LVo=T(S(),1);function _B(e,t){l(t)||(t=document.body),t=Pn(t);let n=this,i=Se.observable(br.fullscreen),o=Se.observable(br.enabled),r=t.ownerDocument;this.isFullscreen=void 0,Se.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,Se.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&br.enabled)}}),this.tooltip=void 0,Se.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=Zn(function(){br.fullscreen?br.exitFullscreen():br.requestFullscreen(n._fullscreenElement)},Se.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(Pn(e),r.body),this._callback=function(){i(br.fullscreen)},r.addEventListener(br.changeEventName,this._callback)}Object.defineProperties(_B.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});_B.prototype.isDestroyed=function(){return!1};_B.prototype.destroy=function(){document.removeEventListener(br.changeEventName,this._callback),me(this)};var lM=_B;var iCt="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",oCt="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function TB(e,t){e=Pn(e);let n=new lM(t,e);n._exitFullScreenPath=oCt,n._enterFullScreenPath=iCt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),Se.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(TB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});TB.prototype.isDestroyed=function(){return!1};TB.prototype.destroy=function(){return this._viewModel.destroy(),Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var dM=TB;var YVo=T(S(),1);var MVo=T(S(),1);var QSe=1e3;function um(e){l(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new N9({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new be,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=qSe,this._handleArrowUp=jSe;let t=this;this._suggestionsVisible=Se.pureComputed(function(){let o=Se.getObservable(t,"_suggestions")().length>0,r=Se.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=Zn(function(i){if(i=y(i,My.SEARCH),t._focusTextbox=!1,l(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;if(t.hideSuggestions(),t.isSearchInProgress)dCt(t);else return cCt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?jSe(t):r?qSe(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;tCe(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,um.flyToDestination),this._focusTextbox=!1,Se.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=Se.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){um._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,Se.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,Se.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,Se.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(um.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});um.prototype.destroy=function(){this._suggestionSubscription.dispose()};function jSe(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],um._adjustSuggestionsScroll(e,n)}function qSe(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],um._adjustSuggestionsScroll(e,i)}function rCt(e,t){let n=l(t)?t.availability:void 0;return l(n)?XT(t,[e]).then(function(i){return e=i[0],e.height+=QSe,e}):(e.height+=QSe,Promise.resolve(e))}function sCt(e,t){let n=e._scene,i=n.ellipsoid,o=n.camera,r=n.terrainProvider,s=t,a;return t instanceof ce?W.equalsEpsilon(t.south,t.north,W.EPSILON7)&&W.equalsEpsilon(t.east,t.west,W.EPSILON7)?t=ce.center(t):a=WT(t,n):t=i.cartesianToCartographic(t),l(a)||(a=rCt(t,r)),a.then(function(c){s=i.cartographicToCartesian(c)}).finally(function(){o.flyTo({destination:s,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:M.IDENTITY})})}async function aCt(e,t,n){try{return{state:"fulfilled",value:await e.geocode(t,n),credits:e.credit}}catch(i){return{state:"rejected",reason:i}}}async function cCt(e,t,n){let i=e._searchText;if(eCe(i)){e.showSuggestions();return}e._isSearchInProgress=!0,e._wasGeocodeCancelled=!1;let o,r;for(o=0;o<t.length;o++){if(e._wasGeocodeCancelled)return;if(r=await aCt(t[o],i,n),l(r)&&r.state==="fulfilled"&&r.value.length>0)break}if(e._wasGeocodeCancelled)return;e._isSearchInProgress=!1,I6(e);let s=r.value;if(r.state==="fulfilled"&&l(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);let a=$Se(e,FL.getCreditsFromResult(s[0]));l(a)||E6(e,t[o].credit);return}e._searchText=`${i} (not found)`}function E6(e,t){l(t)&&!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&(e._scene.frameState.creditDisplay.addStaticCredit(t),e._previousCredits.push(t))}function $Se(e,t){return l(t)&&t.forEach(n=>E6(e,n)),t}function I6(e){!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&e._previousCredits.forEach(t=>{e._scene.frameState.creditDisplay.removeStaticCredit(t)}),e._previousCredits.length=0}function lCt(e,t){let n=Pn(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function dCt(e){e._isSearchInProgress&&(e._isSearchInProgress=!1,e._wasGeocodeCancelled=!0)}function eCe(e){return/^\s*$/.test(e)}function tCe(e){Se.getObservable(e,"_suggestions").removeAll()}async function uCt(e){if(!e.autoComplete)return;let t=e._searchText;if(tCe(e),I6(e),!eCe(t))for(let n of e._geocoderServices){let i=await n.geocode(t,My.AUTOCOMPLETE);if(e._suggestions=e._suggestions.concat(i),i.length>0){let o=!0;i.forEach(r=>{let s=FL.getCreditsFromResult(r);o=o&&!l(s),$Se(e,s)}),o&&E6(e,n.credit)}if(e._suggestions.length>=5)return}}um.flyToDestination=sCt;um._updateSearchSuggestions=uCt;um._adjustSuggestionsScroll=lCt;um.prototype.isDestroyed=function(){return!1};um.prototype.destroy=function(){return I6(this),me(this)};var uM=um;var mCt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",hCt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function SB(e){let t=Pn(e.container),n=new uM(e);n._startSearchPath=mCt,n._stopSearchPath=hCt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),Se.applyBindings(n,i),Se.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(d){let u=d.target;typeof d.composedPath=="function"&&(u=d.composedPath()[0]),t.contains(u)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(d){n._focusTextbox=!0,n.showSuggestions()},zt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(SB.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});SB.prototype.isDestroyed=function(){return!1};SB.prototype.destroy=function(){let e=this._container;return zt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),Se.cleanNode(this._form),Se.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),me(this)};var mM=SB;var nLo=T(S(),1);var JVo=T(S(),1);function nCe(e,t){this._scene=e,this._duration=t;let n=this;this._command=Zn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",Se.track(this,["tooltip"])}Object.defineProperties(nCe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var hM=nCe;function CB(e,t,n){e=Pn(e);let i=new hM(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),Se.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(CB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});CB.prototype.isDestroyed=function(){return!1};CB.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var fM=CB;var mLo=T(S(),1);var sLo=T(S(),1);function fCt(e,t){t.currentTarget.parentElement.parentElement.querySelector(`#${e.name}-expander`).classList.toggle("active"),t.currentTarget.textContent=t.currentTarget.textContent==="+"?"-":"+"}function oCe(e,t){Se.track(e);for(let n=0;n<e.sublayers.length;n++)oCe(e.sublayers[n],t)}function VB(e){return e.modelName==="FullModel"}function rCe(e){return e.modelName==="Overview"}function sCe(e){return rCe(e)||VB(e)}function iCe(e,t){if(sCe(e)){e.visibility=!1;for(let i=0;i<e.sublayers.length;i++)e.sublayers[i].visibility=!0;let n={name:e.name,modelName:e.modelName,disable:Se.observable(!1),index:t.sublayers.length};return t.topLayers.push(n),t.sublayers.push(e),n}}function pCt(e,t){if(sCe(e)){t.sublayers.forEach(i=>i.visibility=!1),t.sublayers[e.index].visibility=!0;let n=document.getElementById("bsl-wrapper");VB(e)?(t.currentLevel=t.selectedLevel,n.style.display="block"):(t.selectedLevel=t.currentLevel,t.currentLevel="All",n.style.display="none")}}async function bCt(e,t){try{let n=e.getAttributeNames();for(let i=0;i<n.length;i++)if(n[i]==="BldgLevel"){let o=e.getAttributeValues(n[i]);for(let r=0;r<o.length;r++)t.push(o[r])}t.sort((i,o)=>i-o),t.unshift("All")}catch(n){console.log(`There was an error getting attributes: ${n}`)}}function gCt(e){let t=this;this.levels=[],this.viewModel={sublayers:[],levels:this.levels,currentLevel:Se.observable(),selectedLevel:"All",topLayers:[{name:"Select a layer to explore...",disable:Se.observable(!0),index:-1}],currentLayer:Se.observable(),expandClickHandler:fCt,setOptionDisable:function(i,o){Se.applyBindingsToNode(i,{disable:o.disable},o)},defaultLayer:void 0},this.viewModel.currentLayer.subscribe(function(i){pCt(i,t.viewModel)});let n=e.sublayers;for(let i=0;i<n.length;i++){oCe(n[i],this.viewModel);let o=iCe(n[i],this.viewModel);l(o)&&(rCe(o)||!l(this.viewModel.defaultLayer)&&VB(o))&&(this.viewModel.defaultLayer=o)}if(this.viewModel.topLayers.length===1&&n.length>0){e.show=!1;let i={name:"Full Model",modelName:"FullModel",visibility:e.show,sublayers:e.sublayers};this.viewModel.defaultLayer=iCe(i,this.viewModel),this.viewModel.currentLayer.subscribe(function(o){e.show=VB(o)})}else this.viewModel.topLayers.length===1&&(this.viewModel.topLayers[0].name="Building layers not found");return bCt(e,this.levels),this.viewModel.currentLevel.subscribe(function(i){i!=="All"?e.filterByAttributes([{name:"BldgLevel",values:[i]}]):e.filterByAttributes()}),this.viewModel}var pM=gCt;function yCt(e,t){let n=document.getElementById(e),i=document.createElement("div");i.classList.add("cesium-viewer-i3s-explorer"),i.innerHTML=` +`);n.value=n.value.slice(0,i)+u+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};Za.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),l(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=p9(e,!1),this._pickStatisticsText=p9(e,!0),this._resourceCacheStatisticsText=uCe())};Za.prototype.isDestroyed=function(){return!1};Za.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){Se.getObservable(e,t).dispose()}),me(this)};Za.getStatistics=p9;var b9=Za;function SO(e,t){e=Pn(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new b9(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=Qa.createSection,c=Qa.createCheckbox,d=Qa.createRangeInput,u=Qa.createButton,m=a(s,"Tileset","tilesetVisible","toggleTileset"),p=a(s,"Display","displayVisible","toggleDisplay"),g=a(s,"Update","updateVisible","toggleUpdate"),f=a(s,"Logging","loggingVisible","toggleLogging"),x=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),_=a(s,"Style","styleVisible","toggleStyle"),C=a(s,"Optimization","optimizationVisible","toggleOptimization"),V=document.createElement("div");V.className="field-group";let L=document.createElement("label");L.className="field-label",L.appendChild(document.createTextNode("Properties: "));let Z=document.createElement("div");Z.setAttribute("data-bind","text: properties"),V.appendChild(L),V.appendChild(Z),m.appendChild(V),m.appendChild(u("Pick Tileset","togglePickTileset","pickActive")),m.appendChild(u("Trim Tiles Cache","trimTilesCache")),m.appendChild(c("Enable Picking","picking")),p.appendChild(c("Colorize","colorize"));let G=p.appendChild(c("Wireframe","wireframe","_tileset === undefined || hasEnabledWireframe")),I=document.createElement("p");I.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),I.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),I.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",G.appendChild(I),p.appendChild(c("Bounding Volumes","showBoundingVolumes")),p.appendChild(c("Content Volumes","showContentBoundingVolumes")),p.appendChild(c("Request Volumes","showRequestVolumes")),p.appendChild(c("Point Cloud Shading","pointCloudShading"));let v=document.createElement("div");v.setAttribute("data-bind","visible: pointCloudShading"),v.appendChild(d("Geometric Error Scale","geometricErrorScale",0,2,.01)),v.appendChild(d("Maximum Attenuation","maximumAttenuation",0,32,1)),v.appendChild(d("Base Resolution","baseResolution",0,1,.01)),v.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),p.appendChild(v);let P=document.createElement("div");P.setAttribute("data-bind","visible: eyeDomeLighting"),P.appendChild(d("EDL Strength","eyeDomeLightingStrength",0,2,.1)),P.appendChild(d("EDL Radius","eyeDomeLightingRadius",0,4,.1)),v.appendChild(P),g.appendChild(c("Freeze Frame","freezeFrame")),g.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let w=document.createElement("div");w.appendChild(d("Maximum Screen Space Error","maximumScreenSpaceError",0,128,1)),g.appendChild(w);let A=document.createElement("div");A.setAttribute("data-bind","visible: dynamicScreenSpaceError"),A.appendChild(d("Screen Space Error Density","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),A.appendChild(d("Screen Space Error Factor","dynamicScreenSpaceErrorFactor",1,32,.1)),g.appendChild(A),f.appendChild(c("Performance","performance")),f.appendChild(i),f.appendChild(c("Statistics","showStatistics"));let b=document.createElement("div");b.className="cesium-3dTilesInspector-statistics",b.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),f.appendChild(b),f.appendChild(c("Pick Statistics","showPickStatistics"));let R=document.createElement("div");R.className="cesium-3dTilesInspector-statistics",R.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),f.appendChild(R),f.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let E=document.createElement("div");E.className="cesium-3dTilesInspector-statistics",E.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),f.appendChild(E);let X=document.createElement("div");_.appendChild(X),X.appendChild(document.createTextNode("Color Blend Mode: "));let F=document.createElement("select");F.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),X.appendChild(F);let N=document.createElement("textarea");N.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),X.className="cesium-cesiumInspector-styleEditor",X.appendChild(N);let O=u("Compile (Ctrl+Enter)","compileStyle");X.appendChild(O);let U=document.createElement("div");U.className="cesium-cesiumInspector-error",U.setAttribute("data-bind","text: editorError"),X.appendChild(U),x.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),x.appendChild(c("Geometric Error","showGeometricError")),x.appendChild(c("Rendering Statistics","showRenderingStatistics")),x.appendChild(c("Memory Usage (MB)","showMemoryUsage")),x.appendChild(c("Url","showUrl")),C.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let Y=document.createElement("div");Y.appendChild(d("Skip SSE Factor","skipScreenSpaceErrorFactor",1,50,1)),C.appendChild(Y);let k=document.createElement("div");k.appendChild(d("SSE before skipping LOD","baseScreenSpaceError",0,4096,1)),C.appendChild(k);let H=document.createElement("div");H.appendChild(d("Min. levels to skip","skipLevels",0,10,1)),C.appendChild(H),C.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),C.appendChild(c("Load siblings of visible tiles","loadSiblings")),Se.applyBindings(o,n)}Object.defineProperties(SO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});SO.prototype.isDestroyed=function(){return!1};SO.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),me(this)};var g9=SO;var SZo=T(S(),1);var pZo=T(S(),1);function CO(e,t){l(t)||(t=document.body),t=Pn(t);let n=this,i=Se.observable(yr.fullscreen),o=Se.observable(yr.enabled),r=t.ownerDocument;this.isFullscreen=void 0,Se.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,Se.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&yr.enabled)}}),this.tooltip=void 0,Se.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=Zn(function(){yr.fullscreen?yr.exitFullscreen():yr.requestFullscreen(n._fullscreenElement)},Se.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(Pn(e),r.body),this._callback=function(){i(yr.fullscreen)},r.addEventListener(yr.changeEventName,this._callback)}Object.defineProperties(CO.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});CO.prototype.isDestroyed=function(){return!1};CO.prototype.destroy=function(){document.removeEventListener(yr.changeEventName,this._callback),me(this)};var y9=CO;var UCt="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",DCt="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function VO(e,t){e=Pn(e);let n=new y9(t,e);n._exitFullScreenPath=DCt,n._enterFullScreenPath=UCt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),Se.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(VO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});VO.prototype.isDestroyed=function(){return!1};VO.prototype.destroy=function(){return this._viewModel.destroy(),Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var x9=VO;var wZo=T(S(),1);var GZo=T(S(),1);var mCe=1e3;function ym(e){l(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new BT({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new be,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=fCe,this._handleArrowUp=hCe;let t=this;this._suggestionsVisible=Se.pureComputed(function(){let o=Se.getObservable(t,"_suggestions")().length>0,r=Se.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=Zn(function(i){if(i=y(i,Wy.SEARCH),t._focusTextbox=!1,l(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;if(t.hideSuggestions(),t.isSearchInProgress)KCt(t);else return HCt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?hCe(t):r?fCe(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;gCe(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,ym.flyToDestination),this._focusTextbox=!1,Se.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=Se.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){ym._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,Se.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,Se.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,Se.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(ym.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});ym.prototype.destroy=function(){this._suggestionSubscription.dispose()};function hCe(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],ym._adjustSuggestionsScroll(e,n)}function fCe(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],ym._adjustSuggestionsScroll(e,i)}function BCt(e,t){let n=l(t)?t.availability:void 0;return l(n)?OT(t,[e]).then(function(i){return e=i[0],e.height+=mCe,e}):(e.height+=mCe,Promise.resolve(e))}function OCt(e,t){let n=e._scene,i=n.ellipsoid,o=n.camera,r=n.terrainProvider,s=t,a;return t instanceof le?W.equalsEpsilon(t.south,t.north,W.EPSILON7)&&W.equalsEpsilon(t.east,t.west,W.EPSILON7)?t=le.center(t):a=KT(t,n):t=i.cartesianToCartographic(t),l(a)||(a=BCt(t,r)),a.then(function(c){s=i.cartographicToCartesian(c)}).finally(function(){o.flyTo({destination:s,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:M.IDENTITY})})}async function YCt(e,t,n){try{return{state:"fulfilled",value:await e.geocode(t,n),credits:e.credit}}catch(i){return{state:"rejected",reason:i}}}async function HCt(e,t,n){let i=e._searchText;if(bCe(i)){e.showSuggestions();return}e._isSearchInProgress=!0,e._wasGeocodeCancelled=!1;let o,r;for(o=0;o<t.length;o++){if(e._wasGeocodeCancelled)return;if(r=await YCt(t[o],i,n),l(r)&&r.state==="fulfilled"&&r.value.length>0)break}if(e._wasGeocodeCancelled)return;e._isSearchInProgress=!1,D6(e);let s=r.value;if(r.state==="fulfilled"&&l(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);let a=pCe(e,HV.getCreditsFromResult(s[0]));l(a)||U6(e,t[o].credit);return}e._searchText=`${i} (not found)`}function U6(e,t){l(t)&&!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&(e._scene.frameState.creditDisplay.addStaticCredit(t),e._previousCredits.push(t))}function pCe(e,t){return l(t)&&t.forEach(n=>U6(e,n)),t}function D6(e){!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&e._previousCredits.forEach(t=>{e._scene.frameState.creditDisplay.removeStaticCredit(t)}),e._previousCredits.length=0}function zCt(e,t){let n=Pn(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function KCt(e){e._isSearchInProgress&&(e._isSearchInProgress=!1,e._wasGeocodeCancelled=!0)}function bCe(e){return/^\s*$/.test(e)}function gCe(e){Se.getObservable(e,"_suggestions").removeAll()}async function JCt(e){if(!e.autoComplete)return;let t=e._searchText;if(gCe(e),D6(e),!bCe(t))for(let n of e._geocoderServices){let i=await n.geocode(t,Wy.AUTOCOMPLETE);if(e._suggestions=e._suggestions.concat(i),i.length>0){let o=!0;i.forEach(r=>{let s=HV.getCreditsFromResult(r);o=o&&!l(s),pCe(e,s)}),o&&U6(e,n.credit)}if(e._suggestions.length>=5)return}}ym.flyToDestination=OCt;ym._updateSearchSuggestions=JCt;ym._adjustSuggestionsScroll=zCt;ym.prototype.isDestroyed=function(){return!1};ym.prototype.destroy=function(){return D6(this),me(this)};var _9=ym;var QCt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",jCt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function LO(e){let t=Pn(e.container),n=new _9(e);n._startSearchPath=QCt,n._stopSearchPath=jCt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),Se.applyBindings(n,i),Se.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(d){let u=d.target;typeof d.composedPath=="function"&&(u=d.composedPath()[0]),t.contains(u)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(d){n._focusTextbox=!0,n.showSuggestions()},Yt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(LO.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});LO.prototype.isDestroyed=function(){return!1};LO.prototype.destroy=function(){let e=this._container;return Yt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),Se.cleanNode(this._form),Se.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),me(this)};var T9=LO;var HZo=T(S(),1);var NZo=T(S(),1);function yCe(e,t){this._scene=e,this._duration=t;let n=this;this._command=Zn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",Se.track(this,["tooltip"])}Object.defineProperties(yCe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var S9=yCe;function RO(e,t,n){e=Pn(e);let i=new S9(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),Se.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(RO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});RO.prototype.isDestroyed=function(){return!1};RO.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var C9=RO;var nGo=T(S(),1);var QZo=T(S(),1);function qCt(e,t){t.currentTarget.parentElement.parentElement.querySelector(`#${e.name}-expander`).classList.toggle("active"),t.currentTarget.textContent=t.currentTarget.textContent==="+"?"-":"+"}function _Ce(e,t){Se.track(e);for(let n=0;n<e.sublayers.length;n++)_Ce(e.sublayers[n],t)}function ZO(e){return e.modelName==="FullModel"}function TCe(e){return e.modelName==="Overview"}function SCe(e){return TCe(e)||ZO(e)}function xCe(e,t){if(SCe(e)){e.visibility=!1;for(let i=0;i<e.sublayers.length;i++)e.sublayers[i].visibility=!0;let n={name:e.name,modelName:e.modelName,disable:Se.observable(!1),index:t.sublayers.length};return t.topLayers.push(n),t.sublayers.push(e),n}}function $Ct(e,t){if(SCe(e)){t.sublayers.forEach(i=>i.visibility=!1),t.sublayers[e.index].visibility=!0;let n=document.getElementById("bsl-wrapper");ZO(e)?(t.currentLevel=t.selectedLevel,n.style.display="block"):(t.selectedLevel=t.currentLevel,t.currentLevel="All",n.style.display="none")}}async function e1t(e,t){try{let n=e.getAttributeNames();for(let i=0;i<n.length;i++)if(n[i]==="BldgLevel"){let o=e.getAttributeValues(n[i]);for(let r=0;r<o.length;r++)t.push(o[r])}t.sort((i,o)=>i-o),t.unshift("All")}catch(n){console.log(`There was an error getting attributes: ${n}`)}}function t1t(e){let t=this;this.levels=[],this.viewModel={sublayers:[],levels:this.levels,currentLevel:Se.observable(),selectedLevel:"All",topLayers:[{name:"Select a layer to explore...",disable:Se.observable(!0),index:-1}],currentLayer:Se.observable(),expandClickHandler:qCt,setOptionDisable:function(i,o){Se.applyBindingsToNode(i,{disable:o.disable},o)},defaultLayer:void 0},this.viewModel.currentLayer.subscribe(function(i){$Ct(i,t.viewModel)});let n=e.sublayers;for(let i=0;i<n.length;i++){_Ce(n[i],this.viewModel);let o=xCe(n[i],this.viewModel);l(o)&&(TCe(o)||!l(this.viewModel.defaultLayer)&&ZO(o))&&(this.viewModel.defaultLayer=o)}if(this.viewModel.topLayers.length===1&&n.length>0){e.show=!1;let i={name:"Full Model",modelName:"FullModel",visibility:e.show,sublayers:e.sublayers};this.viewModel.defaultLayer=xCe(i,this.viewModel),this.viewModel.currentLayer.subscribe(function(o){e.show=ZO(o)})}else this.viewModel.topLayers.length===1&&(this.viewModel.topLayers[0].name="Building layers not found");return e1t(e,this.levels),this.viewModel.currentLevel.subscribe(function(i){i!=="All"?e.filterByAttributes([{name:"BldgLevel",values:[i]}]):e.filterByAttributes()}),this.viewModel}var V9=t1t;function n1t(e,t){let n=document.getElementById(e),i=document.createElement("div");i.classList.add("cesium-viewer-i3s-explorer"),i.innerHTML=` <h3>Building explorer</h3> <select data-bind="options: topLayers, optionsText: 'name', optionsAfterRender: setOptionDisable, value: currentLayer" @@ -16033,8 +16249,8 @@ http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:functio </li> </ul> </ul> - </div>`,n.appendChild(i);let o=new pM(t);Se.track(o),Se.applyBindings(o,n),l(o.defaultLayer)&&(o.currentLayer=o.defaultLayer)}var X6=yCt;var CLo=T(S(),1);var bLo=T(S(),1);var xCt="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",_Ct="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function W6(){this._cameraClicked=new be,this._closeClicked=new be,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",Se.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,Se.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?_Ct:xCt}}),Se.defineProperty(this,"_bodyless",{get:function(){return!l(this.description)||this.description.length===0}})}W6.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(W6.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var bM=W6;function LB(e){e=Pn(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="×",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new bM;Se.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,d=c.createElement("link");d.href=sn("Widgets/InfoBox/InfoBoxDescription.css"),d.rel="stylesheet",d.type="text/css";let u=c.createElement("div");u.className="cesium-infoBox-description",c.head.appendChild(d),c.body.appendChild(u),a._descriptionSubscription=Va(s,"description",function(m){r.style.height="5px",u.innerHTML=m;let p=null,g=u.firstElementChild;if(g!==null&&u.childNodes.length===1){let x=window.getComputedStyle(g);if(x!==null){let _=x["background-color"],C=B.fromCssColorString(_);l(C)&&C.alpha!==0&&(p=x["background-color"])}}t.style["background-color"]=p;let f=u.getBoundingClientRect().height;r.style.height=`${f}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(LB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});LB.prototype.isDestroyed=function(){return!1};LB.prototype.destroy=function(){let e=this._container;return Se.cleanNode(this._element),e.removeChild(this._element),l(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),me(this)};var gM=LB;var ALo=T(S(),1);var ILo=T(S(),1);function P6(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,Se.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=Zn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=GF.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(P6.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});P6.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),me(this)};var yM=P6;function RB(e){let t=Pn(e.container),n=new yM(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="×",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),Se.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(RB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});RB.prototype.isDestroyed=function(){return!1};RB.prototype.destroy=function(){return this._viewModel.destroy(),Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var xM=RB;var KLo=T(S(),1);var ULo=T(S(),1);function aCe(){this.showInstructions=!1;let e=this;this._command=Zn(function(){e.showInstructions=!e.showInstructions}),this._showClick=Zn(function(){e._touch=!1}),this._showTouch=Zn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",Se.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(aCe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var _M=aCe;function ZB(e){let t=Pn(e.container),n=new _M,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=sn("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let d=document.createElement("button");d.type="button",d.className="cesium-navigation-button cesium-navigation-button-right",d.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let u=document.createElement("img");u.src=sn("Widgets/Images/NavigationHelp/Touch.svg"),u.className="cesium-navigation-button-icon",u.style.width="25px",u.style.height="25px",d.appendChild(u),d.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(d);let m=document.createElement("div");m.className="cesium-click-navigation-help cesium-navigation-help-instructions",m.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),m.innerHTML=` <table> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(m);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),Se.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},zt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(ZB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});ZB.prototype.isDestroyed=function(){return!1};ZB.prototype.destroy=function(){return zt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),Se.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),me(this)};var TM=ZB;var cRo=T(S(),1);var tRo=T(S(),1);function GB(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new Mr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",Se.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,Se.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===oe.SCENE2D?n.tooltip2D:o===oe.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=Zn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=Zn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=Zn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=Zn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=oe}Object.defineProperties(GB.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});GB.prototype.isDestroyed=function(){return!1};GB.prototype.destroy=function(){this._eventHelper.removeAll(),me(this)};var SM=GB;var TCt="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",SCt="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",CCt="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function EB(e,t,n){e=Pn(e);let i=new SM(t,n);i._globePath=TCt,i._flatMapPath=SCt,i._columbusViewPath=CCt;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(c),Se.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(d){o.contains(d.target)||(i.dropDownVisible=!1)},zt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(EB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});EB.prototype.isDestroyed=function(){return!1};EB.prototype.destroy=function(){return this._viewModel.destroy(),zt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Se.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),me(this)};var CM=EB;var TRo=T(S(),1);var fRo=T(S(),1);function IB(e){this._scene=e,this._orthographic=e.camera.frustum instanceof ln,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,Se.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;Se.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=Zn(function(){t.sceneMode===oe.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new Mr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===oe.SCENE2D||t._scene.camera.frustum instanceof ln}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=l(e.camera._currentFlight)}),this._switchToPerspective=Zn(function(){t.sceneMode!==oe.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=Zn(function(){t.sceneMode!==oe.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=oe}Object.defineProperties(IB.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});IB.prototype.isDestroyed=function(){return!1};IB.prototype.destroy=function(){this._eventHelper.removeAll(),me(this)};var VM=IB;var VCt="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",LCt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function XB(e,t){e=Pn(e);let n=new VM(t);n._perspectivePath=VCt,n._orthographicPath=LCt;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),Se.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},zt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(XB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});XB.prototype.isDestroyed=function(){return!1};XB.prototype.destroy=function(){return this._viewModel.destroy(),zt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Se.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),me(this)};var LM=XB;var PRo=T(S(),1);var RRo=T(S(),1);var RCt=new D,WB="-1000px";function RM(e,t,n){this._scene=e,this._screenPositionX=WB,this._screenPositionY=WB,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,Se.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,Se.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&l(this.position)}}),Se.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return Mi.worldToWindowCoordinates(e,i,o)}}RM.prototype.update=function(){if(this.showSelection&&l(this.position)){let e=this.computeScreenSpacePosition(this.position,RCt);if(!l(e))this._screenPositionX=WB,this._screenPositionY=WB;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};RM.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Or.EXPONENTIAL_OUT})};RM.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Or.EXPONENTIAL_OUT})};Object.defineProperties(RM.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var ZM=RM;function PB(e,t){e=Pn(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new ZM(t,this._element,this._container);this._viewModel=c,Se.applyBindings(this._viewModel,this._element)}Object.defineProperties(PB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});PB.prototype.isDestroyed=function(){return!1};PB.prototype.destroy=function(){let e=this._container;return Se.cleanNode(this._element),e.removeChild(this._element),me(this)};var GM=PB;var YRo=T(S(),1);var FRo=T(S(),1);function RS(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}RS.prototype.getHeight=function(){return this._height};RS.prototype.getBase=function(){return this._base};RS.prototype.getStartTime=function(){return this._start};RS.prototype.getStopTime=function(){return this._stop};RS.prototype.setRange=function(e,t){this._start=e,this._stop=t};RS.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=j.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=j.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var EM=RS;var NRo=T(S(),1);function cCe(e,t,n,i){this.interval=e,this.height=t,this.color=n||new B(.5,.5,.5,1),this.backgroundColor=i||new B(0,0,0,0)}cCe.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=j.addSeconds(t.startJulian,t.duration,new j);if(j.lessThan(n,o)&&j.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(j.lessThanOrEquals(n,r)&&j.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let d=j.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new j);!l(a)&&j.greaterThanOrEquals(d,n)?a=s:!l(c)&&j.greaterThanOrEquals(d,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),l(a)&&(l(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var IM=cCe;var v6=1e12,mm={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},ul={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},zy=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],ZCt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function ml(e,t){e=Pn(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=mm.none,this._touchMode=ul.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=GCt(this),this._onMouseUp=ECt(this),this._onMouseMove=ICt(this),this._onMouseWheel=XCt(this),this._onTouchStart=WCt(this),this._onTouchMove=vCt(this),this._onTouchEnd=PCt(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}ml.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};ml.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};ml.prototype.isDestroyed=function(){return!1};ml.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),me(this)};ml.prototype.addHighlightRange=function(e,t,n){let i=new EM(e,t,n);return this._highlightRanges.push(i),this.resize(),i};ml.prototype.addTrack=function(e,t,n,i){let o=new IM(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};ml.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=j.secondsDifference(t,e),this._clock&&this._clock.clockRange!==Dr.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=j.secondsDifference(o,i),s=j.secondsDifference(i,this._startJulian),a=j.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=j.addSeconds(this._endJulian,s,new j),this._startJulian=i,this._timeBarSecondsSpan=j.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=j.addSeconds(this._startJulian,a,new j),this._endJulian=o,this._timeBarSecondsSpan=j.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};ml.prototype.zoomFrom=function(e){let t=j.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo(j.addSeconds(this._startJulian,t-t*e,new j),j.addSeconds(this._endJulian,n*e-n,new j))};function w6(e){return e<10?`0${e.toString()}`:e.toString()}ml.prototype.makeLabel=function(e){let t=j.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${ZCt[t.month-1]} ${t.day} ${t.year} ${w6(t.hour)}:${w6(t.minute)}:${w6(t.second)}${i}`};ml.prototype.smallestTicInPixels=7;ml.prototype._makeTics=function(){let e=this._timeBarEle,t=j.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,d=1e-10,u=0,m=this._timeBarSecondsSpan;m<a?(m=a,this._timeBarSecondsSpan=a,this._endJulian=j.addSeconds(this._startJulian,a,new j)):m>c&&(m=c,this._timeBarSecondsSpan=c,this._endJulian=j.addSeconds(this._startJulian,c,new j));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,f=Math.min(m/p*1e-5,.4),x,_=j.toGregorianDate(g);m>31536e4?x=j.fromDate(new Date(Date.UTC(Math.floor(_.year/100)*100,0))):m>31536e3?x=j.fromDate(new Date(Date.UTC(Math.floor(_.year/10)*10,0))):m>86400?x=j.fromDate(new Date(Date.UTC(_.year,0))):x=j.fromDate(new Date(Date.UTC(_.year,_.month,_.day)));let C=j.secondsDifference(this._startJulian,j.addSeconds(x,f,new j)),V=C+m;this._epochJulian=x;function L(k){return Math.floor(C/k)*k}function Z(k,J){return Math.ceil(k/J+.5)*J}function G(k){return(k-C)/m}function I(k,J){return k-J*Math.round(k/J)}this._rulerEle.innerHTML=this.makeLabel(j.addSeconds(this._endJulian,-a,new j));let v=this._rulerEle.offsetWidth+20;v<30&&(v=180);let P=u;u-=d;let w={startTime:C,startJulian:g,epochJulian:x,duration:m,timeBarWidth:p,getAlpha:G};this._highlightRanges.forEach(function(k){s+=k.render(w)});let F=0,b=0,R=0,E=v/p;E>1&&(E=1),E*=this._timeBarSecondsSpan;let X=-1,A=-1,N=zy.length,O;for(O=0;O<N;++O){let k=zy[O];if(++X,F=k,k>E&&k>u)break;A<0&&p*(k/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(A=X)}if(X>0){for(;X>0;)if(--X,Math.abs(I(F,zy[X]))<1e-5){zy[X]>=u&&(b=zy[X]);break}if(A>=0)for(;A<X;){if(Math.abs(I(b,zy[A]))<1e-5&&zy[A]>=u){R=zy[A];break}++A}}u=P,u>d&&R<1e-5&&Math.abs(u-F)>d&&(R=u,u<=F+d&&(b=0));let U=-999999,Y;if(p*(R/this._timeBarSecondsSpan)>=3)for(o=L(R);o<=V;o=Z(o,R))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*G(o)).toString()}px;"></span>`;if(p*(b/this._timeBarSecondsSpan)>=3)for(o=L(b);o<=V;o=Z(o,b))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*G(o)).toString()}px;"></span>`;if(p*(F/this._timeBarSecondsSpan)>=2){this._mainTicSpan=F,V+=F,o=L(F);let k=j.computeTaiMinusUtc(x);for(;o<=V;){let J=j.addSeconds(g,o-C,new j);if(F>2.1){let q=j.computeTaiMinusUtc(J);Math.abs(q-k)>.1&&(o+=q-k,J=j.addSeconds(g,o-C,new j))}let z=Math.round(p*G(o)),te=this.makeLabel(J);this._rulerEle.innerHTML=te,Y=this._rulerEle.offsetWidth,Y<10&&(Y=v);let H=z-(Y/2-1);H>U?(U=H+Y+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${z.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${H.toString()}px;">${te}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${z.toString()}px;"></span>`,o=Z(o,F)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),w.y=0,this._trackList.forEach(function(k){k.render(r._context,w),w.y+=k.height})};ml.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(l(this._scrubElement)){let t=j.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}l(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(j.addSeconds(this._startJulian,this._timelineDrag,new j),j.addSeconds(this._endJulian,this._timelineDrag,new j)))};ml.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=j.addSeconds(this._startJulian,t,new j),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function GCt(e){return function(t){e._mouseMode!==mm.touchOnly&&(t.button===0?(e._mouseMode=mm.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=mm.zoom:e._mouseMode=mm.slide)),t.preventDefault()}}function ECt(e){return function(t){e._mouseMode=mm.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function ICt(e){return function(t){let n;if(e._mouseMode===mm.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===mm.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(j.addSeconds(e._startJulian,i,new j),j.addSeconds(e._endJulian,i,new j))}}else e._mouseMode===mm.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function XCt(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;v6=Math.max(Math.min(Math.abs(n),v6),1),n/=v6,e.zoomFrom(Math.pow(1.05,-n))}}function WCt(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=mm.touchOnly,n===1?(i=j.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=ul.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=ul.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=ul.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=ul.ignore}}function PCt(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===ul.singleTap?(e._touchMode=ul.scrub,e._onTouchMove(t)):e._touchMode===ul.scrub&&e._onTouchMove(t),e._mouseMode=mm.touchOnly,n!==1?e._touchMode=n>0?ul.ignore:ul.none:e._touchMode===ul.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function vCt(e){return function(t){let n,i,o,r,s,a,c=1,d=e._topDiv.getBoundingClientRect().left;e._touchMode===ul.singleTap&&(e._touchMode=ul.slideZoom),e._mouseMode=mm.touchOnly,e._touchMode===ul.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-d,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===ul.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-d,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-d,s=0),l(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=j.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new j)):(n=e._touchState.centerX-r,a=j.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new j)),e.zoomTo(a,j.addSeconds(a,e._timeBarSecondsSpan*c,new j)),e._touchState.centerX=r,e._touchState.spanX=s))}}ml.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var XM=ml;var cZo=T(S(),1);var tZo=T(S(),1);var hCe=T(mCe(),1);function ACt(e){let t=!1,n=window.screen;return l(n)&&(l(n.lockOrientation)?t=n.lockOrientation(e):l(n.mozLockOrientation)?t=n.mozLockOrientation(e):l(n.msLockOrientation)?t=n.msLockOrientation(e):l(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function fCe(){let e=window.screen;l(e)&&(l(e.unlockOrientation)?e.unlockOrientation():l(e.mozUnlockOrientation)?e.mozUnlockOrientation():l(e.msUnlockOrientation)?e.msUnlockOrientation():l(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function MCt(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(fCe(),e._locked=!1),e._noSleep.disable(),br.exitFullscreen(),n(!1)):(br.fullscreen||br.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=ACt("landscape")),t.useWebVR=!0,n(!0)))}function vB(e,t){let n=this,i=Se.observable(br.enabled),o=Se.observable(!1);this.isVRMode=void 0,Se.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,Se.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&br.enabled)}}),this.tooltip=void 0,Se.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=Se.observable(!1);this._isOrthographic=void 0,Se.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new Mr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof ln)}),this._locked=!1,this._noSleep=new hCe.default,this._command=Zn(function(){MCt(n,e,o,r)},Se.getObservable(this,"isVREnabled")),this._vrElement=y(Pn(t),document.body),this._callback=function(){!br.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(fCe(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(br.changeEventName,this._callback)}Object.defineProperties(vB.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});vB.prototype.isDestroyed=function(){return!1};vB.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(br.changeEventName,this._callback),me(this)};var WM=vB;var NCt="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",kCt="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function wB(e,t,n){e=Pn(e);let i=new WM(t,n);i._exitVRPath=kCt,i._enterVRPath=NCt;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),Se.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(wB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});wB.prototype.isDestroyed=function(){return!1};wB.prototype.destroy=function(){return this._viewModel.destroy(),Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var PM=wB;var IZo=T(S(),1);var Hy=new le;function gCe(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function UCt(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);l(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function DCt(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(l(r)&&r!=="")return r}return"Unnamed Feature"}function pCe(e,t){let n=e.scene.pick(t.position);if(l(n)){let i=y(n.id,n.primitive.id);if(i instanceof qo)return i;if(n instanceof ks)return new qo({name:DCt(n),description:UCt(n),feature:n})}if(l(e.scene.globe))return YCt(e,t.position)}var BCt=new j;function yCe(e,t,n){if(l(n)){let i=n.clock;if(l(i)&&(i.getValue(t),l(e))){let o=i.startTime,r=i.stopTime;j.equals(o,r)&&(r=j.addSeconds(o,W.EPSILON2,BCt)),e.updateFromClock(),e.zoomTo(o,r)}}}var OCt=new h;function YCt(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!l(o))return;let r=new qo({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!l(s)||s.length===0){e.selectedEntity=bCe();return}let a=s[0],c=new qo({id:a.name,description:a.description});if(l(a.position)){let d=e.scene.ellipsoid.cartographicToCartesian(a.position,OCt);c.position=new kc(d)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=bCe())}),r}function bCe(){return new qo({id:"None",description:"No features found."})}function zCt(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,d=e._fullscreenButton,u=e._infoBox,m=e._selectionIndicator,p=t?"hidden":"visible";if(l(n)&&(n.container.style.visibility=p),l(i)&&(i.container.style.visibility=p),l(o)&&(o.container.style.visibility=p),l(r)&&(r.container.style.visibility=p),l(s)&&(s.container.style.visibility=p),l(a)&&(a.container.style.visibility=p),l(c)&&(c.container.style.visibility=p),l(d)&&d.viewModel.isFullscreenEnabled&&(d.container.style.visibility=p),l(u)&&(u.container.style.visibility=p),l(m)&&(m.container.style.visibility=p),e._container){let g=t||!l(d)?0:d.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function vi(e,t){e=Pn(e),t=y(t,y.EMPTY_OBJECT);let n=(!l(t.globe)||t.globe!==!1)&&(!l(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,d,u=!1;l(t.clockViewModel)?(d=t.clockViewModel,c=d.clock):(c=new sh,d=new z9(c),u=!0),l(t.shouldAnimate)&&(c.shouldAnimate=t.shouldAnimate);let m=new F9(r,{baseLayer:n&&l(t.selectedImageryProviderViewModel)||l(t.baseLayer)||l(t.imageryProvider)?!1:void 0,clock:c,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,ellipsoid:t.ellipsoid,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:l(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=t.dataSources,g=!1;l(p)||(p=new DP,g=!0);let f=m.scene,x=new Rv({scene:f,dataSourceCollection:p}),_=new Mr;_.add(c.onTick,vi.prototype._onTick,this),_.add(f.morphStart,vi.prototype._clearTrackedObject,this);let C;if(!l(t.selectionIndicator)||t.selectionIndicator!==!1){let z=document.createElement("div");z.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(z),C=new GM(z,f)}let V;if(!l(t.infoBox)||t.infoBox!==!1){let z=document.createElement("div");z.className="cesium-viewer-infoBoxContainer",o.appendChild(z),V=new gM(z);let te=V.viewModel;_.add(te.cameraClicked,vi.prototype._onInfoBoxCameraClicked,this),_.add(te.closeClicked,vi.prototype._onInfoBoxClockClicked,this)}let L=document.createElement("div");L.className="cesium-viewer-toolbar",o.appendChild(L);let Z;if(!l(t.geocoder)||t.geocoder!==!1){let z=document.createElement("div");z.className="cesium-viewer-geocoderContainer",L.appendChild(z);let te;l(t.geocoder)&&typeof t.geocoder!="boolean"&&(te=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),Z=new mM({container:z,geocoderServices:te,scene:f}),_.add(Z.viewModel.search.beforeExecute,vi.prototype._clearObjects,this)}let G;(!l(t.homeButton)||t.homeButton!==!1)&&(G=new fM(L,f),l(Z)&&_.add(G.viewModel.command.afterExecute,function(){let z=Z.viewModel;z.searchText="",z.isSearchInProgress&&z.search()}),_.add(G.viewModel.command.beforeExecute,vi.prototype._clearTrackedObject,this));let I;!a&&(!l(t.sceneModePicker)||t.sceneModePicker!==!1)&&(I=new CM(L,f));let v;t.projectionPicker&&(v=new LM(L,f));let P,w;if(n){let z=y(t.imageryProviderViewModels,Q9()),te=y(t.terrainProviderViewModels,j9());P=new J9(L,{globe:f.globe,imageryProviderViewModels:z,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:te,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),w=L.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}l(t.baseLayer)&&t.baseLayer!==!1&&(n&&(P.viewModel.selectedImagery=void 0),f.imageryLayers.removeAll(),f.imageryLayers.add(t.baseLayer)),l(t.terrainProvider)&&(n&&(P.viewModel.selectedTerrain=void 0),f.terrainProvider=t.terrainProvider),l(t.terrain)&&(n&&(f.globe.depthTestAgainstTerrain=!0),f.setTerrain(t.terrain));let F;if(!l(t.navigationHelpButton)||t.navigationHelpButton!==!1){let z=!0;try{if(l(window.localStorage)){let te=window.localStorage.getItem("cesium-hasSeenNavHelp");l(te)&&te?z=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}F=new TM({container:L,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,z)})}let b;if(!l(t.animation)||t.animation!==!1){let z=document.createElement("div");z.className="cesium-viewer-animationContainer",o.appendChild(z),b=new eM(z,new tM(d))}let R;if(!l(t.timeline)||t.timeline!==!1){let z=document.createElement("div");z.className="cesium-viewer-timelineContainer",o.appendChild(z),R=new XM(z,c),R.addEventListener("settime",gCe,!1),R.zoomTo(c.startTime,c.stopTime)}let E,X,A;(!l(t.fullscreenButton)||t.fullscreenButton!==!1)&&(A=document.createElement("div"),A.className="cesium-viewer-fullscreenContainer",o.appendChild(A),E=new dM(A,t.fullscreenElement),X=Va(E.viewModel,"isFullscreenEnabled",function(z){A.style.display=z?"block":"none",l(R)&&(R.container.style.right=`${A.clientWidth}px`,R.resize())}));let N,O,U;if(t.vrButton){let z=document.createElement("div");z.className="cesium-viewer-vrContainer",o.appendChild(z),N=new PM(z,f,t.fullScreenElement),O=Va(N.viewModel,"isVREnabled",function(te){z.style.display=te?"block":"none",l(E)&&(z.style.right=`${A.clientWidth}px`),l(R)&&(R.container.style.right=`${z.clientWidth}px`,R.resize())}),U=Va(N.viewModel,"isVRMode",function(te){zCt(i,te)})}this._baseLayerPickerDropDown=w,this._fullscreenSubscription=X,this._vrSubscription=O,this._vrModeSubscription=U,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=y(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=m,this._selectionIndicator=C,this._infoBox=V,this._dataSourceCollection=p,this._destroyDataSourceCollection=g,this._dataSourceDisplay=x,this._clockViewModel=d,this._destroyClockViewModel=u,this._toolbar=L,this._homeButton=G,this._sceneModePicker=I,this._projectionPicker=v,this._baseLayerPicker=P,this._navigationHelpButton=F,this._animation=b,this._timeline=R,this._fullscreenButton=E,this._vrButton=N,this._geocoder=Z,this._eventHelper=_,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=l(V)||l(C),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new be,this._trackedEntityChanged=new be,Se.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),_.add(p.dataSourceAdded,vi.prototype._onDataSourceAdded,this),_.add(p.dataSourceRemoved,vi.prototype._onDataSourceRemoved,this),_.add(f.postUpdate,vi.prototype.resize,this),_.add(f.postRender,vi.prototype._postRender,this);let Y=p.length;for(let z=0;z<Y;z++)this._dataSourceAdded(p,p.get(z));this._dataSourceAdded(void 0,x.defaultDataSource),_.add(p.dataSourceAdded,vi.prototype._dataSourceAdded,this),_.add(p.dataSourceRemoved,vi.prototype._dataSourceRemoved,this);function k(z){let te=pCe(i,z);l(te)?K.getValueOrUndefined(te.position,i.clock.currentTime)?i.trackedEntity=te:i.zoomTo(te):l(i.trackedEntity)&&(i.trackedEntity=void 0)}function J(z){i.selectedEntity=pCe(i,z)}m.screenSpaceEventHandler.setInputAction(J,Vn.LEFT_CLICK),m.screenSpaceEventHandler.setInputAction(k,Vn.LEFT_DOUBLE_CLICK)}Object.defineProperties(vi.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,N6(this);let t=this.scene,n=t.mode;!l(e)||!l(e.position)?(this._needTrackedEntityUpdate=!1,(n===oe.COLUMBUS_VIEW||n===oe.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===oe.COLUMBUS_VIEW||n===oe.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(M.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(e)?l(t)&&t.animateAppear():l(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,yCe(this._timeline,this.clock,e))}}});vi.prototype.extend=function(e,t){e(this,t)};vi.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=l(this._animation),r=l(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(l(a)&&(a.style.maxHeight=`${s}px`),l(this._geocoder)){let f=this._geocoder.searchSuggestionsContainer;f.style.maxHeight=`${s}px`}l(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,d,u=0,m=5,p=3,g=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let f=this._lastWidth;d=this._animation.container,n>900?(u=169,f<=900&&(d.style.width="169px",d.style.height="112px",this._animation.resize())):n>=600?(u=136,(f<600||f>900)&&(d.style.width="136px",d.style.height="90px",this._animation.resize())):(u=106,(f>600||f===0)&&(d.style.width="106px",d.style.height="70px",this._animation.resize())),m=u+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let f=this._fullscreenButton,x=this._vrButton,_=c.container,C=_.style;p=_.clientHeight+3,C.left=`${u}px`;let V=0;l(f)&&(V+=f.container.clientWidth),l(x)&&(V+=x.container.clientWidth),C.right=`${V}px`,c.resize()}!r&&l(this._fullscreenButton)&&(g=this._fullscreenButton.container.clientWidth),this._bottomContainer.style.left=`${m}px`,this._bottomContainer.style.bottom=`${p}px`,this._bottomContainer.style.right=`${g}px`,this._lastWidth=n,this._lastHeight=i};vi.prototype.forceResize=function(){this._lastWidth=0,this.resize()};vi.prototype.render=function(){this._cesiumWidget.render()};vi.prototype.isDestroyed=function(){return!1};vi.prototype.destroy=function(){let e;l(this.screenSpaceEventHandler)&&!this.screenSpaceEventHandler.isDestroyed()&&(this.screenSpaceEventHandler.removeInputAction(Vn.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(Vn.LEFT_DOUBLE_CLICK));let t=this.dataSources,n=t.length;for(e=0;e<n;e++)this._dataSourceRemoved(t,t.get(e));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),l(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),l(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),l(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),l(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),l(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),l(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),l(this._timeline)&&(this._timeline.removeEventListener("settime",gCe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),l(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),l(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),l(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),l(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),me(this)};vi.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(vi.prototype._onEntityCollectionChanged,this)};vi.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(vi.prototype._onEntityCollectionChanged,this),l(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),l(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};vi.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=n);let i=this._entityView;if(l(i)){let u=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(u,!1,Hy)===ht.DONE&&i.update(t,Hy)}let o,r=!1,s=this.selectedEntity,a=l(s)&&this._enableInfoOrSelection;a&&s.isShowing&&s.isAvailable(t)&&(this._dataSourceDisplay.getBoundingSphere(s,!0,Hy)!==ht.FAILED?o=Hy.center:l(s.position)&&(o=s.position.getValue(t,o)),r=l(o));let c=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(c)&&(c.position=h.clone(o,c.position),c.showSelection=a&&r,c.update());let d=l(this._infoBox)?this._infoBox.viewModel:void 0;l(d)&&(d.showInfo=a,d.enableCamera=r,d.isCameraTracking=this.trackedEntity===this.selectedEntity,a?(d.titleText=y(s.name,s.id),d.description=K.getValueOrDefault(s.description,t,"")):(d.titleText="",d.description=""))};vi.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0),this.selectedEntity===r&&(this.selectedEntity=void 0)}};vi.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;l(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};vi.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};vi.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};vi.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};vi.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&yCe(this.timeline,this.clock,e)};vi.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,vi.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};vi.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};vi.prototype.zoomTo=function(e,t){return xCe(this,e,{offset:t},!1)};vi.prototype.flyTo=function(e,t){return xCe(this,e,t,!0)};function xCe(e,t,n,i){N6(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof Sa){let s;l(r.imageryProvider)?s=Promise.resolve(r.getImageryRectangle()):s=new Promise(a=>{let c=r.readyEvent.addEventListener(()=>{c(),a(r.getImageryRectangle())})}),s.then(function(a){return WT(a,e.scene)}).then(function(a){e._zoomPromise===o&&(e._zoomTarget=a)});return}if(r instanceof fa||r instanceof WL||r instanceof Py){e._zoomTarget=r;return}if(r.isLoading&&l(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=y(r.values,r),l(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function vM(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function N6(e){let t=e._zoomPromise;l(t)&&(vM(e),e._completeZoom(!1))}vi.prototype._postRender=function(){HCt(this),KCt(this)};function HCt(e){let t=e._zoomTarget;if(!l(t)||e.scene.mode===oe.MORPHING)return;let n=e.scene,i=n.camera,o=y(e._zoomOptions,{}),r;function s(u){l(o.offset)||(o.offset=new Ju(0,-.5,u.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(M.IDENTITY),e._completeZoom(!0)),vM(e)}if(t instanceof WL){if(l(t.boundingSphere)){s(t.boundingSphere);return}let u=t.frameChanged.addEventListener(function(m){s(m.boundingSphere),u()});return}if(t instanceof fa||t instanceof Py){s(t.boundingSphere);return}if(t instanceof he){r={destination:n.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),vM(e);return}let a=t,c=[];for(let u=0,m=a.length;u<m;u++){let p=e._dataSourceDisplay.getBoundingSphere(a[u],!1,Hy);if(p===ht.PENDING)return;p!==ht.FAILED&&c.push(le.clone(Hy))}if(c.length===0){N6(e);return}e.trackedEntity=void 0;let d=le.fromBoundingSpheres(c);e._zoomIsFlight?(vM(e),i.flyToBoundingSphere(d,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(d,o.offset),i.lookAtTransform(M.IDENTITY),vM(e),e._completeZoom(!0))}function KCt(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=K.getValueOrUndefined(t.position,n);if(!l(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,Hy);if(r===ht.PENDING)return;let s=o.mode;(s===oe.COLUMBUS_VIEW||s===oe.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===oe.COLUMBUS_VIEW||s===oe.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==ht.FAILED?Hy:void 0;e._entityView=new Gv(t,o,o.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var k6=vi;var PZo=T(S(),1);function JCt(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new rM(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var U6=JCt;var FZo=T(S(),1);function QCt(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new cM(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var D6=QCt;var kZo=T(S(),1);function jCt(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new be,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=Pn(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(u){_Ce(s,d),s=u,B6(s,d)}},dropEnabled:{get:function(){return n},set:function(u){u!==n&&(u?B6(s,d):_Ce(s,d),n=u)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(u){r=u}},flyToOnDrop:{get:function(){return i},set:function(u){i=u}},proxy:{get:function(){return c},set:function(u){c=u}},clampToGround:{get:function(){return a},set:function(u){a=u}}});function d(u){ZS(u),r&&(e.entities.removeAll(),e.dataSources.removeAll());let m=u.dataTransfer.files,p=m.length;for(let g=0;g<p;g++){let f=m[g],x=new FileReader;x.onload=qCt(e,f,c,a),x.onerror=$Ct(e,f),x.readAsText(f)}}B6(s,d),e.destroy=U9(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=d}function ZS(e){e.stopPropagation(),e.preventDefault()}function _Ce(e,t){let n=e;l(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",ZS,!1),n.removeEventListener("dragover",ZS,!1),n.removeEventListener("dragexit",ZS,!1))}function B6(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",ZS,!1),e.addEventListener("dragover",ZS,!1),e.addEventListener("dragexit",ZS,!1)}function qCt(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=UP.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=Jv.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=cw.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=$v.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}l(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function $Ct(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var O6=jCt;var zZo=T(S(),1);function e1t(e,t){t=y(t,y.EMPTY_OBJECT);let n=new xM({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var Y6=e1t;var aGo=T(S(),1);var oGo=T(S(),1);var jZo=T(S(),1);function TCe(e){let t=e.split(` + </div>`,n.appendChild(i);let o=new V9(t);Se.track(o),Se.applyBindings(o,n),l(o.defaultLayer)&&(o.currentLayer=o.defaultLayer)}var B6=n1t;var hGo=T(S(),1);var sGo=T(S(),1);var i1t="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",o1t="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function O6(){this._cameraClicked=new be,this._closeClicked=new be,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",Se.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,Se.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?o1t:i1t}}),Se.defineProperty(this,"_bodyless",{get:function(){return!l(this.description)||this.description.length===0}})}O6.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(O6.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var L9=O6;function GO(e){e=Pn(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="×",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new L9;Se.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,d=c.createElement("link");d.href=sn("Widgets/InfoBox/InfoBoxDescription.css"),d.rel="stylesheet",d.type="text/css";let u=c.createElement("div");u.className="cesium-infoBox-description",c.head.appendChild(d),c.body.appendChild(u),a._descriptionSubscription=Ra(s,"description",function(m){r.style.height="5px",u.innerHTML=m;let p=null,g=u.firstElementChild;if(g!==null&&u.childNodes.length===1){let x=window.getComputedStyle(g);if(x!==null){let _=x["background-color"],C=B.fromCssColorString(_);l(C)&&C.alpha!==0&&(p=x["background-color"])}}t.style["background-color"]=p;let f=u.getBoundingClientRect().height;r.style.height=`${f}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(GO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});GO.prototype.isDestroyed=function(){return!1};GO.prototype.destroy=function(){let e=this._container;return Se.cleanNode(this._element),e.removeChild(this._element),l(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),me(this)};var R9=GO;var VGo=T(S(),1);var gGo=T(S(),1);function CCe(){this.showInstructions=!1;let e=this;this._command=Zn(function(){e.showInstructions=!e.showInstructions}),this._showClick=Zn(function(){e._touch=!1}),this._showTouch=Zn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",Se.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(CCe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var Z9=CCe;function EO(e){let t=Pn(e.container),n=new Z9,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=sn("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let d=document.createElement("button");d.type="button",d.className="cesium-navigation-button cesium-navigation-button-right",d.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let u=document.createElement("img");u.src=sn("Widgets/Images/NavigationHelp/Touch.svg"),u.className="cesium-navigation-button-icon",u.style.width="25px",u.style.height="25px",d.appendChild(u),d.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(d);let m=document.createElement("div");m.className="cesium-click-navigation-help cesium-navigation-help-instructions",m.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),m.innerHTML=` <table> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(m);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),Se.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},Yt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(EO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});EO.prototype.isDestroyed=function(){return!1};EO.prototype.destroy=function(){return Yt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),Se.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),me(this)};var G9=EO;var MGo=T(S(),1);var XGo=T(S(),1);function Y6(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,Se.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=Zn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=AM.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(Y6.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});Y6.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),me(this)};var E9=Y6;function IO(e){let t=Pn(e.container),n=new E9(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="×",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),Se.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(IO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});IO.prototype.isDestroyed=function(){return!1};IO.prototype.destroy=function(){return this._viewModel.destroy(),Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var I9=IO;var jGo=T(S(),1);var OGo=T(S(),1);function XO(e){this._scene=e,this._orthographic=e.camera.frustum instanceof ln,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,Se.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;Se.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=Zn(function(){t.sceneMode===oe.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new mr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===oe.SCENE2D||t._scene.camera.frustum instanceof ln}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=l(e.camera._currentFlight)}),this._switchToPerspective=Zn(function(){t.sceneMode!==oe.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=Zn(function(){t.sceneMode!==oe.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=oe}Object.defineProperties(XO.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});XO.prototype.isDestroyed=function(){return!1};XO.prototype.destroy=function(){this._eventHelper.removeAll(),me(this)};var X9=XO;var r1t="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",s1t="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function WO(e,t){e=Pn(e);let n=new X9(t);n._perspectivePath=r1t,n._orthographicPath=s1t;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),Se.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},Yt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(WO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});WO.prototype.isDestroyed=function(){return!1};WO.prototype.destroy=function(){return this._viewModel.destroy(),Yt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Se.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),me(this)};var W9=WO;var uEo=T(S(),1);var oEo=T(S(),1);function PO(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new mr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",Se.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,Se.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===oe.SCENE2D?n.tooltip2D:o===oe.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=Zn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=Zn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=Zn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=Zn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=oe}Object.defineProperties(PO.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});PO.prototype.isDestroyed=function(){return!1};PO.prototype.destroy=function(){this._eventHelper.removeAll(),me(this)};var P9=PO;var a1t="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",c1t="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",l1t="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function vO(e,t,n){e=Pn(e);let i=new P9(t,n);i._globePath=a1t,i._flatMapPath=c1t,i._columbusViewPath=l1t;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(c),Se.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(d){o.contains(d.target)||(i.dropDownVisible=!1)},Yt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(vO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});vO.prototype.isDestroyed=function(){return!1};vO.prototype.destroy=function(){return this._viewModel.destroy(),Yt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),Se.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),me(this)};var v9=vO;var CEo=T(S(),1);var bEo=T(S(),1);var d1t=new D,wO="-1000px";function w9(e,t,n){this._scene=e,this._screenPositionX=wO,this._screenPositionY=wO,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,Se.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,Se.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&l(this.position)}}),Se.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return ki.worldToWindowCoordinates(e,i,o)}}w9.prototype.update=function(){if(this.showSelection&&l(this.position)){let e=this.computeScreenSpacePosition(this.position,d1t);if(!l(e))this._screenPositionX=wO,this._screenPositionY=wO;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};w9.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:zr.EXPONENTIAL_OUT})};w9.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:zr.EXPONENTIAL_OUT})};Object.defineProperties(w9.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var F9=w9;function FO(e,t){e=Pn(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new F9(t,this._element,this._container);this._viewModel=c,Se.applyBindings(this._viewModel,this._element)}Object.defineProperties(FO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});FO.prototype.isDestroyed=function(){return!1};FO.prototype.destroy=function(){let e=this._container;return Se.cleanNode(this._element),e.removeChild(this._element),me(this)};var A9=FO;var wEo=T(S(),1);var REo=T(S(),1);function vS(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}vS.prototype.getHeight=function(){return this._height};vS.prototype.getBase=function(){return this._base};vS.prototype.getStartTime=function(){return this._start};vS.prototype.getStopTime=function(){return this._stop};vS.prototype.setRange=function(e,t){this._start=e,this._stop=t};vS.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=j.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=j.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var M9=vS;var EEo=T(S(),1);function VCe(e,t,n,i){this.interval=e,this.height=t,this.color=n||new B(.5,.5,.5,1),this.backgroundColor=i||new B(0,0,0,0)}VCe.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=j.addSeconds(t.startJulian,t.duration,new j);if(j.lessThan(n,o)&&j.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(j.lessThanOrEquals(n,r)&&j.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let d=j.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new j);!l(a)&&j.greaterThanOrEquals(d,n)?a=s:!l(c)&&j.greaterThanOrEquals(d,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),l(a)&&(l(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var N9=VCe;var H6=1e12,xm={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},hl={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},$y=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],u1t=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function fl(e,t){e=Pn(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=xm.none,this._touchMode=hl.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=m1t(this),this._onMouseUp=h1t(this),this._onMouseMove=f1t(this),this._onMouseWheel=p1t(this),this._onTouchStart=b1t(this),this._onTouchMove=y1t(this),this._onTouchEnd=g1t(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}fl.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};fl.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};fl.prototype.isDestroyed=function(){return!1};fl.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),me(this)};fl.prototype.addHighlightRange=function(e,t,n){let i=new M9(e,t,n);return this._highlightRanges.push(i),this.resize(),i};fl.prototype.addTrack=function(e,t,n,i){let o=new N9(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};fl.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=j.secondsDifference(t,e),this._clock&&this._clock.clockRange!==Yr.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=j.secondsDifference(o,i),s=j.secondsDifference(i,this._startJulian),a=j.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=j.addSeconds(this._endJulian,s,new j),this._startJulian=i,this._timeBarSecondsSpan=j.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=j.addSeconds(this._startJulian,a,new j),this._endJulian=o,this._timeBarSecondsSpan=j.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};fl.prototype.zoomFrom=function(e){let t=j.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo(j.addSeconds(this._startJulian,t-t*e,new j),j.addSeconds(this._endJulian,n*e-n,new j))};function z6(e){return e<10?`0${e.toString()}`:e.toString()}fl.prototype.makeLabel=function(e){let t=j.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${u1t[t.month-1]} ${t.day} ${t.year} ${z6(t.hour)}:${z6(t.minute)}:${z6(t.second)}${i}`};fl.prototype.smallestTicInPixels=7;fl.prototype._makeTics=function(){let e=this._timeBarEle,t=j.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,d=1e-10,u=0,m=this._timeBarSecondsSpan;m<a?(m=a,this._timeBarSecondsSpan=a,this._endJulian=j.addSeconds(this._startJulian,a,new j)):m>c&&(m=c,this._timeBarSecondsSpan=c,this._endJulian=j.addSeconds(this._startJulian,c,new j));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,f=Math.min(m/p*1e-5,.4),x,_=j.toGregorianDate(g);m>31536e4?x=j.fromDate(new Date(Date.UTC(Math.floor(_.year/100)*100,0))):m>31536e3?x=j.fromDate(new Date(Date.UTC(Math.floor(_.year/10)*10,0))):m>86400?x=j.fromDate(new Date(Date.UTC(_.year,0))):x=j.fromDate(new Date(Date.UTC(_.year,_.month,_.day)));let C=j.secondsDifference(this._startJulian,j.addSeconds(x,f,new j)),V=C+m;this._epochJulian=x;function L(k){return Math.floor(C/k)*k}function Z(k,H){return Math.ceil(k/H+.5)*H}function G(k){return(k-C)/m}function I(k,H){return k-H*Math.round(k/H)}this._rulerEle.innerHTML=this.makeLabel(j.addSeconds(this._endJulian,-a,new j));let v=this._rulerEle.offsetWidth+20;v<30&&(v=180);let P=u;u-=d;let w={startTime:C,startJulian:g,epochJulian:x,duration:m,timeBarWidth:p,getAlpha:G};this._highlightRanges.forEach(function(k){s+=k.render(w)});let A=0,b=0,R=0,E=v/p;E>1&&(E=1),E*=this._timeBarSecondsSpan;let X=-1,F=-1,N=$y.length,O;for(O=0;O<N;++O){let k=$y[O];if(++X,A=k,k>E&&k>u)break;F<0&&p*(k/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(F=X)}if(X>0){for(;X>0;)if(--X,Math.abs(I(A,$y[X]))<1e-5){$y[X]>=u&&(b=$y[X]);break}if(F>=0)for(;F<X;){if(Math.abs(I(b,$y[F]))<1e-5&&$y[F]>=u){R=$y[F];break}++F}}u=P,u>d&&R<1e-5&&Math.abs(u-A)>d&&(R=u,u<=A+d&&(b=0));let U=-999999,Y;if(p*(R/this._timeBarSecondsSpan)>=3)for(o=L(R);o<=V;o=Z(o,R))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*G(o)).toString()}px;"></span>`;if(p*(b/this._timeBarSecondsSpan)>=3)for(o=L(b);o<=V;o=Z(o,b))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*G(o)).toString()}px;"></span>`;if(p*(A/this._timeBarSecondsSpan)>=2){this._mainTicSpan=A,V+=A,o=L(A);let k=j.computeTaiMinusUtc(x);for(;o<=V;){let H=j.addSeconds(g,o-C,new j);if(A>2.1){let q=j.computeTaiMinusUtc(H);Math.abs(q-k)>.1&&(o+=q-k,H=j.addSeconds(g,o-C,new j))}let J=Math.round(p*G(o)),te=this.makeLabel(H);this._rulerEle.innerHTML=te,Y=this._rulerEle.offsetWidth,Y<10&&(Y=v);let z=J-(Y/2-1);z>U?(U=z+Y+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${J.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${z.toString()}px;">${te}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${J.toString()}px;"></span>`,o=Z(o,A)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),w.y=0,this._trackList.forEach(function(k){k.render(r._context,w),w.y+=k.height})};fl.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(l(this._scrubElement)){let t=j.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}l(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(j.addSeconds(this._startJulian,this._timelineDrag,new j),j.addSeconds(this._endJulian,this._timelineDrag,new j)))};fl.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=j.addSeconds(this._startJulian,t,new j),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function m1t(e){return function(t){e._mouseMode!==xm.touchOnly&&(t.button===0?(e._mouseMode=xm.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=xm.zoom:e._mouseMode=xm.slide)),t.preventDefault()}}function h1t(e){return function(t){e._mouseMode=xm.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function f1t(e){return function(t){let n;if(e._mouseMode===xm.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===xm.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(j.addSeconds(e._startJulian,i,new j),j.addSeconds(e._endJulian,i,new j))}}else e._mouseMode===xm.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function p1t(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;H6=Math.max(Math.min(Math.abs(n),H6),1),n/=H6,e.zoomFrom(Math.pow(1.05,-n))}}function b1t(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=xm.touchOnly,n===1?(i=j.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=hl.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=hl.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=hl.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=hl.ignore}}function g1t(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===hl.singleTap?(e._touchMode=hl.scrub,e._onTouchMove(t)):e._touchMode===hl.scrub&&e._onTouchMove(t),e._mouseMode=xm.touchOnly,n!==1?e._touchMode=n>0?hl.ignore:hl.none:e._touchMode===hl.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function y1t(e){return function(t){let n,i,o,r,s,a,c=1,d=e._topDiv.getBoundingClientRect().left;e._touchMode===hl.singleTap&&(e._touchMode=hl.slideZoom),e._mouseMode=xm.touchOnly,e._touchMode===hl.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-d,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===hl.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-d,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-d,s=0),l(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=j.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new j)):(n=e._touchState.centerX-r,a=j.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new j)),e.zoomTo(a,j.addSeconds(a,e._timeBarSecondsSpan*c,new j)),e._touchState.centerX=r,e._touchState.spanX=s))}}fl.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var k9=fl;var xIo=T(S(),1);var qEo=T(S(),1);var YEo=T(S(),1);var ECe=T(GCe(),1);function T1t(e){let t=!1,n=window.screen;return l(n)&&(l(n.lockOrientation)?t=n.lockOrientation(e):l(n.mozLockOrientation)?t=n.mozLockOrientation(e):l(n.msLockOrientation)?t=n.msLockOrientation(e):l(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function ICe(){let e=window.screen;l(e)&&(l(e.unlockOrientation)?e.unlockOrientation():l(e.mozUnlockOrientation)?e.mozUnlockOrientation():l(e.msUnlockOrientation)?e.msUnlockOrientation():l(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function S1t(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(ICe(),e._locked=!1),e._noSleep.disable(),yr.exitFullscreen(),n(!1)):(yr.fullscreen||yr.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=T1t("landscape")),t.useWebVR=!0,n(!0)))}function AO(e,t){let n=this,i=Se.observable(yr.enabled),o=Se.observable(!1);this.isVRMode=void 0,Se.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,Se.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&yr.enabled)}}),this.tooltip=void 0,Se.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=Se.observable(!1);this._isOrthographic=void 0,Se.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new mr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof ln)}),this._locked=!1,this._noSleep=new ECe.default,this._command=Zn(function(){S1t(n,e,o,r)},Se.getObservable(this,"isVREnabled")),this._vrElement=y(Pn(t),document.body),this._callback=function(){!yr.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(ICe(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(yr.changeEventName,this._callback)}Object.defineProperties(AO.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});AO.prototype.isDestroyed=function(){return!1};AO.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(yr.changeEventName,this._callback),me(this)};var U9=AO;var C1t="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",V1t="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function MO(e,t,n){e=Pn(e);let i=new U9(t,n);i._exitVRPath=V1t,i._enterVRPath=C1t;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),Se.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(MO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});MO.prototype.isDestroyed=function(){return!1};MO.prototype.destroy=function(){return this._viewModel.destroy(),Se.cleanNode(this._element),this._container.removeChild(this._element),me(this)};var D9=MO;var XCe=new de;function vCe(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function L1t(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);l(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function R1t(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(l(r)&&r!=="")return r}return"Unnamed Feature"}function WCe(e,t){let n=e.scene.pick(t.position);if(l(n)){let i=y(n.id,n.primitive.id);if(i instanceof tr)return i;if(n instanceof Os)return new tr({name:R1t(n),description:L1t(n),feature:n})}if(l(e.scene.globe))return E1t(e,t.position)}var Z1t=new j;function j6(e,t){if(l(t)){let n=t.clock;if(l(n)&&l(e)){let i=n.startTime,o=n.stopTime;j.equals(i,o)&&(o=j.addSeconds(i,W.EPSILON2,Z1t)),e.updateFromClock(),e.zoomTo(i,o)}}}var G1t=new h;function E1t(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!l(o))return;let r=new tr({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!l(s)||s.length===0){e.selectedEntity=PCe();return}let a=s[0],c=new tr({id:a.name,description:a.description});if(l(a.position)){let d=e.scene.ellipsoid.cartographicToCartesian(a.position,G1t);c.position=new Bc(d)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=PCe())}),r}function PCe(){return new tr({id:"None",description:"No features found."})}function I1t(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,d=e._fullscreenButton,u=e._infoBox,m=e._selectionIndicator,p=t?"hidden":"visible";if(l(n)&&(n.container.style.visibility=p),l(i)&&(i.container.style.visibility=p),l(o)&&(o.container.style.visibility=p),l(r)&&(r.container.style.visibility=p),l(s)&&(s.container.style.visibility=p),l(a)&&(a.container.style.visibility=p),l(c)&&(c.container.style.visibility=p),l(d)&&d.viewModel.isFullscreenEnabled&&(d.container.style.visibility=p),l(u)&&(u.container.style.visibility=p),l(m)&&(m.container.style.visibility=p),e._container){let g=t||!l(d)?0:d.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function Qi(e,t){e=Pn(e),t=y(t,y.EMPTY_OBJECT);let n=(!l(t.globe)||t.globe!==!1)&&(!l(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,d,u=!1;l(t.clockViewModel)?(d=t.clockViewModel,c=d.clock):(c=new uh,d=new t9(c),u=!0);let m=new RM(r,{baseLayer:n&&l(t.selectedImageryProviderViewModel)||l(t.baseLayer)||l(t.imageryProvider)?!1:void 0,clock:c,shouldAnimate:t.shouldAnimate,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,ellipsoid:t.ellipsoid,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,automaticallyTrackDataSourceClocks:t.automaticallyTrackDataSourceClocks,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:l(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,dataSources:t.dataSources,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=m.scene,g=new mr;g.add(c.onTick,Qi.prototype._onTick,this);let f;if(!l(t.selectionIndicator)||t.selectionIndicator!==!1){let H=document.createElement("div");H.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(H),f=new A9(H,p)}let x;if(!l(t.infoBox)||t.infoBox!==!1){let H=document.createElement("div");H.className="cesium-viewer-infoBoxContainer",o.appendChild(H),x=new R9(H);let J=x.viewModel;g.add(J.cameraClicked,Qi.prototype._onInfoBoxCameraClicked,this),g.add(J.closeClicked,Qi.prototype._onInfoBoxClockClicked,this)}let _=document.createElement("div");_.className="cesium-viewer-toolbar",o.appendChild(_);let C;if(!l(t.geocoder)||t.geocoder!==!1){let H=document.createElement("div");H.className="cesium-viewer-geocoderContainer",_.appendChild(H);let J;typeof t.geocoder=="string"?J=[new BT({scene:p,geocodeProviderType:t.geocoder})]:l(t.geocoder)&&typeof t.geocoder!="boolean"&&(J=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),C=new T9({container:H,geocoderServices:J,scene:p}),g.add(C.viewModel.search.beforeExecute,Qi.prototype._clearObjects,this)}let V;(!l(t.homeButton)||t.homeButton!==!1)&&(V=new C9(_,p),l(C)&&g.add(V.viewModel.command.afterExecute,function(){let H=C.viewModel;H.searchText="",H.isSearchInProgress&&H.search()}),g.add(V.viewModel.command.beforeExecute,Qi.prototype._clearTrackedObject,this));let L;!a&&(!l(t.sceneModePicker)||t.sceneModePicker!==!1)&&(L=new v9(_,p));let Z;t.projectionPicker&&(Z=new W9(_,p));let G,I;if(n){let H=y(t.imageryProviderViewModels,m9()),J=y(t.terrainProviderViewModels,h9());G=new u9(_,{globe:p.globe,imageryProviderViewModels:H,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:J,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),I=_.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}l(t.baseLayer)&&t.baseLayer!==!1&&(n&&(G.viewModel.selectedImagery=void 0),p.imageryLayers.removeAll(),p.imageryLayers.add(t.baseLayer)),l(t.terrainProvider)&&(n&&(G.viewModel.selectedTerrain=void 0),p.terrainProvider=t.terrainProvider),l(t.terrain)&&(n&&(p.globe.depthTestAgainstTerrain=!0),p.setTerrain(t.terrain));let v;if(!l(t.navigationHelpButton)||t.navigationHelpButton!==!1){let H=!0;try{if(l(window.localStorage)){let J=window.localStorage.getItem("cesium-hasSeenNavHelp");l(J)&&J?H=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}v=new G9({container:_,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,H)})}let P;if(!l(t.animation)||t.animation!==!1){let H=document.createElement("div");H.className="cesium-viewer-animationContainer",o.appendChild(H),P=new c9(H,new l9(d))}let w;if(!l(t.timeline)||t.timeline!==!1){let H=document.createElement("div");H.className="cesium-viewer-timelineContainer",o.appendChild(H),w=new k9(H,c),w.addEventListener("settime",vCe,!1),w.zoomTo(c.startTime,c.stopTime)}let A,b,R;(!l(t.fullscreenButton)||t.fullscreenButton!==!1)&&(R=document.createElement("div"),R.className="cesium-viewer-fullscreenContainer",o.appendChild(R),A=new x9(R,t.fullscreenElement),b=Ra(A.viewModel,"isFullscreenEnabled",function(H){R.style.display=H?"block":"none",l(w)&&(w.container.style.right=`${R.clientWidth}px`,w.resize())}));let E,X,F;if(t.vrButton){let H=document.createElement("div");H.className="cesium-viewer-vrContainer",o.appendChild(H),E=new D9(H,p,t.fullScreenElement),X=Ra(E.viewModel,"isVREnabled",function(J){H.style.display=J?"block":"none",l(A)&&(H.style.right=`${R.clientWidth}px`),l(w)&&(w.container.style.right=`${H.clientWidth}px`,w.resize())}),F=Ra(E.viewModel,"isVRMode",function(J){I1t(i,J)})}this._baseLayerPickerDropDown=I,this._fullscreenSubscription=b,this._vrSubscription=X,this._vrModeSubscription=F,this._dataSourceChangedListeners={},this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=m,this._selectionIndicator=f,this._infoBox=x,this._clockViewModel=d,this._destroyClockViewModel=u,this._toolbar=_,this._homeButton=V,this._sceneModePicker=L,this._projectionPicker=Z,this._baseLayerPicker=G,this._navigationHelpButton=v,this._animation=P,this._timeline=w,this._fullscreenButton=A,this._vrButton=E,this._geocoder=C,this._eventHelper=g,this._lastWidth=0,this._lastHeight=0,this._enableInfoOrSelection=l(x)||l(f),this._selectedEntity=void 0,this._selectedEntityChanged=new be;let N=this._cesiumWidget.dataSources,O=this._cesiumWidget.dataSourceDisplay;g.add(N.dataSourceAdded,Qi.prototype._onDataSourceAdded,this),g.add(N.dataSourceRemoved,Qi.prototype._onDataSourceRemoved,this),g.add(p.postUpdate,Qi.prototype.resize,this);let U=N.length;for(let H=0;H<U;H++)this._dataSourceAdded(N,N.get(H));this._dataSourceAdded(void 0,O.defaultDataSource),g.add(N.dataSourceAdded,Qi.prototype._dataSourceAdded,this),g.add(N.dataSourceRemoved,Qi.prototype._dataSourceRemoved,this);function Y(H){let J=WCe(i,H);l(J)?K.getValueOrUndefined(J.position,i.clock.currentTime)?i.trackedEntity=J:i.zoomTo(J):l(i.trackedEntity)&&(i.trackedEntity=void 0)}function k(H){i.selectedEntity=WCe(i,H)}m.screenSpaceEventHandler.setInputAction(k,Cn.LEFT_CLICK),m.screenSpaceEventHandler.setInputAction(Y,Cn.LEFT_DOUBLE_CLICK),m._canAnimateUpdateCallback=this._updateCanAnimate(this)}Object.defineProperties(Qi.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._cesiumWidget.dataSourceDisplay}},entities:{get:function(){return this._cesiumWidget.entities}},dataSources:{get:function(){return this._cesiumWidget.dataSources}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._cesiumWidget.allowDataSourcesToSuspendAnimation},set:function(e){this._cesiumWidget.allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._cesiumWidget.trackedEntity},set:function(e){this._cesiumWidget.trackedEntity=e}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(e)?l(t)&&t.animateAppear():l(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._cesiumWidget.trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._cesiumWidget.clockTrackedDataSource},set:function(e){this._cesiumWidget.clockTrackedDataSource!==e&&(this._cesiumWidget.clockTrackedDataSource=e,j6(this._timeline,e))}}});Qi.prototype.extend=function(e,t){e(this,t)};Qi.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=l(this._animation),r=l(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(l(a)&&(a.style.maxHeight=`${s}px`),l(this._geocoder)){let f=this._geocoder.searchSuggestionsContainer;f.style.maxHeight=`${s}px`}l(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,d,u=0,m=5,p=3,g=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let f=this._lastWidth;d=this._animation.container,n>900?(u=169,f<=900&&(d.style.width="169px",d.style.height="112px",this._animation.resize())):n>=600?(u=136,(f<600||f>900)&&(d.style.width="136px",d.style.height="90px",this._animation.resize())):(u=106,(f>600||f===0)&&(d.style.width="106px",d.style.height="70px",this._animation.resize())),m=u+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let f=this._fullscreenButton,x=this._vrButton,_=c.container,C=_.style;p=_.clientHeight+3,C.left=`${u}px`;let V=0;l(f)&&(V+=f.container.clientWidth),l(x)&&(V+=x.container.clientWidth),C.right=`${V}px`,c.resize()}!r&&l(this._fullscreenButton)&&(g=this._fullscreenButton.container.clientWidth),this._bottomContainer.style.left=`${m}px`,this._bottomContainer.style.bottom=`${p}px`,this._bottomContainer.style.right=`${g}px`,this._lastWidth=n,this._lastHeight=i};Qi.prototype.forceResize=function(){this._lastWidth=0,this.resize()};Qi.prototype.render=function(){this._cesiumWidget.render()};Qi.prototype.isDestroyed=function(){return!1};Qi.prototype.destroy=function(){return l(this.screenSpaceEventHandler)&&!this.screenSpaceEventHandler.isDestroyed()&&(this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_DOUBLE_CLICK)),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),l(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),l(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),l(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),l(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),l(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),l(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),l(this._timeline)&&(this._timeline.removeEventListener("settime",vCe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),l(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),l(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),l(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),l(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._cesiumWidget=this._cesiumWidget.destroy(),me(this)};Qi.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Qi.prototype._onEntityCollectionChanged,this)};Qi.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Qi.prototype._onEntityCollectionChanged,this),l(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};Qi.prototype._updateCanAnimate=function(e){return function(t){e._clockViewModel.canAnimate=t}};Qi.prototype._onTick=function(e){let t=e.currentTime,n,i=!1,o=this.selectedEntity,r=l(o)&&this._enableInfoOrSelection;r&&o.isShowing&&o.isAvailable(t)&&(this._cesiumWidget.dataSourceDisplay.getBoundingSphere(o,!0,XCe)!==mt.FAILED?n=XCe.center:l(o.position)&&(n=o.position.getValue(t,n)),i=l(n));let s=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(s)&&(s.position=h.clone(n,s.position),s.showSelection=r&&i,s.update());let a=l(this._infoBox)?this._infoBox.viewModel:void 0;l(a)&&(a.showInfo=r,a.enableCamera=i,a.isCameraTracking=this.trackedEntity===this.selectedEntity,r?(a.titleText=y(o.name,o.id),a.description=K.getValueOrDefault(o.description,t,"")):(a.titleText="",a.description=""))};Qi.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.selectedEntity===r&&(this.selectedEntity=void 0)}};Qi.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;l(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};Qi.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Qi.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};Qi.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};Qi.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&j6(this.timeline,e)};Qi.prototype._onDataSourceAdded=function(e,t){this._cesiumWidget._automaticallyTrackDataSourceClocks&&t===this.clockTrackedDataSource&&j6(this._timeline,t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Qi.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Qi.prototype._onDataSourceRemoved=function(e,t){let n=t.entities.id;this._dataSourceChangedListeners[n](),this._dataSourceChangedListeners[n]=void 0};Qi.prototype.zoomTo=function(e,t){return this._cesiumWidget.zoomTo(e,t)};Qi.prototype.flyTo=function(e,t){return this._cesiumWidget.flyTo(e,t)};var q6=Qi;var SIo=T(S(),1);function X1t(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new g9(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var $6=X1t;var LIo=T(S(),1);function W1t(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new r9(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var eq=W1t;var EIo=T(S(),1);function P1t(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new be,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=Pn(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(u){wCe(s,d),s=u,tq(s,d)}},dropEnabled:{get:function(){return n},set:function(u){u!==n&&(u?tq(s,d):wCe(s,d),n=u)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(u){r=u}},flyToOnDrop:{get:function(){return i},set:function(u){i=u}},proxy:{get:function(){return c},set:function(u){c=u}},clampToGround:{get:function(){return a},set:function(u){a=u}}});function d(u){wS(u),r&&(e.entities.removeAll(),e.dataSources.removeAll());let m=u.dataTransfer.files,p=m.length;for(let g=0;g<p;g++){let f=m[g],x=new FileReader;x.onload=v1t(e,f,c,a),x.onerror=w1t(e,f),x.readAsText(f)}}tq(s,d),e.destroy=Nw(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=d}function wS(e){e.stopPropagation(),e.preventDefault()}function wCe(e,t){let n=e;l(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",wS,!1),n.removeEventListener("dragover",wS,!1),n.removeEventListener("dragexit",wS,!1))}function tq(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",wS,!1),e.addEventListener("dragover",wS,!1),e.addEventListener("dragexit",wS,!1)}function v1t(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=jP.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=rw.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=yw.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=lw.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}l(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function w1t(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var nq=P1t;var wIo=T(S(),1);function F1t(e,t){t=y(t,y.EMPTY_OBJECT);let n=new I9({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var iq=F1t;var QIo=T(S(),1);var zIo=T(S(),1);var kIo=T(S(),1);function FCe(e){let t=e.split(` `),n;for(n=0;n<t.length&&!t[n].match(/\S/);n++);if(n===t.length)return"";let i="",o=/^\s*/,s=t[n].match(o)[0].length;for(let a=n;a<t.length;a++){let c=t[a];c.match(o)[0].length>=s&&(c=c.slice(s)),i+=`${c} -`}return i}function hm(e){this._scene=e,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let t=this;function n(o){let{name:r,initialValue:s}=o;t._definedProperties.push(r);let a=o.setPrimitiveFunction;a===!0&&(a=function(u){t._voxelPrimitive[r]=u});let c=o.getPrimitiveFunction;c===!0&&(c=function(){t[r]=t._voxelPrimitive[r]}),l(c)&&t._getPrimitiveFunctions.push(c);let d=Se.observable();return Se.defineProperty(t,r,{get:function(){return d()},set:function(u){typeof s=="number"&&typeof u=="string"&&(u=Number(u),isNaN(u)&&(u=s)),typeof s=="boolean"&&typeof u=="number"&&(u=u===1),d(u),l(a)&&l(t._voxelPrimitive)&&(a(u),e.requestRender())}}),t[r]=s,d}function i(o,r){return function(s){let a=t._voxelPrimitive[o].clone();a[r]=s,t._voxelPrimitive[o]=a}}n({name:"inspectorVisible",initialValue:!0}),n({name:"displayVisible",initialValue:!1}),n({name:"transformVisible",initialValue:!1}),n({name:"boundsVisible",initialValue:!1}),n({name:"clippingVisible",initialValue:!1}),n({name:"shaderVisible",initialValue:!1}),n({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let o=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=TCe(o)}}),n({name:"shaderCompilationMessage",initialValue:""}),n({name:"shaderCompilationSuccess",initialValue:!0}),n({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"shapeIsBox",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsBox=o===Pi.BOX}}),n({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsEllipsoid=o===Pi.ELLIPSOID}}),n({name:"shapeIsCylinder",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsCylinder=o===Pi.CYLINDER}}),n({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMaxX=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMinX=t._voxelPrimitive.minBounds.x}}),n({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMaxY=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMinY=t._voxelPrimitive.minBounds.y}}),n({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMaxZ=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMinZ=t._voxelPrimitive.minBounds.z}}),n({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLongitude=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLongitude=t._voxelPrimitive.minBounds.x}}),n({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLatitude=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLatitude=t._voxelPrimitive.minBounds.y}}),n({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxHeight=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMinHeight=t._voxelPrimitive.minBounds.z}}),n({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMaxRadius=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMinRadius=t._voxelPrimitive.minBounds.x}}),n({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMaxHeight=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMinHeight=t._voxelPrimitive.minBounds.y}}),n({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMaxAngle=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMinAngle=t._voxelPrimitive.minBounds.z}}),n({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMaxX=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMinX=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMaxY=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMinY=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMaxZ=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMinZ=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLongitude=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLongitude=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLatitude=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLatitude=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxHeight=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMinHeight=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMaxRadius=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMinRadius=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMaxHeight=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMinHeight=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMaxAngle=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMinAngle=t._voxelPrimitive.minClippingBounds.z}}),n({name:"translationX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.translationX=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"translationY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.translationY=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.translationZ=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.scaleX=M.getScale(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.scaleY=M.getScale(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.scaleZ=M.getScale(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"angleX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)}}),n({name:"angleY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)}}),n({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)}})}var t1t=new h,n1t=new h,i1t=new Ea,o1t=new $;function cp(e){let t=h.fromElements(e.translationX,e.translationY,e.translationZ,t1t),n=h.fromElements(e.scaleX,e.scaleY,e.scaleZ,n1t),i=i1t;i.heading=e.angleX,i.pitch=e.angleY,i.roll=e.angleZ;let o=$.fromHeadingPitchRoll(i,o1t),r=$.multiplyByScale(o,n,o);e._voxelPrimitive.modelMatrix=M.fromRotationTranslation(r,t,e._voxelPrimitive.modelMatrix)}Object.defineProperties(hm.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(e){if(l(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),l(e)){this._voxelPrimitive=e;let t=this;t._customShaderCompilationRemoveCallback=t._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(n){let i=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=TCe(i),l(n)?(t.shaderCompilationMessage=n.message,t.shaderCompilationSuccess=!1):(t.shaderCompilationMessage="Shader compiled successfully!",t.shaderCompilationSuccess=!0)}),t._modelMatrixReady=!1;for(let n=0;n<t._getPrimitiveFunctions.length;n++)t._getPrimitiveFunctions[n]();t._modelMatrixReady=!0,cp(t)}}}});hm.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};hm.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};hm.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};hm.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};hm.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};hm.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};hm.prototype.compileShader=function(){l(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new uS({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};hm.prototype.shaderEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` +`}return i}function _m(e){this._scene=e,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let t=this;function n(o){let{name:r,initialValue:s}=o;t._definedProperties.push(r);let a=o.setPrimitiveFunction;a===!0&&(a=function(u){t._voxelPrimitive[r]=u});let c=o.getPrimitiveFunction;c===!0&&(c=function(){t[r]=t._voxelPrimitive[r]}),l(c)&&t._getPrimitiveFunctions.push(c);let d=Se.observable();return Se.defineProperty(t,r,{get:function(){return d()},set:function(u){typeof s=="number"&&typeof u=="string"&&(u=Number(u),isNaN(u)&&(u=s)),typeof s=="boolean"&&typeof u=="number"&&(u=u===1),d(u),l(a)&&l(t._voxelPrimitive)&&(a(u),e.requestRender())}}),t[r]=s,d}function i(o,r){return function(s){let a=t._voxelPrimitive[o].clone();a[r]=s,t._voxelPrimitive[o]=a}}n({name:"inspectorVisible",initialValue:!0}),n({name:"displayVisible",initialValue:!1}),n({name:"transformVisible",initialValue:!1}),n({name:"boundsVisible",initialValue:!1}),n({name:"clippingVisible",initialValue:!1}),n({name:"shaderVisible",initialValue:!1}),n({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let o=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=FCe(o)}}),n({name:"shaderCompilationMessage",initialValue:""}),n({name:"shaderCompilationSuccess",initialValue:!0}),n({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"shapeIsBox",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsBox=o===Ai.BOX}}),n({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsEllipsoid=o===Ai.ELLIPSOID}}),n({name:"shapeIsCylinder",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsCylinder=o===Ai.CYLINDER}}),n({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMaxX=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMinX=t._voxelPrimitive.minBounds.x}}),n({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMaxY=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMinY=t._voxelPrimitive.minBounds.y}}),n({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMaxZ=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMinZ=t._voxelPrimitive.minBounds.z}}),n({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLongitude=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLongitude=t._voxelPrimitive.minBounds.x}}),n({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLatitude=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLatitude=t._voxelPrimitive.minBounds.y}}),n({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxHeight=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMinHeight=t._voxelPrimitive.minBounds.z}}),n({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMaxRadius=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMinRadius=t._voxelPrimitive.minBounds.x}}),n({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMaxHeight=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMinHeight=t._voxelPrimitive.minBounds.y}}),n({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMaxAngle=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMinAngle=t._voxelPrimitive.minBounds.z}}),n({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMaxX=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMinX=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMaxY=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMinY=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMaxZ=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMinZ=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLongitude=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLongitude=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLatitude=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLatitude=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxHeight=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMinHeight=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMaxRadius=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMinRadius=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMaxHeight=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMinHeight=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMaxAngle=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMinAngle=t._voxelPrimitive.minClippingBounds.z}}),n({name:"translationX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)},getPrimitiveFunction:function(){t.translationX=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"translationY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)},getPrimitiveFunction:function(){t.translationY=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)},getPrimitiveFunction:function(){t.translationZ=M.getTranslation(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)},getPrimitiveFunction:function(){t.scaleX=M.getScale(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)},getPrimitiveFunction:function(){t.scaleY=M.getScale(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)},getPrimitiveFunction:function(){t.scaleZ=M.getScale(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"angleX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)}}),n({name:"angleY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)}}),n({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&up(t)}})}var A1t=new h,M1t=new h,N1t=new Ia,k1t=new $;function up(e){let t=h.fromElements(e.translationX,e.translationY,e.translationZ,A1t),n=h.fromElements(e.scaleX,e.scaleY,e.scaleZ,M1t),i=N1t;i.heading=e.angleX,i.pitch=e.angleY,i.roll=e.angleZ;let o=$.fromHeadingPitchRoll(i,k1t),r=$.multiplyByScale(o,n,o);e._voxelPrimitive.modelMatrix=M.fromRotationTranslation(r,t,e._voxelPrimitive.modelMatrix)}Object.defineProperties(_m.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(e){if(l(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),l(e)){this._voxelPrimitive=e;let t=this;t._customShaderCompilationRemoveCallback=t._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(n){let i=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=FCe(i),l(n)?(t.shaderCompilationMessage=n.message,t.shaderCompilationSuccess=!1):(t.shaderCompilationMessage="Shader compiled successfully!",t.shaderCompilationSuccess=!0)}),t._modelMatrixReady=!1;for(let n=0;n<t._getPrimitiveFunctions.length;n++)t._getPrimitiveFunctions[n]();t._modelMatrixReady=!0,up(t)}}}});_m.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};_m.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};_m.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};_m.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};_m.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};_m.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};_m.prototype.compileShader=function(){l(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new xS({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};_m.prototype.shaderEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` `),c=a.length,d;if(t.shiftKey)for(d=0;d<c;++d)a[d][0]===" "&&(a[d][1]===" "?(a[d]=a[d].substr(2),r-=2):(a[d]=a[d].substr(1),r-=1));else for(d=0;d<c;++d)a[d]=` ${a[d]}`,r+=2;let u=a.join(` -`);n.value=n.value.slice(0,i)+u+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileShader();return!0};hm.prototype.isDestroyed=function(){return!1};hm.prototype.destroy=function(){let e=this;return this._definedProperties.forEach(function(t){Se.getObservable(e,t).dispose()}),me(this)};var wM=hm;function FB(e,t){e=Pn(e);let n=document.createElement("div"),i=new wM(t);this._viewModel=i,this._container=e,this._element=n;let o=document.createElement("div");o.textContent="Voxel Inspector",o.className="cesium-cesiumInspector-button",o.setAttribute("data-bind","click: toggleInspector"),n.appendChild(o),n.className="cesium-cesiumInspector cesium-VoxelInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let r=document.createElement("div");r.className="cesium-cesiumInspector-dropDown",n.appendChild(r);let s=Ka.createSection,a=Ka.createCheckbox,c=Ka.createRangeInput,d=Ka.createButton,u=s(r,"Display","displayVisible","toggleDisplay"),m=s(r,"Transform","transformVisible","toggleTransform"),p=s(r,"Bounds","boundsVisible","toggleBounds"),g=s(r,"Clipping","clippingVisible","toggleClipping"),f=s(r,"Shader","shaderVisible","toggleShader");u.appendChild(a("Depth Test","depthTest")),u.appendChild(a("Show","show")),u.appendChild(a("Disable Update","disableUpdate")),u.appendChild(a("Debug Draw","debugDraw")),u.appendChild(a("Jitter","jitter")),u.appendChild(a("Nearest Sampling","nearestSampling")),u.appendChild(c("Screen Space Error","screenSpaceError",0,128)),u.appendChild(c("Step Size","stepSize",0,2));let x=10,_=10,C=W.PI;m.appendChild(c("Translation X","translationX",-x,+x)),m.appendChild(c("Translation Y","translationY",-x,+x)),m.appendChild(c("Translation Z","translationZ",-x,+x)),m.appendChild(c("Scale X","scaleX",0,+_)),m.appendChild(c("Scale Y","scaleY",0,+_)),m.appendChild(c("Scale Z","scaleZ",0,+_)),m.appendChild(c("Heading","angleX",-C,+C)),m.appendChild(c("Pitch","angleY",-C,+C)),m.appendChild(c("Roll","angleZ",-C,+C));let V=Pi.getMinBounds(Pi.BOX),L=Pi.getMaxBounds(Pi.BOX),Z=h.fromElements(Pi.getMinBounds(Pi.ELLIPSOID).x,Pi.getMinBounds(Pi.ELLIPSOID).y,-ne.WGS84.maximumRadius,new h),G=h.fromElements(Pi.getMaxBounds(Pi.ELLIPSOID).x,Pi.getMaxBounds(Pi.ELLIPSOID).y,1e7,new h),I=Pi.getMinBounds(Pi.CYLINDER),v=Pi.getMaxBounds(Pi.CYLINDER);DL("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",V,L,"shapeIsBox",p),DL("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",Z,G,"shapeIsEllipsoid",p),DL("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",I,v,"shapeIsCylinder",p),DL("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",V,L,"shapeIsBox",g),DL("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",Z,G,"shapeIsEllipsoid",g),DL("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",I,v,"shapeIsCylinder",g);let P=document.createElement("div");f.appendChild(P);let w=document.createElement("textarea");w.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),P.className="cesium-cesiumInspector-styleEditor",P.appendChild(w);let F=d("Compile (Ctrl+Enter)","compileShader");P.appendChild(F);let b=document.createElement("label");b.style.display="block",b.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),P.appendChild(b),Se.applyBindings(i,n)}Object.defineProperties(FB.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});FB.prototype.isDestroyed=function(){return!1};FB.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),me(this)};function DL(e,t,n,i,o,r,s,a,c,d,u,m,p,g,f,x){let _=Ka.createRangeInput,C=p,V=g,L=x.appendChild(document.createElement("div"));L.setAttribute("data-bind",`if: ${f}`),L.appendChild(_(e,s,C.x,V.x)),L.appendChild(_(t,a,C.x,V.x)),L.appendChild(_(n,c,C.y,V.y)),L.appendChild(_(i,d,C.y,V.y)),L.appendChild(_(o,u,C.z,V.z)),L.appendChild(_(r,m,C.z,V.z))}var FM=FB;function r1t(e){let t=document.createElement("div");t.className="cesium-viewer-voxelInspectorContainer",e.container.appendChild(t);let n=new FM(t,e.scene);Object.defineProperties(e,{voxelInspector:{get:function(){return n}}})}var z6=r1t;globalThis.CESIUM_VERSION="1.122";var s1t="1.122";return FCe(a1t);})(); +`);n.value=n.value.slice(0,i)+u+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileShader();return!0};_m.prototype.isDestroyed=function(){return!1};_m.prototype.destroy=function(){let e=this;return this._definedProperties.forEach(function(t){Se.getObservable(e,t).dispose()}),me(this)};var B9=_m;function NO(e,t){e=Pn(e);let n=document.createElement("div"),i=new B9(t);this._viewModel=i,this._container=e,this._element=n;let o=document.createElement("div");o.textContent="Voxel Inspector",o.className="cesium-cesiumInspector-button",o.setAttribute("data-bind","click: toggleInspector"),n.appendChild(o),n.className="cesium-cesiumInspector cesium-VoxelInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let r=document.createElement("div");r.className="cesium-cesiumInspector-dropDown",n.appendChild(r);let s=Qa.createSection,a=Qa.createCheckbox,c=Qa.createRangeInput,d=Qa.createButton,u=s(r,"Display","displayVisible","toggleDisplay"),m=s(r,"Transform","transformVisible","toggleTransform"),p=s(r,"Bounds","boundsVisible","toggleBounds"),g=s(r,"Clipping","clippingVisible","toggleClipping"),f=s(r,"Shader","shaderVisible","toggleShader");u.appendChild(a("Depth Test","depthTest")),u.appendChild(a("Show","show")),u.appendChild(a("Disable Update","disableUpdate")),u.appendChild(a("Debug Draw","debugDraw")),u.appendChild(a("Jitter","jitter")),u.appendChild(a("Nearest Sampling","nearestSampling")),u.appendChild(c("Screen Space Error","screenSpaceError",0,128)),u.appendChild(c("Step Size","stepSize",0,2));let x=10,_=10,C=W.PI;m.appendChild(c("Translation X","translationX",-x,+x)),m.appendChild(c("Translation Y","translationY",-x,+x)),m.appendChild(c("Translation Z","translationZ",-x,+x)),m.appendChild(c("Scale X","scaleX",0,+_)),m.appendChild(c("Scale Y","scaleY",0,+_)),m.appendChild(c("Scale Z","scaleZ",0,+_)),m.appendChild(c("Heading","angleX",-C,+C)),m.appendChild(c("Pitch","angleY",-C,+C)),m.appendChild(c("Roll","angleZ",-C,+C));let V=Ai.getMinBounds(Ai.BOX),L=Ai.getMaxBounds(Ai.BOX),Z=h.fromElements(Ai.getMinBounds(Ai.ELLIPSOID).x,Ai.getMinBounds(Ai.ELLIPSOID).y,-ne.WGS84.maximumRadius,new h),G=h.fromElements(Ai.getMaxBounds(Ai.ELLIPSOID).x,Ai.getMaxBounds(Ai.ELLIPSOID).y,1e7,new h),I=Ai.getMinBounds(Ai.CYLINDER),v=Ai.getMaxBounds(Ai.CYLINDER);KL("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",V,L,"shapeIsBox",p),KL("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",Z,G,"shapeIsEllipsoid",p),KL("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",I,v,"shapeIsCylinder",p),KL("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",V,L,"shapeIsBox",g),KL("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",Z,G,"shapeIsEllipsoid",g),KL("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",I,v,"shapeIsCylinder",g);let P=document.createElement("div");f.appendChild(P);let w=document.createElement("textarea");w.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),P.className="cesium-cesiumInspector-styleEditor",P.appendChild(w);let A=d("Compile (Ctrl+Enter)","compileShader");P.appendChild(A);let b=document.createElement("label");b.style.display="block",b.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),P.appendChild(b),Se.applyBindings(i,n)}Object.defineProperties(NO.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});NO.prototype.isDestroyed=function(){return!1};NO.prototype.destroy=function(){return Se.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),me(this)};function KL(e,t,n,i,o,r,s,a,c,d,u,m,p,g,f,x){let _=Qa.createRangeInput,C=p,V=g,L=x.appendChild(document.createElement("div"));L.setAttribute("data-bind",`if: ${f}`),L.appendChild(_(e,s,C.x,V.x)),L.appendChild(_(t,a,C.x,V.x)),L.appendChild(_(n,c,C.y,V.y)),L.appendChild(_(i,d,C.y,V.y)),L.appendChild(_(o,u,C.z,V.z)),L.appendChild(_(r,m,C.z,V.z))}var O9=NO;function U1t(e){let t=document.createElement("div");t.className="cesium-viewer-voxelInspectorContainer",e.container.appendChild(t);let n=new O9(t,e.scene);Object.defineProperties(e,{voxelInspector:{get:function(){return n}}})}var oq=U1t;globalThis.CESIUM_VERSION="1.124";var D1t="1.124";return jCe(B1t);})(); diff --git a/public/lib/Cesium/ThirdParty/draco_decoder.wasm b/public/lib/Cesium/ThirdParty/draco_decoder.wasm index 4138f55900cb8b31a7112def7269112a66a846e7..e5a5e06eb51fb061a94a9682cc7e338038fae25c 100644 GIT binary patch delta 1727 zcmb_cO=ule6rOv}otZmte%?eIo4!Oia}D?^uhcGlRup|R5UONhN~vv%h(FZDOAwS2 zMJ8_|f<Ie@%)+Hgu%Rf3j)k-<w=TLUxDXT<ZVIj9LPQ~+GcT`6G|kF^H*Yxin{&SJ zobSxvm&d;RX6%d4wEX?6x7YQ%>snOnT6SI$@0Z^%$%m?`*X1v*@s4FBE(&aBcK$HL zXrbGc)xi(sx38%`8!{+=RB$|NqBsn(2{V<O=u{|Cw54TS4A=T?N?=ohh~I8vnCaYv z3~@0Uo^txIeAb3efwC<p64ysNy?*ifMSC{1(7t3MwAvC4)zD^CYB_`A89H_^VU)pu zA46=;(;wI7%15ZO;@p{F>ar($sAg187AYOvXQjAc#5Cbkt1Bl^WL8nbs5mSdP(6fn zg)a4UC@2;z8ZXvHr51W|qvg}7sCl7^KNSgZeyU*45Cxzc74d*0n%+?8rSd}G0QaSl ziY4POppW$Q>SW&#;z=f6pzacPeu04M&OpYg5l$OovSb<y*kDdO6EaRS$xix{)khJZ zBOcICyp#xIkcz$u&^{500DM2S?oS{PJ~b)idrWf>DfX#F9FBd<uYu^6D=xH)kcX~K zH0rrgqpkxEyKb61bcw($X!aQK@ARaJPm)}P&Eb%Sa7os=4G##q1tOPhPZDYqN>p9> z0GV+lOs2X|+8h?->=2YVB#ii;)Nr_nMkb|7%~M-O8InFqR$&%9`4U&QbIiz^>If9? zVi{&mZD<C?YkdaQrW=BY=ZNNU8o<6h$trHTxw&bv>#d_=+Bm7cfKGYLg9Bu{#3^Sy zpupZL*?0_s@_7xdZMCF<)NZY0JtAJoz0}fXl3Hpm4`u}Vx7uK9eQUK0+FNaRFSVBM z^UM@~L*~eW4%vz+`_!1)XHNA=1Ac3YAF9<ByeS>>A1uyR$L@vmMyyrk6YvHFc|T{X z2Q!$P65myCJy!=+9c;Y-pPvyQmi`SWs;4f)svOsIbzdejYVGi%4J)T^!jUrBfKGXC z10J(ahc-6Kk2c`MJUwP2@o*gPqJ{DYsEd4=T;&Y#9=w}E!H!Ul2k`*K!d)>vFis}U zQY)Rrg&umDcqj47N3Xz(hrG2^EYN;Y*g<avy*v}|84tbk>no6Yv?qf+qfgB0RT!Vv z#p5!-78Qu807ioxJsjig7COtQCUex)BUj;CNB$91!43H9w%$Yk(L2vllk(%6FiCoy hZN0?x|IrJ(^}ciqUfxIV&$sTNcWQsV=YNHA@gKdlH9!CW delta 1979 zcmb_cO=w(I6n^)f_j707dy^O2*yhJ@-nEMqrW6;BMa9g0Fa}%1lwvepNG<4MCJ2dT z6q!H#t7{iNDMj2!uxU|n@gj*Eap6)I1#zP*5v5iaQm8^a=go{wYzze*n9R$4-#zF1 z&iT&yWPS9{Pe(ugP|3~gwKa8qO^Iwx$?^;0-SnHLynh72cnz~9mdy?ESZHP8OY(<_ zu_Klhdnj-uaas>Rgcf=aTA6xVez9VI>C0mJl?}&gA&SEgX+N=BIye<d6f@G&F8ZtW z84BP~fPim@=qIYBeTGPMG05Ln<Us=X>2U|jT^}8D_0rW#&WX@M=L%Xg5;a9vIv6Br zC(vD>mp%rI^uwt*5i@l;P9m78tja37HM=UihF;uj8Ej}cWRXmZ6GCF;C`t!QTG&+- zrq}Crd-fBdpu=EE+mX_)vCxi+6F$8bIT>`L4@4|DK4oxfOo9GT5*zZIXd8L1&IKqK z(PSjj!!l<;bv%?5Q8Z!^2#SfyY|+Pi@kB`f0*WrGx>gmE<Wd|_{|})Ck?cH@yu(P{ z+gaHL>aoq_1`!q4p=`dl>Il(kL&d-%QPo9s=0XvG?^7{yeQu3qxsgZO4A!aod>r|f zUkd@{j64{-TnB!lQg4aJ(_cN%U9u84n|eO%u!doeZQ{W_)*(AeqFs@SjfDY!pPbaC zlhhKxuy2VzT#_&Uh6e;4fXIOC8`kD0kULx=lq-^)KGZ0Usz;~MV~O5&i5^KsH~raz z!`-1d6Ur2x8rZT=`Y0t}7Tfs}SDuv;BXg=lP-zECKXLPEVNhwc&Y+xX9|X5(&QUM+ z<jKRpR<n4ltfS(P7Dk;TQ>*3*ox`$u)uyRW(Srl&?+VUN{fk~UJft^0n7E~xl#u4Z z)aQ-jsozaA4L@n75_5Zopnqx(1{)&R%%I&hS9a5E`961!Oka`nWKECkMQ$Vm%Dw@; z?9n3pHX?3h$0pzv8B>o0ZvaUXNEp$)f^b>KiD+ZoNyJ+V+4>Ybr^V;l^entgcsbY@ zjHjJIczIbP<FSvwXkdQI{_!DsPa4m{v)RdKV1Is(28lM!j(gL5Z@Pc4aRxqmO1>Ya z^FKi+yRZ)LNKr`d+kk!abLJWxNmn+Y9AYt<J+Iw2&~0m#zPAAnI}4$MD*bK)<`(HO z5wXHCybFuycd*cHwP_Q(9lRU&(NVDNsD%e`Kb?g;&I%pvCgN%8k{f$aMU{v*W0iI{ z;q16tHKIW?O~)>(9;z0VNGr;Ia}!Kbz>!WXu~1<|LE5}|&}q{0)AnSGs5~MAoS=je zCB#yvMZi(cM%%89IV5X;249!u>tRM!_(P5r=JVA$p75H?KNjZISiHRuar*5wn51eD jwP7_#$^TOg*jbGWzrgc*RAc=59adv%?`mAU4(ZZg0cmU> diff --git a/public/lib/Cesium/Workers/chunk-GFUBU5RD.js b/public/lib/Cesium/Workers/chunk-2K72IAMD.js similarity index 61% rename from public/lib/Cesium/Workers/chunk-GFUBU5RD.js rename to public/lib/Cesium/Workers/chunk-2K72IAMD.js index c86f00407..17b64ee35 100644 --- a/public/lib/Cesium/Workers/chunk-GFUBU5RD.js +++ b/public/lib/Cesium/Workers/chunk-2K72IAMD.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,7 +23,7 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as _,b as Me,c as Oe,d as ze,e as W,f as ft}from"./chunk-RFPX772U.js";import{a as E}from"./chunk-RAYRECQS.js";import{a as Se}from"./chunk-QE3ZUOZY.js";import{a as O}from"./chunk-6KLVDWWE.js";import{a as A,b as s}from"./chunk-6P5KAIBX.js";import{a as St,c as Rt,d as Ze,e as p}from"./chunk-4FSVUTPL.js";var Un=Rt((et,tt)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof et=="object"&&et&&!et.nodeType&&et,n=typeof tt=="object"&&tt&&!tt.nodeType&&tt,o=typeof global=="object"&&global;(o.global===o||o.window===o||o.self===o)&&(e=o);var i,r=2147483647,a=36,u=1,d=26,m=38,l=700,w=72,T=128,v="-",P=/^xn--/,j=/[^\x20-\x7E]/,q=/[\x2E\u3002\uFF0E\uFF61]/g,k={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},x=a-u,F=Math.floor,B=String.fromCharCode,Q;function H(b){throw new RangeError(k[b])}function ee(b,z){for(var N=b.length,Y=[];N--;)Y[N]=z(b[N]);return Y}function re(b,z){var N=b.split("@"),Y="";N.length>1&&(Y=N[0]+"@",b=N[1]),b=b.replace(q,".");var ie=b.split("."),ae=ee(ie,z).join(".");return Y+ae}function Z(b){for(var z=[],N=0,Y=b.length,ie,ae;N<Y;)ie=b.charCodeAt(N++),ie>=55296&&ie<=56319&&N<Y?(ae=b.charCodeAt(N++),(ae&64512)==56320?z.push(((ie&1023)<<10)+(ae&1023)+65536):(z.push(ie),N--)):z.push(ie);return z}function oe(b){return ee(b,function(z){var N="";return z>65535&&(z-=65536,N+=B(z>>>10&1023|55296),z=56320|z&1023),N+=B(z),N}).join("")}function J(b){return b-48<10?b-22:b-65<26?b-65:b-97<26?b-97:a}function c(b,z){return b+22+75*(b<26)-((z!=0)<<5)}function f(b,z,N){var Y=0;for(b=N?F(b/l):b>>1,b+=F(b/z);b>x*d>>1;Y+=a)b=F(b/x);return F(Y+(x+1)*b/(b+m))}function h(b){var z=[],N=b.length,Y,ie=0,ae=T,te=w,ue,de,ye,me,he,X,_e,Te,je;for(ue=b.lastIndexOf(v),ue<0&&(ue=0),de=0;de<ue;++de)b.charCodeAt(de)>=128&&H("not-basic"),z.push(b.charCodeAt(de));for(ye=ue>0?ue+1:0;ye<N;){for(me=ie,he=1,X=a;ye>=N&&H("invalid-input"),_e=J(b.charCodeAt(ye++)),(_e>=a||_e>F((r-ie)/he))&&H("overflow"),ie+=_e*he,Te=X<=te?u:X>=te+d?d:X-te,!(_e<Te);X+=a)je=a-Te,he>F(r/je)&&H("overflow"),he*=je;Y=z.length+1,te=f(ie-me,Y,me==0),F(ie/Y)>r-ae&&H("overflow"),ae+=F(ie/Y),ie%=Y,z.splice(ie++,0,ae)}return oe(z)}function y(b){var z,N,Y,ie,ae,te,ue,de,ye,me,he,X=[],_e,Te,je,at;for(b=Z(b),_e=b.length,z=T,N=0,ae=w,te=0;te<_e;++te)he=b[te],he<128&&X.push(B(he));for(Y=ie=X.length,ie&&X.push(v);Y<_e;){for(ue=r,te=0;te<_e;++te)he=b[te],he>=z&&he<ue&&(ue=he);for(Te=Y+1,ue-z>F((r-N)/Te)&&H("overflow"),N+=(ue-z)*Te,z=ue,te=0;te<_e;++te)if(he=b[te],he<z&&++N>r&&H("overflow"),he==z){for(de=N,ye=a;me=ye<=ae?u:ye>=ae+d?d:ye-ae,!(de<me);ye+=a)at=de-me,je=a-me,X.push(B(c(me+at%je,0))),de=F(at/je);X.push(B(c(de,0))),ae=f(N,Te,Y==ie),N=0,++Y}++N,++z}return X.join("")}function g(b){return re(b,function(z){return P.test(z)?h(z.slice(4).toLowerCase()):z})}function C(b){return re(b,function(z){return j.test(z)?"xn--"+y(z):z})}if(i={version:"1.3.2",ucs2:{decode:Z,encode:oe},decode:h,encode:y,toASCII:C,toUnicode:g},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return i});else if(t&&n)if(tt.exports==t)n.exports=i;else for(Q in i)i.hasOwnProperty(Q)&&(t[Q]=i[Q]);else e.punycode=i})(et)});var zn=Rt((In,Mt)=>{/*! +import{a as _,b as Me,c as Oe,d as Ie,e as Q,f as ft}from"./chunk-HWH6BBH6.js";import{a as E}from"./chunk-DW4EQ6YI.js";import{a as Se}from"./chunk-GVFM5H7M.js";import{a as O}from"./chunk-CJFJKB5V.js";import{a as j,b as s}from"./chunk-4BGNE6LH.js";import{a as _t,c as St,d as Ze,e as p}from"./chunk-OX5CTLXY.js";var Pn=St((et,tt)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof et=="object"&&et&&!et.nodeType&&et,n=typeof tt=="object"&&tt&&!tt.nodeType&&tt,o=typeof global=="object"&&global;(o.global===o||o.window===o||o.self===o)&&(e=o);var i,r=2147483647,a=36,u=1,d=26,m=38,l=700,w=72,T=128,C="-",P=/^xn--/,A=/[^\x20-\x7E]/,q=/[\x2E\u3002\uFF0E\uFF61]/g,k={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},L=a-u,F=Math.floor,B=String.fromCharCode,W;function H(b){throw new RangeError(k[b])}function ee(b,I){for(var N=b.length,Y=[];N--;)Y[N]=I(b[N]);return Y}function re(b,I){var N=b.split("@"),Y="";N.length>1&&(Y=N[0]+"@",b=N[1]),b=b.replace(q,".");var ie=b.split("."),ae=ee(ie,I).join(".");return Y+ae}function Z(b){for(var I=[],N=0,Y=b.length,ie,ae;N<Y;)ie=b.charCodeAt(N++),ie>=55296&&ie<=56319&&N<Y?(ae=b.charCodeAt(N++),(ae&64512)==56320?I.push(((ie&1023)<<10)+(ae&1023)+65536):(I.push(ie),N--)):I.push(ie);return I}function oe(b){return ee(b,function(I){var N="";return I>65535&&(I-=65536,N+=B(I>>>10&1023|55296),I=56320|I&1023),N+=B(I),N}).join("")}function J(b){return b-48<10?b-22:b-65<26?b-65:b-97<26?b-97:a}function c(b,I){return b+22+75*(b<26)-((I!=0)<<5)}function f(b,I,N){var Y=0;for(b=N?F(b/l):b>>1,b+=F(b/I);b>L*d>>1;Y+=a)b=F(b/L);return F(Y+(L+1)*b/(b+m))}function h(b){var I=[],N=b.length,Y,ie=0,ae=T,te=w,ue,de,ye,me,he,X,_e,Te,je;for(ue=b.lastIndexOf(C),ue<0&&(ue=0),de=0;de<ue;++de)b.charCodeAt(de)>=128&&H("not-basic"),I.push(b.charCodeAt(de));for(ye=ue>0?ue+1:0;ye<N;){for(me=ie,he=1,X=a;ye>=N&&H("invalid-input"),_e=J(b.charCodeAt(ye++)),(_e>=a||_e>F((r-ie)/he))&&H("overflow"),ie+=_e*he,Te=X<=te?u:X>=te+d?d:X-te,!(_e<Te);X+=a)je=a-Te,he>F(r/je)&&H("overflow"),he*=je;Y=I.length+1,te=f(ie-me,Y,me==0),F(ie/Y)>r-ae&&H("overflow"),ae+=F(ie/Y),ie%=Y,I.splice(ie++,0,ae)}return oe(I)}function y(b){var I,N,Y,ie,ae,te,ue,de,ye,me,he,X=[],_e,Te,je,at;for(b=Z(b),_e=b.length,I=T,N=0,ae=w,te=0;te<_e;++te)he=b[te],he<128&&X.push(B(he));for(Y=ie=X.length,ie&&X.push(C);Y<_e;){for(ue=r,te=0;te<_e;++te)he=b[te],he>=I&&he<ue&&(ue=he);for(Te=Y+1,ue-I>F((r-N)/Te)&&H("overflow"),N+=(ue-I)*Te,I=ue,te=0;te<_e;++te)if(he=b[te],he<I&&++N>r&&H("overflow"),he==I){for(de=N,ye=a;me=ye<=ae?u:ye>=ae+d?d:ye-ae,!(de<me);ye+=a)at=de-me,je=a-me,X.push(B(c(me+at%je,0))),de=F(at/je);X.push(B(c(de,0))),ae=f(N,Te,Y==ie),N=0,++Y}++N,++I}return X.join("")}function g(b){return re(b,function(I){return P.test(I)?h(I.slice(4).toLowerCase()):I})}function v(b){return re(b,function(I){return A.test(I)?"xn--"+y(I):I})}if(i={version:"1.3.2",ucs2:{decode:Z,encode:oe},decode:h,encode:y,toASCII:v,toUnicode:g},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return i});else if(t&&n)if(tt.exports==t)n.exports=i;else for(W in i)i.hasOwnProperty(W)&&(t[W]=i[W]);else e.punycode=i})(et)});var zn=St((Un,jt)=>{/*! * URI.js - Mutating URLs * IPv6 Support * @@ -35,7 +35,7 @@ import{a as _,b as Me,c as Oe,d as ze,e as W,f as ft}from"./chunk-RFPX772U.js";i * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof Mt=="object"&&Mt.exports?Mt.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(In,function(e){"use strict";var t=e&&e.IPv6;function n(i){var r=i.toLowerCase(),a=r.split(":"),u=a.length,d=8;a[0]===""&&a[1]===""&&a[2]===""?(a.shift(),a.shift()):a[0]===""&&a[1]===""?a.shift():a[u-1]===""&&a[u-2]===""&&a.pop(),u=a.length,a[u-1].indexOf(".")!==-1&&(d=7);var m;for(m=0;m<u&&a[m]!=="";m++);if(m<d)for(a.splice(m,1,"0000");a.length<d;)a.splice(m,0,"0000");for(var l,w=0;w<d;w++){l=a[w].split("");for(var T=0;T<3&&(l[0]==="0"&&l.length>1);T++)l.splice(0,1);a[w]=l.join("")}var v=-1,P=0,j=0,q=-1,k=!1;for(w=0;w<d;w++)k?a[w]==="0"?j+=1:(k=!1,j>P&&(v=q,P=j)):a[w]==="0"&&(k=!0,q=w,j=1);j>P&&(v=q,P=j),P>1&&a.splice(v,P,""),u=a.length;var x="";for(a[0]===""&&(x=":"),w=0;w<u&&(x+=a[w],w!==u-1);w++)x+=":";return a[u-1]===""&&(x+=":"),x}function o(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:o}})});var Dn=Rt((qn,Pt)=>{/*! + */(function(e,t){"use strict";typeof jt=="object"&&jt.exports?jt.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(Un,function(e){"use strict";var t=e&&e.IPv6;function n(i){var r=i.toLowerCase(),a=r.split(":"),u=a.length,d=8;a[0]===""&&a[1]===""&&a[2]===""?(a.shift(),a.shift()):a[0]===""&&a[1]===""?a.shift():a[u-1]===""&&a[u-2]===""&&a.pop(),u=a.length,a[u-1].indexOf(".")!==-1&&(d=7);var m;for(m=0;m<u&&a[m]!=="";m++);if(m<d)for(a.splice(m,1,"0000");a.length<d;)a.splice(m,0,"0000");for(var l,w=0;w<d;w++){l=a[w].split("");for(var T=0;T<3&&(l[0]==="0"&&l.length>1);T++)l.splice(0,1);a[w]=l.join("")}var C=-1,P=0,A=0,q=-1,k=!1;for(w=0;w<d;w++)k?a[w]==="0"?A+=1:(k=!1,A>P&&(C=q,P=A)):a[w]==="0"&&(k=!0,q=w,A=1);A>P&&(C=q,P=A),P>1&&a.splice(C,P,""),u=a.length;var L="";for(a[0]===""&&(L=":"),w=0;w<u&&(L+=a[w],w!==u-1);w++)L+=":";return a[u-1]===""&&(L+=":"),L}function o(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:o}})});var qn=St((In,Mt)=>{/*! * URI.js - Mutating URLs * Second Level Domain (SLD) Support * @@ -47,7 +47,7 @@ import{a as _,b as Me,c as Oe,d as ze,e as W,f as ft}from"./chunk-RFPX772U.js";i * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof Pt=="object"&&Pt.exports?Pt.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(qn,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(o){var i=o.lastIndexOf(".");if(i<=0||i>=o.length-1)return!1;var r=o.lastIndexOf(".",i-1);if(r<=0||r>=i-1)return!1;var a=n.list[o.slice(i+1)];return a?a.indexOf(" "+o.slice(r+1,i)+" ")>=0:!1},is:function(o){var i=o.lastIndexOf(".");if(i<=0||i>=o.length-1)return!1;var r=o.lastIndexOf(".",i-1);if(r>=0)return!1;var a=n.list[o.slice(i+1)];return a?a.indexOf(" "+o.slice(0,i)+" ")>=0:!1},get:function(o){var i=o.lastIndexOf(".");if(i<=0||i>=o.length-1)return null;var r=o.lastIndexOf(".",i-1);if(r<=0||r>=i-1)return null;var a=n.list[o.slice(i+1)];return!a||a.indexOf(" "+o.slice(r+1,i)+" ")<0?null:o.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var We=Rt((Nn,Ut)=>{/*! + */(function(e,t){"use strict";typeof Mt=="object"&&Mt.exports?Mt.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(In,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(o){var i=o.lastIndexOf(".");if(i<=0||i>=o.length-1)return!1;var r=o.lastIndexOf(".",i-1);if(r<=0||r>=i-1)return!1;var a=n.list[o.slice(i+1)];return a?a.indexOf(" "+o.slice(r+1,i)+" ")>=0:!1},is:function(o){var i=o.lastIndexOf(".");if(i<=0||i>=o.length-1)return!1;var r=o.lastIndexOf(".",i-1);if(r>=0)return!1;var a=n.list[o.slice(i+1)];return a?a.indexOf(" "+o.slice(0,i)+" ")>=0:!1},get:function(o){var i=o.lastIndexOf(".");if(i<=0||i>=o.length-1)return null;var r=o.lastIndexOf(".",i-1);if(r<=0||r>=i-1)return null;var a=n.list[o.slice(i+1)];return!a||a.indexOf(" "+o.slice(r+1,i)+" ")<0?null:o.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var Qe=St((Dn,Pt)=>{/*! * URI.js - Mutating URLs * * Version: 1.19.11 @@ -58,9 +58,9 @@ import{a as _,b as Me,c as Oe,d as ze,e as W,f as ft}from"./chunk-RFPX772U.js";i * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof Ut=="object"&&Ut.exports?Ut.exports=t(Un(),zn(),Dn()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(Nn,function(e,t,n,o){"use strict";var i=o&&o.URI;function r(c,f){var h=arguments.length>=1,y=arguments.length>=2;if(!(this instanceof r))return h?y?new r(c,f):new r(c):new r;if(c===void 0){if(h)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?c=location.href+"":c=""}if(c===null&&h)throw new TypeError("null is not a valid argument for URI");return this.href(c),f!==void 0?this.absoluteTo(f):this}function a(c){return/^[0-9]+$/.test(c)}r.version="1.19.11";var u=r.prototype,d=Object.prototype.hasOwnProperty;function m(c){return c.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(c){return c===void 0?"Undefined":String(Object.prototype.toString.call(c)).slice(8,-1)}function w(c){return l(c)==="Array"}function T(c,f){var h={},y,g;if(l(f)==="RegExp")h=null;else if(w(f))for(y=0,g=f.length;y<g;y++)h[f[y]]=!0;else h[f]=!0;for(y=0,g=c.length;y<g;y++){var C=h&&h[c[y]]!==void 0||!h&&f.test(c[y]);C&&(c.splice(y,1),g--,y--)}return c}function v(c,f){var h,y;if(w(f)){for(h=0,y=f.length;h<y;h++)if(!v(c,f[h]))return!1;return!0}var g=l(f);for(h=0,y=c.length;h<y;h++)if(g==="RegExp"){if(typeof c[h]=="string"&&c[h].match(f))return!0}else if(c[h]===f)return!0;return!1}function P(c,f){if(!w(c)||!w(f)||c.length!==f.length)return!1;c.sort(),f.sort();for(var h=0,y=c.length;h<y;h++)if(c[h]!==f[h])return!1;return!0}function j(c){var f=/^\/+|\/+$/g;return c.replace(f,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(c){if(!(!c||!c.nodeName)){var f=c.nodeName.toLowerCase();if(!(f==="input"&&c.type!=="image"))return r.domAttributes[f]}};function q(c){return escape(c)}function k(c){return encodeURIComponent(c).replace(/[!'()*]/g,q).replace(/\*/g,"%2A")}r.encode=k,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=k,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(c,f){var h=r.encode(c+"");return f===void 0&&(f=r.escapeQuerySpace),f?h.replace(/%20/g,"+"):h},r.decodeQuery=function(c,f){c+="",f===void 0&&(f=r.escapeQuerySpace);try{return r.decode(f?c.replace(/\+/g,"%20"):c)}catch{return c}};var x={encode:"encode",decode:"decode"},F,B=function(c,f){return function(h){try{return r[f](h+"").replace(r.characters[c][f].expression,function(y){return r.characters[c][f].map[y]})}catch{return h}}};for(F in x)r[F+"PathSegment"]=B("pathname",x[F]),r[F+"UrnPathSegment"]=B("urnpath",x[F]);var Q=function(c,f,h){return function(y){var g;h?g=function(N){return r[f](r[h](N))}:g=r[f];for(var C=(y+"").split(c),b=0,z=C.length;b<z;b++)C[b]=g(C[b]);return C.join(c)}};r.decodePath=Q("/","decodePathSegment"),r.decodeUrnPath=Q(":","decodeUrnPathSegment"),r.recodePath=Q("/","encodePathSegment","decode"),r.recodeUrnPath=Q(":","encodeUrnPathSegment","decode"),r.encodeReserved=B("reserved","encode"),r.parse=function(c,f){var h;return f||(f={preventInvalidHostname:r.preventInvalidHostname}),c=c.replace(r.leading_whitespace_expression,""),c=c.replace(r.ascii_tab_whitespace,""),h=c.indexOf("#"),h>-1&&(f.fragment=c.substring(h+1)||null,c=c.substring(0,h)),h=c.indexOf("?"),h>-1&&(f.query=c.substring(h+1)||null,c=c.substring(0,h)),c=c.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),c=c.replace(/^[/\\]{2,}/i,"//"),c.substring(0,2)==="//"?(f.protocol=null,c=c.substring(2),c=r.parseAuthority(c,f)):(h=c.indexOf(":"),h>-1&&(f.protocol=c.substring(0,h)||null,f.protocol&&!f.protocol.match(r.protocol_expression)?f.protocol=void 0:c.substring(h+1,h+3).replace(/\\/g,"/")==="//"?(c=c.substring(h+3),c=r.parseAuthority(c,f)):(c=c.substring(h+1),f.urn=!0))),f.path=c,f},r.parseHost=function(c,f){c||(c=""),c=c.replace(/\\/g,"/");var h=c.indexOf("/"),y,g;if(h===-1&&(h=c.length),c.charAt(0)==="[")y=c.indexOf("]"),f.hostname=c.substring(1,y)||null,f.port=c.substring(y+2,h)||null,f.port==="/"&&(f.port=null);else{var C=c.indexOf(":"),b=c.indexOf("/"),z=c.indexOf(":",C+1);z!==-1&&(b===-1||z<b)?(f.hostname=c.substring(0,h)||null,f.port=null):(g=c.substring(0,h).split(":"),f.hostname=g[0]||null,f.port=g[1]||null)}return f.hostname&&c.substring(h).charAt(0)!=="/"&&(h++,c="/"+c),f.preventInvalidHostname&&r.ensureValidHostname(f.hostname,f.protocol),f.port&&r.ensureValidPort(f.port),c.substring(h)||"/"},r.parseAuthority=function(c,f){return c=r.parseUserinfo(c,f),r.parseHost(c,f)},r.parseUserinfo=function(c,f){var h=c,y=c.indexOf("\\");y!==-1&&(c=c.replace(/\\/g,"/"));var g=c.indexOf("/"),C=c.lastIndexOf("@",g>-1?g:c.length-1),b;return C>-1&&(g===-1||C<g)?(b=c.substring(0,C).split(":"),f.username=b[0]?r.decode(b[0]):null,b.shift(),f.password=b[0]?r.decode(b.join(":")):null,c=h.substring(C+1)):(f.username=null,f.password=null),c},r.parseQuery=function(c,f){if(!c)return{};if(c=c.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!c)return{};for(var h={},y=c.split("&"),g=y.length,C,b,z,N=0;N<g;N++)C=y[N].split("="),b=r.decodeQuery(C.shift(),f),z=C.length?r.decodeQuery(C.join("="),f):null,b!=="__proto__"&&(d.call(h,b)?((typeof h[b]=="string"||h[b]===null)&&(h[b]=[h[b]]),h[b].push(z)):h[b]=z);return h},r.build=function(c){var f="",h=!1;return c.protocol&&(f+=c.protocol+":"),!c.urn&&(f||c.hostname)&&(f+="//",h=!0),f+=r.buildAuthority(c)||"",typeof c.path=="string"&&(c.path.charAt(0)!=="/"&&h&&(f+="/"),f+=c.path),typeof c.query=="string"&&c.query&&(f+="?"+c.query),typeof c.fragment=="string"&&c.fragment&&(f+="#"+c.fragment),f},r.buildHost=function(c){var f="";if(c.hostname)r.ip6_expression.test(c.hostname)?f+="["+c.hostname+"]":f+=c.hostname;else return"";return c.port&&(f+=":"+c.port),f},r.buildAuthority=function(c){return r.buildUserinfo(c)+r.buildHost(c)},r.buildUserinfo=function(c){var f="";return c.username&&(f+=r.encode(c.username)),c.password&&(f+=":"+r.encode(c.password)),f&&(f+="@"),f},r.buildQuery=function(c,f,h){var y="",g,C,b,z;for(C in c)if(C!=="__proto__"&&d.call(c,C))if(w(c[C]))for(g={},b=0,z=c[C].length;b<z;b++)c[C][b]!==void 0&&g[c[C][b]+""]===void 0&&(y+="&"+r.buildQueryParameter(C,c[C][b],h),f!==!0&&(g[c[C][b]+""]=!0));else c[C]!==void 0&&(y+="&"+r.buildQueryParameter(C,c[C],h));return y.substring(1)},r.buildQueryParameter=function(c,f,h){return r.encodeQuery(c,h)+(f!==null?"="+r.encodeQuery(f,h):"")},r.addQuery=function(c,f,h){if(typeof f=="object")for(var y in f)d.call(f,y)&&r.addQuery(c,y,f[y]);else if(typeof f=="string"){if(c[f]===void 0){c[f]=h;return}else typeof c[f]=="string"&&(c[f]=[c[f]]);w(h)||(h=[h]),c[f]=(c[f]||[]).concat(h)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(c,f,h){if(typeof f=="object")for(var y in f)d.call(f,y)&&r.setQuery(c,y,f[y]);else if(typeof f=="string")c[f]=h===void 0?null:h;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(c,f,h){var y,g,C;if(w(f))for(y=0,g=f.length;y<g;y++)c[f[y]]=void 0;else if(l(f)==="RegExp")for(C in c)f.test(C)&&(c[C]=void 0);else if(typeof f=="object")for(C in f)d.call(f,C)&&r.removeQuery(c,C,f[C]);else if(typeof f=="string")h!==void 0?l(h)==="RegExp"?!w(c[f])&&h.test(c[f])?c[f]=void 0:c[f]=T(c[f],h):c[f]===String(h)&&(!w(h)||h.length===1)?c[f]=void 0:w(c[f])&&(c[f]=T(c[f],h)):c[f]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(c,f,h,y){switch(l(f)){case"String":break;case"RegExp":for(var g in c)if(d.call(c,g)&&f.test(g)&&(h===void 0||r.hasQuery(c,g,h)))return!0;return!1;case"Object":for(var C in f)if(d.call(f,C)&&!r.hasQuery(c,C,f[C]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(l(h)){case"Undefined":return f in c;case"Boolean":var b=!!(w(c[f])?c[f].length:c[f]);return h===b;case"Function":return!!h(c[f],f,c);case"Array":if(!w(c[f]))return!1;var z=y?v:P;return z(c[f],h);case"RegExp":return w(c[f])?y?v(c[f],h):!1:!!(c[f]&&c[f].match(h));case"Number":h=String(h);case"String":return w(c[f])?y?v(c[f],h):!1:c[f]===h;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var c=[],f=[],h=0,y=0;y<arguments.length;y++){var g=new r(arguments[y]);c.push(g);for(var C=g.segment(),b=0;b<C.length;b++)typeof C[b]=="string"&&f.push(C[b]),C[b]&&h++}if(!f.length||!h)return new r("");var z=new r("").segment(f);return(c[0].path()===""||c[0].path().slice(0,1)==="/")&&z.path("/"+z.path()),z.normalize()},r.commonPath=function(c,f){var h=Math.min(c.length,f.length),y;for(y=0;y<h;y++)if(c.charAt(y)!==f.charAt(y)){y--;break}return y<1?c.charAt(0)===f.charAt(0)&&c.charAt(0)==="/"?"/":"":((c.charAt(y)!=="/"||f.charAt(y)!=="/")&&(y=c.substring(0,y).lastIndexOf("/")),c.substring(0,y+1))},r.withinString=function(c,f,h){h||(h={});var y=h.start||r.findUri.start,g=h.end||r.findUri.end,C=h.trim||r.findUri.trim,b=h.parens||r.findUri.parens,z=/[a-z0-9-]=["']?$/i;for(y.lastIndex=0;;){var N=y.exec(c);if(!N)break;var Y=N.index;if(h.ignoreHtml){var ie=c.slice(Math.max(Y-3,0),Y);if(ie&&z.test(ie))continue}for(var ae=Y+c.slice(Y).search(g),te=c.slice(Y,ae),ue=-1;;){var de=b.exec(te);if(!de)break;var ye=de.index+de[0].length;ue=Math.max(ue,ye)}if(ue>-1?te=te.slice(0,ue)+te.slice(ue).replace(C,""):te=te.replace(C,""),!(te.length<=N[0].length)&&!(h.ignore&&h.ignore.test(te))){ae=Y+te.length;var me=f(te,Y,ae,c);if(me===void 0){y.lastIndex=ae;continue}me=String(me),c=c.slice(0,Y)+me+c.slice(ae),y.lastIndex=Y+me.length}}return y.lastIndex=0,c},r.ensureValidHostname=function(c,f){var h=!!c,y=!!f,g=!1;if(y&&(g=v(r.hostProtocols,f)),g&&!h)throw new TypeError("Hostname cannot be empty, if protocol is "+f);if(c&&c.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(c).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(c){if(c){var f=Number(c);if(!(a(f)&&f>0&&f<65536))throw new TypeError('Port "'+c+'" is not a valid port')}},r.noConflict=function(c){if(c){var f={URI:this.noConflict()};return o.URITemplate&&typeof o.URITemplate.noConflict=="function"&&(f.URITemplate=o.URITemplate.noConflict()),o.IPv6&&typeof o.IPv6.noConflict=="function"&&(f.IPv6=o.IPv6.noConflict()),o.SecondLevelDomains&&typeof o.SecondLevelDomains.noConflict=="function"&&(f.SecondLevelDomains=o.SecondLevelDomains.noConflict()),f}else o.URI===this&&(o.URI=i);return this},u.build=function(c){return c===!0?this._deferred_build=!0:(c===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},u.clone=function(){return new r(this)},u.valueOf=u.toString=function(){return this.build(!1)._string};function H(c){return function(f,h){return f===void 0?this._parts[c]||"":(this._parts[c]=f||null,this.build(!h),this)}}function ee(c,f){return function(h,y){return h===void 0?this._parts[c]||"":(h!==null&&(h=h+"",h.charAt(0)===f&&(h=h.substring(1))),this._parts[c]=h,this.build(!y),this)}}u.protocol=H("protocol"),u.username=H("username"),u.password=H("password"),u.hostname=H("hostname"),u.port=H("port"),u.query=ee("query","?"),u.fragment=ee("fragment","#"),u.search=function(c,f){var h=this.query(c,f);return typeof h=="string"&&h.length?"?"+h:h},u.hash=function(c,f){var h=this.fragment(c,f);return typeof h=="string"&&h.length?"#"+h:h},u.pathname=function(c,f){if(c===void 0||c===!0){var h=this._parts.path||(this._parts.hostname?"/":"");return c?(this._parts.urn?r.decodeUrnPath:r.decodePath)(h):h}else return this._parts.urn?this._parts.path=c?r.recodeUrnPath(c):"":this._parts.path=c?r.recodePath(c):"/",this.build(!f),this},u.path=u.pathname,u.href=function(c,f){var h;if(c===void 0)return this.toString();this._string="",this._parts=r._parts();var y=c instanceof r,g=typeof c=="object"&&(c.hostname||c.path||c.pathname);if(c.nodeName){var C=r.getDomAttribute(c);c=c[C]||"",g=!1}if(!y&&g&&c.pathname!==void 0&&(c=c.toString()),typeof c=="string"||c instanceof String)this._parts=r.parse(String(c),this._parts);else if(y||g){var b=y?c._parts:c;for(h in b)h!=="query"&&d.call(this._parts,h)&&(this._parts[h]=b[h]);b.query&&this.query(b.query,!1)}else throw new TypeError("invalid input");return this.build(!f),this},u.is=function(c){var f=!1,h=!1,y=!1,g=!1,C=!1,b=!1,z=!1,N=!this._parts.urn;switch(this._parts.hostname&&(N=!1,h=r.ip4_expression.test(this._parts.hostname),y=r.ip6_expression.test(this._parts.hostname),f=h||y,g=!f,C=g&&n&&n.has(this._parts.hostname),b=g&&r.idn_expression.test(this._parts.hostname),z=g&&r.punycode_expression.test(this._parts.hostname)),c.toLowerCase()){case"relative":return N;case"absolute":return!N;case"domain":case"name":return g;case"sld":return C;case"ip":return f;case"ip4":case"ipv4":case"inet4":return h;case"ip6":case"ipv6":case"inet6":return y;case"idn":return b;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return z}return null};var re=u.protocol,Z=u.port,oe=u.hostname;u.protocol=function(c,f){if(c&&(c=c.replace(/:(\/\/)?$/,""),!c.match(r.protocol_expression)))throw new TypeError('Protocol "'+c+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return re.call(this,c,f)},u.scheme=u.protocol,u.port=function(c,f){return this._parts.urn?c===void 0?"":this:(c!==void 0&&(c===0&&(c=null),c&&(c+="",c.charAt(0)===":"&&(c=c.substring(1)),r.ensureValidPort(c))),Z.call(this,c,f))},u.hostname=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c!==void 0){var h={preventInvalidHostname:this._parts.preventInvalidHostname},y=r.parseHost(c,h);if(y!=="/")throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-]');c=h.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(c,this._parts.protocol)}return oe.call(this,c,f)},u.origin=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0){var h=this.protocol(),y=this.authority();return y?(h?h+"://":"")+this.authority():""}else{var g=r(c);return this.protocol(g.protocol()).authority(g.authority()).build(!f),this}},u.host=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var h=r.parseHost(c,this._parts);if(h!=="/")throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-]');return this.build(!f),this},u.authority=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var h=r.parseAuthority(c,this._parts);if(h!=="/")throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-]');return this.build(!f),this},u.userinfo=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0){var h=r.buildUserinfo(this._parts);return h&&h.substring(0,h.length-1)}else return c[c.length-1]!=="@"&&(c+="@"),r.parseUserinfo(c,this._parts),this.build(!f),this},u.resource=function(c,f){var h;return c===void 0?this.path()+this.search()+this.hash():(h=r.parse(c),this._parts.path=h.path,this._parts.query=h.query,this._parts.fragment=h.fragment,this.build(!f),this)},u.subdomain=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0){if(!this._parts.hostname||this.is("IP"))return"";var h=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,h)||""}else{var y=this._parts.hostname.length-this.domain().length,g=this._parts.hostname.substring(0,y),C=new RegExp("^"+m(g));if(c&&c.charAt(c.length-1)!=="."&&(c+="."),c.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return c&&r.ensureValidHostname(c,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(C,c),this.build(!f),this}},u.domain=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(typeof c=="boolean"&&(f=c,c=void 0),c===void 0){if(!this._parts.hostname||this.is("IP"))return"";var h=this._parts.hostname.match(/\./g);if(h&&h.length<2)return this._parts.hostname;var y=this._parts.hostname.length-this.tld(f).length-1;return y=this._parts.hostname.lastIndexOf(".",y-1)+1,this._parts.hostname.substring(y)||""}else{if(!c)throw new TypeError("cannot set domain empty");if(c.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(c,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=c;else{var g=new RegExp(m(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(g,c)}return this.build(!f),this}},u.tld=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(typeof c=="boolean"&&(f=c,c=void 0),c===void 0){if(!this._parts.hostname||this.is("IP"))return"";var h=this._parts.hostname.lastIndexOf("."),y=this._parts.hostname.substring(h+1);return f!==!0&&n&&n.list[y.toLowerCase()]&&n.get(this._parts.hostname)||y}else{var g;if(c)if(c.match(/[^a-zA-Z0-9-]/))if(n&&n.is(c))g=new RegExp(m(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(g,c);else throw new TypeError('TLD "'+c+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");g=new RegExp(m(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(g,c)}else throw new TypeError("cannot set TLD empty");return this.build(!f),this}},u.directory=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0||c===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var h=this._parts.path.length-this.filename().length-1,y=this._parts.path.substring(0,h)||(this._parts.hostname?"/":"");return c?r.decodePath(y):y}else{var g=this._parts.path.length-this.filename().length,C=this._parts.path.substring(0,g),b=new RegExp("^"+m(C));return this.is("relative")||(c||(c="/"),c.charAt(0)!=="/"&&(c="/"+c)),c&&c.charAt(c.length-1)!=="/"&&(c+="/"),c=r.recodePath(c),this._parts.path=this._parts.path.replace(b,c),this.build(!f),this}},u.filename=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(typeof c!="string"){if(!this._parts.path||this._parts.path==="/")return"";var h=this._parts.path.lastIndexOf("/"),y=this._parts.path.substring(h+1);return c?r.decodePathSegment(y):y}else{var g=!1;c.charAt(0)==="/"&&(c=c.substring(1)),c.match(/\.?\//)&&(g=!0);var C=new RegExp(m(this.filename())+"$");return c=r.recodePath(c),this._parts.path=this._parts.path.replace(C,c),g?this.normalizePath(f):this.build(!f),this}},u.suffix=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0||c===!0){if(!this._parts.path||this._parts.path==="/")return"";var h=this.filename(),y=h.lastIndexOf("."),g,C;return y===-1?"":(g=h.substring(y+1),C=/^[a-z0-9%]+$/i.test(g)?g:"",c?r.decodePathSegment(C):C)}else{c.charAt(0)==="."&&(c=c.substring(1));var b=this.suffix(),z;if(b)c?z=new RegExp(m(b)+"$"):z=new RegExp(m("."+b)+"$");else{if(!c)return this;this._parts.path+="."+r.recodePath(c)}return z&&(c=r.recodePath(c),this._parts.path=this._parts.path.replace(z,c)),this.build(!f),this}},u.segment=function(c,f,h){var y=this._parts.urn?":":"/",g=this.path(),C=g.substring(0,1)==="/",b=g.split(y);if(c!==void 0&&typeof c!="number"&&(h=f,f=c,c=void 0),c!==void 0&&typeof c!="number")throw new Error('Bad segment "'+c+'", must be 0-based integer');if(C&&b.shift(),c<0&&(c=Math.max(b.length+c,0)),f===void 0)return c===void 0?b:b[c];if(c===null||b[c]===void 0)if(w(f)){b=[];for(var z=0,N=f.length;z<N;z++)!f[z].length&&(!b.length||!b[b.length-1].length)||(b.length&&!b[b.length-1].length&&b.pop(),b.push(j(f[z])))}else(f||typeof f=="string")&&(f=j(f),b[b.length-1]===""?b[b.length-1]=f:b.push(f));else f?b[c]=j(f):b.splice(c,1);return C&&b.unshift(""),this.path(b.join(y),h)},u.segmentCoded=function(c,f,h){var y,g,C;if(typeof c!="number"&&(h=f,f=c,c=void 0),f===void 0){if(y=this.segment(c,f,h),!w(y))y=y!==void 0?r.decode(y):void 0;else for(g=0,C=y.length;g<C;g++)y[g]=r.decode(y[g]);return y}if(!w(f))f=typeof f=="string"||f instanceof String?r.encode(f):f;else for(g=0,C=f.length;g<C;g++)f[g]=r.encode(f[g]);return this.segment(c,f,h)};var J=u.query;return u.query=function(c,f){if(c===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof c=="function"){var h=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),y=c.call(this,h);return this._parts.query=r.buildQuery(y||h,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!f),this}else return c!==void 0&&typeof c!="string"?(this._parts.query=r.buildQuery(c,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!f),this):J.call(this,c,f)},u.setQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof c=="string"||c instanceof String)y[c]=f!==void 0?f:null;else if(typeof c=="object")for(var g in c)d.call(c,g)&&(y[g]=c[g]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(y,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof c!="string"&&(h=f),this.build(!h),this},u.addQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(y,c,f===void 0?null:f),this._parts.query=r.buildQuery(y,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof c!="string"&&(h=f),this.build(!h),this},u.removeQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(y,c,f),this._parts.query=r.buildQuery(y,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof c!="string"&&(h=f),this.build(!h),this},u.hasQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(y,c,f,h)},u.setSearch=u.setQuery,u.addSearch=u.addQuery,u.removeSearch=u.removeQuery,u.hasSearch=u.hasQuery,u.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},u.normalizeProtocol=function(c){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!c)),this},u.normalizeHostname=function(c){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!c)),this},u.normalizePort=function(c){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!c)),this},u.normalizePath=function(c){var f=this._parts.path;if(!f)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!c),this;if(this._parts.path==="/")return this;f=r.recodePath(f);var h,y="",g,C;for(f.charAt(0)!=="/"&&(h=!0,f="/"+f),(f.slice(-3)==="/.."||f.slice(-2)==="/.")&&(f+="/"),f=f.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),h&&(y=f.substring(1).match(/^(\.\.\/)+/)||"",y&&(y=y[0]));g=f.search(/\/\.\.(\/|$)/),g!==-1;){if(g===0){f=f.substring(3);continue}C=f.substring(0,g).lastIndexOf("/"),C===-1&&(C=g),f=f.substring(0,C)+f.substring(g+3)}return h&&this.is("relative")&&(f=y+f.substring(1)),this._parts.path=f,this.build(!c),this},u.normalizePathname=u.normalizePath,u.normalizeQuery=function(c){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!c)),this},u.normalizeFragment=function(c){return this._parts.fragment||(this._parts.fragment=null,this.build(!c)),this},u.normalizeSearch=u.normalizeQuery,u.normalizeHash=u.normalizeFragment,u.iso8859=function(){var c=r.encode,f=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=c,r.decode=f}return this},u.unicode=function(){var c=r.encode,f=r.decode;r.encode=k,r.decode=unescape;try{this.normalize()}finally{r.encode=c,r.decode=f}return this},u.readable=function(){var c=this.clone();c.username("").password("").normalize();var f="";if(c._parts.protocol&&(f+=c._parts.protocol+"://"),c._parts.hostname&&(c.is("punycode")&&e?(f+=e.toUnicode(c._parts.hostname),c._parts.port&&(f+=":"+c._parts.port)):f+=c.host()),c._parts.hostname&&c._parts.path&&c._parts.path.charAt(0)!=="/"&&(f+="/"),f+=c.path(!0),c._parts.query){for(var h="",y=0,g=c._parts.query.split("&"),C=g.length;y<C;y++){var b=(g[y]||"").split("=");h+="&"+r.decodeQuery(b[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),b[1]!==void 0&&(h+="="+r.decodeQuery(b[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}f+="?"+h.substring(1)}return f+=r.decodeQuery(c.hash(),!0),f},u.absoluteTo=function(c){var f=this.clone(),h=["protocol","username","password","hostname","port"],y,g,C;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(c instanceof r||(c=new r(c)),f._parts.protocol||(f._parts.protocol=c._parts.protocol,this._parts.hostname))return f;for(g=0;C=h[g];g++)f._parts[C]=c._parts[C];return f._parts.path?(f._parts.path.substring(-2)===".."&&(f._parts.path+="/"),f.path().charAt(0)!=="/"&&(y=c.directory(),y=y||(c.path().indexOf("/")===0?"/":""),f._parts.path=(y?y+"/":"")+f._parts.path,f.normalizePath())):(f._parts.path=c._parts.path,f._parts.query||(f._parts.query=c._parts.query)),f.build(),f},u.relativeTo=function(c){var f=this.clone().normalize(),h,y,g,C,b;if(f._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(c=new r(c).normalize(),h=f._parts,y=c._parts,C=f.path(),b=c.path(),C.charAt(0)!=="/")throw new Error("URI is already relative");if(b.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(h.protocol===y.protocol&&(h.protocol=null),h.username!==y.username||h.password!==y.password||h.protocol!==null||h.username!==null||h.password!==null)return f.build();if(h.hostname===y.hostname&&h.port===y.port)h.hostname=null,h.port=null;else return f.build();if(C===b)return h.path="",f.build();if(g=r.commonPath(C,b),!g)return f.build();var z=y.path.substring(g.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return h.path=z+h.path.substring(g.length)||"./",f.build()},u.equals=function(c){var f=this.clone(),h=new r(c),y={},g={},C={},b,z,N;if(f.normalize(),h.normalize(),f.toString()===h.toString())return!0;if(b=f.query(),z=h.query(),f.query(""),h.query(""),f.toString()!==h.toString()||b.length!==z.length)return!1;y=r.parseQuery(b,this._parts.escapeQuerySpace),g=r.parseQuery(z,this._parts.escapeQuerySpace);for(N in y)if(d.call(y,N)){if(w(y[N])){if(!P(y[N],g[N]))return!1}else if(y[N]!==g[N])return!1;C[N]=!0}for(N in g)if(d.call(g,N)&&!C[N])return!1;return!0},u.preventInvalidHostname=function(c){return this._parts.preventInvalidHostname=!!c,this},u.duplicateQueryParameters=function(c){return this._parts.duplicateQueryParameters=!!c,this},u.escapeQuerySpace=function(c){return this._parts.escapeQuerySpace=!!c,this},r})});function M(e,t,n,o){this.x=O(e,0),this.y=O(t,0),this.z=O(n,0),this.w=O(o,0)}M.fromElements=function(e,t,n,o,i){return p(i)?(i.x=e,i.y=t,i.z=n,i.w=o,i):new M(e,t,n,o)};M.fromColor=function(e,t){return s.typeOf.object("color",e),p(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new M(e.red,e.green,e.blue,e.alpha)};M.clone=function(e,t){if(p(e))return p(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new M(e.x,e.y,e.z,e.w)};M.packedLength=4;M.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};M.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new M),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};M.packArray=function(e,t){s.defined("array",e);let n=e.length,o=n*4;if(!p(t))t=new Array(o);else{if(!Array.isArray(t)&&t.length!==o)throw new A("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==o&&(t.length=o)}for(let i=0;i<n;++i)M.pack(e[i],t,i*4);return t};M.unpackArray=function(e,t){if(s.defined("array",e),s.typeOf.number.greaterThanOrEquals("array.length",e.length,4),e.length%4!==0)throw new A("array length must be a multiple of 4.");let n=e.length;p(t)?t.length=n/4:t=new Array(n/4);for(let o=0;o<n;o+=4){let i=o/4;t[i]=M.unpack(e,o,t[i])}return t};M.fromArray=M.unpack;M.maximumComponent=function(e){return s.typeOf.object("cartesian",e),Math.max(e.x,e.y,e.z,e.w)};M.minimumComponent=function(e){return s.typeOf.object("cartesian",e),Math.min(e.x,e.y,e.z,e.w)};M.minimumByComponent=function(e,t,n){return s.typeOf.object("first",e),s.typeOf.object("second",t),s.typeOf.object("result",n),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n};M.maximumByComponent=function(e,t,n){return s.typeOf.object("first",e),s.typeOf.object("second",t),s.typeOf.object("result",n),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n};M.clamp=function(e,t,n,o){s.typeOf.object("value",e),s.typeOf.object("min",t),s.typeOf.object("max",n),s.typeOf.object("result",o);let i=E.clamp(e.x,t.x,n.x),r=E.clamp(e.y,t.y,n.y),a=E.clamp(e.z,t.z,n.z),u=E.clamp(e.w,t.w,n.w);return o.x=i,o.y=r,o.z=a,o.w=u,o};M.magnitudeSquared=function(e){return s.typeOf.object("cartesian",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};M.magnitude=function(e){return Math.sqrt(M.magnitudeSquared(e))};var Et=new M;M.distance=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),M.subtract(e,t,Et),M.magnitude(Et)};M.distanceSquared=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),M.subtract(e,t,Et),M.magnitudeSquared(Et)};M.normalize=function(e,t){s.typeOf.object("cartesian",e),s.typeOf.object("result",t);let n=M.magnitude(e);if(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,isNaN(t.x)||isNaN(t.y)||isNaN(t.z)||isNaN(t.w))throw new A("normalized result is not a number");return t};M.dot=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};M.multiplyComponents=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n};M.divideComponents=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n};M.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};M.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};M.multiplyByScalar=function(e,t,n){return s.typeOf.object("cartesian",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};M.divideByScalar=function(e,t,n){return s.typeOf.object("cartesian",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};M.negate=function(e,t){return s.typeOf.object("cartesian",e),s.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};M.abs=function(e,t){return s.typeOf.object("cartesian",e),s.typeOf.object("result",t),t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var Tn=new M;M.lerp=function(e,t,n,o){return s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o),M.multiplyByScalar(t,n,Tn),o=M.multiplyByScalar(e,1-n,o),M.add(Tn,o,o)};var No=new M;M.mostOrthogonalAxis=function(e,t){s.typeOf.object("cartesian",e),s.typeOf.object("result",t);let n=M.normalize(e,No);return M.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=M.clone(M.UNIT_X,t):t=M.clone(M.UNIT_W,t):n.z<=n.w?t=M.clone(M.UNIT_Z,t):t=M.clone(M.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=M.clone(M.UNIT_Y,t):t=M.clone(M.UNIT_W,t):n.z<=n.w?t=M.clone(M.UNIT_Z,t):t=M.clone(M.UNIT_W,t),t};M.equals=function(e,t){return e===t||p(e)&&p(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};M.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};M.equalsEpsilon=function(e,t,n,o){return e===t||p(e)&&p(t)&&E.equalsEpsilon(e.x,t.x,n,o)&&E.equalsEpsilon(e.y,t.y,n,o)&&E.equalsEpsilon(e.z,t.z,n,o)&&E.equalsEpsilon(e.w,t.w,n,o)};M.ZERO=Object.freeze(new M(0,0,0,0));M.ONE=Object.freeze(new M(1,1,1,1));M.UNIT_X=Object.freeze(new M(1,0,0,0));M.UNIT_Y=Object.freeze(new M(0,1,0,0));M.UNIT_Z=Object.freeze(new M(0,0,1,0));M.UNIT_W=Object.freeze(new M(0,0,0,1));M.prototype.clone=function(e){return M.clone(this,e)};M.prototype.equals=function(e){return M.equals(this,e)};M.prototype.equalsEpsilon=function(e,t,n){return M.equalsEpsilon(this,e,t,n)};M.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Jt=new Float32Array(1),le=new Uint8Array(Jt.buffer),ko=new Uint32Array([287454020]),Fo=new Uint8Array(ko.buffer),vn=Fo[0]===68;M.packFloat=function(e,t){return s.typeOf.number("value",e),p(t)||(t=new M),Jt[0]=e,vn?(t.x=le[0],t.y=le[1],t.z=le[2],t.w=le[3]):(t.x=le[3],t.y=le[2],t.z=le[1],t.w=le[0]),t};M.unpackFloat=function(e){return s.typeOf.object("packedFloat",e),vn?(le[0]=e.x,le[1]=e.y,le[2]=e.z,le[3]=e.w):(le[0]=e.w,le[1]=e.z,le[2]=e.y,le[3]=e.x),Jt[0]};var qe=M;function S(e,t,n,o,i,r,a,u,d,m,l,w,T,v,P,j){this[0]=O(e,0),this[1]=O(i,0),this[2]=O(d,0),this[3]=O(T,0),this[4]=O(t,0),this[5]=O(r,0),this[6]=O(m,0),this[7]=O(v,0),this[8]=O(n,0),this[9]=O(a,0),this[10]=O(l,0),this[11]=O(P,0),this[12]=O(o,0),this[13]=O(u,0),this[14]=O(w,0),this[15]=O(j,0)}S.packedLength=16;S.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};S.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new S),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};S.packArray=function(e,t){s.defined("array",e);let n=e.length,o=n*16;if(!p(t))t=new Array(o);else{if(!Array.isArray(t)&&t.length!==o)throw new A("If result is a typed array, it must have exactly array.length * 16 elements");t.length!==o&&(t.length=o)}for(let i=0;i<n;++i)S.pack(e[i],t,i*16);return t};S.unpackArray=function(e,t){if(s.defined("array",e),s.typeOf.number.greaterThanOrEquals("array.length",e.length,16),e.length%16!==0)throw new A("array length must be a multiple of 16.");let n=e.length;p(t)?t.length=n/16:t=new Array(n/16);for(let o=0;o<n;o+=16){let i=o/16;t[i]=S.unpack(e,o,t[i])}return t};S.clone=function(e,t){if(p(e))return p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new S(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])};S.fromArray=S.unpack;S.fromColumnMajorArray=function(e,t){return s.defined("values",e),S.clone(e,t)};S.fromRowMajorArray=function(e,t){return s.defined("values",e),p(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new S(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])};S.fromRotationTranslation=function(e,t,n){return s.typeOf.object("rotation",e),t=O(t,_.ZERO),p(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new S(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)};S.fromTranslationQuaternionRotationScale=function(e,t,n,o){s.typeOf.object("translation",e),s.typeOf.object("rotation",t),s.typeOf.object("scale",n),p(o)||(o=new S);let i=n.x,r=n.y,a=n.z,u=t.x*t.x,d=t.x*t.y,m=t.x*t.z,l=t.x*t.w,w=t.y*t.y,T=t.y*t.z,v=t.y*t.w,P=t.z*t.z,j=t.z*t.w,q=t.w*t.w,k=u-w-P+q,x=2*(d-j),F=2*(m+v),B=2*(d+j),Q=-u+w-P+q,H=2*(T-l),ee=2*(m-v),re=2*(T+l),Z=-u-w+P+q;return o[0]=k*i,o[1]=B*i,o[2]=ee*i,o[3]=0,o[4]=x*r,o[5]=Q*r,o[6]=re*r,o[7]=0,o[8]=F*a,o[9]=H*a,o[10]=Z*a,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o};S.fromTranslationRotationScale=function(e,t){return s.typeOf.object("translationRotationScale",e),S.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};S.fromTranslation=function(e,t){return s.typeOf.object("translation",e),S.fromRotationTranslation(W.IDENTITY,e,t)};S.fromScale=function(e,t){return s.typeOf.object("scale",e),p(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new S(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};S.fromUniformScale=function(e,t){return s.typeOf.number("scale",e),p(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new S(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};S.fromRotation=function(e,t){return s.typeOf.object("rotation",e),p(t)||(t=new S),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var Je=new _,Ge=new _,ut=new _;S.fromCamera=function(e,t){s.typeOf.object("camera",e);let n=e.position,o=e.direction,i=e.up;s.typeOf.object("camera.position",n),s.typeOf.object("camera.direction",o),s.typeOf.object("camera.up",i),_.normalize(o,Je),_.normalize(_.cross(Je,i,Ge),Ge),_.normalize(_.cross(Ge,Je,ut),ut);let r=Ge.x,a=Ge.y,u=Ge.z,d=Je.x,m=Je.y,l=Je.z,w=ut.x,T=ut.y,v=ut.z,P=n.x,j=n.y,q=n.z,k=r*-P+a*-j+u*-q,x=w*-P+T*-j+v*-q,F=d*P+m*j+l*q;return p(t)?(t[0]=r,t[1]=w,t[2]=-d,t[3]=0,t[4]=a,t[5]=T,t[6]=-m,t[7]=0,t[8]=u,t[9]=v,t[10]=-l,t[11]=0,t[12]=k,t[13]=x,t[14]=F,t[15]=1,t):new S(r,a,u,k,w,T,v,x,-d,-m,-l,F,0,0,0,1)};S.computePerspectiveFieldOfView=function(e,t,n,o,i){s.typeOf.number.greaterThan("fovY",e,0),s.typeOf.number.lessThan("fovY",e,Math.PI),s.typeOf.number.greaterThan("near",n,0),s.typeOf.number.greaterThan("far",o,0),s.typeOf.object("result",i);let a=1/Math.tan(e*.5),u=a/t,d=(o+n)/(n-o),m=2*o*n/(n-o);return i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=a,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=-1,i[12]=0,i[13]=0,i[14]=m,i[15]=0,i};S.computeOrthographicOffCenter=function(e,t,n,o,i,r,a){s.typeOf.number("left",e),s.typeOf.number("right",t),s.typeOf.number("bottom",n),s.typeOf.number("top",o),s.typeOf.number("near",i),s.typeOf.number("far",r),s.typeOf.object("result",a);let u=1/(t-e),d=1/(o-n),m=1/(r-i),l=-(t+e)*u,w=-(o+n)*d,T=-(r+i)*m;return u*=2,d*=2,m*=-2,a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=d,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=m,a[11]=0,a[12]=l,a[13]=w,a[14]=T,a[15]=1,a};S.computePerspectiveOffCenter=function(e,t,n,o,i,r,a){s.typeOf.number("left",e),s.typeOf.number("right",t),s.typeOf.number("bottom",n),s.typeOf.number("top",o),s.typeOf.number("near",i),s.typeOf.number("far",r),s.typeOf.object("result",a);let u=2*i/(t-e),d=2*i/(o-n),m=(t+e)/(t-e),l=(o+n)/(o-n),w=-(r+i)/(r-i),T=-1,v=-2*r*i/(r-i);return a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=d,a[6]=0,a[7]=0,a[8]=m,a[9]=l,a[10]=w,a[11]=T,a[12]=0,a[13]=0,a[14]=v,a[15]=0,a};S.computeInfinitePerspectiveOffCenter=function(e,t,n,o,i,r){s.typeOf.number("left",e),s.typeOf.number("right",t),s.typeOf.number("bottom",n),s.typeOf.number("top",o),s.typeOf.number("near",i),s.typeOf.object("result",r);let a=2*i/(t-e),u=2*i/(o-n),d=(t+e)/(t-e),m=(o+n)/(o-n),l=-1,w=-1,T=-2*i;return r[0]=a,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=u,r[6]=0,r[7]=0,r[8]=d,r[9]=m,r[10]=l,r[11]=w,r[12]=0,r[13]=0,r[14]=T,r[15]=0,r};S.computeViewportTransformation=function(e,t,n,o){p(o)||(o=new S),e=O(e,O.EMPTY_OBJECT);let i=O(e.x,0),r=O(e.y,0),a=O(e.width,0),u=O(e.height,0);t=O(t,0),n=O(n,1);let d=a*.5,m=u*.5,l=(n-t)*.5,w=d,T=m,v=l,P=i+d,j=r+m,q=t+l,k=1;return o[0]=w,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=T,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=v,o[11]=0,o[12]=P,o[13]=j,o[14]=q,o[15]=k,o};S.computeView=function(e,t,n,o,i){return s.typeOf.object("position",e),s.typeOf.object("direction",t),s.typeOf.object("up",n),s.typeOf.object("right",o),s.typeOf.object("result",i),i[0]=o.x,i[1]=n.x,i[2]=-t.x,i[3]=0,i[4]=o.y,i[5]=n.y,i[6]=-t.y,i[7]=0,i[8]=o.z,i[9]=n.z,i[10]=-t.z,i[11]=0,i[12]=-_.dot(o,e),i[13]=-_.dot(n,e),i[14]=_.dot(t,e),i[15]=1,i};S.toArray=function(e,t){return s.typeOf.object("matrix",e),p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]};S.getElementIndex=function(e,t){return s.typeOf.number.greaterThanOrEquals("row",t,0),s.typeOf.number.lessThanOrEquals("row",t,3),s.typeOf.number.greaterThanOrEquals("column",e,0),s.typeOf.number.lessThanOrEquals("column",e,3),e*4+t};S.getColumn=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("result",n);let o=t*4,i=e[o],r=e[o+1],a=e[o+2],u=e[o+3];return n.x=i,n.y=r,n.z=a,n.w=u,n};S.setColumn=function(e,t,n,o){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=S.clone(e,o);let i=t*4;return o[i]=n.x,o[i+1]=n.y,o[i+2]=n.z,o[i+3]=n.w,o};S.getRow=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("result",n);let o=e[t],i=e[t+4],r=e[t+8],a=e[t+12];return n.x=o,n.y=i,n.z=r,n.w=a,n};S.setRow=function(e,t,n,o){return s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=S.clone(e,o),o[t]=n.x,o[t+4]=n.y,o[t+8]=n.z,o[t+12]=n.w,o};S.setTranslation=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.object("translation",t),s.typeOf.object("result",n),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var xo=new _;S.setScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n);let o=S.getScale(e,xo),i=t.x/o.x,r=t.y/o.y,a=t.z/o.z;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*a,n[9]=e[9]*a,n[10]=e[10]*a,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var Lo=new _;S.setUniformScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n);let o=S.getScale(e,Lo),i=t/o.x,r=t/o.y,a=t/o.z;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*a,n[9]=e[9]*a,n[10]=e[10]*a,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var Gt=new _;S.getScale=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t.x=_.magnitude(_.fromElements(e[0],e[1],e[2],Gt)),t.y=_.magnitude(_.fromElements(e[4],e[5],e[6],Gt)),t.z=_.magnitude(_.fromElements(e[8],e[9],e[10],Gt)),t};var Cn=new _;S.getMaximumScale=function(e){return S.getScale(e,Cn),_.maximumComponent(Cn)};var Bo=new _;S.setRotation=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("result",n);let o=S.getScale(e,Bo);return n[0]=t[0]*o.x,n[1]=t[1]*o.x,n[2]=t[2]*o.x,n[3]=e[3],n[4]=t[3]*o.y,n[5]=t[4]*o.y,n[6]=t[5]*o.y,n[7]=e[7],n[8]=t[6]*o.z,n[9]=t[7]*o.z,n[10]=t[8]*o.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var Wo=new _;S.getRotation=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=S.getScale(e,Wo);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};S.multiply=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e[0],i=e[1],r=e[2],a=e[3],u=e[4],d=e[5],m=e[6],l=e[7],w=e[8],T=e[9],v=e[10],P=e[11],j=e[12],q=e[13],k=e[14],x=e[15],F=t[0],B=t[1],Q=t[2],H=t[3],ee=t[4],re=t[5],Z=t[6],oe=t[7],J=t[8],c=t[9],f=t[10],h=t[11],y=t[12],g=t[13],C=t[14],b=t[15],z=o*F+u*B+w*Q+j*H,N=i*F+d*B+T*Q+q*H,Y=r*F+m*B+v*Q+k*H,ie=a*F+l*B+P*Q+x*H,ae=o*ee+u*re+w*Z+j*oe,te=i*ee+d*re+T*Z+q*oe,ue=r*ee+m*re+v*Z+k*oe,de=a*ee+l*re+P*Z+x*oe,ye=o*J+u*c+w*f+j*h,me=i*J+d*c+T*f+q*h,he=r*J+m*c+v*f+k*h,X=a*J+l*c+P*f+x*h,_e=o*y+u*g+w*C+j*b,Te=i*y+d*g+T*C+q*b,je=r*y+m*g+v*C+k*b,at=a*y+l*g+P*C+x*b;return n[0]=z,n[1]=N,n[2]=Y,n[3]=ie,n[4]=ae,n[5]=te,n[6]=ue,n[7]=de,n[8]=ye,n[9]=me,n[10]=he,n[11]=X,n[12]=_e,n[13]=Te,n[14]=je,n[15]=at,n};S.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};S.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};S.multiplyTransformation=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e[0],i=e[1],r=e[2],a=e[4],u=e[5],d=e[6],m=e[8],l=e[9],w=e[10],T=e[12],v=e[13],P=e[14],j=t[0],q=t[1],k=t[2],x=t[4],F=t[5],B=t[6],Q=t[8],H=t[9],ee=t[10],re=t[12],Z=t[13],oe=t[14],J=o*j+a*q+m*k,c=i*j+u*q+l*k,f=r*j+d*q+w*k,h=o*x+a*F+m*B,y=i*x+u*F+l*B,g=r*x+d*F+w*B,C=o*Q+a*H+m*ee,b=i*Q+u*H+l*ee,z=r*Q+d*H+w*ee,N=o*re+a*Z+m*oe+T,Y=i*re+u*Z+l*oe+v,ie=r*re+d*Z+w*oe+P;return n[0]=J,n[1]=c,n[2]=f,n[3]=0,n[4]=h,n[5]=y,n[6]=g,n[7]=0,n[8]=C,n[9]=b,n[10]=z,n[11]=0,n[12]=N,n[13]=Y,n[14]=ie,n[15]=1,n};S.multiplyByMatrix3=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("rotation",t),s.typeOf.object("result",n);let o=e[0],i=e[1],r=e[2],a=e[4],u=e[5],d=e[6],m=e[8],l=e[9],w=e[10],T=t[0],v=t[1],P=t[2],j=t[3],q=t[4],k=t[5],x=t[6],F=t[7],B=t[8],Q=o*T+a*v+m*P,H=i*T+u*v+l*P,ee=r*T+d*v+w*P,re=o*j+a*q+m*k,Z=i*j+u*q+l*k,oe=r*j+d*q+w*k,J=o*x+a*F+m*B,c=i*x+u*F+l*B,f=r*x+d*F+w*B;return n[0]=Q,n[1]=H,n[2]=ee,n[3]=0,n[4]=re,n[5]=Z,n[6]=oe,n[7]=0,n[8]=J,n[9]=c,n[10]=f,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};S.multiplyByTranslation=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("translation",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=o*e[0]+i*e[4]+r*e[8]+e[12],u=o*e[1]+i*e[5]+r*e[9]+e[13],d=o*e[2]+i*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=a,n[13]=u,n[14]=d,n[15]=e[15],n};S.multiplyByScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z;return o===1&&i===1&&r===1?S.clone(e,n):(n[0]=o*e[0],n[1]=o*e[1],n[2]=o*e[2],n[3]=e[3],n[4]=i*e[4],n[5]=i*e[5],n[6]=i*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};S.multiplyByUniformScale=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};S.multiplyByVector=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=t.w,u=e[0]*o+e[4]*i+e[8]*r+e[12]*a,d=e[1]*o+e[5]*i+e[9]*r+e[13]*a,m=e[2]*o+e[6]*i+e[10]*r+e[14]*a,l=e[3]*o+e[7]*i+e[11]*r+e[15]*a;return n.x=u,n.y=d,n.z=m,n.w=l,n};S.multiplyByPointAsVector=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=e[0]*o+e[4]*i+e[8]*r,u=e[1]*o+e[5]*i+e[9]*r,d=e[2]*o+e[6]*i+e[10]*r;return n.x=a,n.y=u,n.z=d,n};S.multiplyByPoint=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=e[0]*o+e[4]*i+e[8]*r+e[12],u=e[1]*o+e[5]*i+e[9]*r+e[13],d=e[2]*o+e[6]*i+e[10]*r+e[14];return n.x=a,n.y=u,n.z=d,n};S.multiplyByScalar=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n};S.negate=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t};S.transpose=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[1],o=e[2],i=e[3],r=e[6],a=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=o,t[9]=r,t[10]=e[10],t[11]=e[14],t[12]=i,t[13]=a,t[14]=u,t[15]=e[15],t};S.abs=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t};S.equals=function(e,t){return e===t||p(e)&&p(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};S.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n};S.getTranslation=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t.x=e[12],t.y=e[13],t.z=e[14],t};S.getMatrix3=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var Qo=new W,Ho=new W,$o=new qe,Vo=new qe(0,0,0,1);S.inverse=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[0],o=e[4],i=e[8],r=e[12],a=e[1],u=e[5],d=e[9],m=e[13],l=e[2],w=e[6],T=e[10],v=e[14],P=e[3],j=e[7],q=e[11],k=e[15],x=T*k,F=v*q,B=w*k,Q=v*j,H=w*q,ee=T*j,re=l*k,Z=v*P,oe=l*q,J=T*P,c=l*j,f=w*P,h=x*u+Q*d+H*m-(F*u+B*d+ee*m),y=F*a+re*d+J*m-(x*a+Z*d+oe*m),g=B*a+Z*u+c*m-(Q*a+re*u+f*m),C=ee*a+oe*u+f*d-(H*a+J*u+c*d),b=F*o+B*i+ee*r-(x*o+Q*i+H*r),z=x*n+Z*i+oe*r-(F*n+re*i+J*r),N=Q*n+re*o+f*r-(B*n+Z*o+c*r),Y=H*n+J*o+c*i-(ee*n+oe*o+f*i);x=i*m,F=r*d,B=o*m,Q=r*u,H=o*d,ee=i*u,re=n*m,Z=r*a,oe=n*d,J=i*a,c=n*u,f=o*a;let ie=x*j+Q*q+H*k-(F*j+B*q+ee*k),ae=F*P+re*q+J*k-(x*P+Z*q+oe*k),te=B*P+Z*j+c*k-(Q*P+re*j+f*k),ue=ee*P+oe*j+f*q-(H*P+J*j+c*q),de=B*T+ee*v+F*w-(H*v+x*w+Q*T),ye=oe*v+x*l+Z*T-(re*T+J*v+F*l),me=re*w+f*v+Q*l-(c*v+B*l+Z*w),he=c*T+H*l+J*w-(oe*w+f*T+ee*l),X=n*h+o*y+i*g+r*C;if(Math.abs(X)<E.EPSILON21){if(W.equalsEpsilon(S.getMatrix3(e,Qo),Ho,E.EPSILON7)&&qe.equals(S.getRow(e,3,$o),Vo))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new Se("matrix is not invertible because its determinate is zero.")}return X=1/X,t[0]=h*X,t[1]=y*X,t[2]=g*X,t[3]=C*X,t[4]=b*X,t[5]=z*X,t[6]=N*X,t[7]=Y*X,t[8]=ie*X,t[9]=ae*X,t[10]=te*X,t[11]=ue*X,t[12]=de*X,t[13]=ye*X,t[14]=me*X,t[15]=he*X,t};S.inverseTransformation=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[0],o=e[1],i=e[2],r=e[4],a=e[5],u=e[6],d=e[8],m=e[9],l=e[10],w=e[12],T=e[13],v=e[14],P=-n*w-o*T-i*v,j=-r*w-a*T-u*v,q=-d*w-m*T-l*v;return t[0]=n,t[1]=r,t[2]=d,t[3]=0,t[4]=o,t[5]=a,t[6]=m,t[7]=0,t[8]=i,t[9]=u,t[10]=l,t[11]=0,t[12]=P,t[13]=j,t[14]=q,t[15]=1,t};var Yo=new S;S.inverseTranspose=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),S.inverse(S.transpose(e,Yo),t)};S.IDENTITY=Object.freeze(new S(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));S.ZERO=Object.freeze(new S(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));S.COLUMN0ROW0=0;S.COLUMN0ROW1=1;S.COLUMN0ROW2=2;S.COLUMN0ROW3=3;S.COLUMN1ROW0=4;S.COLUMN1ROW1=5;S.COLUMN1ROW2=6;S.COLUMN1ROW3=7;S.COLUMN2ROW0=8;S.COLUMN2ROW1=9;S.COLUMN2ROW2=10;S.COLUMN2ROW3=11;S.COLUMN3ROW0=12;S.COLUMN3ROW1=13;S.COLUMN3ROW2=14;S.COLUMN3ROW3=15;Object.defineProperties(S.prototype,{length:{get:function(){return S.packedLength}}});S.prototype.clone=function(e){return S.clone(this,e)};S.prototype.equals=function(e){return S.equals(this,e)};S.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};S.prototype.equalsEpsilon=function(e,t){return S.equalsEpsilon(this,e,t)};S.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]}) + */(function(e,t){"use strict";typeof Pt=="object"&&Pt.exports?Pt.exports=t(Pn(),zn(),qn()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(Dn,function(e,t,n,o){"use strict";var i=o&&o.URI;function r(c,f){var h=arguments.length>=1,y=arguments.length>=2;if(!(this instanceof r))return h?y?new r(c,f):new r(c):new r;if(c===void 0){if(h)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?c=location.href+"":c=""}if(c===null&&h)throw new TypeError("null is not a valid argument for URI");return this.href(c),f!==void 0?this.absoluteTo(f):this}function a(c){return/^[0-9]+$/.test(c)}r.version="1.19.11";var u=r.prototype,d=Object.prototype.hasOwnProperty;function m(c){return c.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function l(c){return c===void 0?"Undefined":String(Object.prototype.toString.call(c)).slice(8,-1)}function w(c){return l(c)==="Array"}function T(c,f){var h={},y,g;if(l(f)==="RegExp")h=null;else if(w(f))for(y=0,g=f.length;y<g;y++)h[f[y]]=!0;else h[f]=!0;for(y=0,g=c.length;y<g;y++){var v=h&&h[c[y]]!==void 0||!h&&f.test(c[y]);v&&(c.splice(y,1),g--,y--)}return c}function C(c,f){var h,y;if(w(f)){for(h=0,y=f.length;h<y;h++)if(!C(c,f[h]))return!1;return!0}var g=l(f);for(h=0,y=c.length;h<y;h++)if(g==="RegExp"){if(typeof c[h]=="string"&&c[h].match(f))return!0}else if(c[h]===f)return!0;return!1}function P(c,f){if(!w(c)||!w(f)||c.length!==f.length)return!1;c.sort(),f.sort();for(var h=0,y=c.length;h<y;h++)if(c[h]!==f[h])return!1;return!0}function A(c){var f=/^\/+|\/+$/g;return c.replace(f,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(c){if(!(!c||!c.nodeName)){var f=c.nodeName.toLowerCase();if(!(f==="input"&&c.type!=="image"))return r.domAttributes[f]}};function q(c){return escape(c)}function k(c){return encodeURIComponent(c).replace(/[!'()*]/g,q).replace(/\*/g,"%2A")}r.encode=k,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=k,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(c,f){var h=r.encode(c+"");return f===void 0&&(f=r.escapeQuerySpace),f?h.replace(/%20/g,"+"):h},r.decodeQuery=function(c,f){c+="",f===void 0&&(f=r.escapeQuerySpace);try{return r.decode(f?c.replace(/\+/g,"%20"):c)}catch{return c}};var L={encode:"encode",decode:"decode"},F,B=function(c,f){return function(h){try{return r[f](h+"").replace(r.characters[c][f].expression,function(y){return r.characters[c][f].map[y]})}catch{return h}}};for(F in L)r[F+"PathSegment"]=B("pathname",L[F]),r[F+"UrnPathSegment"]=B("urnpath",L[F]);var W=function(c,f,h){return function(y){var g;h?g=function(N){return r[f](r[h](N))}:g=r[f];for(var v=(y+"").split(c),b=0,I=v.length;b<I;b++)v[b]=g(v[b]);return v.join(c)}};r.decodePath=W("/","decodePathSegment"),r.decodeUrnPath=W(":","decodeUrnPathSegment"),r.recodePath=W("/","encodePathSegment","decode"),r.recodeUrnPath=W(":","encodeUrnPathSegment","decode"),r.encodeReserved=B("reserved","encode"),r.parse=function(c,f){var h;return f||(f={preventInvalidHostname:r.preventInvalidHostname}),c=c.replace(r.leading_whitespace_expression,""),c=c.replace(r.ascii_tab_whitespace,""),h=c.indexOf("#"),h>-1&&(f.fragment=c.substring(h+1)||null,c=c.substring(0,h)),h=c.indexOf("?"),h>-1&&(f.query=c.substring(h+1)||null,c=c.substring(0,h)),c=c.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),c=c.replace(/^[/\\]{2,}/i,"//"),c.substring(0,2)==="//"?(f.protocol=null,c=c.substring(2),c=r.parseAuthority(c,f)):(h=c.indexOf(":"),h>-1&&(f.protocol=c.substring(0,h)||null,f.protocol&&!f.protocol.match(r.protocol_expression)?f.protocol=void 0:c.substring(h+1,h+3).replace(/\\/g,"/")==="//"?(c=c.substring(h+3),c=r.parseAuthority(c,f)):(c=c.substring(h+1),f.urn=!0))),f.path=c,f},r.parseHost=function(c,f){c||(c=""),c=c.replace(/\\/g,"/");var h=c.indexOf("/"),y,g;if(h===-1&&(h=c.length),c.charAt(0)==="[")y=c.indexOf("]"),f.hostname=c.substring(1,y)||null,f.port=c.substring(y+2,h)||null,f.port==="/"&&(f.port=null);else{var v=c.indexOf(":"),b=c.indexOf("/"),I=c.indexOf(":",v+1);I!==-1&&(b===-1||I<b)?(f.hostname=c.substring(0,h)||null,f.port=null):(g=c.substring(0,h).split(":"),f.hostname=g[0]||null,f.port=g[1]||null)}return f.hostname&&c.substring(h).charAt(0)!=="/"&&(h++,c="/"+c),f.preventInvalidHostname&&r.ensureValidHostname(f.hostname,f.protocol),f.port&&r.ensureValidPort(f.port),c.substring(h)||"/"},r.parseAuthority=function(c,f){return c=r.parseUserinfo(c,f),r.parseHost(c,f)},r.parseUserinfo=function(c,f){var h=c,y=c.indexOf("\\");y!==-1&&(c=c.replace(/\\/g,"/"));var g=c.indexOf("/"),v=c.lastIndexOf("@",g>-1?g:c.length-1),b;return v>-1&&(g===-1||v<g)?(b=c.substring(0,v).split(":"),f.username=b[0]?r.decode(b[0]):null,b.shift(),f.password=b[0]?r.decode(b.join(":")):null,c=h.substring(v+1)):(f.username=null,f.password=null),c},r.parseQuery=function(c,f){if(!c)return{};if(c=c.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!c)return{};for(var h={},y=c.split("&"),g=y.length,v,b,I,N=0;N<g;N++)v=y[N].split("="),b=r.decodeQuery(v.shift(),f),I=v.length?r.decodeQuery(v.join("="),f):null,b!=="__proto__"&&(d.call(h,b)?((typeof h[b]=="string"||h[b]===null)&&(h[b]=[h[b]]),h[b].push(I)):h[b]=I);return h},r.build=function(c){var f="",h=!1;return c.protocol&&(f+=c.protocol+":"),!c.urn&&(f||c.hostname)&&(f+="//",h=!0),f+=r.buildAuthority(c)||"",typeof c.path=="string"&&(c.path.charAt(0)!=="/"&&h&&(f+="/"),f+=c.path),typeof c.query=="string"&&c.query&&(f+="?"+c.query),typeof c.fragment=="string"&&c.fragment&&(f+="#"+c.fragment),f},r.buildHost=function(c){var f="";if(c.hostname)r.ip6_expression.test(c.hostname)?f+="["+c.hostname+"]":f+=c.hostname;else return"";return c.port&&(f+=":"+c.port),f},r.buildAuthority=function(c){return r.buildUserinfo(c)+r.buildHost(c)},r.buildUserinfo=function(c){var f="";return c.username&&(f+=r.encode(c.username)),c.password&&(f+=":"+r.encode(c.password)),f&&(f+="@"),f},r.buildQuery=function(c,f,h){var y="",g,v,b,I;for(v in c)if(v!=="__proto__"&&d.call(c,v))if(w(c[v]))for(g={},b=0,I=c[v].length;b<I;b++)c[v][b]!==void 0&&g[c[v][b]+""]===void 0&&(y+="&"+r.buildQueryParameter(v,c[v][b],h),f!==!0&&(g[c[v][b]+""]=!0));else c[v]!==void 0&&(y+="&"+r.buildQueryParameter(v,c[v],h));return y.substring(1)},r.buildQueryParameter=function(c,f,h){return r.encodeQuery(c,h)+(f!==null?"="+r.encodeQuery(f,h):"")},r.addQuery=function(c,f,h){if(typeof f=="object")for(var y in f)d.call(f,y)&&r.addQuery(c,y,f[y]);else if(typeof f=="string"){if(c[f]===void 0){c[f]=h;return}else typeof c[f]=="string"&&(c[f]=[c[f]]);w(h)||(h=[h]),c[f]=(c[f]||[]).concat(h)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(c,f,h){if(typeof f=="object")for(var y in f)d.call(f,y)&&r.setQuery(c,y,f[y]);else if(typeof f=="string")c[f]=h===void 0?null:h;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(c,f,h){var y,g,v;if(w(f))for(y=0,g=f.length;y<g;y++)c[f[y]]=void 0;else if(l(f)==="RegExp")for(v in c)f.test(v)&&(c[v]=void 0);else if(typeof f=="object")for(v in f)d.call(f,v)&&r.removeQuery(c,v,f[v]);else if(typeof f=="string")h!==void 0?l(h)==="RegExp"?!w(c[f])&&h.test(c[f])?c[f]=void 0:c[f]=T(c[f],h):c[f]===String(h)&&(!w(h)||h.length===1)?c[f]=void 0:w(c[f])&&(c[f]=T(c[f],h)):c[f]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(c,f,h,y){switch(l(f)){case"String":break;case"RegExp":for(var g in c)if(d.call(c,g)&&f.test(g)&&(h===void 0||r.hasQuery(c,g,h)))return!0;return!1;case"Object":for(var v in f)if(d.call(f,v)&&!r.hasQuery(c,v,f[v]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(l(h)){case"Undefined":return f in c;case"Boolean":var b=!!(w(c[f])?c[f].length:c[f]);return h===b;case"Function":return!!h(c[f],f,c);case"Array":if(!w(c[f]))return!1;var I=y?C:P;return I(c[f],h);case"RegExp":return w(c[f])?y?C(c[f],h):!1:!!(c[f]&&c[f].match(h));case"Number":h=String(h);case"String":return w(c[f])?y?C(c[f],h):!1:c[f]===h;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var c=[],f=[],h=0,y=0;y<arguments.length;y++){var g=new r(arguments[y]);c.push(g);for(var v=g.segment(),b=0;b<v.length;b++)typeof v[b]=="string"&&f.push(v[b]),v[b]&&h++}if(!f.length||!h)return new r("");var I=new r("").segment(f);return(c[0].path()===""||c[0].path().slice(0,1)==="/")&&I.path("/"+I.path()),I.normalize()},r.commonPath=function(c,f){var h=Math.min(c.length,f.length),y;for(y=0;y<h;y++)if(c.charAt(y)!==f.charAt(y)){y--;break}return y<1?c.charAt(0)===f.charAt(0)&&c.charAt(0)==="/"?"/":"":((c.charAt(y)!=="/"||f.charAt(y)!=="/")&&(y=c.substring(0,y).lastIndexOf("/")),c.substring(0,y+1))},r.withinString=function(c,f,h){h||(h={});var y=h.start||r.findUri.start,g=h.end||r.findUri.end,v=h.trim||r.findUri.trim,b=h.parens||r.findUri.parens,I=/[a-z0-9-]=["']?$/i;for(y.lastIndex=0;;){var N=y.exec(c);if(!N)break;var Y=N.index;if(h.ignoreHtml){var ie=c.slice(Math.max(Y-3,0),Y);if(ie&&I.test(ie))continue}for(var ae=Y+c.slice(Y).search(g),te=c.slice(Y,ae),ue=-1;;){var de=b.exec(te);if(!de)break;var ye=de.index+de[0].length;ue=Math.max(ue,ye)}if(ue>-1?te=te.slice(0,ue)+te.slice(ue).replace(v,""):te=te.replace(v,""),!(te.length<=N[0].length)&&!(h.ignore&&h.ignore.test(te))){ae=Y+te.length;var me=f(te,Y,ae,c);if(me===void 0){y.lastIndex=ae;continue}me=String(me),c=c.slice(0,Y)+me+c.slice(ae),y.lastIndex=Y+me.length}}return y.lastIndex=0,c},r.ensureValidHostname=function(c,f){var h=!!c,y=!!f,g=!1;if(y&&(g=C(r.hostProtocols,f)),g&&!h)throw new TypeError("Hostname cannot be empty, if protocol is "+f);if(c&&c.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(c).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(c){if(c){var f=Number(c);if(!(a(f)&&f>0&&f<65536))throw new TypeError('Port "'+c+'" is not a valid port')}},r.noConflict=function(c){if(c){var f={URI:this.noConflict()};return o.URITemplate&&typeof o.URITemplate.noConflict=="function"&&(f.URITemplate=o.URITemplate.noConflict()),o.IPv6&&typeof o.IPv6.noConflict=="function"&&(f.IPv6=o.IPv6.noConflict()),o.SecondLevelDomains&&typeof o.SecondLevelDomains.noConflict=="function"&&(f.SecondLevelDomains=o.SecondLevelDomains.noConflict()),f}else o.URI===this&&(o.URI=i);return this},u.build=function(c){return c===!0?this._deferred_build=!0:(c===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},u.clone=function(){return new r(this)},u.valueOf=u.toString=function(){return this.build(!1)._string};function H(c){return function(f,h){return f===void 0?this._parts[c]||"":(this._parts[c]=f||null,this.build(!h),this)}}function ee(c,f){return function(h,y){return h===void 0?this._parts[c]||"":(h!==null&&(h=h+"",h.charAt(0)===f&&(h=h.substring(1))),this._parts[c]=h,this.build(!y),this)}}u.protocol=H("protocol"),u.username=H("username"),u.password=H("password"),u.hostname=H("hostname"),u.port=H("port"),u.query=ee("query","?"),u.fragment=ee("fragment","#"),u.search=function(c,f){var h=this.query(c,f);return typeof h=="string"&&h.length?"?"+h:h},u.hash=function(c,f){var h=this.fragment(c,f);return typeof h=="string"&&h.length?"#"+h:h},u.pathname=function(c,f){if(c===void 0||c===!0){var h=this._parts.path||(this._parts.hostname?"/":"");return c?(this._parts.urn?r.decodeUrnPath:r.decodePath)(h):h}else return this._parts.urn?this._parts.path=c?r.recodeUrnPath(c):"":this._parts.path=c?r.recodePath(c):"/",this.build(!f),this},u.path=u.pathname,u.href=function(c,f){var h;if(c===void 0)return this.toString();this._string="",this._parts=r._parts();var y=c instanceof r,g=typeof c=="object"&&(c.hostname||c.path||c.pathname);if(c.nodeName){var v=r.getDomAttribute(c);c=c[v]||"",g=!1}if(!y&&g&&c.pathname!==void 0&&(c=c.toString()),typeof c=="string"||c instanceof String)this._parts=r.parse(String(c),this._parts);else if(y||g){var b=y?c._parts:c;for(h in b)h!=="query"&&d.call(this._parts,h)&&(this._parts[h]=b[h]);b.query&&this.query(b.query,!1)}else throw new TypeError("invalid input");return this.build(!f),this},u.is=function(c){var f=!1,h=!1,y=!1,g=!1,v=!1,b=!1,I=!1,N=!this._parts.urn;switch(this._parts.hostname&&(N=!1,h=r.ip4_expression.test(this._parts.hostname),y=r.ip6_expression.test(this._parts.hostname),f=h||y,g=!f,v=g&&n&&n.has(this._parts.hostname),b=g&&r.idn_expression.test(this._parts.hostname),I=g&&r.punycode_expression.test(this._parts.hostname)),c.toLowerCase()){case"relative":return N;case"absolute":return!N;case"domain":case"name":return g;case"sld":return v;case"ip":return f;case"ip4":case"ipv4":case"inet4":return h;case"ip6":case"ipv6":case"inet6":return y;case"idn":return b;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return I}return null};var re=u.protocol,Z=u.port,oe=u.hostname;u.protocol=function(c,f){if(c&&(c=c.replace(/:(\/\/)?$/,""),!c.match(r.protocol_expression)))throw new TypeError('Protocol "'+c+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return re.call(this,c,f)},u.scheme=u.protocol,u.port=function(c,f){return this._parts.urn?c===void 0?"":this:(c!==void 0&&(c===0&&(c=null),c&&(c+="",c.charAt(0)===":"&&(c=c.substring(1)),r.ensureValidPort(c))),Z.call(this,c,f))},u.hostname=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c!==void 0){var h={preventInvalidHostname:this._parts.preventInvalidHostname},y=r.parseHost(c,h);if(y!=="/")throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-]');c=h.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(c,this._parts.protocol)}return oe.call(this,c,f)},u.origin=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0){var h=this.protocol(),y=this.authority();return y?(h?h+"://":"")+this.authority():""}else{var g=r(c);return this.protocol(g.protocol()).authority(g.authority()).build(!f),this}},u.host=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var h=r.parseHost(c,this._parts);if(h!=="/")throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-]');return this.build(!f),this},u.authority=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var h=r.parseAuthority(c,this._parts);if(h!=="/")throw new TypeError('Hostname "'+c+'" contains characters other than [A-Z0-9.-]');return this.build(!f),this},u.userinfo=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0){var h=r.buildUserinfo(this._parts);return h&&h.substring(0,h.length-1)}else return c[c.length-1]!=="@"&&(c+="@"),r.parseUserinfo(c,this._parts),this.build(!f),this},u.resource=function(c,f){var h;return c===void 0?this.path()+this.search()+this.hash():(h=r.parse(c),this._parts.path=h.path,this._parts.query=h.query,this._parts.fragment=h.fragment,this.build(!f),this)},u.subdomain=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0){if(!this._parts.hostname||this.is("IP"))return"";var h=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,h)||""}else{var y=this._parts.hostname.length-this.domain().length,g=this._parts.hostname.substring(0,y),v=new RegExp("^"+m(g));if(c&&c.charAt(c.length-1)!=="."&&(c+="."),c.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return c&&r.ensureValidHostname(c,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(v,c),this.build(!f),this}},u.domain=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(typeof c=="boolean"&&(f=c,c=void 0),c===void 0){if(!this._parts.hostname||this.is("IP"))return"";var h=this._parts.hostname.match(/\./g);if(h&&h.length<2)return this._parts.hostname;var y=this._parts.hostname.length-this.tld(f).length-1;return y=this._parts.hostname.lastIndexOf(".",y-1)+1,this._parts.hostname.substring(y)||""}else{if(!c)throw new TypeError("cannot set domain empty");if(c.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(c,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=c;else{var g=new RegExp(m(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(g,c)}return this.build(!f),this}},u.tld=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(typeof c=="boolean"&&(f=c,c=void 0),c===void 0){if(!this._parts.hostname||this.is("IP"))return"";var h=this._parts.hostname.lastIndexOf("."),y=this._parts.hostname.substring(h+1);return f!==!0&&n&&n.list[y.toLowerCase()]&&n.get(this._parts.hostname)||y}else{var g;if(c)if(c.match(/[^a-zA-Z0-9-]/))if(n&&n.is(c))g=new RegExp(m(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(g,c);else throw new TypeError('TLD "'+c+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");g=new RegExp(m(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(g,c)}else throw new TypeError("cannot set TLD empty");return this.build(!f),this}},u.directory=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0||c===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var h=this._parts.path.length-this.filename().length-1,y=this._parts.path.substring(0,h)||(this._parts.hostname?"/":"");return c?r.decodePath(y):y}else{var g=this._parts.path.length-this.filename().length,v=this._parts.path.substring(0,g),b=new RegExp("^"+m(v));return this.is("relative")||(c||(c="/"),c.charAt(0)!=="/"&&(c="/"+c)),c&&c.charAt(c.length-1)!=="/"&&(c+="/"),c=r.recodePath(c),this._parts.path=this._parts.path.replace(b,c),this.build(!f),this}},u.filename=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(typeof c!="string"){if(!this._parts.path||this._parts.path==="/")return"";var h=this._parts.path.lastIndexOf("/"),y=this._parts.path.substring(h+1);return c?r.decodePathSegment(y):y}else{var g=!1;c.charAt(0)==="/"&&(c=c.substring(1)),c.match(/\.?\//)&&(g=!0);var v=new RegExp(m(this.filename())+"$");return c=r.recodePath(c),this._parts.path=this._parts.path.replace(v,c),g?this.normalizePath(f):this.build(!f),this}},u.suffix=function(c,f){if(this._parts.urn)return c===void 0?"":this;if(c===void 0||c===!0){if(!this._parts.path||this._parts.path==="/")return"";var h=this.filename(),y=h.lastIndexOf("."),g,v;return y===-1?"":(g=h.substring(y+1),v=/^[a-z0-9%]+$/i.test(g)?g:"",c?r.decodePathSegment(v):v)}else{c.charAt(0)==="."&&(c=c.substring(1));var b=this.suffix(),I;if(b)c?I=new RegExp(m(b)+"$"):I=new RegExp(m("."+b)+"$");else{if(!c)return this;this._parts.path+="."+r.recodePath(c)}return I&&(c=r.recodePath(c),this._parts.path=this._parts.path.replace(I,c)),this.build(!f),this}},u.segment=function(c,f,h){var y=this._parts.urn?":":"/",g=this.path(),v=g.substring(0,1)==="/",b=g.split(y);if(c!==void 0&&typeof c!="number"&&(h=f,f=c,c=void 0),c!==void 0&&typeof c!="number")throw new Error('Bad segment "'+c+'", must be 0-based integer');if(v&&b.shift(),c<0&&(c=Math.max(b.length+c,0)),f===void 0)return c===void 0?b:b[c];if(c===null||b[c]===void 0)if(w(f)){b=[];for(var I=0,N=f.length;I<N;I++)!f[I].length&&(!b.length||!b[b.length-1].length)||(b.length&&!b[b.length-1].length&&b.pop(),b.push(A(f[I])))}else(f||typeof f=="string")&&(f=A(f),b[b.length-1]===""?b[b.length-1]=f:b.push(f));else f?b[c]=A(f):b.splice(c,1);return v&&b.unshift(""),this.path(b.join(y),h)},u.segmentCoded=function(c,f,h){var y,g,v;if(typeof c!="number"&&(h=f,f=c,c=void 0),f===void 0){if(y=this.segment(c,f,h),!w(y))y=y!==void 0?r.decode(y):void 0;else for(g=0,v=y.length;g<v;g++)y[g]=r.decode(y[g]);return y}if(!w(f))f=typeof f=="string"||f instanceof String?r.encode(f):f;else for(g=0,v=f.length;g<v;g++)f[g]=r.encode(f[g]);return this.segment(c,f,h)};var J=u.query;return u.query=function(c,f){if(c===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof c=="function"){var h=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),y=c.call(this,h);return this._parts.query=r.buildQuery(y||h,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!f),this}else return c!==void 0&&typeof c!="string"?(this._parts.query=r.buildQuery(c,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!f),this):J.call(this,c,f)},u.setQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof c=="string"||c instanceof String)y[c]=f!==void 0?f:null;else if(typeof c=="object")for(var g in c)d.call(c,g)&&(y[g]=c[g]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(y,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof c!="string"&&(h=f),this.build(!h),this},u.addQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(y,c,f===void 0?null:f),this._parts.query=r.buildQuery(y,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof c!="string"&&(h=f),this.build(!h),this},u.removeQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(y,c,f),this._parts.query=r.buildQuery(y,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof c!="string"&&(h=f),this.build(!h),this},u.hasQuery=function(c,f,h){var y=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(y,c,f,h)},u.setSearch=u.setQuery,u.addSearch=u.addQuery,u.removeSearch=u.removeQuery,u.hasSearch=u.hasQuery,u.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},u.normalizeProtocol=function(c){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!c)),this},u.normalizeHostname=function(c){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!c)),this},u.normalizePort=function(c){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!c)),this},u.normalizePath=function(c){var f=this._parts.path;if(!f)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!c),this;if(this._parts.path==="/")return this;f=r.recodePath(f);var h,y="",g,v;for(f.charAt(0)!=="/"&&(h=!0,f="/"+f),(f.slice(-3)==="/.."||f.slice(-2)==="/.")&&(f+="/"),f=f.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),h&&(y=f.substring(1).match(/^(\.\.\/)+/)||"",y&&(y=y[0]));g=f.search(/\/\.\.(\/|$)/),g!==-1;){if(g===0){f=f.substring(3);continue}v=f.substring(0,g).lastIndexOf("/"),v===-1&&(v=g),f=f.substring(0,v)+f.substring(g+3)}return h&&this.is("relative")&&(f=y+f.substring(1)),this._parts.path=f,this.build(!c),this},u.normalizePathname=u.normalizePath,u.normalizeQuery=function(c){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!c)),this},u.normalizeFragment=function(c){return this._parts.fragment||(this._parts.fragment=null,this.build(!c)),this},u.normalizeSearch=u.normalizeQuery,u.normalizeHash=u.normalizeFragment,u.iso8859=function(){var c=r.encode,f=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=c,r.decode=f}return this},u.unicode=function(){var c=r.encode,f=r.decode;r.encode=k,r.decode=unescape;try{this.normalize()}finally{r.encode=c,r.decode=f}return this},u.readable=function(){var c=this.clone();c.username("").password("").normalize();var f="";if(c._parts.protocol&&(f+=c._parts.protocol+"://"),c._parts.hostname&&(c.is("punycode")&&e?(f+=e.toUnicode(c._parts.hostname),c._parts.port&&(f+=":"+c._parts.port)):f+=c.host()),c._parts.hostname&&c._parts.path&&c._parts.path.charAt(0)!=="/"&&(f+="/"),f+=c.path(!0),c._parts.query){for(var h="",y=0,g=c._parts.query.split("&"),v=g.length;y<v;y++){var b=(g[y]||"").split("=");h+="&"+r.decodeQuery(b[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),b[1]!==void 0&&(h+="="+r.decodeQuery(b[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}f+="?"+h.substring(1)}return f+=r.decodeQuery(c.hash(),!0),f},u.absoluteTo=function(c){var f=this.clone(),h=["protocol","username","password","hostname","port"],y,g,v;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(c instanceof r||(c=new r(c)),f._parts.protocol||(f._parts.protocol=c._parts.protocol,this._parts.hostname))return f;for(g=0;v=h[g];g++)f._parts[v]=c._parts[v];return f._parts.path?(f._parts.path.substring(-2)===".."&&(f._parts.path+="/"),f.path().charAt(0)!=="/"&&(y=c.directory(),y=y||(c.path().indexOf("/")===0?"/":""),f._parts.path=(y?y+"/":"")+f._parts.path,f.normalizePath())):(f._parts.path=c._parts.path,f._parts.query||(f._parts.query=c._parts.query)),f.build(),f},u.relativeTo=function(c){var f=this.clone().normalize(),h,y,g,v,b;if(f._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(c=new r(c).normalize(),h=f._parts,y=c._parts,v=f.path(),b=c.path(),v.charAt(0)!=="/")throw new Error("URI is already relative");if(b.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(h.protocol===y.protocol&&(h.protocol=null),h.username!==y.username||h.password!==y.password||h.protocol!==null||h.username!==null||h.password!==null)return f.build();if(h.hostname===y.hostname&&h.port===y.port)h.hostname=null,h.port=null;else return f.build();if(v===b)return h.path="",f.build();if(g=r.commonPath(v,b),!g)return f.build();var I=y.path.substring(g.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return h.path=I+h.path.substring(g.length)||"./",f.build()},u.equals=function(c){var f=this.clone(),h=new r(c),y={},g={},v={},b,I,N;if(f.normalize(),h.normalize(),f.toString()===h.toString())return!0;if(b=f.query(),I=h.query(),f.query(""),h.query(""),f.toString()!==h.toString()||b.length!==I.length)return!1;y=r.parseQuery(b,this._parts.escapeQuerySpace),g=r.parseQuery(I,this._parts.escapeQuerySpace);for(N in y)if(d.call(y,N)){if(w(y[N])){if(!P(y[N],g[N]))return!1}else if(y[N]!==g[N])return!1;v[N]=!0}for(N in g)if(d.call(g,N)&&!v[N])return!1;return!0},u.preventInvalidHostname=function(c){return this._parts.preventInvalidHostname=!!c,this},u.duplicateQueryParameters=function(c){return this._parts.duplicateQueryParameters=!!c,this},u.escapeQuerySpace=function(c){return this._parts.escapeQuerySpace=!!c,this},r})});function M(e,t,n,o){this.x=O(e,0),this.y=O(t,0),this.z=O(n,0),this.w=O(o,0)}M.fromElements=function(e,t,n,o,i){return p(i)?(i.x=e,i.y=t,i.z=n,i.w=o,i):new M(e,t,n,o)};M.fromColor=function(e,t){return s.typeOf.object("color",e),p(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new M(e.red,e.green,e.blue,e.alpha)};M.clone=function(e,t){if(p(e))return p(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new M(e.x,e.y,e.z,e.w)};M.packedLength=4;M.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};M.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new M),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};M.packArray=function(e,t){s.defined("array",e);let n=e.length,o=n*4;if(!p(t))t=new Array(o);else{if(!Array.isArray(t)&&t.length!==o)throw new j("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==o&&(t.length=o)}for(let i=0;i<n;++i)M.pack(e[i],t,i*4);return t};M.unpackArray=function(e,t){if(s.defined("array",e),s.typeOf.number.greaterThanOrEquals("array.length",e.length,4),e.length%4!==0)throw new j("array length must be a multiple of 4.");let n=e.length;p(t)?t.length=n/4:t=new Array(n/4);for(let o=0;o<n;o+=4){let i=o/4;t[i]=M.unpack(e,o,t[i])}return t};M.fromArray=M.unpack;M.maximumComponent=function(e){return s.typeOf.object("cartesian",e),Math.max(e.x,e.y,e.z,e.w)};M.minimumComponent=function(e){return s.typeOf.object("cartesian",e),Math.min(e.x,e.y,e.z,e.w)};M.minimumByComponent=function(e,t,n){return s.typeOf.object("first",e),s.typeOf.object("second",t),s.typeOf.object("result",n),n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n};M.maximumByComponent=function(e,t,n){return s.typeOf.object("first",e),s.typeOf.object("second",t),s.typeOf.object("result",n),n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n};M.clamp=function(e,t,n,o){s.typeOf.object("value",e),s.typeOf.object("min",t),s.typeOf.object("max",n),s.typeOf.object("result",o);let i=E.clamp(e.x,t.x,n.x),r=E.clamp(e.y,t.y,n.y),a=E.clamp(e.z,t.z,n.z),u=E.clamp(e.w,t.w,n.w);return o.x=i,o.y=r,o.z=a,o.w=u,o};M.magnitudeSquared=function(e){return s.typeOf.object("cartesian",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};M.magnitude=function(e){return Math.sqrt(M.magnitudeSquared(e))};var Rt=new M;M.distance=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),M.subtract(e,t,Rt),M.magnitude(Rt)};M.distanceSquared=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),M.subtract(e,t,Rt),M.magnitudeSquared(Rt)};M.normalize=function(e,t){s.typeOf.object("cartesian",e),s.typeOf.object("result",t);let n=M.magnitude(e);if(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,isNaN(t.x)||isNaN(t.y)||isNaN(t.z)||isNaN(t.w))throw new j("normalized result is not a number");return t};M.dot=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};M.multiplyComponents=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n};M.divideComponents=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n};M.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};M.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};M.multiplyByScalar=function(e,t,n){return s.typeOf.object("cartesian",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};M.divideByScalar=function(e,t,n){return s.typeOf.object("cartesian",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};M.negate=function(e,t){return s.typeOf.object("cartesian",e),s.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};M.abs=function(e,t){return s.typeOf.object("cartesian",e),s.typeOf.object("result",t),t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var En=new M;M.lerp=function(e,t,n,o){return s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o),M.multiplyByScalar(t,n,En),o=M.multiplyByScalar(e,1-n,o),M.add(En,o,o)};var zo=new M;M.mostOrthogonalAxis=function(e,t){s.typeOf.object("cartesian",e),s.typeOf.object("result",t);let n=M.normalize(e,zo);return M.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=M.clone(M.UNIT_X,t):t=M.clone(M.UNIT_W,t):n.z<=n.w?t=M.clone(M.UNIT_Z,t):t=M.clone(M.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=M.clone(M.UNIT_Y,t):t=M.clone(M.UNIT_W,t):n.z<=n.w?t=M.clone(M.UNIT_Z,t):t=M.clone(M.UNIT_W,t),t};M.equals=function(e,t){return e===t||p(e)&&p(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};M.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};M.equalsEpsilon=function(e,t,n,o){return e===t||p(e)&&p(t)&&E.equalsEpsilon(e.x,t.x,n,o)&&E.equalsEpsilon(e.y,t.y,n,o)&&E.equalsEpsilon(e.z,t.z,n,o)&&E.equalsEpsilon(e.w,t.w,n,o)};M.ZERO=Object.freeze(new M(0,0,0,0));M.ONE=Object.freeze(new M(1,1,1,1));M.UNIT_X=Object.freeze(new M(1,0,0,0));M.UNIT_Y=Object.freeze(new M(0,1,0,0));M.UNIT_Z=Object.freeze(new M(0,0,1,0));M.UNIT_W=Object.freeze(new M(0,0,0,1));M.prototype.clone=function(e){return M.clone(this,e)};M.prototype.equals=function(e){return M.equals(this,e)};M.prototype.equalsEpsilon=function(e,t,n){return M.equalsEpsilon(this,e,t,n)};M.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Zt=new Float32Array(1),le=new Uint8Array(Zt.buffer),Io=new Uint32Array([287454020]),qo=new Uint8Array(Io.buffer),Tn=qo[0]===68;M.packFloat=function(e,t){return s.typeOf.number("value",e),p(t)||(t=new M),Zt[0]=e,Tn?(t.x=le[0],t.y=le[1],t.z=le[2],t.w=le[3]):(t.x=le[3],t.y=le[2],t.z=le[1],t.w=le[0]),t};M.unpackFloat=function(e){return s.typeOf.object("packedFloat",e),Tn?(le[0]=e.x,le[1]=e.y,le[2]=e.z,le[3]=e.w):(le[0]=e.w,le[1]=e.z,le[2]=e.y,le[3]=e.x),Zt[0]};var qe=M;function S(e,t,n,o,i,r,a,u,d,m,l,w,T,C,P,A){this[0]=O(e,0),this[1]=O(i,0),this[2]=O(d,0),this[3]=O(T,0),this[4]=O(t,0),this[5]=O(r,0),this[6]=O(m,0),this[7]=O(C,0),this[8]=O(n,0),this[9]=O(a,0),this[10]=O(l,0),this[11]=O(P,0),this[12]=O(o,0),this[13]=O(u,0),this[14]=O(w,0),this[15]=O(A,0)}S.packedLength=16;S.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};S.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new S),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};S.packArray=function(e,t){s.defined("array",e);let n=e.length,o=n*16;if(!p(t))t=new Array(o);else{if(!Array.isArray(t)&&t.length!==o)throw new j("If result is a typed array, it must have exactly array.length * 16 elements");t.length!==o&&(t.length=o)}for(let i=0;i<n;++i)S.pack(e[i],t,i*16);return t};S.unpackArray=function(e,t){if(s.defined("array",e),s.typeOf.number.greaterThanOrEquals("array.length",e.length,16),e.length%16!==0)throw new j("array length must be a multiple of 16.");let n=e.length;p(t)?t.length=n/16:t=new Array(n/16);for(let o=0;o<n;o+=16){let i=o/16;t[i]=S.unpack(e,o,t[i])}return t};S.clone=function(e,t){if(p(e))return p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new S(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])};S.fromArray=S.unpack;S.fromColumnMajorArray=function(e,t){return s.defined("values",e),S.clone(e,t)};S.fromRowMajorArray=function(e,t){return s.defined("values",e),p(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new S(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])};S.fromRotationTranslation=function(e,t,n){return s.typeOf.object("rotation",e),t=O(t,_.ZERO),p(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new S(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)};S.fromTranslationQuaternionRotationScale=function(e,t,n,o){s.typeOf.object("translation",e),s.typeOf.object("rotation",t),s.typeOf.object("scale",n),p(o)||(o=new S);let i=n.x,r=n.y,a=n.z,u=t.x*t.x,d=t.x*t.y,m=t.x*t.z,l=t.x*t.w,w=t.y*t.y,T=t.y*t.z,C=t.y*t.w,P=t.z*t.z,A=t.z*t.w,q=t.w*t.w,k=u-w-P+q,L=2*(d-A),F=2*(m+C),B=2*(d+A),W=-u+w-P+q,H=2*(T-l),ee=2*(m-C),re=2*(T+l),Z=-u-w+P+q;return o[0]=k*i,o[1]=B*i,o[2]=ee*i,o[3]=0,o[4]=L*r,o[5]=W*r,o[6]=re*r,o[7]=0,o[8]=F*a,o[9]=H*a,o[10]=Z*a,o[11]=0,o[12]=e.x,o[13]=e.y,o[14]=e.z,o[15]=1,o};S.fromTranslationRotationScale=function(e,t){return s.typeOf.object("translationRotationScale",e),S.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};S.fromTranslation=function(e,t){return s.typeOf.object("translation",e),S.fromRotationTranslation(Q.IDENTITY,e,t)};S.fromScale=function(e,t){return s.typeOf.object("scale",e),p(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new S(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};S.fromUniformScale=function(e,t){return s.typeOf.number("scale",e),p(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new S(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};S.fromRotation=function(e,t){return s.typeOf.object("rotation",e),p(t)||(t=new S),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var Je=new _,Ge=new _,ut=new _;S.fromCamera=function(e,t){s.typeOf.object("camera",e);let n=e.position,o=e.direction,i=e.up;s.typeOf.object("camera.position",n),s.typeOf.object("camera.direction",o),s.typeOf.object("camera.up",i),_.normalize(o,Je),_.normalize(_.cross(Je,i,Ge),Ge),_.normalize(_.cross(Ge,Je,ut),ut);let r=Ge.x,a=Ge.y,u=Ge.z,d=Je.x,m=Je.y,l=Je.z,w=ut.x,T=ut.y,C=ut.z,P=n.x,A=n.y,q=n.z,k=r*-P+a*-A+u*-q,L=w*-P+T*-A+C*-q,F=d*P+m*A+l*q;return p(t)?(t[0]=r,t[1]=w,t[2]=-d,t[3]=0,t[4]=a,t[5]=T,t[6]=-m,t[7]=0,t[8]=u,t[9]=C,t[10]=-l,t[11]=0,t[12]=k,t[13]=L,t[14]=F,t[15]=1,t):new S(r,a,u,k,w,T,C,L,-d,-m,-l,F,0,0,0,1)};S.computePerspectiveFieldOfView=function(e,t,n,o,i){s.typeOf.number.greaterThan("fovY",e,0),s.typeOf.number.lessThan("fovY",e,Math.PI),s.typeOf.number.greaterThan("near",n,0),s.typeOf.number.greaterThan("far",o,0),s.typeOf.object("result",i);let a=1/Math.tan(e*.5),u=a/t,d=(o+n)/(n-o),m=2*o*n/(n-o);return i[0]=u,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=a,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=d,i[11]=-1,i[12]=0,i[13]=0,i[14]=m,i[15]=0,i};S.computeOrthographicOffCenter=function(e,t,n,o,i,r,a){s.typeOf.number("left",e),s.typeOf.number("right",t),s.typeOf.number("bottom",n),s.typeOf.number("top",o),s.typeOf.number("near",i),s.typeOf.number("far",r),s.typeOf.object("result",a);let u=1/(t-e),d=1/(o-n),m=1/(r-i),l=-(t+e)*u,w=-(o+n)*d,T=-(r+i)*m;return u*=2,d*=2,m*=-2,a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=d,a[6]=0,a[7]=0,a[8]=0,a[9]=0,a[10]=m,a[11]=0,a[12]=l,a[13]=w,a[14]=T,a[15]=1,a};S.computePerspectiveOffCenter=function(e,t,n,o,i,r,a){s.typeOf.number("left",e),s.typeOf.number("right",t),s.typeOf.number("bottom",n),s.typeOf.number("top",o),s.typeOf.number("near",i),s.typeOf.number("far",r),s.typeOf.object("result",a);let u=2*i/(t-e),d=2*i/(o-n),m=(t+e)/(t-e),l=(o+n)/(o-n),w=-(r+i)/(r-i),T=-1,C=-2*r*i/(r-i);return a[0]=u,a[1]=0,a[2]=0,a[3]=0,a[4]=0,a[5]=d,a[6]=0,a[7]=0,a[8]=m,a[9]=l,a[10]=w,a[11]=T,a[12]=0,a[13]=0,a[14]=C,a[15]=0,a};S.computeInfinitePerspectiveOffCenter=function(e,t,n,o,i,r){s.typeOf.number("left",e),s.typeOf.number("right",t),s.typeOf.number("bottom",n),s.typeOf.number("top",o),s.typeOf.number("near",i),s.typeOf.object("result",r);let a=2*i/(t-e),u=2*i/(o-n),d=(t+e)/(t-e),m=(o+n)/(o-n),l=-1,w=-1,T=-2*i;return r[0]=a,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=u,r[6]=0,r[7]=0,r[8]=d,r[9]=m,r[10]=l,r[11]=w,r[12]=0,r[13]=0,r[14]=T,r[15]=0,r};S.computeViewportTransformation=function(e,t,n,o){p(o)||(o=new S),e=O(e,O.EMPTY_OBJECT);let i=O(e.x,0),r=O(e.y,0),a=O(e.width,0),u=O(e.height,0);t=O(t,0),n=O(n,1);let d=a*.5,m=u*.5,l=(n-t)*.5,w=d,T=m,C=l,P=i+d,A=r+m,q=t+l,k=1;return o[0]=w,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=T,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=C,o[11]=0,o[12]=P,o[13]=A,o[14]=q,o[15]=k,o};S.computeView=function(e,t,n,o,i){return s.typeOf.object("position",e),s.typeOf.object("direction",t),s.typeOf.object("up",n),s.typeOf.object("right",o),s.typeOf.object("result",i),i[0]=o.x,i[1]=n.x,i[2]=-t.x,i[3]=0,i[4]=o.y,i[5]=n.y,i[6]=-t.y,i[7]=0,i[8]=o.z,i[9]=n.z,i[10]=-t.z,i[11]=0,i[12]=-_.dot(o,e),i[13]=-_.dot(n,e),i[14]=_.dot(t,e),i[15]=1,i};S.toArray=function(e,t){return s.typeOf.object("matrix",e),p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]};S.getElementIndex=function(e,t){return s.typeOf.number.greaterThanOrEquals("row",t,0),s.typeOf.number.lessThanOrEquals("row",t,3),s.typeOf.number.greaterThanOrEquals("column",e,0),s.typeOf.number.lessThanOrEquals("column",e,3),e*4+t};S.getColumn=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("result",n);let o=t*4,i=e[o],r=e[o+1],a=e[o+2],u=e[o+3];return n.x=i,n.y=r,n.z=a,n.w=u,n};S.setColumn=function(e,t,n,o){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=S.clone(e,o);let i=t*4;return o[i]=n.x,o[i+1]=n.y,o[i+2]=n.z,o[i+3]=n.w,o};S.getRow=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("result",n);let o=e[t],i=e[t+4],r=e[t+8],a=e[t+12];return n.x=o,n.y=i,n.z=r,n.w=a,n};S.setRow=function(e,t,n,o){return s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,3),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=S.clone(e,o),o[t]=n.x,o[t+4]=n.y,o[t+8]=n.z,o[t+12]=n.w,o};S.setTranslation=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.object("translation",t),s.typeOf.object("result",n),n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var Do=new _;S.setScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n);let o=S.getScale(e,Do),i=t.x/o.x,r=t.y/o.y,a=t.z/o.z;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*a,n[9]=e[9]*a,n[10]=e[10]*a,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var No=new _;S.setUniformScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n);let o=S.getScale(e,No),i=t/o.x,r=t/o.y,a=t/o.z;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*i,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*a,n[9]=e[9]*a,n[10]=e[10]*a,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var Jt=new _;S.getScale=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t.x=_.magnitude(_.fromElements(e[0],e[1],e[2],Jt)),t.y=_.magnitude(_.fromElements(e[4],e[5],e[6],Jt)),t.z=_.magnitude(_.fromElements(e[8],e[9],e[10],Jt)),t};var Cn=new _;S.getMaximumScale=function(e){return S.getScale(e,Cn),_.maximumComponent(Cn)};var ko=new _;S.setRotation=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("result",n);let o=S.getScale(e,ko);return n[0]=t[0]*o.x,n[1]=t[1]*o.x,n[2]=t[2]*o.x,n[3]=e[3],n[4]=t[3]*o.y,n[5]=t[4]*o.y,n[6]=t[5]*o.y,n[7]=e[7],n[8]=t[6]*o.z,n[9]=t[7]*o.z,n[10]=t[8]*o.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var Fo=new _;S.getRotation=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=S.getScale(e,Fo);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};S.multiply=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e[0],i=e[1],r=e[2],a=e[3],u=e[4],d=e[5],m=e[6],l=e[7],w=e[8],T=e[9],C=e[10],P=e[11],A=e[12],q=e[13],k=e[14],L=e[15],F=t[0],B=t[1],W=t[2],H=t[3],ee=t[4],re=t[5],Z=t[6],oe=t[7],J=t[8],c=t[9],f=t[10],h=t[11],y=t[12],g=t[13],v=t[14],b=t[15],I=o*F+u*B+w*W+A*H,N=i*F+d*B+T*W+q*H,Y=r*F+m*B+C*W+k*H,ie=a*F+l*B+P*W+L*H,ae=o*ee+u*re+w*Z+A*oe,te=i*ee+d*re+T*Z+q*oe,ue=r*ee+m*re+C*Z+k*oe,de=a*ee+l*re+P*Z+L*oe,ye=o*J+u*c+w*f+A*h,me=i*J+d*c+T*f+q*h,he=r*J+m*c+C*f+k*h,X=a*J+l*c+P*f+L*h,_e=o*y+u*g+w*v+A*b,Te=i*y+d*g+T*v+q*b,je=r*y+m*g+C*v+k*b,at=a*y+l*g+P*v+L*b;return n[0]=I,n[1]=N,n[2]=Y,n[3]=ie,n[4]=ae,n[5]=te,n[6]=ue,n[7]=de,n[8]=ye,n[9]=me,n[10]=he,n[11]=X,n[12]=_e,n[13]=Te,n[14]=je,n[15]=at,n};S.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};S.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};S.multiplyTransformation=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e[0],i=e[1],r=e[2],a=e[4],u=e[5],d=e[6],m=e[8],l=e[9],w=e[10],T=e[12],C=e[13],P=e[14],A=t[0],q=t[1],k=t[2],L=t[4],F=t[5],B=t[6],W=t[8],H=t[9],ee=t[10],re=t[12],Z=t[13],oe=t[14],J=o*A+a*q+m*k,c=i*A+u*q+l*k,f=r*A+d*q+w*k,h=o*L+a*F+m*B,y=i*L+u*F+l*B,g=r*L+d*F+w*B,v=o*W+a*H+m*ee,b=i*W+u*H+l*ee,I=r*W+d*H+w*ee,N=o*re+a*Z+m*oe+T,Y=i*re+u*Z+l*oe+C,ie=r*re+d*Z+w*oe+P;return n[0]=J,n[1]=c,n[2]=f,n[3]=0,n[4]=h,n[5]=y,n[6]=g,n[7]=0,n[8]=v,n[9]=b,n[10]=I,n[11]=0,n[12]=N,n[13]=Y,n[14]=ie,n[15]=1,n};S.multiplyByMatrix3=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("rotation",t),s.typeOf.object("result",n);let o=e[0],i=e[1],r=e[2],a=e[4],u=e[5],d=e[6],m=e[8],l=e[9],w=e[10],T=t[0],C=t[1],P=t[2],A=t[3],q=t[4],k=t[5],L=t[6],F=t[7],B=t[8],W=o*T+a*C+m*P,H=i*T+u*C+l*P,ee=r*T+d*C+w*P,re=o*A+a*q+m*k,Z=i*A+u*q+l*k,oe=r*A+d*q+w*k,J=o*L+a*F+m*B,c=i*L+u*F+l*B,f=r*L+d*F+w*B;return n[0]=W,n[1]=H,n[2]=ee,n[3]=0,n[4]=re,n[5]=Z,n[6]=oe,n[7]=0,n[8]=J,n[9]=c,n[10]=f,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};S.multiplyByTranslation=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("translation",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=o*e[0]+i*e[4]+r*e[8]+e[12],u=o*e[1]+i*e[5]+r*e[9]+e[13],d=o*e[2]+i*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=a,n[13]=u,n[14]=d,n[15]=e[15],n};S.multiplyByScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z;return o===1&&i===1&&r===1?S.clone(e,n):(n[0]=o*e[0],n[1]=o*e[1],n[2]=o*e[2],n[3]=e[3],n[4]=i*e[4],n[5]=i*e[5],n[6]=i*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};S.multiplyByUniformScale=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};S.multiplyByVector=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=t.w,u=e[0]*o+e[4]*i+e[8]*r+e[12]*a,d=e[1]*o+e[5]*i+e[9]*r+e[13]*a,m=e[2]*o+e[6]*i+e[10]*r+e[14]*a,l=e[3]*o+e[7]*i+e[11]*r+e[15]*a;return n.x=u,n.y=d,n.z=m,n.w=l,n};S.multiplyByPointAsVector=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=e[0]*o+e[4]*i+e[8]*r,u=e[1]*o+e[5]*i+e[9]*r,d=e[2]*o+e[6]*i+e[10]*r;return n.x=a,n.y=u,n.z=d,n};S.multiplyByPoint=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=t.x,i=t.y,r=t.z,a=e[0]*o+e[4]*i+e[8]*r+e[12],u=e[1]*o+e[5]*i+e[9]*r+e[13],d=e[2]*o+e[6]*i+e[10]*r+e[14];return n.x=a,n.y=u,n.z=d,n};S.multiplyByScalar=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n};S.negate=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t};S.transpose=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[1],o=e[2],i=e[3],r=e[6],a=e[7],u=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=o,t[9]=r,t[10]=e[10],t[11]=e[14],t[12]=i,t[13]=a,t[14]=u,t[15]=e[15],t};S.abs=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t};S.equals=function(e,t){return e===t||p(e)&&p(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};S.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n};S.getTranslation=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t.x=e[12],t.y=e[13],t.z=e[14],t};S.getMatrix3=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var Lo=new Q,xo=new Q,Bo=new qe,Qo=new qe(0,0,0,1);S.inverse=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[0],o=e[4],i=e[8],r=e[12],a=e[1],u=e[5],d=e[9],m=e[13],l=e[2],w=e[6],T=e[10],C=e[14],P=e[3],A=e[7],q=e[11],k=e[15],L=T*k,F=C*q,B=w*k,W=C*A,H=w*q,ee=T*A,re=l*k,Z=C*P,oe=l*q,J=T*P,c=l*A,f=w*P,h=L*u+W*d+H*m-(F*u+B*d+ee*m),y=F*a+re*d+J*m-(L*a+Z*d+oe*m),g=B*a+Z*u+c*m-(W*a+re*u+f*m),v=ee*a+oe*u+f*d-(H*a+J*u+c*d),b=F*o+B*i+ee*r-(L*o+W*i+H*r),I=L*n+Z*i+oe*r-(F*n+re*i+J*r),N=W*n+re*o+f*r-(B*n+Z*o+c*r),Y=H*n+J*o+c*i-(ee*n+oe*o+f*i);L=i*m,F=r*d,B=o*m,W=r*u,H=o*d,ee=i*u,re=n*m,Z=r*a,oe=n*d,J=i*a,c=n*u,f=o*a;let ie=L*A+W*q+H*k-(F*A+B*q+ee*k),ae=F*P+re*q+J*k-(L*P+Z*q+oe*k),te=B*P+Z*A+c*k-(W*P+re*A+f*k),ue=ee*P+oe*A+f*q-(H*P+J*A+c*q),de=B*T+ee*C+F*w-(H*C+L*w+W*T),ye=oe*C+L*l+Z*T-(re*T+J*C+F*l),me=re*w+f*C+W*l-(c*C+B*l+Z*w),he=c*T+H*l+J*w-(oe*w+f*T+ee*l),X=n*h+o*y+i*g+r*v;if(Math.abs(X)<E.EPSILON21){if(Q.equalsEpsilon(S.getMatrix3(e,Lo),xo,E.EPSILON7)&&qe.equals(S.getRow(e,3,Bo),Qo))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new Se("matrix is not invertible because its determinate is zero.")}return X=1/X,t[0]=h*X,t[1]=y*X,t[2]=g*X,t[3]=v*X,t[4]=b*X,t[5]=I*X,t[6]=N*X,t[7]=Y*X,t[8]=ie*X,t[9]=ae*X,t[10]=te*X,t[11]=ue*X,t[12]=de*X,t[13]=ye*X,t[14]=me*X,t[15]=he*X,t};S.inverseTransformation=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[0],o=e[1],i=e[2],r=e[4],a=e[5],u=e[6],d=e[8],m=e[9],l=e[10],w=e[12],T=e[13],C=e[14],P=-n*w-o*T-i*C,A=-r*w-a*T-u*C,q=-d*w-m*T-l*C;return t[0]=n,t[1]=r,t[2]=d,t[3]=0,t[4]=o,t[5]=a,t[6]=m,t[7]=0,t[8]=i,t[9]=u,t[10]=l,t[11]=0,t[12]=P,t[13]=A,t[14]=q,t[15]=1,t};var Wo=new S;S.inverseTranspose=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),S.inverse(S.transpose(e,Wo),t)};S.IDENTITY=Object.freeze(new S(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));S.ZERO=Object.freeze(new S(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));S.COLUMN0ROW0=0;S.COLUMN0ROW1=1;S.COLUMN0ROW2=2;S.COLUMN0ROW3=3;S.COLUMN1ROW0=4;S.COLUMN1ROW1=5;S.COLUMN1ROW2=6;S.COLUMN1ROW3=7;S.COLUMN2ROW0=8;S.COLUMN2ROW1=9;S.COLUMN2ROW2=10;S.COLUMN2ROW3=11;S.COLUMN3ROW0=12;S.COLUMN3ROW1=13;S.COLUMN3ROW2=14;S.COLUMN3ROW3=15;Object.defineProperties(S.prototype,{length:{get:function(){return S.packedLength}}});S.prototype.clone=function(e){return S.clone(this,e)};S.prototype.equals=function(e){return S.equals(this,e)};S.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};S.prototype.equalsEpsilon=function(e,t){return S.equalsEpsilon(this,e,t)};S.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]}) (${this[1]}, ${this[5]}, ${this[9]}, ${this[13]}) (${this[2]}, ${this[6]}, ${this[10]}, ${this[14]}) -(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var G=S;function An(e,t,n){n=O(n,!1);let o={},i=p(e),r=p(t),a,u,d;if(i)for(a in e)e.hasOwnProperty(a)&&(u=e[a],r&&n&&typeof u=="object"&&t.hasOwnProperty(a)?(d=t[a],typeof d=="object"?o[a]=An(u,d,n):o[a]=u):o[a]=u);if(r)for(a in t)t.hasOwnProperty(a)&&!o.hasOwnProperty(a)&&(d=t[a],o[a]=d);return o}var De=An;function Xo(e,t,n){s.defined("array",e),s.defined("itemToFind",t),s.defined("comparator",n);let o=0,i=e.length-1,r,a;for(;o<=i;){if(r=~~((o+i)/2),a=n(e[r],t),a<0){o=r+1;continue}if(a>0){i=r-1;continue}return r}return~(i+1)}var Be=Xo;function Zo(e,t,n,o,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=o,this.ut1MinusUtc=i}var pt=Zo;function Jo(e){if(e===null||isNaN(e))throw new A("year is required and must be a number.");return e%4===0&&e%100!==0||e%400===0}var ht=Jo;var jn=[31,28,31,30,31,30,31,31,30,31,30,31];function Go(e,t,n,o,i,r,a,u){e=O(e,1),t=O(t,1),n=O(n,1),o=O(o,0),i=O(i,0),r=O(r,0),a=O(a,0),u=O(u,!1),j(),q(),this.year=e,this.month=t,this.day=n,this.hour=o,this.minute=i,this.second=r,this.millisecond=a,this.isLeapSecond=u;function j(){s.typeOf.number.greaterThanOrEquals("Year",e,1),s.typeOf.number.lessThanOrEquals("Year",e,9999),s.typeOf.number.greaterThanOrEquals("Month",t,1),s.typeOf.number.lessThanOrEquals("Month",t,12),s.typeOf.number.greaterThanOrEquals("Day",n,1),s.typeOf.number.lessThanOrEquals("Day",n,31),s.typeOf.number.greaterThanOrEquals("Hour",o,0),s.typeOf.number.lessThanOrEquals("Hour",o,23),s.typeOf.number.greaterThanOrEquals("Minute",i,0),s.typeOf.number.lessThanOrEquals("Minute",i,59),s.typeOf.bool("IsLeapSecond",u),s.typeOf.number.greaterThanOrEquals("Second",r,0),s.typeOf.number.lessThanOrEquals("Second",r,u?60:59),s.typeOf.number.greaterThanOrEquals("Millisecond",a,0),s.typeOf.number.lessThan("Millisecond",a,1e3)}function q(){let k=t===2&&ht(e)?jn[t-1]+1:jn[t-1];if(n>k)throw new A("Month and Day represents invalid date")}}var Tt=Go;function Ko(e,t){this.julianDate=e,this.offset=t}var ne=Ko;var er={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},ce=Object.freeze(er);var tr={UTC:0,TAI:1},$=Object.freeze(tr);var Pn=new Tt,vt=[31,28,31,30,31,30,31,31,30,31,30,31],Ct=29;function Kt(e,t){return I.compare(e.julianDate,t.julianDate)}var Ke=new ne;function jt(e){Ke.julianDate=e;let t=I.leapSeconds,n=Be(t,Ke,Kt);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let o=t[n].offset;n>0&&I.secondsDifference(t[n].julianDate,e)>o&&(n--,o=t[n].offset),I.addSeconds(e,o,e)}function Mn(e,t){Ke.julianDate=e;let n=I.leapSeconds,o=Be(n,Ke,Kt);if(o<0&&(o=~o),o===0)return I.addSeconds(e,-n[0].offset,t);if(o>=n.length)return I.addSeconds(e,-n[o-1].offset,t);let i=I.secondsDifference(n[o].julianDate,e);if(i===0)return I.addSeconds(e,-n[o].offset,t);if(!(i<=1))return I.addSeconds(e,-n[--o].offset,t)}function Ne(e,t,n){let o=t/ce.SECONDS_PER_DAY|0;return e+=o,t-=ce.SECONDS_PER_DAY*o,t<0&&(e--,t+=ce.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function en(e,t,n,o,i,r,a){let u=(t-14)/12|0,d=e+4800+u,m=(1461*d/4|0)+(367*(t-2-12*u)/12|0)-(3*((d+100)/100|0)/4|0)+n-32075;o=o-12,o<0&&(o+=24);let l=r+(o*ce.SECONDS_PER_HOUR+i*ce.SECONDS_PER_MINUTE+a*ce.SECONDS_PER_MILLISECOND);return l>=43200&&(m-=1),[m,l]}var nr=/^(\d{4})$/,or=/^(\d{4})-(\d{2})$/,rr=/^(\d{4})-?(\d{3})$/,ir=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,cr=/^(\d{4})-?(\d{2})-?(\d{2})$/,tn=/([Z+\-])?(\d{2})?:?(\d{2})?$/,sr=/^(\d{2})(\.\d+)?/.source+tn.source,ar=/^(\d{2}):?(\d{2})(\.\d+)?/.source+tn.source,fr=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+tn.source,Re="Invalid ISO 8601 date.";function I(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=O(e,0),t=O(t,0),n=O(n,$.UTC);let o=e|0;t=t+(e-o)*ce.SECONDS_PER_DAY,Ne(o,t,this),n===$.UTC&&jt(this)}I.fromGregorianDate=function(e,t){if(!(e instanceof Tt))throw new A("date must be a valid GregorianDate.");let n=en(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return p(t)?(Ne(n[0],n[1],t),jt(t),t):new I(n[0],n[1],$.UTC)};I.fromDate=function(e,t){if(!(e instanceof Date)||isNaN(e.getTime()))throw new A("date must be a valid JavaScript Date.");let n=en(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return p(t)?(Ne(n[0],n[1],t),jt(t),t):new I(n[0],n[1],$.UTC)};I.fromIso8601=function(e,t){if(typeof e!="string")throw new A(Re);e=e.replace(",",".");let n=e.split("T"),o,i=1,r=1,a=0,u=0,d=0,m=0,l=n[0],w=n[1],T,v;if(!p(l))throw new A(Re);let P;if(n=l.match(cr),n!==null){if(P=l.split("-").length-1,P>0&&P!==2)throw new A(Re);o=+n[1],i=+n[2],r=+n[3]}else if(n=l.match(or),n!==null)o=+n[1],i=+n[2];else if(n=l.match(nr),n!==null)o=+n[1];else{let x;if(n=l.match(rr),n!==null){if(o=+n[1],x=+n[2],v=ht(o),x<1||v&&x>366||!v&&x>365)throw new A(Re)}else if(n=l.match(ir),n!==null){o=+n[1];let F=+n[2],B=+n[3]||0;if(P=l.split("-").length-1,P>0&&(!p(n[3])&&P!==1||p(n[3])&&P!==2))throw new A(Re);let Q=new Date(Date.UTC(o,0,4));x=F*7+B-Q.getUTCDay()-3}else throw new A(Re);T=new Date(Date.UTC(o,0,1)),T.setUTCDate(x),i=T.getUTCMonth()+1,r=T.getUTCDate()}if(v=ht(o),i<1||i>12||r<1||(i!==2||!v)&&r>vt[i-1]||v&&i===2&&r>Ct)throw new A(Re);let j;if(p(w)){if(n=w.match(fr),n!==null){if(P=w.split(":").length-1,P>0&&P!==2&&P!==3)throw new A(Re);a=+n[1],u=+n[2],d=+n[3],m=+(n[4]||0)*1e3,j=5}else if(n=w.match(ar),n!==null){if(P=w.split(":").length-1,P>2)throw new A(Re);a=+n[1],u=+n[2],d=+(n[3]||0)*60,j=4}else if(n=w.match(sr),n!==null)a=+n[1],u=+(n[2]||0)*60,j=3;else throw new A(Re);if(u>=60||d>=61||a>24||a===24&&(u>0||d>0||m>0))throw new A(Re);let x=n[j],F=+n[j+1],B=+(n[j+2]||0);switch(x){case"+":a=a-F,u=u-B;break;case"-":a=a+F,u=u+B;break;case"Z":break;default:u=u+new Date(Date.UTC(o,i-1,r,a,u)).getTimezoneOffset();break}}let q=d===60;for(q&&d--;u>=60;)u-=60,a++;for(;a>=24;)a-=24,r++;for(T=v&&i===2?Ct:vt[i-1];r>T;)r-=T,i++,i>12&&(i-=12,o++),T=v&&i===2?Ct:vt[i-1];for(;u<0;)u+=60,a--;for(;a<0;)a+=24,r--;for(;r<1;)i--,i<1&&(i+=12,o--),T=v&&i===2?Ct:vt[i-1],r+=T;let k=en(o,i,r,a,u,d,m);return p(t)?(Ne(k[0],k[1],t),jt(t)):t=new I(k[0],k[1],$.UTC),q&&I.addSeconds(t,1,t),t};I.now=function(e){return I.fromDate(new Date,e)};var At=new I(0,0,$.TAI);I.toGregorianDate=function(e,t){if(!p(e))throw new A("julianDate is required.");let n=!1,o=Mn(e,At);p(o)||(I.addSeconds(e,-1,At),o=Mn(At,At),n=!0);let i=o.dayNumber,r=o.secondsOfDay;r>=43200&&(i+=1);let a=i+68569|0,u=4*a/146097|0;a=a-((146097*u+3)/4|0)|0;let d=4e3*(a+1)/1461001|0;a=a-(1461*d/4|0)+31|0;let m=80*a/2447|0,l=a-(2447*m/80|0)|0;a=m/11|0;let w=m+2-12*a|0,T=100*(u-49)+d+a|0,v=r/ce.SECONDS_PER_HOUR|0,P=r-v*ce.SECONDS_PER_HOUR,j=P/ce.SECONDS_PER_MINUTE|0;P=P-j*ce.SECONDS_PER_MINUTE;let q=P|0,k=(P-q)/ce.SECONDS_PER_MILLISECOND;return v+=12,v>23&&(v-=24),n&&(q+=1),p(t)?(t.year=T,t.month=w,t.day=l,t.hour=v,t.minute=j,t.second=q,t.millisecond=k,t.isLeapSecond=n,t):new Tt(T,w,l,v,j,q,k,n)};I.toDate=function(e){if(!p(e))throw new A("julianDate is required.");let t=I.toGregorianDate(e,Pn),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};I.toIso8601=function(e,t){if(!p(e))throw new A("julianDate is required.");let n=I.toGregorianDate(e,Pn),o=n.year,i=n.month,r=n.day,a=n.hour,u=n.minute,d=n.second,m=n.millisecond;o===1e4&&i===1&&r===1&&a===0&&u===0&&d===0&&m===0&&(o=9999,i=12,r=31,a=24);let l;return!p(t)&&m!==0?(l=(m*.01).toString().replace(".",""),`${o.toString().padStart(4,"0")}-${i.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${a.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}.${l}Z`):!p(t)||t===0?`${o.toString().padStart(4,"0")}-${i.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${a.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}Z`:(l=(m*.01).toFixed(t).replace(".","").slice(0,t),`${o.toString().padStart(4,"0")}-${i.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${a.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}.${l}Z`)};I.clone=function(e,t){if(p(e))return p(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new I(e.dayNumber,e.secondsOfDay,$.TAI)};I.compare=function(e,t){if(!p(e))throw new A("left is required.");if(!p(t))throw new A("right is required.");let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};I.equals=function(e,t){return e===t||p(e)&&p(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};I.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(I.secondsDifference(e,t))<=n};I.totalDays=function(e){if(!p(e))throw new A("julianDate is required.");return e.dayNumber+e.secondsOfDay/ce.SECONDS_PER_DAY};I.secondsDifference=function(e,t){if(!p(e))throw new A("left is required.");if(!p(t))throw new A("right is required.");return(e.dayNumber-t.dayNumber)*ce.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};I.daysDifference=function(e,t){if(!p(e))throw new A("left is required.");if(!p(t))throw new A("right is required.");let n=e.dayNumber-t.dayNumber,o=(e.secondsOfDay-t.secondsOfDay)/ce.SECONDS_PER_DAY;return n+o};I.computeTaiMinusUtc=function(e){Ke.julianDate=e;let t=I.leapSeconds,n=Be(t,Ke,Kt);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};I.addSeconds=function(e,t,n){if(!p(e))throw new A("julianDate is required.");if(!p(t))throw new A("seconds is required.");if(!p(n))throw new A("result is required.");return Ne(e.dayNumber,e.secondsOfDay+t,n)};I.addMinutes=function(e,t,n){if(!p(e))throw new A("julianDate is required.");if(!p(t))throw new A("minutes is required.");if(!p(n))throw new A("result is required.");let o=e.secondsOfDay+t*ce.SECONDS_PER_MINUTE;return Ne(e.dayNumber,o,n)};I.addHours=function(e,t,n){if(!p(e))throw new A("julianDate is required.");if(!p(t))throw new A("hours is required.");if(!p(n))throw new A("result is required.");let o=e.secondsOfDay+t*ce.SECONDS_PER_HOUR;return Ne(e.dayNumber,o,n)};I.addDays=function(e,t,n){if(!p(e))throw new A("julianDate is required.");if(!p(t))throw new A("days is required.");if(!p(n))throw new A("result is required.");let o=e.dayNumber+t;return Ne(o,e.secondsOfDay,n)};I.lessThan=function(e,t){return I.compare(e,t)<0};I.lessThanOrEquals=function(e,t){return I.compare(e,t)<=0};I.greaterThan=function(e,t){return I.compare(e,t)>0};I.greaterThanOrEquals=function(e,t){return I.compare(e,t)>=0};I.prototype.clone=function(e){return I.clone(this,e)};I.prototype.equals=function(e){return I.equals(this,e)};I.prototype.equalsEpsilon=function(e,t){return I.equalsEpsilon(this,e,t)};I.prototype.toString=function(){return I.toIso8601(this)};I.leapSeconds=[new ne(new I(2441317,43210,$.TAI),10),new ne(new I(2441499,43211,$.TAI),11),new ne(new I(2441683,43212,$.TAI),12),new ne(new I(2442048,43213,$.TAI),13),new ne(new I(2442413,43214,$.TAI),14),new ne(new I(2442778,43215,$.TAI),15),new ne(new I(2443144,43216,$.TAI),16),new ne(new I(2443509,43217,$.TAI),17),new ne(new I(2443874,43218,$.TAI),18),new ne(new I(2444239,43219,$.TAI),19),new ne(new I(2444786,43220,$.TAI),20),new ne(new I(2445151,43221,$.TAI),21),new ne(new I(2445516,43222,$.TAI),22),new ne(new I(2446247,43223,$.TAI),23),new ne(new I(2447161,43224,$.TAI),24),new ne(new I(2447892,43225,$.TAI),25),new ne(new I(2448257,43226,$.TAI),26),new ne(new I(2448804,43227,$.TAI),27),new ne(new I(2449169,43228,$.TAI),28),new ne(new I(2449534,43229,$.TAI),29),new ne(new I(2450083,43230,$.TAI),30),new ne(new I(2450630,43231,$.TAI),31),new ne(new I(2451179,43232,$.TAI),32),new ne(new I(2453736,43233,$.TAI),33),new ne(new I(2454832,43234,$.TAI),34),new ne(new I(2456109,43235,$.TAI),35),new ne(new I(2457204,43236,$.TAI),36),new ne(new I(2457754,43237,$.TAI),37)];var pe=I;var so=Ze(We(),1);function ur(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var kn=ur;function Fn(e,t){if(e===null||typeof e!="object")return e;t=O(t,!1);let n=new e.constructor;for(let o in e)if(e.hasOwnProperty(o)){let i=e[o];t&&(i=Fn(i,t)),n[o]=i}return n}var nt=Fn;function pr(){let e,t,n=new Promise(function(o,i){e=o,t=i});return{resolve:e,reject:t,promise:n}}var Qe=pr;var xn=Ze(We(),1);function nn(e,t){let n;return typeof document<"u"&&(n=document),nn._implementation(e,t,n)}nn._implementation=function(e,t,n){if(!p(e))throw new A("relative uri is required.");if(!p(t)){if(typeof n>"u")return e;t=O(n.baseURI,n.location.href)}let o=new xn.default(e);return o.scheme()!==""?o.toString():o.absoluteTo(t).toString()};var dt=nn;var Ln=Ze(We(),1);function hr(e,t){if(!p(e))throw new A("uri is required.");let n="",o=e.lastIndexOf("/");return o!==-1&&(n=e.substring(0,o+1)),t&&(e=new Ln.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var Bn=hr;var Wn=Ze(We(),1);function dr(e){if(!p(e))throw new A("uri is required.");let t=new Wn.default(e);t.normalize();let n=t.path(),o=n.lastIndexOf("/");return o!==-1&&(n=n.substr(o+1)),o=n.lastIndexOf("."),o===-1?n="":n=n.substr(o+1),n}var Qn=dr;var Hn={};function mr(e,t,n){p(t)||(t=e.width),p(n)||(n=e.height);let o=Hn[t];p(o)||(o={},Hn[t]=o);let i=o[n];if(!p(i)){let r=document.createElement("canvas");r.width=t,r.height=n,i=r.getContext("2d",{willReadFrequently:!0}),i.globalCompositeOperation="copy",o[n]=i}return i.drawImage(e,0,0,t,n),i.getImageData(0,0,t,n).data}var on=mr;var yr=/^blob:/i;function lr(e){return s.typeOf.string("uri",e),yr.test(e)}var It=lr;var ve;function wr(e){p(ve)||(ve=document.createElement("a")),ve.href=window.location.href;let t=ve.host,n=ve.protocol;return ve.href=e,ve.href=ve.href,n!==ve.protocol||t!==ve.host}var $n=wr;var br=/^data:/i;function Or(e){return s.typeOf.string("uri",e),br.test(e)}var zt=Or;function gr(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,o)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let i=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,i.removeChild(t),n()},t.onerror=function(r){o(r)},i.appendChild(t)})}var Vn=gr;function _r(e){if(!p(e))throw new A("obj is required.");let t="";for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],i=`${encodeURIComponent(n)}=`;if(Array.isArray(o))for(let r=0,a=o.length;r<a;++r)t+=`${i+encodeURIComponent(o[r])}&`;else t+=`${i+encodeURIComponent(o)}&`}return t=t.slice(0,-1),t}var Yn=_r;function Sr(e){if(!p(e))throw new A("queryString is required.");let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let o=0,i=n.length;o<i;++o){let r=n[o].split("="),a=decodeURIComponent(r[0]),u=r[1];p(u)?u=decodeURIComponent(u):u="";let d=t[a];typeof d=="string"?t[a]=[d,u]:Array.isArray(d)?d.push(u):t[a]=u}return t}var Xn=Sr;var Rr={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},fe=Object.freeze(Rr);var Er={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},Zn=Object.freeze(Er);function qt(e){e=O(e,O.EMPTY_OBJECT);let t=O(e.throttleByServer,!1),n=O(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=O(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=O(e.type,Zn.OTHER),this.serverKey=e.serverKey,this.state=fe.UNISSUED,this.deferred=void 0,this.cancelled=!1}qt.prototype.cancel=function(){this.cancelled=!0};qt.prototype.clone=function(e){return p(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=fe.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new qt(this)};var Jn=qt;function Tr(e){let t={};if(!e)return t;let n=e.split(`\r -`);for(let o=0;o<n.length;++o){let i=n[o],r=i.indexOf(": ");if(r>0){let a=i.substring(0,r),u=i.substring(r+2);t[a]=u}}return t}var Gn=Tr;function Kn(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=Gn(this.responseHeaders))}Kn.prototype.toString=function(){let e="Request has failed.";return p(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var mt=Kn;var Dt=Ze(We(),1);function yt(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(yt.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});yt.prototype.addEventListener=function(e,t){s.typeOf.func("listener",e),this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};yt.prototype.removeEventListener=function(e,t){s.typeOf.func("listener",e);let n=this._listeners,o=this._scopes,i=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&o[r]===t){i=r;break}return i!==-1?(this._insideRaiseEvent?(this._toRemove.push(i),n[i]=void 0,o[i]=void 0):(n.splice(i,1),o.splice(i,1)),!0):!1};function vr(e,t){return t-e}yt.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,o=t.length;for(e=0;e<o;e++){let r=t[e];p(r)&&t[e].apply(n[e],arguments)}let i=this._toRemove;if(o=i.length,o>0){for(i.sort(vr),e=0;e<o;e++){let r=i[e];t.splice(r,1),n.splice(r,1)}i.length=0}this._insideRaiseEvent=!1};var eo=yt;function He(e){s.typeOf.object("options",e),s.defined("options.comparator",e.comparator),this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(He.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){s.typeOf.number.greaterThanOrEquals("maximumLength",e,0);let t=this._length;if(e<t){let n=this._array;for(let o=e;o<t;++o)n[o]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function rn(e,t,n){let o=e[t];e[t]=e[n],e[n]=o}He.prototype.reserve=function(e){e=O(e,this._length),this._array.length=e};He.prototype.heapify=function(e){e=O(e,0);let t=this._length,n=this._comparator,o=this._array,i=-1,r=!0;for(;r;){let a=2*(e+1),u=a-1;u<t&&n(o[u],o[e])<0?i=u:i=e,a<t&&n(o[a],o[i])<0&&(i=a),i!==e?(rn(o,i,e),e=i):r=!1}};He.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};He.prototype.insert=function(e){s.defined("element",e);let t=this._array,n=this._comparator,o=this._maximumLength,i=this._length++;for(i<t.length?t[i]=e:t.push(e);i!==0;){let a=Math.floor((i-1)/2);if(n(t[i],t[a])<0)rn(t,i,a),i=a;else break}let r;return p(o)&&this._length>o&&(r=t[o],this._length=o),r};He.prototype.pop=function(e){if(e=O(e,0),this._length===0)return;s.typeOf.number.lessThan("index",e,this._length);let t=this._array,n=t[e];return rn(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var to=He;function Cr(e,t){return e.priority-t.priority}var K={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},ot=20,we=new to({comparator:Cr});we.maximumLength=ot;we.reserve(ot);var Ce=[],Pe={},Ar=typeof document<"u"?new Dt.default(document.location.href):new Dt.default,Nt=new eo;function se(){}se.maximumRequests=50;se.maximumRequestsPerServer=18;se.requestsByServer={};se.throttleRequests=!0;se.debugShowStatistics=!1;se.requestCompletedEvent=Nt;Object.defineProperties(se,{statistics:{get:function(){return K}},priorityHeapLength:{get:function(){return ot},set:function(e){if(e<ot)for(;we.length>e;){let t=we.pop();$e(t)}ot=e,we.maximumLength=e,we.reserve(e)}}});function no(e){p(e.priorityFunction)&&(e.priority=e.priorityFunction())}se.serverHasOpenSlots=function(e,t){t=O(t,1);let n=O(se.requestsByServer[e],se.maximumRequestsPerServer);return Pe[e]+t<=n};se.heapHasOpenSlots=function(e){return we.length+e<=ot};function oo(e){return e.state===fe.UNISSUED&&(e.state=fe.ISSUED,e.deferred=Qe()),e.deferred.promise}function jr(e){return function(t){if(e.state===fe.CANCELLED)return;let n=e.deferred;--K.numberOfActiveRequests,--Pe[e.serverKey],Nt.raiseEvent(),e.state=fe.RECEIVED,e.deferred=void 0,n.resolve(t)}}function Mr(e){return function(t){e.state!==fe.CANCELLED&&(++K.numberOfFailedRequests,--K.numberOfActiveRequests,--Pe[e.serverKey],Nt.raiseEvent(t),e.state=fe.FAILED,e.deferred.reject(t))}}function ro(e){let t=oo(e);return e.state=fe.ACTIVE,Ce.push(e),++K.numberOfActiveRequests,++K.numberOfActiveRequestsEver,++Pe[e.serverKey],e.requestFunction().then(jr(e)).catch(Mr(e)),t}function $e(e){let t=e.state===fe.ACTIVE;if(e.state=fe.CANCELLED,++K.numberOfCancelledRequests,p(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--K.numberOfActiveRequests,--Pe[e.serverKey],++K.numberOfCancelledActiveRequests),p(e.cancelFunction)&&e.cancelFunction()}se.update=function(){let e,t,n=0,o=Ce.length;for(e=0;e<o;++e){if(t=Ce[e],t.cancelled&&$e(t),t.state!==fe.ACTIVE){++n;continue}n>0&&(Ce[e-n]=t)}Ce.length-=n;let i=we.internalArray,r=we.length;for(e=0;e<r;++e)no(i[e]);we.resort();let a=Math.max(se.maximumRequests-Ce.length,0),u=0;for(;u<a&&we.length>0;){if(t=we.pop(),t.cancelled){$e(t);continue}if(t.throttleByServer&&!se.serverHasOpenSlots(t.serverKey)){$e(t);continue}ro(t),++u}Pr()};se.getServerKey=function(e){s.typeOf.string("url",e);let t=new Dt.default(e);t.scheme()===""&&(t=t.absoluteTo(Ar),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let o=Pe[n];return p(o)||(Pe[n]=0),n};se.request=function(e){if(s.typeOf.object("request",e),s.typeOf.string("request.url",e.url),s.typeOf.func("request.requestFunction",e.requestFunction),zt(e.url)||It(e.url))return Nt.raiseEvent(),e.state=fe.RECEIVED,e.requestFunction();if(++K.numberOfAttemptedRequests,p(e.serverKey)||(e.serverKey=se.getServerKey(e.url)),se.throttleRequests&&e.throttleByServer&&!se.serverHasOpenSlots(e.serverKey))return;if(!se.throttleRequests||!e.throttle)return ro(e);if(Ce.length>=se.maximumRequests)return;no(e);let t=we.insert(e);if(p(t)){if(t===e)return;$e(t)}return oo(e)};function Pr(){se.debugShowStatistics&&(K.numberOfActiveRequests===0&&K.lastNumberOfActiveRequests>0&&(K.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${K.numberOfAttemptedRequests}`),K.numberOfAttemptedRequests=0),K.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${K.numberOfCancelledRequests}`),K.numberOfCancelledRequests=0),K.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${K.numberOfCancelledActiveRequests}`),K.numberOfCancelledActiveRequests=0),K.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${K.numberOfFailedRequests}`),K.numberOfFailedRequests=0)),K.lastNumberOfActiveRequests=K.numberOfActiveRequests)}se.clearForSpecs=function(){for(;we.length>0;){let t=we.pop();$e(t)}let e=Ce.length;for(let t=0;t<e;++t)$e(Ce[t]);Ce.length=0,Pe={},K.numberOfAttemptedRequests=0,K.numberOfActiveRequests=0,K.numberOfCancelledRequests=0,K.numberOfCancelledActiveRequests=0,K.numberOfFailedRequests=0,K.numberOfActiveRequestsEver=0,K.lastNumberOfActiveRequests=0};se.numberOfActiveRequestsByServer=function(e){return Pe[e]};se.requestHeap=we;var kt=se;var io=Ze(We(),1);var lt={},rt={};lt.add=function(e,t){if(!p(e))throw new A("host is required.");if(!p(t)||t<=0)throw new A("port is required to be greater than 0.");let n=`${e.toLowerCase()}:${t}`;p(rt[n])||(rt[n]=!0)};lt.remove=function(e,t){if(!p(e))throw new A("host is required.");if(!p(t)||t<=0)throw new A("port is required to be greater than 0.");let n=`${e.toLowerCase()}:${t}`;p(rt[n])&&delete rt[n]};function Ur(e){let t=new io.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let o=t.scheme();if(o.length===0&&(o=window.location.protocol,o=o.substring(0,o.length-1)),o==="http")n+=":80";else if(o==="https")n+=":443";else return}return n}}lt.contains=function(e){if(!p(e))throw new A("url is required.");let t=Ur(e);return!!(p(t)&&p(rt[t]))};lt.clear=function(){rt={}};var cn=lt;var ao=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function U(e){e=O(e,O.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),s.typeOf.string("options.url",e.url),this._url=void 0,this._templateValues=Ae(e.templateValues,{}),this._queryParameters=Ae(e.queryParameters,{}),this.headers=Ae(e.headers,{}),this.request=O(e.request,new Jn),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=O(e.retryAttempts,0),this._retryCount=0,O(e.parseUrl,!0)?this.parseUrl(e.url,!0,!0):this._url=e.url,this._credits=e.credits}function Ae(e,t){return p(e)?nt(e):t}U.createIfNeeded=function(e){return e instanceof U?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new U({url:e})};var it;U.supportsImageBitmapOptions=function(){return p(it)?it:typeof createImageBitmap!="function"?(it=Promise.resolve(!1),it):(it=U.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC"}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=on(t[0]),o=on(t[1]);return n[1]!==o[1]}).catch(function(){return!1}),it)};Object.defineProperties(U,{isBlobSupported:{get:function(){return ao}}});Object.defineProperties(U.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){this.parseUrl(e,!1,!1)}},extension:{get:function(){return Qn(this._url)}},isDataUri:{get:function(){return zt(this._url)}},isBlobUri:{get:function(){return It(this._url)}},isCrossOriginUrl:{get:function(){return $n(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}},credits:{get:function(){return this._credits}}});U.prototype.toString=function(){return this.getUrlComponent(!0,!0)};U.prototype.parseUrl=function(e,t,n,o){let i=new so.default(e),r=Ir(i.query());this._queryParameters=t?xt(r,this.queryParameters,n):r,i.search(""),i.fragment(""),p(o)&&i.scheme()===""&&(i=i.absoluteTo(dt(o))),this._url=i.toString()};function Ir(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:Xn(e)}function xt(e,t,n){if(!n)return De(e,t);let o=nt(e,!0);for(let i in t)if(t.hasOwnProperty(i)){let r=o[i],a=t[i];p(r)?(Array.isArray(r)||(r=o[i]=[r]),o[i]=r.concat(a)):o[i]=Array.isArray(a)?a.slice():a}return o}U.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${zr(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let o=this._templateValues;return Object.keys(o).length>0&&(n=n.replace(/{(.*?)}/g,function(i,r){let a=o[r];return p(a)?encodeURIComponent(a):i})),t&&p(this.proxy)&&(n=this.proxy.getURL(n)),n};function zr(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!p(e[t[0]])?`?${t[0]}`:`?${Yn(e)}`}U.prototype.setQueryParameters=function(e,t){t?this._queryParameters=xt(this._queryParameters,e,!1):this._queryParameters=xt(e,this._queryParameters,!1)};U.prototype.appendQueryParameters=function(e){this._queryParameters=xt(e,this._queryParameters,!0)};U.prototype.setTemplateValues=function(e,t){t?this._templateValues=De(this._templateValues,e):this._templateValues=De(e,this._templateValues)};U.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,p(e.url)){let n=O(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return p(e.queryParameters)&&(t._queryParameters=De(e.queryParameters,t.queryParameters)),p(e.templateValues)&&(t._templateValues=De(e.templateValues,t.templateValues)),p(e.headers)&&(t.headers=De(e.headers,t.headers)),p(e.proxy)&&(t.proxy=e.proxy),p(e.request)&&(t.request=e.request),p(e.retryCallback)&&(t.retryCallback=e.retryCallback),p(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};U.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(o){return++n._retryCount,o})};U.prototype.clone=function(e){return p(e)?(e._url=this._url,e._queryParameters=nt(this._queryParameters),e._templateValues=nt(this._templateValues),e.headers=nt(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new U({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:p(this.credits)?this.credits.slice():void 0})};U.prototype.getBaseUri=function(e){return Bn(this.getUrlComponent(e),e)};U.prototype.appendForwardSlash=function(){this._url=kn(this._url)};U.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};U.fetchArrayBuffer=function(e){return new U(e).fetchArrayBuffer()};U.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};U.fetchBlob=function(e){return new U(e).fetchBlob()};U.prototype.fetchImage=function(e){e=O(e,O.EMPTY_OBJECT);let t=O(e.preferImageBitmap,!1),n=O(e.preferBlob,!1),o=O(e.flipY,!1),i=O(e.skipColorSpaceConversion,!1);if(an(this.request),!ao||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return sn({resource:this,flipY:o,skipColorSpaceConversion:i,preferImageBitmap:t});let r=this.fetchBlob();if(!p(r))return;let a,u,d,m;return U.supportsImageBitmapOptions().then(function(l){return a=l,u=a&&t,r}).then(function(l){if(!p(l))return;if(m=l,u)return U.createImageBitmapFromBlob(l,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:i});let w=window.URL.createObjectURL(l);return d=new U({url:w}),sn({resource:d,flipY:o,skipColorSpaceConversion:i,preferImageBitmap:!1})}).then(function(l){if(p(l))return l.blob=m,u||window.URL.revokeObjectURL(d.url),l}).catch(function(l){return p(d)&&window.URL.revokeObjectURL(d.url),l.blob=m,Promise.reject(l)})};function sn(e){let t=e.resource,n=e.flipY,o=e.skipColorSpaceConversion,i=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let u=!1;!t.isDataUri&&!t.isBlobUri&&(u=t.isCrossOriginUrl);let d=Qe();return U._Implementations.createImage(r,u,d,n,o,i),d.promise};let a=kt.request(r);if(p(a))return a.catch(function(u){return r.state!==fe.FAILED?Promise.reject(u):t.retryOnError(u).then(function(d){return d?(r.state=fe.UNISSUED,r.deferred=void 0,sn({resource:t,flipY:n,skipColorSpaceConversion:o,preferImageBitmap:i})):Promise.reject(u)})})}U.fetchImage=function(e){return new U(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};U.prototype.fetchText=function(){return this.fetch({responseType:"text"})};U.fetchText=function(e){return new U(e).fetchText()};U.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(p(e))return e.then(function(t){if(p(t))return JSON.parse(t)})};U.fetchJson=function(e){return new U(e).fetchJson()};U.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};U.fetchXML=function(e){return new U(e).fetchXML()};U.prototype.fetchJsonp=function(e){e=O(e,"callback"),an(this.request);let t;do t=`loadJsonp${E.nextRandomNumber().toString().substring(2,8)}`;while(p(window[t]));return fo(this,e,t)};function fo(e,t,n){let o={};o[t]=n,e.setQueryParameters(o);let i=e.request,r=e.url;i.url=r,i.requestFunction=function(){let u=Qe();return window[n]=function(d){u.resolve(d);try{delete window[n]}catch{window[n]=void 0}},U._Implementations.loadAndExecuteScript(r,n,u),u.promise};let a=kt.request(i);if(p(a))return a.catch(function(u){return i.state!==fe.FAILED?Promise.reject(u):e.retryOnError(u).then(function(d){return d?(i.state=fe.UNISSUED,i.deferred=void 0,fo(e,t,n)):Promise.reject(u)})})}U.fetchJsonp=function(e){return new U(e).fetchJsonp(e.callbackParameterName)};U.prototype._makeRequest=function(e){let t=this;an(t.request);let n=t.request,o=t.url;n.url=o,n.requestFunction=function(){let r=e.responseType,a=De(e.headers,t.headers),u=e.overrideMimeType,d=e.method,m=e.data,l=Qe(),w=U._Implementations.loadWithXhr(o,r,d,m,a,l,u);return p(w)&&p(w.abort)&&(n.cancelFunction=function(){w.abort()}),l.promise};let i=kt.request(n);if(p(i))return i.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==fe.FAILED?Promise.reject(r):t.retryOnError(r).then(function(a){return a?(n.state=fe.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function an(e){if(e.state===fe.ISSUED||e.state===fe.ACTIVE)throw new Se("The Resource is already being fetched.");e.state=fe.UNISSUED,e.deferred=void 0}var qr=/^data:(.*?)(;base64)?,(.*)$/;function Ft(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function co(e,t){let n=Ft(e,t),o=new ArrayBuffer(n.length),i=new Uint8Array(o);for(let r=0;r<n.length;r++)i[r]=n.charCodeAt(r);return o}function Dr(e,t){t=O(t,"");let n=e[1],o=!!e[2],i=e[3],r,a;switch(t){case"":case"text":return Ft(o,i);case"arraybuffer":return co(o,i);case"blob":return r=co(o,i),new Blob([r],{type:n});case"document":return a=new DOMParser,a.parseFromString(Ft(o,i),n);case"json":return JSON.parse(Ft(o,i));default:throw new A(`Unhandled responseType: ${t}`)}}U.prototype.fetch=function(e){return e=Ae(e,{}),e.method="GET",this._makeRequest(e)};U.fetch=function(e){return new U(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.delete=function(e){return e=Ae(e,{}),e.method="DELETE",this._makeRequest(e)};U.delete=function(e){return new U(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};U.prototype.head=function(e){return e=Ae(e,{}),e.method="HEAD",this._makeRequest(e)};U.head=function(e){return new U(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.options=function(e){return e=Ae(e,{}),e.method="OPTIONS",this._makeRequest(e)};U.options=function(e){return new U(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.post=function(e,t){return s.defined("data",e),t=Ae(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};U.post=function(e){return new U(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.put=function(e,t){return s.defined("data",e),t=Ae(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};U.put=function(e){return new U(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.patch=function(e,t){return s.defined("data",e),t=Ae(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};U.patch=function(e){return new U(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U._Implementations={};U._Implementations.loadImageElement=function(e,t,n){let o=new Image;o.onload=function(){o.naturalWidth===0&&o.naturalHeight===0&&o.width===0&&o.height===0&&(o.width=300,o.height=150),n.resolve(o)},o.onerror=function(i){n.reject(i)},t&&(cn.contains(e)?o.crossOrigin="use-credentials":o.crossOrigin=""),o.src=e};U._Implementations.createImage=function(e,t,n,o,i,r){let a=e.url;U.supportsImageBitmapOptions().then(function(u){if(!(u&&r)){U._Implementations.loadImageElement(a,t,n);return}let d="blob",m="GET",l=Qe(),w=U._Implementations.loadWithXhr(a,d,m,void 0,void 0,l,void 0,void 0,void 0);return p(w)&&p(w.abort)&&(e.cancelFunction=function(){w.abort()}),l.promise.then(function(T){if(!p(T)){n.reject(new Se(`Successfully retrieved ${a} but it contained no content.`));return}return U.createImageBitmapFromBlob(T,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:i})}).then(function(T){n.resolve(T)})}).catch(function(u){n.reject(u)})};U.createImageBitmapFromBlob=function(e,t){return s.defined("options",t),s.typeOf.bool("options.flipY",t.flipY),s.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),s.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function Nr(e,t,n,o,i,r,a){fetch(e,{method:n,headers:i}).then(async u=>{if(!u.ok){let d={};u.headers.forEach((m,l)=>{d[l]=m}),r.reject(new mt(u.status,u,d));return}switch(t){case"text":r.resolve(u.text());break;case"json":r.resolve(u.json());break;default:r.resolve(new Uint8Array(await u.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new mt)})}var kr=typeof XMLHttpRequest>"u";U._Implementations.loadWithXhr=function(e,t,n,o,i,r,a){let u=qr.exec(e);if(u!==null){r.resolve(Dr(u,t));return}if(kr){Nr(e,t,n,o,i,r,a);return}let d=new XMLHttpRequest;if(cn.contains(e)&&(d.withCredentials=!0),d.open(n,e,!0),p(a)&&p(d.overrideMimeType)&&d.overrideMimeType(a),p(i))for(let l in i)i.hasOwnProperty(l)&&d.setRequestHeader(l,i[l]);p(t)&&(d.responseType=t);let m=!1;return typeof e=="string"&&(m=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),d.onload=function(){if((d.status<200||d.status>=300)&&!(m&&d.status===0)){r.reject(new mt(d.status,d.response,d.getAllResponseHeaders()));return}let l=d.response,w=d.responseType;if(n==="HEAD"||n==="OPTIONS"){let v=d.getAllResponseHeaders().trim().split(/[\r\n]+/),P={};v.forEach(function(j){let q=j.split(": "),k=q.shift();P[k]=q.join(": ")}),r.resolve(P);return}if(d.status===204)r.resolve(void 0);else if(p(l)&&(!p(t)||w===t))r.resolve(l);else if(t==="json"&&typeof l=="string")try{r.resolve(JSON.parse(l))}catch(T){r.reject(T)}else(w===""||w==="document")&&p(d.responseXML)&&d.responseXML.hasChildNodes()?r.resolve(d.responseXML):(w===""||w==="text")&&p(d.responseText)?r.resolve(d.responseText):r.reject(new Se("Invalid XMLHttpRequest response type."))},d.onerror=function(l){r.reject(new mt)},d.send(o),d};U._Implementations.loadAndExecuteScript=function(e,t,n){return Vn(e,t).catch(function(o){n.reject(o)})};U._DefaultImplementations={};U._DefaultImplementations.createImage=U._Implementations.createImage;U._DefaultImplementations.loadWithXhr=U._Implementations.loadWithXhr;U._DefaultImplementations.loadAndExecuteScript=U._Implementations.loadAndExecuteScript;U.DEFAULT=Object.freeze(new U({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var ke=U;function bt(e){e=O(e,O.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=O(e.addNewLeapSeconds,!0),p(e.data)?uo(this,e.data):uo(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}bt.fromUrl=async function(e,t){s.defined("url",e),t=O(t,O.EMPTY_OBJECT);let n=ke.createIfNeeded(e),o;try{o=await n.fetchJson()}catch{throw new Se(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new bt({addNewLeapSeconds:t.addNewLeapSeconds,data:o})};bt.NONE=Object.freeze({compute:function(e,t){return p(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new pt(0,0,0,0,0),t}});bt.prototype.compute=function(e,t){if(!p(this._samples))return;if(p(t)||(t=new pt(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,o=this._lastIndex,i=0,r=0;if(p(o)){let u=n[o],d=n[o+1],m=pe.lessThanOrEquals(u,e),l=!p(d),w=l||pe.greaterThanOrEquals(d,e);if(m&&w)return i=o,!l&&d.equals(e)&&++i,r=i+1,ho(this,n,this._samples,e,i,r,t),t}let a=Be(n,e,pe.compare,this._dateColumn);return a>=0?(a<n.length-1&&n[a+1].equals(e)&&++a,i=a,r=a):(r=~a,i=r-1,i<0&&(i=0)),this._lastIndex=i,ho(this,n,this._samples,e,i,r,t),t};function Fr(e,t){return pe.compare(e.julianDate,t)}function uo(e,t){if(!p(t.columnNames))throw new Se("Error in loaded EOP data: The columnNames property is required.");if(!p(t.samples))throw new Se("Error in loaded EOP data: The samples property is required.");let n=t.columnNames.indexOf("modifiedJulianDateUtc"),o=t.columnNames.indexOf("xPoleWanderRadians"),i=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),a=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),u=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),d=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||o<0||i<0||r<0||a<0||u<0||d<0)throw new Se("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");let m=e._samples=t.samples,l=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=o,e._yPoleWanderRadiansColumn=i,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=a,e._yCelestialPoleOffsetRadiansColumn=u,e._taiMinusUtcSecondsColumn=d,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let w,T=e._addNewLeapSeconds;for(let v=0,P=m.length;v<P;v+=e._columnCount){let j=m[v+n],q=m[v+d],k=j+ce.MODIFIED_JULIAN_DATE_DIFFERENCE,x=new pe(k,q,$.TAI);if(l.push(x),T){if(q!==w&&p(w)){let F=pe.leapSeconds,B=Be(F,x,Fr);if(B<0){let Q=new ne(x,q);F.splice(~B,0,Q)}}w=q}}}function po(e,t,n,o,i){let r=n*o;i.xPoleWander=t[r+e._xPoleWanderRadiansColumn],i.yPoleWander=t[r+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function wt(e,t,n){return t+e*(n-t)}function ho(e,t,n,o,i,r,a){let u=e._columnCount;if(r>t.length-1)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;let d=t[i],m=t[r];if(d.equals(m)||o.equals(d))return po(e,n,i,u,a),a;if(o.equals(m))return po(e,n,r,u,a),a;let l=pe.secondsDifference(o,d)/pe.secondsDifference(m,d),w=i*u,T=r*u,v=n[w+e._ut1MinusUtcSecondsColumn],P=n[T+e._ut1MinusUtcSecondsColumn],j=P-v;if(j>.5||j<-.5){let q=n[w+e._taiMinusUtcSecondsColumn],k=n[T+e._taiMinusUtcSecondsColumn];q!==k&&(m.equals(o)?v=P:P-=k-q)}return a.xPoleWander=wt(l,n[w+e._xPoleWanderRadiansColumn],n[T+e._xPoleWanderRadiansColumn]),a.yPoleWander=wt(l,n[w+e._yPoleWanderRadiansColumn],n[T+e._yPoleWanderRadiansColumn]),a.xPoleOffset=wt(l,n[w+e._xCelestialPoleOffsetRadiansColumn],n[T+e._xCelestialPoleOffsetRadiansColumn]),a.yPoleOffset=wt(l,n[w+e._yCelestialPoleOffsetRadiansColumn],n[T+e._yCelestialPoleOffsetRadiansColumn]),a.ut1MinusUtc=wt(l,v,P),a}var mo=bt;function be(e,t,n){this.heading=O(e,0),this.pitch=O(t,0),this.roll=O(n,0)}be.fromQuaternion=function(e,t){if(!p(e))throw new A("quaternion is required");p(t)||(t=new be);let n=2*(e.w*e.y-e.z*e.x),o=1-2*(e.x*e.x+e.y*e.y),i=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),a=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(a,r),t.roll=Math.atan2(i,o),t.pitch=-E.asinClamped(n),t};be.fromDegrees=function(e,t,n,o){if(!p(e))throw new A("heading is required");if(!p(t))throw new A("pitch is required");if(!p(n))throw new A("roll is required");return p(o)||(o=new be),o.heading=e*E.RADIANS_PER_DEGREE,o.pitch=t*E.RADIANS_PER_DEGREE,o.roll=n*E.RADIANS_PER_DEGREE,o};be.clone=function(e,t){if(p(e))return p(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new be(e.heading,e.pitch,e.roll)};be.equals=function(e,t){return e===t||p(e)&&p(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};be.equalsEpsilon=function(e,t,n,o){return e===t||p(e)&&p(t)&&E.equalsEpsilon(e.heading,t.heading,n,o)&&E.equalsEpsilon(e.pitch,t.pitch,n,o)&&E.equalsEpsilon(e.roll,t.roll,n,o)};be.prototype.clone=function(e){return be.clone(this,e)};be.prototype.equals=function(e){return be.equals(this,e)};be.prototype.equalsEpsilon=function(e,t,n){return be.equalsEpsilon(this,e,t,n)};be.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Lt=be;var yo=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function xr(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let o=e[t].getAttribute("src"),i=yo.exec(o);if(i!==null)return i[1]}}var Bt;function lo(e){return typeof document>"u"?e:(p(Bt)||(Bt=document.createElement("a")),Bt.href=e,Bt.href)}var Ve;function wo(){if(p(Ve))return Ve;let e;if(typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:p(import.meta?.url)?e=dt(".",import.meta.url):typeof define=="object"&&p(define.amd)&&!define.amd.toUrlUndefined&&p(St.toUrl)?e=dt("..",Ye("Core/buildModuleUrl.js")):e=xr(),!p(e))throw new A("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return Ve=new ke({url:lo(e)}),Ve.appendForwardSlash(),Ve}function Lr(e){return lo(St.toUrl(`../${e}`))}function bo(e){return wo().getDerivedResource({url:e}).url}var Wt;function Ye(e){return p(Wt)||(typeof define=="object"&&p(define.amd)&&!define.amd.toUrlUndefined&&p(St.toUrl)?Wt=Lr:Wt=bo),Wt(e)}Ye._cesiumScriptRegex=yo;Ye._buildModuleUrlFromBaseUrl=bo;Ye._clearBaseResource=function(){Ve=void 0};Ye.setBaseUrl=function(e){Ve=ke.DEFAULT.getDerivedResource({url:e})};Ye.getCesiumBaseUrl=wo;var Oo=Ye;function Br(e,t,n){this.x=e,this.y=t,this.s=n}var Qt=Br;function pn(e){e=O(e,O.EMPTY_OBJECT),this._xysFileUrlTemplate=ke.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=O(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=O(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new pe(this._sampleZeroJulianEphemerisDate,0,$.TAI),this._stepSizeDays=O(e.stepSizeDays,1),this._samplesPerXysFile=O(e.samplesPerXysFile,1e3),this._totalSamples=O(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),o=this._xTable=new Array(t+1),i=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=i,o[r]=r*this._stepSizeDays;for(let a=0;a<=t;++a)a!==r&&(n[r]*=r-a);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var Wr=new pe(0,0,$.TAI);function fn(e,t,n){let o=Wr;return o.dayNumber=t,o.secondsOfDay=n,pe.daysDifference(o,e._sampleZeroDateTT)}pn.prototype.preload=function(e,t,n,o){let i=fn(this,e,t),r=fn(this,n,o),a=i/this._stepSizeDays-this._interpolationOrder/2|0;a<0&&(a=0);let u=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;u>=this._totalSamples&&(u=this._totalSamples-1);let d=a/this._samplesPerXysFile|0,m=u/this._samplesPerXysFile|0,l=[];for(let w=d;w<=m;++w)l.push(un(this,w));return Promise.all(l)};pn.prototype.computeXysRadians=function(e,t,n){let o=fn(this,e,t);if(o<0)return;let i=o/this._stepSizeDays|0;if(i>=this._totalSamples)return;let r=this._interpolationOrder,a=i-(r/2|0);a<0&&(a=0);let u=a+r;u>=this._totalSamples&&(u=this._totalSamples-1,a=u-r,a<0&&(a=0));let d=!1,m=this._samples;if(p(m[a*3])||(un(this,a/this._samplesPerXysFile|0),d=!0),p(m[u*3])||(un(this,u/this._samplesPerXysFile|0),d=!0),d)return;p(n)?(n.x=0,n.y=0,n.s=0):n=new Qt(0,0,0);let l=o-a*this._stepSizeDays,w=this._work,T=this._denominators,v=this._coef,P=this._xTable,j,q;for(j=0;j<=r;++j)w[j]=l-P[j];for(j=0;j<=r;++j){for(v[j]=1,q=0;q<=r;++q)q!==j&&(v[j]*=w[q]);v[j]*=T[j];let k=(a+j)*3;n.x+=v[j]*m[k++],n.y+=v[j]*m[k++],n.s+=v[j]*m[k]}return n};function un(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,o=e._xysFileUrlTemplate;p(o)?n=o.getDerivedResource({templateValues:{0:t}}):n=new ke({url:Oo(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let i=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let a=e._samples,u=r.samples,d=t*e._samplesPerXysFile*3;for(let m=0,l=u.length;m<l;++m)a[d+m]=u[m]});return e._chunkDownloadsInProgress[t]=i,i}var go=pn;function R(e,t,n,o){this.x=O(e,0),this.y=O(t,0),this.z=O(n,0),this.w=O(o,0)}var Ot=new _;R.fromAxisAngle=function(e,t,n){s.typeOf.object("axis",e),s.typeOf.number("angle",t);let o=t/2,i=Math.sin(o);Ot=_.normalize(e,Ot);let r=Ot.x*i,a=Ot.y*i,u=Ot.z*i,d=Math.cos(o);return p(n)?(n.x=r,n.y=a,n.z=u,n.w=d,n):new R(r,a,u,d)};var Qr=[1,2,0],Hr=new Array(3);R.fromRotationMatrix=function(e,t){s.typeOf.object("matrix",e);let n,o,i,r,a,u=e[W.COLUMN0ROW0],d=e[W.COLUMN1ROW1],m=e[W.COLUMN2ROW2],l=u+d+m;if(l>0)n=Math.sqrt(l+1),a=.5*n,n=.5/n,o=(e[W.COLUMN1ROW2]-e[W.COLUMN2ROW1])*n,i=(e[W.COLUMN2ROW0]-e[W.COLUMN0ROW2])*n,r=(e[W.COLUMN0ROW1]-e[W.COLUMN1ROW0])*n;else{let w=Qr,T=0;d>u&&(T=1),m>u&&m>d&&(T=2);let v=w[T],P=w[v];n=Math.sqrt(e[W.getElementIndex(T,T)]-e[W.getElementIndex(v,v)]-e[W.getElementIndex(P,P)]+1);let j=Hr;j[T]=.5*n,n=.5/n,a=(e[W.getElementIndex(P,v)]-e[W.getElementIndex(v,P)])*n,j[v]=(e[W.getElementIndex(v,T)]+e[W.getElementIndex(T,v)])*n,j[P]=(e[W.getElementIndex(P,T)]+e[W.getElementIndex(T,P)])*n,o=-j[0],i=-j[1],r=-j[2]}return p(t)?(t.x=o,t.y=i,t.z=r,t.w=a,t):new R(o,i,r,a)};var _o=new R,So=new R,hn=new R,Ro=new R;R.fromHeadingPitchRoll=function(e,t){return s.typeOf.object("headingPitchRoll",e),Ro=R.fromAxisAngle(_.UNIT_X,e.roll,_o),hn=R.fromAxisAngle(_.UNIT_Y,-e.pitch,t),t=R.multiply(hn,Ro,hn),So=R.fromAxisAngle(_.UNIT_Z,-e.heading,_o),R.multiply(So,t,t)};var Ht=new _,dn=new _,Ee=new R,Eo=new R,$t=new R;R.packedLength=4;R.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};R.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new R),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};R.packedInterpolationLength=3;R.convertPackedArrayForInterpolation=function(e,t,n,o){R.unpack(e,n*4,$t),R.conjugate($t,$t);for(let i=0,r=n-t+1;i<r;i++){let a=i*3;R.unpack(e,(t+i)*4,Ee),R.multiply(Ee,$t,Ee),Ee.w<0&&R.negate(Ee,Ee),R.computeAxis(Ee,Ht);let u=R.computeAngle(Ee);p(o)||(o=[]),o[a]=Ht.x*u,o[a+1]=Ht.y*u,o[a+2]=Ht.z*u}};R.unpackInterpolationResult=function(e,t,n,o,i){p(i)||(i=new R),_.fromArray(e,0,dn);let r=_.magnitude(dn);return R.unpack(t,o*4,Eo),r===0?R.clone(R.IDENTITY,Ee):R.fromAxisAngle(dn,r,Ee),R.multiply(Ee,Eo,i)};R.clone=function(e,t){if(p(e))return p(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new R(e.x,e.y,e.z,e.w)};R.conjugate=function(e,t){return s.typeOf.object("quaternion",e),s.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};R.magnitudeSquared=function(e){return s.typeOf.object("quaternion",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};R.magnitude=function(e){return Math.sqrt(R.magnitudeSquared(e))};R.normalize=function(e,t){s.typeOf.object("result",t);let n=1/R.magnitude(e),o=e.x*n,i=e.y*n,r=e.z*n,a=e.w*n;return t.x=o,t.y=i,t.z=r,t.w=a,t};R.inverse=function(e,t){s.typeOf.object("result",t);let n=R.magnitudeSquared(e);return t=R.conjugate(e,t),R.multiplyByScalar(t,1/n,t)};R.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};R.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};R.negate=function(e,t){return s.typeOf.object("quaternion",e),s.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};R.dot=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};R.multiply=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e.x,i=e.y,r=e.z,a=e.w,u=t.x,d=t.y,m=t.z,l=t.w,w=a*u+o*l+i*m-r*d,T=a*d-o*m+i*l+r*u,v=a*m+o*d-i*u+r*l,P=a*l-o*u-i*d-r*m;return n.x=w,n.y=T,n.z=v,n.w=P,n};R.multiplyByScalar=function(e,t,n){return s.typeOf.object("quaternion",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};R.divideByScalar=function(e,t,n){return s.typeOf.object("quaternion",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};R.computeAxis=function(e,t){s.typeOf.object("quaternion",e),s.typeOf.object("result",t);let n=e.w;if(Math.abs(n-1)<E.EPSILON6||Math.abs(n+1)<E.EPSILON6)return t.x=1,t.y=t.z=0,t;let o=1/Math.sqrt(1-n*n);return t.x=e.x*o,t.y=e.y*o,t.z=e.z*o,t};R.computeAngle=function(e){return s.typeOf.object("quaternion",e),Math.abs(e.w-1)<E.EPSILON6?0:2*Math.acos(e.w)};var mn=new R;R.lerp=function(e,t,n,o){return s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o),mn=R.multiplyByScalar(t,n,mn),o=R.multiplyByScalar(e,1-n,o),R.add(mn,o,o)};var To=new R,yn=new R,ln=new R;R.slerp=function(e,t,n,o){s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o);let i=R.dot(e,t),r=t;if(i<0&&(i=-i,r=To=R.negate(t,To)),1-i<E.EPSILON6)return R.lerp(e,r,n,o);let a=Math.acos(i);return yn=R.multiplyByScalar(e,Math.sin((1-n)*a),yn),ln=R.multiplyByScalar(r,Math.sin(n*a),ln),o=R.add(yn,ln,o),R.multiplyByScalar(o,1/Math.sin(a),o)};R.log=function(e,t){s.typeOf.object("quaternion",e),s.typeOf.object("result",t);let n=E.acosClamped(e.w),o=0;return n!==0&&(o=n/Math.sin(n)),_.multiplyByScalar(e,o,t)};R.exp=function(e,t){s.typeOf.object("cartesian",e),s.typeOf.object("result",t);let n=_.magnitude(e),o=0;return n!==0&&(o=Math.sin(n)/n),t.x=e.x*o,t.y=e.y*o,t.z=e.z*o,t.w=Math.cos(n),t};var $r=new _,Vr=new _,gt=new R,ct=new R;R.computeInnerQuadrangle=function(e,t,n,o){s.typeOf.object("q0",e),s.typeOf.object("q1",t),s.typeOf.object("q2",n),s.typeOf.object("result",o);let i=R.conjugate(t,gt);R.multiply(i,n,ct);let r=R.log(ct,$r);R.multiply(i,e,ct);let a=R.log(ct,Vr);return _.add(r,a,r),_.multiplyByScalar(r,.25,r),_.negate(r,r),R.exp(r,gt),R.multiply(t,gt,o)};R.squad=function(e,t,n,o,i,r){s.typeOf.object("q0",e),s.typeOf.object("q1",t),s.typeOf.object("s0",n),s.typeOf.object("s1",o),s.typeOf.number("t",i),s.typeOf.object("result",r);let a=R.slerp(e,t,i,gt),u=R.slerp(n,o,i,ct);return R.slerp(a,u,2*i*(1-i),r)};var Yr=new R,vo=1.9011074535173003,Vt=ft.supportsTypedArrays()?new Float32Array(8):[],Yt=ft.supportsTypedArrays()?new Float32Array(8):[],Ue=ft.supportsTypedArrays()?new Float32Array(8):[],Ie=ft.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;Vt[e]=1/(t*n),Yt[e]=t/n}Vt[7]=vo/(8*17);Yt[7]=vo*8/17;R.fastSlerp=function(e,t,n,o){s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o);let i=R.dot(e,t),r;i>=0?r=1:(r=-1,i=-i);let a=i-1,u=1-n,d=n*n,m=u*u;for(let v=7;v>=0;--v)Ue[v]=(Vt[v]*d-Yt[v])*a,Ie[v]=(Vt[v]*m-Yt[v])*a;let l=r*n*(1+Ue[0]*(1+Ue[1]*(1+Ue[2]*(1+Ue[3]*(1+Ue[4]*(1+Ue[5]*(1+Ue[6]*(1+Ue[7])))))))),w=u*(1+Ie[0]*(1+Ie[1]*(1+Ie[2]*(1+Ie[3]*(1+Ie[4]*(1+Ie[5]*(1+Ie[6]*(1+Ie[7])))))))),T=R.multiplyByScalar(e,w,Yr);return R.multiplyByScalar(t,l,o),R.add(T,o,o)};R.fastSquad=function(e,t,n,o,i,r){s.typeOf.object("q0",e),s.typeOf.object("q1",t),s.typeOf.object("s0",n),s.typeOf.object("s1",o),s.typeOf.number("t",i),s.typeOf.object("result",r);let a=R.fastSlerp(e,t,i,gt),u=R.fastSlerp(n,o,i,ct);return R.fastSlerp(a,u,2*i*(1-i),r)};R.equals=function(e,t){return e===t||p(e)&&p(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};R.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};R.ZERO=Object.freeze(new R(0,0,0,0));R.IDENTITY=Object.freeze(new R(0,0,0,1));R.prototype.clone=function(e){return R.clone(this,e)};R.prototype.equals=function(e){return R.equals(this,e)};R.prototype.equalsEpsilon=function(e,t){return R.equalsEpsilon(this,e,t)};R.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Xe=R;var V={},wn={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},st={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},bn={},ge={east:new _,north:new _,up:new _,west:new _,south:new _,down:new _},Fe=new _,xe=new _,Le=new _;V.localFrameToFixedFrameGenerator=function(e,t){if(!wn.hasOwnProperty(e)||!wn[e].hasOwnProperty(t))throw new A("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=wn[e][t],o,i=e+t;return p(bn[i])?o=bn[i]:(o=function(r,a,u){if(!p(r))throw new A("origin is required.");if(isNaN(r.x)||isNaN(r.y)||isNaN(r.z))throw new A("origin has a NaN component");if(p(u)||(u=new G),_.equalsEpsilon(r,_.ZERO,E.EPSILON14))_.unpack(st[e],0,Fe),_.unpack(st[t],0,xe),_.unpack(st[n],0,Le);else if(E.equalsEpsilon(r.x,0,E.EPSILON14)&&E.equalsEpsilon(r.y,0,E.EPSILON14)){let d=E.sign(r.z);_.unpack(st[e],0,Fe),e!=="east"&&e!=="west"&&_.multiplyByScalar(Fe,d,Fe),_.unpack(st[t],0,xe),t!=="east"&&t!=="west"&&_.multiplyByScalar(xe,d,xe),_.unpack(st[n],0,Le),n!=="east"&&n!=="west"&&_.multiplyByScalar(Le,d,Le)}else{a=O(a,ze.default),a.geodeticSurfaceNormal(r,ge.up);let d=ge.up,m=ge.east;m.x=-r.y,m.y=r.x,m.z=0,_.normalize(m,ge.east),_.cross(d,m,ge.north),_.multiplyByScalar(ge.up,-1,ge.down),_.multiplyByScalar(ge.east,-1,ge.west),_.multiplyByScalar(ge.north,-1,ge.south),Fe=ge[e],xe=ge[t],Le=ge[n]}return u[0]=Fe.x,u[1]=Fe.y,u[2]=Fe.z,u[3]=0,u[4]=xe.x,u[5]=xe.y,u[6]=xe.z,u[7]=0,u[8]=Le.x,u[9]=Le.y,u[10]=Le.z,u[11]=0,u[12]=r.x,u[13]=r.y,u[14]=r.z,u[15]=1,u},bn[i]=o),o};V.eastNorthUpToFixedFrame=V.localFrameToFixedFrameGenerator("east","north");V.northEastDownToFixedFrame=V.localFrameToFixedFrameGenerator("north","east");V.northUpEastToFixedFrame=V.localFrameToFixedFrameGenerator("north","up");V.northWestUpToFixedFrame=V.localFrameToFixedFrameGenerator("north","west");var Xr=new Xe,Zr=new _(1,1,1),Jr=new G;V.headingPitchRollToFixedFrame=function(e,t,n,o,i){s.typeOf.object("HeadingPitchRoll",t),o=O(o,V.eastNorthUpToFixedFrame);let r=Xe.fromHeadingPitchRoll(t,Xr),a=G.fromTranslationQuaternionRotationScale(_.ZERO,r,Zr,Jr);return i=o(e,n,i),G.multiply(i,a,i)};var Gr=new G,Kr=new W;V.headingPitchRollQuaternion=function(e,t,n,o,i){s.typeOf.object("HeadingPitchRoll",t);let r=V.headingPitchRollToFixedFrame(e,t,n,o,Gr),a=G.getMatrix3(r,Kr);return Xe.fromRotationMatrix(a,i)};var ei=new _(1,1,1),ti=new _,Co=new G,ni=new G,oi=new W,ri=new Xe;V.fixedFrameToHeadingPitchRoll=function(e,t,n,o){s.defined("transform",e),t=O(t,ze.default),n=O(n,V.eastNorthUpToFixedFrame),p(o)||(o=new Lt);let i=G.getTranslation(e,ti);if(_.equals(i,_.ZERO))return o.heading=0,o.pitch=0,o.roll=0,o;let r=G.inverseTransformation(n(i,t,Co),Co),a=G.setScale(e,ei,ni);a=G.setTranslation(a,_.ZERO,a),r=G.multiply(r,a,r);let u=Xe.fromRotationMatrix(G.getMatrix3(r,oi),ri);return u=Xe.normalize(u,u),Lt.fromQuaternion(u,o)};var ii=6*3600+41*60+50.54841,ci=8640184812866e-6,si=.093104,ai=-62e-7,fi=11772758384668e-32,ui=72921158553e-15,pi=E.TWO_PI/86400,Xt=new pe;V.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=V.computeIcrfToFixedMatrix(e,t);return p(n)||(n=V.computeTemeToPseudoFixedMatrix(e,t)),n};V.computeTemeToPseudoFixedMatrix=function(e,t){if(!p(e))throw new A("date is required.");Xt=pe.addSeconds(e,-pe.computeTaiMinusUtc(e),Xt);let n=Xt.dayNumber,o=Xt.secondsOfDay,i,r=n-2451545;o>=43200?i=(r+.5)/ce.DAYS_PER_JULIAN_CENTURY:i=(r-.5)/ce.DAYS_PER_JULIAN_CENTURY;let u=(ii+i*(ci+i*(si+i*ai)))*pi%E.TWO_PI,d=ui+fi*(n-24515455e-1),m=(o+ce.SECONDS_PER_DAY*.5)%ce.SECONDS_PER_DAY,l=u+d*m,w=Math.cos(l),T=Math.sin(l);return p(t)?(t[0]=w,t[1]=-T,t[2]=0,t[3]=T,t[4]=w,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new W(w,T,0,-T,w,0,0,0,1)};V.iau2006XysData=new go;V.earthOrientationParameters=mo.NONE;var _n=32.184,hi=2451545;V.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+_n,o=e.stop.dayNumber,i=e.stop.secondsOfDay+_n;return V.iau2006XysData.preload(t,n,o,i)};V.computeIcrfToFixedMatrix=function(e,t){if(!p(e))throw new A("date is required.");p(t)||(t=new W);let n=V.computeFixedToIcrfMatrix(e,t);if(p(n))return W.transpose(n,t)};var di=32.184,mi=2451545,Zt=new Lt,yi=new W,li=new pe;V.computeMoonFixedToIcrfMatrix=function(e,t){if(!p(e))throw new A("date is required.");p(t)||(t=new W);let n=pe.addSeconds(e,di,li),o=pe.totalDays(n)-mi,i=E.toRadians(12.112)-E.toRadians(.052992)*o,r=E.toRadians(24.224)-E.toRadians(.105984)*o,a=E.toRadians(227.645)+E.toRadians(13.012)*o,u=E.toRadians(261.105)+E.toRadians(13.340716)*o,d=E.toRadians(358)+E.toRadians(.9856)*o;return Zt.pitch=E.toRadians(180)-E.toRadians(3.878)*Math.sin(i)-E.toRadians(.12)*Math.sin(r)+E.toRadians(.07)*Math.sin(a)-E.toRadians(.017)*Math.sin(u),Zt.roll=E.toRadians(66.53-90)+E.toRadians(1.543)*Math.cos(i)+E.toRadians(.24)*Math.cos(r)-E.toRadians(.028)*Math.cos(a)+E.toRadians(.007)*Math.cos(u),Zt.heading=E.toRadians(244.375-90)+E.toRadians(13.17635831)*o+E.toRadians(3.558)*Math.sin(i)+E.toRadians(.121)*Math.sin(r)-E.toRadians(.064)*Math.sin(a)+E.toRadians(.016)*Math.sin(u)+E.toRadians(.025)*Math.sin(d),W.fromHeadingPitchRoll(Zt,yi)};V.computeIcrfToMoonFixedMatrix=function(e,t){if(!p(e))throw new A("date is required.");p(t)||(t=new W);let n=V.computeMoonFixedToIcrfMatrix(e,t);if(p(n))return W.transpose(n,t)};var wi=new Qt(0,0,0),bi=new pt(0,0,0,0,0,0),On=new W,gn=new W;V.computeFixedToIcrfMatrix=function(e,t){if(!p(e))throw new A("date is required.");p(t)||(t=new W);let n=V.earthOrientationParameters.compute(e,bi);if(!p(n))return;let o=e.dayNumber,i=e.secondsOfDay+_n,r=V.iau2006XysData.computeXysRadians(o,i,wi);if(!p(r))return;let a=r.x+n.xPoleOffset,u=r.y+n.yPoleOffset,d=1/(1+Math.sqrt(1-a*a-u*u)),m=On;m[0]=1-d*a*a,m[3]=-d*a*u,m[6]=a,m[1]=-d*a*u,m[4]=1-d*u*u,m[7]=u,m[2]=-a,m[5]=-u,m[8]=1-d*(a*a+u*u);let l=W.fromRotationZ(-r.s,gn),w=W.multiply(m,l,On),T=e.dayNumber,v=e.secondsOfDay-pe.computeTaiMinusUtc(e)+n.ut1MinusUtc,P=T-2451545,j=v/ce.SECONDS_PER_DAY,q=.779057273264+j+.00273781191135448*(P+j);q=q%1*E.TWO_PI;let k=W.fromRotationZ(q,gn),x=W.multiply(w,k,On),F=Math.cos(n.xPoleWander),B=Math.cos(n.yPoleWander),Q=Math.sin(n.xPoleWander),H=Math.sin(n.yPoleWander),ee=o-hi+i/ce.SECONDS_PER_DAY;ee/=36525;let re=-47e-6*ee*E.RADIANS_PER_DEGREE/3600,Z=Math.cos(re),oe=Math.sin(re),J=gn;return J[0]=F*Z,J[1]=F*oe,J[2]=Q,J[3]=-B*oe+H*Q*Z,J[4]=B*Z+H*Q*oe,J[5]=-H*F,J[6]=-H*oe-B*Q*Z,J[7]=H*Z-B*Q*oe,J[8]=B*F,W.multiply(x,J,t)};var Oi=new qe;V.pointToWindowCoordinates=function(e,t,n,o){return o=V.pointToGLWindowCoordinates(e,t,n,o),o.y=2*t[5]-o.y,o};V.pointToGLWindowCoordinates=function(e,t,n,o){if(!p(e))throw new A("modelViewProjectionMatrix is required.");if(!p(t))throw new A("viewportTransformation is required.");if(!p(n))throw new A("point is required.");p(o)||(o=new Oe);let i=Oi;return G.multiplyByVector(e,qe.fromElements(n.x,n.y,n.z,1,i),i),qe.multiplyByScalar(i,1/i.w,i),G.multiplyByVector(t,i,i),Oe.fromCartesian4(i,o)};var gi=new _,_i=new _,Si=new _;V.rotationMatrixFromPositionVelocity=function(e,t,n,o){if(!p(e))throw new A("position is required.");if(!p(t))throw new A("velocity is required.");let i=O(n,ze.default).geodeticSurfaceNormal(e,gi),r=_.cross(t,i,_i);_.equalsEpsilon(r,_.ZERO,E.EPSILON6)&&(r=_.clone(_.UNIT_X,r));let a=_.cross(r,t,Si);return _.normalize(a,a),_.cross(t,a,r),_.negate(r,r),_.normalize(r,r),p(o)||(o=new W),o[0]=t.x,o[1]=t.y,o[2]=t.z,o[3]=r.x,o[4]=r.y,o[5]=r.z,o[6]=a.x,o[7]=a.y,o[8]=a.z,o};var Ao=new G(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),jo=new Me,Sn=new _,Ri=new _,Ei=new W,Rn=new G,Mo=new G;V.basisTo2D=function(e,t,n){if(!p(e))throw new A("projection is required.");if(!p(t))throw new A("matrix is required.");if(!p(n))throw new A("result is required.");let o=G.getTranslation(t,Ri),i=e.ellipsoid,r;if(_.equals(o,_.ZERO))r=_.clone(_.ZERO,Sn);else{let l=i.cartesianToCartographic(o,jo);r=e.project(l,Sn),_.fromElements(r.z,r.x,r.y,r)}let a=V.eastNorthUpToFixedFrame(o,i,Rn),u=G.inverseTransformation(a,Mo),d=G.getMatrix3(t,Ei),m=G.multiplyByMatrix3(u,d,n);return G.multiply(Ao,m,n),G.setTranslation(n,r,n),n};V.ellipsoidTo2DModelMatrix=function(e,t,n){if(!p(e))throw new A("projection is required.");if(!p(t))throw new A("center is required.");if(!p(n))throw new A("result is required.");let o=e.ellipsoid,i=V.eastNorthUpToFixedFrame(t,o,Rn),r=G.inverseTransformation(i,Mo),a=o.cartesianToCartographic(t,jo),u=e.project(a,Sn);_.fromElements(u.z,u.x,u.y,u);let d=G.fromTranslation(u,Rn);return G.multiply(Ao,r,n),G.multiply(d,n,n),n};var Po=V;var Uo={};function _t(e,t){if(!p(e))throw new A("identifier is required.");p(Uo[e])||(Uo[e]=!0,console.warn(O(t,e)))}_t.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";_t.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";_t.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";_t.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var Io=_t;function Ti(e,t){if(!p(e)||!p(t))throw new A("identifier and message are required.");Io(e,t)}var zo=Ti;function L(e,t,n,o){this.west=O(e,0),this.south=O(t,0),this.east=O(n,0),this.north=O(o,0)}Object.defineProperties(L.prototype,{width:{get:function(){return L.computeWidth(this)}},height:{get:function(){return L.computeHeight(this)}}});L.packedLength=4;L.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};L.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new L),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};L.computeWidth=function(e){s.typeOf.object("rectangle",e);let t=e.east,n=e.west;return t<n&&(t+=E.TWO_PI),t-n};L.computeHeight=function(e){return s.typeOf.object("rectangle",e),e.north-e.south};L.fromDegrees=function(e,t,n,o,i){return e=E.toRadians(O(e,0)),t=E.toRadians(O(t,0)),n=E.toRadians(O(n,0)),o=E.toRadians(O(o,0)),p(i)?(i.west=e,i.south=t,i.east=n,i.north=o,i):new L(e,t,n,o)};L.fromRadians=function(e,t,n,o,i){return p(i)?(i.west=O(e,0),i.south=O(t,0),i.east=O(n,0),i.north=O(o,0),i):new L(e,t,n,o)};L.fromCartographicArray=function(e,t){s.defined("cartographics",e);let n=Number.MAX_VALUE,o=-Number.MAX_VALUE,i=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=Number.MAX_VALUE,u=-Number.MAX_VALUE;for(let d=0,m=e.length;d<m;d++){let l=e[d];n=Math.min(n,l.longitude),o=Math.max(o,l.longitude),a=Math.min(a,l.latitude),u=Math.max(u,l.latitude);let w=l.longitude>=0?l.longitude:l.longitude+E.TWO_PI;i=Math.min(i,w),r=Math.max(r,w)}return o-n>r-i&&(n=i,o=r,o>E.PI&&(o=o-E.TWO_PI),n>E.PI&&(n=n-E.TWO_PI)),p(t)?(t.west=n,t.south=a,t.east=o,t.north=u,t):new L(n,a,o,u)};L.fromCartesianArray=function(e,t,n){s.defined("cartesians",e),t=O(t,ze.default);let o=Number.MAX_VALUE,i=-Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,u=Number.MAX_VALUE,d=-Number.MAX_VALUE;for(let m=0,l=e.length;m<l;m++){let w=t.cartesianToCartographic(e[m]);o=Math.min(o,w.longitude),i=Math.max(i,w.longitude),u=Math.min(u,w.latitude),d=Math.max(d,w.latitude);let T=w.longitude>=0?w.longitude:w.longitude+E.TWO_PI;r=Math.min(r,T),a=Math.max(a,T)}return i-o>a-r&&(o=r,i=a,i>E.PI&&(i=i-E.TWO_PI),o>E.PI&&(o=o-E.TWO_PI)),p(n)?(n.west=o,n.south=u,n.east=i,n.north=d,n):new L(o,u,i,d)};var vi=new _,Ci=new _,Ai=new _,ji=new _,Mi=new _,En=new Array(5);for(let e=0;e<En.length;++e)En[e]=new _;L.fromBoundingSphere=function(e,t,n){s.typeOf.object("boundingSphere",e);let o=e.center,i=e.radius;if(p(t)||(t=ze.default),p(n)||(n=new L),_.equals(o,_.ZERO))return L.clone(L.MAX_VALUE,n),n;let r=Po.eastNorthUpToFixedFrame(o,t,vi),a=G.multiplyByPointAsVector(r,_.UNIT_X,Ci);_.normalize(a,a);let u=G.multiplyByPointAsVector(r,_.UNIT_Y,Ai);_.normalize(u,u),_.multiplyByScalar(u,i,u),_.multiplyByScalar(a,i,a);let d=_.negate(u,Mi),m=_.negate(a,ji),l=En,w=l[0];return _.add(o,u,w),w=l[1],_.add(o,m,w),w=l[2],_.add(o,d,w),w=l[3],_.add(o,a,w),l[4]=o,L.fromCartesianArray(l,t,n)};L.clone=function(e,t){if(p(e))return p(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new L(e.west,e.south,e.east,e.north)};L.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};L.prototype.clone=function(e){return L.clone(this,e)};L.prototype.equals=function(e){return L.equals(this,e)};L.equals=function(e,t){return e===t||p(e)&&p(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};L.prototype.equalsEpsilon=function(e,t){return L.equalsEpsilon(this,e,t)};L.validate=function(e){return zo("Rectangle.validate","Rectangle.validate is a no-op and has been deprecated. It will be removed in Cesium 1.124."),L._validate(e)};L._validate=function(e){s.typeOf.object("rectangle",e);let t=e.north;s.typeOf.number.greaterThanOrEquals("north",t,-E.PI_OVER_TWO),s.typeOf.number.lessThanOrEquals("north",t,E.PI_OVER_TWO);let n=e.south;s.typeOf.number.greaterThanOrEquals("south",n,-E.PI_OVER_TWO),s.typeOf.number.lessThanOrEquals("south",n,E.PI_OVER_TWO);let o=e.west;s.typeOf.number.greaterThanOrEquals("west",o,-Math.PI),s.typeOf.number.lessThanOrEquals("west",o,Math.PI);let i=e.east;s.typeOf.number.greaterThanOrEquals("east",i,-Math.PI),s.typeOf.number.lessThanOrEquals("east",i,Math.PI)};L.southwest=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new Me(e.west,e.south)};L.northwest=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new Me(e.west,e.north)};L.northeast=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new Me(e.east,e.north)};L.southeast=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new Me(e.east,e.south)};L.center=function(e,t){s.typeOf.object("rectangle",e);let n=e.east,o=e.west;n<o&&(n+=E.TWO_PI);let i=E.negativePiToPi((o+n)*.5),r=(e.south+e.north)*.5;return p(t)?(t.longitude=i,t.latitude=r,t.height=0,t):new Me(i,r)};L.intersection=function(e,t,n){s.typeOf.object("rectangle",e),s.typeOf.object("otherRectangle",t);let o=e.east,i=e.west,r=t.east,a=t.west;o<i&&r>0?o+=E.TWO_PI:r<a&&o>0&&(r+=E.TWO_PI),o<i&&a<0?a+=E.TWO_PI:r<a&&i<0&&(i+=E.TWO_PI);let u=E.negativePiToPi(Math.max(i,a)),d=E.negativePiToPi(Math.min(o,r));if((e.west<e.east||t.west<t.east)&&d<=u)return;let m=Math.max(e.south,t.south),l=Math.min(e.north,t.north);if(!(m>=l))return p(n)?(n.west=u,n.south=m,n.east=d,n.north=l,n):new L(u,m,d,l)};L.simpleIntersection=function(e,t,n){s.typeOf.object("rectangle",e),s.typeOf.object("otherRectangle",t);let o=Math.max(e.west,t.west),i=Math.max(e.south,t.south),r=Math.min(e.east,t.east),a=Math.min(e.north,t.north);if(!(i>=a||o>=r))return p(n)?(n.west=o,n.south=i,n.east=r,n.north=a,n):new L(o,i,r,a)};L.union=function(e,t,n){s.typeOf.object("rectangle",e),s.typeOf.object("otherRectangle",t),p(n)||(n=new L);let o=e.east,i=e.west,r=t.east,a=t.west;o<i&&r>0?o+=E.TWO_PI:r<a&&o>0&&(r+=E.TWO_PI),o<i&&a<0?a+=E.TWO_PI:r<a&&i<0&&(i+=E.TWO_PI);let u=E.negativePiToPi(Math.min(i,a)),d=E.negativePiToPi(Math.max(o,r));return n.west=u,n.south=Math.min(e.south,t.south),n.east=d,n.north=Math.max(e.north,t.north),n};L.expand=function(e,t,n){return s.typeOf.object("rectangle",e),s.typeOf.object("cartographic",t),p(n)||(n=new L),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};L.contains=function(e,t){s.typeOf.object("rectangle",e),s.typeOf.object("cartographic",t);let n=t.longitude,o=t.latitude,i=e.west,r=e.east;return r<i&&(r+=E.TWO_PI,n<0&&(n+=E.TWO_PI)),(n>i||E.equalsEpsilon(n,i,E.EPSILON14))&&(n<r||E.equalsEpsilon(n,r,E.EPSILON14))&&o>=e.south&&o<=e.north};var Pi=new Me;L.subsample=function(e,t,n,o){s.typeOf.object("rectangle",e),t=O(t,ze.default),n=O(n,0),p(o)||(o=[]);let i=0,r=e.north,a=e.south,u=e.east,d=e.west,m=Pi;m.height=n,m.longitude=d,m.latitude=r,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.longitude=u,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.latitude=a,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.longitude=d,o[i]=t.cartographicToCartesian(m,o[i]),i++,r<0?m.latitude=r:a>0?m.latitude=a:m.latitude=0;for(let l=1;l<8;++l)m.longitude=-Math.PI+l*E.PI_OVER_TWO,L.contains(e,m)&&(o[i]=t.cartographicToCartesian(m,o[i]),i++);return m.latitude===0&&(m.longitude=d,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.longitude=u,o[i]=t.cartographicToCartesian(m,o[i]),i++),o.length=i,o};L.subsection=function(e,t,n,o,i,r){if(s.typeOf.object("rectangle",e),s.typeOf.number.greaterThanOrEquals("westLerp",t,0),s.typeOf.number.lessThanOrEquals("westLerp",t,1),s.typeOf.number.greaterThanOrEquals("southLerp",n,0),s.typeOf.number.lessThanOrEquals("southLerp",n,1),s.typeOf.number.greaterThanOrEquals("eastLerp",o,0),s.typeOf.number.lessThanOrEquals("eastLerp",o,1),s.typeOf.number.greaterThanOrEquals("northLerp",i,0),s.typeOf.number.lessThanOrEquals("northLerp",i,1),s.typeOf.number.lessThanOrEquals("westLerp",t,o),s.typeOf.number.lessThanOrEquals("southLerp",n,i),p(r)||(r=new L),e.west<=e.east){let u=e.east-e.west;r.west=e.west+t*u,r.east=e.west+o*u}else{let u=E.TWO_PI+e.east-e.west;r.west=E.negativePiToPi(e.west+t*u),r.east=E.negativePiToPi(e.west+o*u)}let a=e.north-e.south;return r.south=e.south+n*a,r.north=e.south+i*a,t===1&&(r.west=e.east),o===1&&(r.east=e.east),n===1&&(r.south=e.north),i===1&&(r.north=e.north),r};L.MAX_VALUE=Object.freeze(new L(-Math.PI,-E.PI_OVER_TWO,Math.PI,E.PI_OVER_TWO));var Af=L;function D(e,t,n,o){this[0]=O(e,0),this[1]=O(n,0),this[2]=O(t,0),this[3]=O(o,0)}D.packedLength=4;D.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};D.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new D),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};D.packArray=function(e,t){s.defined("array",e);let n=e.length,o=n*4;if(!p(t))t=new Array(o);else{if(!Array.isArray(t)&&t.length!==o)throw new A("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==o&&(t.length=o)}for(let i=0;i<n;++i)D.pack(e[i],t,i*4);return t};D.unpackArray=function(e,t){if(s.defined("array",e),s.typeOf.number.greaterThanOrEquals("array.length",e.length,4),e.length%4!==0)throw new A("array length must be a multiple of 4.");let n=e.length;p(t)?t.length=n/4:t=new Array(n/4);for(let o=0;o<n;o+=4){let i=o/4;t[i]=D.unpack(e,o,t[i])}return t};D.clone=function(e,t){if(p(e))return p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new D(e[0],e[2],e[1],e[3])};D.fromArray=D.unpack;D.fromColumnMajorArray=function(e,t){return s.defined("values",e),D.clone(e,t)};D.fromRowMajorArray=function(e,t){return s.defined("values",e),p(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new D(e[0],e[1],e[2],e[3])};D.fromScale=function(e,t){return s.typeOf.object("scale",e),p(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new D(e.x,0,0,e.y)};D.fromUniformScale=function(e,t){return s.typeOf.number("scale",e),p(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new D(e,0,0,e)};D.fromRotation=function(e,t){s.typeOf.number("angle",e);let n=Math.cos(e),o=Math.sin(e);return p(t)?(t[0]=n,t[1]=o,t[2]=-o,t[3]=n,t):new D(n,-o,o,n)};D.toArray=function(e,t){return s.typeOf.object("matrix",e),p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]};D.getElementIndex=function(e,t){return s.typeOf.number.greaterThanOrEquals("row",t,0),s.typeOf.number.lessThanOrEquals("row",t,1),s.typeOf.number.greaterThanOrEquals("column",e,0),s.typeOf.number.lessThanOrEquals("column",e,1),e*2+t};D.getColumn=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("result",n);let o=t*2,i=e[o],r=e[o+1];return n.x=i,n.y=r,n};D.setColumn=function(e,t,n,o){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=D.clone(e,o);let i=t*2;return o[i]=n.x,o[i+1]=n.y,o};D.getRow=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("result",n);let o=e[t],i=e[t+2];return n.x=o,n.y=i,n};D.setRow=function(e,t,n,o){return s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=D.clone(e,o),o[t]=n.x,o[t+2]=n.y,o};var Ui=new Oe;D.setScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n);let o=D.getScale(e,Ui),i=t.x/o.x,r=t.y/o.y;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*r,n[3]=e[3]*r,n};var Ii=new Oe;D.setUniformScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n);let o=D.getScale(e,Ii),i=t/o.x,r=t/o.y;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*r,n[3]=e[3]*r,n};var qo=new Oe;D.getScale=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t.x=Oe.magnitude(Oe.fromElements(e[0],e[1],qo)),t.y=Oe.magnitude(Oe.fromElements(e[2],e[3],qo)),t};var Do=new Oe;D.getMaximumScale=function(e){return D.getScale(e,Do),Oe.maximumComponent(Do)};var zi=new Oe;D.setRotation=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("result",n);let o=D.getScale(e,zi);return n[0]=t[0]*o.x,n[1]=t[1]*o.x,n[2]=t[2]*o.y,n[3]=t[3]*o.y,n};var qi=new Oe;D.getRotation=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=D.getScale(e,qi);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};D.multiply=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e[0]*t[0]+e[2]*t[1],i=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],a=e[1]*t[2]+e[3]*t[3];return n[0]=o,n[1]=r,n[2]=i,n[3]=a,n};D.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};D.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};D.multiplyByVector=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=e[0]*t.x+e[2]*t.y,i=e[1]*t.x+e[3]*t.y;return n.x=o,n.y=i,n};D.multiplyByScalar=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};D.multiplyByScale=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n),n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};D.multiplyByUniformScale=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};D.negate=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};D.transpose=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[0],o=e[2],i=e[1],r=e[3];return t[0]=n,t[1]=o,t[2]=i,t[3]=r,t};D.abs=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t};D.equals=function(e,t){return e===t||p(e)&&p(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};D.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};D.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n};D.IDENTITY=Object.freeze(new D(1,0,0,1));D.ZERO=Object.freeze(new D(0,0,0,0));D.COLUMN0ROW0=0;D.COLUMN0ROW1=1;D.COLUMN1ROW0=2;D.COLUMN1ROW1=3;Object.defineProperties(D.prototype,{length:{get:function(){return D.packedLength}}});D.prototype.clone=function(e){return D.clone(this,e)};D.prototype.equals=function(e){return D.equals(this,e)};D.prototype.equalsEpsilon=function(e,t){return D.equalsEpsilon(this,e,t)};D.prototype.toString=function(){return`(${this[0]}, ${this[2]}) -(${this[1]}, ${this[3]})`};var qf=D;export{qe as a,G as b,De as c,ke as d,Oo as e,Xe as f,Po as g,Io as h,Af as i,qf as j}; +(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var G=S;function vn(e,t,n){n=O(n,!1);let o={},i=p(e),r=p(t),a,u,d;if(i)for(a in e)e.hasOwnProperty(a)&&(u=e[a],r&&n&&typeof u=="object"&&t.hasOwnProperty(a)?(d=t[a],typeof d=="object"?o[a]=vn(u,d,n):o[a]=u):o[a]=u);if(r)for(a in t)t.hasOwnProperty(a)&&!o.hasOwnProperty(a)&&(d=t[a],o[a]=d);return o}var De=vn;function Ho(e,t,n){s.defined("array",e),s.defined("itemToFind",t),s.defined("comparator",n);let o=0,i=e.length-1,r,a;for(;o<=i;){if(r=~~((o+i)/2),a=n(e[r],t),a<0){o=r+1;continue}if(a>0){i=r-1;continue}return r}return~(i+1)}var Be=Ho;function $o(e,t,n,o,i){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=o,this.ut1MinusUtc=i}var pt=$o;function Vo(e){if(e===null||isNaN(e))throw new j("year is required and must be a number.");return e%4===0&&e%100!==0||e%400===0}var ht=Vo;var An=[31,28,31,30,31,30,31,31,30,31,30,31];function Yo(e,t,n,o,i,r,a,u){e=O(e,1),t=O(t,1),n=O(n,1),o=O(o,0),i=O(i,0),r=O(r,0),a=O(a,0),u=O(u,!1),A(),q(),this.year=e,this.month=t,this.day=n,this.hour=o,this.minute=i,this.second=r,this.millisecond=a,this.isLeapSecond=u;function A(){s.typeOf.number.greaterThanOrEquals("Year",e,1),s.typeOf.number.lessThanOrEquals("Year",e,9999),s.typeOf.number.greaterThanOrEquals("Month",t,1),s.typeOf.number.lessThanOrEquals("Month",t,12),s.typeOf.number.greaterThanOrEquals("Day",n,1),s.typeOf.number.lessThanOrEquals("Day",n,31),s.typeOf.number.greaterThanOrEquals("Hour",o,0),s.typeOf.number.lessThanOrEquals("Hour",o,23),s.typeOf.number.greaterThanOrEquals("Minute",i,0),s.typeOf.number.lessThanOrEquals("Minute",i,59),s.typeOf.bool("IsLeapSecond",u),s.typeOf.number.greaterThanOrEquals("Second",r,0),s.typeOf.number.lessThanOrEquals("Second",r,u?60:59),s.typeOf.number.greaterThanOrEquals("Millisecond",a,0),s.typeOf.number.lessThan("Millisecond",a,1e3)}function q(){let k=t===2&&ht(e)?An[t-1]+1:An[t-1];if(n>k)throw new j("Month and Day represents invalid date")}}var Et=Yo;function Xo(e,t){this.julianDate=e,this.offset=t}var ne=Xo;var Zo={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},ce=Object.freeze(Zo);var Jo={UTC:0,TAI:1},$=Object.freeze(Jo);var Mn=new Et,Tt=[31,28,31,30,31,30,31,31,30,31,30,31],Ct=29;function Gt(e,t){return z.compare(e.julianDate,t.julianDate)}var Ke=new ne;function At(e){Ke.julianDate=e;let t=z.leapSeconds,n=Be(t,Ke,Gt);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let o=t[n].offset;n>0&&z.secondsDifference(t[n].julianDate,e)>o&&(n--,o=t[n].offset),z.addSeconds(e,o,e)}function jn(e,t){Ke.julianDate=e;let n=z.leapSeconds,o=Be(n,Ke,Gt);if(o<0&&(o=~o),o===0)return z.addSeconds(e,-n[0].offset,t);if(o>=n.length)return z.addSeconds(e,-n[o-1].offset,t);let i=z.secondsDifference(n[o].julianDate,e);if(i===0)return z.addSeconds(e,-n[o].offset,t);if(!(i<=1))return z.addSeconds(e,-n[--o].offset,t)}function Ne(e,t,n){let o=t/ce.SECONDS_PER_DAY|0;return e+=o,t-=ce.SECONDS_PER_DAY*o,t<0&&(e--,t+=ce.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function Kt(e,t,n,o,i,r,a){let u=(t-14)/12|0,d=e+4800+u,m=(1461*d/4|0)+(367*(t-2-12*u)/12|0)-(3*((d+100)/100|0)/4|0)+n-32075;o=o-12,o<0&&(o+=24);let l=r+(o*ce.SECONDS_PER_HOUR+i*ce.SECONDS_PER_MINUTE+a*ce.SECONDS_PER_MILLISECOND);return l>=43200&&(m-=1),[m,l]}var Go=/^(\d{4})$/,Ko=/^(\d{4})-(\d{2})$/,er=/^(\d{4})-?(\d{3})$/,tr=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,nr=/^(\d{4})-?(\d{2})-?(\d{2})$/,en=/([Z+\-])?(\d{2})?:?(\d{2})?$/,or=/^(\d{2})(\.\d+)?/.source+en.source,rr=/^(\d{2}):?(\d{2})(\.\d+)?/.source+en.source,ir=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+en.source,Re="Invalid ISO 8601 date.";function z(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=O(e,0),t=O(t,0),n=O(n,$.UTC);let o=e|0;t=t+(e-o)*ce.SECONDS_PER_DAY,Ne(o,t,this),n===$.UTC&&At(this)}z.fromGregorianDate=function(e,t){if(!(e instanceof Et))throw new j("date must be a valid GregorianDate.");let n=Kt(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return p(t)?(Ne(n[0],n[1],t),At(t),t):new z(n[0],n[1],$.UTC)};z.fromDate=function(e,t){if(!(e instanceof Date)||isNaN(e.getTime()))throw new j("date must be a valid JavaScript Date.");let n=Kt(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return p(t)?(Ne(n[0],n[1],t),At(t),t):new z(n[0],n[1],$.UTC)};z.fromIso8601=function(e,t){if(typeof e!="string")throw new j(Re);e=e.replace(",",".");let n=e.split("T"),o,i=1,r=1,a=0,u=0,d=0,m=0,l=n[0],w=n[1],T,C;if(!p(l))throw new j(Re);let P;if(n=l.match(nr),n!==null){if(P=l.split("-").length-1,P>0&&P!==2)throw new j(Re);o=+n[1],i=+n[2],r=+n[3]}else if(n=l.match(Ko),n!==null)o=+n[1],i=+n[2];else if(n=l.match(Go),n!==null)o=+n[1];else{let L;if(n=l.match(er),n!==null){if(o=+n[1],L=+n[2],C=ht(o),L<1||C&&L>366||!C&&L>365)throw new j(Re)}else if(n=l.match(tr),n!==null){o=+n[1];let F=+n[2],B=+n[3]||0;if(P=l.split("-").length-1,P>0&&(!p(n[3])&&P!==1||p(n[3])&&P!==2))throw new j(Re);let W=new Date(Date.UTC(o,0,4));L=F*7+B-W.getUTCDay()-3}else throw new j(Re);T=new Date(Date.UTC(o,0,1)),T.setUTCDate(L),i=T.getUTCMonth()+1,r=T.getUTCDate()}if(C=ht(o),i<1||i>12||r<1||(i!==2||!C)&&r>Tt[i-1]||C&&i===2&&r>Ct)throw new j(Re);let A;if(p(w)){if(n=w.match(ir),n!==null){if(P=w.split(":").length-1,P>0&&P!==2&&P!==3)throw new j(Re);a=+n[1],u=+n[2],d=+n[3],m=+(n[4]||0)*1e3,A=5}else if(n=w.match(rr),n!==null){if(P=w.split(":").length-1,P>2)throw new j(Re);a=+n[1],u=+n[2],d=+(n[3]||0)*60,A=4}else if(n=w.match(or),n!==null)a=+n[1],u=+(n[2]||0)*60,A=3;else throw new j(Re);if(u>=60||d>=61||a>24||a===24&&(u>0||d>0||m>0))throw new j(Re);let L=n[A],F=+n[A+1],B=+(n[A+2]||0);switch(L){case"+":a=a-F,u=u-B;break;case"-":a=a+F,u=u+B;break;case"Z":break;default:u=u+new Date(Date.UTC(o,i-1,r,a,u)).getTimezoneOffset();break}}let q=d===60;for(q&&d--;u>=60;)u-=60,a++;for(;a>=24;)a-=24,r++;for(T=C&&i===2?Ct:Tt[i-1];r>T;)r-=T,i++,i>12&&(i-=12,o++),T=C&&i===2?Ct:Tt[i-1];for(;u<0;)u+=60,a--;for(;a<0;)a+=24,r--;for(;r<1;)i--,i<1&&(i+=12,o--),T=C&&i===2?Ct:Tt[i-1],r+=T;let k=Kt(o,i,r,a,u,d,m);return p(t)?(Ne(k[0],k[1],t),At(t)):t=new z(k[0],k[1],$.UTC),q&&z.addSeconds(t,1,t),t};z.now=function(e){return z.fromDate(new Date,e)};var vt=new z(0,0,$.TAI);z.toGregorianDate=function(e,t){if(!p(e))throw new j("julianDate is required.");let n=!1,o=jn(e,vt);p(o)||(z.addSeconds(e,-1,vt),o=jn(vt,vt),n=!0);let i=o.dayNumber,r=o.secondsOfDay;r>=43200&&(i+=1);let a=i+68569|0,u=4*a/146097|0;a=a-((146097*u+3)/4|0)|0;let d=4e3*(a+1)/1461001|0;a=a-(1461*d/4|0)+31|0;let m=80*a/2447|0,l=a-(2447*m/80|0)|0;a=m/11|0;let w=m+2-12*a|0,T=100*(u-49)+d+a|0,C=r/ce.SECONDS_PER_HOUR|0,P=r-C*ce.SECONDS_PER_HOUR,A=P/ce.SECONDS_PER_MINUTE|0;P=P-A*ce.SECONDS_PER_MINUTE;let q=P|0,k=(P-q)/ce.SECONDS_PER_MILLISECOND;return C+=12,C>23&&(C-=24),n&&(q+=1),p(t)?(t.year=T,t.month=w,t.day=l,t.hour=C,t.minute=A,t.second=q,t.millisecond=k,t.isLeapSecond=n,t):new Et(T,w,l,C,A,q,k,n)};z.toDate=function(e){if(!p(e))throw new j("julianDate is required.");let t=z.toGregorianDate(e,Mn),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};z.toIso8601=function(e,t){if(!p(e))throw new j("julianDate is required.");let n=z.toGregorianDate(e,Mn),o=n.year,i=n.month,r=n.day,a=n.hour,u=n.minute,d=n.second,m=n.millisecond;o===1e4&&i===1&&r===1&&a===0&&u===0&&d===0&&m===0&&(o=9999,i=12,r=31,a=24);let l;return!p(t)&&m!==0?(l=(m*.01).toString().replace(".",""),`${o.toString().padStart(4,"0")}-${i.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${a.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}.${l}Z`):!p(t)||t===0?`${o.toString().padStart(4,"0")}-${i.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${a.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}Z`:(l=(m*.01).toFixed(t).replace(".","").slice(0,t),`${o.toString().padStart(4,"0")}-${i.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${a.toString().padStart(2,"0")}:${u.toString().padStart(2,"0")}:${d.toString().padStart(2,"0")}.${l}Z`)};z.clone=function(e,t){if(p(e))return p(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new z(e.dayNumber,e.secondsOfDay,$.TAI)};z.compare=function(e,t){if(!p(e))throw new j("left is required.");if(!p(t))throw new j("right is required.");let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};z.equals=function(e,t){return e===t||p(e)&&p(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};z.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(z.secondsDifference(e,t))<=n};z.totalDays=function(e){if(!p(e))throw new j("julianDate is required.");return e.dayNumber+e.secondsOfDay/ce.SECONDS_PER_DAY};z.secondsDifference=function(e,t){if(!p(e))throw new j("left is required.");if(!p(t))throw new j("right is required.");return(e.dayNumber-t.dayNumber)*ce.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};z.daysDifference=function(e,t){if(!p(e))throw new j("left is required.");if(!p(t))throw new j("right is required.");let n=e.dayNumber-t.dayNumber,o=(e.secondsOfDay-t.secondsOfDay)/ce.SECONDS_PER_DAY;return n+o};z.computeTaiMinusUtc=function(e){Ke.julianDate=e;let t=z.leapSeconds,n=Be(t,Ke,Gt);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};z.addSeconds=function(e,t,n){if(!p(e))throw new j("julianDate is required.");if(!p(t))throw new j("seconds is required.");if(!p(n))throw new j("result is required.");return Ne(e.dayNumber,e.secondsOfDay+t,n)};z.addMinutes=function(e,t,n){if(!p(e))throw new j("julianDate is required.");if(!p(t))throw new j("minutes is required.");if(!p(n))throw new j("result is required.");let o=e.secondsOfDay+t*ce.SECONDS_PER_MINUTE;return Ne(e.dayNumber,o,n)};z.addHours=function(e,t,n){if(!p(e))throw new j("julianDate is required.");if(!p(t))throw new j("hours is required.");if(!p(n))throw new j("result is required.");let o=e.secondsOfDay+t*ce.SECONDS_PER_HOUR;return Ne(e.dayNumber,o,n)};z.addDays=function(e,t,n){if(!p(e))throw new j("julianDate is required.");if(!p(t))throw new j("days is required.");if(!p(n))throw new j("result is required.");let o=e.dayNumber+t;return Ne(o,e.secondsOfDay,n)};z.lessThan=function(e,t){return z.compare(e,t)<0};z.lessThanOrEquals=function(e,t){return z.compare(e,t)<=0};z.greaterThan=function(e,t){return z.compare(e,t)>0};z.greaterThanOrEquals=function(e,t){return z.compare(e,t)>=0};z.prototype.clone=function(e){return z.clone(this,e)};z.prototype.equals=function(e){return z.equals(this,e)};z.prototype.equalsEpsilon=function(e,t){return z.equalsEpsilon(this,e,t)};z.prototype.toString=function(){return z.toIso8601(this)};z.leapSeconds=[new ne(new z(2441317,43210,$.TAI),10),new ne(new z(2441499,43211,$.TAI),11),new ne(new z(2441683,43212,$.TAI),12),new ne(new z(2442048,43213,$.TAI),13),new ne(new z(2442413,43214,$.TAI),14),new ne(new z(2442778,43215,$.TAI),15),new ne(new z(2443144,43216,$.TAI),16),new ne(new z(2443509,43217,$.TAI),17),new ne(new z(2443874,43218,$.TAI),18),new ne(new z(2444239,43219,$.TAI),19),new ne(new z(2444786,43220,$.TAI),20),new ne(new z(2445151,43221,$.TAI),21),new ne(new z(2445516,43222,$.TAI),22),new ne(new z(2446247,43223,$.TAI),23),new ne(new z(2447161,43224,$.TAI),24),new ne(new z(2447892,43225,$.TAI),25),new ne(new z(2448257,43226,$.TAI),26),new ne(new z(2448804,43227,$.TAI),27),new ne(new z(2449169,43228,$.TAI),28),new ne(new z(2449534,43229,$.TAI),29),new ne(new z(2450083,43230,$.TAI),30),new ne(new z(2450630,43231,$.TAI),31),new ne(new z(2451179,43232,$.TAI),32),new ne(new z(2453736,43233,$.TAI),33),new ne(new z(2454832,43234,$.TAI),34),new ne(new z(2456109,43235,$.TAI),35),new ne(new z(2457204,43236,$.TAI),36),new ne(new z(2457754,43237,$.TAI),37)];var pe=z;var co=Ze(Qe(),1);function cr(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var Nn=cr;function kn(e,t){if(e===null||typeof e!="object")return e;t=O(t,!1);let n=new e.constructor;for(let o in e)if(e.hasOwnProperty(o)){let i=e[o];t&&(i=kn(i,t)),n[o]=i}return n}var nt=kn;function sr(){let e,t,n=new Promise(function(o,i){e=o,t=i});return{resolve:e,reject:t,promise:n}}var We=sr;var Fn=Ze(Qe(),1);function tn(e,t){let n;return typeof document<"u"&&(n=document),tn._implementation(e,t,n)}tn._implementation=function(e,t,n){if(!p(e))throw new j("relative uri is required.");if(!p(t)){if(typeof n>"u")return e;t=O(n.baseURI,n.location.href)}let o=new Fn.default(e);return o.scheme()!==""?o.toString():o.absoluteTo(t).toString()};var dt=tn;var Ln=Ze(Qe(),1);function ar(e,t){if(!p(e))throw new j("uri is required.");let n="",o=e.lastIndexOf("/");return o!==-1&&(n=e.substring(0,o+1)),t&&(e=new Ln.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var xn=ar;var Bn=Ze(Qe(),1);function fr(e){if(!p(e))throw new j("uri is required.");let t=new Bn.default(e);t.normalize();let n=t.path(),o=n.lastIndexOf("/");return o!==-1&&(n=n.substr(o+1)),o=n.lastIndexOf("."),o===-1?n="":n=n.substr(o+1),n}var Qn=fr;var Wn={};function ur(e,t,n){p(t)||(t=e.width),p(n)||(n=e.height);let o=Wn[t];p(o)||(o={},Wn[t]=o);let i=o[n];if(!p(i)){let r=document.createElement("canvas");r.width=t,r.height=n,i=r.getContext("2d",{willReadFrequently:!0}),i.globalCompositeOperation="copy",o[n]=i}return i.drawImage(e,0,0,t,n),i.getImageData(0,0,t,n).data}var nn=ur;var pr=/^blob:/i;function hr(e){return s.typeOf.string("uri",e),pr.test(e)}var Ut=hr;var Ce;function dr(e){p(Ce)||(Ce=document.createElement("a")),Ce.href=window.location.href;let t=Ce.host,n=Ce.protocol;return Ce.href=e,Ce.href=Ce.href,n!==Ce.protocol||t!==Ce.host}var Hn=dr;var mr=/^data:/i;function yr(e){return s.typeOf.string("uri",e),mr.test(e)}var zt=yr;function lr(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,o)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let i=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,i.removeChild(t),n()},t.onerror=function(r){o(r)},i.appendChild(t)})}var $n=lr;function wr(e){if(!p(e))throw new j("obj is required.");let t="";for(let n in e)if(e.hasOwnProperty(n)){let o=e[n],i=`${encodeURIComponent(n)}=`;if(Array.isArray(o))for(let r=0,a=o.length;r<a;++r)t+=`${i+encodeURIComponent(o[r])}&`;else t+=`${i+encodeURIComponent(o)}&`}return t=t.slice(0,-1),t}var Vn=wr;function br(e){if(!p(e))throw new j("queryString is required.");let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let o=0,i=n.length;o<i;++o){let r=n[o].split("="),a=decodeURIComponent(r[0]),u=r[1];p(u)?u=decodeURIComponent(u):u="";let d=t[a];typeof d=="string"?t[a]=[d,u]:Array.isArray(d)?d.push(u):t[a]=u}return t}var Yn=br;var Or={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},fe=Object.freeze(Or);var gr={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},Xn=Object.freeze(gr);function It(e){e=O(e,O.EMPTY_OBJECT);let t=O(e.throttleByServer,!1),n=O(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=O(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=O(e.type,Xn.OTHER),this.serverKey=e.serverKey,this.state=fe.UNISSUED,this.deferred=void 0,this.cancelled=!1}It.prototype.cancel=function(){this.cancelled=!0};It.prototype.clone=function(e){return p(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=fe.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new It(this)};var Zn=It;function _r(e){let t={};if(!e)return t;let n=e.split(`\r +`);for(let o=0;o<n.length;++o){let i=n[o],r=i.indexOf(": ");if(r>0){let a=i.substring(0,r),u=i.substring(r+2);t[a]=u}}return t}var Jn=_r;function Gn(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=Jn(this.responseHeaders))}Gn.prototype.toString=function(){let e="Request has failed.";return p(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var mt=Gn;var qt=Ze(Qe(),1);function yt(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(yt.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});yt.prototype.addEventListener=function(e,t){s.typeOf.func("listener",e),this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};yt.prototype.removeEventListener=function(e,t){s.typeOf.func("listener",e);let n=this._listeners,o=this._scopes,i=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&o[r]===t){i=r;break}return i!==-1?(this._insideRaiseEvent?(this._toRemove.push(i),n[i]=void 0,o[i]=void 0):(n.splice(i,1),o.splice(i,1)),!0):!1};function Sr(e,t){return t-e}yt.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,o=t.length;for(e=0;e<o;e++){let r=t[e];p(r)&&t[e].apply(n[e],arguments)}let i=this._toRemove;if(o=i.length,o>0){for(i.sort(Sr),e=0;e<o;e++){let r=i[e];t.splice(r,1),n.splice(r,1)}i.length=0}this._insideRaiseEvent=!1};var Kn=yt;function He(e){s.typeOf.object("options",e),s.defined("options.comparator",e.comparator),this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(He.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){s.typeOf.number.greaterThanOrEquals("maximumLength",e,0);let t=this._length;if(e<t){let n=this._array;for(let o=e;o<t;++o)n[o]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function on(e,t,n){let o=e[t];e[t]=e[n],e[n]=o}He.prototype.reserve=function(e){e=O(e,this._length),this._array.length=e};He.prototype.heapify=function(e){e=O(e,0);let t=this._length,n=this._comparator,o=this._array,i=-1,r=!0;for(;r;){let a=2*(e+1),u=a-1;u<t&&n(o[u],o[e])<0?i=u:i=e,a<t&&n(o[a],o[i])<0&&(i=a),i!==e?(on(o,i,e),e=i):r=!1}};He.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};He.prototype.insert=function(e){s.defined("element",e);let t=this._array,n=this._comparator,o=this._maximumLength,i=this._length++;for(i<t.length?t[i]=e:t.push(e);i!==0;){let a=Math.floor((i-1)/2);if(n(t[i],t[a])<0)on(t,i,a),i=a;else break}let r;return p(o)&&this._length>o&&(r=t[o],this._length=o),r};He.prototype.pop=function(e){if(e=O(e,0),this._length===0)return;s.typeOf.number.lessThan("index",e,this._length);let t=this._array,n=t[e];return on(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var eo=He;function Rr(e,t){return e.priority-t.priority}var K={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},ot=20,we=new eo({comparator:Rr});we.maximumLength=ot;we.reserve(ot);var ve=[],Pe={},Er=typeof document<"u"?new qt.default(document.location.href):new qt.default,Dt=new Kn;function se(){}se.maximumRequests=50;se.maximumRequestsPerServer=18;se.requestsByServer={};se.throttleRequests=!0;se.debugShowStatistics=!1;se.requestCompletedEvent=Dt;Object.defineProperties(se,{statistics:{get:function(){return K}},priorityHeapLength:{get:function(){return ot},set:function(e){if(e<ot)for(;we.length>e;){let t=we.pop();$e(t)}ot=e,we.maximumLength=e,we.reserve(e)}}});function to(e){p(e.priorityFunction)&&(e.priority=e.priorityFunction())}se.serverHasOpenSlots=function(e,t){t=O(t,1);let n=O(se.requestsByServer[e],se.maximumRequestsPerServer);return Pe[e]+t<=n};se.heapHasOpenSlots=function(e){return we.length+e<=ot};function no(e){return e.state===fe.UNISSUED&&(e.state=fe.ISSUED,e.deferred=We()),e.deferred.promise}function Tr(e){return function(t){if(e.state===fe.CANCELLED)return;let n=e.deferred;--K.numberOfActiveRequests,--Pe[e.serverKey],Dt.raiseEvent(),e.state=fe.RECEIVED,e.deferred=void 0,n.resolve(t)}}function Cr(e){return function(t){e.state!==fe.CANCELLED&&(++K.numberOfFailedRequests,--K.numberOfActiveRequests,--Pe[e.serverKey],Dt.raiseEvent(t),e.state=fe.FAILED,e.deferred.reject(t))}}function oo(e){let t=no(e);return e.state=fe.ACTIVE,ve.push(e),++K.numberOfActiveRequests,++K.numberOfActiveRequestsEver,++Pe[e.serverKey],e.requestFunction().then(Tr(e)).catch(Cr(e)),t}function $e(e){let t=e.state===fe.ACTIVE;if(e.state=fe.CANCELLED,++K.numberOfCancelledRequests,p(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--K.numberOfActiveRequests,--Pe[e.serverKey],++K.numberOfCancelledActiveRequests),p(e.cancelFunction)&&e.cancelFunction()}se.update=function(){let e,t,n=0,o=ve.length;for(e=0;e<o;++e){if(t=ve[e],t.cancelled&&$e(t),t.state!==fe.ACTIVE){++n;continue}n>0&&(ve[e-n]=t)}ve.length-=n;let i=we.internalArray,r=we.length;for(e=0;e<r;++e)to(i[e]);we.resort();let a=Math.max(se.maximumRequests-ve.length,0),u=0;for(;u<a&&we.length>0;){if(t=we.pop(),t.cancelled){$e(t);continue}if(t.throttleByServer&&!se.serverHasOpenSlots(t.serverKey)){$e(t);continue}oo(t),++u}vr()};se.getServerKey=function(e){s.typeOf.string("url",e);let t=new qt.default(e);t.scheme()===""&&(t=t.absoluteTo(Er),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let o=Pe[n];return p(o)||(Pe[n]=0),n};se.request=function(e){if(s.typeOf.object("request",e),s.typeOf.string("request.url",e.url),s.typeOf.func("request.requestFunction",e.requestFunction),zt(e.url)||Ut(e.url))return Dt.raiseEvent(),e.state=fe.RECEIVED,e.requestFunction();if(++K.numberOfAttemptedRequests,p(e.serverKey)||(e.serverKey=se.getServerKey(e.url)),se.throttleRequests&&e.throttleByServer&&!se.serverHasOpenSlots(e.serverKey))return;if(!se.throttleRequests||!e.throttle)return oo(e);if(ve.length>=se.maximumRequests)return;to(e);let t=we.insert(e);if(p(t)){if(t===e)return;$e(t)}return no(e)};function vr(){se.debugShowStatistics&&(K.numberOfActiveRequests===0&&K.lastNumberOfActiveRequests>0&&(K.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${K.numberOfAttemptedRequests}`),K.numberOfAttemptedRequests=0),K.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${K.numberOfCancelledRequests}`),K.numberOfCancelledRequests=0),K.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${K.numberOfCancelledActiveRequests}`),K.numberOfCancelledActiveRequests=0),K.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${K.numberOfFailedRequests}`),K.numberOfFailedRequests=0)),K.lastNumberOfActiveRequests=K.numberOfActiveRequests)}se.clearForSpecs=function(){for(;we.length>0;){let t=we.pop();$e(t)}let e=ve.length;for(let t=0;t<e;++t)$e(ve[t]);ve.length=0,Pe={},K.numberOfAttemptedRequests=0,K.numberOfActiveRequests=0,K.numberOfCancelledRequests=0,K.numberOfCancelledActiveRequests=0,K.numberOfFailedRequests=0,K.numberOfActiveRequestsEver=0,K.lastNumberOfActiveRequests=0};se.numberOfActiveRequestsByServer=function(e){return Pe[e]};se.requestHeap=we;var Nt=se;var ro=Ze(Qe(),1);var lt={},rt={};lt.add=function(e,t){if(!p(e))throw new j("host is required.");if(!p(t)||t<=0)throw new j("port is required to be greater than 0.");let n=`${e.toLowerCase()}:${t}`;p(rt[n])||(rt[n]=!0)};lt.remove=function(e,t){if(!p(e))throw new j("host is required.");if(!p(t)||t<=0)throw new j("port is required to be greater than 0.");let n=`${e.toLowerCase()}:${t}`;p(rt[n])&&delete rt[n]};function Ar(e){let t=new ro.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let o=t.scheme();if(o.length===0&&(o=window.location.protocol,o=o.substring(0,o.length-1)),o==="http")n+=":80";else if(o==="https")n+=":443";else return}return n}}lt.contains=function(e){if(!p(e))throw new j("url is required.");let t=Ar(e);return!!(p(t)&&p(rt[t]))};lt.clear=function(){rt={}};var rn=lt;var so=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function U(e){e=O(e,O.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),s.typeOf.string("options.url",e.url),this._url=void 0,this._templateValues=Ae(e.templateValues,{}),this._queryParameters=Ae(e.queryParameters,{}),this.headers=Ae(e.headers,{}),this.request=O(e.request,new Zn),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=O(e.retryAttempts,0),this._retryCount=0,O(e.parseUrl,!0)?this.parseUrl(e.url,!0,!0):this._url=e.url,this._credits=e.credits}function Ae(e,t){return p(e)?nt(e):t}U.createIfNeeded=function(e){return e instanceof U?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new U({url:e})};var it;U.supportsImageBitmapOptions=function(){return p(it)?it:typeof createImageBitmap!="function"?(it=Promise.resolve(!1),it):(it=U.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC"}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=nn(t[0]),o=nn(t[1]);return n[1]!==o[1]}).catch(function(){return!1}),it)};Object.defineProperties(U,{isBlobSupported:{get:function(){return so}}});Object.defineProperties(U.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){this.parseUrl(e,!1,!1)}},extension:{get:function(){return Qn(this._url)}},isDataUri:{get:function(){return zt(this._url)}},isBlobUri:{get:function(){return Ut(this._url)}},isCrossOriginUrl:{get:function(){return Hn(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}},credits:{get:function(){return this._credits}}});U.prototype.toString=function(){return this.getUrlComponent(!0,!0)};U.prototype.parseUrl=function(e,t,n,o){let i=new co.default(e),r=jr(i.query());this._queryParameters=t?Ft(r,this.queryParameters,n):r,i.search(""),i.fragment(""),p(o)&&i.scheme()===""&&(i=i.absoluteTo(dt(o))),this._url=i.toString()};function jr(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:Yn(e)}function Ft(e,t,n){if(!n)return De(e,t);let o=nt(e,!0);for(let i in t)if(t.hasOwnProperty(i)){let r=o[i],a=t[i];p(r)?(Array.isArray(r)||(r=o[i]=[r]),o[i]=r.concat(a)):o[i]=Array.isArray(a)?a.slice():a}return o}U.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${Mr(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let o=this._templateValues;return Object.keys(o).length>0&&(n=n.replace(/{(.*?)}/g,function(i,r){let a=o[r];return p(a)?encodeURIComponent(a):i})),t&&p(this.proxy)&&(n=this.proxy.getURL(n)),n};function Mr(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!p(e[t[0]])?`?${t[0]}`:`?${Vn(e)}`}U.prototype.setQueryParameters=function(e,t){t?this._queryParameters=Ft(this._queryParameters,e,!1):this._queryParameters=Ft(e,this._queryParameters,!1)};U.prototype.appendQueryParameters=function(e){this._queryParameters=Ft(e,this._queryParameters,!0)};U.prototype.setTemplateValues=function(e,t){t?this._templateValues=De(this._templateValues,e):this._templateValues=De(e,this._templateValues)};U.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,p(e.url)){let n=O(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return p(e.queryParameters)&&(t._queryParameters=De(e.queryParameters,t.queryParameters)),p(e.templateValues)&&(t._templateValues=De(e.templateValues,t.templateValues)),p(e.headers)&&(t.headers=De(e.headers,t.headers)),p(e.proxy)&&(t.proxy=e.proxy),p(e.request)&&(t.request=e.request),p(e.retryCallback)&&(t.retryCallback=e.retryCallback),p(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};U.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(o){return++n._retryCount,o})};U.prototype.clone=function(e){return p(e)?(e._url=this._url,e._queryParameters=nt(this._queryParameters),e._templateValues=nt(this._templateValues),e.headers=nt(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new U({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:p(this.credits)?this.credits.slice():void 0})};U.prototype.getBaseUri=function(e){return xn(this.getUrlComponent(e),e)};U.prototype.appendForwardSlash=function(){this._url=Nn(this._url)};U.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};U.fetchArrayBuffer=function(e){return new U(e).fetchArrayBuffer()};U.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};U.fetchBlob=function(e){return new U(e).fetchBlob()};U.prototype.fetchImage=function(e){e=O(e,O.EMPTY_OBJECT);let t=O(e.preferImageBitmap,!1),n=O(e.preferBlob,!1),o=O(e.flipY,!1),i=O(e.skipColorSpaceConversion,!1);if(sn(this.request),!so||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return cn({resource:this,flipY:o,skipColorSpaceConversion:i,preferImageBitmap:t});let r=this.fetchBlob();if(!p(r))return;let a,u,d,m;return U.supportsImageBitmapOptions().then(function(l){return a=l,u=a&&t,r}).then(function(l){if(!p(l))return;if(m=l,u)return U.createImageBitmapFromBlob(l,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:i});let w=window.URL.createObjectURL(l);return d=new U({url:w}),cn({resource:d,flipY:o,skipColorSpaceConversion:i,preferImageBitmap:!1})}).then(function(l){if(p(l))return l.blob=m,u||window.URL.revokeObjectURL(d.url),l}).catch(function(l){return p(d)&&window.URL.revokeObjectURL(d.url),l.blob=m,Promise.reject(l)})};function cn(e){let t=e.resource,n=e.flipY,o=e.skipColorSpaceConversion,i=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let u=!1;!t.isDataUri&&!t.isBlobUri&&(u=t.isCrossOriginUrl);let d=We();return U._Implementations.createImage(r,u,d,n,o,i),d.promise};let a=Nt.request(r);if(p(a))return a.catch(function(u){return r.state!==fe.FAILED?Promise.reject(u):t.retryOnError(u).then(function(d){return d?(r.state=fe.UNISSUED,r.deferred=void 0,cn({resource:t,flipY:n,skipColorSpaceConversion:o,preferImageBitmap:i})):Promise.reject(u)})})}U.fetchImage=function(e){return new U(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};U.prototype.fetchText=function(){return this.fetch({responseType:"text"})};U.fetchText=function(e){return new U(e).fetchText()};U.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(p(e))return e.then(function(t){if(p(t))return JSON.parse(t)})};U.fetchJson=function(e){return new U(e).fetchJson()};U.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};U.fetchXML=function(e){return new U(e).fetchXML()};U.prototype.fetchJsonp=function(e){e=O(e,"callback"),sn(this.request);let t;do t=`loadJsonp${E.nextRandomNumber().toString().substring(2,8)}`;while(p(window[t]));return ao(this,e,t)};function ao(e,t,n){let o={};o[t]=n,e.setQueryParameters(o);let i=e.request,r=e.url;i.url=r,i.requestFunction=function(){let u=We();return window[n]=function(d){u.resolve(d);try{delete window[n]}catch{window[n]=void 0}},U._Implementations.loadAndExecuteScript(r,n,u),u.promise};let a=Nt.request(i);if(p(a))return a.catch(function(u){return i.state!==fe.FAILED?Promise.reject(u):e.retryOnError(u).then(function(d){return d?(i.state=fe.UNISSUED,i.deferred=void 0,ao(e,t,n)):Promise.reject(u)})})}U.fetchJsonp=function(e){return new U(e).fetchJsonp(e.callbackParameterName)};U.prototype._makeRequest=function(e){let t=this;sn(t.request);let n=t.request,o=t.url;n.url=o,n.requestFunction=function(){let r=e.responseType,a=De(e.headers,t.headers),u=e.overrideMimeType,d=e.method,m=e.data,l=We(),w=U._Implementations.loadWithXhr(o,r,d,m,a,l,u);return p(w)&&p(w.abort)&&(n.cancelFunction=function(){w.abort()}),l.promise};let i=Nt.request(n);if(p(i))return i.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==fe.FAILED?Promise.reject(r):t.retryOnError(r).then(function(a){return a?(n.state=fe.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function sn(e){if(e.state===fe.ISSUED||e.state===fe.ACTIVE)throw new Se("The Resource is already being fetched.");e.state=fe.UNISSUED,e.deferred=void 0}var Pr=/^data:(.*?)(;base64)?,(.*)$/;function kt(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function io(e,t){let n=kt(e,t),o=new ArrayBuffer(n.length),i=new Uint8Array(o);for(let r=0;r<n.length;r++)i[r]=n.charCodeAt(r);return o}function Ur(e,t){t=O(t,"");let n=e[1],o=!!e[2],i=e[3],r,a;switch(t){case"":case"text":return kt(o,i);case"arraybuffer":return io(o,i);case"blob":return r=io(o,i),new Blob([r],{type:n});case"document":return a=new DOMParser,a.parseFromString(kt(o,i),n);case"json":return JSON.parse(kt(o,i));default:throw new j(`Unhandled responseType: ${t}`)}}U.prototype.fetch=function(e){return e=Ae(e,{}),e.method="GET",this._makeRequest(e)};U.fetch=function(e){return new U(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.delete=function(e){return e=Ae(e,{}),e.method="DELETE",this._makeRequest(e)};U.delete=function(e){return new U(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};U.prototype.head=function(e){return e=Ae(e,{}),e.method="HEAD",this._makeRequest(e)};U.head=function(e){return new U(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.options=function(e){return e=Ae(e,{}),e.method="OPTIONS",this._makeRequest(e)};U.options=function(e){return new U(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.post=function(e,t){return s.defined("data",e),t=Ae(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};U.post=function(e){return new U(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.put=function(e,t){return s.defined("data",e),t=Ae(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};U.put=function(e){return new U(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U.prototype.patch=function(e,t){return s.defined("data",e),t=Ae(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};U.patch=function(e){return new U(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};U._Implementations={};U._Implementations.loadImageElement=function(e,t,n){let o=new Image;o.onload=function(){o.naturalWidth===0&&o.naturalHeight===0&&o.width===0&&o.height===0&&(o.width=300,o.height=150),n.resolve(o)},o.onerror=function(i){n.reject(i)},t&&(rn.contains(e)?o.crossOrigin="use-credentials":o.crossOrigin=""),o.src=e};U._Implementations.createImage=function(e,t,n,o,i,r){let a=e.url;U.supportsImageBitmapOptions().then(function(u){if(!(u&&r)){U._Implementations.loadImageElement(a,t,n);return}let d="blob",m="GET",l=We(),w=U._Implementations.loadWithXhr(a,d,m,void 0,void 0,l,void 0,void 0,void 0);return p(w)&&p(w.abort)&&(e.cancelFunction=function(){w.abort()}),l.promise.then(function(T){if(!p(T)){n.reject(new Se(`Successfully retrieved ${a} but it contained no content.`));return}return U.createImageBitmapFromBlob(T,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:i})}).then(function(T){n.resolve(T)})}).catch(function(u){n.reject(u)})};U.createImageBitmapFromBlob=function(e,t){return s.defined("options",t),s.typeOf.bool("options.flipY",t.flipY),s.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),s.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function zr(e,t,n,o,i,r,a){fetch(e,{method:n,headers:i}).then(async u=>{if(!u.ok){let d={};u.headers.forEach((m,l)=>{d[l]=m}),r.reject(new mt(u.status,u,d));return}switch(t){case"text":r.resolve(u.text());break;case"json":r.resolve(u.json());break;default:r.resolve(new Uint8Array(await u.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new mt)})}var Ir=typeof XMLHttpRequest>"u";U._Implementations.loadWithXhr=function(e,t,n,o,i,r,a){let u=Pr.exec(e);if(u!==null){r.resolve(Ur(u,t));return}if(Ir){zr(e,t,n,o,i,r,a);return}let d=new XMLHttpRequest;if(rn.contains(e)&&(d.withCredentials=!0),d.open(n,e,!0),p(a)&&p(d.overrideMimeType)&&d.overrideMimeType(a),p(i))for(let l in i)i.hasOwnProperty(l)&&d.setRequestHeader(l,i[l]);p(t)&&(d.responseType=t);let m=!1;return typeof e=="string"&&(m=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),d.onload=function(){if((d.status<200||d.status>=300)&&!(m&&d.status===0)){r.reject(new mt(d.status,d.response,d.getAllResponseHeaders()));return}let l=d.response,w=d.responseType;if(n==="HEAD"||n==="OPTIONS"){let C=d.getAllResponseHeaders().trim().split(/[\r\n]+/),P={};C.forEach(function(A){let q=A.split(": "),k=q.shift();P[k]=q.join(": ")}),r.resolve(P);return}if(d.status===204)r.resolve(void 0);else if(p(l)&&(!p(t)||w===t))r.resolve(l);else if(t==="json"&&typeof l=="string")try{r.resolve(JSON.parse(l))}catch(T){r.reject(T)}else(w===""||w==="document")&&p(d.responseXML)&&d.responseXML.hasChildNodes()?r.resolve(d.responseXML):(w===""||w==="text")&&p(d.responseText)?r.resolve(d.responseText):r.reject(new Se("Invalid XMLHttpRequest response type."))},d.onerror=function(l){r.reject(new mt)},d.send(o),d};U._Implementations.loadAndExecuteScript=function(e,t,n){return $n(e,t).catch(function(o){n.reject(o)})};U._DefaultImplementations={};U._DefaultImplementations.createImage=U._Implementations.createImage;U._DefaultImplementations.loadWithXhr=U._Implementations.loadWithXhr;U._DefaultImplementations.loadAndExecuteScript=U._Implementations.loadAndExecuteScript;U.DEFAULT=Object.freeze(new U({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var ke=U;function bt(e){e=O(e,O.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=O(e.addNewLeapSeconds,!0),p(e.data)?fo(this,e.data):fo(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}bt.fromUrl=async function(e,t){s.defined("url",e),t=O(t,O.EMPTY_OBJECT);let n=ke.createIfNeeded(e),o;try{o=await n.fetchJson()}catch{throw new Se(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new bt({addNewLeapSeconds:t.addNewLeapSeconds,data:o})};bt.NONE=Object.freeze({compute:function(e,t){return p(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new pt(0,0,0,0,0),t}});bt.prototype.compute=function(e,t){if(!p(this._samples))return;if(p(t)||(t=new pt(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,o=this._lastIndex,i=0,r=0;if(p(o)){let u=n[o],d=n[o+1],m=pe.lessThanOrEquals(u,e),l=!p(d),w=l||pe.greaterThanOrEquals(d,e);if(m&&w)return i=o,!l&&d.equals(e)&&++i,r=i+1,po(this,n,this._samples,e,i,r,t),t}let a=Be(n,e,pe.compare,this._dateColumn);return a>=0?(a<n.length-1&&n[a+1].equals(e)&&++a,i=a,r=a):(r=~a,i=r-1,i<0&&(i=0)),this._lastIndex=i,po(this,n,this._samples,e,i,r,t),t};function qr(e,t){return pe.compare(e.julianDate,t)}function fo(e,t){if(!p(t.columnNames))throw new Se("Error in loaded EOP data: The columnNames property is required.");if(!p(t.samples))throw new Se("Error in loaded EOP data: The samples property is required.");let n=t.columnNames.indexOf("modifiedJulianDateUtc"),o=t.columnNames.indexOf("xPoleWanderRadians"),i=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),a=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),u=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),d=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||o<0||i<0||r<0||a<0||u<0||d<0)throw new Se("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");let m=e._samples=t.samples,l=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=o,e._yPoleWanderRadiansColumn=i,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=a,e._yCelestialPoleOffsetRadiansColumn=u,e._taiMinusUtcSecondsColumn=d,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let w,T=e._addNewLeapSeconds;for(let C=0,P=m.length;C<P;C+=e._columnCount){let A=m[C+n],q=m[C+d],k=A+ce.MODIFIED_JULIAN_DATE_DIFFERENCE,L=new pe(k,q,$.TAI);if(l.push(L),T){if(q!==w&&p(w)){let F=pe.leapSeconds,B=Be(F,L,qr);if(B<0){let W=new ne(L,q);F.splice(~B,0,W)}}w=q}}}function uo(e,t,n,o,i){let r=n*o;i.xPoleWander=t[r+e._xPoleWanderRadiansColumn],i.yPoleWander=t[r+e._yPoleWanderRadiansColumn],i.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],i.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],i.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function wt(e,t,n){return t+e*(n-t)}function po(e,t,n,o,i,r,a){let u=e._columnCount;if(r>t.length-1)return a.xPoleWander=0,a.yPoleWander=0,a.xPoleOffset=0,a.yPoleOffset=0,a.ut1MinusUtc=0,a;let d=t[i],m=t[r];if(d.equals(m)||o.equals(d))return uo(e,n,i,u,a),a;if(o.equals(m))return uo(e,n,r,u,a),a;let l=pe.secondsDifference(o,d)/pe.secondsDifference(m,d),w=i*u,T=r*u,C=n[w+e._ut1MinusUtcSecondsColumn],P=n[T+e._ut1MinusUtcSecondsColumn],A=P-C;if(A>.5||A<-.5){let q=n[w+e._taiMinusUtcSecondsColumn],k=n[T+e._taiMinusUtcSecondsColumn];q!==k&&(m.equals(o)?C=P:P-=k-q)}return a.xPoleWander=wt(l,n[w+e._xPoleWanderRadiansColumn],n[T+e._xPoleWanderRadiansColumn]),a.yPoleWander=wt(l,n[w+e._yPoleWanderRadiansColumn],n[T+e._yPoleWanderRadiansColumn]),a.xPoleOffset=wt(l,n[w+e._xCelestialPoleOffsetRadiansColumn],n[T+e._xCelestialPoleOffsetRadiansColumn]),a.yPoleOffset=wt(l,n[w+e._yCelestialPoleOffsetRadiansColumn],n[T+e._yCelestialPoleOffsetRadiansColumn]),a.ut1MinusUtc=wt(l,C,P),a}var ho=bt;function be(e,t,n){this.heading=O(e,0),this.pitch=O(t,0),this.roll=O(n,0)}be.fromQuaternion=function(e,t){if(!p(e))throw new j("quaternion is required");p(t)||(t=new be);let n=2*(e.w*e.y-e.z*e.x),o=1-2*(e.x*e.x+e.y*e.y),i=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),a=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(a,r),t.roll=Math.atan2(i,o),t.pitch=-E.asinClamped(n),t};be.fromDegrees=function(e,t,n,o){if(!p(e))throw new j("heading is required");if(!p(t))throw new j("pitch is required");if(!p(n))throw new j("roll is required");return p(o)||(o=new be),o.heading=e*E.RADIANS_PER_DEGREE,o.pitch=t*E.RADIANS_PER_DEGREE,o.roll=n*E.RADIANS_PER_DEGREE,o};be.clone=function(e,t){if(p(e))return p(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new be(e.heading,e.pitch,e.roll)};be.equals=function(e,t){return e===t||p(e)&&p(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};be.equalsEpsilon=function(e,t,n,o){return e===t||p(e)&&p(t)&&E.equalsEpsilon(e.heading,t.heading,n,o)&&E.equalsEpsilon(e.pitch,t.pitch,n,o)&&E.equalsEpsilon(e.roll,t.roll,n,o)};be.prototype.clone=function(e){return be.clone(this,e)};be.prototype.equals=function(e){return be.equals(this,e)};be.prototype.equalsEpsilon=function(e,t,n){return be.equalsEpsilon(this,e,t,n)};be.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Lt=be;var mo=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function Dr(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let o=e[t].getAttribute("src"),i=mo.exec(o);if(i!==null)return i[1]}}var xt;function yo(e){return typeof document>"u"?e:(p(xt)||(xt=document.createElement("a")),xt.href=e,xt.href)}var Ve;function lo(){if(p(Ve))return Ve;let e;if(typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:p(import.meta?.url)?e=dt(".",import.meta.url):typeof define=="object"&&p(define.amd)&&!define.amd.toUrlUndefined&&p(_t.toUrl)?e=dt("..",Ye("Core/buildModuleUrl.js")):e=Dr(),!p(e))throw new j("Unable to determine Cesium base URL automatically, try defining a global variable called CESIUM_BASE_URL.");return Ve=new ke({url:yo(e)}),Ve.appendForwardSlash(),Ve}function Nr(e){return yo(_t.toUrl(`../${e}`))}function wo(e){return lo().getDerivedResource({url:e}).url}var Bt;function Ye(e){return p(Bt)||(typeof define=="object"&&p(define.amd)&&!define.amd.toUrlUndefined&&p(_t.toUrl)?Bt=Nr:Bt=wo),Bt(e)}Ye._cesiumScriptRegex=mo;Ye._buildModuleUrlFromBaseUrl=wo;Ye._clearBaseResource=function(){Ve=void 0};Ye.setBaseUrl=function(e){Ve=ke.DEFAULT.getDerivedResource({url:e})};Ye.getCesiumBaseUrl=lo;var bo=Ye;function kr(e,t,n){this.x=e,this.y=t,this.s=n}var Qt=kr;function un(e){e=O(e,O.EMPTY_OBJECT),this._xysFileUrlTemplate=ke.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=O(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=O(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new pe(this._sampleZeroJulianEphemerisDate,0,$.TAI),this._stepSizeDays=O(e.stepSizeDays,1),this._samplesPerXysFile=O(e.samplesPerXysFile,1e3),this._totalSamples=O(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),o=this._xTable=new Array(t+1),i=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=i,o[r]=r*this._stepSizeDays;for(let a=0;a<=t;++a)a!==r&&(n[r]*=r-a);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var Fr=new pe(0,0,$.TAI);function an(e,t,n){let o=Fr;return o.dayNumber=t,o.secondsOfDay=n,pe.daysDifference(o,e._sampleZeroDateTT)}un.prototype.preload=function(e,t,n,o){let i=an(this,e,t),r=an(this,n,o),a=i/this._stepSizeDays-this._interpolationOrder/2|0;a<0&&(a=0);let u=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;u>=this._totalSamples&&(u=this._totalSamples-1);let d=a/this._samplesPerXysFile|0,m=u/this._samplesPerXysFile|0,l=[];for(let w=d;w<=m;++w)l.push(fn(this,w));return Promise.all(l)};un.prototype.computeXysRadians=function(e,t,n){let o=an(this,e,t);if(o<0)return;let i=o/this._stepSizeDays|0;if(i>=this._totalSamples)return;let r=this._interpolationOrder,a=i-(r/2|0);a<0&&(a=0);let u=a+r;u>=this._totalSamples&&(u=this._totalSamples-1,a=u-r,a<0&&(a=0));let d=!1,m=this._samples;if(p(m[a*3])||(fn(this,a/this._samplesPerXysFile|0),d=!0),p(m[u*3])||(fn(this,u/this._samplesPerXysFile|0),d=!0),d)return;p(n)?(n.x=0,n.y=0,n.s=0):n=new Qt(0,0,0);let l=o-a*this._stepSizeDays,w=this._work,T=this._denominators,C=this._coef,P=this._xTable,A,q;for(A=0;A<=r;++A)w[A]=l-P[A];for(A=0;A<=r;++A){for(C[A]=1,q=0;q<=r;++q)q!==A&&(C[A]*=w[q]);C[A]*=T[A];let k=(a+A)*3;n.x+=C[A]*m[k++],n.y+=C[A]*m[k++],n.s+=C[A]*m[k]}return n};function fn(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,o=e._xysFileUrlTemplate;p(o)?n=o.getDerivedResource({templateValues:{0:t}}):n=new ke({url:bo(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let i=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let a=e._samples,u=r.samples,d=t*e._samplesPerXysFile*3;for(let m=0,l=u.length;m<l;++m)a[d+m]=u[m]});return e._chunkDownloadsInProgress[t]=i,i}var Oo=un;function R(e,t,n,o){this.x=O(e,0),this.y=O(t,0),this.z=O(n,0),this.w=O(o,0)}var Ot=new _;R.fromAxisAngle=function(e,t,n){s.typeOf.object("axis",e),s.typeOf.number("angle",t);let o=t/2,i=Math.sin(o);Ot=_.normalize(e,Ot);let r=Ot.x*i,a=Ot.y*i,u=Ot.z*i,d=Math.cos(o);return p(n)?(n.x=r,n.y=a,n.z=u,n.w=d,n):new R(r,a,u,d)};var Lr=[1,2,0],xr=new Array(3);R.fromRotationMatrix=function(e,t){s.typeOf.object("matrix",e);let n,o,i,r,a,u=e[Q.COLUMN0ROW0],d=e[Q.COLUMN1ROW1],m=e[Q.COLUMN2ROW2],l=u+d+m;if(l>0)n=Math.sqrt(l+1),a=.5*n,n=.5/n,o=(e[Q.COLUMN1ROW2]-e[Q.COLUMN2ROW1])*n,i=(e[Q.COLUMN2ROW0]-e[Q.COLUMN0ROW2])*n,r=(e[Q.COLUMN0ROW1]-e[Q.COLUMN1ROW0])*n;else{let w=Lr,T=0;d>u&&(T=1),m>u&&m>d&&(T=2);let C=w[T],P=w[C];n=Math.sqrt(e[Q.getElementIndex(T,T)]-e[Q.getElementIndex(C,C)]-e[Q.getElementIndex(P,P)]+1);let A=xr;A[T]=.5*n,n=.5/n,a=(e[Q.getElementIndex(P,C)]-e[Q.getElementIndex(C,P)])*n,A[C]=(e[Q.getElementIndex(C,T)]+e[Q.getElementIndex(T,C)])*n,A[P]=(e[Q.getElementIndex(P,T)]+e[Q.getElementIndex(T,P)])*n,o=-A[0],i=-A[1],r=-A[2]}return p(t)?(t.x=o,t.y=i,t.z=r,t.w=a,t):new R(o,i,r,a)};var go=new R,_o=new R,pn=new R,So=new R;R.fromHeadingPitchRoll=function(e,t){return s.typeOf.object("headingPitchRoll",e),So=R.fromAxisAngle(_.UNIT_X,e.roll,go),pn=R.fromAxisAngle(_.UNIT_Y,-e.pitch,t),t=R.multiply(pn,So,pn),_o=R.fromAxisAngle(_.UNIT_Z,-e.heading,go),R.multiply(_o,t,t)};var Wt=new _,hn=new _,Ee=new R,Ro=new R,Ht=new R;R.packedLength=4;R.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};R.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new R),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};R.packedInterpolationLength=3;R.convertPackedArrayForInterpolation=function(e,t,n,o){R.unpack(e,n*4,Ht),R.conjugate(Ht,Ht);for(let i=0,r=n-t+1;i<r;i++){let a=i*3;R.unpack(e,(t+i)*4,Ee),R.multiply(Ee,Ht,Ee),Ee.w<0&&R.negate(Ee,Ee),R.computeAxis(Ee,Wt);let u=R.computeAngle(Ee);p(o)||(o=[]),o[a]=Wt.x*u,o[a+1]=Wt.y*u,o[a+2]=Wt.z*u}};R.unpackInterpolationResult=function(e,t,n,o,i){p(i)||(i=new R),_.fromArray(e,0,hn);let r=_.magnitude(hn);return R.unpack(t,o*4,Ro),r===0?R.clone(R.IDENTITY,Ee):R.fromAxisAngle(hn,r,Ee),R.multiply(Ee,Ro,i)};R.clone=function(e,t){if(p(e))return p(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new R(e.x,e.y,e.z,e.w)};R.conjugate=function(e,t){return s.typeOf.object("quaternion",e),s.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};R.magnitudeSquared=function(e){return s.typeOf.object("quaternion",e),e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};R.magnitude=function(e){return Math.sqrt(R.magnitudeSquared(e))};R.normalize=function(e,t){s.typeOf.object("result",t);let n=1/R.magnitude(e),o=e.x*n,i=e.y*n,r=e.z*n,a=e.w*n;return t.x=o,t.y=i,t.z=r,t.w=a,t};R.inverse=function(e,t){s.typeOf.object("result",t);let n=R.magnitudeSquared(e);return t=R.conjugate(e,t),R.multiplyByScalar(t,1/n,t)};R.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};R.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};R.negate=function(e,t){return s.typeOf.object("quaternion",e),s.typeOf.object("result",t),t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};R.dot=function(e,t){return s.typeOf.object("left",e),s.typeOf.object("right",t),e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};R.multiply=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e.x,i=e.y,r=e.z,a=e.w,u=t.x,d=t.y,m=t.z,l=t.w,w=a*u+o*l+i*m-r*d,T=a*d-o*m+i*l+r*u,C=a*m+o*d-i*u+r*l,P=a*l-o*u-i*d-r*m;return n.x=w,n.y=T,n.z=C,n.w=P,n};R.multiplyByScalar=function(e,t,n){return s.typeOf.object("quaternion",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};R.divideByScalar=function(e,t,n){return s.typeOf.object("quaternion",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};R.computeAxis=function(e,t){s.typeOf.object("quaternion",e),s.typeOf.object("result",t);let n=e.w;if(Math.abs(n-1)<E.EPSILON6||Math.abs(n+1)<E.EPSILON6)return t.x=1,t.y=t.z=0,t;let o=1/Math.sqrt(1-n*n);return t.x=e.x*o,t.y=e.y*o,t.z=e.z*o,t};R.computeAngle=function(e){return s.typeOf.object("quaternion",e),Math.abs(e.w-1)<E.EPSILON6?0:2*Math.acos(e.w)};var dn=new R;R.lerp=function(e,t,n,o){return s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o),dn=R.multiplyByScalar(t,n,dn),o=R.multiplyByScalar(e,1-n,o),R.add(dn,o,o)};var Eo=new R,mn=new R,yn=new R;R.slerp=function(e,t,n,o){s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o);let i=R.dot(e,t),r=t;if(i<0&&(i=-i,r=Eo=R.negate(t,Eo)),1-i<E.EPSILON6)return R.lerp(e,r,n,o);let a=Math.acos(i);return mn=R.multiplyByScalar(e,Math.sin((1-n)*a),mn),yn=R.multiplyByScalar(r,Math.sin(n*a),yn),o=R.add(mn,yn,o),R.multiplyByScalar(o,1/Math.sin(a),o)};R.log=function(e,t){s.typeOf.object("quaternion",e),s.typeOf.object("result",t);let n=E.acosClamped(e.w),o=0;return n!==0&&(o=n/Math.sin(n)),_.multiplyByScalar(e,o,t)};R.exp=function(e,t){s.typeOf.object("cartesian",e),s.typeOf.object("result",t);let n=_.magnitude(e),o=0;return n!==0&&(o=Math.sin(n)/n),t.x=e.x*o,t.y=e.y*o,t.z=e.z*o,t.w=Math.cos(n),t};var Br=new _,Qr=new _,gt=new R,ct=new R;R.computeInnerQuadrangle=function(e,t,n,o){s.typeOf.object("q0",e),s.typeOf.object("q1",t),s.typeOf.object("q2",n),s.typeOf.object("result",o);let i=R.conjugate(t,gt);R.multiply(i,n,ct);let r=R.log(ct,Br);R.multiply(i,e,ct);let a=R.log(ct,Qr);return _.add(r,a,r),_.multiplyByScalar(r,.25,r),_.negate(r,r),R.exp(r,gt),R.multiply(t,gt,o)};R.squad=function(e,t,n,o,i,r){s.typeOf.object("q0",e),s.typeOf.object("q1",t),s.typeOf.object("s0",n),s.typeOf.object("s1",o),s.typeOf.number("t",i),s.typeOf.object("result",r);let a=R.slerp(e,t,i,gt),u=R.slerp(n,o,i,ct);return R.slerp(a,u,2*i*(1-i),r)};var Wr=new R,To=1.9011074535173003,$t=ft.supportsTypedArrays()?new Float32Array(8):[],Vt=ft.supportsTypedArrays()?new Float32Array(8):[],Ue=ft.supportsTypedArrays()?new Float32Array(8):[],ze=ft.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;$t[e]=1/(t*n),Vt[e]=t/n}$t[7]=To/(8*17);Vt[7]=To*8/17;R.fastSlerp=function(e,t,n,o){s.typeOf.object("start",e),s.typeOf.object("end",t),s.typeOf.number("t",n),s.typeOf.object("result",o);let i=R.dot(e,t),r;i>=0?r=1:(r=-1,i=-i);let a=i-1,u=1-n,d=n*n,m=u*u;for(let C=7;C>=0;--C)Ue[C]=($t[C]*d-Vt[C])*a,ze[C]=($t[C]*m-Vt[C])*a;let l=r*n*(1+Ue[0]*(1+Ue[1]*(1+Ue[2]*(1+Ue[3]*(1+Ue[4]*(1+Ue[5]*(1+Ue[6]*(1+Ue[7])))))))),w=u*(1+ze[0]*(1+ze[1]*(1+ze[2]*(1+ze[3]*(1+ze[4]*(1+ze[5]*(1+ze[6]*(1+ze[7])))))))),T=R.multiplyByScalar(e,w,Wr);return R.multiplyByScalar(t,l,o),R.add(T,o,o)};R.fastSquad=function(e,t,n,o,i,r){s.typeOf.object("q0",e),s.typeOf.object("q1",t),s.typeOf.object("s0",n),s.typeOf.object("s1",o),s.typeOf.number("t",i),s.typeOf.object("result",r);let a=R.fastSlerp(e,t,i,gt),u=R.fastSlerp(n,o,i,ct);return R.fastSlerp(a,u,2*i*(1-i),r)};R.equals=function(e,t){return e===t||p(e)&&p(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};R.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};R.ZERO=Object.freeze(new R(0,0,0,0));R.IDENTITY=Object.freeze(new R(0,0,0,1));R.prototype.clone=function(e){return R.clone(this,e)};R.prototype.equals=function(e){return R.equals(this,e)};R.prototype.equalsEpsilon=function(e,t){return R.equalsEpsilon(this,e,t)};R.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Xe=R;var V={},ln={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},st={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},wn={},ge={east:new _,north:new _,up:new _,west:new _,south:new _,down:new _},Fe=new _,Le=new _,xe=new _;V.localFrameToFixedFrameGenerator=function(e,t){if(!ln.hasOwnProperty(e)||!ln[e].hasOwnProperty(t))throw new j("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=ln[e][t],o,i=e+t;return p(wn[i])?o=wn[i]:(o=function(r,a,u){if(!p(r))throw new j("origin is required.");if(isNaN(r.x)||isNaN(r.y)||isNaN(r.z))throw new j("origin has a NaN component");if(p(u)||(u=new G),_.equalsEpsilon(r,_.ZERO,E.EPSILON14))_.unpack(st[e],0,Fe),_.unpack(st[t],0,Le),_.unpack(st[n],0,xe);else if(E.equalsEpsilon(r.x,0,E.EPSILON14)&&E.equalsEpsilon(r.y,0,E.EPSILON14)){let d=E.sign(r.z);_.unpack(st[e],0,Fe),e!=="east"&&e!=="west"&&_.multiplyByScalar(Fe,d,Fe),_.unpack(st[t],0,Le),t!=="east"&&t!=="west"&&_.multiplyByScalar(Le,d,Le),_.unpack(st[n],0,xe),n!=="east"&&n!=="west"&&_.multiplyByScalar(xe,d,xe)}else{a=O(a,Ie.default),a.geodeticSurfaceNormal(r,ge.up);let d=ge.up,m=ge.east;m.x=-r.y,m.y=r.x,m.z=0,_.normalize(m,ge.east),_.cross(d,m,ge.north),_.multiplyByScalar(ge.up,-1,ge.down),_.multiplyByScalar(ge.east,-1,ge.west),_.multiplyByScalar(ge.north,-1,ge.south),Fe=ge[e],Le=ge[t],xe=ge[n]}return u[0]=Fe.x,u[1]=Fe.y,u[2]=Fe.z,u[3]=0,u[4]=Le.x,u[5]=Le.y,u[6]=Le.z,u[7]=0,u[8]=xe.x,u[9]=xe.y,u[10]=xe.z,u[11]=0,u[12]=r.x,u[13]=r.y,u[14]=r.z,u[15]=1,u},wn[i]=o),o};V.eastNorthUpToFixedFrame=V.localFrameToFixedFrameGenerator("east","north");V.northEastDownToFixedFrame=V.localFrameToFixedFrameGenerator("north","east");V.northUpEastToFixedFrame=V.localFrameToFixedFrameGenerator("north","up");V.northWestUpToFixedFrame=V.localFrameToFixedFrameGenerator("north","west");var Hr=new Xe,$r=new _(1,1,1),Vr=new G;V.headingPitchRollToFixedFrame=function(e,t,n,o,i){s.typeOf.object("HeadingPitchRoll",t),o=O(o,V.eastNorthUpToFixedFrame);let r=Xe.fromHeadingPitchRoll(t,Hr),a=G.fromTranslationQuaternionRotationScale(_.ZERO,r,$r,Vr);return i=o(e,n,i),G.multiply(i,a,i)};var Yr=new G,Xr=new Q;V.headingPitchRollQuaternion=function(e,t,n,o,i){s.typeOf.object("HeadingPitchRoll",t);let r=V.headingPitchRollToFixedFrame(e,t,n,o,Yr),a=G.getMatrix3(r,Xr);return Xe.fromRotationMatrix(a,i)};var Zr=new _(1,1,1),Jr=new _,Co=new G,Gr=new G,Kr=new Q,ei=new Xe;V.fixedFrameToHeadingPitchRoll=function(e,t,n,o){s.defined("transform",e),t=O(t,Ie.default),n=O(n,V.eastNorthUpToFixedFrame),p(o)||(o=new Lt);let i=G.getTranslation(e,Jr);if(_.equals(i,_.ZERO))return o.heading=0,o.pitch=0,o.roll=0,o;let r=G.inverseTransformation(n(i,t,Co),Co),a=G.setScale(e,Zr,Gr);a=G.setTranslation(a,_.ZERO,a),r=G.multiply(r,a,r);let u=Xe.fromRotationMatrix(G.getMatrix3(r,Kr),ei);return u=Xe.normalize(u,u),Lt.fromQuaternion(u,o)};var ti=6*3600+41*60+50.54841,ni=8640184812866e-6,oi=.093104,ri=-62e-7,ii=11772758384668e-32,ci=72921158553e-15,si=E.TWO_PI/86400,Yt=new pe;V.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=V.computeIcrfToFixedMatrix(e,t);return p(n)||(n=V.computeTemeToPseudoFixedMatrix(e,t)),n};V.computeTemeToPseudoFixedMatrix=function(e,t){if(!p(e))throw new j("date is required.");Yt=pe.addSeconds(e,-pe.computeTaiMinusUtc(e),Yt);let n=Yt.dayNumber,o=Yt.secondsOfDay,i,r=n-2451545;o>=43200?i=(r+.5)/ce.DAYS_PER_JULIAN_CENTURY:i=(r-.5)/ce.DAYS_PER_JULIAN_CENTURY;let u=(ti+i*(ni+i*(oi+i*ri)))*si%E.TWO_PI,d=ci+ii*(n-24515455e-1),m=(o+ce.SECONDS_PER_DAY*.5)%ce.SECONDS_PER_DAY,l=u+d*m,w=Math.cos(l),T=Math.sin(l);return p(t)?(t[0]=w,t[1]=-T,t[2]=0,t[3]=T,t[4]=w,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new Q(w,T,0,-T,w,0,0,0,1)};V.iau2006XysData=new Oo;V.earthOrientationParameters=ho.NONE;var gn=32.184,ai=2451545;V.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+gn,o=e.stop.dayNumber,i=e.stop.secondsOfDay+gn;return V.iau2006XysData.preload(t,n,o,i)};V.computeIcrfToFixedMatrix=function(e,t){if(!p(e))throw new j("date is required.");p(t)||(t=new Q);let n=V.computeFixedToIcrfMatrix(e,t);if(p(n))return Q.transpose(n,t)};var fi=32.184,ui=2451545,Xt=new Lt,pi=new Q,hi=new pe;V.computeMoonFixedToIcrfMatrix=function(e,t){if(!p(e))throw new j("date is required.");p(t)||(t=new Q);let n=pe.addSeconds(e,fi,hi),o=pe.totalDays(n)-ui,i=E.toRadians(12.112)-E.toRadians(.052992)*o,r=E.toRadians(24.224)-E.toRadians(.105984)*o,a=E.toRadians(227.645)+E.toRadians(13.012)*o,u=E.toRadians(261.105)+E.toRadians(13.340716)*o,d=E.toRadians(358)+E.toRadians(.9856)*o;return Xt.pitch=E.toRadians(180)-E.toRadians(3.878)*Math.sin(i)-E.toRadians(.12)*Math.sin(r)+E.toRadians(.07)*Math.sin(a)-E.toRadians(.017)*Math.sin(u),Xt.roll=E.toRadians(66.53-90)+E.toRadians(1.543)*Math.cos(i)+E.toRadians(.24)*Math.cos(r)-E.toRadians(.028)*Math.cos(a)+E.toRadians(.007)*Math.cos(u),Xt.heading=E.toRadians(244.375-90)+E.toRadians(13.17635831)*o+E.toRadians(3.558)*Math.sin(i)+E.toRadians(.121)*Math.sin(r)-E.toRadians(.064)*Math.sin(a)+E.toRadians(.016)*Math.sin(u)+E.toRadians(.025)*Math.sin(d),Q.fromHeadingPitchRoll(Xt,pi)};V.computeIcrfToMoonFixedMatrix=function(e,t){if(!p(e))throw new j("date is required.");p(t)||(t=new Q);let n=V.computeMoonFixedToIcrfMatrix(e,t);if(p(n))return Q.transpose(n,t)};var di=new Qt(0,0,0),mi=new pt(0,0,0,0,0,0),bn=new Q,On=new Q;V.computeFixedToIcrfMatrix=function(e,t){if(!p(e))throw new j("date is required.");p(t)||(t=new Q);let n=V.earthOrientationParameters.compute(e,mi);if(!p(n))return;let o=e.dayNumber,i=e.secondsOfDay+gn,r=V.iau2006XysData.computeXysRadians(o,i,di);if(!p(r))return;let a=r.x+n.xPoleOffset,u=r.y+n.yPoleOffset,d=1/(1+Math.sqrt(1-a*a-u*u)),m=bn;m[0]=1-d*a*a,m[3]=-d*a*u,m[6]=a,m[1]=-d*a*u,m[4]=1-d*u*u,m[7]=u,m[2]=-a,m[5]=-u,m[8]=1-d*(a*a+u*u);let l=Q.fromRotationZ(-r.s,On),w=Q.multiply(m,l,bn),T=e.dayNumber,C=e.secondsOfDay-pe.computeTaiMinusUtc(e)+n.ut1MinusUtc,P=T-2451545,A=C/ce.SECONDS_PER_DAY,q=.779057273264+A+.00273781191135448*(P+A);q=q%1*E.TWO_PI;let k=Q.fromRotationZ(q,On),L=Q.multiply(w,k,bn),F=Math.cos(n.xPoleWander),B=Math.cos(n.yPoleWander),W=Math.sin(n.xPoleWander),H=Math.sin(n.yPoleWander),ee=o-ai+i/ce.SECONDS_PER_DAY;ee/=36525;let re=-47e-6*ee*E.RADIANS_PER_DEGREE/3600,Z=Math.cos(re),oe=Math.sin(re),J=On;return J[0]=F*Z,J[1]=F*oe,J[2]=W,J[3]=-B*oe+H*W*Z,J[4]=B*Z+H*W*oe,J[5]=-H*F,J[6]=-H*oe-B*W*Z,J[7]=H*Z-B*W*oe,J[8]=B*F,Q.multiply(L,J,t)};var yi=new qe;V.pointToWindowCoordinates=function(e,t,n,o){return o=V.pointToGLWindowCoordinates(e,t,n,o),o.y=2*t[5]-o.y,o};V.pointToGLWindowCoordinates=function(e,t,n,o){if(!p(e))throw new j("modelViewProjectionMatrix is required.");if(!p(t))throw new j("viewportTransformation is required.");if(!p(n))throw new j("point is required.");p(o)||(o=new Oe);let i=yi;return G.multiplyByVector(e,qe.fromElements(n.x,n.y,n.z,1,i),i),qe.multiplyByScalar(i,1/i.w,i),G.multiplyByVector(t,i,i),Oe.fromCartesian4(i,o)};var li=new _,wi=new _,bi=new _;V.rotationMatrixFromPositionVelocity=function(e,t,n,o){if(!p(e))throw new j("position is required.");if(!p(t))throw new j("velocity is required.");let i=O(n,Ie.default).geodeticSurfaceNormal(e,li),r=_.cross(t,i,wi);_.equalsEpsilon(r,_.ZERO,E.EPSILON6)&&(r=_.clone(_.UNIT_X,r));let a=_.cross(r,t,bi);return _.normalize(a,a),_.cross(t,a,r),_.negate(r,r),_.normalize(r,r),p(o)||(o=new Q),o[0]=t.x,o[1]=t.y,o[2]=t.z,o[3]=r.x,o[4]=r.y,o[5]=r.z,o[6]=a.x,o[7]=a.y,o[8]=a.z,o};var vo=new G(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),Ao=new Me,_n=new _,Oi=new _,gi=new Q,Sn=new G,jo=new G;V.basisTo2D=function(e,t,n){if(!p(e))throw new j("projection is required.");if(!p(t))throw new j("matrix is required.");if(!p(n))throw new j("result is required.");let o=G.getTranslation(t,Oi),i=e.ellipsoid,r;if(_.equals(o,_.ZERO))r=_.clone(_.ZERO,_n);else{let l=i.cartesianToCartographic(o,Ao);r=e.project(l,_n),_.fromElements(r.z,r.x,r.y,r)}let a=V.eastNorthUpToFixedFrame(o,i,Sn),u=G.inverseTransformation(a,jo),d=G.getMatrix3(t,gi),m=G.multiplyByMatrix3(u,d,n);return G.multiply(vo,m,n),G.setTranslation(n,r,n),n};V.ellipsoidTo2DModelMatrix=function(e,t,n){if(!p(e))throw new j("projection is required.");if(!p(t))throw new j("center is required.");if(!p(n))throw new j("result is required.");let o=e.ellipsoid,i=V.eastNorthUpToFixedFrame(t,o,Sn),r=G.inverseTransformation(i,jo),a=o.cartesianToCartographic(t,Ao),u=e.project(a,_n);_.fromElements(u.z,u.x,u.y,u);let d=G.fromTranslation(u,Sn);return G.multiply(vo,r,n),G.multiply(d,n,n),n};var Mo=V;function x(e,t,n,o){this.west=O(e,0),this.south=O(t,0),this.east=O(n,0),this.north=O(o,0)}Object.defineProperties(x.prototype,{width:{get:function(){return x.computeWidth(this)}},height:{get:function(){return x.computeHeight(this)}}});x.packedLength=4;x.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};x.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new x),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};x.computeWidth=function(e){s.typeOf.object("rectangle",e);let t=e.east,n=e.west;return t<n&&(t+=E.TWO_PI),t-n};x.computeHeight=function(e){return s.typeOf.object("rectangle",e),e.north-e.south};x.fromDegrees=function(e,t,n,o,i){return e=E.toRadians(O(e,0)),t=E.toRadians(O(t,0)),n=E.toRadians(O(n,0)),o=E.toRadians(O(o,0)),p(i)?(i.west=e,i.south=t,i.east=n,i.north=o,i):new x(e,t,n,o)};x.fromRadians=function(e,t,n,o,i){return p(i)?(i.west=O(e,0),i.south=O(t,0),i.east=O(n,0),i.north=O(o,0),i):new x(e,t,n,o)};x.fromCartographicArray=function(e,t){s.defined("cartographics",e);let n=Number.MAX_VALUE,o=-Number.MAX_VALUE,i=Number.MAX_VALUE,r=-Number.MAX_VALUE,a=Number.MAX_VALUE,u=-Number.MAX_VALUE;for(let d=0,m=e.length;d<m;d++){let l=e[d];n=Math.min(n,l.longitude),o=Math.max(o,l.longitude),a=Math.min(a,l.latitude),u=Math.max(u,l.latitude);let w=l.longitude>=0?l.longitude:l.longitude+E.TWO_PI;i=Math.min(i,w),r=Math.max(r,w)}return o-n>r-i&&(n=i,o=r,o>E.PI&&(o=o-E.TWO_PI),n>E.PI&&(n=n-E.TWO_PI)),p(t)?(t.west=n,t.south=a,t.east=o,t.north=u,t):new x(n,a,o,u)};x.fromCartesianArray=function(e,t,n){s.defined("cartesians",e),t=O(t,Ie.default);let o=Number.MAX_VALUE,i=-Number.MAX_VALUE,r=Number.MAX_VALUE,a=-Number.MAX_VALUE,u=Number.MAX_VALUE,d=-Number.MAX_VALUE;for(let m=0,l=e.length;m<l;m++){let w=t.cartesianToCartographic(e[m]);o=Math.min(o,w.longitude),i=Math.max(i,w.longitude),u=Math.min(u,w.latitude),d=Math.max(d,w.latitude);let T=w.longitude>=0?w.longitude:w.longitude+E.TWO_PI;r=Math.min(r,T),a=Math.max(a,T)}return i-o>a-r&&(o=r,i=a,i>E.PI&&(i=i-E.TWO_PI),o>E.PI&&(o=o-E.TWO_PI)),p(n)?(n.west=o,n.south=u,n.east=i,n.north=d,n):new x(o,u,i,d)};var _i=new _,Si=new _,Ri=new _,Ei=new _,Ti=new _,Rn=new Array(5);for(let e=0;e<Rn.length;++e)Rn[e]=new _;x.fromBoundingSphere=function(e,t,n){s.typeOf.object("boundingSphere",e);let o=e.center,i=e.radius;if(p(t)||(t=Ie.default),p(n)||(n=new x),_.equals(o,_.ZERO))return x.clone(x.MAX_VALUE,n),n;let r=Mo.eastNorthUpToFixedFrame(o,t,_i),a=G.multiplyByPointAsVector(r,_.UNIT_X,Si);_.normalize(a,a);let u=G.multiplyByPointAsVector(r,_.UNIT_Y,Ri);_.normalize(u,u),_.multiplyByScalar(u,i,u),_.multiplyByScalar(a,i,a);let d=_.negate(u,Ti),m=_.negate(a,Ei),l=Rn,w=l[0];return _.add(o,u,w),w=l[1],_.add(o,m,w),w=l[2],_.add(o,d,w),w=l[3],_.add(o,a,w),l[4]=o,x.fromCartesianArray(l,t,n)};x.clone=function(e,t){if(p(e))return p(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new x(e.west,e.south,e.east,e.north)};x.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};x.prototype.clone=function(e){return x.clone(this,e)};x.prototype.equals=function(e){return x.equals(this,e)};x.equals=function(e,t){return e===t||p(e)&&p(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};x.prototype.equalsEpsilon=function(e,t){return x.equalsEpsilon(this,e,t)};x._validate=function(e){s.typeOf.object("rectangle",e);let t=e.north;s.typeOf.number.greaterThanOrEquals("north",t,-E.PI_OVER_TWO),s.typeOf.number.lessThanOrEquals("north",t,E.PI_OVER_TWO);let n=e.south;s.typeOf.number.greaterThanOrEquals("south",n,-E.PI_OVER_TWO),s.typeOf.number.lessThanOrEquals("south",n,E.PI_OVER_TWO);let o=e.west;s.typeOf.number.greaterThanOrEquals("west",o,-Math.PI),s.typeOf.number.lessThanOrEquals("west",o,Math.PI);let i=e.east;s.typeOf.number.greaterThanOrEquals("east",i,-Math.PI),s.typeOf.number.lessThanOrEquals("east",i,Math.PI)};x.southwest=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new Me(e.west,e.south)};x.northwest=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new Me(e.west,e.north)};x.northeast=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new Me(e.east,e.north)};x.southeast=function(e,t){return s.typeOf.object("rectangle",e),p(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new Me(e.east,e.south)};x.center=function(e,t){s.typeOf.object("rectangle",e);let n=e.east,o=e.west;n<o&&(n+=E.TWO_PI);let i=E.negativePiToPi((o+n)*.5),r=(e.south+e.north)*.5;return p(t)?(t.longitude=i,t.latitude=r,t.height=0,t):new Me(i,r)};x.intersection=function(e,t,n){s.typeOf.object("rectangle",e),s.typeOf.object("otherRectangle",t);let o=e.east,i=e.west,r=t.east,a=t.west;o<i&&r>0?o+=E.TWO_PI:r<a&&o>0&&(r+=E.TWO_PI),o<i&&a<0?a+=E.TWO_PI:r<a&&i<0&&(i+=E.TWO_PI);let u=E.negativePiToPi(Math.max(i,a)),d=E.negativePiToPi(Math.min(o,r));if((e.west<e.east||t.west<t.east)&&d<=u)return;let m=Math.max(e.south,t.south),l=Math.min(e.north,t.north);if(!(m>=l))return p(n)?(n.west=u,n.south=m,n.east=d,n.north=l,n):new x(u,m,d,l)};x.simpleIntersection=function(e,t,n){s.typeOf.object("rectangle",e),s.typeOf.object("otherRectangle",t);let o=Math.max(e.west,t.west),i=Math.max(e.south,t.south),r=Math.min(e.east,t.east),a=Math.min(e.north,t.north);if(!(i>=a||o>=r))return p(n)?(n.west=o,n.south=i,n.east=r,n.north=a,n):new x(o,i,r,a)};x.union=function(e,t,n){s.typeOf.object("rectangle",e),s.typeOf.object("otherRectangle",t),p(n)||(n=new x);let o=e.east,i=e.west,r=t.east,a=t.west;o<i&&r>0?o+=E.TWO_PI:r<a&&o>0&&(r+=E.TWO_PI),o<i&&a<0?a+=E.TWO_PI:r<a&&i<0&&(i+=E.TWO_PI);let u=E.negativePiToPi(Math.min(i,a)),d=E.negativePiToPi(Math.max(o,r));return n.west=u,n.south=Math.min(e.south,t.south),n.east=d,n.north=Math.max(e.north,t.north),n};x.expand=function(e,t,n){return s.typeOf.object("rectangle",e),s.typeOf.object("cartographic",t),p(n)||(n=new x),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};x.contains=function(e,t){s.typeOf.object("rectangle",e),s.typeOf.object("cartographic",t);let n=t.longitude,o=t.latitude,i=e.west,r=e.east;return r<i&&(r+=E.TWO_PI,n<0&&(n+=E.TWO_PI)),(n>i||E.equalsEpsilon(n,i,E.EPSILON14))&&(n<r||E.equalsEpsilon(n,r,E.EPSILON14))&&o>=e.south&&o<=e.north};var Ci=new Me;x.subsample=function(e,t,n,o){s.typeOf.object("rectangle",e),t=O(t,Ie.default),n=O(n,0),p(o)||(o=[]);let i=0,r=e.north,a=e.south,u=e.east,d=e.west,m=Ci;m.height=n,m.longitude=d,m.latitude=r,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.longitude=u,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.latitude=a,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.longitude=d,o[i]=t.cartographicToCartesian(m,o[i]),i++,r<0?m.latitude=r:a>0?m.latitude=a:m.latitude=0;for(let l=1;l<8;++l)m.longitude=-Math.PI+l*E.PI_OVER_TWO,x.contains(e,m)&&(o[i]=t.cartographicToCartesian(m,o[i]),i++);return m.latitude===0&&(m.longitude=d,o[i]=t.cartographicToCartesian(m,o[i]),i++,m.longitude=u,o[i]=t.cartographicToCartesian(m,o[i]),i++),o.length=i,o};x.subsection=function(e,t,n,o,i,r){if(s.typeOf.object("rectangle",e),s.typeOf.number.greaterThanOrEquals("westLerp",t,0),s.typeOf.number.lessThanOrEquals("westLerp",t,1),s.typeOf.number.greaterThanOrEquals("southLerp",n,0),s.typeOf.number.lessThanOrEquals("southLerp",n,1),s.typeOf.number.greaterThanOrEquals("eastLerp",o,0),s.typeOf.number.lessThanOrEquals("eastLerp",o,1),s.typeOf.number.greaterThanOrEquals("northLerp",i,0),s.typeOf.number.lessThanOrEquals("northLerp",i,1),s.typeOf.number.lessThanOrEquals("westLerp",t,o),s.typeOf.number.lessThanOrEquals("southLerp",n,i),p(r)||(r=new x),e.west<=e.east){let u=e.east-e.west;r.west=e.west+t*u,r.east=e.west+o*u}else{let u=E.TWO_PI+e.east-e.west;r.west=E.negativePiToPi(e.west+t*u),r.east=E.negativePiToPi(e.west+o*u)}let a=e.north-e.south;return r.south=e.south+n*a,r.north=e.south+i*a,t===1&&(r.west=e.east),o===1&&(r.east=e.east),n===1&&(r.south=e.north),i===1&&(r.north=e.north),r};x.MAX_VALUE=Object.freeze(new x(-Math.PI,-E.PI_OVER_TWO,Math.PI,E.PI_OVER_TWO));var mf=x;function D(e,t,n,o){this[0]=O(e,0),this[1]=O(n,0),this[2]=O(t,0),this[3]=O(o,0)}D.packedLength=4;D.pack=function(e,t,n){return s.typeOf.object("value",e),s.defined("array",t),n=O(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};D.unpack=function(e,t,n){return s.defined("array",e),t=O(t,0),p(n)||(n=new D),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};D.packArray=function(e,t){s.defined("array",e);let n=e.length,o=n*4;if(!p(t))t=new Array(o);else{if(!Array.isArray(t)&&t.length!==o)throw new j("If result is a typed array, it must have exactly array.length * 4 elements");t.length!==o&&(t.length=o)}for(let i=0;i<n;++i)D.pack(e[i],t,i*4);return t};D.unpackArray=function(e,t){if(s.defined("array",e),s.typeOf.number.greaterThanOrEquals("array.length",e.length,4),e.length%4!==0)throw new j("array length must be a multiple of 4.");let n=e.length;p(t)?t.length=n/4:t=new Array(n/4);for(let o=0;o<n;o+=4){let i=o/4;t[i]=D.unpack(e,o,t[i])}return t};D.clone=function(e,t){if(p(e))return p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new D(e[0],e[2],e[1],e[3])};D.fromArray=D.unpack;D.fromColumnMajorArray=function(e,t){return s.defined("values",e),D.clone(e,t)};D.fromRowMajorArray=function(e,t){return s.defined("values",e),p(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new D(e[0],e[1],e[2],e[3])};D.fromScale=function(e,t){return s.typeOf.object("scale",e),p(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new D(e.x,0,0,e.y)};D.fromUniformScale=function(e,t){return s.typeOf.number("scale",e),p(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new D(e,0,0,e)};D.fromRotation=function(e,t){s.typeOf.number("angle",e);let n=Math.cos(e),o=Math.sin(e);return p(t)?(t[0]=n,t[1]=o,t[2]=-o,t[3]=n,t):new D(n,-o,o,n)};D.toArray=function(e,t){return s.typeOf.object("matrix",e),p(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]};D.getElementIndex=function(e,t){return s.typeOf.number.greaterThanOrEquals("row",t,0),s.typeOf.number.lessThanOrEquals("row",t,1),s.typeOf.number.greaterThanOrEquals("column",e,0),s.typeOf.number.lessThanOrEquals("column",e,1),e*2+t};D.getColumn=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("result",n);let o=t*2,i=e[o],r=e[o+1];return n.x=i,n.y=r,n};D.setColumn=function(e,t,n,o){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=D.clone(e,o);let i=t*2;return o[i]=n.x,o[i+1]=n.y,o};D.getRow=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("result",n);let o=e[t],i=e[t+2];return n.x=o,n.y=i,n};D.setRow=function(e,t,n,o){return s.typeOf.object("matrix",e),s.typeOf.number.greaterThanOrEquals("index",t,0),s.typeOf.number.lessThanOrEquals("index",t,1),s.typeOf.object("cartesian",n),s.typeOf.object("result",o),o=D.clone(e,o),o[t]=n.x,o[t+2]=n.y,o};var vi=new Oe;D.setScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n);let o=D.getScale(e,vi),i=t.x/o.x,r=t.y/o.y;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*r,n[3]=e[3]*r,n};var Ai=new Oe;D.setUniformScale=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n);let o=D.getScale(e,Ai),i=t/o.x,r=t/o.y;return n[0]=e[0]*i,n[1]=e[1]*i,n[2]=e[2]*r,n[3]=e[3]*r,n};var Po=new Oe;D.getScale=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t.x=Oe.magnitude(Oe.fromElements(e[0],e[1],Po)),t.y=Oe.magnitude(Oe.fromElements(e[2],e[3],Po)),t};var Uo=new Oe;D.getMaximumScale=function(e){return D.getScale(e,Uo),Oe.maximumComponent(Uo)};var ji=new Oe;D.setRotation=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("result",n);let o=D.getScale(e,ji);return n[0]=t[0]*o.x,n[1]=t[1]*o.x,n[2]=t[2]*o.y,n[3]=t[3]*o.y,n};var Mi=new Oe;D.getRotation=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=D.getScale(e,Mi);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};D.multiply=function(e,t,n){s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n);let o=e[0]*t[0]+e[2]*t[1],i=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],a=e[1]*t[2]+e[3]*t[3];return n[0]=o,n[1]=r,n[2]=i,n[3]=a,n};D.add=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};D.subtract=function(e,t,n){return s.typeOf.object("left",e),s.typeOf.object("right",t),s.typeOf.object("result",n),n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};D.multiplyByVector=function(e,t,n){s.typeOf.object("matrix",e),s.typeOf.object("cartesian",t),s.typeOf.object("result",n);let o=e[0]*t.x+e[2]*t.y,i=e[1]*t.x+e[3]*t.y;return n.x=o,n.y=i,n};D.multiplyByScalar=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scalar",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};D.multiplyByScale=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.object("scale",t),s.typeOf.object("result",n),n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};D.multiplyByUniformScale=function(e,t,n){return s.typeOf.object("matrix",e),s.typeOf.number("scale",t),s.typeOf.object("result",n),n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};D.negate=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};D.transpose=function(e,t){s.typeOf.object("matrix",e),s.typeOf.object("result",t);let n=e[0],o=e[2],i=e[1],r=e[3];return t[0]=n,t[1]=o,t[2]=i,t[3]=r,t};D.abs=function(e,t){return s.typeOf.object("matrix",e),s.typeOf.object("result",t),t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t};D.equals=function(e,t){return e===t||p(e)&&p(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};D.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};D.equalsEpsilon=function(e,t,n){return n=O(n,0),e===t||p(e)&&p(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n};D.IDENTITY=Object.freeze(new D(1,0,0,1));D.ZERO=Object.freeze(new D(0,0,0,0));D.COLUMN0ROW0=0;D.COLUMN0ROW1=1;D.COLUMN1ROW0=2;D.COLUMN1ROW1=3;Object.defineProperties(D.prototype,{length:{get:function(){return D.packedLength}}});D.prototype.clone=function(e){return D.clone(this,e)};D.prototype.equals=function(e){return D.equals(this,e)};D.prototype.equalsEpsilon=function(e,t){return D.equalsEpsilon(this,e,t)};D.prototype.toString=function(){return`(${this[0]}, ${this[2]}) +(${this[1]}, ${this[3]})`};var _f=D;export{qe as a,G as b,De as c,ke as d,bo as e,Xe as f,Mo as g,mf as h,_f as i}; diff --git a/public/lib/Cesium/Workers/chunk-45FCQ3FJ.js b/public/lib/Cesium/Workers/chunk-44LKXGXW.js similarity index 96% rename from public/lib/Cesium/Workers/chunk-45FCQ3FJ.js rename to public/lib/Cesium/Workers/chunk-44LKXGXW.js index bc7fce6d9..14cdfc692 100644 --- a/public/lib/Cesium/Workers/chunk-45FCQ3FJ.js +++ b/public/lib/Cesium/Workers/chunk-44LKXGXW.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as p,b as P,d as q}from"./chunk-RFPX772U.js";import{a}from"./chunk-RAYRECQS.js";import{a as T}from"./chunk-6KLVDWWE.js";import{a as I,b as g}from"./chunk-6P5KAIBX.js";import{e as l}from"./chunk-4FSVUTPL.js";function y(n,i,o){if(n===0)return i*o;let t=n*n,e=t*t,c=e*t,r=c*t,h=r*t,s=h*t,d=o,u=Math.sin(2*d),f=Math.sin(4*d),M=Math.sin(6*d),_=Math.sin(8*d),E=Math.sin(10*d),S=Math.sin(12*d);return i*((1-t/4-3*e/64-5*c/256-175*r/16384-441*h/65536-4851*s/1048576)*d-(3*t/8+3*e/32+45*c/1024+105*r/4096+2205*h/131072+6237*s/524288)*u+(15*e/256+45*c/1024+525*r/16384+1575*h/65536+155925*s/8388608)*f-(35*c/3072+175*r/12288+3675*h/262144+13475*s/1048576)*M+(315*r/131072+2205*h/524288+43659*s/8388608)*_-(693*h/1310720+6237*s/5242880)*E+1001*s/8388608*S)}function z(n,i,o){let t=n/o;if(i===0)return t;let e=t*t,c=e*t,r=c*t,h=i,s=h*h,d=s*s,u=d*s,f=u*s,M=f*s,_=M*s,E=Math.sin(2*t),S=Math.cos(2*t),W=Math.sin(4*t),V=Math.cos(4*t),C=Math.sin(6*t),N=Math.cos(6*t),R=Math.sin(8*t),b=Math.cos(8*t),x=Math.sin(10*t),U=Math.cos(10*t),H=Math.sin(12*t);return t+t*s/4+7*t*d/64+15*t*u/256+579*t*f/16384+1515*t*M/65536+16837*t*_/1048576+(3*t*d/16+45*t*u/256-t*(32*e-561)*f/4096-t*(232*e-1677)*M/16384+t*(399985-90560*e+512*r)*_/5242880)*S+(21*t*u/256+483*t*f/4096-t*(224*e-1969)*M/16384-t*(33152*e-112599)*_/1048576)*V+(151*t*f/4096+4681*t*M/65536+1479*t*_/16384-453*c*_/32768)*N+(1097*t*M/65536+42783*t*_/1048576)*b+8011*t*_/1048576*U+(3*s/8+3*d/16+213*u/2048-3*e*u/64+255*f/4096-33*e*f/512+20861*M/524288-33*e*M/512+r*M/1024+28273*_/1048576-471*e*_/8192+9*r*_/4096)*E+(21*d/256+21*u/256+533*f/8192-21*e*f/512+197*M/4096-315*e*M/4096+584039*_/16777216-12517*e*_/131072+7*r*_/2048)*W+(151*u/6144+151*f/4096+5019*M/131072-453*e*M/16384+26965*_/786432-8607*e*_/131072)*C+(1097*f/131072+1097*M/65536+225797*_/10485760-1097*e*_/65536)*R+(8011*M/2621440+8011*_/1048576)*x+293393*_/251658240*H}function O(n,i){if(n===0)return Math.log(Math.tan(.5*(a.PI_OVER_TWO+i)));let o=n*Math.sin(i);return Math.log(Math.tan(.5*(a.PI_OVER_TWO+i)))-n/2*Math.log((1+o)/(1-o))}function k(n,i,o,t,e){let c=O(n._ellipticity,o),r=O(n._ellipticity,e);return Math.atan2(a.negativePiToPi(t-i),r-c)}function A(n,i,o,t,e,c,r){let h=n._heading,s=c-t,d=0;if(a.equalsEpsilon(Math.abs(h),a.PI_OVER_TWO,a.EPSILON8))if(i===o)d=i*Math.cos(e)*a.negativePiToPi(s);else{let u=Math.sin(e);d=i*Math.cos(e)*a.negativePiToPi(s)/Math.sqrt(1-n._ellipticitySquared*u*u)}else{let u=y(n._ellipticity,i,e);d=(y(n._ellipticity,i,r)-u)/Math.cos(h)}return Math.abs(d)}var B=new p,w=new p;function D(n,i,o,t){let e=p.normalize(t.cartographicToCartesian(i,w),B),c=p.normalize(t.cartographicToCartesian(o,w),w);g.typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(p.angleBetween(e,c))-Math.PI),.0125);let r=t.maximumRadius,h=t.minimumRadius,s=r*r,d=h*h;n._ellipticitySquared=(s-d)/s,n._ellipticity=Math.sqrt(n._ellipticitySquared),n._start=P.clone(i,n._start),n._start.height=0,n._end=P.clone(o,n._end),n._end.height=0,n._heading=k(n,i.longitude,i.latitude,o.longitude,o.latitude),n._distance=A(n,t.maximumRadius,t.minimumRadius,i.longitude,i.latitude,o.longitude,o.latitude)}function v(n,i,o,t,e,c){if(o===0)return P.clone(n,c);let r=e*e,h,s,d;if(Math.abs(a.PI_OVER_TWO-Math.abs(i))>a.EPSILON8){let u=y(e,t,n.latitude),f=o*Math.cos(i),M=u+f;if(s=z(M,e,t),Math.abs(i)<a.EPSILON10)h=a.negativePiToPi(n.longitude);else{let _=O(e,n.latitude),E=O(e,s);d=Math.tan(i)*(E-_),h=a.negativePiToPi(n.longitude+d)}}else{s=n.latitude;let u;if(e===0)u=t*Math.cos(n.latitude);else{let f=Math.sin(n.latitude);u=t*Math.cos(n.latitude)/Math.sqrt(1-r*f*f)}d=o/u,i>0?h=a.negativePiToPi(n.longitude+d):h=a.negativePiToPi(n.longitude-d)}return l(c)?(c.longitude=h,c.latitude=s,c.height=0,c):new P(h,s,0)}function m(n,i,o){let t=T(o,q.default);this._ellipsoid=t,this._start=new P,this._end=new P,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(n)&&l(i)&&D(this,n,i,t)}Object.defineProperties(m.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return g.defined("distance",this._distance),this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return g.defined("distance",this._distance),this._heading}}});m.fromStartHeadingDistance=function(n,i,o,t,e){g.defined("start",n),g.defined("heading",i),g.defined("distance",o),g.typeOf.number.greaterThan("distance",o,0);let c=T(t,q.default),r=c.maximumRadius,h=c.minimumRadius,s=r*r,d=h*h,u=Math.sqrt((s-d)/s);i=a.negativePiToPi(i);let f=v(n,i,o,c.maximumRadius,u);return!l(e)||l(t)&&!t.equals(e.ellipsoid)?new m(n,f,c):(e.setEndPoints(n,f),e)};m.prototype.setEndPoints=function(n,i){g.defined("start",n),g.defined("end",i),D(this,n,i,this._ellipsoid)};m.prototype.interpolateUsingFraction=function(n,i){return this.interpolateUsingSurfaceDistance(n*this._distance,i)};m.prototype.interpolateUsingSurfaceDistance=function(n,i){if(g.typeOf.number("distance",n),!l(this._distance)||this._distance===0)throw new I("EllipsoidRhumbLine must have distinct start and end set.");return v(this._start,this._heading,n,this._ellipsoid.maximumRadius,this._ellipticity,i)};m.prototype.findIntersectionWithLongitude=function(n,i){if(g.typeOf.number("intersectionLongitude",n),!l(this._distance)||this._distance===0)throw new I("EllipsoidRhumbLine must have distinct start and end set.");let o=this._ellipticity,t=this._heading,e=Math.abs(t),c=this._start;if(n=a.negativePiToPi(n),a.equalsEpsilon(Math.abs(n),Math.PI,a.EPSILON14)&&(n=a.sign(c.longitude)*Math.PI),l(i)||(i=new P),Math.abs(a.PI_OVER_TWO-e)<=a.EPSILON8)return i.longitude=n,i.latitude=c.latitude,i.height=0,i;if(a.equalsEpsilon(Math.abs(a.PI_OVER_TWO-e),a.PI_OVER_TWO,a.EPSILON8))return a.equalsEpsilon(n,c.longitude,a.EPSILON12)?void 0:(i.longitude=n,i.latitude=a.PI_OVER_TWO*a.sign(a.PI_OVER_TWO-t),i.height=0,i);let r=c.latitude,h=o*Math.sin(r),s=Math.tan(.5*(a.PI_OVER_TWO+r))*Math.exp((n-c.longitude)/Math.tan(t)),d=(1+h)/(1-h),u=c.latitude,f;do{f=u;let M=o*Math.sin(f),_=(1+M)/(1-M);u=2*Math.atan(s*Math.pow(_/d,o/2))-a.PI_OVER_TWO}while(!a.equalsEpsilon(u,f,a.EPSILON12));return i.longitude=n,i.latitude=u,i.height=0,i};m.prototype.findIntersectionWithLatitude=function(n,i){if(g.typeOf.number("intersectionLatitude",n),!l(this._distance)||this._distance===0)throw new I("EllipsoidRhumbLine must have distinct start and end set.");let o=this._ellipticity,t=this._heading,e=this._start;if(a.equalsEpsilon(Math.abs(t),a.PI_OVER_TWO,a.EPSILON8))return;let c=O(o,e.latitude),r=O(o,n),h=Math.tan(t)*(r-c),s=a.negativePiToPi(e.longitude+h);return l(i)?(i.longitude=s,i.latitude=n,i.height=0,i):new P(s,n,0)};var $=m;export{$ as a}; +import{a as p,b as P,d as q}from"./chunk-HWH6BBH6.js";import{a}from"./chunk-DW4EQ6YI.js";import{a as T}from"./chunk-CJFJKB5V.js";import{a as I,b as g}from"./chunk-4BGNE6LH.js";import{e as l}from"./chunk-OX5CTLXY.js";function y(n,i,o){if(n===0)return i*o;let t=n*n,e=t*t,c=e*t,r=c*t,h=r*t,s=h*t,d=o,u=Math.sin(2*d),f=Math.sin(4*d),M=Math.sin(6*d),_=Math.sin(8*d),E=Math.sin(10*d),S=Math.sin(12*d);return i*((1-t/4-3*e/64-5*c/256-175*r/16384-441*h/65536-4851*s/1048576)*d-(3*t/8+3*e/32+45*c/1024+105*r/4096+2205*h/131072+6237*s/524288)*u+(15*e/256+45*c/1024+525*r/16384+1575*h/65536+155925*s/8388608)*f-(35*c/3072+175*r/12288+3675*h/262144+13475*s/1048576)*M+(315*r/131072+2205*h/524288+43659*s/8388608)*_-(693*h/1310720+6237*s/5242880)*E+1001*s/8388608*S)}function z(n,i,o){let t=n/o;if(i===0)return t;let e=t*t,c=e*t,r=c*t,h=i,s=h*h,d=s*s,u=d*s,f=u*s,M=f*s,_=M*s,E=Math.sin(2*t),S=Math.cos(2*t),W=Math.sin(4*t),V=Math.cos(4*t),C=Math.sin(6*t),N=Math.cos(6*t),R=Math.sin(8*t),b=Math.cos(8*t),x=Math.sin(10*t),U=Math.cos(10*t),H=Math.sin(12*t);return t+t*s/4+7*t*d/64+15*t*u/256+579*t*f/16384+1515*t*M/65536+16837*t*_/1048576+(3*t*d/16+45*t*u/256-t*(32*e-561)*f/4096-t*(232*e-1677)*M/16384+t*(399985-90560*e+512*r)*_/5242880)*S+(21*t*u/256+483*t*f/4096-t*(224*e-1969)*M/16384-t*(33152*e-112599)*_/1048576)*V+(151*t*f/4096+4681*t*M/65536+1479*t*_/16384-453*c*_/32768)*N+(1097*t*M/65536+42783*t*_/1048576)*b+8011*t*_/1048576*U+(3*s/8+3*d/16+213*u/2048-3*e*u/64+255*f/4096-33*e*f/512+20861*M/524288-33*e*M/512+r*M/1024+28273*_/1048576-471*e*_/8192+9*r*_/4096)*E+(21*d/256+21*u/256+533*f/8192-21*e*f/512+197*M/4096-315*e*M/4096+584039*_/16777216-12517*e*_/131072+7*r*_/2048)*W+(151*u/6144+151*f/4096+5019*M/131072-453*e*M/16384+26965*_/786432-8607*e*_/131072)*C+(1097*f/131072+1097*M/65536+225797*_/10485760-1097*e*_/65536)*R+(8011*M/2621440+8011*_/1048576)*x+293393*_/251658240*H}function O(n,i){if(n===0)return Math.log(Math.tan(.5*(a.PI_OVER_TWO+i)));let o=n*Math.sin(i);return Math.log(Math.tan(.5*(a.PI_OVER_TWO+i)))-n/2*Math.log((1+o)/(1-o))}function k(n,i,o,t,e){let c=O(n._ellipticity,o),r=O(n._ellipticity,e);return Math.atan2(a.negativePiToPi(t-i),r-c)}function A(n,i,o,t,e,c,r){let h=n._heading,s=c-t,d=0;if(a.equalsEpsilon(Math.abs(h),a.PI_OVER_TWO,a.EPSILON8))if(i===o)d=i*Math.cos(e)*a.negativePiToPi(s);else{let u=Math.sin(e);d=i*Math.cos(e)*a.negativePiToPi(s)/Math.sqrt(1-n._ellipticitySquared*u*u)}else{let u=y(n._ellipticity,i,e);d=(y(n._ellipticity,i,r)-u)/Math.cos(h)}return Math.abs(d)}var B=new p,w=new p;function D(n,i,o,t){let e=p.normalize(t.cartographicToCartesian(i,w),B),c=p.normalize(t.cartographicToCartesian(o,w),w);g.typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(p.angleBetween(e,c))-Math.PI),.0125);let r=t.maximumRadius,h=t.minimumRadius,s=r*r,d=h*h;n._ellipticitySquared=(s-d)/s,n._ellipticity=Math.sqrt(n._ellipticitySquared),n._start=P.clone(i,n._start),n._start.height=0,n._end=P.clone(o,n._end),n._end.height=0,n._heading=k(n,i.longitude,i.latitude,o.longitude,o.latitude),n._distance=A(n,t.maximumRadius,t.minimumRadius,i.longitude,i.latitude,o.longitude,o.latitude)}function v(n,i,o,t,e,c){if(o===0)return P.clone(n,c);let r=e*e,h,s,d;if(Math.abs(a.PI_OVER_TWO-Math.abs(i))>a.EPSILON8){let u=y(e,t,n.latitude),f=o*Math.cos(i),M=u+f;if(s=z(M,e,t),Math.abs(i)<a.EPSILON10)h=a.negativePiToPi(n.longitude);else{let _=O(e,n.latitude),E=O(e,s);d=Math.tan(i)*(E-_),h=a.negativePiToPi(n.longitude+d)}}else{s=n.latitude;let u;if(e===0)u=t*Math.cos(n.latitude);else{let f=Math.sin(n.latitude);u=t*Math.cos(n.latitude)/Math.sqrt(1-r*f*f)}d=o/u,i>0?h=a.negativePiToPi(n.longitude+d):h=a.negativePiToPi(n.longitude-d)}return l(c)?(c.longitude=h,c.latitude=s,c.height=0,c):new P(h,s,0)}function m(n,i,o){let t=T(o,q.default);this._ellipsoid=t,this._start=new P,this._end=new P,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(n)&&l(i)&&D(this,n,i,t)}Object.defineProperties(m.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return g.defined("distance",this._distance),this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return g.defined("distance",this._distance),this._heading}}});m.fromStartHeadingDistance=function(n,i,o,t,e){g.defined("start",n),g.defined("heading",i),g.defined("distance",o),g.typeOf.number.greaterThan("distance",o,0);let c=T(t,q.default),r=c.maximumRadius,h=c.minimumRadius,s=r*r,d=h*h,u=Math.sqrt((s-d)/s);i=a.negativePiToPi(i);let f=v(n,i,o,c.maximumRadius,u);return!l(e)||l(t)&&!t.equals(e.ellipsoid)?new m(n,f,c):(e.setEndPoints(n,f),e)};m.prototype.setEndPoints=function(n,i){g.defined("start",n),g.defined("end",i),D(this,n,i,this._ellipsoid)};m.prototype.interpolateUsingFraction=function(n,i){return this.interpolateUsingSurfaceDistance(n*this._distance,i)};m.prototype.interpolateUsingSurfaceDistance=function(n,i){if(g.typeOf.number("distance",n),!l(this._distance)||this._distance===0)throw new I("EllipsoidRhumbLine must have distinct start and end set.");return v(this._start,this._heading,n,this._ellipsoid.maximumRadius,this._ellipticity,i)};m.prototype.findIntersectionWithLongitude=function(n,i){if(g.typeOf.number("intersectionLongitude",n),!l(this._distance)||this._distance===0)throw new I("EllipsoidRhumbLine must have distinct start and end set.");let o=this._ellipticity,t=this._heading,e=Math.abs(t),c=this._start;if(n=a.negativePiToPi(n),a.equalsEpsilon(Math.abs(n),Math.PI,a.EPSILON14)&&(n=a.sign(c.longitude)*Math.PI),l(i)||(i=new P),Math.abs(a.PI_OVER_TWO-e)<=a.EPSILON8)return i.longitude=n,i.latitude=c.latitude,i.height=0,i;if(a.equalsEpsilon(Math.abs(a.PI_OVER_TWO-e),a.PI_OVER_TWO,a.EPSILON8))return a.equalsEpsilon(n,c.longitude,a.EPSILON12)?void 0:(i.longitude=n,i.latitude=a.PI_OVER_TWO*a.sign(a.PI_OVER_TWO-t),i.height=0,i);let r=c.latitude,h=o*Math.sin(r),s=Math.tan(.5*(a.PI_OVER_TWO+r))*Math.exp((n-c.longitude)/Math.tan(t)),d=(1+h)/(1-h),u=c.latitude,f;do{f=u;let M=o*Math.sin(f),_=(1+M)/(1-M);u=2*Math.atan(s*Math.pow(_/d,o/2))-a.PI_OVER_TWO}while(!a.equalsEpsilon(u,f,a.EPSILON12));return i.longitude=n,i.latitude=u,i.height=0,i};m.prototype.findIntersectionWithLatitude=function(n,i){if(g.typeOf.number("intersectionLatitude",n),!l(this._distance)||this._distance===0)throw new I("EllipsoidRhumbLine must have distinct start and end set.");let o=this._ellipticity,t=this._heading,e=this._start;if(a.equalsEpsilon(Math.abs(t),a.PI_OVER_TWO,a.EPSILON8))return;let c=O(o,e.latitude),r=O(o,n),h=Math.tan(t)*(r-c),s=a.negativePiToPi(e.longitude+h);return l(i)?(i.longitude=s,i.latitude=n,i.height=0,i):new P(s,n,0)};var $=m;export{$ as a}; diff --git a/public/lib/Cesium/Workers/chunk-CU5VINVO.js b/public/lib/Cesium/Workers/chunk-46LYVLGL.js similarity index 95% rename from public/lib/Cesium/Workers/chunk-CU5VINVO.js rename to public/lib/Cesium/Workers/chunk-46LYVLGL.js index 0f006a938..0efb4c2af 100644 --- a/public/lib/Cesium/Workers/chunk-CU5VINVO.js +++ b/public/lib/Cesium/Workers/chunk-46LYVLGL.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as y}from"./chunk-S5WIMI2N.js";import{d as j}from"./chunk-4TXI27XR.js";import{b as d,i as L}from"./chunk-GFUBU5RD.js";import{a as R}from"./chunk-27UWHT4D.js";import{a as s,b as W,c as T,d as q}from"./chunk-RFPX772U.js";import{a as w}from"./chunk-RAYRECQS.js";import{a as P}from"./chunk-6KLVDWWE.js";import{a as A,b as z}from"./chunk-6P5KAIBX.js";import{e as l}from"./chunk-4FSVUTPL.js";function x(o,t){z.typeOf.object("ellipsoid",o),this._ellipsoid=o,this._cameraPosition=new s,this._cameraPositionInScaledSpace=new s,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(x.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(o){let e=this._ellipsoid.transformPositionToScaledSpace(o,this._cameraPositionInScaledSpace),a=s.magnitudeSquared(e)-1;s.clone(o,this._cameraPosition),this._cameraPositionInScaledSpace=e,this._distanceToLimbInScaledSpaceSquared=a}}});var U=new s;x.prototype.isPointVisible=function(o){let e=this._ellipsoid.transformPositionToScaledSpace(o,U);return F(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};x.prototype.isScaledSpacePointVisible=function(o){return F(o,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var at=new s;x.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(o,t){let e=this._ellipsoid,a,i;return l(t)&&t<0&&e.minimumRadius>-t?(i=at,i.x=this._cameraPosition.x/(e.radii.x+t),i.y=this._cameraPosition.y/(e.radii.y+t),i.z=this._cameraPosition.z/(e.radii.z+t),a=i.x*i.x+i.y*i.y+i.z*i.z-1):(i=this._cameraPositionInScaledSpace,a=this._distanceToLimbInScaledSpaceSquared),F(o,i,a)};x.prototype.computeHorizonCullingPoint=function(o,t,e){return Q(this._ellipsoid,o,t,e)};var v=q.clone(q.UNIT_SPHERE);x.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(o,t,e,a){let i=Z(this._ellipsoid,e,v);return Q(i,o,t,a)};x.prototype.computeHorizonCullingPointFromVertices=function(o,t,e,a,i){return J(this._ellipsoid,o,t,e,a,i)};x.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(o,t,e,a,i,c){let n=Z(this._ellipsoid,i,v);return J(n,o,t,e,a,c)};var nt=[];x.prototype.computeHorizonCullingPointFromRectangle=function(o,t,e){z.typeOf.object("rectangle",o);let a=L.subsample(o,t,0,nt),i=j.fromPoints(a);if(!(s.magnitude(i.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(i.center,a,e)};var st=new s;function Z(o,t,e){if(l(t)&&t<0&&o.minimumRadius>-t){let a=s.fromElements(o.radii.x+t,o.radii.y+t,o.radii.z+t,st);o=q.fromCartesian3(a,e)}return o}function Q(o,t,e,a){z.typeOf.object("directionToPoint",t),z.defined("positions",e),l(a)||(a=new s);let i=Y(o,t),c=0;for(let n=0,r=e.length;n<r;++n){let m=e[n],h=K(o,m,i);if(h<0)return;c=Math.max(c,h)}return X(i,c,a)}var M=new s;function J(o,t,e,a,i,c){z.typeOf.object("directionToPoint",t),z.defined("vertices",e),z.typeOf.number("stride",a),l(c)||(c=new s),a=P(a,3),i=P(i,s.ZERO);let n=Y(o,t),r=0;for(let m=0,h=e.length;m<h;m+=a){M.x=e[m]+i.x,M.y=e[m+1]+i.y,M.z=e[m+2]+i.z;let u=K(o,M,n);if(u<0)return;r=Math.max(r,u)}return X(n,r,c)}function F(o,t,e){let a=t,i=e,c=s.subtract(o,a,U),n=-s.dot(c,a);return!(i<0?n>0:n>i&&n*n/s.magnitudeSquared(c)>i)}var ct=new s,rt=new s;function K(o,t,e){let a=o.transformPositionToScaledSpace(t,ct),i=s.magnitudeSquared(a),c=Math.sqrt(i),n=s.divideByScalar(a,c,rt);i=Math.max(1,i),c=Math.max(1,c);let r=s.dot(n,e),m=s.magnitude(s.cross(n,e,n)),h=1/c,u=Math.sqrt(i-1)*h;return 1/(r*h-m*u)}function X(o,t,e){if(!(t<=0||t===1/0||t!==t))return s.multiplyByScalar(o,t,e)}var D=new s;function Y(o,t){return s.equals(t,s.ZERO)?t:(o.transformPositionToScaledSpace(t,D),s.normalize(D,D))}var Pt=x;var O={};O.getHeight=function(o,t,e){if(!Number.isFinite(t))throw new A("scale must be a finite number.");if(!Number.isFinite(e))throw new A("relativeHeight must be a finite number.");return(o-e)*t+e};var mt=new W;O.getPosition=function(o,t,e,a,i){let c=t.cartesianToCartographic(o,mt);if(!l(c))return s.clone(o,i);let n=O.getHeight(c.height,e,a);return s.fromRadians(c.longitude,c.latitude,n,t,i)};var $=O;var dt={NONE:0,BITS12:1},S=Object.freeze(dt);var C=new s,lt=new s,f=new T,V=new d,ht=new d,pt=Math.pow(2,12);function p(o,t,e,a,i,c,n,r,m,h){let u=S.NONE,g,N;if(l(t)&&l(e)&&l(a)&&l(i)){let E=t.minimum,I=t.maximum,_=s.subtract(I,E,lt),tt=a-e;Math.max(s.maximumComponent(_),tt)<pt-1?u=S.BITS12:u=S.NONE,g=d.inverseTransformation(i,new d);let ot=s.negate(E,C);d.multiply(d.fromTranslation(ot,V),g,g);let b=C;b.x=1/_.x,b.y=1/_.y,b.z=1/_.z,d.multiply(d.fromScale(b,V),g,g),N=d.clone(i),d.setTranslation(N,s.ZERO,N),i=d.clone(i,new d);let et=d.fromTranslation(E,V),it=d.fromScale(_,ht),k=d.multiply(et,it,V);d.multiply(i,k,i),d.multiply(N,k,N)}this.quantization=u,this.minimumHeight=e,this.maximumHeight=a,this.center=s.clone(o),this.toScaledENU=g,this.fromScaledENU=i,this.matrix=N,this.hasVertexNormals=c,this.hasWebMercatorT=P(n,!1),this.hasGeodeticSurfaceNormals=P(r,!1),this.exaggeration=P(m,1),this.exaggerationRelativeHeight=P(h,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}p.prototype.encode=function(o,t,e,a,i,c,n,r){let m=a.x,h=a.y;if(this.quantization===S.BITS12){e=d.multiplyByPoint(this.toScaledENU,e,C),e.x=w.clamp(e.x,0,1),e.y=w.clamp(e.y,0,1),e.z=w.clamp(e.z,0,1);let u=this.maximumHeight-this.minimumHeight,g=w.clamp((i-this.minimumHeight)/u,0,1);T.fromElements(e.x,e.y,f);let N=y.compressTextureCoordinates(f);T.fromElements(e.z,g,f);let E=y.compressTextureCoordinates(f);T.fromElements(m,h,f);let I=y.compressTextureCoordinates(f);if(o[t++]=N,o[t++]=E,o[t++]=I,this.hasWebMercatorT){T.fromElements(n,0,f);let _=y.compressTextureCoordinates(f);o[t++]=_}}else s.subtract(e,this.center,C),o[t++]=C.x,o[t++]=C.y,o[t++]=C.z,o[t++]=i,o[t++]=m,o[t++]=h,this.hasWebMercatorT&&(o[t++]=n);return this.hasVertexNormals&&(o[t++]=y.octPackFloat(c)),this.hasGeodeticSurfaceNormals&&(o[t++]=r.x,o[t++]=r.y,o[t++]=r.z),t};var ut=new s,B=new s;p.prototype.addGeodeticSurfaceNormals=function(o,t,e){if(this.hasGeodeticSurfaceNormals)return;let a=this.stride,i=o.length/a;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let c=this.stride;for(let n=0;n<i;n++){for(let u=0;u<a;u++){let g=n*a+u,N=n*c+u;t[N]=o[g]}let r=this.decodePosition(t,n,ut),m=e.geodeticSurfaceNormal(r,B),h=n*c+this._offsetGeodeticSurfaceNormal;t[h]=m.x,t[h+1]=m.y,t[h+2]=m.z}};p.prototype.removeGeodeticSurfaceNormals=function(o,t){if(!this.hasGeodeticSurfaceNormals)return;let e=this.stride,a=o.length/e;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let i=this.stride;for(let c=0;c<a;c++)for(let n=0;n<i;n++){let r=c*e+n,m=c*i+n;t[m]=o[r]}};p.prototype.decodePosition=function(o,t,e){if(l(e)||(e=new s),t*=this.stride,this.quantization===S.BITS12){let a=y.decompressTextureCoordinates(o[t],f);e.x=a.x,e.y=a.y;let i=y.decompressTextureCoordinates(o[t+1],f);return e.z=i.x,d.multiplyByPoint(this.fromScaledENU,e,e)}return e.x=o[t],e.y=o[t+1],e.z=o[t+2],s.add(e,this.center,e)};p.prototype.getExaggeratedPosition=function(o,t,e){e=this.decodePosition(o,t,e);let a=this.exaggeration,i=this.exaggerationRelativeHeight;if(a!==1&&this.hasGeodeticSurfaceNormals){let n=this.decodeGeodeticSurfaceNormal(o,t,B),r=this.decodeHeight(o,t),m=$.getHeight(r,a,i)-r;e.x+=n.x*m,e.y+=n.y*m,e.z+=n.z*m}return e};p.prototype.decodeTextureCoordinates=function(o,t,e){return l(e)||(e=new T),t*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+2],e):T.fromElements(o[t+4],o[t+5],e)};p.prototype.decodeHeight=function(o,t){return t*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+1],f).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:o[t+3]};p.prototype.decodeWebMercatorT=function(o,t){return t*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+3],f).x:o[t+6]};p.prototype.getOctEncodedNormal=function(o,t,e){t=t*this.stride+this._offsetVertexNormal;let a=o[t]/256,i=Math.floor(a),c=(a-i)*256;return T.fromElements(i,c,e)};p.prototype.decodeGeodeticSurfaceNormal=function(o,t,e){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,e.x=o[t],e.y=o[t+1],e.z=o[t+2],e};p.prototype._calculateStrideAndOffsets=function(){let o=0;switch(this.quantization){case S.BITS12:o+=3;break;default:o+=6}this.hasWebMercatorT&&(o+=1),this.hasVertexNormals&&(this._offsetVertexNormal=o,o+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=o,o+=3),this.stride=o};var G={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},H={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};p.prototype.getAttributes=function(o){let t=R.FLOAT,e=R.getSizeInBytes(t),a=this.stride*e,i=0,c=[];function n(r,m){c.push({index:r,vertexBuffer:o,componentDatatype:t,componentsPerAttribute:m,offsetInBytes:i,strideInBytes:a}),i+=m*e}if(this.quantization===S.NONE){n(G.position3DAndHeight,4);let r=2;r+=this.hasWebMercatorT?1:0,r+=this.hasVertexNormals?1:0,n(G.textureCoordAndEncodedNormals,r),this.hasGeodeticSurfaceNormals&&n(G.geodeticSurfaceNormal,3)}else{let r=this.hasWebMercatorT||this.hasVertexNormals,m=this.hasWebMercatorT&&this.hasVertexNormals;n(H.compressed0,r?4:3),m&&n(H.compressed1,1),this.hasGeodeticSurfaceNormals&&n(H.geodeticSurfaceNormal,3)}return c};p.prototype.getAttributeLocations=function(){return this.quantization===S.NONE?G:H};p.clone=function(o,t){if(l(o))return l(t)||(t=new p),t.quantization=o.quantization,t.minimumHeight=o.minimumHeight,t.maximumHeight=o.maximumHeight,t.center=s.clone(o.center),t.toScaledENU=d.clone(o.toScaledENU),t.fromScaledENU=d.clone(o.fromScaledENU),t.matrix=d.clone(o.matrix),t.hasVertexNormals=o.hasVertexNormals,t.hasWebMercatorT=o.hasWebMercatorT,t.hasGeodeticSurfaceNormals=o.hasGeodeticSurfaceNormals,t.exaggeration=o.exaggeration,t.exaggerationRelativeHeight=o.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var Wt=p;export{Pt as a,Wt as b}; +import{a as y}from"./chunk-BMKF5JTH.js";import{d as j}from"./chunk-JLMPKQO4.js";import{b as d,h as L}from"./chunk-2K72IAMD.js";import{a as R}from"./chunk-GNTVNTUY.js";import{a as s,b as W,c as T,d as q}from"./chunk-HWH6BBH6.js";import{a as w}from"./chunk-DW4EQ6YI.js";import{a as P}from"./chunk-CJFJKB5V.js";import{a as A,b as z}from"./chunk-4BGNE6LH.js";import{e as l}from"./chunk-OX5CTLXY.js";function x(o,t){z.typeOf.object("ellipsoid",o),this._ellipsoid=o,this._cameraPosition=new s,this._cameraPositionInScaledSpace=new s,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(x.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(o){let e=this._ellipsoid.transformPositionToScaledSpace(o,this._cameraPositionInScaledSpace),a=s.magnitudeSquared(e)-1;s.clone(o,this._cameraPosition),this._cameraPositionInScaledSpace=e,this._distanceToLimbInScaledSpaceSquared=a}}});var U=new s;x.prototype.isPointVisible=function(o){let e=this._ellipsoid.transformPositionToScaledSpace(o,U);return F(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};x.prototype.isScaledSpacePointVisible=function(o){return F(o,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var at=new s;x.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(o,t){let e=this._ellipsoid,a,i;return l(t)&&t<0&&e.minimumRadius>-t?(i=at,i.x=this._cameraPosition.x/(e.radii.x+t),i.y=this._cameraPosition.y/(e.radii.y+t),i.z=this._cameraPosition.z/(e.radii.z+t),a=i.x*i.x+i.y*i.y+i.z*i.z-1):(i=this._cameraPositionInScaledSpace,a=this._distanceToLimbInScaledSpaceSquared),F(o,i,a)};x.prototype.computeHorizonCullingPoint=function(o,t,e){return Q(this._ellipsoid,o,t,e)};var v=q.clone(q.UNIT_SPHERE);x.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(o,t,e,a){let i=Z(this._ellipsoid,e,v);return Q(i,o,t,a)};x.prototype.computeHorizonCullingPointFromVertices=function(o,t,e,a,i){return J(this._ellipsoid,o,t,e,a,i)};x.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(o,t,e,a,i,c){let n=Z(this._ellipsoid,i,v);return J(n,o,t,e,a,c)};var nt=[];x.prototype.computeHorizonCullingPointFromRectangle=function(o,t,e){z.typeOf.object("rectangle",o);let a=L.subsample(o,t,0,nt),i=j.fromPoints(a);if(!(s.magnitude(i.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(i.center,a,e)};var st=new s;function Z(o,t,e){if(l(t)&&t<0&&o.minimumRadius>-t){let a=s.fromElements(o.radii.x+t,o.radii.y+t,o.radii.z+t,st);o=q.fromCartesian3(a,e)}return o}function Q(o,t,e,a){z.typeOf.object("directionToPoint",t),z.defined("positions",e),l(a)||(a=new s);let i=Y(o,t),c=0;for(let n=0,r=e.length;n<r;++n){let m=e[n],h=K(o,m,i);if(h<0)return;c=Math.max(c,h)}return X(i,c,a)}var M=new s;function J(o,t,e,a,i,c){z.typeOf.object("directionToPoint",t),z.defined("vertices",e),z.typeOf.number("stride",a),l(c)||(c=new s),a=P(a,3),i=P(i,s.ZERO);let n=Y(o,t),r=0;for(let m=0,h=e.length;m<h;m+=a){M.x=e[m]+i.x,M.y=e[m+1]+i.y,M.z=e[m+2]+i.z;let u=K(o,M,n);if(u<0)return;r=Math.max(r,u)}return X(n,r,c)}function F(o,t,e){let a=t,i=e,c=s.subtract(o,a,U),n=-s.dot(c,a);return!(i<0?n>0:n>i&&n*n/s.magnitudeSquared(c)>i)}var ct=new s,rt=new s;function K(o,t,e){let a=o.transformPositionToScaledSpace(t,ct),i=s.magnitudeSquared(a),c=Math.sqrt(i),n=s.divideByScalar(a,c,rt);i=Math.max(1,i),c=Math.max(1,c);let r=s.dot(n,e),m=s.magnitude(s.cross(n,e,n)),h=1/c,u=Math.sqrt(i-1)*h;return 1/(r*h-m*u)}function X(o,t,e){if(!(t<=0||t===1/0||t!==t))return s.multiplyByScalar(o,t,e)}var D=new s;function Y(o,t){return s.equals(t,s.ZERO)?t:(o.transformPositionToScaledSpace(t,D),s.normalize(D,D))}var Pt=x;var O={};O.getHeight=function(o,t,e){if(!Number.isFinite(t))throw new A("scale must be a finite number.");if(!Number.isFinite(e))throw new A("relativeHeight must be a finite number.");return(o-e)*t+e};var mt=new W;O.getPosition=function(o,t,e,a,i){let c=t.cartesianToCartographic(o,mt);if(!l(c))return s.clone(o,i);let n=O.getHeight(c.height,e,a);return s.fromRadians(c.longitude,c.latitude,n,t,i)};var $=O;var dt={NONE:0,BITS12:1},S=Object.freeze(dt);var C=new s,lt=new s,f=new T,V=new d,ht=new d,pt=Math.pow(2,12);function p(o,t,e,a,i,c,n,r,m,h){let u=S.NONE,g,N;if(l(t)&&l(e)&&l(a)&&l(i)){let E=t.minimum,I=t.maximum,_=s.subtract(I,E,lt),tt=a-e;Math.max(s.maximumComponent(_),tt)<pt-1?u=S.BITS12:u=S.NONE,g=d.inverseTransformation(i,new d);let ot=s.negate(E,C);d.multiply(d.fromTranslation(ot,V),g,g);let b=C;b.x=1/_.x,b.y=1/_.y,b.z=1/_.z,d.multiply(d.fromScale(b,V),g,g),N=d.clone(i),d.setTranslation(N,s.ZERO,N),i=d.clone(i,new d);let et=d.fromTranslation(E,V),it=d.fromScale(_,ht),k=d.multiply(et,it,V);d.multiply(i,k,i),d.multiply(N,k,N)}this.quantization=u,this.minimumHeight=e,this.maximumHeight=a,this.center=s.clone(o),this.toScaledENU=g,this.fromScaledENU=i,this.matrix=N,this.hasVertexNormals=c,this.hasWebMercatorT=P(n,!1),this.hasGeodeticSurfaceNormals=P(r,!1),this.exaggeration=P(m,1),this.exaggerationRelativeHeight=P(h,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}p.prototype.encode=function(o,t,e,a,i,c,n,r){let m=a.x,h=a.y;if(this.quantization===S.BITS12){e=d.multiplyByPoint(this.toScaledENU,e,C),e.x=w.clamp(e.x,0,1),e.y=w.clamp(e.y,0,1),e.z=w.clamp(e.z,0,1);let u=this.maximumHeight-this.minimumHeight,g=w.clamp((i-this.minimumHeight)/u,0,1);T.fromElements(e.x,e.y,f);let N=y.compressTextureCoordinates(f);T.fromElements(e.z,g,f);let E=y.compressTextureCoordinates(f);T.fromElements(m,h,f);let I=y.compressTextureCoordinates(f);if(o[t++]=N,o[t++]=E,o[t++]=I,this.hasWebMercatorT){T.fromElements(n,0,f);let _=y.compressTextureCoordinates(f);o[t++]=_}}else s.subtract(e,this.center,C),o[t++]=C.x,o[t++]=C.y,o[t++]=C.z,o[t++]=i,o[t++]=m,o[t++]=h,this.hasWebMercatorT&&(o[t++]=n);return this.hasVertexNormals&&(o[t++]=y.octPackFloat(c)),this.hasGeodeticSurfaceNormals&&(o[t++]=r.x,o[t++]=r.y,o[t++]=r.z),t};var ut=new s,B=new s;p.prototype.addGeodeticSurfaceNormals=function(o,t,e){if(this.hasGeodeticSurfaceNormals)return;let a=this.stride,i=o.length/a;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let c=this.stride;for(let n=0;n<i;n++){for(let u=0;u<a;u++){let g=n*a+u,N=n*c+u;t[N]=o[g]}let r=this.decodePosition(t,n,ut),m=e.geodeticSurfaceNormal(r,B),h=n*c+this._offsetGeodeticSurfaceNormal;t[h]=m.x,t[h+1]=m.y,t[h+2]=m.z}};p.prototype.removeGeodeticSurfaceNormals=function(o,t){if(!this.hasGeodeticSurfaceNormals)return;let e=this.stride,a=o.length/e;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let i=this.stride;for(let c=0;c<a;c++)for(let n=0;n<i;n++){let r=c*e+n,m=c*i+n;t[m]=o[r]}};p.prototype.decodePosition=function(o,t,e){if(l(e)||(e=new s),t*=this.stride,this.quantization===S.BITS12){let a=y.decompressTextureCoordinates(o[t],f);e.x=a.x,e.y=a.y;let i=y.decompressTextureCoordinates(o[t+1],f);return e.z=i.x,d.multiplyByPoint(this.fromScaledENU,e,e)}return e.x=o[t],e.y=o[t+1],e.z=o[t+2],s.add(e,this.center,e)};p.prototype.getExaggeratedPosition=function(o,t,e){e=this.decodePosition(o,t,e);let a=this.exaggeration,i=this.exaggerationRelativeHeight;if(a!==1&&this.hasGeodeticSurfaceNormals){let n=this.decodeGeodeticSurfaceNormal(o,t,B),r=this.decodeHeight(o,t),m=$.getHeight(r,a,i)-r;e.x+=n.x*m,e.y+=n.y*m,e.z+=n.z*m}return e};p.prototype.decodeTextureCoordinates=function(o,t,e){return l(e)||(e=new T),t*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+2],e):T.fromElements(o[t+4],o[t+5],e)};p.prototype.decodeHeight=function(o,t){return t*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+1],f).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:o[t+3]};p.prototype.decodeWebMercatorT=function(o,t){return t*=this.stride,this.quantization===S.BITS12?y.decompressTextureCoordinates(o[t+3],f).x:o[t+6]};p.prototype.getOctEncodedNormal=function(o,t,e){t=t*this.stride+this._offsetVertexNormal;let a=o[t]/256,i=Math.floor(a),c=(a-i)*256;return T.fromElements(i,c,e)};p.prototype.decodeGeodeticSurfaceNormal=function(o,t,e){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,e.x=o[t],e.y=o[t+1],e.z=o[t+2],e};p.prototype._calculateStrideAndOffsets=function(){let o=0;switch(this.quantization){case S.BITS12:o+=3;break;default:o+=6}this.hasWebMercatorT&&(o+=1),this.hasVertexNormals&&(this._offsetVertexNormal=o,o+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=o,o+=3),this.stride=o};var G={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},H={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};p.prototype.getAttributes=function(o){let t=R.FLOAT,e=R.getSizeInBytes(t),a=this.stride*e,i=0,c=[];function n(r,m){c.push({index:r,vertexBuffer:o,componentDatatype:t,componentsPerAttribute:m,offsetInBytes:i,strideInBytes:a}),i+=m*e}if(this.quantization===S.NONE){n(G.position3DAndHeight,4);let r=2;r+=this.hasWebMercatorT?1:0,r+=this.hasVertexNormals?1:0,n(G.textureCoordAndEncodedNormals,r),this.hasGeodeticSurfaceNormals&&n(G.geodeticSurfaceNormal,3)}else{let r=this.hasWebMercatorT||this.hasVertexNormals,m=this.hasWebMercatorT&&this.hasVertexNormals;n(H.compressed0,r?4:3),m&&n(H.compressed1,1),this.hasGeodeticSurfaceNormals&&n(H.geodeticSurfaceNormal,3)}return c};p.prototype.getAttributeLocations=function(){return this.quantization===S.NONE?G:H};p.clone=function(o,t){if(l(o))return l(t)||(t=new p),t.quantization=o.quantization,t.minimumHeight=o.minimumHeight,t.maximumHeight=o.maximumHeight,t.center=s.clone(o.center),t.toScaledENU=d.clone(o.toScaledENU),t.fromScaledENU=d.clone(o.fromScaledENU),t.matrix=d.clone(o.matrix),t.hasVertexNormals=o.hasVertexNormals,t.hasWebMercatorT=o.hasWebMercatorT,t.hasGeodeticSurfaceNormals=o.hasGeodeticSurfaceNormals,t.exaggeration=o.exaggeration,t.exaggerationRelativeHeight=o.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var Wt=p;export{Pt as a,Wt as b}; diff --git a/public/lib/Cesium/Workers/chunk-3U6PIWIV.js b/public/lib/Cesium/Workers/chunk-4ALHVD6K.js similarity index 90% rename from public/lib/Cesium/Workers/chunk-3U6PIWIV.js rename to public/lib/Cesium/Workers/chunk-4ALHVD6K.js index 37c25608b..496e4b91e 100644 --- a/public/lib/Cesium/Workers/chunk-3U6PIWIV.js +++ b/public/lib/Cesium/Workers/chunk-4ALHVD6K.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as L,b as x}from"./chunk-4TXI27XR.js";import{i as R}from"./chunk-GFUBU5RD.js";import{b as d,c as O,d as g}from"./chunk-RFPX772U.js";import{a as w}from"./chunk-6KLVDWWE.js";import{b as m}from"./chunk-6P5KAIBX.js";import{e as f}from"./chunk-4FSVUTPL.js";function t(i,h,o,n){this.x=w(i,0),this.y=w(h,0),this.width=w(o,0),this.height=w(n,0)}t.packedLength=4;t.pack=function(i,h,o){return m.typeOf.object("value",i),m.defined("array",h),o=w(o,0),h[o++]=i.x,h[o++]=i.y,h[o++]=i.width,h[o]=i.height,h};t.unpack=function(i,h,o){return m.defined("array",i),h=w(h,0),f(o)||(o=new t),o.x=i[h++],o.y=i[h++],o.width=i[h++],o.height=i[h],o};t.fromPoints=function(i,h){if(f(h)||(h=new t),!f(i)||i.length===0)return h.x=0,h.y=0,h.width=0,h.height=0,h;let o=i.length,n=i[0].x,c=i[0].y,e=i[0].x,y=i[0].y;for(let p=1;p<o;p++){let b=i[p],j=b.x,M=b.y;n=Math.min(j,n),e=Math.max(j,e),c=Math.min(M,c),y=Math.max(M,y)}return h.x=n,h.y=c,h.width=e-n,h.height=y-c,h};var X=new L,Y=new d,k=new d;t.fromRectangle=function(i,h,o){if(f(o)||(o=new t),!f(i))return o.x=0,o.y=0,o.width=0,o.height=0,o;X._ellipsoid=g.default,h=w(h,X);let n=h.project(R.southwest(i,Y)),c=h.project(R.northeast(i,k));return O.subtract(c,n,c),o.x=n.x,o.y=n.y,o.width=c.x,o.height=c.y,o};t.clone=function(i,h){if(f(i))return f(h)?(h.x=i.x,h.y=i.y,h.width=i.width,h.height=i.height,h):new t(i.x,i.y,i.width,i.height)};t.union=function(i,h,o){m.typeOf.object("left",i),m.typeOf.object("right",h),f(o)||(o=new t);let n=Math.min(i.x,h.x),c=Math.min(i.y,h.y),e=Math.max(i.x+i.width,h.x+h.width),y=Math.max(i.y+i.height,h.y+h.height);return o.x=n,o.y=c,o.width=e-n,o.height=y-c,o};t.expand=function(i,h,o){m.typeOf.object("rectangle",i),m.typeOf.object("point",h),o=t.clone(i,o);let n=h.x-o.x,c=h.y-o.y;return n>o.width?o.width=n:n<0&&(o.width-=n,o.x=h.x),c>o.height?o.height=c:c<0&&(o.height-=c,o.y=h.y),o};t.intersect=function(i,h){m.typeOf.object("left",i),m.typeOf.object("right",h);let o=i.x,n=i.y,c=h.x,e=h.y;return o>c+h.width||o+i.width<c||n+i.height<e||n>e+h.height?x.OUTSIDE:x.INTERSECTING};t.equals=function(i,h){return i===h||f(i)&&f(h)&&i.x===h.x&&i.y===h.y&&i.width===h.width&&i.height===h.height};t.prototype.clone=function(i){return t.clone(this,i)};t.prototype.intersect=function(i){return t.intersect(this,i)};t.prototype.equals=function(i){return t.equals(this,i)};var a=t;export{a}; +import{a as L,b as x}from"./chunk-JLMPKQO4.js";import{h as R}from"./chunk-2K72IAMD.js";import{b as d,c as O,d as g}from"./chunk-HWH6BBH6.js";import{a as w}from"./chunk-CJFJKB5V.js";import{b as m}from"./chunk-4BGNE6LH.js";import{e as f}from"./chunk-OX5CTLXY.js";function t(i,h,o,n){this.x=w(i,0),this.y=w(h,0),this.width=w(o,0),this.height=w(n,0)}t.packedLength=4;t.pack=function(i,h,o){return m.typeOf.object("value",i),m.defined("array",h),o=w(o,0),h[o++]=i.x,h[o++]=i.y,h[o++]=i.width,h[o]=i.height,h};t.unpack=function(i,h,o){return m.defined("array",i),h=w(h,0),f(o)||(o=new t),o.x=i[h++],o.y=i[h++],o.width=i[h++],o.height=i[h],o};t.fromPoints=function(i,h){if(f(h)||(h=new t),!f(i)||i.length===0)return h.x=0,h.y=0,h.width=0,h.height=0,h;let o=i.length,n=i[0].x,c=i[0].y,e=i[0].x,y=i[0].y;for(let p=1;p<o;p++){let b=i[p],j=b.x,M=b.y;n=Math.min(j,n),e=Math.max(j,e),c=Math.min(M,c),y=Math.max(M,y)}return h.x=n,h.y=c,h.width=e-n,h.height=y-c,h};var X=new L,Y=new d,k=new d;t.fromRectangle=function(i,h,o){if(f(o)||(o=new t),!f(i))return o.x=0,o.y=0,o.width=0,o.height=0,o;X._ellipsoid=g.default,h=w(h,X);let n=h.project(R.southwest(i,Y)),c=h.project(R.northeast(i,k));return O.subtract(c,n,c),o.x=n.x,o.y=n.y,o.width=c.x,o.height=c.y,o};t.clone=function(i,h){if(f(i))return f(h)?(h.x=i.x,h.y=i.y,h.width=i.width,h.height=i.height,h):new t(i.x,i.y,i.width,i.height)};t.union=function(i,h,o){m.typeOf.object("left",i),m.typeOf.object("right",h),f(o)||(o=new t);let n=Math.min(i.x,h.x),c=Math.min(i.y,h.y),e=Math.max(i.x+i.width,h.x+h.width),y=Math.max(i.y+i.height,h.y+h.height);return o.x=n,o.y=c,o.width=e-n,o.height=y-c,o};t.expand=function(i,h,o){m.typeOf.object("rectangle",i),m.typeOf.object("point",h),o=t.clone(i,o);let n=h.x-o.x,c=h.y-o.y;return n>o.width?o.width=n:n<0&&(o.width-=n,o.x=h.x),c>o.height?o.height=c:c<0&&(o.height-=c,o.y=h.y),o};t.intersect=function(i,h){m.typeOf.object("left",i),m.typeOf.object("right",h);let o=i.x,n=i.y,c=h.x,e=h.y;return o>c+h.width||o+i.width<c||n+i.height<e||n>e+h.height?x.OUTSIDE:x.INTERSECTING};t.equals=function(i,h){return i===h||f(i)&&f(h)&&i.x===h.x&&i.y===h.y&&i.width===h.width&&i.height===h.height};t.prototype.clone=function(i){return t.clone(this,i)};t.prototype.intersect=function(i){return t.intersect(this,i)};t.prototype.equals=function(i){return t.equals(this,i)};var a=t;export{a}; diff --git a/public/lib/Cesium/Workers/chunk-6P5KAIBX.js b/public/lib/Cesium/Workers/chunk-4BGNE6LH.js similarity index 96% rename from public/lib/Cesium/Workers/chunk-6P5KAIBX.js rename to public/lib/Cesium/Workers/chunk-4BGNE6LH.js index 591a661a6..5474e2c7c 100644 --- a/public/lib/Cesium/Workers/chunk-6P5KAIBX.js +++ b/public/lib/Cesium/Workers/chunk-4BGNE6LH.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,5 +23,5 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{e as u}from"./chunk-4FSVUTPL.js";function f(t){this.name="DeveloperError",this.message=t;let e;try{throw new Error}catch(o){e=o.stack}this.stack=e}u(Object.create)&&(f.prototype=Object.create(Error.prototype),f.prototype.constructor=f);f.prototype.toString=function(){let t=`${this.name}: ${this.message}`;return u(this.stack)&&(t+=` +import{e as u}from"./chunk-OX5CTLXY.js";function f(t){this.name="DeveloperError",this.message=t;let e;try{throw new Error}catch(o){e=o.stack}this.stack=e}u(Object.create)&&(f.prototype=Object.create(Error.prototype),f.prototype.constructor=f);f.prototype.toString=function(){let t=`${this.name}: ${this.message}`;return u(this.stack)&&(t+=` ${this.stack.toString()}`),t};f.throwInstantiationError=function(){throw new f("This function defines an interface and should not be called directly.")};var r=f;var n={};n.typeOf={};function c(t){return`${t} is required, actual value was undefined`}function a(t,e,o){return`Expected ${o} to be typeof ${e}, actual typeof was ${t}`}n.defined=function(t,e){if(!u(e))throw new r(c(t))};n.typeOf.func=function(t,e){if(typeof e!="function")throw new r(a(typeof e,"function",t))};n.typeOf.string=function(t,e){if(typeof e!="string")throw new r(a(typeof e,"string",t))};n.typeOf.number=function(t,e){if(typeof e!="number")throw new r(a(typeof e,"number",t))};n.typeOf.number.lessThan=function(t,e,o){if(n.typeOf.number(t,e),e>=o)throw new r(`Expected ${t} to be less than ${o}, actual value was ${e}`)};n.typeOf.number.lessThanOrEquals=function(t,e,o){if(n.typeOf.number(t,e),e>o)throw new r(`Expected ${t} to be less than or equal to ${o}, actual value was ${e}`)};n.typeOf.number.greaterThan=function(t,e,o){if(n.typeOf.number(t,e),e<=o)throw new r(`Expected ${t} to be greater than ${o}, actual value was ${e}`)};n.typeOf.number.greaterThanOrEquals=function(t,e,o){if(n.typeOf.number(t,e),e<o)throw new r(`Expected ${t} to be greater than or equal to ${o}, actual value was ${e}`)};n.typeOf.object=function(t,e){if(typeof e!="object")throw new r(a(typeof e,"object",t))};n.typeOf.bool=function(t,e){if(typeof e!="boolean")throw new r(a(typeof e,"boolean",t))};n.typeOf.bigint=function(t,e){if(typeof e!="bigint")throw new r(a(typeof e,"bigint",t))};n.typeOf.number.equals=function(t,e,o,i){if(n.typeOf.number(t,o),n.typeOf.number(e,i),o!==i)throw new r(`${t} must be equal to ${e}, the actual values are ${o} and ${i}`)};var l=n;export{r as a,l as b}; diff --git a/public/lib/Cesium/Workers/chunk-BUNDO2NJ.js b/public/lib/Cesium/Workers/chunk-4ULMZV5R.js similarity index 91% rename from public/lib/Cesium/Workers/chunk-BUNDO2NJ.js rename to public/lib/Cesium/Workers/chunk-4ULMZV5R.js index b4aaedc1a..f3abc357e 100644 --- a/public/lib/Cesium/Workers/chunk-BUNDO2NJ.js +++ b/public/lib/Cesium/Workers/chunk-4ULMZV5R.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as _}from"./chunk-ZYB4DKDQ.js";import{a as M}from"./chunk-45FCQ3FJ.js";import{b as G}from"./chunk-P75RMBWR.js";import{a as b}from"./chunk-UKRRGB4P.js";import{b as R}from"./chunk-GFUBU5RD.js";import{a,b as L,d as z}from"./chunk-RFPX772U.js";import{a as E}from"./chunk-RAYRECQS.js";import{a as C}from"./chunk-6KLVDWWE.js";import{a as I}from"./chunk-6P5KAIBX.js";import{e as T}from"./chunk-4FSVUTPL.js";var p={};p.numberOfPoints=function(r,n,o){let e=a.distance(r,n);return Math.ceil(e/o)};p.numberOfPointsRhumbLine=function(r,n,o){let e=Math.pow(r.longitude-n.longitude,2)+Math.pow(r.latitude-n.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(e/(o*o))))};var V=new L;p.extractHeights=function(r,n){let o=r.length,e=new Array(o);for(let t=0;t<o;t++){let l=r[t];e[t]=n.cartesianToCartographic(l,V).height}return e};var Y=new R,F=new a,v=new a,j=new b(a.UNIT_X,0),H=new a,J=new b(a.UNIT_X,0),K=new a,Q=new a,k=[];function q(r,n,o){let e=k;e.length=r;let t;if(n===o){for(t=0;t<r;t++)e[t]=n;return e}let u=(o-n)/r;for(t=0;t<r;t++){let d=n+t*u;e[t]=d}return e}var x=new L,N=new L,D=new a,B=new a,W=new a,O=new _,S=new M;function $(r,n,o,e,t,l,u,d){let i=e.scaleToGeodeticSurface(r,B),w=e.scaleToGeodeticSurface(n,W),h=p.numberOfPoints(r,n,o),f=e.cartesianToCartographic(i,x),y=e.cartesianToCartographic(w,N),g=q(h,t,l);O.setEndPoints(f,y);let P=O.surfaceDistance/h,c=d;f.height=t;let s=e.cartographicToCartesian(f,D);a.pack(s,u,c),c+=3;for(let m=1;m<h;m++){let A=O.interpolateUsingSurfaceDistance(m*P,N);A.height=g[m],s=e.cartographicToCartesian(A,D),a.pack(s,u,c),c+=3}return c}function tt(r,n,o,e,t,l,u,d){let i=e.cartesianToCartographic(r,x),w=e.cartesianToCartographic(n,N),h=p.numberOfPointsRhumbLine(i,w,o);i.height=0,w.height=0;let f=q(h,t,l);S.ellipsoid.equals(e)||(S=new M(void 0,void 0,e)),S.setEndPoints(i,w);let y=S.surfaceDistance/h,g=d;i.height=t;let P=e.cartographicToCartesian(i,D);a.pack(P,u,g),g+=3;for(let c=1;c<h;c++){let s=S.interpolateUsingSurfaceDistance(c*y,N);s.height=f[c],P=e.cartographicToCartesian(s,D),a.pack(P,u,g),g+=3}return g}p.wrapLongitude=function(r,n){let o=[],e=[];if(T(r)&&r.length>0){n=C(n,R.IDENTITY);let t=R.inverseTransformation(n,Y),l=R.multiplyByPoint(t,a.ZERO,F),u=a.normalize(R.multiplyByPointAsVector(t,a.UNIT_Y,v),v),d=b.fromPointNormal(l,u,j),i=a.normalize(R.multiplyByPointAsVector(t,a.UNIT_X,H),H),w=b.fromPointNormal(l,i,J),h=1;o.push(a.clone(r[0]));let f=o[0],y=r.length;for(let g=1;g<y;++g){let P=r[g];if(b.getPointDistance(w,f)<0||b.getPointDistance(w,P)<0){let c=G.lineSegmentPlane(f,P,d,K);if(T(c)){let s=a.multiplyByScalar(u,5e-9,Q);b.getPointDistance(d,f)<0&&a.negate(s,s),o.push(a.add(c,s,new a)),e.push(h+1),a.negate(s,s),o.push(a.add(c,s,new a)),h=1}}o.push(a.clone(r[g])),h++,f=P}e.push(h)}return{positions:o,lengths:e}};p.generateArc=function(r){T(r)||(r={});let n=r.positions;if(!T(n))throw new I("options.positions is required.");let o=n.length,e=C(r.ellipsoid,z.default),t=C(r.height,0),l=Array.isArray(t);if(o<1)return[];if(o===1){let c=e.scaleToGeodeticSurface(n[0],B);if(t=l?t[0]:t,t!==0){let s=e.geodeticSurfaceNormal(c,D);a.multiplyByScalar(s,t,s),a.add(c,s,c)}return[c.x,c.y,c.z]}let u=r.minDistance;if(!T(u)){let c=C(r.granularity,E.RADIANS_PER_DEGREE);u=E.chordLength(c,e.maximumRadius)}let d=0,i;for(i=0;i<o-1;i++)d+=p.numberOfPoints(n[i],n[i+1],u);let w=(d+1)*3,h=new Array(w),f=0;for(i=0;i<o-1;i++){let c=n[i],s=n[i+1],m=l?t[i]:t,A=l?t[i+1]:t;f=$(c,s,u,e,m,A,h,f)}k.length=0;let y=n[o-1],g=e.cartesianToCartographic(y,x);g.height=l?t[o-1]:t;let P=e.cartographicToCartesian(g,D);return a.pack(P,h,w-3),h};var U=new L,et=new L;p.generateRhumbArc=function(r){T(r)||(r={});let n=r.positions;if(!T(n))throw new I("options.positions is required.");let o=n.length,e=C(r.ellipsoid,z.default),t=C(r.height,0),l=Array.isArray(t);if(o<1)return[];if(o===1){let m=e.scaleToGeodeticSurface(n[0],B);if(t=l?t[0]:t,t!==0){let A=e.geodeticSurfaceNormal(m,D);a.multiplyByScalar(A,t,A),a.add(m,A,m)}return[m.x,m.y,m.z]}let u=C(r.granularity,E.RADIANS_PER_DEGREE),d=0,i,w=e.cartesianToCartographic(n[0],U),h;for(i=0;i<o-1;i++)h=e.cartesianToCartographic(n[i+1],et),d+=p.numberOfPointsRhumbLine(w,h,u),w=L.clone(h,U);let f=(d+1)*3,y=new Array(f),g=0;for(i=0;i<o-1;i++){let m=n[i],A=n[i+1],X=l?t[i]:t,Z=l?t[i+1]:t;g=tt(m,A,u,e,X,Z,y,g)}k.length=0;let P=n[o-1],c=e.cartesianToCartographic(P,x);c.height=l?t[o-1]:t;let s=e.cartographicToCartesian(c,D);return a.pack(s,y,f-3),y};p.generateCartesianArc=function(r){let n=p.generateArc(r),o=n.length/3,e=new Array(o);for(let t=0;t<o;t++)e[t]=a.unpack(n,t*3);return e};p.generateCartesianRhumbArc=function(r){let n=p.generateRhumbArc(r),o=n.length/3,e=new Array(o);for(let t=0;t<o;t++)e[t]=a.unpack(n,t*3);return e};var mt=p;export{mt as a}; +import{a as _}from"./chunk-5CZH3YOM.js";import{a as M}from"./chunk-44LKXGXW.js";import{b as G}from"./chunk-GCVZZUCS.js";import{a as b}from"./chunk-I66MFRXO.js";import{b as R}from"./chunk-2K72IAMD.js";import{a,b as L,d as z}from"./chunk-HWH6BBH6.js";import{a as E}from"./chunk-DW4EQ6YI.js";import{a as C}from"./chunk-CJFJKB5V.js";import{a as I}from"./chunk-4BGNE6LH.js";import{e as T}from"./chunk-OX5CTLXY.js";var p={};p.numberOfPoints=function(r,n,o){let e=a.distance(r,n);return Math.ceil(e/o)};p.numberOfPointsRhumbLine=function(r,n,o){let e=Math.pow(r.longitude-n.longitude,2)+Math.pow(r.latitude-n.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(e/(o*o))))};var V=new L;p.extractHeights=function(r,n){let o=r.length,e=new Array(o);for(let t=0;t<o;t++){let l=r[t];e[t]=n.cartesianToCartographic(l,V).height}return e};var Y=new R,F=new a,v=new a,j=new b(a.UNIT_X,0),H=new a,J=new b(a.UNIT_X,0),K=new a,Q=new a,k=[];function q(r,n,o){let e=k;e.length=r;let t;if(n===o){for(t=0;t<r;t++)e[t]=n;return e}let u=(o-n)/r;for(t=0;t<r;t++){let d=n+t*u;e[t]=d}return e}var x=new L,N=new L,D=new a,B=new a,W=new a,O=new _,S=new M;function $(r,n,o,e,t,l,u,d){let i=e.scaleToGeodeticSurface(r,B),w=e.scaleToGeodeticSurface(n,W),h=p.numberOfPoints(r,n,o),f=e.cartesianToCartographic(i,x),y=e.cartesianToCartographic(w,N),g=q(h,t,l);O.setEndPoints(f,y);let P=O.surfaceDistance/h,c=d;f.height=t;let s=e.cartographicToCartesian(f,D);a.pack(s,u,c),c+=3;for(let m=1;m<h;m++){let A=O.interpolateUsingSurfaceDistance(m*P,N);A.height=g[m],s=e.cartographicToCartesian(A,D),a.pack(s,u,c),c+=3}return c}function tt(r,n,o,e,t,l,u,d){let i=e.cartesianToCartographic(r,x),w=e.cartesianToCartographic(n,N),h=p.numberOfPointsRhumbLine(i,w,o);i.height=0,w.height=0;let f=q(h,t,l);S.ellipsoid.equals(e)||(S=new M(void 0,void 0,e)),S.setEndPoints(i,w);let y=S.surfaceDistance/h,g=d;i.height=t;let P=e.cartographicToCartesian(i,D);a.pack(P,u,g),g+=3;for(let c=1;c<h;c++){let s=S.interpolateUsingSurfaceDistance(c*y,N);s.height=f[c],P=e.cartographicToCartesian(s,D),a.pack(P,u,g),g+=3}return g}p.wrapLongitude=function(r,n){let o=[],e=[];if(T(r)&&r.length>0){n=C(n,R.IDENTITY);let t=R.inverseTransformation(n,Y),l=R.multiplyByPoint(t,a.ZERO,F),u=a.normalize(R.multiplyByPointAsVector(t,a.UNIT_Y,v),v),d=b.fromPointNormal(l,u,j),i=a.normalize(R.multiplyByPointAsVector(t,a.UNIT_X,H),H),w=b.fromPointNormal(l,i,J),h=1;o.push(a.clone(r[0]));let f=o[0],y=r.length;for(let g=1;g<y;++g){let P=r[g];if(b.getPointDistance(w,f)<0||b.getPointDistance(w,P)<0){let c=G.lineSegmentPlane(f,P,d,K);if(T(c)){let s=a.multiplyByScalar(u,5e-9,Q);b.getPointDistance(d,f)<0&&a.negate(s,s),o.push(a.add(c,s,new a)),e.push(h+1),a.negate(s,s),o.push(a.add(c,s,new a)),h=1}}o.push(a.clone(r[g])),h++,f=P}e.push(h)}return{positions:o,lengths:e}};p.generateArc=function(r){T(r)||(r={});let n=r.positions;if(!T(n))throw new I("options.positions is required.");let o=n.length,e=C(r.ellipsoid,z.default),t=C(r.height,0),l=Array.isArray(t);if(o<1)return[];if(o===1){let c=e.scaleToGeodeticSurface(n[0],B);if(t=l?t[0]:t,t!==0){let s=e.geodeticSurfaceNormal(c,D);a.multiplyByScalar(s,t,s),a.add(c,s,c)}return[c.x,c.y,c.z]}let u=r.minDistance;if(!T(u)){let c=C(r.granularity,E.RADIANS_PER_DEGREE);u=E.chordLength(c,e.maximumRadius)}let d=0,i;for(i=0;i<o-1;i++)d+=p.numberOfPoints(n[i],n[i+1],u);let w=(d+1)*3,h=new Array(w),f=0;for(i=0;i<o-1;i++){let c=n[i],s=n[i+1],m=l?t[i]:t,A=l?t[i+1]:t;f=$(c,s,u,e,m,A,h,f)}k.length=0;let y=n[o-1],g=e.cartesianToCartographic(y,x);g.height=l?t[o-1]:t;let P=e.cartographicToCartesian(g,D);return a.pack(P,h,w-3),h};var U=new L,et=new L;p.generateRhumbArc=function(r){T(r)||(r={});let n=r.positions;if(!T(n))throw new I("options.positions is required.");let o=n.length,e=C(r.ellipsoid,z.default),t=C(r.height,0),l=Array.isArray(t);if(o<1)return[];if(o===1){let m=e.scaleToGeodeticSurface(n[0],B);if(t=l?t[0]:t,t!==0){let A=e.geodeticSurfaceNormal(m,D);a.multiplyByScalar(A,t,A),a.add(m,A,m)}return[m.x,m.y,m.z]}let u=C(r.granularity,E.RADIANS_PER_DEGREE),d=0,i,w=e.cartesianToCartographic(n[0],U),h;for(i=0;i<o-1;i++)h=e.cartesianToCartographic(n[i+1],et),d+=p.numberOfPointsRhumbLine(w,h,u),w=L.clone(h,U);let f=(d+1)*3,y=new Array(f),g=0;for(i=0;i<o-1;i++){let m=n[i],A=n[i+1],X=l?t[i]:t,Z=l?t[i+1]:t;g=tt(m,A,u,e,X,Z,y,g)}k.length=0;let P=n[o-1],c=e.cartesianToCartographic(P,x);c.height=l?t[o-1]:t;let s=e.cartographicToCartesian(c,D);return a.pack(s,y,f-3),y};p.generateCartesianArc=function(r){let n=p.generateArc(r),o=n.length/3,e=new Array(o);for(let t=0;t<o;t++)e[t]=a.unpack(n,t*3);return e};p.generateCartesianRhumbArc=function(r){let n=p.generateRhumbArc(r),o=n.length/3,e=new Array(o);for(let t=0;t<o;t++)e[t]=a.unpack(n,t*3);return e};var mt=p;export{mt as a}; diff --git a/public/lib/Cesium/Workers/chunk-ZYB4DKDQ.js b/public/lib/Cesium/Workers/chunk-5CZH3YOM.js similarity index 93% rename from public/lib/Cesium/Workers/chunk-ZYB4DKDQ.js rename to public/lib/Cesium/Workers/chunk-5CZH3YOM.js index a9ea0db78..e600fd44e 100644 --- a/public/lib/Cesium/Workers/chunk-ZYB4DKDQ.js +++ b/public/lib/Cesium/Workers/chunk-5CZH3YOM.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as y,b as P,d as k}from"./chunk-RFPX772U.js";import{a as L}from"./chunk-RAYRECQS.js";import{a as B}from"./chunk-6KLVDWWE.js";import{b as q}from"./chunk-6P5KAIBX.js";import{e as T}from"./chunk-4FSVUTPL.js";function Y(n){let a=n._uSquared,t=n._ellipsoid.maximumRadius,e=n._ellipsoid.minimumRadius,f=(t-e)/t,m=Math.cos(n._startHeading),_=Math.sin(n._startHeading),r=(1-f)*Math.tan(n._start.latitude),p=1/Math.sqrt(1+r*r),R=p*r,M=Math.atan2(r,m),l=p*_,U=l*l,i=1-U,A=Math.sqrt(i),c=a/4,o=c*c,h=o*c,S=o*o,u=1+c-3*o/4+5*h/4-175*S/64,C=1-c+15*o/8-35*h/8,d=1-3*c+35*o/4,g=1-5*c,w=u*M-C*Math.sin(2*M)*c/2-d*Math.sin(4*M)*o/16-g*Math.sin(6*M)*h/48-Math.sin(8*M)*5*S/512,s=n._constants;s.a=t,s.b=e,s.f=f,s.cosineHeading=m,s.sineHeading=_,s.tanU=r,s.cosineU=p,s.sineU=R,s.sigma=M,s.sineAlpha=l,s.sineSquaredAlpha=U,s.cosineSquaredAlpha=i,s.cosineAlpha=A,s.u2Over4=c,s.u4Over16=o,s.u6Over64=h,s.u8Over256=S,s.a0=u,s.a1=C,s.a2=d,s.a3=g,s.distanceRatio=w}function Z(n,a){return n*a*(4+n*(4-3*a))/16}function N(n,a,t,e,f,m,_){let r=Z(n,t);return(1-r)*n*a*(e+r*f*(_+r*m*(2*_*_-1)))}function $(n,a,t,e,f,m,_){let r=(a-t)/a,p=m-e,R=Math.atan((1-r)*Math.tan(f)),M=Math.atan((1-r)*Math.tan(_)),l=Math.cos(R),U=Math.sin(R),i=Math.cos(M),A=Math.sin(M),c=l*i,o=l*A,h=U*A,S=U*i,u=p,C=L.TWO_PI,d=Math.cos(u),g=Math.sin(u),w,s,O,H,b;do{d=Math.cos(u),g=Math.sin(u);let z=o-S*d;O=Math.sqrt(i*i*g*g+z*z),s=h+c*d,w=Math.atan2(O,s);let D;O===0?(D=0,H=1):(D=c*g/O,H=1-D*D),C=u,b=s-2*h/H,isFinite(b)||(b=0),u=p+N(r,D,H,w,O,s,b)}while(Math.abs(u-C)>L.EPSILON12);let v=H*(a*a-t*t)/(t*t),W=1+v*(4096+v*(v*(320-175*v)-768))/16384,I=v*(256+v*(v*(74-47*v)-128))/1024,F=b*b,J=I*O*(b+I*(s*(2*F-1)-I*b*(4*O*O-3)*(4*F-3)/6)/4),K=t*W*(w-J),Q=Math.atan2(i*g,o-S*d),X=Math.atan2(l*g,o*d-S);n._distance=K,n._startHeading=Q,n._endHeading=X,n._uSquared=v}var j=new y,x=new y;function V(n,a,t,e){let f=y.normalize(e.cartographicToCartesian(a,x),j),m=y.normalize(e.cartographicToCartesian(t,x),x);q.typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(y.angleBetween(f,m))-Math.PI),.0125),$(n,e.maximumRadius,e.minimumRadius,a.longitude,a.latitude,t.longitude,t.latitude),n._start=P.clone(a,n._start),n._end=P.clone(t,n._end),n._start.height=0,n._end.height=0,Y(n)}function E(n,a,t){let e=B(t,k.default);this._ellipsoid=e,this._start=new P,this._end=new P,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,T(n)&&T(a)&&V(this,n,a,e)}Object.defineProperties(E.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return q.defined("distance",this._distance),this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return q.defined("distance",this._distance),this._startHeading}},endHeading:{get:function(){return q.defined("distance",this._distance),this._endHeading}}});E.prototype.setEndPoints=function(n,a){q.defined("start",n),q.defined("end",a),V(this,n,a,this._ellipsoid)};E.prototype.interpolateUsingFraction=function(n,a){return this.interpolateUsingSurfaceDistance(this._distance*n,a)};E.prototype.interpolateUsingSurfaceDistance=function(n,a){q.defined("distance",this._distance);let t=this._constants,e=t.distanceRatio+n/t.b,f=Math.cos(2*e),m=Math.cos(4*e),_=Math.cos(6*e),r=Math.sin(2*e),p=Math.sin(4*e),R=Math.sin(6*e),M=Math.sin(8*e),l=e*e,U=e*l,i=t.u8Over256,A=t.u2Over4,c=t.u6Over64,o=t.u4Over16,h=2*U*i*f/3+e*(1-A+7*o/4-15*c/4+579*i/64-(o-15*c/4+187*i/16)*f-(5*c/4-115*i/16)*m-29*i*_/16)+(A/2-o+71*c/32-85*i/16)*r+(5*o/16-5*c/4+383*i/96)*p-l*((c-11*i/2)*r+5*i*p/2)+(29*c/96-29*i/16)*R+539*i*M/1536,S=Math.asin(Math.sin(h)*t.cosineAlpha),u=Math.atan(t.a/t.b*Math.tan(S));h=h-t.sigma;let C=Math.cos(2*t.sigma+h),d=Math.sin(h),g=Math.cos(h),w=t.cosineU*g,s=t.sineU*d,H=Math.atan2(d*t.sineHeading,w-s*t.cosineHeading)-N(t.f,t.sineAlpha,t.cosineSquaredAlpha,h,d,g,C);return T(a)?(a.longitude=this._start.longitude+H,a.latitude=u,a.height=0,a):new P(this._start.longitude+H,u,0)};var ct=E;export{ct as a}; +import{a as y,b as P,d as k}from"./chunk-HWH6BBH6.js";import{a as L}from"./chunk-DW4EQ6YI.js";import{a as B}from"./chunk-CJFJKB5V.js";import{b as q}from"./chunk-4BGNE6LH.js";import{e as T}from"./chunk-OX5CTLXY.js";function Y(n){let a=n._uSquared,t=n._ellipsoid.maximumRadius,e=n._ellipsoid.minimumRadius,f=(t-e)/t,m=Math.cos(n._startHeading),_=Math.sin(n._startHeading),r=(1-f)*Math.tan(n._start.latitude),p=1/Math.sqrt(1+r*r),R=p*r,M=Math.atan2(r,m),l=p*_,U=l*l,i=1-U,A=Math.sqrt(i),c=a/4,o=c*c,h=o*c,S=o*o,u=1+c-3*o/4+5*h/4-175*S/64,C=1-c+15*o/8-35*h/8,d=1-3*c+35*o/4,g=1-5*c,w=u*M-C*Math.sin(2*M)*c/2-d*Math.sin(4*M)*o/16-g*Math.sin(6*M)*h/48-Math.sin(8*M)*5*S/512,s=n._constants;s.a=t,s.b=e,s.f=f,s.cosineHeading=m,s.sineHeading=_,s.tanU=r,s.cosineU=p,s.sineU=R,s.sigma=M,s.sineAlpha=l,s.sineSquaredAlpha=U,s.cosineSquaredAlpha=i,s.cosineAlpha=A,s.u2Over4=c,s.u4Over16=o,s.u6Over64=h,s.u8Over256=S,s.a0=u,s.a1=C,s.a2=d,s.a3=g,s.distanceRatio=w}function Z(n,a){return n*a*(4+n*(4-3*a))/16}function N(n,a,t,e,f,m,_){let r=Z(n,t);return(1-r)*n*a*(e+r*f*(_+r*m*(2*_*_-1)))}function $(n,a,t,e,f,m,_){let r=(a-t)/a,p=m-e,R=Math.atan((1-r)*Math.tan(f)),M=Math.atan((1-r)*Math.tan(_)),l=Math.cos(R),U=Math.sin(R),i=Math.cos(M),A=Math.sin(M),c=l*i,o=l*A,h=U*A,S=U*i,u=p,C=L.TWO_PI,d=Math.cos(u),g=Math.sin(u),w,s,O,H,b;do{d=Math.cos(u),g=Math.sin(u);let z=o-S*d;O=Math.sqrt(i*i*g*g+z*z),s=h+c*d,w=Math.atan2(O,s);let D;O===0?(D=0,H=1):(D=c*g/O,H=1-D*D),C=u,b=s-2*h/H,isFinite(b)||(b=0),u=p+N(r,D,H,w,O,s,b)}while(Math.abs(u-C)>L.EPSILON12);let v=H*(a*a-t*t)/(t*t),W=1+v*(4096+v*(v*(320-175*v)-768))/16384,I=v*(256+v*(v*(74-47*v)-128))/1024,F=b*b,J=I*O*(b+I*(s*(2*F-1)-I*b*(4*O*O-3)*(4*F-3)/6)/4),K=t*W*(w-J),Q=Math.atan2(i*g,o-S*d),X=Math.atan2(l*g,o*d-S);n._distance=K,n._startHeading=Q,n._endHeading=X,n._uSquared=v}var j=new y,x=new y;function V(n,a,t,e){let f=y.normalize(e.cartographicToCartesian(a,x),j),m=y.normalize(e.cartographicToCartesian(t,x),x);q.typeOf.number.greaterThanOrEquals("value",Math.abs(Math.abs(y.angleBetween(f,m))-Math.PI),.0125),$(n,e.maximumRadius,e.minimumRadius,a.longitude,a.latitude,t.longitude,t.latitude),n._start=P.clone(a,n._start),n._end=P.clone(t,n._end),n._start.height=0,n._end.height=0,Y(n)}function E(n,a,t){let e=B(t,k.default);this._ellipsoid=e,this._start=new P,this._end=new P,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,T(n)&&T(a)&&V(this,n,a,e)}Object.defineProperties(E.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return q.defined("distance",this._distance),this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return q.defined("distance",this._distance),this._startHeading}},endHeading:{get:function(){return q.defined("distance",this._distance),this._endHeading}}});E.prototype.setEndPoints=function(n,a){q.defined("start",n),q.defined("end",a),V(this,n,a,this._ellipsoid)};E.prototype.interpolateUsingFraction=function(n,a){return this.interpolateUsingSurfaceDistance(this._distance*n,a)};E.prototype.interpolateUsingSurfaceDistance=function(n,a){q.defined("distance",this._distance);let t=this._constants,e=t.distanceRatio+n/t.b,f=Math.cos(2*e),m=Math.cos(4*e),_=Math.cos(6*e),r=Math.sin(2*e),p=Math.sin(4*e),R=Math.sin(6*e),M=Math.sin(8*e),l=e*e,U=e*l,i=t.u8Over256,A=t.u2Over4,c=t.u6Over64,o=t.u4Over16,h=2*U*i*f/3+e*(1-A+7*o/4-15*c/4+579*i/64-(o-15*c/4+187*i/16)*f-(5*c/4-115*i/16)*m-29*i*_/16)+(A/2-o+71*c/32-85*i/16)*r+(5*o/16-5*c/4+383*i/96)*p-l*((c-11*i/2)*r+5*i*p/2)+(29*c/96-29*i/16)*R+539*i*M/1536,S=Math.asin(Math.sin(h)*t.cosineAlpha),u=Math.atan(t.a/t.b*Math.tan(S));h=h-t.sigma;let C=Math.cos(2*t.sigma+h),d=Math.sin(h),g=Math.cos(h),w=t.cosineU*g,s=t.sineU*d,H=Math.atan2(d*t.sineHeading,w-s*t.cosineHeading)-N(t.f,t.sineAlpha,t.cosineSquaredAlpha,h,d,g,C);return T(a)?(a.longitude=this._start.longitude+H,a.latitude=u,a.height=0,a):new P(this._start.longitude+H,u,0)};var ct=E;export{ct as a}; diff --git a/public/lib/Cesium/Workers/chunk-YEGGJGFV.js b/public/lib/Cesium/Workers/chunk-64YODNAO.js similarity index 94% rename from public/lib/Cesium/Workers/chunk-YEGGJGFV.js rename to public/lib/Cesium/Workers/chunk-64YODNAO.js index a6ce7c53c..f847a4a9b 100644 --- a/public/lib/Cesium/Workers/chunk-YEGGJGFV.js +++ b/public/lib/Cesium/Workers/chunk-64YODNAO.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as b}from"./chunk-IFAARW2T.js";import{a as u}from"./chunk-6YAFAZVV.js";import{a as O}from"./chunk-WFZLZ2P5.js";import{b as w,c as h,d as x}from"./chunk-CTEHZS7O.js";import{d}from"./chunk-4TXI27XR.js";import{a as y}from"./chunk-27UWHT4D.js";import{a as i}from"./chunk-RFPX772U.js";import{a as p}from"./chunk-6KLVDWWE.js";import{a as z,b as c}from"./chunk-6P5KAIBX.js";import{e as A}from"./chunk-4FSVUTPL.js";var D=new i;function f(r){r=p(r,p.EMPTY_OBJECT);let o=r.minimum,m=r.maximum;if(c.typeOf.object("min",o),c.typeOf.object("max",m),A(r.offsetAttribute)&&r.offsetAttribute===b.TOP)throw new z("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");let a=p(r.vertexFormat,u.DEFAULT);this._minimum=i.clone(o),this._maximum=i.clone(m),this._vertexFormat=a,this._offsetAttribute=r.offsetAttribute,this._workerName="createBoxGeometry"}f.fromDimensions=function(r){r=p(r,p.EMPTY_OBJECT);let o=r.dimensions;c.typeOf.object("dimensions",o),c.typeOf.number.greaterThanOrEquals("dimensions.x",o.x,0),c.typeOf.number.greaterThanOrEquals("dimensions.y",o.y,0),c.typeOf.number.greaterThanOrEquals("dimensions.z",o.z,0);let m=i.multiplyByScalar(o,.5,new i);return new f({minimum:i.negate(m,new i),maximum:m,vertexFormat:r.vertexFormat,offsetAttribute:r.offsetAttribute})};f.fromAxisAlignedBoundingBox=function(r){return c.typeOf.object("boundingBox",r),new f({minimum:r.minimum,maximum:r.maximum})};f.packedLength=2*i.packedLength+u.packedLength+1;f.pack=function(r,o,m){return c.typeOf.object("value",r),c.defined("array",o),m=p(m,0),i.pack(r._minimum,o,m),i.pack(r._maximum,o,m+i.packedLength),u.pack(r._vertexFormat,o,m+2*i.packedLength),o[m+2*i.packedLength+u.packedLength]=p(r._offsetAttribute,-1),o};var _=new i,g=new i,k=new u,F={minimum:_,maximum:g,vertexFormat:k,offsetAttribute:void 0};f.unpack=function(r,o,m){c.defined("array",r),o=p(o,0);let a=i.unpack(r,o,_),s=i.unpack(r,o+i.packedLength,g),n=u.unpack(r,o+2*i.packedLength,k),e=r[o+2*i.packedLength+u.packedLength];return A(m)?(m._minimum=i.clone(a,m._minimum),m._maximum=i.clone(s,m._maximum),m._vertexFormat=u.clone(n,m._vertexFormat),m._offsetAttribute=e===-1?void 0:e,m):(F.offsetAttribute=e===-1?void 0:e,new f(F))};f.createGeometry=function(r){let o=r._minimum,m=r._maximum,a=r._vertexFormat;if(i.equals(o,m))return;let s=new O,n,e;if(a.position&&(a.st||a.normal||a.tangent||a.bitangent)){if(a.position&&(e=new Float64Array(6*4*3),e[0]=o.x,e[1]=o.y,e[2]=m.z,e[3]=m.x,e[4]=o.y,e[5]=m.z,e[6]=m.x,e[7]=m.y,e[8]=m.z,e[9]=o.x,e[10]=m.y,e[11]=m.z,e[12]=o.x,e[13]=o.y,e[14]=o.z,e[15]=m.x,e[16]=o.y,e[17]=o.z,e[18]=m.x,e[19]=m.y,e[20]=o.z,e[21]=o.x,e[22]=m.y,e[23]=o.z,e[24]=m.x,e[25]=o.y,e[26]=o.z,e[27]=m.x,e[28]=m.y,e[29]=o.z,e[30]=m.x,e[31]=m.y,e[32]=m.z,e[33]=m.x,e[34]=o.y,e[35]=m.z,e[36]=o.x,e[37]=o.y,e[38]=o.z,e[39]=o.x,e[40]=m.y,e[41]=o.z,e[42]=o.x,e[43]=m.y,e[44]=m.z,e[45]=o.x,e[46]=o.y,e[47]=m.z,e[48]=o.x,e[49]=m.y,e[50]=o.z,e[51]=m.x,e[52]=m.y,e[53]=o.z,e[54]=m.x,e[55]=m.y,e[56]=m.z,e[57]=o.x,e[58]=m.y,e[59]=m.z,e[60]=o.x,e[61]=o.y,e[62]=o.z,e[63]=m.x,e[64]=o.y,e[65]=o.z,e[66]=m.x,e[67]=o.y,e[68]=m.z,e[69]=o.x,e[70]=o.y,e[71]=m.z,s.position=new x({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:e})),a.normal){let t=new Float32Array(72);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=1,t[9]=0,t[10]=0,t[11]=1,t[12]=0,t[13]=0,t[14]=-1,t[15]=0,t[16]=0,t[17]=-1,t[18]=0,t[19]=0,t[20]=-1,t[21]=0,t[22]=0,t[23]=-1,t[24]=1,t[25]=0,t[26]=0,t[27]=1,t[28]=0,t[29]=0,t[30]=1,t[31]=0,t[32]=0,t[33]=1,t[34]=0,t[35]=0,t[36]=-1,t[37]=0,t[38]=0,t[39]=-1,t[40]=0,t[41]=0,t[42]=-1,t[43]=0,t[44]=0,t[45]=-1,t[46]=0,t[47]=0,t[48]=0,t[49]=1,t[50]=0,t[51]=0,t[52]=1,t[53]=0,t[54]=0,t[55]=1,t[56]=0,t[57]=0,t[58]=1,t[59]=0,t[60]=0,t[61]=-1,t[62]=0,t[63]=0,t[64]=-1,t[65]=0,t[66]=0,t[67]=-1,t[68]=0,t[69]=0,t[70]=-1,t[71]=0,s.normal=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:t})}if(a.st){let t=new Float32Array(48);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=1,t[5]=1,t[6]=0,t[7]=1,t[8]=1,t[9]=0,t[10]=0,t[11]=0,t[12]=0,t[13]=1,t[14]=1,t[15]=1,t[16]=0,t[17]=0,t[18]=1,t[19]=0,t[20]=1,t[21]=1,t[22]=0,t[23]=1,t[24]=1,t[25]=0,t[26]=0,t[27]=0,t[28]=0,t[29]=1,t[30]=1,t[31]=1,t[32]=1,t[33]=0,t[34]=0,t[35]=0,t[36]=0,t[37]=1,t[38]=1,t[39]=1,t[40]=0,t[41]=0,t[42]=1,t[43]=0,t[44]=1,t[45]=1,t[46]=0,t[47]=1,s.st=new x({componentDatatype:y.FLOAT,componentsPerAttribute:2,values:t})}if(a.tangent){let t=new Float32Array(72);t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=1,t[7]=0,t[8]=0,t[9]=1,t[10]=0,t[11]=0,t[12]=-1,t[13]=0,t[14]=0,t[15]=-1,t[16]=0,t[17]=0,t[18]=-1,t[19]=0,t[20]=0,t[21]=-1,t[22]=0,t[23]=0,t[24]=0,t[25]=1,t[26]=0,t[27]=0,t[28]=1,t[29]=0,t[30]=0,t[31]=1,t[32]=0,t[33]=0,t[34]=1,t[35]=0,t[36]=0,t[37]=-1,t[38]=0,t[39]=0,t[40]=-1,t[41]=0,t[42]=0,t[43]=-1,t[44]=0,t[45]=0,t[46]=-1,t[47]=0,t[48]=-1,t[49]=0,t[50]=0,t[51]=-1,t[52]=0,t[53]=0,t[54]=-1,t[55]=0,t[56]=0,t[57]=-1,t[58]=0,t[59]=0,t[60]=1,t[61]=0,t[62]=0,t[63]=1,t[64]=0,t[65]=0,t[66]=1,t[67]=0,t[68]=0,t[69]=1,t[70]=0,t[71]=0,s.tangent=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:t})}if(a.bitangent){let t=new Float32Array(72);t[0]=0,t[1]=1,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=1,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=1,t[14]=0,t[15]=0,t[16]=1,t[17]=0,t[18]=0,t[19]=1,t[20]=0,t[21]=0,t[22]=1,t[23]=0,t[24]=0,t[25]=0,t[26]=1,t[27]=0,t[28]=0,t[29]=1,t[30]=0,t[31]=0,t[32]=1,t[33]=0,t[34]=0,t[35]=1,t[36]=0,t[37]=0,t[38]=1,t[39]=0,t[40]=0,t[41]=1,t[42]=0,t[43]=0,t[44]=1,t[45]=0,t[46]=0,t[47]=1,t[48]=0,t[49]=0,t[50]=1,t[51]=0,t[52]=0,t[53]=1,t[54]=0,t[55]=0,t[56]=1,t[57]=0,t[58]=0,t[59]=1,t[60]=0,t[61]=0,t[62]=1,t[63]=0,t[64]=0,t[65]=1,t[66]=0,t[67]=0,t[68]=1,t[69]=0,t[70]=0,t[71]=1,s.bitangent=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:t})}n=new Uint16Array(6*2*3),n[0]=0,n[1]=1,n[2]=2,n[3]=0,n[4]=2,n[5]=3,n[6]=6,n[7]=5,n[8]=4,n[9]=7,n[10]=6,n[11]=4,n[12]=8,n[13]=9,n[14]=10,n[15]=8,n[16]=10,n[17]=11,n[18]=14,n[19]=13,n[20]=12,n[21]=15,n[22]=14,n[23]=12,n[24]=18,n[25]=17,n[26]=16,n[27]=19,n[28]=18,n[29]=16,n[30]=20,n[31]=21,n[32]=22,n[33]=20,n[34]=22,n[35]=23}else e=new Float64Array(8*3),e[0]=o.x,e[1]=o.y,e[2]=o.z,e[3]=m.x,e[4]=o.y,e[5]=o.z,e[6]=m.x,e[7]=m.y,e[8]=o.z,e[9]=o.x,e[10]=m.y,e[11]=o.z,e[12]=o.x,e[13]=o.y,e[14]=m.z,e[15]=m.x,e[16]=o.y,e[17]=m.z,e[18]=m.x,e[19]=m.y,e[20]=m.z,e[21]=o.x,e[22]=m.y,e[23]=m.z,s.position=new x({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:e}),n=new Uint16Array(6*2*3),n[0]=4,n[1]=5,n[2]=6,n[3]=4,n[4]=6,n[5]=7,n[6]=1,n[7]=0,n[8]=3,n[9]=1,n[10]=3,n[11]=2,n[12]=1,n[13]=6,n[14]=5,n[15]=1,n[16]=2,n[17]=6,n[18]=2,n[19]=3,n[20]=7,n[21]=2,n[22]=7,n[23]=6,n[24]=3,n[25]=0,n[26]=4,n[27]=3,n[28]=4,n[29]=7,n[30]=0,n[31]=1,n[32]=5,n[33]=0,n[34]=5,n[35]=4;let v=i.subtract(m,o,D),L=i.magnitude(v)*.5;if(A(r._offsetAttribute)){let t=e.length,T=r._offsetAttribute===b.NONE?0:1,E=new Uint8Array(t/3).fill(T);s.applyOffset=new x({componentDatatype:y.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}return new h({attributes:s,indices:n,primitiveType:w.TRIANGLES,boundingSphere:new d(i.ZERO,L),offsetAttribute:r._offsetAttribute})};var l;f.getUnitBox=function(){return A(l)||(l=f.createGeometry(f.fromDimensions({dimensions:new i(1,1,1),vertexFormat:u.POSITION_ONLY}))),l};var R=f;export{R as a}; +import{a as b}from"./chunk-TP5B32RY.js";import{a as u}from"./chunk-RPAJTIFB.js";import{a as O}from"./chunk-E2XIHPTZ.js";import{b as w,c as h,d as x}from"./chunk-72NMS5KE.js";import{d}from"./chunk-JLMPKQO4.js";import{a as y}from"./chunk-GNTVNTUY.js";import{a as i}from"./chunk-HWH6BBH6.js";import{a as p}from"./chunk-CJFJKB5V.js";import{a as z,b as c}from"./chunk-4BGNE6LH.js";import{e as A}from"./chunk-OX5CTLXY.js";var D=new i;function f(r){r=p(r,p.EMPTY_OBJECT);let o=r.minimum,m=r.maximum;if(c.typeOf.object("min",o),c.typeOf.object("max",m),A(r.offsetAttribute)&&r.offsetAttribute===b.TOP)throw new z("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");let a=p(r.vertexFormat,u.DEFAULT);this._minimum=i.clone(o),this._maximum=i.clone(m),this._vertexFormat=a,this._offsetAttribute=r.offsetAttribute,this._workerName="createBoxGeometry"}f.fromDimensions=function(r){r=p(r,p.EMPTY_OBJECT);let o=r.dimensions;c.typeOf.object("dimensions",o),c.typeOf.number.greaterThanOrEquals("dimensions.x",o.x,0),c.typeOf.number.greaterThanOrEquals("dimensions.y",o.y,0),c.typeOf.number.greaterThanOrEquals("dimensions.z",o.z,0);let m=i.multiplyByScalar(o,.5,new i);return new f({minimum:i.negate(m,new i),maximum:m,vertexFormat:r.vertexFormat,offsetAttribute:r.offsetAttribute})};f.fromAxisAlignedBoundingBox=function(r){return c.typeOf.object("boundingBox",r),new f({minimum:r.minimum,maximum:r.maximum})};f.packedLength=2*i.packedLength+u.packedLength+1;f.pack=function(r,o,m){return c.typeOf.object("value",r),c.defined("array",o),m=p(m,0),i.pack(r._minimum,o,m),i.pack(r._maximum,o,m+i.packedLength),u.pack(r._vertexFormat,o,m+2*i.packedLength),o[m+2*i.packedLength+u.packedLength]=p(r._offsetAttribute,-1),o};var _=new i,g=new i,k=new u,F={minimum:_,maximum:g,vertexFormat:k,offsetAttribute:void 0};f.unpack=function(r,o,m){c.defined("array",r),o=p(o,0);let a=i.unpack(r,o,_),s=i.unpack(r,o+i.packedLength,g),n=u.unpack(r,o+2*i.packedLength,k),e=r[o+2*i.packedLength+u.packedLength];return A(m)?(m._minimum=i.clone(a,m._minimum),m._maximum=i.clone(s,m._maximum),m._vertexFormat=u.clone(n,m._vertexFormat),m._offsetAttribute=e===-1?void 0:e,m):(F.offsetAttribute=e===-1?void 0:e,new f(F))};f.createGeometry=function(r){let o=r._minimum,m=r._maximum,a=r._vertexFormat;if(i.equals(o,m))return;let s=new O,n,e;if(a.position&&(a.st||a.normal||a.tangent||a.bitangent)){if(a.position&&(e=new Float64Array(6*4*3),e[0]=o.x,e[1]=o.y,e[2]=m.z,e[3]=m.x,e[4]=o.y,e[5]=m.z,e[6]=m.x,e[7]=m.y,e[8]=m.z,e[9]=o.x,e[10]=m.y,e[11]=m.z,e[12]=o.x,e[13]=o.y,e[14]=o.z,e[15]=m.x,e[16]=o.y,e[17]=o.z,e[18]=m.x,e[19]=m.y,e[20]=o.z,e[21]=o.x,e[22]=m.y,e[23]=o.z,e[24]=m.x,e[25]=o.y,e[26]=o.z,e[27]=m.x,e[28]=m.y,e[29]=o.z,e[30]=m.x,e[31]=m.y,e[32]=m.z,e[33]=m.x,e[34]=o.y,e[35]=m.z,e[36]=o.x,e[37]=o.y,e[38]=o.z,e[39]=o.x,e[40]=m.y,e[41]=o.z,e[42]=o.x,e[43]=m.y,e[44]=m.z,e[45]=o.x,e[46]=o.y,e[47]=m.z,e[48]=o.x,e[49]=m.y,e[50]=o.z,e[51]=m.x,e[52]=m.y,e[53]=o.z,e[54]=m.x,e[55]=m.y,e[56]=m.z,e[57]=o.x,e[58]=m.y,e[59]=m.z,e[60]=o.x,e[61]=o.y,e[62]=o.z,e[63]=m.x,e[64]=o.y,e[65]=o.z,e[66]=m.x,e[67]=o.y,e[68]=m.z,e[69]=o.x,e[70]=o.y,e[71]=m.z,s.position=new x({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:e})),a.normal){let t=new Float32Array(72);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=1,t[9]=0,t[10]=0,t[11]=1,t[12]=0,t[13]=0,t[14]=-1,t[15]=0,t[16]=0,t[17]=-1,t[18]=0,t[19]=0,t[20]=-1,t[21]=0,t[22]=0,t[23]=-1,t[24]=1,t[25]=0,t[26]=0,t[27]=1,t[28]=0,t[29]=0,t[30]=1,t[31]=0,t[32]=0,t[33]=1,t[34]=0,t[35]=0,t[36]=-1,t[37]=0,t[38]=0,t[39]=-1,t[40]=0,t[41]=0,t[42]=-1,t[43]=0,t[44]=0,t[45]=-1,t[46]=0,t[47]=0,t[48]=0,t[49]=1,t[50]=0,t[51]=0,t[52]=1,t[53]=0,t[54]=0,t[55]=1,t[56]=0,t[57]=0,t[58]=1,t[59]=0,t[60]=0,t[61]=-1,t[62]=0,t[63]=0,t[64]=-1,t[65]=0,t[66]=0,t[67]=-1,t[68]=0,t[69]=0,t[70]=-1,t[71]=0,s.normal=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:t})}if(a.st){let t=new Float32Array(48);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=1,t[5]=1,t[6]=0,t[7]=1,t[8]=1,t[9]=0,t[10]=0,t[11]=0,t[12]=0,t[13]=1,t[14]=1,t[15]=1,t[16]=0,t[17]=0,t[18]=1,t[19]=0,t[20]=1,t[21]=1,t[22]=0,t[23]=1,t[24]=1,t[25]=0,t[26]=0,t[27]=0,t[28]=0,t[29]=1,t[30]=1,t[31]=1,t[32]=1,t[33]=0,t[34]=0,t[35]=0,t[36]=0,t[37]=1,t[38]=1,t[39]=1,t[40]=0,t[41]=0,t[42]=1,t[43]=0,t[44]=1,t[45]=1,t[46]=0,t[47]=1,s.st=new x({componentDatatype:y.FLOAT,componentsPerAttribute:2,values:t})}if(a.tangent){let t=new Float32Array(72);t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=1,t[7]=0,t[8]=0,t[9]=1,t[10]=0,t[11]=0,t[12]=-1,t[13]=0,t[14]=0,t[15]=-1,t[16]=0,t[17]=0,t[18]=-1,t[19]=0,t[20]=0,t[21]=-1,t[22]=0,t[23]=0,t[24]=0,t[25]=1,t[26]=0,t[27]=0,t[28]=1,t[29]=0,t[30]=0,t[31]=1,t[32]=0,t[33]=0,t[34]=1,t[35]=0,t[36]=0,t[37]=-1,t[38]=0,t[39]=0,t[40]=-1,t[41]=0,t[42]=0,t[43]=-1,t[44]=0,t[45]=0,t[46]=-1,t[47]=0,t[48]=-1,t[49]=0,t[50]=0,t[51]=-1,t[52]=0,t[53]=0,t[54]=-1,t[55]=0,t[56]=0,t[57]=-1,t[58]=0,t[59]=0,t[60]=1,t[61]=0,t[62]=0,t[63]=1,t[64]=0,t[65]=0,t[66]=1,t[67]=0,t[68]=0,t[69]=1,t[70]=0,t[71]=0,s.tangent=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:t})}if(a.bitangent){let t=new Float32Array(72);t[0]=0,t[1]=1,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=1,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=1,t[14]=0,t[15]=0,t[16]=1,t[17]=0,t[18]=0,t[19]=1,t[20]=0,t[21]=0,t[22]=1,t[23]=0,t[24]=0,t[25]=0,t[26]=1,t[27]=0,t[28]=0,t[29]=1,t[30]=0,t[31]=0,t[32]=1,t[33]=0,t[34]=0,t[35]=1,t[36]=0,t[37]=0,t[38]=1,t[39]=0,t[40]=0,t[41]=1,t[42]=0,t[43]=0,t[44]=1,t[45]=0,t[46]=0,t[47]=1,t[48]=0,t[49]=0,t[50]=1,t[51]=0,t[52]=0,t[53]=1,t[54]=0,t[55]=0,t[56]=1,t[57]=0,t[58]=0,t[59]=1,t[60]=0,t[61]=0,t[62]=1,t[63]=0,t[64]=0,t[65]=1,t[66]=0,t[67]=0,t[68]=1,t[69]=0,t[70]=0,t[71]=1,s.bitangent=new x({componentDatatype:y.FLOAT,componentsPerAttribute:3,values:t})}n=new Uint16Array(6*2*3),n[0]=0,n[1]=1,n[2]=2,n[3]=0,n[4]=2,n[5]=3,n[6]=6,n[7]=5,n[8]=4,n[9]=7,n[10]=6,n[11]=4,n[12]=8,n[13]=9,n[14]=10,n[15]=8,n[16]=10,n[17]=11,n[18]=14,n[19]=13,n[20]=12,n[21]=15,n[22]=14,n[23]=12,n[24]=18,n[25]=17,n[26]=16,n[27]=19,n[28]=18,n[29]=16,n[30]=20,n[31]=21,n[32]=22,n[33]=20,n[34]=22,n[35]=23}else e=new Float64Array(8*3),e[0]=o.x,e[1]=o.y,e[2]=o.z,e[3]=m.x,e[4]=o.y,e[5]=o.z,e[6]=m.x,e[7]=m.y,e[8]=o.z,e[9]=o.x,e[10]=m.y,e[11]=o.z,e[12]=o.x,e[13]=o.y,e[14]=m.z,e[15]=m.x,e[16]=o.y,e[17]=m.z,e[18]=m.x,e[19]=m.y,e[20]=m.z,e[21]=o.x,e[22]=m.y,e[23]=m.z,s.position=new x({componentDatatype:y.DOUBLE,componentsPerAttribute:3,values:e}),n=new Uint16Array(6*2*3),n[0]=4,n[1]=5,n[2]=6,n[3]=4,n[4]=6,n[5]=7,n[6]=1,n[7]=0,n[8]=3,n[9]=1,n[10]=3,n[11]=2,n[12]=1,n[13]=6,n[14]=5,n[15]=1,n[16]=2,n[17]=6,n[18]=2,n[19]=3,n[20]=7,n[21]=2,n[22]=7,n[23]=6,n[24]=3,n[25]=0,n[26]=4,n[27]=3,n[28]=4,n[29]=7,n[30]=0,n[31]=1,n[32]=5,n[33]=0,n[34]=5,n[35]=4;let v=i.subtract(m,o,D),L=i.magnitude(v)*.5;if(A(r._offsetAttribute)){let t=e.length,T=r._offsetAttribute===b.NONE?0:1,E=new Uint8Array(t/3).fill(T);s.applyOffset=new x({componentDatatype:y.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}return new h({attributes:s,indices:n,primitiveType:w.TRIANGLES,boundingSphere:new d(i.ZERO,L),offsetAttribute:r._offsetAttribute})};var l;f.getUnitBox=function(){return A(l)||(l=f.createGeometry(f.fromDimensions({dimensions:new i(1,1,1),vertexFormat:u.POSITION_ONLY}))),l};var R=f;export{R as a}; diff --git a/public/lib/Cesium/Workers/chunk-QTX6TFJQ.js b/public/lib/Cesium/Workers/chunk-67ZE4UMX.js similarity index 90% rename from public/lib/Cesium/Workers/chunk-QTX6TFJQ.js rename to public/lib/Cesium/Workers/chunk-67ZE4UMX.js index 06f9fe17d..814ad1416 100644 --- a/public/lib/Cesium/Workers/chunk-QTX6TFJQ.js +++ b/public/lib/Cesium/Workers/chunk-67ZE4UMX.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as c}from"./chunk-RFPX772U.js";import{b as t}from"./chunk-6P5KAIBX.js";import{e as g}from"./chunk-4FSVUTPL.js";function f(){this.high=c.clone(c.ZERO),this.low=c.clone(c.ZERO)}f.encode=function(n,o){t.typeOf.number("value",n),g(o)||(o={high:0,low:0});let h;return n>=0?(h=Math.floor(n/65536)*65536,o.high=h,o.low=n-h):(h=Math.floor(-n/65536)*65536,o.high=-h,o.low=n+h),o};var e={high:0,low:0};f.fromCartesian=function(n,o){t.typeOf.object("cartesian",n),g(o)||(o=new f);let h=o.high,i=o.low;return f.encode(n.x,e),h.x=e.high,i.x=e.low,f.encode(n.y,e),h.y=e.high,i.y=e.low,f.encode(n.z,e),h.z=e.high,i.z=e.low,o};var m=new f;f.writeElements=function(n,o,h){t.defined("cartesianArray",o),t.typeOf.number("index",h),t.typeOf.number.greaterThanOrEquals("index",h,0),f.fromCartesian(n,m);let i=m.high,w=m.low;o[h]=i.x,o[h+1]=i.y,o[h+2]=i.z,o[h+3]=w.x,o[h+4]=w.y,o[h+5]=w.z};var O=f;export{O as a}; +import{a as c}from"./chunk-HWH6BBH6.js";import{b as t}from"./chunk-4BGNE6LH.js";import{e as g}from"./chunk-OX5CTLXY.js";function f(){this.high=c.clone(c.ZERO),this.low=c.clone(c.ZERO)}f.encode=function(n,o){t.typeOf.number("value",n),g(o)||(o={high:0,low:0});let h;return n>=0?(h=Math.floor(n/65536)*65536,o.high=h,o.low=n-h):(h=Math.floor(-n/65536)*65536,o.high=-h,o.low=n+h),o};var e={high:0,low:0};f.fromCartesian=function(n,o){t.typeOf.object("cartesian",n),g(o)||(o=new f);let h=o.high,i=o.low;return f.encode(n.x,e),h.x=e.high,i.x=e.low,f.encode(n.y,e),h.y=e.high,i.y=e.low,f.encode(n.z,e),h.z=e.high,i.z=e.low,o};var m=new f;f.writeElements=function(n,o,h){t.defined("cartesianArray",o),t.typeOf.number("index",h),t.typeOf.number.greaterThanOrEquals("index",h,0),f.fromCartesian(n,m);let i=m.high,w=m.low;o[h]=i.x,o[h+1]=i.y,o[h+2]=i.z,o[h+3]=w.x,o[h+4]=w.y,o[h+5]=w.z};var O=f;export{O as a}; diff --git a/public/lib/Cesium/Workers/chunk-2NAI7YQ3.js b/public/lib/Cesium/Workers/chunk-6DFUP66D.js similarity index 99% rename from public/lib/Cesium/Workers/chunk-2NAI7YQ3.js rename to public/lib/Cesium/Workers/chunk-6DFUP66D.js index acbea0d11..9713cb20b 100644 --- a/public/lib/Cesium/Workers/chunk-2NAI7YQ3.js +++ b/public/lib/Cesium/Workers/chunk-6DFUP66D.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * diff --git a/public/lib/Cesium/Workers/chunk-ZPNGL6DU.js b/public/lib/Cesium/Workers/chunk-6IQVYEBD.js similarity index 85% rename from public/lib/Cesium/Workers/chunk-ZPNGL6DU.js rename to public/lib/Cesium/Workers/chunk-6IQVYEBD.js index 04a9fe546..14f31e73c 100644 --- a/public/lib/Cesium/Workers/chunk-ZPNGL6DU.js +++ b/public/lib/Cesium/Workers/chunk-6IQVYEBD.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as c,b as p,d as f}from"./chunk-RFPX772U.js";import{a as d}from"./chunk-RAYRECQS.js";import{a as u}from"./chunk-6KLVDWWE.js";import{a as s}from"./chunk-6P5KAIBX.js";import{e as a}from"./chunk-4FSVUTPL.js";function e(t){this._ellipsoid=u(t,f.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});e.mercatorAngleToGeodeticLatitude=function(t){return d.PI_OVER_TWO-2*Math.atan(Math.exp(-t))};e.geodeticLatitudeToMercatorAngle=function(t){t>e.MaximumLatitude?t=e.MaximumLatitude:t<-e.MaximumLatitude&&(t=-e.MaximumLatitude);let i=Math.sin(t);return .5*Math.log((1+i)/(1-i))};e.MaximumLatitude=e.mercatorAngleToGeodeticLatitude(Math.PI);e.prototype.project=function(t,i){let o=this._semimajorAxis,r=t.longitude*o,n=e.geodeticLatitudeToMercatorAngle(t.latitude)*o,m=t.height;return a(i)?(i.x=r,i.y=n,i.z=m,i):new c(r,n,m)};e.prototype.unproject=function(t,i){if(!a(t))throw new s("cartesian is required");let o=this._oneOverSemimajorAxis,r=t.x*o,n=e.mercatorAngleToGeodeticLatitude(t.y*o),m=t.z;return a(i)?(i.longitude=r,i.latitude=n,i.height=m,i):new p(r,n,m)};var L=e;export{L as a}; +import{a as c,b as p,d as f}from"./chunk-HWH6BBH6.js";import{a as d}from"./chunk-DW4EQ6YI.js";import{a as u}from"./chunk-CJFJKB5V.js";import{a as s}from"./chunk-4BGNE6LH.js";import{e as a}from"./chunk-OX5CTLXY.js";function e(t){this._ellipsoid=u(t,f.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});e.mercatorAngleToGeodeticLatitude=function(t){return d.PI_OVER_TWO-2*Math.atan(Math.exp(-t))};e.geodeticLatitudeToMercatorAngle=function(t){t>e.MaximumLatitude?t=e.MaximumLatitude:t<-e.MaximumLatitude&&(t=-e.MaximumLatitude);let i=Math.sin(t);return .5*Math.log((1+i)/(1-i))};e.MaximumLatitude=e.mercatorAngleToGeodeticLatitude(Math.PI);e.prototype.project=function(t,i){let o=this._semimajorAxis,r=t.longitude*o,n=e.geodeticLatitudeToMercatorAngle(t.latitude)*o,m=t.height;return a(i)?(i.x=r,i.y=n,i.z=m,i):new c(r,n,m)};e.prototype.unproject=function(t,i){if(!a(t))throw new s("cartesian is required");let o=this._oneOverSemimajorAxis,r=t.x*o,n=e.mercatorAngleToGeodeticLatitude(t.y*o),m=t.z;return a(i)?(i.longitude=r,i.latitude=n,i.height=m,i):new p(r,n,m)};var L=e;export{L as a}; diff --git a/public/lib/Cesium/Workers/chunk-CTEHZS7O.js b/public/lib/Cesium/Workers/chunk-72NMS5KE.js similarity index 91% rename from public/lib/Cesium/Workers/chunk-CTEHZS7O.js rename to public/lib/Cesium/Workers/chunk-72NMS5KE.js index d4beca29a..e455f4c4a 100644 --- a/public/lib/Cesium/Workers/chunk-CTEHZS7O.js +++ b/public/lib/Cesium/Workers/chunk-72NMS5KE.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{b as l,f as O,g as R,i as G,j as L}from"./chunk-GFUBU5RD.js";import{a as A,b as h,c as a,e as y}from"./chunk-RFPX772U.js";import{a as c}from"./chunk-2NAI7YQ3.js";import{a as s}from"./chunk-6KLVDWWE.js";import{a as N,b as w}from"./chunk-6P5KAIBX.js";import{e as I}from"./chunk-4FSVUTPL.js";var U={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},M=Object.freeze(U);var r={POINTS:c.POINTS,LINES:c.LINES,LINE_LOOP:c.LINE_LOOP,LINE_STRIP:c.LINE_STRIP,TRIANGLES:c.TRIANGLES,TRIANGLE_STRIP:c.TRIANGLE_STRIP,TRIANGLE_FAN:c.TRIANGLE_FAN};r.isLines=function(t){return t===r.LINES||t===r.LINE_LOOP||t===r.LINE_STRIP};r.isTriangles=function(t){return t===r.TRIANGLES||t===r.TRIANGLE_STRIP||t===r.TRIANGLE_FAN};r.validate=function(t){return t===r.POINTS||t===r.LINES||t===r.LINE_LOOP||t===r.LINE_STRIP||t===r.TRIANGLES||t===r.TRIANGLE_STRIP||t===r.TRIANGLE_FAN};var F=Object.freeze(r);function _(t){t=s(t,s.EMPTY_OBJECT),w.typeOf.object("options.attributes",t.attributes),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=s(t.primitiveType,F.TRIANGLES),this.boundingSphere=t.boundingSphere,this.geometryType=s(t.geometryType,M.NONE),this.boundingSphereCV=t.boundingSphereCV,this.offsetAttribute=t.offsetAttribute}_.computeNumberOfVertices=function(t){w.typeOf.object("geometry",t);let m=-1;for(let u in t.attributes)if(t.attributes.hasOwnProperty(u)&&I(t.attributes[u])&&I(t.attributes[u].values)){let o=t.attributes[u],e=o.values.length/o.componentsPerAttribute;if(m!==e&&m!==-1)throw new N("All attribute lists must have the same number of attributes.");m=e}return m};var W=new h,H=new A,V=new l,Z=[new h,new h,new h],K=[new a,new a,new a],$=[new a,new a,new a],tt=new A,et=new O,rt=new l,nt=new L;_._textureCoordinateRotationPoints=function(t,m,u,o){let e,g=G.center(o,W),D=h.toCartesian(g,u,H),Y=R.eastNorthUpToFixedFrame(D,u,V),C=l.inverse(Y,V),b=K,f=Z;f[0].longitude=o.west,f[0].latitude=o.south,f[1].longitude=o.west,f[1].latitude=o.north,f[2].longitude=o.east,f[2].latitude=o.south;let n=tt;for(e=0;e<3;e++)h.toCartesian(f[e],u,n),n=l.multiplyByPointAsVector(C,n,n),b[e].x=n.x,b[e].y=n.y;let B=O.fromAxisAngle(A.UNIT_Z,-m,et),v=y.fromQuaternion(B,rt),j=t.length,T=Number.POSITIVE_INFINITY,p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY,x=Number.NEGATIVE_INFINITY;for(e=0;e<j;e++)n=l.multiplyByPointAsVector(C,t[e],n),n=y.multiplyByVector(v,n,n),T=Math.min(T,n.x),p=Math.min(p,n.y),d=Math.max(d,n.x),x=Math.max(x,n.y);let k=L.fromRotation(m,nt),i=$;i[0].x=T,i[0].y=p,i[1].x=T,i[1].y=x,i[2].x=d,i[2].y=p;let P=b[0],z=b[2].x-P.x,X=b[1].y-P.y;for(e=0;e<3;e++){let E=i[e];L.multiplyByVector(k,E,E),E.x=(E.x-P.x)/z,E.y=(E.y-P.y)/X}let q=i[0],J=i[1],Q=i[2],S=new Array(6);return a.pack(q,S),a.pack(J,S,2),a.pack(Q,S,4),S};var Lt=_;function ot(t){if(t=s(t,s.EMPTY_OBJECT),!I(t.componentDatatype))throw new N("options.componentDatatype is required.");if(!I(t.componentsPerAttribute))throw new N("options.componentsPerAttribute is required.");if(t.componentsPerAttribute<1||t.componentsPerAttribute>4)throw new N("options.componentsPerAttribute must be between 1 and 4.");if(!I(t.values))throw new N("options.values is required.");this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=s(t.normalize,!1),this.values=t.values}var Ot=ot;export{M as a,F as b,Lt as c,Ot as d}; +import{b as l,f as O,g as R,h as G,i as L}from"./chunk-2K72IAMD.js";import{a as A,b as h,c as a,e as y}from"./chunk-HWH6BBH6.js";import{a as c}from"./chunk-6DFUP66D.js";import{a as s}from"./chunk-CJFJKB5V.js";import{a as N,b as w}from"./chunk-4BGNE6LH.js";import{e as I}from"./chunk-OX5CTLXY.js";var U={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},M=Object.freeze(U);var r={POINTS:c.POINTS,LINES:c.LINES,LINE_LOOP:c.LINE_LOOP,LINE_STRIP:c.LINE_STRIP,TRIANGLES:c.TRIANGLES,TRIANGLE_STRIP:c.TRIANGLE_STRIP,TRIANGLE_FAN:c.TRIANGLE_FAN};r.isLines=function(t){return t===r.LINES||t===r.LINE_LOOP||t===r.LINE_STRIP};r.isTriangles=function(t){return t===r.TRIANGLES||t===r.TRIANGLE_STRIP||t===r.TRIANGLE_FAN};r.validate=function(t){return t===r.POINTS||t===r.LINES||t===r.LINE_LOOP||t===r.LINE_STRIP||t===r.TRIANGLES||t===r.TRIANGLE_STRIP||t===r.TRIANGLE_FAN};var F=Object.freeze(r);function _(t){t=s(t,s.EMPTY_OBJECT),w.typeOf.object("options.attributes",t.attributes),this.attributes=t.attributes,this.indices=t.indices,this.primitiveType=s(t.primitiveType,F.TRIANGLES),this.boundingSphere=t.boundingSphere,this.geometryType=s(t.geometryType,M.NONE),this.boundingSphereCV=t.boundingSphereCV,this.offsetAttribute=t.offsetAttribute}_.computeNumberOfVertices=function(t){w.typeOf.object("geometry",t);let m=-1;for(let u in t.attributes)if(t.attributes.hasOwnProperty(u)&&I(t.attributes[u])&&I(t.attributes[u].values)){let o=t.attributes[u],e=o.values.length/o.componentsPerAttribute;if(m!==e&&m!==-1)throw new N("All attribute lists must have the same number of attributes.");m=e}return m};var W=new h,H=new A,V=new l,Z=[new h,new h,new h],K=[new a,new a,new a],$=[new a,new a,new a],tt=new A,et=new O,rt=new l,nt=new L;_._textureCoordinateRotationPoints=function(t,m,u,o){let e,g=G.center(o,W),D=h.toCartesian(g,u,H),Y=R.eastNorthUpToFixedFrame(D,u,V),C=l.inverse(Y,V),b=K,f=Z;f[0].longitude=o.west,f[0].latitude=o.south,f[1].longitude=o.west,f[1].latitude=o.north,f[2].longitude=o.east,f[2].latitude=o.south;let n=tt;for(e=0;e<3;e++)h.toCartesian(f[e],u,n),n=l.multiplyByPointAsVector(C,n,n),b[e].x=n.x,b[e].y=n.y;let B=O.fromAxisAngle(A.UNIT_Z,-m,et),v=y.fromQuaternion(B,rt),j=t.length,T=Number.POSITIVE_INFINITY,p=Number.POSITIVE_INFINITY,d=Number.NEGATIVE_INFINITY,x=Number.NEGATIVE_INFINITY;for(e=0;e<j;e++)n=l.multiplyByPointAsVector(C,t[e],n),n=y.multiplyByVector(v,n,n),T=Math.min(T,n.x),p=Math.min(p,n.y),d=Math.max(d,n.x),x=Math.max(x,n.y);let k=L.fromRotation(m,nt),i=$;i[0].x=T,i[0].y=p,i[1].x=T,i[1].y=x,i[2].x=d,i[2].y=p;let P=b[0],z=b[2].x-P.x,X=b[1].y-P.y;for(e=0;e<3;e++){let E=i[e];L.multiplyByVector(k,E,E),E.x=(E.x-P.x)/z,E.y=(E.y-P.y)/X}let q=i[0],J=i[1],Q=i[2],S=new Array(6);return a.pack(q,S),a.pack(J,S,2),a.pack(Q,S,4),S};var Lt=_;function ot(t){if(t=s(t,s.EMPTY_OBJECT),!I(t.componentDatatype))throw new N("options.componentDatatype is required.");if(!I(t.componentsPerAttribute))throw new N("options.componentsPerAttribute is required.");if(t.componentsPerAttribute<1||t.componentsPerAttribute>4)throw new N("options.componentsPerAttribute must be between 1 and 4.");if(!I(t.values))throw new N("options.values is required.");this.componentDatatype=t.componentDatatype,this.componentsPerAttribute=t.componentsPerAttribute,this.normalize=s(t.normalize,!1),this.values=t.values}var Ot=ot;export{M as a,F as b,Lt as c,Ot as d}; diff --git a/public/lib/Cesium/Workers/chunk-UGB43LJM.js b/public/lib/Cesium/Workers/chunk-A3VS2OZ2.js similarity index 90% rename from public/lib/Cesium/Workers/chunk-UGB43LJM.js rename to public/lib/Cesium/Workers/chunk-A3VS2OZ2.js index 1d9106535..710d9dbfe 100644 --- a/public/lib/Cesium/Workers/chunk-UGB43LJM.js +++ b/public/lib/Cesium/Workers/chunk-A3VS2OZ2.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a}from"./chunk-RAYRECQS.js";import{a as N}from"./chunk-2NAI7YQ3.js";import{a as t}from"./chunk-6P5KAIBX.js";import{e as i}from"./chunk-4FSVUTPL.js";var r={UNSIGNED_BYTE:N.UNSIGNED_BYTE,UNSIGNED_SHORT:N.UNSIGNED_SHORT,UNSIGNED_INT:N.UNSIGNED_INT};r.getSizeInBytes=function(e){switch(e){case r.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case r.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case r.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}throw new t("indexDatatype is required and must be a valid IndexDatatype constant.")};r.fromSizeInBytes=function(e){switch(e){case 2:return r.UNSIGNED_SHORT;case 4:return r.UNSIGNED_INT;case 1:return r.UNSIGNED_BYTE;default:throw new t("Size in bytes cannot be mapped to an IndexDatatype")}};r.validate=function(e){return i(e)&&(e===r.UNSIGNED_BYTE||e===r.UNSIGNED_SHORT||e===r.UNSIGNED_INT)};r.createTypedArray=function(e,n){if(!i(e))throw new t("numberOfVertices is required.");return e>=a.SIXTY_FOUR_KILOBYTES?new Uint32Array(n):new Uint16Array(n)};r.createTypedArrayFromArrayBuffer=function(e,n,E,o){if(!i(e))throw new t("numberOfVertices is required.");if(!i(n))throw new t("sourceArray is required.");if(!i(E))throw new t("byteOffset is required.");return e>=a.SIXTY_FOUR_KILOBYTES?new Uint32Array(n,E,o):new Uint16Array(n,E,o)};r.fromTypedArray=function(e){if(e instanceof Uint8Array)return r.UNSIGNED_BYTE;if(e instanceof Uint16Array)return r.UNSIGNED_SHORT;if(e instanceof Uint32Array)return r.UNSIGNED_INT;throw new t("array must be a Uint8Array, Uint16Array, or Uint32Array.")};var u=Object.freeze(r);export{u as a}; +import{a}from"./chunk-DW4EQ6YI.js";import{a as N}from"./chunk-6DFUP66D.js";import{a as t}from"./chunk-4BGNE6LH.js";import{e as i}from"./chunk-OX5CTLXY.js";var r={UNSIGNED_BYTE:N.UNSIGNED_BYTE,UNSIGNED_SHORT:N.UNSIGNED_SHORT,UNSIGNED_INT:N.UNSIGNED_INT};r.getSizeInBytes=function(e){switch(e){case r.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case r.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case r.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}throw new t("indexDatatype is required and must be a valid IndexDatatype constant.")};r.fromSizeInBytes=function(e){switch(e){case 2:return r.UNSIGNED_SHORT;case 4:return r.UNSIGNED_INT;case 1:return r.UNSIGNED_BYTE;default:throw new t("Size in bytes cannot be mapped to an IndexDatatype")}};r.validate=function(e){return i(e)&&(e===r.UNSIGNED_BYTE||e===r.UNSIGNED_SHORT||e===r.UNSIGNED_INT)};r.createTypedArray=function(e,n){if(!i(e))throw new t("numberOfVertices is required.");return e>=a.SIXTY_FOUR_KILOBYTES?new Uint32Array(n):new Uint16Array(n)};r.createTypedArrayFromArrayBuffer=function(e,n,E,o){if(!i(e))throw new t("numberOfVertices is required.");if(!i(n))throw new t("sourceArray is required.");if(!i(E))throw new t("byteOffset is required.");return e>=a.SIXTY_FOUR_KILOBYTES?new Uint32Array(n,E,o):new Uint16Array(n,E,o)};r.fromTypedArray=function(e){if(e instanceof Uint8Array)return r.UNSIGNED_BYTE;if(e instanceof Uint16Array)return r.UNSIGNED_SHORT;if(e instanceof Uint32Array)return r.UNSIGNED_INT;throw new t("array must be a Uint8Array, Uint16Array, or Uint32Array.")};var u=Object.freeze(r);export{u as a}; diff --git a/public/lib/Cesium/Workers/chunk-ESVPYFZH.js b/public/lib/Cesium/Workers/chunk-ADZK2JLO.js similarity index 91% rename from public/lib/Cesium/Workers/chunk-ESVPYFZH.js rename to public/lib/Cesium/Workers/chunk-ADZK2JLO.js index 2f871461d..4ea17bcee 100644 --- a/public/lib/Cesium/Workers/chunk-ESVPYFZH.js +++ b/public/lib/Cesium/Workers/chunk-ADZK2JLO.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as z}from"./chunk-4TXI27XR.js";import{i as I,j as b}from"./chunk-GFUBU5RD.js";import{a as W,b as O,d as L}from"./chunk-RFPX772U.js";import{a as m}from"./chunk-RAYRECQS.js";import{a as v}from"./chunk-6P5KAIBX.js";import{e as k}from"./chunk-4FSVUTPL.js";var Z=Math.cos,B=Math.sin,p=Math.sqrt,N={};N.computePosition=function(t,M,g,u,G,h,a){let e=M.radiiSquared,i=t.nwCorner,r=t.boundingRectangle,n=i.latitude-t.granYCos*u+G*t.granXSin,d=Z(n),X=B(n),Y=e.z*X,s=i.longitude+u*t.granYSin+G*t.granXCos,S=d*Z(s),f=d*B(s),w=e.x*S,R=e.y*f,_=p(w*S+R*f+Y*X);if(h.x=w/_,h.y=R/_,h.z=Y/_,g){let o=t.stNwCorner;k(o)?(n=o.latitude-t.stGranYCos*u+G*t.stGranXSin,s=o.longitude+u*t.stGranYSin+G*t.stGranXCos,a.x=(s-t.stWest)*t.lonScalar,a.y=(n-t.stSouth)*t.latScalar):(a.x=(s-r.west)*t.lonScalar,a.y=(n-r.south)*t.latScalar)}};var A=new b,l=new W,F=new O,j=new W,y=new z;function D(t,M,g,u,G,h,a){let e=Math.cos(M),i=u*e,r=g*e,n=Math.sin(M),d=u*n,X=g*n;y._ellipsoid=L.default,l=y.project(t,l),l=W.subtract(l,j,l);let Y=b.fromRotation(M,A);l=b.multiplyByVector(Y,l,l),l=W.add(l,j,l),t=y.unproject(l,t),h-=1,a-=1;let s=t.latitude,S=s+h*X,f=s-i*a,w=s-i*a+h*X,R=Math.max(s,S,f,w),_=Math.min(s,S,f,w),o=t.longitude,E=o+h*r,T=o+a*d,V=o+a*d+h*r,q=Math.max(o,E,T,V),x=Math.min(o,E,T,V);return{north:R,south:_,east:q,west:x,granYCos:i,granYSin:d,granXCos:r,granXSin:X,nwCorner:t}}N.computeOptions=function(t,M,g,u,G,h,a){let e=t.east,i=t.west,r=t.north,n=t.south,d=!1,X=!1;r===m.PI_OVER_TWO&&(d=!0),n===-m.PI_OVER_TWO&&(X=!0);let Y,s=r-n;i>e?Y=m.TWO_PI-i+e:Y=e-i;let S=Math.ceil(Y/M)+1,f=Math.ceil(s/M)+1,w=Y/(S-1),R=s/(f-1),_=I.northwest(t,h),o=I.center(t,F);(g!==0||u!==0)&&(o.longitude<_.longitude&&(o.longitude+=m.TWO_PI),y._ellipsoid=L.default,j=y.project(o,j));let E=R,T=w,V=0,q=0,x=I.clone(t,G),c={granYCos:E,granYSin:V,granXCos:T,granXSin:q,nwCorner:_,boundingRectangle:x,width:S,height:f,northCap:d,southCap:X};if(g!==0){let C=D(_,g,w,R,o,S,f);if(r=C.north,n=C.south,e=C.east,i=C.west,r<-m.PI_OVER_TWO||r>m.PI_OVER_TWO||n<-m.PI_OVER_TWO||n>m.PI_OVER_TWO)throw new v("Rotated rectangle is invalid. It crosses over either the north or south pole.");c.granYCos=C.granYCos,c.granYSin=C.granYSin,c.granXCos=C.granXCos,c.granXSin=C.granXSin,x.north=r,x.south=n,x.east=e,x.west=i}if(u!==0){g=g-u;let C=I.northwest(x,a),P=D(C,g,w,R,o,S,f);c.stGranYCos=P.granYCos,c.stGranXCos=P.granXCos,c.stGranYSin=P.granYSin,c.stGranXSin=P.granXSin,c.stNwCorner=C,c.stWest=P.west,c.stSouth=P.south}return c};var st=N;export{st as a}; +import{a as z}from"./chunk-JLMPKQO4.js";import{h as I,i as b}from"./chunk-2K72IAMD.js";import{a as W,b as O,d as L}from"./chunk-HWH6BBH6.js";import{a as m}from"./chunk-DW4EQ6YI.js";import{a as v}from"./chunk-4BGNE6LH.js";import{e as k}from"./chunk-OX5CTLXY.js";var Z=Math.cos,B=Math.sin,p=Math.sqrt,N={};N.computePosition=function(t,M,g,u,G,h,a){let e=M.radiiSquared,i=t.nwCorner,r=t.boundingRectangle,n=i.latitude-t.granYCos*u+G*t.granXSin,d=Z(n),X=B(n),Y=e.z*X,s=i.longitude+u*t.granYSin+G*t.granXCos,S=d*Z(s),f=d*B(s),w=e.x*S,R=e.y*f,_=p(w*S+R*f+Y*X);if(h.x=w/_,h.y=R/_,h.z=Y/_,g){let o=t.stNwCorner;k(o)?(n=o.latitude-t.stGranYCos*u+G*t.stGranXSin,s=o.longitude+u*t.stGranYSin+G*t.stGranXCos,a.x=(s-t.stWest)*t.lonScalar,a.y=(n-t.stSouth)*t.latScalar):(a.x=(s-r.west)*t.lonScalar,a.y=(n-r.south)*t.latScalar)}};var A=new b,l=new W,F=new O,j=new W,y=new z;function D(t,M,g,u,G,h,a){let e=Math.cos(M),i=u*e,r=g*e,n=Math.sin(M),d=u*n,X=g*n;y._ellipsoid=L.default,l=y.project(t,l),l=W.subtract(l,j,l);let Y=b.fromRotation(M,A);l=b.multiplyByVector(Y,l,l),l=W.add(l,j,l),t=y.unproject(l,t),h-=1,a-=1;let s=t.latitude,S=s+h*X,f=s-i*a,w=s-i*a+h*X,R=Math.max(s,S,f,w),_=Math.min(s,S,f,w),o=t.longitude,E=o+h*r,T=o+a*d,V=o+a*d+h*r,q=Math.max(o,E,T,V),x=Math.min(o,E,T,V);return{north:R,south:_,east:q,west:x,granYCos:i,granYSin:d,granXCos:r,granXSin:X,nwCorner:t}}N.computeOptions=function(t,M,g,u,G,h,a){let e=t.east,i=t.west,r=t.north,n=t.south,d=!1,X=!1;r===m.PI_OVER_TWO&&(d=!0),n===-m.PI_OVER_TWO&&(X=!0);let Y,s=r-n;i>e?Y=m.TWO_PI-i+e:Y=e-i;let S=Math.ceil(Y/M)+1,f=Math.ceil(s/M)+1,w=Y/(S-1),R=s/(f-1),_=I.northwest(t,h),o=I.center(t,F);(g!==0||u!==0)&&(o.longitude<_.longitude&&(o.longitude+=m.TWO_PI),y._ellipsoid=L.default,j=y.project(o,j));let E=R,T=w,V=0,q=0,x=I.clone(t,G),c={granYCos:E,granYSin:V,granXCos:T,granXSin:q,nwCorner:_,boundingRectangle:x,width:S,height:f,northCap:d,southCap:X};if(g!==0){let C=D(_,g,w,R,o,S,f);if(r=C.north,n=C.south,e=C.east,i=C.west,r<-m.PI_OVER_TWO||r>m.PI_OVER_TWO||n<-m.PI_OVER_TWO||n>m.PI_OVER_TWO)throw new v("Rotated rectangle is invalid. It crosses over either the north or south pole.");c.granYCos=C.granYCos,c.granYSin=C.granYSin,c.granXCos=C.granXCos,c.granXSin=C.granXSin,x.north=r,x.south=n,x.east=e,x.west=i}if(u!==0){g=g-u;let C=I.northwest(x,a),P=D(C,g,w,R,o,S,f);c.stGranYCos=P.granYCos,c.stGranXCos=P.granXCos,c.stGranYSin=P.granYSin,c.stGranXSin=P.granXSin,c.stNwCorner=C,c.stWest=P.west,c.stSouth=P.south}return c};var st=N;export{st as a}; diff --git a/public/lib/Cesium/Workers/chunk-ZDYLWKVC.js b/public/lib/Cesium/Workers/chunk-AVHFP6LX.js similarity index 90% rename from public/lib/Cesium/Workers/chunk-ZDYLWKVC.js rename to public/lib/Cesium/Workers/chunk-AVHFP6LX.js index 4ad6e9696..7e303e03e 100644 --- a/public/lib/Cesium/Workers/chunk-ZDYLWKVC.js +++ b/public/lib/Cesium/Workers/chunk-AVHFP6LX.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as W}from"./chunk-IFAARW2T.js";import{a as Z}from"./chunk-UGB43LJM.js";import{a as X}from"./chunk-WFZLZ2P5.js";import{b as K,c as Q,d as V}from"./chunk-CTEHZS7O.js";import{d as H}from"./chunk-4TXI27XR.js";import{a as U}from"./chunk-27UWHT4D.js";import{a as r,d as J}from"./chunk-RFPX772U.js";import{a as B}from"./chunk-RAYRECQS.js";import{a as u}from"./chunk-6KLVDWWE.js";import{a as P}from"./chunk-6P5KAIBX.js";import{e as T}from"./chunk-4FSVUTPL.js";var ii=new r(1,1,1),S=Math.cos,q=Math.sin;function x(t){t=u(t,u.EMPTY_OBJECT);let o=u(t.radii,ii),n=u(t.innerRadii,o),k=u(t.minimumClock,0),w=u(t.maximumClock,B.TWO_PI),d=u(t.minimumCone,0),l=u(t.maximumCone,B.PI),s=Math.round(u(t.stackPartitions,10)),A=Math.round(u(t.slicePartitions,8)),m=Math.round(u(t.subdivisions,128));if(s<1)throw new P("options.stackPartitions cannot be less than 1");if(A<0)throw new P("options.slicePartitions cannot be less than 0");if(m<0)throw new P("options.subdivisions must be greater than or equal to zero.");if(T(t.offsetAttribute)&&t.offsetAttribute===W.TOP)throw new P("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._radii=r.clone(o),this._innerRadii=r.clone(n),this._minimumClock=k,this._maximumClock=w,this._minimumCone=d,this._maximumCone=l,this._stackPartitions=s,this._slicePartitions=A,this._subdivisions=m,this._offsetAttribute=t.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}x.packedLength=2*r.packedLength+8;x.pack=function(t,o,n){if(!T(t))throw new P("value is required");if(!T(o))throw new P("array is required");return n=u(n,0),r.pack(t._radii,o,n),n+=r.packedLength,r.pack(t._innerRadii,o,n),n+=r.packedLength,o[n++]=t._minimumClock,o[n++]=t._maximumClock,o[n++]=t._minimumCone,o[n++]=t._maximumCone,o[n++]=t._stackPartitions,o[n++]=t._slicePartitions,o[n++]=t._subdivisions,o[n]=u(t._offsetAttribute,-1),o};var $=new r,G=new r,b={radii:$,innerRadii:G,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};x.unpack=function(t,o,n){if(!T(t))throw new P("array is required");o=u(o,0);let k=r.unpack(t,o,$);o+=r.packedLength;let w=r.unpack(t,o,G);o+=r.packedLength;let d=t[o++],l=t[o++],s=t[o++],A=t[o++],m=t[o++],f=t[o++],E=t[o++],h=t[o];return T(n)?(n._radii=r.clone(k,n._radii),n._innerRadii=r.clone(w,n._innerRadii),n._minimumClock=d,n._maximumClock=l,n._minimumCone=s,n._maximumCone=A,n._stackPartitions=m,n._slicePartitions=f,n._subdivisions=E,n._offsetAttribute=h===-1?void 0:h,n):(b.minimumClock=d,b.maximumClock=l,b.minimumCone=s,b.maximumCone=A,b.stackPartitions=m,b.slicePartitions=f,b.subdivisions=E,b.offsetAttribute=h===-1?void 0:h,new x(b))};x.createGeometry=function(t){let o=t._radii;if(o.x<=0||o.y<=0||o.z<=0)return;let n=t._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let k=t._minimumClock,w=t._maximumClock,d=t._minimumCone,l=t._maximumCone,s=t._subdivisions,A=J.fromCartesian3(o),m=t._slicePartitions+1,f=t._stackPartitions+1;m=Math.round(m*Math.abs(w-k)/B.TWO_PI),f=Math.round(f*Math.abs(l-d)/B.PI),m<2&&(m=2),f<2&&(f=2);let E=0,h=1,L=n.x!==o.x||n.y!==o.y||n.z!==o.z,Y=!1,j=!1;L&&(h=2,d>0&&(Y=!0,E+=m),l<Math.PI&&(j=!0,E+=m));let y=s*h*(f+m),a=new Float64Array(y*3),g=2*(y+E-(m+f)*h),_=Z.createTypedArray(y,g),i,e,v,z,c=0,C=new Array(f),O=new Array(f);for(i=0;i<f;i++)z=d+i*(l-d)/(f-1),C[i]=q(z),O[i]=S(z);let M=new Array(s),R=new Array(s);for(i=0;i<s;i++)v=k+i*(w-k)/(s-1),M[i]=q(v),R[i]=S(v);for(i=0;i<f;i++)for(e=0;e<s;e++)a[c++]=o.x*C[i]*R[e],a[c++]=o.y*C[i]*M[e],a[c++]=o.z*O[i];if(L)for(i=0;i<f;i++)for(e=0;e<s;e++)a[c++]=n.x*C[i]*R[e],a[c++]=n.y*C[i]*M[e],a[c++]=n.z*O[i];for(C.length=s,O.length=s,i=0;i<s;i++)z=d+i*(l-d)/(s-1),C[i]=q(z),O[i]=S(z);for(M.length=m,R.length=m,i=0;i<m;i++)v=k+i*(w-k)/(m-1),M[i]=q(v),R[i]=S(v);for(i=0;i<s;i++)for(e=0;e<m;e++)a[c++]=o.x*C[i]*R[e],a[c++]=o.y*C[i]*M[e],a[c++]=o.z*O[i];if(L)for(i=0;i<s;i++)for(e=0;e<m;e++)a[c++]=n.x*C[i]*R[e],a[c++]=n.y*C[i]*M[e],a[c++]=n.z*O[i];for(c=0,i=0;i<f*h;i++){let p=i*s;for(e=0;e<s-1;e++)_[c++]=p+e,_[c++]=p+e+1}let D=f*s*h;for(i=0;i<m;i++)for(e=0;e<s-1;e++)_[c++]=D+i+e*m,_[c++]=D+i+(e+1)*m;if(L)for(D=f*s*h+m*s,i=0;i<m;i++)for(e=0;e<s-1;e++)_[c++]=D+i+e*m,_[c++]=D+i+(e+1)*m;if(L){let p=f*s*h,N=p+s*m;if(Y)for(i=0;i<m;i++)_[c++]=p+i,_[c++]=N+i;if(j)for(p+=s*m-m,N+=s*m-m,i=0;i<m;i++)_[c++]=p+i,_[c++]=N+i}let F=new X({position:new V({componentDatatype:U.DOUBLE,componentsPerAttribute:3,values:a})});if(T(t._offsetAttribute)){let p=a.length,N=t._offsetAttribute===W.NONE?0:1,I=new Uint8Array(p/3).fill(N);F.applyOffset=new V({componentDatatype:U.UNSIGNED_BYTE,componentsPerAttribute:1,values:I})}return new Q({attributes:F,indices:_,primitiveType:K.LINES,boundingSphere:H.fromEllipsoid(A),offsetAttribute:t._offsetAttribute})};var Ci=x;export{Ci as a}; +import{a as W}from"./chunk-TP5B32RY.js";import{a as Z}from"./chunk-A3VS2OZ2.js";import{a as X}from"./chunk-E2XIHPTZ.js";import{b as K,c as Q,d as V}from"./chunk-72NMS5KE.js";import{d as H}from"./chunk-JLMPKQO4.js";import{a as U}from"./chunk-GNTVNTUY.js";import{a as r,d as J}from"./chunk-HWH6BBH6.js";import{a as B}from"./chunk-DW4EQ6YI.js";import{a as u}from"./chunk-CJFJKB5V.js";import{a as P}from"./chunk-4BGNE6LH.js";import{e as T}from"./chunk-OX5CTLXY.js";var ii=new r(1,1,1),S=Math.cos,q=Math.sin;function x(t){t=u(t,u.EMPTY_OBJECT);let o=u(t.radii,ii),n=u(t.innerRadii,o),k=u(t.minimumClock,0),w=u(t.maximumClock,B.TWO_PI),d=u(t.minimumCone,0),l=u(t.maximumCone,B.PI),s=Math.round(u(t.stackPartitions,10)),A=Math.round(u(t.slicePartitions,8)),m=Math.round(u(t.subdivisions,128));if(s<1)throw new P("options.stackPartitions cannot be less than 1");if(A<0)throw new P("options.slicePartitions cannot be less than 0");if(m<0)throw new P("options.subdivisions must be greater than or equal to zero.");if(T(t.offsetAttribute)&&t.offsetAttribute===W.TOP)throw new P("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._radii=r.clone(o),this._innerRadii=r.clone(n),this._minimumClock=k,this._maximumClock=w,this._minimumCone=d,this._maximumCone=l,this._stackPartitions=s,this._slicePartitions=A,this._subdivisions=m,this._offsetAttribute=t.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}x.packedLength=2*r.packedLength+8;x.pack=function(t,o,n){if(!T(t))throw new P("value is required");if(!T(o))throw new P("array is required");return n=u(n,0),r.pack(t._radii,o,n),n+=r.packedLength,r.pack(t._innerRadii,o,n),n+=r.packedLength,o[n++]=t._minimumClock,o[n++]=t._maximumClock,o[n++]=t._minimumCone,o[n++]=t._maximumCone,o[n++]=t._stackPartitions,o[n++]=t._slicePartitions,o[n++]=t._subdivisions,o[n]=u(t._offsetAttribute,-1),o};var $=new r,G=new r,b={radii:$,innerRadii:G,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};x.unpack=function(t,o,n){if(!T(t))throw new P("array is required");o=u(o,0);let k=r.unpack(t,o,$);o+=r.packedLength;let w=r.unpack(t,o,G);o+=r.packedLength;let d=t[o++],l=t[o++],s=t[o++],A=t[o++],m=t[o++],f=t[o++],E=t[o++],h=t[o];return T(n)?(n._radii=r.clone(k,n._radii),n._innerRadii=r.clone(w,n._innerRadii),n._minimumClock=d,n._maximumClock=l,n._minimumCone=s,n._maximumCone=A,n._stackPartitions=m,n._slicePartitions=f,n._subdivisions=E,n._offsetAttribute=h===-1?void 0:h,n):(b.minimumClock=d,b.maximumClock=l,b.minimumCone=s,b.maximumCone=A,b.stackPartitions=m,b.slicePartitions=f,b.subdivisions=E,b.offsetAttribute=h===-1?void 0:h,new x(b))};x.createGeometry=function(t){let o=t._radii;if(o.x<=0||o.y<=0||o.z<=0)return;let n=t._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let k=t._minimumClock,w=t._maximumClock,d=t._minimumCone,l=t._maximumCone,s=t._subdivisions,A=J.fromCartesian3(o),m=t._slicePartitions+1,f=t._stackPartitions+1;m=Math.round(m*Math.abs(w-k)/B.TWO_PI),f=Math.round(f*Math.abs(l-d)/B.PI),m<2&&(m=2),f<2&&(f=2);let E=0,h=1,L=n.x!==o.x||n.y!==o.y||n.z!==o.z,Y=!1,j=!1;L&&(h=2,d>0&&(Y=!0,E+=m),l<Math.PI&&(j=!0,E+=m));let y=s*h*(f+m),a=new Float64Array(y*3),g=2*(y+E-(m+f)*h),_=Z.createTypedArray(y,g),i,e,v,z,c=0,C=new Array(f),O=new Array(f);for(i=0;i<f;i++)z=d+i*(l-d)/(f-1),C[i]=q(z),O[i]=S(z);let M=new Array(s),R=new Array(s);for(i=0;i<s;i++)v=k+i*(w-k)/(s-1),M[i]=q(v),R[i]=S(v);for(i=0;i<f;i++)for(e=0;e<s;e++)a[c++]=o.x*C[i]*R[e],a[c++]=o.y*C[i]*M[e],a[c++]=o.z*O[i];if(L)for(i=0;i<f;i++)for(e=0;e<s;e++)a[c++]=n.x*C[i]*R[e],a[c++]=n.y*C[i]*M[e],a[c++]=n.z*O[i];for(C.length=s,O.length=s,i=0;i<s;i++)z=d+i*(l-d)/(s-1),C[i]=q(z),O[i]=S(z);for(M.length=m,R.length=m,i=0;i<m;i++)v=k+i*(w-k)/(m-1),M[i]=q(v),R[i]=S(v);for(i=0;i<s;i++)for(e=0;e<m;e++)a[c++]=o.x*C[i]*R[e],a[c++]=o.y*C[i]*M[e],a[c++]=o.z*O[i];if(L)for(i=0;i<s;i++)for(e=0;e<m;e++)a[c++]=n.x*C[i]*R[e],a[c++]=n.y*C[i]*M[e],a[c++]=n.z*O[i];for(c=0,i=0;i<f*h;i++){let p=i*s;for(e=0;e<s-1;e++)_[c++]=p+e,_[c++]=p+e+1}let D=f*s*h;for(i=0;i<m;i++)for(e=0;e<s-1;e++)_[c++]=D+i+e*m,_[c++]=D+i+(e+1)*m;if(L)for(D=f*s*h+m*s,i=0;i<m;i++)for(e=0;e<s-1;e++)_[c++]=D+i+e*m,_[c++]=D+i+(e+1)*m;if(L){let p=f*s*h,N=p+s*m;if(Y)for(i=0;i<m;i++)_[c++]=p+i,_[c++]=N+i;if(j)for(p+=s*m-m,N+=s*m-m,i=0;i<m;i++)_[c++]=p+i,_[c++]=N+i}let F=new X({position:new V({componentDatatype:U.DOUBLE,componentsPerAttribute:3,values:a})});if(T(t._offsetAttribute)){let p=a.length,N=t._offsetAttribute===W.NONE?0:1,I=new Uint8Array(p/3).fill(N);F.applyOffset=new V({componentDatatype:U.UNSIGNED_BYTE,componentsPerAttribute:1,values:I})}return new Q({attributes:F,indices:_,primitiveType:K.LINES,boundingSphere:H.fromEllipsoid(A),offsetAttribute:t._offsetAttribute})};var Ci=x;export{Ci as a}; diff --git a/public/lib/Cesium/Workers/chunk-S5WIMI2N.js b/public/lib/Cesium/Workers/chunk-BMKF5JTH.js similarity index 94% rename from public/lib/Cesium/Workers/chunk-S5WIMI2N.js rename to public/lib/Cesium/Workers/chunk-BMKF5JTH.js index 90889426f..727a11755 100644 --- a/public/lib/Cesium/Workers/chunk-S5WIMI2N.js +++ b/public/lib/Cesium/Workers/chunk-BMKF5JTH.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as w,b as z,j as S}from"./chunk-GFUBU5RD.js";import{a as y}from"./chunk-27UWHT4D.js";import{a as C,c as T,e as x}from"./chunk-RFPX772U.js";import{a as h}from"./chunk-RAYRECQS.js";import{a as u,b as a}from"./chunk-6P5KAIBX.js";import{e as b}from"./chunk-4FSVUTPL.js";var c={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};c.getMathType=function(e){switch(e){case c.SCALAR:return Number;case c.VEC2:return T;case c.VEC3:return C;case c.VEC4:return w;case c.MAT2:return S;case c.MAT3:return x;case c.MAT4:return z;default:throw new u("attributeType is not a valid value.")}};c.getNumberOfComponents=function(e){switch(e){case c.SCALAR:return 1;case c.VEC2:return 2;case c.VEC3:return 3;case c.VEC4:case c.MAT2:return 4;case c.MAT3:return 9;case c.MAT4:return 16;default:throw new u("attributeType is not a valid value.")}};c.getAttributeLocationCount=function(e){switch(e){case c.SCALAR:case c.VEC2:case c.VEC3:case c.VEC4:return 1;case c.MAT2:return 2;case c.MAT3:return 3;case c.MAT4:return 4;default:throw new u("attributeType is not a valid value.")}};c.getGlslType=function(e){switch(a.typeOf.string("attributeType",e),e){case c.SCALAR:return"float";case c.VEC2:return"vec2";case c.VEC3:return"vec3";case c.VEC4:return"vec4";case c.MAT2:return"mat2";case c.MAT3:return"mat3";case c.MAT4:return"mat4";default:throw new u("attributeType is not a valid value.")}};var N=Object.freeze(c);var V=1/256,D=256,r={};r.octEncodeInRange=function(e,t,n){a.defined("vector",e),a.defined("result",n);let o=C.magnitudeSquared(e);if(Math.abs(o-1)>h.EPSILON6)throw new u("vector must be normalized.");if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,d=n.y;n.x=(1-Math.abs(d))*h.signNotZero(i),n.y=(1-Math.abs(i))*h.signNotZero(d)}return n.x=h.toSNorm(n.x,t),n.y=h.toSNorm(n.y,t),n};r.octEncode=function(e,t){return r.octEncodeInRange(e,255,t)};var A=new T,F=new Uint8Array(1);function E(e){return F[0]=e,F[0]}r.octEncodeToCartesian4=function(e,t){return r.octEncodeInRange(e,65535,A),t.x=E(A.x*V),t.y=E(A.x),t.z=E(A.y*V),t.w=E(A.y),t};r.octDecodeInRange=function(e,t,n,o){if(a.defined("result",o),e<0||e>n||t<0||t>n)throw new u(`x and y must be unsigned normalized integers between 0 and ${n}`);if(o.x=h.fromSNorm(e,n),o.y=h.fromSNorm(t,n),o.z=1-(Math.abs(o.x)+Math.abs(o.y)),o.z<0){let i=o.x;o.x=(1-Math.abs(o.y))*h.signNotZero(i),o.y=(1-Math.abs(i))*h.signNotZero(o.y)}return C.normalize(o,o)};r.octDecode=function(e,t,n){return r.octDecodeInRange(e,t,255,n)};r.octDecodeFromCartesian4=function(e,t){a.typeOf.object("encoded",e),a.typeOf.object("result",t);let n=e.x,o=e.y,i=e.z,d=e.w;if(n<0||n>255||o<0||o>255||i<0||i>255||d<0||d>255)throw new u("x, y, z, and w must be unsigned normalized integers between 0 and 255");let f=n*D+o,s=i*D+d;return r.octDecodeInRange(f,s,65535,t)};r.octPackFloat=function(e){return a.defined("encoded",e),256*e.x+e.y};var l=new T;r.octEncodeFloat=function(e){return r.octEncode(e,l),r.octPackFloat(l)};r.octDecodeFloat=function(e,t){a.defined("value",e);let n=e/256,o=Math.floor(n),i=(n-o)*256;return r.octDecode(o,i,t)};r.octPack=function(e,t,n,o){a.defined("v1",e),a.defined("v2",t),a.defined("v3",n),a.defined("result",o);let i=r.octEncodeFloat(e),d=r.octEncodeFloat(t),f=r.octEncode(n,l);return o.x=65536*f.x+i,o.y=65536*f.y+d,o};r.octUnpack=function(e,t,n,o){a.defined("packed",e),a.defined("v1",t),a.defined("v2",n),a.defined("v3",o);let i=e.x/65536,d=Math.floor(i),f=(i-d)*65536;i=e.y/65536;let s=Math.floor(i),m=(i-s)*65536;r.octDecodeFloat(f,t),r.octDecodeFloat(m,n),r.octDecode(d,s,o)};r.compressTextureCoordinates=function(e){a.defined("textureCoordinates",e);let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};r.decompressTextureCoordinates=function(e,t){a.defined("compressed",e),a.defined("result",t);let n=e/4096,o=Math.floor(n);return t.x=o/4095,t.y=(e-o*4096)/4095,t};function g(e){return e>>1^-(e&1)}r.zigZagDeltaDecode=function(e,t,n){a.defined("uBuffer",e),a.defined("vBuffer",t),a.typeOf.number.equals("uBuffer.length","vBuffer.length",e.length,t.length),b(n)&&a.typeOf.number.equals("uBuffer.length","heightBuffer.length",e.length,n.length);let o=e.length,i=0,d=0,f=0;for(let s=0;s<o;++s)i+=g(e[s]),d+=g(t[s]),e[s]=i,t[s]=d,b(n)&&(f+=g(n[s]),n[s]=f)};r.dequantize=function(e,t,n,o){a.defined("typedArray",e),a.defined("componentDatatype",t),a.defined("type",n),a.defined("count",o);let i=N.getNumberOfComponents(n),d;switch(t){case y.BYTE:d=127;break;case y.UNSIGNED_BYTE:d=255;break;case y.SHORT:d=32767;break;case y.UNSIGNED_SHORT:d=65535;break;case y.INT:d=2147483647;break;case y.UNSIGNED_INT:d=4294967295;break;default:throw new u(`Cannot dequantize component datatype: ${t}`)}let f=new Float32Array(o*i);for(let s=0;s<o;s++)for(let m=0;m<i;m++){let p=s*i+m;f[p]=Math.max(e[p]/d,-1)}return f};r.decodeRGB565=function(e,t){a.defined("typedArray",e);let n=e.length*3;b(t)&&a.typeOf.number.equals("result.length","typedArray.length * 3",t.length,n);let o=e.length;b(t)||(t=new Float32Array(o*3));let i=31,d=63,f=1/31,s=1/63;for(let m=0;m<o;m++){let p=e[m],R=p>>11,I=p>>5&d,O=p&i,M=3*m;t[M]=R*f,t[M+1]=I*s,t[M+2]=O*f}return t};var W=r;export{W as a}; +import{a as w,b as z,i as S}from"./chunk-2K72IAMD.js";import{a as y}from"./chunk-GNTVNTUY.js";import{a as C,c as T,e as x}from"./chunk-HWH6BBH6.js";import{a as h}from"./chunk-DW4EQ6YI.js";import{a as u,b as a}from"./chunk-4BGNE6LH.js";import{e as b}from"./chunk-OX5CTLXY.js";var c={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};c.getMathType=function(e){switch(e){case c.SCALAR:return Number;case c.VEC2:return T;case c.VEC3:return C;case c.VEC4:return w;case c.MAT2:return S;case c.MAT3:return x;case c.MAT4:return z;default:throw new u("attributeType is not a valid value.")}};c.getNumberOfComponents=function(e){switch(e){case c.SCALAR:return 1;case c.VEC2:return 2;case c.VEC3:return 3;case c.VEC4:case c.MAT2:return 4;case c.MAT3:return 9;case c.MAT4:return 16;default:throw new u("attributeType is not a valid value.")}};c.getAttributeLocationCount=function(e){switch(e){case c.SCALAR:case c.VEC2:case c.VEC3:case c.VEC4:return 1;case c.MAT2:return 2;case c.MAT3:return 3;case c.MAT4:return 4;default:throw new u("attributeType is not a valid value.")}};c.getGlslType=function(e){switch(a.typeOf.string("attributeType",e),e){case c.SCALAR:return"float";case c.VEC2:return"vec2";case c.VEC3:return"vec3";case c.VEC4:return"vec4";case c.MAT2:return"mat2";case c.MAT3:return"mat3";case c.MAT4:return"mat4";default:throw new u("attributeType is not a valid value.")}};var N=Object.freeze(c);var V=1/256,D=256,r={};r.octEncodeInRange=function(e,t,n){a.defined("vector",e),a.defined("result",n);let o=C.magnitudeSquared(e);if(Math.abs(o-1)>h.EPSILON6)throw new u("vector must be normalized.");if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,d=n.y;n.x=(1-Math.abs(d))*h.signNotZero(i),n.y=(1-Math.abs(i))*h.signNotZero(d)}return n.x=h.toSNorm(n.x,t),n.y=h.toSNorm(n.y,t),n};r.octEncode=function(e,t){return r.octEncodeInRange(e,255,t)};var A=new T,F=new Uint8Array(1);function E(e){return F[0]=e,F[0]}r.octEncodeToCartesian4=function(e,t){return r.octEncodeInRange(e,65535,A),t.x=E(A.x*V),t.y=E(A.x),t.z=E(A.y*V),t.w=E(A.y),t};r.octDecodeInRange=function(e,t,n,o){if(a.defined("result",o),e<0||e>n||t<0||t>n)throw new u(`x and y must be unsigned normalized integers between 0 and ${n}`);if(o.x=h.fromSNorm(e,n),o.y=h.fromSNorm(t,n),o.z=1-(Math.abs(o.x)+Math.abs(o.y)),o.z<0){let i=o.x;o.x=(1-Math.abs(o.y))*h.signNotZero(i),o.y=(1-Math.abs(i))*h.signNotZero(o.y)}return C.normalize(o,o)};r.octDecode=function(e,t,n){return r.octDecodeInRange(e,t,255,n)};r.octDecodeFromCartesian4=function(e,t){a.typeOf.object("encoded",e),a.typeOf.object("result",t);let n=e.x,o=e.y,i=e.z,d=e.w;if(n<0||n>255||o<0||o>255||i<0||i>255||d<0||d>255)throw new u("x, y, z, and w must be unsigned normalized integers between 0 and 255");let f=n*D+o,s=i*D+d;return r.octDecodeInRange(f,s,65535,t)};r.octPackFloat=function(e){return a.defined("encoded",e),256*e.x+e.y};var l=new T;r.octEncodeFloat=function(e){return r.octEncode(e,l),r.octPackFloat(l)};r.octDecodeFloat=function(e,t){a.defined("value",e);let n=e/256,o=Math.floor(n),i=(n-o)*256;return r.octDecode(o,i,t)};r.octPack=function(e,t,n,o){a.defined("v1",e),a.defined("v2",t),a.defined("v3",n),a.defined("result",o);let i=r.octEncodeFloat(e),d=r.octEncodeFloat(t),f=r.octEncode(n,l);return o.x=65536*f.x+i,o.y=65536*f.y+d,o};r.octUnpack=function(e,t,n,o){a.defined("packed",e),a.defined("v1",t),a.defined("v2",n),a.defined("v3",o);let i=e.x/65536,d=Math.floor(i),f=(i-d)*65536;i=e.y/65536;let s=Math.floor(i),m=(i-s)*65536;r.octDecodeFloat(f,t),r.octDecodeFloat(m,n),r.octDecode(d,s,o)};r.compressTextureCoordinates=function(e){a.defined("textureCoordinates",e);let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};r.decompressTextureCoordinates=function(e,t){a.defined("compressed",e),a.defined("result",t);let n=e/4096,o=Math.floor(n);return t.x=o/4095,t.y=(e-o*4096)/4095,t};function g(e){return e>>1^-(e&1)}r.zigZagDeltaDecode=function(e,t,n){a.defined("uBuffer",e),a.defined("vBuffer",t),a.typeOf.number.equals("uBuffer.length","vBuffer.length",e.length,t.length),b(n)&&a.typeOf.number.equals("uBuffer.length","heightBuffer.length",e.length,n.length);let o=e.length,i=0,d=0,f=0;for(let s=0;s<o;++s)i+=g(e[s]),d+=g(t[s]),e[s]=i,t[s]=d,b(n)&&(f+=g(n[s]),n[s]=f)};r.dequantize=function(e,t,n,o){a.defined("typedArray",e),a.defined("componentDatatype",t),a.defined("type",n),a.defined("count",o);let i=N.getNumberOfComponents(n),d;switch(t){case y.BYTE:d=127;break;case y.UNSIGNED_BYTE:d=255;break;case y.SHORT:d=32767;break;case y.UNSIGNED_SHORT:d=65535;break;case y.INT:d=2147483647;break;case y.UNSIGNED_INT:d=4294967295;break;default:throw new u(`Cannot dequantize component datatype: ${t}`)}let f=new Float32Array(o*i);for(let s=0;s<o;s++)for(let m=0;m<i;m++){let p=s*i+m;f[p]=Math.max(e[p]/d,-1)}return f};r.decodeRGB565=function(e,t){a.defined("typedArray",e);let n=e.length*3;b(t)&&a.typeOf.number.equals("result.length","typedArray.length * 3",t.length,n);let o=e.length;b(t)||(t=new Float32Array(o*3));let i=31,d=63,f=1/31,s=1/63;for(let m=0;m<o;m++){let p=e[m],R=p>>11,I=p>>5&d,O=p&i,M=3*m;t[M]=R*f,t[M+1]=I*s,t[M+2]=O*f}return t};var W=r;export{W as a}; diff --git a/public/lib/Cesium/Workers/chunk-6X7WLTTW.js b/public/lib/Cesium/Workers/chunk-BRDKDER4.js similarity index 95% rename from public/lib/Cesium/Workers/chunk-6X7WLTTW.js rename to public/lib/Cesium/Workers/chunk-BRDKDER4.js index b7768b9fe..84b7723bb 100644 --- a/public/lib/Cesium/Workers/chunk-6X7WLTTW.js +++ b/public/lib/Cesium/Workers/chunk-BRDKDER4.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * diff --git a/public/lib/Cesium/Workers/chunk-6KLVDWWE.js b/public/lib/Cesium/Workers/chunk-CJFJKB5V.js similarity index 95% rename from public/lib/Cesium/Workers/chunk-6KLVDWWE.js rename to public/lib/Cesium/Workers/chunk-CJFJKB5V.js index 16b467220..11977006f 100644 --- a/public/lib/Cesium/Workers/chunk-6KLVDWWE.js +++ b/public/lib/Cesium/Workers/chunk-CJFJKB5V.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * diff --git a/public/lib/Cesium/Workers/chunk-YGSEQ273.js b/public/lib/Cesium/Workers/chunk-D76R4V7H.js similarity index 83% rename from public/lib/Cesium/Workers/chunk-YGSEQ273.js rename to public/lib/Cesium/Workers/chunk-D76R4V7H.js index aba2ce67b..52ef6e436 100644 --- a/public/lib/Cesium/Workers/chunk-YGSEQ273.js +++ b/public/lib/Cesium/Workers/chunk-D76R4V7H.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{b as t}from"./chunk-GFUBU5RD.js";import{a as r}from"./chunk-6KLVDWWE.js";import{a as m}from"./chunk-6P5KAIBX.js";import{e as i}from"./chunk-4FSVUTPL.js";function d(e){if(e=r(e,r.EMPTY_OBJECT),!i(e.geometry))throw new m("options.geometry is required.");this.geometry=e.geometry,this.modelMatrix=t.clone(r(e.modelMatrix,t.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=r(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var s=d;export{s as a}; +import{b as t}from"./chunk-2K72IAMD.js";import{a as r}from"./chunk-CJFJKB5V.js";import{a as m}from"./chunk-4BGNE6LH.js";import{e as i}from"./chunk-OX5CTLXY.js";function d(e){if(e=r(e,r.EMPTY_OBJECT),!i(e.geometry))throw new m("options.geometry is required.");this.geometry=e.geometry,this.modelMatrix=t.clone(r(e.modelMatrix,t.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=r(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var s=d;export{s as a}; diff --git a/public/lib/Cesium/Workers/chunk-RAYRECQS.js b/public/lib/Cesium/Workers/chunk-DW4EQ6YI.js similarity index 97% rename from public/lib/Cesium/Workers/chunk-RAYRECQS.js rename to public/lib/Cesium/Workers/chunk-DW4EQ6YI.js index 7b0cbfdd2..c5f761900 100644 --- a/public/lib/Cesium/Workers/chunk-RAYRECQS.js +++ b/public/lib/Cesium/Workers/chunk-DW4EQ6YI.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as f}from"./chunk-6KLVDWWE.js";import{a as n,b as c}from"./chunk-6P5KAIBX.js";import{c as I,d as _,e as o}from"./chunk-4FSVUTPL.js";var P=I((O,d)=>{var u=function(t){t==null&&(t=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,t.constructor==Array?this.init_by_array(t,t.length):this.init_seed(t)};u.prototype.init_seed=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti<this.N;this.mti++){var t=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((t&4294901760)>>>16)*1812433253<<16)+(t&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};u.prototype.init_by_array=function(t,i){var e,s,h;for(this.init_seed(19650218),e=1,s=0,h=this.N>i?this.N:i;h;h--){var a=this.mt[e-1]^this.mt[e-1]>>>30;this.mt[e]=(this.mt[e]^(((a&4294901760)>>>16)*1664525<<16)+(a&65535)*1664525)+t[s]+s,this.mt[e]>>>=0,e++,s++,e>=this.N&&(this.mt[0]=this.mt[this.N-1],e=1),s>=i&&(s=0)}for(h=this.N-1;h;h--){var a=this.mt[e-1]^this.mt[e-1]>>>30;this.mt[e]=(this.mt[e]^(((a&4294901760)>>>16)*1566083941<<16)+(a&65535)*1566083941)-e,this.mt[e]>>>=0,e++,e>=this.N&&(this.mt[0]=this.mt[this.N-1],e=1)}this.mt[0]=2147483648};u.prototype.random_int=function(){var t,i=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var e;for(this.mti==this.N+1&&this.init_seed(5489),e=0;e<this.N-this.M;e++)t=this.mt[e]&this.UPPER_MASK|this.mt[e+1]&this.LOWER_MASK,this.mt[e]=this.mt[e+this.M]^t>>>1^i[t&1];for(;e<this.N-1;e++)t=this.mt[e]&this.UPPER_MASK|this.mt[e+1]&this.LOWER_MASK,this.mt[e]=this.mt[e+(this.M-this.N)]^t>>>1^i[t&1];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^i[t&1],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0};u.prototype.random_int31=function(){return this.random_int()>>>1};u.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};u.prototype.random=function(){return this.random_int()*(1/4294967296)};u.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};u.prototype.random_long=function(){var t=this.random_int()>>>5,i=this.random_int()>>>6;return(t*67108864+i)*(1/9007199254740992)};d.exports=u});var m=_(P(),1);var r={};r.EPSILON1=.1;r.EPSILON2=.01;r.EPSILON3=.001;r.EPSILON4=1e-4;r.EPSILON5=1e-5;r.EPSILON6=1e-6;r.EPSILON7=1e-7;r.EPSILON8=1e-8;r.EPSILON9=1e-9;r.EPSILON10=1e-10;r.EPSILON11=1e-11;r.EPSILON12=1e-12;r.EPSILON13=1e-13;r.EPSILON14=1e-14;r.EPSILON15=1e-15;r.EPSILON16=1e-16;r.EPSILON17=1e-17;r.EPSILON18=1e-18;r.EPSILON19=1e-19;r.EPSILON20=1e-20;r.EPSILON21=1e-21;r.GRAVITATIONALPARAMETER=3986004418e5;r.SOLAR_RADIUS=6955e5;r.LUNAR_RADIUS=1737400;r.SIXTY_FOUR_KILOBYTES=64*1024;r.FOUR_GIGABYTES=4*1024*1024*1024;r.sign=f(Math.sign,function(i){return i=+i,i===0||i!==i?i:i>0?1:-1});r.signNotZero=function(t){return t<0?-1:1};r.toSNorm=function(t,i){return i=f(i,255),Math.round((r.clamp(t,-1,1)*.5+.5)*i)};r.fromSNorm=function(t,i){return i=f(i,255),r.clamp(t,0,i)/i*2-1};r.normalize=function(t,i,e){return e=Math.max(e-i,0),e===0?0:r.clamp((t-i)/e,0,1)};r.sinh=f(Math.sinh,function(i){return(Math.exp(i)-Math.exp(-i))/2});r.cosh=f(Math.cosh,function(i){return(Math.exp(i)+Math.exp(-i))/2});r.lerp=function(t,i,e){return(1-e)*t+e*i};r.PI=Math.PI;r.ONE_OVER_PI=1/Math.PI;r.PI_OVER_TWO=Math.PI/2;r.PI_OVER_THREE=Math.PI/3;r.PI_OVER_FOUR=Math.PI/4;r.PI_OVER_SIX=Math.PI/6;r.THREE_PI_OVER_TWO=3*Math.PI/2;r.TWO_PI=2*Math.PI;r.ONE_OVER_TWO_PI=1/(2*Math.PI);r.RADIANS_PER_DEGREE=Math.PI/180;r.DEGREES_PER_RADIAN=180/Math.PI;r.RADIANS_PER_ARCSECOND=r.RADIANS_PER_DEGREE/3600;r.toRadians=function(t){if(!o(t))throw new n("degrees is required.");return t*r.RADIANS_PER_DEGREE};r.toDegrees=function(t){if(!o(t))throw new n("radians is required.");return t*r.DEGREES_PER_RADIAN};r.convertLongitudeRange=function(t){if(!o(t))throw new n("angle is required.");let i=r.TWO_PI,e=t-Math.floor(t/i)*i;return e<-Math.PI?e+i:e>=Math.PI?e-i:e};r.clampToLatitudeRange=function(t){if(!o(t))throw new n("angle is required.");return r.clamp(t,-1*r.PI_OVER_TWO,r.PI_OVER_TWO)};r.negativePiToPi=function(t){if(!o(t))throw new n("angle is required.");return t>=-r.PI&&t<=r.PI?t:r.zeroToTwoPi(t+r.PI)-r.PI};r.zeroToTwoPi=function(t){if(!o(t))throw new n("angle is required.");if(t>=0&&t<=r.TWO_PI)return t;let i=r.mod(t,r.TWO_PI);return Math.abs(i)<r.EPSILON14&&Math.abs(t)>r.EPSILON14?r.TWO_PI:i};r.mod=function(t,i){if(!o(t))throw new n("m is required.");if(!o(i))throw new n("n is required.");if(i===0)throw new n("divisor cannot be 0.");return r.sign(t)===r.sign(i)&&Math.abs(t)<Math.abs(i)?t:(t%i+i)%i};r.equalsEpsilon=function(t,i,e,s){if(!o(t))throw new n("left is required.");if(!o(i))throw new n("right is required.");e=f(e,0),s=f(s,e);let h=Math.abs(t-i);return h<=s||h<=e*Math.max(Math.abs(t),Math.abs(i))};r.lessThan=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i<-e};r.lessThanOrEquals=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i<e};r.greaterThan=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i>e};r.greaterThanOrEquals=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i>-e};var w=[1];r.factorial=function(t){if(typeof t!="number"||t<0)throw new n("A number greater than or equal to 0 is required.");let i=w.length;if(t>=i){let e=w[i-1];for(let s=i;s<=t;s++){let h=e*s;w.push(h),e=h}}return w[t]};r.incrementWrap=function(t,i,e){if(e=f(e,0),!o(t))throw new n("n is required.");if(i<=e)throw new n("maximumValue must be greater than minimumValue.");return++t,t>i&&(t=e),t};r.isPowerOfTwo=function(t){if(typeof t!="number"||t<0||t>4294967295)throw new n("A number between 0 and (2^32)-1 is required.");return t!==0&&(t&t-1)===0};r.nextPowerOfTwo=function(t){if(typeof t!="number"||t<0||t>2147483648)throw new n("A number between 0 and 2^31 is required.");return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t,t};r.previousPowerOfTwo=function(t){if(typeof t!="number"||t<0||t>4294967295)throw new n("A number between 0 and (2^32)-1 is required.");return t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,t|=t>>32,t=(t>>>0)-(t>>>1),t};r.clamp=function(t,i,e){return c.typeOf.number("value",t),c.typeOf.number("min",i),c.typeOf.number("max",e),t<i?i:t>e?e:t};var E=new m.default;r.setRandomNumberSeed=function(t){if(!o(t))throw new n("seed is required.");E=new m.default(t)};r.nextRandomNumber=function(){return E.random()};r.randomBetween=function(t,i){return r.nextRandomNumber()*(i-t)+t};r.acosClamped=function(t){if(!o(t))throw new n("value is required.");return Math.acos(r.clamp(t,-1,1))};r.asinClamped=function(t){if(!o(t))throw new n("value is required.");return Math.asin(r.clamp(t,-1,1))};r.chordLength=function(t,i){if(!o(t))throw new n("angle is required.");if(!o(i))throw new n("radius is required.");return 2*i*Math.sin(t*.5)};r.logBase=function(t,i){if(!o(t))throw new n("number is required.");if(!o(i))throw new n("base is required.");return Math.log(t)/Math.log(i)};r.cbrt=f(Math.cbrt,function(i){let e=Math.pow(Math.abs(i),.3333333333333333);return i<0?-e:e});r.log2=f(Math.log2,function(i){return Math.log(i)*Math.LOG2E});r.fog=function(t,i){let e=t*i;return 1-Math.exp(-(e*e))};r.fastApproximateAtan=function(t){return c.typeOf.number("x",t),t*(-.1784*Math.abs(t)-.0663*t*t+1.0301)};r.fastApproximateAtan2=function(t,i){c.typeOf.number("x",t),c.typeOf.number("y",i);let e,s=Math.abs(t);e=Math.abs(i);let h=Math.max(s,e);e=Math.min(s,e);let a=e/h;if(isNaN(a))throw new n("either x or y must be nonzero");return s=r.fastApproximateAtan(a),s=Math.abs(i)>Math.abs(t)?r.PI_OVER_TWO-s:s,s=t<0?r.PI-s:s,s=i<0?-s:s,s};var A=r;export{A as a}; +import{a as f}from"./chunk-CJFJKB5V.js";import{a as n,b as c}from"./chunk-4BGNE6LH.js";import{c as I,d as _,e as o}from"./chunk-OX5CTLXY.js";var P=I((O,d)=>{var u=function(t){t==null&&(t=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,t.constructor==Array?this.init_by_array(t,t.length):this.init_seed(t)};u.prototype.init_seed=function(t){for(this.mt[0]=t>>>0,this.mti=1;this.mti<this.N;this.mti++){var t=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((t&4294901760)>>>16)*1812433253<<16)+(t&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};u.prototype.init_by_array=function(t,i){var e,s,h;for(this.init_seed(19650218),e=1,s=0,h=this.N>i?this.N:i;h;h--){var a=this.mt[e-1]^this.mt[e-1]>>>30;this.mt[e]=(this.mt[e]^(((a&4294901760)>>>16)*1664525<<16)+(a&65535)*1664525)+t[s]+s,this.mt[e]>>>=0,e++,s++,e>=this.N&&(this.mt[0]=this.mt[this.N-1],e=1),s>=i&&(s=0)}for(h=this.N-1;h;h--){var a=this.mt[e-1]^this.mt[e-1]>>>30;this.mt[e]=(this.mt[e]^(((a&4294901760)>>>16)*1566083941<<16)+(a&65535)*1566083941)-e,this.mt[e]>>>=0,e++,e>=this.N&&(this.mt[0]=this.mt[this.N-1],e=1)}this.mt[0]=2147483648};u.prototype.random_int=function(){var t,i=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var e;for(this.mti==this.N+1&&this.init_seed(5489),e=0;e<this.N-this.M;e++)t=this.mt[e]&this.UPPER_MASK|this.mt[e+1]&this.LOWER_MASK,this.mt[e]=this.mt[e+this.M]^t>>>1^i[t&1];for(;e<this.N-1;e++)t=this.mt[e]&this.UPPER_MASK|this.mt[e+1]&this.LOWER_MASK,this.mt[e]=this.mt[e+(this.M-this.N)]^t>>>1^i[t&1];t=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^t>>>1^i[t&1],this.mti=0}return t=this.mt[this.mti++],t^=t>>>11,t^=t<<7&2636928640,t^=t<<15&4022730752,t^=t>>>18,t>>>0};u.prototype.random_int31=function(){return this.random_int()>>>1};u.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};u.prototype.random=function(){return this.random_int()*(1/4294967296)};u.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};u.prototype.random_long=function(){var t=this.random_int()>>>5,i=this.random_int()>>>6;return(t*67108864+i)*(1/9007199254740992)};d.exports=u});var m=_(P(),1);var r={};r.EPSILON1=.1;r.EPSILON2=.01;r.EPSILON3=.001;r.EPSILON4=1e-4;r.EPSILON5=1e-5;r.EPSILON6=1e-6;r.EPSILON7=1e-7;r.EPSILON8=1e-8;r.EPSILON9=1e-9;r.EPSILON10=1e-10;r.EPSILON11=1e-11;r.EPSILON12=1e-12;r.EPSILON13=1e-13;r.EPSILON14=1e-14;r.EPSILON15=1e-15;r.EPSILON16=1e-16;r.EPSILON17=1e-17;r.EPSILON18=1e-18;r.EPSILON19=1e-19;r.EPSILON20=1e-20;r.EPSILON21=1e-21;r.GRAVITATIONALPARAMETER=3986004418e5;r.SOLAR_RADIUS=6955e5;r.LUNAR_RADIUS=1737400;r.SIXTY_FOUR_KILOBYTES=64*1024;r.FOUR_GIGABYTES=4*1024*1024*1024;r.sign=f(Math.sign,function(i){return i=+i,i===0||i!==i?i:i>0?1:-1});r.signNotZero=function(t){return t<0?-1:1};r.toSNorm=function(t,i){return i=f(i,255),Math.round((r.clamp(t,-1,1)*.5+.5)*i)};r.fromSNorm=function(t,i){return i=f(i,255),r.clamp(t,0,i)/i*2-1};r.normalize=function(t,i,e){return e=Math.max(e-i,0),e===0?0:r.clamp((t-i)/e,0,1)};r.sinh=f(Math.sinh,function(i){return(Math.exp(i)-Math.exp(-i))/2});r.cosh=f(Math.cosh,function(i){return(Math.exp(i)+Math.exp(-i))/2});r.lerp=function(t,i,e){return(1-e)*t+e*i};r.PI=Math.PI;r.ONE_OVER_PI=1/Math.PI;r.PI_OVER_TWO=Math.PI/2;r.PI_OVER_THREE=Math.PI/3;r.PI_OVER_FOUR=Math.PI/4;r.PI_OVER_SIX=Math.PI/6;r.THREE_PI_OVER_TWO=3*Math.PI/2;r.TWO_PI=2*Math.PI;r.ONE_OVER_TWO_PI=1/(2*Math.PI);r.RADIANS_PER_DEGREE=Math.PI/180;r.DEGREES_PER_RADIAN=180/Math.PI;r.RADIANS_PER_ARCSECOND=r.RADIANS_PER_DEGREE/3600;r.toRadians=function(t){if(!o(t))throw new n("degrees is required.");return t*r.RADIANS_PER_DEGREE};r.toDegrees=function(t){if(!o(t))throw new n("radians is required.");return t*r.DEGREES_PER_RADIAN};r.convertLongitudeRange=function(t){if(!o(t))throw new n("angle is required.");let i=r.TWO_PI,e=t-Math.floor(t/i)*i;return e<-Math.PI?e+i:e>=Math.PI?e-i:e};r.clampToLatitudeRange=function(t){if(!o(t))throw new n("angle is required.");return r.clamp(t,-1*r.PI_OVER_TWO,r.PI_OVER_TWO)};r.negativePiToPi=function(t){if(!o(t))throw new n("angle is required.");return t>=-r.PI&&t<=r.PI?t:r.zeroToTwoPi(t+r.PI)-r.PI};r.zeroToTwoPi=function(t){if(!o(t))throw new n("angle is required.");if(t>=0&&t<=r.TWO_PI)return t;let i=r.mod(t,r.TWO_PI);return Math.abs(i)<r.EPSILON14&&Math.abs(t)>r.EPSILON14?r.TWO_PI:i};r.mod=function(t,i){if(!o(t))throw new n("m is required.");if(!o(i))throw new n("n is required.");if(i===0)throw new n("divisor cannot be 0.");return r.sign(t)===r.sign(i)&&Math.abs(t)<Math.abs(i)?t:(t%i+i)%i};r.equalsEpsilon=function(t,i,e,s){if(!o(t))throw new n("left is required.");if(!o(i))throw new n("right is required.");e=f(e,0),s=f(s,e);let h=Math.abs(t-i);return h<=s||h<=e*Math.max(Math.abs(t),Math.abs(i))};r.lessThan=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i<-e};r.lessThanOrEquals=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i<e};r.greaterThan=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i>e};r.greaterThanOrEquals=function(t,i,e){if(!o(t))throw new n("first is required.");if(!o(i))throw new n("second is required.");if(!o(e))throw new n("absoluteEpsilon is required.");return t-i>-e};var w=[1];r.factorial=function(t){if(typeof t!="number"||t<0)throw new n("A number greater than or equal to 0 is required.");let i=w.length;if(t>=i){let e=w[i-1];for(let s=i;s<=t;s++){let h=e*s;w.push(h),e=h}}return w[t]};r.incrementWrap=function(t,i,e){if(e=f(e,0),!o(t))throw new n("n is required.");if(i<=e)throw new n("maximumValue must be greater than minimumValue.");return++t,t>i&&(t=e),t};r.isPowerOfTwo=function(t){if(typeof t!="number"||t<0||t>4294967295)throw new n("A number between 0 and (2^32)-1 is required.");return t!==0&&(t&t-1)===0};r.nextPowerOfTwo=function(t){if(typeof t!="number"||t<0||t>2147483648)throw new n("A number between 0 and 2^31 is required.");return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t,t};r.previousPowerOfTwo=function(t){if(typeof t!="number"||t<0||t>4294967295)throw new n("A number between 0 and (2^32)-1 is required.");return t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,t|=t>>32,t=(t>>>0)-(t>>>1),t};r.clamp=function(t,i,e){return c.typeOf.number("value",t),c.typeOf.number("min",i),c.typeOf.number("max",e),t<i?i:t>e?e:t};var E=new m.default;r.setRandomNumberSeed=function(t){if(!o(t))throw new n("seed is required.");E=new m.default(t)};r.nextRandomNumber=function(){return E.random()};r.randomBetween=function(t,i){return r.nextRandomNumber()*(i-t)+t};r.acosClamped=function(t){if(!o(t))throw new n("value is required.");return Math.acos(r.clamp(t,-1,1))};r.asinClamped=function(t){if(!o(t))throw new n("value is required.");return Math.asin(r.clamp(t,-1,1))};r.chordLength=function(t,i){if(!o(t))throw new n("angle is required.");if(!o(i))throw new n("radius is required.");return 2*i*Math.sin(t*.5)};r.logBase=function(t,i){if(!o(t))throw new n("number is required.");if(!o(i))throw new n("base is required.");return Math.log(t)/Math.log(i)};r.cbrt=f(Math.cbrt,function(i){let e=Math.pow(Math.abs(i),.3333333333333333);return i<0?-e:e});r.log2=f(Math.log2,function(i){return Math.log(i)*Math.LOG2E});r.fog=function(t,i){let e=t*i;return 1-Math.exp(-(e*e))};r.fastApproximateAtan=function(t){return c.typeOf.number("x",t),t*(-.1784*Math.abs(t)-.0663*t*t+1.0301)};r.fastApproximateAtan2=function(t,i){c.typeOf.number("x",t),c.typeOf.number("y",i);let e,s=Math.abs(t);e=Math.abs(i);let h=Math.max(s,e);e=Math.min(s,e);let a=e/h;if(isNaN(a))throw new n("either x or y must be nonzero");return s=r.fastApproximateAtan(a),s=Math.abs(i)>Math.abs(t)?r.PI_OVER_TWO-s:s,s=t<0?r.PI-s:s,s=i<0?-s:s,s};var A=r;export{A as a}; diff --git a/public/lib/Cesium/Workers/chunk-WFZLZ2P5.js b/public/lib/Cesium/Workers/chunk-E2XIHPTZ.js similarity index 90% rename from public/lib/Cesium/Workers/chunk-WFZLZ2P5.js rename to public/lib/Cesium/Workers/chunk-E2XIHPTZ.js index c27b2e81e..3f10bafeb 100644 --- a/public/lib/Cesium/Workers/chunk-WFZLZ2P5.js +++ b/public/lib/Cesium/Workers/chunk-E2XIHPTZ.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as e}from"./chunk-6KLVDWWE.js";function a(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.bitangent=t.bitangent,this.tangent=t.tangent,this.color=t.color}var i=a;export{i as a}; +import{a as e}from"./chunk-CJFJKB5V.js";function a(t){t=e(t,e.EMPTY_OBJECT),this.position=t.position,this.normal=t.normal,this.st=t.st,this.bitangent=t.bitangent,this.tangent=t.tangent,this.color=t.color}var i=a;export{i as a}; diff --git a/public/lib/Cesium/Workers/chunk-PFE76RUV.js b/public/lib/Cesium/Workers/chunk-EXYLABM3.js similarity index 97% rename from public/lib/Cesium/Workers/chunk-PFE76RUV.js rename to public/lib/Cesium/Workers/chunk-EXYLABM3.js index c355ebedc..b8f959eab 100644 --- a/public/lib/Cesium/Workers/chunk-PFE76RUV.js +++ b/public/lib/Cesium/Workers/chunk-EXYLABM3.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as et}from"./chunk-S5WIMI2N.js";import{a as jt}from"./chunk-QTX6TFJQ.js";import{b as Lt}from"./chunk-P75RMBWR.js";import{a as Et}from"./chunk-UKRRGB4P.js";import{a as j}from"./chunk-UGB43LJM.js";import{a as mt,b as D,c as B,d as U}from"./chunk-CTEHZS7O.js";import{a as _t,b as Ut,d as rt}from"./chunk-4TXI27XR.js";import{a as dt,b as H}from"./chunk-GFUBU5RD.js";import{a as k}from"./chunk-27UWHT4D.js";import{a as r,b as Mt,c as R,e as Ot}from"./chunk-RFPX772U.js";import{a as N}from"./chunk-RAYRECQS.js";import{a as K}from"./chunk-6KLVDWWE.js";import{a as I,b as pt}from"./chunk-6P5KAIBX.js";import{e as f}from"./chunk-4FSVUTPL.js";var Yt=new r,Zt=new r,Xt=new r;function pe(t,e,n,s,i){pt.defined("point",t),pt.defined("p0",e),pt.defined("p1",n),pt.defined("p2",s),f(i)||(i=new r);let c,o,a,p,u,d,m,l;if(f(e.z)){if(r.equalsEpsilon(t,e,N.EPSILON14))return r.clone(r.UNIT_X,i);if(r.equalsEpsilon(t,n,N.EPSILON14))return r.clone(r.UNIT_Y,i);if(r.equalsEpsilon(t,s,N.EPSILON14))return r.clone(r.UNIT_Z,i);c=r.subtract(n,e,Yt),o=r.subtract(s,e,Zt),a=r.subtract(t,e,Xt),p=r.dot(c,c),u=r.dot(c,o),d=r.dot(c,a),m=r.dot(o,o),l=r.dot(o,a)}else{if(R.equalsEpsilon(t,e,N.EPSILON14))return r.clone(r.UNIT_X,i);if(R.equalsEpsilon(t,n,N.EPSILON14))return r.clone(r.UNIT_Y,i);if(R.equalsEpsilon(t,s,N.EPSILON14))return r.clone(r.UNIT_Z,i);c=R.subtract(n,e,Yt),o=R.subtract(s,e,Zt),a=R.subtract(t,e,Xt),p=R.dot(c,c),u=R.dot(c,o),d=R.dot(c,a),m=R.dot(o,o),l=R.dot(o,a)}i.y=m*d-u*l,i.z=p*l-u*d;let h=p*m-u*u;if(h!==0)return i.y/=h,i.z/=h,i.x=1-i.y-i.z,i}var Ht=pe;var Nt={};Nt.calculateACMR=function(t){t=K(t,K.EMPTY_OBJECT);let e=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24);if(!f(e))throw new I("indices is required.");let i=e.length;if(i<3||i%3!==0)throw new I("indices length must be a multiple of three.");if(n<=0)throw new I("maximumIndex must be greater than zero.");if(s<3)throw new I("cacheSize must be greater than two.");if(!f(n)){n=0;let a=0,p=e[a];for(;a<i;)p>n&&(n=p),++a,p=e[a]}let c=[];for(let a=0;a<n+1;a++)c[a]=0;let o=s+1;for(let a=0;a<i;++a)o-c[e[a]]>s&&(c[e[a]]=o,++o);return(o-s+1)/(i/3)};Nt.tipsify=function(t){t=K(t,K.EMPTY_OBJECT);let e=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24),i;function c(C,z,q,V){for(;z.length>=1;){let G=z[z.length-1];if(z.splice(z.length-1,1),C[G].numLiveTriangles>0)return G}for(;i<V;){if(C[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(C,z,q,V,G,M,J){let Y=-1,_,Pt=-1,gt=0;for(;gt<q.length;){let ft=q[gt];V[ft].numLiveTriangles&&(_=0,G-V[ft].timeStamp+2*V[ft].numLiveTriangles<=z&&(_=G-V[ft].timeStamp),(_>Pt||Pt===-1)&&(Pt=_,Y=ft)),++gt}return Y===-1?c(V,M,C,J):Y}if(!f(e))throw new I("indices is required.");let a=e.length;if(a<3||a%3!==0)throw new I("indices length must be a multiple of three.");if(n<=0)throw new I("maximumIndex must be greater than zero.");if(s<3)throw new I("cacheSize must be greater than two.");let p=0,u=0,d=e[u],m=a;if(f(n))p=n+1;else{for(;u<m;)d>p&&(p=d),++u,d=e[u];if(p===-1)return 0;++p}let l=[],h;for(h=0;h<p;h++)l[h]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;let y=0;for(;u<m;)l[e[u]].vertexTriangles.push(y),++l[e[u]].numLiveTriangles,l[e[u+1]].vertexTriangles.push(y),++l[e[u+1]].numLiveTriangles,l[e[u+2]].vertexTriangles.push(y),++l[e[u+2]].numLiveTriangles,++y,u+=3;let v=0,b=s+1;i=1;let S=[],x=[],w,A,E=0,P=[],O=a/3,L=[];for(h=0;h<O;h++)L[h]=!1;let g,T;for(;v!==-1;){S=[],A=l[v],T=A.vertexTriangles.length;for(let C=0;C<T;++C)if(y=A.vertexTriangles[C],!L[y]){L[y]=!0,u=y+y+y;for(let z=0;z<3;++z)g=e[u],S.push(g),x.push(g),P[E]=g,++E,w=l[g],--w.numLiveTriangles,b-w.timeStamp>s&&(w.timeStamp=b,++b),++u}v=o(e,s,S,l,b,x,p)}return P};var Wt=Nt;var F={};function St(t,e,n,s,i){t[e++]=n,t[e++]=s,t[e++]=s,t[e++]=i,t[e++]=i,t[e]=n}function de(t){let e=t.length,n=e/3*6,s=j.createTypedArray(e,n),i=0;for(let c=0;c<e;c+=3,i+=6)St(s,i,t[c],t[c+1],t[c+2]);return s}function me(t){let e=t.length;if(e>=3){let n=(e-2)*6,s=j.createTypedArray(e,n);St(s,0,t[0],t[1],t[2]);let i=6;for(let c=3;c<e;++c,i+=6)St(s,i,t[c-1],t[c],t[c-2]);return s}return new Uint16Array}function he(t){if(t.length>0){let e=t.length-1,n=(e-1)*6,s=j.createTypedArray(e,n),i=t[0],c=0;for(let o=1;o<e;++o,c+=6)St(s,c,i,t[o],t[o+1]);return s}return new Uint16Array}F.toWireframe=function(t){if(!f(t))throw new I("geometry is required.");let e=t.indices;if(f(e)){switch(t.primitiveType){case D.TRIANGLES:t.indices=de(e);break;case D.TRIANGLE_STRIP:t.indices=me(e);break;case D.TRIANGLE_FAN:t.indices=he(e);break;default:throw new I("geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.")}t.primitiveType=D.LINES}return t};F.createLineSegmentsForVectors=function(t,e,n){if(e=K(e,"normal"),!f(t))throw new I("geometry is required.");if(!f(t.attributes.position))throw new I("geometry.attributes.position is required.");if(!f(t.attributes[e]))throw new I(`geometry.attributes must have an attribute with the same name as the attributeName parameter, ${e}.`);n=K(n,1e4);let s=t.attributes.position.values,i=t.attributes[e].values,c=s.length,o=new Float64Array(2*c),a=0;for(let d=0;d<c;d+=3)o[a++]=s[d],o[a++]=s[d+1],o[a++]=s[d+2],o[a++]=s[d]+i[d]*n,o[a++]=s[d+1]+i[d+1]*n,o[a++]=s[d+2]+i[d+2]*n;let p,u=t.boundingSphere;return f(u)&&(p=new rt(u.center,u.radius+n)),new B({attributes:{position:new U({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:o})},primitiveType:D.LINES,boundingSphere:p})};F.createAttributeLocations=function(t){if(!f(t))throw new I("geometry is required.");let e=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=t.attributes,s={},i=0,c,o=e.length;for(c=0;c<o;++c){let a=e[c];f(n[a])&&(s[a]=i++)}for(let a in n)n.hasOwnProperty(a)&&!f(s[a])&&(s[a]=i++);return s};F.reorderForPreVertexCache=function(t){if(!f(t))throw new I("geometry is required.");let e=B.computeNumberOfVertices(t),n=t.indices;if(f(n)){let s=new Int32Array(e);for(let l=0;l<e;l++)s[l]=-1;let i=n,c=i.length,o=j.createTypedArray(e,c),a=0,p=0,u=0,d;for(;a<c;)d=s[i[a]],d!==-1?o[p]=d:(d=i[a],s[d]=u,o[p]=u,++u),++a,++p;t.indices=o;let m=t.attributes;for(let l in m)if(m.hasOwnProperty(l)&&f(m[l])&&f(m[l].values)){let h=m[l],y=h.values,v=0,b=h.componentsPerAttribute,S=k.createTypedArray(h.componentDatatype,u*b);for(;v<e;){let x=s[v];if(x!==-1)for(let w=0;w<b;w++)S[b*x+w]=y[b*v+w];++v}h.values=S}}return t};F.reorderForPostVertexCache=function(t,e){if(!f(t))throw new I("geometry is required.");let n=t.indices;if(t.primitiveType===D.TRIANGLES&&f(n)){let s=n.length,i=0;for(let c=0;c<s;c++)n[c]>i&&(i=n[c]);t.indices=Wt.tipsify({indices:n,maximumIndex:i,cacheSize:e})}return t};function $t(t){let e={};for(let n in t)if(t.hasOwnProperty(n)&&f(t[n])&&f(t[n].values)){let s=t[n];e[n]=new U({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:[]})}return e}function be(t,e,n){for(let s in e)if(e.hasOwnProperty(s)&&f(e[s])&&f(e[s].values)){let i=e[s];for(let c=0;c<i.componentsPerAttribute;++c)t[s].values.push(i.values[n*i.componentsPerAttribute+c])}}F.fitToUnsignedShortIndices=function(t){if(!f(t))throw new I("geometry is required.");if(f(t.indices)&&t.primitiveType!==D.TRIANGLES&&t.primitiveType!==D.LINES&&t.primitiveType!==D.POINTS)throw new I("geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS.");let e=[],n=B.computeNumberOfVertices(t);if(f(t.indices)&&n>=N.SIXTY_FOUR_KILOBYTES){let s=[],i=[],c=0,o=$t(t.attributes),a=t.indices,p=a.length,u;t.primitiveType===D.TRIANGLES?u=3:t.primitiveType===D.LINES?u=2:t.primitiveType===D.POINTS&&(u=1);for(let d=0;d<p;d+=u){for(let m=0;m<u;++m){let l=a[d+m],h=s[l];f(h)||(h=c++,s[l]=h,be(o,t.attributes,l)),i.push(h)}c+u>=N.SIXTY_FOUR_KILOBYTES&&(e.push(new B({attributes:o,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere,boundingSphereCV:t.boundingSphereCV})),s=[],i=[],c=0,o=$t(t.attributes))}i.length!==0&&e.push(new B({attributes:o,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere,boundingSphereCV:t.boundingSphereCV}))}else e.push(t);return e};var Jt=new r,we=new Mt;F.projectTo2D=function(t,e,n,s,i){if(!f(t))throw new I("geometry is required.");if(!f(e))throw new I("attributeName is required.");if(!f(n))throw new I("attributeName3D is required.");if(!f(s))throw new I("attributeName2D is required.");if(!f(t.attributes[e]))throw new I(`geometry must have attribute matching the attributeName argument: ${e}.`);if(t.attributes[e].componentDatatype!==k.DOUBLE)throw new I("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");let c=t.attributes[e];i=f(i)?i:new _t;let o=i.ellipsoid,a=c.values,p=new Float64Array(a.length),u=0;for(let d=0;d<a.length;d+=3){let m=r.fromArray(a,d,Jt),l=o.cartesianToCartographic(m,we);if(!f(l))throw new I(`Could not project point (${m.x}, ${m.y}, ${m.z}) to 2D.`);let h=i.project(l,Jt);p[u++]=h.x,p[u++]=h.y,p[u++]=h.z}return t.attributes[n]=c,t.attributes[s]=new U({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:p}),delete t.attributes[e],t};var zt={high:0,low:0};F.encodeAttribute=function(t,e,n,s){if(!f(t))throw new I("geometry is required.");if(!f(e))throw new I("attributeName is required.");if(!f(n))throw new I("attributeHighName is required.");if(!f(s))throw new I("attributeLowName is required.");if(!f(t.attributes[e]))throw new I(`geometry must have attribute matching the attributeName argument: ${e}.`);if(t.attributes[e].componentDatatype!==k.DOUBLE)throw new I("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");let i=t.attributes[e],c=i.values,o=c.length,a=new Float32Array(o),p=new Float32Array(o);for(let d=0;d<o;++d)jt.encode(c[d],zt),a[d]=zt.high,p[d]=zt.low;let u=i.componentsPerAttribute;return t.attributes[n]=new U({componentDatatype:k.FLOAT,componentsPerAttribute:u,values:a}),t.attributes[s]=new U({componentDatatype:k.FLOAT,componentsPerAttribute:u,values:p}),delete t.attributes[e],t};var $=new r;function Dt(t,e){if(f(e)){let n=e.values,s=n.length;for(let i=0;i<s;i+=3)r.unpack(n,i,$),H.multiplyByPoint(t,$,$),r.pack($,n,i)}}function qt(t,e){if(f(e)){let n=e.values,s=n.length;for(let i=0;i<s;i+=3)r.unpack(n,i,$),Ot.multiplyByVector(t,$,$),$=r.normalize($,$),r.pack($,n,i)}}var vt=new H,yt=new Ot;F.transformToWorldCoordinates=function(t){if(!f(t))throw new I("instance is required.");let e=t.modelMatrix;if(H.equals(e,H.IDENTITY))return t;let n=t.geometry.attributes;Dt(e,n.position),Dt(e,n.prevPosition),Dt(e,n.nextPosition),(f(n.normal)||f(n.tangent)||f(n.bitangent))&&(H.inverse(e,vt),H.transpose(vt,vt),H.getMatrix3(vt,yt),qt(yt,n.normal),qt(yt,n.tangent),qt(yt,n.bitangent));let s=t.geometry.boundingSphere;return f(s)&&(t.geometry.boundingSphere=rt.transform(s,e,s)),t.modelMatrix=H.clone(H.IDENTITY),t};function ve(t,e){let n=t.length,s={},i=t[0][e].attributes,c;for(c in i)if(i.hasOwnProperty(c)&&f(i[c])&&f(i[c].values)){let o=i[c],a=o.values.length,p=!0;for(let u=1;u<n;++u){let d=t[u][e].attributes[c];if(!f(d)||o.componentDatatype!==d.componentDatatype||o.componentsPerAttribute!==d.componentsPerAttribute||o.normalize!==d.normalize){p=!1;break}a+=d.values.length}p&&(s[c]=new U({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:k.createTypedArray(o.componentDatatype,a)}))}return s}var ye=new r;function Vt(t,e){let n=t.length,s,i,c,o,a=t[0].modelMatrix,p=f(t[0][e].indices),u=t[0][e].primitiveType;for(i=1;i<n;++i){if(!H.equals(t[i].modelMatrix,a))throw new I("All instances must have the same modelMatrix.");if(f(t[i][e].indices)!==p)throw new I("All instance geometries must have an indices or not have one.");if(t[i][e].primitiveType!==u)throw new I("All instance geometries must have the same primitiveType.")}let d=ve(t,e),m,l,h;for(s in d)if(d.hasOwnProperty(s))for(m=d[s].values,o=0,i=0;i<n;++i)for(l=t[i][e].attributes[s].values,h=l.length,c=0;c<h;++c)m[o++]=l[c];let y;if(p){let x=0;for(i=0;i<n;++i)x+=t[i][e].indices.length;let w=B.computeNumberOfVertices(new B({attributes:d,primitiveType:D.POINTS})),A=j.createTypedArray(w,x),E=0,P=0;for(i=0;i<n;++i){let O=t[i][e].indices,L=O.length;for(o=0;o<L;++o)A[E++]=P+O[o];P+=B.computeNumberOfVertices(t[i][e])}y=A}let v=new r,b=0,S;for(i=0;i<n;++i){if(S=t[i][e].boundingSphere,!f(S)){v=void 0;break}r.add(S.center,v,v)}if(f(v))for(r.divideByScalar(v,n,v),i=0;i<n;++i){S=t[i][e].boundingSphere;let x=r.magnitude(r.subtract(S.center,v,ye))+S.radius;x>b&&(b=x)}return new B({attributes:d,indices:y,primitiveType:u,boundingSphere:f(v)?new rt(v,b):void 0})}F.combineInstances=function(t){if(!f(t)||t.length<1)throw new I("instances is required and must have length greater than zero.");let e=[],n=[],s=t.length;for(let c=0;c<s;++c){let o=t[c];f(o.geometry)?e.push(o):f(o.westHemisphereGeometry)&&f(o.eastHemisphereGeometry)&&n.push(o)}let i=[];return e.length>0&&i.push(Vt(e,"geometry")),n.length>0&&(i.push(Vt(n,"westHemisphereGeometry")),i.push(Vt(n,"eastHemisphereGeometry"))),i};var Z=new r,ht=new r,ct=new r,at=new r;F.computeNormal=function(t){if(!f(t))throw new I("geometry is required.");if(!f(t.attributes.position)||!f(t.attributes.position.values))throw new I("geometry.attributes.position.values is required.");if(!f(t.indices))throw new I("geometry.indices is required.");if(t.indices.length<2||t.indices.length%3!==0)throw new I("geometry.indices length must be greater than 0 and be a multiple of 3.");if(t.primitiveType!==D.TRIANGLES)throw new I("geometry.primitiveType must be PrimitiveType.TRIANGLES.");let e=t.indices,n=t.attributes,s=n.position.values,i=n.position.values.length/3,c=e.length,o=new Array(i),a=new Array(c/3),p=new Array(c),u;for(u=0;u<i;u++)o[u]={indexOffset:0,count:0,currentCount:0};let d=0;for(u=0;u<c;u+=3){let y=e[u],v=e[u+1],b=e[u+2],S=y*3,x=v*3,w=b*3;ht.x=s[S],ht.y=s[S+1],ht.z=s[S+2],ct.x=s[x],ct.y=s[x+1],ct.z=s[x+2],at.x=s[w],at.y=s[w+1],at.z=s[w+2],o[y].count++,o[v].count++,o[b].count++,r.subtract(ct,ht,ct),r.subtract(at,ht,at),a[d]=r.cross(ct,at,new r),d++}let m=0;for(u=0;u<i;u++)o[u].indexOffset+=m,m+=o[u].count;d=0;let l;for(u=0;u<c;u+=3){l=o[e[u]];let y=l.indexOffset+l.currentCount;p[y]=d,l.currentCount++,l=o[e[u+1]],y=l.indexOffset+l.currentCount,p[y]=d,l.currentCount++,l=o[e[u+2]],y=l.indexOffset+l.currentCount,p[y]=d,l.currentCount++,d++}let h=new Float32Array(i*3);for(u=0;u<i;u++){let y=u*3;if(l=o[u],r.clone(r.ZERO,Z),l.count>0){for(d=0;d<l.count;d++)r.add(Z,a[p[l.indexOffset+d]],Z);r.equalsEpsilon(r.ZERO,Z,N.EPSILON10)&&r.clone(a[p[l.indexOffset]],Z)}r.equalsEpsilon(r.ZERO,Z,N.EPSILON10)&&(Z.z=1),r.normalize(Z,Z),h[y]=Z.x,h[y+1]=Z.y,h[y+2]=Z.z}return t.attributes.normal=new U({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:h}),t};var xe=new r,Kt=new r,Te=new r;F.computeTangentAndBitangent=function(t){if(!f(t))throw new I("geometry is required.");let e=t.attributes,n=t.indices;if(!f(e.position)||!f(e.position.values))throw new I("geometry.attributes.position.values is required.");if(!f(e.normal)||!f(e.normal.values))throw new I("geometry.attributes.normal.values is required.");if(!f(e.st)||!f(e.st.values))throw new I("geometry.attributes.st.values is required.");if(!f(n))throw new I("geometry.indices is required.");if(n.length<2||n.length%3!==0)throw new I("geometry.indices length must be greater than 0 and be a multiple of 3.");if(t.primitiveType!==D.TRIANGLES)throw new I("geometry.primitiveType must be PrimitiveType.TRIANGLES.");let s=t.attributes.position.values,i=t.attributes.normal.values,c=t.attributes.st.values,o=t.attributes.position.values.length/3,a=n.length,p=new Array(o*3),u;for(u=0;u<p.length;u++)p[u]=0;let d,m,l;for(u=0;u<a;u+=3){let v=n[u],b=n[u+1],S=n[u+2];d=v*3,m=b*3,l=S*3;let x=v*2,w=b*2,A=S*2,E=s[d],P=s[d+1],O=s[d+2],L=c[x],g=c[x+1],T=c[w+1]-g,C=c[A+1]-g,z=1/((c[w]-L)*C-(c[A]-L)*T),q=(C*(s[m]-E)-T*(s[l]-E))*z,V=(C*(s[m+1]-P)-T*(s[l+1]-P))*z,G=(C*(s[m+2]-O)-T*(s[l+2]-O))*z;p[d]+=q,p[d+1]+=V,p[d+2]+=G,p[m]+=q,p[m+1]+=V,p[m+2]+=G,p[l]+=q,p[l+1]+=V,p[l+2]+=G}let h=new Float32Array(o*3),y=new Float32Array(o*3);for(u=0;u<o;u++){d=u*3,m=d+1,l=d+2;let v=r.fromArray(i,d,xe),b=r.fromArray(p,d,Te),S=r.dot(v,b);r.multiplyByScalar(v,S,Kt),r.normalize(r.subtract(b,Kt,b),b),h[d]=b.x,h[m]=b.y,h[l]=b.z,r.normalize(r.cross(v,b,b),b),y[d]=b.x,y[m]=b.y,y[l]=b.z}return t.attributes.tangent=new U({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:h}),t.attributes.bitangent=new U({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:y}),t};var bt=new R,W=new r,Qt=new r,te=new r,xt=new R;F.compressVertices=function(t){if(!f(t))throw new I("geometry is required.");let e=t.attributes.extrudeDirection,n,s;if(f(e)){let P=e.values;s=P.length/3;let O=new Float32Array(s*2),L=0;for(n=0;n<s;++n){if(r.fromArray(P,n*3,W),r.equals(W,r.ZERO)){L+=2;continue}xt=et.octEncodeInRange(W,65535,xt),O[L++]=xt.x,O[L++]=xt.y}return t.attributes.compressedAttributes=new U({componentDatatype:k.FLOAT,componentsPerAttribute:2,values:O}),delete t.attributes.extrudeDirection,t}let i=t.attributes.normal,c=t.attributes.st,o=f(i),a=f(c);if(!o&&!a)return t;let p=t.attributes.tangent,u=t.attributes.bitangent,d=f(p),m=f(u),l,h,y,v;o&&(l=i.values),a&&(h=c.values),d&&(y=p.values),m&&(v=u.values),s=(o?l.length:h.length)/(o?3:2);let x=s,w=a&&o?2:1;w+=d||m?1:0,x*=w;let A=new Float32Array(x),E=0;for(n=0;n<s;++n){a&&(R.fromArray(h,n*2,bt),A[E++]=et.compressTextureCoordinates(bt));let P=n*3;o&&f(y)&&f(v)?(r.fromArray(l,P,W),r.fromArray(y,P,Qt),r.fromArray(v,P,te),et.octPack(W,Qt,te,bt),A[E++]=bt.x,A[E++]=bt.y):(o&&(r.fromArray(l,P,W),A[E++]=et.octEncodeFloat(W)),d&&(r.fromArray(y,P,W),A[E++]=et.octEncodeFloat(W)),m&&(r.fromArray(v,P,W),A[E++]=et.octEncodeFloat(W)))}return t.attributes.compressedAttributes=new U({componentDatatype:k.FLOAT,componentsPerAttribute:w,values:A}),o&&delete t.attributes.normal,a&&delete t.attributes.st,m&&delete t.attributes.bitangent,d&&delete t.attributes.tangent,t};function Ae(t){if(f(t.indices))return t;let e=B.computeNumberOfVertices(t);if(e<3)throw new I("The number of vertices must be at least three.");if(e%3!==0)throw new I("The number of vertices must be a multiple of three.");let n=j.createTypedArray(e,e);for(let s=0;s<e;++s)n[s]=s;return t.indices=n,t}function Ie(t){let e=B.computeNumberOfVertices(t);if(e<3)throw new I("The number of vertices must be at least three.");let n=j.createTypedArray(e,(e-2)*3);n[0]=1,n[1]=0,n[2]=2;let s=3;for(let i=3;i<e;++i)n[s++]=i-1,n[s++]=0,n[s++]=i;return t.indices=n,t.primitiveType=D.TRIANGLES,t}function Se(t){let e=B.computeNumberOfVertices(t);if(e<3)throw new I("The number of vertices must be at least 3.");let n=j.createTypedArray(e,(e-2)*3);n[0]=0,n[1]=1,n[2]=2,e>3&&(n[3]=0,n[4]=2,n[5]=3);let s=6;for(let i=3;i<e-1;i+=2)n[s++]=i,n[s++]=i-1,n[s++]=i+1,i+2<e&&(n[s++]=i,n[s++]=i+1,n[s++]=i+2);return t.indices=n,t.primitiveType=D.TRIANGLES,t}function Pe(t){if(f(t.indices))return t;let e=B.computeNumberOfVertices(t);if(e<2)throw new I("The number of vertices must be at least two.");if(e%2!==0)throw new I("The number of vertices must be a multiple of 2.");let n=j.createTypedArray(e,e);for(let s=0;s<e;++s)n[s]=s;return t.indices=n,t}function ge(t){let e=B.computeNumberOfVertices(t);if(e<2)throw new I("The number of vertices must be at least two.");let n=j.createTypedArray(e,(e-1)*2);n[0]=0,n[1]=1;let s=2;for(let i=2;i<e;++i)n[s++]=i-1,n[s++]=i;return t.indices=n,t.primitiveType=D.LINES,t}function Oe(t){let e=B.computeNumberOfVertices(t);if(e<2)throw new I("The number of vertices must be at least two.");let n=j.createTypedArray(e,e*2);n[0]=0,n[1]=1;let s=2;for(let i=2;i<e;++i)n[s++]=i-1,n[s++]=i;return n[s++]=e-1,n[s]=0,t.indices=n,t.primitiveType=D.LINES,t}function Le(t){switch(t.primitiveType){case D.TRIANGLE_FAN:return Ie(t);case D.TRIANGLE_STRIP:return Se(t);case D.TRIANGLES:return Ae(t);case D.LINE_STRIP:return ge(t);case D.LINE_LOOP:return Oe(t);case D.LINES:return Pe(t)}return t}function tt(t,e){Math.abs(t.y)<N.EPSILON6&&(e?t.y=-N.EPSILON6:t.y=N.EPSILON6)}function Ee(t,e,n){if(t.y!==0&&e.y!==0&&n.y!==0){tt(t,t.y<0),tt(e,e.y<0),tt(n,n.y<0);return}let s=Math.abs(t.y),i=Math.abs(e.y),c=Math.abs(n.y),o;s>i?s>c?o=N.sign(t.y):o=N.sign(n.y):i>c?o=N.sign(e.y):o=N.sign(n.y);let a=o<0;tt(t,a),tt(e,a),tt(n,a)}var ee=new r;function X(t,e,n,s){r.add(t,r.multiplyByScalar(r.subtract(e,t,ee),t.y/(t.y-e.y),ee),n),r.clone(n,s),tt(n,!0),tt(s,!1)}var nt=new r,it=new r,st=new r,ot=new r,Rt={positions:new Array(7),indices:new Array(3*3)};function Ne(t,e,n){if(t.x>=0||e.x>=0||n.x>=0)return;Ee(t,e,n);let s=t.y<0,i=e.y<0,c=n.y<0,o=0;o+=s?1:0,o+=i?1:0,o+=c?1:0;let a=Rt.indices;o===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,s?(X(t,e,nt,st),X(t,n,it,ot),a[0]=0,a[3]=1,a[4]=2,a[6]=1):i?(X(e,n,nt,st),X(e,t,it,ot),a[0]=1,a[3]=2,a[4]=0,a[6]=2):c&&(X(n,t,nt,st),X(n,e,it,ot),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):o===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,s?i?c||(X(n,t,nt,st),X(n,e,it,ot),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(X(e,n,nt,st),X(e,t,it,ot),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(X(t,e,nt,st),X(t,n,it,ot),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let p=Rt.positions;return p[0]=t,p[1]=e,p[2]=n,p.length=3,(o===1||o===2)&&(p[3]=nt,p[4]=it,p[5]=st,p[6]=ot,p.length=7),Rt}function ne(t,e){let n=t.attributes;if(n.position.values.length===0)return;for(let i in n)if(n.hasOwnProperty(i)&&f(n[i])&&f(n[i].values)){let c=n[i];c.values=k.createTypedArray(c.componentDatatype,c.values)}let s=B.computeNumberOfVertices(t);return t.indices=j.createTypedArray(s,t.indices),e&&(t.boundingSphere=rt.fromVertices(n.position.values)),t}function lt(t){let e=t.attributes,n={};for(let s in e)if(e.hasOwnProperty(s)&&f(e[s])&&f(e[s].values)){let i=e[s];n[s]=new U({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return new B({attributes:n,indices:[],primitiveType:t.primitiveType})}function kt(t,e,n){let s=f(t.geometry.boundingSphere);e=ne(e,s),n=ne(n,s),f(n)&&!f(e)?t.geometry=n:!f(n)&&f(e)?t.geometry=e:(t.westHemisphereGeometry=e,t.eastHemisphereGeometry=n,t.geometry=void 0)}function Ft(t,e){let n=new t,s=new t,i=new t;return function(c,o,a,p,u,d,m,l){let h=t.fromArray(u,c*e,n),y=t.fromArray(u,o*e,s),v=t.fromArray(u,a*e,i);t.multiplyByScalar(h,p.x,h),t.multiplyByScalar(y,p.y,y),t.multiplyByScalar(v,p.z,v);let b=t.add(h,y,h);t.add(b,v,b),l&&t.normalize(b,b),t.pack(b,d,m*e)}}var ze=Ft(dt,4),It=Ft(r,3),ae=Ft(R,2),De=function(t,e,n,s,i,c,o){let a=i[t]*s.x,p=i[e]*s.y,u=i[n]*s.z;c[o]=a+p+u>N.EPSILON6?1:0},wt=new r,Gt=new r,Ct=new r,qe=new r;function Tt(t,e,n,s,i,c,o,a,p,u,d,m,l,h,y,v){if(!f(c)&&!f(o)&&!f(a)&&!f(p)&&!f(u)&&h===0)return;let b=r.fromArray(i,t*3,wt),S=r.fromArray(i,e*3,Gt),x=r.fromArray(i,n*3,Ct),w=Ht(s,b,S,x,qe);if(f(w)){if(f(c)&&It(t,e,n,w,c,m.normal.values,v,!0),f(u)){let A=r.fromArray(u,t*3,wt),E=r.fromArray(u,e*3,Gt),P=r.fromArray(u,n*3,Ct);r.multiplyByScalar(A,w.x,A),r.multiplyByScalar(E,w.y,E),r.multiplyByScalar(P,w.z,P);let O;!r.equals(A,r.ZERO)||!r.equals(E,r.ZERO)||!r.equals(P,r.ZERO)?(O=r.add(A,E,A),r.add(O,P,O),r.normalize(O,O)):(O=wt,O.x=0,O.y=0,O.z=0),r.pack(O,m.extrudeDirection.values,v*3)}if(f(d)&&De(t,e,n,w,d,m.applyOffset.values,v),f(o)&&It(t,e,n,w,o,m.tangent.values,v,!0),f(a)&&It(t,e,n,w,a,m.bitangent.values,v,!0),f(p)&&ae(t,e,n,w,p,m.st.values,v),h>0)for(let A=0;A<h;A++){let E=l[A];Ve(t,e,n,w,v,y[E],m[E])}}}function Ve(t,e,n,s,i,c,o){let a=c.componentsPerAttribute,p=c.values,u=o.values;switch(a){case 4:ze(t,e,n,s,p,u,i,!1);break;case 3:It(t,e,n,s,p,u,i,!1);break;case 2:ae(t,e,n,s,p,u,i,!1);break;default:u[i]=p[t]*s.x+p[e]*s.y+p[n]*s.z}}function Q(t,e,n,s,i,c){let o=t.position.values.length/3;if(i!==-1){let a=s[i],p=n[a];return p===-1?(n[a]=o,t.position.values.push(c.x,c.y,c.z),e.push(o),o):(e.push(p),p)}return t.position.values.push(c.x,c.y,c.z),e.push(o),o}var Re={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function ie(t){let e=t.geometry,n=e.attributes,s=n.position.values,i=f(n.normal)?n.normal.values:void 0,c=f(n.bitangent)?n.bitangent.values:void 0,o=f(n.tangent)?n.tangent.values:void 0,a=f(n.st)?n.st.values:void 0,p=f(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=f(n.applyOffset)?n.applyOffset.values:void 0,d=e.indices,m=[];for(let O in n)n.hasOwnProperty(O)&&!Re[O]&&f(n[O])&&m.push(O);let l=m.length,h=lt(e),y=lt(e),v,b,S,x,w,A=[];A.length=s.length/3;let E=[];for(E.length=s.length/3,w=0;w<A.length;++w)A[w]=-1,E[w]=-1;let P=d.length;for(w=0;w<P;w+=3){let O=d[w],L=d[w+1],g=d[w+2],T=r.fromArray(s,O*3),C=r.fromArray(s,L*3),z=r.fromArray(s,g*3),q=Ne(T,C,z);if(f(q)&&q.positions.length>3){let V=q.positions,G=q.indices,M=G.length;for(let J=0;J<M;++J){let Y=G[J],_=V[Y];_.y<0?(v=y.attributes,b=y.indices,S=A):(v=h.attributes,b=h.indices,S=E),x=Q(v,b,S,d,Y<3?w+Y:-1,_),Tt(O,L,g,_,s,i,o,c,a,p,u,v,m,l,n,x)}}else f(q)&&(T=q.positions[0],C=q.positions[1],z=q.positions[2]),T.y<0?(v=y.attributes,b=y.indices,S=A):(v=h.attributes,b=h.indices,S=E),x=Q(v,b,S,d,w,T),Tt(O,L,g,T,s,i,o,c,a,p,u,v,m,l,n,x),x=Q(v,b,S,d,w+1,C),Tt(O,L,g,C,s,i,o,c,a,p,u,v,m,l,n,x),x=Q(v,b,S,d,w+2,z),Tt(O,L,g,z,s,i,o,c,a,p,u,v,m,l,n,x)}kt(t,y,h)}var ue=Et.fromPointNormal(r.ZERO,r.UNIT_Y),Ge=new r,Ce=new r;function ut(t,e,n,s,i,c,o){if(!f(o))return;let a=r.fromArray(s,t*3,wt);r.equalsEpsilon(a,n,N.EPSILON10)?c.applyOffset.values[i]=o[t]:c.applyOffset.values[i]=o[e]}function se(t){let e=t.geometry,n=e.attributes,s=n.position.values,i=f(n.applyOffset)?n.applyOffset.values:void 0,c=e.indices,o=lt(e),a=lt(e),p,u=c.length,d=[];d.length=s.length/3;let m=[];for(m.length=s.length/3,p=0;p<d.length;++p)d[p]=-1,m[p]=-1;for(p=0;p<u;p+=2){let l=c[p],h=c[p+1],y=r.fromArray(s,l*3,wt),v=r.fromArray(s,h*3,Gt),b;Math.abs(y.y)<N.EPSILON6&&(y.y<0?y.y=-N.EPSILON6:y.y=N.EPSILON6),Math.abs(v.y)<N.EPSILON6&&(v.y<0?v.y=-N.EPSILON6:v.y=N.EPSILON6);let S=o.attributes,x=o.indices,w=m,A=a.attributes,E=a.indices,P=d,O=Lt.lineSegmentPlane(y,v,ue,Ct);if(f(O)){let L=r.multiplyByScalar(r.UNIT_Y,5*N.EPSILON9,Ge);y.y<0&&(r.negate(L,L),S=a.attributes,x=a.indices,w=d,A=o.attributes,E=o.indices,P=m);let g=r.add(O,L,Ce);b=Q(S,x,w,c,p,y),ut(l,h,y,s,b,S,i),b=Q(S,x,w,c,-1,g),ut(l,h,g,s,b,S,i),r.negate(L,L),r.add(O,L,g),b=Q(A,E,P,c,-1,g),ut(l,h,g,s,b,A,i),b=Q(A,E,P,c,p+1,v),ut(l,h,v,s,b,A,i)}else{let L,g,T;y.y<0?(L=a.attributes,g=a.indices,T=d):(L=o.attributes,g=o.indices,T=m),b=Q(L,g,T,c,p,y),ut(l,h,y,s,b,L,i),b=Q(L,g,T,c,p+1,v),ut(l,h,v,s,b,L,i)}}kt(t,a,o)}var oe=new R,Be=new R,le=new r,fe=new r,Bt=new r,ke=new r,Fe=new r,Me=new r,re=new dt;function ce(t){let e=t.attributes,n=e.position.values,s=e.prevPosition.values,i=e.nextPosition.values,c=n.length;for(let o=0;o<c;o+=3){let a=r.unpack(n,o,le);if(a.x>0)continue;let p=r.unpack(s,o,fe);(a.y<0&&p.y>0||a.y>0&&p.y<0)&&(o-3>0?(s[o]=n[o-3],s[o+1]=n[o-2],s[o+2]=n[o-1]):r.pack(a,s,o));let u=r.unpack(i,o,Bt);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(o+3<c?(i[o]=n[o+3],i[o+1]=n[o+4],i[o+2]=n[o+5]):r.pack(a,i,o))}}var _e=5*N.EPSILON9,At=N.EPSILON6;function Ue(t){let e=t.geometry,n=e.attributes,s=n.position.values,i=n.prevPosition.values,c=n.nextPosition.values,o=n.expandAndWidth.values,a=f(n.st)?n.st.values:void 0,p=f(n.color)?n.color.values:void 0,u=lt(e),d=lt(e),m,l,h,y=!1,v=s.length/3;for(m=0;m<v;m+=4){let b=m,S=m+2,x=r.fromArray(s,b*3,le),w=r.fromArray(s,S*3,fe);if(Math.abs(x.y)<At)for(x.y=At*(w.y<0?-1:1),s[m*3+1]=x.y,s[(m+1)*3+1]=x.y,l=b*3;l<b*3+4*3;l+=3)i[l]=s[m*3],i[l+1]=s[m*3+1],i[l+2]=s[m*3+2];if(Math.abs(w.y)<At)for(w.y=At*(x.y<0?-1:1),s[(m+2)*3+1]=w.y,s[(m+3)*3+1]=w.y,l=b*3;l<b*3+4*3;l+=3)c[l]=s[(m+2)*3],c[l+1]=s[(m+2)*3+1],c[l+2]=s[(m+2)*3+2];let A=u.attributes,E=u.indices,P=d.attributes,O=d.indices,L=Lt.lineSegmentPlane(x,w,ue,ke);if(f(L)){y=!0;let g=r.multiplyByScalar(r.UNIT_Y,_e,Fe);x.y<0&&(r.negate(g,g),A=d.attributes,E=d.indices,P=u.attributes,O=u.indices);let T=r.add(L,g,Me);A.position.values.push(x.x,x.y,x.z,x.x,x.y,x.z),A.position.values.push(T.x,T.y,T.z),A.position.values.push(T.x,T.y,T.z),A.prevPosition.values.push(i[b*3],i[b*3+1],i[b*3+2]),A.prevPosition.values.push(i[b*3+3],i[b*3+4],i[b*3+5]),A.prevPosition.values.push(x.x,x.y,x.z,x.x,x.y,x.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),r.negate(g,g),r.add(L,g,T),P.position.values.push(T.x,T.y,T.z),P.position.values.push(T.x,T.y,T.z),P.position.values.push(w.x,w.y,w.z,w.x,w.y,w.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.nextPosition.values.push(w.x,w.y,w.z,w.x,w.y,w.z),P.nextPosition.values.push(c[S*3],c[S*3+1],c[S*3+2]),P.nextPosition.values.push(c[S*3+3],c[S*3+4],c[S*3+5]);let C=R.fromArray(o,b*2,oe),z=Math.abs(C.y);A.expandAndWidth.values.push(-1,z,1,z),A.expandAndWidth.values.push(-1,-z,1,-z),P.expandAndWidth.values.push(-1,z,1,z),P.expandAndWidth.values.push(-1,-z,1,-z);let q=r.magnitudeSquared(r.subtract(L,x,Bt));if(q/=r.magnitudeSquared(r.subtract(w,x,Bt)),f(p)){let V=dt.fromArray(p,b*4,re),G=dt.fromArray(p,S*4,re),M=N.lerp(V.x,G.x,q),J=N.lerp(V.y,G.y,q),Y=N.lerp(V.z,G.z,q),_=N.lerp(V.w,G.w,q);for(l=b*4;l<b*4+2*4;++l)A.color.values.push(p[l]);for(A.color.values.push(M,J,Y,_),A.color.values.push(M,J,Y,_),P.color.values.push(M,J,Y,_),P.color.values.push(M,J,Y,_),l=S*4;l<S*4+2*4;++l)P.color.values.push(p[l])}if(f(a)){let V=R.fromArray(a,b*2,oe),G=R.fromArray(a,(m+3)*2,Be),M=N.lerp(V.x,G.x,q);for(l=b*2;l<b*2+2*2;++l)A.st.values.push(a[l]);for(A.st.values.push(M,V.y),A.st.values.push(M,G.y),P.st.values.push(M,V.y),P.st.values.push(M,G.y),l=S*2;l<S*2+2*2;++l)P.st.values.push(a[l])}h=A.position.values.length/3-4,E.push(h,h+2,h+1),E.push(h+1,h+2,h+3),h=P.position.values.length/3-4,O.push(h,h+2,h+1),O.push(h+1,h+2,h+3)}else{let g,T;for(x.y<0?(g=d.attributes,T=d.indices):(g=u.attributes,T=u.indices),g.position.values.push(x.x,x.y,x.z),g.position.values.push(x.x,x.y,x.z),g.position.values.push(w.x,w.y,w.z),g.position.values.push(w.x,w.y,w.z),l=m*3;l<m*3+4*3;++l)g.prevPosition.values.push(i[l]),g.nextPosition.values.push(c[l]);for(l=m*2;l<m*2+4*2;++l)g.expandAndWidth.values.push(o[l]),f(a)&&g.st.values.push(a[l]);if(f(p))for(l=m*4;l<m*4+4*4;++l)g.color.values.push(p[l]);h=g.position.values.length/3-4,T.push(h,h+2,h+1),T.push(h+1,h+2,h+3)}}y&&(ce(d),ce(u)),kt(t,d,u)}F.splitLongitude=function(t){if(!f(t))throw new I("instance is required.");let e=t.geometry,n=e.boundingSphere;if(f(n)&&(n.center.x-n.radius>0||rt.intersectPlane(n,Et.ORIGIN_ZX_PLANE)!==Ut.INTERSECTING))return t;if(e.geometryType!==mt.NONE)switch(e.geometryType){case mt.POLYLINES:Ue(t);break;case mt.TRIANGLES:ie(t);break;case mt.LINES:se(t);break}else Le(e),e.primitiveType===D.TRIANGLES?ie(t):e.primitiveType===D.LINES&&se(t);return t};var gn=F;export{gn as a}; +import{a as et}from"./chunk-BMKF5JTH.js";import{a as jt}from"./chunk-67ZE4UMX.js";import{b as Lt}from"./chunk-GCVZZUCS.js";import{a as Et}from"./chunk-I66MFRXO.js";import{a as j}from"./chunk-A3VS2OZ2.js";import{a as mt,b as D,c as B,d as U}from"./chunk-72NMS5KE.js";import{a as _t,b as Ut,d as rt}from"./chunk-JLMPKQO4.js";import{a as dt,b as H}from"./chunk-2K72IAMD.js";import{a as k}from"./chunk-GNTVNTUY.js";import{a as r,b as Mt,c as R,e as Ot}from"./chunk-HWH6BBH6.js";import{a as N}from"./chunk-DW4EQ6YI.js";import{a as K}from"./chunk-CJFJKB5V.js";import{a as I,b as pt}from"./chunk-4BGNE6LH.js";import{e as f}from"./chunk-OX5CTLXY.js";var Yt=new r,Zt=new r,Xt=new r;function pe(t,e,n,s,i){pt.defined("point",t),pt.defined("p0",e),pt.defined("p1",n),pt.defined("p2",s),f(i)||(i=new r);let c,o,a,p,u,d,m,l;if(f(e.z)){if(r.equalsEpsilon(t,e,N.EPSILON14))return r.clone(r.UNIT_X,i);if(r.equalsEpsilon(t,n,N.EPSILON14))return r.clone(r.UNIT_Y,i);if(r.equalsEpsilon(t,s,N.EPSILON14))return r.clone(r.UNIT_Z,i);c=r.subtract(n,e,Yt),o=r.subtract(s,e,Zt),a=r.subtract(t,e,Xt),p=r.dot(c,c),u=r.dot(c,o),d=r.dot(c,a),m=r.dot(o,o),l=r.dot(o,a)}else{if(R.equalsEpsilon(t,e,N.EPSILON14))return r.clone(r.UNIT_X,i);if(R.equalsEpsilon(t,n,N.EPSILON14))return r.clone(r.UNIT_Y,i);if(R.equalsEpsilon(t,s,N.EPSILON14))return r.clone(r.UNIT_Z,i);c=R.subtract(n,e,Yt),o=R.subtract(s,e,Zt),a=R.subtract(t,e,Xt),p=R.dot(c,c),u=R.dot(c,o),d=R.dot(c,a),m=R.dot(o,o),l=R.dot(o,a)}i.y=m*d-u*l,i.z=p*l-u*d;let h=p*m-u*u;if(h!==0)return i.y/=h,i.z/=h,i.x=1-i.y-i.z,i}var Ht=pe;var Nt={};Nt.calculateACMR=function(t){t=K(t,K.EMPTY_OBJECT);let e=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24);if(!f(e))throw new I("indices is required.");let i=e.length;if(i<3||i%3!==0)throw new I("indices length must be a multiple of three.");if(n<=0)throw new I("maximumIndex must be greater than zero.");if(s<3)throw new I("cacheSize must be greater than two.");if(!f(n)){n=0;let a=0,p=e[a];for(;a<i;)p>n&&(n=p),++a,p=e[a]}let c=[];for(let a=0;a<n+1;a++)c[a]=0;let o=s+1;for(let a=0;a<i;++a)o-c[e[a]]>s&&(c[e[a]]=o,++o);return(o-s+1)/(i/3)};Nt.tipsify=function(t){t=K(t,K.EMPTY_OBJECT);let e=t.indices,n=t.maximumIndex,s=K(t.cacheSize,24),i;function c(C,z,q,V){for(;z.length>=1;){let G=z[z.length-1];if(z.splice(z.length-1,1),C[G].numLiveTriangles>0)return G}for(;i<V;){if(C[i].numLiveTriangles>0)return++i,i-1;++i}return-1}function o(C,z,q,V,G,M,J){let Y=-1,_,Pt=-1,gt=0;for(;gt<q.length;){let ft=q[gt];V[ft].numLiveTriangles&&(_=0,G-V[ft].timeStamp+2*V[ft].numLiveTriangles<=z&&(_=G-V[ft].timeStamp),(_>Pt||Pt===-1)&&(Pt=_,Y=ft)),++gt}return Y===-1?c(V,M,C,J):Y}if(!f(e))throw new I("indices is required.");let a=e.length;if(a<3||a%3!==0)throw new I("indices length must be a multiple of three.");if(n<=0)throw new I("maximumIndex must be greater than zero.");if(s<3)throw new I("cacheSize must be greater than two.");let p=0,u=0,d=e[u],m=a;if(f(n))p=n+1;else{for(;u<m;)d>p&&(p=d),++u,d=e[u];if(p===-1)return 0;++p}let l=[],h;for(h=0;h<p;h++)l[h]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;let y=0;for(;u<m;)l[e[u]].vertexTriangles.push(y),++l[e[u]].numLiveTriangles,l[e[u+1]].vertexTriangles.push(y),++l[e[u+1]].numLiveTriangles,l[e[u+2]].vertexTriangles.push(y),++l[e[u+2]].numLiveTriangles,++y,u+=3;let v=0,b=s+1;i=1;let S=[],x=[],w,A,E=0,P=[],O=a/3,L=[];for(h=0;h<O;h++)L[h]=!1;let g,T;for(;v!==-1;){S=[],A=l[v],T=A.vertexTriangles.length;for(let C=0;C<T;++C)if(y=A.vertexTriangles[C],!L[y]){L[y]=!0,u=y+y+y;for(let z=0;z<3;++z)g=e[u],S.push(g),x.push(g),P[E]=g,++E,w=l[g],--w.numLiveTriangles,b-w.timeStamp>s&&(w.timeStamp=b,++b),++u}v=o(e,s,S,l,b,x,p)}return P};var Wt=Nt;var F={};function St(t,e,n,s,i){t[e++]=n,t[e++]=s,t[e++]=s,t[e++]=i,t[e++]=i,t[e]=n}function de(t){let e=t.length,n=e/3*6,s=j.createTypedArray(e,n),i=0;for(let c=0;c<e;c+=3,i+=6)St(s,i,t[c],t[c+1],t[c+2]);return s}function me(t){let e=t.length;if(e>=3){let n=(e-2)*6,s=j.createTypedArray(e,n);St(s,0,t[0],t[1],t[2]);let i=6;for(let c=3;c<e;++c,i+=6)St(s,i,t[c-1],t[c],t[c-2]);return s}return new Uint16Array}function he(t){if(t.length>0){let e=t.length-1,n=(e-1)*6,s=j.createTypedArray(e,n),i=t[0],c=0;for(let o=1;o<e;++o,c+=6)St(s,c,i,t[o],t[o+1]);return s}return new Uint16Array}F.toWireframe=function(t){if(!f(t))throw new I("geometry is required.");let e=t.indices;if(f(e)){switch(t.primitiveType){case D.TRIANGLES:t.indices=de(e);break;case D.TRIANGLE_STRIP:t.indices=me(e);break;case D.TRIANGLE_FAN:t.indices=he(e);break;default:throw new I("geometry.primitiveType must be TRIANGLES, TRIANGLE_STRIP, or TRIANGLE_FAN.")}t.primitiveType=D.LINES}return t};F.createLineSegmentsForVectors=function(t,e,n){if(e=K(e,"normal"),!f(t))throw new I("geometry is required.");if(!f(t.attributes.position))throw new I("geometry.attributes.position is required.");if(!f(t.attributes[e]))throw new I(`geometry.attributes must have an attribute with the same name as the attributeName parameter, ${e}.`);n=K(n,1e4);let s=t.attributes.position.values,i=t.attributes[e].values,c=s.length,o=new Float64Array(2*c),a=0;for(let d=0;d<c;d+=3)o[a++]=s[d],o[a++]=s[d+1],o[a++]=s[d+2],o[a++]=s[d]+i[d]*n,o[a++]=s[d+1]+i[d+1]*n,o[a++]=s[d+2]+i[d+2]*n;let p,u=t.boundingSphere;return f(u)&&(p=new rt(u.center,u.radius+n)),new B({attributes:{position:new U({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:o})},primitiveType:D.LINES,boundingSphere:p})};F.createAttributeLocations=function(t){if(!f(t))throw new I("geometry is required.");let e=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=t.attributes,s={},i=0,c,o=e.length;for(c=0;c<o;++c){let a=e[c];f(n[a])&&(s[a]=i++)}for(let a in n)n.hasOwnProperty(a)&&!f(s[a])&&(s[a]=i++);return s};F.reorderForPreVertexCache=function(t){if(!f(t))throw new I("geometry is required.");let e=B.computeNumberOfVertices(t),n=t.indices;if(f(n)){let s=new Int32Array(e);for(let l=0;l<e;l++)s[l]=-1;let i=n,c=i.length,o=j.createTypedArray(e,c),a=0,p=0,u=0,d;for(;a<c;)d=s[i[a]],d!==-1?o[p]=d:(d=i[a],s[d]=u,o[p]=u,++u),++a,++p;t.indices=o;let m=t.attributes;for(let l in m)if(m.hasOwnProperty(l)&&f(m[l])&&f(m[l].values)){let h=m[l],y=h.values,v=0,b=h.componentsPerAttribute,S=k.createTypedArray(h.componentDatatype,u*b);for(;v<e;){let x=s[v];if(x!==-1)for(let w=0;w<b;w++)S[b*x+w]=y[b*v+w];++v}h.values=S}}return t};F.reorderForPostVertexCache=function(t,e){if(!f(t))throw new I("geometry is required.");let n=t.indices;if(t.primitiveType===D.TRIANGLES&&f(n)){let s=n.length,i=0;for(let c=0;c<s;c++)n[c]>i&&(i=n[c]);t.indices=Wt.tipsify({indices:n,maximumIndex:i,cacheSize:e})}return t};function $t(t){let e={};for(let n in t)if(t.hasOwnProperty(n)&&f(t[n])&&f(t[n].values)){let s=t[n];e[n]=new U({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:[]})}return e}function be(t,e,n){for(let s in e)if(e.hasOwnProperty(s)&&f(e[s])&&f(e[s].values)){let i=e[s];for(let c=0;c<i.componentsPerAttribute;++c)t[s].values.push(i.values[n*i.componentsPerAttribute+c])}}F.fitToUnsignedShortIndices=function(t){if(!f(t))throw new I("geometry is required.");if(f(t.indices)&&t.primitiveType!==D.TRIANGLES&&t.primitiveType!==D.LINES&&t.primitiveType!==D.POINTS)throw new I("geometry.primitiveType must equal to PrimitiveType.TRIANGLES, PrimitiveType.LINES, or PrimitiveType.POINTS.");let e=[],n=B.computeNumberOfVertices(t);if(f(t.indices)&&n>=N.SIXTY_FOUR_KILOBYTES){let s=[],i=[],c=0,o=$t(t.attributes),a=t.indices,p=a.length,u;t.primitiveType===D.TRIANGLES?u=3:t.primitiveType===D.LINES?u=2:t.primitiveType===D.POINTS&&(u=1);for(let d=0;d<p;d+=u){for(let m=0;m<u;++m){let l=a[d+m],h=s[l];f(h)||(h=c++,s[l]=h,be(o,t.attributes,l)),i.push(h)}c+u>=N.SIXTY_FOUR_KILOBYTES&&(e.push(new B({attributes:o,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere,boundingSphereCV:t.boundingSphereCV})),s=[],i=[],c=0,o=$t(t.attributes))}i.length!==0&&e.push(new B({attributes:o,indices:i,primitiveType:t.primitiveType,boundingSphere:t.boundingSphere,boundingSphereCV:t.boundingSphereCV}))}else e.push(t);return e};var Jt=new r,we=new Mt;F.projectTo2D=function(t,e,n,s,i){if(!f(t))throw new I("geometry is required.");if(!f(e))throw new I("attributeName is required.");if(!f(n))throw new I("attributeName3D is required.");if(!f(s))throw new I("attributeName2D is required.");if(!f(t.attributes[e]))throw new I(`geometry must have attribute matching the attributeName argument: ${e}.`);if(t.attributes[e].componentDatatype!==k.DOUBLE)throw new I("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");let c=t.attributes[e];i=f(i)?i:new _t;let o=i.ellipsoid,a=c.values,p=new Float64Array(a.length),u=0;for(let d=0;d<a.length;d+=3){let m=r.fromArray(a,d,Jt),l=o.cartesianToCartographic(m,we);if(!f(l))throw new I(`Could not project point (${m.x}, ${m.y}, ${m.z}) to 2D.`);let h=i.project(l,Jt);p[u++]=h.x,p[u++]=h.y,p[u++]=h.z}return t.attributes[n]=c,t.attributes[s]=new U({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:p}),delete t.attributes[e],t};var zt={high:0,low:0};F.encodeAttribute=function(t,e,n,s){if(!f(t))throw new I("geometry is required.");if(!f(e))throw new I("attributeName is required.");if(!f(n))throw new I("attributeHighName is required.");if(!f(s))throw new I("attributeLowName is required.");if(!f(t.attributes[e]))throw new I(`geometry must have attribute matching the attributeName argument: ${e}.`);if(t.attributes[e].componentDatatype!==k.DOUBLE)throw new I("The attribute componentDatatype must be ComponentDatatype.DOUBLE.");let i=t.attributes[e],c=i.values,o=c.length,a=new Float32Array(o),p=new Float32Array(o);for(let d=0;d<o;++d)jt.encode(c[d],zt),a[d]=zt.high,p[d]=zt.low;let u=i.componentsPerAttribute;return t.attributes[n]=new U({componentDatatype:k.FLOAT,componentsPerAttribute:u,values:a}),t.attributes[s]=new U({componentDatatype:k.FLOAT,componentsPerAttribute:u,values:p}),delete t.attributes[e],t};var $=new r;function Dt(t,e){if(f(e)){let n=e.values,s=n.length;for(let i=0;i<s;i+=3)r.unpack(n,i,$),H.multiplyByPoint(t,$,$),r.pack($,n,i)}}function qt(t,e){if(f(e)){let n=e.values,s=n.length;for(let i=0;i<s;i+=3)r.unpack(n,i,$),Ot.multiplyByVector(t,$,$),$=r.normalize($,$),r.pack($,n,i)}}var vt=new H,yt=new Ot;F.transformToWorldCoordinates=function(t){if(!f(t))throw new I("instance is required.");let e=t.modelMatrix;if(H.equals(e,H.IDENTITY))return t;let n=t.geometry.attributes;Dt(e,n.position),Dt(e,n.prevPosition),Dt(e,n.nextPosition),(f(n.normal)||f(n.tangent)||f(n.bitangent))&&(H.inverse(e,vt),H.transpose(vt,vt),H.getMatrix3(vt,yt),qt(yt,n.normal),qt(yt,n.tangent),qt(yt,n.bitangent));let s=t.geometry.boundingSphere;return f(s)&&(t.geometry.boundingSphere=rt.transform(s,e,s)),t.modelMatrix=H.clone(H.IDENTITY),t};function ve(t,e){let n=t.length,s={},i=t[0][e].attributes,c;for(c in i)if(i.hasOwnProperty(c)&&f(i[c])&&f(i[c].values)){let o=i[c],a=o.values.length,p=!0;for(let u=1;u<n;++u){let d=t[u][e].attributes[c];if(!f(d)||o.componentDatatype!==d.componentDatatype||o.componentsPerAttribute!==d.componentsPerAttribute||o.normalize!==d.normalize){p=!1;break}a+=d.values.length}p&&(s[c]=new U({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:k.createTypedArray(o.componentDatatype,a)}))}return s}var ye=new r;function Vt(t,e){let n=t.length,s,i,c,o,a=t[0].modelMatrix,p=f(t[0][e].indices),u=t[0][e].primitiveType;for(i=1;i<n;++i){if(!H.equals(t[i].modelMatrix,a))throw new I("All instances must have the same modelMatrix.");if(f(t[i][e].indices)!==p)throw new I("All instance geometries must have an indices or not have one.");if(t[i][e].primitiveType!==u)throw new I("All instance geometries must have the same primitiveType.")}let d=ve(t,e),m,l,h;for(s in d)if(d.hasOwnProperty(s))for(m=d[s].values,o=0,i=0;i<n;++i)for(l=t[i][e].attributes[s].values,h=l.length,c=0;c<h;++c)m[o++]=l[c];let y;if(p){let x=0;for(i=0;i<n;++i)x+=t[i][e].indices.length;let w=B.computeNumberOfVertices(new B({attributes:d,primitiveType:D.POINTS})),A=j.createTypedArray(w,x),E=0,P=0;for(i=0;i<n;++i){let O=t[i][e].indices,L=O.length;for(o=0;o<L;++o)A[E++]=P+O[o];P+=B.computeNumberOfVertices(t[i][e])}y=A}let v=new r,b=0,S;for(i=0;i<n;++i){if(S=t[i][e].boundingSphere,!f(S)){v=void 0;break}r.add(S.center,v,v)}if(f(v))for(r.divideByScalar(v,n,v),i=0;i<n;++i){S=t[i][e].boundingSphere;let x=r.magnitude(r.subtract(S.center,v,ye))+S.radius;x>b&&(b=x)}return new B({attributes:d,indices:y,primitiveType:u,boundingSphere:f(v)?new rt(v,b):void 0})}F.combineInstances=function(t){if(!f(t)||t.length<1)throw new I("instances is required and must have length greater than zero.");let e=[],n=[],s=t.length;for(let c=0;c<s;++c){let o=t[c];f(o.geometry)?e.push(o):f(o.westHemisphereGeometry)&&f(o.eastHemisphereGeometry)&&n.push(o)}let i=[];return e.length>0&&i.push(Vt(e,"geometry")),n.length>0&&(i.push(Vt(n,"westHemisphereGeometry")),i.push(Vt(n,"eastHemisphereGeometry"))),i};var Z=new r,ht=new r,ct=new r,at=new r;F.computeNormal=function(t){if(!f(t))throw new I("geometry is required.");if(!f(t.attributes.position)||!f(t.attributes.position.values))throw new I("geometry.attributes.position.values is required.");if(!f(t.indices))throw new I("geometry.indices is required.");if(t.indices.length<2||t.indices.length%3!==0)throw new I("geometry.indices length must be greater than 0 and be a multiple of 3.");if(t.primitiveType!==D.TRIANGLES)throw new I("geometry.primitiveType must be PrimitiveType.TRIANGLES.");let e=t.indices,n=t.attributes,s=n.position.values,i=n.position.values.length/3,c=e.length,o=new Array(i),a=new Array(c/3),p=new Array(c),u;for(u=0;u<i;u++)o[u]={indexOffset:0,count:0,currentCount:0};let d=0;for(u=0;u<c;u+=3){let y=e[u],v=e[u+1],b=e[u+2],S=y*3,x=v*3,w=b*3;ht.x=s[S],ht.y=s[S+1],ht.z=s[S+2],ct.x=s[x],ct.y=s[x+1],ct.z=s[x+2],at.x=s[w],at.y=s[w+1],at.z=s[w+2],o[y].count++,o[v].count++,o[b].count++,r.subtract(ct,ht,ct),r.subtract(at,ht,at),a[d]=r.cross(ct,at,new r),d++}let m=0;for(u=0;u<i;u++)o[u].indexOffset+=m,m+=o[u].count;d=0;let l;for(u=0;u<c;u+=3){l=o[e[u]];let y=l.indexOffset+l.currentCount;p[y]=d,l.currentCount++,l=o[e[u+1]],y=l.indexOffset+l.currentCount,p[y]=d,l.currentCount++,l=o[e[u+2]],y=l.indexOffset+l.currentCount,p[y]=d,l.currentCount++,d++}let h=new Float32Array(i*3);for(u=0;u<i;u++){let y=u*3;if(l=o[u],r.clone(r.ZERO,Z),l.count>0){for(d=0;d<l.count;d++)r.add(Z,a[p[l.indexOffset+d]],Z);r.equalsEpsilon(r.ZERO,Z,N.EPSILON10)&&r.clone(a[p[l.indexOffset]],Z)}r.equalsEpsilon(r.ZERO,Z,N.EPSILON10)&&(Z.z=1),r.normalize(Z,Z),h[y]=Z.x,h[y+1]=Z.y,h[y+2]=Z.z}return t.attributes.normal=new U({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:h}),t};var xe=new r,Kt=new r,Te=new r;F.computeTangentAndBitangent=function(t){if(!f(t))throw new I("geometry is required.");let e=t.attributes,n=t.indices;if(!f(e.position)||!f(e.position.values))throw new I("geometry.attributes.position.values is required.");if(!f(e.normal)||!f(e.normal.values))throw new I("geometry.attributes.normal.values is required.");if(!f(e.st)||!f(e.st.values))throw new I("geometry.attributes.st.values is required.");if(!f(n))throw new I("geometry.indices is required.");if(n.length<2||n.length%3!==0)throw new I("geometry.indices length must be greater than 0 and be a multiple of 3.");if(t.primitiveType!==D.TRIANGLES)throw new I("geometry.primitiveType must be PrimitiveType.TRIANGLES.");let s=t.attributes.position.values,i=t.attributes.normal.values,c=t.attributes.st.values,o=t.attributes.position.values.length/3,a=n.length,p=new Array(o*3),u;for(u=0;u<p.length;u++)p[u]=0;let d,m,l;for(u=0;u<a;u+=3){let v=n[u],b=n[u+1],S=n[u+2];d=v*3,m=b*3,l=S*3;let x=v*2,w=b*2,A=S*2,E=s[d],P=s[d+1],O=s[d+2],L=c[x],g=c[x+1],T=c[w+1]-g,C=c[A+1]-g,z=1/((c[w]-L)*C-(c[A]-L)*T),q=(C*(s[m]-E)-T*(s[l]-E))*z,V=(C*(s[m+1]-P)-T*(s[l+1]-P))*z,G=(C*(s[m+2]-O)-T*(s[l+2]-O))*z;p[d]+=q,p[d+1]+=V,p[d+2]+=G,p[m]+=q,p[m+1]+=V,p[m+2]+=G,p[l]+=q,p[l+1]+=V,p[l+2]+=G}let h=new Float32Array(o*3),y=new Float32Array(o*3);for(u=0;u<o;u++){d=u*3,m=d+1,l=d+2;let v=r.fromArray(i,d,xe),b=r.fromArray(p,d,Te),S=r.dot(v,b);r.multiplyByScalar(v,S,Kt),r.normalize(r.subtract(b,Kt,b),b),h[d]=b.x,h[m]=b.y,h[l]=b.z,r.normalize(r.cross(v,b,b),b),y[d]=b.x,y[m]=b.y,y[l]=b.z}return t.attributes.tangent=new U({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:h}),t.attributes.bitangent=new U({componentDatatype:k.FLOAT,componentsPerAttribute:3,values:y}),t};var bt=new R,W=new r,Qt=new r,te=new r,xt=new R;F.compressVertices=function(t){if(!f(t))throw new I("geometry is required.");let e=t.attributes.extrudeDirection,n,s;if(f(e)){let P=e.values;s=P.length/3;let O=new Float32Array(s*2),L=0;for(n=0;n<s;++n){if(r.fromArray(P,n*3,W),r.equals(W,r.ZERO)){L+=2;continue}xt=et.octEncodeInRange(W,65535,xt),O[L++]=xt.x,O[L++]=xt.y}return t.attributes.compressedAttributes=new U({componentDatatype:k.FLOAT,componentsPerAttribute:2,values:O}),delete t.attributes.extrudeDirection,t}let i=t.attributes.normal,c=t.attributes.st,o=f(i),a=f(c);if(!o&&!a)return t;let p=t.attributes.tangent,u=t.attributes.bitangent,d=f(p),m=f(u),l,h,y,v;o&&(l=i.values),a&&(h=c.values),d&&(y=p.values),m&&(v=u.values),s=(o?l.length:h.length)/(o?3:2);let x=s,w=a&&o?2:1;w+=d||m?1:0,x*=w;let A=new Float32Array(x),E=0;for(n=0;n<s;++n){a&&(R.fromArray(h,n*2,bt),A[E++]=et.compressTextureCoordinates(bt));let P=n*3;o&&f(y)&&f(v)?(r.fromArray(l,P,W),r.fromArray(y,P,Qt),r.fromArray(v,P,te),et.octPack(W,Qt,te,bt),A[E++]=bt.x,A[E++]=bt.y):(o&&(r.fromArray(l,P,W),A[E++]=et.octEncodeFloat(W)),d&&(r.fromArray(y,P,W),A[E++]=et.octEncodeFloat(W)),m&&(r.fromArray(v,P,W),A[E++]=et.octEncodeFloat(W)))}return t.attributes.compressedAttributes=new U({componentDatatype:k.FLOAT,componentsPerAttribute:w,values:A}),o&&delete t.attributes.normal,a&&delete t.attributes.st,m&&delete t.attributes.bitangent,d&&delete t.attributes.tangent,t};function Ae(t){if(f(t.indices))return t;let e=B.computeNumberOfVertices(t);if(e<3)throw new I("The number of vertices must be at least three.");if(e%3!==0)throw new I("The number of vertices must be a multiple of three.");let n=j.createTypedArray(e,e);for(let s=0;s<e;++s)n[s]=s;return t.indices=n,t}function Ie(t){let e=B.computeNumberOfVertices(t);if(e<3)throw new I("The number of vertices must be at least three.");let n=j.createTypedArray(e,(e-2)*3);n[0]=1,n[1]=0,n[2]=2;let s=3;for(let i=3;i<e;++i)n[s++]=i-1,n[s++]=0,n[s++]=i;return t.indices=n,t.primitiveType=D.TRIANGLES,t}function Se(t){let e=B.computeNumberOfVertices(t);if(e<3)throw new I("The number of vertices must be at least 3.");let n=j.createTypedArray(e,(e-2)*3);n[0]=0,n[1]=1,n[2]=2,e>3&&(n[3]=0,n[4]=2,n[5]=3);let s=6;for(let i=3;i<e-1;i+=2)n[s++]=i,n[s++]=i-1,n[s++]=i+1,i+2<e&&(n[s++]=i,n[s++]=i+1,n[s++]=i+2);return t.indices=n,t.primitiveType=D.TRIANGLES,t}function Pe(t){if(f(t.indices))return t;let e=B.computeNumberOfVertices(t);if(e<2)throw new I("The number of vertices must be at least two.");if(e%2!==0)throw new I("The number of vertices must be a multiple of 2.");let n=j.createTypedArray(e,e);for(let s=0;s<e;++s)n[s]=s;return t.indices=n,t}function ge(t){let e=B.computeNumberOfVertices(t);if(e<2)throw new I("The number of vertices must be at least two.");let n=j.createTypedArray(e,(e-1)*2);n[0]=0,n[1]=1;let s=2;for(let i=2;i<e;++i)n[s++]=i-1,n[s++]=i;return t.indices=n,t.primitiveType=D.LINES,t}function Oe(t){let e=B.computeNumberOfVertices(t);if(e<2)throw new I("The number of vertices must be at least two.");let n=j.createTypedArray(e,e*2);n[0]=0,n[1]=1;let s=2;for(let i=2;i<e;++i)n[s++]=i-1,n[s++]=i;return n[s++]=e-1,n[s]=0,t.indices=n,t.primitiveType=D.LINES,t}function Le(t){switch(t.primitiveType){case D.TRIANGLE_FAN:return Ie(t);case D.TRIANGLE_STRIP:return Se(t);case D.TRIANGLES:return Ae(t);case D.LINE_STRIP:return ge(t);case D.LINE_LOOP:return Oe(t);case D.LINES:return Pe(t)}return t}function tt(t,e){Math.abs(t.y)<N.EPSILON6&&(e?t.y=-N.EPSILON6:t.y=N.EPSILON6)}function Ee(t,e,n){if(t.y!==0&&e.y!==0&&n.y!==0){tt(t,t.y<0),tt(e,e.y<0),tt(n,n.y<0);return}let s=Math.abs(t.y),i=Math.abs(e.y),c=Math.abs(n.y),o;s>i?s>c?o=N.sign(t.y):o=N.sign(n.y):i>c?o=N.sign(e.y):o=N.sign(n.y);let a=o<0;tt(t,a),tt(e,a),tt(n,a)}var ee=new r;function X(t,e,n,s){r.add(t,r.multiplyByScalar(r.subtract(e,t,ee),t.y/(t.y-e.y),ee),n),r.clone(n,s),tt(n,!0),tt(s,!1)}var nt=new r,it=new r,st=new r,ot=new r,Rt={positions:new Array(7),indices:new Array(3*3)};function Ne(t,e,n){if(t.x>=0||e.x>=0||n.x>=0)return;Ee(t,e,n);let s=t.y<0,i=e.y<0,c=n.y<0,o=0;o+=s?1:0,o+=i?1:0,o+=c?1:0;let a=Rt.indices;o===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,s?(X(t,e,nt,st),X(t,n,it,ot),a[0]=0,a[3]=1,a[4]=2,a[6]=1):i?(X(e,n,nt,st),X(e,t,it,ot),a[0]=1,a[3]=2,a[4]=0,a[6]=2):c&&(X(n,t,nt,st),X(n,e,it,ot),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):o===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,s?i?c||(X(n,t,nt,st),X(n,e,it,ot),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(X(e,n,nt,st),X(e,t,it,ot),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(X(t,e,nt,st),X(t,n,it,ot),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let p=Rt.positions;return p[0]=t,p[1]=e,p[2]=n,p.length=3,(o===1||o===2)&&(p[3]=nt,p[4]=it,p[5]=st,p[6]=ot,p.length=7),Rt}function ne(t,e){let n=t.attributes;if(n.position.values.length===0)return;for(let i in n)if(n.hasOwnProperty(i)&&f(n[i])&&f(n[i].values)){let c=n[i];c.values=k.createTypedArray(c.componentDatatype,c.values)}let s=B.computeNumberOfVertices(t);return t.indices=j.createTypedArray(s,t.indices),e&&(t.boundingSphere=rt.fromVertices(n.position.values)),t}function lt(t){let e=t.attributes,n={};for(let s in e)if(e.hasOwnProperty(s)&&f(e[s])&&f(e[s].values)){let i=e[s];n[s]=new U({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return new B({attributes:n,indices:[],primitiveType:t.primitiveType})}function kt(t,e,n){let s=f(t.geometry.boundingSphere);e=ne(e,s),n=ne(n,s),f(n)&&!f(e)?t.geometry=n:!f(n)&&f(e)?t.geometry=e:(t.westHemisphereGeometry=e,t.eastHemisphereGeometry=n,t.geometry=void 0)}function Ft(t,e){let n=new t,s=new t,i=new t;return function(c,o,a,p,u,d,m,l){let h=t.fromArray(u,c*e,n),y=t.fromArray(u,o*e,s),v=t.fromArray(u,a*e,i);t.multiplyByScalar(h,p.x,h),t.multiplyByScalar(y,p.y,y),t.multiplyByScalar(v,p.z,v);let b=t.add(h,y,h);t.add(b,v,b),l&&t.normalize(b,b),t.pack(b,d,m*e)}}var ze=Ft(dt,4),It=Ft(r,3),ae=Ft(R,2),De=function(t,e,n,s,i,c,o){let a=i[t]*s.x,p=i[e]*s.y,u=i[n]*s.z;c[o]=a+p+u>N.EPSILON6?1:0},wt=new r,Gt=new r,Ct=new r,qe=new r;function Tt(t,e,n,s,i,c,o,a,p,u,d,m,l,h,y,v){if(!f(c)&&!f(o)&&!f(a)&&!f(p)&&!f(u)&&h===0)return;let b=r.fromArray(i,t*3,wt),S=r.fromArray(i,e*3,Gt),x=r.fromArray(i,n*3,Ct),w=Ht(s,b,S,x,qe);if(f(w)){if(f(c)&&It(t,e,n,w,c,m.normal.values,v,!0),f(u)){let A=r.fromArray(u,t*3,wt),E=r.fromArray(u,e*3,Gt),P=r.fromArray(u,n*3,Ct);r.multiplyByScalar(A,w.x,A),r.multiplyByScalar(E,w.y,E),r.multiplyByScalar(P,w.z,P);let O;!r.equals(A,r.ZERO)||!r.equals(E,r.ZERO)||!r.equals(P,r.ZERO)?(O=r.add(A,E,A),r.add(O,P,O),r.normalize(O,O)):(O=wt,O.x=0,O.y=0,O.z=0),r.pack(O,m.extrudeDirection.values,v*3)}if(f(d)&&De(t,e,n,w,d,m.applyOffset.values,v),f(o)&&It(t,e,n,w,o,m.tangent.values,v,!0),f(a)&&It(t,e,n,w,a,m.bitangent.values,v,!0),f(p)&&ae(t,e,n,w,p,m.st.values,v),h>0)for(let A=0;A<h;A++){let E=l[A];Ve(t,e,n,w,v,y[E],m[E])}}}function Ve(t,e,n,s,i,c,o){let a=c.componentsPerAttribute,p=c.values,u=o.values;switch(a){case 4:ze(t,e,n,s,p,u,i,!1);break;case 3:It(t,e,n,s,p,u,i,!1);break;case 2:ae(t,e,n,s,p,u,i,!1);break;default:u[i]=p[t]*s.x+p[e]*s.y+p[n]*s.z}}function Q(t,e,n,s,i,c){let o=t.position.values.length/3;if(i!==-1){let a=s[i],p=n[a];return p===-1?(n[a]=o,t.position.values.push(c.x,c.y,c.z),e.push(o),o):(e.push(p),p)}return t.position.values.push(c.x,c.y,c.z),e.push(o),o}var Re={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function ie(t){let e=t.geometry,n=e.attributes,s=n.position.values,i=f(n.normal)?n.normal.values:void 0,c=f(n.bitangent)?n.bitangent.values:void 0,o=f(n.tangent)?n.tangent.values:void 0,a=f(n.st)?n.st.values:void 0,p=f(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=f(n.applyOffset)?n.applyOffset.values:void 0,d=e.indices,m=[];for(let O in n)n.hasOwnProperty(O)&&!Re[O]&&f(n[O])&&m.push(O);let l=m.length,h=lt(e),y=lt(e),v,b,S,x,w,A=[];A.length=s.length/3;let E=[];for(E.length=s.length/3,w=0;w<A.length;++w)A[w]=-1,E[w]=-1;let P=d.length;for(w=0;w<P;w+=3){let O=d[w],L=d[w+1],g=d[w+2],T=r.fromArray(s,O*3),C=r.fromArray(s,L*3),z=r.fromArray(s,g*3),q=Ne(T,C,z);if(f(q)&&q.positions.length>3){let V=q.positions,G=q.indices,M=G.length;for(let J=0;J<M;++J){let Y=G[J],_=V[Y];_.y<0?(v=y.attributes,b=y.indices,S=A):(v=h.attributes,b=h.indices,S=E),x=Q(v,b,S,d,Y<3?w+Y:-1,_),Tt(O,L,g,_,s,i,o,c,a,p,u,v,m,l,n,x)}}else f(q)&&(T=q.positions[0],C=q.positions[1],z=q.positions[2]),T.y<0?(v=y.attributes,b=y.indices,S=A):(v=h.attributes,b=h.indices,S=E),x=Q(v,b,S,d,w,T),Tt(O,L,g,T,s,i,o,c,a,p,u,v,m,l,n,x),x=Q(v,b,S,d,w+1,C),Tt(O,L,g,C,s,i,o,c,a,p,u,v,m,l,n,x),x=Q(v,b,S,d,w+2,z),Tt(O,L,g,z,s,i,o,c,a,p,u,v,m,l,n,x)}kt(t,y,h)}var ue=Et.fromPointNormal(r.ZERO,r.UNIT_Y),Ge=new r,Ce=new r;function ut(t,e,n,s,i,c,o){if(!f(o))return;let a=r.fromArray(s,t*3,wt);r.equalsEpsilon(a,n,N.EPSILON10)?c.applyOffset.values[i]=o[t]:c.applyOffset.values[i]=o[e]}function se(t){let e=t.geometry,n=e.attributes,s=n.position.values,i=f(n.applyOffset)?n.applyOffset.values:void 0,c=e.indices,o=lt(e),a=lt(e),p,u=c.length,d=[];d.length=s.length/3;let m=[];for(m.length=s.length/3,p=0;p<d.length;++p)d[p]=-1,m[p]=-1;for(p=0;p<u;p+=2){let l=c[p],h=c[p+1],y=r.fromArray(s,l*3,wt),v=r.fromArray(s,h*3,Gt),b;Math.abs(y.y)<N.EPSILON6&&(y.y<0?y.y=-N.EPSILON6:y.y=N.EPSILON6),Math.abs(v.y)<N.EPSILON6&&(v.y<0?v.y=-N.EPSILON6:v.y=N.EPSILON6);let S=o.attributes,x=o.indices,w=m,A=a.attributes,E=a.indices,P=d,O=Lt.lineSegmentPlane(y,v,ue,Ct);if(f(O)){let L=r.multiplyByScalar(r.UNIT_Y,5*N.EPSILON9,Ge);y.y<0&&(r.negate(L,L),S=a.attributes,x=a.indices,w=d,A=o.attributes,E=o.indices,P=m);let g=r.add(O,L,Ce);b=Q(S,x,w,c,p,y),ut(l,h,y,s,b,S,i),b=Q(S,x,w,c,-1,g),ut(l,h,g,s,b,S,i),r.negate(L,L),r.add(O,L,g),b=Q(A,E,P,c,-1,g),ut(l,h,g,s,b,A,i),b=Q(A,E,P,c,p+1,v),ut(l,h,v,s,b,A,i)}else{let L,g,T;y.y<0?(L=a.attributes,g=a.indices,T=d):(L=o.attributes,g=o.indices,T=m),b=Q(L,g,T,c,p,y),ut(l,h,y,s,b,L,i),b=Q(L,g,T,c,p+1,v),ut(l,h,v,s,b,L,i)}}kt(t,a,o)}var oe=new R,Be=new R,le=new r,fe=new r,Bt=new r,ke=new r,Fe=new r,Me=new r,re=new dt;function ce(t){let e=t.attributes,n=e.position.values,s=e.prevPosition.values,i=e.nextPosition.values,c=n.length;for(let o=0;o<c;o+=3){let a=r.unpack(n,o,le);if(a.x>0)continue;let p=r.unpack(s,o,fe);(a.y<0&&p.y>0||a.y>0&&p.y<0)&&(o-3>0?(s[o]=n[o-3],s[o+1]=n[o-2],s[o+2]=n[o-1]):r.pack(a,s,o));let u=r.unpack(i,o,Bt);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(o+3<c?(i[o]=n[o+3],i[o+1]=n[o+4],i[o+2]=n[o+5]):r.pack(a,i,o))}}var _e=5*N.EPSILON9,At=N.EPSILON6;function Ue(t){let e=t.geometry,n=e.attributes,s=n.position.values,i=n.prevPosition.values,c=n.nextPosition.values,o=n.expandAndWidth.values,a=f(n.st)?n.st.values:void 0,p=f(n.color)?n.color.values:void 0,u=lt(e),d=lt(e),m,l,h,y=!1,v=s.length/3;for(m=0;m<v;m+=4){let b=m,S=m+2,x=r.fromArray(s,b*3,le),w=r.fromArray(s,S*3,fe);if(Math.abs(x.y)<At)for(x.y=At*(w.y<0?-1:1),s[m*3+1]=x.y,s[(m+1)*3+1]=x.y,l=b*3;l<b*3+4*3;l+=3)i[l]=s[m*3],i[l+1]=s[m*3+1],i[l+2]=s[m*3+2];if(Math.abs(w.y)<At)for(w.y=At*(x.y<0?-1:1),s[(m+2)*3+1]=w.y,s[(m+3)*3+1]=w.y,l=b*3;l<b*3+4*3;l+=3)c[l]=s[(m+2)*3],c[l+1]=s[(m+2)*3+1],c[l+2]=s[(m+2)*3+2];let A=u.attributes,E=u.indices,P=d.attributes,O=d.indices,L=Lt.lineSegmentPlane(x,w,ue,ke);if(f(L)){y=!0;let g=r.multiplyByScalar(r.UNIT_Y,_e,Fe);x.y<0&&(r.negate(g,g),A=d.attributes,E=d.indices,P=u.attributes,O=u.indices);let T=r.add(L,g,Me);A.position.values.push(x.x,x.y,x.z,x.x,x.y,x.z),A.position.values.push(T.x,T.y,T.z),A.position.values.push(T.x,T.y,T.z),A.prevPosition.values.push(i[b*3],i[b*3+1],i[b*3+2]),A.prevPosition.values.push(i[b*3+3],i[b*3+4],i[b*3+5]),A.prevPosition.values.push(x.x,x.y,x.z,x.x,x.y,x.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),A.nextPosition.values.push(T.x,T.y,T.z),r.negate(g,g),r.add(L,g,T),P.position.values.push(T.x,T.y,T.z),P.position.values.push(T.x,T.y,T.z),P.position.values.push(w.x,w.y,w.z,w.x,w.y,w.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.prevPosition.values.push(T.x,T.y,T.z),P.nextPosition.values.push(w.x,w.y,w.z,w.x,w.y,w.z),P.nextPosition.values.push(c[S*3],c[S*3+1],c[S*3+2]),P.nextPosition.values.push(c[S*3+3],c[S*3+4],c[S*3+5]);let C=R.fromArray(o,b*2,oe),z=Math.abs(C.y);A.expandAndWidth.values.push(-1,z,1,z),A.expandAndWidth.values.push(-1,-z,1,-z),P.expandAndWidth.values.push(-1,z,1,z),P.expandAndWidth.values.push(-1,-z,1,-z);let q=r.magnitudeSquared(r.subtract(L,x,Bt));if(q/=r.magnitudeSquared(r.subtract(w,x,Bt)),f(p)){let V=dt.fromArray(p,b*4,re),G=dt.fromArray(p,S*4,re),M=N.lerp(V.x,G.x,q),J=N.lerp(V.y,G.y,q),Y=N.lerp(V.z,G.z,q),_=N.lerp(V.w,G.w,q);for(l=b*4;l<b*4+2*4;++l)A.color.values.push(p[l]);for(A.color.values.push(M,J,Y,_),A.color.values.push(M,J,Y,_),P.color.values.push(M,J,Y,_),P.color.values.push(M,J,Y,_),l=S*4;l<S*4+2*4;++l)P.color.values.push(p[l])}if(f(a)){let V=R.fromArray(a,b*2,oe),G=R.fromArray(a,(m+3)*2,Be),M=N.lerp(V.x,G.x,q);for(l=b*2;l<b*2+2*2;++l)A.st.values.push(a[l]);for(A.st.values.push(M,V.y),A.st.values.push(M,G.y),P.st.values.push(M,V.y),P.st.values.push(M,G.y),l=S*2;l<S*2+2*2;++l)P.st.values.push(a[l])}h=A.position.values.length/3-4,E.push(h,h+2,h+1),E.push(h+1,h+2,h+3),h=P.position.values.length/3-4,O.push(h,h+2,h+1),O.push(h+1,h+2,h+3)}else{let g,T;for(x.y<0?(g=d.attributes,T=d.indices):(g=u.attributes,T=u.indices),g.position.values.push(x.x,x.y,x.z),g.position.values.push(x.x,x.y,x.z),g.position.values.push(w.x,w.y,w.z),g.position.values.push(w.x,w.y,w.z),l=m*3;l<m*3+4*3;++l)g.prevPosition.values.push(i[l]),g.nextPosition.values.push(c[l]);for(l=m*2;l<m*2+4*2;++l)g.expandAndWidth.values.push(o[l]),f(a)&&g.st.values.push(a[l]);if(f(p))for(l=m*4;l<m*4+4*4;++l)g.color.values.push(p[l]);h=g.position.values.length/3-4,T.push(h,h+2,h+1),T.push(h+1,h+2,h+3)}}y&&(ce(d),ce(u)),kt(t,d,u)}F.splitLongitude=function(t){if(!f(t))throw new I("instance is required.");let e=t.geometry,n=e.boundingSphere;if(f(n)&&(n.center.x-n.radius>0||rt.intersectPlane(n,Et.ORIGIN_ZX_PLANE)!==Ut.INTERSECTING))return t;if(e.geometryType!==mt.NONE)switch(e.geometryType){case mt.POLYLINES:Ue(t);break;case mt.TRIANGLES:ie(t);break;case mt.LINES:se(t);break}else Le(e),e.primitiveType===D.TRIANGLES?ie(t):e.primitiveType===D.LINES&&se(t);return t};var gn=F;export{gn as a}; diff --git a/public/lib/Cesium/Workers/chunk-ZKPELTMK.js b/public/lib/Cesium/Workers/chunk-G6BZKWWN.js similarity index 89% rename from public/lib/Cesium/Workers/chunk-ZKPELTMK.js rename to public/lib/Cesium/Workers/chunk-G6BZKWWN.js index 447fd3aa2..50d0ee5c6 100644 --- a/public/lib/Cesium/Workers/chunk-ZKPELTMK.js +++ b/public/lib/Cesium/Workers/chunk-G6BZKWWN.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as h}from"./chunk-2744EW7N.js";import{a as n,c as y,e as a}from"./chunk-RFPX772U.js";import{b as f}from"./chunk-6P5KAIBX.js";var x={},b=new n,P=new n,B=new n,M=new n,w=new h;x.validOutline=function(i){f.defined("positions",i);let o=h.fromPoints(i,w).halfAxes,e=a.getColumn(o,0,P),r=a.getColumn(o,1,B),t=a.getColumn(o,2,M),u=n.magnitude(e),s=n.magnitude(r),l=n.magnitude(t);return!(u===0&&(s===0||l===0)||s===0&&l===0)};x.computeProjectTo2DArguments=function(i,c,o,e){f.defined("positions",i),f.defined("centerResult",c),f.defined("planeAxis1Result",o),f.defined("planeAxis2Result",e);let r=h.fromPoints(i,w),t=r.halfAxes,u=a.getColumn(t,0,P),s=a.getColumn(t,1,B),l=a.getColumn(t,2,M),A=n.magnitude(u),d=n.magnitude(s),g=n.magnitude(l),m=Math.min(A,d,g);if(A===0&&(d===0||g===0)||d===0&&g===0)return!1;let p,C;return(m===d||m===g)&&(p=u),m===A?p=s:m===g&&(C=s),(m===A||m===d)&&(C=l),n.normalize(p,o),n.normalize(C,e),n.clone(r.center,c),!0};function z(i,c,o,e,r){let t=n.subtract(i,c,b),u=n.dot(o,t),s=n.dot(e,t);return y.fromElements(u,s,r)}x.createProjectPointsTo2DFunction=function(i,c,o){return function(e){let r=new Array(e.length);for(let t=0;t<e.length;t++)r[t]=z(e[t],i,c,o);return r}};x.createProjectPointTo2DFunction=function(i,c,o){return function(e,r){return z(e,i,c,o,r)}};var O=x;export{O as a}; +import{a as h}from"./chunk-LKADYPHQ.js";import{a as n,c as y,e as a}from"./chunk-HWH6BBH6.js";import{b as f}from"./chunk-4BGNE6LH.js";var x={},b=new n,P=new n,B=new n,M=new n,w=new h;x.validOutline=function(i){f.defined("positions",i);let o=h.fromPoints(i,w).halfAxes,e=a.getColumn(o,0,P),r=a.getColumn(o,1,B),t=a.getColumn(o,2,M),u=n.magnitude(e),s=n.magnitude(r),l=n.magnitude(t);return!(u===0&&(s===0||l===0)||s===0&&l===0)};x.computeProjectTo2DArguments=function(i,c,o,e){f.defined("positions",i),f.defined("centerResult",c),f.defined("planeAxis1Result",o),f.defined("planeAxis2Result",e);let r=h.fromPoints(i,w),t=r.halfAxes,u=a.getColumn(t,0,P),s=a.getColumn(t,1,B),l=a.getColumn(t,2,M),A=n.magnitude(u),d=n.magnitude(s),g=n.magnitude(l),m=Math.min(A,d,g);if(A===0&&(d===0||g===0)||d===0&&g===0)return!1;let p,C;return(m===d||m===g)&&(p=u),m===A?p=s:m===g&&(C=s),(m===A||m===d)&&(C=l),n.normalize(p,o),n.normalize(C,e),n.clone(r.center,c),!0};function z(i,c,o,e,r){let t=n.subtract(i,c,b),u=n.dot(o,t),s=n.dot(e,t);return y.fromElements(u,s,r)}x.createProjectPointsTo2DFunction=function(i,c,o){return function(e){let r=new Array(e.length);for(let t=0;t<e.length;t++)r[t]=z(e[t],i,c,o);return r}};x.createProjectPointTo2DFunction=function(i,c,o){return function(e,r){return z(e,i,c,o,r)}};var O=x;export{O as a}; diff --git a/public/lib/Cesium/Workers/chunk-P75RMBWR.js b/public/lib/Cesium/Workers/chunk-GCVZZUCS.js similarity index 97% rename from public/lib/Cesium/Workers/chunk-P75RMBWR.js rename to public/lib/Cesium/Workers/chunk-GCVZZUCS.js index 87d84bf22..2cf9a7e87 100644 --- a/public/lib/Cesium/Workers/chunk-P75RMBWR.js +++ b/public/lib/Cesium/Workers/chunk-GCVZZUCS.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{c as Z}from"./chunk-4TXI27XR.js";import{a as o,b as ft,e as b}from"./chunk-RFPX772U.js";import{a as R}from"./chunk-RAYRECQS.js";import{a as H}from"./chunk-6KLVDWWE.js";import{a as w,b as et}from"./chunk-6P5KAIBX.js";import{e as g}from"./chunk-4FSVUTPL.js";var nt={};nt.computeDiscriminant=function(t,e,r){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");return e*e-4*t*r};function mt(t,e,r){let n=t+e;return R.sign(t)!==R.sign(e)&&Math.abs(n/Math.max(Math.abs(t),Math.abs(e)))<r?0:n}nt.computeRealRoots=function(t,e,r){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");let n;if(t===0)return e===0?[]:[-r/e];if(e===0){if(r===0)return[0,0];let a=Math.abs(r),f=Math.abs(t);if(a<f&&a/f<R.EPSILON14)return[0,0];if(a>f&&f/a<R.EPSILON14)return[];if(n=-r/t,n<0)return[];let l=Math.sqrt(n);return[-l,l]}else if(r===0)return n=-e/t,n<0?[n,0]:[0,n];let i=e*e,c=4*t*r,s=mt(i,-c,R.EPSILON14);if(s<0)return[];let u=-.5*mt(e,R.sign(e)*Math.sqrt(s),R.EPSILON14);return e>0?[u/t,r/u]:[r/u,u/t]};var T=nt;var ot={};ot.computeDiscriminant=function(t,e,r,n){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");let i=t*t,c=e*e,s=r*r,u=n*n;return 18*t*e*r*n+c*s-27*i*u-4*(t*s*r+c*e*n)};function rt(t,e,r,n){let i=t,c=e/3,s=r/3,u=n,a=i*s,f=c*u,l=c*c,d=s*s,p=i*s-l,q=i*u-c*s,m=c*u-d,h=4*p*m-q*q,E,D;if(h<0){let X,k,G;l*f>=a*d?(X=i,k=p,G=-2*c*p+i*q):(X=u,k=m,G=-u*q+2*s*m);let at=-(G<0?-1:1)*Math.abs(X)*Math.sqrt(-h);D=-G+at;let $=D/2,j=$<0?-Math.pow(-$,1/3):Math.pow($,1/3),tt=D===at?-j:-k/j;return E=k<=0?j+tt:-G/(j*j+tt*tt+k),l*f>=a*d?[(E-c)/i]:[-u/(E+s)]}let W=p,V=-2*c*p+i*q,L=m,B=-u*q+2*s*m,I=Math.sqrt(h),C=Math.sqrt(3)/2,P=Math.abs(Math.atan2(i*I,-V)/3);E=2*Math.sqrt(-W);let y=Math.cos(P);D=E*y;let S=E*(-y/2-C*Math.sin(P)),M=D+S>2*c?D-c:S-c,N=i,x=M/N;P=Math.abs(Math.atan2(u*I,-B)/3),E=2*Math.sqrt(-L),y=Math.cos(P),D=E*y,S=E*(-y/2-C*Math.sin(P));let _=-u,A=D+S<2*s?D+s:S+s,v=_/A,yt=N*A,ut=-M*A-N*_,bt=M*_,U=(s*ut-c*bt)/(-c*ut+s*yt);return x<=U?x<=v?U<=v?[x,U,v]:[x,v,U]:[v,x,U]:x<=v?[U,x,v]:U<=v?[U,v,x]:[v,U,x]}ot.computeRealRoots=function(t,e,r,n){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");let i,c;if(t===0)return T.computeRealRoots(e,r,n);if(e===0){if(r===0){if(n===0)return[0,0,0];c=-n/t;let s=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3);return[s,s,s]}else if(n===0)return i=T.computeRealRoots(t,0,r),i.Length===0?[0]:[i[0],0,i[1]];return rt(t,0,r,n)}else{if(r===0)return n===0?(c=-e/t,c<0?[c,0,0]:[0,0,c]):rt(t,e,0,n);if(n===0)return i=T.computeRealRoots(t,e,r),i.length===0?[0]:i[1]<=0?[i[0],i[1],0]:i[0]>=0?[0,i[0],i[1]]:[i[0],0,i[1]]}return rt(t,e,r,n)};var F=ot;var it={};it.computeDiscriminant=function(t,e,r,n,i){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");if(typeof i!="number")throw new w("e is a required number.");let c=t*t,s=c*t,u=e*e,a=u*e,f=r*r,l=f*r,d=n*n,p=d*n,q=i*i,m=q*i;return u*f*d-4*a*p-4*t*l*d+18*t*e*r*p-27*c*d*d+256*s*m+i*(18*a*r*n-4*u*l+16*t*f*f-80*t*e*f*n-6*t*u*d+144*c*r*d)+q*(144*t*u*r-27*u*u-128*c*f-192*c*e*n)};function z(t,e,r,n){let i=t*t,c=e-3*i/8,s=r-e*t/2+i*t/8,u=n-r*t/4+e*i/16-3*i*i/256,a=F.computeRealRoots(1,2*c,c*c-4*u,-s*s);if(a.length>0){let f=-t/4,l=a[a.length-1];if(Math.abs(l)<R.EPSILON14){let d=T.computeRealRoots(1,c,u);if(d.length===2){let p=d[0],q=d[1],m;if(p>=0&&q>=0){let h=Math.sqrt(p),E=Math.sqrt(q);return[f-E,f-h,f+h,f+E]}else{if(p>=0&&q<0)return m=Math.sqrt(p),[f-m,f+m];if(p<0&&q>=0)return m=Math.sqrt(q),[f-m,f+m]}}return[]}else if(l>0){let d=Math.sqrt(l),p=(c+l-s/d)/2,q=(c+l+s/d)/2,m=T.computeRealRoots(1,d,p),h=T.computeRealRoots(1,-d,q);return m.length!==0?(m[0]+=f,m[1]+=f,h.length!==0?(h[0]+=f,h[1]+=f,m[1]<=h[0]?[m[0],m[1],h[0],h[1]]:h[1]<=m[0]?[h[0],h[1],m[0],m[1]]:m[0]>=h[0]&&m[1]<=h[1]?[h[0],m[0],m[1],h[1]]:h[0]>=m[0]&&h[1]<=m[1]?[m[0],h[0],h[1],m[1]]:m[0]>h[0]&&m[0]<h[1]?[h[0],m[0],h[1],m[1]]:[m[0],h[0],m[1],h[1]]):m):h.length!==0?(h[0]+=f,h[1]+=f,h):[]}}return[]}function Y(t,e,r,n){let i=r*r,c=e*e,s=t*t,u=-2*e,a=r*t+c-4*n,f=s*n-r*e*t+i,l=F.computeRealRoots(1,u,a,f);if(l.length>0){let d=l[0],p=e-d,q=p*p,m=t/2,h=p/2,E=q-4*n,D=q+4*Math.abs(n),W=s-4*d,V=s+4*Math.abs(d),L,B;if(d<0||E*V<W*D){let N=Math.sqrt(W);L=N/2,B=N===0?0:(t*h-r)/N}else{let N=Math.sqrt(E);L=N===0?0:(t*h-r)/N,B=N/2}let I,C;m===0&&L===0?(I=0,C=0):R.sign(m)===R.sign(L)?(I=m+L,C=d/I):(C=m-L,I=d/C);let P,y;h===0&&B===0?(P=0,y=0):R.sign(h)===R.sign(B)?(P=h+B,y=n/P):(y=h-B,P=n/y);let S=T.computeRealRoots(1,I,P),M=T.computeRealRoots(1,C,y);if(S.length!==0)return M.length!==0?S[1]<=M[0]?[S[0],S[1],M[0],M[1]]:M[1]<=S[0]?[M[0],M[1],S[0],S[1]]:S[0]>=M[0]&&S[1]<=M[1]?[M[0],S[0],S[1],M[1]]:M[0]>=S[0]&&M[1]<=S[1]?[S[0],M[0],M[1],S[1]]:S[0]>M[0]&&S[0]<M[1]?[M[0],S[0],M[1],S[1]]:[S[0],M[0],S[1],M[1]]:S;if(M.length!==0)return M}return[]}it.computeRealRoots=function(t,e,r,n,i){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");if(typeof i!="number")throw new w("e is a required number.");if(Math.abs(t)<R.EPSILON15)return F.computeRealRoots(e,r,n,i);let c=e/t,s=r/t,u=n/t,a=i/t,f=c<0?1:0;switch(f+=s<0?f+1:f,f+=u<0?f+1:f,f+=a<0?f+1:f,f){case 0:return z(c,s,u,a);case 1:return Y(c,s,u,a);case 2:return Y(c,s,u,a);case 3:return z(c,s,u,a);case 4:return z(c,s,u,a);case 5:return Y(c,s,u,a);case 6:return z(c,s,u,a);case 7:return z(c,s,u,a);case 8:return Y(c,s,u,a);case 9:return z(c,s,u,a);case 10:return z(c,s,u,a);case 11:return Y(c,s,u,a);case 12:return z(c,s,u,a);case 13:return z(c,s,u,a);case 14:return z(c,s,u,a);case 15:return z(c,s,u,a);default:return}};var dt=it;function J(t,e){e=o.clone(H(e,o.ZERO)),o.equals(e,o.ZERO)||o.normalize(e,e),this.origin=o.clone(H(t,o.ZERO)),this.direction=e}J.clone=function(t,e){if(g(t))return g(e)?(e.origin=o.clone(t.origin),e.direction=o.clone(t.direction),e):new J(t.origin,t.direction)};J.getPoint=function(t,e,r){return et.typeOf.object("ray",t),et.typeOf.number("t",e),g(r)||(r=new o),r=o.multiplyByScalar(t.direction,e,r),o.add(t.origin,r,r)};var st=J;var O={};O.rayPlane=function(t,e,r){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("plane is required.");g(r)||(r=new o);let n=t.origin,i=t.direction,c=e.normal,s=o.dot(c,i);if(Math.abs(s)<R.EPSILON15)return;let u=(-e.distance-o.dot(c,n))/s;if(!(u<0))return r=o.multiplyByScalar(i,u,r),o.add(n,r,r)};var Ot=new o,Pt=new o,Mt=new o,lt=new o,ht=new o;O.rayTriangleParametric=function(t,e,r,n,i){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("p0 is required.");if(!g(r))throw new w("p1 is required.");if(!g(n))throw new w("p2 is required.");i=H(i,!1);let c=t.origin,s=t.direction,u=o.subtract(r,e,Ot),a=o.subtract(n,e,Pt),f=o.cross(s,a,Mt),l=o.dot(u,f),d,p,q,m,h;if(i){if(l<R.EPSILON6||(d=o.subtract(c,e,lt),q=o.dot(d,f),q<0||q>l)||(p=o.cross(d,u,ht),m=o.dot(s,p),m<0||q+m>l))return;h=o.dot(a,p)/l}else{if(Math.abs(l)<R.EPSILON6)return;let E=1/l;if(d=o.subtract(c,e,lt),q=o.dot(d,f)*E,q<0||q>1||(p=o.cross(d,u,ht),m=o.dot(s,p)*E,m<0||q+m>1))return;h=o.dot(a,p)*E}return h};O.rayTriangle=function(t,e,r,n,i,c){let s=O.rayTriangleParametric(t,e,r,n,i);if(!(!g(s)||s<0))return g(c)||(c=new o),o.multiplyByScalar(t.direction,s,c),o.add(t.origin,c,c)};var Et=new st;O.lineSegmentTriangle=function(t,e,r,n,i,c,s){if(!g(t))throw new w("v0 is required.");if(!g(e))throw new w("v1 is required.");if(!g(r))throw new w("p0 is required.");if(!g(n))throw new w("p1 is required.");if(!g(i))throw new w("p2 is required.");let u=Et;o.clone(t,u.origin),o.subtract(e,t,u.direction),o.normalize(u.direction,u.direction);let a=O.rayTriangleParametric(u,r,n,i,c);if(!(!g(a)||a<0||a>o.distance(t,e)))return g(s)||(s=new o),o.multiplyByScalar(u.direction,a,s),o.add(u.origin,s,s)};function Ct(t,e,r,n){let i=e*e-4*t*r;if(i<0)return;if(i>0){let s=1/(2*t),u=Math.sqrt(i),a=(-e+u)*s,f=(-e-u)*s;return a<f?(n.root0=a,n.root1=f):(n.root0=f,n.root1=a),n}let c=-e/(2*t);if(c!==0)return n.root0=n.root1=c,n}var Nt={root0:0,root1:0};function Rt(t,e,r){g(r)||(r=new Z);let n=t.origin,i=t.direction,c=e.center,s=e.radius*e.radius,u=o.subtract(n,c,Mt),a=o.dot(i,i),f=2*o.dot(i,u),l=o.magnitudeSquared(u)-s,d=Ct(a,f,l,Nt);if(g(d))return r.start=d.root0,r.stop=d.root1,r}O.raySphere=function(t,e,r){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("sphere is required.");if(r=Rt(t,e,r),!(!g(r)||r.stop<0))return r.start=Math.max(r.start,0),r};var Lt=new st;O.lineSegmentSphere=function(t,e,r,n){if(!g(t))throw new w("p0 is required.");if(!g(e))throw new w("p1 is required.");if(!g(r))throw new w("sphere is required.");let i=Lt;o.clone(t,i.origin);let c=o.subtract(e,t,i.direction),s=o.magnitude(c);if(o.normalize(c,c),n=Rt(i,r,n),!(!g(n)||n.stop<0||n.start>s))return n.start=Math.max(n.start,0),n.stop=Math.min(n.stop,s),n};var It=new o,Dt=new o;O.rayEllipsoid=function(t,e){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("ellipsoid is required.");let r=e.oneOverRadii,n=o.multiplyComponents(r,t.origin,It),i=o.multiplyComponents(r,t.direction,Dt),c=o.magnitudeSquared(n),s=o.dot(n,i),u,a,f,l,d;if(c>1){if(s>=0)return;let p=s*s;if(u=c-1,a=o.magnitudeSquared(i),f=a*u,p<f)return;if(p>f){l=s*s-f,d=-s+Math.sqrt(l);let m=d/a,h=u/d;return m<h?new Z(m,h):{start:h,stop:m}}let q=Math.sqrt(u/a);return new Z(q,q)}else if(c<1)return u=c-1,a=o.magnitudeSquared(i),f=a*u,l=s*s-f,d=-s+Math.sqrt(l),new Z(0,d/a);if(s<0)return a=o.magnitudeSquared(i),new Z(0,-s/a)};function Q(t,e,r){let n=t+e;return R.sign(t)!==R.sign(e)&&Math.abs(n/Math.max(Math.abs(t),Math.abs(e)))<r?0:n}O.quadraticVectorExpression=function(t,e,r,n,i){let c=n*n,s=i*i,u=(t[b.COLUMN1ROW1]-t[b.COLUMN2ROW2])*s,a=i*(n*Q(t[b.COLUMN1ROW0],t[b.COLUMN0ROW1],R.EPSILON15)+e.y),f=t[b.COLUMN0ROW0]*c+t[b.COLUMN2ROW2]*s+n*e.x+r,l=s*Q(t[b.COLUMN2ROW1],t[b.COLUMN1ROW2],R.EPSILON15),d=i*(n*Q(t[b.COLUMN2ROW0],t[b.COLUMN0ROW2])+e.z),p,q=[];if(d===0&&l===0){if(p=T.computeRealRoots(u,a,f),p.length===0)return q;let P=p[0],y=Math.sqrt(Math.max(1-P*P,0));if(q.push(new o(n,i*P,i*-y)),q.push(new o(n,i*P,i*y)),p.length===2){let S=p[1],M=Math.sqrt(Math.max(1-S*S,0));q.push(new o(n,i*S,i*-M)),q.push(new o(n,i*S,i*M))}return q}let m=d*d,h=l*l,E=u*u,D=d*l,W=E+h,V=2*(a*u+D),L=2*f*u+a*a-h+m,B=2*(f*a-D),I=f*f-m;if(W===0&&V===0&&L===0&&B===0)return q;p=dt.computeRealRoots(W,V,L,B,I);let C=p.length;if(C===0)return q;for(let P=0;P<C;++P){let y=p[P],S=y*y,M=Math.max(1-S,0),N=Math.sqrt(M),x;R.sign(u)===R.sign(f)?x=Q(u*S+f,a*y,R.EPSILON12):R.sign(f)===R.sign(a*y)?x=Q(u*S,a*y+f,R.EPSILON12):x=Q(u*S+a*y,f,R.EPSILON12);let _=Q(l*y,d,R.EPSILON15),A=x*_;A<0?q.push(new o(n,i*y,i*N)):A>0?q.push(new o(n,i*y,i*-N)):N!==0?(q.push(new o(n,i*y,i*-N)),q.push(new o(n,i*y,i*N)),++P):q.push(new o(n,i*y,i*N))}return q};var ct=new o,wt=new o,qt=new o,K=new o,Bt=new o,xt=new b,Tt=new b,zt=new b,Wt=new b,Vt=new b,gt=new b,pt=new b,St=new o,vt=new o,Ut=new ft;O.grazingAltitudeLocation=function(t,e){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("ellipsoid is required.");let r=t.origin,n=t.direction;if(!o.equals(r,o.ZERO)){let I=e.geodeticSurfaceNormal(r,ct);if(o.dot(n,I)>=0)return r}let i=g(this.rayEllipsoid(t,e)),c=e.transformPositionToScaledSpace(n,ct),s=o.normalize(c,c),u=o.mostOrthogonalAxis(c,K),a=o.normalize(o.cross(u,s,wt),wt),f=o.normalize(o.cross(s,a,qt),qt),l=xt;l[0]=s.x,l[1]=s.y,l[2]=s.z,l[3]=a.x,l[4]=a.y,l[5]=a.z,l[6]=f.x,l[7]=f.y,l[8]=f.z;let d=b.transpose(l,Tt),p=b.fromScale(e.radii,zt),q=b.fromScale(e.oneOverRadii,Wt),m=Vt;m[0]=0,m[1]=-n.z,m[2]=n.y,m[3]=n.z,m[4]=0,m[5]=-n.x,m[6]=-n.y,m[7]=n.x,m[8]=0;let h=b.multiply(b.multiply(d,q,gt),m,gt),E=b.multiply(b.multiply(h,p,pt),l,pt),D=b.multiplyByVector(h,r,Bt),W=O.quadraticVectorExpression(E,o.negate(D,ct),0,0,1),V,L,B=W.length;if(B>0){let I=o.clone(o.ZERO,vt),C=Number.NEGATIVE_INFINITY;for(let y=0;y<B;++y){V=b.multiplyByVector(p,b.multiplyByVector(l,W[y],St),St);let S=o.normalize(o.subtract(V,r,K),K),M=o.dot(S,n);M>C&&(C=M,I=o.clone(V,I))}let P=e.cartesianToCartographic(I,Ut);return C=R.clamp(C,0,1),L=o.magnitude(o.subtract(I,r,K))*Math.sqrt(1-C*C),L=i?-L:L,P.height=L,e.cartographicToCartesian(P,new o)}};var Qt=new o;O.lineSegmentPlane=function(t,e,r,n){if(!g(t))throw new w("endPoint0 is required.");if(!g(e))throw new w("endPoint1 is required.");if(!g(r))throw new w("plane is required.");g(n)||(n=new o);let i=o.subtract(e,t,Qt),c=r.normal,s=o.dot(c,i);if(Math.abs(s)<R.EPSILON6)return;let u=o.dot(c,t),a=-(r.distance+u)/s;if(!(a<0||a>1))return o.multiplyByScalar(i,a,n),o.add(t,n,n),n};O.trianglePlaneIntersection=function(t,e,r,n){if(!g(t)||!g(e)||!g(r)||!g(n))throw new w("p0, p1, p2, and plane are required.");let i=n.normal,c=n.distance,s=o.dot(i,t)+c<0,u=o.dot(i,e)+c<0,a=o.dot(i,r)+c<0,f=0;f+=s?1:0,f+=u?1:0,f+=a?1:0;let l,d;if((f===1||f===2)&&(l=new o,d=new o),f===1){if(s)return O.lineSegmentPlane(t,e,n,l),O.lineSegmentPlane(t,r,n,d),{positions:[t,e,r,l,d],indices:[0,3,4,1,2,4,1,4,3]};if(u)return O.lineSegmentPlane(e,r,n,l),O.lineSegmentPlane(e,t,n,d),{positions:[t,e,r,l,d],indices:[1,3,4,2,0,4,2,4,3]};if(a)return O.lineSegmentPlane(r,t,n,l),O.lineSegmentPlane(r,e,n,d),{positions:[t,e,r,l,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(f===2)if(s)if(u){if(!a)return O.lineSegmentPlane(t,r,n,l),O.lineSegmentPlane(e,r,n,d),{positions:[t,e,r,l,d],indices:[0,1,4,0,4,3,2,3,4]}}else return O.lineSegmentPlane(r,e,n,l),O.lineSegmentPlane(t,e,n,d),{positions:[t,e,r,l,d],indices:[2,0,4,2,4,3,1,3,4]};else return O.lineSegmentPlane(e,t,n,l),O.lineSegmentPlane(r,t,n,d),{positions:[t,e,r,l,d],indices:[1,2,4,1,4,3,0,3,4]}};var we=O;export{st as a,we as b}; +import{c as Z}from"./chunk-JLMPKQO4.js";import{a as o,b as ft,e as b}from"./chunk-HWH6BBH6.js";import{a as R}from"./chunk-DW4EQ6YI.js";import{a as H}from"./chunk-CJFJKB5V.js";import{a as w,b as et}from"./chunk-4BGNE6LH.js";import{e as g}from"./chunk-OX5CTLXY.js";var nt={};nt.computeDiscriminant=function(t,e,r){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");return e*e-4*t*r};function mt(t,e,r){let n=t+e;return R.sign(t)!==R.sign(e)&&Math.abs(n/Math.max(Math.abs(t),Math.abs(e)))<r?0:n}nt.computeRealRoots=function(t,e,r){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");let n;if(t===0)return e===0?[]:[-r/e];if(e===0){if(r===0)return[0,0];let a=Math.abs(r),f=Math.abs(t);if(a<f&&a/f<R.EPSILON14)return[0,0];if(a>f&&f/a<R.EPSILON14)return[];if(n=-r/t,n<0)return[];let l=Math.sqrt(n);return[-l,l]}else if(r===0)return n=-e/t,n<0?[n,0]:[0,n];let i=e*e,c=4*t*r,s=mt(i,-c,R.EPSILON14);if(s<0)return[];let u=-.5*mt(e,R.sign(e)*Math.sqrt(s),R.EPSILON14);return e>0?[u/t,r/u]:[r/u,u/t]};var T=nt;var ot={};ot.computeDiscriminant=function(t,e,r,n){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");let i=t*t,c=e*e,s=r*r,u=n*n;return 18*t*e*r*n+c*s-27*i*u-4*(t*s*r+c*e*n)};function rt(t,e,r,n){let i=t,c=e/3,s=r/3,u=n,a=i*s,f=c*u,l=c*c,d=s*s,p=i*s-l,q=i*u-c*s,m=c*u-d,h=4*p*m-q*q,E,D;if(h<0){let X,k,G;l*f>=a*d?(X=i,k=p,G=-2*c*p+i*q):(X=u,k=m,G=-u*q+2*s*m);let at=-(G<0?-1:1)*Math.abs(X)*Math.sqrt(-h);D=-G+at;let $=D/2,j=$<0?-Math.pow(-$,1/3):Math.pow($,1/3),tt=D===at?-j:-k/j;return E=k<=0?j+tt:-G/(j*j+tt*tt+k),l*f>=a*d?[(E-c)/i]:[-u/(E+s)]}let W=p,V=-2*c*p+i*q,L=m,B=-u*q+2*s*m,I=Math.sqrt(h),C=Math.sqrt(3)/2,P=Math.abs(Math.atan2(i*I,-V)/3);E=2*Math.sqrt(-W);let y=Math.cos(P);D=E*y;let S=E*(-y/2-C*Math.sin(P)),M=D+S>2*c?D-c:S-c,N=i,x=M/N;P=Math.abs(Math.atan2(u*I,-B)/3),E=2*Math.sqrt(-L),y=Math.cos(P),D=E*y,S=E*(-y/2-C*Math.sin(P));let _=-u,A=D+S<2*s?D+s:S+s,v=_/A,yt=N*A,ut=-M*A-N*_,bt=M*_,U=(s*ut-c*bt)/(-c*ut+s*yt);return x<=U?x<=v?U<=v?[x,U,v]:[x,v,U]:[v,x,U]:x<=v?[U,x,v]:U<=v?[U,v,x]:[v,U,x]}ot.computeRealRoots=function(t,e,r,n){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");let i,c;if(t===0)return T.computeRealRoots(e,r,n);if(e===0){if(r===0){if(n===0)return[0,0,0];c=-n/t;let s=c<0?-Math.pow(-c,1/3):Math.pow(c,1/3);return[s,s,s]}else if(n===0)return i=T.computeRealRoots(t,0,r),i.Length===0?[0]:[i[0],0,i[1]];return rt(t,0,r,n)}else{if(r===0)return n===0?(c=-e/t,c<0?[c,0,0]:[0,0,c]):rt(t,e,0,n);if(n===0)return i=T.computeRealRoots(t,e,r),i.length===0?[0]:i[1]<=0?[i[0],i[1],0]:i[0]>=0?[0,i[0],i[1]]:[i[0],0,i[1]]}return rt(t,e,r,n)};var F=ot;var it={};it.computeDiscriminant=function(t,e,r,n,i){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");if(typeof i!="number")throw new w("e is a required number.");let c=t*t,s=c*t,u=e*e,a=u*e,f=r*r,l=f*r,d=n*n,p=d*n,q=i*i,m=q*i;return u*f*d-4*a*p-4*t*l*d+18*t*e*r*p-27*c*d*d+256*s*m+i*(18*a*r*n-4*u*l+16*t*f*f-80*t*e*f*n-6*t*u*d+144*c*r*d)+q*(144*t*u*r-27*u*u-128*c*f-192*c*e*n)};function z(t,e,r,n){let i=t*t,c=e-3*i/8,s=r-e*t/2+i*t/8,u=n-r*t/4+e*i/16-3*i*i/256,a=F.computeRealRoots(1,2*c,c*c-4*u,-s*s);if(a.length>0){let f=-t/4,l=a[a.length-1];if(Math.abs(l)<R.EPSILON14){let d=T.computeRealRoots(1,c,u);if(d.length===2){let p=d[0],q=d[1],m;if(p>=0&&q>=0){let h=Math.sqrt(p),E=Math.sqrt(q);return[f-E,f-h,f+h,f+E]}else{if(p>=0&&q<0)return m=Math.sqrt(p),[f-m,f+m];if(p<0&&q>=0)return m=Math.sqrt(q),[f-m,f+m]}}return[]}else if(l>0){let d=Math.sqrt(l),p=(c+l-s/d)/2,q=(c+l+s/d)/2,m=T.computeRealRoots(1,d,p),h=T.computeRealRoots(1,-d,q);return m.length!==0?(m[0]+=f,m[1]+=f,h.length!==0?(h[0]+=f,h[1]+=f,m[1]<=h[0]?[m[0],m[1],h[0],h[1]]:h[1]<=m[0]?[h[0],h[1],m[0],m[1]]:m[0]>=h[0]&&m[1]<=h[1]?[h[0],m[0],m[1],h[1]]:h[0]>=m[0]&&h[1]<=m[1]?[m[0],h[0],h[1],m[1]]:m[0]>h[0]&&m[0]<h[1]?[h[0],m[0],h[1],m[1]]:[m[0],h[0],m[1],h[1]]):m):h.length!==0?(h[0]+=f,h[1]+=f,h):[]}}return[]}function Y(t,e,r,n){let i=r*r,c=e*e,s=t*t,u=-2*e,a=r*t+c-4*n,f=s*n-r*e*t+i,l=F.computeRealRoots(1,u,a,f);if(l.length>0){let d=l[0],p=e-d,q=p*p,m=t/2,h=p/2,E=q-4*n,D=q+4*Math.abs(n),W=s-4*d,V=s+4*Math.abs(d),L,B;if(d<0||E*V<W*D){let N=Math.sqrt(W);L=N/2,B=N===0?0:(t*h-r)/N}else{let N=Math.sqrt(E);L=N===0?0:(t*h-r)/N,B=N/2}let I,C;m===0&&L===0?(I=0,C=0):R.sign(m)===R.sign(L)?(I=m+L,C=d/I):(C=m-L,I=d/C);let P,y;h===0&&B===0?(P=0,y=0):R.sign(h)===R.sign(B)?(P=h+B,y=n/P):(y=h-B,P=n/y);let S=T.computeRealRoots(1,I,P),M=T.computeRealRoots(1,C,y);if(S.length!==0)return M.length!==0?S[1]<=M[0]?[S[0],S[1],M[0],M[1]]:M[1]<=S[0]?[M[0],M[1],S[0],S[1]]:S[0]>=M[0]&&S[1]<=M[1]?[M[0],S[0],S[1],M[1]]:M[0]>=S[0]&&M[1]<=S[1]?[S[0],M[0],M[1],S[1]]:S[0]>M[0]&&S[0]<M[1]?[M[0],S[0],M[1],S[1]]:[S[0],M[0],S[1],M[1]]:S;if(M.length!==0)return M}return[]}it.computeRealRoots=function(t,e,r,n,i){if(typeof t!="number")throw new w("a is a required number.");if(typeof e!="number")throw new w("b is a required number.");if(typeof r!="number")throw new w("c is a required number.");if(typeof n!="number")throw new w("d is a required number.");if(typeof i!="number")throw new w("e is a required number.");if(Math.abs(t)<R.EPSILON15)return F.computeRealRoots(e,r,n,i);let c=e/t,s=r/t,u=n/t,a=i/t,f=c<0?1:0;switch(f+=s<0?f+1:f,f+=u<0?f+1:f,f+=a<0?f+1:f,f){case 0:return z(c,s,u,a);case 1:return Y(c,s,u,a);case 2:return Y(c,s,u,a);case 3:return z(c,s,u,a);case 4:return z(c,s,u,a);case 5:return Y(c,s,u,a);case 6:return z(c,s,u,a);case 7:return z(c,s,u,a);case 8:return Y(c,s,u,a);case 9:return z(c,s,u,a);case 10:return z(c,s,u,a);case 11:return Y(c,s,u,a);case 12:return z(c,s,u,a);case 13:return z(c,s,u,a);case 14:return z(c,s,u,a);case 15:return z(c,s,u,a);default:return}};var dt=it;function J(t,e){e=o.clone(H(e,o.ZERO)),o.equals(e,o.ZERO)||o.normalize(e,e),this.origin=o.clone(H(t,o.ZERO)),this.direction=e}J.clone=function(t,e){if(g(t))return g(e)?(e.origin=o.clone(t.origin),e.direction=o.clone(t.direction),e):new J(t.origin,t.direction)};J.getPoint=function(t,e,r){return et.typeOf.object("ray",t),et.typeOf.number("t",e),g(r)||(r=new o),r=o.multiplyByScalar(t.direction,e,r),o.add(t.origin,r,r)};var st=J;var O={};O.rayPlane=function(t,e,r){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("plane is required.");g(r)||(r=new o);let n=t.origin,i=t.direction,c=e.normal,s=o.dot(c,i);if(Math.abs(s)<R.EPSILON15)return;let u=(-e.distance-o.dot(c,n))/s;if(!(u<0))return r=o.multiplyByScalar(i,u,r),o.add(n,r,r)};var Ot=new o,Pt=new o,Mt=new o,lt=new o,ht=new o;O.rayTriangleParametric=function(t,e,r,n,i){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("p0 is required.");if(!g(r))throw new w("p1 is required.");if(!g(n))throw new w("p2 is required.");i=H(i,!1);let c=t.origin,s=t.direction,u=o.subtract(r,e,Ot),a=o.subtract(n,e,Pt),f=o.cross(s,a,Mt),l=o.dot(u,f),d,p,q,m,h;if(i){if(l<R.EPSILON6||(d=o.subtract(c,e,lt),q=o.dot(d,f),q<0||q>l)||(p=o.cross(d,u,ht),m=o.dot(s,p),m<0||q+m>l))return;h=o.dot(a,p)/l}else{if(Math.abs(l)<R.EPSILON6)return;let E=1/l;if(d=o.subtract(c,e,lt),q=o.dot(d,f)*E,q<0||q>1||(p=o.cross(d,u,ht),m=o.dot(s,p)*E,m<0||q+m>1))return;h=o.dot(a,p)*E}return h};O.rayTriangle=function(t,e,r,n,i,c){let s=O.rayTriangleParametric(t,e,r,n,i);if(!(!g(s)||s<0))return g(c)||(c=new o),o.multiplyByScalar(t.direction,s,c),o.add(t.origin,c,c)};var Et=new st;O.lineSegmentTriangle=function(t,e,r,n,i,c,s){if(!g(t))throw new w("v0 is required.");if(!g(e))throw new w("v1 is required.");if(!g(r))throw new w("p0 is required.");if(!g(n))throw new w("p1 is required.");if(!g(i))throw new w("p2 is required.");let u=Et;o.clone(t,u.origin),o.subtract(e,t,u.direction),o.normalize(u.direction,u.direction);let a=O.rayTriangleParametric(u,r,n,i,c);if(!(!g(a)||a<0||a>o.distance(t,e)))return g(s)||(s=new o),o.multiplyByScalar(u.direction,a,s),o.add(u.origin,s,s)};function Ct(t,e,r,n){let i=e*e-4*t*r;if(i<0)return;if(i>0){let s=1/(2*t),u=Math.sqrt(i),a=(-e+u)*s,f=(-e-u)*s;return a<f?(n.root0=a,n.root1=f):(n.root0=f,n.root1=a),n}let c=-e/(2*t);if(c!==0)return n.root0=n.root1=c,n}var Nt={root0:0,root1:0};function Rt(t,e,r){g(r)||(r=new Z);let n=t.origin,i=t.direction,c=e.center,s=e.radius*e.radius,u=o.subtract(n,c,Mt),a=o.dot(i,i),f=2*o.dot(i,u),l=o.magnitudeSquared(u)-s,d=Ct(a,f,l,Nt);if(g(d))return r.start=d.root0,r.stop=d.root1,r}O.raySphere=function(t,e,r){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("sphere is required.");if(r=Rt(t,e,r),!(!g(r)||r.stop<0))return r.start=Math.max(r.start,0),r};var Lt=new st;O.lineSegmentSphere=function(t,e,r,n){if(!g(t))throw new w("p0 is required.");if(!g(e))throw new w("p1 is required.");if(!g(r))throw new w("sphere is required.");let i=Lt;o.clone(t,i.origin);let c=o.subtract(e,t,i.direction),s=o.magnitude(c);if(o.normalize(c,c),n=Rt(i,r,n),!(!g(n)||n.stop<0||n.start>s))return n.start=Math.max(n.start,0),n.stop=Math.min(n.stop,s),n};var It=new o,Dt=new o;O.rayEllipsoid=function(t,e){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("ellipsoid is required.");let r=e.oneOverRadii,n=o.multiplyComponents(r,t.origin,It),i=o.multiplyComponents(r,t.direction,Dt),c=o.magnitudeSquared(n),s=o.dot(n,i),u,a,f,l,d;if(c>1){if(s>=0)return;let p=s*s;if(u=c-1,a=o.magnitudeSquared(i),f=a*u,p<f)return;if(p>f){l=s*s-f,d=-s+Math.sqrt(l);let m=d/a,h=u/d;return m<h?new Z(m,h):{start:h,stop:m}}let q=Math.sqrt(u/a);return new Z(q,q)}else if(c<1)return u=c-1,a=o.magnitudeSquared(i),f=a*u,l=s*s-f,d=-s+Math.sqrt(l),new Z(0,d/a);if(s<0)return a=o.magnitudeSquared(i),new Z(0,-s/a)};function Q(t,e,r){let n=t+e;return R.sign(t)!==R.sign(e)&&Math.abs(n/Math.max(Math.abs(t),Math.abs(e)))<r?0:n}O.quadraticVectorExpression=function(t,e,r,n,i){let c=n*n,s=i*i,u=(t[b.COLUMN1ROW1]-t[b.COLUMN2ROW2])*s,a=i*(n*Q(t[b.COLUMN1ROW0],t[b.COLUMN0ROW1],R.EPSILON15)+e.y),f=t[b.COLUMN0ROW0]*c+t[b.COLUMN2ROW2]*s+n*e.x+r,l=s*Q(t[b.COLUMN2ROW1],t[b.COLUMN1ROW2],R.EPSILON15),d=i*(n*Q(t[b.COLUMN2ROW0],t[b.COLUMN0ROW2])+e.z),p,q=[];if(d===0&&l===0){if(p=T.computeRealRoots(u,a,f),p.length===0)return q;let P=p[0],y=Math.sqrt(Math.max(1-P*P,0));if(q.push(new o(n,i*P,i*-y)),q.push(new o(n,i*P,i*y)),p.length===2){let S=p[1],M=Math.sqrt(Math.max(1-S*S,0));q.push(new o(n,i*S,i*-M)),q.push(new o(n,i*S,i*M))}return q}let m=d*d,h=l*l,E=u*u,D=d*l,W=E+h,V=2*(a*u+D),L=2*f*u+a*a-h+m,B=2*(f*a-D),I=f*f-m;if(W===0&&V===0&&L===0&&B===0)return q;p=dt.computeRealRoots(W,V,L,B,I);let C=p.length;if(C===0)return q;for(let P=0;P<C;++P){let y=p[P],S=y*y,M=Math.max(1-S,0),N=Math.sqrt(M),x;R.sign(u)===R.sign(f)?x=Q(u*S+f,a*y,R.EPSILON12):R.sign(f)===R.sign(a*y)?x=Q(u*S,a*y+f,R.EPSILON12):x=Q(u*S+a*y,f,R.EPSILON12);let _=Q(l*y,d,R.EPSILON15),A=x*_;A<0?q.push(new o(n,i*y,i*N)):A>0?q.push(new o(n,i*y,i*-N)):N!==0?(q.push(new o(n,i*y,i*-N)),q.push(new o(n,i*y,i*N)),++P):q.push(new o(n,i*y,i*N))}return q};var ct=new o,wt=new o,qt=new o,K=new o,Bt=new o,xt=new b,Tt=new b,zt=new b,Wt=new b,Vt=new b,gt=new b,pt=new b,St=new o,vt=new o,Ut=new ft;O.grazingAltitudeLocation=function(t,e){if(!g(t))throw new w("ray is required.");if(!g(e))throw new w("ellipsoid is required.");let r=t.origin,n=t.direction;if(!o.equals(r,o.ZERO)){let I=e.geodeticSurfaceNormal(r,ct);if(o.dot(n,I)>=0)return r}let i=g(this.rayEllipsoid(t,e)),c=e.transformPositionToScaledSpace(n,ct),s=o.normalize(c,c),u=o.mostOrthogonalAxis(c,K),a=o.normalize(o.cross(u,s,wt),wt),f=o.normalize(o.cross(s,a,qt),qt),l=xt;l[0]=s.x,l[1]=s.y,l[2]=s.z,l[3]=a.x,l[4]=a.y,l[5]=a.z,l[6]=f.x,l[7]=f.y,l[8]=f.z;let d=b.transpose(l,Tt),p=b.fromScale(e.radii,zt),q=b.fromScale(e.oneOverRadii,Wt),m=Vt;m[0]=0,m[1]=-n.z,m[2]=n.y,m[3]=n.z,m[4]=0,m[5]=-n.x,m[6]=-n.y,m[7]=n.x,m[8]=0;let h=b.multiply(b.multiply(d,q,gt),m,gt),E=b.multiply(b.multiply(h,p,pt),l,pt),D=b.multiplyByVector(h,r,Bt),W=O.quadraticVectorExpression(E,o.negate(D,ct),0,0,1),V,L,B=W.length;if(B>0){let I=o.clone(o.ZERO,vt),C=Number.NEGATIVE_INFINITY;for(let y=0;y<B;++y){V=b.multiplyByVector(p,b.multiplyByVector(l,W[y],St),St);let S=o.normalize(o.subtract(V,r,K),K),M=o.dot(S,n);M>C&&(C=M,I=o.clone(V,I))}let P=e.cartesianToCartographic(I,Ut);return C=R.clamp(C,0,1),L=o.magnitude(o.subtract(I,r,K))*Math.sqrt(1-C*C),L=i?-L:L,P.height=L,e.cartographicToCartesian(P,new o)}};var Qt=new o;O.lineSegmentPlane=function(t,e,r,n){if(!g(t))throw new w("endPoint0 is required.");if(!g(e))throw new w("endPoint1 is required.");if(!g(r))throw new w("plane is required.");g(n)||(n=new o);let i=o.subtract(e,t,Qt),c=r.normal,s=o.dot(c,i);if(Math.abs(s)<R.EPSILON6)return;let u=o.dot(c,t),a=-(r.distance+u)/s;if(!(a<0||a>1))return o.multiplyByScalar(i,a,n),o.add(t,n,n),n};O.trianglePlaneIntersection=function(t,e,r,n){if(!g(t)||!g(e)||!g(r)||!g(n))throw new w("p0, p1, p2, and plane are required.");let i=n.normal,c=n.distance,s=o.dot(i,t)+c<0,u=o.dot(i,e)+c<0,a=o.dot(i,r)+c<0,f=0;f+=s?1:0,f+=u?1:0,f+=a?1:0;let l,d;if((f===1||f===2)&&(l=new o,d=new o),f===1){if(s)return O.lineSegmentPlane(t,e,n,l),O.lineSegmentPlane(t,r,n,d),{positions:[t,e,r,l,d],indices:[0,3,4,1,2,4,1,4,3]};if(u)return O.lineSegmentPlane(e,r,n,l),O.lineSegmentPlane(e,t,n,d),{positions:[t,e,r,l,d],indices:[1,3,4,2,0,4,2,4,3]};if(a)return O.lineSegmentPlane(r,t,n,l),O.lineSegmentPlane(r,e,n,d),{positions:[t,e,r,l,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(f===2)if(s)if(u){if(!a)return O.lineSegmentPlane(t,r,n,l),O.lineSegmentPlane(e,r,n,d),{positions:[t,e,r,l,d],indices:[0,1,4,0,4,3,2,3,4]}}else return O.lineSegmentPlane(r,e,n,l),O.lineSegmentPlane(t,e,n,d),{positions:[t,e,r,l,d],indices:[2,0,4,2,4,3,1,3,4]};else return O.lineSegmentPlane(e,t,n,l),O.lineSegmentPlane(r,t,n,d),{positions:[t,e,r,l,d],indices:[1,2,4,1,4,3,0,3,4]}};var we=O;export{st as a,we as b}; diff --git a/public/lib/Cesium/Workers/chunk-27UWHT4D.js b/public/lib/Cesium/Workers/chunk-GNTVNTUY.js similarity index 94% rename from public/lib/Cesium/Workers/chunk-27UWHT4D.js rename to public/lib/Cesium/Workers/chunk-GNTVNTUY.js index 38c095f72..ddba4e63d 100644 --- a/public/lib/Cesium/Workers/chunk-27UWHT4D.js +++ b/public/lib/Cesium/Workers/chunk-GNTVNTUY.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as N}from"./chunk-2NAI7YQ3.js";import{a as i}from"./chunk-6KLVDWWE.js";import{a}from"./chunk-6P5KAIBX.js";import{e as T}from"./chunk-4FSVUTPL.js";var r={BYTE:N.BYTE,UNSIGNED_BYTE:N.UNSIGNED_BYTE,SHORT:N.SHORT,UNSIGNED_SHORT:N.UNSIGNED_SHORT,INT:N.INT,UNSIGNED_INT:N.UNSIGNED_INT,FLOAT:N.FLOAT,DOUBLE:N.DOUBLE};r.getSizeInBytes=function(n){if(!T(n))throw new a("value is required.");switch(n){case r.BYTE:return Int8Array.BYTES_PER_ELEMENT;case r.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case r.SHORT:return Int16Array.BYTES_PER_ELEMENT;case r.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case r.INT:return Int32Array.BYTES_PER_ELEMENT;case r.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case r.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case r.DOUBLE:return Float64Array.BYTES_PER_ELEMENT;default:throw new a("componentDatatype is not a valid value.")}};r.fromTypedArray=function(n){if(n instanceof Int8Array)return r.BYTE;if(n instanceof Uint8Array)return r.UNSIGNED_BYTE;if(n instanceof Int16Array)return r.SHORT;if(n instanceof Uint16Array)return r.UNSIGNED_SHORT;if(n instanceof Int32Array)return r.INT;if(n instanceof Uint32Array)return r.UNSIGNED_INT;if(n instanceof Float32Array)return r.FLOAT;if(n instanceof Float64Array)return r.DOUBLE;throw new a("array must be an Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, or Float64Array.")};r.validate=function(n){return T(n)&&(n===r.BYTE||n===r.UNSIGNED_BYTE||n===r.SHORT||n===r.UNSIGNED_SHORT||n===r.INT||n===r.UNSIGNED_INT||n===r.FLOAT||n===r.DOUBLE)};r.createTypedArray=function(n,e){if(!T(n))throw new a("componentDatatype is required.");if(!T(e))throw new a("valuesOrLength is required.");switch(n){case r.BYTE:return new Int8Array(e);case r.UNSIGNED_BYTE:return new Uint8Array(e);case r.SHORT:return new Int16Array(e);case r.UNSIGNED_SHORT:return new Uint16Array(e);case r.INT:return new Int32Array(e);case r.UNSIGNED_INT:return new Uint32Array(e);case r.FLOAT:return new Float32Array(e);case r.DOUBLE:return new Float64Array(e);default:throw new a("componentDatatype is not a valid value.")}};r.createArrayBufferView=function(n,e,E,t){if(!T(n))throw new a("componentDatatype is required.");if(!T(e))throw new a("buffer is required.");switch(E=i(E,0),t=i(t,(e.byteLength-E)/r.getSizeInBytes(n)),n){case r.BYTE:return new Int8Array(e,E,t);case r.UNSIGNED_BYTE:return new Uint8Array(e,E,t);case r.SHORT:return new Int16Array(e,E,t);case r.UNSIGNED_SHORT:return new Uint16Array(e,E,t);case r.INT:return new Int32Array(e,E,t);case r.UNSIGNED_INT:return new Uint32Array(e,E,t);case r.FLOAT:return new Float32Array(e,E,t);case r.DOUBLE:return new Float64Array(e,E,t);default:throw new a("componentDatatype is not a valid value.")}};r.fromName=function(n){switch(n){case"BYTE":return r.BYTE;case"UNSIGNED_BYTE":return r.UNSIGNED_BYTE;case"SHORT":return r.SHORT;case"UNSIGNED_SHORT":return r.UNSIGNED_SHORT;case"INT":return r.INT;case"UNSIGNED_INT":return r.UNSIGNED_INT;case"FLOAT":return r.FLOAT;case"DOUBLE":return r.DOUBLE;default:throw new a("name is not a valid value.")}};var U=Object.freeze(r);export{U as a}; +import{a as N}from"./chunk-6DFUP66D.js";import{a as i}from"./chunk-CJFJKB5V.js";import{a}from"./chunk-4BGNE6LH.js";import{e as T}from"./chunk-OX5CTLXY.js";var r={BYTE:N.BYTE,UNSIGNED_BYTE:N.UNSIGNED_BYTE,SHORT:N.SHORT,UNSIGNED_SHORT:N.UNSIGNED_SHORT,INT:N.INT,UNSIGNED_INT:N.UNSIGNED_INT,FLOAT:N.FLOAT,DOUBLE:N.DOUBLE};r.getSizeInBytes=function(n){if(!T(n))throw new a("value is required.");switch(n){case r.BYTE:return Int8Array.BYTES_PER_ELEMENT;case r.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case r.SHORT:return Int16Array.BYTES_PER_ELEMENT;case r.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case r.INT:return Int32Array.BYTES_PER_ELEMENT;case r.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case r.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case r.DOUBLE:return Float64Array.BYTES_PER_ELEMENT;default:throw new a("componentDatatype is not a valid value.")}};r.fromTypedArray=function(n){if(n instanceof Int8Array)return r.BYTE;if(n instanceof Uint8Array)return r.UNSIGNED_BYTE;if(n instanceof Int16Array)return r.SHORT;if(n instanceof Uint16Array)return r.UNSIGNED_SHORT;if(n instanceof Int32Array)return r.INT;if(n instanceof Uint32Array)return r.UNSIGNED_INT;if(n instanceof Float32Array)return r.FLOAT;if(n instanceof Float64Array)return r.DOUBLE;throw new a("array must be an Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, or Float64Array.")};r.validate=function(n){return T(n)&&(n===r.BYTE||n===r.UNSIGNED_BYTE||n===r.SHORT||n===r.UNSIGNED_SHORT||n===r.INT||n===r.UNSIGNED_INT||n===r.FLOAT||n===r.DOUBLE)};r.createTypedArray=function(n,e){if(!T(n))throw new a("componentDatatype is required.");if(!T(e))throw new a("valuesOrLength is required.");switch(n){case r.BYTE:return new Int8Array(e);case r.UNSIGNED_BYTE:return new Uint8Array(e);case r.SHORT:return new Int16Array(e);case r.UNSIGNED_SHORT:return new Uint16Array(e);case r.INT:return new Int32Array(e);case r.UNSIGNED_INT:return new Uint32Array(e);case r.FLOAT:return new Float32Array(e);case r.DOUBLE:return new Float64Array(e);default:throw new a("componentDatatype is not a valid value.")}};r.createArrayBufferView=function(n,e,E,t){if(!T(n))throw new a("componentDatatype is required.");if(!T(e))throw new a("buffer is required.");switch(E=i(E,0),t=i(t,(e.byteLength-E)/r.getSizeInBytes(n)),n){case r.BYTE:return new Int8Array(e,E,t);case r.UNSIGNED_BYTE:return new Uint8Array(e,E,t);case r.SHORT:return new Int16Array(e,E,t);case r.UNSIGNED_SHORT:return new Uint16Array(e,E,t);case r.INT:return new Int32Array(e,E,t);case r.UNSIGNED_INT:return new Uint32Array(e,E,t);case r.FLOAT:return new Float32Array(e,E,t);case r.DOUBLE:return new Float64Array(e,E,t);default:throw new a("componentDatatype is not a valid value.")}};r.fromName=function(n){switch(n){case"BYTE":return r.BYTE;case"UNSIGNED_BYTE":return r.UNSIGNED_BYTE;case"SHORT":return r.SHORT;case"UNSIGNED_SHORT":return r.UNSIGNED_SHORT;case"INT":return r.INT;case"UNSIGNED_INT":return r.UNSIGNED_INT;case"FLOAT":return r.FLOAT;case"DOUBLE":return r.DOUBLE;default:throw new a("name is not a valid value.")}};var U=Object.freeze(r);export{U as a}; diff --git a/public/lib/Cesium/Workers/chunk-2HIRFTYB.js b/public/lib/Cesium/Workers/chunk-GP5GXDAP.js similarity index 90% rename from public/lib/Cesium/Workers/chunk-2HIRFTYB.js rename to public/lib/Cesium/Workers/chunk-GP5GXDAP.js index ca3a6f43c..ec2c5de3f 100644 --- a/public/lib/Cesium/Workers/chunk-2HIRFTYB.js +++ b/public/lib/Cesium/Workers/chunk-GP5GXDAP.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as S}from"./chunk-FHVNMDL2.js";import{a as j}from"./chunk-IFAARW2T.js";import{a as D}from"./chunk-UGB43LJM.js";import{a as V}from"./chunk-WFZLZ2P5.js";import{b as T,c as B,d as L}from"./chunk-CTEHZS7O.js";import{d as O}from"./chunk-4TXI27XR.js";import{a as x}from"./chunk-27UWHT4D.js";import{a as c,d as l}from"./chunk-RFPX772U.js";import{a as E}from"./chunk-RAYRECQS.js";import{a as m}from"./chunk-6KLVDWWE.js";import{a as _}from"./chunk-6P5KAIBX.js";import{e as d}from"./chunk-4FSVUTPL.js";var q=new c,M=new c;function U(e){let t=e.center;M=c.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,M),e.height,M),M=c.add(t,M,M);let i=new O(M,e.semiMajorAxis),f=S.computeEllipsePositions(e,!1,!0).outerPositions,o=new V({position:new L({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:S.raisePositionsToHeight(f,e,!1)})}),r=f.length/3,u=D.createTypedArray(r,r*2),h=0;for(let n=0;n<r;++n)u[h++]=n,u[h++]=(n+1)%r;return{boundingSphere:i,attributes:o,indices:u}}var N=new O,P=new O;function R(e){let t=e.center,i=e.ellipsoid,f=e.semiMajorAxis,o=c.multiplyByScalar(i.geodeticSurfaceNormal(t,q),e.height,q);N.center=c.add(t,o,N.center),N.radius=f,o=c.multiplyByScalar(i.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),P.center=c.add(t,o,P.center),P.radius=f;let r=S.computeEllipsePositions(e,!1,!0).outerPositions,u=new V({position:new L({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:S.raisePositionsToHeight(r,e,!0)})});r=u.position.values;let h=O.union(N,P),n=r.length/3;if(d(e.offsetAttribute)){let g=new Uint8Array(n);if(e.offsetAttribute===j.TOP)g=g.fill(1,0,n/2);else{let H=e.offsetAttribute===j.NONE?0:1;g=g.fill(H)}u.applyOffset=new L({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let p=m(e.numberOfVerticalLines,16);p=E.clamp(p,0,n/2);let a=D.createTypedArray(n,n*2+p*2);n/=2;let A=0,s;for(s=0;s<n;++s)a[A++]=s,a[A++]=(s+1)%n,a[A++]=s+n,a[A++]=(s+1)%n+n;let k;if(p>0){let g=Math.min(p,n);k=Math.round(n/g);let H=Math.min(k*p,n);for(s=0;s<H;s+=k)a[A++]=s,a[A++]=s+n}return{boundingSphere:h,attributes:u,indices:a}}function w(e){e=m(e,m.EMPTY_OBJECT);let t=e.center,i=m(e.ellipsoid,l.default),f=e.semiMajorAxis,o=e.semiMinorAxis,r=m(e.granularity,E.RADIANS_PER_DEGREE);if(!d(t))throw new _("center is required.");if(!d(f))throw new _("semiMajorAxis is required.");if(!d(o))throw new _("semiMinorAxis is required.");if(f<o)throw new _("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(r<=0)throw new _("granularity must be greater than zero.");let u=m(e.height,0),h=m(e.extrudedHeight,u);this._center=c.clone(t),this._semiMajorAxis=f,this._semiMinorAxis=o,this._ellipsoid=l.clone(i),this._rotation=m(e.rotation,0),this._height=Math.max(h,u),this._granularity=r,this._extrudedHeight=Math.min(h,u),this._numberOfVerticalLines=Math.max(m(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}w.packedLength=c.packedLength+l.packedLength+8;w.pack=function(e,t,i){if(!d(e))throw new _("value is required");if(!d(t))throw new _("array is required");return i=m(i,0),c.pack(e._center,t,i),i+=c.packedLength,l.pack(e._ellipsoid,t,i),i+=l.packedLength,t[i++]=e._semiMajorAxis,t[i++]=e._semiMinorAxis,t[i++]=e._rotation,t[i++]=e._height,t[i++]=e._granularity,t[i++]=e._extrudedHeight,t[i++]=e._numberOfVerticalLines,t[i]=m(e._offsetAttribute,-1),t};var y=new c,C=new l,b={center:y,ellipsoid:C,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};w.unpack=function(e,t,i){if(!d(e))throw new _("array is required");t=m(t,0);let f=c.unpack(e,t,y);t+=c.packedLength;let o=l.unpack(e,t,C);t+=l.packedLength;let r=e[t++],u=e[t++],h=e[t++],n=e[t++],p=e[t++],a=e[t++],A=e[t++],s=e[t];return d(i)?(i._center=c.clone(f,i._center),i._ellipsoid=l.clone(o,i._ellipsoid),i._semiMajorAxis=r,i._semiMinorAxis=u,i._rotation=h,i._height=n,i._granularity=p,i._extrudedHeight=a,i._numberOfVerticalLines=A,i._offsetAttribute=s===-1?void 0:s,i):(b.height=n,b.extrudedHeight=a,b.granularity=p,b.rotation=h,b.semiMajorAxis=r,b.semiMinorAxis=u,b.numberOfVerticalLines=A,b.offsetAttribute=s===-1?void 0:s,new w(b))};w.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,i=e._extrudedHeight,f=!E.equalsEpsilon(t,i,0,E.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(f)o.extrudedHeight=i,o.offsetAttribute=e._offsetAttribute,r=R(o);else if(r=U(o),d(e._offsetAttribute)){let u=r.attributes.position.values.length,h=e._offsetAttribute===j.NONE?0:1,n=new Uint8Array(u/3).fill(h);r.attributes.applyOffset=new L({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new B({attributes:r.attributes,indices:r.indices,primitiveType:T.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var ie=w;export{ie as a}; +import{a as S}from"./chunk-TZGYF5KJ.js";import{a as j}from"./chunk-TP5B32RY.js";import{a as D}from"./chunk-A3VS2OZ2.js";import{a as V}from"./chunk-E2XIHPTZ.js";import{b as T,c as B,d as L}from"./chunk-72NMS5KE.js";import{d as O}from"./chunk-JLMPKQO4.js";import{a as x}from"./chunk-GNTVNTUY.js";import{a as c,d as l}from"./chunk-HWH6BBH6.js";import{a as E}from"./chunk-DW4EQ6YI.js";import{a as m}from"./chunk-CJFJKB5V.js";import{a as _}from"./chunk-4BGNE6LH.js";import{e as d}from"./chunk-OX5CTLXY.js";var q=new c,M=new c;function U(e){let t=e.center;M=c.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,M),e.height,M),M=c.add(t,M,M);let i=new O(M,e.semiMajorAxis),f=S.computeEllipsePositions(e,!1,!0).outerPositions,o=new V({position:new L({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:S.raisePositionsToHeight(f,e,!1)})}),r=f.length/3,u=D.createTypedArray(r,r*2),h=0;for(let n=0;n<r;++n)u[h++]=n,u[h++]=(n+1)%r;return{boundingSphere:i,attributes:o,indices:u}}var N=new O,P=new O;function R(e){let t=e.center,i=e.ellipsoid,f=e.semiMajorAxis,o=c.multiplyByScalar(i.geodeticSurfaceNormal(t,q),e.height,q);N.center=c.add(t,o,N.center),N.radius=f,o=c.multiplyByScalar(i.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),P.center=c.add(t,o,P.center),P.radius=f;let r=S.computeEllipsePositions(e,!1,!0).outerPositions,u=new V({position:new L({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:S.raisePositionsToHeight(r,e,!0)})});r=u.position.values;let h=O.union(N,P),n=r.length/3;if(d(e.offsetAttribute)){let g=new Uint8Array(n);if(e.offsetAttribute===j.TOP)g=g.fill(1,0,n/2);else{let H=e.offsetAttribute===j.NONE?0:1;g=g.fill(H)}u.applyOffset=new L({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let p=m(e.numberOfVerticalLines,16);p=E.clamp(p,0,n/2);let a=D.createTypedArray(n,n*2+p*2);n/=2;let A=0,s;for(s=0;s<n;++s)a[A++]=s,a[A++]=(s+1)%n,a[A++]=s+n,a[A++]=(s+1)%n+n;let k;if(p>0){let g=Math.min(p,n);k=Math.round(n/g);let H=Math.min(k*p,n);for(s=0;s<H;s+=k)a[A++]=s,a[A++]=s+n}return{boundingSphere:h,attributes:u,indices:a}}function w(e){e=m(e,m.EMPTY_OBJECT);let t=e.center,i=m(e.ellipsoid,l.default),f=e.semiMajorAxis,o=e.semiMinorAxis,r=m(e.granularity,E.RADIANS_PER_DEGREE);if(!d(t))throw new _("center is required.");if(!d(f))throw new _("semiMajorAxis is required.");if(!d(o))throw new _("semiMinorAxis is required.");if(f<o)throw new _("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(r<=0)throw new _("granularity must be greater than zero.");let u=m(e.height,0),h=m(e.extrudedHeight,u);this._center=c.clone(t),this._semiMajorAxis=f,this._semiMinorAxis=o,this._ellipsoid=l.clone(i),this._rotation=m(e.rotation,0),this._height=Math.max(h,u),this._granularity=r,this._extrudedHeight=Math.min(h,u),this._numberOfVerticalLines=Math.max(m(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}w.packedLength=c.packedLength+l.packedLength+8;w.pack=function(e,t,i){if(!d(e))throw new _("value is required");if(!d(t))throw new _("array is required");return i=m(i,0),c.pack(e._center,t,i),i+=c.packedLength,l.pack(e._ellipsoid,t,i),i+=l.packedLength,t[i++]=e._semiMajorAxis,t[i++]=e._semiMinorAxis,t[i++]=e._rotation,t[i++]=e._height,t[i++]=e._granularity,t[i++]=e._extrudedHeight,t[i++]=e._numberOfVerticalLines,t[i]=m(e._offsetAttribute,-1),t};var y=new c,C=new l,b={center:y,ellipsoid:C,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};w.unpack=function(e,t,i){if(!d(e))throw new _("array is required");t=m(t,0);let f=c.unpack(e,t,y);t+=c.packedLength;let o=l.unpack(e,t,C);t+=l.packedLength;let r=e[t++],u=e[t++],h=e[t++],n=e[t++],p=e[t++],a=e[t++],A=e[t++],s=e[t];return d(i)?(i._center=c.clone(f,i._center),i._ellipsoid=l.clone(o,i._ellipsoid),i._semiMajorAxis=r,i._semiMinorAxis=u,i._rotation=h,i._height=n,i._granularity=p,i._extrudedHeight=a,i._numberOfVerticalLines=A,i._offsetAttribute=s===-1?void 0:s,i):(b.height=n,b.extrudedHeight=a,b.granularity=p,b.rotation=h,b.semiMajorAxis=r,b.semiMinorAxis=u,b.numberOfVerticalLines=A,b.offsetAttribute=s===-1?void 0:s,new w(b))};w.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,i=e._extrudedHeight,f=!E.equalsEpsilon(t,i,0,E.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(f)o.extrudedHeight=i,o.offsetAttribute=e._offsetAttribute,r=R(o);else if(r=U(o),d(e._offsetAttribute)){let u=r.attributes.position.values.length,h=e._offsetAttribute===j.NONE?0:1,n=new Uint8Array(u/3).fill(h);r.attributes.applyOffset=new L({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}return new B({attributes:r.attributes,indices:r.indices,primitiveType:T.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var ie=w;export{ie as a}; diff --git a/public/lib/Cesium/Workers/chunk-QE3ZUOZY.js b/public/lib/Cesium/Workers/chunk-GVFM5H7M.js similarity index 91% rename from public/lib/Cesium/Workers/chunk-QE3ZUOZY.js rename to public/lib/Cesium/Workers/chunk-GVFM5H7M.js index e618a300f..e05d05cc5 100644 --- a/public/lib/Cesium/Workers/chunk-QE3ZUOZY.js +++ b/public/lib/Cesium/Workers/chunk-GVFM5H7M.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,5 +23,5 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{e}from"./chunk-4FSVUTPL.js";function t(r){this.name="RuntimeError",this.message=r;let o;try{throw new Error}catch(s){o=s.stack}this.stack=o}e(Object.create)&&(t.prototype=Object.create(Error.prototype),t.prototype.constructor=t);t.prototype.toString=function(){let r=`${this.name}: ${this.message}`;return e(this.stack)&&(r+=` +import{e}from"./chunk-OX5CTLXY.js";function t(r){this.name="RuntimeError",this.message=r;let o;try{throw new Error}catch(s){o=s.stack}this.stack=o}e(Object.create)&&(t.prototype=Object.create(Error.prototype),t.prototype.constructor=t);t.prototype.toString=function(){let r=`${this.name}: ${this.message}`;return e(this.stack)&&(r+=` ${this.stack.toString()}`),r};var c=t;export{c as a}; diff --git a/public/lib/Cesium/Workers/chunk-GXCW7MIH.js b/public/lib/Cesium/Workers/chunk-GXCW7MIH.js deleted file mode 100644 index c3cfea295..000000000 --- a/public/lib/Cesium/Workers/chunk-GXCW7MIH.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @license - * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 - * - * Copyright 2011-2022 Cesium Contributors - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * - * Columbus View (Pat. Pend.) - * - * Portions licensed separately. - * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. - */ - -import{a as Z}from"./chunk-BUNDO2NJ.js";import{a as R}from"./chunk-3OZXQUAM.js";import{a as ae,b as v,f as _,g as se,h as le}from"./chunk-GFUBU5RD.js";import{a as e,b as ce,c as $,e as j}from"./chunk-RFPX772U.js";import{a as Q}from"./chunk-RAYRECQS.js";var we={ROUNDED:0,MITERED:1,BEVELED:2},L=Object.freeze(we);var g=[new e,new e],ge=new e,pe=new e,xe=new e,Se=new e,Te=new e,Ee=new e,Be=new e,Ce=new e,ze=new e,P=new e,W=new e,I={},ee=new ce;function Ae(o,c){let a=new Array(o.length);for(let r=0;r<o.length;r++){let t=o[r];ee=c.cartesianToCartographic(t,ee),a[r]=ee.height,o[r]=c.scaleToGeodeticSurface(t,t)}return a}function te(o,c,a,r){let t=o[0],n=o[1],f=e.angleBetween(t,n),s=Math.ceil(f/r),m=new Array(s),l;if(c===a){for(l=0;l<s;l++)m[l]=c;return m.push(a),m}let y=(a-c)/s;for(l=1;l<s;l++){let x=c+l*y;m[l]=x}return m[0]=c,m.push(a),m}var X=new e,Y=new e;function Oe(o,c,a,r){let t=new R(a,r),n=t.projectPointOntoPlane(e.add(a,o,X),X),f=t.projectPointOntoPlane(e.add(a,c,Y),Y),s=$.angleBetween(n,f);return f.x*n.y-f.y*n.x>=0?-s:s}var je=new e(-1,0,0),N=new v,De=new v,re=new j,Me=j.IDENTITY.clone(),ve=new e,Ne=new ae,ie=new e;function D(o,c,a,r,t,n,f,s){let m=ve,l=Ne;N=se.eastNorthUpToFixedFrame(o,t,N),m=v.multiplyByPointAsVector(N,je,m),m=e.normalize(m,m);let T=Oe(m,c,o,t);re=j.fromRotationZ(T,re),ie.z=n,N=v.multiplyTransformation(N,v.fromRotationTranslation(re,ie,De),N);let y=Me;y[0]=f;for(let x=0;x<s;x++)for(let i=0;i<a.length;i+=3)l=e.fromArray(a,i,l),l=j.multiplyByVector(y,l,l),l=v.multiplyByPoint(N,l,l),r.push(l.x,l.y,l.z);return r}var Ve=new e;function ne(o,c,a,r,t,n,f){for(let s=0;s<o.length;s+=3){let m=e.fromArray(o,s,Ve);r=D(m,c,a,r,t,n[s/3],f,1)}return r}function be(o,c){let a=o.length,r=new Array(a*6),t=0,n=c.x+c.width/2,f=c.y+c.height/2,s=o[0];r[t++]=s.x-n,r[t++]=0,r[t++]=s.y-f;for(let m=1;m<a;m++){s=o[m];let l=s.x-n,T=s.y-f;r[t++]=l,r[t++]=0,r[t++]=T,r[t++]=l,r[t++]=0,r[t++]=T}return s=o[0],r[t++]=s.x-n,r[t++]=0,r[t++]=s.y-f,r}function fe(o,c){let a=o.length,r=new Array(a*3),t=0,n=c.x+c.width/2,f=c.y+c.height/2;for(let s=0;s<a;s++)r[t++]=o[s].x-n,r[t++]=0,r[t++]=o[s].y-f;return r}var me=new _,ue=new e,he=new j;function ye(o,c,a,r,t,n,f,s,m,l){let T=e.angleBetween(e.subtract(c,o,P),e.subtract(a,o,W)),y=r===L.BEVELED?0:Math.ceil(T/Q.toRadians(5)),x;t?x=j.fromQuaternion(_.fromAxisAngle(e.negate(o,P),T/(y+1),me),he):x=j.fromQuaternion(_.fromAxisAngle(o,T/(y+1),me),he);let i,d;if(c=e.clone(c,ue),y>0){let M=l?2:1;for(let w=0;w<y;w++)c=j.multiplyByVector(x,c,c),i=e.subtract(c,o,P),i=e.normalize(i,i),t||(i=e.negate(i,i)),d=n.scaleToGeodeticSurface(c,W),f=D(d,i,s,f,n,m,1,M)}else i=e.subtract(c,o,P),i=e.normalize(i,i),t||(i=e.negate(i,i)),d=n.scaleToGeodeticSurface(c,W),f=D(d,i,s,f,n,m,1,1),a=e.clone(a,ue),i=e.subtract(a,o,P),i=e.normalize(i,i),t||(i=e.negate(i,i)),d=n.scaleToGeodeticSurface(a,W),f=D(d,i,s,f,n,m,1,1);return f}I.removeDuplicatesFromShape=function(o){let c=o.length,a=[];for(let r=c-1,t=0;t<c;r=t++){let n=o[r],f=o[t];$.equals(n,f)||a.push(f)}return a};I.angleIsGreaterThanPi=function(o,c,a,r){let t=new R(a,r),n=t.projectPointOntoPlane(e.add(a,o,X),X),f=t.projectPointOntoPlane(e.add(a,c,Y),Y);return f.x*n.y-f.y*n.x>=0};var Fe=new e,Ge=new e;I.computePositions=function(o,c,a,r,t){let n=r._ellipsoid,f=Ae(o,n),s=r._granularity,m=r._cornerType,l=t?be(c,a):fe(c,a),T=t?fe(c,a):void 0,y=a.height/2,x=a.width/2,i=o.length,d=[],M=t?[]:void 0,w=ge,O=pe,h=xe,S=Se,B=Te,C=Ee,z=Be,u=Ce,E=ze,p=o[0],V=o[1];S=n.geodeticSurfaceNormal(p,S),w=e.subtract(V,p,w),w=e.normalize(w,w),u=e.cross(S,w,u),u=e.normalize(u,u);let b=f[0],A=f[1];t&&(M=D(p,u,T,M,n,b+y,1,1)),E=e.clone(p,E),p=V,O=e.negate(w,O);let F,G;for(let U=1;U<i-1;U++){let oe=t?2:1;if(V=o[U+1],p.equals(V)){le("Positions are too close and are considered equivalent with rounding error.");continue}w=e.subtract(V,p,w),w=e.normalize(w,w),h=e.add(w,O,h),h=e.normalize(h,h),S=n.geodeticSurfaceNormal(p,S);let q=e.multiplyByScalar(S,e.dot(w,S),Fe);e.subtract(w,q,q),e.normalize(q,q);let H=e.multiplyByScalar(S,e.dot(O,S),Ge);if(e.subtract(O,H,H),e.normalize(H,H),!Q.equalsEpsilon(Math.abs(e.dot(q,H)),1,Q.EPSILON7)){h=e.cross(h,S,h),h=e.cross(S,h,h),h=e.normalize(h,h);let k=1/Math.max(.25,e.magnitude(e.cross(h,O,P))),K=I.angleIsGreaterThanPi(w,O,p,n);K?(B=e.add(p,e.multiplyByScalar(h,k*x,h),B),C=e.add(B,e.multiplyByScalar(u,x,C),C),g[0]=e.clone(E,g[0]),g[1]=e.clone(C,g[1]),F=te(g,b+y,A+y,s),G=Z.generateArc({positions:g,granularity:s,ellipsoid:n}),d=ne(G,u,l,d,n,F,1),u=e.cross(S,w,u),u=e.normalize(u,u),z=e.add(B,e.multiplyByScalar(u,x,z),z),m===L.ROUNDED||m===L.BEVELED?ye(B,C,z,m,K,n,d,l,A+y,t):(h=e.negate(h,h),d=D(p,h,l,d,n,A+y,k,oe)),E=e.clone(z,E)):(B=e.add(p,e.multiplyByScalar(h,k*x,h),B),C=e.add(B,e.multiplyByScalar(u,-x,C),C),g[0]=e.clone(E,g[0]),g[1]=e.clone(C,g[1]),F=te(g,b+y,A+y,s),G=Z.generateArc({positions:g,granularity:s,ellipsoid:n}),d=ne(G,u,l,d,n,F,1),u=e.cross(S,w,u),u=e.normalize(u,u),z=e.add(B,e.multiplyByScalar(u,-x,z),z),m===L.ROUNDED||m===L.BEVELED?ye(B,C,z,m,K,n,d,l,A+y,t):d=D(p,h,l,d,n,A+y,k,oe),E=e.clone(z,E)),O=e.negate(w,O)}else d=D(E,u,l,d,n,b+y,1,1),E=p;b=A,A=f[U+1],p=V}g[0]=e.clone(E,g[0]),g[1]=e.clone(p,g[1]),F=te(g,b+y,A+y,s),G=Z.generateArc({positions:g,granularity:s,ellipsoid:n}),d=ne(G,u,l,d,n,F,1),t&&(M=D(p,u,T,M,n,A+y,1,1)),i=d.length;let de=t?i+M.length:i,J=new Float64Array(de);return J.set(d),t&&J.set(M,i),J};var $e=I;export{L as a,$e as b}; diff --git a/public/lib/Cesium/Workers/chunk-HBXZQO7G.js b/public/lib/Cesium/Workers/chunk-HPB3ARQJ.js similarity index 88% rename from public/lib/Cesium/Workers/chunk-HBXZQO7G.js rename to public/lib/Cesium/Workers/chunk-HPB3ARQJ.js index 74db69467..ae39276ad 100644 --- a/public/lib/Cesium/Workers/chunk-HBXZQO7G.js +++ b/public/lib/Cesium/Workers/chunk-HPB3ARQJ.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as C}from"./chunk-BUNDO2NJ.js";import{a as P}from"./chunk-ZIUWYBT3.js";import{a as O,b as L}from"./chunk-RFPX772U.js";import{a as y}from"./chunk-RAYRECQS.js";import{e as S}from"./chunk-4FSVUTPL.js";var T={};function b(a,e){return y.equalsEpsilon(a.latitude,e.latitude,y.EPSILON10)&&y.equalsEpsilon(a.longitude,e.longitude,y.EPSILON10)}var q=new L,v=new L;function w(a,e,i,h){e=P(e,O.equalsEpsilon);let p=e.length;if(p<2)return;let E=S(h),u=S(i),l=new Array(p),g=new Array(p),r=new Array(p),d=e[0];l[0]=d;let f=a.cartesianToCartographic(d,q);u&&(f.height=i[0]),g[0]=f.height,E?r[0]=h[0]:r[0]=0;let o=g[0],m=r[0],t=o===m,n=1;for(let c=1;c<p;++c){let A=e[c],s=a.cartesianToCartographic(A,v);u&&(s.height=i[c]),t=t&&s.height===0,b(f,s)?f.height<s.height&&(g[n-1]=s.height):(l[n]=A,g[n]=s.height,E?r[n]=h[c]:r[n]=0,t=t&&g[n]===r[n],L.clone(s,f),++n)}if(!(t||n<2))return l.length=n,g.length=n,r.length=n,{positions:l,topHeights:g,bottomHeights:r}}var D=new Array(2),F=new Array(2),B={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};T.computePositions=function(a,e,i,h,p,E){let u=w(a,e,i,h);if(!S(u))return;e=u.positions,i=u.topHeights,h=u.bottomHeights;let l=e.length,g=l-2,r,d,f=y.chordLength(p,a.maximumRadius),o=B;if(o.minDistance=f,o.ellipsoid=a,E){let m=0,t;for(t=0;t<l-1;t++)m+=C.numberOfPoints(e[t],e[t+1],f)+1;r=new Float64Array(m*3),d=new Float64Array(m*3);let n=D,c=F;o.positions=n,o.height=c;let A=0;for(t=0;t<l-1;t++){n[0]=e[t],n[1]=e[t+1],c[0]=i[t],c[1]=i[t+1];let s=C.generateArc(o);r.set(s,A),c[0]=h[t],c[1]=h[t+1],d.set(C.generateArc(o),A),A+=s.length}}else o.positions=e,o.height=i,r=new Float64Array(C.generateArc(o)),o.height=h,d=new Float64Array(C.generateArc(o));return{bottomPositions:d,topPositions:r,numCorners:g}};var j=T;export{j as a}; +import{a as C}from"./chunk-4ULMZV5R.js";import{a as P}from"./chunk-M2TWLQFJ.js";import{a as O,b as L}from"./chunk-HWH6BBH6.js";import{a as y}from"./chunk-DW4EQ6YI.js";import{e as S}from"./chunk-OX5CTLXY.js";var T={};function b(a,e){return y.equalsEpsilon(a.latitude,e.latitude,y.EPSILON10)&&y.equalsEpsilon(a.longitude,e.longitude,y.EPSILON10)}var q=new L,v=new L;function w(a,e,i,h){e=P(e,O.equalsEpsilon);let p=e.length;if(p<2)return;let E=S(h),u=S(i),l=new Array(p),g=new Array(p),r=new Array(p),d=e[0];l[0]=d;let f=a.cartesianToCartographic(d,q);u&&(f.height=i[0]),g[0]=f.height,E?r[0]=h[0]:r[0]=0;let o=g[0],m=r[0],t=o===m,n=1;for(let c=1;c<p;++c){let A=e[c],s=a.cartesianToCartographic(A,v);u&&(s.height=i[c]),t=t&&s.height===0,b(f,s)?f.height<s.height&&(g[n-1]=s.height):(l[n]=A,g[n]=s.height,E?r[n]=h[c]:r[n]=0,t=t&&g[n]===r[n],L.clone(s,f),++n)}if(!(t||n<2))return l.length=n,g.length=n,r.length=n,{positions:l,topHeights:g,bottomHeights:r}}var D=new Array(2),F=new Array(2),B={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};T.computePositions=function(a,e,i,h,p,E){let u=w(a,e,i,h);if(!S(u))return;e=u.positions,i=u.topHeights,h=u.bottomHeights;let l=e.length,g=l-2,r,d,f=y.chordLength(p,a.maximumRadius),o=B;if(o.minDistance=f,o.ellipsoid=a,E){let m=0,t;for(t=0;t<l-1;t++)m+=C.numberOfPoints(e[t],e[t+1],f)+1;r=new Float64Array(m*3),d=new Float64Array(m*3);let n=D,c=F;o.positions=n,o.height=c;let A=0;for(t=0;t<l-1;t++){n[0]=e[t],n[1]=e[t+1],c[0]=i[t],c[1]=i[t+1];let s=C.generateArc(o);r.set(s,A),c[0]=h[t],c[1]=h[t+1],d.set(C.generateArc(o),A),A+=s.length}}else o.positions=e,o.height=i,r=new Float64Array(C.generateArc(o)),o.height=h,d=new Float64Array(C.generateArc(o));return{bottomPositions:d,topPositions:r,numCorners:g}};var j=T;export{j as a}; diff --git a/public/lib/Cesium/Workers/chunk-RFPX772U.js b/public/lib/Cesium/Workers/chunk-HWH6BBH6.js similarity index 99% rename from public/lib/Cesium/Workers/chunk-RFPX772U.js rename to public/lib/Cesium/Workers/chunk-HWH6BBH6.js index a396488d3..a47c27a3c 100644 --- a/public/lib/Cesium/Workers/chunk-RFPX772U.js +++ b/public/lib/Cesium/Workers/chunk-HWH6BBH6.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,6 +23,6 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as w}from"./chunk-RAYRECQS.js";import{a as O}from"./chunk-6KLVDWWE.js";import{a as S,b as c}from"./chunk-6P5KAIBX.js";import{e as u}from"./chunk-4FSVUTPL.js";function f(n,e,o){this.x=O(n,0),this.y=O(e,0),this.z=O(o,0)}f.fromSpherical=function(n,e){c.typeOf.object("spherical",n),u(e)||(e=new f);let o=n.clock,t=n.cone,i=O(n.magnitude,1),p=i*Math.sin(t);return e.x=p*Math.cos(o),e.y=p*Math.sin(o),e.z=i*Math.cos(t),e};f.fromElements=function(n,e,o,t){return u(t)?(t.x=n,t.y=e,t.z=o,t):new f(n,e,o)};f.clone=function(n,e){if(u(n))return u(e)?(e.x=n.x,e.y=n.y,e.z=n.z,e):new f(n.x,n.y,n.z)};f.fromCartesian4=f.clone;f.packedLength=3;f.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),e[o++]=n.x,e[o++]=n.y,e[o]=n.z,e};f.unpack=function(n,e,o){return c.defined("array",n),e=O(e,0),u(o)||(o=new f),o.x=n[e++],o.y=n[e++],o.z=n[e],o};f.packArray=function(n,e){c.defined("array",n);let o=n.length,t=o*3;if(!u(e))e=new Array(t);else{if(!Array.isArray(e)&&e.length!==t)throw new S("If result is a typed array, it must have exactly array.length * 3 elements");e.length!==t&&(e.length=t)}for(let i=0;i<o;++i)f.pack(n[i],e,i*3);return e};f.unpackArray=function(n,e){if(c.defined("array",n),c.typeOf.number.greaterThanOrEquals("array.length",n.length,3),n.length%3!==0)throw new S("array length must be a multiple of 3.");let o=n.length;u(e)?e.length=o/3:e=new Array(o/3);for(let t=0;t<o;t+=3){let i=t/3;e[i]=f.unpack(n,t,e[i])}return e};f.fromArray=f.unpack;f.maximumComponent=function(n){return c.typeOf.object("cartesian",n),Math.max(n.x,n.y,n.z)};f.minimumComponent=function(n){return c.typeOf.object("cartesian",n),Math.min(n.x,n.y,n.z)};f.minimumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.min(n.x,e.x),o.y=Math.min(n.y,e.y),o.z=Math.min(n.z,e.z),o};f.maximumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.max(n.x,e.x),o.y=Math.max(n.y,e.y),o.z=Math.max(n.z,e.z),o};f.clamp=function(n,e,o,t){c.typeOf.object("value",n),c.typeOf.object("min",e),c.typeOf.object("max",o),c.typeOf.object("result",t);let i=w.clamp(n.x,e.x,o.x),p=w.clamp(n.y,e.y,o.y),d=w.clamp(n.z,e.z,o.z);return t.x=i,t.y=p,t.z=d,t};f.magnitudeSquared=function(n){return c.typeOf.object("cartesian",n),n.x*n.x+n.y*n.y+n.z*n.z};f.magnitude=function(n){return Math.sqrt(f.magnitudeSquared(n))};var G=new f;f.distance=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),f.subtract(n,e,G),f.magnitude(G)};f.distanceSquared=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),f.subtract(n,e,G),f.magnitudeSquared(G)};f.normalize=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=f.magnitude(n);if(e.x=n.x/o,e.y=n.y/o,e.z=n.z/o,isNaN(e.x)||isNaN(e.y)||isNaN(e.z))throw new S("normalized result is not a number");return e};f.dot=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),n.x*e.x+n.y*e.y+n.z*e.z};f.multiplyComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x*e.x,o.y=n.y*e.y,o.z=n.z*e.z,o};f.divideComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x/e.x,o.y=n.y/e.y,o.z=n.z/e.z,o};f.add=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x+e.x,o.y=n.y+e.y,o.z=n.z+e.z,o};f.subtract=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x-e.x,o.y=n.y-e.y,o.z=n.z-e.z,o};f.multiplyByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x*e,o.y=n.y*e,o.z=n.z*e,o};f.divideByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x/e,o.y=n.y/e,o.z=n.z/e,o};f.negate=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=-n.x,e.y=-n.y,e.z=-n.z,e};f.abs=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=Math.abs(n.x),e.y=Math.abs(n.y),e.z=Math.abs(n.z),e};var ln=new f;f.lerp=function(n,e,o,t){return c.typeOf.object("start",n),c.typeOf.object("end",e),c.typeOf.number("t",o),c.typeOf.object("result",t),f.multiplyByScalar(e,o,ln),t=f.multiplyByScalar(n,1-o,t),f.add(ln,t,t)};var Y=new f,yn=new f;f.angleBetween=function(n,e){c.typeOf.object("left",n),c.typeOf.object("right",e),f.normalize(n,Y),f.normalize(e,yn);let o=f.dot(Y,yn),t=f.magnitude(f.cross(Y,yn,Y));return Math.atan2(t,o)};var Xn=new f;f.mostOrthogonalAxis=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=f.normalize(n,Xn);return f.abs(o,o),o.x<=o.y?o.x<=o.z?e=f.clone(f.UNIT_X,e):e=f.clone(f.UNIT_Z,e):o.y<=o.z?e=f.clone(f.UNIT_Y,e):e=f.clone(f.UNIT_Z,e),e};f.projectVector=function(n,e,o){c.defined("a",n),c.defined("b",e),c.defined("result",o);let t=f.dot(n,e)/f.dot(e,e);return f.multiplyByScalar(e,t,o)};f.equals=function(n,e){return n===e||u(n)&&u(e)&&n.x===e.x&&n.y===e.y&&n.z===e.z};f.equalsArray=function(n,e,o){return n.x===e[o]&&n.y===e[o+1]&&n.z===e[o+2]};f.equalsEpsilon=function(n,e,o,t){return n===e||u(n)&&u(e)&&w.equalsEpsilon(n.x,e.x,o,t)&&w.equalsEpsilon(n.y,e.y,o,t)&&w.equalsEpsilon(n.z,e.z,o,t)};f.cross=function(n,e,o){c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o);let t=n.x,i=n.y,p=n.z,d=e.x,m=e.y,s=e.z,h=i*s-p*m,j=p*d-t*s,z=t*m-i*d;return o.x=h,o.y=j,o.z=z,o};f.midpoint=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=(n.x+e.x)*.5,o.y=(n.y+e.y)*.5,o.z=(n.z+e.z)*.5,o};f.fromDegrees=function(n,e,o,t,i){return c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),n=w.toRadians(n),e=w.toRadians(e),f.fromRadians(n,e,o,t,i)};var C=new f,v=new f;f._ellipsoidRadiiSquared=new f(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);f.fromRadians=function(n,e,o,t,i){c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),o=O(o,0);let p=u(t)?t.radiiSquared:f._ellipsoidRadiiSquared,d=Math.cos(e);C.x=d*Math.cos(n),C.y=d*Math.sin(n),C.z=Math.sin(e),C=f.normalize(C,C),f.multiplyComponents(p,C,v);let m=Math.sqrt(f.dot(C,v));return v=f.divideByScalar(v,m,v),C=f.multiplyByScalar(C,o,C),u(i)||(i=new f),f.add(v,C,i)};f.fromDegreesArray=function(n,e,o){if(c.defined("coordinates",n),n.length<2||n.length%2!==0)throw new S("the number of coordinates must be a multiple of 2 and at least 2");let t=n.length;u(o)?o.length=t/2:o=new Array(t/2);for(let i=0;i<t;i+=2){let p=n[i],d=n[i+1],m=i/2;o[m]=f.fromDegrees(p,d,0,e,o[m])}return o};f.fromRadiansArray=function(n,e,o){if(c.defined("coordinates",n),n.length<2||n.length%2!==0)throw new S("the number of coordinates must be a multiple of 2 and at least 2");let t=n.length;u(o)?o.length=t/2:o=new Array(t/2);for(let i=0;i<t;i+=2){let p=n[i],d=n[i+1],m=i/2;o[m]=f.fromRadians(p,d,0,e,o[m])}return o};f.fromDegreesArrayHeights=function(n,e,o){if(c.defined("coordinates",n),n.length<3||n.length%3!==0)throw new S("the number of coordinates must be a multiple of 3 and at least 3");let t=n.length;u(o)?o.length=t/3:o=new Array(t/3);for(let i=0;i<t;i+=3){let p=n[i],d=n[i+1],m=n[i+2],s=i/3;o[s]=f.fromDegrees(p,d,m,e,o[s])}return o};f.fromRadiansArrayHeights=function(n,e,o){if(c.defined("coordinates",n),n.length<3||n.length%3!==0)throw new S("the number of coordinates must be a multiple of 3 and at least 3");let t=n.length;u(o)?o.length=t/3:o=new Array(t/3);for(let i=0;i<t;i+=3){let p=n[i],d=n[i+1],m=n[i+2],s=i/3;o[s]=f.fromRadians(p,d,m,e,o[s])}return o};f.ZERO=Object.freeze(new f(0,0,0));f.ONE=Object.freeze(new f(1,1,1));f.UNIT_X=Object.freeze(new f(1,0,0));f.UNIT_Y=Object.freeze(new f(0,1,0));f.UNIT_Z=Object.freeze(new f(0,0,1));f.prototype.clone=function(n){return f.clone(this,n)};f.prototype.equals=function(n){return f.equals(this,n)};f.prototype.equalsEpsilon=function(n,e,o){return f.equalsEpsilon(this,n,e,o)};f.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var y=f;var Yn=new y,Gn=new y;function Hn(n,e,o,t,i){if(!u(n))throw new S("cartesian is required.");if(!u(e))throw new S("oneOverRadii is required.");if(!u(o))throw new S("oneOverRadiiSquared is required.");if(!u(t))throw new S("centerToleranceSquared is required.");let p=n.x,d=n.y,m=n.z,s=e.x,h=e.y,j=e.z,z=p*p*s*s,M=d*d*h*h,q=m*m*j*j,N=z+M+q,l=Math.sqrt(1/N),x=y.multiplyByScalar(n,l,Yn);if(N<t)return isFinite(l)?y.clone(x,i):void 0;let U=o.x,I=o.y,P=o.z,k=Gn;k.x=x.x*U*2,k.y=x.y*I*2,k.z=x.z*P*2;let X=(1-l)*y.magnitude(n)/(.5*y.magnitude(k)),Mn=0,pn,qn,L,V,W,un,an,dn,En,An,_n;do{X-=Mn,L=1/(1+X*U),V=1/(1+X*I),W=1/(1+X*P),un=L*L,an=V*V,dn=W*W,En=un*L,An=an*V,_n=dn*W,pn=z*un+M*an+q*dn-1,qn=z*En*U+M*An*I+q*_n*P;let Zn=-2*qn;Mn=pn/Zn}while(Math.abs(pn)>w.EPSILON12);return u(i)?(i.x=p*L,i.y=d*V,i.z=m*W,i):new y(p*L,d*V,m*W)}var H=Hn;function g(n,e,o){this.longitude=O(n,0),this.latitude=O(e,0),this.height=O(o,0)}g.fromRadians=function(n,e,o,t){return c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),o=O(o,0),u(t)?(t.longitude=n,t.latitude=e,t.height=o,t):new g(n,e,o)};g.fromDegrees=function(n,e,o,t){return c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),n=w.toRadians(n),e=w.toRadians(e),g.fromRadians(n,e,o,t)};var Qn=new y,Kn=new y,Jn=new y;g._ellipsoidOneOverRadii=new y(1/6378137,1/6378137,1/6356752314245179e-9);g._ellipsoidOneOverRadiiSquared=new y(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));g._ellipsoidCenterToleranceSquared=w.EPSILON1;g.fromCartesian=function(n,e,o){let t=u(e)?e.oneOverRadii:g._ellipsoidOneOverRadii,i=u(e)?e.oneOverRadiiSquared:g._ellipsoidOneOverRadiiSquared,p=u(e)?e._centerToleranceSquared:g._ellipsoidCenterToleranceSquared,d=H(n,t,i,p,Kn);if(!u(d))return;let m=y.multiplyComponents(d,i,Qn);m=y.normalize(m,m);let s=y.subtract(n,d,Jn),h=Math.atan2(m.y,m.x),j=Math.asin(m.z),z=w.sign(y.dot(s,n))*y.magnitude(s);return u(o)?(o.longitude=h,o.latitude=j,o.height=z,o):new g(h,j,z)};g.toCartesian=function(n,e,o){return c.defined("cartographic",n),y.fromRadians(n.longitude,n.latitude,n.height,e,o)};g.clone=function(n,e){if(u(n))return u(e)?(e.longitude=n.longitude,e.latitude=n.latitude,e.height=n.height,e):new g(n.longitude,n.latitude,n.height)};g.equals=function(n,e){return n===e||u(n)&&u(e)&&n.longitude===e.longitude&&n.latitude===e.latitude&&n.height===e.height};g.equalsEpsilon=function(n,e,o){return o=O(o,0),n===e||u(n)&&u(e)&&Math.abs(n.longitude-e.longitude)<=o&&Math.abs(n.latitude-e.latitude)<=o&&Math.abs(n.height-e.height)<=o};g.ZERO=Object.freeze(new g(0,0,0));g.prototype.clone=function(n){return g.clone(this,n)};g.prototype.equals=function(n){return g.equals(this,n)};g.prototype.equalsEpsilon=function(n,e){return g.equalsEpsilon(this,n,e)};g.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var D=g;function a(n,e){this.x=O(n,0),this.y=O(e,0)}a.fromElements=function(n,e,o){return u(o)?(o.x=n,o.y=e,o):new a(n,e)};a.clone=function(n,e){if(u(n))return u(e)?(e.x=n.x,e.y=n.y,e):new a(n.x,n.y)};a.fromCartesian3=a.clone;a.fromCartesian4=a.clone;a.packedLength=2;a.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),e[o++]=n.x,e[o]=n.y,e};a.unpack=function(n,e,o){return c.defined("array",n),e=O(e,0),u(o)||(o=new a),o.x=n[e++],o.y=n[e],o};a.packArray=function(n,e){c.defined("array",n);let o=n.length,t=o*2;if(!u(e))e=new Array(t);else{if(!Array.isArray(e)&&e.length!==t)throw new S("If result is a typed array, it must have exactly array.length * 2 elements");e.length!==t&&(e.length=t)}for(let i=0;i<o;++i)a.pack(n[i],e,i*2);return e};a.unpackArray=function(n,e){if(c.defined("array",n),c.typeOf.number.greaterThanOrEquals("array.length",n.length,2),n.length%2!==0)throw new S("array length must be a multiple of 2.");let o=n.length;u(e)?e.length=o/2:e=new Array(o/2);for(let t=0;t<o;t+=2){let i=t/2;e[i]=a.unpack(n,t,e[i])}return e};a.fromArray=a.unpack;a.maximumComponent=function(n){return c.typeOf.object("cartesian",n),Math.max(n.x,n.y)};a.minimumComponent=function(n){return c.typeOf.object("cartesian",n),Math.min(n.x,n.y)};a.minimumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.min(n.x,e.x),o.y=Math.min(n.y,e.y),o};a.maximumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.max(n.x,e.x),o.y=Math.max(n.y,e.y),o};a.clamp=function(n,e,o,t){c.typeOf.object("value",n),c.typeOf.object("min",e),c.typeOf.object("max",o),c.typeOf.object("result",t);let i=w.clamp(n.x,e.x,o.x),p=w.clamp(n.y,e.y,o.y);return t.x=i,t.y=p,t};a.magnitudeSquared=function(n){return c.typeOf.object("cartesian",n),n.x*n.x+n.y*n.y};a.magnitude=function(n){return Math.sqrt(a.magnitudeSquared(n))};var Q=new a;a.distance=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),a.subtract(n,e,Q),a.magnitude(Q)};a.distanceSquared=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),a.subtract(n,e,Q),a.magnitudeSquared(Q)};a.normalize=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=a.magnitude(n);if(e.x=n.x/o,e.y=n.y/o,isNaN(e.x)||isNaN(e.y))throw new S("normalized result is not a number");return e};a.dot=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),n.x*e.x+n.y*e.y};a.cross=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),n.x*e.y-n.y*e.x};a.multiplyComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x*e.x,o.y=n.y*e.y,o};a.divideComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x/e.x,o.y=n.y/e.y,o};a.add=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x+e.x,o.y=n.y+e.y,o};a.subtract=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x-e.x,o.y=n.y-e.y,o};a.multiplyByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x*e,o.y=n.y*e,o};a.divideByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x/e,o.y=n.y/e,o};a.negate=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=-n.x,e.y=-n.y,e};a.abs=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=Math.abs(n.x),e.y=Math.abs(n.y),e};var Cn=new a;a.lerp=function(n,e,o,t){return c.typeOf.object("start",n),c.typeOf.object("end",e),c.typeOf.number("t",o),c.typeOf.object("result",t),a.multiplyByScalar(e,o,Cn),t=a.multiplyByScalar(n,1-o,t),a.add(Cn,t,t)};var Tn=new a,Nn=new a;a.angleBetween=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),a.normalize(n,Tn),a.normalize(e,Nn),w.acosClamped(a.dot(Tn,Nn))};var ne=new a;a.mostOrthogonalAxis=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=a.normalize(n,ne);return a.abs(o,o),o.x<=o.y?e=a.clone(a.UNIT_X,e):e=a.clone(a.UNIT_Y,e),e};a.equals=function(n,e){return n===e||u(n)&&u(e)&&n.x===e.x&&n.y===e.y};a.equalsArray=function(n,e,o){return n.x===e[o]&&n.y===e[o+1]};a.equalsEpsilon=function(n,e,o,t){return n===e||u(n)&&u(e)&&w.equalsEpsilon(n.x,e.x,o,t)&&w.equalsEpsilon(n.y,e.y,o,t)};a.ZERO=Object.freeze(new a(0,0));a.ONE=Object.freeze(new a(1,1));a.UNIT_X=Object.freeze(new a(1,0));a.UNIT_Y=Object.freeze(new a(0,1));a.prototype.clone=function(n){return a.clone(this,n)};a.prototype.equals=function(n){return a.equals(this,n)};a.prototype.equalsEpsilon=function(n,e,o){return a.equalsEpsilon(this,n,e,o)};a.prototype.toString=function(){return`(${this.x}, ${this.y})`};var mn=a;function Fn(n,e,o,t){e=O(e,0),o=O(o,0),t=O(t,0),c.typeOf.number.greaterThanOrEquals("x",e,0),c.typeOf.number.greaterThanOrEquals("y",o,0),c.typeOf.number.greaterThanOrEquals("z",t,0),n._radii=new y(e,o,t),n._radiiSquared=new y(e*e,o*o,t*t),n._radiiToTheFourth=new y(e*e*e*e,o*o*o*o,t*t*t*t),n._oneOverRadii=new y(e===0?0:1/e,o===0?0:1/o,t===0?0:1/t),n._oneOverRadiiSquared=new y(e===0?0:1/(e*e),o===0?0:1/(o*o),t===0?0:1/(t*t)),n._minimumRadius=Math.min(e,o,t),n._maximumRadius=Math.max(e,o,t),n._centerToleranceSquared=w.EPSILON1,n._radiiSquared.z!==0&&(n._squaredXOverSquaredZ=n._radiiSquared.x/n._radiiSquared.z)}function b(n,e,o){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,Fn(this,n,e,o)}Object.defineProperties(b.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});b.clone=function(n,e){if(!u(n))return;let o=n._radii;return u(e)?(y.clone(o,e._radii),y.clone(n._radiiSquared,e._radiiSquared),y.clone(n._radiiToTheFourth,e._radiiToTheFourth),y.clone(n._oneOverRadii,e._oneOverRadii),y.clone(n._oneOverRadiiSquared,e._oneOverRadiiSquared),e._minimumRadius=n._minimumRadius,e._maximumRadius=n._maximumRadius,e._centerToleranceSquared=n._centerToleranceSquared,e):new b(o.x,o.y,o.z)};b.fromCartesian3=function(n,e){return u(e)||(e=new b),u(n)&&Fn(e,n.x,n.y,n.z),e};b.WGS84=Object.freeze(new b(6378137,6378137,6356752314245179e-9));b.UNIT_SPHERE=Object.freeze(new b(1,1,1));b.MOON=Object.freeze(new b(w.LUNAR_RADIUS,w.LUNAR_RADIUS,w.LUNAR_RADIUS));b._default=b.WGS84;Object.defineProperties(b,{default:{get:function(){return b._default},set:function(n){c.typeOf.object("value",n),b._default=n,y._ellipsoidRadiiSquared=n.radiiSquared,D._ellipsoidOneOverRadii=n.oneOverRadii,D._ellipsoidOneOverRadiiSquared=n.oneOverRadiiSquared,D._ellipsoidCenterToleranceSquared=n._centerToleranceSquared}}});b.prototype.clone=function(n){return b.clone(this,n)};b.packedLength=y.packedLength;b.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),y.pack(n._radii,e,o),e};b.unpack=function(n,e,o){c.defined("array",n),e=O(e,0);let t=y.unpack(n,e);return b.fromCartesian3(t,o)};b.prototype.geocentricSurfaceNormal=y.normalize;b.prototype.geodeticSurfaceNormalCartographic=function(n,e){c.typeOf.object("cartographic",n);let o=n.longitude,t=n.latitude,i=Math.cos(t),p=i*Math.cos(o),d=i*Math.sin(o),m=Math.sin(t);return u(e)||(e=new y),e.x=p,e.y=d,e.z=m,y.normalize(e,e)};b.prototype.geodeticSurfaceNormal=function(n,e){if(c.typeOf.object("cartesian",n),isNaN(n.x)||isNaN(n.y)||isNaN(n.z))throw new S("cartesian has a NaN component");if(!y.equalsEpsilon(n,y.ZERO,w.EPSILON14))return u(e)||(e=new y),e=y.multiplyComponents(n,this._oneOverRadiiSquared,e),y.normalize(e,e)};var ee=new y,oe=new y;b.prototype.cartographicToCartesian=function(n,e){let o=ee,t=oe;this.geodeticSurfaceNormalCartographic(n,o),y.multiplyComponents(this._radiiSquared,o,t);let i=Math.sqrt(y.dot(o,t));return y.divideByScalar(t,i,t),y.multiplyByScalar(o,n.height,o),u(e)||(e=new y),y.add(t,o,e)};b.prototype.cartographicArrayToCartesianArray=function(n,e){c.defined("cartographics",n);let o=n.length;u(e)?e.length=o:e=new Array(o);for(let t=0;t<o;t++)e[t]=this.cartographicToCartesian(n[t],e[t]);return e};var te=new y,ce=new y,ie=new y;b.prototype.cartesianToCartographic=function(n,e){let o=this.scaleToGeodeticSurface(n,ce);if(!u(o))return;let t=this.geodeticSurfaceNormal(o,te),i=y.subtract(n,o,ie),p=Math.atan2(t.y,t.x),d=Math.asin(t.z),m=w.sign(y.dot(i,n))*y.magnitude(i);return u(e)?(e.longitude=p,e.latitude=d,e.height=m,e):new D(p,d,m)};b.prototype.cartesianArrayToCartographicArray=function(n,e){c.defined("cartesians",n);let o=n.length;u(e)?e.length=o:e=new Array(o);for(let t=0;t<o;++t)e[t]=this.cartesianToCartographic(n[t],e[t]);return e};b.prototype.scaleToGeodeticSurface=function(n,e){return H(n,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,e)};b.prototype.scaleToGeocentricSurface=function(n,e){c.typeOf.object("cartesian",n),u(e)||(e=new y);let o=n.x,t=n.y,i=n.z,p=this._oneOverRadiiSquared,d=1/Math.sqrt(o*o*p.x+t*t*p.y+i*i*p.z);return y.multiplyByScalar(n,d,e)};b.prototype.transformPositionToScaledSpace=function(n,e){return u(e)||(e=new y),y.multiplyComponents(n,this._oneOverRadii,e)};b.prototype.transformPositionFromScaledSpace=function(n,e){return u(e)||(e=new y),y.multiplyComponents(n,this._radii,e)};b.prototype.equals=function(n){return this===n||u(n)&&y.equals(this._radii,n._radii)};b.prototype.toString=function(){return this._radii.toString()};b.prototype.getSurfaceNormalIntersectionWithZAxis=function(n,e,o){if(c.typeOf.object("position",n),!w.equalsEpsilon(this._radii.x,this._radii.y,w.EPSILON15))throw new S("Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)");c.typeOf.number.greaterThan("Ellipsoid.radii.z",this._radii.z,0),e=O(e,0);let t=this._squaredXOverSquaredZ;if(u(o)||(o=new y),o.x=0,o.y=0,o.z=n.z*(1-t),!(Math.abs(o.z)>=this._radii.z-e))return o};var fe=new y;b.prototype.getLocalCurvature=function(n,e){c.typeOf.object("surfacePosition",n),u(e)||(e=new mn);let o=this.getSurfaceNormalIntersectionWithZAxis(n,0,fe),t=y.distance(n,o),i=this.minimumRadius*t/this.maximumRadius**2,p=t*i**2;return mn.fromElements(1/t,1/p,e)};var re=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],pe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function xn(n,e,o){c.typeOf.number("a",n),c.typeOf.number("b",e),c.typeOf.func("func",o);let t=.5*(e+n),i=.5*(e-n),p=0;for(let d=0;d<5;d++){let m=i*re[d];p+=pe[d]*(o(t+m)+o(t-m))}return p*=i,p}b.prototype.surfaceArea=function(n){c.typeOf.object("rectangle",n);let e=n.west,o=n.east,t=n.south,i=n.north;for(;o<e;)o+=w.TWO_PI;let p=this._radiiSquared,d=p.x,m=p.y,s=p.z,h=d*m;return xn(t,i,function(j){let z=Math.cos(j),M=Math.sin(j);return Math.cos(j)*xn(e,o,function(q){let N=Math.cos(q),l=Math.sin(q);return Math.sqrt(h*M*M+s*(m*N*N+d*l*l)*z*z)})})};var fo=b;function r(n,e,o,t,i,p,d,m,s){this[0]=O(n,0),this[1]=O(t,0),this[2]=O(d,0),this[3]=O(e,0),this[4]=O(i,0),this[5]=O(m,0),this[6]=O(o,0),this[7]=O(p,0),this[8]=O(s,0)}r.packedLength=9;r.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),e[o++]=n[0],e[o++]=n[1],e[o++]=n[2],e[o++]=n[3],e[o++]=n[4],e[o++]=n[5],e[o++]=n[6],e[o++]=n[7],e[o++]=n[8],e};r.unpack=function(n,e,o){return c.defined("array",n),e=O(e,0),u(o)||(o=new r),o[0]=n[e++],o[1]=n[e++],o[2]=n[e++],o[3]=n[e++],o[4]=n[e++],o[5]=n[e++],o[6]=n[e++],o[7]=n[e++],o[8]=n[e++],o};r.packArray=function(n,e){c.defined("array",n);let o=n.length,t=o*9;if(!u(e))e=new Array(t);else{if(!Array.isArray(e)&&e.length!==t)throw new S("If result is a typed array, it must have exactly array.length * 9 elements");e.length!==t&&(e.length=t)}for(let i=0;i<o;++i)r.pack(n[i],e,i*9);return e};r.unpackArray=function(n,e){if(c.defined("array",n),c.typeOf.number.greaterThanOrEquals("array.length",n.length,9),n.length%9!==0)throw new S("array length must be a multiple of 9.");let o=n.length;u(e)?e.length=o/9:e=new Array(o/9);for(let t=0;t<o;t+=9){let i=t/9;e[i]=r.unpack(n,t,e[i])}return e};r.clone=function(n,e){if(u(n))return u(e)?(e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e):new r(n[0],n[3],n[6],n[1],n[4],n[7],n[2],n[5],n[8])};r.fromArray=r.unpack;r.fromColumnMajorArray=function(n,e){return c.defined("values",n),r.clone(n,e)};r.fromRowMajorArray=function(n,e){return c.defined("values",n),u(e)?(e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],e):new r(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8])};r.fromQuaternion=function(n,e){c.typeOf.object("quaternion",n);let o=n.x*n.x,t=n.x*n.y,i=n.x*n.z,p=n.x*n.w,d=n.y*n.y,m=n.y*n.z,s=n.y*n.w,h=n.z*n.z,j=n.z*n.w,z=n.w*n.w,M=o-d-h+z,q=2*(t-j),N=2*(i+s),l=2*(t+j),x=-o+d-h+z,U=2*(m-p),I=2*(i-s),P=2*(m+p),k=-o-d+h+z;return u(e)?(e[0]=M,e[1]=l,e[2]=I,e[3]=q,e[4]=x,e[5]=P,e[6]=N,e[7]=U,e[8]=k,e):new r(M,q,N,l,x,U,I,P,k)};r.fromHeadingPitchRoll=function(n,e){c.typeOf.object("headingPitchRoll",n);let o=Math.cos(-n.pitch),t=Math.cos(-n.heading),i=Math.cos(n.roll),p=Math.sin(-n.pitch),d=Math.sin(-n.heading),m=Math.sin(n.roll),s=o*t,h=-i*d+m*p*t,j=m*d+i*p*t,z=o*d,M=i*t+m*p*d,q=-m*t+i*p*d,N=-p,l=m*o,x=i*o;return u(e)?(e[0]=s,e[1]=z,e[2]=N,e[3]=h,e[4]=M,e[5]=l,e[6]=j,e[7]=q,e[8]=x,e):new r(s,h,j,z,M,q,N,l,x)};r.fromScale=function(n,e){return c.typeOf.object("scale",n),u(e)?(e[0]=n.x,e[1]=0,e[2]=0,e[3]=0,e[4]=n.y,e[5]=0,e[6]=0,e[7]=0,e[8]=n.z,e):new r(n.x,0,0,0,n.y,0,0,0,n.z)};r.fromUniformScale=function(n,e){return c.typeOf.number("scale",n),u(e)?(e[0]=n,e[1]=0,e[2]=0,e[3]=0,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=n,e):new r(n,0,0,0,n,0,0,0,n)};r.fromCrossProduct=function(n,e){return c.typeOf.object("vector",n),u(e)?(e[0]=0,e[1]=n.z,e[2]=-n.y,e[3]=-n.z,e[4]=0,e[5]=n.x,e[6]=n.y,e[7]=-n.x,e[8]=0,e):new r(0,-n.z,n.y,n.z,0,-n.x,-n.y,n.x,0)};r.fromRotationX=function(n,e){c.typeOf.number("angle",n);let o=Math.cos(n),t=Math.sin(n);return u(e)?(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=o,e[5]=t,e[6]=0,e[7]=-t,e[8]=o,e):new r(1,0,0,0,o,-t,0,t,o)};r.fromRotationY=function(n,e){c.typeOf.number("angle",n);let o=Math.cos(n),t=Math.sin(n);return u(e)?(e[0]=o,e[1]=0,e[2]=-t,e[3]=0,e[4]=1,e[5]=0,e[6]=t,e[7]=0,e[8]=o,e):new r(o,0,t,0,1,0,-t,0,o)};r.fromRotationZ=function(n,e){c.typeOf.number("angle",n);let o=Math.cos(n),t=Math.sin(n);return u(e)?(e[0]=o,e[1]=t,e[2]=0,e[3]=-t,e[4]=o,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e):new r(o,-t,0,t,o,0,0,0,1)};r.toArray=function(n,e){return c.typeOf.object("matrix",n),u(e)?(e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e):[n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8]]};r.getElementIndex=function(n,e){return c.typeOf.number.greaterThanOrEquals("row",e,0),c.typeOf.number.lessThanOrEquals("row",e,2),c.typeOf.number.greaterThanOrEquals("column",n,0),c.typeOf.number.lessThanOrEquals("column",n,2),n*3+e};r.getColumn=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("result",o);let t=e*3,i=n[t],p=n[t+1],d=n[t+2];return o.x=i,o.y=p,o.z=d,o};r.setColumn=function(n,e,o,t){c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("cartesian",o),c.typeOf.object("result",t),t=r.clone(n,t);let i=e*3;return t[i]=o.x,t[i+1]=o.y,t[i+2]=o.z,t};r.getRow=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("result",o);let t=n[e],i=n[e+3],p=n[e+6];return o.x=t,o.y=i,o.z=p,o};r.setRow=function(n,e,o,t){return c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("cartesian",o),c.typeOf.object("result",t),t=r.clone(n,t),t[e]=o.x,t[e+3]=o.y,t[e+6]=o.z,t};var ue=new y;r.setScale=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.object("scale",e),c.typeOf.object("result",o);let t=r.getScale(n,ue),i=e.x/t.x,p=e.y/t.y,d=e.z/t.z;return o[0]=n[0]*i,o[1]=n[1]*i,o[2]=n[2]*i,o[3]=n[3]*p,o[4]=n[4]*p,o[5]=n[5]*p,o[6]=n[6]*d,o[7]=n[7]*d,o[8]=n[8]*d,o};var ae=new y;r.setUniformScale=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.number("scale",e),c.typeOf.object("result",o);let t=r.getScale(n,ae),i=e/t.x,p=e/t.y,d=e/t.z;return o[0]=n[0]*i,o[1]=n[1]*i,o[2]=n[2]*i,o[3]=n[3]*p,o[4]=n[4]*p,o[5]=n[5]*p,o[6]=n[6]*d,o[7]=n[7]*d,o[8]=n[8]*d,o};var sn=new y;r.getScale=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),e.x=y.magnitude(y.fromElements(n[0],n[1],n[2],sn)),e.y=y.magnitude(y.fromElements(n[3],n[4],n[5],sn)),e.z=y.magnitude(y.fromElements(n[6],n[7],n[8],sn)),e};var kn=new y;r.getMaximumScale=function(n){return r.getScale(n,kn),y.maximumComponent(kn)};var de=new y;r.setRotation=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.object("result",o);let t=r.getScale(n,de);return o[0]=e[0]*t.x,o[1]=e[1]*t.x,o[2]=e[2]*t.x,o[3]=e[3]*t.y,o[4]=e[4]*t.y,o[5]=e[5]*t.y,o[6]=e[6]*t.z,o[7]=e[7]*t.z,o[8]=e[8]*t.z,o};var ye=new y;r.getRotation=function(n,e){c.typeOf.object("matrix",n),c.typeOf.object("result",e);let o=r.getScale(n,ye);return e[0]=n[0]/o.x,e[1]=n[1]/o.x,e[2]=n[2]/o.x,e[3]=n[3]/o.y,e[4]=n[4]/o.y,e[5]=n[5]/o.y,e[6]=n[6]/o.z,e[7]=n[7]/o.z,e[8]=n[8]/o.z,e};r.multiply=function(n,e,o){c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o);let t=n[0]*e[0]+n[3]*e[1]+n[6]*e[2],i=n[1]*e[0]+n[4]*e[1]+n[7]*e[2],p=n[2]*e[0]+n[5]*e[1]+n[8]*e[2],d=n[0]*e[3]+n[3]*e[4]+n[6]*e[5],m=n[1]*e[3]+n[4]*e[4]+n[7]*e[5],s=n[2]*e[3]+n[5]*e[4]+n[8]*e[5],h=n[0]*e[6]+n[3]*e[7]+n[6]*e[8],j=n[1]*e[6]+n[4]*e[7]+n[7]*e[8],z=n[2]*e[6]+n[5]*e[7]+n[8]*e[8];return o[0]=t,o[1]=i,o[2]=p,o[3]=d,o[4]=m,o[5]=s,o[6]=h,o[7]=j,o[8]=z,o};r.add=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o[0]=n[0]+e[0],o[1]=n[1]+e[1],o[2]=n[2]+e[2],o[3]=n[3]+e[3],o[4]=n[4]+e[4],o[5]=n[5]+e[5],o[6]=n[6]+e[6],o[7]=n[7]+e[7],o[8]=n[8]+e[8],o};r.subtract=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o[0]=n[0]-e[0],o[1]=n[1]-e[1],o[2]=n[2]-e[2],o[3]=n[3]-e[3],o[4]=n[4]-e[4],o[5]=n[5]-e[5],o[6]=n[6]-e[6],o[7]=n[7]-e[7],o[8]=n[8]-e[8],o};r.multiplyByVector=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.object("cartesian",e),c.typeOf.object("result",o);let t=e.x,i=e.y,p=e.z,d=n[0]*t+n[3]*i+n[6]*p,m=n[1]*t+n[4]*i+n[7]*p,s=n[2]*t+n[5]*i+n[8]*p;return o.x=d,o.y=m,o.z=s,o};r.multiplyByScalar=function(n,e,o){return c.typeOf.object("matrix",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o[0]=n[0]*e,o[1]=n[1]*e,o[2]=n[2]*e,o[3]=n[3]*e,o[4]=n[4]*e,o[5]=n[5]*e,o[6]=n[6]*e,o[7]=n[7]*e,o[8]=n[8]*e,o};r.multiplyByScale=function(n,e,o){return c.typeOf.object("matrix",n),c.typeOf.object("scale",e),c.typeOf.object("result",o),o[0]=n[0]*e.x,o[1]=n[1]*e.x,o[2]=n[2]*e.x,o[3]=n[3]*e.y,o[4]=n[4]*e.y,o[5]=n[5]*e.y,o[6]=n[6]*e.z,o[7]=n[7]*e.z,o[8]=n[8]*e.z,o};r.multiplyByUniformScale=function(n,e,o){return c.typeOf.object("matrix",n),c.typeOf.number("scale",e),c.typeOf.object("result",o),o[0]=n[0]*e,o[1]=n[1]*e,o[2]=n[2]*e,o[3]=n[3]*e,o[4]=n[4]*e,o[5]=n[5]*e,o[6]=n[6]*e,o[7]=n[7]*e,o[8]=n[8]*e,o};r.negate=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),e[0]=-n[0],e[1]=-n[1],e[2]=-n[2],e[3]=-n[3],e[4]=-n[4],e[5]=-n[5],e[6]=-n[6],e[7]=-n[7],e[8]=-n[8],e};r.transpose=function(n,e){c.typeOf.object("matrix",n),c.typeOf.object("result",e);let o=n[0],t=n[3],i=n[6],p=n[1],d=n[4],m=n[7],s=n[2],h=n[5],j=n[8];return e[0]=o,e[1]=t,e[2]=i,e[3]=p,e[4]=d,e[5]=m,e[6]=s,e[7]=h,e[8]=j,e};function me(n){let e=0;for(let o=0;o<9;++o){let t=n[o];e+=t*t}return Math.sqrt(e)}var On=[1,0,0],bn=[2,2,1];function se(n){let e=0;for(let o=0;o<3;++o){let t=n[r.getElementIndex(bn[o],On[o])];e+=2*t*t}return Math.sqrt(e)}function Oe(n,e){let o=w.EPSILON15,t=0,i=1;for(let h=0;h<3;++h){let j=Math.abs(n[r.getElementIndex(bn[h],On[h])]);j>t&&(i=h,t=j)}let p=1,d=0,m=On[i],s=bn[i];if(Math.abs(n[r.getElementIndex(s,m)])>o){let h=n[r.getElementIndex(s,s)],j=n[r.getElementIndex(m,m)],z=n[r.getElementIndex(s,m)],M=(h-j)/2/z,q;M<0?q=-1/(-M+Math.sqrt(1+M*M)):q=1/(M+Math.sqrt(1+M*M)),p=1/Math.sqrt(1+q*q),d=q*p}return e=r.clone(r.IDENTITY,e),e[r.getElementIndex(m,m)]=e[r.getElementIndex(s,s)]=p,e[r.getElementIndex(s,m)]=d,e[r.getElementIndex(m,s)]=-d,e}var K=new r,Bn=new r;r.computeEigenDecomposition=function(n,e){c.typeOf.object("matrix",n);let o=w.EPSILON20,t=10,i=0,p=0;u(e)||(e={});let d=e.unitary=r.clone(r.IDENTITY,e.unitary),m=e.diagonal=r.clone(n,e.diagonal),s=o*me(m);for(;p<t&&se(m)>s;)Oe(m,K),r.transpose(K,Bn),r.multiply(m,K,m),r.multiply(Bn,m,m),r.multiply(d,K,d),++i>2&&(++p,i=0);return e};r.abs=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),e[0]=Math.abs(n[0]),e[1]=Math.abs(n[1]),e[2]=Math.abs(n[2]),e[3]=Math.abs(n[3]),e[4]=Math.abs(n[4]),e[5]=Math.abs(n[5]),e[6]=Math.abs(n[6]),e[7]=Math.abs(n[7]),e[8]=Math.abs(n[8]),e};r.determinant=function(n){c.typeOf.object("matrix",n);let e=n[0],o=n[3],t=n[6],i=n[1],p=n[4],d=n[7],m=n[2],s=n[5],h=n[8];return e*(p*h-s*d)+i*(s*t-o*h)+m*(o*d-p*t)};r.inverse=function(n,e){c.typeOf.object("matrix",n),c.typeOf.object("result",e);let o=n[0],t=n[1],i=n[2],p=n[3],d=n[4],m=n[5],s=n[6],h=n[7],j=n[8],z=r.determinant(n);if(Math.abs(z)<=w.EPSILON15)throw new S("matrix is not invertible");e[0]=d*j-h*m,e[1]=h*i-t*j,e[2]=t*m-d*i,e[3]=s*m-p*j,e[4]=o*j-s*i,e[5]=p*i-o*m,e[6]=p*h-s*d,e[7]=s*t-o*h,e[8]=o*d-p*t;let M=1/z;return r.multiplyByScalar(e,M,e)};var be=new r;r.inverseTranspose=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),r.inverse(r.transpose(n,be),e)};r.equals=function(n,e){return n===e||u(n)&&u(e)&&n[0]===e[0]&&n[1]===e[1]&&n[2]===e[2]&&n[3]===e[3]&&n[4]===e[4]&&n[5]===e[5]&&n[6]===e[6]&&n[7]===e[7]&&n[8]===e[8]};r.equalsEpsilon=function(n,e,o){return o=O(o,0),n===e||u(n)&&u(e)&&Math.abs(n[0]-e[0])<=o&&Math.abs(n[1]-e[1])<=o&&Math.abs(n[2]-e[2])<=o&&Math.abs(n[3]-e[3])<=o&&Math.abs(n[4]-e[4])<=o&&Math.abs(n[5]-e[5])<=o&&Math.abs(n[6]-e[6])<=o&&Math.abs(n[7]-e[7])<=o&&Math.abs(n[8]-e[8])<=o};r.IDENTITY=Object.freeze(new r(1,0,0,0,1,0,0,0,1));r.ZERO=Object.freeze(new r(0,0,0,0,0,0,0,0,0));r.COLUMN0ROW0=0;r.COLUMN0ROW1=1;r.COLUMN0ROW2=2;r.COLUMN1ROW0=3;r.COLUMN1ROW1=4;r.COLUMN1ROW2=5;r.COLUMN2ROW0=6;r.COLUMN2ROW1=7;r.COLUMN2ROW2=8;Object.defineProperties(r.prototype,{length:{get:function(){return r.packedLength}}});r.prototype.clone=function(n){return r.clone(this,n)};r.prototype.equals=function(n){return r.equals(this,n)};r.equalsArray=function(n,e,o){return n[0]===e[o]&&n[1]===e[o+1]&&n[2]===e[o+2]&&n[3]===e[o+3]&&n[4]===e[o+4]&&n[5]===e[o+5]&&n[6]===e[o+6]&&n[7]===e[o+7]&&n[8]===e[o+8]};r.prototype.equalsEpsilon=function(n,e){return r.equalsEpsilon(this,n,e)};r.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) +import{a as w}from"./chunk-DW4EQ6YI.js";import{a as O}from"./chunk-CJFJKB5V.js";import{a as S,b as c}from"./chunk-4BGNE6LH.js";import{e as u}from"./chunk-OX5CTLXY.js";function f(n,e,o){this.x=O(n,0),this.y=O(e,0),this.z=O(o,0)}f.fromSpherical=function(n,e){c.typeOf.object("spherical",n),u(e)||(e=new f);let o=n.clock,t=n.cone,i=O(n.magnitude,1),p=i*Math.sin(t);return e.x=p*Math.cos(o),e.y=p*Math.sin(o),e.z=i*Math.cos(t),e};f.fromElements=function(n,e,o,t){return u(t)?(t.x=n,t.y=e,t.z=o,t):new f(n,e,o)};f.clone=function(n,e){if(u(n))return u(e)?(e.x=n.x,e.y=n.y,e.z=n.z,e):new f(n.x,n.y,n.z)};f.fromCartesian4=f.clone;f.packedLength=3;f.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),e[o++]=n.x,e[o++]=n.y,e[o]=n.z,e};f.unpack=function(n,e,o){return c.defined("array",n),e=O(e,0),u(o)||(o=new f),o.x=n[e++],o.y=n[e++],o.z=n[e],o};f.packArray=function(n,e){c.defined("array",n);let o=n.length,t=o*3;if(!u(e))e=new Array(t);else{if(!Array.isArray(e)&&e.length!==t)throw new S("If result is a typed array, it must have exactly array.length * 3 elements");e.length!==t&&(e.length=t)}for(let i=0;i<o;++i)f.pack(n[i],e,i*3);return e};f.unpackArray=function(n,e){if(c.defined("array",n),c.typeOf.number.greaterThanOrEquals("array.length",n.length,3),n.length%3!==0)throw new S("array length must be a multiple of 3.");let o=n.length;u(e)?e.length=o/3:e=new Array(o/3);for(let t=0;t<o;t+=3){let i=t/3;e[i]=f.unpack(n,t,e[i])}return e};f.fromArray=f.unpack;f.maximumComponent=function(n){return c.typeOf.object("cartesian",n),Math.max(n.x,n.y,n.z)};f.minimumComponent=function(n){return c.typeOf.object("cartesian",n),Math.min(n.x,n.y,n.z)};f.minimumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.min(n.x,e.x),o.y=Math.min(n.y,e.y),o.z=Math.min(n.z,e.z),o};f.maximumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.max(n.x,e.x),o.y=Math.max(n.y,e.y),o.z=Math.max(n.z,e.z),o};f.clamp=function(n,e,o,t){c.typeOf.object("value",n),c.typeOf.object("min",e),c.typeOf.object("max",o),c.typeOf.object("result",t);let i=w.clamp(n.x,e.x,o.x),p=w.clamp(n.y,e.y,o.y),d=w.clamp(n.z,e.z,o.z);return t.x=i,t.y=p,t.z=d,t};f.magnitudeSquared=function(n){return c.typeOf.object("cartesian",n),n.x*n.x+n.y*n.y+n.z*n.z};f.magnitude=function(n){return Math.sqrt(f.magnitudeSquared(n))};var G=new f;f.distance=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),f.subtract(n,e,G),f.magnitude(G)};f.distanceSquared=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),f.subtract(n,e,G),f.magnitudeSquared(G)};f.normalize=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=f.magnitude(n);if(e.x=n.x/o,e.y=n.y/o,e.z=n.z/o,isNaN(e.x)||isNaN(e.y)||isNaN(e.z))throw new S("normalized result is not a number");return e};f.dot=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),n.x*e.x+n.y*e.y+n.z*e.z};f.multiplyComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x*e.x,o.y=n.y*e.y,o.z=n.z*e.z,o};f.divideComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x/e.x,o.y=n.y/e.y,o.z=n.z/e.z,o};f.add=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x+e.x,o.y=n.y+e.y,o.z=n.z+e.z,o};f.subtract=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x-e.x,o.y=n.y-e.y,o.z=n.z-e.z,o};f.multiplyByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x*e,o.y=n.y*e,o.z=n.z*e,o};f.divideByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x/e,o.y=n.y/e,o.z=n.z/e,o};f.negate=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=-n.x,e.y=-n.y,e.z=-n.z,e};f.abs=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=Math.abs(n.x),e.y=Math.abs(n.y),e.z=Math.abs(n.z),e};var ln=new f;f.lerp=function(n,e,o,t){return c.typeOf.object("start",n),c.typeOf.object("end",e),c.typeOf.number("t",o),c.typeOf.object("result",t),f.multiplyByScalar(e,o,ln),t=f.multiplyByScalar(n,1-o,t),f.add(ln,t,t)};var Y=new f,yn=new f;f.angleBetween=function(n,e){c.typeOf.object("left",n),c.typeOf.object("right",e),f.normalize(n,Y),f.normalize(e,yn);let o=f.dot(Y,yn),t=f.magnitude(f.cross(Y,yn,Y));return Math.atan2(t,o)};var Xn=new f;f.mostOrthogonalAxis=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=f.normalize(n,Xn);return f.abs(o,o),o.x<=o.y?o.x<=o.z?e=f.clone(f.UNIT_X,e):e=f.clone(f.UNIT_Z,e):o.y<=o.z?e=f.clone(f.UNIT_Y,e):e=f.clone(f.UNIT_Z,e),e};f.projectVector=function(n,e,o){c.defined("a",n),c.defined("b",e),c.defined("result",o);let t=f.dot(n,e)/f.dot(e,e);return f.multiplyByScalar(e,t,o)};f.equals=function(n,e){return n===e||u(n)&&u(e)&&n.x===e.x&&n.y===e.y&&n.z===e.z};f.equalsArray=function(n,e,o){return n.x===e[o]&&n.y===e[o+1]&&n.z===e[o+2]};f.equalsEpsilon=function(n,e,o,t){return n===e||u(n)&&u(e)&&w.equalsEpsilon(n.x,e.x,o,t)&&w.equalsEpsilon(n.y,e.y,o,t)&&w.equalsEpsilon(n.z,e.z,o,t)};f.cross=function(n,e,o){c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o);let t=n.x,i=n.y,p=n.z,d=e.x,m=e.y,s=e.z,h=i*s-p*m,j=p*d-t*s,z=t*m-i*d;return o.x=h,o.y=j,o.z=z,o};f.midpoint=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=(n.x+e.x)*.5,o.y=(n.y+e.y)*.5,o.z=(n.z+e.z)*.5,o};f.fromDegrees=function(n,e,o,t,i){return c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),n=w.toRadians(n),e=w.toRadians(e),f.fromRadians(n,e,o,t,i)};var C=new f,v=new f;f._ellipsoidRadiiSquared=new f(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);f.fromRadians=function(n,e,o,t,i){c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),o=O(o,0);let p=u(t)?t.radiiSquared:f._ellipsoidRadiiSquared,d=Math.cos(e);C.x=d*Math.cos(n),C.y=d*Math.sin(n),C.z=Math.sin(e),C=f.normalize(C,C),f.multiplyComponents(p,C,v);let m=Math.sqrt(f.dot(C,v));return v=f.divideByScalar(v,m,v),C=f.multiplyByScalar(C,o,C),u(i)||(i=new f),f.add(v,C,i)};f.fromDegreesArray=function(n,e,o){if(c.defined("coordinates",n),n.length<2||n.length%2!==0)throw new S("the number of coordinates must be a multiple of 2 and at least 2");let t=n.length;u(o)?o.length=t/2:o=new Array(t/2);for(let i=0;i<t;i+=2){let p=n[i],d=n[i+1],m=i/2;o[m]=f.fromDegrees(p,d,0,e,o[m])}return o};f.fromRadiansArray=function(n,e,o){if(c.defined("coordinates",n),n.length<2||n.length%2!==0)throw new S("the number of coordinates must be a multiple of 2 and at least 2");let t=n.length;u(o)?o.length=t/2:o=new Array(t/2);for(let i=0;i<t;i+=2){let p=n[i],d=n[i+1],m=i/2;o[m]=f.fromRadians(p,d,0,e,o[m])}return o};f.fromDegreesArrayHeights=function(n,e,o){if(c.defined("coordinates",n),n.length<3||n.length%3!==0)throw new S("the number of coordinates must be a multiple of 3 and at least 3");let t=n.length;u(o)?o.length=t/3:o=new Array(t/3);for(let i=0;i<t;i+=3){let p=n[i],d=n[i+1],m=n[i+2],s=i/3;o[s]=f.fromDegrees(p,d,m,e,o[s])}return o};f.fromRadiansArrayHeights=function(n,e,o){if(c.defined("coordinates",n),n.length<3||n.length%3!==0)throw new S("the number of coordinates must be a multiple of 3 and at least 3");let t=n.length;u(o)?o.length=t/3:o=new Array(t/3);for(let i=0;i<t;i+=3){let p=n[i],d=n[i+1],m=n[i+2],s=i/3;o[s]=f.fromRadians(p,d,m,e,o[s])}return o};f.ZERO=Object.freeze(new f(0,0,0));f.ONE=Object.freeze(new f(1,1,1));f.UNIT_X=Object.freeze(new f(1,0,0));f.UNIT_Y=Object.freeze(new f(0,1,0));f.UNIT_Z=Object.freeze(new f(0,0,1));f.prototype.clone=function(n){return f.clone(this,n)};f.prototype.equals=function(n){return f.equals(this,n)};f.prototype.equalsEpsilon=function(n,e,o){return f.equalsEpsilon(this,n,e,o)};f.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var y=f;var Yn=new y,Gn=new y;function Hn(n,e,o,t,i){if(!u(n))throw new S("cartesian is required.");if(!u(e))throw new S("oneOverRadii is required.");if(!u(o))throw new S("oneOverRadiiSquared is required.");if(!u(t))throw new S("centerToleranceSquared is required.");let p=n.x,d=n.y,m=n.z,s=e.x,h=e.y,j=e.z,z=p*p*s*s,M=d*d*h*h,q=m*m*j*j,N=z+M+q,l=Math.sqrt(1/N),x=y.multiplyByScalar(n,l,Yn);if(N<t)return isFinite(l)?y.clone(x,i):void 0;let U=o.x,I=o.y,P=o.z,k=Gn;k.x=x.x*U*2,k.y=x.y*I*2,k.z=x.z*P*2;let X=(1-l)*y.magnitude(n)/(.5*y.magnitude(k)),Mn=0,pn,qn,L,V,W,un,an,dn,En,An,_n;do{X-=Mn,L=1/(1+X*U),V=1/(1+X*I),W=1/(1+X*P),un=L*L,an=V*V,dn=W*W,En=un*L,An=an*V,_n=dn*W,pn=z*un+M*an+q*dn-1,qn=z*En*U+M*An*I+q*_n*P;let Zn=-2*qn;Mn=pn/Zn}while(Math.abs(pn)>w.EPSILON12);return u(i)?(i.x=p*L,i.y=d*V,i.z=m*W,i):new y(p*L,d*V,m*W)}var H=Hn;function g(n,e,o){this.longitude=O(n,0),this.latitude=O(e,0),this.height=O(o,0)}g.fromRadians=function(n,e,o,t){return c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),o=O(o,0),u(t)?(t.longitude=n,t.latitude=e,t.height=o,t):new g(n,e,o)};g.fromDegrees=function(n,e,o,t){return c.typeOf.number("longitude",n),c.typeOf.number("latitude",e),n=w.toRadians(n),e=w.toRadians(e),g.fromRadians(n,e,o,t)};var Qn=new y,Kn=new y,Jn=new y;g._ellipsoidOneOverRadii=new y(1/6378137,1/6378137,1/6356752314245179e-9);g._ellipsoidOneOverRadiiSquared=new y(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));g._ellipsoidCenterToleranceSquared=w.EPSILON1;g.fromCartesian=function(n,e,o){let t=u(e)?e.oneOverRadii:g._ellipsoidOneOverRadii,i=u(e)?e.oneOverRadiiSquared:g._ellipsoidOneOverRadiiSquared,p=u(e)?e._centerToleranceSquared:g._ellipsoidCenterToleranceSquared,d=H(n,t,i,p,Kn);if(!u(d))return;let m=y.multiplyComponents(d,i,Qn);m=y.normalize(m,m);let s=y.subtract(n,d,Jn),h=Math.atan2(m.y,m.x),j=Math.asin(m.z),z=w.sign(y.dot(s,n))*y.magnitude(s);return u(o)?(o.longitude=h,o.latitude=j,o.height=z,o):new g(h,j,z)};g.toCartesian=function(n,e,o){return c.defined("cartographic",n),y.fromRadians(n.longitude,n.latitude,n.height,e,o)};g.clone=function(n,e){if(u(n))return u(e)?(e.longitude=n.longitude,e.latitude=n.latitude,e.height=n.height,e):new g(n.longitude,n.latitude,n.height)};g.equals=function(n,e){return n===e||u(n)&&u(e)&&n.longitude===e.longitude&&n.latitude===e.latitude&&n.height===e.height};g.equalsEpsilon=function(n,e,o){return o=O(o,0),n===e||u(n)&&u(e)&&Math.abs(n.longitude-e.longitude)<=o&&Math.abs(n.latitude-e.latitude)<=o&&Math.abs(n.height-e.height)<=o};g.ZERO=Object.freeze(new g(0,0,0));g.prototype.clone=function(n){return g.clone(this,n)};g.prototype.equals=function(n){return g.equals(this,n)};g.prototype.equalsEpsilon=function(n,e){return g.equalsEpsilon(this,n,e)};g.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var D=g;function a(n,e){this.x=O(n,0),this.y=O(e,0)}a.fromElements=function(n,e,o){return u(o)?(o.x=n,o.y=e,o):new a(n,e)};a.clone=function(n,e){if(u(n))return u(e)?(e.x=n.x,e.y=n.y,e):new a(n.x,n.y)};a.fromCartesian3=a.clone;a.fromCartesian4=a.clone;a.packedLength=2;a.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),e[o++]=n.x,e[o]=n.y,e};a.unpack=function(n,e,o){return c.defined("array",n),e=O(e,0),u(o)||(o=new a),o.x=n[e++],o.y=n[e],o};a.packArray=function(n,e){c.defined("array",n);let o=n.length,t=o*2;if(!u(e))e=new Array(t);else{if(!Array.isArray(e)&&e.length!==t)throw new S("If result is a typed array, it must have exactly array.length * 2 elements");e.length!==t&&(e.length=t)}for(let i=0;i<o;++i)a.pack(n[i],e,i*2);return e};a.unpackArray=function(n,e){if(c.defined("array",n),c.typeOf.number.greaterThanOrEquals("array.length",n.length,2),n.length%2!==0)throw new S("array length must be a multiple of 2.");let o=n.length;u(e)?e.length=o/2:e=new Array(o/2);for(let t=0;t<o;t+=2){let i=t/2;e[i]=a.unpack(n,t,e[i])}return e};a.fromArray=a.unpack;a.maximumComponent=function(n){return c.typeOf.object("cartesian",n),Math.max(n.x,n.y)};a.minimumComponent=function(n){return c.typeOf.object("cartesian",n),Math.min(n.x,n.y)};a.minimumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.min(n.x,e.x),o.y=Math.min(n.y,e.y),o};a.maximumByComponent=function(n,e,o){return c.typeOf.object("first",n),c.typeOf.object("second",e),c.typeOf.object("result",o),o.x=Math.max(n.x,e.x),o.y=Math.max(n.y,e.y),o};a.clamp=function(n,e,o,t){c.typeOf.object("value",n),c.typeOf.object("min",e),c.typeOf.object("max",o),c.typeOf.object("result",t);let i=w.clamp(n.x,e.x,o.x),p=w.clamp(n.y,e.y,o.y);return t.x=i,t.y=p,t};a.magnitudeSquared=function(n){return c.typeOf.object("cartesian",n),n.x*n.x+n.y*n.y};a.magnitude=function(n){return Math.sqrt(a.magnitudeSquared(n))};var Q=new a;a.distance=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),a.subtract(n,e,Q),a.magnitude(Q)};a.distanceSquared=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),a.subtract(n,e,Q),a.magnitudeSquared(Q)};a.normalize=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=a.magnitude(n);if(e.x=n.x/o,e.y=n.y/o,isNaN(e.x)||isNaN(e.y))throw new S("normalized result is not a number");return e};a.dot=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),n.x*e.x+n.y*e.y};a.cross=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),n.x*e.y-n.y*e.x};a.multiplyComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x*e.x,o.y=n.y*e.y,o};a.divideComponents=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x/e.x,o.y=n.y/e.y,o};a.add=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x+e.x,o.y=n.y+e.y,o};a.subtract=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o.x=n.x-e.x,o.y=n.y-e.y,o};a.multiplyByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x*e,o.y=n.y*e,o};a.divideByScalar=function(n,e,o){return c.typeOf.object("cartesian",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o.x=n.x/e,o.y=n.y/e,o};a.negate=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=-n.x,e.y=-n.y,e};a.abs=function(n,e){return c.typeOf.object("cartesian",n),c.typeOf.object("result",e),e.x=Math.abs(n.x),e.y=Math.abs(n.y),e};var Cn=new a;a.lerp=function(n,e,o,t){return c.typeOf.object("start",n),c.typeOf.object("end",e),c.typeOf.number("t",o),c.typeOf.object("result",t),a.multiplyByScalar(e,o,Cn),t=a.multiplyByScalar(n,1-o,t),a.add(Cn,t,t)};var Tn=new a,Nn=new a;a.angleBetween=function(n,e){return c.typeOf.object("left",n),c.typeOf.object("right",e),a.normalize(n,Tn),a.normalize(e,Nn),w.acosClamped(a.dot(Tn,Nn))};var ne=new a;a.mostOrthogonalAxis=function(n,e){c.typeOf.object("cartesian",n),c.typeOf.object("result",e);let o=a.normalize(n,ne);return a.abs(o,o),o.x<=o.y?e=a.clone(a.UNIT_X,e):e=a.clone(a.UNIT_Y,e),e};a.equals=function(n,e){return n===e||u(n)&&u(e)&&n.x===e.x&&n.y===e.y};a.equalsArray=function(n,e,o){return n.x===e[o]&&n.y===e[o+1]};a.equalsEpsilon=function(n,e,o,t){return n===e||u(n)&&u(e)&&w.equalsEpsilon(n.x,e.x,o,t)&&w.equalsEpsilon(n.y,e.y,o,t)};a.ZERO=Object.freeze(new a(0,0));a.ONE=Object.freeze(new a(1,1));a.UNIT_X=Object.freeze(new a(1,0));a.UNIT_Y=Object.freeze(new a(0,1));a.prototype.clone=function(n){return a.clone(this,n)};a.prototype.equals=function(n){return a.equals(this,n)};a.prototype.equalsEpsilon=function(n,e,o){return a.equalsEpsilon(this,n,e,o)};a.prototype.toString=function(){return`(${this.x}, ${this.y})`};var mn=a;function Fn(n,e,o,t){e=O(e,0),o=O(o,0),t=O(t,0),c.typeOf.number.greaterThanOrEquals("x",e,0),c.typeOf.number.greaterThanOrEquals("y",o,0),c.typeOf.number.greaterThanOrEquals("z",t,0),n._radii=new y(e,o,t),n._radiiSquared=new y(e*e,o*o,t*t),n._radiiToTheFourth=new y(e*e*e*e,o*o*o*o,t*t*t*t),n._oneOverRadii=new y(e===0?0:1/e,o===0?0:1/o,t===0?0:1/t),n._oneOverRadiiSquared=new y(e===0?0:1/(e*e),o===0?0:1/(o*o),t===0?0:1/(t*t)),n._minimumRadius=Math.min(e,o,t),n._maximumRadius=Math.max(e,o,t),n._centerToleranceSquared=w.EPSILON1,n._radiiSquared.z!==0&&(n._squaredXOverSquaredZ=n._radiiSquared.x/n._radiiSquared.z)}function b(n,e,o){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,Fn(this,n,e,o)}Object.defineProperties(b.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});b.clone=function(n,e){if(!u(n))return;let o=n._radii;return u(e)?(y.clone(o,e._radii),y.clone(n._radiiSquared,e._radiiSquared),y.clone(n._radiiToTheFourth,e._radiiToTheFourth),y.clone(n._oneOverRadii,e._oneOverRadii),y.clone(n._oneOverRadiiSquared,e._oneOverRadiiSquared),e._minimumRadius=n._minimumRadius,e._maximumRadius=n._maximumRadius,e._centerToleranceSquared=n._centerToleranceSquared,e):new b(o.x,o.y,o.z)};b.fromCartesian3=function(n,e){return u(e)||(e=new b),u(n)&&Fn(e,n.x,n.y,n.z),e};b.WGS84=Object.freeze(new b(6378137,6378137,6356752314245179e-9));b.UNIT_SPHERE=Object.freeze(new b(1,1,1));b.MOON=Object.freeze(new b(w.LUNAR_RADIUS,w.LUNAR_RADIUS,w.LUNAR_RADIUS));b._default=b.WGS84;Object.defineProperties(b,{default:{get:function(){return b._default},set:function(n){c.typeOf.object("value",n),b._default=n,y._ellipsoidRadiiSquared=n.radiiSquared,D._ellipsoidOneOverRadii=n.oneOverRadii,D._ellipsoidOneOverRadiiSquared=n.oneOverRadiiSquared,D._ellipsoidCenterToleranceSquared=n._centerToleranceSquared}}});b.prototype.clone=function(n){return b.clone(this,n)};b.packedLength=y.packedLength;b.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),y.pack(n._radii,e,o),e};b.unpack=function(n,e,o){c.defined("array",n),e=O(e,0);let t=y.unpack(n,e);return b.fromCartesian3(t,o)};b.prototype.geocentricSurfaceNormal=y.normalize;b.prototype.geodeticSurfaceNormalCartographic=function(n,e){c.typeOf.object("cartographic",n);let o=n.longitude,t=n.latitude,i=Math.cos(t),p=i*Math.cos(o),d=i*Math.sin(o),m=Math.sin(t);return u(e)||(e=new y),e.x=p,e.y=d,e.z=m,y.normalize(e,e)};b.prototype.geodeticSurfaceNormal=function(n,e){if(c.typeOf.object("cartesian",n),isNaN(n.x)||isNaN(n.y)||isNaN(n.z))throw new S("cartesian has a NaN component");if(!y.equalsEpsilon(n,y.ZERO,w.EPSILON14))return u(e)||(e=new y),e=y.multiplyComponents(n,this._oneOverRadiiSquared,e),y.normalize(e,e)};var ee=new y,oe=new y;b.prototype.cartographicToCartesian=function(n,e){let o=ee,t=oe;this.geodeticSurfaceNormalCartographic(n,o),y.multiplyComponents(this._radiiSquared,o,t);let i=Math.sqrt(y.dot(o,t));return y.divideByScalar(t,i,t),y.multiplyByScalar(o,n.height,o),u(e)||(e=new y),y.add(t,o,e)};b.prototype.cartographicArrayToCartesianArray=function(n,e){c.defined("cartographics",n);let o=n.length;u(e)?e.length=o:e=new Array(o);for(let t=0;t<o;t++)e[t]=this.cartographicToCartesian(n[t],e[t]);return e};var te=new y,ce=new y,ie=new y;b.prototype.cartesianToCartographic=function(n,e){let o=this.scaleToGeodeticSurface(n,ce);if(!u(o))return;let t=this.geodeticSurfaceNormal(o,te),i=y.subtract(n,o,ie),p=Math.atan2(t.y,t.x),d=Math.asin(t.z),m=w.sign(y.dot(i,n))*y.magnitude(i);return u(e)?(e.longitude=p,e.latitude=d,e.height=m,e):new D(p,d,m)};b.prototype.cartesianArrayToCartographicArray=function(n,e){c.defined("cartesians",n);let o=n.length;u(e)?e.length=o:e=new Array(o);for(let t=0;t<o;++t)e[t]=this.cartesianToCartographic(n[t],e[t]);return e};b.prototype.scaleToGeodeticSurface=function(n,e){return H(n,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,e)};b.prototype.scaleToGeocentricSurface=function(n,e){c.typeOf.object("cartesian",n),u(e)||(e=new y);let o=n.x,t=n.y,i=n.z,p=this._oneOverRadiiSquared,d=1/Math.sqrt(o*o*p.x+t*t*p.y+i*i*p.z);return y.multiplyByScalar(n,d,e)};b.prototype.transformPositionToScaledSpace=function(n,e){return u(e)||(e=new y),y.multiplyComponents(n,this._oneOverRadii,e)};b.prototype.transformPositionFromScaledSpace=function(n,e){return u(e)||(e=new y),y.multiplyComponents(n,this._radii,e)};b.prototype.equals=function(n){return this===n||u(n)&&y.equals(this._radii,n._radii)};b.prototype.toString=function(){return this._radii.toString()};b.prototype.getSurfaceNormalIntersectionWithZAxis=function(n,e,o){if(c.typeOf.object("position",n),!w.equalsEpsilon(this._radii.x,this._radii.y,w.EPSILON15))throw new S("Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)");c.typeOf.number.greaterThan("Ellipsoid.radii.z",this._radii.z,0),e=O(e,0);let t=this._squaredXOverSquaredZ;if(u(o)||(o=new y),o.x=0,o.y=0,o.z=n.z*(1-t),!(Math.abs(o.z)>=this._radii.z-e))return o};var fe=new y;b.prototype.getLocalCurvature=function(n,e){c.typeOf.object("surfacePosition",n),u(e)||(e=new mn);let o=this.getSurfaceNormalIntersectionWithZAxis(n,0,fe),t=y.distance(n,o),i=this.minimumRadius*t/this.maximumRadius**2,p=t*i**2;return mn.fromElements(1/t,1/p,e)};var re=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],pe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function xn(n,e,o){c.typeOf.number("a",n),c.typeOf.number("b",e),c.typeOf.func("func",o);let t=.5*(e+n),i=.5*(e-n),p=0;for(let d=0;d<5;d++){let m=i*re[d];p+=pe[d]*(o(t+m)+o(t-m))}return p*=i,p}b.prototype.surfaceArea=function(n){c.typeOf.object("rectangle",n);let e=n.west,o=n.east,t=n.south,i=n.north;for(;o<e;)o+=w.TWO_PI;let p=this._radiiSquared,d=p.x,m=p.y,s=p.z,h=d*m;return xn(t,i,function(j){let z=Math.cos(j),M=Math.sin(j);return Math.cos(j)*xn(e,o,function(q){let N=Math.cos(q),l=Math.sin(q);return Math.sqrt(h*M*M+s*(m*N*N+d*l*l)*z*z)})})};var fo=b;function r(n,e,o,t,i,p,d,m,s){this[0]=O(n,0),this[1]=O(t,0),this[2]=O(d,0),this[3]=O(e,0),this[4]=O(i,0),this[5]=O(m,0),this[6]=O(o,0),this[7]=O(p,0),this[8]=O(s,0)}r.packedLength=9;r.pack=function(n,e,o){return c.typeOf.object("value",n),c.defined("array",e),o=O(o,0),e[o++]=n[0],e[o++]=n[1],e[o++]=n[2],e[o++]=n[3],e[o++]=n[4],e[o++]=n[5],e[o++]=n[6],e[o++]=n[7],e[o++]=n[8],e};r.unpack=function(n,e,o){return c.defined("array",n),e=O(e,0),u(o)||(o=new r),o[0]=n[e++],o[1]=n[e++],o[2]=n[e++],o[3]=n[e++],o[4]=n[e++],o[5]=n[e++],o[6]=n[e++],o[7]=n[e++],o[8]=n[e++],o};r.packArray=function(n,e){c.defined("array",n);let o=n.length,t=o*9;if(!u(e))e=new Array(t);else{if(!Array.isArray(e)&&e.length!==t)throw new S("If result is a typed array, it must have exactly array.length * 9 elements");e.length!==t&&(e.length=t)}for(let i=0;i<o;++i)r.pack(n[i],e,i*9);return e};r.unpackArray=function(n,e){if(c.defined("array",n),c.typeOf.number.greaterThanOrEquals("array.length",n.length,9),n.length%9!==0)throw new S("array length must be a multiple of 9.");let o=n.length;u(e)?e.length=o/9:e=new Array(o/9);for(let t=0;t<o;t+=9){let i=t/9;e[i]=r.unpack(n,t,e[i])}return e};r.clone=function(n,e){if(u(n))return u(e)?(e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e):new r(n[0],n[3],n[6],n[1],n[4],n[7],n[2],n[5],n[8])};r.fromArray=r.unpack;r.fromColumnMajorArray=function(n,e){return c.defined("values",n),r.clone(n,e)};r.fromRowMajorArray=function(n,e){return c.defined("values",n),u(e)?(e[0]=n[0],e[1]=n[3],e[2]=n[6],e[3]=n[1],e[4]=n[4],e[5]=n[7],e[6]=n[2],e[7]=n[5],e[8]=n[8],e):new r(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8])};r.fromQuaternion=function(n,e){c.typeOf.object("quaternion",n);let o=n.x*n.x,t=n.x*n.y,i=n.x*n.z,p=n.x*n.w,d=n.y*n.y,m=n.y*n.z,s=n.y*n.w,h=n.z*n.z,j=n.z*n.w,z=n.w*n.w,M=o-d-h+z,q=2*(t-j),N=2*(i+s),l=2*(t+j),x=-o+d-h+z,U=2*(m-p),I=2*(i-s),P=2*(m+p),k=-o-d+h+z;return u(e)?(e[0]=M,e[1]=l,e[2]=I,e[3]=q,e[4]=x,e[5]=P,e[6]=N,e[7]=U,e[8]=k,e):new r(M,q,N,l,x,U,I,P,k)};r.fromHeadingPitchRoll=function(n,e){c.typeOf.object("headingPitchRoll",n);let o=Math.cos(-n.pitch),t=Math.cos(-n.heading),i=Math.cos(n.roll),p=Math.sin(-n.pitch),d=Math.sin(-n.heading),m=Math.sin(n.roll),s=o*t,h=-i*d+m*p*t,j=m*d+i*p*t,z=o*d,M=i*t+m*p*d,q=-m*t+i*p*d,N=-p,l=m*o,x=i*o;return u(e)?(e[0]=s,e[1]=z,e[2]=N,e[3]=h,e[4]=M,e[5]=l,e[6]=j,e[7]=q,e[8]=x,e):new r(s,h,j,z,M,q,N,l,x)};r.fromScale=function(n,e){return c.typeOf.object("scale",n),u(e)?(e[0]=n.x,e[1]=0,e[2]=0,e[3]=0,e[4]=n.y,e[5]=0,e[6]=0,e[7]=0,e[8]=n.z,e):new r(n.x,0,0,0,n.y,0,0,0,n.z)};r.fromUniformScale=function(n,e){return c.typeOf.number("scale",n),u(e)?(e[0]=n,e[1]=0,e[2]=0,e[3]=0,e[4]=n,e[5]=0,e[6]=0,e[7]=0,e[8]=n,e):new r(n,0,0,0,n,0,0,0,n)};r.fromCrossProduct=function(n,e){return c.typeOf.object("vector",n),u(e)?(e[0]=0,e[1]=n.z,e[2]=-n.y,e[3]=-n.z,e[4]=0,e[5]=n.x,e[6]=n.y,e[7]=-n.x,e[8]=0,e):new r(0,-n.z,n.y,n.z,0,-n.x,-n.y,n.x,0)};r.fromRotationX=function(n,e){c.typeOf.number("angle",n);let o=Math.cos(n),t=Math.sin(n);return u(e)?(e[0]=1,e[1]=0,e[2]=0,e[3]=0,e[4]=o,e[5]=t,e[6]=0,e[7]=-t,e[8]=o,e):new r(1,0,0,0,o,-t,0,t,o)};r.fromRotationY=function(n,e){c.typeOf.number("angle",n);let o=Math.cos(n),t=Math.sin(n);return u(e)?(e[0]=o,e[1]=0,e[2]=-t,e[3]=0,e[4]=1,e[5]=0,e[6]=t,e[7]=0,e[8]=o,e):new r(o,0,t,0,1,0,-t,0,o)};r.fromRotationZ=function(n,e){c.typeOf.number("angle",n);let o=Math.cos(n),t=Math.sin(n);return u(e)?(e[0]=o,e[1]=t,e[2]=0,e[3]=-t,e[4]=o,e[5]=0,e[6]=0,e[7]=0,e[8]=1,e):new r(o,-t,0,t,o,0,0,0,1)};r.toArray=function(n,e){return c.typeOf.object("matrix",n),u(e)?(e[0]=n[0],e[1]=n[1],e[2]=n[2],e[3]=n[3],e[4]=n[4],e[5]=n[5],e[6]=n[6],e[7]=n[7],e[8]=n[8],e):[n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8]]};r.getElementIndex=function(n,e){return c.typeOf.number.greaterThanOrEquals("row",e,0),c.typeOf.number.lessThanOrEquals("row",e,2),c.typeOf.number.greaterThanOrEquals("column",n,0),c.typeOf.number.lessThanOrEquals("column",n,2),n*3+e};r.getColumn=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("result",o);let t=e*3,i=n[t],p=n[t+1],d=n[t+2];return o.x=i,o.y=p,o.z=d,o};r.setColumn=function(n,e,o,t){c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("cartesian",o),c.typeOf.object("result",t),t=r.clone(n,t);let i=e*3;return t[i]=o.x,t[i+1]=o.y,t[i+2]=o.z,t};r.getRow=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("result",o);let t=n[e],i=n[e+3],p=n[e+6];return o.x=t,o.y=i,o.z=p,o};r.setRow=function(n,e,o,t){return c.typeOf.object("matrix",n),c.typeOf.number.greaterThanOrEquals("index",e,0),c.typeOf.number.lessThanOrEquals("index",e,2),c.typeOf.object("cartesian",o),c.typeOf.object("result",t),t=r.clone(n,t),t[e]=o.x,t[e+3]=o.y,t[e+6]=o.z,t};var ue=new y;r.setScale=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.object("scale",e),c.typeOf.object("result",o);let t=r.getScale(n,ue),i=e.x/t.x,p=e.y/t.y,d=e.z/t.z;return o[0]=n[0]*i,o[1]=n[1]*i,o[2]=n[2]*i,o[3]=n[3]*p,o[4]=n[4]*p,o[5]=n[5]*p,o[6]=n[6]*d,o[7]=n[7]*d,o[8]=n[8]*d,o};var ae=new y;r.setUniformScale=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.number("scale",e),c.typeOf.object("result",o);let t=r.getScale(n,ae),i=e/t.x,p=e/t.y,d=e/t.z;return o[0]=n[0]*i,o[1]=n[1]*i,o[2]=n[2]*i,o[3]=n[3]*p,o[4]=n[4]*p,o[5]=n[5]*p,o[6]=n[6]*d,o[7]=n[7]*d,o[8]=n[8]*d,o};var sn=new y;r.getScale=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),e.x=y.magnitude(y.fromElements(n[0],n[1],n[2],sn)),e.y=y.magnitude(y.fromElements(n[3],n[4],n[5],sn)),e.z=y.magnitude(y.fromElements(n[6],n[7],n[8],sn)),e};var kn=new y;r.getMaximumScale=function(n){return r.getScale(n,kn),y.maximumComponent(kn)};var de=new y;r.setRotation=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.object("result",o);let t=r.getScale(n,de);return o[0]=e[0]*t.x,o[1]=e[1]*t.x,o[2]=e[2]*t.x,o[3]=e[3]*t.y,o[4]=e[4]*t.y,o[5]=e[5]*t.y,o[6]=e[6]*t.z,o[7]=e[7]*t.z,o[8]=e[8]*t.z,o};var ye=new y;r.getRotation=function(n,e){c.typeOf.object("matrix",n),c.typeOf.object("result",e);let o=r.getScale(n,ye);return e[0]=n[0]/o.x,e[1]=n[1]/o.x,e[2]=n[2]/o.x,e[3]=n[3]/o.y,e[4]=n[4]/o.y,e[5]=n[5]/o.y,e[6]=n[6]/o.z,e[7]=n[7]/o.z,e[8]=n[8]/o.z,e};r.multiply=function(n,e,o){c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o);let t=n[0]*e[0]+n[3]*e[1]+n[6]*e[2],i=n[1]*e[0]+n[4]*e[1]+n[7]*e[2],p=n[2]*e[0]+n[5]*e[1]+n[8]*e[2],d=n[0]*e[3]+n[3]*e[4]+n[6]*e[5],m=n[1]*e[3]+n[4]*e[4]+n[7]*e[5],s=n[2]*e[3]+n[5]*e[4]+n[8]*e[5],h=n[0]*e[6]+n[3]*e[7]+n[6]*e[8],j=n[1]*e[6]+n[4]*e[7]+n[7]*e[8],z=n[2]*e[6]+n[5]*e[7]+n[8]*e[8];return o[0]=t,o[1]=i,o[2]=p,o[3]=d,o[4]=m,o[5]=s,o[6]=h,o[7]=j,o[8]=z,o};r.add=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o[0]=n[0]+e[0],o[1]=n[1]+e[1],o[2]=n[2]+e[2],o[3]=n[3]+e[3],o[4]=n[4]+e[4],o[5]=n[5]+e[5],o[6]=n[6]+e[6],o[7]=n[7]+e[7],o[8]=n[8]+e[8],o};r.subtract=function(n,e,o){return c.typeOf.object("left",n),c.typeOf.object("right",e),c.typeOf.object("result",o),o[0]=n[0]-e[0],o[1]=n[1]-e[1],o[2]=n[2]-e[2],o[3]=n[3]-e[3],o[4]=n[4]-e[4],o[5]=n[5]-e[5],o[6]=n[6]-e[6],o[7]=n[7]-e[7],o[8]=n[8]-e[8],o};r.multiplyByVector=function(n,e,o){c.typeOf.object("matrix",n),c.typeOf.object("cartesian",e),c.typeOf.object("result",o);let t=e.x,i=e.y,p=e.z,d=n[0]*t+n[3]*i+n[6]*p,m=n[1]*t+n[4]*i+n[7]*p,s=n[2]*t+n[5]*i+n[8]*p;return o.x=d,o.y=m,o.z=s,o};r.multiplyByScalar=function(n,e,o){return c.typeOf.object("matrix",n),c.typeOf.number("scalar",e),c.typeOf.object("result",o),o[0]=n[0]*e,o[1]=n[1]*e,o[2]=n[2]*e,o[3]=n[3]*e,o[4]=n[4]*e,o[5]=n[5]*e,o[6]=n[6]*e,o[7]=n[7]*e,o[8]=n[8]*e,o};r.multiplyByScale=function(n,e,o){return c.typeOf.object("matrix",n),c.typeOf.object("scale",e),c.typeOf.object("result",o),o[0]=n[0]*e.x,o[1]=n[1]*e.x,o[2]=n[2]*e.x,o[3]=n[3]*e.y,o[4]=n[4]*e.y,o[5]=n[5]*e.y,o[6]=n[6]*e.z,o[7]=n[7]*e.z,o[8]=n[8]*e.z,o};r.multiplyByUniformScale=function(n,e,o){return c.typeOf.object("matrix",n),c.typeOf.number("scale",e),c.typeOf.object("result",o),o[0]=n[0]*e,o[1]=n[1]*e,o[2]=n[2]*e,o[3]=n[3]*e,o[4]=n[4]*e,o[5]=n[5]*e,o[6]=n[6]*e,o[7]=n[7]*e,o[8]=n[8]*e,o};r.negate=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),e[0]=-n[0],e[1]=-n[1],e[2]=-n[2],e[3]=-n[3],e[4]=-n[4],e[5]=-n[5],e[6]=-n[6],e[7]=-n[7],e[8]=-n[8],e};r.transpose=function(n,e){c.typeOf.object("matrix",n),c.typeOf.object("result",e);let o=n[0],t=n[3],i=n[6],p=n[1],d=n[4],m=n[7],s=n[2],h=n[5],j=n[8];return e[0]=o,e[1]=t,e[2]=i,e[3]=p,e[4]=d,e[5]=m,e[6]=s,e[7]=h,e[8]=j,e};function me(n){let e=0;for(let o=0;o<9;++o){let t=n[o];e+=t*t}return Math.sqrt(e)}var On=[1,0,0],bn=[2,2,1];function se(n){let e=0;for(let o=0;o<3;++o){let t=n[r.getElementIndex(bn[o],On[o])];e+=2*t*t}return Math.sqrt(e)}function Oe(n,e){let o=w.EPSILON15,t=0,i=1;for(let h=0;h<3;++h){let j=Math.abs(n[r.getElementIndex(bn[h],On[h])]);j>t&&(i=h,t=j)}let p=1,d=0,m=On[i],s=bn[i];if(Math.abs(n[r.getElementIndex(s,m)])>o){let h=n[r.getElementIndex(s,s)],j=n[r.getElementIndex(m,m)],z=n[r.getElementIndex(s,m)],M=(h-j)/2/z,q;M<0?q=-1/(-M+Math.sqrt(1+M*M)):q=1/(M+Math.sqrt(1+M*M)),p=1/Math.sqrt(1+q*q),d=q*p}return e=r.clone(r.IDENTITY,e),e[r.getElementIndex(m,m)]=e[r.getElementIndex(s,s)]=p,e[r.getElementIndex(s,m)]=d,e[r.getElementIndex(m,s)]=-d,e}var K=new r,Bn=new r;r.computeEigenDecomposition=function(n,e){c.typeOf.object("matrix",n);let o=w.EPSILON20,t=10,i=0,p=0;u(e)||(e={});let d=e.unitary=r.clone(r.IDENTITY,e.unitary),m=e.diagonal=r.clone(n,e.diagonal),s=o*me(m);for(;p<t&&se(m)>s;)Oe(m,K),r.transpose(K,Bn),r.multiply(m,K,m),r.multiply(Bn,m,m),r.multiply(d,K,d),++i>2&&(++p,i=0);return e};r.abs=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),e[0]=Math.abs(n[0]),e[1]=Math.abs(n[1]),e[2]=Math.abs(n[2]),e[3]=Math.abs(n[3]),e[4]=Math.abs(n[4]),e[5]=Math.abs(n[5]),e[6]=Math.abs(n[6]),e[7]=Math.abs(n[7]),e[8]=Math.abs(n[8]),e};r.determinant=function(n){c.typeOf.object("matrix",n);let e=n[0],o=n[3],t=n[6],i=n[1],p=n[4],d=n[7],m=n[2],s=n[5],h=n[8];return e*(p*h-s*d)+i*(s*t-o*h)+m*(o*d-p*t)};r.inverse=function(n,e){c.typeOf.object("matrix",n),c.typeOf.object("result",e);let o=n[0],t=n[1],i=n[2],p=n[3],d=n[4],m=n[5],s=n[6],h=n[7],j=n[8],z=r.determinant(n);if(Math.abs(z)<=w.EPSILON15)throw new S("matrix is not invertible");e[0]=d*j-h*m,e[1]=h*i-t*j,e[2]=t*m-d*i,e[3]=s*m-p*j,e[4]=o*j-s*i,e[5]=p*i-o*m,e[6]=p*h-s*d,e[7]=s*t-o*h,e[8]=o*d-p*t;let M=1/z;return r.multiplyByScalar(e,M,e)};var be=new r;r.inverseTranspose=function(n,e){return c.typeOf.object("matrix",n),c.typeOf.object("result",e),r.inverse(r.transpose(n,be),e)};r.equals=function(n,e){return n===e||u(n)&&u(e)&&n[0]===e[0]&&n[1]===e[1]&&n[2]===e[2]&&n[3]===e[3]&&n[4]===e[4]&&n[5]===e[5]&&n[6]===e[6]&&n[7]===e[7]&&n[8]===e[8]};r.equalsEpsilon=function(n,e,o){return o=O(o,0),n===e||u(n)&&u(e)&&Math.abs(n[0]-e[0])<=o&&Math.abs(n[1]-e[1])<=o&&Math.abs(n[2]-e[2])<=o&&Math.abs(n[3]-e[3])<=o&&Math.abs(n[4]-e[4])<=o&&Math.abs(n[5]-e[5])<=o&&Math.abs(n[6]-e[6])<=o&&Math.abs(n[7]-e[7])<=o&&Math.abs(n[8]-e[8])<=o};r.IDENTITY=Object.freeze(new r(1,0,0,0,1,0,0,0,1));r.ZERO=Object.freeze(new r(0,0,0,0,0,0,0,0,0));r.COLUMN0ROW0=0;r.COLUMN0ROW1=1;r.COLUMN0ROW2=2;r.COLUMN1ROW0=3;r.COLUMN1ROW1=4;r.COLUMN1ROW2=5;r.COLUMN2ROW0=6;r.COLUMN2ROW1=7;r.COLUMN2ROW2=8;Object.defineProperties(r.prototype,{length:{get:function(){return r.packedLength}}});r.prototype.clone=function(n){return r.clone(this,n)};r.prototype.equals=function(n){return r.equals(this,n)};r.equalsArray=function(n,e,o){return n[0]===e[o]&&n[1]===e[o+1]&&n[2]===e[o+2]&&n[3]===e[o+3]&&n[4]===e[o+4]&&n[5]===e[o+5]&&n[6]===e[o+6]&&n[7]===e[o+7]&&n[8]===e[o+8]};r.prototype.equalsEpsilon=function(n,e){return r.equalsEpsilon(this,n,e)};r.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) (${this[1]}, ${this[4]}, ${this[7]}) (${this[2]}, ${this[5]}, ${this[8]})`};var Oo=r;var F,R={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},_={};Object.defineProperties(_,{element:{get:function(){if(_.supportsFullscreen())return document[R.fullscreenElement]}},changeEventName:{get:function(){if(_.supportsFullscreen())return R.fullscreenchange}},errorEventName:{get:function(){if(_.supportsFullscreen())return R.fullscreenerror}},enabled:{get:function(){if(_.supportsFullscreen())return document[R.fullscreenEnabled]}},fullscreen:{get:function(){if(_.supportsFullscreen())return _.element!==null}}});_.supportsFullscreen=function(){if(u(F))return F;F=!1;let n=document.body;if(typeof n.requestFullscreen=="function")return R.requestFullscreen="requestFullscreen",R.exitFullscreen="exitFullscreen",R.fullscreenEnabled="fullscreenEnabled",R.fullscreenElement="fullscreenElement",R.fullscreenchange="fullscreenchange",R.fullscreenerror="fullscreenerror",F=!0,F;let e=["webkit","moz","o","ms","khtml"],o;for(let t=0,i=e.length;t<i;++t){let p=e[t];o=`${p}RequestFullscreen`,typeof n[o]=="function"?(R.requestFullscreen=o,F=!0):(o=`${p}RequestFullScreen`,typeof n[o]=="function"&&(R.requestFullscreen=o,F=!0)),o=`${p}ExitFullscreen`,typeof document[o]=="function"?R.exitFullscreen=o:(o=`${p}CancelFullScreen`,typeof document[o]=="function"&&(R.exitFullscreen=o)),o=`${p}FullscreenEnabled`,document[o]!==void 0?R.fullscreenEnabled=o:(o=`${p}FullScreenEnabled`,document[o]!==void 0&&(R.fullscreenEnabled=o)),o=`${p}FullscreenElement`,document[o]!==void 0?R.fullscreenElement=o:(o=`${p}FullScreenElement`,document[o]!==void 0&&(R.fullscreenElement=o)),o=`${p}fullscreenchange`,document[`on${o}`]!==void 0&&(p==="ms"&&(o="MSFullscreenChange"),R.fullscreenchange=o),o=`${p}fullscreenerror`,document[`on${o}`]!==void 0&&(p==="ms"&&(o="MSFullscreenError"),R.fullscreenerror=o)}return F};_.requestFullscreen=function(n,e){_.supportsFullscreen()&&n[R.requestFullscreen]({vrDisplay:e})};_.exitFullscreen=function(){_.supportsFullscreen()&&document[R.exitFullscreen]()};_._names=R;var Un=_;var A;typeof navigator<"u"?A=navigator:A={};function B(n){let e=n.split(".");for(let o=0,t=e.length;o<t;++o)e[o]=parseInt(e[o],10);return e}var J,In;function zn(){if(!u(J)&&(J=!1,!fn())){let n=/ Chrome\/([\.0-9]+)/.exec(A.userAgent);n!==null&&(J=!0,In=B(n[1]))}return J}function he(){return zn()&&In}var nn,Pn;function Ln(){if(!u(nn)&&(nn=!1,!zn()&&!fn()&&/ Safari\/[\.0-9]+/.test(A.userAgent))){let n=/ Version\/([\.0-9]+)/.exec(A.userAgent);n!==null&&(nn=!0,Pn=B(n[1]))}return nn}function we(){return Ln()&&Pn}var en,gn;function Vn(){if(!u(en)){en=!1;let n=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(A.userAgent);n!==null&&(en=!0,gn=B(n[1]),gn.isNightly=!!n[2])}return en}function je(){return Vn()&&gn}var Z,Sn;function Wn(){if(!u(Z)){Z=!1;let n;A.appName==="Microsoft Internet Explorer"?(n=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(A.userAgent),n!==null&&(Z=!0,Sn=B(n[1]))):A.appName==="Netscape"&&(n=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(A.userAgent),n!==null&&(Z=!0,Sn=B(n[1])))}return Z}function ge(){return Wn()&&Sn}var on,vn;function fn(){if(!u(on)){on=!1;let n=/ Edg\/([\.0-9]+)/.exec(A.userAgent);n!==null&&(on=!0,vn=B(n[1]))}return on}function Se(){return fn()&&vn}var tn,Rn;function rn(){if(!u(tn)){tn=!1;let n=/Firefox\/([\.0-9]+)/.exec(A.userAgent);n!==null&&(tn=!0,Rn=B(n[1]))}return tn}var hn;function ze(){return u(hn)||(hn=/Windows/i.test(A.appVersion)),hn}var wn;function Re(){return u(wn)||(wn=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),wn}function Me(){return rn()&&Rn}var jn;function qe(){return u(jn)||(jn=!rn()&&typeof PointerEvent<"u"&&(!u(A.pointerEnabled)||A.pointerEnabled)),jn}var $n,cn;function Dn(){if(!u(cn)){let n=document.createElement("canvas");n.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");let e=n.style.imageRendering;cn=u(e)&&e!=="",cn&&($n=e)}return cn}function Ee(){return Dn()?$n:void 0}function E(){if(!E.initialized)throw new S("You must call FeatureDetection.supportsWebP.initialize and wait for the promise to resolve before calling FeatureDetection.supportsWebP");return E._result}E._promise=void 0;E._result=void 0;E.initialize=function(){return u(E._promise)||(E._promise=new Promise(n=>{let e=new Image;e.onload=function(){E._result=e.width>0&&e.height>0,n(E._result)},e.onerror=function(){E._result=!1,n(E._result)},e.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),E._promise};Object.defineProperties(E,{initialized:{get:function(){return u(E._result)}}});var $=[];typeof ArrayBuffer<"u"&&($.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&$.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&$.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&$.push(BigInt64Array),typeof BigUint64Array<"u"&&$.push(BigUint64Array));var T={isChrome:zn,chromeVersion:he,isSafari:Ln,safariVersion:we,isWebkit:Vn,webkitVersion:je,isInternetExplorer:Wn,internetExplorerVersion:ge,isEdge:fn,edgeVersion:Se,isFirefox:rn,firefoxVersion:Me,isWindows:ze,isIPadOrIOS:Re,hardwareConcurrency:O(A.hardwareConcurrency,3),supportsPointerEvents:qe,supportsImageRenderingPixelated:Dn,supportsWebP:E,imageRenderingValue:Ee,typedArrayTypes:$};T.supportsBasis=function(n){return T.supportsWebAssembly()&&n.context.supportsBasis};T.supportsFullscreen=function(){return Un.supportsFullscreen()};T.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};T.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};T.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};T.supportsBigInt=function(){return typeof BigInt<"u"};T.supportsWebWorkers=function(){return typeof Worker<"u"};T.supportsWebAssembly=function(){return typeof WebAssembly<"u"};T.supportsWebgl2=function(n){return c.defined("scene",n),n.context.webgl2};T.supportsEsmWebWorkers=function(){return!rn()||parseInt(Rn)>=114};var Mo=T;export{y as a,D as b,mn as c,fo as d,Oo as e,Mo as f}; diff --git a/public/lib/Cesium/Workers/chunk-UKRRGB4P.js b/public/lib/Cesium/Workers/chunk-I66MFRXO.js similarity index 89% rename from public/lib/Cesium/Workers/chunk-UKRRGB4P.js rename to public/lib/Cesium/Workers/chunk-I66MFRXO.js index 74de90c02..b2c4722d5 100644 --- a/public/lib/Cesium/Workers/chunk-UKRRGB4P.js +++ b/public/lib/Cesium/Workers/chunk-I66MFRXO.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as l,b as d}from"./chunk-GFUBU5RD.js";import{a as t}from"./chunk-RFPX772U.js";import{a as s}from"./chunk-RAYRECQS.js";import{a as f,b as r}from"./chunk-6P5KAIBX.js";import{e as m}from"./chunk-4FSVUTPL.js";function o(e,n){if(r.typeOf.object("normal",e),!s.equalsEpsilon(t.magnitude(e),1,s.EPSILON6))throw new f("normal must be normalized.");r.typeOf.number("distance",n),this.normal=t.clone(e),this.distance=n}o.fromPointNormal=function(e,n,a){if(r.typeOf.object("point",e),r.typeOf.object("normal",n),!s.equalsEpsilon(t.magnitude(n),1,s.EPSILON6))throw new f("normal must be normalized.");let c=-t.dot(n,e);return m(a)?(t.clone(n,a.normal),a.distance=c,a):new o(n,c)};var b=new t;o.fromCartesian4=function(e,n){r.typeOf.object("coefficients",e);let a=t.fromCartesian4(e,b),c=e.w;if(!s.equalsEpsilon(t.magnitude(a),1,s.EPSILON6))throw new f("normal must be normalized.");return m(n)?(t.clone(a,n.normal),n.distance=c,n):new o(a,c)};o.getPointDistance=function(e,n){return r.typeOf.object("plane",e),r.typeOf.object("point",n),t.dot(e.normal,n)+e.distance};var y=new t;o.projectPointOntoPlane=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("point",n),m(a)||(a=new t);let c=o.getPointDistance(e,n),p=t.multiplyByScalar(e.normal,c,y);return t.subtract(n,p,a)};var w=new d,j=new l,N=new t;o.transform=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("transform",n);let c=e.normal,p=e.distance,u=d.inverseTranspose(n,w),i=l.fromElements(c.x,c.y,c.z,p,j);i=d.multiplyByVector(u,i,i);let O=t.fromCartesian4(i,N);return i=l.divideByScalar(i,t.magnitude(O),i),o.fromCartesian4(i,a)};o.clone=function(e,n){return r.typeOf.object("plane",e),m(n)?(t.clone(e.normal,n.normal),n.distance=e.distance,n):new o(e.normal,e.distance)};o.equals=function(e,n){return r.typeOf.object("left",e),r.typeOf.object("right",n),e.distance===n.distance&&t.equals(e.normal,n.normal)};o.ORIGIN_XY_PLANE=Object.freeze(new o(t.UNIT_Z,0));o.ORIGIN_YZ_PLANE=Object.freeze(new o(t.UNIT_X,0));o.ORIGIN_ZX_PLANE=Object.freeze(new o(t.UNIT_Y,0));var T=o;export{T as a}; +import{a as l,b as d}from"./chunk-2K72IAMD.js";import{a as t}from"./chunk-HWH6BBH6.js";import{a as s}from"./chunk-DW4EQ6YI.js";import{a as f,b as r}from"./chunk-4BGNE6LH.js";import{e as m}from"./chunk-OX5CTLXY.js";function o(e,n){if(r.typeOf.object("normal",e),!s.equalsEpsilon(t.magnitude(e),1,s.EPSILON6))throw new f("normal must be normalized.");r.typeOf.number("distance",n),this.normal=t.clone(e),this.distance=n}o.fromPointNormal=function(e,n,a){if(r.typeOf.object("point",e),r.typeOf.object("normal",n),!s.equalsEpsilon(t.magnitude(n),1,s.EPSILON6))throw new f("normal must be normalized.");let c=-t.dot(n,e);return m(a)?(t.clone(n,a.normal),a.distance=c,a):new o(n,c)};var b=new t;o.fromCartesian4=function(e,n){r.typeOf.object("coefficients",e);let a=t.fromCartesian4(e,b),c=e.w;if(!s.equalsEpsilon(t.magnitude(a),1,s.EPSILON6))throw new f("normal must be normalized.");return m(n)?(t.clone(a,n.normal),n.distance=c,n):new o(a,c)};o.getPointDistance=function(e,n){return r.typeOf.object("plane",e),r.typeOf.object("point",n),t.dot(e.normal,n)+e.distance};var y=new t;o.projectPointOntoPlane=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("point",n),m(a)||(a=new t);let c=o.getPointDistance(e,n),p=t.multiplyByScalar(e.normal,c,y);return t.subtract(n,p,a)};var w=new d,j=new l,N=new t;o.transform=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("transform",n);let c=e.normal,p=e.distance,u=d.inverseTranspose(n,w),i=l.fromElements(c.x,c.y,c.z,p,j);i=d.multiplyByVector(u,i,i);let O=t.fromCartesian4(i,N);return i=l.divideByScalar(i,t.magnitude(O),i),o.fromCartesian4(i,a)};o.clone=function(e,n){return r.typeOf.object("plane",e),m(n)?(t.clone(e.normal,n.normal),n.distance=e.distance,n):new o(e.normal,e.distance)};o.equals=function(e,n){return r.typeOf.object("left",e),r.typeOf.object("right",n),e.distance===n.distance&&t.equals(e.normal,n.normal)};o.ORIGIN_XY_PLANE=Object.freeze(new o(t.UNIT_Z,0));o.ORIGIN_YZ_PLANE=Object.freeze(new o(t.UNIT_X,0));o.ORIGIN_ZX_PLANE=Object.freeze(new o(t.UNIT_Y,0));var T=o;export{T as a}; diff --git a/public/lib/Cesium/Workers/chunk-KJJX7FYJ.js b/public/lib/Cesium/Workers/chunk-J27DO7RZ.js similarity index 92% rename from public/lib/Cesium/Workers/chunk-KJJX7FYJ.js rename to public/lib/Cesium/Workers/chunk-J27DO7RZ.js index 535cbb78f..124b2f5b2 100644 --- a/public/lib/Cesium/Workers/chunk-KJJX7FYJ.js +++ b/public/lib/Cesium/Workers/chunk-J27DO7RZ.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as wt}from"./chunk-IFAARW2T.js";import{a as k}from"./chunk-6YAFAZVV.js";import{a as kt}from"./chunk-UGB43LJM.js";import{a as Ct}from"./chunk-WFZLZ2P5.js";import{b as dt,c as _t,d as R}from"./chunk-CTEHZS7O.js";import{d as ht}from"./chunk-4TXI27XR.js";import{a as N}from"./chunk-27UWHT4D.js";import{a as s,c as pt,d as ot}from"./chunk-RFPX772U.js";import{a as M}from"./chunk-RAYRECQS.js";import{a as p}from"./chunk-6KLVDWWE.js";import{a as z}from"./chunk-6P5KAIBX.js";import{e as E}from"./chunk-4FSVUTPL.js";var yt=new s,vt=new s,Et=new s,Mt=new s,Nt=new s,Rt=new s(1,1,1),Pt=Math.cos,At=Math.sin;function O(n){n=p(n,p.EMPTY_OBJECT);let m=p(n.radii,Rt),i=p(n.innerRadii,m),P=p(n.minimumClock,0),T=p(n.maximumClock,M.TWO_PI),A=p(n.minimumCone,0),b=p(n.maximumCone,M.PI),a=Math.round(p(n.stackPartitions,64)),u=Math.round(p(n.slicePartitions,64)),h=p(n.vertexFormat,k.DEFAULT);if(u<3)throw new z("options.slicePartitions cannot be less than three.");if(a<3)throw new z("options.stackPartitions cannot be less than three.");this._radii=s.clone(m),this._innerRadii=s.clone(i),this._minimumClock=P,this._maximumClock=T,this._minimumCone=A,this._maximumCone=b,this._stackPartitions=a,this._slicePartitions=u,this._vertexFormat=k.clone(h),this._offsetAttribute=n.offsetAttribute,this._workerName="createEllipsoidGeometry"}O.packedLength=2*s.packedLength+k.packedLength+7;O.pack=function(n,m,i){if(!E(n))throw new z("value is required");if(!E(m))throw new z("array is required");return i=p(i,0),s.pack(n._radii,m,i),i+=s.packedLength,s.pack(n._innerRadii,m,i),i+=s.packedLength,k.pack(n._vertexFormat,m,i),i+=k.packedLength,m[i++]=n._minimumClock,m[i++]=n._maximumClock,m[i++]=n._minimumCone,m[i++]=n._maximumCone,m[i++]=n._stackPartitions,m[i++]=n._slicePartitions,m[i]=p(n._offsetAttribute,-1),m};var bt=new s,xt=new s,Ot=new k,y={radii:bt,innerRadii:xt,vertexFormat:Ot,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};O.unpack=function(n,m,i){if(!E(n))throw new z("array is required");m=p(m,0);let P=s.unpack(n,m,bt);m+=s.packedLength;let T=s.unpack(n,m,xt);m+=s.packedLength;let A=k.unpack(n,m,Ot);m+=k.packedLength;let b=n[m++],a=n[m++],u=n[m++],h=n[m++],t=n[m++],o=n[m++],e=n[m];return E(i)?(i._radii=s.clone(P,i._radii),i._innerRadii=s.clone(T,i._innerRadii),i._vertexFormat=k.clone(A,i._vertexFormat),i._minimumClock=b,i._maximumClock=a,i._minimumCone=u,i._maximumCone=h,i._stackPartitions=t,i._slicePartitions=o,i._offsetAttribute=e===-1?void 0:e,i):(y.minimumClock=b,y.maximumClock=a,y.minimumCone=u,y.maximumCone=h,y.stackPartitions=t,y.slicePartitions=o,y.offsetAttribute=e===-1?void 0:e,new O(y))};O.createGeometry=function(n){let m=n._radii;if(m.x<=0||m.y<=0||m.z<=0)return;let i=n._innerRadii;if(i.x<=0||i.y<=0||i.z<=0)return;let P=n._minimumClock,T=n._maximumClock,A=n._minimumCone,b=n._maximumCone,a=n._vertexFormat,u=n._slicePartitions+1,h=n._stackPartitions+1;u=Math.round(u*Math.abs(T-P)/M.TWO_PI),h=Math.round(h*Math.abs(b-A)/M.PI),u<2&&(u=2),h<2&&(h=2);let t,o,e=0,D=[A],S=[P];for(t=0;t<h;t++)D.push(A+t*(b-A)/(h-1));for(D.push(b),o=0;o<u;o++)S.push(P+o*(T-P)/(u-1));S.push(T);let f=D.length,c=S.length,U=0,B=1,q=i.x!==m.x||i.y!==m.y||i.z!==m.z,J=!1,rt=!1,ct=!1;q&&(B=2,A>0&&(J=!0,U+=u-1),b<Math.PI&&(rt=!0,U+=u-1),(T-P)%M.TWO_PI?(ct=!0,U+=(h-1)*2+1):U+=1);let w=c*f*B,x=new Float64Array(w*3),X=new Array(w).fill(!1),st=new Array(w).fill(!1),at=u*h*B,Tt=6*(at+U+1-(u+h)*B),r=kt.createTypedArray(at,Tt),Y=a.normal?new Float32Array(w*3):void 0,j=a.tangent?new Float32Array(w*3):void 0,H=a.bitangent?new Float32Array(w*3):void 0,Z=a.st?new Float32Array(w*2):void 0,V=new Array(f),G=new Array(f);for(t=0;t<f;t++)V[t]=At(D[t]),G[t]=Pt(D[t]);let K=new Array(c),Q=new Array(c);for(o=0;o<c;o++)Q[o]=Pt(S[o]),K[o]=At(S[o]);for(t=0;t<f;t++)for(o=0;o<c;o++)x[e++]=m.x*V[t]*Q[o],x[e++]=m.y*V[t]*K[o],x[e++]=m.z*G[t];let $=w/2;if(q)for(t=0;t<f;t++)for(o=0;o<c;o++)x[e++]=i.x*V[t]*Q[o],x[e++]=i.y*V[t]*K[o],x[e++]=i.z*G[t],X[$]=!0,t>0&&t!==f-1&&o!==0&&o!==c-1&&(st[$]=!0),$++;e=0;let F,L;for(t=1;t<f-2;t++)for(F=t*c,L=(t+1)*c,o=1;o<c-2;o++)r[e++]=L+o,r[e++]=L+o+1,r[e++]=F+o+1,r[e++]=L+o,r[e++]=F+o+1,r[e++]=F+o;if(q){let g=f*c;for(t=1;t<f-2;t++)for(F=g+t*c,L=g+(t+1)*c,o=1;o<c-2;o++)r[e++]=L+o,r[e++]=F+o,r[e++]=F+o+1,r[e++]=L+o,r[e++]=F+o+1,r[e++]=L+o+1}let d,l;if(q){if(J)for(l=f*c,t=1;t<c-2;t++)r[e++]=t,r[e++]=t+1,r[e++]=l+t+1,r[e++]=t,r[e++]=l+t+1,r[e++]=l+t;if(rt)for(d=f*c-c,l=f*c*B-c,t=1;t<c-2;t++)r[e++]=d+t+1,r[e++]=d+t,r[e++]=l+t,r[e++]=d+t+1,r[e++]=l+t,r[e++]=l+t+1}if(ct){for(t=1;t<f-2;t++)l=c*f+c*t,d=c*t,r[e++]=l,r[e++]=d+c,r[e++]=d,r[e++]=l,r[e++]=l+c,r[e++]=d+c;for(t=1;t<f-2;t++)l=c*f+c*(t+1)-1,d=c*(t+1)-1,r[e++]=d+c,r[e++]=l,r[e++]=d,r[e++]=d+c,r[e++]=l+c,r[e++]=l}let v=new Ct;a.position&&(v.position=new R({componentDatatype:N.DOUBLE,componentsPerAttribute:3,values:x}));let ft=0,I=0,tt=0,nt=0,Ft=w/2,ut,lt=ot.fromCartesian3(m),Lt=ot.fromCartesian3(i);if(a.st||a.normal||a.tangent||a.bitangent){for(t=0;t<w;t++){ut=X[t]?Lt:lt;let g=s.fromArray(x,t*3,yt),C=ut.geodeticSurfaceNormal(g,vt);if(st[t]&&s.negate(C,C),a.st){let _=pt.negate(C,Nt);Z[ft++]=Math.atan2(_.y,_.x)/M.TWO_PI+.5,Z[ft++]=Math.asin(C.z)/Math.PI+.5}if(a.normal&&(Y[I++]=C.x,Y[I++]=C.y,Y[I++]=C.z),a.tangent||a.bitangent){let _=Et,et=0,it;if(X[t]&&(et=Ft),!J&&t>=et&&t<et+c*2?it=s.UNIT_X:it=s.UNIT_Z,s.cross(it,C,_),s.normalize(_,_),a.tangent&&(j[tt++]=_.x,j[tt++]=_.y,j[tt++]=_.z),a.bitangent){let W=s.cross(C,_,Mt);s.normalize(W,W),H[nt++]=W.x,H[nt++]=W.y,H[nt++]=W.z}}}a.st&&(v.st=new R({componentDatatype:N.FLOAT,componentsPerAttribute:2,values:Z})),a.normal&&(v.normal=new R({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:Y})),a.tangent&&(v.tangent=new R({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:j})),a.bitangent&&(v.bitangent=new R({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:H}))}if(E(n._offsetAttribute)){let g=x.length,C=n._offsetAttribute===wt.NONE?0:1,_=new Uint8Array(g/3).fill(C);v.applyOffset=new R({componentDatatype:N.UNSIGNED_BYTE,componentsPerAttribute:1,values:_})}return new _t({attributes:v,indices:r,primitiveType:dt.TRIANGLES,boundingSphere:ht.fromEllipsoid(lt),offsetAttribute:n._offsetAttribute})};var mt;O.getUnitEllipsoid=function(){return E(mt)||(mt=O.createGeometry(new O({radii:new s(1,1,1),vertexFormat:k.POSITION_ONLY}))),mt};var Kt=O;export{Kt as a}; +import{a as wt}from"./chunk-TP5B32RY.js";import{a as k}from"./chunk-RPAJTIFB.js";import{a as kt}from"./chunk-A3VS2OZ2.js";import{a as Ct}from"./chunk-E2XIHPTZ.js";import{b as dt,c as _t,d as R}from"./chunk-72NMS5KE.js";import{d as ht}from"./chunk-JLMPKQO4.js";import{a as N}from"./chunk-GNTVNTUY.js";import{a as s,c as pt,d as ot}from"./chunk-HWH6BBH6.js";import{a as M}from"./chunk-DW4EQ6YI.js";import{a as p}from"./chunk-CJFJKB5V.js";import{a as z}from"./chunk-4BGNE6LH.js";import{e as E}from"./chunk-OX5CTLXY.js";var yt=new s,vt=new s,Et=new s,Mt=new s,Nt=new s,Rt=new s(1,1,1),Pt=Math.cos,At=Math.sin;function O(n){n=p(n,p.EMPTY_OBJECT);let m=p(n.radii,Rt),i=p(n.innerRadii,m),P=p(n.minimumClock,0),T=p(n.maximumClock,M.TWO_PI),A=p(n.minimumCone,0),b=p(n.maximumCone,M.PI),a=Math.round(p(n.stackPartitions,64)),u=Math.round(p(n.slicePartitions,64)),h=p(n.vertexFormat,k.DEFAULT);if(u<3)throw new z("options.slicePartitions cannot be less than three.");if(a<3)throw new z("options.stackPartitions cannot be less than three.");this._radii=s.clone(m),this._innerRadii=s.clone(i),this._minimumClock=P,this._maximumClock=T,this._minimumCone=A,this._maximumCone=b,this._stackPartitions=a,this._slicePartitions=u,this._vertexFormat=k.clone(h),this._offsetAttribute=n.offsetAttribute,this._workerName="createEllipsoidGeometry"}O.packedLength=2*s.packedLength+k.packedLength+7;O.pack=function(n,m,i){if(!E(n))throw new z("value is required");if(!E(m))throw new z("array is required");return i=p(i,0),s.pack(n._radii,m,i),i+=s.packedLength,s.pack(n._innerRadii,m,i),i+=s.packedLength,k.pack(n._vertexFormat,m,i),i+=k.packedLength,m[i++]=n._minimumClock,m[i++]=n._maximumClock,m[i++]=n._minimumCone,m[i++]=n._maximumCone,m[i++]=n._stackPartitions,m[i++]=n._slicePartitions,m[i]=p(n._offsetAttribute,-1),m};var bt=new s,xt=new s,Ot=new k,y={radii:bt,innerRadii:xt,vertexFormat:Ot,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};O.unpack=function(n,m,i){if(!E(n))throw new z("array is required");m=p(m,0);let P=s.unpack(n,m,bt);m+=s.packedLength;let T=s.unpack(n,m,xt);m+=s.packedLength;let A=k.unpack(n,m,Ot);m+=k.packedLength;let b=n[m++],a=n[m++],u=n[m++],h=n[m++],t=n[m++],o=n[m++],e=n[m];return E(i)?(i._radii=s.clone(P,i._radii),i._innerRadii=s.clone(T,i._innerRadii),i._vertexFormat=k.clone(A,i._vertexFormat),i._minimumClock=b,i._maximumClock=a,i._minimumCone=u,i._maximumCone=h,i._stackPartitions=t,i._slicePartitions=o,i._offsetAttribute=e===-1?void 0:e,i):(y.minimumClock=b,y.maximumClock=a,y.minimumCone=u,y.maximumCone=h,y.stackPartitions=t,y.slicePartitions=o,y.offsetAttribute=e===-1?void 0:e,new O(y))};O.createGeometry=function(n){let m=n._radii;if(m.x<=0||m.y<=0||m.z<=0)return;let i=n._innerRadii;if(i.x<=0||i.y<=0||i.z<=0)return;let P=n._minimumClock,T=n._maximumClock,A=n._minimumCone,b=n._maximumCone,a=n._vertexFormat,u=n._slicePartitions+1,h=n._stackPartitions+1;u=Math.round(u*Math.abs(T-P)/M.TWO_PI),h=Math.round(h*Math.abs(b-A)/M.PI),u<2&&(u=2),h<2&&(h=2);let t,o,e=0,D=[A],S=[P];for(t=0;t<h;t++)D.push(A+t*(b-A)/(h-1));for(D.push(b),o=0;o<u;o++)S.push(P+o*(T-P)/(u-1));S.push(T);let f=D.length,c=S.length,U=0,B=1,q=i.x!==m.x||i.y!==m.y||i.z!==m.z,J=!1,rt=!1,ct=!1;q&&(B=2,A>0&&(J=!0,U+=u-1),b<Math.PI&&(rt=!0,U+=u-1),(T-P)%M.TWO_PI?(ct=!0,U+=(h-1)*2+1):U+=1);let w=c*f*B,x=new Float64Array(w*3),X=new Array(w).fill(!1),st=new Array(w).fill(!1),at=u*h*B,Tt=6*(at+U+1-(u+h)*B),r=kt.createTypedArray(at,Tt),Y=a.normal?new Float32Array(w*3):void 0,j=a.tangent?new Float32Array(w*3):void 0,H=a.bitangent?new Float32Array(w*3):void 0,Z=a.st?new Float32Array(w*2):void 0,V=new Array(f),G=new Array(f);for(t=0;t<f;t++)V[t]=At(D[t]),G[t]=Pt(D[t]);let K=new Array(c),Q=new Array(c);for(o=0;o<c;o++)Q[o]=Pt(S[o]),K[o]=At(S[o]);for(t=0;t<f;t++)for(o=0;o<c;o++)x[e++]=m.x*V[t]*Q[o],x[e++]=m.y*V[t]*K[o],x[e++]=m.z*G[t];let $=w/2;if(q)for(t=0;t<f;t++)for(o=0;o<c;o++)x[e++]=i.x*V[t]*Q[o],x[e++]=i.y*V[t]*K[o],x[e++]=i.z*G[t],X[$]=!0,t>0&&t!==f-1&&o!==0&&o!==c-1&&(st[$]=!0),$++;e=0;let F,L;for(t=1;t<f-2;t++)for(F=t*c,L=(t+1)*c,o=1;o<c-2;o++)r[e++]=L+o,r[e++]=L+o+1,r[e++]=F+o+1,r[e++]=L+o,r[e++]=F+o+1,r[e++]=F+o;if(q){let g=f*c;for(t=1;t<f-2;t++)for(F=g+t*c,L=g+(t+1)*c,o=1;o<c-2;o++)r[e++]=L+o,r[e++]=F+o,r[e++]=F+o+1,r[e++]=L+o,r[e++]=F+o+1,r[e++]=L+o+1}let d,l;if(q){if(J)for(l=f*c,t=1;t<c-2;t++)r[e++]=t,r[e++]=t+1,r[e++]=l+t+1,r[e++]=t,r[e++]=l+t+1,r[e++]=l+t;if(rt)for(d=f*c-c,l=f*c*B-c,t=1;t<c-2;t++)r[e++]=d+t+1,r[e++]=d+t,r[e++]=l+t,r[e++]=d+t+1,r[e++]=l+t,r[e++]=l+t+1}if(ct){for(t=1;t<f-2;t++)l=c*f+c*t,d=c*t,r[e++]=l,r[e++]=d+c,r[e++]=d,r[e++]=l,r[e++]=l+c,r[e++]=d+c;for(t=1;t<f-2;t++)l=c*f+c*(t+1)-1,d=c*(t+1)-1,r[e++]=d+c,r[e++]=l,r[e++]=d,r[e++]=d+c,r[e++]=l+c,r[e++]=l}let v=new Ct;a.position&&(v.position=new R({componentDatatype:N.DOUBLE,componentsPerAttribute:3,values:x}));let ft=0,I=0,tt=0,nt=0,Ft=w/2,ut,lt=ot.fromCartesian3(m),Lt=ot.fromCartesian3(i);if(a.st||a.normal||a.tangent||a.bitangent){for(t=0;t<w;t++){ut=X[t]?Lt:lt;let g=s.fromArray(x,t*3,yt),C=ut.geodeticSurfaceNormal(g,vt);if(st[t]&&s.negate(C,C),a.st){let _=pt.negate(C,Nt);Z[ft++]=Math.atan2(_.y,_.x)/M.TWO_PI+.5,Z[ft++]=Math.asin(C.z)/Math.PI+.5}if(a.normal&&(Y[I++]=C.x,Y[I++]=C.y,Y[I++]=C.z),a.tangent||a.bitangent){let _=Et,et=0,it;if(X[t]&&(et=Ft),!J&&t>=et&&t<et+c*2?it=s.UNIT_X:it=s.UNIT_Z,s.cross(it,C,_),s.normalize(_,_),a.tangent&&(j[tt++]=_.x,j[tt++]=_.y,j[tt++]=_.z),a.bitangent){let W=s.cross(C,_,Mt);s.normalize(W,W),H[nt++]=W.x,H[nt++]=W.y,H[nt++]=W.z}}}a.st&&(v.st=new R({componentDatatype:N.FLOAT,componentsPerAttribute:2,values:Z})),a.normal&&(v.normal=new R({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:Y})),a.tangent&&(v.tangent=new R({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:j})),a.bitangent&&(v.bitangent=new R({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:H}))}if(E(n._offsetAttribute)){let g=x.length,C=n._offsetAttribute===wt.NONE?0:1,_=new Uint8Array(g/3).fill(C);v.applyOffset=new R({componentDatatype:N.UNSIGNED_BYTE,componentsPerAttribute:1,values:_})}return new _t({attributes:v,indices:r,primitiveType:dt.TRIANGLES,boundingSphere:ht.fromEllipsoid(lt),offsetAttribute:n._offsetAttribute})};var mt;O.getUnitEllipsoid=function(){return E(mt)||(mt=O.createGeometry(new O({radii:new s(1,1,1),vertexFormat:k.POSITION_ONLY}))),mt};var Kt=O;export{Kt as a}; diff --git a/public/lib/Cesium/Workers/chunk-3OZXQUAM.js b/public/lib/Cesium/Workers/chunk-JHG5JGLM.js similarity index 88% rename from public/lib/Cesium/Workers/chunk-3OZXQUAM.js rename to public/lib/Cesium/Workers/chunk-JHG5JGLM.js index 0b96c10f3..358f35484 100644 --- a/public/lib/Cesium/Workers/chunk-3OZXQUAM.js +++ b/public/lib/Cesium/Workers/chunk-JHG5JGLM.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as P}from"./chunk-35ZH4J6R.js";import{a as j,b as d}from"./chunk-P75RMBWR.js";import{a as O}from"./chunk-UKRRGB4P.js";import{a as A,b as m,g as u}from"./chunk-GFUBU5RD.js";import{a as e,c as l,d as _}from"./chunk-RFPX772U.js";import{a as g}from"./chunk-6KLVDWWE.js";import{a as y,b as p}from"./chunk-6P5KAIBX.js";import{e as r}from"./chunk-4FSVUTPL.js";var x=new A;function s(n,t){if(p.defined("origin",n),t=g(t,_.default),n=t.scaleToGeodeticSurface(n),!r(n))throw new y("origin must not be at the center of the ellipsoid.");let o=u.eastNorthUpToFixedFrame(n,t);this._ellipsoid=t,this._origin=n,this._xAxis=e.fromCartesian4(m.getColumn(o,0,x)),this._yAxis=e.fromCartesian4(m.getColumn(o,1,x));let i=e.fromCartesian4(m.getColumn(o,2,x));this._plane=O.fromPointNormal(n,i)}Object.defineProperties(s.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var C=new P;s.fromPoints=function(n,t){p.defined("cartesians",n);let o=P.fromPoints(n,C);return new s(o.center,t)};var w=new j,h=new e;s.prototype.projectPointOntoPlane=function(n,t){p.defined("cartesian",n);let o=w;o.origin=n,e.normalize(n,o.direction);let i=d.rayPlane(o,this._plane,h);if(r(i)||(e.negate(o.direction,o.direction),i=d.rayPlane(o,this._plane,h)),r(i)){let c=e.subtract(i,this._origin,i),a=e.dot(this._xAxis,c),f=e.dot(this._yAxis,c);return r(t)?(t.x=a,t.y=f,t):new l(a,f)}};s.prototype.projectPointsOntoPlane=function(n,t){p.defined("cartesians",n),r(t)||(t=[]);let o=0,i=n.length;for(let c=0;c<i;c++){let a=this.projectPointOntoPlane(n[c],t[o]);r(a)&&(t[o]=a,o++)}return t.length=o,t};s.prototype.projectPointToNearestOnPlane=function(n,t){p.defined("cartesian",n),r(t)||(t=new l);let o=w;o.origin=n,e.clone(this._plane.normal,o.direction);let i=d.rayPlane(o,this._plane,h);r(i)||(e.negate(o.direction,o.direction),i=d.rayPlane(o,this._plane,h));let c=e.subtract(i,this._origin,i),a=e.dot(this._xAxis,c),f=e.dot(this._yAxis,c);return t.x=a,t.y=f,t};s.prototype.projectPointsToNearestOnPlane=function(n,t){p.defined("cartesians",n),r(t)||(t=[]);let o=n.length;t.length=o;for(let i=0;i<o;i++)t[i]=this.projectPointToNearestOnPlane(n[i],t[i]);return t};var T=new e;s.prototype.projectPointOntoEllipsoid=function(n,t){p.defined("cartesian",n),r(t)||(t=new e);let o=this._ellipsoid,i=this._origin,c=this._xAxis,a=this._yAxis,f=T;return e.multiplyByScalar(c,n.x,f),t=e.add(i,f,t),e.multiplyByScalar(a,n.y,f),e.add(t,f,t),o.scaleToGeocentricSurface(t,t),t};s.prototype.projectPointsOntoEllipsoid=function(n,t){p.defined("cartesians",n);let o=n.length;r(t)?t.length=o:t=new Array(o);for(let i=0;i<o;++i)t[i]=this.projectPointOntoEllipsoid(n[i],t[i]);return t};var M=s;export{M as a}; +import{a as P}from"./chunk-ULZ2QSU5.js";import{a as j,b as d}from"./chunk-GCVZZUCS.js";import{a as O}from"./chunk-I66MFRXO.js";import{a as A,b as m,g as u}from"./chunk-2K72IAMD.js";import{a as e,c as l,d as _}from"./chunk-HWH6BBH6.js";import{a as g}from"./chunk-CJFJKB5V.js";import{a as y,b as p}from"./chunk-4BGNE6LH.js";import{e as r}from"./chunk-OX5CTLXY.js";var x=new A;function s(n,t){if(p.defined("origin",n),t=g(t,_.default),n=t.scaleToGeodeticSurface(n),!r(n))throw new y("origin must not be at the center of the ellipsoid.");let o=u.eastNorthUpToFixedFrame(n,t);this._ellipsoid=t,this._origin=n,this._xAxis=e.fromCartesian4(m.getColumn(o,0,x)),this._yAxis=e.fromCartesian4(m.getColumn(o,1,x));let i=e.fromCartesian4(m.getColumn(o,2,x));this._plane=O.fromPointNormal(n,i)}Object.defineProperties(s.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var C=new P;s.fromPoints=function(n,t){p.defined("cartesians",n);let o=P.fromPoints(n,C);return new s(o.center,t)};var w=new j,h=new e;s.prototype.projectPointOntoPlane=function(n,t){p.defined("cartesian",n);let o=w;o.origin=n,e.normalize(n,o.direction);let i=d.rayPlane(o,this._plane,h);if(r(i)||(e.negate(o.direction,o.direction),i=d.rayPlane(o,this._plane,h)),r(i)){let c=e.subtract(i,this._origin,i),a=e.dot(this._xAxis,c),f=e.dot(this._yAxis,c);return r(t)?(t.x=a,t.y=f,t):new l(a,f)}};s.prototype.projectPointsOntoPlane=function(n,t){p.defined("cartesians",n),r(t)||(t=[]);let o=0,i=n.length;for(let c=0;c<i;c++){let a=this.projectPointOntoPlane(n[c],t[o]);r(a)&&(t[o]=a,o++)}return t.length=o,t};s.prototype.projectPointToNearestOnPlane=function(n,t){p.defined("cartesian",n),r(t)||(t=new l);let o=w;o.origin=n,e.clone(this._plane.normal,o.direction);let i=d.rayPlane(o,this._plane,h);r(i)||(e.negate(o.direction,o.direction),i=d.rayPlane(o,this._plane,h));let c=e.subtract(i,this._origin,i),a=e.dot(this._xAxis,c),f=e.dot(this._yAxis,c);return t.x=a,t.y=f,t};s.prototype.projectPointsToNearestOnPlane=function(n,t){p.defined("cartesians",n),r(t)||(t=[]);let o=n.length;t.length=o;for(let i=0;i<o;i++)t[i]=this.projectPointToNearestOnPlane(n[i],t[i]);return t};var T=new e;s.prototype.projectPointOntoEllipsoid=function(n,t){p.defined("cartesian",n),r(t)||(t=new e);let o=this._ellipsoid,i=this._origin,c=this._xAxis,a=this._yAxis,f=T;return e.multiplyByScalar(c,n.x,f),t=e.add(i,f,t),e.multiplyByScalar(a,n.y,f),e.add(t,f,t),o.scaleToGeocentricSurface(t,t),t};s.prototype.projectPointsOntoEllipsoid=function(n,t){p.defined("cartesians",n);let o=n.length;r(t)?t.length=o:t=new Array(o);for(let i=0;i<o;++i)t[i]=this.projectPointOntoEllipsoid(n[i],t[i]);return t};var M=s;export{M as a}; diff --git a/public/lib/Cesium/Workers/chunk-5E2B6U7T.js b/public/lib/Cesium/Workers/chunk-JKCZ5NAK.js similarity index 88% rename from public/lib/Cesium/Workers/chunk-5E2B6U7T.js rename to public/lib/Cesium/Workers/chunk-JKCZ5NAK.js index 2e390559d..a47928a58 100644 --- a/public/lib/Cesium/Workers/chunk-5E2B6U7T.js +++ b/public/lib/Cesium/Workers/chunk-JKCZ5NAK.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as z,b as q}from"./chunk-GXCW7MIH.js";import{a as U}from"./chunk-BUNDO2NJ.js";import{f as I}from"./chunk-GFUBU5RD.js";import{a as e,e as C}from"./chunk-RFPX772U.js";import{a as O}from"./chunk-RAYRECQS.js";import{e as j}from"./chunk-4FSVUTPL.js";var G={},B=new e,J=new e,_=new e,v=new e,g=[new e,new e],K=new e,W=new e,X=new e,$=new e,ee=new e,te=new e,ne=new e,oe=new e,re=new e,se=new e,F=new I,k=new C;function V(o,s,a,c,r){let d=e.angleBetween(e.subtract(s,o,B),e.subtract(a,o,J)),y=c===z.BEVELED?1:Math.ceil(d/O.toRadians(5))+1,n=y*3,l=new Array(n);l[n-3]=a.x,l[n-2]=a.y,l[n-1]=a.z;let m;r?m=C.fromQuaternion(I.fromAxisAngle(e.negate(o,B),d/y,F),k):m=C.fromQuaternion(I.fromAxisAngle(o,d/y,F),k);let t=0;s=e.clone(s,B);for(let i=0;i<y;i++)s=C.multiplyByVector(m,s,s),l[t++]=s.x,l[t++]=s.y,l[t++]=s.z;return l}function ae(o){let s=K,a=W,c=X,r=o[1];a=e.fromArray(o[1],r.length-3,a),c=e.fromArray(o[0],0,c),s=e.midpoint(a,c,s);let d=V(s,a,c,z.ROUNDED,!1),y=o.length-1,n=o[y-1];r=o[y],a=e.fromArray(n,n.length-3,a),c=e.fromArray(r,0,c),s=e.midpoint(a,c,s);let l=V(s,a,c,z.ROUNDED,!1);return[d,l]}function H(o,s,a,c){let r=B;return c?r=e.add(o,s,r):(s=e.negate(s,s),r=e.add(o,s,r)),[r.x,r.y,r.z,a.x,a.y,a.z]}function T(o,s,a,c){let r=new Array(o.length),d=new Array(o.length),y=e.multiplyByScalar(s,a,B),n=e.negate(y,J),l=0,m=o.length-1;for(let t=0;t<o.length;t+=3){let i=e.fromArray(o,t,_),w=e.add(i,n,v);r[l++]=w.x,r[l++]=w.y,r[l++]=w.z;let f=e.add(i,y,v);d[m--]=f.z,d[m--]=f.y,d[m--]=f.x}return c.push(r,d),c}G.addAttribute=function(o,s,a,c){let r=s.x,d=s.y,y=s.z;j(a)&&(o[a]=r,o[a+1]=d,o[a+2]=y),j(c)&&(o[c]=y,o[c-1]=d,o[c-2]=r)};var le=new e,ce=new e;G.computePositions=function(o){let s=o.granularity,a=o.positions,c=o.ellipsoid,r=o.width/2,d=o.cornerType,y=o.saveAttributes,n=K,l=W,m=X,t=$,i=ee,w=te,f=ne,u=oe,p=re,x=se,E=[],S=y?[]:void 0,D=y?[]:void 0,h=a[0],N=a[1];l=e.normalize(e.subtract(N,h,l),l),n=c.geodeticSurfaceNormal(h,n),t=e.normalize(e.cross(n,l,t),t),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z)),f=e.clone(h,f),h=N,m=e.negate(l,m);let A,P=[],M,Y=a.length;for(M=1;M<Y-1;M++){n=c.geodeticSurfaceNormal(h,n),N=a[M+1],l=e.normalize(e.subtract(N,h,l),l),i=e.normalize(e.add(l,m,i),i);let L=e.multiplyByScalar(n,e.dot(l,n),le);e.subtract(l,L,L),e.normalize(L,L);let R=e.multiplyByScalar(n,e.dot(m,n),ce);if(e.subtract(m,R,R),e.normalize(R,R),!O.equalsEpsilon(Math.abs(e.dot(L,R)),1,O.EPSILON7)){i=e.cross(i,n,i),i=e.cross(n,i,i),i=e.normalize(i,i);let Z=r/Math.max(.25,e.magnitude(e.cross(i,m,B))),b=q.angleIsGreaterThanPi(l,m,h,c);i=e.multiplyByScalar(i,Z,i),b?(u=e.add(h,i,u),x=e.add(u,e.multiplyByScalar(t,r,x),x),p=e.add(u,e.multiplyByScalar(t,r*2,p),p),g[0]=e.clone(f,g[0]),g[1]=e.clone(x,g[1]),A=U.generateArc({positions:g,granularity:s,ellipsoid:c}),E=T(A,t,r,E),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z)),w=e.clone(p,w),t=e.normalize(e.cross(n,l,t),t),p=e.add(u,e.multiplyByScalar(t,r*2,p),p),f=e.add(u,e.multiplyByScalar(t,r,f),f),d===z.ROUNDED||d===z.BEVELED?P.push({leftPositions:V(u,w,p,d,b)}):P.push({leftPositions:H(h,e.negate(i,i),p,b)})):(p=e.add(h,i,p),x=e.add(p,e.negate(e.multiplyByScalar(t,r,x),x),x),u=e.add(p,e.negate(e.multiplyByScalar(t,r*2,u),u),u),g[0]=e.clone(f,g[0]),g[1]=e.clone(x,g[1]),A=U.generateArc({positions:g,granularity:s,ellipsoid:c}),E=T(A,t,r,E),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z)),w=e.clone(u,w),t=e.normalize(e.cross(n,l,t),t),u=e.add(p,e.negate(e.multiplyByScalar(t,r*2,u),u),u),f=e.add(p,e.negate(e.multiplyByScalar(t,r,f),f),f),d===z.ROUNDED||d===z.BEVELED?P.push({rightPositions:V(p,w,u,d,b)}):P.push({rightPositions:H(h,i,u,b)})),m=e.negate(l,m)}h=N}n=c.geodeticSurfaceNormal(h,n),g[0]=e.clone(f,g[0]),g[1]=e.clone(h,g[1]),A=U.generateArc({positions:g,granularity:s,ellipsoid:c}),E=T(A,t,r,E),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z));let Q;return d===z.ROUNDED&&(Q=ae(E)),{positions:E,corners:P,lefts:S,normals:D,endPositions:Q}};var we=G;export{we as a}; +import{a as z,c as q}from"./chunk-OWPC6DLM.js";import{a as U}from"./chunk-4ULMZV5R.js";import{f as I}from"./chunk-2K72IAMD.js";import{a as e,e as C}from"./chunk-HWH6BBH6.js";import{a as O}from"./chunk-DW4EQ6YI.js";import{e as j}from"./chunk-OX5CTLXY.js";var G={},B=new e,J=new e,_=new e,v=new e,g=[new e,new e],K=new e,W=new e,X=new e,$=new e,ee=new e,te=new e,ne=new e,oe=new e,re=new e,se=new e,F=new I,k=new C;function V(o,s,a,c,r){let d=e.angleBetween(e.subtract(s,o,B),e.subtract(a,o,J)),y=c===z.BEVELED?1:Math.ceil(d/O.toRadians(5))+1,n=y*3,l=new Array(n);l[n-3]=a.x,l[n-2]=a.y,l[n-1]=a.z;let m;r?m=C.fromQuaternion(I.fromAxisAngle(e.negate(o,B),d/y,F),k):m=C.fromQuaternion(I.fromAxisAngle(o,d/y,F),k);let t=0;s=e.clone(s,B);for(let i=0;i<y;i++)s=C.multiplyByVector(m,s,s),l[t++]=s.x,l[t++]=s.y,l[t++]=s.z;return l}function ae(o){let s=K,a=W,c=X,r=o[1];a=e.fromArray(o[1],r.length-3,a),c=e.fromArray(o[0],0,c),s=e.midpoint(a,c,s);let d=V(s,a,c,z.ROUNDED,!1),y=o.length-1,n=o[y-1];r=o[y],a=e.fromArray(n,n.length-3,a),c=e.fromArray(r,0,c),s=e.midpoint(a,c,s);let l=V(s,a,c,z.ROUNDED,!1);return[d,l]}function H(o,s,a,c){let r=B;return c?r=e.add(o,s,r):(s=e.negate(s,s),r=e.add(o,s,r)),[r.x,r.y,r.z,a.x,a.y,a.z]}function T(o,s,a,c){let r=new Array(o.length),d=new Array(o.length),y=e.multiplyByScalar(s,a,B),n=e.negate(y,J),l=0,m=o.length-1;for(let t=0;t<o.length;t+=3){let i=e.fromArray(o,t,_),w=e.add(i,n,v);r[l++]=w.x,r[l++]=w.y,r[l++]=w.z;let f=e.add(i,y,v);d[m--]=f.z,d[m--]=f.y,d[m--]=f.x}return c.push(r,d),c}G.addAttribute=function(o,s,a,c){let r=s.x,d=s.y,y=s.z;j(a)&&(o[a]=r,o[a+1]=d,o[a+2]=y),j(c)&&(o[c]=y,o[c-1]=d,o[c-2]=r)};var le=new e,ce=new e;G.computePositions=function(o){let s=o.granularity,a=o.positions,c=o.ellipsoid,r=o.width/2,d=o.cornerType,y=o.saveAttributes,n=K,l=W,m=X,t=$,i=ee,w=te,f=ne,u=oe,p=re,x=se,E=[],S=y?[]:void 0,D=y?[]:void 0,h=a[0],N=a[1];l=e.normalize(e.subtract(N,h,l),l),n=c.geodeticSurfaceNormal(h,n),t=e.normalize(e.cross(n,l,t),t),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z)),f=e.clone(h,f),h=N,m=e.negate(l,m);let A,P=[],M,Y=a.length;for(M=1;M<Y-1;M++){n=c.geodeticSurfaceNormal(h,n),N=a[M+1],l=e.normalize(e.subtract(N,h,l),l);let L=e.multiplyByScalar(n,e.dot(l,n),le);e.subtract(l,L,L),e.normalize(L,L);let R=e.multiplyByScalar(n,e.dot(m,n),ce);if(e.subtract(m,R,R),e.normalize(R,R),!O.equalsEpsilon(Math.abs(e.dot(L,R)),1,O.EPSILON7)){i=e.normalize(e.add(l,m,i),i),i=e.cross(i,n,i),i=e.cross(n,i,i),i=e.normalize(i,i);let Z=r/Math.max(.25,e.magnitude(e.cross(i,m,B))),b=q.angleIsGreaterThanPi(l,m,h,c);i=e.multiplyByScalar(i,Z,i),b?(u=e.add(h,i,u),x=e.add(u,e.multiplyByScalar(t,r,x),x),p=e.add(u,e.multiplyByScalar(t,r*2,p),p),g[0]=e.clone(f,g[0]),g[1]=e.clone(x,g[1]),A=U.generateArc({positions:g,granularity:s,ellipsoid:c}),E=T(A,t,r,E),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z)),w=e.clone(p,w),t=e.normalize(e.cross(n,l,t),t),p=e.add(u,e.multiplyByScalar(t,r*2,p),p),f=e.add(u,e.multiplyByScalar(t,r,f),f),d===z.ROUNDED||d===z.BEVELED?P.push({leftPositions:V(u,w,p,d,b)}):P.push({leftPositions:H(h,e.negate(i,i),p,b)})):(p=e.add(h,i,p),x=e.add(p,e.negate(e.multiplyByScalar(t,r,x),x),x),u=e.add(p,e.negate(e.multiplyByScalar(t,r*2,u),u),u),g[0]=e.clone(f,g[0]),g[1]=e.clone(x,g[1]),A=U.generateArc({positions:g,granularity:s,ellipsoid:c}),E=T(A,t,r,E),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z)),w=e.clone(u,w),t=e.normalize(e.cross(n,l,t),t),u=e.add(p,e.negate(e.multiplyByScalar(t,r*2,u),u),u),f=e.add(p,e.negate(e.multiplyByScalar(t,r,f),f),f),d===z.ROUNDED||d===z.BEVELED?P.push({rightPositions:V(p,w,u,d,b)}):P.push({rightPositions:H(h,i,u,b)})),m=e.negate(l,m)}h=N}n=c.geodeticSurfaceNormal(h,n),g[0]=e.clone(f,g[0]),g[1]=e.clone(h,g[1]),A=U.generateArc({positions:g,granularity:s,ellipsoid:c}),E=T(A,t,r,E),y&&(S.push(t.x,t.y,t.z),D.push(n.x,n.y,n.z));let Q;return d===z.ROUNDED&&(Q=ae(E)),{positions:E,corners:P,lefts:S,normals:D,endPositions:Q}};var we=G;export{we as a}; diff --git a/public/lib/Cesium/Workers/chunk-4TXI27XR.js b/public/lib/Cesium/Workers/chunk-JLMPKQO4.js similarity index 96% rename from public/lib/Cesium/Workers/chunk-4TXI27XR.js rename to public/lib/Cesium/Workers/chunk-JLMPKQO4.js index d6304cf96..ad2c2dbde 100644 --- a/public/lib/Cesium/Workers/chunk-4TXI27XR.js +++ b/public/lib/Cesium/Workers/chunk-JLMPKQO4.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{b as _,i as I}from"./chunk-GFUBU5RD.js";import{a as n,b as N,d as Z,e as A}from"./chunk-RFPX772U.js";import{a as cn}from"./chunk-RAYRECQS.js";import{a as T}from"./chunk-6KLVDWWE.js";import{a as on,b as h}from"./chunk-6P5KAIBX.js";import{e as x}from"./chunk-4FSVUTPL.js";function V(e){this._ellipsoid=T(e,Z.default),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(V.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});V.prototype.project=function(e,t){let o=this._semimajorAxis,c=e.longitude*o,r=e.latitude*o,d=e.height;return x(t)?(t.x=c,t.y=r,t.z=d,t):new n(c,r,d)};V.prototype.unproject=function(e,t){if(!x(e))throw new on("cartesian is required");let o=this._oneOverSemimajorAxis,c=e.x*o,r=e.y*o,d=e.z;return x(t)?(t.longitude=c,t.latitude=r,t.height=d,t):new N(c,r,d)};var k=V;var mn={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},U=Object.freeze(mn);function un(e,t){this.start=T(e,0),this.stop=T(t,0)}var rn=un;function a(e,t){this.center=n.clone(T(e,n.ZERO)),this.radius=T(t,0)}var F=new n,Y=new n,J=new n,K=new n,Q=new n,$=new n,L=new n,b=new n,H=new n,nn=new n,tn=new n,en=new n,xn=4/3*cn.PI;a.fromPoints=function(e,t){if(x(t)||(t=new a),!x(e)||e.length===0)return t.center=n.clone(n.ZERO,t.center),t.radius=0,t;let o=n.clone(e[0],L),c=n.clone(o,F),r=n.clone(o,Y),d=n.clone(o,J),f=n.clone(o,K),s=n.clone(o,Q),m=n.clone(o,$),z=e.length,y;for(y=1;y<z;y++){n.clone(e[y],o);let R=o.x,M=o.y,w=o.z;R<c.x&&n.clone(o,c),R>f.x&&n.clone(o,f),M<r.y&&n.clone(o,r),M>s.y&&n.clone(o,s),w<d.z&&n.clone(o,d),w>m.z&&n.clone(o,m)}let u=n.magnitudeSquared(n.subtract(f,c,b)),i=n.magnitudeSquared(n.subtract(s,r,b)),v=n.magnitudeSquared(n.subtract(m,d,b)),C=c,q=f,O=u;i>O&&(O=i,C=r,q=s),v>O&&(O=v,C=d,q=m);let p=H;p.x=(C.x+q.x)*.5,p.y=(C.y+q.y)*.5,p.z=(C.z+q.z)*.5;let S=n.magnitudeSquared(n.subtract(q,p,b)),l=Math.sqrt(S),j=nn;j.x=c.x,j.y=r.y,j.z=d.z;let P=tn;P.x=f.x,P.y=s.y,P.z=m.z;let D=n.midpoint(j,P,en),B=0;for(y=0;y<z;y++){n.clone(e[y],o);let R=n.magnitude(n.subtract(o,D,b));R>B&&(B=R);let M=n.magnitudeSquared(n.subtract(o,p,b));if(M>S){let w=Math.sqrt(M);l=(l+w)*.5,S=l*l;let g=w-l;p.x=(l*p.x+g*o.x)/w,p.y=(l*p.y+g*o.y)/w,p.z=(l*p.z+g*o.z)/w}}return l<B?(n.clone(p,t.center),t.radius=l):(n.clone(D,t.center),t.radius=B),t};var an=new k,yn=new n,ln=new n,G=new N,X=new N;a.fromRectangle2D=function(e,t,o){return a.fromRectangleWithHeights2D(e,t,0,0,o)};a.fromRectangleWithHeights2D=function(e,t,o,c,r){if(x(r)||(r=new a),!x(e))return r.center=n.clone(n.ZERO,r.center),r.radius=0,r;an._ellipsoid=Z.default,t=T(t,an),I.southwest(e,G),G.height=o,I.northeast(e,X),X.height=c;let d=t.project(G,yn),f=t.project(X,ln),s=f.x-d.x,m=f.y-d.y,z=f.z-d.z;r.radius=Math.sqrt(s*s+m*m+z*z)*.5;let y=r.center;return y.x=d.x+s*.5,y.y=d.y+m*.5,y.z=d.z+z*.5,r};var pn=[];a.fromRectangle3D=function(e,t,o,c){if(t=T(t,Z.default),o=T(o,0),x(c)||(c=new a),!x(e))return c.center=n.clone(n.ZERO,c.center),c.radius=0,c;let r=I.subsample(e,t,o,pn);return a.fromPoints(r,c)};a.fromVertices=function(e,t,o,c){if(x(c)||(c=new a),!x(e)||e.length===0)return c.center=n.clone(n.ZERO,c.center),c.radius=0,c;t=T(t,n.ZERO),o=T(o,3),h.typeOf.number.greaterThanOrEquals("stride",o,3);let r=L;r.x=e[0]+t.x,r.y=e[1]+t.y,r.z=e[2]+t.z;let d=n.clone(r,F),f=n.clone(r,Y),s=n.clone(r,J),m=n.clone(r,K),z=n.clone(r,Q),y=n.clone(r,$),u=e.length,i;for(i=0;i<u;i+=o){let w=e[i]+t.x,g=e[i+1]+t.y,E=e[i+2]+t.z;r.x=w,r.y=g,r.z=E,w<d.x&&n.clone(r,d),w>m.x&&n.clone(r,m),g<f.y&&n.clone(r,f),g>z.y&&n.clone(r,z),E<s.z&&n.clone(r,s),E>y.z&&n.clone(r,y)}let v=n.magnitudeSquared(n.subtract(m,d,b)),C=n.magnitudeSquared(n.subtract(z,f,b)),q=n.magnitudeSquared(n.subtract(y,s,b)),O=d,p=m,S=v;C>S&&(S=C,O=f,p=z),q>S&&(S=q,O=s,p=y);let l=H;l.x=(O.x+p.x)*.5,l.y=(O.y+p.y)*.5,l.z=(O.z+p.z)*.5;let j=n.magnitudeSquared(n.subtract(p,l,b)),P=Math.sqrt(j),D=nn;D.x=d.x,D.y=f.y,D.z=s.z;let B=tn;B.x=m.x,B.y=z.y,B.z=y.z;let R=n.midpoint(D,B,en),M=0;for(i=0;i<u;i+=o){r.x=e[i]+t.x,r.y=e[i+1]+t.y,r.z=e[i+2]+t.z;let w=n.magnitude(n.subtract(r,R,b));w>M&&(M=w);let g=n.magnitudeSquared(n.subtract(r,l,b));if(g>j){let E=Math.sqrt(g);P=(P+E)*.5,j=P*P;let W=E-P;l.x=(P*l.x+W*r.x)/E,l.y=(P*l.y+W*r.y)/E,l.z=(P*l.z+W*r.z)/E}}return P<M?(n.clone(l,c.center),c.radius=P):(n.clone(R,c.center),c.radius=M),c};a.fromEncodedCartesianVertices=function(e,t,o){if(x(o)||(o=new a),!x(e)||!x(t)||e.length!==t.length||e.length===0)return o.center=n.clone(n.ZERO,o.center),o.radius=0,o;let c=L;c.x=e[0]+t[0],c.y=e[1]+t[1],c.z=e[2]+t[2];let r=n.clone(c,F),d=n.clone(c,Y),f=n.clone(c,J),s=n.clone(c,K),m=n.clone(c,Q),z=n.clone(c,$),y=e.length,u;for(u=0;u<y;u+=3){let M=e[u]+t[u],w=e[u+1]+t[u+1],g=e[u+2]+t[u+2];c.x=M,c.y=w,c.z=g,M<r.x&&n.clone(c,r),M>s.x&&n.clone(c,s),w<d.y&&n.clone(c,d),w>m.y&&n.clone(c,m),g<f.z&&n.clone(c,f),g>z.z&&n.clone(c,z)}let i=n.magnitudeSquared(n.subtract(s,r,b)),v=n.magnitudeSquared(n.subtract(m,d,b)),C=n.magnitudeSquared(n.subtract(z,f,b)),q=r,O=s,p=i;v>p&&(p=v,q=d,O=m),C>p&&(p=C,q=f,O=z);let S=H;S.x=(q.x+O.x)*.5,S.y=(q.y+O.y)*.5,S.z=(q.z+O.z)*.5;let l=n.magnitudeSquared(n.subtract(O,S,b)),j=Math.sqrt(l),P=nn;P.x=r.x,P.y=d.y,P.z=f.z;let D=tn;D.x=s.x,D.y=m.y,D.z=z.z;let B=n.midpoint(P,D,en),R=0;for(u=0;u<y;u+=3){c.x=e[u]+t[u],c.y=e[u+1]+t[u+1],c.z=e[u+2]+t[u+2];let M=n.magnitude(n.subtract(c,B,b));M>R&&(R=M);let w=n.magnitudeSquared(n.subtract(c,S,b));if(w>l){let g=Math.sqrt(w);j=(j+g)*.5,l=j*j;let E=g-j;S.x=(j*S.x+E*c.x)/g,S.y=(j*S.y+E*c.y)/g,S.z=(j*S.z+E*c.z)/g}}return j<R?(n.clone(S,o.center),o.radius=j):(n.clone(B,o.center),o.radius=R),o};a.fromCornerPoints=function(e,t,o){h.typeOf.object("corner",e),h.typeOf.object("oppositeCorner",t),x(o)||(o=new a);let c=n.midpoint(e,t,o.center);return o.radius=n.distance(c,t),o};a.fromEllipsoid=function(e,t){return h.typeOf.object("ellipsoid",e),x(t)||(t=new a),n.clone(n.ZERO,t.center),t.radius=e.maximumRadius,t};var hn=new n;a.fromBoundingSpheres=function(e,t){if(x(t)||(t=new a),!x(e)||e.length===0)return t.center=n.clone(n.ZERO,t.center),t.radius=0,t;let o=e.length;if(o===1)return a.clone(e[0],t);if(o===2)return a.union(e[0],e[1],t);let c=[],r;for(r=0;r<o;r++)c.push(e[r].center);t=a.fromPoints(c,t);let d=t.center,f=t.radius;for(r=0;r<o;r++){let s=e[r];f=Math.max(f,n.distance(d,s.center,hn)+s.radius)}return t.radius=f,t};var zn=new n,Sn=new n,wn=new n;a.fromOrientedBoundingBox=function(e,t){h.defined("orientedBoundingBox",e),x(t)||(t=new a);let o=e.halfAxes,c=A.getColumn(o,0,zn),r=A.getColumn(o,1,Sn),d=A.getColumn(o,2,wn);return n.add(c,r,c),n.add(c,d,c),t.center=n.clone(e.center,t.center),t.radius=n.magnitude(c),t};var Pn=new n,gn=new n;a.fromTransformation=function(e,t){h.typeOf.object("transformation",e),x(t)||(t=new a);let o=_.getTranslation(e,Pn),c=_.getScale(e,gn),r=.5*n.magnitude(c);return t.center=n.clone(o,t.center),t.radius=r,t};a.clone=function(e,t){if(x(e))return x(t)?(t.center=n.clone(e.center,t.center),t.radius=e.radius,t):new a(e.center,e.radius)};a.packedLength=4;a.pack=function(e,t,o){h.typeOf.object("value",e),h.defined("array",t),o=T(o,0);let c=e.center;return t[o++]=c.x,t[o++]=c.y,t[o++]=c.z,t[o]=e.radius,t};a.unpack=function(e,t,o){h.defined("array",e),t=T(t,0),x(o)||(o=new a);let c=o.center;return c.x=e[t++],c.y=e[t++],c.z=e[t++],o.radius=e[t],o};var On=new n,jn=new n;a.union=function(e,t,o){h.typeOf.object("left",e),h.typeOf.object("right",t),x(o)||(o=new a);let c=e.center,r=e.radius,d=t.center,f=t.radius,s=n.subtract(d,c,On),m=n.magnitude(s);if(r>=m+f)return e.clone(o),o;if(f>=m+r)return t.clone(o),o;let z=(r+m+f)*.5,y=n.multiplyByScalar(s,(-r+z)/m,jn);return n.add(y,c,y),n.clone(y,o.center),o.radius=z,o};var bn=new n;a.expand=function(e,t,o){h.typeOf.object("sphere",e),h.typeOf.object("point",t),o=a.clone(e,o);let c=n.magnitude(n.subtract(t,o.center,bn));return c>o.radius&&(o.radius=c),o};a.intersectPlane=function(e,t){h.typeOf.object("sphere",e),h.typeOf.object("plane",t);let o=e.center,c=e.radius,r=t.normal,d=n.dot(r,o)+t.distance;return d<-c?U.OUTSIDE:d<c?U.INTERSECTING:U.INSIDE};a.transform=function(e,t,o){return h.typeOf.object("sphere",e),h.typeOf.object("transform",t),x(o)||(o=new a),o.center=_.multiplyByPoint(t,e.center,o.center),o.radius=_.getMaximumScale(t)*e.radius,o};var qn=new n;a.distanceSquaredTo=function(e,t){h.typeOf.object("sphere",e),h.typeOf.object("cartesian",t);let o=n.subtract(e.center,t,qn),c=n.magnitude(o)-e.radius;return c<=0?0:c*c};a.transformWithoutScale=function(e,t,o){return h.typeOf.object("sphere",e),h.typeOf.object("transform",t),x(o)||(o=new a),o.center=_.multiplyByPoint(t,e.center,o.center),o.radius=e.radius,o};var Mn=new n;a.computePlaneDistances=function(e,t,o,c){h.typeOf.object("sphere",e),h.typeOf.object("position",t),h.typeOf.object("direction",o),x(c)||(c=new rn);let r=n.subtract(e.center,t,Mn),d=n.dot(o,r);return c.start=d-e.radius,c.stop=d+e.radius,c};var dn=new n,Tn=new n,Cn=new n,Rn=new n,En=new n,Dn=new N,sn=new Array(8);for(let e=0;e<8;++e)sn[e]=new n;var fn=new k;a.projectTo2D=function(e,t,o){h.typeOf.object("sphere",e),fn._ellipsoid=Z.default,t=T(t,fn);let c=t.ellipsoid,r=e.center,d=e.radius,f;n.equals(r,n.ZERO)?f=n.clone(n.UNIT_X,dn):f=c.geodeticSurfaceNormal(r,dn);let s=n.cross(n.UNIT_Z,f,Tn);n.normalize(s,s);let m=n.cross(f,s,Cn);n.normalize(m,m),n.multiplyByScalar(f,d,f),n.multiplyByScalar(m,d,m),n.multiplyByScalar(s,d,s);let z=n.negate(m,En),y=n.negate(s,Rn),u=sn,i=u[0];n.add(f,m,i),n.add(i,s,i),i=u[1],n.add(f,m,i),n.add(i,y,i),i=u[2],n.add(f,z,i),n.add(i,y,i),i=u[3],n.add(f,z,i),n.add(i,s,i),n.negate(f,f),i=u[4],n.add(f,m,i),n.add(i,s,i),i=u[5],n.add(f,m,i),n.add(i,y,i),i=u[6],n.add(f,z,i),n.add(i,y,i),i=u[7],n.add(f,z,i),n.add(i,s,i);let v=u.length;for(let p=0;p<v;++p){let S=u[p];n.add(r,S,S);let l=c.cartesianToCartographic(S,Dn);t.project(l,S)}o=a.fromPoints(u,o),r=o.center;let C=r.x,q=r.y,O=r.z;return r.x=O,r.y=C,r.z=q,o};a.isOccluded=function(e,t){return h.typeOf.object("sphere",e),h.typeOf.object("occluder",t),!t.isBoundingSphereVisible(e)};a.equals=function(e,t){return e===t||x(e)&&x(t)&&n.equals(e.center,t.center)&&e.radius===t.radius};a.prototype.intersectPlane=function(e){return a.intersectPlane(this,e)};a.prototype.distanceSquaredTo=function(e){return a.distanceSquaredTo(this,e)};a.prototype.computePlaneDistances=function(e,t,o){return a.computePlaneDistances(this,e,t,o)};a.prototype.isOccluded=function(e){return a.isOccluded(this,e)};a.prototype.equals=function(e){return a.equals(this,e)};a.prototype.clone=function(e){return a.clone(this,e)};a.prototype.volume=function(){let e=this.radius;return xn*e*e*e};var et=a;export{k as a,U as b,rn as c,et as d}; +import{b as _,h as I}from"./chunk-2K72IAMD.js";import{a as n,b as N,d as Z,e as A}from"./chunk-HWH6BBH6.js";import{a as cn}from"./chunk-DW4EQ6YI.js";import{a as T}from"./chunk-CJFJKB5V.js";import{a as on,b as h}from"./chunk-4BGNE6LH.js";import{e as x}from"./chunk-OX5CTLXY.js";function V(e){this._ellipsoid=T(e,Z.default),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(V.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});V.prototype.project=function(e,t){let o=this._semimajorAxis,c=e.longitude*o,r=e.latitude*o,d=e.height;return x(t)?(t.x=c,t.y=r,t.z=d,t):new n(c,r,d)};V.prototype.unproject=function(e,t){if(!x(e))throw new on("cartesian is required");let o=this._oneOverSemimajorAxis,c=e.x*o,r=e.y*o,d=e.z;return x(t)?(t.longitude=c,t.latitude=r,t.height=d,t):new N(c,r,d)};var k=V;var mn={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},U=Object.freeze(mn);function un(e,t){this.start=T(e,0),this.stop=T(t,0)}var rn=un;function a(e,t){this.center=n.clone(T(e,n.ZERO)),this.radius=T(t,0)}var F=new n,Y=new n,J=new n,K=new n,Q=new n,$=new n,L=new n,b=new n,H=new n,nn=new n,tn=new n,en=new n,xn=4/3*cn.PI;a.fromPoints=function(e,t){if(x(t)||(t=new a),!x(e)||e.length===0)return t.center=n.clone(n.ZERO,t.center),t.radius=0,t;let o=n.clone(e[0],L),c=n.clone(o,F),r=n.clone(o,Y),d=n.clone(o,J),f=n.clone(o,K),s=n.clone(o,Q),m=n.clone(o,$),z=e.length,y;for(y=1;y<z;y++){n.clone(e[y],o);let R=o.x,M=o.y,w=o.z;R<c.x&&n.clone(o,c),R>f.x&&n.clone(o,f),M<r.y&&n.clone(o,r),M>s.y&&n.clone(o,s),w<d.z&&n.clone(o,d),w>m.z&&n.clone(o,m)}let u=n.magnitudeSquared(n.subtract(f,c,b)),i=n.magnitudeSquared(n.subtract(s,r,b)),v=n.magnitudeSquared(n.subtract(m,d,b)),C=c,q=f,O=u;i>O&&(O=i,C=r,q=s),v>O&&(O=v,C=d,q=m);let p=H;p.x=(C.x+q.x)*.5,p.y=(C.y+q.y)*.5,p.z=(C.z+q.z)*.5;let S=n.magnitudeSquared(n.subtract(q,p,b)),l=Math.sqrt(S),j=nn;j.x=c.x,j.y=r.y,j.z=d.z;let P=tn;P.x=f.x,P.y=s.y,P.z=m.z;let D=n.midpoint(j,P,en),B=0;for(y=0;y<z;y++){n.clone(e[y],o);let R=n.magnitude(n.subtract(o,D,b));R>B&&(B=R);let M=n.magnitudeSquared(n.subtract(o,p,b));if(M>S){let w=Math.sqrt(M);l=(l+w)*.5,S=l*l;let g=w-l;p.x=(l*p.x+g*o.x)/w,p.y=(l*p.y+g*o.y)/w,p.z=(l*p.z+g*o.z)/w}}return l<B?(n.clone(p,t.center),t.radius=l):(n.clone(D,t.center),t.radius=B),t};var an=new k,yn=new n,ln=new n,G=new N,X=new N;a.fromRectangle2D=function(e,t,o){return a.fromRectangleWithHeights2D(e,t,0,0,o)};a.fromRectangleWithHeights2D=function(e,t,o,c,r){if(x(r)||(r=new a),!x(e))return r.center=n.clone(n.ZERO,r.center),r.radius=0,r;an._ellipsoid=Z.default,t=T(t,an),I.southwest(e,G),G.height=o,I.northeast(e,X),X.height=c;let d=t.project(G,yn),f=t.project(X,ln),s=f.x-d.x,m=f.y-d.y,z=f.z-d.z;r.radius=Math.sqrt(s*s+m*m+z*z)*.5;let y=r.center;return y.x=d.x+s*.5,y.y=d.y+m*.5,y.z=d.z+z*.5,r};var pn=[];a.fromRectangle3D=function(e,t,o,c){if(t=T(t,Z.default),o=T(o,0),x(c)||(c=new a),!x(e))return c.center=n.clone(n.ZERO,c.center),c.radius=0,c;let r=I.subsample(e,t,o,pn);return a.fromPoints(r,c)};a.fromVertices=function(e,t,o,c){if(x(c)||(c=new a),!x(e)||e.length===0)return c.center=n.clone(n.ZERO,c.center),c.radius=0,c;t=T(t,n.ZERO),o=T(o,3),h.typeOf.number.greaterThanOrEquals("stride",o,3);let r=L;r.x=e[0]+t.x,r.y=e[1]+t.y,r.z=e[2]+t.z;let d=n.clone(r,F),f=n.clone(r,Y),s=n.clone(r,J),m=n.clone(r,K),z=n.clone(r,Q),y=n.clone(r,$),u=e.length,i;for(i=0;i<u;i+=o){let w=e[i]+t.x,g=e[i+1]+t.y,E=e[i+2]+t.z;r.x=w,r.y=g,r.z=E,w<d.x&&n.clone(r,d),w>m.x&&n.clone(r,m),g<f.y&&n.clone(r,f),g>z.y&&n.clone(r,z),E<s.z&&n.clone(r,s),E>y.z&&n.clone(r,y)}let v=n.magnitudeSquared(n.subtract(m,d,b)),C=n.magnitudeSquared(n.subtract(z,f,b)),q=n.magnitudeSquared(n.subtract(y,s,b)),O=d,p=m,S=v;C>S&&(S=C,O=f,p=z),q>S&&(S=q,O=s,p=y);let l=H;l.x=(O.x+p.x)*.5,l.y=(O.y+p.y)*.5,l.z=(O.z+p.z)*.5;let j=n.magnitudeSquared(n.subtract(p,l,b)),P=Math.sqrt(j),D=nn;D.x=d.x,D.y=f.y,D.z=s.z;let B=tn;B.x=m.x,B.y=z.y,B.z=y.z;let R=n.midpoint(D,B,en),M=0;for(i=0;i<u;i+=o){r.x=e[i]+t.x,r.y=e[i+1]+t.y,r.z=e[i+2]+t.z;let w=n.magnitude(n.subtract(r,R,b));w>M&&(M=w);let g=n.magnitudeSquared(n.subtract(r,l,b));if(g>j){let E=Math.sqrt(g);P=(P+E)*.5,j=P*P;let W=E-P;l.x=(P*l.x+W*r.x)/E,l.y=(P*l.y+W*r.y)/E,l.z=(P*l.z+W*r.z)/E}}return P<M?(n.clone(l,c.center),c.radius=P):(n.clone(R,c.center),c.radius=M),c};a.fromEncodedCartesianVertices=function(e,t,o){if(x(o)||(o=new a),!x(e)||!x(t)||e.length!==t.length||e.length===0)return o.center=n.clone(n.ZERO,o.center),o.radius=0,o;let c=L;c.x=e[0]+t[0],c.y=e[1]+t[1],c.z=e[2]+t[2];let r=n.clone(c,F),d=n.clone(c,Y),f=n.clone(c,J),s=n.clone(c,K),m=n.clone(c,Q),z=n.clone(c,$),y=e.length,u;for(u=0;u<y;u+=3){let M=e[u]+t[u],w=e[u+1]+t[u+1],g=e[u+2]+t[u+2];c.x=M,c.y=w,c.z=g,M<r.x&&n.clone(c,r),M>s.x&&n.clone(c,s),w<d.y&&n.clone(c,d),w>m.y&&n.clone(c,m),g<f.z&&n.clone(c,f),g>z.z&&n.clone(c,z)}let i=n.magnitudeSquared(n.subtract(s,r,b)),v=n.magnitudeSquared(n.subtract(m,d,b)),C=n.magnitudeSquared(n.subtract(z,f,b)),q=r,O=s,p=i;v>p&&(p=v,q=d,O=m),C>p&&(p=C,q=f,O=z);let S=H;S.x=(q.x+O.x)*.5,S.y=(q.y+O.y)*.5,S.z=(q.z+O.z)*.5;let l=n.magnitudeSquared(n.subtract(O,S,b)),j=Math.sqrt(l),P=nn;P.x=r.x,P.y=d.y,P.z=f.z;let D=tn;D.x=s.x,D.y=m.y,D.z=z.z;let B=n.midpoint(P,D,en),R=0;for(u=0;u<y;u+=3){c.x=e[u]+t[u],c.y=e[u+1]+t[u+1],c.z=e[u+2]+t[u+2];let M=n.magnitude(n.subtract(c,B,b));M>R&&(R=M);let w=n.magnitudeSquared(n.subtract(c,S,b));if(w>l){let g=Math.sqrt(w);j=(j+g)*.5,l=j*j;let E=g-j;S.x=(j*S.x+E*c.x)/g,S.y=(j*S.y+E*c.y)/g,S.z=(j*S.z+E*c.z)/g}}return j<R?(n.clone(S,o.center),o.radius=j):(n.clone(B,o.center),o.radius=R),o};a.fromCornerPoints=function(e,t,o){h.typeOf.object("corner",e),h.typeOf.object("oppositeCorner",t),x(o)||(o=new a);let c=n.midpoint(e,t,o.center);return o.radius=n.distance(c,t),o};a.fromEllipsoid=function(e,t){return h.typeOf.object("ellipsoid",e),x(t)||(t=new a),n.clone(n.ZERO,t.center),t.radius=e.maximumRadius,t};var hn=new n;a.fromBoundingSpheres=function(e,t){if(x(t)||(t=new a),!x(e)||e.length===0)return t.center=n.clone(n.ZERO,t.center),t.radius=0,t;let o=e.length;if(o===1)return a.clone(e[0],t);if(o===2)return a.union(e[0],e[1],t);let c=[],r;for(r=0;r<o;r++)c.push(e[r].center);t=a.fromPoints(c,t);let d=t.center,f=t.radius;for(r=0;r<o;r++){let s=e[r];f=Math.max(f,n.distance(d,s.center,hn)+s.radius)}return t.radius=f,t};var zn=new n,Sn=new n,wn=new n;a.fromOrientedBoundingBox=function(e,t){h.defined("orientedBoundingBox",e),x(t)||(t=new a);let o=e.halfAxes,c=A.getColumn(o,0,zn),r=A.getColumn(o,1,Sn),d=A.getColumn(o,2,wn);return n.add(c,r,c),n.add(c,d,c),t.center=n.clone(e.center,t.center),t.radius=n.magnitude(c),t};var Pn=new n,gn=new n;a.fromTransformation=function(e,t){h.typeOf.object("transformation",e),x(t)||(t=new a);let o=_.getTranslation(e,Pn),c=_.getScale(e,gn),r=.5*n.magnitude(c);return t.center=n.clone(o,t.center),t.radius=r,t};a.clone=function(e,t){if(x(e))return x(t)?(t.center=n.clone(e.center,t.center),t.radius=e.radius,t):new a(e.center,e.radius)};a.packedLength=4;a.pack=function(e,t,o){h.typeOf.object("value",e),h.defined("array",t),o=T(o,0);let c=e.center;return t[o++]=c.x,t[o++]=c.y,t[o++]=c.z,t[o]=e.radius,t};a.unpack=function(e,t,o){h.defined("array",e),t=T(t,0),x(o)||(o=new a);let c=o.center;return c.x=e[t++],c.y=e[t++],c.z=e[t++],o.radius=e[t],o};var On=new n,jn=new n;a.union=function(e,t,o){h.typeOf.object("left",e),h.typeOf.object("right",t),x(o)||(o=new a);let c=e.center,r=e.radius,d=t.center,f=t.radius,s=n.subtract(d,c,On),m=n.magnitude(s);if(r>=m+f)return e.clone(o),o;if(f>=m+r)return t.clone(o),o;let z=(r+m+f)*.5,y=n.multiplyByScalar(s,(-r+z)/m,jn);return n.add(y,c,y),n.clone(y,o.center),o.radius=z,o};var bn=new n;a.expand=function(e,t,o){h.typeOf.object("sphere",e),h.typeOf.object("point",t),o=a.clone(e,o);let c=n.magnitude(n.subtract(t,o.center,bn));return c>o.radius&&(o.radius=c),o};a.intersectPlane=function(e,t){h.typeOf.object("sphere",e),h.typeOf.object("plane",t);let o=e.center,c=e.radius,r=t.normal,d=n.dot(r,o)+t.distance;return d<-c?U.OUTSIDE:d<c?U.INTERSECTING:U.INSIDE};a.transform=function(e,t,o){return h.typeOf.object("sphere",e),h.typeOf.object("transform",t),x(o)||(o=new a),o.center=_.multiplyByPoint(t,e.center,o.center),o.radius=_.getMaximumScale(t)*e.radius,o};var qn=new n;a.distanceSquaredTo=function(e,t){h.typeOf.object("sphere",e),h.typeOf.object("cartesian",t);let o=n.subtract(e.center,t,qn),c=n.magnitude(o)-e.radius;return c<=0?0:c*c};a.transformWithoutScale=function(e,t,o){return h.typeOf.object("sphere",e),h.typeOf.object("transform",t),x(o)||(o=new a),o.center=_.multiplyByPoint(t,e.center,o.center),o.radius=e.radius,o};var Mn=new n;a.computePlaneDistances=function(e,t,o,c){h.typeOf.object("sphere",e),h.typeOf.object("position",t),h.typeOf.object("direction",o),x(c)||(c=new rn);let r=n.subtract(e.center,t,Mn),d=n.dot(o,r);return c.start=d-e.radius,c.stop=d+e.radius,c};var dn=new n,Tn=new n,Cn=new n,Rn=new n,En=new n,Dn=new N,sn=new Array(8);for(let e=0;e<8;++e)sn[e]=new n;var fn=new k;a.projectTo2D=function(e,t,o){h.typeOf.object("sphere",e),fn._ellipsoid=Z.default,t=T(t,fn);let c=t.ellipsoid,r=e.center,d=e.radius,f;n.equals(r,n.ZERO)?f=n.clone(n.UNIT_X,dn):f=c.geodeticSurfaceNormal(r,dn);let s=n.cross(n.UNIT_Z,f,Tn);n.normalize(s,s);let m=n.cross(f,s,Cn);n.normalize(m,m),n.multiplyByScalar(f,d,f),n.multiplyByScalar(m,d,m),n.multiplyByScalar(s,d,s);let z=n.negate(m,En),y=n.negate(s,Rn),u=sn,i=u[0];n.add(f,m,i),n.add(i,s,i),i=u[1],n.add(f,m,i),n.add(i,y,i),i=u[2],n.add(f,z,i),n.add(i,y,i),i=u[3],n.add(f,z,i),n.add(i,s,i),n.negate(f,f),i=u[4],n.add(f,m,i),n.add(i,s,i),i=u[5],n.add(f,m,i),n.add(i,y,i),i=u[6],n.add(f,z,i),n.add(i,y,i),i=u[7],n.add(f,z,i),n.add(i,s,i);let v=u.length;for(let p=0;p<v;++p){let S=u[p];n.add(r,S,S);let l=c.cartesianToCartographic(S,Dn);t.project(l,S)}o=a.fromPoints(u,o),r=o.center;let C=r.x,q=r.y,O=r.z;return r.x=O,r.y=C,r.z=q,o};a.isOccluded=function(e,t){return h.typeOf.object("sphere",e),h.typeOf.object("occluder",t),!t.isBoundingSphereVisible(e)};a.equals=function(e,t){return e===t||x(e)&&x(t)&&n.equals(e.center,t.center)&&e.radius===t.radius};a.prototype.intersectPlane=function(e){return a.intersectPlane(this,e)};a.prototype.distanceSquaredTo=function(e){return a.distanceSquaredTo(this,e)};a.prototype.computePlaneDistances=function(e,t,o){return a.computePlaneDistances(this,e,t,o)};a.prototype.isOccluded=function(e){return a.isOccluded(this,e)};a.prototype.equals=function(e){return a.equals(this,e)};a.prototype.clone=function(e){return a.clone(this,e)};a.prototype.volume=function(){let e=this.radius;return xn*e*e*e};var et=a;export{k as a,U as b,rn as c,et as d}; diff --git a/public/lib/Cesium/Workers/chunk-2744EW7N.js b/public/lib/Cesium/Workers/chunk-LKADYPHQ.js similarity index 95% rename from public/lib/Cesium/Workers/chunk-2744EW7N.js rename to public/lib/Cesium/Workers/chunk-LKADYPHQ.js index d4187d1be..1cca2ec77 100644 --- a/public/lib/Cesium/Workers/chunk-2744EW7N.js +++ b/public/lib/Cesium/Workers/chunk-LKADYPHQ.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as K}from"./chunk-3OZXQUAM.js";import{a as L}from"./chunk-UKRRGB4P.js";import{b as v,c as J,d as Z}from"./chunk-4TXI27XR.js";import{b as B,i as k}from"./chunk-GFUBU5RD.js";import{a as t,b as S,c as I,d as G,e as d}from"./chunk-RFPX772U.js";import{a as g}from"./chunk-RAYRECQS.js";import{a as W}from"./chunk-6KLVDWWE.js";import{a as b,b as z}from"./chunk-6P5KAIBX.js";import{e as p}from"./chunk-4FSVUTPL.js";function m(n,e){this.center=t.clone(W(n,t.ZERO)),this.halfAxes=d.clone(W(e,d.ZERO))}m.packedLength=t.packedLength+d.packedLength;m.pack=function(n,e,c){return z.typeOf.object("value",n),z.defined("array",e),c=W(c,0),t.pack(n.center,e,c),d.pack(n.halfAxes,e,c+t.packedLength),e};m.unpack=function(n,e,c){return z.defined("array",n),e=W(e,0),p(c)||(c=new m),t.unpack(n,e,c.center),d.unpack(n,e+t.packedLength,c.halfAxes),c};var Ct=new t,ut=new t,Pt=new t,xt=new t,yt=new t,At=new t,Nt=new d,Mt={unitary:new d,diagonal:new d};m.fromPoints=function(n,e){if(p(e)||(e=new m),!p(n)||n.length===0)return e.halfAxes=d.ZERO,e.center=t.ZERO,e;let c,h=n.length,r=t.clone(n[0],Ct);for(c=1;c<h;c++)t.add(r,n[c],r);let o=1/h;t.multiplyByScalar(r,o,r);let i=0,C=0,w=0,l=0,u=0,a=0,s;for(c=0;c<h;c++)s=t.subtract(n[c],r,ut),i+=s.x*s.x,C+=s.x*s.y,w+=s.x*s.z,l+=s.y*s.y,u+=s.y*s.z,a+=s.z*s.z;i*=o,C*=o,w*=o,l*=o,u*=o,a*=o;let f=Nt;f[0]=i,f[1]=C,f[2]=w,f[3]=C,f[4]=l,f[5]=u,f[6]=w,f[7]=u,f[8]=a;let A=d.computeEigenDecomposition(f,Mt),M=d.clone(A.unitary,e.halfAxes),x=d.getColumn(M,0,xt),y=d.getColumn(M,1,yt),N=d.getColumn(M,2,At),P=-Number.MAX_VALUE,O=-Number.MAX_VALUE,U=-Number.MAX_VALUE,q=Number.MAX_VALUE,R=Number.MAX_VALUE,j=Number.MAX_VALUE;for(c=0;c<h;c++)s=n[c],P=Math.max(t.dot(x,s),P),O=Math.max(t.dot(y,s),O),U=Math.max(t.dot(N,s),U),q=Math.min(t.dot(x,s),q),R=Math.min(t.dot(y,s),R),j=Math.min(t.dot(N,s),j);x=t.multiplyByScalar(x,.5*(q+P),x),y=t.multiplyByScalar(y,.5*(R+O),y),N=t.multiplyByScalar(N,.5*(j+U),N);let T=t.add(x,y,e.center);t.add(T,N,T);let E=Pt;return E.x=P-q,E.y=O-R,E.z=U-j,t.multiplyByScalar(E,.5,E),d.multiplyByScale(e.halfAxes,E,e.halfAxes),e};var nt=new t,Ot=new t;function Q(n,e,c,h,r,o,i,C,w,l,u){if(!p(r)||!p(o)||!p(i)||!p(C)||!p(w)||!p(l))throw new b("all extents (minimum/maximum X/Y/Z) are required.");p(u)||(u=new m);let a=u.halfAxes;d.setColumn(a,0,e,a),d.setColumn(a,1,c,a),d.setColumn(a,2,h,a);let s=nt;s.x=(r+o)/2,s.y=(i+C)/2,s.z=(w+l)/2;let f=Ot;f.x=(o-r)/2,f.y=(C-i)/2,f.z=(l-w)/2;let A=u.center;return s=d.multiplyByVector(a,s,s),t.add(n,s,A),d.multiplyByScale(a,f,a),u}var $=new S,bt=new t,Tt=new S,St=new S,gt=new S,Et=new S,Rt=new S,Wt=new t,H=new t,zt=new t,tt=new t,It=new t,Lt=new I,Ut=new I,qt=new I,jt=new I,Bt=new I,vt=new t,Vt=new t,_t=new t,Dt=new t,Xt=new I,kt=new t,Zt=new t,Yt=new t,Ft=new L(t.UNIT_X,0);m.fromRectangle=function(n,e,c,h,r){if(!p(n))throw new b("rectangle is required");if(n.width<0||n.width>g.TWO_PI)throw new b("Rectangle width must be between 0 and 2 * pi");if(n.height<0||n.height>g.PI)throw new b("Rectangle height must be between 0 and pi");if(p(h)&&!g.equalsEpsilon(h.radii.x,h.radii.y,g.EPSILON15))throw new b("Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)");e=W(e,0),c=W(c,0),h=W(h,G.default);let o,i,C,w,l,u,a;if(n.width<=g.PI){let R=k.center(n,$),j=h.cartographicToCartesian(R,bt),T=new K(j,h);a=T.plane;let E=R.longitude,ot=n.south<0&&n.north>0?0:R.latitude,st=S.fromRadians(E,n.north,c,Tt),V=S.fromRadians(n.west,n.north,c,St),it=S.fromRadians(n.west,ot,c,gt),_=S.fromRadians(n.west,n.south,c,Et),ht=S.fromRadians(E,n.south,c,Rt),ft=h.cartographicToCartesian(st,Wt),D=h.cartographicToCartesian(V,H),dt=h.cartographicToCartesian(it,zt),X=h.cartographicToCartesian(_,tt),mt=h.cartographicToCartesian(ht,It),wt=T.projectPointToNearestOnPlane(ft,Lt),Y=T.projectPointToNearestOnPlane(D,Ut),lt=T.projectPointToNearestOnPlane(dt,qt),F=T.projectPointToNearestOnPlane(X,jt),pt=T.projectPointToNearestOnPlane(mt,Bt);return o=Math.min(Y.x,lt.x,F.x),i=-o,w=Math.max(Y.y,wt.y),C=Math.min(F.y,pt.y),V.height=_.height=e,D=h.cartographicToCartesian(V,H),X=h.cartographicToCartesian(_,tt),l=Math.min(L.getPointDistance(a,D),L.getPointDistance(a,X)),u=c,Q(T.origin,T.xAxis,T.yAxis,T.zAxis,o,i,C,w,l,u,r)}let s=n.south>0,f=n.north<0,A=s?n.south:f?n.north:0,M=k.center(n,$).longitude,x=t.fromRadians(M,A,c,h,vt);x.z=0;let N=Math.abs(x.x)<g.EPSILON10&&Math.abs(x.y)<g.EPSILON10?t.UNIT_X:t.normalize(x,Vt),P=t.UNIT_Z,O=t.cross(N,P,_t);a=L.fromPointNormal(x,N,Ft);let U=t.fromRadians(M+g.PI_OVER_TWO,A,c,h,Dt);i=t.dot(L.projectPointOntoPlane(a,U,Xt),O),o=-i,w=t.fromRadians(0,n.north,f?e:c,h,kt).z,C=t.fromRadians(0,n.south,s?e:c,h,Zt).z;let q=t.fromRadians(n.east,A,c,h,Yt);return l=L.getPointDistance(a,q),u=0,Q(x,O,P,N,o,i,C,w,l,u,r)};m.fromTransformation=function(n,e){return z.typeOf.object("transformation",n),p(e)||(e=new m),e.center=B.getTranslation(n,e.center),e.halfAxes=B.getMatrix3(n,e.halfAxes),e.halfAxes=d.multiplyByScalar(e.halfAxes,.5,e.halfAxes),e};m.clone=function(n,e){if(p(n))return p(e)?(t.clone(n.center,e.center),d.clone(n.halfAxes,e.halfAxes),e):new m(n.center,n.halfAxes)};m.intersectPlane=function(n,e){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("plane is required.");let c=n.center,h=e.normal,r=n.halfAxes,o=h.x,i=h.y,C=h.z,w=Math.abs(o*r[d.COLUMN0ROW0]+i*r[d.COLUMN0ROW1]+C*r[d.COLUMN0ROW2])+Math.abs(o*r[d.COLUMN1ROW0]+i*r[d.COLUMN1ROW1]+C*r[d.COLUMN1ROW2])+Math.abs(o*r[d.COLUMN2ROW0]+i*r[d.COLUMN2ROW1]+C*r[d.COLUMN2ROW2]),l=t.dot(h,c)+e.distance;return l<=-w?v.OUTSIDE:l>=w?v.INSIDE:v.INTERSECTING};var at=new t,ct=new t,rt=new t,Gt=new t,et=new t,Jt=new t;m.distanceSquaredTo=function(n,e){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("cartesian is required.");let c=t.subtract(e,n.center,nt),h=n.halfAxes,r=d.getColumn(h,0,at),o=d.getColumn(h,1,ct),i=d.getColumn(h,2,rt),C=t.magnitude(r),w=t.magnitude(o),l=t.magnitude(i),u=!0,a=!0,s=!0;C>0?t.divideByScalar(r,C,r):u=!1,w>0?t.divideByScalar(o,w,o):a=!1,l>0?t.divideByScalar(i,l,i):s=!1;let f=!u+!a+!s,A,M,x;if(f===1){let O=r;A=o,M=i,a?s||(O=i,M=r):(O=o,A=r),x=t.cross(A,M,et),O===r?r=x:O===o?o=x:O===i&&(i=x)}else if(f===2){A=r,a?A=o:s&&(A=i);let O=t.UNIT_Y;O.equalsEpsilon(A,g.EPSILON3)&&(O=t.UNIT_X),M=t.cross(A,O,Gt),t.normalize(M,M),x=t.cross(A,M,et),t.normalize(x,x),A===r?(o=M,i=x):A===o?(i=M,r=x):A===i&&(r=M,o=x)}else f===3&&(r=t.UNIT_X,o=t.UNIT_Y,i=t.UNIT_Z);let y=Jt;y.x=t.dot(c,r),y.y=t.dot(c,o),y.z=t.dot(c,i);let N=0,P;return y.x<-C?(P=y.x+C,N+=P*P):y.x>C&&(P=y.x-C,N+=P*P),y.y<-w?(P=y.y+w,N+=P*P):y.y>w&&(P=y.y-w,N+=P*P),y.z<-l?(P=y.z+l,N+=P*P):y.z>l&&(P=y.z-l,N+=P*P),N};var Kt=new t,Qt=new t;m.computePlaneDistances=function(n,e,c,h){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("position is required.");if(!p(c))throw new b("direction is required.");p(h)||(h=new J);let r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=n.center,C=n.halfAxes,w=d.getColumn(C,0,at),l=d.getColumn(C,1,ct),u=d.getColumn(C,2,rt),a=t.add(w,l,Kt);t.add(a,u,a),t.add(a,i,a);let s=t.subtract(a,e,Qt),f=t.dot(c,s);return r=Math.min(f,r),o=Math.max(f,o),t.add(i,w,a),t.add(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.add(i,w,a),t.subtract(a,l,a),t.add(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.add(i,w,a),t.subtract(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.add(a,l,a),t.add(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.add(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.subtract(a,l,a),t.add(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.subtract(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),h.start=r,h.stop=o,h};var $t=new t,Ht=new t,te=new t;m.computeCorners=function(n,e){z.typeOf.object("box",n),p(e)||(e=[new t,new t,new t,new t,new t,new t,new t,new t]);let c=n.center,h=n.halfAxes,r=d.getColumn(h,0,$t),o=d.getColumn(h,1,Ht),i=d.getColumn(h,2,te);return t.clone(c,e[0]),t.subtract(e[0],r,e[0]),t.subtract(e[0],o,e[0]),t.subtract(e[0],i,e[0]),t.clone(c,e[1]),t.subtract(e[1],r,e[1]),t.subtract(e[1],o,e[1]),t.add(e[1],i,e[1]),t.clone(c,e[2]),t.subtract(e[2],r,e[2]),t.add(e[2],o,e[2]),t.subtract(e[2],i,e[2]),t.clone(c,e[3]),t.subtract(e[3],r,e[3]),t.add(e[3],o,e[3]),t.add(e[3],i,e[3]),t.clone(c,e[4]),t.add(e[4],r,e[4]),t.subtract(e[4],o,e[4]),t.subtract(e[4],i,e[4]),t.clone(c,e[5]),t.add(e[5],r,e[5]),t.subtract(e[5],o,e[5]),t.add(e[5],i,e[5]),t.clone(c,e[6]),t.add(e[6],r,e[6]),t.add(e[6],o,e[6]),t.subtract(e[6],i,e[6]),t.clone(c,e[7]),t.add(e[7],r,e[7]),t.add(e[7],o,e[7]),t.add(e[7],i,e[7]),e};var ee=new d;m.computeTransformation=function(n,e){z.typeOf.object("box",n),p(e)||(e=new B);let c=n.center,h=d.multiplyByUniformScale(n.halfAxes,2,ee);return B.fromRotationTranslation(h,c,e)};var ne=new Z;m.isOccluded=function(n,e){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("occluder is required.");let c=Z.fromOrientedBoundingBox(n,ne);return!e.isBoundingSphereVisible(c)};m.prototype.intersectPlane=function(n){return m.intersectPlane(this,n)};m.prototype.distanceSquaredTo=function(n){return m.distanceSquaredTo(this,n)};m.prototype.computePlaneDistances=function(n,e,c){return m.computePlaneDistances(this,n,e,c)};m.prototype.computeCorners=function(n){return m.computeCorners(this,n)};m.prototype.computeTransformation=function(n){return m.computeTransformation(this,n)};m.prototype.isOccluded=function(n){return m.isOccluded(this,n)};m.equals=function(n,e){return n===e||p(n)&&p(e)&&t.equals(n.center,e.center)&&d.equals(n.halfAxes,e.halfAxes)};m.prototype.clone=function(n){return m.clone(this,n)};m.prototype.equals=function(n){return m.equals(this,n)};var ye=m;export{ye as a}; +import{a as K}from"./chunk-JHG5JGLM.js";import{a as L}from"./chunk-I66MFRXO.js";import{b as v,c as J,d as Z}from"./chunk-JLMPKQO4.js";import{b as B,h as k}from"./chunk-2K72IAMD.js";import{a as t,b as S,c as I,d as G,e as d}from"./chunk-HWH6BBH6.js";import{a as g}from"./chunk-DW4EQ6YI.js";import{a as W}from"./chunk-CJFJKB5V.js";import{a as b,b as z}from"./chunk-4BGNE6LH.js";import{e as p}from"./chunk-OX5CTLXY.js";function m(n,e){this.center=t.clone(W(n,t.ZERO)),this.halfAxes=d.clone(W(e,d.ZERO))}m.packedLength=t.packedLength+d.packedLength;m.pack=function(n,e,c){return z.typeOf.object("value",n),z.defined("array",e),c=W(c,0),t.pack(n.center,e,c),d.pack(n.halfAxes,e,c+t.packedLength),e};m.unpack=function(n,e,c){return z.defined("array",n),e=W(e,0),p(c)||(c=new m),t.unpack(n,e,c.center),d.unpack(n,e+t.packedLength,c.halfAxes),c};var Ct=new t,ut=new t,Pt=new t,xt=new t,yt=new t,At=new t,Nt=new d,Mt={unitary:new d,diagonal:new d};m.fromPoints=function(n,e){if(p(e)||(e=new m),!p(n)||n.length===0)return e.halfAxes=d.ZERO,e.center=t.ZERO,e;let c,h=n.length,r=t.clone(n[0],Ct);for(c=1;c<h;c++)t.add(r,n[c],r);let o=1/h;t.multiplyByScalar(r,o,r);let i=0,C=0,w=0,l=0,u=0,a=0,s;for(c=0;c<h;c++)s=t.subtract(n[c],r,ut),i+=s.x*s.x,C+=s.x*s.y,w+=s.x*s.z,l+=s.y*s.y,u+=s.y*s.z,a+=s.z*s.z;i*=o,C*=o,w*=o,l*=o,u*=o,a*=o;let f=Nt;f[0]=i,f[1]=C,f[2]=w,f[3]=C,f[4]=l,f[5]=u,f[6]=w,f[7]=u,f[8]=a;let A=d.computeEigenDecomposition(f,Mt),M=d.clone(A.unitary,e.halfAxes),x=d.getColumn(M,0,xt),y=d.getColumn(M,1,yt),N=d.getColumn(M,2,At),P=-Number.MAX_VALUE,O=-Number.MAX_VALUE,U=-Number.MAX_VALUE,q=Number.MAX_VALUE,R=Number.MAX_VALUE,j=Number.MAX_VALUE;for(c=0;c<h;c++)s=n[c],P=Math.max(t.dot(x,s),P),O=Math.max(t.dot(y,s),O),U=Math.max(t.dot(N,s),U),q=Math.min(t.dot(x,s),q),R=Math.min(t.dot(y,s),R),j=Math.min(t.dot(N,s),j);x=t.multiplyByScalar(x,.5*(q+P),x),y=t.multiplyByScalar(y,.5*(R+O),y),N=t.multiplyByScalar(N,.5*(j+U),N);let T=t.add(x,y,e.center);t.add(T,N,T);let E=Pt;return E.x=P-q,E.y=O-R,E.z=U-j,t.multiplyByScalar(E,.5,E),d.multiplyByScale(e.halfAxes,E,e.halfAxes),e};var nt=new t,Ot=new t;function Q(n,e,c,h,r,o,i,C,w,l,u){if(!p(r)||!p(o)||!p(i)||!p(C)||!p(w)||!p(l))throw new b("all extents (minimum/maximum X/Y/Z) are required.");p(u)||(u=new m);let a=u.halfAxes;d.setColumn(a,0,e,a),d.setColumn(a,1,c,a),d.setColumn(a,2,h,a);let s=nt;s.x=(r+o)/2,s.y=(i+C)/2,s.z=(w+l)/2;let f=Ot;f.x=(o-r)/2,f.y=(C-i)/2,f.z=(l-w)/2;let A=u.center;return s=d.multiplyByVector(a,s,s),t.add(n,s,A),d.multiplyByScale(a,f,a),u}var $=new S,bt=new t,Tt=new S,St=new S,gt=new S,Et=new S,Rt=new S,Wt=new t,H=new t,zt=new t,tt=new t,It=new t,Lt=new I,Ut=new I,qt=new I,jt=new I,Bt=new I,vt=new t,Vt=new t,_t=new t,Dt=new t,Xt=new I,kt=new t,Zt=new t,Yt=new t,Ft=new L(t.UNIT_X,0);m.fromRectangle=function(n,e,c,h,r){if(!p(n))throw new b("rectangle is required");if(n.width<0||n.width>g.TWO_PI)throw new b("Rectangle width must be between 0 and 2 * pi");if(n.height<0||n.height>g.PI)throw new b("Rectangle height must be between 0 and pi");if(p(h)&&!g.equalsEpsilon(h.radii.x,h.radii.y,g.EPSILON15))throw new b("Ellipsoid must be an ellipsoid of revolution (radii.x == radii.y)");e=W(e,0),c=W(c,0),h=W(h,G.default);let o,i,C,w,l,u,a;if(n.width<=g.PI){let R=k.center(n,$),j=h.cartographicToCartesian(R,bt),T=new K(j,h);a=T.plane;let E=R.longitude,ot=n.south<0&&n.north>0?0:R.latitude,st=S.fromRadians(E,n.north,c,Tt),V=S.fromRadians(n.west,n.north,c,St),it=S.fromRadians(n.west,ot,c,gt),_=S.fromRadians(n.west,n.south,c,Et),ht=S.fromRadians(E,n.south,c,Rt),ft=h.cartographicToCartesian(st,Wt),D=h.cartographicToCartesian(V,H),dt=h.cartographicToCartesian(it,zt),X=h.cartographicToCartesian(_,tt),mt=h.cartographicToCartesian(ht,It),wt=T.projectPointToNearestOnPlane(ft,Lt),Y=T.projectPointToNearestOnPlane(D,Ut),lt=T.projectPointToNearestOnPlane(dt,qt),F=T.projectPointToNearestOnPlane(X,jt),pt=T.projectPointToNearestOnPlane(mt,Bt);return o=Math.min(Y.x,lt.x,F.x),i=-o,w=Math.max(Y.y,wt.y),C=Math.min(F.y,pt.y),V.height=_.height=e,D=h.cartographicToCartesian(V,H),X=h.cartographicToCartesian(_,tt),l=Math.min(L.getPointDistance(a,D),L.getPointDistance(a,X)),u=c,Q(T.origin,T.xAxis,T.yAxis,T.zAxis,o,i,C,w,l,u,r)}let s=n.south>0,f=n.north<0,A=s?n.south:f?n.north:0,M=k.center(n,$).longitude,x=t.fromRadians(M,A,c,h,vt);x.z=0;let N=Math.abs(x.x)<g.EPSILON10&&Math.abs(x.y)<g.EPSILON10?t.UNIT_X:t.normalize(x,Vt),P=t.UNIT_Z,O=t.cross(N,P,_t);a=L.fromPointNormal(x,N,Ft);let U=t.fromRadians(M+g.PI_OVER_TWO,A,c,h,Dt);i=t.dot(L.projectPointOntoPlane(a,U,Xt),O),o=-i,w=t.fromRadians(0,n.north,f?e:c,h,kt).z,C=t.fromRadians(0,n.south,s?e:c,h,Zt).z;let q=t.fromRadians(n.east,A,c,h,Yt);return l=L.getPointDistance(a,q),u=0,Q(x,O,P,N,o,i,C,w,l,u,r)};m.fromTransformation=function(n,e){return z.typeOf.object("transformation",n),p(e)||(e=new m),e.center=B.getTranslation(n,e.center),e.halfAxes=B.getMatrix3(n,e.halfAxes),e.halfAxes=d.multiplyByScalar(e.halfAxes,.5,e.halfAxes),e};m.clone=function(n,e){if(p(n))return p(e)?(t.clone(n.center,e.center),d.clone(n.halfAxes,e.halfAxes),e):new m(n.center,n.halfAxes)};m.intersectPlane=function(n,e){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("plane is required.");let c=n.center,h=e.normal,r=n.halfAxes,o=h.x,i=h.y,C=h.z,w=Math.abs(o*r[d.COLUMN0ROW0]+i*r[d.COLUMN0ROW1]+C*r[d.COLUMN0ROW2])+Math.abs(o*r[d.COLUMN1ROW0]+i*r[d.COLUMN1ROW1]+C*r[d.COLUMN1ROW2])+Math.abs(o*r[d.COLUMN2ROW0]+i*r[d.COLUMN2ROW1]+C*r[d.COLUMN2ROW2]),l=t.dot(h,c)+e.distance;return l<=-w?v.OUTSIDE:l>=w?v.INSIDE:v.INTERSECTING};var at=new t,ct=new t,rt=new t,Gt=new t,et=new t,Jt=new t;m.distanceSquaredTo=function(n,e){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("cartesian is required.");let c=t.subtract(e,n.center,nt),h=n.halfAxes,r=d.getColumn(h,0,at),o=d.getColumn(h,1,ct),i=d.getColumn(h,2,rt),C=t.magnitude(r),w=t.magnitude(o),l=t.magnitude(i),u=!0,a=!0,s=!0;C>0?t.divideByScalar(r,C,r):u=!1,w>0?t.divideByScalar(o,w,o):a=!1,l>0?t.divideByScalar(i,l,i):s=!1;let f=!u+!a+!s,A,M,x;if(f===1){let O=r;A=o,M=i,a?s||(O=i,M=r):(O=o,A=r),x=t.cross(A,M,et),O===r?r=x:O===o?o=x:O===i&&(i=x)}else if(f===2){A=r,a?A=o:s&&(A=i);let O=t.UNIT_Y;O.equalsEpsilon(A,g.EPSILON3)&&(O=t.UNIT_X),M=t.cross(A,O,Gt),t.normalize(M,M),x=t.cross(A,M,et),t.normalize(x,x),A===r?(o=M,i=x):A===o?(i=M,r=x):A===i&&(r=M,o=x)}else f===3&&(r=t.UNIT_X,o=t.UNIT_Y,i=t.UNIT_Z);let y=Jt;y.x=t.dot(c,r),y.y=t.dot(c,o),y.z=t.dot(c,i);let N=0,P;return y.x<-C?(P=y.x+C,N+=P*P):y.x>C&&(P=y.x-C,N+=P*P),y.y<-w?(P=y.y+w,N+=P*P):y.y>w&&(P=y.y-w,N+=P*P),y.z<-l?(P=y.z+l,N+=P*P):y.z>l&&(P=y.z-l,N+=P*P),N};var Kt=new t,Qt=new t;m.computePlaneDistances=function(n,e,c,h){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("position is required.");if(!p(c))throw new b("direction is required.");p(h)||(h=new J);let r=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,i=n.center,C=n.halfAxes,w=d.getColumn(C,0,at),l=d.getColumn(C,1,ct),u=d.getColumn(C,2,rt),a=t.add(w,l,Kt);t.add(a,u,a),t.add(a,i,a);let s=t.subtract(a,e,Qt),f=t.dot(c,s);return r=Math.min(f,r),o=Math.max(f,o),t.add(i,w,a),t.add(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.add(i,w,a),t.subtract(a,l,a),t.add(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.add(i,w,a),t.subtract(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.add(a,l,a),t.add(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.add(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.subtract(a,l,a),t.add(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),t.subtract(i,w,a),t.subtract(a,l,a),t.subtract(a,u,a),t.subtract(a,e,s),f=t.dot(c,s),r=Math.min(f,r),o=Math.max(f,o),h.start=r,h.stop=o,h};var $t=new t,Ht=new t,te=new t;m.computeCorners=function(n,e){z.typeOf.object("box",n),p(e)||(e=[new t,new t,new t,new t,new t,new t,new t,new t]);let c=n.center,h=n.halfAxes,r=d.getColumn(h,0,$t),o=d.getColumn(h,1,Ht),i=d.getColumn(h,2,te);return t.clone(c,e[0]),t.subtract(e[0],r,e[0]),t.subtract(e[0],o,e[0]),t.subtract(e[0],i,e[0]),t.clone(c,e[1]),t.subtract(e[1],r,e[1]),t.subtract(e[1],o,e[1]),t.add(e[1],i,e[1]),t.clone(c,e[2]),t.subtract(e[2],r,e[2]),t.add(e[2],o,e[2]),t.subtract(e[2],i,e[2]),t.clone(c,e[3]),t.subtract(e[3],r,e[3]),t.add(e[3],o,e[3]),t.add(e[3],i,e[3]),t.clone(c,e[4]),t.add(e[4],r,e[4]),t.subtract(e[4],o,e[4]),t.subtract(e[4],i,e[4]),t.clone(c,e[5]),t.add(e[5],r,e[5]),t.subtract(e[5],o,e[5]),t.add(e[5],i,e[5]),t.clone(c,e[6]),t.add(e[6],r,e[6]),t.add(e[6],o,e[6]),t.subtract(e[6],i,e[6]),t.clone(c,e[7]),t.add(e[7],r,e[7]),t.add(e[7],o,e[7]),t.add(e[7],i,e[7]),e};var ee=new d;m.computeTransformation=function(n,e){z.typeOf.object("box",n),p(e)||(e=new B);let c=n.center,h=d.multiplyByUniformScale(n.halfAxes,2,ee);return B.fromRotationTranslation(h,c,e)};var ne=new Z;m.isOccluded=function(n,e){if(!p(n))throw new b("box is required.");if(!p(e))throw new b("occluder is required.");let c=Z.fromOrientedBoundingBox(n,ne);return!e.isBoundingSphereVisible(c)};m.prototype.intersectPlane=function(n){return m.intersectPlane(this,n)};m.prototype.distanceSquaredTo=function(n){return m.distanceSquaredTo(this,n)};m.prototype.computePlaneDistances=function(n,e,c){return m.computePlaneDistances(this,n,e,c)};m.prototype.computeCorners=function(n){return m.computeCorners(this,n)};m.prototype.computeTransformation=function(n){return m.computeTransformation(this,n)};m.prototype.isOccluded=function(n){return m.isOccluded(this,n)};m.equals=function(n,e){return n===e||p(n)&&p(e)&&t.equals(n.center,e.center)&&d.equals(n.halfAxes,e.halfAxes)};m.prototype.clone=function(n){return m.clone(this,n)};m.prototype.equals=function(n){return m.equals(this,n)};var ye=m;export{ye as a}; diff --git a/public/lib/Cesium/Workers/chunk-AELLPJXN.js b/public/lib/Cesium/Workers/chunk-LWGQRCCJ.js similarity index 97% rename from public/lib/Cesium/Workers/chunk-AELLPJXN.js rename to public/lib/Cesium/Workers/chunk-LWGQRCCJ.js index 42d395b18..44725a9aa 100644 --- a/public/lib/Cesium/Workers/chunk-AELLPJXN.js +++ b/public/lib/Cesium/Workers/chunk-LWGQRCCJ.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as E}from"./chunk-6YAFAZVV.js";import{a as Q}from"./chunk-UKRRGB4P.js";import{a as ae}from"./chunk-WFZLZ2P5.js";import{b as oe,c as re,d as J}from"./chunk-CTEHZS7O.js";import{b as A,d as ie}from"./chunk-4TXI27XR.js";import{a as b,b as F,f as N}from"./chunk-GFUBU5RD.js";import{a as H}from"./chunk-27UWHT4D.js";import{a as r,e as G}from"./chunk-RFPX772U.js";import{a as P}from"./chunk-RAYRECQS.js";import{a as m}from"./chunk-6KLVDWWE.js";import{a as w,b as O}from"./chunk-6P5KAIBX.js";import{e as a}from"./chunk-4FSVUTPL.js";function T(e){this.planes=m(e,[])}var X=[new r,new r,new r];r.clone(r.UNIT_X,X[0]);r.clone(r.UNIT_Y,X[1]);r.clone(r.UNIT_Z,X[2]);var V=new r,_e=new r,fe=new Q(new r(1,0,0),0);T.fromBoundingSphere=function(e,t){if(!a(e))throw new w("boundingSphere is required.");a(t)||(t=new T);let n=X.length,f=t.planes;f.length=2*n;let p=e.center,d=e.radius,s=0;for(let y=0;y<n;++y){let i=X[y],c=f[s],_=f[s+1];a(c)||(c=f[s]=new b),a(_)||(_=f[s+1]=new b),r.multiplyByScalar(i,-d,V),r.add(p,V,V),c.x=i.x,c.y=i.y,c.z=i.z,c.w=-r.dot(i,V),r.multiplyByScalar(i,d,V),r.add(p,V,V),_.x=-i.x,_.y=-i.y,_.z=-i.z,_.w=-r.dot(r.negate(i,_e),V),s+=2}return t};T.prototype.computeVisibility=function(e){if(!a(e))throw new w("boundingVolume is required.");let t=this.planes,n=!1;for(let f=0,p=t.length;f<p;++f){let d=e.intersectPlane(Q.fromCartesian4(t[f],fe));if(d===A.OUTSIDE)return A.OUTSIDE;d===A.INTERSECTING&&(n=!0)}return n?A.INTERSECTING:A.INSIDE};T.prototype.computeVisibilityWithPlaneMask=function(e,t){if(!a(e))throw new w("boundingVolume is required.");if(!a(t))throw new w("parentPlaneMask is required.");if(t===T.MASK_OUTSIDE||t===T.MASK_INSIDE)return t;let n=T.MASK_INSIDE,f=this.planes;for(let p=0,d=f.length;p<d;++p){let s=p<31?1<<p:0;if(p<31&&!(t&s))continue;let y=e.intersectPlane(Q.fromCartesian4(f[p],fe));if(y===A.OUTSIDE)return T.MASK_OUTSIDE;y===A.INTERSECTING&&(n|=s)}return n};T.MASK_OUTSIDE=4294967295;T.MASK_INSIDE=0;T.MASK_INDETERMINATE=2147483647;var $=T;function k(e){e=m(e,m.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far,this._cullingVolume=new $,this._orthographicMatrix=new F}function ce(e){if(!a(e.right)||!a(e.left)||!a(e.top)||!a(e.bottom)||!a(e.near)||!a(e.far))throw new w("right, left, top, bottom, near, or far parameters are not set.");if(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far){if(e.left>e.right)throw new w("right must be greater than left.");if(e.bottom>e.top)throw new w("top must be greater than bottom.");e.near<=0||e.near>e.far,e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=F.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix)}}Object.defineProperties(k.prototype,{projectionMatrix:{get:function(){return ce(this),this._orthographicMatrix}}});var me=new r,ye=new r,ge=new r,ee=new r;k.prototype.computeCullingVolume=function(e,t,n){if(!a(e))throw new w("position is required.");if(!a(t))throw new w("direction is required.");if(!a(n))throw new w("up is required.");let f=this._cullingVolume.planes,p=this.top,d=this.bottom,s=this.right,y=this.left,i=this.near,c=this.far,_=r.cross(t,n,me);r.normalize(_,_);let g=ye;r.multiplyByScalar(t,i,g),r.add(e,g,g);let l=ge;r.multiplyByScalar(_,y,l),r.add(g,l,l);let o=f[0];return a(o)||(o=f[0]=new b),o.x=_.x,o.y=_.y,o.z=_.z,o.w=-r.dot(_,l),r.multiplyByScalar(_,s,l),r.add(g,l,l),o=f[1],a(o)||(o=f[1]=new b),o.x=-_.x,o.y=-_.y,o.z=-_.z,o.w=-r.dot(r.negate(_,ee),l),r.multiplyByScalar(n,d,l),r.add(g,l,l),o=f[2],a(o)||(o=f[2]=new b),o.x=n.x,o.y=n.y,o.z=n.z,o.w=-r.dot(n,l),r.multiplyByScalar(n,p,l),r.add(g,l,l),o=f[3],a(o)||(o=f[3]=new b),o.x=-n.x,o.y=-n.y,o.z=-n.z,o.w=-r.dot(r.negate(n,ee),l),o=f[4],a(o)||(o=f[4]=new b),o.x=t.x,o.y=t.y,o.z=t.z,o.w=-r.dot(t,g),r.multiplyByScalar(t,c,l),r.add(e,l,l),o=f[5],a(o)||(o=f[5]=new b),o.x=-t.x,o.y=-t.y,o.z=-t.z,o.w=-r.dot(r.negate(t,ee),l),this._cullingVolume};k.prototype.getPixelDimensions=function(e,t,n,f,p){if(ce(this),!a(e)||!a(t))throw new w("Both drawingBufferWidth and drawingBufferHeight are required.");if(e<=0)throw new w("drawingBufferWidth must be greater than zero.");if(t<=0)throw new w("drawingBufferHeight must be greater than zero.");if(!a(n))throw new w("distance is required.");if(!a(f))throw new w("pixelRatio is required.");if(f<=0)throw new w("pixelRatio must be greater than zero.");if(!a(p))throw new w("A result object is required.");let d=this.right-this.left,s=this.top-this.bottom,y=f*d/e,i=f*s/t;return p.x=y,p.y=i,p};k.prototype.clone=function(e){return a(e)||(e=new k),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};k.prototype.equals=function(e){return a(e)&&e instanceof k&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};k.prototype.equalsEpsilon=function(e,t,n){return e===this||a(e)&&e instanceof k&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var he=k;function z(e){e=m(e,m.EMPTY_OBJECT),this._offCenterFrustum=new he,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far}z.packedLength=4;z.pack=function(e,t,n){return O.typeOf.object("value",e),O.defined("array",t),n=m(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};z.unpack=function(e,t,n){return O.defined("array",e),t=m(t,0),a(n)||(n=new z),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function j(e){if(!a(e.width)||!a(e.aspectRatio)||!a(e.near)||!a(e.far))throw new w("width, aspectRatio, near, or far parameters are not set.");let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){if(e.aspectRatio<0)throw new w("aspectRatio must be positive.");if(e.near<0||e.near>e.far)throw new w("near must be greater than zero and less than far.");e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(z.prototype,{projectionMatrix:{get:function(){return j(this),this._offCenterFrustum.projectionMatrix}},offCenterFrustum:{get:function(){return j(this),this._offCenterFrustum}}});z.prototype.computeCullingVolume=function(e,t,n){return j(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};z.prototype.getPixelDimensions=function(e,t,n,f,p){return j(this),this._offCenterFrustum.getPixelDimensions(e,t,n,f,p)};z.prototype.clone=function(e){return a(e)||(e=new z),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};z.prototype.equals=function(e){return!a(e)||!(e instanceof z)?!1:(j(this),j(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};z.prototype.equalsEpsilon=function(e,t,n){return!a(e)||!(e instanceof z)?!1:(j(this),j(e),P.equalsEpsilon(this.width,e.width,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var B=z;function S(e){e=m(e,m.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far,this._cullingVolume=new $,this._perspectiveMatrix=new F,this._infinitePerspective=new F}function te(e){if(!a(e.right)||!a(e.left)||!a(e.top)||!a(e.bottom)||!a(e.near)||!a(e.far))throw new w("right, left, top, bottom, near, or far parameters are not set.");let{top:t,bottom:n,right:f,left:p,near:d,far:s}=e;if(t!==e._top||n!==e._bottom||p!==e._left||f!==e._right||d!==e._near||s!==e._far){if(e.near<=0||e.near>e.far)throw new w("near must be greater than zero and less than far.");e._left=p,e._right=f,e._top=t,e._bottom=n,e._near=d,e._far=s,e._perspectiveMatrix=F.computePerspectiveOffCenter(p,f,n,t,d,s,e._perspectiveMatrix),e._infinitePerspective=F.computeInfinitePerspectiveOffCenter(p,f,n,t,d,e._infinitePerspective)}}Object.defineProperties(S.prototype,{projectionMatrix:{get:function(){return te(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return te(this),this._infinitePerspective}}});var Ce=new r,be=new r,Oe=new r,Pe=new r;S.prototype.computeCullingVolume=function(e,t,n){if(!a(e))throw new w("position is required.");if(!a(t))throw new w("direction is required.");if(!a(n))throw new w("up is required.");let f=this._cullingVolume.planes,p=this.top,d=this.bottom,s=this.right,y=this.left,i=this.near,c=this.far,_=r.cross(t,n,Ce),g=be;r.multiplyByScalar(t,i,g),r.add(e,g,g);let l=Oe;r.multiplyByScalar(t,c,l),r.add(e,l,l);let o=Pe;r.multiplyByScalar(_,y,o),r.add(g,o,o),r.subtract(o,e,o),r.normalize(o,o),r.cross(o,n,o),r.normalize(o,o);let h=f[0];return a(h)||(h=f[0]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),r.multiplyByScalar(_,s,o),r.add(g,o,o),r.subtract(o,e,o),r.cross(n,o,o),r.normalize(o,o),h=f[1],a(h)||(h=f[1]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),r.multiplyByScalar(n,d,o),r.add(g,o,o),r.subtract(o,e,o),r.cross(_,o,o),r.normalize(o,o),h=f[2],a(h)||(h=f[2]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),r.multiplyByScalar(n,p,o),r.add(g,o,o),r.subtract(o,e,o),r.cross(o,_,o),r.normalize(o,o),h=f[3],a(h)||(h=f[3]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),h=f[4],a(h)||(h=f[4]=new b),h.x=t.x,h.y=t.y,h.z=t.z,h.w=-r.dot(t,g),r.negate(t,o),h=f[5],a(h)||(h=f[5]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,l),this._cullingVolume};S.prototype.getPixelDimensions=function(e,t,n,f,p){if(te(this),!a(e)||!a(t))throw new w("Both drawingBufferWidth and drawingBufferHeight are required.");if(e<=0)throw new w("drawingBufferWidth must be greater than zero.");if(t<=0)throw new w("drawingBufferHeight must be greater than zero.");if(!a(n))throw new w("distance is required.");if(!a(f))throw new w("pixelRatio is required");if(f<=0)throw new w("pixelRatio must be greater than zero.");if(!a(p))throw new w("A result object is required.");let d=1/this.near,s=this.top*d,y=2*f*n*s/t;s=this.right*d;let i=2*f*n*s/e;return p.x=i,p.y=y,p};S.prototype.clone=function(e){return a(e)||(e=new S),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};S.prototype.equals=function(e){return a(e)&&e instanceof S&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};S.prototype.equalsEpsilon=function(e,t,n){return e===this||a(e)&&e instanceof S&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var pe=S;function R(e){e=m(e,m.EMPTY_OBJECT),this._offCenterFrustum=new pe,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far,this.xOffset=m(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=m(e.yOffset,0),this._yOffset=this.yOffset}R.packedLength=6;R.pack=function(e,t,n){return O.typeOf.object("value",e),O.defined("array",t),n=m(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};R.unpack=function(e,t,n){return O.defined("array",e),t=m(t,0),a(n)||(n=new R),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function q(e){if(!a(e.fov)||!a(e.aspectRatio)||!a(e.near)||!a(e.far))throw new w("fov, aspectRatio, near, or far parameters are not set.");if(!(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset))return;if(O.typeOf.number.greaterThanOrEquals("fov",e.fov,0),O.typeOf.number.lessThan("fov",e.fov,Math.PI),O.typeOf.number.greaterThanOrEquals("aspectRatio",e.aspectRatio,0),O.typeOf.number.greaterThanOrEquals("near",e.near,0),e.near>e.far)throw new w("near must be less than far.");e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset;let n=e._offCenterFrustum;n.top=e.near*Math.tan(.5*e._fovy),n.bottom=-n.top,n.right=e.aspectRatio*n.top,n.left=-n.right,n.near=e.near,n.far=e.far,n.right+=e.xOffset,n.left+=e.xOffset,n.top+=e.yOffset,n.bottom+=e.yOffset}Object.defineProperties(R.prototype,{projectionMatrix:{get:function(){return q(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return q(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return q(this),this._fovy}},sseDenominator:{get:function(){return q(this),this._sseDenominator}},offCenterFrustum:{get:function(){return q(this),this._offCenterFrustum}}});R.prototype.computeCullingVolume=function(e,t,n){return q(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};R.prototype.getPixelDimensions=function(e,t,n,f,p){return q(this),this._offCenterFrustum.getPixelDimensions(e,t,n,f,p)};R.prototype.clone=function(e){return a(e)||(e=new R),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};R.prototype.equals=function(e){return!a(e)||!(e instanceof R)?!1:(q(this),q(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};R.prototype.equalsEpsilon=function(e,t,n){return!a(e)||!(e instanceof R)?!1:(q(this),q(e),P.equalsEpsilon(this.fov,e.fov,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var L=R;var I=0,Fe=1;function U(e){O.typeOf.object("options",e),O.typeOf.object("options.frustum",e.frustum),O.typeOf.object("options.origin",e.origin),O.typeOf.object("options.orientation",e.orientation);let t=e.frustum,n=e.orientation,f=e.origin,p=m(e.vertexFormat,E.DEFAULT),d=m(e._drawNearPlane,!0),s,y;t instanceof L?(s=I,y=L.packedLength):t instanceof B&&(s=Fe,y=B.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=r.clone(f),this._orientation=N.clone(n),this._drawNearPlane=d,this._vertexFormat=p,this._workerName="createFrustumGeometry",this.packedLength=2+y+r.packedLength+N.packedLength+E.packedLength}U.pack=function(e,t,n){O.typeOf.object("value",e),O.defined("array",t),n=m(n,0);let f=e._frustumType,p=e._frustum;return t[n++]=f,f===I?(L.pack(p,t,n),n+=L.packedLength):(B.pack(p,t,n),n+=B.packedLength),r.pack(e._origin,t,n),n+=r.packedLength,N.pack(e._orientation,t,n),n+=N.packedLength,E.pack(e._vertexFormat,t,n),n+=E.packedLength,t[n]=e._drawNearPlane?1:0,t};var xe=new L,ve=new B,ze=new N,Re=new r,Te=new E;U.unpack=function(e,t,n){O.defined("array",e),t=m(t,0);let f=e[t++],p;f===I?(p=L.unpack(e,t,xe),t+=L.packedLength):(p=B.unpack(e,t,ve),t+=B.packedLength);let d=r.unpack(e,t,Re);t+=r.packedLength;let s=N.unpack(e,t,ze);t+=N.packedLength;let y=E.unpack(e,t,Te);t+=E.packedLength;let i=e[t]===1;if(!a(n))return new U({frustum:p,origin:d,orientation:s,vertexFormat:y,_drawNearPlane:i});let c=f===n._frustumType?n._frustum:void 0;return n._frustum=p.clone(c),n._frustumType=f,n._origin=r.clone(d,n._origin),n._orientation=N.clone(s,n._orientation),n._vertexFormat=E.clone(y,n._vertexFormat),n._drawNearPlane=i,n};function W(e,t,n,f,p,d,s,y){let i=e/3*2;for(let c=0;c<4;++c)a(t)&&(t[e]=d.x,t[e+1]=d.y,t[e+2]=d.z),a(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),a(f)&&(f[e]=y.x,f[e+1]=y.y,f[e+2]=y.z),e+=3;p[i]=0,p[i+1]=0,p[i+2]=1,p[i+3]=0,p[i+4]=1,p[i+5]=1,p[i+6]=0,p[i+7]=1}var qe=new G,Me=new F,ne=new F,se=new r,le=new r,we=new r,ke=new r,Se=new r,De=new r,u=new Array(3),Z=new Array(4);Z[0]=new b(-1,-1,1,1);Z[1]=new b(1,-1,1,1);Z[2]=new b(1,1,1,1);Z[3]=new b(-1,1,1,1);var de=new Array(4);for(let e=0;e<4;++e)de[e]=new b;U._computeNearFarPlanes=function(e,t,n,f,p,d,s,y){let i=G.fromQuaternion(t,qe),c=m(d,se),_=m(s,le),g=m(y,we);c=G.getColumn(i,0,c),_=G.getColumn(i,1,_),g=G.getColumn(i,2,g),r.normalize(c,c),r.normalize(_,_),r.normalize(g,g),r.negate(c,c);let l=F.computeView(e,g,_,c,Me),o,h,M=f.projectionMatrix;if(n===I){let x=F.multiply(M,l,ne);h=F.inverse(x,ne)}else o=F.inverseTransformation(l,ne);a(h)?(u[0]=f.near,u[1]=f.far):(u[0]=0,u[1]=f.near,u[2]=f.far);for(let x=0;x<2;++x)for(let v=0;v<4;++v){let C=b.clone(Z[v],de[v]);if(a(h)){C=F.multiplyByVector(h,C,C);let D=1/C.w;r.multiplyByScalar(C,D,C),r.subtract(C,e,C),r.normalize(C,C);let Y=r.dot(g,C);r.multiplyByScalar(C,u[x]/Y,C),r.add(C,e,C)}else{let D=f.offCenterFrustum;a(D)&&(f=D);let Y=u[x],K=u[x+1];C.x=(C.x*(f.right-f.left)+f.left+f.right)*.5,C.y=(C.y*(f.top-f.bottom)+f.bottom+f.top)*.5,C.z=(C.z*(Y-K)-Y-K)*.5,C.w=1,F.multiplyByVector(o,C,C)}p[12*x+v*3]=C.x,p[12*x+v*3+1]=C.y,p[12*x+v*3+2]=C.z}};U.createGeometry=function(e){let t=e._frustumType,n=e._frustum,f=e._origin,p=e._orientation,d=e._drawNearPlane,s=e._vertexFormat,y=d?6:5,i=new Float64Array(3*4*6);U._computeNearFarPlanes(f,p,t,n,i);let c=3*4*2;i[c]=i[3*4],i[c+1]=i[3*4+1],i[c+2]=i[3*4+2],i[c+3]=i[0],i[c+4]=i[1],i[c+5]=i[2],i[c+6]=i[3*3],i[c+7]=i[3*3+1],i[c+8]=i[3*3+2],i[c+9]=i[3*7],i[c+10]=i[3*7+1],i[c+11]=i[3*7+2],c+=3*4,i[c]=i[3*5],i[c+1]=i[3*5+1],i[c+2]=i[3*5+2],i[c+3]=i[3],i[c+4]=i[4],i[c+5]=i[5],i[c+6]=i[0],i[c+7]=i[1],i[c+8]=i[2],i[c+9]=i[3*4],i[c+10]=i[3*4+1],i[c+11]=i[3*4+2],c+=3*4,i[c]=i[3],i[c+1]=i[4],i[c+2]=i[5],i[c+3]=i[3*5],i[c+4]=i[3*5+1],i[c+5]=i[3*5+2],i[c+6]=i[3*6],i[c+7]=i[3*6+1],i[c+8]=i[3*6+2],i[c+9]=i[3*2],i[c+10]=i[3*2+1],i[c+11]=i[3*2+2],c+=3*4,i[c]=i[3*2],i[c+1]=i[3*2+1],i[c+2]=i[3*2+2],i[c+3]=i[3*6],i[c+4]=i[3*6+1],i[c+5]=i[3*6+2],i[c+6]=i[3*7],i[c+7]=i[3*7+1],i[c+8]=i[3*7+2],i[c+9]=i[3*3],i[c+10]=i[3*3+1],i[c+11]=i[3*3+2],d||(i=i.subarray(3*4));let _=new ae({position:new J({componentDatatype:H.DOUBLE,componentsPerAttribute:3,values:i})});if(a(s.normal)||a(s.tangent)||a(s.bitangent)||a(s.st)){let l=a(s.normal)?new Float32Array(12*y):void 0,o=a(s.tangent)?new Float32Array(3*4*y):void 0,h=a(s.bitangent)?new Float32Array(3*4*y):void 0,M=a(s.st)?new Float32Array(2*4*y):void 0,x=se,v=le,C=we,D=r.negate(x,ke),Y=r.negate(v,Se),K=r.negate(C,De);c=0,d&&(W(c,l,o,h,M,K,x,v),c+=3*4),W(c,l,o,h,M,C,D,v),c+=3*4,W(c,l,o,h,M,D,K,v),c+=3*4,W(c,l,o,h,M,Y,K,D),c+=3*4,W(c,l,o,h,M,x,C,v),c+=3*4,W(c,l,o,h,M,v,C,D),a(l)&&(_.normal=new J({componentDatatype:H.FLOAT,componentsPerAttribute:3,values:l})),a(o)&&(_.tangent=new J({componentDatatype:H.FLOAT,componentsPerAttribute:3,values:o})),a(h)&&(_.bitangent=new J({componentDatatype:H.FLOAT,componentsPerAttribute:3,values:h})),a(M)&&(_.st=new J({componentDatatype:H.FLOAT,componentsPerAttribute:2,values:M}))}let g=new Uint16Array(6*y);for(let l=0;l<y;++l){let o=l*6,h=l*4;g[o]=h,g[o+1]=h+1,g[o+2]=h+2,g[o+3]=h,g[o+4]=h+2,g[o+5]=h+3}return new re({attributes:_,indices:g,primitiveType:oe.TRIANGLES,boundingSphere:ie.fromVertices(i)})};var Vt=U;export{B as a,L as b,Vt as c}; +import{a as E}from"./chunk-RPAJTIFB.js";import{a as Q}from"./chunk-I66MFRXO.js";import{a as ae}from"./chunk-E2XIHPTZ.js";import{b as oe,c as re,d as J}from"./chunk-72NMS5KE.js";import{b as A,d as ie}from"./chunk-JLMPKQO4.js";import{a as b,b as F,f as N}from"./chunk-2K72IAMD.js";import{a as H}from"./chunk-GNTVNTUY.js";import{a as r,e as G}from"./chunk-HWH6BBH6.js";import{a as P}from"./chunk-DW4EQ6YI.js";import{a as m}from"./chunk-CJFJKB5V.js";import{a as w,b as O}from"./chunk-4BGNE6LH.js";import{e as a}from"./chunk-OX5CTLXY.js";function T(e){this.planes=m(e,[])}var X=[new r,new r,new r];r.clone(r.UNIT_X,X[0]);r.clone(r.UNIT_Y,X[1]);r.clone(r.UNIT_Z,X[2]);var V=new r,_e=new r,fe=new Q(new r(1,0,0),0);T.fromBoundingSphere=function(e,t){if(!a(e))throw new w("boundingSphere is required.");a(t)||(t=new T);let n=X.length,f=t.planes;f.length=2*n;let p=e.center,d=e.radius,s=0;for(let y=0;y<n;++y){let i=X[y],c=f[s],_=f[s+1];a(c)||(c=f[s]=new b),a(_)||(_=f[s+1]=new b),r.multiplyByScalar(i,-d,V),r.add(p,V,V),c.x=i.x,c.y=i.y,c.z=i.z,c.w=-r.dot(i,V),r.multiplyByScalar(i,d,V),r.add(p,V,V),_.x=-i.x,_.y=-i.y,_.z=-i.z,_.w=-r.dot(r.negate(i,_e),V),s+=2}return t};T.prototype.computeVisibility=function(e){if(!a(e))throw new w("boundingVolume is required.");let t=this.planes,n=!1;for(let f=0,p=t.length;f<p;++f){let d=e.intersectPlane(Q.fromCartesian4(t[f],fe));if(d===A.OUTSIDE)return A.OUTSIDE;d===A.INTERSECTING&&(n=!0)}return n?A.INTERSECTING:A.INSIDE};T.prototype.computeVisibilityWithPlaneMask=function(e,t){if(!a(e))throw new w("boundingVolume is required.");if(!a(t))throw new w("parentPlaneMask is required.");if(t===T.MASK_OUTSIDE||t===T.MASK_INSIDE)return t;let n=T.MASK_INSIDE,f=this.planes;for(let p=0,d=f.length;p<d;++p){let s=p<31?1<<p:0;if(p<31&&!(t&s))continue;let y=e.intersectPlane(Q.fromCartesian4(f[p],fe));if(y===A.OUTSIDE)return T.MASK_OUTSIDE;y===A.INTERSECTING&&(n|=s)}return n};T.MASK_OUTSIDE=4294967295;T.MASK_INSIDE=0;T.MASK_INDETERMINATE=2147483647;var $=T;function k(e){e=m(e,m.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far,this._cullingVolume=new $,this._orthographicMatrix=new F}function ce(e){if(!a(e.right)||!a(e.left)||!a(e.top)||!a(e.bottom)||!a(e.near)||!a(e.far))throw new w("right, left, top, bottom, near, or far parameters are not set.");if(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far){if(e.left>e.right)throw new w("right must be greater than left.");if(e.bottom>e.top)throw new w("top must be greater than bottom.");e.near<=0||e.near>e.far,e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=F.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix)}}Object.defineProperties(k.prototype,{projectionMatrix:{get:function(){return ce(this),this._orthographicMatrix}}});var me=new r,ye=new r,ge=new r,ee=new r;k.prototype.computeCullingVolume=function(e,t,n){if(!a(e))throw new w("position is required.");if(!a(t))throw new w("direction is required.");if(!a(n))throw new w("up is required.");let f=this._cullingVolume.planes,p=this.top,d=this.bottom,s=this.right,y=this.left,i=this.near,c=this.far,_=r.cross(t,n,me);r.normalize(_,_);let g=ye;r.multiplyByScalar(t,i,g),r.add(e,g,g);let l=ge;r.multiplyByScalar(_,y,l),r.add(g,l,l);let o=f[0];return a(o)||(o=f[0]=new b),o.x=_.x,o.y=_.y,o.z=_.z,o.w=-r.dot(_,l),r.multiplyByScalar(_,s,l),r.add(g,l,l),o=f[1],a(o)||(o=f[1]=new b),o.x=-_.x,o.y=-_.y,o.z=-_.z,o.w=-r.dot(r.negate(_,ee),l),r.multiplyByScalar(n,d,l),r.add(g,l,l),o=f[2],a(o)||(o=f[2]=new b),o.x=n.x,o.y=n.y,o.z=n.z,o.w=-r.dot(n,l),r.multiplyByScalar(n,p,l),r.add(g,l,l),o=f[3],a(o)||(o=f[3]=new b),o.x=-n.x,o.y=-n.y,o.z=-n.z,o.w=-r.dot(r.negate(n,ee),l),o=f[4],a(o)||(o=f[4]=new b),o.x=t.x,o.y=t.y,o.z=t.z,o.w=-r.dot(t,g),r.multiplyByScalar(t,c,l),r.add(e,l,l),o=f[5],a(o)||(o=f[5]=new b),o.x=-t.x,o.y=-t.y,o.z=-t.z,o.w=-r.dot(r.negate(t,ee),l),this._cullingVolume};k.prototype.getPixelDimensions=function(e,t,n,f,p){if(ce(this),!a(e)||!a(t))throw new w("Both drawingBufferWidth and drawingBufferHeight are required.");if(e<=0)throw new w("drawingBufferWidth must be greater than zero.");if(t<=0)throw new w("drawingBufferHeight must be greater than zero.");if(!a(n))throw new w("distance is required.");if(!a(f))throw new w("pixelRatio is required.");if(f<=0)throw new w("pixelRatio must be greater than zero.");if(!a(p))throw new w("A result object is required.");let d=this.right-this.left,s=this.top-this.bottom,y=f*d/e,i=f*s/t;return p.x=y,p.y=i,p};k.prototype.clone=function(e){return a(e)||(e=new k),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};k.prototype.equals=function(e){return a(e)&&e instanceof k&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};k.prototype.equalsEpsilon=function(e,t,n){return e===this||a(e)&&e instanceof k&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var he=k;function z(e){e=m(e,m.EMPTY_OBJECT),this._offCenterFrustum=new he,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far}z.packedLength=4;z.pack=function(e,t,n){return O.typeOf.object("value",e),O.defined("array",t),n=m(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};z.unpack=function(e,t,n){return O.defined("array",e),t=m(t,0),a(n)||(n=new z),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function j(e){if(!a(e.width)||!a(e.aspectRatio)||!a(e.near)||!a(e.far))throw new w("width, aspectRatio, near, or far parameters are not set.");let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){if(e.aspectRatio<0)throw new w("aspectRatio must be positive.");if(e.near<0||e.near>e.far)throw new w("near must be greater than zero and less than far.");e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(z.prototype,{projectionMatrix:{get:function(){return j(this),this._offCenterFrustum.projectionMatrix}},offCenterFrustum:{get:function(){return j(this),this._offCenterFrustum}}});z.prototype.computeCullingVolume=function(e,t,n){return j(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};z.prototype.getPixelDimensions=function(e,t,n,f,p){return j(this),this._offCenterFrustum.getPixelDimensions(e,t,n,f,p)};z.prototype.clone=function(e){return a(e)||(e=new z),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};z.prototype.equals=function(e){return!a(e)||!(e instanceof z)?!1:(j(this),j(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};z.prototype.equalsEpsilon=function(e,t,n){return!a(e)||!(e instanceof z)?!1:(j(this),j(e),P.equalsEpsilon(this.width,e.width,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var B=z;function S(e){e=m(e,m.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far,this._cullingVolume=new $,this._perspectiveMatrix=new F,this._infinitePerspective=new F}function te(e){if(!a(e.right)||!a(e.left)||!a(e.top)||!a(e.bottom)||!a(e.near)||!a(e.far))throw new w("right, left, top, bottom, near, or far parameters are not set.");let{top:t,bottom:n,right:f,left:p,near:d,far:s}=e;if(t!==e._top||n!==e._bottom||p!==e._left||f!==e._right||d!==e._near||s!==e._far){if(e.near<=0||e.near>e.far)throw new w("near must be greater than zero and less than far.");e._left=p,e._right=f,e._top=t,e._bottom=n,e._near=d,e._far=s,e._perspectiveMatrix=F.computePerspectiveOffCenter(p,f,n,t,d,s,e._perspectiveMatrix),e._infinitePerspective=F.computeInfinitePerspectiveOffCenter(p,f,n,t,d,e._infinitePerspective)}}Object.defineProperties(S.prototype,{projectionMatrix:{get:function(){return te(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return te(this),this._infinitePerspective}}});var Ce=new r,be=new r,Oe=new r,Pe=new r;S.prototype.computeCullingVolume=function(e,t,n){if(!a(e))throw new w("position is required.");if(!a(t))throw new w("direction is required.");if(!a(n))throw new w("up is required.");let f=this._cullingVolume.planes,p=this.top,d=this.bottom,s=this.right,y=this.left,i=this.near,c=this.far,_=r.cross(t,n,Ce),g=be;r.multiplyByScalar(t,i,g),r.add(e,g,g);let l=Oe;r.multiplyByScalar(t,c,l),r.add(e,l,l);let o=Pe;r.multiplyByScalar(_,y,o),r.add(g,o,o),r.subtract(o,e,o),r.normalize(o,o),r.cross(o,n,o),r.normalize(o,o);let h=f[0];return a(h)||(h=f[0]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),r.multiplyByScalar(_,s,o),r.add(g,o,o),r.subtract(o,e,o),r.cross(n,o,o),r.normalize(o,o),h=f[1],a(h)||(h=f[1]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),r.multiplyByScalar(n,d,o),r.add(g,o,o),r.subtract(o,e,o),r.cross(_,o,o),r.normalize(o,o),h=f[2],a(h)||(h=f[2]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),r.multiplyByScalar(n,p,o),r.add(g,o,o),r.subtract(o,e,o),r.cross(o,_,o),r.normalize(o,o),h=f[3],a(h)||(h=f[3]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,e),h=f[4],a(h)||(h=f[4]=new b),h.x=t.x,h.y=t.y,h.z=t.z,h.w=-r.dot(t,g),r.negate(t,o),h=f[5],a(h)||(h=f[5]=new b),h.x=o.x,h.y=o.y,h.z=o.z,h.w=-r.dot(o,l),this._cullingVolume};S.prototype.getPixelDimensions=function(e,t,n,f,p){if(te(this),!a(e)||!a(t))throw new w("Both drawingBufferWidth and drawingBufferHeight are required.");if(e<=0)throw new w("drawingBufferWidth must be greater than zero.");if(t<=0)throw new w("drawingBufferHeight must be greater than zero.");if(!a(n))throw new w("distance is required.");if(!a(f))throw new w("pixelRatio is required");if(f<=0)throw new w("pixelRatio must be greater than zero.");if(!a(p))throw new w("A result object is required.");let d=1/this.near,s=this.top*d,y=2*f*n*s/t;s=this.right*d;let i=2*f*n*s/e;return p.x=i,p.y=y,p};S.prototype.clone=function(e){return a(e)||(e=new S),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};S.prototype.equals=function(e){return a(e)&&e instanceof S&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};S.prototype.equalsEpsilon=function(e,t,n){return e===this||a(e)&&e instanceof S&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var pe=S;function R(e){e=m(e,m.EMPTY_OBJECT),this._offCenterFrustum=new pe,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=m(e.near,1),this._near=this.near,this.far=m(e.far,5e8),this._far=this.far,this.xOffset=m(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=m(e.yOffset,0),this._yOffset=this.yOffset}R.packedLength=6;R.pack=function(e,t,n){return O.typeOf.object("value",e),O.defined("array",t),n=m(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};R.unpack=function(e,t,n){return O.defined("array",e),t=m(t,0),a(n)||(n=new R),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function q(e){if(!a(e.fov)||!a(e.aspectRatio)||!a(e.near)||!a(e.far))throw new w("fov, aspectRatio, near, or far parameters are not set.");if(!(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset))return;if(O.typeOf.number.greaterThanOrEquals("fov",e.fov,0),O.typeOf.number.lessThan("fov",e.fov,Math.PI),O.typeOf.number.greaterThanOrEquals("aspectRatio",e.aspectRatio,0),O.typeOf.number.greaterThanOrEquals("near",e.near,0),e.near>e.far)throw new w("near must be less than far.");e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset;let n=e._offCenterFrustum;n.top=e.near*Math.tan(.5*e._fovy),n.bottom=-n.top,n.right=e.aspectRatio*n.top,n.left=-n.right,n.near=e.near,n.far=e.far,n.right+=e.xOffset,n.left+=e.xOffset,n.top+=e.yOffset,n.bottom+=e.yOffset}Object.defineProperties(R.prototype,{projectionMatrix:{get:function(){return q(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return q(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return q(this),this._fovy}},sseDenominator:{get:function(){return q(this),this._sseDenominator}},offCenterFrustum:{get:function(){return q(this),this._offCenterFrustum}}});R.prototype.computeCullingVolume=function(e,t,n){return q(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};R.prototype.getPixelDimensions=function(e,t,n,f,p){return q(this),this._offCenterFrustum.getPixelDimensions(e,t,n,f,p)};R.prototype.clone=function(e){return a(e)||(e=new R),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};R.prototype.equals=function(e){return!a(e)||!(e instanceof R)?!1:(q(this),q(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};R.prototype.equalsEpsilon=function(e,t,n){return!a(e)||!(e instanceof R)?!1:(q(this),q(e),P.equalsEpsilon(this.fov,e.fov,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var L=R;var I=0,Fe=1;function U(e){O.typeOf.object("options",e),O.typeOf.object("options.frustum",e.frustum),O.typeOf.object("options.origin",e.origin),O.typeOf.object("options.orientation",e.orientation);let t=e.frustum,n=e.orientation,f=e.origin,p=m(e.vertexFormat,E.DEFAULT),d=m(e._drawNearPlane,!0),s,y;t instanceof L?(s=I,y=L.packedLength):t instanceof B&&(s=Fe,y=B.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=r.clone(f),this._orientation=N.clone(n),this._drawNearPlane=d,this._vertexFormat=p,this._workerName="createFrustumGeometry",this.packedLength=2+y+r.packedLength+N.packedLength+E.packedLength}U.pack=function(e,t,n){O.typeOf.object("value",e),O.defined("array",t),n=m(n,0);let f=e._frustumType,p=e._frustum;return t[n++]=f,f===I?(L.pack(p,t,n),n+=L.packedLength):(B.pack(p,t,n),n+=B.packedLength),r.pack(e._origin,t,n),n+=r.packedLength,N.pack(e._orientation,t,n),n+=N.packedLength,E.pack(e._vertexFormat,t,n),n+=E.packedLength,t[n]=e._drawNearPlane?1:0,t};var xe=new L,ve=new B,ze=new N,Re=new r,Te=new E;U.unpack=function(e,t,n){O.defined("array",e),t=m(t,0);let f=e[t++],p;f===I?(p=L.unpack(e,t,xe),t+=L.packedLength):(p=B.unpack(e,t,ve),t+=B.packedLength);let d=r.unpack(e,t,Re);t+=r.packedLength;let s=N.unpack(e,t,ze);t+=N.packedLength;let y=E.unpack(e,t,Te);t+=E.packedLength;let i=e[t]===1;if(!a(n))return new U({frustum:p,origin:d,orientation:s,vertexFormat:y,_drawNearPlane:i});let c=f===n._frustumType?n._frustum:void 0;return n._frustum=p.clone(c),n._frustumType=f,n._origin=r.clone(d,n._origin),n._orientation=N.clone(s,n._orientation),n._vertexFormat=E.clone(y,n._vertexFormat),n._drawNearPlane=i,n};function W(e,t,n,f,p,d,s,y){let i=e/3*2;for(let c=0;c<4;++c)a(t)&&(t[e]=d.x,t[e+1]=d.y,t[e+2]=d.z),a(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),a(f)&&(f[e]=y.x,f[e+1]=y.y,f[e+2]=y.z),e+=3;p[i]=0,p[i+1]=0,p[i+2]=1,p[i+3]=0,p[i+4]=1,p[i+5]=1,p[i+6]=0,p[i+7]=1}var qe=new G,Me=new F,ne=new F,se=new r,le=new r,we=new r,ke=new r,Se=new r,De=new r,u=new Array(3),Z=new Array(4);Z[0]=new b(-1,-1,1,1);Z[1]=new b(1,-1,1,1);Z[2]=new b(1,1,1,1);Z[3]=new b(-1,1,1,1);var de=new Array(4);for(let e=0;e<4;++e)de[e]=new b;U._computeNearFarPlanes=function(e,t,n,f,p,d,s,y){let i=G.fromQuaternion(t,qe),c=m(d,se),_=m(s,le),g=m(y,we);c=G.getColumn(i,0,c),_=G.getColumn(i,1,_),g=G.getColumn(i,2,g),r.normalize(c,c),r.normalize(_,_),r.normalize(g,g),r.negate(c,c);let l=F.computeView(e,g,_,c,Me),o,h,M=f.projectionMatrix;if(n===I){let x=F.multiply(M,l,ne);h=F.inverse(x,ne)}else o=F.inverseTransformation(l,ne);a(h)?(u[0]=f.near,u[1]=f.far):(u[0]=0,u[1]=f.near,u[2]=f.far);for(let x=0;x<2;++x)for(let v=0;v<4;++v){let C=b.clone(Z[v],de[v]);if(a(h)){C=F.multiplyByVector(h,C,C);let D=1/C.w;r.multiplyByScalar(C,D,C),r.subtract(C,e,C),r.normalize(C,C);let Y=r.dot(g,C);r.multiplyByScalar(C,u[x]/Y,C),r.add(C,e,C)}else{let D=f.offCenterFrustum;a(D)&&(f=D);let Y=u[x],K=u[x+1];C.x=(C.x*(f.right-f.left)+f.left+f.right)*.5,C.y=(C.y*(f.top-f.bottom)+f.bottom+f.top)*.5,C.z=(C.z*(Y-K)-Y-K)*.5,C.w=1,F.multiplyByVector(o,C,C)}p[12*x+v*3]=C.x,p[12*x+v*3+1]=C.y,p[12*x+v*3+2]=C.z}};U.createGeometry=function(e){let t=e._frustumType,n=e._frustum,f=e._origin,p=e._orientation,d=e._drawNearPlane,s=e._vertexFormat,y=d?6:5,i=new Float64Array(3*4*6);U._computeNearFarPlanes(f,p,t,n,i);let c=3*4*2;i[c]=i[3*4],i[c+1]=i[3*4+1],i[c+2]=i[3*4+2],i[c+3]=i[0],i[c+4]=i[1],i[c+5]=i[2],i[c+6]=i[3*3],i[c+7]=i[3*3+1],i[c+8]=i[3*3+2],i[c+9]=i[3*7],i[c+10]=i[3*7+1],i[c+11]=i[3*7+2],c+=3*4,i[c]=i[3*5],i[c+1]=i[3*5+1],i[c+2]=i[3*5+2],i[c+3]=i[3],i[c+4]=i[4],i[c+5]=i[5],i[c+6]=i[0],i[c+7]=i[1],i[c+8]=i[2],i[c+9]=i[3*4],i[c+10]=i[3*4+1],i[c+11]=i[3*4+2],c+=3*4,i[c]=i[3],i[c+1]=i[4],i[c+2]=i[5],i[c+3]=i[3*5],i[c+4]=i[3*5+1],i[c+5]=i[3*5+2],i[c+6]=i[3*6],i[c+7]=i[3*6+1],i[c+8]=i[3*6+2],i[c+9]=i[3*2],i[c+10]=i[3*2+1],i[c+11]=i[3*2+2],c+=3*4,i[c]=i[3*2],i[c+1]=i[3*2+1],i[c+2]=i[3*2+2],i[c+3]=i[3*6],i[c+4]=i[3*6+1],i[c+5]=i[3*6+2],i[c+6]=i[3*7],i[c+7]=i[3*7+1],i[c+8]=i[3*7+2],i[c+9]=i[3*3],i[c+10]=i[3*3+1],i[c+11]=i[3*3+2],d||(i=i.subarray(3*4));let _=new ae({position:new J({componentDatatype:H.DOUBLE,componentsPerAttribute:3,values:i})});if(a(s.normal)||a(s.tangent)||a(s.bitangent)||a(s.st)){let l=a(s.normal)?new Float32Array(12*y):void 0,o=a(s.tangent)?new Float32Array(3*4*y):void 0,h=a(s.bitangent)?new Float32Array(3*4*y):void 0,M=a(s.st)?new Float32Array(2*4*y):void 0,x=se,v=le,C=we,D=r.negate(x,ke),Y=r.negate(v,Se),K=r.negate(C,De);c=0,d&&(W(c,l,o,h,M,K,x,v),c+=3*4),W(c,l,o,h,M,C,D,v),c+=3*4,W(c,l,o,h,M,D,K,v),c+=3*4,W(c,l,o,h,M,Y,K,D),c+=3*4,W(c,l,o,h,M,x,C,v),c+=3*4,W(c,l,o,h,M,v,C,D),a(l)&&(_.normal=new J({componentDatatype:H.FLOAT,componentsPerAttribute:3,values:l})),a(o)&&(_.tangent=new J({componentDatatype:H.FLOAT,componentsPerAttribute:3,values:o})),a(h)&&(_.bitangent=new J({componentDatatype:H.FLOAT,componentsPerAttribute:3,values:h})),a(M)&&(_.st=new J({componentDatatype:H.FLOAT,componentsPerAttribute:2,values:M}))}let g=new Uint16Array(6*y);for(let l=0;l<y;++l){let o=l*6,h=l*4;g[o]=h,g[o+1]=h+1,g[o+2]=h+2,g[o+3]=h,g[o+4]=h+2,g[o+5]=h+3}return new re({attributes:_,indices:g,primitiveType:oe.TRIANGLES,boundingSphere:ie.fromVertices(i)})};var Vt=U;export{B as a,L as b,Vt as c}; diff --git a/public/lib/Cesium/Workers/chunk-ZIUWYBT3.js b/public/lib/Cesium/Workers/chunk-M2TWLQFJ.js similarity index 83% rename from public/lib/Cesium/Workers/chunk-ZIUWYBT3.js rename to public/lib/Cesium/Workers/chunk-M2TWLQFJ.js index 90cea9163..63fa55ced 100644 --- a/public/lib/Cesium/Workers/chunk-ZIUWYBT3.js +++ b/public/lib/Cesium/Workers/chunk-M2TWLQFJ.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as C}from"./chunk-RAYRECQS.js";import{a as g}from"./chunk-6KLVDWWE.js";import{b as d}from"./chunk-6P5KAIBX.js";import{e as i}from"./chunk-4FSVUTPL.js";var u=C.EPSILON10;function x(e,r,h,l){if(d.defined("equalsEpsilon",r),!i(e))return;h=g(h,!1);let m=i(l),n=e.length;if(n<2)return e;let f,s=e[0],o,t,p=0,c=-1;for(f=1;f<n;++f)o=e[f],r(s,o,u)?(i(t)||(t=e.slice(0,f),p=f-1,c=0),m&&l.push(f)):(i(t)&&(t.push(o),p=f,m&&(c=l.length)),s=o);return h&&r(e[0],e[n-1],u)&&(m&&(i(t)?l.splice(c,0,p):l.push(n-1)),i(t)?t.length-=1:t=e.slice(0,-1)),i(t)?t:e}var a=x;export{a}; +import{a as C}from"./chunk-DW4EQ6YI.js";import{a as g}from"./chunk-CJFJKB5V.js";import{b as d}from"./chunk-4BGNE6LH.js";import{e as i}from"./chunk-OX5CTLXY.js";var u=C.EPSILON10;function x(e,r,h,l){if(d.defined("equalsEpsilon",r),!i(e))return;h=g(h,!1);let m=i(l),n=e.length;if(n<2)return e;let f,s=e[0],o,t,p=0,c=-1;for(f=1;f<n;++f)o=e[f],r(s,o,u)?(i(t)||(t=e.slice(0,f),p=f-1,c=0),m&&l.push(f)):(i(t)&&(t.push(o),p=f,m&&(c=l.length)),s=o);return h&&r(e[0],e[n-1],u)&&(m&&(i(t)?l.splice(c,0,p):l.push(n-1)),i(t)?t.length-=1:t=e.slice(0,-1)),i(t)?t:e}var a=x;export{a}; diff --git a/public/lib/Cesium/Workers/chunk-U3H5JVOB.js b/public/lib/Cesium/Workers/chunk-NIXFT7ZT.js similarity index 91% rename from public/lib/Cesium/Workers/chunk-U3H5JVOB.js rename to public/lib/Cesium/Workers/chunk-NIXFT7ZT.js index 29bff366f..8284c72e0 100644 --- a/public/lib/Cesium/Workers/chunk-U3H5JVOB.js +++ b/public/lib/Cesium/Workers/chunk-NIXFT7ZT.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as w}from"./chunk-RAYRECQS.js";var C={};C.computePositions=function(I,f,b,n,e){let m=I*.5,i=-m,s=n+n,P=e?2*s:s,t=new Float64Array(P*3),r,c=0,o=0,p=e?s*3:0,a=e?(s+n)*3:n*3;for(r=0;r<n;r++){let y=r/n*w.TWO_PI,x=Math.cos(y),h=Math.sin(y),u=x*b,M=h*b,O=x*f,d=h*f;t[o+p]=u,t[o+p+1]=M,t[o+p+2]=i,t[o+a]=O,t[o+a+1]=d,t[o+a+2]=m,o+=3,e&&(t[c++]=u,t[c++]=M,t[c++]=i,t[c++]=O,t[c++]=d,t[c++]=m)}return t};var Y=C;export{Y as a}; +import{a as w}from"./chunk-DW4EQ6YI.js";var C={};C.computePositions=function(I,f,b,n,e){let m=I*.5,i=-m,s=n+n,P=e?2*s:s,t=new Float64Array(P*3),r,c=0,o=0,p=e?s*3:0,a=e?(s+n)*3:n*3;for(r=0;r<n;r++){let y=r/n*w.TWO_PI,x=Math.cos(y),h=Math.sin(y),u=x*b,M=h*b,O=x*f,d=h*f;t[o+p]=u,t[o+p+1]=M,t[o+p+2]=i,t[o+a]=O,t[o+a+1]=d,t[o+a+2]=m,o+=3,e&&(t[c++]=u,t[c++]=M,t[c++]=i,t[c++]=O,t[c++]=d,t[c++]=m)}return t};var Y=C;export{Y as a}; diff --git a/public/lib/Cesium/Workers/chunk-OWPC6DLM.js b/public/lib/Cesium/Workers/chunk-OWPC6DLM.js new file mode 100644 index 000000000..6ba61858e --- /dev/null +++ b/public/lib/Cesium/Workers/chunk-OWPC6DLM.js @@ -0,0 +1,26 @@ +/** + * @license + * Cesium - https://github.com/CesiumGS/cesium + * Version 1.124 + * + * Copyright 2011-2022 Cesium Contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + * Columbus View (Pat. Pend.) + * + * Portions licensed separately. + * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. + */ + +import{a as _}from"./chunk-4ULMZV5R.js";import{a as te}from"./chunk-JHG5JGLM.js";import{a as fe,b as j,f as Z,g as me}from"./chunk-2K72IAMD.js";import{a as e,b as ie,c as ee,e as O}from"./chunk-HWH6BBH6.js";import{a as Q}from"./chunk-DW4EQ6YI.js";import{a as se}from"./chunk-CJFJKB5V.js";import{a as le}from"./chunk-4BGNE6LH.js";import{e as $}from"./chunk-OX5CTLXY.js";var Se={ROUNDED:0,MITERED:1,BEVELED:2},G=Object.freeze(Se);var ue={};function P(r,n){if(!$(r))throw new le("identifier is required.");$(ue[r])||(ue[r]=!0,console.warn(se(n,r)))}P.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";P.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";P.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";P.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var he=P;var w=[new e,new e],Te=new e,Be=new e,Ce=new e,ze=new e,Ae=new e,be=new e,Oe=new e,ve=new e,De=new e,I=new e,W=new e,R={},re=new ie;function je(r,n){let a=new Array(r.length);for(let o=0;o<r.length;o++){let t=r[o];re=n.cartesianToCartographic(t,re),a[o]=re.height,r[o]=n.scaleToGeodeticSurface(t,t)}return a}function ne(r,n,a,o){let t=r[0],c=r[1],f=e.angleBetween(t,c),l=Math.ceil(f/o),m=new Array(l),s;if(n===a){for(s=0;s<l;s++)m[s]=n;return m.push(a),m}let d=(a-n)/l;for(s=1;s<l;s++){let x=n+s*d;m[s]=x}return m[0]=n,m.push(a),m}var X=new e,Y=new e;function He(r,n,a,o){let t=new te(a,o),c=t.projectPointOntoPlane(e.add(a,r,X),X),f=t.projectPointOntoPlane(e.add(a,n,Y),Y),l=ee.angleBetween(c,f);return f.x*c.y-f.y*c.x>=0?-l:l}var Me=new e(-1,0,0),H=new j,Ve=new j,oe=new O,Ne=O.IDENTITY.clone(),Fe=new e,Ge=new fe,de=new e;function v(r,n,a,o,t,c,f,l){let m=Fe,s=Ge;H=me.eastNorthUpToFixedFrame(r,t,H),m=j.multiplyByPointAsVector(H,Me,m),m=e.normalize(m,m);let S=He(m,n,r,t);oe=O.fromRotationZ(S,oe),de.z=c,H=j.multiplyTransformation(H,j.fromRotationTranslation(oe,de,Ve),H);let d=Ne;d[0]=f;for(let x=0;x<l;x++)for(let i=0;i<a.length;i+=3)s=e.fromArray(a,i,s),s=O.multiplyByVector(d,s,s),s=j.multiplyByPoint(H,s,s),o.push(s.x,s.y,s.z);return o}var Ie=new e;function ce(r,n,a,o,t,c,f){for(let l=0;l<r.length;l+=3){let m=e.fromArray(r,l,Ie);o=v(m,n,a,o,t,c[l/3],f,1)}return o}function Le(r,n){let a=r.length,o=new Array(a*6),t=0,c=n.x+n.width/2,f=n.y+n.height/2,l=r[0];o[t++]=l.x-c,o[t++]=0,o[t++]=l.y-f;for(let m=1;m<a;m++){l=r[m];let s=l.x-c,S=l.y-f;o[t++]=s,o[t++]=0,o[t++]=S,o[t++]=s,o[t++]=0,o[t++]=S}return l=r[0],o[t++]=l.x-c,o[t++]=0,o[t++]=l.y-f,o}function ge(r,n){let a=r.length,o=new Array(a*3),t=0,c=n.x+n.width/2,f=n.y+n.height/2;for(let l=0;l<a;l++)o[t++]=r[l].x-c,o[t++]=0,o[t++]=r[l].y-f;return o}var ye=new Z,we=new e,pe=new O;function xe(r,n,a,o,t,c,f,l,m,s){let S=e.angleBetween(e.subtract(n,r,I),e.subtract(a,r,W)),d=o===G.BEVELED?0:Math.ceil(S/Q.toRadians(5)),x;t?x=O.fromQuaternion(Z.fromAxisAngle(e.negate(r,I),S/(d+1),ye),pe):x=O.fromQuaternion(Z.fromAxisAngle(r,S/(d+1),ye),pe);let i,g;if(n=e.clone(n,we),d>0){let D=s?2:1;for(let y=0;y<d;y++)n=O.multiplyByVector(x,n,n),i=e.subtract(n,r,I),i=e.normalize(i,i),t||(i=e.negate(i,i)),g=c.scaleToGeodeticSurface(n,W),f=v(g,i,l,f,c,m,1,D)}else i=e.subtract(n,r,I),i=e.normalize(i,i),t||(i=e.negate(i,i)),g=c.scaleToGeodeticSurface(n,W),f=v(g,i,l,f,c,m,1,1),a=e.clone(a,we),i=e.subtract(a,r,I),i=e.normalize(i,i),t||(i=e.negate(i,i)),g=c.scaleToGeodeticSurface(a,W),f=v(g,i,l,f,c,m,1,1);return f}R.removeDuplicatesFromShape=function(r){let n=r.length,a=[];for(let o=n-1,t=0;t<n;o=t++){let c=r[o],f=r[t];ee.equals(c,f)||a.push(f)}return a};R.angleIsGreaterThanPi=function(r,n,a,o){let t=new te(a,o),c=t.projectPointOntoPlane(e.add(a,r,X),X),f=t.projectPointOntoPlane(e.add(a,n,Y),Y);return f.x*c.y-f.y*c.x>=0};var qe=new e,Pe=new e;R.computePositions=function(r,n,a,o,t){let c=o._ellipsoid,f=je(r,c),l=o._granularity,m=o._cornerType,s=t?Le(n,a):ge(n,a),S=t?ge(n,a):void 0,d=a.height/2,x=a.width/2,i=r.length,g=[],D=t?[]:void 0,y=Te,b=Be,h=Ce,E=ze,B=Ae,C=be,z=Oe,u=ve,T=De,p=r[0],M=r[1];E=c.geodeticSurfaceNormal(p,E),y=e.subtract(M,p,y),y=e.normalize(y,y),u=e.cross(E,y,u),u=e.normalize(u,u);let V=f[0],A=f[1];t&&(D=v(p,u,S,D,c,V+d,1,1)),T=e.clone(p,T),p=M,b=e.negate(y,b);let N,F;for(let U=1;U<i-1;U++){let ae=t?2:1;if(M=r[U+1],p.equals(M)){he("Positions are too close and are considered equivalent with rounding error.");continue}y=e.subtract(M,p,y),y=e.normalize(y,y),E=c.geodeticSurfaceNormal(p,E);let L=e.multiplyByScalar(E,e.dot(y,E),qe);e.subtract(y,L,L),e.normalize(L,L);let q=e.multiplyByScalar(E,e.dot(b,E),Pe);if(e.subtract(b,q,q),e.normalize(q,q),!Q.equalsEpsilon(Math.abs(e.dot(L,q)),1,Q.EPSILON7)){h=e.add(y,b,h),h=e.normalize(h,h),h=e.cross(h,E,h),h=e.cross(E,h,h),h=e.normalize(h,h);let k=1/Math.max(.25,e.magnitude(e.cross(h,b,I))),K=R.angleIsGreaterThanPi(y,b,p,c);K?(B=e.add(p,e.multiplyByScalar(h,k*x,h),B),C=e.add(B,e.multiplyByScalar(u,x,C),C),w[0]=e.clone(T,w[0]),w[1]=e.clone(C,w[1]),N=ne(w,V+d,A+d,l),F=_.generateArc({positions:w,granularity:l,ellipsoid:c}),g=ce(F,u,s,g,c,N,1),u=e.cross(E,y,u),u=e.normalize(u,u),z=e.add(B,e.multiplyByScalar(u,x,z),z),m===G.ROUNDED||m===G.BEVELED?xe(B,C,z,m,K,c,g,s,A+d,t):(h=e.negate(h,h),g=v(p,h,s,g,c,A+d,k,ae)),T=e.clone(z,T)):(B=e.add(p,e.multiplyByScalar(h,k*x,h),B),C=e.add(B,e.multiplyByScalar(u,-x,C),C),w[0]=e.clone(T,w[0]),w[1]=e.clone(C,w[1]),N=ne(w,V+d,A+d,l),F=_.generateArc({positions:w,granularity:l,ellipsoid:c}),g=ce(F,u,s,g,c,N,1),u=e.cross(E,y,u),u=e.normalize(u,u),z=e.add(B,e.multiplyByScalar(u,-x,z),z),m===G.ROUNDED||m===G.BEVELED?xe(B,C,z,m,K,c,g,s,A+d,t):g=v(p,h,s,g,c,A+d,k,ae),T=e.clone(z,T)),b=e.negate(y,b)}else g=v(T,u,s,g,c,V+d,1,1),T=p;V=A,A=f[U+1],p=M}w[0]=e.clone(T,w[0]),w[1]=e.clone(p,w[1]),N=ne(w,V+d,A+d,l),F=_.generateArc({positions:w,granularity:l,ellipsoid:c}),g=ce(F,u,s,g,c,N,1),t&&(D=v(p,u,S,D,c,A+d,1,1)),i=g.length;let Ee=t?i+D.length:i,J=new Float64Array(Ee);return J.set(g),t&&J.set(D,i),J};var lt=R;export{G as a,he as b,lt as c}; diff --git a/public/lib/Cesium/Workers/chunk-4FSVUTPL.js b/public/lib/Cesium/Workers/chunk-OX5CTLXY.js similarity index 97% rename from public/lib/Cesium/Workers/chunk-4FSVUTPL.js rename to public/lib/Cesium/Workers/chunk-OX5CTLXY.js index fed0d944b..38f03b0a9 100644 --- a/public/lib/Cesium/Workers/chunk-4FSVUTPL.js +++ b/public/lib/Cesium/Workers/chunk-OX5CTLXY.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * diff --git a/public/lib/Cesium/Workers/chunk-A6IU7XS3.js b/public/lib/Cesium/Workers/chunk-QIZB5B47.js similarity index 93% rename from public/lib/Cesium/Workers/chunk-A6IU7XS3.js rename to public/lib/Cesium/Workers/chunk-QIZB5B47.js index 61489bbc0..14379b3a0 100644 --- a/public/lib/Cesium/Workers/chunk-A6IU7XS3.js +++ b/public/lib/Cesium/Workers/chunk-QIZB5B47.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as R}from"./chunk-6X7WLTTW.js";import{a as st}from"./chunk-PFE76RUV.js";import{a as Z,b as H}from"./chunk-542N7J5N.js";import{a as V}from"./chunk-ZIUWYBT3.js";import{a as U}from"./chunk-45FCQ3FJ.js";import{b as it}from"./chunk-P75RMBWR.js";import{a as ct}from"./chunk-UKRRGB4P.js";import{a as ot}from"./chunk-UGB43LJM.js";import{a as nt}from"./chunk-WFZLZ2P5.js";import{b as J,c as X,d as z}from"./chunk-CTEHZS7O.js";import{f as K}from"./chunk-GFUBU5RD.js";import{a as k}from"./chunk-27UWHT4D.js";import{a as w,b as q,c as M,d as et,e as F}from"./chunk-RFPX772U.js";import{a as I}from"./chunk-RAYRECQS.js";import{a as tt}from"./chunk-6KLVDWWE.js";import{e as x}from"./chunk-4FSVUTPL.js";function dt(n,i){this.positions=x(n)?n:[],this.holes=x(i)?i:[]}var rt=dt;function S(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(S.prototype,{length:{get:function(){return this._length}}});S.prototype.enqueue=function(n){this._array.push(n),this._length++};S.prototype.dequeue=function(){if(this._length===0)return;let n=this._array,i=this._offset,u=n[i];return n[i]=void 0,i++,i>10&&i*2>n.length&&(this._array=n.slice(i),i=0),this._offset=i,this._length--,u};S.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};S.prototype.contains=function(n){return this._array.indexOf(n)!==-1};S.prototype.clear=function(){this._array.length=this._offset=this._length=0};S.prototype.sort=function(n){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(n)};var $=S;var b={};b.computeHierarchyPackedLength=function(n,i){let u=0,c=[n];for(;c.length>0;){let r=c.pop();if(!x(r))continue;u+=2;let a=r.positions,t=r.holes;if(x(a)&&a.length>0&&(u+=a.length*i.packedLength),x(t)){let o=t.length;for(let e=0;e<o;++e)c.push(t[e])}}return u};b.packPolygonHierarchy=function(n,i,u,c){let r=[n];for(;r.length>0;){let a=r.pop();if(!x(a))continue;let t=a.positions,o=a.holes;if(i[u++]=x(t)?t.length:0,i[u++]=x(o)?o.length:0,x(t)){let e=t.length;for(let s=0;s<e;++s,u+=c.packedLength)c.pack(t[s],i,u)}if(x(o)){let e=o.length;for(let s=0;s<e;++s)r.push(o[s])}}return u};b.unpackPolygonHierarchy=function(n,i,u){let c=n[i++],r=n[i++],a=new Array(c),t=r>0?new Array(r):void 0;for(let o=0;o<c;++o,i+=u.packedLength)a[o]=u.unpack(n,i);for(let o=0;o<r;++o)t[o]=b.unpackPolygonHierarchy(n,i,u),i=t[o].startingIndex,delete t[o].startingIndex;return{positions:a,holes:t,startingIndex:i}};var O=new M;function ht(n,i,u,c){return M.subtract(i,n,O),M.multiplyByScalar(O,u/c,O),M.add(n,O,O),[O.x,O.y]}var G=new w;function gt(n,i,u,c){return w.subtract(i,n,G),w.multiplyByScalar(G,u/c,G),w.add(n,G,G),[G.x,G.y,G.z]}b.subdivideLineCount=function(n,i,u){let r=w.distance(n,i)/u,a=Math.max(0,Math.ceil(I.log2(r)));return Math.pow(2,a)};var j=new q,Q=new q,pt=new q,mt=new w,Y=new U;b.subdivideRhumbLineCount=function(n,i,u,c){let r=n.cartesianToCartographic(i,j),a=n.cartesianToCartographic(u,Q),o=new U(r,a,n).surfaceDistance/c,e=Math.max(0,Math.ceil(I.log2(o)));return Math.pow(2,e)};b.subdivideTexcoordLine=function(n,i,u,c,r,a){let t=b.subdivideLineCount(u,c,r),o=M.distance(n,i),e=o/t,s=a;s.length=t*2;let l=0;for(let h=0;h<t;h++){let f=ht(n,i,h*e,o);s[l++]=f[0],s[l++]=f[1]}return s};b.subdivideLine=function(n,i,u,c){let r=b.subdivideLineCount(n,i,u),a=w.distance(n,i),t=a/r;x(c)||(c=[]);let o=c;o.length=r*3;let e=0;for(let s=0;s<r;s++){let l=gt(n,i,s*t,a);o[e++]=l[0],o[e++]=l[1],o[e++]=l[2]}return o};b.subdivideTexcoordRhumbLine=function(n,i,u,c,r,a,t){let o=u.cartesianToCartographic(c,j),e=u.cartesianToCartographic(r,Q);Y.setEndPoints(o,e);let s=Y.surfaceDistance/a,l=Math.max(0,Math.ceil(I.log2(s))),h=Math.pow(2,l),f=M.distance(n,i),g=f/h,m=t;m.length=h*2;let p=0;for(let d=0;d<h;d++){let y=ht(n,i,d*g,f);m[p++]=y[0],m[p++]=y[1]}return m};b.subdivideRhumbLine=function(n,i,u,c,r){let a=n.cartesianToCartographic(i,j),t=n.cartesianToCartographic(u,Q),o=new U(a,t,n),e=o.surfaceDistance/c,s=Math.max(0,Math.ceil(I.log2(e))),l=Math.pow(2,s),h=o.surfaceDistance/l;x(r)||(r=[]);let f=r;f.length=l*3;let g=0;for(let m=0;m<l;m++){let p=o.interpolateUsingSurfaceDistance(m*h,pt),d=n.cartographicToCartesian(p,mt);f[g++]=d.x,f[g++]=d.y,f[g++]=d.z}return f};var yt=new w,xt=new w,wt=new w,bt=new w;b.scaleToGeodeticHeightExtruded=function(n,i,u,c,r){c=tt(c,et.default);let a=yt,t=xt,o=wt,e=bt;if(x(n)&&x(n.attributes)&&x(n.attributes.position)){let s=n.attributes.position.values,l=s.length/2;for(let h=0;h<l;h+=3)w.fromArray(s,h,o),c.geodeticSurfaceNormal(o,a),e=c.scaleToGeodeticSurface(o,e),t=w.multiplyByScalar(a,u,t),t=w.add(e,t,t),s[h+l]=t.x,s[h+1+l]=t.y,s[h+2+l]=t.z,r&&(e=w.clone(o,e)),t=w.multiplyByScalar(a,i,t),t=w.add(e,t,t),s[h]=t.x,s[h+1]=t.y,s[h+2]=t.z}return n};b.polygonOutlinesFromHierarchy=function(n,i,u){let c=[],r=new $;r.enqueue(n);let a,t,o;for(;r.length!==0;){let e=r.dequeue(),s=e.positions;if(i)for(o=s.length,a=0;a<o;a++)u.scaleToGeodeticSurface(s[a],s[a]);if(s=V(s,w.equalsEpsilon,!0),s.length<3)continue;let l=e.holes?e.holes.length:0;for(a=0;a<l;a++){let h=e.holes[a],f=h.positions;if(i)for(o=f.length,t=0;t<o;++t)u.scaleToGeodeticSurface(f[t],f[t]);if(f=V(f,w.equalsEpsilon,!0),f.length<3)continue;c.push(f);let g=0;for(x(h.holes)&&(g=h.holes.length),t=0;t<g;t++)r.enqueue(h.holes[t])}c.push(s)}return c};var Lt=new q;function Tt(n,i,u){let c=u.cartesianToCartographic(n,j),r=u.cartesianToCartographic(i,Q);if(Math.sign(c.latitude)===Math.sign(r.latitude))return;Y.setEndPoints(c,r);let a=Y.findIntersectionWithLatitude(0,Lt);if(!x(a))return;let t=Math.min(c.longitude,r.longitude),o=Math.max(c.longitude,r.longitude);if(Math.abs(o-t)>I.PI){let e=t;t=o,o=e}if(!(a.longitude<t||a.longitude>o))return u.cartographicToCartesian(a)}function Et(n,i,u,c){if(c===R.RHUMB)return Tt(n,i,u);let r=it.lineSegmentPlane(n,i,ct.ORIGIN_XY_PLANE);if(x(r))return u.scaleToGeodeticSurface(r,r)}var vt=new q;function Ct(n,i,u){let c=[],r,a,t,o,e,s=0;for(;s<n.length;){r=n[s],a=n[(s+1)%n.length],t=I.sign(r.z),o=I.sign(a.z);let l=h=>i.cartesianToCartographic(h,vt).longitude;if(t===0)c.push({position:s,type:t,visited:!1,next:o,theta:l(r)});else if(o!==0){if(e=Et(r,a,i,u),++s,!x(e))continue;n.splice(s,0,e),c.push({position:s,type:t,visited:!1,next:o,theta:l(e)})}++s}return c}function lt(n,i,u,c,r,a,t){let o=[],e=a,s=h=>f=>f.position===h,l=[];do{let h=u[e];o.push(h);let f=c.findIndex(s(e)),g=c[f];if(!x(g)){++e;continue}let{visited:m,type:p,next:d}=g;if(g.visited=!0,p===0){if(d===0){let C=c[f-(t?1:-1)];if(C?.position===e+1)C.visited=!0;else{++e;continue}}if(!m&&t&&d>0||a===e&&!t&&d<0){++e;continue}}if(!(t?p>=0:p<=0)){++e;continue}m||l.push(e);let L=f+(t?1:-1),_=c[L];if(!x(_)){++e;continue}e=_.position}while(e<u.length&&e>=0&&e!==a&&o.length<u.length);n.splice(i,r,o);for(let h of l)i=lt(n,++i,u,c,0,h,!t);return i}b.splitPolygonsOnEquator=function(n,i,u,c){x(c)||(c=[]),c.splice(0,0,...n),c.length=n.length;let r=0;for(;r<c.length;){let a=c[r],t=a.slice();if(a.length<3){c[r]=t,++r;continue}let o=Ct(t,i,u);if(t.length===a.length||o.length<=1){c[r]=t,++r;continue}o.sort((s,l)=>s.theta-l.theta);let e=t[0].z>=0;r=lt(c,r,t,o,1,0,e)}return c};b.polygonsFromHierarchy=function(n,i,u,c,r,a){let t=[],o=[],e=new $;e.enqueue(n);let s=x(a);for(;e.length!==0;){let l=e.dequeue(),h=l.positions,f=l.holes,g,m;if(c)for(m=h.length,g=0;g<m;g++)r.scaleToGeodeticSurface(h[g],h[g]);if(i||(h=V(h,w.equalsEpsilon,!0)),h.length<3)continue;let p=u(h);if(!x(p))continue;let d=[],y=H.computeWindingOrder2D(p);if(y===Z.CLOCKWISE&&(p.reverse(),h=h.slice().reverse()),s){s=!1;let P=[h];if(P=a(P,P),P.length>1){for(let v of P)e.enqueue(new rt(v,f));continue}}let L=h.slice(),_=x(f)?f.length:0,C=[],T;for(g=0;g<_;g++){let P=f[g],v=P.positions;if(c)for(m=v.length,T=0;T<m;++T)r.scaleToGeodeticSurface(v[T],v[T]);if(i||(v=V(v,w.equalsEpsilon,!0)),v.length<3)continue;let E=u(v);if(!x(E))continue;y=H.computeWindingOrder2D(E),y===Z.CLOCKWISE&&(E.reverse(),v=v.slice().reverse()),C.push(v),d.push(L.length),L=L.concat(v),p=p.concat(E);let D=0;for(x(P.holes)&&(D=P.holes.length),T=0;T<D;T++)e.enqueue(P.holes[T])}t.push({outerRing:h,holes:C}),o.push({positions:L,positions2D:p,holes:d})}return{hierarchy:t,polygons:o}};var Pt=new M,Dt=new w,It=new K,_t=new F;b.computeBoundingRectangle=function(n,i,u,c,r){let a=K.fromAxisAngle(n,c,It),t=F.fromQuaternion(a,_t),o=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,h=u.length;for(let f=0;f<h;++f){let g=w.clone(u[f],Dt);F.multiplyByVector(t,g,g);let m=i(g,Pt);x(m)&&(o=Math.min(o,m.x),e=Math.max(e,m.x),s=Math.min(s,m.y),l=Math.max(l,m.y))}return r.x=o,r.y=s,r.width=e-o,r.height=l-s,r};b.createGeometryFromPositions=function(n,i,u,c,r,a,t){let o=H.triangulate(i.positions2D,i.holes);o.length<3&&(o=[0,1,2]);let e=i.positions,s=x(u),l=s?u.positions:void 0;if(r){let h=e.length,f=new Array(h*3),g=0;for(let d=0;d<h;d++){let y=e[d];f[g++]=y.x,f[g++]=y.y,f[g++]=y.z}let m={attributes:{position:new z({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:f})},indices:o,primitiveType:J.TRIANGLES};s&&(m.attributes.st=new z({componentDatatype:k.FLOAT,componentsPerAttribute:2,values:M.packArray(l)}));let p=new X(m);return a.normal?st.computeNormal(p):p}if(t===R.GEODESIC)return H.computeSubdivision(n,e,o,l,c);if(t===R.RHUMB)return H.computeRhumbLineSubdivision(n,e,o,l,c)};var ut=[],at=[],At=new w,Mt=new w;b.computeWallGeometry=function(n,i,u,c,r,a){let t,o,e,s,l,h,f,g,m,p=n.length,d=0,y=0,L=x(i),_=L?i.positions:void 0;if(r)for(o=p*3*2,t=new Array(o*2),L&&(m=p*2*2,g=new Array(m*2)),e=0;e<p;e++)s=n[e],l=n[(e+1)%p],t[d]=t[d+o]=s.x,++d,t[d]=t[d+o]=s.y,++d,t[d]=t[d+o]=s.z,++d,t[d]=t[d+o]=l.x,++d,t[d]=t[d+o]=l.y,++d,t[d]=t[d+o]=l.z,++d,L&&(h=_[e],f=_[(e+1)%p],g[y]=g[y+m]=h.x,++y,g[y]=g[y+m]=h.y,++y,g[y]=g[y+m]=f.x,++y,g[y]=g[y+m]=f.y,++y);else{let E=I.chordLength(c,u.maximumRadius),D=0;if(a===R.GEODESIC)for(e=0;e<p;e++)D+=b.subdivideLineCount(n[e],n[(e+1)%p],E);else if(a===R.RHUMB)for(e=0;e<p;e++)D+=b.subdivideRhumbLineCount(u,n[e],n[(e+1)%p],E);for(o=(D+p)*3,t=new Array(o*2),L&&(m=(D+p)*2,g=new Array(m*2)),e=0;e<p;e++){s=n[e],l=n[(e+1)%p];let A,N;L&&(h=_[e],f=_[(e+1)%p]),a===R.GEODESIC?(A=b.subdivideLine(s,l,E,at),L&&(N=b.subdivideTexcoordLine(h,f,s,l,E,ut))):a===R.RHUMB&&(A=b.subdivideRhumbLine(u,s,l,E,at),L&&(N=b.subdivideTexcoordRhumbLine(h,f,u,s,l,E,ut)));let ft=A.length;for(let B=0;B<ft;++B,++d)t[d]=A[B],t[d+o]=A[B];if(t[d]=l.x,t[d+o]=l.x,++d,t[d]=l.y,t[d+o]=l.y,++d,t[d]=l.z,t[d+o]=l.z,++d,L){let B=N.length;for(let W=0;W<B;++W,++y)g[y]=N[W],g[y+m]=N[W];g[y]=f.x,g[y+m]=f.x,++y,g[y]=f.y,g[y+m]=f.y,++y}}}p=t.length;let C=ot.createTypedArray(p/3,p-n.length*6),T=0;for(p/=6,e=0;e<p;e++){let E=e,D=E+1,A=E+p,N=A+1;s=w.fromArray(t,E*3,At),l=w.fromArray(t,D*3,Mt),!w.equalsEpsilon(s,l,I.EPSILON10,I.EPSILON10)&&(C[T++]=E,C[T++]=A,C[T++]=D,C[T++]=D,C[T++]=A,C[T++]=N)}let P={attributes:new nt({position:new z({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:t})}),indices:C,primitiveType:J.TRIANGLES};return L&&(P.attributes.st=new z({componentDatatype:k.FLOAT,componentsPerAttribute:2,values:g})),new X(P)};var se=b;export{se as a}; +import{a as R}from"./chunk-BRDKDER4.js";import{a as st}from"./chunk-EXYLABM3.js";import{a as Z,b as H}from"./chunk-S4WTTFQO.js";import{a as V}from"./chunk-M2TWLQFJ.js";import{a as U}from"./chunk-44LKXGXW.js";import{b as it}from"./chunk-GCVZZUCS.js";import{a as ct}from"./chunk-I66MFRXO.js";import{a as ot}from"./chunk-A3VS2OZ2.js";import{a as nt}from"./chunk-E2XIHPTZ.js";import{b as J,c as X,d as z}from"./chunk-72NMS5KE.js";import{f as K}from"./chunk-2K72IAMD.js";import{a as k}from"./chunk-GNTVNTUY.js";import{a as w,b as q,c as M,d as et,e as F}from"./chunk-HWH6BBH6.js";import{a as I}from"./chunk-DW4EQ6YI.js";import{a as tt}from"./chunk-CJFJKB5V.js";import{e as x}from"./chunk-OX5CTLXY.js";function dt(n,i){this.positions=x(n)?n:[],this.holes=x(i)?i:[]}var rt=dt;function S(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(S.prototype,{length:{get:function(){return this._length}}});S.prototype.enqueue=function(n){this._array.push(n),this._length++};S.prototype.dequeue=function(){if(this._length===0)return;let n=this._array,i=this._offset,u=n[i];return n[i]=void 0,i++,i>10&&i*2>n.length&&(this._array=n.slice(i),i=0),this._offset=i,this._length--,u};S.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};S.prototype.contains=function(n){return this._array.indexOf(n)!==-1};S.prototype.clear=function(){this._array.length=this._offset=this._length=0};S.prototype.sort=function(n){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(n)};var $=S;var b={};b.computeHierarchyPackedLength=function(n,i){let u=0,c=[n];for(;c.length>0;){let r=c.pop();if(!x(r))continue;u+=2;let a=r.positions,t=r.holes;if(x(a)&&a.length>0&&(u+=a.length*i.packedLength),x(t)){let o=t.length;for(let e=0;e<o;++e)c.push(t[e])}}return u};b.packPolygonHierarchy=function(n,i,u,c){let r=[n];for(;r.length>0;){let a=r.pop();if(!x(a))continue;let t=a.positions,o=a.holes;if(i[u++]=x(t)?t.length:0,i[u++]=x(o)?o.length:0,x(t)){let e=t.length;for(let s=0;s<e;++s,u+=c.packedLength)c.pack(t[s],i,u)}if(x(o)){let e=o.length;for(let s=0;s<e;++s)r.push(o[s])}}return u};b.unpackPolygonHierarchy=function(n,i,u){let c=n[i++],r=n[i++],a=new Array(c),t=r>0?new Array(r):void 0;for(let o=0;o<c;++o,i+=u.packedLength)a[o]=u.unpack(n,i);for(let o=0;o<r;++o)t[o]=b.unpackPolygonHierarchy(n,i,u),i=t[o].startingIndex,delete t[o].startingIndex;return{positions:a,holes:t,startingIndex:i}};var O=new M;function ht(n,i,u,c){return M.subtract(i,n,O),M.multiplyByScalar(O,u/c,O),M.add(n,O,O),[O.x,O.y]}var G=new w;function gt(n,i,u,c){return w.subtract(i,n,G),w.multiplyByScalar(G,u/c,G),w.add(n,G,G),[G.x,G.y,G.z]}b.subdivideLineCount=function(n,i,u){let r=w.distance(n,i)/u,a=Math.max(0,Math.ceil(I.log2(r)));return Math.pow(2,a)};var j=new q,Q=new q,pt=new q,mt=new w,Y=new U;b.subdivideRhumbLineCount=function(n,i,u,c){let r=n.cartesianToCartographic(i,j),a=n.cartesianToCartographic(u,Q),o=new U(r,a,n).surfaceDistance/c,e=Math.max(0,Math.ceil(I.log2(o)));return Math.pow(2,e)};b.subdivideTexcoordLine=function(n,i,u,c,r,a){let t=b.subdivideLineCount(u,c,r),o=M.distance(n,i),e=o/t,s=a;s.length=t*2;let l=0;for(let h=0;h<t;h++){let f=ht(n,i,h*e,o);s[l++]=f[0],s[l++]=f[1]}return s};b.subdivideLine=function(n,i,u,c){let r=b.subdivideLineCount(n,i,u),a=w.distance(n,i),t=a/r;x(c)||(c=[]);let o=c;o.length=r*3;let e=0;for(let s=0;s<r;s++){let l=gt(n,i,s*t,a);o[e++]=l[0],o[e++]=l[1],o[e++]=l[2]}return o};b.subdivideTexcoordRhumbLine=function(n,i,u,c,r,a,t){let o=u.cartesianToCartographic(c,j),e=u.cartesianToCartographic(r,Q);Y.setEndPoints(o,e);let s=Y.surfaceDistance/a,l=Math.max(0,Math.ceil(I.log2(s))),h=Math.pow(2,l),f=M.distance(n,i),g=f/h,m=t;m.length=h*2;let p=0;for(let d=0;d<h;d++){let y=ht(n,i,d*g,f);m[p++]=y[0],m[p++]=y[1]}return m};b.subdivideRhumbLine=function(n,i,u,c,r){let a=n.cartesianToCartographic(i,j),t=n.cartesianToCartographic(u,Q),o=new U(a,t,n),e=o.surfaceDistance/c,s=Math.max(0,Math.ceil(I.log2(e))),l=Math.pow(2,s),h=o.surfaceDistance/l;x(r)||(r=[]);let f=r;f.length=l*3;let g=0;for(let m=0;m<l;m++){let p=o.interpolateUsingSurfaceDistance(m*h,pt),d=n.cartographicToCartesian(p,mt);f[g++]=d.x,f[g++]=d.y,f[g++]=d.z}return f};var yt=new w,xt=new w,wt=new w,bt=new w;b.scaleToGeodeticHeightExtruded=function(n,i,u,c,r){c=tt(c,et.default);let a=yt,t=xt,o=wt,e=bt;if(x(n)&&x(n.attributes)&&x(n.attributes.position)){let s=n.attributes.position.values,l=s.length/2;for(let h=0;h<l;h+=3)w.fromArray(s,h,o),c.geodeticSurfaceNormal(o,a),e=c.scaleToGeodeticSurface(o,e),t=w.multiplyByScalar(a,u,t),t=w.add(e,t,t),s[h+l]=t.x,s[h+1+l]=t.y,s[h+2+l]=t.z,r&&(e=w.clone(o,e)),t=w.multiplyByScalar(a,i,t),t=w.add(e,t,t),s[h]=t.x,s[h+1]=t.y,s[h+2]=t.z}return n};b.polygonOutlinesFromHierarchy=function(n,i,u){let c=[],r=new $;r.enqueue(n);let a,t,o;for(;r.length!==0;){let e=r.dequeue(),s=e.positions;if(i)for(o=s.length,a=0;a<o;a++)u.scaleToGeodeticSurface(s[a],s[a]);if(s=V(s,w.equalsEpsilon,!0),s.length<3)continue;let l=e.holes?e.holes.length:0;for(a=0;a<l;a++){let h=e.holes[a],f=h.positions;if(i)for(o=f.length,t=0;t<o;++t)u.scaleToGeodeticSurface(f[t],f[t]);if(f=V(f,w.equalsEpsilon,!0),f.length<3)continue;c.push(f);let g=0;for(x(h.holes)&&(g=h.holes.length),t=0;t<g;t++)r.enqueue(h.holes[t])}c.push(s)}return c};var Lt=new q;function Tt(n,i,u){let c=u.cartesianToCartographic(n,j),r=u.cartesianToCartographic(i,Q);if(Math.sign(c.latitude)===Math.sign(r.latitude))return;Y.setEndPoints(c,r);let a=Y.findIntersectionWithLatitude(0,Lt);if(!x(a))return;let t=Math.min(c.longitude,r.longitude),o=Math.max(c.longitude,r.longitude);if(Math.abs(o-t)>I.PI){let e=t;t=o,o=e}if(!(a.longitude<t||a.longitude>o))return u.cartographicToCartesian(a)}function Et(n,i,u,c){if(c===R.RHUMB)return Tt(n,i,u);let r=it.lineSegmentPlane(n,i,ct.ORIGIN_XY_PLANE);if(x(r))return u.scaleToGeodeticSurface(r,r)}var vt=new q;function Ct(n,i,u){let c=[],r,a,t,o,e,s=0;for(;s<n.length;){r=n[s],a=n[(s+1)%n.length],t=I.sign(r.z),o=I.sign(a.z);let l=h=>i.cartesianToCartographic(h,vt).longitude;if(t===0)c.push({position:s,type:t,visited:!1,next:o,theta:l(r)});else if(o!==0){if(e=Et(r,a,i,u),++s,!x(e))continue;n.splice(s,0,e),c.push({position:s,type:t,visited:!1,next:o,theta:l(e)})}++s}return c}function lt(n,i,u,c,r,a,t){let o=[],e=a,s=h=>f=>f.position===h,l=[];do{let h=u[e];o.push(h);let f=c.findIndex(s(e)),g=c[f];if(!x(g)){++e;continue}let{visited:m,type:p,next:d}=g;if(g.visited=!0,p===0){if(d===0){let C=c[f-(t?1:-1)];if(C?.position===e+1)C.visited=!0;else{++e;continue}}if(!m&&t&&d>0||a===e&&!t&&d<0){++e;continue}}if(!(t?p>=0:p<=0)){++e;continue}m||l.push(e);let L=f+(t?1:-1),_=c[L];if(!x(_)){++e;continue}e=_.position}while(e<u.length&&e>=0&&e!==a&&o.length<u.length);n.splice(i,r,o);for(let h of l)i=lt(n,++i,u,c,0,h,!t);return i}b.splitPolygonsOnEquator=function(n,i,u,c){x(c)||(c=[]),c.splice(0,0,...n),c.length=n.length;let r=0;for(;r<c.length;){let a=c[r],t=a.slice();if(a.length<3){c[r]=t,++r;continue}let o=Ct(t,i,u);if(t.length===a.length||o.length<=1){c[r]=t,++r;continue}o.sort((s,l)=>s.theta-l.theta);let e=t[0].z>=0;r=lt(c,r,t,o,1,0,e)}return c};b.polygonsFromHierarchy=function(n,i,u,c,r,a){let t=[],o=[],e=new $;e.enqueue(n);let s=x(a);for(;e.length!==0;){let l=e.dequeue(),h=l.positions,f=l.holes,g,m;if(c)for(m=h.length,g=0;g<m;g++)r.scaleToGeodeticSurface(h[g],h[g]);if(i||(h=V(h,w.equalsEpsilon,!0)),h.length<3)continue;let p=u(h);if(!x(p))continue;let d=[],y=H.computeWindingOrder2D(p);if(y===Z.CLOCKWISE&&(p.reverse(),h=h.slice().reverse()),s){s=!1;let P=[h];if(P=a(P,P),P.length>1){for(let v of P)e.enqueue(new rt(v,f));continue}}let L=h.slice(),_=x(f)?f.length:0,C=[],T;for(g=0;g<_;g++){let P=f[g],v=P.positions;if(c)for(m=v.length,T=0;T<m;++T)r.scaleToGeodeticSurface(v[T],v[T]);if(i||(v=V(v,w.equalsEpsilon,!0)),v.length<3)continue;let E=u(v);if(!x(E))continue;y=H.computeWindingOrder2D(E),y===Z.CLOCKWISE&&(E.reverse(),v=v.slice().reverse()),C.push(v),d.push(L.length),L=L.concat(v),p=p.concat(E);let D=0;for(x(P.holes)&&(D=P.holes.length),T=0;T<D;T++)e.enqueue(P.holes[T])}t.push({outerRing:h,holes:C}),o.push({positions:L,positions2D:p,holes:d})}return{hierarchy:t,polygons:o}};var Pt=new M,Dt=new w,It=new K,_t=new F;b.computeBoundingRectangle=function(n,i,u,c,r){let a=K.fromAxisAngle(n,c,It),t=F.fromQuaternion(a,_t),o=Number.POSITIVE_INFINITY,e=Number.NEGATIVE_INFINITY,s=Number.POSITIVE_INFINITY,l=Number.NEGATIVE_INFINITY,h=u.length;for(let f=0;f<h;++f){let g=w.clone(u[f],Dt);F.multiplyByVector(t,g,g);let m=i(g,Pt);x(m)&&(o=Math.min(o,m.x),e=Math.max(e,m.x),s=Math.min(s,m.y),l=Math.max(l,m.y))}return r.x=o,r.y=s,r.width=e-o,r.height=l-s,r};b.createGeometryFromPositions=function(n,i,u,c,r,a,t){let o=H.triangulate(i.positions2D,i.holes);o.length<3&&(o=[0,1,2]);let e=i.positions,s=x(u),l=s?u.positions:void 0;if(r){let h=e.length,f=new Array(h*3),g=0;for(let d=0;d<h;d++){let y=e[d];f[g++]=y.x,f[g++]=y.y,f[g++]=y.z}let m={attributes:{position:new z({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:f})},indices:o,primitiveType:J.TRIANGLES};s&&(m.attributes.st=new z({componentDatatype:k.FLOAT,componentsPerAttribute:2,values:M.packArray(l)}));let p=new X(m);return a.normal?st.computeNormal(p):p}if(t===R.GEODESIC)return H.computeSubdivision(n,e,o,l,c);if(t===R.RHUMB)return H.computeRhumbLineSubdivision(n,e,o,l,c)};var ut=[],at=[],At=new w,Mt=new w;b.computeWallGeometry=function(n,i,u,c,r,a){let t,o,e,s,l,h,f,g,m,p=n.length,d=0,y=0,L=x(i),_=L?i.positions:void 0;if(r)for(o=p*3*2,t=new Array(o*2),L&&(m=p*2*2,g=new Array(m*2)),e=0;e<p;e++)s=n[e],l=n[(e+1)%p],t[d]=t[d+o]=s.x,++d,t[d]=t[d+o]=s.y,++d,t[d]=t[d+o]=s.z,++d,t[d]=t[d+o]=l.x,++d,t[d]=t[d+o]=l.y,++d,t[d]=t[d+o]=l.z,++d,L&&(h=_[e],f=_[(e+1)%p],g[y]=g[y+m]=h.x,++y,g[y]=g[y+m]=h.y,++y,g[y]=g[y+m]=f.x,++y,g[y]=g[y+m]=f.y,++y);else{let E=I.chordLength(c,u.maximumRadius),D=0;if(a===R.GEODESIC)for(e=0;e<p;e++)D+=b.subdivideLineCount(n[e],n[(e+1)%p],E);else if(a===R.RHUMB)for(e=0;e<p;e++)D+=b.subdivideRhumbLineCount(u,n[e],n[(e+1)%p],E);for(o=(D+p)*3,t=new Array(o*2),L&&(m=(D+p)*2,g=new Array(m*2)),e=0;e<p;e++){s=n[e],l=n[(e+1)%p];let A,N;L&&(h=_[e],f=_[(e+1)%p]),a===R.GEODESIC?(A=b.subdivideLine(s,l,E,at),L&&(N=b.subdivideTexcoordLine(h,f,s,l,E,ut))):a===R.RHUMB&&(A=b.subdivideRhumbLine(u,s,l,E,at),L&&(N=b.subdivideTexcoordRhumbLine(h,f,u,s,l,E,ut)));let ft=A.length;for(let B=0;B<ft;++B,++d)t[d]=A[B],t[d+o]=A[B];if(t[d]=l.x,t[d+o]=l.x,++d,t[d]=l.y,t[d+o]=l.y,++d,t[d]=l.z,t[d+o]=l.z,++d,L){let B=N.length;for(let W=0;W<B;++W,++y)g[y]=N[W],g[y+m]=N[W];g[y]=f.x,g[y+m]=f.x,++y,g[y]=f.y,g[y+m]=f.y,++y}}}p=t.length;let C=ot.createTypedArray(p/3,p-n.length*6),T=0;for(p/=6,e=0;e<p;e++){let E=e,D=E+1,A=E+p,N=A+1;s=w.fromArray(t,E*3,At),l=w.fromArray(t,D*3,Mt),!w.equalsEpsilon(s,l,I.EPSILON10,I.EPSILON10)&&(C[T++]=E,C[T++]=A,C[T++]=D,C[T++]=D,C[T++]=A,C[T++]=N)}let P={attributes:new nt({position:new z({componentDatatype:k.DOUBLE,componentsPerAttribute:3,values:t})}),indices:C,primitiveType:J.TRIANGLES};return L&&(P.attributes.st=new z({componentDatatype:k.FLOAT,componentsPerAttribute:2,values:g})),new X(P)};var se=b;export{se as a}; diff --git a/public/lib/Cesium/Workers/chunk-DELT5W27.js b/public/lib/Cesium/Workers/chunk-QT33UL57.js similarity index 94% rename from public/lib/Cesium/Workers/chunk-DELT5W27.js rename to public/lib/Cesium/Workers/chunk-QT33UL57.js index 700571895..b140a7c85 100644 --- a/public/lib/Cesium/Workers/chunk-DELT5W27.js +++ b/public/lib/Cesium/Workers/chunk-QT33UL57.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as $}from"./chunk-ZPNGL6DU.js";import{a as b}from"./chunk-PFE76RUV.js";import{a as U}from"./chunk-UGB43LJM.js";import{a as E}from"./chunk-WFZLZ2P5.js";import{c as z,d as L}from"./chunk-CTEHZS7O.js";import{a as D,d as y}from"./chunk-4TXI27XR.js";import{b as G}from"./chunk-GFUBU5RD.js";import{a as k}from"./chunk-27UWHT4D.js";import{d as B}from"./chunk-RFPX772U.js";import{a as v}from"./chunk-6KLVDWWE.js";import{a as F,b as I}from"./chunk-6P5KAIBX.js";import{e as a}from"./chunk-4FSVUTPL.js";function w(e,n,t){e=v(e,0),n=v(n,0),t=v(t,0),this.value=new Float32Array([e,n,t])}Object.defineProperties(w.prototype,{componentDatatype:{get:function(){return k.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});w.fromCartesian3=function(e){return I.defined("offset",e),new w(e.x,e.y,e.z)};w.toValue=function(e,n){return I.defined("offset",e),a(n)||(n=new Float32Array([e.x,e.y,e.z])),n[0]=e.x,n[1]=e.y,n[2]=e.z,n};var j=w;function K(e,n,t){let i=!t,r=e.length,c;if(!i&&r>1){let o=e[0].modelMatrix;for(c=1;c<r;++c)if(!G.equals(o,e[c].modelMatrix)){i=!0;break}}if(i)for(c=0;c<r;++c)a(e[c].geometry)&&b.transformToWorldCoordinates(e[c]);else G.multiplyTransformation(n,e[0].modelMatrix,n)}function P(e,n){let t=e.attributes,i=t.position,r=i.values.length/i.componentsPerAttribute;t.batchId=new L({componentDatatype:k.FLOAT,componentsPerAttribute:1,values:new Float32Array(r)});let c=t.batchId.values;for(let o=0;o<r;++o)c[o]=n}function N(e){let n=e.length;for(let t=0;t<n;++t){let i=e[t];a(i.geometry)?P(i.geometry,t):a(i.westHemisphereGeometry)&&a(i.eastHemisphereGeometry)&&(P(i.westHemisphereGeometry,t),P(i.eastHemisphereGeometry,t))}}function Q(e){let n=e.instances,t=e.projection,i=e.elementIndexUintSupported,r=e.scene3DOnly,c=e.vertexCacheOptimize,o=e.compressVertices,g=e.modelMatrix,s,u,m,p=n.length;for(s=0;s<p;++s)if(a(n[s].geometry)){m=n[s].geometry.primitiveType;break}for(s=1;s<p;++s)if(a(n[s].geometry)&&n[s].geometry.primitiveType!==m)throw new F("All instance geometries must have the same primitiveType.");if(K(n,g,r),!r)for(s=0;s<p;++s)a(n[s].geometry)&&b.splitLongitude(n[s]);if(N(n),c)for(s=0;s<p;++s){let f=n[s];a(f.geometry)?(b.reorderForPostVertexCache(f.geometry),b.reorderForPreVertexCache(f.geometry)):a(f.westHemisphereGeometry)&&a(f.eastHemisphereGeometry)&&(b.reorderForPostVertexCache(f.westHemisphereGeometry),b.reorderForPreVertexCache(f.westHemisphereGeometry),b.reorderForPostVertexCache(f.eastHemisphereGeometry),b.reorderForPreVertexCache(f.eastHemisphereGeometry))}let l=b.combineInstances(n);for(p=l.length,s=0;s<p;++s){u=l[s];let f=u.attributes;if(r)for(let d in f)f.hasOwnProperty(d)&&f[d].componentDatatype===k.DOUBLE&&b.encodeAttribute(u,d,`${d}3DHigh`,`${d}3DLow`);else for(let d in f)if(f.hasOwnProperty(d)&&f[d].componentDatatype===k.DOUBLE){let h=`${d}3D`,x=`${d}2D`;b.projectTo2D(u,d,h,x,t),a(u.boundingSphere)&&d==="position"&&(u.boundingSphereCV=y.fromVertices(u.attributes.position2D.values)),b.encodeAttribute(u,h,`${h}High`,`${h}Low`),b.encodeAttribute(u,x,`${x}High`,`${x}Low`)}o&&b.compressVertices(u)}if(!i){let f=[];for(p=l.length,s=0;s<p;++s)u=l[s],f=f.concat(b.fitToUnsignedShortIndices(u));l=f}return l}function T(e,n,t,i){let r,c,o,g=i.length-1;if(g>=0){let u=i[g];r=u.offset+u.count,o=u.index,c=t[o].indices.length}else r=0,o=0,c=t[o].indices.length;let s=e.length;for(let u=0;u<s;++u){let p=e[u][n];if(!a(p))continue;let l=p.indices.length;r+l>c&&(r=0,c=t[++o].indices.length),i.push({index:o,offset:r,count:l}),r+=l}}function X(e,n){let t=[];return T(e,"geometry",n,t),T(e,"westHemisphereGeometry",n,t),T(e,"eastHemisphereGeometry",n,t),t}var S={};S.combineGeometry=function(e){let n,t,i=e.instances,r=i.length,c,o,g=!1;r>0&&(n=Q(e),n.length>0&&(t=b.createAttributeLocations(n[0]),e.createPickOffsets&&(c=X(i,n))),a(i[0].attributes)&&a(i[0].attributes.offset)&&(o=new Array(r),g=!0));let s=new Array(r),u=new Array(r);for(let m=0;m<r;++m){let p=i[m],l=p.geometry;a(l)&&(s[m]=l.boundingSphere,u[m]=l.boundingSphereCV,g&&(o[m]=p.geometry.offsetAttribute));let f=p.eastHemisphereGeometry,d=p.westHemisphereGeometry;a(f)&&a(d)&&(a(f.boundingSphere)&&a(d.boundingSphere)&&(s[m]=y.union(f.boundingSphere,d.boundingSphere)),a(f.boundingSphereCV)&&a(d.boundingSphereCV)&&(u[m]=y.union(f.boundingSphereCV,d.boundingSphereCV)))}return{geometries:n,modelMatrix:e.modelMatrix,attributeLocations:t,pickOffsets:c,offsetInstanceExtend:o,boundingSpheres:s,boundingSpheresCV:u}};function Y(e,n){let t=e.attributes;for(let i in t)if(t.hasOwnProperty(i)){let r=t[i];a(r)&&a(r.values)&&n.push(r.values.buffer)}a(e.indices)&&n.push(e.indices.buffer)}function Z(e,n){let t=e.length;for(let i=0;i<t;++i)Y(e[i],n)}function _(e){let n=1,t=e.length;for(let i=0;i<t;i++){let r=e[i];if(++n,!a(r))continue;let c=r.attributes;n+=7+2*y.packedLength+(a(r.indices)?r.indices.length:0);for(let o in c)if(c.hasOwnProperty(o)&&a(c[o])){let g=c[o];n+=5+g.values.length}}return n}S.packCreateGeometryResults=function(e,n){let t=new Float64Array(_(e)),i=[],r={},c=e.length,o=0;t[o++]=c;for(let g=0;g<c;g++){let s=e[g],u=a(s);if(t[o++]=u?1:0,!u)continue;t[o++]=s.primitiveType,t[o++]=s.geometryType,t[o++]=v(s.offsetAttribute,-1);let m=a(s.boundingSphere)?1:0;t[o++]=m,m&&y.pack(s.boundingSphere,t,o),o+=y.packedLength;let p=a(s.boundingSphereCV)?1:0;t[o++]=p,p&&y.pack(s.boundingSphereCV,t,o),o+=y.packedLength;let l=s.attributes,f=[];for(let h in l)l.hasOwnProperty(h)&&a(l[h])&&(f.push(h),a(r[h])||(r[h]=i.length,i.push(h)));t[o++]=f.length;for(let h=0;h<f.length;h++){let x=f[h],C=l[x];t[o++]=r[x],t[o++]=C.componentDatatype,t[o++]=C.componentsPerAttribute,t[o++]=C.normalize?1:0,t[o++]=C.values.length,t.set(C.values,o),o+=C.values.length}let d=a(s.indices)?s.indices.length:0;t[o++]=d,d>0&&(t.set(s.indices,o),o+=d)}return n.push(t.buffer),{stringTable:i,packedData:t}};S.unpackCreateGeometryResults=function(e){let n=e.stringTable,t=e.packedData,i,r=new Array(t[0]),c=0,o=1;for(;o<t.length;){if(!(t[o++]===1)){r[c++]=void 0;continue}let s=t[o++],u=t[o++],m=t[o++];m===-1&&(m=void 0);let p,l;t[o++]===1&&(p=y.unpack(t,o)),o+=y.packedLength,t[o++]===1&&(l=y.unpack(t,o)),o+=y.packedLength;let h,x,C,H=new E,q=t[o++];for(i=0;i<q;i++){let A=n[t[o++]],M=t[o++];C=t[o++];let J=t[o++]!==0;h=t[o++],x=k.createTypedArray(M,h);for(let O=0;O<h;O++)x[O]=t[o++];H[A]=new L({componentDatatype:M,componentsPerAttribute:C,normalize:J,values:x})}let V;if(h=t[o++],h>0){let A=x.length/C;for(V=U.createTypedArray(A,h),i=0;i<h;i++)V[i]=t[o++]}r[c++]=new z({primitiveType:s,geometryType:u,boundingSphere:p,boundingSphereCV:l,indices:V,attributes:H,offsetAttribute:m})}return r};function ee(e,n){let t=e.length,i=new Float64Array(1+t*19),r=0;i[r++]=t;for(let c=0;c<t;c++){let o=e[c];if(G.pack(o.modelMatrix,i,r),r+=G.packedLength,a(o.attributes)&&a(o.attributes.offset)){let g=o.attributes.offset.value;i[r]=g[0],i[r+1]=g[1],i[r+2]=g[2]}r+=3}return n.push(i.buffer),i}function te(e){let n=e,t=new Array(n[0]),i=0,r=1;for(;r<n.length;){let c=G.unpack(n,r),o;r+=G.packedLength,a(n[r])&&(o={offset:new j(n[r],n[r+1],n[r+2])}),r+=3,t[i++]={modelMatrix:c,attributes:o}}return t}S.packCombineGeometryParameters=function(e,n){let t=e.createGeometryResults,i=t.length;for(let r=0;r<i;r++)n.push(t[r].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:ee(e.instances,n),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof D,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};S.unpackCombineGeometryParameters=function(e){let n=te(e.packedInstances),t=e.createGeometryResults,i=t.length,r=0;for(let g=0;g<i;g++){let s=S.unpackCreateGeometryResults(t[g]),u=s.length;for(let m=0;m<u;m++){let p=s[m],l=n[r];l.geometry=p,++r}}let c=B.clone(e.ellipsoid),o=e.isGeographic?new D(c):new $(c);return{instances:n,ellipsoid:c,projection:o,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:G.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function R(e){let n=e.length,t=1+(y.packedLength+1)*n,i=new Float32Array(t),r=0;i[r++]=n;for(let c=0;c<n;++c){let o=e[c];a(o)?(i[r++]=1,y.pack(e[c],i,r)):i[r++]=0,r+=y.packedLength}return i}function W(e){let n=new Array(e[0]),t=0,i=1;for(;i<e.length;)e[i++]===1&&(n[t]=y.unpack(e,i)),++t,i+=y.packedLength;return n}S.packCombineGeometryResults=function(e,n){a(e.geometries)&&Z(e.geometries,n);let t=R(e.boundingSpheres),i=R(e.boundingSpheresCV);return n.push(t.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:t,boundingSpheresCV:i}};S.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:W(e.boundingSpheres),boundingSpheresCV:W(e.boundingSpheresCV)}};var Ge=S;export{Ge as a}; +import{a as $}from"./chunk-6IQVYEBD.js";import{a as b}from"./chunk-EXYLABM3.js";import{a as U}from"./chunk-A3VS2OZ2.js";import{a as E}from"./chunk-E2XIHPTZ.js";import{c as z,d as L}from"./chunk-72NMS5KE.js";import{a as D,d as y}from"./chunk-JLMPKQO4.js";import{b as G}from"./chunk-2K72IAMD.js";import{a as k}from"./chunk-GNTVNTUY.js";import{d as B}from"./chunk-HWH6BBH6.js";import{a as v}from"./chunk-CJFJKB5V.js";import{a as F,b as I}from"./chunk-4BGNE6LH.js";import{e as a}from"./chunk-OX5CTLXY.js";function w(e,n,t){e=v(e,0),n=v(n,0),t=v(t,0),this.value=new Float32Array([e,n,t])}Object.defineProperties(w.prototype,{componentDatatype:{get:function(){return k.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});w.fromCartesian3=function(e){return I.defined("offset",e),new w(e.x,e.y,e.z)};w.toValue=function(e,n){return I.defined("offset",e),a(n)||(n=new Float32Array([e.x,e.y,e.z])),n[0]=e.x,n[1]=e.y,n[2]=e.z,n};var j=w;function K(e,n,t){let i=!t,r=e.length,c;if(!i&&r>1){let o=e[0].modelMatrix;for(c=1;c<r;++c)if(!G.equals(o,e[c].modelMatrix)){i=!0;break}}if(i)for(c=0;c<r;++c)a(e[c].geometry)&&b.transformToWorldCoordinates(e[c]);else G.multiplyTransformation(n,e[0].modelMatrix,n)}function P(e,n){let t=e.attributes,i=t.position,r=i.values.length/i.componentsPerAttribute;t.batchId=new L({componentDatatype:k.FLOAT,componentsPerAttribute:1,values:new Float32Array(r)});let c=t.batchId.values;for(let o=0;o<r;++o)c[o]=n}function N(e){let n=e.length;for(let t=0;t<n;++t){let i=e[t];a(i.geometry)?P(i.geometry,t):a(i.westHemisphereGeometry)&&a(i.eastHemisphereGeometry)&&(P(i.westHemisphereGeometry,t),P(i.eastHemisphereGeometry,t))}}function Q(e){let n=e.instances,t=e.projection,i=e.elementIndexUintSupported,r=e.scene3DOnly,c=e.vertexCacheOptimize,o=e.compressVertices,g=e.modelMatrix,s,u,m,p=n.length;for(s=0;s<p;++s)if(a(n[s].geometry)){m=n[s].geometry.primitiveType;break}for(s=1;s<p;++s)if(a(n[s].geometry)&&n[s].geometry.primitiveType!==m)throw new F("All instance geometries must have the same primitiveType.");if(K(n,g,r),!r)for(s=0;s<p;++s)a(n[s].geometry)&&b.splitLongitude(n[s]);if(N(n),c)for(s=0;s<p;++s){let f=n[s];a(f.geometry)?(b.reorderForPostVertexCache(f.geometry),b.reorderForPreVertexCache(f.geometry)):a(f.westHemisphereGeometry)&&a(f.eastHemisphereGeometry)&&(b.reorderForPostVertexCache(f.westHemisphereGeometry),b.reorderForPreVertexCache(f.westHemisphereGeometry),b.reorderForPostVertexCache(f.eastHemisphereGeometry),b.reorderForPreVertexCache(f.eastHemisphereGeometry))}let l=b.combineInstances(n);for(p=l.length,s=0;s<p;++s){u=l[s];let f=u.attributes;if(r)for(let d in f)f.hasOwnProperty(d)&&f[d].componentDatatype===k.DOUBLE&&b.encodeAttribute(u,d,`${d}3DHigh`,`${d}3DLow`);else for(let d in f)if(f.hasOwnProperty(d)&&f[d].componentDatatype===k.DOUBLE){let h=`${d}3D`,x=`${d}2D`;b.projectTo2D(u,d,h,x,t),a(u.boundingSphere)&&d==="position"&&(u.boundingSphereCV=y.fromVertices(u.attributes.position2D.values)),b.encodeAttribute(u,h,`${h}High`,`${h}Low`),b.encodeAttribute(u,x,`${x}High`,`${x}Low`)}o&&b.compressVertices(u)}if(!i){let f=[];for(p=l.length,s=0;s<p;++s)u=l[s],f=f.concat(b.fitToUnsignedShortIndices(u));l=f}return l}function T(e,n,t,i){let r,c,o,g=i.length-1;if(g>=0){let u=i[g];r=u.offset+u.count,o=u.index,c=t[o].indices.length}else r=0,o=0,c=t[o].indices.length;let s=e.length;for(let u=0;u<s;++u){let p=e[u][n];if(!a(p))continue;let l=p.indices.length;r+l>c&&(r=0,c=t[++o].indices.length),i.push({index:o,offset:r,count:l}),r+=l}}function X(e,n){let t=[];return T(e,"geometry",n,t),T(e,"westHemisphereGeometry",n,t),T(e,"eastHemisphereGeometry",n,t),t}var S={};S.combineGeometry=function(e){let n,t,i=e.instances,r=i.length,c,o,g=!1;r>0&&(n=Q(e),n.length>0&&(t=b.createAttributeLocations(n[0]),e.createPickOffsets&&(c=X(i,n))),a(i[0].attributes)&&a(i[0].attributes.offset)&&(o=new Array(r),g=!0));let s=new Array(r),u=new Array(r);for(let m=0;m<r;++m){let p=i[m],l=p.geometry;a(l)&&(s[m]=l.boundingSphere,u[m]=l.boundingSphereCV,g&&(o[m]=p.geometry.offsetAttribute));let f=p.eastHemisphereGeometry,d=p.westHemisphereGeometry;a(f)&&a(d)&&(a(f.boundingSphere)&&a(d.boundingSphere)&&(s[m]=y.union(f.boundingSphere,d.boundingSphere)),a(f.boundingSphereCV)&&a(d.boundingSphereCV)&&(u[m]=y.union(f.boundingSphereCV,d.boundingSphereCV)))}return{geometries:n,modelMatrix:e.modelMatrix,attributeLocations:t,pickOffsets:c,offsetInstanceExtend:o,boundingSpheres:s,boundingSpheresCV:u}};function Y(e,n){let t=e.attributes;for(let i in t)if(t.hasOwnProperty(i)){let r=t[i];a(r)&&a(r.values)&&n.push(r.values.buffer)}a(e.indices)&&n.push(e.indices.buffer)}function Z(e,n){let t=e.length;for(let i=0;i<t;++i)Y(e[i],n)}function _(e){let n=1,t=e.length;for(let i=0;i<t;i++){let r=e[i];if(++n,!a(r))continue;let c=r.attributes;n+=7+2*y.packedLength+(a(r.indices)?r.indices.length:0);for(let o in c)if(c.hasOwnProperty(o)&&a(c[o])){let g=c[o];n+=5+g.values.length}}return n}S.packCreateGeometryResults=function(e,n){let t=new Float64Array(_(e)),i=[],r={},c=e.length,o=0;t[o++]=c;for(let g=0;g<c;g++){let s=e[g],u=a(s);if(t[o++]=u?1:0,!u)continue;t[o++]=s.primitiveType,t[o++]=s.geometryType,t[o++]=v(s.offsetAttribute,-1);let m=a(s.boundingSphere)?1:0;t[o++]=m,m&&y.pack(s.boundingSphere,t,o),o+=y.packedLength;let p=a(s.boundingSphereCV)?1:0;t[o++]=p,p&&y.pack(s.boundingSphereCV,t,o),o+=y.packedLength;let l=s.attributes,f=[];for(let h in l)l.hasOwnProperty(h)&&a(l[h])&&(f.push(h),a(r[h])||(r[h]=i.length,i.push(h)));t[o++]=f.length;for(let h=0;h<f.length;h++){let x=f[h],C=l[x];t[o++]=r[x],t[o++]=C.componentDatatype,t[o++]=C.componentsPerAttribute,t[o++]=C.normalize?1:0,t[o++]=C.values.length,t.set(C.values,o),o+=C.values.length}let d=a(s.indices)?s.indices.length:0;t[o++]=d,d>0&&(t.set(s.indices,o),o+=d)}return n.push(t.buffer),{stringTable:i,packedData:t}};S.unpackCreateGeometryResults=function(e){let n=e.stringTable,t=e.packedData,i,r=new Array(t[0]),c=0,o=1;for(;o<t.length;){if(!(t[o++]===1)){r[c++]=void 0;continue}let s=t[o++],u=t[o++],m=t[o++];m===-1&&(m=void 0);let p,l;t[o++]===1&&(p=y.unpack(t,o)),o+=y.packedLength,t[o++]===1&&(l=y.unpack(t,o)),o+=y.packedLength;let h,x,C,H=new E,q=t[o++];for(i=0;i<q;i++){let A=n[t[o++]],M=t[o++];C=t[o++];let J=t[o++]!==0;h=t[o++],x=k.createTypedArray(M,h);for(let O=0;O<h;O++)x[O]=t[o++];H[A]=new L({componentDatatype:M,componentsPerAttribute:C,normalize:J,values:x})}let V;if(h=t[o++],h>0){let A=x.length/C;for(V=U.createTypedArray(A,h),i=0;i<h;i++)V[i]=t[o++]}r[c++]=new z({primitiveType:s,geometryType:u,boundingSphere:p,boundingSphereCV:l,indices:V,attributes:H,offsetAttribute:m})}return r};function ee(e,n){let t=e.length,i=new Float64Array(1+t*19),r=0;i[r++]=t;for(let c=0;c<t;c++){let o=e[c];if(G.pack(o.modelMatrix,i,r),r+=G.packedLength,a(o.attributes)&&a(o.attributes.offset)){let g=o.attributes.offset.value;i[r]=g[0],i[r+1]=g[1],i[r+2]=g[2]}r+=3}return n.push(i.buffer),i}function te(e){let n=e,t=new Array(n[0]),i=0,r=1;for(;r<n.length;){let c=G.unpack(n,r),o;r+=G.packedLength,a(n[r])&&(o={offset:new j(n[r],n[r+1],n[r+2])}),r+=3,t[i++]={modelMatrix:c,attributes:o}}return t}S.packCombineGeometryParameters=function(e,n){let t=e.createGeometryResults,i=t.length;for(let r=0;r<i;r++)n.push(t[r].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:ee(e.instances,n),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof D,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};S.unpackCombineGeometryParameters=function(e){let n=te(e.packedInstances),t=e.createGeometryResults,i=t.length,r=0;for(let g=0;g<i;g++){let s=S.unpackCreateGeometryResults(t[g]),u=s.length;for(let m=0;m<u;m++){let p=s[m],l=n[r];l.geometry=p,++r}}let c=B.clone(e.ellipsoid),o=e.isGeographic?new D(c):new $(c);return{instances:n,ellipsoid:c,projection:o,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:G.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function R(e){let n=e.length,t=1+(y.packedLength+1)*n,i=new Float32Array(t),r=0;i[r++]=n;for(let c=0;c<n;++c){let o=e[c];a(o)?(i[r++]=1,y.pack(e[c],i,r)):i[r++]=0,r+=y.packedLength}return i}function W(e){let n=new Array(e[0]),t=0,i=1;for(;i<e.length;)e[i++]===1&&(n[t]=y.unpack(e,i)),++t,i+=y.packedLength;return n}S.packCombineGeometryResults=function(e,n){a(e.geometries)&&Z(e.geometries,n);let t=R(e.boundingSpheres),i=R(e.boundingSpheresCV);return n.push(t.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:t,boundingSpheresCV:i}};S.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:W(e.boundingSpheres),boundingSpheresCV:W(e.boundingSpheresCV)}};var Ge=S;export{Ge as a}; diff --git a/public/lib/Cesium/Workers/chunk-6YAFAZVV.js b/public/lib/Cesium/Workers/chunk-RPAJTIFB.js similarity index 92% rename from public/lib/Cesium/Workers/chunk-6YAFAZVV.js rename to public/lib/Cesium/Workers/chunk-RPAJTIFB.js index 608ae5440..8d36ee1f7 100644 --- a/public/lib/Cesium/Workers/chunk-6YAFAZVV.js +++ b/public/lib/Cesium/Workers/chunk-RPAJTIFB.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as t}from"./chunk-6KLVDWWE.js";import{a as O}from"./chunk-6P5KAIBX.js";import{e as f}from"./chunk-4FSVUTPL.js";function n(e){e=t(e,t.EMPTY_OBJECT),this.position=t(e.position,!1),this.normal=t(e.normal,!1),this.st=t(e.st,!1),this.bitangent=t(e.bitangent,!1),this.tangent=t(e.tangent,!1),this.color=t(e.color,!1)}n.POSITION_ONLY=Object.freeze(new n({position:!0}));n.POSITION_AND_NORMAL=Object.freeze(new n({position:!0,normal:!0}));n.POSITION_NORMAL_AND_ST=Object.freeze(new n({position:!0,normal:!0,st:!0}));n.POSITION_AND_ST=Object.freeze(new n({position:!0,st:!0}));n.POSITION_AND_COLOR=Object.freeze(new n({position:!0,color:!0}));n.ALL=Object.freeze(new n({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));n.DEFAULT=n.POSITION_NORMAL_AND_ST;n.packedLength=6;n.pack=function(e,o,i){if(!f(e))throw new O("value is required");if(!f(o))throw new O("array is required");return i=t(i,0),o[i++]=e.position?1:0,o[i++]=e.normal?1:0,o[i++]=e.st?1:0,o[i++]=e.tangent?1:0,o[i++]=e.bitangent?1:0,o[i]=e.color?1:0,o};n.unpack=function(e,o,i){if(!f(e))throw new O("array is required");return o=t(o,0),f(i)||(i=new n),i.position=e[o++]===1,i.normal=e[o++]===1,i.st=e[o++]===1,i.tangent=e[o++]===1,i.bitangent=e[o++]===1,i.color=e[o]===1,i};n.clone=function(e,o){if(f(e))return f(o)||(o=new n),o.position=e.position,o.normal=e.normal,o.st=e.st,o.tangent=e.tangent,o.bitangent=e.bitangent,o.color=e.color,o};var _=n;export{_ as a}; +import{a as t}from"./chunk-CJFJKB5V.js";import{a as O}from"./chunk-4BGNE6LH.js";import{e as f}from"./chunk-OX5CTLXY.js";function n(e){e=t(e,t.EMPTY_OBJECT),this.position=t(e.position,!1),this.normal=t(e.normal,!1),this.st=t(e.st,!1),this.bitangent=t(e.bitangent,!1),this.tangent=t(e.tangent,!1),this.color=t(e.color,!1)}n.POSITION_ONLY=Object.freeze(new n({position:!0}));n.POSITION_AND_NORMAL=Object.freeze(new n({position:!0,normal:!0}));n.POSITION_NORMAL_AND_ST=Object.freeze(new n({position:!0,normal:!0,st:!0}));n.POSITION_AND_ST=Object.freeze(new n({position:!0,st:!0}));n.POSITION_AND_COLOR=Object.freeze(new n({position:!0,color:!0}));n.ALL=Object.freeze(new n({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));n.DEFAULT=n.POSITION_NORMAL_AND_ST;n.packedLength=6;n.pack=function(e,o,i){if(!f(e))throw new O("value is required");if(!f(o))throw new O("array is required");return i=t(i,0),o[i++]=e.position?1:0,o[i++]=e.normal?1:0,o[i++]=e.st?1:0,o[i++]=e.tangent?1:0,o[i++]=e.bitangent?1:0,o[i]=e.color?1:0,o};n.unpack=function(e,o,i){if(!f(e))throw new O("array is required");return o=t(o,0),f(i)||(i=new n),i.position=e[o++]===1,i.normal=e[o++]===1,i.st=e[o++]===1,i.tangent=e[o++]===1,i.bitangent=e[o++]===1,i.color=e[o]===1,i};n.clone=function(e,o){if(f(e))return f(o)||(o=new n),o.position=e.position,o.normal=e.normal,o.st=e.st,o.tangent=e.tangent,o.bitangent=e.bitangent,o.color=e.color,o};var _=n;export{_ as a}; diff --git a/public/lib/Cesium/Workers/chunk-542N7J5N.js b/public/lib/Cesium/Workers/chunk-S4WTTFQO.js similarity index 96% rename from public/lib/Cesium/Workers/chunk-542N7J5N.js rename to public/lib/Cesium/Workers/chunk-S4WTTFQO.js index 04ada757a..a14701036 100644 --- a/public/lib/Cesium/Workers/chunk-542N7J5N.js +++ b/public/lib/Cesium/Workers/chunk-S4WTTFQO.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as st}from"./chunk-45FCQ3FJ.js";import{b as at,c as ht,d as nt}from"./chunk-CTEHZS7O.js";import{a as et}from"./chunk-27UWHT4D.js";import{a as h,b as tt,c as v,d as vt}from"./chunk-RFPX772U.js";import{a as Y}from"./chunk-RAYRECQS.js";import{a as xt}from"./chunk-2NAI7YQ3.js";import{a as K}from"./chunk-6KLVDWWE.js";import{b as C}from"./chunk-6P5KAIBX.js";import{e as D}from"./chunk-4FSVUTPL.js";var ct={CLOCKWISE:xt.CW,COUNTER_CLOCKWISE:xt.CCW};ct.validate=function(t){return t===ct.CLOCKWISE||t===ct.COUNTER_CLOCKWISE};var pt=Object.freeze(ct);function dt(t,n,e=2){let c=n&&n.length,r=c?n[0]*e:t.length,o=bt(t,0,r,e,!0),i=[];if(!o||o.next===o.prev)return i;let s,f,u;if(c&&(o=It(t,n,o,e)),t.length>80*e){s=1/0,f=1/0;let a=-1/0,y=-1/0;for(let d=e;d<r;d+=e){let S=t[d],p=t[d+1];S<s&&(s=S),p<f&&(f=p),S>a&&(a=S),p>y&&(y=p)}u=Math.max(a-s,y-f),u=u!==0?32767/u:0}return rt(o,i,e,s,f,u,0),i}function bt(t,n,e,c,r){let o;if(r===jt(t,n,e,c)>0)for(let i=n;i<e;i+=c)o=wt(i/c|0,t[i],t[i+1],o);else for(let i=e-c;i>=n;i-=c)o=wt(i/c|0,t[i],t[i+1],o);return o&&ft(o,o.next)&&(ot(o),o=o.next),o}function N(t,n){if(!t)return t;n||(n=t);let e=t,c;do if(c=!1,!e.steiner&&(ft(e,e.next)||b(e.prev,e,e.next)===0)){if(ot(e),e=n=e.prev,e===e.next)break;c=!0}else e=e.next;while(c||e!==n);return n}function rt(t,n,e,c,r,o,i){if(!t)return;!i&&o&&Nt(t,c,r,o);let s=t;for(;t.prev!==t.next;){let f=t.prev,u=t.next;if(o?Rt(t,c,r,o):Pt(t)){n.push(f.i,t.i,u.i),ot(t),t=u.next,s=u.next;continue}if(t=u,t===s){i?i===1?(t=zt(N(t),n),rt(t,n,e,c,r,o,2)):i===2&&Bt(t,n,e,c,r,o):rt(N(t),n,e,c,r,o,1);break}}}function Pt(t){let n=t.prev,e=t,c=t.next;if(b(n,e,c)>=0)return!1;let r=n.x,o=e.x,i=c.x,s=n.y,f=e.y,u=c.y,a=r<o?r<i?r:i:o<i?o:i,y=s<f?s<u?s:u:f<u?f:u,d=r>o?r>i?r:i:o>i?o:i,S=s>f?s>u?s:u:f>u?f:u,p=c.next;for(;p!==n;){if(p.x>=a&&p.x<=d&&p.y>=y&&p.y<=S&&V(r,s,o,f,i,u,p.x,p.y)&&b(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function Rt(t,n,e,c){let r=t.prev,o=t,i=t.next;if(b(r,o,i)>=0)return!1;let s=r.x,f=o.x,u=i.x,a=r.y,y=o.y,d=i.y,S=s<f?s<u?s:u:f<u?f:u,p=a<y?a<d?a:d:y<d?y:d,T=s>f?s>u?s:u:f>u?f:u,L=a>y?a>d?a:d:y>d?y:d,z=yt(S,p,n,e,c),F=yt(T,L,n,e,c),l=t.prevZ,x=t.nextZ;for(;l&&l.z>=z&&x&&x.z<=F;){if(l.x>=S&&l.x<=T&&l.y>=p&&l.y<=L&&l!==r&&l!==i&&V(s,a,f,y,u,d,l.x,l.y)&&b(l.prev,l,l.next)>=0||(l=l.prevZ,x.x>=S&&x.x<=T&&x.y>=p&&x.y<=L&&x!==r&&x!==i&&V(s,a,f,y,u,d,x.x,x.y)&&b(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;l&&l.z>=z;){if(l.x>=S&&l.x<=T&&l.y>=p&&l.y<=L&&l!==r&&l!==i&&V(s,a,f,y,u,d,l.x,l.y)&&b(l.prev,l,l.next)>=0)return!1;l=l.prevZ}for(;x&&x.z<=F;){if(x.x>=S&&x.x<=T&&x.y>=p&&x.y<=L&&x!==r&&x!==i&&V(s,a,f,y,u,d,x.x,x.y)&&b(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function zt(t,n){let e=t;do{let c=e.prev,r=e.next.next;!ft(c,r)&&St(c,e,e.next,r)&&it(c,r)&&it(r,c)&&(n.push(c.i,e.i,r.i),ot(e),ot(e.next),e=t=r),e=e.next}while(e!==t);return N(e)}function Bt(t,n,e,c,r,o){let i=t;do{let s=i.next.next;for(;s!==i.prev;){if(i.i!==s.i&&_t(i,s)){let f=At(i,s);i=N(i,i.next),f=N(f,f.next),rt(i,n,e,c,r,o,0),rt(f,n,e,c,r,o,0);return}s=s.next}i=i.next}while(i!==t)}function It(t,n,e,c){let r=[];for(let o=0,i=n.length;o<i;o++){let s=n[o]*c,f=o<i-1?n[o+1]*c:t.length,u=bt(t,s,f,c,!1);u===u.next&&(u.steiner=!0),r.push(Ut(u))}r.sort(Wt);for(let o=0;o<r.length;o++)e=$t(r[o],e);return e}function Wt(t,n){return t.x-n.x}function $t(t,n){let e=Gt(t,n);if(!e)return n;let c=At(e,t);return N(c,c.next),N(e,e.next)}function Gt(t,n){let e=n,c=t.x,r=t.y,o=-1/0,i;do{if(r<=e.y&&r>=e.next.y&&e.next.y!==e.y){let y=e.x+(r-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(y<=c&&y>o&&(o=y,i=e.x<e.next.x?e:e.next,y===c))return i}e=e.next}while(e!==n);if(!i)return null;let s=i,f=i.x,u=i.y,a=1/0;e=i;do{if(c>=e.x&&e.x>=f&&c!==e.x&&V(r<u?c:o,r,f,u,r<u?o:c,r,e.x,e.y)){let y=Math.abs(r-e.y)/(c-e.x);it(e,t)&&(y<a||y===a&&(e.x>i.x||e.x===i.x&&Ht(i,e)))&&(i=e,a=y)}e=e.next}while(e!==s);return i}function Ht(t,n){return b(t.prev,t,n.prev)<0&&b(n.next,t,t.next)<0}function Nt(t,n,e,c){let r=t;do r.z===0&&(r.z=yt(r.x,r.y,n,e,c)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,kt(r)}function kt(t){let n,e=1;do{let c=t,r;t=null;let o=null;for(n=0;c;){n++;let i=c,s=0;for(let u=0;u<e&&(s++,i=i.nextZ,!!i);u++);let f=e;for(;s>0||f>0&&i;)s!==0&&(f===0||!i||c.z<=i.z)?(r=c,c=c.nextZ,s--):(r=i,i=i.nextZ,f--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;c=i}o.nextZ=null,e*=2}while(n>1);return t}function yt(t,n,e,c,r){return t=(t-e)*r|0,n=(n-c)*r|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t|n<<1}function Ut(t){let n=t,e=t;do(n.x<e.x||n.x===e.x&&n.y<e.y)&&(e=n),n=n.next;while(n!==t);return e}function V(t,n,e,c,r,o,i,s){return(r-i)*(n-s)>=(t-i)*(o-s)&&(t-i)*(c-s)>=(e-i)*(n-s)&&(e-i)*(o-s)>=(r-i)*(c-s)}function _t(t,n){return t.next.i!==n.i&&t.prev.i!==n.i&&!Kt(t,n)&&(it(t,n)&&it(n,t)&&Vt(t,n)&&(b(t.prev,t,n.prev)||b(t,n.prev,n))||ft(t,n)&&b(t.prev,t,t.next)>0&&b(n.prev,n,n.next)>0)}function b(t,n,e){return(n.y-t.y)*(e.x-n.x)-(n.x-t.x)*(e.y-n.y)}function ft(t,n){return t.x===n.x&&t.y===n.y}function St(t,n,e,c){let r=lt(b(t,n,e)),o=lt(b(t,n,c)),i=lt(b(e,c,t)),s=lt(b(e,c,n));return!!(r!==o&&i!==s||r===0&&ut(t,e,n)||o===0&&ut(t,c,n)||i===0&&ut(e,t,c)||s===0&&ut(e,n,c))}function ut(t,n,e){return n.x<=Math.max(t.x,e.x)&&n.x>=Math.min(t.x,e.x)&&n.y<=Math.max(t.y,e.y)&&n.y>=Math.min(t.y,e.y)}function lt(t){return t>0?1:t<0?-1:0}function Kt(t,n){let e=t;do{if(e.i!==t.i&&e.next.i!==t.i&&e.i!==n.i&&e.next.i!==n.i&&St(e,e.next,t,n))return!0;e=e.next}while(e!==t);return!1}function it(t,n){return b(t.prev,t,t.next)<0?b(t,n,t.next)>=0&&b(t,t.prev,n)>=0:b(t,n,t.prev)<0||b(t,t.next,n)<0}function Vt(t,n){let e=t,c=!1,r=(t.x+n.x)/2,o=(t.y+n.y)/2;do e.y>o!=e.next.y>o&&e.next.y!==e.y&&r<(e.next.x-e.x)*(o-e.y)/(e.next.y-e.y)+e.x&&(c=!c),e=e.next;while(e!==t);return c}function At(t,n){let e=mt(t.i,t.x,t.y),c=mt(n.i,n.x,n.y),r=t.next,o=n.prev;return t.next=n,n.prev=t,e.next=r,r.prev=e,c.next=e,e.prev=c,o.next=c,c.prev=o,c}function wt(t,n,e,c){let r=mt(t,n,e);return c?(r.next=c.next,r.prev=c,c.next.prev=r,c.next=r):(r.prev=r,r.next=r),r}function ot(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function mt(t,n,e){return{i:t,x:n,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function jt(t,n,e,c){let r=0;for(let o=n,i=e-c;o<e;o+=c)r+=(t[i]-t[o])*(t[o+1]+t[i+1]),i=o;return r}var qt=new h,Jt=new h,B={};B.computeArea2D=function(t){C.defined("positions",t),C.typeOf.number.greaterThanOrEquals("positions.length",t.length,3);let n=t.length,e=0;for(let c=n-1,r=0;r<n;c=r++){let o=t[c],i=t[r];e+=o.x*i.y-i.x*o.y}return e*.5};B.computeWindingOrder2D=function(t){return B.computeArea2D(t)>0?pt.COUNTER_CLOCKWISE:pt.CLOCKWISE};B.triangulate=function(t,n){C.defined("positions",t);let e=v.packArray(t);return dt(e,n,2)};var Tt=new h,Mt=new h,Zt=new h,Ct=new h,Et=new h,Ot=new h,R=new h,Lt=new v,Dt=new v,Ft=new v,j=new v;B.computeSubdivision=function(t,n,e,c,r){r=K(r,Y.RADIANS_PER_DEGREE);let o=D(c);C.typeOf.object("ellipsoid",t),C.defined("positions",n),C.defined("indices",e),C.typeOf.number.greaterThanOrEquals("indices.length",e.length,3),C.typeOf.number.equals("indices.length % 3","0",e.length%3,0),C.typeOf.number.greaterThan("granularity",r,0);let i=e.slice(0),s,f=n.length,u=new Array(f*3),a=new Array(f*2),y=0,d=0;for(s=0;s<f;s++){let l=n[s];if(u[y++]=l.x,u[y++]=l.y,u[y++]=l.z,o){let x=c[s];a[d++]=x.x,a[d++]=x.y}}let S=[],p={},T=t.maximumRadius,L=Y.chordLength(r,T),z=L*L;for(;i.length>0;){let l=i.pop(),x=i.pop(),m=i.pop(),A=h.fromArray(u,m*3,Tt),E=h.fromArray(u,x*3,Mt),q=h.fromArray(u,l*3,Zt),J,Q,I;o&&(J=v.fromArray(a,m*2,Lt),Q=v.fromArray(a,x*2,Dt),I=v.fromArray(a,l*2,Ft));let k=h.multiplyByScalar(h.normalize(A,Ct),T,Ct),U=h.multiplyByScalar(h.normalize(E,Et),T,Et),W=h.multiplyByScalar(h.normalize(q,Ot),T,Ot),$=h.magnitudeSquared(h.subtract(k,U,R)),G=h.magnitudeSquared(h.subtract(U,W,R)),X=h.magnitudeSquared(h.subtract(W,k,R)),H=Math.max($,G,X),M,w,g;H>z?$===H?(M=`${Math.min(m,x)} ${Math.max(m,x)}`,s=p[M],D(s)||(w=h.add(A,E,R),h.multiplyByScalar(w,.5,w),u.push(w.x,w.y,w.z),s=u.length/3-1,p[M]=s,o&&(g=v.add(J,Q,j),v.multiplyByScalar(g,.5,g),a.push(g.x,g.y))),i.push(m,s,l),i.push(s,x,l)):G===H?(M=`${Math.min(x,l)} ${Math.max(x,l)}`,s=p[M],D(s)||(w=h.add(E,q,R),h.multiplyByScalar(w,.5,w),u.push(w.x,w.y,w.z),s=u.length/3-1,p[M]=s,o&&(g=v.add(Q,I,j),v.multiplyByScalar(g,.5,g),a.push(g.x,g.y))),i.push(x,s,m),i.push(s,l,m)):X===H&&(M=`${Math.min(l,m)} ${Math.max(l,m)}`,s=p[M],D(s)||(w=h.add(q,A,R),h.multiplyByScalar(w,.5,w),u.push(w.x,w.y,w.z),s=u.length/3-1,p[M]=s,o&&(g=v.add(I,J,j),v.multiplyByScalar(g,.5,g),a.push(g.x,g.y))),i.push(l,s,x),i.push(s,m,x)):(S.push(m),S.push(x),S.push(l))}let F={attributes:{position:new nt({componentDatatype:et.DOUBLE,componentsPerAttribute:3,values:u})},indices:S,primitiveType:at.TRIANGLES};return o&&(F.attributes.st=new nt({componentDatatype:et.FLOAT,componentsPerAttribute:2,values:a})),new ht(F)};var Qt=new tt,Xt=new tt,Yt=new tt,gt=new tt;B.computeRhumbLineSubdivision=function(t,n,e,c,r){r=K(r,Y.RADIANS_PER_DEGREE);let o=D(c);C.typeOf.object("ellipsoid",t),C.defined("positions",n),C.defined("indices",e),C.typeOf.number.greaterThanOrEquals("indices.length",e.length,3),C.typeOf.number.equals("indices.length % 3","0",e.length%3,0),C.typeOf.number.greaterThan("granularity",r,0);let i=e.slice(0),s,f=n.length,u=new Array(f*3),a=new Array(f*2),y=0,d=0;for(s=0;s<f;s++){let m=n[s];if(u[y++]=m.x,u[y++]=m.y,u[y++]=m.z,o){let A=c[s];a[d++]=A.x,a[d++]=A.y}}let S=[],p={},T=t.maximumRadius,L=Y.chordLength(r,T),z=new st(void 0,void 0,t),F=new st(void 0,void 0,t),l=new st(void 0,void 0,t);for(;i.length>0;){let m=i.pop(),A=i.pop(),E=i.pop(),q=h.fromArray(u,E*3,Tt),J=h.fromArray(u,A*3,Mt),Q=h.fromArray(u,m*3,Zt),I,k,U;o&&(I=v.fromArray(a,E*2,Lt),k=v.fromArray(a,A*2,Dt),U=v.fromArray(a,m*2,Ft));let W=t.cartesianToCartographic(q,Qt),$=t.cartesianToCartographic(J,Xt),G=t.cartesianToCartographic(Q,Yt);z.setEndPoints(W,$);let X=z.surfaceDistance;F.setEndPoints($,G);let H=F.surfaceDistance;l.setEndPoints(G,W);let M=l.surfaceDistance,w=Math.max(X,H,M),g,P,_,Z,O;w>L?X===w?(g=`${Math.min(E,A)} ${Math.max(E,A)}`,s=p[g],D(s)||(P=z.interpolateUsingFraction(.5,gt),_=(W.height+$.height)*.5,Z=h.fromRadians(P.longitude,P.latitude,_,t,R),u.push(Z.x,Z.y,Z.z),s=u.length/3-1,p[g]=s,o&&(O=v.add(I,k,j),v.multiplyByScalar(O,.5,O),a.push(O.x,O.y))),i.push(E,s,m),i.push(s,A,m)):H===w?(g=`${Math.min(A,m)} ${Math.max(A,m)}`,s=p[g],D(s)||(P=F.interpolateUsingFraction(.5,gt),_=($.height+G.height)*.5,Z=h.fromRadians(P.longitude,P.latitude,_,t,R),u.push(Z.x,Z.y,Z.z),s=u.length/3-1,p[g]=s,o&&(O=v.add(k,U,j),v.multiplyByScalar(O,.5,O),a.push(O.x,O.y))),i.push(A,s,E),i.push(s,m,E)):M===w&&(g=`${Math.min(m,E)} ${Math.max(m,E)}`,s=p[g],D(s)||(P=l.interpolateUsingFraction(.5,gt),_=(G.height+W.height)*.5,Z=h.fromRadians(P.longitude,P.latitude,_,t,R),u.push(Z.x,Z.y,Z.z),s=u.length/3-1,p[g]=s,o&&(O=v.add(U,I,j),v.multiplyByScalar(O,.5,O),a.push(O.x,O.y))),i.push(m,s,A),i.push(s,E,A)):(S.push(E),S.push(A),S.push(m))}let x={attributes:{position:new nt({componentDatatype:et.DOUBLE,componentsPerAttribute:3,values:u})},indices:S,primitiveType:at.TRIANGLES};return o&&(x.attributes.st=new nt({componentDatatype:et.FLOAT,componentsPerAttribute:2,values:a})),new ht(x)};B.scaleToGeodeticHeight=function(t,n,e,c){e=K(e,vt.default);let r=qt,o=Jt;if(n=K(n,0),c=K(c,!0),D(t)){let i=t.length;for(let s=0;s<i;s+=3)h.fromArray(t,s,o),c&&(o=e.scaleToGeodeticSurface(o,o)),n!==0&&(r=e.geodeticSurfaceNormal(o,r),h.multiplyByScalar(r,n,r),h.add(o,r,o)),t[s]=o.x,t[s+1]=o.y,t[s+2]=o.z}return t};var ge=B;export{pt as a,ge as b}; +import{a as st}from"./chunk-44LKXGXW.js";import{b as at,c as ht,d as nt}from"./chunk-72NMS5KE.js";import{a as et}from"./chunk-GNTVNTUY.js";import{a as h,b as tt,c as v,d as vt}from"./chunk-HWH6BBH6.js";import{a as Y}from"./chunk-DW4EQ6YI.js";import{a as xt}from"./chunk-6DFUP66D.js";import{a as K}from"./chunk-CJFJKB5V.js";import{b as C}from"./chunk-4BGNE6LH.js";import{e as D}from"./chunk-OX5CTLXY.js";var ct={CLOCKWISE:xt.CW,COUNTER_CLOCKWISE:xt.CCW};ct.validate=function(t){return t===ct.CLOCKWISE||t===ct.COUNTER_CLOCKWISE};var pt=Object.freeze(ct);function dt(t,n,e=2){let c=n&&n.length,r=c?n[0]*e:t.length,o=bt(t,0,r,e,!0),i=[];if(!o||o.next===o.prev)return i;let s,f,u;if(c&&(o=It(t,n,o,e)),t.length>80*e){s=1/0,f=1/0;let a=-1/0,y=-1/0;for(let d=e;d<r;d+=e){let S=t[d],p=t[d+1];S<s&&(s=S),p<f&&(f=p),S>a&&(a=S),p>y&&(y=p)}u=Math.max(a-s,y-f),u=u!==0?32767/u:0}return rt(o,i,e,s,f,u,0),i}function bt(t,n,e,c,r){let o;if(r===jt(t,n,e,c)>0)for(let i=n;i<e;i+=c)o=wt(i/c|0,t[i],t[i+1],o);else for(let i=e-c;i>=n;i-=c)o=wt(i/c|0,t[i],t[i+1],o);return o&&ft(o,o.next)&&(ot(o),o=o.next),o}function N(t,n){if(!t)return t;n||(n=t);let e=t,c;do if(c=!1,!e.steiner&&(ft(e,e.next)||b(e.prev,e,e.next)===0)){if(ot(e),e=n=e.prev,e===e.next)break;c=!0}else e=e.next;while(c||e!==n);return n}function rt(t,n,e,c,r,o,i){if(!t)return;!i&&o&&Nt(t,c,r,o);let s=t;for(;t.prev!==t.next;){let f=t.prev,u=t.next;if(o?Rt(t,c,r,o):Pt(t)){n.push(f.i,t.i,u.i),ot(t),t=u.next,s=u.next;continue}if(t=u,t===s){i?i===1?(t=zt(N(t),n),rt(t,n,e,c,r,o,2)):i===2&&Bt(t,n,e,c,r,o):rt(N(t),n,e,c,r,o,1);break}}}function Pt(t){let n=t.prev,e=t,c=t.next;if(b(n,e,c)>=0)return!1;let r=n.x,o=e.x,i=c.x,s=n.y,f=e.y,u=c.y,a=r<o?r<i?r:i:o<i?o:i,y=s<f?s<u?s:u:f<u?f:u,d=r>o?r>i?r:i:o>i?o:i,S=s>f?s>u?s:u:f>u?f:u,p=c.next;for(;p!==n;){if(p.x>=a&&p.x<=d&&p.y>=y&&p.y<=S&&V(r,s,o,f,i,u,p.x,p.y)&&b(p.prev,p,p.next)>=0)return!1;p=p.next}return!0}function Rt(t,n,e,c){let r=t.prev,o=t,i=t.next;if(b(r,o,i)>=0)return!1;let s=r.x,f=o.x,u=i.x,a=r.y,y=o.y,d=i.y,S=s<f?s<u?s:u:f<u?f:u,p=a<y?a<d?a:d:y<d?y:d,T=s>f?s>u?s:u:f>u?f:u,L=a>y?a>d?a:d:y>d?y:d,z=yt(S,p,n,e,c),F=yt(T,L,n,e,c),l=t.prevZ,x=t.nextZ;for(;l&&l.z>=z&&x&&x.z<=F;){if(l.x>=S&&l.x<=T&&l.y>=p&&l.y<=L&&l!==r&&l!==i&&V(s,a,f,y,u,d,l.x,l.y)&&b(l.prev,l,l.next)>=0||(l=l.prevZ,x.x>=S&&x.x<=T&&x.y>=p&&x.y<=L&&x!==r&&x!==i&&V(s,a,f,y,u,d,x.x,x.y)&&b(x.prev,x,x.next)>=0))return!1;x=x.nextZ}for(;l&&l.z>=z;){if(l.x>=S&&l.x<=T&&l.y>=p&&l.y<=L&&l!==r&&l!==i&&V(s,a,f,y,u,d,l.x,l.y)&&b(l.prev,l,l.next)>=0)return!1;l=l.prevZ}for(;x&&x.z<=F;){if(x.x>=S&&x.x<=T&&x.y>=p&&x.y<=L&&x!==r&&x!==i&&V(s,a,f,y,u,d,x.x,x.y)&&b(x.prev,x,x.next)>=0)return!1;x=x.nextZ}return!0}function zt(t,n){let e=t;do{let c=e.prev,r=e.next.next;!ft(c,r)&&St(c,e,e.next,r)&&it(c,r)&&it(r,c)&&(n.push(c.i,e.i,r.i),ot(e),ot(e.next),e=t=r),e=e.next}while(e!==t);return N(e)}function Bt(t,n,e,c,r,o){let i=t;do{let s=i.next.next;for(;s!==i.prev;){if(i.i!==s.i&&_t(i,s)){let f=At(i,s);i=N(i,i.next),f=N(f,f.next),rt(i,n,e,c,r,o,0),rt(f,n,e,c,r,o,0);return}s=s.next}i=i.next}while(i!==t)}function It(t,n,e,c){let r=[];for(let o=0,i=n.length;o<i;o++){let s=n[o]*c,f=o<i-1?n[o+1]*c:t.length,u=bt(t,s,f,c,!1);u===u.next&&(u.steiner=!0),r.push(Ut(u))}r.sort(Wt);for(let o=0;o<r.length;o++)e=$t(r[o],e);return e}function Wt(t,n){return t.x-n.x}function $t(t,n){let e=Gt(t,n);if(!e)return n;let c=At(e,t);return N(c,c.next),N(e,e.next)}function Gt(t,n){let e=n,c=t.x,r=t.y,o=-1/0,i;do{if(r<=e.y&&r>=e.next.y&&e.next.y!==e.y){let y=e.x+(r-e.y)*(e.next.x-e.x)/(e.next.y-e.y);if(y<=c&&y>o&&(o=y,i=e.x<e.next.x?e:e.next,y===c))return i}e=e.next}while(e!==n);if(!i)return null;let s=i,f=i.x,u=i.y,a=1/0;e=i;do{if(c>=e.x&&e.x>=f&&c!==e.x&&V(r<u?c:o,r,f,u,r<u?o:c,r,e.x,e.y)){let y=Math.abs(r-e.y)/(c-e.x);it(e,t)&&(y<a||y===a&&(e.x>i.x||e.x===i.x&&Ht(i,e)))&&(i=e,a=y)}e=e.next}while(e!==s);return i}function Ht(t,n){return b(t.prev,t,n.prev)<0&&b(n.next,t,t.next)<0}function Nt(t,n,e,c){let r=t;do r.z===0&&(r.z=yt(r.x,r.y,n,e,c)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next;while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,kt(r)}function kt(t){let n,e=1;do{let c=t,r;t=null;let o=null;for(n=0;c;){n++;let i=c,s=0;for(let u=0;u<e&&(s++,i=i.nextZ,!!i);u++);let f=e;for(;s>0||f>0&&i;)s!==0&&(f===0||!i||c.z<=i.z)?(r=c,c=c.nextZ,s--):(r=i,i=i.nextZ,f--),o?o.nextZ=r:t=r,r.prevZ=o,o=r;c=i}o.nextZ=null,e*=2}while(n>1);return t}function yt(t,n,e,c,r){return t=(t-e)*r|0,n=(n-c)*r|0,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,n=(n|n<<8)&16711935,n=(n|n<<4)&252645135,n=(n|n<<2)&858993459,n=(n|n<<1)&1431655765,t|n<<1}function Ut(t){let n=t,e=t;do(n.x<e.x||n.x===e.x&&n.y<e.y)&&(e=n),n=n.next;while(n!==t);return e}function V(t,n,e,c,r,o,i,s){return(r-i)*(n-s)>=(t-i)*(o-s)&&(t-i)*(c-s)>=(e-i)*(n-s)&&(e-i)*(o-s)>=(r-i)*(c-s)}function _t(t,n){return t.next.i!==n.i&&t.prev.i!==n.i&&!Kt(t,n)&&(it(t,n)&&it(n,t)&&Vt(t,n)&&(b(t.prev,t,n.prev)||b(t,n.prev,n))||ft(t,n)&&b(t.prev,t,t.next)>0&&b(n.prev,n,n.next)>0)}function b(t,n,e){return(n.y-t.y)*(e.x-n.x)-(n.x-t.x)*(e.y-n.y)}function ft(t,n){return t.x===n.x&&t.y===n.y}function St(t,n,e,c){let r=lt(b(t,n,e)),o=lt(b(t,n,c)),i=lt(b(e,c,t)),s=lt(b(e,c,n));return!!(r!==o&&i!==s||r===0&&ut(t,e,n)||o===0&&ut(t,c,n)||i===0&&ut(e,t,c)||s===0&&ut(e,n,c))}function ut(t,n,e){return n.x<=Math.max(t.x,e.x)&&n.x>=Math.min(t.x,e.x)&&n.y<=Math.max(t.y,e.y)&&n.y>=Math.min(t.y,e.y)}function lt(t){return t>0?1:t<0?-1:0}function Kt(t,n){let e=t;do{if(e.i!==t.i&&e.next.i!==t.i&&e.i!==n.i&&e.next.i!==n.i&&St(e,e.next,t,n))return!0;e=e.next}while(e!==t);return!1}function it(t,n){return b(t.prev,t,t.next)<0?b(t,n,t.next)>=0&&b(t,t.prev,n)>=0:b(t,n,t.prev)<0||b(t,t.next,n)<0}function Vt(t,n){let e=t,c=!1,r=(t.x+n.x)/2,o=(t.y+n.y)/2;do e.y>o!=e.next.y>o&&e.next.y!==e.y&&r<(e.next.x-e.x)*(o-e.y)/(e.next.y-e.y)+e.x&&(c=!c),e=e.next;while(e!==t);return c}function At(t,n){let e=mt(t.i,t.x,t.y),c=mt(n.i,n.x,n.y),r=t.next,o=n.prev;return t.next=n,n.prev=t,e.next=r,r.prev=e,c.next=e,e.prev=c,o.next=c,c.prev=o,c}function wt(t,n,e,c){let r=mt(t,n,e);return c?(r.next=c.next,r.prev=c,c.next.prev=r,c.next=r):(r.prev=r,r.next=r),r}function ot(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function mt(t,n,e){return{i:t,x:n,y:e,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function jt(t,n,e,c){let r=0;for(let o=n,i=e-c;o<e;o+=c)r+=(t[i]-t[o])*(t[o+1]+t[i+1]),i=o;return r}var qt=new h,Jt=new h,B={};B.computeArea2D=function(t){C.defined("positions",t),C.typeOf.number.greaterThanOrEquals("positions.length",t.length,3);let n=t.length,e=0;for(let c=n-1,r=0;r<n;c=r++){let o=t[c],i=t[r];e+=o.x*i.y-i.x*o.y}return e*.5};B.computeWindingOrder2D=function(t){return B.computeArea2D(t)>0?pt.COUNTER_CLOCKWISE:pt.CLOCKWISE};B.triangulate=function(t,n){C.defined("positions",t);let e=v.packArray(t);return dt(e,n,2)};var Tt=new h,Mt=new h,Zt=new h,Ct=new h,Et=new h,Ot=new h,R=new h,Lt=new v,Dt=new v,Ft=new v,j=new v;B.computeSubdivision=function(t,n,e,c,r){r=K(r,Y.RADIANS_PER_DEGREE);let o=D(c);C.typeOf.object("ellipsoid",t),C.defined("positions",n),C.defined("indices",e),C.typeOf.number.greaterThanOrEquals("indices.length",e.length,3),C.typeOf.number.equals("indices.length % 3","0",e.length%3,0),C.typeOf.number.greaterThan("granularity",r,0);let i=e.slice(0),s,f=n.length,u=new Array(f*3),a=new Array(f*2),y=0,d=0;for(s=0;s<f;s++){let l=n[s];if(u[y++]=l.x,u[y++]=l.y,u[y++]=l.z,o){let x=c[s];a[d++]=x.x,a[d++]=x.y}}let S=[],p={},T=t.maximumRadius,L=Y.chordLength(r,T),z=L*L;for(;i.length>0;){let l=i.pop(),x=i.pop(),m=i.pop(),A=h.fromArray(u,m*3,Tt),E=h.fromArray(u,x*3,Mt),q=h.fromArray(u,l*3,Zt),J,Q,I;o&&(J=v.fromArray(a,m*2,Lt),Q=v.fromArray(a,x*2,Dt),I=v.fromArray(a,l*2,Ft));let k=h.multiplyByScalar(h.normalize(A,Ct),T,Ct),U=h.multiplyByScalar(h.normalize(E,Et),T,Et),W=h.multiplyByScalar(h.normalize(q,Ot),T,Ot),$=h.magnitudeSquared(h.subtract(k,U,R)),G=h.magnitudeSquared(h.subtract(U,W,R)),X=h.magnitudeSquared(h.subtract(W,k,R)),H=Math.max($,G,X),M,w,g;H>z?$===H?(M=`${Math.min(m,x)} ${Math.max(m,x)}`,s=p[M],D(s)||(w=h.add(A,E,R),h.multiplyByScalar(w,.5,w),u.push(w.x,w.y,w.z),s=u.length/3-1,p[M]=s,o&&(g=v.add(J,Q,j),v.multiplyByScalar(g,.5,g),a.push(g.x,g.y))),i.push(m,s,l),i.push(s,x,l)):G===H?(M=`${Math.min(x,l)} ${Math.max(x,l)}`,s=p[M],D(s)||(w=h.add(E,q,R),h.multiplyByScalar(w,.5,w),u.push(w.x,w.y,w.z),s=u.length/3-1,p[M]=s,o&&(g=v.add(Q,I,j),v.multiplyByScalar(g,.5,g),a.push(g.x,g.y))),i.push(x,s,m),i.push(s,l,m)):X===H&&(M=`${Math.min(l,m)} ${Math.max(l,m)}`,s=p[M],D(s)||(w=h.add(q,A,R),h.multiplyByScalar(w,.5,w),u.push(w.x,w.y,w.z),s=u.length/3-1,p[M]=s,o&&(g=v.add(I,J,j),v.multiplyByScalar(g,.5,g),a.push(g.x,g.y))),i.push(l,s,x),i.push(s,m,x)):(S.push(m),S.push(x),S.push(l))}let F={attributes:{position:new nt({componentDatatype:et.DOUBLE,componentsPerAttribute:3,values:u})},indices:S,primitiveType:at.TRIANGLES};return o&&(F.attributes.st=new nt({componentDatatype:et.FLOAT,componentsPerAttribute:2,values:a})),new ht(F)};var Qt=new tt,Xt=new tt,Yt=new tt,gt=new tt;B.computeRhumbLineSubdivision=function(t,n,e,c,r){r=K(r,Y.RADIANS_PER_DEGREE);let o=D(c);C.typeOf.object("ellipsoid",t),C.defined("positions",n),C.defined("indices",e),C.typeOf.number.greaterThanOrEquals("indices.length",e.length,3),C.typeOf.number.equals("indices.length % 3","0",e.length%3,0),C.typeOf.number.greaterThan("granularity",r,0);let i=e.slice(0),s,f=n.length,u=new Array(f*3),a=new Array(f*2),y=0,d=0;for(s=0;s<f;s++){let m=n[s];if(u[y++]=m.x,u[y++]=m.y,u[y++]=m.z,o){let A=c[s];a[d++]=A.x,a[d++]=A.y}}let S=[],p={},T=t.maximumRadius,L=Y.chordLength(r,T),z=new st(void 0,void 0,t),F=new st(void 0,void 0,t),l=new st(void 0,void 0,t);for(;i.length>0;){let m=i.pop(),A=i.pop(),E=i.pop(),q=h.fromArray(u,E*3,Tt),J=h.fromArray(u,A*3,Mt),Q=h.fromArray(u,m*3,Zt),I,k,U;o&&(I=v.fromArray(a,E*2,Lt),k=v.fromArray(a,A*2,Dt),U=v.fromArray(a,m*2,Ft));let W=t.cartesianToCartographic(q,Qt),$=t.cartesianToCartographic(J,Xt),G=t.cartesianToCartographic(Q,Yt);z.setEndPoints(W,$);let X=z.surfaceDistance;F.setEndPoints($,G);let H=F.surfaceDistance;l.setEndPoints(G,W);let M=l.surfaceDistance,w=Math.max(X,H,M),g,P,_,Z,O;w>L?X===w?(g=`${Math.min(E,A)} ${Math.max(E,A)}`,s=p[g],D(s)||(P=z.interpolateUsingFraction(.5,gt),_=(W.height+$.height)*.5,Z=h.fromRadians(P.longitude,P.latitude,_,t,R),u.push(Z.x,Z.y,Z.z),s=u.length/3-1,p[g]=s,o&&(O=v.add(I,k,j),v.multiplyByScalar(O,.5,O),a.push(O.x,O.y))),i.push(E,s,m),i.push(s,A,m)):H===w?(g=`${Math.min(A,m)} ${Math.max(A,m)}`,s=p[g],D(s)||(P=F.interpolateUsingFraction(.5,gt),_=($.height+G.height)*.5,Z=h.fromRadians(P.longitude,P.latitude,_,t,R),u.push(Z.x,Z.y,Z.z),s=u.length/3-1,p[g]=s,o&&(O=v.add(k,U,j),v.multiplyByScalar(O,.5,O),a.push(O.x,O.y))),i.push(A,s,E),i.push(s,m,E)):M===w&&(g=`${Math.min(m,E)} ${Math.max(m,E)}`,s=p[g],D(s)||(P=l.interpolateUsingFraction(.5,gt),_=(G.height+W.height)*.5,Z=h.fromRadians(P.longitude,P.latitude,_,t,R),u.push(Z.x,Z.y,Z.z),s=u.length/3-1,p[g]=s,o&&(O=v.add(U,I,j),v.multiplyByScalar(O,.5,O),a.push(O.x,O.y))),i.push(m,s,A),i.push(s,E,A)):(S.push(E),S.push(A),S.push(m))}let x={attributes:{position:new nt({componentDatatype:et.DOUBLE,componentsPerAttribute:3,values:u})},indices:S,primitiveType:at.TRIANGLES};return o&&(x.attributes.st=new nt({componentDatatype:et.FLOAT,componentsPerAttribute:2,values:a})),new ht(x)};B.scaleToGeodeticHeight=function(t,n,e,c){e=K(e,vt.default);let r=qt,o=Jt;if(n=K(n,0),c=K(c,!0),D(t)){let i=t.length;for(let s=0;s<i;s+=3)h.fromArray(t,s,o),c&&(o=e.scaleToGeodeticSurface(o,o)),n!==0&&(r=e.geodeticSurfaceNormal(o,r),h.multiplyByScalar(r,n,r),h.add(o,r,o)),t[s]=o.x,t[s+1]=o.y,t[s+2]=o.z}return t};var ge=B;export{pt as a,ge as b}; diff --git a/public/lib/Cesium/Workers/chunk-FEOZU7P7.js b/public/lib/Cesium/Workers/chunk-SM4U4WO5.js similarity index 99% rename from public/lib/Cesium/Workers/chunk-FEOZU7P7.js rename to public/lib/Cesium/Workers/chunk-SM4U4WO5.js index 99e6f6fa9..bc82c9e26 100644 --- a/public/lib/Cesium/Workers/chunk-FEOZU7P7.js +++ b/public/lib/Cesium/Workers/chunk-SM4U4WO5.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as fn,c as Tn}from"./chunk-4FSVUTPL.js";var Dn=Tn((nt,bt)=>{var _=_||{};_.scope={};_.arrayIteratorImpl=function(p){var c=0;return function(){return c<p.length?{done:!1,value:p[c++]}:{done:!0}}};_.arrayIterator=function(p){return{next:_.arrayIteratorImpl(p)}};_.makeIterator=function(p){var c=typeof Symbol<"u"&&Symbol.iterator&&p[Symbol.iterator];return c?c.call(p):_.arrayIterator(p)};_.ASSUME_ES5=!1;_.ASSUME_NO_NATIVE_MAP=!1;_.ASSUME_NO_NATIVE_SET=!1;_.SIMPLE_FROUND_POLYFILL=!1;_.ISOLATE_POLYFILLS=!1;_.FORCE_POLYFILL_PROMISE=!1;_.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;_.getGlobal=function(p){p=[typeof globalThis=="object"&&globalThis,p,typeof window=="object"&&window,typeof self=="object"&&self,typeof global=="object"&&global];for(var c=0;c<p.length;++c){var s=p[c];if(s&&s.Math==Math)return s}throw Error("Cannot find global object")};_.global=_.getGlobal(nt);_.defineProperty=_.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(p,c,s){return p==Array.prototype||p==Object.prototype||(p[c]=s.value),p};_.IS_SYMBOL_NATIVE=typeof Symbol=="function"&&typeof Symbol("x")=="symbol";_.TRUST_ES6_POLYFILLS=!_.ISOLATE_POLYFILLS||_.IS_SYMBOL_NATIVE;_.polyfills={};_.propertyToPolyfillSymbol={};_.POLYFILL_PREFIX="$jscp$";_.polyfill=function(p,c,s,y){c&&(_.ISOLATE_POLYFILLS?_.polyfillIsolated(p,c,s,y):_.polyfillUnisolated(p,c,s,y))};_.polyfillUnisolated=function(p,c,s,y){for(s=_.global,p=p.split("."),y=0;y<p.length-1;y++){var a=p[y];if(!(a in s))return;s=s[a]}p=p[p.length-1],y=s[p],c=c(y),c!=y&&c!=null&&_.defineProperty(s,p,{configurable:!0,writable:!0,value:c})};_.polyfillIsolated=function(p,c,s,y){var a=p.split(".");p=a.length===1,y=a[0],y=!p&&y in _.polyfills?_.polyfills:_.global;for(var g=0;g<a.length-1;g++){var i=a[g];if(!(i in y))return;y=y[i]}a=a[a.length-1],s=_.IS_SYMBOL_NATIVE&&s==="es6"?y[a]:null,c=c(s),c!=null&&(p?_.defineProperty(_.polyfills,a,{configurable:!0,writable:!0,value:c}):c!==s&&(_.propertyToPolyfillSymbol[a]===void 0&&(s=1e9*Math.random()>>>0,_.propertyToPolyfillSymbol[a]=_.IS_SYMBOL_NATIVE?_.global.Symbol(a):_.POLYFILL_PREFIX+s+"$"+a),_.defineProperty(y,_.propertyToPolyfillSymbol[a],{configurable:!0,writable:!0,value:c})))};_.polyfill("Promise",function(p){function c(){this.batch_=null}function s(i){return i instanceof a?i:new a(function(l,h){l(i)})}if(p&&(!(_.FORCE_POLYFILL_PROMISE||_.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&typeof _.global.PromiseRejectionEvent>"u")||!_.global.Promise||_.global.Promise.toString().indexOf("[native code]")===-1))return p;c.prototype.asyncExecute=function(i){if(this.batch_==null){this.batch_=[];var l=this;this.asyncExecuteFunction(function(){l.executeBatch_()})}this.batch_.push(i)};var y=_.global.setTimeout;c.prototype.asyncExecuteFunction=function(i){y(i,0)},c.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var i=this.batch_;this.batch_=[];for(var l=0;l<i.length;++l){var h=i[l];i[l]=null;try{h()}catch(I){this.asyncThrow_(I)}}}this.batch_=null},c.prototype.asyncThrow_=function(i){this.asyncExecuteFunction(function(){throw i})};var a=function(i){this.state_=0,this.result_=void 0,this.onSettledCallbacks_=[],this.isRejectionHandled_=!1;var l=this.createResolveAndReject_();try{i(l.resolve,l.reject)}catch(h){l.reject(h)}};a.prototype.createResolveAndReject_=function(){function i(I){return function(C){h||(h=!0,I.call(l,C))}}var l=this,h=!1;return{resolve:i(this.resolveTo_),reject:i(this.reject_)}},a.prototype.resolveTo_=function(i){if(i===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(i instanceof a)this.settleSameAsPromise_(i);else{t:switch(typeof i){case"object":var l=i!=null;break t;case"function":l=!0;break t;default:l=!1}l?this.resolveToNonPromiseObj_(i):this.fulfill_(i)}},a.prototype.resolveToNonPromiseObj_=function(i){var l=void 0;try{l=i.then}catch(h){this.reject_(h);return}typeof l=="function"?this.settleSameAsThenable_(l,i):this.fulfill_(i)},a.prototype.reject_=function(i){this.settle_(2,i)},a.prototype.fulfill_=function(i){this.settle_(1,i)},a.prototype.settle_=function(i,l){if(this.state_!=0)throw Error("Cannot settle("+i+", "+l+"): Promise already settled in state"+this.state_);this.state_=i,this.result_=l,this.state_===2&&this.scheduleUnhandledRejectionCheck_(),this.executeOnSettledCallbacks_()},a.prototype.scheduleUnhandledRejectionCheck_=function(){var i=this;y(function(){if(i.notifyUnhandledRejection_()){var l=_.global.console;typeof l<"u"&&l.error(i.result_)}},1)},a.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var i=_.global.CustomEvent,l=_.global.Event,h=_.global.dispatchEvent;return typeof h>"u"?!0:(typeof i=="function"?i=new i("unhandledrejection",{cancelable:!0}):typeof l=="function"?i=new l("unhandledrejection",{cancelable:!0}):(i=_.global.document.createEvent("CustomEvent"),i.initCustomEvent("unhandledrejection",!1,!0,i)),i.promise=this,i.reason=this.result_,h(i))},a.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){for(var i=0;i<this.onSettledCallbacks_.length;++i)g.asyncExecute(this.onSettledCallbacks_[i]);this.onSettledCallbacks_=null}};var g=new c;return a.prototype.settleSameAsPromise_=function(i){var l=this.createResolveAndReject_();i.callWhenSettled_(l.resolve,l.reject)},a.prototype.settleSameAsThenable_=function(i,l){var h=this.createResolveAndReject_();try{i.call(l,h.resolve,h.reject)}catch(I){h.reject(I)}},a.prototype.then=function(i,l){function h(f,T){return typeof f=="function"?function(G){try{I(f(G))}catch(V){C(V)}}:T}var I,C,K=new a(function(f,T){I=f,C=T});return this.callWhenSettled_(h(i,I),h(l,C)),K},a.prototype.catch=function(i){return this.then(void 0,i)},a.prototype.callWhenSettled_=function(i,l){function h(){switch(I.state_){case 1:i(I.result_);break;case 2:l(I.result_);break;default:throw Error("Unexpected state: "+I.state_)}}var I=this;this.onSettledCallbacks_==null?g.asyncExecute(h):this.onSettledCallbacks_.push(h),this.isRejectionHandled_=!0},a.resolve=s,a.reject=function(i){return new a(function(l,h){h(i)})},a.race=function(i){return new a(function(l,h){for(var I=_.makeIterator(i),C=I.next();!C.done;C=I.next())s(C.value).callWhenSettled_(l,h)})},a.all=function(i){var l=_.makeIterator(i),h=l.next();return h.done?s([]):new a(function(I,C){function K(G){return function(V){f[G]=V,T--,T==0&&I(f)}}var f=[],T=0;do f.push(void 0),T++,s(h.value).callWhenSettled_(K(f.length-1),C),h=l.next();while(!h.done)})},a},"es6","es3");_.owns=function(p,c){return Object.prototype.hasOwnProperty.call(p,c)};_.assign=_.TRUST_ES6_POLYFILLS&&typeof Object.assign=="function"?Object.assign:function(p,c){for(var s=1;s<arguments.length;s++){var y=arguments[s];if(y)for(var a in y)_.owns(y,a)&&(p[a]=y[a])}return p};_.polyfill("Object.assign",function(p){return p||_.assign},"es6","es3");_.checkStringArgs=function(p,c,s){if(p==null)throw new TypeError("The 'this' value for String.prototype."+s+" must not be null or undefined");if(c instanceof RegExp)throw new TypeError("First argument to String.prototype."+s+" must not be a regular expression");return p+""};_.polyfill("String.prototype.startsWith",function(p){return p||function(c,s){var y=_.checkStringArgs(this,c,"startsWith");c+="";var a=y.length,g=c.length;s=Math.max(0,Math.min(s|0,y.length));for(var i=0;i<g&&s<a;)if(y[s++]!=c[i++])return!1;return i>=g}},"es6","es3");_.polyfill("Array.prototype.copyWithin",function(p){function c(s){return s=Number(s),s===1/0||s===-1/0?s:s|0}return p||function(s,y,a){var g=this.length;if(s=c(s),y=c(y),a=a===void 0?g:c(a),s=0>s?Math.max(g+s,0):Math.min(s,g),y=0>y?Math.max(g+y,0):Math.min(y,g),a=0>a?Math.max(g+a,0):Math.min(a,g),s<y)for(;y<a;)y in this?this[s++]=this[y++]:(delete this[s++],y++);else for(a=Math.min(a,g+y-s),s+=a-y;a>y;)--a in this?this[--s]=this[a]:delete this[--s];return this}},"es6","es3");_.typedArrayCopyWithin=function(p){return p||Array.prototype.copyWithin};_.polyfill("Int8Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint8Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint8ClampedArray.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Int16Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint16Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Int32Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint32Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Float32Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Float64Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");var dt=function(){var p=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(p=p||__filename),function(c){function s(e){return t.locateFile?t.locateFile(e,Q):Q+e}function y(e,r,n){var o=r+n;for(n=r;e[n]&&!(n>=o);)++n;if(16<n-r&&e.buffer&&Ot)return Ot.decode(e.subarray(r,n));for(o="";r<n;){var m=e[r++];if(m&128){var b=e[r++]&63;if((m&224)==192)o+=String.fromCharCode((m&31)<<6|b);else{var X=e[r++]&63;m=(m&240)==224?(m&15)<<12|b<<6|X:(m&7)<<18|b<<12|X<<6|e[r++]&63,65536>m?o+=String.fromCharCode(m):(m-=65536,o+=String.fromCharCode(55296|m>>10,56320|m&1023))}}else o+=String.fromCharCode(m)}return o}function a(e,r){return e?y(tt,e,r):""}function g(){var e=_t.buffer;t.HEAP8=q=new Int8Array(e),t.HEAP16=new Int16Array(e),t.HEAP32=et=new Int32Array(e),t.HEAPU8=tt=new Uint8Array(e),t.HEAPU16=new Uint16Array(e),t.HEAPU32=x=new Uint32Array(e),t.HEAPF32=new Float32Array(e),t.HEAPF64=new Float64Array(e)}function i(e){throw t.onAbort&&t.onAbort(e),e="Aborted("+e+")",J(e),Gt=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),ot(e),e}function l(e){try{if(e==z&&Z)return new Uint8Array(Z);if(ut)return ut(e);throw"both async and sync fetching of the wasm failed"}catch(r){i(r)}}function h(){if(!Z&&(It||$)){if(typeof fetch=="function"&&!z.startsWith("file://"))return fetch(z,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+z+"'";return e.arrayBuffer()}).catch(function(){return l(z)});if(st)return new Promise(function(e,r){st(z,function(n){e(new Uint8Array(n))},r)})}return Promise.resolve().then(function(){return l(z)})}function I(e){for(;0<e.length;)e.shift()(t)}function C(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(r){x[this.ptr+4>>2]=r},this.get_type=function(){return x[this.ptr+4>>2]},this.set_destructor=function(r){x[this.ptr+8>>2]=r},this.get_destructor=function(){return x[this.ptr+8>>2]},this.set_refcount=function(r){et[this.ptr>>2]=r},this.set_caught=function(r){q[this.ptr+12>>0]=r?1:0},this.get_caught=function(){return q[this.ptr+12>>0]!=0},this.set_rethrown=function(r){q[this.ptr+13>>0]=r?1:0},this.get_rethrown=function(){return q[this.ptr+13>>0]!=0},this.init=function(r,n){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(n),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){et[this.ptr>>2]+=1},this.release_ref=function(){var r=et[this.ptr>>2];return et[this.ptr>>2]=r-1,r===1},this.set_adjusted_ptr=function(r){x[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return x[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ln(this.get_type()))return x[this.excPtr>>2];var r=this.get_adjusted_ptr();return r!==0?r:this.excPtr}}function K(){function e(){if(!it&&(it=!0,t.calledRun=!0,!Gt)){if(Rt=!0,I(ct),ht(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)Pt.unshift(t.postRun.shift());I(Pt)}}if(!(0<k)){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)jt.unshift(t.preRun.shift());I(jt),0<k||(t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),e()},1)):e())}}function f(){}function T(e){return(e||f).__cache__}function G(e,r){var n=T(r),o=n[e];return o||(o=Object.create((r||f).prototype),o.ptr=e,n[e]=o)}function V(e){if(typeof e=="string"){for(var r=0,n=0;n<e.length;++n){var o=e.charCodeAt(n);127>=o?r++:2047>=o?r+=2:55296<=o&&57343>=o?(r+=4,++n):r+=3}if(r=Array(r+1),n=0,o=r.length,0<o){o=n+o-1;for(var m=0;m<e.length;++m){var b=e.charCodeAt(m);if(55296<=b&&57343>=b){var X=e.charCodeAt(++m);b=65536+((b&1023)<<10)|X&1023}if(127>=b){if(n>=o)break;r[n++]=b}else{if(2047>=b){if(n+1>=o)break;r[n++]=192|b>>6}else{if(65535>=b){if(n+2>=o)break;r[n++]=224|b>>12}else{if(n+3>=o)break;r[n++]=240|b>>18,r[n++]=128|b>>12&63}r[n++]=128|b>>6&63}r[n++]=128|b&63}}r[n]=0}return e=d.alloc(r,q),d.copy(r,q,e),e}return e}function at(e){if(typeof e=="object"){var r=d.alloc(e,q);return d.copy(e,q,r),r}return e}function H(){throw"cannot construct a VoidPtr, no constructor in IDL"}function B(){this.ptr=Mt(),T(B)[this.ptr]=this}function w(){this.ptr=Ft(),T(w)[this.ptr]=this}function Y(){this.ptr=wt(),T(Y)[this.ptr]=this}function A(){this.ptr=Vt(),T(A)[this.ptr]=this}function E(){this.ptr=Jt(),T(E)[this.ptr]=this}function j(){this.ptr=ne(),T(j)[this.ptr]=this}function P(){this.ptr=ae(),T(P)[this.ptr]=this}function O(){this.ptr=ce(),T(O)[this.ptr]=this}function W(){this.ptr=de(),T(W)[this.ptr]=this}function v(){throw"cannot construct a Status, no constructor in IDL"}function R(){this.ptr=Ie(),T(R)[this.ptr]=this}function S(){this.ptr=Ge(),T(S)[this.ptr]=this}function M(){this.ptr=Re(),T(M)[this.ptr]=this}function N(){this.ptr=Ue(),T(N)[this.ptr]=this}function U(){this.ptr=we(),T(U)[this.ptr]=this}function F(){this.ptr=We(),T(F)[this.ptr]=this}function L(){this.ptr=He(),T(L)[this.ptr]=this}function D(){this.ptr=Ke(),T(D)[this.ptr]=this}function u(){this.ptr=_r(),T(u)[this.ptr]=this}c=c===void 0?{}:c;var t=typeof c<"u"?c:{},ht,ot;t.ready=new Promise(function(e,r){ht=e,ot=r});var At=!1,Tt=!1;t.onRuntimeInitialized=function(){At=!0,Tt&&typeof t.onModuleLoaded=="function"&&t.onModuleLoaded(t)},t.onModuleParsed=function(){Tt=!0,At&&typeof t.onModuleLoaded=="function"&&t.onModuleLoaded(t)},t.isVersionSupported=function(e){return typeof e!="string"?!1:(e=e.split("."),2>e.length||3<e.length?!1:e[0]==1&&0<=e[1]&&5>=e[1]?!0:!(e[0]!=0||10<e[1]))};var Dt=Object.assign({},t),It=typeof window=="object",$=typeof importScripts=="function",gt=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Q="";if(gt){var vt=fn("fs"),pt=fn("path");Q=$?pt.dirname(Q)+"/":__dirname+"/";var Et=function(e,r){return e=e.startsWith("file://")?new URL(e):pt.normalize(e),vt.readFileSync(e,r?void 0:"utf8")},ut=function(e){return e=Et(e,!0),e.buffer||(e=new Uint8Array(e)),e},st=function(e,r,n){e=e.startsWith("file://")?new URL(e):pt.normalize(e),vt.readFile(e,function(o,m){o?n(o):r(m.buffer)})};1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),t.inspect=function(){return"[Emscripten Module object]"}}else(It||$)&&($?Q=self.location.href:typeof document<"u"&&document.currentScript&&(Q=document.currentScript.src),p&&(Q=p),Q=Q.indexOf("blob:")!==0?Q.substr(0,Q.replace(/[?#].*/,"").lastIndexOf("/")+1):"",Et=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},$&&(ut=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),st=function(e,r,n){var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=function(){o.status==200||o.status==0&&o.response?r(o.response):n()},o.onerror=n,o.send(null)});var dn=t.print||console.log.bind(console),J=t.printErr||console.warn.bind(console);Object.assign(t,Dt),Dt=null;var Z;t.wasmBinary&&(Z=t.wasmBinary),typeof WebAssembly!="object"&&i("no native wasm support detected");var _t,Gt=!1,Ot=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,q,tt,et,x,jt=[],ct=[],Pt=[],Rt=!1,k=0,yt=null,rt=null,z="draco_decoder.wasm";z.startsWith("data:application/octet-stream;base64,")||(z=s(z));var bn=0,hn=[null,[],[]],An={b:function(e,r,n){throw new C(e).init(r,n),bn++,e},a:function(){i("")},g:function(e,r,n){tt.copyWithin(e,r,r+n)},e:function(e){var r=tt.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var o=r*(1+.2/n);o=Math.min(o,e+100663296);var m=Math;o=Math.max(e,o),m=m.min.call(m,2147483648,o+(65536-o%65536)%65536);t:{o=_t.buffer;try{_t.grow(m-o.byteLength+65535>>>16),g();var b=1;break t}catch{}b=void 0}if(b)return!0}return!1},f:function(e){return 52},d:function(e,r,n,o,m){return 70},c:function(e,r,n,o){for(var m=0,b=0;b<n;b++){var X=x[r>>2],mn=x[r+4>>2];r+=8;for(var lt=0;lt<mn;lt++){var mt=tt[X+lt],ft=hn[e];mt===0||mt===10?((e===1?dn:J)(y(ft,0)),ft.length=0):ft.push(mt)}m+=mn}return x[o>>2]=m,0}};(function(){function e(m,b){t.asm=m.exports,_t=t.asm.h,g(),ct.unshift(t.asm.i),k--,t.monitorRunDependencies&&t.monitorRunDependencies(k),k==0&&(yt!==null&&(clearInterval(yt),yt=null),rt&&(m=rt,rt=null,m()))}function r(m){e(m.instance)}function n(m){return h().then(function(b){return WebAssembly.instantiate(b,o)}).then(function(b){return b}).then(m,function(b){J("failed to asynchronously prepare wasm: "+b),i(b)})}var o={a:An};if(k++,t.monitorRunDependencies&&t.monitorRunDependencies(k),t.instantiateWasm)try{return t.instantiateWasm(o,e)}catch(m){J("Module.instantiateWasm callback failed with error: "+m),ot(m)}return function(){return Z||typeof WebAssembly.instantiateStreaming!="function"||z.startsWith("data:application/octet-stream;base64,")||z.startsWith("file://")||gt||typeof fetch!="function"?n(r):fetch(z,{credentials:"same-origin"}).then(function(m){return WebAssembly.instantiateStreaming(m,o).then(r,function(b){return J("wasm streaming compile failed: "+b),J("falling back to ArrayBuffer instantiation"),n(r)})})}().catch(ot),{}})();var St=t._emscripten_bind_VoidPtr___destroy___0=function(){return(St=t._emscripten_bind_VoidPtr___destroy___0=t.asm.k).apply(null,arguments)},Mt=t._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(Mt=t._emscripten_bind_DecoderBuffer_DecoderBuffer_0=t.asm.l).apply(null,arguments)},Nt=t._emscripten_bind_DecoderBuffer_Init_2=function(){return(Nt=t._emscripten_bind_DecoderBuffer_Init_2=t.asm.m).apply(null,arguments)},Ut=t._emscripten_bind_DecoderBuffer___destroy___0=function(){return(Ut=t._emscripten_bind_DecoderBuffer___destroy___0=t.asm.n).apply(null,arguments)},Ft=t._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(Ft=t._emscripten_bind_AttributeTransformData_AttributeTransformData_0=t.asm.o).apply(null,arguments)},Lt=t._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(Lt=t._emscripten_bind_AttributeTransformData_transform_type_0=t.asm.p).apply(null,arguments)},Ct=t._emscripten_bind_AttributeTransformData___destroy___0=function(){return(Ct=t._emscripten_bind_AttributeTransformData___destroy___0=t.asm.q).apply(null,arguments)},wt=t._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(wt=t._emscripten_bind_GeometryAttribute_GeometryAttribute_0=t.asm.r).apply(null,arguments)},zt=t._emscripten_bind_GeometryAttribute___destroy___0=function(){return(zt=t._emscripten_bind_GeometryAttribute___destroy___0=t.asm.s).apply(null,arguments)},Vt=t._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(Vt=t._emscripten_bind_PointAttribute_PointAttribute_0=t.asm.t).apply(null,arguments)},Bt=t._emscripten_bind_PointAttribute_size_0=function(){return(Bt=t._emscripten_bind_PointAttribute_size_0=t.asm.u).apply(null,arguments)},Wt=t._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(Wt=t._emscripten_bind_PointAttribute_GetAttributeTransformData_0=t.asm.v).apply(null,arguments)},Qt=t._emscripten_bind_PointAttribute_attribute_type_0=function(){return(Qt=t._emscripten_bind_PointAttribute_attribute_type_0=t.asm.w).apply(null,arguments)},xt=t._emscripten_bind_PointAttribute_data_type_0=function(){return(xt=t._emscripten_bind_PointAttribute_data_type_0=t.asm.x).apply(null,arguments)},Yt=t._emscripten_bind_PointAttribute_num_components_0=function(){return(Yt=t._emscripten_bind_PointAttribute_num_components_0=t.asm.y).apply(null,arguments)},Ht=t._emscripten_bind_PointAttribute_normalized_0=function(){return(Ht=t._emscripten_bind_PointAttribute_normalized_0=t.asm.z).apply(null,arguments)},qt=t._emscripten_bind_PointAttribute_byte_stride_0=function(){return(qt=t._emscripten_bind_PointAttribute_byte_stride_0=t.asm.A).apply(null,arguments)},kt=t._emscripten_bind_PointAttribute_byte_offset_0=function(){return(kt=t._emscripten_bind_PointAttribute_byte_offset_0=t.asm.B).apply(null,arguments)},Xt=t._emscripten_bind_PointAttribute_unique_id_0=function(){return(Xt=t._emscripten_bind_PointAttribute_unique_id_0=t.asm.C).apply(null,arguments)},Kt=t._emscripten_bind_PointAttribute___destroy___0=function(){return(Kt=t._emscripten_bind_PointAttribute___destroy___0=t.asm.D).apply(null,arguments)},Jt=t._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Jt=t._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=t.asm.E).apply(null,arguments)},$t=t._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return($t=t._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=t.asm.F).apply(null,arguments)},Zt=t._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Zt=t._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=t.asm.G).apply(null,arguments)},te=t._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(te=t._emscripten_bind_AttributeQuantizationTransform_min_value_1=t.asm.H).apply(null,arguments)},ee=t._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(ee=t._emscripten_bind_AttributeQuantizationTransform_range_0=t.asm.I).apply(null,arguments)},re=t._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(re=t._emscripten_bind_AttributeQuantizationTransform___destroy___0=t.asm.J).apply(null,arguments)},ne=t._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(ne=t._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=t.asm.K).apply(null,arguments)},oe=t._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(oe=t._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=t.asm.L).apply(null,arguments)},_e=t._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(_e=t._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=t.asm.M).apply(null,arguments)},ie=t._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(ie=t._emscripten_bind_AttributeOctahedronTransform___destroy___0=t.asm.N).apply(null,arguments)},ae=t._emscripten_bind_PointCloud_PointCloud_0=function(){return(ae=t._emscripten_bind_PointCloud_PointCloud_0=t.asm.O).apply(null,arguments)},pe=t._emscripten_bind_PointCloud_num_attributes_0=function(){return(pe=t._emscripten_bind_PointCloud_num_attributes_0=t.asm.P).apply(null,arguments)},ue=t._emscripten_bind_PointCloud_num_points_0=function(){return(ue=t._emscripten_bind_PointCloud_num_points_0=t.asm.Q).apply(null,arguments)},se=t._emscripten_bind_PointCloud___destroy___0=function(){return(se=t._emscripten_bind_PointCloud___destroy___0=t.asm.R).apply(null,arguments)},ce=t._emscripten_bind_Mesh_Mesh_0=function(){return(ce=t._emscripten_bind_Mesh_Mesh_0=t.asm.S).apply(null,arguments)},ye=t._emscripten_bind_Mesh_num_faces_0=function(){return(ye=t._emscripten_bind_Mesh_num_faces_0=t.asm.T).apply(null,arguments)},le=t._emscripten_bind_Mesh_num_attributes_0=function(){return(le=t._emscripten_bind_Mesh_num_attributes_0=t.asm.U).apply(null,arguments)},me=t._emscripten_bind_Mesh_num_points_0=function(){return(me=t._emscripten_bind_Mesh_num_points_0=t.asm.V).apply(null,arguments)},fe=t._emscripten_bind_Mesh___destroy___0=function(){return(fe=t._emscripten_bind_Mesh___destroy___0=t.asm.W).apply(null,arguments)},de=t._emscripten_bind_Metadata_Metadata_0=function(){return(de=t._emscripten_bind_Metadata_Metadata_0=t.asm.X).apply(null,arguments)},be=t._emscripten_bind_Metadata___destroy___0=function(){return(be=t._emscripten_bind_Metadata___destroy___0=t.asm.Y).apply(null,arguments)},he=t._emscripten_bind_Status_code_0=function(){return(he=t._emscripten_bind_Status_code_0=t.asm.Z).apply(null,arguments)},Ae=t._emscripten_bind_Status_ok_0=function(){return(Ae=t._emscripten_bind_Status_ok_0=t.asm._).apply(null,arguments)},Te=t._emscripten_bind_Status_error_msg_0=function(){return(Te=t._emscripten_bind_Status_error_msg_0=t.asm.$).apply(null,arguments)},De=t._emscripten_bind_Status___destroy___0=function(){return(De=t._emscripten_bind_Status___destroy___0=t.asm.aa).apply(null,arguments)},Ie=t._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(Ie=t._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=t.asm.ba).apply(null,arguments)},ge=t._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(ge=t._emscripten_bind_DracoFloat32Array_GetValue_1=t.asm.ca).apply(null,arguments)},ve=t._emscripten_bind_DracoFloat32Array_size_0=function(){return(ve=t._emscripten_bind_DracoFloat32Array_size_0=t.asm.da).apply(null,arguments)},Ee=t._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(Ee=t._emscripten_bind_DracoFloat32Array___destroy___0=t.asm.ea).apply(null,arguments)},Ge=t._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(Ge=t._emscripten_bind_DracoInt8Array_DracoInt8Array_0=t.asm.fa).apply(null,arguments)},Oe=t._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(Oe=t._emscripten_bind_DracoInt8Array_GetValue_1=t.asm.ga).apply(null,arguments)},je=t._emscripten_bind_DracoInt8Array_size_0=function(){return(je=t._emscripten_bind_DracoInt8Array_size_0=t.asm.ha).apply(null,arguments)},Pe=t._emscripten_bind_DracoInt8Array___destroy___0=function(){return(Pe=t._emscripten_bind_DracoInt8Array___destroy___0=t.asm.ia).apply(null,arguments)},Re=t._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(Re=t._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=t.asm.ja).apply(null,arguments)},Se=t._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(Se=t._emscripten_bind_DracoUInt8Array_GetValue_1=t.asm.ka).apply(null,arguments)},Me=t._emscripten_bind_DracoUInt8Array_size_0=function(){return(Me=t._emscripten_bind_DracoUInt8Array_size_0=t.asm.la).apply(null,arguments)},Ne=t._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(Ne=t._emscripten_bind_DracoUInt8Array___destroy___0=t.asm.ma).apply(null,arguments)},Ue=t._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(Ue=t._emscripten_bind_DracoInt16Array_DracoInt16Array_0=t.asm.na).apply(null,arguments)},Fe=t._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(Fe=t._emscripten_bind_DracoInt16Array_GetValue_1=t.asm.oa).apply(null,arguments)},Le=t._emscripten_bind_DracoInt16Array_size_0=function(){return(Le=t._emscripten_bind_DracoInt16Array_size_0=t.asm.pa).apply(null,arguments)},Ce=t._emscripten_bind_DracoInt16Array___destroy___0=function(){return(Ce=t._emscripten_bind_DracoInt16Array___destroy___0=t.asm.qa).apply(null,arguments)},we=t._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(we=t._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=t.asm.ra).apply(null,arguments)},ze=t._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(ze=t._emscripten_bind_DracoUInt16Array_GetValue_1=t.asm.sa).apply(null,arguments)},Ve=t._emscripten_bind_DracoUInt16Array_size_0=function(){return(Ve=t._emscripten_bind_DracoUInt16Array_size_0=t.asm.ta).apply(null,arguments)},Be=t._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(Be=t._emscripten_bind_DracoUInt16Array___destroy___0=t.asm.ua).apply(null,arguments)},We=t._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(We=t._emscripten_bind_DracoInt32Array_DracoInt32Array_0=t.asm.va).apply(null,arguments)},Qe=t._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(Qe=t._emscripten_bind_DracoInt32Array_GetValue_1=t.asm.wa).apply(null,arguments)},xe=t._emscripten_bind_DracoInt32Array_size_0=function(){return(xe=t._emscripten_bind_DracoInt32Array_size_0=t.asm.xa).apply(null,arguments)},Ye=t._emscripten_bind_DracoInt32Array___destroy___0=function(){return(Ye=t._emscripten_bind_DracoInt32Array___destroy___0=t.asm.ya).apply(null,arguments)},He=t._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(He=t._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=t.asm.za).apply(null,arguments)},qe=t._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(qe=t._emscripten_bind_DracoUInt32Array_GetValue_1=t.asm.Aa).apply(null,arguments)},ke=t._emscripten_bind_DracoUInt32Array_size_0=function(){return(ke=t._emscripten_bind_DracoUInt32Array_size_0=t.asm.Ba).apply(null,arguments)},Xe=t._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(Xe=t._emscripten_bind_DracoUInt32Array___destroy___0=t.asm.Ca).apply(null,arguments)},Ke=t._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Ke=t._emscripten_bind_MetadataQuerier_MetadataQuerier_0=t.asm.Da).apply(null,arguments)},Je=t._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(Je=t._emscripten_bind_MetadataQuerier_HasEntry_2=t.asm.Ea).apply(null,arguments)},$e=t._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return($e=t._emscripten_bind_MetadataQuerier_GetIntEntry_2=t.asm.Fa).apply(null,arguments)},Ze=t._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Ze=t._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=t.asm.Ga).apply(null,arguments)},tr=t._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(tr=t._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=t.asm.Ha).apply(null,arguments)},er=t._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(er=t._emscripten_bind_MetadataQuerier_GetStringEntry_2=t.asm.Ia).apply(null,arguments)},rr=t._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(rr=t._emscripten_bind_MetadataQuerier_NumEntries_1=t.asm.Ja).apply(null,arguments)},nr=t._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(nr=t._emscripten_bind_MetadataQuerier_GetEntryName_2=t.asm.Ka).apply(null,arguments)},or=t._emscripten_bind_MetadataQuerier___destroy___0=function(){return(or=t._emscripten_bind_MetadataQuerier___destroy___0=t.asm.La).apply(null,arguments)},_r=t._emscripten_bind_Decoder_Decoder_0=function(){return(_r=t._emscripten_bind_Decoder_Decoder_0=t.asm.Ma).apply(null,arguments)},ir=t._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(ir=t._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=t.asm.Na).apply(null,arguments)},ar=t._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(ar=t._emscripten_bind_Decoder_DecodeArrayToMesh_3=t.asm.Oa).apply(null,arguments)},pr=t._emscripten_bind_Decoder_GetAttributeId_2=function(){return(pr=t._emscripten_bind_Decoder_GetAttributeId_2=t.asm.Pa).apply(null,arguments)},ur=t._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(ur=t._emscripten_bind_Decoder_GetAttributeIdByName_2=t.asm.Qa).apply(null,arguments)},sr=t._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(sr=t._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=t.asm.Ra).apply(null,arguments)},cr=t._emscripten_bind_Decoder_GetAttribute_2=function(){return(cr=t._emscripten_bind_Decoder_GetAttribute_2=t.asm.Sa).apply(null,arguments)},yr=t._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(yr=t._emscripten_bind_Decoder_GetAttributeByUniqueId_2=t.asm.Ta).apply(null,arguments)},lr=t._emscripten_bind_Decoder_GetMetadata_1=function(){return(lr=t._emscripten_bind_Decoder_GetMetadata_1=t.asm.Ua).apply(null,arguments)},mr=t._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(mr=t._emscripten_bind_Decoder_GetAttributeMetadata_2=t.asm.Va).apply(null,arguments)},fr=t._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(fr=t._emscripten_bind_Decoder_GetFaceFromMesh_3=t.asm.Wa).apply(null,arguments)},dr=t._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(dr=t._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=t.asm.Xa).apply(null,arguments)},br=t._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(br=t._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=t.asm.Ya).apply(null,arguments)},hr=t._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(hr=t._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=t.asm.Za).apply(null,arguments)},Ar=t._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Ar=t._emscripten_bind_Decoder_GetAttributeFloat_3=t.asm._a).apply(null,arguments)},Tr=t._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Tr=t._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=t.asm.$a).apply(null,arguments)},Dr=t._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(Dr=t._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=t.asm.ab).apply(null,arguments)},Ir=t._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(Ir=t._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=t.asm.bb).apply(null,arguments)},gr=t._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(gr=t._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=t.asm.cb).apply(null,arguments)},vr=t._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(vr=t._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=t.asm.db).apply(null,arguments)},Er=t._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(Er=t._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=t.asm.eb).apply(null,arguments)},Gr=t._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(Gr=t._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=t.asm.fb).apply(null,arguments)},Or=t._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(Or=t._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=t.asm.gb).apply(null,arguments)},jr=t._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(jr=t._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=t.asm.hb).apply(null,arguments)},Pr=t._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(Pr=t._emscripten_bind_Decoder_SkipAttributeTransform_1=t.asm.ib).apply(null,arguments)},Rr=t._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(Rr=t._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=t.asm.jb).apply(null,arguments)},Sr=t._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(Sr=t._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=t.asm.kb).apply(null,arguments)},Mr=t._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(Mr=t._emscripten_bind_Decoder_DecodeBufferToMesh_2=t.asm.lb).apply(null,arguments)},Nr=t._emscripten_bind_Decoder___destroy___0=function(){return(Nr=t._emscripten_bind_Decoder___destroy___0=t.asm.mb).apply(null,arguments)},Ur=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(Ur=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=t.asm.nb).apply(null,arguments)},Fr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(Fr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=t.asm.ob).apply(null,arguments)},Lr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(Lr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=t.asm.pb).apply(null,arguments)},Cr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(Cr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=t.asm.qb).apply(null,arguments)},wr=t._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(wr=t._emscripten_enum_draco_GeometryAttribute_Type_INVALID=t.asm.rb).apply(null,arguments)},zr=t._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(zr=t._emscripten_enum_draco_GeometryAttribute_Type_POSITION=t.asm.sb).apply(null,arguments)},Vr=t._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(Vr=t._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=t.asm.tb).apply(null,arguments)},Br=t._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(Br=t._emscripten_enum_draco_GeometryAttribute_Type_COLOR=t.asm.ub).apply(null,arguments)},Wr=t._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(Wr=t._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=t.asm.vb).apply(null,arguments)},Qr=t._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(Qr=t._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=t.asm.wb).apply(null,arguments)},xr=t._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(xr=t._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=t.asm.xb).apply(null,arguments)},Yr=t._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(Yr=t._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=t.asm.yb).apply(null,arguments)},Hr=t._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(Hr=t._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=t.asm.zb).apply(null,arguments)},qr=t._emscripten_enum_draco_DataType_DT_INVALID=function(){return(qr=t._emscripten_enum_draco_DataType_DT_INVALID=t.asm.Ab).apply(null,arguments)},kr=t._emscripten_enum_draco_DataType_DT_INT8=function(){return(kr=t._emscripten_enum_draco_DataType_DT_INT8=t.asm.Bb).apply(null,arguments)},Xr=t._emscripten_enum_draco_DataType_DT_UINT8=function(){return(Xr=t._emscripten_enum_draco_DataType_DT_UINT8=t.asm.Cb).apply(null,arguments)},Kr=t._emscripten_enum_draco_DataType_DT_INT16=function(){return(Kr=t._emscripten_enum_draco_DataType_DT_INT16=t.asm.Db).apply(null,arguments)},Jr=t._emscripten_enum_draco_DataType_DT_UINT16=function(){return(Jr=t._emscripten_enum_draco_DataType_DT_UINT16=t.asm.Eb).apply(null,arguments)},$r=t._emscripten_enum_draco_DataType_DT_INT32=function(){return($r=t._emscripten_enum_draco_DataType_DT_INT32=t.asm.Fb).apply(null,arguments)},Zr=t._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Zr=t._emscripten_enum_draco_DataType_DT_UINT32=t.asm.Gb).apply(null,arguments)},tn=t._emscripten_enum_draco_DataType_DT_INT64=function(){return(tn=t._emscripten_enum_draco_DataType_DT_INT64=t.asm.Hb).apply(null,arguments)},en=t._emscripten_enum_draco_DataType_DT_UINT64=function(){return(en=t._emscripten_enum_draco_DataType_DT_UINT64=t.asm.Ib).apply(null,arguments)},rn=t._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(rn=t._emscripten_enum_draco_DataType_DT_FLOAT32=t.asm.Jb).apply(null,arguments)},nn=t._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(nn=t._emscripten_enum_draco_DataType_DT_FLOAT64=t.asm.Kb).apply(null,arguments)},on=t._emscripten_enum_draco_DataType_DT_BOOL=function(){return(on=t._emscripten_enum_draco_DataType_DT_BOOL=t.asm.Lb).apply(null,arguments)},_n=t._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(_n=t._emscripten_enum_draco_DataType_DT_TYPES_COUNT=t.asm.Mb).apply(null,arguments)},an=t._emscripten_enum_draco_StatusCode_OK=function(){return(an=t._emscripten_enum_draco_StatusCode_OK=t.asm.Nb).apply(null,arguments)},pn=t._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(pn=t._emscripten_enum_draco_StatusCode_DRACO_ERROR=t.asm.Ob).apply(null,arguments)},un=t._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(un=t._emscripten_enum_draco_StatusCode_IO_ERROR=t.asm.Pb).apply(null,arguments)},sn=t._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(sn=t._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=t.asm.Qb).apply(null,arguments)},cn=t._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(cn=t._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=t.asm.Rb).apply(null,arguments)},yn=t._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(yn=t._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=t.asm.Sb).apply(null,arguments)};t._malloc=function(){return(t._malloc=t.asm.Tb).apply(null,arguments)},t._free=function(){return(t._free=t.asm.Ub).apply(null,arguments)};var ln=function(){return(ln=t.asm.Vb).apply(null,arguments)};t.___start_em_js=15856,t.___stop_em_js=15954;var it;if(rt=function e(){it||K(),it||(rt=e)},t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();K(),f.prototype=Object.create(f.prototype),f.prototype.constructor=f,f.prototype.__class__=f,f.__cache__={},t.WrapperObject=f,t.getCache=T,t.wrapPointer=G,t.castObject=function(e,r){return G(e.ptr,r)},t.NULL=G(0),t.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete T(e.__class__)[e.ptr]},t.compare=function(e,r){return e.ptr===r.ptr},t.getPointer=function(e){return e.ptr},t.getClass=function(e){return e.__class__};var d={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(d.needed){for(var e=0;e<d.temps.length;e++)t._free(d.temps[e]);d.temps.length=0,t._free(d.buffer),d.buffer=0,d.size+=d.needed,d.needed=0}d.buffer||(d.size+=128,d.buffer=t._malloc(d.size),d.buffer||i(void 0)),d.pos=0},alloc:function(e,r){return d.buffer||i(void 0),e=e.length*r.BYTES_PER_ELEMENT,e=e+7&-8,d.pos+e>=d.size?(0<e||i(void 0),d.needed+=e,r=t._malloc(e),d.temps.push(r)):(r=d.buffer+d.pos,d.pos+=e),r},copy:function(e,r,n){switch(n>>>=0,r.BYTES_PER_ELEMENT){case 2:n>>>=1;break;case 4:n>>>=2;break;case 8:n>>>=3}for(var o=0;o<e.length;o++)r[n+o]=e[o]}};return H.prototype=Object.create(f.prototype),H.prototype.constructor=H,H.prototype.__class__=H,H.__cache__={},t.VoidPtr=H,H.prototype.__destroy__=H.prototype.__destroy__=function(){St(this.ptr)},B.prototype=Object.create(f.prototype),B.prototype.constructor=B,B.prototype.__class__=B,B.__cache__={},t.DecoderBuffer=B,B.prototype.Init=B.prototype.Init=function(e,r){var n=this.ptr;d.prepare(),typeof e=="object"&&(e=at(e)),r&&typeof r=="object"&&(r=r.ptr),Nt(n,e,r)},B.prototype.__destroy__=B.prototype.__destroy__=function(){Ut(this.ptr)},w.prototype=Object.create(f.prototype),w.prototype.constructor=w,w.prototype.__class__=w,w.__cache__={},t.AttributeTransformData=w,w.prototype.transform_type=w.prototype.transform_type=function(){return Lt(this.ptr)},w.prototype.__destroy__=w.prototype.__destroy__=function(){Ct(this.ptr)},Y.prototype=Object.create(f.prototype),Y.prototype.constructor=Y,Y.prototype.__class__=Y,Y.__cache__={},t.GeometryAttribute=Y,Y.prototype.__destroy__=Y.prototype.__destroy__=function(){zt(this.ptr)},A.prototype=Object.create(f.prototype),A.prototype.constructor=A,A.prototype.__class__=A,A.__cache__={},t.PointAttribute=A,A.prototype.size=A.prototype.size=function(){return Bt(this.ptr)},A.prototype.GetAttributeTransformData=A.prototype.GetAttributeTransformData=function(){return G(Wt(this.ptr),w)},A.prototype.attribute_type=A.prototype.attribute_type=function(){return Qt(this.ptr)},A.prototype.data_type=A.prototype.data_type=function(){return xt(this.ptr)},A.prototype.num_components=A.prototype.num_components=function(){return Yt(this.ptr)},A.prototype.normalized=A.prototype.normalized=function(){return!!Ht(this.ptr)},A.prototype.byte_stride=A.prototype.byte_stride=function(){return qt(this.ptr)},A.prototype.byte_offset=A.prototype.byte_offset=function(){return kt(this.ptr)},A.prototype.unique_id=A.prototype.unique_id=function(){return Xt(this.ptr)},A.prototype.__destroy__=A.prototype.__destroy__=function(){Kt(this.ptr)},E.prototype=Object.create(f.prototype),E.prototype.constructor=E,E.prototype.__class__=E,E.__cache__={},t.AttributeQuantizationTransform=E,E.prototype.InitFromAttribute=E.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),!!$t(r,e)},E.prototype.quantization_bits=E.prototype.quantization_bits=function(){return Zt(this.ptr)},E.prototype.min_value=E.prototype.min_value=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),te(r,e)},E.prototype.range=E.prototype.range=function(){return ee(this.ptr)},E.prototype.__destroy__=E.prototype.__destroy__=function(){re(this.ptr)},j.prototype=Object.create(f.prototype),j.prototype.constructor=j,j.prototype.__class__=j,j.__cache__={},t.AttributeOctahedronTransform=j,j.prototype.InitFromAttribute=j.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),!!oe(r,e)},j.prototype.quantization_bits=j.prototype.quantization_bits=function(){return _e(this.ptr)},j.prototype.__destroy__=j.prototype.__destroy__=function(){ie(this.ptr)},P.prototype=Object.create(f.prototype),P.prototype.constructor=P,P.prototype.__class__=P,P.__cache__={},t.PointCloud=P,P.prototype.num_attributes=P.prototype.num_attributes=function(){return pe(this.ptr)},P.prototype.num_points=P.prototype.num_points=function(){return ue(this.ptr)},P.prototype.__destroy__=P.prototype.__destroy__=function(){se(this.ptr)},O.prototype=Object.create(f.prototype),O.prototype.constructor=O,O.prototype.__class__=O,O.__cache__={},t.Mesh=O,O.prototype.num_faces=O.prototype.num_faces=function(){return ye(this.ptr)},O.prototype.num_attributes=O.prototype.num_attributes=function(){return le(this.ptr)},O.prototype.num_points=O.prototype.num_points=function(){return me(this.ptr)},O.prototype.__destroy__=O.prototype.__destroy__=function(){fe(this.ptr)},W.prototype=Object.create(f.prototype),W.prototype.constructor=W,W.prototype.__class__=W,W.__cache__={},t.Metadata=W,W.prototype.__destroy__=W.prototype.__destroy__=function(){be(this.ptr)},v.prototype=Object.create(f.prototype),v.prototype.constructor=v,v.prototype.__class__=v,v.__cache__={},t.Status=v,v.prototype.code=v.prototype.code=function(){return he(this.ptr)},v.prototype.ok=v.prototype.ok=function(){return!!Ae(this.ptr)},v.prototype.error_msg=v.prototype.error_msg=function(){return a(Te(this.ptr))},v.prototype.__destroy__=v.prototype.__destroy__=function(){De(this.ptr)},R.prototype=Object.create(f.prototype),R.prototype.constructor=R,R.prototype.__class__=R,R.__cache__={},t.DracoFloat32Array=R,R.prototype.GetValue=R.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),ge(r,e)},R.prototype.size=R.prototype.size=function(){return ve(this.ptr)},R.prototype.__destroy__=R.prototype.__destroy__=function(){Ee(this.ptr)},S.prototype=Object.create(f.prototype),S.prototype.constructor=S,S.prototype.__class__=S,S.__cache__={},t.DracoInt8Array=S,S.prototype.GetValue=S.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Oe(r,e)},S.prototype.size=S.prototype.size=function(){return je(this.ptr)},S.prototype.__destroy__=S.prototype.__destroy__=function(){Pe(this.ptr)},M.prototype=Object.create(f.prototype),M.prototype.constructor=M,M.prototype.__class__=M,M.__cache__={},t.DracoUInt8Array=M,M.prototype.GetValue=M.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Se(r,e)},M.prototype.size=M.prototype.size=function(){return Me(this.ptr)},M.prototype.__destroy__=M.prototype.__destroy__=function(){Ne(this.ptr)},N.prototype=Object.create(f.prototype),N.prototype.constructor=N,N.prototype.__class__=N,N.__cache__={},t.DracoInt16Array=N,N.prototype.GetValue=N.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Fe(r,e)},N.prototype.size=N.prototype.size=function(){return Le(this.ptr)},N.prototype.__destroy__=N.prototype.__destroy__=function(){Ce(this.ptr)},U.prototype=Object.create(f.prototype),U.prototype.constructor=U,U.prototype.__class__=U,U.__cache__={},t.DracoUInt16Array=U,U.prototype.GetValue=U.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),ze(r,e)},U.prototype.size=U.prototype.size=function(){return Ve(this.ptr)},U.prototype.__destroy__=U.prototype.__destroy__=function(){Be(this.ptr)},F.prototype=Object.create(f.prototype),F.prototype.constructor=F,F.prototype.__class__=F,F.__cache__={},t.DracoInt32Array=F,F.prototype.GetValue=F.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Qe(r,e)},F.prototype.size=F.prototype.size=function(){return xe(this.ptr)},F.prototype.__destroy__=F.prototype.__destroy__=function(){Ye(this.ptr)},L.prototype=Object.create(f.prototype),L.prototype.constructor=L,L.prototype.__class__=L,L.__cache__={},t.DracoUInt32Array=L,L.prototype.GetValue=L.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),qe(r,e)},L.prototype.size=L.prototype.size=function(){return ke(this.ptr)},L.prototype.__destroy__=L.prototype.__destroy__=function(){Xe(this.ptr)},D.prototype=Object.create(f.prototype),D.prototype.constructor=D,D.prototype.__class__=D,D.__cache__={},t.MetadataQuerier=D,D.prototype.HasEntry=D.prototype.HasEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),!!Je(n,e,r)},D.prototype.GetIntEntry=D.prototype.GetIntEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),$e(n,e,r)},D.prototype.GetIntEntryArray=D.prototype.GetIntEntryArray=function(e,r,n){var o=this.ptr;d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),n&&typeof n=="object"&&(n=n.ptr),Ze(o,e,r,n)},D.prototype.GetDoubleEntry=D.prototype.GetDoubleEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),tr(n,e,r)},D.prototype.GetStringEntry=D.prototype.GetStringEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),a(er(n,e,r))},D.prototype.NumEntries=D.prototype.NumEntries=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),rr(r,e)},D.prototype.GetEntryName=D.prototype.GetEntryName=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),a(nr(n,e,r))},D.prototype.__destroy__=D.prototype.__destroy__=function(){or(this.ptr)},u.prototype=Object.create(f.prototype),u.prototype.constructor=u,u.prototype.__class__=u,u.__cache__={},t.Decoder=u,u.prototype.DecodeArrayToPointCloud=u.prototype.DecodeArrayToPointCloud=function(e,r,n){var o=this.ptr;return d.prepare(),typeof e=="object"&&(e=at(e)),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),G(ir(o,e,r,n),v)},u.prototype.DecodeArrayToMesh=u.prototype.DecodeArrayToMesh=function(e,r,n){var o=this.ptr;return d.prepare(),typeof e=="object"&&(e=at(e)),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),G(ar(o,e,r,n),v)},u.prototype.GetAttributeId=u.prototype.GetAttributeId=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),pr(n,e,r)},u.prototype.GetAttributeIdByName=u.prototype.GetAttributeIdByName=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),ur(n,e,r)},u.prototype.GetAttributeIdByMetadataEntry=u.prototype.GetAttributeIdByMetadataEntry=function(e,r,n){var o=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),n=n&&typeof n=="object"?n.ptr:V(n),sr(o,e,r,n)},u.prototype.GetAttribute=u.prototype.GetAttribute=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(cr(n,e,r),A)},u.prototype.GetAttributeByUniqueId=u.prototype.GetAttributeByUniqueId=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(yr(n,e,r),A)},u.prototype.GetMetadata=u.prototype.GetMetadata=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),G(lr(r,e),W)},u.prototype.GetAttributeMetadata=u.prototype.GetAttributeMetadata=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(mr(n,e,r),W)},u.prototype.GetFaceFromMesh=u.prototype.GetFaceFromMesh=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!fr(o,e,r,n)},u.prototype.GetTriangleStripsFromMesh=u.prototype.GetTriangleStripsFromMesh=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),dr(n,e,r)},u.prototype.GetTrianglesUInt16Array=u.prototype.GetTrianglesUInt16Array=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!br(o,e,r,n)},u.prototype.GetTrianglesUInt32Array=u.prototype.GetTrianglesUInt32Array=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!hr(o,e,r,n)},u.prototype.GetAttributeFloat=u.prototype.GetAttributeFloat=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Ar(o,e,r,n)},u.prototype.GetAttributeFloatForAllPoints=u.prototype.GetAttributeFloatForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Tr(o,e,r,n)},u.prototype.GetAttributeIntForAllPoints=u.prototype.GetAttributeIntForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Dr(o,e,r,n)},u.prototype.GetAttributeInt8ForAllPoints=u.prototype.GetAttributeInt8ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Ir(o,e,r,n)},u.prototype.GetAttributeUInt8ForAllPoints=u.prototype.GetAttributeUInt8ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!gr(o,e,r,n)},u.prototype.GetAttributeInt16ForAllPoints=u.prototype.GetAttributeInt16ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!vr(o,e,r,n)},u.prototype.GetAttributeUInt16ForAllPoints=u.prototype.GetAttributeUInt16ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Er(o,e,r,n)},u.prototype.GetAttributeInt32ForAllPoints=u.prototype.GetAttributeInt32ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Gr(o,e,r,n)},u.prototype.GetAttributeUInt32ForAllPoints=u.prototype.GetAttributeUInt32ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Or(o,e,r,n)},u.prototype.GetAttributeDataArrayForAllPoints=u.prototype.GetAttributeDataArrayForAllPoints=function(e,r,n,o,m){var b=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),o&&typeof o=="object"&&(o=o.ptr),m&&typeof m=="object"&&(m=m.ptr),!!jr(b,e,r,n,o,m)},u.prototype.SkipAttributeTransform=u.prototype.SkipAttributeTransform=function(e){var r=this.ptr;e&&typeof e=="object"&&(e=e.ptr),Pr(r,e)},u.prototype.GetEncodedGeometryType_Deprecated=u.prototype.GetEncodedGeometryType_Deprecated=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Rr(r,e)},u.prototype.DecodeBufferToPointCloud=u.prototype.DecodeBufferToPointCloud=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(Sr(n,e,r),v)},u.prototype.DecodeBufferToMesh=u.prototype.DecodeBufferToMesh=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(Mr(n,e,r),v)},u.prototype.__destroy__=u.prototype.__destroy__=function(){Nr(this.ptr)},function(){function e(){t.ATTRIBUTE_INVALID_TRANSFORM=Ur(),t.ATTRIBUTE_NO_TRANSFORM=Fr(),t.ATTRIBUTE_QUANTIZATION_TRANSFORM=Lr(),t.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Cr(),t.INVALID=wr(),t.POSITION=zr(),t.NORMAL=Vr(),t.COLOR=Br(),t.TEX_COORD=Wr(),t.GENERIC=Qr(),t.INVALID_GEOMETRY_TYPE=xr(),t.POINT_CLOUD=Yr(),t.TRIANGULAR_MESH=Hr(),t.DT_INVALID=qr(),t.DT_INT8=kr(),t.DT_UINT8=Xr(),t.DT_INT16=Kr(),t.DT_UINT16=Jr(),t.DT_INT32=$r(),t.DT_UINT32=Zr(),t.DT_INT64=tn(),t.DT_UINT64=en(),t.DT_FLOAT32=rn(),t.DT_FLOAT64=nn(),t.DT_BOOL=on(),t.DT_TYPES_COUNT=_n(),t.OK=an(),t.DRACO_ERROR=pn(),t.IO_ERROR=un(),t.INVALID_PARAMETER=sn(),t.UNSUPPORTED_VERSION=cn(),t.UNKNOWN_VERSION=yn()}Rt?e():ct.unshift(e)}(),typeof t.onModuleParsed=="function"&&t.onModuleParsed(),t.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===t.DecoderBuffer)return t.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(8>e.byteLength)return t.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return t.POINT_CLOUD;case 1:return t.TRIANGULAR_MESH;default:return t.INVALID_GEOMETRY_TYPE}},c.ready}}();typeof nt=="object"&&typeof bt=="object"?bt.exports=dt:typeof define=="function"&&define.amd?define([],function(){return dt}):typeof nt=="object"&&(nt.DracoDecoderModule=dt)});export{Dn as a}; +import{a as fn,c as Tn}from"./chunk-OX5CTLXY.js";var Dn=Tn((nt,bt)=>{var _=_||{};_.scope={};_.arrayIteratorImpl=function(p){var c=0;return function(){return c<p.length?{done:!1,value:p[c++]}:{done:!0}}};_.arrayIterator=function(p){return{next:_.arrayIteratorImpl(p)}};_.makeIterator=function(p){var c=typeof Symbol<"u"&&Symbol.iterator&&p[Symbol.iterator];return c?c.call(p):_.arrayIterator(p)};_.ASSUME_ES5=!1;_.ASSUME_NO_NATIVE_MAP=!1;_.ASSUME_NO_NATIVE_SET=!1;_.SIMPLE_FROUND_POLYFILL=!1;_.ISOLATE_POLYFILLS=!1;_.FORCE_POLYFILL_PROMISE=!1;_.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION=!1;_.getGlobal=function(p){p=[typeof globalThis=="object"&&globalThis,p,typeof window=="object"&&window,typeof self=="object"&&self,typeof global=="object"&&global];for(var c=0;c<p.length;++c){var s=p[c];if(s&&s.Math==Math)return s}throw Error("Cannot find global object")};_.global=_.getGlobal(nt);_.defineProperty=_.ASSUME_ES5||typeof Object.defineProperties=="function"?Object.defineProperty:function(p,c,s){return p==Array.prototype||p==Object.prototype||(p[c]=s.value),p};_.IS_SYMBOL_NATIVE=typeof Symbol=="function"&&typeof Symbol("x")=="symbol";_.TRUST_ES6_POLYFILLS=!_.ISOLATE_POLYFILLS||_.IS_SYMBOL_NATIVE;_.polyfills={};_.propertyToPolyfillSymbol={};_.POLYFILL_PREFIX="$jscp$";_.polyfill=function(p,c,s,y){c&&(_.ISOLATE_POLYFILLS?_.polyfillIsolated(p,c,s,y):_.polyfillUnisolated(p,c,s,y))};_.polyfillUnisolated=function(p,c,s,y){for(s=_.global,p=p.split("."),y=0;y<p.length-1;y++){var a=p[y];if(!(a in s))return;s=s[a]}p=p[p.length-1],y=s[p],c=c(y),c!=y&&c!=null&&_.defineProperty(s,p,{configurable:!0,writable:!0,value:c})};_.polyfillIsolated=function(p,c,s,y){var a=p.split(".");p=a.length===1,y=a[0],y=!p&&y in _.polyfills?_.polyfills:_.global;for(var g=0;g<a.length-1;g++){var i=a[g];if(!(i in y))return;y=y[i]}a=a[a.length-1],s=_.IS_SYMBOL_NATIVE&&s==="es6"?y[a]:null,c=c(s),c!=null&&(p?_.defineProperty(_.polyfills,a,{configurable:!0,writable:!0,value:c}):c!==s&&(_.propertyToPolyfillSymbol[a]===void 0&&(s=1e9*Math.random()>>>0,_.propertyToPolyfillSymbol[a]=_.IS_SYMBOL_NATIVE?_.global.Symbol(a):_.POLYFILL_PREFIX+s+"$"+a),_.defineProperty(y,_.propertyToPolyfillSymbol[a],{configurable:!0,writable:!0,value:c})))};_.polyfill("Promise",function(p){function c(){this.batch_=null}function s(i){return i instanceof a?i:new a(function(l,h){l(i)})}if(p&&(!(_.FORCE_POLYFILL_PROMISE||_.FORCE_POLYFILL_PROMISE_WHEN_NO_UNHANDLED_REJECTION&&typeof _.global.PromiseRejectionEvent>"u")||!_.global.Promise||_.global.Promise.toString().indexOf("[native code]")===-1))return p;c.prototype.asyncExecute=function(i){if(this.batch_==null){this.batch_=[];var l=this;this.asyncExecuteFunction(function(){l.executeBatch_()})}this.batch_.push(i)};var y=_.global.setTimeout;c.prototype.asyncExecuteFunction=function(i){y(i,0)},c.prototype.executeBatch_=function(){for(;this.batch_&&this.batch_.length;){var i=this.batch_;this.batch_=[];for(var l=0;l<i.length;++l){var h=i[l];i[l]=null;try{h()}catch(I){this.asyncThrow_(I)}}}this.batch_=null},c.prototype.asyncThrow_=function(i){this.asyncExecuteFunction(function(){throw i})};var a=function(i){this.state_=0,this.result_=void 0,this.onSettledCallbacks_=[],this.isRejectionHandled_=!1;var l=this.createResolveAndReject_();try{i(l.resolve,l.reject)}catch(h){l.reject(h)}};a.prototype.createResolveAndReject_=function(){function i(I){return function(C){h||(h=!0,I.call(l,C))}}var l=this,h=!1;return{resolve:i(this.resolveTo_),reject:i(this.reject_)}},a.prototype.resolveTo_=function(i){if(i===this)this.reject_(new TypeError("A Promise cannot resolve to itself"));else if(i instanceof a)this.settleSameAsPromise_(i);else{t:switch(typeof i){case"object":var l=i!=null;break t;case"function":l=!0;break t;default:l=!1}l?this.resolveToNonPromiseObj_(i):this.fulfill_(i)}},a.prototype.resolveToNonPromiseObj_=function(i){var l=void 0;try{l=i.then}catch(h){this.reject_(h);return}typeof l=="function"?this.settleSameAsThenable_(l,i):this.fulfill_(i)},a.prototype.reject_=function(i){this.settle_(2,i)},a.prototype.fulfill_=function(i){this.settle_(1,i)},a.prototype.settle_=function(i,l){if(this.state_!=0)throw Error("Cannot settle("+i+", "+l+"): Promise already settled in state"+this.state_);this.state_=i,this.result_=l,this.state_===2&&this.scheduleUnhandledRejectionCheck_(),this.executeOnSettledCallbacks_()},a.prototype.scheduleUnhandledRejectionCheck_=function(){var i=this;y(function(){if(i.notifyUnhandledRejection_()){var l=_.global.console;typeof l<"u"&&l.error(i.result_)}},1)},a.prototype.notifyUnhandledRejection_=function(){if(this.isRejectionHandled_)return!1;var i=_.global.CustomEvent,l=_.global.Event,h=_.global.dispatchEvent;return typeof h>"u"?!0:(typeof i=="function"?i=new i("unhandledrejection",{cancelable:!0}):typeof l=="function"?i=new l("unhandledrejection",{cancelable:!0}):(i=_.global.document.createEvent("CustomEvent"),i.initCustomEvent("unhandledrejection",!1,!0,i)),i.promise=this,i.reason=this.result_,h(i))},a.prototype.executeOnSettledCallbacks_=function(){if(this.onSettledCallbacks_!=null){for(var i=0;i<this.onSettledCallbacks_.length;++i)g.asyncExecute(this.onSettledCallbacks_[i]);this.onSettledCallbacks_=null}};var g=new c;return a.prototype.settleSameAsPromise_=function(i){var l=this.createResolveAndReject_();i.callWhenSettled_(l.resolve,l.reject)},a.prototype.settleSameAsThenable_=function(i,l){var h=this.createResolveAndReject_();try{i.call(l,h.resolve,h.reject)}catch(I){h.reject(I)}},a.prototype.then=function(i,l){function h(f,T){return typeof f=="function"?function(G){try{I(f(G))}catch(V){C(V)}}:T}var I,C,K=new a(function(f,T){I=f,C=T});return this.callWhenSettled_(h(i,I),h(l,C)),K},a.prototype.catch=function(i){return this.then(void 0,i)},a.prototype.callWhenSettled_=function(i,l){function h(){switch(I.state_){case 1:i(I.result_);break;case 2:l(I.result_);break;default:throw Error("Unexpected state: "+I.state_)}}var I=this;this.onSettledCallbacks_==null?g.asyncExecute(h):this.onSettledCallbacks_.push(h),this.isRejectionHandled_=!0},a.resolve=s,a.reject=function(i){return new a(function(l,h){h(i)})},a.race=function(i){return new a(function(l,h){for(var I=_.makeIterator(i),C=I.next();!C.done;C=I.next())s(C.value).callWhenSettled_(l,h)})},a.all=function(i){var l=_.makeIterator(i),h=l.next();return h.done?s([]):new a(function(I,C){function K(G){return function(V){f[G]=V,T--,T==0&&I(f)}}var f=[],T=0;do f.push(void 0),T++,s(h.value).callWhenSettled_(K(f.length-1),C),h=l.next();while(!h.done)})},a},"es6","es3");_.owns=function(p,c){return Object.prototype.hasOwnProperty.call(p,c)};_.assign=_.TRUST_ES6_POLYFILLS&&typeof Object.assign=="function"?Object.assign:function(p,c){for(var s=1;s<arguments.length;s++){var y=arguments[s];if(y)for(var a in y)_.owns(y,a)&&(p[a]=y[a])}return p};_.polyfill("Object.assign",function(p){return p||_.assign},"es6","es3");_.checkStringArgs=function(p,c,s){if(p==null)throw new TypeError("The 'this' value for String.prototype."+s+" must not be null or undefined");if(c instanceof RegExp)throw new TypeError("First argument to String.prototype."+s+" must not be a regular expression");return p+""};_.polyfill("String.prototype.startsWith",function(p){return p||function(c,s){var y=_.checkStringArgs(this,c,"startsWith");c+="";var a=y.length,g=c.length;s=Math.max(0,Math.min(s|0,y.length));for(var i=0;i<g&&s<a;)if(y[s++]!=c[i++])return!1;return i>=g}},"es6","es3");_.polyfill("Array.prototype.copyWithin",function(p){function c(s){return s=Number(s),s===1/0||s===-1/0?s:s|0}return p||function(s,y,a){var g=this.length;if(s=c(s),y=c(y),a=a===void 0?g:c(a),s=0>s?Math.max(g+s,0):Math.min(s,g),y=0>y?Math.max(g+y,0):Math.min(y,g),a=0>a?Math.max(g+a,0):Math.min(a,g),s<y)for(;y<a;)y in this?this[s++]=this[y++]:(delete this[s++],y++);else for(a=Math.min(a,g+y-s),s+=a-y;a>y;)--a in this?this[--s]=this[a]:delete this[--s];return this}},"es6","es3");_.typedArrayCopyWithin=function(p){return p||Array.prototype.copyWithin};_.polyfill("Int8Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint8Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint8ClampedArray.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Int16Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint16Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Int32Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Uint32Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Float32Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");_.polyfill("Float64Array.prototype.copyWithin",_.typedArrayCopyWithin,"es6","es5");var dt=function(){var p=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(p=p||__filename),function(c){function s(e){return t.locateFile?t.locateFile(e,Q):Q+e}function y(e,r,n){var o=r+n;for(n=r;e[n]&&!(n>=o);)++n;if(16<n-r&&e.buffer&&Ot)return Ot.decode(e.subarray(r,n));for(o="";r<n;){var m=e[r++];if(m&128){var b=e[r++]&63;if((m&224)==192)o+=String.fromCharCode((m&31)<<6|b);else{var X=e[r++]&63;m=(m&240)==224?(m&15)<<12|b<<6|X:(m&7)<<18|b<<12|X<<6|e[r++]&63,65536>m?o+=String.fromCharCode(m):(m-=65536,o+=String.fromCharCode(55296|m>>10,56320|m&1023))}}else o+=String.fromCharCode(m)}return o}function a(e,r){return e?y(tt,e,r):""}function g(){var e=_t.buffer;t.HEAP8=q=new Int8Array(e),t.HEAP16=new Int16Array(e),t.HEAP32=et=new Int32Array(e),t.HEAPU8=tt=new Uint8Array(e),t.HEAPU16=new Uint16Array(e),t.HEAPU32=x=new Uint32Array(e),t.HEAPF32=new Float32Array(e),t.HEAPF64=new Float64Array(e)}function i(e){throw t.onAbort&&t.onAbort(e),e="Aborted("+e+")",J(e),Gt=!0,e=new WebAssembly.RuntimeError(e+". Build with -sASSERTIONS for more info."),ot(e),e}function l(e){try{if(e==z&&Z)return new Uint8Array(Z);if(ut)return ut(e);throw"both async and sync fetching of the wasm failed"}catch(r){i(r)}}function h(){if(!Z&&(It||$)){if(typeof fetch=="function"&&!z.startsWith("file://"))return fetch(z,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+z+"'";return e.arrayBuffer()}).catch(function(){return l(z)});if(st)return new Promise(function(e,r){st(z,function(n){e(new Uint8Array(n))},r)})}return Promise.resolve().then(function(){return l(z)})}function I(e){for(;0<e.length;)e.shift()(t)}function C(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(r){x[this.ptr+4>>2]=r},this.get_type=function(){return x[this.ptr+4>>2]},this.set_destructor=function(r){x[this.ptr+8>>2]=r},this.get_destructor=function(){return x[this.ptr+8>>2]},this.set_refcount=function(r){et[this.ptr>>2]=r},this.set_caught=function(r){q[this.ptr+12>>0]=r?1:0},this.get_caught=function(){return q[this.ptr+12>>0]!=0},this.set_rethrown=function(r){q[this.ptr+13>>0]=r?1:0},this.get_rethrown=function(){return q[this.ptr+13>>0]!=0},this.init=function(r,n){this.set_adjusted_ptr(0),this.set_type(r),this.set_destructor(n),this.set_refcount(0),this.set_caught(!1),this.set_rethrown(!1)},this.add_ref=function(){et[this.ptr>>2]+=1},this.release_ref=function(){var r=et[this.ptr>>2];return et[this.ptr>>2]=r-1,r===1},this.set_adjusted_ptr=function(r){x[this.ptr+16>>2]=r},this.get_adjusted_ptr=function(){return x[this.ptr+16>>2]},this.get_exception_ptr=function(){if(ln(this.get_type()))return x[this.excPtr>>2];var r=this.get_adjusted_ptr();return r!==0?r:this.excPtr}}function K(){function e(){if(!it&&(it=!0,t.calledRun=!0,!Gt)){if(Rt=!0,I(ct),ht(t),t.onRuntimeInitialized&&t.onRuntimeInitialized(),t.postRun)for(typeof t.postRun=="function"&&(t.postRun=[t.postRun]);t.postRun.length;)Pt.unshift(t.postRun.shift());I(Pt)}}if(!(0<k)){if(t.preRun)for(typeof t.preRun=="function"&&(t.preRun=[t.preRun]);t.preRun.length;)jt.unshift(t.preRun.shift());I(jt),0<k||(t.setStatus?(t.setStatus("Running..."),setTimeout(function(){setTimeout(function(){t.setStatus("")},1),e()},1)):e())}}function f(){}function T(e){return(e||f).__cache__}function G(e,r){var n=T(r),o=n[e];return o||(o=Object.create((r||f).prototype),o.ptr=e,n[e]=o)}function V(e){if(typeof e=="string"){for(var r=0,n=0;n<e.length;++n){var o=e.charCodeAt(n);127>=o?r++:2047>=o?r+=2:55296<=o&&57343>=o?(r+=4,++n):r+=3}if(r=Array(r+1),n=0,o=r.length,0<o){o=n+o-1;for(var m=0;m<e.length;++m){var b=e.charCodeAt(m);if(55296<=b&&57343>=b){var X=e.charCodeAt(++m);b=65536+((b&1023)<<10)|X&1023}if(127>=b){if(n>=o)break;r[n++]=b}else{if(2047>=b){if(n+1>=o)break;r[n++]=192|b>>6}else{if(65535>=b){if(n+2>=o)break;r[n++]=224|b>>12}else{if(n+3>=o)break;r[n++]=240|b>>18,r[n++]=128|b>>12&63}r[n++]=128|b>>6&63}r[n++]=128|b&63}}r[n]=0}return e=d.alloc(r,q),d.copy(r,q,e),e}return e}function at(e){if(typeof e=="object"){var r=d.alloc(e,q);return d.copy(e,q,r),r}return e}function H(){throw"cannot construct a VoidPtr, no constructor in IDL"}function B(){this.ptr=Mt(),T(B)[this.ptr]=this}function w(){this.ptr=Ft(),T(w)[this.ptr]=this}function Y(){this.ptr=wt(),T(Y)[this.ptr]=this}function A(){this.ptr=Vt(),T(A)[this.ptr]=this}function E(){this.ptr=Jt(),T(E)[this.ptr]=this}function j(){this.ptr=ne(),T(j)[this.ptr]=this}function P(){this.ptr=ae(),T(P)[this.ptr]=this}function O(){this.ptr=ce(),T(O)[this.ptr]=this}function W(){this.ptr=de(),T(W)[this.ptr]=this}function v(){throw"cannot construct a Status, no constructor in IDL"}function R(){this.ptr=Ie(),T(R)[this.ptr]=this}function S(){this.ptr=Ge(),T(S)[this.ptr]=this}function M(){this.ptr=Re(),T(M)[this.ptr]=this}function N(){this.ptr=Ue(),T(N)[this.ptr]=this}function U(){this.ptr=we(),T(U)[this.ptr]=this}function F(){this.ptr=We(),T(F)[this.ptr]=this}function L(){this.ptr=He(),T(L)[this.ptr]=this}function D(){this.ptr=Ke(),T(D)[this.ptr]=this}function u(){this.ptr=_r(),T(u)[this.ptr]=this}c=c===void 0?{}:c;var t=typeof c<"u"?c:{},ht,ot;t.ready=new Promise(function(e,r){ht=e,ot=r});var At=!1,Tt=!1;t.onRuntimeInitialized=function(){At=!0,Tt&&typeof t.onModuleLoaded=="function"&&t.onModuleLoaded(t)},t.onModuleParsed=function(){Tt=!0,At&&typeof t.onModuleLoaded=="function"&&t.onModuleLoaded(t)},t.isVersionSupported=function(e){return typeof e!="string"?!1:(e=e.split("."),2>e.length||3<e.length?!1:e[0]==1&&0<=e[1]&&5>=e[1]?!0:!(e[0]!=0||10<e[1]))};var Dt=Object.assign({},t),It=typeof window=="object",$=typeof importScripts=="function",gt=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Q="";if(gt){var vt=fn("fs"),pt=fn("path");Q=$?pt.dirname(Q)+"/":__dirname+"/";var Et=function(e,r){return e=e.startsWith("file://")?new URL(e):pt.normalize(e),vt.readFileSync(e,r?void 0:"utf8")},ut=function(e){return e=Et(e,!0),e.buffer||(e=new Uint8Array(e)),e},st=function(e,r,n){e=e.startsWith("file://")?new URL(e):pt.normalize(e),vt.readFile(e,function(o,m){o?n(o):r(m.buffer)})};1<process.argv.length&&process.argv[1].replace(/\\/g,"/"),process.argv.slice(2),t.inspect=function(){return"[Emscripten Module object]"}}else(It||$)&&($?Q=self.location.href:typeof document<"u"&&document.currentScript&&(Q=document.currentScript.src),p&&(Q=p),Q=Q.indexOf("blob:")!==0?Q.substr(0,Q.replace(/[?#].*/,"").lastIndexOf("/")+1):"",Et=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},$&&(ut=function(e){var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),st=function(e,r,n){var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=function(){o.status==200||o.status==0&&o.response?r(o.response):n()},o.onerror=n,o.send(null)});var dn=t.print||console.log.bind(console),J=t.printErr||console.warn.bind(console);Object.assign(t,Dt),Dt=null;var Z;t.wasmBinary&&(Z=t.wasmBinary),typeof WebAssembly!="object"&&i("no native wasm support detected");var _t,Gt=!1,Ot=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0,q,tt,et,x,jt=[],ct=[],Pt=[],Rt=!1,k=0,yt=null,rt=null,z="draco_decoder.wasm";z.startsWith("data:application/octet-stream;base64,")||(z=s(z));var bn=0,hn=[null,[],[]],An={b:function(e,r,n){throw new C(e).init(r,n),bn++,e},a:function(){i("")},g:function(e,r,n){tt.copyWithin(e,r,r+n)},e:function(e){var r=tt.length;if(e>>>=0,2147483648<e)return!1;for(var n=1;4>=n;n*=2){var o=r*(1+.2/n);o=Math.min(o,e+100663296);var m=Math;o=Math.max(e,o),m=m.min.call(m,2147483648,o+(65536-o%65536)%65536);t:{o=_t.buffer;try{_t.grow(m-o.byteLength+65535>>>16),g();var b=1;break t}catch{}b=void 0}if(b)return!0}return!1},f:function(e){return 52},d:function(e,r,n,o,m){return 70},c:function(e,r,n,o){for(var m=0,b=0;b<n;b++){var X=x[r>>2],mn=x[r+4>>2];r+=8;for(var lt=0;lt<mn;lt++){var mt=tt[X+lt],ft=hn[e];mt===0||mt===10?((e===1?dn:J)(y(ft,0)),ft.length=0):ft.push(mt)}m+=mn}return x[o>>2]=m,0}};(function(){function e(m,b){t.asm=m.exports,_t=t.asm.h,g(),ct.unshift(t.asm.i),k--,t.monitorRunDependencies&&t.monitorRunDependencies(k),k==0&&(yt!==null&&(clearInterval(yt),yt=null),rt&&(m=rt,rt=null,m()))}function r(m){e(m.instance)}function n(m){return h().then(function(b){return WebAssembly.instantiate(b,o)}).then(function(b){return b}).then(m,function(b){J("failed to asynchronously prepare wasm: "+b),i(b)})}var o={a:An};if(k++,t.monitorRunDependencies&&t.monitorRunDependencies(k),t.instantiateWasm)try{return t.instantiateWasm(o,e)}catch(m){J("Module.instantiateWasm callback failed with error: "+m),ot(m)}return function(){return Z||typeof WebAssembly.instantiateStreaming!="function"||z.startsWith("data:application/octet-stream;base64,")||z.startsWith("file://")||gt||typeof fetch!="function"?n(r):fetch(z,{credentials:"same-origin"}).then(function(m){return WebAssembly.instantiateStreaming(m,o).then(r,function(b){return J("wasm streaming compile failed: "+b),J("falling back to ArrayBuffer instantiation"),n(r)})})}().catch(ot),{}})();var St=t._emscripten_bind_VoidPtr___destroy___0=function(){return(St=t._emscripten_bind_VoidPtr___destroy___0=t.asm.k).apply(null,arguments)},Mt=t._emscripten_bind_DecoderBuffer_DecoderBuffer_0=function(){return(Mt=t._emscripten_bind_DecoderBuffer_DecoderBuffer_0=t.asm.l).apply(null,arguments)},Nt=t._emscripten_bind_DecoderBuffer_Init_2=function(){return(Nt=t._emscripten_bind_DecoderBuffer_Init_2=t.asm.m).apply(null,arguments)},Ut=t._emscripten_bind_DecoderBuffer___destroy___0=function(){return(Ut=t._emscripten_bind_DecoderBuffer___destroy___0=t.asm.n).apply(null,arguments)},Ft=t._emscripten_bind_AttributeTransformData_AttributeTransformData_0=function(){return(Ft=t._emscripten_bind_AttributeTransformData_AttributeTransformData_0=t.asm.o).apply(null,arguments)},Lt=t._emscripten_bind_AttributeTransformData_transform_type_0=function(){return(Lt=t._emscripten_bind_AttributeTransformData_transform_type_0=t.asm.p).apply(null,arguments)},Ct=t._emscripten_bind_AttributeTransformData___destroy___0=function(){return(Ct=t._emscripten_bind_AttributeTransformData___destroy___0=t.asm.q).apply(null,arguments)},wt=t._emscripten_bind_GeometryAttribute_GeometryAttribute_0=function(){return(wt=t._emscripten_bind_GeometryAttribute_GeometryAttribute_0=t.asm.r).apply(null,arguments)},zt=t._emscripten_bind_GeometryAttribute___destroy___0=function(){return(zt=t._emscripten_bind_GeometryAttribute___destroy___0=t.asm.s).apply(null,arguments)},Vt=t._emscripten_bind_PointAttribute_PointAttribute_0=function(){return(Vt=t._emscripten_bind_PointAttribute_PointAttribute_0=t.asm.t).apply(null,arguments)},Bt=t._emscripten_bind_PointAttribute_size_0=function(){return(Bt=t._emscripten_bind_PointAttribute_size_0=t.asm.u).apply(null,arguments)},Wt=t._emscripten_bind_PointAttribute_GetAttributeTransformData_0=function(){return(Wt=t._emscripten_bind_PointAttribute_GetAttributeTransformData_0=t.asm.v).apply(null,arguments)},Qt=t._emscripten_bind_PointAttribute_attribute_type_0=function(){return(Qt=t._emscripten_bind_PointAttribute_attribute_type_0=t.asm.w).apply(null,arguments)},xt=t._emscripten_bind_PointAttribute_data_type_0=function(){return(xt=t._emscripten_bind_PointAttribute_data_type_0=t.asm.x).apply(null,arguments)},Yt=t._emscripten_bind_PointAttribute_num_components_0=function(){return(Yt=t._emscripten_bind_PointAttribute_num_components_0=t.asm.y).apply(null,arguments)},Ht=t._emscripten_bind_PointAttribute_normalized_0=function(){return(Ht=t._emscripten_bind_PointAttribute_normalized_0=t.asm.z).apply(null,arguments)},qt=t._emscripten_bind_PointAttribute_byte_stride_0=function(){return(qt=t._emscripten_bind_PointAttribute_byte_stride_0=t.asm.A).apply(null,arguments)},kt=t._emscripten_bind_PointAttribute_byte_offset_0=function(){return(kt=t._emscripten_bind_PointAttribute_byte_offset_0=t.asm.B).apply(null,arguments)},Xt=t._emscripten_bind_PointAttribute_unique_id_0=function(){return(Xt=t._emscripten_bind_PointAttribute_unique_id_0=t.asm.C).apply(null,arguments)},Kt=t._emscripten_bind_PointAttribute___destroy___0=function(){return(Kt=t._emscripten_bind_PointAttribute___destroy___0=t.asm.D).apply(null,arguments)},Jt=t._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=function(){return(Jt=t._emscripten_bind_AttributeQuantizationTransform_AttributeQuantizationTransform_0=t.asm.E).apply(null,arguments)},$t=t._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=function(){return($t=t._emscripten_bind_AttributeQuantizationTransform_InitFromAttribute_1=t.asm.F).apply(null,arguments)},Zt=t._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=function(){return(Zt=t._emscripten_bind_AttributeQuantizationTransform_quantization_bits_0=t.asm.G).apply(null,arguments)},te=t._emscripten_bind_AttributeQuantizationTransform_min_value_1=function(){return(te=t._emscripten_bind_AttributeQuantizationTransform_min_value_1=t.asm.H).apply(null,arguments)},ee=t._emscripten_bind_AttributeQuantizationTransform_range_0=function(){return(ee=t._emscripten_bind_AttributeQuantizationTransform_range_0=t.asm.I).apply(null,arguments)},re=t._emscripten_bind_AttributeQuantizationTransform___destroy___0=function(){return(re=t._emscripten_bind_AttributeQuantizationTransform___destroy___0=t.asm.J).apply(null,arguments)},ne=t._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=function(){return(ne=t._emscripten_bind_AttributeOctahedronTransform_AttributeOctahedronTransform_0=t.asm.K).apply(null,arguments)},oe=t._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=function(){return(oe=t._emscripten_bind_AttributeOctahedronTransform_InitFromAttribute_1=t.asm.L).apply(null,arguments)},_e=t._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=function(){return(_e=t._emscripten_bind_AttributeOctahedronTransform_quantization_bits_0=t.asm.M).apply(null,arguments)},ie=t._emscripten_bind_AttributeOctahedronTransform___destroy___0=function(){return(ie=t._emscripten_bind_AttributeOctahedronTransform___destroy___0=t.asm.N).apply(null,arguments)},ae=t._emscripten_bind_PointCloud_PointCloud_0=function(){return(ae=t._emscripten_bind_PointCloud_PointCloud_0=t.asm.O).apply(null,arguments)},pe=t._emscripten_bind_PointCloud_num_attributes_0=function(){return(pe=t._emscripten_bind_PointCloud_num_attributes_0=t.asm.P).apply(null,arguments)},ue=t._emscripten_bind_PointCloud_num_points_0=function(){return(ue=t._emscripten_bind_PointCloud_num_points_0=t.asm.Q).apply(null,arguments)},se=t._emscripten_bind_PointCloud___destroy___0=function(){return(se=t._emscripten_bind_PointCloud___destroy___0=t.asm.R).apply(null,arguments)},ce=t._emscripten_bind_Mesh_Mesh_0=function(){return(ce=t._emscripten_bind_Mesh_Mesh_0=t.asm.S).apply(null,arguments)},ye=t._emscripten_bind_Mesh_num_faces_0=function(){return(ye=t._emscripten_bind_Mesh_num_faces_0=t.asm.T).apply(null,arguments)},le=t._emscripten_bind_Mesh_num_attributes_0=function(){return(le=t._emscripten_bind_Mesh_num_attributes_0=t.asm.U).apply(null,arguments)},me=t._emscripten_bind_Mesh_num_points_0=function(){return(me=t._emscripten_bind_Mesh_num_points_0=t.asm.V).apply(null,arguments)},fe=t._emscripten_bind_Mesh___destroy___0=function(){return(fe=t._emscripten_bind_Mesh___destroy___0=t.asm.W).apply(null,arguments)},de=t._emscripten_bind_Metadata_Metadata_0=function(){return(de=t._emscripten_bind_Metadata_Metadata_0=t.asm.X).apply(null,arguments)},be=t._emscripten_bind_Metadata___destroy___0=function(){return(be=t._emscripten_bind_Metadata___destroy___0=t.asm.Y).apply(null,arguments)},he=t._emscripten_bind_Status_code_0=function(){return(he=t._emscripten_bind_Status_code_0=t.asm.Z).apply(null,arguments)},Ae=t._emscripten_bind_Status_ok_0=function(){return(Ae=t._emscripten_bind_Status_ok_0=t.asm._).apply(null,arguments)},Te=t._emscripten_bind_Status_error_msg_0=function(){return(Te=t._emscripten_bind_Status_error_msg_0=t.asm.$).apply(null,arguments)},De=t._emscripten_bind_Status___destroy___0=function(){return(De=t._emscripten_bind_Status___destroy___0=t.asm.aa).apply(null,arguments)},Ie=t._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=function(){return(Ie=t._emscripten_bind_DracoFloat32Array_DracoFloat32Array_0=t.asm.ba).apply(null,arguments)},ge=t._emscripten_bind_DracoFloat32Array_GetValue_1=function(){return(ge=t._emscripten_bind_DracoFloat32Array_GetValue_1=t.asm.ca).apply(null,arguments)},ve=t._emscripten_bind_DracoFloat32Array_size_0=function(){return(ve=t._emscripten_bind_DracoFloat32Array_size_0=t.asm.da).apply(null,arguments)},Ee=t._emscripten_bind_DracoFloat32Array___destroy___0=function(){return(Ee=t._emscripten_bind_DracoFloat32Array___destroy___0=t.asm.ea).apply(null,arguments)},Ge=t._emscripten_bind_DracoInt8Array_DracoInt8Array_0=function(){return(Ge=t._emscripten_bind_DracoInt8Array_DracoInt8Array_0=t.asm.fa).apply(null,arguments)},Oe=t._emscripten_bind_DracoInt8Array_GetValue_1=function(){return(Oe=t._emscripten_bind_DracoInt8Array_GetValue_1=t.asm.ga).apply(null,arguments)},je=t._emscripten_bind_DracoInt8Array_size_0=function(){return(je=t._emscripten_bind_DracoInt8Array_size_0=t.asm.ha).apply(null,arguments)},Pe=t._emscripten_bind_DracoInt8Array___destroy___0=function(){return(Pe=t._emscripten_bind_DracoInt8Array___destroy___0=t.asm.ia).apply(null,arguments)},Re=t._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=function(){return(Re=t._emscripten_bind_DracoUInt8Array_DracoUInt8Array_0=t.asm.ja).apply(null,arguments)},Se=t._emscripten_bind_DracoUInt8Array_GetValue_1=function(){return(Se=t._emscripten_bind_DracoUInt8Array_GetValue_1=t.asm.ka).apply(null,arguments)},Me=t._emscripten_bind_DracoUInt8Array_size_0=function(){return(Me=t._emscripten_bind_DracoUInt8Array_size_0=t.asm.la).apply(null,arguments)},Ne=t._emscripten_bind_DracoUInt8Array___destroy___0=function(){return(Ne=t._emscripten_bind_DracoUInt8Array___destroy___0=t.asm.ma).apply(null,arguments)},Ue=t._emscripten_bind_DracoInt16Array_DracoInt16Array_0=function(){return(Ue=t._emscripten_bind_DracoInt16Array_DracoInt16Array_0=t.asm.na).apply(null,arguments)},Fe=t._emscripten_bind_DracoInt16Array_GetValue_1=function(){return(Fe=t._emscripten_bind_DracoInt16Array_GetValue_1=t.asm.oa).apply(null,arguments)},Le=t._emscripten_bind_DracoInt16Array_size_0=function(){return(Le=t._emscripten_bind_DracoInt16Array_size_0=t.asm.pa).apply(null,arguments)},Ce=t._emscripten_bind_DracoInt16Array___destroy___0=function(){return(Ce=t._emscripten_bind_DracoInt16Array___destroy___0=t.asm.qa).apply(null,arguments)},we=t._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=function(){return(we=t._emscripten_bind_DracoUInt16Array_DracoUInt16Array_0=t.asm.ra).apply(null,arguments)},ze=t._emscripten_bind_DracoUInt16Array_GetValue_1=function(){return(ze=t._emscripten_bind_DracoUInt16Array_GetValue_1=t.asm.sa).apply(null,arguments)},Ve=t._emscripten_bind_DracoUInt16Array_size_0=function(){return(Ve=t._emscripten_bind_DracoUInt16Array_size_0=t.asm.ta).apply(null,arguments)},Be=t._emscripten_bind_DracoUInt16Array___destroy___0=function(){return(Be=t._emscripten_bind_DracoUInt16Array___destroy___0=t.asm.ua).apply(null,arguments)},We=t._emscripten_bind_DracoInt32Array_DracoInt32Array_0=function(){return(We=t._emscripten_bind_DracoInt32Array_DracoInt32Array_0=t.asm.va).apply(null,arguments)},Qe=t._emscripten_bind_DracoInt32Array_GetValue_1=function(){return(Qe=t._emscripten_bind_DracoInt32Array_GetValue_1=t.asm.wa).apply(null,arguments)},xe=t._emscripten_bind_DracoInt32Array_size_0=function(){return(xe=t._emscripten_bind_DracoInt32Array_size_0=t.asm.xa).apply(null,arguments)},Ye=t._emscripten_bind_DracoInt32Array___destroy___0=function(){return(Ye=t._emscripten_bind_DracoInt32Array___destroy___0=t.asm.ya).apply(null,arguments)},He=t._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=function(){return(He=t._emscripten_bind_DracoUInt32Array_DracoUInt32Array_0=t.asm.za).apply(null,arguments)},qe=t._emscripten_bind_DracoUInt32Array_GetValue_1=function(){return(qe=t._emscripten_bind_DracoUInt32Array_GetValue_1=t.asm.Aa).apply(null,arguments)},ke=t._emscripten_bind_DracoUInt32Array_size_0=function(){return(ke=t._emscripten_bind_DracoUInt32Array_size_0=t.asm.Ba).apply(null,arguments)},Xe=t._emscripten_bind_DracoUInt32Array___destroy___0=function(){return(Xe=t._emscripten_bind_DracoUInt32Array___destroy___0=t.asm.Ca).apply(null,arguments)},Ke=t._emscripten_bind_MetadataQuerier_MetadataQuerier_0=function(){return(Ke=t._emscripten_bind_MetadataQuerier_MetadataQuerier_0=t.asm.Da).apply(null,arguments)},Je=t._emscripten_bind_MetadataQuerier_HasEntry_2=function(){return(Je=t._emscripten_bind_MetadataQuerier_HasEntry_2=t.asm.Ea).apply(null,arguments)},$e=t._emscripten_bind_MetadataQuerier_GetIntEntry_2=function(){return($e=t._emscripten_bind_MetadataQuerier_GetIntEntry_2=t.asm.Fa).apply(null,arguments)},Ze=t._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=function(){return(Ze=t._emscripten_bind_MetadataQuerier_GetIntEntryArray_3=t.asm.Ga).apply(null,arguments)},tr=t._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=function(){return(tr=t._emscripten_bind_MetadataQuerier_GetDoubleEntry_2=t.asm.Ha).apply(null,arguments)},er=t._emscripten_bind_MetadataQuerier_GetStringEntry_2=function(){return(er=t._emscripten_bind_MetadataQuerier_GetStringEntry_2=t.asm.Ia).apply(null,arguments)},rr=t._emscripten_bind_MetadataQuerier_NumEntries_1=function(){return(rr=t._emscripten_bind_MetadataQuerier_NumEntries_1=t.asm.Ja).apply(null,arguments)},nr=t._emscripten_bind_MetadataQuerier_GetEntryName_2=function(){return(nr=t._emscripten_bind_MetadataQuerier_GetEntryName_2=t.asm.Ka).apply(null,arguments)},or=t._emscripten_bind_MetadataQuerier___destroy___0=function(){return(or=t._emscripten_bind_MetadataQuerier___destroy___0=t.asm.La).apply(null,arguments)},_r=t._emscripten_bind_Decoder_Decoder_0=function(){return(_r=t._emscripten_bind_Decoder_Decoder_0=t.asm.Ma).apply(null,arguments)},ir=t._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=function(){return(ir=t._emscripten_bind_Decoder_DecodeArrayToPointCloud_3=t.asm.Na).apply(null,arguments)},ar=t._emscripten_bind_Decoder_DecodeArrayToMesh_3=function(){return(ar=t._emscripten_bind_Decoder_DecodeArrayToMesh_3=t.asm.Oa).apply(null,arguments)},pr=t._emscripten_bind_Decoder_GetAttributeId_2=function(){return(pr=t._emscripten_bind_Decoder_GetAttributeId_2=t.asm.Pa).apply(null,arguments)},ur=t._emscripten_bind_Decoder_GetAttributeIdByName_2=function(){return(ur=t._emscripten_bind_Decoder_GetAttributeIdByName_2=t.asm.Qa).apply(null,arguments)},sr=t._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=function(){return(sr=t._emscripten_bind_Decoder_GetAttributeIdByMetadataEntry_3=t.asm.Ra).apply(null,arguments)},cr=t._emscripten_bind_Decoder_GetAttribute_2=function(){return(cr=t._emscripten_bind_Decoder_GetAttribute_2=t.asm.Sa).apply(null,arguments)},yr=t._emscripten_bind_Decoder_GetAttributeByUniqueId_2=function(){return(yr=t._emscripten_bind_Decoder_GetAttributeByUniqueId_2=t.asm.Ta).apply(null,arguments)},lr=t._emscripten_bind_Decoder_GetMetadata_1=function(){return(lr=t._emscripten_bind_Decoder_GetMetadata_1=t.asm.Ua).apply(null,arguments)},mr=t._emscripten_bind_Decoder_GetAttributeMetadata_2=function(){return(mr=t._emscripten_bind_Decoder_GetAttributeMetadata_2=t.asm.Va).apply(null,arguments)},fr=t._emscripten_bind_Decoder_GetFaceFromMesh_3=function(){return(fr=t._emscripten_bind_Decoder_GetFaceFromMesh_3=t.asm.Wa).apply(null,arguments)},dr=t._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=function(){return(dr=t._emscripten_bind_Decoder_GetTriangleStripsFromMesh_2=t.asm.Xa).apply(null,arguments)},br=t._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=function(){return(br=t._emscripten_bind_Decoder_GetTrianglesUInt16Array_3=t.asm.Ya).apply(null,arguments)},hr=t._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=function(){return(hr=t._emscripten_bind_Decoder_GetTrianglesUInt32Array_3=t.asm.Za).apply(null,arguments)},Ar=t._emscripten_bind_Decoder_GetAttributeFloat_3=function(){return(Ar=t._emscripten_bind_Decoder_GetAttributeFloat_3=t.asm._a).apply(null,arguments)},Tr=t._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=function(){return(Tr=t._emscripten_bind_Decoder_GetAttributeFloatForAllPoints_3=t.asm.$a).apply(null,arguments)},Dr=t._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=function(){return(Dr=t._emscripten_bind_Decoder_GetAttributeIntForAllPoints_3=t.asm.ab).apply(null,arguments)},Ir=t._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=function(){return(Ir=t._emscripten_bind_Decoder_GetAttributeInt8ForAllPoints_3=t.asm.bb).apply(null,arguments)},gr=t._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=function(){return(gr=t._emscripten_bind_Decoder_GetAttributeUInt8ForAllPoints_3=t.asm.cb).apply(null,arguments)},vr=t._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=function(){return(vr=t._emscripten_bind_Decoder_GetAttributeInt16ForAllPoints_3=t.asm.db).apply(null,arguments)},Er=t._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=function(){return(Er=t._emscripten_bind_Decoder_GetAttributeUInt16ForAllPoints_3=t.asm.eb).apply(null,arguments)},Gr=t._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=function(){return(Gr=t._emscripten_bind_Decoder_GetAttributeInt32ForAllPoints_3=t.asm.fb).apply(null,arguments)},Or=t._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=function(){return(Or=t._emscripten_bind_Decoder_GetAttributeUInt32ForAllPoints_3=t.asm.gb).apply(null,arguments)},jr=t._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=function(){return(jr=t._emscripten_bind_Decoder_GetAttributeDataArrayForAllPoints_5=t.asm.hb).apply(null,arguments)},Pr=t._emscripten_bind_Decoder_SkipAttributeTransform_1=function(){return(Pr=t._emscripten_bind_Decoder_SkipAttributeTransform_1=t.asm.ib).apply(null,arguments)},Rr=t._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=function(){return(Rr=t._emscripten_bind_Decoder_GetEncodedGeometryType_Deprecated_1=t.asm.jb).apply(null,arguments)},Sr=t._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=function(){return(Sr=t._emscripten_bind_Decoder_DecodeBufferToPointCloud_2=t.asm.kb).apply(null,arguments)},Mr=t._emscripten_bind_Decoder_DecodeBufferToMesh_2=function(){return(Mr=t._emscripten_bind_Decoder_DecodeBufferToMesh_2=t.asm.lb).apply(null,arguments)},Nr=t._emscripten_bind_Decoder___destroy___0=function(){return(Nr=t._emscripten_bind_Decoder___destroy___0=t.asm.mb).apply(null,arguments)},Ur=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=function(){return(Ur=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_INVALID_TRANSFORM=t.asm.nb).apply(null,arguments)},Fr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=function(){return(Fr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_NO_TRANSFORM=t.asm.ob).apply(null,arguments)},Lr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=function(){return(Lr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_QUANTIZATION_TRANSFORM=t.asm.pb).apply(null,arguments)},Cr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=function(){return(Cr=t._emscripten_enum_draco_AttributeTransformType_ATTRIBUTE_OCTAHEDRON_TRANSFORM=t.asm.qb).apply(null,arguments)},wr=t._emscripten_enum_draco_GeometryAttribute_Type_INVALID=function(){return(wr=t._emscripten_enum_draco_GeometryAttribute_Type_INVALID=t.asm.rb).apply(null,arguments)},zr=t._emscripten_enum_draco_GeometryAttribute_Type_POSITION=function(){return(zr=t._emscripten_enum_draco_GeometryAttribute_Type_POSITION=t.asm.sb).apply(null,arguments)},Vr=t._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=function(){return(Vr=t._emscripten_enum_draco_GeometryAttribute_Type_NORMAL=t.asm.tb).apply(null,arguments)},Br=t._emscripten_enum_draco_GeometryAttribute_Type_COLOR=function(){return(Br=t._emscripten_enum_draco_GeometryAttribute_Type_COLOR=t.asm.ub).apply(null,arguments)},Wr=t._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=function(){return(Wr=t._emscripten_enum_draco_GeometryAttribute_Type_TEX_COORD=t.asm.vb).apply(null,arguments)},Qr=t._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=function(){return(Qr=t._emscripten_enum_draco_GeometryAttribute_Type_GENERIC=t.asm.wb).apply(null,arguments)},xr=t._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=function(){return(xr=t._emscripten_enum_draco_EncodedGeometryType_INVALID_GEOMETRY_TYPE=t.asm.xb).apply(null,arguments)},Yr=t._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=function(){return(Yr=t._emscripten_enum_draco_EncodedGeometryType_POINT_CLOUD=t.asm.yb).apply(null,arguments)},Hr=t._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=function(){return(Hr=t._emscripten_enum_draco_EncodedGeometryType_TRIANGULAR_MESH=t.asm.zb).apply(null,arguments)},qr=t._emscripten_enum_draco_DataType_DT_INVALID=function(){return(qr=t._emscripten_enum_draco_DataType_DT_INVALID=t.asm.Ab).apply(null,arguments)},kr=t._emscripten_enum_draco_DataType_DT_INT8=function(){return(kr=t._emscripten_enum_draco_DataType_DT_INT8=t.asm.Bb).apply(null,arguments)},Xr=t._emscripten_enum_draco_DataType_DT_UINT8=function(){return(Xr=t._emscripten_enum_draco_DataType_DT_UINT8=t.asm.Cb).apply(null,arguments)},Kr=t._emscripten_enum_draco_DataType_DT_INT16=function(){return(Kr=t._emscripten_enum_draco_DataType_DT_INT16=t.asm.Db).apply(null,arguments)},Jr=t._emscripten_enum_draco_DataType_DT_UINT16=function(){return(Jr=t._emscripten_enum_draco_DataType_DT_UINT16=t.asm.Eb).apply(null,arguments)},$r=t._emscripten_enum_draco_DataType_DT_INT32=function(){return($r=t._emscripten_enum_draco_DataType_DT_INT32=t.asm.Fb).apply(null,arguments)},Zr=t._emscripten_enum_draco_DataType_DT_UINT32=function(){return(Zr=t._emscripten_enum_draco_DataType_DT_UINT32=t.asm.Gb).apply(null,arguments)},tn=t._emscripten_enum_draco_DataType_DT_INT64=function(){return(tn=t._emscripten_enum_draco_DataType_DT_INT64=t.asm.Hb).apply(null,arguments)},en=t._emscripten_enum_draco_DataType_DT_UINT64=function(){return(en=t._emscripten_enum_draco_DataType_DT_UINT64=t.asm.Ib).apply(null,arguments)},rn=t._emscripten_enum_draco_DataType_DT_FLOAT32=function(){return(rn=t._emscripten_enum_draco_DataType_DT_FLOAT32=t.asm.Jb).apply(null,arguments)},nn=t._emscripten_enum_draco_DataType_DT_FLOAT64=function(){return(nn=t._emscripten_enum_draco_DataType_DT_FLOAT64=t.asm.Kb).apply(null,arguments)},on=t._emscripten_enum_draco_DataType_DT_BOOL=function(){return(on=t._emscripten_enum_draco_DataType_DT_BOOL=t.asm.Lb).apply(null,arguments)},_n=t._emscripten_enum_draco_DataType_DT_TYPES_COUNT=function(){return(_n=t._emscripten_enum_draco_DataType_DT_TYPES_COUNT=t.asm.Mb).apply(null,arguments)},an=t._emscripten_enum_draco_StatusCode_OK=function(){return(an=t._emscripten_enum_draco_StatusCode_OK=t.asm.Nb).apply(null,arguments)},pn=t._emscripten_enum_draco_StatusCode_DRACO_ERROR=function(){return(pn=t._emscripten_enum_draco_StatusCode_DRACO_ERROR=t.asm.Ob).apply(null,arguments)},un=t._emscripten_enum_draco_StatusCode_IO_ERROR=function(){return(un=t._emscripten_enum_draco_StatusCode_IO_ERROR=t.asm.Pb).apply(null,arguments)},sn=t._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=function(){return(sn=t._emscripten_enum_draco_StatusCode_INVALID_PARAMETER=t.asm.Qb).apply(null,arguments)},cn=t._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=function(){return(cn=t._emscripten_enum_draco_StatusCode_UNSUPPORTED_VERSION=t.asm.Rb).apply(null,arguments)},yn=t._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=function(){return(yn=t._emscripten_enum_draco_StatusCode_UNKNOWN_VERSION=t.asm.Sb).apply(null,arguments)};t._malloc=function(){return(t._malloc=t.asm.Tb).apply(null,arguments)},t._free=function(){return(t._free=t.asm.Ub).apply(null,arguments)};var ln=function(){return(ln=t.asm.Vb).apply(null,arguments)};t.___start_em_js=15856,t.___stop_em_js=15954;var it;if(rt=function e(){it||K(),it||(rt=e)},t.preInit)for(typeof t.preInit=="function"&&(t.preInit=[t.preInit]);0<t.preInit.length;)t.preInit.pop()();K(),f.prototype=Object.create(f.prototype),f.prototype.constructor=f,f.prototype.__class__=f,f.__cache__={},t.WrapperObject=f,t.getCache=T,t.wrapPointer=G,t.castObject=function(e,r){return G(e.ptr,r)},t.NULL=G(0),t.destroy=function(e){if(!e.__destroy__)throw"Error: Cannot destroy object. (Did you create it yourself?)";e.__destroy__(),delete T(e.__class__)[e.ptr]},t.compare=function(e,r){return e.ptr===r.ptr},t.getPointer=function(e){return e.ptr},t.getClass=function(e){return e.__class__};var d={buffer:0,size:0,pos:0,temps:[],needed:0,prepare:function(){if(d.needed){for(var e=0;e<d.temps.length;e++)t._free(d.temps[e]);d.temps.length=0,t._free(d.buffer),d.buffer=0,d.size+=d.needed,d.needed=0}d.buffer||(d.size+=128,d.buffer=t._malloc(d.size),d.buffer||i(void 0)),d.pos=0},alloc:function(e,r){return d.buffer||i(void 0),e=e.length*r.BYTES_PER_ELEMENT,e=e+7&-8,d.pos+e>=d.size?(0<e||i(void 0),d.needed+=e,r=t._malloc(e),d.temps.push(r)):(r=d.buffer+d.pos,d.pos+=e),r},copy:function(e,r,n){switch(n>>>=0,r.BYTES_PER_ELEMENT){case 2:n>>>=1;break;case 4:n>>>=2;break;case 8:n>>>=3}for(var o=0;o<e.length;o++)r[n+o]=e[o]}};return H.prototype=Object.create(f.prototype),H.prototype.constructor=H,H.prototype.__class__=H,H.__cache__={},t.VoidPtr=H,H.prototype.__destroy__=H.prototype.__destroy__=function(){St(this.ptr)},B.prototype=Object.create(f.prototype),B.prototype.constructor=B,B.prototype.__class__=B,B.__cache__={},t.DecoderBuffer=B,B.prototype.Init=B.prototype.Init=function(e,r){var n=this.ptr;d.prepare(),typeof e=="object"&&(e=at(e)),r&&typeof r=="object"&&(r=r.ptr),Nt(n,e,r)},B.prototype.__destroy__=B.prototype.__destroy__=function(){Ut(this.ptr)},w.prototype=Object.create(f.prototype),w.prototype.constructor=w,w.prototype.__class__=w,w.__cache__={},t.AttributeTransformData=w,w.prototype.transform_type=w.prototype.transform_type=function(){return Lt(this.ptr)},w.prototype.__destroy__=w.prototype.__destroy__=function(){Ct(this.ptr)},Y.prototype=Object.create(f.prototype),Y.prototype.constructor=Y,Y.prototype.__class__=Y,Y.__cache__={},t.GeometryAttribute=Y,Y.prototype.__destroy__=Y.prototype.__destroy__=function(){zt(this.ptr)},A.prototype=Object.create(f.prototype),A.prototype.constructor=A,A.prototype.__class__=A,A.__cache__={},t.PointAttribute=A,A.prototype.size=A.prototype.size=function(){return Bt(this.ptr)},A.prototype.GetAttributeTransformData=A.prototype.GetAttributeTransformData=function(){return G(Wt(this.ptr),w)},A.prototype.attribute_type=A.prototype.attribute_type=function(){return Qt(this.ptr)},A.prototype.data_type=A.prototype.data_type=function(){return xt(this.ptr)},A.prototype.num_components=A.prototype.num_components=function(){return Yt(this.ptr)},A.prototype.normalized=A.prototype.normalized=function(){return!!Ht(this.ptr)},A.prototype.byte_stride=A.prototype.byte_stride=function(){return qt(this.ptr)},A.prototype.byte_offset=A.prototype.byte_offset=function(){return kt(this.ptr)},A.prototype.unique_id=A.prototype.unique_id=function(){return Xt(this.ptr)},A.prototype.__destroy__=A.prototype.__destroy__=function(){Kt(this.ptr)},E.prototype=Object.create(f.prototype),E.prototype.constructor=E,E.prototype.__class__=E,E.__cache__={},t.AttributeQuantizationTransform=E,E.prototype.InitFromAttribute=E.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),!!$t(r,e)},E.prototype.quantization_bits=E.prototype.quantization_bits=function(){return Zt(this.ptr)},E.prototype.min_value=E.prototype.min_value=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),te(r,e)},E.prototype.range=E.prototype.range=function(){return ee(this.ptr)},E.prototype.__destroy__=E.prototype.__destroy__=function(){re(this.ptr)},j.prototype=Object.create(f.prototype),j.prototype.constructor=j,j.prototype.__class__=j,j.__cache__={},t.AttributeOctahedronTransform=j,j.prototype.InitFromAttribute=j.prototype.InitFromAttribute=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),!!oe(r,e)},j.prototype.quantization_bits=j.prototype.quantization_bits=function(){return _e(this.ptr)},j.prototype.__destroy__=j.prototype.__destroy__=function(){ie(this.ptr)},P.prototype=Object.create(f.prototype),P.prototype.constructor=P,P.prototype.__class__=P,P.__cache__={},t.PointCloud=P,P.prototype.num_attributes=P.prototype.num_attributes=function(){return pe(this.ptr)},P.prototype.num_points=P.prototype.num_points=function(){return ue(this.ptr)},P.prototype.__destroy__=P.prototype.__destroy__=function(){se(this.ptr)},O.prototype=Object.create(f.prototype),O.prototype.constructor=O,O.prototype.__class__=O,O.__cache__={},t.Mesh=O,O.prototype.num_faces=O.prototype.num_faces=function(){return ye(this.ptr)},O.prototype.num_attributes=O.prototype.num_attributes=function(){return le(this.ptr)},O.prototype.num_points=O.prototype.num_points=function(){return me(this.ptr)},O.prototype.__destroy__=O.prototype.__destroy__=function(){fe(this.ptr)},W.prototype=Object.create(f.prototype),W.prototype.constructor=W,W.prototype.__class__=W,W.__cache__={},t.Metadata=W,W.prototype.__destroy__=W.prototype.__destroy__=function(){be(this.ptr)},v.prototype=Object.create(f.prototype),v.prototype.constructor=v,v.prototype.__class__=v,v.__cache__={},t.Status=v,v.prototype.code=v.prototype.code=function(){return he(this.ptr)},v.prototype.ok=v.prototype.ok=function(){return!!Ae(this.ptr)},v.prototype.error_msg=v.prototype.error_msg=function(){return a(Te(this.ptr))},v.prototype.__destroy__=v.prototype.__destroy__=function(){De(this.ptr)},R.prototype=Object.create(f.prototype),R.prototype.constructor=R,R.prototype.__class__=R,R.__cache__={},t.DracoFloat32Array=R,R.prototype.GetValue=R.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),ge(r,e)},R.prototype.size=R.prototype.size=function(){return ve(this.ptr)},R.prototype.__destroy__=R.prototype.__destroy__=function(){Ee(this.ptr)},S.prototype=Object.create(f.prototype),S.prototype.constructor=S,S.prototype.__class__=S,S.__cache__={},t.DracoInt8Array=S,S.prototype.GetValue=S.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Oe(r,e)},S.prototype.size=S.prototype.size=function(){return je(this.ptr)},S.prototype.__destroy__=S.prototype.__destroy__=function(){Pe(this.ptr)},M.prototype=Object.create(f.prototype),M.prototype.constructor=M,M.prototype.__class__=M,M.__cache__={},t.DracoUInt8Array=M,M.prototype.GetValue=M.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Se(r,e)},M.prototype.size=M.prototype.size=function(){return Me(this.ptr)},M.prototype.__destroy__=M.prototype.__destroy__=function(){Ne(this.ptr)},N.prototype=Object.create(f.prototype),N.prototype.constructor=N,N.prototype.__class__=N,N.__cache__={},t.DracoInt16Array=N,N.prototype.GetValue=N.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Fe(r,e)},N.prototype.size=N.prototype.size=function(){return Le(this.ptr)},N.prototype.__destroy__=N.prototype.__destroy__=function(){Ce(this.ptr)},U.prototype=Object.create(f.prototype),U.prototype.constructor=U,U.prototype.__class__=U,U.__cache__={},t.DracoUInt16Array=U,U.prototype.GetValue=U.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),ze(r,e)},U.prototype.size=U.prototype.size=function(){return Ve(this.ptr)},U.prototype.__destroy__=U.prototype.__destroy__=function(){Be(this.ptr)},F.prototype=Object.create(f.prototype),F.prototype.constructor=F,F.prototype.__class__=F,F.__cache__={},t.DracoInt32Array=F,F.prototype.GetValue=F.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Qe(r,e)},F.prototype.size=F.prototype.size=function(){return xe(this.ptr)},F.prototype.__destroy__=F.prototype.__destroy__=function(){Ye(this.ptr)},L.prototype=Object.create(f.prototype),L.prototype.constructor=L,L.prototype.__class__=L,L.__cache__={},t.DracoUInt32Array=L,L.prototype.GetValue=L.prototype.GetValue=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),qe(r,e)},L.prototype.size=L.prototype.size=function(){return ke(this.ptr)},L.prototype.__destroy__=L.prototype.__destroy__=function(){Xe(this.ptr)},D.prototype=Object.create(f.prototype),D.prototype.constructor=D,D.prototype.__class__=D,D.__cache__={},t.MetadataQuerier=D,D.prototype.HasEntry=D.prototype.HasEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),!!Je(n,e,r)},D.prototype.GetIntEntry=D.prototype.GetIntEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),$e(n,e,r)},D.prototype.GetIntEntryArray=D.prototype.GetIntEntryArray=function(e,r,n){var o=this.ptr;d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),n&&typeof n=="object"&&(n=n.ptr),Ze(o,e,r,n)},D.prototype.GetDoubleEntry=D.prototype.GetDoubleEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),tr(n,e,r)},D.prototype.GetStringEntry=D.prototype.GetStringEntry=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),a(er(n,e,r))},D.prototype.NumEntries=D.prototype.NumEntries=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),rr(r,e)},D.prototype.GetEntryName=D.prototype.GetEntryName=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),a(nr(n,e,r))},D.prototype.__destroy__=D.prototype.__destroy__=function(){or(this.ptr)},u.prototype=Object.create(f.prototype),u.prototype.constructor=u,u.prototype.__class__=u,u.__cache__={},t.Decoder=u,u.prototype.DecodeArrayToPointCloud=u.prototype.DecodeArrayToPointCloud=function(e,r,n){var o=this.ptr;return d.prepare(),typeof e=="object"&&(e=at(e)),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),G(ir(o,e,r,n),v)},u.prototype.DecodeArrayToMesh=u.prototype.DecodeArrayToMesh=function(e,r,n){var o=this.ptr;return d.prepare(),typeof e=="object"&&(e=at(e)),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),G(ar(o,e,r,n),v)},u.prototype.GetAttributeId=u.prototype.GetAttributeId=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),pr(n,e,r)},u.prototype.GetAttributeIdByName=u.prototype.GetAttributeIdByName=function(e,r){var n=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),ur(n,e,r)},u.prototype.GetAttributeIdByMetadataEntry=u.prototype.GetAttributeIdByMetadataEntry=function(e,r,n){var o=this.ptr;return d.prepare(),e&&typeof e=="object"&&(e=e.ptr),r=r&&typeof r=="object"?r.ptr:V(r),n=n&&typeof n=="object"?n.ptr:V(n),sr(o,e,r,n)},u.prototype.GetAttribute=u.prototype.GetAttribute=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(cr(n,e,r),A)},u.prototype.GetAttributeByUniqueId=u.prototype.GetAttributeByUniqueId=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(yr(n,e,r),A)},u.prototype.GetMetadata=u.prototype.GetMetadata=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),G(lr(r,e),W)},u.prototype.GetAttributeMetadata=u.prototype.GetAttributeMetadata=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(mr(n,e,r),W)},u.prototype.GetFaceFromMesh=u.prototype.GetFaceFromMesh=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!fr(o,e,r,n)},u.prototype.GetTriangleStripsFromMesh=u.prototype.GetTriangleStripsFromMesh=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),dr(n,e,r)},u.prototype.GetTrianglesUInt16Array=u.prototype.GetTrianglesUInt16Array=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!br(o,e,r,n)},u.prototype.GetTrianglesUInt32Array=u.prototype.GetTrianglesUInt32Array=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!hr(o,e,r,n)},u.prototype.GetAttributeFloat=u.prototype.GetAttributeFloat=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Ar(o,e,r,n)},u.prototype.GetAttributeFloatForAllPoints=u.prototype.GetAttributeFloatForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Tr(o,e,r,n)},u.prototype.GetAttributeIntForAllPoints=u.prototype.GetAttributeIntForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Dr(o,e,r,n)},u.prototype.GetAttributeInt8ForAllPoints=u.prototype.GetAttributeInt8ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Ir(o,e,r,n)},u.prototype.GetAttributeUInt8ForAllPoints=u.prototype.GetAttributeUInt8ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!gr(o,e,r,n)},u.prototype.GetAttributeInt16ForAllPoints=u.prototype.GetAttributeInt16ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!vr(o,e,r,n)},u.prototype.GetAttributeUInt16ForAllPoints=u.prototype.GetAttributeUInt16ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Er(o,e,r,n)},u.prototype.GetAttributeInt32ForAllPoints=u.prototype.GetAttributeInt32ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Gr(o,e,r,n)},u.prototype.GetAttributeUInt32ForAllPoints=u.prototype.GetAttributeUInt32ForAllPoints=function(e,r,n){var o=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),!!Or(o,e,r,n)},u.prototype.GetAttributeDataArrayForAllPoints=u.prototype.GetAttributeDataArrayForAllPoints=function(e,r,n,o,m){var b=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),n&&typeof n=="object"&&(n=n.ptr),o&&typeof o=="object"&&(o=o.ptr),m&&typeof m=="object"&&(m=m.ptr),!!jr(b,e,r,n,o,m)},u.prototype.SkipAttributeTransform=u.prototype.SkipAttributeTransform=function(e){var r=this.ptr;e&&typeof e=="object"&&(e=e.ptr),Pr(r,e)},u.prototype.GetEncodedGeometryType_Deprecated=u.prototype.GetEncodedGeometryType_Deprecated=function(e){var r=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),Rr(r,e)},u.prototype.DecodeBufferToPointCloud=u.prototype.DecodeBufferToPointCloud=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(Sr(n,e,r),v)},u.prototype.DecodeBufferToMesh=u.prototype.DecodeBufferToMesh=function(e,r){var n=this.ptr;return e&&typeof e=="object"&&(e=e.ptr),r&&typeof r=="object"&&(r=r.ptr),G(Mr(n,e,r),v)},u.prototype.__destroy__=u.prototype.__destroy__=function(){Nr(this.ptr)},function(){function e(){t.ATTRIBUTE_INVALID_TRANSFORM=Ur(),t.ATTRIBUTE_NO_TRANSFORM=Fr(),t.ATTRIBUTE_QUANTIZATION_TRANSFORM=Lr(),t.ATTRIBUTE_OCTAHEDRON_TRANSFORM=Cr(),t.INVALID=wr(),t.POSITION=zr(),t.NORMAL=Vr(),t.COLOR=Br(),t.TEX_COORD=Wr(),t.GENERIC=Qr(),t.INVALID_GEOMETRY_TYPE=xr(),t.POINT_CLOUD=Yr(),t.TRIANGULAR_MESH=Hr(),t.DT_INVALID=qr(),t.DT_INT8=kr(),t.DT_UINT8=Xr(),t.DT_INT16=Kr(),t.DT_UINT16=Jr(),t.DT_INT32=$r(),t.DT_UINT32=Zr(),t.DT_INT64=tn(),t.DT_UINT64=en(),t.DT_FLOAT32=rn(),t.DT_FLOAT64=nn(),t.DT_BOOL=on(),t.DT_TYPES_COUNT=_n(),t.OK=an(),t.DRACO_ERROR=pn(),t.IO_ERROR=un(),t.INVALID_PARAMETER=sn(),t.UNSUPPORTED_VERSION=cn(),t.UNKNOWN_VERSION=yn()}Rt?e():ct.unshift(e)}(),typeof t.onModuleParsed=="function"&&t.onModuleParsed(),t.Decoder.prototype.GetEncodedGeometryType=function(e){if(e.__class__&&e.__class__===t.DecoderBuffer)return t.Decoder.prototype.GetEncodedGeometryType_Deprecated(e);if(8>e.byteLength)return t.INVALID_GEOMETRY_TYPE;switch(e[7]){case 0:return t.POINT_CLOUD;case 1:return t.TRIANGULAR_MESH;default:return t.INVALID_GEOMETRY_TYPE}},c.ready}}();typeof nt=="object"&&typeof bt=="object"?bt.exports=dt:typeof define=="function"&&define.amd?define([],function(){return dt}):typeof nt=="object"&&(nt.DracoDecoderModule=dt)});export{Dn as a}; diff --git a/public/lib/Cesium/Workers/chunk-ZXPIMV2C.js b/public/lib/Cesium/Workers/chunk-SP2S5UZD.js similarity index 94% rename from public/lib/Cesium/Workers/chunk-ZXPIMV2C.js rename to public/lib/Cesium/Workers/chunk-SP2S5UZD.js index 09e4ddfce..c313cc3ec 100644 --- a/public/lib/Cesium/Workers/chunk-ZXPIMV2C.js +++ b/public/lib/Cesium/Workers/chunk-SP2S5UZD.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as tt}from"./chunk-FHVNMDL2.js";import{a as At}from"./chunk-YGSEQ273.js";import{a as yt}from"./chunk-PFE76RUV.js";import{a as G}from"./chunk-IFAARW2T.js";import{a as z}from"./chunk-6YAFAZVV.js";import{a as at}from"./chunk-UGB43LJM.js";import{a as ht}from"./chunk-WFZLZ2P5.js";import{b as mt,c as st,d as S}from"./chunk-CTEHZS7O.js";import{a as dt,d as rt}from"./chunk-4TXI27XR.js";import{f as it,i as bt}from"./chunk-GFUBU5RD.js";import{a as F}from"./chunk-27UWHT4D.js";import{a,b as _t,c as W,d as v,e as R}from"./chunk-RFPX772U.js";import{a as I}from"./chunk-RAYRECQS.js";import{a as T}from"./chunk-6KLVDWWE.js";import{a as nt,b as H}from"./chunk-6P5KAIBX.js";import{e as K}from"./chunk-4FSVUTPL.js";var et=new a,pt=new a,xt=new a,wt=new a,w=new W,Mt=new R,Vt=new R,gt=new it,Tt=new a,Nt=new a,Et=new a,lt=new _t,Pt=new a,Ft=new W,St=new W;function Ot(o,e,t){let n=e.vertexFormat,s=e.center,i=e.semiMajorAxis,r=e.semiMinorAxis,f=e.ellipsoid,h=e.stRotation,E=t?o.length/3*2:o.length/3,g=e.shadowVolume,c=n.st?new Float32Array(E*2):void 0,l=n.normal?new Float32Array(E*3):void 0,A=n.tangent?new Float32Array(E*3):void 0,x=n.bitangent?new Float32Array(E*3):void 0,O=g?new Float32Array(E*3):void 0,B=0,b=Tt,M=Nt,d=Et,_=new dt(f),L=_.project(f.cartesianToCartographic(s,lt),Pt),J=f.scaleToGeodeticSurface(s,et);f.geodeticSurfaceNormal(J,J);let Z=Mt,q=Vt;if(h!==0){let m=it.fromAxisAngle(J,h,gt);Z=R.fromQuaternion(m,Z),m=it.fromAxisAngle(J,-h,gt),q=R.fromQuaternion(m,q)}else Z=R.clone(R.IDENTITY,Z),q=R.clone(R.IDENTITY,q);let k=W.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Ft),Q=W.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,St),j=o.length,y=t?j:0,p=y/3*2;for(let m=0;m<j;m+=3){let u=m+1,N=m+2,D=a.fromArray(o,m,et);if(n.st){let P=R.multiplyByVector(Z,D,pt),C=_.project(f.cartesianToCartographic(P,lt),xt);a.subtract(C,L,C),w.x=(C.x+i)/(2*i),w.y=(C.y+r)/(2*r),k.x=Math.min(w.x,k.x),k.y=Math.min(w.y,k.y),Q.x=Math.max(w.x,Q.x),Q.y=Math.max(w.y,Q.y),t&&(c[B+p]=w.x,c[B+1+p]=w.y),c[B++]=w.x,c[B++]=w.y}(n.normal||n.tangent||n.bitangent||g)&&(b=f.geodeticSurfaceNormal(D,b),g&&(O[m+y]=-b.x,O[u+y]=-b.y,O[N+y]=-b.z),(n.normal||n.tangent||n.bitangent)&&((n.tangent||n.bitangent)&&(M=a.normalize(a.cross(a.UNIT_Z,b,M),M),R.multiplyByVector(q,M,M)),n.normal&&(l[m]=b.x,l[u]=b.y,l[N]=b.z,t&&(l[m+y]=-b.x,l[u+y]=-b.y,l[N+y]=-b.z)),n.tangent&&(A[m]=M.x,A[u]=M.y,A[N]=M.z,t&&(A[m+y]=-M.x,A[u+y]=-M.y,A[N+y]=-M.z)),n.bitangent&&(d=a.normalize(a.cross(b,M,d),d),x[m]=d.x,x[u]=d.y,x[N]=d.z,t&&(x[m+y]=d.x,x[u+y]=d.y,x[N+y]=d.z))))}if(n.st){j=c.length;for(let m=0;m<j;m+=2)c[m]=(c[m]-k.x)/(Q.x-k.x),c[m+1]=(c[m+1]-k.y)/(Q.y-k.y)}let V=new ht;if(n.position){let m=tt.raisePositionsToHeight(o,e,t);V.position=new S({componentDatatype:F.DOUBLE,componentsPerAttribute:3,values:m})}if(n.st&&(V.st=new S({componentDatatype:F.FLOAT,componentsPerAttribute:2,values:c})),n.normal&&(V.normal=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:l})),n.tangent&&(V.tangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:A})),n.bitangent&&(V.bitangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:x})),g&&(V.extrudeDirection=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:O})),t&&K(e.offsetAttribute)){let m=new Uint8Array(E);if(e.offsetAttribute===G.TOP)m=m.fill(1,0,E/2);else{let u=e.offsetAttribute===G.NONE?0:1;m=m.fill(u)}V.applyOffset=new S({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}return V}function jt(o){let e=new Array(12*(o*(o+1))-6),t=0,n,s,i,r,f;for(n=0,i=1,r=0;r<3;r++)e[t++]=i++,e[t++]=n,e[t++]=i;for(r=2;r<o+1;++r){for(i=r*(r+1)-1,n=(r-1)*r-1,e[t++]=i++,e[t++]=n,e[t++]=i,s=2*r,f=0;f<s-1;++f)e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n,e[t++]=i;e[t++]=i++,e[t++]=n,e[t++]=i}for(s=o*2,++i,++n,r=0;r<s-1;++r)e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n,e[t++]=i;for(e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n++,e[t++]=n,++n,r=o-1;r>1;--r){for(e[t++]=n++,e[t++]=n,e[t++]=i,s=2*r,f=0;f<s-1;++f)e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n,e[t++]=i;e[t++]=n++,e[t++]=n++,e[t++]=i++}for(r=0;r<3;r++)e[t++]=n++,e[t++]=n,e[t++]=i;return e}var X=new a;function Dt(o){let e=o.center;X=a.multiplyByScalar(o.ellipsoid.geodeticSurfaceNormal(e,X),o.height,X),X=a.add(e,X,X);let t=new rt(X,o.semiMajorAxis),n=tt.computeEllipsePositions(o,!0,!1),s=n.positions,i=n.numPts,r=Ot(s,o,!1),f=jt(i);return f=at.createTypedArray(s.length/3,f),{boundingSphere:t,attributes:r,indices:f}}function vt(o,e){let t=e.vertexFormat,n=e.center,s=e.semiMajorAxis,i=e.semiMinorAxis,r=e.ellipsoid,f=e.height,h=e.extrudedHeight,E=e.stRotation,g=o.length/3*2,c=new Float64Array(g*3),l=t.st?new Float32Array(g*2):void 0,A=t.normal?new Float32Array(g*3):void 0,x=t.tangent?new Float32Array(g*3):void 0,O=t.bitangent?new Float32Array(g*3):void 0,B=e.shadowVolume,b=B?new Float32Array(g*3):void 0,M=0,d=Tt,_=Nt,L=Et,J=new dt(r),Z=J.project(r.cartesianToCartographic(n,lt),Pt),q=r.scaleToGeodeticSurface(n,et);r.geodeticSurfaceNormal(q,q);let k=it.fromAxisAngle(q,E,gt),Q=R.fromQuaternion(k,Mt),j=W.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Ft),y=W.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,St),p=o.length,V=p/3*2;for(let u=0;u<p;u+=3){let N=u+1,D=u+2,P=a.fromArray(o,u,et),C;if(t.st){let ot=R.multiplyByVector(Q,P,pt),$=J.project(r.cartesianToCartographic(ot,lt),xt);a.subtract($,Z,$),w.x=($.x+s)/(2*s),w.y=($.y+i)/(2*i),j.x=Math.min(w.x,j.x),j.y=Math.min(w.y,j.y),y.x=Math.max(w.x,y.x),y.y=Math.max(w.y,y.y),l[M+V]=w.x,l[M+1+V]=w.y,l[M++]=w.x,l[M++]=w.y}P=r.scaleToGeodeticSurface(P,P),C=a.clone(P,pt),d=r.geodeticSurfaceNormal(P,d),B&&(b[u+p]=-d.x,b[N+p]=-d.y,b[D+p]=-d.z);let ct=a.multiplyByScalar(d,f,wt);if(P=a.add(P,ct,P),ct=a.multiplyByScalar(d,h,ct),C=a.add(C,ct,C),t.position&&(c[u+p]=C.x,c[N+p]=C.y,c[D+p]=C.z,c[u]=P.x,c[N]=P.y,c[D]=P.z),t.normal||t.tangent||t.bitangent){L=a.clone(d,L);let ot=a.fromArray(o,(u+3)%p,wt);a.subtract(ot,P,ot);let $=a.subtract(C,P,xt);d=a.normalize(a.cross($,ot,d),d),t.normal&&(A[u]=d.x,A[N]=d.y,A[D]=d.z,A[u+p]=d.x,A[N+p]=d.y,A[D+p]=d.z),t.tangent&&(_=a.normalize(a.cross(L,d,_),_),x[u]=_.x,x[N]=_.y,x[D]=_.z,x[u+p]=_.x,x[u+1+p]=_.y,x[u+2+p]=_.z),t.bitangent&&(O[u]=L.x,O[N]=L.y,O[D]=L.z,O[u+p]=L.x,O[N+p]=L.y,O[D+p]=L.z)}}if(t.st){p=l.length;for(let u=0;u<p;u+=2)l[u]=(l[u]-j.x)/(y.x-j.x),l[u+1]=(l[u+1]-j.y)/(y.y-j.y)}let m=new ht;if(t.position&&(m.position=new S({componentDatatype:F.DOUBLE,componentsPerAttribute:3,values:c})),t.st&&(m.st=new S({componentDatatype:F.FLOAT,componentsPerAttribute:2,values:l})),t.normal&&(m.normal=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:A})),t.tangent&&(m.tangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:x})),t.bitangent&&(m.bitangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:O})),B&&(m.extrudeDirection=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:b})),K(e.offsetAttribute)){let u=new Uint8Array(g);if(e.offsetAttribute===G.TOP)u=u.fill(1,0,g/2);else{let N=e.offsetAttribute===G.NONE?0:1;u=u.fill(N)}m.applyOffset=new S({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:u})}return m}function zt(o){let e=o.length/3,t=at.createTypedArray(e,e*6),n=0;for(let s=0;s<e;s++){let i=s,r=s+e,f=(i+1)%e,h=f+e;t[n++]=i,t[n++]=r,t[n++]=f,t[n++]=f,t[n++]=r,t[n++]=h}return t}var ut=new rt,ft=new rt;function Bt(o){let e=o.center,t=o.ellipsoid,n=o.semiMajorAxis,s=a.multiplyByScalar(t.geodeticSurfaceNormal(e,et),o.height,et);ut.center=a.add(e,s,ut.center),ut.radius=n,s=a.multiplyByScalar(t.geodeticSurfaceNormal(e,s),o.extrudedHeight,s),ft.center=a.add(e,s,ft.center),ft.radius=n;let i=tt.computeEllipsePositions(o,!0,!0),r=i.positions,f=i.numPts,h=i.outerPositions,E=rt.union(ut,ft),g=Ot(r,o,!0),c=jt(f),l=c.length;c.length=l*2;let A=r.length/3;for(let _=0;_<l;_+=3)c[_+l]=c[_+2]+A,c[_+1+l]=c[_+1]+A,c[_+2+l]=c[_]+A;let x=at.createTypedArray(A*2/3,c),O=new st({attributes:g,indices:x,primitiveType:mt.TRIANGLES}),B=vt(h,o);c=zt(h);let b=at.createTypedArray(h.length*2/3,c),M=new st({attributes:B,indices:b,primitiveType:mt.TRIANGLES}),d=yt.combineInstances([new At({geometry:O}),new At({geometry:M})]);return{boundingSphere:E,attributes:d[0].attributes,indices:d[0].indices}}function Ct(o,e,t,n,s,i,r){let h=tt.computeEllipsePositions({center:o,semiMajorAxis:e,semiMinorAxis:t,rotation:n,granularity:s},!1,!0).outerPositions,E=h.length/3,g=new Array(E);for(let l=0;l<E;++l)g[l]=a.fromArray(h,l*3);let c=bt.fromCartesianArray(g,i,r);return c.width>I.PI&&(c.north=c.north>0?I.PI_OVER_TWO-I.EPSILON7:c.north,c.south=c.south<0?I.EPSILON7-I.PI_OVER_TWO:c.south,c.east=I.PI,c.west=-I.PI),c}function U(o){o=T(o,T.EMPTY_OBJECT);let e=o.center,t=T(o.ellipsoid,v.default),n=o.semiMajorAxis,s=o.semiMinorAxis,i=T(o.granularity,I.RADIANS_PER_DEGREE),r=T(o.vertexFormat,z.DEFAULT);if(H.defined("options.center",e),H.typeOf.number("options.semiMajorAxis",n),H.typeOf.number("options.semiMinorAxis",s),n<s)throw new nt("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(i<=0)throw new nt("granularity must be greater than zero.");let f=T(o.height,0),h=T(o.extrudedHeight,f);this._center=a.clone(e),this._semiMajorAxis=n,this._semiMinorAxis=s,this._ellipsoid=v.clone(t),this._rotation=T(o.rotation,0),this._stRotation=T(o.stRotation,0),this._height=Math.max(h,f),this._granularity=i,this._vertexFormat=z.clone(r),this._extrudedHeight=Math.min(h,f),this._shadowVolume=T(o.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=o.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}U.packedLength=a.packedLength+v.packedLength+z.packedLength+9;U.pack=function(o,e,t){return H.defined("value",o),H.defined("array",e),t=T(t,0),a.pack(o._center,e,t),t+=a.packedLength,v.pack(o._ellipsoid,e,t),t+=v.packedLength,z.pack(o._vertexFormat,e,t),t+=z.packedLength,e[t++]=o._semiMajorAxis,e[t++]=o._semiMinorAxis,e[t++]=o._rotation,e[t++]=o._stRotation,e[t++]=o._height,e[t++]=o._granularity,e[t++]=o._extrudedHeight,e[t++]=o._shadowVolume?1:0,e[t]=T(o._offsetAttribute,-1),e};var Rt=new a,It=new v,Lt=new z,Y={center:Rt,ellipsoid:It,vertexFormat:Lt,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};U.unpack=function(o,e,t){H.defined("array",o),e=T(e,0);let n=a.unpack(o,e,Rt);e+=a.packedLength;let s=v.unpack(o,e,It);e+=v.packedLength;let i=z.unpack(o,e,Lt);e+=z.packedLength;let r=o[e++],f=o[e++],h=o[e++],E=o[e++],g=o[e++],c=o[e++],l=o[e++],A=o[e++]===1,x=o[e];return K(t)?(t._center=a.clone(n,t._center),t._ellipsoid=v.clone(s,t._ellipsoid),t._vertexFormat=z.clone(i,t._vertexFormat),t._semiMajorAxis=r,t._semiMinorAxis=f,t._rotation=h,t._stRotation=E,t._height=g,t._granularity=c,t._extrudedHeight=l,t._shadowVolume=A,t._offsetAttribute=x===-1?void 0:x,t):(Y.height=g,Y.extrudedHeight=l,Y.granularity=c,Y.stRotation=E,Y.rotation=h,Y.semiMajorAxis=r,Y.semiMinorAxis=f,Y.shadowVolume=A,Y.offsetAttribute=x===-1?void 0:x,new U(Y))};U.computeRectangle=function(o,e){o=T(o,T.EMPTY_OBJECT);let t=o.center,n=T(o.ellipsoid,v.default),s=o.semiMajorAxis,i=o.semiMinorAxis,r=T(o.granularity,I.RADIANS_PER_DEGREE),f=T(o.rotation,0);if(H.defined("options.center",t),H.typeOf.number("options.semiMajorAxis",s),H.typeOf.number("options.semiMinorAxis",i),s<i)throw new nt("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(r<=0)throw new nt("granularity must be greater than zero.");return Ct(t,s,i,f,r,n,e)};U.createGeometry=function(o){if(o._semiMajorAxis<=0||o._semiMinorAxis<=0)return;let e=o._height,t=o._extrudedHeight,n=!I.equalsEpsilon(e,t,0,I.EPSILON2);o._center=o._ellipsoid.scaleToGeodeticSurface(o._center,o._center);let s={center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:o._ellipsoid,rotation:o._rotation,height:e,granularity:o._granularity,vertexFormat:o._vertexFormat,stRotation:o._stRotation},i;if(n)s.extrudedHeight=t,s.shadowVolume=o._shadowVolume,s.offsetAttribute=o._offsetAttribute,i=Bt(s);else if(i=Dt(s),K(o._offsetAttribute)){let r=i.attributes.position.values.length,f=o._offsetAttribute===G.NONE?0:1,h=new Uint8Array(r/3).fill(f);i.attributes.applyOffset=new S({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:h})}return new st({attributes:i.attributes,indices:i.indices,primitiveType:mt.TRIANGLES,boundingSphere:i.boundingSphere,offsetAttribute:o._offsetAttribute})};U.createShadowVolume=function(o,e,t){let n=o._granularity,s=o._ellipsoid,i=e(n,s),r=t(n,s);return new U({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:s,rotation:o._rotation,stRotation:o._stRotation,granularity:n,extrudedHeight:i,height:r,vertexFormat:z.POSITION_ONLY,shadowVolume:!0})};function kt(o){let e=-o._stRotation;if(e===0)return[0,0,0,1,1,0];let n=tt.computeEllipsePositions({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,rotation:o._rotation,granularity:o._granularity},!1,!0).outerPositions,s=n.length/3,i=new Array(s);for(let h=0;h<s;++h)i[h]=a.fromArray(n,h*3);let r=o._ellipsoid,f=o.rectangle;return st._textureCoordinateRotationPoints(i,e,r,f)}Object.defineProperties(U.prototype,{rectangle:{get:function(){return K(this._rectangle)||(this._rectangle=Ct(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return K(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=kt(this)),this._textureCoordinateRotationPoints}}});var de=U;export{de as a}; +import{a as tt}from"./chunk-TZGYF5KJ.js";import{a as At}from"./chunk-D76R4V7H.js";import{a as yt}from"./chunk-EXYLABM3.js";import{a as G}from"./chunk-TP5B32RY.js";import{a as z}from"./chunk-RPAJTIFB.js";import{a as at}from"./chunk-A3VS2OZ2.js";import{a as ht}from"./chunk-E2XIHPTZ.js";import{b as mt,c as st,d as S}from"./chunk-72NMS5KE.js";import{a as dt,d as rt}from"./chunk-JLMPKQO4.js";import{f as it,h as bt}from"./chunk-2K72IAMD.js";import{a as F}from"./chunk-GNTVNTUY.js";import{a,b as _t,c as W,d as v,e as R}from"./chunk-HWH6BBH6.js";import{a as I}from"./chunk-DW4EQ6YI.js";import{a as T}from"./chunk-CJFJKB5V.js";import{a as nt,b as H}from"./chunk-4BGNE6LH.js";import{e as K}from"./chunk-OX5CTLXY.js";var et=new a,pt=new a,xt=new a,wt=new a,w=new W,Mt=new R,Vt=new R,gt=new it,Tt=new a,Nt=new a,Et=new a,lt=new _t,Pt=new a,Ft=new W,St=new W;function Ot(o,e,t){let n=e.vertexFormat,s=e.center,i=e.semiMajorAxis,r=e.semiMinorAxis,f=e.ellipsoid,h=e.stRotation,E=t?o.length/3*2:o.length/3,g=e.shadowVolume,c=n.st?new Float32Array(E*2):void 0,l=n.normal?new Float32Array(E*3):void 0,A=n.tangent?new Float32Array(E*3):void 0,x=n.bitangent?new Float32Array(E*3):void 0,O=g?new Float32Array(E*3):void 0,B=0,b=Tt,M=Nt,d=Et,_=new dt(f),L=_.project(f.cartesianToCartographic(s,lt),Pt),J=f.scaleToGeodeticSurface(s,et);f.geodeticSurfaceNormal(J,J);let Z=Mt,q=Vt;if(h!==0){let m=it.fromAxisAngle(J,h,gt);Z=R.fromQuaternion(m,Z),m=it.fromAxisAngle(J,-h,gt),q=R.fromQuaternion(m,q)}else Z=R.clone(R.IDENTITY,Z),q=R.clone(R.IDENTITY,q);let k=W.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Ft),Q=W.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,St),j=o.length,y=t?j:0,p=y/3*2;for(let m=0;m<j;m+=3){let u=m+1,N=m+2,D=a.fromArray(o,m,et);if(n.st){let P=R.multiplyByVector(Z,D,pt),C=_.project(f.cartesianToCartographic(P,lt),xt);a.subtract(C,L,C),w.x=(C.x+i)/(2*i),w.y=(C.y+r)/(2*r),k.x=Math.min(w.x,k.x),k.y=Math.min(w.y,k.y),Q.x=Math.max(w.x,Q.x),Q.y=Math.max(w.y,Q.y),t&&(c[B+p]=w.x,c[B+1+p]=w.y),c[B++]=w.x,c[B++]=w.y}(n.normal||n.tangent||n.bitangent||g)&&(b=f.geodeticSurfaceNormal(D,b),g&&(O[m+y]=-b.x,O[u+y]=-b.y,O[N+y]=-b.z),(n.normal||n.tangent||n.bitangent)&&((n.tangent||n.bitangent)&&(M=a.normalize(a.cross(a.UNIT_Z,b,M),M),R.multiplyByVector(q,M,M)),n.normal&&(l[m]=b.x,l[u]=b.y,l[N]=b.z,t&&(l[m+y]=-b.x,l[u+y]=-b.y,l[N+y]=-b.z)),n.tangent&&(A[m]=M.x,A[u]=M.y,A[N]=M.z,t&&(A[m+y]=-M.x,A[u+y]=-M.y,A[N+y]=-M.z)),n.bitangent&&(d=a.normalize(a.cross(b,M,d),d),x[m]=d.x,x[u]=d.y,x[N]=d.z,t&&(x[m+y]=d.x,x[u+y]=d.y,x[N+y]=d.z))))}if(n.st){j=c.length;for(let m=0;m<j;m+=2)c[m]=(c[m]-k.x)/(Q.x-k.x),c[m+1]=(c[m+1]-k.y)/(Q.y-k.y)}let V=new ht;if(n.position){let m=tt.raisePositionsToHeight(o,e,t);V.position=new S({componentDatatype:F.DOUBLE,componentsPerAttribute:3,values:m})}if(n.st&&(V.st=new S({componentDatatype:F.FLOAT,componentsPerAttribute:2,values:c})),n.normal&&(V.normal=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:l})),n.tangent&&(V.tangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:A})),n.bitangent&&(V.bitangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:x})),g&&(V.extrudeDirection=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:O})),t&&K(e.offsetAttribute)){let m=new Uint8Array(E);if(e.offsetAttribute===G.TOP)m=m.fill(1,0,E/2);else{let u=e.offsetAttribute===G.NONE?0:1;m=m.fill(u)}V.applyOffset=new S({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}return V}function jt(o){let e=new Array(12*(o*(o+1))-6),t=0,n,s,i,r,f;for(n=0,i=1,r=0;r<3;r++)e[t++]=i++,e[t++]=n,e[t++]=i;for(r=2;r<o+1;++r){for(i=r*(r+1)-1,n=(r-1)*r-1,e[t++]=i++,e[t++]=n,e[t++]=i,s=2*r,f=0;f<s-1;++f)e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n,e[t++]=i;e[t++]=i++,e[t++]=n,e[t++]=i}for(s=o*2,++i,++n,r=0;r<s-1;++r)e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n,e[t++]=i;for(e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n++,e[t++]=n,++n,r=o-1;r>1;--r){for(e[t++]=n++,e[t++]=n,e[t++]=i,s=2*r,f=0;f<s-1;++f)e[t++]=i,e[t++]=n++,e[t++]=n,e[t++]=i++,e[t++]=n,e[t++]=i;e[t++]=n++,e[t++]=n++,e[t++]=i++}for(r=0;r<3;r++)e[t++]=n++,e[t++]=n,e[t++]=i;return e}var X=new a;function Dt(o){let e=o.center;X=a.multiplyByScalar(o.ellipsoid.geodeticSurfaceNormal(e,X),o.height,X),X=a.add(e,X,X);let t=new rt(X,o.semiMajorAxis),n=tt.computeEllipsePositions(o,!0,!1),s=n.positions,i=n.numPts,r=Ot(s,o,!1),f=jt(i);return f=at.createTypedArray(s.length/3,f),{boundingSphere:t,attributes:r,indices:f}}function vt(o,e){let t=e.vertexFormat,n=e.center,s=e.semiMajorAxis,i=e.semiMinorAxis,r=e.ellipsoid,f=e.height,h=e.extrudedHeight,E=e.stRotation,g=o.length/3*2,c=new Float64Array(g*3),l=t.st?new Float32Array(g*2):void 0,A=t.normal?new Float32Array(g*3):void 0,x=t.tangent?new Float32Array(g*3):void 0,O=t.bitangent?new Float32Array(g*3):void 0,B=e.shadowVolume,b=B?new Float32Array(g*3):void 0,M=0,d=Tt,_=Nt,L=Et,J=new dt(r),Z=J.project(r.cartesianToCartographic(n,lt),Pt),q=r.scaleToGeodeticSurface(n,et);r.geodeticSurfaceNormal(q,q);let k=it.fromAxisAngle(q,E,gt),Q=R.fromQuaternion(k,Mt),j=W.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Ft),y=W.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,St),p=o.length,V=p/3*2;for(let u=0;u<p;u+=3){let N=u+1,D=u+2,P=a.fromArray(o,u,et),C;if(t.st){let ot=R.multiplyByVector(Q,P,pt),$=J.project(r.cartesianToCartographic(ot,lt),xt);a.subtract($,Z,$),w.x=($.x+s)/(2*s),w.y=($.y+i)/(2*i),j.x=Math.min(w.x,j.x),j.y=Math.min(w.y,j.y),y.x=Math.max(w.x,y.x),y.y=Math.max(w.y,y.y),l[M+V]=w.x,l[M+1+V]=w.y,l[M++]=w.x,l[M++]=w.y}P=r.scaleToGeodeticSurface(P,P),C=a.clone(P,pt),d=r.geodeticSurfaceNormal(P,d),B&&(b[u+p]=-d.x,b[N+p]=-d.y,b[D+p]=-d.z);let ct=a.multiplyByScalar(d,f,wt);if(P=a.add(P,ct,P),ct=a.multiplyByScalar(d,h,ct),C=a.add(C,ct,C),t.position&&(c[u+p]=C.x,c[N+p]=C.y,c[D+p]=C.z,c[u]=P.x,c[N]=P.y,c[D]=P.z),t.normal||t.tangent||t.bitangent){L=a.clone(d,L);let ot=a.fromArray(o,(u+3)%p,wt);a.subtract(ot,P,ot);let $=a.subtract(C,P,xt);d=a.normalize(a.cross($,ot,d),d),t.normal&&(A[u]=d.x,A[N]=d.y,A[D]=d.z,A[u+p]=d.x,A[N+p]=d.y,A[D+p]=d.z),t.tangent&&(_=a.normalize(a.cross(L,d,_),_),x[u]=_.x,x[N]=_.y,x[D]=_.z,x[u+p]=_.x,x[u+1+p]=_.y,x[u+2+p]=_.z),t.bitangent&&(O[u]=L.x,O[N]=L.y,O[D]=L.z,O[u+p]=L.x,O[N+p]=L.y,O[D+p]=L.z)}}if(t.st){p=l.length;for(let u=0;u<p;u+=2)l[u]=(l[u]-j.x)/(y.x-j.x),l[u+1]=(l[u+1]-j.y)/(y.y-j.y)}let m=new ht;if(t.position&&(m.position=new S({componentDatatype:F.DOUBLE,componentsPerAttribute:3,values:c})),t.st&&(m.st=new S({componentDatatype:F.FLOAT,componentsPerAttribute:2,values:l})),t.normal&&(m.normal=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:A})),t.tangent&&(m.tangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:x})),t.bitangent&&(m.bitangent=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:O})),B&&(m.extrudeDirection=new S({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:b})),K(e.offsetAttribute)){let u=new Uint8Array(g);if(e.offsetAttribute===G.TOP)u=u.fill(1,0,g/2);else{let N=e.offsetAttribute===G.NONE?0:1;u=u.fill(N)}m.applyOffset=new S({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:u})}return m}function zt(o){let e=o.length/3,t=at.createTypedArray(e,e*6),n=0;for(let s=0;s<e;s++){let i=s,r=s+e,f=(i+1)%e,h=f+e;t[n++]=i,t[n++]=r,t[n++]=f,t[n++]=f,t[n++]=r,t[n++]=h}return t}var ut=new rt,ft=new rt;function Bt(o){let e=o.center,t=o.ellipsoid,n=o.semiMajorAxis,s=a.multiplyByScalar(t.geodeticSurfaceNormal(e,et),o.height,et);ut.center=a.add(e,s,ut.center),ut.radius=n,s=a.multiplyByScalar(t.geodeticSurfaceNormal(e,s),o.extrudedHeight,s),ft.center=a.add(e,s,ft.center),ft.radius=n;let i=tt.computeEllipsePositions(o,!0,!0),r=i.positions,f=i.numPts,h=i.outerPositions,E=rt.union(ut,ft),g=Ot(r,o,!0),c=jt(f),l=c.length;c.length=l*2;let A=r.length/3;for(let _=0;_<l;_+=3)c[_+l]=c[_+2]+A,c[_+1+l]=c[_+1]+A,c[_+2+l]=c[_]+A;let x=at.createTypedArray(A*2/3,c),O=new st({attributes:g,indices:x,primitiveType:mt.TRIANGLES}),B=vt(h,o);c=zt(h);let b=at.createTypedArray(h.length*2/3,c),M=new st({attributes:B,indices:b,primitiveType:mt.TRIANGLES}),d=yt.combineInstances([new At({geometry:O}),new At({geometry:M})]);return{boundingSphere:E,attributes:d[0].attributes,indices:d[0].indices}}function Ct(o,e,t,n,s,i,r){let h=tt.computeEllipsePositions({center:o,semiMajorAxis:e,semiMinorAxis:t,rotation:n,granularity:s},!1,!0).outerPositions,E=h.length/3,g=new Array(E);for(let l=0;l<E;++l)g[l]=a.fromArray(h,l*3);let c=bt.fromCartesianArray(g,i,r);return c.width>I.PI&&(c.north=c.north>0?I.PI_OVER_TWO-I.EPSILON7:c.north,c.south=c.south<0?I.EPSILON7-I.PI_OVER_TWO:c.south,c.east=I.PI,c.west=-I.PI),c}function U(o){o=T(o,T.EMPTY_OBJECT);let e=o.center,t=T(o.ellipsoid,v.default),n=o.semiMajorAxis,s=o.semiMinorAxis,i=T(o.granularity,I.RADIANS_PER_DEGREE),r=T(o.vertexFormat,z.DEFAULT);if(H.defined("options.center",e),H.typeOf.number("options.semiMajorAxis",n),H.typeOf.number("options.semiMinorAxis",s),n<s)throw new nt("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(i<=0)throw new nt("granularity must be greater than zero.");let f=T(o.height,0),h=T(o.extrudedHeight,f);this._center=a.clone(e),this._semiMajorAxis=n,this._semiMinorAxis=s,this._ellipsoid=v.clone(t),this._rotation=T(o.rotation,0),this._stRotation=T(o.stRotation,0),this._height=Math.max(h,f),this._granularity=i,this._vertexFormat=z.clone(r),this._extrudedHeight=Math.min(h,f),this._shadowVolume=T(o.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=o.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}U.packedLength=a.packedLength+v.packedLength+z.packedLength+9;U.pack=function(o,e,t){return H.defined("value",o),H.defined("array",e),t=T(t,0),a.pack(o._center,e,t),t+=a.packedLength,v.pack(o._ellipsoid,e,t),t+=v.packedLength,z.pack(o._vertexFormat,e,t),t+=z.packedLength,e[t++]=o._semiMajorAxis,e[t++]=o._semiMinorAxis,e[t++]=o._rotation,e[t++]=o._stRotation,e[t++]=o._height,e[t++]=o._granularity,e[t++]=o._extrudedHeight,e[t++]=o._shadowVolume?1:0,e[t]=T(o._offsetAttribute,-1),e};var Rt=new a,It=new v,Lt=new z,Y={center:Rt,ellipsoid:It,vertexFormat:Lt,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};U.unpack=function(o,e,t){H.defined("array",o),e=T(e,0);let n=a.unpack(o,e,Rt);e+=a.packedLength;let s=v.unpack(o,e,It);e+=v.packedLength;let i=z.unpack(o,e,Lt);e+=z.packedLength;let r=o[e++],f=o[e++],h=o[e++],E=o[e++],g=o[e++],c=o[e++],l=o[e++],A=o[e++]===1,x=o[e];return K(t)?(t._center=a.clone(n,t._center),t._ellipsoid=v.clone(s,t._ellipsoid),t._vertexFormat=z.clone(i,t._vertexFormat),t._semiMajorAxis=r,t._semiMinorAxis=f,t._rotation=h,t._stRotation=E,t._height=g,t._granularity=c,t._extrudedHeight=l,t._shadowVolume=A,t._offsetAttribute=x===-1?void 0:x,t):(Y.height=g,Y.extrudedHeight=l,Y.granularity=c,Y.stRotation=E,Y.rotation=h,Y.semiMajorAxis=r,Y.semiMinorAxis=f,Y.shadowVolume=A,Y.offsetAttribute=x===-1?void 0:x,new U(Y))};U.computeRectangle=function(o,e){o=T(o,T.EMPTY_OBJECT);let t=o.center,n=T(o.ellipsoid,v.default),s=o.semiMajorAxis,i=o.semiMinorAxis,r=T(o.granularity,I.RADIANS_PER_DEGREE),f=T(o.rotation,0);if(H.defined("options.center",t),H.typeOf.number("options.semiMajorAxis",s),H.typeOf.number("options.semiMinorAxis",i),s<i)throw new nt("semiMajorAxis must be greater than or equal to the semiMinorAxis.");if(r<=0)throw new nt("granularity must be greater than zero.");return Ct(t,s,i,f,r,n,e)};U.createGeometry=function(o){if(o._semiMajorAxis<=0||o._semiMinorAxis<=0)return;let e=o._height,t=o._extrudedHeight,n=!I.equalsEpsilon(e,t,0,I.EPSILON2);o._center=o._ellipsoid.scaleToGeodeticSurface(o._center,o._center);let s={center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:o._ellipsoid,rotation:o._rotation,height:e,granularity:o._granularity,vertexFormat:o._vertexFormat,stRotation:o._stRotation},i;if(n)s.extrudedHeight=t,s.shadowVolume=o._shadowVolume,s.offsetAttribute=o._offsetAttribute,i=Bt(s);else if(i=Dt(s),K(o._offsetAttribute)){let r=i.attributes.position.values.length,f=o._offsetAttribute===G.NONE?0:1,h=new Uint8Array(r/3).fill(f);i.attributes.applyOffset=new S({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:h})}return new st({attributes:i.attributes,indices:i.indices,primitiveType:mt.TRIANGLES,boundingSphere:i.boundingSphere,offsetAttribute:o._offsetAttribute})};U.createShadowVolume=function(o,e,t){let n=o._granularity,s=o._ellipsoid,i=e(n,s),r=t(n,s);return new U({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,ellipsoid:s,rotation:o._rotation,stRotation:o._stRotation,granularity:n,extrudedHeight:i,height:r,vertexFormat:z.POSITION_ONLY,shadowVolume:!0})};function kt(o){let e=-o._stRotation;if(e===0)return[0,0,0,1,1,0];let n=tt.computeEllipsePositions({center:o._center,semiMajorAxis:o._semiMajorAxis,semiMinorAxis:o._semiMinorAxis,rotation:o._rotation,granularity:o._granularity},!1,!0).outerPositions,s=n.length/3,i=new Array(s);for(let h=0;h<s;++h)i[h]=a.fromArray(n,h*3);let r=o._ellipsoid,f=o.rectangle;return st._textureCoordinateRotationPoints(i,e,r,f)}Object.defineProperties(U.prototype,{rectangle:{get:function(){return K(this._rectangle)||(this._rectangle=Ct(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return K(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=kt(this)),this._textureCoordinateRotationPoints}}});var de=U;export{de as a}; diff --git a/public/lib/Cesium/Workers/chunk-XHJOIQBC.js b/public/lib/Cesium/Workers/chunk-SXINKIB2.js similarity index 97% rename from public/lib/Cesium/Workers/chunk-XHJOIQBC.js rename to public/lib/Cesium/Workers/chunk-SXINKIB2.js index c27558d71..53f662d11 100644 --- a/public/lib/Cesium/Workers/chunk-XHJOIQBC.js +++ b/public/lib/Cesium/Workers/chunk-SXINKIB2.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{f as j}from"./chunk-RFPX772U.js";import{a as E}from"./chunk-RAYRECQS.js";import{a as C}from"./chunk-6KLVDWWE.js";import{b as n}from"./chunk-6P5KAIBX.js";import{e as O}from"./chunk-4FSVUTPL.js";function l(r,o,t){return t<0&&(t+=1),t>1&&(t-=1),t*6<1?r+(o-r)*6*t:t*2<1?o:t*3<2?r+(o-r)*(2/3-t)*6:r}function e(r,o,t,f){this.red=C(r,1),this.green=C(o,1),this.blue=C(t,1),this.alpha=C(f,1)}e.fromCartesian4=function(r,o){return n.typeOf.object("cartesian",r),O(o)?(o.red=r.x,o.green=r.y,o.blue=r.z,o.alpha=r.w,o):new e(r.x,r.y,r.z,r.w)};e.fromBytes=function(r,o,t,f,s){return r=e.byteToFloat(C(r,255)),o=e.byteToFloat(C(o,255)),t=e.byteToFloat(C(t,255)),f=e.byteToFloat(C(f,255)),O(s)?(s.red=r,s.green=o,s.blue=t,s.alpha=f,s):new e(r,o,t,f)};e.fromAlpha=function(r,o,t){return n.typeOf.object("color",r),n.typeOf.number("alpha",o),O(t)?(t.red=r.red,t.green=r.green,t.blue=r.blue,t.alpha=o,t):new e(r.red,r.green,r.blue,o)};var A,g,m;j.supportsTypedArrays()&&(A=new ArrayBuffer(4),g=new Uint32Array(A),m=new Uint8Array(A));e.fromRgba=function(r,o){return g[0]=r,e.fromBytes(m[0],m[1],m[2],m[3],o)};e.fromHsl=function(r,o,t,f,s){r=C(r,0)%1,o=C(o,0),t=C(t,0),f=C(f,1);let c=t,b=t,i=t;if(o!==0){let S;t<.5?S=t*(1+o):S=t+o-t*o;let F=2*t-S;c=l(F,S,r+1/3),b=l(F,S,r),i=l(F,S,r-1/3)}return O(s)?(s.red=c,s.green=b,s.blue=i,s.alpha=f,s):new e(c,b,i,f)};e.fromRandom=function(r,o){r=C(r,C.EMPTY_OBJECT);let t=r.red;if(!O(t)){let b=C(r.minimumRed,0),i=C(r.maximumRed,1);n.typeOf.number.lessThanOrEquals("minimumRed",b,i),t=b+E.nextRandomNumber()*(i-b)}let f=r.green;if(!O(f)){let b=C(r.minimumGreen,0),i=C(r.maximumGreen,1);n.typeOf.number.lessThanOrEquals("minimumGreen",b,i),f=b+E.nextRandomNumber()*(i-b)}let s=r.blue;if(!O(s)){let b=C(r.minimumBlue,0),i=C(r.maximumBlue,1);n.typeOf.number.lessThanOrEquals("minimumBlue",b,i),s=b+E.nextRandomNumber()*(i-b)}let c=r.alpha;if(!O(c)){let b=C(r.minimumAlpha,0),i=C(r.maximumAlpha,1);n.typeOf.number.lessThanOrEquals("minumumAlpha",b,i),c=b+E.nextRandomNumber()*(i-b)}return O(o)?(o.red=t,o.green=f,o.blue=s,o.alpha=c,o):new e(t,f,s,c)};var a=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,z=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,p=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,R=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;e.fromCssColorString=function(r,o){n.typeOf.string("color",r),O(o)||(o=new e),r=r.trim();let t=e[r.toUpperCase()];if(O(t))return e.clone(t,o),o;let f=a.exec(r);return f!==null?(o.red=parseInt(f[1],16)/15,o.green=parseInt(f[2],16)/15,o.blue=parseInt(f[3],16)/15,o.alpha=parseInt(C(f[4],"f"),16)/15,o):(f=z.exec(r),f!==null?(o.red=parseInt(f[1],16)/255,o.green=parseInt(f[2],16)/255,o.blue=parseInt(f[3],16)/255,o.alpha=parseInt(C(f[4],"ff"),16)/255,o):(f=p.exec(r),f!==null?(o.red=parseFloat(f[1])/(f[1].substr(-1)==="%"?100:255),o.green=parseFloat(f[2])/(f[2].substr(-1)==="%"?100:255),o.blue=parseFloat(f[3])/(f[3].substr(-1)==="%"?100:255),o.alpha=parseFloat(C(f[4],"1.0")),o):(f=R.exec(r),f!==null?e.fromHsl(parseFloat(f[1])/360,parseFloat(f[2])/100,parseFloat(f[3])/100,parseFloat(C(f[4],"1.0")),o):(o=void 0,o))))};e.packedLength=4;e.pack=function(r,o,t){return n.typeOf.object("value",r),n.defined("array",o),t=C(t,0),o[t++]=r.red,o[t++]=r.green,o[t++]=r.blue,o[t]=r.alpha,o};e.unpack=function(r,o,t){return n.defined("array",r),o=C(o,0),O(t)||(t=new e),t.red=r[o++],t.green=r[o++],t.blue=r[o++],t.alpha=r[o],t};e.byteToFloat=function(r){return r/255};e.floatToByte=function(r){return r===1?255:r*256|0};e.clone=function(r,o){if(O(r))return O(o)?(o.red=r.red,o.green=r.green,o.blue=r.blue,o.alpha=r.alpha,o):new e(r.red,r.green,r.blue,r.alpha)};e.equals=function(r,o){return r===o||O(r)&&O(o)&&r.red===o.red&&r.green===o.green&&r.blue===o.blue&&r.alpha===o.alpha};e.equalsArray=function(r,o,t){return r.red===o[t]&&r.green===o[t+1]&&r.blue===o[t+2]&&r.alpha===o[t+3]};e.prototype.clone=function(r){return e.clone(this,r)};e.prototype.equals=function(r){return e.equals(this,r)};e.prototype.equalsEpsilon=function(r,o){return this===r||O(r)&&Math.abs(this.red-r.red)<=o&&Math.abs(this.green-r.green)<=o&&Math.abs(this.blue-r.blue)<=o&&Math.abs(this.alpha-r.alpha)<=o};e.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};e.prototype.toCssColorString=function(){let r=e.floatToByte(this.red),o=e.floatToByte(this.green),t=e.floatToByte(this.blue);return this.alpha===1?`rgb(${r},${o},${t})`:`rgba(${r},${o},${t},${this.alpha})`};e.prototype.toCssHexString=function(){let r=e.floatToByte(this.red).toString(16);r.length<2&&(r=`0${r}`);let o=e.floatToByte(this.green).toString(16);o.length<2&&(o=`0${o}`);let t=e.floatToByte(this.blue).toString(16);if(t.length<2&&(t=`0${t}`),this.alpha<1){let f=e.floatToByte(this.alpha).toString(16);return f.length<2&&(f=`0${f}`),`#${r}${o}${t}${f}`}return`#${r}${o}${t}`};e.prototype.toBytes=function(r){let o=e.floatToByte(this.red),t=e.floatToByte(this.green),f=e.floatToByte(this.blue),s=e.floatToByte(this.alpha);return O(r)?(r[0]=o,r[1]=t,r[2]=f,r[3]=s,r):[o,t,f,s]};e.prototype.toRgba=function(){return m[0]=e.floatToByte(this.red),m[1]=e.floatToByte(this.green),m[2]=e.floatToByte(this.blue),m[3]=e.floatToByte(this.alpha),g[0]};e.prototype.brighten=function(r,o){return n.typeOf.number("magnitude",r),n.typeOf.number.greaterThanOrEquals("magnitude",r,0),n.typeOf.object("result",o),r=1-r,o.red=1-(1-this.red)*r,o.green=1-(1-this.green)*r,o.blue=1-(1-this.blue)*r,o.alpha=this.alpha,o};e.prototype.darken=function(r,o){return n.typeOf.number("magnitude",r),n.typeOf.number.greaterThanOrEquals("magnitude",r,0),n.typeOf.object("result",o),r=1-r,o.red=this.red*r,o.green=this.green*r,o.blue=this.blue*r,o.alpha=this.alpha,o};e.prototype.withAlpha=function(r,o){return e.fromAlpha(this,r,o)};e.add=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red+o.red,t.green=r.green+o.green,t.blue=r.blue+o.blue,t.alpha=r.alpha+o.alpha,t};e.subtract=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red-o.red,t.green=r.green-o.green,t.blue=r.blue-o.blue,t.alpha=r.alpha-o.alpha,t};e.multiply=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red*o.red,t.green=r.green*o.green,t.blue=r.blue*o.blue,t.alpha=r.alpha*o.alpha,t};e.divide=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red/o.red,t.green=r.green/o.green,t.blue=r.blue/o.blue,t.alpha=r.alpha/o.alpha,t};e.mod=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red%o.red,t.green=r.green%o.green,t.blue=r.blue%o.blue,t.alpha=r.alpha%o.alpha,t};e.lerp=function(r,o,t,f){return n.typeOf.object("start",r),n.typeOf.object("end",o),n.typeOf.number("t",t),n.typeOf.object("result",f),f.red=E.lerp(r.red,o.red,t),f.green=E.lerp(r.green,o.green,t),f.blue=E.lerp(r.blue,o.blue,t),f.alpha=E.lerp(r.alpha,o.alpha,t),f};e.multiplyByScalar=function(r,o,t){return n.typeOf.object("color",r),n.typeOf.number("scalar",o),n.typeOf.object("result",t),t.red=r.red*o,t.green=r.green*o,t.blue=r.blue*o,t.alpha=r.alpha*o,t};e.divideByScalar=function(r,o,t){return n.typeOf.object("color",r),n.typeOf.number("scalar",o),n.typeOf.object("result",t),t.red=r.red/o,t.green=r.green/o,t.blue=r.blue/o,t.alpha=r.alpha/o,t};e.ALICEBLUE=Object.freeze(e.fromCssColorString("#F0F8FF"));e.ANTIQUEWHITE=Object.freeze(e.fromCssColorString("#FAEBD7"));e.AQUA=Object.freeze(e.fromCssColorString("#00FFFF"));e.AQUAMARINE=Object.freeze(e.fromCssColorString("#7FFFD4"));e.AZURE=Object.freeze(e.fromCssColorString("#F0FFFF"));e.BEIGE=Object.freeze(e.fromCssColorString("#F5F5DC"));e.BISQUE=Object.freeze(e.fromCssColorString("#FFE4C4"));e.BLACK=Object.freeze(e.fromCssColorString("#000000"));e.BLANCHEDALMOND=Object.freeze(e.fromCssColorString("#FFEBCD"));e.BLUE=Object.freeze(e.fromCssColorString("#0000FF"));e.BLUEVIOLET=Object.freeze(e.fromCssColorString("#8A2BE2"));e.BROWN=Object.freeze(e.fromCssColorString("#A52A2A"));e.BURLYWOOD=Object.freeze(e.fromCssColorString("#DEB887"));e.CADETBLUE=Object.freeze(e.fromCssColorString("#5F9EA0"));e.CHARTREUSE=Object.freeze(e.fromCssColorString("#7FFF00"));e.CHOCOLATE=Object.freeze(e.fromCssColorString("#D2691E"));e.CORAL=Object.freeze(e.fromCssColorString("#FF7F50"));e.CORNFLOWERBLUE=Object.freeze(e.fromCssColorString("#6495ED"));e.CORNSILK=Object.freeze(e.fromCssColorString("#FFF8DC"));e.CRIMSON=Object.freeze(e.fromCssColorString("#DC143C"));e.CYAN=Object.freeze(e.fromCssColorString("#00FFFF"));e.DARKBLUE=Object.freeze(e.fromCssColorString("#00008B"));e.DARKCYAN=Object.freeze(e.fromCssColorString("#008B8B"));e.DARKGOLDENROD=Object.freeze(e.fromCssColorString("#B8860B"));e.DARKGRAY=Object.freeze(e.fromCssColorString("#A9A9A9"));e.DARKGREEN=Object.freeze(e.fromCssColorString("#006400"));e.DARKGREY=e.DARKGRAY;e.DARKKHAKI=Object.freeze(e.fromCssColorString("#BDB76B"));e.DARKMAGENTA=Object.freeze(e.fromCssColorString("#8B008B"));e.DARKOLIVEGREEN=Object.freeze(e.fromCssColorString("#556B2F"));e.DARKORANGE=Object.freeze(e.fromCssColorString("#FF8C00"));e.DARKORCHID=Object.freeze(e.fromCssColorString("#9932CC"));e.DARKRED=Object.freeze(e.fromCssColorString("#8B0000"));e.DARKSALMON=Object.freeze(e.fromCssColorString("#E9967A"));e.DARKSEAGREEN=Object.freeze(e.fromCssColorString("#8FBC8F"));e.DARKSLATEBLUE=Object.freeze(e.fromCssColorString("#483D8B"));e.DARKSLATEGRAY=Object.freeze(e.fromCssColorString("#2F4F4F"));e.DARKSLATEGREY=e.DARKSLATEGRAY;e.DARKTURQUOISE=Object.freeze(e.fromCssColorString("#00CED1"));e.DARKVIOLET=Object.freeze(e.fromCssColorString("#9400D3"));e.DEEPPINK=Object.freeze(e.fromCssColorString("#FF1493"));e.DEEPSKYBLUE=Object.freeze(e.fromCssColorString("#00BFFF"));e.DIMGRAY=Object.freeze(e.fromCssColorString("#696969"));e.DIMGREY=e.DIMGRAY;e.DODGERBLUE=Object.freeze(e.fromCssColorString("#1E90FF"));e.FIREBRICK=Object.freeze(e.fromCssColorString("#B22222"));e.FLORALWHITE=Object.freeze(e.fromCssColorString("#FFFAF0"));e.FORESTGREEN=Object.freeze(e.fromCssColorString("#228B22"));e.FUCHSIA=Object.freeze(e.fromCssColorString("#FF00FF"));e.GAINSBORO=Object.freeze(e.fromCssColorString("#DCDCDC"));e.GHOSTWHITE=Object.freeze(e.fromCssColorString("#F8F8FF"));e.GOLD=Object.freeze(e.fromCssColorString("#FFD700"));e.GOLDENROD=Object.freeze(e.fromCssColorString("#DAA520"));e.GRAY=Object.freeze(e.fromCssColorString("#808080"));e.GREEN=Object.freeze(e.fromCssColorString("#008000"));e.GREENYELLOW=Object.freeze(e.fromCssColorString("#ADFF2F"));e.GREY=e.GRAY;e.HONEYDEW=Object.freeze(e.fromCssColorString("#F0FFF0"));e.HOTPINK=Object.freeze(e.fromCssColorString("#FF69B4"));e.INDIANRED=Object.freeze(e.fromCssColorString("#CD5C5C"));e.INDIGO=Object.freeze(e.fromCssColorString("#4B0082"));e.IVORY=Object.freeze(e.fromCssColorString("#FFFFF0"));e.KHAKI=Object.freeze(e.fromCssColorString("#F0E68C"));e.LAVENDER=Object.freeze(e.fromCssColorString("#E6E6FA"));e.LAVENDAR_BLUSH=Object.freeze(e.fromCssColorString("#FFF0F5"));e.LAWNGREEN=Object.freeze(e.fromCssColorString("#7CFC00"));e.LEMONCHIFFON=Object.freeze(e.fromCssColorString("#FFFACD"));e.LIGHTBLUE=Object.freeze(e.fromCssColorString("#ADD8E6"));e.LIGHTCORAL=Object.freeze(e.fromCssColorString("#F08080"));e.LIGHTCYAN=Object.freeze(e.fromCssColorString("#E0FFFF"));e.LIGHTGOLDENRODYELLOW=Object.freeze(e.fromCssColorString("#FAFAD2"));e.LIGHTGRAY=Object.freeze(e.fromCssColorString("#D3D3D3"));e.LIGHTGREEN=Object.freeze(e.fromCssColorString("#90EE90"));e.LIGHTGREY=e.LIGHTGRAY;e.LIGHTPINK=Object.freeze(e.fromCssColorString("#FFB6C1"));e.LIGHTSEAGREEN=Object.freeze(e.fromCssColorString("#20B2AA"));e.LIGHTSKYBLUE=Object.freeze(e.fromCssColorString("#87CEFA"));e.LIGHTSLATEGRAY=Object.freeze(e.fromCssColorString("#778899"));e.LIGHTSLATEGREY=e.LIGHTSLATEGRAY;e.LIGHTSTEELBLUE=Object.freeze(e.fromCssColorString("#B0C4DE"));e.LIGHTYELLOW=Object.freeze(e.fromCssColorString("#FFFFE0"));e.LIME=Object.freeze(e.fromCssColorString("#00FF00"));e.LIMEGREEN=Object.freeze(e.fromCssColorString("#32CD32"));e.LINEN=Object.freeze(e.fromCssColorString("#FAF0E6"));e.MAGENTA=Object.freeze(e.fromCssColorString("#FF00FF"));e.MAROON=Object.freeze(e.fromCssColorString("#800000"));e.MEDIUMAQUAMARINE=Object.freeze(e.fromCssColorString("#66CDAA"));e.MEDIUMBLUE=Object.freeze(e.fromCssColorString("#0000CD"));e.MEDIUMORCHID=Object.freeze(e.fromCssColorString("#BA55D3"));e.MEDIUMPURPLE=Object.freeze(e.fromCssColorString("#9370DB"));e.MEDIUMSEAGREEN=Object.freeze(e.fromCssColorString("#3CB371"));e.MEDIUMSLATEBLUE=Object.freeze(e.fromCssColorString("#7B68EE"));e.MEDIUMSPRINGGREEN=Object.freeze(e.fromCssColorString("#00FA9A"));e.MEDIUMTURQUOISE=Object.freeze(e.fromCssColorString("#48D1CC"));e.MEDIUMVIOLETRED=Object.freeze(e.fromCssColorString("#C71585"));e.MIDNIGHTBLUE=Object.freeze(e.fromCssColorString("#191970"));e.MINTCREAM=Object.freeze(e.fromCssColorString("#F5FFFA"));e.MISTYROSE=Object.freeze(e.fromCssColorString("#FFE4E1"));e.MOCCASIN=Object.freeze(e.fromCssColorString("#FFE4B5"));e.NAVAJOWHITE=Object.freeze(e.fromCssColorString("#FFDEAD"));e.NAVY=Object.freeze(e.fromCssColorString("#000080"));e.OLDLACE=Object.freeze(e.fromCssColorString("#FDF5E6"));e.OLIVE=Object.freeze(e.fromCssColorString("#808000"));e.OLIVEDRAB=Object.freeze(e.fromCssColorString("#6B8E23"));e.ORANGE=Object.freeze(e.fromCssColorString("#FFA500"));e.ORANGERED=Object.freeze(e.fromCssColorString("#FF4500"));e.ORCHID=Object.freeze(e.fromCssColorString("#DA70D6"));e.PALEGOLDENROD=Object.freeze(e.fromCssColorString("#EEE8AA"));e.PALEGREEN=Object.freeze(e.fromCssColorString("#98FB98"));e.PALETURQUOISE=Object.freeze(e.fromCssColorString("#AFEEEE"));e.PALEVIOLETRED=Object.freeze(e.fromCssColorString("#DB7093"));e.PAPAYAWHIP=Object.freeze(e.fromCssColorString("#FFEFD5"));e.PEACHPUFF=Object.freeze(e.fromCssColorString("#FFDAB9"));e.PERU=Object.freeze(e.fromCssColorString("#CD853F"));e.PINK=Object.freeze(e.fromCssColorString("#FFC0CB"));e.PLUM=Object.freeze(e.fromCssColorString("#DDA0DD"));e.POWDERBLUE=Object.freeze(e.fromCssColorString("#B0E0E6"));e.PURPLE=Object.freeze(e.fromCssColorString("#800080"));e.RED=Object.freeze(e.fromCssColorString("#FF0000"));e.ROSYBROWN=Object.freeze(e.fromCssColorString("#BC8F8F"));e.ROYALBLUE=Object.freeze(e.fromCssColorString("#4169E1"));e.SADDLEBROWN=Object.freeze(e.fromCssColorString("#8B4513"));e.SALMON=Object.freeze(e.fromCssColorString("#FA8072"));e.SANDYBROWN=Object.freeze(e.fromCssColorString("#F4A460"));e.SEAGREEN=Object.freeze(e.fromCssColorString("#2E8B57"));e.SEASHELL=Object.freeze(e.fromCssColorString("#FFF5EE"));e.SIENNA=Object.freeze(e.fromCssColorString("#A0522D"));e.SILVER=Object.freeze(e.fromCssColorString("#C0C0C0"));e.SKYBLUE=Object.freeze(e.fromCssColorString("#87CEEB"));e.SLATEBLUE=Object.freeze(e.fromCssColorString("#6A5ACD"));e.SLATEGRAY=Object.freeze(e.fromCssColorString("#708090"));e.SLATEGREY=e.SLATEGRAY;e.SNOW=Object.freeze(e.fromCssColorString("#FFFAFA"));e.SPRINGGREEN=Object.freeze(e.fromCssColorString("#00FF7F"));e.STEELBLUE=Object.freeze(e.fromCssColorString("#4682B4"));e.TAN=Object.freeze(e.fromCssColorString("#D2B48C"));e.TEAL=Object.freeze(e.fromCssColorString("#008080"));e.THISTLE=Object.freeze(e.fromCssColorString("#D8BFD8"));e.TOMATO=Object.freeze(e.fromCssColorString("#FF6347"));e.TURQUOISE=Object.freeze(e.fromCssColorString("#40E0D0"));e.VIOLET=Object.freeze(e.fromCssColorString("#EE82EE"));e.WHEAT=Object.freeze(e.fromCssColorString("#F5DEB3"));e.WHITE=Object.freeze(e.fromCssColorString("#FFFFFF"));e.WHITESMOKE=Object.freeze(e.fromCssColorString("#F5F5F5"));e.YELLOW=Object.freeze(e.fromCssColorString("#FFFF00"));e.YELLOWGREEN=Object.freeze(e.fromCssColorString("#9ACD32"));e.TRANSPARENT=Object.freeze(new e(0,0,0,0));var h=e;export{h as a}; +import{f as j}from"./chunk-HWH6BBH6.js";import{a as E}from"./chunk-DW4EQ6YI.js";import{a as C}from"./chunk-CJFJKB5V.js";import{b as n}from"./chunk-4BGNE6LH.js";import{e as O}from"./chunk-OX5CTLXY.js";function l(r,o,t){return t<0&&(t+=1),t>1&&(t-=1),t*6<1?r+(o-r)*6*t:t*2<1?o:t*3<2?r+(o-r)*(2/3-t)*6:r}function e(r,o,t,f){this.red=C(r,1),this.green=C(o,1),this.blue=C(t,1),this.alpha=C(f,1)}e.fromCartesian4=function(r,o){return n.typeOf.object("cartesian",r),O(o)?(o.red=r.x,o.green=r.y,o.blue=r.z,o.alpha=r.w,o):new e(r.x,r.y,r.z,r.w)};e.fromBytes=function(r,o,t,f,s){return r=e.byteToFloat(C(r,255)),o=e.byteToFloat(C(o,255)),t=e.byteToFloat(C(t,255)),f=e.byteToFloat(C(f,255)),O(s)?(s.red=r,s.green=o,s.blue=t,s.alpha=f,s):new e(r,o,t,f)};e.fromAlpha=function(r,o,t){return n.typeOf.object("color",r),n.typeOf.number("alpha",o),O(t)?(t.red=r.red,t.green=r.green,t.blue=r.blue,t.alpha=o,t):new e(r.red,r.green,r.blue,o)};var A,g,m;j.supportsTypedArrays()&&(A=new ArrayBuffer(4),g=new Uint32Array(A),m=new Uint8Array(A));e.fromRgba=function(r,o){return g[0]=r,e.fromBytes(m[0],m[1],m[2],m[3],o)};e.fromHsl=function(r,o,t,f,s){r=C(r,0)%1,o=C(o,0),t=C(t,0),f=C(f,1);let c=t,b=t,i=t;if(o!==0){let S;t<.5?S=t*(1+o):S=t+o-t*o;let F=2*t-S;c=l(F,S,r+1/3),b=l(F,S,r),i=l(F,S,r-1/3)}return O(s)?(s.red=c,s.green=b,s.blue=i,s.alpha=f,s):new e(c,b,i,f)};e.fromRandom=function(r,o){r=C(r,C.EMPTY_OBJECT);let t=r.red;if(!O(t)){let b=C(r.minimumRed,0),i=C(r.maximumRed,1);n.typeOf.number.lessThanOrEquals("minimumRed",b,i),t=b+E.nextRandomNumber()*(i-b)}let f=r.green;if(!O(f)){let b=C(r.minimumGreen,0),i=C(r.maximumGreen,1);n.typeOf.number.lessThanOrEquals("minimumGreen",b,i),f=b+E.nextRandomNumber()*(i-b)}let s=r.blue;if(!O(s)){let b=C(r.minimumBlue,0),i=C(r.maximumBlue,1);n.typeOf.number.lessThanOrEquals("minimumBlue",b,i),s=b+E.nextRandomNumber()*(i-b)}let c=r.alpha;if(!O(c)){let b=C(r.minimumAlpha,0),i=C(r.maximumAlpha,1);n.typeOf.number.lessThanOrEquals("minimumAlpha",b,i),c=b+E.nextRandomNumber()*(i-b)}return O(o)?(o.red=t,o.green=f,o.blue=s,o.alpha=c,o):new e(t,f,s,c)};var a=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,z=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,p=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,R=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;e.fromCssColorString=function(r,o){n.typeOf.string("color",r),O(o)||(o=new e),r=r.trim();let t=e[r.toUpperCase()];if(O(t))return e.clone(t,o),o;let f=a.exec(r);return f!==null?(o.red=parseInt(f[1],16)/15,o.green=parseInt(f[2],16)/15,o.blue=parseInt(f[3],16)/15,o.alpha=parseInt(C(f[4],"f"),16)/15,o):(f=z.exec(r),f!==null?(o.red=parseInt(f[1],16)/255,o.green=parseInt(f[2],16)/255,o.blue=parseInt(f[3],16)/255,o.alpha=parseInt(C(f[4],"ff"),16)/255,o):(f=p.exec(r),f!==null?(o.red=parseFloat(f[1])/(f[1].substr(-1)==="%"?100:255),o.green=parseFloat(f[2])/(f[2].substr(-1)==="%"?100:255),o.blue=parseFloat(f[3])/(f[3].substr(-1)==="%"?100:255),o.alpha=parseFloat(C(f[4],"1.0")),o):(f=R.exec(r),f!==null?e.fromHsl(parseFloat(f[1])/360,parseFloat(f[2])/100,parseFloat(f[3])/100,parseFloat(C(f[4],"1.0")),o):(o=void 0,o))))};e.packedLength=4;e.pack=function(r,o,t){return n.typeOf.object("value",r),n.defined("array",o),t=C(t,0),o[t++]=r.red,o[t++]=r.green,o[t++]=r.blue,o[t]=r.alpha,o};e.unpack=function(r,o,t){return n.defined("array",r),o=C(o,0),O(t)||(t=new e),t.red=r[o++],t.green=r[o++],t.blue=r[o++],t.alpha=r[o],t};e.byteToFloat=function(r){return r/255};e.floatToByte=function(r){return r===1?255:r*256|0};e.clone=function(r,o){if(O(r))return O(o)?(o.red=r.red,o.green=r.green,o.blue=r.blue,o.alpha=r.alpha,o):new e(r.red,r.green,r.blue,r.alpha)};e.equals=function(r,o){return r===o||O(r)&&O(o)&&r.red===o.red&&r.green===o.green&&r.blue===o.blue&&r.alpha===o.alpha};e.equalsArray=function(r,o,t){return r.red===o[t]&&r.green===o[t+1]&&r.blue===o[t+2]&&r.alpha===o[t+3]};e.prototype.clone=function(r){return e.clone(this,r)};e.prototype.equals=function(r){return e.equals(this,r)};e.prototype.equalsEpsilon=function(r,o){return this===r||O(r)&&Math.abs(this.red-r.red)<=o&&Math.abs(this.green-r.green)<=o&&Math.abs(this.blue-r.blue)<=o&&Math.abs(this.alpha-r.alpha)<=o};e.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};e.prototype.toCssColorString=function(){let r=e.floatToByte(this.red),o=e.floatToByte(this.green),t=e.floatToByte(this.blue);return this.alpha===1?`rgb(${r},${o},${t})`:`rgba(${r},${o},${t},${this.alpha})`};e.prototype.toCssHexString=function(){let r=e.floatToByte(this.red).toString(16);r.length<2&&(r=`0${r}`);let o=e.floatToByte(this.green).toString(16);o.length<2&&(o=`0${o}`);let t=e.floatToByte(this.blue).toString(16);if(t.length<2&&(t=`0${t}`),this.alpha<1){let f=e.floatToByte(this.alpha).toString(16);return f.length<2&&(f=`0${f}`),`#${r}${o}${t}${f}`}return`#${r}${o}${t}`};e.prototype.toBytes=function(r){let o=e.floatToByte(this.red),t=e.floatToByte(this.green),f=e.floatToByte(this.blue),s=e.floatToByte(this.alpha);return O(r)?(r[0]=o,r[1]=t,r[2]=f,r[3]=s,r):[o,t,f,s]};e.prototype.toRgba=function(){return m[0]=e.floatToByte(this.red),m[1]=e.floatToByte(this.green),m[2]=e.floatToByte(this.blue),m[3]=e.floatToByte(this.alpha),g[0]};e.prototype.brighten=function(r,o){return n.typeOf.number("magnitude",r),n.typeOf.number.greaterThanOrEquals("magnitude",r,0),n.typeOf.object("result",o),r=1-r,o.red=1-(1-this.red)*r,o.green=1-(1-this.green)*r,o.blue=1-(1-this.blue)*r,o.alpha=this.alpha,o};e.prototype.darken=function(r,o){return n.typeOf.number("magnitude",r),n.typeOf.number.greaterThanOrEquals("magnitude",r,0),n.typeOf.object("result",o),r=1-r,o.red=this.red*r,o.green=this.green*r,o.blue=this.blue*r,o.alpha=this.alpha,o};e.prototype.withAlpha=function(r,o){return e.fromAlpha(this,r,o)};e.add=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red+o.red,t.green=r.green+o.green,t.blue=r.blue+o.blue,t.alpha=r.alpha+o.alpha,t};e.subtract=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red-o.red,t.green=r.green-o.green,t.blue=r.blue-o.blue,t.alpha=r.alpha-o.alpha,t};e.multiply=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red*o.red,t.green=r.green*o.green,t.blue=r.blue*o.blue,t.alpha=r.alpha*o.alpha,t};e.divide=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red/o.red,t.green=r.green/o.green,t.blue=r.blue/o.blue,t.alpha=r.alpha/o.alpha,t};e.mod=function(r,o,t){return n.typeOf.object("left",r),n.typeOf.object("right",o),n.typeOf.object("result",t),t.red=r.red%o.red,t.green=r.green%o.green,t.blue=r.blue%o.blue,t.alpha=r.alpha%o.alpha,t};e.lerp=function(r,o,t,f){return n.typeOf.object("start",r),n.typeOf.object("end",o),n.typeOf.number("t",t),n.typeOf.object("result",f),f.red=E.lerp(r.red,o.red,t),f.green=E.lerp(r.green,o.green,t),f.blue=E.lerp(r.blue,o.blue,t),f.alpha=E.lerp(r.alpha,o.alpha,t),f};e.multiplyByScalar=function(r,o,t){return n.typeOf.object("color",r),n.typeOf.number("scalar",o),n.typeOf.object("result",t),t.red=r.red*o,t.green=r.green*o,t.blue=r.blue*o,t.alpha=r.alpha*o,t};e.divideByScalar=function(r,o,t){return n.typeOf.object("color",r),n.typeOf.number("scalar",o),n.typeOf.object("result",t),t.red=r.red/o,t.green=r.green/o,t.blue=r.blue/o,t.alpha=r.alpha/o,t};e.ALICEBLUE=Object.freeze(e.fromCssColorString("#F0F8FF"));e.ANTIQUEWHITE=Object.freeze(e.fromCssColorString("#FAEBD7"));e.AQUA=Object.freeze(e.fromCssColorString("#00FFFF"));e.AQUAMARINE=Object.freeze(e.fromCssColorString("#7FFFD4"));e.AZURE=Object.freeze(e.fromCssColorString("#F0FFFF"));e.BEIGE=Object.freeze(e.fromCssColorString("#F5F5DC"));e.BISQUE=Object.freeze(e.fromCssColorString("#FFE4C4"));e.BLACK=Object.freeze(e.fromCssColorString("#000000"));e.BLANCHEDALMOND=Object.freeze(e.fromCssColorString("#FFEBCD"));e.BLUE=Object.freeze(e.fromCssColorString("#0000FF"));e.BLUEVIOLET=Object.freeze(e.fromCssColorString("#8A2BE2"));e.BROWN=Object.freeze(e.fromCssColorString("#A52A2A"));e.BURLYWOOD=Object.freeze(e.fromCssColorString("#DEB887"));e.CADETBLUE=Object.freeze(e.fromCssColorString("#5F9EA0"));e.CHARTREUSE=Object.freeze(e.fromCssColorString("#7FFF00"));e.CHOCOLATE=Object.freeze(e.fromCssColorString("#D2691E"));e.CORAL=Object.freeze(e.fromCssColorString("#FF7F50"));e.CORNFLOWERBLUE=Object.freeze(e.fromCssColorString("#6495ED"));e.CORNSILK=Object.freeze(e.fromCssColorString("#FFF8DC"));e.CRIMSON=Object.freeze(e.fromCssColorString("#DC143C"));e.CYAN=Object.freeze(e.fromCssColorString("#00FFFF"));e.DARKBLUE=Object.freeze(e.fromCssColorString("#00008B"));e.DARKCYAN=Object.freeze(e.fromCssColorString("#008B8B"));e.DARKGOLDENROD=Object.freeze(e.fromCssColorString("#B8860B"));e.DARKGRAY=Object.freeze(e.fromCssColorString("#A9A9A9"));e.DARKGREEN=Object.freeze(e.fromCssColorString("#006400"));e.DARKGREY=e.DARKGRAY;e.DARKKHAKI=Object.freeze(e.fromCssColorString("#BDB76B"));e.DARKMAGENTA=Object.freeze(e.fromCssColorString("#8B008B"));e.DARKOLIVEGREEN=Object.freeze(e.fromCssColorString("#556B2F"));e.DARKORANGE=Object.freeze(e.fromCssColorString("#FF8C00"));e.DARKORCHID=Object.freeze(e.fromCssColorString("#9932CC"));e.DARKRED=Object.freeze(e.fromCssColorString("#8B0000"));e.DARKSALMON=Object.freeze(e.fromCssColorString("#E9967A"));e.DARKSEAGREEN=Object.freeze(e.fromCssColorString("#8FBC8F"));e.DARKSLATEBLUE=Object.freeze(e.fromCssColorString("#483D8B"));e.DARKSLATEGRAY=Object.freeze(e.fromCssColorString("#2F4F4F"));e.DARKSLATEGREY=e.DARKSLATEGRAY;e.DARKTURQUOISE=Object.freeze(e.fromCssColorString("#00CED1"));e.DARKVIOLET=Object.freeze(e.fromCssColorString("#9400D3"));e.DEEPPINK=Object.freeze(e.fromCssColorString("#FF1493"));e.DEEPSKYBLUE=Object.freeze(e.fromCssColorString("#00BFFF"));e.DIMGRAY=Object.freeze(e.fromCssColorString("#696969"));e.DIMGREY=e.DIMGRAY;e.DODGERBLUE=Object.freeze(e.fromCssColorString("#1E90FF"));e.FIREBRICK=Object.freeze(e.fromCssColorString("#B22222"));e.FLORALWHITE=Object.freeze(e.fromCssColorString("#FFFAF0"));e.FORESTGREEN=Object.freeze(e.fromCssColorString("#228B22"));e.FUCHSIA=Object.freeze(e.fromCssColorString("#FF00FF"));e.GAINSBORO=Object.freeze(e.fromCssColorString("#DCDCDC"));e.GHOSTWHITE=Object.freeze(e.fromCssColorString("#F8F8FF"));e.GOLD=Object.freeze(e.fromCssColorString("#FFD700"));e.GOLDENROD=Object.freeze(e.fromCssColorString("#DAA520"));e.GRAY=Object.freeze(e.fromCssColorString("#808080"));e.GREEN=Object.freeze(e.fromCssColorString("#008000"));e.GREENYELLOW=Object.freeze(e.fromCssColorString("#ADFF2F"));e.GREY=e.GRAY;e.HONEYDEW=Object.freeze(e.fromCssColorString("#F0FFF0"));e.HOTPINK=Object.freeze(e.fromCssColorString("#FF69B4"));e.INDIANRED=Object.freeze(e.fromCssColorString("#CD5C5C"));e.INDIGO=Object.freeze(e.fromCssColorString("#4B0082"));e.IVORY=Object.freeze(e.fromCssColorString("#FFFFF0"));e.KHAKI=Object.freeze(e.fromCssColorString("#F0E68C"));e.LAVENDER=Object.freeze(e.fromCssColorString("#E6E6FA"));e.LAVENDAR_BLUSH=Object.freeze(e.fromCssColorString("#FFF0F5"));e.LAWNGREEN=Object.freeze(e.fromCssColorString("#7CFC00"));e.LEMONCHIFFON=Object.freeze(e.fromCssColorString("#FFFACD"));e.LIGHTBLUE=Object.freeze(e.fromCssColorString("#ADD8E6"));e.LIGHTCORAL=Object.freeze(e.fromCssColorString("#F08080"));e.LIGHTCYAN=Object.freeze(e.fromCssColorString("#E0FFFF"));e.LIGHTGOLDENRODYELLOW=Object.freeze(e.fromCssColorString("#FAFAD2"));e.LIGHTGRAY=Object.freeze(e.fromCssColorString("#D3D3D3"));e.LIGHTGREEN=Object.freeze(e.fromCssColorString("#90EE90"));e.LIGHTGREY=e.LIGHTGRAY;e.LIGHTPINK=Object.freeze(e.fromCssColorString("#FFB6C1"));e.LIGHTSEAGREEN=Object.freeze(e.fromCssColorString("#20B2AA"));e.LIGHTSKYBLUE=Object.freeze(e.fromCssColorString("#87CEFA"));e.LIGHTSLATEGRAY=Object.freeze(e.fromCssColorString("#778899"));e.LIGHTSLATEGREY=e.LIGHTSLATEGRAY;e.LIGHTSTEELBLUE=Object.freeze(e.fromCssColorString("#B0C4DE"));e.LIGHTYELLOW=Object.freeze(e.fromCssColorString("#FFFFE0"));e.LIME=Object.freeze(e.fromCssColorString("#00FF00"));e.LIMEGREEN=Object.freeze(e.fromCssColorString("#32CD32"));e.LINEN=Object.freeze(e.fromCssColorString("#FAF0E6"));e.MAGENTA=Object.freeze(e.fromCssColorString("#FF00FF"));e.MAROON=Object.freeze(e.fromCssColorString("#800000"));e.MEDIUMAQUAMARINE=Object.freeze(e.fromCssColorString("#66CDAA"));e.MEDIUMBLUE=Object.freeze(e.fromCssColorString("#0000CD"));e.MEDIUMORCHID=Object.freeze(e.fromCssColorString("#BA55D3"));e.MEDIUMPURPLE=Object.freeze(e.fromCssColorString("#9370DB"));e.MEDIUMSEAGREEN=Object.freeze(e.fromCssColorString("#3CB371"));e.MEDIUMSLATEBLUE=Object.freeze(e.fromCssColorString("#7B68EE"));e.MEDIUMSPRINGGREEN=Object.freeze(e.fromCssColorString("#00FA9A"));e.MEDIUMTURQUOISE=Object.freeze(e.fromCssColorString("#48D1CC"));e.MEDIUMVIOLETRED=Object.freeze(e.fromCssColorString("#C71585"));e.MIDNIGHTBLUE=Object.freeze(e.fromCssColorString("#191970"));e.MINTCREAM=Object.freeze(e.fromCssColorString("#F5FFFA"));e.MISTYROSE=Object.freeze(e.fromCssColorString("#FFE4E1"));e.MOCCASIN=Object.freeze(e.fromCssColorString("#FFE4B5"));e.NAVAJOWHITE=Object.freeze(e.fromCssColorString("#FFDEAD"));e.NAVY=Object.freeze(e.fromCssColorString("#000080"));e.OLDLACE=Object.freeze(e.fromCssColorString("#FDF5E6"));e.OLIVE=Object.freeze(e.fromCssColorString("#808000"));e.OLIVEDRAB=Object.freeze(e.fromCssColorString("#6B8E23"));e.ORANGE=Object.freeze(e.fromCssColorString("#FFA500"));e.ORANGERED=Object.freeze(e.fromCssColorString("#FF4500"));e.ORCHID=Object.freeze(e.fromCssColorString("#DA70D6"));e.PALEGOLDENROD=Object.freeze(e.fromCssColorString("#EEE8AA"));e.PALEGREEN=Object.freeze(e.fromCssColorString("#98FB98"));e.PALETURQUOISE=Object.freeze(e.fromCssColorString("#AFEEEE"));e.PALEVIOLETRED=Object.freeze(e.fromCssColorString("#DB7093"));e.PAPAYAWHIP=Object.freeze(e.fromCssColorString("#FFEFD5"));e.PEACHPUFF=Object.freeze(e.fromCssColorString("#FFDAB9"));e.PERU=Object.freeze(e.fromCssColorString("#CD853F"));e.PINK=Object.freeze(e.fromCssColorString("#FFC0CB"));e.PLUM=Object.freeze(e.fromCssColorString("#DDA0DD"));e.POWDERBLUE=Object.freeze(e.fromCssColorString("#B0E0E6"));e.PURPLE=Object.freeze(e.fromCssColorString("#800080"));e.RED=Object.freeze(e.fromCssColorString("#FF0000"));e.ROSYBROWN=Object.freeze(e.fromCssColorString("#BC8F8F"));e.ROYALBLUE=Object.freeze(e.fromCssColorString("#4169E1"));e.SADDLEBROWN=Object.freeze(e.fromCssColorString("#8B4513"));e.SALMON=Object.freeze(e.fromCssColorString("#FA8072"));e.SANDYBROWN=Object.freeze(e.fromCssColorString("#F4A460"));e.SEAGREEN=Object.freeze(e.fromCssColorString("#2E8B57"));e.SEASHELL=Object.freeze(e.fromCssColorString("#FFF5EE"));e.SIENNA=Object.freeze(e.fromCssColorString("#A0522D"));e.SILVER=Object.freeze(e.fromCssColorString("#C0C0C0"));e.SKYBLUE=Object.freeze(e.fromCssColorString("#87CEEB"));e.SLATEBLUE=Object.freeze(e.fromCssColorString("#6A5ACD"));e.SLATEGRAY=Object.freeze(e.fromCssColorString("#708090"));e.SLATEGREY=e.SLATEGRAY;e.SNOW=Object.freeze(e.fromCssColorString("#FFFAFA"));e.SPRINGGREEN=Object.freeze(e.fromCssColorString("#00FF7F"));e.STEELBLUE=Object.freeze(e.fromCssColorString("#4682B4"));e.TAN=Object.freeze(e.fromCssColorString("#D2B48C"));e.TEAL=Object.freeze(e.fromCssColorString("#008080"));e.THISTLE=Object.freeze(e.fromCssColorString("#D8BFD8"));e.TOMATO=Object.freeze(e.fromCssColorString("#FF6347"));e.TURQUOISE=Object.freeze(e.fromCssColorString("#40E0D0"));e.VIOLET=Object.freeze(e.fromCssColorString("#EE82EE"));e.WHEAT=Object.freeze(e.fromCssColorString("#F5DEB3"));e.WHITE=Object.freeze(e.fromCssColorString("#FFFFFF"));e.WHITESMOKE=Object.freeze(e.fromCssColorString("#F5F5F5"));e.YELLOW=Object.freeze(e.fromCssColorString("#FFFF00"));e.YELLOWGREEN=Object.freeze(e.fromCssColorString("#9ACD32"));e.TRANSPARENT=Object.freeze(new e(0,0,0,0));var h=e;export{h as a}; diff --git a/public/lib/Cesium/Workers/chunk-JGTLNH7T.js b/public/lib/Cesium/Workers/chunk-T7AQS7YI.js similarity index 89% rename from public/lib/Cesium/Workers/chunk-JGTLNH7T.js rename to public/lib/Cesium/Workers/chunk-T7AQS7YI.js index 0bfd7fd27..b526149ec 100644 --- a/public/lib/Cesium/Workers/chunk-JGTLNH7T.js +++ b/public/lib/Cesium/Workers/chunk-T7AQS7YI.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as Q}from"./chunk-U3H5JVOB.js";import{a as z}from"./chunk-IFAARW2T.js";import{a as _}from"./chunk-6YAFAZVV.js";import{a as K}from"./chunk-UGB43LJM.js";import{a as H}from"./chunk-WFZLZ2P5.js";import{b as J,c as W,d as P}from"./chunk-CTEHZS7O.js";import{d as j}from"./chunk-4TXI27XR.js";import{a as L}from"./chunk-27UWHT4D.js";import{a as b,c as k}from"./chunk-RFPX772U.js";import{a as Z}from"./chunk-RAYRECQS.js";import{a as x}from"./chunk-6KLVDWWE.js";import{a as F}from"./chunk-6P5KAIBX.js";import{e as g}from"./chunk-4FSVUTPL.js";var M=new k,ot=new b,nt=new b,it=new b,st=new b;function O(t){t=x(t,x.EMPTY_OBJECT);let n=t.length,e=t.topRadius,h=t.bottomRadius,o=x(t.vertexFormat,_.DEFAULT),r=x(t.slices,128);if(!g(n))throw new F("options.length must be defined.");if(!g(e))throw new F("options.topRadius must be defined.");if(!g(h))throw new F("options.bottomRadius must be defined.");if(r<3)throw new F("options.slices must be greater than or equal to 3.");if(g(t.offsetAttribute)&&t.offsetAttribute===z.TOP)throw new F("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._length=n,this._topRadius=e,this._bottomRadius=h,this._vertexFormat=_.clone(o),this._slices=r,this._offsetAttribute=t.offsetAttribute,this._workerName="createCylinderGeometry"}O.packedLength=_.packedLength+5;O.pack=function(t,n,e){if(!g(t))throw new F("value is required");if(!g(n))throw new F("array is required");return e=x(e,0),_.pack(t._vertexFormat,n,e),e+=_.packedLength,n[e++]=t._length,n[e++]=t._topRadius,n[e++]=t._bottomRadius,n[e++]=t._slices,n[e]=x(t._offsetAttribute,-1),n};var X=new _,C={vertexFormat:X,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};O.unpack=function(t,n,e){if(!g(t))throw new F("array is required");n=x(n,0);let h=_.unpack(t,n,X);n+=_.packedLength;let o=t[n++],r=t[n++],p=t[n++],D=t[n++],w=t[n];return g(e)?(e._vertexFormat=_.clone(h,e._vertexFormat),e._length=o,e._topRadius=r,e._bottomRadius=p,e._slices=D,e._offsetAttribute=w===-1?void 0:w,e):(C.length=o,C.topRadius=r,C.bottomRadius=p,C.slices=D,C.offsetAttribute=w===-1?void 0:w,new O(C))};O.createGeometry=function(t){let n=t._length,e=t._topRadius,h=t._bottomRadius,o=t._vertexFormat,r=t._slices;if(n<=0||e<0||h<0||e===0&&h===0)return;let p=r+r,D=r+p,w=p+p,E=Q.computePositions(n,e,h,r,!0),N=o.st?new Float32Array(w*2):void 0,c=o.normal?new Float32Array(w*3):void 0,m=o.tangent?new Float32Array(w*3):void 0,u=o.bitangent?new Float32Array(w*3):void 0,i,U=o.normal||o.tangent||o.bitangent;if(U){let T=o.tangent||o.bitangent,f=0,d=0,l=0,q=Math.atan2(h-e,n),A=ot;A.z=Math.sin(q);let B=Math.cos(q),R=it,y=nt;for(i=0;i<r;i++){let Y=i/r*Z.TWO_PI,tt=B*Math.cos(Y),et=B*Math.sin(Y);U&&(A.x=tt,A.y=et,T&&(R=b.normalize(b.cross(b.UNIT_Z,A,R),R)),o.normal&&(c[f++]=A.x,c[f++]=A.y,c[f++]=A.z,c[f++]=A.x,c[f++]=A.y,c[f++]=A.z),o.tangent&&(m[d++]=R.x,m[d++]=R.y,m[d++]=R.z,m[d++]=R.x,m[d++]=R.y,m[d++]=R.z),o.bitangent&&(y=b.normalize(b.cross(A,R,y),y),u[l++]=y.x,u[l++]=y.y,u[l++]=y.z,u[l++]=y.x,u[l++]=y.y,u[l++]=y.z))}for(i=0;i<r;i++)o.normal&&(c[f++]=0,c[f++]=0,c[f++]=-1),o.tangent&&(m[d++]=1,m[d++]=0,m[d++]=0),o.bitangent&&(u[l++]=0,u[l++]=-1,u[l++]=0);for(i=0;i<r;i++)o.normal&&(c[f++]=0,c[f++]=0,c[f++]=1),o.tangent&&(m[d++]=1,m[d++]=0,m[d++]=0),o.bitangent&&(u[l++]=0,u[l++]=1,u[l++]=0)}let $=12*r-12,s=K.createTypedArray(w,$),a=0,v=0;for(i=0;i<r-1;i++)s[a++]=v,s[a++]=v+2,s[a++]=v+3,s[a++]=v,s[a++]=v+3,s[a++]=v+1,v+=2;for(s[a++]=p-2,s[a++]=0,s[a++]=1,s[a++]=p-2,s[a++]=1,s[a++]=p-1,i=1;i<r-1;i++)s[a++]=p+i+1,s[a++]=p+i,s[a++]=p;for(i=1;i<r-1;i++)s[a++]=D,s[a++]=D+i,s[a++]=D+i+1;let V=0;if(o.st){let T=Math.max(e,h);for(i=0;i<w;i++){let f=b.fromArray(E,i*3,st);N[V++]=(f.x+T)/(2*T),N[V++]=(f.y+T)/(2*T)}}let S=new H;o.position&&(S.position=new P({componentDatatype:L.DOUBLE,componentsPerAttribute:3,values:E})),o.normal&&(S.normal=new P({componentDatatype:L.FLOAT,componentsPerAttribute:3,values:c})),o.tangent&&(S.tangent=new P({componentDatatype:L.FLOAT,componentsPerAttribute:3,values:m})),o.bitangent&&(S.bitangent=new P({componentDatatype:L.FLOAT,componentsPerAttribute:3,values:u})),o.st&&(S.st=new P({componentDatatype:L.FLOAT,componentsPerAttribute:2,values:N})),M.x=n*.5,M.y=Math.max(h,e);let I=new j(b.ZERO,k.magnitude(M));if(g(t._offsetAttribute)){n=E.length;let T=t._offsetAttribute===z.NONE?0:1,f=new Uint8Array(n/3).fill(T);S.applyOffset=new P({componentDatatype:L.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new W({attributes:S,indices:s,primitiveType:J.TRIANGLES,boundingSphere:I,offsetAttribute:t._offsetAttribute})};var G;O.getUnitCylinder=function(){return g(G)||(G=O.createGeometry(new O({topRadius:1,bottomRadius:1,length:1,vertexFormat:_.POSITION_ONLY}))),G};var yt=O;export{yt as a}; +import{a as Q}from"./chunk-NIXFT7ZT.js";import{a as z}from"./chunk-TP5B32RY.js";import{a as _}from"./chunk-RPAJTIFB.js";import{a as K}from"./chunk-A3VS2OZ2.js";import{a as H}from"./chunk-E2XIHPTZ.js";import{b as J,c as W,d as P}from"./chunk-72NMS5KE.js";import{d as j}from"./chunk-JLMPKQO4.js";import{a as L}from"./chunk-GNTVNTUY.js";import{a as b,c as k}from"./chunk-HWH6BBH6.js";import{a as Z}from"./chunk-DW4EQ6YI.js";import{a as x}from"./chunk-CJFJKB5V.js";import{a as F}from"./chunk-4BGNE6LH.js";import{e as g}from"./chunk-OX5CTLXY.js";var M=new k,ot=new b,nt=new b,it=new b,st=new b;function O(t){t=x(t,x.EMPTY_OBJECT);let n=t.length,e=t.topRadius,h=t.bottomRadius,o=x(t.vertexFormat,_.DEFAULT),r=x(t.slices,128);if(!g(n))throw new F("options.length must be defined.");if(!g(e))throw new F("options.topRadius must be defined.");if(!g(h))throw new F("options.bottomRadius must be defined.");if(r<3)throw new F("options.slices must be greater than or equal to 3.");if(g(t.offsetAttribute)&&t.offsetAttribute===z.TOP)throw new F("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._length=n,this._topRadius=e,this._bottomRadius=h,this._vertexFormat=_.clone(o),this._slices=r,this._offsetAttribute=t.offsetAttribute,this._workerName="createCylinderGeometry"}O.packedLength=_.packedLength+5;O.pack=function(t,n,e){if(!g(t))throw new F("value is required");if(!g(n))throw new F("array is required");return e=x(e,0),_.pack(t._vertexFormat,n,e),e+=_.packedLength,n[e++]=t._length,n[e++]=t._topRadius,n[e++]=t._bottomRadius,n[e++]=t._slices,n[e]=x(t._offsetAttribute,-1),n};var X=new _,C={vertexFormat:X,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};O.unpack=function(t,n,e){if(!g(t))throw new F("array is required");n=x(n,0);let h=_.unpack(t,n,X);n+=_.packedLength;let o=t[n++],r=t[n++],p=t[n++],D=t[n++],w=t[n];return g(e)?(e._vertexFormat=_.clone(h,e._vertexFormat),e._length=o,e._topRadius=r,e._bottomRadius=p,e._slices=D,e._offsetAttribute=w===-1?void 0:w,e):(C.length=o,C.topRadius=r,C.bottomRadius=p,C.slices=D,C.offsetAttribute=w===-1?void 0:w,new O(C))};O.createGeometry=function(t){let n=t._length,e=t._topRadius,h=t._bottomRadius,o=t._vertexFormat,r=t._slices;if(n<=0||e<0||h<0||e===0&&h===0)return;let p=r+r,D=r+p,w=p+p,E=Q.computePositions(n,e,h,r,!0),N=o.st?new Float32Array(w*2):void 0,c=o.normal?new Float32Array(w*3):void 0,m=o.tangent?new Float32Array(w*3):void 0,u=o.bitangent?new Float32Array(w*3):void 0,i,U=o.normal||o.tangent||o.bitangent;if(U){let T=o.tangent||o.bitangent,f=0,d=0,l=0,q=Math.atan2(h-e,n),A=ot;A.z=Math.sin(q);let B=Math.cos(q),R=it,y=nt;for(i=0;i<r;i++){let Y=i/r*Z.TWO_PI,tt=B*Math.cos(Y),et=B*Math.sin(Y);U&&(A.x=tt,A.y=et,T&&(R=b.normalize(b.cross(b.UNIT_Z,A,R),R)),o.normal&&(c[f++]=A.x,c[f++]=A.y,c[f++]=A.z,c[f++]=A.x,c[f++]=A.y,c[f++]=A.z),o.tangent&&(m[d++]=R.x,m[d++]=R.y,m[d++]=R.z,m[d++]=R.x,m[d++]=R.y,m[d++]=R.z),o.bitangent&&(y=b.normalize(b.cross(A,R,y),y),u[l++]=y.x,u[l++]=y.y,u[l++]=y.z,u[l++]=y.x,u[l++]=y.y,u[l++]=y.z))}for(i=0;i<r;i++)o.normal&&(c[f++]=0,c[f++]=0,c[f++]=-1),o.tangent&&(m[d++]=1,m[d++]=0,m[d++]=0),o.bitangent&&(u[l++]=0,u[l++]=-1,u[l++]=0);for(i=0;i<r;i++)o.normal&&(c[f++]=0,c[f++]=0,c[f++]=1),o.tangent&&(m[d++]=1,m[d++]=0,m[d++]=0),o.bitangent&&(u[l++]=0,u[l++]=1,u[l++]=0)}let $=12*r-12,s=K.createTypedArray(w,$),a=0,v=0;for(i=0;i<r-1;i++)s[a++]=v,s[a++]=v+2,s[a++]=v+3,s[a++]=v,s[a++]=v+3,s[a++]=v+1,v+=2;for(s[a++]=p-2,s[a++]=0,s[a++]=1,s[a++]=p-2,s[a++]=1,s[a++]=p-1,i=1;i<r-1;i++)s[a++]=p+i+1,s[a++]=p+i,s[a++]=p;for(i=1;i<r-1;i++)s[a++]=D,s[a++]=D+i,s[a++]=D+i+1;let V=0;if(o.st){let T=Math.max(e,h);for(i=0;i<w;i++){let f=b.fromArray(E,i*3,st);N[V++]=(f.x+T)/(2*T),N[V++]=(f.y+T)/(2*T)}}let S=new H;o.position&&(S.position=new P({componentDatatype:L.DOUBLE,componentsPerAttribute:3,values:E})),o.normal&&(S.normal=new P({componentDatatype:L.FLOAT,componentsPerAttribute:3,values:c})),o.tangent&&(S.tangent=new P({componentDatatype:L.FLOAT,componentsPerAttribute:3,values:m})),o.bitangent&&(S.bitangent=new P({componentDatatype:L.FLOAT,componentsPerAttribute:3,values:u})),o.st&&(S.st=new P({componentDatatype:L.FLOAT,componentsPerAttribute:2,values:N})),M.x=n*.5,M.y=Math.max(h,e);let I=new j(b.ZERO,k.magnitude(M));if(g(t._offsetAttribute)){n=E.length;let T=t._offsetAttribute===z.NONE?0:1,f=new Uint8Array(n/3).fill(T);S.applyOffset=new P({componentDatatype:L.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new W({attributes:S,indices:s,primitiveType:J.TRIANGLES,boundingSphere:I,offsetAttribute:t._offsetAttribute})};var G;O.getUnitCylinder=function(){return g(G)||(G=O.createGeometry(new O({topRadius:1,bottomRadius:1,length:1,vertexFormat:_.POSITION_ONLY}))),G};var yt=O;export{yt as a}; diff --git a/public/lib/Cesium/Workers/chunk-IFAARW2T.js b/public/lib/Cesium/Workers/chunk-TP5B32RY.js similarity index 95% rename from public/lib/Cesium/Workers/chunk-IFAARW2T.js rename to public/lib/Cesium/Workers/chunk-TP5B32RY.js index 795769396..a209a4405 100644 --- a/public/lib/Cesium/Workers/chunk-IFAARW2T.js +++ b/public/lib/Cesium/Workers/chunk-TP5B32RY.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * diff --git a/public/lib/Cesium/Workers/chunk-FHVNMDL2.js b/public/lib/Cesium/Workers/chunk-TZGYF5KJ.js similarity index 94% rename from public/lib/Cesium/Workers/chunk-FHVNMDL2.js rename to public/lib/Cesium/Workers/chunk-TZGYF5KJ.js index 9250b61d8..553f83aaa 100644 --- a/public/lib/Cesium/Workers/chunk-FHVNMDL2.js +++ b/public/lib/Cesium/Workers/chunk-TZGYF5KJ.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{f as C}from"./chunk-GFUBU5RD.js";import{a as n,e as b}from"./chunk-RFPX772U.js";import{a as w}from"./chunk-RAYRECQS.js";var j={},q=new n,L=new n,Q=new C,G=new b;function W(m,O,p,S,g,_,d,f,M,s){let a=m+O;n.multiplyByScalar(S,Math.cos(a),q),n.multiplyByScalar(p,Math.sin(a),L),n.add(q,L,q);let u=Math.cos(m);u=u*u;let l=Math.sin(m);l=l*l;let h=_/Math.sqrt(d*u+g*l)/f;return C.fromAxisAngle(q,h,Q),b.fromQuaternion(Q,G),b.multiplyByVector(G,M,s),n.normalize(s,s),n.multiplyByScalar(s,f,s),s}var U=new n,Z=new n,N=new n,v=new n;j.raisePositionsToHeight=function(m,O,p){let S=O.ellipsoid,g=O.height,_=O.extrudedHeight,d=p?m.length/3*2:m.length/3,f=new Float64Array(d*3),M=m.length,s=p?M:0;for(let a=0;a<M;a+=3){let u=a+1,l=a+2,r=n.fromArray(m,a,U);S.scaleToGeodeticSurface(r,r);let h=n.clone(r,Z),x=S.geodeticSurfaceNormal(r,v),P=n.multiplyByScalar(x,g,N);n.add(r,P,r),p&&(n.multiplyByScalar(x,_,P),n.add(h,P,h),f[a+s]=h.x,f[u+s]=h.y,f[l+s]=h.z),f[a]=r.x,f[u]=r.y,f[l]=r.z}return f};var D=new n,J=new n,K=new n;j.computeEllipsePositions=function(m,O,p){let S=m.semiMinorAxis,g=m.semiMajorAxis,_=m.rotation,d=m.center,f=m.granularity*8,M=S*S,s=g*g,a=g*S,u=n.magnitude(d),l=n.normalize(d,D),r=n.cross(n.UNIT_Z,d,J);r=n.normalize(r,r);let h=n.cross(l,r,K),x=1+Math.ceil(w.PI_OVER_TWO/f),P=w.PI_OVER_TWO/(x-1),y=w.PI_OVER_TWO-x*P;y<0&&(x-=Math.ceil(Math.abs(y)/P));let k=2*(x*(x+2)),e=O?new Array(k*3):void 0,o=0,t=U,i=Z,H=x*4*3,z=H-1,A=0,c=p?new Array(H):void 0,I,T,R,E,V;for(y=w.PI_OVER_TWO,t=W(y,_,h,r,M,a,s,u,l,t),O&&(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z),p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x),y=w.PI_OVER_TWO-P,I=1;I<x+1;++I){if(t=W(y,_,h,r,M,a,s,u,l,t),i=W(Math.PI-y,_,h,r,M,a,s,u,l,i),O){for(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z,R=2*I+2,T=1;T<R-1;++T)E=T/(R-1),V=n.lerp(t,i,E,N),e[o++]=V.x,e[o++]=V.y,e[o++]=V.z;e[o++]=i.x,e[o++]=i.y,e[o++]=i.z}p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x,c[A++]=i.x,c[A++]=i.y,c[A++]=i.z),y=w.PI_OVER_TWO-(I+1)*P}for(I=x;I>1;--I){if(y=w.PI_OVER_TWO-(I-1)*P,t=W(-y,_,h,r,M,a,s,u,l,t),i=W(y+Math.PI,_,h,r,M,a,s,u,l,i),O){for(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z,R=2*(I-1)+2,T=1;T<R-1;++T)E=T/(R-1),V=n.lerp(t,i,E,N),e[o++]=V.x,e[o++]=V.y,e[o++]=V.z;e[o++]=i.x,e[o++]=i.y,e[o++]=i.z}p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x,c[A++]=i.x,c[A++]=i.y,c[A++]=i.z)}y=w.PI_OVER_TWO,t=W(-y,_,h,r,M,a,s,u,l,t);let B={};return O&&(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z,B.positions=e,B.numPts=x),p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x,B.outerPositions=c),B};var tt=j;export{tt as a}; +import{f as C}from"./chunk-2K72IAMD.js";import{a as n,e as b}from"./chunk-HWH6BBH6.js";import{a as w}from"./chunk-DW4EQ6YI.js";var j={},q=new n,L=new n,Q=new C,G=new b;function W(m,O,p,S,g,_,d,f,M,s){let a=m+O;n.multiplyByScalar(S,Math.cos(a),q),n.multiplyByScalar(p,Math.sin(a),L),n.add(q,L,q);let u=Math.cos(m);u=u*u;let l=Math.sin(m);l=l*l;let h=_/Math.sqrt(d*u+g*l)/f;return C.fromAxisAngle(q,h,Q),b.fromQuaternion(Q,G),b.multiplyByVector(G,M,s),n.normalize(s,s),n.multiplyByScalar(s,f,s),s}var U=new n,Z=new n,N=new n,v=new n;j.raisePositionsToHeight=function(m,O,p){let S=O.ellipsoid,g=O.height,_=O.extrudedHeight,d=p?m.length/3*2:m.length/3,f=new Float64Array(d*3),M=m.length,s=p?M:0;for(let a=0;a<M;a+=3){let u=a+1,l=a+2,r=n.fromArray(m,a,U);S.scaleToGeodeticSurface(r,r);let h=n.clone(r,Z),x=S.geodeticSurfaceNormal(r,v),P=n.multiplyByScalar(x,g,N);n.add(r,P,r),p&&(n.multiplyByScalar(x,_,P),n.add(h,P,h),f[a+s]=h.x,f[u+s]=h.y,f[l+s]=h.z),f[a]=r.x,f[u]=r.y,f[l]=r.z}return f};var D=new n,J=new n,K=new n;j.computeEllipsePositions=function(m,O,p){let S=m.semiMinorAxis,g=m.semiMajorAxis,_=m.rotation,d=m.center,f=m.granularity*8,M=S*S,s=g*g,a=g*S,u=n.magnitude(d),l=n.normalize(d,D),r=n.cross(n.UNIT_Z,d,J);r=n.normalize(r,r);let h=n.cross(l,r,K),x=1+Math.ceil(w.PI_OVER_TWO/f),P=w.PI_OVER_TWO/(x-1),y=w.PI_OVER_TWO-x*P;y<0&&(x-=Math.ceil(Math.abs(y)/P));let k=2*(x*(x+2)),e=O?new Array(k*3):void 0,o=0,t=U,i=Z,H=x*4*3,z=H-1,A=0,c=p?new Array(H):void 0,I,T,R,E,V;for(y=w.PI_OVER_TWO,t=W(y,_,h,r,M,a,s,u,l,t),O&&(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z),p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x),y=w.PI_OVER_TWO-P,I=1;I<x+1;++I){if(t=W(y,_,h,r,M,a,s,u,l,t),i=W(Math.PI-y,_,h,r,M,a,s,u,l,i),O){for(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z,R=2*I+2,T=1;T<R-1;++T)E=T/(R-1),V=n.lerp(t,i,E,N),e[o++]=V.x,e[o++]=V.y,e[o++]=V.z;e[o++]=i.x,e[o++]=i.y,e[o++]=i.z}p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x,c[A++]=i.x,c[A++]=i.y,c[A++]=i.z),y=w.PI_OVER_TWO-(I+1)*P}for(I=x;I>1;--I){if(y=w.PI_OVER_TWO-(I-1)*P,t=W(-y,_,h,r,M,a,s,u,l,t),i=W(y+Math.PI,_,h,r,M,a,s,u,l,i),O){for(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z,R=2*(I-1)+2,T=1;T<R-1;++T)E=T/(R-1),V=n.lerp(t,i,E,N),e[o++]=V.x,e[o++]=V.y,e[o++]=V.z;e[o++]=i.x,e[o++]=i.y,e[o++]=i.z}p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x,c[A++]=i.x,c[A++]=i.y,c[A++]=i.z)}y=w.PI_OVER_TWO,t=W(-y,_,h,r,M,a,s,u,l,t);let B={};return O&&(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z,B.positions=e,B.numPts=x),p&&(c[z--]=t.z,c[z--]=t.y,c[z--]=t.x,B.outerPositions=c),B};var tt=j;export{tt as a}; diff --git a/public/lib/Cesium/Workers/chunk-35ZH4J6R.js b/public/lib/Cesium/Workers/chunk-ULZ2QSU5.js similarity index 89% rename from public/lib/Cesium/Workers/chunk-35ZH4J6R.js rename to public/lib/Cesium/Workers/chunk-ULZ2QSU5.js index 9c1f09db6..4b52390af 100644 --- a/public/lib/Cesium/Workers/chunk-35ZH4J6R.js +++ b/public/lib/Cesium/Workers/chunk-ULZ2QSU5.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{b as d}from"./chunk-4TXI27XR.js";import{a as i}from"./chunk-RFPX772U.js";import{a as z}from"./chunk-6KLVDWWE.js";import{b as r}from"./chunk-6P5KAIBX.js";import{e as c}from"./chunk-4FSVUTPL.js";function t(m,n,e){this.minimum=i.clone(z(m,i.ZERO)),this.maximum=i.clone(z(n,i.ZERO)),c(e)?e=i.clone(e):e=i.midpoint(this.minimum,this.maximum,new i),this.center=e}t.fromCorners=function(m,n,e){return r.defined("minimum",m),r.defined("maximum",n),c(e)||(e=new t),e.minimum=i.clone(m,e.minimum),e.maximum=i.clone(n,e.maximum),e.center=i.midpoint(m,n,e.center),e};t.fromPoints=function(m,n){if(c(n)||(n=new t),!c(m)||m.length===0)return n.minimum=i.clone(i.ZERO,n.minimum),n.maximum=i.clone(i.ZERO,n.maximum),n.center=i.clone(i.ZERO,n.center),n;let e=m[0].x,a=m[0].y,u=m[0].z,o=m[0].x,y=m[0].y,l=m[0].z,I=m.length;for(let E=1;E<I;E++){let M=m[E],p=M.x,Z=M.y,q=M.z;e=Math.min(p,e),o=Math.max(p,o),a=Math.min(Z,a),y=Math.max(Z,y),u=Math.min(q,u),l=Math.max(q,l)}let f=n.minimum;f.x=e,f.y=a,f.z=u;let x=n.maximum;return x.x=o,x.y=y,x.z=l,n.center=i.midpoint(f,x,n.center),n};t.clone=function(m,n){if(c(m))return c(n)?(n.minimum=i.clone(m.minimum,n.minimum),n.maximum=i.clone(m.maximum,n.maximum),n.center=i.clone(m.center,n.center),n):new t(m.minimum,m.maximum,m.center)};t.equals=function(m,n){return m===n||c(m)&&c(n)&&i.equals(m.center,n.center)&&i.equals(m.minimum,n.minimum)&&i.equals(m.maximum,n.maximum)};var h=new i;t.intersectPlane=function(m,n){r.defined("box",m),r.defined("plane",n),h=i.subtract(m.maximum,m.minimum,h);let e=i.multiplyByScalar(h,.5,h),a=n.normal,u=e.x*Math.abs(a.x)+e.y*Math.abs(a.y)+e.z*Math.abs(a.z),o=i.dot(m.center,a)+n.distance;return o-u>0?d.INSIDE:o+u<0?d.OUTSIDE:d.INTERSECTING};t.prototype.clone=function(m){return t.clone(this,m)};t.prototype.intersectPlane=function(m){return t.intersectPlane(this,m)};t.prototype.equals=function(m){return t.equals(this,m)};var P=t;export{P as a}; +import{b as d}from"./chunk-JLMPKQO4.js";import{a as i}from"./chunk-HWH6BBH6.js";import{a as z}from"./chunk-CJFJKB5V.js";import{b as r}from"./chunk-4BGNE6LH.js";import{e as c}from"./chunk-OX5CTLXY.js";function t(m,n,e){this.minimum=i.clone(z(m,i.ZERO)),this.maximum=i.clone(z(n,i.ZERO)),c(e)?e=i.clone(e):e=i.midpoint(this.minimum,this.maximum,new i),this.center=e}t.fromCorners=function(m,n,e){return r.defined("minimum",m),r.defined("maximum",n),c(e)||(e=new t),e.minimum=i.clone(m,e.minimum),e.maximum=i.clone(n,e.maximum),e.center=i.midpoint(m,n,e.center),e};t.fromPoints=function(m,n){if(c(n)||(n=new t),!c(m)||m.length===0)return n.minimum=i.clone(i.ZERO,n.minimum),n.maximum=i.clone(i.ZERO,n.maximum),n.center=i.clone(i.ZERO,n.center),n;let e=m[0].x,a=m[0].y,u=m[0].z,o=m[0].x,y=m[0].y,l=m[0].z,I=m.length;for(let E=1;E<I;E++){let M=m[E],p=M.x,Z=M.y,q=M.z;e=Math.min(p,e),o=Math.max(p,o),a=Math.min(Z,a),y=Math.max(Z,y),u=Math.min(q,u),l=Math.max(q,l)}let f=n.minimum;f.x=e,f.y=a,f.z=u;let x=n.maximum;return x.x=o,x.y=y,x.z=l,n.center=i.midpoint(f,x,n.center),n};t.clone=function(m,n){if(c(m))return c(n)?(n.minimum=i.clone(m.minimum,n.minimum),n.maximum=i.clone(m.maximum,n.maximum),n.center=i.clone(m.center,n.center),n):new t(m.minimum,m.maximum,m.center)};t.equals=function(m,n){return m===n||c(m)&&c(n)&&i.equals(m.center,n.center)&&i.equals(m.minimum,n.minimum)&&i.equals(m.maximum,n.maximum)};var h=new i;t.intersectPlane=function(m,n){r.defined("box",m),r.defined("plane",n),h=i.subtract(m.maximum,m.minimum,h);let e=i.multiplyByScalar(h,.5,h),a=n.normal,u=e.x*Math.abs(a.x)+e.y*Math.abs(a.y)+e.z*Math.abs(a.z),o=i.dot(m.center,a)+n.distance;return o-u>0?d.INSIDE:o+u<0?d.OUTSIDE:d.INTERSECTING};t.prototype.clone=function(m){return t.clone(this,m)};t.prototype.intersectPlane=function(m){return t.intersectPlane(this,m)};t.prototype.equals=function(m){return t.equals(this,m)};var P=t;export{P as a}; diff --git a/public/lib/Cesium/Workers/chunk-JQWRUZSV.js b/public/lib/Cesium/Workers/chunk-YEUI4ZO2.js similarity index 93% rename from public/lib/Cesium/Workers/chunk-JQWRUZSV.js rename to public/lib/Cesium/Workers/chunk-YEUI4ZO2.js index ff62b1020..d3cdeb086 100644 --- a/public/lib/Cesium/Workers/chunk-JQWRUZSV.js +++ b/public/lib/Cesium/Workers/chunk-YEUI4ZO2.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,6 +23,6 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{e as f}from"./chunk-4FSVUTPL.js";function c(t){let n,a=t.name,e=t.message;f(a)&&f(e)?n=`${a}: ${e}`:n=t.toString();let o=t.stack;return f(o)&&(n+=` +import{e as f}from"./chunk-OX5CTLXY.js";function c(t){let n,a=t.name,e=t.message;f(a)&&f(e)?n=`${a}: ${e}`:n=t.toString();let o=t.stack;return f(o)&&(n+=` ${o}`),n}var i=c;function l(t){async function n({data:e}){let o=[],s={id:e.id,result:void 0,error:void 0};self.CESIUM_BASE_URL=e.baseUrl;try{let r=await t(e.parameters,o);s.result=r}catch(r){r instanceof Error?s.error={name:r.name,message:r.message,stack:r.stack}:s.error=r}e.canTransferArrayBuffer||(o.length=0);try{postMessage(s,o)}catch(r){s.result=void 0,s.error=`postMessage failed with error: ${i(r)} with responseMessage: ${JSON.stringify(s)}`,postMessage(s)}}function a(e){postMessage({id:e.data?.id,error:`postMessage failed with error: ${JSON.stringify(e)}`})}return self.onmessage=n,self.onmessageerror=a,self}var d=l;export{d as a}; diff --git a/public/lib/Cesium/Workers/combineGeometry.js b/public/lib/Cesium/Workers/combineGeometry.js index 0091f36d2..f475b20f9 100644 --- a/public/lib/Cesium/Workers/combineGeometry.js +++ b/public/lib/Cesium/Workers/combineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as e}from"./chunk-DELT5W27.js";import{a as r}from"./chunk-JQWRUZSV.js";import"./chunk-ZPNGL6DU.js";import"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import"./chunk-4FSVUTPL.js";function n(o,t){let m=e.unpackCombineGeometryParameters(o),i=e.combineGeometry(m);return e.packCombineGeometryResults(i,t)}var c=r(n);export{c as default}; +import{a as e}from"./chunk-QT33UL57.js";import{a as r}from"./chunk-YEUI4ZO2.js";import"./chunk-6IQVYEBD.js";import"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import"./chunk-OX5CTLXY.js";function n(o,t){let m=e.unpackCombineGeometryParameters(o),i=e.combineGeometry(m);return e.packCombineGeometryResults(i,t)}var c=r(n);export{c as default}; diff --git a/public/lib/Cesium/Workers/createBoxGeometry.js b/public/lib/Cesium/Workers/createBoxGeometry.js index ce86807c3..b577c9953 100644 --- a/public/lib/Cesium/Workers/createBoxGeometry.js +++ b/public/lib/Cesium/Workers/createBoxGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as r}from"./chunk-YEGGJGFV.js";import"./chunk-IFAARW2T.js";import"./chunk-6YAFAZVV.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as o}from"./chunk-4FSVUTPL.js";function i(e,t){return o(t)&&(e=r.unpack(e,t)),r.createGeometry(e)}var a=i;export{a as default}; +import{a as r}from"./chunk-64YODNAO.js";import"./chunk-TP5B32RY.js";import"./chunk-RPAJTIFB.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as o}from"./chunk-OX5CTLXY.js";function i(e,t){return o(t)&&(e=r.unpack(e,t)),r.createGeometry(e)}var a=i;export{a as default}; diff --git a/public/lib/Cesium/Workers/createBoxOutlineGeometry.js b/public/lib/Cesium/Workers/createBoxOutlineGeometry.js index 613963e2a..2c6b5b951 100644 --- a/public/lib/Cesium/Workers/createBoxOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createBoxOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as d}from"./chunk-IFAARW2T.js";import{a as l}from"./chunk-WFZLZ2P5.js";import{b as O,c as h,d as p}from"./chunk-CTEHZS7O.js";import{d as A}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a}from"./chunk-27UWHT4D.js";import{a as m}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as u}from"./chunk-6KLVDWWE.js";import{a as b,b as r}from"./chunk-6P5KAIBX.js";import{e as c}from"./chunk-4FSVUTPL.js";var g=new m;function f(e){e=u(e,u.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;if(r.typeOf.object("min",t),r.typeOf.object("max",n),c(e.offsetAttribute)&&e.offsetAttribute===d.TOP)throw new b("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._min=m.clone(t),this._max=m.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}f.fromDimensions=function(e){e=u(e,u.EMPTY_OBJECT);let t=e.dimensions;r.typeOf.object("dimensions",t),r.typeOf.number.greaterThanOrEquals("dimensions.x",t.x,0),r.typeOf.number.greaterThanOrEquals("dimensions.y",t.y,0),r.typeOf.number.greaterThanOrEquals("dimensions.z",t.z,0);let n=m.multiplyByScalar(t,.5,new m);return new f({minimum:m.negate(n,new m),maximum:n,offsetAttribute:e.offsetAttribute})};f.fromAxisAlignedBoundingBox=function(e){return r.typeOf.object("boundindBox",e),new f({minimum:e.minimum,maximum:e.maximum})};f.packedLength=2*m.packedLength+1;f.pack=function(e,t,n){return r.typeOf.object("value",e),r.defined("array",t),n=u(n,0),m.pack(e._min,t,n),m.pack(e._max,t,n+m.packedLength),t[n+m.packedLength*2]=u(e._offsetAttribute,-1),t};var w=new m,x=new m,_={minimum:w,maximum:x,offsetAttribute:void 0};f.unpack=function(e,t,n){r.defined("array",e),t=u(t,0);let s=m.unpack(e,t,w),o=m.unpack(e,t+m.packedLength,x),i=e[t+m.packedLength*2];return c(n)?(n._min=m.clone(s,n._min),n._max=m.clone(o,n._max),n._offsetAttribute=i===-1?void 0:i,n):(_.offsetAttribute=i===-1?void 0:i,new f(_))};f.createGeometry=function(e){let t=e._min,n=e._max;if(m.equals(t,n))return;let s=new l,o=new Uint16Array(12*2),i=new Float64Array(8*3);i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=n.x,i[4]=t.y,i[5]=t.z,i[6]=n.x,i[7]=n.y,i[8]=t.z,i[9]=t.x,i[10]=n.y,i[11]=t.z,i[12]=t.x,i[13]=t.y,i[14]=n.z,i[15]=n.x,i[16]=t.y,i[17]=n.z,i[18]=n.x,i[19]=n.y,i[20]=n.z,i[21]=t.x,i[22]=n.y,i[23]=n.z,s.position=new p({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:i}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let k=m.subtract(n,t,g),E=m.magnitude(k)*.5;if(c(e._offsetAttribute)){let T=i.length,B=e._offsetAttribute===d.NONE?0:1,z=new Uint8Array(T/3).fill(B);s.applyOffset=new p({componentDatatype:a.UNSIGNED_BYTE,componentsPerAttribute:1,values:z})}return new h({attributes:s,indices:o,primitiveType:O.LINES,boundingSphere:new A(m.ZERO,E),offsetAttribute:e._offsetAttribute})};var y=f;function L(e,t){return c(t)&&(e=y.unpack(e,t)),y.createGeometry(e)}var R=L;export{R as default}; +import{a as d}from"./chunk-TP5B32RY.js";import{a as l}from"./chunk-E2XIHPTZ.js";import{b as O,c as h,d as p}from"./chunk-72NMS5KE.js";import{d as A}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a}from"./chunk-GNTVNTUY.js";import{a as m}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as u}from"./chunk-CJFJKB5V.js";import{a as b,b as r}from"./chunk-4BGNE6LH.js";import{e as c}from"./chunk-OX5CTLXY.js";var g=new m;function f(e){e=u(e,u.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;if(r.typeOf.object("min",t),r.typeOf.object("max",n),c(e.offsetAttribute)&&e.offsetAttribute===d.TOP)throw new b("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._min=m.clone(t),this._max=m.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}f.fromDimensions=function(e){e=u(e,u.EMPTY_OBJECT);let t=e.dimensions;r.typeOf.object("dimensions",t),r.typeOf.number.greaterThanOrEquals("dimensions.x",t.x,0),r.typeOf.number.greaterThanOrEquals("dimensions.y",t.y,0),r.typeOf.number.greaterThanOrEquals("dimensions.z",t.z,0);let n=m.multiplyByScalar(t,.5,new m);return new f({minimum:m.negate(n,new m),maximum:n,offsetAttribute:e.offsetAttribute})};f.fromAxisAlignedBoundingBox=function(e){return r.typeOf.object("boundindBox",e),new f({minimum:e.minimum,maximum:e.maximum})};f.packedLength=2*m.packedLength+1;f.pack=function(e,t,n){return r.typeOf.object("value",e),r.defined("array",t),n=u(n,0),m.pack(e._min,t,n),m.pack(e._max,t,n+m.packedLength),t[n+m.packedLength*2]=u(e._offsetAttribute,-1),t};var w=new m,x=new m,_={minimum:w,maximum:x,offsetAttribute:void 0};f.unpack=function(e,t,n){r.defined("array",e),t=u(t,0);let s=m.unpack(e,t,w),o=m.unpack(e,t+m.packedLength,x),i=e[t+m.packedLength*2];return c(n)?(n._min=m.clone(s,n._min),n._max=m.clone(o,n._max),n._offsetAttribute=i===-1?void 0:i,n):(_.offsetAttribute=i===-1?void 0:i,new f(_))};f.createGeometry=function(e){let t=e._min,n=e._max;if(m.equals(t,n))return;let s=new l,o=new Uint16Array(12*2),i=new Float64Array(8*3);i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=n.x,i[4]=t.y,i[5]=t.z,i[6]=n.x,i[7]=n.y,i[8]=t.z,i[9]=t.x,i[10]=n.y,i[11]=t.z,i[12]=t.x,i[13]=t.y,i[14]=n.z,i[15]=n.x,i[16]=t.y,i[17]=n.z,i[18]=n.x,i[19]=n.y,i[20]=n.z,i[21]=t.x,i[22]=n.y,i[23]=n.z,s.position=new p({componentDatatype:a.DOUBLE,componentsPerAttribute:3,values:i}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let k=m.subtract(n,t,g),E=m.magnitude(k)*.5;if(c(e._offsetAttribute)){let T=i.length,B=e._offsetAttribute===d.NONE?0:1,z=new Uint8Array(T/3).fill(B);s.applyOffset=new p({componentDatatype:a.UNSIGNED_BYTE,componentsPerAttribute:1,values:z})}return new h({attributes:s,indices:o,primitiveType:O.LINES,boundingSphere:new A(m.ZERO,E),offsetAttribute:e._offsetAttribute})};var y=f;function L(e,t){return c(t)&&(e=y.unpack(e,t)),y.createGeometry(e)}var R=L;export{R as default}; diff --git a/public/lib/Cesium/Workers/createCircleGeometry.js b/public/lib/Cesium/Workers/createCircleGeometry.js index a420bc065..07dc000da 100644 --- a/public/lib/Cesium/Workers/createCircleGeometry.js +++ b/public/lib/Cesium/Workers/createCircleGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as l}from"./chunk-ZXPIMV2C.js";import"./chunk-FHVNMDL2.js";import"./chunk-YGSEQ273.js";import"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import"./chunk-IFAARW2T.js";import{a as m}from"./chunk-6YAFAZVV.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a,d as s}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as c}from"./chunk-6KLVDWWE.js";import{b as p}from"./chunk-6P5KAIBX.js";import{e as d}from"./chunk-4FSVUTPL.js";function n(e){e=c(e,c.EMPTY_OBJECT);let r=e.radius;p.typeOf.number("radius",r);let o={center:e.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new l(o),this._workerName="createCircleGeometry"}n.packedLength=l.packedLength;n.pack=function(e,r,o){return p.typeOf.object("value",e),l.pack(e._ellipseGeometry,r,o)};var f=new l({center:new a,semiMajorAxis:1,semiMinorAxis:1}),t={center:new a,radius:void 0,ellipsoid:s.clone(s.default),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new m,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};n.unpack=function(e,r,o){let i=l.unpack(e,r,f);return t.center=a.clone(i._center,t.center),t.ellipsoid=s.clone(i._ellipsoid,t.ellipsoid),t.ellipsoid=s.clone(i._ellipsoid,f._ellipsoid),t.height=i._height,t.extrudedHeight=i._extrudedHeight,t.granularity=i._granularity,t.vertexFormat=m.clone(i._vertexFormat,t.vertexFormat),t.stRotation=i._stRotation,t.shadowVolume=i._shadowVolume,d(o)?(t.semiMajorAxis=i._semiMajorAxis,t.semiMinorAxis=i._semiMinorAxis,o._ellipseGeometry=new l(t),o):(t.radius=i._semiMajorAxis,new n(t))};n.createGeometry=function(e){return l.createGeometry(e._ellipseGeometry)};n.createShadowVolume=function(e,r,o){let i=e._ellipseGeometry._granularity,u=e._ellipseGeometry._ellipsoid,h=r(i,u),x=o(i,u);return new n({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:u,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:h,height:x,vertexFormat:m.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(n.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var _=n;function g(e,r){return d(r)&&(e=_.unpack(e,r)),e._ellipseGeometry._center=a.clone(e._ellipseGeometry._center),e._ellipseGeometry._ellipsoid=s.clone(e._ellipseGeometry._ellipsoid),_.createGeometry(e)}var H=g;export{H as default}; +import{a as l}from"./chunk-SP2S5UZD.js";import"./chunk-TZGYF5KJ.js";import"./chunk-D76R4V7H.js";import"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import"./chunk-TP5B32RY.js";import{a as m}from"./chunk-RPAJTIFB.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a,d as s}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as c}from"./chunk-CJFJKB5V.js";import{b as p}from"./chunk-4BGNE6LH.js";import{e as d}from"./chunk-OX5CTLXY.js";function n(e){e=c(e,c.EMPTY_OBJECT);let r=e.radius;p.typeOf.number("radius",r);let o={center:e.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new l(o),this._workerName="createCircleGeometry"}n.packedLength=l.packedLength;n.pack=function(e,r,o){return p.typeOf.object("value",e),l.pack(e._ellipseGeometry,r,o)};var f=new l({center:new a,semiMajorAxis:1,semiMinorAxis:1}),t={center:new a,radius:void 0,ellipsoid:s.clone(s.default),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new m,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};n.unpack=function(e,r,o){let i=l.unpack(e,r,f);return t.center=a.clone(i._center,t.center),t.ellipsoid=s.clone(i._ellipsoid,t.ellipsoid),t.ellipsoid=s.clone(i._ellipsoid,f._ellipsoid),t.height=i._height,t.extrudedHeight=i._extrudedHeight,t.granularity=i._granularity,t.vertexFormat=m.clone(i._vertexFormat,t.vertexFormat),t.stRotation=i._stRotation,t.shadowVolume=i._shadowVolume,d(o)?(t.semiMajorAxis=i._semiMajorAxis,t.semiMinorAxis=i._semiMinorAxis,o._ellipseGeometry=new l(t),o):(t.radius=i._semiMajorAxis,new n(t))};n.createGeometry=function(e){return l.createGeometry(e._ellipseGeometry)};n.createShadowVolume=function(e,r,o){let i=e._ellipseGeometry._granularity,u=e._ellipseGeometry._ellipsoid,h=r(i,u),x=o(i,u);return new n({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:u,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:h,height:x,vertexFormat:m.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(n.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var _=n;function g(e,r){return d(r)&&(e=_.unpack(e,r)),e._ellipseGeometry._center=a.clone(e._ellipseGeometry._center),e._ellipseGeometry._ellipsoid=s.clone(e._ellipseGeometry._ellipsoid),_.createGeometry(e)}var H=g;export{H as default}; diff --git a/public/lib/Cesium/Workers/createCircleOutlineGeometry.js b/public/lib/Cesium/Workers/createCircleOutlineGeometry.js index 9798bca47..5d809d735 100644 --- a/public/lib/Cesium/Workers/createCircleOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createCircleOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as n}from"./chunk-2HIRFTYB.js";import"./chunk-FHVNMDL2.js";import"./chunk-IFAARW2T.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as o,d as s}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as u}from"./chunk-6KLVDWWE.js";import{b as d}from"./chunk-6P5KAIBX.js";import{e as a}from"./chunk-4FSVUTPL.js";function m(e){e=u(e,u.EMPTY_OBJECT);let r=e.radius;d.typeOf.number("radius",r);let l={center:e.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new n(l),this._workerName="createCircleOutlineGeometry"}m.packedLength=n.packedLength;m.pack=function(e,r,l){return d.typeOf.object("value",e),n.pack(e._ellipseGeometry,r,l)};var p=new n({center:new o,semiMajorAxis:1,semiMinorAxis:1}),i={center:new o,radius:void 0,ellipsoid:s.clone(s.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};m.unpack=function(e,r,l){let t=n.unpack(e,r,p);return i.center=o.clone(t._center,i.center),i.ellipsoid=s.clone(t._ellipsoid,i.ellipsoid),i.height=t._height,i.extrudedHeight=t._extrudedHeight,i.granularity=t._granularity,i.numberOfVerticalLines=t._numberOfVerticalLines,a(l)?(i.semiMajorAxis=t._semiMajorAxis,i.semiMinorAxis=t._semiMinorAxis,l._ellipseGeometry=new n(i),l):(i.radius=t._semiMajorAxis,new m(i))};m.createGeometry=function(e){return n.createGeometry(e._ellipseGeometry)};var c=m;function f(e,r){return a(r)&&(e=c.unpack(e,r)),e._ellipseGeometry._center=o.clone(e._ellipseGeometry._center),e._ellipseGeometry._ellipsoid=s.clone(e._ellipseGeometry._ellipsoid),c.createGeometry(e)}var E=f;export{E as default}; +import{a as n}from"./chunk-GP5GXDAP.js";import"./chunk-TZGYF5KJ.js";import"./chunk-TP5B32RY.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as o,d as s}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as u}from"./chunk-CJFJKB5V.js";import{b as d}from"./chunk-4BGNE6LH.js";import{e as a}from"./chunk-OX5CTLXY.js";function m(e){e=u(e,u.EMPTY_OBJECT);let r=e.radius;d.typeOf.number("radius",r);let l={center:e.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new n(l),this._workerName="createCircleOutlineGeometry"}m.packedLength=n.packedLength;m.pack=function(e,r,l){return d.typeOf.object("value",e),n.pack(e._ellipseGeometry,r,l)};var p=new n({center:new o,semiMajorAxis:1,semiMinorAxis:1}),i={center:new o,radius:void 0,ellipsoid:s.clone(s.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};m.unpack=function(e,r,l){let t=n.unpack(e,r,p);return i.center=o.clone(t._center,i.center),i.ellipsoid=s.clone(t._ellipsoid,i.ellipsoid),i.height=t._height,i.extrudedHeight=t._extrudedHeight,i.granularity=t._granularity,i.numberOfVerticalLines=t._numberOfVerticalLines,a(l)?(i.semiMajorAxis=t._semiMajorAxis,i.semiMinorAxis=t._semiMinorAxis,l._ellipseGeometry=new n(i),l):(i.radius=t._semiMajorAxis,new m(i))};m.createGeometry=function(e){return n.createGeometry(e._ellipseGeometry)};var c=m;function f(e,r){return a(r)&&(e=c.unpack(e,r)),e._ellipseGeometry._center=o.clone(e._ellipseGeometry._center),e._ellipseGeometry._ellipsoid=s.clone(e._ellipseGeometry._ellipsoid),c.createGeometry(e)}var E=f;export{E as default}; diff --git a/public/lib/Cesium/Workers/createCoplanarPolygonGeometry.js b/public/lib/Cesium/Workers/createCoplanarPolygonGeometry.js index 373493edb..e8d8636f3 100644 --- a/public/lib/Cesium/Workers/createCoplanarPolygonGeometry.js +++ b/public/lib/Cesium/Workers/createCoplanarPolygonGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as et}from"./chunk-3U6PIWIV.js";import{a as U}from"./chunk-ZKPELTMK.js";import"./chunk-2744EW7N.js";import{a as y}from"./chunk-A6IU7XS3.js";import"./chunk-6X7WLTTW.js";import{a as I}from"./chunk-YGSEQ273.js";import{a as $}from"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import{a as u}from"./chunk-6YAFAZVV.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import{b as ot}from"./chunk-542N7J5N.js";import{a as tt}from"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as J}from"./chunk-UGB43LJM.js";import{a as X}from"./chunk-WFZLZ2P5.js";import{b as W,c as Y,d as z}from"./chunk-CTEHZS7O.js";import{d as K}from"./chunk-4TXI27XR.js";import{f as Q}from"./chunk-GFUBU5RD.js";import{a as N}from"./chunk-27UWHT4D.js";import{a as i,c as x,d as m,e as P}from"./chunk-RFPX772U.js";import{a as q}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as f}from"./chunk-6KLVDWWE.js";import{b as B}from"./chunk-6P5KAIBX.js";import{e as g}from"./chunk-4FSVUTPL.js";var st=new i,at=new et,pt=new x,lt=new x,mt=new i,ft=new i,ut=new i,V=new i,yt=new i,ht=new i,nt=new Q,dt=new P,gt=new P,Pt=new i;function wt(e,t,o,a,h,A,r,n,p){let b=e.positions,c=ot.triangulate(e.positions2D,e.holes);c.length<3&&(c=[0,1,2]);let w=J.createTypedArray(b.length,c.length);w.set(c);let D=dt;if(a!==0){let d=Q.fromAxisAngle(r,a,nt);if(D=P.fromQuaternion(d,D),t.tangent||t.bitangent){d=Q.fromAxisAngle(r,-a,nt);let G=P.fromQuaternion(d,gt);n=i.normalize(P.multiplyByVector(G,n,n),n),t.bitangent&&(p=i.normalize(i.cross(r,n,p),p))}}else D=P.clone(P.IDENTITY,D);let j=lt;t.st&&(j.x=o.x,j.y=o.y);let k=b.length,C=k*3,L=new Float64Array(C),T=t.normal?new Float32Array(C):void 0,R=t.tangent?new Float32Array(C):void 0,S=t.bitangent?new Float32Array(C):void 0,H=t.st?new Float32Array(k*2):void 0,M=0,F=0,l=0,O=0,s=0;for(let d=0;d<k;d++){let G=b[d];if(L[M++]=G.x,L[M++]=G.y,L[M++]=G.z,t.st)if(g(h)&&h.positions.length===k)H[s++]=h.positions[d].x,H[s++]=h.positions[d].y;else{let it=P.multiplyByVector(D,G,st),v=A(it,pt);x.subtract(v,j,v);let rt=q.clamp(v.x/o.width,0,1),ct=q.clamp(v.y/o.height,0,1);H[s++]=rt,H[s++]=ct}t.normal&&(T[F++]=r.x,T[F++]=r.y,T[F++]=r.z),t.tangent&&(R[O++]=n.x,R[O++]=n.y,R[O++]=n.z),t.bitangent&&(S[l++]=p.x,S[l++]=p.y,S[l++]=p.z)}let _=new X;return t.position&&(_.position=new z({componentDatatype:N.DOUBLE,componentsPerAttribute:3,values:L})),t.normal&&(_.normal=new z({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:T})),t.tangent&&(_.tangent=new z({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:R})),t.bitangent&&(_.bitangent=new z({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:S})),t.st&&(_.st=new z({componentDatatype:N.FLOAT,componentsPerAttribute:2,values:H})),new Y({attributes:_,indices:w,primitiveType:W.TRIANGLES})}function E(e){e=f(e,f.EMPTY_OBJECT);let t=e.polygonHierarchy,o=e.textureCoordinates;B.defined("options.polygonHierarchy",t);let a=f(e.vertexFormat,u.DEFAULT);this._vertexFormat=u.clone(a),this._polygonHierarchy=t,this._stRotation=f(e.stRotation,0),this._ellipsoid=m.clone(f(e.ellipsoid,m.default)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=o,this.packedLength=y.computeHierarchyPackedLength(t,i)+u.packedLength+m.packedLength+(g(o)?y.computeHierarchyPackedLength(o,x):1)+2}E.fromPositions=function(e){e=f(e,f.EMPTY_OBJECT),B.defined("options.positions",e.positions);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new E(t)};E.pack=function(e,t,o){return B.typeOf.object("value",e),B.defined("array",t),o=f(o,0),o=y.packPolygonHierarchy(e._polygonHierarchy,t,o,i),m.pack(e._ellipsoid,t,o),o+=m.packedLength,u.pack(e._vertexFormat,t,o),o+=u.packedLength,t[o++]=e._stRotation,g(e._textureCoordinates)?o=y.packPolygonHierarchy(e._textureCoordinates,t,o,x):t[o++]=-1,t[o++]=e.packedLength,t};var _t=m.clone(m.UNIT_SPHERE),At=new u,bt={polygonHierarchy:{}};E.unpack=function(e,t,o){B.defined("array",e),t=f(t,0);let a=y.unpackPolygonHierarchy(e,t,i);t=a.startingIndex,delete a.startingIndex;let h=m.unpack(e,t,_t);t+=m.packedLength;let A=u.unpack(e,t,At);t+=u.packedLength;let r=e[t++],n=e[t]===-1?void 0:y.unpackPolygonHierarchy(e,t,x);g(n)?(t=n.startingIndex,delete n.startingIndex):t++;let p=e[t++];return g(o)||(o=new E(bt)),o._polygonHierarchy=a,o._ellipsoid=m.clone(h,o._ellipsoid),o._vertexFormat=u.clone(A,o._vertexFormat),o._stRotation=r,o._textureCoordinates=n,o.packedLength=p,o};E.createGeometry=function(e){let t=e._vertexFormat,o=e._polygonHierarchy,a=e._stRotation,h=e._textureCoordinates,A=g(h),r=o.positions;if(r=tt(r,i.equalsEpsilon,!0),r.length<3)return;let n=mt,p=ft,b=ut,c=yt,w=ht;if(!U.computeProjectTo2DArguments(r,V,c,w))return;if(n=i.cross(c,w,n),n=i.normalize(n,n),!i.equalsEpsilon(V,i.ZERO,q.EPSILON6)){let s=e._ellipsoid.geodeticSurfaceNormal(V,Pt);i.dot(n,s)<0&&(n=i.negate(n,n),c=i.negate(c,c))}let j=U.createProjectPointsTo2DFunction(V,c,w),k=U.createProjectPointTo2DFunction(V,c,w);t.tangent&&(p=i.clone(c,p)),t.bitangent&&(b=i.clone(w,b));let C=y.polygonsFromHierarchy(o,A,j,!1),L=C.hierarchy,T=C.polygons,R=function(s){return s},S=A?y.polygonsFromHierarchy(h,!0,R,!1).polygons:void 0;if(L.length===0)return;r=L[0].outerRing;let H=K.fromPoints(r),M=y.computeBoundingRectangle(n,k,r,a,at),F=[];for(let s=0;s<T.length;s++){let _=new I({geometry:wt(T[s],t,M,a,A?S[s]:void 0,k,n,p,b)});F.push(_)}let l=$.combineInstances(F)[0];l.attributes.position.values=new Float64Array(l.attributes.position.values),l.indices=J.createTypedArray(l.attributes.position.values.length/3,l.indices);let O=l.attributes;return t.position||delete O.position,new Y({attributes:O,indices:l.indices,primitiveType:l.primitiveType,boundingSphere:H})};var Z=E;function kt(e,t){return g(t)&&(e=Z.unpack(e,t)),Z.createGeometry(e)}var Xt=kt;export{Xt as default}; +import{a as et}from"./chunk-4ALHVD6K.js";import{a as U}from"./chunk-G6BZKWWN.js";import"./chunk-LKADYPHQ.js";import{a as y}from"./chunk-QIZB5B47.js";import"./chunk-BRDKDER4.js";import{a as I}from"./chunk-D76R4V7H.js";import{a as $}from"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import{a as u}from"./chunk-RPAJTIFB.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import{b as ot}from"./chunk-S4WTTFQO.js";import{a as tt}from"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as J}from"./chunk-A3VS2OZ2.js";import{a as X}from"./chunk-E2XIHPTZ.js";import{b as W,c as Y,d as z}from"./chunk-72NMS5KE.js";import{d as K}from"./chunk-JLMPKQO4.js";import{f as Q}from"./chunk-2K72IAMD.js";import{a as N}from"./chunk-GNTVNTUY.js";import{a as i,c as x,d as m,e as P}from"./chunk-HWH6BBH6.js";import{a as q}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as f}from"./chunk-CJFJKB5V.js";import{b as B}from"./chunk-4BGNE6LH.js";import{e as g}from"./chunk-OX5CTLXY.js";var st=new i,at=new et,pt=new x,lt=new x,mt=new i,ft=new i,ut=new i,V=new i,yt=new i,ht=new i,nt=new Q,dt=new P,gt=new P,Pt=new i;function wt(e,t,o,a,h,A,r,n,p){let b=e.positions,c=ot.triangulate(e.positions2D,e.holes);c.length<3&&(c=[0,1,2]);let w=J.createTypedArray(b.length,c.length);w.set(c);let D=dt;if(a!==0){let d=Q.fromAxisAngle(r,a,nt);if(D=P.fromQuaternion(d,D),t.tangent||t.bitangent){d=Q.fromAxisAngle(r,-a,nt);let G=P.fromQuaternion(d,gt);n=i.normalize(P.multiplyByVector(G,n,n),n),t.bitangent&&(p=i.normalize(i.cross(r,n,p),p))}}else D=P.clone(P.IDENTITY,D);let j=lt;t.st&&(j.x=o.x,j.y=o.y);let k=b.length,C=k*3,L=new Float64Array(C),T=t.normal?new Float32Array(C):void 0,R=t.tangent?new Float32Array(C):void 0,S=t.bitangent?new Float32Array(C):void 0,H=t.st?new Float32Array(k*2):void 0,M=0,F=0,l=0,O=0,s=0;for(let d=0;d<k;d++){let G=b[d];if(L[M++]=G.x,L[M++]=G.y,L[M++]=G.z,t.st)if(g(h)&&h.positions.length===k)H[s++]=h.positions[d].x,H[s++]=h.positions[d].y;else{let it=P.multiplyByVector(D,G,st),v=A(it,pt);x.subtract(v,j,v);let rt=q.clamp(v.x/o.width,0,1),ct=q.clamp(v.y/o.height,0,1);H[s++]=rt,H[s++]=ct}t.normal&&(T[F++]=r.x,T[F++]=r.y,T[F++]=r.z),t.tangent&&(R[O++]=n.x,R[O++]=n.y,R[O++]=n.z),t.bitangent&&(S[l++]=p.x,S[l++]=p.y,S[l++]=p.z)}let _=new X;return t.position&&(_.position=new z({componentDatatype:N.DOUBLE,componentsPerAttribute:3,values:L})),t.normal&&(_.normal=new z({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:T})),t.tangent&&(_.tangent=new z({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:R})),t.bitangent&&(_.bitangent=new z({componentDatatype:N.FLOAT,componentsPerAttribute:3,values:S})),t.st&&(_.st=new z({componentDatatype:N.FLOAT,componentsPerAttribute:2,values:H})),new Y({attributes:_,indices:w,primitiveType:W.TRIANGLES})}function E(e){e=f(e,f.EMPTY_OBJECT);let t=e.polygonHierarchy,o=e.textureCoordinates;B.defined("options.polygonHierarchy",t);let a=f(e.vertexFormat,u.DEFAULT);this._vertexFormat=u.clone(a),this._polygonHierarchy=t,this._stRotation=f(e.stRotation,0),this._ellipsoid=m.clone(f(e.ellipsoid,m.default)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=o,this.packedLength=y.computeHierarchyPackedLength(t,i)+u.packedLength+m.packedLength+(g(o)?y.computeHierarchyPackedLength(o,x):1)+2}E.fromPositions=function(e){e=f(e,f.EMPTY_OBJECT),B.defined("options.positions",e.positions);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new E(t)};E.pack=function(e,t,o){return B.typeOf.object("value",e),B.defined("array",t),o=f(o,0),o=y.packPolygonHierarchy(e._polygonHierarchy,t,o,i),m.pack(e._ellipsoid,t,o),o+=m.packedLength,u.pack(e._vertexFormat,t,o),o+=u.packedLength,t[o++]=e._stRotation,g(e._textureCoordinates)?o=y.packPolygonHierarchy(e._textureCoordinates,t,o,x):t[o++]=-1,t[o++]=e.packedLength,t};var _t=m.clone(m.UNIT_SPHERE),At=new u,bt={polygonHierarchy:{}};E.unpack=function(e,t,o){B.defined("array",e),t=f(t,0);let a=y.unpackPolygonHierarchy(e,t,i);t=a.startingIndex,delete a.startingIndex;let h=m.unpack(e,t,_t);t+=m.packedLength;let A=u.unpack(e,t,At);t+=u.packedLength;let r=e[t++],n=e[t]===-1?void 0:y.unpackPolygonHierarchy(e,t,x);g(n)?(t=n.startingIndex,delete n.startingIndex):t++;let p=e[t++];return g(o)||(o=new E(bt)),o._polygonHierarchy=a,o._ellipsoid=m.clone(h,o._ellipsoid),o._vertexFormat=u.clone(A,o._vertexFormat),o._stRotation=r,o._textureCoordinates=n,o.packedLength=p,o};E.createGeometry=function(e){let t=e._vertexFormat,o=e._polygonHierarchy,a=e._stRotation,h=e._textureCoordinates,A=g(h),r=o.positions;if(r=tt(r,i.equalsEpsilon,!0),r.length<3)return;let n=mt,p=ft,b=ut,c=yt,w=ht;if(!U.computeProjectTo2DArguments(r,V,c,w))return;if(n=i.cross(c,w,n),n=i.normalize(n,n),!i.equalsEpsilon(V,i.ZERO,q.EPSILON6)){let s=e._ellipsoid.geodeticSurfaceNormal(V,Pt);i.dot(n,s)<0&&(n=i.negate(n,n),c=i.negate(c,c))}let j=U.createProjectPointsTo2DFunction(V,c,w),k=U.createProjectPointTo2DFunction(V,c,w);t.tangent&&(p=i.clone(c,p)),t.bitangent&&(b=i.clone(w,b));let C=y.polygonsFromHierarchy(o,A,j,!1),L=C.hierarchy,T=C.polygons,R=function(s){return s},S=A?y.polygonsFromHierarchy(h,!0,R,!1).polygons:void 0;if(L.length===0)return;r=L[0].outerRing;let H=K.fromPoints(r),M=y.computeBoundingRectangle(n,k,r,a,at),F=[];for(let s=0;s<T.length;s++){let _=new I({geometry:wt(T[s],t,M,a,A?S[s]:void 0,k,n,p,b)});F.push(_)}let l=$.combineInstances(F)[0];l.attributes.position.values=new Float64Array(l.attributes.position.values),l.indices=J.createTypedArray(l.attributes.position.values.length/3,l.indices);let O=l.attributes;return t.position||delete O.position,new Y({attributes:O,indices:l.indices,primitiveType:l.primitiveType,boundingSphere:H})};var Z=E;function kt(e,t){return g(t)&&(e=Z.unpack(e,t)),Z.createGeometry(e)}var Xt=kt;export{Xt as default}; diff --git a/public/lib/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js b/public/lib/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js index 0ae9cc7c6..f4018ffc4 100644 --- a/public/lib/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createCoplanarPolygonOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as T}from"./chunk-ZKPELTMK.js";import"./chunk-2744EW7N.js";import{a as f}from"./chunk-A6IU7XS3.js";import"./chunk-6X7WLTTW.js";import{a as G}from"./chunk-YGSEQ273.js";import{a as C}from"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import"./chunk-542N7J5N.js";import{a as L}from"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as w}from"./chunk-UGB43LJM.js";import{a as O}from"./chunk-WFZLZ2P5.js";import{b,c as d,d as k}from"./chunk-CTEHZS7O.js";import{d as P}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as H}from"./chunk-27UWHT4D.js";import{a as l,d as g}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as c}from"./chunk-6KLVDWWE.js";import{b as a}from"./chunk-6P5KAIBX.js";import{e as u}from"./chunk-4FSVUTPL.js";function E(o){let e=o.length,t=new Float64Array(e*3),r=w.createTypedArray(e,e*2),i=0,s=0;for(let n=0;n<e;n++){let p=o[n];t[i++]=p.x,t[i++]=p.y,t[i++]=p.z,r[s++]=n,r[s++]=(n+1)%e}let y=new O({position:new k({componentDatatype:H.DOUBLE,componentsPerAttribute:3,values:t})});return new d({attributes:y,indices:r,primitiveType:b.LINES})}function m(o){o=c(o,c.EMPTY_OBJECT);let e=o.polygonHierarchy;a.defined("options.polygonHierarchy",e),this._polygonHierarchy=e,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=f.computeHierarchyPackedLength(e,l)+1}m.fromPositions=function(o){o=c(o,c.EMPTY_OBJECT),a.defined("options.positions",o.positions);let e={polygonHierarchy:{positions:o.positions}};return new m(e)};m.pack=function(o,e,t){return a.typeOf.object("value",o),a.defined("array",e),t=c(t,0),t=f.packPolygonHierarchy(o._polygonHierarchy,e,t,l),e[t]=o.packedLength,e};var v={polygonHierarchy:{}};m.unpack=function(o,e,t){a.defined("array",o),e=c(e,0);let r=f.unpackPolygonHierarchy(o,e,l);e=r.startingIndex,delete r.startingIndex;let i=o[e];return u(t)||(t=new m(v)),t._polygonHierarchy=r,t.packedLength=i,t};m.createGeometry=function(o){let e=o._polygonHierarchy,t=e.positions;if(t=L(t,l.equalsEpsilon,!0),t.length<3||!T.validOutline(t))return;let i=f.polygonOutlinesFromHierarchy(e,!1);if(i.length===0)return;let s=[];for(let p=0;p<i.length;p++){let _=new G({geometry:E(i[p])});s.push(_)}let y=C.combineInstances(s)[0],n=P.fromPoints(e.positions);return new d({attributes:y.attributes,indices:y.indices,primitiveType:y.primitiveType,boundingSphere:n})};var h=m;function A(o,e){return u(e)&&(o=h.unpack(o,e)),o._ellipsoid=g.clone(o._ellipsoid),h.createGeometry(o)}var Z=A;export{Z as default}; +import{a as T}from"./chunk-G6BZKWWN.js";import"./chunk-LKADYPHQ.js";import{a as f}from"./chunk-QIZB5B47.js";import"./chunk-BRDKDER4.js";import{a as G}from"./chunk-D76R4V7H.js";import{a as C}from"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import"./chunk-S4WTTFQO.js";import{a as L}from"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as w}from"./chunk-A3VS2OZ2.js";import{a as O}from"./chunk-E2XIHPTZ.js";import{b,c as d,d as k}from"./chunk-72NMS5KE.js";import{d as P}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as H}from"./chunk-GNTVNTUY.js";import{a as l,d as g}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as c}from"./chunk-CJFJKB5V.js";import{b as a}from"./chunk-4BGNE6LH.js";import{e as u}from"./chunk-OX5CTLXY.js";function E(o){let e=o.length,t=new Float64Array(e*3),r=w.createTypedArray(e,e*2),i=0,s=0;for(let n=0;n<e;n++){let p=o[n];t[i++]=p.x,t[i++]=p.y,t[i++]=p.z,r[s++]=n,r[s++]=(n+1)%e}let y=new O({position:new k({componentDatatype:H.DOUBLE,componentsPerAttribute:3,values:t})});return new d({attributes:y,indices:r,primitiveType:b.LINES})}function m(o){o=c(o,c.EMPTY_OBJECT);let e=o.polygonHierarchy;a.defined("options.polygonHierarchy",e),this._polygonHierarchy=e,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=f.computeHierarchyPackedLength(e,l)+1}m.fromPositions=function(o){o=c(o,c.EMPTY_OBJECT),a.defined("options.positions",o.positions);let e={polygonHierarchy:{positions:o.positions}};return new m(e)};m.pack=function(o,e,t){return a.typeOf.object("value",o),a.defined("array",e),t=c(t,0),t=f.packPolygonHierarchy(o._polygonHierarchy,e,t,l),e[t]=o.packedLength,e};var v={polygonHierarchy:{}};m.unpack=function(o,e,t){a.defined("array",o),e=c(e,0);let r=f.unpackPolygonHierarchy(o,e,l);e=r.startingIndex,delete r.startingIndex;let i=o[e];return u(t)||(t=new m(v)),t._polygonHierarchy=r,t.packedLength=i,t};m.createGeometry=function(o){let e=o._polygonHierarchy,t=e.positions;if(t=L(t,l.equalsEpsilon,!0),t.length<3||!T.validOutline(t))return;let i=f.polygonOutlinesFromHierarchy(e,!1);if(i.length===0)return;let s=[];for(let p=0;p<i.length;p++){let _=new G({geometry:E(i[p])});s.push(_)}let y=C.combineInstances(s)[0],n=P.fromPoints(e.positions);return new d({attributes:y.attributes,indices:y.indices,primitiveType:y.primitiveType,boundingSphere:n})};var h=m;function A(o,e){return u(e)&&(o=h.unpack(o,e)),o._ellipsoid=g.clone(o._ellipsoid),h.createGeometry(o)}var Z=A;export{Z as default}; diff --git a/public/lib/Cesium/Workers/createCorridorGeometry.js b/public/lib/Cesium/Workers/createCorridorGeometry.js index bf886b063..4e04516e7 100644 --- a/public/lib/Cesium/Workers/createCorridorGeometry.js +++ b/public/lib/Cesium/Workers/createCorridorGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as M}from"./chunk-5E2B6U7T.js";import{a as ht}from"./chunk-GXCW7MIH.js";import"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import{a as _t}from"./chunk-IFAARW2T.js";import{a as G}from"./chunk-6YAFAZVV.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import{b as yt}from"./chunk-542N7J5N.js";import{a as Pt}from"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as Nt}from"./chunk-UGB43LJM.js";import{a as Ct}from"./chunk-WFZLZ2P5.js";import{b as Mt,c as Vt,d as x}from"./chunk-CTEHZS7O.js";import{d as St}from"./chunk-4TXI27XR.js";import{i as Et}from"./chunk-GFUBU5RD.js";import{a as F}from"./chunk-27UWHT4D.js";import{a as o,b as bt,d as I}from"./chunk-RFPX772U.js";import{a as st}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as B}from"./chunk-6KLVDWWE.js";import{b as it}from"./chunk-6P5KAIBX.js";import{e as X}from"./chunk-4FSVUTPL.js";var zt=new o,kt=new o,wt=new o,Tt=new o,jt=new o,Ht=new o,at=new o,ft=new o;function Ut(t,e){for(let i=0;i<t.length;i++)t[i]=e.scaleToGeodeticSurface(t[i],t[i]);return t}function Z(t,e,i,l,d,f){let h=t.normals,O=t.tangents,g=t.bitangents,r=o.normalize(o.cross(i,e,at),at);f.normal&&M.addAttribute(h,e,l,d),f.tangent&&M.addAttribute(O,r,l,d),f.bitangent&&M.addAttribute(g,i,l,d)}function Bt(t,e,i){let l=t.positions,d=t.corners,f=t.endPositions,h=t.lefts,O=t.normals,g=new Ct,r,a=0,s=0,n,A=0,u;for(n=0;n<l.length;n+=2)u=l[n].length-3,a+=u,A+=u*2,s+=l[n+1].length-3;for(a+=3,s+=3,n=0;n<d.length;n++){r=d[n];let c=d[n].leftPositions;X(c)?(u=c.length,a+=u,A+=u):(u=d[n].rightPositions.length,s+=u,A+=u)}let b=X(f),p;b&&(p=f[0].length-3,a+=p,s+=p,p/=3,A+=p*6);let R=a+s,m=new Float64Array(R),C=e.normal?new Float32Array(R):void 0,D=e.tangent?new Float32Array(R):void 0,lt=e.bitangent?new Float32Array(R):void 0,z={normals:C,tangents:D,bitangents:lt},y=0,E=R-1,S,V,H,J,P=zt,w=kt,nt,ot,mt=p/2,_=Nt.createTypedArray(R/3,A),T=0;if(b){ot=wt,nt=Tt;let c=f[0];for(P=o.fromArray(O,0,P),w=o.fromArray(h,0,w),n=0;n<mt;n++)ot=o.fromArray(c,(mt-1-n)*3,ot),nt=o.fromArray(c,(mt+n)*3,nt),M.addAttribute(m,nt,y),M.addAttribute(m,ot,void 0,E),Z(z,P,w,y,E,e),V=y/3,J=V+1,S=(E-2)/3,H=S-1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3}let At=0,ut=0,rt=l[At++],q=l[At++];m.set(rt,y),m.set(q,E-q.length+1),w=o.fromArray(h,ut,w);let ct,dt;for(u=q.length-3,n=0;n<u;n+=3)ct=i.geodeticSurfaceNormal(o.fromArray(rt,n,at),at),dt=i.geodeticSurfaceNormal(o.fromArray(q,u-n,ft),ft),P=o.normalize(o.add(ct,dt,P),P),Z(z,P,w,y,E,e),V=y/3,J=V+1,S=(E-2)/3,H=S-1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3;for(ct=i.geodeticSurfaceNormal(o.fromArray(rt,u,at),at),dt=i.geodeticSurfaceNormal(o.fromArray(q,u,ft),ft),P=o.normalize(o.add(ct,dt,P),P),ut+=3,n=0;n<d.length;n++){let c;r=d[n];let $=r.leftPositions,v=r.rightPositions,L,U,N=Ht,k=wt,Y=Tt;if(P=o.fromArray(O,ut,P),X($)){for(Z(z,P,w,void 0,E,e),E-=3,L=J,U=H,c=0;c<$.length/3;c++)N=o.fromArray($,c*3,N),_[T++]=L,_[T++]=U-c-1,_[T++]=U-c,M.addAttribute(m,N,void 0,E),k=o.fromArray(m,(U-c-1)*3,k),Y=o.fromArray(m,L*3,Y),w=o.normalize(o.subtract(k,Y,w),w),Z(z,P,w,void 0,E,e),E-=3;N=o.fromArray(m,L*3,N),k=o.subtract(o.fromArray(m,U*3,k),N,k),Y=o.subtract(o.fromArray(m,(U-c)*3,Y),N,Y),w=o.normalize(o.add(k,Y,w),w),Z(z,P,w,y,void 0,e),y+=3}else{for(Z(z,P,w,y,void 0,e),y+=3,L=H,U=J,c=0;c<v.length/3;c++)N=o.fromArray(v,c*3,N),_[T++]=L,_[T++]=U+c,_[T++]=U+c+1,M.addAttribute(m,N,y),k=o.fromArray(m,L*3,k),Y=o.fromArray(m,(U+c)*3,Y),w=o.normalize(o.subtract(k,Y,w),w),Z(z,P,w,y,void 0,e),y+=3;N=o.fromArray(m,L*3,N),k=o.subtract(o.fromArray(m,(U+c)*3,k),N,k),Y=o.subtract(o.fromArray(m,U*3,Y),N,Y),w=o.normalize(o.negate(o.add(Y,k,w),w),w),Z(z,P,w,void 0,E,e),E-=3}for(rt=l[At++],q=l[At++],rt.splice(0,3),q.splice(q.length-3,3),m.set(rt,y),m.set(q,E-q.length+1),u=q.length-3,ut+=3,w=o.fromArray(h,ut,w),c=0;c<q.length;c+=3)ct=i.geodeticSurfaceNormal(o.fromArray(rt,c,at),at),dt=i.geodeticSurfaceNormal(o.fromArray(q,u-c,ft),ft),P=o.normalize(o.add(ct,dt,P),P),Z(z,P,w,y,E,e),J=y/3,V=J-1,H=(E-2)/3,S=H+1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3;y-=3,E+=3}if(P=o.fromArray(O,O.length-3,P),Z(z,P,w,y,E,e),b){y+=3,E-=3,ot=wt,nt=Tt;let c=f[1];for(n=0;n<mt;n++)ot=o.fromArray(c,(p-n-1)*3,ot),nt=o.fromArray(c,n*3,nt),M.addAttribute(m,ot,void 0,E),M.addAttribute(m,nt,y),Z(z,P,w,y,E,e),J=y/3,V=J-1,H=(E-2)/3,S=H+1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3}if(g.position=new x({componentDatatype:F.DOUBLE,componentsPerAttribute:3,values:m}),e.st){let c=new Float32Array(R/3*2),$,v,L=0;if(b){a/=3,s/=3;let U=Math.PI/(p+1);v=1/(a-p+1),$=1/(s-p+1);let N,k=p/2;for(n=k+1;n<p+1;n++)N=st.PI_OVER_TWO+U*n,c[L++]=$*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N));for(n=1;n<s-p+1;n++)c[L++]=n*$,c[L++]=0;for(n=p;n>k;n--)N=st.PI_OVER_TWO-n*U,c[L++]=1-$*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N));for(n=k;n>0;n--)N=st.PI_OVER_TWO-U*n,c[L++]=1-v*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N));for(n=a-p;n>0;n--)c[L++]=n*v,c[L++]=1;for(n=1;n<k+1;n++)N=st.PI_OVER_TWO+U*n,c[L++]=v*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N))}else{for(a/=3,s/=3,v=1/(a-1),$=1/(s-1),n=0;n<s;n++)c[L++]=n*$,c[L++]=0;for(n=a;n>0;n--)c[L++]=(n-1)*v,c[L++]=1}g.st=new x({componentDatatype:F.FLOAT,componentsPerAttribute:2,values:c})}return e.normal&&(g.normal=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:z.normals})),e.tangent&&(g.tangent=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:z.tangents})),e.bitangent&&(g.bitangent=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:z.bitangents})),{attributes:g,indices:_}}function qt(t,e){if(!e.normal&&!e.tangent&&!e.bitangent&&!e.st)return t;let i=t.position.values,l,d;(e.normal||e.bitangent)&&(l=t.normal.values,d=t.bitangent.values);let f=t.position.values.length/18,h=f*3,O=f*2,g=h*2,r;if(e.normal||e.bitangent||e.tangent){let a=e.normal?new Float32Array(h*6):void 0,s=e.tangent?new Float32Array(h*6):void 0,n=e.bitangent?new Float32Array(h*6):void 0,A=zt,u=kt,b=wt,p=Tt,R=jt,m=Ht,C=g;for(r=0;r<h;r+=3){let D=C+g;A=o.fromArray(i,r,A),u=o.fromArray(i,r+h,u),b=o.fromArray(i,(r+3)%h,b),u=o.subtract(u,A,u),b=o.subtract(b,A,b),p=o.normalize(o.cross(u,b,p),p),e.normal&&(M.addAttribute(a,p,D),M.addAttribute(a,p,D+3),M.addAttribute(a,p,C),M.addAttribute(a,p,C+3)),(e.tangent||e.bitangent)&&(m=o.fromArray(l,r,m),e.bitangent&&(M.addAttribute(n,m,D),M.addAttribute(n,m,D+3),M.addAttribute(n,m,C),M.addAttribute(n,m,C+3)),e.tangent&&(R=o.normalize(o.cross(m,p,R),R),M.addAttribute(s,R,D),M.addAttribute(s,R,D+3),M.addAttribute(s,R,C),M.addAttribute(s,R,C+3))),C+=6}if(e.normal){for(a.set(l),r=0;r<h;r+=3)a[r+h]=-l[r],a[r+h+1]=-l[r+1],a[r+h+2]=-l[r+2];t.normal.values=a}else t.normal=void 0;if(e.bitangent?(n.set(d),n.set(d,h),t.bitangent.values=n):t.bitangent=void 0,e.tangent){let D=t.tangent.values;s.set(D),s.set(D,h),t.tangent.values=s}}if(e.st){let a=t.st.values,s=new Float32Array(O*6);s.set(a),s.set(a,O);let n=O*2;for(let A=0;A<2;A++){for(s[n++]=a[0],s[n++]=a[1],r=2;r<O;r+=2){let u=a[r],b=a[r+1];s[n++]=u,s[n++]=b,s[n++]=u,s[n++]=b}s[n++]=a[0],s[n++]=a[1]}t.st.values=s}return t}function Ot(t,e,i){i[e++]=t[0],i[e++]=t[1],i[e++]=t[2];for(let l=3;l<t.length;l+=3){let d=t[l],f=t[l+1],h=t[l+2];i[e++]=d,i[e++]=f,i[e++]=h,i[e++]=d,i[e++]=f,i[e++]=h}return i[e++]=t[0],i[e++]=t[1],i[e++]=t[2],i}function Jt(t,e){let i=new G({position:e.position,normal:e.normal||e.bitangent||t.shadowVolume,tangent:e.tangent,bitangent:e.normal||e.bitangent,st:e.st}),l=t.ellipsoid,d=M.computePositions(t),f=Bt(d,i,l),h=t.height,O=t.extrudedHeight,g=f.attributes,r=f.indices,a=g.position.values,s=a.length,n=new Float64Array(s*6),A=new Float64Array(s);A.set(a);let u=new Float64Array(s*4);a=yt.scaleToGeodeticHeight(a,h,l),u=Ot(a,0,u),A=yt.scaleToGeodeticHeight(A,O,l),u=Ot(A,s*2,u),n.set(a),n.set(A,s),n.set(u,s*2),g.position.values=n,g=qt(g,e);let b,p=s/3;if(t.shadowVolume){let S=g.normal.values;s=S.length;let V=new Float32Array(s*6);for(b=0;b<s;b++)S[b]=-S[b];V.set(S,s),V=Ot(S,s*4,V),g.extrudeDirection=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:V}),e.normal||(g.normal=void 0)}if(X(t.offsetAttribute)){let S=new Uint8Array(p*6);if(t.offsetAttribute===_t.TOP)S=S.fill(1,0,p).fill(1,p*2,p*4);else{let V=t.offsetAttribute===_t.NONE?0:1;S=S.fill(V)}g.applyOffset=new x({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:S})}let R=r.length,m=p+p,C=Nt.createTypedArray(n.length/3,R*2+m*3);C.set(r);let D=R;for(b=0;b<R;b+=3){let S=r[b],V=r[b+1],H=r[b+2];C[D++]=H+p,C[D++]=V+p,C[D++]=S+p}let lt,z,y,E;for(b=0;b<m;b+=2)lt=b+m,z=lt+m,y=lt+1,E=z+1,C[D++]=lt,C[D++]=z,C[D++]=y,C[D++]=y,C[D++]=z,C[D++]=E;return{attributes:g,indices:C}}var Dt=new o,gt=new o,Q=new bt;function Rt(t,e,i,l,d,f){let h=o.subtract(e,t,Dt);o.normalize(h,h);let O=i.geodeticSurfaceNormal(t,gt),g=o.cross(h,O,Dt);o.multiplyByScalar(g,l,g);let r=d.latitude,a=d.longitude,s=f.latitude,n=f.longitude;o.add(t,g,gt),i.cartesianToCartographic(gt,Q);let A=Q.latitude,u=Q.longitude;r=Math.min(r,A),a=Math.min(a,u),s=Math.max(s,A),n=Math.max(n,u),o.subtract(t,g,gt),i.cartesianToCartographic(gt,Q),A=Q.latitude,u=Q.longitude,r=Math.min(r,A),a=Math.min(a,u),s=Math.max(s,A),n=Math.max(n,u),d.latitude=r,d.longitude=a,f.latitude=s,f.longitude=n}var K=new o,pt=new o,W=new bt,j=new bt;function Yt(t,e,i,l,d){t=Ut(t,e);let f=Pt(t,o.equalsEpsilon),h=f.length;if(h<2||i<=0)return new Et;let O=i*.5;W.latitude=Number.POSITIVE_INFINITY,W.longitude=Number.POSITIVE_INFINITY,j.latitude=Number.NEGATIVE_INFINITY,j.longitude=Number.NEGATIVE_INFINITY;let g,r;if(l===ht.ROUNDED){let n=f[0];o.subtract(n,f[1],K),o.normalize(K,K),o.multiplyByScalar(K,O,K),o.add(n,K,pt),e.cartesianToCartographic(pt,Q),g=Q.latitude,r=Q.longitude,W.latitude=Math.min(W.latitude,g),W.longitude=Math.min(W.longitude,r),j.latitude=Math.max(j.latitude,g),j.longitude=Math.max(j.longitude,r)}for(let n=0;n<h-1;++n)Rt(f[n],f[n+1],e,O,W,j);let a=f[h-1];o.subtract(a,f[h-2],K),o.normalize(K,K),o.multiplyByScalar(K,O,K),o.add(a,K,pt),Rt(a,pt,e,O,W,j),l===ht.ROUNDED&&(e.cartesianToCartographic(pt,Q),g=Q.latitude,r=Q.longitude,W.latitude=Math.min(W.latitude,g),W.longitude=Math.min(W.longitude,r),j.latitude=Math.max(j.latitude,g),j.longitude=Math.max(j.longitude,r));let s=X(d)?d:new Et;return s.north=j.latitude,s.south=W.latitude,s.east=j.longitude,s.west=W.longitude,s}function et(t){t=B(t,B.EMPTY_OBJECT);let e=t.positions,i=t.width;it.defined("options.positions",e),it.defined("options.width",i);let l=B(t.height,0),d=B(t.extrudedHeight,l);this._positions=e,this._ellipsoid=I.clone(B(t.ellipsoid,I.default)),this._vertexFormat=G.clone(B(t.vertexFormat,G.DEFAULT)),this._width=i,this._height=Math.max(l,d),this._extrudedHeight=Math.min(l,d),this._cornerType=B(t.cornerType,ht.ROUNDED),this._granularity=B(t.granularity,st.RADIANS_PER_DEGREE),this._shadowVolume=B(t.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=t.offsetAttribute,this._rectangle=void 0,this.packedLength=1+e.length*o.packedLength+I.packedLength+G.packedLength+7}et.pack=function(t,e,i){it.defined("value",t),it.defined("array",e),i=B(i,0);let l=t._positions,d=l.length;e[i++]=d;for(let f=0;f<d;++f,i+=o.packedLength)o.pack(l[f],e,i);return I.pack(t._ellipsoid,e,i),i+=I.packedLength,G.pack(t._vertexFormat,e,i),i+=G.packedLength,e[i++]=t._width,e[i++]=t._height,e[i++]=t._extrudedHeight,e[i++]=t._cornerType,e[i++]=t._granularity,e[i++]=t._shadowVolume?1:0,e[i]=B(t._offsetAttribute,-1),e};var It=I.clone(I.UNIT_SPHERE),Wt=new G,tt={positions:void 0,ellipsoid:It,vertexFormat:Wt,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};et.unpack=function(t,e,i){it.defined("array",t),e=B(e,0);let l=t[e++],d=new Array(l);for(let u=0;u<l;++u,e+=o.packedLength)d[u]=o.unpack(t,e);let f=I.unpack(t,e,It);e+=I.packedLength;let h=G.unpack(t,e,Wt);e+=G.packedLength;let O=t[e++],g=t[e++],r=t[e++],a=t[e++],s=t[e++],n=t[e++]===1,A=t[e];return X(i)?(i._positions=d,i._ellipsoid=I.clone(f,i._ellipsoid),i._vertexFormat=G.clone(h,i._vertexFormat),i._width=O,i._height=g,i._extrudedHeight=r,i._cornerType=a,i._granularity=s,i._shadowVolume=n,i._offsetAttribute=A===-1?void 0:A,i):(tt.positions=d,tt.width=O,tt.height=g,tt.extrudedHeight=r,tt.cornerType=a,tt.granularity=s,tt.shadowVolume=n,tt.offsetAttribute=A===-1?void 0:A,new et(tt))};et.computeRectangle=function(t,e){t=B(t,B.EMPTY_OBJECT);let i=t.positions,l=t.width;it.defined("options.positions",i),it.defined("options.width",l);let d=B(t.ellipsoid,I.default),f=B(t.cornerType,ht.ROUNDED);return Yt(i,d,l,f,e)};et.createGeometry=function(t){let e=t._positions,i=t._width,l=t._ellipsoid;e=Ut(e,l);let d=Pt(e,o.equalsEpsilon);if(d.length<2||i<=0)return;let f=t._height,h=t._extrudedHeight,O=!st.equalsEpsilon(f,h,0,st.EPSILON2),g=t._vertexFormat,r={ellipsoid:l,positions:d,width:i,cornerType:t._cornerType,granularity:t._granularity,saveAttributes:!0},a;if(O)r.height=f,r.extrudedHeight=h,r.shadowVolume=t._shadowVolume,r.offsetAttribute=t._offsetAttribute,a=Jt(r,g);else{let A=M.computePositions(r);if(a=Bt(A,g,l),a.attributes.position.values=yt.scaleToGeodeticHeight(a.attributes.position.values,f,l),X(t._offsetAttribute)){let u=t._offsetAttribute===_t.NONE?0:1,b=a.attributes.position.values.length,p=new Uint8Array(b/3).fill(u);a.attributes.applyOffset=new x({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:p})}}let s=a.attributes,n=St.fromVertices(s.position.values,void 0,3);return g.position||(a.attributes.position.values=void 0),new Vt({attributes:s,indices:a.indices,primitiveType:Mt.TRIANGLES,boundingSphere:n,offsetAttribute:t._offsetAttribute})};et.createShadowVolume=function(t,e,i){let l=t._granularity,d=t._ellipsoid,f=e(l,d),h=i(l,d);return new et({positions:t._positions,width:t._width,cornerType:t._cornerType,ellipsoid:d,granularity:l,extrudedHeight:f,height:h,vertexFormat:G.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(et.prototype,{rectangle:{get:function(){return X(this._rectangle)||(this._rectangle=Yt(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var Lt=et;function Gt(t,e){return X(e)&&(t=Lt.unpack(t,e)),t._ellipsoid=I.clone(t._ellipsoid),Lt.createGeometry(t)}var Ae=Gt;export{Ae as default}; +import{a as M}from"./chunk-JKCZ5NAK.js";import{a as ht}from"./chunk-OWPC6DLM.js";import"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import{a as _t}from"./chunk-TP5B32RY.js";import{a as G}from"./chunk-RPAJTIFB.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import{b as yt}from"./chunk-S4WTTFQO.js";import{a as Pt}from"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as Nt}from"./chunk-A3VS2OZ2.js";import{a as Ct}from"./chunk-E2XIHPTZ.js";import{b as Mt,c as Vt,d as x}from"./chunk-72NMS5KE.js";import{d as St}from"./chunk-JLMPKQO4.js";import{h as Et}from"./chunk-2K72IAMD.js";import{a as F}from"./chunk-GNTVNTUY.js";import{a as o,b as bt,d as I}from"./chunk-HWH6BBH6.js";import{a as st}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as B}from"./chunk-CJFJKB5V.js";import{b as it}from"./chunk-4BGNE6LH.js";import{e as X}from"./chunk-OX5CTLXY.js";var zt=new o,kt=new o,wt=new o,Tt=new o,jt=new o,Ht=new o,at=new o,ft=new o;function Ut(t,e){for(let i=0;i<t.length;i++)t[i]=e.scaleToGeodeticSurface(t[i],t[i]);return t}function Z(t,e,i,l,d,f){let h=t.normals,O=t.tangents,g=t.bitangents,r=o.normalize(o.cross(i,e,at),at);f.normal&&M.addAttribute(h,e,l,d),f.tangent&&M.addAttribute(O,r,l,d),f.bitangent&&M.addAttribute(g,i,l,d)}function Bt(t,e,i){let l=t.positions,d=t.corners,f=t.endPositions,h=t.lefts,O=t.normals,g=new Ct,r,a=0,s=0,n,A=0,u;for(n=0;n<l.length;n+=2)u=l[n].length-3,a+=u,A+=u*2,s+=l[n+1].length-3;for(a+=3,s+=3,n=0;n<d.length;n++){r=d[n];let c=d[n].leftPositions;X(c)?(u=c.length,a+=u,A+=u):(u=d[n].rightPositions.length,s+=u,A+=u)}let b=X(f),p;b&&(p=f[0].length-3,a+=p,s+=p,p/=3,A+=p*6);let R=a+s,m=new Float64Array(R),C=e.normal?new Float32Array(R):void 0,D=e.tangent?new Float32Array(R):void 0,lt=e.bitangent?new Float32Array(R):void 0,z={normals:C,tangents:D,bitangents:lt},y=0,E=R-1,S,V,H,J,P=zt,w=kt,nt,ot,mt=p/2,_=Nt.createTypedArray(R/3,A),T=0;if(b){ot=wt,nt=Tt;let c=f[0];for(P=o.fromArray(O,0,P),w=o.fromArray(h,0,w),n=0;n<mt;n++)ot=o.fromArray(c,(mt-1-n)*3,ot),nt=o.fromArray(c,(mt+n)*3,nt),M.addAttribute(m,nt,y),M.addAttribute(m,ot,void 0,E),Z(z,P,w,y,E,e),V=y/3,J=V+1,S=(E-2)/3,H=S-1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3}let At=0,ut=0,rt=l[At++],q=l[At++];m.set(rt,y),m.set(q,E-q.length+1),w=o.fromArray(h,ut,w);let ct,dt;for(u=q.length-3,n=0;n<u;n+=3)ct=i.geodeticSurfaceNormal(o.fromArray(rt,n,at),at),dt=i.geodeticSurfaceNormal(o.fromArray(q,u-n,ft),ft),P=o.normalize(o.add(ct,dt,P),P),Z(z,P,w,y,E,e),V=y/3,J=V+1,S=(E-2)/3,H=S-1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3;for(ct=i.geodeticSurfaceNormal(o.fromArray(rt,u,at),at),dt=i.geodeticSurfaceNormal(o.fromArray(q,u,ft),ft),P=o.normalize(o.add(ct,dt,P),P),ut+=3,n=0;n<d.length;n++){let c;r=d[n];let $=r.leftPositions,v=r.rightPositions,L,U,N=Ht,k=wt,Y=Tt;if(P=o.fromArray(O,ut,P),X($)){for(Z(z,P,w,void 0,E,e),E-=3,L=J,U=H,c=0;c<$.length/3;c++)N=o.fromArray($,c*3,N),_[T++]=L,_[T++]=U-c-1,_[T++]=U-c,M.addAttribute(m,N,void 0,E),k=o.fromArray(m,(U-c-1)*3,k),Y=o.fromArray(m,L*3,Y),w=o.normalize(o.subtract(k,Y,w),w),Z(z,P,w,void 0,E,e),E-=3;N=o.fromArray(m,L*3,N),k=o.subtract(o.fromArray(m,U*3,k),N,k),Y=o.subtract(o.fromArray(m,(U-c)*3,Y),N,Y),w=o.normalize(o.add(k,Y,w),w),Z(z,P,w,y,void 0,e),y+=3}else{for(Z(z,P,w,y,void 0,e),y+=3,L=H,U=J,c=0;c<v.length/3;c++)N=o.fromArray(v,c*3,N),_[T++]=L,_[T++]=U+c,_[T++]=U+c+1,M.addAttribute(m,N,y),k=o.fromArray(m,L*3,k),Y=o.fromArray(m,(U+c)*3,Y),w=o.normalize(o.subtract(k,Y,w),w),Z(z,P,w,y,void 0,e),y+=3;N=o.fromArray(m,L*3,N),k=o.subtract(o.fromArray(m,(U+c)*3,k),N,k),Y=o.subtract(o.fromArray(m,U*3,Y),N,Y),w=o.normalize(o.negate(o.add(Y,k,w),w),w),Z(z,P,w,void 0,E,e),E-=3}for(rt=l[At++],q=l[At++],rt.splice(0,3),q.splice(q.length-3,3),m.set(rt,y),m.set(q,E-q.length+1),u=q.length-3,ut+=3,w=o.fromArray(h,ut,w),c=0;c<q.length;c+=3)ct=i.geodeticSurfaceNormal(o.fromArray(rt,c,at),at),dt=i.geodeticSurfaceNormal(o.fromArray(q,u-c,ft),ft),P=o.normalize(o.add(ct,dt,P),P),Z(z,P,w,y,E,e),J=y/3,V=J-1,H=(E-2)/3,S=H+1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3;y-=3,E+=3}if(P=o.fromArray(O,O.length-3,P),Z(z,P,w,y,E,e),b){y+=3,E-=3,ot=wt,nt=Tt;let c=f[1];for(n=0;n<mt;n++)ot=o.fromArray(c,(p-n-1)*3,ot),nt=o.fromArray(c,n*3,nt),M.addAttribute(m,ot,void 0,E),M.addAttribute(m,nt,y),Z(z,P,w,y,E,e),J=y/3,V=J-1,H=(E-2)/3,S=H+1,_[T++]=S,_[T++]=V,_[T++]=H,_[T++]=H,_[T++]=V,_[T++]=J,y+=3,E-=3}if(g.position=new x({componentDatatype:F.DOUBLE,componentsPerAttribute:3,values:m}),e.st){let c=new Float32Array(R/3*2),$,v,L=0;if(b){a/=3,s/=3;let U=Math.PI/(p+1);v=1/(a-p+1),$=1/(s-p+1);let N,k=p/2;for(n=k+1;n<p+1;n++)N=st.PI_OVER_TWO+U*n,c[L++]=$*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N));for(n=1;n<s-p+1;n++)c[L++]=n*$,c[L++]=0;for(n=p;n>k;n--)N=st.PI_OVER_TWO-n*U,c[L++]=1-$*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N));for(n=k;n>0;n--)N=st.PI_OVER_TWO-U*n,c[L++]=1-v*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N));for(n=a-p;n>0;n--)c[L++]=n*v,c[L++]=1;for(n=1;n<k+1;n++)N=st.PI_OVER_TWO+U*n,c[L++]=v*(1+Math.cos(N)),c[L++]=.5*(1+Math.sin(N))}else{for(a/=3,s/=3,v=1/(a-1),$=1/(s-1),n=0;n<s;n++)c[L++]=n*$,c[L++]=0;for(n=a;n>0;n--)c[L++]=(n-1)*v,c[L++]=1}g.st=new x({componentDatatype:F.FLOAT,componentsPerAttribute:2,values:c})}return e.normal&&(g.normal=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:z.normals})),e.tangent&&(g.tangent=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:z.tangents})),e.bitangent&&(g.bitangent=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:z.bitangents})),{attributes:g,indices:_}}function qt(t,e){if(!e.normal&&!e.tangent&&!e.bitangent&&!e.st)return t;let i=t.position.values,l,d;(e.normal||e.bitangent)&&(l=t.normal.values,d=t.bitangent.values);let f=t.position.values.length/18,h=f*3,O=f*2,g=h*2,r;if(e.normal||e.bitangent||e.tangent){let a=e.normal?new Float32Array(h*6):void 0,s=e.tangent?new Float32Array(h*6):void 0,n=e.bitangent?new Float32Array(h*6):void 0,A=zt,u=kt,b=wt,p=Tt,R=jt,m=Ht,C=g;for(r=0;r<h;r+=3){let D=C+g;A=o.fromArray(i,r,A),u=o.fromArray(i,r+h,u),b=o.fromArray(i,(r+3)%h,b),u=o.subtract(u,A,u),b=o.subtract(b,A,b),p=o.normalize(o.cross(u,b,p),p),e.normal&&(M.addAttribute(a,p,D),M.addAttribute(a,p,D+3),M.addAttribute(a,p,C),M.addAttribute(a,p,C+3)),(e.tangent||e.bitangent)&&(m=o.fromArray(l,r,m),e.bitangent&&(M.addAttribute(n,m,D),M.addAttribute(n,m,D+3),M.addAttribute(n,m,C),M.addAttribute(n,m,C+3)),e.tangent&&(R=o.normalize(o.cross(m,p,R),R),M.addAttribute(s,R,D),M.addAttribute(s,R,D+3),M.addAttribute(s,R,C),M.addAttribute(s,R,C+3))),C+=6}if(e.normal){for(a.set(l),r=0;r<h;r+=3)a[r+h]=-l[r],a[r+h+1]=-l[r+1],a[r+h+2]=-l[r+2];t.normal.values=a}else t.normal=void 0;if(e.bitangent?(n.set(d),n.set(d,h),t.bitangent.values=n):t.bitangent=void 0,e.tangent){let D=t.tangent.values;s.set(D),s.set(D,h),t.tangent.values=s}}if(e.st){let a=t.st.values,s=new Float32Array(O*6);s.set(a),s.set(a,O);let n=O*2;for(let A=0;A<2;A++){for(s[n++]=a[0],s[n++]=a[1],r=2;r<O;r+=2){let u=a[r],b=a[r+1];s[n++]=u,s[n++]=b,s[n++]=u,s[n++]=b}s[n++]=a[0],s[n++]=a[1]}t.st.values=s}return t}function Ot(t,e,i){i[e++]=t[0],i[e++]=t[1],i[e++]=t[2];for(let l=3;l<t.length;l+=3){let d=t[l],f=t[l+1],h=t[l+2];i[e++]=d,i[e++]=f,i[e++]=h,i[e++]=d,i[e++]=f,i[e++]=h}return i[e++]=t[0],i[e++]=t[1],i[e++]=t[2],i}function Jt(t,e){let i=new G({position:e.position,normal:e.normal||e.bitangent||t.shadowVolume,tangent:e.tangent,bitangent:e.normal||e.bitangent,st:e.st}),l=t.ellipsoid,d=M.computePositions(t),f=Bt(d,i,l),h=t.height,O=t.extrudedHeight,g=f.attributes,r=f.indices,a=g.position.values,s=a.length,n=new Float64Array(s*6),A=new Float64Array(s);A.set(a);let u=new Float64Array(s*4);a=yt.scaleToGeodeticHeight(a,h,l),u=Ot(a,0,u),A=yt.scaleToGeodeticHeight(A,O,l),u=Ot(A,s*2,u),n.set(a),n.set(A,s),n.set(u,s*2),g.position.values=n,g=qt(g,e);let b,p=s/3;if(t.shadowVolume){let S=g.normal.values;s=S.length;let V=new Float32Array(s*6);for(b=0;b<s;b++)S[b]=-S[b];V.set(S,s),V=Ot(S,s*4,V),g.extrudeDirection=new x({componentDatatype:F.FLOAT,componentsPerAttribute:3,values:V}),e.normal||(g.normal=void 0)}if(X(t.offsetAttribute)){let S=new Uint8Array(p*6);if(t.offsetAttribute===_t.TOP)S=S.fill(1,0,p).fill(1,p*2,p*4);else{let V=t.offsetAttribute===_t.NONE?0:1;S=S.fill(V)}g.applyOffset=new x({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:S})}let R=r.length,m=p+p,C=Nt.createTypedArray(n.length/3,R*2+m*3);C.set(r);let D=R;for(b=0;b<R;b+=3){let S=r[b],V=r[b+1],H=r[b+2];C[D++]=H+p,C[D++]=V+p,C[D++]=S+p}let lt,z,y,E;for(b=0;b<m;b+=2)lt=b+m,z=lt+m,y=lt+1,E=z+1,C[D++]=lt,C[D++]=z,C[D++]=y,C[D++]=y,C[D++]=z,C[D++]=E;return{attributes:g,indices:C}}var Dt=new o,gt=new o,Q=new bt;function Rt(t,e,i,l,d,f){let h=o.subtract(e,t,Dt);o.normalize(h,h);let O=i.geodeticSurfaceNormal(t,gt),g=o.cross(h,O,Dt);o.multiplyByScalar(g,l,g);let r=d.latitude,a=d.longitude,s=f.latitude,n=f.longitude;o.add(t,g,gt),i.cartesianToCartographic(gt,Q);let A=Q.latitude,u=Q.longitude;r=Math.min(r,A),a=Math.min(a,u),s=Math.max(s,A),n=Math.max(n,u),o.subtract(t,g,gt),i.cartesianToCartographic(gt,Q),A=Q.latitude,u=Q.longitude,r=Math.min(r,A),a=Math.min(a,u),s=Math.max(s,A),n=Math.max(n,u),d.latitude=r,d.longitude=a,f.latitude=s,f.longitude=n}var K=new o,pt=new o,W=new bt,j=new bt;function Yt(t,e,i,l,d){t=Ut(t,e);let f=Pt(t,o.equalsEpsilon),h=f.length;if(h<2||i<=0)return new Et;let O=i*.5;W.latitude=Number.POSITIVE_INFINITY,W.longitude=Number.POSITIVE_INFINITY,j.latitude=Number.NEGATIVE_INFINITY,j.longitude=Number.NEGATIVE_INFINITY;let g,r;if(l===ht.ROUNDED){let n=f[0];o.subtract(n,f[1],K),o.normalize(K,K),o.multiplyByScalar(K,O,K),o.add(n,K,pt),e.cartesianToCartographic(pt,Q),g=Q.latitude,r=Q.longitude,W.latitude=Math.min(W.latitude,g),W.longitude=Math.min(W.longitude,r),j.latitude=Math.max(j.latitude,g),j.longitude=Math.max(j.longitude,r)}for(let n=0;n<h-1;++n)Rt(f[n],f[n+1],e,O,W,j);let a=f[h-1];o.subtract(a,f[h-2],K),o.normalize(K,K),o.multiplyByScalar(K,O,K),o.add(a,K,pt),Rt(a,pt,e,O,W,j),l===ht.ROUNDED&&(e.cartesianToCartographic(pt,Q),g=Q.latitude,r=Q.longitude,W.latitude=Math.min(W.latitude,g),W.longitude=Math.min(W.longitude,r),j.latitude=Math.max(j.latitude,g),j.longitude=Math.max(j.longitude,r));let s=X(d)?d:new Et;return s.north=j.latitude,s.south=W.latitude,s.east=j.longitude,s.west=W.longitude,s}function et(t){t=B(t,B.EMPTY_OBJECT);let e=t.positions,i=t.width;it.defined("options.positions",e),it.defined("options.width",i);let l=B(t.height,0),d=B(t.extrudedHeight,l);this._positions=e,this._ellipsoid=I.clone(B(t.ellipsoid,I.default)),this._vertexFormat=G.clone(B(t.vertexFormat,G.DEFAULT)),this._width=i,this._height=Math.max(l,d),this._extrudedHeight=Math.min(l,d),this._cornerType=B(t.cornerType,ht.ROUNDED),this._granularity=B(t.granularity,st.RADIANS_PER_DEGREE),this._shadowVolume=B(t.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=t.offsetAttribute,this._rectangle=void 0,this.packedLength=1+e.length*o.packedLength+I.packedLength+G.packedLength+7}et.pack=function(t,e,i){it.defined("value",t),it.defined("array",e),i=B(i,0);let l=t._positions,d=l.length;e[i++]=d;for(let f=0;f<d;++f,i+=o.packedLength)o.pack(l[f],e,i);return I.pack(t._ellipsoid,e,i),i+=I.packedLength,G.pack(t._vertexFormat,e,i),i+=G.packedLength,e[i++]=t._width,e[i++]=t._height,e[i++]=t._extrudedHeight,e[i++]=t._cornerType,e[i++]=t._granularity,e[i++]=t._shadowVolume?1:0,e[i]=B(t._offsetAttribute,-1),e};var It=I.clone(I.UNIT_SPHERE),Wt=new G,tt={positions:void 0,ellipsoid:It,vertexFormat:Wt,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};et.unpack=function(t,e,i){it.defined("array",t),e=B(e,0);let l=t[e++],d=new Array(l);for(let u=0;u<l;++u,e+=o.packedLength)d[u]=o.unpack(t,e);let f=I.unpack(t,e,It);e+=I.packedLength;let h=G.unpack(t,e,Wt);e+=G.packedLength;let O=t[e++],g=t[e++],r=t[e++],a=t[e++],s=t[e++],n=t[e++]===1,A=t[e];return X(i)?(i._positions=d,i._ellipsoid=I.clone(f,i._ellipsoid),i._vertexFormat=G.clone(h,i._vertexFormat),i._width=O,i._height=g,i._extrudedHeight=r,i._cornerType=a,i._granularity=s,i._shadowVolume=n,i._offsetAttribute=A===-1?void 0:A,i):(tt.positions=d,tt.width=O,tt.height=g,tt.extrudedHeight=r,tt.cornerType=a,tt.granularity=s,tt.shadowVolume=n,tt.offsetAttribute=A===-1?void 0:A,new et(tt))};et.computeRectangle=function(t,e){t=B(t,B.EMPTY_OBJECT);let i=t.positions,l=t.width;it.defined("options.positions",i),it.defined("options.width",l);let d=B(t.ellipsoid,I.default),f=B(t.cornerType,ht.ROUNDED);return Yt(i,d,l,f,e)};et.createGeometry=function(t){let e=t._positions,i=t._width,l=t._ellipsoid;e=Ut(e,l);let d=Pt(e,o.equalsEpsilon);if(d.length<2||i<=0)return;let f=t._height,h=t._extrudedHeight,O=!st.equalsEpsilon(f,h,0,st.EPSILON2),g=t._vertexFormat,r={ellipsoid:l,positions:d,width:i,cornerType:t._cornerType,granularity:t._granularity,saveAttributes:!0},a;if(O)r.height=f,r.extrudedHeight=h,r.shadowVolume=t._shadowVolume,r.offsetAttribute=t._offsetAttribute,a=Jt(r,g);else{let A=M.computePositions(r);if(a=Bt(A,g,l),a.attributes.position.values=yt.scaleToGeodeticHeight(a.attributes.position.values,f,l),X(t._offsetAttribute)){let u=t._offsetAttribute===_t.NONE?0:1,b=a.attributes.position.values.length,p=new Uint8Array(b/3).fill(u);a.attributes.applyOffset=new x({componentDatatype:F.UNSIGNED_BYTE,componentsPerAttribute:1,values:p})}}let s=a.attributes,n=St.fromVertices(s.position.values,void 0,3);return g.position||(a.attributes.position.values=void 0),new Vt({attributes:s,indices:a.indices,primitiveType:Mt.TRIANGLES,boundingSphere:n,offsetAttribute:t._offsetAttribute})};et.createShadowVolume=function(t,e,i){let l=t._granularity,d=t._ellipsoid,f=e(l,d),h=i(l,d);return new et({positions:t._positions,width:t._width,cornerType:t._cornerType,ellipsoid:d,granularity:l,extrudedHeight:f,height:h,vertexFormat:G.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(et.prototype,{rectangle:{get:function(){return X(this._rectangle)||(this._rectangle=Yt(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var Lt=et;function Gt(t,e){return X(e)&&(t=Lt.unpack(t,e)),t._ellipsoid=I.clone(t._ellipsoid),Lt.createGeometry(t)}var Ae=Gt;export{Ae as default}; diff --git a/public/lib/Cesium/Workers/createCorridorOutlineGeometry.js b/public/lib/Cesium/Workers/createCorridorOutlineGeometry.js index f591fc79a..4d150d2d6 100644 --- a/public/lib/Cesium/Workers/createCorridorOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createCorridorOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as S}from"./chunk-5E2B6U7T.js";import{a as W}from"./chunk-GXCW7MIH.js";import"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import{a as K}from"./chunk-IFAARW2T.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import{b as Q}from"./chunk-542N7J5N.js";import{a as it}from"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as Z}from"./chunk-UGB43LJM.js";import{a as et}from"./chunk-WFZLZ2P5.js";import{b as I,c as tt,d as J}from"./chunk-CTEHZS7O.js";import{d as x}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as z}from"./chunk-27UWHT4D.js";import{a as A,d as P}from"./chunk-RFPX772U.js";import{a as q}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as H}from"./chunk-6KLVDWWE.js";import{b as M}from"./chunk-6P5KAIBX.js";import{e as C}from"./chunk-4FSVUTPL.js";var ot=new A,nt=new A,rt=new A;function ft(t,i){for(let e=0;e<t.length;e++)t[e]=i.scaleToGeodeticSurface(t[e],t[e]);return t}function st(t,i){let e=[],l=t.positions,h=t.corners,m=t.endPositions,D=new et,y,u=0,p=0,o,g=0,d;for(o=0;o<l.length;o+=2)d=l[o].length-3,u+=d,g+=d/3*4,p+=l[o+1].length-3;for(u+=3,p+=3,o=0;o<h.length;o++){y=h[o];let c=h[o].leftPositions;C(c)?(d=c.length,u+=d,g+=d/3*2):(d=h[o].rightPositions.length,p+=d,g+=d/3*2)}let _=C(m),w;_&&(w=m[0].length-3,u+=w,p+=w,w/=3,g+=w*4);let T=u+p,b=new Float64Array(T),n=0,s=T-1,a,E,L,k,U,O,j=w/2,r=Z.createTypedArray(T/3,g+4),f=0;if(r[f++]=n/3,r[f++]=(s-2)/3,_){e.push(n/3),O=ot,U=nt;let c=m[0];for(o=0;o<j;o++)O=A.fromArray(c,(j-1-o)*3,O),U=A.fromArray(c,(j+o)*3,U),S.addAttribute(b,U,n),S.addAttribute(b,O,void 0,s),E=n/3,k=E+1,a=(s-2)/3,L=a-1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3}let G=0,F=l[G++],N=l[G++];for(b.set(F,n),b.set(N,s-N.length+1),d=N.length-3,e.push(n/3,(s-2)/3),o=0;o<d;o+=3)E=n/3,k=E+1,a=(s-2)/3,L=a-1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3;for(o=0;o<h.length;o++){let c;y=h[o];let Y=y.leftPositions,X=y.rightPositions,v,B=rt;if(C(Y)){for(s-=3,v=L,e.push(k),c=0;c<Y.length/3;c++)B=A.fromArray(Y,c*3,B),r[f++]=v-c-1,r[f++]=v-c,S.addAttribute(b,B,void 0,s),s-=3;e.push(v-Math.floor(Y.length/6)),i===W.BEVELED&&e.push((s-2)/3+1),n+=3}else{for(n+=3,v=k,e.push(L),c=0;c<X.length/3;c++)B=A.fromArray(X,c*3,B),r[f++]=v+c,r[f++]=v+c+1,S.addAttribute(b,B,n),n+=3;e.push(v+Math.floor(X.length/6)),i===W.BEVELED&&e.push(n/3-1),s-=3}for(F=l[G++],N=l[G++],F.splice(0,3),N.splice(N.length-3,3),b.set(F,n),b.set(N,s-N.length+1),d=N.length-3,c=0;c<N.length;c+=3)k=n/3,E=k-1,L=(s-2)/3,a=L+1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3;n-=3,s+=3,e.push(n/3,(s-2)/3)}if(_){n+=3,s-=3,O=ot,U=nt;let c=m[1];for(o=0;o<j;o++)O=A.fromArray(c,(w-o-1)*3,O),U=A.fromArray(c,o*3,U),S.addAttribute(b,O,void 0,s),S.addAttribute(b,U,n),k=n/3,E=k-1,L=(s-2)/3,a=L+1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3;e.push(n/3)}else e.push(n/3,(s-2)/3);return r[f++]=n/3,r[f++]=(s-2)/3,D.position=new J({componentDatatype:z.DOUBLE,componentsPerAttribute:3,values:b}),{attributes:D,indices:r,wallIndices:e}}function ct(t){let i=t.ellipsoid,e=S.computePositions(t),l=st(e,t.cornerType),h=l.wallIndices,m=t.height,D=t.extrudedHeight,y=l.attributes,u=l.indices,p=y.position.values,o=p.length,g=new Float64Array(o);g.set(p);let d=new Float64Array(o*2);if(p=Q.scaleToGeodeticHeight(p,m,i),g=Q.scaleToGeodeticHeight(g,D,i),d.set(p),d.set(g,o),y.position.values=d,o/=3,C(t.offsetAttribute)){let a=new Uint8Array(o*2);if(t.offsetAttribute===K.TOP)a=a.fill(1,0,o);else{let E=t.offsetAttribute===K.NONE?0:1;a=a.fill(E)}y.applyOffset=new J({componentDatatype:z.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})}let _,w=u.length,T=Z.createTypedArray(d.length/3,(w+h.length)*2);T.set(u);let b=w;for(_=0;_<w;_+=2){let a=u[_],E=u[_+1];T[b++]=a+o,T[b++]=E+o}let n,s;for(_=0;_<h.length;_++)n=h[_],s=n+o,T[b++]=n,T[b++]=s;return{attributes:y,indices:T}}function V(t){t=H(t,H.EMPTY_OBJECT);let i=t.positions,e=t.width;M.typeOf.object("options.positions",i),M.typeOf.number("options.width",e);let l=H(t.height,0),h=H(t.extrudedHeight,l);this._positions=i,this._ellipsoid=P.clone(H(t.ellipsoid,P.default)),this._width=e,this._height=Math.max(l,h),this._extrudedHeight=Math.min(l,h),this._cornerType=H(t.cornerType,W.ROUNDED),this._granularity=H(t.granularity,q.RADIANS_PER_DEGREE),this._offsetAttribute=t.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+i.length*A.packedLength+P.packedLength+6}V.pack=function(t,i,e){M.typeOf.object("value",t),M.typeOf.object("array",i),e=H(e,0);let l=t._positions,h=l.length;i[e++]=h;for(let m=0;m<h;++m,e+=A.packedLength)A.pack(l[m],i,e);return P.pack(t._ellipsoid,i,e),e+=P.packedLength,i[e++]=t._width,i[e++]=t._height,i[e++]=t._extrudedHeight,i[e++]=t._cornerType,i[e++]=t._granularity,i[e]=H(t._offsetAttribute,-1),i};var lt=P.clone(P.UNIT_SPHERE),R={positions:void 0,ellipsoid:lt,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};V.unpack=function(t,i,e){M.typeOf.object("array",t),i=H(i,0);let l=t[i++],h=new Array(l);for(let d=0;d<l;++d,i+=A.packedLength)h[d]=A.unpack(t,i);let m=P.unpack(t,i,lt);i+=P.packedLength;let D=t[i++],y=t[i++],u=t[i++],p=t[i++],o=t[i++],g=t[i];return C(e)?(e._positions=h,e._ellipsoid=P.clone(m,e._ellipsoid),e._width=D,e._height=y,e._extrudedHeight=u,e._cornerType=p,e._granularity=o,e._offsetAttribute=g===-1?void 0:g,e):(R.positions=h,R.width=D,R.height=y,R.extrudedHeight=u,R.cornerType=p,R.granularity=o,R.offsetAttribute=g===-1?void 0:g,new V(R))};V.createGeometry=function(t){let i=t._positions,e=t._width,l=t._ellipsoid;i=ft(i,l);let h=it(i,A.equalsEpsilon);if(h.length<2||e<=0)return;let m=t._height,D=t._extrudedHeight,y=!q.equalsEpsilon(m,D,0,q.EPSILON2),u={ellipsoid:l,positions:h,width:e,cornerType:t._cornerType,granularity:t._granularity,saveAttributes:!1},p;if(y)u.height=m,u.extrudedHeight=D,u.offsetAttribute=t._offsetAttribute,p=ct(u);else{let d=S.computePositions(u);if(p=st(d,u.cornerType),p.attributes.position.values=Q.scaleToGeodeticHeight(p.attributes.position.values,m,l),C(t._offsetAttribute)){let _=p.attributes.position.values.length,w=t._offsetAttribute===K.NONE?0:1,T=new Uint8Array(_/3).fill(w);p.attributes.applyOffset=new J({componentDatatype:z.UNSIGNED_BYTE,componentsPerAttribute:1,values:T})}}let o=p.attributes,g=x.fromVertices(o.position.values,void 0,3);return new tt({attributes:o,indices:p.indices,primitiveType:I.LINES,boundingSphere:g,offsetAttribute:t._offsetAttribute})};var $=V;function ht(t,i){return C(i)&&(t=$.unpack(t,i)),t._ellipsoid=P.clone(t._ellipsoid),$.createGeometry(t)}var Ot=ht;export{Ot as default}; +import{a as S}from"./chunk-JKCZ5NAK.js";import{a as W}from"./chunk-OWPC6DLM.js";import"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import{a as K}from"./chunk-TP5B32RY.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import{b as Q}from"./chunk-S4WTTFQO.js";import{a as it}from"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as Z}from"./chunk-A3VS2OZ2.js";import{a as et}from"./chunk-E2XIHPTZ.js";import{b as I,c as tt,d as J}from"./chunk-72NMS5KE.js";import{d as x}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as z}from"./chunk-GNTVNTUY.js";import{a as A,d as P}from"./chunk-HWH6BBH6.js";import{a as q}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as H}from"./chunk-CJFJKB5V.js";import{b as M}from"./chunk-4BGNE6LH.js";import{e as C}from"./chunk-OX5CTLXY.js";var ot=new A,nt=new A,rt=new A;function ft(t,i){for(let e=0;e<t.length;e++)t[e]=i.scaleToGeodeticSurface(t[e],t[e]);return t}function st(t,i){let e=[],l=t.positions,h=t.corners,m=t.endPositions,D=new et,y,u=0,p=0,o,g=0,d;for(o=0;o<l.length;o+=2)d=l[o].length-3,u+=d,g+=d/3*4,p+=l[o+1].length-3;for(u+=3,p+=3,o=0;o<h.length;o++){y=h[o];let c=h[o].leftPositions;C(c)?(d=c.length,u+=d,g+=d/3*2):(d=h[o].rightPositions.length,p+=d,g+=d/3*2)}let _=C(m),w;_&&(w=m[0].length-3,u+=w,p+=w,w/=3,g+=w*4);let T=u+p,b=new Float64Array(T),n=0,s=T-1,a,E,L,k,U,O,j=w/2,r=Z.createTypedArray(T/3,g+4),f=0;if(r[f++]=n/3,r[f++]=(s-2)/3,_){e.push(n/3),O=ot,U=nt;let c=m[0];for(o=0;o<j;o++)O=A.fromArray(c,(j-1-o)*3,O),U=A.fromArray(c,(j+o)*3,U),S.addAttribute(b,U,n),S.addAttribute(b,O,void 0,s),E=n/3,k=E+1,a=(s-2)/3,L=a-1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3}let G=0,F=l[G++],N=l[G++];for(b.set(F,n),b.set(N,s-N.length+1),d=N.length-3,e.push(n/3,(s-2)/3),o=0;o<d;o+=3)E=n/3,k=E+1,a=(s-2)/3,L=a-1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3;for(o=0;o<h.length;o++){let c;y=h[o];let Y=y.leftPositions,X=y.rightPositions,v,B=rt;if(C(Y)){for(s-=3,v=L,e.push(k),c=0;c<Y.length/3;c++)B=A.fromArray(Y,c*3,B),r[f++]=v-c-1,r[f++]=v-c,S.addAttribute(b,B,void 0,s),s-=3;e.push(v-Math.floor(Y.length/6)),i===W.BEVELED&&e.push((s-2)/3+1),n+=3}else{for(n+=3,v=k,e.push(L),c=0;c<X.length/3;c++)B=A.fromArray(X,c*3,B),r[f++]=v+c,r[f++]=v+c+1,S.addAttribute(b,B,n),n+=3;e.push(v+Math.floor(X.length/6)),i===W.BEVELED&&e.push(n/3-1),s-=3}for(F=l[G++],N=l[G++],F.splice(0,3),N.splice(N.length-3,3),b.set(F,n),b.set(N,s-N.length+1),d=N.length-3,c=0;c<N.length;c+=3)k=n/3,E=k-1,L=(s-2)/3,a=L+1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3;n-=3,s+=3,e.push(n/3,(s-2)/3)}if(_){n+=3,s-=3,O=ot,U=nt;let c=m[1];for(o=0;o<j;o++)O=A.fromArray(c,(w-o-1)*3,O),U=A.fromArray(c,o*3,U),S.addAttribute(b,O,void 0,s),S.addAttribute(b,U,n),k=n/3,E=k-1,L=(s-2)/3,a=L+1,r[f++]=a,r[f++]=L,r[f++]=E,r[f++]=k,n+=3,s-=3;e.push(n/3)}else e.push(n/3,(s-2)/3);return r[f++]=n/3,r[f++]=(s-2)/3,D.position=new J({componentDatatype:z.DOUBLE,componentsPerAttribute:3,values:b}),{attributes:D,indices:r,wallIndices:e}}function ct(t){let i=t.ellipsoid,e=S.computePositions(t),l=st(e,t.cornerType),h=l.wallIndices,m=t.height,D=t.extrudedHeight,y=l.attributes,u=l.indices,p=y.position.values,o=p.length,g=new Float64Array(o);g.set(p);let d=new Float64Array(o*2);if(p=Q.scaleToGeodeticHeight(p,m,i),g=Q.scaleToGeodeticHeight(g,D,i),d.set(p),d.set(g,o),y.position.values=d,o/=3,C(t.offsetAttribute)){let a=new Uint8Array(o*2);if(t.offsetAttribute===K.TOP)a=a.fill(1,0,o);else{let E=t.offsetAttribute===K.NONE?0:1;a=a.fill(E)}y.applyOffset=new J({componentDatatype:z.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})}let _,w=u.length,T=Z.createTypedArray(d.length/3,(w+h.length)*2);T.set(u);let b=w;for(_=0;_<w;_+=2){let a=u[_],E=u[_+1];T[b++]=a+o,T[b++]=E+o}let n,s;for(_=0;_<h.length;_++)n=h[_],s=n+o,T[b++]=n,T[b++]=s;return{attributes:y,indices:T}}function V(t){t=H(t,H.EMPTY_OBJECT);let i=t.positions,e=t.width;M.typeOf.object("options.positions",i),M.typeOf.number("options.width",e);let l=H(t.height,0),h=H(t.extrudedHeight,l);this._positions=i,this._ellipsoid=P.clone(H(t.ellipsoid,P.default)),this._width=e,this._height=Math.max(l,h),this._extrudedHeight=Math.min(l,h),this._cornerType=H(t.cornerType,W.ROUNDED),this._granularity=H(t.granularity,q.RADIANS_PER_DEGREE),this._offsetAttribute=t.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+i.length*A.packedLength+P.packedLength+6}V.pack=function(t,i,e){M.typeOf.object("value",t),M.typeOf.object("array",i),e=H(e,0);let l=t._positions,h=l.length;i[e++]=h;for(let m=0;m<h;++m,e+=A.packedLength)A.pack(l[m],i,e);return P.pack(t._ellipsoid,i,e),e+=P.packedLength,i[e++]=t._width,i[e++]=t._height,i[e++]=t._extrudedHeight,i[e++]=t._cornerType,i[e++]=t._granularity,i[e]=H(t._offsetAttribute,-1),i};var lt=P.clone(P.UNIT_SPHERE),R={positions:void 0,ellipsoid:lt,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};V.unpack=function(t,i,e){M.typeOf.object("array",t),i=H(i,0);let l=t[i++],h=new Array(l);for(let d=0;d<l;++d,i+=A.packedLength)h[d]=A.unpack(t,i);let m=P.unpack(t,i,lt);i+=P.packedLength;let D=t[i++],y=t[i++],u=t[i++],p=t[i++],o=t[i++],g=t[i];return C(e)?(e._positions=h,e._ellipsoid=P.clone(m,e._ellipsoid),e._width=D,e._height=y,e._extrudedHeight=u,e._cornerType=p,e._granularity=o,e._offsetAttribute=g===-1?void 0:g,e):(R.positions=h,R.width=D,R.height=y,R.extrudedHeight=u,R.cornerType=p,R.granularity=o,R.offsetAttribute=g===-1?void 0:g,new V(R))};V.createGeometry=function(t){let i=t._positions,e=t._width,l=t._ellipsoid;i=ft(i,l);let h=it(i,A.equalsEpsilon);if(h.length<2||e<=0)return;let m=t._height,D=t._extrudedHeight,y=!q.equalsEpsilon(m,D,0,q.EPSILON2),u={ellipsoid:l,positions:h,width:e,cornerType:t._cornerType,granularity:t._granularity,saveAttributes:!1},p;if(y)u.height=m,u.extrudedHeight=D,u.offsetAttribute=t._offsetAttribute,p=ct(u);else{let d=S.computePositions(u);if(p=st(d,u.cornerType),p.attributes.position.values=Q.scaleToGeodeticHeight(p.attributes.position.values,m,l),C(t._offsetAttribute)){let _=p.attributes.position.values.length,w=t._offsetAttribute===K.NONE?0:1,T=new Uint8Array(_/3).fill(w);p.attributes.applyOffset=new J({componentDatatype:z.UNSIGNED_BYTE,componentsPerAttribute:1,values:T})}}let o=p.attributes,g=x.fromVertices(o.position.values,void 0,3);return new tt({attributes:o,indices:p.indices,primitiveType:I.LINES,boundingSphere:g,offsetAttribute:t._offsetAttribute})};var $=V;function ht(t,i){return C(i)&&(t=$.unpack(t,i)),t._ellipsoid=P.clone(t._ellipsoid),$.createGeometry(t)}var Ot=ht;export{Ot as default}; diff --git a/public/lib/Cesium/Workers/createCylinderGeometry.js b/public/lib/Cesium/Workers/createCylinderGeometry.js index a204bcc2f..f61c84c88 100644 --- a/public/lib/Cesium/Workers/createCylinderGeometry.js +++ b/public/lib/Cesium/Workers/createCylinderGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as r}from"./chunk-JGTLNH7T.js";import"./chunk-U3H5JVOB.js";import"./chunk-IFAARW2T.js";import"./chunk-6YAFAZVV.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as o}from"./chunk-4FSVUTPL.js";function i(e,t){return o(t)&&(e=r.unpack(e,t)),r.createGeometry(e)}var a=i;export{a as default}; +import{a as r}from"./chunk-T7AQS7YI.js";import"./chunk-NIXFT7ZT.js";import"./chunk-TP5B32RY.js";import"./chunk-RPAJTIFB.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as o}from"./chunk-OX5CTLXY.js";function i(e,t){return o(t)&&(e=r.unpack(e,t)),r.createGeometry(e)}var a=i;export{a as default}; diff --git a/public/lib/Cesium/Workers/createCylinderOutlineGeometry.js b/public/lib/Cesium/Workers/createCylinderOutlineGeometry.js index 87c3f62ad..d41943c74 100644 --- a/public/lib/Cesium/Workers/createCylinderOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createCylinderOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as M}from"./chunk-U3H5JVOB.js";import{a as V}from"./chunk-IFAARW2T.js";import{a as N}from"./chunk-UGB43LJM.js";import{a as k}from"./chunk-WFZLZ2P5.js";import{b as D,c as P,d as L}from"./chunk-CTEHZS7O.js";import{d as y}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as A}from"./chunk-27UWHT4D.js";import{a as S,c as R}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as c}from"./chunk-6KLVDWWE.js";import{a as T,b as m}from"./chunk-6P5KAIBX.js";import{e as d}from"./chunk-4FSVUTPL.js";var w=new R;function a(t){t=c(t,c.EMPTY_OBJECT);let e=t.length,i=t.topRadius,f=t.bottomRadius,o=c(t.slices,128),r=Math.max(c(t.numberOfVerticalLines,16),0);if(m.typeOf.number("options.positions",e),m.typeOf.number("options.topRadius",i),m.typeOf.number("options.bottomRadius",f),m.typeOf.number.greaterThanOrEquals("options.slices",o,3),d(t.offsetAttribute)&&t.offsetAttribute===V.TOP)throw new T("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._length=e,this._topRadius=i,this._bottomRadius=f,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=t.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}a.packedLength=6;a.pack=function(t,e,i){return m.typeOf.object("value",t),m.defined("array",e),i=c(i,0),e[i++]=t._length,e[i++]=t._topRadius,e[i++]=t._bottomRadius,e[i++]=t._slices,e[i++]=t._numberOfVerticalLines,e[i]=c(t._offsetAttribute,-1),e};var b={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};a.unpack=function(t,e,i){m.defined("array",t),e=c(e,0);let f=t[e++],o=t[e++],r=t[e++],h=t[e++],l=t[e++],p=t[e];return d(i)?(i._length=f,i._topRadius=o,i._bottomRadius=r,i._slices=h,i._numberOfVerticalLines=l,i._offsetAttribute=p===-1?void 0:p,i):(b.length=f,b.topRadius=o,b.bottomRadius=r,b.slices=h,b.numberOfVerticalLines=l,b.offsetAttribute=p===-1?void 0:p,new a(b))};a.createGeometry=function(t){let e=t._length,i=t._topRadius,f=t._bottomRadius,o=t._slices,r=t._numberOfVerticalLines;if(e<=0||i<0||f<0||i===0&&f===0)return;let h=o*2,l=M.computePositions(e,i,f,o,!1),p=o*2,E;if(r>0){let O=Math.min(r,o);E=Math.round(o/O),p+=O}let s=N.createTypedArray(h,p*2),u=0,n;for(n=0;n<o-1;n++)s[u++]=n,s[u++]=n+1,s[u++]=n+o,s[u++]=n+1+o;if(s[u++]=o-1,s[u++]=0,s[u++]=o+o-1,s[u++]=o,r>0)for(n=0;n<o;n+=E)s[u++]=n,s[u++]=n+o;let _=new k;_.position=new L({componentDatatype:A.DOUBLE,componentsPerAttribute:3,values:l}),w.x=e*.5,w.y=Math.max(f,i);let g=new y(S.ZERO,R.magnitude(w));if(d(t._offsetAttribute)){e=l.length;let O=t._offsetAttribute===V.NONE?0:1,B=new Uint8Array(e/3).fill(O);_.applyOffset=new L({componentDatatype:A.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}return new P({attributes:_,indices:s,primitiveType:D.LINES,boundingSphere:g,offsetAttribute:t._offsetAttribute})};var C=a;function G(t,e){return d(e)&&(t=C.unpack(t,e)),C.createGeometry(t)}var et=G;export{et as default}; +import{a as M}from"./chunk-NIXFT7ZT.js";import{a as V}from"./chunk-TP5B32RY.js";import{a as N}from"./chunk-A3VS2OZ2.js";import{a as k}from"./chunk-E2XIHPTZ.js";import{b as D,c as P,d as L}from"./chunk-72NMS5KE.js";import{d as y}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as A}from"./chunk-GNTVNTUY.js";import{a as S,c as R}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as c}from"./chunk-CJFJKB5V.js";import{a as T,b as m}from"./chunk-4BGNE6LH.js";import{e as d}from"./chunk-OX5CTLXY.js";var w=new R;function a(t){t=c(t,c.EMPTY_OBJECT);let e=t.length,i=t.topRadius,f=t.bottomRadius,o=c(t.slices,128),r=Math.max(c(t.numberOfVerticalLines,16),0);if(m.typeOf.number("options.positions",e),m.typeOf.number("options.topRadius",i),m.typeOf.number("options.bottomRadius",f),m.typeOf.number.greaterThanOrEquals("options.slices",o,3),d(t.offsetAttribute)&&t.offsetAttribute===V.TOP)throw new T("GeometryOffsetAttribute.TOP is not a supported options.offsetAttribute for this geometry.");this._length=e,this._topRadius=i,this._bottomRadius=f,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=t.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}a.packedLength=6;a.pack=function(t,e,i){return m.typeOf.object("value",t),m.defined("array",e),i=c(i,0),e[i++]=t._length,e[i++]=t._topRadius,e[i++]=t._bottomRadius,e[i++]=t._slices,e[i++]=t._numberOfVerticalLines,e[i]=c(t._offsetAttribute,-1),e};var b={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};a.unpack=function(t,e,i){m.defined("array",t),e=c(e,0);let f=t[e++],o=t[e++],r=t[e++],h=t[e++],l=t[e++],p=t[e];return d(i)?(i._length=f,i._topRadius=o,i._bottomRadius=r,i._slices=h,i._numberOfVerticalLines=l,i._offsetAttribute=p===-1?void 0:p,i):(b.length=f,b.topRadius=o,b.bottomRadius=r,b.slices=h,b.numberOfVerticalLines=l,b.offsetAttribute=p===-1?void 0:p,new a(b))};a.createGeometry=function(t){let e=t._length,i=t._topRadius,f=t._bottomRadius,o=t._slices,r=t._numberOfVerticalLines;if(e<=0||i<0||f<0||i===0&&f===0)return;let h=o*2,l=M.computePositions(e,i,f,o,!1),p=o*2,E;if(r>0){let O=Math.min(r,o);E=Math.round(o/O),p+=O}let s=N.createTypedArray(h,p*2),u=0,n;for(n=0;n<o-1;n++)s[u++]=n,s[u++]=n+1,s[u++]=n+o,s[u++]=n+1+o;if(s[u++]=o-1,s[u++]=0,s[u++]=o+o-1,s[u++]=o,r>0)for(n=0;n<o;n+=E)s[u++]=n,s[u++]=n+o;let _=new k;_.position=new L({componentDatatype:A.DOUBLE,componentsPerAttribute:3,values:l}),w.x=e*.5,w.y=Math.max(f,i);let g=new y(S.ZERO,R.magnitude(w));if(d(t._offsetAttribute)){e=l.length;let O=t._offsetAttribute===V.NONE?0:1,B=new Uint8Array(e/3).fill(O);_.applyOffset=new L({componentDatatype:A.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}return new P({attributes:_,indices:s,primitiveType:D.LINES,boundingSphere:g,offsetAttribute:t._offsetAttribute})};var C=a;function G(t,e){return d(e)&&(t=C.unpack(t,e)),C.createGeometry(t)}var et=G;export{et as default}; diff --git a/public/lib/Cesium/Workers/createEllipseGeometry.js b/public/lib/Cesium/Workers/createEllipseGeometry.js index 1d2ff5de4..acd70c723 100644 --- a/public/lib/Cesium/Workers/createEllipseGeometry.js +++ b/public/lib/Cesium/Workers/createEllipseGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as o}from"./chunk-ZXPIMV2C.js";import"./chunk-FHVNMDL2.js";import"./chunk-YGSEQ273.js";import"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import"./chunk-IFAARW2T.js";import"./chunk-6YAFAZVV.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as t,d as c}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as n}from"./chunk-4FSVUTPL.js";function a(r,i){return n(i)&&(r=o.unpack(r,i)),r._center=t.clone(r._center),r._ellipsoid=c.clone(r._ellipsoid),o.createGeometry(r)}var u=a;export{u as default}; +import{a as o}from"./chunk-SP2S5UZD.js";import"./chunk-TZGYF5KJ.js";import"./chunk-D76R4V7H.js";import"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import"./chunk-TP5B32RY.js";import"./chunk-RPAJTIFB.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as t,d as c}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as n}from"./chunk-OX5CTLXY.js";function a(r,i){return n(i)&&(r=o.unpack(r,i)),r._center=t.clone(r._center),r._ellipsoid=c.clone(r._ellipsoid),o.createGeometry(r)}var u=a;export{u as default}; diff --git a/public/lib/Cesium/Workers/createEllipseOutlineGeometry.js b/public/lib/Cesium/Workers/createEllipseOutlineGeometry.js index ce505a5f3..b2998a9b3 100644 --- a/public/lib/Cesium/Workers/createEllipseOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createEllipseOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as i}from"./chunk-2HIRFTYB.js";import"./chunk-FHVNMDL2.js";import"./chunk-IFAARW2T.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as t,d as c}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as o}from"./chunk-4FSVUTPL.js";function a(r,n){return o(n)&&(r=i.unpack(r,n)),r._center=t.clone(r._center),r._ellipsoid=c.clone(r._ellipsoid),i.createGeometry(r)}var p=a;export{p as default}; +import{a as i}from"./chunk-GP5GXDAP.js";import"./chunk-TZGYF5KJ.js";import"./chunk-TP5B32RY.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as t,d as c}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as o}from"./chunk-OX5CTLXY.js";function a(r,n){return o(n)&&(r=i.unpack(r,n)),r._center=t.clone(r._center),r._ellipsoid=c.clone(r._ellipsoid),i.createGeometry(r)}var p=a;export{p as default}; diff --git a/public/lib/Cesium/Workers/createEllipsoidGeometry.js b/public/lib/Cesium/Workers/createEllipsoidGeometry.js index f120a1af3..0fb70c70d 100644 --- a/public/lib/Cesium/Workers/createEllipsoidGeometry.js +++ b/public/lib/Cesium/Workers/createEllipsoidGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as e}from"./chunk-KJJX7FYJ.js";import"./chunk-IFAARW2T.js";import"./chunk-6YAFAZVV.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as o}from"./chunk-4FSVUTPL.js";function i(r,t){return o(t)&&(r=e.unpack(r,t)),e.createGeometry(r)}var a=i;export{a as default}; +import{a as e}from"./chunk-J27DO7RZ.js";import"./chunk-TP5B32RY.js";import"./chunk-RPAJTIFB.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as o}from"./chunk-OX5CTLXY.js";function i(r,t){return o(t)&&(r=e.unpack(r,t)),e.createGeometry(r)}var a=i;export{a as default}; diff --git a/public/lib/Cesium/Workers/createEllipsoidOutlineGeometry.js b/public/lib/Cesium/Workers/createEllipsoidOutlineGeometry.js index cace9e0c2..8484ce1ae 100644 --- a/public/lib/Cesium/Workers/createEllipsoidOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createEllipsoidOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as t}from"./chunk-ZDYLWKVC.js";import"./chunk-IFAARW2T.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as n}from"./chunk-4FSVUTPL.js";function u(r,e){return n(r.buffer,e)&&(r=t.unpack(r,e)),t.createGeometry(r)}var a=u;export{a as default}; +import{a as t}from"./chunk-AVHFP6LX.js";import"./chunk-TP5B32RY.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as n}from"./chunk-OX5CTLXY.js";function u(r,e){return n(r.buffer,e)&&(r=t.unpack(r,e)),t.createGeometry(r)}var a=u;export{a as default}; diff --git a/public/lib/Cesium/Workers/createFrustumGeometry.js b/public/lib/Cesium/Workers/createFrustumGeometry.js index 43bd8657a..6885215c2 100644 --- a/public/lib/Cesium/Workers/createFrustumGeometry.js +++ b/public/lib/Cesium/Workers/createFrustumGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{c as r}from"./chunk-AELLPJXN.js";import"./chunk-6YAFAZVV.js";import"./chunk-UKRRGB4P.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as o}from"./chunk-4FSVUTPL.js";function i(e,t){return o(t)&&(e=r.unpack(e,t)),r.createGeometry(e)}var a=i;export{a as default}; +import{c as r}from"./chunk-LWGQRCCJ.js";import"./chunk-RPAJTIFB.js";import"./chunk-I66MFRXO.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as o}from"./chunk-OX5CTLXY.js";function i(e,t){return o(t)&&(e=r.unpack(e,t)),r.createGeometry(e)}var a=i;export{a as default}; diff --git a/public/lib/Cesium/Workers/createFrustumOutlineGeometry.js b/public/lib/Cesium/Workers/createFrustumOutlineGeometry.js index f45e93309..47edc542a 100644 --- a/public/lib/Cesium/Workers/createFrustumOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createFrustumOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as k,b as _,c as j}from"./chunk-AELLPJXN.js";import"./chunk-6YAFAZVV.js";import"./chunk-UKRRGB4P.js";import{a as A}from"./chunk-WFZLZ2P5.js";import{b as N,c as g,d as F}from"./chunk-CTEHZS7O.js";import{d as T}from"./chunk-4TXI27XR.js";import{f as s}from"./chunk-GFUBU5RD.js";import{a as b}from"./chunk-27UWHT4D.js";import{a}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as d}from"./chunk-6KLVDWWE.js";import{b as h}from"./chunk-6P5KAIBX.js";import{e as w}from"./chunk-4FSVUTPL.js";var L=0,C=1;function l(e){h.typeOf.object("options",e),h.typeOf.object("options.frustum",e.frustum),h.typeOf.object("options.origin",e.origin),h.typeOf.object("options.orientation",e.orientation);let t=e.frustum,o=e.orientation,u=e.origin,c=d(e._drawNearPlane,!0),m,p;t instanceof _?(m=L,p=_.packedLength):t instanceof k&&(m=C,p=k.packedLength),this._frustumType=m,this._frustum=t.clone(),this._origin=a.clone(u),this._orientation=s.clone(o),this._drawNearPlane=c,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+p+a.packedLength+s.packedLength}l.pack=function(e,t,o){h.typeOf.object("value",e),h.defined("array",t),o=d(o,0);let u=e._frustumType,c=e._frustum;return t[o++]=u,u===L?(_.pack(c,t,o),o+=_.packedLength):(k.pack(c,t,o),o+=k.packedLength),a.pack(e._origin,t,o),o+=a.packedLength,s.pack(e._orientation,t,o),o+=s.packedLength,t[o]=e._drawNearPlane?1:0,t};var E=new _,G=new k,R=new s,S=new a;l.unpack=function(e,t,o){h.defined("array",e),t=d(t,0);let u=e[t++],c;u===L?(c=_.unpack(e,t,E),t+=_.packedLength):(c=k.unpack(e,t,G),t+=k.packedLength);let m=a.unpack(e,t,S);t+=a.packedLength;let p=s.unpack(e,t,R);t+=s.packedLength;let P=e[t]===1;if(!w(o))return new l({frustum:c,origin:m,orientation:p,_drawNearPlane:P});let n=u===o._frustumType?o._frustum:void 0;return o._frustum=c.clone(n),o._frustumType=u,o._origin=a.clone(m,o._origin),o._orientation=s.clone(p,o._orientation),o._drawNearPlane=P,o};l.createGeometry=function(e){let t=e._frustumType,o=e._frustum,u=e._origin,c=e._orientation,m=e._drawNearPlane,p=new Float64Array(3*4*2);j._computeNearFarPlanes(u,c,t,o,p);let P=new A({position:new F({componentDatatype:b.DOUBLE,componentsPerAttribute:3,values:p})}),n,r,y=m?2:1,i=new Uint16Array(8*(y+1)),f=m?0:1;for(;f<2;++f)n=m?f*8:0,r=f*4,i[n]=r,i[n+1]=r+1,i[n+2]=r+1,i[n+3]=r+2,i[n+4]=r+2,i[n+5]=r+3,i[n+6]=r+3,i[n+7]=r;for(f=0;f<2;++f)n=(y+f)*8,r=f*4,i[n]=r,i[n+1]=r+4,i[n+2]=r+1,i[n+3]=r+5,i[n+4]=r+2,i[n+5]=r+6,i[n+6]=r+3,i[n+7]=r+7;return new g({attributes:P,indices:i,primitiveType:N.LINES,boundingSphere:T.fromVertices(p)})};var O=l;function D(e,t){return w(t)&&(e=O.unpack(e,t)),O.createGeometry(e)}var I=D;export{I as default}; +import{a as k,b as _,c as j}from"./chunk-LWGQRCCJ.js";import"./chunk-RPAJTIFB.js";import"./chunk-I66MFRXO.js";import{a as A}from"./chunk-E2XIHPTZ.js";import{b as N,c as g,d as F}from"./chunk-72NMS5KE.js";import{d as T}from"./chunk-JLMPKQO4.js";import{f as s}from"./chunk-2K72IAMD.js";import{a as b}from"./chunk-GNTVNTUY.js";import{a}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as d}from"./chunk-CJFJKB5V.js";import{b as h}from"./chunk-4BGNE6LH.js";import{e as w}from"./chunk-OX5CTLXY.js";var L=0,C=1;function l(e){h.typeOf.object("options",e),h.typeOf.object("options.frustum",e.frustum),h.typeOf.object("options.origin",e.origin),h.typeOf.object("options.orientation",e.orientation);let t=e.frustum,o=e.orientation,u=e.origin,c=d(e._drawNearPlane,!0),m,p;t instanceof _?(m=L,p=_.packedLength):t instanceof k&&(m=C,p=k.packedLength),this._frustumType=m,this._frustum=t.clone(),this._origin=a.clone(u),this._orientation=s.clone(o),this._drawNearPlane=c,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+p+a.packedLength+s.packedLength}l.pack=function(e,t,o){h.typeOf.object("value",e),h.defined("array",t),o=d(o,0);let u=e._frustumType,c=e._frustum;return t[o++]=u,u===L?(_.pack(c,t,o),o+=_.packedLength):(k.pack(c,t,o),o+=k.packedLength),a.pack(e._origin,t,o),o+=a.packedLength,s.pack(e._orientation,t,o),o+=s.packedLength,t[o]=e._drawNearPlane?1:0,t};var E=new _,G=new k,R=new s,S=new a;l.unpack=function(e,t,o){h.defined("array",e),t=d(t,0);let u=e[t++],c;u===L?(c=_.unpack(e,t,E),t+=_.packedLength):(c=k.unpack(e,t,G),t+=k.packedLength);let m=a.unpack(e,t,S);t+=a.packedLength;let p=s.unpack(e,t,R);t+=s.packedLength;let P=e[t]===1;if(!w(o))return new l({frustum:c,origin:m,orientation:p,_drawNearPlane:P});let n=u===o._frustumType?o._frustum:void 0;return o._frustum=c.clone(n),o._frustumType=u,o._origin=a.clone(m,o._origin),o._orientation=s.clone(p,o._orientation),o._drawNearPlane=P,o};l.createGeometry=function(e){let t=e._frustumType,o=e._frustum,u=e._origin,c=e._orientation,m=e._drawNearPlane,p=new Float64Array(3*4*2);j._computeNearFarPlanes(u,c,t,o,p);let P=new A({position:new F({componentDatatype:b.DOUBLE,componentsPerAttribute:3,values:p})}),n,r,y=m?2:1,i=new Uint16Array(8*(y+1)),f=m?0:1;for(;f<2;++f)n=m?f*8:0,r=f*4,i[n]=r,i[n+1]=r+1,i[n+2]=r+1,i[n+3]=r+2,i[n+4]=r+2,i[n+5]=r+3,i[n+6]=r+3,i[n+7]=r;for(f=0;f<2;++f)n=(y+f)*8,r=f*4,i[n]=r,i[n+1]=r+4,i[n+2]=r+1,i[n+3]=r+5,i[n+4]=r+2,i[n+5]=r+6,i[n+6]=r+3,i[n+7]=r+7;return new g({attributes:P,indices:i,primitiveType:N.LINES,boundingSphere:T.fromVertices(p)})};var O=l;function D(e,t){return w(t)&&(e=O.unpack(e,t)),O.createGeometry(e)}var I=D;export{I as default}; diff --git a/public/lib/Cesium/Workers/createGeometry.js b/public/lib/Cesium/Workers/createGeometry.js index f761544d8..6eb431595 100644 --- a/public/lib/Cesium/Workers/createGeometry.js +++ b/public/lib/Cesium/Workers/createGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as d}from"./chunk-DELT5W27.js";import{a as w}from"./chunk-JQWRUZSV.js";import"./chunk-ZPNGL6DU.js";import"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as k}from"./chunk-6KLVDWWE.js";import{a as y}from"./chunk-6P5KAIBX.js";import{a,b as p,e as r}from"./chunk-4FSVUTPL.js";var b=p({"./combineGeometry.js":()=>import("./combineGeometry.js"),"./createBoxGeometry.js":()=>import("./createBoxGeometry.js"),"./createBoxOutlineGeometry.js":()=>import("./createBoxOutlineGeometry.js"),"./createCircleGeometry.js":()=>import("./createCircleGeometry.js"),"./createCircleOutlineGeometry.js":()=>import("./createCircleOutlineGeometry.js"),"./createCoplanarPolygonGeometry.js":()=>import("./createCoplanarPolygonGeometry.js"),"./createCoplanarPolygonOutlineGeometry.js":()=>import("./createCoplanarPolygonOutlineGeometry.js"),"./createCorridorGeometry.js":()=>import("./createCorridorGeometry.js"),"./createCorridorOutlineGeometry.js":()=>import("./createCorridorOutlineGeometry.js"),"./createCylinderGeometry.js":()=>import("./createCylinderGeometry.js"),"./createCylinderOutlineGeometry.js":()=>import("./createCylinderOutlineGeometry.js"),"./createEllipseGeometry.js":()=>import("./createEllipseGeometry.js"),"./createEllipseOutlineGeometry.js":()=>import("./createEllipseOutlineGeometry.js"),"./createEllipsoidGeometry.js":()=>import("./createEllipsoidGeometry.js"),"./createEllipsoidOutlineGeometry.js":()=>import("./createEllipsoidOutlineGeometry.js"),"./createFrustumGeometry.js":()=>import("./createFrustumGeometry.js"),"./createFrustumOutlineGeometry.js":()=>import("./createFrustumOutlineGeometry.js"),"./createGeometry.js":()=>import("./createGeometry.js"),"./createGroundPolylineGeometry.js":()=>import("./createGroundPolylineGeometry.js"),"./createPlaneGeometry.js":()=>import("./createPlaneGeometry.js"),"./createPlaneOutlineGeometry.js":()=>import("./createPlaneOutlineGeometry.js"),"./createPolygonGeometry.js":()=>import("./createPolygonGeometry.js"),"./createPolygonOutlineGeometry.js":()=>import("./createPolygonOutlineGeometry.js"),"./createPolylineGeometry.js":()=>import("./createPolylineGeometry.js"),"./createPolylineVolumeGeometry.js":()=>import("./createPolylineVolumeGeometry.js"),"./createPolylineVolumeOutlineGeometry.js":()=>import("./createPolylineVolumeOutlineGeometry.js"),"./createRectangleGeometry.js":()=>import("./createRectangleGeometry.js"),"./createRectangleOutlineGeometry.js":()=>import("./createRectangleOutlineGeometry.js"),"./createSimplePolylineGeometry.js":()=>import("./createSimplePolylineGeometry.js"),"./createSphereGeometry.js":()=>import("./createSphereGeometry.js"),"./createSphereOutlineGeometry.js":()=>import("./createSphereOutlineGeometry.js"),"./createTaskProcessorWorker.js":()=>import("./createTaskProcessorWorker.js"),"./createVectorTileClampedPolylines.js":()=>import("./createVectorTileClampedPolylines.js"),"./createVectorTileGeometries.js":()=>import("./createVectorTileGeometries.js"),"./createVectorTilePoints.js":()=>import("./createVectorTilePoints.js"),"./createVectorTilePolygons.js":()=>import("./createVectorTilePolygons.js"),"./createVectorTilePolylines.js":()=>import("./createVectorTilePolylines.js"),"./createVerticesFromGoogleEarthEnterpriseBuffer.js":()=>import("./createVerticesFromGoogleEarthEnterpriseBuffer.js"),"./createVerticesFromHeightmap.js":()=>import("./createVerticesFromHeightmap.js"),"./createVerticesFromQuantizedTerrainMesh.js":()=>import("./createVerticesFromQuantizedTerrainMesh.js"),"./createWallGeometry.js":()=>import("./createWallGeometry.js"),"./createWallOutlineGeometry.js":()=>import("./createWallOutlineGeometry.js"),"./decodeDraco.js":()=>import("./decodeDraco.js"),"./decodeGoogleEarthEnterprisePacket.js":()=>import("./decodeGoogleEarthEnterprisePacket.js"),"./decodeI3S.js":()=>import("./decodeI3S.js"),"./transcodeKTX2.js":()=>import("./transcodeKTX2.js"),"./transferTypedArrayTest.js":()=>import("./transferTypedArrayTest.js"),"./upsampleQuantizedTerrainMesh.js":()=>import("./upsampleQuantizedTerrainMesh.js")});var f={};async function h(s,t){let e=k(f[t],f[s]);return r(e)?e:r(t)?(typeof exports=="object"?e=a(t):e=(await import(t)).default,f[t]=e,e):(typeof exports=="object"?e=a(`Workers/${s}`):e=(r(t)?await import(t):await b(`./${s}.js`)).default,f[s]=e,e)}async function x(s,t){let e=s.subTasks,n=e.length,u=new Array(n);for(let o=0;o<n;o++){let i=e[o],m=i.geometry,l=i.moduleName,c=i.modulePath;if(r(l)&&r(c))throw new y("Must only set moduleName or modulePath");r(l)||r(c)?u[o]=h(l,c).then(g=>g(m,i.offset)):u[o]=m}return Promise.all(u).then(function(o){return d.packCreateGeometryResults(o,t)})}var P=w(x);export{P as default}; +import{a as d}from"./chunk-QT33UL57.js";import{a as w}from"./chunk-YEUI4ZO2.js";import"./chunk-6IQVYEBD.js";import"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as k}from"./chunk-CJFJKB5V.js";import{a as y}from"./chunk-4BGNE6LH.js";import{a,b as p,e as r}from"./chunk-OX5CTLXY.js";var b=p({"./combineGeometry.js":()=>import("./combineGeometry.js"),"./createBoxGeometry.js":()=>import("./createBoxGeometry.js"),"./createBoxOutlineGeometry.js":()=>import("./createBoxOutlineGeometry.js"),"./createCircleGeometry.js":()=>import("./createCircleGeometry.js"),"./createCircleOutlineGeometry.js":()=>import("./createCircleOutlineGeometry.js"),"./createCoplanarPolygonGeometry.js":()=>import("./createCoplanarPolygonGeometry.js"),"./createCoplanarPolygonOutlineGeometry.js":()=>import("./createCoplanarPolygonOutlineGeometry.js"),"./createCorridorGeometry.js":()=>import("./createCorridorGeometry.js"),"./createCorridorOutlineGeometry.js":()=>import("./createCorridorOutlineGeometry.js"),"./createCylinderGeometry.js":()=>import("./createCylinderGeometry.js"),"./createCylinderOutlineGeometry.js":()=>import("./createCylinderOutlineGeometry.js"),"./createEllipseGeometry.js":()=>import("./createEllipseGeometry.js"),"./createEllipseOutlineGeometry.js":()=>import("./createEllipseOutlineGeometry.js"),"./createEllipsoidGeometry.js":()=>import("./createEllipsoidGeometry.js"),"./createEllipsoidOutlineGeometry.js":()=>import("./createEllipsoidOutlineGeometry.js"),"./createFrustumGeometry.js":()=>import("./createFrustumGeometry.js"),"./createFrustumOutlineGeometry.js":()=>import("./createFrustumOutlineGeometry.js"),"./createGeometry.js":()=>import("./createGeometry.js"),"./createGroundPolylineGeometry.js":()=>import("./createGroundPolylineGeometry.js"),"./createPlaneGeometry.js":()=>import("./createPlaneGeometry.js"),"./createPlaneOutlineGeometry.js":()=>import("./createPlaneOutlineGeometry.js"),"./createPolygonGeometry.js":()=>import("./createPolygonGeometry.js"),"./createPolygonOutlineGeometry.js":()=>import("./createPolygonOutlineGeometry.js"),"./createPolylineGeometry.js":()=>import("./createPolylineGeometry.js"),"./createPolylineVolumeGeometry.js":()=>import("./createPolylineVolumeGeometry.js"),"./createPolylineVolumeOutlineGeometry.js":()=>import("./createPolylineVolumeOutlineGeometry.js"),"./createRectangleGeometry.js":()=>import("./createRectangleGeometry.js"),"./createRectangleOutlineGeometry.js":()=>import("./createRectangleOutlineGeometry.js"),"./createSimplePolylineGeometry.js":()=>import("./createSimplePolylineGeometry.js"),"./createSphereGeometry.js":()=>import("./createSphereGeometry.js"),"./createSphereOutlineGeometry.js":()=>import("./createSphereOutlineGeometry.js"),"./createTaskProcessorWorker.js":()=>import("./createTaskProcessorWorker.js"),"./createVectorTileClampedPolylines.js":()=>import("./createVectorTileClampedPolylines.js"),"./createVectorTileGeometries.js":()=>import("./createVectorTileGeometries.js"),"./createVectorTilePoints.js":()=>import("./createVectorTilePoints.js"),"./createVectorTilePolygons.js":()=>import("./createVectorTilePolygons.js"),"./createVectorTilePolylines.js":()=>import("./createVectorTilePolylines.js"),"./createVerticesFromGoogleEarthEnterpriseBuffer.js":()=>import("./createVerticesFromGoogleEarthEnterpriseBuffer.js"),"./createVerticesFromHeightmap.js":()=>import("./createVerticesFromHeightmap.js"),"./createVerticesFromQuantizedTerrainMesh.js":()=>import("./createVerticesFromQuantizedTerrainMesh.js"),"./createWallGeometry.js":()=>import("./createWallGeometry.js"),"./createWallOutlineGeometry.js":()=>import("./createWallOutlineGeometry.js"),"./decodeDraco.js":()=>import("./decodeDraco.js"),"./decodeGoogleEarthEnterprisePacket.js":()=>import("./decodeGoogleEarthEnterprisePacket.js"),"./decodeI3S.js":()=>import("./decodeI3S.js"),"./transcodeKTX2.js":()=>import("./transcodeKTX2.js"),"./transferTypedArrayTest.js":()=>import("./transferTypedArrayTest.js"),"./upsampleQuantizedTerrainMesh.js":()=>import("./upsampleQuantizedTerrainMesh.js")});var f={};async function h(s,t){let e=k(f[t],f[s]);return r(e)?e:r(t)?(typeof exports=="object"?e=a(t):e=(await import(t)).default,f[t]=e,e):(typeof exports=="object"?e=a(`Workers/${s}`):e=(r(t)?await import(t):await b(`./${s}.js`)).default,f[s]=e,e)}async function x(s,t){let e=s.subTasks,n=e.length,u=new Array(n);for(let o=0;o<n;o++){let i=e[o],m=i.geometry,l=i.moduleName,c=i.modulePath;if(r(l)&&r(c))throw new y("Must only set moduleName or modulePath");r(l)||r(c)?u[o]=h(l,c).then(g=>g(m,i.offset)):u[o]=m}return Promise.all(u).then(function(o){return d.packCreateGeometryResults(o,t)})}var P=w(x);export{P as default}; diff --git a/public/lib/Cesium/Workers/createGroundPolylineGeometry.js b/public/lib/Cesium/Workers/createGroundPolylineGeometry.js index 1aa48dac4..24d31a52f 100644 --- a/public/lib/Cesium/Workers/createGroundPolylineGeometry.js +++ b/public/lib/Cesium/Workers/createGroundPolylineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as _e}from"./chunk-ZPNGL6DU.js";import{a as Z}from"./chunk-6X7WLTTW.js";import{a as _t}from"./chunk-QTX6TFJQ.js";import{a as Oe}from"./chunk-ZYB4DKDQ.js";import{a as Le}from"./chunk-ZIUWYBT3.js";import{a as te}from"./chunk-45FCQ3FJ.js";import{b as Qt}from"./chunk-P75RMBWR.js";import{a as jt}from"./chunk-UKRRGB4P.js";import{c as Ce,d as zt}from"./chunk-CTEHZS7O.js";import{a as bt,d as G}from"./chunk-4TXI27XR.js";import{d as xe,e as Ne,f as Kt,i as U}from"./chunk-GFUBU5RD.js";import{a as Bt}from"./chunk-27UWHT4D.js";import{a as t,b as u,c as Pt,d as z,e as vt}from"./chunk-RFPX772U.js";import{a as p}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as O}from"./chunk-6KLVDWWE.js";import{a as St,b as et}from"./chunk-6P5KAIBX.js";import{e as g}from"./chunk-4FSVUTPL.js";function rt(e){e=O(e,O.EMPTY_OBJECT),this._ellipsoid=O(e.ellipsoid,z.default),this._rectangle=O(e.rectangle,U.MAX_VALUE),this._projection=new bt(this._ellipsoid),this._numberOfLevelZeroTilesX=O(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=O(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(rt.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});rt.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};rt.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};rt.prototype.rectangleToNativeRectangle=function(e,i){et.defined("rectangle",e);let r=p.toDegrees(e.west),n=p.toDegrees(e.south),o=p.toDegrees(e.east),a=p.toDegrees(e.north);return g(i)?(i.west=r,i.south=n,i.east=o,i.north=a,i):new U(r,n,o,a)};rt.prototype.tileXYToNativeRectangle=function(e,i,r,n){let o=this.tileXYToRectangle(e,i,r,n);return o.west=p.toDegrees(o.west),o.south=p.toDegrees(o.south),o.east=p.toDegrees(o.east),o.north=p.toDegrees(o.north),o};rt.prototype.tileXYToRectangle=function(e,i,r,n){let o=this._rectangle,a=this.getNumberOfXTilesAtLevel(r),c=this.getNumberOfYTilesAtLevel(r),l=o.width/a,s=e*l+o.west,d=(e+1)*l+o.west,h=o.height/c,N=o.north-i*h,S=o.north-(i+1)*h;return g(n)||(n=new U(s,S,d,N)),n.west=s,n.south=S,n.east=d,n.north=N,n};rt.prototype.positionToTileXY=function(e,i,r){let n=this._rectangle;if(!U.contains(n,e))return;let o=this.getNumberOfXTilesAtLevel(i),a=this.getNumberOfYTilesAtLevel(i),c=n.width/o,l=n.height/a,s=e.longitude;n.east<n.west&&(s+=p.TWO_PI);let d=(s-n.west)/c|0;d>=o&&(d=o-1);let h=(n.north-e.latitude)/l|0;return h>=a&&(h=a-1),g(r)?(r.x=d,r.y=h,r):new Pt(d,h)};var De=rt;var Ie=new t,He=new t,ke=new u,ee=new t,hn=new t,ye=new G,pn=new De,Lt=[new u,new u,new u,new u],Ot=new Pt,w={};w.initialize=function(){let e=w._initPromise;return g(e)||(e=xe.fetchJson(Ne("Assets/approximateTerrainHeights.json")).then(function(i){w._terrainHeights=i}),w._initPromise=e),e};w.getMinimumMaximumHeights=function(e,i){if(et.defined("rectangle",e),!g(w._terrainHeights))throw new St("You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function");i=O(i,z.default);let r=Ae(e),n=w._defaultMinTerrainHeight,o=w._defaultMaxTerrainHeight;if(g(r)){let a=`${r.level}-${r.x}-${r.y}`,c=w._terrainHeights[a];g(c)&&(n=c[0],o=c[1]),i.cartographicToCartesian(U.northeast(e,ke),Ie),i.cartographicToCartesian(U.southwest(e,ke),He),t.midpoint(He,Ie,ee);let l=i.scaleToGeodeticSurface(ee,hn);if(g(l)){let s=t.distance(ee,l);n=Math.min(n,-s)}else n=w._defaultMinTerrainHeight}return n=Math.max(w._defaultMinTerrainHeight,n),{minimumTerrainHeight:n,maximumTerrainHeight:o}};w.getBoundingSphere=function(e,i){if(et.defined("rectangle",e),!g(w._terrainHeights))throw new St("You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function");i=O(i,z.default);let r=Ae(e),n=w._defaultMaxTerrainHeight;if(g(r)){let a=`${r.level}-${r.x}-${r.y}`,c=w._terrainHeights[a];g(c)&&(n=c[1])}let o=G.fromRectangle3D(e,i,0);return G.fromRectangle3D(e,i,n,ye),G.union(o,ye,o)};function Ae(e){u.fromRadians(e.east,e.north,0,Lt[0]),u.fromRadians(e.west,e.north,0,Lt[1]),u.fromRadians(e.east,e.south,0,Lt[2]),u.fromRadians(e.west,e.south,0,Lt[3]);let i=0,r=0,n=0,o=0,a=w._terrainHeightsMaxLevel,c;for(c=0;c<=a;++c){let l=!1;for(let s=0;s<4;++s){let d=Lt[s];if(pn.positionToTileXY(d,c,Ot),s===0)n=Ot.x,o=Ot.y;else if(n!==Ot.x||o!==Ot.y){l=!0;break}}if(l)break;i=n,r=o}if(c!==0)return{x:i,y:r,level:c>a?a:c-1}}w._terrainHeightsMaxLevel=6;w._defaultMaxTerrainHeight=9e3;w._defaultMinTerrainHeight=-1e5;w._terrainHeights=void 0;w._initPromise=void 0;Object.defineProperties(w,{initialized:{get:function(){return g(w._terrainHeights)}}});var Xt=w;var le=[bt,_e],dn=le.length,Ke=Math.cos(p.toRadians(30)),Me=Math.cos(p.toRadians(150)),Qe=0,tn=1e3;function ct(e){e=O(e,O.EMPTY_OBJECT);let i=e.positions;if(!g(i)||i.length<2)throw new St("At least two positions are required.");if(g(e.arcType)&&e.arcType!==Z.GEODESIC&&e.arcType!==Z.RHUMB)throw new St("Valid options for arcType are ArcType.GEODESIC and ArcType.RHUMB.");this.width=O(e.width,1),this._positions=i,this.granularity=O(e.granularity,9999),this.loop=O(e.loop,!1),this.arcType=O(e.arcType,Z.GEODESIC),this._ellipsoid=z.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(ct.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+z.packedLength+1+1}}});ct.setProjectionAndEllipsoid=function(e,i){let r=0;for(let n=0;n<dn;n++)if(i instanceof le[n]){r=n;break}e._projectionIndex=r,e._ellipsoid=i.ellipsoid};var fn=new t,Re=new t,Pe=new t;function se(e,i,r,n,o){let a=P(n,e,0,fn),c=P(n,e,r,Re),l=P(n,i,0,Pe),s=nt(c,a,Re),d=nt(l,a,Pe);return t.cross(d,s,o),t.normalize(o,o)}var mn=new u,gn=new t,un=new t,wn=new t;function ne(e,i,r,n,o,a,c,l,s,d,h){if(o===0)return;let N;a===Z.GEODESIC?N=new Oe(e,i,c):a===Z.RHUMB&&(N=new te(e,i,c));let S=N.surfaceDistance;if(S<o)return;let R=se(e,i,n,c,wn),D=Math.ceil(S/o),I=S/D,j=I,q=D-1,f=l.length;for(let X=0;X<q;X++){let v=N.interpolateUsingSurfaceDistance(j,mn),y=P(c,v,r,gn),H=P(c,v,n,un);t.pack(R,l,f),t.pack(y,s,f),t.pack(H,d,f),h.push(v.latitude),h.push(v.longitude),f+=3,j+=I}}var oe=new u;function P(e,i,r,n){return u.clone(i,oe),oe.height=r,u.toCartesian(oe,e,n)}ct.pack=function(e,i,r){et.typeOf.object("value",e),et.defined("array",i);let n=O(r,0),o=e._positions,a=o.length;i[n++]=a;for(let c=0;c<a;++c){let l=o[c];t.pack(l,i,n),n+=3}return i[n++]=e.granularity,i[n++]=e.loop?1:0,i[n++]=e.arcType,z.pack(e._ellipsoid,i,n),n+=z.packedLength,i[n++]=e._projectionIndex,i[n++]=e._scene3DOnly?1:0,i};ct.unpack=function(e,i,r){et.defined("array",e);let n=O(i,0),o=e[n++],a=new Array(o);for(let S=0;S<o;S++)a[S]=t.unpack(e,n),n+=3;let c=e[n++],l=e[n++]===1,s=e[n++],d=z.unpack(e,n);n+=z.packedLength;let h=e[n++],N=e[n++]===1;return g(r)||(r=new ct({positions:a})),r._positions=a,r.granularity=c,r.loop=l,r.arcType=s,r._ellipsoid=d,r._projectionIndex=h,r._scene3DOnly=N,r};function nt(e,i,r){return t.subtract(e,i,r),t.normalize(r,r),r}function be(e,i,r,n){return n=nt(e,i,n),n=t.cross(n,r,n),n=t.normalize(n,n),n=t.cross(r,n,n),n}var Sn=new t,Tn=new t,En=new t,en=new t,xn=0,Nn=-1;function ie(e,i,r,n,o){let a=nt(r,i,en),c=be(e,i,a,Sn),l=be(n,i,a,Tn);if(p.equalsEpsilon(t.dot(c,l),Nn,p.EPSILON5))return o=t.cross(a,c,o),o=t.normalize(o,o),o;o=t.add(l,c,o),o=t.normalize(o,o);let s=t.cross(a,o,En);return t.dot(l,s)<xn&&(o=t.negate(o,o)),o}var Gt=jt.fromPointNormal(t.ZERO,t.UNIT_Y),Cn=new t,_n=new t,Ln=new t,On=new t,Dn=new t,Yt=new t,Ft=new u,ve=new u,Be=new u;ct.createGeometry=function(e){let i=!e._scene3DOnly,r=e.loop,n=e._ellipsoid,o=e.granularity,a=e.arcType,c=new le[e._projectionIndex](n),l=Qe,s=tn,d,h,N=e._positions,S=N.length;S===2&&(r=!1);let R,D,I,j,q=new te(void 0,void 0,n),f,X,v,y=[N[0]];for(h=0;h<S-1;h++)R=N[h],D=N[h+1],f=Qt.lineSegmentPlane(R,D,Gt,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&(e.arcType===Z.GEODESIC?y.push(t.clone(f)):e.arcType===Z.RHUMB&&(v=n.cartesianToCartographic(f,Ft).longitude,I=n.cartesianToCartographic(R,Ft),j=n.cartesianToCartographic(D,ve),q.setEndPoints(I,j),X=q.findIntersectionWithLongitude(v,Be),f=n.cartographicToCartesian(X,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&y.push(t.clone(f)))),y.push(D);r&&(R=N[S-1],D=N[0],f=Qt.lineSegmentPlane(R,D,Gt,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&(e.arcType===Z.GEODESIC?y.push(t.clone(f)):e.arcType===Z.RHUMB&&(v=n.cartesianToCartographic(f,Ft).longitude,I=n.cartesianToCartographic(R,Ft),j=n.cartesianToCartographic(D,ve),q.setEndPoints(I,j),X=q.findIntersectionWithLongitude(v,Be),f=n.cartographicToCartesian(X,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&y.push(t.clone(f)))));let H=y.length,C=new Array(H);for(h=0;h<H;h++){let F=u.fromCartesian(y[h],n);F.height=0,C[h]=F}if(C=Le(C,u.equalsEpsilon),H=C.length,H<2)return;let k=[],b=[],B=[],E=[],x=Cn,L=_n,_=Ln,Y=On,A=Dn,m=C[0],V=C[1],It=C[H-1];for(x=P(n,It,l,x),Y=P(n,V,l,Y),L=P(n,m,l,L),_=P(n,m,s,_),r?A=ie(x,L,_,Y,A):A=se(m,V,s,n,A),t.pack(A,b,0),t.pack(L,B,0),t.pack(_,E,0),k.push(m.latitude),k.push(m.longitude),ne(m,V,l,s,o,a,n,b,B,E,k),h=1;h<H-1;++h){x=t.clone(L,x),L=t.clone(Y,L);let F=C[h];P(n,F,s,_),P(n,C[h+1],l,Y),ie(x,L,_,Y,A),d=b.length,t.pack(A,b,d),t.pack(L,B,d),t.pack(_,E,d),k.push(F.latitude),k.push(F.longitude),ne(C[h],C[h+1],l,s,o,a,n,b,B,E,k)}let M=C[H-1],Tt=C[H-2];if(L=P(n,M,l,L),_=P(n,M,s,_),r){let F=C[0];x=P(n,Tt,l,x),Y=P(n,F,l,Y),A=ie(x,L,_,Y,A)}else A=se(Tt,M,s,n,A);if(d=b.length,t.pack(A,b,d),t.pack(L,B,d),t.pack(_,E,d),k.push(M.latitude),k.push(M.longitude),r){for(ne(M,m,l,s,o,a,n,b,B,E,k),d=b.length,h=0;h<3;++h)b[d+h]=b[h],B[d+h]=B[h],E[d+h]=E[h];k.push(m.latitude),k.push(m.longitude)}return Qn(r,c,B,E,b,k,i)};var In=new t,Hn=new vt,kn=new Kt;function ze(e,i,r,n){let o=nt(r,i,In),a=t.dot(o,e);if(a>Ke||a<Me){let c=nt(n,r,en),l=a<Me?p.PI_OVER_TWO:-p.PI_OVER_TWO,s=Kt.fromAxisAngle(c,l,kn),d=vt.fromQuaternion(s,Hn);return vt.multiplyByVector(d,e,e),!0}return!1}var je=new u,yn=new t,Xe=new t;function Dt(e,i,r,n,o){let a=u.toCartesian(i,e._ellipsoid,yn),c=t.add(a,r,Xe),l=!1,s=e._ellipsoid,d=s.cartesianToCartographic(c,je);Math.abs(i.longitude-d.longitude)>p.PI_OVER_TWO&&(l=!0,c=t.subtract(a,r,Xe),d=s.cartesianToCartographic(c,je)),d.height=0;let h=e.project(d,o);return o=t.subtract(h,n,o),o.z=0,o=t.normalize(o,o),l&&t.negate(o,o),o}var An=new t,Ye=new t;function Fe(e,i,r,n,o,a){let c=t.subtract(i,e,An);t.normalize(c,c);let l=r-Qe,s=t.multiplyByScalar(c,l,Ye);t.add(e,s,o);let d=n-tn;s=t.multiplyByScalar(c,d,Ye),t.add(i,s,a)}var Mn=new t;function Ut(e,i){let r=jt.getPointDistance(Gt,e),n=jt.getPointDistance(Gt,i),o=Mn;p.equalsEpsilon(r,0,p.EPSILON2)?(o=nt(i,e,o),t.multiplyByScalar(o,p.EPSILON2,o),t.add(e,o,e)):p.equalsEpsilon(n,0,p.EPSILON2)&&(o=nt(e,i,o),t.multiplyByScalar(o,p.EPSILON2,o),t.add(i,o,i))}function Rn(e,i){let r=Math.abs(e.longitude),n=Math.abs(i.longitude);if(p.equalsEpsilon(r,p.PI,p.EPSILON11)){let o=p.sign(i.longitude);return e.longitude=o*(r-p.EPSILON11),1}else if(p.equalsEpsilon(n,p.PI,p.EPSILON11)){let o=p.sign(e.longitude);return i.longitude=o*(n-p.EPSILON11),2}return 0}var nn=new u,on=new u,Ue=new t,re=new t,Ge=new t,qe=new t,Pn=new t,We=new t,bn=[nn,on],vn=new U,Bn=new t,zn=new t,jn=new t,Xn=new t,Yn=new t,Fn=new t,ae=new t,ce=new t,Un=new t,Gn=new t,qn=new t,Ze=new t,Wn=new t,Zn=new t,Vn=new _t,$n=new _t,Ve=new t,Jn=new t,$e=new t,Kn=[new G,new G],rn=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],Je=rn.length;function Qn(e,i,r,n,o,a,c){let l,s,d=i._ellipsoid,h=r.length/3-1,N=h*8,S=N*4,R=h*36,D=N>65535?new Uint32Array(R):new Uint16Array(R),I=new Float64Array(N*3),j=new Float32Array(S),q=new Float32Array(S),f=new Float32Array(S),X=new Float32Array(S),v=new Float32Array(S),y,H,C,k;c&&(y=new Float32Array(S),H=new Float32Array(S),C=new Float32Array(S),k=new Float32Array(N*2));let b=a.length/2,B=0,E=nn;E.height=0;let x=on;x.height=0;let L=Ue,_=re;if(c)for(s=0,l=1;l<b;l++)E.latitude=a[s],E.longitude=a[s+1],x.latitude=a[s+2],x.longitude=a[s+3],L=i.project(E,L),_=i.project(x,_),B+=t.distance(L,_),s+=2;let Y=n.length/3;_=t.unpack(n,0,_);let A=0;for(s=3,l=1;l<Y;l++)L=t.clone(_,L),_=t.unpack(n,s,_),A+=t.distance(L,_),s+=3;let m;s=3;let V=0,It=0,M=0,Tt=0,F=!1,st=t.unpack(r,0,qe),lt=t.unpack(n,0,re),W=t.unpack(o,0,We);if(e){let ht=t.unpack(r,r.length-6,Ge);ze(W,ht,st,lt)&&(W=t.negate(W,W))}let pe=0,de=0,qt=0;for(l=0;l<h;l++){let ht=t.clone(st,Ge),Zt=t.clone(lt,Ue),mt=t.clone(W,Pn);F&&(mt=t.negate(mt,mt)),st=t.unpack(r,s,qe),lt=t.unpack(n,s,re),W=t.unpack(o,s,We),F=ze(W,ht,st,lt),E.latitude=a[V],E.longitude=a[V+1],x.latitude=a[V+2],x.longitude=a[V+3];let pt,gt,ot,it;if(c){let T=Rn(E,x);pt=i.project(E,Yn),gt=i.project(x,Fn);let wt=nt(gt,pt,Ve);wt.y=Math.abs(wt.y),ot=ae,it=ce,T===0||t.dot(wt,t.UNIT_Y)>Ke?(ot=Dt(i,E,mt,pt,ae),it=Dt(i,x,W,gt,ce)):T===1?(it=Dt(i,x,W,gt,ce),ot.x=0,ot.y=p.sign(E.longitude-Math.abs(x.longitude)),ot.z=0):(ot=Dt(i,E,mt,pt,ae),it.x=0,it.y=p.sign(E.longitude-x.longitude),it.z=0)}let ge=t.distance(Zt,lt),ue=_t.fromCartesian(ht,Vn),Ht=t.subtract(st,ht,Un),an=t.normalize(Ht,Ze),xt=t.subtract(Zt,ht,Gn);xt=t.normalize(xt,xt);let ut=t.cross(an,xt,Ze);ut=t.normalize(ut,ut);let kt=t.cross(xt,mt,Wn);kt=t.normalize(kt,kt);let yt=t.subtract(lt,st,qn);yt=t.normalize(yt,yt);let At=t.cross(W,yt,Zn);At=t.normalize(At,At);let cn=ge/A,sn=pe/A,Vt=0,Nt,Mt,dt,we=0,Se=0;if(c){Vt=t.distance(pt,gt),Nt=_t.fromCartesian(pt,$n),Mt=t.subtract(gt,pt,Ve),dt=t.normalize(Mt,Jn);let T=dt.x;dt.x=dt.y,dt.y=-T,we=Vt/B,Se=de/B}for(m=0;m<8;m++){let T=Tt+m*4,wt=It+m*2,Ct=T+3,Ee=m<4?1:-1,Rt=m===2||m===3||m===6||m===7?1:-1;t.pack(ue.high,j,T),j[Ct]=Ht.x,t.pack(ue.low,q,T),q[Ct]=Ht.y,t.pack(kt,f,T),f[Ct]=Ht.z,t.pack(At,X,T),X[Ct]=cn*Ee,t.pack(ut,v,T);let ft=sn*Rt;ft===0&&Rt<0&&(ft=9),v[Ct]=ft,c&&(y[T]=Nt.high.x,y[T+1]=Nt.high.y,y[T+2]=Nt.low.x,y[T+3]=Nt.low.y,C[T]=-ot.y,C[T+1]=ot.x,C[T+2]=it.y,C[T+3]=-it.x,H[T]=Mt.x,H[T+1]=Mt.y,H[T+2]=dt.x,H[T+3]=dt.y,k[wt]=we*Ee,ft=Se*Rt,ft===0&&Rt<0&&(ft=9),k[wt+1]=ft)}let $=jn,J=Xn,K=Bn,Q=zn,ln=U.fromCartographicArray(bn,vn),Te=Xt.getMinimumMaximumHeights(ln,d),$t=Te.minimumTerrainHeight,Jt=Te.maximumTerrainHeight;qt+=Math.abs($t),qt+=Math.abs(Jt),Fe(ht,Zt,$t,Jt,$,K),Fe(st,lt,$t,Jt,J,Q);let tt=t.multiplyByScalar(ut,p.EPSILON5,$e);t.add($,tt,$),t.add(J,tt,J),t.add(K,tt,K),t.add(Q,tt,Q),Ut($,J),Ut(K,Q),t.pack($,I,M),t.pack(J,I,M+3),t.pack(Q,I,M+6),t.pack(K,I,M+9),tt=t.multiplyByScalar(ut,-2*p.EPSILON5,$e),t.add($,tt,$),t.add(J,tt,J),t.add(K,tt,K),t.add(Q,tt,Q),Ut($,J),Ut(K,Q),t.pack($,I,M+12),t.pack(J,I,M+15),t.pack(Q,I,M+18),t.pack(K,I,M+21),V+=2,s+=3,It+=16,M+=24,Tt+=32,pe+=ge,de+=Vt}s=0;let fe=0;for(l=0;l<h;l++){for(m=0;m<Je;m++)D[s+m]=rn[m]+fe;fe+=8,s+=Je}let Wt=Kn;G.fromVertices(r,t.ZERO,3,Wt[0]),G.fromVertices(n,t.ZERO,3,Wt[1]);let me=G.fromBoundingSpheres(Wt);me.radius+=qt/(h*2);let Et={position:new zt({componentDatatype:Bt.DOUBLE,componentsPerAttribute:3,normalize:!1,values:I}),startHiAndForwardOffsetX:at(j),startLoAndForwardOffsetY:at(q),startNormalAndForwardOffsetZ:at(f),endNormalAndTextureCoordinateNormalizationX:at(X),rightNormalAndTextureCoordinateNormalizationY:at(v)};return c&&(Et.startHiLo2D=at(y),Et.offsetAndRight2D=at(H),Et.startEndNormals2D=at(C),Et.texcoordNormalization2D=new zt({componentDatatype:Bt.FLOAT,componentsPerAttribute:2,normalize:!1,values:k})),new Ce({attributes:Et,indices:D,boundingSphere:me})}function at(e){return new zt({componentDatatype:Bt.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}ct._projectNormal=Dt;var he=ct;function to(e,i){return Xt.initialize().then(function(){return g(i)&&(e=he.unpack(e,i)),he.createGeometry(e)})}var ti=to;export{ti as default}; +import{a as _e}from"./chunk-6IQVYEBD.js";import{a as Z}from"./chunk-BRDKDER4.js";import{a as _t}from"./chunk-67ZE4UMX.js";import{a as Oe}from"./chunk-5CZH3YOM.js";import{a as Le}from"./chunk-M2TWLQFJ.js";import{a as te}from"./chunk-44LKXGXW.js";import{b as Qt}from"./chunk-GCVZZUCS.js";import{a as jt}from"./chunk-I66MFRXO.js";import{c as Ce,d as zt}from"./chunk-72NMS5KE.js";import{a as bt,d as G}from"./chunk-JLMPKQO4.js";import{d as xe,e as Ne,f as Kt,h as U}from"./chunk-2K72IAMD.js";import{a as Bt}from"./chunk-GNTVNTUY.js";import{a as t,b as u,c as Pt,d as z,e as vt}from"./chunk-HWH6BBH6.js";import{a as p}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as O}from"./chunk-CJFJKB5V.js";import{a as St,b as et}from"./chunk-4BGNE6LH.js";import{e as g}from"./chunk-OX5CTLXY.js";function rt(e){e=O(e,O.EMPTY_OBJECT),this._ellipsoid=O(e.ellipsoid,z.default),this._rectangle=O(e.rectangle,U.MAX_VALUE),this._projection=new bt(this._ellipsoid),this._numberOfLevelZeroTilesX=O(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=O(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(rt.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});rt.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};rt.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};rt.prototype.rectangleToNativeRectangle=function(e,i){et.defined("rectangle",e);let r=p.toDegrees(e.west),n=p.toDegrees(e.south),o=p.toDegrees(e.east),a=p.toDegrees(e.north);return g(i)?(i.west=r,i.south=n,i.east=o,i.north=a,i):new U(r,n,o,a)};rt.prototype.tileXYToNativeRectangle=function(e,i,r,n){let o=this.tileXYToRectangle(e,i,r,n);return o.west=p.toDegrees(o.west),o.south=p.toDegrees(o.south),o.east=p.toDegrees(o.east),o.north=p.toDegrees(o.north),o};rt.prototype.tileXYToRectangle=function(e,i,r,n){let o=this._rectangle,a=this.getNumberOfXTilesAtLevel(r),c=this.getNumberOfYTilesAtLevel(r),l=o.width/a,s=e*l+o.west,d=(e+1)*l+o.west,h=o.height/c,N=o.north-i*h,S=o.north-(i+1)*h;return g(n)||(n=new U(s,S,d,N)),n.west=s,n.south=S,n.east=d,n.north=N,n};rt.prototype.positionToTileXY=function(e,i,r){let n=this._rectangle;if(!U.contains(n,e))return;let o=this.getNumberOfXTilesAtLevel(i),a=this.getNumberOfYTilesAtLevel(i),c=n.width/o,l=n.height/a,s=e.longitude;n.east<n.west&&(s+=p.TWO_PI);let d=(s-n.west)/c|0;d>=o&&(d=o-1);let h=(n.north-e.latitude)/l|0;return h>=a&&(h=a-1),g(r)?(r.x=d,r.y=h,r):new Pt(d,h)};var De=rt;var Ie=new t,He=new t,ke=new u,ee=new t,hn=new t,ye=new G,pn=new De,Lt=[new u,new u,new u,new u],Ot=new Pt,w={};w.initialize=function(){let e=w._initPromise;return g(e)||(e=xe.fetchJson(Ne("Assets/approximateTerrainHeights.json")).then(function(i){w._terrainHeights=i}),w._initPromise=e),e};w.getMinimumMaximumHeights=function(e,i){if(et.defined("rectangle",e),!g(w._terrainHeights))throw new St("You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function");i=O(i,z.default);let r=Ae(e),n=w._defaultMinTerrainHeight,o=w._defaultMaxTerrainHeight;if(g(r)){let a=`${r.level}-${r.x}-${r.y}`,c=w._terrainHeights[a];g(c)&&(n=c[0],o=c[1]),i.cartographicToCartesian(U.northeast(e,ke),Ie),i.cartographicToCartesian(U.southwest(e,ke),He),t.midpoint(He,Ie,ee);let l=i.scaleToGeodeticSurface(ee,hn);if(g(l)){let s=t.distance(ee,l);n=Math.min(n,-s)}else n=w._defaultMinTerrainHeight}return n=Math.max(w._defaultMinTerrainHeight,n),{minimumTerrainHeight:n,maximumTerrainHeight:o}};w.getBoundingSphere=function(e,i){if(et.defined("rectangle",e),!g(w._terrainHeights))throw new St("You must call ApproximateTerrainHeights.initialize and wait for the promise to resolve before using this function");i=O(i,z.default);let r=Ae(e),n=w._defaultMaxTerrainHeight;if(g(r)){let a=`${r.level}-${r.x}-${r.y}`,c=w._terrainHeights[a];g(c)&&(n=c[1])}let o=G.fromRectangle3D(e,i,0);return G.fromRectangle3D(e,i,n,ye),G.union(o,ye,o)};function Ae(e){u.fromRadians(e.east,e.north,0,Lt[0]),u.fromRadians(e.west,e.north,0,Lt[1]),u.fromRadians(e.east,e.south,0,Lt[2]),u.fromRadians(e.west,e.south,0,Lt[3]);let i=0,r=0,n=0,o=0,a=w._terrainHeightsMaxLevel,c;for(c=0;c<=a;++c){let l=!1;for(let s=0;s<4;++s){let d=Lt[s];if(pn.positionToTileXY(d,c,Ot),s===0)n=Ot.x,o=Ot.y;else if(n!==Ot.x||o!==Ot.y){l=!0;break}}if(l)break;i=n,r=o}if(c!==0)return{x:i,y:r,level:c>a?a:c-1}}w._terrainHeightsMaxLevel=6;w._defaultMaxTerrainHeight=9e3;w._defaultMinTerrainHeight=-1e5;w._terrainHeights=void 0;w._initPromise=void 0;Object.defineProperties(w,{initialized:{get:function(){return g(w._terrainHeights)}}});var Xt=w;var le=[bt,_e],dn=le.length,Ke=Math.cos(p.toRadians(30)),Me=Math.cos(p.toRadians(150)),Qe=0,tn=1e3;function ct(e){e=O(e,O.EMPTY_OBJECT);let i=e.positions;if(!g(i)||i.length<2)throw new St("At least two positions are required.");if(g(e.arcType)&&e.arcType!==Z.GEODESIC&&e.arcType!==Z.RHUMB)throw new St("Valid options for arcType are ArcType.GEODESIC and ArcType.RHUMB.");this.width=O(e.width,1),this._positions=i,this.granularity=O(e.granularity,9999),this.loop=O(e.loop,!1),this.arcType=O(e.arcType,Z.GEODESIC),this._ellipsoid=z.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(ct.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+z.packedLength+1+1}}});ct.setProjectionAndEllipsoid=function(e,i){let r=0;for(let n=0;n<dn;n++)if(i instanceof le[n]){r=n;break}e._projectionIndex=r,e._ellipsoid=i.ellipsoid};var fn=new t,Re=new t,Pe=new t;function se(e,i,r,n,o){let a=P(n,e,0,fn),c=P(n,e,r,Re),l=P(n,i,0,Pe),s=nt(c,a,Re),d=nt(l,a,Pe);return t.cross(d,s,o),t.normalize(o,o)}var mn=new u,gn=new t,un=new t,wn=new t;function ne(e,i,r,n,o,a,c,l,s,d,h){if(o===0)return;let N;a===Z.GEODESIC?N=new Oe(e,i,c):a===Z.RHUMB&&(N=new te(e,i,c));let S=N.surfaceDistance;if(S<o)return;let R=se(e,i,n,c,wn),D=Math.ceil(S/o),I=S/D,j=I,q=D-1,f=l.length;for(let X=0;X<q;X++){let v=N.interpolateUsingSurfaceDistance(j,mn),y=P(c,v,r,gn),H=P(c,v,n,un);t.pack(R,l,f),t.pack(y,s,f),t.pack(H,d,f),h.push(v.latitude),h.push(v.longitude),f+=3,j+=I}}var oe=new u;function P(e,i,r,n){return u.clone(i,oe),oe.height=r,u.toCartesian(oe,e,n)}ct.pack=function(e,i,r){et.typeOf.object("value",e),et.defined("array",i);let n=O(r,0),o=e._positions,a=o.length;i[n++]=a;for(let c=0;c<a;++c){let l=o[c];t.pack(l,i,n),n+=3}return i[n++]=e.granularity,i[n++]=e.loop?1:0,i[n++]=e.arcType,z.pack(e._ellipsoid,i,n),n+=z.packedLength,i[n++]=e._projectionIndex,i[n++]=e._scene3DOnly?1:0,i};ct.unpack=function(e,i,r){et.defined("array",e);let n=O(i,0),o=e[n++],a=new Array(o);for(let S=0;S<o;S++)a[S]=t.unpack(e,n),n+=3;let c=e[n++],l=e[n++]===1,s=e[n++],d=z.unpack(e,n);n+=z.packedLength;let h=e[n++],N=e[n++]===1;return g(r)||(r=new ct({positions:a})),r._positions=a,r.granularity=c,r.loop=l,r.arcType=s,r._ellipsoid=d,r._projectionIndex=h,r._scene3DOnly=N,r};function nt(e,i,r){return t.subtract(e,i,r),t.normalize(r,r),r}function be(e,i,r,n){return n=nt(e,i,n),n=t.cross(n,r,n),n=t.normalize(n,n),n=t.cross(r,n,n),n}var Sn=new t,Tn=new t,En=new t,en=new t,xn=0,Nn=-1;function ie(e,i,r,n,o){let a=nt(r,i,en),c=be(e,i,a,Sn),l=be(n,i,a,Tn);if(p.equalsEpsilon(t.dot(c,l),Nn,p.EPSILON5))return o=t.cross(a,c,o),o=t.normalize(o,o),o;o=t.add(l,c,o),o=t.normalize(o,o);let s=t.cross(a,o,En);return t.dot(l,s)<xn&&(o=t.negate(o,o)),o}var Gt=jt.fromPointNormal(t.ZERO,t.UNIT_Y),Cn=new t,_n=new t,Ln=new t,On=new t,Dn=new t,Yt=new t,Ft=new u,ve=new u,Be=new u;ct.createGeometry=function(e){let i=!e._scene3DOnly,r=e.loop,n=e._ellipsoid,o=e.granularity,a=e.arcType,c=new le[e._projectionIndex](n),l=Qe,s=tn,d,h,N=e._positions,S=N.length;S===2&&(r=!1);let R,D,I,j,q=new te(void 0,void 0,n),f,X,v,y=[N[0]];for(h=0;h<S-1;h++)R=N[h],D=N[h+1],f=Qt.lineSegmentPlane(R,D,Gt,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&(e.arcType===Z.GEODESIC?y.push(t.clone(f)):e.arcType===Z.RHUMB&&(v=n.cartesianToCartographic(f,Ft).longitude,I=n.cartesianToCartographic(R,Ft),j=n.cartesianToCartographic(D,ve),q.setEndPoints(I,j),X=q.findIntersectionWithLongitude(v,Be),f=n.cartographicToCartesian(X,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&y.push(t.clone(f)))),y.push(D);r&&(R=N[S-1],D=N[0],f=Qt.lineSegmentPlane(R,D,Gt,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&(e.arcType===Z.GEODESIC?y.push(t.clone(f)):e.arcType===Z.RHUMB&&(v=n.cartesianToCartographic(f,Ft).longitude,I=n.cartesianToCartographic(R,Ft),j=n.cartesianToCartographic(D,ve),q.setEndPoints(I,j),X=q.findIntersectionWithLongitude(v,Be),f=n.cartographicToCartesian(X,Yt),g(f)&&!t.equalsEpsilon(f,R,p.EPSILON7)&&!t.equalsEpsilon(f,D,p.EPSILON7)&&y.push(t.clone(f)))));let H=y.length,C=new Array(H);for(h=0;h<H;h++){let F=u.fromCartesian(y[h],n);F.height=0,C[h]=F}if(C=Le(C,u.equalsEpsilon),H=C.length,H<2)return;let k=[],b=[],B=[],E=[],x=Cn,L=_n,_=Ln,Y=On,A=Dn,m=C[0],V=C[1],It=C[H-1];for(x=P(n,It,l,x),Y=P(n,V,l,Y),L=P(n,m,l,L),_=P(n,m,s,_),r?A=ie(x,L,_,Y,A):A=se(m,V,s,n,A),t.pack(A,b,0),t.pack(L,B,0),t.pack(_,E,0),k.push(m.latitude),k.push(m.longitude),ne(m,V,l,s,o,a,n,b,B,E,k),h=1;h<H-1;++h){x=t.clone(L,x),L=t.clone(Y,L);let F=C[h];P(n,F,s,_),P(n,C[h+1],l,Y),ie(x,L,_,Y,A),d=b.length,t.pack(A,b,d),t.pack(L,B,d),t.pack(_,E,d),k.push(F.latitude),k.push(F.longitude),ne(C[h],C[h+1],l,s,o,a,n,b,B,E,k)}let M=C[H-1],Tt=C[H-2];if(L=P(n,M,l,L),_=P(n,M,s,_),r){let F=C[0];x=P(n,Tt,l,x),Y=P(n,F,l,Y),A=ie(x,L,_,Y,A)}else A=se(Tt,M,s,n,A);if(d=b.length,t.pack(A,b,d),t.pack(L,B,d),t.pack(_,E,d),k.push(M.latitude),k.push(M.longitude),r){for(ne(M,m,l,s,o,a,n,b,B,E,k),d=b.length,h=0;h<3;++h)b[d+h]=b[h],B[d+h]=B[h],E[d+h]=E[h];k.push(m.latitude),k.push(m.longitude)}return Qn(r,c,B,E,b,k,i)};var In=new t,Hn=new vt,kn=new Kt;function ze(e,i,r,n){let o=nt(r,i,In),a=t.dot(o,e);if(a>Ke||a<Me){let c=nt(n,r,en),l=a<Me?p.PI_OVER_TWO:-p.PI_OVER_TWO,s=Kt.fromAxisAngle(c,l,kn),d=vt.fromQuaternion(s,Hn);return vt.multiplyByVector(d,e,e),!0}return!1}var je=new u,yn=new t,Xe=new t;function Dt(e,i,r,n,o){let a=u.toCartesian(i,e._ellipsoid,yn),c=t.add(a,r,Xe),l=!1,s=e._ellipsoid,d=s.cartesianToCartographic(c,je);Math.abs(i.longitude-d.longitude)>p.PI_OVER_TWO&&(l=!0,c=t.subtract(a,r,Xe),d=s.cartesianToCartographic(c,je)),d.height=0;let h=e.project(d,o);return o=t.subtract(h,n,o),o.z=0,o=t.normalize(o,o),l&&t.negate(o,o),o}var An=new t,Ye=new t;function Fe(e,i,r,n,o,a){let c=t.subtract(i,e,An);t.normalize(c,c);let l=r-Qe,s=t.multiplyByScalar(c,l,Ye);t.add(e,s,o);let d=n-tn;s=t.multiplyByScalar(c,d,Ye),t.add(i,s,a)}var Mn=new t;function Ut(e,i){let r=jt.getPointDistance(Gt,e),n=jt.getPointDistance(Gt,i),o=Mn;p.equalsEpsilon(r,0,p.EPSILON2)?(o=nt(i,e,o),t.multiplyByScalar(o,p.EPSILON2,o),t.add(e,o,e)):p.equalsEpsilon(n,0,p.EPSILON2)&&(o=nt(e,i,o),t.multiplyByScalar(o,p.EPSILON2,o),t.add(i,o,i))}function Rn(e,i){let r=Math.abs(e.longitude),n=Math.abs(i.longitude);if(p.equalsEpsilon(r,p.PI,p.EPSILON11)){let o=p.sign(i.longitude);return e.longitude=o*(r-p.EPSILON11),1}else if(p.equalsEpsilon(n,p.PI,p.EPSILON11)){let o=p.sign(e.longitude);return i.longitude=o*(n-p.EPSILON11),2}return 0}var nn=new u,on=new u,Ue=new t,re=new t,Ge=new t,qe=new t,Pn=new t,We=new t,bn=[nn,on],vn=new U,Bn=new t,zn=new t,jn=new t,Xn=new t,Yn=new t,Fn=new t,ae=new t,ce=new t,Un=new t,Gn=new t,qn=new t,Ze=new t,Wn=new t,Zn=new t,Vn=new _t,$n=new _t,Ve=new t,Jn=new t,$e=new t,Kn=[new G,new G],rn=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],Je=rn.length;function Qn(e,i,r,n,o,a,c){let l,s,d=i._ellipsoid,h=r.length/3-1,N=h*8,S=N*4,R=h*36,D=N>65535?new Uint32Array(R):new Uint16Array(R),I=new Float64Array(N*3),j=new Float32Array(S),q=new Float32Array(S),f=new Float32Array(S),X=new Float32Array(S),v=new Float32Array(S),y,H,C,k;c&&(y=new Float32Array(S),H=new Float32Array(S),C=new Float32Array(S),k=new Float32Array(N*2));let b=a.length/2,B=0,E=nn;E.height=0;let x=on;x.height=0;let L=Ue,_=re;if(c)for(s=0,l=1;l<b;l++)E.latitude=a[s],E.longitude=a[s+1],x.latitude=a[s+2],x.longitude=a[s+3],L=i.project(E,L),_=i.project(x,_),B+=t.distance(L,_),s+=2;let Y=n.length/3;_=t.unpack(n,0,_);let A=0;for(s=3,l=1;l<Y;l++)L=t.clone(_,L),_=t.unpack(n,s,_),A+=t.distance(L,_),s+=3;let m;s=3;let V=0,It=0,M=0,Tt=0,F=!1,st=t.unpack(r,0,qe),lt=t.unpack(n,0,re),W=t.unpack(o,0,We);if(e){let ht=t.unpack(r,r.length-6,Ge);ze(W,ht,st,lt)&&(W=t.negate(W,W))}let pe=0,de=0,qt=0;for(l=0;l<h;l++){let ht=t.clone(st,Ge),Zt=t.clone(lt,Ue),mt=t.clone(W,Pn);F&&(mt=t.negate(mt,mt)),st=t.unpack(r,s,qe),lt=t.unpack(n,s,re),W=t.unpack(o,s,We),F=ze(W,ht,st,lt),E.latitude=a[V],E.longitude=a[V+1],x.latitude=a[V+2],x.longitude=a[V+3];let pt,gt,ot,it;if(c){let T=Rn(E,x);pt=i.project(E,Yn),gt=i.project(x,Fn);let wt=nt(gt,pt,Ve);wt.y=Math.abs(wt.y),ot=ae,it=ce,T===0||t.dot(wt,t.UNIT_Y)>Ke?(ot=Dt(i,E,mt,pt,ae),it=Dt(i,x,W,gt,ce)):T===1?(it=Dt(i,x,W,gt,ce),ot.x=0,ot.y=p.sign(E.longitude-Math.abs(x.longitude)),ot.z=0):(ot=Dt(i,E,mt,pt,ae),it.x=0,it.y=p.sign(E.longitude-x.longitude),it.z=0)}let ge=t.distance(Zt,lt),ue=_t.fromCartesian(ht,Vn),Ht=t.subtract(st,ht,Un),an=t.normalize(Ht,Ze),xt=t.subtract(Zt,ht,Gn);xt=t.normalize(xt,xt);let ut=t.cross(an,xt,Ze);ut=t.normalize(ut,ut);let kt=t.cross(xt,mt,Wn);kt=t.normalize(kt,kt);let yt=t.subtract(lt,st,qn);yt=t.normalize(yt,yt);let At=t.cross(W,yt,Zn);At=t.normalize(At,At);let cn=ge/A,sn=pe/A,Vt=0,Nt,Mt,dt,we=0,Se=0;if(c){Vt=t.distance(pt,gt),Nt=_t.fromCartesian(pt,$n),Mt=t.subtract(gt,pt,Ve),dt=t.normalize(Mt,Jn);let T=dt.x;dt.x=dt.y,dt.y=-T,we=Vt/B,Se=de/B}for(m=0;m<8;m++){let T=Tt+m*4,wt=It+m*2,Ct=T+3,Ee=m<4?1:-1,Rt=m===2||m===3||m===6||m===7?1:-1;t.pack(ue.high,j,T),j[Ct]=Ht.x,t.pack(ue.low,q,T),q[Ct]=Ht.y,t.pack(kt,f,T),f[Ct]=Ht.z,t.pack(At,X,T),X[Ct]=cn*Ee,t.pack(ut,v,T);let ft=sn*Rt;ft===0&&Rt<0&&(ft=9),v[Ct]=ft,c&&(y[T]=Nt.high.x,y[T+1]=Nt.high.y,y[T+2]=Nt.low.x,y[T+3]=Nt.low.y,C[T]=-ot.y,C[T+1]=ot.x,C[T+2]=it.y,C[T+3]=-it.x,H[T]=Mt.x,H[T+1]=Mt.y,H[T+2]=dt.x,H[T+3]=dt.y,k[wt]=we*Ee,ft=Se*Rt,ft===0&&Rt<0&&(ft=9),k[wt+1]=ft)}let $=jn,J=Xn,K=Bn,Q=zn,ln=U.fromCartographicArray(bn,vn),Te=Xt.getMinimumMaximumHeights(ln,d),$t=Te.minimumTerrainHeight,Jt=Te.maximumTerrainHeight;qt+=Math.abs($t),qt+=Math.abs(Jt),Fe(ht,Zt,$t,Jt,$,K),Fe(st,lt,$t,Jt,J,Q);let tt=t.multiplyByScalar(ut,p.EPSILON5,$e);t.add($,tt,$),t.add(J,tt,J),t.add(K,tt,K),t.add(Q,tt,Q),Ut($,J),Ut(K,Q),t.pack($,I,M),t.pack(J,I,M+3),t.pack(Q,I,M+6),t.pack(K,I,M+9),tt=t.multiplyByScalar(ut,-2*p.EPSILON5,$e),t.add($,tt,$),t.add(J,tt,J),t.add(K,tt,K),t.add(Q,tt,Q),Ut($,J),Ut(K,Q),t.pack($,I,M+12),t.pack(J,I,M+15),t.pack(Q,I,M+18),t.pack(K,I,M+21),V+=2,s+=3,It+=16,M+=24,Tt+=32,pe+=ge,de+=Vt}s=0;let fe=0;for(l=0;l<h;l++){for(m=0;m<Je;m++)D[s+m]=rn[m]+fe;fe+=8,s+=Je}let Wt=Kn;G.fromVertices(r,t.ZERO,3,Wt[0]),G.fromVertices(n,t.ZERO,3,Wt[1]);let me=G.fromBoundingSpheres(Wt);me.radius+=qt/(h*2);let Et={position:new zt({componentDatatype:Bt.DOUBLE,componentsPerAttribute:3,normalize:!1,values:I}),startHiAndForwardOffsetX:at(j),startLoAndForwardOffsetY:at(q),startNormalAndForwardOffsetZ:at(f),endNormalAndTextureCoordinateNormalizationX:at(X),rightNormalAndTextureCoordinateNormalizationY:at(v)};return c&&(Et.startHiLo2D=at(y),Et.offsetAndRight2D=at(H),Et.startEndNormals2D=at(C),Et.texcoordNormalization2D=new zt({componentDatatype:Bt.FLOAT,componentsPerAttribute:2,normalize:!1,values:k})),new Ce({attributes:Et,indices:D,boundingSphere:me})}function at(e){return new zt({componentDatatype:Bt.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}ct._projectNormal=Dt;var he=ct;function to(e,i){return Xt.initialize().then(function(){return g(i)&&(e=he.unpack(e,i)),he.createGeometry(e)})}var ti=to;export{ti as default}; diff --git a/public/lib/Cesium/Workers/createPlaneGeometry.js b/public/lib/Cesium/Workers/createPlaneGeometry.js index ae2e22805..48dd1ad5f 100644 --- a/public/lib/Cesium/Workers/createPlaneGeometry.js +++ b/public/lib/Cesium/Workers/createPlaneGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as m}from"./chunk-6YAFAZVV.js";import{a as b}from"./chunk-WFZLZ2P5.js";import{b as v,c as x,d as p}from"./chunk-CTEHZS7O.js";import{d as A}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as c}from"./chunk-27UWHT4D.js";import{a as y}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as i}from"./chunk-6KLVDWWE.js";import{b as u}from"./chunk-6P5KAIBX.js";import{e as f}from"./chunk-4FSVUTPL.js";function s(r){r=i(r,i.EMPTY_OBJECT);let e=i(r.vertexFormat,m.DEFAULT);this._vertexFormat=e,this._workerName="createPlaneGeometry"}s.packedLength=m.packedLength;s.pack=function(r,e,o){return u.typeOf.object("value",r),u.defined("array",e),o=i(o,0),m.pack(r._vertexFormat,e,o),e};var d=new m,P={vertexFormat:d};s.unpack=function(r,e,o){u.defined("array",r),e=i(e,0);let a=m.unpack(r,e,d);return f(o)?(o._vertexFormat=m.clone(a,o._vertexFormat),o):new s(P)};var F=new y(-.5,-.5,0),l=new y(.5,.5,0);s.createGeometry=function(r){let e=r._vertexFormat,o=new b,a,n;if(e.position){if(n=new Float64Array(4*3),n[0]=F.x,n[1]=F.y,n[2]=0,n[3]=l.x,n[4]=F.y,n[5]=0,n[6]=l.x,n[7]=l.y,n[8]=0,n[9]=F.x,n[10]=l.y,n[11]=0,o.position=new p({componentDatatype:c.DOUBLE,componentsPerAttribute:3,values:n}),e.normal){let t=new Float32Array(12);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=1,t[9]=0,t[10]=0,t[11]=1,o.normal=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}if(e.st){let t=new Float32Array(8);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=1,t[5]=1,t[6]=0,t[7]=1,o.st=new p({componentDatatype:c.FLOAT,componentsPerAttribute:2,values:t})}if(e.tangent){let t=new Float32Array(12);t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=1,t[7]=0,t[8]=0,t[9]=1,t[10]=0,t[11]=0,o.tangent=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}if(e.bitangent){let t=new Float32Array(12);t[0]=0,t[1]=1,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=1,t[8]=0,t[9]=0,t[10]=1,t[11]=0,o.bitangent=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}a=new Uint16Array(2*3),a[0]=0,a[1]=1,a[2]=2,a[3]=0,a[4]=2,a[5]=3}return new x({attributes:o,indices:a,primitiveType:v.TRIANGLES,boundingSphere:new A(y.ZERO,Math.sqrt(2))})};var w=s;function h(r,e){return f(e)&&(r=w.unpack(r,e)),w.createGeometry(r)}var M=h;export{M as default}; +import{a as m}from"./chunk-RPAJTIFB.js";import{a as b}from"./chunk-E2XIHPTZ.js";import{b as v,c as x,d as p}from"./chunk-72NMS5KE.js";import{d as A}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as c}from"./chunk-GNTVNTUY.js";import{a as y}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as i}from"./chunk-CJFJKB5V.js";import{b as u}from"./chunk-4BGNE6LH.js";import{e as f}from"./chunk-OX5CTLXY.js";function s(r){r=i(r,i.EMPTY_OBJECT);let e=i(r.vertexFormat,m.DEFAULT);this._vertexFormat=e,this._workerName="createPlaneGeometry"}s.packedLength=m.packedLength;s.pack=function(r,e,o){return u.typeOf.object("value",r),u.defined("array",e),o=i(o,0),m.pack(r._vertexFormat,e,o),e};var d=new m,P={vertexFormat:d};s.unpack=function(r,e,o){u.defined("array",r),e=i(e,0);let a=m.unpack(r,e,d);return f(o)?(o._vertexFormat=m.clone(a,o._vertexFormat),o):new s(P)};var F=new y(-.5,-.5,0),l=new y(.5,.5,0);s.createGeometry=function(r){let e=r._vertexFormat,o=new b,a,n;if(e.position){if(n=new Float64Array(4*3),n[0]=F.x,n[1]=F.y,n[2]=0,n[3]=l.x,n[4]=F.y,n[5]=0,n[6]=l.x,n[7]=l.y,n[8]=0,n[9]=F.x,n[10]=l.y,n[11]=0,o.position=new p({componentDatatype:c.DOUBLE,componentsPerAttribute:3,values:n}),e.normal){let t=new Float32Array(12);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=1,t[9]=0,t[10]=0,t[11]=1,o.normal=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}if(e.st){let t=new Float32Array(8);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=1,t[5]=1,t[6]=0,t[7]=1,o.st=new p({componentDatatype:c.FLOAT,componentsPerAttribute:2,values:t})}if(e.tangent){let t=new Float32Array(12);t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=1,t[7]=0,t[8]=0,t[9]=1,t[10]=0,t[11]=0,o.tangent=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}if(e.bitangent){let t=new Float32Array(12);t[0]=0,t[1]=1,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=1,t[8]=0,t[9]=0,t[10]=1,t[11]=0,o.bitangent=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}a=new Uint16Array(2*3),a[0]=0,a[1]=1,a[2]=2,a[3]=0,a[4]=2,a[5]=3}return new x({attributes:o,indices:a,primitiveType:v.TRIANGLES,boundingSphere:new A(y.ZERO,Math.sqrt(2))})};var w=s;function h(r,e){return f(e)&&(r=w.unpack(r,e)),w.createGeometry(r)}var M=h;export{M as default}; diff --git a/public/lib/Cesium/Workers/createPlaneOutlineGeometry.js b/public/lib/Cesium/Workers/createPlaneOutlineGeometry.js index ca40efef1..d2287f39b 100644 --- a/public/lib/Cesium/Workers/createPlaneOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createPlaneOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as l}from"./chunk-WFZLZ2P5.js";import{b as d,c as y,d as s}from"./chunk-CTEHZS7O.js";import{d as c}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as f}from"./chunk-27UWHT4D.js";import{a}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import{b as m}from"./chunk-6P5KAIBX.js";import{e as i}from"./chunk-4FSVUTPL.js";function o(){this._workerName="createPlaneOutlineGeometry"}o.packedLength=0;o.pack=function(r,e){return m.defined("value",r),m.defined("array",e),e};o.unpack=function(r,e,t){return m.defined("array",r),i(t)?t:new o};var n=new a(-.5,-.5,0),p=new a(.5,.5,0);o.createGeometry=function(){let r=new l,e=new Uint16Array(4*2),t=new Float64Array(4*3);return t[0]=n.x,t[1]=n.y,t[2]=n.z,t[3]=p.x,t[4]=n.y,t[5]=n.z,t[6]=p.x,t[7]=p.y,t[8]=n.z,t[9]=n.x,t[10]=p.y,t[11]=n.z,r.position=new s({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:t}),e[0]=0,e[1]=1,e[2]=1,e[3]=2,e[4]=2,e[5]=3,e[6]=3,e[7]=0,new y({attributes:r,indices:e,primitiveType:d.LINES,boundingSphere:new c(a.ZERO,Math.sqrt(2))})};var u=o;function w(r,e){return i(e)&&(r=u.unpack(r,e)),u.createGeometry(r)}var D=w;export{D as default}; +import{a as l}from"./chunk-E2XIHPTZ.js";import{b as d,c as y,d as s}from"./chunk-72NMS5KE.js";import{d as c}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as f}from"./chunk-GNTVNTUY.js";import{a}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import{b as m}from"./chunk-4BGNE6LH.js";import{e as i}from"./chunk-OX5CTLXY.js";function o(){this._workerName="createPlaneOutlineGeometry"}o.packedLength=0;o.pack=function(r,e){return m.defined("value",r),m.defined("array",e),e};o.unpack=function(r,e,t){return m.defined("array",r),i(t)?t:new o};var n=new a(-.5,-.5,0),p=new a(.5,.5,0);o.createGeometry=function(){let r=new l,e=new Uint16Array(4*2),t=new Float64Array(4*3);return t[0]=n.x,t[1]=n.y,t[2]=n.z,t[3]=p.x,t[4]=n.y,t[5]=n.z,t[6]=p.x,t[7]=p.y,t[8]=n.z,t[9]=n.x,t[10]=p.y,t[11]=n.z,r.position=new s({componentDatatype:f.DOUBLE,componentsPerAttribute:3,values:t}),e[0]=0,e[1]=1,e[2]=1,e[3]=2,e[4]=2,e[5]=3,e[6]=3,e[7]=0,new y({attributes:r,indices:e,primitiveType:d.LINES,boundingSphere:new c(a.ZERO,Math.sqrt(2))})};var u=o;function w(r,e){return i(e)&&(r=u.unpack(r,e)),u.createGeometry(r)}var D=w;export{D as default}; diff --git a/public/lib/Cesium/Workers/createPolygonGeometry.js b/public/lib/Cesium/Workers/createPolygonGeometry.js index 7c984dafa..dfaddd938 100644 --- a/public/lib/Cesium/Workers/createPolygonGeometry.js +++ b/public/lib/Cesium/Workers/createPolygonGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as dt}from"./chunk-3U6PIWIV.js";import{a as F}from"./chunk-A6IU7XS3.js";import{a as at}from"./chunk-6X7WLTTW.js";import{a as st}from"./chunk-YGSEQ273.js";import{a as bt}from"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import{a as ht}from"./chunk-IFAARW2T.js";import{a as Q}from"./chunk-6YAFAZVV.js";import{a as K}from"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import{a as gt,b as nt}from"./chunk-542N7J5N.js";import"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import{a as wt,b as yt}from"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as lt}from"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import{c as mt,d as tt}from"./chunk-CTEHZS7O.js";import{d as Tt}from"./chunk-4TXI27XR.js";import{f as ct,i as _t}from"./chunk-GFUBU5RD.js";import{a as $}from"./chunk-27UWHT4D.js";import{a as c,b as ot,c as O,d as V,e as U}from"./chunk-RFPX772U.js";import{a as l}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as L}from"./chunk-6KLVDWWE.js";import{a as ut,b as q}from"./chunk-6P5KAIBX.js";import{e as P}from"./chunk-4FSVUTPL.js";function b(t,e){this.position=t,P(this.position)||(this.position=new O),this.tangentPlane=e,P(this.tangentPlane)||(this.tangentPlane=b.NORTH_POLE_TANGENT_PLANE)}Object.defineProperties(b.prototype,{ellipsoid:{get:function(){return this.tangentPlane.ellipsoid}},x:{get:function(){return this.position.x}},y:{get:function(){return this.position.y}},conformalLatitude:{get:function(){let t=O.magnitude(this.position),e=2*this.ellipsoid.maximumRadius;return this.tangentPlane.plane.normal.z*(l.PI_OVER_TWO-2*Math.atan2(t,e))}},longitude:{get:function(){let t=l.PI_OVER_TWO+Math.atan2(this.y,this.x);return t>Math.PI&&(t-=l.TWO_PI),t}}});var it=new ot,Rt=new c;b.prototype.getLatitude=function(t){P(t)||(t=V.default),it.latitude=this.conformalLatitude,it.longitude=this.longitude,it.height=0;let e=this.ellipsoid.cartographicToCartesian(it,Rt);return t.cartesianToCartographic(e,it),it.latitude};var It=new wt,Lt=new c,Ft=new c;b.fromCartesian=function(t,e){q.defined("cartesian",t);let o=l.signNotZero(t.z),n=b.NORTH_POLE_TANGENT_PLANE,s=b.SOUTH_POLE;o<0&&(n=b.SOUTH_POLE_TANGENT_PLANE,s=b.NORTH_POLE);let i=It;i.origin=n.ellipsoid.scaleToGeocentricSurface(t,i.origin),i.direction=c.subtract(i.origin,s,Lt),c.normalize(i.direction,i.direction);let r=yt.rayPlane(i,n.plane,Ft),f=c.subtract(r,s,r),d=c.dot(n.xAxis,f),p=o*c.dot(n.yAxis,f);return P(e)?(e.position=new O(d,p),e.tangentPlane=n,e):new b(new O(d,p),n)};b.fromCartesianArray=function(t,e){q.defined("cartesians",t);let o=t.length;P(e)?e.length=o:e=new Array(o);for(let n=0;n<o;n++)e[n]=b.fromCartesian(t[n],e[n]);return e};b.clone=function(t,e){if(P(t))return P(e)?(e.position=t.position,e.tangentPlane=t.tangentPlane,e):new b(t.position,t.tangentPlane)};b.HALF_UNIT_SPHERE=Object.freeze(new V(.5,.5,.5));b.NORTH_POLE=Object.freeze(new c(0,0,.5));b.SOUTH_POLE=Object.freeze(new c(0,0,-.5));b.NORTH_POLE_TANGENT_PLANE=Object.freeze(new K(b.NORTH_POLE,b.HALF_UNIT_SPHERE));b.SOUTH_POLE_TANGENT_PLANE=Object.freeze(new K(b.SOUTH_POLE,b.HALF_UNIT_SPHERE));var D=b;var vt=new ot,Ot=new ot;function St(t,e,o,n){let i=n.cartesianToCartographic(t,vt).height,r=n.cartesianToCartographic(e,Ot);r.height=i,n.cartographicToCartesian(r,e);let f=n.cartesianToCartographic(o,Ot);f.height=i-100,n.cartographicToCartesian(f,o)}var Et=new dt,Vt=new c,Bt=new c,Mt=new c,jt=new c,kt=new c,zt=new c,ft=new c,Z=new c,rt=new c,Dt=new O,Ut=new O,Wt=new c,At=new ct,Gt=new U,Yt=new U;function pt(t){let e=t.vertexFormat,o=t.geometry,n=t.shadowVolume,s=o.attributes.position.values,i=P(o.attributes.st)?o.attributes.st.values:void 0,r=s.length,f=t.wall,d=t.top||f,p=t.bottom||f;if(e.st||e.normal||e.tangent||e.bitangent||n){let w=t.boundingRectangle,a=t.rotationAxis,H=t.projectTo2d,x=t.ellipsoid,j=t.stRotation,C=t.perPositionHeight,R=Dt;R.x=w.x,R.y=w.y;let B=e.st?new Float32Array(2*(r/3)):void 0,u;e.normal&&(C&&d&&!f?u=o.attributes.normal.values:u=new Float32Array(r));let E=e.tangent?new Float32Array(r):void 0,A=e.bitangent?new Float32Array(r):void 0,v=n?new Float32Array(r):void 0,T=0,y=0,_=Bt,h=Mt,g=jt,k=!0,Y=Gt,J=Yt;if(j!==0){let M=ct.fromAxisAngle(a,j,At);Y=U.fromQuaternion(M,Y),M=ct.fromAxisAngle(a,-j,At),J=U.fromQuaternion(M,J)}else Y=U.clone(U.IDENTITY,Y),J=U.clone(U.IDENTITY,J);let m=0,I=0;d&&p&&(m=r/2,I=r/3,r/=2);for(let M=0;M<r;M+=3){let z=c.fromArray(s,M,Wt);if(e.st&&!P(i)){let N=U.multiplyByVector(Y,z,Vt);N=x.scaleToGeodeticSurface(N,N);let S=H([N],Ut)[0];O.subtract(S,R,S);let X=l.clamp(S.x/w.width,0,1),et=l.clamp(S.y/w.height,0,1);p&&(B[T+I]=X,B[T+1+I]=et),d&&(B[T]=X,B[T+1]=et),T+=2}if(e.normal||e.tangent||e.bitangent||n){let N=y+1,S=y+2;if(f){if(M+3<r){let X=c.fromArray(s,M+3,kt);if(k){let et=c.fromArray(s,M+r,zt);C&&St(z,X,et,x),c.subtract(X,z,X),c.subtract(et,z,et),_=c.normalize(c.cross(et,X,_),_),k=!1}c.equalsEpsilon(X,z,l.EPSILON10)&&(k=!0)}(e.tangent||e.bitangent)&&(g=x.geodeticSurfaceNormal(z,g),e.tangent&&(h=c.normalize(c.cross(g,_,h),h)))}else _=x.geodeticSurfaceNormal(z,_),(e.tangent||e.bitangent)&&(C&&(ft=c.fromArray(u,y,ft),Z=c.cross(c.UNIT_Z,ft,Z),Z=c.normalize(U.multiplyByVector(J,Z,Z),Z),e.bitangent&&(rt=c.normalize(c.cross(ft,Z,rt),rt))),h=c.cross(c.UNIT_Z,_,h),h=c.normalize(U.multiplyByVector(J,h,h),h),e.bitangent&&(g=c.normalize(c.cross(_,h,g),g)));e.normal&&(t.wall?(u[y+m]=_.x,u[N+m]=_.y,u[S+m]=_.z):p&&(u[y+m]=-_.x,u[N+m]=-_.y,u[S+m]=-_.z),(d&&!C||f)&&(u[y]=_.x,u[N]=_.y,u[S]=_.z)),n&&(f&&(_=x.geodeticSurfaceNormal(z,_)),v[y+m]=-_.x,v[N+m]=-_.y,v[S+m]=-_.z),e.tangent&&(t.wall?(E[y+m]=h.x,E[N+m]=h.y,E[S+m]=h.z):p&&(E[y+m]=-h.x,E[N+m]=-h.y,E[S+m]=-h.z),d&&(C?(E[y]=Z.x,E[N]=Z.y,E[S]=Z.z):(E[y]=h.x,E[N]=h.y,E[S]=h.z))),e.bitangent&&(p&&(A[y+m]=g.x,A[N+m]=g.y,A[S+m]=g.z),d&&(C?(A[y]=rt.x,A[N]=rt.y,A[S]=rt.z):(A[y]=g.x,A[N]=g.y,A[S]=g.z))),y+=3}}e.st&&!P(i)&&(o.attributes.st=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:2,values:B})),e.normal&&(o.attributes.normal=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:u})),e.tangent&&(o.attributes.tangent=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:E})),e.bitangent&&(o.attributes.bitangent=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:A})),n&&(o.attributes.extrudeDirection=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:v}))}if(t.extrude&&P(t.offsetAttribute)){let w=s.length/3,a=new Uint8Array(w);if(t.offsetAttribute===ht.TOP)d&&p||f?a=a.fill(1,0,w/2):d&&(a=a.fill(1));else{let H=t.offsetAttribute===ht.NONE?0:1;a=a.fill(H)}o.attributes.applyOffset=new tt({componentDatatype:$.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})}return o}var Ht=[];function qt(t,e,o,n,s,i,r,f,d,p){let w={walls:[]},a;if(r||f){let u=F.createGeometryFromPositions(t,e,o,n,i,d,p),E=u.attributes.position.values,A=u.indices,v,T;if(r&&f){let y=E.concat(E);v=y.length/3,T=lt.createTypedArray(v,A.length*2),T.set(A);let _=A.length,h=v/2;for(a=0;a<_;a+=3){let g=T[a]+h,k=T[a+1]+h,Y=T[a+2]+h;T[a+_]=Y,T[a+1+_]=k,T[a+2+_]=g}if(u.attributes.position.values=y,i&&d.normal){let g=u.attributes.normal.values;u.attributes.normal.values=new Float32Array(y.length),u.attributes.normal.values.set(g)}if(d.st&&P(o)){let g=u.attributes.st.values;u.attributes.st.values=new Float32Array(v*2),u.attributes.st.values=g.concat(g)}u.indices=T}else if(f){for(v=E.length/3,T=lt.createTypedArray(v,A.length),a=0;a<A.length;a+=3)T[a]=A[a+2],T[a+1]=A[a+1],T[a+2]=A[a];u.indices=T}w.topAndBottom=new st({geometry:u})}let H=s.outerRing,x=K.fromPoints(H,t),j=x.projectPointsOntoPlane(H,Ht),C=nt.computeWindingOrder2D(j);C===gt.CLOCKWISE&&(H=H.slice().reverse());let R=F.computeWallGeometry(H,o,t,n,i,p);w.walls.push(new st({geometry:R}));let B=s.holes;for(a=0;a<B.length;a++){let u=B[a];j=x.projectPointsOntoPlane(u,Ht),C=nt.computeWindingOrder2D(j),C===gt.COUNTER_CLOCKWISE&&(u=u.slice().reverse()),R=F.computeWallGeometry(u,o,t,n,i,p),w.walls.push(new st({geometry:R}))}return w}function G(t){if(q.typeOf.object("options",t),q.typeOf.object("options.polygonHierarchy",t.polygonHierarchy),P(t.perPositionHeight)&&t.perPositionHeight&&P(t.height))throw new ut("Cannot use both options.perPositionHeight and options.height");if(P(t.arcType)&&t.arcType!==at.GEODESIC&&t.arcType!==at.RHUMB)throw new ut("Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.");let e=t.polygonHierarchy,o=L(t.vertexFormat,Q.DEFAULT),n=L(t.ellipsoid,V.default),s=L(t.granularity,l.RADIANS_PER_DEGREE),i=L(t.stRotation,0),r=t.textureCoordinates,f=L(t.perPositionHeight,!1),d=f&&P(t.extrudedHeight),p=L(t.height,0),w=L(t.extrudedHeight,p);if(!d){let a=Math.max(p,w);w=Math.min(p,w),p=a}this._vertexFormat=Q.clone(o),this._ellipsoid=V.clone(n),this._granularity=s,this._stRotation=i,this._height=p,this._extrudedHeight=w,this._closeTop=L(t.closeTop,!0),this._closeBottom=L(t.closeBottom,!0),this._polygonHierarchy=e,this._perPositionHeight=f,this._perPositionHeightExtrude=d,this._shadowVolume=L(t.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=t.offsetAttribute,this._arcType=L(t.arcType,at.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=r,this.packedLength=F.computeHierarchyPackedLength(e,c)+V.packedLength+Q.packedLength+(r?F.computeHierarchyPackedLength(r,O):1)+12}G.fromPositions=function(t){t=L(t,L.EMPTY_OBJECT),q.defined("options.positions",t.positions);let e={polygonHierarchy:{positions:t.positions},height:t.height,extrudedHeight:t.extrudedHeight,vertexFormat:t.vertexFormat,stRotation:t.stRotation,ellipsoid:t.ellipsoid,granularity:t.granularity,perPositionHeight:t.perPositionHeight,closeTop:t.closeTop,closeBottom:t.closeBottom,offsetAttribute:t.offsetAttribute,arcType:t.arcType,textureCoordinates:t.textureCoordinates};return new G(e)};G.pack=function(t,e,o){return q.typeOf.object("value",t),q.defined("array",e),o=L(o,0),o=F.packPolygonHierarchy(t._polygonHierarchy,e,o,c),V.pack(t._ellipsoid,e,o),o+=V.packedLength,Q.pack(t._vertexFormat,e,o),o+=Q.packedLength,e[o++]=t._height,e[o++]=t._extrudedHeight,e[o++]=t._granularity,e[o++]=t._stRotation,e[o++]=t._perPositionHeightExtrude?1:0,e[o++]=t._perPositionHeight?1:0,e[o++]=t._closeTop?1:0,e[o++]=t._closeBottom?1:0,e[o++]=t._shadowVolume?1:0,e[o++]=L(t._offsetAttribute,-1),e[o++]=t._arcType,P(t._textureCoordinates)?o=F.packPolygonHierarchy(t._textureCoordinates,e,o,O):e[o++]=-1,e[o++]=t.packedLength,e};var Qt=V.clone(V.UNIT_SPHERE),Zt=new Q,Kt={polygonHierarchy:{}};G.unpack=function(t,e,o){q.defined("array",t),e=L(e,0);let n=F.unpackPolygonHierarchy(t,e,c);e=n.startingIndex,delete n.startingIndex;let s=V.unpack(t,e,Qt);e+=V.packedLength;let i=Q.unpack(t,e,Zt);e+=Q.packedLength;let r=t[e++],f=t[e++],d=t[e++],p=t[e++],w=t[e++]===1,a=t[e++]===1,H=t[e++]===1,x=t[e++]===1,j=t[e++]===1,C=t[e++],R=t[e++],B=t[e]===-1?void 0:F.unpackPolygonHierarchy(t,e,O);P(B)?(e=B.startingIndex,delete B.startingIndex):e++;let u=t[e++];return P(o)||(o=new G(Kt)),o._polygonHierarchy=n,o._ellipsoid=V.clone(s,o._ellipsoid),o._vertexFormat=Q.clone(i,o._vertexFormat),o._height=r,o._extrudedHeight=f,o._granularity=d,o._stRotation=p,o._perPositionHeightExtrude=w,o._perPositionHeight=a,o._closeTop=H,o._closeBottom=x,o._shadowVolume=j,o._offsetAttribute=C===-1?void 0:C,o._arcType=R,o._textureCoordinates=B,o.packedLength=u,o};var Jt=new O,Xt=new O,$t=new D;function xt(t,e,o,n,s,i){let r=t.longitude,f=r>=0?r:r+l.TWO_PI;s.westOverIdl=Math.min(s.westOverIdl,f),s.eastOverIdl=Math.max(s.eastOverIdl,f),i.west=Math.min(i.west,r),i.east=Math.max(i.east,r);let d=t.getLatitude(o),p=d;if(i.south=Math.min(i.south,d),i.north=Math.max(i.north,d),n!==at.RHUMB){let H=O.subtract(e.position,t.position,Jt),x=O.dot(e.position,H)/O.dot(H,H);if(x>0&&x<1){let j=O.add(e.position,O.multiplyByScalar(H,-x,H),Xt),C=D.clone(e,$t);C.position=j;let R=C.getLatitude(o);i.south=Math.min(i.south,R),i.north=Math.max(i.north,R),Math.abs(d)>Math.abs(R)&&(p=R)}}let w=e.x*t.y-t.x*e.y,a=Math.sign(w);a!==0&&(a*=O.angleBetween(e.position,t.position)),p>=0&&(s.northAngle+=a),p<=0&&(s.southAngle+=a)}var Ct=new D,te=new D,W={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};G.computeRectangleFromPositions=function(t,e,o,n){if(q.defined("positions",t),P(n)||(n=new _t),t.length<3)return n;n.west=Number.POSITIVE_INFINITY,n.east=Number.NEGATIVE_INFINITY,n.south=Number.POSITIVE_INFINITY,n.north=Number.NEGATIVE_INFINITY,W.northAngle=0,W.southAngle=0,W.westOverIdl=Number.POSITIVE_INFINITY,W.eastOverIdl=Number.NEGATIVE_INFINITY;let s=t.length,i=D.fromCartesian(t[0],te);for(let r=1;r<s;r++){let f=D.fromCartesian(t[r],Ct);xt(f,i,e,o,W,n),i=D.clone(f,i)}return xt(D.fromCartesian(t[0],Ct),i,e,o,W,n),n.east-n.west>W.eastOverIdl-W.westOverIdl&&(n.west=W.westOverIdl,n.east=W.eastOverIdl,n.east>l.PI&&(n.east=n.east-l.TWO_PI),n.west>l.PI&&(n.west=n.west-l.TWO_PI)),l.equalsEpsilon(Math.abs(W.northAngle),l.TWO_PI,l.EPSILON10)&&(n.north=l.PI_OVER_TWO,n.east=l.PI,n.west=-l.PI),l.equalsEpsilon(Math.abs(W.southAngle),l.TWO_PI,l.EPSILON10)&&(n.south=-l.PI_OVER_TWO,n.east=l.PI,n.west=-l.PI),n};var ee=new D;function oe(t,e,o){return t.height>=l.PI||t.width>=l.PI?D.fromCartesian(e[0],ee).tangentPlane:K.fromPoints(e,o)}var Nt=new ot;function ne(t,e,o){return(n,s)=>{if(t.height>=l.PI||t.width>=l.PI){if(t.south<0&&t.north>0){P(s)||(s=[]);for(let r=0;r<n.length;++r){let f=o.cartesianToCartographic(n[r],Nt);s[r]=new O(f.longitude/l.PI,f.latitude/l.PI_OVER_TWO)}return s.length=n.length,s}return D.fromCartesianArray(n,s)}return K.fromPoints(e,o).projectPointsOntoPlane(n,s)}}function ie(t,e,o){if(t.height>=l.PI||t.width>=l.PI)return(s,i)=>{if(t.south<0&&t.north>0){let r=o.cartesianToCartographic(s,Nt);return P(i)||(i=new O),i.x=r.longitude/l.PI,i.y=r.latitude/l.PI_OVER_TWO,i}return D.fromCartesian(s,i)};let n=K.fromPoints(e,o);return(s,i)=>n.projectPointsOntoPlane(s,i)}function re(t,e,o,n){return(s,i)=>!n&&(t.height>=l.PI_OVER_TWO||t.width>=2*l.PI_OVER_THREE)?F.splitPolygonsOnEquator(s,e,o,i):s}function se(t,e,o,n){if(e.height>=l.PI||e.width>=l.PI)return dt.fromRectangle(e,void 0,Et);let s=t,i=K.fromPoints(s,o);return F.computeBoundingRectangle(i.plane.normal,i.projectPointOntoPlane.bind(i),s,n,Et)}G.createGeometry=function(t){let e=t._vertexFormat,o=t._ellipsoid,n=t._granularity,s=t._stRotation,i=t._polygonHierarchy,r=t._perPositionHeight,f=t._closeTop,d=t._closeBottom,p=t._arcType,w=t._textureCoordinates,a=P(w),H=i.positions;if(H.length<3)return;let x=t.rectangle,j=F.polygonsFromHierarchy(i,a,ne(x,H,o),!r,o,re(x,o,p,r)),C=j.hierarchy,R=j.polygons,B=function(m){return m},u=a?F.polygonsFromHierarchy(w,!0,B,!1,o).polygons:void 0;if(C.length===0)return;let E=C[0].outerRing,A=se(E,x,o,s),v=[],T=t._height,y=t._extrudedHeight,_=t._perPositionHeightExtrude||!l.equalsEpsilon(T,y,0,l.EPSILON2),h={perPositionHeight:r,vertexFormat:e,geometry:void 0,rotationAxis:oe(x,E,o).plane.normal,projectTo2d:ie(x,E,o),boundingRectangle:A,ellipsoid:o,stRotation:s,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:p},g;if(_)for(h.extrude=!0,h.top=f,h.bottom=d,h.shadowVolume=t._shadowVolume,h.offsetAttribute=t._offsetAttribute,g=0;g<R.length;g++){let m=qt(o,R[g],a?u[g]:void 0,n,C[g],r,f,d,e,p),I;f&&d?(I=m.topAndBottom,h.geometry=F.scaleToGeodeticHeightExtruded(I.geometry,T,y,o,r)):f?(I=m.topAndBottom,I.geometry.attributes.position.values=nt.scaleToGeodeticHeight(I.geometry.attributes.position.values,T,o,!r),h.geometry=I.geometry):d&&(I=m.topAndBottom,I.geometry.attributes.position.values=nt.scaleToGeodeticHeight(I.geometry.attributes.position.values,y,o,!0),h.geometry=I.geometry),(f||d)&&(h.wall=!1,I.geometry=pt(h),v.push(I));let M=m.walls;h.wall=!0;for(let z=0;z<M.length;z++){let N=M[z];h.geometry=F.scaleToGeodeticHeightExtruded(N.geometry,T,y,o,r),N.geometry=pt(h),v.push(N)}}else for(g=0;g<R.length;g++){let m=new st({geometry:F.createGeometryFromPositions(o,R[g],a?u[g]:void 0,n,r,e,p)});if(m.geometry.attributes.position.values=nt.scaleToGeodeticHeight(m.geometry.attributes.position.values,T,o,!r),h.geometry=m.geometry,m.geometry=pt(h),P(t._offsetAttribute)){let I=m.geometry.attributes.position.values.length,M=t._offsetAttribute===ht.NONE?0:1,z=new Uint8Array(I/3).fill(M);m.geometry.attributes.applyOffset=new tt({componentDatatype:$.UNSIGNED_BYTE,componentsPerAttribute:1,values:z})}v.push(m)}let k=bt.combineInstances(v)[0];k.attributes.position.values=new Float64Array(k.attributes.position.values),k.indices=lt.createTypedArray(k.attributes.position.values.length/3,k.indices);let Y=k.attributes,J=Tt.fromVertices(Y.position.values);return e.position||delete Y.position,new mt({attributes:Y,indices:k.indices,primitiveType:k.primitiveType,boundingSphere:J,offsetAttribute:t._offsetAttribute})};G.createShadowVolume=function(t,e,o){let n=t._granularity,s=t._ellipsoid,i=e(n,s),r=o(n,s);return new G({polygonHierarchy:t._polygonHierarchy,ellipsoid:s,stRotation:t._stRotation,granularity:n,perPositionHeight:!1,extrudedHeight:i,height:r,vertexFormat:Q.POSITION_ONLY,shadowVolume:!0,arcType:t._arcType})};function ae(t){let e=-t._stRotation;if(e===0)return[0,0,0,1,1,0];let o=t._ellipsoid,n=t._polygonHierarchy.positions,s=t.rectangle;return mt._textureCoordinateRotationPoints(n,e,o,s)}Object.defineProperties(G.prototype,{rectangle:{get:function(){if(!P(this._rectangle)){let t=this._polygonHierarchy.positions;this._rectangle=G.computeRectangleFromPositions(t,this._ellipsoid,this._arcType)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return P(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=ae(this)),this._textureCoordinateRotationPoints}}});var Pt=G;function ce(t,e){return P(e)&&(t=Pt.unpack(t,e)),t._ellipsoid=V.clone(t._ellipsoid),Pt.createGeometry(t)}var Xe=ce;export{Xe as default}; +import{a as dt}from"./chunk-4ALHVD6K.js";import{a as F}from"./chunk-QIZB5B47.js";import{a as at}from"./chunk-BRDKDER4.js";import{a as st}from"./chunk-D76R4V7H.js";import{a as bt}from"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import{a as ht}from"./chunk-TP5B32RY.js";import{a as Q}from"./chunk-RPAJTIFB.js";import{a as K}from"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import{a as gt,b as nt}from"./chunk-S4WTTFQO.js";import"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import{a as wt,b as yt}from"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as lt}from"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import{c as mt,d as tt}from"./chunk-72NMS5KE.js";import{d as Tt}from"./chunk-JLMPKQO4.js";import{f as ct,h as _t}from"./chunk-2K72IAMD.js";import{a as $}from"./chunk-GNTVNTUY.js";import{a as c,b as ot,c as O,d as V,e as U}from"./chunk-HWH6BBH6.js";import{a as l}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as L}from"./chunk-CJFJKB5V.js";import{a as ut,b as q}from"./chunk-4BGNE6LH.js";import{e as P}from"./chunk-OX5CTLXY.js";function b(t,e){this.position=t,P(this.position)||(this.position=new O),this.tangentPlane=e,P(this.tangentPlane)||(this.tangentPlane=b.NORTH_POLE_TANGENT_PLANE)}Object.defineProperties(b.prototype,{ellipsoid:{get:function(){return this.tangentPlane.ellipsoid}},x:{get:function(){return this.position.x}},y:{get:function(){return this.position.y}},conformalLatitude:{get:function(){let t=O.magnitude(this.position),e=2*this.ellipsoid.maximumRadius;return this.tangentPlane.plane.normal.z*(l.PI_OVER_TWO-2*Math.atan2(t,e))}},longitude:{get:function(){let t=l.PI_OVER_TWO+Math.atan2(this.y,this.x);return t>Math.PI&&(t-=l.TWO_PI),t}}});var it=new ot,Rt=new c;b.prototype.getLatitude=function(t){P(t)||(t=V.default),it.latitude=this.conformalLatitude,it.longitude=this.longitude,it.height=0;let e=this.ellipsoid.cartographicToCartesian(it,Rt);return t.cartesianToCartographic(e,it),it.latitude};var It=new wt,Lt=new c,Ft=new c;b.fromCartesian=function(t,e){q.defined("cartesian",t);let o=l.signNotZero(t.z),n=b.NORTH_POLE_TANGENT_PLANE,s=b.SOUTH_POLE;o<0&&(n=b.SOUTH_POLE_TANGENT_PLANE,s=b.NORTH_POLE);let i=It;i.origin=n.ellipsoid.scaleToGeocentricSurface(t,i.origin),i.direction=c.subtract(i.origin,s,Lt),c.normalize(i.direction,i.direction);let r=yt.rayPlane(i,n.plane,Ft),f=c.subtract(r,s,r),d=c.dot(n.xAxis,f),p=o*c.dot(n.yAxis,f);return P(e)?(e.position=new O(d,p),e.tangentPlane=n,e):new b(new O(d,p),n)};b.fromCartesianArray=function(t,e){q.defined("cartesians",t);let o=t.length;P(e)?e.length=o:e=new Array(o);for(let n=0;n<o;n++)e[n]=b.fromCartesian(t[n],e[n]);return e};b.clone=function(t,e){if(P(t))return P(e)?(e.position=t.position,e.tangentPlane=t.tangentPlane,e):new b(t.position,t.tangentPlane)};b.HALF_UNIT_SPHERE=Object.freeze(new V(.5,.5,.5));b.NORTH_POLE=Object.freeze(new c(0,0,.5));b.SOUTH_POLE=Object.freeze(new c(0,0,-.5));b.NORTH_POLE_TANGENT_PLANE=Object.freeze(new K(b.NORTH_POLE,b.HALF_UNIT_SPHERE));b.SOUTH_POLE_TANGENT_PLANE=Object.freeze(new K(b.SOUTH_POLE,b.HALF_UNIT_SPHERE));var D=b;var vt=new ot,Ot=new ot;function St(t,e,o,n){let i=n.cartesianToCartographic(t,vt).height,r=n.cartesianToCartographic(e,Ot);r.height=i,n.cartographicToCartesian(r,e);let f=n.cartesianToCartographic(o,Ot);f.height=i-100,n.cartographicToCartesian(f,o)}var Et=new dt,Vt=new c,Bt=new c,Mt=new c,jt=new c,kt=new c,zt=new c,ft=new c,Z=new c,rt=new c,Dt=new O,Ut=new O,Wt=new c,At=new ct,Gt=new U,Yt=new U;function pt(t){let e=t.vertexFormat,o=t.geometry,n=t.shadowVolume,s=o.attributes.position.values,i=P(o.attributes.st)?o.attributes.st.values:void 0,r=s.length,f=t.wall,d=t.top||f,p=t.bottom||f;if(e.st||e.normal||e.tangent||e.bitangent||n){let w=t.boundingRectangle,a=t.rotationAxis,H=t.projectTo2d,x=t.ellipsoid,j=t.stRotation,C=t.perPositionHeight,R=Dt;R.x=w.x,R.y=w.y;let B=e.st?new Float32Array(2*(r/3)):void 0,u;e.normal&&(C&&d&&!f?u=o.attributes.normal.values:u=new Float32Array(r));let E=e.tangent?new Float32Array(r):void 0,A=e.bitangent?new Float32Array(r):void 0,v=n?new Float32Array(r):void 0,T=0,y=0,_=Bt,h=Mt,g=jt,k=!0,Y=Gt,J=Yt;if(j!==0){let M=ct.fromAxisAngle(a,j,At);Y=U.fromQuaternion(M,Y),M=ct.fromAxisAngle(a,-j,At),J=U.fromQuaternion(M,J)}else Y=U.clone(U.IDENTITY,Y),J=U.clone(U.IDENTITY,J);let m=0,I=0;d&&p&&(m=r/2,I=r/3,r/=2);for(let M=0;M<r;M+=3){let z=c.fromArray(s,M,Wt);if(e.st&&!P(i)){let N=U.multiplyByVector(Y,z,Vt);N=x.scaleToGeodeticSurface(N,N);let S=H([N],Ut)[0];O.subtract(S,R,S);let X=l.clamp(S.x/w.width,0,1),et=l.clamp(S.y/w.height,0,1);p&&(B[T+I]=X,B[T+1+I]=et),d&&(B[T]=X,B[T+1]=et),T+=2}if(e.normal||e.tangent||e.bitangent||n){let N=y+1,S=y+2;if(f){if(M+3<r){let X=c.fromArray(s,M+3,kt);if(k){let et=c.fromArray(s,M+r,zt);C&&St(z,X,et,x),c.subtract(X,z,X),c.subtract(et,z,et),_=c.normalize(c.cross(et,X,_),_),k=!1}c.equalsEpsilon(X,z,l.EPSILON10)&&(k=!0)}(e.tangent||e.bitangent)&&(g=x.geodeticSurfaceNormal(z,g),e.tangent&&(h=c.normalize(c.cross(g,_,h),h)))}else _=x.geodeticSurfaceNormal(z,_),(e.tangent||e.bitangent)&&(C&&(ft=c.fromArray(u,y,ft),Z=c.cross(c.UNIT_Z,ft,Z),Z=c.normalize(U.multiplyByVector(J,Z,Z),Z),e.bitangent&&(rt=c.normalize(c.cross(ft,Z,rt),rt))),h=c.cross(c.UNIT_Z,_,h),h=c.normalize(U.multiplyByVector(J,h,h),h),e.bitangent&&(g=c.normalize(c.cross(_,h,g),g)));e.normal&&(t.wall?(u[y+m]=_.x,u[N+m]=_.y,u[S+m]=_.z):p&&(u[y+m]=-_.x,u[N+m]=-_.y,u[S+m]=-_.z),(d&&!C||f)&&(u[y]=_.x,u[N]=_.y,u[S]=_.z)),n&&(f&&(_=x.geodeticSurfaceNormal(z,_)),v[y+m]=-_.x,v[N+m]=-_.y,v[S+m]=-_.z),e.tangent&&(t.wall?(E[y+m]=h.x,E[N+m]=h.y,E[S+m]=h.z):p&&(E[y+m]=-h.x,E[N+m]=-h.y,E[S+m]=-h.z),d&&(C?(E[y]=Z.x,E[N]=Z.y,E[S]=Z.z):(E[y]=h.x,E[N]=h.y,E[S]=h.z))),e.bitangent&&(p&&(A[y+m]=g.x,A[N+m]=g.y,A[S+m]=g.z),d&&(C?(A[y]=rt.x,A[N]=rt.y,A[S]=rt.z):(A[y]=g.x,A[N]=g.y,A[S]=g.z))),y+=3}}e.st&&!P(i)&&(o.attributes.st=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:2,values:B})),e.normal&&(o.attributes.normal=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:u})),e.tangent&&(o.attributes.tangent=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:E})),e.bitangent&&(o.attributes.bitangent=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:A})),n&&(o.attributes.extrudeDirection=new tt({componentDatatype:$.FLOAT,componentsPerAttribute:3,values:v}))}if(t.extrude&&P(t.offsetAttribute)){let w=s.length/3,a=new Uint8Array(w);if(t.offsetAttribute===ht.TOP)d&&p||f?a=a.fill(1,0,w/2):d&&(a=a.fill(1));else{let H=t.offsetAttribute===ht.NONE?0:1;a=a.fill(H)}o.attributes.applyOffset=new tt({componentDatatype:$.UNSIGNED_BYTE,componentsPerAttribute:1,values:a})}return o}var Ht=[];function qt(t,e,o,n,s,i,r,f,d,p){let w={walls:[]},a;if(r||f){let u=F.createGeometryFromPositions(t,e,o,n,i,d,p),E=u.attributes.position.values,A=u.indices,v,T;if(r&&f){let y=E.concat(E);v=y.length/3,T=lt.createTypedArray(v,A.length*2),T.set(A);let _=A.length,h=v/2;for(a=0;a<_;a+=3){let g=T[a]+h,k=T[a+1]+h,Y=T[a+2]+h;T[a+_]=Y,T[a+1+_]=k,T[a+2+_]=g}if(u.attributes.position.values=y,i&&d.normal){let g=u.attributes.normal.values;u.attributes.normal.values=new Float32Array(y.length),u.attributes.normal.values.set(g)}if(d.st&&P(o)){let g=u.attributes.st.values;u.attributes.st.values=new Float32Array(v*2),u.attributes.st.values=g.concat(g)}u.indices=T}else if(f){for(v=E.length/3,T=lt.createTypedArray(v,A.length),a=0;a<A.length;a+=3)T[a]=A[a+2],T[a+1]=A[a+1],T[a+2]=A[a];u.indices=T}w.topAndBottom=new st({geometry:u})}let H=s.outerRing,x=K.fromPoints(H,t),j=x.projectPointsOntoPlane(H,Ht),C=nt.computeWindingOrder2D(j);C===gt.CLOCKWISE&&(H=H.slice().reverse());let R=F.computeWallGeometry(H,o,t,n,i,p);w.walls.push(new st({geometry:R}));let B=s.holes;for(a=0;a<B.length;a++){let u=B[a];j=x.projectPointsOntoPlane(u,Ht),C=nt.computeWindingOrder2D(j),C===gt.COUNTER_CLOCKWISE&&(u=u.slice().reverse()),R=F.computeWallGeometry(u,o,t,n,i,p),w.walls.push(new st({geometry:R}))}return w}function G(t){if(q.typeOf.object("options",t),q.typeOf.object("options.polygonHierarchy",t.polygonHierarchy),P(t.perPositionHeight)&&t.perPositionHeight&&P(t.height))throw new ut("Cannot use both options.perPositionHeight and options.height");if(P(t.arcType)&&t.arcType!==at.GEODESIC&&t.arcType!==at.RHUMB)throw new ut("Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.");let e=t.polygonHierarchy,o=L(t.vertexFormat,Q.DEFAULT),n=L(t.ellipsoid,V.default),s=L(t.granularity,l.RADIANS_PER_DEGREE),i=L(t.stRotation,0),r=t.textureCoordinates,f=L(t.perPositionHeight,!1),d=f&&P(t.extrudedHeight),p=L(t.height,0),w=L(t.extrudedHeight,p);if(!d){let a=Math.max(p,w);w=Math.min(p,w),p=a}this._vertexFormat=Q.clone(o),this._ellipsoid=V.clone(n),this._granularity=s,this._stRotation=i,this._height=p,this._extrudedHeight=w,this._closeTop=L(t.closeTop,!0),this._closeBottom=L(t.closeBottom,!0),this._polygonHierarchy=e,this._perPositionHeight=f,this._perPositionHeightExtrude=d,this._shadowVolume=L(t.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=t.offsetAttribute,this._arcType=L(t.arcType,at.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=r,this.packedLength=F.computeHierarchyPackedLength(e,c)+V.packedLength+Q.packedLength+(r?F.computeHierarchyPackedLength(r,O):1)+12}G.fromPositions=function(t){t=L(t,L.EMPTY_OBJECT),q.defined("options.positions",t.positions);let e={polygonHierarchy:{positions:t.positions},height:t.height,extrudedHeight:t.extrudedHeight,vertexFormat:t.vertexFormat,stRotation:t.stRotation,ellipsoid:t.ellipsoid,granularity:t.granularity,perPositionHeight:t.perPositionHeight,closeTop:t.closeTop,closeBottom:t.closeBottom,offsetAttribute:t.offsetAttribute,arcType:t.arcType,textureCoordinates:t.textureCoordinates};return new G(e)};G.pack=function(t,e,o){return q.typeOf.object("value",t),q.defined("array",e),o=L(o,0),o=F.packPolygonHierarchy(t._polygonHierarchy,e,o,c),V.pack(t._ellipsoid,e,o),o+=V.packedLength,Q.pack(t._vertexFormat,e,o),o+=Q.packedLength,e[o++]=t._height,e[o++]=t._extrudedHeight,e[o++]=t._granularity,e[o++]=t._stRotation,e[o++]=t._perPositionHeightExtrude?1:0,e[o++]=t._perPositionHeight?1:0,e[o++]=t._closeTop?1:0,e[o++]=t._closeBottom?1:0,e[o++]=t._shadowVolume?1:0,e[o++]=L(t._offsetAttribute,-1),e[o++]=t._arcType,P(t._textureCoordinates)?o=F.packPolygonHierarchy(t._textureCoordinates,e,o,O):e[o++]=-1,e[o++]=t.packedLength,e};var Qt=V.clone(V.UNIT_SPHERE),Zt=new Q,Kt={polygonHierarchy:{}};G.unpack=function(t,e,o){q.defined("array",t),e=L(e,0);let n=F.unpackPolygonHierarchy(t,e,c);e=n.startingIndex,delete n.startingIndex;let s=V.unpack(t,e,Qt);e+=V.packedLength;let i=Q.unpack(t,e,Zt);e+=Q.packedLength;let r=t[e++],f=t[e++],d=t[e++],p=t[e++],w=t[e++]===1,a=t[e++]===1,H=t[e++]===1,x=t[e++]===1,j=t[e++]===1,C=t[e++],R=t[e++],B=t[e]===-1?void 0:F.unpackPolygonHierarchy(t,e,O);P(B)?(e=B.startingIndex,delete B.startingIndex):e++;let u=t[e++];return P(o)||(o=new G(Kt)),o._polygonHierarchy=n,o._ellipsoid=V.clone(s,o._ellipsoid),o._vertexFormat=Q.clone(i,o._vertexFormat),o._height=r,o._extrudedHeight=f,o._granularity=d,o._stRotation=p,o._perPositionHeightExtrude=w,o._perPositionHeight=a,o._closeTop=H,o._closeBottom=x,o._shadowVolume=j,o._offsetAttribute=C===-1?void 0:C,o._arcType=R,o._textureCoordinates=B,o.packedLength=u,o};var Jt=new O,Xt=new O,$t=new D;function xt(t,e,o,n,s,i){let r=t.longitude,f=r>=0?r:r+l.TWO_PI;s.westOverIdl=Math.min(s.westOverIdl,f),s.eastOverIdl=Math.max(s.eastOverIdl,f),i.west=Math.min(i.west,r),i.east=Math.max(i.east,r);let d=t.getLatitude(o),p=d;if(i.south=Math.min(i.south,d),i.north=Math.max(i.north,d),n!==at.RHUMB){let H=O.subtract(e.position,t.position,Jt),x=O.dot(e.position,H)/O.dot(H,H);if(x>0&&x<1){let j=O.add(e.position,O.multiplyByScalar(H,-x,H),Xt),C=D.clone(e,$t);C.position=j;let R=C.getLatitude(o);i.south=Math.min(i.south,R),i.north=Math.max(i.north,R),Math.abs(d)>Math.abs(R)&&(p=R)}}let w=e.x*t.y-t.x*e.y,a=Math.sign(w);a!==0&&(a*=O.angleBetween(e.position,t.position)),p>=0&&(s.northAngle+=a),p<=0&&(s.southAngle+=a)}var Ct=new D,te=new D,W={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};G.computeRectangleFromPositions=function(t,e,o,n){if(q.defined("positions",t),P(n)||(n=new _t),t.length<3)return n;n.west=Number.POSITIVE_INFINITY,n.east=Number.NEGATIVE_INFINITY,n.south=Number.POSITIVE_INFINITY,n.north=Number.NEGATIVE_INFINITY,W.northAngle=0,W.southAngle=0,W.westOverIdl=Number.POSITIVE_INFINITY,W.eastOverIdl=Number.NEGATIVE_INFINITY;let s=t.length,i=D.fromCartesian(t[0],te);for(let r=1;r<s;r++){let f=D.fromCartesian(t[r],Ct);xt(f,i,e,o,W,n),i=D.clone(f,i)}return xt(D.fromCartesian(t[0],Ct),i,e,o,W,n),n.east-n.west>W.eastOverIdl-W.westOverIdl&&(n.west=W.westOverIdl,n.east=W.eastOverIdl,n.east>l.PI&&(n.east=n.east-l.TWO_PI),n.west>l.PI&&(n.west=n.west-l.TWO_PI)),l.equalsEpsilon(Math.abs(W.northAngle),l.TWO_PI,l.EPSILON10)&&(n.north=l.PI_OVER_TWO,n.east=l.PI,n.west=-l.PI),l.equalsEpsilon(Math.abs(W.southAngle),l.TWO_PI,l.EPSILON10)&&(n.south=-l.PI_OVER_TWO,n.east=l.PI,n.west=-l.PI),n};var ee=new D;function oe(t,e,o){return t.height>=l.PI||t.width>=l.PI?D.fromCartesian(e[0],ee).tangentPlane:K.fromPoints(e,o)}var Nt=new ot;function ne(t,e,o){return(n,s)=>{if(t.height>=l.PI||t.width>=l.PI){if(t.south<0&&t.north>0){P(s)||(s=[]);for(let r=0;r<n.length;++r){let f=o.cartesianToCartographic(n[r],Nt);s[r]=new O(f.longitude/l.PI,f.latitude/l.PI_OVER_TWO)}return s.length=n.length,s}return D.fromCartesianArray(n,s)}return K.fromPoints(e,o).projectPointsOntoPlane(n,s)}}function ie(t,e,o){if(t.height>=l.PI||t.width>=l.PI)return(s,i)=>{if(t.south<0&&t.north>0){let r=o.cartesianToCartographic(s,Nt);return P(i)||(i=new O),i.x=r.longitude/l.PI,i.y=r.latitude/l.PI_OVER_TWO,i}return D.fromCartesian(s,i)};let n=K.fromPoints(e,o);return(s,i)=>n.projectPointsOntoPlane(s,i)}function re(t,e,o,n){return(s,i)=>!n&&(t.height>=l.PI_OVER_TWO||t.width>=2*l.PI_OVER_THREE)?F.splitPolygonsOnEquator(s,e,o,i):s}function se(t,e,o,n){if(e.height>=l.PI||e.width>=l.PI)return dt.fromRectangle(e,void 0,Et);let s=t,i=K.fromPoints(s,o);return F.computeBoundingRectangle(i.plane.normal,i.projectPointOntoPlane.bind(i),s,n,Et)}G.createGeometry=function(t){let e=t._vertexFormat,o=t._ellipsoid,n=t._granularity,s=t._stRotation,i=t._polygonHierarchy,r=t._perPositionHeight,f=t._closeTop,d=t._closeBottom,p=t._arcType,w=t._textureCoordinates,a=P(w),H=i.positions;if(H.length<3)return;let x=t.rectangle,j=F.polygonsFromHierarchy(i,a,ne(x,H,o),!r,o,re(x,o,p,r)),C=j.hierarchy,R=j.polygons,B=function(m){return m},u=a?F.polygonsFromHierarchy(w,!0,B,!1,o).polygons:void 0;if(C.length===0)return;let E=C[0].outerRing,A=se(E,x,o,s),v=[],T=t._height,y=t._extrudedHeight,_=t._perPositionHeightExtrude||!l.equalsEpsilon(T,y,0,l.EPSILON2),h={perPositionHeight:r,vertexFormat:e,geometry:void 0,rotationAxis:oe(x,E,o).plane.normal,projectTo2d:ie(x,E,o),boundingRectangle:A,ellipsoid:o,stRotation:s,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:p},g;if(_)for(h.extrude=!0,h.top=f,h.bottom=d,h.shadowVolume=t._shadowVolume,h.offsetAttribute=t._offsetAttribute,g=0;g<R.length;g++){let m=qt(o,R[g],a?u[g]:void 0,n,C[g],r,f,d,e,p),I;f&&d?(I=m.topAndBottom,h.geometry=F.scaleToGeodeticHeightExtruded(I.geometry,T,y,o,r)):f?(I=m.topAndBottom,I.geometry.attributes.position.values=nt.scaleToGeodeticHeight(I.geometry.attributes.position.values,T,o,!r),h.geometry=I.geometry):d&&(I=m.topAndBottom,I.geometry.attributes.position.values=nt.scaleToGeodeticHeight(I.geometry.attributes.position.values,y,o,!0),h.geometry=I.geometry),(f||d)&&(h.wall=!1,I.geometry=pt(h),v.push(I));let M=m.walls;h.wall=!0;for(let z=0;z<M.length;z++){let N=M[z];h.geometry=F.scaleToGeodeticHeightExtruded(N.geometry,T,y,o,r),N.geometry=pt(h),v.push(N)}}else for(g=0;g<R.length;g++){let m=new st({geometry:F.createGeometryFromPositions(o,R[g],a?u[g]:void 0,n,r,e,p)});if(m.geometry.attributes.position.values=nt.scaleToGeodeticHeight(m.geometry.attributes.position.values,T,o,!r),h.geometry=m.geometry,m.geometry=pt(h),P(t._offsetAttribute)){let I=m.geometry.attributes.position.values.length,M=t._offsetAttribute===ht.NONE?0:1,z=new Uint8Array(I/3).fill(M);m.geometry.attributes.applyOffset=new tt({componentDatatype:$.UNSIGNED_BYTE,componentsPerAttribute:1,values:z})}v.push(m)}let k=bt.combineInstances(v)[0];k.attributes.position.values=new Float64Array(k.attributes.position.values),k.indices=lt.createTypedArray(k.attributes.position.values.length/3,k.indices);let Y=k.attributes,J=Tt.fromVertices(Y.position.values);return e.position||delete Y.position,new mt({attributes:Y,indices:k.indices,primitiveType:k.primitiveType,boundingSphere:J,offsetAttribute:t._offsetAttribute})};G.createShadowVolume=function(t,e,o){let n=t._granularity,s=t._ellipsoid,i=e(n,s),r=o(n,s);return new G({polygonHierarchy:t._polygonHierarchy,ellipsoid:s,stRotation:t._stRotation,granularity:n,perPositionHeight:!1,extrudedHeight:i,height:r,vertexFormat:Q.POSITION_ONLY,shadowVolume:!0,arcType:t._arcType})};function ae(t){let e=-t._stRotation;if(e===0)return[0,0,0,1,1,0];let o=t._ellipsoid,n=t._polygonHierarchy.positions,s=t.rectangle;return mt._textureCoordinateRotationPoints(n,e,o,s)}Object.defineProperties(G.prototype,{rectangle:{get:function(){if(!P(this._rectangle)){let t=this._polygonHierarchy.positions;this._rectangle=G.computeRectangleFromPositions(t,this._ellipsoid,this._arcType)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return P(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=ae(this)),this._textureCoordinateRotationPoints}}});var Pt=G;function ce(t,e){return P(e)&&(t=Pt.unpack(t,e)),t._ellipsoid=V.clone(t._ellipsoid),Pt.createGeometry(t)}var Xe=ce;export{Xe as default}; diff --git a/public/lib/Cesium/Workers/createPolygonOutlineGeometry.js b/public/lib/Cesium/Workers/createPolygonOutlineGeometry.js index 3bf1283ed..34f2cfc04 100644 --- a/public/lib/Cesium/Workers/createPolygonOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createPolygonOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a}from"./chunk-A6IU7XS3.js";import{a as b}from"./chunk-6X7WLTTW.js";import{a as F}from"./chunk-YGSEQ273.js";import{a as V}from"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import{a as D}from"./chunk-IFAARW2T.js";import{a as W}from"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import{a as j,b as k}from"./chunk-542N7J5N.js";import"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as M}from"./chunk-UGB43LJM.js";import{a as G}from"./chunk-WFZLZ2P5.js";import{b as B,c as C,d as v}from"./chunk-CTEHZS7O.js";import{d as z}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as w}from"./chunk-27UWHT4D.js";import{a as S,d as y}from"./chunk-RFPX772U.js";import{a as T}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as P}from"./chunk-6KLVDWWE.js";import{a as U,b as A}from"./chunk-6P5KAIBX.js";import{e as O}from"./chunk-4FSVUTPL.js";var Y=[],R=[];function K(e,t,r,H,l){let p=W.fromPoints(t,e).projectPointsOntoPlane(t,Y);k.computeWindingOrder2D(p)===j.CLOCKWISE&&(p.reverse(),t=t.slice().reverse());let n,i,o=t.length,c=0;if(H)for(n=new Float64Array(o*2*3),i=0;i<o;i++){let u=t[i],h=t[(i+1)%o];n[c++]=u.x,n[c++]=u.y,n[c++]=u.z,n[c++]=h.x,n[c++]=h.y,n[c++]=h.z}else{let u=0;if(l===b.GEODESIC)for(i=0;i<o;i++)u+=a.subdivideLineCount(t[i],t[(i+1)%o],r);else if(l===b.RHUMB)for(i=0;i<o;i++)u+=a.subdivideRhumbLineCount(e,t[i],t[(i+1)%o],r);for(n=new Float64Array(u*3),i=0;i<o;i++){let h;l===b.GEODESIC?h=a.subdivideLine(t[i],t[(i+1)%o],r,R):l===b.RHUMB&&(h=a.subdivideRhumbLine(e,t[i],t[(i+1)%o],r,R));let g=h.length;for(let d=0;d<g;++d)n[c++]=h[d]}}o=n.length/3;let f=o*2,m=M.createTypedArray(o,f);for(c=0,i=0;i<o-1;i++)m[c++]=i,m[c++]=i+1;return m[c++]=o-1,m[c++]=0,new F({geometry:new C({attributes:new G({position:new v({componentDatatype:w.DOUBLE,componentsPerAttribute:3,values:n})}),indices:m,primitiveType:B.LINES})})}function q(e,t,r,H,l){let p=W.fromPoints(t,e).projectPointsOntoPlane(t,Y);k.computeWindingOrder2D(p)===j.CLOCKWISE&&(p.reverse(),t=t.slice().reverse());let n,i,o=t.length,c=new Array(o),f=0;if(H)for(n=new Float64Array(o*2*3*2),i=0;i<o;++i){c[i]=f/3;let g=t[i],d=t[(i+1)%o];n[f++]=g.x,n[f++]=g.y,n[f++]=g.z,n[f++]=d.x,n[f++]=d.y,n[f++]=d.z}else{let g=0;if(l===b.GEODESIC)for(i=0;i<o;i++)g+=a.subdivideLineCount(t[i],t[(i+1)%o],r);else if(l===b.RHUMB)for(i=0;i<o;i++)g+=a.subdivideRhumbLineCount(e,t[i],t[(i+1)%o],r);for(n=new Float64Array(g*3*2),i=0;i<o;++i){c[i]=f/3;let d;l===b.GEODESIC?d=a.subdivideLine(t[i],t[(i+1)%o],r,R):l===b.RHUMB&&(d=a.subdivideRhumbLine(e,t[i],t[(i+1)%o],r,R));let E=d.length;for(let N=0;N<E;++N)n[f++]=d[N]}}o=n.length/(3*2);let m=c.length,u=(o*2+m)*2,h=M.createTypedArray(o+m,u);for(f=0,i=0;i<o;++i)h[f++]=i,h[f++]=(i+1)%o,h[f++]=i+o,h[f++]=(i+1)%o+o;for(i=0;i<m;i++){let g=c[i];h[f++]=g,h[f++]=g+o}return new F({geometry:new C({attributes:new G({position:new v({componentDatatype:w.DOUBLE,componentsPerAttribute:3,values:n})}),indices:h,primitiveType:B.LINES})})}function L(e){if(A.typeOf.object("options",e),A.typeOf.object("options.polygonHierarchy",e.polygonHierarchy),e.perPositionHeight&&O(e.height))throw new U("Cannot use both options.perPositionHeight and options.height");if(O(e.arcType)&&e.arcType!==b.GEODESIC&&e.arcType!==b.RHUMB)throw new U("Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.");let t=e.polygonHierarchy,r=P(e.ellipsoid,y.default),H=P(e.granularity,T.RADIANS_PER_DEGREE),l=P(e.perPositionHeight,!1),_=l&&O(e.extrudedHeight),p=P(e.arcType,b.GEODESIC),s=P(e.height,0),n=P(e.extrudedHeight,s);if(!_){let i=Math.max(s,n);n=Math.min(s,n),s=i}this._ellipsoid=y.clone(r),this._granularity=H,this._height=s,this._extrudedHeight=n,this._arcType=p,this._polygonHierarchy=t,this._perPositionHeight=l,this._perPositionHeightExtrude=_,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=a.computeHierarchyPackedLength(t,S)+y.packedLength+8}L.pack=function(e,t,r){return A.typeOf.object("value",e),A.defined("array",t),r=P(r,0),r=a.packPolygonHierarchy(e._polygonHierarchy,t,r,S),y.pack(e._ellipsoid,t,r),r+=y.packedLength,t[r++]=e._height,t[r++]=e._extrudedHeight,t[r++]=e._granularity,t[r++]=e._perPositionHeightExtrude?1:0,t[r++]=e._perPositionHeight?1:0,t[r++]=e._arcType,t[r++]=P(e._offsetAttribute,-1),t[r]=e.packedLength,t};var J=y.clone(y.UNIT_SPHERE),Q={polygonHierarchy:{}};L.unpack=function(e,t,r){A.defined("array",e),t=P(t,0);let H=a.unpackPolygonHierarchy(e,t,S);t=H.startingIndex,delete H.startingIndex;let l=y.unpack(e,t,J);t+=y.packedLength;let _=e[t++],p=e[t++],s=e[t++],n=e[t++]===1,i=e[t++]===1,o=e[t++],c=e[t++],f=e[t];return O(r)||(r=new L(Q)),r._polygonHierarchy=H,r._ellipsoid=y.clone(l,r._ellipsoid),r._height=_,r._extrudedHeight=p,r._granularity=s,r._perPositionHeight=i,r._perPositionHeightExtrude=n,r._arcType=o,r._offsetAttribute=c===-1?void 0:c,r.packedLength=f,r};L.fromPositions=function(e){e=P(e,P.EMPTY_OBJECT),A.defined("options.positions",e.positions);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new L(t)};L.createGeometry=function(e){let t=e._ellipsoid,r=e._granularity,H=e._polygonHierarchy,l=e._perPositionHeight,_=e._arcType,p=a.polygonOutlinesFromHierarchy(H,!l,t);if(p.length===0)return;let s,n=[],i=T.chordLength(r,t.maximumRadius),o=e._height,c=e._extrudedHeight,f=e._perPositionHeightExtrude||!T.equalsEpsilon(o,c,0,T.EPSILON2),m,u;if(f)for(u=0;u<p.length;u++){if(s=q(t,p[u],i,l,_),s.geometry=a.scaleToGeodeticHeightExtruded(s.geometry,o,c,t,l),O(e._offsetAttribute)){let d=s.geometry.attributes.position.values.length/3,E=new Uint8Array(d);e._offsetAttribute===D.TOP?E=E.fill(1,0,d/2):(m=e._offsetAttribute===D.NONE?0:1,E=E.fill(m)),s.geometry.attributes.applyOffset=new v({componentDatatype:w.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}n.push(s)}else for(u=0;u<p.length;u++){if(s=K(t,p[u],i,l,_),s.geometry.attributes.position.values=k.scaleToGeodeticHeight(s.geometry.attributes.position.values,o,t,!l),O(e._offsetAttribute)){let d=s.geometry.attributes.position.values.length;m=e._offsetAttribute===D.NONE?0:1;let E=new Uint8Array(d/3).fill(m);s.geometry.attributes.applyOffset=new v({componentDatatype:w.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}n.push(s)}let h=V.combineInstances(n)[0],g=z.fromVertices(h.attributes.position.values);return new C({attributes:h.attributes,indices:h.indices,primitiveType:h.primitiveType,boundingSphere:g,offsetAttribute:e._offsetAttribute})};var x=L;function X(e,t){return O(t)&&(e=x.unpack(e,t)),e._ellipsoid=y.clone(e._ellipsoid),x.createGeometry(e)}var Oe=X;export{Oe as default}; +import{a}from"./chunk-QIZB5B47.js";import{a as b}from"./chunk-BRDKDER4.js";import{a as F}from"./chunk-D76R4V7H.js";import{a as V}from"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import{a as D}from"./chunk-TP5B32RY.js";import{a as W}from"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import{a as j,b as k}from"./chunk-S4WTTFQO.js";import"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as M}from"./chunk-A3VS2OZ2.js";import{a as G}from"./chunk-E2XIHPTZ.js";import{b as B,c as C,d as v}from"./chunk-72NMS5KE.js";import{d as z}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as w}from"./chunk-GNTVNTUY.js";import{a as S,d as y}from"./chunk-HWH6BBH6.js";import{a as T}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as P}from"./chunk-CJFJKB5V.js";import{a as U,b as A}from"./chunk-4BGNE6LH.js";import{e as O}from"./chunk-OX5CTLXY.js";var Y=[],R=[];function K(e,t,r,H,l){let p=W.fromPoints(t,e).projectPointsOntoPlane(t,Y);k.computeWindingOrder2D(p)===j.CLOCKWISE&&(p.reverse(),t=t.slice().reverse());let n,i,o=t.length,c=0;if(H)for(n=new Float64Array(o*2*3),i=0;i<o;i++){let u=t[i],h=t[(i+1)%o];n[c++]=u.x,n[c++]=u.y,n[c++]=u.z,n[c++]=h.x,n[c++]=h.y,n[c++]=h.z}else{let u=0;if(l===b.GEODESIC)for(i=0;i<o;i++)u+=a.subdivideLineCount(t[i],t[(i+1)%o],r);else if(l===b.RHUMB)for(i=0;i<o;i++)u+=a.subdivideRhumbLineCount(e,t[i],t[(i+1)%o],r);for(n=new Float64Array(u*3),i=0;i<o;i++){let h;l===b.GEODESIC?h=a.subdivideLine(t[i],t[(i+1)%o],r,R):l===b.RHUMB&&(h=a.subdivideRhumbLine(e,t[i],t[(i+1)%o],r,R));let g=h.length;for(let d=0;d<g;++d)n[c++]=h[d]}}o=n.length/3;let f=o*2,m=M.createTypedArray(o,f);for(c=0,i=0;i<o-1;i++)m[c++]=i,m[c++]=i+1;return m[c++]=o-1,m[c++]=0,new F({geometry:new C({attributes:new G({position:new v({componentDatatype:w.DOUBLE,componentsPerAttribute:3,values:n})}),indices:m,primitiveType:B.LINES})})}function q(e,t,r,H,l){let p=W.fromPoints(t,e).projectPointsOntoPlane(t,Y);k.computeWindingOrder2D(p)===j.CLOCKWISE&&(p.reverse(),t=t.slice().reverse());let n,i,o=t.length,c=new Array(o),f=0;if(H)for(n=new Float64Array(o*2*3*2),i=0;i<o;++i){c[i]=f/3;let g=t[i],d=t[(i+1)%o];n[f++]=g.x,n[f++]=g.y,n[f++]=g.z,n[f++]=d.x,n[f++]=d.y,n[f++]=d.z}else{let g=0;if(l===b.GEODESIC)for(i=0;i<o;i++)g+=a.subdivideLineCount(t[i],t[(i+1)%o],r);else if(l===b.RHUMB)for(i=0;i<o;i++)g+=a.subdivideRhumbLineCount(e,t[i],t[(i+1)%o],r);for(n=new Float64Array(g*3*2),i=0;i<o;++i){c[i]=f/3;let d;l===b.GEODESIC?d=a.subdivideLine(t[i],t[(i+1)%o],r,R):l===b.RHUMB&&(d=a.subdivideRhumbLine(e,t[i],t[(i+1)%o],r,R));let E=d.length;for(let N=0;N<E;++N)n[f++]=d[N]}}o=n.length/(3*2);let m=c.length,u=(o*2+m)*2,h=M.createTypedArray(o+m,u);for(f=0,i=0;i<o;++i)h[f++]=i,h[f++]=(i+1)%o,h[f++]=i+o,h[f++]=(i+1)%o+o;for(i=0;i<m;i++){let g=c[i];h[f++]=g,h[f++]=g+o}return new F({geometry:new C({attributes:new G({position:new v({componentDatatype:w.DOUBLE,componentsPerAttribute:3,values:n})}),indices:h,primitiveType:B.LINES})})}function L(e){if(A.typeOf.object("options",e),A.typeOf.object("options.polygonHierarchy",e.polygonHierarchy),e.perPositionHeight&&O(e.height))throw new U("Cannot use both options.perPositionHeight and options.height");if(O(e.arcType)&&e.arcType!==b.GEODESIC&&e.arcType!==b.RHUMB)throw new U("Invalid arcType. Valid options are ArcType.GEODESIC and ArcType.RHUMB.");let t=e.polygonHierarchy,r=P(e.ellipsoid,y.default),H=P(e.granularity,T.RADIANS_PER_DEGREE),l=P(e.perPositionHeight,!1),_=l&&O(e.extrudedHeight),p=P(e.arcType,b.GEODESIC),s=P(e.height,0),n=P(e.extrudedHeight,s);if(!_){let i=Math.max(s,n);n=Math.min(s,n),s=i}this._ellipsoid=y.clone(r),this._granularity=H,this._height=s,this._extrudedHeight=n,this._arcType=p,this._polygonHierarchy=t,this._perPositionHeight=l,this._perPositionHeightExtrude=_,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=a.computeHierarchyPackedLength(t,S)+y.packedLength+8}L.pack=function(e,t,r){return A.typeOf.object("value",e),A.defined("array",t),r=P(r,0),r=a.packPolygonHierarchy(e._polygonHierarchy,t,r,S),y.pack(e._ellipsoid,t,r),r+=y.packedLength,t[r++]=e._height,t[r++]=e._extrudedHeight,t[r++]=e._granularity,t[r++]=e._perPositionHeightExtrude?1:0,t[r++]=e._perPositionHeight?1:0,t[r++]=e._arcType,t[r++]=P(e._offsetAttribute,-1),t[r]=e.packedLength,t};var J=y.clone(y.UNIT_SPHERE),Q={polygonHierarchy:{}};L.unpack=function(e,t,r){A.defined("array",e),t=P(t,0);let H=a.unpackPolygonHierarchy(e,t,S);t=H.startingIndex,delete H.startingIndex;let l=y.unpack(e,t,J);t+=y.packedLength;let _=e[t++],p=e[t++],s=e[t++],n=e[t++]===1,i=e[t++]===1,o=e[t++],c=e[t++],f=e[t];return O(r)||(r=new L(Q)),r._polygonHierarchy=H,r._ellipsoid=y.clone(l,r._ellipsoid),r._height=_,r._extrudedHeight=p,r._granularity=s,r._perPositionHeight=i,r._perPositionHeightExtrude=n,r._arcType=o,r._offsetAttribute=c===-1?void 0:c,r.packedLength=f,r};L.fromPositions=function(e){e=P(e,P.EMPTY_OBJECT),A.defined("options.positions",e.positions);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new L(t)};L.createGeometry=function(e){let t=e._ellipsoid,r=e._granularity,H=e._polygonHierarchy,l=e._perPositionHeight,_=e._arcType,p=a.polygonOutlinesFromHierarchy(H,!l,t);if(p.length===0)return;let s,n=[],i=T.chordLength(r,t.maximumRadius),o=e._height,c=e._extrudedHeight,f=e._perPositionHeightExtrude||!T.equalsEpsilon(o,c,0,T.EPSILON2),m,u;if(f)for(u=0;u<p.length;u++){if(s=q(t,p[u],i,l,_),s.geometry=a.scaleToGeodeticHeightExtruded(s.geometry,o,c,t,l),O(e._offsetAttribute)){let d=s.geometry.attributes.position.values.length/3,E=new Uint8Array(d);e._offsetAttribute===D.TOP?E=E.fill(1,0,d/2):(m=e._offsetAttribute===D.NONE?0:1,E=E.fill(m)),s.geometry.attributes.applyOffset=new v({componentDatatype:w.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}n.push(s)}else for(u=0;u<p.length;u++){if(s=K(t,p[u],i,l,_),s.geometry.attributes.position.values=k.scaleToGeodeticHeight(s.geometry.attributes.position.values,o,t,!l),O(e._offsetAttribute)){let d=s.geometry.attributes.position.values.length;m=e._offsetAttribute===D.NONE?0:1;let E=new Uint8Array(d/3).fill(m);s.geometry.attributes.applyOffset=new v({componentDatatype:w.UNSIGNED_BYTE,componentsPerAttribute:1,values:E})}n.push(s)}let h=V.combineInstances(n)[0],g=z.fromVertices(h.attributes.position.values);return new C({attributes:h.attributes,indices:h.indices,primitiveType:h.primitiveType,boundingSphere:g,offsetAttribute:e._offsetAttribute})};var x=L;function X(e,t){return O(t)&&(e=x.unpack(e,t)),e._ellipsoid=y.clone(e._ellipsoid),x.createGeometry(e)}var Oe=X;export{Oe as default}; diff --git a/public/lib/Cesium/Workers/createPolylineGeometry.js b/public/lib/Cesium/Workers/createPolylineGeometry.js index d7bfbec0b..cc51b7e58 100644 --- a/public/lib/Cesium/Workers/createPolylineGeometry.js +++ b/public/lib/Cesium/Workers/createPolylineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as m}from"./chunk-XHJOIQBC.js";import{a as N}from"./chunk-6X7WLTTW.js";import{a as U}from"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import{a as k}from"./chunk-6YAFAZVV.js";import{a as le}from"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as se}from"./chunk-UGB43LJM.js";import{a as ce}from"./chunk-WFZLZ2P5.js";import{a as ne,b as re,c as ie,d as O}from"./chunk-CTEHZS7O.js";import{d as oe}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as x}from"./chunk-27UWHT4D.js";import{a as p,d as u}from"./chunk-RFPX772U.js";import{a as J}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as A}from"./chunk-6KLVDWWE.js";import{a as V}from"./chunk-6P5KAIBX.js";import{e as h}from"./chunk-4FSVUTPL.js";var me=[];function Ae(e,o,t,n,c){let s=me;s.length=c;let l,E=t.red,a=t.green,r=t.blue,w=t.alpha,b=n.red,i=n.green,f=n.blue,L=n.alpha;if(m.equals(t,n)){for(l=0;l<c;l++)s[l]=m.clone(t);return s}let M=(b-E)/c,z=(i-a)/c,H=(f-r)/c,B=(L-w)/c;for(l=0;l<c;l++)s[l]=new m(E+l*M,a+l*z,r+l*H,w+l*B);return s}function G(e){e=A(e,A.EMPTY_OBJECT);let o=e.positions,t=e.colors,n=A(e.width,1),c=A(e.colorsPerVertex,!1);if(!h(o)||o.length<2)throw new V("At least two positions are required.");if(typeof n!="number")throw new V("width must be a number");if(h(t)&&(c&&t.length<o.length||!c&&t.length<o.length-1))throw new V("colors has an invalid length.");this._positions=o,this._colors=t,this._width=n,this._colorsPerVertex=c,this._vertexFormat=k.clone(A(e.vertexFormat,k.DEFAULT)),this._arcType=A(e.arcType,N.GEODESIC),this._granularity=A(e.granularity,J.RADIANS_PER_DEGREE),this._ellipsoid=u.clone(A(e.ellipsoid,u.default)),this._workerName="createPolylineGeometry";let s=1+o.length*p.packedLength;s+=h(t)?1+t.length*m.packedLength:1,this.packedLength=s+u.packedLength+k.packedLength+4}G.pack=function(e,o,t){if(!h(e))throw new V("value is required");if(!h(o))throw new V("array is required");t=A(t,0);let n,c=e._positions,s=c.length;for(o[t++]=s,n=0;n<s;++n,t+=p.packedLength)p.pack(c[n],o,t);let l=e._colors;for(s=h(l)?l.length:0,o[t++]=s,n=0;n<s;++n,t+=m.packedLength)m.pack(l[n],o,t);return u.pack(e._ellipsoid,o,t),t+=u.packedLength,k.pack(e._vertexFormat,o,t),t+=k.packedLength,o[t++]=e._width,o[t++]=e._colorsPerVertex?1:0,o[t++]=e._arcType,o[t]=e._granularity,o};var de=u.clone(u.UNIT_SPHERE),ue=new k,S={positions:void 0,colors:void 0,ellipsoid:de,vertexFormat:ue,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};G.unpack=function(e,o,t){if(!h(e))throw new V("array is required");o=A(o,0);let n,c=e[o++],s=new Array(c);for(n=0;n<c;++n,o+=p.packedLength)s[n]=p.unpack(e,o);c=e[o++];let l=c>0?new Array(c):void 0;for(n=0;n<c;++n,o+=m.packedLength)l[n]=m.unpack(e,o);let E=u.unpack(e,o,de);o+=u.packedLength;let a=k.unpack(e,o,ue);o+=k.packedLength;let r=e[o++],w=e[o++]===1,b=e[o++],i=e[o];return h(t)?(t._positions=s,t._colors=l,t._ellipsoid=u.clone(E,t._ellipsoid),t._vertexFormat=k.clone(a,t._vertexFormat),t._width=r,t._colorsPerVertex=w,t._arcType=b,t._granularity=i,t):(S.positions=s,S.colors=l,S.width=r,S.colorsPerVertex=w,S.arcType=b,S.granularity=i,new G(S))};var pe=new p,ae=new p,fe=new p,he=new p;G.createGeometry=function(e){let o=e._width,t=e._vertexFormat,n=e._colors,c=e._colorsPerVertex,s=e._arcType,l=e._granularity,E=e._ellipsoid,a,r,w,b=[],i=le(e._positions,p.equalsEpsilon,!1,b);if(h(n)&&b.length>0){let d=0,P=b[0];n=n.filter(function(q,T){let g=!1;return c?g=T===P||T===0&&P===1:g=T+1===P,g?(d++,P=b[d],!1):!0})}let f=i.length;if(f<2||o<=0)return;if(s===N.GEODESIC||s===N.RHUMB){let d,P;s===N.GEODESIC?(d=J.chordLength(l,E.maximumRadius),P=U.numberOfPoints):(d=l,P=U.numberOfPointsRhumbLine);let q=U.extractHeights(i,E);if(h(n)){let T=1;for(a=0;a<f-1;++a)T+=P(i[a],i[a+1],d);let g=new Array(T),D=0;for(a=0;a<f-1;++a){let Z=i[a],$=i[a+1],I=n[a],ee=P(Z,$,d);if(c&&a<T){let _e=n[a+1],te=Ae(Z,$,I,_e,ee),Pe=te.length;for(r=0;r<Pe;++r)g[D++]=te[r]}else for(r=0;r<ee;++r)g[D++]=m.clone(I)}g[D]=m.clone(n[n.length-1]),n=g,me.length=0}s===N.GEODESIC?i=U.generateCartesianArc({positions:i,minDistance:d,ellipsoid:E,height:q}):i=U.generateCartesianRhumbArc({positions:i,granularity:d,ellipsoid:E,height:q})}f=i.length;let L=f*4-4,M=new Float64Array(L*3),z=new Float64Array(L*3),H=new Float64Array(L*3),B=new Float32Array(L*2),K=t.st?new Float32Array(L*2):void 0,y=h(n)?new Uint8Array(L*4):void 0,W=0,j=0,X=0,Y=0,_;for(r=0;r<f;++r){r===0?(_=pe,p.subtract(i[0],i[1],_),p.add(i[0],_,_)):_=i[r-1],p.clone(_,fe),p.clone(i[r],ae),r===f-1?(_=pe,p.subtract(i[f-1],i[f-2],_),p.add(i[f-1],_,_)):_=i[r+1],p.clone(_,he);let d,P;h(y)&&(r!==0&&!c?d=n[r-1]:d=n[r],r!==f-1&&(P=n[r]));let q=r===0?2:0,T=r===f-1?2:4;for(w=q;w<T;++w){p.pack(ae,M,W),p.pack(fe,z,W),p.pack(he,H,W),W+=3;let g=w-2<0?-1:1;if(B[j++]=2*(w%2)-1,B[j++]=g*o,t.st&&(K[X++]=r/(f-1),K[X++]=Math.max(B[j-2],0)),h(y)){let D=w<2?d:P;y[Y++]=m.floatToByte(D.red),y[Y++]=m.floatToByte(D.green),y[Y++]=m.floatToByte(D.blue),y[Y++]=m.floatToByte(D.alpha)}}}let v=new ce;v.position=new O({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:M}),v.prevPosition=new O({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:z}),v.nextPosition=new O({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:H}),v.expandAndWidth=new O({componentDatatype:x.FLOAT,componentsPerAttribute:2,values:B}),t.st&&(v.st=new O({componentDatatype:x.FLOAT,componentsPerAttribute:2,values:K})),h(y)&&(v.color=new O({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:4,values:y,normalize:!0}));let C=se.createTypedArray(L,f*6-6),F=0,R=0,we=f-1;for(r=0;r<we;++r)C[R++]=F,C[R++]=F+2,C[R++]=F+1,C[R++]=F+1,C[R++]=F+2,C[R++]=F+3,F+=4;return new ie({attributes:v,indices:C,primitiveType:re.TRIANGLES,boundingSphere:oe.fromPoints(i),geometryType:ne.POLYLINES})};var Q=G;function ge(e,o){return h(o)&&(e=Q.unpack(e,o)),e._ellipsoid=u.clone(e._ellipsoid),Q.createGeometry(e)}var We=ge;export{We as default}; +import{a as m}from"./chunk-SXINKIB2.js";import{a as N}from"./chunk-BRDKDER4.js";import{a as U}from"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import{a as k}from"./chunk-RPAJTIFB.js";import{a as le}from"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as se}from"./chunk-A3VS2OZ2.js";import{a as ce}from"./chunk-E2XIHPTZ.js";import{a as ne,b as re,c as ie,d as O}from"./chunk-72NMS5KE.js";import{d as oe}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as x}from"./chunk-GNTVNTUY.js";import{a as p,d as u}from"./chunk-HWH6BBH6.js";import{a as J}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as A}from"./chunk-CJFJKB5V.js";import{a as V}from"./chunk-4BGNE6LH.js";import{e as h}from"./chunk-OX5CTLXY.js";var me=[];function Ae(e,o,t,n,c){let s=me;s.length=c;let l,E=t.red,a=t.green,r=t.blue,w=t.alpha,b=n.red,i=n.green,f=n.blue,L=n.alpha;if(m.equals(t,n)){for(l=0;l<c;l++)s[l]=m.clone(t);return s}let M=(b-E)/c,z=(i-a)/c,H=(f-r)/c,B=(L-w)/c;for(l=0;l<c;l++)s[l]=new m(E+l*M,a+l*z,r+l*H,w+l*B);return s}function G(e){e=A(e,A.EMPTY_OBJECT);let o=e.positions,t=e.colors,n=A(e.width,1),c=A(e.colorsPerVertex,!1);if(!h(o)||o.length<2)throw new V("At least two positions are required.");if(typeof n!="number")throw new V("width must be a number");if(h(t)&&(c&&t.length<o.length||!c&&t.length<o.length-1))throw new V("colors has an invalid length.");this._positions=o,this._colors=t,this._width=n,this._colorsPerVertex=c,this._vertexFormat=k.clone(A(e.vertexFormat,k.DEFAULT)),this._arcType=A(e.arcType,N.GEODESIC),this._granularity=A(e.granularity,J.RADIANS_PER_DEGREE),this._ellipsoid=u.clone(A(e.ellipsoid,u.default)),this._workerName="createPolylineGeometry";let s=1+o.length*p.packedLength;s+=h(t)?1+t.length*m.packedLength:1,this.packedLength=s+u.packedLength+k.packedLength+4}G.pack=function(e,o,t){if(!h(e))throw new V("value is required");if(!h(o))throw new V("array is required");t=A(t,0);let n,c=e._positions,s=c.length;for(o[t++]=s,n=0;n<s;++n,t+=p.packedLength)p.pack(c[n],o,t);let l=e._colors;for(s=h(l)?l.length:0,o[t++]=s,n=0;n<s;++n,t+=m.packedLength)m.pack(l[n],o,t);return u.pack(e._ellipsoid,o,t),t+=u.packedLength,k.pack(e._vertexFormat,o,t),t+=k.packedLength,o[t++]=e._width,o[t++]=e._colorsPerVertex?1:0,o[t++]=e._arcType,o[t]=e._granularity,o};var de=u.clone(u.UNIT_SPHERE),ue=new k,S={positions:void 0,colors:void 0,ellipsoid:de,vertexFormat:ue,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};G.unpack=function(e,o,t){if(!h(e))throw new V("array is required");o=A(o,0);let n,c=e[o++],s=new Array(c);for(n=0;n<c;++n,o+=p.packedLength)s[n]=p.unpack(e,o);c=e[o++];let l=c>0?new Array(c):void 0;for(n=0;n<c;++n,o+=m.packedLength)l[n]=m.unpack(e,o);let E=u.unpack(e,o,de);o+=u.packedLength;let a=k.unpack(e,o,ue);o+=k.packedLength;let r=e[o++],w=e[o++]===1,b=e[o++],i=e[o];return h(t)?(t._positions=s,t._colors=l,t._ellipsoid=u.clone(E,t._ellipsoid),t._vertexFormat=k.clone(a,t._vertexFormat),t._width=r,t._colorsPerVertex=w,t._arcType=b,t._granularity=i,t):(S.positions=s,S.colors=l,S.width=r,S.colorsPerVertex=w,S.arcType=b,S.granularity=i,new G(S))};var pe=new p,ae=new p,fe=new p,he=new p;G.createGeometry=function(e){let o=e._width,t=e._vertexFormat,n=e._colors,c=e._colorsPerVertex,s=e._arcType,l=e._granularity,E=e._ellipsoid,a,r,w,b=[],i=le(e._positions,p.equalsEpsilon,!1,b);if(h(n)&&b.length>0){let d=0,P=b[0];n=n.filter(function(q,T){let g=!1;return c?g=T===P||T===0&&P===1:g=T+1===P,g?(d++,P=b[d],!1):!0})}let f=i.length;if(f<2||o<=0)return;if(s===N.GEODESIC||s===N.RHUMB){let d,P;s===N.GEODESIC?(d=J.chordLength(l,E.maximumRadius),P=U.numberOfPoints):(d=l,P=U.numberOfPointsRhumbLine);let q=U.extractHeights(i,E);if(h(n)){let T=1;for(a=0;a<f-1;++a)T+=P(i[a],i[a+1],d);let g=new Array(T),D=0;for(a=0;a<f-1;++a){let Z=i[a],$=i[a+1],I=n[a],ee=P(Z,$,d);if(c&&a<T){let _e=n[a+1],te=Ae(Z,$,I,_e,ee),Pe=te.length;for(r=0;r<Pe;++r)g[D++]=te[r]}else for(r=0;r<ee;++r)g[D++]=m.clone(I)}g[D]=m.clone(n[n.length-1]),n=g,me.length=0}s===N.GEODESIC?i=U.generateCartesianArc({positions:i,minDistance:d,ellipsoid:E,height:q}):i=U.generateCartesianRhumbArc({positions:i,granularity:d,ellipsoid:E,height:q})}f=i.length;let L=f*4-4,M=new Float64Array(L*3),z=new Float64Array(L*3),H=new Float64Array(L*3),B=new Float32Array(L*2),K=t.st?new Float32Array(L*2):void 0,y=h(n)?new Uint8Array(L*4):void 0,W=0,j=0,X=0,Y=0,_;for(r=0;r<f;++r){r===0?(_=pe,p.subtract(i[0],i[1],_),p.add(i[0],_,_)):_=i[r-1],p.clone(_,fe),p.clone(i[r],ae),r===f-1?(_=pe,p.subtract(i[f-1],i[f-2],_),p.add(i[f-1],_,_)):_=i[r+1],p.clone(_,he);let d,P;h(y)&&(r!==0&&!c?d=n[r-1]:d=n[r],r!==f-1&&(P=n[r]));let q=r===0?2:0,T=r===f-1?2:4;for(w=q;w<T;++w){p.pack(ae,M,W),p.pack(fe,z,W),p.pack(he,H,W),W+=3;let g=w-2<0?-1:1;if(B[j++]=2*(w%2)-1,B[j++]=g*o,t.st&&(K[X++]=r/(f-1),K[X++]=Math.max(B[j-2],0)),h(y)){let D=w<2?d:P;y[Y++]=m.floatToByte(D.red),y[Y++]=m.floatToByte(D.green),y[Y++]=m.floatToByte(D.blue),y[Y++]=m.floatToByte(D.alpha)}}}let v=new ce;v.position=new O({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:M}),v.prevPosition=new O({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:z}),v.nextPosition=new O({componentDatatype:x.DOUBLE,componentsPerAttribute:3,values:H}),v.expandAndWidth=new O({componentDatatype:x.FLOAT,componentsPerAttribute:2,values:B}),t.st&&(v.st=new O({componentDatatype:x.FLOAT,componentsPerAttribute:2,values:K})),h(y)&&(v.color=new O({componentDatatype:x.UNSIGNED_BYTE,componentsPerAttribute:4,values:y,normalize:!0}));let C=se.createTypedArray(L,f*6-6),F=0,R=0,we=f-1;for(r=0;r<we;++r)C[R++]=F,C[R++]=F+2,C[R++]=F+1,C[R++]=F+1,C[R++]=F+2,C[R++]=F+3,F+=4;return new ie({attributes:v,indices:C,primitiveType:re.TRIANGLES,boundingSphere:oe.fromPoints(i),geometryType:ne.POLYLINES})};var Q=G;function ge(e,o){return h(o)&&(e=Q.unpack(e,o)),e._ellipsoid=u.clone(e._ellipsoid),Q.createGeometry(e)}var We=ge;export{We as default}; diff --git a/public/lib/Cesium/Workers/createPolylineVolumeGeometry.js b/public/lib/Cesium/Workers/createPolylineVolumeGeometry.js index 36f0175f9..1a625a685 100644 --- a/public/lib/Cesium/Workers/createPolylineVolumeGeometry.js +++ b/public/lib/Cesium/Workers/createPolylineVolumeGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as M}from"./chunk-3U6PIWIV.js";import{a as W}from"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import{a as I,b as j}from"./chunk-GXCW7MIH.js";import"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import{a as g}from"./chunk-6YAFAZVV.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import{a as x,b as V}from"./chunk-542N7J5N.js";import{a as $}from"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as Z}from"./chunk-UGB43LJM.js";import{a as X}from"./chunk-WFZLZ2P5.js";import{b as z,c as Q,d as U}from"./chunk-CTEHZS7O.js";import{d as Y}from"./chunk-4TXI27XR.js";import{h as K}from"./chunk-GFUBU5RD.js";import{a as B}from"./chunk-27UWHT4D.js";import{a as T,c as C,d as f}from"./chunk-RFPX772U.js";import{a as J}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as k}from"./chunk-6KLVDWWE.js";import{a as D}from"./chunk-6P5KAIBX.js";import{e as _}from"./chunk-4FSVUTPL.js";function oe(t,e,n,o){let l=new X;o.position&&(l.position=new U({componentDatatype:B.DOUBLE,componentsPerAttribute:3,values:t}));let i=e.length,u=t.length/3,L=(u-i*2)/(i*2),E=V.triangulate(e),q=(L-1)*i*6+E.length*2,r=Z.createTypedArray(u,q),m,s,d,b,A,F,G=i*2,p=0;for(m=0;m<L-1;m++){for(s=0;s<i-1;s++)d=s*2+m*i*2,F=d+G,b=d+1,A=b+G,r[p++]=b,r[p++]=d,r[p++]=A,r[p++]=A,r[p++]=d,r[p++]=F;d=i*2-2+m*i*2,b=d+1,A=b+G,F=d+G,r[p++]=b,r[p++]=d,r[p++]=A,r[p++]=A,r[p++]=d,r[p++]=F}if(o.st||o.tangent||o.bitangent){let c=new Float32Array(u*2),O=1/(L-1),w=1/n.height,S=n.height/2,y,a,h=0;for(m=0;m<L;m++){for(y=m*O,a=w*(e[0].y+S),c[h++]=y,c[h++]=a,s=1;s<i;s++)a=w*(e[s].y+S),c[h++]=y,c[h++]=a,c[h++]=y,c[h++]=a;a=w*(e[0].y+S),c[h++]=y,c[h++]=a}for(s=0;s<i;s++)y=0,a=w*(e[s].y+S),c[h++]=y,c[h++]=a;for(s=0;s<i;s++)y=(L-1)*O,a=w*(e[s].y+S),c[h++]=y,c[h++]=a;l.st=new U({componentDatatype:B.FLOAT,componentsPerAttribute:2,values:new Float32Array(c)})}let N=u-i*2;for(m=0;m<E.length;m+=3){let c=E[m]+N,O=E[m+1]+N,w=E[m+2]+N;r[p++]=c,r[p++]=O,r[p++]=w,r[p++]=w+i,r[p++]=O+i,r[p++]=c+i}let P=new Q({attributes:l,indices:r,boundingSphere:Y.fromVertices(t),primitiveType:z.TRIANGLES});if(o.normal&&(P=W.computeNormal(P)),o.tangent||o.bitangent){try{P=W.computeTangentAndBitangent(P)}catch{K("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}o.tangent||(P.attributes.tangent=void 0),o.bitangent||(P.attributes.bitangent=void 0),o.st||(P.attributes.st=void 0)}return P}function R(t){t=k(t,k.EMPTY_OBJECT);let e=t.polylinePositions,n=t.shapePositions;if(!_(e))throw new D("options.polylinePositions is required.");if(!_(n))throw new D("options.shapePositions is required.");this._positions=e,this._shape=n,this._ellipsoid=f.clone(k(t.ellipsoid,f.default)),this._cornerType=k(t.cornerType,I.ROUNDED),this._vertexFormat=g.clone(k(t.vertexFormat,g.DEFAULT)),this._granularity=k(t.granularity,J.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let o=1+e.length*T.packedLength;o+=1+n.length*C.packedLength,this.packedLength=o+f.packedLength+g.packedLength+2}R.pack=function(t,e,n){if(!_(t))throw new D("value is required");if(!_(e))throw new D("array is required");n=k(n,0);let o,l=t._positions,i=l.length;for(e[n++]=i,o=0;o<i;++o,n+=T.packedLength)T.pack(l[o],e,n);let u=t._shape;for(i=u.length,e[n++]=i,o=0;o<i;++o,n+=C.packedLength)C.pack(u[o],e,n);return f.pack(t._ellipsoid,e,n),n+=f.packedLength,g.pack(t._vertexFormat,e,n),n+=g.packedLength,e[n++]=t._cornerType,e[n]=t._granularity,e};var ee=f.clone(f.UNIT_SPHERE),te=new g,v={polylinePositions:void 0,shapePositions:void 0,ellipsoid:ee,vertexFormat:te,cornerType:void 0,granularity:void 0};R.unpack=function(t,e,n){if(!_(t))throw new D("array is required");e=k(e,0);let o,l=t[e++],i=new Array(l);for(o=0;o<l;++o,e+=T.packedLength)i[o]=T.unpack(t,e);l=t[e++];let u=new Array(l);for(o=0;o<l;++o,e+=C.packedLength)u[o]=C.unpack(t,e);let L=f.unpack(t,e,ee);e+=f.packedLength;let E=g.unpack(t,e,te);e+=g.packedLength;let q=t[e++],r=t[e];return _(n)?(n._positions=i,n._shape=u,n._ellipsoid=f.clone(L,n._ellipsoid),n._vertexFormat=g.clone(E,n._vertexFormat),n._cornerType=q,n._granularity=r,n):(v.polylinePositions=i,v.shapePositions=u,v.cornerType=q,v.granularity=r,new R(v))};var ne=new M;R.createGeometry=function(t){let e=t._positions,n=$(e,T.equalsEpsilon),o=t._shape;if(o=j.removeDuplicatesFromShape(o),n.length<2||o.length<3)return;V.computeWindingOrder2D(o)===x.CLOCKWISE&&o.reverse();let l=M.fromPoints(o,ne),i=j.computePositions(n,o,l,t,!0);return oe(i,o,l,t._vertexFormat)};var H=R;function ie(t,e){return _(e)&&(t=H.unpack(t,e)),t._ellipsoid=f.clone(t._ellipsoid),H.createGeometry(t)}var Re=ie;export{Re as default}; +import{a as M}from"./chunk-4ALHVD6K.js";import{a as W}from"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import{a as x,b as I,c as j}from"./chunk-OWPC6DLM.js";import"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import{a as g}from"./chunk-RPAJTIFB.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import{a as $,b as V}from"./chunk-S4WTTFQO.js";import{a as Z}from"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as X}from"./chunk-A3VS2OZ2.js";import{a as Q}from"./chunk-E2XIHPTZ.js";import{b as Y,c as z,d as U}from"./chunk-72NMS5KE.js";import{d as K}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as B}from"./chunk-GNTVNTUY.js";import{a as T,c as C,d as f}from"./chunk-HWH6BBH6.js";import{a as J}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as k}from"./chunk-CJFJKB5V.js";import{a as D}from"./chunk-4BGNE6LH.js";import{e as _}from"./chunk-OX5CTLXY.js";function oe(t,e,n,o){let l=new Q;o.position&&(l.position=new U({componentDatatype:B.DOUBLE,componentsPerAttribute:3,values:t}));let i=e.length,u=t.length/3,L=(u-i*2)/(i*2),E=V.triangulate(e),q=(L-1)*i*6+E.length*2,r=X.createTypedArray(u,q),m,s,d,b,A,F,G=i*2,p=0;for(m=0;m<L-1;m++){for(s=0;s<i-1;s++)d=s*2+m*i*2,F=d+G,b=d+1,A=b+G,r[p++]=b,r[p++]=d,r[p++]=A,r[p++]=A,r[p++]=d,r[p++]=F;d=i*2-2+m*i*2,b=d+1,A=b+G,F=d+G,r[p++]=b,r[p++]=d,r[p++]=A,r[p++]=A,r[p++]=d,r[p++]=F}if(o.st||o.tangent||o.bitangent){let c=new Float32Array(u*2),O=1/(L-1),w=1/n.height,S=n.height/2,y,a,h=0;for(m=0;m<L;m++){for(y=m*O,a=w*(e[0].y+S),c[h++]=y,c[h++]=a,s=1;s<i;s++)a=w*(e[s].y+S),c[h++]=y,c[h++]=a,c[h++]=y,c[h++]=a;a=w*(e[0].y+S),c[h++]=y,c[h++]=a}for(s=0;s<i;s++)y=0,a=w*(e[s].y+S),c[h++]=y,c[h++]=a;for(s=0;s<i;s++)y=(L-1)*O,a=w*(e[s].y+S),c[h++]=y,c[h++]=a;l.st=new U({componentDatatype:B.FLOAT,componentsPerAttribute:2,values:new Float32Array(c)})}let N=u-i*2;for(m=0;m<E.length;m+=3){let c=E[m]+N,O=E[m+1]+N,w=E[m+2]+N;r[p++]=c,r[p++]=O,r[p++]=w,r[p++]=w+i,r[p++]=O+i,r[p++]=c+i}let P=new z({attributes:l,indices:r,boundingSphere:K.fromVertices(t),primitiveType:Y.TRIANGLES});if(o.normal&&(P=W.computeNormal(P)),o.tangent||o.bitangent){try{P=W.computeTangentAndBitangent(P)}catch{I("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}o.tangent||(P.attributes.tangent=void 0),o.bitangent||(P.attributes.bitangent=void 0),o.st||(P.attributes.st=void 0)}return P}function R(t){t=k(t,k.EMPTY_OBJECT);let e=t.polylinePositions,n=t.shapePositions;if(!_(e))throw new D("options.polylinePositions is required.");if(!_(n))throw new D("options.shapePositions is required.");this._positions=e,this._shape=n,this._ellipsoid=f.clone(k(t.ellipsoid,f.default)),this._cornerType=k(t.cornerType,x.ROUNDED),this._vertexFormat=g.clone(k(t.vertexFormat,g.DEFAULT)),this._granularity=k(t.granularity,J.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let o=1+e.length*T.packedLength;o+=1+n.length*C.packedLength,this.packedLength=o+f.packedLength+g.packedLength+2}R.pack=function(t,e,n){if(!_(t))throw new D("value is required");if(!_(e))throw new D("array is required");n=k(n,0);let o,l=t._positions,i=l.length;for(e[n++]=i,o=0;o<i;++o,n+=T.packedLength)T.pack(l[o],e,n);let u=t._shape;for(i=u.length,e[n++]=i,o=0;o<i;++o,n+=C.packedLength)C.pack(u[o],e,n);return f.pack(t._ellipsoid,e,n),n+=f.packedLength,g.pack(t._vertexFormat,e,n),n+=g.packedLength,e[n++]=t._cornerType,e[n]=t._granularity,e};var ee=f.clone(f.UNIT_SPHERE),te=new g,v={polylinePositions:void 0,shapePositions:void 0,ellipsoid:ee,vertexFormat:te,cornerType:void 0,granularity:void 0};R.unpack=function(t,e,n){if(!_(t))throw new D("array is required");e=k(e,0);let o,l=t[e++],i=new Array(l);for(o=0;o<l;++o,e+=T.packedLength)i[o]=T.unpack(t,e);l=t[e++];let u=new Array(l);for(o=0;o<l;++o,e+=C.packedLength)u[o]=C.unpack(t,e);let L=f.unpack(t,e,ee);e+=f.packedLength;let E=g.unpack(t,e,te);e+=g.packedLength;let q=t[e++],r=t[e];return _(n)?(n._positions=i,n._shape=u,n._ellipsoid=f.clone(L,n._ellipsoid),n._vertexFormat=g.clone(E,n._vertexFormat),n._cornerType=q,n._granularity=r,n):(v.polylinePositions=i,v.shapePositions=u,v.cornerType=q,v.granularity=r,new R(v))};var ne=new M;R.createGeometry=function(t){let e=t._positions,n=Z(e,T.equalsEpsilon),o=t._shape;if(o=j.removeDuplicatesFromShape(o),n.length<2||o.length<3)return;V.computeWindingOrder2D(o)===$.CLOCKWISE&&o.reverse();let l=M.fromPoints(o,ne),i=j.computePositions(n,o,l,t,!0);return oe(i,o,l,t._vertexFormat)};var H=R;function ie(t,e){return _(e)&&(t=H.unpack(t,e)),t._ellipsoid=f.clone(t._ellipsoid),H.createGeometry(t)}var Re=ie;export{Re as default}; diff --git a/public/lib/Cesium/Workers/createPolylineVolumeOutlineGeometry.js b/public/lib/Cesium/Workers/createPolylineVolumeOutlineGeometry.js index 41165e2ad..7508d7ad3 100644 --- a/public/lib/Cesium/Workers/createPolylineVolumeOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createPolylineVolumeOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as w}from"./chunk-3U6PIWIV.js";import{a as N,b as E}from"./chunk-GXCW7MIH.js";import"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import{a as v,b as G}from"./chunk-542N7J5N.js";import{a as q}from"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as k}from"./chunk-UGB43LJM.js";import{a as O}from"./chunk-WFZLZ2P5.js";import{b as A,c as R,d as S}from"./chunk-CTEHZS7O.js";import{d as C}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as b}from"./chunk-27UWHT4D.js";import{a,c as _,d as s}from"./chunk-RFPX772U.js";import{a as D}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as d}from"./chunk-6KLVDWWE.js";import{a as y}from"./chunk-6P5KAIBX.js";import{e as u}from"./chunk-4FSVUTPL.js";function W(o,i){let t=new O;t.position=new S({componentDatatype:b.DOUBLE,componentsPerAttribute:3,values:o});let e=i.length,r=t.position.values.length/3,f=o.length/3/e,p=k.createTypedArray(r,2*e*(f+1)),m,n,l=0;m=0;let h=m*e;for(n=0;n<e-1;n++)p[l++]=n+h,p[l++]=n+h+1;for(p[l++]=e-1+h,p[l++]=h,m=f-1,h=m*e,n=0;n<e-1;n++)p[l++]=n+h,p[l++]=n+h+1;for(p[l++]=e-1+h,p[l++]=h,m=0;m<f-1;m++){let T=e*m,U=T+e;for(n=0;n<e;n++)p[l++]=n+T,p[l++]=n+U}return new R({attributes:t,indices:k.createTypedArray(r,p),boundingSphere:C.fromVertices(o),primitiveType:A.LINES})}function g(o){o=d(o,d.EMPTY_OBJECT);let i=o.polylinePositions,t=o.shapePositions;if(!u(i))throw new y("options.polylinePositions is required.");if(!u(t))throw new y("options.shapePositions is required.");this._positions=i,this._shape=t,this._ellipsoid=s.clone(d(o.ellipsoid,s.default)),this._cornerType=d(o.cornerType,N.ROUNDED),this._granularity=d(o.granularity,D.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let e=1+i.length*a.packedLength;e+=1+t.length*_.packedLength,this.packedLength=e+s.packedLength+2}g.pack=function(o,i,t){if(!u(o))throw new y("value is required");if(!u(i))throw new y("array is required");t=d(t,0);let e,r=o._positions,c=r.length;for(i[t++]=c,e=0;e<c;++e,t+=a.packedLength)a.pack(r[e],i,t);let f=o._shape;for(c=f.length,i[t++]=c,e=0;e<c;++e,t+=_.packedLength)_.pack(f[e],i,t);return s.pack(o._ellipsoid,i,t),t+=s.packedLength,i[t++]=o._cornerType,i[t]=o._granularity,i};var B=s.clone(s.UNIT_SPHERE),P={polylinePositions:void 0,shapePositions:void 0,ellipsoid:B,height:void 0,cornerType:void 0,granularity:void 0};g.unpack=function(o,i,t){if(!u(o))throw new y("array is required");i=d(i,0);let e,r=o[i++],c=new Array(r);for(e=0;e<r;++e,i+=a.packedLength)c[e]=a.unpack(o,i);r=o[i++];let f=new Array(r);for(e=0;e<r;++e,i+=_.packedLength)f[e]=_.unpack(o,i);let p=s.unpack(o,i,B);i+=s.packedLength;let m=o[i++],n=o[i];return u(t)?(t._positions=c,t._shape=f,t._ellipsoid=s.clone(p,t._ellipsoid),t._cornerType=m,t._granularity=n,t):(P.polylinePositions=c,P.shapePositions=f,P.cornerType=m,P.granularity=n,new g(P))};var M=new w;g.createGeometry=function(o){let i=o._positions,t=q(i,a.equalsEpsilon),e=o._shape;if(e=E.removeDuplicatesFromShape(e),t.length<2||e.length<3)return;G.computeWindingOrder2D(e)===v.CLOCKWISE&&e.reverse();let r=w.fromPoints(e,M),c=E.computePositions(t,e,r,o,!1);return W(c,e)};var L=g;function j(o,i){return u(i)&&(o=L.unpack(o,i)),o._ellipsoid=s.clone(o._ellipsoid),L.createGeometry(o)}var he=j;export{he as default}; +import{a as w}from"./chunk-4ALHVD6K.js";import{a as N,c as E}from"./chunk-OWPC6DLM.js";import"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import{a as v,b as G}from"./chunk-S4WTTFQO.js";import{a as q}from"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as k}from"./chunk-A3VS2OZ2.js";import{a as O}from"./chunk-E2XIHPTZ.js";import{b as A,c as R,d as S}from"./chunk-72NMS5KE.js";import{d as C}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as b}from"./chunk-GNTVNTUY.js";import{a,c as _,d as s}from"./chunk-HWH6BBH6.js";import{a as D}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as d}from"./chunk-CJFJKB5V.js";import{a as y}from"./chunk-4BGNE6LH.js";import{e as u}from"./chunk-OX5CTLXY.js";function W(o,i){let t=new O;t.position=new S({componentDatatype:b.DOUBLE,componentsPerAttribute:3,values:o});let e=i.length,r=t.position.values.length/3,f=o.length/3/e,p=k.createTypedArray(r,2*e*(f+1)),m,n,l=0;m=0;let h=m*e;for(n=0;n<e-1;n++)p[l++]=n+h,p[l++]=n+h+1;for(p[l++]=e-1+h,p[l++]=h,m=f-1,h=m*e,n=0;n<e-1;n++)p[l++]=n+h,p[l++]=n+h+1;for(p[l++]=e-1+h,p[l++]=h,m=0;m<f-1;m++){let T=e*m,U=T+e;for(n=0;n<e;n++)p[l++]=n+T,p[l++]=n+U}return new R({attributes:t,indices:k.createTypedArray(r,p),boundingSphere:C.fromVertices(o),primitiveType:A.LINES})}function g(o){o=d(o,d.EMPTY_OBJECT);let i=o.polylinePositions,t=o.shapePositions;if(!u(i))throw new y("options.polylinePositions is required.");if(!u(t))throw new y("options.shapePositions is required.");this._positions=i,this._shape=t,this._ellipsoid=s.clone(d(o.ellipsoid,s.default)),this._cornerType=d(o.cornerType,N.ROUNDED),this._granularity=d(o.granularity,D.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let e=1+i.length*a.packedLength;e+=1+t.length*_.packedLength,this.packedLength=e+s.packedLength+2}g.pack=function(o,i,t){if(!u(o))throw new y("value is required");if(!u(i))throw new y("array is required");t=d(t,0);let e,r=o._positions,c=r.length;for(i[t++]=c,e=0;e<c;++e,t+=a.packedLength)a.pack(r[e],i,t);let f=o._shape;for(c=f.length,i[t++]=c,e=0;e<c;++e,t+=_.packedLength)_.pack(f[e],i,t);return s.pack(o._ellipsoid,i,t),t+=s.packedLength,i[t++]=o._cornerType,i[t]=o._granularity,i};var B=s.clone(s.UNIT_SPHERE),P={polylinePositions:void 0,shapePositions:void 0,ellipsoid:B,height:void 0,cornerType:void 0,granularity:void 0};g.unpack=function(o,i,t){if(!u(o))throw new y("array is required");i=d(i,0);let e,r=o[i++],c=new Array(r);for(e=0;e<r;++e,i+=a.packedLength)c[e]=a.unpack(o,i);r=o[i++];let f=new Array(r);for(e=0;e<r;++e,i+=_.packedLength)f[e]=_.unpack(o,i);let p=s.unpack(o,i,B);i+=s.packedLength;let m=o[i++],n=o[i];return u(t)?(t._positions=c,t._shape=f,t._ellipsoid=s.clone(p,t._ellipsoid),t._cornerType=m,t._granularity=n,t):(P.polylinePositions=c,P.shapePositions=f,P.cornerType=m,P.granularity=n,new g(P))};var M=new w;g.createGeometry=function(o){let i=o._positions,t=q(i,a.equalsEpsilon),e=o._shape;if(e=E.removeDuplicatesFromShape(e),t.length<2||e.length<3)return;G.computeWindingOrder2D(e)===v.CLOCKWISE&&e.reverse();let r=w.fromPoints(e,M),c=E.computePositions(t,e,r,o,!1);return W(c,e)};var L=g;function j(o,i){return u(i)&&(o=L.unpack(o,i)),o._ellipsoid=s.clone(o._ellipsoid),L.createGeometry(o)}var he=j;export{he as default}; diff --git a/public/lib/Cesium/Workers/createRectangleGeometry.js b/public/lib/Cesium/Workers/createRectangleGeometry.js index 6939b6cd0..074309580 100644 --- a/public/lib/Cesium/Workers/createRectangleGeometry.js +++ b/public/lib/Cesium/Workers/createRectangleGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as J}from"./chunk-ESVPYFZH.js";import{a as Nt}from"./chunk-YGSEQ273.js";import{a as zt}from"./chunk-PFE76RUV.js";import"./chunk-S5WIMI2N.js";import"./chunk-QTX6TFJQ.js";import{a as ut}from"./chunk-IFAARW2T.js";import{a as X}from"./chunk-6YAFAZVV.js";import{b as Rt}from"./chunk-542N7J5N.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as yt}from"./chunk-UGB43LJM.js";import{a as Vt}from"./chunk-WFZLZ2P5.js";import{b as Mt,c as Pt,d as q}from"./chunk-CTEHZS7O.js";import{d as st}from"./chunk-4TXI27XR.js";import{f as Lt,i as E,j as At}from"./chunk-GFUBU5RD.js";import{a as Y}from"./chunk-27UWHT4D.js";import{a as w,b as _t,c as G,d as H,e as ft}from"./chunk-RFPX772U.js";import{a as W}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as L}from"./chunk-6KLVDWWE.js";import{a as St,b as lt}from"./chunk-6P5KAIBX.js";import{e as $}from"./chunk-4FSVUTPL.js";var Tt=new w,Bt=new w,Ut=new w,Yt=new w,qt=new E,Zt=new G,Kt=new st,$t=new st;function Xt(t,e){let n=new Pt({attributes:new Vt,primitiveType:Mt.TRIANGLES});return n.attributes.position=new q({componentDatatype:Y.DOUBLE,componentsPerAttribute:3,values:e.positions}),t.normal&&(n.attributes.normal=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:e.normals})),t.tangent&&(n.attributes.tangent=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:e.tangents})),t.bitangent&&(n.attributes.bitangent=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:e.bitangents})),n}function Gt(t,e,n,r){let a=t.length,c=e.normal?new Float32Array(a):void 0,l=e.tangent?new Float32Array(a):void 0,u=e.bitangent?new Float32Array(a):void 0,d=0,p=Yt,o=Ut,i=Bt;if(e.normal||e.tangent||e.bitangent)for(let f=0;f<a;f+=3){let s=w.fromArray(t,f,Tt),h=d+1,g=d+2;i=n.geodeticSurfaceNormal(s,i),(e.tangent||e.bitangent)&&(w.cross(w.UNIT_Z,i,o),ft.multiplyByVector(r,o,o),w.normalize(o,o),e.bitangent&&w.normalize(w.cross(i,o,p),p)),e.normal&&(c[d]=i.x,c[h]=i.y,c[g]=i.z),e.tangent&&(l[d]=o.x,l[h]=o.y,l[g]=o.z),e.bitangent&&(u[d]=p.x,u[h]=p.y,u[g]=p.z),d+=3}return Xt(e,{positions:t,normals:c,tangents:l,bitangents:u})}var Ct=new w,jt=new w;function te(t,e,n){let r=t.length,a=e.normal?new Float32Array(r):void 0,c=e.tangent?new Float32Array(r):void 0,l=e.bitangent?new Float32Array(r):void 0,u=0,d=0,p=0,o=!0,i=Yt,f=Ut,s=Bt;if(e.normal||e.tangent||e.bitangent)for(let h=0;h<r;h+=6){let g=w.fromArray(t,h,Tt),A=w.fromArray(t,(h+6)%r,Ct);if(o){let b=w.fromArray(t,(h+3)%r,jt);w.subtract(A,g,A),w.subtract(b,g,b),s=w.normalize(w.cross(b,A,s),s),o=!1}w.equalsEpsilon(A,g,W.EPSILON10)&&(o=!0),(e.tangent||e.bitangent)&&(i=n.geodeticSurfaceNormal(g,i),e.tangent&&(f=w.normalize(w.cross(i,s,f),f))),e.normal&&(a[u++]=s.x,a[u++]=s.y,a[u++]=s.z,a[u++]=s.x,a[u++]=s.y,a[u++]=s.z),e.tangent&&(c[d++]=f.x,c[d++]=f.y,c[d++]=f.z,c[d++]=f.x,c[d++]=f.y,c[d++]=f.z),e.bitangent&&(l[p++]=i.x,l[p++]=i.y,l[p++]=i.z,l[p++]=i.x,l[p++]=i.y,l[p++]=i.z)}return Xt(e,{positions:t,normals:a,tangents:c,bitangents:l})}function It(t,e){let n=t._vertexFormat,r=t._ellipsoid,a=e.height,c=e.width,l=e.northCap,u=e.southCap,d=0,p=a,o=a,i=0;l&&(d=1,o-=1,i+=1),u&&(p-=1,o-=1,i+=1),i+=c*o;let f=n.position?new Float64Array(i*3):void 0,s=n.st?new Float32Array(i*2):void 0,h=0,g=0,A=Tt,b=Zt,z=Number.MAX_VALUE,F=Number.MAX_VALUE,j=-Number.MAX_VALUE,T=-Number.MAX_VALUE;for(let x=d;x<p;++x)for(let k=0;k<c;++k)J.computePosition(e,r,n.st,x,k,A,b),f[h++]=A.x,f[h++]=A.y,f[h++]=A.z,n.st&&(s[g++]=b.x,s[g++]=b.y,z=Math.min(z,b.x),F=Math.min(F,b.y),j=Math.max(j,b.x),T=Math.max(T,b.y));if(l&&(J.computePosition(e,r,n.st,0,0,A,b),f[h++]=A.x,f[h++]=A.y,f[h++]=A.z,n.st&&(s[g++]=b.x,s[g++]=b.y,z=b.x,F=b.y,j=b.x,T=b.y)),u&&(J.computePosition(e,r,n.st,a-1,0,A,b),f[h++]=A.x,f[h++]=A.y,f[h]=A.z,n.st&&(s[g++]=b.x,s[g]=b.y,z=Math.min(z,b.x),F=Math.min(F,b.y),j=Math.max(j,b.x),T=Math.max(T,b.y))),n.st&&(z<0||F<0||j>1||T>1))for(let x=0;x<s.length;x+=2)s[x]=(s[x]-z)/(j-z),s[x+1]=(s[x+1]-F)/(T-F);let m=Gt(f,n,r,e.tangentRotationMatrix),K=6*(c-1)*(o-1);l&&(K+=3*(c-1)),u&&(K+=3*(c-1));let P=yt.createTypedArray(i,K),D=0,N=0,O;for(O=0;O<o-1;++O){for(let x=0;x<c-1;++x){let k=D,M=k+c,I=M+1,rt=k+1;P[N++]=k,P[N++]=M,P[N++]=rt,P[N++]=rt,P[N++]=M,P[N++]=I,++D}++D}if(l||u){let x=i-1,k=i-1;l&&u&&(x=i-2);let M,I;if(D=0,l)for(O=0;O<c-1;O++)M=D,I=M+1,P[N++]=x,P[N++]=M,P[N++]=I,++D;if(u)for(D=(o-1)*c,O=0;O<c-1;O++)M=D,I=M+1,P[N++]=M,P[N++]=k,P[N++]=I,++D}return m.indices=P,n.st&&(m.attributes.st=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:2,values:s})),m}function ht(t,e,n,r,a){return t[e++]=r[n],t[e++]=r[n+1],t[e++]=r[n+2],t[e++]=a[n],t[e++]=a[n+1],t[e]=a[n+2],t}function dt(t,e,n,r){return t[e++]=r[n],t[e++]=r[n+1],t[e++]=r[n],t[e]=r[n+1],t}var Dt=new X;function ee(t,e){let n=t._shadowVolume,r=t._offsetAttribute,a=t._vertexFormat,c=t._extrudedHeight,l=t._surfaceHeight,u=t._ellipsoid,d=e.height,p=e.width,o;if(n){let R=X.clone(a,Dt);R.normal=!0,t._vertexFormat=R}let i=It(t,e);n&&(t._vertexFormat=a);let f=Rt.scaleToGeodeticHeight(i.attributes.position.values,l,u,!1);f=new Float64Array(f);let s=f.length,h=s*2,g=new Float64Array(h);g.set(f);let A=Rt.scaleToGeodeticHeight(i.attributes.position.values,c,u);g.set(A,s),i.attributes.position.values=g;let b=a.normal?new Float32Array(h):void 0,z=a.tangent?new Float32Array(h):void 0,F=a.bitangent?new Float32Array(h):void 0,j=a.st?new Float32Array(h/3*2):void 0,T,m;if(a.normal){for(m=i.attributes.normal.values,b.set(m),o=0;o<s;o++)m[o]=-m[o];b.set(m,s),i.attributes.normal.values=b}if(n){m=i.attributes.normal.values,a.normal||(i.attributes.normal=void 0);let R=new Float32Array(h);for(o=0;o<s;o++)m[o]=-m[o];R.set(m,s),i.attributes.extrudeDirection=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:R})}let K,P=$(r);if(P){let R=s/3*2,at=new Uint8Array(R);r===ut.TOP?at=at.fill(1,0,R/2):(K=r===ut.NONE?0:1,at=at.fill(K)),i.attributes.applyOffset=new q({componentDatatype:Y.UNSIGNED_BYTE,componentsPerAttribute:1,values:at})}if(a.tangent){let R=i.attributes.tangent.values;for(z.set(R),o=0;o<s;o++)R[o]=-R[o];z.set(R,s),i.attributes.tangent.values=z}if(a.bitangent){let R=i.attributes.bitangent.values;F.set(R),F.set(R,s),i.attributes.bitangent.values=F}a.st&&(T=i.attributes.st.values,j.set(T),j.set(T,s/3*2),i.attributes.st.values=j);let D=i.indices,N=D.length,O=s/3,x=yt.createTypedArray(h/3,N*2);for(x.set(D),o=0;o<N;o+=3)x[o+N]=D[o+2]+O,x[o+1+N]=D[o+1]+O,x[o+2+N]=D[o]+O;i.indices=x;let k=e.northCap,M=e.southCap,I=d,rt=2,pt=0,xt=4,Et=4;k&&(rt-=1,I-=1,pt+=1,xt-=2,Et-=1),M&&(rt-=1,I-=1,pt+=1,xt-=2,Et-=1),pt+=rt*p+2*I-xt;let gt=(pt+Et)*2,C=new Float64Array(gt*3),S=n?new Float32Array(gt*3):void 0,Z=P?new Uint8Array(gt):void 0,V=a.st?new Float32Array(gt*2):void 0,et=r===ut.TOP;P&&!et&&(K=r===ut.ALL?1:0,Z=Z.fill(K));let v=0,B=0,y=0,U=0,nt=p*I,_;for(o=0;o<nt;o+=p)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);if(M){let R=k?nt+1:nt;for(_=R*3,o=0;o<2;o++)C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,R*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1)}else for(o=nt-p;o<nt;o++)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);for(o=nt-1;o>0;o-=p)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);if(k){let R=nt;for(_=R*3,o=0;o<2;o++)C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,R*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1)}else for(o=p-1;o>=0;o--)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);let ot=te(C,a,u);a.st&&(ot.attributes.st=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:2,values:V})),n&&(ot.attributes.extrudeDirection=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:S})),P&&(ot.attributes.applyOffset=new q({componentDatatype:Y.UNSIGNED_BYTE,componentsPerAttribute:1,values:Z}));let it=yt.createTypedArray(gt,pt*6),mt,wt,kt,bt;s=C.length/3;let ct=0;for(o=0;o<s-1;o+=2){mt=o,bt=(mt+2)%s;let R=w.fromArray(C,mt*3,Ct),at=w.fromArray(C,bt*3,jt);w.equalsEpsilon(R,at,W.EPSILON10)||(wt=(mt+1)%s,kt=(wt+2)%s,it[ct++]=mt,it[ct++]=wt,it[ct++]=bt,it[ct++]=bt,it[ct++]=wt,it[ct++]=kt)}return ot.indices=it,ot=zt.combineInstances([new Nt({geometry:i}),new Nt({geometry:ot})]),ot[0]}var ne=[new w,new w,new w,new w],Wt=new _t,oe=new _t;function Ht(t,e,n,r,a){if(n===0)return E.clone(t,a);let c=J.computeOptions(t,e,n,0,qt,Wt),l=c.height,u=c.width,d=ne;return J.computePosition(c,r,!1,0,0,d[0]),J.computePosition(c,r,!1,0,u-1,d[1]),J.computePosition(c,r,!1,l-1,0,d[2]),J.computePosition(c,r,!1,l-1,u-1,d[3]),E.fromCartesianArray(d,r,a)}function Q(t){t=L(t,L.EMPTY_OBJECT);let e=t.rectangle;if(lt.typeOf.object("rectangle",e),E._validate(e),e.north<e.south)throw new St("options.rectangle.north must be greater than or equal to options.rectangle.south");let n=L(t.height,0),r=L(t.extrudedHeight,n);this._rectangle=E.clone(e),this._granularity=L(t.granularity,W.RADIANS_PER_DEGREE),this._ellipsoid=H.clone(L(t.ellipsoid,H.default)),this._surfaceHeight=Math.max(n,r),this._rotation=L(t.rotation,0),this._stRotation=L(t.stRotation,0),this._vertexFormat=X.clone(L(t.vertexFormat,X.DEFAULT)),this._extrudedHeight=Math.min(n,r),this._shadowVolume=L(t.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=t.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}Q.packedLength=E.packedLength+H.packedLength+X.packedLength+7;Q.pack=function(t,e,n){return lt.typeOf.object("value",t),lt.defined("array",e),n=L(n,0),E.pack(t._rectangle,e,n),n+=E.packedLength,H.pack(t._ellipsoid,e,n),n+=H.packedLength,X.pack(t._vertexFormat,e,n),n+=X.packedLength,e[n++]=t._granularity,e[n++]=t._surfaceHeight,e[n++]=t._rotation,e[n++]=t._stRotation,e[n++]=t._extrudedHeight,e[n++]=t._shadowVolume?1:0,e[n]=L(t._offsetAttribute,-1),e};var Jt=new E,Qt=H.clone(H.UNIT_SPHERE),tt={rectangle:Jt,ellipsoid:Qt,vertexFormat:Dt,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Q.unpack=function(t,e,n){lt.defined("array",t),e=L(e,0);let r=E.unpack(t,e,Jt);e+=E.packedLength;let a=H.unpack(t,e,Qt);e+=H.packedLength;let c=X.unpack(t,e,Dt);e+=X.packedLength;let l=t[e++],u=t[e++],d=t[e++],p=t[e++],o=t[e++],i=t[e++]===1,f=t[e];return $(n)?(n._rectangle=E.clone(r,n._rectangle),n._ellipsoid=H.clone(a,n._ellipsoid),n._vertexFormat=X.clone(c,n._vertexFormat),n._granularity=l,n._surfaceHeight=u,n._rotation=d,n._stRotation=p,n._extrudedHeight=o,n._shadowVolume=i,n._offsetAttribute=f===-1?void 0:f,n):(tt.granularity=l,tt.height=u,tt.rotation=d,tt.stRotation=p,tt.extrudedHeight=o,tt.shadowVolume=i,tt.offsetAttribute=f===-1?void 0:f,new Q(tt))};Q.computeRectangle=function(t,e){t=L(t,L.EMPTY_OBJECT);let n=t.rectangle;if(lt.typeOf.object("rectangle",n),E._validate(n),n.north<n.south)throw new St("options.rectangle.north must be greater than or equal to options.rectangle.south");let r=L(t.granularity,W.RADIANS_PER_DEGREE),a=L(t.ellipsoid,H.default),c=L(t.rotation,0);return Ht(n,r,c,a,e)};var ie=new ft,Ft=new Lt,ae=new _t;Q.createGeometry=function(t){if(W.equalsEpsilon(t._rectangle.north,t._rectangle.south,W.EPSILON10)||W.equalsEpsilon(t._rectangle.east,t._rectangle.west,W.EPSILON10))return;let e=t._rectangle,n=t._ellipsoid,r=t._rotation,a=t._stRotation,c=t._vertexFormat,l=J.computeOptions(e,t._granularity,r,a,qt,Wt,oe),u=ie;if(a!==0||r!==0){let s=E.center(e,ae),h=n.geodeticSurfaceNormalCartographic(s,Ct);Lt.fromAxisAngle(h,-a,Ft),ft.fromQuaternion(Ft,u)}else ft.clone(ft.IDENTITY,u);let d=t._surfaceHeight,p=t._extrudedHeight,o=!W.equalsEpsilon(d,p,0,W.EPSILON2);l.lonScalar=1/t._rectangle.width,l.latScalar=1/t._rectangle.height,l.tangentRotationMatrix=u;let i,f;if(e=t._rectangle,o){i=ee(t,l);let s=st.fromRectangle3D(e,n,d,$t),h=st.fromRectangle3D(e,n,p,Kt);f=st.union(s,h)}else{if(i=It(t,l),i.attributes.position.values=Rt.scaleToGeodeticHeight(i.attributes.position.values,d,n,!1),$(t._offsetAttribute)){let s=i.attributes.position.values.length,h=t._offsetAttribute===ut.NONE?0:1,g=new Uint8Array(s/3).fill(h);i.attributes.applyOffset=new q({componentDatatype:Y.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}f=st.fromRectangle3D(e,n,d)}return c.position||delete i.attributes.position,new Pt({attributes:i.attributes,indices:i.indices,primitiveType:i.primitiveType,boundingSphere:f,offsetAttribute:t._offsetAttribute})};Q.createShadowVolume=function(t,e,n){let r=t._granularity,a=t._ellipsoid,c=e(r,a),l=n(r,a);return new Q({rectangle:t._rectangle,rotation:t._rotation,ellipsoid:a,stRotation:t._stRotation,granularity:r,extrudedHeight:l,height:c,vertexFormat:X.POSITION_ONLY,shadowVolume:!0})};var vt=new E,se=[new G,new G,new G],re=new At,ce=new _t;function le(t){if(t._stRotation===0)return[0,0,0,1,1,0];let e=E.clone(t._rectangle,vt),n=t._granularity,r=t._ellipsoid,a=t._rotation-t._stRotation,c=Ht(e,n,a,r,vt),l=se;l[0].x=c.west,l[0].y=c.south,l[1].x=c.west,l[1].y=c.north,l[2].x=c.east,l[2].y=c.south;let u=t.rectangle,d=At.fromRotation(t._stRotation,re),p=E.center(u,ce);for(let h=0;h<3;++h){let g=l[h];g.x-=p.longitude,g.y-=p.latitude,At.multiplyByVector(d,g,g),g.x+=p.longitude,g.y+=p.latitude,g.x=(g.x-u.west)/u.width,g.y=(g.y-u.south)/u.height}let o=l[0],i=l[1],f=l[2],s=new Array(6);return G.pack(o,s),G.pack(i,s,2),G.pack(f,s,4),s}Object.defineProperties(Q.prototype,{rectangle:{get:function(){return $(this._rotatedRectangle)||(this._rotatedRectangle=Ht(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return $(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=le(this)),this._textureCoordinateRotationPoints}}});var Ot=Q;function fe(t,e){return $(e)&&(t=Ot.unpack(t,e)),t._ellipsoid=H.clone(t._ellipsoid),t._rectangle=E.clone(t._rectangle),Ot.createGeometry(t)}var Ye=fe;export{Ye as default}; +import{a as J}from"./chunk-ADZK2JLO.js";import{a as Nt}from"./chunk-D76R4V7H.js";import{a as zt}from"./chunk-EXYLABM3.js";import"./chunk-BMKF5JTH.js";import"./chunk-67ZE4UMX.js";import{a as ut}from"./chunk-TP5B32RY.js";import{a as X}from"./chunk-RPAJTIFB.js";import{b as Rt}from"./chunk-S4WTTFQO.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as yt}from"./chunk-A3VS2OZ2.js";import{a as Vt}from"./chunk-E2XIHPTZ.js";import{b as Mt,c as Pt,d as q}from"./chunk-72NMS5KE.js";import{d as st}from"./chunk-JLMPKQO4.js";import{f as Lt,h as E,i as At}from"./chunk-2K72IAMD.js";import{a as Y}from"./chunk-GNTVNTUY.js";import{a as w,b as _t,c as G,d as H,e as ft}from"./chunk-HWH6BBH6.js";import{a as W}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as L}from"./chunk-CJFJKB5V.js";import{a as St,b as lt}from"./chunk-4BGNE6LH.js";import{e as $}from"./chunk-OX5CTLXY.js";var Tt=new w,Bt=new w,Ut=new w,Yt=new w,qt=new E,Zt=new G,Kt=new st,$t=new st;function Xt(t,e){let n=new Pt({attributes:new Vt,primitiveType:Mt.TRIANGLES});return n.attributes.position=new q({componentDatatype:Y.DOUBLE,componentsPerAttribute:3,values:e.positions}),t.normal&&(n.attributes.normal=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:e.normals})),t.tangent&&(n.attributes.tangent=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:e.tangents})),t.bitangent&&(n.attributes.bitangent=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:e.bitangents})),n}function Gt(t,e,n,r){let a=t.length,c=e.normal?new Float32Array(a):void 0,l=e.tangent?new Float32Array(a):void 0,u=e.bitangent?new Float32Array(a):void 0,d=0,p=Yt,o=Ut,i=Bt;if(e.normal||e.tangent||e.bitangent)for(let f=0;f<a;f+=3){let s=w.fromArray(t,f,Tt),h=d+1,g=d+2;i=n.geodeticSurfaceNormal(s,i),(e.tangent||e.bitangent)&&(w.cross(w.UNIT_Z,i,o),ft.multiplyByVector(r,o,o),w.normalize(o,o),e.bitangent&&w.normalize(w.cross(i,o,p),p)),e.normal&&(c[d]=i.x,c[h]=i.y,c[g]=i.z),e.tangent&&(l[d]=o.x,l[h]=o.y,l[g]=o.z),e.bitangent&&(u[d]=p.x,u[h]=p.y,u[g]=p.z),d+=3}return Xt(e,{positions:t,normals:c,tangents:l,bitangents:u})}var Ct=new w,jt=new w;function te(t,e,n){let r=t.length,a=e.normal?new Float32Array(r):void 0,c=e.tangent?new Float32Array(r):void 0,l=e.bitangent?new Float32Array(r):void 0,u=0,d=0,p=0,o=!0,i=Yt,f=Ut,s=Bt;if(e.normal||e.tangent||e.bitangent)for(let h=0;h<r;h+=6){let g=w.fromArray(t,h,Tt),A=w.fromArray(t,(h+6)%r,Ct);if(o){let b=w.fromArray(t,(h+3)%r,jt);w.subtract(A,g,A),w.subtract(b,g,b),s=w.normalize(w.cross(b,A,s),s),o=!1}w.equalsEpsilon(A,g,W.EPSILON10)&&(o=!0),(e.tangent||e.bitangent)&&(i=n.geodeticSurfaceNormal(g,i),e.tangent&&(f=w.normalize(w.cross(i,s,f),f))),e.normal&&(a[u++]=s.x,a[u++]=s.y,a[u++]=s.z,a[u++]=s.x,a[u++]=s.y,a[u++]=s.z),e.tangent&&(c[d++]=f.x,c[d++]=f.y,c[d++]=f.z,c[d++]=f.x,c[d++]=f.y,c[d++]=f.z),e.bitangent&&(l[p++]=i.x,l[p++]=i.y,l[p++]=i.z,l[p++]=i.x,l[p++]=i.y,l[p++]=i.z)}return Xt(e,{positions:t,normals:a,tangents:c,bitangents:l})}function It(t,e){let n=t._vertexFormat,r=t._ellipsoid,a=e.height,c=e.width,l=e.northCap,u=e.southCap,d=0,p=a,o=a,i=0;l&&(d=1,o-=1,i+=1),u&&(p-=1,o-=1,i+=1),i+=c*o;let f=n.position?new Float64Array(i*3):void 0,s=n.st?new Float32Array(i*2):void 0,h=0,g=0,A=Tt,b=Zt,z=Number.MAX_VALUE,F=Number.MAX_VALUE,j=-Number.MAX_VALUE,T=-Number.MAX_VALUE;for(let x=d;x<p;++x)for(let k=0;k<c;++k)J.computePosition(e,r,n.st,x,k,A,b),f[h++]=A.x,f[h++]=A.y,f[h++]=A.z,n.st&&(s[g++]=b.x,s[g++]=b.y,z=Math.min(z,b.x),F=Math.min(F,b.y),j=Math.max(j,b.x),T=Math.max(T,b.y));if(l&&(J.computePosition(e,r,n.st,0,0,A,b),f[h++]=A.x,f[h++]=A.y,f[h++]=A.z,n.st&&(s[g++]=b.x,s[g++]=b.y,z=b.x,F=b.y,j=b.x,T=b.y)),u&&(J.computePosition(e,r,n.st,a-1,0,A,b),f[h++]=A.x,f[h++]=A.y,f[h]=A.z,n.st&&(s[g++]=b.x,s[g]=b.y,z=Math.min(z,b.x),F=Math.min(F,b.y),j=Math.max(j,b.x),T=Math.max(T,b.y))),n.st&&(z<0||F<0||j>1||T>1))for(let x=0;x<s.length;x+=2)s[x]=(s[x]-z)/(j-z),s[x+1]=(s[x+1]-F)/(T-F);let m=Gt(f,n,r,e.tangentRotationMatrix),K=6*(c-1)*(o-1);l&&(K+=3*(c-1)),u&&(K+=3*(c-1));let P=yt.createTypedArray(i,K),D=0,N=0,O;for(O=0;O<o-1;++O){for(let x=0;x<c-1;++x){let k=D,M=k+c,I=M+1,rt=k+1;P[N++]=k,P[N++]=M,P[N++]=rt,P[N++]=rt,P[N++]=M,P[N++]=I,++D}++D}if(l||u){let x=i-1,k=i-1;l&&u&&(x=i-2);let M,I;if(D=0,l)for(O=0;O<c-1;O++)M=D,I=M+1,P[N++]=x,P[N++]=M,P[N++]=I,++D;if(u)for(D=(o-1)*c,O=0;O<c-1;O++)M=D,I=M+1,P[N++]=M,P[N++]=k,P[N++]=I,++D}return m.indices=P,n.st&&(m.attributes.st=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:2,values:s})),m}function ht(t,e,n,r,a){return t[e++]=r[n],t[e++]=r[n+1],t[e++]=r[n+2],t[e++]=a[n],t[e++]=a[n+1],t[e]=a[n+2],t}function dt(t,e,n,r){return t[e++]=r[n],t[e++]=r[n+1],t[e++]=r[n],t[e]=r[n+1],t}var Dt=new X;function ee(t,e){let n=t._shadowVolume,r=t._offsetAttribute,a=t._vertexFormat,c=t._extrudedHeight,l=t._surfaceHeight,u=t._ellipsoid,d=e.height,p=e.width,o;if(n){let R=X.clone(a,Dt);R.normal=!0,t._vertexFormat=R}let i=It(t,e);n&&(t._vertexFormat=a);let f=Rt.scaleToGeodeticHeight(i.attributes.position.values,l,u,!1);f=new Float64Array(f);let s=f.length,h=s*2,g=new Float64Array(h);g.set(f);let A=Rt.scaleToGeodeticHeight(i.attributes.position.values,c,u);g.set(A,s),i.attributes.position.values=g;let b=a.normal?new Float32Array(h):void 0,z=a.tangent?new Float32Array(h):void 0,F=a.bitangent?new Float32Array(h):void 0,j=a.st?new Float32Array(h/3*2):void 0,T,m;if(a.normal){for(m=i.attributes.normal.values,b.set(m),o=0;o<s;o++)m[o]=-m[o];b.set(m,s),i.attributes.normal.values=b}if(n){m=i.attributes.normal.values,a.normal||(i.attributes.normal=void 0);let R=new Float32Array(h);for(o=0;o<s;o++)m[o]=-m[o];R.set(m,s),i.attributes.extrudeDirection=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:R})}let K,P=$(r);if(P){let R=s/3*2,at=new Uint8Array(R);r===ut.TOP?at=at.fill(1,0,R/2):(K=r===ut.NONE?0:1,at=at.fill(K)),i.attributes.applyOffset=new q({componentDatatype:Y.UNSIGNED_BYTE,componentsPerAttribute:1,values:at})}if(a.tangent){let R=i.attributes.tangent.values;for(z.set(R),o=0;o<s;o++)R[o]=-R[o];z.set(R,s),i.attributes.tangent.values=z}if(a.bitangent){let R=i.attributes.bitangent.values;F.set(R),F.set(R,s),i.attributes.bitangent.values=F}a.st&&(T=i.attributes.st.values,j.set(T),j.set(T,s/3*2),i.attributes.st.values=j);let D=i.indices,N=D.length,O=s/3,x=yt.createTypedArray(h/3,N*2);for(x.set(D),o=0;o<N;o+=3)x[o+N]=D[o+2]+O,x[o+1+N]=D[o+1]+O,x[o+2+N]=D[o]+O;i.indices=x;let k=e.northCap,M=e.southCap,I=d,rt=2,pt=0,xt=4,Et=4;k&&(rt-=1,I-=1,pt+=1,xt-=2,Et-=1),M&&(rt-=1,I-=1,pt+=1,xt-=2,Et-=1),pt+=rt*p+2*I-xt;let gt=(pt+Et)*2,C=new Float64Array(gt*3),S=n?new Float32Array(gt*3):void 0,Z=P?new Uint8Array(gt):void 0,V=a.st?new Float32Array(gt*2):void 0,et=r===ut.TOP;P&&!et&&(K=r===ut.ALL?1:0,Z=Z.fill(K));let v=0,B=0,y=0,U=0,nt=p*I,_;for(o=0;o<nt;o+=p)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);if(M){let R=k?nt+1:nt;for(_=R*3,o=0;o<2;o++)C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,R*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1)}else for(o=nt-p;o<nt;o++)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);for(o=nt-1;o>0;o-=p)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);if(k){let R=nt;for(_=R*3,o=0;o<2;o++)C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,R*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1)}else for(o=p-1;o>=0;o--)_=o*3,C=ht(C,v,_,f,A),v+=6,a.st&&(V=dt(V,B,o*2,T),B+=4),n&&(y+=3,S[y++]=m[_],S[y++]=m[_+1],S[y++]=m[_+2]),et&&(Z[U++]=1,U+=1);let ot=te(C,a,u);a.st&&(ot.attributes.st=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:2,values:V})),n&&(ot.attributes.extrudeDirection=new q({componentDatatype:Y.FLOAT,componentsPerAttribute:3,values:S})),P&&(ot.attributes.applyOffset=new q({componentDatatype:Y.UNSIGNED_BYTE,componentsPerAttribute:1,values:Z}));let it=yt.createTypedArray(gt,pt*6),mt,wt,kt,bt;s=C.length/3;let ct=0;for(o=0;o<s-1;o+=2){mt=o,bt=(mt+2)%s;let R=w.fromArray(C,mt*3,Ct),at=w.fromArray(C,bt*3,jt);w.equalsEpsilon(R,at,W.EPSILON10)||(wt=(mt+1)%s,kt=(wt+2)%s,it[ct++]=mt,it[ct++]=wt,it[ct++]=bt,it[ct++]=bt,it[ct++]=wt,it[ct++]=kt)}return ot.indices=it,ot=zt.combineInstances([new Nt({geometry:i}),new Nt({geometry:ot})]),ot[0]}var ne=[new w,new w,new w,new w],Wt=new _t,oe=new _t;function Ht(t,e,n,r,a){if(n===0)return E.clone(t,a);let c=J.computeOptions(t,e,n,0,qt,Wt),l=c.height,u=c.width,d=ne;return J.computePosition(c,r,!1,0,0,d[0]),J.computePosition(c,r,!1,0,u-1,d[1]),J.computePosition(c,r,!1,l-1,0,d[2]),J.computePosition(c,r,!1,l-1,u-1,d[3]),E.fromCartesianArray(d,r,a)}function Q(t){t=L(t,L.EMPTY_OBJECT);let e=t.rectangle;if(lt.typeOf.object("rectangle",e),E._validate(e),e.north<e.south)throw new St("options.rectangle.north must be greater than or equal to options.rectangle.south");let n=L(t.height,0),r=L(t.extrudedHeight,n);this._rectangle=E.clone(e),this._granularity=L(t.granularity,W.RADIANS_PER_DEGREE),this._ellipsoid=H.clone(L(t.ellipsoid,H.default)),this._surfaceHeight=Math.max(n,r),this._rotation=L(t.rotation,0),this._stRotation=L(t.stRotation,0),this._vertexFormat=X.clone(L(t.vertexFormat,X.DEFAULT)),this._extrudedHeight=Math.min(n,r),this._shadowVolume=L(t.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=t.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}Q.packedLength=E.packedLength+H.packedLength+X.packedLength+7;Q.pack=function(t,e,n){return lt.typeOf.object("value",t),lt.defined("array",e),n=L(n,0),E.pack(t._rectangle,e,n),n+=E.packedLength,H.pack(t._ellipsoid,e,n),n+=H.packedLength,X.pack(t._vertexFormat,e,n),n+=X.packedLength,e[n++]=t._granularity,e[n++]=t._surfaceHeight,e[n++]=t._rotation,e[n++]=t._stRotation,e[n++]=t._extrudedHeight,e[n++]=t._shadowVolume?1:0,e[n]=L(t._offsetAttribute,-1),e};var Jt=new E,Qt=H.clone(H.UNIT_SPHERE),tt={rectangle:Jt,ellipsoid:Qt,vertexFormat:Dt,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Q.unpack=function(t,e,n){lt.defined("array",t),e=L(e,0);let r=E.unpack(t,e,Jt);e+=E.packedLength;let a=H.unpack(t,e,Qt);e+=H.packedLength;let c=X.unpack(t,e,Dt);e+=X.packedLength;let l=t[e++],u=t[e++],d=t[e++],p=t[e++],o=t[e++],i=t[e++]===1,f=t[e];return $(n)?(n._rectangle=E.clone(r,n._rectangle),n._ellipsoid=H.clone(a,n._ellipsoid),n._vertexFormat=X.clone(c,n._vertexFormat),n._granularity=l,n._surfaceHeight=u,n._rotation=d,n._stRotation=p,n._extrudedHeight=o,n._shadowVolume=i,n._offsetAttribute=f===-1?void 0:f,n):(tt.granularity=l,tt.height=u,tt.rotation=d,tt.stRotation=p,tt.extrudedHeight=o,tt.shadowVolume=i,tt.offsetAttribute=f===-1?void 0:f,new Q(tt))};Q.computeRectangle=function(t,e){t=L(t,L.EMPTY_OBJECT);let n=t.rectangle;if(lt.typeOf.object("rectangle",n),E._validate(n),n.north<n.south)throw new St("options.rectangle.north must be greater than or equal to options.rectangle.south");let r=L(t.granularity,W.RADIANS_PER_DEGREE),a=L(t.ellipsoid,H.default),c=L(t.rotation,0);return Ht(n,r,c,a,e)};var ie=new ft,Ft=new Lt,ae=new _t;Q.createGeometry=function(t){if(W.equalsEpsilon(t._rectangle.north,t._rectangle.south,W.EPSILON10)||W.equalsEpsilon(t._rectangle.east,t._rectangle.west,W.EPSILON10))return;let e=t._rectangle,n=t._ellipsoid,r=t._rotation,a=t._stRotation,c=t._vertexFormat,l=J.computeOptions(e,t._granularity,r,a,qt,Wt,oe),u=ie;if(a!==0||r!==0){let s=E.center(e,ae),h=n.geodeticSurfaceNormalCartographic(s,Ct);Lt.fromAxisAngle(h,-a,Ft),ft.fromQuaternion(Ft,u)}else ft.clone(ft.IDENTITY,u);let d=t._surfaceHeight,p=t._extrudedHeight,o=!W.equalsEpsilon(d,p,0,W.EPSILON2);l.lonScalar=1/t._rectangle.width,l.latScalar=1/t._rectangle.height,l.tangentRotationMatrix=u;let i,f;if(e=t._rectangle,o){i=ee(t,l);let s=st.fromRectangle3D(e,n,d,$t),h=st.fromRectangle3D(e,n,p,Kt);f=st.union(s,h)}else{if(i=It(t,l),i.attributes.position.values=Rt.scaleToGeodeticHeight(i.attributes.position.values,d,n,!1),$(t._offsetAttribute)){let s=i.attributes.position.values.length,h=t._offsetAttribute===ut.NONE?0:1,g=new Uint8Array(s/3).fill(h);i.attributes.applyOffset=new q({componentDatatype:Y.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}f=st.fromRectangle3D(e,n,d)}return c.position||delete i.attributes.position,new Pt({attributes:i.attributes,indices:i.indices,primitiveType:i.primitiveType,boundingSphere:f,offsetAttribute:t._offsetAttribute})};Q.createShadowVolume=function(t,e,n){let r=t._granularity,a=t._ellipsoid,c=e(r,a),l=n(r,a);return new Q({rectangle:t._rectangle,rotation:t._rotation,ellipsoid:a,stRotation:t._stRotation,granularity:r,extrudedHeight:l,height:c,vertexFormat:X.POSITION_ONLY,shadowVolume:!0})};var vt=new E,se=[new G,new G,new G],re=new At,ce=new _t;function le(t){if(t._stRotation===0)return[0,0,0,1,1,0];let e=E.clone(t._rectangle,vt),n=t._granularity,r=t._ellipsoid,a=t._rotation-t._stRotation,c=Ht(e,n,a,r,vt),l=se;l[0].x=c.west,l[0].y=c.south,l[1].x=c.west,l[1].y=c.north,l[2].x=c.east,l[2].y=c.south;let u=t.rectangle,d=At.fromRotation(t._stRotation,re),p=E.center(u,ce);for(let h=0;h<3;++h){let g=l[h];g.x-=p.longitude,g.y-=p.latitude,At.multiplyByVector(d,g,g),g.x+=p.longitude,g.y+=p.latitude,g.x=(g.x-u.west)/u.width,g.y=(g.y-u.south)/u.height}let o=l[0],i=l[1],f=l[2],s=new Array(6);return G.pack(o,s),G.pack(i,s,2),G.pack(f,s,4),s}Object.defineProperties(Q.prototype,{rectangle:{get:function(){return $(this._rotatedRectangle)||(this._rotatedRectangle=Ht(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return $(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=le(this)),this._textureCoordinateRotationPoints}}});var Ot=Q;function fe(t,e){return $(e)&&(t=Ot.unpack(t,e)),t._ellipsoid=H.clone(t._ellipsoid),t._rectangle=E.clone(t._rectangle),Ot.createGeometry(t)}var Ye=fe;export{Ye as default}; diff --git a/public/lib/Cesium/Workers/createRectangleOutlineGeometry.js b/public/lib/Cesium/Workers/createRectangleOutlineGeometry.js index be200f06e..2fc474371 100644 --- a/public/lib/Cesium/Workers/createRectangleOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createRectangleOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as C}from"./chunk-ESVPYFZH.js";import{a as v}from"./chunk-IFAARW2T.js";import{b as z}from"./chunk-542N7J5N.js";import"./chunk-45FCQ3FJ.js";import{a as O}from"./chunk-UGB43LJM.js";import{a as Y}from"./chunk-WFZLZ2P5.js";import{b as B,c as q,d as y}from"./chunk-CTEHZS7O.js";import{d as R}from"./chunk-4TXI27XR.js";import{i as b}from"./chunk-GFUBU5RD.js";import{a as T}from"./chunk-27UWHT4D.js";import{a as U,b as M,d as w}from"./chunk-RFPX772U.js";import{a as P}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as E}from"./chunk-6KLVDWWE.js";import{a as N}from"./chunk-6P5KAIBX.js";import{e as S}from"./chunk-4FSVUTPL.js";var j=new R,K=new R,Q=new U,W=new b;function F(t,e){let i=t._ellipsoid,m=e.height,s=e.width,h=e.northCap,a=e.southCap,_=m,A=2,o=0,g=4;h&&(A-=1,_-=1,o+=1,g-=2),a&&(A-=1,_-=1,o+=1,g-=2),o+=A*s+2*_-g;let n=new Float64Array(o*3),l=0,f=0,p,r=Q;if(h)C.computePosition(e,i,!1,f,0,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;else for(p=0;p<s;p++)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;for(p=s-1,f=1;f<m;f++)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;if(f=m-1,!a)for(p=s-2;p>=0;p--)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;for(p=0,f=m-2;f>0;f--)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;let u=n.length/3*2,c=O.createTypedArray(n.length/3,u),H=0;for(let D=0;D<n.length/3-1;D++)c[H++]=D,c[H++]=D+1;c[H++]=n.length/3-1,c[H++]=0;let d=new q({attributes:new Y,primitiveType:B.LINES});return d.attributes.position=new y({componentDatatype:T.DOUBLE,componentsPerAttribute:3,values:n}),d.indices=c,d}function X(t,e){let i=t._surfaceHeight,m=t._extrudedHeight,s=t._ellipsoid,h=F(t,e),a=e.height,_=e.width,A=z.scaleToGeodeticHeight(h.attributes.position.values,i,s,!1),o=A.length,g=new Float64Array(o*2);g.set(A);let n=z.scaleToGeodeticHeight(h.attributes.position.values,m,s);g.set(n,o),h.attributes.position.values=g;let l=e.northCap,f=e.southCap,p=4;l&&(p-=1),f&&(p-=1);let r=(g.length/3+p)*2,u=O.createTypedArray(g.length/3,r);o=g.length/6;let c=0;for(let d=0;d<o-1;d++)u[c++]=d,u[c++]=d+1,u[c++]=d+o,u[c++]=d+o+1;u[c++]=o-1,u[c++]=0,u[c++]=o+o-1,u[c++]=o,u[c++]=0,u[c++]=o;let H;if(l)H=a-1;else{let d=_-1;u[c++]=d,u[c++]=d+o,H=_+a-2}if(u[c++]=H,u[c++]=H+o,!f){let d=_+H-1;u[c++]=d,u[c]=d+o}return h.indices=u,h}function L(t){t=E(t,E.EMPTY_OBJECT);let e=t.rectangle,i=E(t.granularity,P.RADIANS_PER_DEGREE),m=E(t.ellipsoid,w.default),s=E(t.rotation,0);if(!S(e))throw new N("rectangle is required.");if(b._validate(e),e.north<e.south)throw new N("options.rectangle.north must be greater than options.rectangle.south");let h=E(t.height,0),a=E(t.extrudedHeight,h);this._rectangle=b.clone(e),this._granularity=i,this._ellipsoid=m,this._surfaceHeight=Math.max(h,a),this._rotation=s,this._extrudedHeight=Math.min(h,a),this._offsetAttribute=t.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}L.packedLength=b.packedLength+w.packedLength+5;L.pack=function(t,e,i){if(!S(t))throw new N("value is required");if(!S(e))throw new N("array is required");return i=E(i,0),b.pack(t._rectangle,e,i),i+=b.packedLength,w.pack(t._ellipsoid,e,i),i+=w.packedLength,e[i++]=t._granularity,e[i++]=t._surfaceHeight,e[i++]=t._rotation,e[i++]=t._extrudedHeight,e[i]=E(t._offsetAttribute,-1),e};var V=new b,J=w.clone(w.UNIT_SPHERE),k={rectangle:V,ellipsoid:J,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};L.unpack=function(t,e,i){if(!S(t))throw new N("array is required");e=E(e,0);let m=b.unpack(t,e,V);e+=b.packedLength;let s=w.unpack(t,e,J);e+=w.packedLength;let h=t[e++],a=t[e++],_=t[e++],A=t[e++],o=t[e];return S(i)?(i._rectangle=b.clone(m,i._rectangle),i._ellipsoid=w.clone(s,i._ellipsoid),i._surfaceHeight=a,i._rotation=_,i._extrudedHeight=A,i._offsetAttribute=o===-1?void 0:o,i):(k.granularity=h,k.height=a,k.rotation=_,k.extrudedHeight=A,k.offsetAttribute=o===-1?void 0:o,new L(k))};var Z=new M;L.createGeometry=function(t){let e=t._rectangle,i=t._ellipsoid,m=C.computeOptions(e,t._granularity,t._rotation,0,W,Z),s,h;if(P.equalsEpsilon(e.north,e.south,P.EPSILON10)||P.equalsEpsilon(e.east,e.west,P.EPSILON10))return;let a=t._surfaceHeight,_=t._extrudedHeight,A=!P.equalsEpsilon(a,_,0,P.EPSILON2),o;if(A){if(s=X(t,m),S(t._offsetAttribute)){let l=s.attributes.position.values.length/3,f=new Uint8Array(l);t._offsetAttribute===v.TOP?f=f.fill(1,0,l/2):(o=t._offsetAttribute===v.NONE?0:1,f=f.fill(o)),s.attributes.applyOffset=new y({componentDatatype:T.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}let g=R.fromRectangle3D(e,i,a,K),n=R.fromRectangle3D(e,i,_,j);h=R.union(g,n)}else{if(s=F(t,m),s.attributes.position.values=z.scaleToGeodeticHeight(s.attributes.position.values,a,i,!1),S(t._offsetAttribute)){let g=s.attributes.position.values.length;o=t._offsetAttribute===v.NONE?0:1;let n=new Uint8Array(g/3).fill(o);s.attributes.applyOffset=new y({componentDatatype:T.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}h=R.fromRectangle3D(e,i,a)}return new q({attributes:s.attributes,indices:s.indices,primitiveType:B.LINES,boundingSphere:h,offsetAttribute:t._offsetAttribute})};var x=L;function $(t,e){return S(e)&&(t=x.unpack(t,e)),t._ellipsoid=w.clone(t._ellipsoid),t._rectangle=b.clone(t._rectangle),x.createGeometry(t)}var Et=$;export{Et as default}; +import{a as C}from"./chunk-ADZK2JLO.js";import{a as v}from"./chunk-TP5B32RY.js";import{b as z}from"./chunk-S4WTTFQO.js";import"./chunk-44LKXGXW.js";import{a as O}from"./chunk-A3VS2OZ2.js";import{a as Y}from"./chunk-E2XIHPTZ.js";import{b as B,c as q,d as y}from"./chunk-72NMS5KE.js";import{d as R}from"./chunk-JLMPKQO4.js";import{h as b}from"./chunk-2K72IAMD.js";import{a as T}from"./chunk-GNTVNTUY.js";import{a as U,b as M,d as w}from"./chunk-HWH6BBH6.js";import{a as P}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as E}from"./chunk-CJFJKB5V.js";import{a as N}from"./chunk-4BGNE6LH.js";import{e as S}from"./chunk-OX5CTLXY.js";var j=new R,K=new R,Q=new U,W=new b;function F(t,e){let i=t._ellipsoid,m=e.height,s=e.width,h=e.northCap,a=e.southCap,_=m,A=2,o=0,g=4;h&&(A-=1,_-=1,o+=1,g-=2),a&&(A-=1,_-=1,o+=1,g-=2),o+=A*s+2*_-g;let n=new Float64Array(o*3),l=0,f=0,p,r=Q;if(h)C.computePosition(e,i,!1,f,0,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;else for(p=0;p<s;p++)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;for(p=s-1,f=1;f<m;f++)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;if(f=m-1,!a)for(p=s-2;p>=0;p--)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;for(p=0,f=m-2;f>0;f--)C.computePosition(e,i,!1,f,p,r),n[l++]=r.x,n[l++]=r.y,n[l++]=r.z;let u=n.length/3*2,c=O.createTypedArray(n.length/3,u),H=0;for(let D=0;D<n.length/3-1;D++)c[H++]=D,c[H++]=D+1;c[H++]=n.length/3-1,c[H++]=0;let d=new q({attributes:new Y,primitiveType:B.LINES});return d.attributes.position=new y({componentDatatype:T.DOUBLE,componentsPerAttribute:3,values:n}),d.indices=c,d}function X(t,e){let i=t._surfaceHeight,m=t._extrudedHeight,s=t._ellipsoid,h=F(t,e),a=e.height,_=e.width,A=z.scaleToGeodeticHeight(h.attributes.position.values,i,s,!1),o=A.length,g=new Float64Array(o*2);g.set(A);let n=z.scaleToGeodeticHeight(h.attributes.position.values,m,s);g.set(n,o),h.attributes.position.values=g;let l=e.northCap,f=e.southCap,p=4;l&&(p-=1),f&&(p-=1);let r=(g.length/3+p)*2,u=O.createTypedArray(g.length/3,r);o=g.length/6;let c=0;for(let d=0;d<o-1;d++)u[c++]=d,u[c++]=d+1,u[c++]=d+o,u[c++]=d+o+1;u[c++]=o-1,u[c++]=0,u[c++]=o+o-1,u[c++]=o,u[c++]=0,u[c++]=o;let H;if(l)H=a-1;else{let d=_-1;u[c++]=d,u[c++]=d+o,H=_+a-2}if(u[c++]=H,u[c++]=H+o,!f){let d=_+H-1;u[c++]=d,u[c]=d+o}return h.indices=u,h}function L(t){t=E(t,E.EMPTY_OBJECT);let e=t.rectangle,i=E(t.granularity,P.RADIANS_PER_DEGREE),m=E(t.ellipsoid,w.default),s=E(t.rotation,0);if(!S(e))throw new N("rectangle is required.");if(b._validate(e),e.north<e.south)throw new N("options.rectangle.north must be greater than options.rectangle.south");let h=E(t.height,0),a=E(t.extrudedHeight,h);this._rectangle=b.clone(e),this._granularity=i,this._ellipsoid=m,this._surfaceHeight=Math.max(h,a),this._rotation=s,this._extrudedHeight=Math.min(h,a),this._offsetAttribute=t.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}L.packedLength=b.packedLength+w.packedLength+5;L.pack=function(t,e,i){if(!S(t))throw new N("value is required");if(!S(e))throw new N("array is required");return i=E(i,0),b.pack(t._rectangle,e,i),i+=b.packedLength,w.pack(t._ellipsoid,e,i),i+=w.packedLength,e[i++]=t._granularity,e[i++]=t._surfaceHeight,e[i++]=t._rotation,e[i++]=t._extrudedHeight,e[i]=E(t._offsetAttribute,-1),e};var V=new b,J=w.clone(w.UNIT_SPHERE),k={rectangle:V,ellipsoid:J,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};L.unpack=function(t,e,i){if(!S(t))throw new N("array is required");e=E(e,0);let m=b.unpack(t,e,V);e+=b.packedLength;let s=w.unpack(t,e,J);e+=w.packedLength;let h=t[e++],a=t[e++],_=t[e++],A=t[e++],o=t[e];return S(i)?(i._rectangle=b.clone(m,i._rectangle),i._ellipsoid=w.clone(s,i._ellipsoid),i._surfaceHeight=a,i._rotation=_,i._extrudedHeight=A,i._offsetAttribute=o===-1?void 0:o,i):(k.granularity=h,k.height=a,k.rotation=_,k.extrudedHeight=A,k.offsetAttribute=o===-1?void 0:o,new L(k))};var Z=new M;L.createGeometry=function(t){let e=t._rectangle,i=t._ellipsoid,m=C.computeOptions(e,t._granularity,t._rotation,0,W,Z),s,h;if(P.equalsEpsilon(e.north,e.south,P.EPSILON10)||P.equalsEpsilon(e.east,e.west,P.EPSILON10))return;let a=t._surfaceHeight,_=t._extrudedHeight,A=!P.equalsEpsilon(a,_,0,P.EPSILON2),o;if(A){if(s=X(t,m),S(t._offsetAttribute)){let l=s.attributes.position.values.length/3,f=new Uint8Array(l);t._offsetAttribute===v.TOP?f=f.fill(1,0,l/2):(o=t._offsetAttribute===v.NONE?0:1,f=f.fill(o)),s.attributes.applyOffset=new y({componentDatatype:T.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}let g=R.fromRectangle3D(e,i,a,K),n=R.fromRectangle3D(e,i,_,j);h=R.union(g,n)}else{if(s=F(t,m),s.attributes.position.values=z.scaleToGeodeticHeight(s.attributes.position.values,a,i,!1),S(t._offsetAttribute)){let g=s.attributes.position.values.length;o=t._offsetAttribute===v.NONE?0:1;let n=new Uint8Array(g/3).fill(o);s.attributes.applyOffset=new y({componentDatatype:T.UNSIGNED_BYTE,componentsPerAttribute:1,values:n})}h=R.fromRectangle3D(e,i,a)}return new q({attributes:s.attributes,indices:s.indices,primitiveType:B.LINES,boundingSphere:h,offsetAttribute:t._offsetAttribute})};var x=L;function $(t,e){return S(e)&&(t=x.unpack(t,e)),t._ellipsoid=w.clone(t._ellipsoid),t._rectangle=b.clone(t._rectangle),x.createGeometry(t)}var Et=$;export{Et as default}; diff --git a/public/lib/Cesium/Workers/createSimplePolylineGeometry.js b/public/lib/Cesium/Workers/createSimplePolylineGeometry.js index c0f38c4e8..76914f3c6 100644 --- a/public/lib/Cesium/Workers/createSimplePolylineGeometry.js +++ b/public/lib/Cesium/Workers/createSimplePolylineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as r}from"./chunk-XHJOIQBC.js";import{a as S}from"./chunk-6X7WLTTW.js";import{a as E}from"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as X}from"./chunk-UGB43LJM.js";import{a as W}from"./chunk-WFZLZ2P5.js";import{b as K,c as Q,d as Y}from"./chunk-CTEHZS7O.js";import{d as j}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as H}from"./chunk-27UWHT4D.js";import{a as k,d as b}from"./chunk-RFPX772U.js";import{a as q}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as w}from"./chunk-6KLVDWWE.js";import{a as L}from"./chunk-6P5KAIBX.js";import{e as u}from"./chunk-4FSVUTPL.js";function Z(t,e,o,i,s,l,p){let g=E.numberOfPoints(t,e,s),f,n=o.red,m=o.green,d=o.blue,T=o.alpha,c=i.red,h=i.green,y=i.blue,V=i.alpha;if(r.equals(o,i)){for(f=0;f<g;f++)l[p++]=r.floatToByte(n),l[p++]=r.floatToByte(m),l[p++]=r.floatToByte(d),l[p++]=r.floatToByte(T);return p}let M=(c-n)/g,C=(h-m)/g,G=(y-d)/g,_=(V-T)/g,a=p;for(f=0;f<g;f++)l[a++]=r.floatToByte(n+f*M),l[a++]=r.floatToByte(m+f*C),l[a++]=r.floatToByte(d+f*G),l[a++]=r.floatToByte(T+f*_);return a}function R(t){t=w(t,w.EMPTY_OBJECT);let e=t.positions,o=t.colors,i=w(t.colorsPerVertex,!1);if(!u(e)||e.length<2)throw new L("At least two positions are required.");if(u(o)&&(i&&o.length<e.length||!i&&o.length<e.length-1))throw new L("colors has an invalid length.");this._positions=e,this._colors=o,this._colorsPerVertex=i,this._arcType=w(t.arcType,S.GEODESIC),this._granularity=w(t.granularity,q.RADIANS_PER_DEGREE),this._ellipsoid=w(t.ellipsoid,b.default),this._workerName="createSimplePolylineGeometry";let s=1+e.length*k.packedLength;s+=u(o)?1+o.length*r.packedLength:1,this.packedLength=s+b.packedLength+3}R.pack=function(t,e,o){if(!u(t))throw new L("value is required");if(!u(e))throw new L("array is required");o=w(o,0);let i,s=t._positions,l=s.length;for(e[o++]=l,i=0;i<l;++i,o+=k.packedLength)k.pack(s[i],e,o);let p=t._colors;for(l=u(p)?p.length:0,e[o++]=l,i=0;i<l;++i,o+=r.packedLength)r.pack(p[i],e,o);return b.pack(t._ellipsoid,e,o),o+=b.packedLength,e[o++]=t._colorsPerVertex?1:0,e[o++]=t._arcType,e[o]=t._granularity,e};R.unpack=function(t,e,o){if(!u(t))throw new L("array is required");e=w(e,0);let i,s=t[e++],l=new Array(s);for(i=0;i<s;++i,e+=k.packedLength)l[i]=k.unpack(t,e);s=t[e++];let p=s>0?new Array(s):void 0;for(i=0;i<s;++i,e+=r.packedLength)p[i]=r.unpack(t,e);let g=b.unpack(t,e);e+=b.packedLength;let f=t[e++]===1,n=t[e++],m=t[e];return u(o)?(o._positions=l,o._colors=p,o._ellipsoid=g,o._colorsPerVertex=f,o._arcType=n,o._granularity=m,o):new R({positions:l,colors:p,ellipsoid:g,colorsPerVertex:f,arcType:n,granularity:m})};var F=new Array(2),N=new Array(2),$={positions:F,height:N,ellipsoid:void 0,minDistance:void 0,granularity:void 0};R.createGeometry=function(t){let e=t._positions,o=t._colors,i=t._colorsPerVertex,s=t._arcType,l=t._granularity,p=t._ellipsoid,g=q.chordLength(l,p.maximumRadius),f=u(o)&&!i,n,m=e.length,d,T,c,h,y=0;if(s===S.GEODESIC||s===S.RHUMB){let _,a,P;s===S.GEODESIC?(_=q.chordLength(l,p.maximumRadius),a=E.numberOfPoints,P=E.generateArc):(_=l,a=E.numberOfPointsRhumbLine,P=E.generateRhumbArc);let v=E.extractHeights(e,p),B=$;if(s===S.GEODESIC?B.minDistance=g:B.granularity=l,B.ellipsoid=p,f){let A=0;for(n=0;n<m-1;n++)A+=a(e[n],e[n+1],_)+1;d=new Float64Array(A*3),c=new Uint8Array(A*4),B.positions=F,B.height=N;let D=0;for(n=0;n<m-1;++n){F[0]=e[n],F[1]=e[n+1],N[0]=v[n],N[1]=v[n+1];let O=P(B);if(u(o)){let z=O.length/3;h=o[n];for(let U=0;U<z;++U)c[D++]=r.floatToByte(h.red),c[D++]=r.floatToByte(h.green),c[D++]=r.floatToByte(h.blue),c[D++]=r.floatToByte(h.alpha)}d.set(O,y),y+=O.length}}else if(B.positions=e,B.height=v,d=new Float64Array(P(B)),u(o)){for(c=new Uint8Array(d.length/3*4),n=0;n<m-1;++n){let D=e[n],O=e[n+1],z=o[n],U=o[n+1];y=Z(D,O,z,U,g,c,y)}let A=o[m-1];c[y++]=r.floatToByte(A.red),c[y++]=r.floatToByte(A.green),c[y++]=r.floatToByte(A.blue),c[y++]=r.floatToByte(A.alpha)}}else{T=f?m*2-2:m,d=new Float64Array(T*3),c=u(o)?new Uint8Array(T*4):void 0;let _=0,a=0;for(n=0;n<m;++n){let P=e[n];if(f&&n>0&&(k.pack(P,d,_),_+=3,h=o[n-1],c[a++]=r.floatToByte(h.red),c[a++]=r.floatToByte(h.green),c[a++]=r.floatToByte(h.blue),c[a++]=r.floatToByte(h.alpha)),f&&n===m-1)break;k.pack(P,d,_),_+=3,u(o)&&(h=o[n],c[a++]=r.floatToByte(h.red),c[a++]=r.floatToByte(h.green),c[a++]=r.floatToByte(h.blue),c[a++]=r.floatToByte(h.alpha))}}let V=new W;V.position=new Y({componentDatatype:H.DOUBLE,componentsPerAttribute:3,values:d}),u(o)&&(V.color=new Y({componentDatatype:H.UNSIGNED_BYTE,componentsPerAttribute:4,values:c,normalize:!0})),T=d.length/3;let M=(T-1)*2,C=X.createTypedArray(T,M),G=0;for(n=0;n<T-1;++n)C[G++]=n,C[G++]=n+1;return new Q({attributes:V,indices:C,primitiveType:K.LINES,boundingSphere:j.fromPoints(e)})};var J=R;function x(t,e){return u(e)&&(t=J.unpack(t,e)),t._ellipsoid=b.clone(t._ellipsoid),J.createGeometry(t)}var _e=x;export{_e as default}; +import{a as r}from"./chunk-SXINKIB2.js";import{a as S}from"./chunk-BRDKDER4.js";import{a as E}from"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as X}from"./chunk-A3VS2OZ2.js";import{a as W}from"./chunk-E2XIHPTZ.js";import{b as K,c as Q,d as Y}from"./chunk-72NMS5KE.js";import{d as j}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as H}from"./chunk-GNTVNTUY.js";import{a as k,d as b}from"./chunk-HWH6BBH6.js";import{a as q}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as w}from"./chunk-CJFJKB5V.js";import{a as L}from"./chunk-4BGNE6LH.js";import{e as u}from"./chunk-OX5CTLXY.js";function Z(t,e,o,i,s,l,p){let g=E.numberOfPoints(t,e,s),f,n=o.red,m=o.green,d=o.blue,T=o.alpha,c=i.red,h=i.green,y=i.blue,V=i.alpha;if(r.equals(o,i)){for(f=0;f<g;f++)l[p++]=r.floatToByte(n),l[p++]=r.floatToByte(m),l[p++]=r.floatToByte(d),l[p++]=r.floatToByte(T);return p}let M=(c-n)/g,C=(h-m)/g,G=(y-d)/g,_=(V-T)/g,a=p;for(f=0;f<g;f++)l[a++]=r.floatToByte(n+f*M),l[a++]=r.floatToByte(m+f*C),l[a++]=r.floatToByte(d+f*G),l[a++]=r.floatToByte(T+f*_);return a}function R(t){t=w(t,w.EMPTY_OBJECT);let e=t.positions,o=t.colors,i=w(t.colorsPerVertex,!1);if(!u(e)||e.length<2)throw new L("At least two positions are required.");if(u(o)&&(i&&o.length<e.length||!i&&o.length<e.length-1))throw new L("colors has an invalid length.");this._positions=e,this._colors=o,this._colorsPerVertex=i,this._arcType=w(t.arcType,S.GEODESIC),this._granularity=w(t.granularity,q.RADIANS_PER_DEGREE),this._ellipsoid=w(t.ellipsoid,b.default),this._workerName="createSimplePolylineGeometry";let s=1+e.length*k.packedLength;s+=u(o)?1+o.length*r.packedLength:1,this.packedLength=s+b.packedLength+3}R.pack=function(t,e,o){if(!u(t))throw new L("value is required");if(!u(e))throw new L("array is required");o=w(o,0);let i,s=t._positions,l=s.length;for(e[o++]=l,i=0;i<l;++i,o+=k.packedLength)k.pack(s[i],e,o);let p=t._colors;for(l=u(p)?p.length:0,e[o++]=l,i=0;i<l;++i,o+=r.packedLength)r.pack(p[i],e,o);return b.pack(t._ellipsoid,e,o),o+=b.packedLength,e[o++]=t._colorsPerVertex?1:0,e[o++]=t._arcType,e[o]=t._granularity,e};R.unpack=function(t,e,o){if(!u(t))throw new L("array is required");e=w(e,0);let i,s=t[e++],l=new Array(s);for(i=0;i<s;++i,e+=k.packedLength)l[i]=k.unpack(t,e);s=t[e++];let p=s>0?new Array(s):void 0;for(i=0;i<s;++i,e+=r.packedLength)p[i]=r.unpack(t,e);let g=b.unpack(t,e);e+=b.packedLength;let f=t[e++]===1,n=t[e++],m=t[e];return u(o)?(o._positions=l,o._colors=p,o._ellipsoid=g,o._colorsPerVertex=f,o._arcType=n,o._granularity=m,o):new R({positions:l,colors:p,ellipsoid:g,colorsPerVertex:f,arcType:n,granularity:m})};var F=new Array(2),N=new Array(2),$={positions:F,height:N,ellipsoid:void 0,minDistance:void 0,granularity:void 0};R.createGeometry=function(t){let e=t._positions,o=t._colors,i=t._colorsPerVertex,s=t._arcType,l=t._granularity,p=t._ellipsoid,g=q.chordLength(l,p.maximumRadius),f=u(o)&&!i,n,m=e.length,d,T,c,h,y=0;if(s===S.GEODESIC||s===S.RHUMB){let _,a,P;s===S.GEODESIC?(_=q.chordLength(l,p.maximumRadius),a=E.numberOfPoints,P=E.generateArc):(_=l,a=E.numberOfPointsRhumbLine,P=E.generateRhumbArc);let v=E.extractHeights(e,p),B=$;if(s===S.GEODESIC?B.minDistance=g:B.granularity=l,B.ellipsoid=p,f){let A=0;for(n=0;n<m-1;n++)A+=a(e[n],e[n+1],_)+1;d=new Float64Array(A*3),c=new Uint8Array(A*4),B.positions=F,B.height=N;let D=0;for(n=0;n<m-1;++n){F[0]=e[n],F[1]=e[n+1],N[0]=v[n],N[1]=v[n+1];let O=P(B);if(u(o)){let z=O.length/3;h=o[n];for(let U=0;U<z;++U)c[D++]=r.floatToByte(h.red),c[D++]=r.floatToByte(h.green),c[D++]=r.floatToByte(h.blue),c[D++]=r.floatToByte(h.alpha)}d.set(O,y),y+=O.length}}else if(B.positions=e,B.height=v,d=new Float64Array(P(B)),u(o)){for(c=new Uint8Array(d.length/3*4),n=0;n<m-1;++n){let D=e[n],O=e[n+1],z=o[n],U=o[n+1];y=Z(D,O,z,U,g,c,y)}let A=o[m-1];c[y++]=r.floatToByte(A.red),c[y++]=r.floatToByte(A.green),c[y++]=r.floatToByte(A.blue),c[y++]=r.floatToByte(A.alpha)}}else{T=f?m*2-2:m,d=new Float64Array(T*3),c=u(o)?new Uint8Array(T*4):void 0;let _=0,a=0;for(n=0;n<m;++n){let P=e[n];if(f&&n>0&&(k.pack(P,d,_),_+=3,h=o[n-1],c[a++]=r.floatToByte(h.red),c[a++]=r.floatToByte(h.green),c[a++]=r.floatToByte(h.blue),c[a++]=r.floatToByte(h.alpha)),f&&n===m-1)break;k.pack(P,d,_),_+=3,u(o)&&(h=o[n],c[a++]=r.floatToByte(h.red),c[a++]=r.floatToByte(h.green),c[a++]=r.floatToByte(h.blue),c[a++]=r.floatToByte(h.alpha))}}let V=new W;V.position=new Y({componentDatatype:H.DOUBLE,componentsPerAttribute:3,values:d}),u(o)&&(V.color=new Y({componentDatatype:H.UNSIGNED_BYTE,componentsPerAttribute:4,values:c,normalize:!0})),T=d.length/3;let M=(T-1)*2,C=X.createTypedArray(T,M),G=0;for(n=0;n<T-1;++n)C[G++]=n,C[G++]=n+1;return new Q({attributes:V,indices:C,primitiveType:K.LINES,boundingSphere:j.fromPoints(e)})};var J=R;function x(t,e){return u(e)&&(t=J.unpack(t,e)),t._ellipsoid=b.clone(t._ellipsoid),J.createGeometry(t)}var _e=x;export{_e as default}; diff --git a/public/lib/Cesium/Workers/createSphereGeometry.js b/public/lib/Cesium/Workers/createSphereGeometry.js index 23835b5e5..8f1fc1d79 100644 --- a/public/lib/Cesium/Workers/createSphereGeometry.js +++ b/public/lib/Cesium/Workers/createSphereGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as r}from"./chunk-KJJX7FYJ.js";import"./chunk-IFAARW2T.js";import{a as m}from"./chunk-6YAFAZVV.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as s}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as l}from"./chunk-6KLVDWWE.js";import{b as p}from"./chunk-6P5KAIBX.js";import{e as c}from"./chunk-4FSVUTPL.js";function n(e){let t=l(e.radius,1),o={radii:new s(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new r(o),this._workerName="createSphereGeometry"}n.packedLength=r.packedLength;n.pack=function(e,t,a){return p.typeOf.object("value",e),r.pack(e._ellipsoidGeometry,t,a)};var f=new r,i={radius:void 0,radii:new s,vertexFormat:new m,stackPartitions:void 0,slicePartitions:void 0};n.unpack=function(e,t,a){let o=r.unpack(e,t,f);return i.vertexFormat=m.clone(o._vertexFormat,i.vertexFormat),i.stackPartitions=o._stackPartitions,i.slicePartitions=o._slicePartitions,c(a)?(s.clone(o._radii,i.radii),a._ellipsoidGeometry=new r(i),a):(i.radius=o._radii.x,new n(i))};n.createGeometry=function(e){return r.createGeometry(e._ellipsoidGeometry)};var d=n;function u(e,t){return c(t)&&(e=d.unpack(e,t)),d.createGeometry(e)}var v=u;export{v as default}; +import{a as r}from"./chunk-J27DO7RZ.js";import"./chunk-TP5B32RY.js";import{a as m}from"./chunk-RPAJTIFB.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as s}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as l}from"./chunk-CJFJKB5V.js";import{b as p}from"./chunk-4BGNE6LH.js";import{e as c}from"./chunk-OX5CTLXY.js";function n(e){let t=l(e.radius,1),o={radii:new s(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new r(o),this._workerName="createSphereGeometry"}n.packedLength=r.packedLength;n.pack=function(e,t,a){return p.typeOf.object("value",e),r.pack(e._ellipsoidGeometry,t,a)};var f=new r,i={radius:void 0,radii:new s,vertexFormat:new m,stackPartitions:void 0,slicePartitions:void 0};n.unpack=function(e,t,a){let o=r.unpack(e,t,f);return i.vertexFormat=m.clone(o._vertexFormat,i.vertexFormat),i.stackPartitions=o._stackPartitions,i.slicePartitions=o._slicePartitions,c(a)?(s.clone(o._radii,i.radii),a._ellipsoidGeometry=new r(i),a):(i.radius=o._radii.x,new n(i))};n.createGeometry=function(e){return r.createGeometry(e._ellipsoidGeometry)};var d=n;function u(e,t){return c(t)&&(e=d.unpack(e,t)),d.createGeometry(e)}var v=u;export{v as default}; diff --git a/public/lib/Cesium/Workers/createSphereOutlineGeometry.js b/public/lib/Cesium/Workers/createSphereOutlineGeometry.js index a8c9f1d29..9de40e043 100644 --- a/public/lib/Cesium/Workers/createSphereOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createSphereOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as t}from"./chunk-ZDYLWKVC.js";import"./chunk-IFAARW2T.js";import"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as d}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as l}from"./chunk-6KLVDWWE.js";import{b as u}from"./chunk-6P5KAIBX.js";import{e as a}from"./chunk-4FSVUTPL.js";function s(i){let e=l(i.radius,1),r={radii:new d(e,e,e),stackPartitions:i.stackPartitions,slicePartitions:i.slicePartitions,subdivisions:i.subdivisions};this._ellipsoidGeometry=new t(r),this._workerName="createSphereOutlineGeometry"}s.packedLength=t.packedLength;s.pack=function(i,e,o){return u.typeOf.object("value",i),t.pack(i._ellipsoidGeometry,e,o)};var m=new t,n={radius:void 0,radii:new d,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};s.unpack=function(i,e,o){let r=t.unpack(i,e,m);return n.stackPartitions=r._stackPartitions,n.slicePartitions=r._slicePartitions,n.subdivisions=r._subdivisions,a(o)?(d.clone(r._radii,n.radii),o._ellipsoidGeometry=new t(n),o):(n.radius=r._radii.x,new s(n))};s.createGeometry=function(i){return t.createGeometry(i._ellipsoidGeometry)};var c=s;function p(i,e){return a(e)&&(i=c.unpack(i,e)),c.createGeometry(i)}var w=p;export{w as default}; +import{a as t}from"./chunk-AVHFP6LX.js";import"./chunk-TP5B32RY.js";import"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as d}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as l}from"./chunk-CJFJKB5V.js";import{b as u}from"./chunk-4BGNE6LH.js";import{e as a}from"./chunk-OX5CTLXY.js";function s(i){let e=l(i.radius,1),r={radii:new d(e,e,e),stackPartitions:i.stackPartitions,slicePartitions:i.slicePartitions,subdivisions:i.subdivisions};this._ellipsoidGeometry=new t(r),this._workerName="createSphereOutlineGeometry"}s.packedLength=t.packedLength;s.pack=function(i,e,o){return u.typeOf.object("value",i),t.pack(i._ellipsoidGeometry,e,o)};var m=new t,n={radius:void 0,radii:new d,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};s.unpack=function(i,e,o){let r=t.unpack(i,e,m);return n.stackPartitions=r._stackPartitions,n.slicePartitions=r._slicePartitions,n.subdivisions=r._subdivisions,a(o)?(d.clone(r._radii,n.radii),o._ellipsoidGeometry=new t(n),o):(n.radius=r._radii.x,new s(n))};s.createGeometry=function(i){return t.createGeometry(i._ellipsoidGeometry)};var c=s;function p(i,e){return a(e)&&(i=c.unpack(i,e)),c.createGeometry(i)}var w=p;export{w as default}; diff --git a/public/lib/Cesium/Workers/createTaskProcessorWorker.js b/public/lib/Cesium/Workers/createTaskProcessorWorker.js index eed43c3d4..65d56e006 100644 --- a/public/lib/Cesium/Workers/createTaskProcessorWorker.js +++ b/public/lib/Cesium/Workers/createTaskProcessorWorker.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a}from"./chunk-JQWRUZSV.js";import"./chunk-4FSVUTPL.js";export{a as default}; +import{a}from"./chunk-YEUI4ZO2.js";import"./chunk-OX5CTLXY.js";export{a as default}; diff --git a/public/lib/Cesium/Workers/createVectorTileClampedPolylines.js b/public/lib/Cesium/Workers/createVectorTileClampedPolylines.js index 1026076cc..30eeec252 100644 --- a/public/lib/Cesium/Workers/createVectorTileClampedPolylines.js +++ b/public/lib/Cesium/Workers/createVectorTileClampedPolylines.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as J}from"./chunk-JQWRUZSV.js";import{a as Y}from"./chunk-S5WIMI2N.js";import{a as B}from"./chunk-UGB43LJM.js";import{c as X,i as W}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as t,b as k,d as _}from"./chunk-RFPX772U.js";import{a as v}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import"./chunk-4FSVUTPL.js";var V=32767,it=Math.cos(v.toRadians(150)),ct=new k,rt=new t;function at(e,o,c,i,s,A,h){let g=e.length,f=new Float64Array(g*3);for(let d=0;d<g;++d){let l=e[d],r=o[d],E=c[d],n=v.lerp(i.west,i.east,l/V),p=v.lerp(i.south,i.north,r/V),w=v.lerp(s,A,E/V),x=k.fromRadians(n,p,w,ct),P=h.cartographicToCartesian(x,rt);t.pack(P,f,d*3)}return f}function dt(e){let o=e.length,c=new Uint32Array(o+1),i=0;for(let s=0;s<o;++s)c[s]=i,i+=e[s];return c[o]=i,c}var lt=new k,ht=new k;function ft(e,o,c,i){let s=i.length,A=e.length,h=new Uint8Array(A),g=lt,f=ht,d=0;for(let r=0;r<s;r++){let E=i[r],n=E;for(let p=1;p<E;p++){let w=d+p,x=w-1;f.longitude=e[w],f.latitude=o[w],g.longitude=e[x],g.latitude=o[x],k.equals(f,g)&&(n--,h[x]=1)}i[r]=n,d+=E}let l=0;for(let r=0;r<A;r++)h[r]!==1&&(e[l]=e[r],o[l]=o[r],c[l]=c[r],l++)}function ot(e){let o=e*8,c=o*3,i=o*4;this.startEllipsoidNormals=new Float32Array(c),this.endEllipsoidNormals=new Float32Array(c),this.startPositionAndHeights=new Float32Array(i),this.startFaceNormalAndVertexCornerIds=new Float32Array(i),this.endPositionAndHeights=new Float32Array(i),this.endFaceNormalAndHalfWidths=new Float32Array(i),this.vertexBatchIds=new Uint16Array(o),this.indices=B.createTypedArray(o,36*e),this.vec3Offset=0,this.vec4Offset=0,this.batchIdOffset=0,this.indexOffset=0,this.volumeStartIndex=0}var Q=new t,pt=new t;function $(e,o,c,i,s){let A=t.subtract(c,o,pt),h=t.subtract(o,e,Q);return t.normalize(A,A),t.normalize(h,h),t.dot(A,h)<it&&(h=t.multiplyByScalar(h,-1,Q)),t.add(A,h,s),t.equals(s,t.ZERO)&&(s=t.subtract(e,o)),t.cross(s,i,s),t.cross(i,s,s),t.normalize(s,s),s}var st=[0,2,6,0,6,4,0,1,3,0,3,2,0,4,5,0,5,1,5,3,1,5,7,3,7,5,4,7,4,6,7,6,2,7,2,3],j=st.length,tt=new t,ut=new t,mt=new t,At=new t,Nt=new t;ot.prototype.addVolume=function(e,o,c,i,s,A,h,g,f,d){let l=t.add(o,f,tt),r=d.geodeticSurfaceNormal(l,ut);l=t.add(c,f,tt);let E=d.geodeticSurfaceNormal(l,At),n=$(e,o,c,r,mt),p=$(i,c,o,E,Nt),w=this.startEllipsoidNormals,x=this.endEllipsoidNormals,P=this.startPositionAndHeights,H=this.startFaceNormalAndVertexCornerIds,b=this.endPositionAndHeights,a=this.endFaceNormalAndHalfWidths,F=this.vertexBatchIds,m=this.batchIdOffset,I=this.vec3Offset,u=this.vec4Offset,N;for(N=0;N<8;N++)t.pack(r,w,I),t.pack(E,x,I),t.pack(o,P,u),P[u+3]=s,t.pack(c,b,u),b[u+3]=A,t.pack(n,H,u),H[u+3]=N,t.pack(p,a,u),a[u+3]=h,F[m++]=g,I+=3,u+=4;this.batchIdOffset=m,this.vec3Offset=I,this.vec4Offset=u;let C=this.indices,y=this.volumeStartIndex,z=this.indexOffset;for(N=0;N<j;N++)C[z+N]=st[N]+y;this.volumeStartIndex+=8,this.indexOffset+=j};var gt=new W,Et=new _,wt=new t,M=new t,It=new t,xt=new t,T=new t;function Pt(e,o){let c=new Uint16Array(e.positions),i=new Uint16Array(e.widths),s=new Uint32Array(e.counts),A=new Uint16Array(e.batchIds),h=gt,g=Et,f=wt,d=new Float64Array(e.packedBuffer),l=0,r=d[l++],E=d[l++];W.unpack(d,l,h),l+=W.packedLength,_.unpack(d,l,g),l+=_.packedLength,t.unpack(d,l,f);let n,p=c.length/3,w=c.subarray(0,p),x=c.subarray(p,2*p),P=c.subarray(2*p,3*p);Y.zigZagDeltaDecode(w,x,P),ft(w,x,P,s);let H=s.length,b=0;for(n=0;n<H;n++){let y=s[n];b+=y-1}let a=new ot(b),F=at(w,x,P,h,r,E,g,f);p=w.length;let m=new Float32Array(p*3);for(n=0;n<p;++n)m[n*3]=F[n*3]-f.x,m[n*3+1]=F[n*3+1]-f.y,m[n*3+2]=F[n*3+2]-f.z;let I=0,u=0;for(n=0;n<H;n++){let y=s[n]-1,z=i[n]*.5,et=A[n],q=I;for(let D=0;D<y;D++){let S=t.unpack(m,I,It),O=t.unpack(m,I+3,xt),G=P[u],Z=P[u+1];G=v.lerp(r,E,G/V),Z=v.lerp(r,E,Z/V),u++;let L=M,R=T;if(D===0){let U=q+y*3,K=t.unpack(m,U,M);if(t.equals(K,S))t.unpack(m,U-3,L);else{let nt=t.subtract(S,O,M);L=t.add(nt,S,M)}}else t.unpack(m,I-3,L);if(D===y-1){let U=t.unpack(m,q,T);if(t.equals(U,O))t.unpack(m,q+3,R);else{let K=t.subtract(O,S,T);R=t.add(K,O,T)}}else t.unpack(m,I+6,R);a.addVolume(L,S,O,R,G,Z,z,et,f,g),I+=3}I+=3,u++}let N=a.indices;o.push(a.startEllipsoidNormals.buffer),o.push(a.endEllipsoidNormals.buffer),o.push(a.startPositionAndHeights.buffer),o.push(a.startFaceNormalAndVertexCornerIds.buffer),o.push(a.endPositionAndHeights.buffer),o.push(a.endFaceNormalAndHalfWidths.buffer),o.push(a.vertexBatchIds.buffer),o.push(N.buffer);let C={indexDatatype:N.BYTES_PER_ELEMENT===2?B.UNSIGNED_SHORT:B.UNSIGNED_INT,startEllipsoidNormals:a.startEllipsoidNormals.buffer,endEllipsoidNormals:a.endEllipsoidNormals.buffer,startPositionAndHeights:a.startPositionAndHeights.buffer,startFaceNormalAndVertexCornerIds:a.startFaceNormalAndVertexCornerIds.buffer,endPositionAndHeights:a.endPositionAndHeights.buffer,endFaceNormalAndHalfWidths:a.endFaceNormalAndHalfWidths.buffer,vertexBatchIds:a.vertexBatchIds.buffer,indices:N.buffer};if(e.keepDecodedPositions){let y=dt(s);o.push(F.buffer,y.buffer),C=X(C,{decodedPositions:F.buffer,decodedPositionOffsets:y.buffer})}return C}var Vt=J(Pt);export{Vt as default}; +import{a as J}from"./chunk-YEUI4ZO2.js";import{a as Y}from"./chunk-BMKF5JTH.js";import{a as B}from"./chunk-A3VS2OZ2.js";import{c as X,h as W}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as t,b as k,d as _}from"./chunk-HWH6BBH6.js";import{a as v}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import"./chunk-OX5CTLXY.js";var V=32767,it=Math.cos(v.toRadians(150)),ct=new k,rt=new t;function at(e,o,c,i,s,A,h){let g=e.length,f=new Float64Array(g*3);for(let d=0;d<g;++d){let l=e[d],r=o[d],E=c[d],n=v.lerp(i.west,i.east,l/V),p=v.lerp(i.south,i.north,r/V),w=v.lerp(s,A,E/V),x=k.fromRadians(n,p,w,ct),P=h.cartographicToCartesian(x,rt);t.pack(P,f,d*3)}return f}function dt(e){let o=e.length,c=new Uint32Array(o+1),i=0;for(let s=0;s<o;++s)c[s]=i,i+=e[s];return c[o]=i,c}var lt=new k,ht=new k;function ft(e,o,c,i){let s=i.length,A=e.length,h=new Uint8Array(A),g=lt,f=ht,d=0;for(let r=0;r<s;r++){let E=i[r],n=E;for(let p=1;p<E;p++){let w=d+p,x=w-1;f.longitude=e[w],f.latitude=o[w],g.longitude=e[x],g.latitude=o[x],k.equals(f,g)&&(n--,h[x]=1)}i[r]=n,d+=E}let l=0;for(let r=0;r<A;r++)h[r]!==1&&(e[l]=e[r],o[l]=o[r],c[l]=c[r],l++)}function ot(e){let o=e*8,c=o*3,i=o*4;this.startEllipsoidNormals=new Float32Array(c),this.endEllipsoidNormals=new Float32Array(c),this.startPositionAndHeights=new Float32Array(i),this.startFaceNormalAndVertexCornerIds=new Float32Array(i),this.endPositionAndHeights=new Float32Array(i),this.endFaceNormalAndHalfWidths=new Float32Array(i),this.vertexBatchIds=new Uint16Array(o),this.indices=B.createTypedArray(o,36*e),this.vec3Offset=0,this.vec4Offset=0,this.batchIdOffset=0,this.indexOffset=0,this.volumeStartIndex=0}var Q=new t,pt=new t;function $(e,o,c,i,s){let A=t.subtract(c,o,pt),h=t.subtract(o,e,Q);return t.normalize(A,A),t.normalize(h,h),t.dot(A,h)<it&&(h=t.multiplyByScalar(h,-1,Q)),t.add(A,h,s),t.equals(s,t.ZERO)&&(s=t.subtract(e,o)),t.cross(s,i,s),t.cross(i,s,s),t.normalize(s,s),s}var st=[0,2,6,0,6,4,0,1,3,0,3,2,0,4,5,0,5,1,5,3,1,5,7,3,7,5,4,7,4,6,7,6,2,7,2,3],j=st.length,tt=new t,ut=new t,mt=new t,At=new t,Nt=new t;ot.prototype.addVolume=function(e,o,c,i,s,A,h,g,f,d){let l=t.add(o,f,tt),r=d.geodeticSurfaceNormal(l,ut);l=t.add(c,f,tt);let E=d.geodeticSurfaceNormal(l,At),n=$(e,o,c,r,mt),p=$(i,c,o,E,Nt),w=this.startEllipsoidNormals,x=this.endEllipsoidNormals,P=this.startPositionAndHeights,H=this.startFaceNormalAndVertexCornerIds,b=this.endPositionAndHeights,a=this.endFaceNormalAndHalfWidths,F=this.vertexBatchIds,m=this.batchIdOffset,I=this.vec3Offset,u=this.vec4Offset,N;for(N=0;N<8;N++)t.pack(r,w,I),t.pack(E,x,I),t.pack(o,P,u),P[u+3]=s,t.pack(c,b,u),b[u+3]=A,t.pack(n,H,u),H[u+3]=N,t.pack(p,a,u),a[u+3]=h,F[m++]=g,I+=3,u+=4;this.batchIdOffset=m,this.vec3Offset=I,this.vec4Offset=u;let C=this.indices,y=this.volumeStartIndex,z=this.indexOffset;for(N=0;N<j;N++)C[z+N]=st[N]+y;this.volumeStartIndex+=8,this.indexOffset+=j};var gt=new W,Et=new _,wt=new t,M=new t,It=new t,xt=new t,T=new t;function Pt(e,o){let c=new Uint16Array(e.positions),i=new Uint16Array(e.widths),s=new Uint32Array(e.counts),A=new Uint16Array(e.batchIds),h=gt,g=Et,f=wt,d=new Float64Array(e.packedBuffer),l=0,r=d[l++],E=d[l++];W.unpack(d,l,h),l+=W.packedLength,_.unpack(d,l,g),l+=_.packedLength,t.unpack(d,l,f);let n,p=c.length/3,w=c.subarray(0,p),x=c.subarray(p,2*p),P=c.subarray(2*p,3*p);Y.zigZagDeltaDecode(w,x,P),ft(w,x,P,s);let H=s.length,b=0;for(n=0;n<H;n++){let y=s[n];b+=y-1}let a=new ot(b),F=at(w,x,P,h,r,E,g,f);p=w.length;let m=new Float32Array(p*3);for(n=0;n<p;++n)m[n*3]=F[n*3]-f.x,m[n*3+1]=F[n*3+1]-f.y,m[n*3+2]=F[n*3+2]-f.z;let I=0,u=0;for(n=0;n<H;n++){let y=s[n]-1,z=i[n]*.5,et=A[n],q=I;for(let D=0;D<y;D++){let S=t.unpack(m,I,It),O=t.unpack(m,I+3,xt),G=P[u],Z=P[u+1];G=v.lerp(r,E,G/V),Z=v.lerp(r,E,Z/V),u++;let L=M,R=T;if(D===0){let U=q+y*3,K=t.unpack(m,U,M);if(t.equals(K,S))t.unpack(m,U-3,L);else{let nt=t.subtract(S,O,M);L=t.add(nt,S,M)}}else t.unpack(m,I-3,L);if(D===y-1){let U=t.unpack(m,q,T);if(t.equals(U,O))t.unpack(m,q+3,R);else{let K=t.subtract(O,S,T);R=t.add(K,O,T)}}else t.unpack(m,I+6,R);a.addVolume(L,S,O,R,G,Z,z,et,f,g),I+=3}I+=3,u++}let N=a.indices;o.push(a.startEllipsoidNormals.buffer),o.push(a.endEllipsoidNormals.buffer),o.push(a.startPositionAndHeights.buffer),o.push(a.startFaceNormalAndVertexCornerIds.buffer),o.push(a.endPositionAndHeights.buffer),o.push(a.endFaceNormalAndHalfWidths.buffer),o.push(a.vertexBatchIds.buffer),o.push(N.buffer);let C={indexDatatype:N.BYTES_PER_ELEMENT===2?B.UNSIGNED_SHORT:B.UNSIGNED_INT,startEllipsoidNormals:a.startEllipsoidNormals.buffer,endEllipsoidNormals:a.endEllipsoidNormals.buffer,startPositionAndHeights:a.startPositionAndHeights.buffer,startFaceNormalAndVertexCornerIds:a.startFaceNormalAndVertexCornerIds.buffer,endPositionAndHeights:a.endPositionAndHeights.buffer,endFaceNormalAndHalfWidths:a.endFaceNormalAndHalfWidths.buffer,vertexBatchIds:a.vertexBatchIds.buffer,indices:N.buffer};if(e.keepDecodedPositions){let y=dt(s);o.push(F.buffer,y.buffer),C=X(C,{decodedPositions:F.buffer,decodedPositionOffsets:y.buffer})}return C}var Vt=J(Pt);export{Vt as default}; diff --git a/public/lib/Cesium/Workers/createVectorTileGeometries.js b/public/lib/Cesium/Workers/createVectorTileGeometries.js index 54892ae3b..f691316b5 100644 --- a/public/lib/Cesium/Workers/createVectorTileGeometries.js +++ b/public/lib/Cesium/Workers/createVectorTileGeometries.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as P}from"./chunk-XHJOIQBC.js";import{a as z}from"./chunk-JGTLNH7T.js";import"./chunk-U3H5JVOB.js";import{a as H}from"./chunk-KJJX7FYJ.js";import{a as Y}from"./chunk-JQWRUZSV.js";import{a as j}from"./chunk-YEGGJGFV.js";import"./chunk-IFAARW2T.js";import"./chunk-6YAFAZVV.js";import{a as W}from"./chunk-UGB43LJM.js";import"./chunk-WFZLZ2P5.js";import"./chunk-CTEHZS7O.js";import{d as E}from"./chunk-4TXI27XR.js";import{b as d}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as o}from"./chunk-RFPX772U.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as l}from"./chunk-4FSVUTPL.js";function X(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var J=X;var S=new o,$=d.packedLength+o.packedLength,ee=d.packedLength+2,ne=d.packedLength+o.packedLength,te=o.packedLength+1,u={modelMatrix:new d,boundingVolume:new E};function oe(e,c){let n=c*$,i=o.unpack(e,n,S);n+=o.packedLength;let r=d.unpack(e,n,u.modelMatrix);d.multiplyByScale(r,i,r);let t=u.boundingVolume;return o.clone(o.ZERO,t.center),t.radius=Math.sqrt(3),u}function ce(e,c){let n=c*ee,i=e[n++],r=e[n++],t=o.fromElements(i,i,r,S),s=d.unpack(e,n,u.modelMatrix);d.multiplyByScale(s,t,s);let h=u.boundingVolume;return o.clone(o.ZERO,h.center),h.radius=Math.sqrt(2),u}function se(e,c){let n=c*ne,i=o.unpack(e,n,S);n+=o.packedLength;let r=d.unpack(e,n,u.modelMatrix);d.multiplyByScale(r,i,r);let t=u.boundingVolume;return o.clone(o.ZERO,t.center),t.radius=1,u}function ie(e,c){let n=c*te,i=e[n++],r=o.unpack(e,n,S),t=d.fromTranslation(r,u.modelMatrix);d.multiplyByUniformScale(t,i,t);let s=u.boundingVolume;return o.clone(o.ZERO,s.center),s.radius=1,u}var de=new o;function R(e,c,n,i,r){if(!l(c))return;let t=n.length,s=i.attributes.position.values,h=i.indices,a=e.positions,x=e.vertexBatchIds,y=e.indices,I=e.batchIds,p=e.batchTableColors,T=e.batchedIndices,U=e.indexOffsets,v=e.indexCounts,L=e.boundingVolumes,F=e.modelMatrix,Z=e.center,V=e.positionOffset,B=e.batchIdIndex,O=e.indexOffset,D=e.batchedIndicesOffset;for(let w=0;w<t;++w){let C=r(c,w),k=C.modelMatrix;d.multiply(F,k,k);let M=n[w],A=s.length;for(let f=0;f<A;f+=3){let m=o.unpack(s,f,de);d.multiplyByPoint(k,m,m),o.subtract(m,Z,m),o.pack(m,a,V*3+f),x[B++]=M}let b=h.length;for(let f=0;f<b;++f)y[O+f]=h[f]+V;let g=w+D;T[g]=new J({offset:O,count:b,color:P.fromRgba(p[M]),batchIds:[M]}),I[g]=M,U[g]=O,v[g]=b,L[g]=E.transform(C.boundingVolume,k),V+=A/3,O+=b}e.positionOffset=V,e.batchIdIndex=B,e.indexOffset=O,e.batchedIndicesOffset+=t}var K=new o,Q=new d;function re(e){let c=new Float64Array(e),n=0;o.unpack(c,n,K),n+=o.packedLength,d.unpack(c,n,Q)}function le(e){let c=e.length,n=0;for(let i=0;i<c;++i)n+=P.packedLength+3+e[i].batchIds.length;return n}function ae(e,c,n){let i=n.length,r=2+i*E.packedLength+1+le(c),t=new Float64Array(r),s=0;t[s++]=e,t[s++]=i;for(let a=0;a<i;++a)E.pack(n[a],t,s),s+=E.packedLength;let h=c.length;t[s++]=h;for(let a=0;a<h;++a){let x=c[a];P.pack(x.color,t,s),s+=P.packedLength,t[s++]=x.offset,t[s++]=x.count;let y=x.batchIds,I=y.length;t[s++]=I;for(let p=0;p<I;++p)t[s++]=y[p]}return t}function fe(e,c){let n=l(e.boxes)?new Float32Array(e.boxes):void 0,i=l(e.boxBatchIds)?new Uint16Array(e.boxBatchIds):void 0,r=l(e.cylinders)?new Float32Array(e.cylinders):void 0,t=l(e.cylinderBatchIds)?new Uint16Array(e.cylinderBatchIds):void 0,s=l(e.ellipsoids)?new Float32Array(e.ellipsoids):void 0,h=l(e.ellipsoidBatchIds)?new Uint16Array(e.ellipsoidBatchIds):void 0,a=l(e.spheres)?new Float32Array(e.spheres):void 0,x=l(e.sphereBatchIds)?new Uint16Array(e.sphereBatchIds):void 0,y=l(n)?i.length:0,I=l(r)?t.length:0,p=l(s)?h.length:0,T=l(a)?x.length:0,U=j.getUnitBox(),v=z.getUnitCylinder(),L=H.getUnitEllipsoid(),F=U.attributes.position.values,Z=v.attributes.position.values,V=L.attributes.position.values,B=F.length*y;B+=Z.length*I,B+=V.length*(p+T);let O=U.indices,D=v.indices,w=L.indices,C=O.length*y;C+=D.length*I,C+=w.length*(p+T);let k=new Float32Array(B),M=new Uint16Array(B/3),A=W.createTypedArray(B/3,C),b=y+I+p+T,g=new Uint16Array(b),f=new Array(b),m=new Uint32Array(b),q=new Uint32Array(b),_=new Array(b);re(e.packedBuffer);let G={batchTableColors:new Uint32Array(e.batchTableColors),positions:k,vertexBatchIds:M,indices:A,batchIds:g,batchedIndices:f,indexOffsets:m,indexCounts:q,boundingVolumes:_,positionOffset:0,batchIdIndex:0,indexOffset:0,batchedIndicesOffset:0,modelMatrix:Q,center:K};R(G,n,i,U,oe),R(G,r,t,v,ce),R(G,s,h,L,se),R(G,a,x,L,ie);let N=ae(A.BYTES_PER_ELEMENT,f,_);return c.push(k.buffer,M.buffer,A.buffer),c.push(g.buffer,m.buffer,q.buffer),c.push(N.buffer),{positions:k.buffer,vertexBatchIds:M.buffer,indices:A.buffer,indexOffsets:m.buffer,indexCounts:q.buffer,batchIds:g.buffer,packedBuffer:N.buffer}}var Oe=Y(fe);export{Oe as default}; +import{a as P}from"./chunk-SXINKIB2.js";import{a as z}from"./chunk-T7AQS7YI.js";import"./chunk-NIXFT7ZT.js";import{a as H}from"./chunk-J27DO7RZ.js";import{a as Y}from"./chunk-YEUI4ZO2.js";import{a as j}from"./chunk-64YODNAO.js";import"./chunk-TP5B32RY.js";import"./chunk-RPAJTIFB.js";import{a as W}from"./chunk-A3VS2OZ2.js";import"./chunk-E2XIHPTZ.js";import"./chunk-72NMS5KE.js";import{d as E}from"./chunk-JLMPKQO4.js";import{b as d}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as o}from"./chunk-HWH6BBH6.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as l}from"./chunk-OX5CTLXY.js";function X(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var J=X;var S=new o,$=d.packedLength+o.packedLength,ee=d.packedLength+2,ne=d.packedLength+o.packedLength,te=o.packedLength+1,u={modelMatrix:new d,boundingVolume:new E};function oe(e,c){let n=c*$,i=o.unpack(e,n,S);n+=o.packedLength;let r=d.unpack(e,n,u.modelMatrix);d.multiplyByScale(r,i,r);let t=u.boundingVolume;return o.clone(o.ZERO,t.center),t.radius=Math.sqrt(3),u}function ce(e,c){let n=c*ee,i=e[n++],r=e[n++],t=o.fromElements(i,i,r,S),s=d.unpack(e,n,u.modelMatrix);d.multiplyByScale(s,t,s);let h=u.boundingVolume;return o.clone(o.ZERO,h.center),h.radius=Math.sqrt(2),u}function se(e,c){let n=c*ne,i=o.unpack(e,n,S);n+=o.packedLength;let r=d.unpack(e,n,u.modelMatrix);d.multiplyByScale(r,i,r);let t=u.boundingVolume;return o.clone(o.ZERO,t.center),t.radius=1,u}function ie(e,c){let n=c*te,i=e[n++],r=o.unpack(e,n,S),t=d.fromTranslation(r,u.modelMatrix);d.multiplyByUniformScale(t,i,t);let s=u.boundingVolume;return o.clone(o.ZERO,s.center),s.radius=1,u}var de=new o;function R(e,c,n,i,r){if(!l(c))return;let t=n.length,s=i.attributes.position.values,h=i.indices,a=e.positions,x=e.vertexBatchIds,y=e.indices,I=e.batchIds,p=e.batchTableColors,T=e.batchedIndices,U=e.indexOffsets,v=e.indexCounts,L=e.boundingVolumes,F=e.modelMatrix,Z=e.center,V=e.positionOffset,B=e.batchIdIndex,O=e.indexOffset,D=e.batchedIndicesOffset;for(let w=0;w<t;++w){let C=r(c,w),k=C.modelMatrix;d.multiply(F,k,k);let M=n[w],A=s.length;for(let f=0;f<A;f+=3){let m=o.unpack(s,f,de);d.multiplyByPoint(k,m,m),o.subtract(m,Z,m),o.pack(m,a,V*3+f),x[B++]=M}let b=h.length;for(let f=0;f<b;++f)y[O+f]=h[f]+V;let g=w+D;T[g]=new J({offset:O,count:b,color:P.fromRgba(p[M]),batchIds:[M]}),I[g]=M,U[g]=O,v[g]=b,L[g]=E.transform(C.boundingVolume,k),V+=A/3,O+=b}e.positionOffset=V,e.batchIdIndex=B,e.indexOffset=O,e.batchedIndicesOffset+=t}var K=new o,Q=new d;function re(e){let c=new Float64Array(e),n=0;o.unpack(c,n,K),n+=o.packedLength,d.unpack(c,n,Q)}function le(e){let c=e.length,n=0;for(let i=0;i<c;++i)n+=P.packedLength+3+e[i].batchIds.length;return n}function ae(e,c,n){let i=n.length,r=2+i*E.packedLength+1+le(c),t=new Float64Array(r),s=0;t[s++]=e,t[s++]=i;for(let a=0;a<i;++a)E.pack(n[a],t,s),s+=E.packedLength;let h=c.length;t[s++]=h;for(let a=0;a<h;++a){let x=c[a];P.pack(x.color,t,s),s+=P.packedLength,t[s++]=x.offset,t[s++]=x.count;let y=x.batchIds,I=y.length;t[s++]=I;for(let p=0;p<I;++p)t[s++]=y[p]}return t}function fe(e,c){let n=l(e.boxes)?new Float32Array(e.boxes):void 0,i=l(e.boxBatchIds)?new Uint16Array(e.boxBatchIds):void 0,r=l(e.cylinders)?new Float32Array(e.cylinders):void 0,t=l(e.cylinderBatchIds)?new Uint16Array(e.cylinderBatchIds):void 0,s=l(e.ellipsoids)?new Float32Array(e.ellipsoids):void 0,h=l(e.ellipsoidBatchIds)?new Uint16Array(e.ellipsoidBatchIds):void 0,a=l(e.spheres)?new Float32Array(e.spheres):void 0,x=l(e.sphereBatchIds)?new Uint16Array(e.sphereBatchIds):void 0,y=l(n)?i.length:0,I=l(r)?t.length:0,p=l(s)?h.length:0,T=l(a)?x.length:0,U=j.getUnitBox(),v=z.getUnitCylinder(),L=H.getUnitEllipsoid(),F=U.attributes.position.values,Z=v.attributes.position.values,V=L.attributes.position.values,B=F.length*y;B+=Z.length*I,B+=V.length*(p+T);let O=U.indices,D=v.indices,w=L.indices,C=O.length*y;C+=D.length*I,C+=w.length*(p+T);let k=new Float32Array(B),M=new Uint16Array(B/3),A=W.createTypedArray(B/3,C),b=y+I+p+T,g=new Uint16Array(b),f=new Array(b),m=new Uint32Array(b),q=new Uint32Array(b),_=new Array(b);re(e.packedBuffer);let G={batchTableColors:new Uint32Array(e.batchTableColors),positions:k,vertexBatchIds:M,indices:A,batchIds:g,batchedIndices:f,indexOffsets:m,indexCounts:q,boundingVolumes:_,positionOffset:0,batchIdIndex:0,indexOffset:0,batchedIndicesOffset:0,modelMatrix:Q,center:K};R(G,n,i,U,oe),R(G,r,t,v,ce),R(G,s,h,L,se),R(G,a,x,L,ie);let N=ae(A.BYTES_PER_ELEMENT,f,_);return c.push(k.buffer,M.buffer,A.buffer),c.push(g.buffer,m.buffer,q.buffer),c.push(N.buffer),{positions:k.buffer,vertexBatchIds:M.buffer,indices:A.buffer,indexOffsets:m.buffer,indexCounts:q.buffer,batchIds:g.buffer,packedBuffer:N.buffer}}var Oe=Y(fe);export{Oe as default}; diff --git a/public/lib/Cesium/Workers/createVectorTilePoints.js b/public/lib/Cesium/Workers/createVectorTilePoints.js index 257fa7d5f..99379e730 100644 --- a/public/lib/Cesium/Workers/createVectorTilePoints.js +++ b/public/lib/Cesium/Workers/createVectorTilePoints.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as x}from"./chunk-JQWRUZSV.js";import{a as w}from"./chunk-S5WIMI2N.js";import{i as c}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as h,b as l,d as p}from"./chunk-RFPX772U.js";import{a as i}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import"./chunk-4FSVUTPL.js";var u=32767,F=new l,L=new h,b=new c,y=new p,a={min:void 0,max:void 0};function V(t){t=new Float64Array(t);let o=0;a.min=t[o++],a.max=t[o++],c.unpack(t,o,b),o+=c.packedLength,p.unpack(t,o,y)}function z(t,o){let s=new Uint16Array(t.positions);V(t.packedBuffer);let e=b,C=y,A=a.min,P=a.max,n=s.length/3,f=s.subarray(0,n),g=s.subarray(n,2*n),d=s.subarray(2*n,3*n);w.zigZagDeltaDecode(f,g,d);let m=new Float64Array(s.length);for(let r=0;r<n;++r){let k=f[r],E=g[r],H=d[r],M=i.lerp(e.west,e.east,k/u),R=i.lerp(e.south,e.north,E/u),T=i.lerp(A,P,H/u),v=l.fromRadians(M,R,T,F),D=C.cartographicToCartesian(v,L);h.pack(D,m,r*3)}return o.push(m.buffer),{positions:m.buffer}}var G=x(z);export{G as default}; +import{a as x}from"./chunk-YEUI4ZO2.js";import{a as w}from"./chunk-BMKF5JTH.js";import{h as c}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as h,b as l,d as p}from"./chunk-HWH6BBH6.js";import{a as i}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import"./chunk-OX5CTLXY.js";var u=32767,F=new l,L=new h,b=new c,y=new p,a={min:void 0,max:void 0};function V(t){t=new Float64Array(t);let o=0;a.min=t[o++],a.max=t[o++],c.unpack(t,o,b),o+=c.packedLength,p.unpack(t,o,y)}function z(t,o){let s=new Uint16Array(t.positions);V(t.packedBuffer);let e=b,C=y,A=a.min,P=a.max,n=s.length/3,f=s.subarray(0,n),g=s.subarray(n,2*n),d=s.subarray(2*n,3*n);w.zigZagDeltaDecode(f,g,d);let m=new Float64Array(s.length);for(let r=0;r<n;++r){let k=f[r],E=g[r],H=d[r],M=i.lerp(e.west,e.east,k/u),R=i.lerp(e.south,e.north,E/u),T=i.lerp(A,P,H/u),v=l.fromRadians(M,R,T,F),D=C.cartographicToCartesian(v,L);h.pack(D,m,r*3)}return o.push(m.buffer),{positions:m.buffer}}var G=x(z);export{G as default}; diff --git a/public/lib/Cesium/Workers/createVectorTilePolygons.js b/public/lib/Cesium/Workers/createVectorTilePolygons.js index 057ddcad0..386466978 100644 --- a/public/lib/Cesium/Workers/createVectorTilePolygons.js +++ b/public/lib/Cesium/Workers/createVectorTilePolygons.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as R}from"./chunk-XHJOIQBC.js";import{a as It}from"./chunk-JQWRUZSV.js";import{a as M}from"./chunk-2744EW7N.js";import{a as bt}from"./chunk-S5WIMI2N.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as W}from"./chunk-UGB43LJM.js";import"./chunk-4TXI27XR.js";import{i as z}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as o,b as nt,d as j}from"./chunk-RFPX772U.js";import{a as et}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as A}from"./chunk-4FSVUTPL.js";var kt=new o,Bt=new j,Nt=new z,E={min:void 0,max:void 0,indexBytesPerElement:void 0};function Pt(s){let u=new Float64Array(s),n=0;E.indexBytesPerElement=u[n++],E.min=u[n++],E.max=u[n++],o.unpack(u,n,kt),n+=o.packedLength,j.unpack(u,n,Bt),n+=j.packedLength,z.unpack(u,n,Nt)}function Tt(s){let u=s.length,n=0;for(let y=0;y<u;++y)n+=R.packedLength+3+s[y].batchIds.length;return n}function Ct(s,u,n){let y=u.length,O=2+y*M.packedLength+1+Tt(n),c=new Float64Array(O),i=0;c[i++]=s,c[i++]=y;for(let x=0;x<y;++x)M.pack(u[x],c,i),i+=M.packedLength;let V=n.length;c[i++]=V;for(let x=0;x<V;++x){let B=n[x];R.pack(B.color,c,i),i+=R.packedLength,c[i++]=B.offset,c[i++]=B.count;let P=B.batchIds,w=P.length;c[i++]=w;for(let h=0;h<w;++h)c[i++]=P[h]}return c}var yt=32767,wt=new o,Ht=new o,St=new o,Ut=new o,Ft=new o,Lt=new nt,Mt=new z;function Rt(s,u){Pt(s.packedBuffer);let n;E.indexBytesPerElement===2?n=new Uint16Array(s.indices):n=new Uint32Array(s.indices);let O=new Uint16Array(s.positions),c=new Uint32Array(s.counts),i=new Uint32Array(s.indexCounts),V=new Uint32Array(s.batchIds),x=new Uint32Array(s.batchTableColors),B=new Array(c.length),P=kt,w=Bt,h=Nt,ot=E.min,st=E.max,T=s.minimumHeights,C=s.maximumHeights;A(T)&&A(C)&&(T=new Float32Array(T),C=new Float32Array(C));let t,f,l,N=O.length/2,ct=O.subarray(0,N),it=O.subarray(N,2*N);bt.zigZagDeltaDecode(ct,it);let rt=new Float64Array(N*3);for(t=0;t<N;++t){let e=ct[t],p=it[t],L=et.lerp(h.west,h.east,e/yt),k=et.lerp(h.south,h.north,p/yt),b=nt.fromRadians(L,k,0,Lt),Y=w.cartographicToCartesian(b,wt);o.pack(Y,rt,t*3)}let H=c.length,at=new Array(H),Z=new Array(H),ft=0,lt=0;for(t=0;t<H;++t)at[t]=ft,Z[t]=lt,ft+=c[t],lt+=i[t];let S=new Float32Array(N*3*2),_=new Uint16Array(N*2),D=new Uint32Array(Z.length),G=new Uint32Array(i.length),r=[],g={};for(t=0;t<H;++t)l=x[t],A(g[l])?(g[l].positionLength+=c[t],g[l].indexLength+=i[t],g[l].batchIds.push(t)):g[l]={positionLength:c[t],indexLength:i[t],offset:0,indexOffset:0,batchIds:[t]};let a,dt=0,ht=0;for(l in g)if(g.hasOwnProperty(l)){a=g[l],a.offset=dt,a.indexOffset=ht;let e=a.positionLength*2,p=a.indexLength*2+a.positionLength*6;dt+=e,ht+=p,a.indexLength=p}let U=[];for(l in g)g.hasOwnProperty(l)&&(a=g[l],U.push({color:R.fromRgba(parseInt(l)),offset:a.indexOffset,count:a.indexLength,batchIds:a.batchIds}));for(t=0;t<H;++t){l=x[t],a=g[l];let e=a.offset,p=e*3,L=e,k=at[t],b=c[t],Y=V[t],mt=ot,gt=st;A(T)&&A(C)&&(mt=T[t],gt=C[t]);let q=Number.POSITIVE_INFINITY,J=Number.NEGATIVE_INFINITY,K=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY;for(f=0;f<b;++f){let m=o.unpack(rt,k*3+f*3,wt);w.scaleToGeodeticSurface(m,m);let I=w.cartesianToCartographic(m,Lt),F=I.latitude,pt=I.longitude;q=Math.min(F,q),J=Math.max(F,J),K=Math.min(pt,K),Q=Math.max(pt,Q);let xt=w.geodeticSurfaceNormal(m,Ht),v=o.multiplyByScalar(xt,mt,St),$=o.add(m,v,Ut);v=o.multiplyByScalar(xt,gt,v);let tt=o.add(m,v,Ft);o.subtract(tt,P,tt),o.subtract($,P,$),o.pack(tt,S,p),o.pack($,S,p+3),_[L]=Y,_[L+1]=Y,p+=6,L+=2}h=Mt,h.west=K,h.east=Q,h.south=q,h.north=J,B[t]=M.fromRectangle(h,ot,st,w);let d=a.indexOffset,X=Z[t],Ot=i[t];for(D[t]=d,f=0;f<Ot;f+=3){let m=n[X+f]-k,I=n[X+f+1]-k,F=n[X+f+2]-k;r[d++]=m*2+e,r[d++]=I*2+e,r[d++]=F*2+e,r[d++]=F*2+1+e,r[d++]=I*2+1+e,r[d++]=m*2+1+e}for(f=0;f<b;++f){let m=f,I=(f+1)%b;r[d++]=m*2+1+e,r[d++]=I*2+e,r[d++]=m*2+e,r[d++]=m*2+1+e,r[d++]=I*2+1+e,r[d++]=I*2+e}a.offset+=b*2,a.indexOffset=d,G[t]=d-D[t]}r=W.createTypedArray(S.length/3,r);let At=U.length;for(let e=0;e<At;++e){let p=U[e].batchIds,L=0,k=p.length;for(let b=0;b<k;++b)L+=G[p[b]];U[e].count=L}let Et=r.BYTES_PER_ELEMENT===2?W.UNSIGNED_SHORT:W.UNSIGNED_INT,ut=Ct(Et,B,U);return u.push(S.buffer,r.buffer,D.buffer,G.buffer,_.buffer,ut.buffer),{positions:S.buffer,indices:r.buffer,indexOffsets:D.buffer,indexCounts:G.buffer,batchIds:_.buffer,packedBuffer:ut.buffer}}var Jt=It(Rt);export{Jt as default}; +import{a as R}from"./chunk-SXINKIB2.js";import{a as It}from"./chunk-YEUI4ZO2.js";import{a as M}from"./chunk-LKADYPHQ.js";import{a as bt}from"./chunk-BMKF5JTH.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as W}from"./chunk-A3VS2OZ2.js";import"./chunk-JLMPKQO4.js";import{h as z}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as o,b as nt,d as j}from"./chunk-HWH6BBH6.js";import{a as et}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as A}from"./chunk-OX5CTLXY.js";var kt=new o,Bt=new j,Nt=new z,E={min:void 0,max:void 0,indexBytesPerElement:void 0};function Pt(s){let u=new Float64Array(s),n=0;E.indexBytesPerElement=u[n++],E.min=u[n++],E.max=u[n++],o.unpack(u,n,kt),n+=o.packedLength,j.unpack(u,n,Bt),n+=j.packedLength,z.unpack(u,n,Nt)}function Tt(s){let u=s.length,n=0;for(let y=0;y<u;++y)n+=R.packedLength+3+s[y].batchIds.length;return n}function Ct(s,u,n){let y=u.length,O=2+y*M.packedLength+1+Tt(n),c=new Float64Array(O),i=0;c[i++]=s,c[i++]=y;for(let x=0;x<y;++x)M.pack(u[x],c,i),i+=M.packedLength;let V=n.length;c[i++]=V;for(let x=0;x<V;++x){let B=n[x];R.pack(B.color,c,i),i+=R.packedLength,c[i++]=B.offset,c[i++]=B.count;let P=B.batchIds,w=P.length;c[i++]=w;for(let h=0;h<w;++h)c[i++]=P[h]}return c}var yt=32767,wt=new o,Ht=new o,St=new o,Ut=new o,Ft=new o,Lt=new nt,Mt=new z;function Rt(s,u){Pt(s.packedBuffer);let n;E.indexBytesPerElement===2?n=new Uint16Array(s.indices):n=new Uint32Array(s.indices);let O=new Uint16Array(s.positions),c=new Uint32Array(s.counts),i=new Uint32Array(s.indexCounts),V=new Uint32Array(s.batchIds),x=new Uint32Array(s.batchTableColors),B=new Array(c.length),P=kt,w=Bt,h=Nt,ot=E.min,st=E.max,T=s.minimumHeights,C=s.maximumHeights;A(T)&&A(C)&&(T=new Float32Array(T),C=new Float32Array(C));let t,f,l,N=O.length/2,ct=O.subarray(0,N),it=O.subarray(N,2*N);bt.zigZagDeltaDecode(ct,it);let rt=new Float64Array(N*3);for(t=0;t<N;++t){let e=ct[t],p=it[t],L=et.lerp(h.west,h.east,e/yt),k=et.lerp(h.south,h.north,p/yt),b=nt.fromRadians(L,k,0,Lt),Y=w.cartographicToCartesian(b,wt);o.pack(Y,rt,t*3)}let H=c.length,at=new Array(H),Z=new Array(H),ft=0,lt=0;for(t=0;t<H;++t)at[t]=ft,Z[t]=lt,ft+=c[t],lt+=i[t];let S=new Float32Array(N*3*2),_=new Uint16Array(N*2),D=new Uint32Array(Z.length),G=new Uint32Array(i.length),r=[],g={};for(t=0;t<H;++t)l=x[t],A(g[l])?(g[l].positionLength+=c[t],g[l].indexLength+=i[t],g[l].batchIds.push(t)):g[l]={positionLength:c[t],indexLength:i[t],offset:0,indexOffset:0,batchIds:[t]};let a,dt=0,ht=0;for(l in g)if(g.hasOwnProperty(l)){a=g[l],a.offset=dt,a.indexOffset=ht;let e=a.positionLength*2,p=a.indexLength*2+a.positionLength*6;dt+=e,ht+=p,a.indexLength=p}let U=[];for(l in g)g.hasOwnProperty(l)&&(a=g[l],U.push({color:R.fromRgba(parseInt(l)),offset:a.indexOffset,count:a.indexLength,batchIds:a.batchIds}));for(t=0;t<H;++t){l=x[t],a=g[l];let e=a.offset,p=e*3,L=e,k=at[t],b=c[t],Y=V[t],mt=ot,gt=st;A(T)&&A(C)&&(mt=T[t],gt=C[t]);let q=Number.POSITIVE_INFINITY,J=Number.NEGATIVE_INFINITY,K=Number.POSITIVE_INFINITY,Q=Number.NEGATIVE_INFINITY;for(f=0;f<b;++f){let m=o.unpack(rt,k*3+f*3,wt);w.scaleToGeodeticSurface(m,m);let I=w.cartesianToCartographic(m,Lt),F=I.latitude,pt=I.longitude;q=Math.min(F,q),J=Math.max(F,J),K=Math.min(pt,K),Q=Math.max(pt,Q);let xt=w.geodeticSurfaceNormal(m,Ht),v=o.multiplyByScalar(xt,mt,St),$=o.add(m,v,Ut);v=o.multiplyByScalar(xt,gt,v);let tt=o.add(m,v,Ft);o.subtract(tt,P,tt),o.subtract($,P,$),o.pack(tt,S,p),o.pack($,S,p+3),_[L]=Y,_[L+1]=Y,p+=6,L+=2}h=Mt,h.west=K,h.east=Q,h.south=q,h.north=J,B[t]=M.fromRectangle(h,ot,st,w);let d=a.indexOffset,X=Z[t],Ot=i[t];for(D[t]=d,f=0;f<Ot;f+=3){let m=n[X+f]-k,I=n[X+f+1]-k,F=n[X+f+2]-k;r[d++]=m*2+e,r[d++]=I*2+e,r[d++]=F*2+e,r[d++]=F*2+1+e,r[d++]=I*2+1+e,r[d++]=m*2+1+e}for(f=0;f<b;++f){let m=f,I=(f+1)%b;r[d++]=m*2+1+e,r[d++]=I*2+e,r[d++]=m*2+e,r[d++]=m*2+1+e,r[d++]=I*2+1+e,r[d++]=I*2+e}a.offset+=b*2,a.indexOffset=d,G[t]=d-D[t]}r=W.createTypedArray(S.length/3,r);let At=U.length;for(let e=0;e<At;++e){let p=U[e].batchIds,L=0,k=p.length;for(let b=0;b<k;++b)L+=G[p[b]];U[e].count=L}let Et=r.BYTES_PER_ELEMENT===2?W.UNSIGNED_SHORT:W.UNSIGNED_INT,ut=Ct(Et,B,U);return u.push(S.buffer,r.buffer,D.buffer,G.buffer,_.buffer,ut.buffer),{positions:S.buffer,indices:r.buffer,indexOffsets:D.buffer,indexCounts:G.buffer,batchIds:_.buffer,packedBuffer:ut.buffer}}var Jt=It(Rt);export{Jt as default}; diff --git a/public/lib/Cesium/Workers/createVectorTilePolylines.js b/public/lib/Cesium/Workers/createVectorTilePolylines.js index a2f428197..347252839 100644 --- a/public/lib/Cesium/Workers/createVectorTilePolylines.js +++ b/public/lib/Cesium/Workers/createVectorTilePolylines.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as K}from"./chunk-JQWRUZSV.js";import{a as G}from"./chunk-S5WIMI2N.js";import{a as S}from"./chunk-UGB43LJM.js";import{c as B,i as R}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as t,b as _,d as L}from"./chunk-RFPX772U.js";import{a as F}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import"./chunk-4FSVUTPL.js";var O=32767,ct=new _,rt=new t;function it(n,o,p,m,s){let d=n.length/3,U=n.subarray(0,d),v=n.subarray(d,2*d),P=n.subarray(2*d,3*d);G.zigZagDeltaDecode(U,v,P);let D=new Float64Array(n.length);for(let u=0;u<d;++u){let e=U[u],A=v[u],l=P[u],k=F.lerp(o.west,o.east,e/O),I=F.lerp(o.south,o.north,A/O),E=F.lerp(p,m,l/O),g=_.fromRadians(k,I,E,ct),C=s.cartographicToCartesian(g,rt);t.pack(C,D,u*3)}return D}var Y=it;var X=new R,$=new L,j=new t,H={min:void 0,max:void 0};function at(n){n=new Float64Array(n);let o=0;H.min=n[o++],H.max=n[o++],R.unpack(n,o,X),o+=R.packedLength,L.unpack(n,o,$),o+=L.packedLength,t.unpack(n,o,j)}function ft(n){let o=n.length,p=new Uint32Array(o+1),m=0;for(let s=0;s<o;++s)p[s]=m,m+=n[s];return p[o]=m,p}var Z=new t,q=new t,J=new t,dt=new t,Q=new t;function ut(n,o){let p=new Uint16Array(n.positions),m=new Uint16Array(n.widths),s=new Uint32Array(n.counts),d=new Uint16Array(n.batchIds);at(n.packedBuffer);let U=X,v=$,P=j,D=H.min,u=H.max,e=Y(p,U,D,u,v),A=e.length/3,l=A*4-4,k=new Float32Array(l*3),I=new Float32Array(l*3),E=new Float32Array(l*3),g=new Float32Array(l*2),C=new Uint16Array(l),N=0,z=0,tt=0,r,h=0,M=s.length;for(r=0;r<M;++r){let a=s[r],nt=m[r],ot=d[r];for(let f=0;f<a;++f){let w;if(f===0){let c=t.unpack(e,h*3,Z),T=t.unpack(e,(h+1)*3,q);w=t.subtract(c,T,J),t.add(c,w,w)}else w=t.unpack(e,(h+f-1)*3,J);let W=t.unpack(e,(h+f)*3,dt),x;if(f===a-1){let c=t.unpack(e,(h+a-1)*3,Z),T=t.unpack(e,(h+a-2)*3,q);x=t.subtract(c,T,Q),t.add(c,x,x)}else x=t.unpack(e,(h+f+1)*3,Q);t.subtract(w,P,w),t.subtract(W,P,W),t.subtract(x,P,x);let et=f===0?2:0,st=f===a-1?2:4;for(let c=et;c<st;++c){t.pack(W,k,N),t.pack(w,I,N),t.pack(x,E,N),N+=3;let T=c-2<0?-1:1;g[z++]=2*(c%2)-1,g[z++]=T*nt,C[tt++]=ot}}h+=a}let i=S.createTypedArray(l,A*6-6),b=0,y=0;for(M=A-1,r=0;r<M;++r)i[y++]=b,i[y++]=b+2,i[y++]=b+1,i[y++]=b+1,i[y++]=b+2,i[y++]=b+3,b+=4;o.push(k.buffer,I.buffer,E.buffer),o.push(g.buffer,C.buffer,i.buffer);let V={indexDatatype:i.BYTES_PER_ELEMENT===2?S.UNSIGNED_SHORT:S.UNSIGNED_INT,currentPositions:k.buffer,previousPositions:I.buffer,nextPositions:E.buffer,expandAndWidth:g.buffer,batchIds:C.buffer,indices:i.buffer};if(n.keepDecodedPositions){let a=ft(s);o.push(e.buffer,a.buffer),V=B(V,{decodedPositions:e.buffer,decodedPositionOffsets:a.buffer})}return V}var It=K(ut);export{It as default}; +import{a as K}from"./chunk-YEUI4ZO2.js";import{a as G}from"./chunk-BMKF5JTH.js";import{a as S}from"./chunk-A3VS2OZ2.js";import{c as B,h as R}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as t,b as _,d as L}from"./chunk-HWH6BBH6.js";import{a as F}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import"./chunk-OX5CTLXY.js";var O=32767,ct=new _,rt=new t;function it(n,o,p,m,s){let d=n.length/3,U=n.subarray(0,d),v=n.subarray(d,2*d),P=n.subarray(2*d,3*d);G.zigZagDeltaDecode(U,v,P);let D=new Float64Array(n.length);for(let u=0;u<d;++u){let e=U[u],A=v[u],l=P[u],k=F.lerp(o.west,o.east,e/O),I=F.lerp(o.south,o.north,A/O),E=F.lerp(p,m,l/O),g=_.fromRadians(k,I,E,ct),C=s.cartographicToCartesian(g,rt);t.pack(C,D,u*3)}return D}var Y=it;var X=new R,$=new L,j=new t,H={min:void 0,max:void 0};function at(n){n=new Float64Array(n);let o=0;H.min=n[o++],H.max=n[o++],R.unpack(n,o,X),o+=R.packedLength,L.unpack(n,o,$),o+=L.packedLength,t.unpack(n,o,j)}function ft(n){let o=n.length,p=new Uint32Array(o+1),m=0;for(let s=0;s<o;++s)p[s]=m,m+=n[s];return p[o]=m,p}var Z=new t,q=new t,J=new t,dt=new t,Q=new t;function ut(n,o){let p=new Uint16Array(n.positions),m=new Uint16Array(n.widths),s=new Uint32Array(n.counts),d=new Uint16Array(n.batchIds);at(n.packedBuffer);let U=X,v=$,P=j,D=H.min,u=H.max,e=Y(p,U,D,u,v),A=e.length/3,l=A*4-4,k=new Float32Array(l*3),I=new Float32Array(l*3),E=new Float32Array(l*3),g=new Float32Array(l*2),C=new Uint16Array(l),N=0,z=0,tt=0,r,h=0,M=s.length;for(r=0;r<M;++r){let a=s[r],nt=m[r],ot=d[r];for(let f=0;f<a;++f){let w;if(f===0){let c=t.unpack(e,h*3,Z),T=t.unpack(e,(h+1)*3,q);w=t.subtract(c,T,J),t.add(c,w,w)}else w=t.unpack(e,(h+f-1)*3,J);let W=t.unpack(e,(h+f)*3,dt),x;if(f===a-1){let c=t.unpack(e,(h+a-1)*3,Z),T=t.unpack(e,(h+a-2)*3,q);x=t.subtract(c,T,Q),t.add(c,x,x)}else x=t.unpack(e,(h+f+1)*3,Q);t.subtract(w,P,w),t.subtract(W,P,W),t.subtract(x,P,x);let et=f===0?2:0,st=f===a-1?2:4;for(let c=et;c<st;++c){t.pack(W,k,N),t.pack(w,I,N),t.pack(x,E,N),N+=3;let T=c-2<0?-1:1;g[z++]=2*(c%2)-1,g[z++]=T*nt,C[tt++]=ot}}h+=a}let i=S.createTypedArray(l,A*6-6),b=0,y=0;for(M=A-1,r=0;r<M;++r)i[y++]=b,i[y++]=b+2,i[y++]=b+1,i[y++]=b+1,i[y++]=b+2,i[y++]=b+3,b+=4;o.push(k.buffer,I.buffer,E.buffer),o.push(g.buffer,C.buffer,i.buffer);let V={indexDatatype:i.BYTES_PER_ELEMENT===2?S.UNSIGNED_SHORT:S.UNSIGNED_INT,currentPositions:k.buffer,previousPositions:I.buffer,nextPositions:E.buffer,expandAndWidth:g.buffer,batchIds:C.buffer,indices:i.buffer};if(n.keepDecodedPositions){let a=ft(s);o.push(e.buffer,a.buffer),V=B(V,{decodedPositions:e.buffer,decodedPositionOffsets:a.buffer})}return V}var It=K(ut);export{It as default}; diff --git a/public/lib/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js b/public/lib/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js index f7b4df1f6..00fa248e9 100644 --- a/public/lib/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js +++ b/public/lib/Cesium/Workers/createVerticesFromGoogleEarthEnterpriseBuffer.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as Gt,b as Xt}from"./chunk-CU5VINVO.js";import{a as kt}from"./chunk-JQWRUZSV.js";import{a as lt}from"./chunk-ZPNGL6DU.js";import{a as Dt}from"./chunk-2744EW7N.js";import"./chunk-S5WIMI2N.js";import"./chunk-3OZXQUAM.js";import{a as qt}from"./chunk-35ZH4J6R.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{d as Lt}from"./chunk-4TXI27XR.js";import{b as $,g as Ot,i as zt}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as P,b as N,c as wt,d as Ht}from"./chunk-RFPX772U.js";import{a as r}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import{a as Vt}from"./chunk-QE3ZUOZY.js";import{a as Ut}from"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{e as ht}from"./chunk-4FSVUTPL.js";var te=Uint16Array.BYTES_PER_ELEMENT,mt=Int32Array.BYTES_PER_ELEMENT,Pt=Uint32Array.BYTES_PER_ELEMENT,ee=Float32Array.BYTES_PER_ELEMENT,H=Float64Array.BYTES_PER_ELEMENT;function tt(n,l,e){e=Ut(e,r);let i=n.length;for(let c=0;c<i;++c)if(e.equalsEpsilon(n[c],l,r.EPSILON12))return c;return-1}function oe(n,l){n.ellipsoid=Ht.clone(n.ellipsoid),n.rectangle=zt.clone(n.rectangle);let e=se(n.buffer,n.relativeToCenter,n.ellipsoid,n.rectangle,n.nativeRectangle,n.exaggeration,n.exaggerationRelativeHeight,n.skirtHeight,n.includeWebMercatorT,n.negativeAltitudeExponentBias,n.negativeElevationThreshold),i=e.vertices;l.push(i.buffer);let c=e.indices;return l.push(c.buffer),{vertices:i.buffer,indices:c.buffer,numberOfAttributes:e.encoding.stride,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,boundingSphere3D:e.boundingSphere3D,orientedBoundingBox:e.orientedBoundingBox,occludeePointInScaledSpace:e.occludeePointInScaledSpace,encoding:e.encoding,vertexCountWithoutSkirts:e.vertexCountWithoutSkirts,indexCountWithoutSkirts:e.indexCountWithoutSkirts,westIndicesSouthToNorth:e.westIndicesSouthToNorth,southIndicesEastToWest:e.southIndicesEastToWest,eastIndicesNorthToSouth:e.eastIndicesNorthToSouth,northIndicesWestToEast:e.northIndicesWestToEast}}var u=new N,G=new P,ne=new P,ie=new P,re=new $;function se(n,l,e,i,c,et,m,ot,T,nt,it){let I,h,E,f,x,p;ht(i)?(I=i.west,h=i.south,E=i.east,f=i.north,x=i.width,p=i.height):(I=r.toRadians(c.west),h=r.toRadians(c.south),E=r.toRadians(c.east),f=r.toRadians(c.north),x=r.toRadians(i.width),p=r.toRadians(i.height));let X=[h,f],A=[I,E],V=Ot.eastNorthUpToFixedFrame(l,e),j=$.inverseTransformation(V,re),O,Q;T&&(O=lt.geodeticLatitudeToMercatorAngle(h),Q=1/(lt.geodeticLatitudeToMercatorAngle(f)-O));let y=et!==1,a=new DataView(n),z=Number.POSITIVE_INFINITY,J=Number.NEGATIVE_INFINITY,b=ne;b.x=Number.POSITIVE_INFINITY,b.y=Number.POSITIVE_INFINITY,b.z=Number.POSITIVE_INFINITY;let M=ie;M.x=Number.NEGATIVE_INFINITY,M.y=Number.NEGATIVE_INFINITY,M.z=Number.NEGATIVE_INFINITY;let o=0,S=0,At=0,rt,L;for(L=0;L<4;++L){let t=o;rt=a.getUint32(t,!0),t+=Pt;let d=r.toRadians(a.getFloat64(t,!0)*180);t+=H,tt(A,d)===-1&&A.push(d);let Y=r.toRadians(a.getFloat64(t,!0)*180);t+=H,tt(X,Y)===-1&&X.push(Y),t+=2*H;let B=a.getInt32(t,!0);t+=mt,S+=B,B=a.getInt32(t,!0),At+=B*3,o+=rt+Pt}let yt=[],bt=[],g=new Array(S),R=new Array(S),_=new Array(S),C=T?new Array(S):[],F=y?new Array(S):[],v=new Array(At),k=[],st=[],ct=[],W=[],s=0,pt=0;for(o=0,L=0;L<4;++L){rt=a.getUint32(o,!0),o+=Pt;let t=o,d=r.toRadians(a.getFloat64(o,!0)*180);o+=H;let Y=r.toRadians(a.getFloat64(o,!0)*180);o+=H;let B=r.toRadians(a.getFloat64(o,!0)*180),Ft=B*.5;o+=H;let vt=r.toRadians(a.getFloat64(o,!0)*180),Wt=vt*.5;o+=H;let Yt=a.getInt32(o,!0);o+=mt;let Zt=a.getInt32(o,!0);o+=mt,o+=mt;let St=new Array(Yt);for(let U=0;U<Yt;++U){let Z=d+a.getUint8(o++)*B;u.longitude=Z;let D=Y+a.getUint8(o++)*vt;u.latitude=D;let w=a.getFloat32(o,!0);if(o+=ee,w!==0&&w<it&&(w*=-Math.pow(2,nt)),w*=6371010,u.height=w,tt(A,Z)!==-1||tt(X,D)!==-1){let dt=tt(yt,u,N);if(dt===-1)yt.push(N.clone(u)),bt.push(s);else{St[U]=bt[dt];continue}}St[U]=s,Math.abs(Z-I)<Ft?k.push({index:s,cartographic:N.clone(u)}):Math.abs(Z-E)<Ft?ct.push({index:s,cartographic:N.clone(u)}):Math.abs(D-h)<Wt?st.push({index:s,cartographic:N.clone(u)}):Math.abs(D-f)<Wt&&W.push({index:s,cartographic:N.clone(u)}),z=Math.min(w,z),J=Math.max(w,J),_[s]=w;let Nt=e.cartographicToCartesian(u);if(g[s]=Nt,T&&(C[s]=(lt.geodeticLatitudeToMercatorAngle(D)-O)*Q),y){let dt=e.geodeticSurfaceNormal(Nt);F[s]=dt}$.multiplyByPoint(j,Nt,G),P.minimumByComponent(G,b,b),P.maximumByComponent(G,M,M);let Tt=(Z-I)/(E-I);Tt=r.clamp(Tt,0,1);let Bt=(D-h)/(f-h);Bt=r.clamp(Bt,0,1),R[s]=new wt(Tt,Bt),++s}let $t=Zt*3;for(let U=0;U<$t;++U,++pt)v[pt]=St[a.getUint16(o,!0)],o+=te;if(rt!==o-t)throw new Vt("Invalid terrain tile.")}g.length=s,R.length=s,_.length=s,T&&(C.length=s),y&&(F.length=s);let Mt=s,jt=pt,K={hMin:z,lastBorderPoint:void 0,skirtHeight:ot,toENU:j,ellipsoid:e,minimum:b,maximum:M};k.sort(function(t,d){return d.cartographic.latitude-t.cartographic.latitude}),st.sort(function(t,d){return t.cartographic.longitude-d.cartographic.longitude}),ct.sort(function(t,d){return t.cartographic.latitude-d.cartographic.latitude}),W.sort(function(t,d){return d.cartographic.longitude-t.cartographic.longitude});let q=1e-5;if(gt(g,_,R,C,F,v,K,k,-q*x,!0,-q*p),gt(g,_,R,C,F,v,K,st,-q*p,!1),gt(g,_,R,C,F,v,K,ct,q*x,!0,q*p),gt(g,_,R,C,F,v,K,W,q*p,!1),k.length>0&&W.length>0){let t=k[0].index,d=Mt,Y=W[W.length-1].index,B=g.length-1;v.push(Y,B,d,d,t,Y)}S=g.length;let Qt=Lt.fromPoints(g),Rt;ht(i)&&(Rt=Dt.fromRectangle(i,z,J,e));let Jt=new Gt(e).computeHorizonCullingPointPossiblyUnderEllipsoid(l,g,z),Kt=new qt(b,M,l),It=new Xt(l,Kt,K.hMin,J,V,!1,T,y,et,m),_t=new Float32Array(S*It.stride),Ct=0;for(let t=0;t<S;++t)Ct=It.encode(_t,Ct,g[t],R[t],_[t],void 0,C[t],F[t]);let at=k.map(function(t){return t.index}).reverse(),Et=st.map(function(t){return t.index}).reverse(),ut=ct.map(function(t){return t.index}).reverse(),xt=W.map(function(t){return t.index}).reverse();return Et.unshift(ut[ut.length-1]),Et.push(at[0]),xt.unshift(at[at.length-1]),xt.push(ut[0]),{vertices:_t,indices:new Uint16Array(v),maximumHeight:J,minimumHeight:z,encoding:It,boundingSphere3D:Qt,orientedBoundingBox:Rt,occludeePointInScaledSpace:Jt,vertexCountWithoutSkirts:Mt,indexCountWithoutSkirts:jt,westIndicesSouthToNorth:at,southIndicesEastToWest:Et,eastIndicesNorthToSouth:ut,northIndicesWestToEast:xt}}function gt(n,l,e,i,c,et,m,ot,T,nt,it){let I=ot.length;for(let h=0;h<I;++h){let E=ot[h],f=E.cartographic,x=E.index,p=n.length,X=f.longitude,A=f.latitude;A=r.clamp(A,-r.PI_OVER_TWO,r.PI_OVER_TWO);let V=f.height-m.skirtHeight;m.hMin=Math.min(m.hMin,V),N.fromRadians(X,A,V,u),nt&&(u.longitude+=T),nt?h===I-1?u.latitude+=it:h===0&&(u.latitude-=it):u.latitude+=T;let j=m.ellipsoid.cartographicToCartesian(u);n.push(j),l.push(V),e.push(wt.clone(e[x])),i.length>0&&i.push(i[x]),c.length>0&&c.push(c[x]),$.multiplyByPoint(m.toENU,j,G);let O=m.minimum,Q=m.maximum;P.minimumByComponent(G,O,O),P.maximumByComponent(G,Q,Q);let ft=m.lastBorderPoint;if(ht(ft)){let y=ft.index;et.push(y,p-1,p,p,x,y)}m.lastBorderPoint=E}}var Ae=kt(oe);export{Ae as default}; +import{a as Gt,b as Xt}from"./chunk-46LYVLGL.js";import{a as kt}from"./chunk-YEUI4ZO2.js";import{a as lt}from"./chunk-6IQVYEBD.js";import{a as Dt}from"./chunk-LKADYPHQ.js";import"./chunk-BMKF5JTH.js";import"./chunk-JHG5JGLM.js";import{a as qt}from"./chunk-ULZ2QSU5.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{d as Lt}from"./chunk-JLMPKQO4.js";import{b as $,g as Ot,h as zt}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as P,b as N,c as wt,d as Ht}from"./chunk-HWH6BBH6.js";import{a as r}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import{a as Vt}from"./chunk-GVFM5H7M.js";import{a as Ut}from"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{e as ht}from"./chunk-OX5CTLXY.js";var te=Uint16Array.BYTES_PER_ELEMENT,mt=Int32Array.BYTES_PER_ELEMENT,Pt=Uint32Array.BYTES_PER_ELEMENT,ee=Float32Array.BYTES_PER_ELEMENT,H=Float64Array.BYTES_PER_ELEMENT;function tt(n,l,e){e=Ut(e,r);let i=n.length;for(let c=0;c<i;++c)if(e.equalsEpsilon(n[c],l,r.EPSILON12))return c;return-1}function oe(n,l){n.ellipsoid=Ht.clone(n.ellipsoid),n.rectangle=zt.clone(n.rectangle);let e=se(n.buffer,n.relativeToCenter,n.ellipsoid,n.rectangle,n.nativeRectangle,n.exaggeration,n.exaggerationRelativeHeight,n.skirtHeight,n.includeWebMercatorT,n.negativeAltitudeExponentBias,n.negativeElevationThreshold),i=e.vertices;l.push(i.buffer);let c=e.indices;return l.push(c.buffer),{vertices:i.buffer,indices:c.buffer,numberOfAttributes:e.encoding.stride,minimumHeight:e.minimumHeight,maximumHeight:e.maximumHeight,boundingSphere3D:e.boundingSphere3D,orientedBoundingBox:e.orientedBoundingBox,occludeePointInScaledSpace:e.occludeePointInScaledSpace,encoding:e.encoding,vertexCountWithoutSkirts:e.vertexCountWithoutSkirts,indexCountWithoutSkirts:e.indexCountWithoutSkirts,westIndicesSouthToNorth:e.westIndicesSouthToNorth,southIndicesEastToWest:e.southIndicesEastToWest,eastIndicesNorthToSouth:e.eastIndicesNorthToSouth,northIndicesWestToEast:e.northIndicesWestToEast}}var u=new N,G=new P,ne=new P,ie=new P,re=new $;function se(n,l,e,i,c,et,m,ot,T,nt,it){let I,h,E,f,x,p;ht(i)?(I=i.west,h=i.south,E=i.east,f=i.north,x=i.width,p=i.height):(I=r.toRadians(c.west),h=r.toRadians(c.south),E=r.toRadians(c.east),f=r.toRadians(c.north),x=r.toRadians(i.width),p=r.toRadians(i.height));let X=[h,f],A=[I,E],V=Ot.eastNorthUpToFixedFrame(l,e),j=$.inverseTransformation(V,re),O,Q;T&&(O=lt.geodeticLatitudeToMercatorAngle(h),Q=1/(lt.geodeticLatitudeToMercatorAngle(f)-O));let y=et!==1,a=new DataView(n),z=Number.POSITIVE_INFINITY,J=Number.NEGATIVE_INFINITY,b=ne;b.x=Number.POSITIVE_INFINITY,b.y=Number.POSITIVE_INFINITY,b.z=Number.POSITIVE_INFINITY;let M=ie;M.x=Number.NEGATIVE_INFINITY,M.y=Number.NEGATIVE_INFINITY,M.z=Number.NEGATIVE_INFINITY;let o=0,S=0,At=0,rt,L;for(L=0;L<4;++L){let t=o;rt=a.getUint32(t,!0),t+=Pt;let d=r.toRadians(a.getFloat64(t,!0)*180);t+=H,tt(A,d)===-1&&A.push(d);let Y=r.toRadians(a.getFloat64(t,!0)*180);t+=H,tt(X,Y)===-1&&X.push(Y),t+=2*H;let B=a.getInt32(t,!0);t+=mt,S+=B,B=a.getInt32(t,!0),At+=B*3,o+=rt+Pt}let yt=[],bt=[],g=new Array(S),R=new Array(S),_=new Array(S),C=T?new Array(S):[],F=y?new Array(S):[],v=new Array(At),k=[],st=[],ct=[],W=[],s=0,pt=0;for(o=0,L=0;L<4;++L){rt=a.getUint32(o,!0),o+=Pt;let t=o,d=r.toRadians(a.getFloat64(o,!0)*180);o+=H;let Y=r.toRadians(a.getFloat64(o,!0)*180);o+=H;let B=r.toRadians(a.getFloat64(o,!0)*180),Ft=B*.5;o+=H;let vt=r.toRadians(a.getFloat64(o,!0)*180),Wt=vt*.5;o+=H;let Yt=a.getInt32(o,!0);o+=mt;let Zt=a.getInt32(o,!0);o+=mt,o+=mt;let St=new Array(Yt);for(let U=0;U<Yt;++U){let Z=d+a.getUint8(o++)*B;u.longitude=Z;let D=Y+a.getUint8(o++)*vt;u.latitude=D;let w=a.getFloat32(o,!0);if(o+=ee,w!==0&&w<it&&(w*=-Math.pow(2,nt)),w*=6371010,u.height=w,tt(A,Z)!==-1||tt(X,D)!==-1){let dt=tt(yt,u,N);if(dt===-1)yt.push(N.clone(u)),bt.push(s);else{St[U]=bt[dt];continue}}St[U]=s,Math.abs(Z-I)<Ft?k.push({index:s,cartographic:N.clone(u)}):Math.abs(Z-E)<Ft?ct.push({index:s,cartographic:N.clone(u)}):Math.abs(D-h)<Wt?st.push({index:s,cartographic:N.clone(u)}):Math.abs(D-f)<Wt&&W.push({index:s,cartographic:N.clone(u)}),z=Math.min(w,z),J=Math.max(w,J),_[s]=w;let Nt=e.cartographicToCartesian(u);if(g[s]=Nt,T&&(C[s]=(lt.geodeticLatitudeToMercatorAngle(D)-O)*Q),y){let dt=e.geodeticSurfaceNormal(Nt);F[s]=dt}$.multiplyByPoint(j,Nt,G),P.minimumByComponent(G,b,b),P.maximumByComponent(G,M,M);let Tt=(Z-I)/(E-I);Tt=r.clamp(Tt,0,1);let Bt=(D-h)/(f-h);Bt=r.clamp(Bt,0,1),R[s]=new wt(Tt,Bt),++s}let $t=Zt*3;for(let U=0;U<$t;++U,++pt)v[pt]=St[a.getUint16(o,!0)],o+=te;if(rt!==o-t)throw new Vt("Invalid terrain tile.")}g.length=s,R.length=s,_.length=s,T&&(C.length=s),y&&(F.length=s);let Mt=s,jt=pt,K={hMin:z,lastBorderPoint:void 0,skirtHeight:ot,toENU:j,ellipsoid:e,minimum:b,maximum:M};k.sort(function(t,d){return d.cartographic.latitude-t.cartographic.latitude}),st.sort(function(t,d){return t.cartographic.longitude-d.cartographic.longitude}),ct.sort(function(t,d){return t.cartographic.latitude-d.cartographic.latitude}),W.sort(function(t,d){return d.cartographic.longitude-t.cartographic.longitude});let q=1e-5;if(gt(g,_,R,C,F,v,K,k,-q*x,!0,-q*p),gt(g,_,R,C,F,v,K,st,-q*p,!1),gt(g,_,R,C,F,v,K,ct,q*x,!0,q*p),gt(g,_,R,C,F,v,K,W,q*p,!1),k.length>0&&W.length>0){let t=k[0].index,d=Mt,Y=W[W.length-1].index,B=g.length-1;v.push(Y,B,d,d,t,Y)}S=g.length;let Qt=Lt.fromPoints(g),Rt;ht(i)&&(Rt=Dt.fromRectangle(i,z,J,e));let Jt=new Gt(e).computeHorizonCullingPointPossiblyUnderEllipsoid(l,g,z),Kt=new qt(b,M,l),It=new Xt(l,Kt,K.hMin,J,V,!1,T,y,et,m),_t=new Float32Array(S*It.stride),Ct=0;for(let t=0;t<S;++t)Ct=It.encode(_t,Ct,g[t],R[t],_[t],void 0,C[t],F[t]);let at=k.map(function(t){return t.index}).reverse(),Et=st.map(function(t){return t.index}).reverse(),ut=ct.map(function(t){return t.index}).reverse(),xt=W.map(function(t){return t.index}).reverse();return Et.unshift(ut[ut.length-1]),Et.push(at[0]),xt.unshift(at[at.length-1]),xt.push(ut[0]),{vertices:_t,indices:new Uint16Array(v),maximumHeight:J,minimumHeight:z,encoding:It,boundingSphere3D:Qt,orientedBoundingBox:Rt,occludeePointInScaledSpace:Jt,vertexCountWithoutSkirts:Mt,indexCountWithoutSkirts:jt,westIndicesSouthToNorth:at,southIndicesEastToWest:Et,eastIndicesNorthToSouth:ut,northIndicesWestToEast:xt}}function gt(n,l,e,i,c,et,m,ot,T,nt,it){let I=ot.length;for(let h=0;h<I;++h){let E=ot[h],f=E.cartographic,x=E.index,p=n.length,X=f.longitude,A=f.latitude;A=r.clamp(A,-r.PI_OVER_TWO,r.PI_OVER_TWO);let V=f.height-m.skirtHeight;m.hMin=Math.min(m.hMin,V),N.fromRadians(X,A,V,u),nt&&(u.longitude+=T),nt?h===I-1?u.latitude+=it:h===0&&(u.latitude-=it):u.latitude+=T;let j=m.ellipsoid.cartographicToCartesian(u);n.push(j),l.push(V),e.push(wt.clone(e[x])),i.length>0&&i.push(i[x]),c.length>0&&c.push(c[x]),$.multiplyByPoint(m.toENU,j,G);let O=m.minimum,Q=m.maximum;P.minimumByComponent(G,O,O),P.maximumByComponent(G,Q,Q);let ft=m.lastBorderPoint;if(ht(ft)){let y=ft.index;et.push(y,p-1,p,p,x,y)}m.lastBorderPoint=E}}var Ae=kt(oe);export{Ae as default}; diff --git a/public/lib/Cesium/Workers/createVerticesFromHeightmap.js b/public/lib/Cesium/Workers/createVerticesFromHeightmap.js index 11caf05de..c7c6ee145 100644 --- a/public/lib/Cesium/Workers/createVerticesFromHeightmap.js +++ b/public/lib/Cesium/Workers/createVerticesFromHeightmap.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as sr,b as fr}from"./chunk-CU5VINVO.js";import{a as tr}from"./chunk-JQWRUZSV.js";import{a as Ue}from"./chunk-ZPNGL6DU.js";import{a as ar}from"./chunk-2744EW7N.js";import"./chunk-S5WIMI2N.js";import"./chunk-3OZXQUAM.js";import{a as nr}from"./chunk-35ZH4J6R.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{d as ir}from"./chunk-4TXI27XR.js";import{b as xe,g as rr,i as ae}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as ie,c as er,d as Ie}from"./chunk-RFPX772U.js";import{a as ge}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import{a as He}from"./chunk-QE3ZUOZY.js";import{a as Y}from"./chunk-6KLVDWWE.js";import{a as he}from"./chunk-6P5KAIBX.js";import{c as Ir,d as xr,e as G}from"./chunk-4FSVUTPL.js";var ur=Ir((qr,Te)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var D=function(){var A={};A.defaultNoDataValue=-34027999387901484e22,A.decode=function(r,a){a=a||{};var t=a.encodedMaskData||a.encodedMaskData===null,i=n(r,a.inputOffset||0,t),o=a.noDataValue!==null?a.noDataValue:A.defaultNoDataValue,s=V(i,a.pixelType||Float32Array,a.encodedMaskData,o,a.returnMask),u={width:i.width,height:i.height,pixelData:s.resultPixels,minValue:s.minValue,maxValue:i.pixels.maxValue,noDataValue:o};return s.resultMask&&(u.maskData=s.resultMask),a.returnEncodedMask&&i.mask&&(u.encodedMaskData=i.mask.bitset?i.mask.bitset:null),a.returnFileInfo&&(u.fileInfo=b(i),a.computeUsedBitDepths&&(u.fileInfo.bitDepths=X(i))),u};var V=function(r,a,t,i,o){var s=0,u=r.pixels.numBlocksX,m=r.pixels.numBlocksY,l=Math.floor(r.width/u),f=Math.floor(r.height/m),h=2*r.maxZError,c=Number.MAX_VALUE,g;t=t||(r.mask?r.mask.bitset:null);var v,U;v=new a(r.width*r.height),o&&t&&(U=new Uint8Array(r.width*r.height));for(var M=new Float32Array(l*f),S,I,k=0;k<=m;k++){var w=k!==m?f:r.height%m;if(w!==0)for(var d=0;d<=u;d++){var x=d!==u?l:r.width%u;if(x!==0){var T=k*r.width*f+d*l,y=r.width-x,p=r.pixels.blocks[s],L,B,E;p.encoding<2?(p.encoding===0?L=p.rawData:(e(p.stuffedData,p.bitsPerPixel,p.numValidPixels,p.offset,h,M,r.pixels.maxValue),L=M),B=0):p.encoding===2?E=0:E=p.offset;var O;if(t)for(I=0;I<w;I++){for(T&7&&(O=t[T>>3],O<<=T&7),S=0;S<x;S++)T&7||(O=t[T>>3]),O&128?(U&&(U[T]=1),g=p.encoding<2?L[B++]:E,c=c>g?g:c,v[T++]=g):(U&&(U[T]=0),v[T++]=i),O<<=1;T+=y}else if(p.encoding<2)for(I=0;I<w;I++){for(S=0;S<x;S++)g=L[B++],c=c>g?g:c,v[T++]=g;T+=y}else for(c=c>E?E:c,I=0;I<w;I++){for(S=0;S<x;S++)v[T++]=E;T+=y}if(p.encoding===1&&B!==p.numValidPixels)throw"Block and Mask do not match";s++}}}return{resultPixels:v,resultMask:U,minValue:c}},b=function(r){return{fileIdentifierString:r.fileIdentifierString,fileVersion:r.fileVersion,imageType:r.imageType,height:r.height,width:r.width,maxZError:r.maxZError,eofOffset:r.eofOffset,mask:r.mask?{numBlocksX:r.mask.numBlocksX,numBlocksY:r.mask.numBlocksY,numBytes:r.mask.numBytes,maxValue:r.mask.maxValue}:null,pixels:{numBlocksX:r.pixels.numBlocksX,numBlocksY:r.pixels.numBlocksY,numBytes:r.pixels.numBytes,maxValue:r.pixels.maxValue,noDataValue:r.noDataValue}}},X=function(r){for(var a=r.pixels.numBlocksX*r.pixels.numBlocksY,t={},i=0;i<a;i++){var o=r.pixels.blocks[i];o.encoding===0?t.float32=!0:o.encoding===1?t[o.bitsPerPixel]=!0:t[0]=!0}return Object.keys(t)},n=function(r,a,t){var i={},o=new Uint8Array(r,a,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,o),i.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+i.fileIdentifierString;a+=10;var s=new DataView(r,a,24);if(i.fileVersion=s.getInt32(0,!0),i.imageType=s.getInt32(4,!0),i.height=s.getUint32(8,!0),i.width=s.getUint32(12,!0),i.maxZError=s.getFloat64(16,!0),a+=24,!t)if(s=new DataView(r,a,16),i.mask={},i.mask.numBlocksY=s.getUint32(0,!0),i.mask.numBlocksX=s.getUint32(4,!0),i.mask.numBytes=s.getUint32(8,!0),i.mask.maxValue=s.getFloat32(12,!0),a+=16,i.mask.numBytes>0){var u=new Uint8Array(Math.ceil(i.width*i.height/8));s=new DataView(r,a,i.mask.numBytes);var m=s.getInt16(0,!0),l=2,f=0;do{if(m>0)for(;m--;)u[f++]=s.getUint8(l++);else{var h=s.getUint8(l++);for(m=-m;m--;)u[f++]=h}m=s.getInt16(l,!0),l+=2}while(l<i.mask.numBytes);if(m!==-32768||f<u.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=u,a+=i.mask.numBytes}else i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue||(i.mask.bitset=new Uint8Array(Math.ceil(i.width*i.height/8)));s=new DataView(r,a,16),i.pixels={},i.pixels.numBlocksY=s.getUint32(0,!0),i.pixels.numBlocksX=s.getUint32(4,!0),i.pixels.numBytes=s.getUint32(8,!0),i.pixels.maxValue=s.getFloat32(12,!0),a+=16;var c=i.pixels.numBlocksX,g=i.pixels.numBlocksY,v=c+(i.width%c>0?1:0),U=g+(i.height%g>0?1:0);i.pixels.blocks=new Array(v*U);for(var M=0,S=0;S<U;S++)for(var I=0;I<v;I++){var k=0,w=r.byteLength-a;s=new DataView(r,a,Math.min(10,w));var d={};i.pixels.blocks[M++]=d;var x=s.getUint8(0);if(k++,d.encoding=x&63,d.encoding>3)throw"Invalid block encoding ("+d.encoding+")";if(d.encoding===2){a++;continue}if(x!==0&&x!==2){if(x>>=6,d.offsetType=x,x===2)d.offset=s.getInt8(1),k++;else if(x===1)d.offset=s.getInt16(1,!0),k+=2;else if(x===0)d.offset=s.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(d.encoding===1)if(x=s.getUint8(k),k++,d.bitsPerPixel=x&63,x>>=6,d.numValidPixelsType=x,x===2)d.numValidPixels=s.getUint8(k),k++;else if(x===1)d.numValidPixels=s.getUint16(k,!0),k+=2;else if(x===0)d.numValidPixels=s.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(a+=k,d.encoding!==3){var T,y;if(d.encoding===0){var p=(i.pixels.numBytes-1)/4;if(p!==Math.floor(p))throw"uncompressed block has invalid length";T=new ArrayBuffer(p*4),y=new Uint8Array(T),y.set(new Uint8Array(r,a,p*4));var L=new Float32Array(T);d.rawData=L,a+=p*4}else if(d.encoding===1){var B=Math.ceil(d.numValidPixels*d.bitsPerPixel/8),E=Math.ceil(B/4);T=new ArrayBuffer(E*4),y=new Uint8Array(T),y.set(new Uint8Array(r,a,B)),d.stuffedData=new Uint32Array(T),a+=B}}}return i.eofOffset=a,i},e=function(r,a,t,i,o,s,u){var m=(1<<a)-1,l=0,f,h=0,c,g,v=Math.ceil((u-i)/o),U=r.length*4-Math.ceil(a*t/8);for(r[r.length-1]<<=8*U,f=0;f<t;f++){if(h===0&&(g=r[l++],h=32),h>=a)c=g>>>h-a&m,h-=a;else{var M=a-h;c=(g&m)<<M&m,g=r[l++],h=32-M,c+=g>>>h}s[f]=c<v?i+c*o:u}return s};return A}(),se=function(){"use strict";var A={unstuff:function(n,e,r,a,t,i,o,s){var u=(1<<r)-1,m=0,l,f=0,h,c,g,v,U=n.length*4-Math.ceil(r*a/8);if(n[n.length-1]<<=8*U,t)for(l=0;l<a;l++)f===0&&(c=n[m++],f=32),f>=r?(h=c>>>f-r&u,f-=r):(g=r-f,h=(c&u)<<g&u,c=n[m++],f=32-g,h+=c>>>f),e[l]=t[h];else for(v=Math.ceil((s-i)/o),l=0;l<a;l++)f===0&&(c=n[m++],f=32),f>=r?(h=c>>>f-r&u,f-=r):(g=r-f,h=(c&u)<<g&u,c=n[m++],f=32-g,h+=c>>>f),e[l]=h<v?i+h*o:s},unstuffLUT:function(n,e,r,a,t,i){var o=(1<<e)-1,s=0,u=0,m=0,l=0,f=0,h,c=[],g=n.length*4-Math.ceil(e*r/8);n[n.length-1]<<=8*g;var v=Math.ceil((i-a)/t);for(u=0;u<r;u++)l===0&&(h=n[s++],l=32),l>=e?(f=h>>>l-e&o,l-=e):(m=e-l,f=(h&o)<<m&o,h=n[s++],l=32-m,f+=h>>>l),c[u]=f<v?a+f*t:i;return c.unshift(a),c},unstuff2:function(n,e,r,a,t,i,o,s){var u=(1<<r)-1,m=0,l,f=0,h=0,c,g,v;if(t)for(l=0;l<a;l++)f===0&&(g=n[m++],f=32,h=0),f>=r?(c=g>>>h&u,f-=r,h+=r):(v=r-f,c=g>>>h&u,g=n[m++],f=32-v,c|=(g&(1<<v)-1)<<r-v,h=v),e[l]=t[c];else{var U=Math.ceil((s-i)/o);for(l=0;l<a;l++)f===0&&(g=n[m++],f=32,h=0),f>=r?(c=g>>>h&u,f-=r,h+=r):(v=r-f,c=g>>>h&u,g=n[m++],f=32-v,c|=(g&(1<<v)-1)<<r-v,h=v),e[l]=c<U?i+c*o:s}return e},unstuffLUT2:function(n,e,r,a,t,i){var o=(1<<e)-1,s=0,u=0,m=0,l=0,f=0,h=0,c,g=[],v=Math.ceil((i-a)/t);for(u=0;u<r;u++)l===0&&(c=n[s++],l=32,h=0),l>=e?(f=c>>>h&o,l-=e,h+=e):(m=e-l,f=c>>>h&o,c=n[s++],l=32-m,f|=(c&(1<<m)-1)<<e-m,h=m),g[u]=f<v?a+f*t:i;return g.unshift(a),g},originalUnstuff:function(n,e,r,a){var t=(1<<r)-1,i=0,o,s=0,u,m,l,f=n.length*4-Math.ceil(r*a/8);for(n[n.length-1]<<=8*f,o=0;o<a;o++)s===0&&(m=n[i++],s=32),s>=r?(u=m>>>s-r&t,s-=r):(l=r-s,u=(m&t)<<l&t,m=n[i++],s=32-l,u+=m>>>s),e[o]=u;return e},originalUnstuff2:function(n,e,r,a){var t=(1<<r)-1,i=0,o,s=0,u=0,m,l,f;for(o=0;o<a;o++)s===0&&(l=n[i++],s=32,u=0),s>=r?(m=l>>>u&t,s-=r,u+=r):(f=r-s,m=l>>>u&t,l=n[i++],s=32-f,m|=(l&(1<<f)-1)<<r-f,u=f),e[o]=m;return e}},V={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(n){for(var e=65535,r=65535,a=n.length,t=Math.floor(a/2),i=0;t;){var o=t>=359?359:t;t-=o;do e+=n[i++]<<8,r+=e+=n[i++];while(--o);e=(e&65535)+(e>>>16),r=(r&65535)+(r>>>16)}return a&1&&(r+=e+=n[i]<<8),e=(e&65535)+(e>>>16),r=(r&65535)+(r>>>16),(r<<16|e)>>>0},readHeaderInfo:function(n,e){var r=e.ptr,a=new Uint8Array(n,r,6),t={};if(t.fileIdentifierString=String.fromCharCode.apply(null,a),t.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+t.fileIdentifierString;r+=6;var i=new DataView(n,r,8),o=i.getInt32(0,!0);t.fileVersion=o,r+=4,o>=3&&(t.checksum=i.getUint32(4,!0),r+=4),i=new DataView(n,r,12),t.height=i.getUint32(0,!0),t.width=i.getUint32(4,!0),r+=8,o>=4?(t.numDims=i.getUint32(8,!0),r+=4):t.numDims=1,i=new DataView(n,r,40),t.numValidPixel=i.getUint32(0,!0),t.microBlockSize=i.getInt32(4,!0),t.blobSize=i.getInt32(8,!0),t.imageType=i.getInt32(12,!0),t.maxZError=i.getFloat64(16,!0),t.zMin=i.getFloat64(24,!0),t.zMax=i.getFloat64(32,!0),r+=40,e.headerInfo=t,e.ptr=r;var s,u;if(o>=3&&(u=o>=4?52:48,s=this.computeChecksumFletcher32(new Uint8Array(n,r-u,t.blobSize-14)),s!==t.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(n,e){var r=e.headerInfo,a=this.getDataTypeArray(r.imageType),t=r.numDims*this.getDataTypeSize(r.imageType),i=this.readSubArray(n,e.ptr,a,t),o=this.readSubArray(n,e.ptr+t,a,t);e.ptr+=2*t;var s,u=!0;for(s=0;s<r.numDims;s++)if(i[s]!==o[s]){u=!1;break}return r.minValues=i,r.maxValues=o,u},readSubArray:function(n,e,r,a){var t;if(r===Uint8Array)t=new Uint8Array(n,e,a);else{var i=new ArrayBuffer(a),o=new Uint8Array(i);o.set(new Uint8Array(n,e,a)),t=new r(i)}return t},readMask:function(n,e){var r=e.ptr,a=e.headerInfo,t=a.width*a.height,i=a.numValidPixel,o=new DataView(n,r,4),s={};if(s.numBytes=o.getUint32(0,!0),r+=4,(i===0||t===i)&&s.numBytes!==0)throw"invalid mask";var u,m;if(i===0)u=new Uint8Array(Math.ceil(t/8)),s.bitset=u,m=new Uint8Array(t),e.pixels.resultMask=m,r+=s.numBytes;else if(s.numBytes>0){u=new Uint8Array(Math.ceil(t/8)),o=new DataView(n,r,s.numBytes);var l=o.getInt16(0,!0),f=2,h=0,c=0;do{if(l>0)for(;l--;)u[h++]=o.getUint8(f++);else for(c=o.getUint8(f++),l=-l;l--;)u[h++]=c;l=o.getInt16(f,!0),f+=2}while(f<s.numBytes);if(l!==-32768||h<u.length)throw"Unexpected end of mask RLE encoding";m=new Uint8Array(t);var g=0,v=0;for(v=0;v<t;v++)v&7?(g=u[v>>3],g<<=v&7):g=u[v>>3],g&128&&(m[v]=1);e.pixels.resultMask=m,s.bitset=u,r+=s.numBytes}return e.ptr=r,e.mask=s,!0},readDataOneSweep:function(n,e,r){var a=e.ptr,t=e.headerInfo,i=t.numDims,o=t.width*t.height,s=t.imageType,u=t.numValidPixel*V.getDataTypeSize(s)*i,m,l=e.pixels.resultMask;if(r===Uint8Array)m=new Uint8Array(n,a,u);else{var f=new ArrayBuffer(u),h=new Uint8Array(f);h.set(new Uint8Array(n,a,u)),m=new r(f)}if(m.length===o*i)e.pixels.resultPixels=m;else{e.pixels.resultPixels=new r(o*i);var c=0,g=0,v=0,U=0;if(i>1)for(v=0;v<i;v++)for(U=v*o,g=0;g<o;g++)l[g]&&(e.pixels.resultPixels[U+g]=m[c++]);else for(g=0;g<o;g++)l[g]&&(e.pixels.resultPixels[g]=m[c++])}return a+=u,e.ptr=a,!0},readHuffmanTree:function(n,e){var r=this.HUFFMAN_LUT_BITS_MAX,a=new DataView(n,e.ptr,16);e.ptr+=16;var t=a.getInt32(0,!0);if(t<2)throw"unsupported Huffman version";var i=a.getInt32(4,!0),o=a.getInt32(8,!0),s=a.getInt32(12,!0);if(o>=s)return!1;var u=new Uint32Array(s-o);V.decodeBits(n,e,u);var m=[],l,f,h,c;for(l=o;l<s;l++)f=l-(l<i?0:i),m[f]={first:u[l-o],second:null};var g=n.byteLength-e.ptr,v=Math.ceil(g/4),U=new ArrayBuffer(v*4),M=new Uint8Array(U);M.set(new Uint8Array(n,e.ptr,g));var S=new Uint32Array(U),I=0,k,w=0;for(k=S[0],l=o;l<s;l++)f=l-(l<i?0:i),c=m[f].first,c>0&&(m[f].second=k<<I>>>32-c,32-I>=c?(I+=c,I===32&&(I=0,w++,k=S[w])):(I+=c-32,w++,k=S[w],m[f].second|=k>>>32-I));var d=0,x=0,T=new b;for(l=0;l<m.length;l++)m[l]!==void 0&&(d=Math.max(d,m[l].first));d>=r?x=r:x=d,d>=30&&console.log("WARning, large NUM LUT BITS IS "+d);var y=[],p,L,B,E,O,F;for(l=o;l<s;l++)if(f=l-(l<i?0:i),c=m[f].first,c>0)if(p=[c,f],c<=x)for(L=m[f].second<<x-c,B=1<<x-c,h=0;h<B;h++)y[L|h]=p;else for(L=m[f].second,F=T,E=c-1;E>=0;E--)O=L>>>E&1,O?(F.right||(F.right=new b),F=F.right):(F.left||(F.left=new b),F=F.left),E===0&&!F.val&&(F.val=p[1]);return{decodeLut:y,numBitsLUTQick:x,numBitsLUT:d,tree:T,stuffedData:S,srcPtr:w,bitPos:I}},readHuffman:function(n,e,r){var a=e.headerInfo,t=a.numDims,i=e.headerInfo.height,o=e.headerInfo.width,s=o*i,u=this.readHuffmanTree(n,e),m=u.decodeLut,l=u.tree,f=u.stuffedData,h=u.srcPtr,c=u.bitPos,g=u.numBitsLUTQick,v=u.numBitsLUT,U=e.headerInfo.imageType===0?128:0,M,S,I,k=e.pixels.resultMask,w,d,x,T,y,p,L,B=0;c>0&&(h++,c=0);var E=f[h],O=e.encodeMode===1,F=new r(s*t),N=F,z;for(z=0;z<a.numDims;z++){if(t>1&&(N=new r(F.buffer,s*z,s),B=0),e.headerInfo.numValidPixel===o*i)for(p=0,T=0;T<i;T++)for(y=0;y<o;y++,p++){if(S=0,w=E<<c>>>32-g,d=w,32-c<g&&(w|=f[h+1]>>>64-c-g,d=w),m[d])S=m[d][1],c+=m[d][0];else for(w=E<<c>>>32-v,d=w,32-c<v&&(w|=f[h+1]>>>64-c-v,d=w),M=l,L=0;L<v;L++)if(x=w>>>v-L-1&1,M=x?M.right:M.left,!(M.left||M.right)){S=M.val,c=c+L+1;break}c>=32&&(c-=32,h++,E=f[h]),I=S-U,O?(y>0?I+=B:T>0?I+=N[p-o]:I+=B,I&=255,N[p]=I,B=I):N[p]=I}else for(p=0,T=0;T<i;T++)for(y=0;y<o;y++,p++)if(k[p]){if(S=0,w=E<<c>>>32-g,d=w,32-c<g&&(w|=f[h+1]>>>64-c-g,d=w),m[d])S=m[d][1],c+=m[d][0];else for(w=E<<c>>>32-v,d=w,32-c<v&&(w|=f[h+1]>>>64-c-v,d=w),M=l,L=0;L<v;L++)if(x=w>>>v-L-1&1,M=x?M.right:M.left,!(M.left||M.right)){S=M.val,c=c+L+1;break}c>=32&&(c-=32,h++,E=f[h]),I=S-U,O?(y>0&&k[p-1]?I+=B:T>0&&k[p-o]?I+=N[p-o]:I+=B,I&=255,N[p]=I,B=I):N[p]=I}e.ptr=e.ptr+(h+1)*4+(c>0?4:0)}e.pixels.resultPixels=F},decodeBits:function(n,e,r,a,t){{var i=e.headerInfo,o=i.fileVersion,s=0,u=new DataView(n,e.ptr,5),m=u.getUint8(0);s++;var l=m>>6,f=l===0?4:3-l,h=(m&32)>0,c=m&31,g=0;if(f===1)g=u.getUint8(s),s++;else if(f===2)g=u.getUint16(s,!0),s+=2;else if(f===4)g=u.getUint32(s,!0),s+=4;else throw"Invalid valid pixel count type";var v=2*i.maxZError,U,M,S,I,k,w,d,x,T,y,p=i.numDims>1?i.maxValues[t]:i.zMax;if(h){for(e.counter.lut++,x=u.getUint8(s),T=c,s++,I=Math.ceil((x-1)*c/8),k=Math.ceil(I/4),M=new ArrayBuffer(k*4),S=new Uint8Array(M),e.ptr+=s,S.set(new Uint8Array(n,e.ptr,I)),d=new Uint32Array(M),e.ptr+=I,y=0;x-1>>>y;)y++;I=Math.ceil(g*y/8),k=Math.ceil(I/4),M=new ArrayBuffer(k*4),S=new Uint8Array(M),S.set(new Uint8Array(n,e.ptr,I)),U=new Uint32Array(M),e.ptr+=I,o>=3?w=A.unstuffLUT2(d,c,x-1,a,v,p):w=A.unstuffLUT(d,c,x-1,a,v,p),o>=3?A.unstuff2(U,r,y,g,w):A.unstuff(U,r,y,g,w)}else e.counter.bitstuffer++,y=c,e.ptr+=s,y>0&&(I=Math.ceil(g*y/8),k=Math.ceil(I/4),M=new ArrayBuffer(k*4),S=new Uint8Array(M),S.set(new Uint8Array(n,e.ptr,I)),U=new Uint32Array(M),e.ptr+=I,o>=3?a==null?A.originalUnstuff2(U,r,y,g):A.unstuff2(U,r,y,g,!1,a,v,p):a==null?A.originalUnstuff(U,r,y,g):A.unstuff(U,r,y,g,!1,a,v,p))}},readTiles:function(n,e,r){var a=e.headerInfo,t=a.width,i=a.height,o=a.microBlockSize,s=a.imageType,u=V.getDataTypeSize(s),m=Math.ceil(t/o),l=Math.ceil(i/o);e.pixels.numBlocksY=l,e.pixels.numBlocksX=m,e.pixels.ptr=0;var f=0,h=0,c=0,g=0,v=0,U=0,M=0,S=0,I=0,k=0,w=0,d=0,x=0,T=0,y=0,p=0,L,B,E,O,F,N,z=new r(o*o),ke=i%o||o,ye=t%o||o,J,Z,ue=a.numDims,te,j=e.pixels.resultMask,q=e.pixels.resultPixels;for(c=0;c<l;c++)for(v=c!==l-1?o:ke,g=0;g<m;g++)for(U=g!==m-1?o:ye,w=c*t*o+g*o,d=t-U,te=0;te<ue;te++){if(ue>1&&(q=new r(e.pixels.resultPixels.buffer,t*i*te*u,t*i)),M=n.byteLength-e.ptr,L=new DataView(n,e.ptr,Math.min(10,M)),B={},p=0,S=L.getUint8(0),p++,I=S>>6&255,k=S>>2&15,k!==(g*o>>3&15))throw"integrity issue";if(N=S&3,N>3)throw e.ptr+=p,"Invalid block encoding ("+N+")";if(N===2){e.counter.constant++,e.ptr+=p;continue}else if(N===0){if(e.counter.uncompressed++,e.ptr+=p,x=v*U*u,T=n.byteLength-e.ptr,x=x<T?x:T,E=new ArrayBuffer(x%u===0?x:x+u-x%u),O=new Uint8Array(E),O.set(new Uint8Array(n,e.ptr,x)),F=new r(E),y=0,j)for(f=0;f<v;f++){for(h=0;h<U;h++)j[w]&&(q[w]=F[y++]),w++;w+=d}else for(f=0;f<v;f++){for(h=0;h<U;h++)q[w++]=F[y++];w+=d}e.ptr+=y*u}else if(J=V.getDataTypeUsed(s,I),Z=V.getOnePixel(B,p,J,L),p+=V.getDataTypeSize(J),N===3)if(e.ptr+=p,e.counter.constantoffset++,j)for(f=0;f<v;f++){for(h=0;h<U;h++)j[w]&&(q[w]=Z),w++;w+=d}else for(f=0;f<v;f++){for(h=0;h<U;h++)q[w++]=Z;w+=d}else if(e.ptr+=p,V.decodeBits(n,e,z,Z,te),p=0,j)for(f=0;f<v;f++){for(h=0;h<U;h++)j[w]&&(q[w]=z[p++]),w++;w+=d}else for(f=0;f<v;f++){for(h=0;h<U;h++)q[w++]=z[p++];w+=d}}},formatFileInfo:function(n){return{fileIdentifierString:n.headerInfo.fileIdentifierString,fileVersion:n.headerInfo.fileVersion,imageType:n.headerInfo.imageType,height:n.headerInfo.height,width:n.headerInfo.width,numValidPixel:n.headerInfo.numValidPixel,microBlockSize:n.headerInfo.microBlockSize,blobSize:n.headerInfo.blobSize,maxZError:n.headerInfo.maxZError,pixelType:V.getPixelType(n.headerInfo.imageType),eofOffset:n.eofOffset,mask:n.mask?{numBytes:n.mask.numBytes}:null,pixels:{numBlocksX:n.pixels.numBlocksX,numBlocksY:n.pixels.numBlocksY,maxValue:n.headerInfo.zMax,minValue:n.headerInfo.zMin,noDataValue:n.noDataValue}}},constructConstantSurface:function(n){var e=n.headerInfo.zMax,r=n.headerInfo.numDims,a=n.headerInfo.height*n.headerInfo.width,t=a*r,i=0,o=0,s=0,u=n.pixels.resultMask;if(u)if(r>1)for(i=0;i<r;i++)for(s=i*a,o=0;o<a;o++)u[o]&&(n.pixels.resultPixels[s+o]=e);else for(o=0;o<a;o++)u[o]&&(n.pixels.resultPixels[o]=e);else if(n.pixels.resultPixels.fill)n.pixels.resultPixels.fill(e);else for(o=0;o<t;o++)n.pixels.resultPixels[o]=e},getDataTypeArray:function(n){var e;switch(n){case 0:e=Int8Array;break;case 1:e=Uint8Array;break;case 2:e=Int16Array;break;case 3:e=Uint16Array;break;case 4:e=Int32Array;break;case 5:e=Uint32Array;break;case 6:e=Float32Array;break;case 7:e=Float64Array;break;default:e=Float32Array}return e},getPixelType:function(n){var e;switch(n){case 0:e="S8";break;case 1:e="U8";break;case 2:e="S16";break;case 3:e="U16";break;case 4:e="S32";break;case 5:e="U32";break;case 6:e="F32";break;case 7:e="F64";break;default:e="F32"}return e},isValidPixelValue:function(n,e){if(e==null)return!1;var r;switch(n){case 0:r=e>=-128&&e<=127;break;case 1:r=e>=0&&e<=255;break;case 2:r=e>=-32768&&e<=32767;break;case 3:r=e>=0&&e<=65536;break;case 4:r=e>=-2147483648&&e<=2147483647;break;case 5:r=e>=0&&e<=4294967296;break;case 6:r=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:r=e>=5e-324&&e<=17976931348623157e292;break;default:r=!1}return r},getDataTypeSize:function(n){var e=0;switch(n){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=n}return e},getDataTypeUsed:function(n,e){var r=n;switch(n){case 2:case 4:r=n-e;break;case 3:case 5:r=n-2*e;break;case 6:e===0?r=n:e===1?r=2:r=1;break;case 7:e===0?r=n:r=n-2*e+1;break;default:r=n;break}return r},getOnePixel:function(n,e,r,a){var t=0;switch(r){case 0:t=a.getInt8(e);break;case 1:t=a.getUint8(e);break;case 2:t=a.getInt16(e,!0);break;case 3:t=a.getUint16(e,!0);break;case 4:t=a.getInt32(e,!0);break;case 5:t=a.getUInt32(e,!0);break;case 6:t=a.getFloat32(e,!0);break;case 7:t=a.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return t}},b=function(n,e,r){this.val=n,this.left=e,this.right=r},X={decode:function(n,e){e=e||{};var r=e.noDataValue,a=0,t={};if(t.ptr=e.inputOffset||0,t.pixels={},!!V.readHeaderInfo(n,t)){var i=t.headerInfo,o=i.fileVersion,s=V.getDataTypeArray(i.imageType);V.readMask(n,t),i.numValidPixel!==i.width*i.height&&!t.pixels.resultMask&&(t.pixels.resultMask=e.maskData);var u=i.width*i.height;if(t.pixels.resultPixels=new s(u*i.numDims),t.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},i.numValidPixel!==0)if(i.zMax===i.zMin)V.constructConstantSurface(t);else if(o>=4&&V.checkMinMaxRanges(n,t))V.constructConstantSurface(t);else{var m=new DataView(n,t.ptr,2),l=m.getUint8(0);if(t.ptr++,l)V.readDataOneSweep(n,t,s);else if(o>1&&i.imageType<=1&&Math.abs(i.maxZError-.5)<1e-5){var f=m.getUint8(1);if(t.ptr++,t.encodeMode=f,f>2||o<4&&f>1)throw"Invalid Huffman flag "+f;f?V.readHuffman(n,t,s):V.readTiles(n,t,s)}else V.readTiles(n,t,s)}t.eofOffset=t.ptr;var h;e.inputOffset?(h=t.headerInfo.blobSize+e.inputOffset-t.ptr,Math.abs(h)>=1&&(t.eofOffset=e.inputOffset+t.headerInfo.blobSize)):(h=t.headerInfo.blobSize-t.ptr,Math.abs(h)>=1&&(t.eofOffset=t.headerInfo.blobSize));var c={width:i.width,height:i.height,pixelData:t.pixels.resultPixels,minValue:i.zMin,maxValue:i.zMax,validPixelCount:i.numValidPixel,dimCount:i.numDims,dimStats:{minValues:i.minValues,maxValues:i.maxValues},maskData:t.pixels.resultMask};if(t.pixels.resultMask&&V.isValidPixelValue(i.imageType,r)){var g=t.pixels.resultMask;for(a=0;a<u;a++)g[a]||(c.pixelData[a]=r);c.noDataValue=r}return t.noDataValue=r,e.returnFileInfo&&(c.fileInfo=V.formatFileInfo(t)),c}},getBandCount:function(n){var e=0,r=0,a={};for(a.ptr=0,a.pixels={};r<n.byteLength-58;)V.readHeaderInfo(n,a),r+=a.headerInfo.blobSize,e++,a.ptr=r;return e}};return X}(),C=function(){var A=new ArrayBuffer(4),V=new Uint8Array(A),b=new Uint32Array(A);return b[0]=1,V[0]===1}(),re={decode:function(A,V){if(!C)throw"Big endian system is not supported.";V=V||{};var b=V.inputOffset||0,X=new Uint8Array(A,b,10),n=String.fromCharCode.apply(null,X),e,r;if(n.trim()==="CntZImage")e=D,r=1;else if(n.substring(0,5)==="Lerc2")e=se,r=2;else throw"Unexpected file identifier string: "+n;for(var a=0,t=A.byteLength-10,i,o=[],s,u,m={width:0,height:0,pixels:[],pixelType:V.pixelType,mask:null,statistics:[]};b<t;){var l=e.decode(A,{inputOffset:b,encodedMaskData:i,maskData:u,returnMask:a===0,returnEncodedMask:a===0,returnFileInfo:!0,pixelType:V.pixelType||null,noDataValue:V.noDataValue||null});b=l.fileInfo.eofOffset,a===0&&(i=l.encodedMaskData,u=l.maskData,m.width=l.width,m.height=l.height,m.dimCount=l.dimCount||1,m.pixelType=l.pixelType||l.fileInfo.pixelType,m.mask=l.maskData),r>1&&l.fileInfo.mask&&l.fileInfo.mask.numBytes>0&&o.push(l.maskData),a++,m.pixels.push(l.pixelData),m.statistics.push({minValue:l.minValue,maxValue:l.maxValue,noDataValue:l.noDataValue,dimStats:l.dimStats})}var f,h,c;if(r>1&&o.length>1){for(c=m.width*m.height,m.bandMasks=o,u=new Uint8Array(c),u.set(o[0]),f=1;f<o.length;f++)for(s=o[f],h=0;h<c;h++)u[h]=u[h]&s[h];m.maskData=u}return m}};typeof define=="function"&&define.amd?define([],function(){return re}):typeof Te<"u"&&Te.exports?Te.exports=re:this.Lerc=re})()});var Ur={NONE:0,LERC:1},or=Object.freeze(Ur);var Q={};Q.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var Ye=new ie,Tr=new xe,kr=new ie,yr=new ie;Q.computeVertices=function(D){if(!G(D)||!G(D.heightmap))throw new he("options.heightmap is required.");if(!G(D.width)||!G(D.height))throw new he("options.width and options.height are required.");if(!G(D.nativeRectangle))throw new he("options.nativeRectangle is required.");if(!G(D.skirtHeight))throw new he("options.skirtHeight is required.");let se=Math.cos,C=Math.sin,re=Math.sqrt,A=Math.atan,V=Math.exp,b=ge.PI_OVER_TWO,X=ge.toRadians,n=D.heightmap,e=D.width,r=D.height,a=D.skirtHeight,t=a>0,i=Y(D.isGeographic,!0),o=Y(D.ellipsoid,Ie.default),s=1/o.maximumRadius,u=ae.clone(D.nativeRectangle),m=ae.clone(D.rectangle),l,f,h,c;G(m)?(l=m.west,f=m.south,h=m.east,c=m.north):i?(l=X(u.west),f=X(u.south),h=X(u.east),c=X(u.north)):(l=u.west*s,f=b-2*A(V(-u.south*s)),h=u.east*s,c=b-2*A(V(-u.north*s)));let g=D.relativeToCenter,v=G(g);g=v?g:ie.ZERO;let U=Y(D.includeWebMercatorT,!1),M=Y(D.exaggeration,1),S=Y(D.exaggerationRelativeHeight,0),k=M!==1,w=Y(D.structure,Q.DEFAULT_STRUCTURE),d=Y(w.heightScale,Q.DEFAULT_STRUCTURE.heightScale),x=Y(w.heightOffset,Q.DEFAULT_STRUCTURE.heightOffset),T=Y(w.elementsPerHeight,Q.DEFAULT_STRUCTURE.elementsPerHeight),y=Y(w.stride,Q.DEFAULT_STRUCTURE.stride),p=Y(w.elementMultiplier,Q.DEFAULT_STRUCTURE.elementMultiplier),L=Y(w.isBigEndian,Q.DEFAULT_STRUCTURE.isBigEndian),B=ae.computeWidth(u),E=ae.computeHeight(u),O=B/(e-1),F=E/(r-1);i||(B*=s,E*=s);let N=o.radiiSquared,z=N.x,ke=N.y,ye=N.z,J=65536,Z=-65536,ue=rr.eastNorthUpToFixedFrame(g,o),te=xe.inverseTransformation(ue,Tr),j,q;U&&(j=Ue.geodeticLatitudeToMercatorAngle(f),q=1/(Ue.geodeticLatitudeToMercatorAngle(c)-j));let fe=kr;fe.x=Number.POSITIVE_INFINITY,fe.y=Number.POSITIVE_INFINITY,fe.z=Number.POSITIVE_INFINITY;let oe=yr;oe.x=Number.NEGATIVE_INFINITY,oe.y=Number.NEGATIVE_INFINITY,oe.z=Number.NEGATIVE_INFINITY;let Me=Number.POSITIVE_INFINITY,ce=e*r,mr=a>0?e*2+r*2:0,ne=ce+mr,ve=new Array(ne),Xe=new Array(ne),_e=new Array(ne),ze=U?new Array(ne):[],Ze=k?new Array(ne):[],Se=0,Ve=r,De=0,Ae=e;t&&(--Se,++Ve,--De,++Ae);let de=1e-5;for(let H=Se;H<Ve;++H){let K=H;K<0&&(K=0),K>=r&&(K=r-1);let W=u.north-F*K;i?W=X(W):W=b-2*A(V(-W*s));let Le=(W-f)/(c-f);Le=ge.clamp(Le,0,1);let we=H===Se,pe=H===Ve-1;a>0&&(we?W+=de*E:pe&&(W-=de*E));let Qe=se(W),Be=C(W),Je=ye*Be,Ke;U&&(Ke=(Ue.geodeticLatitudeToMercatorAngle(W)-j)*q);for(let me=De;me<Ae;++me){let $=me;$<0&&($=0),$>=e&&($=e-1);let Fe=K*(e*y)+$*y,R;if(T===1)R=n[Fe];else{R=0;let _;if(L)for(_=0;_<T;++_)R=R*p+n[Fe+_];else for(_=T-1;_>=0;--_)R=R*p+n[Fe+_]}R=R*d+x,Z=Math.max(Z,R),J=Math.min(J,R);let P=u.west+O*$;i?P=X(P):P=P*s;let be=(P-l)/(h-l);be=ge.clamp(be,0,1);let ee=K*e+$;if(a>0){let _=me===De,Re=me===Ae-1,pr=we||pe||_||Re;if((we||pe)&&(_||Re))continue;pr&&(R-=a,_?(ee=ce+(r-K-1),P-=de*B):pe?ee=ce+r+(e-$-1):Re?(ee=ce+r+e+K,P+=de*B):we&&(ee=ce+r+e+r+$))}let Ne=Qe*se(P),Ce=Qe*C(P),$e=z*Ne,Pe=ke*Ce,Oe=1/re($e*Ne+Pe*Ce+Je*Be),vr=$e*Oe,dr=Pe*Oe,wr=Je*Oe,le=new ie;le.x=vr+Ne*R,le.y=dr+Ce*R,le.z=wr+Be*R,xe.multiplyByPoint(te,le,Ye),ie.minimumByComponent(Ye,fe,fe),ie.maximumByComponent(Ye,oe,oe),Me=Math.min(Me,R),ve[ee]=le,_e[ee]=new er(be,Le),Xe[ee]=R,U&&(ze[ee]=Ke),k&&(Ze[ee]=o.geodeticSurfaceNormal(le))}}let hr=ir.fromPoints(ve),je;G(m)&&(je=ar.fromRectangle(m,J,Z,o));let qe;v&&(qe=new sr(o).computeHorizonCullingPointPossiblyUnderEllipsoid(g,ve,J));let gr=new nr(fe,oe,g),Ee=new fr(g,gr,Me,Z,ue,!1,U,k,M,S),We=new Float32Array(ne*Ee.stride),Ge=0;for(let H=0;H<ne;++H)Ge=Ee.encode(We,Ge,ve[H],_e[H],Xe[H],void 0,ze[H],Ze[H]);return{vertices:We,maximumHeight:Z,minimumHeight:J,encoding:Ee,boundingSphere3D:hr,orientedBoundingBox:je,occludeePointInScaledSpace:qe}};var lr=Q;var cr=xr(ur(),1);function Mr(D,se){if(D.encoding===or.LERC){let A;try{A=cr.default.decode(D.heightmap)}catch(b){throw new He(b)}if(A.statistics[0].minValue===Number.MAX_VALUE)throw new He("Invalid tile data");D.heightmap=A.pixels[0],D.width=A.width,D.height=A.height}D.ellipsoid=Ie.clone(D.ellipsoid),D.rectangle=ae.clone(D.rectangle);let C=lr.computeVertices(D),re=C.vertices;return se.push(re.buffer),{vertices:re.buffer,numberOfAttributes:C.encoding.stride,minimumHeight:C.minimumHeight,maximumHeight:C.maximumHeight,gridWidth:D.width,gridHeight:D.height,boundingSphere3D:C.boundingSphere3D,orientedBoundingBox:C.orientedBoundingBox,occludeePointInScaledSpace:C.occludeePointInScaledSpace,encoding:C.encoding,westIndicesSouthToNorth:C.westIndicesSouthToNorth,southIndicesEastToWest:C.southIndicesEastToWest,eastIndicesNorthToSouth:C.eastIndicesNorthToSouth,northIndicesWestToEast:C.northIndicesWestToEast}}var Pr=tr(Mr);export{Pr as default}; +import{a as sr,b as fr}from"./chunk-46LYVLGL.js";import{a as tr}from"./chunk-YEUI4ZO2.js";import{a as Ue}from"./chunk-6IQVYEBD.js";import{a as ar}from"./chunk-LKADYPHQ.js";import"./chunk-BMKF5JTH.js";import"./chunk-JHG5JGLM.js";import{a as nr}from"./chunk-ULZ2QSU5.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{d as ir}from"./chunk-JLMPKQO4.js";import{b as xe,g as rr,h as ae}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as ie,c as er,d as Ie}from"./chunk-HWH6BBH6.js";import{a as ge}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import{a as He}from"./chunk-GVFM5H7M.js";import{a as Y}from"./chunk-CJFJKB5V.js";import{a as he}from"./chunk-4BGNE6LH.js";import{c as Ir,d as xr,e as G}from"./chunk-OX5CTLXY.js";var ur=Ir((qr,Te)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var D=function(){var A={};A.defaultNoDataValue=-34027999387901484e22,A.decode=function(r,a){a=a||{};var t=a.encodedMaskData||a.encodedMaskData===null,i=n(r,a.inputOffset||0,t),o=a.noDataValue!==null?a.noDataValue:A.defaultNoDataValue,s=V(i,a.pixelType||Float32Array,a.encodedMaskData,o,a.returnMask),u={width:i.width,height:i.height,pixelData:s.resultPixels,minValue:s.minValue,maxValue:i.pixels.maxValue,noDataValue:o};return s.resultMask&&(u.maskData=s.resultMask),a.returnEncodedMask&&i.mask&&(u.encodedMaskData=i.mask.bitset?i.mask.bitset:null),a.returnFileInfo&&(u.fileInfo=b(i),a.computeUsedBitDepths&&(u.fileInfo.bitDepths=X(i))),u};var V=function(r,a,t,i,o){var s=0,u=r.pixels.numBlocksX,m=r.pixels.numBlocksY,l=Math.floor(r.width/u),f=Math.floor(r.height/m),h=2*r.maxZError,c=Number.MAX_VALUE,g;t=t||(r.mask?r.mask.bitset:null);var v,U;v=new a(r.width*r.height),o&&t&&(U=new Uint8Array(r.width*r.height));for(var M=new Float32Array(l*f),S,I,k=0;k<=m;k++){var w=k!==m?f:r.height%m;if(w!==0)for(var d=0;d<=u;d++){var x=d!==u?l:r.width%u;if(x!==0){var T=k*r.width*f+d*l,y=r.width-x,p=r.pixels.blocks[s],L,B,E;p.encoding<2?(p.encoding===0?L=p.rawData:(e(p.stuffedData,p.bitsPerPixel,p.numValidPixels,p.offset,h,M,r.pixels.maxValue),L=M),B=0):p.encoding===2?E=0:E=p.offset;var O;if(t)for(I=0;I<w;I++){for(T&7&&(O=t[T>>3],O<<=T&7),S=0;S<x;S++)T&7||(O=t[T>>3]),O&128?(U&&(U[T]=1),g=p.encoding<2?L[B++]:E,c=c>g?g:c,v[T++]=g):(U&&(U[T]=0),v[T++]=i),O<<=1;T+=y}else if(p.encoding<2)for(I=0;I<w;I++){for(S=0;S<x;S++)g=L[B++],c=c>g?g:c,v[T++]=g;T+=y}else for(c=c>E?E:c,I=0;I<w;I++){for(S=0;S<x;S++)v[T++]=E;T+=y}if(p.encoding===1&&B!==p.numValidPixels)throw"Block and Mask do not match";s++}}}return{resultPixels:v,resultMask:U,minValue:c}},b=function(r){return{fileIdentifierString:r.fileIdentifierString,fileVersion:r.fileVersion,imageType:r.imageType,height:r.height,width:r.width,maxZError:r.maxZError,eofOffset:r.eofOffset,mask:r.mask?{numBlocksX:r.mask.numBlocksX,numBlocksY:r.mask.numBlocksY,numBytes:r.mask.numBytes,maxValue:r.mask.maxValue}:null,pixels:{numBlocksX:r.pixels.numBlocksX,numBlocksY:r.pixels.numBlocksY,numBytes:r.pixels.numBytes,maxValue:r.pixels.maxValue,noDataValue:r.noDataValue}}},X=function(r){for(var a=r.pixels.numBlocksX*r.pixels.numBlocksY,t={},i=0;i<a;i++){var o=r.pixels.blocks[i];o.encoding===0?t.float32=!0:o.encoding===1?t[o.bitsPerPixel]=!0:t[0]=!0}return Object.keys(t)},n=function(r,a,t){var i={},o=new Uint8Array(r,a,10);if(i.fileIdentifierString=String.fromCharCode.apply(null,o),i.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+i.fileIdentifierString;a+=10;var s=new DataView(r,a,24);if(i.fileVersion=s.getInt32(0,!0),i.imageType=s.getInt32(4,!0),i.height=s.getUint32(8,!0),i.width=s.getUint32(12,!0),i.maxZError=s.getFloat64(16,!0),a+=24,!t)if(s=new DataView(r,a,16),i.mask={},i.mask.numBlocksY=s.getUint32(0,!0),i.mask.numBlocksX=s.getUint32(4,!0),i.mask.numBytes=s.getUint32(8,!0),i.mask.maxValue=s.getFloat32(12,!0),a+=16,i.mask.numBytes>0){var u=new Uint8Array(Math.ceil(i.width*i.height/8));s=new DataView(r,a,i.mask.numBytes);var m=s.getInt16(0,!0),l=2,f=0;do{if(m>0)for(;m--;)u[f++]=s.getUint8(l++);else{var h=s.getUint8(l++);for(m=-m;m--;)u[f++]=h}m=s.getInt16(l,!0),l+=2}while(l<i.mask.numBytes);if(m!==-32768||f<u.length)throw"Unexpected end of mask RLE encoding";i.mask.bitset=u,a+=i.mask.numBytes}else i.mask.numBytes|i.mask.numBlocksY|i.mask.maxValue||(i.mask.bitset=new Uint8Array(Math.ceil(i.width*i.height/8)));s=new DataView(r,a,16),i.pixels={},i.pixels.numBlocksY=s.getUint32(0,!0),i.pixels.numBlocksX=s.getUint32(4,!0),i.pixels.numBytes=s.getUint32(8,!0),i.pixels.maxValue=s.getFloat32(12,!0),a+=16;var c=i.pixels.numBlocksX,g=i.pixels.numBlocksY,v=c+(i.width%c>0?1:0),U=g+(i.height%g>0?1:0);i.pixels.blocks=new Array(v*U);for(var M=0,S=0;S<U;S++)for(var I=0;I<v;I++){var k=0,w=r.byteLength-a;s=new DataView(r,a,Math.min(10,w));var d={};i.pixels.blocks[M++]=d;var x=s.getUint8(0);if(k++,d.encoding=x&63,d.encoding>3)throw"Invalid block encoding ("+d.encoding+")";if(d.encoding===2){a++;continue}if(x!==0&&x!==2){if(x>>=6,d.offsetType=x,x===2)d.offset=s.getInt8(1),k++;else if(x===1)d.offset=s.getInt16(1,!0),k+=2;else if(x===0)d.offset=s.getFloat32(1,!0),k+=4;else throw"Invalid block offset type";if(d.encoding===1)if(x=s.getUint8(k),k++,d.bitsPerPixel=x&63,x>>=6,d.numValidPixelsType=x,x===2)d.numValidPixels=s.getUint8(k),k++;else if(x===1)d.numValidPixels=s.getUint16(k,!0),k+=2;else if(x===0)d.numValidPixels=s.getUint32(k,!0),k+=4;else throw"Invalid valid pixel count type"}if(a+=k,d.encoding!==3){var T,y;if(d.encoding===0){var p=(i.pixels.numBytes-1)/4;if(p!==Math.floor(p))throw"uncompressed block has invalid length";T=new ArrayBuffer(p*4),y=new Uint8Array(T),y.set(new Uint8Array(r,a,p*4));var L=new Float32Array(T);d.rawData=L,a+=p*4}else if(d.encoding===1){var B=Math.ceil(d.numValidPixels*d.bitsPerPixel/8),E=Math.ceil(B/4);T=new ArrayBuffer(E*4),y=new Uint8Array(T),y.set(new Uint8Array(r,a,B)),d.stuffedData=new Uint32Array(T),a+=B}}}return i.eofOffset=a,i},e=function(r,a,t,i,o,s,u){var m=(1<<a)-1,l=0,f,h=0,c,g,v=Math.ceil((u-i)/o),U=r.length*4-Math.ceil(a*t/8);for(r[r.length-1]<<=8*U,f=0;f<t;f++){if(h===0&&(g=r[l++],h=32),h>=a)c=g>>>h-a&m,h-=a;else{var M=a-h;c=(g&m)<<M&m,g=r[l++],h=32-M,c+=g>>>h}s[f]=c<v?i+c*o:u}return s};return A}(),se=function(){"use strict";var A={unstuff:function(n,e,r,a,t,i,o,s){var u=(1<<r)-1,m=0,l,f=0,h,c,g,v,U=n.length*4-Math.ceil(r*a/8);if(n[n.length-1]<<=8*U,t)for(l=0;l<a;l++)f===0&&(c=n[m++],f=32),f>=r?(h=c>>>f-r&u,f-=r):(g=r-f,h=(c&u)<<g&u,c=n[m++],f=32-g,h+=c>>>f),e[l]=t[h];else for(v=Math.ceil((s-i)/o),l=0;l<a;l++)f===0&&(c=n[m++],f=32),f>=r?(h=c>>>f-r&u,f-=r):(g=r-f,h=(c&u)<<g&u,c=n[m++],f=32-g,h+=c>>>f),e[l]=h<v?i+h*o:s},unstuffLUT:function(n,e,r,a,t,i){var o=(1<<e)-1,s=0,u=0,m=0,l=0,f=0,h,c=[],g=n.length*4-Math.ceil(e*r/8);n[n.length-1]<<=8*g;var v=Math.ceil((i-a)/t);for(u=0;u<r;u++)l===0&&(h=n[s++],l=32),l>=e?(f=h>>>l-e&o,l-=e):(m=e-l,f=(h&o)<<m&o,h=n[s++],l=32-m,f+=h>>>l),c[u]=f<v?a+f*t:i;return c.unshift(a),c},unstuff2:function(n,e,r,a,t,i,o,s){var u=(1<<r)-1,m=0,l,f=0,h=0,c,g,v;if(t)for(l=0;l<a;l++)f===0&&(g=n[m++],f=32,h=0),f>=r?(c=g>>>h&u,f-=r,h+=r):(v=r-f,c=g>>>h&u,g=n[m++],f=32-v,c|=(g&(1<<v)-1)<<r-v,h=v),e[l]=t[c];else{var U=Math.ceil((s-i)/o);for(l=0;l<a;l++)f===0&&(g=n[m++],f=32,h=0),f>=r?(c=g>>>h&u,f-=r,h+=r):(v=r-f,c=g>>>h&u,g=n[m++],f=32-v,c|=(g&(1<<v)-1)<<r-v,h=v),e[l]=c<U?i+c*o:s}return e},unstuffLUT2:function(n,e,r,a,t,i){var o=(1<<e)-1,s=0,u=0,m=0,l=0,f=0,h=0,c,g=[],v=Math.ceil((i-a)/t);for(u=0;u<r;u++)l===0&&(c=n[s++],l=32,h=0),l>=e?(f=c>>>h&o,l-=e,h+=e):(m=e-l,f=c>>>h&o,c=n[s++],l=32-m,f|=(c&(1<<m)-1)<<e-m,h=m),g[u]=f<v?a+f*t:i;return g.unshift(a),g},originalUnstuff:function(n,e,r,a){var t=(1<<r)-1,i=0,o,s=0,u,m,l,f=n.length*4-Math.ceil(r*a/8);for(n[n.length-1]<<=8*f,o=0;o<a;o++)s===0&&(m=n[i++],s=32),s>=r?(u=m>>>s-r&t,s-=r):(l=r-s,u=(m&t)<<l&t,m=n[i++],s=32-l,u+=m>>>s),e[o]=u;return e},originalUnstuff2:function(n,e,r,a){var t=(1<<r)-1,i=0,o,s=0,u=0,m,l,f;for(o=0;o<a;o++)s===0&&(l=n[i++],s=32,u=0),s>=r?(m=l>>>u&t,s-=r,u+=r):(f=r-s,m=l>>>u&t,l=n[i++],s=32-f,m|=(l&(1<<f)-1)<<r-f,u=f),e[o]=m;return e}},V={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(n){for(var e=65535,r=65535,a=n.length,t=Math.floor(a/2),i=0;t;){var o=t>=359?359:t;t-=o;do e+=n[i++]<<8,r+=e+=n[i++];while(--o);e=(e&65535)+(e>>>16),r=(r&65535)+(r>>>16)}return a&1&&(r+=e+=n[i]<<8),e=(e&65535)+(e>>>16),r=(r&65535)+(r>>>16),(r<<16|e)>>>0},readHeaderInfo:function(n,e){var r=e.ptr,a=new Uint8Array(n,r,6),t={};if(t.fileIdentifierString=String.fromCharCode.apply(null,a),t.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+t.fileIdentifierString;r+=6;var i=new DataView(n,r,8),o=i.getInt32(0,!0);t.fileVersion=o,r+=4,o>=3&&(t.checksum=i.getUint32(4,!0),r+=4),i=new DataView(n,r,12),t.height=i.getUint32(0,!0),t.width=i.getUint32(4,!0),r+=8,o>=4?(t.numDims=i.getUint32(8,!0),r+=4):t.numDims=1,i=new DataView(n,r,40),t.numValidPixel=i.getUint32(0,!0),t.microBlockSize=i.getInt32(4,!0),t.blobSize=i.getInt32(8,!0),t.imageType=i.getInt32(12,!0),t.maxZError=i.getFloat64(16,!0),t.zMin=i.getFloat64(24,!0),t.zMax=i.getFloat64(32,!0),r+=40,e.headerInfo=t,e.ptr=r;var s,u;if(o>=3&&(u=o>=4?52:48,s=this.computeChecksumFletcher32(new Uint8Array(n,r-u,t.blobSize-14)),s!==t.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(n,e){var r=e.headerInfo,a=this.getDataTypeArray(r.imageType),t=r.numDims*this.getDataTypeSize(r.imageType),i=this.readSubArray(n,e.ptr,a,t),o=this.readSubArray(n,e.ptr+t,a,t);e.ptr+=2*t;var s,u=!0;for(s=0;s<r.numDims;s++)if(i[s]!==o[s]){u=!1;break}return r.minValues=i,r.maxValues=o,u},readSubArray:function(n,e,r,a){var t;if(r===Uint8Array)t=new Uint8Array(n,e,a);else{var i=new ArrayBuffer(a),o=new Uint8Array(i);o.set(new Uint8Array(n,e,a)),t=new r(i)}return t},readMask:function(n,e){var r=e.ptr,a=e.headerInfo,t=a.width*a.height,i=a.numValidPixel,o=new DataView(n,r,4),s={};if(s.numBytes=o.getUint32(0,!0),r+=4,(i===0||t===i)&&s.numBytes!==0)throw"invalid mask";var u,m;if(i===0)u=new Uint8Array(Math.ceil(t/8)),s.bitset=u,m=new Uint8Array(t),e.pixels.resultMask=m,r+=s.numBytes;else if(s.numBytes>0){u=new Uint8Array(Math.ceil(t/8)),o=new DataView(n,r,s.numBytes);var l=o.getInt16(0,!0),f=2,h=0,c=0;do{if(l>0)for(;l--;)u[h++]=o.getUint8(f++);else for(c=o.getUint8(f++),l=-l;l--;)u[h++]=c;l=o.getInt16(f,!0),f+=2}while(f<s.numBytes);if(l!==-32768||h<u.length)throw"Unexpected end of mask RLE encoding";m=new Uint8Array(t);var g=0,v=0;for(v=0;v<t;v++)v&7?(g=u[v>>3],g<<=v&7):g=u[v>>3],g&128&&(m[v]=1);e.pixels.resultMask=m,s.bitset=u,r+=s.numBytes}return e.ptr=r,e.mask=s,!0},readDataOneSweep:function(n,e,r){var a=e.ptr,t=e.headerInfo,i=t.numDims,o=t.width*t.height,s=t.imageType,u=t.numValidPixel*V.getDataTypeSize(s)*i,m,l=e.pixels.resultMask;if(r===Uint8Array)m=new Uint8Array(n,a,u);else{var f=new ArrayBuffer(u),h=new Uint8Array(f);h.set(new Uint8Array(n,a,u)),m=new r(f)}if(m.length===o*i)e.pixels.resultPixels=m;else{e.pixels.resultPixels=new r(o*i);var c=0,g=0,v=0,U=0;if(i>1)for(v=0;v<i;v++)for(U=v*o,g=0;g<o;g++)l[g]&&(e.pixels.resultPixels[U+g]=m[c++]);else for(g=0;g<o;g++)l[g]&&(e.pixels.resultPixels[g]=m[c++])}return a+=u,e.ptr=a,!0},readHuffmanTree:function(n,e){var r=this.HUFFMAN_LUT_BITS_MAX,a=new DataView(n,e.ptr,16);e.ptr+=16;var t=a.getInt32(0,!0);if(t<2)throw"unsupported Huffman version";var i=a.getInt32(4,!0),o=a.getInt32(8,!0),s=a.getInt32(12,!0);if(o>=s)return!1;var u=new Uint32Array(s-o);V.decodeBits(n,e,u);var m=[],l,f,h,c;for(l=o;l<s;l++)f=l-(l<i?0:i),m[f]={first:u[l-o],second:null};var g=n.byteLength-e.ptr,v=Math.ceil(g/4),U=new ArrayBuffer(v*4),M=new Uint8Array(U);M.set(new Uint8Array(n,e.ptr,g));var S=new Uint32Array(U),I=0,k,w=0;for(k=S[0],l=o;l<s;l++)f=l-(l<i?0:i),c=m[f].first,c>0&&(m[f].second=k<<I>>>32-c,32-I>=c?(I+=c,I===32&&(I=0,w++,k=S[w])):(I+=c-32,w++,k=S[w],m[f].second|=k>>>32-I));var d=0,x=0,T=new b;for(l=0;l<m.length;l++)m[l]!==void 0&&(d=Math.max(d,m[l].first));d>=r?x=r:x=d,d>=30&&console.log("WARning, large NUM LUT BITS IS "+d);var y=[],p,L,B,E,O,F;for(l=o;l<s;l++)if(f=l-(l<i?0:i),c=m[f].first,c>0)if(p=[c,f],c<=x)for(L=m[f].second<<x-c,B=1<<x-c,h=0;h<B;h++)y[L|h]=p;else for(L=m[f].second,F=T,E=c-1;E>=0;E--)O=L>>>E&1,O?(F.right||(F.right=new b),F=F.right):(F.left||(F.left=new b),F=F.left),E===0&&!F.val&&(F.val=p[1]);return{decodeLut:y,numBitsLUTQick:x,numBitsLUT:d,tree:T,stuffedData:S,srcPtr:w,bitPos:I}},readHuffman:function(n,e,r){var a=e.headerInfo,t=a.numDims,i=e.headerInfo.height,o=e.headerInfo.width,s=o*i,u=this.readHuffmanTree(n,e),m=u.decodeLut,l=u.tree,f=u.stuffedData,h=u.srcPtr,c=u.bitPos,g=u.numBitsLUTQick,v=u.numBitsLUT,U=e.headerInfo.imageType===0?128:0,M,S,I,k=e.pixels.resultMask,w,d,x,T,y,p,L,B=0;c>0&&(h++,c=0);var E=f[h],O=e.encodeMode===1,F=new r(s*t),N=F,z;for(z=0;z<a.numDims;z++){if(t>1&&(N=new r(F.buffer,s*z,s),B=0),e.headerInfo.numValidPixel===o*i)for(p=0,T=0;T<i;T++)for(y=0;y<o;y++,p++){if(S=0,w=E<<c>>>32-g,d=w,32-c<g&&(w|=f[h+1]>>>64-c-g,d=w),m[d])S=m[d][1],c+=m[d][0];else for(w=E<<c>>>32-v,d=w,32-c<v&&(w|=f[h+1]>>>64-c-v,d=w),M=l,L=0;L<v;L++)if(x=w>>>v-L-1&1,M=x?M.right:M.left,!(M.left||M.right)){S=M.val,c=c+L+1;break}c>=32&&(c-=32,h++,E=f[h]),I=S-U,O?(y>0?I+=B:T>0?I+=N[p-o]:I+=B,I&=255,N[p]=I,B=I):N[p]=I}else for(p=0,T=0;T<i;T++)for(y=0;y<o;y++,p++)if(k[p]){if(S=0,w=E<<c>>>32-g,d=w,32-c<g&&(w|=f[h+1]>>>64-c-g,d=w),m[d])S=m[d][1],c+=m[d][0];else for(w=E<<c>>>32-v,d=w,32-c<v&&(w|=f[h+1]>>>64-c-v,d=w),M=l,L=0;L<v;L++)if(x=w>>>v-L-1&1,M=x?M.right:M.left,!(M.left||M.right)){S=M.val,c=c+L+1;break}c>=32&&(c-=32,h++,E=f[h]),I=S-U,O?(y>0&&k[p-1]?I+=B:T>0&&k[p-o]?I+=N[p-o]:I+=B,I&=255,N[p]=I,B=I):N[p]=I}e.ptr=e.ptr+(h+1)*4+(c>0?4:0)}e.pixels.resultPixels=F},decodeBits:function(n,e,r,a,t){{var i=e.headerInfo,o=i.fileVersion,s=0,u=new DataView(n,e.ptr,5),m=u.getUint8(0);s++;var l=m>>6,f=l===0?4:3-l,h=(m&32)>0,c=m&31,g=0;if(f===1)g=u.getUint8(s),s++;else if(f===2)g=u.getUint16(s,!0),s+=2;else if(f===4)g=u.getUint32(s,!0),s+=4;else throw"Invalid valid pixel count type";var v=2*i.maxZError,U,M,S,I,k,w,d,x,T,y,p=i.numDims>1?i.maxValues[t]:i.zMax;if(h){for(e.counter.lut++,x=u.getUint8(s),T=c,s++,I=Math.ceil((x-1)*c/8),k=Math.ceil(I/4),M=new ArrayBuffer(k*4),S=new Uint8Array(M),e.ptr+=s,S.set(new Uint8Array(n,e.ptr,I)),d=new Uint32Array(M),e.ptr+=I,y=0;x-1>>>y;)y++;I=Math.ceil(g*y/8),k=Math.ceil(I/4),M=new ArrayBuffer(k*4),S=new Uint8Array(M),S.set(new Uint8Array(n,e.ptr,I)),U=new Uint32Array(M),e.ptr+=I,o>=3?w=A.unstuffLUT2(d,c,x-1,a,v,p):w=A.unstuffLUT(d,c,x-1,a,v,p),o>=3?A.unstuff2(U,r,y,g,w):A.unstuff(U,r,y,g,w)}else e.counter.bitstuffer++,y=c,e.ptr+=s,y>0&&(I=Math.ceil(g*y/8),k=Math.ceil(I/4),M=new ArrayBuffer(k*4),S=new Uint8Array(M),S.set(new Uint8Array(n,e.ptr,I)),U=new Uint32Array(M),e.ptr+=I,o>=3?a==null?A.originalUnstuff2(U,r,y,g):A.unstuff2(U,r,y,g,!1,a,v,p):a==null?A.originalUnstuff(U,r,y,g):A.unstuff(U,r,y,g,!1,a,v,p))}},readTiles:function(n,e,r){var a=e.headerInfo,t=a.width,i=a.height,o=a.microBlockSize,s=a.imageType,u=V.getDataTypeSize(s),m=Math.ceil(t/o),l=Math.ceil(i/o);e.pixels.numBlocksY=l,e.pixels.numBlocksX=m,e.pixels.ptr=0;var f=0,h=0,c=0,g=0,v=0,U=0,M=0,S=0,I=0,k=0,w=0,d=0,x=0,T=0,y=0,p=0,L,B,E,O,F,N,z=new r(o*o),ke=i%o||o,ye=t%o||o,J,Z,ue=a.numDims,te,j=e.pixels.resultMask,q=e.pixels.resultPixels;for(c=0;c<l;c++)for(v=c!==l-1?o:ke,g=0;g<m;g++)for(U=g!==m-1?o:ye,w=c*t*o+g*o,d=t-U,te=0;te<ue;te++){if(ue>1&&(q=new r(e.pixels.resultPixels.buffer,t*i*te*u,t*i)),M=n.byteLength-e.ptr,L=new DataView(n,e.ptr,Math.min(10,M)),B={},p=0,S=L.getUint8(0),p++,I=S>>6&255,k=S>>2&15,k!==(g*o>>3&15))throw"integrity issue";if(N=S&3,N>3)throw e.ptr+=p,"Invalid block encoding ("+N+")";if(N===2){e.counter.constant++,e.ptr+=p;continue}else if(N===0){if(e.counter.uncompressed++,e.ptr+=p,x=v*U*u,T=n.byteLength-e.ptr,x=x<T?x:T,E=new ArrayBuffer(x%u===0?x:x+u-x%u),O=new Uint8Array(E),O.set(new Uint8Array(n,e.ptr,x)),F=new r(E),y=0,j)for(f=0;f<v;f++){for(h=0;h<U;h++)j[w]&&(q[w]=F[y++]),w++;w+=d}else for(f=0;f<v;f++){for(h=0;h<U;h++)q[w++]=F[y++];w+=d}e.ptr+=y*u}else if(J=V.getDataTypeUsed(s,I),Z=V.getOnePixel(B,p,J,L),p+=V.getDataTypeSize(J),N===3)if(e.ptr+=p,e.counter.constantoffset++,j)for(f=0;f<v;f++){for(h=0;h<U;h++)j[w]&&(q[w]=Z),w++;w+=d}else for(f=0;f<v;f++){for(h=0;h<U;h++)q[w++]=Z;w+=d}else if(e.ptr+=p,V.decodeBits(n,e,z,Z,te),p=0,j)for(f=0;f<v;f++){for(h=0;h<U;h++)j[w]&&(q[w]=z[p++]),w++;w+=d}else for(f=0;f<v;f++){for(h=0;h<U;h++)q[w++]=z[p++];w+=d}}},formatFileInfo:function(n){return{fileIdentifierString:n.headerInfo.fileIdentifierString,fileVersion:n.headerInfo.fileVersion,imageType:n.headerInfo.imageType,height:n.headerInfo.height,width:n.headerInfo.width,numValidPixel:n.headerInfo.numValidPixel,microBlockSize:n.headerInfo.microBlockSize,blobSize:n.headerInfo.blobSize,maxZError:n.headerInfo.maxZError,pixelType:V.getPixelType(n.headerInfo.imageType),eofOffset:n.eofOffset,mask:n.mask?{numBytes:n.mask.numBytes}:null,pixels:{numBlocksX:n.pixels.numBlocksX,numBlocksY:n.pixels.numBlocksY,maxValue:n.headerInfo.zMax,minValue:n.headerInfo.zMin,noDataValue:n.noDataValue}}},constructConstantSurface:function(n){var e=n.headerInfo.zMax,r=n.headerInfo.numDims,a=n.headerInfo.height*n.headerInfo.width,t=a*r,i=0,o=0,s=0,u=n.pixels.resultMask;if(u)if(r>1)for(i=0;i<r;i++)for(s=i*a,o=0;o<a;o++)u[o]&&(n.pixels.resultPixels[s+o]=e);else for(o=0;o<a;o++)u[o]&&(n.pixels.resultPixels[o]=e);else if(n.pixels.resultPixels.fill)n.pixels.resultPixels.fill(e);else for(o=0;o<t;o++)n.pixels.resultPixels[o]=e},getDataTypeArray:function(n){var e;switch(n){case 0:e=Int8Array;break;case 1:e=Uint8Array;break;case 2:e=Int16Array;break;case 3:e=Uint16Array;break;case 4:e=Int32Array;break;case 5:e=Uint32Array;break;case 6:e=Float32Array;break;case 7:e=Float64Array;break;default:e=Float32Array}return e},getPixelType:function(n){var e;switch(n){case 0:e="S8";break;case 1:e="U8";break;case 2:e="S16";break;case 3:e="U16";break;case 4:e="S32";break;case 5:e="U32";break;case 6:e="F32";break;case 7:e="F64";break;default:e="F32"}return e},isValidPixelValue:function(n,e){if(e==null)return!1;var r;switch(n){case 0:r=e>=-128&&e<=127;break;case 1:r=e>=0&&e<=255;break;case 2:r=e>=-32768&&e<=32767;break;case 3:r=e>=0&&e<=65536;break;case 4:r=e>=-2147483648&&e<=2147483647;break;case 5:r=e>=0&&e<=4294967296;break;case 6:r=e>=-34027999387901484e22&&e<=34027999387901484e22;break;case 7:r=e>=5e-324&&e<=17976931348623157e292;break;default:r=!1}return r},getDataTypeSize:function(n){var e=0;switch(n){case 0:case 1:e=1;break;case 2:case 3:e=2;break;case 4:case 5:case 6:e=4;break;case 7:e=8;break;default:e=n}return e},getDataTypeUsed:function(n,e){var r=n;switch(n){case 2:case 4:r=n-e;break;case 3:case 5:r=n-2*e;break;case 6:e===0?r=n:e===1?r=2:r=1;break;case 7:e===0?r=n:r=n-2*e+1;break;default:r=n;break}return r},getOnePixel:function(n,e,r,a){var t=0;switch(r){case 0:t=a.getInt8(e);break;case 1:t=a.getUint8(e);break;case 2:t=a.getInt16(e,!0);break;case 3:t=a.getUint16(e,!0);break;case 4:t=a.getInt32(e,!0);break;case 5:t=a.getUInt32(e,!0);break;case 6:t=a.getFloat32(e,!0);break;case 7:t=a.getFloat64(e,!0);break;default:throw"the decoder does not understand this pixel type"}return t}},b=function(n,e,r){this.val=n,this.left=e,this.right=r},X={decode:function(n,e){e=e||{};var r=e.noDataValue,a=0,t={};if(t.ptr=e.inputOffset||0,t.pixels={},!!V.readHeaderInfo(n,t)){var i=t.headerInfo,o=i.fileVersion,s=V.getDataTypeArray(i.imageType);V.readMask(n,t),i.numValidPixel!==i.width*i.height&&!t.pixels.resultMask&&(t.pixels.resultMask=e.maskData);var u=i.width*i.height;if(t.pixels.resultPixels=new s(u*i.numDims),t.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},i.numValidPixel!==0)if(i.zMax===i.zMin)V.constructConstantSurface(t);else if(o>=4&&V.checkMinMaxRanges(n,t))V.constructConstantSurface(t);else{var m=new DataView(n,t.ptr,2),l=m.getUint8(0);if(t.ptr++,l)V.readDataOneSweep(n,t,s);else if(o>1&&i.imageType<=1&&Math.abs(i.maxZError-.5)<1e-5){var f=m.getUint8(1);if(t.ptr++,t.encodeMode=f,f>2||o<4&&f>1)throw"Invalid Huffman flag "+f;f?V.readHuffman(n,t,s):V.readTiles(n,t,s)}else V.readTiles(n,t,s)}t.eofOffset=t.ptr;var h;e.inputOffset?(h=t.headerInfo.blobSize+e.inputOffset-t.ptr,Math.abs(h)>=1&&(t.eofOffset=e.inputOffset+t.headerInfo.blobSize)):(h=t.headerInfo.blobSize-t.ptr,Math.abs(h)>=1&&(t.eofOffset=t.headerInfo.blobSize));var c={width:i.width,height:i.height,pixelData:t.pixels.resultPixels,minValue:i.zMin,maxValue:i.zMax,validPixelCount:i.numValidPixel,dimCount:i.numDims,dimStats:{minValues:i.minValues,maxValues:i.maxValues},maskData:t.pixels.resultMask};if(t.pixels.resultMask&&V.isValidPixelValue(i.imageType,r)){var g=t.pixels.resultMask;for(a=0;a<u;a++)g[a]||(c.pixelData[a]=r);c.noDataValue=r}return t.noDataValue=r,e.returnFileInfo&&(c.fileInfo=V.formatFileInfo(t)),c}},getBandCount:function(n){var e=0,r=0,a={};for(a.ptr=0,a.pixels={};r<n.byteLength-58;)V.readHeaderInfo(n,a),r+=a.headerInfo.blobSize,e++,a.ptr=r;return e}};return X}(),C=function(){var A=new ArrayBuffer(4),V=new Uint8Array(A),b=new Uint32Array(A);return b[0]=1,V[0]===1}(),re={decode:function(A,V){if(!C)throw"Big endian system is not supported.";V=V||{};var b=V.inputOffset||0,X=new Uint8Array(A,b,10),n=String.fromCharCode.apply(null,X),e,r;if(n.trim()==="CntZImage")e=D,r=1;else if(n.substring(0,5)==="Lerc2")e=se,r=2;else throw"Unexpected file identifier string: "+n;for(var a=0,t=A.byteLength-10,i,o=[],s,u,m={width:0,height:0,pixels:[],pixelType:V.pixelType,mask:null,statistics:[]};b<t;){var l=e.decode(A,{inputOffset:b,encodedMaskData:i,maskData:u,returnMask:a===0,returnEncodedMask:a===0,returnFileInfo:!0,pixelType:V.pixelType||null,noDataValue:V.noDataValue||null});b=l.fileInfo.eofOffset,a===0&&(i=l.encodedMaskData,u=l.maskData,m.width=l.width,m.height=l.height,m.dimCount=l.dimCount||1,m.pixelType=l.pixelType||l.fileInfo.pixelType,m.mask=l.maskData),r>1&&l.fileInfo.mask&&l.fileInfo.mask.numBytes>0&&o.push(l.maskData),a++,m.pixels.push(l.pixelData),m.statistics.push({minValue:l.minValue,maxValue:l.maxValue,noDataValue:l.noDataValue,dimStats:l.dimStats})}var f,h,c;if(r>1&&o.length>1){for(c=m.width*m.height,m.bandMasks=o,u=new Uint8Array(c),u.set(o[0]),f=1;f<o.length;f++)for(s=o[f],h=0;h<c;h++)u[h]=u[h]&s[h];m.maskData=u}return m}};typeof define=="function"&&define.amd?define([],function(){return re}):typeof Te<"u"&&Te.exports?Te.exports=re:this.Lerc=re})()});var Ur={NONE:0,LERC:1},or=Object.freeze(Ur);var Q={};Q.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var Ye=new ie,Tr=new xe,kr=new ie,yr=new ie;Q.computeVertices=function(D){if(!G(D)||!G(D.heightmap))throw new he("options.heightmap is required.");if(!G(D.width)||!G(D.height))throw new he("options.width and options.height are required.");if(!G(D.nativeRectangle))throw new he("options.nativeRectangle is required.");if(!G(D.skirtHeight))throw new he("options.skirtHeight is required.");let se=Math.cos,C=Math.sin,re=Math.sqrt,A=Math.atan,V=Math.exp,b=ge.PI_OVER_TWO,X=ge.toRadians,n=D.heightmap,e=D.width,r=D.height,a=D.skirtHeight,t=a>0,i=Y(D.isGeographic,!0),o=Y(D.ellipsoid,Ie.default),s=1/o.maximumRadius,u=ae.clone(D.nativeRectangle),m=ae.clone(D.rectangle),l,f,h,c;G(m)?(l=m.west,f=m.south,h=m.east,c=m.north):i?(l=X(u.west),f=X(u.south),h=X(u.east),c=X(u.north)):(l=u.west*s,f=b-2*A(V(-u.south*s)),h=u.east*s,c=b-2*A(V(-u.north*s)));let g=D.relativeToCenter,v=G(g);g=v?g:ie.ZERO;let U=Y(D.includeWebMercatorT,!1),M=Y(D.exaggeration,1),S=Y(D.exaggerationRelativeHeight,0),k=M!==1,w=Y(D.structure,Q.DEFAULT_STRUCTURE),d=Y(w.heightScale,Q.DEFAULT_STRUCTURE.heightScale),x=Y(w.heightOffset,Q.DEFAULT_STRUCTURE.heightOffset),T=Y(w.elementsPerHeight,Q.DEFAULT_STRUCTURE.elementsPerHeight),y=Y(w.stride,Q.DEFAULT_STRUCTURE.stride),p=Y(w.elementMultiplier,Q.DEFAULT_STRUCTURE.elementMultiplier),L=Y(w.isBigEndian,Q.DEFAULT_STRUCTURE.isBigEndian),B=ae.computeWidth(u),E=ae.computeHeight(u),O=B/(e-1),F=E/(r-1);i||(B*=s,E*=s);let N=o.radiiSquared,z=N.x,ke=N.y,ye=N.z,J=65536,Z=-65536,ue=rr.eastNorthUpToFixedFrame(g,o),te=xe.inverseTransformation(ue,Tr),j,q;U&&(j=Ue.geodeticLatitudeToMercatorAngle(f),q=1/(Ue.geodeticLatitudeToMercatorAngle(c)-j));let fe=kr;fe.x=Number.POSITIVE_INFINITY,fe.y=Number.POSITIVE_INFINITY,fe.z=Number.POSITIVE_INFINITY;let oe=yr;oe.x=Number.NEGATIVE_INFINITY,oe.y=Number.NEGATIVE_INFINITY,oe.z=Number.NEGATIVE_INFINITY;let Me=Number.POSITIVE_INFINITY,ce=e*r,mr=a>0?e*2+r*2:0,ne=ce+mr,ve=new Array(ne),Xe=new Array(ne),_e=new Array(ne),ze=U?new Array(ne):[],Ze=k?new Array(ne):[],Se=0,Ve=r,De=0,Ae=e;t&&(--Se,++Ve,--De,++Ae);let de=1e-5;for(let H=Se;H<Ve;++H){let K=H;K<0&&(K=0),K>=r&&(K=r-1);let W=u.north-F*K;i?W=X(W):W=b-2*A(V(-W*s));let Le=(W-f)/(c-f);Le=ge.clamp(Le,0,1);let we=H===Se,pe=H===Ve-1;a>0&&(we?W+=de*E:pe&&(W-=de*E));let Qe=se(W),Be=C(W),Je=ye*Be,Ke;U&&(Ke=(Ue.geodeticLatitudeToMercatorAngle(W)-j)*q);for(let me=De;me<Ae;++me){let $=me;$<0&&($=0),$>=e&&($=e-1);let Fe=K*(e*y)+$*y,R;if(T===1)R=n[Fe];else{R=0;let _;if(L)for(_=0;_<T;++_)R=R*p+n[Fe+_];else for(_=T-1;_>=0;--_)R=R*p+n[Fe+_]}R=R*d+x,Z=Math.max(Z,R),J=Math.min(J,R);let P=u.west+O*$;i?P=X(P):P=P*s;let be=(P-l)/(h-l);be=ge.clamp(be,0,1);let ee=K*e+$;if(a>0){let _=me===De,Re=me===Ae-1,pr=we||pe||_||Re;if((we||pe)&&(_||Re))continue;pr&&(R-=a,_?(ee=ce+(r-K-1),P-=de*B):pe?ee=ce+r+(e-$-1):Re?(ee=ce+r+e+K,P+=de*B):we&&(ee=ce+r+e+r+$))}let Ne=Qe*se(P),Ce=Qe*C(P),$e=z*Ne,Pe=ke*Ce,Oe=1/re($e*Ne+Pe*Ce+Je*Be),vr=$e*Oe,dr=Pe*Oe,wr=Je*Oe,le=new ie;le.x=vr+Ne*R,le.y=dr+Ce*R,le.z=wr+Be*R,xe.multiplyByPoint(te,le,Ye),ie.minimumByComponent(Ye,fe,fe),ie.maximumByComponent(Ye,oe,oe),Me=Math.min(Me,R),ve[ee]=le,_e[ee]=new er(be,Le),Xe[ee]=R,U&&(ze[ee]=Ke),k&&(Ze[ee]=o.geodeticSurfaceNormal(le))}}let hr=ir.fromPoints(ve),je;G(m)&&(je=ar.fromRectangle(m,J,Z,o));let qe;v&&(qe=new sr(o).computeHorizonCullingPointPossiblyUnderEllipsoid(g,ve,J));let gr=new nr(fe,oe,g),Ee=new fr(g,gr,Me,Z,ue,!1,U,k,M,S),We=new Float32Array(ne*Ee.stride),Ge=0;for(let H=0;H<ne;++H)Ge=Ee.encode(We,Ge,ve[H],_e[H],Xe[H],void 0,ze[H],Ze[H]);return{vertices:We,maximumHeight:Z,minimumHeight:J,encoding:Ee,boundingSphere3D:hr,orientedBoundingBox:je,occludeePointInScaledSpace:qe}};var lr=Q;var cr=xr(ur(),1);function Mr(D,se){if(D.encoding===or.LERC){let A;try{A=cr.default.decode(D.heightmap)}catch(b){throw new He(b)}if(A.statistics[0].minValue===Number.MAX_VALUE)throw new He("Invalid tile data");D.heightmap=A.pixels[0],D.width=A.width,D.height=A.height}D.ellipsoid=Ie.clone(D.ellipsoid),D.rectangle=ae.clone(D.rectangle);let C=lr.computeVertices(D),re=C.vertices;return se.push(re.buffer),{vertices:re.buffer,numberOfAttributes:C.encoding.stride,minimumHeight:C.minimumHeight,maximumHeight:C.maximumHeight,gridWidth:D.width,gridHeight:D.height,boundingSphere3D:C.boundingSphere3D,orientedBoundingBox:C.orientedBoundingBox,occludeePointInScaledSpace:C.occludeePointInScaledSpace,encoding:C.encoding,westIndicesSouthToNorth:C.westIndicesSouthToNorth,southIndicesEastToWest:C.southIndicesEastToWest,eastIndicesNorthToSouth:C.eastIndicesNorthToSouth,northIndicesWestToEast:C.northIndicesWestToEast}}var Pr=tr(Mr);export{Pr as default}; diff --git a/public/lib/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js b/public/lib/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js index 769133534..7bb654ba1 100644 --- a/public/lib/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js +++ b/public/lib/Cesium/Workers/createVerticesFromQuantizedTerrainMesh.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as Ct,b as vt}from"./chunk-CU5VINVO.js";import{a as Mt}from"./chunk-JQWRUZSV.js";import{a as z}from"./chunk-ZPNGL6DU.js";import"./chunk-S5WIMI2N.js";import{a as Wt}from"./chunk-35ZH4J6R.js";import{a as X}from"./chunk-UGB43LJM.js";import"./chunk-4TXI27XR.js";import{b as U,g as bt,i as At}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as P,b as wt,c as lt,d as pt}from"./chunk-RFPX772U.js";import{a as f}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import{a as m}from"./chunk-6P5KAIBX.js";import{e as w}from"./chunk-4FSVUTPL.js";function T(){m.throwInstantiationError()}Object.defineProperties(T.prototype,{errorEvent:{get:m.throwInstantiationError},credit:{get:m.throwInstantiationError},tilingScheme:{get:m.throwInstantiationError},hasWaterMask:{get:m.throwInstantiationError},hasVertexNormals:{get:m.throwInstantiationError},availability:{get:m.throwInstantiationError}});var Ot=[];T.getRegularGridIndices=function(t,n){if(t*n>=f.FOUR_GIGABYTES)throw new m("The total number of vertices (width * height) must be less than 4,294,967,296.");let o=Ot[t];w(o)||(Ot[t]=o=[]);let e=o[n];return w(e)||(t*n<f.SIXTY_FOUR_KILOBYTES?e=o[n]=new Uint16Array((t-1)*(n-1)*6):e=o[n]=new Uint32Array((t-1)*(n-1)*6),Pt(t,n,e,0)),e};var Gt=[];T.getRegularGridIndicesAndEdgeIndices=function(t,n){if(t*n>=f.FOUR_GIGABYTES)throw new m("The total number of vertices (width * height) must be less than 4,294,967,296.");let o=Gt[t];w(o)||(Gt[t]=o=[]);let e=o[n];if(!w(e)){let r=T.getRegularGridIndices(t,n),s=Lt(t,n),i=s.westIndicesSouthToNorth,c=s.southIndicesEastToWest,h=s.eastIndicesNorthToSouth,E=s.northIndicesWestToEast;e=o[n]={indices:r,westIndicesSouthToNorth:i,southIndicesEastToWest:c,eastIndicesNorthToSouth:h,northIndicesWestToEast:E}}return e};var kt=[];T.getRegularGridAndSkirtIndicesAndEdgeIndices=function(t,n){if(t*n>=f.FOUR_GIGABYTES)throw new m("The total number of vertices (width * height) must be less than 4,294,967,296.");let o=kt[t];w(o)||(kt[t]=o=[]);let e=o[n];if(!w(e)){let r=t*n,s=(t-1)*(n-1)*6,i=t*2+n*2,c=Math.max(0,i-4)*6,h=r+i,E=s+c,g=Lt(t,n),d=g.westIndicesSouthToNorth,p=g.southIndicesEastToWest,b=g.eastIndicesNorthToSouth,L=g.northIndicesWestToEast,N=X.createTypedArray(h,E);Pt(t,n,N,0),T.addSkirtIndices(d,p,b,L,r,N,s),e=o[n]={indices:N,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:b,northIndicesWestToEast:L,indexCountWithoutSkirts:s}}return e};T.addSkirtIndices=function(t,n,o,e,r,s,i){let c=r;i=Z(t,c,s,i),c+=t.length,i=Z(n,c,s,i),c+=n.length,i=Z(o,c,s,i),c+=o.length,Z(e,c,s,i)};function Lt(t,n){let o=new Array(n),e=new Array(t),r=new Array(n),s=new Array(t),i;for(i=0;i<t;++i)s[i]=i,e[i]=t*n-1-i;for(i=0;i<n;++i)r[i]=(i+1)*t-1,o[i]=(n-i-1)*t;return{westIndicesSouthToNorth:o,southIndicesEastToWest:e,eastIndicesNorthToSouth:r,northIndicesWestToEast:s}}function Pt(t,n,o,e){let r=0;for(let s=0;s<n-1;++s){for(let i=0;i<t-1;++i){let c=r,h=c+t,E=h+1,g=c+1;o[e++]=c,o[e++]=h,o[e++]=g,o[e++]=g,o[e++]=h,o[e++]=E,++r}++r}}function Z(t,n,o,e){let r=t[0],s=t.length;for(let i=1;i<s;++i){let c=t[i];o[e++]=r,o[e++]=c,o[e++]=n,o[e++]=n,o[e++]=c,o[e++]=n+1,r=c,++n}return e}T.heightmapTerrainQuality=.25;T.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(t,n,o){return t.maximumRadius*2*Math.PI*T.heightmapTerrainQuality/(n*o)};T.prototype.requestTileGeometry=m.throwInstantiationError;T.prototype.getLevelMaximumGeometricError=m.throwInstantiationError;T.prototype.getTileDataAvailable=m.throwInstantiationError;T.prototype.loadTileDataAvailability=m.throwInstantiationError;var Vt=T;var ht=32767,D=new P,Xt=new P,Zt=new P,u=new wt,Y=new lt;function Jt(t,n){let o=t.quantizedVertices,e=o.length/3,r=t.octEncodedNormals,s=t.westIndices.length+t.eastIndices.length+t.southIndices.length+t.northIndices.length,i=t.includeWebMercatorT,c=t.exaggeration,h=t.exaggerationRelativeHeight,g=c!==1,d=At.clone(t.rectangle),p=d.west,b=d.south,L=d.east,N=d.north,I=pt.clone(t.ellipsoid),y=t.minimumHeight,v=t.maximumHeight,S=t.relativeToCenter,_=bt.eastNorthUpToFixedFrame(S,I),O=U.inverseTransformation(_,new U),G,A;i&&(G=z.geodeticLatitudeToMercatorAngle(b),A=1/(z.geodeticLatitudeToMercatorAngle(N)-G));let j=o.subarray(0,e),q=o.subarray(e,2*e),Q=o.subarray(e*2,3*e),R=w(r),l=new Array(e),M=new Array(e),et=new Array(e),It=i?new Array(e):[],gt=g?new Array(e):[],W=Xt;W.x=Number.POSITIVE_INFINITY,W.y=Number.POSITIVE_INFINITY,W.z=Number.POSITIVE_INFINITY;let C=Zt;C.x=Number.NEGATIVE_INFINITY,C.y=Number.NEGATIVE_INFINITY,C.z=Number.NEGATIVE_INFINITY;let ot=Number.POSITIVE_INFINITY,nt=Number.NEGATIVE_INFINITY,it=Number.POSITIVE_INFINITY,rt=Number.NEGATIVE_INFINITY;for(let a=0;a<e;++a){let x=j[a],Kt=q[a],St=x/ht,xt=Kt/ht,yt=f.lerp(y,v,Q[a]/ht);u.longitude=f.lerp(p,L,St),u.latitude=f.lerp(b,N,xt),u.height=yt,ot=Math.min(u.longitude,ot),nt=Math.max(u.longitude,nt),it=Math.min(u.latitude,it),rt=Math.max(u.latitude,rt);let dt=I.cartographicToCartesian(u);l[a]=new lt(St,xt),M[a]=yt,et[a]=dt,i&&(It[a]=(z.geodeticLatitudeToMercatorAngle(u.latitude)-G)*A),g&&(gt[a]=I.geodeticSurfaceNormal(dt)),U.multiplyByPoint(O,dt,D),P.minimumByComponent(D,W,W),P.maximumByComponent(D,C,C)}let st=tt(t.westIndices,function(a,x){return l[a].y-l[x].y}),ct=tt(t.eastIndices,function(a,x){return l[x].y-l[a].y}),at=tt(t.southIndices,function(a,x){return l[x].x-l[a].x}),ut=tt(t.northIndices,function(a,x){return l[a].x-l[x].x}),mt;y<0&&(mt=new Ct(I).computeHorizonCullingPointPossiblyUnderEllipsoid(S,et,y));let k=y;k=Math.min(k,J(t.westIndices,t.westSkirtHeight,M,l,d,I,O,W,C)),k=Math.min(k,J(t.southIndices,t.southSkirtHeight,M,l,d,I,O,W,C)),k=Math.min(k,J(t.eastIndices,t.eastSkirtHeight,M,l,d,I,O,W,C)),k=Math.min(k,J(t.northIndices,t.northSkirtHeight,M,l,d,I,O,W,C));let Ft=new Wt(W,C,S),V=new vt(S,Ft,k,v,_,R,i,g,c,h),F=V.stride,Bt=e*F+s*F,B=new Float32Array(Bt),ft=0;for(let a=0;a<e;++a){if(R){let x=a*2;Y.x=r[x],Y.y=r[x+1]}ft=V.encode(B,ft,et[a],l[a],M[a],Y,It[a],gt[a])}let Ht=Math.max(0,(s-4)*2),_t=t.indices.length+Ht*3,K=X.createTypedArray(e+s,_t);K.set(t.indices,0);let Tt=1e-4,Et=(nt-ot)*Tt,Nt=(rt-it)*Tt,Yt=-Et,Rt=0,Ut=Et,zt=0,Dt=0,jt=Nt,qt=0,Qt=-Nt,H=e*F;return $(B,H,st,V,M,l,r,I,d,t.westSkirtHeight,G,A,Yt,Rt),H+=t.westIndices.length*F,$(B,H,at,V,M,l,r,I,d,t.southSkirtHeight,G,A,qt,Qt),H+=t.southIndices.length*F,$(B,H,ct,V,M,l,r,I,d,t.eastSkirtHeight,G,A,Ut,zt),H+=t.eastIndices.length*F,$(B,H,ut,V,M,l,r,I,d,t.northSkirtHeight,G,A,Dt,jt),Vt.addSkirtIndices(st,at,ct,ut,e,K,t.indices.length),n.push(B.buffer,K.buffer),{vertices:B.buffer,indices:K.buffer,westIndicesSouthToNorth:st,southIndicesEastToWest:at,eastIndicesNorthToSouth:ct,northIndicesWestToEast:ut,vertexStride:F,center:S,minimumHeight:y,maximumHeight:v,occludeePointInScaledSpace:mt,encoding:V,indexCountWithoutSkirts:t.indices.length}}function J(t,n,o,e,r,s,i,c,h){let E=Number.POSITIVE_INFINITY,g=r.north,d=r.south,p=r.east,b=r.west;p<b&&(p+=f.TWO_PI);let L=t.length;for(let N=0;N<L;++N){let I=t[N],y=o[I],v=e[I];u.longitude=f.lerp(b,p,v.x),u.latitude=f.lerp(d,g,v.y),u.height=y-n;let S=s.cartographicToCartesian(u,D);U.multiplyByPoint(i,S,S),P.minimumByComponent(S,c,c),P.maximumByComponent(S,h,h),E=Math.min(E,u.height)}return E}function $(t,n,o,e,r,s,i,c,h,E,g,d,p,b){let L=w(i),N=h.north,I=h.south,y=h.east,v=h.west;y<v&&(y+=f.TWO_PI);let S=o.length;for(let _=0;_<S;++_){let O=o[_],G=r[O],A=s[O];u.longitude=f.lerp(v,y,A.x)+p,u.latitude=f.lerp(I,N,A.y)+b,u.height=G-E;let j=c.cartographicToCartesian(u,D);if(L){let R=O*2;Y.x=i[R],Y.y=i[R+1]}let q;e.hasWebMercatorT&&(q=(z.geodeticLatitudeToMercatorAngle(u.latitude)-g)*d);let Q;e.hasGeodeticSurfaceNormals&&(Q=c.geodeticSurfaceNormal(j)),n=e.encode(t,n,j,A,u.height,Y,q,Q)}}function tt(t,n){let o;return typeof t.slice=="function"&&(o=t.slice(),typeof o.sort!="function"&&(o=void 0)),w(o)||(o=Array.prototype.slice.call(t)),o.sort(n),o}var Se=Mt(Jt);export{Se as default}; +import{a as Ct,b as vt}from"./chunk-46LYVLGL.js";import{a as Mt}from"./chunk-YEUI4ZO2.js";import{a as z}from"./chunk-6IQVYEBD.js";import"./chunk-BMKF5JTH.js";import{a as Wt}from"./chunk-ULZ2QSU5.js";import{a as X}from"./chunk-A3VS2OZ2.js";import"./chunk-JLMPKQO4.js";import{b as U,g as bt,h as At}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as P,b as wt,c as lt,d as pt}from"./chunk-HWH6BBH6.js";import{a as f}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import{a as m}from"./chunk-4BGNE6LH.js";import{e as w}from"./chunk-OX5CTLXY.js";function T(){m.throwInstantiationError()}Object.defineProperties(T.prototype,{errorEvent:{get:m.throwInstantiationError},credit:{get:m.throwInstantiationError},tilingScheme:{get:m.throwInstantiationError},hasWaterMask:{get:m.throwInstantiationError},hasVertexNormals:{get:m.throwInstantiationError},availability:{get:m.throwInstantiationError}});var Ot=[];T.getRegularGridIndices=function(t,n){if(t*n>=f.FOUR_GIGABYTES)throw new m("The total number of vertices (width * height) must be less than 4,294,967,296.");let o=Ot[t];w(o)||(Ot[t]=o=[]);let e=o[n];return w(e)||(t*n<f.SIXTY_FOUR_KILOBYTES?e=o[n]=new Uint16Array((t-1)*(n-1)*6):e=o[n]=new Uint32Array((t-1)*(n-1)*6),Pt(t,n,e,0)),e};var Gt=[];T.getRegularGridIndicesAndEdgeIndices=function(t,n){if(t*n>=f.FOUR_GIGABYTES)throw new m("The total number of vertices (width * height) must be less than 4,294,967,296.");let o=Gt[t];w(o)||(Gt[t]=o=[]);let e=o[n];if(!w(e)){let r=T.getRegularGridIndices(t,n),s=Lt(t,n),i=s.westIndicesSouthToNorth,c=s.southIndicesEastToWest,h=s.eastIndicesNorthToSouth,E=s.northIndicesWestToEast;e=o[n]={indices:r,westIndicesSouthToNorth:i,southIndicesEastToWest:c,eastIndicesNorthToSouth:h,northIndicesWestToEast:E}}return e};var kt=[];T.getRegularGridAndSkirtIndicesAndEdgeIndices=function(t,n){if(t*n>=f.FOUR_GIGABYTES)throw new m("The total number of vertices (width * height) must be less than 4,294,967,296.");let o=kt[t];w(o)||(kt[t]=o=[]);let e=o[n];if(!w(e)){let r=t*n,s=(t-1)*(n-1)*6,i=t*2+n*2,c=Math.max(0,i-4)*6,h=r+i,E=s+c,g=Lt(t,n),d=g.westIndicesSouthToNorth,p=g.southIndicesEastToWest,b=g.eastIndicesNorthToSouth,L=g.northIndicesWestToEast,N=X.createTypedArray(h,E);Pt(t,n,N,0),T.addSkirtIndices(d,p,b,L,r,N,s),e=o[n]={indices:N,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:b,northIndicesWestToEast:L,indexCountWithoutSkirts:s}}return e};T.addSkirtIndices=function(t,n,o,e,r,s,i){let c=r;i=Z(t,c,s,i),c+=t.length,i=Z(n,c,s,i),c+=n.length,i=Z(o,c,s,i),c+=o.length,Z(e,c,s,i)};function Lt(t,n){let o=new Array(n),e=new Array(t),r=new Array(n),s=new Array(t),i;for(i=0;i<t;++i)s[i]=i,e[i]=t*n-1-i;for(i=0;i<n;++i)r[i]=(i+1)*t-1,o[i]=(n-i-1)*t;return{westIndicesSouthToNorth:o,southIndicesEastToWest:e,eastIndicesNorthToSouth:r,northIndicesWestToEast:s}}function Pt(t,n,o,e){let r=0;for(let s=0;s<n-1;++s){for(let i=0;i<t-1;++i){let c=r,h=c+t,E=h+1,g=c+1;o[e++]=c,o[e++]=h,o[e++]=g,o[e++]=g,o[e++]=h,o[e++]=E,++r}++r}}function Z(t,n,o,e){let r=t[0],s=t.length;for(let i=1;i<s;++i){let c=t[i];o[e++]=r,o[e++]=c,o[e++]=n,o[e++]=n,o[e++]=c,o[e++]=n+1,r=c,++n}return e}T.heightmapTerrainQuality=.25;T.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(t,n,o){return t.maximumRadius*2*Math.PI*T.heightmapTerrainQuality/(n*o)};T.prototype.requestTileGeometry=m.throwInstantiationError;T.prototype.getLevelMaximumGeometricError=m.throwInstantiationError;T.prototype.getTileDataAvailable=m.throwInstantiationError;T.prototype.loadTileDataAvailability=m.throwInstantiationError;var Vt=T;var ht=32767,D=new P,Xt=new P,Zt=new P,u=new wt,Y=new lt;function Jt(t,n){let o=t.quantizedVertices,e=o.length/3,r=t.octEncodedNormals,s=t.westIndices.length+t.eastIndices.length+t.southIndices.length+t.northIndices.length,i=t.includeWebMercatorT,c=t.exaggeration,h=t.exaggerationRelativeHeight,g=c!==1,d=At.clone(t.rectangle),p=d.west,b=d.south,L=d.east,N=d.north,I=pt.clone(t.ellipsoid),y=t.minimumHeight,v=t.maximumHeight,S=t.relativeToCenter,_=bt.eastNorthUpToFixedFrame(S,I),O=U.inverseTransformation(_,new U),G,A;i&&(G=z.geodeticLatitudeToMercatorAngle(b),A=1/(z.geodeticLatitudeToMercatorAngle(N)-G));let j=o.subarray(0,e),q=o.subarray(e,2*e),Q=o.subarray(e*2,3*e),R=w(r),l=new Array(e),M=new Array(e),et=new Array(e),It=i?new Array(e):[],gt=g?new Array(e):[],W=Xt;W.x=Number.POSITIVE_INFINITY,W.y=Number.POSITIVE_INFINITY,W.z=Number.POSITIVE_INFINITY;let C=Zt;C.x=Number.NEGATIVE_INFINITY,C.y=Number.NEGATIVE_INFINITY,C.z=Number.NEGATIVE_INFINITY;let ot=Number.POSITIVE_INFINITY,nt=Number.NEGATIVE_INFINITY,it=Number.POSITIVE_INFINITY,rt=Number.NEGATIVE_INFINITY;for(let a=0;a<e;++a){let x=j[a],Kt=q[a],St=x/ht,xt=Kt/ht,yt=f.lerp(y,v,Q[a]/ht);u.longitude=f.lerp(p,L,St),u.latitude=f.lerp(b,N,xt),u.height=yt,ot=Math.min(u.longitude,ot),nt=Math.max(u.longitude,nt),it=Math.min(u.latitude,it),rt=Math.max(u.latitude,rt);let dt=I.cartographicToCartesian(u);l[a]=new lt(St,xt),M[a]=yt,et[a]=dt,i&&(It[a]=(z.geodeticLatitudeToMercatorAngle(u.latitude)-G)*A),g&&(gt[a]=I.geodeticSurfaceNormal(dt)),U.multiplyByPoint(O,dt,D),P.minimumByComponent(D,W,W),P.maximumByComponent(D,C,C)}let st=tt(t.westIndices,function(a,x){return l[a].y-l[x].y}),ct=tt(t.eastIndices,function(a,x){return l[x].y-l[a].y}),at=tt(t.southIndices,function(a,x){return l[x].x-l[a].x}),ut=tt(t.northIndices,function(a,x){return l[a].x-l[x].x}),mt;y<0&&(mt=new Ct(I).computeHorizonCullingPointPossiblyUnderEllipsoid(S,et,y));let k=y;k=Math.min(k,J(t.westIndices,t.westSkirtHeight,M,l,d,I,O,W,C)),k=Math.min(k,J(t.southIndices,t.southSkirtHeight,M,l,d,I,O,W,C)),k=Math.min(k,J(t.eastIndices,t.eastSkirtHeight,M,l,d,I,O,W,C)),k=Math.min(k,J(t.northIndices,t.northSkirtHeight,M,l,d,I,O,W,C));let Ft=new Wt(W,C,S),V=new vt(S,Ft,k,v,_,R,i,g,c,h),F=V.stride,Bt=e*F+s*F,B=new Float32Array(Bt),ft=0;for(let a=0;a<e;++a){if(R){let x=a*2;Y.x=r[x],Y.y=r[x+1]}ft=V.encode(B,ft,et[a],l[a],M[a],Y,It[a],gt[a])}let Ht=Math.max(0,(s-4)*2),_t=t.indices.length+Ht*3,K=X.createTypedArray(e+s,_t);K.set(t.indices,0);let Tt=1e-4,Et=(nt-ot)*Tt,Nt=(rt-it)*Tt,Yt=-Et,Rt=0,Ut=Et,zt=0,Dt=0,jt=Nt,qt=0,Qt=-Nt,H=e*F;return $(B,H,st,V,M,l,r,I,d,t.westSkirtHeight,G,A,Yt,Rt),H+=t.westIndices.length*F,$(B,H,at,V,M,l,r,I,d,t.southSkirtHeight,G,A,qt,Qt),H+=t.southIndices.length*F,$(B,H,ct,V,M,l,r,I,d,t.eastSkirtHeight,G,A,Ut,zt),H+=t.eastIndices.length*F,$(B,H,ut,V,M,l,r,I,d,t.northSkirtHeight,G,A,Dt,jt),Vt.addSkirtIndices(st,at,ct,ut,e,K,t.indices.length),n.push(B.buffer,K.buffer),{vertices:B.buffer,indices:K.buffer,westIndicesSouthToNorth:st,southIndicesEastToWest:at,eastIndicesNorthToSouth:ct,northIndicesWestToEast:ut,vertexStride:F,center:S,minimumHeight:y,maximumHeight:v,occludeePointInScaledSpace:mt,encoding:V,indexCountWithoutSkirts:t.indices.length}}function J(t,n,o,e,r,s,i,c,h){let E=Number.POSITIVE_INFINITY,g=r.north,d=r.south,p=r.east,b=r.west;p<b&&(p+=f.TWO_PI);let L=t.length;for(let N=0;N<L;++N){let I=t[N],y=o[I],v=e[I];u.longitude=f.lerp(b,p,v.x),u.latitude=f.lerp(d,g,v.y),u.height=y-n;let S=s.cartographicToCartesian(u,D);U.multiplyByPoint(i,S,S),P.minimumByComponent(S,c,c),P.maximumByComponent(S,h,h),E=Math.min(E,u.height)}return E}function $(t,n,o,e,r,s,i,c,h,E,g,d,p,b){let L=w(i),N=h.north,I=h.south,y=h.east,v=h.west;y<v&&(y+=f.TWO_PI);let S=o.length;for(let _=0;_<S;++_){let O=o[_],G=r[O],A=s[O];u.longitude=f.lerp(v,y,A.x)+p,u.latitude=f.lerp(I,N,A.y)+b,u.height=G-E;let j=c.cartographicToCartesian(u,D);if(L){let R=O*2;Y.x=i[R],Y.y=i[R+1]}let q;e.hasWebMercatorT&&(q=(z.geodeticLatitudeToMercatorAngle(u.latitude)-g)*d);let Q;e.hasGeodeticSurfaceNormals&&(Q=c.geodeticSurfaceNormal(j)),n=e.encode(t,n,j,A,u.height,Y,q,Q)}}function tt(t,n){let o;return typeof t.slice=="function"&&(o=t.slice(),typeof o.sort!="function"&&(o=void 0)),w(o)||(o=Array.prototype.slice.call(t)),o.sort(n),o}var Se=Mt(Jt);export{Se as default}; diff --git a/public/lib/Cesium/Workers/createWallGeometry.js b/public/lib/Cesium/Workers/createWallGeometry.js index 9b75dc0ce..74b426d80 100644 --- a/public/lib/Cesium/Workers/createWallGeometry.js +++ b/public/lib/Cesium/Workers/createWallGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as nt}from"./chunk-HBXZQO7G.js";import"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import{a as _}from"./chunk-6YAFAZVV.js";import"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as ot}from"./chunk-UGB43LJM.js";import{a as it}from"./chunk-WFZLZ2P5.js";import{b as tt,c as et,d as S}from"./chunk-CTEHZS7O.js";import{d as I}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as R}from"./chunk-27UWHT4D.js";import{a as s,d as l}from"./chunk-RFPX772U.js";import{a as J}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as w}from"./chunk-6KLVDWWE.js";import{a as P}from"./chunk-6P5KAIBX.js";import{e as r}from"./chunk-4FSVUTPL.js";var Q=new s,Y=new s,lt=new s,st=new s,pt=new s,ut=new s,ft=new s;function k(t){t=w(t,w.EMPTY_OBJECT);let e=t.positions,o=t.maximumHeights,n=t.minimumHeights;if(!r(e))throw new P("options.positions is required.");if(r(o)&&o.length!==e.length)throw new P("options.positions and options.maximumHeights must have the same length.");if(r(n)&&n.length!==e.length)throw new P("options.positions and options.minimumHeights must have the same length.");let i=w(t.vertexFormat,_.DEFAULT),c=w(t.granularity,J.RADIANS_PER_DEGREE),a=w(t.ellipsoid,l.default);this._positions=e,this._minimumHeights=n,this._maximumHeights=o,this._vertexFormat=_.clone(i),this._granularity=c,this._ellipsoid=l.clone(a),this._workerName="createWallGeometry";let m=1+e.length*s.packedLength+2;r(n)&&(m+=n.length),r(o)&&(m+=o.length),this.packedLength=m+l.packedLength+_.packedLength+1}k.pack=function(t,e,o){if(!r(t))throw new P("value is required");if(!r(e))throw new P("array is required");o=w(o,0);let n,i=t._positions,c=i.length;for(e[o++]=c,n=0;n<c;++n,o+=s.packedLength)s.pack(i[n],e,o);let a=t._minimumHeights;if(c=r(a)?a.length:0,e[o++]=c,r(a))for(n=0;n<c;++n)e[o++]=a[n];let m=t._maximumHeights;if(c=r(m)?m.length:0,e[o++]=c,r(m))for(n=0;n<c;++n)e[o++]=m[n];return l.pack(t._ellipsoid,e,o),o+=l.packedLength,_.pack(t._vertexFormat,e,o),o+=_.packedLength,e[o]=t._granularity,e};var mt=l.clone(l.UNIT_SPHERE),rt=new _,V={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:mt,vertexFormat:rt,granularity:void 0};k.unpack=function(t,e,o){if(!r(t))throw new P("array is required");e=w(e,0);let n,i=t[e++],c=new Array(i);for(n=0;n<i;++n,e+=s.packedLength)c[n]=s.unpack(t,e);i=t[e++];let a;if(i>0)for(a=new Array(i),n=0;n<i;++n)a[n]=t[e++];i=t[e++];let m;if(i>0)for(m=new Array(i),n=0;n<i;++n)m[n]=t[e++];let q=l.unpack(t,e,mt);e+=l.packedLength;let H=_.unpack(t,e,rt);e+=_.packedLength;let f=t[e];return r(o)?(o._positions=c,o._minimumHeights=a,o._maximumHeights=m,o._ellipsoid=l.clone(q,o._ellipsoid),o._vertexFormat=_.clone(H,o._vertexFormat),o._granularity=f,o):(V.positions=c,V.minimumHeights=a,V.maximumHeights=m,V.granularity=f,new k(V))};k.fromConstantHeights=function(t){t=w(t,w.EMPTY_OBJECT);let e=t.positions;if(!r(e))throw new P("options.positions is required.");let o,n,i=t.minimumHeight,c=t.maximumHeight,a=r(i),m=r(c);if(a||m){let H=e.length;o=a?new Array(H):void 0,n=m?new Array(H):void 0;for(let f=0;f<H;++f)a&&(o[f]=i),m&&(n[f]=c)}let q={positions:e,maximumHeights:n,minimumHeights:o,ellipsoid:t.ellipsoid,vertexFormat:t.vertexFormat};return new k(q)};k.createGeometry=function(t){let e=t._positions,o=t._minimumHeights,n=t._maximumHeights,i=t._vertexFormat,c=t._granularity,a=t._ellipsoid,m=nt.computePositions(a,e,n,o,c,!0);if(!r(m))return;let q=m.bottomPositions,H=m.topPositions,f=m.numCorners,B=H.length,y=B*2,h=i.position?new Float64Array(y):void 0,b=i.normal?new Float32Array(y):void 0,x=i.tangent?new Float32Array(y):void 0,F=i.bitangent?new Float32Array(y):void 0,M=i.st?new Float32Array(y/3*2):void 0,v=0,T=0,C=0,z=0,W=0,g=ft,d=ut,A=pt,Z=!0;B/=3;let p,j=0,ct=1/(B-f-1);for(p=0;p<B;++p){let E=p*3,u=s.fromArray(H,E,Q),U=s.fromArray(q,E,Y);if(i.position&&(h[v++]=U.x,h[v++]=U.y,h[v++]=U.z,h[v++]=u.x,h[v++]=u.y,h[v++]=u.z),i.st&&(M[W++]=j,M[W++]=0,M[W++]=j,M[W++]=1),i.normal||i.tangent||i.bitangent){let N=s.clone(s.ZERO,st),K=s.subtract(u,a.geodeticSurfaceNormal(u,Y),Y);if(p+1<B&&(N=s.fromArray(H,E+3,st)),Z){let G=s.subtract(N,u,lt),at=s.subtract(K,u,Q);g=s.normalize(s.cross(at,G,g),g),Z=!1}s.equalsEpsilon(u,N,J.EPSILON10)?Z=!0:(j+=ct,i.tangent&&(d=s.normalize(s.subtract(N,u,d),d)),i.bitangent&&(A=s.normalize(s.cross(g,d,A),A))),i.normal&&(b[T++]=g.x,b[T++]=g.y,b[T++]=g.z,b[T++]=g.x,b[T++]=g.y,b[T++]=g.z),i.tangent&&(x[z++]=d.x,x[z++]=d.y,x[z++]=d.z,x[z++]=d.x,x[z++]=d.y,x[z++]=d.z),i.bitangent&&(F[C++]=A.x,F[C++]=A.y,F[C++]=A.z,F[C++]=A.x,F[C++]=A.y,F[C++]=A.z)}}let D=new it;i.position&&(D.position=new S({componentDatatype:R.DOUBLE,componentsPerAttribute:3,values:h})),i.normal&&(D.normal=new S({componentDatatype:R.FLOAT,componentsPerAttribute:3,values:b})),i.tangent&&(D.tangent=new S({componentDatatype:R.FLOAT,componentsPerAttribute:3,values:x})),i.bitangent&&(D.bitangent=new S({componentDatatype:R.FLOAT,componentsPerAttribute:3,values:F})),i.st&&(D.st=new S({componentDatatype:R.FLOAT,componentsPerAttribute:2,values:M}));let $=y/3;y-=6*(f+1);let L=ot.createTypedArray($,y),O=0;for(p=0;p<$-2;p+=2){let E=p,u=p+2,U=s.fromArray(h,E*3,Q),N=s.fromArray(h,u*3,Y);if(s.equalsEpsilon(U,N,J.EPSILON10))continue;let K=p+1,G=p+3;L[O++]=K,L[O++]=E,L[O++]=G,L[O++]=G,L[O++]=E,L[O++]=u}return new et({attributes:D,indices:L,primitiveType:tt.TRIANGLES,boundingSphere:new I.fromVertices(h)})};var X=k;function ht(t,e){return r(e)&&(t=X.unpack(t,e)),t._ellipsoid=l.clone(t._ellipsoid),X.createGeometry(t)}var Ot=ht;export{Ot as default}; +import{a as nt}from"./chunk-HPB3ARQJ.js";import"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import{a as _}from"./chunk-RPAJTIFB.js";import"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as ot}from"./chunk-A3VS2OZ2.js";import{a as it}from"./chunk-E2XIHPTZ.js";import{b as tt,c as et,d as S}from"./chunk-72NMS5KE.js";import{d as I}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as R}from"./chunk-GNTVNTUY.js";import{a as s,d as l}from"./chunk-HWH6BBH6.js";import{a as J}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as w}from"./chunk-CJFJKB5V.js";import{a as P}from"./chunk-4BGNE6LH.js";import{e as r}from"./chunk-OX5CTLXY.js";var Q=new s,Y=new s,lt=new s,st=new s,pt=new s,ut=new s,ft=new s;function k(t){t=w(t,w.EMPTY_OBJECT);let e=t.positions,o=t.maximumHeights,n=t.minimumHeights;if(!r(e))throw new P("options.positions is required.");if(r(o)&&o.length!==e.length)throw new P("options.positions and options.maximumHeights must have the same length.");if(r(n)&&n.length!==e.length)throw new P("options.positions and options.minimumHeights must have the same length.");let i=w(t.vertexFormat,_.DEFAULT),c=w(t.granularity,J.RADIANS_PER_DEGREE),a=w(t.ellipsoid,l.default);this._positions=e,this._minimumHeights=n,this._maximumHeights=o,this._vertexFormat=_.clone(i),this._granularity=c,this._ellipsoid=l.clone(a),this._workerName="createWallGeometry";let m=1+e.length*s.packedLength+2;r(n)&&(m+=n.length),r(o)&&(m+=o.length),this.packedLength=m+l.packedLength+_.packedLength+1}k.pack=function(t,e,o){if(!r(t))throw new P("value is required");if(!r(e))throw new P("array is required");o=w(o,0);let n,i=t._positions,c=i.length;for(e[o++]=c,n=0;n<c;++n,o+=s.packedLength)s.pack(i[n],e,o);let a=t._minimumHeights;if(c=r(a)?a.length:0,e[o++]=c,r(a))for(n=0;n<c;++n)e[o++]=a[n];let m=t._maximumHeights;if(c=r(m)?m.length:0,e[o++]=c,r(m))for(n=0;n<c;++n)e[o++]=m[n];return l.pack(t._ellipsoid,e,o),o+=l.packedLength,_.pack(t._vertexFormat,e,o),o+=_.packedLength,e[o]=t._granularity,e};var mt=l.clone(l.UNIT_SPHERE),rt=new _,V={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:mt,vertexFormat:rt,granularity:void 0};k.unpack=function(t,e,o){if(!r(t))throw new P("array is required");e=w(e,0);let n,i=t[e++],c=new Array(i);for(n=0;n<i;++n,e+=s.packedLength)c[n]=s.unpack(t,e);i=t[e++];let a;if(i>0)for(a=new Array(i),n=0;n<i;++n)a[n]=t[e++];i=t[e++];let m;if(i>0)for(m=new Array(i),n=0;n<i;++n)m[n]=t[e++];let q=l.unpack(t,e,mt);e+=l.packedLength;let H=_.unpack(t,e,rt);e+=_.packedLength;let f=t[e];return r(o)?(o._positions=c,o._minimumHeights=a,o._maximumHeights=m,o._ellipsoid=l.clone(q,o._ellipsoid),o._vertexFormat=_.clone(H,o._vertexFormat),o._granularity=f,o):(V.positions=c,V.minimumHeights=a,V.maximumHeights=m,V.granularity=f,new k(V))};k.fromConstantHeights=function(t){t=w(t,w.EMPTY_OBJECT);let e=t.positions;if(!r(e))throw new P("options.positions is required.");let o,n,i=t.minimumHeight,c=t.maximumHeight,a=r(i),m=r(c);if(a||m){let H=e.length;o=a?new Array(H):void 0,n=m?new Array(H):void 0;for(let f=0;f<H;++f)a&&(o[f]=i),m&&(n[f]=c)}let q={positions:e,maximumHeights:n,minimumHeights:o,ellipsoid:t.ellipsoid,vertexFormat:t.vertexFormat};return new k(q)};k.createGeometry=function(t){let e=t._positions,o=t._minimumHeights,n=t._maximumHeights,i=t._vertexFormat,c=t._granularity,a=t._ellipsoid,m=nt.computePositions(a,e,n,o,c,!0);if(!r(m))return;let q=m.bottomPositions,H=m.topPositions,f=m.numCorners,B=H.length,y=B*2,h=i.position?new Float64Array(y):void 0,b=i.normal?new Float32Array(y):void 0,x=i.tangent?new Float32Array(y):void 0,F=i.bitangent?new Float32Array(y):void 0,M=i.st?new Float32Array(y/3*2):void 0,v=0,T=0,C=0,z=0,W=0,g=ft,d=ut,A=pt,Z=!0;B/=3;let p,j=0,ct=1/(B-f-1);for(p=0;p<B;++p){let E=p*3,u=s.fromArray(H,E,Q),U=s.fromArray(q,E,Y);if(i.position&&(h[v++]=U.x,h[v++]=U.y,h[v++]=U.z,h[v++]=u.x,h[v++]=u.y,h[v++]=u.z),i.st&&(M[W++]=j,M[W++]=0,M[W++]=j,M[W++]=1),i.normal||i.tangent||i.bitangent){let N=s.clone(s.ZERO,st),K=s.subtract(u,a.geodeticSurfaceNormal(u,Y),Y);if(p+1<B&&(N=s.fromArray(H,E+3,st)),Z){let G=s.subtract(N,u,lt),at=s.subtract(K,u,Q);g=s.normalize(s.cross(at,G,g),g),Z=!1}s.equalsEpsilon(u,N,J.EPSILON10)?Z=!0:(j+=ct,i.tangent&&(d=s.normalize(s.subtract(N,u,d),d)),i.bitangent&&(A=s.normalize(s.cross(g,d,A),A))),i.normal&&(b[T++]=g.x,b[T++]=g.y,b[T++]=g.z,b[T++]=g.x,b[T++]=g.y,b[T++]=g.z),i.tangent&&(x[z++]=d.x,x[z++]=d.y,x[z++]=d.z,x[z++]=d.x,x[z++]=d.y,x[z++]=d.z),i.bitangent&&(F[C++]=A.x,F[C++]=A.y,F[C++]=A.z,F[C++]=A.x,F[C++]=A.y,F[C++]=A.z)}}let D=new it;i.position&&(D.position=new S({componentDatatype:R.DOUBLE,componentsPerAttribute:3,values:h})),i.normal&&(D.normal=new S({componentDatatype:R.FLOAT,componentsPerAttribute:3,values:b})),i.tangent&&(D.tangent=new S({componentDatatype:R.FLOAT,componentsPerAttribute:3,values:x})),i.bitangent&&(D.bitangent=new S({componentDatatype:R.FLOAT,componentsPerAttribute:3,values:F})),i.st&&(D.st=new S({componentDatatype:R.FLOAT,componentsPerAttribute:2,values:M}));let $=y/3;y-=6*(f+1);let L=ot.createTypedArray($,y),O=0;for(p=0;p<$-2;p+=2){let E=p,u=p+2,U=s.fromArray(h,E*3,Q),N=s.fromArray(h,u*3,Y);if(s.equalsEpsilon(U,N,J.EPSILON10))continue;let K=p+1,G=p+3;L[O++]=K,L[O++]=E,L[O++]=G,L[O++]=G,L[O++]=E,L[O++]=u}return new et({attributes:D,indices:L,primitiveType:tt.TRIANGLES,boundingSphere:new I.fromVertices(h)})};var X=k;function ht(t,e){return r(e)&&(t=X.unpack(t,e)),t._ellipsoid=l.clone(t._ellipsoid),X.createGeometry(t)}var Ot=ht;export{Ot as default}; diff --git a/public/lib/Cesium/Workers/createWallOutlineGeometry.js b/public/lib/Cesium/Workers/createWallOutlineGeometry.js index a38cb37cb..34b8468b4 100644 --- a/public/lib/Cesium/Workers/createWallOutlineGeometry.js +++ b/public/lib/Cesium/Workers/createWallOutlineGeometry.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as B}from"./chunk-HBXZQO7G.js";import"./chunk-BUNDO2NJ.js";import"./chunk-ZYB4DKDQ.js";import"./chunk-ZIUWYBT3.js";import"./chunk-45FCQ3FJ.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as W}from"./chunk-UGB43LJM.js";import{a as N}from"./chunk-WFZLZ2P5.js";import{b as R,c as S,d as M}from"./chunk-CTEHZS7O.js";import{d as D}from"./chunk-4TXI27XR.js";import"./chunk-GFUBU5RD.js";import{a as q}from"./chunk-27UWHT4D.js";import{a as p,d as l}from"./chunk-RFPX772U.js";import{a as O}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import{a as d}from"./chunk-6KLVDWWE.js";import{a as _}from"./chunk-6P5KAIBX.js";import{e as m}from"./chunk-4FSVUTPL.js";var U=new p,z=new p;function w(i){i=d(i,d.EMPTY_OBJECT);let t=i.positions,e=i.maximumHeights,o=i.minimumHeights;if(!m(t))throw new _("options.positions is required.");if(m(e)&&e.length!==t.length)throw new _("options.positions and options.maximumHeights must have the same length.");if(m(o)&&o.length!==t.length)throw new _("options.positions and options.minimumHeights must have the same length.");let s=d(i.granularity,O.RADIANS_PER_DEGREE),r=d(i.ellipsoid,l.default);this._positions=t,this._minimumHeights=o,this._maximumHeights=e,this._granularity=s,this._ellipsoid=l.clone(r),this._workerName="createWallOutlineGeometry";let n=1+t.length*p.packedLength+2;m(o)&&(n+=o.length),m(e)&&(n+=e.length),this.packedLength=n+l.packedLength+1}w.pack=function(i,t,e){if(!m(i))throw new _("value is required");if(!m(t))throw new _("array is required");e=d(e,0);let o,s=i._positions,r=s.length;for(t[e++]=r,o=0;o<r;++o,e+=p.packedLength)p.pack(s[o],t,e);let n=i._minimumHeights;if(r=m(n)?n.length:0,t[e++]=r,m(n))for(o=0;o<r;++o)t[e++]=n[o];let c=i._maximumHeights;if(r=m(c)?c.length:0,t[e++]=r,m(c))for(o=0;o<r;++o)t[e++]=c[o];return l.pack(i._ellipsoid,t,e),e+=l.packedLength,t[e]=i._granularity,t};var G=l.clone(l.UNIT_SPHERE),b={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:G,granularity:void 0};w.unpack=function(i,t,e){if(!m(i))throw new _("array is required");t=d(t,0);let o,s=i[t++],r=new Array(s);for(o=0;o<s;++o,t+=p.packedLength)r[o]=p.unpack(i,t);s=i[t++];let n;if(s>0)for(n=new Array(s),o=0;o<s;++o)n[o]=i[t++];s=i[t++];let c;if(s>0)for(c=new Array(s),o=0;o<s;++o)c[o]=i[t++];let E=l.unpack(i,t,G);t+=l.packedLength;let u=i[t];return m(e)?(e._positions=r,e._minimumHeights=n,e._maximumHeights=c,e._ellipsoid=l.clone(E,e._ellipsoid),e._granularity=u,e):(b.positions=r,b.minimumHeights=n,b.maximumHeights=c,b.granularity=u,new w(b))};w.fromConstantHeights=function(i){i=d(i,d.EMPTY_OBJECT);let t=i.positions;if(!m(t))throw new _("options.positions is required.");let e,o,s=i.minimumHeight,r=i.maximumHeight,n=m(s),c=m(r);if(n||c){let u=t.length;e=n?new Array(u):void 0,o=c?new Array(u):void 0;for(let a=0;a<u;++a)n&&(e[a]=s),c&&(o[a]=r)}let E={positions:t,maximumHeights:o,minimumHeights:e,ellipsoid:i.ellipsoid};return new w(E)};w.createGeometry=function(i){let t=i._positions,e=i._minimumHeights,o=i._maximumHeights,s=i._granularity,r=i._ellipsoid,n=B.computePositions(r,t,o,e,s,!1);if(!m(n))return;let c=n.bottomPositions,E=n.topPositions,u=E.length,a=u*2,f=new Float64Array(a),P=0;u/=3;let h;for(h=0;h<u;++h){let A=h*3,k=p.fromArray(E,A,U),L=p.fromArray(c,A,z);f[P++]=L.x,f[P++]=L.y,f[P++]=L.z,f[P++]=k.x,f[P++]=k.y,f[P++]=k.z}let V=new N({position:new M({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:f})}),y=a/3;a=2*y-4+y;let g=W.createTypedArray(y,a),H=0;for(h=0;h<y-2;h+=2){let A=h,k=h+2,L=p.fromArray(f,A*3,U),v=p.fromArray(f,k*3,z);if(p.equalsEpsilon(L,v,O.EPSILON10))continue;let T=h+1,x=h+3;g[H++]=T,g[H++]=A,g[H++]=T,g[H++]=x,g[H++]=A,g[H++]=k}return g[H++]=y-2,g[H++]=y-1,new S({attributes:V,indices:g,primitiveType:R.LINES,boundingSphere:new D.fromVertices(f)})};var C=w;function J(i,t){return m(t)&&(i=C.unpack(i,t)),i._ellipsoid=l.clone(i._ellipsoid),C.createGeometry(i)}var pi=J;export{pi as default}; +import{a as B}from"./chunk-HPB3ARQJ.js";import"./chunk-4ULMZV5R.js";import"./chunk-5CZH3YOM.js";import"./chunk-M2TWLQFJ.js";import"./chunk-44LKXGXW.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as W}from"./chunk-A3VS2OZ2.js";import{a as N}from"./chunk-E2XIHPTZ.js";import{b as R,c as S,d as M}from"./chunk-72NMS5KE.js";import{d as D}from"./chunk-JLMPKQO4.js";import"./chunk-2K72IAMD.js";import{a as q}from"./chunk-GNTVNTUY.js";import{a as p,d as l}from"./chunk-HWH6BBH6.js";import{a as O}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import{a as d}from"./chunk-CJFJKB5V.js";import{a as _}from"./chunk-4BGNE6LH.js";import{e as m}from"./chunk-OX5CTLXY.js";var U=new p,z=new p;function w(i){i=d(i,d.EMPTY_OBJECT);let t=i.positions,e=i.maximumHeights,o=i.minimumHeights;if(!m(t))throw new _("options.positions is required.");if(m(e)&&e.length!==t.length)throw new _("options.positions and options.maximumHeights must have the same length.");if(m(o)&&o.length!==t.length)throw new _("options.positions and options.minimumHeights must have the same length.");let s=d(i.granularity,O.RADIANS_PER_DEGREE),r=d(i.ellipsoid,l.default);this._positions=t,this._minimumHeights=o,this._maximumHeights=e,this._granularity=s,this._ellipsoid=l.clone(r),this._workerName="createWallOutlineGeometry";let n=1+t.length*p.packedLength+2;m(o)&&(n+=o.length),m(e)&&(n+=e.length),this.packedLength=n+l.packedLength+1}w.pack=function(i,t,e){if(!m(i))throw new _("value is required");if(!m(t))throw new _("array is required");e=d(e,0);let o,s=i._positions,r=s.length;for(t[e++]=r,o=0;o<r;++o,e+=p.packedLength)p.pack(s[o],t,e);let n=i._minimumHeights;if(r=m(n)?n.length:0,t[e++]=r,m(n))for(o=0;o<r;++o)t[e++]=n[o];let c=i._maximumHeights;if(r=m(c)?c.length:0,t[e++]=r,m(c))for(o=0;o<r;++o)t[e++]=c[o];return l.pack(i._ellipsoid,t,e),e+=l.packedLength,t[e]=i._granularity,t};var G=l.clone(l.UNIT_SPHERE),b={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:G,granularity:void 0};w.unpack=function(i,t,e){if(!m(i))throw new _("array is required");t=d(t,0);let o,s=i[t++],r=new Array(s);for(o=0;o<s;++o,t+=p.packedLength)r[o]=p.unpack(i,t);s=i[t++];let n;if(s>0)for(n=new Array(s),o=0;o<s;++o)n[o]=i[t++];s=i[t++];let c;if(s>0)for(c=new Array(s),o=0;o<s;++o)c[o]=i[t++];let E=l.unpack(i,t,G);t+=l.packedLength;let u=i[t];return m(e)?(e._positions=r,e._minimumHeights=n,e._maximumHeights=c,e._ellipsoid=l.clone(E,e._ellipsoid),e._granularity=u,e):(b.positions=r,b.minimumHeights=n,b.maximumHeights=c,b.granularity=u,new w(b))};w.fromConstantHeights=function(i){i=d(i,d.EMPTY_OBJECT);let t=i.positions;if(!m(t))throw new _("options.positions is required.");let e,o,s=i.minimumHeight,r=i.maximumHeight,n=m(s),c=m(r);if(n||c){let u=t.length;e=n?new Array(u):void 0,o=c?new Array(u):void 0;for(let a=0;a<u;++a)n&&(e[a]=s),c&&(o[a]=r)}let E={positions:t,maximumHeights:o,minimumHeights:e,ellipsoid:i.ellipsoid};return new w(E)};w.createGeometry=function(i){let t=i._positions,e=i._minimumHeights,o=i._maximumHeights,s=i._granularity,r=i._ellipsoid,n=B.computePositions(r,t,o,e,s,!1);if(!m(n))return;let c=n.bottomPositions,E=n.topPositions,u=E.length,a=u*2,f=new Float64Array(a),P=0;u/=3;let h;for(h=0;h<u;++h){let A=h*3,k=p.fromArray(E,A,U),L=p.fromArray(c,A,z);f[P++]=L.x,f[P++]=L.y,f[P++]=L.z,f[P++]=k.x,f[P++]=k.y,f[P++]=k.z}let V=new N({position:new M({componentDatatype:q.DOUBLE,componentsPerAttribute:3,values:f})}),y=a/3;a=2*y-4+y;let g=W.createTypedArray(y,a),H=0;for(h=0;h<y-2;h+=2){let A=h,k=h+2,L=p.fromArray(f,A*3,U),v=p.fromArray(f,k*3,z);if(p.equalsEpsilon(L,v,O.EPSILON10))continue;let T=h+1,x=h+3;g[H++]=T,g[H++]=A,g[H++]=T,g[H++]=x,g[H++]=A,g[H++]=k}return g[H++]=y-2,g[H++]=y-1,new S({attributes:V,indices:g,primitiveType:R.LINES,boundingSphere:new D.fromVertices(f)})};var C=w;function J(i,t){return m(t)&&(i=C.unpack(i,t)),i._ellipsoid=l.clone(i._ellipsoid),C.createGeometry(i)}var pi=J;export{pi as default}; diff --git a/public/lib/Cesium/Workers/decodeDraco.js b/public/lib/Cesium/Workers/decodeDraco.js index 492e60432..58f0cbfce 100644 --- a/public/lib/Cesium/Workers/decodeDraco.js +++ b/public/lib/Cesium/Workers/decodeDraco.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as O}from"./chunk-FEOZU7P7.js";import{a as I}from"./chunk-JQWRUZSV.js";import{a as m}from"./chunk-UGB43LJM.js";import{a as w}from"./chunk-27UWHT4D.js";import"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import{a as A}from"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import"./chunk-6P5KAIBX.js";import{d as D,e as d}from"./chunk-4FSVUTPL.js";var b=D(O(),1),o;function F(t,e){let i=t.num_points(),a=t.num_faces(),n=new o.DracoInt32Array,s=a*3,r=m.createTypedArray(i,s),u=0;for(let c=0;c<a;++c)e.GetFaceFromMesh(t,c,n),r[u+0]=n.GetValue(0),r[u+1]=n.GetValue(1),r[u+2]=n.GetValue(2),u+=3;return o.destroy(n),{typedArray:r,numberOfIndices:s}}function U(t,e,i,a,n){let s,r;a.quantizationBits<=8?(r=new o.DracoUInt8Array,s=new Uint8Array(n),e.GetAttributeUInt8ForAllPoints(t,i,r)):a.quantizationBits<=16?(r=new o.DracoUInt16Array,s=new Uint16Array(n),e.GetAttributeUInt16ForAllPoints(t,i,r)):(r=new o.DracoFloat32Array,s=new Float32Array(n),e.GetAttributeFloatForAllPoints(t,i,r));for(let u=0;u<n;++u)s[u]=r.GetValue(u);return o.destroy(r),s}function k(t,e,i,a){let n,s;switch(i.data_type()){case 1:case 11:s=new o.DracoInt8Array,n=new Int8Array(a),e.GetAttributeInt8ForAllPoints(t,i,s);break;case 2:s=new o.DracoUInt8Array,n=new Uint8Array(a),e.GetAttributeUInt8ForAllPoints(t,i,s);break;case 3:s=new o.DracoInt16Array,n=new Int16Array(a),e.GetAttributeInt16ForAllPoints(t,i,s);break;case 4:s=new o.DracoUInt16Array,n=new Uint16Array(a),e.GetAttributeUInt16ForAllPoints(t,i,s);break;case 5:case 7:s=new o.DracoInt32Array,n=new Int32Array(a),e.GetAttributeInt32ForAllPoints(t,i,s);break;case 6:case 8:s=new o.DracoUInt32Array,n=new Uint32Array(a),e.GetAttributeUInt32ForAllPoints(t,i,s);break;case 9:case 10:s=new o.DracoFloat32Array,n=new Float32Array(a),e.GetAttributeFloatForAllPoints(t,i,s);break}for(let r=0;r<a;++r)n[r]=s.GetValue(r);return o.destroy(s),n}function p(t,e,i){let a=t.num_points(),n=i.num_components(),s,r=new o.AttributeQuantizationTransform;if(r.InitFromAttribute(i)){let y=new Array(n);for(let f=0;f<n;++f)y[f]=r.min_value(f);s={quantizationBits:r.quantization_bits(),minValues:y,range:r.range(),octEncoded:!1}}o.destroy(r),r=new o.AttributeOctahedronTransform,r.InitFromAttribute(i)&&(s={quantizationBits:r.quantization_bits(),octEncoded:!0}),o.destroy(r);let u=a*n,c;d(s)?c=U(t,e,i,s,u):c=k(t,e,i,u);let l=w.fromTypedArray(c);return{array:c,data:{componentsPerAttribute:n,componentDatatype:l,byteOffset:i.byte_offset(),byteStride:w.getSizeInBytes(l)*n,normalized:i.normalized(),quantization:s}}}function _(t){let e=new o.Decoder;t.dequantizeInShader&&(e.SkipAttributeTransform(o.POSITION),e.SkipAttributeTransform(o.NORMAL));let i=new o.DecoderBuffer;if(i.Init(t.buffer,t.buffer.length),e.GetEncodedGeometryType(i)!==o.POINT_CLOUD)throw new A("Draco geometry type must be POINT_CLOUD.");let n=new o.PointCloud,s=e.DecodeBufferToPointCloud(i,n);if(!s.ok()||n.ptr===0)throw new A(`Error decoding draco point cloud: ${s.error_msg()}`);o.destroy(i);let r={},u=t.properties;for(let c in u)if(u.hasOwnProperty(c)){let l;if(c==="POSITION"||c==="NORMAL"){let y=e.GetAttributeId(n,o[c]);l=e.GetAttribute(n,y)}else{let y=u[c];l=e.GetAttributeByUniqueId(n,y)}r[c]=p(n,e,l)}return o.destroy(n),o.destroy(e),r}function g(t){let e=new o.Decoder,i=["POSITION","NORMAL","COLOR","TEX_COORD"];if(t.dequantizeInShader)for(let f=0;f<i.length;++f)e.SkipAttributeTransform(o[i[f]]);let a=t.bufferView,n=new o.DecoderBuffer;if(n.Init(t.array,a.byteLength),e.GetEncodedGeometryType(n)!==o.TRIANGULAR_MESH)throw new A("Unsupported draco mesh geometry type.");let r=new o.Mesh,u=e.DecodeBufferToMesh(n,r);if(!u.ok()||r.ptr===0)throw new A(`Error decoding draco mesh geometry: ${u.error_msg()}`);o.destroy(n);let c={},l=t.compressedAttributes;for(let f in l)if(l.hasOwnProperty(f)){let P=l[f],T=e.GetAttributeByUniqueId(r,P);c[f]=p(r,e,T)}let y={indexArray:F(r,e),attributeData:c};return o.destroy(r),o.destroy(e),y}async function z(t,e){return d(t.bufferView)?g(t):_(t)}async function C(t,e){let i=t.webAssemblyConfig;return d(i)&&d(i.wasmBinaryFile)?o=await(0,b.default)(i):o=await(0,b.default)(),!0}async function G(t,e){let i=t.webAssemblyConfig;return d(i)?C(t,e):z(t,e)}var h=I(G);export{h as default}; +import{a as O}from"./chunk-SM4U4WO5.js";import{a as I}from"./chunk-YEUI4ZO2.js";import{a as m}from"./chunk-A3VS2OZ2.js";import{a as w}from"./chunk-GNTVNTUY.js";import"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import{a as A}from"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import"./chunk-4BGNE6LH.js";import{d as D,e as d}from"./chunk-OX5CTLXY.js";var b=D(O(),1),o;function F(t,e){let i=t.num_points(),a=t.num_faces(),n=new o.DracoInt32Array,s=a*3,r=m.createTypedArray(i,s),u=0;for(let c=0;c<a;++c)e.GetFaceFromMesh(t,c,n),r[u+0]=n.GetValue(0),r[u+1]=n.GetValue(1),r[u+2]=n.GetValue(2),u+=3;return o.destroy(n),{typedArray:r,numberOfIndices:s}}function U(t,e,i,a,n){let s,r;a.quantizationBits<=8?(r=new o.DracoUInt8Array,s=new Uint8Array(n),e.GetAttributeUInt8ForAllPoints(t,i,r)):a.quantizationBits<=16?(r=new o.DracoUInt16Array,s=new Uint16Array(n),e.GetAttributeUInt16ForAllPoints(t,i,r)):(r=new o.DracoFloat32Array,s=new Float32Array(n),e.GetAttributeFloatForAllPoints(t,i,r));for(let u=0;u<n;++u)s[u]=r.GetValue(u);return o.destroy(r),s}function k(t,e,i,a){let n,s;switch(i.data_type()){case 1:case 11:s=new o.DracoInt8Array,n=new Int8Array(a),e.GetAttributeInt8ForAllPoints(t,i,s);break;case 2:s=new o.DracoUInt8Array,n=new Uint8Array(a),e.GetAttributeUInt8ForAllPoints(t,i,s);break;case 3:s=new o.DracoInt16Array,n=new Int16Array(a),e.GetAttributeInt16ForAllPoints(t,i,s);break;case 4:s=new o.DracoUInt16Array,n=new Uint16Array(a),e.GetAttributeUInt16ForAllPoints(t,i,s);break;case 5:case 7:s=new o.DracoInt32Array,n=new Int32Array(a),e.GetAttributeInt32ForAllPoints(t,i,s);break;case 6:case 8:s=new o.DracoUInt32Array,n=new Uint32Array(a),e.GetAttributeUInt32ForAllPoints(t,i,s);break;case 9:case 10:s=new o.DracoFloat32Array,n=new Float32Array(a),e.GetAttributeFloatForAllPoints(t,i,s);break}for(let r=0;r<a;++r)n[r]=s.GetValue(r);return o.destroy(s),n}function p(t,e,i){let a=t.num_points(),n=i.num_components(),s,r=new o.AttributeQuantizationTransform;if(r.InitFromAttribute(i)){let y=new Array(n);for(let f=0;f<n;++f)y[f]=r.min_value(f);s={quantizationBits:r.quantization_bits(),minValues:y,range:r.range(),octEncoded:!1}}o.destroy(r),r=new o.AttributeOctahedronTransform,r.InitFromAttribute(i)&&(s={quantizationBits:r.quantization_bits(),octEncoded:!0}),o.destroy(r);let u=a*n,c;d(s)?c=U(t,e,i,s,u):c=k(t,e,i,u);let l=w.fromTypedArray(c);return{array:c,data:{componentsPerAttribute:n,componentDatatype:l,byteOffset:i.byte_offset(),byteStride:w.getSizeInBytes(l)*n,normalized:i.normalized(),quantization:s}}}function _(t){let e=new o.Decoder;t.dequantizeInShader&&(e.SkipAttributeTransform(o.POSITION),e.SkipAttributeTransform(o.NORMAL));let i=new o.DecoderBuffer;if(i.Init(t.buffer,t.buffer.length),e.GetEncodedGeometryType(i)!==o.POINT_CLOUD)throw new A("Draco geometry type must be POINT_CLOUD.");let n=new o.PointCloud,s=e.DecodeBufferToPointCloud(i,n);if(!s.ok()||n.ptr===0)throw new A(`Error decoding draco point cloud: ${s.error_msg()}`);o.destroy(i);let r={},u=t.properties;for(let c in u)if(u.hasOwnProperty(c)){let l;if(c==="POSITION"||c==="NORMAL"){let y=e.GetAttributeId(n,o[c]);l=e.GetAttribute(n,y)}else{let y=u[c];l=e.GetAttributeByUniqueId(n,y)}r[c]=p(n,e,l)}return o.destroy(n),o.destroy(e),r}function g(t){let e=new o.Decoder,i=["POSITION","NORMAL","COLOR","TEX_COORD"];if(t.dequantizeInShader)for(let f=0;f<i.length;++f)e.SkipAttributeTransform(o[i[f]]);let a=t.bufferView,n=new o.DecoderBuffer;if(n.Init(t.array,a.byteLength),e.GetEncodedGeometryType(n)!==o.TRIANGULAR_MESH)throw new A("Unsupported draco mesh geometry type.");let r=new o.Mesh,u=e.DecodeBufferToMesh(n,r);if(!u.ok()||r.ptr===0)throw new A(`Error decoding draco mesh geometry: ${u.error_msg()}`);o.destroy(n);let c={},l=t.compressedAttributes;for(let f in l)if(l.hasOwnProperty(f)){let P=l[f],T=e.GetAttributeByUniqueId(r,P);c[f]=p(r,e,T)}let y={indexArray:F(r,e),attributeData:c};return o.destroy(r),o.destroy(e),y}async function z(t,e){return d(t.bufferView)?g(t):_(t)}async function C(t,e){let i=t.webAssemblyConfig;return d(i)&&d(i.wasmBinaryFile)?o=await(0,b.default)(i):o=await(0,b.default)(),!0}async function G(t,e){let i=t.webAssemblyConfig;return d(i)?C(t,e):z(t,e)}var h=I(G);export{h as default}; diff --git a/public/lib/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js b/public/lib/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js index db2b89470..2dea12b7c 100644 --- a/public/lib/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js +++ b/public/lib/Cesium/Workers/decodeGoogleEarthEnterprisePacket.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as Se}from"./chunk-JQWRUZSV.js";import{a as D}from"./chunk-QE3ZUOZY.js";import{b as ae}from"./chunk-6P5KAIBX.js";import{c as R,d as Ot,e as me}from"./chunk-4FSVUTPL.js";var Ie=R((Li,Ae)=>{"use strict";var zt=(t,i,e,r)=>{let s=t&65535|0,n=t>>>16&65535|0,c=0;for(;e!==0;){c=e>2e3?2e3:e,e-=c;do s=s+i[r++]|0,n=n+s|0;while(--c);s%=65521,n%=65521}return s|n<<16|0};Ae.exports=zt});var De=R((Pi,Re)=>{"use strict";var Ht=()=>{let t,i=[];for(var e=0;e<256;e++){t=e;for(var r=0;r<8;r++)t=t&1?3988292384^t>>>1:t>>>1;i[e]=t}return i},Ft=new Uint32Array(Ht()),Vt=(t,i,e,r)=>{let s=Ft,n=r+e;t^=-1;for(let c=r;c<n;c++)t=t>>>8^s[(t^i[c])&255];return t^-1};Re.exports=Vt});var Oe=R((zi,Ue)=>{"use strict";Ue.exports=function(i,e){let r,s,n,c,f,_,a,o,v,w,l,u,I,p,x,T,g,d,E,A,h,S,k,b,m=i.state;r=i.next_in,k=i.input,s=r+(i.avail_in-5),n=i.next_out,b=i.output,c=n-(e-i.avail_out),f=n+(i.avail_out-257),_=m.dmax,a=m.wsize,o=m.whave,v=m.wnext,w=m.window,l=m.hold,u=m.bits,I=m.lencode,p=m.distcode,x=(1<<m.lenbits)-1,T=(1<<m.distbits)-1;e:do{u<15&&(l+=k[r++]<<u,u+=8,l+=k[r++]<<u,u+=8),g=I[l&x];t:for(;;){if(d=g>>>24,l>>>=d,u-=d,d=g>>>16&255,d===0)b[n++]=g&65535;else if(d&16){E=g&65535,d&=15,d&&(u<d&&(l+=k[r++]<<u,u+=8),E+=l&(1<<d)-1,l>>>=d,u-=d),u<15&&(l+=k[r++]<<u,u+=8,l+=k[r++]<<u,u+=8),g=p[l&T];i:for(;;){if(d=g>>>24,l>>>=d,u-=d,d=g>>>16&255,d&16){if(A=g&65535,d&=15,u<d&&(l+=k[r++]<<u,u+=8,u<d&&(l+=k[r++]<<u,u+=8)),A+=l&(1<<d)-1,A>_){i.msg="invalid distance too far back",m.mode=16209;break e}if(l>>>=d,u-=d,d=n-c,A>d){if(d=A-d,d>o&&m.sane){i.msg="invalid distance too far back",m.mode=16209;break e}if(h=0,S=w,v===0){if(h+=a-d,d<E){E-=d;do b[n++]=w[h++];while(--d);h=n-A,S=b}}else if(v<d){if(h+=a+v-d,d-=v,d<E){E-=d;do b[n++]=w[h++];while(--d);if(h=0,v<E){d=v,E-=d;do b[n++]=w[h++];while(--d);h=n-A,S=b}}}else if(h+=v-d,d<E){E-=d;do b[n++]=w[h++];while(--d);h=n-A,S=b}for(;E>2;)b[n++]=S[h++],b[n++]=S[h++],b[n++]=S[h++],E-=3;E&&(b[n++]=S[h++],E>1&&(b[n++]=S[h++]))}else{h=n-A;do b[n++]=b[h++],b[n++]=b[h++],b[n++]=b[h++],E-=3;while(E>2);E&&(b[n++]=b[h++],E>1&&(b[n++]=b[h++]))}}else if(d&64){i.msg="invalid distance code",m.mode=16209;break e}else{g=p[(g&65535)+(l&(1<<d)-1)];continue i}break}}else if(d&64)if(d&32){m.mode=16191;break e}else{i.msg="invalid literal/length code",m.mode=16209;break e}else{g=I[(g&65535)+(l&(1<<d)-1)];continue t}break}}while(r<s&&n<f);E=u>>3,r-=E,u-=E<<3,l&=(1<<u)-1,i.next_in=r,i.next_out=n,i.avail_in=r<s?5+(s-r):5-(r-s),i.avail_out=n<f?257+(f-n):257-(n-f),m.hold=l,m.bits=u}});var Me=R((Hi,Ne)=>{"use strict";var Gt=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Yt=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Xt=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),qt=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Kt=(t,i,e,r,s,n,c,f)=>{let _=f.bits,a=0,o=0,v=0,w=0,l=0,u=0,I=0,p=0,x=0,T=0,g,d,E,A,h,S=null,k,b=new Uint16Array(16),m=new Uint16Array(16),L=null,Ee,W,Q;for(a=0;a<=15;a++)b[a]=0;for(o=0;o<r;o++)b[i[e+o]]++;for(l=_,w=15;w>=1&&b[w]===0;w--);if(l>w&&(l=w),w===0)return s[n++]=1<<24|64<<16|0,s[n++]=1<<24|64<<16|0,f.bits=1,0;for(v=1;v<w&&b[v]===0;v++);for(l<v&&(l=v),p=1,a=1;a<=15;a++)if(p<<=1,p-=b[a],p<0)return-1;if(p>0&&(t===0||w!==1))return-1;for(m[1]=0,a=1;a<15;a++)m[a+1]=m[a]+b[a];for(o=0;o<r;o++)i[e+o]!==0&&(c[m[i[e+o]]++]=o);if(t===0?(S=L=c,k=20):t===1?(S=Gt,L=Yt,k=257):(S=Xt,L=qt,k=0),T=0,o=0,a=v,h=n,u=l,I=0,E=-1,x=1<<l,A=x-1,t===1&&x>852||t===2&&x>592)return 1;for(;;){Ee=a-I,c[o]+1<k?(W=0,Q=c[o]):c[o]>=k?(W=L[c[o]-k],Q=S[c[o]-k]):(W=96,Q=0),g=1<<a-I,d=1<<u,v=d;do d-=g,s[h+(T>>I)+d]=Ee<<24|W<<16|Q|0;while(d!==0);for(g=1<<a-1;T&g;)g>>=1;if(g!==0?(T&=g-1,T+=g):T=0,o++,--b[a]===0){if(a===w)break;a=i[e+c[o]]}if(a>l&&(T&A)!==E){for(I===0&&(I=l),h+=v,u=a-I,p=1<<u;u+I<w&&(p-=b[u+I],!(p<=0));)u++,p<<=1;if(x+=1<<u,t===1&&x>852||t===2&&x>592)return 1;E=T&A,s[E]=l<<24|u<<16|h-n|0}}return T!==0&&(s[h+T]=a-I<<24|64<<16|0),f.bits=l,0};Ne.exports=Kt});var J=R((Fi,Ze)=>{"use strict";Ze.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var bt=R((Vi,O)=>{"use strict";var he=Ie(),M=De(),jt=Oe(),X=Me(),Wt=0,st=1,ft=2,{Z_FINISH:Be,Z_BLOCK:Qt,Z_TREES:$,Z_OK:P,Z_STREAM_END:Jt,Z_NEED_DICT:$t,Z_STREAM_ERROR:U,Z_DATA_ERROR:lt,Z_MEM_ERROR:ue,Z_BUF_ERROR:ei,Z_DEFLATED:Ce}=J(),ne=16180,Le=16181,Pe=16182,ze=16183,He=16184,Fe=16185,Ve=16186,Ge=16187,Ye=16188,Xe=16189,ie=16190,Z=16191,se=16192,qe=16193,fe=16194,Ke=16195,je=16196,We=16197,Qe=16198,ee=16199,te=16200,Je=16201,$e=16202,et=16203,tt=16204,it=16205,le=16206,nt=16207,rt=16208,y=16209,we=16210,ct=16211,ti=852,ii=592,ni=15,ri=ni,at=t=>(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24);function ai(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var z=t=>{if(!t)return 1;let i=t.state;return!i||i.strm!==t||i.mode<ne||i.mode>ct?1:0},dt=t=>{if(z(t))return U;let i=t.state;return t.total_in=t.total_out=i.total=0,t.msg="",i.wrap&&(t.adler=i.wrap&1),i.mode=ne,i.last=0,i.havedict=0,i.flags=-1,i.dmax=32768,i.head=null,i.hold=0,i.bits=0,i.lencode=i.lendyn=new Int32Array(ti),i.distcode=i.distdyn=new Int32Array(ii),i.sane=1,i.back=-1,P},ht=t=>{if(z(t))return U;let i=t.state;return i.wsize=0,i.whave=0,i.wnext=0,dt(t)},ut=(t,i)=>{let e;if(z(t))return U;let r=t.state;return i<0?(e=0,i=-i):(e=(i>>4)+5,i<48&&(i&=15)),i&&(i<8||i>15)?U:(r.window!==null&&r.wbits!==i&&(r.window=null),r.wrap=e,r.wbits=i,ht(t))},wt=(t,i)=>{if(!t)return U;let e=new ai;t.state=e,e.strm=t,e.window=null,e.mode=ne;let r=ut(t,i);return r!==P&&(t.state=null),r},oi=t=>wt(t,ri),ot=!0,ce,de,si=t=>{if(ot){ce=new Int32Array(512),de=new Int32Array(32);let i=0;for(;i<144;)t.lens[i++]=8;for(;i<256;)t.lens[i++]=9;for(;i<280;)t.lens[i++]=7;for(;i<288;)t.lens[i++]=8;for(X(st,t.lens,0,288,ce,0,t.work,{bits:9}),i=0;i<32;)t.lens[i++]=5;X(ft,t.lens,0,32,de,0,t.work,{bits:5}),ot=!1}t.lencode=ce,t.lenbits=9,t.distcode=de,t.distbits=5},xt=(t,i,e,r)=>{let s,n=t.state;return n.window===null&&(n.wsize=1<<n.wbits,n.wnext=0,n.whave=0,n.window=new Uint8Array(n.wsize)),r>=n.wsize?(n.window.set(i.subarray(e-n.wsize,e),0),n.wnext=0,n.whave=n.wsize):(s=n.wsize-n.wnext,s>r&&(s=r),n.window.set(i.subarray(e-r,e-r+s),n.wnext),r-=s,r?(n.window.set(i.subarray(e-r,e),0),n.wnext=r,n.whave=n.wsize):(n.wnext+=s,n.wnext===n.wsize&&(n.wnext=0),n.whave<n.wsize&&(n.whave+=s))),0},fi=(t,i)=>{let e,r,s,n,c,f,_,a,o,v,w,l,u,I,p=0,x,T,g,d,E,A,h,S,k=new Uint8Array(4),b,m,L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(z(t)||!t.output||!t.input&&t.avail_in!==0)return U;e=t.state,e.mode===Z&&(e.mode=se),c=t.next_out,s=t.output,_=t.avail_out,n=t.next_in,r=t.input,f=t.avail_in,a=e.hold,o=e.bits,v=f,w=_,S=P;e:for(;;)switch(e.mode){case ne:if(e.wrap===0){e.mode=se;break}for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.wrap&2&&a===35615){e.wbits===0&&(e.wbits=15),e.check=0,k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0),a=0,o=0,e.mode=Le;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((a&255)<<8)+(a>>8))%31){t.msg="incorrect header check",e.mode=y;break}if((a&15)!==Ce){t.msg="unknown compression method",e.mode=y;break}if(a>>>=4,o-=4,h=(a&15)+8,e.wbits===0&&(e.wbits=h),h>15||h>e.wbits){t.msg="invalid window size",e.mode=y;break}e.dmax=1<<e.wbits,e.flags=0,t.adler=e.check=1,e.mode=a&512?Xe:Z,a=0,o=0;break;case Le:for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.flags=a,(e.flags&255)!==Ce){t.msg="unknown compression method",e.mode=y;break}if(e.flags&57344){t.msg="unknown header flags set",e.mode=y;break}e.head&&(e.head.text=a>>8&1),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0)),a=0,o=0,e.mode=Pe;case Pe:for(;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.head&&(e.head.time=a),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,k[2]=a>>>16&255,k[3]=a>>>24&255,e.check=M(e.check,k,4,0)),a=0,o=0,e.mode=ze;case ze:for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.head&&(e.head.xflags=a&255,e.head.os=a>>8),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0)),a=0,o=0,e.mode=He;case He:if(e.flags&1024){for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.length=a,e.head&&(e.head.extra_len=a),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0)),a=0,o=0}else e.head&&(e.head.extra=null);e.mode=Fe;case Fe:if(e.flags&1024&&(l=e.length,l>f&&(l=f),l&&(e.head&&(h=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(r.subarray(n,n+l),h)),e.flags&512&&e.wrap&4&&(e.check=M(e.check,r,l,n)),f-=l,n+=l,e.length-=l),e.length))break e;e.length=0,e.mode=Ve;case Ve:if(e.flags&2048){if(f===0)break e;l=0;do h=r[n+l++],e.head&&h&&e.length<65536&&(e.head.name+=String.fromCharCode(h));while(h&&l<f);if(e.flags&512&&e.wrap&4&&(e.check=M(e.check,r,l,n)),f-=l,n+=l,h)break e}else e.head&&(e.head.name=null);e.length=0,e.mode=Ge;case Ge:if(e.flags&4096){if(f===0)break e;l=0;do h=r[n+l++],e.head&&h&&e.length<65536&&(e.head.comment+=String.fromCharCode(h));while(h&&l<f);if(e.flags&512&&e.wrap&4&&(e.check=M(e.check,r,l,n)),f-=l,n+=l,h)break e}else e.head&&(e.head.comment=null);e.mode=Ye;case Ye:if(e.flags&512){for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.wrap&4&&a!==(e.check&65535)){t.msg="header crc mismatch",e.mode=y;break}a=0,o=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),t.adler=e.check=0,e.mode=Z;break;case Xe:for(;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}t.adler=e.check=at(a),a=0,o=0,e.mode=ie;case ie:if(e.havedict===0)return t.next_out=c,t.avail_out=_,t.next_in=n,t.avail_in=f,e.hold=a,e.bits=o,$t;t.adler=e.check=1,e.mode=Z;case Z:if(i===Qt||i===$)break e;case se:if(e.last){a>>>=o&7,o-=o&7,e.mode=le;break}for(;o<3;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}switch(e.last=a&1,a>>>=1,o-=1,a&3){case 0:e.mode=qe;break;case 1:if(si(e),e.mode=ee,i===$){a>>>=2,o-=2;break e}break;case 2:e.mode=je;break;case 3:t.msg="invalid block type",e.mode=y}a>>>=2,o-=2;break;case qe:for(a>>>=o&7,o-=o&7;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if((a&65535)!==(a>>>16^65535)){t.msg="invalid stored block lengths",e.mode=y;break}if(e.length=a&65535,a=0,o=0,e.mode=fe,i===$)break e;case fe:e.mode=Ke;case Ke:if(l=e.length,l){if(l>f&&(l=f),l>_&&(l=_),l===0)break e;s.set(r.subarray(n,n+l),c),f-=l,n+=l,_-=l,c+=l,e.length-=l;break}e.mode=Z;break;case je:for(;o<14;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.nlen=(a&31)+257,a>>>=5,o-=5,e.ndist=(a&31)+1,a>>>=5,o-=5,e.ncode=(a&15)+4,a>>>=4,o-=4,e.nlen>286||e.ndist>30){t.msg="too many length or distance symbols",e.mode=y;break}e.have=0,e.mode=We;case We:for(;e.have<e.ncode;){for(;o<3;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.lens[L[e.have++]]=a&7,a>>>=3,o-=3}for(;e.have<19;)e.lens[L[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,b={bits:e.lenbits},S=X(Wt,e.lens,0,19,e.lencode,0,e.work,b),e.lenbits=b.bits,S){t.msg="invalid code lengths set",e.mode=y;break}e.have=0,e.mode=Qe;case Qe:for(;e.have<e.nlen+e.ndist;){for(;p=e.lencode[a&(1<<e.lenbits)-1],x=p>>>24,T=p>>>16&255,g=p&65535,!(x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(g<16)a>>>=x,o-=x,e.lens[e.have++]=g;else{if(g===16){for(m=x+2;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(a>>>=x,o-=x,e.have===0){t.msg="invalid bit length repeat",e.mode=y;break}h=e.lens[e.have-1],l=3+(a&3),a>>>=2,o-=2}else if(g===17){for(m=x+3;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=x,o-=x,h=0,l=3+(a&7),a>>>=3,o-=3}else{for(m=x+7;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=x,o-=x,h=0,l=11+(a&127),a>>>=7,o-=7}if(e.have+l>e.nlen+e.ndist){t.msg="invalid bit length repeat",e.mode=y;break}for(;l--;)e.lens[e.have++]=h}}if(e.mode===y)break;if(e.lens[256]===0){t.msg="invalid code -- missing end-of-block",e.mode=y;break}if(e.lenbits=9,b={bits:e.lenbits},S=X(st,e.lens,0,e.nlen,e.lencode,0,e.work,b),e.lenbits=b.bits,S){t.msg="invalid literal/lengths set",e.mode=y;break}if(e.distbits=6,e.distcode=e.distdyn,b={bits:e.distbits},S=X(ft,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,b),e.distbits=b.bits,S){t.msg="invalid distances set",e.mode=y;break}if(e.mode=ee,i===$)break e;case ee:e.mode=te;case te:if(f>=6&&_>=258){t.next_out=c,t.avail_out=_,t.next_in=n,t.avail_in=f,e.hold=a,e.bits=o,jt(t,w),c=t.next_out,s=t.output,_=t.avail_out,n=t.next_in,r=t.input,f=t.avail_in,a=e.hold,o=e.bits,e.mode===Z&&(e.back=-1);break}for(e.back=0;p=e.lencode[a&(1<<e.lenbits)-1],x=p>>>24,T=p>>>16&255,g=p&65535,!(x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(T&&!(T&240)){for(d=x,E=T,A=g;p=e.lencode[A+((a&(1<<d+E)-1)>>d)],x=p>>>24,T=p>>>16&255,g=p&65535,!(d+x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=d,o-=d,e.back+=d}if(a>>>=x,o-=x,e.back+=x,e.length=g,T===0){e.mode=it;break}if(T&32){e.back=-1,e.mode=Z;break}if(T&64){t.msg="invalid literal/length code",e.mode=y;break}e.extra=T&15,e.mode=Je;case Je:if(e.extra){for(m=e.extra;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.length+=a&(1<<e.extra)-1,a>>>=e.extra,o-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=$e;case $e:for(;p=e.distcode[a&(1<<e.distbits)-1],x=p>>>24,T=p>>>16&255,g=p&65535,!(x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(!(T&240)){for(d=x,E=T,A=g;p=e.distcode[A+((a&(1<<d+E)-1)>>d)],x=p>>>24,T=p>>>16&255,g=p&65535,!(d+x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=d,o-=d,e.back+=d}if(a>>>=x,o-=x,e.back+=x,T&64){t.msg="invalid distance code",e.mode=y;break}e.offset=g,e.extra=T&15,e.mode=et;case et:if(e.extra){for(m=e.extra;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.offset+=a&(1<<e.extra)-1,a>>>=e.extra,o-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){t.msg="invalid distance too far back",e.mode=y;break}e.mode=tt;case tt:if(_===0)break e;if(l=w-_,e.offset>l){if(l=e.offset-l,l>e.whave&&e.sane){t.msg="invalid distance too far back",e.mode=y;break}l>e.wnext?(l-=e.wnext,u=e.wsize-l):u=e.wnext-l,l>e.length&&(l=e.length),I=e.window}else I=s,u=c-e.offset,l=e.length;l>_&&(l=_),_-=l,e.length-=l;do s[c++]=I[u++];while(--l);e.length===0&&(e.mode=te);break;case it:if(_===0)break e;s[c++]=e.length,_--,e.mode=te;break;case le:if(e.wrap){for(;o<32;){if(f===0)break e;f--,a|=r[n++]<<o,o+=8}if(w-=_,t.total_out+=w,e.total+=w,e.wrap&4&&w&&(t.adler=e.check=e.flags?M(e.check,s,w,c-w):he(e.check,s,w,c-w)),w=_,e.wrap&4&&(e.flags?a:at(a))!==e.check){t.msg="incorrect data check",e.mode=y;break}a=0,o=0}e.mode=nt;case nt:if(e.wrap&&e.flags){for(;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.wrap&4&&a!==(e.total&4294967295)){t.msg="incorrect length check",e.mode=y;break}a=0,o=0}e.mode=rt;case rt:S=Jt;break e;case y:S=lt;break e;case we:return ue;case ct:default:return U}return t.next_out=c,t.avail_out=_,t.next_in=n,t.avail_in=f,e.hold=a,e.bits=o,(e.wsize||w!==t.avail_out&&e.mode<y&&(e.mode<le||i!==Be))&&xt(t,t.output,t.next_out,w-t.avail_out)?(e.mode=we,ue):(v-=t.avail_in,w-=t.avail_out,t.total_in+=v,t.total_out+=w,e.total+=w,e.wrap&4&&w&&(t.adler=e.check=e.flags?M(e.check,s,w,t.next_out-w):he(e.check,s,w,t.next_out-w)),t.data_type=e.bits+(e.last?64:0)+(e.mode===Z?128:0)+(e.mode===ee||e.mode===fe?256:0),(v===0&&w===0||i===Be)&&S===P&&(S=ei),S)},li=t=>{if(z(t))return U;let i=t.state;return i.window&&(i.window=null),t.state=null,P},ci=(t,i)=>{if(z(t))return U;let e=t.state;return e.wrap&2?(e.head=i,i.done=!1,P):U},di=(t,i)=>{let e=i.length,r,s,n;return z(t)||(r=t.state,r.wrap!==0&&r.mode!==ie)?U:r.mode===ie&&(s=1,s=he(s,i,e,0),s!==r.check)?lt:(n=xt(t,i,e,e),n?(r.mode=we,ue):(r.havedict=1,P))};O.exports.inflateReset=ht;O.exports.inflateReset2=ut;O.exports.inflateResetKeep=dt;O.exports.inflateInit=oi;O.exports.inflateInit2=wt;O.exports.inflate=fi;O.exports.inflateEnd=li;O.exports.inflateGetHeader=ci;O.exports.inflateSetDictionary=di;O.exports.inflateInfo="pako inflate (from Nodeca project)"});var _t=R((Gi,xe)=>{"use strict";var hi=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);xe.exports.assign=function(t){let i=Array.prototype.slice.call(arguments,1);for(;i.length;){let e=i.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(let r in e)hi(e,r)&&(t[r]=e[r])}}return t};xe.exports.flattenChunks=t=>{let i=0;for(let r=0,s=t.length;r<s;r++)i+=t[r].length;let e=new Uint8Array(i);for(let r=0,s=0,n=t.length;r<n;r++){let c=t[r];e.set(c,s),s+=c.length}return e}});var kt=R((Yi,re)=>{"use strict";var gt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{gt=!1}var q=new Uint8Array(256);for(let t=0;t<256;t++)q[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;q[254]=q[254]=1;re.exports.string2buf=t=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);let i,e,r,s,n,c=t.length,f=0;for(s=0;s<c;s++)e=t.charCodeAt(s),(e&64512)===55296&&s+1<c&&(r=t.charCodeAt(s+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),s++)),f+=e<128?1:e<2048?2:e<65536?3:4;for(i=new Uint8Array(f),n=0,s=0;n<f;s++)e=t.charCodeAt(s),(e&64512)===55296&&s+1<c&&(r=t.charCodeAt(s+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),s++)),e<128?i[n++]=e:e<2048?(i[n++]=192|e>>>6,i[n++]=128|e&63):e<65536?(i[n++]=224|e>>>12,i[n++]=128|e>>>6&63,i[n++]=128|e&63):(i[n++]=240|e>>>18,i[n++]=128|e>>>12&63,i[n++]=128|e>>>6&63,i[n++]=128|e&63);return i};var ui=(t,i)=>{if(i<65534&&t.subarray&>)return String.fromCharCode.apply(null,t.length===i?t:t.subarray(0,i));let e="";for(let r=0;r<i;r++)e+=String.fromCharCode(t[r]);return e};re.exports.buf2string=(t,i)=>{let e=i||t.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,i));let r,s,n=new Array(e*2);for(s=0,r=0;r<e;){let c=t[r++];if(c<128){n[s++]=c;continue}let f=q[c];if(f>4){n[s++]=65533,r+=f-1;continue}for(c&=f===2?31:f===3?15:7;f>1&&r<e;)c=c<<6|t[r++]&63,f--;if(f>1){n[s++]=65533;continue}c<65536?n[s++]=c:(c-=65536,n[s++]=55296|c>>10&1023,n[s++]=56320|c&1023)}return ui(n,s)};re.exports.utf8border=(t,i)=>{i=i||t.length,i>t.length&&(i=t.length);let e=i-1;for(;e>=0&&(t[e]&192)===128;)e--;return e<0||e===0?i:e+q[t[e]]>i?e:i}});var Et=R((Xi,pt)=>{"use strict";pt.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var St=R((qi,mt)=>{"use strict";function wi(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}mt.exports=wi});var vt=R((Ki,Tt)=>{"use strict";function xi(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Tt.exports=xi});var Rt=R((ji,V)=>{"use strict";var B=bt(),At=_t(),ge=kt(),ke=Et(),bi=St(),_i=vt(),It=Object.prototype.toString,{Z_NO_FLUSH:gi,Z_FINISH:ki,Z_OK:K,Z_STREAM_END:be,Z_NEED_DICT:_e,Z_STREAM_ERROR:pi,Z_DATA_ERROR:yt,Z_MEM_ERROR:Ei}=J();function j(t){this.options=At.assign({chunkSize:1024*64,windowBits:15,to:""},t||{});let i=this.options;i.raw&&i.windowBits>=0&&i.windowBits<16&&(i.windowBits=-i.windowBits,i.windowBits===0&&(i.windowBits=-15)),i.windowBits>=0&&i.windowBits<16&&!(t&&t.windowBits)&&(i.windowBits+=32),i.windowBits>15&&i.windowBits<48&&(i.windowBits&15||(i.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new bi,this.strm.avail_out=0;let e=B.inflateInit2(this.strm,i.windowBits);if(e!==K)throw new Error(ke[e]);if(this.header=new _i,B.inflateGetHeader(this.strm,this.header),i.dictionary&&(typeof i.dictionary=="string"?i.dictionary=ge.string2buf(i.dictionary):It.call(i.dictionary)==="[object ArrayBuffer]"&&(i.dictionary=new Uint8Array(i.dictionary)),i.raw&&(e=B.inflateSetDictionary(this.strm,i.dictionary),e!==K)))throw new Error(ke[e])}j.prototype.push=function(t,i){let e=this.strm,r=this.options.chunkSize,s=this.options.dictionary,n,c,f;if(this.ended)return!1;for(i===~~i?c=i:c=i===!0?ki:gi,It.call(t)==="[object ArrayBuffer]"?e.input=new Uint8Array(t):e.input=t,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(r),e.next_out=0,e.avail_out=r),n=B.inflate(e,c),n===_e&&s&&(n=B.inflateSetDictionary(e,s),n===K?n=B.inflate(e,c):n===yt&&(n=_e));e.avail_in>0&&n===be&&e.state.wrap>0&&t[e.next_in]!==0;)B.inflateReset(e),n=B.inflate(e,c);switch(n){case pi:case yt:case _e:case Ei:return this.onEnd(n),this.ended=!0,!1}if(f=e.avail_out,e.next_out&&(e.avail_out===0||n===be))if(this.options.to==="string"){let _=ge.utf8border(e.output,e.next_out),a=e.next_out-_,o=ge.buf2string(e.output,_);e.next_out=a,e.avail_out=r-a,a&&e.output.set(e.output.subarray(_,_+a),0),this.onData(o)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(n===K&&f===0)){if(n===be)return n=B.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};j.prototype.onData=function(t){this.chunks.push(t)};j.prototype.onEnd=function(t){t===K&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=At.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function pe(t,i){let e=new j(i);if(e.push(t),e.err)throw e.msg||ke[e.err];return e.result}function mi(t,i){return i=i||{},i.raw=!0,pe(t,i)}V.exports.Inflate=j;V.exports.inflate=pe;V.exports.inflateRaw=mi;V.exports.ungzip=pe;V.exports.constants=J()});var Nt=1953029805,Mt=2917034100;function oe(t,i){if(oe.passThroughDataForTesting)return i;ae.typeOf.object("key",t),ae.typeOf.object("data",i);let e=t.byteLength;if(e===0||e%4!==0)throw new D("The length of key must be greater than 0 and a multiple of 4.");let r=new DataView(i),s=r.getUint32(0,!0);if(s===Nt||s===Mt)return i;let n=new DataView(t),c=0,f=i.byteLength,_=f-f%8,a=e,o,v=8;for(;c<_;)for(v=(v+8)%24,o=v;c<_&&o<a;)r.setUint32(c,r.getUint32(c,!0)^n.getUint32(o,!0),!0),r.setUint32(c+4,r.getUint32(c+4,!0)^n.getUint32(o+4,!0),!0),c+=8,o+=24;if(c<f)for(o>=a&&(v=(v+8)%24,o=v);c<f;)r.setUint8(c,r.getUint8(c)^n.getUint8(o)),c++,o++}oe.passThroughDataForTesting=!1;var Te=oe;function Zt(t,i){return(t&i)!==0}var F=Zt;var Bt=[1,2,4,8],ve=15,Ct=16,Lt=64,Pt=128;function N(t,i,e,r,s,n){this._bits=t,this.cnodeVersion=i,this.imageryVersion=e,this.terrainVersion=r,this.imageryProvider=s,this.terrainProvider=n,this.ancestorHasTerrain=!1,this.terrainState=void 0}N.clone=function(t,i){return me(i)?(i._bits=t._bits,i.cnodeVersion=t.cnodeVersion,i.imageryVersion=t.imageryVersion,i.terrainVersion=t.terrainVersion,i.imageryProvider=t.imageryProvider,i.terrainProvider=t.terrainProvider):i=new N(t._bits,t.cnodeVersion,t.imageryVersion,t.terrainVersion,t.imageryProvider,t.terrainProvider),i.ancestorHasTerrain=t.ancestorHasTerrain,i.terrainState=t.terrainState,i};N.prototype.setParent=function(t){this.ancestorHasTerrain=t.ancestorHasTerrain||this.hasTerrain()};N.prototype.hasSubtree=function(){return F(this._bits,Ct)};N.prototype.hasImagery=function(){return F(this._bits,Lt)};N.prototype.hasTerrain=function(){return F(this._bits,Pt)};N.prototype.hasChildren=function(){return F(this._bits,ve)};N.prototype.hasChild=function(t){return F(this._bits,Bt[t])};N.prototype.getChildBitmask=function(){return this._bits&ve};var ye=N;var Ut=Ot(Rt(),1);var G=Uint16Array.BYTES_PER_ELEMENT,H=Int32Array.BYTES_PER_ELEMENT,Y=Uint32Array.BYTES_PER_ELEMENT,C={METADATA:0,TERRAIN:1,DBROOT:2};C.fromString=function(t){if(t==="Metadata")return C.METADATA;if(t==="Terrain")return C.TERRAIN;if(t==="DbRoot")return C.DBROOT};function Si(t,i){let e=C.fromString(t.type),r=t.buffer;Te(t.key,r);let s=Di(r);r=s.buffer;let n=s.length;switch(e){case C.METADATA:return vi(r,n,t.quadKey);case C.TERRAIN:return Ii(r,n,i);case C.DBROOT:return i.push(r),{buffer:r}}}var Ti=32301;function vi(t,i,e){let r=new DataView(t),s=0,n=r.getUint32(s,!0);if(s+=Y,n!==Ti)throw new D("Invalid magic");let c=r.getUint32(s,!0);if(s+=Y,c!==1)throw new D("Invalid data type. Must be 1 for QuadTreePacket");let f=r.getUint32(s,!0);if(s+=Y,f!==2)throw new D("Invalid QuadTreePacket version. Only version 2 is supported.");let _=r.getInt32(s,!0);s+=H;let a=r.getInt32(s,!0);if(s+=H,a!==32)throw new D("Invalid instance size.");let o=r.getInt32(s,!0);s+=H;let v=r.getInt32(s,!0);s+=H;let w=r.getInt32(s,!0);if(s+=H,o!==_*a+s)throw new D("Invalid dataBufferOffset");if(o+v+w!==i)throw new D("Invalid packet offsets");let l=[];for(let g=0;g<_;++g){let d=r.getUint8(s);++s,++s;let E=r.getUint16(s,!0);s+=G;let A=r.getUint16(s,!0);s+=G;let h=r.getUint16(s,!0);s+=G,s+=G,s+=G,s+=H,s+=H,s+=8;let S=r.getUint8(s++),k=r.getUint8(s++);s+=G,l.push(new ye(d,E,A,h,S,k))}let u=[],I=0;function p(g,d,E){let A=!1;if(E===4){if(d.hasSubtree())return;A=!0}for(let h=0;h<4;++h){let S=g+h.toString();if(A)u[S]=null;else if(E<4)if(!d.hasChild(h))u[S]=null;else{if(I===_){console.log("Incorrect number of instances");return}let k=l[I++];u[S]=k,p(S,k,E+1)}}}let x=0,T=l[I++];return e===""?++x:u[e]=T,p(e,T,x),u}var yi=5,Ai=4;function Ii(t,i,e){let r=new DataView(t),s=function(f){for(let _=0;_<Ai;++_){let a=r.getUint32(f,!0);if(f+=Y,f+=a,f>i)throw new D("Malformed terrain packet found.")}return f},n=0,c=[];for(;c.length<yi;){let f=n;n=s(n);let _=t.slice(f,n);e.push(_),c.push(_)}return c}var Dt=1953029805,Ri=2917034100;function Di(t){let i=new DataView(t),e=0,r=i.getUint32(e,!0);if(e+=Y,r!==Dt&&r!==Ri)throw new D("Invalid magic");let s=i.getUint32(e,r===Dt);e+=Y;let n=new Uint8Array(t,e),c=Ut.default.inflate(n);if(c.length!==s)throw new D("Size of packet doesn't match header");return c}var en=Se(Si);export{en as default}; +import{a as Se}from"./chunk-YEUI4ZO2.js";import{a as D}from"./chunk-GVFM5H7M.js";import{b as ae}from"./chunk-4BGNE6LH.js";import{c as R,d as Ot,e as me}from"./chunk-OX5CTLXY.js";var Ie=R((Li,Ae)=>{"use strict";var zt=(t,i,e,r)=>{let s=t&65535|0,n=t>>>16&65535|0,c=0;for(;e!==0;){c=e>2e3?2e3:e,e-=c;do s=s+i[r++]|0,n=n+s|0;while(--c);s%=65521,n%=65521}return s|n<<16|0};Ae.exports=zt});var De=R((Pi,Re)=>{"use strict";var Ht=()=>{let t,i=[];for(var e=0;e<256;e++){t=e;for(var r=0;r<8;r++)t=t&1?3988292384^t>>>1:t>>>1;i[e]=t}return i},Ft=new Uint32Array(Ht()),Vt=(t,i,e,r)=>{let s=Ft,n=r+e;t^=-1;for(let c=r;c<n;c++)t=t>>>8^s[(t^i[c])&255];return t^-1};Re.exports=Vt});var Oe=R((zi,Ue)=>{"use strict";Ue.exports=function(i,e){let r,s,n,c,f,_,a,o,v,w,l,u,I,p,x,T,g,d,E,A,h,S,k,b,m=i.state;r=i.next_in,k=i.input,s=r+(i.avail_in-5),n=i.next_out,b=i.output,c=n-(e-i.avail_out),f=n+(i.avail_out-257),_=m.dmax,a=m.wsize,o=m.whave,v=m.wnext,w=m.window,l=m.hold,u=m.bits,I=m.lencode,p=m.distcode,x=(1<<m.lenbits)-1,T=(1<<m.distbits)-1;e:do{u<15&&(l+=k[r++]<<u,u+=8,l+=k[r++]<<u,u+=8),g=I[l&x];t:for(;;){if(d=g>>>24,l>>>=d,u-=d,d=g>>>16&255,d===0)b[n++]=g&65535;else if(d&16){E=g&65535,d&=15,d&&(u<d&&(l+=k[r++]<<u,u+=8),E+=l&(1<<d)-1,l>>>=d,u-=d),u<15&&(l+=k[r++]<<u,u+=8,l+=k[r++]<<u,u+=8),g=p[l&T];i:for(;;){if(d=g>>>24,l>>>=d,u-=d,d=g>>>16&255,d&16){if(A=g&65535,d&=15,u<d&&(l+=k[r++]<<u,u+=8,u<d&&(l+=k[r++]<<u,u+=8)),A+=l&(1<<d)-1,A>_){i.msg="invalid distance too far back",m.mode=16209;break e}if(l>>>=d,u-=d,d=n-c,A>d){if(d=A-d,d>o&&m.sane){i.msg="invalid distance too far back",m.mode=16209;break e}if(h=0,S=w,v===0){if(h+=a-d,d<E){E-=d;do b[n++]=w[h++];while(--d);h=n-A,S=b}}else if(v<d){if(h+=a+v-d,d-=v,d<E){E-=d;do b[n++]=w[h++];while(--d);if(h=0,v<E){d=v,E-=d;do b[n++]=w[h++];while(--d);h=n-A,S=b}}}else if(h+=v-d,d<E){E-=d;do b[n++]=w[h++];while(--d);h=n-A,S=b}for(;E>2;)b[n++]=S[h++],b[n++]=S[h++],b[n++]=S[h++],E-=3;E&&(b[n++]=S[h++],E>1&&(b[n++]=S[h++]))}else{h=n-A;do b[n++]=b[h++],b[n++]=b[h++],b[n++]=b[h++],E-=3;while(E>2);E&&(b[n++]=b[h++],E>1&&(b[n++]=b[h++]))}}else if(d&64){i.msg="invalid distance code",m.mode=16209;break e}else{g=p[(g&65535)+(l&(1<<d)-1)];continue i}break}}else if(d&64)if(d&32){m.mode=16191;break e}else{i.msg="invalid literal/length code",m.mode=16209;break e}else{g=I[(g&65535)+(l&(1<<d)-1)];continue t}break}}while(r<s&&n<f);E=u>>3,r-=E,u-=E<<3,l&=(1<<u)-1,i.next_in=r,i.next_out=n,i.avail_in=r<s?5+(s-r):5-(r-s),i.avail_out=n<f?257+(f-n):257-(n-f),m.hold=l,m.bits=u}});var Me=R((Hi,Ne)=>{"use strict";var Gt=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),Yt=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),Xt=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),qt=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]),Kt=(t,i,e,r,s,n,c,f)=>{let _=f.bits,a=0,o=0,v=0,w=0,l=0,u=0,I=0,p=0,x=0,T=0,g,d,E,A,h,S=null,k,b=new Uint16Array(16),m=new Uint16Array(16),L=null,Ee,W,Q;for(a=0;a<=15;a++)b[a]=0;for(o=0;o<r;o++)b[i[e+o]]++;for(l=_,w=15;w>=1&&b[w]===0;w--);if(l>w&&(l=w),w===0)return s[n++]=1<<24|64<<16|0,s[n++]=1<<24|64<<16|0,f.bits=1,0;for(v=1;v<w&&b[v]===0;v++);for(l<v&&(l=v),p=1,a=1;a<=15;a++)if(p<<=1,p-=b[a],p<0)return-1;if(p>0&&(t===0||w!==1))return-1;for(m[1]=0,a=1;a<15;a++)m[a+1]=m[a]+b[a];for(o=0;o<r;o++)i[e+o]!==0&&(c[m[i[e+o]]++]=o);if(t===0?(S=L=c,k=20):t===1?(S=Gt,L=Yt,k=257):(S=Xt,L=qt,k=0),T=0,o=0,a=v,h=n,u=l,I=0,E=-1,x=1<<l,A=x-1,t===1&&x>852||t===2&&x>592)return 1;for(;;){Ee=a-I,c[o]+1<k?(W=0,Q=c[o]):c[o]>=k?(W=L[c[o]-k],Q=S[c[o]-k]):(W=96,Q=0),g=1<<a-I,d=1<<u,v=d;do d-=g,s[h+(T>>I)+d]=Ee<<24|W<<16|Q|0;while(d!==0);for(g=1<<a-1;T&g;)g>>=1;if(g!==0?(T&=g-1,T+=g):T=0,o++,--b[a]===0){if(a===w)break;a=i[e+c[o]]}if(a>l&&(T&A)!==E){for(I===0&&(I=l),h+=v,u=a-I,p=1<<u;u+I<w&&(p-=b[u+I],!(p<=0));)u++,p<<=1;if(x+=1<<u,t===1&&x>852||t===2&&x>592)return 1;E=T&A,s[E]=l<<24|u<<16|h-n|0}}return T!==0&&(s[h+T]=a-I<<24|64<<16|0),f.bits=l,0};Ne.exports=Kt});var J=R((Fi,Ze)=>{"use strict";Ze.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}});var bt=R((Vi,O)=>{"use strict";var he=Ie(),M=De(),jt=Oe(),X=Me(),Wt=0,st=1,ft=2,{Z_FINISH:Be,Z_BLOCK:Qt,Z_TREES:$,Z_OK:P,Z_STREAM_END:Jt,Z_NEED_DICT:$t,Z_STREAM_ERROR:U,Z_DATA_ERROR:lt,Z_MEM_ERROR:ue,Z_BUF_ERROR:ei,Z_DEFLATED:Ce}=J(),ne=16180,Le=16181,Pe=16182,ze=16183,He=16184,Fe=16185,Ve=16186,Ge=16187,Ye=16188,Xe=16189,ie=16190,Z=16191,se=16192,qe=16193,fe=16194,Ke=16195,je=16196,We=16197,Qe=16198,ee=16199,te=16200,Je=16201,$e=16202,et=16203,tt=16204,it=16205,le=16206,nt=16207,rt=16208,y=16209,we=16210,ct=16211,ti=852,ii=592,ni=15,ri=ni,at=t=>(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24);function ai(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}var z=t=>{if(!t)return 1;let i=t.state;return!i||i.strm!==t||i.mode<ne||i.mode>ct?1:0},dt=t=>{if(z(t))return U;let i=t.state;return t.total_in=t.total_out=i.total=0,t.msg="",i.wrap&&(t.adler=i.wrap&1),i.mode=ne,i.last=0,i.havedict=0,i.flags=-1,i.dmax=32768,i.head=null,i.hold=0,i.bits=0,i.lencode=i.lendyn=new Int32Array(ti),i.distcode=i.distdyn=new Int32Array(ii),i.sane=1,i.back=-1,P},ht=t=>{if(z(t))return U;let i=t.state;return i.wsize=0,i.whave=0,i.wnext=0,dt(t)},ut=(t,i)=>{let e;if(z(t))return U;let r=t.state;return i<0?(e=0,i=-i):(e=(i>>4)+5,i<48&&(i&=15)),i&&(i<8||i>15)?U:(r.window!==null&&r.wbits!==i&&(r.window=null),r.wrap=e,r.wbits=i,ht(t))},wt=(t,i)=>{if(!t)return U;let e=new ai;t.state=e,e.strm=t,e.window=null,e.mode=ne;let r=ut(t,i);return r!==P&&(t.state=null),r},oi=t=>wt(t,ri),ot=!0,ce,de,si=t=>{if(ot){ce=new Int32Array(512),de=new Int32Array(32);let i=0;for(;i<144;)t.lens[i++]=8;for(;i<256;)t.lens[i++]=9;for(;i<280;)t.lens[i++]=7;for(;i<288;)t.lens[i++]=8;for(X(st,t.lens,0,288,ce,0,t.work,{bits:9}),i=0;i<32;)t.lens[i++]=5;X(ft,t.lens,0,32,de,0,t.work,{bits:5}),ot=!1}t.lencode=ce,t.lenbits=9,t.distcode=de,t.distbits=5},xt=(t,i,e,r)=>{let s,n=t.state;return n.window===null&&(n.wsize=1<<n.wbits,n.wnext=0,n.whave=0,n.window=new Uint8Array(n.wsize)),r>=n.wsize?(n.window.set(i.subarray(e-n.wsize,e),0),n.wnext=0,n.whave=n.wsize):(s=n.wsize-n.wnext,s>r&&(s=r),n.window.set(i.subarray(e-r,e-r+s),n.wnext),r-=s,r?(n.window.set(i.subarray(e-r,e),0),n.wnext=r,n.whave=n.wsize):(n.wnext+=s,n.wnext===n.wsize&&(n.wnext=0),n.whave<n.wsize&&(n.whave+=s))),0},fi=(t,i)=>{let e,r,s,n,c,f,_,a,o,v,w,l,u,I,p=0,x,T,g,d,E,A,h,S,k=new Uint8Array(4),b,m,L=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(z(t)||!t.output||!t.input&&t.avail_in!==0)return U;e=t.state,e.mode===Z&&(e.mode=se),c=t.next_out,s=t.output,_=t.avail_out,n=t.next_in,r=t.input,f=t.avail_in,a=e.hold,o=e.bits,v=f,w=_,S=P;e:for(;;)switch(e.mode){case ne:if(e.wrap===0){e.mode=se;break}for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.wrap&2&&a===35615){e.wbits===0&&(e.wbits=15),e.check=0,k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0),a=0,o=0,e.mode=Le;break}if(e.head&&(e.head.done=!1),!(e.wrap&1)||(((a&255)<<8)+(a>>8))%31){t.msg="incorrect header check",e.mode=y;break}if((a&15)!==Ce){t.msg="unknown compression method",e.mode=y;break}if(a>>>=4,o-=4,h=(a&15)+8,e.wbits===0&&(e.wbits=h),h>15||h>e.wbits){t.msg="invalid window size",e.mode=y;break}e.dmax=1<<e.wbits,e.flags=0,t.adler=e.check=1,e.mode=a&512?Xe:Z,a=0,o=0;break;case Le:for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.flags=a,(e.flags&255)!==Ce){t.msg="unknown compression method",e.mode=y;break}if(e.flags&57344){t.msg="unknown header flags set",e.mode=y;break}e.head&&(e.head.text=a>>8&1),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0)),a=0,o=0,e.mode=Pe;case Pe:for(;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.head&&(e.head.time=a),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,k[2]=a>>>16&255,k[3]=a>>>24&255,e.check=M(e.check,k,4,0)),a=0,o=0,e.mode=ze;case ze:for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.head&&(e.head.xflags=a&255,e.head.os=a>>8),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0)),a=0,o=0,e.mode=He;case He:if(e.flags&1024){for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.length=a,e.head&&(e.head.extra_len=a),e.flags&512&&e.wrap&4&&(k[0]=a&255,k[1]=a>>>8&255,e.check=M(e.check,k,2,0)),a=0,o=0}else e.head&&(e.head.extra=null);e.mode=Fe;case Fe:if(e.flags&1024&&(l=e.length,l>f&&(l=f),l&&(e.head&&(h=e.head.extra_len-e.length,e.head.extra||(e.head.extra=new Uint8Array(e.head.extra_len)),e.head.extra.set(r.subarray(n,n+l),h)),e.flags&512&&e.wrap&4&&(e.check=M(e.check,r,l,n)),f-=l,n+=l,e.length-=l),e.length))break e;e.length=0,e.mode=Ve;case Ve:if(e.flags&2048){if(f===0)break e;l=0;do h=r[n+l++],e.head&&h&&e.length<65536&&(e.head.name+=String.fromCharCode(h));while(h&&l<f);if(e.flags&512&&e.wrap&4&&(e.check=M(e.check,r,l,n)),f-=l,n+=l,h)break e}else e.head&&(e.head.name=null);e.length=0,e.mode=Ge;case Ge:if(e.flags&4096){if(f===0)break e;l=0;do h=r[n+l++],e.head&&h&&e.length<65536&&(e.head.comment+=String.fromCharCode(h));while(h&&l<f);if(e.flags&512&&e.wrap&4&&(e.check=M(e.check,r,l,n)),f-=l,n+=l,h)break e}else e.head&&(e.head.comment=null);e.mode=Ye;case Ye:if(e.flags&512){for(;o<16;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.wrap&4&&a!==(e.check&65535)){t.msg="header crc mismatch",e.mode=y;break}a=0,o=0}e.head&&(e.head.hcrc=e.flags>>9&1,e.head.done=!0),t.adler=e.check=0,e.mode=Z;break;case Xe:for(;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}t.adler=e.check=at(a),a=0,o=0,e.mode=ie;case ie:if(e.havedict===0)return t.next_out=c,t.avail_out=_,t.next_in=n,t.avail_in=f,e.hold=a,e.bits=o,$t;t.adler=e.check=1,e.mode=Z;case Z:if(i===Qt||i===$)break e;case se:if(e.last){a>>>=o&7,o-=o&7,e.mode=le;break}for(;o<3;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}switch(e.last=a&1,a>>>=1,o-=1,a&3){case 0:e.mode=qe;break;case 1:if(si(e),e.mode=ee,i===$){a>>>=2,o-=2;break e}break;case 2:e.mode=je;break;case 3:t.msg="invalid block type",e.mode=y}a>>>=2,o-=2;break;case qe:for(a>>>=o&7,o-=o&7;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if((a&65535)!==(a>>>16^65535)){t.msg="invalid stored block lengths",e.mode=y;break}if(e.length=a&65535,a=0,o=0,e.mode=fe,i===$)break e;case fe:e.mode=Ke;case Ke:if(l=e.length,l){if(l>f&&(l=f),l>_&&(l=_),l===0)break e;s.set(r.subarray(n,n+l),c),f-=l,n+=l,_-=l,c+=l,e.length-=l;break}e.mode=Z;break;case je:for(;o<14;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.nlen=(a&31)+257,a>>>=5,o-=5,e.ndist=(a&31)+1,a>>>=5,o-=5,e.ncode=(a&15)+4,a>>>=4,o-=4,e.nlen>286||e.ndist>30){t.msg="too many length or distance symbols",e.mode=y;break}e.have=0,e.mode=We;case We:for(;e.have<e.ncode;){for(;o<3;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.lens[L[e.have++]]=a&7,a>>>=3,o-=3}for(;e.have<19;)e.lens[L[e.have++]]=0;if(e.lencode=e.lendyn,e.lenbits=7,b={bits:e.lenbits},S=X(Wt,e.lens,0,19,e.lencode,0,e.work,b),e.lenbits=b.bits,S){t.msg="invalid code lengths set",e.mode=y;break}e.have=0,e.mode=Qe;case Qe:for(;e.have<e.nlen+e.ndist;){for(;p=e.lencode[a&(1<<e.lenbits)-1],x=p>>>24,T=p>>>16&255,g=p&65535,!(x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(g<16)a>>>=x,o-=x,e.lens[e.have++]=g;else{if(g===16){for(m=x+2;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(a>>>=x,o-=x,e.have===0){t.msg="invalid bit length repeat",e.mode=y;break}h=e.lens[e.have-1],l=3+(a&3),a>>>=2,o-=2}else if(g===17){for(m=x+3;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=x,o-=x,h=0,l=3+(a&7),a>>>=3,o-=3}else{for(m=x+7;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=x,o-=x,h=0,l=11+(a&127),a>>>=7,o-=7}if(e.have+l>e.nlen+e.ndist){t.msg="invalid bit length repeat",e.mode=y;break}for(;l--;)e.lens[e.have++]=h}}if(e.mode===y)break;if(e.lens[256]===0){t.msg="invalid code -- missing end-of-block",e.mode=y;break}if(e.lenbits=9,b={bits:e.lenbits},S=X(st,e.lens,0,e.nlen,e.lencode,0,e.work,b),e.lenbits=b.bits,S){t.msg="invalid literal/lengths set",e.mode=y;break}if(e.distbits=6,e.distcode=e.distdyn,b={bits:e.distbits},S=X(ft,e.lens,e.nlen,e.ndist,e.distcode,0,e.work,b),e.distbits=b.bits,S){t.msg="invalid distances set",e.mode=y;break}if(e.mode=ee,i===$)break e;case ee:e.mode=te;case te:if(f>=6&&_>=258){t.next_out=c,t.avail_out=_,t.next_in=n,t.avail_in=f,e.hold=a,e.bits=o,jt(t,w),c=t.next_out,s=t.output,_=t.avail_out,n=t.next_in,r=t.input,f=t.avail_in,a=e.hold,o=e.bits,e.mode===Z&&(e.back=-1);break}for(e.back=0;p=e.lencode[a&(1<<e.lenbits)-1],x=p>>>24,T=p>>>16&255,g=p&65535,!(x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(T&&!(T&240)){for(d=x,E=T,A=g;p=e.lencode[A+((a&(1<<d+E)-1)>>d)],x=p>>>24,T=p>>>16&255,g=p&65535,!(d+x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=d,o-=d,e.back+=d}if(a>>>=x,o-=x,e.back+=x,e.length=g,T===0){e.mode=it;break}if(T&32){e.back=-1,e.mode=Z;break}if(T&64){t.msg="invalid literal/length code",e.mode=y;break}e.extra=T&15,e.mode=Je;case Je:if(e.extra){for(m=e.extra;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.length+=a&(1<<e.extra)-1,a>>>=e.extra,o-=e.extra,e.back+=e.extra}e.was=e.length,e.mode=$e;case $e:for(;p=e.distcode[a&(1<<e.distbits)-1],x=p>>>24,T=p>>>16&255,g=p&65535,!(x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(!(T&240)){for(d=x,E=T,A=g;p=e.distcode[A+((a&(1<<d+E)-1)>>d)],x=p>>>24,T=p>>>16&255,g=p&65535,!(d+x<=o);){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}a>>>=d,o-=d,e.back+=d}if(a>>>=x,o-=x,e.back+=x,T&64){t.msg="invalid distance code",e.mode=y;break}e.offset=g,e.extra=T&15,e.mode=et;case et:if(e.extra){for(m=e.extra;o<m;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}e.offset+=a&(1<<e.extra)-1,a>>>=e.extra,o-=e.extra,e.back+=e.extra}if(e.offset>e.dmax){t.msg="invalid distance too far back",e.mode=y;break}e.mode=tt;case tt:if(_===0)break e;if(l=w-_,e.offset>l){if(l=e.offset-l,l>e.whave&&e.sane){t.msg="invalid distance too far back",e.mode=y;break}l>e.wnext?(l-=e.wnext,u=e.wsize-l):u=e.wnext-l,l>e.length&&(l=e.length),I=e.window}else I=s,u=c-e.offset,l=e.length;l>_&&(l=_),_-=l,e.length-=l;do s[c++]=I[u++];while(--l);e.length===0&&(e.mode=te);break;case it:if(_===0)break e;s[c++]=e.length,_--,e.mode=te;break;case le:if(e.wrap){for(;o<32;){if(f===0)break e;f--,a|=r[n++]<<o,o+=8}if(w-=_,t.total_out+=w,e.total+=w,e.wrap&4&&w&&(t.adler=e.check=e.flags?M(e.check,s,w,c-w):he(e.check,s,w,c-w)),w=_,e.wrap&4&&(e.flags?a:at(a))!==e.check){t.msg="incorrect data check",e.mode=y;break}a=0,o=0}e.mode=nt;case nt:if(e.wrap&&e.flags){for(;o<32;){if(f===0)break e;f--,a+=r[n++]<<o,o+=8}if(e.wrap&4&&a!==(e.total&4294967295)){t.msg="incorrect length check",e.mode=y;break}a=0,o=0}e.mode=rt;case rt:S=Jt;break e;case y:S=lt;break e;case we:return ue;case ct:default:return U}return t.next_out=c,t.avail_out=_,t.next_in=n,t.avail_in=f,e.hold=a,e.bits=o,(e.wsize||w!==t.avail_out&&e.mode<y&&(e.mode<le||i!==Be))&&xt(t,t.output,t.next_out,w-t.avail_out)?(e.mode=we,ue):(v-=t.avail_in,w-=t.avail_out,t.total_in+=v,t.total_out+=w,e.total+=w,e.wrap&4&&w&&(t.adler=e.check=e.flags?M(e.check,s,w,t.next_out-w):he(e.check,s,w,t.next_out-w)),t.data_type=e.bits+(e.last?64:0)+(e.mode===Z?128:0)+(e.mode===ee||e.mode===fe?256:0),(v===0&&w===0||i===Be)&&S===P&&(S=ei),S)},li=t=>{if(z(t))return U;let i=t.state;return i.window&&(i.window=null),t.state=null,P},ci=(t,i)=>{if(z(t))return U;let e=t.state;return e.wrap&2?(e.head=i,i.done=!1,P):U},di=(t,i)=>{let e=i.length,r,s,n;return z(t)||(r=t.state,r.wrap!==0&&r.mode!==ie)?U:r.mode===ie&&(s=1,s=he(s,i,e,0),s!==r.check)?lt:(n=xt(t,i,e,e),n?(r.mode=we,ue):(r.havedict=1,P))};O.exports.inflateReset=ht;O.exports.inflateReset2=ut;O.exports.inflateResetKeep=dt;O.exports.inflateInit=oi;O.exports.inflateInit2=wt;O.exports.inflate=fi;O.exports.inflateEnd=li;O.exports.inflateGetHeader=ci;O.exports.inflateSetDictionary=di;O.exports.inflateInfo="pako inflate (from Nodeca project)"});var _t=R((Gi,xe)=>{"use strict";var hi=(t,i)=>Object.prototype.hasOwnProperty.call(t,i);xe.exports.assign=function(t){let i=Array.prototype.slice.call(arguments,1);for(;i.length;){let e=i.shift();if(e){if(typeof e!="object")throw new TypeError(e+"must be non-object");for(let r in e)hi(e,r)&&(t[r]=e[r])}}return t};xe.exports.flattenChunks=t=>{let i=0;for(let r=0,s=t.length;r<s;r++)i+=t[r].length;let e=new Uint8Array(i);for(let r=0,s=0,n=t.length;r<n;r++){let c=t[r];e.set(c,s),s+=c.length}return e}});var kt=R((Yi,re)=>{"use strict";var gt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{gt=!1}var q=new Uint8Array(256);for(let t=0;t<256;t++)q[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;q[254]=q[254]=1;re.exports.string2buf=t=>{if(typeof TextEncoder=="function"&&TextEncoder.prototype.encode)return new TextEncoder().encode(t);let i,e,r,s,n,c=t.length,f=0;for(s=0;s<c;s++)e=t.charCodeAt(s),(e&64512)===55296&&s+1<c&&(r=t.charCodeAt(s+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),s++)),f+=e<128?1:e<2048?2:e<65536?3:4;for(i=new Uint8Array(f),n=0,s=0;n<f;s++)e=t.charCodeAt(s),(e&64512)===55296&&s+1<c&&(r=t.charCodeAt(s+1),(r&64512)===56320&&(e=65536+(e-55296<<10)+(r-56320),s++)),e<128?i[n++]=e:e<2048?(i[n++]=192|e>>>6,i[n++]=128|e&63):e<65536?(i[n++]=224|e>>>12,i[n++]=128|e>>>6&63,i[n++]=128|e&63):(i[n++]=240|e>>>18,i[n++]=128|e>>>12&63,i[n++]=128|e>>>6&63,i[n++]=128|e&63);return i};var ui=(t,i)=>{if(i<65534&&t.subarray&>)return String.fromCharCode.apply(null,t.length===i?t:t.subarray(0,i));let e="";for(let r=0;r<i;r++)e+=String.fromCharCode(t[r]);return e};re.exports.buf2string=(t,i)=>{let e=i||t.length;if(typeof TextDecoder=="function"&&TextDecoder.prototype.decode)return new TextDecoder().decode(t.subarray(0,i));let r,s,n=new Array(e*2);for(s=0,r=0;r<e;){let c=t[r++];if(c<128){n[s++]=c;continue}let f=q[c];if(f>4){n[s++]=65533,r+=f-1;continue}for(c&=f===2?31:f===3?15:7;f>1&&r<e;)c=c<<6|t[r++]&63,f--;if(f>1){n[s++]=65533;continue}c<65536?n[s++]=c:(c-=65536,n[s++]=55296|c>>10&1023,n[s++]=56320|c&1023)}return ui(n,s)};re.exports.utf8border=(t,i)=>{i=i||t.length,i>t.length&&(i=t.length);let e=i-1;for(;e>=0&&(t[e]&192)===128;)e--;return e<0||e===0?i:e+q[t[e]]>i?e:i}});var Et=R((Xi,pt)=>{"use strict";pt.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}});var St=R((qi,mt)=>{"use strict";function wi(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}mt.exports=wi});var vt=R((Ki,Tt)=>{"use strict";function xi(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}Tt.exports=xi});var Rt=R((ji,V)=>{"use strict";var B=bt(),At=_t(),ge=kt(),ke=Et(),bi=St(),_i=vt(),It=Object.prototype.toString,{Z_NO_FLUSH:gi,Z_FINISH:ki,Z_OK:K,Z_STREAM_END:be,Z_NEED_DICT:_e,Z_STREAM_ERROR:pi,Z_DATA_ERROR:yt,Z_MEM_ERROR:Ei}=J();function j(t){this.options=At.assign({chunkSize:1024*64,windowBits:15,to:""},t||{});let i=this.options;i.raw&&i.windowBits>=0&&i.windowBits<16&&(i.windowBits=-i.windowBits,i.windowBits===0&&(i.windowBits=-15)),i.windowBits>=0&&i.windowBits<16&&!(t&&t.windowBits)&&(i.windowBits+=32),i.windowBits>15&&i.windowBits<48&&(i.windowBits&15||(i.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new bi,this.strm.avail_out=0;let e=B.inflateInit2(this.strm,i.windowBits);if(e!==K)throw new Error(ke[e]);if(this.header=new _i,B.inflateGetHeader(this.strm,this.header),i.dictionary&&(typeof i.dictionary=="string"?i.dictionary=ge.string2buf(i.dictionary):It.call(i.dictionary)==="[object ArrayBuffer]"&&(i.dictionary=new Uint8Array(i.dictionary)),i.raw&&(e=B.inflateSetDictionary(this.strm,i.dictionary),e!==K)))throw new Error(ke[e])}j.prototype.push=function(t,i){let e=this.strm,r=this.options.chunkSize,s=this.options.dictionary,n,c,f;if(this.ended)return!1;for(i===~~i?c=i:c=i===!0?ki:gi,It.call(t)==="[object ArrayBuffer]"?e.input=new Uint8Array(t):e.input=t,e.next_in=0,e.avail_in=e.input.length;;){for(e.avail_out===0&&(e.output=new Uint8Array(r),e.next_out=0,e.avail_out=r),n=B.inflate(e,c),n===_e&&s&&(n=B.inflateSetDictionary(e,s),n===K?n=B.inflate(e,c):n===yt&&(n=_e));e.avail_in>0&&n===be&&e.state.wrap>0&&t[e.next_in]!==0;)B.inflateReset(e),n=B.inflate(e,c);switch(n){case pi:case yt:case _e:case Ei:return this.onEnd(n),this.ended=!0,!1}if(f=e.avail_out,e.next_out&&(e.avail_out===0||n===be))if(this.options.to==="string"){let _=ge.utf8border(e.output,e.next_out),a=e.next_out-_,o=ge.buf2string(e.output,_);e.next_out=a,e.avail_out=r-a,a&&e.output.set(e.output.subarray(_,_+a),0),this.onData(o)}else this.onData(e.output.length===e.next_out?e.output:e.output.subarray(0,e.next_out));if(!(n===K&&f===0)){if(n===be)return n=B.inflateEnd(this.strm),this.onEnd(n),this.ended=!0,!0;if(e.avail_in===0)break}}return!0};j.prototype.onData=function(t){this.chunks.push(t)};j.prototype.onEnd=function(t){t===K&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=At.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function pe(t,i){let e=new j(i);if(e.push(t),e.err)throw e.msg||ke[e.err];return e.result}function mi(t,i){return i=i||{},i.raw=!0,pe(t,i)}V.exports.Inflate=j;V.exports.inflate=pe;V.exports.inflateRaw=mi;V.exports.ungzip=pe;V.exports.constants=J()});var Nt=1953029805,Mt=2917034100;function oe(t,i){if(oe.passThroughDataForTesting)return i;ae.typeOf.object("key",t),ae.typeOf.object("data",i);let e=t.byteLength;if(e===0||e%4!==0)throw new D("The length of key must be greater than 0 and a multiple of 4.");let r=new DataView(i),s=r.getUint32(0,!0);if(s===Nt||s===Mt)return i;let n=new DataView(t),c=0,f=i.byteLength,_=f-f%8,a=e,o,v=8;for(;c<_;)for(v=(v+8)%24,o=v;c<_&&o<a;)r.setUint32(c,r.getUint32(c,!0)^n.getUint32(o,!0),!0),r.setUint32(c+4,r.getUint32(c+4,!0)^n.getUint32(o+4,!0),!0),c+=8,o+=24;if(c<f)for(o>=a&&(v=(v+8)%24,o=v);c<f;)r.setUint8(c,r.getUint8(c)^n.getUint8(o)),c++,o++}oe.passThroughDataForTesting=!1;var Te=oe;function Zt(t,i){return(t&i)!==0}var F=Zt;var Bt=[1,2,4,8],ve=15,Ct=16,Lt=64,Pt=128;function N(t,i,e,r,s,n){this._bits=t,this.cnodeVersion=i,this.imageryVersion=e,this.terrainVersion=r,this.imageryProvider=s,this.terrainProvider=n,this.ancestorHasTerrain=!1,this.terrainState=void 0}N.clone=function(t,i){return me(i)?(i._bits=t._bits,i.cnodeVersion=t.cnodeVersion,i.imageryVersion=t.imageryVersion,i.terrainVersion=t.terrainVersion,i.imageryProvider=t.imageryProvider,i.terrainProvider=t.terrainProvider):i=new N(t._bits,t.cnodeVersion,t.imageryVersion,t.terrainVersion,t.imageryProvider,t.terrainProvider),i.ancestorHasTerrain=t.ancestorHasTerrain,i.terrainState=t.terrainState,i};N.prototype.setParent=function(t){this.ancestorHasTerrain=t.ancestorHasTerrain||this.hasTerrain()};N.prototype.hasSubtree=function(){return F(this._bits,Ct)};N.prototype.hasImagery=function(){return F(this._bits,Lt)};N.prototype.hasTerrain=function(){return F(this._bits,Pt)};N.prototype.hasChildren=function(){return F(this._bits,ve)};N.prototype.hasChild=function(t){return F(this._bits,Bt[t])};N.prototype.getChildBitmask=function(){return this._bits&ve};var ye=N;var Ut=Ot(Rt(),1);var G=Uint16Array.BYTES_PER_ELEMENT,H=Int32Array.BYTES_PER_ELEMENT,Y=Uint32Array.BYTES_PER_ELEMENT,C={METADATA:0,TERRAIN:1,DBROOT:2};C.fromString=function(t){if(t==="Metadata")return C.METADATA;if(t==="Terrain")return C.TERRAIN;if(t==="DbRoot")return C.DBROOT};function Si(t,i){let e=C.fromString(t.type),r=t.buffer;Te(t.key,r);let s=Di(r);r=s.buffer;let n=s.length;switch(e){case C.METADATA:return vi(r,n,t.quadKey);case C.TERRAIN:return Ii(r,n,i);case C.DBROOT:return i.push(r),{buffer:r}}}var Ti=32301;function vi(t,i,e){let r=new DataView(t),s=0,n=r.getUint32(s,!0);if(s+=Y,n!==Ti)throw new D("Invalid magic");let c=r.getUint32(s,!0);if(s+=Y,c!==1)throw new D("Invalid data type. Must be 1 for QuadTreePacket");let f=r.getUint32(s,!0);if(s+=Y,f!==2)throw new D("Invalid QuadTreePacket version. Only version 2 is supported.");let _=r.getInt32(s,!0);s+=H;let a=r.getInt32(s,!0);if(s+=H,a!==32)throw new D("Invalid instance size.");let o=r.getInt32(s,!0);s+=H;let v=r.getInt32(s,!0);s+=H;let w=r.getInt32(s,!0);if(s+=H,o!==_*a+s)throw new D("Invalid dataBufferOffset");if(o+v+w!==i)throw new D("Invalid packet offsets");let l=[];for(let g=0;g<_;++g){let d=r.getUint8(s);++s,++s;let E=r.getUint16(s,!0);s+=G;let A=r.getUint16(s,!0);s+=G;let h=r.getUint16(s,!0);s+=G,s+=G,s+=G,s+=H,s+=H,s+=8;let S=r.getUint8(s++),k=r.getUint8(s++);s+=G,l.push(new ye(d,E,A,h,S,k))}let u=[],I=0;function p(g,d,E){let A=!1;if(E===4){if(d.hasSubtree())return;A=!0}for(let h=0;h<4;++h){let S=g+h.toString();if(A)u[S]=null;else if(E<4)if(!d.hasChild(h))u[S]=null;else{if(I===_){console.log("Incorrect number of instances");return}let k=l[I++];u[S]=k,p(S,k,E+1)}}}let x=0,T=l[I++];return e===""?++x:u[e]=T,p(e,T,x),u}var yi=5,Ai=4;function Ii(t,i,e){let r=new DataView(t),s=function(f){for(let _=0;_<Ai;++_){let a=r.getUint32(f,!0);if(f+=Y,f+=a,f>i)throw new D("Malformed terrain packet found.")}return f},n=0,c=[];for(;c.length<yi;){let f=n;n=s(n);let _=t.slice(f,n);e.push(_),c.push(_)}return c}var Dt=1953029805,Ri=2917034100;function Di(t){let i=new DataView(t),e=0,r=i.getUint32(e,!0);if(e+=Y,r!==Dt&&r!==Ri)throw new D("Invalid magic");let s=i.getUint32(e,r===Dt);e+=Y;let n=new Uint8Array(t,e),c=Ut.default.inflate(n);if(c.length!==s)throw new D("Size of packet doesn't match header");return c}var en=Se(Si);export{en as default}; diff --git a/public/lib/Cesium/Workers/decodeI3S.js b/public/lib/Cesium/Workers/decodeI3S.js index 9dbfdb14b..a00e58ba3 100644 --- a/public/lib/Cesium/Workers/decodeI3S.js +++ b/public/lib/Cesium/Workers/decodeI3S.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as xt}from"./chunk-FEOZU7P7.js";import{a as P}from"./chunk-XHJOIQBC.js";import{a as yt}from"./chunk-JQWRUZSV.js";import{a as ht}from"./chunk-ZPNGL6DU.js";import{a as g,b as ot,d as st,e as it}from"./chunk-RFPX772U.js";import{a as M}from"./chunk-RAYRECQS.js";import{a as ft}from"./chunk-6KLVDWWE.js";import{b as lt}from"./chunk-6P5KAIBX.js";import{d as mt,e as h}from"./chunk-4FSVUTPL.js";var at=mt(xt(),1);function wt(n){return lt.defined("value",n),n<=.04045?n*.07739938080495357:Math.pow((n+.055)*.9478672985781991,2.4)}var k=wt;var ut;function It(n,t,e,o,a,i){let r=e*(1-n)+o*n,s=a*(1-n)+i*n;return r*(1-t)+s*t}function H(n,t,e,o){let a=n+t*e;return o[a]}function At(n,t,e){let o=e.nativeExtent,a=(n-o.west)/(o.east-o.west)*(e.width-1),i=(t-o.south)/(o.north-o.south)*(e.height-1),r=Math.floor(a),s=Math.floor(i);a-=r,i-=s;let c=r<e.width?r+1:r,u=s<e.height?s+1:s;s=e.height-1-s,u=e.height-1-u;let l=H(r,s,e.width,e.buffer),f=H(c,s,e.width,e.buffer),p=H(r,u,e.width,e.buffer),m=H(c,u,e.width,e.buffer),d=It(a,i,l,f,p,m);return d=d*e.scale+e.offset,d}function bt(n,t,e){for(let o=0;o<e.length;o++){let a=e[o].nativeExtent,i=new g;if(e[o].projectionType==="WebMercator"){let r=e[o].projection._ellipsoid._radii;i=new ht(new st(r.x,r.y,r.z)).project(new ot(n,t,0))}else i.x=n,i.y=t;if(i.x>a.west&&i.x<a.east&&i.y>a.south&&i.y<a.north)return At(i.x,i.y,e[o])}return 0}function Lt(n,t,e,o,a,i,r){if(r)return;let s=bt(a.longitude,a.latitude,i);for(let c=0;c<n;++c){let u=bt(a.longitude+M.toRadians(e*t[c*3]),a.latitude+M.toRadians(o*t[c*3+1]),i);t[c*3+2]+=u-s}}function Ot(n,t,e,o,a,i,r,s,c){if(n===0||!h(t)||t.length===0)return;let u=new st(Math.sqrt(r.x),Math.sqrt(r.y),Math.sqrt(r.z));for(let l=0;l<n;++l){let f=l*3,p=f+1,m=f+2,d=new ot;d.longitude=o.longitude+M.toRadians(s*t[f]),d.latitude=o.latitude+M.toRadians(c*t[p]),d.height=o.height+t[m];let b={};u.cartographicToCartesian(d,b),b.x-=a.x,b.y-=a.y,b.z-=a.z;let x={};if(it.multiplyByVector(i,b,x),t[f]=x.x,t[p]=x.y,t[m]=x.z,h(e)){let T=new g(e[f],e[p],e[m]),I={};it.multiplyByVector(i,T,I),e[f]=I.x,e[p]=I.y,e[m]=I.z}}}function Tt(n,t,e){for(let o=0;o<n;++o){let a=e[o*4]/65535,i=e[o*4+1]/65535,r=(e[o*4+2]-e[o*4])/65535,s=(e[o*4+3]-e[o*4+1])/65535;t[o*2]*=r,t[o*2]+=a,t[o*2+1]*=s,t[o*2+1]+=i}}function Ct(n,t,e,o){let a=new Uint32Array(n),i=h(t)?s=>t[s]:s=>s,r=0;if(o&&h(e)){let s=c=>e[i(c)*4+3]<255;for(let c=0;c<n;c+=3)!s(c)&&!s(c+1)&&!s(c+2)&&(a[r++]=i(c),a[r++]=i(c+1),a[r++]=i(c+2));if(r>0){let c=r;for(let u=0;u<n;u+=3)(s(u)||s(u+1)||s(u+2))&&(a[c++]=i(u),a[c++]=i(u+1),a[c++]=i(u+2))}else for(let c=0;c<n;++c)a[c]=i(c)}else{r=n;for(let s=0;s<n;++s)a[s]=i(s)}return{indexArray:a,transparentVertexOffset:r}}function Ft(n,t,e){let o=t[e];if(h(o))return o;let a=t[e]={positions:{},indices:{},edges:{}},i=ft(n[e],n.default);return a.hasOutline=h(i?.edges),a}function Ut(n,t,e,o){if(!h(n[e])){let a=e*3,i=t;for(let r=0;r<3;r++){let s=o[a+r];h(i[s])||(i[s]={}),i=i[s]}h(i.index)||(i.index=e),n[e]=i.index}}function Vt(n,t,e,o,a,i){let r,s;o<a?(r=o,s=a):(r=a,s=o);let c=n[r];h(c)||(c=n[r]={});let u=c[s];h(u)||(u=c[s]={normalsIndex:[],outlines:[]}),u.normalsIndex.push(i),(u.outlines.length===0||t!==o||e!==a)&&u.outlines.push(t,e)}function Et(n,t,e,o){let a=[];for(let i=0;i<e.length;i+=3){let r=h(t)?t[e[i]]:"default",s=Ft(n,a,r);if(!s.hasOutline)continue;let c=s.indices,u=s.positions;for(let f=0;f<3;f++){let p=e[i+f];Ut(c,u,p,o)}let l=s.edges;for(let f=0;f<3;f++){let p=e[i+f],m=e[i+(f+1)%3],d=c[p],b=c[m];Vt(l,p,m,d,b,i)}}return a}var O=new g,X=new g,Y=new g;function gt(n,t,e,o){let a=e[t]*3,i=e[t+1]*3,r=e[t+2]*3;g.fromArray(o,a,O),g.fromArray(o,i,X),g.fromArray(o,r,Y),g.subtract(X,O,X),g.subtract(Y,O,Y),g.cross(X,Y,O);let s=g.magnitude(O);s!==0&&g.divideByScalar(O,s,O);let c=t*3,u=(t+1)*3,l=(t+2)*3;g.pack(O,n,c),g.pack(O,n,u),g.pack(O,n,l)}var z=new g,ct=new g;function _t(n,t,e){g.fromArray(n,t,z),g.fromArray(n,e,ct);let o=g.dot(z,ct),a=g.magnitude(g.cross(z,ct,z));return Math.atan2(a,o)<.25}function Rt(n,t,e,o,a){if(t.normalsIndex.length>1){let i=o.length===a.length;for(let r=0;r<t.normalsIndex.length;r++){let s=t.normalsIndex[r];if(h(a[s*3])||gt(a,s,e,o),r!==0)for(let c=0;c<r;c++){let u=t.normalsIndex[c],l=i?e[s]*3:s*3,f=i?e[u]*3:u*3;if(_t(a,l,f))return}}}n.push(...t.outlines)}function Nt(n,t,e,o,a){let i=Object.keys(t);for(let r=0;r<i.length;r++){let s=t[i[r]],c=Object.keys(s);for(let u=0;u<c.length;u++){let l=s[c[u]];Rt(n,l,e,o,a)}}}function Bt(n,t,e,o){let a=[],i=Object.keys(n);for(let r=0;r<i.length;r++){let s=n[i[r]].edges;Nt(a,s,t,e,o)}return a}function Gt(n,t,e,o,a){if(!h(n)||Object.keys(n).length===0)return;let i=Et(n,t,e,o);(!h(a)||e.length*3!==a.length)&&(a=[]);let r=Bt(i,e,o,a);return r.length>0?new Uint32Array(r):void 0}function St(n){let t=new Float32Array(n.length);for(let e=0;e<n.length;e+=4)t[e]=k(P.byteToFloat(n[e])),t[e+1]=k(P.byteToFloat(n[e+1])),t[e+2]=k(P.byteToFloat(n[e+2])),t[e+3]=P.byteToFloat(n[e+3]);return t}function vt(n,t,e,o,a,i,r){let s={normals:void 0,positions:void 0,uv0s:void 0,colors:void 0,featureIndex:void 0,vertexCount:void 0};if(n===0||!h(e)||e.length===0||h(o))return s;if(h(t)){s.vertexCount=t.length,s.positions=new Float32Array(t.length*3),s.uv0s=h(a)?new Float32Array(t.length*2):void 0,s.colors=h(i)?new Uint8Array(t.length*4):void 0,s.featureIndex=h(r)?new Array(t.length):void 0;for(let c=0;c<t.length;c++){let u=t[c];s.positions[c*3]=e[u*3],s.positions[c*3+1]=e[u*3+1],s.positions[c*3+2]=e[u*3+2],h(s.uv0s)&&(s.uv0s[c*2]=a[u*2],s.uv0s[c*2+1]=a[u*2+1]),h(s.colors)&&(s.colors[c*4]=i[u*4],s.colors[c*4+1]=i[u*4+1],s.colors[c*4+2]=i[u*4+2],s.colors[c*4+3]=i[u*4+3]),h(s.featureIndex)&&(s.featureIndex[c]=r[u])}n=t.length,e=s.positions}t=new Array(n);for(let c=0;c<n;c++)t[c]=c;s.normals=new Float32Array(t.length*3);for(let c=0;c<t.length;c+=3)gt(s.normals,c,t,e);return s}function Mt(n,t,e,o,a,i,r,s){if(n===0||!h(e)||e.length===0)return{buffers:[],bufferViews:[],accessors:[],meshes:[],nodes:[],nodesInScene:[]};let c=[],u=[],l=[],f=[],p=[],m=[],d={},b=[];h(t)&&(n=t.length);let{indexArray:x,transparentVertexOffset:T}=Ct(n,t,i,s.splitGeometryByColorTransparency),I=new Blob([x],{type:"application/binary"}),A=URL.createObjectURL(I),w=n,F=s.enableFeatures&&h(r)?new Float32Array(r.length):void 0,C=0;if(h(F))for(let y=0;y<r.length;++y){F[y]=r[y];let E=r[y]+1;C<E&&(C=E)}let U,R=Gt(s.symbologyData,r,x,e,o);if(h(R)){let y=new Blob([R],{type:"application/binary"});U=URL.createObjectURL(y)}let L=e.subarray(0,w*3),dt=new Blob([L],{type:"application/binary"}),pt=URL.createObjectURL(dt),D=Number.POSITIVE_INFINITY,K=Number.NEGATIVE_INFINITY,Q=Number.POSITIVE_INFINITY,Z=Number.NEGATIVE_INFINITY,J=Number.POSITIVE_INFINITY,$=Number.NEGATIVE_INFINITY;for(let y=0;y<L.length/3;y++)D=Math.min(D,L[y*3+0]),K=Math.max(K,L[y*3+0]),Q=Math.min(Q,L[y*3+1]),Z=Math.max(Z,L[y*3+1]),J=Math.min(J,L[y*3+2]),$=Math.max($,L[y*3+2]);let N=o?o.subarray(0,w*3):void 0,q;if(h(N)){let y=new Blob([N],{type:"application/binary"});q=URL.createObjectURL(y)}let B=a?a.subarray(0,w*2):void 0,tt;if(h(B)){let y=new Blob([B],{type:"application/binary"});tt=URL.createObjectURL(y)}let G=h(i)?St(i.subarray(0,w*4)):void 0,et;if(h(G)){let y=new Blob([G],{type:"application/binary"});et=URL.createObjectURL(y)}let S=h(F)?F.subarray(0,w):void 0,nt;if(h(S)){let y=new Blob([S],{type:"application/binary"});nt=URL.createObjectURL(y)}let _=h(F)?new Float32Array(C):void 0,rt;if(h(_)){for(let E=0;E<_.length;++E)_[E]=E;let y=new Blob([_],{type:"application/binary"});rt=URL.createObjectURL(y)}let V={},j={};V.POSITION=l.length,c.push({uri:pt,byteLength:L.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:L.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:L.length/3,type:"VEC3",max:[D,Q,J],min:[K,Z,$]}),h(q)&&(V.NORMAL=l.length,c.push({uri:q,byteLength:N.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:N.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:N.length/3,type:"VEC3"})),h(tt)&&(V.TEXCOORD_0=l.length,c.push({uri:tt,byteLength:B.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:B.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:B.length/2,type:"VEC2"})),h(et)&&(V.COLOR_0=l.length,c.push({uri:et,byteLength:G.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:G.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:G.length/4,type:"VEC4"})),h(nt)&&(V._FEATURE_ID_0=l.length,c.push({uri:nt,byteLength:S.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:S.byteLength,target:34963}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:S.length,type:"SCALAR"}),j.EXT_mesh_features={featureIds:[{attribute:0,propertyTable:0,featureCount:C}]},b.push("EXT_mesh_features")),h(rt)&&(c.push({uri:rt,byteLength:_.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:_.byteLength,target:34963}),d.EXT_structural_metadata={schema:{id:"i3s-metadata-schema-001",name:"I3S metadata schema 001",description:"The schema for I3S metadata",version:"1.0",classes:{feature:{name:"feature",description:"Feature metadata",properties:{index:{description:"The feature index",type:"SCALAR",componentType:"FLOAT32",required:!0}}}}},propertyTables:[{name:"feature-indices-mapping",class:"feature",count:C,properties:{index:{values:u.length-1}}}]},b.push("EXT_structural_metadata")),h(U)&&(c.push({uri:U,byteLength:R.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:R.byteLength,target:34963}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5125,count:R.length,type:"SCALAR"}),j.CESIUM_primitive_outline={indices:l.length-1},b.push("CESIUM_primitive_outline")),c.push({uri:A,byteLength:x.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:x.byteLength,target:34963});let v=[];return T>0&&(l.push({bufferView:u.length-1,byteOffset:0,componentType:5125,count:T,type:"SCALAR"}),v.push({attributes:V,indices:l.length-1,material:v.length,extensions:j})),T<n&&(l.push({bufferView:u.length-1,byteOffset:4*T,componentType:5125,count:n-T,type:"SCALAR"}),v.push({attributes:V,indices:l.length-1,material:v.length,extensions:j,extra:{isTransparent:!0}})),f.push({primitives:v}),m.push(0),p.push({mesh:0}),{buffers:c,bufferViews:u,accessors:l,meshes:f,nodes:p,nodesInScene:m,rootExtensions:d,extensionsUsed:b}}function Pt(n,t,e,o){let a=new Uint8Array(n,0,5);return a[0]===68&&a[1]===82&&a[2]===65&&a[3]===67&&a[4]===79?jt(n,e):Ht(n,t,e,o)}function jt(n){let t=ut,e=new t.DecoderBuffer,o=new Uint8Array(n);e.Init(o,o.length);let a=new t.Decoder,i=a.GetEncodedGeometryType(e),r=new t.MetadataQuerier,s,c;i===t.TRIANGULAR_MESH&&(s=new t.Mesh,c=a.DecodeBufferToMesh(e,s));let u={vertexCount:[0],featureCount:0};if(h(c)&&c.ok()&&s.ptr!==0){let l=s.num_faces(),f=s.num_attributes(),p=s.num_points();u.indices=new Uint32Array(l*3);let m=u.indices;u.vertexCount[0]=p,u.scale_x=1,u.scale_y=1;let d=new t.DracoInt32Array(3);for(let b=0;b<l;++b)a.GetFaceFromMesh(s,b,d),m[b*3]=d.GetValue(0),m[b*3+1]=d.GetValue(1),m[b*3+2]=d.GetValue(2);t.destroy(d);for(let b=0;b<f;++b){let x=a.GetAttribute(s,b),T=kt(t,a,s,x,p),I=x.attribute_type(),A="unknown";I===t.POSITION?A="positions":I===t.NORMAL?A="normals":I===t.COLOR?A="colors":I===t.TEX_COORD&&(A="uv0s");let w=a.GetAttributeMetadata(s,b);if(w.ptr!==0){let F=r.NumEntries(w);for(let C=0;C<F;++C){let U=r.GetEntryName(w,C);U==="i3s-scale_x"?u.scale_x=r.GetDoubleEntry(w,"i3s-scale_x"):U==="i3s-scale_y"?u.scale_y=r.GetDoubleEntry(w,"i3s-scale_y"):U==="i3s-attribute-type"&&(A=r.GetStringEntry(w,"i3s-attribute-type"))}}h(u[A])&&console.log("Attribute already exists",A),u[A]=T,A==="feature-index"&&u.featureCount++}t.destroy(s)}return t.destroy(r),t.destroy(a),u}function kt(n,t,e,o,a){let i=o.num_components()*a,r,c=[function(){},function(){r=new n.DracoInt8Array(i),t.GetAttributeInt8ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Int8Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt8Array(i),t.GetAttributeUInt8ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint8Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt16Array(i),t.GetAttributeInt16ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Int16Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt16Array(i),t.GetAttributeUInt16ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint16Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt32Array(i),t.GetAttributeInt32ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Int32Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt32Array(i),t.GetAttributeUInt32ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint32Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){},function(){},function(){r=new n.DracoFloat32Array(i),t.GetAttributeFloatForAllPoints(e,o,r)||console.error("Bad stream");let l=new Float32Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){},function(){r=new n.DracoUInt8Array(i),t.GetAttributeUInt8ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint8Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l}][o.data_type()]();return h(r)&&n.destroy(r),c}var W={position:function(n,t,e){let o=n.vertexCount*3;return n.positions=new Float32Array(t,e,o),e+=o*4,e},normal:function(n,t,e){let o=n.vertexCount*3;return n.normals=new Float32Array(t,e,o),e+=o*4,e},uv0:function(n,t,e){let o=n.vertexCount*2;return n.uv0s=new Float32Array(t,e,o),e+=o*4,e},color:function(n,t,e){let o=n.vertexCount*4;return n.colors=new Uint8Array(t,e,o),e+=o,e},featureId:function(n,t,e){let o=n.featureCount;return e+=o*8,e},id:function(n,t,e){let o=n.featureCount;return e+=o*8,e},faceRange:function(n,t,e){let o=n.featureCount*2;return n.faceRange=new Uint32Array(t,e,o),e+=o*4,e},uvRegion:function(n,t,e){let o=n.vertexCount*4;return n["uv-region"]=new Uint16Array(t,e,o),e+=o*2,e},region:function(n,t,e){let o=n.vertexCount*4;return n["uv-region"]=new Uint16Array(t,e,o),e+=o*2,e}};function Ht(n,t,e,o){let a={vertexCount:0},i=new DataView(n);try{let r=0;if(a.vertexCount=i.getUint32(r,1),r+=4,a.featureCount=i.getUint32(r,1),r+=4,h(e))for(let s=0;s<e.attributes.length;s++)h(W[e.attributes[s]])?r=W[e.attributes[s]](a,n,r):console.error("Unknown decoder for",e.attributes[s]);else{let s=t.ordering,c=t.featureAttributeOrder;h(o)&&h(o.geometryData)&&h(o.geometryData[0])&&h(o.geometryData[0].params)&&(s=Object.keys(o.geometryData[0].params.vertexAttributes),c=Object.keys(o.geometryData[0].params.featureAttributes));for(let u=0;u<s.length;u++){let l=W[s[u]];r=l(a,n,r)}for(let u=0;u<c.length;u++){let l=W[c[u]];r=l(a,n,r)}}}catch(r){console.error(r)}return a.scale_x=1,a.scale_y=1,a}function Xt(n){let t=Pt(n.binaryData,n.schema,n.bufferInfo,n.featureData);h(n.geoidDataList)&&n.geoidDataList.length>0&&Lt(t.vertexCount,t.positions,t.scale_x,t.scale_y,n.cartographicCenter,n.geoidDataList,!1),Ot(t.vertexCount,t.positions,t.normals,n.cartographicCenter,n.cartesianCenter,n.parentRotation,n.ellipsoidRadiiSquare,t.scale_x,t.scale_y),h(t.uv0s)&&h(t["uv-region"])&&Tt(t.vertexCount,t.uv0s,t["uv-region"]);let e;if(h(t["feature-index"]))e=t["feature-index"];else if(h(t.faceRange)){e=new Array(t.vertexCount);for(let r=0;r<t.faceRange.length-1;r+=2){let s=r/2,c=t.faceRange[r],u=t.faceRange[r+1];for(let l=c;l<=u;l++)e[l*3]=s,e[l*3+1]=s,e[l*3+2]=s}}if(n.calculateNormals){let r=vt(t.vertexCount,t.indices,t.positions,t.normals,t.uv0s,t.colors,e);h(r.normals)&&(t.normals=r.normals,h(r.vertexCount)&&(t.vertexCount=r.vertexCount,t.indices=r.indices,t.positions=r.positions,t.uv0s=r.uv0s,t.colors=r.colors,e=r.featureIndex))}let o=Mt(t.vertexCount,t.indices,t.positions,t.normals,t.uv0s,t.colors,e,n),a={positions:t.positions,indices:t.indices,featureIndex:e,sourceURL:n.url,cartesianCenter:n.cartesianCenter,parentRotation:n.parentRotation};return o._customAttributes=a,{meshData:o}}async function Yt(n,t){let e=n.webAssemblyConfig;return h(e)&&h(e.wasmBinaryFile)?ut=await(0,at.default)(e):ut=await(0,at.default)(),!0}function zt(n,t){let e=n.webAssemblyConfig;return h(e)?Yt(n,t):Xt(n,t)}var se=yt(zt);export{se as default}; +import{a as xt}from"./chunk-SM4U4WO5.js";import{a as P}from"./chunk-SXINKIB2.js";import{a as yt}from"./chunk-YEUI4ZO2.js";import{a as ht}from"./chunk-6IQVYEBD.js";import{a as g,b as ot,d as st,e as it}from"./chunk-HWH6BBH6.js";import{a as M}from"./chunk-DW4EQ6YI.js";import{a as ft}from"./chunk-CJFJKB5V.js";import{b as lt}from"./chunk-4BGNE6LH.js";import{d as mt,e as h}from"./chunk-OX5CTLXY.js";var at=mt(xt(),1);function wt(n){return lt.defined("value",n),n<=.04045?n*.07739938080495357:Math.pow((n+.055)*.9478672985781991,2.4)}var k=wt;var ut;function It(n,t,e,o,a,i){let r=e*(1-n)+o*n,s=a*(1-n)+i*n;return r*(1-t)+s*t}function H(n,t,e,o){let a=n+t*e;return o[a]}function At(n,t,e){let o=e.nativeExtent,a=(n-o.west)/(o.east-o.west)*(e.width-1),i=(t-o.south)/(o.north-o.south)*(e.height-1),r=Math.floor(a),s=Math.floor(i);a-=r,i-=s;let c=r<e.width?r+1:r,u=s<e.height?s+1:s;s=e.height-1-s,u=e.height-1-u;let l=H(r,s,e.width,e.buffer),f=H(c,s,e.width,e.buffer),p=H(r,u,e.width,e.buffer),m=H(c,u,e.width,e.buffer),d=It(a,i,l,f,p,m);return d=d*e.scale+e.offset,d}function bt(n,t,e){for(let o=0;o<e.length;o++){let a=e[o].nativeExtent,i=new g;if(e[o].projectionType==="WebMercator"){let r=e[o].projection._ellipsoid._radii;i=new ht(new st(r.x,r.y,r.z)).project(new ot(n,t,0))}else i.x=n,i.y=t;if(i.x>a.west&&i.x<a.east&&i.y>a.south&&i.y<a.north)return At(i.x,i.y,e[o])}return 0}function Lt(n,t,e,o,a,i,r){if(r)return;let s=bt(a.longitude,a.latitude,i);for(let c=0;c<n;++c){let u=bt(a.longitude+M.toRadians(e*t[c*3]),a.latitude+M.toRadians(o*t[c*3+1]),i);t[c*3+2]+=u-s}}function Ot(n,t,e,o,a,i,r,s,c){if(n===0||!h(t)||t.length===0)return;let u=new st(Math.sqrt(r.x),Math.sqrt(r.y),Math.sqrt(r.z));for(let l=0;l<n;++l){let f=l*3,p=f+1,m=f+2,d=new ot;d.longitude=o.longitude+M.toRadians(s*t[f]),d.latitude=o.latitude+M.toRadians(c*t[p]),d.height=o.height+t[m];let b={};u.cartographicToCartesian(d,b),b.x-=a.x,b.y-=a.y,b.z-=a.z;let x={};if(it.multiplyByVector(i,b,x),t[f]=x.x,t[p]=x.y,t[m]=x.z,h(e)){let T=new g(e[f],e[p],e[m]),I={};it.multiplyByVector(i,T,I),e[f]=I.x,e[p]=I.y,e[m]=I.z}}}function Tt(n,t,e){for(let o=0;o<n;++o){let a=e[o*4]/65535,i=e[o*4+1]/65535,r=(e[o*4+2]-e[o*4])/65535,s=(e[o*4+3]-e[o*4+1])/65535;t[o*2]*=r,t[o*2]+=a,t[o*2+1]*=s,t[o*2+1]+=i}}function Ct(n,t,e,o){let a=new Uint32Array(n),i=h(t)?s=>t[s]:s=>s,r=0;if(o&&h(e)){let s=c=>e[i(c)*4+3]<255;for(let c=0;c<n;c+=3)!s(c)&&!s(c+1)&&!s(c+2)&&(a[r++]=i(c),a[r++]=i(c+1),a[r++]=i(c+2));if(r>0){let c=r;for(let u=0;u<n;u+=3)(s(u)||s(u+1)||s(u+2))&&(a[c++]=i(u),a[c++]=i(u+1),a[c++]=i(u+2))}else for(let c=0;c<n;++c)a[c]=i(c)}else{r=n;for(let s=0;s<n;++s)a[s]=i(s)}return{indexArray:a,transparentVertexOffset:r}}function Ft(n,t,e){let o=t[e];if(h(o))return o;let a=t[e]={positions:{},indices:{},edges:{}},i=ft(n[e],n.default);return a.hasOutline=h(i?.edges),a}function Ut(n,t,e,o){if(!h(n[e])){let a=e*3,i=t;for(let r=0;r<3;r++){let s=o[a+r];h(i[s])||(i[s]={}),i=i[s]}h(i.index)||(i.index=e),n[e]=i.index}}function Vt(n,t,e,o,a,i){let r,s;o<a?(r=o,s=a):(r=a,s=o);let c=n[r];h(c)||(c=n[r]={});let u=c[s];h(u)||(u=c[s]={normalsIndex:[],outlines:[]}),u.normalsIndex.push(i),(u.outlines.length===0||t!==o||e!==a)&&u.outlines.push(t,e)}function Et(n,t,e,o){let a=[];for(let i=0;i<e.length;i+=3){let r=h(t)?t[e[i]]:"default",s=Ft(n,a,r);if(!s.hasOutline)continue;let c=s.indices,u=s.positions;for(let f=0;f<3;f++){let p=e[i+f];Ut(c,u,p,o)}let l=s.edges;for(let f=0;f<3;f++){let p=e[i+f],m=e[i+(f+1)%3],d=c[p],b=c[m];Vt(l,p,m,d,b,i)}}return a}var O=new g,X=new g,Y=new g;function gt(n,t,e,o){let a=e[t]*3,i=e[t+1]*3,r=e[t+2]*3;g.fromArray(o,a,O),g.fromArray(o,i,X),g.fromArray(o,r,Y),g.subtract(X,O,X),g.subtract(Y,O,Y),g.cross(X,Y,O);let s=g.magnitude(O);s!==0&&g.divideByScalar(O,s,O);let c=t*3,u=(t+1)*3,l=(t+2)*3;g.pack(O,n,c),g.pack(O,n,u),g.pack(O,n,l)}var z=new g,ct=new g;function _t(n,t,e){g.fromArray(n,t,z),g.fromArray(n,e,ct);let o=g.dot(z,ct),a=g.magnitude(g.cross(z,ct,z));return Math.atan2(a,o)<.25}function Rt(n,t,e,o,a){if(t.normalsIndex.length>1){let i=o.length===a.length;for(let r=0;r<t.normalsIndex.length;r++){let s=t.normalsIndex[r];if(h(a[s*3])||gt(a,s,e,o),r!==0)for(let c=0;c<r;c++){let u=t.normalsIndex[c],l=i?e[s]*3:s*3,f=i?e[u]*3:u*3;if(_t(a,l,f))return}}}n.push(...t.outlines)}function Nt(n,t,e,o,a){let i=Object.keys(t);for(let r=0;r<i.length;r++){let s=t[i[r]],c=Object.keys(s);for(let u=0;u<c.length;u++){let l=s[c[u]];Rt(n,l,e,o,a)}}}function Bt(n,t,e,o){let a=[],i=Object.keys(n);for(let r=0;r<i.length;r++){let s=n[i[r]].edges;Nt(a,s,t,e,o)}return a}function Gt(n,t,e,o,a){if(!h(n)||Object.keys(n).length===0)return;let i=Et(n,t,e,o);(!h(a)||e.length*3!==a.length)&&(a=[]);let r=Bt(i,e,o,a);return r.length>0?new Uint32Array(r):void 0}function St(n){let t=new Float32Array(n.length);for(let e=0;e<n.length;e+=4)t[e]=k(P.byteToFloat(n[e])),t[e+1]=k(P.byteToFloat(n[e+1])),t[e+2]=k(P.byteToFloat(n[e+2])),t[e+3]=P.byteToFloat(n[e+3]);return t}function vt(n,t,e,o,a,i,r){let s={normals:void 0,positions:void 0,uv0s:void 0,colors:void 0,featureIndex:void 0,vertexCount:void 0};if(n===0||!h(e)||e.length===0||h(o))return s;if(h(t)){s.vertexCount=t.length,s.positions=new Float32Array(t.length*3),s.uv0s=h(a)?new Float32Array(t.length*2):void 0,s.colors=h(i)?new Uint8Array(t.length*4):void 0,s.featureIndex=h(r)?new Array(t.length):void 0;for(let c=0;c<t.length;c++){let u=t[c];s.positions[c*3]=e[u*3],s.positions[c*3+1]=e[u*3+1],s.positions[c*3+2]=e[u*3+2],h(s.uv0s)&&(s.uv0s[c*2]=a[u*2],s.uv0s[c*2+1]=a[u*2+1]),h(s.colors)&&(s.colors[c*4]=i[u*4],s.colors[c*4+1]=i[u*4+1],s.colors[c*4+2]=i[u*4+2],s.colors[c*4+3]=i[u*4+3]),h(s.featureIndex)&&(s.featureIndex[c]=r[u])}n=t.length,e=s.positions}t=new Array(n);for(let c=0;c<n;c++)t[c]=c;s.normals=new Float32Array(t.length*3);for(let c=0;c<t.length;c+=3)gt(s.normals,c,t,e);return s}function Mt(n,t,e,o,a,i,r,s){if(n===0||!h(e)||e.length===0)return{buffers:[],bufferViews:[],accessors:[],meshes:[],nodes:[],nodesInScene:[]};let c=[],u=[],l=[],f=[],p=[],m=[],d={},b=[];h(t)&&(n=t.length);let{indexArray:x,transparentVertexOffset:T}=Ct(n,t,i,s.splitGeometryByColorTransparency),I=new Blob([x],{type:"application/binary"}),A=URL.createObjectURL(I),w=n,F=s.enableFeatures&&h(r)?new Float32Array(r.length):void 0,C=0;if(h(F))for(let y=0;y<r.length;++y){F[y]=r[y];let E=r[y]+1;C<E&&(C=E)}let U,R=Gt(s.symbologyData,r,x,e,o);if(h(R)){let y=new Blob([R],{type:"application/binary"});U=URL.createObjectURL(y)}let L=e.subarray(0,w*3),dt=new Blob([L],{type:"application/binary"}),pt=URL.createObjectURL(dt),D=Number.POSITIVE_INFINITY,K=Number.NEGATIVE_INFINITY,Q=Number.POSITIVE_INFINITY,Z=Number.NEGATIVE_INFINITY,J=Number.POSITIVE_INFINITY,$=Number.NEGATIVE_INFINITY;for(let y=0;y<L.length/3;y++)D=Math.min(D,L[y*3+0]),K=Math.max(K,L[y*3+0]),Q=Math.min(Q,L[y*3+1]),Z=Math.max(Z,L[y*3+1]),J=Math.min(J,L[y*3+2]),$=Math.max($,L[y*3+2]);let N=o?o.subarray(0,w*3):void 0,q;if(h(N)){let y=new Blob([N],{type:"application/binary"});q=URL.createObjectURL(y)}let B=a?a.subarray(0,w*2):void 0,tt;if(h(B)){let y=new Blob([B],{type:"application/binary"});tt=URL.createObjectURL(y)}let G=h(i)?St(i.subarray(0,w*4)):void 0,et;if(h(G)){let y=new Blob([G],{type:"application/binary"});et=URL.createObjectURL(y)}let S=h(F)?F.subarray(0,w):void 0,nt;if(h(S)){let y=new Blob([S],{type:"application/binary"});nt=URL.createObjectURL(y)}let _=h(F)?new Float32Array(C):void 0,rt;if(h(_)){for(let E=0;E<_.length;++E)_[E]=E;let y=new Blob([_],{type:"application/binary"});rt=URL.createObjectURL(y)}let V={},j={};V.POSITION=l.length,c.push({uri:pt,byteLength:L.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:L.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:L.length/3,type:"VEC3",max:[D,Q,J],min:[K,Z,$]}),h(q)&&(V.NORMAL=l.length,c.push({uri:q,byteLength:N.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:N.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:N.length/3,type:"VEC3"})),h(tt)&&(V.TEXCOORD_0=l.length,c.push({uri:tt,byteLength:B.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:B.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:B.length/2,type:"VEC2"})),h(et)&&(V.COLOR_0=l.length,c.push({uri:et,byteLength:G.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:G.byteLength,target:34962}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:G.length/4,type:"VEC4"})),h(nt)&&(V._FEATURE_ID_0=l.length,c.push({uri:nt,byteLength:S.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:S.byteLength,target:34963}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5126,count:S.length,type:"SCALAR"}),j.EXT_mesh_features={featureIds:[{attribute:0,propertyTable:0,featureCount:C}]},b.push("EXT_mesh_features")),h(rt)&&(c.push({uri:rt,byteLength:_.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:_.byteLength,target:34963}),d.EXT_structural_metadata={schema:{id:"i3s-metadata-schema-001",name:"I3S metadata schema 001",description:"The schema for I3S metadata",version:"1.0",classes:{feature:{name:"feature",description:"Feature metadata",properties:{index:{description:"The feature index",type:"SCALAR",componentType:"FLOAT32",required:!0}}}}},propertyTables:[{name:"feature-indices-mapping",class:"feature",count:C,properties:{index:{values:u.length-1}}}]},b.push("EXT_structural_metadata")),h(U)&&(c.push({uri:U,byteLength:R.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:R.byteLength,target:34963}),l.push({bufferView:u.length-1,byteOffset:0,componentType:5125,count:R.length,type:"SCALAR"}),j.CESIUM_primitive_outline={indices:l.length-1},b.push("CESIUM_primitive_outline")),c.push({uri:A,byteLength:x.byteLength}),u.push({buffer:c.length-1,byteOffset:0,byteLength:x.byteLength,target:34963});let v=[];return T>0&&(l.push({bufferView:u.length-1,byteOffset:0,componentType:5125,count:T,type:"SCALAR"}),v.push({attributes:V,indices:l.length-1,material:v.length,extensions:j})),T<n&&(l.push({bufferView:u.length-1,byteOffset:4*T,componentType:5125,count:n-T,type:"SCALAR"}),v.push({attributes:V,indices:l.length-1,material:v.length,extensions:j,extra:{isTransparent:!0}})),f.push({primitives:v}),m.push(0),p.push({mesh:0}),{buffers:c,bufferViews:u,accessors:l,meshes:f,nodes:p,nodesInScene:m,rootExtensions:d,extensionsUsed:b}}function Pt(n,t,e,o){let a=new Uint8Array(n,0,5);return a[0]===68&&a[1]===82&&a[2]===65&&a[3]===67&&a[4]===79?jt(n,e):Ht(n,t,e,o)}function jt(n){let t=ut,e=new t.DecoderBuffer,o=new Uint8Array(n);e.Init(o,o.length);let a=new t.Decoder,i=a.GetEncodedGeometryType(e),r=new t.MetadataQuerier,s,c;i===t.TRIANGULAR_MESH&&(s=new t.Mesh,c=a.DecodeBufferToMesh(e,s));let u={vertexCount:[0],featureCount:0};if(h(c)&&c.ok()&&s.ptr!==0){let l=s.num_faces(),f=s.num_attributes(),p=s.num_points();u.indices=new Uint32Array(l*3);let m=u.indices;u.vertexCount[0]=p,u.scale_x=1,u.scale_y=1;let d=new t.DracoInt32Array(3);for(let b=0;b<l;++b)a.GetFaceFromMesh(s,b,d),m[b*3]=d.GetValue(0),m[b*3+1]=d.GetValue(1),m[b*3+2]=d.GetValue(2);t.destroy(d);for(let b=0;b<f;++b){let x=a.GetAttribute(s,b),T=kt(t,a,s,x,p),I=x.attribute_type(),A="unknown";I===t.POSITION?A="positions":I===t.NORMAL?A="normals":I===t.COLOR?A="colors":I===t.TEX_COORD&&(A="uv0s");let w=a.GetAttributeMetadata(s,b);if(w.ptr!==0){let F=r.NumEntries(w);for(let C=0;C<F;++C){let U=r.GetEntryName(w,C);U==="i3s-scale_x"?u.scale_x=r.GetDoubleEntry(w,"i3s-scale_x"):U==="i3s-scale_y"?u.scale_y=r.GetDoubleEntry(w,"i3s-scale_y"):U==="i3s-attribute-type"&&(A=r.GetStringEntry(w,"i3s-attribute-type"))}}h(u[A])&&console.log("Attribute already exists",A),u[A]=T,A==="feature-index"&&u.featureCount++}t.destroy(s)}return t.destroy(r),t.destroy(a),u}function kt(n,t,e,o,a){let i=o.num_components()*a,r,c=[function(){},function(){r=new n.DracoInt8Array(i),t.GetAttributeInt8ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Int8Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt8Array(i),t.GetAttributeUInt8ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint8Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt16Array(i),t.GetAttributeInt16ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Int16Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt16Array(i),t.GetAttributeUInt16ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint16Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt32Array(i),t.GetAttributeInt32ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Int32Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){r=new n.DracoInt32Array(i),t.GetAttributeUInt32ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint32Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){},function(){},function(){r=new n.DracoFloat32Array(i),t.GetAttributeFloatForAllPoints(e,o,r)||console.error("Bad stream");let l=new Float32Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l},function(){},function(){r=new n.DracoUInt8Array(i),t.GetAttributeUInt8ForAllPoints(e,o,r)||console.error("Bad stream");let l=new Uint8Array(i);for(let f=0;f<i;++f)l[f]=r.GetValue(f);return l}][o.data_type()]();return h(r)&&n.destroy(r),c}var W={position:function(n,t,e){let o=n.vertexCount*3;return n.positions=new Float32Array(t,e,o),e+=o*4,e},normal:function(n,t,e){let o=n.vertexCount*3;return n.normals=new Float32Array(t,e,o),e+=o*4,e},uv0:function(n,t,e){let o=n.vertexCount*2;return n.uv0s=new Float32Array(t,e,o),e+=o*4,e},color:function(n,t,e){let o=n.vertexCount*4;return n.colors=new Uint8Array(t,e,o),e+=o,e},featureId:function(n,t,e){let o=n.featureCount;return e+=o*8,e},id:function(n,t,e){let o=n.featureCount;return e+=o*8,e},faceRange:function(n,t,e){let o=n.featureCount*2;return n.faceRange=new Uint32Array(t,e,o),e+=o*4,e},uvRegion:function(n,t,e){let o=n.vertexCount*4;return n["uv-region"]=new Uint16Array(t,e,o),e+=o*2,e},region:function(n,t,e){let o=n.vertexCount*4;return n["uv-region"]=new Uint16Array(t,e,o),e+=o*2,e}};function Ht(n,t,e,o){let a={vertexCount:0},i=new DataView(n);try{let r=0;if(a.vertexCount=i.getUint32(r,1),r+=4,a.featureCount=i.getUint32(r,1),r+=4,h(e))for(let s=0;s<e.attributes.length;s++)h(W[e.attributes[s]])?r=W[e.attributes[s]](a,n,r):console.error("Unknown decoder for",e.attributes[s]);else{let s=t.ordering,c=t.featureAttributeOrder;h(o)&&h(o.geometryData)&&h(o.geometryData[0])&&h(o.geometryData[0].params)&&(s=Object.keys(o.geometryData[0].params.vertexAttributes),c=Object.keys(o.geometryData[0].params.featureAttributes));for(let u=0;u<s.length;u++){let l=W[s[u]];r=l(a,n,r)}for(let u=0;u<c.length;u++){let l=W[c[u]];r=l(a,n,r)}}}catch(r){console.error(r)}return a.scale_x=1,a.scale_y=1,a}function Xt(n){let t=Pt(n.binaryData,n.schema,n.bufferInfo,n.featureData);h(n.geoidDataList)&&n.geoidDataList.length>0&&Lt(t.vertexCount,t.positions,t.scale_x,t.scale_y,n.cartographicCenter,n.geoidDataList,!1),Ot(t.vertexCount,t.positions,t.normals,n.cartographicCenter,n.cartesianCenter,n.parentRotation,n.ellipsoidRadiiSquare,t.scale_x,t.scale_y),h(t.uv0s)&&h(t["uv-region"])&&Tt(t.vertexCount,t.uv0s,t["uv-region"]);let e;if(h(t["feature-index"]))e=t["feature-index"];else if(h(t.faceRange)){e=new Array(t.vertexCount);for(let r=0;r<t.faceRange.length-1;r+=2){let s=r/2,c=t.faceRange[r],u=t.faceRange[r+1];for(let l=c;l<=u;l++)e[l*3]=s,e[l*3+1]=s,e[l*3+2]=s}}if(n.calculateNormals){let r=vt(t.vertexCount,t.indices,t.positions,t.normals,t.uv0s,t.colors,e);h(r.normals)&&(t.normals=r.normals,h(r.vertexCount)&&(t.vertexCount=r.vertexCount,t.indices=r.indices,t.positions=r.positions,t.uv0s=r.uv0s,t.colors=r.colors,e=r.featureIndex))}let o=Mt(t.vertexCount,t.indices,t.positions,t.normals,t.uv0s,t.colors,e,n),a={positions:t.positions,indices:t.indices,featureIndex:e,sourceURL:n.url,cartesianCenter:n.cartesianCenter,parentRotation:n.parentRotation};return o._customAttributes=a,{meshData:o}}async function Yt(n,t){let e=n.webAssemblyConfig;return h(e)&&h(e.wasmBinaryFile)?ut=await(0,at.default)(e):ut=await(0,at.default)(),!0}function zt(n,t){let e=n.webAssemblyConfig;return h(e)?Yt(n,t):Xt(n,t)}var se=yt(zt);export{se as default}; diff --git a/public/lib/Cesium/Workers/transcodeKTX2.js b/public/lib/Cesium/Workers/transcodeKTX2.js index f3cb616c1..95cf9996f 100644 --- a/public/lib/Cesium/Workers/transcodeKTX2.js +++ b/public/lib/Cesium/Workers/transcodeKTX2.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,7 +23,7 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as rn}from"./chunk-JQWRUZSV.js";import{a as M}from"./chunk-2NAI7YQ3.js";import{a as ie}from"./chunk-QE3ZUOZY.js";import{a as _n}from"./chunk-6KLVDWWE.js";import{b as nn}from"./chunk-6P5KAIBX.js";import{a as Gt,c as sr,d as or,e as ge}from"./chunk-4FSVUTPL.js";var Rn=sr((it,pt)=>{var Nt=function(){var i=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(i=i||__filename),function(f){f=f||{};var r=typeof f<"u"?f:{},C,l;r.ready=new Promise(function(e,t){C=e,l=t});var P={},F;for(F in r)r.hasOwnProperty(F)&&(P[F]=r[F]);var U=[],y="./this.program",m=function(e,t){throw t},V=!1,d=!1,p=!1,Q=!1;V=typeof window=="object",d=typeof importScripts=="function",p=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Q=!V&&!p&&!d;var T="";function X(e){return r.locateFile?r.locateFile(e,T):T+e}var se,le,W,J,g,Fe;p?(d?T=Gt("path").dirname(T)+"/":T=__dirname+"/",se=function(t,n){return g||(g=Gt("fs")),Fe||(Fe=Gt("path")),t=Fe.normalize(t),g.readFileSync(t,n?null:"utf8")},W=function(t){var n=se(t,!0);return n.buffer||(n=new Uint8Array(n)),Se(n.buffer),n},process.argv.length>1&&(y=process.argv[1].replace(/\\/g,"/")),U=process.argv.slice(2),process.on("uncaughtException",function(e){if(!(e instanceof rr))throw e}),process.on("unhandledRejection",Me),m=function(e){process.exit(e)},r.inspect=function(){return"[Emscripten Module object]"}):Q?(typeof read<"u"&&(se=function(t){return read(t)}),W=function(t){var n;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t)):(n=read(t,"binary"),Se(typeof n=="object"),n)},typeof scriptArgs<"u"?U=scriptArgs:typeof arguments<"u"&&(U=arguments),typeof quit=="function"&&(m=function(e){quit(e)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)):(V||d)&&(d?T=self.location.href:typeof document<"u"&&document.currentScript&&(T=document.currentScript.src),i&&(T=i),T.indexOf("blob:")!==0?T=T.substr(0,T.lastIndexOf("/")+1):T="",se=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(W=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),le=function(e,t,n){var _=new XMLHttpRequest;_.open("GET",e,!0),_.responseType="arraybuffer",_.onload=function(){if(_.status==200||_.status==0&&_.response){t(_.response);return}n()},_.onerror=n,_.send(null)},J=function(e){document.title=e});var st=r.print||console.log.bind(console),ee=r.printErr||console.warn.bind(console);for(F in P)P.hasOwnProperty(F)&&(r[F]=P[F]);P=null,r.arguments&&(U=r.arguments),r.thisProgram&&(y=r.thisProgram),r.quit&&(m=r.quit);var De=0,Ie=function(e){De=e},ae;r.wasmBinary&&(ae=r.wasmBinary);var ot=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Me("no native wasm support detected");var ce,de=!1,be;function Se(e,t){e||Me("Assertion failed: "+t)}var we=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function He(e,t,n){for(var _=t+n,s=t;e[s]&&!(s>=_);)++s;if(s-t>16&&e.subarray&&we)return we.decode(e.subarray(t,s));for(var a="";t<s;){var A=e[t++];if(!(A&128)){a+=String.fromCharCode(A);continue}var o=e[t++]&63;if((A&224)==192){a+=String.fromCharCode((A&31)<<6|o);continue}var R=e[t++]&63;if((A&240)==224?A=(A&15)<<12|o<<6|R:A=(A&7)<<18|o<<12|R<<6|e[t++]&63,A<65536)a+=String.fromCharCode(A);else{var u=A-65536;a+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return a}function Xe(e,t){return e?He(D,e,t):""}function Rt(e,t,n,_){if(!(_>0))return 0;for(var s=n,a=n+_-1,A=0;A<e.length;++A){var o=e.charCodeAt(A);if(o>=55296&&o<=57343){var R=e.charCodeAt(++A);o=65536+((o&1023)<<10)|R&1023}if(o<=127){if(n>=a)break;t[n++]=o}else if(o<=2047){if(n+1>=a)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(o<=65535){if(n+2>=a)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=a)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63}}return t[n]=0,n-s}function L(e,t,n){return Rt(e,D,t,n)}function j(e){for(var t=0,n=0;n<e.length;++n){var _=e.charCodeAt(n);_>=55296&&_<=57343&&(_=65536+((_&1023)<<10)|e.charCodeAt(++n)&1023),_<=127?++t:_<=2047?t+=2:_<=65535?t+=3:t+=4}return t}var Ae=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function at(e,t){for(var n=e,_=n>>1,s=_+t/2;!(_>=s)&&Ge[_];)++_;if(n=_<<1,n-e>32&&Ae)return Ae.decode(D.subarray(e,n));for(var a="",A=0;!(A>=t/2);++A){var o=fe[e+A*2>>1];if(o==0)break;a+=String.fromCharCode(o)}return a}function xe(e,t,n){if(n===void 0&&(n=2147483647),n<2)return 0;n-=2;for(var _=t,s=n<e.length*2?n/2:e.length,a=0;a<s;++a){var A=e.charCodeAt(a);fe[t>>1]=A,t+=2}return fe[t>>1]=0,t-_}function un(e){return e.length*2}function Tn(e,t){for(var n=0,_="";!(n>=t/4);){var s=w[e+n*4>>2];if(s==0)break;if(++n,s>=65536){var a=s-65536;_+=String.fromCharCode(55296|a>>10,56320|a&1023)}else _+=String.fromCharCode(s)}return _}function On(e,t,n){if(n===void 0&&(n=2147483647),n<4)return 0;for(var _=t,s=_+n-4,a=0;a<e.length;++a){var A=e.charCodeAt(a);if(A>=55296&&A<=57343){var o=e.charCodeAt(++a);A=65536+((A&1023)<<10)|o&1023}if(w[t>>2]=A,t+=4,t+4>s)break}return w[t>>2]=0,t-_}function ln(e){for(var t=0,n=0;n<e.length;++n){var _=e.charCodeAt(n);_>=55296&&_<=57343&&++n,t+=4}return t}function Mn(e,t){return e%t>0&&(e+=t-e%t),e}var ct,ke,D,fe,Ge,w,Y,Pt,Et;function vt(e){ct=e,r.HEAP8=ke=new Int8Array(e),r.HEAP16=fe=new Int16Array(e),r.HEAP32=w=new Int32Array(e),r.HEAPU8=D=new Uint8Array(e),r.HEAPU16=Ge=new Uint16Array(e),r.HEAPU32=Y=new Uint32Array(e),r.HEAPF32=Pt=new Float32Array(e),r.HEAPF64=Et=new Float64Array(e)}var Tr=r.INITIAL_MEMORY||16777216,Ve,ht=[],Ut=[],Kn=[],yt=[],Bn=!1;function Cn(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Gn(r.preRun.shift());$e(ht)}function Fn(){Bn=!0,$e(Ut)}function dn(){$e(Kn)}function Sn(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Nn(r.postRun.shift());$e(yt)}function Gn(e){ht.unshift(e)}function Vn(e){Ut.unshift(e)}function Nn(e){yt.unshift(e)}var ue=0,At=null,Ne=null;function pn(e){ue++,r.monitorRunDependencies&&r.monitorRunDependencies(ue)}function Pn(e){if(ue--,r.monitorRunDependencies&&r.monitorRunDependencies(ue),ue==0&&(At!==null&&(clearInterval(At),At=null),Ne)){var t=Ne;Ne=null,t()}}r.preloadedImages={},r.preloadedAudios={};function Me(e){r.onAbort&&r.onAbort(e),e+="",ee(e),de=!0,be=1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.";var t=new WebAssembly.RuntimeError(e);throw l(t),t}function gt(e,t){return String.prototype.startsWith?e.startsWith(t):e.indexOf(t)===0}var En="data:application/octet-stream;base64,";function Lt(e){return gt(e,En)}var vn="file://";function mt(e){return gt(e,vn)}var x="basis_transcoder.wasm";Lt(x)||(x=X(x));function Dt(e){try{if(e==x&&ae)return new Uint8Array(ae);if(W)return W(e);throw"both async and sync fetching of the wasm failed"}catch(t){Me(t)}}function hn(){if(!ae&&(V||d)){if(typeof fetch=="function"&&!mt(x))return fetch(x,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+x+"'";return e.arrayBuffer()}).catch(function(){return Dt(x)});if(le)return new Promise(function(e,t){le(x,function(n){e(new Uint8Array(n))},t)})}return Promise.resolve().then(function(){return Dt(x)})}function Un(){var e={a:er};function t(A,o){var R=A.exports;r.asm=R,ce=r.asm.K,vt(ce.buffer),Ve=r.asm.O,Vn(r.asm.L),Pn("wasm-instantiate")}pn("wasm-instantiate");function n(A){t(A.instance)}function _(A){return hn().then(function(o){var R=WebAssembly.instantiate(o,e);return R}).then(A,function(o){ee("failed to asynchronously prepare wasm: "+o),Me(o)})}function s(){return!ae&&typeof WebAssembly.instantiateStreaming=="function"&&!Lt(x)&&!mt(x)&&typeof fetch=="function"?fetch(x,{credentials:"same-origin"}).then(function(A){var o=WebAssembly.instantiateStreaming(A,e);return o.then(n,function(R){return ee("wasm streaming compile failed: "+R),ee("falling back to ArrayBuffer instantiation"),_(n)})}):_(n)}if(r.instantiateWasm)try{var a=r.instantiateWasm(e,t);return a}catch(A){return ee("Module.instantiateWasm callback failed with error: "+A),!1}return s().catch(l),{}}function $e(e){for(;e.length>0;){var t=e.shift();if(typeof t=="function"){t(r);continue}var n=t.func;typeof n=="number"?t.arg===void 0?Ve.get(n)():Ve.get(n)(t.arg):n(t.arg===void 0?null:t.arg)}}var We={};function je(e){for(;e.length;){var t=e.pop(),n=e.pop();n(t)}}function pe(e){return this.fromWireType(Y[e>>2])}var Ke={},Te={},ze={},yn=48,gn=57;function Ye(e){if(e===void 0)return"_unknown";e=e.replace(/[^a-zA-Z0-9_]/g,"$");var t=e.charCodeAt(0);return t>=yn&&t<=gn?"_"+e:e}function qe(e,t){return e=Ye(e),new Function("body","return function "+e+`() { +import{a as rn}from"./chunk-YEUI4ZO2.js";import{a as M}from"./chunk-6DFUP66D.js";import{a as ie}from"./chunk-GVFM5H7M.js";import{a as _n}from"./chunk-CJFJKB5V.js";import{b as nn}from"./chunk-4BGNE6LH.js";import{a as Gt,c as sr,d as or,e as ge}from"./chunk-OX5CTLXY.js";var Rn=sr((it,pt)=>{var Nt=function(){var i=typeof document<"u"&&document.currentScript?document.currentScript.src:void 0;return typeof __filename<"u"&&(i=i||__filename),function(f){f=f||{};var r=typeof f<"u"?f:{},C,l;r.ready=new Promise(function(e,t){C=e,l=t});var P={},F;for(F in r)r.hasOwnProperty(F)&&(P[F]=r[F]);var U=[],y="./this.program",m=function(e,t){throw t},V=!1,d=!1,p=!1,Q=!1;V=typeof window=="object",d=typeof importScripts=="function",p=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",Q=!V&&!p&&!d;var T="";function X(e){return r.locateFile?r.locateFile(e,T):T+e}var se,le,W,J,g,Fe;p?(d?T=Gt("path").dirname(T)+"/":T=__dirname+"/",se=function(t,n){return g||(g=Gt("fs")),Fe||(Fe=Gt("path")),t=Fe.normalize(t),g.readFileSync(t,n?null:"utf8")},W=function(t){var n=se(t,!0);return n.buffer||(n=new Uint8Array(n)),Se(n.buffer),n},process.argv.length>1&&(y=process.argv[1].replace(/\\/g,"/")),U=process.argv.slice(2),process.on("uncaughtException",function(e){if(!(e instanceof rr))throw e}),process.on("unhandledRejection",Me),m=function(e){process.exit(e)},r.inspect=function(){return"[Emscripten Module object]"}):Q?(typeof read<"u"&&(se=function(t){return read(t)}),W=function(t){var n;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t)):(n=read(t,"binary"),Se(typeof n=="object"),n)},typeof scriptArgs<"u"?U=scriptArgs:typeof arguments<"u"&&(U=arguments),typeof quit=="function"&&(m=function(e){quit(e)}),typeof print<"u"&&(typeof console>"u"&&(console={}),console.log=print,console.warn=console.error=typeof printErr<"u"?printErr:print)):(V||d)&&(d?T=self.location.href:typeof document<"u"&&document.currentScript&&(T=document.currentScript.src),i&&(T=i),T.indexOf("blob:")!==0?T=T.substr(0,T.lastIndexOf("/")+1):T="",se=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(W=function(e){var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),le=function(e,t,n){var _=new XMLHttpRequest;_.open("GET",e,!0),_.responseType="arraybuffer",_.onload=function(){if(_.status==200||_.status==0&&_.response){t(_.response);return}n()},_.onerror=n,_.send(null)},J=function(e){document.title=e});var st=r.print||console.log.bind(console),ee=r.printErr||console.warn.bind(console);for(F in P)P.hasOwnProperty(F)&&(r[F]=P[F]);P=null,r.arguments&&(U=r.arguments),r.thisProgram&&(y=r.thisProgram),r.quit&&(m=r.quit);var De=0,Ie=function(e){De=e},ae;r.wasmBinary&&(ae=r.wasmBinary);var ot=r.noExitRuntime||!0;typeof WebAssembly!="object"&&Me("no native wasm support detected");var ce,de=!1,be;function Se(e,t){e||Me("Assertion failed: "+t)}var we=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function He(e,t,n){for(var _=t+n,s=t;e[s]&&!(s>=_);)++s;if(s-t>16&&e.subarray&&we)return we.decode(e.subarray(t,s));for(var a="";t<s;){var A=e[t++];if(!(A&128)){a+=String.fromCharCode(A);continue}var o=e[t++]&63;if((A&224)==192){a+=String.fromCharCode((A&31)<<6|o);continue}var R=e[t++]&63;if((A&240)==224?A=(A&15)<<12|o<<6|R:A=(A&7)<<18|o<<12|R<<6|e[t++]&63,A<65536)a+=String.fromCharCode(A);else{var u=A-65536;a+=String.fromCharCode(55296|u>>10,56320|u&1023)}}return a}function Xe(e,t){return e?He(D,e,t):""}function Rt(e,t,n,_){if(!(_>0))return 0;for(var s=n,a=n+_-1,A=0;A<e.length;++A){var o=e.charCodeAt(A);if(o>=55296&&o<=57343){var R=e.charCodeAt(++A);o=65536+((o&1023)<<10)|R&1023}if(o<=127){if(n>=a)break;t[n++]=o}else if(o<=2047){if(n+1>=a)break;t[n++]=192|o>>6,t[n++]=128|o&63}else if(o<=65535){if(n+2>=a)break;t[n++]=224|o>>12,t[n++]=128|o>>6&63,t[n++]=128|o&63}else{if(n+3>=a)break;t[n++]=240|o>>18,t[n++]=128|o>>12&63,t[n++]=128|o>>6&63,t[n++]=128|o&63}}return t[n]=0,n-s}function L(e,t,n){return Rt(e,D,t,n)}function j(e){for(var t=0,n=0;n<e.length;++n){var _=e.charCodeAt(n);_>=55296&&_<=57343&&(_=65536+((_&1023)<<10)|e.charCodeAt(++n)&1023),_<=127?++t:_<=2047?t+=2:_<=65535?t+=3:t+=4}return t}var Ae=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function at(e,t){for(var n=e,_=n>>1,s=_+t/2;!(_>=s)&&Ge[_];)++_;if(n=_<<1,n-e>32&&Ae)return Ae.decode(D.subarray(e,n));for(var a="",A=0;!(A>=t/2);++A){var o=fe[e+A*2>>1];if(o==0)break;a+=String.fromCharCode(o)}return a}function xe(e,t,n){if(n===void 0&&(n=2147483647),n<2)return 0;n-=2;for(var _=t,s=n<e.length*2?n/2:e.length,a=0;a<s;++a){var A=e.charCodeAt(a);fe[t>>1]=A,t+=2}return fe[t>>1]=0,t-_}function un(e){return e.length*2}function Tn(e,t){for(var n=0,_="";!(n>=t/4);){var s=w[e+n*4>>2];if(s==0)break;if(++n,s>=65536){var a=s-65536;_+=String.fromCharCode(55296|a>>10,56320|a&1023)}else _+=String.fromCharCode(s)}return _}function On(e,t,n){if(n===void 0&&(n=2147483647),n<4)return 0;for(var _=t,s=_+n-4,a=0;a<e.length;++a){var A=e.charCodeAt(a);if(A>=55296&&A<=57343){var o=e.charCodeAt(++a);A=65536+((A&1023)<<10)|o&1023}if(w[t>>2]=A,t+=4,t+4>s)break}return w[t>>2]=0,t-_}function ln(e){for(var t=0,n=0;n<e.length;++n){var _=e.charCodeAt(n);_>=55296&&_<=57343&&++n,t+=4}return t}function Mn(e,t){return e%t>0&&(e+=t-e%t),e}var ct,ke,D,fe,Ge,w,Y,Pt,Et;function vt(e){ct=e,r.HEAP8=ke=new Int8Array(e),r.HEAP16=fe=new Int16Array(e),r.HEAP32=w=new Int32Array(e),r.HEAPU8=D=new Uint8Array(e),r.HEAPU16=Ge=new Uint16Array(e),r.HEAPU32=Y=new Uint32Array(e),r.HEAPF32=Pt=new Float32Array(e),r.HEAPF64=Et=new Float64Array(e)}var Tr=r.INITIAL_MEMORY||16777216,Ve,ht=[],Ut=[],Kn=[],yt=[],Bn=!1;function Cn(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Gn(r.preRun.shift());$e(ht)}function Fn(){Bn=!0,$e(Ut)}function dn(){$e(Kn)}function Sn(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)Nn(r.postRun.shift());$e(yt)}function Gn(e){ht.unshift(e)}function Vn(e){Ut.unshift(e)}function Nn(e){yt.unshift(e)}var ue=0,At=null,Ne=null;function pn(e){ue++,r.monitorRunDependencies&&r.monitorRunDependencies(ue)}function Pn(e){if(ue--,r.monitorRunDependencies&&r.monitorRunDependencies(ue),ue==0&&(At!==null&&(clearInterval(At),At=null),Ne)){var t=Ne;Ne=null,t()}}r.preloadedImages={},r.preloadedAudios={};function Me(e){r.onAbort&&r.onAbort(e),e+="",ee(e),de=!0,be=1,e="abort("+e+"). Build with -s ASSERTIONS=1 for more info.";var t=new WebAssembly.RuntimeError(e);throw l(t),t}function gt(e,t){return String.prototype.startsWith?e.startsWith(t):e.indexOf(t)===0}var En="data:application/octet-stream;base64,";function Lt(e){return gt(e,En)}var vn="file://";function mt(e){return gt(e,vn)}var x="basis_transcoder.wasm";Lt(x)||(x=X(x));function Dt(e){try{if(e==x&&ae)return new Uint8Array(ae);if(W)return W(e);throw"both async and sync fetching of the wasm failed"}catch(t){Me(t)}}function hn(){if(!ae&&(V||d)){if(typeof fetch=="function"&&!mt(x))return fetch(x,{credentials:"same-origin"}).then(function(e){if(!e.ok)throw"failed to load wasm binary file at '"+x+"'";return e.arrayBuffer()}).catch(function(){return Dt(x)});if(le)return new Promise(function(e,t){le(x,function(n){e(new Uint8Array(n))},t)})}return Promise.resolve().then(function(){return Dt(x)})}function Un(){var e={a:er};function t(A,o){var R=A.exports;r.asm=R,ce=r.asm.K,vt(ce.buffer),Ve=r.asm.O,Vn(r.asm.L),Pn("wasm-instantiate")}pn("wasm-instantiate");function n(A){t(A.instance)}function _(A){return hn().then(function(o){var R=WebAssembly.instantiate(o,e);return R}).then(A,function(o){ee("failed to asynchronously prepare wasm: "+o),Me(o)})}function s(){return!ae&&typeof WebAssembly.instantiateStreaming=="function"&&!Lt(x)&&!mt(x)&&typeof fetch=="function"?fetch(x,{credentials:"same-origin"}).then(function(A){var o=WebAssembly.instantiateStreaming(A,e);return o.then(n,function(R){return ee("wasm streaming compile failed: "+R),ee("falling back to ArrayBuffer instantiation"),_(n)})}):_(n)}if(r.instantiateWasm)try{var a=r.instantiateWasm(e,t);return a}catch(A){return ee("Module.instantiateWasm callback failed with error: "+A),!1}return s().catch(l),{}}function $e(e){for(;e.length>0;){var t=e.shift();if(typeof t=="function"){t(r);continue}var n=t.func;typeof n=="number"?t.arg===void 0?Ve.get(n)():Ve.get(n)(t.arg):n(t.arg===void 0?null:t.arg)}}var We={};function je(e){for(;e.length;){var t=e.pop(),n=e.pop();n(t)}}function pe(e){return this.fromWireType(Y[e>>2])}var Ke={},Te={},ze={},yn=48,gn=57;function Ye(e){if(e===void 0)return"_unknown";e=e.replace(/[^a-zA-Z0-9_]/g,"$");var t=e.charCodeAt(0);return t>=yn&&t<=gn?"_"+e:e}function qe(e,t){return e=Ye(e),new Function("body","return function "+e+`() { "use strict"; return body.apply(this, arguments); }; `)(t)}function ft(e,t){var n=qe(t,function(_){this.name=t,this.message=_;var s=new Error(_).stack;s!==void 0&&(this.stack=this.toString()+` diff --git a/public/lib/Cesium/Workers/transferTypedArrayTest.js b/public/lib/Cesium/Workers/transferTypedArrayTest.js index 050e39f8e..a0b0ca47b 100644 --- a/public/lib/Cesium/Workers/transferTypedArrayTest.js +++ b/public/lib/Cesium/Workers/transferTypedArrayTest.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * diff --git a/public/lib/Cesium/Workers/upsampleQuantizedTerrainMesh.js b/public/lib/Cesium/Workers/upsampleQuantizedTerrainMesh.js index 34e54f50a..abd8435b5 100644 --- a/public/lib/Cesium/Workers/upsampleQuantizedTerrainMesh.js +++ b/public/lib/Cesium/Workers/upsampleQuantizedTerrainMesh.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,4 +23,4 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -import{a as be,b as Ne}from"./chunk-CU5VINVO.js";import{a as Ae}from"./chunk-JQWRUZSV.js";import{a as ue}from"./chunk-2744EW7N.js";import{a as ee}from"./chunk-S5WIMI2N.js";import"./chunk-3OZXQUAM.js";import"./chunk-35ZH4J6R.js";import"./chunk-P75RMBWR.js";import"./chunk-UKRRGB4P.js";import{a as Ve}from"./chunk-UGB43LJM.js";import{d as de}from"./chunk-4TXI27XR.js";import{i as Se}from"./chunk-GFUBU5RD.js";import"./chunk-27UWHT4D.js";import{a as A,b as Ie,c as Z,d as Ce}from"./chunk-RFPX772U.js";import{a as N}from"./chunk-RAYRECQS.js";import"./chunk-2NAI7YQ3.js";import"./chunk-QE3ZUOZY.js";import"./chunk-6KLVDWWE.js";import{a as V,b as q}from"./chunk-6P5KAIBX.js";import{e as f}from"./chunk-4FSVUTPL.js";var ne={};ne.clipTriangleAtAxisAlignedThreshold=function(n,h,o,i,s,e){if(!f(n))throw new V("threshold is required.");if(!f(h))throw new V("keepAbove is required.");if(!f(o))throw new V("u0 is required.");if(!f(i))throw new V("u1 is required.");if(!f(s))throw new V("u2 is required.");f(e)?e.length=0:e=[];let g,w,c;h?(g=o<n,w=i<n,c=s<n):(g=o>n,w=i>n,c=s>n);let p=g+w+c,d,u,r,l,I,C;return p===1?g?(d=(n-o)/(i-o),u=(n-o)/(s-o),e.push(1),e.push(2),u!==1&&(e.push(-1),e.push(0),e.push(2),e.push(u)),d!==1&&(e.push(-1),e.push(0),e.push(1),e.push(d))):w?(r=(n-i)/(s-i),l=(n-i)/(o-i),e.push(2),e.push(0),l!==1&&(e.push(-1),e.push(1),e.push(0),e.push(l)),r!==1&&(e.push(-1),e.push(1),e.push(2),e.push(r))):c&&(I=(n-s)/(o-s),C=(n-s)/(i-s),e.push(0),e.push(1),C!==1&&(e.push(-1),e.push(2),e.push(1),e.push(C)),I!==1&&(e.push(-1),e.push(2),e.push(0),e.push(I))):p===2?!g&&o!==n?(l=(n-i)/(o-i),I=(n-s)/(o-s),e.push(0),e.push(-1),e.push(1),e.push(0),e.push(l),e.push(-1),e.push(2),e.push(0),e.push(I)):!w&&i!==n?(C=(n-s)/(i-s),d=(n-o)/(i-o),e.push(1),e.push(-1),e.push(2),e.push(1),e.push(C),e.push(-1),e.push(0),e.push(1),e.push(d)):!c&&s!==n&&(u=(n-o)/(s-o),r=(n-i)/(s-i),e.push(2),e.push(-1),e.push(0),e.push(2),e.push(u),e.push(-1),e.push(1),e.push(2),e.push(r)):p!==3&&(e.push(0),e.push(1),e.push(2)),e};ne.computeBarycentricCoordinates=function(n,h,o,i,s,e,g,w,c){if(!f(n))throw new V("x is required.");if(!f(h))throw new V("y is required.");if(!f(o))throw new V("x1 is required.");if(!f(i))throw new V("y1 is required.");if(!f(s))throw new V("x2 is required.");if(!f(e))throw new V("y2 is required.");if(!f(g))throw new V("x3 is required.");if(!f(w))throw new V("y3 is required.");let p=o-g,d=g-s,u=e-w,r=i-w,l=1/(u*p+d*r),I=h-w,C=n-g,R=(u*C+d*I)*l,O=(-r*C+p*I)*l,W=1-R-O;return f(c)?(c.x=R,c.y=O,c.z=W,c):new A(R,O,W)};ne.computeLineSegmentLineSegmentIntersection=function(n,h,o,i,s,e,g,w,c){q.typeOf.number("x00",n),q.typeOf.number("y00",h),q.typeOf.number("x01",o),q.typeOf.number("y01",i),q.typeOf.number("x10",s),q.typeOf.number("y10",e),q.typeOf.number("x11",g),q.typeOf.number("y11",w);let p=(g-s)*(h-e)-(w-e)*(n-s),d=(o-n)*(h-e)-(i-h)*(n-s),u=(w-e)*(o-n)-(g-s)*(i-h);if(u===0)return;let r=p/u,l=d/u;if(r>=0&&r<=1&&l>=0&&l<=1)return f(c)||(c=new Z),c.x=n+r*(o-n),c.y=h+r*(i-h),c};var ie=ne;var a=32767,z=a/2|0,Me=[],ze=[],Xe=[],te=new Ie,E=new A,Ke=[],We=[],Ye=[],Le=[],_e=[],Je=new A,Qe=new de,Ze=new ue,Ge=new Z,$e=new A;function je(n,h){let o=n.isEastChild,i=n.isNorthChild,s=o?z:0,e=o?a:z,g=i?z:0,w=i?a:z,c=Ke,p=We,d=Ye,u=_e;c.length=0,p.length=0,d.length=0,u.length=0;let r=Le;r.length=0;let l={},I=n.vertices,C=n.indices;C=C.subarray(0,n.indexCountWithoutSkirts);let R=Ne.clone(n.encoding),O=R.hasVertexNormals,W=0,Y=n.vertexCountWithoutSkirts,se=n.minimumHeight,ae=n.maximumHeight,D=new Array(Y),G=new Array(Y),L=new Array(Y),F=O?new Array(Y*2):void 0,$=20,H,t,k,x,y;for(t=0,k=0;t<Y;++t,k+=2){let v=R.decodeTextureCoordinates(I,t,Ge);if(H=R.decodeHeight(I,t),x=N.clamp(v.x*a|0,0,a),y=N.clamp(v.y*a|0,0,a),L[t]=N.clamp((H-se)/(ae-se)*a|0,0,a),x<$&&(x=0),y<$&&(y=0),a-x<$&&(x=a),a-y<$&&(y=a),D[t]=x,G[t]=y,O){let Q=R.getOctEncodedNormal(I,t,$e);F[k]=Q.x,F[k+1]=Q.y}(o&&x>=z||!o&&x<=z)&&(i&&y>=z||!i&&y<=z)&&(l[t]=W,c.push(x),p.push(y),d.push(L[t]),O&&(u.push(F[k]),u.push(F[k+1])),++W)}let T=[];T.push(new m),T.push(new m),T.push(new m);let B=[];B.push(new m),B.push(new m),B.push(new m);let b,j;for(t=0;t<C.length;t+=3){let v=C[t],Q=C[t+1],Be=C[t+2],De=D[v],Fe=D[Q],ke=D[Be];T[0].initializeIndexed(D,G,L,F,v),T[1].initializeIndexed(D,G,L,F,Q),T[2].initializeIndexed(D,G,L,F,Be);let P=ie.clipTriangleAtAxisAlignedThreshold(z,o,De,Fe,ke,Me);b=0,!(b>=P.length)&&(b=B[0].initializeFromClipResult(P,b,T),!(b>=P.length)&&(b=B[1].initializeFromClipResult(P,b,T),!(b>=P.length)&&(b=B[2].initializeFromClipResult(P,b,T),j=ie.clipTriangleAtAxisAlignedThreshold(z,i,B[0].getV(),B[1].getV(),B[2].getV(),ze),Oe(c,p,d,u,r,l,j,B,O),b<P.length&&(B[2].clone(B[1]),B[2].initializeFromClipResult(P,b,T),j=ie.clipTriangleAtAxisAlignedThreshold(z,i,B[0].getV(),B[1].getV(),B[2].getV(),ze),Oe(c,p,d,u,r,l,j,B,O)))))}let He=o?-a:0,qe=i?-a:0,me=[],ge=[],le=[],we=[],U=Number.MAX_VALUE,_=-U,M=Xe;M.length=0;let re=Ce.clone(n.ellipsoid),J=Se.clone(n.childRectangle),Ee=J.north,Re=J.south,ce=J.east,xe=J.west;for(ce<xe&&(ce+=N.TWO_PI),t=0;t<c.length;++t)x=Math.round(c[t]),x<=s?(me.push(t),x=0):x>=e?(le.push(t),x=a):x=x*2+He,c[t]=x,y=Math.round(p[t]),y<=g?(ge.push(t),y=0):y>=w?(we.push(t),y=a):y=y*2+qe,p[t]=y,H=N.lerp(se,ae,d[t]/a),H<U&&(U=H),H>_&&(_=H),d[t]=H,te.longitude=N.lerp(xe,ce,x/a),te.latitude=N.lerp(Re,Ee,y/a),te.height=H,re.cartographicToCartesian(te,E),M.push(E.x),M.push(E.y),M.push(E.z);let he=de.fromVertices(M,A.ZERO,3,Qe),Ue=ue.fromRectangle(J,U,_,re,Ze),ve=new be(re).computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid(he.center,M,3,he.center,U,Je),Pe=_-U,X=new Uint16Array(c.length+p.length+d.length);for(t=0;t<c.length;++t)X[t]=c[t];let fe=c.length;for(t=0;t<p.length;++t)X[fe+t]=p[t];for(fe+=p.length,t=0;t<d.length;++t)X[fe+t]=a*(d[t]-U)/Pe;let pe=Ve.createTypedArray(c.length,r),ye;if(O){let v=new Uint8Array(u);h.push(X.buffer,pe.buffer,v.buffer),ye=v.buffer}else h.push(X.buffer,pe.buffer);return{vertices:X.buffer,encodedNormals:ye,indices:pe.buffer,minimumHeight:U,maximumHeight:_,westIndices:me,southIndices:ge,eastIndices:le,northIndices:we,boundingSphere:he,orientedBoundingBox:Ue,horizonOcclusionPoint:ve}}function m(){this.vertexBuffer=void 0,this.index=void 0,this.first=void 0,this.second=void 0,this.ratio=void 0}m.prototype.clone=function(n){return f(n)||(n=new m),n.uBuffer=this.uBuffer,n.vBuffer=this.vBuffer,n.heightBuffer=this.heightBuffer,n.normalBuffer=this.normalBuffer,n.index=this.index,n.first=this.first,n.second=this.second,n.ratio=this.ratio,n};m.prototype.initializeIndexed=function(n,h,o,i,s){this.uBuffer=n,this.vBuffer=h,this.heightBuffer=o,this.normalBuffer=i,this.index=s,this.first=void 0,this.second=void 0,this.ratio=void 0};m.prototype.initializeFromClipResult=function(n,h,o){let i=h+1;return n[h]!==-1?o[n[h]].clone(this):(this.vertexBuffer=void 0,this.index=void 0,this.first=o[n[i]],++i,this.second=o[n[i]],++i,this.ratio=n[i],++i),i};m.prototype.getKey=function(){return this.isIndexed()?this.index:JSON.stringify({first:this.first.getKey(),second:this.second.getKey(),ratio:this.ratio})};m.prototype.isIndexed=function(){return f(this.index)};m.prototype.getH=function(){return f(this.index)?this.heightBuffer[this.index]:N.lerp(this.first.getH(),this.second.getH(),this.ratio)};m.prototype.getU=function(){return f(this.index)?this.uBuffer[this.index]:N.lerp(this.first.getU(),this.second.getU(),this.ratio)};m.prototype.getV=function(){return f(this.index)?this.vBuffer[this.index]:N.lerp(this.first.getV(),this.second.getV(),this.ratio)};var K=new Z,oe=-1,en=[new A,new A],nn=[new A,new A];function Te(n,h){++oe;let o=en[oe],i=nn[oe];return o=ee.octDecode(n.first.getNormalX(),n.first.getNormalY(),o),i=ee.octDecode(n.second.getNormalX(),n.second.getNormalY(),i),E=A.lerp(o,i,n.ratio,E),A.normalize(E,E),ee.octEncode(E,h),--oe,h}m.prototype.getNormalX=function(){return f(this.index)?this.normalBuffer[this.index*2]:(K=Te(this,K),K.x)};m.prototype.getNormalY=function(){return f(this.index)?this.normalBuffer[this.index*2+1]:(K=Te(this,K),K.y)};var S=[];S.push(new m);S.push(new m);S.push(new m);S.push(new m);function Oe(n,h,o,i,s,e,g,w,c){if(g.length===0)return;let p=0,d=0;for(;d<g.length;)d=S[p++].initializeFromClipResult(g,d,w);for(let u=0;u<p;++u){let r=S[u];if(r.isIndexed())r.newIndex=e[r.index],r.uBuffer=n,r.vBuffer=h,r.heightBuffer=o,c&&(r.normalBuffer=i);else{let l=r.getKey();if(f(e[l]))r.newIndex=e[l];else{let I=n.length;n.push(r.getU()),h.push(r.getV()),o.push(r.getH()),c&&(i.push(r.getNormalX()),i.push(r.getNormalY())),r.newIndex=I,e[l]=I}}}p===3?(s.push(S[0].newIndex),s.push(S[1].newIndex),s.push(S[2].newIndex)):p===4&&(s.push(S[0].newIndex),s.push(S[1].newIndex),s.push(S[2].newIndex),s.push(S[0].newIndex),s.push(S[2].newIndex),s.push(S[3].newIndex))}var An=Ae(je);export{An as default}; +import{a as be,b as Ne}from"./chunk-46LYVLGL.js";import{a as Ae}from"./chunk-YEUI4ZO2.js";import{a as ue}from"./chunk-LKADYPHQ.js";import{a as ee}from"./chunk-BMKF5JTH.js";import"./chunk-JHG5JGLM.js";import"./chunk-ULZ2QSU5.js";import"./chunk-GCVZZUCS.js";import"./chunk-I66MFRXO.js";import{a as Ve}from"./chunk-A3VS2OZ2.js";import{d as de}from"./chunk-JLMPKQO4.js";import{h as Se}from"./chunk-2K72IAMD.js";import"./chunk-GNTVNTUY.js";import{a as A,b as Ie,c as Z,d as Ce}from"./chunk-HWH6BBH6.js";import{a as N}from"./chunk-DW4EQ6YI.js";import"./chunk-6DFUP66D.js";import"./chunk-GVFM5H7M.js";import"./chunk-CJFJKB5V.js";import{a as V,b as q}from"./chunk-4BGNE6LH.js";import{e as f}from"./chunk-OX5CTLXY.js";var ne={};ne.clipTriangleAtAxisAlignedThreshold=function(n,h,o,i,s,e){if(!f(n))throw new V("threshold is required.");if(!f(h))throw new V("keepAbove is required.");if(!f(o))throw new V("u0 is required.");if(!f(i))throw new V("u1 is required.");if(!f(s))throw new V("u2 is required.");f(e)?e.length=0:e=[];let g,w,c;h?(g=o<n,w=i<n,c=s<n):(g=o>n,w=i>n,c=s>n);let p=g+w+c,d,u,r,l,I,C;return p===1?g?(d=(n-o)/(i-o),u=(n-o)/(s-o),e.push(1),e.push(2),u!==1&&(e.push(-1),e.push(0),e.push(2),e.push(u)),d!==1&&(e.push(-1),e.push(0),e.push(1),e.push(d))):w?(r=(n-i)/(s-i),l=(n-i)/(o-i),e.push(2),e.push(0),l!==1&&(e.push(-1),e.push(1),e.push(0),e.push(l)),r!==1&&(e.push(-1),e.push(1),e.push(2),e.push(r))):c&&(I=(n-s)/(o-s),C=(n-s)/(i-s),e.push(0),e.push(1),C!==1&&(e.push(-1),e.push(2),e.push(1),e.push(C)),I!==1&&(e.push(-1),e.push(2),e.push(0),e.push(I))):p===2?!g&&o!==n?(l=(n-i)/(o-i),I=(n-s)/(o-s),e.push(0),e.push(-1),e.push(1),e.push(0),e.push(l),e.push(-1),e.push(2),e.push(0),e.push(I)):!w&&i!==n?(C=(n-s)/(i-s),d=(n-o)/(i-o),e.push(1),e.push(-1),e.push(2),e.push(1),e.push(C),e.push(-1),e.push(0),e.push(1),e.push(d)):!c&&s!==n&&(u=(n-o)/(s-o),r=(n-i)/(s-i),e.push(2),e.push(-1),e.push(0),e.push(2),e.push(u),e.push(-1),e.push(1),e.push(2),e.push(r)):p!==3&&(e.push(0),e.push(1),e.push(2)),e};ne.computeBarycentricCoordinates=function(n,h,o,i,s,e,g,w,c){if(!f(n))throw new V("x is required.");if(!f(h))throw new V("y is required.");if(!f(o))throw new V("x1 is required.");if(!f(i))throw new V("y1 is required.");if(!f(s))throw new V("x2 is required.");if(!f(e))throw new V("y2 is required.");if(!f(g))throw new V("x3 is required.");if(!f(w))throw new V("y3 is required.");let p=o-g,d=g-s,u=e-w,r=i-w,l=1/(u*p+d*r),I=h-w,C=n-g,R=(u*C+d*I)*l,O=(-r*C+p*I)*l,W=1-R-O;return f(c)?(c.x=R,c.y=O,c.z=W,c):new A(R,O,W)};ne.computeLineSegmentLineSegmentIntersection=function(n,h,o,i,s,e,g,w,c){q.typeOf.number("x00",n),q.typeOf.number("y00",h),q.typeOf.number("x01",o),q.typeOf.number("y01",i),q.typeOf.number("x10",s),q.typeOf.number("y10",e),q.typeOf.number("x11",g),q.typeOf.number("y11",w);let p=(g-s)*(h-e)-(w-e)*(n-s),d=(o-n)*(h-e)-(i-h)*(n-s),u=(w-e)*(o-n)-(g-s)*(i-h);if(u===0)return;let r=p/u,l=d/u;if(r>=0&&r<=1&&l>=0&&l<=1)return f(c)||(c=new Z),c.x=n+r*(o-n),c.y=h+r*(i-h),c};var ie=ne;var a=32767,z=a/2|0,Me=[],ze=[],Xe=[],te=new Ie,E=new A,Ke=[],We=[],Ye=[],Le=[],_e=[],Je=new A,Qe=new de,Ze=new ue,Ge=new Z,$e=new A;function je(n,h){let o=n.isEastChild,i=n.isNorthChild,s=o?z:0,e=o?a:z,g=i?z:0,w=i?a:z,c=Ke,p=We,d=Ye,u=_e;c.length=0,p.length=0,d.length=0,u.length=0;let r=Le;r.length=0;let l={},I=n.vertices,C=n.indices;C=C.subarray(0,n.indexCountWithoutSkirts);let R=Ne.clone(n.encoding),O=R.hasVertexNormals,W=0,Y=n.vertexCountWithoutSkirts,se=n.minimumHeight,ae=n.maximumHeight,D=new Array(Y),G=new Array(Y),L=new Array(Y),F=O?new Array(Y*2):void 0,$=20,H,t,k,x,y;for(t=0,k=0;t<Y;++t,k+=2){let v=R.decodeTextureCoordinates(I,t,Ge);if(H=R.decodeHeight(I,t),x=N.clamp(v.x*a|0,0,a),y=N.clamp(v.y*a|0,0,a),L[t]=N.clamp((H-se)/(ae-se)*a|0,0,a),x<$&&(x=0),y<$&&(y=0),a-x<$&&(x=a),a-y<$&&(y=a),D[t]=x,G[t]=y,O){let Q=R.getOctEncodedNormal(I,t,$e);F[k]=Q.x,F[k+1]=Q.y}(o&&x>=z||!o&&x<=z)&&(i&&y>=z||!i&&y<=z)&&(l[t]=W,c.push(x),p.push(y),d.push(L[t]),O&&(u.push(F[k]),u.push(F[k+1])),++W)}let T=[];T.push(new m),T.push(new m),T.push(new m);let B=[];B.push(new m),B.push(new m),B.push(new m);let b,j;for(t=0;t<C.length;t+=3){let v=C[t],Q=C[t+1],Be=C[t+2],De=D[v],Fe=D[Q],ke=D[Be];T[0].initializeIndexed(D,G,L,F,v),T[1].initializeIndexed(D,G,L,F,Q),T[2].initializeIndexed(D,G,L,F,Be);let P=ie.clipTriangleAtAxisAlignedThreshold(z,o,De,Fe,ke,Me);b=0,!(b>=P.length)&&(b=B[0].initializeFromClipResult(P,b,T),!(b>=P.length)&&(b=B[1].initializeFromClipResult(P,b,T),!(b>=P.length)&&(b=B[2].initializeFromClipResult(P,b,T),j=ie.clipTriangleAtAxisAlignedThreshold(z,i,B[0].getV(),B[1].getV(),B[2].getV(),ze),Oe(c,p,d,u,r,l,j,B,O),b<P.length&&(B[2].clone(B[1]),B[2].initializeFromClipResult(P,b,T),j=ie.clipTriangleAtAxisAlignedThreshold(z,i,B[0].getV(),B[1].getV(),B[2].getV(),ze),Oe(c,p,d,u,r,l,j,B,O)))))}let He=o?-a:0,qe=i?-a:0,me=[],ge=[],le=[],we=[],U=Number.MAX_VALUE,_=-U,M=Xe;M.length=0;let re=Ce.clone(n.ellipsoid),J=Se.clone(n.childRectangle),Ee=J.north,Re=J.south,ce=J.east,xe=J.west;for(ce<xe&&(ce+=N.TWO_PI),t=0;t<c.length;++t)x=Math.round(c[t]),x<=s?(me.push(t),x=0):x>=e?(le.push(t),x=a):x=x*2+He,c[t]=x,y=Math.round(p[t]),y<=g?(ge.push(t),y=0):y>=w?(we.push(t),y=a):y=y*2+qe,p[t]=y,H=N.lerp(se,ae,d[t]/a),H<U&&(U=H),H>_&&(_=H),d[t]=H,te.longitude=N.lerp(xe,ce,x/a),te.latitude=N.lerp(Re,Ee,y/a),te.height=H,re.cartographicToCartesian(te,E),M.push(E.x),M.push(E.y),M.push(E.z);let he=de.fromVertices(M,A.ZERO,3,Qe),Ue=ue.fromRectangle(J,U,_,re,Ze),ve=new be(re).computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid(he.center,M,3,he.center,U,Je),Pe=_-U,X=new Uint16Array(c.length+p.length+d.length);for(t=0;t<c.length;++t)X[t]=c[t];let fe=c.length;for(t=0;t<p.length;++t)X[fe+t]=p[t];for(fe+=p.length,t=0;t<d.length;++t)X[fe+t]=a*(d[t]-U)/Pe;let pe=Ve.createTypedArray(c.length,r),ye;if(O){let v=new Uint8Array(u);h.push(X.buffer,pe.buffer,v.buffer),ye=v.buffer}else h.push(X.buffer,pe.buffer);return{vertices:X.buffer,encodedNormals:ye,indices:pe.buffer,minimumHeight:U,maximumHeight:_,westIndices:me,southIndices:ge,eastIndices:le,northIndices:we,boundingSphere:he,orientedBoundingBox:Ue,horizonOcclusionPoint:ve}}function m(){this.vertexBuffer=void 0,this.index=void 0,this.first=void 0,this.second=void 0,this.ratio=void 0}m.prototype.clone=function(n){return f(n)||(n=new m),n.uBuffer=this.uBuffer,n.vBuffer=this.vBuffer,n.heightBuffer=this.heightBuffer,n.normalBuffer=this.normalBuffer,n.index=this.index,n.first=this.first,n.second=this.second,n.ratio=this.ratio,n};m.prototype.initializeIndexed=function(n,h,o,i,s){this.uBuffer=n,this.vBuffer=h,this.heightBuffer=o,this.normalBuffer=i,this.index=s,this.first=void 0,this.second=void 0,this.ratio=void 0};m.prototype.initializeFromClipResult=function(n,h,o){let i=h+1;return n[h]!==-1?o[n[h]].clone(this):(this.vertexBuffer=void 0,this.index=void 0,this.first=o[n[i]],++i,this.second=o[n[i]],++i,this.ratio=n[i],++i),i};m.prototype.getKey=function(){return this.isIndexed()?this.index:JSON.stringify({first:this.first.getKey(),second:this.second.getKey(),ratio:this.ratio})};m.prototype.isIndexed=function(){return f(this.index)};m.prototype.getH=function(){return f(this.index)?this.heightBuffer[this.index]:N.lerp(this.first.getH(),this.second.getH(),this.ratio)};m.prototype.getU=function(){return f(this.index)?this.uBuffer[this.index]:N.lerp(this.first.getU(),this.second.getU(),this.ratio)};m.prototype.getV=function(){return f(this.index)?this.vBuffer[this.index]:N.lerp(this.first.getV(),this.second.getV(),this.ratio)};var K=new Z,oe=-1,en=[new A,new A],nn=[new A,new A];function Te(n,h){++oe;let o=en[oe],i=nn[oe];return o=ee.octDecode(n.first.getNormalX(),n.first.getNormalY(),o),i=ee.octDecode(n.second.getNormalX(),n.second.getNormalY(),i),E=A.lerp(o,i,n.ratio,E),A.normalize(E,E),ee.octEncode(E,h),--oe,h}m.prototype.getNormalX=function(){return f(this.index)?this.normalBuffer[this.index*2]:(K=Te(this,K),K.x)};m.prototype.getNormalY=function(){return f(this.index)?this.normalBuffer[this.index*2+1]:(K=Te(this,K),K.y)};var S=[];S.push(new m);S.push(new m);S.push(new m);S.push(new m);function Oe(n,h,o,i,s,e,g,w,c){if(g.length===0)return;let p=0,d=0;for(;d<g.length;)d=S[p++].initializeFromClipResult(g,d,w);for(let u=0;u<p;++u){let r=S[u];if(r.isIndexed())r.newIndex=e[r.index],r.uBuffer=n,r.vBuffer=h,r.heightBuffer=o,c&&(r.normalBuffer=i);else{let l=r.getKey();if(f(e[l]))r.newIndex=e[l];else{let I=n.length;n.push(r.getU()),h.push(r.getV()),o.push(r.getH()),c&&(i.push(r.getNormalX()),i.push(r.getNormalY())),r.newIndex=I,e[l]=I}}}p===3?(s.push(S[0].newIndex),s.push(S[1].newIndex),s.push(S[2].newIndex)):p===4&&(s.push(S[0].newIndex),s.push(S[1].newIndex),s.push(S[2].newIndex),s.push(S[0].newIndex),s.push(S[2].newIndex),s.push(S[3].newIndex))}var An=Ae(je);export{An as default}; diff --git a/public/lib/Cesium/index.cjs b/public/lib/Cesium/index.cjs index e83ca2b04..e2ae854f5 100644 --- a/public/lib/Cesium/index.cjs +++ b/public/lib/Cesium/index.cjs @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,7 +23,7 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -var cEe=Object.create;var Xk=Object.defineProperty;var lEe=Object.getOwnPropertyDescriptor;var uEe=Object.getOwnPropertyNames;var fEe=Object.getPrototypeOf,dEe=Object.prototype.hasOwnProperty;var hEe=(e,t)=>()=>(e&&(t=e(e=0)),t);var Qn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),SQ=(e,t)=>{for(var n in t)Xk(e,n,{get:t[n],enumerable:!0})},vQ=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of uEe(t))!dEe.call(e,o)&&o!==n&&Xk(e,o,{get:()=>t[o],enumerable:!(i=lEe(t,o))||i.enumerable});return e};var Bo=(e,t,n)=>(n=e!=null?cEe(fEe(e)):{},vQ(t||!e||!e.__esModule?Xk(n,"default",{value:e,enumerable:!0}):n,e)),Gh=e=>vQ(Xk({},"__esModule",{value:!0}),e);var Kk=Qn((Avt,DQ)=>{var dp=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};dp.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};dp.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};dp.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n<this.N-this.M;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^e>>>1^t[e&1];for(;n<this.N-1;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^e>>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};dp.prototype.random_int31=function(){return this.random_int()>>>1};dp.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};dp.prototype.random=function(){return this.random_int()*(1/4294967296)};dp.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};dp.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};DQ.exports=dp});var JQ=Qn((VC,UC)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof VC=="object"&&VC&&!VC.nodeType&&VC,n=typeof UC=="object"&&UC&&!UC.nodeType&&UC,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,u=38,f=700,d=72,p=128,g="-",m=/^xn--/,x=/[^\x20-\x7E]/,b=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},A=s-a,C=Math.floor,E=String.fromCharCode,v;function D(V){throw new RangeError(T[V])}function O(V,G){for(var k=V.length,Y=[];k--;)Y[k]=G(V[k]);return Y}function R(V,G){var k=V.split("@"),Y="";k.length>1&&(Y=k[0]+"@",V=k[1]),V=V.replace(b,".");var W=V.split("."),Q=O(W,G).join(".");return Y+Q}function M(V){for(var G=[],k=0,Y=V.length,W,Q;k<Y;)W=V.charCodeAt(k++),W>=55296&&W<=56319&&k<Y?(Q=V.charCodeAt(k++),(Q&64512)==56320?G.push(((W&1023)<<10)+(Q&1023)+65536):(G.push(W),k--)):G.push(W);return G}function N(V){return O(V,function(G){var k="";return G>65535&&(G-=65536,k+=E(G>>>10&1023|55296),G=56320|G&1023),k+=E(G),k}).join("")}function _(V){return V-48<10?V-22:V-65<26?V-65:V-97<26?V-97:s}function S(V,G){return V+22+75*(V<26)-((G!=0)<<5)}function w(V,G,k){var Y=0;for(V=k?C(V/f):V>>1,V+=C(V/G);V>A*c>>1;Y+=s)V=C(V/A);return C(Y+(A+1)*V/(V+u))}function I(V){var G=[],k=V.length,Y,W=0,Q=p,j=d,Z,J,he,xe,re,_e,ye,De,ve;for(Z=V.lastIndexOf(g),Z<0&&(Z=0),J=0;J<Z;++J)V.charCodeAt(J)>=128&&D("not-basic"),G.push(V.charCodeAt(J));for(he=Z>0?Z+1:0;he<k;){for(xe=W,re=1,_e=s;he>=k&&D("invalid-input"),ye=_(V.charCodeAt(he++)),(ye>=s||ye>C((r-W)/re))&&D("overflow"),W+=ye*re,De=_e<=j?a:_e>=j+c?c:_e-j,!(ye<De);_e+=s)ve=s-De,re>C(r/ve)&&D("overflow"),re*=ve;Y=G.length+1,j=w(W-xe,Y,xe==0),C(W/Y)>r-Q&&D("overflow"),Q+=C(W/Y),W%=Y,G.splice(W++,0,Q)}return N(G)}function L(V){var G,k,Y,W,Q,j,Z,J,he,xe,re,_e=[],ye,De,ve,Me;for(V=M(V),ye=V.length,G=p,k=0,Q=d,j=0;j<ye;++j)re=V[j],re<128&&_e.push(E(re));for(Y=W=_e.length,W&&_e.push(g);Y<ye;){for(Z=r,j=0;j<ye;++j)re=V[j],re>=G&&re<Z&&(Z=re);for(De=Y+1,Z-G>C((r-k)/De)&&D("overflow"),k+=(Z-G)*De,G=Z,j=0;j<ye;++j)if(re=V[j],re<G&&++k>r&&D("overflow"),re==G){for(J=k,he=s;xe=he<=Q?a:he>=Q+c?c:he-Q,!(J<xe);he+=s)Me=J-xe,ve=s-xe,_e.push(E(S(xe+Me%ve,0))),J=C(Me/ve);_e.push(E(S(J,0))),Q=w(k,De,Y==W),k=0,++Y}++k,++G}return _e.join("")}function B(V){return R(V,function(G){return m.test(G)?I(G.slice(4).toLowerCase()):G})}function U(V){return R(V,function(G){return x.test(G)?"xn--"+L(G):G})}if(o={version:"1.3.2",ucs2:{decode:M,encode:N},decode:I,encode:L,toASCII:U,toUnicode:B},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(UC.exports==t)n.exports=o;else for(v in o)o.hasOwnProperty(v)&&(t[v]=o[v]);else e.punycode=o})(VC)});var tJ=Qn((eJ,pV)=>{/*! +var IEe=Object.create;var iV=Object.defineProperty;var PEe=Object.getOwnPropertyDescriptor;var REe=Object.getOwnPropertyNames;var OEe=Object.getPrototypeOf,MEe=Object.prototype.hasOwnProperty;var LEe=(e,t)=>()=>(e&&(t=e(e=0)),t);var Xn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),kQ=(e,t)=>{for(var n in t)iV(e,n,{get:t[n],enumerable:!0})},VQ=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of REe(t))!MEe.call(e,o)&&o!==n&&iV(e,o,{get:()=>t[o],enumerable:!(i=PEe(t,o))||i.enumerable});return e};var Wo=(e,t,n)=>(n=e!=null?IEe(OEe(e)):{},VQ(t||!e||!e.__esModule?iV(n,"default",{value:e,enumerable:!0}):n,e)),jh=e=>VQ(iV({},"__esModule",{value:!0}),e);var oV=Xn((uwt,zQ)=>{var mp=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};mp.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};mp.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};mp.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n<this.N-this.M;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^e>>>1^t[e&1];for(;n<this.N-1;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^e>>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};mp.prototype.random_int31=function(){return this.random_int()>>>1};mp.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};mp.prototype.random=function(){return this.random_int()*(1/4294967296)};mp.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};mp.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};zQ.exports=mp});var dJ=Xn((zC,HC)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof zC=="object"&&zC&&!zC.nodeType&&zC,n=typeof HC=="object"&&HC&&!HC.nodeType&&HC,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,u=38,f=700,d=72,p=128,g="-",m=/^xn--/,x=/[^\x20-\x7E]/,b=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},A=s-a,C=Math.floor,E=String.fromCharCode,v;function D(V){throw new RangeError(T[V])}function O(V,G){for(var k=V.length,W=[];k--;)W[k]=G(V[k]);return W}function R(V,G){var k=V.split("@"),W="";k.length>1&&(W=k[0]+"@",V=k[1]),V=V.replace(b,".");var Y=V.split("."),Q=O(Y,G).join(".");return W+Q}function M(V){for(var G=[],k=0,W=V.length,Y,Q;k<W;)Y=V.charCodeAt(k++),Y>=55296&&Y<=56319&&k<W?(Q=V.charCodeAt(k++),(Q&64512)==56320?G.push(((Y&1023)<<10)+(Q&1023)+65536):(G.push(Y),k--)):G.push(Y);return G}function N(V){return O(V,function(G){var k="";return G>65535&&(G-=65536,k+=E(G>>>10&1023|55296),G=56320|G&1023),k+=E(G),k}).join("")}function _(V){return V-48<10?V-22:V-65<26?V-65:V-97<26?V-97:s}function S(V,G){return V+22+75*(V<26)-((G!=0)<<5)}function w(V,G,k){var W=0;for(V=k?C(V/f):V>>1,V+=C(V/G);V>A*c>>1;W+=s)V=C(V/A);return C(W+(A+1)*V/(V+u))}function I(V){var G=[],k=V.length,W,Y=0,Q=p,j=d,Z,J,he,xe,re,_e,ye,De,we;for(Z=V.lastIndexOf(g),Z<0&&(Z=0),J=0;J<Z;++J)V.charCodeAt(J)>=128&&D("not-basic"),G.push(V.charCodeAt(J));for(he=Z>0?Z+1:0;he<k;){for(xe=Y,re=1,_e=s;he>=k&&D("invalid-input"),ye=_(V.charCodeAt(he++)),(ye>=s||ye>C((r-Y)/re))&&D("overflow"),Y+=ye*re,De=_e<=j?a:_e>=j+c?c:_e-j,!(ye<De);_e+=s)we=s-De,re>C(r/we)&&D("overflow"),re*=we;W=G.length+1,j=w(Y-xe,W,xe==0),C(Y/W)>r-Q&&D("overflow"),Q+=C(Y/W),Y%=W,G.splice(Y++,0,Q)}return N(G)}function L(V){var G,k,W,Y,Q,j,Z,J,he,xe,re,_e=[],ye,De,we,Me;for(V=M(V),ye=V.length,G=p,k=0,Q=d,j=0;j<ye;++j)re=V[j],re<128&&_e.push(E(re));for(W=Y=_e.length,Y&&_e.push(g);W<ye;){for(Z=r,j=0;j<ye;++j)re=V[j],re>=G&&re<Z&&(Z=re);for(De=W+1,Z-G>C((r-k)/De)&&D("overflow"),k+=(Z-G)*De,G=Z,j=0;j<ye;++j)if(re=V[j],re<G&&++k>r&&D("overflow"),re==G){for(J=k,he=s;xe=he<=Q?a:he>=Q+c?c:he-Q,!(J<xe);he+=s)Me=J-xe,we=s-xe,_e.push(E(S(xe+Me%we,0))),J=C(Me/we);_e.push(E(S(J,0))),Q=w(k,De,W==Y),k=0,++W}++k,++G}return _e.join("")}function B(V){return R(V,function(G){return m.test(G)?I(G.slice(4).toLowerCase()):G})}function U(V){return R(V,function(G){return x.test(G)?"xn--"+L(G):G})}if(o={version:"1.3.2",ucs2:{decode:M,encode:N},decode:I,encode:L,toASCII:U,toUnicode:B},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(HC.exports==t)n.exports=o;else for(v in o)o.hasOwnProperty(v)&&(t[v]=o[v]);else e.punycode=o})(zC)});var mJ=Xn((hJ,EV)=>{/*! * URI.js - Mutating URLs * IPv6 Support * @@ -35,7 +35,7 @@ var cEe=Object.create;var Xk=Object.defineProperty;var lEe=Object.getOwnProperty * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof pV=="object"&&pV.exports?pV.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(eJ,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var u;for(u=0;u<a&&s[u]!=="";u++);if(u<c)for(s.splice(u,1,"0000");s.length<c;)s.splice(u,0,"0000");for(var f,d=0;d<c;d++){f=s[d].split("");for(var p=0;p<3&&(f[0]==="0"&&f.length>1);p++)f.splice(0,1);s[d]=f.join("")}var g=-1,m=0,x=0,b=-1,T=!1;for(d=0;d<c;d++)T?s[d]==="0"?x+=1:(T=!1,x>m&&(g=b,m=x)):s[d]==="0"&&(T=!0,b=d,x=1);x>m&&(g=b,m=x),m>1&&s.splice(g,m,""),a=s.length;var A="";for(s[0]===""&&(A=":"),d=0;d<a&&(A+=s[d],d!==a-1);d++)A+=":";return s[a-1]===""&&(A+=":"),A}function i(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:i}})});var iJ=Qn((nJ,_V)=>{/*! + */(function(e,t){"use strict";typeof EV=="object"&&EV.exports?EV.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(hJ,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var u;for(u=0;u<a&&s[u]!=="";u++);if(u<c)for(s.splice(u,1,"0000");s.length<c;)s.splice(u,0,"0000");for(var f,d=0;d<c;d++){f=s[d].split("");for(var p=0;p<3&&(f[0]==="0"&&f.length>1);p++)f.splice(0,1);s[d]=f.join("")}var g=-1,m=0,x=0,b=-1,T=!1;for(d=0;d<c;d++)T?s[d]==="0"?x+=1:(T=!1,x>m&&(g=b,m=x)):s[d]==="0"&&(T=!0,b=d,x=1);x>m&&(g=b,m=x),m>1&&s.splice(g,m,""),a=s.length;var A="";for(s[0]===""&&(A=":"),d=0;d<a&&(A+=s[d],d!==a-1);d++)A+=":";return s[a-1]===""&&(A+=":"),A}function i(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:i}})});var _J=Xn((pJ,SV)=>{/*! * URI.js - Mutating URLs * Second Level Domain (SLD) Support * @@ -47,7 +47,7 @@ var cEe=Object.create;var Xk=Object.defineProperty;var lEe=Object.getOwnProperty * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof _V=="object"&&_V.exports?_V.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(nJ,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var ru=Qn((oJ,gV)=>{/*! + */(function(e,t){"use strict";typeof SV=="object"&&SV.exports?SV.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(pJ,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var ou=Xn((gJ,vV)=>{/*! * URI.js - Mutating URLs * * Version: 1.19.11 @@ -58,27 +58,27 @@ var cEe=Object.create;var Xk=Object.defineProperty;var lEe=Object.getOwnProperty * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof gV=="object"&&gV.exports?gV.exports=t(JQ(),tJ(),iJ()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(oJ,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(S,w){var I=arguments.length>=1,L=arguments.length>=2;if(!(this instanceof r))return I?L?new r(S,w):new r(S):new r;if(S===void 0){if(I)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?S=location.href+"":S=""}if(S===null&&I)throw new TypeError("null is not a valid argument for URI");return this.href(S),w!==void 0?this.absoluteTo(w):this}function s(S){return/^[0-9]+$/.test(S)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function u(S){return S.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function f(S){return S===void 0?"Undefined":String(Object.prototype.toString.call(S)).slice(8,-1)}function d(S){return f(S)==="Array"}function p(S,w){var I={},L,B;if(f(w)==="RegExp")I=null;else if(d(w))for(L=0,B=w.length;L<B;L++)I[w[L]]=!0;else I[w]=!0;for(L=0,B=S.length;L<B;L++){var U=I&&I[S[L]]!==void 0||!I&&w.test(S[L]);U&&(S.splice(L,1),B--,L--)}return S}function g(S,w){var I,L;if(d(w)){for(I=0,L=w.length;I<L;I++)if(!g(S,w[I]))return!1;return!0}var B=f(w);for(I=0,L=S.length;I<L;I++)if(B==="RegExp"){if(typeof S[I]=="string"&&S[I].match(w))return!0}else if(S[I]===w)return!0;return!1}function m(S,w){if(!d(S)||!d(w)||S.length!==w.length)return!1;S.sort(),w.sort();for(var I=0,L=S.length;I<L;I++)if(S[I]!==w[I])return!1;return!0}function x(S){var w=/^\/+|\/+$/g;return S.replace(w,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(S){if(!(!S||!S.nodeName)){var w=S.nodeName.toLowerCase();if(!(w==="input"&&S.type!=="image"))return r.domAttributes[w]}};function b(S){return escape(S)}function T(S){return encodeURIComponent(S).replace(/[!'()*]/g,b).replace(/\*/g,"%2A")}r.encode=T,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=T,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(S,w){var I=r.encode(S+"");return w===void 0&&(w=r.escapeQuerySpace),w?I.replace(/%20/g,"+"):I},r.decodeQuery=function(S,w){S+="",w===void 0&&(w=r.escapeQuerySpace);try{return r.decode(w?S.replace(/\+/g,"%20"):S)}catch{return S}};var A={encode:"encode",decode:"decode"},C,E=function(S,w){return function(I){try{return r[w](I+"").replace(r.characters[S][w].expression,function(L){return r.characters[S][w].map[L]})}catch{return I}}};for(C in A)r[C+"PathSegment"]=E("pathname",A[C]),r[C+"UrnPathSegment"]=E("urnpath",A[C]);var v=function(S,w,I){return function(L){var B;I?B=function(k){return r[w](r[I](k))}:B=r[w];for(var U=(L+"").split(S),V=0,G=U.length;V<G;V++)U[V]=B(U[V]);return U.join(S)}};r.decodePath=v("/","decodePathSegment"),r.decodeUrnPath=v(":","decodeUrnPathSegment"),r.recodePath=v("/","encodePathSegment","decode"),r.recodeUrnPath=v(":","encodeUrnPathSegment","decode"),r.encodeReserved=E("reserved","encode"),r.parse=function(S,w){var I;return w||(w={preventInvalidHostname:r.preventInvalidHostname}),S=S.replace(r.leading_whitespace_expression,""),S=S.replace(r.ascii_tab_whitespace,""),I=S.indexOf("#"),I>-1&&(w.fragment=S.substring(I+1)||null,S=S.substring(0,I)),I=S.indexOf("?"),I>-1&&(w.query=S.substring(I+1)||null,S=S.substring(0,I)),S=S.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),S=S.replace(/^[/\\]{2,}/i,"//"),S.substring(0,2)==="//"?(w.protocol=null,S=S.substring(2),S=r.parseAuthority(S,w)):(I=S.indexOf(":"),I>-1&&(w.protocol=S.substring(0,I)||null,w.protocol&&!w.protocol.match(r.protocol_expression)?w.protocol=void 0:S.substring(I+1,I+3).replace(/\\/g,"/")==="//"?(S=S.substring(I+3),S=r.parseAuthority(S,w)):(S=S.substring(I+1),w.urn=!0))),w.path=S,w},r.parseHost=function(S,w){S||(S=""),S=S.replace(/\\/g,"/");var I=S.indexOf("/"),L,B;if(I===-1&&(I=S.length),S.charAt(0)==="[")L=S.indexOf("]"),w.hostname=S.substring(1,L)||null,w.port=S.substring(L+2,I)||null,w.port==="/"&&(w.port=null);else{var U=S.indexOf(":"),V=S.indexOf("/"),G=S.indexOf(":",U+1);G!==-1&&(V===-1||G<V)?(w.hostname=S.substring(0,I)||null,w.port=null):(B=S.substring(0,I).split(":"),w.hostname=B[0]||null,w.port=B[1]||null)}return w.hostname&&S.substring(I).charAt(0)!=="/"&&(I++,S="/"+S),w.preventInvalidHostname&&r.ensureValidHostname(w.hostname,w.protocol),w.port&&r.ensureValidPort(w.port),S.substring(I)||"/"},r.parseAuthority=function(S,w){return S=r.parseUserinfo(S,w),r.parseHost(S,w)},r.parseUserinfo=function(S,w){var I=S,L=S.indexOf("\\");L!==-1&&(S=S.replace(/\\/g,"/"));var B=S.indexOf("/"),U=S.lastIndexOf("@",B>-1?B:S.length-1),V;return U>-1&&(B===-1||U<B)?(V=S.substring(0,U).split(":"),w.username=V[0]?r.decode(V[0]):null,V.shift(),w.password=V[0]?r.decode(V.join(":")):null,S=I.substring(U+1)):(w.username=null,w.password=null),S},r.parseQuery=function(S,w){if(!S)return{};if(S=S.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!S)return{};for(var I={},L=S.split("&"),B=L.length,U,V,G,k=0;k<B;k++)U=L[k].split("="),V=r.decodeQuery(U.shift(),w),G=U.length?r.decodeQuery(U.join("="),w):null,V!=="__proto__"&&(c.call(I,V)?((typeof I[V]=="string"||I[V]===null)&&(I[V]=[I[V]]),I[V].push(G)):I[V]=G);return I},r.build=function(S){var w="",I=!1;return S.protocol&&(w+=S.protocol+":"),!S.urn&&(w||S.hostname)&&(w+="//",I=!0),w+=r.buildAuthority(S)||"",typeof S.path=="string"&&(S.path.charAt(0)!=="/"&&I&&(w+="/"),w+=S.path),typeof S.query=="string"&&S.query&&(w+="?"+S.query),typeof S.fragment=="string"&&S.fragment&&(w+="#"+S.fragment),w},r.buildHost=function(S){var w="";if(S.hostname)r.ip6_expression.test(S.hostname)?w+="["+S.hostname+"]":w+=S.hostname;else return"";return S.port&&(w+=":"+S.port),w},r.buildAuthority=function(S){return r.buildUserinfo(S)+r.buildHost(S)},r.buildUserinfo=function(S){var w="";return S.username&&(w+=r.encode(S.username)),S.password&&(w+=":"+r.encode(S.password)),w&&(w+="@"),w},r.buildQuery=function(S,w,I){var L="",B,U,V,G;for(U in S)if(U!=="__proto__"&&c.call(S,U))if(d(S[U]))for(B={},V=0,G=S[U].length;V<G;V++)S[U][V]!==void 0&&B[S[U][V]+""]===void 0&&(L+="&"+r.buildQueryParameter(U,S[U][V],I),w!==!0&&(B[S[U][V]+""]=!0));else S[U]!==void 0&&(L+="&"+r.buildQueryParameter(U,S[U],I));return L.substring(1)},r.buildQueryParameter=function(S,w,I){return r.encodeQuery(S,I)+(w!==null?"="+r.encodeQuery(w,I):"")},r.addQuery=function(S,w,I){if(typeof w=="object")for(var L in w)c.call(w,L)&&r.addQuery(S,L,w[L]);else if(typeof w=="string"){if(S[w]===void 0){S[w]=I;return}else typeof S[w]=="string"&&(S[w]=[S[w]]);d(I)||(I=[I]),S[w]=(S[w]||[]).concat(I)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(S,w,I){if(typeof w=="object")for(var L in w)c.call(w,L)&&r.setQuery(S,L,w[L]);else if(typeof w=="string")S[w]=I===void 0?null:I;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(S,w,I){var L,B,U;if(d(w))for(L=0,B=w.length;L<B;L++)S[w[L]]=void 0;else if(f(w)==="RegExp")for(U in S)w.test(U)&&(S[U]=void 0);else if(typeof w=="object")for(U in w)c.call(w,U)&&r.removeQuery(S,U,w[U]);else if(typeof w=="string")I!==void 0?f(I)==="RegExp"?!d(S[w])&&I.test(S[w])?S[w]=void 0:S[w]=p(S[w],I):S[w]===String(I)&&(!d(I)||I.length===1)?S[w]=void 0:d(S[w])&&(S[w]=p(S[w],I)):S[w]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(S,w,I,L){switch(f(w)){case"String":break;case"RegExp":for(var B in S)if(c.call(S,B)&&w.test(B)&&(I===void 0||r.hasQuery(S,B,I)))return!0;return!1;case"Object":for(var U in w)if(c.call(w,U)&&!r.hasQuery(S,U,w[U]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(f(I)){case"Undefined":return w in S;case"Boolean":var V=!!(d(S[w])?S[w].length:S[w]);return I===V;case"Function":return!!I(S[w],w,S);case"Array":if(!d(S[w]))return!1;var G=L?g:m;return G(S[w],I);case"RegExp":return d(S[w])?L?g(S[w],I):!1:!!(S[w]&&S[w].match(I));case"Number":I=String(I);case"String":return d(S[w])?L?g(S[w],I):!1:S[w]===I;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var S=[],w=[],I=0,L=0;L<arguments.length;L++){var B=new r(arguments[L]);S.push(B);for(var U=B.segment(),V=0;V<U.length;V++)typeof U[V]=="string"&&w.push(U[V]),U[V]&&I++}if(!w.length||!I)return new r("");var G=new r("").segment(w);return(S[0].path()===""||S[0].path().slice(0,1)==="/")&&G.path("/"+G.path()),G.normalize()},r.commonPath=function(S,w){var I=Math.min(S.length,w.length),L;for(L=0;L<I;L++)if(S.charAt(L)!==w.charAt(L)){L--;break}return L<1?S.charAt(0)===w.charAt(0)&&S.charAt(0)==="/"?"/":"":((S.charAt(L)!=="/"||w.charAt(L)!=="/")&&(L=S.substring(0,L).lastIndexOf("/")),S.substring(0,L+1))},r.withinString=function(S,w,I){I||(I={});var L=I.start||r.findUri.start,B=I.end||r.findUri.end,U=I.trim||r.findUri.trim,V=I.parens||r.findUri.parens,G=/[a-z0-9-]=["']?$/i;for(L.lastIndex=0;;){var k=L.exec(S);if(!k)break;var Y=k.index;if(I.ignoreHtml){var W=S.slice(Math.max(Y-3,0),Y);if(W&&G.test(W))continue}for(var Q=Y+S.slice(Y).search(B),j=S.slice(Y,Q),Z=-1;;){var J=V.exec(j);if(!J)break;var he=J.index+J[0].length;Z=Math.max(Z,he)}if(Z>-1?j=j.slice(0,Z)+j.slice(Z).replace(U,""):j=j.replace(U,""),!(j.length<=k[0].length)&&!(I.ignore&&I.ignore.test(j))){Q=Y+j.length;var xe=w(j,Y,Q,S);if(xe===void 0){L.lastIndex=Q;continue}xe=String(xe),S=S.slice(0,Y)+xe+S.slice(Q),L.lastIndex=Y+xe.length}}return L.lastIndex=0,S},r.ensureValidHostname=function(S,w){var I=!!S,L=!!w,B=!1;if(L&&(B=g(r.hostProtocols,w)),B&&!I)throw new TypeError("Hostname cannot be empty, if protocol is "+w);if(S&&S.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(S).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(S){if(S){var w=Number(S);if(!(s(w)&&w>0&&w<65536))throw new TypeError('Port "'+S+'" is not a valid port')}},r.noConflict=function(S){if(S){var w={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(w.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(w.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(w.SecondLevelDomains=i.SecondLevelDomains.noConflict()),w}else i.URI===this&&(i.URI=o);return this},a.build=function(S){return S===!0?this._deferred_build=!0:(S===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function D(S){return function(w,I){return w===void 0?this._parts[S]||"":(this._parts[S]=w||null,this.build(!I),this)}}function O(S,w){return function(I,L){return I===void 0?this._parts[S]||"":(I!==null&&(I=I+"",I.charAt(0)===w&&(I=I.substring(1))),this._parts[S]=I,this.build(!L),this)}}a.protocol=D("protocol"),a.username=D("username"),a.password=D("password"),a.hostname=D("hostname"),a.port=D("port"),a.query=O("query","?"),a.fragment=O("fragment","#"),a.search=function(S,w){var I=this.query(S,w);return typeof I=="string"&&I.length?"?"+I:I},a.hash=function(S,w){var I=this.fragment(S,w);return typeof I=="string"&&I.length?"#"+I:I},a.pathname=function(S,w){if(S===void 0||S===!0){var I=this._parts.path||(this._parts.hostname?"/":"");return S?(this._parts.urn?r.decodeUrnPath:r.decodePath)(I):I}else return this._parts.urn?this._parts.path=S?r.recodeUrnPath(S):"":this._parts.path=S?r.recodePath(S):"/",this.build(!w),this},a.path=a.pathname,a.href=function(S,w){var I;if(S===void 0)return this.toString();this._string="",this._parts=r._parts();var L=S instanceof r,B=typeof S=="object"&&(S.hostname||S.path||S.pathname);if(S.nodeName){var U=r.getDomAttribute(S);S=S[U]||"",B=!1}if(!L&&B&&S.pathname!==void 0&&(S=S.toString()),typeof S=="string"||S instanceof String)this._parts=r.parse(String(S),this._parts);else if(L||B){var V=L?S._parts:S;for(I in V)I!=="query"&&c.call(this._parts,I)&&(this._parts[I]=V[I]);V.query&&this.query(V.query,!1)}else throw new TypeError("invalid input");return this.build(!w),this},a.is=function(S){var w=!1,I=!1,L=!1,B=!1,U=!1,V=!1,G=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,I=r.ip4_expression.test(this._parts.hostname),L=r.ip6_expression.test(this._parts.hostname),w=I||L,B=!w,U=B&&n&&n.has(this._parts.hostname),V=B&&r.idn_expression.test(this._parts.hostname),G=B&&r.punycode_expression.test(this._parts.hostname)),S.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return B;case"sld":return U;case"ip":return w;case"ip4":case"ipv4":case"inet4":return I;case"ip6":case"ipv6":case"inet6":return L;case"idn":return V;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return G}return null};var R=a.protocol,M=a.port,N=a.hostname;a.protocol=function(S,w){if(S&&(S=S.replace(/:(\/\/)?$/,""),!S.match(r.protocol_expression)))throw new TypeError('Protocol "'+S+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return R.call(this,S,w)},a.scheme=a.protocol,a.port=function(S,w){return this._parts.urn?S===void 0?"":this:(S!==void 0&&(S===0&&(S=null),S&&(S+="",S.charAt(0)===":"&&(S=S.substring(1)),r.ensureValidPort(S))),M.call(this,S,w))},a.hostname=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S!==void 0){var I={preventInvalidHostname:this._parts.preventInvalidHostname},L=r.parseHost(S,I);if(L!=="/")throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-]');S=I.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(S,this._parts.protocol)}return N.call(this,S,w)},a.origin=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0){var I=this.protocol(),L=this.authority();return L?(I?I+"://":"")+this.authority():""}else{var B=r(S);return this.protocol(B.protocol()).authority(B.authority()).build(!w),this}},a.host=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var I=r.parseHost(S,this._parts);if(I!=="/")throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.authority=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var I=r.parseAuthority(S,this._parts);if(I!=="/")throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.userinfo=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0){var I=r.buildUserinfo(this._parts);return I&&I.substring(0,I.length-1)}else return S[S.length-1]!=="@"&&(S+="@"),r.parseUserinfo(S,this._parts),this.build(!w),this},a.resource=function(S,w){var I;return S===void 0?this.path()+this.search()+this.hash():(I=r.parse(S),this._parts.path=I.path,this._parts.query=I.query,this._parts.fragment=I.fragment,this.build(!w),this)},a.subdomain=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,I)||""}else{var L=this._parts.hostname.length-this.domain().length,B=this._parts.hostname.substring(0,L),U=new RegExp("^"+u(B));if(S&&S.charAt(S.length-1)!=="."&&(S+="."),S.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return S&&r.ensureValidHostname(S,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(U,S),this.build(!w),this}},a.domain=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(typeof S=="boolean"&&(w=S,S=void 0),S===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.match(/\./g);if(I&&I.length<2)return this._parts.hostname;var L=this._parts.hostname.length-this.tld(w).length-1;return L=this._parts.hostname.lastIndexOf(".",L-1)+1,this._parts.hostname.substring(L)||""}else{if(!S)throw new TypeError("cannot set domain empty");if(S.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(S,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=S;else{var B=new RegExp(u(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(B,S)}return this.build(!w),this}},a.tld=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(typeof S=="boolean"&&(w=S,S=void 0),S===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.lastIndexOf("."),L=this._parts.hostname.substring(I+1);return w!==!0&&n&&n.list[L.toLowerCase()]&&n.get(this._parts.hostname)||L}else{var B;if(S)if(S.match(/[^a-zA-Z0-9-]/))if(n&&n.is(S))B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,S);else throw new TypeError('TLD "'+S+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,S)}else throw new TypeError("cannot set TLD empty");return this.build(!w),this}},a.directory=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0||S===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var I=this._parts.path.length-this.filename().length-1,L=this._parts.path.substring(0,I)||(this._parts.hostname?"/":"");return S?r.decodePath(L):L}else{var B=this._parts.path.length-this.filename().length,U=this._parts.path.substring(0,B),V=new RegExp("^"+u(U));return this.is("relative")||(S||(S="/"),S.charAt(0)!=="/"&&(S="/"+S)),S&&S.charAt(S.length-1)!=="/"&&(S+="/"),S=r.recodePath(S),this._parts.path=this._parts.path.replace(V,S),this.build(!w),this}},a.filename=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(typeof S!="string"){if(!this._parts.path||this._parts.path==="/")return"";var I=this._parts.path.lastIndexOf("/"),L=this._parts.path.substring(I+1);return S?r.decodePathSegment(L):L}else{var B=!1;S.charAt(0)==="/"&&(S=S.substring(1)),S.match(/\.?\//)&&(B=!0);var U=new RegExp(u(this.filename())+"$");return S=r.recodePath(S),this._parts.path=this._parts.path.replace(U,S),B?this.normalizePath(w):this.build(!w),this}},a.suffix=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0||S===!0){if(!this._parts.path||this._parts.path==="/")return"";var I=this.filename(),L=I.lastIndexOf("."),B,U;return L===-1?"":(B=I.substring(L+1),U=/^[a-z0-9%]+$/i.test(B)?B:"",S?r.decodePathSegment(U):U)}else{S.charAt(0)==="."&&(S=S.substring(1));var V=this.suffix(),G;if(V)S?G=new RegExp(u(V)+"$"):G=new RegExp(u("."+V)+"$");else{if(!S)return this;this._parts.path+="."+r.recodePath(S)}return G&&(S=r.recodePath(S),this._parts.path=this._parts.path.replace(G,S)),this.build(!w),this}},a.segment=function(S,w,I){var L=this._parts.urn?":":"/",B=this.path(),U=B.substring(0,1)==="/",V=B.split(L);if(S!==void 0&&typeof S!="number"&&(I=w,w=S,S=void 0),S!==void 0&&typeof S!="number")throw new Error('Bad segment "'+S+'", must be 0-based integer');if(U&&V.shift(),S<0&&(S=Math.max(V.length+S,0)),w===void 0)return S===void 0?V:V[S];if(S===null||V[S]===void 0)if(d(w)){V=[];for(var G=0,k=w.length;G<k;G++)!w[G].length&&(!V.length||!V[V.length-1].length)||(V.length&&!V[V.length-1].length&&V.pop(),V.push(x(w[G])))}else(w||typeof w=="string")&&(w=x(w),V[V.length-1]===""?V[V.length-1]=w:V.push(w));else w?V[S]=x(w):V.splice(S,1);return U&&V.unshift(""),this.path(V.join(L),I)},a.segmentCoded=function(S,w,I){var L,B,U;if(typeof S!="number"&&(I=w,w=S,S=void 0),w===void 0){if(L=this.segment(S,w,I),!d(L))L=L!==void 0?r.decode(L):void 0;else for(B=0,U=L.length;B<U;B++)L[B]=r.decode(L[B]);return L}if(!d(w))w=typeof w=="string"||w instanceof String?r.encode(w):w;else for(B=0,U=w.length;B<U;B++)w[B]=r.encode(w[B]);return this.segment(S,w,I)};var _=a.query;return a.query=function(S,w){if(S===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof S=="function"){var I=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),L=S.call(this,I);return this._parts.query=r.buildQuery(L||I,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this}else return S!==void 0&&typeof S!="string"?(this._parts.query=r.buildQuery(S,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this):_.call(this,S,w)},a.setQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof S=="string"||S instanceof String)L[S]=w!==void 0?w:null;else if(typeof S=="object")for(var B in S)c.call(S,B)&&(L[B]=S[B]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof S!="string"&&(I=w),this.build(!I),this},a.addQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(L,S,w===void 0?null:w),this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof S!="string"&&(I=w),this.build(!I),this},a.removeQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(L,S,w),this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof S!="string"&&(I=w),this.build(!I),this},a.hasQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(L,S,w,I)},a.setSearch=a.setQuery,a.addSearch=a.addQuery,a.removeSearch=a.removeQuery,a.hasSearch=a.hasQuery,a.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},a.normalizeProtocol=function(S){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!S)),this},a.normalizeHostname=function(S){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!S)),this},a.normalizePort=function(S){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!S)),this},a.normalizePath=function(S){var w=this._parts.path;if(!w)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!S),this;if(this._parts.path==="/")return this;w=r.recodePath(w);var I,L="",B,U;for(w.charAt(0)!=="/"&&(I=!0,w="/"+w),(w.slice(-3)==="/.."||w.slice(-2)==="/.")&&(w+="/"),w=w.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),I&&(L=w.substring(1).match(/^(\.\.\/)+/)||"",L&&(L=L[0]));B=w.search(/\/\.\.(\/|$)/),B!==-1;){if(B===0){w=w.substring(3);continue}U=w.substring(0,B).lastIndexOf("/"),U===-1&&(U=B),w=w.substring(0,U)+w.substring(B+3)}return I&&this.is("relative")&&(w=L+w.substring(1)),this._parts.path=w,this.build(!S),this},a.normalizePathname=a.normalizePath,a.normalizeQuery=function(S){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!S)),this},a.normalizeFragment=function(S){return this._parts.fragment||(this._parts.fragment=null,this.build(!S)),this},a.normalizeSearch=a.normalizeQuery,a.normalizeHash=a.normalizeFragment,a.iso8859=function(){var S=r.encode,w=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=S,r.decode=w}return this},a.unicode=function(){var S=r.encode,w=r.decode;r.encode=T,r.decode=unescape;try{this.normalize()}finally{r.encode=S,r.decode=w}return this},a.readable=function(){var S=this.clone();S.username("").password("").normalize();var w="";if(S._parts.protocol&&(w+=S._parts.protocol+"://"),S._parts.hostname&&(S.is("punycode")&&e?(w+=e.toUnicode(S._parts.hostname),S._parts.port&&(w+=":"+S._parts.port)):w+=S.host()),S._parts.hostname&&S._parts.path&&S._parts.path.charAt(0)!=="/"&&(w+="/"),w+=S.path(!0),S._parts.query){for(var I="",L=0,B=S._parts.query.split("&"),U=B.length;L<U;L++){var V=(B[L]||"").split("=");I+="&"+r.decodeQuery(V[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),V[1]!==void 0&&(I+="="+r.decodeQuery(V[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}w+="?"+I.substring(1)}return w+=r.decodeQuery(S.hash(),!0),w},a.absoluteTo=function(S){var w=this.clone(),I=["protocol","username","password","hostname","port"],L,B,U;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(S instanceof r||(S=new r(S)),w._parts.protocol||(w._parts.protocol=S._parts.protocol,this._parts.hostname))return w;for(B=0;U=I[B];B++)w._parts[U]=S._parts[U];return w._parts.path?(w._parts.path.substring(-2)===".."&&(w._parts.path+="/"),w.path().charAt(0)!=="/"&&(L=S.directory(),L=L||(S.path().indexOf("/")===0?"/":""),w._parts.path=(L?L+"/":"")+w._parts.path,w.normalizePath())):(w._parts.path=S._parts.path,w._parts.query||(w._parts.query=S._parts.query)),w.build(),w},a.relativeTo=function(S){var w=this.clone().normalize(),I,L,B,U,V;if(w._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(S=new r(S).normalize(),I=w._parts,L=S._parts,U=w.path(),V=S.path(),U.charAt(0)!=="/")throw new Error("URI is already relative");if(V.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(I.protocol===L.protocol&&(I.protocol=null),I.username!==L.username||I.password!==L.password||I.protocol!==null||I.username!==null||I.password!==null)return w.build();if(I.hostname===L.hostname&&I.port===L.port)I.hostname=null,I.port=null;else return w.build();if(U===V)return I.path="",w.build();if(B=r.commonPath(U,V),!B)return w.build();var G=L.path.substring(B.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return I.path=G+I.path.substring(B.length)||"./",w.build()},a.equals=function(S){var w=this.clone(),I=new r(S),L={},B={},U={},V,G,k;if(w.normalize(),I.normalize(),w.toString()===I.toString())return!0;if(V=w.query(),G=I.query(),w.query(""),I.query(""),w.toString()!==I.toString()||V.length!==G.length)return!1;L=r.parseQuery(V,this._parts.escapeQuerySpace),B=r.parseQuery(G,this._parts.escapeQuerySpace);for(k in L)if(c.call(L,k)){if(d(L[k])){if(!m(L[k],B[k]))return!1}else if(L[k]!==B[k])return!1;U[k]=!0}for(k in B)if(c.call(B,k)&&!U[k])return!1;return!0},a.preventInvalidHostname=function(S){return this._parts.preventInvalidHostname=!!S,this},a.duplicateQueryParameters=function(S){return this._parts.duplicateQueryParameters=!!S,this},a.escapeQuerySpace=function(S){return this._parts.escapeQuerySpace=!!S,this},r})});var poe=Qn((NKt,moe)=>{"use strict";/*! @license DOMPurify 3.1.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.5/LICENSE */var{entries:loe,setPrototypeOf:toe,isFrozen:HNe,getPrototypeOf:GNe,getOwnPropertyDescriptor:WNe}=Object,{freeze:Wc,seal:xf,create:uoe}=Object,{apply:D9,construct:I9}=typeof Reflect<"u"&&Reflect;Wc||(Wc=function(t){return t});xf||(xf=function(t){return t});D9||(D9=function(t,n,i){return t.apply(n,i)});I9||(I9=function(t,n){return new t(...n)});var uU=_u(Array.prototype.forEach),noe=_u(Array.prototype.pop),w1=_u(Array.prototype.push),hU=_u(String.prototype.toLowerCase),A9=_u(String.prototype.toString),ioe=_u(String.prototype.match),D1=_u(String.prototype.replace),jNe=_u(String.prototype.indexOf),qNe=_u(String.prototype.trim),Nd=_u(Object.prototype.hasOwnProperty),Gc=_u(RegExp.prototype.test),I1=YNe(TypeError);function _u(e){return function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return D9(e,t,i)}}function YNe(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return I9(e,n)}}function Ri(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:hU;toe&&toe(e,null);let i=t.length;for(;i--;){let o=t[i];if(typeof o=="string"){let r=n(o);r!==o&&(HNe(t)||(t[i]=r),o=r)}e[o]=!0}return e}function XNe(e){for(let t=0;t<e.length;t++)Nd(e,t)||(e[t]=null);return e}function Hx(e){let t=uoe(null);for(let[n,i]of loe(e))Nd(e,n)&&(Array.isArray(i)?t[n]=XNe(i):i&&typeof i=="object"&&i.constructor===Object?t[n]=Hx(i):t[n]=i);return t}function fU(e,t){for(;e!==null;){let i=WNe(e,t);if(i){if(i.get)return _u(i.get);if(typeof i.value=="function")return _u(i.value)}e=GNe(e)}function n(){return null}return n}var ooe=Wc(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),E9=Wc(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),S9=Wc(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),KNe=Wc(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),v9=Wc(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),ZNe=Wc(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),roe=Wc(["#text"]),soe=Wc(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),w9=Wc(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),aoe=Wc(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),dU=Wc(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),$Ne=xf(/\{\{[\w\W]*|[\w\W]*\}\}/gm),QNe=xf(/<%[\w\W]*|[\w\W]*%>/gm),JNe=xf(/\${[\w\W]*}/gm),eFe=xf(/^data-[\-\w.\u00B7-\uFFFF]/),tFe=xf(/^aria-[\-\w]+$/),foe=xf(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),nFe=xf(/^(?:\w+script|data):/i),iFe=xf(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),doe=xf(/^html$/i),oFe=xf(/^[a-z][.\w]*(-[.\w]+)+$/i),coe=Object.freeze({__proto__:null,MUSTACHE_EXPR:$Ne,ERB_EXPR:QNe,TMPLIT_EXPR:JNe,DATA_ATTR:eFe,ARIA_ATTR:tFe,IS_ALLOWED_URI:foe,IS_SCRIPT_OR_DATA:nFe,ATTR_WHITESPACE:iFe,DOCTYPE_NAME:doe,CUSTOM_ELEMENT:oFe}),P1={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},rFe=function(){return typeof window>"u"?null:window},sFe=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null,o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(i=n.getAttribute(o));let r="dompurify"+(i?"#"+i:"");try{return t.createPolicy(r,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}};function hoe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:rFe(),t=Zt=>hoe(Zt);if(t.version="3.1.5",t.removed=[],!e||!e.document||e.document.nodeType!==P1.document)return t.isSupported=!1,t;let{document:n}=e,i=n,o=i.currentScript,{DocumentFragment:r,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:u,NamedNodeMap:f=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:g}=e,m=c.prototype,x=fU(m,"cloneNode"),b=fU(m,"nextSibling"),T=fU(m,"childNodes"),A=fU(m,"parentNode");if(typeof s=="function"){let Zt=n.createElement("template");Zt.content&&Zt.content.ownerDocument&&(n=Zt.content.ownerDocument)}let C,E="",{implementation:v,createNodeIterator:D,createDocumentFragment:O,getElementsByTagName:R}=n,{importNode:M}=i,N={};t.isSupported=typeof loe=="function"&&typeof A=="function"&&v&&v.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:_,ERB_EXPR:S,TMPLIT_EXPR:w,DATA_ATTR:I,ARIA_ATTR:L,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:U,CUSTOM_ELEMENT:V}=coe,{IS_ALLOWED_URI:G}=coe,k=null,Y=Ri({},[...ooe,...E9,...S9,...v9,...roe]),W=null,Q=Ri({},[...soe,...w9,...aoe,...dU]),j=Object.seal(uoe(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Z=null,J=null,he=!0,xe=!0,re=!1,_e=!0,ye=!1,De=!0,ve=!1,Me=!1,Oe=!1,ct=!1,Ke=!1,_t=!1,Ze=!0,Dt=!1,gt="user-content-",yt=!0,Kt=!1,Te={},Ae=null,on=Ri({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),$t=null,Qt=Ri({},["audio","video","img","source","image","track"]),no=null,qe=Ri({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),_r="http://www.w3.org/1998/Math/MathML",sr="http://www.w3.org/2000/svg",Ir="http://www.w3.org/1999/xhtml",Be=Ir,st=!1,$e=null,Ye=Ri({},[_r,sr,Ir],A9),rt=null,Ht=["application/xhtml+xml","text/html"],An="text/html",Nn=null,Vi=null,cs=n.createElement("form"),Yo=function(Ce){return Ce instanceof RegExp||Ce instanceof Function},Xr=function(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Vi&&Vi===Ce)){if((!Ce||typeof Ce!="object")&&(Ce={}),Ce=Hx(Ce),rt=Ht.indexOf(Ce.PARSER_MEDIA_TYPE)===-1?An:Ce.PARSER_MEDIA_TYPE,Nn=rt==="application/xhtml+xml"?A9:hU,k=Nd(Ce,"ALLOWED_TAGS")?Ri({},Ce.ALLOWED_TAGS,Nn):Y,W=Nd(Ce,"ALLOWED_ATTR")?Ri({},Ce.ALLOWED_ATTR,Nn):Q,$e=Nd(Ce,"ALLOWED_NAMESPACES")?Ri({},Ce.ALLOWED_NAMESPACES,A9):Ye,no=Nd(Ce,"ADD_URI_SAFE_ATTR")?Ri(Hx(qe),Ce.ADD_URI_SAFE_ATTR,Nn):qe,$t=Nd(Ce,"ADD_DATA_URI_TAGS")?Ri(Hx(Qt),Ce.ADD_DATA_URI_TAGS,Nn):Qt,Ae=Nd(Ce,"FORBID_CONTENTS")?Ri({},Ce.FORBID_CONTENTS,Nn):on,Z=Nd(Ce,"FORBID_TAGS")?Ri({},Ce.FORBID_TAGS,Nn):{},J=Nd(Ce,"FORBID_ATTR")?Ri({},Ce.FORBID_ATTR,Nn):{},Te=Nd(Ce,"USE_PROFILES")?Ce.USE_PROFILES:!1,he=Ce.ALLOW_ARIA_ATTR!==!1,xe=Ce.ALLOW_DATA_ATTR!==!1,re=Ce.ALLOW_UNKNOWN_PROTOCOLS||!1,_e=Ce.ALLOW_SELF_CLOSE_IN_ATTR!==!1,ye=Ce.SAFE_FOR_TEMPLATES||!1,De=Ce.SAFE_FOR_XML!==!1,ve=Ce.WHOLE_DOCUMENT||!1,ct=Ce.RETURN_DOM||!1,Ke=Ce.RETURN_DOM_FRAGMENT||!1,_t=Ce.RETURN_TRUSTED_TYPE||!1,Oe=Ce.FORCE_BODY||!1,Ze=Ce.SANITIZE_DOM!==!1,Dt=Ce.SANITIZE_NAMED_PROPS||!1,yt=Ce.KEEP_CONTENT!==!1,Kt=Ce.IN_PLACE||!1,G=Ce.ALLOWED_URI_REGEXP||foe,Be=Ce.NAMESPACE||Ir,j=Ce.CUSTOM_ELEMENT_HANDLING||{},Ce.CUSTOM_ELEMENT_HANDLING&&Yo(Ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(j.tagNameCheck=Ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ce.CUSTOM_ELEMENT_HANDLING&&Yo(Ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(j.attributeNameCheck=Ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ce.CUSTOM_ELEMENT_HANDLING&&typeof Ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(j.allowCustomizedBuiltInElements=Ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),ye&&(xe=!1),Ke&&(ct=!0),Te&&(k=Ri({},roe),W=[],Te.html===!0&&(Ri(k,ooe),Ri(W,soe)),Te.svg===!0&&(Ri(k,E9),Ri(W,w9),Ri(W,dU)),Te.svgFilters===!0&&(Ri(k,S9),Ri(W,w9),Ri(W,dU)),Te.mathMl===!0&&(Ri(k,v9),Ri(W,aoe),Ri(W,dU))),Ce.ADD_TAGS&&(k===Y&&(k=Hx(k)),Ri(k,Ce.ADD_TAGS,Nn)),Ce.ADD_ATTR&&(W===Q&&(W=Hx(W)),Ri(W,Ce.ADD_ATTR,Nn)),Ce.ADD_URI_SAFE_ATTR&&Ri(no,Ce.ADD_URI_SAFE_ATTR,Nn),Ce.FORBID_CONTENTS&&(Ae===on&&(Ae=Hx(Ae)),Ri(Ae,Ce.FORBID_CONTENTS,Nn)),yt&&(k["#text"]=!0),ve&&Ri(k,["html","head","body"]),k.table&&(Ri(k,["tbody"]),delete Z.tbody),Ce.TRUSTED_TYPES_POLICY){if(typeof Ce.TRUSTED_TYPES_POLICY.createHTML!="function")throw I1('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ce.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw I1('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=Ce.TRUSTED_TYPES_POLICY,E=C.createHTML("")}else C===void 0&&(C=sFe(g,o)),C!==null&&typeof E=="string"&&(E=C.createHTML(""));Wc&&Wc(Ce),Vi=Ce}},io=Ri({},["mi","mo","mn","ms","mtext"]),ks=Ri({},["foreignobject","annotation-xml"]),ls=Ri({},["title","style","font","a","script"]),ou=Ri({},[...E9,...S9,...KNe]),Io=Ri({},[...v9,...ZNe]),Pr=function(Ce){let ft=A(Ce);(!ft||!ft.tagName)&&(ft={namespaceURI:Be,tagName:"template"});let dn=hU(Ce.tagName),kn=hU(ft.tagName);return $e[Ce.namespaceURI]?Ce.namespaceURI===sr?ft.namespaceURI===Ir?dn==="svg":ft.namespaceURI===_r?dn==="svg"&&(kn==="annotation-xml"||io[kn]):!!ou[dn]:Ce.namespaceURI===_r?ft.namespaceURI===Ir?dn==="math":ft.namespaceURI===sr?dn==="math"&&ks[kn]:!!Io[dn]:Ce.namespaceURI===Ir?ft.namespaceURI===sr&&!ks[kn]||ft.namespaceURI===_r&&!io[kn]?!1:!Io[dn]&&(ls[dn]||!ou[dn]):!!(rt==="application/xhtml+xml"&&$e[Ce.namespaceURI]):!1},Cs=function(Ce){w1(t.removed,{element:Ce});try{Ce.parentNode.removeChild(Ce)}catch{Ce.remove()}},ra=function(Ce,ft){try{w1(t.removed,{attribute:ft.getAttributeNode(Ce),from:ft})}catch{w1(t.removed,{attribute:null,from:ft})}if(ft.removeAttribute(Ce),Ce==="is"&&!W[Ce])if(ct||Ke)try{Cs(ft)}catch{}else try{ft.setAttribute(Ce,"")}catch{}},zh=function(Ce){let ft=null,dn=null;if(Oe)Ce="<remove></remove>"+Ce;else{let ar=ioe(Ce,/^[\r\n\t ]+/);dn=ar&&ar[0]}rt==="application/xhtml+xml"&&Be===Ir&&(Ce='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Ce+"</body></html>");let kn=C?C.createHTML(Ce):Ce;if(Be===Ir)try{ft=new p().parseFromString(kn,rt)}catch{}if(!ft||!ft.documentElement){ft=v.createDocument(Be,"template",null);try{ft.documentElement.innerHTML=st?E:kn}catch{}}let gr=ft.body||ft.documentElement;return Ce&&dn&&gr.insertBefore(n.createTextNode(dn),gr.childNodes[0]||null),Be===Ir?R.call(ft,ve?"html":"body")[0]:ve?ft.documentElement:gr},Hh=function(Ce){return D.call(Ce.ownerDocument||Ce,Ce,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT|u.SHOW_PROCESSING_INSTRUCTION|u.SHOW_CDATA_SECTION,null)},lp=function(Ce){return Ce instanceof d&&(typeof Ce.nodeName!="string"||typeof Ce.textContent!="string"||typeof Ce.removeChild!="function"||!(Ce.attributes instanceof f)||typeof Ce.removeAttribute!="function"||typeof Ce.setAttribute!="function"||typeof Ce.namespaceURI!="string"||typeof Ce.insertBefore!="function"||typeof Ce.hasChildNodes!="function")},up=function(Ce){return typeof a=="function"&&Ce instanceof a},Za=function(Ce,ft,dn){N[Ce]&&uU(N[Ce],kn=>{kn.call(t,ft,dn,Vi)})},fp=function(Ce){let ft=null;if(Za("beforeSanitizeElements",Ce,null),lp(Ce))return Cs(Ce),!0;let dn=Nn(Ce.nodeName);if(Za("uponSanitizeElement",Ce,{tagName:dn,allowedTags:k}),Ce.hasChildNodes()&&!up(Ce.firstElementChild)&&Gc(/<[/\w]/g,Ce.innerHTML)&&Gc(/<[/\w]/g,Ce.textContent)||Ce.nodeType===P1.progressingInstruction||De&&Ce.nodeType===P1.comment&&Gc(/<[/\w]/g,Ce.data))return Cs(Ce),!0;if(!k[dn]||Z[dn]){if(!Z[dn]&&OC(dn)&&(j.tagNameCheck instanceof RegExp&&Gc(j.tagNameCheck,dn)||j.tagNameCheck instanceof Function&&j.tagNameCheck(dn)))return!1;if(yt&&!Ae[dn]){let kn=A(Ce)||Ce.parentNode,gr=T(Ce)||Ce.childNodes;if(gr&&kn){let ar=gr.length;for(let wa=ar-1;wa>=0;--wa){let Rr=x(gr[wa],!0);Rr.__removalCount=(Ce.__removalCount||0)+1,kn.insertBefore(Rr,b(Ce))}}}return Cs(Ce),!0}return Ce instanceof c&&!Pr(Ce)||(dn==="noscript"||dn==="noembed"||dn==="noframes")&&Gc(/<\/no(script|embed|frames)/i,Ce.innerHTML)?(Cs(Ce),!0):(ye&&Ce.nodeType===P1.text&&(ft=Ce.textContent,uU([_,S,w],kn=>{ft=D1(ft,kn," ")}),Ce.textContent!==ft&&(w1(t.removed,{element:Ce.cloneNode()}),Ce.textContent=ft)),Za("afterSanitizeElements",Ce,null),!1)},Ag=function(Ce,ft,dn){if(Ze&&(ft==="id"||ft==="name")&&(dn in n||dn in cs))return!1;if(!(xe&&!J[ft]&&Gc(I,ft))){if(!(he&&Gc(L,ft))){if(!W[ft]||J[ft]){if(!(OC(Ce)&&(j.tagNameCheck instanceof RegExp&&Gc(j.tagNameCheck,Ce)||j.tagNameCheck instanceof Function&&j.tagNameCheck(Ce))&&(j.attributeNameCheck instanceof RegExp&&Gc(j.attributeNameCheck,ft)||j.attributeNameCheck instanceof Function&&j.attributeNameCheck(ft))||ft==="is"&&j.allowCustomizedBuiltInElements&&(j.tagNameCheck instanceof RegExp&&Gc(j.tagNameCheck,dn)||j.tagNameCheck instanceof Function&&j.tagNameCheck(dn))))return!1}else if(!no[ft]){if(!Gc(G,D1(dn,U,""))){if(!((ft==="src"||ft==="xlink:href"||ft==="href")&&Ce!=="script"&&jNe(dn,"data:")===0&&$t[Ce])){if(!(re&&!Gc(B,D1(dn,U,"")))){if(dn)return!1}}}}}}return!0},OC=function(Ce){return Ce!=="annotation-xml"&&ioe(Ce,V)},Eg=function(Ce){Za("beforeSanitizeAttributes",Ce,null);let{attributes:ft}=Ce;if(!ft)return;let dn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:W},kn=ft.length;for(;kn--;){let gr=ft[kn],{name:ar,namespaceURI:wa,value:Rr}=gr,_d=Nn(ar),Da=ar==="value"?Rr:qNe(Rr);if(dn.attrName=_d,dn.attrValue=Da,dn.keepAttr=!0,dn.forceKeepAttr=void 0,Za("uponSanitizeAttribute",Ce,dn),Da=dn.attrValue,dn.forceKeepAttr||(ra(ar,Ce),!dn.keepAttr))continue;if(!_e&&Gc(/\/>/i,Da)){ra(ar,Ce);continue}if(De&&Gc(/((--!?|])>)|<\/(style|title)/i,Da)){ra(ar,Ce);continue}ye&&uU([_,S,w],EQ=>{Da=D1(Da,EQ," ")});let AQ=Nn(Ce.nodeName);if(Ag(AQ,_d,Da)){if(Dt&&(_d==="id"||_d==="name")&&(ra(ar,Ce),Da=gt+Da),C&&typeof g=="object"&&typeof g.getAttributeType=="function"&&!wa)switch(g.getAttributeType(AQ,_d)){case"TrustedHTML":{Da=C.createHTML(Da);break}case"TrustedScriptURL":{Da=C.createScriptURL(Da);break}}try{wa?Ce.setAttributeNS(wa,ar,Da):Ce.setAttribute(ar,Da),lp(Ce)?Cs(Ce):noe(t.removed)}catch{}}}Za("afterSanitizeAttributes",Ce,null)},sa=function Zt(Ce){let ft=null,dn=Hh(Ce);for(Za("beforeSanitizeShadowDOM",Ce,null);ft=dn.nextNode();)Za("uponSanitizeShadowNode",ft,null),!fp(ft)&&(ft.content instanceof r&&Zt(ft.content),Eg(ft));Za("afterSanitizeShadowDOM",Ce,null)};return t.sanitize=function(Zt){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ft=null,dn=null,kn=null,gr=null;if(st=!Zt,st&&(Zt="<!-->"),typeof Zt!="string"&&!up(Zt))if(typeof Zt.toString=="function"){if(Zt=Zt.toString(),typeof Zt!="string")throw I1("dirty is not a string, aborting")}else throw I1("toString is not a function");if(!t.isSupported)return Zt;if(Me||Xr(Ce),t.removed=[],typeof Zt=="string"&&(Kt=!1),Kt){if(Zt.nodeName){let Rr=Nn(Zt.nodeName);if(!k[Rr]||Z[Rr])throw I1("root node is forbidden and cannot be sanitized in-place")}}else if(Zt instanceof a)ft=zh("<!---->"),dn=ft.ownerDocument.importNode(Zt,!0),dn.nodeType===P1.element&&dn.nodeName==="BODY"||dn.nodeName==="HTML"?ft=dn:ft.appendChild(dn);else{if(!ct&&!ye&&!ve&&Zt.indexOf("<")===-1)return C&&_t?C.createHTML(Zt):Zt;if(ft=zh(Zt),!ft)return ct?null:_t?E:""}ft&&Oe&&Cs(ft.firstChild);let ar=Hh(Kt?Zt:ft);for(;kn=ar.nextNode();)fp(kn)||(kn.content instanceof r&&sa(kn.content),Eg(kn));if(Kt)return Zt;if(ct){if(Ke)for(gr=O.call(ft.ownerDocument);ft.firstChild;)gr.appendChild(ft.firstChild);else gr=ft;return(W.shadowroot||W.shadowrootmode)&&(gr=M.call(i,gr,!0)),gr}let wa=ve?ft.outerHTML:ft.innerHTML;return ve&&k["!doctype"]&&ft.ownerDocument&&ft.ownerDocument.doctype&&ft.ownerDocument.doctype.name&&Gc(doe,ft.ownerDocument.doctype.name)&&(wa="<!DOCTYPE "+ft.ownerDocument.doctype.name+`> -`+wa),ye&&uU([_,S,w],Rr=>{wa=D1(wa,Rr," ")}),C&&_t?C.createHTML(wa):wa},t.setConfig=function(){let Zt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Xr(Zt),Me=!0},t.clearConfig=function(){Vi=null,Me=!1},t.isValidAttribute=function(Zt,Ce,ft){Vi||Xr({});let dn=Nn(Zt),kn=Nn(Ce);return Ag(dn,kn,ft)},t.addHook=function(Zt,Ce){typeof Ce=="function"&&(N[Zt]=N[Zt]||[],w1(N[Zt],Ce))},t.removeHook=function(Zt){if(N[Zt])return noe(N[Zt])},t.removeHooks=function(Zt){N[Zt]&&(N[Zt]=[])},t.removeAllHooks=function(){N={}},t}var aFe=hoe();moe.exports=aFe});var Joe=Qn((U1,X9)=>{var vU=function(){"use strict";var e="b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:G;kekr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq;C9oLdbk;GqeKu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRbN:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9Uc;WFbGgecjdaecjd6Ehqcbhkindndnaiak9nmbaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndnaec9WGgsTmbcbhzaPhHawhOxekdnaxmbalheinaraw9Ram6miawcbamzNjjjbamfhwaecufgembxvkkcbhAaPhOinaDaAfRbbhCaDcjlfheaOhoaxhXinaeaoRbbgQaC9RgCcetaC;acr4786bbaoalfhoaecefheaQhCaXcufgXmbkaraw9Ram6mdaOcefhOawcbamzNjjjbamfhwaAcefgAal9hmbxlkkindnaxTmbaDazfRbbhCaDcjlfheaHhoaxhXinaeaoRbbgQaC9RgCcetaC;acr4786bbaoalfhoaecefheaQhCaXcufgXmbkkaraO9Ram6mearaOcbamzNjjjbgLamfgw9RcK6mecbhKaDcjlfhOinaDcjlfaKfhYcwhAczhQceheindndnaegXce9hmbcuhoaYRbbmecbhodninaogecsSmeaecefhoaOaefcefRbbTmbkkcucbaecs6EhoxekaXcethocuaXtc;:bGcFb7hCcbheinaoaCaOaefRbb9nfhoaecefgecz9hmbkkaoaQaoaQ6geEhQaXaAaeEhAaXcetheaXcl6mbkdndndndnaAcufPdiebkaLaKco4fgeaeRbbcdciaAclSEaKci4coGtV86bbaAcw9hmeawaY8Pbb83bbawcwfaYcwf8Pbb83bbawczfhwxdkaLaKco4fgeaeRbbceaKci4coGtV86bbkdncwaA9Tg8Ambinawcb86bbawcefhwxbkkcuaAtcu7hYcbhEaOh3ina3hea8AhCcbhoinaeRbbgQaYcFeGgXaQaX6EaoaAtVhoaecefheaCcufgCmbkawao86bba3a8Afh3awcefhwaEa8AfgEcz6mbkcbheindnaOaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaKczfgKas9pmbaOczfhOaraw9RcL0mekkaKas6meawTmeaHcefhHawhOazcefgzalSmixbkkcbhoxikcbhoaraw9Ralcaalca0E6mddnalc8F0mbawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9RhoxdkaDaPaxcufal2falz:tjjjb8Aaxakfhkawmbkcbhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBdN:kjjbk:zse5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:e:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc:y1jjbfydbcdtfydbh3aLaocN1jjbfydbcdtfydbh8AaLaoc:q1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc:q1jjbfydbcdtfydbgKTaLavcN1jjbfydbcdtfydbg8AceSGaLavc:y1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavcj1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:e:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:e:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk:dvdxue998Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPaDydbgscL4cFeGc:cufcbasEgsaPas9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekavcb9hadcl6gqVhzarcdthxavce9hhHcbhdindndndnaHmbaqmdc:CuhDalhwarhminaDawydbgPcL4cFeGc:cufcbaPEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDazmbaohwalhmarhPinawamydbgscL4cFeGgkc8Aakc8A9kEc:cufcbasEBdbamclfhmawclfhwaPcufgPmbkkaqmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgOcjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;aOJbbbb9GEMgO:lJbbb9p9DTmbaO:Ohsxekcjjjj94hskabawfascFFFrGamcKtVBdbawclfhwaPcufgPmbkkabaxfhbalaxfhladcefgdae9hmbkkaocjdf8Kjjjjbk;HqdCui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgradcFFFFi0Ecbyd:m:kjjbHjjjjbbgeBd:SeavceBd:mdaeabarz:tjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaeadaiavc:Sefz:njjjbavyd:Gehwadci9UgDcbyd:m:kjjbHjjjjbbhravc:Sefavyd:mdgqcdtfarBdbavaqcefgkBd:mdarcbaDzNjjjbhxavc:SefakcdtfcuaicdtaicFFFFi0Ecbyd:m:kjjbHjjjjbbgmBdbavaqcdfgPBd:mdawhramhkinakalIdbalarydbgscwascw6Ecdtfc;ebfIdbMUdbarclfhrakclfhkaicufgimbkavc:SefaPcdtfcuaDcdtadcFFFF970Ecbyd:m:kjjbHjjjjbbgPBdbdnadci6mbaehraPhkaDhiinakamarydbcdtfIdbamarclfydbcdtfIdbMamarcwfydbcdtfIdbMUdbarcxfhrakclfhkaicufgimbkkaqcifhoavc;qbfhzavhravyd:KehHavyd:OehOcbhscbhkcbhAcehCinarhXcihQaeakci2gLcdtfgrydbhdarclfydbhqabaAcx2fgicwfarcwfydbgKBdbaiclfaqBdbaiadBdbaxakfce86bbazaKBdwazaqBdlazadBdbaPakcdtfcbBdbdnasTmbcihQaXhiinazaQcdtfaiydbgrBdbaQaraK9harad9haraq9hGGfhQaiclfhiascufgsmbkkaAcefhAcbhsinaOaHaeasaLfcdtfydbcdtgifydbcdtfgKhrawaifgqydbgdhidnadTmbdninarydbakSmearclfhraicufgiTmdxbkkaraKadcdtfc98fydbBdbaqaqydbcufBdbkascefgsci9hmbkdndnaQTmbcuhkJbbbbhYcbhqavyd:KehKavyd:OehLindndnawazaqcdtfydbcdtgsfydbgrmbaqcefhqxekaqcs0hiamasfgdIdbh8AadalcbaqcefgqaiEcdtfIdbalarcwarcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEarcdthiaLaKasfydbcdtfhrinaParydbgscdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYasakadEhkarclfhraic98fgimbkkaqaQ9hmbkakcu9hmekaCaD9pmdindnaxaCfRbbmbaChkxdkaDaCcefgC9hmbxikkaQczaQcz6EhsazhraXhzakcu9hmbkkaocdtavc:Seffc98fhrdninaoTmearydbcbyd1:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd:m:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Wkivuo99lu8Jjjjjbc;W;Gb9Rgl8Kjjjjbcbhvalcj;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:m:kjjbHjjjjbbgrBdj9GalceBd;G9GalcFFF;7rBdwal9cFFF;7;3FF:;Fb83dbalcFFF97Bd;S9Gal9cFFF;7FFF:;u83d;K9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;K;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;S9GhDalIdlhkalId;O9GhxalIdbhmalId;K9GhPkdndnadTmbJbbbbJbbjZJbbbbaPam:tgPaPJbbbb9DEgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhHalaocbyd:m:kjjbHjjjjbbgiBd:e9GdnadTmbabhzinazaHBdbazclfhzadaHcefgH9hmbkabhHadhzinalaraHydbgecdtfydbcFrGcx2fgvavydbgvcefBdbaiavcdtfaeBdbaHclfhHazcufgzmbkaihHadhzinalaraHydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaHclfhHazcufgzmbkabhHadhzinalaraHydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwaiavcdtfaeBdbaHclfhHazcufgzmbkcbhHinabaiydbcdtfaHBdbaiclfhiadaHcefgH9hmbkkclhidninaic98Smealcj;Gbfaifydbcbyd1:kjjbH:bjjjbbaic98fhixbkkalc;W;Gbf8Kjjjjbk9teiucbcbyd:q:kjjbgeabcifc98GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:kjjbgeabcrfc94GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:kjjbfgdBd:q:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iddbcjwk:edb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:bc:eqkzebbbebbbdbbbaWbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(g){n=g.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(0),n.exports.meshopt_encodeIndexVersion(1)});function o(g){for(var m=new Uint8Array(g.length),x=0;x<g.length;++x){var b=g.charCodeAt(x);m[x]=b>96?b-97:b>64?b-39:b+4}for(var T=0,x=0;x<g.length;++x)m[T++]=m[x]<60?t[m[x]]:(m[x]-60)*64+m[++x];return m.buffer.slice(0,T)}function r(g){if(!g)throw new Error("Assertion failed")}function s(g){return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)}function a(g,m,x,b){var T=n.exports.sbrk,A=T(m.length*4),C=T(x*4),E=new Uint8Array(n.exports.memory.buffer),v=s(m);E.set(v,A),b&&b(A,A,m.length,x);var D=g(C,A,m.length,x);E=new Uint8Array(n.exports.memory.buffer);var O=new Uint32Array(x);new Uint8Array(O.buffer).set(E.subarray(C,C+x*4)),v.set(E.subarray(A,A+m.length*4)),T(A-T(0));for(var R=0;R<m.length;++R)m[R]=O[m[R]];return[O,D]}function c(g,m,x,b){var T=n.exports.sbrk,A=T(x*4),C=T(x*b),E=new Uint8Array(n.exports.memory.buffer);E.set(s(m),C),g(A,C,x,b),E=new Uint8Array(n.exports.memory.buffer);var v=new Uint32Array(x);return new Uint8Array(v.buffer).set(E.subarray(A,A+x*4)),T(A-T(0)),v}function u(g,m,x,b,T){var A=n.exports.sbrk,C=A(m),E=A(b*T),v=new Uint8Array(n.exports.memory.buffer);v.set(s(x),E);var D=g(C,m,E,b,T),O=new Uint8Array(D);return O.set(v.subarray(C,C+D)),A(C-A(0)),O}function f(g){for(var m=0,x=0;x<g.length;++x){var b=g[x];m=m<b?b:m}return m}function d(g,m){if(r(m==2||m==4),m==4)return new Uint32Array(g.buffer,g.byteOffset,g.byteLength/4);var x=new Uint16Array(g.buffer,g.byteOffset,g.byteLength/2);return new Uint32Array(x)}function p(g,m,x,b,T,A,C){var E=n.exports.sbrk,v=E(x*b),D=E(x*A),O=new Uint8Array(n.exports.memory.buffer);O.set(s(m),D),g(v,x,b,T,D,C);var R=new Uint8Array(x*b);return R.set(O.subarray(v,v+x*b)),E(v-E(0)),R}return{ready:i,supported:!0,reorderMesh:function(g,m,x){var b=m?x?n.exports.meshopt_optimizeVertexCacheStrip:n.exports.meshopt_optimizeVertexCache:void 0;return a(n.exports.meshopt_optimizeVertexFetchRemap,g,f(g)+1,b)},reorderPoints:function(g,m){return r(g instanceof Float32Array),r(g.length%m==0),r(m>=3),c(n.exports.meshopt_spatialSortRemap,g,g.length/m,m*4)},encodeVertexBuffer:function(g,m,x){r(x>0&&x<=256),r(x%4==0);var b=n.exports.meshopt_encodeVertexBufferBound(m,x);return u(n.exports.meshopt_encodeVertexBuffer,b,g,m,x)},encodeIndexBuffer:function(g,m,x){r(x==2||x==4),r(m%3==0);var b=d(g,x),T=n.exports.meshopt_encodeIndexBufferBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexBuffer,T,b,m,4)},encodeIndexSequence:function(g,m,x){r(x==2||x==4);var b=d(g,x),T=n.exports.meshopt_encodeIndexSequenceBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexSequence,T,b,m,4)},encodeGltfBuffer:function(g,m,x,b){var T={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(T[b]),T[b](g,m,x)},encodeFilterOct:function(g,m,x,b){return r(x==4||x==8),r(b>=1&&b<=16),p(n.exports.meshopt_encodeFilterOct,g,m,x,b,16)},encodeFilterQuat:function(g,m,x,b){return r(x==8),r(b>=4&&b<=16),p(n.exports.meshopt_encodeFilterQuat,g,m,x,b,16)},encodeFilterExp:function(g,m,x,b,T){r(x>0&&x%4==0),r(b>=1&&b<=24);var A={Separate:0,SharedVector:1,SharedComponent:2};return p(n.exports.meshopt_encodeFilterExp,g,m,x,b,x,T?A[T]:1)}}}();typeof U1=="object"&&typeof X9=="object"?X9.exports=vU:typeof define=="function"&&define.amd?define([],function(){return vU}):typeof U1=="object"?U1.MeshoptEncoder=vU:(typeof self<"u"?self:U1).MeshoptEncoder=vU});var ere=Qn((z1,K9)=>{var wU=function(){"use strict";var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(n)?a(t):a(e),r,s=WebAssembly.instantiate(o,{}).then(function(T){r=T.instance,r.exports.__wasm_call_ctors()});function a(T){for(var A=new Uint8Array(T.length),C=0;C<T.length;++C){var E=T.charCodeAt(C);A[C]=E>96?E-97:E>64?E-39:E+4}for(var v=0,C=0;C<T.length;++C)A[v++]=A[C]<60?i[A[C]]:(A[C]-60)*64+A[++C];return A.buffer.slice(0,v)}function c(T,A,C,E,v,D,O){var R=T.exports.sbrk,M=E+3&-4,N=R(M*v),_=R(D.length),S=new Uint8Array(T.exports.memory.buffer);S.set(D,_);var w=A(N,E,v,_,D.length);if(w==0&&O&&O(N,M,v),C.set(S.subarray(N,N+E*v)),R(N-R(0)),w!=0)throw new Error("Malformed buffer data: "+w)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},d=[],p=0;function g(T){var A={object:new Worker(T),pending:0,requests:{}};return A.object.onmessage=function(C){var E=C.data;A.pending-=E.count,A.requests[E.id][E.action](E.value),delete A.requests[E.id]},A}function m(T){for(var A="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(o)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+b.name+";"+c.toString()+b.toString(),C=new Blob([A],{type:"text/javascript"}),E=URL.createObjectURL(C),v=d.length;v<T;++v)d[v]=g(E);for(var v=T;v<d.length;++v)d[v].object.postMessage({});d.length=T,URL.revokeObjectURL(E)}function x(T,A,C,E,v){for(var D=d[0],O=1;O<d.length;++O)d[O].pending<D.pending&&(D=d[O]);return new Promise(function(R,M){var N=new Uint8Array(C),_=++p;D.pending+=T,D.requests[_]={resolve:R,reject:M},D.object.postMessage({id:_,count:T,size:A,source:N,mode:E,filter:v},[N.buffer])})}function b(T){var A=T.data;if(!A.id)return self.close();self.ready.then(function(C){try{var E=new Uint8Array(A.count*A.size);c(C,C.exports[A.mode],E,A.count,A.size,A.source,C.exports[A.filter]),self.postMessage({id:A.id,count:A.count,action:"resolve",value:E},[E.buffer])}catch(v){self.postMessage({id:A.id,count:A.count,action:"reject",value:v})}})}return{ready:s,supported:!0,useWorkers:function(T){m(T)},decodeVertexBuffer:function(T,A,C,E,v){c(r,r.exports.meshopt_decodeVertexBuffer,T,A,C,E,r.exports[u[v]])},decodeIndexBuffer:function(T,A,C,E){c(r,r.exports.meshopt_decodeIndexBuffer,T,A,C,E)},decodeIndexSequence:function(T,A,C,E){c(r,r.exports.meshopt_decodeIndexSequence,T,A,C,E)},decodeGltfBuffer:function(T,A,C,E,v,D){c(r,r.exports[f[v]],T,A,C,E,r.exports[u[D]])},decodeGltfBufferAsync:function(T,A,C,E,v){return d.length>0?x(T,A,C,f[E],u[v]):s.then(function(){var D=new Uint8Array(T*A);return c(r,r.exports[f[E]],D,T,A,C,r.exports[u[v]]),D})}}}();typeof z1=="object"&&typeof K9=="object"?K9.exports=wU:typeof define=="function"&&define.amd?define([],function(){return wU}):typeof z1=="object"?z1.MeshoptDecoder=wU:(typeof self<"u"?self:z1).MeshoptDecoder=wU});var tre=Qn((H1,Z9)=>{var DU=function(){"use strict";var e="b9H79Tebbbe9Hk9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gvuuuuue999Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuecj;jekr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdmxq:f97sdbk:39si8Au8A99zu8Jjjjjbc;W;ab9Rgs8Kjjjjbcbhzascxfcbc;Kbz:ljjjb8AdnabaeSmbabaeadcdtz:kjjjb8AkdndnamcdGmbcbhHxekasalcrfci4gecbyd;S1jjbHjjjjbbgOBdxasceBd2aOcbaez:ljjjbhAcbhlcbhednadTmbcbhlabheadhOinaAaeydbgCci4fgXaXRbbgXceaCcrGgCtV86bbaXcu7aC4ceGalfhlaeclfheaOcufgOmbkcualcdtalcFFFFi0Ehekasaecbyd;S1jjbHjjjjbbgHBdzascdBd2alcd4alfhCcehOinaOgecethOaeaC6mbkcdhzcbhQascuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbgCBdCasciBd2aCcFeaOz:ljjjbhLdnadTmbaecufhXcbhKinabaQcdtfgYydbgAc:v;t;h;Ev2hCcbhedndninaLaCaXGgCcdtfg8AydbgOcuSmeaHaOcdtfydbaASmdaecefgeaCfhCaeaX9nmbxdkkaHaKcdtfaABdba8AaKBdbaKhOaKcefhKkaYaOBdbaQcefgQad9hmbkkaLcbyd;O1jjbH:bjjjbbascdBd2kascxfazcdtfcualcefgecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbgEBdbasaEBdlasazceVgeBd2ascxfaecdtfcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbg3Bdbasa3BdwasazcdfgeBd2asclfabadalcbz:cjjjbascxfaecdtfcualcdtg5alcFFFFi0Eg8Ecbyd;S1jjbHjjjjbbgOBdbasazcifgeBd2ascxfaecdtfa8Ecbyd;S1jjbHjjjjbbg8FBdbasazclVgaBd2alcd4alfhXcehCinaCgecethCaeaX6mbkcbhKascxfaacdtfghcuaecdtgCaecFFFFi0Ecbyd;S1jjbHjjjjbbgXBdbasazcvVggBd2aXcFeaCz:ljjjbhQdnalTmbavcd4hAaecufhCinaKhednaHTmbaHaKcdtfydbhekaiaeaA2cdtfgeydlgXcH4aX7c:F:b:DD2aeydbgXcH4aX7c;D;O:B8J27aeydwgecH4ae7c:3F;N8N27aCGheaKcdth8JdndndndndnaHTmbaHa8JfhYcbhXinaQaecdtfgLydbg8AcuSmlaiaHa8AcdtfydbaA2cdtfaiaYydbaA2cdtfcxz:ojjjbTmiaXcefgXaefaCGheaXaC9nmbxdkkaiaKaA2cdtfhYcbhXinaQaecdtfgLydbg8AcuSmiaia8AaA2cdtfaYcxz:ojjjbTmdaXcefgXaefaCGheaXaC9nmbkkcbhLkaLydbgecu9hmekaLaKBdbaKhekaOa8JfaeBdbaKcefgKal9hmbkcbhea8FhCinaCaeBdbaCclfhCalaecefge9hmbkcbheaOhCa8FhXindnaeaCydbgASmbaXa8FaAcdtfgAydbBdbaAaeBdbkaCclfhCaXclfhXalaecefge9hmbkkcbh8KaQcbyd;O1jjbH:bjjjbbasaaBd2ahalcbyd;S1jjbHjjjjbbgABdbasagBd2ascxfagcdtfa8Ecbyd;S1jjbHjjjjbbgeBdbasazcofgCBd2ascxfaCcdtfa8Ecbyd;S1jjbHjjjjbbgCBdbasazcrfg8LBd2aecFea5z:ljjjbh8MaCcFea5z:ljjjbh8NdnalTmba3cwfhyindnaEa8KgXcefg8Kcdtfydbg8AaEaXcdtgefydbgCSmba8AaC9Rh8Ja3aCcitfh5a8Naefhga8MaefhKcbhLindndna5aLcitfydbgQaX9hmbaKaXBdbagaXBdbxekdnaEaQcdtgafgeclfydbgCaeydbgeSmba3aecitg8AfydbaXSmeaCae9Rhhaecu7aCfhYaya8AfhCcbheinaYaeSmeaecefheaCydbh8AaCcwfhCa8AaX9hmbkaeah6meka8NaafgeaXaQaeydbcuSEBdbaKaQaXaKydbcuSEBdbkaLcefgLa8J9hmbkka8Kal9hmbkaOhCaHhLa8FhXa8Nh8Aa8MhQcbheindndnaeaCydbgY9hmbdnaqTmbaehYdnaHTmbaLydbhYkaqaYfRbbTmbaAaefcl86bbxdkdnaeaXydbgY9hmbaQydbhYdna8AydbgKcu9hmbaYcu9hmbaAaefcb86bbxikaAaefh8JdnaeaKSmbaeaYSmba8Jce86bbxika8Jcl86bbxdkdnaea8FaYcdtgKfydb9hmbdna8Aydbg8JcuSmbaea8JSmbaQydbg5cuSmbaea5Smba8NaKfydbgacuSmbaaaYSmba8MaKfydbgKcuSmbaKaYSmbdnaOa8JcdtfydbaOaKcdtfydb9hmbaOa5cdtfydbaOaacdtfydb9hmbaAaefcd86bbxlkaAaefcl86bbxikaAaefcl86bbxdkaAaefcl86bbxekaAaefaAaYfRbb86bbkaCclfhCaLclfhLaXclfhXa8Aclfh8AaQclfhQalaecefge9hmbkamceGTmbaAhealhCindnaeRbbce9hmbaecl86bbkaecefheaCcufgCmbkkascxfa8Lcdtfcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbggBdbasazcwVg8JBd2agaialavaHz:djjjbh8PdndnaDmbcbhvxekascxfa8JcdtfcualaD2gecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbgvBdbasazcDVg8JBd2alTmbarcd4hYdnaHTmbaDcdthKcbhLavhQinaoaHaLcdtfydbaY2cdtfheawhCaQhXaDh8AinaXaeIdbaCIdbNUdbaeclfheaCclfhCaXclfhXa8Acufg8AmbkaQaKfhQaLcefgLal9hmbxdkkaYcdthYaDcdthKcbhQavhLinaoheawhCaLhXaDh8AinaXaeIdbaCIdbNUdbaeclfheaCclfhCaXclfhXa8Acufg8AmbkaoaYfhoaLaKfhLaQcefgQal9hmbkkascxfa8Jcdtfcualc8S2gealc;D;O;f8U0EgXcbyd;S1jjbHjjjjbbgCBdbasa8Jcefg8ABd2aCcbaez:ljjjbh8KdndndnaDTmbascxfa8AcdtfaXcbyd;S1jjbHjjjjbbgqBdbasa8JcdfgCBd2aqcbaez:ljjjb8AascxfaCcdtfcualaD2gecltgCaecFFFFb0Ecbyd;S1jjbHjjjjbbgwBdbasa8JcifBd2awcbaCz:ljjjb8AadmexdkcbhqcbhwadTmekcbhLabhCindnagaCclfydbgQcx2fgeIdbagaCydbgYcx2fgXIdbgI:tg8RagaCcwfydbgKcx2fg8AIdlaXIdlg8S:tgRNa8AIdbaI:tg8UaeIdla8S:tg8VN:tg8Wa8WNa8Va8AIdwaXIdwg8X:tg8YNaRaeIdwa8X:tg8VN:tgRaRNa8Va8UNa8Ya8RN:tg8Ra8RNMM:rg8UJbbbb9ETmba8Wa8U:vh8Wa8Ra8U:vh8RaRa8U:vhRka8KaOaYcdtfydbc8S2fgeaRa8U:rg8UaRNNg8VaeIdbMUdbaea8Ra8Ua8RNg8ZNg8YaeIdlMUdlaea8Wa8Ua8WNg80Ng81aeIdwMUdwaea8ZaRNg8ZaeIdxMUdxaea80aRNgBaeIdzMUdzaea80a8RNg80aeIdCMUdCaeaRa8Ua8Wa8XNaRaINa8Sa8RNMM:mg8SNgINgRaeIdKMUdKaea8RaINg8RaeId3MUd3aea8WaINg8WaeIdaMUdaaeaIa8SNgIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaQcdtfydbc8S2fgea8VaeIdbMUdbaea8YaeIdlMUdlaea81aeIdwMUdwaea8ZaeIdxMUdxaeaBaeIdzMUdzaea80aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaKcdtfydbc8S2fgea8VaeIdbMUdbaea8YaeIdlMUdlaea81aeIdwMUdwaea8ZaeIdxMUdxaeaBaeIdzMUdzaea80aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdyaCcxfhCaLcifgLad6mbkcbh8JabhYinaba8JcdtfhQcbhCinaAaQaCcj1jjbfydbcdtfydbgXfRbbhedndnaAaYaCfydbg8AfRbbgLc99fcFeGcpe0mbaeceSmbaecd9hmekdnaLcufcFeGce0mba8Ma8AcdtfydbaX9hmekdnaecufcFeGce0mba8NaXcdtfydba8A9hmekdnaLcv2aefc:q1jjbfRbbTmbaOaXcdtfydbaOa8Acdtfydb0mekdnagaXcx2fgKIdwaga8Acx2fgiIdwg8S:tgRaRNaKIdbaiIdbg8X:tg8Ra8RNaKIdlaiIdlg8V:tg8Ua8UNMM:rgIJbbbb9ETmbaRaI:vhRa8UaI:vh8Ua8RaI:vh8RkJbbacJbbacJbbjZaeceSEaLceSEh80dnagaQaCc:e1jjbfydbcdtfydbcx2fgeIdwa8S:tg8WaRa8WaRNaeIdba8X:tg81a8RNa8UaeIdla8V:tg8ZNMMg8YN:tg8Wa8WNa81a8Ra8YN:tgRaRNa8Za8Ua8YN:tg8Ra8RNMM:rg8UJbbbb9ETmba8Wa8U:vh8Wa8Ra8U:vh8RaRa8U:vhRka8KaOa8Acdtfydbc8S2fgeaRa80aINg8UaRNNg8YaeIdbMUdbaea8Ra8Ua8RNg80Ng81aeIdlMUdlaea8Wa8Ua8WNgINg8ZaeIdwMUdwaea80aRNg80aeIdxMUdxaeaIaRNgBaeIdzMUdzaeaIa8RNg83aeIdCMUdCaeaRa8Ua8Wa8SNaRa8XNa8Va8RNMM:mg8SNgINgRaeIdKMUdKaea8RaINg8RaeId3MUd3aea8WaINg8WaeIdaMUdaaeaIa8SNgIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaXcdtfydbc8S2fgea8YaeIdbMUdbaea81aeIdlMUdlaea8ZaeIdwMUdwaea80aeIdxMUdxaeaBaeIdzMUdzaea83aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdykaCclfgCcx9hmbkaYcxfhYa8Jcifg8Jad6mbkaDTmbcbhYinJbbbbh8XagabaYcdtfgeclfydbgKcx2fgCIdwagaeydbgicx2fgXIdwg8Z:tg8Ra8RNaCIdbaXIdbgB:tg8Wa8WNaCIdlaXIdlg83:tg8Ua8UNMMg80agaecwfydbg8Jcx2fgeIdwa8Z:tgINa8Ra8RaINa8WaeIdbaB:tg8SNa8UaeIdla83:tg8VNMMgRN:tJbbbbJbbjZa80aIaINa8Sa8SNa8Va8VNMMg81NaRaRN:tg8Y:va8YJbbbb9BEg8YNhUa81a8RNaIaRN:ta8YNh85a80a8VNa8UaRN:ta8YNh86a81a8UNa8VaRN:ta8YNh87a80a8SNa8WaRN:ta8YNh88a81a8WNa8SaRN:ta8YNh89a8Wa8VNa8Sa8UN:tgRaRNa8UaINa8Va8RN:tgRaRNa8Ra8SNaIa8WN:tgRaRNMM:r:rhRavaiaD2cdtfhCava8JaD2cdtfhXavaKaD2cdtfh8Aa8Z:mh8:a83:mhZaB:mhncbhLaDhQJbbbbh8VJbbbbh8YJbbbbh80Jbbbbh81Jbbbbh8ZJbbbbhBJbbbbh83JbbbbhcJbbbbh9cinasc;WbfaLfgecwfaRa85a8AIdbaCIdbgI:tg8UNaUaXIdbaI:tg8SNMg8RNUdbaeclfaRa87a8UNa86a8SNMg8WNUdbaeaRa89a8UNa88a8SNMg8UNUdbaecxfaRa8:a8RNaZa8WNaIana8UNMMMgINUdbaRa8Ra8WNNa81Mh81aRa8Ra8UNNa8ZMh8ZaRa8Wa8UNNaBMhBaRaIaINNa8XMh8XaRa8RaINNa8VMh8VaRa8WaINNa8YMh8YaRa8UaINNa80Mh80aRa8Ra8RNNa83Mh83aRa8Wa8WNNacMhcaRa8Ua8UNNa9cMh9caCclfhCa8Aclfh8AaXclfhXaLczfhLaQcufgQmbkaqaOaicdtfydbgCc8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyaqaOaKcdtfydbgKc8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyaqaOa8Jcdtfydbgic8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyawaCaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkawaKaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkawaiaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkaYcifgYad6mbkkasydlhJcbhednalTmbaJclfheaJydbh8AaAhCalhLcbhXincbaeydbgQa8A9RaCRbbcpeGEaXfhXaCcefhCaeclfheaQh8AaLcufgLmbkaXce4hekcuadae9Rcifg8Lcx2a8Lc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhhascxfasyd2gecdtfahBdbasaecefgCBd2ascxfaCcdtfcua8Lcdta8LcFFFFi0Ecbyd;S1jjbHjjjjbbgzBdbasaecdfgCBd2ascxfaCcdtfa8Ecbyd;S1jjbHjjjjbbg3BdbasaecifgCBd2ascxfaCcdtfalcbyd;S1jjbHjjjjbbg9eBdbasaeclfBd2a8PJbbjZamclGEhcJbbbbh83dnadak9nmbdna8Lci6mbaxaxNacacN:vhBaDclthTahcwfhSJbbbbh83inasclfabadgoalaOz:cjjjbabhicbhEcbhyinabaycdtfh8JcbheindnaOaiaefydbgXcdtgKfydbg8AaOa8Jaec:S1jjbfydbcdtfydbgCcdtfydbgLSmbaAaCfRbbgYcv2aAaXfRbbgQfc;a1jjbfRbbgaaQcv2aYfg5c;a1jjbfRbbgdVcFeGTmbdnaLa8A9nmba5c:q1jjbfRbbcFeGmekdnaQaY9hmbaQcufcFeGce0mba8MaKfydbaC9hmekahaEcx2fg8AaCaXadcFeGgLEBdla8AaXaCaLEBdba8AaLaaGcb9hBdwaEcefhEkaeclfgecx9hmbkdnaycifgyao9pmbaicxfhiaEcifa8L9nmekkdnaEmbaohdxikcbhYinJbbbbJbbjZa8KaOahaYcx2fg8AydlgLa8AydbgQa8AydwgCEgicdtfydbgac8S2gdfgeIdygR:vaRJbbbb9BEaeIdwagaQaLaCEgKcx2fgCIdwg8UNaeIdzaCIdbgINaeIdaMgRaRMMa8UNaeIdlaCIdlg8SNaeIdCa8UNaeId3MgRaRMMa8SNaeIdbaINaeIdxa8SNaeIdKMgRaRMMaINaeId8KMMM:lNh80JbbbbJbbjZa8KaOaQcdtfydbgyc8S2gXfgeIdygR:vaRJbbbb9BEaeIdwagaLcx2fgCIdwg8WNaeIdzaCIdbg8XNaeIdaMgRaRMMa8WNaeIdlaCIdlg8VNaeIdCa8WNaeId3MgRaRMMa8VNaeIdba8XNaeIdxa8VNaeIdKMgRaRMMa8XNaeId8KMMM:lNh81a8Acwfh8Ja8Aclfh5dnaDTmbaqaXfgXIdwa8WNaXIdza8XNaXIdaMgRaRMMa8WNaXIdla8VNaXIdCa8WNaXId3MgRaRMMa8VNaXIdba8XNaXIdxa8VNaXIdKMgRaRMMa8XNaXId8KMMMh8RavaLaD2cdtfhCawayaD2cltfheaXIdyh8YaDhXinaCIdbgRJbbb;aNaecxfIdba8WaecwfIdbNa8XaeIdbNa8VaeclfIdbNMMMNaRaRNa8YNa8RMMh8RaCclfhCaeczfheaXcufgXmbkaqadfgXIdwa8UNaXIdzaINaXIdaMgRaRMMa8UNaXIdla8SNaXIdCa8UNaXId3MgRaRMMa8SNaXIdbaINaXIdxa8SNaXIdKMgRaRMMaINaXId8KMMMh8WavaKaD2cdtfhCawaaaD2cltfheaXIdyh8XaDhXinaCIdbgRJbbb;aNaecxfIdba8UaecwfIdbNaIaeIdbNa8SaeclfIdbNMMMNaRaRNa8XNa8WMMh8WaCclfhCaeczfheaXcufgXmbka80a8W:lMh80a81a8R:lMh81ka5aLaKa81a809FgeEBdba8AaQaiaeEBdba8Ja81a80aeEUdbaYcefgYaE9hmbkasc;Wbfcbcj;abz:ljjjb8AaSheaEhCinasc;WbfaeydbcO4c;8ZGfgXaXydbcefBdbaecxfheaCcufgCmbkcbhecbhCinasc;WbfaefgXydbh8AaXaCBdba8AaCfhCaeclfgecj;ab9hmbkcbheaShCinasc;WbfaCydbcO4c;8ZGfgXaXydbgXcefBdbazaXcdtfaeBdbaCcxfhCaEaecefge9hmbkaoak9RgXci9Uh9hdnalTmbcbhea3hCinaCaeBdbaCclfhCalaecefge9hmbkkcbh9ia9ecbalz:ljjjbh6aXcO9Uh9ka9hce4h0asydwh9mcbhdcbh5dninahaza5cdtfydbcx2fg8JIdwg8RaB9Emeada9h9pmeJFFuuhRdna0aE9pmbahaza0cdtfydbcx2fIdwJbb;aZNhRkdna8RaR9ETmbada9k0mdkdna6aOa8Jydlg9ncdtg9ofydbg8Afg9pRbba6aOa8Jydbgicdtg9qfydbg9rfg9sRbbVmbdnaJa9rcdtfgeclfydbgCaeydbgeSmbaCae9RhQa9maecitfheaga8Acx2fgKcwfhyaKclfh8Eaga9rcx2fgacwfhmaaclfhrcbhCcehYdnindna3aeydbcdtfydbgXa8ASmba3aeclfydbcdtfydbgLa8ASmbaXaLSmbagaLcx2fgLIdbagaXcx2fgXIdbg8W:tgRarIdbaXIdlg8U:tg8XNaaIdba8W:tg8VaLIdla8U:tg8RN:tgIaRa8EIdba8U:tg8YNaKIdba8W:tg80a8RN:tg8UNa8RamIdbaXIdwg8S:tg81Na8XaLIdwa8S:tg8WN:tg8Xa8RayIdba8S:tg8ZNa8Ya8WN:tg8RNa8Wa8VNa81aRN:tg8Sa8Wa80Na8ZaRN:tgRNMMaIaINa8Xa8XNa8Sa8SNMMa8Ua8UNa8Ra8RNaRaRNMMN:rJbbj8:N9FmdkaecwfheaCcefgCaQ6hYaQaC9hmbkkaYceGTmba0cefh0xeka8Ka8Ac8S2gXfgea8Ka9rc8S2gLfgCIdbaeIdbMUdbaeaCIdlaeIdlMUdlaeaCIdwaeIdwMUdwaeaCIdxaeIdxMUdxaeaCIdzaeIdzMUdzaeaCIdCaeIdCMUdCaeaCIdKaeIdKMUdKaeaCId3aeId3MUd3aeaCIdaaeIdaMUdaaeaCId8KaeId8KMUd8KaeaCIdyaeIdyMUdydnaDTmbaqaXfgeaqaLfgCIdbaeIdbMUdbaeaCIdlaeIdlMUdlaeaCIdwaeIdwMUdwaeaCIdxaeIdxMUdxaeaCIdzaeIdzMUdzaeaCIdCaeIdCMUdCaeaCIdKaeIdKMUdKaeaCId3aeId3MUd3aeaCIdaaeIdaMUdaaeaCId8KaeId8KMUd8KaeaCIdyaeIdyMUdyaTa9r2hYaTa8A2hKawhCaDhLinaCaKfgeaCaYfgXIdbaeIdbMUdbaeclfgQaXclfIdbaQIdbMUdbaecwfgQaXcwfIdbaQIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCaLcufgLmbkka8JcwfhCdndndndnaAaifgXRbbc9:fPdebdkaiheina3aecdtgefa8ABdba8Faefydbgeai9hmbxikka8Fa9ofydbhea8Fa9qfydbhia3a9qfa9nBdbaeh9nka3aicdtfa9nBdbka9sce86bba9pce86bbaCIdbgRa83a83aR9DEh83a9icefh9icecdaXRbbceSEadfhdka5cefg5aE9hmbkkdna9imbaohdxikdnalTmbcbhCa8MheindnaeydbgXcuSmbdnaCa3aXcdtg8AfydbgX9hmba8Ma8AfydbhXkaeaXBdbkaeclfhealaCcefgC9hmbkcbhCa8NheindnaeydbgXcuSmbdnaCa3aXcdtg8AfydbgX9hmba8Na8AfydbhXkaeaXBdbkaeclfhealaCcefgC9hmbkkcbhdabhecbhLindna3aeydbcdtfydbgCa3aeclfydbcdtfydbgXSmbaCa3aecwfydbcdtfydbg8ASmbaXa8ASmbabadcdtfgQaCBdbaQcwfa8ABdbaQclfaXBdbadcifhdkaecxfheaLcifgLao6mbkadak9nmdxbkkasclfabadalaOz:cjjjbkdnaHTmbadTmbadheinabaHabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPaca83:rNUdbkasyd2gecdtascxffc98fhOdninaeTmeaOydbcbyd;O1jjbH:bjjjbbaOc98fhOaecufhexbkkasc;W;abf8Kjjjjbadk;Yieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk;Podvuv998Jjjjjbca9RgvcFFF;7rBd3av9cFFF;7;3FF:;Fb83dCavcFFF97Bdzav9cFFF;7FFF:;u83dwdnadTmbaicd4hodnabmbdnalTmbcbhrinaealarcdtfydbao2cdtfhwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxikkaocdthrcbhwincbhiinavcCfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbxdkkdnalTmbcbhrinabarcx2fgiaealarcdtfydbao2cdtfgwIdbUdbaiawIdlUdlaiawIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxdkkaocdthlcbhraehwinabarcx2fgiaearao2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawalfhwarcefgrad9hmbkkJbbbbavIdwavIdCgk:tgqaqJbbbb9DEgqavIdxavIdKgx:tgmamaq9DEgqavIdzavId3gm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgvaqavIdbax:tNUdbabcwfgvaqavIdbam:tNUdbabcxfhbadcufgdmbkkaPk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbk;3Aowud99wue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbgqBdxawceBd2aqaeadaicbz:djjjb8AawcuadcdtadcFFFFi0Egkcbyd;S1jjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhmawcuaicdtgPaicFFFFi0Ecbyd;S1jjbHjjjjbbgsBdCawciBd2dndnar:Zgz:rJbbbZMgH:lJbbb9p9DTmbaH:Ohexekcjjjj94hekaicufhOc:bwhAcbhCcbhXadhQinaChLaeaAgKcufaeaK9iEamgDcefaeaD9kEhYdndnadTmbaYcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbh3cbh5indnaEaxa5cdtfydbgAcm4aA7c:v;t;h;Ev2gics4ai7aOGgmcdtfgCydbgecuSmbaeaASmbcehiinaEamaifaOGgmcdtfgCydbgecuSmeaicefhiaeaA9hmbkkaCaABdba3aecuSfh3a5cefg5ad9hmbxdkkascFeaPz:ljjjb8Acbh3kaDaYa3ar0giEhmaLa3aiEhCdna3arSmbaYaKaiEgAam9Rcd9imbdndnaXcl0mbdnaQ:ZgHaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa3:Zghaz:tNNNaHaz:taaNa8Aah:tNa8Aaz:ta8FNahaH:tNM:va8EMJbbbZMgH:lJbbb9p9DTmbaH:Ohexdkcjjjj94hexekamaAfcd9Theka3aQaiEhQaXcefgXcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd;S1jjbHjjjjbbg5BdKawclBd2dndnadTmbamcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbhDcbh3inaxa3cdtgYfydbgAcm4aA7c:v;t;h;Ev2gics4ai7hecbhidndninaEaeaOGgmcdtfgCydbgecuSmednaxaecdtgCfydbaASmbaicefgiamfheaiaO9nmekka5aCfydbhixekaCa3BdbaDhiaDcefhDka5aYfaiBdba3cefg3ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekascFeaPz:ljjjb8AcbhDcbhekawaecbyd;S1jjbHjjjjbbgeBd3awcvBd2aecbaiz:ljjjbhCavcd4hxdnadTmbdnalTmbaxcdthEa5hAalheaqhmadhOinaCaAydbc32fgiamIdbaiIdbMUdbaiamclfIdbaiIdlMUdlaiamcwfIdbaiIdwMUdwaiaeIdbaiIdxMUdxaiaeclfIdbaiIdzMUdzaiaecwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaAclfhAaeaEfheamcxfhmaOcufgOmbxdkka5hmaqheadhAinaCamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaAcufgAmbkkdnaDTmbaChiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgH:vaHJbbbb9BEgHNUdbaiclfgmaHamIdbNUdbaicwfgmaHamIdbNUdbaicxfgmaHamIdbNUdbaiczfgmaHamIdbNUdbaicCfgmaHamIdbNUdbaic3fhiaecufgembkkcbhAawcuaDcdtgYaDcFFFFi0Egicbyd;S1jjbHjjjjbbgeBdaawcoBd2awaicbyd;S1jjbHjjjjbbgEBd8KaecFeaYz:ljjjbh3dnadTmbaoaoNh8Aaxcdthxalheina8Aaec;C1jjbalEgmIdwaCa5ydbgOc32fgiIdC:tgHaHNamIdbaiIdx:tgHaHNamIdlaiIdz:tgHaHNMMNaqcwfIdbaiIdw:tgHaHNaqIdbaiIdb:tgHaHNaqclfIdbaiIdl:tgHaHNMMMhHdndna3aOcdtgifgmydbcuSmbaEaifIdbaH9ETmekamaABdbaEaifaHUdbka5clfh5aeaxfheaqcxfhqadaAcefgA9hmbkkaba3aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd;O1jjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Odieui99iu8Jjjjjbca9RgicFFF;7rBd3ai9cFFF;7;3FF:;Fb83dCaicFFF97Bdzai9cFFF;7FFF:;u83dwdndnaembJbbjFhlJbbjFhvJbbjFhoxekadcd4cdthrcbhwincbhdinaicCfadfgDabadfIdbglaDIdbgvaval9EEUdbaicwfadfgDalaDIdbgvaval9DEUdbadclfgdcx9hmbkabarfhbawcefgwae9hmbkaiIdzaiId3:thoaiIdxaiIdK:thvaiIdwaiIdC:thlkJbbbbalalJbbbb9DEglavaval9DEglaoaoal9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcifc98GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcrfc94GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;W1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;W1jjbfgdBd;W1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:bedbcjwk9Oebbbdbbbbbbbebbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbbbbbbbbbbbbbbbbc;Owkxebbbdbbbj9Kbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(m){n=m.instance,n.exports.__wasm_call_ctors()});function o(m){for(var x=new Uint8Array(m.length),b=0;b<m.length;++b){var T=m.charCodeAt(b);x[b]=T>96?T-97:T>64?T-39:T+4}for(var A=0,b=0;b<m.length;++b)x[A++]=x[b]<60?t[x[b]]:(x[b]-60)*64+x[++b];return x.buffer.slice(0,A)}function r(m){if(!m)throw new Error("Assertion failed")}function s(m){return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)}function a(m,x,b){var T=n.exports.sbrk,A=T(x.length*4),C=T(b*4),E=new Uint8Array(n.exports.memory.buffer),v=s(x);E.set(v,A);var D=m(C,A,x.length,b);E=new Uint8Array(n.exports.memory.buffer);var O=new Uint32Array(b);new Uint8Array(O.buffer).set(E.subarray(C,C+b*4)),v.set(E.subarray(A,A+x.length*4)),T(A-T(0));for(var R=0;R<x.length;++R)x[R]=O[x[R]];return[O,D]}function c(m){for(var x=0,b=0;b<m.length;++b){var T=m[b];x=x<T?T:x}return x}function u(m,x,b,T,A,C,E,v,D){var O=n.exports.sbrk,R=O(4),M=O(b*4),N=O(A*C),_=O(b*4),S=new Uint8Array(n.exports.memory.buffer);S.set(s(T),N),S.set(s(x),_);var w=m(M,_,b,N,A,C,E,v,D,R);S=new Uint8Array(n.exports.memory.buffer);var I=new Uint32Array(w);s(I).set(S.subarray(M,M+w*4));var L=new Float32Array(1);return s(L).set(S.subarray(R,R+4)),O(R-O(0)),[I,L[0]]}function f(m,x,b,T,A,C,E,v,D,O,R,M,N){var _=n.exports.sbrk,S=_(4),w=_(b*4),I=_(A*C),L=_(A*v),B=_(D.length*4),U=_(b*4),V=O?_(A):0,G=new Uint8Array(n.exports.memory.buffer);G.set(s(T),I),G.set(s(E),L),G.set(s(D),B),G.set(s(x),U),O&&G.set(s(O),V);var k=m(w,U,b,I,A,C,L,v,B,D.length,V,R,M,N,S);G=new Uint8Array(n.exports.memory.buffer);var Y=new Uint32Array(k);s(Y).set(G.subarray(w,w+k*4));var W=new Float32Array(1);return s(W).set(G.subarray(S,S+4)),_(S-_(0)),[Y,W[0]]}function d(m,x,b,T){var A=n.exports.sbrk,C=A(b*T),E=new Uint8Array(n.exports.memory.buffer);E.set(s(x),C);var v=m(C,b,T);return A(C-A(0)),v}function p(m,x,b,T,A,C,E,v){var D=n.exports.sbrk,O=D(v*4),R=D(b*T),M=D(b*C),N=new Uint8Array(n.exports.memory.buffer);N.set(s(x),R),A&&N.set(s(A),M);var _=m(O,R,b,T,M,C,E,v);N=new Uint8Array(n.exports.memory.buffer);var S=new Uint32Array(_);return s(S).set(N.subarray(O,O+_*4)),D(O-D(0)),S}var g={LockBorder:1,Sparse:2,ErrorAbsolute:4};return{ready:i,supported:!0,useExperimentalFeatures:!1,compactMesh:function(m){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0);var x=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return a(n.exports.meshopt_optimizeVertexFetchRemap,x,c(m)+1)},simplify:function(m,x,b,T,A,C){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T>=0&&T<=m.length),r(T%3==0),r(A>=0);for(var E=0,v=0;v<(C?C.length:0);++v)r(C[v]in g),E|=g[C[v]];var D=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),O=u(n.exports.meshopt_simplify,D,m.length,x,x.length/b,b*4,T,A,E);return O[0]=m instanceof Uint32Array?O[0]:new m.constructor(O[0]),O},simplifyWithAttributes:function(m,x,b,T,A,C,E,v,D,O){r(this.useExperimentalFeatures),r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T instanceof Float32Array),r(T.length%A==0),r(A>=0),r(E==null||E.length==x.length),r(v>=0&&v<=m.length),r(v%3==0),r(D>=0),r(Array.isArray(C)),r(A>=C.length),r(C.length<=16);for(var R=0,M=0;M<(O?O.length:0);++M)r(O[M]in g),R|=g[O[M]];var N=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),_=f(n.exports.meshopt_simplifyWithAttributes,N,m.length,x,x.length/b,b*4,T,A*4,new Float32Array(C),E?new Uint8Array(E):null,v,D,R);return _[0]=m instanceof Uint32Array?_[0]:new m.constructor(_[0]),_},getScale:function(m,x){return r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),d(n.exports.meshopt_simplifyScale,m,m.length/x,x*4)},simplifyPoints:function(m,x,b,T,A,C){return r(this.useExperimentalFeatures),r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),r(b>=0&&b<=m.length/x),T?(r(T instanceof Float32Array),r(T.length%A==0),r(A>=3),r(m.length/x==T.length/A),p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,T,A*4,C,b)):p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,void 0,0,0,b)}}}();typeof H1=="object"&&typeof Z9=="object"?Z9.exports=DU:typeof define=="function"&&define.amd?define([],function(){return DU}):typeof H1=="object"?H1.MeshoptSimplifier=DU:(typeof self<"u"?self:H1).MeshoptSimplifier=DU});var ire=Qn((gen,nre)=>{var KBe=Joe(),ZBe=ere(),$Be=tre();nre.exports={MeshoptEncoder:KBe,MeshoptDecoder:ZBe,MeshoptSimplifier:$Be}});var ple=Qn((tvn,mle)=>{"use strict";mle.exports=KWe;var NM=1e20;function KWe(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,u,f,d,p,g,m,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?f=t.stride:f=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,d=p.getContext("2d"),r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,d=e,r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,f=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(u=c,c=Array(r*s),m=0,x=Math.floor(u.length/f);m<x;m++)c[m]=u[m*f+o]/255;else if(f!==1)throw Error("Raw data can have only 1 value per pixel");var b=Array(r*s),T=Array(r*s),A=Array(a),C=Array(a),E=Array(a+1),v=Array(a);for(m=0,x=r*s;m<x;m++){var D=c[m];b[m]=D===1?0:D===0?NM:Math.pow(Math.max(0,.5-D),2),T[m]=D===1?NM:D===0?0:Math.pow(Math.max(0,D-.5),2)}dle(b,r,s,A,C,v,E),dle(T,r,s,A,C,v,E);var O=window.Float32Array?new Float32Array(r*s):new Array(r*s);for(m=0,x=r*s;m<x;m++)O[m]=Math.min(Math.max(1-((b[m]-T[m])/i+n),0),1);return O}function dle(e,t,n,i,o,r,s){for(var a=0;a<t;a++){for(var c=0;c<n;c++)i[c]=e[c*t+a];for(hle(i,o,r,s,n),c=0;c<n;c++)e[c*t+a]=o[c]}for(c=0;c<n;c++){for(a=0;a<t;a++)i[a]=e[c*t+a];for(hle(i,o,r,s,t),a=0;a<t;a++)e[c*t+a]=Math.sqrt(o[a])}}function hle(e,t,n,i,o){n[0]=0,i[0]=-NM,i[1]=+NM;for(var r=1,s=0;r<o;r++){for(var a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);a<=i[s];)s--,a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);s++,n[s]=r,i[s]=a,i[s+1]=+NM}for(r=0,s=0;r<o;r++){for(;i[s+1]<r;)s++;t[r]=(r-n[s])*(r-n[s])+e[n[s]]}}});var ble=Qn((yvn,mz)=>{function sje(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,u=9,f=10,d=11,p=12,g=13,m=14,x=15,b=16,T=17,A=0,C=1,E=2,v=3,D=4;function O(_,S){return 55296<=_.charCodeAt(S)&&_.charCodeAt(S)<=56319&&56320<=_.charCodeAt(S+1)&&_.charCodeAt(S+1)<=57343}function R(_,S){S===void 0&&(S=0);var w=_.charCodeAt(S);if(55296<=w&&w<=56319&&S<_.length-1){var I=w,L=_.charCodeAt(S+1);return 56320<=L&&L<=57343?(I-55296)*1024+(L-56320)+65536:I}if(56320<=w&&w<=57343&&S>=1){var I=_.charCodeAt(S-1),L=w;return 55296<=I&&I<=56319?(I-55296)*1024+(L-56320)+65536:L}return w}function M(_,S,w){var I=[_].concat(S).concat([w]),L=I[I.length-2],B=w,U=I.lastIndexOf(m);if(U>1&&I.slice(1,U).every(function(k){return k==i})&&[i,g,T].indexOf(_)==-1)return E;var V=I.lastIndexOf(o);if(V>0&&I.slice(1,V).every(function(k){return k==o})&&[p,o].indexOf(L)==-1)return I.filter(function(k){return k==o}).length%2==1?v:D;if(L==e&&B==t)return A;if(L==n||L==e||L==t)return B==m&&S.every(function(k){return k==i})?E:C;if(B==n||B==e||B==t)return C;if(L==s&&(B==s||B==a||B==u||B==f))return A;if((L==u||L==a)&&(B==a||B==c))return A;if((L==f||L==c)&&B==c)return A;if(B==i||B==x)return A;if(B==r)return A;if(L==p)return A;var G=I.indexOf(i)!=-1?I.lastIndexOf(i)-1:I.length-2;return[g,T].indexOf(I[G])!=-1&&I.slice(G+1,-1).every(function(k){return k==i})&&B==m||L==x&&[b,T].indexOf(B)!=-1?A:S.indexOf(o)!=-1?E:L==o&&B==o?A:C}this.nextBreak=function(_,S){if(S===void 0&&(S=0),S<0)return 0;if(S>=_.length-1)return _.length;for(var w=N(R(_,S)),I=[],L=S+1;L<_.length;L++)if(!O(_,L-1)){var B=N(R(_,L));if(M(w,I,B))return L;I.push(B)}return _.length},this.splitGraphemes=function(_){for(var S=[],w=0,I;(I=this.nextBreak(_,w))<_.length;)S.push(_.slice(w,I)),w=I;return w<_.length&&S.push(_.slice(w)),S},this.iterateGraphemes=function(_){var S=0,w={next:function(){var I,L;return(L=this.nextBreak(_,S))<_.length?(I=_.slice(S,L),S=L,{value:I,done:!1}):S<_.length?(I=_.slice(S),S=_.length,{value:I,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(w[Symbol.iterator]=function(){return w}),w},this.countGraphemes=function(_){for(var S=0,w=0,I;(I=this.nextBreak(_,w))<_.length;)w=I,S++;return w<_.length&&S++,S};function N(_){return 1536<=_&&_<=1541||_==1757||_==1807||_==2274||_==3406||_==69821||70082<=_&&_<=70083||_==72250||72326<=_&&_<=72329||_==73030?p:_==13?e:_==10?t:0<=_&&_<=9||11<=_&&_<=12||14<=_&&_<=31||127<=_&&_<=159||_==173||_==1564||_==6158||_==8203||8206<=_&&_<=8207||_==8232||_==8233||8234<=_&&_<=8238||8288<=_&&_<=8292||_==8293||8294<=_&&_<=8303||55296<=_&&_<=57343||_==65279||65520<=_&&_<=65528||65529<=_&&_<=65531||113824<=_&&_<=113827||119155<=_&&_<=119162||_==917504||_==917505||917506<=_&&_<=917535||917632<=_&&_<=917759||918e3<=_&&_<=921599?n:768<=_&&_<=879||1155<=_&&_<=1159||1160<=_&&_<=1161||1425<=_&&_<=1469||_==1471||1473<=_&&_<=1474||1476<=_&&_<=1477||_==1479||1552<=_&&_<=1562||1611<=_&&_<=1631||_==1648||1750<=_&&_<=1756||1759<=_&&_<=1764||1767<=_&&_<=1768||1770<=_&&_<=1773||_==1809||1840<=_&&_<=1866||1958<=_&&_<=1968||2027<=_&&_<=2035||2070<=_&&_<=2073||2075<=_&&_<=2083||2085<=_&&_<=2087||2089<=_&&_<=2093||2137<=_&&_<=2139||2260<=_&&_<=2273||2275<=_&&_<=2306||_==2362||_==2364||2369<=_&&_<=2376||_==2381||2385<=_&&_<=2391||2402<=_&&_<=2403||_==2433||_==2492||_==2494||2497<=_&&_<=2500||_==2509||_==2519||2530<=_&&_<=2531||2561<=_&&_<=2562||_==2620||2625<=_&&_<=2626||2631<=_&&_<=2632||2635<=_&&_<=2637||_==2641||2672<=_&&_<=2673||_==2677||2689<=_&&_<=2690||_==2748||2753<=_&&_<=2757||2759<=_&&_<=2760||_==2765||2786<=_&&_<=2787||2810<=_&&_<=2815||_==2817||_==2876||_==2878||_==2879||2881<=_&&_<=2884||_==2893||_==2902||_==2903||2914<=_&&_<=2915||_==2946||_==3006||_==3008||_==3021||_==3031||_==3072||3134<=_&&_<=3136||3142<=_&&_<=3144||3146<=_&&_<=3149||3157<=_&&_<=3158||3170<=_&&_<=3171||_==3201||_==3260||_==3263||_==3266||_==3270||3276<=_&&_<=3277||3285<=_&&_<=3286||3298<=_&&_<=3299||3328<=_&&_<=3329||3387<=_&&_<=3388||_==3390||3393<=_&&_<=3396||_==3405||_==3415||3426<=_&&_<=3427||_==3530||_==3535||3538<=_&&_<=3540||_==3542||_==3551||_==3633||3636<=_&&_<=3642||3655<=_&&_<=3662||_==3761||3764<=_&&_<=3769||3771<=_&&_<=3772||3784<=_&&_<=3789||3864<=_&&_<=3865||_==3893||_==3895||_==3897||3953<=_&&_<=3966||3968<=_&&_<=3972||3974<=_&&_<=3975||3981<=_&&_<=3991||3993<=_&&_<=4028||_==4038||4141<=_&&_<=4144||4146<=_&&_<=4151||4153<=_&&_<=4154||4157<=_&&_<=4158||4184<=_&&_<=4185||4190<=_&&_<=4192||4209<=_&&_<=4212||_==4226||4229<=_&&_<=4230||_==4237||_==4253||4957<=_&&_<=4959||5906<=_&&_<=5908||5938<=_&&_<=5940||5970<=_&&_<=5971||6002<=_&&_<=6003||6068<=_&&_<=6069||6071<=_&&_<=6077||_==6086||6089<=_&&_<=6099||_==6109||6155<=_&&_<=6157||6277<=_&&_<=6278||_==6313||6432<=_&&_<=6434||6439<=_&&_<=6440||_==6450||6457<=_&&_<=6459||6679<=_&&_<=6680||_==6683||_==6742||6744<=_&&_<=6750||_==6752||_==6754||6757<=_&&_<=6764||6771<=_&&_<=6780||_==6783||6832<=_&&_<=6845||_==6846||6912<=_&&_<=6915||_==6964||6966<=_&&_<=6970||_==6972||_==6978||7019<=_&&_<=7027||7040<=_&&_<=7041||7074<=_&&_<=7077||7080<=_&&_<=7081||7083<=_&&_<=7085||_==7142||7144<=_&&_<=7145||_==7149||7151<=_&&_<=7153||7212<=_&&_<=7219||7222<=_&&_<=7223||7376<=_&&_<=7378||7380<=_&&_<=7392||7394<=_&&_<=7400||_==7405||_==7412||7416<=_&&_<=7417||7616<=_&&_<=7673||7675<=_&&_<=7679||_==8204||8400<=_&&_<=8412||8413<=_&&_<=8416||_==8417||8418<=_&&_<=8420||8421<=_&&_<=8432||11503<=_&&_<=11505||_==11647||11744<=_&&_<=11775||12330<=_&&_<=12333||12334<=_&&_<=12335||12441<=_&&_<=12442||_==42607||42608<=_&&_<=42610||42612<=_&&_<=42621||42654<=_&&_<=42655||42736<=_&&_<=42737||_==43010||_==43014||_==43019||43045<=_&&_<=43046||43204<=_&&_<=43205||43232<=_&&_<=43249||43302<=_&&_<=43309||43335<=_&&_<=43345||43392<=_&&_<=43394||_==43443||43446<=_&&_<=43449||_==43452||_==43493||43561<=_&&_<=43566||43569<=_&&_<=43570||43573<=_&&_<=43574||_==43587||_==43596||_==43644||_==43696||43698<=_&&_<=43700||43703<=_&&_<=43704||43710<=_&&_<=43711||_==43713||43756<=_&&_<=43757||_==43766||_==44005||_==44008||_==44013||_==64286||65024<=_&&_<=65039||65056<=_&&_<=65071||65438<=_&&_<=65439||_==66045||_==66272||66422<=_&&_<=66426||68097<=_&&_<=68099||68101<=_&&_<=68102||68108<=_&&_<=68111||68152<=_&&_<=68154||_==68159||68325<=_&&_<=68326||_==69633||69688<=_&&_<=69702||69759<=_&&_<=69761||69811<=_&&_<=69814||69817<=_&&_<=69818||69888<=_&&_<=69890||69927<=_&&_<=69931||69933<=_&&_<=69940||_==70003||70016<=_&&_<=70017||70070<=_&&_<=70078||70090<=_&&_<=70092||70191<=_&&_<=70193||_==70196||70198<=_&&_<=70199||_==70206||_==70367||70371<=_&&_<=70378||70400<=_&&_<=70401||_==70460||_==70462||_==70464||_==70487||70502<=_&&_<=70508||70512<=_&&_<=70516||70712<=_&&_<=70719||70722<=_&&_<=70724||_==70726||_==70832||70835<=_&&_<=70840||_==70842||_==70845||70847<=_&&_<=70848||70850<=_&&_<=70851||_==71087||71090<=_&&_<=71093||71100<=_&&_<=71101||71103<=_&&_<=71104||71132<=_&&_<=71133||71219<=_&&_<=71226||_==71229||71231<=_&&_<=71232||_==71339||_==71341||71344<=_&&_<=71349||_==71351||71453<=_&&_<=71455||71458<=_&&_<=71461||71463<=_&&_<=71467||72193<=_&&_<=72198||72201<=_&&_<=72202||72243<=_&&_<=72248||72251<=_&&_<=72254||_==72263||72273<=_&&_<=72278||72281<=_&&_<=72283||72330<=_&&_<=72342||72344<=_&&_<=72345||72752<=_&&_<=72758||72760<=_&&_<=72765||_==72767||72850<=_&&_<=72871||72874<=_&&_<=72880||72882<=_&&_<=72883||72885<=_&&_<=72886||73009<=_&&_<=73014||_==73018||73020<=_&&_<=73021||73023<=_&&_<=73029||_==73031||92912<=_&&_<=92916||92976<=_&&_<=92982||94095<=_&&_<=94098||113821<=_&&_<=113822||_==119141||119143<=_&&_<=119145||119150<=_&&_<=119154||119163<=_&&_<=119170||119173<=_&&_<=119179||119210<=_&&_<=119213||119362<=_&&_<=119364||121344<=_&&_<=121398||121403<=_&&_<=121452||_==121461||_==121476||121499<=_&&_<=121503||121505<=_&&_<=121519||122880<=_&&_<=122886||122888<=_&&_<=122904||122907<=_&&_<=122913||122915<=_&&_<=122916||122918<=_&&_<=122922||125136<=_&&_<=125142||125252<=_&&_<=125258||917536<=_&&_<=917631||917760<=_&&_<=917999?i:127462<=_&&_<=127487?o:_==2307||_==2363||2366<=_&&_<=2368||2377<=_&&_<=2380||2382<=_&&_<=2383||2434<=_&&_<=2435||2495<=_&&_<=2496||2503<=_&&_<=2504||2507<=_&&_<=2508||_==2563||2622<=_&&_<=2624||_==2691||2750<=_&&_<=2752||_==2761||2763<=_&&_<=2764||2818<=_&&_<=2819||_==2880||2887<=_&&_<=2888||2891<=_&&_<=2892||_==3007||3009<=_&&_<=3010||3014<=_&&_<=3016||3018<=_&&_<=3020||3073<=_&&_<=3075||3137<=_&&_<=3140||3202<=_&&_<=3203||_==3262||3264<=_&&_<=3265||3267<=_&&_<=3268||3271<=_&&_<=3272||3274<=_&&_<=3275||3330<=_&&_<=3331||3391<=_&&_<=3392||3398<=_&&_<=3400||3402<=_&&_<=3404||3458<=_&&_<=3459||3536<=_&&_<=3537||3544<=_&&_<=3550||3570<=_&&_<=3571||_==3635||_==3763||3902<=_&&_<=3903||_==3967||_==4145||4155<=_&&_<=4156||4182<=_&&_<=4183||_==4228||_==6070||6078<=_&&_<=6085||6087<=_&&_<=6088||6435<=_&&_<=6438||6441<=_&&_<=6443||6448<=_&&_<=6449||6451<=_&&_<=6456||6681<=_&&_<=6682||_==6741||_==6743||6765<=_&&_<=6770||_==6916||_==6965||_==6971||6973<=_&&_<=6977||6979<=_&&_<=6980||_==7042||_==7073||7078<=_&&_<=7079||_==7082||_==7143||7146<=_&&_<=7148||_==7150||7154<=_&&_<=7155||7204<=_&&_<=7211||7220<=_&&_<=7221||_==7393||7410<=_&&_<=7411||_==7415||43043<=_&&_<=43044||_==43047||43136<=_&&_<=43137||43188<=_&&_<=43203||43346<=_&&_<=43347||_==43395||43444<=_&&_<=43445||43450<=_&&_<=43451||43453<=_&&_<=43456||43567<=_&&_<=43568||43571<=_&&_<=43572||_==43597||_==43755||43758<=_&&_<=43759||_==43765||44003<=_&&_<=44004||44006<=_&&_<=44007||44009<=_&&_<=44010||_==44012||_==69632||_==69634||_==69762||69808<=_&&_<=69810||69815<=_&&_<=69816||_==69932||_==70018||70067<=_&&_<=70069||70079<=_&&_<=70080||70188<=_&&_<=70190||70194<=_&&_<=70195||_==70197||70368<=_&&_<=70370||70402<=_&&_<=70403||_==70463||70465<=_&&_<=70468||70471<=_&&_<=70472||70475<=_&&_<=70477||70498<=_&&_<=70499||70709<=_&&_<=70711||70720<=_&&_<=70721||_==70725||70833<=_&&_<=70834||_==70841||70843<=_&&_<=70844||_==70846||_==70849||71088<=_&&_<=71089||71096<=_&&_<=71099||_==71102||71216<=_&&_<=71218||71227<=_&&_<=71228||_==71230||_==71340||71342<=_&&_<=71343||_==71350||71456<=_&&_<=71457||_==71462||72199<=_&&_<=72200||_==72249||72279<=_&&_<=72280||_==72343||_==72751||_==72766||_==72873||_==72881||_==72884||94033<=_&&_<=94078||_==119142||_==119149?r:4352<=_&&_<=4447||43360<=_&&_<=43388?s:4448<=_&&_<=4519||55216<=_&&_<=55238?a:4520<=_&&_<=4607||55243<=_&&_<=55291?c:_==44032||_==44060||_==44088||_==44116||_==44144||_==44172||_==44200||_==44228||_==44256||_==44284||_==44312||_==44340||_==44368||_==44396||_==44424||_==44452||_==44480||_==44508||_==44536||_==44564||_==44592||_==44620||_==44648||_==44676||_==44704||_==44732||_==44760||_==44788||_==44816||_==44844||_==44872||_==44900||_==44928||_==44956||_==44984||_==45012||_==45040||_==45068||_==45096||_==45124||_==45152||_==45180||_==45208||_==45236||_==45264||_==45292||_==45320||_==45348||_==45376||_==45404||_==45432||_==45460||_==45488||_==45516||_==45544||_==45572||_==45600||_==45628||_==45656||_==45684||_==45712||_==45740||_==45768||_==45796||_==45824||_==45852||_==45880||_==45908||_==45936||_==45964||_==45992||_==46020||_==46048||_==46076||_==46104||_==46132||_==46160||_==46188||_==46216||_==46244||_==46272||_==46300||_==46328||_==46356||_==46384||_==46412||_==46440||_==46468||_==46496||_==46524||_==46552||_==46580||_==46608||_==46636||_==46664||_==46692||_==46720||_==46748||_==46776||_==46804||_==46832||_==46860||_==46888||_==46916||_==46944||_==46972||_==47e3||_==47028||_==47056||_==47084||_==47112||_==47140||_==47168||_==47196||_==47224||_==47252||_==47280||_==47308||_==47336||_==47364||_==47392||_==47420||_==47448||_==47476||_==47504||_==47532||_==47560||_==47588||_==47616||_==47644||_==47672||_==47700||_==47728||_==47756||_==47784||_==47812||_==47840||_==47868||_==47896||_==47924||_==47952||_==47980||_==48008||_==48036||_==48064||_==48092||_==48120||_==48148||_==48176||_==48204||_==48232||_==48260||_==48288||_==48316||_==48344||_==48372||_==48400||_==48428||_==48456||_==48484||_==48512||_==48540||_==48568||_==48596||_==48624||_==48652||_==48680||_==48708||_==48736||_==48764||_==48792||_==48820||_==48848||_==48876||_==48904||_==48932||_==48960||_==48988||_==49016||_==49044||_==49072||_==49100||_==49128||_==49156||_==49184||_==49212||_==49240||_==49268||_==49296||_==49324||_==49352||_==49380||_==49408||_==49436||_==49464||_==49492||_==49520||_==49548||_==49576||_==49604||_==49632||_==49660||_==49688||_==49716||_==49744||_==49772||_==49800||_==49828||_==49856||_==49884||_==49912||_==49940||_==49968||_==49996||_==50024||_==50052||_==50080||_==50108||_==50136||_==50164||_==50192||_==50220||_==50248||_==50276||_==50304||_==50332||_==50360||_==50388||_==50416||_==50444||_==50472||_==50500||_==50528||_==50556||_==50584||_==50612||_==50640||_==50668||_==50696||_==50724||_==50752||_==50780||_==50808||_==50836||_==50864||_==50892||_==50920||_==50948||_==50976||_==51004||_==51032||_==51060||_==51088||_==51116||_==51144||_==51172||_==51200||_==51228||_==51256||_==51284||_==51312||_==51340||_==51368||_==51396||_==51424||_==51452||_==51480||_==51508||_==51536||_==51564||_==51592||_==51620||_==51648||_==51676||_==51704||_==51732||_==51760||_==51788||_==51816||_==51844||_==51872||_==51900||_==51928||_==51956||_==51984||_==52012||_==52040||_==52068||_==52096||_==52124||_==52152||_==52180||_==52208||_==52236||_==52264||_==52292||_==52320||_==52348||_==52376||_==52404||_==52432||_==52460||_==52488||_==52516||_==52544||_==52572||_==52600||_==52628||_==52656||_==52684||_==52712||_==52740||_==52768||_==52796||_==52824||_==52852||_==52880||_==52908||_==52936||_==52964||_==52992||_==53020||_==53048||_==53076||_==53104||_==53132||_==53160||_==53188||_==53216||_==53244||_==53272||_==53300||_==53328||_==53356||_==53384||_==53412||_==53440||_==53468||_==53496||_==53524||_==53552||_==53580||_==53608||_==53636||_==53664||_==53692||_==53720||_==53748||_==53776||_==53804||_==53832||_==53860||_==53888||_==53916||_==53944||_==53972||_==54e3||_==54028||_==54056||_==54084||_==54112||_==54140||_==54168||_==54196||_==54224||_==54252||_==54280||_==54308||_==54336||_==54364||_==54392||_==54420||_==54448||_==54476||_==54504||_==54532||_==54560||_==54588||_==54616||_==54644||_==54672||_==54700||_==54728||_==54756||_==54784||_==54812||_==54840||_==54868||_==54896||_==54924||_==54952||_==54980||_==55008||_==55036||_==55064||_==55092||_==55120||_==55148||_==55176?u:44033<=_&&_<=44059||44061<=_&&_<=44087||44089<=_&&_<=44115||44117<=_&&_<=44143||44145<=_&&_<=44171||44173<=_&&_<=44199||44201<=_&&_<=44227||44229<=_&&_<=44255||44257<=_&&_<=44283||44285<=_&&_<=44311||44313<=_&&_<=44339||44341<=_&&_<=44367||44369<=_&&_<=44395||44397<=_&&_<=44423||44425<=_&&_<=44451||44453<=_&&_<=44479||44481<=_&&_<=44507||44509<=_&&_<=44535||44537<=_&&_<=44563||44565<=_&&_<=44591||44593<=_&&_<=44619||44621<=_&&_<=44647||44649<=_&&_<=44675||44677<=_&&_<=44703||44705<=_&&_<=44731||44733<=_&&_<=44759||44761<=_&&_<=44787||44789<=_&&_<=44815||44817<=_&&_<=44843||44845<=_&&_<=44871||44873<=_&&_<=44899||44901<=_&&_<=44927||44929<=_&&_<=44955||44957<=_&&_<=44983||44985<=_&&_<=45011||45013<=_&&_<=45039||45041<=_&&_<=45067||45069<=_&&_<=45095||45097<=_&&_<=45123||45125<=_&&_<=45151||45153<=_&&_<=45179||45181<=_&&_<=45207||45209<=_&&_<=45235||45237<=_&&_<=45263||45265<=_&&_<=45291||45293<=_&&_<=45319||45321<=_&&_<=45347||45349<=_&&_<=45375||45377<=_&&_<=45403||45405<=_&&_<=45431||45433<=_&&_<=45459||45461<=_&&_<=45487||45489<=_&&_<=45515||45517<=_&&_<=45543||45545<=_&&_<=45571||45573<=_&&_<=45599||45601<=_&&_<=45627||45629<=_&&_<=45655||45657<=_&&_<=45683||45685<=_&&_<=45711||45713<=_&&_<=45739||45741<=_&&_<=45767||45769<=_&&_<=45795||45797<=_&&_<=45823||45825<=_&&_<=45851||45853<=_&&_<=45879||45881<=_&&_<=45907||45909<=_&&_<=45935||45937<=_&&_<=45963||45965<=_&&_<=45991||45993<=_&&_<=46019||46021<=_&&_<=46047||46049<=_&&_<=46075||46077<=_&&_<=46103||46105<=_&&_<=46131||46133<=_&&_<=46159||46161<=_&&_<=46187||46189<=_&&_<=46215||46217<=_&&_<=46243||46245<=_&&_<=46271||46273<=_&&_<=46299||46301<=_&&_<=46327||46329<=_&&_<=46355||46357<=_&&_<=46383||46385<=_&&_<=46411||46413<=_&&_<=46439||46441<=_&&_<=46467||46469<=_&&_<=46495||46497<=_&&_<=46523||46525<=_&&_<=46551||46553<=_&&_<=46579||46581<=_&&_<=46607||46609<=_&&_<=46635||46637<=_&&_<=46663||46665<=_&&_<=46691||46693<=_&&_<=46719||46721<=_&&_<=46747||46749<=_&&_<=46775||46777<=_&&_<=46803||46805<=_&&_<=46831||46833<=_&&_<=46859||46861<=_&&_<=46887||46889<=_&&_<=46915||46917<=_&&_<=46943||46945<=_&&_<=46971||46973<=_&&_<=46999||47001<=_&&_<=47027||47029<=_&&_<=47055||47057<=_&&_<=47083||47085<=_&&_<=47111||47113<=_&&_<=47139||47141<=_&&_<=47167||47169<=_&&_<=47195||47197<=_&&_<=47223||47225<=_&&_<=47251||47253<=_&&_<=47279||47281<=_&&_<=47307||47309<=_&&_<=47335||47337<=_&&_<=47363||47365<=_&&_<=47391||47393<=_&&_<=47419||47421<=_&&_<=47447||47449<=_&&_<=47475||47477<=_&&_<=47503||47505<=_&&_<=47531||47533<=_&&_<=47559||47561<=_&&_<=47587||47589<=_&&_<=47615||47617<=_&&_<=47643||47645<=_&&_<=47671||47673<=_&&_<=47699||47701<=_&&_<=47727||47729<=_&&_<=47755||47757<=_&&_<=47783||47785<=_&&_<=47811||47813<=_&&_<=47839||47841<=_&&_<=47867||47869<=_&&_<=47895||47897<=_&&_<=47923||47925<=_&&_<=47951||47953<=_&&_<=47979||47981<=_&&_<=48007||48009<=_&&_<=48035||48037<=_&&_<=48063||48065<=_&&_<=48091||48093<=_&&_<=48119||48121<=_&&_<=48147||48149<=_&&_<=48175||48177<=_&&_<=48203||48205<=_&&_<=48231||48233<=_&&_<=48259||48261<=_&&_<=48287||48289<=_&&_<=48315||48317<=_&&_<=48343||48345<=_&&_<=48371||48373<=_&&_<=48399||48401<=_&&_<=48427||48429<=_&&_<=48455||48457<=_&&_<=48483||48485<=_&&_<=48511||48513<=_&&_<=48539||48541<=_&&_<=48567||48569<=_&&_<=48595||48597<=_&&_<=48623||48625<=_&&_<=48651||48653<=_&&_<=48679||48681<=_&&_<=48707||48709<=_&&_<=48735||48737<=_&&_<=48763||48765<=_&&_<=48791||48793<=_&&_<=48819||48821<=_&&_<=48847||48849<=_&&_<=48875||48877<=_&&_<=48903||48905<=_&&_<=48931||48933<=_&&_<=48959||48961<=_&&_<=48987||48989<=_&&_<=49015||49017<=_&&_<=49043||49045<=_&&_<=49071||49073<=_&&_<=49099||49101<=_&&_<=49127||49129<=_&&_<=49155||49157<=_&&_<=49183||49185<=_&&_<=49211||49213<=_&&_<=49239||49241<=_&&_<=49267||49269<=_&&_<=49295||49297<=_&&_<=49323||49325<=_&&_<=49351||49353<=_&&_<=49379||49381<=_&&_<=49407||49409<=_&&_<=49435||49437<=_&&_<=49463||49465<=_&&_<=49491||49493<=_&&_<=49519||49521<=_&&_<=49547||49549<=_&&_<=49575||49577<=_&&_<=49603||49605<=_&&_<=49631||49633<=_&&_<=49659||49661<=_&&_<=49687||49689<=_&&_<=49715||49717<=_&&_<=49743||49745<=_&&_<=49771||49773<=_&&_<=49799||49801<=_&&_<=49827||49829<=_&&_<=49855||49857<=_&&_<=49883||49885<=_&&_<=49911||49913<=_&&_<=49939||49941<=_&&_<=49967||49969<=_&&_<=49995||49997<=_&&_<=50023||50025<=_&&_<=50051||50053<=_&&_<=50079||50081<=_&&_<=50107||50109<=_&&_<=50135||50137<=_&&_<=50163||50165<=_&&_<=50191||50193<=_&&_<=50219||50221<=_&&_<=50247||50249<=_&&_<=50275||50277<=_&&_<=50303||50305<=_&&_<=50331||50333<=_&&_<=50359||50361<=_&&_<=50387||50389<=_&&_<=50415||50417<=_&&_<=50443||50445<=_&&_<=50471||50473<=_&&_<=50499||50501<=_&&_<=50527||50529<=_&&_<=50555||50557<=_&&_<=50583||50585<=_&&_<=50611||50613<=_&&_<=50639||50641<=_&&_<=50667||50669<=_&&_<=50695||50697<=_&&_<=50723||50725<=_&&_<=50751||50753<=_&&_<=50779||50781<=_&&_<=50807||50809<=_&&_<=50835||50837<=_&&_<=50863||50865<=_&&_<=50891||50893<=_&&_<=50919||50921<=_&&_<=50947||50949<=_&&_<=50975||50977<=_&&_<=51003||51005<=_&&_<=51031||51033<=_&&_<=51059||51061<=_&&_<=51087||51089<=_&&_<=51115||51117<=_&&_<=51143||51145<=_&&_<=51171||51173<=_&&_<=51199||51201<=_&&_<=51227||51229<=_&&_<=51255||51257<=_&&_<=51283||51285<=_&&_<=51311||51313<=_&&_<=51339||51341<=_&&_<=51367||51369<=_&&_<=51395||51397<=_&&_<=51423||51425<=_&&_<=51451||51453<=_&&_<=51479||51481<=_&&_<=51507||51509<=_&&_<=51535||51537<=_&&_<=51563||51565<=_&&_<=51591||51593<=_&&_<=51619||51621<=_&&_<=51647||51649<=_&&_<=51675||51677<=_&&_<=51703||51705<=_&&_<=51731||51733<=_&&_<=51759||51761<=_&&_<=51787||51789<=_&&_<=51815||51817<=_&&_<=51843||51845<=_&&_<=51871||51873<=_&&_<=51899||51901<=_&&_<=51927||51929<=_&&_<=51955||51957<=_&&_<=51983||51985<=_&&_<=52011||52013<=_&&_<=52039||52041<=_&&_<=52067||52069<=_&&_<=52095||52097<=_&&_<=52123||52125<=_&&_<=52151||52153<=_&&_<=52179||52181<=_&&_<=52207||52209<=_&&_<=52235||52237<=_&&_<=52263||52265<=_&&_<=52291||52293<=_&&_<=52319||52321<=_&&_<=52347||52349<=_&&_<=52375||52377<=_&&_<=52403||52405<=_&&_<=52431||52433<=_&&_<=52459||52461<=_&&_<=52487||52489<=_&&_<=52515||52517<=_&&_<=52543||52545<=_&&_<=52571||52573<=_&&_<=52599||52601<=_&&_<=52627||52629<=_&&_<=52655||52657<=_&&_<=52683||52685<=_&&_<=52711||52713<=_&&_<=52739||52741<=_&&_<=52767||52769<=_&&_<=52795||52797<=_&&_<=52823||52825<=_&&_<=52851||52853<=_&&_<=52879||52881<=_&&_<=52907||52909<=_&&_<=52935||52937<=_&&_<=52963||52965<=_&&_<=52991||52993<=_&&_<=53019||53021<=_&&_<=53047||53049<=_&&_<=53075||53077<=_&&_<=53103||53105<=_&&_<=53131||53133<=_&&_<=53159||53161<=_&&_<=53187||53189<=_&&_<=53215||53217<=_&&_<=53243||53245<=_&&_<=53271||53273<=_&&_<=53299||53301<=_&&_<=53327||53329<=_&&_<=53355||53357<=_&&_<=53383||53385<=_&&_<=53411||53413<=_&&_<=53439||53441<=_&&_<=53467||53469<=_&&_<=53495||53497<=_&&_<=53523||53525<=_&&_<=53551||53553<=_&&_<=53579||53581<=_&&_<=53607||53609<=_&&_<=53635||53637<=_&&_<=53663||53665<=_&&_<=53691||53693<=_&&_<=53719||53721<=_&&_<=53747||53749<=_&&_<=53775||53777<=_&&_<=53803||53805<=_&&_<=53831||53833<=_&&_<=53859||53861<=_&&_<=53887||53889<=_&&_<=53915||53917<=_&&_<=53943||53945<=_&&_<=53971||53973<=_&&_<=53999||54001<=_&&_<=54027||54029<=_&&_<=54055||54057<=_&&_<=54083||54085<=_&&_<=54111||54113<=_&&_<=54139||54141<=_&&_<=54167||54169<=_&&_<=54195||54197<=_&&_<=54223||54225<=_&&_<=54251||54253<=_&&_<=54279||54281<=_&&_<=54307||54309<=_&&_<=54335||54337<=_&&_<=54363||54365<=_&&_<=54391||54393<=_&&_<=54419||54421<=_&&_<=54447||54449<=_&&_<=54475||54477<=_&&_<=54503||54505<=_&&_<=54531||54533<=_&&_<=54559||54561<=_&&_<=54587||54589<=_&&_<=54615||54617<=_&&_<=54643||54645<=_&&_<=54671||54673<=_&&_<=54699||54701<=_&&_<=54727||54729<=_&&_<=54755||54757<=_&&_<=54783||54785<=_&&_<=54811||54813<=_&&_<=54839||54841<=_&&_<=54867||54869<=_&&_<=54895||54897<=_&&_<=54923||54925<=_&&_<=54951||54953<=_&&_<=54979||54981<=_&&_<=55007||55009<=_&&_<=55035||55037<=_&&_<=55063||55065<=_&&_<=55091||55093<=_&&_<=55119||55121<=_&&_<=55147||55149<=_&&_<=55175||55177<=_&&_<=55203?f:_==9757||_==9977||9994<=_&&_<=9997||_==127877||127938<=_&&_<=127940||_==127943||127946<=_&&_<=127948||128066<=_&&_<=128067||128070<=_&&_<=128080||_==128110||128112<=_&&_<=128120||_==128124||128129<=_&&_<=128131||128133<=_&&_<=128135||_==128170||128372<=_&&_<=128373||_==128378||_==128400||128405<=_&&_<=128406||128581<=_&&_<=128583||128587<=_&&_<=128591||_==128675||128692<=_&&_<=128694||_==128704||_==128716||129304<=_&&_<=129308||129310<=_&&_<=129311||_==129318||129328<=_&&_<=129337||129341<=_&&_<=129342||129489<=_&&_<=129501?g:127995<=_&&_<=127999?m:_==8205?x:_==9792||_==9794||9877<=_&&_<=9878||_==9992||_==10084||_==127752||_==127806||_==127859||_==127891||_==127908||_==127912||_==127979||_==127981||_==128139||128187<=_&&_<=128188||_==128295||_==128300||_==128488||_==128640||_==128658?b:128102<=_&&_<=128105?T:d}return this}typeof mz<"u"&&mz.exports&&(mz.exports=sje)});var ome=Qn((Q7,J7)=>{(function(e,t){typeof Q7=="object"&&typeof J7<"u"?J7.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.RBush=t())})(Q7,function(){"use strict";function e(C,E,v,D,O){t(C,E,v||0,D||C.length-1,O||i)}function t(C,E,v,D,O){for(;D>v;){if(D-v>600){var R=D-v+1,M=E-v+1,N=Math.log(R),_=.5*Math.exp(2*N/3),S=.5*Math.sqrt(N*_*(R-_)/R)*(M-R/2<0?-1:1),w=Math.max(v,Math.floor(E-M*_/R+S)),I=Math.min(D,Math.floor(E+(R-M)*_/R+S));t(C,E,w,I,O)}var L=C[E],B=v,U=D;for(n(C,v,E),O(C[D],L)>0&&n(C,v,D);B<U;){for(n(C,B,U),B++,U--;O(C[B],L)<0;)B++;for(;O(C[U],L)>0;)U--}O(C[v],L)===0?n(C,v,U):(U++,n(C,U,D)),U<=E&&(v=U+1),E<=U&&(D=U-1)}}function n(C,E,v){var D=C[E];C[E]=C[v],C[v]=D}function i(C,E){return C<E?-1:C>E?1:0}var o=function(E){E===void 0&&(E=9),this._maxEntries=Math.max(4,E),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};o.prototype.all=function(){return this._all(this.data,[])},o.prototype.search=function(E){var v=this.data,D=[];if(!b(E,v))return D;for(var O=this.toBBox,R=[];v;){for(var M=0;M<v.children.length;M++){var N=v.children[M],_=v.leaf?O(N):N;b(E,_)&&(v.leaf?D.push(N):x(E,_)?this._all(N,D):R.push(N))}v=R.pop()}return D},o.prototype.collides=function(E){var v=this.data;if(!b(E,v))return!1;for(var D=[];v;){for(var O=0;O<v.children.length;O++){var R=v.children[O],M=v.leaf?this.toBBox(R):R;if(b(E,M)){if(v.leaf||x(E,M))return!0;D.push(R)}}v=D.pop()}return!1},o.prototype.load=function(E){if(!(E&&E.length))return this;if(E.length<this._minEntries){for(var v=0;v<E.length;v++)this.insert(E[v]);return this}var D=this._build(E.slice(),0,E.length-1,0);if(!this.data.children.length)this.data=D;else if(this.data.height===D.height)this._splitRoot(this.data,D);else{if(this.data.height<D.height){var O=this.data;this.data=D,D=O}this._insert(D,this.data.height-D.height-1,!0)}return this},o.prototype.insert=function(E){return E&&this._insert(E,this.data.height-1),this},o.prototype.clear=function(){return this.data=T([]),this},o.prototype.remove=function(E,v){if(!E)return this;for(var D=this.data,O=this.toBBox(E),R=[],M=[],N,_,S;D||R.length;){if(D||(D=R.pop(),_=R[R.length-1],N=M.pop(),S=!0),D.leaf){var w=r(E,D.children,v);if(w!==-1)return D.children.splice(w,1),R.push(D),this._condense(R),this}!S&&!D.leaf&&x(D,O)?(R.push(D),M.push(N),N=0,_=D,D=D.children[0]):_?(N++,D=_.children[N],S=!1):D=null}return this},o.prototype.toBBox=function(E){return E},o.prototype.compareMinX=function(E,v){return E.minX-v.minX},o.prototype.compareMinY=function(E,v){return E.minY-v.minY},o.prototype.toJSON=function(){return this.data},o.prototype.fromJSON=function(E){return this.data=E,this},o.prototype._all=function(E,v){for(var D=[];E;)E.leaf?v.push.apply(v,E.children):D.push.apply(D,E.children),E=D.pop();return v},o.prototype._build=function(E,v,D,O){var R=D-v+1,M=this._maxEntries,N;if(R<=M)return N=T(E.slice(v,D+1)),s(N,this.toBBox),N;O||(O=Math.ceil(Math.log(R)/Math.log(M)),M=Math.ceil(R/Math.pow(M,O-1))),N=T([]),N.leaf=!1,N.height=O;var _=Math.ceil(R/M),S=_*Math.ceil(Math.sqrt(M));A(E,v,D,S,this.compareMinX);for(var w=v;w<=D;w+=S){var I=Math.min(w+S-1,D);A(E,w,I,_,this.compareMinY);for(var L=w;L<=I;L+=_){var B=Math.min(L+_-1,I);N.children.push(this._build(E,L,B,O-1))}}return s(N,this.toBBox),N},o.prototype._chooseSubtree=function(E,v,D,O){for(;O.push(v),!(v.leaf||O.length-1===D);){for(var R=1/0,M=1/0,N=void 0,_=0;_<v.children.length;_++){var S=v.children[_],w=d(S),I=g(E,S)-w;I<M?(M=I,R=w<R?w:R,N=S):I===M&&w<R&&(R=w,N=S)}v=N||v.children[0]}return v},o.prototype._insert=function(E,v,D){var O=D?E:this.toBBox(E),R=[],M=this._chooseSubtree(O,this.data,v,R);for(M.children.push(E),c(M,O);v>=0&&R[v].children.length>this._maxEntries;)this._split(R,v),v--;this._adjustParentBBoxes(O,R,v)},o.prototype._split=function(E,v){var D=E[v],O=D.children.length,R=this._minEntries;this._chooseSplitAxis(D,R,O);var M=this._chooseSplitIndex(D,R,O),N=T(D.children.splice(M,D.children.length-M));N.height=D.height,N.leaf=D.leaf,s(D,this.toBBox),s(N,this.toBBox),v?E[v-1].children.push(N):this._splitRoot(D,N)},o.prototype._splitRoot=function(E,v){this.data=T([E,v]),this.data.height=E.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},o.prototype._chooseSplitIndex=function(E,v,D){for(var O,R=1/0,M=1/0,N=v;N<=D-v;N++){var _=a(E,0,N,this.toBBox),S=a(E,N,D,this.toBBox),w=m(_,S),I=d(_)+d(S);w<R?(R=w,O=N,M=I<M?I:M):w===R&&I<M&&(M=I,O=N)}return O||D-v},o.prototype._chooseSplitAxis=function(E,v,D){var O=E.leaf?this.compareMinX:u,R=E.leaf?this.compareMinY:f,M=this._allDistMargin(E,v,D,O),N=this._allDistMargin(E,v,D,R);M<N&&E.children.sort(O)},o.prototype._allDistMargin=function(E,v,D,O){E.children.sort(O);for(var R=this.toBBox,M=a(E,0,v,R),N=a(E,D-v,D,R),_=p(M)+p(N),S=v;S<D-v;S++){var w=E.children[S];c(M,E.leaf?R(w):w),_+=p(M)}for(var I=D-v-1;I>=v;I--){var L=E.children[I];c(N,E.leaf?R(L):L),_+=p(N)}return _},o.prototype._adjustParentBBoxes=function(E,v,D){for(var O=D;O>=0;O--)c(v[O],E)},o.prototype._condense=function(E){for(var v=E.length-1,D=void 0;v>=0;v--)E[v].children.length===0?v>0?(D=E[v-1].children,D.splice(D.indexOf(E[v]),1)):this.clear():s(E[v],this.toBBox)};function r(C,E,v){if(!v)return E.indexOf(C);for(var D=0;D<E.length;D++)if(v(C,E[D]))return D;return-1}function s(C,E){a(C,0,C.children.length,E,C)}function a(C,E,v,D,O){O||(O=T(null)),O.minX=1/0,O.minY=1/0,O.maxX=-1/0,O.maxY=-1/0;for(var R=E;R<v;R++){var M=C.children[R];c(O,C.leaf?D(M):M)}return O}function c(C,E){return C.minX=Math.min(C.minX,E.minX),C.minY=Math.min(C.minY,E.minY),C.maxX=Math.max(C.maxX,E.maxX),C.maxY=Math.max(C.maxY,E.maxY),C}function u(C,E){return C.minX-E.minX}function f(C,E){return C.minY-E.minY}function d(C){return(C.maxX-C.minX)*(C.maxY-C.minY)}function p(C){return C.maxX-C.minX+(C.maxY-C.minY)}function g(C,E){return(Math.max(E.maxX,C.maxX)-Math.min(E.minX,C.minX))*(Math.max(E.maxY,C.maxY)-Math.min(E.minY,C.minY))}function m(C,E){var v=Math.max(C.minX,E.minX),D=Math.max(C.minY,E.minY),O=Math.min(C.maxX,E.maxX),R=Math.min(C.maxY,E.maxY);return Math.max(0,O-v)*Math.max(0,R-D)}function x(C,E){return C.minX<=E.minX&&C.minY<=E.minY&&E.maxX<=C.maxX&&E.maxY<=C.maxY}function b(C,E){return E.minX<=C.maxX&&E.minY<=C.maxY&&E.maxX>=C.minX&&E.maxY>=C.minY}function T(C){return{children:C,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function A(C,E,v,D,O){for(var R=[E,v];R.length;)if(v=R.pop(),E=R.pop(),!(v-E<=D)){var M=E+Math.ceil((v-E)/D/2)*D;e(C,M,E,v,O),R.push(E,M,M,v)}}return o})});var b_e=Qn((cH,x_e)=>{(function(e,t){typeof cH=="object"&&typeof x_e<"u"?t(cH):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.topojson=e.topojson||{}))})(cH,function(e){"use strict";function t(C){return C}function n(C){if(C==null)return t;var E,v,D=C.scale[0],O=C.scale[1],R=C.translate[0],M=C.translate[1];return function(N,_){_||(E=v=0);var S=2,w=N.length,I=new Array(w);for(I[0]=(E+=N[0])*D+R,I[1]=(v+=N[1])*O+M;S<w;)I[S]=N[S],++S;return I}}function i(C){var E=n(C.transform),v,D=1/0,O=D,R=-D,M=-D;function N(S){S=E(S),S[0]<D&&(D=S[0]),S[0]>R&&(R=S[0]),S[1]<O&&(O=S[1]),S[1]>M&&(M=S[1])}function _(S){switch(S.type){case"GeometryCollection":S.geometries.forEach(_);break;case"Point":N(S.coordinates);break;case"MultiPoint":S.coordinates.forEach(N);break}}C.arcs.forEach(function(S){for(var w=-1,I=S.length,L;++w<I;)L=E(S[w],w),L[0]<D&&(D=L[0]),L[0]>R&&(R=L[0]),L[1]<O&&(O=L[1]),L[1]>M&&(M=L[1])});for(v in C.objects)_(C.objects[v]);return[D,O,R,M]}function o(C,E){for(var v,D=C.length,O=D-E;O<--D;)v=C[O],C[O++]=C[D],C[D]=v}function r(C,E){return typeof E=="string"&&(E=C.objects[E]),E.type==="GeometryCollection"?{type:"FeatureCollection",features:E.geometries.map(function(v){return s(C,v)})}:s(C,E)}function s(C,E){var v=E.id,D=E.bbox,O=E.properties==null?{}:E.properties,R=a(C,E);return v==null&&D==null?{type:"Feature",properties:O,geometry:R}:D==null?{type:"Feature",id:v,properties:O,geometry:R}:{type:"Feature",id:v,bbox:D,properties:O,geometry:R}}function a(C,E){var v=n(C.transform),D=C.arcs;function O(w,I){I.length&&I.pop();for(var L=D[w<0?~w:w],B=0,U=L.length;B<U;++B)I.push(v(L[B],B));w<0&&o(I,U)}function R(w){return v(w)}function M(w){for(var I=[],L=0,B=w.length;L<B;++L)O(w[L],I);return I.length<2&&I.push(I[0]),I}function N(w){for(var I=M(w);I.length<4;)I.push(I[0]);return I}function _(w){return w.map(N)}function S(w){var I=w.type,L;switch(I){case"GeometryCollection":return{type:I,geometries:w.geometries.map(S)};case"Point":L=R(w.coordinates);break;case"MultiPoint":L=w.coordinates.map(R);break;case"LineString":L=M(w.arcs);break;case"MultiLineString":L=w.arcs.map(M);break;case"Polygon":L=_(w.arcs);break;case"MultiPolygon":L=w.arcs.map(_);break;default:return null}return{type:I,coordinates:L}}return S(E)}function c(C,E){var v={},D={},O={},R=[],M=-1;E.forEach(function(S,w){var I=C.arcs[S<0?~S:S],L;I.length<3&&!I[1][0]&&!I[1][1]&&(L=E[++M],E[M]=S,E[w]=L)}),E.forEach(function(S){var w=N(S),I=w[0],L=w[1],B,U;if(B=O[I])if(delete O[B.end],B.push(S),B.end=L,U=D[L]){delete D[U.start];var V=U===B?B:B.concat(U);D[V.start=B.start]=O[V.end=U.end]=V}else D[B.start]=O[B.end]=B;else if(B=D[L])if(delete D[B.start],B.unshift(S),B.start=I,U=O[I]){delete O[U.end];var G=U===B?B:U.concat(B);D[G.start=U.start]=O[G.end=B.end]=G}else D[B.start]=O[B.end]=B;else B=[S],D[B.start=I]=O[B.end=L]=B});function N(S){var w=C.arcs[S<0?~S:S],I=w[0],L;return C.transform?(L=[0,0],w.forEach(function(B){L[0]+=B[0],L[1]+=B[1]})):L=w[w.length-1],S<0?[L,I]:[I,L]}function _(S,w){for(var I in S){var L=S[I];delete w[L.start],delete L.start,delete L.end,L.forEach(function(B){v[B<0?~B:B]=1}),R.push(L)}}return _(O,D),_(D,O),E.forEach(function(S){v[S<0?~S:S]||R.push([S])}),R}function u(C){return a(C,f.apply(this,arguments))}function f(C,E,v){var D,O,R;if(arguments.length>1)D=d(C,E,v);else for(O=0,D=new Array(R=C.arcs.length);O<R;++O)D[O]=O;return{type:"MultiLineString",arcs:c(C,D)}}function d(C,E,v){var D=[],O=[],R;function M(I){var L=I<0?~I:I;(O[L]||(O[L]=[])).push({i:I,g:R})}function N(I){I.forEach(M)}function _(I){I.forEach(N)}function S(I){I.forEach(_)}function w(I){switch(R=I,I.type){case"GeometryCollection":I.geometries.forEach(w);break;case"LineString":N(I.arcs);break;case"MultiLineString":case"Polygon":_(I.arcs);break;case"MultiPolygon":S(I.arcs);break}}return w(E),O.forEach(v==null?function(I){D.push(I[0].i)}:function(I){v(I[0].g,I[I.length-1].g)&&D.push(I[0].i)}),D}function p(C){for(var E=-1,v=C.length,D,O=C[v-1],R=0;++E<v;)D=O,O=C[E],R+=D[0]*O[1]-D[1]*O[0];return Math.abs(R)}function g(C){return a(C,m.apply(this,arguments))}function m(C,E){var v={},D=[],O=[];E.forEach(R);function R(_){switch(_.type){case"GeometryCollection":_.geometries.forEach(R);break;case"Polygon":M(_.arcs);break;case"MultiPolygon":_.arcs.forEach(M);break}}function M(_){_.forEach(function(S){S.forEach(function(w){(v[w=w<0?~w:w]||(v[w]=[])).push(_)})}),D.push(_)}function N(_){return p(a(C,{type:"Polygon",arcs:[_]}).coordinates[0])}return D.forEach(function(_){if(!_._){var S=[],w=[_];for(_._=1,O.push(S);_=w.pop();)S.push(_),_.forEach(function(I){I.forEach(function(L){v[L<0?~L:L].forEach(function(B){B._||(B._=1,w.push(B))})})})}}),D.forEach(function(_){delete _._}),{type:"MultiPolygon",arcs:O.map(function(_){var S=[],w;if(_.forEach(function(V){V.forEach(function(G){G.forEach(function(k){v[k<0?~k:k].length<2&&S.push(k)})})}),S=c(C,S),(w=S.length)>1)for(var I=1,L=N(S[0]),B,U;I<w;++I)(B=N(S[I]))>L&&(U=S[0],S[0]=S[I],S[I]=U,L=B);return S}).filter(function(_){return _.length>0})}}function x(C,E){for(var v=0,D=C.length;v<D;){var O=v+D>>>1;C[O]<E?v=O+1:D=O}return v}function b(C){var E={},v=C.map(function(){return[]});function D(V,G){V.forEach(function(k){k<0&&(k=~k);var Y=E[k];Y?Y.push(G):E[k]=[G]})}function O(V,G){V.forEach(function(k){D(k,G)})}function R(V,G){V.type==="GeometryCollection"?V.geometries.forEach(function(k){R(k,G)}):V.type in M&&M[V.type](V.arcs,G)}var M={LineString:D,MultiLineString:O,Polygon:O,MultiPolygon:function(V,G){V.forEach(function(k){O(k,G)})}};C.forEach(R);for(var N in E)for(var _=E[N],S=_.length,w=0;w<S;++w)for(var I=w+1;I<S;++I){var L=_[w],B=_[I],U;(U=v[L])[N=x(U,B)]!==B&&U.splice(N,0,B),(U=v[B])[N=x(U,L)]!==L&&U.splice(N,0,L)}return v}function T(C){if(C==null)return t;var E,v,D=C.scale[0],O=C.scale[1],R=C.translate[0],M=C.translate[1];return function(N,_){_||(E=v=0);var S=2,w=N.length,I=new Array(w),L=Math.round((N[0]-R)/D),B=Math.round((N[1]-M)/O);for(I[0]=L-E,E=L,I[1]=B-v,v=B;S<w;)I[S]=N[S],++S;return I}}function A(C,E){if(C.transform)throw new Error("already quantized");if(!E||!E.scale){if(!((M=Math.floor(E))>=2))throw new Error("n must be \u22652");_=C.bbox||i(C);var v=_[0],D=_[1],O=_[2],R=_[3],M;E={scale:[O-v?(O-v)/(M-1):1,R-D?(R-D)/(M-1):1],translate:[v,D]}}else _=C.bbox;var N=T(E),_,S,w=C.objects,I={};function L(V){return N(V)}function B(V){var G;switch(V.type){case"GeometryCollection":G={type:"GeometryCollection",geometries:V.geometries.map(B)};break;case"Point":G={type:"Point",coordinates:L(V.coordinates)};break;case"MultiPoint":G={type:"MultiPoint",coordinates:V.coordinates.map(L)};break;default:return V}return V.id!=null&&(G.id=V.id),V.bbox!=null&&(G.bbox=V.bbox),V.properties!=null&&(G.properties=V.properties),G}function U(V){var G=0,k=1,Y=V.length,W,Q=new Array(Y);for(Q[0]=N(V[0],0);++G<Y;)((W=N(V[G],G))[0]||W[1])&&(Q[k++]=W);return k===1&&(Q[k++]=[0,0]),Q.length=k,Q}for(S in w)I[S]=B(w[S]);return{type:"Topology",bbox:_,transform:E,objects:I,arcs:C.arcs.map(U)}}e.bbox=i,e.feature=r,e.merge=g,e.mergeArcs=m,e.mesh=u,e.meshArcs=f,e.neighbors=b,e.quantize=A,e.transform=n,e.untransform=T,Object.defineProperty(e,"__esModule",{value:!0})})});var U_e=Qn(fH=>{"use strict";Object.defineProperty(fH,"__esModule",{value:!0});fH.version=void 0;fH.version="4.0.0"});var IS=Qn(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.assertNever=Ac.removeWithPredicate=Ac.remove=Ac.ellipsis=Ac.defaults=Ac.isBoolean=Ac.isUndefined=void 0;function z_e(e){return e===void 0}Ac.isUndefined=z_e;function wit(e){return typeof e=="boolean"}Ac.isBoolean=wit;function Dit(e,t){for(var n in t)t.hasOwnProperty(n)&&z_e(e[n])&&(e[n]=t[n]);return e}Ac.defaults=Dit;function Iit(e,t,n){var i;return e.length>t&&(n==null?(n="…",i=3):i=n.length,e=e.substring(0,t-i)+n),e}Ac.ellipsis=Iit;function Pit(e,t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)}Ac.remove=Pit;function Rit(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}Ac.removeWithPredicate=Rit;function Oit(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}Ac.assertNever=Oit});var TT=Qn(wi=>{"use strict";Object.defineProperty(wi,"__esModule",{value:!0});wi.alphaNumericAndMarksRe=wi.alphaNumericAndMarksCharsStr=wi.alphaNumericCharsRe=wi.decimalNumbersStr=wi.alphaCharsAndMarksStr=wi.marksStr=wi.emojiStr=wi.alphaCharsStr=wi.controlCharsRe=wi.quoteRe=wi.whitespaceRe=wi.nonDigitRe=wi.digitRe=wi.letterRe=void 0;wi.letterRe=/[A-Za-z]/;wi.digitRe=/[\d]/;wi.nonDigitRe=/[\D]/;wi.whitespaceRe=/\s/;wi.quoteRe=/['"]/;wi.controlCharsRe=/[\x00-\x1F\x7F]/;wi.alphaCharsStr=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source;wi.emojiStr=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source;wi.marksStr=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source;wi.alphaCharsAndMarksStr=wi.alphaCharsStr+wi.emojiStr+wi.marksStr;wi.decimalNumbersStr=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source;wi.alphaNumericCharsRe=new RegExp("[".concat(wi.alphaCharsStr+wi.decimalNumbersStr,"]"));wi.alphaNumericAndMarksCharsStr=wi.alphaCharsAndMarksStr+wi.decimalNumbersStr;wi.alphaNumericAndMarksRe=new RegExp("[".concat(wi.alphaNumericAndMarksCharsStr,"]"))});var mH=Qn(hH=>{"use strict";Object.defineProperty(hH,"__esModule",{value:!0});hH.HtmlTag=void 0;var dH=TT(),Mit=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=n?n.split(dH.whitespaceRe):[],o=t.split(dH.whitespaceRe),r;r=o.shift();)i.indexOf(r)===-1&&i.push(r);return this.getAttrs().class=i.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=n?n.split(dH.whitespaceRe):[],o=t.split(dH.whitespaceRe),r;i.length&&(r=o.shift());){var s=i.indexOf(r);s!==-1&&i.splice(s,1)}return this.getAttrs().class=i.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),"</",t,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();hH.HtmlTag=Mit});var H_e=Qn(pH=>{"use strict";Object.defineProperty(pH,"__esModule",{value:!0});pH.truncateSmart=void 0;function Lit(e,t,n){var i,o;n==null?(n="…",o=3,i=8):(o=n.length,i=n.length);var r=function(A){var C={},E=A,v=E.match(/^([a-z]+):\/\//i);return v&&(C.scheme=v[1],E=E.substr(v[0].length)),v=E.match(/^(.*?)(?=(\?|#|\/|$))/i),v&&(C.host=v[1],E=E.substr(v[0].length)),v=E.match(/^\/(.*?)(?=(\?|#|$))/i),v&&(C.path=v[1],E=E.substr(v[0].length)),v=E.match(/^\?(.*?)(?=(#|$))/i),v&&(C.query=v[1],E=E.substr(v[0].length)),v=E.match(/^#(.*?)$/i),v&&(C.fragment=v[1]),C},s=function(A){var C="";return A.scheme&&A.host&&(C+=A.scheme+"://"),A.host&&(C+=A.host),A.path&&(C+="/"+A.path),A.query&&(C+="?"+A.query),A.fragment&&(C+="#"+A.fragment),C},a=function(A,C){var E=C/2,v=Math.ceil(E),D=-1*Math.floor(E),O="";return D<0&&(O=A.substr(D)),A.substr(0,v)+n+O};if(e.length<=t)return e;var c=t-o,u=r(e);if(u.query){var f=u.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);f&&(u.query=u.query.substr(0,f[1].length),e=s(u))}if(e.length<=t||(u.host&&(u.host=u.host.replace(/^www\./,""),e=s(u)),e.length<=t))return e;var d="";if(u.host&&(d+=u.host),d.length>=c)return u.host.length==t?(u.host.substr(0,t-o)+n).substr(0,c+i):a(d,c).substr(0,c+i);var p="";if(u.path&&(p+="/"+u.path),u.query&&(p+="?"+u.query),p)if((d+p).length>=c){if((d+p).length==t)return(d+p).substr(0,t);var g=c-d.length;return(d+a(p,g)).substr(0,c+i)}else d+=p;if(u.fragment){var m="#"+u.fragment;if((d+m).length>=c){if((d+m).length==t)return(d+m).substr(0,t);var x=c-d.length;return(d+a(m,x)).substr(0,c+i)}else d+=m}if(u.scheme&&u.host){var b=u.scheme+"://";if((d+b).length<c)return(b+d).substr(0,t)}if(d.length<=t)return d;var T="";return c>0&&(T=d.substr(-1*Math.floor(c/2))),(d.substr(0,Math.ceil(c/2))+n+T).substr(0,c+i)}pH.truncateSmart=Lit});var G_e=Qn(_H=>{"use strict";Object.defineProperty(_H,"__esModule",{value:!0});_H.truncateMiddle=void 0;function Nit(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="…",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}_H.truncateMiddle=Nit});var W_e=Qn(gH=>{"use strict";Object.defineProperty(gH,"__esModule",{value:!0});gH.truncateEnd=void 0;var Fit=IS();function Bit(e,t,n){return(0,Fit.ellipsis)(e,t,n)}gH.truncateEnd=Bit});var gY=Qn(yH=>{"use strict";Object.defineProperty(yH,"__esModule",{value:!0});yH.AnchorTagBuilder=void 0;var kit=mH(),Vit=H_e(),Uit=G_e(),zit=W_e(),Hit=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new kit.HtmlTag({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<t.getAnchorText().length&&(n.title=t.getAnchorHref()),n},e.prototype.createCssClass=function(t){var n=this.className;if(n){for(var i=[n],o=t.getCssClassSuffixes(),r=0,s=o.length;r<s;r++)i.push(n+"-"+o[r]);return i.join(" ")}else return""},e.prototype.processAnchorText=function(t){return t=this.doTruncate(t),t},e.prototype.doTruncate=function(t){var n=this.truncate;if(!n||!n.length)return t;var i=n.length,o=n.location;return o==="smart"?(0,Vit.truncateSmart)(t,i):o==="middle"?(0,Uit.truncateMiddle)(t,i):(0,zit.truncateEnd)(t,i)},e}();yH.AnchorTagBuilder=Hit});var Fm={};SQ(Fm,{__addDisposableResource:()=>fge,__assign:()=>xH,__asyncDelegator:()=>ige,__asyncGenerator:()=>nge,__asyncValues:()=>oge,__await:()=>PS,__awaiter:()=>Z_e,__classPrivateFieldGet:()=>cge,__classPrivateFieldIn:()=>uge,__classPrivateFieldSet:()=>lge,__createBinding:()=>TH,__decorate:()=>Y_e,__disposeResources:()=>dge,__esDecorate:()=>Git,__exportStar:()=>Q_e,__extends:()=>j_e,__generator:()=>$_e,__importDefault:()=>age,__importStar:()=>sge,__makeTemplateObject:()=>rge,__metadata:()=>K_e,__param:()=>X_e,__propKey:()=>jit,__read:()=>xY,__rest:()=>q_e,__runInitializers:()=>Wit,__setFunctionName:()=>qit,__spread:()=>J_e,__spreadArray:()=>tge,__spreadArrays:()=>ege,__values:()=>bH,default:()=>Kit});function j_e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");yY(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function q_e(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]]);return n}function Y_e(e,t,n,i){var o=arguments.length,r=o<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,n):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,n,r):s(t,n))||r);return o>3&&r&&Object.defineProperty(t,n,r),r}function X_e(e,t){return function(n,i){t(n,i,e)}}function Git(e,t,n,i,o,r){function s(T){if(T!==void 0&&typeof T!="function")throw new TypeError("Function expected");return T}for(var a=i.kind,c=a==="getter"?"get":a==="setter"?"set":"value",u=!t&&e?i.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,i.name):{}),d,p=!1,g=n.length-1;g>=0;g--){var m={};for(var x in i)m[x]=x==="access"?{}:i[x];for(var x in i.access)m.access[x]=i.access[x];m.addInitializer=function(T){if(p)throw new TypeError("Cannot add initializers after decoration has completed");r.push(s(T||null))};var b=(0,n[g])(a==="accessor"?{get:f.get,set:f.set}:f[c],m);if(a==="accessor"){if(b===void 0)continue;if(b===null||typeof b!="object")throw new TypeError("Object expected");(d=s(b.get))&&(f.get=d),(d=s(b.set))&&(f.set=d),(d=s(b.init))&&o.unshift(d)}else(d=s(b))&&(a==="field"?o.unshift(d):f[c]=d)}u&&Object.defineProperty(u,i.name,f),p=!0}function Wit(e,t,n){for(var i=arguments.length>2,o=0;o<t.length;o++)n=i?t[o].call(e,n):t[o].call(e);return i?n:void 0}function jit(e){return typeof e=="symbol"?e:"".concat(e)}function qit(e,t,n){return typeof t=="symbol"&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function K_e(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}function Z_e(e,t,n,i){function o(r){return r instanceof n?r:new n(function(s){s(r)})}return new(n||(n=Promise))(function(r,s){function a(f){try{u(i.next(f))}catch(d){s(d)}}function c(f){try{u(i.throw(f))}catch(d){s(d)}}function u(f){f.done?r(f.value):o(f.value).then(a,c)}u((i=i.apply(e,t||[])).next())})}function $_e(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(f){return c([u,f])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(n=0)),n;)try{if(i=1,o&&(r=u[0]&2?o.return:u[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,u[1])).done)return r;switch(o=0,r&&(u=[u[0]&2,r.value]),u[0]){case 0:case 1:r=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(r=n.trys,!(r=r.length>0&&r[r.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!r||u[1]>r[0]&&u[1]<r[3])){n.label=u[1];break}if(u[0]===6&&n.label<r[1]){n.label=r[1],r=u;break}if(r&&n.label<r[2]){n.label=r[2],n.ops.push(u);break}r[2]&&n.ops.pop(),n.trys.pop();continue}u=t.call(e,n)}catch(f){u=[6,f],o=0}finally{i=r=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Q_e(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&TH(t,e,n)}function bH(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function xY(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var i=n.call(e),o,r=[],s;try{for(;(t===void 0||t-- >0)&&!(o=i.next()).done;)r.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}return r}function J_e(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(xY(arguments[t]));return e}function ege(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var i=Array(e),o=0,t=0;t<n;t++)for(var r=arguments[t],s=0,a=r.length;s<a;s++,o++)i[o]=r[s];return i}function tge(e,t,n){if(n||arguments.length===2)for(var i=0,o=t.length,r;i<o;i++)(r||!(i in t))&&(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function PS(e){return this instanceof PS?(this.v=e,this):new PS(e)}function nge(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n.apply(e,t||[]),o,r=[];return o={},a("next"),a("throw"),a("return",s),o[Symbol.asyncIterator]=function(){return this},o;function s(g){return function(m){return Promise.resolve(m).then(g,d)}}function a(g,m){i[g]&&(o[g]=function(x){return new Promise(function(b,T){r.push([g,x,b,T])>1||c(g,x)})},m&&(o[g]=m(o[g])))}function c(g,m){try{u(i[g](m))}catch(x){p(r[0][3],x)}}function u(g){g.value instanceof PS?Promise.resolve(g.value.v).then(f,d):p(r[0][2],g)}function f(g){c("next",g)}function d(g){c("throw",g)}function p(g,m){g(m),r.shift(),r.length&&c(r[0][0],r[0][1])}}function ige(e){var t,n;return t={},i("next"),i("throw",function(o){throw o}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(o,r){t[o]=e[o]?function(s){return(n=!n)?{value:PS(e[o](s)),done:!1}:r?r(s):s}:r}}function oge(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof bH=="function"?bH(e):e[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(r){n[r]=e[r]&&function(s){return new Promise(function(a,c){s=e[r](s),o(a,c,s.done,s.value)})}}function o(r,s,a,c){Promise.resolve(c).then(function(u){r({value:u,done:a})},s)}}function rge(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function sge(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&TH(t,e,n);return Yit(t,e),t}function age(e){return e&&e.__esModule?e:{default:e}}function cge(e,t,n,i){if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?i:n==="a"?i.call(e):i?i.value:t.get(e)}function lge(e,t,n,i,o){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n}function uge(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function fge(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var i,o;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(i===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose],n&&(o=i)}if(typeof i!="function")throw new TypeError("Object not disposable.");o&&(i=function(){try{o.call(this)}catch(r){return Promise.reject(r)}}),e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t}function dge(e){function t(i){e.error=e.hasError?new Xit(i,e.error,"An error was suppressed during disposal."):i,e.hasError=!0}function n(){for(;e.stack.length;){var i=e.stack.pop();try{var o=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(o).then(n,function(r){return t(r),n()})}catch(r){t(r)}}if(e.hasError)throw e.error}return n()}var yY,xH,TH,Yit,Xit,Kit,Bm=hEe(()=>{yY=function(e,t){return yY=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])},yY(e,t)};xH=function(){return xH=Object.assign||function(t){for(var n,i=1,o=arguments.length;i<o;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},xH.apply(this,arguments)};TH=Object.create?function(e,t,n,i){i===void 0&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){i===void 0&&(i=n),e[i]=t[n]};Yit=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};Xit=typeof SuppressedError=="function"?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i};Kit={__extends:j_e,__assign:xH,__rest:q_e,__decorate:Y_e,__param:X_e,__metadata:K_e,__awaiter:Z_e,__generator:$_e,__createBinding:TH,__exportStar:Q_e,__values:bH,__read:xY,__spread:J_e,__spreadArrays:ege,__spreadArray:tge,__await:PS,__asyncGenerator:nge,__asyncDelegator:ige,__asyncValues:oge,__makeTemplateObject:rge,__importStar:sge,__importDefault:age,__classPrivateFieldGet:cge,__classPrivateFieldSet:lge,__classPrivateFieldIn:uge,__addDisposableResource:fge,__disposeResources:dge}});var CT=Qn(CH=>{"use strict";Object.defineProperty(CH,"__esModule",{value:!0});CH.AbstractMatch=void 0;var Zit=function(){function e(t){this._=null,this.matchedText="",this.offset=0,this.tagBuilder=t.tagBuilder,this.matchedText=t.matchedText,this.offset=t.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(t){this.offset=t},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.type]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}();CH.AbstractMatch=Zit});var hge=Qn(AT=>{"use strict";Object.defineProperty(AT,"__esModule",{value:!0});AT.tldRegex=AT.tldRegexStr=void 0;AT.tldRegexStr="(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|verm\xF6gensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|verm\xF6gensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|\u043A\u0430\u0442\u043E\u043B\u0438\u043A|\u0627\u062A\u0635\u0627\u0644\u0627\u062A|\u0627\u0644\u0628\u062D\u0631\u064A\u0646|\u0627\u0644\u062C\u0632\u0627\u0626\u0631|\u0627\u0644\u0639\u0644\u064A\u0627\u0646|\u067E\u0627\u06A9\u0633\u062A\u0627\u0646|\u0643\u0627\u062B\u0648\u0644\u064A\u0643|\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|\u043C\u043E\u0441\u043A\u0432\u0430|\u043E\u043D\u043B\u0430\u0439\u043D|\u0627\u0628\u0648\u0638\u0628\u064A|\u0627\u0631\u0627\u0645\u0643\u0648|\u0627\u0644\u0627\u0631\u062F\u0646|\u0627\u0644\u0645\u063A\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062A|\u0641\u0644\u0633\u0637\u064A\u0646|\u0645\u0644\u064A\u0633\u064A\u0627|\u092D\u093E\u0930\u0924\u092E\u094D|\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8|\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|\u05D9\u05E9\u05E8\u05D0\u05DC|\u0627\u06CC\u0631\u0627\u0646|\u0628\u0627\u0632\u0627\u0631|\u0628\u06BE\u0627\u0631\u062A|\u0633\u0648\u062F\u0627\u0646|\u0633\u0648\u0631\u064A\u0629|\u0647\u0645\u0631\u0627\u0647|\u092D\u093E\u0930\u094B\u0924|\u0938\u0902\u0917\u0920\u0928|\u09AC\u09BE\u0982\u09B2\u09BE|\u0C2D\u0C3E\u0C30\u0C24\u0C4D|\u0D2D\u0D3E\u0D30\u0D24\u0D02|\u5609\u91CC\u5927\u9152\u5E97|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|\u0434\u0435\u0442\u0438|\u0441\u0430\u0439\u0442|\u0628\u0627\u0631\u062A|\u0628\u064A\u062A\u0643|\u0680\u0627\u0631\u062A|\u062A\u0648\u0646\u0633|\u0634\u0628\u0643\u0629|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0645\u0648\u0642\u0639|\u092D\u093E\u0930\u0924|\u09AD\u09BE\u09B0\u09A4|\u09AD\u09BE\u09F0\u09A4|\u0A2D\u0A3E\u0A30\u0A24|\u0AAD\u0ABE\u0AB0\u0AA4|\u0B2D\u0B3E\u0B30\u0B24|\u0CAD\u0CBE\u0CB0\u0CA4|\u0DBD\u0D82\u0D9A\u0DCF|\u30A2\u30DE\u30BE\u30F3|\u30B0\u30FC\u30B0\u30EB|\u30AF\u30E9\u30A6\u30C9|\u30DD\u30A4\u30F3\u30C8|\u7EC4\u7EC7\u673A\u6784|\u96FB\u8A0A\u76C8\u79D1|\u9999\u683C\u91CC\u62C9|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|\u0431\u0435\u043B|\u043A\u043E\u043C|\u049B\u0430\u0437|\u043C\u043A\u0434|\u043C\u043E\u043D|\u043E\u0440\u0433|\u0440\u0443\u0441|\u0441\u0440\u0431|\u0443\u043A\u0440|\u0570\u0561\u0575|\u05E7\u05D5\u05DD|\u0639\u0631\u0628|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0915\u0949\u092E|\u0928\u0947\u091F|\u0E04\u0E2D\u0E21|\u0E44\u0E17\u0E22|\u0EA5\u0EB2\u0EA7|\u30B9\u30C8\u30A2|\u30BB\u30FC\u30EB|\u307F\u3093\u306A|\u4E2D\u6587\u7F51|\u4E9A\u9A6C\u900A|\u5929\u4E3B\u6559|\u6211\u7231\u4F60|\u65B0\u52A0\u5761|\u6DE1\u9A6C\u9521|\u8BFA\u57FA\u4E9A|\u98DE\u5229\u6D66|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\u03B5\u03BB|\u03B5\u03C5|\u0431\u0433|\u0435\u044E|\u0440\u0444|\u10D2\u10D4|\uB2F7\uB137|\uB2F7\uCEF4|\uC0BC\uC131|\uD55C\uAD6D|\u30B3\u30E0|\u4E16\u754C|\u4E2D\u4FE1|\u4E2D\u56FD|\u4E2D\u570B|\u4F01\u4E1A|\u4F5B\u5C71|\u4FE1\u606F|\u5065\u5EB7|\u516B\u5366|\u516C\u53F8|\u516C\u76CA|\u53F0\u6E7E|\u53F0\u7063|\u5546\u57CE|\u5546\u5E97|\u5546\u6807|\u5609\u91CC|\u5728\u7EBF|\u5927\u62FF|\u5A31\u4E50|\u5BB6\u96FB|\u5E7F\u4E1C|\u5FAE\u535A|\u6148\u5584|\u624B\u673A|\u62DB\u8058|\u653F\u52A1|\u653F\u5E9C|\u65B0\u95FB|\u65F6\u5C1A|\u66F8\u7C4D|\u673A\u6784|\u6E38\u620F|\u6FB3\u9580|\u70B9\u770B|\u79FB\u52A8|\u7F51\u5740|\u7F51\u5E97|\u7F51\u7AD9|\u7F51\u7EDC|\u8054\u901A|\u8C37\u6B4C|\u8D2D\u7269|\u901A\u8CA9|\u96C6\u56E2|\u98DF\u54C1|\u9910\u5385|\u9999\u6E2F)";AT.tldRegex=new RegExp("^"+AT.tldRegexStr+"$")});var AH=Qn(Un=>{"use strict";Object.defineProperty(Un,"__esModule",{value:!0});Un.isValidIpV4Address=Un.isValidTldMatch=Un.isValidSchemeUrl=Un.isKnownTld=Un.isUrlSuffixStartChar=Un.isPathChar=Un.isDomainLabelChar=Un.isDomainLabelStartChar=Un.isSchemeChar=Un.isSchemeStartChar=Un.tldUrlHostRe=Un.schemeUrlRe=Un.invalidSchemeRe=Un.urlSuffixedCharsNotAllowedAtEndRe=Un.httpSchemePrefixRe=Un.httpSchemeRe=Un.urlSuffixNotAllowedAsLastCharRe=Un.urlSuffixAllowedSpecialCharsRe=Un.urlSuffixStartCharsRe=Un.domainNameCharRegex=void 0;var ET=TT(),$it=hge();Un.domainNameCharRegex=ET.alphaNumericAndMarksRe;Un.urlSuffixStartCharsRe=/[\/?#]/;Un.urlSuffixAllowedSpecialCharsRe=/[-+&@#/%=~_()|'$*\[\]{}\u2713]/;Un.urlSuffixNotAllowedAsLastCharRe=/[?!:,.;^]/;Un.httpSchemeRe=/https?:\/\//i;Un.httpSchemePrefixRe=new RegExp("^"+Un.httpSchemeRe.source,"i");Un.urlSuffixedCharsNotAllowedAtEndRe=new RegExp(Un.urlSuffixNotAllowedAsLastCharRe.source+"$");Un.invalidSchemeRe=/^(javascript|vbscript):/i;Un.schemeUrlRe=/^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/;Un.tldUrlHostRe=/^(?:\/\/)?([^/#?:]+)/;function Qit(e){return ET.letterRe.test(e)}Un.isSchemeStartChar=Qit;function Jit(e){return ET.letterRe.test(e)||ET.digitRe.test(e)||e==="+"||e==="-"||e==="."}Un.isSchemeChar=Jit;function mge(e){return ET.alphaNumericAndMarksRe.test(e)}Un.isDomainLabelStartChar=mge;function eot(e){return e==="_"||mge(e)}Un.isDomainLabelChar=eot;function tot(e){return ET.alphaNumericAndMarksRe.test(e)||Un.urlSuffixAllowedSpecialCharsRe.test(e)||Un.urlSuffixNotAllowedAsLastCharRe.test(e)}Un.isPathChar=tot;function not(e){return Un.urlSuffixStartCharsRe.test(e)}Un.isUrlSuffixStartChar=not;function pge(e){return $it.tldRegex.test(e.toLowerCase())}Un.isKnownTld=pge;function iot(e){if(Un.invalidSchemeRe.test(e))return!1;var t=e.match(Un.schemeUrlRe);if(!t)return!1;var n=!!t[1],i=t[2];return n?!0:!(i.indexOf(".")===-1||!ET.letterRe.test(i))}Un.isValidSchemeUrl=iot;function oot(e){var t=e.match(Un.tldUrlHostRe);if(!t)return!1;var n=t[0],i=n.split(".");if(i.length<2)return!1;var o=i[i.length-1];return!!pge(o)}Un.isValidTldMatch=oot;var rot=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,sot=/[:/?#]/;function aot(e){var t=e.split(sot,1)[0];return rot.test(t)}Un.isValidIpV4Address=aot});var bY=Qn(EH=>{"use strict";Object.defineProperty(EH,"__esModule",{value:!0});EH.UrlMatch=void 0;var cot=(Bm(),Gh(Fm)),lot=CT(),uot=AH(),fot=/^(https?:\/\/)?(www\.)?/i,dot=/^\/\//,hot=function(e){(0,cot.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="url",i.url="",i.urlMatchType="scheme",i.protocolRelativeMatch=!1,i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.protocolPrepended=!1,i.urlMatchType=n.urlMatchType,i.url=n.url,i.protocolRelativeMatch=n.protocolRelativeMatch,i.stripPrefix=n.stripPrefix,i.stripTrailingSlash=n.stripTrailingSlash,i.decodePercentEncoding=n.decodePercentEncoding,i}return t.prototype.getType=function(){return"url"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var n=this.url;return!this.protocolRelativeMatch&&this.urlMatchType!=="scheme"&&!this.protocolPrepended&&(n=this.url="http://"+n,this.protocolPrepended=!0),n},t.prototype.getAnchorHref=function(){var n=this.getUrl();return n.replace(/&/g,"&")},t.prototype.getAnchorText=function(){var n=this.getMatchedText();return this.protocolRelativeMatch&&(n=_ot(n)),this.stripPrefix.scheme&&(n=mot(n)),this.stripPrefix.www&&(n=pot(n)),this.stripTrailingSlash&&(n=got(n)),this.decodePercentEncoding&&(n=yot(n)),n},t}(lot.AbstractMatch);EH.UrlMatch=hot;function mot(e){return e.replace(uot.httpSchemePrefixRe,"")}function pot(e){return e.replace(fot,"$1")}function _ot(e){return e.replace(dot,"")}function got(e){return e.charAt(e.length-1)==="/"&&(e=e.slice(0,-1)),e}function yot(e){var t=e.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(t)}catch{return t}}});var gge=Qn(km=>{"use strict";Object.defineProperty(km,"__esModule",{value:!0});km.isValidEmail=km.isEmailLocalPartChar=km.isEmailLocalPartStartChar=km.mailtoSchemePrefixRe=void 0;var _ge=TT(),xot=AH();km.mailtoSchemePrefixRe=/^mailto:/i;var bot=new RegExp("[".concat(_ge.alphaNumericAndMarksCharsStr,"!#$%&'*+/=?^_`{|}~-]"));function Tot(e){return _ge.alphaNumericAndMarksRe.test(e)}km.isEmailLocalPartStartChar=Tot;function Cot(e){return bot.test(e)}km.isEmailLocalPartChar=Cot;function Aot(e){var t=e.split(".").pop()||"";return(0,xot.isKnownTld)(t)}km.isValidEmail=Aot});var TY=Qn(SH=>{"use strict";Object.defineProperty(SH,"__esModule",{value:!0});SH.EmailMatch=void 0;var Eot=(Bm(),Gh(Fm)),Sot=CT(),vot=function(e){(0,Eot.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="email",i.email="",i.email=n.email,i}return t.prototype.getType=function(){return"email"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return"mailto:"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(Sot.AbstractMatch);SH.EmailMatch=vot});var CY=Qn(f0=>{"use strict";Object.defineProperty(f0,"__esModule",{value:!0});f0.hashtagServices=f0.isValidHashtag=f0.isHashtagTextChar=void 0;var wot=TT();function Dot(e){return e==="_"||wot.alphaNumericAndMarksRe.test(e)}f0.isHashtagTextChar=Dot;function Iot(e){return e.length<=140}f0.isValidHashtag=Iot;f0.hashtagServices=["twitter","facebook","instagram","tiktok"]});var AY=Qn(vH=>{"use strict";Object.defineProperty(vH,"__esModule",{value:!0});vH.HashtagMatch=void 0;var Pot=(Bm(),Gh(Fm)),Rot=IS(),Oot=CT(),Mot=function(e){(0,Pot.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="hashtag",i.serviceName="twitter",i.hashtag="",i.serviceName=n.serviceName,i.hashtag=n.hashtag,i}return t.prototype.getType=function(){return"hashtag"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var n=this.serviceName,i=this.hashtag;switch(n){case"twitter":return"https://twitter.com/hashtag/"+i;case"facebook":return"https://www.facebook.com/hashtag/"+i;case"instagram":return"https://instagram.com/explore/tags/"+i;case"tiktok":return"https://www.tiktok.com/tag/"+i;default:throw(0,Rot.assertNever)(n),new Error("Invalid hashtag service: ".concat(n))}},t.prototype.getAnchorText=function(){return"#"+this.hashtag},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(Oot.AbstractMatch);vH.HashtagMatch=Mot});var EY=Qn(d0=>{"use strict";Object.defineProperty(d0,"__esModule",{value:!0});d0.mentionServices=d0.isValidMention=d0.isMentionTextChar=void 0;var Lot={twitter:/^@\w{1,15}$/,instagram:/^@[_\w]{1,30}$/,soundcloud:/^@[-a-z0-9_]{3,25}$/,tiktok:/^@[.\w]{1,23}[\w]$/},Not=/[-\w.]/;function Fot(e){return Not.test(e)}d0.isMentionTextChar=Fot;function Bot(e,t){var n=Lot[t];return n.test(e)}d0.isValidMention=Bot;d0.mentionServices=["twitter","instagram","soundcloud","tiktok"]});var SY=Qn(wH=>{"use strict";Object.defineProperty(wH,"__esModule",{value:!0});wH.MentionMatch=void 0;var kot=(Bm(),Gh(Fm)),Vot=CT(),Uot=function(e){(0,kot.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="mention",i.serviceName="twitter",i.mention="",i.mention=n.mention,i.serviceName=n.serviceName,i}return t.prototype.getType=function(){return"mention"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},t.prototype.getAnchorText=function(){return"@"+this.mention},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(Vot.AbstractMatch);wH.MentionMatch=Uot});var yge=Qn(h0=>{"use strict";Object.defineProperty(h0,"__esModule",{value:!0});h0.isValidPhoneNumber=h0.isPhoneNumberControlChar=h0.isPhoneNumberSeparatorChar=void 0;var zot=/[-. ]/,Hot=/[-. ()]/,Got=/[,;]/,Wot=/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/,jot=/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/,qot=new RegExp("^".concat(Wot.source,"|").concat(jot.source,"$"));function Yot(e){return zot.test(e)}h0.isPhoneNumberSeparatorChar=Yot;function Xot(e){return Got.test(e)}h0.isPhoneNumberControlChar=Xot;function Kot(e){var t=e.charAt(0)==="+"||Hot.test(e);return t&&qot.test(e)}h0.isValidPhoneNumber=Kot});var vY=Qn(DH=>{"use strict";Object.defineProperty(DH,"__esModule",{value:!0});DH.PhoneMatch=void 0;var Zot=(Bm(),Gh(Fm)),$ot=CT(),Qot=function(e){(0,Zot.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="phone",i.number="",i.plusSign=!1,i.number=n.number,i.plusSign=n.plusSign,i}return t.prototype.getType=function(){return"phone"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}($ot.AbstractMatch);DH.PhoneMatch=Qot});var OY=Qn(MS=>{"use strict";Object.defineProperty(MS,"__esModule",{value:!0});MS.excludeUnbalancedTrailingBracesAndPunctuation=MS.parseMatches=void 0;var Wa=TT(),Jot=bY(),vo=IS(),hr=AH(),RS=gge(),ert=TY(),wY=CY(),trt=AY(),DY=EY(),nrt=SY(),OS=yge(),irt=vY();function ort(e,t){for(var n=t.tagBuilder,i=t.stripPrefix,o=t.stripTrailingSlash,r=t.decodePercentEncoding,s=t.hashtagServiceName,a=t.mentionServiceName,c=[],u=e.length,f=[],d=0;d<u;d++){var p=e.charAt(d);if(f.length===0)b(p);else for(var g=f.length-1;g>=0;g--){var m=f[g];switch(m.state){case 11:D(m,p);break;case 12:O(m,p);break;case 0:T(m,p);break;case 1:A(m,p);break;case 2:C(m,p);break;case 3:E(m,p);break;case 4:v(m,p);break;case 5:R(m,p);break;case 6:M(m,p);break;case 7:N(m,p);break;case 13:_(m,p);break;case 14:S(m,p);break;case 8:w(m,p);break;case 9:I(m,p);break;case 10:L(m,p);break;case 15:B(m,p);break;case 16:U(m,p);break;case 17:V(m,p);break;case 18:G(m,p);break;case 19:k(m,p);break;case 20:Y(m,p);break;case 21:W(m,p);break;case 22:Q(m,p);break;case 23:j(m,p);break;case 24:Z(m,p);break;case 25:J(m,p);break;case 26:he(m,p);break;case 27:xe(m,p);break;case 28:re(m,p);break;case 29:_e(m,p);break;case 30:ye(m,p);break;case 31:De(m,p);break;case 32:Me(m,p);break;case 33:Oe(m,p);break;case 34:ct(m,p);break;case 35:Ke(m,p);break;case 36:_t(m,p);break;case 37:ve(m,p);break;case 38:Ze(m,p);break;case 39:Dt(m,p);break;case 40:gt(m,p);break;case 41:yt(m,p);break;default:(0,vo.assertNever)(m.state)}}}for(var x=f.length-1;x>=0;x--)f.forEach(function(Te){return Kt(Te)});return c;function b(Te){if(Te==="#")f.push(crt(d,28));else if(Te==="@")f.push(lrt(d,30));else if(Te==="/")f.push(PY(d,11));else if(Te==="+")f.push(RY(d,37));else if(Te==="(")f.push(RY(d,32));else{if(Wa.digitRe.test(Te)&&(f.push(RY(d,38)),f.push(srt(d,13))),(0,RS.isEmailLocalPartStartChar)(Te)){var Ae=Te.toLowerCase()==="m"?15:22;f.push(art(d,Ae))}(0,hr.isSchemeStartChar)(Te)&&f.push(IY(d,0)),Wa.alphaNumericAndMarksRe.test(Te)&&f.push(PY(d,5))}}function T(Te,Ae){Ae===":"?Te.state=2:Ae==="-"?Te.state=1:(0,hr.isSchemeChar)(Ae)||(0,vo.remove)(f,Te)}function A(Te,Ae){Ae==="-"||(Ae==="/"?((0,vo.remove)(f,Te),f.push(PY(d,11))):(0,hr.isSchemeChar)(Ae)?Te.state=0:(0,vo.remove)(f,Te))}function C(Te,Ae){Ae==="/"?Te.state=3:Ae==="."?(0,vo.remove)(f,Te):(0,hr.isDomainLabelStartChar)(Ae)?(Te.state=5,(0,hr.isSchemeStartChar)(Ae)&&f.push(IY(d,0))):(0,vo.remove)(f,Te)}function E(Te,Ae){Ae==="/"?Te.state=4:(0,hr.isPathChar)(Ae)?(Te.state=10,Te.acceptStateReached=!0):Kt(Te)}function v(Te,Ae){Ae==="/"?Te.state=10:(0,hr.isDomainLabelStartChar)(Ae)?(Te.state=5,Te.acceptStateReached=!0):(0,vo.remove)(f,Te)}function D(Te,Ae){Ae==="/"?Te.state=12:(0,vo.remove)(f,Te)}function O(Te,Ae){(0,hr.isDomainLabelStartChar)(Ae)?Te.state=5:(0,vo.remove)(f,Te)}function R(Te,Ae){Ae==="."?Te.state=7:Ae==="-"?Te.state=6:Ae===":"?Te.state=8:(0,hr.isUrlSuffixStartChar)(Ae)?Te.state=10:(0,hr.isDomainLabelChar)(Ae)||Kt(Te)}function M(Te,Ae){Ae==="-"||(Ae==="."?Kt(Te):(0,hr.isDomainLabelStartChar)(Ae)?Te.state=5:Kt(Te))}function N(Te,Ae){Ae==="."?Kt(Te):(0,hr.isDomainLabelStartChar)(Ae)?(Te.state=5,Te.acceptStateReached=!0):Kt(Te)}function _(Te,Ae){Ae==="."?Te.state=14:Ae===":"?Te.state=8:Wa.digitRe.test(Ae)||((0,hr.isUrlSuffixStartChar)(Ae)?Te.state=10:Wa.alphaNumericAndMarksRe.test(Ae)?(0,vo.remove)(f,Te):Kt(Te))}function S(Te,Ae){Wa.digitRe.test(Ae)?(Te.octetsEncountered++,Te.octetsEncountered===4&&(Te.acceptStateReached=!0),Te.state=13):Kt(Te)}function w(Te,Ae){Wa.digitRe.test(Ae)?Te.state=9:Kt(Te)}function I(Te,Ae){Wa.digitRe.test(Ae)||((0,hr.isUrlSuffixStartChar)(Ae)?Te.state=10:Kt(Te))}function L(Te,Ae){(0,hr.isPathChar)(Ae)||Kt(Te)}function B(Te,Ae){Ae.toLowerCase()==="a"?Te.state=16:Q(Te,Ae)}function U(Te,Ae){Ae.toLowerCase()==="i"?Te.state=17:Q(Te,Ae)}function V(Te,Ae){Ae.toLowerCase()==="l"?Te.state=18:Q(Te,Ae)}function G(Te,Ae){Ae.toLowerCase()==="t"?Te.state=19:Q(Te,Ae)}function k(Te,Ae){Ae.toLowerCase()==="o"?Te.state=20:Q(Te,Ae)}function Y(Te,Ae){Ae.toLowerCase()===":"?Te.state=21:Q(Te,Ae)}function W(Te,Ae){(0,RS.isEmailLocalPartChar)(Ae)?Te.state=22:(0,vo.remove)(f,Te)}function Q(Te,Ae){Ae==="."?Te.state=23:Ae==="@"?Te.state=24:(0,RS.isEmailLocalPartChar)(Ae)?Te.state=22:(0,vo.remove)(f,Te)}function j(Te,Ae){Ae==="."||Ae==="@"?(0,vo.remove)(f,Te):(0,RS.isEmailLocalPartChar)(Ae)?Te.state=22:(0,vo.remove)(f,Te)}function Z(Te,Ae){(0,hr.isDomainLabelStartChar)(Ae)?Te.state=25:(0,vo.remove)(f,Te)}function J(Te,Ae){Ae==="."?Te.state=27:Ae==="-"?Te.state=26:(0,hr.isDomainLabelChar)(Ae)||Kt(Te)}function he(Te,Ae){Ae==="-"||Ae==="."?Kt(Te):(0,hr.isDomainLabelChar)(Ae)?Te.state=25:Kt(Te)}function xe(Te,Ae){Ae==="."||Ae==="-"?Kt(Te):(0,hr.isDomainLabelStartChar)(Ae)?(Te.state=25,Te.acceptStateReached=!0):Kt(Te)}function re(Te,Ae){(0,wY.isHashtagTextChar)(Ae)?(Te.state=29,Te.acceptStateReached=!0):(0,vo.remove)(f,Te)}function _e(Te,Ae){(0,wY.isHashtagTextChar)(Ae)||Kt(Te)}function ye(Te,Ae){(0,DY.isMentionTextChar)(Ae)?(Te.state=31,Te.acceptStateReached=!0):(0,vo.remove)(f,Te)}function De(Te,Ae){(0,DY.isMentionTextChar)(Ae)||(Wa.alphaNumericAndMarksRe.test(Ae)?(0,vo.remove)(f,Te):Kt(Te))}function ve(Te,Ae){Wa.digitRe.test(Ae)?Te.state=38:((0,vo.remove)(f,Te),b(Ae))}function Me(Te,Ae){Wa.digitRe.test(Ae)?Te.state=33:(0,vo.remove)(f,Te),b(Ae)}function Oe(Te,Ae){Wa.digitRe.test(Ae)?Te.state=34:(0,vo.remove)(f,Te)}function ct(Te,Ae){Wa.digitRe.test(Ae)?Te.state=35:(0,vo.remove)(f,Te)}function Ke(Te,Ae){Ae===")"?Te.state=36:(0,vo.remove)(f,Te)}function _t(Te,Ae){Wa.digitRe.test(Ae)?Te.state=38:(0,OS.isPhoneNumberSeparatorChar)(Ae)?Te.state=39:(0,vo.remove)(f,Te)}function Ze(Te,Ae){Te.acceptStateReached=!0,(0,OS.isPhoneNumberControlChar)(Ae)?Te.state=40:Ae==="#"?Te.state=41:Wa.digitRe.test(Ae)||(Ae==="("?Te.state=32:(0,OS.isPhoneNumberSeparatorChar)(Ae)?Te.state=39:(Kt(Te),(0,hr.isSchemeStartChar)(Ae)&&f.push(IY(d,0))))}function Dt(Te,Ae){Wa.digitRe.test(Ae)?Te.state=38:Ae==="("?Te.state=32:(Kt(Te),b(Ae))}function gt(Te,Ae){(0,OS.isPhoneNumberControlChar)(Ae)||(Ae==="#"?Te.state=41:Wa.digitRe.test(Ae)?Te.state=38:Kt(Te))}function yt(Te,Ae){(0,OS.isPhoneNumberControlChar)(Ae)?Te.state=40:Wa.digitRe.test(Ae)?(0,vo.remove)(f,Te):Kt(Te)}function Kt(Te){if((0,vo.remove)(f,Te),!!Te.acceptStateReached){var Ae=Te.startIdx,on=e.slice(Te.startIdx,d);if(on=Tge(on),Te.type==="url"){var $t=e.charAt(Te.startIdx-1);if($t==="@")return;var Qt=Te.matchType;if(Qt==="scheme"){var no=hr.httpSchemeRe.exec(on);if(no&&(Ae=Ae+no.index,on=on.slice(no.index)),!(0,hr.isValidSchemeUrl)(on))return}else if(Qt==="tld"){if(!(0,hr.isValidTldMatch)(on))return}else if(Qt==="ipV4"){if(!(0,hr.isValidIpV4Address)(on))return}else(0,vo.assertNever)(Qt);c.push(new Jot.UrlMatch({tagBuilder:n,matchedText:on,offset:Ae,urlMatchType:Qt,url:on,protocolRelativeMatch:on.slice(0,2)==="//",stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))}else if(Te.type==="email")(0,RS.isValidEmail)(on)&&c.push(new ert.EmailMatch({tagBuilder:n,matchedText:on,offset:Ae,email:on.replace(RS.mailtoSchemePrefixRe,"")}));else if(Te.type==="hashtag")(0,wY.isValidHashtag)(on)&&c.push(new trt.HashtagMatch({tagBuilder:n,matchedText:on,offset:Ae,serviceName:s,hashtag:on.slice(1)}));else if(Te.type==="mention")(0,DY.isValidMention)(on,a)&&c.push(new nrt.MentionMatch({tagBuilder:n,matchedText:on,offset:Ae,serviceName:a,mention:on.slice(1)}));else if(Te.type==="phone"){if(on=on.replace(/ +$/g,""),(0,OS.isValidPhoneNumber)(on)){var qe=on.replace(/[^0-9,;#]/g,"");c.push(new irt.PhoneMatch({tagBuilder:n,matchedText:on,offset:Ae,number:qe,plusSign:on.charAt(0)==="+"}))}}else(0,vo.assertNever)(Te)}}}MS.parseMatches=ort;var rrt=/[\(\{\[]/,xge=/[\)\}\]]/,bge={")":"(","}":"{","]":"["};function Tge(e){for(var t={"(":0,"{":0,"[":0},n=0;n<e.length;n++){var i=e.charAt(n);rrt.test(i)?t[i]++:xge.test(i)&&t[bge[i]]--}for(var o=e.length-1,r;o>=0;)if(r=e.charAt(o),xge.test(r)){var s=bge[r];if(t[s]<0)t[s]++,o--;else break}else if(hr.urlSuffixedCharsNotAllowedAtEndRe.test(r))o--;else break;return e.slice(0,o+1)}MS.excludeUnbalancedTrailingBracesAndPunctuation=Tge;function IY(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"scheme"}}function PY(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"tld"}}function srt(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function art(e,t){return{type:"email",startIdx:e,state:t,acceptStateReached:!1}}function crt(e,t){return{type:"hashtag",startIdx:e,state:t,acceptStateReached:!1}}function lrt(e,t){return{type:"mention",startIdx:e,state:t,acceptStateReached:!1}}function RY(e,t){return{type:"phone",startIdx:e,state:t,acceptStateReached:!1}}});var Cge=Qn(IH=>{"use strict";Object.defineProperty(IH,"__esModule",{value:!0});IH.parseHtml=void 0;var Ec=(Bm(),Gh(Fm)),sl=TT(),urt=IS();function frt(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new Vm,c=0,u=e.length,f=0,d=0,p=a;c<u;){var g=e.charAt(c);switch(f){case 0:m(g);break;case 1:x(g);break;case 2:T(g);break;case 3:b(g);break;case 4:A(g);break;case 5:C(g);break;case 6:E(g);break;case 7:v(g);break;case 8:D(g);break;case 9:O(g);break;case 10:R(g);break;case 11:M(g);break;case 12:N(g);break;case 13:_(g);break;case 14:S(g);break;case 15:w(g);break;case 16:I(g);break;case 17:L(g);break;case 18:B(g);break;case 19:U(g);break;case 20:V(g);break;default:(0,urt.assertNever)(f)}c++}d<c&&W();function m(Z){Z==="<"&&k()}function x(Z){Z==="!"?f=13:Z==="/"?(f=2,p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{isClosing:!0}))):Z==="<"?k():sl.letterRe.test(Z)?(f=3,p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{isOpening:!0}))):(f=0,p=a)}function b(Z){sl.whitespaceRe.test(Z)?(p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{name:Q()})),f=4):Z==="<"?k():Z==="/"?(p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{name:Q()})),f=12):Z===">"?(p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{name:Q()})),Y()):!sl.letterRe.test(Z)&&!sl.digitRe.test(Z)&&Z!==":"&&G()}function T(Z){Z===">"?G():sl.letterRe.test(Z)?f=3:G()}function A(Z){sl.whitespaceRe.test(Z)||(Z==="/"?f=12:Z===">"?Y():Z==="<"?k():Z==="="||sl.quoteRe.test(Z)||sl.controlCharsRe.test(Z)?G():f=5)}function C(Z){sl.whitespaceRe.test(Z)?f=6:Z==="/"?f=12:Z==="="?f=7:Z===">"?Y():Z==="<"?k():sl.quoteRe.test(Z)&&G()}function E(Z){sl.whitespaceRe.test(Z)||(Z==="/"?f=12:Z==="="?f=7:Z===">"?Y():Z==="<"?k():sl.quoteRe.test(Z)?G():f=5)}function v(Z){sl.whitespaceRe.test(Z)||(Z==='"'?f=8:Z==="'"?f=9:/[>=`]/.test(Z)?G():Z==="<"?k():f=10)}function D(Z){Z==='"'&&(f=11)}function O(Z){Z==="'"&&(f=11)}function R(Z){sl.whitespaceRe.test(Z)?f=4:Z===">"?Y():Z==="<"&&k()}function M(Z){sl.whitespaceRe.test(Z)?f=4:Z==="/"?f=12:Z===">"?Y():Z==="<"?k():(f=4,j())}function N(Z){Z===">"?(p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{isClosing:!0})),Y()):f=4}function _(Z){e.substr(c,2)==="--"?(c+=2,p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{type:"comment"})),f=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new Vm((0,Ec.__assign)((0,Ec.__assign)({},p),{type:"doctype"})),f=20):G()}function S(Z){Z==="-"?f=15:Z===">"?G():f=16}function w(Z){Z==="-"?f=18:Z===">"?G():f=16}function I(Z){Z==="-"&&(f=17)}function L(Z){Z==="-"?f=18:f=16}function B(Z){Z===">"?Y():Z==="!"?f=19:Z==="-"||(f=16)}function U(Z){Z==="-"?f=17:Z===">"?Y():f=16}function V(Z){Z===">"?Y():Z==="<"&&k()}function G(){f=0,p=a}function k(){f=1,p=new Vm({idx:c})}function Y(){var Z=e.slice(d,p.idx);Z&&o(Z,d),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),G(),d=c+1}function W(){var Z=e.slice(d,c);o(Z,d),d=c+1}function Q(){var Z=p.idx+(p.isClosing?2:1);return e.slice(Z,c).toLowerCase()}function j(){c--}}IH.parseHtml=frt;var Vm=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}()});var PH=Qn(MY=>{"use strict";Object.defineProperty(MY,"__esModule",{value:!0});var drt=U_e(),Os=IS(),hrt=gY(),mrt=mH(),prt=OY(),_rt=Cge(),grt=EY(),yrt=CY(),xrt=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=brt(t.urls),this.email=(0,Os.isBoolean)(t.email)?t.email:this.email,this.phone=(0,Os.isBoolean)(t.phone)?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=(0,Os.isBoolean)(t.newWindow)?t.newWindow:this.newWindow,this.stripPrefix=Trt(t.stripPrefix),this.stripTrailingSlash=(0,Os.isBoolean)(t.stripTrailingSlash)?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=(0,Os.isBoolean)(t.decodePercentEncoding)?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&grt.mentionServices.indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&yrt.hashtagServices.indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=Crt(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return(0,_rt.parseHtml)(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/( | |<|<|>|>|"|"|')/gi,u=s.split(c),f=a;u.forEach(function(d,p){if(p%2===0){var g=n.parseText(d,f);r.push.apply(r,g)}f+=d.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,u){return c.getOffset()-u.getOffset()});for(var n=0;n<t.length-1;){var i=t[n],o=i.getOffset(),r=i.getMatchedText().length,s=o+r;if(n+1<t.length){if(t[n+1].getOffset()===o){var a=t[n+1].getMatchedText().length>r?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()<s){t.splice(n+1,1);continue}}n++}return t},e.prototype.removeUnwantedMatches=function(t){return this.hashtag||(0,Os.removeWithPredicate)(t,function(n){return n.getType()==="hashtag"}),this.email||(0,Os.removeWithPredicate)(t,function(n){return n.getType()==="email"}),this.phone||(0,Os.removeWithPredicate)(t,function(n){return n.getType()==="phone"}),this.mention||(0,Os.removeWithPredicate)(t,function(n){return n.getType()==="mention"}),this.urls.schemeMatches||(0,Os.removeWithPredicate)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="scheme"}),this.urls.tldMatches||(0,Os.removeWithPredicate)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="tld"}),this.urls.ipV4Matches||(0,Os.removeWithPredicate)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="ipV4"}),t},e.prototype.parseText=function(t,n){n===void 0&&(n=0),n=n||0;for(var i=(0,prt.parseMatches)(t,{tagBuilder:this.getTagBuilder(),stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding,hashtagServiceName:this.hashtag,mentionServiceName:this.mention||"twitter"}),o=0,r=i.length;o<r;o++)i[o].setOffset(n+i[o].getOffset());return i},e.prototype.link=function(t){if(!t)return"";this.sanitizeHtml&&(t=t.replace(/</g,"<").replace(/>/g,">"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r<s;r++){var a=n[r];i.push(t.substring(o,a.getOffset())),i.push(this.createMatchReturnVal(a)),o=a.getOffset()+a.getMatchedText().length}return i.push(t.substring(o)),i.join("")},e.prototype.createMatchReturnVal=function(t){var n;if(this.replaceFn&&(n=this.replaceFn.call(this.context,t)),typeof n=="string")return n;if(n===!1)return t.getMatchedText();if(n instanceof mrt.HtmlTag)return n.toAnchorString();var i=t.buildTag();return i.toAnchorString()},e.prototype.getTagBuilder=function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new hrt.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t},e.version=drt.version,e}();MY.default=xrt;function brt(e){return e==null&&(e=!0),(0,Os.isBoolean)(e)?{schemeMatches:e,tldMatches:e,ipV4Matches:e}:{schemeMatches:(0,Os.isBoolean)(e.schemeMatches)?e.schemeMatches:!0,tldMatches:(0,Os.isBoolean)(e.tldMatches)?e.tldMatches:!0,ipV4Matches:(0,Os.isBoolean)(e.ipV4Matches)?e.ipV4Matches:!0}}function Trt(e){return e==null&&(e=!0),(0,Os.isBoolean)(e)?{scheme:e,www:e}:{scheme:(0,Os.isBoolean)(e.scheme)?e.scheme:!0,www:(0,Os.isBoolean)(e.www)?e.www:!0}}function Crt(e){return typeof e=="number"?{length:e,location:"end"}:(0,Os.defaults)(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})}});var Ege=Qn(Age=>{"use strict";Object.defineProperty(Age,"__esModule",{value:!0})});var Sge=Qn($_=>{"use strict";Object.defineProperty($_,"__esModule",{value:!0});var ST=(Bm(),Gh(Fm));(0,ST.__exportStar)(Ege(),$_);(0,ST.__exportStar)(TY(),$_);(0,ST.__exportStar)(AY(),$_);(0,ST.__exportStar)(CT(),$_);(0,ST.__exportStar)(SY(),$_);(0,ST.__exportStar)(vY(),$_);(0,ST.__exportStar)(bY(),$_)});var vge=Qn(LY=>{"use strict";Object.defineProperty(LY,"__esModule",{value:!0});var Art=(Bm(),Gh(Fm));(0,Art.__exportStar)(OY(),LY)});var NY=Qn((Th,Dge)=>{"use strict";Th=Dge.exports=PH().default;Object.defineProperty(Th,"__esModule",{value:!0});Th.Autolinker=void 0;var LS=(Bm(),Gh(Fm)),wge=(0,LS.__importDefault)(PH());Th.Autolinker=wge.default;Th.default=wge.default;(0,LS.__exportStar)(PH(),Th);(0,LS.__exportStar)(gY(),Th);(0,LS.__exportStar)(mH(),Th);(0,LS.__exportStar)(Sge(),Th);(0,LS.__exportStar)(vge(),Th)});var NK=Qn((exports,module)=>{/*! - * protobuf.js v7.3.2 (c) 2016, daniel wirtz - * compiled wed, 12 jun 2024 08:24:21 utc + */(function(e,t){"use strict";typeof vV=="object"&&vV.exports?vV.exports=t(dJ(),mJ(),_J()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(gJ,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(S,w){var I=arguments.length>=1,L=arguments.length>=2;if(!(this instanceof r))return I?L?new r(S,w):new r(S):new r;if(S===void 0){if(I)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?S=location.href+"":S=""}if(S===null&&I)throw new TypeError("null is not a valid argument for URI");return this.href(S),w!==void 0?this.absoluteTo(w):this}function s(S){return/^[0-9]+$/.test(S)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function u(S){return S.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function f(S){return S===void 0?"Undefined":String(Object.prototype.toString.call(S)).slice(8,-1)}function d(S){return f(S)==="Array"}function p(S,w){var I={},L,B;if(f(w)==="RegExp")I=null;else if(d(w))for(L=0,B=w.length;L<B;L++)I[w[L]]=!0;else I[w]=!0;for(L=0,B=S.length;L<B;L++){var U=I&&I[S[L]]!==void 0||!I&&w.test(S[L]);U&&(S.splice(L,1),B--,L--)}return S}function g(S,w){var I,L;if(d(w)){for(I=0,L=w.length;I<L;I++)if(!g(S,w[I]))return!1;return!0}var B=f(w);for(I=0,L=S.length;I<L;I++)if(B==="RegExp"){if(typeof S[I]=="string"&&S[I].match(w))return!0}else if(S[I]===w)return!0;return!1}function m(S,w){if(!d(S)||!d(w)||S.length!==w.length)return!1;S.sort(),w.sort();for(var I=0,L=S.length;I<L;I++)if(S[I]!==w[I])return!1;return!0}function x(S){var w=/^\/+|\/+$/g;return S.replace(w,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(S){if(!(!S||!S.nodeName)){var w=S.nodeName.toLowerCase();if(!(w==="input"&&S.type!=="image"))return r.domAttributes[w]}};function b(S){return escape(S)}function T(S){return encodeURIComponent(S).replace(/[!'()*]/g,b).replace(/\*/g,"%2A")}r.encode=T,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=T,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(S,w){var I=r.encode(S+"");return w===void 0&&(w=r.escapeQuerySpace),w?I.replace(/%20/g,"+"):I},r.decodeQuery=function(S,w){S+="",w===void 0&&(w=r.escapeQuerySpace);try{return r.decode(w?S.replace(/\+/g,"%20"):S)}catch{return S}};var A={encode:"encode",decode:"decode"},C,E=function(S,w){return function(I){try{return r[w](I+"").replace(r.characters[S][w].expression,function(L){return r.characters[S][w].map[L]})}catch{return I}}};for(C in A)r[C+"PathSegment"]=E("pathname",A[C]),r[C+"UrnPathSegment"]=E("urnpath",A[C]);var v=function(S,w,I){return function(L){var B;I?B=function(k){return r[w](r[I](k))}:B=r[w];for(var U=(L+"").split(S),V=0,G=U.length;V<G;V++)U[V]=B(U[V]);return U.join(S)}};r.decodePath=v("/","decodePathSegment"),r.decodeUrnPath=v(":","decodeUrnPathSegment"),r.recodePath=v("/","encodePathSegment","decode"),r.recodeUrnPath=v(":","encodeUrnPathSegment","decode"),r.encodeReserved=E("reserved","encode"),r.parse=function(S,w){var I;return w||(w={preventInvalidHostname:r.preventInvalidHostname}),S=S.replace(r.leading_whitespace_expression,""),S=S.replace(r.ascii_tab_whitespace,""),I=S.indexOf("#"),I>-1&&(w.fragment=S.substring(I+1)||null,S=S.substring(0,I)),I=S.indexOf("?"),I>-1&&(w.query=S.substring(I+1)||null,S=S.substring(0,I)),S=S.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),S=S.replace(/^[/\\]{2,}/i,"//"),S.substring(0,2)==="//"?(w.protocol=null,S=S.substring(2),S=r.parseAuthority(S,w)):(I=S.indexOf(":"),I>-1&&(w.protocol=S.substring(0,I)||null,w.protocol&&!w.protocol.match(r.protocol_expression)?w.protocol=void 0:S.substring(I+1,I+3).replace(/\\/g,"/")==="//"?(S=S.substring(I+3),S=r.parseAuthority(S,w)):(S=S.substring(I+1),w.urn=!0))),w.path=S,w},r.parseHost=function(S,w){S||(S=""),S=S.replace(/\\/g,"/");var I=S.indexOf("/"),L,B;if(I===-1&&(I=S.length),S.charAt(0)==="[")L=S.indexOf("]"),w.hostname=S.substring(1,L)||null,w.port=S.substring(L+2,I)||null,w.port==="/"&&(w.port=null);else{var U=S.indexOf(":"),V=S.indexOf("/"),G=S.indexOf(":",U+1);G!==-1&&(V===-1||G<V)?(w.hostname=S.substring(0,I)||null,w.port=null):(B=S.substring(0,I).split(":"),w.hostname=B[0]||null,w.port=B[1]||null)}return w.hostname&&S.substring(I).charAt(0)!=="/"&&(I++,S="/"+S),w.preventInvalidHostname&&r.ensureValidHostname(w.hostname,w.protocol),w.port&&r.ensureValidPort(w.port),S.substring(I)||"/"},r.parseAuthority=function(S,w){return S=r.parseUserinfo(S,w),r.parseHost(S,w)},r.parseUserinfo=function(S,w){var I=S,L=S.indexOf("\\");L!==-1&&(S=S.replace(/\\/g,"/"));var B=S.indexOf("/"),U=S.lastIndexOf("@",B>-1?B:S.length-1),V;return U>-1&&(B===-1||U<B)?(V=S.substring(0,U).split(":"),w.username=V[0]?r.decode(V[0]):null,V.shift(),w.password=V[0]?r.decode(V.join(":")):null,S=I.substring(U+1)):(w.username=null,w.password=null),S},r.parseQuery=function(S,w){if(!S)return{};if(S=S.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!S)return{};for(var I={},L=S.split("&"),B=L.length,U,V,G,k=0;k<B;k++)U=L[k].split("="),V=r.decodeQuery(U.shift(),w),G=U.length?r.decodeQuery(U.join("="),w):null,V!=="__proto__"&&(c.call(I,V)?((typeof I[V]=="string"||I[V]===null)&&(I[V]=[I[V]]),I[V].push(G)):I[V]=G);return I},r.build=function(S){var w="",I=!1;return S.protocol&&(w+=S.protocol+":"),!S.urn&&(w||S.hostname)&&(w+="//",I=!0),w+=r.buildAuthority(S)||"",typeof S.path=="string"&&(S.path.charAt(0)!=="/"&&I&&(w+="/"),w+=S.path),typeof S.query=="string"&&S.query&&(w+="?"+S.query),typeof S.fragment=="string"&&S.fragment&&(w+="#"+S.fragment),w},r.buildHost=function(S){var w="";if(S.hostname)r.ip6_expression.test(S.hostname)?w+="["+S.hostname+"]":w+=S.hostname;else return"";return S.port&&(w+=":"+S.port),w},r.buildAuthority=function(S){return r.buildUserinfo(S)+r.buildHost(S)},r.buildUserinfo=function(S){var w="";return S.username&&(w+=r.encode(S.username)),S.password&&(w+=":"+r.encode(S.password)),w&&(w+="@"),w},r.buildQuery=function(S,w,I){var L="",B,U,V,G;for(U in S)if(U!=="__proto__"&&c.call(S,U))if(d(S[U]))for(B={},V=0,G=S[U].length;V<G;V++)S[U][V]!==void 0&&B[S[U][V]+""]===void 0&&(L+="&"+r.buildQueryParameter(U,S[U][V],I),w!==!0&&(B[S[U][V]+""]=!0));else S[U]!==void 0&&(L+="&"+r.buildQueryParameter(U,S[U],I));return L.substring(1)},r.buildQueryParameter=function(S,w,I){return r.encodeQuery(S,I)+(w!==null?"="+r.encodeQuery(w,I):"")},r.addQuery=function(S,w,I){if(typeof w=="object")for(var L in w)c.call(w,L)&&r.addQuery(S,L,w[L]);else if(typeof w=="string"){if(S[w]===void 0){S[w]=I;return}else typeof S[w]=="string"&&(S[w]=[S[w]]);d(I)||(I=[I]),S[w]=(S[w]||[]).concat(I)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(S,w,I){if(typeof w=="object")for(var L in w)c.call(w,L)&&r.setQuery(S,L,w[L]);else if(typeof w=="string")S[w]=I===void 0?null:I;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(S,w,I){var L,B,U;if(d(w))for(L=0,B=w.length;L<B;L++)S[w[L]]=void 0;else if(f(w)==="RegExp")for(U in S)w.test(U)&&(S[U]=void 0);else if(typeof w=="object")for(U in w)c.call(w,U)&&r.removeQuery(S,U,w[U]);else if(typeof w=="string")I!==void 0?f(I)==="RegExp"?!d(S[w])&&I.test(S[w])?S[w]=void 0:S[w]=p(S[w],I):S[w]===String(I)&&(!d(I)||I.length===1)?S[w]=void 0:d(S[w])&&(S[w]=p(S[w],I)):S[w]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(S,w,I,L){switch(f(w)){case"String":break;case"RegExp":for(var B in S)if(c.call(S,B)&&w.test(B)&&(I===void 0||r.hasQuery(S,B,I)))return!0;return!1;case"Object":for(var U in w)if(c.call(w,U)&&!r.hasQuery(S,U,w[U]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(f(I)){case"Undefined":return w in S;case"Boolean":var V=!!(d(S[w])?S[w].length:S[w]);return I===V;case"Function":return!!I(S[w],w,S);case"Array":if(!d(S[w]))return!1;var G=L?g:m;return G(S[w],I);case"RegExp":return d(S[w])?L?g(S[w],I):!1:!!(S[w]&&S[w].match(I));case"Number":I=String(I);case"String":return d(S[w])?L?g(S[w],I):!1:S[w]===I;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var S=[],w=[],I=0,L=0;L<arguments.length;L++){var B=new r(arguments[L]);S.push(B);for(var U=B.segment(),V=0;V<U.length;V++)typeof U[V]=="string"&&w.push(U[V]),U[V]&&I++}if(!w.length||!I)return new r("");var G=new r("").segment(w);return(S[0].path()===""||S[0].path().slice(0,1)==="/")&&G.path("/"+G.path()),G.normalize()},r.commonPath=function(S,w){var I=Math.min(S.length,w.length),L;for(L=0;L<I;L++)if(S.charAt(L)!==w.charAt(L)){L--;break}return L<1?S.charAt(0)===w.charAt(0)&&S.charAt(0)==="/"?"/":"":((S.charAt(L)!=="/"||w.charAt(L)!=="/")&&(L=S.substring(0,L).lastIndexOf("/")),S.substring(0,L+1))},r.withinString=function(S,w,I){I||(I={});var L=I.start||r.findUri.start,B=I.end||r.findUri.end,U=I.trim||r.findUri.trim,V=I.parens||r.findUri.parens,G=/[a-z0-9-]=["']?$/i;for(L.lastIndex=0;;){var k=L.exec(S);if(!k)break;var W=k.index;if(I.ignoreHtml){var Y=S.slice(Math.max(W-3,0),W);if(Y&&G.test(Y))continue}for(var Q=W+S.slice(W).search(B),j=S.slice(W,Q),Z=-1;;){var J=V.exec(j);if(!J)break;var he=J.index+J[0].length;Z=Math.max(Z,he)}if(Z>-1?j=j.slice(0,Z)+j.slice(Z).replace(U,""):j=j.replace(U,""),!(j.length<=k[0].length)&&!(I.ignore&&I.ignore.test(j))){Q=W+j.length;var xe=w(j,W,Q,S);if(xe===void 0){L.lastIndex=Q;continue}xe=String(xe),S=S.slice(0,W)+xe+S.slice(Q),L.lastIndex=W+xe.length}}return L.lastIndex=0,S},r.ensureValidHostname=function(S,w){var I=!!S,L=!!w,B=!1;if(L&&(B=g(r.hostProtocols,w)),B&&!I)throw new TypeError("Hostname cannot be empty, if protocol is "+w);if(S&&S.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(S).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(S){if(S){var w=Number(S);if(!(s(w)&&w>0&&w<65536))throw new TypeError('Port "'+S+'" is not a valid port')}},r.noConflict=function(S){if(S){var w={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(w.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(w.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(w.SecondLevelDomains=i.SecondLevelDomains.noConflict()),w}else i.URI===this&&(i.URI=o);return this},a.build=function(S){return S===!0?this._deferred_build=!0:(S===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function D(S){return function(w,I){return w===void 0?this._parts[S]||"":(this._parts[S]=w||null,this.build(!I),this)}}function O(S,w){return function(I,L){return I===void 0?this._parts[S]||"":(I!==null&&(I=I+"",I.charAt(0)===w&&(I=I.substring(1))),this._parts[S]=I,this.build(!L),this)}}a.protocol=D("protocol"),a.username=D("username"),a.password=D("password"),a.hostname=D("hostname"),a.port=D("port"),a.query=O("query","?"),a.fragment=O("fragment","#"),a.search=function(S,w){var I=this.query(S,w);return typeof I=="string"&&I.length?"?"+I:I},a.hash=function(S,w){var I=this.fragment(S,w);return typeof I=="string"&&I.length?"#"+I:I},a.pathname=function(S,w){if(S===void 0||S===!0){var I=this._parts.path||(this._parts.hostname?"/":"");return S?(this._parts.urn?r.decodeUrnPath:r.decodePath)(I):I}else return this._parts.urn?this._parts.path=S?r.recodeUrnPath(S):"":this._parts.path=S?r.recodePath(S):"/",this.build(!w),this},a.path=a.pathname,a.href=function(S,w){var I;if(S===void 0)return this.toString();this._string="",this._parts=r._parts();var L=S instanceof r,B=typeof S=="object"&&(S.hostname||S.path||S.pathname);if(S.nodeName){var U=r.getDomAttribute(S);S=S[U]||"",B=!1}if(!L&&B&&S.pathname!==void 0&&(S=S.toString()),typeof S=="string"||S instanceof String)this._parts=r.parse(String(S),this._parts);else if(L||B){var V=L?S._parts:S;for(I in V)I!=="query"&&c.call(this._parts,I)&&(this._parts[I]=V[I]);V.query&&this.query(V.query,!1)}else throw new TypeError("invalid input");return this.build(!w),this},a.is=function(S){var w=!1,I=!1,L=!1,B=!1,U=!1,V=!1,G=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,I=r.ip4_expression.test(this._parts.hostname),L=r.ip6_expression.test(this._parts.hostname),w=I||L,B=!w,U=B&&n&&n.has(this._parts.hostname),V=B&&r.idn_expression.test(this._parts.hostname),G=B&&r.punycode_expression.test(this._parts.hostname)),S.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return B;case"sld":return U;case"ip":return w;case"ip4":case"ipv4":case"inet4":return I;case"ip6":case"ipv6":case"inet6":return L;case"idn":return V;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return G}return null};var R=a.protocol,M=a.port,N=a.hostname;a.protocol=function(S,w){if(S&&(S=S.replace(/:(\/\/)?$/,""),!S.match(r.protocol_expression)))throw new TypeError('Protocol "'+S+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return R.call(this,S,w)},a.scheme=a.protocol,a.port=function(S,w){return this._parts.urn?S===void 0?"":this:(S!==void 0&&(S===0&&(S=null),S&&(S+="",S.charAt(0)===":"&&(S=S.substring(1)),r.ensureValidPort(S))),M.call(this,S,w))},a.hostname=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S!==void 0){var I={preventInvalidHostname:this._parts.preventInvalidHostname},L=r.parseHost(S,I);if(L!=="/")throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-]');S=I.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(S,this._parts.protocol)}return N.call(this,S,w)},a.origin=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0){var I=this.protocol(),L=this.authority();return L?(I?I+"://":"")+this.authority():""}else{var B=r(S);return this.protocol(B.protocol()).authority(B.authority()).build(!w),this}},a.host=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var I=r.parseHost(S,this._parts);if(I!=="/")throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.authority=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var I=r.parseAuthority(S,this._parts);if(I!=="/")throw new TypeError('Hostname "'+S+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.userinfo=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0){var I=r.buildUserinfo(this._parts);return I&&I.substring(0,I.length-1)}else return S[S.length-1]!=="@"&&(S+="@"),r.parseUserinfo(S,this._parts),this.build(!w),this},a.resource=function(S,w){var I;return S===void 0?this.path()+this.search()+this.hash():(I=r.parse(S),this._parts.path=I.path,this._parts.query=I.query,this._parts.fragment=I.fragment,this.build(!w),this)},a.subdomain=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,I)||""}else{var L=this._parts.hostname.length-this.domain().length,B=this._parts.hostname.substring(0,L),U=new RegExp("^"+u(B));if(S&&S.charAt(S.length-1)!=="."&&(S+="."),S.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return S&&r.ensureValidHostname(S,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(U,S),this.build(!w),this}},a.domain=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(typeof S=="boolean"&&(w=S,S=void 0),S===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.match(/\./g);if(I&&I.length<2)return this._parts.hostname;var L=this._parts.hostname.length-this.tld(w).length-1;return L=this._parts.hostname.lastIndexOf(".",L-1)+1,this._parts.hostname.substring(L)||""}else{if(!S)throw new TypeError("cannot set domain empty");if(S.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(S,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=S;else{var B=new RegExp(u(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(B,S)}return this.build(!w),this}},a.tld=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(typeof S=="boolean"&&(w=S,S=void 0),S===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.lastIndexOf("."),L=this._parts.hostname.substring(I+1);return w!==!0&&n&&n.list[L.toLowerCase()]&&n.get(this._parts.hostname)||L}else{var B;if(S)if(S.match(/[^a-zA-Z0-9-]/))if(n&&n.is(S))B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,S);else throw new TypeError('TLD "'+S+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,S)}else throw new TypeError("cannot set TLD empty");return this.build(!w),this}},a.directory=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0||S===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var I=this._parts.path.length-this.filename().length-1,L=this._parts.path.substring(0,I)||(this._parts.hostname?"/":"");return S?r.decodePath(L):L}else{var B=this._parts.path.length-this.filename().length,U=this._parts.path.substring(0,B),V=new RegExp("^"+u(U));return this.is("relative")||(S||(S="/"),S.charAt(0)!=="/"&&(S="/"+S)),S&&S.charAt(S.length-1)!=="/"&&(S+="/"),S=r.recodePath(S),this._parts.path=this._parts.path.replace(V,S),this.build(!w),this}},a.filename=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(typeof S!="string"){if(!this._parts.path||this._parts.path==="/")return"";var I=this._parts.path.lastIndexOf("/"),L=this._parts.path.substring(I+1);return S?r.decodePathSegment(L):L}else{var B=!1;S.charAt(0)==="/"&&(S=S.substring(1)),S.match(/\.?\//)&&(B=!0);var U=new RegExp(u(this.filename())+"$");return S=r.recodePath(S),this._parts.path=this._parts.path.replace(U,S),B?this.normalizePath(w):this.build(!w),this}},a.suffix=function(S,w){if(this._parts.urn)return S===void 0?"":this;if(S===void 0||S===!0){if(!this._parts.path||this._parts.path==="/")return"";var I=this.filename(),L=I.lastIndexOf("."),B,U;return L===-1?"":(B=I.substring(L+1),U=/^[a-z0-9%]+$/i.test(B)?B:"",S?r.decodePathSegment(U):U)}else{S.charAt(0)==="."&&(S=S.substring(1));var V=this.suffix(),G;if(V)S?G=new RegExp(u(V)+"$"):G=new RegExp(u("."+V)+"$");else{if(!S)return this;this._parts.path+="."+r.recodePath(S)}return G&&(S=r.recodePath(S),this._parts.path=this._parts.path.replace(G,S)),this.build(!w),this}},a.segment=function(S,w,I){var L=this._parts.urn?":":"/",B=this.path(),U=B.substring(0,1)==="/",V=B.split(L);if(S!==void 0&&typeof S!="number"&&(I=w,w=S,S=void 0),S!==void 0&&typeof S!="number")throw new Error('Bad segment "'+S+'", must be 0-based integer');if(U&&V.shift(),S<0&&(S=Math.max(V.length+S,0)),w===void 0)return S===void 0?V:V[S];if(S===null||V[S]===void 0)if(d(w)){V=[];for(var G=0,k=w.length;G<k;G++)!w[G].length&&(!V.length||!V[V.length-1].length)||(V.length&&!V[V.length-1].length&&V.pop(),V.push(x(w[G])))}else(w||typeof w=="string")&&(w=x(w),V[V.length-1]===""?V[V.length-1]=w:V.push(w));else w?V[S]=x(w):V.splice(S,1);return U&&V.unshift(""),this.path(V.join(L),I)},a.segmentCoded=function(S,w,I){var L,B,U;if(typeof S!="number"&&(I=w,w=S,S=void 0),w===void 0){if(L=this.segment(S,w,I),!d(L))L=L!==void 0?r.decode(L):void 0;else for(B=0,U=L.length;B<U;B++)L[B]=r.decode(L[B]);return L}if(!d(w))w=typeof w=="string"||w instanceof String?r.encode(w):w;else for(B=0,U=w.length;B<U;B++)w[B]=r.encode(w[B]);return this.segment(S,w,I)};var _=a.query;return a.query=function(S,w){if(S===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof S=="function"){var I=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),L=S.call(this,I);return this._parts.query=r.buildQuery(L||I,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this}else return S!==void 0&&typeof S!="string"?(this._parts.query=r.buildQuery(S,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this):_.call(this,S,w)},a.setQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof S=="string"||S instanceof String)L[S]=w!==void 0?w:null;else if(typeof S=="object")for(var B in S)c.call(S,B)&&(L[B]=S[B]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof S!="string"&&(I=w),this.build(!I),this},a.addQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(L,S,w===void 0?null:w),this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof S!="string"&&(I=w),this.build(!I),this},a.removeQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(L,S,w),this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof S!="string"&&(I=w),this.build(!I),this},a.hasQuery=function(S,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(L,S,w,I)},a.setSearch=a.setQuery,a.addSearch=a.addQuery,a.removeSearch=a.removeQuery,a.hasSearch=a.hasQuery,a.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},a.normalizeProtocol=function(S){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!S)),this},a.normalizeHostname=function(S){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!S)),this},a.normalizePort=function(S){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!S)),this},a.normalizePath=function(S){var w=this._parts.path;if(!w)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!S),this;if(this._parts.path==="/")return this;w=r.recodePath(w);var I,L="",B,U;for(w.charAt(0)!=="/"&&(I=!0,w="/"+w),(w.slice(-3)==="/.."||w.slice(-2)==="/.")&&(w+="/"),w=w.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),I&&(L=w.substring(1).match(/^(\.\.\/)+/)||"",L&&(L=L[0]));B=w.search(/\/\.\.(\/|$)/),B!==-1;){if(B===0){w=w.substring(3);continue}U=w.substring(0,B).lastIndexOf("/"),U===-1&&(U=B),w=w.substring(0,U)+w.substring(B+3)}return I&&this.is("relative")&&(w=L+w.substring(1)),this._parts.path=w,this.build(!S),this},a.normalizePathname=a.normalizePath,a.normalizeQuery=function(S){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!S)),this},a.normalizeFragment=function(S){return this._parts.fragment||(this._parts.fragment=null,this.build(!S)),this},a.normalizeSearch=a.normalizeQuery,a.normalizeHash=a.normalizeFragment,a.iso8859=function(){var S=r.encode,w=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=S,r.decode=w}return this},a.unicode=function(){var S=r.encode,w=r.decode;r.encode=T,r.decode=unescape;try{this.normalize()}finally{r.encode=S,r.decode=w}return this},a.readable=function(){var S=this.clone();S.username("").password("").normalize();var w="";if(S._parts.protocol&&(w+=S._parts.protocol+"://"),S._parts.hostname&&(S.is("punycode")&&e?(w+=e.toUnicode(S._parts.hostname),S._parts.port&&(w+=":"+S._parts.port)):w+=S.host()),S._parts.hostname&&S._parts.path&&S._parts.path.charAt(0)!=="/"&&(w+="/"),w+=S.path(!0),S._parts.query){for(var I="",L=0,B=S._parts.query.split("&"),U=B.length;L<U;L++){var V=(B[L]||"").split("=");I+="&"+r.decodeQuery(V[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),V[1]!==void 0&&(I+="="+r.decodeQuery(V[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}w+="?"+I.substring(1)}return w+=r.decodeQuery(S.hash(),!0),w},a.absoluteTo=function(S){var w=this.clone(),I=["protocol","username","password","hostname","port"],L,B,U;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(S instanceof r||(S=new r(S)),w._parts.protocol||(w._parts.protocol=S._parts.protocol,this._parts.hostname))return w;for(B=0;U=I[B];B++)w._parts[U]=S._parts[U];return w._parts.path?(w._parts.path.substring(-2)===".."&&(w._parts.path+="/"),w.path().charAt(0)!=="/"&&(L=S.directory(),L=L||(S.path().indexOf("/")===0?"/":""),w._parts.path=(L?L+"/":"")+w._parts.path,w.normalizePath())):(w._parts.path=S._parts.path,w._parts.query||(w._parts.query=S._parts.query)),w.build(),w},a.relativeTo=function(S){var w=this.clone().normalize(),I,L,B,U,V;if(w._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(S=new r(S).normalize(),I=w._parts,L=S._parts,U=w.path(),V=S.path(),U.charAt(0)!=="/")throw new Error("URI is already relative");if(V.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(I.protocol===L.protocol&&(I.protocol=null),I.username!==L.username||I.password!==L.password||I.protocol!==null||I.username!==null||I.password!==null)return w.build();if(I.hostname===L.hostname&&I.port===L.port)I.hostname=null,I.port=null;else return w.build();if(U===V)return I.path="",w.build();if(B=r.commonPath(U,V),!B)return w.build();var G=L.path.substring(B.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return I.path=G+I.path.substring(B.length)||"./",w.build()},a.equals=function(S){var w=this.clone(),I=new r(S),L={},B={},U={},V,G,k;if(w.normalize(),I.normalize(),w.toString()===I.toString())return!0;if(V=w.query(),G=I.query(),w.query(""),I.query(""),w.toString()!==I.toString()||V.length!==G.length)return!1;L=r.parseQuery(V,this._parts.escapeQuerySpace),B=r.parseQuery(G,this._parts.escapeQuerySpace);for(k in L)if(c.call(L,k)){if(d(L[k])){if(!m(L[k],B[k]))return!1}else if(L[k]!==B[k])return!1;U[k]=!0}for(k in B)if(c.call(B,k)&&!U[k])return!1;return!0},a.preventInvalidHostname=function(S){return this._parts.preventInvalidHostname=!!S,this},a.duplicateQueryParameters=function(S){return this._parts.duplicateQueryParameters=!!S,this},a.escapeQuerySpace=function(S){return this._parts.escapeQuerySpace=!!S,this},r})});var Moe=Xn((MZt,Ooe)=>{"use strict";/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */var{entries:voe,setPrototypeOf:xoe,isFrozen:uFe,getPrototypeOf:fFe,getOwnPropertyDescriptor:woe}=Object,{freeze:Yc,seal:Bd,create:Doe}=Object,{apply:k9,construct:V9}=typeof Reflect<"u"&&Reflect;Yc||(Yc=function(t){return t});Bd||(Bd=function(t){return t});k9||(k9=function(t,n,i){return t.apply(n,i)});V9||(V9=function(t,n){return new t(...n)});var yU=Cf(Array.prototype.forEach),boe=Cf(Array.prototype.pop),L1=Cf(Array.prototype.push),TU=Cf(String.prototype.toLowerCase),M9=Cf(String.prototype.toString),dFe=Cf(String.prototype.match),N1=Cf(String.prototype.replace),hFe=Cf(String.prototype.indexOf),mFe=Cf(String.prototype.trim),pu=Cf(RegExp.prototype.test),F1=pFe(TypeError);function Cf(e){return function(t){for(var n=arguments.length,i=new Array(n>1?n-1:0),o=1;o<n;o++)i[o-1]=arguments[o];return k9(e,t,i)}}function pFe(e){return function(){for(var t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];return V9(e,n)}}function gi(e,t){let n=arguments.length>2&&arguments[2]!==void 0?arguments[2]:TU;xoe&&xoe(e,null);let i=t.length;for(;i--;){let o=t[i];if(typeof o=="string"){let r=n(o);r!==o&&(uFe(t)||(t[i]=r),o=r)}e[o]=!0}return e}function xA(e){let t=Doe(null);for(let[n,i]of voe(e))woe(e,n)!==void 0&&(t[n]=i);return t}function xU(e,t){for(;e!==null;){let i=woe(e,t);if(i){if(i.get)return Cf(i.get);if(typeof i.value=="function")return Cf(i.value)}e=fFe(e)}function n(i){return console.warn("fallback value for",i),null}return n}var Toe=Yc(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),L9=Yc(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),N9=Yc(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),_Fe=Yc(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),F9=Yc(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),gFe=Yc(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Coe=Yc(["#text"]),Aoe=Yc(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),B9=Yc(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Eoe=Yc(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),bU=Yc(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),yFe=Bd(/\{\{[\w\W]*|[\w\W]*\}\}/gm),xFe=Bd(/<%[\w\W]*|[\w\W]*%>/gm),bFe=Bd(/\${[\w\W]*}/gm),TFe=Bd(/^data-[\-\w.\u00B7-\uFFFF]/),CFe=Bd(/^aria-[\-\w]+$/),Ioe=Bd(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),AFe=Bd(/^(?:\w+script|data):/i),EFe=Bd(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Poe=Bd(/^html$/i),Soe=Object.freeze({__proto__:null,MUSTACHE_EXPR:yFe,ERB_EXPR:xFe,TMPLIT_EXPR:bFe,DATA_ATTR:TFe,ARIA_ATTR:CFe,IS_ALLOWED_URI:Ioe,IS_SCRIPT_OR_DATA:AFe,ATTR_WHITESPACE:EFe,DOCTYPE_NAME:Poe}),SFe=function(){return typeof window>"u"?null:window},vFe=function(t,n){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let i=null,o="data-tt-policy-suffix";n&&n.hasAttribute(o)&&(i=n.getAttribute(o));let r="dompurify"+(i?"#"+i:"");try{return t.createPolicy(r,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+r+" could not be created."),null}};function Roe(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:SFe(),t=mn=>Roe(mn);if(t.version="3.0.6",t.removed=[],!e||!e.document||e.document.nodeType!==9)return t.isSupported=!1,t;let{document:n}=e,i=n,o=i.currentScript,{DocumentFragment:r,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:u,NamedNodeMap:f=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:d,DOMParser:p,trustedTypes:g}=e,m=c.prototype,x=xU(m,"cloneNode"),b=xU(m,"nextSibling"),T=xU(m,"childNodes"),A=xU(m,"parentNode");if(typeof s=="function"){let mn=n.createElement("template");mn.content&&mn.content.ownerDocument&&(n=mn.content.ownerDocument)}let C,E="",{implementation:v,createNodeIterator:D,createDocumentFragment:O,getElementsByTagName:R}=n,{importNode:M}=i,N={};t.isSupported=typeof voe=="function"&&typeof A=="function"&&v&&v.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:_,ERB_EXPR:S,TMPLIT_EXPR:w,DATA_ATTR:I,ARIA_ATTR:L,IS_SCRIPT_OR_DATA:B,ATTR_WHITESPACE:U}=Soe,{IS_ALLOWED_URI:V}=Soe,G=null,k=gi({},[...Toe,...L9,...N9,...F9,...Coe]),W=null,Y=gi({},[...Aoe,...B9,...Eoe,...bU]),Q=Object.seal(Doe(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),j=null,Z=null,J=!0,he=!0,xe=!1,re=!0,_e=!1,ye=!1,De=!1,we=!1,Me=!1,Oe=!1,lt=!1,et=!0,vt=!1,Qe="user-content-",wt=!0,mt=!1,pt={},Xt=null,Te=gi({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),Ee=null,rn=gi({},["audio","video","img","source","image","track"]),Jt=null,en=gi({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Ji="http://www.w3.org/1998/Math/MathML",je="http://www.w3.org/2000/svg",vo="http://www.w3.org/1999/xhtml",Ho=vo,wa=!1,ke=null,at=gi({},[Ji,je,vo],M9),Xe=null,Ke=["application/xhtml+xml","text/html"],rt="text/html",_t=null,hn=null,eo=n.createElement("form"),fo=function(Ce){return Ce instanceof RegExp||Ce instanceof Function},Nr=function(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(hn&&hn===Ce)){if((!Ce||typeof Ce!="object")&&(Ce={}),Ce=xA(Ce),Xe=Ke.indexOf(Ce.PARSER_MEDIA_TYPE)===-1?Xe=rt:Xe=Ce.PARSER_MEDIA_TYPE,_t=Xe==="application/xhtml+xml"?M9:TU,G="ALLOWED_TAGS"in Ce?gi({},Ce.ALLOWED_TAGS,_t):k,W="ALLOWED_ATTR"in Ce?gi({},Ce.ALLOWED_ATTR,_t):Y,ke="ALLOWED_NAMESPACES"in Ce?gi({},Ce.ALLOWED_NAMESPACES,M9):at,Jt="ADD_URI_SAFE_ATTR"in Ce?gi(xA(en),Ce.ADD_URI_SAFE_ATTR,_t):en,Ee="ADD_DATA_URI_TAGS"in Ce?gi(xA(rn),Ce.ADD_DATA_URI_TAGS,_t):rn,Xt="FORBID_CONTENTS"in Ce?gi({},Ce.FORBID_CONTENTS,_t):Te,j="FORBID_TAGS"in Ce?gi({},Ce.FORBID_TAGS,_t):{},Z="FORBID_ATTR"in Ce?gi({},Ce.FORBID_ATTR,_t):{},pt="USE_PROFILES"in Ce?Ce.USE_PROFILES:!1,J=Ce.ALLOW_ARIA_ATTR!==!1,he=Ce.ALLOW_DATA_ATTR!==!1,xe=Ce.ALLOW_UNKNOWN_PROTOCOLS||!1,re=Ce.ALLOW_SELF_CLOSE_IN_ATTR!==!1,_e=Ce.SAFE_FOR_TEMPLATES||!1,ye=Ce.WHOLE_DOCUMENT||!1,Me=Ce.RETURN_DOM||!1,Oe=Ce.RETURN_DOM_FRAGMENT||!1,lt=Ce.RETURN_TRUSTED_TYPE||!1,we=Ce.FORCE_BODY||!1,et=Ce.SANITIZE_DOM!==!1,vt=Ce.SANITIZE_NAMED_PROPS||!1,wt=Ce.KEEP_CONTENT!==!1,mt=Ce.IN_PLACE||!1,V=Ce.ALLOWED_URI_REGEXP||Ioe,Ho=Ce.NAMESPACE||vo,Q=Ce.CUSTOM_ELEMENT_HANDLING||{},Ce.CUSTOM_ELEMENT_HANDLING&&fo(Ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Q.tagNameCheck=Ce.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ce.CUSTOM_ELEMENT_HANDLING&&fo(Ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Q.attributeNameCheck=Ce.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ce.CUSTOM_ELEMENT_HANDLING&&typeof Ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Q.allowCustomizedBuiltInElements=Ce.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),_e&&(he=!1),Oe&&(Me=!0),pt&&(G=gi({},[...Coe]),W=[],pt.html===!0&&(gi(G,Toe),gi(W,Aoe)),pt.svg===!0&&(gi(G,L9),gi(W,B9),gi(W,bU)),pt.svgFilters===!0&&(gi(G,N9),gi(W,B9),gi(W,bU)),pt.mathMl===!0&&(gi(G,F9),gi(W,Eoe),gi(W,bU))),Ce.ADD_TAGS&&(G===k&&(G=xA(G)),gi(G,Ce.ADD_TAGS,_t)),Ce.ADD_ATTR&&(W===Y&&(W=xA(W)),gi(W,Ce.ADD_ATTR,_t)),Ce.ADD_URI_SAFE_ATTR&&gi(Jt,Ce.ADD_URI_SAFE_ATTR,_t),Ce.FORBID_CONTENTS&&(Xt===Te&&(Xt=xA(Xt)),gi(Xt,Ce.FORBID_CONTENTS,_t)),wt&&(G["#text"]=!0),ye&&gi(G,["html","head","body"]),G.table&&(gi(G,["tbody"]),delete j.tbody),Ce.TRUSTED_TYPES_POLICY){if(typeof Ce.TRUSTED_TYPES_POLICY.createHTML!="function")throw F1('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ce.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw F1('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');C=Ce.TRUSTED_TYPES_POLICY,E=C.createHTML("")}else C===void 0&&(C=vFe(g,o)),C!==null&&typeof E=="string"&&(E=C.createHTML(""));Yc&&Yc(Ce),hn=Ce}},Jo=gi({},["mi","mo","mn","ms","mtext"]),ms=gi({},["foreignobject","desc","title","annotation-xml"]),ho=gi({},["title","style","font","a","script"]),ps=gi({},L9);gi(ps,N9),gi(ps,_Fe);let Fr=gi({},F9);gi(Fr,gFe);let cf=function(Ce){let ut=A(Ce);(!ut||!ut.tagName)&&(ut={namespaceURI:Ho,tagName:"template"});let jt=TU(Ce.tagName),yi=TU(ut.tagName);return ke[Ce.namespaceURI]?Ce.namespaceURI===je?ut.namespaceURI===vo?jt==="svg":ut.namespaceURI===Ji?jt==="svg"&&(yi==="annotation-xml"||Jo[yi]):!!ps[jt]:Ce.namespaceURI===Ji?ut.namespaceURI===vo?jt==="math":ut.namespaceURI===je?jt==="math"&&ms[yi]:!!Fr[jt]:Ce.namespaceURI===vo?ut.namespaceURI===je&&!ms[yi]||ut.namespaceURI===Ji&&!Jo[yi]?!1:!Fr[jt]&&(ho[jt]||!ps[jt]):!!(Xe==="application/xhtml+xml"&&ke[Ce.namespaceURI]):!1},oo=function(Ce){L1(t.removed,{element:Ce});try{Ce.parentNode.removeChild(Ce)}catch{Ce.remove()}},hr=function(Ce,ut){try{L1(t.removed,{attribute:ut.getAttributeNode(Ce),from:ut})}catch{L1(t.removed,{attribute:null,from:ut})}if(ut.removeAttribute(Ce),Ce==="is"&&!W[Ce])if(Me||Oe)try{oo(ut)}catch{}else try{ut.setAttribute(Ce,"")}catch{}},lf=function(Ce){let ut=null,jt=null;if(we)Ce="<remove></remove>"+Ce;else{let di=dFe(Ce,/^[\r\n\t ]+/);jt=di&&di[0]}Xe==="application/xhtml+xml"&&Ho===vo&&(Ce='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Ce+"</body></html>");let yi=C?C.createHTML(Ce):Ce;if(Ho===vo)try{ut=new p().parseFromString(yi,Xe)}catch{}if(!ut||!ut.documentElement){ut=v.createDocument(Ho,"template",null);try{ut.documentElement.innerHTML=wa?E:yi}catch{}}let Gs=ut.body||ut.documentElement;return Ce&&jt&&Gs.insertBefore(n.createTextNode(jt),Gs.childNodes[0]||null),Ho===vo?R.call(ut,ye?"html":"body")[0]:ye?ut.documentElement:Gs},Za=function(Ce){return D.call(Ce.ownerDocument||Ce,Ce,u.SHOW_ELEMENT|u.SHOW_COMMENT|u.SHOW_TEXT,null)},up=function(Ce){return Ce instanceof d&&(typeof Ce.nodeName!="string"||typeof Ce.textContent!="string"||typeof Ce.removeChild!="function"||!(Ce.attributes instanceof f)||typeof Ce.removeAttribute!="function"||typeof Ce.setAttribute!="function"||typeof Ce.namespaceURI!="string"||typeof Ce.insertBefore!="function"||typeof Ce.hasChildNodes!="function")},Wh=function(Ce){return typeof a=="function"&&Ce instanceof a},$a=function(Ce,ut,jt){N[Ce]&&yU(N[Ce],yi=>{yi.call(t,ut,jt,hn)})},fp=function(Ce){let ut=null;if($a("beforeSanitizeElements",Ce,null),up(Ce))return oo(Ce),!0;let jt=_t(Ce.nodeName);if($a("uponSanitizeElement",Ce,{tagName:jt,allowedTags:G}),Ce.hasChildNodes()&&!Wh(Ce.firstElementChild)&&pu(/<[/\w]/g,Ce.innerHTML)&&pu(/<[/\w]/g,Ce.textContent))return oo(Ce),!0;if(!G[jt]||j[jt]){if(!j[jt]&&hp(jt)&&(Q.tagNameCheck instanceof RegExp&&pu(Q.tagNameCheck,jt)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(jt)))return!1;if(wt&&!Xt[jt]){let yi=A(Ce)||Ce.parentNode,Gs=T(Ce)||Ce.childNodes;if(Gs&&yi){let di=Gs.length;for(let es=di-1;es>=0;--es)yi.insertBefore(x(Gs[es],!0),b(Ce))}}return oo(Ce),!0}return Ce instanceof c&&!cf(Ce)||(jt==="noscript"||jt==="noembed"||jt==="noframes")&&pu(/<\/no(script|embed|frames)/i,Ce.innerHTML)?(oo(Ce),!0):(_e&&Ce.nodeType===3&&(ut=Ce.textContent,yU([_,S,w],yi=>{ut=N1(ut,yi," ")}),Ce.textContent!==ut&&(L1(t.removed,{element:Ce.cloneNode()}),Ce.textContent=ut)),$a("afterSanitizeElements",Ce,null),!1)},dp=function(Ce,ut,jt){if(et&&(ut==="id"||ut==="name")&&(jt in n||jt in eo))return!1;if(!(he&&!Z[ut]&&pu(I,ut))){if(!(J&&pu(L,ut))){if(!W[ut]||Z[ut]){if(!(hp(Ce)&&(Q.tagNameCheck instanceof RegExp&&pu(Q.tagNameCheck,Ce)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(Ce))&&(Q.attributeNameCheck instanceof RegExp&&pu(Q.attributeNameCheck,ut)||Q.attributeNameCheck instanceof Function&&Q.attributeNameCheck(ut))||ut==="is"&&Q.allowCustomizedBuiltInElements&&(Q.tagNameCheck instanceof RegExp&&pu(Q.tagNameCheck,jt)||Q.tagNameCheck instanceof Function&&Q.tagNameCheck(jt))))return!1}else if(!Jt[ut]){if(!pu(V,N1(jt,U,""))){if(!((ut==="src"||ut==="xlink:href"||ut==="href")&&Ce!=="script"&&hFe(jt,"data:")===0&&Ee[Ce])){if(!(xe&&!pu(B,N1(jt,U,"")))){if(jt)return!1}}}}}}return!0},hp=function(Ce){return Ce.indexOf("-")>0},Dg=function(Ce){$a("beforeSanitizeAttributes",Ce,null);let{attributes:ut}=Ce;if(!ut)return;let jt={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:W},yi=ut.length;for(;yi--;){let Gs=ut[yi],{name:di,namespaceURI:es,value:Lc}=Gs,Ig=_t(di),Go=di==="value"?Lc:mFe(Lc);if(jt.attrName=Ig,jt.attrValue=Go,jt.keepAttr=!0,jt.forceKeepAttr=void 0,$a("uponSanitizeAttribute",Ce,jt),Go=jt.attrValue,jt.forceKeepAttr||(hr(di,Ce),!jt.keepAttr))continue;if(!re&&pu(/\/>/i,Go)){hr(di,Ce);continue}_e&&yU([_,S,w],nV=>{Go=N1(Go,nV," ")});let Pg=_t(Ce.nodeName);if(dp(Pg,Ig,Go)){if(vt&&(Ig==="id"||Ig==="name")&&(hr(di,Ce),Go=Qe+Go),C&&typeof g=="object"&&typeof g.getAttributeType=="function"&&!es)switch(g.getAttributeType(Pg,Ig)){case"TrustedHTML":{Go=C.createHTML(Go);break}case"TrustedScriptURL":{Go=C.createScriptURL(Go);break}}try{es?Ce.setAttributeNS(es,di,Go):Ce.setAttribute(di,Go),boe(t.removed)}catch{}}}$a("afterSanitizeAttributes",Ce,null)},Qv=function mn(Ce){let ut=null,jt=Za(Ce);for($a("beforeSanitizeShadowDOM",Ce,null);ut=jt.nextNode();)$a("uponSanitizeShadowNode",ut,null),!fp(ut)&&(ut.content instanceof r&&mn(ut.content),Dg(ut));$a("afterSanitizeShadowDOM",Ce,null)};return t.sanitize=function(mn){let Ce=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},ut=null,jt=null,yi=null,Gs=null;if(wa=!mn,wa&&(mn="<!-->"),typeof mn!="string"&&!Wh(mn))if(typeof mn.toString=="function"){if(mn=mn.toString(),typeof mn!="string")throw F1("dirty is not a string, aborting")}else throw F1("toString is not a function");if(!t.isSupported)return mn;if(De||Nr(Ce),t.removed=[],typeof mn=="string"&&(mt=!1),mt){if(mn.nodeName){let Lc=_t(mn.nodeName);if(!G[Lc]||j[Lc])throw F1("root node is forbidden and cannot be sanitized in-place")}}else if(mn instanceof a)ut=lf("<!---->"),jt=ut.ownerDocument.importNode(mn,!0),jt.nodeType===1&&jt.nodeName==="BODY"||jt.nodeName==="HTML"?ut=jt:ut.appendChild(jt);else{if(!Me&&!_e&&!ye&&mn.indexOf("<")===-1)return C&<?C.createHTML(mn):mn;if(ut=lf(mn),!ut)return Me?null:lt?E:""}ut&&we&&oo(ut.firstChild);let di=Za(mt?mn:ut);for(;yi=di.nextNode();)fp(yi)||(yi.content instanceof r&&Qv(yi.content),Dg(yi));if(mt)return mn;if(Me){if(Oe)for(Gs=O.call(ut.ownerDocument);ut.firstChild;)Gs.appendChild(ut.firstChild);else Gs=ut;return(W.shadowroot||W.shadowrootmode)&&(Gs=M.call(i,Gs,!0)),Gs}let es=ye?ut.outerHTML:ut.innerHTML;return ye&&G["!doctype"]&&ut.ownerDocument&&ut.ownerDocument.doctype&&ut.ownerDocument.doctype.name&&pu(Poe,ut.ownerDocument.doctype.name)&&(es="<!DOCTYPE "+ut.ownerDocument.doctype.name+`> +`+es),_e&&yU([_,S,w],Lc=>{es=N1(es,Lc," ")}),C&<?C.createHTML(es):es},t.setConfig=function(){let mn=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Nr(mn),De=!0},t.clearConfig=function(){hn=null,De=!1},t.isValidAttribute=function(mn,Ce,ut){hn||Nr({});let jt=_t(mn),yi=_t(Ce);return dp(jt,yi,ut)},t.addHook=function(mn,Ce){typeof Ce=="function"&&(N[mn]=N[mn]||[],L1(N[mn],Ce))},t.removeHook=function(mn){if(N[mn])return boe(N[mn])},t.removeHooks=function(mn){N[mn]&&(N[mn]=[])},t.removeAllHooks=function(){N={}},t}var wFe=Roe();Ooe.exports=wFe});var gre=Xn((q1,oW)=>{var LU=function(){"use strict";var e="b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:G:Qdkr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq;A9pLdbk;QqeKu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRbN:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9Uc;WFbGgecjdaecjd6Ehqcbhkindndnaiak9nmbaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndnaec9WGgsTmbcbhzaPhHawhOxekdnaxmbalheinaraw9Ram6miawcbamzNjjjbamfhwaecufgembxvkkcbhAaPhOinaDaAfRbbhCaDcjlfheaOhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkaraw9Ram6mdaOcefhOawcbamzNjjjbamfhwaAcefgAal9hmbxlkkindnaxTmbaDazfRbbhCaDcjlfheaHhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkkaraO9Ram6mearaOcbamzNjjjbgLamfgw9RcK6mecbhKaDcjlfhOinaDcjlfaKfhYcwhAczhQceheindndnaegXce9hmbcuhoaYRbbmecbhodninaogecsSmeaecefhoaOaefcefRbbTmbkkcucbaecs6EhoxekaXcethocuaXtc;:bGcFb7hCcbheinaoaCaOaefRbb9nfhoaecefgecz9hmbkkaoaQaoaQ6geEhQaXaAaeEhAaXcetheaXcl6mbkdndndndnaAcufPdiebkaLaKco4fgeaeRbbcdciaAclSEaKci4coGtV86bbaAcw9hmeawaY8Pbb83bbawcwfaYcwf8Pbb83bbawczfhwxdkaLaKco4fgeaeRbbceaKci4coGtV86bbkdncwaA9Tg8Ambinawcb86bbawcefhwxbkkcuaAtcu7hYcbhEaOh3ina3hea8AhCcbhoinaeRbbgQaYcFeGgXaQaX6EaoaAtVhoaecefheaCcufgCmbkawao86bba3a8Afh3awcefhwaEa8AfgEcz6mbkcbheindnaOaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaKczfgKas9pmbaOczfhOaraw9RcL0mekkaKas6meawTmeaHcefhHawhOazcefgzalSmixbkkcbhoxikcbhoaraw9Ralcaalca0E6mddnalc8F0mbawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9RhoxdkaDaPaxcufal2falz:tjjjb8Aaxakfhkawmbkcbhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBdN:kjjbk:zse5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:e:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc:y1jjbfydbcdtfydbh3aLaocN1jjbfydbcdtfydbh8AaLaoc:q1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc:q1jjbfydbcdtfydbgKTaLavcN1jjbfydbcdtfydbg8AceSGaLavc:y1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavcj1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:e:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:e:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b9kEc:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A9kEc:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk;HqdCui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgradcFFFFi0Ecbyd:m:kjjbHjjjjbbgeBd:SeavceBd:mdaeabarz:tjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaeadaiavc:Sefz:njjjbavyd:Gehwadci9UgDcbyd:m:kjjbHjjjjbbhravc:Sefavyd:mdgqcdtfarBdbavaqcefgkBd:mdarcbaDzNjjjbhxavc:SefakcdtfcuaicdtaicFFFFi0Ecbyd:m:kjjbHjjjjbbgmBdbavaqcdfgPBd:mdawhramhkinakalIdbalarydbgscwascw6Ecdtfc;ebfIdbMUdbarclfhrakclfhkaicufgimbkavc:SefaPcdtfcuaDcdtadcFFFF970Ecbyd:m:kjjbHjjjjbbgPBdbdnadci6mbaehraPhkaDhiinakamarydbcdtfIdbamarclfydbcdtfIdbMamarcwfydbcdtfIdbMUdbarcxfhrakclfhkaicufgimbkkaqcifhoavc;qbfhzavhravyd:KehHavyd:OehOcbhscbhkcbhAcehCinarhXcihQaeakci2gLcdtfgrydbhdarclfydbhqabaAcx2fgicwfarcwfydbgKBdbaiclfaqBdbaiadBdbaxakfce86bbazaKBdwazaqBdlazadBdbaPakcdtfcbBdbdnasTmbcihQaXhiinazaQcdtfaiydbgrBdbaQaraK9harad9haraq9hGGfhQaiclfhiascufgsmbkkaAcefhAcbhsinaOaHaeasaLfcdtfydbcdtgifydbcdtfgKhrawaifgqydbgdhidnadTmbdninarydbakSmearclfhraicufgiTmdxbkkaraKadcdtfc98fydbBdbaqaqydbcufBdbkascefgsci9hmbkdndnaQTmbcuhkJbbbbhYcbhqavyd:KehKavyd:OehLindndnawazaqcdtfydbcdtgsfydbgrmbaqcefhqxekaqcs0hiamasfgdIdbh8AadalcbaqcefgqaiEcdtfIdbalarcwarcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEarcdthiaLaKasfydbcdtfhrinaParydbgscdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYasakadEhkarclfhraic98fgimbkkaqaQ9hmbkakcu9hmekaCaD9pmdindnaxaCfRbbmbaChkxdkaDaCcefgC9hmbxikkaQczaQcz6EhsazhraXhzakcu9hmbkkaocdtavc:Seffc98fhrdninaoTmearydbcbyd1:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd:m:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Wkivuo99lu8Jjjjjbc;W;Gb9Rgl8Kjjjjbcbhvalcj;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:m:kjjbHjjjjbbgrBdj9GalceBd;G9GalcFFF;7rBdwal9cFFF;7;3FF:;Fb83dbalcFFF97Bd;S9Gal9cFFF;7FFF:;u83d;K9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;K;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;S9GhDalIdlhkalId;O9GhxalIdbhmalId;K9GhPkdndnadTmbJbbbbJbbjZJbbbbaPam:tgPaPJbbbb9DEgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhHalaocbyd:m:kjjbHjjjjbbgiBd:e9GdnadTmbabhzinazaHBdbazclfhzadaHcefgH9hmbkabhHadhzinalaraHydbgecdtfydbcFrGcx2fgvavydbgvcefBdbaiavcdtfaeBdbaHclfhHazcufgzmbkaihHadhzinalaraHydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaHclfhHazcufgzmbkabhHadhzinalaraHydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwaiavcdtfaeBdbaHclfhHazcufgzmbkcbhHinabaiydbcdtfaHBdbaiclfhiadaHcefgH9hmbkkclhidninaic98Smealcj;Gbfaifydbcbyd1:kjjbH:bjjjbbaic98fhixbkkalc;W;Gbf8Kjjjjbk9teiucbcbyd:q:kjjbgeabcifc98GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:kjjbgeabcrfc94GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:kjjbfgdBd:q:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iddbcjwk:edb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:bc:eqkzebbbebbbdbbba:vbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(g){n=g.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(0),n.exports.meshopt_encodeIndexVersion(1)});function o(g){for(var m=new Uint8Array(g.length),x=0;x<g.length;++x){var b=g.charCodeAt(x);m[x]=b>96?b-97:b>64?b-39:b+4}for(var T=0,x=0;x<g.length;++x)m[T++]=m[x]<60?t[m[x]]:(m[x]-60)*64+m[++x];return m.buffer.slice(0,T)}function r(g){if(!g)throw new Error("Assertion failed")}function s(g){return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)}function a(g,m,x,b){var T=n.exports.sbrk,A=T(m.length*4),C=T(x*4),E=new Uint8Array(n.exports.memory.buffer),v=s(m);E.set(v,A),b&&b(A,A,m.length,x);var D=g(C,A,m.length,x);E=new Uint8Array(n.exports.memory.buffer);var O=new Uint32Array(x);new Uint8Array(O.buffer).set(E.subarray(C,C+x*4)),v.set(E.subarray(A,A+m.length*4)),T(A-T(0));for(var R=0;R<m.length;++R)m[R]=O[m[R]];return[O,D]}function c(g,m,x,b){var T=n.exports.sbrk,A=T(x*4),C=T(x*b),E=new Uint8Array(n.exports.memory.buffer);E.set(s(m),C),g(A,C,x,b),E=new Uint8Array(n.exports.memory.buffer);var v=new Uint32Array(x);return new Uint8Array(v.buffer).set(E.subarray(A,A+x*4)),T(A-T(0)),v}function u(g,m,x,b,T){var A=n.exports.sbrk,C=A(m),E=A(b*T),v=new Uint8Array(n.exports.memory.buffer);v.set(s(x),E);var D=g(C,m,E,b,T),O=new Uint8Array(D);return O.set(v.subarray(C,C+D)),A(C-A(0)),O}function f(g){for(var m=0,x=0;x<g.length;++x){var b=g[x];m=m<b?b:m}return m}function d(g,m){if(r(m==2||m==4),m==4)return new Uint32Array(g.buffer,g.byteOffset,g.byteLength/4);var x=new Uint16Array(g.buffer,g.byteOffset,g.byteLength/2);return new Uint32Array(x)}function p(g,m,x,b,T,A,C){var E=n.exports.sbrk,v=E(x*b),D=E(x*A),O=new Uint8Array(n.exports.memory.buffer);O.set(s(m),D),g(v,x,b,T,D,C);var R=new Uint8Array(x*b);return R.set(O.subarray(v,v+x*b)),E(v-E(0)),R}return{ready:i,supported:!0,reorderMesh:function(g,m,x){var b=m?x?n.exports.meshopt_optimizeVertexCacheStrip:n.exports.meshopt_optimizeVertexCache:void 0;return a(n.exports.meshopt_optimizeVertexFetchRemap,g,f(g)+1,b)},reorderPoints:function(g,m){return r(g instanceof Float32Array),r(g.length%m==0),r(m>=3),c(n.exports.meshopt_spatialSortRemap,g,g.length/m,m*4)},encodeVertexBuffer:function(g,m,x){r(x>0&&x<=256),r(x%4==0);var b=n.exports.meshopt_encodeVertexBufferBound(m,x);return u(n.exports.meshopt_encodeVertexBuffer,b,g,m,x)},encodeIndexBuffer:function(g,m,x){r(x==2||x==4),r(m%3==0);var b=d(g,x),T=n.exports.meshopt_encodeIndexBufferBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexBuffer,T,b,m,4)},encodeIndexSequence:function(g,m,x){r(x==2||x==4);var b=d(g,x),T=n.exports.meshopt_encodeIndexSequenceBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexSequence,T,b,m,4)},encodeGltfBuffer:function(g,m,x,b){var T={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(T[b]),T[b](g,m,x)},encodeFilterOct:function(g,m,x,b){return r(x==4||x==8),r(b>=1&&b<=16),p(n.exports.meshopt_encodeFilterOct,g,m,x,b,16)},encodeFilterQuat:function(g,m,x,b){return r(x==8),r(b>=4&&b<=16),p(n.exports.meshopt_encodeFilterQuat,g,m,x,b,16)},encodeFilterExp:function(g,m,x,b,T){r(x>0&&x%4==0),r(b>=1&&b<=24);var A={Separate:0,SharedVector:1,SharedComponent:2,Clamped:3};return p(n.exports.meshopt_encodeFilterExp,g,m,x,b,x,T?A[T]:1)}}}();typeof q1=="object"&&typeof oW=="object"?oW.exports=LU:typeof define=="function"&&define.amd?define([],function(){return LU}):typeof q1=="object"?q1.MeshoptEncoder=LU:(typeof self<"u"?self:q1).MeshoptEncoder=LU});var yre=Xn((Y1,rW)=>{var NU=function(){"use strict";var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q:Odkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklzNbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q:6dkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(n)?a(t):a(e),r,s=WebAssembly.instantiate(o,{}).then(function(T){r=T.instance,r.exports.__wasm_call_ctors()});function a(T){for(var A=new Uint8Array(T.length),C=0;C<T.length;++C){var E=T.charCodeAt(C);A[C]=E>96?E-97:E>64?E-39:E+4}for(var v=0,C=0;C<T.length;++C)A[v++]=A[C]<60?i[A[C]]:(A[C]-60)*64+A[++C];return A.buffer.slice(0,v)}function c(T,A,C,E,v,D,O){var R=T.exports.sbrk,M=E+3&-4,N=R(M*v),_=R(D.length),S=new Uint8Array(T.exports.memory.buffer);S.set(D,_);var w=A(N,E,v,_,D.length);if(w==0&&O&&O(N,M,v),C.set(S.subarray(N,N+E*v)),R(N-R(0)),w!=0)throw new Error("Malformed buffer data: "+w)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},d=[],p=0;function g(T){var A={object:new Worker(T),pending:0,requests:{}};return A.object.onmessage=function(C){var E=C.data;A.pending-=E.count,A.requests[E.id][E.action](E.value),delete A.requests[E.id]},A}function m(T){for(var A="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(o)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+b.name+";"+c.toString()+b.toString(),C=new Blob([A],{type:"text/javascript"}),E=URL.createObjectURL(C),v=d.length;v<T;++v)d[v]=g(E);for(var v=T;v<d.length;++v)d[v].object.postMessage({});d.length=T,URL.revokeObjectURL(E)}function x(T,A,C,E,v){for(var D=d[0],O=1;O<d.length;++O)d[O].pending<D.pending&&(D=d[O]);return new Promise(function(R,M){var N=new Uint8Array(C),_=++p;D.pending+=T,D.requests[_]={resolve:R,reject:M},D.object.postMessage({id:_,count:T,size:A,source:N,mode:E,filter:v},[N.buffer])})}function b(T){var A=T.data;if(!A.id)return self.close();self.ready.then(function(C){try{var E=new Uint8Array(A.count*A.size);c(C,C.exports[A.mode],E,A.count,A.size,A.source,C.exports[A.filter]),self.postMessage({id:A.id,count:A.count,action:"resolve",value:E},[E.buffer])}catch(v){self.postMessage({id:A.id,count:A.count,action:"reject",value:v})}})}return{ready:s,supported:!0,useWorkers:function(T){m(T)},decodeVertexBuffer:function(T,A,C,E,v){c(r,r.exports.meshopt_decodeVertexBuffer,T,A,C,E,r.exports[u[v]])},decodeIndexBuffer:function(T,A,C,E){c(r,r.exports.meshopt_decodeIndexBuffer,T,A,C,E)},decodeIndexSequence:function(T,A,C,E){c(r,r.exports.meshopt_decodeIndexSequence,T,A,C,E)},decodeGltfBuffer:function(T,A,C,E,v,D){c(r,r.exports[f[v]],T,A,C,E,r.exports[u[D]])},decodeGltfBufferAsync:function(T,A,C,E,v){return d.length>0?x(T,A,C,f[E],u[v]):s.then(function(){var D=new Uint8Array(T*A);return c(r,r.exports[f[E]],D,T,A,C,r.exports[u[v]]),D})}}}();typeof Y1=="object"&&typeof rW=="object"?rW.exports=NU:typeof define=="function"&&define.amd?define([],function(){return NU}):typeof Y1=="object"?Y1.MeshoptDecoder=NU:(typeof self<"u"?self:Y1).MeshoptDecoder=NU});var xre=Xn((X1,sW)=>{var FU=function(){"use strict";var e="b9H79Tebbbe9Hk9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gvuuuuue999Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuecj:Pdkr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdmxq;UMesdbk:kfvKue99euY99Qu8Jjjjjbc;W;qb9Rgs8Kjjjjbcbhzascxfcbc;Kbz:ljjjb8AdnabaeSmbabaeadcdtz:kjjjb8AkdnamcdGTmbalcrfci4gHcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd;S1jjbHjjjjbbhzascxfasyd2gecdtfazBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhQdnadTmbaecufhCcbhLinabaXcdtfgKydbgAc:v;t;h;Ev2hOcbhedndninaQaOaCGgOcdtfgYydbgHcuSmeazaHcdtfydbaASmdaecefgeaOfhOaeaC9nmbxdkkazaLcdtfaABdbaYaLBdbaLhHaLcefhLkaKaHBdbaXcefgXad9hmbkkaQcbyd;O1jjbH:bjjjbbasasyd2cufBd2kcualcefgecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbh8Aascxfasyd2gecdtfa8ABdbasa8ABdlasaecefBd2cuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbhEascxfasyd2gecdtfaEBdbasaEBdwasaecefBd2asclfabadalcbz:cjjjbcualcdtg3alcFFFFi0Eg5cbyd;S1jjbHjjjjbbhQascxfasyd2gecdtfaQBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Eascxfasyd2gecdtfa8EBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhLcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhXdnalTmbavcd4hCaecufhHinaLhednazTmbazaLcdtfydbhekaiaeaC2cdtfgeydlgOcH4aO7c:F:b:DD2aeydbgOcH4aO7c;D;O:B8J27aeydwgecH4ae7c:3F;N8N27aHGheaLcdth8FdndndndndnazTmbaza8FfhKcbhOinaXaecdtfgYydbgAcuSmlaiazaAcdtfydbaC2cdtfaiaKydbaC2cdtfcxz:ojjjbTmiaOcefgOaefaHGheaOaH9nmbxdkkaiaLaC2cdtfhKcbhOinaXaecdtfgYydbgAcuSmiaiaAaC2cdtfaKcxz:ojjjbTmdaOcefgOaefaHGheaOaH9nmbkkcbhYkaYydbgecu9hmekaYaLBdbaLhekaQa8FfaeBdbaLcefgLal9hmbkcbhea8EhHinaHaeBdbaHclfhHalaecefge9hmbkcbheaQhHa8EhOindnaeaHydbgCSmbaOa8EaCcdtfgCydbBdbaCaeBdbkaHclfhHaOclfhOalaecefge9hmbkkcbhaaXcbyd;O1jjbH:bjjjbbasasyd2cufBd2alcbyd;S1jjbHjjjjbbhXascxfasyd2gecdtfaXBdbasaecefBd2a5cbyd;S1jjbHjjjjbbheascxfasyd2gHcdtfaeBdbasaHcefBd2a5cbyd;S1jjbHjjjjbbhHascxfasyd2gOcdtfaHBdbasaOcefBd2aecFea3z:ljjjbhhaHcFea3z:ljjjbhgdnalTmbaEcwfh8Jindna8AaagOcefgacdtfydbgCa8AaOcdtgefydbgHSmbaCaH9Rh8FaEaHcitfh3agaefh8KahaefhLcbhAindndna3aAcitfydbgYaO9hmbaLaOBdba8KaOBdbxekdna8AaYcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgCfydbaOSmeaHae9Rh8Maecu7aHfhKa8JaCfhHcbheinaKaeSmeaecefheaHydbhCaHcwfhHaCaO9hmbkaea8M6mekaga8LfgeaOaYaeydbcuSEBdbaLaYaOaLydbcuSEBdbkaAcefgAa8F9hmbkkaaal9hmbkaQhHa8EhOaghCahhAcbheindndnaeaHydbgY9hmbdnaeaOydbgY9hmbaAydbhYdnaCydbgKcu9hmbaYcu9hmbaXaefcb86bbxikaXaefhLdnaeaKSmbaeaYSmbaLce86bbxikaLcl86bbxdkdnaea8EaYcdtgKfydb9hmbdnaCydbgLcuSmbaeaLSmbaAydbg8FcuSmbaea8FSmbagaKfydbg3cuSmba3aYSmbahaKfydbgKcuSmbaKaYSmbdnaQaLcdtfydbgYaQaKcdtfydb9hmbaYaQa8FcdtfydbgKSmbaKaQa3cdtfydb9hmbaXaefcd86bbxlkaXaefcl86bbxikaXaefcl86bbxdkaXaefcl86bbxekaXaefaXaYfRbb86bbkaHclfhHaOclfhOaCclfhCaAclfhAalaecefge9hmbkdnaqTmbdndnazTmbazheaQhHalhOindnaqaeydbfRbbTmbaXaHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaQhealhHindnaqRbbTmbaXaeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaQhealhOaXhHindnaXaeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmbaXhealhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhaascxfasyd2gecdtfaaBdbasaecefBd2aaaialavazz:djjjbh8NdndnaDmbcbhycbh8Jxekcbh8JawhecbhHindnaeIdbJbbbb9ETmbasc;Wbfa8JcdtfaHBdba8Jcefh8JkaeclfheaDaHcefgH9hmbkcua8Jal2gecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbhyascxfasyd2gecdtfayBdbasaecefBd2alTmba8JTmbarcd4hLdnazTmba8JcdthicbhYayhKinaoazaYcdtfydbaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbxdkka8JcdthicbhYayhKinaoaYaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbkkcualc8S2gHalc;D;O;f8U0EgCcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhqdndndndna8JTmbaCcbyd;S1jjbHjjjjbbhvascxfasyd2gecdtfavBdbcehOasaecefBd2avcbaHz:ljjjb8Acua8Jal2gecltgHaecFFFFb0Ecbyd;S1jjbHjjjjbbhrascxfasyd2gecdtfarBdbasaecefBd2arcbaHz:ljjjb8AadmexikcbhvadTmecbhrkcbhAabhHindnaaaHclfydbgYcx2fgeIdbaaaHydbgKcx2fgOIdbg8P:tgIaaaHcwfydbgLcx2fgCIdlaOIdlg8R:tg8SNaCIdba8P:tgRaeIdla8R:tg8UN:tg8Va8VNa8UaCIdwaOIdwg8W:tg8XNa8SaeIdwa8W:tg8UN:tg8Sa8SNa8UaRNa8XaIN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaKcdtfydbc8S2fgea8SaR:rgRa8SNNg8UaeIdbMUdbaeaIaRaINg8YNg8XaeIdlMUdlaea8VaRa8VNg8ZNg80aeIdwMUdwaea8Ya8SNg8YaeIdxMUdxaea8Za8SNg81aeIdzMUdzaea8ZaINg8ZaeIdCMUdCaea8SaRa8Va8WNa8Sa8PNa8RaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaYcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaLcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaHcxfhHaAcifgAad6mbkcbhiabhKinabaicdtfhYcbhHinaXaYaHc:G1jjbfydbcdtfydbgOfRbbhedndnaXaKaHfydbgCfRbbgAc99fcFeGcpe0mbaeceSmbaecd9hmekdnaAcufcFeGce0mbahaCcdtfydbaO9hmekdnaecufcFeGce0mbagaOcdtfydbaC9hmekdnaAcv2aefcj1jjbfRbbTmbaQaOcdtfydbaQaCcdtfydb0mekJbbacJbbacJbbjZaeceSEaAceSEh8ZdnaaaYaHc:K1jjbfydbcdtfydbcx2fgeIdwaaaCcx2fgAIdwg8R:tg8VaaaOcx2fgLIdwa8R:tg8Sa8SNaLIdbaAIdbg8W:tgIaINaLIdlaAIdlg8U:tgRaRNMMg8PNa8Va8SNaeIdba8W:tg80aINaRaeIdla8U:tg8YNMMg8Xa8SN:tg8Va8VNa80a8PNa8XaIN:tg8Sa8SNa8Ya8PNa8XaRN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaCcdtfydbc8S2fgea8Sa8Za8P:rNgRa8SNNg8XaeIdbMUdbaeaIaRaINg8ZNg80aeIdlMUdlaea8VaRa8VNg8PNg8YaeIdwMUdwaea8Za8SNg8ZaeIdxMUdxaea8Pa8SNg81aeIdzMUdzaea8PaINgBaeIdCMUdCaea8SaRa8Va8RNa8Sa8WNa8UaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaOcdtfydbc8S2fgea8XaeIdbMUdbaea80aeIdlMUdlaea8YaeIdwMUdwaea8ZaeIdxMUdxaea81aeIdzMUdzaeaBaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaicifgiad6mbkdna8JTmbcbhKinJbbbbh8WaaabaKcdtfgeclfydbgLcx2fgHIdwaaaeydbgicx2fgOIdwg8Y:tgIaINaHIdbaOIdbg81:tg8Va8VNaHIdlaOIdlgB:tgRaRNMMg8Zaaaecwfydbg8Fcx2fgeIdwa8Y:tg8PNaIaIa8PNa8VaeIdba81:tg8RNaRaeIdlaB:tg8UNMMg8SN:tJbbbbJbbjZa8Za8Pa8PNa8Ra8RNa8Ua8UNMMg80Na8Sa8SN:tg8X:va8XJbbbb9BEg8XNh83a80aINa8Pa8SN:ta8XNhUa8Za8UNaRa8SN:ta8XNh85a80aRNa8Ua8SN:ta8XNh86a8Za8RNa8Va8SN:ta8XNh87a80a8VNa8Ra8SN:ta8XNh88a8Va8UNa8RaRN:tg8Sa8SNaRa8PNa8UaIN:tg8Sa8SNaIa8RNa8Pa8VN:tg8Sa8SNMM:rJbbbZNh8Sayaia8J2g3cdtfhHaya8Fa8J2gwcdtfhOayaLa8J2g8LcdtfhCa8Y:mh89aB:mh8:a81:mhZcbhAa8JhYJbbbbh8UJbbbbh8XJbbbbh8ZJbbbbh80Jbbbbh8YJbbbbh81JbbbbhBJbbbbhnJbbbbhcinasc;WbfaAfgecwfa8SaUaCIdbaHIdbg8P:tgRNa83aOIdba8P:tg8RNMgINUdbaeclfa8Sa86aRNa85a8RNMg8VNUdbaea8Sa88aRNa87a8RNMgRNUdbaecxfa8Sa89aINa8:a8VNa8PaZaRNMMMg8PNUdba8SaIa8VNNa80Mh80a8SaIaRNNa8YMh8Ya8Sa8VaRNNa81Mh81a8Sa8Pa8PNNa8WMh8Wa8SaIa8PNNa8UMh8Ua8Sa8Va8PNNa8XMh8Xa8SaRa8PNNa8ZMh8Za8SaIaINNaBMhBa8Sa8Va8VNNanMhna8SaRaRNNacMhcaHclfhHaCclfhCaOclfhOaAczfhAaYcufgYmbkavaic8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyavaLc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyava8Fc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyara3cltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkara8LcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkarawcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkaKcifgKad6mbkkcbhOxekcehOcbhrkcbh8FdndnamcwGg9cmbJbbbbh8ZcbhJcbhocbhCxekcbhea5cbyd;S1jjbHjjjjbbhCascxfasyd2gHcdtfaCBdbasaHcefBd2dnalTmbaChHinaHaeBdbaHclfhHalaecefge9hmbkkdnaOmbcbhiinabaicdtfhLcbhKinaQaLaKcdtgec:G1jjbfydbcdtfydbcdtfydbhHdnaCaQaLaefydbcdtfydbgOcdtfgAydbgeaOSmbinaAaCaegOcdtfgYydbgeBdbaYhAaOae9hmbkkdnaCaHcdtfgAydbgeaHSmbinaAaCaegHcdtfgYydbgeBdbaYhAaHae9hmbkkdnaOaHSmbaCaOaHaOaH0EcdtfaOaHaOaH6EBdbkaKcefgKci9hmbkaicifgiad6mbkkcbhJdnalTmbcbhYindnaQaYcdtgefydbaY9hmbaYhHdnaCaefgKydbgeaYSmbaKhOinaOaCaegHcdtfgAydbgeBdbaAhOaHae9hmbkkaKaHBdbkaYcefgYal9hmbkcbheaQhOaChHcbhJindndnaeaOydbgA9hmbdnaeaHydbgA9hmbaHaJBdbaJcefhJxdkaHaCaAcdtfydbBdbxekaHaCaAcdtfydbBdbkaOclfhOaHclfhHalaecefge9hmbkkcuaJcltgeaJcjjjjiGEcbyd;S1jjbHjjjjbbhoascxfasyd2gHcdtfaoBdbasaHcefBd2aocbaez:ljjjbhAdnalTmbaChOaahealhYinaecwfIdbh8SaeclfIdbhIaAaOydbcltfgHaeIdbaHIdbMUdbaHclfgKaIaKIdbMUdbaHcwfgKa8SaKIdbMUdbaHcxfgHaHIdbJbbjZMUdbaOclfhOaecxfheaYcufgYmbkkdnaJTmbaAheaJhHinaecxfgOIdbh8SaOcbBdbaeaeIdbJbbbbJbbjZa8S:va8SJbbbb9BEg8SNUdbaeclfgOa8SaOIdbNUdbaecwfgOa8SaOIdbNUdbaeczfheaHcufgHmbkkdnalTmbaChOaahealhYinaAaOydbcltfgHcxfgKaecwfIdbaHcwfIdb:tg8Sa8SNaeIdbaHIdb:tg8Sa8SNaeclfIdbaHclfIdb:tg8Sa8SNMMg8SaKIdbgIaIa8S9DEUdbaOclfhOaecxfheaYcufgYmbkkdnaJmbcbhJJFFuuh8ZxekaAcxfheaAhHaJhOinaHaeIdbUdbaeczfheaHclfhHaOcufgOmbkJFFuuh8ZaAheaJhHinaeIdbg8Sa8Za8Za8S9EEh8ZaeclfheaHcufgHmbkkasydlh9ednalTmba9eclfhea9eydbhAaXhHalhYcbhOincbaeydbgKaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaKhAaYcufgYmbkaOce4h8Fkcuada8F9RcifgTcx2aTc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhDascxfasyd2gecdtfaDBdbasaecefBd2cuaTcdtaTcFFFFi0Ecbyd;S1jjbHjjjjbbhSascxfasyd2gecdtfaSBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Mascxfasyd2gecdtfa8MBdbasaecefBd2alcbyd;S1jjbHjjjjbbh9hascxfasyd2gecdtfa9hBdbasaecefBd2axaxNa8NJbbjZamclGEg83a83N:vhcJbbbbhndnadak9nmbdnaTci6mba8Jclth9iaDcwfh6JbbbbhBJbbbbhninasclfabadalaQz:cjjjbabh8FcbhEcbh5inaba5cdtfh3cbheindnaQa8FaefydbgOcdtgifydbgYaQa3aec:W1jjbfydbcdtfydbgHcdtgwfydbgKSmbaXaHfRbbgLcv2aXaOfRbbgAfc;a1jjbfRbbg8AaAcv2aLfg8Lc;a1jjbfRbbg8KVcFeGTmbdnaKaY9nmba8Lcj1jjbfRbbcFeGmekaAcufhYdnaAaL9hmbaYcFeGce0mbahaifydbaH9hmekdndnaAclSmbaLcl9hmekdnaYcFeGce0mbahaifydbaH9hmdkaLcufcFeGce0mbagawfydbaO9hmekaDaEcx2fgAaHaOa8KcFeGgYEBdlaAaOaHaYEBdbaAaYa8AGcb9hBdwaEcefhEkaeclfgecx9hmbkdna5cifg5ad9pmba8Fcxfh8FaEcifaT9nmekkaETmdcbhiinJbbbbJbbjZaqaQaDaicx2fgAydlgKaAydbgYaAydwgHEgLcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaYaKaHEg8Fcx2fgHIdwgRNaeIdzaHIdbg8PNaeIdaMg8Sa8SMMaRNaeIdlaHIdlg8RNaeIdCaRNaeId3Mg8Sa8SMMa8RNaeIdba8PNaeIdxa8RNaeIdKMg8Sa8SMMa8PNaeId8KMMM:lNh80JbbbbJbbjZaqaQaYcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaKcx2fgHIdwg8VNaeIdzaHIdbg8WNaeIdaMg8Sa8SMMa8VNaeIdlaHIdlg8UNaeIdCa8VNaeId3Mg8Sa8SMMa8UNaeIdba8WNaeIdxa8UNaeIdKMg8Sa8SMMa8WNaeId8KMMM:lNh8YaAcwfh3aAclfhwdna8JTmbavaYc8S2fgOIdwa8VNaOIdza8WNaOIdaMg8Sa8SMMa8VNaOIdla8UNaOIdCa8VNaOId3Mg8Sa8SMMa8UNaOIdba8WNaOIdxa8UNaOIdKMg8Sa8SMMa8WNaOId8KMMMh8SayaKa8J2cdtfhHaraYa8J2cltfheaOIdyh8Xa8JhOinaHIdbgIaIa8XNaecxfIdba8VaecwfIdbNa8WaeIdbNa8UaeclfIdbNMMMgIaIM:tNa8SMh8SaHclfhHaeczfheaOcufgOmbkavaLc8S2fgOIdwaRNaOIdza8PNaOIdaMgIaIMMaRNaOIdla8RNaOIdCaRNaOId3MgIaIMMa8RNaOIdba8PNaOIdxa8RNaOIdKMgIaIMMa8PNaOId8KMMMhIaya8Fa8J2cdtfhHaraLa8J2cltfheaOIdyh8Wa8JhOinaHIdbg8Va8Va8WNaecxfIdbaRaecwfIdbNa8PaeIdbNa8RaeclfIdbNMMMg8Va8VM:tNaIMhIaHclfhHaeczfheaOcufgOmbka80aI:lMh80a8Ya8S:lMh8YkawaKa8Fa8Ya809FgeEBdbaAaYaLaeEBdba3a8Ya80aeEUdbaicefgiaE9hmbkasc;Wbfcbcj;qbz:ljjjb8Aa6heaEhHinasc;WbfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinasc;WbfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea6hHinasc;WbfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdbaSaOcdtfaeBdbaHcxfhHaEaecefge9hmbkadak9RgOci9Uh9kdnalTmbcbhea8MhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh0a9hcbalz:ljjjbh9maOcO9Uh9na9kce4h9oasydwh9pcbh8KcbhwdninaDaSawcdtfydbcx2fg3Idwg8Sac9Emea8Ka9k9pmeJFFuuhIdna9oaE9pmbaDaSa9ocdtfydbcx2fIdwJbb;aZNhIkdna8SaI9ETmba8San9ETmba8Ka9n0mdkdna9maQa3ydlgicdtg9qfydbgAfg9rRbba9maQa3ydbgLcdtg9sfydbgHfg9tRbbVmbaXaLfRbbh9udna9eaHcdtfgeclfydbgOaeydbgeSmbaOae9RhKa9paecitfheaaaAcx2fg8Lcwfh5a8Lclfh9vaaaHcx2fg8Acwfh9wa8Aclfh9xcbhHceh8Fdnindna8MaeydbcdtfydbgOaASmba8MaeclfydbcdtfydbgYaASmbaOaYSmbaaaYcx2fgYIdbaaaOcx2fgOIdbg8V:tg8Sa9xIdbaOIdlgR:tg8WNa8AIdba8V:tg8UaYIdlaR:tgIN:tg8Pa8Sa9vIdbaR:tg8XNa8LIdba8V:tg80aIN:tgRNaIa9wIdbaOIdwg8R:tg8YNa8WaYIdwa8R:tg8VN:tg8WaIa5Idba8R:tg81Na8Xa8VN:tgINa8Va8UNa8Ya8SN:tg8Ra8Va80Na81a8SN:tg8SNMMa8Pa8PNa8Wa8WNa8Ra8RNMMaRaRNaIaINa8Sa8SNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaK6h8FaKaH9hmbkka8FceGTmba9ocefh9oxeka3cwfhHdndndndna9uc9:fPdebdkaLheina8MaecdtgefaiBdba8EaefydbgeaL9hmbxikkdnagahaha9sfydbaiSEa8Ea9sfydbgLcdtfydbgecu9hmba8Ea9qfydbheka8Ma9sfaiBdbaehika8MaLcdtfaiBdbka9tce86bba9rce86bbaHIdbg8Sanana8S9DEhna0cefh0cecda9uceSEa8Kfh8KkawcefgwaE9hmbkka0TmddnalTmbcbhKcbhiindna8MaicdtgefydbgOaiSmbaQaOcdtfydbh8FdnaiaQaefydb9hg3mbaqa8Fc8S2fgeaqaic8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyka8JTmbavaOc8S2fgeavaic8S2gwfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9iaO2hLarhHa8JhAinaHaLfgeaHaKfgOIdbaeIdbMUdbaeclfgYaOclfIdbaYIdbMUdbaecwfgYaOcwfIdbaYIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbka3mbJbbbbJbbjZaqawfgeIdyg8S:va8SJbbbb9BEaeIdwaaa8Fcx2fgHIdwg8SNaeIdzaHIdbgINaeIdaMg8Va8VMMa8SNaeIdlaHIdlg8VNaeIdCa8SNaeId3Mg8Sa8SMMa8VNaeIdbaINaeIdxa8VNaeIdKMg8Sa8SMMaINaeId8KMMM:lNg8SaBaBa8S9DEhBkaKa9ifhKaicefgial9hmbkcbhHahheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOahaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHagheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOagaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkkaBana8JEhBcbhYabhecbhKindna8MaeydbcdtfydbgHa8MaeclfydbcdtfydbgOSmbaHa8MaecwfydbcdtfydbgASmbaOaASmbabaYcdtfgLaHBdbaLcwfaABdbaLclfaOBdbaYcifhYkaecxfheaKcifgKad6mbkdndna9cTmbaYak9nmba8ZaB9FTmbcbhdabhecbhHindnaoaCaeydbgOcdtfydbcdtfIdbaB9ETmbabadcdtfgAaOBdbaAclfaeclfydbBdbaAcwfaecwfydbBdbadcifhdkaecxfheaHcifgHaY6mbkJFFuuh8ZaJTmeaoheaJhHJFFuuh8SinaeIdbgIa8Sa8SaI9EEg8Va8SaIaB9EgOEh8Sa8Va8ZaOEh8ZaeclfheaHcufgHmbxdkkaYhdkadak0mbxdkkasclfabadalaQz:cjjjbkdndnadak0mbadhOxekdna9cmbadhOxekdna8Zac9FmbadhOxekina8ZJbb;aZNg8Saca8Sac9DEh8VJbbbbh8SdnaJTmbaoheaJhHinaeIdbgIa8SaIa8V9FEa8SaIa8S9EEh8SaeclfheaHcufgHmbkkcbhOabhecbhHindnaoaCaeydbgAcdtfydbcdtfIdba8V9ETmbabaOcdtfgYaABdbaYclfaeclfydbBdbaYcwfaecwfydbBdbaOcifhOkaecxfheaHcifgHad6mbkJFFuuh8ZdnaJTmbaoheaJhHJFFuuhIinaeIdbgRaIaIaR9EEg8PaIaRa8V9EgAEhIa8Pa8ZaAEh8ZaeclfheaHcufgHmbkkdnaOad9hmbadhOxdka8Sanana8S9DEhnaOak9nmeaOhda8Zac9FmbkkdnamcjjjjlGTmbazmbaOTmbcbhQabheinaXaeydbgAfRbbc3thKaecwfgLydbhHdndnahaAcdtg8FfydbaeclfgiydbgCSmbcbhYagaCcdtfydbaA9hmekcjjjj94hYkaeaKaYVaAVBdbaXaCfRbbc3thKdndnahaCcdtfydbaHSmbcbhYagaHcdtfydbaC9hmekcjjjj94hYkaiaKaYVaCVBdbaXaHfRbbc3thYdndnahaHcdtfydbaASmbcbhCaga8FfydbaH9hmekcjjjj94hCkaLaYaCVaHVBdbaecxfheaQcifgQaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPa83an:rNUdbkasyd2gecdtascxffc98fhHdninaeTmeaHydbcbyd;O1jjbH:bjjjbbaHc98fhHaecufhexbkkasc;W;qbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk;Podvuv998Jjjjjbca9RgvcFFF;7rBd3av9cFFF;7;3FF:;Fb83dCavcFFF97Bdzav9cFFF;7FFF:;u83dwdnadTmbaicd4hodnabmbdnalTmbcbhrinaealarcdtfydbao2cdtfhwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxikkaocdthrcbhwincbhiinavcCfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbxdkkdnalTmbcbhrinabarcx2fgiaealarcdtfydbao2cdtfgwIdbUdbaiawIdlUdlaiawIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxdkkaocdthlcbhraehwinabarcx2fgiaearao2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawalfhwarcefgrad9hmbkkJbbbbavIdwavIdCgk:tgqaqJbbbb9DEgqavIdxavIdKgx:tgmamaq9DEgqavIdzavId3gm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgvaqavIdbax:tNUdbabcwfgvaqavIdbam:tNUdbabcxfhbadcufgdmbkkaPk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbk:nCoDud99rue99lul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbgqBdxawceBd2aqaeadaicbz:djjjb8AawcuadcdtadcFFFFi0Egkcbyd;S1jjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd;S1jjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbh5cbh8Eindna3axa8EcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5a8Ecefg8Ead9hmbxdkkazcFeasz:ljjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8FaD:Y:tgaa8FaK:Y:tgha5:ZggaH:tNNNaOaH:tahNa8Aag:tNa8AaH:taaNagaO:tNM:va8FMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd;S1jjbHjjjjbbg8EBdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbhDcbh5inaxa5cdtgYfydbgCcm4aC7c:v;t;h;Ev2gics4ai7hecbhidndnina3aeaAGgmcdtfgEydbgecuSmednaxaecdtgEfydbaCSmbaicefgiamfheaiaA9nmekka8EaEfydbhixekaEa5BdbaDhiaDcefhDka8EaYfaiBdba5cefg5ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:ljjjb8AcbhDcbhekawaecbyd;S1jjbHjjjjbbgeBd3awcvBd2aecbaiz:ljjjbhEavcd4hxdnadTmbdnalTmbaxcdth3a8EhCalheaqhmadhAinaEaCydbc32fgiamIdbaiIdbMUdbaiamclfIdbaiIdlMUdlaiamcwfIdbaiIdwMUdwaiaeIdbaiIdxMUdxaiaeclfIdbaiIdzMUdzaiaecwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaea3fheamcxfhmaAcufgAmbxdkka8EhmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd;S1jjbHjjjjbbgeBdaawcoBd2awaicbyd;S1jjbHjjjjbbg3Bd8KaecFeaYz:ljjjbh5dnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8Aaxcdthxalheina8Aaec;C1jjbalEgmIdwaEa8EydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndna5aAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka8Eclfh8EaeaxfheaqcxfhqadaCcefgC9hmbkkaba5aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd;O1jjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Odieui99iu8Jjjjjbca9RgicFFF;7rBd3ai9cFFF;7;3FF:;Fb83dCaicFFF97Bdzai9cFFF;7FFF:;u83dwdndnaembJbbjFhlJbbjFhvJbbjFhoxekadcd4cdthrcbhwincbhdinaicCfadfgDabadfIdbglaDIdbgvaval9EEUdbaicwfadfgDalaDIdbgvaval9DEUdbadclfgdcx9hmbkabarfhbawcefgwae9hmbkaiIdzaiId3:thoaiIdxaiIdK:thvaiIdwaiIdC:thlkJbbbbalalJbbbb9DEglavaval9DEglaoaoal9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcifc98GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcrfc94GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;W1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;W1jjbfgdBd;W1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:bedbcjwk9Oeeebeebebbeeebebbbbbebebbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbbbbbbbbbbc;OwkxebbbdbbbjNbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(m){n=m.instance,n.exports.__wasm_call_ctors()});function o(m){for(var x=new Uint8Array(m.length),b=0;b<m.length;++b){var T=m.charCodeAt(b);x[b]=T>96?T-97:T>64?T-39:T+4}for(var A=0,b=0;b<m.length;++b)x[A++]=x[b]<60?t[x[b]]:(x[b]-60)*64+x[++b];return x.buffer.slice(0,A)}function r(m){if(!m)throw new Error("Assertion failed")}function s(m){return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)}function a(m,x,b){var T=n.exports.sbrk,A=T(x.length*4),C=T(b*4),E=new Uint8Array(n.exports.memory.buffer),v=s(x);E.set(v,A);var D=m(C,A,x.length,b);E=new Uint8Array(n.exports.memory.buffer);var O=new Uint32Array(b);new Uint8Array(O.buffer).set(E.subarray(C,C+b*4)),v.set(E.subarray(A,A+x.length*4)),T(A-T(0));for(var R=0;R<x.length;++R)x[R]=O[x[R]];return[O,D]}function c(m){for(var x=0,b=0;b<m.length;++b){var T=m[b];x=x<T?T:x}return x}function u(m,x,b,T,A,C,E,v,D){var O=n.exports.sbrk,R=O(4),M=O(b*4),N=O(A*C),_=O(b*4),S=new Uint8Array(n.exports.memory.buffer);S.set(s(T),N),S.set(s(x),_);var w=m(M,_,b,N,A,C,E,v,D,R);S=new Uint8Array(n.exports.memory.buffer);var I=new Uint32Array(w);s(I).set(S.subarray(M,M+w*4));var L=new Float32Array(1);return s(L).set(S.subarray(R,R+4)),O(R-O(0)),[I,L[0]]}function f(m,x,b,T,A,C,E,v,D,O,R,M,N){var _=n.exports.sbrk,S=_(4),w=_(b*4),I=_(A*C),L=_(A*v),B=_(D.length*4),U=_(b*4),V=O?_(A):0,G=new Uint8Array(n.exports.memory.buffer);G.set(s(T),I),G.set(s(E),L),G.set(s(D),B),G.set(s(x),U),O&&G.set(s(O),V);var k=m(w,U,b,I,A,C,L,v,B,D.length,V,R,M,N,S);G=new Uint8Array(n.exports.memory.buffer);var W=new Uint32Array(k);s(W).set(G.subarray(w,w+k*4));var Y=new Float32Array(1);return s(Y).set(G.subarray(S,S+4)),_(S-_(0)),[W,Y[0]]}function d(m,x,b,T){var A=n.exports.sbrk,C=A(b*T),E=new Uint8Array(n.exports.memory.buffer);E.set(s(x),C);var v=m(C,b,T);return A(C-A(0)),v}function p(m,x,b,T,A,C,E,v){var D=n.exports.sbrk,O=D(v*4),R=D(b*T),M=D(b*C),N=new Uint8Array(n.exports.memory.buffer);N.set(s(x),R),A&&N.set(s(A),M);var _=m(O,R,b,T,M,C,E,v);N=new Uint8Array(n.exports.memory.buffer);var S=new Uint32Array(_);return s(S).set(N.subarray(O,O+_*4)),D(O-D(0)),S}var g={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,_InternalDebug:1<<30};return{ready:i,supported:!0,useExperimentalFeatures:!1,compactMesh:function(m){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0);var x=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return a(n.exports.meshopt_optimizeVertexFetchRemap,x,c(m)+1)},simplify:function(m,x,b,T,A,C){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T>=0&&T<=m.length),r(T%3==0),r(A>=0);for(var E=0,v=0;v<(C?C.length:0);++v)r(C[v]in g),r(this.useExperimentalFeatures||C[v]!="Prune"),E|=g[C[v]];var D=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),O=u(n.exports.meshopt_simplify,D,m.length,x,x.length/b,b*4,T,A,E);return O[0]=m instanceof Uint32Array?O[0]:new m.constructor(O[0]),O},simplifyWithAttributes:function(m,x,b,T,A,C,E,v,D,O){r(this.useExperimentalFeatures),r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T instanceof Float32Array),r(T.length%A==0),r(A>=0),r(E==null||E instanceof Uint8Array),r(E==null||E.length==x.length/b),r(v>=0&&v<=m.length),r(v%3==0),r(D>=0),r(Array.isArray(C)),r(A>=C.length),r(C.length<=32);for(var R=0;R<C.length;++R)r(C[R]>=0);for(var M=0,R=0;R<(O?O.length:0);++R)r(O[R]in g),M|=g[O[R]];var N=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),_=f(n.exports.meshopt_simplifyWithAttributes,N,m.length,x,x.length/b,b*4,T,A*4,new Float32Array(C),E?new Uint8Array(E):null,v,D,M);return _[0]=m instanceof Uint32Array?_[0]:new m.constructor(_[0]),_},getScale:function(m,x){return r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),d(n.exports.meshopt_simplifyScale,m,m.length/x,x*4)},simplifyPoints:function(m,x,b,T,A,C){return r(this.useExperimentalFeatures),r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),r(b>=0&&b<=m.length/x),T?(r(T instanceof Float32Array),r(T.length%A==0),r(A>=3),r(m.length/x==T.length/A),p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,T,A*4,C,b)):p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,void 0,0,0,b)}}}();typeof X1=="object"&&typeof sW=="object"?sW.exports=FU:typeof define=="function"&&define.amd?define([],function(){return FU}):typeof X1=="object"?X1.MeshoptSimplifier=FU:(typeof self<"u"?self:X1).MeshoptSimplifier=FU});var bre=Xn((K1,aW)=>{var BU=function(){var e="b9H79Tebbbefx9Geueu9Geub9Gbb9Giuuueu9Gkuuuuuuuuuu99eu9Gvuuuuueu9Gkuuuuuuuuu9999eu9Gruuuuuuub9Gkuuuuuuuuuuueu9Gouuuuuub9Giuuub9GluuuubiOHdilvorwDqrkbiibeilve9Weiiviebeoweuec:q:Odkr:Yewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bd39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbql79IV9RbkDwebcekdsPq;L9kHdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:oAlPue99eux998Jjjjjbc:We9Rgk8Kjjjjbakc;mbfcbc;Kbz:njjjb8AakcuaocdtgxaocFFFFi0Egmcbyd:e1jjbHjjjjbbgPBd9makceBd:SeakaPBdnakamcbyd:e1jjbHjjjjbbgsBd9qakcdBd:SeakasBd9eakcualcdtalcFFFFi0Ecbyd:e1jjbHjjjjbbgzBd9uakazBd9iakciBd:SeaPcbaxz:njjjbhHalci9UhOdnalTmbaihPalhAinaHaPydbcdtfgCaCydbcefBdbaPclfhPaAcufgAmbkkdnaoTmbcbhPashAaHhCaohXinaAaPBdbaAclfhAaCydbaPfhPaCclfhCaXcufgXmbkkdnalci6mbcbhPaihAinaAcwfydbhCaAclfydbhXasaAydbcdtfgQaQydbgQcefBdbazaQcdtfaPBdbasaXcdtfgXaXydbgXcefBdbazaXcdtfaPBdbasaCcdtfgCaCydbgCcefBdbazaCcdtfaPBdbaAcxfhAaOaPcefgP9hmbkkdnaoTmbaHhAashPaohCinaPaPydbaAydb9RBdbaAclfhAaPclfhPaCcufgCmbkkakamcbyd:e1jjbHjjjjbbgPBd9yakclBd:SeaPaHaxz:mjjjbhmakaOcbyd:e1jjbHjjjjbbgPBd9CakcvBd:SeaPcbaOz:njjjbhLakcuaOcK2alcjjjjd0Ecbyd:e1jjbHjjjjbbgKBd9GakcoBd:SeJbbbbhYdnalci6g8Ambarcd4hxaihAaKhPaOhrJbbbbhEinavaAclfydbax2cdtfgCIdlh3avaAydbax2cdtfgXIdlhYavaAcwfydbax2cdtfgQIdlh5aCIdwh8EaXIdwh8FaQIdwhaaPaCIdbghaXIdbggMaQIdbg8JMJbbnn:vUdbaPclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8KaCIdwh8LaXIdwh8MaPcxfa3aY:tg3aaa8F:tgaNa5aY:tg5a8Ea8F:tg8EN:tgYJbbbbJbbjZahag:tgha5Na8Jag:tgga3N:tg8Fa8FNaYaYNa8EagNaaahN:tgYaYNMM:rgg:vagJbbbb9BEg3NUdbaPczfaYa3NUdbaPcCfa8Fa3NUdbaPcwfa8Ka8Ma8LMMJbbnn:vUdbaEagMhEaAcxfhAaPcKfhParcufgrmbkaEaO:Z:vJbbbZNhYkakcuaOcdtalcFFFF970Ecbyd:e1jjbHjjjjbbgCBd9KakcrBd:SeaYaD:ZN:rhYdna8AmbcbhPaChAinaAaPBdbaAclfhAaOaPcefgP9hmbkkaYJbbbZNh8MakcuaOcltalcFFFFd0Ecbyd:e1jjbHjjjjbbg8ABd9OakcwBd:Secba8AaKaCaOz:djjjb8Aakaocbyd:e1jjbHjjjjbbgPBd2aPcFeaoz:njjjbhrakc8Wfcwf9cb83ibak9cb83i8WcbhPJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgcbhlinJbbbbh3dnaPTmbJbbjZaP:Z:vh3kaka8Ea3NgaUdaaka5a3NghUd3akaEa3Ng8JUdKJbbbbh3dnagagNaYaYNa8Fa8FNMMg8KJbbbb9BmbJbbjZa8K:r:vh3kakaga3NUd8Saka8Fa3NUdyakaYa3NUd8Kdndndnakyd8WgQakydUgAakcKfaeaiakc;abfaKamara8Maqz:ejjjbgCcuSmbdnaPaD9pmbaAaraiaCcx2fgXydbfRbbcFeSfaraXclfydbfRbbcFeSfaraXcwfydbfRbbcFeSfaw9nmdkaQaAcbaeaiakc;abfaKamara8MJbbbbz:ejjjbgCcu9hmekakaaUdCakahUdzaka8JUdxakcuBdwakcFFF;7rBdla8AcbaKaLakcxfakcwfakclfz:fjjjbakydwgCcuSmekdnakc8WfaiaCcx2fgOydbgPaOclfydbgAaOcwfydbgXarabaeadalawaDz:gjjjbTmbalcefhlJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgkamaPcdtfgPaPydbcufBdbamaAcdtfgPaPydbcufBdbamaXcdtfgPaPydbcufBdbcbhXinazasaOaXcdtfydbcdtgAfydbcdtfgxhPaHaAfgvydbgQhAdnaQTmbdninaPydbaCSmeaPclfhPaAcufgATmdxbkkaPaxaQcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbkaKaCcK2fgPIdbh3aPIdlhaaPIdwhhaPIdxh8JaPIdzh8KaPIdCh8LaLaCfce86bbaga8LMhga8Fa8KMh8FaYa8JMhYa8EahMh8Ea5aaMh5aEa3MhEakyd88hPxekkdnaPTmbdnakyd80gAaPci2fgCciGTmbadaCfcbaPaAcu7fciGcefz:njjjb8AkabalcltfgPak8Pi8W83dbaPcwfakc8Wfcwf8Pib83dbalcefhlkcahPdninaPc98Smeakc;mbfaPfydbcbydj1jjbH:bjjjbbaPc98fhPxbkkakc:Wef8Kjjjjbalk;3vivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbaeabcitfgrarydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark;Bloeue99vue99Due99dndnaembcuhkxekJbbjZaq:thxaiabcdtfhmavydbhPavydlhsavydwhzcbhHJFFuuhOcvhbcuhkindnaPamaHcdtfydbcdtgvfydbgATmbazasavfydbcdtfhiindndnawalaiydbgCcx2fgvclfydbgXfRbbcFeSawavydbgQfRbbcFeSfawavcwfydbgLfRbbcFeSfgKmbcbhvxekcehvaraQcdtfydbgYceSmbcehvaraXcdtfydbg8AceSmbcehvaraLcdtfydbgEceSmbdna8AcdSaYcdSfaEcdSfcd6mbaKcefhvxekaKcdfhvkdnavab9kmbdndnadTmbaoaCcK2fgQIdwadIdw:tg3a3NaQIdbadIdb:tg3a3NaQIdladIdl:tg3a3NMM:raD:vaxNJbbjZMJ9VO:d86JbbjZaQIdCadIdCNaQIdxadIdxNaQIdzadIdzNMMaqN:tg3a3J9VO:d869DENh3xekaraQcdtfydbaraXcdtfydbfaraLcdtfydbfc99f:Zh3kaCakavab6a3aO9DVgQEhkavabaQEhba3aOaQEhOkaiclfhiaAcufgAmbkkaHcefgHae9hmbkkakk;bddlue99dndndnabaecitfgrydlgwciGgDci9hmbarclfhqxekinabcbawcd4gwalaDcdtfIdbabaecitfIdb:tgkJbbbb9FEgDaecefgefadaialavaoz:fjjjbak:laoIdb9FTmdabaDaw7aefgecitfgrydlgwciGgDci9hmbkarclfhqkabaecitfhecuhbindnaiaeydbgDfRbbmbadaDcK2fgrIdwalIdw:tgkakNarIdbalIdb:tgkakNarIdlalIdl:tgkakNMM:rgkaoIdb9DTmbaoakUdbavaDBdbaqydbhwkaecwfheabcefgbawcd46mbkkk;yleoudnaladfgkRbbcFeSalaefgxRbbgmcFeSfabydwgPfalaifgsRbbcFeSfaD0abydxaq9pVgzce9hmbavawcltfgmab8Pdb83dbamcwfabcwfgm8Pdb83dbdndnamydbmbcbhqxekcbhDaohminalamabydbcdtfydbfcFe86bbamclfhmaDcefgDabydwgq6mbkkdnabydxglci2gDabydlgmfgPciGTmbaraPfcbalamcu7fciGcefz:njjjb8Aabydxci2hDabydlhmabydwhqkab9cb83dwababydbaqfBdbabaDcifc98GamfBdlaxRbbhmcbhPkdnamcFeGcFe9hmbaxaP86bbababydwgmcefBdwaoabydbcdtfamcdtfaeBdbkdnakRbbcFe9hmbakabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfadBdbkdnasRbbcFe9hmbasabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfaiBdbkarabydlfabydxci2faxRbb86bbarabydlfabydxci2fcefakRbb86bbarabydlfabydxci2fcdfasRbb86bbababydxcefBdxazk;Ckovud99euv99eul998Jjjjjbc:G;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:G:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaocafawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeao9cb83iKao9cb83izaoczfaocafawci2z1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:G:qefawz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:G:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:G:qefheaocafhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabazUd3abc8KfaxUdbabcafasUdbabcKfaCaxaPN:tUdbabcCfaXasaPN:tUdbabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabc8Ufae86bbdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabcRfav86bbdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:G;aef8Kjjjjbk:mvdouq99cbhi8Jjjjjbca9RglczfcwfcbBdbal9cb83izalcwfcbBdbal9cb83ibdnadTmbcbhvinaeaifhocbhrinalczfarfgwavawydbgwaoarfIdbgDaearawcx2ffIdb9DEBdbalarfgwavawydbgwaDaearawcx2ffIdb9EEBdbarclfgrcx9hmbkaicxfhiavcefgvad9hmbkkJbbbbhDcbhrcbhicbhvinaealarfydbcx2fgwIdwaealczfarfydbcx2fgoIdw:tgqaqNawIdbaoIdb:tgqaqNawIdlaoIdl:tgqaqNMMgqaDaqaD9EgwEhDavaiawEhiarclfhravcefgvci9hmbkaealczfaicdtgvfydbcx2fgrIdwaealavfydbcx2fglIdwMJbbbZNhqarIdlalIdlMJbbbZNhkarIdbalIdbMJbbbZNhxaD:rJbbbZNhDdnadTmbindnaecwfIdbgmaq:tgPaPNaeIdbgsax:tgPaPNaeclfIdbgzak:tgPaPNMMgPaDaDN9ETmbaqaDaP:rgH:vJbbbZNJbbbZMgPNamJbbjZaP:tgONMhqakaPNazaONMhkaxaPNasaONMhxaDaHMJbbbZNhDkaecxfheadcufgdmbkkabaDUdxabaqUdwabakUdlabaxUdbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Ylequ8Jjjjjbcjx9Rgl8Kjjjjbcbhvalcjqfcbaiz:njjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjqfaDcefRbbfRbb9RcFeGci6aoalcjqfaDRbbfRbb9RcFeGci6faoalcjqfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:qjjjb8Aakalcjqffaocefgo86bbaxalcjqffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjqffao86bbarcifhravcefgvad9hmbkalcFeaiz:njjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkfgwRbbgDcFe9hmbawax86bbaocjdfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjdfaDz:mjjjb8Aalcjxf8Kjjjjbk9teiucbcbyd11jjbgeabcifc98GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd11jjbgeabcrfc94GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd11jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd11jjbfgdBd11jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkkAebcjwkxebbbdbbbzNbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(m){n=m.instance,n.exports.__wasm_call_ctors()});function o(m){for(var x=new Uint8Array(m.length),b=0;b<m.length;++b){var T=m.charCodeAt(b);x[b]=T>96?T-97:T>64?T-39:T+4}for(var A=0,b=0;b<m.length;++b)x[A++]=x[b]<60?t[x[b]]:(x[b]-60)*64+x[++b];return x.buffer.slice(0,A)}function r(m){if(!m)throw new Error("Assertion failed")}function s(m){return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)}var a=48,c=16;function u(m,x){var b=m.meshlets[x*4+0],T=m.meshlets[x*4+1],A=m.meshlets[x*4+2],C=m.meshlets[x*4+3];return{vertices:m.vertices.subarray(b,b+A),triangles:m.triangles.subarray(T,T+C*3)}}function f(m,x,b,T,A,C,E){var v=n.exports.sbrk,D=n.exports.meshopt_buildMeshletsBound(m.length,A,C),O=v(D*c),R=v(D*A*4),M=v(D*C*3),N=v(m.byteLength),_=v(x.byteLength),S=new Uint8Array(n.exports.memory.buffer);S.set(s(m),N),S.set(s(x),_);var w=n.exports.meshopt_buildMeshlets(O,R,M,N,m.length,_,b,T,A,C,E);S=new Uint8Array(n.exports.memory.buffer);for(var I=S.subarray(O,O+w*c),L=new Uint32Array(I.buffer,I.byteOffset,I.byteLength/4).slice(),B=0;B<w;++B){var U=L[B*4+0],V=L[B*4+1],b=L[B*4+2],G=L[B*4+3];n.exports.meshopt_optimizeMeshlet(R+U*4,M+V,G,b)}var k=L[(w-1)*4+0],W=L[(w-1)*4+1],Y=L[(w-1)*4+2],Q=L[(w-1)*4+3],j=k+Y,Z=W+(Q*3+3&-4),J={meshlets:L,vertices:new Uint32Array(S.buffer,R,j).slice(),triangles:new Uint8Array(S.buffer,M,Z*3).slice(),meshletCount:w};return v(O-v(0)),J}function d(m){var x=new Float32Array(n.exports.memory.buffer,m,a/4);return{centerX:x[0],centerY:x[1],centerZ:x[2],radius:x[3],coneApexX:x[4],coneApexY:x[5],coneApexZ:x[6],coneAxisX:x[7],coneAxisY:x[8],coneAxisZ:x[9],coneCutoff:x[10]}}function p(m,x,b,T){var A=n.exports.sbrk,C=[],E=A(x.byteLength),v=A(m.vertices.byteLength),D=A(m.triangles.byteLength),O=A(a),R=new Uint8Array(n.exports.memory.buffer);R.set(s(x),E),R.set(s(m.vertices),v),R.set(s(m.triangles),D);for(var M=0;M<m.meshletCount;++M){var N=m.meshlets[M*4+0],_=m.meshlets[M*4+0+1],S=m.meshlets[M*4+0+3];n.exports.meshopt_computeMeshletBounds(O,v+N*4,D+_,S,E,b,T),C.push(d(O))}return A(E-A(0)),C}function g(m,x,b,T){var A=n.exports.sbrk,C=A(a),E=A(m.byteLength),v=A(x.byteLength),D=new Uint8Array(n.exports.memory.buffer);D.set(s(m),E),D.set(s(x),v),n.exports.meshopt_computeClusterBounds(C,E,m.length,v,b,T);var O=d(C);return A(C-A(0)),O}return{ready:i,supported:!0,buildMeshlets:function(m,x,b,T,A,C){r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T<=255||T>0),r(A<=512),r(A%4==0),C=C||0;var E=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return f(E,x,x.length/b,b*4,T,A,C)},computeClusterBounds:function(m,x,b){r(m.length%3==0),r(m.length/3<=512),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3);var T=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return g(T,x,x.length/b,b*4)},computeMeshletBounds:function(m,x,b){return r(m.meshletCount!=0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),p(m,x,x.length/b,b*4)},extractMeshlet:function(m,x){return r(x>=0&&x<m.meshletCount),u(m,x)}}}();typeof K1=="object"&&typeof aW=="object"?aW.exports=BU:typeof define=="function"&&define.amd?define([],function(){return BU}):typeof K1=="object"?K1.MeshoptClusterizer=BU:(typeof self<"u"?self:K1).MeshoptClusterizer=BU});var Cre=Xn((ptn,Tre)=>{var p3e=gre(),_3e=yre(),g3e=xre(),y3e=bre();Tre.exports={MeshoptEncoder:p3e,MeshoptDecoder:_3e,MeshoptSimplifier:g3e,MeshoptClusterizer:y3e}});var Lle=Xn((kwn,Mle)=>{"use strict";Mle.exports=wje;var jM=1e20;function wje(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,u,f,d,p,g,m,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?f=t.stride:f=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,d=p.getContext("2d"),r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,d=e,r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,f=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(u=c,c=Array(r*s),m=0,x=Math.floor(u.length/f);m<x;m++)c[m]=u[m*f+o]/255;else if(f!==1)throw Error("Raw data can have only 1 value per pixel");var b=Array(r*s),T=Array(r*s),A=Array(a),C=Array(a),E=Array(a+1),v=Array(a);for(m=0,x=r*s;m<x;m++){var D=c[m];b[m]=D===1?0:D===0?jM:Math.pow(Math.max(0,.5-D),2),T[m]=D===1?jM:D===0?0:Math.pow(Math.max(0,D-.5),2)}Rle(b,r,s,A,C,v,E),Rle(T,r,s,A,C,v,E);var O=window.Float32Array?new Float32Array(r*s):new Array(r*s);for(m=0,x=r*s;m<x;m++)O[m]=Math.min(Math.max(1-((b[m]-T[m])/i+n),0),1);return O}function Rle(e,t,n,i,o,r,s){for(var a=0;a<t;a++){for(var c=0;c<n;c++)i[c]=e[c*t+a];for(Ole(i,o,r,s,n),c=0;c<n;c++)e[c*t+a]=o[c]}for(c=0;c<n;c++){for(a=0;a<t;a++)i[a]=e[c*t+a];for(Ole(i,o,r,s,t),a=0;a<t;a++)e[c*t+a]=Math.sqrt(o[a])}}function Ole(e,t,n,i,o){n[0]=0,i[0]=-jM,i[1]=+jM;for(var r=1,s=0;r<o;r++){for(var a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);a<=i[s];)s--,a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);s++,n[s]=r,i[s]=a,i[s+1]=+jM}for(r=0,s=0;r<o;r++){for(;i[s+1]<r;)s++;t[r]=(r-n[s])*(r-n[s])+e[n[s]]}}});var Vle=Xn((tDn,Az)=>{function kje(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,u=9,f=10,d=11,p=12,g=13,m=14,x=15,b=16,T=17,A=0,C=1,E=2,v=3,D=4;function O(_,S){return 55296<=_.charCodeAt(S)&&_.charCodeAt(S)<=56319&&56320<=_.charCodeAt(S+1)&&_.charCodeAt(S+1)<=57343}function R(_,S){S===void 0&&(S=0);var w=_.charCodeAt(S);if(55296<=w&&w<=56319&&S<_.length-1){var I=w,L=_.charCodeAt(S+1);return 56320<=L&&L<=57343?(I-55296)*1024+(L-56320)+65536:I}if(56320<=w&&w<=57343&&S>=1){var I=_.charCodeAt(S-1),L=w;return 55296<=I&&I<=56319?(I-55296)*1024+(L-56320)+65536:L}return w}function M(_,S,w){var I=[_].concat(S).concat([w]),L=I[I.length-2],B=w,U=I.lastIndexOf(m);if(U>1&&I.slice(1,U).every(function(k){return k==i})&&[i,g,T].indexOf(_)==-1)return E;var V=I.lastIndexOf(o);if(V>0&&I.slice(1,V).every(function(k){return k==o})&&[p,o].indexOf(L)==-1)return I.filter(function(k){return k==o}).length%2==1?v:D;if(L==e&&B==t)return A;if(L==n||L==e||L==t)return B==m&&S.every(function(k){return k==i})?E:C;if(B==n||B==e||B==t)return C;if(L==s&&(B==s||B==a||B==u||B==f))return A;if((L==u||L==a)&&(B==a||B==c))return A;if((L==f||L==c)&&B==c)return A;if(B==i||B==x)return A;if(B==r)return A;if(L==p)return A;var G=I.indexOf(i)!=-1?I.lastIndexOf(i)-1:I.length-2;return[g,T].indexOf(I[G])!=-1&&I.slice(G+1,-1).every(function(k){return k==i})&&B==m||L==x&&[b,T].indexOf(B)!=-1?A:S.indexOf(o)!=-1?E:L==o&&B==o?A:C}this.nextBreak=function(_,S){if(S===void 0&&(S=0),S<0)return 0;if(S>=_.length-1)return _.length;for(var w=N(R(_,S)),I=[],L=S+1;L<_.length;L++)if(!O(_,L-1)){var B=N(R(_,L));if(M(w,I,B))return L;I.push(B)}return _.length},this.splitGraphemes=function(_){for(var S=[],w=0,I;(I=this.nextBreak(_,w))<_.length;)S.push(_.slice(w,I)),w=I;return w<_.length&&S.push(_.slice(w)),S},this.iterateGraphemes=function(_){var S=0,w={next:function(){var I,L;return(L=this.nextBreak(_,S))<_.length?(I=_.slice(S,L),S=L,{value:I,done:!1}):S<_.length?(I=_.slice(S),S=_.length,{value:I,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(w[Symbol.iterator]=function(){return w}),w},this.countGraphemes=function(_){for(var S=0,w=0,I;(I=this.nextBreak(_,w))<_.length;)w=I,S++;return w<_.length&&S++,S};function N(_){return 1536<=_&&_<=1541||_==1757||_==1807||_==2274||_==3406||_==69821||70082<=_&&_<=70083||_==72250||72326<=_&&_<=72329||_==73030?p:_==13?e:_==10?t:0<=_&&_<=9||11<=_&&_<=12||14<=_&&_<=31||127<=_&&_<=159||_==173||_==1564||_==6158||_==8203||8206<=_&&_<=8207||_==8232||_==8233||8234<=_&&_<=8238||8288<=_&&_<=8292||_==8293||8294<=_&&_<=8303||55296<=_&&_<=57343||_==65279||65520<=_&&_<=65528||65529<=_&&_<=65531||113824<=_&&_<=113827||119155<=_&&_<=119162||_==917504||_==917505||917506<=_&&_<=917535||917632<=_&&_<=917759||918e3<=_&&_<=921599?n:768<=_&&_<=879||1155<=_&&_<=1159||1160<=_&&_<=1161||1425<=_&&_<=1469||_==1471||1473<=_&&_<=1474||1476<=_&&_<=1477||_==1479||1552<=_&&_<=1562||1611<=_&&_<=1631||_==1648||1750<=_&&_<=1756||1759<=_&&_<=1764||1767<=_&&_<=1768||1770<=_&&_<=1773||_==1809||1840<=_&&_<=1866||1958<=_&&_<=1968||2027<=_&&_<=2035||2070<=_&&_<=2073||2075<=_&&_<=2083||2085<=_&&_<=2087||2089<=_&&_<=2093||2137<=_&&_<=2139||2260<=_&&_<=2273||2275<=_&&_<=2306||_==2362||_==2364||2369<=_&&_<=2376||_==2381||2385<=_&&_<=2391||2402<=_&&_<=2403||_==2433||_==2492||_==2494||2497<=_&&_<=2500||_==2509||_==2519||2530<=_&&_<=2531||2561<=_&&_<=2562||_==2620||2625<=_&&_<=2626||2631<=_&&_<=2632||2635<=_&&_<=2637||_==2641||2672<=_&&_<=2673||_==2677||2689<=_&&_<=2690||_==2748||2753<=_&&_<=2757||2759<=_&&_<=2760||_==2765||2786<=_&&_<=2787||2810<=_&&_<=2815||_==2817||_==2876||_==2878||_==2879||2881<=_&&_<=2884||_==2893||_==2902||_==2903||2914<=_&&_<=2915||_==2946||_==3006||_==3008||_==3021||_==3031||_==3072||3134<=_&&_<=3136||3142<=_&&_<=3144||3146<=_&&_<=3149||3157<=_&&_<=3158||3170<=_&&_<=3171||_==3201||_==3260||_==3263||_==3266||_==3270||3276<=_&&_<=3277||3285<=_&&_<=3286||3298<=_&&_<=3299||3328<=_&&_<=3329||3387<=_&&_<=3388||_==3390||3393<=_&&_<=3396||_==3405||_==3415||3426<=_&&_<=3427||_==3530||_==3535||3538<=_&&_<=3540||_==3542||_==3551||_==3633||3636<=_&&_<=3642||3655<=_&&_<=3662||_==3761||3764<=_&&_<=3769||3771<=_&&_<=3772||3784<=_&&_<=3789||3864<=_&&_<=3865||_==3893||_==3895||_==3897||3953<=_&&_<=3966||3968<=_&&_<=3972||3974<=_&&_<=3975||3981<=_&&_<=3991||3993<=_&&_<=4028||_==4038||4141<=_&&_<=4144||4146<=_&&_<=4151||4153<=_&&_<=4154||4157<=_&&_<=4158||4184<=_&&_<=4185||4190<=_&&_<=4192||4209<=_&&_<=4212||_==4226||4229<=_&&_<=4230||_==4237||_==4253||4957<=_&&_<=4959||5906<=_&&_<=5908||5938<=_&&_<=5940||5970<=_&&_<=5971||6002<=_&&_<=6003||6068<=_&&_<=6069||6071<=_&&_<=6077||_==6086||6089<=_&&_<=6099||_==6109||6155<=_&&_<=6157||6277<=_&&_<=6278||_==6313||6432<=_&&_<=6434||6439<=_&&_<=6440||_==6450||6457<=_&&_<=6459||6679<=_&&_<=6680||_==6683||_==6742||6744<=_&&_<=6750||_==6752||_==6754||6757<=_&&_<=6764||6771<=_&&_<=6780||_==6783||6832<=_&&_<=6845||_==6846||6912<=_&&_<=6915||_==6964||6966<=_&&_<=6970||_==6972||_==6978||7019<=_&&_<=7027||7040<=_&&_<=7041||7074<=_&&_<=7077||7080<=_&&_<=7081||7083<=_&&_<=7085||_==7142||7144<=_&&_<=7145||_==7149||7151<=_&&_<=7153||7212<=_&&_<=7219||7222<=_&&_<=7223||7376<=_&&_<=7378||7380<=_&&_<=7392||7394<=_&&_<=7400||_==7405||_==7412||7416<=_&&_<=7417||7616<=_&&_<=7673||7675<=_&&_<=7679||_==8204||8400<=_&&_<=8412||8413<=_&&_<=8416||_==8417||8418<=_&&_<=8420||8421<=_&&_<=8432||11503<=_&&_<=11505||_==11647||11744<=_&&_<=11775||12330<=_&&_<=12333||12334<=_&&_<=12335||12441<=_&&_<=12442||_==42607||42608<=_&&_<=42610||42612<=_&&_<=42621||42654<=_&&_<=42655||42736<=_&&_<=42737||_==43010||_==43014||_==43019||43045<=_&&_<=43046||43204<=_&&_<=43205||43232<=_&&_<=43249||43302<=_&&_<=43309||43335<=_&&_<=43345||43392<=_&&_<=43394||_==43443||43446<=_&&_<=43449||_==43452||_==43493||43561<=_&&_<=43566||43569<=_&&_<=43570||43573<=_&&_<=43574||_==43587||_==43596||_==43644||_==43696||43698<=_&&_<=43700||43703<=_&&_<=43704||43710<=_&&_<=43711||_==43713||43756<=_&&_<=43757||_==43766||_==44005||_==44008||_==44013||_==64286||65024<=_&&_<=65039||65056<=_&&_<=65071||65438<=_&&_<=65439||_==66045||_==66272||66422<=_&&_<=66426||68097<=_&&_<=68099||68101<=_&&_<=68102||68108<=_&&_<=68111||68152<=_&&_<=68154||_==68159||68325<=_&&_<=68326||_==69633||69688<=_&&_<=69702||69759<=_&&_<=69761||69811<=_&&_<=69814||69817<=_&&_<=69818||69888<=_&&_<=69890||69927<=_&&_<=69931||69933<=_&&_<=69940||_==70003||70016<=_&&_<=70017||70070<=_&&_<=70078||70090<=_&&_<=70092||70191<=_&&_<=70193||_==70196||70198<=_&&_<=70199||_==70206||_==70367||70371<=_&&_<=70378||70400<=_&&_<=70401||_==70460||_==70462||_==70464||_==70487||70502<=_&&_<=70508||70512<=_&&_<=70516||70712<=_&&_<=70719||70722<=_&&_<=70724||_==70726||_==70832||70835<=_&&_<=70840||_==70842||_==70845||70847<=_&&_<=70848||70850<=_&&_<=70851||_==71087||71090<=_&&_<=71093||71100<=_&&_<=71101||71103<=_&&_<=71104||71132<=_&&_<=71133||71219<=_&&_<=71226||_==71229||71231<=_&&_<=71232||_==71339||_==71341||71344<=_&&_<=71349||_==71351||71453<=_&&_<=71455||71458<=_&&_<=71461||71463<=_&&_<=71467||72193<=_&&_<=72198||72201<=_&&_<=72202||72243<=_&&_<=72248||72251<=_&&_<=72254||_==72263||72273<=_&&_<=72278||72281<=_&&_<=72283||72330<=_&&_<=72342||72344<=_&&_<=72345||72752<=_&&_<=72758||72760<=_&&_<=72765||_==72767||72850<=_&&_<=72871||72874<=_&&_<=72880||72882<=_&&_<=72883||72885<=_&&_<=72886||73009<=_&&_<=73014||_==73018||73020<=_&&_<=73021||73023<=_&&_<=73029||_==73031||92912<=_&&_<=92916||92976<=_&&_<=92982||94095<=_&&_<=94098||113821<=_&&_<=113822||_==119141||119143<=_&&_<=119145||119150<=_&&_<=119154||119163<=_&&_<=119170||119173<=_&&_<=119179||119210<=_&&_<=119213||119362<=_&&_<=119364||121344<=_&&_<=121398||121403<=_&&_<=121452||_==121461||_==121476||121499<=_&&_<=121503||121505<=_&&_<=121519||122880<=_&&_<=122886||122888<=_&&_<=122904||122907<=_&&_<=122913||122915<=_&&_<=122916||122918<=_&&_<=122922||125136<=_&&_<=125142||125252<=_&&_<=125258||917536<=_&&_<=917631||917760<=_&&_<=917999?i:127462<=_&&_<=127487?o:_==2307||_==2363||2366<=_&&_<=2368||2377<=_&&_<=2380||2382<=_&&_<=2383||2434<=_&&_<=2435||2495<=_&&_<=2496||2503<=_&&_<=2504||2507<=_&&_<=2508||_==2563||2622<=_&&_<=2624||_==2691||2750<=_&&_<=2752||_==2761||2763<=_&&_<=2764||2818<=_&&_<=2819||_==2880||2887<=_&&_<=2888||2891<=_&&_<=2892||_==3007||3009<=_&&_<=3010||3014<=_&&_<=3016||3018<=_&&_<=3020||3073<=_&&_<=3075||3137<=_&&_<=3140||3202<=_&&_<=3203||_==3262||3264<=_&&_<=3265||3267<=_&&_<=3268||3271<=_&&_<=3272||3274<=_&&_<=3275||3330<=_&&_<=3331||3391<=_&&_<=3392||3398<=_&&_<=3400||3402<=_&&_<=3404||3458<=_&&_<=3459||3536<=_&&_<=3537||3544<=_&&_<=3550||3570<=_&&_<=3571||_==3635||_==3763||3902<=_&&_<=3903||_==3967||_==4145||4155<=_&&_<=4156||4182<=_&&_<=4183||_==4228||_==6070||6078<=_&&_<=6085||6087<=_&&_<=6088||6435<=_&&_<=6438||6441<=_&&_<=6443||6448<=_&&_<=6449||6451<=_&&_<=6456||6681<=_&&_<=6682||_==6741||_==6743||6765<=_&&_<=6770||_==6916||_==6965||_==6971||6973<=_&&_<=6977||6979<=_&&_<=6980||_==7042||_==7073||7078<=_&&_<=7079||_==7082||_==7143||7146<=_&&_<=7148||_==7150||7154<=_&&_<=7155||7204<=_&&_<=7211||7220<=_&&_<=7221||_==7393||7410<=_&&_<=7411||_==7415||43043<=_&&_<=43044||_==43047||43136<=_&&_<=43137||43188<=_&&_<=43203||43346<=_&&_<=43347||_==43395||43444<=_&&_<=43445||43450<=_&&_<=43451||43453<=_&&_<=43456||43567<=_&&_<=43568||43571<=_&&_<=43572||_==43597||_==43755||43758<=_&&_<=43759||_==43765||44003<=_&&_<=44004||44006<=_&&_<=44007||44009<=_&&_<=44010||_==44012||_==69632||_==69634||_==69762||69808<=_&&_<=69810||69815<=_&&_<=69816||_==69932||_==70018||70067<=_&&_<=70069||70079<=_&&_<=70080||70188<=_&&_<=70190||70194<=_&&_<=70195||_==70197||70368<=_&&_<=70370||70402<=_&&_<=70403||_==70463||70465<=_&&_<=70468||70471<=_&&_<=70472||70475<=_&&_<=70477||70498<=_&&_<=70499||70709<=_&&_<=70711||70720<=_&&_<=70721||_==70725||70833<=_&&_<=70834||_==70841||70843<=_&&_<=70844||_==70846||_==70849||71088<=_&&_<=71089||71096<=_&&_<=71099||_==71102||71216<=_&&_<=71218||71227<=_&&_<=71228||_==71230||_==71340||71342<=_&&_<=71343||_==71350||71456<=_&&_<=71457||_==71462||72199<=_&&_<=72200||_==72249||72279<=_&&_<=72280||_==72343||_==72751||_==72766||_==72873||_==72881||_==72884||94033<=_&&_<=94078||_==119142||_==119149?r:4352<=_&&_<=4447||43360<=_&&_<=43388?s:4448<=_&&_<=4519||55216<=_&&_<=55238?a:4520<=_&&_<=4607||55243<=_&&_<=55291?c:_==44032||_==44060||_==44088||_==44116||_==44144||_==44172||_==44200||_==44228||_==44256||_==44284||_==44312||_==44340||_==44368||_==44396||_==44424||_==44452||_==44480||_==44508||_==44536||_==44564||_==44592||_==44620||_==44648||_==44676||_==44704||_==44732||_==44760||_==44788||_==44816||_==44844||_==44872||_==44900||_==44928||_==44956||_==44984||_==45012||_==45040||_==45068||_==45096||_==45124||_==45152||_==45180||_==45208||_==45236||_==45264||_==45292||_==45320||_==45348||_==45376||_==45404||_==45432||_==45460||_==45488||_==45516||_==45544||_==45572||_==45600||_==45628||_==45656||_==45684||_==45712||_==45740||_==45768||_==45796||_==45824||_==45852||_==45880||_==45908||_==45936||_==45964||_==45992||_==46020||_==46048||_==46076||_==46104||_==46132||_==46160||_==46188||_==46216||_==46244||_==46272||_==46300||_==46328||_==46356||_==46384||_==46412||_==46440||_==46468||_==46496||_==46524||_==46552||_==46580||_==46608||_==46636||_==46664||_==46692||_==46720||_==46748||_==46776||_==46804||_==46832||_==46860||_==46888||_==46916||_==46944||_==46972||_==47e3||_==47028||_==47056||_==47084||_==47112||_==47140||_==47168||_==47196||_==47224||_==47252||_==47280||_==47308||_==47336||_==47364||_==47392||_==47420||_==47448||_==47476||_==47504||_==47532||_==47560||_==47588||_==47616||_==47644||_==47672||_==47700||_==47728||_==47756||_==47784||_==47812||_==47840||_==47868||_==47896||_==47924||_==47952||_==47980||_==48008||_==48036||_==48064||_==48092||_==48120||_==48148||_==48176||_==48204||_==48232||_==48260||_==48288||_==48316||_==48344||_==48372||_==48400||_==48428||_==48456||_==48484||_==48512||_==48540||_==48568||_==48596||_==48624||_==48652||_==48680||_==48708||_==48736||_==48764||_==48792||_==48820||_==48848||_==48876||_==48904||_==48932||_==48960||_==48988||_==49016||_==49044||_==49072||_==49100||_==49128||_==49156||_==49184||_==49212||_==49240||_==49268||_==49296||_==49324||_==49352||_==49380||_==49408||_==49436||_==49464||_==49492||_==49520||_==49548||_==49576||_==49604||_==49632||_==49660||_==49688||_==49716||_==49744||_==49772||_==49800||_==49828||_==49856||_==49884||_==49912||_==49940||_==49968||_==49996||_==50024||_==50052||_==50080||_==50108||_==50136||_==50164||_==50192||_==50220||_==50248||_==50276||_==50304||_==50332||_==50360||_==50388||_==50416||_==50444||_==50472||_==50500||_==50528||_==50556||_==50584||_==50612||_==50640||_==50668||_==50696||_==50724||_==50752||_==50780||_==50808||_==50836||_==50864||_==50892||_==50920||_==50948||_==50976||_==51004||_==51032||_==51060||_==51088||_==51116||_==51144||_==51172||_==51200||_==51228||_==51256||_==51284||_==51312||_==51340||_==51368||_==51396||_==51424||_==51452||_==51480||_==51508||_==51536||_==51564||_==51592||_==51620||_==51648||_==51676||_==51704||_==51732||_==51760||_==51788||_==51816||_==51844||_==51872||_==51900||_==51928||_==51956||_==51984||_==52012||_==52040||_==52068||_==52096||_==52124||_==52152||_==52180||_==52208||_==52236||_==52264||_==52292||_==52320||_==52348||_==52376||_==52404||_==52432||_==52460||_==52488||_==52516||_==52544||_==52572||_==52600||_==52628||_==52656||_==52684||_==52712||_==52740||_==52768||_==52796||_==52824||_==52852||_==52880||_==52908||_==52936||_==52964||_==52992||_==53020||_==53048||_==53076||_==53104||_==53132||_==53160||_==53188||_==53216||_==53244||_==53272||_==53300||_==53328||_==53356||_==53384||_==53412||_==53440||_==53468||_==53496||_==53524||_==53552||_==53580||_==53608||_==53636||_==53664||_==53692||_==53720||_==53748||_==53776||_==53804||_==53832||_==53860||_==53888||_==53916||_==53944||_==53972||_==54e3||_==54028||_==54056||_==54084||_==54112||_==54140||_==54168||_==54196||_==54224||_==54252||_==54280||_==54308||_==54336||_==54364||_==54392||_==54420||_==54448||_==54476||_==54504||_==54532||_==54560||_==54588||_==54616||_==54644||_==54672||_==54700||_==54728||_==54756||_==54784||_==54812||_==54840||_==54868||_==54896||_==54924||_==54952||_==54980||_==55008||_==55036||_==55064||_==55092||_==55120||_==55148||_==55176?u:44033<=_&&_<=44059||44061<=_&&_<=44087||44089<=_&&_<=44115||44117<=_&&_<=44143||44145<=_&&_<=44171||44173<=_&&_<=44199||44201<=_&&_<=44227||44229<=_&&_<=44255||44257<=_&&_<=44283||44285<=_&&_<=44311||44313<=_&&_<=44339||44341<=_&&_<=44367||44369<=_&&_<=44395||44397<=_&&_<=44423||44425<=_&&_<=44451||44453<=_&&_<=44479||44481<=_&&_<=44507||44509<=_&&_<=44535||44537<=_&&_<=44563||44565<=_&&_<=44591||44593<=_&&_<=44619||44621<=_&&_<=44647||44649<=_&&_<=44675||44677<=_&&_<=44703||44705<=_&&_<=44731||44733<=_&&_<=44759||44761<=_&&_<=44787||44789<=_&&_<=44815||44817<=_&&_<=44843||44845<=_&&_<=44871||44873<=_&&_<=44899||44901<=_&&_<=44927||44929<=_&&_<=44955||44957<=_&&_<=44983||44985<=_&&_<=45011||45013<=_&&_<=45039||45041<=_&&_<=45067||45069<=_&&_<=45095||45097<=_&&_<=45123||45125<=_&&_<=45151||45153<=_&&_<=45179||45181<=_&&_<=45207||45209<=_&&_<=45235||45237<=_&&_<=45263||45265<=_&&_<=45291||45293<=_&&_<=45319||45321<=_&&_<=45347||45349<=_&&_<=45375||45377<=_&&_<=45403||45405<=_&&_<=45431||45433<=_&&_<=45459||45461<=_&&_<=45487||45489<=_&&_<=45515||45517<=_&&_<=45543||45545<=_&&_<=45571||45573<=_&&_<=45599||45601<=_&&_<=45627||45629<=_&&_<=45655||45657<=_&&_<=45683||45685<=_&&_<=45711||45713<=_&&_<=45739||45741<=_&&_<=45767||45769<=_&&_<=45795||45797<=_&&_<=45823||45825<=_&&_<=45851||45853<=_&&_<=45879||45881<=_&&_<=45907||45909<=_&&_<=45935||45937<=_&&_<=45963||45965<=_&&_<=45991||45993<=_&&_<=46019||46021<=_&&_<=46047||46049<=_&&_<=46075||46077<=_&&_<=46103||46105<=_&&_<=46131||46133<=_&&_<=46159||46161<=_&&_<=46187||46189<=_&&_<=46215||46217<=_&&_<=46243||46245<=_&&_<=46271||46273<=_&&_<=46299||46301<=_&&_<=46327||46329<=_&&_<=46355||46357<=_&&_<=46383||46385<=_&&_<=46411||46413<=_&&_<=46439||46441<=_&&_<=46467||46469<=_&&_<=46495||46497<=_&&_<=46523||46525<=_&&_<=46551||46553<=_&&_<=46579||46581<=_&&_<=46607||46609<=_&&_<=46635||46637<=_&&_<=46663||46665<=_&&_<=46691||46693<=_&&_<=46719||46721<=_&&_<=46747||46749<=_&&_<=46775||46777<=_&&_<=46803||46805<=_&&_<=46831||46833<=_&&_<=46859||46861<=_&&_<=46887||46889<=_&&_<=46915||46917<=_&&_<=46943||46945<=_&&_<=46971||46973<=_&&_<=46999||47001<=_&&_<=47027||47029<=_&&_<=47055||47057<=_&&_<=47083||47085<=_&&_<=47111||47113<=_&&_<=47139||47141<=_&&_<=47167||47169<=_&&_<=47195||47197<=_&&_<=47223||47225<=_&&_<=47251||47253<=_&&_<=47279||47281<=_&&_<=47307||47309<=_&&_<=47335||47337<=_&&_<=47363||47365<=_&&_<=47391||47393<=_&&_<=47419||47421<=_&&_<=47447||47449<=_&&_<=47475||47477<=_&&_<=47503||47505<=_&&_<=47531||47533<=_&&_<=47559||47561<=_&&_<=47587||47589<=_&&_<=47615||47617<=_&&_<=47643||47645<=_&&_<=47671||47673<=_&&_<=47699||47701<=_&&_<=47727||47729<=_&&_<=47755||47757<=_&&_<=47783||47785<=_&&_<=47811||47813<=_&&_<=47839||47841<=_&&_<=47867||47869<=_&&_<=47895||47897<=_&&_<=47923||47925<=_&&_<=47951||47953<=_&&_<=47979||47981<=_&&_<=48007||48009<=_&&_<=48035||48037<=_&&_<=48063||48065<=_&&_<=48091||48093<=_&&_<=48119||48121<=_&&_<=48147||48149<=_&&_<=48175||48177<=_&&_<=48203||48205<=_&&_<=48231||48233<=_&&_<=48259||48261<=_&&_<=48287||48289<=_&&_<=48315||48317<=_&&_<=48343||48345<=_&&_<=48371||48373<=_&&_<=48399||48401<=_&&_<=48427||48429<=_&&_<=48455||48457<=_&&_<=48483||48485<=_&&_<=48511||48513<=_&&_<=48539||48541<=_&&_<=48567||48569<=_&&_<=48595||48597<=_&&_<=48623||48625<=_&&_<=48651||48653<=_&&_<=48679||48681<=_&&_<=48707||48709<=_&&_<=48735||48737<=_&&_<=48763||48765<=_&&_<=48791||48793<=_&&_<=48819||48821<=_&&_<=48847||48849<=_&&_<=48875||48877<=_&&_<=48903||48905<=_&&_<=48931||48933<=_&&_<=48959||48961<=_&&_<=48987||48989<=_&&_<=49015||49017<=_&&_<=49043||49045<=_&&_<=49071||49073<=_&&_<=49099||49101<=_&&_<=49127||49129<=_&&_<=49155||49157<=_&&_<=49183||49185<=_&&_<=49211||49213<=_&&_<=49239||49241<=_&&_<=49267||49269<=_&&_<=49295||49297<=_&&_<=49323||49325<=_&&_<=49351||49353<=_&&_<=49379||49381<=_&&_<=49407||49409<=_&&_<=49435||49437<=_&&_<=49463||49465<=_&&_<=49491||49493<=_&&_<=49519||49521<=_&&_<=49547||49549<=_&&_<=49575||49577<=_&&_<=49603||49605<=_&&_<=49631||49633<=_&&_<=49659||49661<=_&&_<=49687||49689<=_&&_<=49715||49717<=_&&_<=49743||49745<=_&&_<=49771||49773<=_&&_<=49799||49801<=_&&_<=49827||49829<=_&&_<=49855||49857<=_&&_<=49883||49885<=_&&_<=49911||49913<=_&&_<=49939||49941<=_&&_<=49967||49969<=_&&_<=49995||49997<=_&&_<=50023||50025<=_&&_<=50051||50053<=_&&_<=50079||50081<=_&&_<=50107||50109<=_&&_<=50135||50137<=_&&_<=50163||50165<=_&&_<=50191||50193<=_&&_<=50219||50221<=_&&_<=50247||50249<=_&&_<=50275||50277<=_&&_<=50303||50305<=_&&_<=50331||50333<=_&&_<=50359||50361<=_&&_<=50387||50389<=_&&_<=50415||50417<=_&&_<=50443||50445<=_&&_<=50471||50473<=_&&_<=50499||50501<=_&&_<=50527||50529<=_&&_<=50555||50557<=_&&_<=50583||50585<=_&&_<=50611||50613<=_&&_<=50639||50641<=_&&_<=50667||50669<=_&&_<=50695||50697<=_&&_<=50723||50725<=_&&_<=50751||50753<=_&&_<=50779||50781<=_&&_<=50807||50809<=_&&_<=50835||50837<=_&&_<=50863||50865<=_&&_<=50891||50893<=_&&_<=50919||50921<=_&&_<=50947||50949<=_&&_<=50975||50977<=_&&_<=51003||51005<=_&&_<=51031||51033<=_&&_<=51059||51061<=_&&_<=51087||51089<=_&&_<=51115||51117<=_&&_<=51143||51145<=_&&_<=51171||51173<=_&&_<=51199||51201<=_&&_<=51227||51229<=_&&_<=51255||51257<=_&&_<=51283||51285<=_&&_<=51311||51313<=_&&_<=51339||51341<=_&&_<=51367||51369<=_&&_<=51395||51397<=_&&_<=51423||51425<=_&&_<=51451||51453<=_&&_<=51479||51481<=_&&_<=51507||51509<=_&&_<=51535||51537<=_&&_<=51563||51565<=_&&_<=51591||51593<=_&&_<=51619||51621<=_&&_<=51647||51649<=_&&_<=51675||51677<=_&&_<=51703||51705<=_&&_<=51731||51733<=_&&_<=51759||51761<=_&&_<=51787||51789<=_&&_<=51815||51817<=_&&_<=51843||51845<=_&&_<=51871||51873<=_&&_<=51899||51901<=_&&_<=51927||51929<=_&&_<=51955||51957<=_&&_<=51983||51985<=_&&_<=52011||52013<=_&&_<=52039||52041<=_&&_<=52067||52069<=_&&_<=52095||52097<=_&&_<=52123||52125<=_&&_<=52151||52153<=_&&_<=52179||52181<=_&&_<=52207||52209<=_&&_<=52235||52237<=_&&_<=52263||52265<=_&&_<=52291||52293<=_&&_<=52319||52321<=_&&_<=52347||52349<=_&&_<=52375||52377<=_&&_<=52403||52405<=_&&_<=52431||52433<=_&&_<=52459||52461<=_&&_<=52487||52489<=_&&_<=52515||52517<=_&&_<=52543||52545<=_&&_<=52571||52573<=_&&_<=52599||52601<=_&&_<=52627||52629<=_&&_<=52655||52657<=_&&_<=52683||52685<=_&&_<=52711||52713<=_&&_<=52739||52741<=_&&_<=52767||52769<=_&&_<=52795||52797<=_&&_<=52823||52825<=_&&_<=52851||52853<=_&&_<=52879||52881<=_&&_<=52907||52909<=_&&_<=52935||52937<=_&&_<=52963||52965<=_&&_<=52991||52993<=_&&_<=53019||53021<=_&&_<=53047||53049<=_&&_<=53075||53077<=_&&_<=53103||53105<=_&&_<=53131||53133<=_&&_<=53159||53161<=_&&_<=53187||53189<=_&&_<=53215||53217<=_&&_<=53243||53245<=_&&_<=53271||53273<=_&&_<=53299||53301<=_&&_<=53327||53329<=_&&_<=53355||53357<=_&&_<=53383||53385<=_&&_<=53411||53413<=_&&_<=53439||53441<=_&&_<=53467||53469<=_&&_<=53495||53497<=_&&_<=53523||53525<=_&&_<=53551||53553<=_&&_<=53579||53581<=_&&_<=53607||53609<=_&&_<=53635||53637<=_&&_<=53663||53665<=_&&_<=53691||53693<=_&&_<=53719||53721<=_&&_<=53747||53749<=_&&_<=53775||53777<=_&&_<=53803||53805<=_&&_<=53831||53833<=_&&_<=53859||53861<=_&&_<=53887||53889<=_&&_<=53915||53917<=_&&_<=53943||53945<=_&&_<=53971||53973<=_&&_<=53999||54001<=_&&_<=54027||54029<=_&&_<=54055||54057<=_&&_<=54083||54085<=_&&_<=54111||54113<=_&&_<=54139||54141<=_&&_<=54167||54169<=_&&_<=54195||54197<=_&&_<=54223||54225<=_&&_<=54251||54253<=_&&_<=54279||54281<=_&&_<=54307||54309<=_&&_<=54335||54337<=_&&_<=54363||54365<=_&&_<=54391||54393<=_&&_<=54419||54421<=_&&_<=54447||54449<=_&&_<=54475||54477<=_&&_<=54503||54505<=_&&_<=54531||54533<=_&&_<=54559||54561<=_&&_<=54587||54589<=_&&_<=54615||54617<=_&&_<=54643||54645<=_&&_<=54671||54673<=_&&_<=54699||54701<=_&&_<=54727||54729<=_&&_<=54755||54757<=_&&_<=54783||54785<=_&&_<=54811||54813<=_&&_<=54839||54841<=_&&_<=54867||54869<=_&&_<=54895||54897<=_&&_<=54923||54925<=_&&_<=54951||54953<=_&&_<=54979||54981<=_&&_<=55007||55009<=_&&_<=55035||55037<=_&&_<=55063||55065<=_&&_<=55091||55093<=_&&_<=55119||55121<=_&&_<=55147||55149<=_&&_<=55175||55177<=_&&_<=55203?f:_==9757||_==9977||9994<=_&&_<=9997||_==127877||127938<=_&&_<=127940||_==127943||127946<=_&&_<=127948||128066<=_&&_<=128067||128070<=_&&_<=128080||_==128110||128112<=_&&_<=128120||_==128124||128129<=_&&_<=128131||128133<=_&&_<=128135||_==128170||128372<=_&&_<=128373||_==128378||_==128400||128405<=_&&_<=128406||128581<=_&&_<=128583||128587<=_&&_<=128591||_==128675||128692<=_&&_<=128694||_==128704||_==128716||129304<=_&&_<=129308||129310<=_&&_<=129311||_==129318||129328<=_&&_<=129337||129341<=_&&_<=129342||129489<=_&&_<=129501?g:127995<=_&&_<=127999?m:_==8205?x:_==9792||_==9794||9877<=_&&_<=9878||_==9992||_==10084||_==127752||_==127806||_==127859||_==127891||_==127908||_==127912||_==127979||_==127981||_==128139||128187<=_&&_<=128188||_==128295||_==128300||_==128488||_==128640||_==128658?b:128102<=_&&_<=128105?T:d}return this}typeof Az<"u"&&Az.exports&&(Az.exports=kje)});var Ame=Xn((sq,aq)=>{(function(e,t){typeof sq=="object"&&typeof aq<"u"?aq.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self,e.RBush=t())})(sq,function(){"use strict";function e(C,E,v,D,O){t(C,E,v||0,D||C.length-1,O||i)}function t(C,E,v,D,O){for(;D>v;){if(D-v>600){var R=D-v+1,M=E-v+1,N=Math.log(R),_=.5*Math.exp(2*N/3),S=.5*Math.sqrt(N*_*(R-_)/R)*(M-R/2<0?-1:1),w=Math.max(v,Math.floor(E-M*_/R+S)),I=Math.min(D,Math.floor(E+(R-M)*_/R+S));t(C,E,w,I,O)}var L=C[E],B=v,U=D;for(n(C,v,E),O(C[D],L)>0&&n(C,v,D);B<U;){for(n(C,B,U),B++,U--;O(C[B],L)<0;)B++;for(;O(C[U],L)>0;)U--}O(C[v],L)===0?n(C,v,U):(U++,n(C,U,D)),U<=E&&(v=U+1),E<=U&&(D=U-1)}}function n(C,E,v){var D=C[E];C[E]=C[v],C[v]=D}function i(C,E){return C<E?-1:C>E?1:0}var o=function(E){E===void 0&&(E=9),this._maxEntries=Math.max(4,E),this._minEntries=Math.max(2,Math.ceil(this._maxEntries*.4)),this.clear()};o.prototype.all=function(){return this._all(this.data,[])},o.prototype.search=function(E){var v=this.data,D=[];if(!b(E,v))return D;for(var O=this.toBBox,R=[];v;){for(var M=0;M<v.children.length;M++){var N=v.children[M],_=v.leaf?O(N):N;b(E,_)&&(v.leaf?D.push(N):x(E,_)?this._all(N,D):R.push(N))}v=R.pop()}return D},o.prototype.collides=function(E){var v=this.data;if(!b(E,v))return!1;for(var D=[];v;){for(var O=0;O<v.children.length;O++){var R=v.children[O],M=v.leaf?this.toBBox(R):R;if(b(E,M)){if(v.leaf||x(E,M))return!0;D.push(R)}}v=D.pop()}return!1},o.prototype.load=function(E){if(!(E&&E.length))return this;if(E.length<this._minEntries){for(var v=0;v<E.length;v++)this.insert(E[v]);return this}var D=this._build(E.slice(),0,E.length-1,0);if(!this.data.children.length)this.data=D;else if(this.data.height===D.height)this._splitRoot(this.data,D);else{if(this.data.height<D.height){var O=this.data;this.data=D,D=O}this._insert(D,this.data.height-D.height-1,!0)}return this},o.prototype.insert=function(E){return E&&this._insert(E,this.data.height-1),this},o.prototype.clear=function(){return this.data=T([]),this},o.prototype.remove=function(E,v){if(!E)return this;for(var D=this.data,O=this.toBBox(E),R=[],M=[],N,_,S;D||R.length;){if(D||(D=R.pop(),_=R[R.length-1],N=M.pop(),S=!0),D.leaf){var w=r(E,D.children,v);if(w!==-1)return D.children.splice(w,1),R.push(D),this._condense(R),this}!S&&!D.leaf&&x(D,O)?(R.push(D),M.push(N),N=0,_=D,D=D.children[0]):_?(N++,D=_.children[N],S=!1):D=null}return this},o.prototype.toBBox=function(E){return E},o.prototype.compareMinX=function(E,v){return E.minX-v.minX},o.prototype.compareMinY=function(E,v){return E.minY-v.minY},o.prototype.toJSON=function(){return this.data},o.prototype.fromJSON=function(E){return this.data=E,this},o.prototype._all=function(E,v){for(var D=[];E;)E.leaf?v.push.apply(v,E.children):D.push.apply(D,E.children),E=D.pop();return v},o.prototype._build=function(E,v,D,O){var R=D-v+1,M=this._maxEntries,N;if(R<=M)return N=T(E.slice(v,D+1)),s(N,this.toBBox),N;O||(O=Math.ceil(Math.log(R)/Math.log(M)),M=Math.ceil(R/Math.pow(M,O-1))),N=T([]),N.leaf=!1,N.height=O;var _=Math.ceil(R/M),S=_*Math.ceil(Math.sqrt(M));A(E,v,D,S,this.compareMinX);for(var w=v;w<=D;w+=S){var I=Math.min(w+S-1,D);A(E,w,I,_,this.compareMinY);for(var L=w;L<=I;L+=_){var B=Math.min(L+_-1,I);N.children.push(this._build(E,L,B,O-1))}}return s(N,this.toBBox),N},o.prototype._chooseSubtree=function(E,v,D,O){for(;O.push(v),!(v.leaf||O.length-1===D);){for(var R=1/0,M=1/0,N=void 0,_=0;_<v.children.length;_++){var S=v.children[_],w=d(S),I=g(E,S)-w;I<M?(M=I,R=w<R?w:R,N=S):I===M&&w<R&&(R=w,N=S)}v=N||v.children[0]}return v},o.prototype._insert=function(E,v,D){var O=D?E:this.toBBox(E),R=[],M=this._chooseSubtree(O,this.data,v,R);for(M.children.push(E),c(M,O);v>=0&&R[v].children.length>this._maxEntries;)this._split(R,v),v--;this._adjustParentBBoxes(O,R,v)},o.prototype._split=function(E,v){var D=E[v],O=D.children.length,R=this._minEntries;this._chooseSplitAxis(D,R,O);var M=this._chooseSplitIndex(D,R,O),N=T(D.children.splice(M,D.children.length-M));N.height=D.height,N.leaf=D.leaf,s(D,this.toBBox),s(N,this.toBBox),v?E[v-1].children.push(N):this._splitRoot(D,N)},o.prototype._splitRoot=function(E,v){this.data=T([E,v]),this.data.height=E.height+1,this.data.leaf=!1,s(this.data,this.toBBox)},o.prototype._chooseSplitIndex=function(E,v,D){for(var O,R=1/0,M=1/0,N=v;N<=D-v;N++){var _=a(E,0,N,this.toBBox),S=a(E,N,D,this.toBBox),w=m(_,S),I=d(_)+d(S);w<R?(R=w,O=N,M=I<M?I:M):w===R&&I<M&&(M=I,O=N)}return O||D-v},o.prototype._chooseSplitAxis=function(E,v,D){var O=E.leaf?this.compareMinX:u,R=E.leaf?this.compareMinY:f,M=this._allDistMargin(E,v,D,O),N=this._allDistMargin(E,v,D,R);M<N&&E.children.sort(O)},o.prototype._allDistMargin=function(E,v,D,O){E.children.sort(O);for(var R=this.toBBox,M=a(E,0,v,R),N=a(E,D-v,D,R),_=p(M)+p(N),S=v;S<D-v;S++){var w=E.children[S];c(M,E.leaf?R(w):w),_+=p(M)}for(var I=D-v-1;I>=v;I--){var L=E.children[I];c(N,E.leaf?R(L):L),_+=p(N)}return _},o.prototype._adjustParentBBoxes=function(E,v,D){for(var O=D;O>=0;O--)c(v[O],E)},o.prototype._condense=function(E){for(var v=E.length-1,D=void 0;v>=0;v--)E[v].children.length===0?v>0?(D=E[v-1].children,D.splice(D.indexOf(E[v]),1)):this.clear():s(E[v],this.toBBox)};function r(C,E,v){if(!v)return E.indexOf(C);for(var D=0;D<E.length;D++)if(v(C,E[D]))return D;return-1}function s(C,E){a(C,0,C.children.length,E,C)}function a(C,E,v,D,O){O||(O=T(null)),O.minX=1/0,O.minY=1/0,O.maxX=-1/0,O.maxY=-1/0;for(var R=E;R<v;R++){var M=C.children[R];c(O,C.leaf?D(M):M)}return O}function c(C,E){return C.minX=Math.min(C.minX,E.minX),C.minY=Math.min(C.minY,E.minY),C.maxX=Math.max(C.maxX,E.maxX),C.maxY=Math.max(C.maxY,E.maxY),C}function u(C,E){return C.minX-E.minX}function f(C,E){return C.minY-E.minY}function d(C){return(C.maxX-C.minX)*(C.maxY-C.minY)}function p(C){return C.maxX-C.minX+(C.maxY-C.minY)}function g(C,E){return(Math.max(E.maxX,C.maxX)-Math.min(E.minX,C.minX))*(Math.max(E.maxY,C.maxY)-Math.min(E.minY,C.minY))}function m(C,E){var v=Math.max(C.minX,E.minX),D=Math.max(C.minY,E.minY),O=Math.min(C.maxX,E.maxX),R=Math.min(C.maxY,E.maxY);return Math.max(0,O-v)*Math.max(0,R-D)}function x(C,E){return C.minX<=E.minX&&C.minY<=E.minY&&E.maxX<=C.maxX&&E.maxY<=C.maxY}function b(C,E){return E.minX<=C.maxX&&E.minY<=C.maxY&&E.maxX>=C.minX&&E.maxY>=C.minY}function T(C){return{children:C,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function A(C,E,v,D,O){for(var R=[E,v];R.length;)if(v=R.pop(),E=R.pop(),!(v-E<=D)){var M=E+Math.ceil((v-E)/D/2)*D;e(C,M,E,v,O),R.push(E,M,M,v)}}return o})});var V_e=Xn((_H,k_e)=>{(function(e,t){typeof _H=="object"&&typeof k_e<"u"?t(_H):typeof define=="function"&&define.amd?define(["exports"],t):(e=e||self,t(e.topojson=e.topojson||{}))})(_H,function(e){"use strict";function t(C){return C}function n(C){if(C==null)return t;var E,v,D=C.scale[0],O=C.scale[1],R=C.translate[0],M=C.translate[1];return function(N,_){_||(E=v=0);var S=2,w=N.length,I=new Array(w);for(I[0]=(E+=N[0])*D+R,I[1]=(v+=N[1])*O+M;S<w;)I[S]=N[S],++S;return I}}function i(C){var E=n(C.transform),v,D=1/0,O=D,R=-D,M=-D;function N(S){S=E(S),S[0]<D&&(D=S[0]),S[0]>R&&(R=S[0]),S[1]<O&&(O=S[1]),S[1]>M&&(M=S[1])}function _(S){switch(S.type){case"GeometryCollection":S.geometries.forEach(_);break;case"Point":N(S.coordinates);break;case"MultiPoint":S.coordinates.forEach(N);break}}C.arcs.forEach(function(S){for(var w=-1,I=S.length,L;++w<I;)L=E(S[w],w),L[0]<D&&(D=L[0]),L[0]>R&&(R=L[0]),L[1]<O&&(O=L[1]),L[1]>M&&(M=L[1])});for(v in C.objects)_(C.objects[v]);return[D,O,R,M]}function o(C,E){for(var v,D=C.length,O=D-E;O<--D;)v=C[O],C[O++]=C[D],C[D]=v}function r(C,E){return typeof E=="string"&&(E=C.objects[E]),E.type==="GeometryCollection"?{type:"FeatureCollection",features:E.geometries.map(function(v){return s(C,v)})}:s(C,E)}function s(C,E){var v=E.id,D=E.bbox,O=E.properties==null?{}:E.properties,R=a(C,E);return v==null&&D==null?{type:"Feature",properties:O,geometry:R}:D==null?{type:"Feature",id:v,properties:O,geometry:R}:{type:"Feature",id:v,bbox:D,properties:O,geometry:R}}function a(C,E){var v=n(C.transform),D=C.arcs;function O(w,I){I.length&&I.pop();for(var L=D[w<0?~w:w],B=0,U=L.length;B<U;++B)I.push(v(L[B],B));w<0&&o(I,U)}function R(w){return v(w)}function M(w){for(var I=[],L=0,B=w.length;L<B;++L)O(w[L],I);return I.length<2&&I.push(I[0]),I}function N(w){for(var I=M(w);I.length<4;)I.push(I[0]);return I}function _(w){return w.map(N)}function S(w){var I=w.type,L;switch(I){case"GeometryCollection":return{type:I,geometries:w.geometries.map(S)};case"Point":L=R(w.coordinates);break;case"MultiPoint":L=w.coordinates.map(R);break;case"LineString":L=M(w.arcs);break;case"MultiLineString":L=w.arcs.map(M);break;case"Polygon":L=_(w.arcs);break;case"MultiPolygon":L=w.arcs.map(_);break;default:return null}return{type:I,coordinates:L}}return S(E)}function c(C,E){var v={},D={},O={},R=[],M=-1;E.forEach(function(S,w){var I=C.arcs[S<0?~S:S],L;I.length<3&&!I[1][0]&&!I[1][1]&&(L=E[++M],E[M]=S,E[w]=L)}),E.forEach(function(S){var w=N(S),I=w[0],L=w[1],B,U;if(B=O[I])if(delete O[B.end],B.push(S),B.end=L,U=D[L]){delete D[U.start];var V=U===B?B:B.concat(U);D[V.start=B.start]=O[V.end=U.end]=V}else D[B.start]=O[B.end]=B;else if(B=D[L])if(delete D[B.start],B.unshift(S),B.start=I,U=O[I]){delete O[U.end];var G=U===B?B:U.concat(B);D[G.start=U.start]=O[G.end=B.end]=G}else D[B.start]=O[B.end]=B;else B=[S],D[B.start=I]=O[B.end=L]=B});function N(S){var w=C.arcs[S<0?~S:S],I=w[0],L;return C.transform?(L=[0,0],w.forEach(function(B){L[0]+=B[0],L[1]+=B[1]})):L=w[w.length-1],S<0?[L,I]:[I,L]}function _(S,w){for(var I in S){var L=S[I];delete w[L.start],delete L.start,delete L.end,L.forEach(function(B){v[B<0?~B:B]=1}),R.push(L)}}return _(O,D),_(D,O),E.forEach(function(S){v[S<0?~S:S]||R.push([S])}),R}function u(C){return a(C,f.apply(this,arguments))}function f(C,E,v){var D,O,R;if(arguments.length>1)D=d(C,E,v);else for(O=0,D=new Array(R=C.arcs.length);O<R;++O)D[O]=O;return{type:"MultiLineString",arcs:c(C,D)}}function d(C,E,v){var D=[],O=[],R;function M(I){var L=I<0?~I:I;(O[L]||(O[L]=[])).push({i:I,g:R})}function N(I){I.forEach(M)}function _(I){I.forEach(N)}function S(I){I.forEach(_)}function w(I){switch(R=I,I.type){case"GeometryCollection":I.geometries.forEach(w);break;case"LineString":N(I.arcs);break;case"MultiLineString":case"Polygon":_(I.arcs);break;case"MultiPolygon":S(I.arcs);break}}return w(E),O.forEach(v==null?function(I){D.push(I[0].i)}:function(I){v(I[0].g,I[I.length-1].g)&&D.push(I[0].i)}),D}function p(C){for(var E=-1,v=C.length,D,O=C[v-1],R=0;++E<v;)D=O,O=C[E],R+=D[0]*O[1]-D[1]*O[0];return Math.abs(R)}function g(C){return a(C,m.apply(this,arguments))}function m(C,E){var v={},D=[],O=[];E.forEach(R);function R(_){switch(_.type){case"GeometryCollection":_.geometries.forEach(R);break;case"Polygon":M(_.arcs);break;case"MultiPolygon":_.arcs.forEach(M);break}}function M(_){_.forEach(function(S){S.forEach(function(w){(v[w=w<0?~w:w]||(v[w]=[])).push(_)})}),D.push(_)}function N(_){return p(a(C,{type:"Polygon",arcs:[_]}).coordinates[0])}return D.forEach(function(_){if(!_._){var S=[],w=[_];for(_._=1,O.push(S);_=w.pop();)S.push(_),_.forEach(function(I){I.forEach(function(L){v[L<0?~L:L].forEach(function(B){B._||(B._=1,w.push(B))})})})}}),D.forEach(function(_){delete _._}),{type:"MultiPolygon",arcs:O.map(function(_){var S=[],w;if(_.forEach(function(V){V.forEach(function(G){G.forEach(function(k){v[k<0?~k:k].length<2&&S.push(k)})})}),S=c(C,S),(w=S.length)>1)for(var I=1,L=N(S[0]),B,U;I<w;++I)(B=N(S[I]))>L&&(U=S[0],S[0]=S[I],S[I]=U,L=B);return S}).filter(function(_){return _.length>0})}}function x(C,E){for(var v=0,D=C.length;v<D;){var O=v+D>>>1;C[O]<E?v=O+1:D=O}return v}function b(C){var E={},v=C.map(function(){return[]});function D(V,G){V.forEach(function(k){k<0&&(k=~k);var W=E[k];W?W.push(G):E[k]=[G]})}function O(V,G){V.forEach(function(k){D(k,G)})}function R(V,G){V.type==="GeometryCollection"?V.geometries.forEach(function(k){R(k,G)}):V.type in M&&M[V.type](V.arcs,G)}var M={LineString:D,MultiLineString:O,Polygon:O,MultiPolygon:function(V,G){V.forEach(function(k){O(k,G)})}};C.forEach(R);for(var N in E)for(var _=E[N],S=_.length,w=0;w<S;++w)for(var I=w+1;I<S;++I){var L=_[w],B=_[I],U;(U=v[L])[N=x(U,B)]!==B&&U.splice(N,0,B),(U=v[B])[N=x(U,L)]!==L&&U.splice(N,0,L)}return v}function T(C){if(C==null)return t;var E,v,D=C.scale[0],O=C.scale[1],R=C.translate[0],M=C.translate[1];return function(N,_){_||(E=v=0);var S=2,w=N.length,I=new Array(w),L=Math.round((N[0]-R)/D),B=Math.round((N[1]-M)/O);for(I[0]=L-E,E=L,I[1]=B-v,v=B;S<w;)I[S]=N[S],++S;return I}}function A(C,E){if(C.transform)throw new Error("already quantized");if(!E||!E.scale){if(!((M=Math.floor(E))>=2))throw new Error("n must be \u22652");_=C.bbox||i(C);var v=_[0],D=_[1],O=_[2],R=_[3],M;E={scale:[O-v?(O-v)/(M-1):1,R-D?(R-D)/(M-1):1],translate:[v,D]}}else _=C.bbox;var N=T(E),_,S,w=C.objects,I={};function L(V){return N(V)}function B(V){var G;switch(V.type){case"GeometryCollection":G={type:"GeometryCollection",geometries:V.geometries.map(B)};break;case"Point":G={type:"Point",coordinates:L(V.coordinates)};break;case"MultiPoint":G={type:"MultiPoint",coordinates:V.coordinates.map(L)};break;default:return V}return V.id!=null&&(G.id=V.id),V.bbox!=null&&(G.bbox=V.bbox),V.properties!=null&&(G.properties=V.properties),G}function U(V){var G=0,k=1,W=V.length,Y,Q=new Array(W);for(Q[0]=N(V[0],0);++G<W;)((Y=N(V[G],G))[0]||Y[1])&&(Q[k++]=Y);return k===1&&(Q[k++]=[0,0]),Q.length=k,Q}for(S in w)I[S]=B(w[S]);return{type:"Topology",bbox:_,transform:E,objects:I,arcs:C.arcs.map(U)}}e.bbox=i,e.feature=r,e.merge=g,e.mergeArcs=m,e.mesh=u,e.meshArcs=f,e.neighbors=b,e.quantize=A,e.transform=n,e.untransform=T,Object.defineProperty(e,"__esModule",{value:!0})})});var rge=Xn(xH=>{"use strict";Object.defineProperty(xH,"__esModule",{value:!0});xH.version=void 0;xH.version="4.0.0"});var RS=Xn(Ac=>{"use strict";Object.defineProperty(Ac,"__esModule",{value:!0});Ac.assertNever=Ac.removeWithPredicate=Ac.remove=Ac.ellipsis=Ac.defaults=Ac.isBoolean=Ac.isUndefined=void 0;function sge(e){return e===void 0}Ac.isUndefined=sge;function cot(e){return typeof e=="boolean"}Ac.isBoolean=cot;function lot(e,t){for(var n in t)t.hasOwnProperty(n)&&sge(e[n])&&(e[n]=t[n]);return e}Ac.defaults=lot;function uot(e,t,n){var i;return e.length>t&&(n==null?(n="…",i=3):i=n.length,e=e.substring(0,t-i)+n),e}Ac.ellipsis=uot;function fot(e,t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)}Ac.remove=fot;function dot(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}Ac.removeWithPredicate=dot;function hot(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}Ac.assertNever=hot});var ST=Xn(Ii=>{"use strict";Object.defineProperty(Ii,"__esModule",{value:!0});Ii.alphaNumericAndMarksRe=Ii.alphaNumericAndMarksCharsStr=Ii.alphaNumericCharsRe=Ii.decimalNumbersStr=Ii.alphaCharsAndMarksStr=Ii.marksStr=Ii.emojiStr=Ii.alphaCharsStr=Ii.controlCharsRe=Ii.quoteRe=Ii.whitespaceRe=Ii.nonDigitRe=Ii.digitRe=Ii.letterRe=void 0;Ii.letterRe=/[A-Za-z]/;Ii.digitRe=/[\d]/;Ii.nonDigitRe=/[\D]/;Ii.whitespaceRe=/\s/;Ii.quoteRe=/['"]/;Ii.controlCharsRe=/[\x00-\x1F\x7F]/;Ii.alphaCharsStr=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source;Ii.emojiStr=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source;Ii.marksStr=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source;Ii.alphaCharsAndMarksStr=Ii.alphaCharsStr+Ii.emojiStr+Ii.marksStr;Ii.decimalNumbersStr=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source;Ii.alphaNumericCharsRe=new RegExp("[".concat(Ii.alphaCharsStr+Ii.decimalNumbersStr,"]"));Ii.alphaNumericAndMarksCharsStr=Ii.alphaCharsAndMarksStr+Ii.decimalNumbersStr;Ii.alphaNumericAndMarksRe=new RegExp("[".concat(Ii.alphaNumericAndMarksCharsStr,"]"))});var CH=Xn(TH=>{"use strict";Object.defineProperty(TH,"__esModule",{value:!0});TH.HtmlTag=void 0;var bH=ST(),mot=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=n?n.split(bH.whitespaceRe):[],o=t.split(bH.whitespaceRe),r;r=o.shift();)i.indexOf(r)===-1&&i.push(r);return this.getAttrs().class=i.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=n?n.split(bH.whitespaceRe):[],o=t.split(bH.whitespaceRe),r;i.length&&(r=o.shift());){var s=i.indexOf(r);s!==-1&&i.splice(s,1)}return this.getAttrs().class=i.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),"</",t,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();TH.HtmlTag=mot});var age=Xn(AH=>{"use strict";Object.defineProperty(AH,"__esModule",{value:!0});AH.truncateSmart=void 0;function pot(e,t,n){var i,o;n==null?(n="…",o=3,i=8):(o=n.length,i=n.length);var r=function(A){var C={},E=A,v=E.match(/^([a-z]+):\/\//i);return v&&(C.scheme=v[1],E=E.substr(v[0].length)),v=E.match(/^(.*?)(?=(\?|#|\/|$))/i),v&&(C.host=v[1],E=E.substr(v[0].length)),v=E.match(/^\/(.*?)(?=(\?|#|$))/i),v&&(C.path=v[1],E=E.substr(v[0].length)),v=E.match(/^\?(.*?)(?=(#|$))/i),v&&(C.query=v[1],E=E.substr(v[0].length)),v=E.match(/^#(.*?)$/i),v&&(C.fragment=v[1]),C},s=function(A){var C="";return A.scheme&&A.host&&(C+=A.scheme+"://"),A.host&&(C+=A.host),A.path&&(C+="/"+A.path),A.query&&(C+="?"+A.query),A.fragment&&(C+="#"+A.fragment),C},a=function(A,C){var E=C/2,v=Math.ceil(E),D=-1*Math.floor(E),O="";return D<0&&(O=A.substr(D)),A.substr(0,v)+n+O};if(e.length<=t)return e;var c=t-o,u=r(e);if(u.query){var f=u.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);f&&(u.query=u.query.substr(0,f[1].length),e=s(u))}if(e.length<=t||(u.host&&(u.host=u.host.replace(/^www\./,""),e=s(u)),e.length<=t))return e;var d="";if(u.host&&(d+=u.host),d.length>=c)return u.host.length==t?(u.host.substr(0,t-o)+n).substr(0,c+i):a(d,c).substr(0,c+i);var p="";if(u.path&&(p+="/"+u.path),u.query&&(p+="?"+u.query),p)if((d+p).length>=c){if((d+p).length==t)return(d+p).substr(0,t);var g=c-d.length;return(d+a(p,g)).substr(0,c+i)}else d+=p;if(u.fragment){var m="#"+u.fragment;if((d+m).length>=c){if((d+m).length==t)return(d+m).substr(0,t);var x=c-d.length;return(d+a(m,x)).substr(0,c+i)}else d+=m}if(u.scheme&&u.host){var b=u.scheme+"://";if((d+b).length<c)return(b+d).substr(0,t)}if(d.length<=t)return d;var T="";return c>0&&(T=d.substr(-1*Math.floor(c/2))),(d.substr(0,Math.ceil(c/2))+n+T).substr(0,c+i)}AH.truncateSmart=pot});var cge=Xn(EH=>{"use strict";Object.defineProperty(EH,"__esModule",{value:!0});EH.truncateMiddle=void 0;function _ot(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="…",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}EH.truncateMiddle=_ot});var lge=Xn(SH=>{"use strict";Object.defineProperty(SH,"__esModule",{value:!0});SH.truncateEnd=void 0;var got=RS();function yot(e,t,n){return(0,got.ellipsis)(e,t,n)}SH.truncateEnd=yot});var SY=Xn(vH=>{"use strict";Object.defineProperty(vH,"__esModule",{value:!0});vH.AnchorTagBuilder=void 0;var xot=CH(),bot=age(),Tot=cge(),Cot=lge(),Aot=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new xot.HtmlTag({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<t.getAnchorText().length&&(n.title=t.getAnchorHref()),n},e.prototype.createCssClass=function(t){var n=this.className;if(n){for(var i=[n],o=t.getCssClassSuffixes(),r=0,s=o.length;r<s;r++)i.push(n+"-"+o[r]);return i.join(" ")}else return""},e.prototype.processAnchorText=function(t){return t=this.doTruncate(t),t},e.prototype.doTruncate=function(t){var n=this.truncate;if(!n||!n.length)return t;var i=n.length,o=n.location;return o==="smart"?(0,bot.truncateSmart)(t,i):o==="middle"?(0,Tot.truncateMiddle)(t,i):(0,Cot.truncateEnd)(t,i)},e}();vH.AnchorTagBuilder=Aot});var km={};kQ(km,{__addDisposableResource:()=>Pge,__assign:()=>wH,__asyncDelegator:()=>Cge,__asyncGenerator:()=>Tge,__asyncValues:()=>Age,__await:()=>OS,__awaiter:()=>pge,__classPrivateFieldGet:()=>wge,__classPrivateFieldIn:()=>Ige,__classPrivateFieldSet:()=>Dge,__createBinding:()=>IH,__decorate:()=>dge,__disposeResources:()=>Rge,__esDecorate:()=>Eot,__exportStar:()=>gge,__extends:()=>uge,__generator:()=>_ge,__importDefault:()=>vge,__importStar:()=>Sge,__makeTemplateObject:()=>Ege,__metadata:()=>mge,__param:()=>hge,__propKey:()=>vot,__read:()=>wY,__rest:()=>fge,__runInitializers:()=>Sot,__setFunctionName:()=>wot,__spread:()=>yge,__spreadArray:()=>bge,__spreadArrays:()=>xge,__values:()=>DH,default:()=>Pot});function uge(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");vY(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function fge(e,t){var n={};for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&t.indexOf(i)<0&&(n[i]=e[i]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var o=0,i=Object.getOwnPropertySymbols(e);o<i.length;o++)t.indexOf(i[o])<0&&Object.prototype.propertyIsEnumerable.call(e,i[o])&&(n[i[o]]=e[i[o]]);return n}function dge(e,t,n,i){var o=arguments.length,r=o<3?t:i===null?i=Object.getOwnPropertyDescriptor(t,n):i,s;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(e,t,n,i);else for(var a=e.length-1;a>=0;a--)(s=e[a])&&(r=(o<3?s(r):o>3?s(t,n,r):s(t,n))||r);return o>3&&r&&Object.defineProperty(t,n,r),r}function hge(e,t){return function(n,i){t(n,i,e)}}function Eot(e,t,n,i,o,r){function s(T){if(T!==void 0&&typeof T!="function")throw new TypeError("Function expected");return T}for(var a=i.kind,c=a==="getter"?"get":a==="setter"?"set":"value",u=!t&&e?i.static?e:e.prototype:null,f=t||(u?Object.getOwnPropertyDescriptor(u,i.name):{}),d,p=!1,g=n.length-1;g>=0;g--){var m={};for(var x in i)m[x]=x==="access"?{}:i[x];for(var x in i.access)m.access[x]=i.access[x];m.addInitializer=function(T){if(p)throw new TypeError("Cannot add initializers after decoration has completed");r.push(s(T||null))};var b=(0,n[g])(a==="accessor"?{get:f.get,set:f.set}:f[c],m);if(a==="accessor"){if(b===void 0)continue;if(b===null||typeof b!="object")throw new TypeError("Object expected");(d=s(b.get))&&(f.get=d),(d=s(b.set))&&(f.set=d),(d=s(b.init))&&o.unshift(d)}else(d=s(b))&&(a==="field"?o.unshift(d):f[c]=d)}u&&Object.defineProperty(u,i.name,f),p=!0}function Sot(e,t,n){for(var i=arguments.length>2,o=0;o<t.length;o++)n=i?t[o].call(e,n):t[o].call(e);return i?n:void 0}function vot(e){return typeof e=="symbol"?e:"".concat(e)}function wot(e,t,n){return typeof t=="symbol"&&(t=t.description?"[".concat(t.description,"]"):""),Object.defineProperty(e,"name",{configurable:!0,value:n?"".concat(n," ",t):t})}function mge(e,t){if(typeof Reflect=="object"&&typeof Reflect.metadata=="function")return Reflect.metadata(e,t)}function pge(e,t,n,i){function o(r){return r instanceof n?r:new n(function(s){s(r)})}return new(n||(n=Promise))(function(r,s){function a(f){try{u(i.next(f))}catch(d){s(d)}}function c(f){try{u(i.throw(f))}catch(d){s(d)}}function u(f){f.done?r(f.value):o(f.value).then(a,c)}u((i=i.apply(e,t||[])).next())})}function _ge(e,t){var n={label:0,sent:function(){if(r[0]&1)throw r[1];return r[1]},trys:[],ops:[]},i,o,r,s;return s={next:a(0),throw:a(1),return:a(2)},typeof Symbol=="function"&&(s[Symbol.iterator]=function(){return this}),s;function a(u){return function(f){return c([u,f])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;s&&(s=0,u[0]&&(n=0)),n;)try{if(i=1,o&&(r=u[0]&2?o.return:u[0]?o.throw||((r=o.return)&&r.call(o),0):o.next)&&!(r=r.call(o,u[1])).done)return r;switch(o=0,r&&(u=[u[0]&2,r.value]),u[0]){case 0:case 1:r=u;break;case 4:return n.label++,{value:u[1],done:!1};case 5:n.label++,o=u[1],u=[0];continue;case 7:u=n.ops.pop(),n.trys.pop();continue;default:if(r=n.trys,!(r=r.length>0&&r[r.length-1])&&(u[0]===6||u[0]===2)){n=0;continue}if(u[0]===3&&(!r||u[1]>r[0]&&u[1]<r[3])){n.label=u[1];break}if(u[0]===6&&n.label<r[1]){n.label=r[1],r=u;break}if(r&&n.label<r[2]){n.label=r[2],n.ops.push(u);break}r[2]&&n.ops.pop(),n.trys.pop();continue}u=t.call(e,n)}catch(f){u=[6,f],o=0}finally{i=r=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function gge(e,t){for(var n in e)n!=="default"&&!Object.prototype.hasOwnProperty.call(t,n)&&IH(t,e,n)}function DH(e){var t=typeof Symbol=="function"&&Symbol.iterator,n=t&&e[t],i=0;if(n)return n.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&i>=e.length&&(e=void 0),{value:e&&e[i++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function wY(e,t){var n=typeof Symbol=="function"&&e[Symbol.iterator];if(!n)return e;var i=n.call(e),o,r=[],s;try{for(;(t===void 0||t-- >0)&&!(o=i.next()).done;)r.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(n=i.return)&&n.call(i)}finally{if(s)throw s.error}}return r}function yge(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(wY(arguments[t]));return e}function xge(){for(var e=0,t=0,n=arguments.length;t<n;t++)e+=arguments[t].length;for(var i=Array(e),o=0,t=0;t<n;t++)for(var r=arguments[t],s=0,a=r.length;s<a;s++,o++)i[o]=r[s];return i}function bge(e,t,n){if(n||arguments.length===2)for(var i=0,o=t.length,r;i<o;i++)(r||!(i in t))&&(r||(r=Array.prototype.slice.call(t,0,i)),r[i]=t[i]);return e.concat(r||Array.prototype.slice.call(t))}function OS(e){return this instanceof OS?(this.v=e,this):new OS(e)}function Tge(e,t,n){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var i=n.apply(e,t||[]),o,r=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(p){i[p]&&(o[p]=function(g){return new Promise(function(m,x){r.push([p,g,m,x])>1||a(p,g)})})}function a(p,g){try{c(i[p](g))}catch(m){d(r[0][3],m)}}function c(p){p.value instanceof OS?Promise.resolve(p.value.v).then(u,f):d(r[0][2],p)}function u(p){a("next",p)}function f(p){a("throw",p)}function d(p,g){p(g),r.shift(),r.length&&a(r[0][0],r[0][1])}}function Cge(e){var t,n;return t={},i("next"),i("throw",function(o){throw o}),i("return"),t[Symbol.iterator]=function(){return this},t;function i(o,r){t[o]=e[o]?function(s){return(n=!n)?{value:OS(e[o](s)),done:!1}:r?r(s):s}:r}}function Age(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof DH=="function"?DH(e):e[Symbol.iterator](),n={},i("next"),i("throw"),i("return"),n[Symbol.asyncIterator]=function(){return this},n);function i(r){n[r]=e[r]&&function(s){return new Promise(function(a,c){s=e[r](s),o(a,c,s.done,s.value)})}}function o(r,s,a,c){Promise.resolve(c).then(function(u){r({value:u,done:a})},s)}}function Ege(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function Sge(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var n in e)n!=="default"&&Object.prototype.hasOwnProperty.call(e,n)&&IH(t,e,n);return Dot(t,e),t}function vge(e){return e&&e.__esModule?e:{default:e}}function wge(e,t,n,i){if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return n==="m"?i:n==="a"?i.call(e):i?i.value:t.get(e)}function Dge(e,t,n,i,o){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!o)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!o:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?o.call(e,n):o?o.value=n:t.set(e,n),n}function Ige(e,t){if(t===null||typeof t!="object"&&typeof t!="function")throw new TypeError("Cannot use 'in' operator on non-object");return typeof e=="function"?t===e:e.has(t)}function Pge(e,t,n){if(t!=null){if(typeof t!="object"&&typeof t!="function")throw new TypeError("Object expected.");var i;if(n){if(!Symbol.asyncDispose)throw new TypeError("Symbol.asyncDispose is not defined.");i=t[Symbol.asyncDispose]}if(i===void 0){if(!Symbol.dispose)throw new TypeError("Symbol.dispose is not defined.");i=t[Symbol.dispose]}if(typeof i!="function")throw new TypeError("Object not disposable.");e.stack.push({value:t,dispose:i,async:n})}else n&&e.stack.push({async:!0});return t}function Rge(e){function t(i){e.error=e.hasError?new Iot(i,e.error,"An error was suppressed during disposal."):i,e.hasError=!0}function n(){for(;e.stack.length;){var i=e.stack.pop();try{var o=i.dispose&&i.dispose.call(i.value);if(i.async)return Promise.resolve(o).then(n,function(r){return t(r),n()})}catch(r){t(r)}}if(e.hasError)throw e.error}return n()}var vY,wH,IH,Dot,Iot,Pot,Vm=LEe(()=>{vY=function(e,t){return vY=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])},vY(e,t)};wH=function(){return wH=Object.assign||function(t){for(var n,i=1,o=arguments.length;i<o;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},wH.apply(this,arguments)};IH=Object.create?function(e,t,n,i){i===void 0&&(i=n);var o=Object.getOwnPropertyDescriptor(t,n);(!o||("get"in o?!t.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,i,o)}:function(e,t,n,i){i===void 0&&(i=n),e[i]=t[n]};Dot=Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t};Iot=typeof SuppressedError=="function"?SuppressedError:function(e,t,n){var i=new Error(n);return i.name="SuppressedError",i.error=e,i.suppressed=t,i};Pot={__extends:uge,__assign:wH,__rest:fge,__decorate:dge,__param:hge,__metadata:mge,__awaiter:pge,__generator:_ge,__createBinding:IH,__exportStar:gge,__values:DH,__read:wY,__spread:yge,__spreadArrays:xge,__spreadArray:bge,__await:OS,__asyncGenerator:Tge,__asyncDelegator:Cge,__asyncValues:Age,__makeTemplateObject:Ege,__importStar:Sge,__importDefault:vge,__classPrivateFieldGet:wge,__classPrivateFieldSet:Dge,__classPrivateFieldIn:Ige,__addDisposableResource:Pge,__disposeResources:Rge}});var vT=Xn(PH=>{"use strict";Object.defineProperty(PH,"__esModule",{value:!0});PH.AbstractMatch=void 0;var Rot=function(){function e(t){this._=null,this.matchedText="",this.offset=0,this.tagBuilder=t.tagBuilder,this.matchedText=t.matchedText,this.offset=t.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(t){this.offset=t},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.type]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}();PH.AbstractMatch=Rot});var Oge=Xn(wT=>{"use strict";Object.defineProperty(wT,"__esModule",{value:!0});wT.tldRegex=wT.tldRegexStr=void 0;wT.tldRegexStr="(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|verm\xF6gensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|verm\xF6gensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|\u043A\u0430\u0442\u043E\u043B\u0438\u043A|\u0627\u062A\u0635\u0627\u0644\u0627\u062A|\u0627\u0644\u0628\u062D\u0631\u064A\u0646|\u0627\u0644\u062C\u0632\u0627\u0626\u0631|\u0627\u0644\u0639\u0644\u064A\u0627\u0646|\u067E\u0627\u06A9\u0633\u062A\u0627\u0646|\u0643\u0627\u062B\u0648\u0644\u064A\u0643|\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|\u043C\u043E\u0441\u043A\u0432\u0430|\u043E\u043D\u043B\u0430\u0439\u043D|\u0627\u0628\u0648\u0638\u0628\u064A|\u0627\u0631\u0627\u0645\u0643\u0648|\u0627\u0644\u0627\u0631\u062F\u0646|\u0627\u0644\u0645\u063A\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062A|\u0641\u0644\u0633\u0637\u064A\u0646|\u0645\u0644\u064A\u0633\u064A\u0627|\u092D\u093E\u0930\u0924\u092E\u094D|\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8|\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|\u05D9\u05E9\u05E8\u05D0\u05DC|\u0627\u06CC\u0631\u0627\u0646|\u0628\u0627\u0632\u0627\u0631|\u0628\u06BE\u0627\u0631\u062A|\u0633\u0648\u062F\u0627\u0646|\u0633\u0648\u0631\u064A\u0629|\u0647\u0645\u0631\u0627\u0647|\u092D\u093E\u0930\u094B\u0924|\u0938\u0902\u0917\u0920\u0928|\u09AC\u09BE\u0982\u09B2\u09BE|\u0C2D\u0C3E\u0C30\u0C24\u0C4D|\u0D2D\u0D3E\u0D30\u0D24\u0D02|\u5609\u91CC\u5927\u9152\u5E97|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|\u0434\u0435\u0442\u0438|\u0441\u0430\u0439\u0442|\u0628\u0627\u0631\u062A|\u0628\u064A\u062A\u0643|\u0680\u0627\u0631\u062A|\u062A\u0648\u0646\u0633|\u0634\u0628\u0643\u0629|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0645\u0648\u0642\u0639|\u092D\u093E\u0930\u0924|\u09AD\u09BE\u09B0\u09A4|\u09AD\u09BE\u09F0\u09A4|\u0A2D\u0A3E\u0A30\u0A24|\u0AAD\u0ABE\u0AB0\u0AA4|\u0B2D\u0B3E\u0B30\u0B24|\u0CAD\u0CBE\u0CB0\u0CA4|\u0DBD\u0D82\u0D9A\u0DCF|\u30A2\u30DE\u30BE\u30F3|\u30B0\u30FC\u30B0\u30EB|\u30AF\u30E9\u30A6\u30C9|\u30DD\u30A4\u30F3\u30C8|\u7EC4\u7EC7\u673A\u6784|\u96FB\u8A0A\u76C8\u79D1|\u9999\u683C\u91CC\u62C9|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|\u0431\u0435\u043B|\u043A\u043E\u043C|\u049B\u0430\u0437|\u043C\u043A\u0434|\u043C\u043E\u043D|\u043E\u0440\u0433|\u0440\u0443\u0441|\u0441\u0440\u0431|\u0443\u043A\u0440|\u0570\u0561\u0575|\u05E7\u05D5\u05DD|\u0639\u0631\u0628|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0915\u0949\u092E|\u0928\u0947\u091F|\u0E04\u0E2D\u0E21|\u0E44\u0E17\u0E22|\u0EA5\u0EB2\u0EA7|\u30B9\u30C8\u30A2|\u30BB\u30FC\u30EB|\u307F\u3093\u306A|\u4E2D\u6587\u7F51|\u4E9A\u9A6C\u900A|\u5929\u4E3B\u6559|\u6211\u7231\u4F60|\u65B0\u52A0\u5761|\u6DE1\u9A6C\u9521|\u8BFA\u57FA\u4E9A|\u98DE\u5229\u6D66|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\u03B5\u03BB|\u03B5\u03C5|\u0431\u0433|\u0435\u044E|\u0440\u0444|\u10D2\u10D4|\uB2F7\uB137|\uB2F7\uCEF4|\uC0BC\uC131|\uD55C\uAD6D|\u30B3\u30E0|\u4E16\u754C|\u4E2D\u4FE1|\u4E2D\u56FD|\u4E2D\u570B|\u4F01\u4E1A|\u4F5B\u5C71|\u4FE1\u606F|\u5065\u5EB7|\u516B\u5366|\u516C\u53F8|\u516C\u76CA|\u53F0\u6E7E|\u53F0\u7063|\u5546\u57CE|\u5546\u5E97|\u5546\u6807|\u5609\u91CC|\u5728\u7EBF|\u5927\u62FF|\u5A31\u4E50|\u5BB6\u96FB|\u5E7F\u4E1C|\u5FAE\u535A|\u6148\u5584|\u624B\u673A|\u62DB\u8058|\u653F\u52A1|\u653F\u5E9C|\u65B0\u95FB|\u65F6\u5C1A|\u66F8\u7C4D|\u673A\u6784|\u6E38\u620F|\u6FB3\u9580|\u70B9\u770B|\u79FB\u52A8|\u7F51\u5740|\u7F51\u5E97|\u7F51\u7AD9|\u7F51\u7EDC|\u8054\u901A|\u8C37\u6B4C|\u8D2D\u7269|\u901A\u8CA9|\u96C6\u56E2|\u98DF\u54C1|\u9910\u5385|\u9999\u6E2F)";wT.tldRegex=new RegExp("^"+wT.tldRegexStr+"$")});var RH=Xn(Vn=>{"use strict";Object.defineProperty(Vn,"__esModule",{value:!0});Vn.isValidIpV4Address=Vn.isValidTldMatch=Vn.isValidSchemeUrl=Vn.isKnownTld=Vn.isUrlSuffixStartChar=Vn.isPathChar=Vn.isDomainLabelChar=Vn.isDomainLabelStartChar=Vn.isSchemeChar=Vn.isSchemeStartChar=Vn.tldUrlHostRe=Vn.schemeUrlRe=Vn.invalidSchemeRe=Vn.urlSuffixedCharsNotAllowedAtEndRe=Vn.httpSchemePrefixRe=Vn.httpSchemeRe=Vn.urlSuffixNotAllowedAsLastCharRe=Vn.urlSuffixAllowedSpecialCharsRe=Vn.urlSuffixStartCharsRe=Vn.domainNameCharRegex=void 0;var DT=ST(),Oot=Oge();Vn.domainNameCharRegex=DT.alphaNumericAndMarksRe;Vn.urlSuffixStartCharsRe=/[\/?#]/;Vn.urlSuffixAllowedSpecialCharsRe=/[-+&@#/%=~_()|'$*\[\]{}\u2713]/;Vn.urlSuffixNotAllowedAsLastCharRe=/[?!:,.;^]/;Vn.httpSchemeRe=/https?:\/\//i;Vn.httpSchemePrefixRe=new RegExp("^"+Vn.httpSchemeRe.source,"i");Vn.urlSuffixedCharsNotAllowedAtEndRe=new RegExp(Vn.urlSuffixNotAllowedAsLastCharRe.source+"$");Vn.invalidSchemeRe=/^(javascript|vbscript):/i;Vn.schemeUrlRe=/^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/;Vn.tldUrlHostRe=/^(?:\/\/)?([^/#?:]+)/;function Mot(e){return DT.letterRe.test(e)}Vn.isSchemeStartChar=Mot;function Lot(e){return DT.letterRe.test(e)||DT.digitRe.test(e)||e==="+"||e==="-"||e==="."}Vn.isSchemeChar=Lot;function Mge(e){return DT.alphaNumericAndMarksRe.test(e)}Vn.isDomainLabelStartChar=Mge;function Not(e){return e==="_"||Mge(e)}Vn.isDomainLabelChar=Not;function Fot(e){return DT.alphaNumericAndMarksRe.test(e)||Vn.urlSuffixAllowedSpecialCharsRe.test(e)||Vn.urlSuffixNotAllowedAsLastCharRe.test(e)}Vn.isPathChar=Fot;function Bot(e){return Vn.urlSuffixStartCharsRe.test(e)}Vn.isUrlSuffixStartChar=Bot;function Lge(e){return Oot.tldRegex.test(e.toLowerCase())}Vn.isKnownTld=Lge;function kot(e){if(Vn.invalidSchemeRe.test(e))return!1;var t=e.match(Vn.schemeUrlRe);if(!t)return!1;var n=!!t[1],i=t[2];return n?!0:!(i.indexOf(".")===-1||!DT.letterRe.test(i))}Vn.isValidSchemeUrl=kot;function Vot(e){var t=e.match(Vn.tldUrlHostRe);if(!t)return!1;var n=t[0],i=n.split(".");if(i.length<2)return!1;var o=i[i.length-1];return!!Lge(o)}Vn.isValidTldMatch=Vot;var Uot=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,zot=/[:/?#]/;function Hot(e){var t=e.split(zot,1)[0];return Uot.test(t)}Vn.isValidIpV4Address=Hot});var DY=Xn(OH=>{"use strict";Object.defineProperty(OH,"__esModule",{value:!0});OH.UrlMatch=void 0;var Got=(Vm(),jh(km)),Wot=vT(),jot=RH(),qot=/^(https?:\/\/)?(www\.)?/i,Yot=/^\/\//,Xot=function(e){(0,Got.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="url",i.url="",i.urlMatchType="scheme",i.protocolRelativeMatch=!1,i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.protocolPrepended=!1,i.urlMatchType=n.urlMatchType,i.url=n.url,i.protocolRelativeMatch=n.protocolRelativeMatch,i.stripPrefix=n.stripPrefix,i.stripTrailingSlash=n.stripTrailingSlash,i.decodePercentEncoding=n.decodePercentEncoding,i}return t.prototype.getType=function(){return"url"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var n=this.url;return!this.protocolRelativeMatch&&this.urlMatchType!=="scheme"&&!this.protocolPrepended&&(n=this.url="http://"+n,this.protocolPrepended=!0),n},t.prototype.getAnchorHref=function(){var n=this.getUrl();return n.replace(/&/g,"&")},t.prototype.getAnchorText=function(){var n=this.getMatchedText();return this.protocolRelativeMatch&&(n=$ot(n)),this.stripPrefix.scheme&&(n=Kot(n)),this.stripPrefix.www&&(n=Zot(n)),this.stripTrailingSlash&&(n=Qot(n)),this.decodePercentEncoding&&(n=Jot(n)),n},t}(Wot.AbstractMatch);OH.UrlMatch=Xot;function Kot(e){return e.replace(jot.httpSchemePrefixRe,"")}function Zot(e){return e.replace(qot,"$1")}function $ot(e){return e.replace(Yot,"")}function Qot(e){return e.charAt(e.length-1)==="/"&&(e=e.slice(0,-1)),e}function Jot(e){var t=e.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(t)}catch{return t}}});var Fge=Xn(Um=>{"use strict";Object.defineProperty(Um,"__esModule",{value:!0});Um.isValidEmail=Um.isEmailLocalPartChar=Um.isEmailLocalPartStartChar=Um.mailtoSchemePrefixRe=void 0;var Nge=ST(),ert=RH();Um.mailtoSchemePrefixRe=/^mailto:/i;var trt=new RegExp("[".concat(Nge.alphaNumericAndMarksCharsStr,"!#$%&'*+/=?^_`{|}~-]"));function nrt(e){return Nge.alphaNumericAndMarksRe.test(e)}Um.isEmailLocalPartStartChar=nrt;function irt(e){return trt.test(e)}Um.isEmailLocalPartChar=irt;function ort(e){var t=e.split(".").pop()||"";return(0,ert.isKnownTld)(t)}Um.isValidEmail=ort});var IY=Xn(MH=>{"use strict";Object.defineProperty(MH,"__esModule",{value:!0});MH.EmailMatch=void 0;var rrt=(Vm(),jh(km)),srt=vT(),art=function(e){(0,rrt.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="email",i.email="",i.email=n.email,i}return t.prototype.getType=function(){return"email"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return"mailto:"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(srt.AbstractMatch);MH.EmailMatch=art});var PY=Xn(g0=>{"use strict";Object.defineProperty(g0,"__esModule",{value:!0});g0.hashtagServices=g0.isValidHashtag=g0.isHashtagTextChar=void 0;var crt=ST();function lrt(e){return e==="_"||crt.alphaNumericAndMarksRe.test(e)}g0.isHashtagTextChar=lrt;function urt(e){return e.length<=140}g0.isValidHashtag=urt;g0.hashtagServices=["twitter","facebook","instagram","tiktok"]});var RY=Xn(LH=>{"use strict";Object.defineProperty(LH,"__esModule",{value:!0});LH.HashtagMatch=void 0;var frt=(Vm(),jh(km)),drt=RS(),hrt=vT(),mrt=function(e){(0,frt.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="hashtag",i.serviceName="twitter",i.hashtag="",i.serviceName=n.serviceName,i.hashtag=n.hashtag,i}return t.prototype.getType=function(){return"hashtag"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var n=this.serviceName,i=this.hashtag;switch(n){case"twitter":return"https://twitter.com/hashtag/"+i;case"facebook":return"https://www.facebook.com/hashtag/"+i;case"instagram":return"https://instagram.com/explore/tags/"+i;case"tiktok":return"https://www.tiktok.com/tag/"+i;default:throw(0,drt.assertNever)(n),new Error("Invalid hashtag service: ".concat(n))}},t.prototype.getAnchorText=function(){return"#"+this.hashtag},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(hrt.AbstractMatch);LH.HashtagMatch=mrt});var OY=Xn(y0=>{"use strict";Object.defineProperty(y0,"__esModule",{value:!0});y0.mentionServices=y0.isValidMention=y0.isMentionTextChar=void 0;var prt={twitter:/^@\w{1,15}$/,instagram:/^@[_\w]{1,30}$/,soundcloud:/^@[-a-z0-9_]{3,25}$/,tiktok:/^@[.\w]{1,23}[\w]$/},_rt=/[-\w.]/;function grt(e){return _rt.test(e)}y0.isMentionTextChar=grt;function yrt(e,t){var n=prt[t];return n.test(e)}y0.isValidMention=yrt;y0.mentionServices=["twitter","instagram","soundcloud","tiktok"]});var MY=Xn(NH=>{"use strict";Object.defineProperty(NH,"__esModule",{value:!0});NH.MentionMatch=void 0;var xrt=(Vm(),jh(km)),brt=vT(),Trt=function(e){(0,xrt.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="mention",i.serviceName="twitter",i.mention="",i.mention=n.mention,i.serviceName=n.serviceName,i}return t.prototype.getType=function(){return"mention"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},t.prototype.getAnchorText=function(){return"@"+this.mention},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(brt.AbstractMatch);NH.MentionMatch=Trt});var Bge=Xn(x0=>{"use strict";Object.defineProperty(x0,"__esModule",{value:!0});x0.isValidPhoneNumber=x0.isPhoneNumberControlChar=x0.isPhoneNumberSeparatorChar=void 0;var Crt=/[-. ]/,Art=/[-. ()]/,Ert=/[,;]/,Srt=/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/,vrt=/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/,wrt=new RegExp("^".concat(Srt.source,"|").concat(vrt.source,"$"));function Drt(e){return Crt.test(e)}x0.isPhoneNumberSeparatorChar=Drt;function Irt(e){return Ert.test(e)}x0.isPhoneNumberControlChar=Irt;function Prt(e){var t=e.charAt(0)==="+"||Art.test(e);return t&&wrt.test(e)}x0.isValidPhoneNumber=Prt});var LY=Xn(FH=>{"use strict";Object.defineProperty(FH,"__esModule",{value:!0});FH.PhoneMatch=void 0;var Rrt=(Vm(),jh(km)),Ort=vT(),Mrt=function(e){(0,Rrt.__extends)(t,e);function t(n){var i=e.call(this,n)||this;return i.type="phone",i.number="",i.plusSign=!1,i.number=n.number,i.plusSign=n.plusSign,i}return t.prototype.getType=function(){return"phone"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(Ort.AbstractMatch);FH.PhoneMatch=Mrt});var UY=Xn(NS=>{"use strict";Object.defineProperty(NS,"__esModule",{value:!0});NS.excludeUnbalancedTrailingBracesAndPunctuation=NS.parseMatches=void 0;var Ga=ST(),Lrt=DY(),Po=RS(),br=RH(),MS=Fge(),Nrt=IY(),NY=PY(),Frt=RY(),FY=OY(),Brt=MY(),LS=Bge(),krt=LY();function Vrt(e,t){for(var n=t.tagBuilder,i=t.stripPrefix,o=t.stripTrailingSlash,r=t.decodePercentEncoding,s=t.hashtagServiceName,a=t.mentionServiceName,c=[],u=e.length,f=[],d=0;d<u;d++){var p=e.charAt(d);if(f.length===0)b(p);else for(var g=f.length-1;g>=0;g--){var m=f[g];switch(m.state){case 11:D(m,p);break;case 12:O(m,p);break;case 0:T(m,p);break;case 1:A(m,p);break;case 2:C(m,p);break;case 3:E(m,p);break;case 4:v(m,p);break;case 5:R(m,p);break;case 6:M(m,p);break;case 7:N(m,p);break;case 13:_(m,p);break;case 14:S(m,p);break;case 8:w(m,p);break;case 9:I(m,p);break;case 10:L(m,p);break;case 15:B(m,p);break;case 16:U(m,p);break;case 17:V(m,p);break;case 18:G(m,p);break;case 19:k(m,p);break;case 20:W(m,p);break;case 21:Y(m,p);break;case 22:Q(m,p);break;case 23:j(m,p);break;case 24:Z(m,p);break;case 25:J(m,p);break;case 26:he(m,p);break;case 27:xe(m,p);break;case 28:re(m,p);break;case 29:_e(m,p);break;case 30:ye(m,p);break;case 31:De(m,p);break;case 32:Me(m,p);break;case 33:Oe(m,p);break;case 34:lt(m,p);break;case 35:et(m,p);break;case 36:vt(m,p);break;case 37:we(m,p);break;case 38:Qe(m,p);break;case 39:wt(m,p);break;case 40:mt(m,p);break;case 41:pt(m,p);break;default:(0,Po.assertNever)(m.state)}}}for(var x=f.length-1;x>=0;x--)f.forEach(function(Te){return Xt(Te)});return c;function b(Te){if(Te==="#")f.push(Grt(d,28));else if(Te==="@")f.push(Wrt(d,30));else if(Te==="/")f.push(kY(d,11));else if(Te==="+")f.push(VY(d,37));else if(Te==="(")f.push(VY(d,32));else{if(Ga.digitRe.test(Te)&&(f.push(VY(d,38)),f.push(zrt(d,13))),(0,MS.isEmailLocalPartStartChar)(Te)){var Ee=Te.toLowerCase()==="m"?15:22;f.push(Hrt(d,Ee))}(0,br.isSchemeStartChar)(Te)&&f.push(BY(d,0)),Ga.alphaNumericAndMarksRe.test(Te)&&f.push(kY(d,5))}}function T(Te,Ee){Ee===":"?Te.state=2:Ee==="-"?Te.state=1:(0,br.isSchemeChar)(Ee)||(0,Po.remove)(f,Te)}function A(Te,Ee){Ee==="-"||(Ee==="/"?((0,Po.remove)(f,Te),f.push(kY(d,11))):(0,br.isSchemeChar)(Ee)?Te.state=0:(0,Po.remove)(f,Te))}function C(Te,Ee){Ee==="/"?Te.state=3:Ee==="."?(0,Po.remove)(f,Te):(0,br.isDomainLabelStartChar)(Ee)?(Te.state=5,(0,br.isSchemeStartChar)(Ee)&&f.push(BY(d,0))):(0,Po.remove)(f,Te)}function E(Te,Ee){Ee==="/"?Te.state=4:(0,br.isPathChar)(Ee)?(Te.state=10,Te.acceptStateReached=!0):Xt(Te)}function v(Te,Ee){Ee==="/"?Te.state=10:(0,br.isDomainLabelStartChar)(Ee)?(Te.state=5,Te.acceptStateReached=!0):(0,Po.remove)(f,Te)}function D(Te,Ee){Ee==="/"?Te.state=12:(0,Po.remove)(f,Te)}function O(Te,Ee){(0,br.isDomainLabelStartChar)(Ee)?Te.state=5:(0,Po.remove)(f,Te)}function R(Te,Ee){Ee==="."?Te.state=7:Ee==="-"?Te.state=6:Ee===":"?Te.state=8:(0,br.isUrlSuffixStartChar)(Ee)?Te.state=10:(0,br.isDomainLabelChar)(Ee)||Xt(Te)}function M(Te,Ee){Ee==="-"||(Ee==="."?Xt(Te):(0,br.isDomainLabelStartChar)(Ee)?Te.state=5:Xt(Te))}function N(Te,Ee){Ee==="."?Xt(Te):(0,br.isDomainLabelStartChar)(Ee)?(Te.state=5,Te.acceptStateReached=!0):Xt(Te)}function _(Te,Ee){Ee==="."?Te.state=14:Ee===":"?Te.state=8:Ga.digitRe.test(Ee)||((0,br.isUrlSuffixStartChar)(Ee)?Te.state=10:Ga.alphaNumericAndMarksRe.test(Ee)?(0,Po.remove)(f,Te):Xt(Te))}function S(Te,Ee){Ga.digitRe.test(Ee)?(Te.octetsEncountered++,Te.octetsEncountered===4&&(Te.acceptStateReached=!0),Te.state=13):Xt(Te)}function w(Te,Ee){Ga.digitRe.test(Ee)?Te.state=9:Xt(Te)}function I(Te,Ee){Ga.digitRe.test(Ee)||((0,br.isUrlSuffixStartChar)(Ee)?Te.state=10:Xt(Te))}function L(Te,Ee){(0,br.isPathChar)(Ee)||Xt(Te)}function B(Te,Ee){Ee.toLowerCase()==="a"?Te.state=16:Q(Te,Ee)}function U(Te,Ee){Ee.toLowerCase()==="i"?Te.state=17:Q(Te,Ee)}function V(Te,Ee){Ee.toLowerCase()==="l"?Te.state=18:Q(Te,Ee)}function G(Te,Ee){Ee.toLowerCase()==="t"?Te.state=19:Q(Te,Ee)}function k(Te,Ee){Ee.toLowerCase()==="o"?Te.state=20:Q(Te,Ee)}function W(Te,Ee){Ee.toLowerCase()===":"?Te.state=21:Q(Te,Ee)}function Y(Te,Ee){(0,MS.isEmailLocalPartChar)(Ee)?Te.state=22:(0,Po.remove)(f,Te)}function Q(Te,Ee){Ee==="."?Te.state=23:Ee==="@"?Te.state=24:(0,MS.isEmailLocalPartChar)(Ee)?Te.state=22:(0,Po.remove)(f,Te)}function j(Te,Ee){Ee==="."||Ee==="@"?(0,Po.remove)(f,Te):(0,MS.isEmailLocalPartChar)(Ee)?Te.state=22:(0,Po.remove)(f,Te)}function Z(Te,Ee){(0,br.isDomainLabelStartChar)(Ee)?Te.state=25:(0,Po.remove)(f,Te)}function J(Te,Ee){Ee==="."?Te.state=27:Ee==="-"?Te.state=26:(0,br.isDomainLabelChar)(Ee)||Xt(Te)}function he(Te,Ee){Ee==="-"||Ee==="."?Xt(Te):(0,br.isDomainLabelChar)(Ee)?Te.state=25:Xt(Te)}function xe(Te,Ee){Ee==="."||Ee==="-"?Xt(Te):(0,br.isDomainLabelStartChar)(Ee)?(Te.state=25,Te.acceptStateReached=!0):Xt(Te)}function re(Te,Ee){(0,NY.isHashtagTextChar)(Ee)?(Te.state=29,Te.acceptStateReached=!0):(0,Po.remove)(f,Te)}function _e(Te,Ee){(0,NY.isHashtagTextChar)(Ee)||Xt(Te)}function ye(Te,Ee){(0,FY.isMentionTextChar)(Ee)?(Te.state=31,Te.acceptStateReached=!0):(0,Po.remove)(f,Te)}function De(Te,Ee){(0,FY.isMentionTextChar)(Ee)||(Ga.alphaNumericAndMarksRe.test(Ee)?(0,Po.remove)(f,Te):Xt(Te))}function we(Te,Ee){Ga.digitRe.test(Ee)?Te.state=38:((0,Po.remove)(f,Te),b(Ee))}function Me(Te,Ee){Ga.digitRe.test(Ee)?Te.state=33:(0,Po.remove)(f,Te),b(Ee)}function Oe(Te,Ee){Ga.digitRe.test(Ee)?Te.state=34:(0,Po.remove)(f,Te)}function lt(Te,Ee){Ga.digitRe.test(Ee)?Te.state=35:(0,Po.remove)(f,Te)}function et(Te,Ee){Ee===")"?Te.state=36:(0,Po.remove)(f,Te)}function vt(Te,Ee){Ga.digitRe.test(Ee)?Te.state=38:(0,LS.isPhoneNumberSeparatorChar)(Ee)?Te.state=39:(0,Po.remove)(f,Te)}function Qe(Te,Ee){Te.acceptStateReached=!0,(0,LS.isPhoneNumberControlChar)(Ee)?Te.state=40:Ee==="#"?Te.state=41:Ga.digitRe.test(Ee)||(Ee==="("?Te.state=32:(0,LS.isPhoneNumberSeparatorChar)(Ee)?Te.state=39:(Xt(Te),(0,br.isSchemeStartChar)(Ee)&&f.push(BY(d,0))))}function wt(Te,Ee){Ga.digitRe.test(Ee)?Te.state=38:Ee==="("?Te.state=32:(Xt(Te),b(Ee))}function mt(Te,Ee){(0,LS.isPhoneNumberControlChar)(Ee)||(Ee==="#"?Te.state=41:Ga.digitRe.test(Ee)?Te.state=38:Xt(Te))}function pt(Te,Ee){(0,LS.isPhoneNumberControlChar)(Ee)?Te.state=40:Ga.digitRe.test(Ee)?(0,Po.remove)(f,Te):Xt(Te)}function Xt(Te){if((0,Po.remove)(f,Te),!!Te.acceptStateReached){var Ee=Te.startIdx,rn=e.slice(Te.startIdx,d);if(rn=Uge(rn),Te.type==="url"){var Jt=e.charAt(Te.startIdx-1);if(Jt==="@")return;var en=Te.matchType;if(en==="scheme"){var Ji=br.httpSchemeRe.exec(rn);if(Ji&&(Ee=Ee+Ji.index,rn=rn.slice(Ji.index)),!(0,br.isValidSchemeUrl)(rn))return}else if(en==="tld"){if(!(0,br.isValidTldMatch)(rn))return}else if(en==="ipV4"){if(!(0,br.isValidIpV4Address)(rn))return}else(0,Po.assertNever)(en);c.push(new Lrt.UrlMatch({tagBuilder:n,matchedText:rn,offset:Ee,urlMatchType:en,url:rn,protocolRelativeMatch:rn.slice(0,2)==="//",stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))}else if(Te.type==="email")(0,MS.isValidEmail)(rn)&&c.push(new Nrt.EmailMatch({tagBuilder:n,matchedText:rn,offset:Ee,email:rn.replace(MS.mailtoSchemePrefixRe,"")}));else if(Te.type==="hashtag")(0,NY.isValidHashtag)(rn)&&c.push(new Frt.HashtagMatch({tagBuilder:n,matchedText:rn,offset:Ee,serviceName:s,hashtag:rn.slice(1)}));else if(Te.type==="mention")(0,FY.isValidMention)(rn,a)&&c.push(new Brt.MentionMatch({tagBuilder:n,matchedText:rn,offset:Ee,serviceName:a,mention:rn.slice(1)}));else if(Te.type==="phone"){if(rn=rn.replace(/ +$/g,""),(0,LS.isValidPhoneNumber)(rn)){var je=rn.replace(/[^0-9,;#]/g,"");c.push(new krt.PhoneMatch({tagBuilder:n,matchedText:rn,offset:Ee,number:je,plusSign:rn.charAt(0)==="+"}))}}else(0,Po.assertNever)(Te)}}}NS.parseMatches=Vrt;var Urt=/[\(\{\[]/,kge=/[\)\}\]]/,Vge={")":"(","}":"{","]":"["};function Uge(e){for(var t={"(":0,"{":0,"[":0},n=0;n<e.length;n++){var i=e.charAt(n);Urt.test(i)?t[i]++:kge.test(i)&&t[Vge[i]]--}for(var o=e.length-1,r;o>=0;)if(r=e.charAt(o),kge.test(r)){var s=Vge[r];if(t[s]<0)t[s]++,o--;else break}else if(br.urlSuffixedCharsNotAllowedAtEndRe.test(r))o--;else break;return e.slice(0,o+1)}NS.excludeUnbalancedTrailingBracesAndPunctuation=Uge;function BY(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"scheme"}}function kY(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"tld"}}function zrt(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function Hrt(e,t){return{type:"email",startIdx:e,state:t,acceptStateReached:!1}}function Grt(e,t){return{type:"hashtag",startIdx:e,state:t,acceptStateReached:!1}}function Wrt(e,t){return{type:"mention",startIdx:e,state:t,acceptStateReached:!1}}function VY(e,t){return{type:"phone",startIdx:e,state:t,acceptStateReached:!1}}});var zge=Xn(BH=>{"use strict";Object.defineProperty(BH,"__esModule",{value:!0});BH.parseHtml=void 0;var Ec=(Vm(),jh(km)),ll=ST(),jrt=RS();function qrt(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new zm,c=0,u=e.length,f=0,d=0,p=a;c<u;){var g=e.charAt(c);switch(f){case 0:m(g);break;case 1:x(g);break;case 2:T(g);break;case 3:b(g);break;case 4:A(g);break;case 5:C(g);break;case 6:E(g);break;case 7:v(g);break;case 8:D(g);break;case 9:O(g);break;case 10:R(g);break;case 11:M(g);break;case 12:N(g);break;case 13:_(g);break;case 14:S(g);break;case 15:w(g);break;case 16:I(g);break;case 17:L(g);break;case 18:B(g);break;case 19:U(g);break;case 20:V(g);break;default:(0,jrt.assertNever)(f)}c++}d<c&&Y();function m(Z){Z==="<"&&k()}function x(Z){Z==="!"?f=13:Z==="/"?(f=2,p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{isClosing:!0}))):Z==="<"?k():ll.letterRe.test(Z)?(f=3,p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{isOpening:!0}))):(f=0,p=a)}function b(Z){ll.whitespaceRe.test(Z)?(p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{name:Q()})),f=4):Z==="<"?k():Z==="/"?(p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{name:Q()})),f=12):Z===">"?(p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{name:Q()})),W()):!ll.letterRe.test(Z)&&!ll.digitRe.test(Z)&&Z!==":"&&G()}function T(Z){Z===">"?G():ll.letterRe.test(Z)?f=3:G()}function A(Z){ll.whitespaceRe.test(Z)||(Z==="/"?f=12:Z===">"?W():Z==="<"?k():Z==="="||ll.quoteRe.test(Z)||ll.controlCharsRe.test(Z)?G():f=5)}function C(Z){ll.whitespaceRe.test(Z)?f=6:Z==="/"?f=12:Z==="="?f=7:Z===">"?W():Z==="<"?k():ll.quoteRe.test(Z)&&G()}function E(Z){ll.whitespaceRe.test(Z)||(Z==="/"?f=12:Z==="="?f=7:Z===">"?W():Z==="<"?k():ll.quoteRe.test(Z)?G():f=5)}function v(Z){ll.whitespaceRe.test(Z)||(Z==='"'?f=8:Z==="'"?f=9:/[>=`]/.test(Z)?G():Z==="<"?k():f=10)}function D(Z){Z==='"'&&(f=11)}function O(Z){Z==="'"&&(f=11)}function R(Z){ll.whitespaceRe.test(Z)?f=4:Z===">"?W():Z==="<"&&k()}function M(Z){ll.whitespaceRe.test(Z)?f=4:Z==="/"?f=12:Z===">"?W():Z==="<"?k():(f=4,j())}function N(Z){Z===">"?(p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{isClosing:!0})),W()):f=4}function _(Z){e.substr(c,2)==="--"?(c+=2,p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{type:"comment"})),f=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new zm((0,Ec.__assign)((0,Ec.__assign)({},p),{type:"doctype"})),f=20):G()}function S(Z){Z==="-"?f=15:Z===">"?G():f=16}function w(Z){Z==="-"?f=18:Z===">"?G():f=16}function I(Z){Z==="-"&&(f=17)}function L(Z){Z==="-"?f=18:f=16}function B(Z){Z===">"?W():Z==="!"?f=19:Z==="-"||(f=16)}function U(Z){Z==="-"?f=17:Z===">"?W():f=16}function V(Z){Z===">"?W():Z==="<"&&k()}function G(){f=0,p=a}function k(){f=1,p=new zm({idx:c})}function W(){var Z=e.slice(d,p.idx);Z&&o(Z,d),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),G(),d=c+1}function Y(){var Z=e.slice(d,c);o(Z,d),d=c+1}function Q(){var Z=p.idx+(p.isClosing?2:1);return e.slice(Z,c).toLowerCase()}function j(){c--}}BH.parseHtml=qrt;var zm=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}()});var kH=Xn(zY=>{"use strict";Object.defineProperty(zY,"__esModule",{value:!0});var Yrt=rge(),ks=RS(),Xrt=SY(),Krt=CH(),Zrt=UY(),$rt=zge(),Qrt=OY(),Jrt=PY(),est=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=tst(t.urls),this.email=(0,ks.isBoolean)(t.email)?t.email:this.email,this.phone=(0,ks.isBoolean)(t.phone)?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=(0,ks.isBoolean)(t.newWindow)?t.newWindow:this.newWindow,this.stripPrefix=nst(t.stripPrefix),this.stripTrailingSlash=(0,ks.isBoolean)(t.stripTrailingSlash)?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=(0,ks.isBoolean)(t.decodePercentEncoding)?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&Qrt.mentionServices.indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&Jrt.hashtagServices.indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=ist(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return(0,$rt.parseHtml)(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/( | |<|<|>|>|"|"|')/gi,u=s.split(c),f=a;u.forEach(function(d,p){if(p%2===0){var g=n.parseText(d,f);r.push.apply(r,g)}f+=d.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,u){return c.getOffset()-u.getOffset()});for(var n=0;n<t.length-1;){var i=t[n],o=i.getOffset(),r=i.getMatchedText().length,s=o+r;if(n+1<t.length){if(t[n+1].getOffset()===o){var a=t[n+1].getMatchedText().length>r?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()<s){t.splice(n+1,1);continue}}n++}return t},e.prototype.removeUnwantedMatches=function(t){return this.hashtag||(0,ks.removeWithPredicate)(t,function(n){return n.getType()==="hashtag"}),this.email||(0,ks.removeWithPredicate)(t,function(n){return n.getType()==="email"}),this.phone||(0,ks.removeWithPredicate)(t,function(n){return n.getType()==="phone"}),this.mention||(0,ks.removeWithPredicate)(t,function(n){return n.getType()==="mention"}),this.urls.schemeMatches||(0,ks.removeWithPredicate)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="scheme"}),this.urls.tldMatches||(0,ks.removeWithPredicate)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="tld"}),this.urls.ipV4Matches||(0,ks.removeWithPredicate)(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="ipV4"}),t},e.prototype.parseText=function(t,n){n===void 0&&(n=0),n=n||0;for(var i=(0,Zrt.parseMatches)(t,{tagBuilder:this.getTagBuilder(),stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding,hashtagServiceName:this.hashtag,mentionServiceName:this.mention||"twitter"}),o=0,r=i.length;o<r;o++)i[o].setOffset(n+i[o].getOffset());return i},e.prototype.link=function(t){if(!t)return"";this.sanitizeHtml&&(t=t.replace(/</g,"<").replace(/>/g,">"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r<s;r++){var a=n[r];i.push(t.substring(o,a.getOffset())),i.push(this.createMatchReturnVal(a)),o=a.getOffset()+a.getMatchedText().length}return i.push(t.substring(o)),i.join("")},e.prototype.createMatchReturnVal=function(t){var n;if(this.replaceFn&&(n=this.replaceFn.call(this.context,t)),typeof n=="string")return n;if(n===!1)return t.getMatchedText();if(n instanceof Krt.HtmlTag)return n.toAnchorString();var i=t.buildTag();return i.toAnchorString()},e.prototype.getTagBuilder=function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new Xrt.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t},e.version=Yrt.version,e}();zY.default=est;function tst(e){return e==null&&(e=!0),(0,ks.isBoolean)(e)?{schemeMatches:e,tldMatches:e,ipV4Matches:e}:{schemeMatches:(0,ks.isBoolean)(e.schemeMatches)?e.schemeMatches:!0,tldMatches:(0,ks.isBoolean)(e.tldMatches)?e.tldMatches:!0,ipV4Matches:(0,ks.isBoolean)(e.ipV4Matches)?e.ipV4Matches:!0}}function nst(e){return e==null&&(e=!0),(0,ks.isBoolean)(e)?{scheme:e,www:e}:{scheme:(0,ks.isBoolean)(e.scheme)?e.scheme:!0,www:(0,ks.isBoolean)(e.www)?e.www:!0}}function ist(e){return typeof e=="number"?{length:e,location:"end"}:(0,ks.defaults)(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})}});var Gge=Xn(Hge=>{"use strict";Object.defineProperty(Hge,"__esModule",{value:!0})});var Wge=Xn(ng=>{"use strict";Object.defineProperty(ng,"__esModule",{value:!0});var IT=(Vm(),jh(km));(0,IT.__exportStar)(Gge(),ng);(0,IT.__exportStar)(IY(),ng);(0,IT.__exportStar)(RY(),ng);(0,IT.__exportStar)(vT(),ng);(0,IT.__exportStar)(MY(),ng);(0,IT.__exportStar)(LY(),ng);(0,IT.__exportStar)(DY(),ng)});var jge=Xn(HY=>{"use strict";Object.defineProperty(HY,"__esModule",{value:!0});var ost=(Vm(),jh(km));(0,ost.__exportStar)(UY(),HY)});var GY=Xn((Eh,Yge)=>{"use strict";Eh=Yge.exports=kH().default;Object.defineProperty(Eh,"__esModule",{value:!0});Eh.Autolinker=void 0;var FS=(Vm(),jh(km)),qge=(0,FS.__importDefault)(kH());Eh.Autolinker=qge.default;Eh.default=qge.default;(0,FS.__exportStar)(kH(),Eh);(0,FS.__exportStar)(SY(),Eh);(0,FS.__exportStar)(CH(),Eh);(0,FS.__exportStar)(Wge(),Eh);(0,FS.__exportStar)(jge(),Eh)});var FX=Xn((exports,module)=>{/*! + * protobuf.js v7.2.5 (c) 2016, daniel wirtz + * compiled tue, 22 aug 2023 00:04:28 utc * licensed under the bsd-3-clause license * see: https://github.com/dcodeio/protobuf.js for details - */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,u=!0;c<arguments.length;)s[a++]=arguments[c++];return new Promise(function(d,p){s[a]=function(m){if(u)if(u=!1,m)p(m);else{for(var x=new Array(arguments.length-1),b=0;b<x.length;)x[b++]=arguments[b];d.apply(null,x)}};try{o.apply(r||null,s)}catch(g){u&&(u=!1,p(g))}})}},{}],2:[function(e,t,n){"use strict";var i=n;i.length=function(u){var f=u.length;if(!f)return 0;for(var d=0;--f%4>1&&u.charAt(f)==="=";)++d;return Math.ceil(u.length*3)/4-d};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(u,f,d){for(var p=null,g=[],m=0,x=0,b;f<d;){var T=u[f++];switch(x){case 0:g[m++]=o[T>>2],b=(T&3)<<4,x=1;break;case 1:g[m++]=o[b|T>>4],b=(T&15)<<2,x=2;break;case 2:g[m++]=o[b|T>>6],g[m++]=o[T&63],x=0;break}m>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),m=0)}return x&&(g[m++]=o[b],g[m++]=61,x===1&&(g[m++]=61)),p?(m&&p.push(String.fromCharCode.apply(String,g.slice(0,m))),p.join("")):String.fromCharCode.apply(String,g.slice(0,m))};var a="invalid encoding";i.decode=function(u,f,d){for(var p=d,g=0,m,x=0;x<u.length;){var b=u.charCodeAt(x++);if(b===61&&g>1)break;if((b=r[b])===undefined)throw Error(a);switch(g){case 0:m=b,g=1;break;case 1:f[d++]=m<<2|(b&48)>>4,m=b,g=2;break;case 2:f[d++]=(m&15)<<4|(b&60)>>2,m=b,g=3;break;case 3:f[d++]=(m&3)<<6|b,g=0;break}}if(g===1)throw Error(a);return d-p},i.test=function(u){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(u)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c<a.length;)a[c].fn===s?a.splice(c,1):++c;return this},i.prototype.emit=function(r){var s=this._listeners[r];if(s){for(var a=[],c=1;c<arguments.length;)a.push(arguments[c++]);for(c=0;c<s.length;)s[c].fn.apply(s[c++].ctx,a)}return this}},{}],4:[function(e,t,n){"use strict";t.exports=i(i);function i(c){return typeof Float32Array<"u"?function(){var u=new Float32Array([-0]),f=new Uint8Array(u.buffer),d=f[3]===128;function p(b,T,A){u[0]=b,T[A]=f[0],T[A+1]=f[1],T[A+2]=f[2],T[A+3]=f[3]}function g(b,T,A){u[0]=b,T[A]=f[3],T[A+1]=f[2],T[A+2]=f[1],T[A+3]=f[0]}c.writeFloatLE=d?p:g,c.writeFloatBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],u[0]}function x(b,T){return f[3]=b[T],f[2]=b[T+1],f[1]=b[T+2],f[0]=b[T+3],u[0]}c.readFloatLE=d?m:x,c.readFloatBE=d?x:m}():function(){function u(d,p,g,m){var x=p<0?1:0;if(x&&(p=-p),p===0)d(1/p>0?0:2147483648,g,m);else if(isNaN(p))d(2143289344,g,m);else if(p>34028234663852886e22)d((x<<31|2139095040)>>>0,g,m);else if(p<11754943508222875e-54)d((x<<31|Math.round(p/1401298464324817e-60))>>>0,g,m);else{var b=Math.floor(Math.log(p)/Math.LN2),T=Math.round(p*Math.pow(2,-b)*8388608)&8388607;d((x<<31|b+127<<23|T)>>>0,g,m)}}c.writeFloatLE=u.bind(null,o),c.writeFloatBE=u.bind(null,r);function f(d,p,g){var m=d(p,g),x=(m>>31)*2+1,b=m>>>23&255,T=m&8388607;return b===255?T?NaN:x*(1/0):b===0?x*1401298464324817e-60*T:x*Math.pow(2,b-150)*(T+8388608)}c.readFloatLE=f.bind(null,s),c.readFloatBE=f.bind(null,a)}(),typeof Float64Array<"u"?function(){var u=new Float64Array([-0]),f=new Uint8Array(u.buffer),d=f[7]===128;function p(b,T,A){u[0]=b,T[A]=f[0],T[A+1]=f[1],T[A+2]=f[2],T[A+3]=f[3],T[A+4]=f[4],T[A+5]=f[5],T[A+6]=f[6],T[A+7]=f[7]}function g(b,T,A){u[0]=b,T[A]=f[7],T[A+1]=f[6],T[A+2]=f[5],T[A+3]=f[4],T[A+4]=f[3],T[A+5]=f[2],T[A+6]=f[1],T[A+7]=f[0]}c.writeDoubleLE=d?p:g,c.writeDoubleBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],f[4]=b[T+4],f[5]=b[T+5],f[6]=b[T+6],f[7]=b[T+7],u[0]}function x(b,T){return f[7]=b[T],f[6]=b[T+1],f[5]=b[T+2],f[4]=b[T+3],f[3]=b[T+4],f[2]=b[T+5],f[1]=b[T+6],f[0]=b[T+7],u[0]}c.readDoubleLE=d?m:x,c.readDoubleBE=d?x:m}():function(){function u(d,p,g,m,x,b){var T=m<0?1:0;if(T&&(m=-m),m===0)d(0,x,b+p),d(1/m>0?0:2147483648,x,b+g);else if(isNaN(m))d(0,x,b+p),d(2146959360,x,b+g);else if(m>17976931348623157e292)d(0,x,b+p),d((T<<31|2146435072)>>>0,x,b+g);else{var A;if(m<22250738585072014e-324)A=m/5e-324,d(A>>>0,x,b+p),d((T<<31|A/4294967296)>>>0,x,b+g);else{var C=Math.floor(Math.log(m)/Math.LN2);C===1024&&(C=1023),A=m*Math.pow(2,-C),d(A*4503599627370496>>>0,x,b+p),d((T<<31|C+1023<<20|A*1048576&1048575)>>>0,x,b+g)}}}c.writeDoubleLE=u.bind(null,o,0,4),c.writeDoubleBE=u.bind(null,r,4,0);function f(d,p,g,m,x){var b=d(m,x+p),T=d(m,x+g),A=(T>>31)*2+1,C=T>>>20&2047,E=4294967296*(T&1048575)+b;return C===2047?E?NaN:A*(1/0):C===0?A*5e-324*E:A*Math.pow(2,C-1075)*(E+4503599627370496)}c.readDoubleLE=f.bind(null,s,0,4),c.readDoubleBE=f.bind(null,a,4,0)}(),c}function o(c,u,f){u[f]=c&255,u[f+1]=c>>>8&255,u[f+2]=c>>>16&255,u[f+3]=c>>>24}function r(c,u,f){u[f]=c>>>24,u[f+1]=c>>>16&255,u[f+2]=c>>>8&255,u[f+3]=c&255}function s(c,u){return(c[u]|c[u+1]<<8|c[u+2]<<16|c[u+3]<<24)>>>0}function a(c,u){return(c[u]<<24|c[u+1]<<16|c[u+2]<<8|c[u+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,u=null,f=a;return function(p){if(p<1||p>c)return o(p);f+p>a&&(u=o(a),f=0);var g=r.call(u,f,f+=p);return f&7&&(f=(f|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c<r.length;++c)a=r.charCodeAt(c),a<128?s+=1:a<2048?s+=2:(a&64512)===55296&&(r.charCodeAt(c+1)&64512)===56320?(++c,s+=4):s+=3;return s},i.read=function(r,s,a){var c=a-s;if(c<1)return"";for(var u=null,f=[],d=0,p;s<a;)p=r[s++],p<128?f[d++]=p:p>191&&p<224?f[d++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,f[d++]=55296+(p>>10),f[d++]=56320+(p&1023)):f[d++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,d>8191&&((u||(u=[])).push(String.fromCharCode.apply(String,f)),d=0);return u?(d&&u.push(String.fromCharCode.apply(String,f.slice(0,d))),u.join("")):String.fromCharCode.apply(String,f.slice(0,d))},i.write=function(r,s,a){for(var c=a,u,f,d=0;d<r.length;++d)u=r.charCodeAt(d),u<128?s[a++]=u:u<2048?(s[a++]=u>>6|192,s[a++]=u&63|128):(u&64512)===55296&&((f=r.charCodeAt(d+1))&64512)===56320?(u=65536+((u&1023)<<10)+(f&1023),++d,s[a++]=u>>18|240,s[a++]=u>>12&63|128,s[a++]=u>>6&63|128,s[a++]=u&63|128):(s[a++]=u>>12|224,s[a++]=u>>6&63|128,s[a++]=u&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(m,x){return RangeError("index out of range: "+m.pos+" + "+(x||1)+" > "+m.len)}function c(m){this.buf=m,this.pos=0,this.len=m.length}var u=typeof Uint8Array<"u"?function(x){if(x instanceof Uint8Array||Array.isArray(x))return new c(x);throw Error("illegal buffer")}:function(x){if(Array.isArray(x))return new c(x);throw Error("illegal buffer")},f=function(){return i.Buffer?function(b){return(c.create=function(A){return i.Buffer.isBuffer(A)?new o(A):u(A)})(b)}:u};c.create=f(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var x=4294967295;return function(){if(x=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(x=(x|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return x;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return x}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var x=this.uint32();return x>>>1^-(x&1)|0};function d(){var m=new r(0,0),x=0;if(this.len-this.pos>4){for(;x<4;++x)if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m;if(m.lo=(m.lo|(this.buf[this.pos]&127)<<28)>>>0,m.hi=(m.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return m;x=0}else{for(;x<3;++x){if(this.pos>=this.len)throw a(this);if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m}return m.lo=(m.lo|(this.buf[this.pos++]&127)<<x*7)>>>0,m}if(this.len-this.pos>4){for(;x<5;++x)if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}else for(;x<5;++x){if(this.pos>=this.len)throw a(this);if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(m,x){return(m[x-4]|m[x-3]<<8|m[x-2]<<16|m[x-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var x=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,x},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var x=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,x},c.prototype.bytes=function(){var x=this.uint32(),b=this.pos,T=this.pos+x;if(T>this.len)throw a(this,x);if(this.pos+=x,Array.isArray(this.buf))return this.buf.slice(b,T);if(b===T){var A=i.Buffer;return A?A.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,b,T)},c.prototype.string=function(){var x=this.bytes();return s.read(x,0,x.length)},c.prototype.skip=function(x){if(typeof x=="number"){if(this.pos+x>this.len)throw a(this,x);this.pos+=x}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(m){switch(m){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(m=this.uint32()&7)!==4;)this.skipType(m);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+m+" at offset "+this.pos)}return this},c._configure=function(m){o=m,c.create=f(),o._configure();var x=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return d.call(this)[x](!1)},uint64:function(){return d.call(this)[x](!0)},sint64:function(){return d.call(this).zzDecode()[x](!1)},fixed64:function(){return g.call(this)[x](!0)},sfixed64:function(){return g.call(this)[x](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=!!s,this.responseDelimited=!!a}o.prototype.rpcCall=function r(s,a,c,u,f){if(!u)throw TypeError("request must be specified");var d=this;if(!f)return i.asPromise(r,d,s,a,c,u);if(!d.rpcImpl)return setTimeout(function(){f(Error("already ended"))},0),undefined;try{return d.rpcImpl(s,a[d.requestDelimited?"encodeDelimited":"encode"](u).finish(),function(g,m){if(g)return d.emit("error",g,s),f(g);if(m===null)return d.end(!0),undefined;if(!(m instanceof c))try{m=c[d.responseDelimited?"decodeDelimited":"decode"](m)}catch(x){return d.emit("error",x,s),f(x)}return d.emit("data",m,s),f(null,m)})}catch(p){return d.emit("error",p,s),setTimeout(function(){f(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,u){this.lo=c>>>0,this.hi=u>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(u){if(u===0)return r;var f=u<0;f&&(u=-u);var d=u>>>0,p=(u-d)/4294967296>>>0;return f&&(p=~p>>>0,d=~d>>>0,++d>4294967295&&(d=0,++p>4294967295&&(p=0))),new o(d,p)},o.from=function(u){if(typeof u=="number")return o.fromNumber(u);if(i.isString(u))if(i.Long)u=i.Long.fromString(u);else return o.fromNumber(parseInt(u,10));return u.low||u.high?new o(u.low>>>0,u.high>>>0):r},o.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var f=~this.lo+1>>>0,d=~this.hi>>>0;return f||(d=d+1>>>0),-(f+d*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(u){return i.Long?new i.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var a=String.prototype.charCodeAt;o.fromHash=function(u){return u===s?r:new o((a.call(u,0)|a.call(u,1)<<8|a.call(u,2)<<16|a.call(u,3)<<24)>>>0,(a.call(u,4)|a.call(u,5)<<8|a.call(u,6)<<16|a.call(u,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},o.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},o.prototype.length=function(){var u=this.lo,f=(this.lo>>>28|this.hi<<4)>>>0,d=this.hi>>>24;return d===0?f===0?u<16384?u<128?1:2:u<2097152?3:4:f<16384?f<128?5:6:f<2097152?7:8:d<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var u=a[c];return u!=null&&a.hasOwnProperty(c)?typeof u!="object"||(Array.isArray(u)?u.length:Object.keys(u).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var u=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(u.lo,u.hi,c):u.toNumber(!!c)};function o(s,a,c){for(var u=Object.keys(a),f=0;f<u.length;++f)(s[u[f]]===undefined||!c)&&(s[u[f]]=a[u[f]]);return s}i.merge=o,i.lcFirst=function(a){return a.charAt(0).toLowerCase()+a.substring(1)};function r(s){function a(c,u){if(!(this instanceof a))return new a(c,u);Object.defineProperty(this,"message",{get:function(){return c}}),Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:new Error().stack||""}),u&&o(this,u)}return a.prototype=Object.create(Error.prototype,{constructor:{value:a,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return s},set:undefined,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),a}i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(a){for(var c={},u=0;u<a.length;++u)c[a[u]]=1;return function(){for(var f=Object.keys(this),d=f.length-1;d>-1;--d)if(c[f[d]]===1&&this[f[d]]!==undefined&&this[f[d]]!==null)return f[d]}},i.oneOfSetter=function(a){return function(c){for(var u=0;u<a.length;++u)a[u]!==c&&delete this[a[u]]}},i.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},i._configure=function(){var s=i.Buffer;if(!s){i._Buffer_from=i._Buffer_allocUnsafe=null;return}i._Buffer_from=s.from!==Uint8Array.from&&s.from||function(c,u){return new s(c,u)},i._Buffer_allocUnsafe=s.allocUnsafe||function(c){return new s(c)}}},{1:1,14:14,2:2,3:3,4:4,5:5,6:6,7:7}],16:[function(e,t,n){"use strict";t.exports=d;var i=e(15),o,r=i.LongBits,s=i.base64,a=i.utf8;function c(C,E,v){this.fn=C,this.len=E,this.next=undefined,this.val=v}function u(){}function f(C){this.head=C.head,this.tail=C.tail,this.len=C.len,this.next=C.states}function d(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return i.Buffer?function(){return(d.create=function(){return new o})()}:function(){return new d}};d.create=p(),d.alloc=function(E){return new i.Array(E)},i.Array!==Array&&(d.alloc=i.pool(d.alloc,i.Array.prototype.subarray)),d.prototype._push=function(E,v,D){return this.tail=this.tail.next=new c(E,v,D),this.len+=v,this};function g(C,E,v){E[v]=C&255}function m(C,E,v){for(;C>127;)E[v++]=C&127|128,C>>>=7;E[v]=C}function x(C,E){this.len=C,this.next=undefined,this.val=E}x.prototype=Object.create(c.prototype),x.prototype.fn=m,d.prototype.uint32=function(E){return this.len+=(this.tail=this.tail.next=new x((E=E>>>0)<128?1:E<16384?2:E<2097152?3:E<268435456?4:5,E)).len,this},d.prototype.int32=function(E){return E<0?this._push(b,10,r.fromNumber(E)):this.uint32(E)},d.prototype.sint32=function(E){return this.uint32((E<<1^E>>31)>>>0)};function b(C,E,v){for(;C.hi;)E[v++]=C.lo&127|128,C.lo=(C.lo>>>7|C.hi<<25)>>>0,C.hi>>>=7;for(;C.lo>127;)E[v++]=C.lo&127|128,C.lo=C.lo>>>7;E[v++]=C.lo}d.prototype.uint64=function(E){var v=r.from(E);return this._push(b,v.length(),v)},d.prototype.int64=d.prototype.uint64,d.prototype.sint64=function(E){var v=r.from(E).zzEncode();return this._push(b,v.length(),v)},d.prototype.bool=function(E){return this._push(g,1,E?1:0)};function T(C,E,v){E[v]=C&255,E[v+1]=C>>>8&255,E[v+2]=C>>>16&255,E[v+3]=C>>>24}d.prototype.fixed32=function(E){return this._push(T,4,E>>>0)},d.prototype.sfixed32=d.prototype.fixed32,d.prototype.fixed64=function(E){var v=r.from(E);return this._push(T,4,v.lo)._push(T,4,v.hi)},d.prototype.sfixed64=d.prototype.fixed64,d.prototype.float=function(E){return this._push(i.float.writeFloatLE,4,E)},d.prototype.double=function(E){return this._push(i.float.writeDoubleLE,8,E)};var A=i.Array.prototype.set?function(E,v,D){v.set(E,D)}:function(E,v,D){for(var O=0;O<E.length;++O)v[D+O]=E[O]};d.prototype.bytes=function(E){var v=E.length>>>0;if(!v)return this._push(g,1,0);if(i.isString(E)){var D=d.alloc(v=s.length(E));s.decode(E,D,0),E=D}return this.uint32(v)._push(A,v,E)},d.prototype.string=function(E){var v=a.length(E);return v?this.uint32(v)._push(a.write,v,E):this._push(g,1,0)},d.prototype.fork=function(){return this.states=new f(this),this.head=this.tail=new c(u,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},d.prototype.ldelim=function(){var E=this.head,v=this.tail,D=this.len;return this.reset().uint32(D),D&&(this.tail.next=E.next,this.tail=v,this.len+=D),this},d.prototype.finish=function(){for(var E=this.head.next,v=this.constructor.alloc(this.len),D=0;E;)E.fn(E.val,v,D),D+=E.len,E=E.next;return v},d._configure=function(C){o=C,d.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,u,f){u.set(c,f)}:function(c,u,f){if(c.copy)c.copy(u,f,0,c.length);else for(var d=0;d<c.length;)u[f++]=c[d++]}},r.prototype.bytes=function(c){o.isString(c)&&(c=o._Buffer_from(c,"base64"));var u=c.length>>>0;return this.uint32(u),u&&this._push(r.writeBytesBuffer,u,c),this};function s(a,c,u){a.length<40?o.utf8.write(a,c,u):c.utf8Write?c.utf8Write(a,u):c.write(a,u)}r.prototype.string=function(c){var u=o.Buffer.byteLength(c);return this.uint32(u),u&&this._push(s,u,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var Lbe=Qn((uCi,G8)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var e=function(){var o={};o.defaultNoDataValue=-34027999387901484e22,o.decode=function(f,d){d=d||{};var p=d.encodedMaskData||d.encodedMaskData===null,g=c(f,d.inputOffset||0,p),m=d.noDataValue!==null?d.noDataValue:o.defaultNoDataValue,x=r(g,d.pixelType||Float32Array,d.encodedMaskData,m,d.returnMask),b={width:g.width,height:g.height,pixelData:x.resultPixels,minValue:x.minValue,maxValue:g.pixels.maxValue,noDataValue:m};return x.resultMask&&(b.maskData=x.resultMask),d.returnEncodedMask&&g.mask&&(b.encodedMaskData=g.mask.bitset?g.mask.bitset:null),d.returnFileInfo&&(b.fileInfo=s(g),d.computeUsedBitDepths&&(b.fileInfo.bitDepths=a(g))),b};var r=function(f,d,p,g,m){var x=0,b=f.pixels.numBlocksX,T=f.pixels.numBlocksY,A=Math.floor(f.width/b),C=Math.floor(f.height/T),E=2*f.maxZError,v=Number.MAX_VALUE,D;p=p||(f.mask?f.mask.bitset:null);var O,R;O=new d(f.width*f.height),m&&p&&(R=new Uint8Array(f.width*f.height));for(var M=new Float32Array(A*C),N,_,S=0;S<=T;S++){var w=S!==T?C:f.height%T;if(w!==0)for(var I=0;I<=b;I++){var L=I!==b?A:f.width%b;if(L!==0){var B=S*f.width*C+I*A,U=f.width-L,V=f.pixels.blocks[x],G,k,Y;V.encoding<2?(V.encoding===0?G=V.rawData:(u(V.stuffedData,V.bitsPerPixel,V.numValidPixels,V.offset,E,M,f.pixels.maxValue),G=M),k=0):V.encoding===2?Y=0:Y=V.offset;var W;if(p)for(_=0;_<w;_++){for(B&7&&(W=p[B>>3],W<<=B&7),N=0;N<L;N++)B&7||(W=p[B>>3]),W&128?(R&&(R[B]=1),D=V.encoding<2?G[k++]:Y,v=v>D?D:v,O[B++]=D):(R&&(R[B]=0),O[B++]=g),W<<=1;B+=U}else if(V.encoding<2)for(_=0;_<w;_++){for(N=0;N<L;N++)D=G[k++],v=v>D?D:v,O[B++]=D;B+=U}else for(v=v>Y?Y:v,_=0;_<w;_++){for(N=0;N<L;N++)O[B++]=Y;B+=U}if(V.encoding===1&&k!==V.numValidPixels)throw"Block and Mask do not match";x++}}}return{resultPixels:O,resultMask:R,minValue:v}},s=function(f){return{fileIdentifierString:f.fileIdentifierString,fileVersion:f.fileVersion,imageType:f.imageType,height:f.height,width:f.width,maxZError:f.maxZError,eofOffset:f.eofOffset,mask:f.mask?{numBlocksX:f.mask.numBlocksX,numBlocksY:f.mask.numBlocksY,numBytes:f.mask.numBytes,maxValue:f.mask.maxValue}:null,pixels:{numBlocksX:f.pixels.numBlocksX,numBlocksY:f.pixels.numBlocksY,numBytes:f.pixels.numBytes,maxValue:f.pixels.maxValue,noDataValue:f.noDataValue}}},a=function(f){for(var d=f.pixels.numBlocksX*f.pixels.numBlocksY,p={},g=0;g<d;g++){var m=f.pixels.blocks[g];m.encoding===0?p.float32=!0:m.encoding===1?p[m.bitsPerPixel]=!0:p[0]=!0}return Object.keys(p)},c=function(f,d,p){var g={},m=new Uint8Array(f,d,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,m),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;d+=10;var x=new DataView(f,d,24);if(g.fileVersion=x.getInt32(0,!0),g.imageType=x.getInt32(4,!0),g.height=x.getUint32(8,!0),g.width=x.getUint32(12,!0),g.maxZError=x.getFloat64(16,!0),d+=24,!p)if(x=new DataView(f,d,16),g.mask={},g.mask.numBlocksY=x.getUint32(0,!0),g.mask.numBlocksX=x.getUint32(4,!0),g.mask.numBytes=x.getUint32(8,!0),g.mask.maxValue=x.getFloat32(12,!0),d+=16,g.mask.numBytes>0){var b=new Uint8Array(Math.ceil(g.width*g.height/8));x=new DataView(f,d,g.mask.numBytes);var T=x.getInt16(0,!0),A=2,C=0;do{if(T>0)for(;T--;)b[C++]=x.getUint8(A++);else{var E=x.getUint8(A++);for(T=-T;T--;)b[C++]=E}T=x.getInt16(A,!0),A+=2}while(A<g.mask.numBytes);if(T!==-32768||C<b.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=b,d+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));x=new DataView(f,d,16),g.pixels={},g.pixels.numBlocksY=x.getUint32(0,!0),g.pixels.numBlocksX=x.getUint32(4,!0),g.pixels.numBytes=x.getUint32(8,!0),g.pixels.maxValue=x.getFloat32(12,!0),d+=16;var v=g.pixels.numBlocksX,D=g.pixels.numBlocksY,O=v+(g.width%v>0?1:0),R=D+(g.height%D>0?1:0);g.pixels.blocks=new Array(O*R);for(var M=0,N=0;N<R;N++)for(var _=0;_<O;_++){var S=0,w=f.byteLength-d;x=new DataView(f,d,Math.min(10,w));var I={};g.pixels.blocks[M++]=I;var L=x.getUint8(0);if(S++,I.encoding=L&63,I.encoding>3)throw"Invalid block encoding ("+I.encoding+")";if(I.encoding===2){d++;continue}if(L!==0&&L!==2){if(L>>=6,I.offsetType=L,L===2)I.offset=x.getInt8(1),S++;else if(L===1)I.offset=x.getInt16(1,!0),S+=2;else if(L===0)I.offset=x.getFloat32(1,!0),S+=4;else throw"Invalid block offset type";if(I.encoding===1)if(L=x.getUint8(S),S++,I.bitsPerPixel=L&63,L>>=6,I.numValidPixelsType=L,L===2)I.numValidPixels=x.getUint8(S),S++;else if(L===1)I.numValidPixels=x.getUint16(S,!0),S+=2;else if(L===0)I.numValidPixels=x.getUint32(S,!0),S+=4;else throw"Invalid valid pixel count type"}if(d+=S,I.encoding!==3){var B,U;if(I.encoding===0){var V=(g.pixels.numBytes-1)/4;if(V!==Math.floor(V))throw"uncompressed block has invalid length";B=new ArrayBuffer(V*4),U=new Uint8Array(B),U.set(new Uint8Array(f,d,V*4));var G=new Float32Array(B);I.rawData=G,d+=V*4}else if(I.encoding===1){var k=Math.ceil(I.numValidPixels*I.bitsPerPixel/8),Y=Math.ceil(k/4);B=new ArrayBuffer(Y*4),U=new Uint8Array(B),U.set(new Uint8Array(f,d,k)),I.stuffedData=new Uint32Array(B),d+=k}}}return g.eofOffset=d,g},u=function(f,d,p,g,m,x,b){var T=(1<<d)-1,A=0,C,E=0,v,D,O=Math.ceil((b-g)/m),R=f.length*4-Math.ceil(d*p/8);for(f[f.length-1]<<=8*R,C=0;C<p;C++){if(E===0&&(D=f[A++],E=32),E>=d)v=D>>>E-d&T,E-=d;else{var M=d-E;v=(D&T)<<M&T,D=f[A++],E=32-M,v+=D>>>E}x[C]=v<O?g+v*m:b}return x};return o}(),t=function(){"use strict";var o={unstuff:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,A,C=0,E,v,D,O,R=c.length*4-Math.ceil(f*d/8);if(c[c.length-1]<<=8*R,p)for(A=0;A<d;A++)C===0&&(v=c[T++],C=32),C>=f?(E=v>>>C-f&b,C-=f):(D=f-C,E=(v&b)<<D&b,v=c[T++],C=32-D,E+=v>>>C),u[A]=p[E];else for(O=Math.ceil((x-g)/m),A=0;A<d;A++)C===0&&(v=c[T++],C=32),C>=f?(E=v>>>C-f&b,C-=f):(D=f-C,E=(v&b)<<D&b,v=c[T++],C=32-D,E+=v>>>C),u[A]=E<O?g+E*m:x},unstuffLUT:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,A=0,C=0,E,v=[],D=c.length*4-Math.ceil(u*f/8);c[c.length-1]<<=8*D;var O=Math.ceil((g-d)/p);for(b=0;b<f;b++)A===0&&(E=c[x++],A=32),A>=u?(C=E>>>A-u&m,A-=u):(T=u-A,C=(E&m)<<T&m,E=c[x++],A=32-T,C+=E>>>A),v[b]=C<O?d+C*p:g;return v.unshift(d),v},unstuff2:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,A,C=0,E=0,v,D,O;if(p)for(A=0;A<d;A++)C===0&&(D=c[T++],C=32,E=0),C>=f?(v=D>>>E&b,C-=f,E+=f):(O=f-C,v=D>>>E&b,D=c[T++],C=32-O,v|=(D&(1<<O)-1)<<f-O,E=O),u[A]=p[v];else{var R=Math.ceil((x-g)/m);for(A=0;A<d;A++)C===0&&(D=c[T++],C=32,E=0),C>=f?(v=D>>>E&b,C-=f,E+=f):(O=f-C,v=D>>>E&b,D=c[T++],C=32-O,v|=(D&(1<<O)-1)<<f-O,E=O),u[A]=v<R?g+v*m:x}return u},unstuffLUT2:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,A=0,C=0,E=0,v,D=[],O=Math.ceil((g-d)/p);for(b=0;b<f;b++)A===0&&(v=c[x++],A=32,E=0),A>=u?(C=v>>>E&m,A-=u,E+=u):(T=u-A,C=v>>>E&m,v=c[x++],A=32-T,C|=(v&(1<<T)-1)<<u-T,E=T),D[b]=C<O?d+C*p:g;return D.unshift(d),D},originalUnstuff:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b,T,A,C=c.length*4-Math.ceil(f*d/8);for(c[c.length-1]<<=8*C,m=0;m<d;m++)x===0&&(T=c[g++],x=32),x>=f?(b=T>>>x-f&p,x-=f):(A=f-x,b=(T&p)<<A&p,T=c[g++],x=32-A,b+=T>>>x),u[m]=b;return u},originalUnstuff2:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b=0,T,A,C;for(m=0;m<d;m++)x===0&&(A=c[g++],x=32,b=0),x>=f?(T=A>>>b&p,x-=f,b+=f):(C=f-x,T=A>>>b&p,A=c[g++],x=32-C,T|=(A&(1<<C)-1)<<f-C,b=C),u[m]=T;return u}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(c){for(var u=65535,f=65535,d=c.length,p=Math.floor(d/2),g=0;p;){var m=p>=359?359:p;p-=m;do u+=c[g++]<<8,f+=u+=c[g++];while(--m);u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16)}return d&1&&(f+=u+=c[g]<<8),u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16),(f<<16|u)>>>0},readHeaderInfo:function(c,u){var f=u.ptr,d=new Uint8Array(c,f,6),p={};if(p.fileIdentifierString=String.fromCharCode.apply(null,d),p.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+p.fileIdentifierString;f+=6;var g=new DataView(c,f,8),m=g.getInt32(0,!0);p.fileVersion=m,f+=4,m>=3&&(p.checksum=g.getUint32(4,!0),f+=4),g=new DataView(c,f,12),p.height=g.getUint32(0,!0),p.width=g.getUint32(4,!0),f+=8,m>=4?(p.numDims=g.getUint32(8,!0),f+=4):p.numDims=1,g=new DataView(c,f,40),p.numValidPixel=g.getUint32(0,!0),p.microBlockSize=g.getInt32(4,!0),p.blobSize=g.getInt32(8,!0),p.imageType=g.getInt32(12,!0),p.maxZError=g.getFloat64(16,!0),p.zMin=g.getFloat64(24,!0),p.zMax=g.getFloat64(32,!0),f+=40,u.headerInfo=p,u.ptr=f;var x,b;if(m>=3&&(b=m>=4?52:48,x=this.computeChecksumFletcher32(new Uint8Array(c,f-b,p.blobSize-14)),x!==p.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(c,u){var f=u.headerInfo,d=this.getDataTypeArray(f.imageType),p=f.numDims*this.getDataTypeSize(f.imageType),g=this.readSubArray(c,u.ptr,d,p),m=this.readSubArray(c,u.ptr+p,d,p);u.ptr+=2*p;var x,b=!0;for(x=0;x<f.numDims;x++)if(g[x]!==m[x]){b=!1;break}return f.minValues=g,f.maxValues=m,b},readSubArray:function(c,u,f,d){var p;if(f===Uint8Array)p=new Uint8Array(c,u,d);else{var g=new ArrayBuffer(d),m=new Uint8Array(g);m.set(new Uint8Array(c,u,d)),p=new f(g)}return p},readMask:function(c,u){var f=u.ptr,d=u.headerInfo,p=d.width*d.height,g=d.numValidPixel,m=new DataView(c,f,4),x={};if(x.numBytes=m.getUint32(0,!0),f+=4,(g===0||p===g)&&x.numBytes!==0)throw"invalid mask";var b,T;if(g===0)b=new Uint8Array(Math.ceil(p/8)),x.bitset=b,T=new Uint8Array(p),u.pixels.resultMask=T,f+=x.numBytes;else if(x.numBytes>0){b=new Uint8Array(Math.ceil(p/8)),m=new DataView(c,f,x.numBytes);var A=m.getInt16(0,!0),C=2,E=0,v=0;do{if(A>0)for(;A--;)b[E++]=m.getUint8(C++);else for(v=m.getUint8(C++),A=-A;A--;)b[E++]=v;A=m.getInt16(C,!0),C+=2}while(C<x.numBytes);if(A!==-32768||E<b.length)throw"Unexpected end of mask RLE encoding";T=new Uint8Array(p);var D=0,O=0;for(O=0;O<p;O++)O&7?(D=b[O>>3],D<<=O&7):D=b[O>>3],D&128&&(T[O]=1);u.pixels.resultMask=T,x.bitset=b,f+=x.numBytes}return u.ptr=f,u.mask=x,!0},readDataOneSweep:function(c,u,f){var d=u.ptr,p=u.headerInfo,g=p.numDims,m=p.width*p.height,x=p.imageType,b=p.numValidPixel*r.getDataTypeSize(x)*g,T,A=u.pixels.resultMask;if(f===Uint8Array)T=new Uint8Array(c,d,b);else{var C=new ArrayBuffer(b),E=new Uint8Array(C);E.set(new Uint8Array(c,d,b)),T=new f(C)}if(T.length===m*g)u.pixels.resultPixels=T;else{u.pixels.resultPixels=new f(m*g);var v=0,D=0,O=0,R=0;if(g>1)for(O=0;O<g;O++)for(R=O*m,D=0;D<m;D++)A[D]&&(u.pixels.resultPixels[R+D]=T[v++]);else for(D=0;D<m;D++)A[D]&&(u.pixels.resultPixels[D]=T[v++])}return d+=b,u.ptr=d,!0},readHuffmanTree:function(c,u){var f=this.HUFFMAN_LUT_BITS_MAX,d=new DataView(c,u.ptr,16);u.ptr+=16;var p=d.getInt32(0,!0);if(p<2)throw"unsupported Huffman version";var g=d.getInt32(4,!0),m=d.getInt32(8,!0),x=d.getInt32(12,!0);if(m>=x)return!1;var b=new Uint32Array(x-m);r.decodeBits(c,u,b);var T=[],A,C,E,v;for(A=m;A<x;A++)C=A-(A<g?0:g),T[C]={first:b[A-m],second:null};var D=c.byteLength-u.ptr,O=Math.ceil(D/4),R=new ArrayBuffer(O*4),M=new Uint8Array(R);M.set(new Uint8Array(c,u.ptr,D));var N=new Uint32Array(R),_=0,S,w=0;for(S=N[0],A=m;A<x;A++)C=A-(A<g?0:g),v=T[C].first,v>0&&(T[C].second=S<<_>>>32-v,32-_>=v?(_+=v,_===32&&(_=0,w++,S=N[w])):(_+=v-32,w++,S=N[w],T[C].second|=S>>>32-_));var I=0,L=0,B=new s;for(A=0;A<T.length;A++)T[A]!==void 0&&(I=Math.max(I,T[A].first));I>=f?L=f:L=I,I>=30&&console.log("WARning, large NUM LUT BITS IS "+I);var U=[],V,G,k,Y,W,Q;for(A=m;A<x;A++)if(C=A-(A<g?0:g),v=T[C].first,v>0)if(V=[v,C],v<=L)for(G=T[C].second<<L-v,k=1<<L-v,E=0;E<k;E++)U[G|E]=V;else for(G=T[C].second,Q=B,Y=v-1;Y>=0;Y--)W=G>>>Y&1,W?(Q.right||(Q.right=new s),Q=Q.right):(Q.left||(Q.left=new s),Q=Q.left),Y===0&&!Q.val&&(Q.val=V[1]);return{decodeLut:U,numBitsLUTQick:L,numBitsLUT:I,tree:B,stuffedData:N,srcPtr:w,bitPos:_}},readHuffman:function(c,u,f){var d=u.headerInfo,p=d.numDims,g=u.headerInfo.height,m=u.headerInfo.width,x=m*g,b=this.readHuffmanTree(c,u),T=b.decodeLut,A=b.tree,C=b.stuffedData,E=b.srcPtr,v=b.bitPos,D=b.numBitsLUTQick,O=b.numBitsLUT,R=u.headerInfo.imageType===0?128:0,M,N,_,S=u.pixels.resultMask,w,I,L,B,U,V,G,k=0;v>0&&(E++,v=0);var Y=C[E],W=u.encodeMode===1,Q=new f(x*p),j=Q,Z;for(Z=0;Z<d.numDims;Z++){if(p>1&&(j=new f(Q.buffer,x*Z,x),k=0),u.headerInfo.numValidPixel===m*g)for(V=0,B=0;B<g;B++)for(U=0;U<m;U++,V++){if(N=0,w=Y<<v>>>32-D,I=w,32-v<D&&(w|=C[E+1]>>>64-v-D,I=w),T[I])N=T[I][1],v+=T[I][0];else for(w=Y<<v>>>32-O,I=w,32-v<O&&(w|=C[E+1]>>>64-v-O,I=w),M=A,G=0;G<O;G++)if(L=w>>>O-G-1&1,M=L?M.right:M.left,!(M.left||M.right)){N=M.val,v=v+G+1;break}v>=32&&(v-=32,E++,Y=C[E]),_=N-R,W?(U>0?_+=k:B>0?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}else for(V=0,B=0;B<g;B++)for(U=0;U<m;U++,V++)if(S[V]){if(N=0,w=Y<<v>>>32-D,I=w,32-v<D&&(w|=C[E+1]>>>64-v-D,I=w),T[I])N=T[I][1],v+=T[I][0];else for(w=Y<<v>>>32-O,I=w,32-v<O&&(w|=C[E+1]>>>64-v-O,I=w),M=A,G=0;G<O;G++)if(L=w>>>O-G-1&1,M=L?M.right:M.left,!(M.left||M.right)){N=M.val,v=v+G+1;break}v>=32&&(v-=32,E++,Y=C[E]),_=N-R,W?(U>0&&S[V-1]?_+=k:B>0&&S[V-m]?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}u.ptr=u.ptr+(E+1)*4+(v>0?4:0)}u.pixels.resultPixels=Q},decodeBits:function(c,u,f,d,p){{var g=u.headerInfo,m=g.fileVersion,x=0,b=new DataView(c,u.ptr,5),T=b.getUint8(0);x++;var A=T>>6,C=A===0?4:3-A,E=(T&32)>0,v=T&31,D=0;if(C===1)D=b.getUint8(x),x++;else if(C===2)D=b.getUint16(x,!0),x+=2;else if(C===4)D=b.getUint32(x,!0),x+=4;else throw"Invalid valid pixel count type";var O=2*g.maxZError,R,M,N,_,S,w,I,L,B,U,V=g.numDims>1?g.maxValues[p]:g.zMax;if(E){for(u.counter.lut++,L=b.getUint8(x),B=v,x++,_=Math.ceil((L-1)*v/8),S=Math.ceil(_/4),M=new ArrayBuffer(S*4),N=new Uint8Array(M),u.ptr+=x,N.set(new Uint8Array(c,u.ptr,_)),I=new Uint32Array(M),u.ptr+=_,U=0;L-1>>>U;)U++;_=Math.ceil(D*U/8),S=Math.ceil(_/4),M=new ArrayBuffer(S*4),N=new Uint8Array(M),N.set(new Uint8Array(c,u.ptr,_)),R=new Uint32Array(M),u.ptr+=_,m>=3?w=o.unstuffLUT2(I,v,L-1,d,O,V):w=o.unstuffLUT(I,v,L-1,d,O,V),m>=3?o.unstuff2(R,f,U,D,w):o.unstuff(R,f,U,D,w)}else u.counter.bitstuffer++,U=v,u.ptr+=x,U>0&&(_=Math.ceil(D*U/8),S=Math.ceil(_/4),M=new ArrayBuffer(S*4),N=new Uint8Array(M),N.set(new Uint8Array(c,u.ptr,_)),R=new Uint32Array(M),u.ptr+=_,m>=3?d==null?o.originalUnstuff2(R,f,U,D):o.unstuff2(R,f,U,D,!1,d,O,V):d==null?o.originalUnstuff(R,f,U,D):o.unstuff(R,f,U,D,!1,d,O,V))}},readTiles:function(c,u,f){var d=u.headerInfo,p=d.width,g=d.height,m=d.microBlockSize,x=d.imageType,b=r.getDataTypeSize(x),T=Math.ceil(p/m),A=Math.ceil(g/m);u.pixels.numBlocksY=A,u.pixels.numBlocksX=T,u.pixels.ptr=0;var C=0,E=0,v=0,D=0,O=0,R=0,M=0,N=0,_=0,S=0,w=0,I=0,L=0,B=0,U=0,V=0,G,k,Y,W,Q,j,Z=new f(m*m),J=g%m||m,he=p%m||m,xe,re,_e=d.numDims,ye,De=u.pixels.resultMask,ve=u.pixels.resultPixels;for(v=0;v<A;v++)for(O=v!==A-1?m:J,D=0;D<T;D++)for(R=D!==T-1?m:he,w=v*p*m+D*m,I=p-R,ye=0;ye<_e;ye++){if(_e>1&&(ve=new f(u.pixels.resultPixels.buffer,p*g*ye*b,p*g)),M=c.byteLength-u.ptr,G=new DataView(c,u.ptr,Math.min(10,M)),k={},V=0,N=G.getUint8(0),V++,_=N>>6&255,S=N>>2&15,S!==(D*m>>3&15))throw"integrity issue";if(j=N&3,j>3)throw u.ptr+=V,"Invalid block encoding ("+j+")";if(j===2){u.counter.constant++,u.ptr+=V;continue}else if(j===0){if(u.counter.uncompressed++,u.ptr+=V,L=O*R*b,B=c.byteLength-u.ptr,L=L<B?L:B,Y=new ArrayBuffer(L%b===0?L:L+b-L%b),W=new Uint8Array(Y),W.set(new Uint8Array(c,u.ptr,L)),Q=new f(Y),U=0,De)for(C=0;C<O;C++){for(E=0;E<R;E++)De[w]&&(ve[w]=Q[U++]),w++;w+=I}else for(C=0;C<O;C++){for(E=0;E<R;E++)ve[w++]=Q[U++];w+=I}u.ptr+=U*b}else if(xe=r.getDataTypeUsed(x,_),re=r.getOnePixel(k,V,xe,G),V+=r.getDataTypeSize(xe),j===3)if(u.ptr+=V,u.counter.constantoffset++,De)for(C=0;C<O;C++){for(E=0;E<R;E++)De[w]&&(ve[w]=re),w++;w+=I}else for(C=0;C<O;C++){for(E=0;E<R;E++)ve[w++]=re;w+=I}else if(u.ptr+=V,r.decodeBits(c,u,Z,re,ye),V=0,De)for(C=0;C<O;C++){for(E=0;E<R;E++)De[w]&&(ve[w]=Z[V++]),w++;w+=I}else for(C=0;C<O;C++){for(E=0;E<R;E++)ve[w++]=Z[V++];w+=I}}},formatFileInfo:function(c){return{fileIdentifierString:c.headerInfo.fileIdentifierString,fileVersion:c.headerInfo.fileVersion,imageType:c.headerInfo.imageType,height:c.headerInfo.height,width:c.headerInfo.width,numValidPixel:c.headerInfo.numValidPixel,microBlockSize:c.headerInfo.microBlockSize,blobSize:c.headerInfo.blobSize,maxZError:c.headerInfo.maxZError,pixelType:r.getPixelType(c.headerInfo.imageType),eofOffset:c.eofOffset,mask:c.mask?{numBytes:c.mask.numBytes}:null,pixels:{numBlocksX:c.pixels.numBlocksX,numBlocksY:c.pixels.numBlocksY,maxValue:c.headerInfo.zMax,minValue:c.headerInfo.zMin,noDataValue:c.noDataValue}}},constructConstantSurface:function(c){var u=c.headerInfo.zMax,f=c.headerInfo.numDims,d=c.headerInfo.height*c.headerInfo.width,p=d*f,g=0,m=0,x=0,b=c.pixels.resultMask;if(b)if(f>1)for(g=0;g<f;g++)for(x=g*d,m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[x+m]=u);else for(m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[m]=u);else if(c.pixels.resultPixels.fill)c.pixels.resultPixels.fill(u);else for(m=0;m<p;m++)c.pixels.resultPixels[m]=u},getDataTypeArray:function(c){var u;switch(c){case 0:u=Int8Array;break;case 1:u=Uint8Array;break;case 2:u=Int16Array;break;case 3:u=Uint16Array;break;case 4:u=Int32Array;break;case 5:u=Uint32Array;break;case 6:u=Float32Array;break;case 7:u=Float64Array;break;default:u=Float32Array}return u},getPixelType:function(c){var u;switch(c){case 0:u="S8";break;case 1:u="U8";break;case 2:u="S16";break;case 3:u="U16";break;case 4:u="S32";break;case 5:u="U32";break;case 6:u="F32";break;case 7:u="F64";break;default:u="F32"}return u},isValidPixelValue:function(c,u){if(u==null)return!1;var f;switch(c){case 0:f=u>=-128&&u<=127;break;case 1:f=u>=0&&u<=255;break;case 2:f=u>=-32768&&u<=32767;break;case 3:f=u>=0&&u<=65536;break;case 4:f=u>=-2147483648&&u<=2147483647;break;case 5:f=u>=0&&u<=4294967296;break;case 6:f=u>=-34027999387901484e22&&u<=34027999387901484e22;break;case 7:f=u>=5e-324&&u<=17976931348623157e292;break;default:f=!1}return f},getDataTypeSize:function(c){var u=0;switch(c){case 0:case 1:u=1;break;case 2:case 3:u=2;break;case 4:case 5:case 6:u=4;break;case 7:u=8;break;default:u=c}return u},getDataTypeUsed:function(c,u){var f=c;switch(c){case 2:case 4:f=c-u;break;case 3:case 5:f=c-2*u;break;case 6:u===0?f=c:u===1?f=2:f=1;break;case 7:u===0?f=c:f=c-2*u+1;break;default:f=c;break}return f},getOnePixel:function(c,u,f,d){var p=0;switch(f){case 0:p=d.getInt8(u);break;case 1:p=d.getUint8(u);break;case 2:p=d.getInt16(u,!0);break;case 3:p=d.getUint16(u,!0);break;case 4:p=d.getInt32(u,!0);break;case 5:p=d.getUInt32(u,!0);break;case 6:p=d.getFloat32(u,!0);break;case 7:p=d.getFloat64(u,!0);break;default:throw"the decoder does not understand this pixel type"}return p}},s=function(c,u,f){this.val=c,this.left=u,this.right=f},a={decode:function(c,u){u=u||{};var f=u.noDataValue,d=0,p={};if(p.ptr=u.inputOffset||0,p.pixels={},!!r.readHeaderInfo(c,p)){var g=p.headerInfo,m=g.fileVersion,x=r.getDataTypeArray(g.imageType);r.readMask(c,p),g.numValidPixel!==g.width*g.height&&!p.pixels.resultMask&&(p.pixels.resultMask=u.maskData);var b=g.width*g.height;if(p.pixels.resultPixels=new x(b*g.numDims),p.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},g.numValidPixel!==0)if(g.zMax===g.zMin)r.constructConstantSurface(p);else if(m>=4&&r.checkMinMaxRanges(c,p))r.constructConstantSurface(p);else{var T=new DataView(c,p.ptr,2),A=T.getUint8(0);if(p.ptr++,A)r.readDataOneSweep(c,p,x);else if(m>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var C=T.getUint8(1);if(p.ptr++,p.encodeMode=C,C>2||m<4&&C>1)throw"Invalid Huffman flag "+C;C?r.readHuffman(c,p,x):r.readTiles(c,p,x)}else r.readTiles(c,p,x)}p.eofOffset=p.ptr;var E;u.inputOffset?(E=p.headerInfo.blobSize+u.inputOffset-p.ptr,Math.abs(E)>=1&&(p.eofOffset=u.inputOffset+p.headerInfo.blobSize)):(E=p.headerInfo.blobSize-p.ptr,Math.abs(E)>=1&&(p.eofOffset=p.headerInfo.blobSize));var v={width:g.width,height:g.height,pixelData:p.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:p.pixels.resultMask};if(p.pixels.resultMask&&r.isValidPixelValue(g.imageType,f)){var D=p.pixels.resultMask;for(d=0;d<b;d++)D[d]||(v.pixelData[d]=f);v.noDataValue=f}return p.noDataValue=f,u.returnFileInfo&&(v.fileInfo=r.formatFileInfo(p)),v}},getBandCount:function(c){var u=0,f=0,d={};for(d.ptr=0,d.pixels={};f<c.byteLength-58;)r.readHeaderInfo(c,d),f+=d.headerInfo.blobSize,u++,d.ptr=f;return u}};return a}(),n=function(){var o=new ArrayBuffer(4),r=new Uint8Array(o),s=new Uint32Array(o);return s[0]=1,r[0]===1}(),i={decode:function(o,r){if(!n)throw"Big endian system is not supported.";r=r||{};var s=r.inputOffset||0,a=new Uint8Array(o,s,10),c=String.fromCharCode.apply(null,a),u,f;if(c.trim()==="CntZImage")u=e,f=1;else if(c.substring(0,5)==="Lerc2")u=t,f=2;else throw"Unexpected file identifier string: "+c;for(var d=0,p=o.byteLength-10,g,m=[],x,b,T={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]};s<p;){var A=u.decode(o,{inputOffset:s,encodedMaskData:g,maskData:b,returnMask:d===0,returnEncodedMask:d===0,returnFileInfo:!0,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});s=A.fileInfo.eofOffset,d===0&&(g=A.encodedMaskData,b=A.maskData,T.width=A.width,T.height=A.height,T.dimCount=A.dimCount||1,T.pixelType=A.pixelType||A.fileInfo.pixelType,T.mask=A.maskData),f>1&&A.fileInfo.mask&&A.fileInfo.mask.numBytes>0&&m.push(A.maskData),d++,T.pixels.push(A.pixelData),T.statistics.push({minValue:A.minValue,maxValue:A.maxValue,noDataValue:A.noDataValue,dimStats:A.dimStats})}var C,E,v;if(f>1&&m.length>1){for(v=T.width*T.height,T.bandMasks=m,b=new Uint8Array(v),b.set(m[0]),C=1;C<m.length;C++)for(x=m[C],E=0;E<v;E++)b[E]=b[E]&x[E];T.maskData=b}return T}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof G8<"u"&&G8.exports?G8.exports=i:this.Lerc=i})()});var QAe=Qn((Hk,mQ)=>{/*! NoSleep.min.js v0.12.0 - git.io/vfn01 - Rich Tibbett - MIT license */(function(e,t){typeof Hk=="object"&&typeof mQ=="object"?mQ.exports=t():typeof define=="function"&&define.amd?define([],t):typeof Hk=="object"?Hk.NoSleep=t():e.NoSleep=t()})(Hk,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(i,o,r){n.o(i,o)||Object.defineProperty(i,o,{enumerable:!0,get:r})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,o){if(1&o&&(i=n(i)),8&o||4&o&&typeof i=="object"&&i&&i.__esModule)return i;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:i}),2&o&&typeof i!="string")for(var s in i)n.d(r,s,function(a){return i[a]}.bind(null,s));return r},n.n=function(i){var o=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(o,"a",o),o},n.o=function(i,o){return Object.prototype.hasOwnProperty.call(i,o)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var i=function(){function f(d,p){for(var g=0;g<p.length;g++){var m=p[g];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(d,m.key,m)}}return function(d,p,g){return p&&f(d.prototype,p),g&&f(d,g),d}}(),o=n(1),r=o.webm,s=o.mp4,a=function(){return typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream},c=function(){return"wakeLock"in navigator},u=function(){function f(){var d=this;if(function(g,m){if(!(g instanceof m))throw new TypeError("Cannot call a class as a function")}(this,f),this.enabled=!1,c()){this._wakeLock=null;var p=function(){d._wakeLock!==null&&document.visibilityState==="visible"&&d.enable()};document.addEventListener("visibilitychange",p),document.addEventListener("fullscreenchange",p)}else a()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",r),this._addSourceToVideo(this.noSleepVideo,"mp4",s),this.noSleepVideo.addEventListener("loadedmetadata",function(){d.noSleepVideo.duration<=1?d.noSleepVideo.setAttribute("loop",""):d.noSleepVideo.addEventListener("timeupdate",function(){d.noSleepVideo.currentTime>.5&&(d.noSleepVideo.currentTime=Math.random())})}))}return i(f,[{key:"_addSourceToVideo",value:function(d,p,g){var m=document.createElement("source");m.src=g,m.type="video/"+p,d.appendChild(m)}},{key:"enable",value:function(){var d=this;return c()?navigator.wakeLock.request("screen").then(function(p){d._wakeLock=p,d.enabled=!0,console.log("Wake Lock active."),d._wakeLock.addEventListener("release",function(){console.log("Wake Lock released.")})}).catch(function(p){throw d.enabled=!1,console.error(p.name+", "+p.message),p}):a()?(this.disable(),console.warn(` + */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,u=!0;c<arguments.length;)s[a++]=arguments[c++];return new Promise(function(d,p){s[a]=function(m){if(u)if(u=!1,m)p(m);else{for(var x=new Array(arguments.length-1),b=0;b<x.length;)x[b++]=arguments[b];d.apply(null,x)}};try{o.apply(r||null,s)}catch(g){u&&(u=!1,p(g))}})}},{}],2:[function(e,t,n){"use strict";var i=n;i.length=function(u){var f=u.length;if(!f)return 0;for(var d=0;--f%4>1&&u.charAt(f)==="=";)++d;return Math.ceil(u.length*3)/4-d};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(u,f,d){for(var p=null,g=[],m=0,x=0,b;f<d;){var T=u[f++];switch(x){case 0:g[m++]=o[T>>2],b=(T&3)<<4,x=1;break;case 1:g[m++]=o[b|T>>4],b=(T&15)<<2,x=2;break;case 2:g[m++]=o[b|T>>6],g[m++]=o[T&63],x=0;break}m>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),m=0)}return x&&(g[m++]=o[b],g[m++]=61,x===1&&(g[m++]=61)),p?(m&&p.push(String.fromCharCode.apply(String,g.slice(0,m))),p.join("")):String.fromCharCode.apply(String,g.slice(0,m))};var a="invalid encoding";i.decode=function(u,f,d){for(var p=d,g=0,m,x=0;x<u.length;){var b=u.charCodeAt(x++);if(b===61&&g>1)break;if((b=r[b])===undefined)throw Error(a);switch(g){case 0:m=b,g=1;break;case 1:f[d++]=m<<2|(b&48)>>4,m=b,g=2;break;case 2:f[d++]=(m&15)<<4|(b&60)>>2,m=b,g=3;break;case 3:f[d++]=(m&3)<<6|b,g=0;break}}if(g===1)throw Error(a);return d-p},i.test=function(u){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(u)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c<a.length;)a[c].fn===s?a.splice(c,1):++c;return this},i.prototype.emit=function(r){var s=this._listeners[r];if(s){for(var a=[],c=1;c<arguments.length;)a.push(arguments[c++]);for(c=0;c<s.length;)s[c].fn.apply(s[c++].ctx,a)}return this}},{}],4:[function(e,t,n){"use strict";t.exports=i(i);function i(c){return typeof Float32Array<"u"?function(){var u=new Float32Array([-0]),f=new Uint8Array(u.buffer),d=f[3]===128;function p(b,T,A){u[0]=b,T[A]=f[0],T[A+1]=f[1],T[A+2]=f[2],T[A+3]=f[3]}function g(b,T,A){u[0]=b,T[A]=f[3],T[A+1]=f[2],T[A+2]=f[1],T[A+3]=f[0]}c.writeFloatLE=d?p:g,c.writeFloatBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],u[0]}function x(b,T){return f[3]=b[T],f[2]=b[T+1],f[1]=b[T+2],f[0]=b[T+3],u[0]}c.readFloatLE=d?m:x,c.readFloatBE=d?x:m}():function(){function u(d,p,g,m){var x=p<0?1:0;if(x&&(p=-p),p===0)d(1/p>0?0:2147483648,g,m);else if(isNaN(p))d(2143289344,g,m);else if(p>34028234663852886e22)d((x<<31|2139095040)>>>0,g,m);else if(p<11754943508222875e-54)d((x<<31|Math.round(p/1401298464324817e-60))>>>0,g,m);else{var b=Math.floor(Math.log(p)/Math.LN2),T=Math.round(p*Math.pow(2,-b)*8388608)&8388607;d((x<<31|b+127<<23|T)>>>0,g,m)}}c.writeFloatLE=u.bind(null,o),c.writeFloatBE=u.bind(null,r);function f(d,p,g){var m=d(p,g),x=(m>>31)*2+1,b=m>>>23&255,T=m&8388607;return b===255?T?NaN:x*(1/0):b===0?x*1401298464324817e-60*T:x*Math.pow(2,b-150)*(T+8388608)}c.readFloatLE=f.bind(null,s),c.readFloatBE=f.bind(null,a)}(),typeof Float64Array<"u"?function(){var u=new Float64Array([-0]),f=new Uint8Array(u.buffer),d=f[7]===128;function p(b,T,A){u[0]=b,T[A]=f[0],T[A+1]=f[1],T[A+2]=f[2],T[A+3]=f[3],T[A+4]=f[4],T[A+5]=f[5],T[A+6]=f[6],T[A+7]=f[7]}function g(b,T,A){u[0]=b,T[A]=f[7],T[A+1]=f[6],T[A+2]=f[5],T[A+3]=f[4],T[A+4]=f[3],T[A+5]=f[2],T[A+6]=f[1],T[A+7]=f[0]}c.writeDoubleLE=d?p:g,c.writeDoubleBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],f[4]=b[T+4],f[5]=b[T+5],f[6]=b[T+6],f[7]=b[T+7],u[0]}function x(b,T){return f[7]=b[T],f[6]=b[T+1],f[5]=b[T+2],f[4]=b[T+3],f[3]=b[T+4],f[2]=b[T+5],f[1]=b[T+6],f[0]=b[T+7],u[0]}c.readDoubleLE=d?m:x,c.readDoubleBE=d?x:m}():function(){function u(d,p,g,m,x,b){var T=m<0?1:0;if(T&&(m=-m),m===0)d(0,x,b+p),d(1/m>0?0:2147483648,x,b+g);else if(isNaN(m))d(0,x,b+p),d(2146959360,x,b+g);else if(m>17976931348623157e292)d(0,x,b+p),d((T<<31|2146435072)>>>0,x,b+g);else{var A;if(m<22250738585072014e-324)A=m/5e-324,d(A>>>0,x,b+p),d((T<<31|A/4294967296)>>>0,x,b+g);else{var C=Math.floor(Math.log(m)/Math.LN2);C===1024&&(C=1023),A=m*Math.pow(2,-C),d(A*4503599627370496>>>0,x,b+p),d((T<<31|C+1023<<20|A*1048576&1048575)>>>0,x,b+g)}}}c.writeDoubleLE=u.bind(null,o,0,4),c.writeDoubleBE=u.bind(null,r,4,0);function f(d,p,g,m,x){var b=d(m,x+p),T=d(m,x+g),A=(T>>31)*2+1,C=T>>>20&2047,E=4294967296*(T&1048575)+b;return C===2047?E?NaN:A*(1/0):C===0?A*5e-324*E:A*Math.pow(2,C-1075)*(E+4503599627370496)}c.readDoubleLE=f.bind(null,s,0,4),c.readDoubleBE=f.bind(null,a,4,0)}(),c}function o(c,u,f){u[f]=c&255,u[f+1]=c>>>8&255,u[f+2]=c>>>16&255,u[f+3]=c>>>24}function r(c,u,f){u[f]=c>>>24,u[f+1]=c>>>16&255,u[f+2]=c>>>8&255,u[f+3]=c&255}function s(c,u){return(c[u]|c[u+1]<<8|c[u+2]<<16|c[u+3]<<24)>>>0}function a(c,u){return(c[u]<<24|c[u+1]<<16|c[u+2]<<8|c[u+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,u=null,f=a;return function(p){if(p<1||p>c)return o(p);f+p>a&&(u=o(a),f=0);var g=r.call(u,f,f+=p);return f&7&&(f=(f|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c<r.length;++c)a=r.charCodeAt(c),a<128?s+=1:a<2048?s+=2:(a&64512)===55296&&(r.charCodeAt(c+1)&64512)===56320?(++c,s+=4):s+=3;return s},i.read=function(r,s,a){var c=a-s;if(c<1)return"";for(var u=null,f=[],d=0,p;s<a;)p=r[s++],p<128?f[d++]=p:p>191&&p<224?f[d++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,f[d++]=55296+(p>>10),f[d++]=56320+(p&1023)):f[d++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,d>8191&&((u||(u=[])).push(String.fromCharCode.apply(String,f)),d=0);return u?(d&&u.push(String.fromCharCode.apply(String,f.slice(0,d))),u.join("")):String.fromCharCode.apply(String,f.slice(0,d))},i.write=function(r,s,a){for(var c=a,u,f,d=0;d<r.length;++d)u=r.charCodeAt(d),u<128?s[a++]=u:u<2048?(s[a++]=u>>6|192,s[a++]=u&63|128):(u&64512)===55296&&((f=r.charCodeAt(d+1))&64512)===56320?(u=65536+((u&1023)<<10)+(f&1023),++d,s[a++]=u>>18|240,s[a++]=u>>12&63|128,s[a++]=u>>6&63|128,s[a++]=u&63|128):(s[a++]=u>>12|224,s[a++]=u>>6&63|128,s[a++]=u&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(m,x){return RangeError("index out of range: "+m.pos+" + "+(x||1)+" > "+m.len)}function c(m){this.buf=m,this.pos=0,this.len=m.length}var u=typeof Uint8Array<"u"?function(x){if(x instanceof Uint8Array||Array.isArray(x))return new c(x);throw Error("illegal buffer")}:function(x){if(Array.isArray(x))return new c(x);throw Error("illegal buffer")},f=function(){return i.Buffer?function(b){return(c.create=function(A){return i.Buffer.isBuffer(A)?new o(A):u(A)})(b)}:u};c.create=f(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var x=4294967295;return function(){if(x=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(x=(x|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return x;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return x}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var x=this.uint32();return x>>>1^-(x&1)|0};function d(){var m=new r(0,0),x=0;if(this.len-this.pos>4){for(;x<4;++x)if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m;if(m.lo=(m.lo|(this.buf[this.pos]&127)<<28)>>>0,m.hi=(m.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return m;x=0}else{for(;x<3;++x){if(this.pos>=this.len)throw a(this);if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m}return m.lo=(m.lo|(this.buf[this.pos++]&127)<<x*7)>>>0,m}if(this.len-this.pos>4){for(;x<5;++x)if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}else for(;x<5;++x){if(this.pos>=this.len)throw a(this);if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(m,x){return(m[x-4]|m[x-3]<<8|m[x-2]<<16|m[x-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var x=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,x},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var x=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,x},c.prototype.bytes=function(){var x=this.uint32(),b=this.pos,T=this.pos+x;if(T>this.len)throw a(this,x);if(this.pos+=x,Array.isArray(this.buf))return this.buf.slice(b,T);if(b===T){var A=i.Buffer;return A?A.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,b,T)},c.prototype.string=function(){var x=this.bytes();return s.read(x,0,x.length)},c.prototype.skip=function(x){if(typeof x=="number"){if(this.pos+x>this.len)throw a(this,x);this.pos+=x}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(m){switch(m){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(m=this.uint32()&7)!==4;)this.skipType(m);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+m+" at offset "+this.pos)}return this},c._configure=function(m){o=m,c.create=f(),o._configure();var x=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return d.call(this)[x](!1)},uint64:function(){return d.call(this)[x](!0)},sint64:function(){return d.call(this).zzDecode()[x](!1)},fixed64:function(){return g.call(this)[x](!0)},sfixed64:function(){return g.call(this)[x](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=!!s,this.responseDelimited=!!a}o.prototype.rpcCall=function r(s,a,c,u,f){if(!u)throw TypeError("request must be specified");var d=this;if(!f)return i.asPromise(r,d,s,a,c,u);if(!d.rpcImpl)return setTimeout(function(){f(Error("already ended"))},0),undefined;try{return d.rpcImpl(s,a[d.requestDelimited?"encodeDelimited":"encode"](u).finish(),function(g,m){if(g)return d.emit("error",g,s),f(g);if(m===null)return d.end(!0),undefined;if(!(m instanceof c))try{m=c[d.responseDelimited?"decodeDelimited":"decode"](m)}catch(x){return d.emit("error",x,s),f(x)}return d.emit("data",m,s),f(null,m)})}catch(p){return d.emit("error",p,s),setTimeout(function(){f(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,u){this.lo=c>>>0,this.hi=u>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(u){if(u===0)return r;var f=u<0;f&&(u=-u);var d=u>>>0,p=(u-d)/4294967296>>>0;return f&&(p=~p>>>0,d=~d>>>0,++d>4294967295&&(d=0,++p>4294967295&&(p=0))),new o(d,p)},o.from=function(u){if(typeof u=="number")return o.fromNumber(u);if(i.isString(u))if(i.Long)u=i.Long.fromString(u);else return o.fromNumber(parseInt(u,10));return u.low||u.high?new o(u.low>>>0,u.high>>>0):r},o.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var f=~this.lo+1>>>0,d=~this.hi>>>0;return f||(d=d+1>>>0),-(f+d*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(u){return i.Long?new i.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var a=String.prototype.charCodeAt;o.fromHash=function(u){return u===s?r:new o((a.call(u,0)|a.call(u,1)<<8|a.call(u,2)<<16|a.call(u,3)<<24)>>>0,(a.call(u,4)|a.call(u,5)<<8|a.call(u,6)<<16|a.call(u,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},o.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},o.prototype.length=function(){var u=this.lo,f=(this.lo>>>28|this.hi<<4)>>>0,d=this.hi>>>24;return d===0?f===0?u<16384?u<128?1:2:u<2097152?3:4:f<16384?f<128?5:6:f<2097152?7:8:d<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var u=a[c];return u!=null&&a.hasOwnProperty(c)?typeof u!="object"||(Array.isArray(u)?u.length:Object.keys(u).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var u=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(u.lo,u.hi,c):u.toNumber(!!c)};function o(s,a,c){for(var u=Object.keys(a),f=0;f<u.length;++f)(s[u[f]]===undefined||!c)&&(s[u[f]]=a[u[f]]);return s}i.merge=o,i.lcFirst=function(a){return a.charAt(0).toLowerCase()+a.substring(1)};function r(s){function a(c,u){if(!(this instanceof a))return new a(c,u);Object.defineProperty(this,"message",{get:function(){return c}}),Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:new Error().stack||""}),u&&o(this,u)}return a.prototype=Object.create(Error.prototype,{constructor:{value:a,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return s},set:undefined,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),a}i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(a){for(var c={},u=0;u<a.length;++u)c[a[u]]=1;return function(){for(var f=Object.keys(this),d=f.length-1;d>-1;--d)if(c[f[d]]===1&&this[f[d]]!==undefined&&this[f[d]]!==null)return f[d]}},i.oneOfSetter=function(a){return function(c){for(var u=0;u<a.length;++u)a[u]!==c&&delete this[a[u]]}},i.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},i._configure=function(){var s=i.Buffer;if(!s){i._Buffer_from=i._Buffer_allocUnsafe=null;return}i._Buffer_from=s.from!==Uint8Array.from&&s.from||function(c,u){return new s(c,u)},i._Buffer_allocUnsafe=s.allocUnsafe||function(c){return new s(c)}}},{1:1,14:14,2:2,3:3,4:4,5:5,6:6,7:7}],16:[function(e,t,n){"use strict";t.exports=d;var i=e(15),o,r=i.LongBits,s=i.base64,a=i.utf8;function c(C,E,v){this.fn=C,this.len=E,this.next=undefined,this.val=v}function u(){}function f(C){this.head=C.head,this.tail=C.tail,this.len=C.len,this.next=C.states}function d(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return i.Buffer?function(){return(d.create=function(){return new o})()}:function(){return new d}};d.create=p(),d.alloc=function(E){return new i.Array(E)},i.Array!==Array&&(d.alloc=i.pool(d.alloc,i.Array.prototype.subarray)),d.prototype._push=function(E,v,D){return this.tail=this.tail.next=new c(E,v,D),this.len+=v,this};function g(C,E,v){E[v]=C&255}function m(C,E,v){for(;C>127;)E[v++]=C&127|128,C>>>=7;E[v]=C}function x(C,E){this.len=C,this.next=undefined,this.val=E}x.prototype=Object.create(c.prototype),x.prototype.fn=m,d.prototype.uint32=function(E){return this.len+=(this.tail=this.tail.next=new x((E=E>>>0)<128?1:E<16384?2:E<2097152?3:E<268435456?4:5,E)).len,this},d.prototype.int32=function(E){return E<0?this._push(b,10,r.fromNumber(E)):this.uint32(E)},d.prototype.sint32=function(E){return this.uint32((E<<1^E>>31)>>>0)};function b(C,E,v){for(;C.hi;)E[v++]=C.lo&127|128,C.lo=(C.lo>>>7|C.hi<<25)>>>0,C.hi>>>=7;for(;C.lo>127;)E[v++]=C.lo&127|128,C.lo=C.lo>>>7;E[v++]=C.lo}d.prototype.uint64=function(E){var v=r.from(E);return this._push(b,v.length(),v)},d.prototype.int64=d.prototype.uint64,d.prototype.sint64=function(E){var v=r.from(E).zzEncode();return this._push(b,v.length(),v)},d.prototype.bool=function(E){return this._push(g,1,E?1:0)};function T(C,E,v){E[v]=C&255,E[v+1]=C>>>8&255,E[v+2]=C>>>16&255,E[v+3]=C>>>24}d.prototype.fixed32=function(E){return this._push(T,4,E>>>0)},d.prototype.sfixed32=d.prototype.fixed32,d.prototype.fixed64=function(E){var v=r.from(E);return this._push(T,4,v.lo)._push(T,4,v.hi)},d.prototype.sfixed64=d.prototype.fixed64,d.prototype.float=function(E){return this._push(i.float.writeFloatLE,4,E)},d.prototype.double=function(E){return this._push(i.float.writeDoubleLE,8,E)};var A=i.Array.prototype.set?function(E,v,D){v.set(E,D)}:function(E,v,D){for(var O=0;O<E.length;++O)v[D+O]=E[O]};d.prototype.bytes=function(E){var v=E.length>>>0;if(!v)return this._push(g,1,0);if(i.isString(E)){var D=d.alloc(v=s.length(E));s.decode(E,D,0),E=D}return this.uint32(v)._push(A,v,E)},d.prototype.string=function(E){var v=a.length(E);return v?this.uint32(v)._push(a.write,v,E):this._push(g,1,0)},d.prototype.fork=function(){return this.states=new f(this),this.head=this.tail=new c(u,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},d.prototype.ldelim=function(){var E=this.head,v=this.tail,D=this.len;return this.reset().uint32(D),D&&(this.tail.next=E.next,this.tail=v,this.len+=D),this},d.prototype.finish=function(){for(var E=this.head.next,v=this.constructor.alloc(this.len),D=0;E;)E.fn(E.val,v,D),D+=E.len,E=E.next;return v},d._configure=function(C){o=C,d.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,u,f){u.set(c,f)}:function(c,u,f){if(c.copy)c.copy(u,f,0,c.length);else for(var d=0;d<c.length;)u[f++]=c[d++]}},r.prototype.bytes=function(c){o.isString(c)&&(c=o._Buffer_from(c,"base64"));var u=c.length>>>0;return this.uint32(u),u&&this._push(r.writeBytesBuffer,u,c),this};function s(a,c,u){a.length<40?o.utf8.write(a,c,u):c.utf8Write?c.utf8Write(a,u):c.write(a,u)}r.prototype.string=function(c){var u=o.Buffer.byteLength(c);return this.uint32(u),u&&this._push(s,u,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var FAe=Xn((YVi,VG)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var e=function(){var o={};o.defaultNoDataValue=-34027999387901484e22,o.decode=function(f,d){d=d||{};var p=d.encodedMaskData||d.encodedMaskData===null,g=c(f,d.inputOffset||0,p),m=d.noDataValue!==null?d.noDataValue:o.defaultNoDataValue,x=r(g,d.pixelType||Float32Array,d.encodedMaskData,m,d.returnMask),b={width:g.width,height:g.height,pixelData:x.resultPixels,minValue:x.minValue,maxValue:g.pixels.maxValue,noDataValue:m};return x.resultMask&&(b.maskData=x.resultMask),d.returnEncodedMask&&g.mask&&(b.encodedMaskData=g.mask.bitset?g.mask.bitset:null),d.returnFileInfo&&(b.fileInfo=s(g),d.computeUsedBitDepths&&(b.fileInfo.bitDepths=a(g))),b};var r=function(f,d,p,g,m){var x=0,b=f.pixels.numBlocksX,T=f.pixels.numBlocksY,A=Math.floor(f.width/b),C=Math.floor(f.height/T),E=2*f.maxZError,v=Number.MAX_VALUE,D;p=p||(f.mask?f.mask.bitset:null);var O,R;O=new d(f.width*f.height),m&&p&&(R=new Uint8Array(f.width*f.height));for(var M=new Float32Array(A*C),N,_,S=0;S<=T;S++){var w=S!==T?C:f.height%T;if(w!==0)for(var I=0;I<=b;I++){var L=I!==b?A:f.width%b;if(L!==0){var B=S*f.width*C+I*A,U=f.width-L,V=f.pixels.blocks[x],G,k,W;V.encoding<2?(V.encoding===0?G=V.rawData:(u(V.stuffedData,V.bitsPerPixel,V.numValidPixels,V.offset,E,M,f.pixels.maxValue),G=M),k=0):V.encoding===2?W=0:W=V.offset;var Y;if(p)for(_=0;_<w;_++){for(B&7&&(Y=p[B>>3],Y<<=B&7),N=0;N<L;N++)B&7||(Y=p[B>>3]),Y&128?(R&&(R[B]=1),D=V.encoding<2?G[k++]:W,v=v>D?D:v,O[B++]=D):(R&&(R[B]=0),O[B++]=g),Y<<=1;B+=U}else if(V.encoding<2)for(_=0;_<w;_++){for(N=0;N<L;N++)D=G[k++],v=v>D?D:v,O[B++]=D;B+=U}else for(v=v>W?W:v,_=0;_<w;_++){for(N=0;N<L;N++)O[B++]=W;B+=U}if(V.encoding===1&&k!==V.numValidPixels)throw"Block and Mask do not match";x++}}}return{resultPixels:O,resultMask:R,minValue:v}},s=function(f){return{fileIdentifierString:f.fileIdentifierString,fileVersion:f.fileVersion,imageType:f.imageType,height:f.height,width:f.width,maxZError:f.maxZError,eofOffset:f.eofOffset,mask:f.mask?{numBlocksX:f.mask.numBlocksX,numBlocksY:f.mask.numBlocksY,numBytes:f.mask.numBytes,maxValue:f.mask.maxValue}:null,pixels:{numBlocksX:f.pixels.numBlocksX,numBlocksY:f.pixels.numBlocksY,numBytes:f.pixels.numBytes,maxValue:f.pixels.maxValue,noDataValue:f.noDataValue}}},a=function(f){for(var d=f.pixels.numBlocksX*f.pixels.numBlocksY,p={},g=0;g<d;g++){var m=f.pixels.blocks[g];m.encoding===0?p.float32=!0:m.encoding===1?p[m.bitsPerPixel]=!0:p[0]=!0}return Object.keys(p)},c=function(f,d,p){var g={},m=new Uint8Array(f,d,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,m),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;d+=10;var x=new DataView(f,d,24);if(g.fileVersion=x.getInt32(0,!0),g.imageType=x.getInt32(4,!0),g.height=x.getUint32(8,!0),g.width=x.getUint32(12,!0),g.maxZError=x.getFloat64(16,!0),d+=24,!p)if(x=new DataView(f,d,16),g.mask={},g.mask.numBlocksY=x.getUint32(0,!0),g.mask.numBlocksX=x.getUint32(4,!0),g.mask.numBytes=x.getUint32(8,!0),g.mask.maxValue=x.getFloat32(12,!0),d+=16,g.mask.numBytes>0){var b=new Uint8Array(Math.ceil(g.width*g.height/8));x=new DataView(f,d,g.mask.numBytes);var T=x.getInt16(0,!0),A=2,C=0;do{if(T>0)for(;T--;)b[C++]=x.getUint8(A++);else{var E=x.getUint8(A++);for(T=-T;T--;)b[C++]=E}T=x.getInt16(A,!0),A+=2}while(A<g.mask.numBytes);if(T!==-32768||C<b.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=b,d+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));x=new DataView(f,d,16),g.pixels={},g.pixels.numBlocksY=x.getUint32(0,!0),g.pixels.numBlocksX=x.getUint32(4,!0),g.pixels.numBytes=x.getUint32(8,!0),g.pixels.maxValue=x.getFloat32(12,!0),d+=16;var v=g.pixels.numBlocksX,D=g.pixels.numBlocksY,O=v+(g.width%v>0?1:0),R=D+(g.height%D>0?1:0);g.pixels.blocks=new Array(O*R);for(var M=0,N=0;N<R;N++)for(var _=0;_<O;_++){var S=0,w=f.byteLength-d;x=new DataView(f,d,Math.min(10,w));var I={};g.pixels.blocks[M++]=I;var L=x.getUint8(0);if(S++,I.encoding=L&63,I.encoding>3)throw"Invalid block encoding ("+I.encoding+")";if(I.encoding===2){d++;continue}if(L!==0&&L!==2){if(L>>=6,I.offsetType=L,L===2)I.offset=x.getInt8(1),S++;else if(L===1)I.offset=x.getInt16(1,!0),S+=2;else if(L===0)I.offset=x.getFloat32(1,!0),S+=4;else throw"Invalid block offset type";if(I.encoding===1)if(L=x.getUint8(S),S++,I.bitsPerPixel=L&63,L>>=6,I.numValidPixelsType=L,L===2)I.numValidPixels=x.getUint8(S),S++;else if(L===1)I.numValidPixels=x.getUint16(S,!0),S+=2;else if(L===0)I.numValidPixels=x.getUint32(S,!0),S+=4;else throw"Invalid valid pixel count type"}if(d+=S,I.encoding!==3){var B,U;if(I.encoding===0){var V=(g.pixels.numBytes-1)/4;if(V!==Math.floor(V))throw"uncompressed block has invalid length";B=new ArrayBuffer(V*4),U=new Uint8Array(B),U.set(new Uint8Array(f,d,V*4));var G=new Float32Array(B);I.rawData=G,d+=V*4}else if(I.encoding===1){var k=Math.ceil(I.numValidPixels*I.bitsPerPixel/8),W=Math.ceil(k/4);B=new ArrayBuffer(W*4),U=new Uint8Array(B),U.set(new Uint8Array(f,d,k)),I.stuffedData=new Uint32Array(B),d+=k}}}return g.eofOffset=d,g},u=function(f,d,p,g,m,x,b){var T=(1<<d)-1,A=0,C,E=0,v,D,O=Math.ceil((b-g)/m),R=f.length*4-Math.ceil(d*p/8);for(f[f.length-1]<<=8*R,C=0;C<p;C++){if(E===0&&(D=f[A++],E=32),E>=d)v=D>>>E-d&T,E-=d;else{var M=d-E;v=(D&T)<<M&T,D=f[A++],E=32-M,v+=D>>>E}x[C]=v<O?g+v*m:b}return x};return o}(),t=function(){"use strict";var o={unstuff:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,A,C=0,E,v,D,O,R=c.length*4-Math.ceil(f*d/8);if(c[c.length-1]<<=8*R,p)for(A=0;A<d;A++)C===0&&(v=c[T++],C=32),C>=f?(E=v>>>C-f&b,C-=f):(D=f-C,E=(v&b)<<D&b,v=c[T++],C=32-D,E+=v>>>C),u[A]=p[E];else for(O=Math.ceil((x-g)/m),A=0;A<d;A++)C===0&&(v=c[T++],C=32),C>=f?(E=v>>>C-f&b,C-=f):(D=f-C,E=(v&b)<<D&b,v=c[T++],C=32-D,E+=v>>>C),u[A]=E<O?g+E*m:x},unstuffLUT:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,A=0,C=0,E,v=[],D=c.length*4-Math.ceil(u*f/8);c[c.length-1]<<=8*D;var O=Math.ceil((g-d)/p);for(b=0;b<f;b++)A===0&&(E=c[x++],A=32),A>=u?(C=E>>>A-u&m,A-=u):(T=u-A,C=(E&m)<<T&m,E=c[x++],A=32-T,C+=E>>>A),v[b]=C<O?d+C*p:g;return v.unshift(d),v},unstuff2:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,A,C=0,E=0,v,D,O;if(p)for(A=0;A<d;A++)C===0&&(D=c[T++],C=32,E=0),C>=f?(v=D>>>E&b,C-=f,E+=f):(O=f-C,v=D>>>E&b,D=c[T++],C=32-O,v|=(D&(1<<O)-1)<<f-O,E=O),u[A]=p[v];else{var R=Math.ceil((x-g)/m);for(A=0;A<d;A++)C===0&&(D=c[T++],C=32,E=0),C>=f?(v=D>>>E&b,C-=f,E+=f):(O=f-C,v=D>>>E&b,D=c[T++],C=32-O,v|=(D&(1<<O)-1)<<f-O,E=O),u[A]=v<R?g+v*m:x}return u},unstuffLUT2:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,A=0,C=0,E=0,v,D=[],O=Math.ceil((g-d)/p);for(b=0;b<f;b++)A===0&&(v=c[x++],A=32,E=0),A>=u?(C=v>>>E&m,A-=u,E+=u):(T=u-A,C=v>>>E&m,v=c[x++],A=32-T,C|=(v&(1<<T)-1)<<u-T,E=T),D[b]=C<O?d+C*p:g;return D.unshift(d),D},originalUnstuff:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b,T,A,C=c.length*4-Math.ceil(f*d/8);for(c[c.length-1]<<=8*C,m=0;m<d;m++)x===0&&(T=c[g++],x=32),x>=f?(b=T>>>x-f&p,x-=f):(A=f-x,b=(T&p)<<A&p,T=c[g++],x=32-A,b+=T>>>x),u[m]=b;return u},originalUnstuff2:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b=0,T,A,C;for(m=0;m<d;m++)x===0&&(A=c[g++],x=32,b=0),x>=f?(T=A>>>b&p,x-=f,b+=f):(C=f-x,T=A>>>b&p,A=c[g++],x=32-C,T|=(A&(1<<C)-1)<<f-C,b=C),u[m]=T;return u}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(c){for(var u=65535,f=65535,d=c.length,p=Math.floor(d/2),g=0;p;){var m=p>=359?359:p;p-=m;do u+=c[g++]<<8,f+=u+=c[g++];while(--m);u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16)}return d&1&&(f+=u+=c[g]<<8),u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16),(f<<16|u)>>>0},readHeaderInfo:function(c,u){var f=u.ptr,d=new Uint8Array(c,f,6),p={};if(p.fileIdentifierString=String.fromCharCode.apply(null,d),p.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+p.fileIdentifierString;f+=6;var g=new DataView(c,f,8),m=g.getInt32(0,!0);p.fileVersion=m,f+=4,m>=3&&(p.checksum=g.getUint32(4,!0),f+=4),g=new DataView(c,f,12),p.height=g.getUint32(0,!0),p.width=g.getUint32(4,!0),f+=8,m>=4?(p.numDims=g.getUint32(8,!0),f+=4):p.numDims=1,g=new DataView(c,f,40),p.numValidPixel=g.getUint32(0,!0),p.microBlockSize=g.getInt32(4,!0),p.blobSize=g.getInt32(8,!0),p.imageType=g.getInt32(12,!0),p.maxZError=g.getFloat64(16,!0),p.zMin=g.getFloat64(24,!0),p.zMax=g.getFloat64(32,!0),f+=40,u.headerInfo=p,u.ptr=f;var x,b;if(m>=3&&(b=m>=4?52:48,x=this.computeChecksumFletcher32(new Uint8Array(c,f-b,p.blobSize-14)),x!==p.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(c,u){var f=u.headerInfo,d=this.getDataTypeArray(f.imageType),p=f.numDims*this.getDataTypeSize(f.imageType),g=this.readSubArray(c,u.ptr,d,p),m=this.readSubArray(c,u.ptr+p,d,p);u.ptr+=2*p;var x,b=!0;for(x=0;x<f.numDims;x++)if(g[x]!==m[x]){b=!1;break}return f.minValues=g,f.maxValues=m,b},readSubArray:function(c,u,f,d){var p;if(f===Uint8Array)p=new Uint8Array(c,u,d);else{var g=new ArrayBuffer(d),m=new Uint8Array(g);m.set(new Uint8Array(c,u,d)),p=new f(g)}return p},readMask:function(c,u){var f=u.ptr,d=u.headerInfo,p=d.width*d.height,g=d.numValidPixel,m=new DataView(c,f,4),x={};if(x.numBytes=m.getUint32(0,!0),f+=4,(g===0||p===g)&&x.numBytes!==0)throw"invalid mask";var b,T;if(g===0)b=new Uint8Array(Math.ceil(p/8)),x.bitset=b,T=new Uint8Array(p),u.pixels.resultMask=T,f+=x.numBytes;else if(x.numBytes>0){b=new Uint8Array(Math.ceil(p/8)),m=new DataView(c,f,x.numBytes);var A=m.getInt16(0,!0),C=2,E=0,v=0;do{if(A>0)for(;A--;)b[E++]=m.getUint8(C++);else for(v=m.getUint8(C++),A=-A;A--;)b[E++]=v;A=m.getInt16(C,!0),C+=2}while(C<x.numBytes);if(A!==-32768||E<b.length)throw"Unexpected end of mask RLE encoding";T=new Uint8Array(p);var D=0,O=0;for(O=0;O<p;O++)O&7?(D=b[O>>3],D<<=O&7):D=b[O>>3],D&128&&(T[O]=1);u.pixels.resultMask=T,x.bitset=b,f+=x.numBytes}return u.ptr=f,u.mask=x,!0},readDataOneSweep:function(c,u,f){var d=u.ptr,p=u.headerInfo,g=p.numDims,m=p.width*p.height,x=p.imageType,b=p.numValidPixel*r.getDataTypeSize(x)*g,T,A=u.pixels.resultMask;if(f===Uint8Array)T=new Uint8Array(c,d,b);else{var C=new ArrayBuffer(b),E=new Uint8Array(C);E.set(new Uint8Array(c,d,b)),T=new f(C)}if(T.length===m*g)u.pixels.resultPixels=T;else{u.pixels.resultPixels=new f(m*g);var v=0,D=0,O=0,R=0;if(g>1)for(O=0;O<g;O++)for(R=O*m,D=0;D<m;D++)A[D]&&(u.pixels.resultPixels[R+D]=T[v++]);else for(D=0;D<m;D++)A[D]&&(u.pixels.resultPixels[D]=T[v++])}return d+=b,u.ptr=d,!0},readHuffmanTree:function(c,u){var f=this.HUFFMAN_LUT_BITS_MAX,d=new DataView(c,u.ptr,16);u.ptr+=16;var p=d.getInt32(0,!0);if(p<2)throw"unsupported Huffman version";var g=d.getInt32(4,!0),m=d.getInt32(8,!0),x=d.getInt32(12,!0);if(m>=x)return!1;var b=new Uint32Array(x-m);r.decodeBits(c,u,b);var T=[],A,C,E,v;for(A=m;A<x;A++)C=A-(A<g?0:g),T[C]={first:b[A-m],second:null};var D=c.byteLength-u.ptr,O=Math.ceil(D/4),R=new ArrayBuffer(O*4),M=new Uint8Array(R);M.set(new Uint8Array(c,u.ptr,D));var N=new Uint32Array(R),_=0,S,w=0;for(S=N[0],A=m;A<x;A++)C=A-(A<g?0:g),v=T[C].first,v>0&&(T[C].second=S<<_>>>32-v,32-_>=v?(_+=v,_===32&&(_=0,w++,S=N[w])):(_+=v-32,w++,S=N[w],T[C].second|=S>>>32-_));var I=0,L=0,B=new s;for(A=0;A<T.length;A++)T[A]!==void 0&&(I=Math.max(I,T[A].first));I>=f?L=f:L=I,I>=30&&console.log("WARning, large NUM LUT BITS IS "+I);var U=[],V,G,k,W,Y,Q;for(A=m;A<x;A++)if(C=A-(A<g?0:g),v=T[C].first,v>0)if(V=[v,C],v<=L)for(G=T[C].second<<L-v,k=1<<L-v,E=0;E<k;E++)U[G|E]=V;else for(G=T[C].second,Q=B,W=v-1;W>=0;W--)Y=G>>>W&1,Y?(Q.right||(Q.right=new s),Q=Q.right):(Q.left||(Q.left=new s),Q=Q.left),W===0&&!Q.val&&(Q.val=V[1]);return{decodeLut:U,numBitsLUTQick:L,numBitsLUT:I,tree:B,stuffedData:N,srcPtr:w,bitPos:_}},readHuffman:function(c,u,f){var d=u.headerInfo,p=d.numDims,g=u.headerInfo.height,m=u.headerInfo.width,x=m*g,b=this.readHuffmanTree(c,u),T=b.decodeLut,A=b.tree,C=b.stuffedData,E=b.srcPtr,v=b.bitPos,D=b.numBitsLUTQick,O=b.numBitsLUT,R=u.headerInfo.imageType===0?128:0,M,N,_,S=u.pixels.resultMask,w,I,L,B,U,V,G,k=0;v>0&&(E++,v=0);var W=C[E],Y=u.encodeMode===1,Q=new f(x*p),j=Q,Z;for(Z=0;Z<d.numDims;Z++){if(p>1&&(j=new f(Q.buffer,x*Z,x),k=0),u.headerInfo.numValidPixel===m*g)for(V=0,B=0;B<g;B++)for(U=0;U<m;U++,V++){if(N=0,w=W<<v>>>32-D,I=w,32-v<D&&(w|=C[E+1]>>>64-v-D,I=w),T[I])N=T[I][1],v+=T[I][0];else for(w=W<<v>>>32-O,I=w,32-v<O&&(w|=C[E+1]>>>64-v-O,I=w),M=A,G=0;G<O;G++)if(L=w>>>O-G-1&1,M=L?M.right:M.left,!(M.left||M.right)){N=M.val,v=v+G+1;break}v>=32&&(v-=32,E++,W=C[E]),_=N-R,Y?(U>0?_+=k:B>0?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}else for(V=0,B=0;B<g;B++)for(U=0;U<m;U++,V++)if(S[V]){if(N=0,w=W<<v>>>32-D,I=w,32-v<D&&(w|=C[E+1]>>>64-v-D,I=w),T[I])N=T[I][1],v+=T[I][0];else for(w=W<<v>>>32-O,I=w,32-v<O&&(w|=C[E+1]>>>64-v-O,I=w),M=A,G=0;G<O;G++)if(L=w>>>O-G-1&1,M=L?M.right:M.left,!(M.left||M.right)){N=M.val,v=v+G+1;break}v>=32&&(v-=32,E++,W=C[E]),_=N-R,Y?(U>0&&S[V-1]?_+=k:B>0&&S[V-m]?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}u.ptr=u.ptr+(E+1)*4+(v>0?4:0)}u.pixels.resultPixels=Q},decodeBits:function(c,u,f,d,p){{var g=u.headerInfo,m=g.fileVersion,x=0,b=new DataView(c,u.ptr,5),T=b.getUint8(0);x++;var A=T>>6,C=A===0?4:3-A,E=(T&32)>0,v=T&31,D=0;if(C===1)D=b.getUint8(x),x++;else if(C===2)D=b.getUint16(x,!0),x+=2;else if(C===4)D=b.getUint32(x,!0),x+=4;else throw"Invalid valid pixel count type";var O=2*g.maxZError,R,M,N,_,S,w,I,L,B,U,V=g.numDims>1?g.maxValues[p]:g.zMax;if(E){for(u.counter.lut++,L=b.getUint8(x),B=v,x++,_=Math.ceil((L-1)*v/8),S=Math.ceil(_/4),M=new ArrayBuffer(S*4),N=new Uint8Array(M),u.ptr+=x,N.set(new Uint8Array(c,u.ptr,_)),I=new Uint32Array(M),u.ptr+=_,U=0;L-1>>>U;)U++;_=Math.ceil(D*U/8),S=Math.ceil(_/4),M=new ArrayBuffer(S*4),N=new Uint8Array(M),N.set(new Uint8Array(c,u.ptr,_)),R=new Uint32Array(M),u.ptr+=_,m>=3?w=o.unstuffLUT2(I,v,L-1,d,O,V):w=o.unstuffLUT(I,v,L-1,d,O,V),m>=3?o.unstuff2(R,f,U,D,w):o.unstuff(R,f,U,D,w)}else u.counter.bitstuffer++,U=v,u.ptr+=x,U>0&&(_=Math.ceil(D*U/8),S=Math.ceil(_/4),M=new ArrayBuffer(S*4),N=new Uint8Array(M),N.set(new Uint8Array(c,u.ptr,_)),R=new Uint32Array(M),u.ptr+=_,m>=3?d==null?o.originalUnstuff2(R,f,U,D):o.unstuff2(R,f,U,D,!1,d,O,V):d==null?o.originalUnstuff(R,f,U,D):o.unstuff(R,f,U,D,!1,d,O,V))}},readTiles:function(c,u,f){var d=u.headerInfo,p=d.width,g=d.height,m=d.microBlockSize,x=d.imageType,b=r.getDataTypeSize(x),T=Math.ceil(p/m),A=Math.ceil(g/m);u.pixels.numBlocksY=A,u.pixels.numBlocksX=T,u.pixels.ptr=0;var C=0,E=0,v=0,D=0,O=0,R=0,M=0,N=0,_=0,S=0,w=0,I=0,L=0,B=0,U=0,V=0,G,k,W,Y,Q,j,Z=new f(m*m),J=g%m||m,he=p%m||m,xe,re,_e=d.numDims,ye,De=u.pixels.resultMask,we=u.pixels.resultPixels;for(v=0;v<A;v++)for(O=v!==A-1?m:J,D=0;D<T;D++)for(R=D!==T-1?m:he,w=v*p*m+D*m,I=p-R,ye=0;ye<_e;ye++){if(_e>1&&(we=new f(u.pixels.resultPixels.buffer,p*g*ye*b,p*g)),M=c.byteLength-u.ptr,G=new DataView(c,u.ptr,Math.min(10,M)),k={},V=0,N=G.getUint8(0),V++,_=N>>6&255,S=N>>2&15,S!==(D*m>>3&15))throw"integrity issue";if(j=N&3,j>3)throw u.ptr+=V,"Invalid block encoding ("+j+")";if(j===2){u.counter.constant++,u.ptr+=V;continue}else if(j===0){if(u.counter.uncompressed++,u.ptr+=V,L=O*R*b,B=c.byteLength-u.ptr,L=L<B?L:B,W=new ArrayBuffer(L%b===0?L:L+b-L%b),Y=new Uint8Array(W),Y.set(new Uint8Array(c,u.ptr,L)),Q=new f(W),U=0,De)for(C=0;C<O;C++){for(E=0;E<R;E++)De[w]&&(we[w]=Q[U++]),w++;w+=I}else for(C=0;C<O;C++){for(E=0;E<R;E++)we[w++]=Q[U++];w+=I}u.ptr+=U*b}else if(xe=r.getDataTypeUsed(x,_),re=r.getOnePixel(k,V,xe,G),V+=r.getDataTypeSize(xe),j===3)if(u.ptr+=V,u.counter.constantoffset++,De)for(C=0;C<O;C++){for(E=0;E<R;E++)De[w]&&(we[w]=re),w++;w+=I}else for(C=0;C<O;C++){for(E=0;E<R;E++)we[w++]=re;w+=I}else if(u.ptr+=V,r.decodeBits(c,u,Z,re,ye),V=0,De)for(C=0;C<O;C++){for(E=0;E<R;E++)De[w]&&(we[w]=Z[V++]),w++;w+=I}else for(C=0;C<O;C++){for(E=0;E<R;E++)we[w++]=Z[V++];w+=I}}},formatFileInfo:function(c){return{fileIdentifierString:c.headerInfo.fileIdentifierString,fileVersion:c.headerInfo.fileVersion,imageType:c.headerInfo.imageType,height:c.headerInfo.height,width:c.headerInfo.width,numValidPixel:c.headerInfo.numValidPixel,microBlockSize:c.headerInfo.microBlockSize,blobSize:c.headerInfo.blobSize,maxZError:c.headerInfo.maxZError,pixelType:r.getPixelType(c.headerInfo.imageType),eofOffset:c.eofOffset,mask:c.mask?{numBytes:c.mask.numBytes}:null,pixels:{numBlocksX:c.pixels.numBlocksX,numBlocksY:c.pixels.numBlocksY,maxValue:c.headerInfo.zMax,minValue:c.headerInfo.zMin,noDataValue:c.noDataValue}}},constructConstantSurface:function(c){var u=c.headerInfo.zMax,f=c.headerInfo.numDims,d=c.headerInfo.height*c.headerInfo.width,p=d*f,g=0,m=0,x=0,b=c.pixels.resultMask;if(b)if(f>1)for(g=0;g<f;g++)for(x=g*d,m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[x+m]=u);else for(m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[m]=u);else if(c.pixels.resultPixels.fill)c.pixels.resultPixels.fill(u);else for(m=0;m<p;m++)c.pixels.resultPixels[m]=u},getDataTypeArray:function(c){var u;switch(c){case 0:u=Int8Array;break;case 1:u=Uint8Array;break;case 2:u=Int16Array;break;case 3:u=Uint16Array;break;case 4:u=Int32Array;break;case 5:u=Uint32Array;break;case 6:u=Float32Array;break;case 7:u=Float64Array;break;default:u=Float32Array}return u},getPixelType:function(c){var u;switch(c){case 0:u="S8";break;case 1:u="U8";break;case 2:u="S16";break;case 3:u="U16";break;case 4:u="S32";break;case 5:u="U32";break;case 6:u="F32";break;case 7:u="F64";break;default:u="F32"}return u},isValidPixelValue:function(c,u){if(u==null)return!1;var f;switch(c){case 0:f=u>=-128&&u<=127;break;case 1:f=u>=0&&u<=255;break;case 2:f=u>=-32768&&u<=32767;break;case 3:f=u>=0&&u<=65536;break;case 4:f=u>=-2147483648&&u<=2147483647;break;case 5:f=u>=0&&u<=4294967296;break;case 6:f=u>=-34027999387901484e22&&u<=34027999387901484e22;break;case 7:f=u>=5e-324&&u<=17976931348623157e292;break;default:f=!1}return f},getDataTypeSize:function(c){var u=0;switch(c){case 0:case 1:u=1;break;case 2:case 3:u=2;break;case 4:case 5:case 6:u=4;break;case 7:u=8;break;default:u=c}return u},getDataTypeUsed:function(c,u){var f=c;switch(c){case 2:case 4:f=c-u;break;case 3:case 5:f=c-2*u;break;case 6:u===0?f=c:u===1?f=2:f=1;break;case 7:u===0?f=c:f=c-2*u+1;break;default:f=c;break}return f},getOnePixel:function(c,u,f,d){var p=0;switch(f){case 0:p=d.getInt8(u);break;case 1:p=d.getUint8(u);break;case 2:p=d.getInt16(u,!0);break;case 3:p=d.getUint16(u,!0);break;case 4:p=d.getInt32(u,!0);break;case 5:p=d.getUInt32(u,!0);break;case 6:p=d.getFloat32(u,!0);break;case 7:p=d.getFloat64(u,!0);break;default:throw"the decoder does not understand this pixel type"}return p}},s=function(c,u,f){this.val=c,this.left=u,this.right=f},a={decode:function(c,u){u=u||{};var f=u.noDataValue,d=0,p={};if(p.ptr=u.inputOffset||0,p.pixels={},!!r.readHeaderInfo(c,p)){var g=p.headerInfo,m=g.fileVersion,x=r.getDataTypeArray(g.imageType);r.readMask(c,p),g.numValidPixel!==g.width*g.height&&!p.pixels.resultMask&&(p.pixels.resultMask=u.maskData);var b=g.width*g.height;if(p.pixels.resultPixels=new x(b*g.numDims),p.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},g.numValidPixel!==0)if(g.zMax===g.zMin)r.constructConstantSurface(p);else if(m>=4&&r.checkMinMaxRanges(c,p))r.constructConstantSurface(p);else{var T=new DataView(c,p.ptr,2),A=T.getUint8(0);if(p.ptr++,A)r.readDataOneSweep(c,p,x);else if(m>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var C=T.getUint8(1);if(p.ptr++,p.encodeMode=C,C>2||m<4&&C>1)throw"Invalid Huffman flag "+C;C?r.readHuffman(c,p,x):r.readTiles(c,p,x)}else r.readTiles(c,p,x)}p.eofOffset=p.ptr;var E;u.inputOffset?(E=p.headerInfo.blobSize+u.inputOffset-p.ptr,Math.abs(E)>=1&&(p.eofOffset=u.inputOffset+p.headerInfo.blobSize)):(E=p.headerInfo.blobSize-p.ptr,Math.abs(E)>=1&&(p.eofOffset=p.headerInfo.blobSize));var v={width:g.width,height:g.height,pixelData:p.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:p.pixels.resultMask};if(p.pixels.resultMask&&r.isValidPixelValue(g.imageType,f)){var D=p.pixels.resultMask;for(d=0;d<b;d++)D[d]||(v.pixelData[d]=f);v.noDataValue=f}return p.noDataValue=f,u.returnFileInfo&&(v.fileInfo=r.formatFileInfo(p)),v}},getBandCount:function(c){var u=0,f=0,d={};for(d.ptr=0,d.pixels={};f<c.byteLength-58;)r.readHeaderInfo(c,d),f+=d.headerInfo.blobSize,u++,d.ptr=f;return u}};return a}(),n=function(){var o=new ArrayBuffer(4),r=new Uint8Array(o),s=new Uint32Array(o);return s[0]=1,r[0]===1}(),i={decode:function(o,r){if(!n)throw"Big endian system is not supported.";r=r||{};var s=r.inputOffset||0,a=new Uint8Array(o,s,10),c=String.fromCharCode.apply(null,a),u,f;if(c.trim()==="CntZImage")u=e,f=1;else if(c.substring(0,5)==="Lerc2")u=t,f=2;else throw"Unexpected file identifier string: "+c;for(var d=0,p=o.byteLength-10,g,m=[],x,b,T={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]};s<p;){var A=u.decode(o,{inputOffset:s,encodedMaskData:g,maskData:b,returnMask:d===0,returnEncodedMask:d===0,returnFileInfo:!0,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});s=A.fileInfo.eofOffset,d===0&&(g=A.encodedMaskData,b=A.maskData,T.width=A.width,T.height=A.height,T.dimCount=A.dimCount||1,T.pixelType=A.pixelType||A.fileInfo.pixelType,T.mask=A.maskData),f>1&&A.fileInfo.mask&&A.fileInfo.mask.numBytes>0&&m.push(A.maskData),d++,T.pixels.push(A.pixelData),T.statistics.push({minValue:A.minValue,maxValue:A.maxValue,noDataValue:A.noDataValue,dimStats:A.dimStats})}var C,E,v;if(f>1&&m.length>1){for(v=T.width*T.height,T.bandMasks=m,b=new Uint8Array(v),b.set(m[0]),C=1;C<m.length;C++)for(x=m[C],E=0;E<v;E++)b[E]=b[E]&x[E];T.maskData=b}return T}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof VG<"u"&&VG.exports?VG.exports=i:this.Lerc=i})()});var bEe=Xn(($k,IQ)=>{/*! NoSleep.min.js v0.12.0 - git.io/vfn01 - Rich Tibbett - MIT license */(function(e,t){typeof $k=="object"&&typeof IQ=="object"?IQ.exports=t():typeof define=="function"&&define.amd?define([],t):typeof $k=="object"?$k.NoSleep=t():e.NoSleep=t()})($k,function(){return function(e){var t={};function n(i){if(t[i])return t[i].exports;var o=t[i]={i,l:!1,exports:{}};return e[i].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(i,o,r){n.o(i,o)||Object.defineProperty(i,o,{enumerable:!0,get:r})},n.r=function(i){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(i,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(i,"__esModule",{value:!0})},n.t=function(i,o){if(1&o&&(i=n(i)),8&o||4&o&&typeof i=="object"&&i&&i.__esModule)return i;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:i}),2&o&&typeof i!="string")for(var s in i)n.d(r,s,function(a){return i[a]}.bind(null,s));return r},n.n=function(i){var o=i&&i.__esModule?function(){return i.default}:function(){return i};return n.d(o,"a",o),o},n.o=function(i,o){return Object.prototype.hasOwnProperty.call(i,o)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";var i=function(){function f(d,p){for(var g=0;g<p.length;g++){var m=p[g];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(d,m.key,m)}}return function(d,p,g){return p&&f(d.prototype,p),g&&f(d,g),d}}(),o=n(1),r=o.webm,s=o.mp4,a=function(){return typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream},c=function(){return"wakeLock"in navigator},u=function(){function f(){var d=this;if(function(g,m){if(!(g instanceof m))throw new TypeError("Cannot call a class as a function")}(this,f),this.enabled=!1,c()){this._wakeLock=null;var p=function(){d._wakeLock!==null&&document.visibilityState==="visible"&&d.enable()};document.addEventListener("visibilitychange",p),document.addEventListener("fullscreenchange",p)}else a()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",r),this._addSourceToVideo(this.noSleepVideo,"mp4",s),this.noSleepVideo.addEventListener("loadedmetadata",function(){d.noSleepVideo.duration<=1?d.noSleepVideo.setAttribute("loop",""):d.noSleepVideo.addEventListener("timeupdate",function(){d.noSleepVideo.currentTime>.5&&(d.noSleepVideo.currentTime=Math.random())})}))}return i(f,[{key:"_addSourceToVideo",value:function(d,p,g){var m=document.createElement("source");m.src=g,m.type="video/"+p,d.appendChild(m)}},{key:"enable",value:function(){var d=this;return c()?navigator.wakeLock.request("screen").then(function(p){d._wakeLock=p,d.enabled=!0,console.log("Wake Lock active."),d._wakeLock.addEventListener("release",function(){console.log("Wake Lock released.")})}).catch(function(p){throw d.enabled=!1,console.error(p.name+", "+p.message),p}):a()?(this.disable(),console.warn(` NoSleep enabled for older iOS devices. This can interrupt active or long-running network requests from completing successfully. See https://github.com/richtr/NoSleep.js/issues/15 for more details. `),this.noSleepTimer=window.setInterval(function(){document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(function(p){return d.enabled=!0,p}).catch(function(p){throw d.enabled=!1,p})}},{key:"disable",value:function(){c()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):a()?this.noSleepTimer&&(console.warn(` NoSleep now disabled for older iOS devices. - `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}},{key:"isEnabled",get:function(){return this.enabled}}]),f}();e.exports=u},function(e,t,n){"use strict";e.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}}])})});var mvt={};SQ(mvt,{AlphaMode:()=>um,AlphaPipelineStage:()=>bO,AnchorPointDirect:()=>ER,AnchorPointIndirect:()=>SR,Animation:()=>uk,AnimationViewModel:()=>fk,Appearance:()=>ro,ApproximateTerrainHeights:()=>fi,ArcGISTiledElevationTerrainProvider:()=>m$,ArcGisBaseMapType:()=>Eh,ArcGisMapServerImageryProvider:()=>Q_,ArcGisMapService:()=>ju,ArcType:()=>tn,ArticulationStageType:()=>mc,AssociativeArray:()=>St,Atmosphere:()=>CF,AtmospherePipelineStage:()=>eO,AttributeCompression:()=>Fn,AttributeType:()=>sn,AutoExposure:()=>AF,AutomaticUniforms:()=>hp,Axis:()=>Oo,AxisAlignedBoundingBox:()=>Ug,B3dmLoader:()=>kR,B3dmParser:()=>NR,BaseLayerPicker:()=>rk,BaseLayerPickerViewModel:()=>ok,BatchTable:()=>gx,BatchTableHierarchy:()=>qx,BatchTexture:()=>Yc,BatchTexturePipelineStage:()=>TO,Billboard:()=>ho,BillboardCollection:()=>Su,BillboardGraphics:()=>rc,BillboardVisualizer:()=>aP,BingMapsGeocoderService:()=>_$,BingMapsImageryProvider:()=>SF,BingMapsStyle:()=>US,BlendEquation:()=>La,BlendFunction:()=>Ao,BlendOption:()=>So,BlendingState:()=>hn,BoundingRectangle:()=>We,BoundingSphere:()=>ae,BoundingSphereState:()=>lt,BoundingVolumeSemantics:()=>lb,BoxEmitter:()=>cX,BoxGeometry:()=>Al,BoxGeometryUpdater:()=>S1,BoxGraphics:()=>Px,BoxOutlineGeometry:()=>Sd,BrdfLutGenerator:()=>DF,Buffer:()=>pt,BufferLoader:()=>Qx,BufferUsage:()=>ke,CPUStylingPipelineStage:()=>SO,CallbackPositionProperty:()=>v1,CallbackProperty:()=>Ld,Camera:()=>lo,CameraEventAggregator:()=>$F,CameraEventType:()=>Fi,CameraFlightPath:()=>YF,Cartesian2:()=>z,Cartesian3:()=>h,Cartesian4:()=>oe,Cartographic:()=>fe,CartographicGeocoderService:()=>y$,CatmullRomSpline:()=>x$,Cesium3DContentGroup:()=>jx,Cesium3DTile:()=>zf,Cesium3DTileBatchTable:()=>Up,Cesium3DTileColorBlendMode:()=>Il,Cesium3DTileContent:()=>IX,Cesium3DTileContentFactory:()=>Db,Cesium3DTileContentState:()=>Wo,Cesium3DTileContentType:()=>ws,Cesium3DTileFeature:()=>Ws,Cesium3DTileFeatureTable:()=>Yd,Cesium3DTileOptimizationHint:()=>Nf,Cesium3DTileOptimizations:()=>uL,Cesium3DTilePass:()=>Fo,Cesium3DTilePassState:()=>td,Cesium3DTilePointFeature:()=>d_,Cesium3DTileRefine:()=>Ho,Cesium3DTileStyle:()=>RT,Cesium3DTileStyleEngine:()=>_L,Cesium3DTilesInspector:()=>pk,Cesium3DTilesInspectorViewModel:()=>mk,Cesium3DTilesVoxelProvider:()=>BX,Cesium3DTileset:()=>pa,Cesium3DTilesetBaseTraversal:()=>CL,Cesium3DTilesetCache:()=>hL,Cesium3DTilesetGraphics:()=>Bx,Cesium3DTilesetHeatmap:()=>mL,Cesium3DTilesetMetadata:()=>kb,Cesium3DTilesetMostDetailedTraversal:()=>xL,Cesium3DTilesetSkipTraversal:()=>SL,Cesium3DTilesetStatistics:()=>v_,Cesium3DTilesetTraversal:()=>Zs,Cesium3DTilesetVisualizer:()=>vL,CesiumInspector:()=>yk,CesiumInspectorViewModel:()=>gk,CesiumTerrainProvider:()=>bC,CesiumWidget:()=>q3,Check:()=>bo,CheckerboardMaterialProperty:()=>AE,CircleEmitter:()=>i2,CircleGeometry:()=>b$,CircleOutlineGeometry:()=>T$,ClassificationModelDrawCommand:()=>xM,ClassificationPipelineStage:()=>CO,ClassificationPrimitive:()=>cA,ClassificationType:()=>Hn,ClearCommand:()=>oi,ClippingPlane:()=>ub,ClippingPlaneCollection:()=>ps,ClippingPolygon:()=>BA,ClippingPolygonCollection:()=>Wd,Clock:()=>ah,ClockRange:()=>jr,ClockStep:()=>yo,ClockViewModel:()=>nk,CloudCollection:()=>GX,CloudType:()=>qS,Color:()=>H,ColorBlendMode:()=>hc,ColorGeometryInstanceAttribute:()=>Wt,ColorMaterialProperty:()=>Ut,Command:()=>eQ,ComponentDatatype:()=>X,Composite3DTileContent:()=>L1,CompositeEntityCollection:()=>Jj,CompositeMaterialProperty:()=>SE,CompositePositionProperty:()=>_a,CompositeProperty:()=>xc,CompressedTextureBuffer:()=>_w,ComputeCommand:()=>gd,ComputeEngine:()=>pw,ConditionsExpression:()=>QF,ConeEmitter:()=>XX,ConstantPositionProperty:()=>zc,ConstantProperty:()=>Jn,ConstantSpline:()=>HR,ContentMetadata:()=>tL,Context:()=>eP,ContextLimits:()=>kt,CoplanarPolygonGeometry:()=>aN,CoplanarPolygonGeometryLibrary:()=>b_,CoplanarPolygonOutlineGeometry:()=>Uf,CornerType:()=>Mi,CorrelationGroup:()=>vR,CorridorGeometry:()=>Wb,CorridorGeometryLibrary:()=>ji,CorridorGeometryUpdater:()=>NL,CorridorGraphics:()=>Ox,CorridorOutlineGeometry:()=>LL,Credit:()=>wt,CreditDisplay:()=>b2,CubeMap:()=>Ra,CubeMapFace:()=>yw,CubicRealPolynomial:()=>px,CullFace:()=>bi,CullingVolume:()=>hs,CumulusCloud:()=>Ku,CustomDataSource:()=>kL,CustomHeightmapTerrainProvider:()=>C$,CustomShader:()=>pC,CustomShaderMode:()=>c_,CustomShaderPipelineStage:()=>LO,CustomShaderTranslucencyMode:()=>Ey,CylinderGeometry:()=>VL,CylinderGeometryLibrary:()=>jb,CylinderGeometryUpdater:()=>zL,CylinderGraphics:()=>Mx,CylinderOutlineGeometry:()=>UL,CzmlDataSource:()=>$L,DataSource:()=>Wr,DataSourceClock:()=>ch,DataSourceCollection:()=>QL,DataSourceDisplay:()=>FN,DebugAppearance:()=>cK,DebugCameraPrimitive:()=>Km,DebugInspector:()=>v2,DebugModelMatrixPrimitive:()=>w2,DefaultProxy:()=>A$,DepthFunction:()=>sc,DepthPlane:()=>O2,DequantizationPipelineStage:()=>FO,DerivedCommand:()=>Zm,DeveloperError:()=>de,DeviceOrientationCameraController:()=>M2,DirectionalLight:()=>dK,DiscardEmptyTileImagePolicy:()=>zS,DiscardMissingTileImagePolicy:()=>bF,DistanceDisplayCondition:()=>Ot,DistanceDisplayConditionGeometryInstanceAttribute:()=>zn,DoubleEndedPriorityQueue:()=>OT,DoublyLinkedList:()=>dL,DracoLoader:()=>Yp,DrawCommand:()=>Xe,DynamicAtmosphereLightingType:()=>wT,DynamicGeometryBatch:()=>Jb,DynamicGeometryUpdater:()=>ri,EarthOrientationParameters:()=>sw,EarthOrientationParametersSample:()=>vg,EasingFunction:()=>Yr,EllipseGeometry:()=>il,EllipseGeometryLibrary:()=>Hl,EllipseGeometryUpdater:()=>eN,EllipseGraphics:()=>Lx,EllipseOutlineGeometry:()=>Fu,Ellipsoid:()=>ee,EllipsoidGeodesic:()=>Ip,EllipsoidGeometry:()=>Qs,EllipsoidGeometryUpdater:()=>nN,EllipsoidGraphics:()=>Nx,EllipsoidOutlineGeometry:()=>wu,EllipsoidPrimitive:()=>L2,EllipsoidRhumbLine:()=>Na,EllipsoidSurfaceAppearance:()=>mK,EllipsoidTangentPlane:()=>Zr,EllipsoidTerrainProvider:()=>jT,EllipsoidalOccluder:()=>O_,Empty3DTileContent:()=>uE,EncodedCartesian3:()=>Yn,Entity:()=>Qo,EntityCluster:()=>Pu,EntityCollection:()=>$s,EntityView:()=>kN,Event:()=>me,EventHelper:()=>zr,Expression:()=>Cf,ExpressionNodeType:()=>ht,ExtrapolationType:()=>Ou,FeatureDetection:()=>Gt,FeatureIdPipelineStage:()=>Ay,Fog:()=>B2,ForEach:()=>Ie,FrameRateMonitor:()=>k2,FrameState:()=>V2,Framebuffer:()=>ca,FramebufferManager:()=>_i,FrustumCommands:()=>U2,FrustumGeometry:()=>HT,FrustumOutlineGeometry:()=>E2,Fullscreen:()=>yr,FullscreenButton:()=>bk,FullscreenButtonViewModel:()=>xk,GeoJsonDataSource:()=>rF,GeoJsonLoader:()=>VR,GeocodeType:()=>B0,Geocoder:()=>Ck,GeocoderService:()=>Hv,GeocoderViewModel:()=>Tk,GeographicProjection:()=>Ii,GeographicTilingScheme:()=>Ki,Geometry:()=>ut,Geometry3DTileContent:()=>F1,GeometryAttribute:()=>Ee,GeometryAttributes:()=>mn,GeometryFactory:()=>E$,GeometryInstance:()=>vt,GeometryInstanceAttribute:()=>ac,GeometryOffsetAttribute:()=>un,GeometryPipeline:()=>Gn,GeometryPipelineStage:()=>UO,GeometryType:()=>uf,GeometryUpdater:()=>si,GeometryUpdaterSet:()=>uT,GeometryVisualizer:()=>EN,GetFeatureInfoFormat:()=>VT,Globe:()=>rB,GlobeDepth:()=>sB,GlobeSurfaceShaderSet:()=>j2,GlobeSurfaceTile:()=>sd,GlobeSurfaceTileProvider:()=>K2,GlobeTranslucency:()=>Z2,GlobeTranslucencyFramebuffer:()=>aB,GlobeTranslucencyState:()=>cB,GltfBufferViewLoader:()=>TA,GltfDracoLoader:()=>CA,GltfGpmLoader:()=>DR,GltfGpmLocal:()=>VA,GltfImageLoader:()=>AA,GltfIndexBufferLoader:()=>EA,GltfJsonLoader:()=>vA,GltfLoader:()=>e_,GltfLoaderUtil:()=>Ml,GltfMeshPrimitiveGpmLoader:()=>OR,GltfStructuralMetadataLoader:()=>CR,GltfTextureLoader:()=>wA,GltfVertexBufferLoader:()=>DA,GoogleEarthEnterpriseImageryProvider:()=>UK,GoogleEarthEnterpriseMapsProvider:()=>d2,GoogleEarthEnterpriseMetadata:()=>cg,GoogleEarthEnterpriseTerrainData:()=>Gv,GoogleEarthEnterpriseTerrainProvider:()=>D$,GoogleEarthEnterpriseTileInformation:()=>uB,GoogleMaps:()=>BT,GpxDataSource:()=>lF,GregorianDate:()=>pp,GridImageryProvider:()=>zK,GridMaterialProperty:()=>NE,GroundGeometryUpdater:()=>Xn,GroundPolylineGeometry:()=>vx,GroundPolylinePrimitive:()=>Id,GroundPrimitive:()=>Vc,GroupMetadata:()=>bE,HeadingPitchRange:()=>$f,HeadingPitchRoll:()=>Ia,Heap:()=>nw,HeightReference:()=>je,HeightmapEncoding:()=>id,HeightmapTerrainData:()=>qa,HeightmapTessellator:()=>nv,HermitePolynomialApproximation:()=>HL,HermiteSpline:()=>by,HilbertOrder:()=>gA,HomeButton:()=>Ek,HomeButtonViewModel:()=>Ak,HorizontalOrigin:()=>xi,I3SBuildingSceneLayerExplorer:()=>lQ,I3SBuildingSceneLayerExplorerViewModel:()=>Sk,I3SDataProvider:()=>Fh,I3SDecoder:()=>fB,I3SFeature:()=>dB,I3SField:()=>hB,I3SGeometry:()=>hv,I3SLayer:()=>JT,I3SNode:()=>mv,I3SStatistics:()=>_B,I3SSublayer:()=>yB,I3SSymbology:()=>pB,I3dmLoader:()=>zR,I3dmParser:()=>UR,Iau2000Orientation:()=>CB,Iau2006XysData:()=>aw,Iau2006XysSample:()=>ox,IauOrientationAxes:()=>AB,IauOrientationParameters:()=>TB,ImageBasedLighting:()=>Wx,ImageBasedLightingPipelineStage:()=>nO,ImageMaterialProperty:()=>jg,Imagery:()=>sv,ImageryLayer:()=>Aa,ImageryLayerCollection:()=>$2,ImageryLayerFeatureInfo:()=>Sh,ImageryProvider:()=>al,ImageryState:()=>ei,Implicit3DTileContent:()=>RA,ImplicitAvailabilityBitstream:()=>xA,ImplicitMetadataView:()=>bA,ImplicitSubdivisionScheme:()=>Jr,ImplicitSubtree:()=>ab,ImplicitSubtreeCache:()=>t2,ImplicitSubtreeMetadata:()=>B1,ImplicitTileCoordinates:()=>zb,ImplicitTileset:()=>Ub,IndexDatatype:()=>Fe,InfoBox:()=>wk,InfoBoxViewModel:()=>vk,InspectorShared:()=>Ka,InstanceAttributeSemantic:()=>ts,InstancingPipelineStage:()=>_O,InterpolationAlgorithm:()=>I$,InterpolationType:()=>jd,Intersect:()=>jt,IntersectionTests:()=>ni,Intersections2D:()=>bg,Interval:()=>Ma,InvertClassification:()=>_v,Ion:()=>Bd,IonGeocoderService:()=>K3,IonImageryProvider:()=>ng,IonResource:()=>gu,IonWorldImageryStyle:()=>ig,Iso8601:()=>Ue,JobScheduler:()=>xB,JobType:()=>ka,JsonMetadataTable:()=>Qp,JulianDate:()=>K,KTX2Transcoder:()=>gw,KeyboardEventModifier:()=>ea,KeyframeNode:()=>to,KmlCamera:()=>uF,KmlDataSource:()=>yF,KmlLookAt:()=>fF,KmlTour:()=>dF,KmlTourFlyTo:()=>mF,KmlTourWait:()=>pF,Label:()=>Py,LabelCollection:()=>gm,LabelGraphics:()=>Rd,LabelStyle:()=>Go,LabelVisualizer:()=>SN,LagrangePolynomialApproximation:()=>GL,LeapSecond:()=>Yi,Light:()=>jK,LightingModel:()=>hm,LightingPipelineStage:()=>HO,LinearApproximation:()=>Yb,LinearSpline:()=>xy,ManagedArray:()=>qc,MapMode2D:()=>$l,MapProjection:()=>O$,MapboxImageryProvider:()=>h2,MapboxStyleImageryProvider:()=>qK,Mars3DEx:()=>l_,Material:()=>Xi,MaterialAppearance:()=>uo,MaterialPipelineStage:()=>WO,MaterialProperty:()=>$o,Math:()=>P,Matrix2:()=>Ui,Matrix3:()=>$,Matrix4:()=>F,Megatexture:()=>yv,MeshPrimitiveGpmLocal:()=>RR,MetadataClass:()=>zd,MetadataClassProperty:()=>ey,MetadataComponentType:()=>zt,MetadataEntity:()=>Vn,MetadataEnum:()=>sR,MetadataEnumValue:()=>rR,MetadataPicking:()=>bB,MetadataPickingPipelineStage:()=>Au,MetadataPipelineStage:()=>vf,MetadataSchema:()=>Tu,MetadataSchemaLoader:()=>IA,MetadataSemantic:()=>cb,MetadataTable:()=>Rl,MetadataTableProperty:()=>V1,MetadataType:()=>Et,MipmapHint:()=>Qh,Model:()=>Zd,Model3DTileContent:()=>mm,ModelAlphaOptions:()=>cM,ModelAnimation:()=>qR,ModelAnimationChannel:()=>jR,ModelAnimationCollection:()=>YR,ModelAnimationLoop:()=>Nl,ModelAnimationState:()=>Xd,ModelArticulation:()=>oO,ModelArticulationStage:()=>iO,ModelClippingPlanesPipelineStage:()=>aO,ModelClippingPolygonsPipelineStage:()=>uO,ModelColorPipelineStage:()=>Cy,ModelComponents:()=>Tn,ModelDrawCommand:()=>bM,ModelDrawCommands:()=>AM,ModelFeature:()=>XR,ModelFeatureTable:()=>ZR,ModelGraphics:()=>Lp,ModelLightingOptions:()=>_M,ModelMatrixUpdateStage:()=>gO,ModelNode:()=>fO,ModelRenderResources:()=>lM,ModelRuntimeNode:()=>xO,ModelRuntimePrimitive:()=>sM,ModelSceneGraph:()=>EM,ModelSilhouettePipelineStage:()=>dM,ModelSkin:()=>aM,ModelSplitterPipelineStage:()=>mM,ModelStatistics:()=>SM,ModelType:()=>lr,ModelUtility:()=>Xt,ModelVisualizer:()=>vN,Moon:()=>SB,MorphTargetsPipelineStage:()=>qO,MorphWeightSpline:()=>M$,MortonOrder:()=>Fy,Multiple3DTileContent:()=>oL,MultisampleFramebuffer:()=>tP,NavigationHelpButton:()=>Rk,NavigationHelpButtonViewModel:()=>Pk,NearFarScalar:()=>Bt,NeverTileDiscardPolicy:()=>KK,NodeRenderResources:()=>pM,NodeStatisticsPipelineStage:()=>yO,NodeTransformationProperty:()=>Fx,OIT:()=>wB,Occluder:()=>u3,OffsetGeometryInstanceAttribute:()=>Ji,OpenCageGeocoderService:()=>N$,OpenStreetMapImageryProvider:()=>fg,OrderedGroundPrimitiveCollection:()=>JL,OrientedBoundingBox:()=>In,OrthographicFrustum:()=>cn,OrthographicOffCenterFrustum:()=>Lr,Packable:()=>F$,PackableForInterpolation:()=>B$,Particle:()=>bv,ParticleBurst:()=>eZ,ParticleEmitter:()=>tZ,ParticleSystem:()=>nZ,Pass:()=>Se,PassState:()=>oc,PathGraphics:()=>Np,PathVisualizer:()=>DN,PeliasGeocoderService:()=>X3,PerInstanceColorAppearance:()=>fn,PerformanceDisplay:()=>dg,PerformanceWatchdog:()=>Ik,PerformanceWatchdogViewModel:()=>Dk,PerspectiveFrustum:()=>Di,PerspectiveOffCenterFrustum:()=>cl,PickDepth:()=>IB,PickDepthFramebuffer:()=>RB,PickFramebuffer:()=>LB,PickedMetadataInfo:()=>OB,Picking:()=>VB,PickingPipelineStage:()=>YO,PinBuilder:()=>Z_,PixelDatatype:()=>Je,PixelFormat:()=>ot,Plane:()=>ln,PlaneGeometry:()=>iN,PlaneGeometryUpdater:()=>rN,PlaneGraphics:()=>y1,PlaneOutlineGeometry:()=>oN,PntsLoader:()=>wM,PntsParser:()=>Cb,PointCloud:()=>zB,PointCloudEyeDomeLighting:()=>t_,PointCloudShading:()=>dm,PointCloudStylingPipelineStage:()=>KO,PointGraphics:()=>kx,PointPrimitive:()=>Is,PointPrimitiveCollection:()=>PE,PointVisualizer:()=>PN,PolygonGeometry:()=>$p,PolygonGeometryLibrary:()=>jn,PolygonGeometryUpdater:()=>lN,PolygonGraphics:()=>Od,PolygonHierarchy:()=>Fa,PolygonOutlineGeometry:()=>cN,PolygonPipeline:()=>li,Polyline:()=>Of,PolylineArrowMaterialProperty:()=>BE,PolylineCollection:()=>Qd,PolylineColorAppearance:()=>$r,PolylineDashMaterialProperty:()=>VE,PolylineGeometry:()=>j_,PolylineGeometryUpdater:()=>MN,PolylineGlowMaterialProperty:()=>zE,PolylineGraphics:()=>cc,PolylineMaterialAppearance:()=>fa,PolylineOutlineMaterialProperty:()=>Wy,PolylinePipeline:()=>Oi,PolylineVisualizer:()=>NN,PolylineVolumeGeometry:()=>dN,PolylineVolumeGeometryLibrary:()=>ih,PolylineVolumeGeometryUpdater:()=>_N,PolylineVolumeGraphics:()=>Vx,PolylineVolumeOutlineGeometry:()=>pN,PositionProperty:()=>Pd,PositionPropertyArray:()=>F_,PostProcessStage:()=>_o,PostProcessStageCollection:()=>l3,PostProcessStageComposite:()=>dl,PostProcessStageLibrary:()=>tf,PostProcessStageSampleMode:()=>ef,PostProcessStageTextureCache:()=>cC,PpeMetadata:()=>PR,PpeSource:()=>Z$,PpeTexture:()=>IR,Primitive:()=>Pn,PrimitiveCollection:()=>zl,PrimitiveLoadPlan:()=>_b,PrimitiveOutlineGenerator:()=>pb,PrimitiveOutlinePipelineStage:()=>QO,PrimitivePipeline:()=>Ax,PrimitiveRenderResources:()=>gM,PrimitiveState:()=>Ar,PrimitiveStatisticsPipelineStage:()=>JO,PrimitiveType:()=>Ne,ProjectionPicker:()=>Nk,ProjectionPickerViewModel:()=>Lk,Property:()=>q,PropertyArray:()=>GE,PropertyAttribute:()=>mb,PropertyAttributeProperty:()=>yR,PropertyBag:()=>wl,PropertyTable:()=>Kc,PropertyTexture:()=>Jp,PropertyTextureProperty:()=>gR,ProviderViewModel:()=>ss,Proxy:()=>V$,QuadraticRealPolynomial:()=>Bc,QuadtreeOccluders:()=>Q2,QuadtreePrimitive:()=>oB,QuadtreeTile:()=>J2,QuadtreeTileLoadState:()=>ia,QuadtreeTileProvider:()=>bZ,QuantizedMeshTerrainData:()=>yC,QuarticRealPolynomial:()=>HP,Quaternion:()=>Le,QuaternionSpline:()=>WR,Queue:()=>dy,Ray:()=>gn,Rectangle:()=>se,RectangleCollisionChecker:()=>dT,RectangleGeometry:()=>oT,RectangleGeometryLibrary:()=>Ds,RectangleGeometryUpdater:()=>gN,RectangleGraphics:()=>Md,RectangleOutlineGeometry:()=>Rb,ReferenceFrame:()=>Hi,ReferenceProperty:()=>B_,RenderState:()=>Ve,Renderbuffer:()=>lu,RenderbufferFormat:()=>Lc,Request:()=>Xo,RequestErrorEvent:()=>qh,RequestScheduler:()=>ec,RequestState:()=>ti,RequestType:()=>us,Resource:()=>we,ResourceCache:()=>Si,ResourceCacheKey:()=>Ll,ResourceCacheStatistics:()=>lR,ResourceLoader:()=>Zi,ResourceLoaderState:()=>mt,Rotation:()=>jf,RuntimeError:()=>ce,S2Cell:()=>Gp,SDFSettings:()=>Xs,SampledPositionProperty:()=>ya,SampledProperty:()=>Lu,Sampler:()=>en,ScaledPositionProperty:()=>Dm,Scene:()=>S3,SceneFramebuffer:()=>tC,SceneMode:()=>ne,SceneMode2DPipelineStage:()=>eM,SceneModePicker:()=>Mk,SceneModePickerViewModel:()=>Ok,SceneTransforms:()=>Gi,SceneTransitioner:()=>d3,ScreenSpaceCameraController:()=>p3,ScreenSpaceEventHandler:()=>Yu,ScreenSpaceEventType:()=>Cn,SelectedFeatureIdPipelineStage:()=>Sy,SelectionIndicator:()=>kk,SelectionIndicatorViewModel:()=>Bk,SensorVolumePortionToDisplay:()=>YE,ShaderBuilder:()=>ux,ShaderCache:()=>KI,ShaderDestination:()=>pe,ShaderFunction:()=>rP,ShaderProgram:()=>an,ShaderSource:()=>ze,ShaderStruct:()=>oP,ShadowMap:()=>mg,ShadowMapShader:()=>np,ShadowMode:()=>bn,ShadowVolumeAppearance:()=>hu,ShowGeometryInstanceAttribute:()=>xn,Simon1994PlanetaryPositions:()=>Fg,SimplePolylineGeometry:()=>U$,SingleTileImageryProvider:()=>m2,SkinningPipelineStage:()=>nM,SkyAtmosphere:()=>D3,SkyBox:()=>R3,SpatialNode:()=>T3,Spdcf:()=>wR,SpecularEnvironmentCubeMap:()=>Fd,SphereEmitter:()=>KZ,SphereGeometry:()=>z$,SphereOutlineGeometry:()=>C_,Spherical:()=>WL,Spline:()=>ao,SplitDirection:()=>Nr,Splitter:()=>Av,StaticGeometryColorBatch:()=>Xf,StaticGeometryPerMaterialBatch:()=>Kf,StaticGroundGeometryColorBatch:()=>fS,StaticGroundGeometryPerMaterialBatch:()=>AN,StaticGroundPolylinePerMaterialBatch:()=>LN,StaticOutlineGeometryBatch:()=>mS,StencilConstants:()=>Vt,StencilFunction:()=>Wn,StencilOperation:()=>dt,SteppedSpline:()=>GR,Stereographic:()=>dc,StorageType:()=>py,StripeMaterialProperty:()=>jE,StripeOrientation:()=>uh,StructuralMetadata:()=>qs,StyleCommandsNeeded:()=>Kd,StyleExpression:()=>ZZ,Sun:()=>k3,SunLight:()=>Ap,SunPostProcess:()=>y3,SupportedImageFormats:()=>AR,SvgPathBindingHandler:()=>ek,TaskProcessor:()=>yi,Terrain:()=>H3,TerrainData:()=>Oh,TerrainEncoding:()=>Dc,TerrainFillMesh:()=>uv,TerrainMesh:()=>rd,TerrainOffsetProperty:()=>Ux,TerrainProvider:()=>rs,TerrainQuantization:()=>na,TerrainState:()=>po,Texture:()=>Mt,TextureAtlas:()=>Iy,TextureCache:()=>ZI,TextureMagnificationFilter:()=>mi,TextureManager:()=>A3,TextureMinificationFilter:()=>Jt,TextureUniform:()=>Y$,TextureWrap:()=>En,TileAvailability:()=>kh,TileBoundingRegion:()=>Vf,TileBoundingS2Cell:()=>cL,TileBoundingSphere:()=>A_,TileBoundingVolume:()=>i$,TileCoordinatesImageryProvider:()=>W3,TileDiscardPolicy:()=>r$,TileEdge:()=>yn,TileImagery:()=>av,TileMapServiceImageryProvider:()=>C0,TileMetadata:()=>nL,TileOrientedBoundingBox:()=>Du,TileProviderError:()=>Do,TileReplacementQueue:()=>eB,TileSelectionResult:()=>$n,TileState:()=>s$,Tileset3DTileContent:()=>PM,TilesetMetadata:()=>lL,TilesetPipelineStage:()=>$R,TilingScheme:()=>H$,TimeConstants:()=>Zn,TimeDynamicImagery:()=>UT,TimeDynamicPointCloud:()=>kv,TimeInterval:()=>Sn,TimeIntervalCollection:()=>Gr,TimeIntervalCollectionPositionProperty:()=>k_,TimeIntervalCollectionProperty:()=>V_,TimeStandard:()=>Kn,Timeline:()=>zk,TimelineHighlightRange:()=>Vk,TimelineTrack:()=>Uk,Tipsify:()=>YP,ToggleButtonViewModel:()=>H0,Tonemapper:()=>_g,Transforms:()=>Lt,TranslationRotationScale:()=>qg,TranslucentTileClassification:()=>FB,TridiagonalSystemSolver:()=>qA,TrustedServers:()=>GC,TweenCollection:()=>fC,UniformState:()=>JI,UniformType:()=>vv,UrlTemplateImageryProvider:()=>ja,VERSION:()=>hvt,VRButton:()=>Wk,VRButtonViewModel:()=>Gk,VRTheWorldTerrainProvider:()=>W$,VaryingType:()=>X$,Vector3DTileBatch:()=>sm,Vector3DTileClampedPolylines:()=>QM,Vector3DTileContent:()=>eL,Vector3DTileGeometry:()=>Hp,Vector3DTilePoints:()=>jM,Vector3DTilePolygons:()=>qM,Vector3DTilePolylines:()=>wb,Vector3DTilePrimitive:()=>Kx,VelocityOrientationProperty:()=>qL,VelocityVectorProperty:()=>$b,VertexArray:()=>pi,VertexArrayFacade:()=>Sp,VertexAttributeSemantic:()=>At,VertexFormat:()=>Pe,VerticalExaggeration:()=>Cr,VerticalExaggerationPipelineStage:()=>oM,VerticalOrigin:()=>Mn,VideoSynchronizer:()=>G$,View:()=>oC,Viewer:()=>_Q,ViewportQuad:()=>l$,Visibility:()=>pr,Visualizer:()=>iX,VoxelBoxShape:()=>qm,VoxelCell:()=>x3,VoxelContent:()=>n2,VoxelCylinderShape:()=>Ym,VoxelEllipsoidShape:()=>MT,VoxelInspector:()=>Yk,VoxelInspectorViewModel:()=>qk,VoxelPrimitive:()=>O0,VoxelProvider:()=>f$,VoxelRenderResources:()=>GF,VoxelShape:()=>d$,VoxelShapeType:()=>Bi,VoxelTraversal:()=>Sv,VulkanConstants:()=>j$,WallGeometry:()=>xN,WallGeometryLibrary:()=>rT,WallGeometryUpdater:()=>CN,WallGraphics:()=>Fp,WallOutlineGeometry:()=>TN,WebGLConstants:()=>te,WebMapServiceImageryProvider:()=>_2,WebMapTileServiceImageryProvider:()=>y2,WebMercatorProjection:()=>Pi,WebMercatorTilingScheme:()=>is,WindingOrder:()=>ds,WireframeIndexGenerator:()=>tE,WireframePipelineStage:()=>rM,_shadersAcesTonemappingStage:()=>HB,_shadersAdditiveBlend:()=>_3,_shadersAdjustTranslucentFS:()=>xv,_shadersAllMaterialAppearanceFS:()=>uP,_shadersAllMaterialAppearanceVS:()=>fP,_shadersAmbientOcclusionGenerate:()=>GB,_shadersAmbientOcclusionModulate:()=>WB,_shadersAspectRampMaterial:()=>_P,_shadersAtmosphereCommon:()=>sg,_shadersAtmosphereStageFS:()=>QR,_shadersAtmosphereStageVS:()=>JR,_shadersBasicMaterialAppearanceFS:()=>dP,_shadersBasicMaterialAppearanceVS:()=>hP,_shadersBillboardCollectionFS:()=>RM,_shadersBillboardCollectionVS:()=>OM,_shadersBlackAndWhite:()=>jB,_shadersBloomComposite:()=>qB,_shadersBrdfLutGeneratorFS:()=>vF,_shadersBrightPass:()=>g3,_shadersBrightness:()=>YB,_shadersBumpMapMaterial:()=>gP,_shadersCPUStylingStageFS:()=>EO,_shadersCPUStylingStageVS:()=>AO,_shadersCheckerboardMaterial:()=>yP,_shadersCloudCollectionFS:()=>o2,_shadersCloudCollectionVS:()=>r2,_shadersCloudNoiseFS:()=>s2,_shadersCloudNoiseVS:()=>a2,_shadersCompareAndPackTranslucentDepth:()=>NB,_shadersCompositeOITFS:()=>vB,_shadersCompositeTranslucentClassification:()=>iC,_shadersContrastBias:()=>XB,_shadersCustomShaderStageFS:()=>wO,_shadersCustomShaderStageVS:()=>vO,_shadersCzmBuiltins:()=>ax,_shadersDepthOfField:()=>KB,_shadersDepthPlaneFS:()=>D2,_shadersDepthPlaneVS:()=>I2,_shadersDepthView:()=>ZB,_shadersDepthViewPacked:()=>K$,_shadersDotMaterial:()=>xP,_shadersEdgeDetection:()=>$B,_shadersElevationBandMaterial:()=>bP,_shadersElevationContourMaterial:()=>TP,_shadersElevationRampMaterial:()=>CP,_shadersEllipsoidFS:()=>ev,_shadersEllipsoidSurfaceAppearanceFS:()=>N2,_shadersEllipsoidSurfaceAppearanceVS:()=>F2,_shadersEllipsoidVS:()=>tv,_shadersFXAA:()=>e3,_shadersFXAA3_11:()=>s3,_shadersFadeMaterial:()=>AP,_shadersFeatureIdStageFS:()=>DO,_shadersFeatureIdStageVS:()=>IO,_shadersFilmicTonemapping:()=>QB,_shadersGaussianBlur1D:()=>R0,_shadersGeometryStageFS:()=>BO,_shadersGeometryStageVS:()=>kO,_shadersGlobeFS:()=>G2,_shadersGlobeVS:()=>W2,_shadersGridMaterial:()=>EP,_shadersGroundAtmosphere:()=>ov,_shadersHSBToRGB:()=>XD,_shadersHSLToRGB:()=>KD,_shadersImageBasedLightingStageFS:()=>tO,_shadersInstancingStageCommon:()=>dO,_shadersInstancingStageVS:()=>hO,_shadersIntersectBox:()=>NF,_shadersIntersectClippingPlanes:()=>LF,_shadersIntersectCylinder:()=>FF,_shadersIntersectDepth:()=>MF,_shadersIntersectEllipsoid:()=>BF,_shadersIntersectLongitude:()=>HS,_shadersIntersection:()=>IT,_shadersIntersectionUtils:()=>OF,_shadersLegacyInstancingStageVS:()=>mO,_shadersLensFlare:()=>t3,_shadersLightingStageFS:()=>zO,_shadersMaterialStageFS:()=>GO,_shadersMegatexture:()=>HF,_shadersMetadataStageFS:()=>PO,_shadersMetadataStageVS:()=>RO,_shadersModelClippingPlanesStageFS:()=>sO,_shadersModelClippingPolygonsStageFS:()=>lO,_shadersModelClippingPolygonsStageVS:()=>cO,_shadersModelColorStageFS:()=>rO,_shadersModelFS:()=>CM,_shadersModelSilhouetteStageFS:()=>uM,_shadersModelSilhouetteStageVS:()=>fM,_shadersModelSplitterStageFS:()=>hM,_shadersModelVS:()=>TM,_shadersModifiedReinhardTonemapping:()=>n3,_shadersMorphTargetsStageVS:()=>jO,_shadersNightVision:()=>i3,_shadersNormalMapMaterial:()=>SP,_shadersOctree:()=>zF,_shadersPassThrough:()=>nu,_shadersPassThroughDepth:()=>v0,_shadersPbrNeutralTonemapping:()=>JB,_shadersPerInstanceColorAppearanceFS:()=>FP,_shadersPerInstanceColorAppearanceVS:()=>BP,_shadersPerInstanceFlatColorAppearanceFS:()=>mx,_shadersPerInstanceFlatColorAppearanceVS:()=>kP,_shadersPointCloudEyeDomeLighting:()=>MR,_shadersPointCloudStylingStageVS:()=>XO,_shadersPointPrimitiveCollectionFS:()=>Gy,_shadersPointPrimitiveCollectionVS:()=>FL,_shadersPolygonSignedDistanceFS:()=>hR,_shadersPolylineArrowMaterial:()=>vP,_shadersPolylineColorAppearanceVS:()=>r1,_shadersPolylineCommon:()=>mu,_shadersPolylineDashMaterial:()=>wP,_shadersPolylineFS:()=>Dx,_shadersPolylineGlowMaterial:()=>DP,_shadersPolylineMaterialAppearanceVS:()=>s1,_shadersPolylineOutlineMaterial:()=>IP,_shadersPolylineShadowVolumeFS:()=>t1,_shadersPolylineShadowVolumeMorphFS:()=>n1,_shadersPolylineShadowVolumeMorphVS:()=>i1,_shadersPolylineShadowVolumeVS:()=>o1,_shadersPolylineVS:()=>VM,_shadersPrimitiveOutlineStageFS:()=>$O,_shadersPrimitiveOutlineStageVS:()=>ZO,_shadersRGBToHSB:()=>TI,_shadersRGBToHSL:()=>CI,_shadersRGBToXYZ:()=>AI,_shadersReinhardTonemapping:()=>o3,_shadersReprojectWebMercatorFS:()=>q2,_shadersReprojectWebMercatorVS:()=>Y2,_shadersRimLightingMaterial:()=>PP,_shadersSelectedFeatureIdStageCommon:()=>eE,_shadersShadowVolumeAppearanceFS:()=>sA,_shadersShadowVolumeAppearanceVS:()=>GP,_shadersShadowVolumeFS:()=>zg,_shadersSilhouette:()=>r3,_shadersSkinningStageVS:()=>tM,_shadersSkyAtmosphereCommon:()=>Dv,_shadersSkyAtmosphereFS:()=>v3,_shadersSkyAtmosphereVS:()=>w3,_shadersSkyBoxFS:()=>I3,_shadersSkyBoxVS:()=>P3,_shadersSlopeRampMaterial:()=>RP,_shadersStripeMaterial:()=>OP,_shadersSunFS:()=>M3,_shadersSunTextureFS:()=>L3,_shadersSunVS:()=>N3,_shadersTexturedMaterialAppearanceFS:()=>mP,_shadersTexturedMaterialAppearanceVS:()=>pP,_shadersVector3DTileClampedPolylinesFS:()=>ZM,_shadersVector3DTileClampedPolylinesVS:()=>KM,_shadersVector3DTilePolylinesVS:()=>YM,_shadersVectorTileVS:()=>_A,_shadersVerticalExaggerationStageVS:()=>iM,_shadersViewportQuadFS:()=>j3,_shadersViewportQuadVS:()=>rx,_shadersVoxelFS:()=>PF,_shadersVoxelUtils:()=>IF,_shadersVoxelVS:()=>RF,_shadersWater:()=>LP,_shadersWaterMaskMaterial:()=>MP,_shadersXYZToRGB:()=>YI,_shadersacesTonemapping:()=>dD,_shadersalphaWeight:()=>hD,_shadersantialias:()=>mD,_shadersapplyHSBShift:()=>pD,_shadersapproximateSphericalCoordinates:()=>_D,_shadersapproximateTanh:()=>gD,_shadersbackFacing:()=>yD,_shadersbranchFreeTernary:()=>xD,_shaderscascadeColor:()=>bD,_shaderscascadeDistance:()=>TD,_shaderscascadeMatrix:()=>CD,_shaderscascadeWeights:()=>AD,_shadersclipPolygons:()=>ED,_shaderscolumbusViewMorph:()=>SD,_shaderscomputeAtmosphereColor:()=>vD,_shaderscomputeGroundAtmosphereScattering:()=>wD,_shaderscomputePosition:()=>DD,_shaderscomputeScattering:()=>ID,_shadersconvertUvToBox:()=>kF,_shadersconvertUvToCylinder:()=>VF,_shadersconvertUvToEllipsoid:()=>UF,_shaderscosineAndSine:()=>PD,_shadersdecompressTextureCoordinates:()=>RD,_shadersdegreesPerRadian:()=>bw,_shadersdepthClamp:()=>OD,_shadersdepthRange:()=>Tw,_shadersdepthRangeStruct:()=>oD,_shaderseastNorthUpToEyeCoordinates:()=>MD,_shadersellipsoidContainsPoint:()=>LD,_shadersellipsoidTextureCoordinates:()=>ND,_shadersepsilon1:()=>Cw,_shadersepsilon2:()=>Aw,_shadersepsilon3:()=>Ew,_shadersepsilon4:()=>Sw,_shadersepsilon5:()=>vw,_shadersepsilon6:()=>ww,_shadersepsilon7:()=>Dw,_shadersequalsEpsilon:()=>FD,_shaderseyeOffset:()=>BD,_shaderseyeToWindowCoordinates:()=>kD,_shadersfastApproximateAtan:()=>VD,_shadersfog:()=>UD,_shadersgammaCorrect:()=>zD,_shadersgeodeticSurfaceNormal:()=>HD,_shadersgetDefaultMaterial:()=>GD,_shadersgetDynamicAtmosphereLightDirection:()=>WD,_shadersgetLambertDiffuse:()=>jD,_shadersgetSpecular:()=>qD,_shadersgetWaterNoise:()=>YD,_shadershue:()=>ZD,_shadersinfinity:()=>Iw,_shadersinverseGamma:()=>$D,_shadersisEmpty:()=>QD,_shadersisFull:()=>JD,_shaderslatitudeToWebMercatorFraction:()=>eI,_shaderslineDistance:()=>nI,_shaderslinearToSrgb:()=>tI,_shadersluminance:()=>iI,_shadersmaterial:()=>rD,_shadersmaterialInput:()=>sD,_shadersmaximumComponent:()=>oI,_shadersmetersPerPixel:()=>rI,_shadersmodelMaterial:()=>aD,_shadersmodelToWindowCoordinates:()=>sI,_shadersmodelVertexOutput:()=>cD,_shadersmultiplyWithColorBalance:()=>aI,_shadersnearFarScalar:()=>cI,_shadersoctDecode:()=>lI,_shadersoneOverPi:()=>Pw,_shadersoneOverTwoPi:()=>Rw,_shaderspackDepth:()=>uI,_shaderspassCesium3DTile:()=>Ow,_shaderspassCesium3DTileClassification:()=>Mw,_shaderspassCesium3DTileClassificationIgnoreShow:()=>Lw,_shaderspassClassification:()=>Nw,_shaderspassCompute:()=>Fw,_shaderspassEnvironment:()=>Bw,_shaderspassGlobe:()=>kw,_shaderspassOpaque:()=>Vw,_shaderspassOverlay:()=>Uw,_shaderspassTerrainClassification:()=>zw,_shaderspassTranslucent:()=>Hw,_shaderspassVoxels:()=>Gw,_shaderspbrLighting:()=>fI,_shaderspbrNeutralTonemapping:()=>dI,_shadersphong:()=>hI,_shaderspi:()=>Ww,_shaderspiOverFour:()=>jw,_shaderspiOverSix:()=>qw,_shaderspiOverThree:()=>Yw,_shaderspiOverTwo:()=>Xw,_shadersplaneDistance:()=>mI,_shaderspointAlongRay:()=>pI,_shadersradiansPerDegree:()=>Kw,_shadersray:()=>lD,_shadersrayEllipsoidIntersectionInterval:()=>_I,_shadersraySegment:()=>uD,_shadersraySphereIntersectionInterval:()=>gI,_shadersreadDepth:()=>yI,_shadersreadNonPerspective:()=>xI,_shadersreverseLogDepth:()=>bI,_shadersround:()=>EI,_shaderssaturation:()=>SI,_shaderssceneMode2D:()=>Zw,_shaderssceneMode3D:()=>$w,_shaderssceneModeColumbusView:()=>Qw,_shaderssceneModeMorphing:()=>Jw,_shadersshadowDepthCompare:()=>vI,_shadersshadowParameters:()=>fD,_shadersshadowVisibility:()=>wI,_shaderssignNotZero:()=>DI,_shaderssolarRadius:()=>eD,_shaderssphericalHarmonics:()=>II,_shaderssrgbToLinear:()=>PI,_shaderstangentToEyeSpaceMatrix:()=>RI,_shaderstextureCube:()=>OI,_shadersthreePiOver2:()=>tD,_shaderstransformPlane:()=>MI,_shaderstranslateRelativeToEye:()=>LI,_shaderstranslucentPhong:()=>NI,_shaderstranspose:()=>FI,_shaderstwoPi:()=>nD,_shadersunpackClippingExtents:()=>BI,_shadersunpackDepth:()=>kI,_shadersunpackFloat:()=>VI,_shadersunpackUint:()=>UI,_shadersvalueTransform:()=>zI,_shadersvertexLogDepth:()=>HI,_shaderswebMercatorMaxLatitude:()=>iD,_shaderswindowToEyeCoordinates:()=>GI,_shaderswriteDepthClamp:()=>WI,_shaderswriteLogDepth:()=>jI,_shaderswriteNonPerspective:()=>qI,addBuffer:()=>$1,addDefaults:()=>G1,addExtensionsRequired:()=>X1,addExtensionsUsed:()=>Af,addPipelineExtras:()=>oy,addToArray:()=>Ss,appendForwardSlash:()=>Qv,arrayRemoveDuplicates:()=>Co,barycentricCoordinates:()=>yx,binarySearch:()=>Po,buildModuleUrl:()=>rn,buildVoxelDrawCommands:()=>jF,clone:()=>He,combine:()=>bt,computeFlyToLocationForRectangle:()=>FT,createBillboardPointCallback:()=>Ab,createCommand:()=>vn,createDefaultImageryProviderViewModels:()=>sk,createDefaultTerrainProviderViewModels:()=>ak,createElevationBandMaterial:()=>QX,createGooglePhotorealistic3DTileset:()=>JX,createGuid:()=>qn,createMaterialPropertyDescriptor:()=>Ro,createOsmBuildingsAsync:()=>eK,createPropertyDescriptor:()=>le,createRawPropertyDescriptor:()=>vl,createTangentSpaceDebugPrimitive:()=>tK,createTaskProcessorWorker:()=>$$,createUniform:()=>dw,createUniformArray:()=>hw,createWorldBathymetryAsync:()=>z3,createWorldImageryAsync:()=>og,createWorldTerrainAsync:()=>TC,decodeGoogleEarthEnterpriseData:()=>lB,decodeVectorPolylinePositions:()=>JM,defaultValue:()=>y,defer:()=>yl,defined:()=>l,demodernizeShader:()=>XI,deprecationWarning:()=>fs,destroyObject:()=>ue,exportKml:()=>aY,findAccessorMinMax:()=>ib,findContentMetadata:()=>Ib,findGroupMetadata:()=>Pb,findTileMetadata:()=>iL,forEachTextureInMaterial:()=>SA,formatError:()=>Gm,freezeRenderState:()=>$5,getAbsoluteUri:()=>Wh,getAccessorByteStride:()=>Ol,getBaseUri:()=>Jv,getBinaryAccessor:()=>yu,getClipAndStyleCode:()=>z2,getClippingFunction:()=>J_,getComponentReader:()=>Kp,getElement:()=>Rn,getExtensionFromUri:()=>Z0,getFilenameFromUri:()=>L_,getImageFromTypedArray:()=>C3,getImagePixels:()=>xd,getJsonFromTypedArray:()=>Mo,getMagic:()=>kd,getMetadataClassProperty:()=>H2,getStringFromTypedArray:()=>Dl,getTimestamp:()=>Ci,hasExtension:()=>ai,heightReferenceOnEntityPropertyChanged:()=>Bp,isBitSet:()=>Ic,isBlobUri:()=>$0,isCrossOriginUrl:()=>Dg,isDataUri:()=>_p,isLeapYear:()=>yd,knockout:()=>be,knockout_3_5_1:()=>DC,knockout_es5:()=>J3,loadAndExecuteScript:()=>Q0,loadCubeMap:()=>iP,loadImageFromTypedArray:()=>eb,loadKTX2:()=>bl,mergeSort:()=>tg,moveTechniqueRenderStates:()=>Y1,moveTechniquesToExtension:()=>K1,numberOfComponentsForType:()=>bu,objectToQuery:()=>J0,oneTimeWarning:()=>Tt,parseBatchTable:()=>o_,parseFeatureMetadataLegacy:()=>TR,parseGlb:()=>j1,parseResponseHeaders:()=>ew,parseStructuralMetadata:()=>bR,pickModel:()=>rE,pointInsideTriangle:()=>k$,preprocess3DTileContent:()=>bm,processVoxelProperties:()=>WF,queryToObject:()=>su,readAccessorPacked:()=>Q1,removeExtension:()=>ob,removeExtensionsRequired:()=>W1,removeExtensionsUsed:()=>nb,removePipelineExtras:()=>q1,removeUnusedElements:()=>Z1,resizeImageToNextPowerOfTwo:()=>ay,sampleTerrain:()=>c2,sampleTerrainMostDetailed:()=>NT,scaleToGeodeticSurface:()=>K0,srgbToLinear:()=>QT,subdivideArray:()=>WP,subscribeAndEvaluate:()=>Sa,updateAccessorComponentTypes:()=>J1,updateVersion:()=>eR,usesExtension:()=>cr,viewerCesium3DTilesInspectorMixin:()=>gQ,viewerCesiumInspectorMixin:()=>yQ,viewerDragDropMixin:()=>bQ,viewerPerformanceWatchdogMixin:()=>TQ,viewerVoxelInspectorMixin:()=>CQ,webGLConstantToGlslType:()=>q$,wrapFunction:()=>$3,writeTextToCanvas:()=>Sb});module.exports=Gh(mvt);function mEe(e){return e!=null}var l=mEe;function Y0(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(Y0.prototype=Object.create(Error.prototype),Y0.prototype.constructor=Y0);Y0.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` -${this.stack.toString()}`),e};Y0.throwInstantiationError=function(){throw new Y0("This function defines an interface and should not be called directly.")};var de=Y0;var As={};As.typeOf={};function pEe(e){return`${e} is required, actual value was undefined`}function MC(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}As.defined=function(e,t){if(!l(t))throw new de(pEe(e))};As.typeOf.func=function(e,t){if(typeof t!="function")throw new de(MC(typeof t,"function",e))};As.typeOf.string=function(e,t){if(typeof t!="string")throw new de(MC(typeof t,"string",e))};As.typeOf.number=function(e,t){if(typeof t!="number")throw new de(MC(typeof t,"number",e))};As.typeOf.number.lessThan=function(e,t,n){if(As.typeOf.number(e,t),t>=n)throw new de(`Expected ${e} to be less than ${n}, actual value was ${t}`)};As.typeOf.number.lessThanOrEquals=function(e,t,n){if(As.typeOf.number(e,t),t>n)throw new de(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};As.typeOf.number.greaterThan=function(e,t,n){if(As.typeOf.number(e,t),t<=n)throw new de(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};As.typeOf.number.greaterThanOrEquals=function(e,t,n){if(As.typeOf.number(e,t),t<n)throw new de(`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)};As.typeOf.object=function(e,t){if(typeof t!="object")throw new de(MC(typeof t,"object",e))};As.typeOf.bool=function(e,t){if(typeof t!="boolean")throw new de(MC(typeof t,"boolean",e))};As.typeOf.bigint=function(e,t){if(typeof t!="bigint")throw new de(MC(typeof t,"bigint",e))};As.typeOf.number.equals=function(e,t,n,i){if(As.typeOf.number(e,n),As.typeOf.number(t,i),n!==i)throw new de(`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)};var bo=As;function wQ(e,t){return e??t}wQ.EMPTY_OBJECT=Object.freeze({});var y=wQ;var c5=Bo(Kk(),1);var at={};at.EPSILON1=.1;at.EPSILON2=.01;at.EPSILON3=.001;at.EPSILON4=1e-4;at.EPSILON5=1e-5;at.EPSILON6=1e-6;at.EPSILON7=1e-7;at.EPSILON8=1e-8;at.EPSILON9=1e-9;at.EPSILON10=1e-10;at.EPSILON11=1e-11;at.EPSILON12=1e-12;at.EPSILON13=1e-13;at.EPSILON14=1e-14;at.EPSILON15=1e-15;at.EPSILON16=1e-16;at.EPSILON17=1e-17;at.EPSILON18=1e-18;at.EPSILON19=1e-19;at.EPSILON20=1e-20;at.EPSILON21=1e-21;at.GRAVITATIONALPARAMETER=3986004418e5;at.SOLAR_RADIUS=6955e5;at.LUNAR_RADIUS=1737400;at.SIXTY_FOUR_KILOBYTES=64*1024;at.FOUR_GIGABYTES=4*1024*1024*1024;at.sign=y(Math.sign,function(t){return t=+t,t===0||t!==t?t:t>0?1:-1});at.signNotZero=function(e){return e<0?-1:1};at.toSNorm=function(e,t){return t=y(t,255),Math.round((at.clamp(e,-1,1)*.5+.5)*t)};at.fromSNorm=function(e,t){return t=y(t,255),at.clamp(e,0,t)/t*2-1};at.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:at.clamp((e-t)/n,0,1)};at.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});at.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});at.lerp=function(e,t,n){return(1-n)*e+n*t};at.PI=Math.PI;at.ONE_OVER_PI=1/Math.PI;at.PI_OVER_TWO=Math.PI/2;at.PI_OVER_THREE=Math.PI/3;at.PI_OVER_FOUR=Math.PI/4;at.PI_OVER_SIX=Math.PI/6;at.THREE_PI_OVER_TWO=3*Math.PI/2;at.TWO_PI=2*Math.PI;at.ONE_OVER_TWO_PI=1/(2*Math.PI);at.RADIANS_PER_DEGREE=Math.PI/180;at.DEGREES_PER_RADIAN=180/Math.PI;at.RADIANS_PER_ARCSECOND=at.RADIANS_PER_DEGREE/3600;at.toRadians=function(e){return e*at.RADIANS_PER_DEGREE};at.toDegrees=function(e){return e*at.DEGREES_PER_RADIAN};at.convertLongitudeRange=function(e){let t=at.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};at.clampToLatitudeRange=function(e){return at.clamp(e,-1*at.PI_OVER_TWO,at.PI_OVER_TWO)};at.negativePiToPi=function(e){return e>=-at.PI&&e<=at.PI?e:at.zeroToTwoPi(e+at.PI)-at.PI};at.zeroToTwoPi=function(e){if(e>=0&&e<=at.TWO_PI)return e;let t=at.mod(e,at.TWO_PI);return Math.abs(t)<at.EPSILON14&&Math.abs(e)>at.EPSILON14?at.TWO_PI:t};at.mod=function(e,t){return at.sign(e)===at.sign(t)&&Math.abs(e)<Math.abs(t)?e:(e%t+t)%t};at.equalsEpsilon=function(e,t,n,i){n=y(n,0),i=y(i,n);let o=Math.abs(e-t);return o<=i||o<=n*Math.max(Math.abs(e),Math.abs(t))};at.lessThan=function(e,t,n){return e-t<-n};at.lessThanOrEquals=function(e,t,n){return e-t<n};at.greaterThan=function(e,t,n){return e-t>n};at.greaterThanOrEquals=function(e,t,n){return e-t>-n};var Zk=[1];at.factorial=function(e){let t=Zk.length;if(e>=t){let n=Zk[t-1];for(let i=t;i<=e;i++){let o=n*i;Zk.push(o),n=o}}return Zk[e]};at.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};at.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};at.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};at.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};at.clamp=function(e,t,n){return e<t?t:e>n?n:e};var IQ=new c5.default;at.setRandomNumberSeed=function(e){IQ=new c5.default(e)};at.nextRandomNumber=function(){return IQ.random()};at.randomBetween=function(e,t){return at.nextRandomNumber()*(t-e)+e};at.acosClamped=function(e){return Math.acos(at.clamp(e,-1,1))};at.asinClamped=function(e){return Math.asin(at.clamp(e,-1,1))};at.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};at.logBase=function(e,t){return Math.log(e)/Math.log(t)};at.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});at.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});at.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};at.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};at.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=at.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?at.PI_OVER_TWO-i:i,i=e<0?at.PI-i:i,i=t<0?-i:i,i};var P=at;function Qe(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}Qe.fromSpherical=function(e,t){l(t)||(t=new Qe);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};Qe.fromElements=function(e,t,n,i){return l(i)?(i.x=e,i.y=t,i.z=n,i):new Qe(e,t,n)};Qe.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new Qe(e.x,e.y,e.z)};Qe.fromCartesian4=Qe.clone;Qe.packedLength=3;Qe.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};Qe.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Qe),n.x=e[t++],n.y=e[t++],n.z=e[t],n};Qe.packArray=function(e,t){let n=e.length,i=n*3;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Qe.pack(e[o],t,o*3);return t};Qe.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/3:t=new Array(n/3);for(let i=0;i<n;i+=3){let o=i/3;t[o]=Qe.unpack(e,i,t[o])}return t};Qe.fromArray=Qe.unpack;Qe.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)};Qe.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)};Qe.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n};Qe.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n};Qe.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z);return i.x=o,i.y=r,i.z=s,i};Qe.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z};Qe.magnitude=function(e){return Math.sqrt(Qe.magnitudeSquared(e))};var Qk=new Qe;Qe.distance=function(e,t){return Qe.subtract(e,t,Qk),Qe.magnitude(Qk)};Qe.distanceSquared=function(e,t){return Qe.subtract(e,t,Qk),Qe.magnitudeSquared(Qk)};Qe.normalize=function(e,t){let n=Qe.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t};Qe.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z};Qe.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n};Qe.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n};Qe.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n};Qe.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n};Qe.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n};Qe.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n};Qe.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t};Qe.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};var PQ=new Qe;Qe.lerp=function(e,t,n,i){return Qe.multiplyByScalar(t,n,PQ),i=Qe.multiplyByScalar(e,1-n,i),Qe.add(PQ,i,i)};var $k=new Qe,l5=new Qe;Qe.angleBetween=function(e,t){Qe.normalize(e,$k),Qe.normalize(t,l5);let n=Qe.dot($k,l5),i=Qe.magnitude(Qe.cross($k,l5,$k));return Math.atan2(i,n)};var _Ee=new Qe;Qe.mostOrthogonalAxis=function(e,t){let n=Qe.normalize(e,_Ee);return Qe.abs(n,n),n.x<=n.y?n.x<=n.z?t=Qe.clone(Qe.UNIT_X,t):t=Qe.clone(Qe.UNIT_Z,t):n.y<=n.z?t=Qe.clone(Qe.UNIT_Y,t):t=Qe.clone(Qe.UNIT_Z,t),t};Qe.projectVector=function(e,t,n){let i=Qe.dot(e,t)/Qe.dot(t,t);return Qe.multiplyByScalar(t,i,n)};Qe.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z};Qe.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]};Qe.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)};Qe.cross=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=t.x,a=t.y,c=t.z,u=o*c-r*a,f=r*s-i*c,d=i*a-o*s;return n.x=u,n.y=f,n.z=d,n};Qe.midpoint=function(e,t,n){return n.x=(e.x+t.x)*.5,n.y=(e.y+t.y)*.5,n.z=(e.z+t.z)*.5,n};Qe.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(e),t=P.toRadians(t),Qe.fromRadians(e,t,n,i,o)};var af=new Qe,LC=new Qe;Qe._ellipsoidRadiiSquared=new Qe(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);Qe.fromRadians=function(e,t,n,i,o){n=y(n,0);let r=l(i)?i.radiiSquared:Qe._ellipsoidRadiiSquared,s=Math.cos(t);af.x=s*Math.cos(e),af.y=s*Math.sin(e),af.z=Math.sin(t),af=Qe.normalize(af,af),Qe.multiplyComponents(r,af,LC);let a=Math.sqrt(Qe.dot(af,LC));return LC=Qe.divideByScalar(LC,a,LC),af=Qe.multiplyByScalar(af,n,af),l(o)||(o=new Qe),Qe.add(LC,af,o)};Qe.fromDegreesArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=Qe.fromDegrees(r,s,0,t,n[a])}return n};Qe.fromRadiansArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=Qe.fromRadians(r,s,0,t,n[a])}return n};Qe.fromDegreesArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=Qe.fromDegrees(r,s,a,t,n[c])}return n};Qe.fromRadiansArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=Qe.fromRadians(r,s,a,t,n[c])}return n};Qe.ZERO=Object.freeze(new Qe(0,0,0));Qe.ONE=Object.freeze(new Qe(1,1,1));Qe.UNIT_X=Object.freeze(new Qe(1,0,0));Qe.UNIT_Y=Object.freeze(new Qe(0,1,0));Qe.UNIT_Z=Object.freeze(new Qe(0,0,1));Qe.prototype.clone=function(e){return Qe.clone(this,e)};Qe.prototype.equals=function(e){return Qe.equals(this,e)};Qe.prototype.equalsEpsilon=function(e,t,n){return Qe.equalsEpsilon(this,e,t,n)};Qe.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var h=Qe;function xt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}xt.fromElements=function(e,t,n,i,o){return l(o)?(o.x=e,o.y=t,o.z=n,o.w=i,o):new xt(e,t,n,i)};xt.fromColor=function(e,t){return l(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new xt(e.red,e.green,e.blue,e.alpha)};xt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new xt(e.x,e.y,e.z,e.w)};xt.packedLength=4;xt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};xt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new xt),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};xt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)xt.pack(e[o],t,o*4);return t};xt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=xt.unpack(e,i,t[o])}return t};xt.fromArray=xt.unpack;xt.maximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)};xt.minimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)};xt.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n};xt.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n};xt.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z),a=P.clamp(e.w,t.w,n.w);return i.x=o,i.y=r,i.z=s,i.w=a,i};xt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};xt.magnitude=function(e){return Math.sqrt(xt.magnitudeSquared(e))};var Jk=new xt;xt.distance=function(e,t){return xt.subtract(e,t,Jk),xt.magnitude(Jk)};xt.distanceSquared=function(e,t){return xt.subtract(e,t,Jk),xt.magnitudeSquared(Jk)};xt.normalize=function(e,t){let n=xt.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t};xt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};xt.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n};xt.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n};xt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};xt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};xt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};xt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};xt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};xt.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var RQ=new xt;xt.lerp=function(e,t,n,i){return xt.multiplyByScalar(t,n,RQ),i=xt.multiplyByScalar(e,1-n,i),xt.add(RQ,i,i)};var gEe=new xt;xt.mostOrthogonalAxis=function(e,t){let n=xt.normalize(e,gEe);return xt.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=xt.clone(xt.UNIT_X,t):t=xt.clone(xt.UNIT_W,t):n.z<=n.w?t=xt.clone(xt.UNIT_Z,t):t=xt.clone(xt.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=xt.clone(xt.UNIT_Y,t):t=xt.clone(xt.UNIT_W,t):n.z<=n.w?t=xt.clone(xt.UNIT_Z,t):t=xt.clone(xt.UNIT_W,t),t};xt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};xt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};xt.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)&&P.equalsEpsilon(e.w,t.w,n,i)};xt.ZERO=Object.freeze(new xt(0,0,0,0));xt.ONE=Object.freeze(new xt(1,1,1,1));xt.UNIT_X=Object.freeze(new xt(1,0,0,0));xt.UNIT_Y=Object.freeze(new xt(0,1,0,0));xt.UNIT_Z=Object.freeze(new xt(0,0,1,0));xt.UNIT_W=Object.freeze(new xt(0,0,0,1));xt.prototype.clone=function(e){return xt.clone(this,e)};xt.prototype.equals=function(e){return xt.equals(this,e)};xt.prototype.equalsEpsilon=function(e,t,n){return xt.equalsEpsilon(this,e,t,n)};xt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var u5=new Float32Array(1),$a=new Uint8Array(u5.buffer),yEe=new Uint32Array([287454020]),xEe=new Uint8Array(yEe.buffer),OQ=xEe[0]===68;xt.packFloat=function(e,t){return l(t)||(t=new xt),u5[0]=e,OQ?(t.x=$a[0],t.y=$a[1],t.z=$a[2],t.w=$a[3]):(t.x=$a[3],t.y=$a[2],t.z=$a[1],t.w=$a[0]),t};xt.unpackFloat=function(e){return OQ?($a[0]=e.x,$a[1]=e.y,$a[2]=e.z,$a[3]=e.w):($a[0]=e.w,$a[1]=e.z,$a[2]=e.y,$a[3]=e.x),u5[0]};var oe=xt;function tt(e,t,n,i,o,r,s,a,c){this[0]=y(e,0),this[1]=y(i,0),this[2]=y(s,0),this[3]=y(t,0),this[4]=y(o,0),this[5]=y(a,0),this[6]=y(n,0),this[7]=y(r,0),this[8]=y(c,0)}tt.packedLength=9;tt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t};tt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new tt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n};tt.packArray=function(e,t){let n=e.length,i=n*9;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)tt.pack(e[o],t,o*9);return t};tt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/9:t=new Array(n/9);for(let i=0;i<n;i+=9){let o=i/9;t[o]=tt.unpack(e,i,t[o])}return t};tt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new tt(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])};tt.fromArray=tt.unpack;tt.fromColumnMajorArray=function(e,t){return tt.clone(e,t)};tt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new tt(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};tt.fromQuaternion=function(e,t){let n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,r=e.x*e.w,s=e.y*e.y,a=e.y*e.z,c=e.y*e.w,u=e.z*e.z,f=e.z*e.w,d=e.w*e.w,p=n-s-u+d,g=2*(i-f),m=2*(o+c),x=2*(i+f),b=-n+s-u+d,T=2*(a-r),A=2*(o-c),C=2*(a+r),E=-n-s+u+d;return l(t)?(t[0]=p,t[1]=x,t[2]=A,t[3]=g,t[4]=b,t[5]=C,t[6]=m,t[7]=T,t[8]=E,t):new tt(p,g,m,x,b,T,A,C,E)};tt.fromHeadingPitchRoll=function(e,t){let n=Math.cos(-e.pitch),i=Math.cos(-e.heading),o=Math.cos(e.roll),r=Math.sin(-e.pitch),s=Math.sin(-e.heading),a=Math.sin(e.roll),c=n*i,u=-o*s+a*r*i,f=a*s+o*r*i,d=n*s,p=o*i+a*r*s,g=-a*i+o*r*s,m=-r,x=a*n,b=o*n;return l(t)?(t[0]=c,t[1]=d,t[2]=m,t[3]=u,t[4]=p,t[5]=x,t[6]=f,t[7]=g,t[8]=b,t):new tt(c,u,f,d,p,g,m,x,b)};tt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new tt(e.x,0,0,0,e.y,0,0,0,e.z)};tt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new tt(e,0,0,0,e,0,0,0,e)};tt.fromCrossProduct=function(e,t){return l(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new tt(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)};tt.fromRotationX=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new tt(1,0,0,0,n,-i,0,i,n)};tt.fromRotationY=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new tt(n,0,i,0,1,0,-i,0,n)};tt.fromRotationZ=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new tt(n,-i,0,i,n,0,0,0,1)};tt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]};tt.getElementIndex=function(e,t){return e*3+t};tt.getColumn=function(e,t,n){let i=t*3,o=e[i],r=e[i+1],s=e[i+2];return n.x=o,n.y=r,n.z=s,n};tt.setColumn=function(e,t,n,i){i=tt.clone(e,i);let o=t*3;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i};tt.getRow=function(e,t,n){let i=e[t],o=e[t+3],r=e[t+6];return n.x=i,n.y=o,n.z=r,n};tt.setRow=function(e,t,n,i){return i=tt.clone(e,i),i[t]=n.x,i[t+3]=n.y,i[t+6]=n.z,i};var bEe=new h;tt.setScale=function(e,t,n){let i=tt.getScale(e,bEe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var TEe=new h;tt.setUniformScale=function(e,t,n){let i=tt.getScale(e,TEe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var f5=new h;tt.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],f5)),t.y=h.magnitude(h.fromElements(e[3],e[4],e[5],f5)),t.z=h.magnitude(h.fromElements(e[6],e[7],e[8],f5)),t};var MQ=new h;tt.getMaximumScale=function(e){return tt.getScale(e,MQ),h.maximumComponent(MQ)};var CEe=new h;tt.setRotation=function(e,t,n){let i=tt.getScale(e,CEe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=t[3]*i.y,n[4]=t[4]*i.y,n[5]=t[5]*i.y,n[6]=t[6]*i.z,n[7]=t[7]*i.z,n[8]=t[8]*i.z,n};var AEe=new h;tt.getRotation=function(e,t){let n=tt.getScale(e,AEe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t};tt.multiply=function(e,t,n){let i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],r=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],a=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],u=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],f=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=i,n[1]=o,n[2]=r,n[3]=s,n[4]=a,n[5]=c,n[6]=u,n[7]=f,n[8]=d,n};tt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n};tt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n};tt.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[3]*o+e[6]*r,a=e[1]*i+e[4]*o+e[7]*r,c=e[2]*i+e[5]*o+e[8]*r;return n.x=s,n.y=a,n.z=c,n};tt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};tt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n};tt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};tt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t};tt.transpose=function(e,t){let n=e[0],i=e[3],o=e[6],r=e[1],s=e[4],a=e[7],c=e[2],u=e[5],f=e[8];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=s,t[5]=a,t[6]=c,t[7]=u,t[8]=f,t};function EEe(e){let t=0;for(let n=0;n<9;++n){let i=e[n];t+=i*i}return Math.sqrt(t)}var d5=[1,0,0],h5=[2,2,1];function SEe(e){let t=0;for(let n=0;n<3;++n){let i=e[tt.getElementIndex(h5[n],d5[n])];t+=2*i*i}return Math.sqrt(t)}function vEe(e,t){let n=P.EPSILON15,i=0,o=1;for(let u=0;u<3;++u){let f=Math.abs(e[tt.getElementIndex(h5[u],d5[u])]);f>i&&(o=u,i=f)}let r=1,s=0,a=d5[o],c=h5[o];if(Math.abs(e[tt.getElementIndex(c,a)])>n){let u=e[tt.getElementIndex(c,c)],f=e[tt.getElementIndex(a,a)],d=e[tt.getElementIndex(c,a)],p=(u-f)/2/d,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=tt.clone(tt.IDENTITY,t),t[tt.getElementIndex(a,a)]=t[tt.getElementIndex(c,c)]=r,t[tt.getElementIndex(c,a)]=s,t[tt.getElementIndex(a,c)]=-s,t}var eV=new tt,LQ=new tt;tt.computeEigenDecomposition=function(e,t){let n=P.EPSILON20,i=10,o=0,r=0;l(t)||(t={});let s=t.unitary=tt.clone(tt.IDENTITY,t.unitary),a=t.diagonal=tt.clone(e,t.diagonal),c=n*EEe(a);for(;r<i&&SEe(a)>c;)vEe(a,eV),tt.transpose(eV,LQ),tt.multiply(a,eV,a),tt.multiply(LQ,a,a),tt.multiply(s,eV,s),++o>2&&(++r,o=0);return t};tt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t};tt.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],u=e[8];return t*(r*u-c*s)+o*(c*i-n*u)+a*(n*s-r*i)};tt.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],u=e[7],f=e[8],d=tt.determinant(e);t[0]=s*f-u*a,t[1]=u*o-i*f,t[2]=i*a-s*o,t[3]=c*a-r*f,t[4]=n*f-c*o,t[5]=r*o-n*a,t[6]=r*u-c*s,t[7]=c*i-n*u,t[8]=n*s-r*i;let p=1/d;return tt.multiplyByScalar(t,p,t)};var wEe=new tt;tt.inverseTranspose=function(e,t){return tt.inverse(tt.transpose(e,wEe),t)};tt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]};tt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n};tt.IDENTITY=Object.freeze(new tt(1,0,0,0,1,0,0,0,1));tt.ZERO=Object.freeze(new tt(0,0,0,0,0,0,0,0,0));tt.COLUMN0ROW0=0;tt.COLUMN0ROW1=1;tt.COLUMN0ROW2=2;tt.COLUMN1ROW0=3;tt.COLUMN1ROW1=4;tt.COLUMN1ROW2=5;tt.COLUMN2ROW0=6;tt.COLUMN2ROW1=7;tt.COLUMN2ROW2=8;Object.defineProperties(tt.prototype,{length:{get:function(){return tt.packedLength}}});tt.prototype.clone=function(e){return tt.clone(this,e)};tt.prototype.equals=function(e){return tt.equals(this,e)};tt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};tt.prototype.equalsEpsilon=function(e,t){return tt.equalsEpsilon(this,e,t)};tt.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) + `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}},{key:"isEnabled",get:function(){return this.enabled}}]),f}();e.exports=u},function(e,t,n){"use strict";e.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}}])})});var twt={};kQ(twt,{AlphaMode:()=>hm,AlphaPipelineStage:()=>OO,AnchorPointDirect:()=>FR,AnchorPointIndirect:()=>BR,Animation:()=>yk,AnimationViewModel:()=>xk,Appearance:()=>ao,ApproximateTerrainHeights:()=>fi,ArcGISTiledElevationTerrainProvider:()=>pX,ArcGisBaseMapType:()=>Lh,ArcGisMapServerImageryProvider:()=>ug,ArcGisMapService:()=>Zu,ArcType:()=>nn,ArticulationStageType:()=>mc,AssociativeArray:()=>Dt,Atmosphere:()=>xb,AtmospherePipelineStage:()=>dO,AttributeCompression:()=>Nn,AttributeType:()=>an,AutoExposure:()=>UB,AutomaticUniforms:()=>pp,Axis:()=>Fo,AxisAlignedBoundingBox:()=>Yg,B3dmLoader:()=>ZR,B3dmParser:()=>YR,BaseLayerPicker:()=>Tk,BaseLayerPickerViewModel:()=>bk,BatchTable:()=>Dx,BatchTableHierarchy:()=>$x,BatchTexture:()=>Zc,BatchTexturePipelineStage:()=>MO,Billboard:()=>_o,BillboardCollection:()=>Su,BillboardGraphics:()=>rc,BillboardVisualizer:()=>TP,BingMapsGeocoderService:()=>gX,BingMapsImageryProvider:()=>T2,BingMapsStyle:()=>sv,BlendEquation:()=>Ma,BlendFunction:()=>wo,BlendOption:()=>Io,BlendingState:()=>dn,BoundingRectangle:()=>We,BoundingSphere:()=>ce,BoundingSphereState:()=>ct,BoundingVolumeSemantics:()=>mb,BoxEmitter:()=>_$,BoxGeometry:()=>Ra,BoxGeometryUpdater:()=>O1,BoxGraphics:()=>Fx,BoxOutlineGeometry:()=>Pd,BrdfLutGenerator:()=>Y2,Buffer:()=>xt,BufferLoader:()=>ib,BufferUsage:()=>Be,CPUStylingPipelineStage:()=>BO,CallbackPositionProperty:()=>M1,CallbackProperty:()=>Fd,Camera:()=>uo,CameraEventAggregator:()=>qB,CameraEventType:()=>ki,CameraFlightPath:()=>K2,Cartesian2:()=>z,Cartesian3:()=>h,Cartesian4:()=>ie,Cartographic:()=>fe,CartographicGeocoderService:()=>xX,CatmullRomSpline:()=>bX,Cesium3DContentGroup:()=>Zx,Cesium3DTile:()=>Wf,Cesium3DTileBatchTable:()=>Wp,Cesium3DTileColorBlendMode:()=>Dl,Cesium3DTileContent:()=>g$,Cesium3DTileContentFactory:()=>Mb,Cesium3DTileContentState:()=>Zo,Cesium3DTileContentType:()=>Ms,Cesium3DTileFeature:()=>Ks,Cesium3DTileFeatureTable:()=>Zd,Cesium3DTileOptimizationHint:()=>kf,Cesium3DTileOptimizations:()=>bL,Cesium3DTilePass:()=>zo,Cesium3DTilePassState:()=>fd,Cesium3DTilePointFeature:()=>g_,Cesium3DTileRefine:()=>Xo,Cesium3DTileStyle:()=>EC,Cesium3DTileStyleEngine:()=>vL,Cesium3DTilesInspector:()=>wk,Cesium3DTilesInspectorViewModel:()=>vk,Cesium3DTilesVoxelProvider:()=>y$,Cesium3DTileset:()=>Es,Cesium3DTilesetBaseTraversal:()=>OL,Cesium3DTilesetCache:()=>AL,Cesium3DTilesetGraphics:()=>Gx,Cesium3DTilesetHeatmap:()=>EL,Cesium3DTilesetMetadata:()=>Gb,Cesium3DTilesetMostDetailedTraversal:()=>IL,Cesium3DTilesetSkipTraversal:()=>NL,Cesium3DTilesetStatistics:()=>P_,Cesium3DTilesetTraversal:()=>ta,Cesium3DTilesetVisualizer:()=>FL,CesiumInspector:()=>pk,CesiumInspectorViewModel:()=>mk,CesiumTerrainProvider:()=>LT,CesiumWidget:()=>F3,Check:()=>Ao,CheckerboardMaterialProperty:()=>SE,CircleEmitter:()=>z3,CircleGeometry:()=>vX,CircleOutlineGeometry:()=>wX,ClassificationModelDrawCommand:()=>IM,ClassificationPipelineStage:()=>LO,ClassificationPrimitive:()=>fA,ClassificationType:()=>zn,ClearCommand:()=>ni,ClippingPlane:()=>pb,ClippingPlaneCollection:()=>Ts,ClippingPolygon:()=>zA,ClippingPolygonCollection:()=>qd,Clock:()=>fh,ClockRange:()=>$r,ClockStep:()=>To,ClockViewModel:()=>fk,CloudCollection:()=>E$,CloudType:()=>zv,Color:()=>H,ColorBlendMode:()=>hc,ColorGeometryInstanceAttribute:()=>Wt,ColorMaterialProperty:()=>Ht,Command:()=>pQ,ComponentDatatype:()=>X,Composite3DTileContent:()=>U1,CompositeEntityCollection:()=>a7,CompositeMaterialProperty:()=>wE,CompositePositionProperty:()=>ga,CompositeProperty:()=>xc,CompressedTextureBuffer:()=>bw,ComputeCommand:()=>Fc,ComputeEngine:()=>yw,ConditionsExpression:()=>B3,ConeEmitter:()=>v$,ConstantPositionProperty:()=>Wc,ConstantProperty:()=>$n,ConstantSpline:()=>eO,ContentMetadata:()=>fL,Context:()=>dP,ContextLimits:()=>Ft,CoplanarPolygonGeometry:()=>gN,CoplanarPolygonGeometryLibrary:()=>E_,CoplanarPolygonOutlineGeometry:()=>Gf,CornerType:()=>Ni,CorrelationGroup:()=>kR,CorridorGeometry:()=>Kb,CorridorGeometryLibrary:()=>Wi,CorridorGeometryUpdater:()=>jL,CorridorGraphics:()=>kx,CorridorOutlineGeometry:()=>WL,Credit:()=>At,CreditDisplay:()=>J2,CubeMap:()=>vr,CubeMapFace:()=>Pw,CubicRealPolynomial:()=>hx,CullFace:()=>Ci,CullingVolume:()=>bs,CumulusCloud:()=>rf,CustomDataSource:()=>XL,CustomHeightmapTerrainProvider:()=>DX,CustomShader:()=>yC,CustomShaderMode:()=>m_,CustomShaderPipelineStage:()=>WO,CustomShaderTranslucencyMode:()=>Iy,CylinderGeometry:()=>KL,CylinderGeometryLibrary:()=>Zb,CylinderGeometryUpdater:()=>$L,CylinderGraphics:()=>Vx,CylinderOutlineGeometry:()=>ZL,CzmlDataSource:()=>aN,DataSource:()=>Zr,DataSourceClock:()=>dh,DataSourceCollection:()=>cN,DataSourceDisplay:()=>qN,DebugAppearance:()=>R$,DebugCameraPrimitive:()=>Zm,DebugInspector:()=>e3,DebugModelMatrixPrimitive:()=>W3,DefaultProxy:()=>PX,DepthFunction:()=>sc,DepthPlane:()=>nB,DequantizationPipelineStage:()=>qO,DerivedCommand:()=>$m,DeveloperError:()=>de,DeviceOrientationCameraController:()=>iB,DirectionalLight:()=>O$,DiscardEmptyTileImagePolicy:()=>av,DiscardMissingTileImagePolicy:()=>x2,DistanceDisplayCondition:()=>Nt,DistanceDisplayConditionGeometryInstanceAttribute:()=>Un,DoubleEndedPriorityQueue:()=>FT,DoublyLinkedList:()=>CL,DracoLoader:()=>$p,DrawCommand:()=>Ze,DynamicAtmosphereLightingType:()=>n_,DynamicEnvironmentMapManager:()=>i_,DynamicGeometryBatch:()=>iT,DynamicGeometryUpdater:()=>oi,EarthOrientationParameters:()=>uw,EarthOrientationParametersSample:()=>Og,EasingFunction:()=>Jr,EllipseGeometry:()=>sl,EllipseGeometryLibrary:()=>zl,EllipseGeometryUpdater:()=>uN,EllipseGraphics:()=>Ux,EllipseOutlineGeometry:()=>Fu,Ellipsoid:()=>ee,EllipsoidGeodesic:()=>Mp,EllipsoidGeometry:()=>ia,EllipsoidGeometryUpdater:()=>dN,EllipsoidGraphics:()=>zx,EllipsoidOutlineGeometry:()=>wu,EllipsoidPrimitive:()=>G2,EllipsoidRhumbLine:()=>La,EllipsoidSurfaceAppearance:()=>M$,EllipsoidTangentPlane:()=>ns,EllipsoidTerrainProvider:()=>BT,EllipsoidalOccluder:()=>F_,Empty3DTileContent:()=>dE,EncodedCartesian3:()=>jn,Entity:()=>rr,EntityCluster:()=>Pu,EntityCollection:()=>na,EntityView:()=>XN,Event:()=>me,EventHelper:()=>gr,Expression:()=>Sf,ExpressionNodeType:()=>gt,ExtrapolationType:()=>Ou,FeatureDetection:()=>Gt,FeatureIdPipelineStage:()=>Dy,Fog:()=>oB,ForEach:()=>Pe,FrameRateMonitor:()=>Y3,FrameState:()=>rB,Framebuffer:()=>Vr,FramebufferManager:()=>_i,FrustumCommands:()=>uB,FrustumGeometry:()=>VT,FrustumOutlineGeometry:()=>BF,Fullscreen:()=>Ar,FullscreenButton:()=>Ik,FullscreenButtonViewModel:()=>Dk,GeoJsonDataSource:()=>pF,GeoJsonLoader:()=>$R,GeocodeType:()=>P0,Geocoder:()=>Rk,GeocoderService:()=>KS,GeocoderViewModel:()=>Pk,GeographicProjection:()=>Ri,GeographicTilingScheme:()=>Xi,Geometry:()=>ft,Geometry3DTileContent:()=>H1,GeometryAttribute:()=>Se,GeometryAttributes:()=>pn,GeometryFactory:()=>NX,GeometryInstance:()=>It,GeometryInstanceAttribute:()=>ac,GeometryOffsetAttribute:()=>ln,GeometryPipeline:()=>Fn,GeometryPipelineStage:()=>ZO,GeometryType:()=>hf,GeometryUpdater:()=>ri,GeometryUpdaterSet:()=>mT,GeometryVisualizer:()=>LN,GetFeatureInfoFormat:()=>KT,Globe:()=>H2,GlobeDepth:()=>fB,GlobeSurfaceShaderSet:()=>y2,GlobeSurfaceTile:()=>cd,GlobeSurfaceTileProvider:()=>O2,GlobeTranslucency:()=>M2,GlobeTranslucencyFramebuffer:()=>dB,GlobeTranslucencyState:()=>sB,GltfBufferViewLoader:()=>SA,GltfDracoLoader:()=>vA,GltfGpmLoader:()=>UR,GltfGpmLocal:()=>GA,GltfImageLoader:()=>wA,GltfIndexBufferLoader:()=>DA,GltfJsonLoader:()=>PA,GltfLoader:()=>s_,GltfLoaderUtil:()=>Ol,GltfMeshPrimitiveGpmLoader:()=>WR,GltfStructuralMetadataLoader:()=>LR,GltfTextureLoader:()=>RA,GltfVertexBufferLoader:()=>OA,GoogleEarthEnterpriseImageryProvider:()=>N$,GoogleEarthEnterpriseMapsProvider:()=>E2,GoogleEarthEnterpriseMetadata:()=>sg,GoogleEarthEnterpriseTerrainData:()=>ZS,GoogleEarthEnterpriseTerrainProvider:()=>GX,GoogleEarthEnterpriseTileInformation:()=>VF,GoogleGeocoderService:()=>jX,GoogleMaps:()=>zT,GpxDataSource:()=>xF,GregorianDate:()=>gp,GridImageryProvider:()=>F$,GridMaterialProperty:()=>BE,GroundGeometryUpdater:()=>qn,GroundPolylineGeometry:()=>Ox,GroundPolylinePrimitive:()=>Rd,GroundPrimitive:()=>Hc,GroupMetadata:()=>CE,HeadingPitchRange:()=>td,HeadingPitchRoll:()=>Da,Heap:()=>sw,HeightReference:()=>qe,HeightmapEncoding:()=>od,HeightmapTerrainData:()=>Wa,HeightmapTessellator:()=>US,HermitePolynomialApproximation:()=>QL,HermiteSpline:()=>Sy,HilbertOrder:()=>TA,HomeButton:()=>Mk,HomeButtonViewModel:()=>Ok,HorizontalOrigin:()=>Ti,I3SBuildingSceneLayerExplorer:()=>EQ,I3SBuildingSceneLayerExplorerViewModel:()=>Lk,I3SDataProvider:()=>Hh,I3SDecoder:()=>X3,I3SFeature:()=>K3,I3SField:()=>Z3,I3SGeometry:()=>Hv,I3SLayer:()=>IC,I3SNode:()=>Gv,I3SStatistics:()=>J3,I3SSublayer:()=>tk,I3SSymbology:()=>Q3,I3dmLoader:()=>JR,I3dmParser:()=>QR,ITwinData:()=>z$,ITwinPlatform:()=>Yu,Iau2000Orientation:()=>zF,Iau2006XysData:()=>fw,Iau2006XysSample:()=>lx,IauOrientationAxes:()=>HF,IauOrientationParameters:()=>UF,ImageBasedLighting:()=>Kx,ImageBasedLightingPipelineStage:()=>mO,ImageMaterialProperty:()=>$g,Imagery:()=>hv,ImageryLayer:()=>Ya,ImageryLayerCollection:()=>L2,ImageryLayerFeatureInfo:()=>Mh,ImageryProvider:()=>dl,ImageryState:()=>Qn,Implicit3DTileContent:()=>NA,ImplicitAvailabilityBitstream:()=>AA,ImplicitMetadataView:()=>EA,ImplicitSubdivisionScheme:()=>rs,ImplicitSubtree:()=>db,ImplicitSubtreeCache:()=>V3,ImplicitSubtreeMetadata:()=>G1,ImplicitTileCoordinates:()=>qb,ImplicitTileset:()=>jb,IndexDatatype:()=>Fe,InfoBox:()=>Fk,InfoBoxViewModel:()=>Nk,InspectorShared:()=>Ka,InstanceAttributeSemantic:()=>as,InstancingPipelineStage:()=>DO,InterpolationAlgorithm:()=>YX,InterpolationType:()=>Xd,Intersect:()=>qt,IntersectionTests:()=>ei,Intersections2D:()=>og,Interval:()=>Pa,InvertClassification:()=>Av,Ion:()=>Vd,IonGeocodeProviderType:()=>ag,IonGeocoderService:()=>HT,IonImageryProvider:()=>fg,IonResource:()=>_u,IonWorldImageryStyle:()=>dg,Iso8601:()=>ze,JobScheduler:()=>aB,JobType:()=>Ba,JsonMetadataTable:()=>o_,JulianDate:()=>K,KTX2Transcoder:()=>Tw,KeyboardEventModifier:()=>ra,KeyframeNode:()=>io,KmlCamera:()=>bF,KmlDataSource:()=>DF,KmlLookAt:()=>TF,KmlTour:()=>CF,KmlTourFlyTo:()=>EF,KmlTourWait:()=>SF,Label:()=>Fy,LabelCollection:()=>xm,LabelGraphics:()=>Md,LabelStyle:()=>Ko,LabelVisualizer:()=>NN,LagrangePolynomialApproximation:()=>JL,LeapSecond:()=>qi,Light:()=>H$,LightingModel:()=>_m,LightingPipelineStage:()=>QO,LinearApproximation:()=>Qb,LinearSpline:()=>Ey,ManagedArray:()=>Kc,MapMode2D:()=>$l,MapProjection:()=>ZX,MapboxImageryProvider:()=>S2,MapboxStyleImageryProvider:()=>G$,Mars3DEx:()=>Dp,Material:()=>Yi,MaterialAppearance:()=>mo,MaterialPipelineStage:()=>eM,MaterialProperty:()=>or,Math:()=>P,Matrix2:()=>Oi,Matrix3:()=>$,Matrix4:()=>F,Megatexture:()=>Iv,MeshPrimitiveGpmLocal:()=>GR,MetadataClass:()=>Gd,MetadataClassProperty:()=>um,MetadataComponentType:()=>Ut,MetadataEntity:()=>kn,MetadataEnum:()=>hR,MetadataEnumValue:()=>dR,MetadataPicking:()=>cB,MetadataPickingPipelineStage:()=>Cu,MetadataPipelineStage:()=>If,MetadataSchema:()=>bu,MetadataSchemaLoader:()=>MA,MetadataSemantic:()=>hb,MetadataTable:()=>Pl,MetadataTableProperty:()=>j1,MetadataType:()=>dt,MipmapHint:()=>nm,Model:()=>Jd,Model3DTileContent:()=>Eu,ModelAlphaOptions:()=>yM,ModelAnimation:()=>oO,ModelAnimationChannel:()=>iO,ModelAnimationCollection:()=>rO,ModelAnimationLoop:()=>Ll,ModelAnimationState:()=>$d,ModelArticulation:()=>_O,ModelArticulationStage:()=>pO,ModelClippingPlanesPipelineStage:()=>xO,ModelClippingPolygonsPipelineStage:()=>CO,ModelColorPipelineStage:()=>wy,ModelComponents:()=>Cn,ModelDrawCommand:()=>PM,ModelDrawCommands:()=>MM,ModelFeature:()=>sO,ModelFeatureTable:()=>cO,ModelGraphics:()=>kp,ModelLightingOptions:()=>vM,ModelMatrixUpdateStage:()=>IO,ModelNode:()=>AO,ModelRenderResources:()=>xM,ModelRuntimeNode:()=>RO,ModelRuntimePrimitive:()=>_M,ModelSceneGraph:()=>LM,ModelSilhouettePipelineStage:()=>CM,ModelSkin:()=>gM,ModelSplitterPipelineStage:()=>EM,ModelStatistics:()=>NM,ModelType:()=>pr,ModelUtility:()=>Zt,ModelVisualizer:()=>FN,Moon:()=>j2,MorphTargetsPipelineStage:()=>nM,MorphWeightSpline:()=>eK,MortonOrder:()=>Hy,Multiple3DTileContent:()=>mL,MultisampleFramebuffer:()=>hP,NavigationHelpButton:()=>kk,NavigationHelpButtonViewModel:()=>Bk,NearFarScalar:()=>Vt,NeverTileDiscardPolicy:()=>j$,NodeRenderResources:()=>SM,NodeStatisticsPipelineStage:()=>PO,NodeTransformationProperty:()=>Hx,OIT:()=>hB,Occluder:()=>jF,OffsetGeometryInstanceAttribute:()=>to,OpenCageGeocoderService:()=>iK,OpenStreetMapImageryProvider:()=>vg,OrderedGroundPrimitiveCollection:()=>lN,OrientedBoundingBox:()=>Dn,OrthographicFrustum:()=>cn,OrthographicOffCenterFrustum:()=>Ur,Packable:()=>oK,PackableForInterpolation:()=>rK,Particle:()=>qv,ParticleBurst:()=>Y$,ParticleEmitter:()=>X$,ParticleSystem:()=>K$,Pass:()=>ve,PassState:()=>oc,PathGraphics:()=>Vp,PathVisualizer:()=>kN,PeliasGeocoderService:()=>WF,PerInstanceColorAppearance:()=>fn,PerformanceDisplay:()=>pg,PerformanceWatchdog:()=>Uk,PerformanceWatchdogViewModel:()=>Vk,PerspectiveFrustum:()=>Pi,PerspectiveOffCenterFrustum:()=>fl,PickDepth:()=>lB,PickDepthFramebuffer:()=>pB,PickFramebuffer:()=>gB,PickedMetadataInfo:()=>E3,Picking:()=>TB,PickingPipelineStage:()=>iM,PinBuilder:()=>tg,PixelDatatype:()=>Ye,PixelFormat:()=>nt,Plane:()=>un,PlaneGeometry:()=>hN,PlaneGeometryUpdater:()=>pN,PlaneGraphics:()=>S1,PlaneOutlineGeometry:()=>mN,PntsLoader:()=>BM,PntsParser:()=>wb,PointCloud:()=>L3,PointCloudEyeDomeLighting:()=>a_,PointCloudShading:()=>pm,PointCloudStylingPipelineStage:()=>rM,PointGraphics:()=>Wx,PointPrimitive:()=>Ns,PointPrimitiveCollection:()=>OE,PointVisualizer:()=>UN,PolygonGeometry:()=>t_,PolygonGeometryLibrary:()=>Gn,PolygonGeometryUpdater:()=>xN,PolygonGraphics:()=>Ld,PolygonHierarchy:()=>Na,PolygonOutlineGeometry:()=>yN,PolygonPipeline:()=>ci,Polyline:()=>Nf,PolylineArrowMaterialProperty:()=>VE,PolylineCollection:()=>nh,PolylineColorAppearance:()=>is,PolylineDashMaterialProperty:()=>zE,PolylineGeometry:()=>Z_,PolylineGeometryUpdater:()=>GN,PolylineGlowMaterialProperty:()=>GE,PolylineGraphics:()=>cc,PolylineMaterialAppearance:()=>ha,PolylineOutlineMaterialProperty:()=>Zy,PolylinePipeline:()=>Li,PolylineVisualizer:()=>jN,PolylineVolumeGeometry:()=>CN,PolylineVolumeGeometryLibrary:()=>ah,PolylineVolumeGeometryUpdater:()=>vN,PolylineVolumeGraphics:()=>jx,PolylineVolumeOutlineGeometry:()=>SN,PositionProperty:()=>Od,PositionPropertyArray:()=>U_,PostProcessStage:()=>xo,PostProcessStageCollection:()=>GB,PostProcessStageComposite:()=>Jl,PostProcessStageLibrary:()=>ef,PostProcessStageSampleMode:()=>Ju,PostProcessStageTextureCache:()=>lC,PpeMetadata:()=>HR,PpeSource:()=>fQ,PpeTexture:()=>zR,Primitive:()=>Pn,PrimitiveCollection:()=>Ul,PrimitiveLoadPlan:()=>Cb,PrimitiveOutlineGenerator:()=>Tb,PrimitiveOutlinePipelineStage:()=>cM,PrimitivePipeline:()=>Ix,PrimitiveRenderResources:()=>wM,PrimitiveState:()=>Ir,PrimitiveStatisticsPipelineStage:()=>lM,PrimitiveType:()=>Ne,ProjectionPicker:()=>Hk,ProjectionPickerViewModel:()=>zk,Property:()=>q,PropertyArray:()=>jE,PropertyAttribute:()=>bb,PropertyAttributeProperty:()=>PR,PropertyBag:()=>vl,PropertyTable:()=>Qc,PropertyTexture:()=>r_,PropertyTextureProperty:()=>IR,ProviderViewModel:()=>hs,Proxy:()=>aK,QuadraticRealPolynomial:()=>Bc,QuadtreeOccluders:()=>N2,QuadtreePrimitive:()=>z2,QuadtreeTile:()=>F2,QuadtreeTileLoadState:()=>sa,QuadtreeTileProvider:()=>Z$,QuantizedMeshTerrainData:()=>MT,QuarticRealPolynomial:()=>Ew,Quaternion:()=>Le,QuaternionSpline:()=>nO,Queue:()=>gy,Ray:()=>yn,Rectangle:()=>ae,RectangleCollisionChecker:()=>_T,RectangleGeometry:()=>cT,RectangleGeometryLibrary:()=>Ls,RectangleGeometryUpdater:()=>wN,RectangleGraphics:()=>Nd,RectangleOutlineGeometry:()=>Fb,ReferenceFrame:()=>zi,ReferenceProperty:()=>z_,RenderState:()=>Ve,Renderbuffer:()=>lu,RenderbufferFormat:()=>Vc,Request:()=>er,RequestErrorEvent:()=>Xh,RequestScheduler:()=>tc,RequestState:()=>Jn,RequestType:()=>_s,Resource:()=>Ae,ResourceCache:()=>wi,ResourceCacheKey:()=>Ml,ResourceCacheStatistics:()=>_R,ResourceLoader:()=>Ki,ResourceLoaderState:()=>yt,Rotation:()=>Xf,RuntimeError:()=>se,S2Cell:()=>Yp,SDFSettings:()=>Js,SampledPositionProperty:()=>xa,SampledProperty:()=>Lu,Sampler:()=>Qt,ScaledPositionProperty:()=>Pm,Scene:()=>v3,SceneFramebuffer:()=>nC,SceneMode:()=>ne,SceneMode2DPipelineStage:()=>uM,SceneModePicker:()=>Wk,SceneModePickerViewModel:()=>Gk,SceneTransforms:()=>Hi,SceneTransitioner:()=>jB,ScreenSpaceCameraController:()=>KB,ScreenSpaceEventHandler:()=>Ku,ScreenSpaceEventType:()=>An,SelectedFeatureIdPipelineStage:()=>Py,SelectionIndicator:()=>Yk,SelectionIndicatorViewModel:()=>qk,SensorVolumePortionToDisplay:()=>KE,ShaderBuilder:()=>Cx,ShaderCache:()=>aP,ShaderDestination:()=>pe,ShaderFunction:()=>gP,ShaderProgram:()=>tn,ShaderSource:()=>Ue,ShaderStruct:()=>_P,ShadowMap:()=>yg,ShadowMapShader:()=>ep,ShadowMode:()=>Tn,ShadowVolumeAppearance:()=>du,ShowGeometryInstanceAttribute:()=>bn,Simon1994PlanetaryPositions:()=>Gg,SimplePolylineGeometry:()=>yK,SingleTileImageryProvider:()=>v2,SkinningPipelineStage:()=>dM,SkyAtmosphere:()=>w3,SkyBox:()=>D3,SpatialNode:()=>b3,Spdcf:()=>VR,SpecularEnvironmentCubeMap:()=>kd,SphereEmitter:()=>Q$,SphereGeometry:()=>xK,SphereOutlineGeometry:()=>v_,Spherical:()=>eN,Spline:()=>co,SplitDirection:()=>zr,Splitter:()=>Fv,StaticGeometryColorBatch:()=>Qf,StaticGeometryPerMaterialBatch:()=>Jf,StaticGroundGeometryColorBatch:()=>hS,StaticGroundGeometryPerMaterialBatch:()=>MN,StaticGroundPolylinePerMaterialBatch:()=>WN,StaticOutlineGeometryBatch:()=>_S,StencilConstants:()=>zt,StencilFunction:()=>Hn,StencilOperation:()=>ht,SteppedSpline:()=>tO,Stereographic:()=>dc,StorageType:()=>by,StripeMaterialProperty:()=>YE,StripeOrientation:()=>hh,StructuralMetadata:()=>$s,StyleCommandsNeeded:()=>Qd,StyleExpression:()=>J$,Sun:()=>R3,SunLight:()=>vp,SunPostProcess:()=>QB,SupportedImageFormats:()=>NR,SvgPathBindingHandler:()=>lk,TaskProcessor:()=>bi,Terrain:()=>ok,TerrainData:()=>wh,TerrainEncoding:()=>vc,TerrainFillMesh:()=>gv,TerrainMesh:()=>sd,TerrainOffsetProperty:()=>qx,TerrainProvider:()=>ls,TerrainQuantization:()=>oa,TerrainState:()=>yo,Texture:()=>Pt,TextureAtlas:()=>Ny,TextureCache:()=>cP,TextureMagnificationFilter:()=>pi,TextureManager:()=>T3,TextureMinificationFilter:()=>$t,TextureUniform:()=>lQ,TextureWrap:()=>En,TileAvailability:()=>Dh,TileBoundingRegion:()=>Hf,TileBoundingS2Cell:()=>yL,TileBoundingSphere:()=>w_,TileBoundingVolume:()=>eQ,TileCoordinatesImageryProvider:()=>sk,TileDiscardPolicy:()=>nQ,TileEdge:()=>xn,TileImagery:()=>mv,TileMapServiceImageryProvider:()=>F0,TileMetadata:()=>dL,TileOrientedBoundingBox:()=>Du,TileProviderError:()=>Oo,TileReplacementQueue:()=>B2,TileSelectionResult:()=>Zn,TileState:()=>iQ,Tileset3DTileContent:()=>UM,TilesetMetadata:()=>xL,TilesetPipelineStage:()=>lO,TilingScheme:()=>bK,TimeConstants:()=>Kn,TimeDynamicImagery:()=>ZT,TimeDynamicPointCloud:()=>kv,TimeInterval:()=>Sn,TimeIntervalCollection:()=>Kr,TimeIntervalCollectionPositionProperty:()=>H_,TimeIntervalCollectionProperty:()=>G_,TimeStandard:()=>Yn,Timeline:()=>Zk,TimelineHighlightRange:()=>Xk,TimelineTrack:()=>Kk,Tipsify:()=>Sw,ToggleButtonViewModel:()=>X0,Tonemapper:()=>bg,TrackingReferenceFrame:()=>Op,Transforms:()=>Lt,TranslationRotationScale:()=>Qg,TranslucentTileClassification:()=>yB,TridiagonalSystemSolver:()=>ZA,TrustedServers:()=>jC,TweenCollection:()=>dC,UniformState:()=>fP,UniformType:()=>Rv,UrlTemplateImageryProvider:()=>qa,VERSION:()=>ewt,VRButton:()=>Jk,VRButtonViewModel:()=>Qk,VRTheWorldTerrainProvider:()=>CK,VaryingType:()=>uQ,Vector3DTileBatch:()=>cm,Vector3DTileClampedPolylines:()=>cL,Vector3DTileContent:()=>uL,Vector3DTileGeometry:()=>qp,Vector3DTilePoints:()=>tL,Vector3DTilePolygons:()=>nL,Vector3DTilePolylines:()=>Ob,Vector3DTilePrimitive:()=>eb,VelocityOrientationProperty:()=>nN,VelocityVectorProperty:()=>W_,VertexArray:()=>ii,VertexArrayFacade:()=>wp,VertexAttributeSemantic:()=>St,VertexFormat:()=>Ie,VerticalExaggeration:()=>Dr,VerticalExaggerationPipelineStage:()=>mM,VerticalOrigin:()=>Mn,VideoSynchronizer:()=>TK,View:()=>rC,Viewer:()=>RQ,ViewportQuad:()=>oQ,Visibility:()=>Tr,Visualizer:()=>fX,VoxelBoxShape:()=>op,VoxelCell:()=>t3,VoxelContent:()=>U3,VoxelCylinderShape:()=>rp,VoxelEllipsoidShape:()=>_C,VoxelInspector:()=>tV,VoxelInspectorViewModel:()=>eV,VoxelPrimitive:()=>j0,VoxelProvider:()=>sQ,VoxelRenderResources:()=>_3,VoxelShape:()=>aQ,VoxelShapeType:()=>Vi,VoxelTraversal:()=>Pv,VulkanConstants:()=>AK,WallGeometry:()=>IN,WallGeometryLibrary:()=>lT,WallGeometryUpdater:()=>ON,WallGraphics:()=>Up,WallOutlineGeometry:()=>RN,WebGLConstants:()=>te,WebMapServiceImageryProvider:()=>D2,WebMapTileServiceImageryProvider:()=>P2,WebMercatorProjection:()=>Mi,WebMercatorTilingScheme:()=>us,WindingOrder:()=>gs,WireframeIndexGenerator:()=>oE,WireframePipelineStage:()=>pM,_shadersAcesTonemappingStage:()=>CB,_shadersAdditiveBlend:()=>ZB,_shadersAdjustTranslucentFS:()=>JS,_shadersAllMaterialAppearanceFS:()=>EP,_shadersAllMaterialAppearanceVS:()=>SP,_shadersAmbientOcclusionGenerate:()=>AB,_shadersAmbientOcclusionModulate:()=>EB,_shadersAspectRampMaterial:()=>PP,_shadersAtmosphereCommon:()=>Yd,_shadersAtmosphereStageFS:()=>uO,_shadersAtmosphereStageVS:()=>fO,_shadersBasicMaterialAppearanceFS:()=>vP,_shadersBasicMaterialAppearanceVS:()=>wP,_shadersBillboardCollectionFS:()=>zM,_shadersBillboardCollectionVS:()=>HM,_shadersBlackAndWhite:()=>SB,_shadersBloomComposite:()=>vB,_shadersBrdfLutGeneratorFS:()=>ZF,_shadersBrightPass:()=>$B,_shadersBrightness:()=>wB,_shadersBumpMapMaterial:()=>RP,_shadersCPUStylingStageFS:()=>FO,_shadersCPUStylingStageVS:()=>NO,_shadersCheckerboardMaterial:()=>OP,_shadersCloudCollectionFS:()=>$F,_shadersCloudCollectionVS:()=>QF,_shadersCloudNoiseFS:()=>JF,_shadersCloudNoiseVS:()=>e2,_shadersCompareAndPackTranslucentDepth:()=>t2,_shadersCompositeOITFS:()=>n2,_shadersCompositeTranslucentClassification:()=>oC,_shadersComputeIrradianceFS:()=>CR,_shadersComputeRadianceMapFS:()=>AR,_shadersContrastBias:()=>DB,_shadersConvolveSpecularMapFS:()=>ER,_shadersConvolveSpecularMapVS:()=>SR,_shadersCustomShaderStageFS:()=>VO,_shadersCustomShaderStageVS:()=>kO,_shadersCzmBuiltins:()=>xx,_shadersDepthOfField:()=>IB,_shadersDepthPlaneFS:()=>i2,_shadersDepthPlaneVS:()=>o2,_shadersDepthView:()=>PB,_shadersDepthViewPacked:()=>cQ,_shadersDotMaterial:()=>MP,_shadersEdgeDetection:()=>RB,_shadersElevationBandMaterial:()=>LP,_shadersElevationContourMaterial:()=>NP,_shadersElevationRampMaterial:()=>FP,_shadersEllipsoidFS:()=>ev,_shadersEllipsoidSurfaceAppearanceFS:()=>j3,_shadersEllipsoidSurfaceAppearanceVS:()=>q3,_shadersEllipsoidVS:()=>tv,_shadersFXAA:()=>LB,_shadersFXAA3_11:()=>r2,_shadersFadeMaterial:()=>BP,_shadersFeatureIdStageFS:()=>UO,_shadersFeatureIdStageVS:()=>zO,_shadersFilmicTonemapping:()=>OB,_shadersGaussianBlur1D:()=>G0,_shadersGeometryStageFS:()=>YO,_shadersGeometryStageVS:()=>XO,_shadersGlobeFS:()=>s2,_shadersGlobeVS:()=>a2,_shadersGridMaterial:()=>kP,_shadersGroundAtmosphere:()=>nv,_shadersHSBToRGB:()=>sI,_shadersHSLToRGB:()=>aI,_shadersImageBasedLightingStageFS:()=>hO,_shadersInstancingStageCommon:()=>EO,_shadersInstancingStageVS:()=>SO,_shadersIntersectBox:()=>c3,_shadersIntersectClippingPlanes:()=>a3,_shadersIntersectCylinder:()=>l3,_shadersIntersectDepth:()=>s3,_shadersIntersectEllipsoid:()=>u3,_shadersIntersectLongitude:()=>Dv,_shadersIntersection:()=>pC,_shadersIntersectionUtils:()=>r3,_shadersLegacyInstancingStageVS:()=>vO,_shadersLensFlare:()=>NB,_shadersLightingStageFS:()=>$O,_shadersMaterialStageFS:()=>JO,_shadersMegatexture:()=>p3,_shadersMetadataStageFS:()=>HO,_shadersMetadataStageVS:()=>GO,_shadersModelClippingPlanesStageFS:()=>yO,_shadersModelClippingPolygonsStageFS:()=>TO,_shadersModelClippingPolygonsStageVS:()=>bO,_shadersModelColorStageFS:()=>gO,_shadersModelFS:()=>OM,_shadersModelSilhouetteStageFS:()=>bM,_shadersModelSilhouetteStageVS:()=>TM,_shadersModelSplitterStageFS:()=>AM,_shadersModelVS:()=>RM,_shadersModifiedReinhardTonemapping:()=>FB,_shadersMorphTargetsStageVS:()=>tM,_shadersNightVision:()=>BB,_shadersNormalMapMaterial:()=>VP,_shadersOctree:()=>m3,_shadersPassThrough:()=>Ql,_shadersPassThroughDepth:()=>U0,_shadersPbrNeutralTonemapping:()=>MB,_shadersPerInstanceColorAppearanceFS:()=>ZP,_shadersPerInstanceColorAppearanceVS:()=>$P,_shadersPerInstanceFlatColorAppearanceFS:()=>wx,_shadersPerInstanceFlatColorAppearanceVS:()=>QP,_shadersPointCloudEyeDomeLighting:()=>jR,_shadersPointCloudStylingStageVS:()=>oM,_shadersPointPrimitiveCollectionFS:()=>Ky,_shadersPointPrimitiveCollectionVS:()=>qL,_shadersPolygonSignedDistanceFS:()=>bR,_shadersPolylineArrowMaterial:()=>UP,_shadersPolylineColorAppearanceVS:()=>d1,_shadersPolylineCommon:()=>hu,_shadersPolylineDashMaterial:()=>zP,_shadersPolylineFS:()=>Lx,_shadersPolylineGlowMaterial:()=>HP,_shadersPolylineMaterialAppearanceVS:()=>h1,_shadersPolylineOutlineMaterial:()=>GP,_shadersPolylineShadowVolumeFS:()=>c1,_shadersPolylineShadowVolumeMorphFS:()=>l1,_shadersPolylineShadowVolumeMorphVS:()=>u1,_shadersPolylineShadowVolumeVS:()=>f1,_shadersPolylineVS:()=>KM,_shadersPrimitiveOutlineStageFS:()=>aM,_shadersPrimitiveOutlineStageVS:()=>sM,_shadersRGBToHSB:()=>MI,_shadersRGBToHSL:()=>LI,_shadersRGBToXYZ:()=>NI,_shadersReinhardTonemapping:()=>kB,_shadersReprojectWebMercatorFS:()=>c2,_shadersReprojectWebMercatorVS:()=>l2,_shadersRimLightingMaterial:()=>WP,_shadersSelectedFeatureIdStageCommon:()=>iE,_shadersShadowVolumeAppearanceFS:()=>lA,_shadersShadowVolumeAppearanceVS:()=>t1,_shadersShadowVolumeFS:()=>Xg,_shadersSilhouette:()=>VB,_shadersSkinningStageVS:()=>fM,_shadersSkyAtmosphereCommon:()=>iv,_shadersSkyAtmosphereFS:()=>u2,_shadersSkyAtmosphereVS:()=>f2,_shadersSkyBoxFS:()=>d2,_shadersSkyBoxVS:()=>h2,_shadersSlopeRampMaterial:()=>jP,_shadersStripeMaterial:()=>qP,_shadersSunFS:()=>m2,_shadersSunTextureFS:()=>p2,_shadersSunVS:()=>_2,_shadersTexturedMaterialAppearanceFS:()=>DP,_shadersTexturedMaterialAppearanceVS:()=>IP,_shadersVector3DTileClampedPolylinesFS:()=>sL,_shadersVector3DTileClampedPolylinesVS:()=>rL,_shadersVector3DTilePolylinesVS:()=>iL,_shadersVectorTileVS:()=>bA,_shadersVerticalExaggerationStageVS:()=>hM,_shadersViewportQuadFS:()=>g2,_shadersViewportQuadVS:()=>ux,_shadersVoxelFS:()=>i3,_shadersVoxelUtils:()=>n3,_shadersVoxelVS:()=>o3,_shadersWater:()=>XP,_shadersWaterMaskMaterial:()=>YP,_shadersXYZToRGB:()=>rP,_shadersacesTonemapping:()=>ED,_shadersalphaWeight:()=>SD,_shadersantialias:()=>vD,_shadersapplyHSBShift:()=>wD,_shadersapproximateSphericalCoordinates:()=>DD,_shadersapproximateTanh:()=>ID,_shadersbackFacing:()=>PD,_shadersbranchFreeTernary:()=>RD,_shaderscascadeColor:()=>OD,_shaderscascadeDistance:()=>MD,_shaderscascadeMatrix:()=>LD,_shaderscascadeWeights:()=>ND,_shadersclipPolygons:()=>FD,_shaderscolumbusViewMorph:()=>BD,_shaderscomputeAtmosphereColor:()=>kD,_shaderscomputeGroundAtmosphereScattering:()=>VD,_shaderscomputePosition:()=>UD,_shaderscomputeScattering:()=>zD,_shadersconvertUvToBox:()=>f3,_shadersconvertUvToCylinder:()=>d3,_shadersconvertUvToEllipsoid:()=>h3,_shaderscosineAndSine:()=>HD,_shadersdecompressTextureCoordinates:()=>GD,_shadersdegreesPerRadian:()=>Ow,_shadersdepthClamp:()=>WD,_shadersdepthRange:()=>Mw,_shadersdepthRangeStruct:()=>_D,_shaderseastNorthUpToEyeCoordinates:()=>jD,_shadersellipsoidContainsPoint:()=>qD,_shadersellipsoidTextureCoordinates:()=>YD,_shadersepsilon1:()=>Lw,_shadersepsilon2:()=>Nw,_shadersepsilon3:()=>Fw,_shadersepsilon4:()=>Bw,_shadersepsilon5:()=>kw,_shadersepsilon6:()=>Vw,_shadersepsilon7:()=>Uw,_shadersequalsEpsilon:()=>XD,_shaderseyeOffset:()=>KD,_shaderseyeToWindowCoordinates:()=>ZD,_shadersfastApproximateAtan:()=>$D,_shadersfog:()=>QD,_shadersgammaCorrect:()=>JD,_shadersgeodeticSurfaceNormal:()=>eI,_shadersgetDefaultMaterial:()=>tI,_shadersgetDynamicAtmosphereLightDirection:()=>nI,_shadersgetLambertDiffuse:()=>iI,_shadersgetSpecular:()=>oI,_shadersgetWaterNoise:()=>rI,_shadershue:()=>cI,_shadersinfinity:()=>zw,_shadersinverseGamma:()=>lI,_shadersisEmpty:()=>uI,_shadersisFull:()=>fI,_shaderslatitudeToWebMercatorFraction:()=>dI,_shaderslineDistance:()=>mI,_shaderslinearToSrgb:()=>hI,_shadersluminance:()=>pI,_shadersmaterial:()=>gD,_shadersmaterialInput:()=>yD,_shadersmaximumComponent:()=>_I,_shadersmetersPerPixel:()=>gI,_shadersmodelMaterial:()=>xD,_shadersmodelToWindowCoordinates:()=>yI,_shadersmodelVertexOutput:()=>bD,_shadersmultiplyWithColorBalance:()=>xI,_shadersnearFarScalar:()=>bI,_shadersoctDecode:()=>TI,_shadersoneOverPi:()=>Hw,_shadersoneOverTwoPi:()=>Gw,_shaderspackDepth:()=>CI,_shaderspassCesium3DTile:()=>Ww,_shaderspassCesium3DTileClassification:()=>jw,_shaderspassCesium3DTileClassificationIgnoreShow:()=>qw,_shaderspassClassification:()=>Yw,_shaderspassCompute:()=>Xw,_shaderspassEnvironment:()=>Kw,_shaderspassGlobe:()=>Zw,_shaderspassOpaque:()=>$w,_shaderspassOverlay:()=>Qw,_shaderspassTerrainClassification:()=>Jw,_shaderspassTranslucent:()=>eD,_shaderspassVoxels:()=>tD,_shaderspbrLighting:()=>AI,_shaderspbrNeutralTonemapping:()=>EI,_shadersphong:()=>SI,_shaderspi:()=>nD,_shaderspiOverFour:()=>iD,_shaderspiOverSix:()=>oD,_shaderspiOverThree:()=>rD,_shaderspiOverTwo:()=>sD,_shadersplaneDistance:()=>vI,_shaderspointAlongRay:()=>wI,_shadersradiansPerDegree:()=>aD,_shadersray:()=>TD,_shadersrayEllipsoidIntersectionInterval:()=>DI,_shadersraySegment:()=>CD,_shadersraySphereIntersectionInterval:()=>II,_shadersreadDepth:()=>PI,_shadersreadNonPerspective:()=>RI,_shadersreverseLogDepth:()=>OI,_shadersround:()=>FI,_shaderssaturation:()=>BI,_shaderssceneMode2D:()=>cD,_shaderssceneMode3D:()=>lD,_shaderssceneModeColumbusView:()=>uD,_shaderssceneModeMorphing:()=>fD,_shadersshadowDepthCompare:()=>kI,_shadersshadowParameters:()=>AD,_shadersshadowVisibility:()=>VI,_shaderssignNotZero:()=>UI,_shaderssolarRadius:()=>dD,_shaderssphericalHarmonics:()=>zI,_shaderssrgbToLinear:()=>HI,_shaderstangentToEyeSpaceMatrix:()=>GI,_shaderstextureCube:()=>WI,_shadersthreePiOver2:()=>hD,_shaderstransformPlane:()=>jI,_shaderstranslateRelativeToEye:()=>qI,_shaderstranslucentPhong:()=>YI,_shaderstranspose:()=>XI,_shaderstwoPi:()=>mD,_shadersunpackClippingExtents:()=>KI,_shadersunpackDepth:()=>ZI,_shadersunpackFloat:()=>$I,_shadersunpackUint:()=>QI,_shadersvalueTransform:()=>JI,_shadersvertexLogDepth:()=>eP,_shaderswebMercatorMaxLatitude:()=>pD,_shaderswindowToEyeCoordinates:()=>tP,_shaderswriteDepthClamp:()=>nP,_shaderswriteLogDepth:()=>iP,_shaderswriteNonPerspective:()=>oP,addBuffer:()=>oR,addDefaults:()=>Z1,addExtensionsRequired:()=>tR,addExtensionsUsed:()=>vf,addPipelineExtras:()=>ly,addToArray:()=>Rs,appendForwardSlash:()=>nw,arrayRemoveDuplicates:()=>So,barycentricCoordinates:()=>dx,binarySearch:()=>Lo,buildModuleUrl:()=>sn,buildVoxelDrawCommands:()=>y3,clone:()=>He,combine:()=>Ct,computeFlyToLocationForRectangle:()=>YT,createBillboardPointCallback:()=>Db,createCommand:()=>vn,createDefaultImageryProviderViewModels:()=>Ck,createDefaultTerrainProviderViewModels:()=>Ak,createElevationBandMaterial:()=>w$,createGooglePhotorealistic3DTileset:()=>D$,createGuid:()=>Wn,createMaterialPropertyDescriptor:()=>No,createOsmBuildingsAsync:()=>I$,createPropertyDescriptor:()=>le,createRawPropertyDescriptor:()=>jc,createTangentSpaceDebugPrimitive:()=>P$,createTaskProcessorWorker:()=>dQ,createUniform:()=>pw,createUniformArray:()=>_w,createWorldBathymetryAsync:()=>OF,createWorldImageryAsync:()=>hg,createWorldTerrainAsync:()=>NT,decodeGoogleEarthEnterpriseData:()=>MF,decodeVectorPolylinePositions:()=>lL,defaultValue:()=>y,defer:()=>xl,defined:()=>l,demodernizeShader:()=>sP,deprecationWarning:()=>ys,destroyObject:()=>ue,exportKml:()=>pY,findAccessorMinMax:()=>cb,findContentMetadata:()=>Lb,findGroupMetadata:()=>Nb,findTileMetadata:()=>hL,forEachTextureInMaterial:()=>IA,formatError:()=>jm,freezeRenderState:()=>i6,getAbsoluteUri:()=>qh,getAccessorByteStride:()=>Rl,getBaseUri:()=>iw,getBinaryAccessor:()=>gu,getClipAndStyleCode:()=>O3,getClippingFunction:()=>lg,getComponentReader:()=>Jp,getElement:()=>Rn,getExtensionFromUri:()=>tx,getFilenameFromUri:()=>k_,getImageFromTypedArray:()=>kF,getImagePixels:()=>Td,getJsonFromTypedArray:()=>Bo,getMagic:()=>Ud,getMetadataClassProperty:()=>A3,getMetadataProperty:()=>S3,getStringFromTypedArray:()=>wl,getTimestamp:()=>Ei,hasExtension:()=>si,heightReferenceOnEntityPropertyChanged:()=>zp,isBitSet:()=>wc,isBlobUri:()=>nx,isCrossOriginUrl:()=>Lg,isDataUri:()=>yp,isLeapYear:()=>bd,knockout:()=>be,knockout_3_5_1:()=>RC,knockout_es5:()=>ck,loadAndExecuteScript:()=>ix,loadCubeMap:()=>pP,loadImageFromTypedArray:()=>rb,loadKTX2:()=>Tl,mergeSort:()=>cg,moveTechniqueRenderStates:()=>eR,moveTechniquesToExtension:()=>nR,numberOfComponentsForType:()=>xu,objectToQuery:()=>ox,oneTimeWarning:()=>bt,parseBatchTable:()=>u_,parseFeatureMetadataLegacy:()=>MR,parseGlb:()=>Q1,parseResponseHeaders:()=>ow,parseStructuralMetadata:()=>OR,pickModel:()=>aE,pointInsideTriangle:()=>sK,preprocess3DTileContent:()=>Cm,processVoxelProperties:()=>g3,queryToObject:()=>ru,readAccessorPacked:()=>rR,removeExtension:()=>lb,removeExtensionsRequired:()=>$1,removeExtensionsUsed:()=>ab,removePipelineExtras:()=>J1,removeUnusedElements:()=>iR,resizeImageToNextPowerOfTwo:()=>dy,sampleTerrain:()=>qF,sampleTerrainMostDetailed:()=>GT,scaleToGeodeticSurface:()=>ex,srgbToLinear:()=>jT,subdivideArray:()=>n1,subscribeAndEvaluate:()=>Sa,updateAccessorComponentTypes:()=>sR,updateVersion:()=>aR,usesExtension:()=>mr,viewerCesium3DTilesInspectorMixin:()=>OQ,viewerCesiumInspectorMixin:()=>MQ,viewerDragDropMixin:()=>NQ,viewerPerformanceWatchdogMixin:()=>FQ,viewerVoxelInspectorMixin:()=>BQ,webGLConstantToGlslType:()=>EK,wrapFunction:()=>KF,writeTextToCanvas:()=>Pb});module.exports=jh(twt);function NEe(e){return e!=null}var l=NEe;function Q0(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(Q0.prototype=Object.create(Error.prototype),Q0.prototype.constructor=Q0);Q0.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` +${this.stack.toString()}`),e};Q0.throwInstantiationError=function(){throw new Q0("This function defines an interface and should not be called directly.")};var de=Q0;var Is={};Is.typeOf={};function FEe(e){return`${e} is required, actual value was undefined`}function NC(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}Is.defined=function(e,t){if(!l(t))throw new de(FEe(e))};Is.typeOf.func=function(e,t){if(typeof t!="function")throw new de(NC(typeof t,"function",e))};Is.typeOf.string=function(e,t){if(typeof t!="string")throw new de(NC(typeof t,"string",e))};Is.typeOf.number=function(e,t){if(typeof t!="number")throw new de(NC(typeof t,"number",e))};Is.typeOf.number.lessThan=function(e,t,n){if(Is.typeOf.number(e,t),t>=n)throw new de(`Expected ${e} to be less than ${n}, actual value was ${t}`)};Is.typeOf.number.lessThanOrEquals=function(e,t,n){if(Is.typeOf.number(e,t),t>n)throw new de(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};Is.typeOf.number.greaterThan=function(e,t,n){if(Is.typeOf.number(e,t),t<=n)throw new de(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};Is.typeOf.number.greaterThanOrEquals=function(e,t,n){if(Is.typeOf.number(e,t),t<n)throw new de(`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)};Is.typeOf.object=function(e,t){if(typeof t!="object")throw new de(NC(typeof t,"object",e))};Is.typeOf.bool=function(e,t){if(typeof t!="boolean")throw new de(NC(typeof t,"boolean",e))};Is.typeOf.bigint=function(e,t){if(typeof t!="bigint")throw new de(NC(typeof t,"bigint",e))};Is.typeOf.number.equals=function(e,t,n,i){if(Is.typeOf.number(e,n),Is.typeOf.number(t,i),n!==i)throw new de(`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)};var Ao=Is;function UQ(e,t){return e??t}UQ.EMPTY_OBJECT=Object.freeze({});var y=UQ;var m5=Wo(oV(),1);var st={};st.EPSILON1=.1;st.EPSILON2=.01;st.EPSILON3=.001;st.EPSILON4=1e-4;st.EPSILON5=1e-5;st.EPSILON6=1e-6;st.EPSILON7=1e-7;st.EPSILON8=1e-8;st.EPSILON9=1e-9;st.EPSILON10=1e-10;st.EPSILON11=1e-11;st.EPSILON12=1e-12;st.EPSILON13=1e-13;st.EPSILON14=1e-14;st.EPSILON15=1e-15;st.EPSILON16=1e-16;st.EPSILON17=1e-17;st.EPSILON18=1e-18;st.EPSILON19=1e-19;st.EPSILON20=1e-20;st.EPSILON21=1e-21;st.GRAVITATIONALPARAMETER=3986004418e5;st.SOLAR_RADIUS=6955e5;st.LUNAR_RADIUS=1737400;st.SIXTY_FOUR_KILOBYTES=64*1024;st.FOUR_GIGABYTES=4*1024*1024*1024;st.sign=y(Math.sign,function(t){return t=+t,t===0||t!==t?t:t>0?1:-1});st.signNotZero=function(e){return e<0?-1:1};st.toSNorm=function(e,t){return t=y(t,255),Math.round((st.clamp(e,-1,1)*.5+.5)*t)};st.fromSNorm=function(e,t){return t=y(t,255),st.clamp(e,0,t)/t*2-1};st.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:st.clamp((e-t)/n,0,1)};st.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});st.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});st.lerp=function(e,t,n){return(1-n)*e+n*t};st.PI=Math.PI;st.ONE_OVER_PI=1/Math.PI;st.PI_OVER_TWO=Math.PI/2;st.PI_OVER_THREE=Math.PI/3;st.PI_OVER_FOUR=Math.PI/4;st.PI_OVER_SIX=Math.PI/6;st.THREE_PI_OVER_TWO=3*Math.PI/2;st.TWO_PI=2*Math.PI;st.ONE_OVER_TWO_PI=1/(2*Math.PI);st.RADIANS_PER_DEGREE=Math.PI/180;st.DEGREES_PER_RADIAN=180/Math.PI;st.RADIANS_PER_ARCSECOND=st.RADIANS_PER_DEGREE/3600;st.toRadians=function(e){return e*st.RADIANS_PER_DEGREE};st.toDegrees=function(e){return e*st.DEGREES_PER_RADIAN};st.convertLongitudeRange=function(e){let t=st.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};st.clampToLatitudeRange=function(e){return st.clamp(e,-1*st.PI_OVER_TWO,st.PI_OVER_TWO)};st.negativePiToPi=function(e){return e>=-st.PI&&e<=st.PI?e:st.zeroToTwoPi(e+st.PI)-st.PI};st.zeroToTwoPi=function(e){if(e>=0&&e<=st.TWO_PI)return e;let t=st.mod(e,st.TWO_PI);return Math.abs(t)<st.EPSILON14&&Math.abs(e)>st.EPSILON14?st.TWO_PI:t};st.mod=function(e,t){return st.sign(e)===st.sign(t)&&Math.abs(e)<Math.abs(t)?e:(e%t+t)%t};st.equalsEpsilon=function(e,t,n,i){n=y(n,0),i=y(i,n);let o=Math.abs(e-t);return o<=i||o<=n*Math.max(Math.abs(e),Math.abs(t))};st.lessThan=function(e,t,n){return e-t<-n};st.lessThanOrEquals=function(e,t,n){return e-t<n};st.greaterThan=function(e,t,n){return e-t>n};st.greaterThanOrEquals=function(e,t,n){return e-t>-n};var rV=[1];st.factorial=function(e){let t=rV.length;if(e>=t){let n=rV[t-1];for(let i=t;i<=e;i++){let o=n*i;rV.push(o),n=o}}return rV[e]};st.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};st.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};st.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};st.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};st.clamp=function(e,t,n){return e<t?t:e>n?n:e};var HQ=new m5.default;st.setRandomNumberSeed=function(e){HQ=new m5.default(e)};st.nextRandomNumber=function(){return HQ.random()};st.randomBetween=function(e,t){return st.nextRandomNumber()*(t-e)+e};st.acosClamped=function(e){return Math.acos(st.clamp(e,-1,1))};st.asinClamped=function(e){return Math.asin(st.clamp(e,-1,1))};st.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};st.logBase=function(e,t){return Math.log(e)/Math.log(t)};st.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});st.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});st.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};st.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};st.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=st.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?st.PI_OVER_TWO-i:i,i=e<0?st.PI-i:i,i=t<0?-i:i,i};var P=st;function $e(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}$e.fromSpherical=function(e,t){l(t)||(t=new $e);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};$e.fromElements=function(e,t,n,i){return l(i)?(i.x=e,i.y=t,i.z=n,i):new $e(e,t,n)};$e.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new $e(e.x,e.y,e.z)};$e.fromCartesian4=$e.clone;$e.packedLength=3;$e.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};$e.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new $e),n.x=e[t++],n.y=e[t++],n.z=e[t],n};$e.packArray=function(e,t){let n=e.length,i=n*3;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)$e.pack(e[o],t,o*3);return t};$e.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/3:t=new Array(n/3);for(let i=0;i<n;i+=3){let o=i/3;t[o]=$e.unpack(e,i,t[o])}return t};$e.fromArray=$e.unpack;$e.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)};$e.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)};$e.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n};$e.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n};$e.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z);return i.x=o,i.y=r,i.z=s,i};$e.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z};$e.magnitude=function(e){return Math.sqrt($e.magnitudeSquared(e))};var aV=new $e;$e.distance=function(e,t){return $e.subtract(e,t,aV),$e.magnitude(aV)};$e.distanceSquared=function(e,t){return $e.subtract(e,t,aV),$e.magnitudeSquared(aV)};$e.normalize=function(e,t){let n=$e.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t};$e.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z};$e.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n};$e.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n};$e.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n};$e.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n};$e.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n};$e.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n};$e.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t};$e.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};var GQ=new $e;$e.lerp=function(e,t,n,i){return $e.multiplyByScalar(t,n,GQ),i=$e.multiplyByScalar(e,1-n,i),$e.add(GQ,i,i)};var sV=new $e,p5=new $e;$e.angleBetween=function(e,t){$e.normalize(e,sV),$e.normalize(t,p5);let n=$e.dot(sV,p5),i=$e.magnitude($e.cross(sV,p5,sV));return Math.atan2(i,n)};var BEe=new $e;$e.mostOrthogonalAxis=function(e,t){let n=$e.normalize(e,BEe);return $e.abs(n,n),n.x<=n.y?n.x<=n.z?t=$e.clone($e.UNIT_X,t):t=$e.clone($e.UNIT_Z,t):n.y<=n.z?t=$e.clone($e.UNIT_Y,t):t=$e.clone($e.UNIT_Z,t),t};$e.projectVector=function(e,t,n){let i=$e.dot(e,t)/$e.dot(t,t);return $e.multiplyByScalar(t,i,n)};$e.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z};$e.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]};$e.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)};$e.cross=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=t.x,a=t.y,c=t.z,u=o*c-r*a,f=r*s-i*c,d=i*a-o*s;return n.x=u,n.y=f,n.z=d,n};$e.midpoint=function(e,t,n){return n.x=(e.x+t.x)*.5,n.y=(e.y+t.y)*.5,n.z=(e.z+t.z)*.5,n};$e.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(e),t=P.toRadians(t),$e.fromRadians(e,t,n,i,o)};var uf=new $e,FC=new $e;$e._ellipsoidRadiiSquared=new $e(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);$e.fromRadians=function(e,t,n,i,o){n=y(n,0);let r=l(i)?i.radiiSquared:$e._ellipsoidRadiiSquared,s=Math.cos(t);uf.x=s*Math.cos(e),uf.y=s*Math.sin(e),uf.z=Math.sin(t),uf=$e.normalize(uf,uf),$e.multiplyComponents(r,uf,FC);let a=Math.sqrt($e.dot(uf,FC));return FC=$e.divideByScalar(FC,a,FC),uf=$e.multiplyByScalar(uf,n,uf),l(o)||(o=new $e),$e.add(FC,uf,o)};$e.fromDegreesArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=$e.fromDegrees(r,s,0,t,n[a])}return n};$e.fromRadiansArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=$e.fromRadians(r,s,0,t,n[a])}return n};$e.fromDegreesArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=$e.fromDegrees(r,s,a,t,n[c])}return n};$e.fromRadiansArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=$e.fromRadians(r,s,a,t,n[c])}return n};$e.ZERO=Object.freeze(new $e(0,0,0));$e.ONE=Object.freeze(new $e(1,1,1));$e.UNIT_X=Object.freeze(new $e(1,0,0));$e.UNIT_Y=Object.freeze(new $e(0,1,0));$e.UNIT_Z=Object.freeze(new $e(0,0,1));$e.prototype.clone=function(e){return $e.clone(this,e)};$e.prototype.equals=function(e){return $e.equals(this,e)};$e.prototype.equalsEpsilon=function(e,t,n){return $e.equalsEpsilon(this,e,t,n)};$e.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var h=$e;function Tt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}Tt.fromElements=function(e,t,n,i,o){return l(o)?(o.x=e,o.y=t,o.z=n,o.w=i,o):new Tt(e,t,n,i)};Tt.fromColor=function(e,t){return l(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new Tt(e.red,e.green,e.blue,e.alpha)};Tt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new Tt(e.x,e.y,e.z,e.w)};Tt.packedLength=4;Tt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};Tt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Tt),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};Tt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Tt.pack(e[o],t,o*4);return t};Tt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=Tt.unpack(e,i,t[o])}return t};Tt.fromArray=Tt.unpack;Tt.maximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)};Tt.minimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)};Tt.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n};Tt.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n};Tt.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z),a=P.clamp(e.w,t.w,n.w);return i.x=o,i.y=r,i.z=s,i.w=a,i};Tt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};Tt.magnitude=function(e){return Math.sqrt(Tt.magnitudeSquared(e))};var cV=new Tt;Tt.distance=function(e,t){return Tt.subtract(e,t,cV),Tt.magnitude(cV)};Tt.distanceSquared=function(e,t){return Tt.subtract(e,t,cV),Tt.magnitudeSquared(cV)};Tt.normalize=function(e,t){let n=Tt.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t};Tt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};Tt.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n};Tt.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n};Tt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};Tt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};Tt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};Tt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};Tt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};Tt.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var WQ=new Tt;Tt.lerp=function(e,t,n,i){return Tt.multiplyByScalar(t,n,WQ),i=Tt.multiplyByScalar(e,1-n,i),Tt.add(WQ,i,i)};var kEe=new Tt;Tt.mostOrthogonalAxis=function(e,t){let n=Tt.normalize(e,kEe);return Tt.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=Tt.clone(Tt.UNIT_X,t):t=Tt.clone(Tt.UNIT_W,t):n.z<=n.w?t=Tt.clone(Tt.UNIT_Z,t):t=Tt.clone(Tt.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=Tt.clone(Tt.UNIT_Y,t):t=Tt.clone(Tt.UNIT_W,t):n.z<=n.w?t=Tt.clone(Tt.UNIT_Z,t):t=Tt.clone(Tt.UNIT_W,t),t};Tt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};Tt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};Tt.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)&&P.equalsEpsilon(e.w,t.w,n,i)};Tt.ZERO=Object.freeze(new Tt(0,0,0,0));Tt.ONE=Object.freeze(new Tt(1,1,1,1));Tt.UNIT_X=Object.freeze(new Tt(1,0,0,0));Tt.UNIT_Y=Object.freeze(new Tt(0,1,0,0));Tt.UNIT_Z=Object.freeze(new Tt(0,0,1,0));Tt.UNIT_W=Object.freeze(new Tt(0,0,0,1));Tt.prototype.clone=function(e){return Tt.clone(this,e)};Tt.prototype.equals=function(e){return Tt.equals(this,e)};Tt.prototype.equalsEpsilon=function(e,t,n){return Tt.equalsEpsilon(this,e,t,n)};Tt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var _5=new Float32Array(1),Qa=new Uint8Array(_5.buffer),VEe=new Uint32Array([287454020]),UEe=new Uint8Array(VEe.buffer),jQ=UEe[0]===68;Tt.packFloat=function(e,t){return l(t)||(t=new Tt),_5[0]=e,jQ?(t.x=Qa[0],t.y=Qa[1],t.z=Qa[2],t.w=Qa[3]):(t.x=Qa[3],t.y=Qa[2],t.z=Qa[1],t.w=Qa[0]),t};Tt.unpackFloat=function(e){return jQ?(Qa[0]=e.x,Qa[1]=e.y,Qa[2]=e.z,Qa[3]=e.w):(Qa[0]=e.w,Qa[1]=e.z,Qa[2]=e.y,Qa[3]=e.x),_5[0]};var ie=Tt;function tt(e,t,n,i,o,r,s,a,c){this[0]=y(e,0),this[1]=y(i,0),this[2]=y(s,0),this[3]=y(t,0),this[4]=y(o,0),this[5]=y(a,0),this[6]=y(n,0),this[7]=y(r,0),this[8]=y(c,0)}tt.packedLength=9;tt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t};tt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new tt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n};tt.packArray=function(e,t){let n=e.length,i=n*9;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)tt.pack(e[o],t,o*9);return t};tt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/9:t=new Array(n/9);for(let i=0;i<n;i+=9){let o=i/9;t[o]=tt.unpack(e,i,t[o])}return t};tt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new tt(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])};tt.fromArray=tt.unpack;tt.fromColumnMajorArray=function(e,t){return tt.clone(e,t)};tt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new tt(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};tt.fromQuaternion=function(e,t){let n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,r=e.x*e.w,s=e.y*e.y,a=e.y*e.z,c=e.y*e.w,u=e.z*e.z,f=e.z*e.w,d=e.w*e.w,p=n-s-u+d,g=2*(i-f),m=2*(o+c),x=2*(i+f),b=-n+s-u+d,T=2*(a-r),A=2*(o-c),C=2*(a+r),E=-n-s+u+d;return l(t)?(t[0]=p,t[1]=x,t[2]=A,t[3]=g,t[4]=b,t[5]=C,t[6]=m,t[7]=T,t[8]=E,t):new tt(p,g,m,x,b,T,A,C,E)};tt.fromHeadingPitchRoll=function(e,t){let n=Math.cos(-e.pitch),i=Math.cos(-e.heading),o=Math.cos(e.roll),r=Math.sin(-e.pitch),s=Math.sin(-e.heading),a=Math.sin(e.roll),c=n*i,u=-o*s+a*r*i,f=a*s+o*r*i,d=n*s,p=o*i+a*r*s,g=-a*i+o*r*s,m=-r,x=a*n,b=o*n;return l(t)?(t[0]=c,t[1]=d,t[2]=m,t[3]=u,t[4]=p,t[5]=x,t[6]=f,t[7]=g,t[8]=b,t):new tt(c,u,f,d,p,g,m,x,b)};tt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new tt(e.x,0,0,0,e.y,0,0,0,e.z)};tt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new tt(e,0,0,0,e,0,0,0,e)};tt.fromCrossProduct=function(e,t){return l(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new tt(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)};tt.fromRotationX=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new tt(1,0,0,0,n,-i,0,i,n)};tt.fromRotationY=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new tt(n,0,i,0,1,0,-i,0,n)};tt.fromRotationZ=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new tt(n,-i,0,i,n,0,0,0,1)};tt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]};tt.getElementIndex=function(e,t){return e*3+t};tt.getColumn=function(e,t,n){let i=t*3,o=e[i],r=e[i+1],s=e[i+2];return n.x=o,n.y=r,n.z=s,n};tt.setColumn=function(e,t,n,i){i=tt.clone(e,i);let o=t*3;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i};tt.getRow=function(e,t,n){let i=e[t],o=e[t+3],r=e[t+6];return n.x=i,n.y=o,n.z=r,n};tt.setRow=function(e,t,n,i){return i=tt.clone(e,i),i[t]=n.x,i[t+3]=n.y,i[t+6]=n.z,i};var zEe=new h;tt.setScale=function(e,t,n){let i=tt.getScale(e,zEe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var HEe=new h;tt.setUniformScale=function(e,t,n){let i=tt.getScale(e,HEe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var g5=new h;tt.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],g5)),t.y=h.magnitude(h.fromElements(e[3],e[4],e[5],g5)),t.z=h.magnitude(h.fromElements(e[6],e[7],e[8],g5)),t};var qQ=new h;tt.getMaximumScale=function(e){return tt.getScale(e,qQ),h.maximumComponent(qQ)};var GEe=new h;tt.setRotation=function(e,t,n){let i=tt.getScale(e,GEe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=t[3]*i.y,n[4]=t[4]*i.y,n[5]=t[5]*i.y,n[6]=t[6]*i.z,n[7]=t[7]*i.z,n[8]=t[8]*i.z,n};var WEe=new h;tt.getRotation=function(e,t){let n=tt.getScale(e,WEe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t};tt.multiply=function(e,t,n){let i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],r=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],a=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],u=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],f=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=i,n[1]=o,n[2]=r,n[3]=s,n[4]=a,n[5]=c,n[6]=u,n[7]=f,n[8]=d,n};tt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n};tt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n};tt.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[3]*o+e[6]*r,a=e[1]*i+e[4]*o+e[7]*r,c=e[2]*i+e[5]*o+e[8]*r;return n.x=s,n.y=a,n.z=c,n};tt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};tt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n};tt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};tt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t};tt.transpose=function(e,t){let n=e[0],i=e[3],o=e[6],r=e[1],s=e[4],a=e[7],c=e[2],u=e[5],f=e[8];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=s,t[5]=a,t[6]=c,t[7]=u,t[8]=f,t};function jEe(e){let t=0;for(let n=0;n<9;++n){let i=e[n];t+=i*i}return Math.sqrt(t)}var y5=[1,0,0],x5=[2,2,1];function qEe(e){let t=0;for(let n=0;n<3;++n){let i=e[tt.getElementIndex(x5[n],y5[n])];t+=2*i*i}return Math.sqrt(t)}function YEe(e,t){let n=P.EPSILON15,i=0,o=1;for(let u=0;u<3;++u){let f=Math.abs(e[tt.getElementIndex(x5[u],y5[u])]);f>i&&(o=u,i=f)}let r=1,s=0,a=y5[o],c=x5[o];if(Math.abs(e[tt.getElementIndex(c,a)])>n){let u=e[tt.getElementIndex(c,c)],f=e[tt.getElementIndex(a,a)],d=e[tt.getElementIndex(c,a)],p=(u-f)/2/d,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=tt.clone(tt.IDENTITY,t),t[tt.getElementIndex(a,a)]=t[tt.getElementIndex(c,c)]=r,t[tt.getElementIndex(c,a)]=s,t[tt.getElementIndex(a,c)]=-s,t}var lV=new tt,YQ=new tt;tt.computeEigenDecomposition=function(e,t){let n=P.EPSILON20,i=10,o=0,r=0;l(t)||(t={});let s=t.unitary=tt.clone(tt.IDENTITY,t.unitary),a=t.diagonal=tt.clone(e,t.diagonal),c=n*jEe(a);for(;r<i&&qEe(a)>c;)YEe(a,lV),tt.transpose(lV,YQ),tt.multiply(a,lV,a),tt.multiply(YQ,a,a),tt.multiply(s,lV,s),++o>2&&(++r,o=0);return t};tt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t};tt.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],u=e[8];return t*(r*u-c*s)+o*(c*i-n*u)+a*(n*s-r*i)};tt.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],u=e[7],f=e[8],d=tt.determinant(e);t[0]=s*f-u*a,t[1]=u*o-i*f,t[2]=i*a-s*o,t[3]=c*a-r*f,t[4]=n*f-c*o,t[5]=r*o-n*a,t[6]=r*u-c*s,t[7]=c*i-n*u,t[8]=n*s-r*i;let p=1/d;return tt.multiplyByScalar(t,p,t)};var XEe=new tt;tt.inverseTranspose=function(e,t){return tt.inverse(tt.transpose(e,XEe),t)};tt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]};tt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n};tt.IDENTITY=Object.freeze(new tt(1,0,0,0,1,0,0,0,1));tt.ZERO=Object.freeze(new tt(0,0,0,0,0,0,0,0,0));tt.COLUMN0ROW0=0;tt.COLUMN0ROW1=1;tt.COLUMN0ROW2=2;tt.COLUMN1ROW0=3;tt.COLUMN1ROW1=4;tt.COLUMN1ROW2=5;tt.COLUMN2ROW0=6;tt.COLUMN2ROW1=7;tt.COLUMN2ROW2=8;Object.defineProperties(tt.prototype,{length:{get:function(){return tt.packedLength}}});tt.prototype.clone=function(e){return tt.clone(this,e)};tt.prototype.equals=function(e){return tt.equals(this,e)};tt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};tt.prototype.equalsEpsilon=function(e,t){return tt.equalsEpsilon(this,e,t)};tt.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) (${this[1]}, ${this[4]}, ${this[7]}) -(${this[2]}, ${this[5]}, ${this[8]})`};var $=tt;function Kv(e){this.name="RuntimeError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(Kv.prototype=Object.create(Error.prototype),Kv.prototype.constructor=Kv);Kv.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` -${this.stack.toString()}`),e};var ce=Kv;function et(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this[0]=y(e,0),this[1]=y(o,0),this[2]=y(c,0),this[3]=y(p,0),this[4]=y(t,0),this[5]=y(r,0),this[6]=y(u,0),this[7]=y(g,0),this[8]=y(n,0),this[9]=y(s,0),this[10]=y(f,0),this[11]=y(m,0),this[12]=y(i,0),this[13]=y(a,0),this[14]=y(d,0),this[15]=y(x,0)}et.packedLength=16;et.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};et.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new et),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};et.packArray=function(e,t){let n=e.length,i=n*16;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)et.pack(e[o],t,o*16);return t};et.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/16:t=new Array(n/16);for(let i=0;i<n;i+=16){let o=i/16;t[o]=et.unpack(e,i,t[o])}return t};et.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new et(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])};et.fromArray=et.unpack;et.fromColumnMajorArray=function(e,t){return et.clone(e,t)};et.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new et(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])};et.fromRotationTranslation=function(e,t,n){return t=y(t,h.ZERO),l(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new et(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)};et.fromTranslationQuaternionRotationScale=function(e,t,n,i){l(i)||(i=new et);let o=n.x,r=n.y,s=n.z,a=t.x*t.x,c=t.x*t.y,u=t.x*t.z,f=t.x*t.w,d=t.y*t.y,p=t.y*t.z,g=t.y*t.w,m=t.z*t.z,x=t.z*t.w,b=t.w*t.w,T=a-d-m+b,A=2*(c-x),C=2*(u+g),E=2*(c+x),v=-a+d-m+b,D=2*(p-f),O=2*(u-g),R=2*(p+f),M=-a-d+m+b;return i[0]=T*o,i[1]=E*o,i[2]=O*o,i[3]=0,i[4]=A*r,i[5]=v*r,i[6]=R*r,i[7]=0,i[8]=C*s,i[9]=D*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i};et.fromTranslationRotationScale=function(e,t){return et.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};et.fromTranslation=function(e,t){return et.fromRotationTranslation($.IDENTITY,e,t)};et.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new et(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};et.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new et(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};et.fromRotation=function(e,t){return l(t)||(t=new et),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var NC=new h,FC=new h,Zv=new h;et.fromCamera=function(e,t){let n=e.position,i=e.direction,o=e.up;h.normalize(i,NC),h.normalize(h.cross(NC,o,FC),FC),h.normalize(h.cross(FC,NC,Zv),Zv);let r=FC.x,s=FC.y,a=FC.z,c=NC.x,u=NC.y,f=NC.z,d=Zv.x,p=Zv.y,g=Zv.z,m=n.x,x=n.y,b=n.z,T=r*-m+s*-x+a*-b,A=d*-m+p*-x+g*-b,C=c*m+u*x+f*b;return l(t)?(t[0]=r,t[1]=d,t[2]=-c,t[3]=0,t[4]=s,t[5]=p,t[6]=-u,t[7]=0,t[8]=a,t[9]=g,t[10]=-f,t[11]=0,t[12]=T,t[13]=A,t[14]=C,t[15]=1,t):new et(r,s,a,T,d,p,g,A,-c,-u,-f,C,0,0,0,1)};et.computePerspectiveFieldOfView=function(e,t,n,i,o){let s=1/Math.tan(e*.5),a=s/t,c=(i+n)/(n-i),u=2*i*n/(n-i);return o[0]=a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=u,o[15]=0,o};et.computeOrthographicOffCenter=function(e,t,n,i,o,r,s){let a=1/(t-e),c=1/(i-n),u=1/(r-o),f=-(t+e)*a,d=-(i+n)*c,p=-(r+o)*u;return a*=2,c*=2,u*=-2,s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=u,s[11]=0,s[12]=f,s[13]=d,s[14]=p,s[15]=1,s};et.computePerspectiveOffCenter=function(e,t,n,i,o,r,s){let a=2*o/(t-e),c=2*o/(i-n),u=(t+e)/(t-e),f=(i+n)/(i-n),d=-(r+o)/(r-o),p=-1,g=-2*r*o/(r-o);return s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=u,s[9]=f,s[10]=d,s[11]=p,s[12]=0,s[13]=0,s[14]=g,s[15]=0,s};et.computeInfinitePerspectiveOffCenter=function(e,t,n,i,o,r){let s=2*o/(t-e),a=2*o/(i-n),c=(t+e)/(t-e),u=(i+n)/(i-n),f=-1,d=-1,p=-2*o;return r[0]=s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=c,r[9]=u,r[10]=f,r[11]=d,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r};et.computeViewportTransformation=function(e,t,n,i){l(i)||(i=new et),e=y(e,y.EMPTY_OBJECT);let o=y(e.x,0),r=y(e.y,0),s=y(e.width,0),a=y(e.height,0);t=y(t,0),n=y(n,1);let c=s*.5,u=a*.5,f=(n-t)*.5,d=c,p=u,g=f,m=o+c,x=r+u,b=t+f,T=1;return i[0]=d,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g,i[11]=0,i[12]=m,i[13]=x,i[14]=b,i[15]=T,i};et.computeView=function(e,t,n,i,o){return o[0]=i.x,o[1]=n.x,o[2]=-t.x,o[3]=0,o[4]=i.y,o[5]=n.y,o[6]=-t.y,o[7]=0,o[8]=i.z,o[9]=n.z,o[10]=-t.z,o[11]=0,o[12]=-h.dot(i,e),o[13]=-h.dot(n,e),o[14]=h.dot(t,e),o[15]=1,o};et.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]};et.getElementIndex=function(e,t){return e*4+t};et.getColumn=function(e,t,n){let i=t*4,o=e[i],r=e[i+1],s=e[i+2],a=e[i+3];return n.x=o,n.y=r,n.z=s,n.w=a,n};et.setColumn=function(e,t,n,i){i=et.clone(e,i);let o=t*4;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i[o+3]=n.w,i};et.getRow=function(e,t,n){let i=e[t],o=e[t+4],r=e[t+8],s=e[t+12];return n.x=i,n.y=o,n.z=r,n.w=s,n};et.setRow=function(e,t,n,i){return i=et.clone(e,i),i[t]=n.x,i[t+4]=n.y,i[t+8]=n.z,i[t+12]=n.w,i};et.setTranslation=function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var DEe=new h;et.setScale=function(e,t,n){let i=et.getScale(e,DEe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var IEe=new h;et.setUniformScale=function(e,t,n){let i=et.getScale(e,IEe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var m5=new h;et.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],m5)),t.y=h.magnitude(h.fromElements(e[4],e[5],e[6],m5)),t.z=h.magnitude(h.fromElements(e[8],e[9],e[10],m5)),t};var NQ=new h;et.getMaximumScale=function(e){return et.getScale(e,NQ),h.maximumComponent(NQ)};var PEe=new h;et.setRotation=function(e,t,n){let i=et.getScale(e,PEe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=e[3],n[4]=t[3]*i.y,n[5]=t[4]*i.y,n[6]=t[5]*i.y,n[7]=e[7],n[8]=t[6]*i.z,n[9]=t[7]*i.z,n[10]=t[8]*i.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var REe=new h;et.getRotation=function(e,t){let n=et.getScale(e,REe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};et.multiply=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[3],a=e[4],c=e[5],u=e[6],f=e[7],d=e[8],p=e[9],g=e[10],m=e[11],x=e[12],b=e[13],T=e[14],A=e[15],C=t[0],E=t[1],v=t[2],D=t[3],O=t[4],R=t[5],M=t[6],N=t[7],_=t[8],S=t[9],w=t[10],I=t[11],L=t[12],B=t[13],U=t[14],V=t[15],G=i*C+a*E+d*v+x*D,k=o*C+c*E+p*v+b*D,Y=r*C+u*E+g*v+T*D,W=s*C+f*E+m*v+A*D,Q=i*O+a*R+d*M+x*N,j=o*O+c*R+p*M+b*N,Z=r*O+u*R+g*M+T*N,J=s*O+f*R+m*M+A*N,he=i*_+a*S+d*w+x*I,xe=o*_+c*S+p*w+b*I,re=r*_+u*S+g*w+T*I,_e=s*_+f*S+m*w+A*I,ye=i*L+a*B+d*U+x*V,De=o*L+c*B+p*U+b*V,ve=r*L+u*B+g*U+T*V,Me=s*L+f*B+m*U+A*V;return n[0]=G,n[1]=k,n[2]=Y,n[3]=W,n[4]=Q,n[5]=j,n[6]=Z,n[7]=J,n[8]=he,n[9]=xe,n[10]=re,n[11]=_e,n[12]=ye,n[13]=De,n[14]=ve,n[15]=Me,n};et.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};et.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};et.multiplyTransformation=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=e[12],g=e[13],m=e[14],x=t[0],b=t[1],T=t[2],A=t[4],C=t[5],E=t[6],v=t[8],D=t[9],O=t[10],R=t[12],M=t[13],N=t[14],_=i*x+s*b+u*T,S=o*x+a*b+f*T,w=r*x+c*b+d*T,I=i*A+s*C+u*E,L=o*A+a*C+f*E,B=r*A+c*C+d*E,U=i*v+s*D+u*O,V=o*v+a*D+f*O,G=r*v+c*D+d*O,k=i*R+s*M+u*N+p,Y=o*R+a*M+f*N+g,W=r*R+c*M+d*N+m;return n[0]=_,n[1]=S,n[2]=w,n[3]=0,n[4]=I,n[5]=L,n[6]=B,n[7]=0,n[8]=U,n[9]=V,n[10]=G,n[11]=0,n[12]=k,n[13]=Y,n[14]=W,n[15]=1,n};et.multiplyByMatrix3=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=t[0],g=t[1],m=t[2],x=t[3],b=t[4],T=t[5],A=t[6],C=t[7],E=t[8],v=i*p+s*g+u*m,D=o*p+a*g+f*m,O=r*p+c*g+d*m,R=i*x+s*b+u*T,M=o*x+a*b+f*T,N=r*x+c*b+d*T,_=i*A+s*C+u*E,S=o*A+a*C+f*E,w=r*A+c*C+d*E;return n[0]=v,n[1]=D,n[2]=O,n[3]=0,n[4]=R,n[5]=M,n[6]=N,n[7]=0,n[8]=_,n[9]=S,n[10]=w,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};et.multiplyByTranslation=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=i*e[0]+o*e[4]+r*e[8]+e[12],a=i*e[1]+o*e[5]+r*e[9]+e[13],c=i*e[2]+o*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=s,n[13]=a,n[14]=c,n[15]=e[15],n};et.multiplyByScale=function(e,t,n){let i=t.x,o=t.y,r=t.z;return i===1&&o===1&&r===1?et.clone(e,n):(n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};et.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};et.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=t.w,a=e[0]*i+e[4]*o+e[8]*r+e[12]*s,c=e[1]*i+e[5]*o+e[9]*r+e[13]*s,u=e[2]*i+e[6]*o+e[10]*r+e[14]*s,f=e[3]*i+e[7]*o+e[11]*r+e[15]*s;return n.x=a,n.y=c,n.z=u,n.w=f,n};et.multiplyByPointAsVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r,a=e[1]*i+e[5]*o+e[9]*r,c=e[2]*i+e[6]*o+e[10]*r;return n.x=s,n.y=a,n.z=c,n};et.multiplyByPoint=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r+e[12],a=e[1]*i+e[5]*o+e[9]*r+e[13],c=e[2]*i+e[6]*o+e[10]*r+e[14];return n.x=s,n.y=a,n.z=c,n};et.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n};et.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t};et.transpose=function(e,t){let n=e[1],i=e[2],o=e[3],r=e[6],s=e[7],a=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=r,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=a,t[15]=e[15],t};et.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t};et.equals=function(e,t){return e===t||l(e)&&l(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};et.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n};et.getTranslation=function(e,t){return t.x=e[12],t.y=e[13],t.z=e[14],t};et.getMatrix3=function(e,t){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var OEe=new $,MEe=new $,LEe=new oe,NEe=new oe(0,0,0,1);et.inverse=function(e,t){let n=e[0],i=e[4],o=e[8],r=e[12],s=e[1],a=e[5],c=e[9],u=e[13],f=e[2],d=e[6],p=e[10],g=e[14],m=e[3],x=e[7],b=e[11],T=e[15],A=p*T,C=g*b,E=d*T,v=g*x,D=d*b,O=p*x,R=f*T,M=g*m,N=f*b,_=p*m,S=f*x,w=d*m,I=A*a+v*c+D*u-(C*a+E*c+O*u),L=C*s+R*c+_*u-(A*s+M*c+N*u),B=E*s+M*a+S*u-(v*s+R*a+w*u),U=O*s+N*a+w*c-(D*s+_*a+S*c),V=C*i+E*o+O*r-(A*i+v*o+D*r),G=A*n+M*o+N*r-(C*n+R*o+_*r),k=v*n+R*i+w*r-(E*n+M*i+S*r),Y=D*n+_*i+S*o-(O*n+N*i+w*o);A=o*u,C=r*c,E=i*u,v=r*a,D=i*c,O=o*a,R=n*u,M=r*s,N=n*c,_=o*s,S=n*a,w=i*s;let W=A*x+v*b+D*T-(C*x+E*b+O*T),Q=C*m+R*b+_*T-(A*m+M*b+N*T),j=E*m+M*x+S*T-(v*m+R*x+w*T),Z=O*m+N*x+w*b-(D*m+_*x+S*b),J=E*p+O*g+C*d-(D*g+A*d+v*p),he=N*g+A*f+M*p-(R*p+_*g+C*f),xe=R*d+w*g+v*f-(S*g+E*f+M*d),re=S*p+D*f+_*d-(N*d+w*p+O*f),_e=n*I+i*L+o*B+r*U;if(Math.abs(_e)<P.EPSILON21){if($.equalsEpsilon(et.getMatrix3(e,OEe),MEe,P.EPSILON7)&&oe.equals(et.getRow(e,3,LEe),NEe))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new ce("matrix is not invertible because its determinate is zero.")}return _e=1/_e,t[0]=I*_e,t[1]=L*_e,t[2]=B*_e,t[3]=U*_e,t[4]=V*_e,t[5]=G*_e,t[6]=k*_e,t[7]=Y*_e,t[8]=W*_e,t[9]=Q*_e,t[10]=j*_e,t[11]=Z*_e,t[12]=J*_e,t[13]=he*_e,t[14]=xe*_e,t[15]=re*_e,t};et.inverseTransformation=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[4],s=e[5],a=e[6],c=e[8],u=e[9],f=e[10],d=e[12],p=e[13],g=e[14],m=-n*d-i*p-o*g,x=-r*d-s*p-a*g,b=-c*d-u*p-f*g;return t[0]=n,t[1]=r,t[2]=c,t[3]=0,t[4]=i,t[5]=s,t[6]=u,t[7]=0,t[8]=o,t[9]=a,t[10]=f,t[11]=0,t[12]=m,t[13]=x,t[14]=b,t[15]=1,t};var FEe=new et;et.inverseTranspose=function(e,t){return et.inverse(et.transpose(e,FEe),t)};et.IDENTITY=Object.freeze(new et(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));et.ZERO=Object.freeze(new et(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));et.COLUMN0ROW0=0;et.COLUMN0ROW1=1;et.COLUMN0ROW2=2;et.COLUMN0ROW3=3;et.COLUMN1ROW0=4;et.COLUMN1ROW1=5;et.COLUMN1ROW2=6;et.COLUMN1ROW3=7;et.COLUMN2ROW0=8;et.COLUMN2ROW1=9;et.COLUMN2ROW2=10;et.COLUMN2ROW3=11;et.COLUMN3ROW0=12;et.COLUMN3ROW1=13;et.COLUMN3ROW2=14;et.COLUMN3ROW3=15;Object.defineProperties(et.prototype,{length:{get:function(){return et.packedLength}}});et.prototype.clone=function(e){return et.clone(this,e)};et.prototype.equals=function(e){return et.equals(this,e)};et.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};et.prototype.equalsEpsilon=function(e,t){return et.equalsEpsilon(this,e,t)};et.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]}) +(${this[2]}, ${this[5]}, ${this[8]})`};var $=tt;function Jv(e){this.name="RuntimeError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(Jv.prototype=Object.create(Error.prototype),Jv.prototype.constructor=Jv);Jv.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` +${this.stack.toString()}`),e};var se=Jv;function Je(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this[0]=y(e,0),this[1]=y(o,0),this[2]=y(c,0),this[3]=y(p,0),this[4]=y(t,0),this[5]=y(r,0),this[6]=y(u,0),this[7]=y(g,0),this[8]=y(n,0),this[9]=y(s,0),this[10]=y(f,0),this[11]=y(m,0),this[12]=y(i,0),this[13]=y(a,0),this[14]=y(d,0),this[15]=y(x,0)}Je.packedLength=16;Je.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};Je.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Je),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};Je.packArray=function(e,t){let n=e.length,i=n*16;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Je.pack(e[o],t,o*16);return t};Je.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/16:t=new Array(n/16);for(let i=0;i<n;i+=16){let o=i/16;t[o]=Je.unpack(e,i,t[o])}return t};Je.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new Je(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])};Je.fromArray=Je.unpack;Je.fromColumnMajorArray=function(e,t){return Je.clone(e,t)};Je.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new Je(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])};Je.fromRotationTranslation=function(e,t,n){return t=y(t,h.ZERO),l(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new Je(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)};Je.fromTranslationQuaternionRotationScale=function(e,t,n,i){l(i)||(i=new Je);let o=n.x,r=n.y,s=n.z,a=t.x*t.x,c=t.x*t.y,u=t.x*t.z,f=t.x*t.w,d=t.y*t.y,p=t.y*t.z,g=t.y*t.w,m=t.z*t.z,x=t.z*t.w,b=t.w*t.w,T=a-d-m+b,A=2*(c-x),C=2*(u+g),E=2*(c+x),v=-a+d-m+b,D=2*(p-f),O=2*(u-g),R=2*(p+f),M=-a-d+m+b;return i[0]=T*o,i[1]=E*o,i[2]=O*o,i[3]=0,i[4]=A*r,i[5]=v*r,i[6]=R*r,i[7]=0,i[8]=C*s,i[9]=D*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i};Je.fromTranslationRotationScale=function(e,t){return Je.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};Je.fromTranslation=function(e,t){return Je.fromRotationTranslation($.IDENTITY,e,t)};Je.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new Je(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};Je.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new Je(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};Je.fromRotation=function(e,t){return l(t)||(t=new Je),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var BC=new h,kC=new h,ew=new h;Je.fromCamera=function(e,t){let n=e.position,i=e.direction,o=e.up;h.normalize(i,BC),h.normalize(h.cross(BC,o,kC),kC),h.normalize(h.cross(kC,BC,ew),ew);let r=kC.x,s=kC.y,a=kC.z,c=BC.x,u=BC.y,f=BC.z,d=ew.x,p=ew.y,g=ew.z,m=n.x,x=n.y,b=n.z,T=r*-m+s*-x+a*-b,A=d*-m+p*-x+g*-b,C=c*m+u*x+f*b;return l(t)?(t[0]=r,t[1]=d,t[2]=-c,t[3]=0,t[4]=s,t[5]=p,t[6]=-u,t[7]=0,t[8]=a,t[9]=g,t[10]=-f,t[11]=0,t[12]=T,t[13]=A,t[14]=C,t[15]=1,t):new Je(r,s,a,T,d,p,g,A,-c,-u,-f,C,0,0,0,1)};Je.computePerspectiveFieldOfView=function(e,t,n,i,o){let s=1/Math.tan(e*.5),a=s/t,c=(i+n)/(n-i),u=2*i*n/(n-i);return o[0]=a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=u,o[15]=0,o};Je.computeOrthographicOffCenter=function(e,t,n,i,o,r,s){let a=1/(t-e),c=1/(i-n),u=1/(r-o),f=-(t+e)*a,d=-(i+n)*c,p=-(r+o)*u;return a*=2,c*=2,u*=-2,s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=u,s[11]=0,s[12]=f,s[13]=d,s[14]=p,s[15]=1,s};Je.computePerspectiveOffCenter=function(e,t,n,i,o,r,s){let a=2*o/(t-e),c=2*o/(i-n),u=(t+e)/(t-e),f=(i+n)/(i-n),d=-(r+o)/(r-o),p=-1,g=-2*r*o/(r-o);return s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=u,s[9]=f,s[10]=d,s[11]=p,s[12]=0,s[13]=0,s[14]=g,s[15]=0,s};Je.computeInfinitePerspectiveOffCenter=function(e,t,n,i,o,r){let s=2*o/(t-e),a=2*o/(i-n),c=(t+e)/(t-e),u=(i+n)/(i-n),f=-1,d=-1,p=-2*o;return r[0]=s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=c,r[9]=u,r[10]=f,r[11]=d,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r};Je.computeViewportTransformation=function(e,t,n,i){l(i)||(i=new Je),e=y(e,y.EMPTY_OBJECT);let o=y(e.x,0),r=y(e.y,0),s=y(e.width,0),a=y(e.height,0);t=y(t,0),n=y(n,1);let c=s*.5,u=a*.5,f=(n-t)*.5,d=c,p=u,g=f,m=o+c,x=r+u,b=t+f,T=1;return i[0]=d,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g,i[11]=0,i[12]=m,i[13]=x,i[14]=b,i[15]=T,i};Je.computeView=function(e,t,n,i,o){return o[0]=i.x,o[1]=n.x,o[2]=-t.x,o[3]=0,o[4]=i.y,o[5]=n.y,o[6]=-t.y,o[7]=0,o[8]=i.z,o[9]=n.z,o[10]=-t.z,o[11]=0,o[12]=-h.dot(i,e),o[13]=-h.dot(n,e),o[14]=h.dot(t,e),o[15]=1,o};Je.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]};Je.getElementIndex=function(e,t){return e*4+t};Je.getColumn=function(e,t,n){let i=t*4,o=e[i],r=e[i+1],s=e[i+2],a=e[i+3];return n.x=o,n.y=r,n.z=s,n.w=a,n};Je.setColumn=function(e,t,n,i){i=Je.clone(e,i);let o=t*4;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i[o+3]=n.w,i};Je.getRow=function(e,t,n){let i=e[t],o=e[t+4],r=e[t+8],s=e[t+12];return n.x=i,n.y=o,n.z=r,n.w=s,n};Je.setRow=function(e,t,n,i){return i=Je.clone(e,i),i[t]=n.x,i[t+4]=n.y,i[t+8]=n.z,i[t+12]=n.w,i};Je.setTranslation=function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var KEe=new h;Je.setScale=function(e,t,n){let i=Je.getScale(e,KEe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var ZEe=new h;Je.setUniformScale=function(e,t,n){let i=Je.getScale(e,ZEe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var b5=new h;Je.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],b5)),t.y=h.magnitude(h.fromElements(e[4],e[5],e[6],b5)),t.z=h.magnitude(h.fromElements(e[8],e[9],e[10],b5)),t};var XQ=new h;Je.getMaximumScale=function(e){return Je.getScale(e,XQ),h.maximumComponent(XQ)};var $Ee=new h;Je.setRotation=function(e,t,n){let i=Je.getScale(e,$Ee);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=e[3],n[4]=t[3]*i.y,n[5]=t[4]*i.y,n[6]=t[5]*i.y,n[7]=e[7],n[8]=t[6]*i.z,n[9]=t[7]*i.z,n[10]=t[8]*i.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var QEe=new h;Je.getRotation=function(e,t){let n=Je.getScale(e,QEe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};Je.multiply=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[3],a=e[4],c=e[5],u=e[6],f=e[7],d=e[8],p=e[9],g=e[10],m=e[11],x=e[12],b=e[13],T=e[14],A=e[15],C=t[0],E=t[1],v=t[2],D=t[3],O=t[4],R=t[5],M=t[6],N=t[7],_=t[8],S=t[9],w=t[10],I=t[11],L=t[12],B=t[13],U=t[14],V=t[15],G=i*C+a*E+d*v+x*D,k=o*C+c*E+p*v+b*D,W=r*C+u*E+g*v+T*D,Y=s*C+f*E+m*v+A*D,Q=i*O+a*R+d*M+x*N,j=o*O+c*R+p*M+b*N,Z=r*O+u*R+g*M+T*N,J=s*O+f*R+m*M+A*N,he=i*_+a*S+d*w+x*I,xe=o*_+c*S+p*w+b*I,re=r*_+u*S+g*w+T*I,_e=s*_+f*S+m*w+A*I,ye=i*L+a*B+d*U+x*V,De=o*L+c*B+p*U+b*V,we=r*L+u*B+g*U+T*V,Me=s*L+f*B+m*U+A*V;return n[0]=G,n[1]=k,n[2]=W,n[3]=Y,n[4]=Q,n[5]=j,n[6]=Z,n[7]=J,n[8]=he,n[9]=xe,n[10]=re,n[11]=_e,n[12]=ye,n[13]=De,n[14]=we,n[15]=Me,n};Je.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};Je.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};Je.multiplyTransformation=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=e[12],g=e[13],m=e[14],x=t[0],b=t[1],T=t[2],A=t[4],C=t[5],E=t[6],v=t[8],D=t[9],O=t[10],R=t[12],M=t[13],N=t[14],_=i*x+s*b+u*T,S=o*x+a*b+f*T,w=r*x+c*b+d*T,I=i*A+s*C+u*E,L=o*A+a*C+f*E,B=r*A+c*C+d*E,U=i*v+s*D+u*O,V=o*v+a*D+f*O,G=r*v+c*D+d*O,k=i*R+s*M+u*N+p,W=o*R+a*M+f*N+g,Y=r*R+c*M+d*N+m;return n[0]=_,n[1]=S,n[2]=w,n[3]=0,n[4]=I,n[5]=L,n[6]=B,n[7]=0,n[8]=U,n[9]=V,n[10]=G,n[11]=0,n[12]=k,n[13]=W,n[14]=Y,n[15]=1,n};Je.multiplyByMatrix3=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=t[0],g=t[1],m=t[2],x=t[3],b=t[4],T=t[5],A=t[6],C=t[7],E=t[8],v=i*p+s*g+u*m,D=o*p+a*g+f*m,O=r*p+c*g+d*m,R=i*x+s*b+u*T,M=o*x+a*b+f*T,N=r*x+c*b+d*T,_=i*A+s*C+u*E,S=o*A+a*C+f*E,w=r*A+c*C+d*E;return n[0]=v,n[1]=D,n[2]=O,n[3]=0,n[4]=R,n[5]=M,n[6]=N,n[7]=0,n[8]=_,n[9]=S,n[10]=w,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};Je.multiplyByTranslation=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=i*e[0]+o*e[4]+r*e[8]+e[12],a=i*e[1]+o*e[5]+r*e[9]+e[13],c=i*e[2]+o*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=s,n[13]=a,n[14]=c,n[15]=e[15],n};Je.multiplyByScale=function(e,t,n){let i=t.x,o=t.y,r=t.z;return i===1&&o===1&&r===1?Je.clone(e,n):(n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};Je.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};Je.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=t.w,a=e[0]*i+e[4]*o+e[8]*r+e[12]*s,c=e[1]*i+e[5]*o+e[9]*r+e[13]*s,u=e[2]*i+e[6]*o+e[10]*r+e[14]*s,f=e[3]*i+e[7]*o+e[11]*r+e[15]*s;return n.x=a,n.y=c,n.z=u,n.w=f,n};Je.multiplyByPointAsVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r,a=e[1]*i+e[5]*o+e[9]*r,c=e[2]*i+e[6]*o+e[10]*r;return n.x=s,n.y=a,n.z=c,n};Je.multiplyByPoint=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r+e[12],a=e[1]*i+e[5]*o+e[9]*r+e[13],c=e[2]*i+e[6]*o+e[10]*r+e[14];return n.x=s,n.y=a,n.z=c,n};Je.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n};Je.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t};Je.transpose=function(e,t){let n=e[1],i=e[2],o=e[3],r=e[6],s=e[7],a=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=r,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=a,t[15]=e[15],t};Je.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t};Je.equals=function(e,t){return e===t||l(e)&&l(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};Je.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n};Je.getTranslation=function(e,t){return t.x=e[12],t.y=e[13],t.z=e[14],t};Je.getMatrix3=function(e,t){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var JEe=new $,eSe=new $,tSe=new ie,nSe=new ie(0,0,0,1);Je.inverse=function(e,t){let n=e[0],i=e[4],o=e[8],r=e[12],s=e[1],a=e[5],c=e[9],u=e[13],f=e[2],d=e[6],p=e[10],g=e[14],m=e[3],x=e[7],b=e[11],T=e[15],A=p*T,C=g*b,E=d*T,v=g*x,D=d*b,O=p*x,R=f*T,M=g*m,N=f*b,_=p*m,S=f*x,w=d*m,I=A*a+v*c+D*u-(C*a+E*c+O*u),L=C*s+R*c+_*u-(A*s+M*c+N*u),B=E*s+M*a+S*u-(v*s+R*a+w*u),U=O*s+N*a+w*c-(D*s+_*a+S*c),V=C*i+E*o+O*r-(A*i+v*o+D*r),G=A*n+M*o+N*r-(C*n+R*o+_*r),k=v*n+R*i+w*r-(E*n+M*i+S*r),W=D*n+_*i+S*o-(O*n+N*i+w*o);A=o*u,C=r*c,E=i*u,v=r*a,D=i*c,O=o*a,R=n*u,M=r*s,N=n*c,_=o*s,S=n*a,w=i*s;let Y=A*x+v*b+D*T-(C*x+E*b+O*T),Q=C*m+R*b+_*T-(A*m+M*b+N*T),j=E*m+M*x+S*T-(v*m+R*x+w*T),Z=O*m+N*x+w*b-(D*m+_*x+S*b),J=E*p+O*g+C*d-(D*g+A*d+v*p),he=N*g+A*f+M*p-(R*p+_*g+C*f),xe=R*d+w*g+v*f-(S*g+E*f+M*d),re=S*p+D*f+_*d-(N*d+w*p+O*f),_e=n*I+i*L+o*B+r*U;if(Math.abs(_e)<P.EPSILON21){if($.equalsEpsilon(Je.getMatrix3(e,JEe),eSe,P.EPSILON7)&&ie.equals(Je.getRow(e,3,tSe),nSe))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new se("matrix is not invertible because its determinate is zero.")}return _e=1/_e,t[0]=I*_e,t[1]=L*_e,t[2]=B*_e,t[3]=U*_e,t[4]=V*_e,t[5]=G*_e,t[6]=k*_e,t[7]=W*_e,t[8]=Y*_e,t[9]=Q*_e,t[10]=j*_e,t[11]=Z*_e,t[12]=J*_e,t[13]=he*_e,t[14]=xe*_e,t[15]=re*_e,t};Je.inverseTransformation=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[4],s=e[5],a=e[6],c=e[8],u=e[9],f=e[10],d=e[12],p=e[13],g=e[14],m=-n*d-i*p-o*g,x=-r*d-s*p-a*g,b=-c*d-u*p-f*g;return t[0]=n,t[1]=r,t[2]=c,t[3]=0,t[4]=i,t[5]=s,t[6]=u,t[7]=0,t[8]=o,t[9]=a,t[10]=f,t[11]=0,t[12]=m,t[13]=x,t[14]=b,t[15]=1,t};var iSe=new Je;Je.inverseTranspose=function(e,t){return Je.inverse(Je.transpose(e,iSe),t)};Je.IDENTITY=Object.freeze(new Je(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));Je.ZERO=Object.freeze(new Je(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));Je.COLUMN0ROW0=0;Je.COLUMN0ROW1=1;Je.COLUMN0ROW2=2;Je.COLUMN0ROW3=3;Je.COLUMN1ROW0=4;Je.COLUMN1ROW1=5;Je.COLUMN1ROW2=6;Je.COLUMN1ROW3=7;Je.COLUMN2ROW0=8;Je.COLUMN2ROW1=9;Je.COLUMN2ROW2=10;Je.COLUMN2ROW3=11;Je.COLUMN3ROW0=12;Je.COLUMN3ROW1=13;Je.COLUMN3ROW2=14;Je.COLUMN3ROW3=15;Object.defineProperties(Je.prototype,{length:{get:function(){return Je.packedLength}}});Je.prototype.clone=function(e){return Je.clone(this,e)};Je.prototype.equals=function(e){return Je.equals(this,e)};Je.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};Je.prototype.equalsEpsilon=function(e,t){return Je.equalsEpsilon(this,e,t)};Je.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]}) (${this[1]}, ${this[5]}, ${this[9]}, ${this[13]}) (${this[2]}, ${this[6]}, ${this[10]}, ${this[14]}) -(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var F=et;var BEe={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},te=Object.freeze(BEe);var kEe=new h;function Pt(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var aa={};aa[te.FLOAT]="float";aa[te.FLOAT_VEC2]="vec2";aa[te.FLOAT_VEC3]="vec3";aa[te.FLOAT_VEC4]="vec4";aa[te.INT]="int";aa[te.INT_VEC2]="ivec2";aa[te.INT_VEC3]="ivec3";aa[te.INT_VEC4]="ivec4";aa[te.BOOL]="bool";aa[te.BOOL_VEC2]="bvec2";aa[te.BOOL_VEC3]="bvec3";aa[te.BOOL_VEC4]="bvec4";aa[te.FLOAT_MAT2]="mat2";aa[te.FLOAT_MAT3]="mat3";aa[te.FLOAT_MAT4]="mat4";aa[te.SAMPLER_2D]="sampler2D";aa[te.SAMPLER_CUBE]="samplerCube";Pt.prototype.getDeclaration=function(e){let t=`uniform ${aa[this._datatype]} ${e}`,n=this._size;return n===1?t+=";":t+=`[${n.toString()}];`,t};var VEe={czm_viewport:new Pt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new Pt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new Pt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_eyeEllipsoidNormalEC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.eyeEllipsoidNormalEC}}),czm_eyeEllipsoidCurvature:new Pt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeEllipsoidCurvature}}),czm_modelToEnu:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelToEnu}}),czm_enuToModel:new Pt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.enuToModel}}),czm_entireFrustum:new Pt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new Pt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new Pt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return F.getTranslation(e.inverseView,kEe)}}),czm_frameNumber:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new Pt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new Pt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new Pt({size:1,datatype:te.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new Pt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapsMaximumLOD:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new Pt({size:9,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new Pt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogDensity}}),czm_fogMinimumBrightness:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogMinimumBrightness}}),czm_atmosphereHsbShift:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereHsbShift}}),czm_atmosphereLightIntensity:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereLightIntensity}}),czm_atmosphereRayleighCoefficient:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereRayleighCoefficient}}),czm_atmosphereRayleighScaleHeight:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereRayleighScaleHeight}}),czm_atmosphereMieCoefficient:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereMieCoefficient}}),czm_atmosphereMieScaleHeight:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieScaleHeight}}),czm_atmosphereMieAnisotropy:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieAnisotropy}}),czm_atmosphereDynamicLighting:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereDynamicLighting}}),czm_splitPosition:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new Pt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new Pt({size:1,datatype:te.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new Pt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})},hp=VEe;function UEe(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var qn=UEe;function zEe(){return!0}function HEe(e,t){t=y(t,"This object was destroyed, i.e., destroy() was called.");function n(){}for(let i in e)typeof e[i]=="function"&&(e[i]=n);e.isDestroyed=zEe}var ue=HEe;var Vs={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT};Vs.getSizeInBytes=function(e){switch(e){case Vs.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Vs.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Vs.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};Vs.fromSizeInBytes=function(e){switch(e){case 2:return Vs.UNSIGNED_SHORT;case 4:return Vs.UNSIGNED_INT;case 1:return Vs.UNSIGNED_BYTE}};Vs.validate=function(e){return l(e)&&(e===Vs.UNSIGNED_BYTE||e===Vs.UNSIGNED_SHORT||e===Vs.UNSIGNED_INT)};Vs.createTypedArray=function(e,t){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};Vs.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};Vs.fromTypedArray=function(e){if(e instanceof Uint8Array)return Vs.UNSIGNED_BYTE;if(e instanceof Uint16Array)return Vs.UNSIGNED_SHORT;if(e instanceof Uint32Array)return Vs.UNSIGNED_INT};var Fe=Object.freeze(Vs);var tV={STREAM_DRAW:te.STREAM_DRAW,STATIC_DRAW:te.STATIC_DRAW,DYNAMIC_DRAW:te.DYNAMIC_DRAW,validate:function(e){return e===tV.STREAM_DRAW||e===tV.STATIC_DRAW||e===tV.DYNAMIC_DRAW}},ke=Object.freeze(tV);function cf(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=l(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=qn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}cf.createVertexBuffer=function(e){return new cf({context:e.context,bufferTarget:te.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};cf.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=Fe.getSizeInBytes(n),o=new cf({context:t,bufferTarget:te.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(cf.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});cf.prototype._getBuffer=function(){return this._buffer};cf.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};cf.prototype.copyFromBuffer=function(e,t,n,i){let o=te.COPY_READ_BUFFER,r=te.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};cf.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=te.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};cf.prototype.isDestroyed=function(){return!1};cf.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),ue(this)};var pt=cf;var Sg,Or={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},gl={};Object.defineProperties(gl,{element:{get:function(){if(gl.supportsFullscreen())return document[Or.fullscreenElement]}},changeEventName:{get:function(){if(gl.supportsFullscreen())return Or.fullscreenchange}},errorEventName:{get:function(){if(gl.supportsFullscreen())return Or.fullscreenerror}},enabled:{get:function(){if(gl.supportsFullscreen())return document[Or.fullscreenEnabled]}},fullscreen:{get:function(){if(gl.supportsFullscreen())return gl.element!==null}}});gl.supportsFullscreen=function(){if(l(Sg))return Sg;Sg=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return Or.requestFullscreen="requestFullscreen",Or.exitFullscreen="exitFullscreen",Or.fullscreenEnabled="fullscreenEnabled",Or.fullscreenElement="fullscreenElement",Or.fullscreenchange="fullscreenchange",Or.fullscreenerror="fullscreenerror",Sg=!0,Sg;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i<o;++i){let r=t[i];n=`${r}RequestFullscreen`,typeof e[n]=="function"?(Or.requestFullscreen=n,Sg=!0):(n=`${r}RequestFullScreen`,typeof e[n]=="function"&&(Or.requestFullscreen=n,Sg=!0)),n=`${r}ExitFullscreen`,typeof document[n]=="function"?Or.exitFullscreen=n:(n=`${r}CancelFullScreen`,typeof document[n]=="function"&&(Or.exitFullscreen=n)),n=`${r}FullscreenEnabled`,document[n]!==void 0?Or.fullscreenEnabled=n:(n=`${r}FullScreenEnabled`,document[n]!==void 0&&(Or.fullscreenEnabled=n)),n=`${r}FullscreenElement`,document[n]!==void 0?Or.fullscreenElement=n:(n=`${r}FullScreenElement`,document[n]!==void 0&&(Or.fullscreenElement=n)),n=`${r}fullscreenchange`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenChange"),Or.fullscreenchange=n),n=`${r}fullscreenerror`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenError"),Or.fullscreenerror=n)}return Sg};gl.requestFullscreen=function(e,t){gl.supportsFullscreen()&&e[Or.requestFullscreen]({vrDisplay:t})};gl.exitFullscreen=function(){gl.supportsFullscreen()&&document[Or.exitFullscreen]()};gl._names=Or;var yr=gl;var Qa;typeof navigator<"u"?Qa=navigator:Qa={};function X0(e){let t=e.split(".");for(let n=0,i=t.length;n<i;++n)t[n]=parseInt(t[n],10);return t}var nV,FQ;function b5(){if(!l(nV)&&(nV=!1,!cV())){let e=/ Chrome\/([\.0-9]+)/.exec(Qa.userAgent);e!==null&&(nV=!0,FQ=X0(e[1]))}return nV}function GEe(){return b5()&&FQ}var iV,BQ;function kQ(){if(!l(iV)&&(iV=!1,!b5()&&!cV()&&/ Safari\/[\.0-9]+/.test(Qa.userAgent))){let e=/ Version\/([\.0-9]+)/.exec(Qa.userAgent);e!==null&&(iV=!0,BQ=X0(e[1]))}return iV}function WEe(){return kQ()&&BQ}var oV,y5;function VQ(){if(!l(oV)){oV=!1;let e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(Qa.userAgent);e!==null&&(oV=!0,y5=X0(e[1]),y5.isNightly=!!e[2])}return oV}function jEe(){return VQ()&&y5}var $v,x5;function UQ(){if(!l($v)){$v=!1;let e;Qa.appName==="Microsoft Internet Explorer"?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Qa.userAgent),e!==null&&($v=!0,x5=X0(e[1]))):Qa.appName==="Netscape"&&(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Qa.userAgent),e!==null&&($v=!0,x5=X0(e[1])))}return $v}function qEe(){return UQ()&&x5}var rV,zQ;function cV(){if(!l(rV)){rV=!1;let e=/ Edg\/([\.0-9]+)/.exec(Qa.userAgent);e!==null&&(rV=!0,zQ=X0(e[1]))}return rV}function YEe(){return cV()&&zQ}var sV,T5;function lV(){if(!l(sV)){sV=!1;let e=/Firefox\/([\.0-9]+)/.exec(Qa.userAgent);e!==null&&(sV=!0,T5=X0(e[1]))}return sV}var p5;function XEe(){return l(p5)||(p5=/Windows/i.test(Qa.appVersion)),p5}var _5;function KEe(){return l(_5)||(_5=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),_5}function ZEe(){return lV()&&T5}var g5;function $Ee(){return l(g5)||(g5=!lV()&&typeof PointerEvent<"u"&&(!l(Qa.pointerEnabled)||Qa.pointerEnabled)),g5}var HQ,aV;function GQ(){if(!l(aV)){let e=document.createElement("canvas");e.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");let t=e.style.imageRendering;aV=l(t)&&t!=="",aV&&(HQ=t)}return aV}function QEe(){return GQ()?HQ:void 0}function Mc(){return Mc._result}Mc._promise=void 0;Mc._result=void 0;Mc.initialize=function(){return l(Mc._promise)||(Mc._promise=new Promise(e=>{let t=new Image;t.onload=function(){Mc._result=t.width>0&&t.height>0,e(Mc._result)},t.onerror=function(){Mc._result=!1,e(Mc._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),Mc._promise};Object.defineProperties(Mc,{initialized:{get:function(){return l(Mc._result)}}});var BC=[];typeof ArrayBuffer<"u"&&(BC.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&BC.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&BC.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&BC.push(BigInt64Array),typeof BigUint64Array<"u"&&BC.push(BigUint64Array));var lf={isChrome:b5,chromeVersion:GEe,isSafari:kQ,safariVersion:WEe,isWebkit:VQ,webkitVersion:jEe,isInternetExplorer:UQ,internetExplorerVersion:qEe,isEdge:cV,edgeVersion:YEe,isFirefox:lV,firefoxVersion:ZEe,isWindows:XEe,isIPadOrIOS:KEe,hardwareConcurrency:y(Qa.hardwareConcurrency,3),supportsPointerEvents:$Ee,supportsImageRenderingPixelated:GQ,supportsWebP:Mc,imageRenderingValue:QEe,typedArrayTypes:BC};lf.supportsBasis=function(e){return lf.supportsWebAssembly()&&e.context.supportsBasis};lf.supportsFullscreen=function(){return yr.supportsFullscreen()};lf.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};lf.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};lf.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};lf.supportsBigInt=function(){return typeof BigInt<"u"};lf.supportsWebWorkers=function(){return typeof Worker<"u"};lf.supportsWebAssembly=function(){return typeof WebAssembly<"u"};lf.supportsWebgl2=function(e){return e.context.webgl2};lf.supportsEsmWebWorkers=function(){return!lV()||parseInt(T5)>=114};var Gt=lf;function C5(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function ie(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}ie.fromCartesian4=function(e,t){return l(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new ie(e.x,e.y,e.z,e.w)};ie.fromBytes=function(e,t,n,i,o){return e=ie.byteToFloat(y(e,255)),t=ie.byteToFloat(y(t,255)),n=ie.byteToFloat(y(n,255)),i=ie.byteToFloat(y(i,255)),l(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new ie(e,t,n,i)};ie.fromAlpha=function(e,t,n){return l(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new ie(e.red,e.green,e.blue,t)};var A5,E5,mp;Gt.supportsTypedArrays()&&(A5=new ArrayBuffer(4),E5=new Uint32Array(A5),mp=new Uint8Array(A5));ie.fromRgba=function(e,t){return E5[0]=e,ie.fromBytes(mp[0],mp[1],mp[2],mp[3],t)};ie.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let u=2*n-c;r=C5(u,c,e+1/3),s=C5(u,c,e),a=C5(u,c,e-1/3)}return l(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new ie(r,s,a,i)};ie.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!l(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+P.nextRandomNumber()*(a-s)}let i=e.green;if(!l(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+P.nextRandomNumber()*(a-s)}let o=e.blue;if(!l(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+P.nextRandomNumber()*(a-s)}let r=e.alpha;if(!l(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+P.nextRandomNumber()*(a-s)}return l(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new ie(n,i,o,r)};var JEe=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,eSe=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,tSe=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,nSe=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;ie.fromCssColorString=function(e,t){l(t)||(t=new ie),e=e.trim();let n=ie[e.toUpperCase()];if(l(n))return ie.clone(n,t),t;let i=JEe.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=eSe.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=tSe.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=nSe.exec(e),i!==null?ie.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};ie.packedLength=4;ie.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};ie.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ie),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};ie.byteToFloat=function(e){return e/255};ie.floatToByte=function(e){return e===1?255:e*256|0};ie.clone=function(e,t){if(l(e))return l(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new ie(e.red,e.green,e.blue,e.alpha)};ie.equals=function(e,t){return e===t||l(e)&&l(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};ie.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};ie.prototype.clone=function(e){return ie.clone(this,e)};ie.prototype.equals=function(e){return ie.equals(this,e)};ie.prototype.equalsEpsilon=function(e,t){return this===e||l(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t};ie.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};ie.prototype.toCssColorString=function(){let e=ie.floatToByte(this.red),t=ie.floatToByte(this.green),n=ie.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};ie.prototype.toCssHexString=function(){let e=ie.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=ie.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=ie.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=ie.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};ie.prototype.toBytes=function(e){let t=ie.floatToByte(this.red),n=ie.floatToByte(this.green),i=ie.floatToByte(this.blue),o=ie.floatToByte(this.alpha);return l(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};ie.prototype.toRgba=function(){return mp[0]=ie.floatToByte(this.red),mp[1]=ie.floatToByte(this.green),mp[2]=ie.floatToByte(this.blue),mp[3]=ie.floatToByte(this.alpha),E5[0]};ie.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};ie.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};ie.prototype.withAlpha=function(e,t){return ie.fromAlpha(this,e,t)};ie.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};ie.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};ie.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};ie.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};ie.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};ie.lerp=function(e,t,n,i){return i.red=P.lerp(e.red,t.red,n),i.green=P.lerp(e.green,t.green,n),i.blue=P.lerp(e.blue,t.blue,n),i.alpha=P.lerp(e.alpha,t.alpha,n),i};ie.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};ie.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};ie.ALICEBLUE=Object.freeze(ie.fromCssColorString("#F0F8FF"));ie.ANTIQUEWHITE=Object.freeze(ie.fromCssColorString("#FAEBD7"));ie.AQUA=Object.freeze(ie.fromCssColorString("#00FFFF"));ie.AQUAMARINE=Object.freeze(ie.fromCssColorString("#7FFFD4"));ie.AZURE=Object.freeze(ie.fromCssColorString("#F0FFFF"));ie.BEIGE=Object.freeze(ie.fromCssColorString("#F5F5DC"));ie.BISQUE=Object.freeze(ie.fromCssColorString("#FFE4C4"));ie.BLACK=Object.freeze(ie.fromCssColorString("#000000"));ie.BLANCHEDALMOND=Object.freeze(ie.fromCssColorString("#FFEBCD"));ie.BLUE=Object.freeze(ie.fromCssColorString("#0000FF"));ie.BLUEVIOLET=Object.freeze(ie.fromCssColorString("#8A2BE2"));ie.BROWN=Object.freeze(ie.fromCssColorString("#A52A2A"));ie.BURLYWOOD=Object.freeze(ie.fromCssColorString("#DEB887"));ie.CADETBLUE=Object.freeze(ie.fromCssColorString("#5F9EA0"));ie.CHARTREUSE=Object.freeze(ie.fromCssColorString("#7FFF00"));ie.CHOCOLATE=Object.freeze(ie.fromCssColorString("#D2691E"));ie.CORAL=Object.freeze(ie.fromCssColorString("#FF7F50"));ie.CORNFLOWERBLUE=Object.freeze(ie.fromCssColorString("#6495ED"));ie.CORNSILK=Object.freeze(ie.fromCssColorString("#FFF8DC"));ie.CRIMSON=Object.freeze(ie.fromCssColorString("#DC143C"));ie.CYAN=Object.freeze(ie.fromCssColorString("#00FFFF"));ie.DARKBLUE=Object.freeze(ie.fromCssColorString("#00008B"));ie.DARKCYAN=Object.freeze(ie.fromCssColorString("#008B8B"));ie.DARKGOLDENROD=Object.freeze(ie.fromCssColorString("#B8860B"));ie.DARKGRAY=Object.freeze(ie.fromCssColorString("#A9A9A9"));ie.DARKGREEN=Object.freeze(ie.fromCssColorString("#006400"));ie.DARKGREY=ie.DARKGRAY;ie.DARKKHAKI=Object.freeze(ie.fromCssColorString("#BDB76B"));ie.DARKMAGENTA=Object.freeze(ie.fromCssColorString("#8B008B"));ie.DARKOLIVEGREEN=Object.freeze(ie.fromCssColorString("#556B2F"));ie.DARKORANGE=Object.freeze(ie.fromCssColorString("#FF8C00"));ie.DARKORCHID=Object.freeze(ie.fromCssColorString("#9932CC"));ie.DARKRED=Object.freeze(ie.fromCssColorString("#8B0000"));ie.DARKSALMON=Object.freeze(ie.fromCssColorString("#E9967A"));ie.DARKSEAGREEN=Object.freeze(ie.fromCssColorString("#8FBC8F"));ie.DARKSLATEBLUE=Object.freeze(ie.fromCssColorString("#483D8B"));ie.DARKSLATEGRAY=Object.freeze(ie.fromCssColorString("#2F4F4F"));ie.DARKSLATEGREY=ie.DARKSLATEGRAY;ie.DARKTURQUOISE=Object.freeze(ie.fromCssColorString("#00CED1"));ie.DARKVIOLET=Object.freeze(ie.fromCssColorString("#9400D3"));ie.DEEPPINK=Object.freeze(ie.fromCssColorString("#FF1493"));ie.DEEPSKYBLUE=Object.freeze(ie.fromCssColorString("#00BFFF"));ie.DIMGRAY=Object.freeze(ie.fromCssColorString("#696969"));ie.DIMGREY=ie.DIMGRAY;ie.DODGERBLUE=Object.freeze(ie.fromCssColorString("#1E90FF"));ie.FIREBRICK=Object.freeze(ie.fromCssColorString("#B22222"));ie.FLORALWHITE=Object.freeze(ie.fromCssColorString("#FFFAF0"));ie.FORESTGREEN=Object.freeze(ie.fromCssColorString("#228B22"));ie.FUCHSIA=Object.freeze(ie.fromCssColorString("#FF00FF"));ie.GAINSBORO=Object.freeze(ie.fromCssColorString("#DCDCDC"));ie.GHOSTWHITE=Object.freeze(ie.fromCssColorString("#F8F8FF"));ie.GOLD=Object.freeze(ie.fromCssColorString("#FFD700"));ie.GOLDENROD=Object.freeze(ie.fromCssColorString("#DAA520"));ie.GRAY=Object.freeze(ie.fromCssColorString("#808080"));ie.GREEN=Object.freeze(ie.fromCssColorString("#008000"));ie.GREENYELLOW=Object.freeze(ie.fromCssColorString("#ADFF2F"));ie.GREY=ie.GRAY;ie.HONEYDEW=Object.freeze(ie.fromCssColorString("#F0FFF0"));ie.HOTPINK=Object.freeze(ie.fromCssColorString("#FF69B4"));ie.INDIANRED=Object.freeze(ie.fromCssColorString("#CD5C5C"));ie.INDIGO=Object.freeze(ie.fromCssColorString("#4B0082"));ie.IVORY=Object.freeze(ie.fromCssColorString("#FFFFF0"));ie.KHAKI=Object.freeze(ie.fromCssColorString("#F0E68C"));ie.LAVENDER=Object.freeze(ie.fromCssColorString("#E6E6FA"));ie.LAVENDAR_BLUSH=Object.freeze(ie.fromCssColorString("#FFF0F5"));ie.LAWNGREEN=Object.freeze(ie.fromCssColorString("#7CFC00"));ie.LEMONCHIFFON=Object.freeze(ie.fromCssColorString("#FFFACD"));ie.LIGHTBLUE=Object.freeze(ie.fromCssColorString("#ADD8E6"));ie.LIGHTCORAL=Object.freeze(ie.fromCssColorString("#F08080"));ie.LIGHTCYAN=Object.freeze(ie.fromCssColorString("#E0FFFF"));ie.LIGHTGOLDENRODYELLOW=Object.freeze(ie.fromCssColorString("#FAFAD2"));ie.LIGHTGRAY=Object.freeze(ie.fromCssColorString("#D3D3D3"));ie.LIGHTGREEN=Object.freeze(ie.fromCssColorString("#90EE90"));ie.LIGHTGREY=ie.LIGHTGRAY;ie.LIGHTPINK=Object.freeze(ie.fromCssColorString("#FFB6C1"));ie.LIGHTSEAGREEN=Object.freeze(ie.fromCssColorString("#20B2AA"));ie.LIGHTSKYBLUE=Object.freeze(ie.fromCssColorString("#87CEFA"));ie.LIGHTSLATEGRAY=Object.freeze(ie.fromCssColorString("#778899"));ie.LIGHTSLATEGREY=ie.LIGHTSLATEGRAY;ie.LIGHTSTEELBLUE=Object.freeze(ie.fromCssColorString("#B0C4DE"));ie.LIGHTYELLOW=Object.freeze(ie.fromCssColorString("#FFFFE0"));ie.LIME=Object.freeze(ie.fromCssColorString("#00FF00"));ie.LIMEGREEN=Object.freeze(ie.fromCssColorString("#32CD32"));ie.LINEN=Object.freeze(ie.fromCssColorString("#FAF0E6"));ie.MAGENTA=Object.freeze(ie.fromCssColorString("#FF00FF"));ie.MAROON=Object.freeze(ie.fromCssColorString("#800000"));ie.MEDIUMAQUAMARINE=Object.freeze(ie.fromCssColorString("#66CDAA"));ie.MEDIUMBLUE=Object.freeze(ie.fromCssColorString("#0000CD"));ie.MEDIUMORCHID=Object.freeze(ie.fromCssColorString("#BA55D3"));ie.MEDIUMPURPLE=Object.freeze(ie.fromCssColorString("#9370DB"));ie.MEDIUMSEAGREEN=Object.freeze(ie.fromCssColorString("#3CB371"));ie.MEDIUMSLATEBLUE=Object.freeze(ie.fromCssColorString("#7B68EE"));ie.MEDIUMSPRINGGREEN=Object.freeze(ie.fromCssColorString("#00FA9A"));ie.MEDIUMTURQUOISE=Object.freeze(ie.fromCssColorString("#48D1CC"));ie.MEDIUMVIOLETRED=Object.freeze(ie.fromCssColorString("#C71585"));ie.MIDNIGHTBLUE=Object.freeze(ie.fromCssColorString("#191970"));ie.MINTCREAM=Object.freeze(ie.fromCssColorString("#F5FFFA"));ie.MISTYROSE=Object.freeze(ie.fromCssColorString("#FFE4E1"));ie.MOCCASIN=Object.freeze(ie.fromCssColorString("#FFE4B5"));ie.NAVAJOWHITE=Object.freeze(ie.fromCssColorString("#FFDEAD"));ie.NAVY=Object.freeze(ie.fromCssColorString("#000080"));ie.OLDLACE=Object.freeze(ie.fromCssColorString("#FDF5E6"));ie.OLIVE=Object.freeze(ie.fromCssColorString("#808000"));ie.OLIVEDRAB=Object.freeze(ie.fromCssColorString("#6B8E23"));ie.ORANGE=Object.freeze(ie.fromCssColorString("#FFA500"));ie.ORANGERED=Object.freeze(ie.fromCssColorString("#FF4500"));ie.ORCHID=Object.freeze(ie.fromCssColorString("#DA70D6"));ie.PALEGOLDENROD=Object.freeze(ie.fromCssColorString("#EEE8AA"));ie.PALEGREEN=Object.freeze(ie.fromCssColorString("#98FB98"));ie.PALETURQUOISE=Object.freeze(ie.fromCssColorString("#AFEEEE"));ie.PALEVIOLETRED=Object.freeze(ie.fromCssColorString("#DB7093"));ie.PAPAYAWHIP=Object.freeze(ie.fromCssColorString("#FFEFD5"));ie.PEACHPUFF=Object.freeze(ie.fromCssColorString("#FFDAB9"));ie.PERU=Object.freeze(ie.fromCssColorString("#CD853F"));ie.PINK=Object.freeze(ie.fromCssColorString("#FFC0CB"));ie.PLUM=Object.freeze(ie.fromCssColorString("#DDA0DD"));ie.POWDERBLUE=Object.freeze(ie.fromCssColorString("#B0E0E6"));ie.PURPLE=Object.freeze(ie.fromCssColorString("#800080"));ie.RED=Object.freeze(ie.fromCssColorString("#FF0000"));ie.ROSYBROWN=Object.freeze(ie.fromCssColorString("#BC8F8F"));ie.ROYALBLUE=Object.freeze(ie.fromCssColorString("#4169E1"));ie.SADDLEBROWN=Object.freeze(ie.fromCssColorString("#8B4513"));ie.SALMON=Object.freeze(ie.fromCssColorString("#FA8072"));ie.SANDYBROWN=Object.freeze(ie.fromCssColorString("#F4A460"));ie.SEAGREEN=Object.freeze(ie.fromCssColorString("#2E8B57"));ie.SEASHELL=Object.freeze(ie.fromCssColorString("#FFF5EE"));ie.SIENNA=Object.freeze(ie.fromCssColorString("#A0522D"));ie.SILVER=Object.freeze(ie.fromCssColorString("#C0C0C0"));ie.SKYBLUE=Object.freeze(ie.fromCssColorString("#87CEEB"));ie.SLATEBLUE=Object.freeze(ie.fromCssColorString("#6A5ACD"));ie.SLATEGRAY=Object.freeze(ie.fromCssColorString("#708090"));ie.SLATEGREY=ie.SLATEGRAY;ie.SNOW=Object.freeze(ie.fromCssColorString("#FFFAFA"));ie.SPRINGGREEN=Object.freeze(ie.fromCssColorString("#00FF7F"));ie.STEELBLUE=Object.freeze(ie.fromCssColorString("#4682B4"));ie.TAN=Object.freeze(ie.fromCssColorString("#D2B48C"));ie.TEAL=Object.freeze(ie.fromCssColorString("#008080"));ie.THISTLE=Object.freeze(ie.fromCssColorString("#D8BFD8"));ie.TOMATO=Object.freeze(ie.fromCssColorString("#FF6347"));ie.TURQUOISE=Object.freeze(ie.fromCssColorString("#40E0D0"));ie.VIOLET=Object.freeze(ie.fromCssColorString("#EE82EE"));ie.WHEAT=Object.freeze(ie.fromCssColorString("#F5DEB3"));ie.WHITE=Object.freeze(ie.fromCssColorString("#FFFFFF"));ie.WHITESMOKE=Object.freeze(ie.fromCssColorString("#F5F5F5"));ie.YELLOW=Object.freeze(ie.fromCssColorString("#FFFF00"));ie.YELLOWGREEN=Object.freeze(ie.fromCssColorString("#9ACD32"));ie.TRANSPARENT=Object.freeze(new ie(0,0,0,0));var H=ie;function uV(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}uV.ALL=Object.freeze(new uV({color:new H(0,0,0,0),depth:1,stencil:0}));uV.prototype.execute=function(e,t){e.clear(this,t)};var oi=uV;var iSe={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},Se=Object.freeze(iSe);function WQ(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=Se.COMPUTE,this.owner=e.owner}WQ.prototype.execute=function(e){e.execute(this)};var gd=WQ;function Ft(e,t){this.x=y(e,0),this.y=y(t,0)}Ft.fromElements=function(e,t,n){return l(n)?(n.x=e,n.y=t,n):new Ft(e,t)};Ft.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t):new Ft(e.x,e.y)};Ft.fromCartesian3=Ft.clone;Ft.fromCartesian4=Ft.clone;Ft.packedLength=2;Ft.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};Ft.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ft),n.x=e[t++],n.y=e[t],n};Ft.packArray=function(e,t){let n=e.length,i=n*2;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Ft.pack(e[o],t,o*2);return t};Ft.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/2:t=new Array(n/2);for(let i=0;i<n;i+=2){let o=i/2;t[o]=Ft.unpack(e,i,t[o])}return t};Ft.fromArray=Ft.unpack;Ft.maximumComponent=function(e){return Math.max(e.x,e.y)};Ft.minimumComponent=function(e){return Math.min(e.x,e.y)};Ft.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n};Ft.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n};Ft.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y);return i.x=o,i.y=r,i};Ft.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y};Ft.magnitude=function(e){return Math.sqrt(Ft.magnitudeSquared(e))};var fV=new Ft;Ft.distance=function(e,t){return Ft.subtract(e,t,fV),Ft.magnitude(fV)};Ft.distanceSquared=function(e,t){return Ft.subtract(e,t,fV),Ft.magnitudeSquared(fV)};Ft.normalize=function(e,t){let n=Ft.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t};Ft.dot=function(e,t){return e.x*t.x+e.y*t.y};Ft.cross=function(e,t){return e.x*t.y-e.y*t.x};Ft.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n};Ft.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n};Ft.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n};Ft.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n};Ft.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n};Ft.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n};Ft.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t};Ft.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};var jQ=new Ft;Ft.lerp=function(e,t,n,i){return Ft.multiplyByScalar(t,n,jQ),i=Ft.multiplyByScalar(e,1-n,i),Ft.add(jQ,i,i)};var qQ=new Ft,YQ=new Ft;Ft.angleBetween=function(e,t){return Ft.normalize(e,qQ),Ft.normalize(t,YQ),P.acosClamped(Ft.dot(qQ,YQ))};var oSe=new Ft;Ft.mostOrthogonalAxis=function(e,t){let n=Ft.normalize(e,oSe);return Ft.abs(n,n),n.x<=n.y?t=Ft.clone(Ft.UNIT_X,t):t=Ft.clone(Ft.UNIT_Y,t),t};Ft.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y};Ft.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]};Ft.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)};Ft.ZERO=Object.freeze(new Ft(0,0));Ft.ONE=Object.freeze(new Ft(1,1));Ft.UNIT_X=Object.freeze(new Ft(1,0));Ft.UNIT_Y=Object.freeze(new Ft(0,1));Ft.prototype.clone=function(e){return Ft.clone(this,e)};Ft.prototype.equals=function(e){return Ft.equals(this,e)};Ft.prototype.equalsEpsilon=function(e,t,n){return Ft.equalsEpsilon(this,e,t,n)};Ft.prototype.toString=function(){return`(${this.x}, ${this.y})`};var z=Ft;var rSe=new h,sSe=new h;function aSe(e,t,n,i,o){let r=e.x,s=e.y,a=e.z,c=t.x,u=t.y,f=t.z,d=r*r*c*c,p=s*s*u*u,g=a*a*f*f,m=d+p+g,x=Math.sqrt(1/m),b=h.multiplyByScalar(e,x,rSe);if(m<i)return isFinite(x)?h.clone(b,o):void 0;let T=n.x,A=n.y,C=n.z,E=sSe;E.x=b.x*T*2,E.y=b.y*A*2,E.z=b.z*C*2;let v=(1-x)*h.magnitude(e)/(.5*h.magnitude(E)),D=0,O,R,M,N,_,S,w,I,L,B,U;do{v-=D,M=1/(1+v*T),N=1/(1+v*A),_=1/(1+v*C),S=M*M,w=N*N,I=_*_,L=S*M,B=w*N,U=I*_,O=d*S+p*w+g*I-1,R=d*L*T+p*B*A+g*U*C;let V=-2*R;D=O/V}while(Math.abs(O)>P.EPSILON12);return l(o)?(o.x=r*M,o.y=s*N,o.z=a*_,o):new h(r*M,s*N,a*_)}var K0=aSe;function Vo(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}Vo.fromRadians=function(e,t,n,i){return n=y(n,0),l(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new Vo(e,t,n)};Vo.fromDegrees=function(e,t,n,i){return e=P.toRadians(e),t=P.toRadians(t),Vo.fromRadians(e,t,n,i)};var cSe=new h,lSe=new h,uSe=new h;Vo._ellipsoidOneOverRadii=new h(1/6378137,1/6378137,1/6356752314245179e-9);Vo._ellipsoidOneOverRadiiSquared=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));Vo._ellipsoidCenterToleranceSquared=P.EPSILON1;Vo.fromCartesian=function(e,t,n){let i=l(t)?t.oneOverRadii:Vo._ellipsoidOneOverRadii,o=l(t)?t.oneOverRadiiSquared:Vo._ellipsoidOneOverRadiiSquared,r=l(t)?t._centerToleranceSquared:Vo._ellipsoidCenterToleranceSquared,s=K0(e,i,o,r,lSe);if(!l(s))return;let a=h.multiplyComponents(s,o,cSe);a=h.normalize(a,a);let c=h.subtract(e,s,uSe),u=Math.atan2(a.y,a.x),f=Math.asin(a.z),d=P.sign(h.dot(c,e))*h.magnitude(c);return l(n)?(n.longitude=u,n.latitude=f,n.height=d,n):new Vo(u,f,d)};Vo.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};Vo.clone=function(e,t){if(l(e))return l(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Vo(e.longitude,e.latitude,e.height)};Vo.equals=function(e,t){return e===t||l(e)&&l(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};Vo.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};Vo.ZERO=Object.freeze(new Vo(0,0,0));Vo.prototype.clone=function(e){return Vo.clone(this,e)};Vo.prototype.equals=function(e){return Vo.equals(this,e)};Vo.prototype.equalsEpsilon=function(e,t){return Vo.equalsEpsilon(this,e,t)};Vo.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var fe=Vo;function KQ(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=P.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function gi(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,KQ(this,e,t,n)}Object.defineProperties(gi.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});gi.clone=function(e,t){if(!l(e))return;let n=e._radii;return l(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new gi(n.x,n.y,n.z)};gi.fromCartesian3=function(e,t){return l(t)||(t=new gi),l(e)&&KQ(t,e.x,e.y,e.z),t};gi.WGS84=Object.freeze(new gi(6378137,6378137,6356752314245179e-9));gi.UNIT_SPHERE=Object.freeze(new gi(1,1,1));gi.MOON=Object.freeze(new gi(P.LUNAR_RADIUS,P.LUNAR_RADIUS,P.LUNAR_RADIUS));gi._default=gi.WGS84;Object.defineProperties(gi,{default:{get:function(){return gi._default},set:function(e){gi._default=e,h._ellipsoidRadiiSquared=e.radiiSquared,fe._ellipsoidOneOverRadii=e.oneOverRadii,fe._ellipsoidOneOverRadiiSquared=e.oneOverRadiiSquared,fe._ellipsoidCenterToleranceSquared=e._centerToleranceSquared}}});gi.prototype.clone=function(e){return gi.clone(this,e)};gi.packedLength=h.packedLength;gi.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};gi.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return gi.fromCartesian3(i,n)};gi.prototype.geocentricSurfaceNormal=h.normalize;gi.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return l(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};gi.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,P.EPSILON14))return l(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var fSe=new h,dSe=new h;gi.prototype.cartographicToCartesian=function(e,t){let n=fSe,i=dSe;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),l(t)||(t=new h),h.add(i,n,t)};gi.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var hSe=new h,mSe=new h,pSe=new h;gi.prototype.cartesianToCartographic=function(e,t){let n=this.scaleToGeodeticSurface(e,mSe);if(!l(n))return;let i=this.geodeticSurfaceNormal(n,hSe),o=h.subtract(e,n,pSe),r=Math.atan2(i.y,i.x),s=Math.asin(i.z),a=P.sign(h.dot(o,e))*h.magnitude(o);return l(t)?(t.longitude=r,t.latitude=s,t.height=a,t):new fe(r,s,a)};gi.prototype.cartesianArrayToCartographicArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};gi.prototype.scaleToGeodeticSurface=function(e,t){return K0(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)};gi.prototype.scaleToGeocentricSurface=function(e,t){l(t)||(t=new h);let n=e.x,i=e.y,o=e.z,r=this._oneOverRadiiSquared,s=1/Math.sqrt(n*n*r.x+i*i*r.y+o*o*r.z);return h.multiplyByScalar(e,s,t)};gi.prototype.transformPositionToScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._oneOverRadii,t)};gi.prototype.transformPositionFromScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._radii,t)};gi.prototype.equals=function(e){return this===e||l(e)&&h.equals(this._radii,e._radii)};gi.prototype.toString=function(){return this._radii.toString()};gi.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){t=y(t,0);let i=this._squaredXOverSquaredZ;if(l(n)||(n=new h),n.x=0,n.y=0,n.z=e.z*(1-i),!(Math.abs(n.z)>=this._radii.z-t))return n};var _Se=new h;gi.prototype.getLocalCurvature=function(e,t){l(t)||(t=new z);let n=this.getSurfaceNormalIntersectionWithZAxis(e,0,_Se),i=h.distance(e,n),o=this.minimumRadius*i/this.maximumRadius**2,r=i*o**2;return z.fromElements(1/i,1/r,t)};var gSe=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],ySe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function XQ(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*gSe[s];r+=ySe[s]*(n(i+a)+n(i-a))}return r*=o,r}gi.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n<t;)n+=P.TWO_PI;let r=this._radiiSquared,s=r.x,a=r.y,c=r.z,u=s*a;return XQ(i,o,function(f){let d=Math.cos(f),p=Math.sin(f);return Math.cos(f)*XQ(t,n,function(g){let m=Math.cos(g),x=Math.sin(g);return Math.sqrt(u*p*p+c*(a*m*m+s*x*x)*d*d)})})};var ee=gi;function dV(e){this._ellipsoid=y(e,ee.default),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(dV.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});dV.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=e.latitude*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};dV.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var Ii=dV;var xSe={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},jt=Object.freeze(xSe);function bSe(e,t,n){let i=0,o=e.length-1,r,s;for(;i<=o;){if(r=~~((i+o)/2),s=n(e[r],t),s<0){i=r+1;continue}if(s>0){o=r-1;continue}return r}return~(o+1)}var Po=bSe;function TSe(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var vg=TSe;function CSe(e){return e%4===0&&e%100!==0||e%400===0}var yd=CSe;var ZQ=[31,28,31,30,31,30,31,31,30,31,30,31];function ASe(e,t,n,i,o,r,s,a){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,0),o=y(o,0),r=y(r,0),s=y(s,0),a=y(a,!1),this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a;function x(){bo.typeOf.number.greaterThanOrEquals("Year",e,1),bo.typeOf.number.lessThanOrEquals("Year",e,9999),bo.typeOf.number.greaterThanOrEquals("Month",t,1),bo.typeOf.number.lessThanOrEquals("Month",t,12),bo.typeOf.number.greaterThanOrEquals("Day",n,1),bo.typeOf.number.lessThanOrEquals("Day",n,31),bo.typeOf.number.greaterThanOrEquals("Hour",i,0),bo.typeOf.number.lessThanOrEquals("Hour",i,23),bo.typeOf.number.greaterThanOrEquals("Minute",o,0),bo.typeOf.number.lessThanOrEquals("Minute",o,59),bo.typeOf.bool("IsLeapSecond",a),bo.typeOf.number.greaterThanOrEquals("Second",r,0),bo.typeOf.number.lessThanOrEquals("Second",r,a?60:59),bo.typeOf.number.greaterThanOrEquals("Millisecond",s,0),bo.typeOf.number.lessThan("Millisecond",s,1e3)}function b(){let T=t===2&&yd(e)?ZQ[t-1]+1:ZQ[t-1];if(n>T)throw new de("Month and Day represents invalid date")}}var pp=ASe;function ESe(e,t){this.julianDate=e,this.offset=t}var Yi=ESe;var SSe={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},Zn=Object.freeze(SSe);var vSe={UTC:0,TAI:1},Kn=Object.freeze(vSe);var QQ=new pp,S5=[31,28,31,30,31,30,31,31,30,31,30,31],v5=29;function w5(e,t){return Rt.compare(e.julianDate,t.julianDate)}var kC=new Yi;function mV(e){kC.julianDate=e;let t=Rt.leapSeconds,n=Po(t,kC,w5);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Rt.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Rt.addSeconds(e,i,e)}function $Q(e,t){kC.julianDate=e;let n=Rt.leapSeconds,i=Po(n,kC,w5);if(i<0&&(i=~i),i===0)return Rt.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Rt.addSeconds(e,-n[i-1].offset,t);let o=Rt.secondsDifference(n[i].julianDate,e);if(o===0)return Rt.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Rt.addSeconds(e,-n[--i].offset,t)}function wg(e,t,n){let i=t/Zn.SECONDS_PER_DAY|0;return e+=i,t-=Zn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Zn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function D5(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,u=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let f=r+(i*Zn.SECONDS_PER_HOUR+o*Zn.SECONDS_PER_MINUTE+s*Zn.SECONDS_PER_MILLISECOND);return f>=43200&&(u-=1),[u,f]}var wSe=/^(\d{4})$/,DSe=/^(\d{4})-(\d{2})$/,ISe=/^(\d{4})-?(\d{3})$/,PSe=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,RSe=/^(\d{4})-?(\d{2})-?(\d{2})$/,I5=/([Z+\-])?(\d{2})?:?(\d{2})?$/,OSe=/^(\d{2})(\.\d+)?/.source+I5.source,MSe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+I5.source,LSe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+I5.source;function Rt(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,Kn.UTC);let i=e|0;t=t+(e-i)*Zn.SECONDS_PER_DAY,wg(i,t,this),n===Kn.UTC&&mV(this)}Rt.fromGregorianDate=function(e,t){let n=D5(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(wg(n[0],n[1],t),mV(t),t):new Rt(n[0],n[1],Kn.UTC)};Rt.fromDate=function(e,t){let n=D5(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(wg(n[0],n[1],t),mV(t),t):new Rt(n[0],n[1],Kn.UTC)};Rt.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,u=0,f=n[0],d=n[1],p,g;if(n=f.match(RSe),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=f.match(DSe),n!==null)i=+n[1],o=+n[2];else if(n=f.match(wSe),n!==null)i=+n[1];else{let T;if(n=f.match(ISe),n!==null)i=+n[1],T=+n[2],g=yd(i);else if(n=f.match(PSe),n!==null){i=+n[1];let A=+n[2],C=+n[3]||0,E=new Date(Date.UTC(i,0,4));T=A*7+C-E.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(T),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=yd(i);let m;if(l(d)){n=d.match(LSe),n!==null?(s=+n[1],a=+n[2],c=+n[3],u=+(n[4]||0)*1e3,m=5):(n=d.match(MSe),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,m=4):(n=d.match(OSe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,m=3)));let T=n[m],A=+n[m+1],C=+(n[m+2]||0);switch(T){case"+":s=s-A,a=a-C;break;case"-":s=s+A,a=a+C;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let x=c===60;for(x&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?v5:S5[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?v5:S5[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?v5:S5[o-1],r+=p;let b=D5(i,o,r,s,a,c,u);return l(t)?(wg(b[0],b[1],t),mV(t)):t=new Rt(b[0],b[1],Kn.UTC),x&&Rt.addSeconds(t,1,t),t};Rt.now=function(e){return Rt.fromDate(new Date,e)};var hV=new Rt(0,0,Kn.TAI);Rt.toGregorianDate=function(e,t){let n=!1,i=$Q(e,hV);l(i)||(Rt.addSeconds(e,-1,hV),i=$Q(hV,hV),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let u=80*s/2447|0,f=s-(2447*u/80|0)|0;s=u/11|0;let d=u+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Zn.SECONDS_PER_HOUR|0,m=r-g*Zn.SECONDS_PER_HOUR,x=m/Zn.SECONDS_PER_MINUTE|0;m=m-x*Zn.SECONDS_PER_MINUTE;let b=m|0,T=(m-b)/Zn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(b+=1),l(t)?(t.year=p,t.month=d,t.day=f,t.hour=g,t.minute=x,t.second=b,t.millisecond=T,t.isLeapSecond=n,t):new pp(p,d,f,g,x,b,T,n)};Rt.toDate=function(e){let t=Rt.toGregorianDate(e,QQ),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Rt.toIso8601=function(e,t){let n=Rt.toGregorianDate(e,QQ),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,u=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&u===0&&(i=9999,o=12,r=31,s=24);let f;return!l(t)&&u!==0?(f=(u*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(f=(u*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`)};Rt.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Rt(e.dayNumber,e.secondsOfDay,Kn.TAI)};Rt.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Rt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Rt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(Rt.secondsDifference(e,t))<=n};Rt.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Zn.SECONDS_PER_DAY};Rt.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Zn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Rt.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Zn.SECONDS_PER_DAY;return n+i};Rt.computeTaiMinusUtc=function(e){kC.julianDate=e;let t=Rt.leapSeconds,n=Po(t,kC,w5);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Rt.addSeconds=function(e,t,n){return wg(e.dayNumber,e.secondsOfDay+t,n)};Rt.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Zn.SECONDS_PER_MINUTE;return wg(e.dayNumber,i,n)};Rt.addHours=function(e,t,n){let i=e.secondsOfDay+t*Zn.SECONDS_PER_HOUR;return wg(e.dayNumber,i,n)};Rt.addDays=function(e,t,n){let i=e.dayNumber+t;return wg(i,e.secondsOfDay,n)};Rt.lessThan=function(e,t){return Rt.compare(e,t)<0};Rt.lessThanOrEquals=function(e,t){return Rt.compare(e,t)<=0};Rt.greaterThan=function(e,t){return Rt.compare(e,t)>0};Rt.greaterThanOrEquals=function(e,t){return Rt.compare(e,t)>=0};Rt.prototype.clone=function(e){return Rt.clone(this,e)};Rt.prototype.equals=function(e){return Rt.equals(this,e)};Rt.prototype.equalsEpsilon=function(e,t){return Rt.equalsEpsilon(this,e,t)};Rt.prototype.toString=function(){return Rt.toIso8601(this)};Rt.leapSeconds=[new Yi(new Rt(2441317,43210,Kn.TAI),10),new Yi(new Rt(2441499,43211,Kn.TAI),11),new Yi(new Rt(2441683,43212,Kn.TAI),12),new Yi(new Rt(2442048,43213,Kn.TAI),13),new Yi(new Rt(2442413,43214,Kn.TAI),14),new Yi(new Rt(2442778,43215,Kn.TAI),15),new Yi(new Rt(2443144,43216,Kn.TAI),16),new Yi(new Rt(2443509,43217,Kn.TAI),17),new Yi(new Rt(2443874,43218,Kn.TAI),18),new Yi(new Rt(2444239,43219,Kn.TAI),19),new Yi(new Rt(2444786,43220,Kn.TAI),20),new Yi(new Rt(2445151,43221,Kn.TAI),21),new Yi(new Rt(2445516,43222,Kn.TAI),22),new Yi(new Rt(2446247,43223,Kn.TAI),23),new Yi(new Rt(2447161,43224,Kn.TAI),24),new Yi(new Rt(2447892,43225,Kn.TAI),25),new Yi(new Rt(2448257,43226,Kn.TAI),26),new Yi(new Rt(2448804,43227,Kn.TAI),27),new Yi(new Rt(2449169,43228,Kn.TAI),28),new Yi(new Rt(2449534,43229,Kn.TAI),29),new Yi(new Rt(2450083,43230,Kn.TAI),30),new Yi(new Rt(2450630,43231,Kn.TAI),31),new Yi(new Rt(2451179,43232,Kn.TAI),32),new Yi(new Rt(2453736,43233,Kn.TAI),33),new Yi(new Rt(2454832,43234,Kn.TAI),34),new Yi(new Rt(2456109,43235,Kn.TAI),35),new Yi(new Rt(2457204,43236,Kn.TAI),36),new Yi(new Rt(2457754,43237,Kn.TAI),37)];var K=Rt;var gJ=Bo(ru(),1);function NSe(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var Qv=NSe;function rJ(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=rJ(o,t)),n[i]=o}return n}var He=rJ;function sJ(e,t,n){n=y(n,!1);let i={},o=l(e),r=l(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=sJ(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var bt=sJ;function FSe(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var yl=FSe;var aJ=Bo(ru(),1);function P5(e,t){let n;return typeof document<"u"&&(n=document),P5._implementation(e,t,n)}P5._implementation=function(e,t,n){if(!l(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new aJ.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var Wh=P5;var cJ=Bo(ru(),1);function BSe(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new cJ.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var Jv=BSe;var lJ=Bo(ru(),1);function kSe(e){let t=new lJ.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var Z0=kSe;var uJ={};function VSe(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=uJ[t];l(i)||(i={},uJ[t]=i);let o=i[n];if(!l(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d",{willReadFrequently:!0}),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var xd=VSe;var USe=/^blob:/i;function zSe(e){return USe.test(e)}var $0=zSe;var jh;function HSe(e){l(jh)||(jh=document.createElement("a")),jh.href=window.location.href;let t=jh.host,n=jh.protocol;return jh.href=e,jh.href=jh.href,n!==jh.protocol||t!==jh.host}var Dg=HSe;var GSe=/^data:/i;function WSe(e){return GSe.test(e)}var _p=WSe;function jSe(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var Q0=jSe;function qSe(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r<s;++r)t+=`${o+encodeURIComponent(i[r])}&`;else t+=`${o+encodeURIComponent(i)}&`}return t=t.slice(0,-1),t}var J0=qSe;function YSe(e){let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let i=0,o=n.length;i<o;++i){let r=n[i].split("="),s=decodeURIComponent(r[0]),a=r[1];l(a)?a=decodeURIComponent(a):a="";let c=t[s];typeof c=="string"?t[s]=[c,a]:Array.isArray(c)?c.push(a):t[s]=a}return t}var su=YSe;var XSe={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},ti=Object.freeze(XSe);var KSe={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},us=Object.freeze(KSe);function yV(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.throttleByServer,!1),n=y(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=y(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=y(e.type,us.OTHER),this.serverKey=e.serverKey,this.state=ti.UNISSUED,this.deferred=void 0,this.cancelled=!1}yV.prototype.cancel=function(){this.cancelled=!0};yV.prototype.clone=function(e){return l(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=ti.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new yV(this)};var Xo=yV;function ZSe(e){let t={};if(!e)return t;let n=e.split(`\r -`);for(let i=0;i<n.length;++i){let o=n[i],r=o.indexOf(": ");if(r>0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var ew=ZSe;function fJ(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=ew(this.responseHeaders))}fJ.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var qh=fJ;var xV=Bo(ru(),1);function tw(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(tw.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});tw.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};tw.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&i[r]===t){o=r;break}return o!==-1?(this._insideRaiseEvent?(this._toRemove.push(o),n[o]=void 0,i[o]=void 0):(n.splice(o,1),i.splice(o,1)),!0):!1};function $Se(e,t){return t-e}tw.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,i=t.length;for(e=0;e<i;e++){let r=t[e];l(r)&&t[e].apply(n[e],arguments)}let o=this._toRemove;if(i=o.length,i>0){for(o.sort($Se),e=0;e<i;e++){let r=o[e];t.splice(r,1),n.splice(r,1)}o.length=0}this._insideRaiseEvent=!1};var me=tw;function ex(e){this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(ex.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){let t=this._length;if(e<t){let n=this._array;for(let i=e;i<t;++i)n[i]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function R5(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}ex.prototype.reserve=function(e){e=y(e,this._length),this._array.length=e};ex.prototype.heapify=function(e){e=y(e,0);let t=this._length,n=this._comparator,i=this._array,o=-1,r=!0;for(;r;){let s=2*(e+1),a=s-1;a<t&&n(i[a],i[e])<0?o=a:o=e,s<t&&n(i[s],i[o])<0&&(o=s),o!==e?(R5(i,o,e),e=o):r=!1}};ex.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};ex.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(o<t.length?t[o]=e:t.push(e);o!==0;){let s=Math.floor((o-1)/2);if(n(t[o],t[s])<0)R5(t,o,s),o=s;else break}let r;return l(i)&&this._length>i&&(r=t[i],this._length=i),r};ex.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return R5(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var nw=ex;function QSe(e,t){return e.priority-t.priority}var oo={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},zC=20,Ja=new nw({comparator:QSe});Ja.maximumLength=zC;Ja.reserve(zC);var Yh=[],gp={},JSe=typeof document<"u"?new xV.default(document.location.href):new xV.default,bV=new me;function Ko(){}Ko.maximumRequests=50;Ko.maximumRequestsPerServer=18;Ko.requestsByServer={};Ko.throttleRequests=!0;Ko.debugShowStatistics=!1;Ko.requestCompletedEvent=bV;Object.defineProperties(Ko,{statistics:{get:function(){return oo}},priorityHeapLength:{get:function(){return zC},set:function(e){if(e<zC)for(;Ja.length>e;){let t=Ja.pop();tx(t)}zC=e,Ja.maximumLength=e,Ja.reserve(e)}}});function dJ(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}Ko.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(Ko.requestsByServer[e],Ko.maximumRequestsPerServer);return gp[e]+t<=n};Ko.heapHasOpenSlots=function(e){return Ja.length+e<=zC};function hJ(e){return e.state===ti.UNISSUED&&(e.state=ti.ISSUED,e.deferred=yl()),e.deferred.promise}function eve(e){return function(t){if(e.state===ti.CANCELLED)return;let n=e.deferred;--oo.numberOfActiveRequests,--gp[e.serverKey],bV.raiseEvent(),e.state=ti.RECEIVED,e.deferred=void 0,n.resolve(t)}}function tve(e){return function(t){e.state!==ti.CANCELLED&&(++oo.numberOfFailedRequests,--oo.numberOfActiveRequests,--gp[e.serverKey],bV.raiseEvent(t),e.state=ti.FAILED,e.deferred.reject(t))}}function mJ(e){let t=hJ(e);return e.state=ti.ACTIVE,Yh.push(e),++oo.numberOfActiveRequests,++oo.numberOfActiveRequestsEver,++gp[e.serverKey],e.requestFunction().then(eve(e)).catch(tve(e)),t}function tx(e){let t=e.state===ti.ACTIVE;if(e.state=ti.CANCELLED,++oo.numberOfCancelledRequests,l(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--oo.numberOfActiveRequests,--gp[e.serverKey],++oo.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}Ko.update=function(){let e,t,n=0,i=Yh.length;for(e=0;e<i;++e){if(t=Yh[e],t.cancelled&&tx(t),t.state!==ti.ACTIVE){++n;continue}n>0&&(Yh[e-n]=t)}Yh.length-=n;let o=Ja.internalArray,r=Ja.length;for(e=0;e<r;++e)dJ(o[e]);Ja.resort();let s=Math.max(Ko.maximumRequests-Yh.length,0),a=0;for(;a<s&&Ja.length>0;){if(t=Ja.pop(),t.cancelled){tx(t);continue}if(t.throttleByServer&&!Ko.serverHasOpenSlots(t.serverKey)){tx(t);continue}mJ(t),++a}nve()};Ko.getServerKey=function(e){let t=new xV.default(e);t.scheme()===""&&(t=t.absoluteTo(JSe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=gp[n];return l(i)||(gp[n]=0),n};Ko.request=function(e){if(_p(e.url)||$0(e.url))return bV.raiseEvent(),e.state=ti.RECEIVED,e.requestFunction();if(++oo.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=Ko.getServerKey(e.url)),Ko.throttleRequests&&e.throttleByServer&&!Ko.serverHasOpenSlots(e.serverKey))return;if(!Ko.throttleRequests||!e.throttle)return mJ(e);if(Yh.length>=Ko.maximumRequests)return;dJ(e);let t=Ja.insert(e);if(l(t)){if(t===e)return;tx(t)}return hJ(e)};function nve(){Ko.debugShowStatistics&&(oo.numberOfActiveRequests===0&&oo.lastNumberOfActiveRequests>0&&(oo.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${oo.numberOfAttemptedRequests}`),oo.numberOfAttemptedRequests=0),oo.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${oo.numberOfCancelledRequests}`),oo.numberOfCancelledRequests=0),oo.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${oo.numberOfCancelledActiveRequests}`),oo.numberOfCancelledActiveRequests=0),oo.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${oo.numberOfFailedRequests}`),oo.numberOfFailedRequests=0)),oo.lastNumberOfActiveRequests=oo.numberOfActiveRequests)}Ko.clearForSpecs=function(){for(;Ja.length>0;){let t=Ja.pop();tx(t)}let e=Yh.length;for(let t=0;t<e;++t)tx(Yh[t]);Yh.length=0,gp={},oo.numberOfAttemptedRequests=0,oo.numberOfActiveRequests=0,oo.numberOfCancelledRequests=0,oo.numberOfCancelledActiveRequests=0,oo.numberOfFailedRequests=0,oo.numberOfActiveRequestsEver=0,oo.lastNumberOfActiveRequests=0};Ko.numberOfActiveRequestsByServer=function(e){return gp[e]};Ko.requestHeap=Ja;var ec=Ko;var pJ=Bo(ru(),1);var iw={},HC={};iw.add=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(HC[n])||(HC[n]=!0)};iw.remove=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(HC[n])&&delete HC[n]};function ive(e){let t=new pJ.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let i=t.scheme();if(i.length===0&&(i=window.location.protocol,i=i.substring(0,i.length-1)),i==="http")n+=":80";else if(i==="https")n+=":443";else return}return n}}iw.contains=function(e){let t=ive(e);return!!(l(t)&&l(HC[t]))};iw.clear=function(){HC={}};var GC=iw;var yJ=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function It(e){e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),this._url=void 0,this._templateValues=Xh(e.templateValues,{}),this._queryParameters=Xh(e.queryParameters,{}),this.headers=Xh(e.headers,{}),this.request=y(e.request,new Xo),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=y(e.retryAttempts,0),this._retryCount=0,y(e.parseUrl,!0)?this.parseUrl(e.url,!0,!0):this._url=e.url,this._credits=e.credits}function Xh(e,t){return l(e)?He(e):t}It.createIfNeeded=function(e){return e instanceof It?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new It({url:e})};var WC;It.supportsImageBitmapOptions=function(){return l(WC)?WC:typeof createImageBitmap!="function"?(WC=Promise.resolve(!1),WC):(WC=It.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC"}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=xd(t[0]),i=xd(t[1]);return n[1]!==i[1]}).catch(function(){return!1}),WC)};Object.defineProperties(It,{isBlobSupported:{get:function(){return yJ}}});Object.defineProperties(It.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){this.parseUrl(e,!1,!1)}},extension:{get:function(){return Z0(this._url)}},isDataUri:{get:function(){return _p(this._url)}},isBlobUri:{get:function(){return $0(this._url)}},isCrossOriginUrl:{get:function(){return Dg(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}},credits:{get:function(){return this._credits}}});It.prototype.toString=function(){return this.getUrlComponent(!0,!0)};It.prototype.parseUrl=function(e,t,n,i){let o=new gJ.default(e),r=ove(o.query());this._queryParameters=t?CV(r,this.queryParameters,n):r,o.search(""),o.fragment(""),l(i)&&o.scheme()===""&&(o=o.absoluteTo(Wh(i))),this._url=o.toString()};function ove(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:su(e)}function CV(e,t,n){if(!n)return bt(e,t);let i=He(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];l(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}It.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${rve(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let i=this._templateValues;return Object.keys(i).length>0&&(n=n.replace(/{(.*?)}/g,function(o,r){let s=i[r];return l(s)?encodeURIComponent(s):o})),t&&l(this.proxy)&&(n=this.proxy.getURL(n)),n};function rve(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!l(e[t[0]])?`?${t[0]}`:`?${J0(e)}`}It.prototype.setQueryParameters=function(e,t){t?this._queryParameters=CV(this._queryParameters,e,!1):this._queryParameters=CV(e,this._queryParameters,!1)};It.prototype.appendQueryParameters=function(e){this._queryParameters=CV(e,this._queryParameters,!0)};It.prototype.setTemplateValues=function(e,t){t?this._templateValues=bt(this._templateValues,e):this._templateValues=bt(e,this._templateValues)};It.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,l(e.url)){let n=y(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return l(e.queryParameters)&&(t._queryParameters=bt(e.queryParameters,t.queryParameters)),l(e.templateValues)&&(t._templateValues=bt(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=bt(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};It.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};It.prototype.clone=function(e){return l(e)?(e._url=this._url,e._queryParameters=He(this._queryParameters),e._templateValues=He(this._templateValues),e.headers=He(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new It({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:l(this.credits)?this.credits.slice():void 0})};It.prototype.getBaseUri=function(e){return Jv(this.getUrlComponent(e),e)};It.prototype.appendForwardSlash=function(){this._url=Qv(this._url)};It.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};It.fetchArrayBuffer=function(e){return new It(e).fetchArrayBuffer()};It.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};It.fetchBlob=function(e){return new It(e).fetchBlob()};It.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(M5(this.request),!yJ||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return O5({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!l(r))return;let s,a,c,u;return It.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!l(f))return;if(u=f,a)return It.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let d=window.URL.createObjectURL(f);return c=new It({url:d}),O5({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(l(f))return f.blob=u,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return l(c)&&window.URL.revokeObjectURL(c.url),f.blob=u,Promise.reject(f)})};function O5(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=yl();return It._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=ec.request(r);if(l(s))return s.catch(function(a){return r.state!==ti.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=ti.UNISSUED,r.deferred=void 0,O5({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}It.fetchImage=function(e){return new It(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};It.prototype.fetchText=function(){return this.fetch({responseType:"text"})};It.fetchText=function(e){return new It(e).fetchText()};It.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};It.fetchJson=function(e){return new It(e).fetchJson()};It.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};It.fetchXML=function(e){return new It(e).fetchXML()};It.prototype.fetchJsonp=function(e){e=y(e,"callback"),M5(this.request);let t;do t=`loadJsonp${P.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return xJ(this,e,t)};function xJ(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request,r=e.url;o.url=r,o.requestFunction=function(){let a=yl();return window[n]=function(c){a.resolve(c);try{delete window[n]}catch{window[n]=void 0}},It._Implementations.loadAndExecuteScript(r,n,a),a.promise};let s=ec.request(o);if(l(s))return s.catch(function(a){return o.state!==ti.FAILED?Promise.reject(a):e.retryOnError(a).then(function(c){return c?(o.state=ti.UNISSUED,o.deferred=void 0,xJ(e,t,n)):Promise.reject(a)})})}It.fetchJsonp=function(e){return new It(e).fetchJsonp(e.callbackParameterName)};It.prototype._makeRequest=function(e){let t=this;M5(t.request);let n=t.request,i=t.url;n.url=i,n.requestFunction=function(){let r=e.responseType,s=bt(e.headers,t.headers),a=e.overrideMimeType,c=e.method,u=e.data,f=yl(),d=It._Implementations.loadWithXhr(i,r,c,u,s,f,a);return l(d)&&l(d.abort)&&(n.cancelFunction=function(){d.abort()}),f.promise};let o=ec.request(n);if(l(o))return o.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==ti.FAILED?Promise.reject(r):t.retryOnError(r).then(function(s){return s?(n.state=ti.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function M5(e){if(e.state===ti.ISSUED||e.state===ti.ACTIVE)throw new ce("The Resource is already being fetched.");e.state=ti.UNISSUED,e.deferred=void 0}var sve=/^data:(.*?)(;base64)?,(.*)$/;function TV(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function _J(e,t){let n=TV(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return i}function ave(e,t){t=y(t,"");let n=e[1],i=!!e[2],o=e[3],r,s;switch(t){case"":case"text":return TV(i,o);case"arraybuffer":return _J(i,o);case"blob":return r=_J(i,o),new Blob([r],{type:n});case"document":return s=new DOMParser,s.parseFromString(TV(i,o),n);case"json":return JSON.parse(TV(i,o));default:}}It.prototype.fetch=function(e){return e=Xh(e,{}),e.method="GET",this._makeRequest(e)};It.fetch=function(e){return new It(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.delete=function(e){return e=Xh(e,{}),e.method="DELETE",this._makeRequest(e)};It.delete=function(e){return new It(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};It.prototype.head=function(e){return e=Xh(e,{}),e.method="HEAD",this._makeRequest(e)};It.head=function(e){return new It(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.options=function(e){return e=Xh(e,{}),e.method="OPTIONS",this._makeRequest(e)};It.options=function(e){return new It(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.post=function(e,t){return bo.defined("data",e),t=Xh(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};It.post=function(e){return new It(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.put=function(e,t){return bo.defined("data",e),t=Xh(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};It.put=function(e){return new It(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.patch=function(e,t){return bo.defined("data",e),t=Xh(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};It.patch=function(e){return new It(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It._Implementations={};It._Implementations.loadImageElement=function(e,t,n){let i=new Image;i.onload=function(){i.naturalWidth===0&&i.naturalHeight===0&&i.width===0&&i.height===0&&(i.width=300,i.height=150),n.resolve(i)},i.onerror=function(o){n.reject(o)},t&&(GC.contains(e)?i.crossOrigin="use-credentials":i.crossOrigin=""),i.src=e};It._Implementations.createImage=function(e,t,n,i,o,r){let s=e.url;It.supportsImageBitmapOptions().then(function(a){if(!(a&&r)){It._Implementations.loadImageElement(s,t,n);return}let c="blob",u="GET",f=yl(),d=It._Implementations.loadWithXhr(s,c,u,void 0,void 0,f,void 0,void 0,void 0);return l(d)&&l(d.abort)&&(e.cancelFunction=function(){d.abort()}),f.promise.then(function(p){if(!l(p)){n.reject(new ce(`Successfully retrieved ${s} but it contained no content.`));return}return It.createImageBitmapFromBlob(p,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o})}).then(function(p){n.resolve(p)})}).catch(function(a){n.reject(a)})};It.createImageBitmapFromBlob=function(e,t){return bo.defined("options",t),bo.typeOf.bool("options.flipY",t.flipY),bo.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),bo.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function cve(e,t,n,i,o,r,s){fetch(e,{method:n,headers:o}).then(async a=>{if(!a.ok){let c={};a.headers.forEach((u,f)=>{c[f]=u}),r.reject(new qh(a.status,a,c));return}switch(t){case"text":r.resolve(a.text());break;case"json":r.resolve(a.json());break;default:r.resolve(new Uint8Array(await a.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new qh)})}var lve=typeof XMLHttpRequest>"u";It._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=sve.exec(e);if(a!==null){r.resolve(ave(a,t));return}if(lve){cve(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(GC.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(let f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);l(t)&&(c.responseType=t);let u=!1;return typeof e=="string"&&(u=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(u&&c.status===0)){r.reject(new qh(c.status,c.response,c.getAllResponseHeaders()));return}let f=c.response,d=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),m={};g.forEach(function(x){let b=x.split(": "),T=b.shift();m[T]=b.join(": ")}),r.resolve(m);return}if(c.status===204)r.resolve(void 0);else if(l(f)&&(!l(t)||d===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(p){r.reject(p)}else(d===""||d==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(d===""||d==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new ce("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new qh)},c.send(i),c};It._Implementations.loadAndExecuteScript=function(e,t,n){return Q0(e,t).catch(function(i){n.reject(i)})};It._DefaultImplementations={};It._DefaultImplementations.createImage=It._Implementations.createImage;It._DefaultImplementations.loadWithXhr=It._Implementations.loadWithXhr;It._DefaultImplementations.loadAndExecuteScript=It._Implementations.loadAndExecuteScript;It.DEFAULT=Object.freeze(new It({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var we=It;function rw(e){e=y(e,y.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=y(e.addNewLeapSeconds,!0),l(e.data)?bJ(this,e.data):bJ(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}rw.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=we.createIfNeeded(e),i;try{i=await n.fetchJson()}catch{throw new ce(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new rw({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};rw.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new vg(0,0,0,0,0),t}});rw.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new vg(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(l(i)){let a=n[i],c=n[i+1],u=K.lessThanOrEquals(a,e),f=!l(c),d=f||K.greaterThanOrEquals(c,e);if(u&&d)return o=i,!f&&c.equals(e)&&++o,r=o+1,CJ(this,n,this._samples,e,o,r,t),t}let s=Po(n,e,K.compare,this._dateColumn);return s>=0?(s<n.length-1&&n[s+1].equals(e)&&++s,o=s,r=s):(r=~s,o=r-1,o<0&&(o=0)),this._lastIndex=o,CJ(this,n,this._samples,e,o,r,t),t};function uve(e,t){return K.compare(e.julianDate,t)}function bJ(e,t){if(!l(t.columnNames))throw new ce("Error in loaded EOP data: The columnNames property is required.");if(!l(t.samples))throw new ce("Error in loaded EOP data: The samples property is required.");let n=t.columnNames.indexOf("modifiedJulianDateUtc"),i=t.columnNames.indexOf("xPoleWanderRadians"),o=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),a=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),c=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||i<0||o<0||r<0||s<0||a<0||c<0)throw new ce("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");let u=e._samples=t.samples,f=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=i,e._yPoleWanderRadiansColumn=o,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=a,e._taiMinusUtcSecondsColumn=c,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let d,p=e._addNewLeapSeconds;for(let g=0,m=u.length;g<m;g+=e._columnCount){let x=u[g+n],b=u[g+c],T=x+Zn.MODIFIED_JULIAN_DATE_DIFFERENCE,A=new K(T,b,Kn.TAI);if(f.push(A),p){if(b!==d&&l(d)){let C=K.leapSeconds,E=Po(C,A,uve);if(E<0){let v=new Yi(A,b);C.splice(~E,0,v)}}d=b}}}function TJ(e,t,n,i,o){let r=n*i;o.xPoleWander=t[r+e._xPoleWanderRadiansColumn],o.yPoleWander=t[r+e._yPoleWanderRadiansColumn],o.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function ow(e,t,n){return t+e*(n-t)}function CJ(e,t,n,i,o,r,s){let a=e._columnCount;if(r>t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],u=t[r];if(c.equals(u)||i.equals(c))return TJ(e,n,o,a,s),s;if(i.equals(u))return TJ(e,n,r,a,s),s;let f=K.secondsDifference(i,c)/K.secondsDifference(u,c),d=o*a,p=r*a,g=n[d+e._ut1MinusUtcSecondsColumn],m=n[p+e._ut1MinusUtcSecondsColumn],x=m-g;if(x>.5||x<-.5){let b=n[d+e._taiMinusUtcSecondsColumn],T=n[p+e._taiMinusUtcSecondsColumn];b!==T&&(u.equals(i)?g=m:m-=T-b)}return s.xPoleWander=ow(f,n[d+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=ow(f,n[d+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=ow(f,n[d+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=ow(f,n[d+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=ow(f,g,m),s}var sw=rw;function tc(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}tc.fromQuaternion=function(e,t){l(t)||(t=new tc);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-P.asinClamped(n),t};tc.fromDegrees=function(e,t,n,i){return l(i)||(i=new tc),i.heading=e*P.RADIANS_PER_DEGREE,i.pitch=t*P.RADIANS_PER_DEGREE,i.roll=n*P.RADIANS_PER_DEGREE,i};tc.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new tc(e.heading,e.pitch,e.roll)};tc.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};tc.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.heading,t.heading,n,i)&&P.equalsEpsilon(e.pitch,t.pitch,n,i)&&P.equalsEpsilon(e.roll,t.roll,n,i)};tc.prototype.clone=function(e){return tc.clone(this,e)};tc.prototype.equals=function(e){return tc.equals(this,e)};tc.prototype.equalsEpsilon=function(e,t,n){return tc.equalsEpsilon(this,e,t,n)};tc.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Ia=tc;var AJ={},EJ=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function fve(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let i=e[t].getAttribute("src"),o=EJ.exec(i);if(o!==null)return o[1]}}var AV;function SJ(e){return typeof document>"u"?e:(l(AV)||(AV=document.createElement("a")),AV.href=e,AV.href)}var nx;function vJ(){if(l(nx))return nx;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:l(AJ?.url)?e=Wh(".",AJ.url):typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?e=Wh("..",ix("Core/buildModuleUrl.js")):e=fve(),nx=new we({url:SJ(e)}),nx.appendForwardSlash(),nx}function dve(e){return SJ(require.toUrl(`../${e}`))}function wJ(e){return vJ().getDerivedResource({url:e}).url}var EV;function ix(e){return l(EV)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?EV=dve:EV=wJ),EV(e)}ix._cesiumScriptRegex=EJ;ix._buildModuleUrlFromBaseUrl=wJ;ix._clearBaseResource=function(){nx=void 0};ix.setBaseUrl=function(e){nx=we.DEFAULT.getDerivedResource({url:e})};ix.getCesiumBaseUrl=vJ;var rn=ix;function hve(e,t,n){this.x=e,this.y=t,this.s=n}var ox=hve;function F5(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=we.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new K(this._sampleZeroJulianEphemerisDate,0,Kn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var mve=new K(0,0,Kn.TAI);function L5(e,t,n){let i=mve;return i.dayNumber=t,i.secondsOfDay=n,K.daysDifference(i,e._sampleZeroDateTT)}F5.prototype.preload=function(e,t,n,i){let o=L5(this,e,t),r=L5(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,u=a/this._samplesPerXysFile|0,f=[];for(let d=c;d<=u;++d)f.push(N5(this,d));return Promise.all(f)};F5.prototype.computeXysRadians=function(e,t,n){let i=L5(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,u=this._samples;if(l(u[s*3])||(N5(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(N5(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new ox(0,0,0);let f=i-s*this._stepSizeDays,d=this._work,p=this._denominators,g=this._coef,m=this._xTable,x,b;for(x=0;x<=r;++x)d[x]=f-m[x];for(x=0;x<=r;++x){for(g[x]=1,b=0;b<=r;++b)b!==x&&(g[x]*=d[b]);g[x]*=p[x];let T=(s+x)*3;n.x+=g[x]*u[T++],n.y+=g[x]*u[T++],n.s+=g[x]*u[T]}return n};function N5(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new we({url:rn(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let u=0,f=a.length;u<f;++u)s[c+u]=a[u]});return e._chunkDownloadsInProgress[t]=o,o}var aw=F5;function nt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}var cw=new h;nt.fromAxisAngle=function(e,t,n){let i=t/2,o=Math.sin(i);cw=h.normalize(e,cw);let r=cw.x*o,s=cw.y*o,a=cw.z*o,c=Math.cos(i);return l(n)?(n.x=r,n.y=s,n.z=a,n.w=c,n):new nt(r,s,a,c)};var pve=[1,2,0],_ve=new Array(3);nt.fromRotationMatrix=function(e,t){let n,i,o,r,s,a=e[$.COLUMN0ROW0],c=e[$.COLUMN1ROW1],u=e[$.COLUMN2ROW2],f=a+c+u;if(f>0)n=Math.sqrt(f+1),s=.5*n,n=.5/n,i=(e[$.COLUMN1ROW2]-e[$.COLUMN2ROW1])*n,o=(e[$.COLUMN2ROW0]-e[$.COLUMN0ROW2])*n,r=(e[$.COLUMN0ROW1]-e[$.COLUMN1ROW0])*n;else{let d=pve,p=0;c>a&&(p=1),u>a&&u>c&&(p=2);let g=d[p],m=d[g];n=Math.sqrt(e[$.getElementIndex(p,p)]-e[$.getElementIndex(g,g)]-e[$.getElementIndex(m,m)]+1);let x=_ve;x[p]=.5*n,n=.5/n,s=(e[$.getElementIndex(m,g)]-e[$.getElementIndex(g,m)])*n,x[g]=(e[$.getElementIndex(g,p)]+e[$.getElementIndex(p,g)])*n,x[m]=(e[$.getElementIndex(m,p)]+e[$.getElementIndex(p,m)])*n,i=-x[0],o=-x[1],r=-x[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new nt(i,o,r,s)};var DJ=new nt,IJ=new nt,B5=new nt,PJ=new nt;nt.fromHeadingPitchRoll=function(e,t){return PJ=nt.fromAxisAngle(h.UNIT_X,e.roll,DJ),B5=nt.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=nt.multiply(B5,PJ,B5),IJ=nt.fromAxisAngle(h.UNIT_Z,-e.heading,DJ),nt.multiply(IJ,t,t)};var SV=new h,k5=new h,bd=new nt,RJ=new nt,vV=new nt;nt.packedLength=4;nt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};nt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new nt),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};nt.packedInterpolationLength=3;nt.convertPackedArrayForInterpolation=function(e,t,n,i){nt.unpack(e,n*4,vV),nt.conjugate(vV,vV);for(let o=0,r=n-t+1;o<r;o++){let s=o*3;nt.unpack(e,(t+o)*4,bd),nt.multiply(bd,vV,bd),bd.w<0&&nt.negate(bd,bd),nt.computeAxis(bd,SV);let a=nt.computeAngle(bd);l(i)||(i=[]),i[s]=SV.x*a,i[s+1]=SV.y*a,i[s+2]=SV.z*a}};nt.unpackInterpolationResult=function(e,t,n,i,o){l(o)||(o=new nt),h.fromArray(e,0,k5);let r=h.magnitude(k5);return nt.unpack(t,i*4,RJ),r===0?nt.clone(nt.IDENTITY,bd):nt.fromAxisAngle(k5,r,bd),nt.multiply(bd,RJ,o)};nt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new nt(e.x,e.y,e.z,e.w)};nt.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};nt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};nt.magnitude=function(e){return Math.sqrt(nt.magnitudeSquared(e))};nt.normalize=function(e,t){let n=1/nt.magnitude(e),i=e.x*n,o=e.y*n,r=e.z*n,s=e.w*n;return t.x=i,t.y=o,t.z=r,t.w=s,t};nt.inverse=function(e,t){let n=nt.magnitudeSquared(e);return t=nt.conjugate(e,t),nt.multiplyByScalar(t,1/n,t)};nt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};nt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};nt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};nt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};nt.multiply=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=e.w,a=t.x,c=t.y,u=t.z,f=t.w,d=s*a+i*f+o*u-r*c,p=s*c-i*u+o*f+r*a,g=s*u+i*c-o*a+r*f,m=s*f-i*a-o*c-r*u;return n.x=d,n.y=p,n.z=g,n.w=m,n};nt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};nt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};nt.computeAxis=function(e,t){let n=e.w;if(Math.abs(n-1)<P.EPSILON6||Math.abs(n+1)<P.EPSILON6)return t.x=1,t.y=t.z=0,t;let i=1/Math.sqrt(1-n*n);return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t};nt.computeAngle=function(e){return Math.abs(e.w-1)<P.EPSILON6?0:2*Math.acos(e.w)};var V5=new nt;nt.lerp=function(e,t,n,i){return V5=nt.multiplyByScalar(t,n,V5),i=nt.multiplyByScalar(e,1-n,i),nt.add(V5,i,i)};var OJ=new nt,U5=new nt,z5=new nt;nt.slerp=function(e,t,n,i){let o=nt.dot(e,t),r=t;if(o<0&&(o=-o,r=OJ=nt.negate(t,OJ)),1-o<P.EPSILON6)return nt.lerp(e,r,n,i);let s=Math.acos(o);return U5=nt.multiplyByScalar(e,Math.sin((1-n)*s),U5),z5=nt.multiplyByScalar(r,Math.sin(n*s),z5),i=nt.add(U5,z5,i),nt.multiplyByScalar(i,1/Math.sin(s),i)};nt.log=function(e,t){let n=P.acosClamped(e.w),i=0;return n!==0&&(i=n/Math.sin(n)),h.multiplyByScalar(e,i,t)};nt.exp=function(e,t){let n=h.magnitude(e),i=0;return n!==0&&(i=Math.sin(n)/n),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=Math.cos(n),t};var gve=new h,yve=new h,lw=new nt,jC=new nt;nt.computeInnerQuadrangle=function(e,t,n,i){let o=nt.conjugate(t,lw);nt.multiply(o,n,jC);let r=nt.log(jC,gve);nt.multiply(o,e,jC);let s=nt.log(jC,yve);return h.add(r,s,r),h.multiplyByScalar(r,.25,r),h.negate(r,r),nt.exp(r,lw),nt.multiply(t,lw,i)};nt.squad=function(e,t,n,i,o,r){let s=nt.slerp(e,t,o,lw),a=nt.slerp(n,i,o,jC);return nt.slerp(s,a,2*o*(1-o),r)};var xve=new nt,MJ=1.9011074535173003,wV=Gt.supportsTypedArrays()?new Float32Array(8):[],DV=Gt.supportsTypedArrays()?new Float32Array(8):[],yp=Gt.supportsTypedArrays()?new Float32Array(8):[],xp=Gt.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;wV[e]=1/(t*n),DV[e]=t/n}wV[7]=MJ/(8*17);DV[7]=MJ*8/17;nt.fastSlerp=function(e,t,n,i){let o=nt.dot(e,t),r;o>=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,u=a*a;for(let g=7;g>=0;--g)yp[g]=(wV[g]*c-DV[g])*s,xp[g]=(wV[g]*u-DV[g])*s;let f=r*n*(1+yp[0]*(1+yp[1]*(1+yp[2]*(1+yp[3]*(1+yp[4]*(1+yp[5]*(1+yp[6]*(1+yp[7])))))))),d=a*(1+xp[0]*(1+xp[1]*(1+xp[2]*(1+xp[3]*(1+xp[4]*(1+xp[5]*(1+xp[6]*(1+xp[7])))))))),p=nt.multiplyByScalar(e,d,xve);return nt.multiplyByScalar(t,f,i),nt.add(p,i,i)};nt.fastSquad=function(e,t,n,i,o,r){let s=nt.fastSlerp(e,t,o,lw),a=nt.fastSlerp(n,i,o,jC);return nt.fastSlerp(s,a,2*o*(1-o),r)};nt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};nt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};nt.ZERO=Object.freeze(new nt(0,0,0,0));nt.IDENTITY=Object.freeze(new nt(0,0,0,1));nt.prototype.clone=function(e){return nt.clone(this,e)};nt.prototype.equals=function(e){return nt.equals(this,e)};nt.prototype.equalsEpsilon=function(e,t){return nt.equalsEpsilon(this,e,t)};nt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Le=nt;var di={},H5={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},qC={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},G5={},xl={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},Ig=new h,Pg=new h,Rg=new h;di.localFrameToFixedFrameGenerator=function(e,t){if(!H5.hasOwnProperty(e)||!H5[e].hasOwnProperty(t))throw new de("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=H5[e][t],i,o=e+t;return l(G5[o])?i=G5[o]:(i=function(r,s,a){if(l(a)||(a=new F),h.equalsEpsilon(r,h.ZERO,P.EPSILON14))h.unpack(qC[e],0,Ig),h.unpack(qC[t],0,Pg),h.unpack(qC[n],0,Rg);else if(P.equalsEpsilon(r.x,0,P.EPSILON14)&&P.equalsEpsilon(r.y,0,P.EPSILON14)){let c=P.sign(r.z);h.unpack(qC[e],0,Ig),e!=="east"&&e!=="west"&&h.multiplyByScalar(Ig,c,Ig),h.unpack(qC[t],0,Pg),t!=="east"&&t!=="west"&&h.multiplyByScalar(Pg,c,Pg),h.unpack(qC[n],0,Rg),n!=="east"&&n!=="west"&&h.multiplyByScalar(Rg,c,Rg)}else{s=y(s,ee.default),s.geodeticSurfaceNormal(r,xl.up);let c=xl.up,u=xl.east;u.x=-r.y,u.y=r.x,u.z=0,h.normalize(u,xl.east),h.cross(c,u,xl.north),h.multiplyByScalar(xl.up,-1,xl.down),h.multiplyByScalar(xl.east,-1,xl.west),h.multiplyByScalar(xl.north,-1,xl.south),Ig=xl[e],Pg=xl[t],Rg=xl[n]}return a[0]=Ig.x,a[1]=Ig.y,a[2]=Ig.z,a[3]=0,a[4]=Pg.x,a[5]=Pg.y,a[6]=Pg.z,a[7]=0,a[8]=Rg.x,a[9]=Rg.y,a[10]=Rg.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},G5[o]=i),i};di.eastNorthUpToFixedFrame=di.localFrameToFixedFrameGenerator("east","north");di.northEastDownToFixedFrame=di.localFrameToFixedFrameGenerator("north","east");di.northUpEastToFixedFrame=di.localFrameToFixedFrameGenerator("north","up");di.northWestUpToFixedFrame=di.localFrameToFixedFrameGenerator("north","west");var bve=new Le,Tve=new h(1,1,1),Cve=new F;di.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,di.eastNorthUpToFixedFrame);let r=Le.fromHeadingPitchRoll(t,bve),s=F.fromTranslationQuaternionRotationScale(h.ZERO,r,Tve,Cve);return o=i(e,n,o),F.multiply(o,s,o)};var Ave=new F,Eve=new $;di.headingPitchRollQuaternion=function(e,t,n,i,o){let r=di.headingPitchRollToFixedFrame(e,t,n,i,Ave),s=F.getMatrix3(r,Eve);return Le.fromRotationMatrix(s,o)};var Sve=new h(1,1,1),vve=new h,LJ=new F,wve=new F,Dve=new $,Ive=new Le;di.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,ee.default),n=y(n,di.eastNorthUpToFixedFrame),l(i)||(i=new Ia);let o=F.getTranslation(e,vve);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=F.inverseTransformation(n(o,t,LJ),LJ),s=F.setScale(e,Sve,wve);s=F.setTranslation(s,h.ZERO,s),r=F.multiply(r,s,r);let a=Le.fromRotationMatrix(F.getMatrix3(r,Dve),Ive);return a=Le.normalize(a,a),Ia.fromQuaternion(a,i)};var Pve=6*3600+41*60+50.54841,Rve=8640184812866e-6,Ove=.093104,Mve=-62e-7,Lve=11772758384668e-32,Nve=72921158553e-15,Fve=P.TWO_PI/86400,IV=new K;di.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=di.computeIcrfToFixedMatrix(e,t);return l(n)||(n=di.computeTemeToPseudoFixedMatrix(e,t)),n};di.computeTemeToPseudoFixedMatrix=function(e,t){IV=K.addSeconds(e,-K.computeTaiMinusUtc(e),IV);let n=IV.dayNumber,i=IV.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Zn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Zn.DAYS_PER_JULIAN_CENTURY;let a=(Pve+o*(Rve+o*(Ove+o*Mve)))*Fve%P.TWO_PI,c=Nve+Lve*(n-24515455e-1),u=(i+Zn.SECONDS_PER_DAY*.5)%Zn.SECONDS_PER_DAY,f=a+c*u,d=Math.cos(f),p=Math.sin(f);return l(t)?(t[0]=d,t[1]=-p,t[2]=0,t[3]=p,t[4]=d,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new $(d,p,0,-p,d,0,0,0,1)};di.iau2006XysData=new aw;di.earthOrientationParameters=sw.NONE;var q5=32.184,Bve=2451545;di.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+q5,i=e.stop.dayNumber,o=e.stop.secondsOfDay+q5;return di.iau2006XysData.preload(t,n,i,o)};di.computeIcrfToFixedMatrix=function(e,t){l(t)||(t=new $);let n=di.computeFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var kve=32.184,Vve=2451545,PV=new Ia,Uve=new $,zve=new K;di.computeMoonFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=K.addSeconds(e,kve,zve),i=K.totalDays(n)-Vve,o=P.toRadians(12.112)-P.toRadians(.052992)*i,r=P.toRadians(24.224)-P.toRadians(.105984)*i,s=P.toRadians(227.645)+P.toRadians(13.012)*i,a=P.toRadians(261.105)+P.toRadians(13.340716)*i,c=P.toRadians(358)+P.toRadians(.9856)*i;return PV.pitch=P.toRadians(180)-P.toRadians(3.878)*Math.sin(o)-P.toRadians(.12)*Math.sin(r)+P.toRadians(.07)*Math.sin(s)-P.toRadians(.017)*Math.sin(a),PV.roll=P.toRadians(66.53-90)+P.toRadians(1.543)*Math.cos(o)+P.toRadians(.24)*Math.cos(r)-P.toRadians(.028)*Math.cos(s)+P.toRadians(.007)*Math.cos(a),PV.heading=P.toRadians(244.375-90)+P.toRadians(13.17635831)*i+P.toRadians(3.558)*Math.sin(o)+P.toRadians(.121)*Math.sin(r)-P.toRadians(.064)*Math.sin(s)+P.toRadians(.016)*Math.sin(a)+P.toRadians(.025)*Math.sin(c),$.fromHeadingPitchRoll(PV,Uve)};di.computeIcrfToMoonFixedMatrix=function(e,t){l(t)||(t=new $);let n=di.computeMoonFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var Hve=new ox(0,0,0),Gve=new vg(0,0,0,0,0,0),W5=new $,j5=new $;di.computeFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=di.earthOrientationParameters.compute(e,Gve);if(!l(n))return;let i=e.dayNumber,o=e.secondsOfDay+q5,r=di.iau2006XysData.computeXysRadians(i,o,Hve);if(!l(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),u=W5;u[0]=1-c*s*s,u[3]=-c*s*a,u[6]=s,u[1]=-c*s*a,u[4]=1-c*a*a,u[7]=a,u[2]=-s,u[5]=-a,u[8]=1-c*(s*s+a*a);let f=$.fromRotationZ(-r.s,j5),d=$.multiply(u,f,W5),p=e.dayNumber,g=e.secondsOfDay-K.computeTaiMinusUtc(e)+n.ut1MinusUtc,m=p-2451545,x=g/Zn.SECONDS_PER_DAY,b=.779057273264+x+.00273781191135448*(m+x);b=b%1*P.TWO_PI;let T=$.fromRotationZ(b,j5),A=$.multiply(d,T,W5),C=Math.cos(n.xPoleWander),E=Math.cos(n.yPoleWander),v=Math.sin(n.xPoleWander),D=Math.sin(n.yPoleWander),O=i-Bve+o/Zn.SECONDS_PER_DAY;O/=36525;let R=-47e-6*O*P.RADIANS_PER_DEGREE/3600,M=Math.cos(R),N=Math.sin(R),_=j5;return _[0]=C*M,_[1]=C*N,_[2]=v,_[3]=-E*N+D*v*M,_[4]=E*M+D*v*N,_[5]=-D*C,_[6]=-D*N-E*v*M,_[7]=D*M-E*v*N,_[8]=E*C,$.multiply(A,_,t)};var Wve=new oe;di.pointToWindowCoordinates=function(e,t,n,i){return i=di.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};di.pointToGLWindowCoordinates=function(e,t,n,i){l(i)||(i=new z);let o=Wve;return F.multiplyByVector(e,oe.fromElements(n.x,n.y,n.z,1,o),o),oe.multiplyByScalar(o,1/o.w,o),F.multiplyByVector(t,o,o),z.fromCartesian4(o,i)};var jve=new h,qve=new h,Yve=new h;di.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,ee.default).geodeticSurfaceNormal(e,jve),r=h.cross(t,o,qve);h.equalsEpsilon(r,h.ZERO,P.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,Yve);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),l(i)||(i=new $),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var NJ=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),FJ=new fe,Y5=new h,Xve=new h,Kve=new $,X5=new F,BJ=new F;di.basisTo2D=function(e,t,n){let i=F.getTranslation(t,Xve),o=e.ellipsoid,r;if(h.equals(i,h.ZERO))r=h.clone(h.ZERO,Y5);else{let f=o.cartesianToCartographic(i,FJ);r=e.project(f,Y5),h.fromElements(r.z,r.x,r.y,r)}let s=di.eastNorthUpToFixedFrame(i,o,X5),a=F.inverseTransformation(s,BJ),c=F.getMatrix3(t,Kve),u=F.multiplyByMatrix3(a,c,n);return F.multiply(NJ,u,n),F.setTranslation(n,r,n),n};di.ellipsoidTo2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=di.eastNorthUpToFixedFrame(t,i,X5),r=F.inverseTransformation(o,BJ),s=i.cartesianToCartographic(t,FJ),a=e.project(s,Y5);h.fromElements(a.z,a.x,a.y,a);let c=F.fromTranslation(a,X5);return F.multiply(NJ,r,n),F.multiply(c,n,n),n};var Lt=di;var kJ={};function uw(e,t){l(kJ[e])||(kJ[e]=!0,console.warn(y(t,e)))}uw.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";uw.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";uw.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";uw.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var Tt=uw;function Zve(e,t){Tt(e,t)}var fs=Zve;function wn(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(wn.prototype,{width:{get:function(){return wn.computeWidth(this)}},height:{get:function(){return wn.computeHeight(this)}}});wn.packedLength=4;wn.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};wn.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new wn),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};wn.computeWidth=function(e){let t=e.east,n=e.west;return t<n&&(t+=P.TWO_PI),t-n};wn.computeHeight=function(e){return e.north-e.south};wn.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(y(e,0)),t=P.toRadians(y(t,0)),n=P.toRadians(y(n,0)),i=P.toRadians(y(i,0)),l(o)?(o.west=e,o.south=t,o.east=n,o.north=i,o):new wn(e,t,n,i)};wn.fromRadians=function(e,t,n,i,o){return l(o)?(o.west=y(e,0),o.south=y(t,0),o.east=y(n,0),o.north=y(i,0),o):new wn(e,t,n,i)};wn.fromCartographicArray=function(e,t){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,s=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let c=0,u=e.length;c<u;c++){let f=e[c];n=Math.min(n,f.longitude),i=Math.max(i,f.longitude),s=Math.min(s,f.latitude),a=Math.max(a,f.latitude);let d=f.longitude>=0?f.longitude:f.longitude+P.TWO_PI;o=Math.min(o,d),r=Math.max(r,d)}return i-n>r-o&&(n=o,i=r,i>P.PI&&(i=i-P.TWO_PI),n>P.PI&&(n=n-P.TWO_PI)),l(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new wn(n,s,i,a)};wn.fromCartesianArray=function(e,t,n){t=y(t,ee.default);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let u=0,f=e.length;u<f;u++){let d=t.cartesianToCartographic(e[u]);i=Math.min(i,d.longitude),o=Math.max(o,d.longitude),a=Math.min(a,d.latitude),c=Math.max(c,d.latitude);let p=d.longitude>=0?d.longitude:d.longitude+P.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>P.PI&&(o=o-P.TWO_PI),i>P.PI&&(i=i-P.TWO_PI)),l(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new wn(i,a,o,c)};var $ve=new h,Qve=new h,Jve=new h,ewe=new h,twe=new h,K5=new Array(5);for(let e=0;e<K5.length;++e)K5[e]=new h;wn.fromBoundingSphere=function(e,t,n){let i=e.center,o=e.radius;if(l(t)||(t=ee.default),l(n)||(n=new wn),h.equals(i,h.ZERO))return wn.clone(wn.MAX_VALUE,n),n;let r=Lt.eastNorthUpToFixedFrame(i,t,$ve),s=F.multiplyByPointAsVector(r,h.UNIT_X,Qve);h.normalize(s,s);let a=F.multiplyByPointAsVector(r,h.UNIT_Y,Jve);h.normalize(a,a),h.multiplyByScalar(a,o,a),h.multiplyByScalar(s,o,s);let c=h.negate(a,twe),u=h.negate(s,ewe),f=K5,d=f[0];return h.add(i,a,d),d=f[1],h.add(i,u,d),d=f[2],h.add(i,c,d),d=f[3],h.add(i,s,d),f[4]=i,wn.fromCartesianArray(f,t,n)};wn.clone=function(e,t){if(l(e))return l(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new wn(e.west,e.south,e.east,e.north)};wn.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};wn.prototype.clone=function(e){return wn.clone(this,e)};wn.prototype.equals=function(e){return wn.equals(this,e)};wn.equals=function(e,t){return e===t||l(e)&&l(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};wn.prototype.equalsEpsilon=function(e,t){return wn.equalsEpsilon(this,e,t)};wn.validate=function(e){return fs("Rectangle.validate","Rectangle.validate is a no-op and has been deprecated. It will be removed in Cesium 1.124."),wn._validate(e)};wn._validate=function(e){};wn.southwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new fe(e.west,e.south)};wn.northwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new fe(e.west,e.north)};wn.northeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new fe(e.east,e.north)};wn.southeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new fe(e.east,e.south)};wn.center=function(e,t){let n=e.east,i=e.west;n<i&&(n+=P.TWO_PI);let o=P.negativePiToPi((i+n)*.5),r=(e.south+e.north)*.5;return l(t)?(t.longitude=o,t.latitude=r,t.height=0,t):new fe(o,r)};wn.intersection=function(e,t,n){let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.max(o,s)),c=P.negativePiToPi(Math.min(i,r));if((e.west<e.east||t.west<t.east)&&c<=a)return;let u=Math.max(e.south,t.south),f=Math.min(e.north,t.north);if(!(u>=f))return l(n)?(n.west=a,n.south=u,n.east=c,n.north=f,n):new wn(a,u,c,f)};wn.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return l(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new wn(i,o,r,s)};wn.union=function(e,t,n){l(n)||(n=new wn);let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.min(o,s)),c=P.negativePiToPi(Math.max(i,r));return n.west=a,n.south=Math.min(e.south,t.south),n.east=c,n.north=Math.max(e.north,t.north),n};wn.expand=function(e,t,n){return l(n)||(n=new wn),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};wn.contains=function(e,t){let n=t.longitude,i=t.latitude,o=e.west,r=e.east;return r<o&&(r+=P.TWO_PI,n<0&&(n+=P.TWO_PI)),(n>o||P.equalsEpsilon(n,o,P.EPSILON14))&&(n<r||P.equalsEpsilon(n,r,P.EPSILON14))&&i>=e.south&&i<=e.north};var nwe=new fe;wn.subsample=function(e,t,n,i){t=y(t,ee.default),n=y(n,0),l(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,u=nwe;u.height=n,u.longitude=c,u.latitude=r,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.latitude=s,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,r<0?u.latitude=r:s>0?u.latitude=s:u.latitude=0;for(let f=1;f<8;++f)u.longitude=-Math.PI+f*P.PI_OVER_TWO,wn.contains(e,u)&&(i[o]=t.cartographicToCartesian(u,i[o]),o++);return u.latitude===0&&(u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++),i.length=o,i};wn.subsection=function(e,t,n,i,o,r){if(l(r)||(r=new wn),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=P.TWO_PI+e.east-e.west;r.west=P.negativePiToPi(e.west+t*a),r.east=P.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};wn.MAX_VALUE=Object.freeze(new wn(-Math.PI,-P.PI_OVER_TWO,Math.PI,P.PI_OVER_TWO));var se=wn;function Mr(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}Mr.packedLength=4;Mr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};Mr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Mr),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};Mr.fromPoints=function(e,t){if(l(t)||(t=new Mr),!l(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;a<n;a++){let c=e[a],u=c.x,f=c.y;i=Math.min(u,i),r=Math.max(u,r),o=Math.min(f,o),s=Math.max(f,s)}return t.x=i,t.y=o,t.width=r-i,t.height=s-o,t};var VJ=new Ii,iwe=new fe,owe=new fe;Mr.fromRectangle=function(e,t,n){if(l(n)||(n=new Mr),!l(e))return n.x=0,n.y=0,n.width=0,n.height=0,n;VJ._ellipsoid=ee.default,t=y(t,VJ);let i=t.project(se.southwest(e,iwe)),o=t.project(se.northeast(e,owe));return z.subtract(o,i,o),n.x=i.x,n.y=i.y,n.width=o.x,n.height=o.y,n};Mr.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new Mr(e.x,e.y,e.width,e.height)};Mr.union=function(e,t,n){l(n)||(n=new Mr);let i=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width),s=Math.max(e.y+e.height,t.y+t.height);return n.x=i,n.y=o,n.width=r-i,n.height=s-o,n};Mr.expand=function(e,t,n){n=Mr.clone(e,n);let i=t.x-n.x,o=t.y-n.y;return i>n.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};Mr.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.width<o||i+e.height<r||i>r+t.height?jt.OUTSIDE:jt.INTERSECTING};Mr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};Mr.prototype.clone=function(e){return Mr.clone(this,e)};Mr.prototype.intersect=function(e){return Mr.intersect(this,e)};Mr.prototype.equals=function(e){return Mr.equals(this,e)};var We=Mr;var Pa={POINTS:te.POINTS,LINES:te.LINES,LINE_LOOP:te.LINE_LOOP,LINE_STRIP:te.LINE_STRIP,TRIANGLES:te.TRIANGLES,TRIANGLE_STRIP:te.TRIANGLE_STRIP,TRIANGLE_FAN:te.TRIANGLE_FAN};Pa.isLines=function(e){return e===Pa.LINES||e===Pa.LINE_LOOP||e===Pa.LINE_STRIP};Pa.isTriangles=function(e){return e===Pa.TRIANGLES||e===Pa.TRIANGLE_STRIP||e===Pa.TRIANGLE_FAN};Pa.validate=function(e){return e===Pa.POINTS||e===Pa.LINES||e===Pa.LINE_LOOP||e===Pa.LINE_STRIP||e===Pa.TRIANGLES||e===Pa.TRIANGLE_STRIP||e===Pa.TRIANGLE_FAN};var Ne=Object.freeze(Pa);var rx=`in vec4 position; +(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var F=Je;var oSe={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},te=Object.freeze(oSe);var rSe=new h;function Rt(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var ua={};ua[te.FLOAT]="float";ua[te.FLOAT_VEC2]="vec2";ua[te.FLOAT_VEC3]="vec3";ua[te.FLOAT_VEC4]="vec4";ua[te.INT]="int";ua[te.INT_VEC2]="ivec2";ua[te.INT_VEC3]="ivec3";ua[te.INT_VEC4]="ivec4";ua[te.BOOL]="bool";ua[te.BOOL_VEC2]="bvec2";ua[te.BOOL_VEC3]="bvec3";ua[te.BOOL_VEC4]="bvec4";ua[te.FLOAT_MAT2]="mat2";ua[te.FLOAT_MAT3]="mat3";ua[te.FLOAT_MAT4]="mat4";ua[te.SAMPLER_2D]="sampler2D";ua[te.SAMPLER_CUBE]="samplerCube";Rt.prototype.getDeclaration=function(e){let t=`uniform ${ua[this._datatype]} ${e}`,n=this._size;return n===1?t+=";":t+=`[${n.toString()}];`,t};var sSe={czm_viewport:new Rt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new Rt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new Rt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_eyeEllipsoidNormalEC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.eyeEllipsoidNormalEC}}),czm_eyeEllipsoidCurvature:new Rt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeEllipsoidCurvature}}),czm_modelToEnu:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelToEnu}}),czm_enuToModel:new Rt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.enuToModel}}),czm_entireFrustum:new Rt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new Rt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new Rt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return F.getTranslation(e.inverseView,rSe)}}),czm_frameNumber:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new Rt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new Rt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new Rt({size:1,datatype:te.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new Rt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapsMaximumLOD:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new Rt({size:9,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new Rt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogDensity}}),czm_fogVisualDensityScalar:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogVisualDensityScalar}}),czm_fogMinimumBrightness:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogMinimumBrightness}}),czm_atmosphereHsbShift:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereHsbShift}}),czm_atmosphereLightIntensity:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereLightIntensity}}),czm_atmosphereRayleighCoefficient:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereRayleighCoefficient}}),czm_atmosphereRayleighScaleHeight:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereRayleighScaleHeight}}),czm_atmosphereMieCoefficient:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereMieCoefficient}}),czm_atmosphereMieScaleHeight:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieScaleHeight}}),czm_atmosphereMieAnisotropy:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieAnisotropy}}),czm_atmosphereDynamicLighting:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereDynamicLighting}}),czm_splitPosition:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new Rt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new Rt({size:1,datatype:te.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new Rt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})},pp=sSe;function aSe(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var Wn=aSe;function cSe(){return!0}function lSe(e,t){t=y(t,"This object was destroyed, i.e., destroy() was called.");function n(){}for(let i in e)typeof e[i]=="function"&&(e[i]=n);e.isDestroyed=cSe}var ue=lSe;var Ws={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT};Ws.getSizeInBytes=function(e){switch(e){case Ws.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Ws.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Ws.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};Ws.fromSizeInBytes=function(e){switch(e){case 2:return Ws.UNSIGNED_SHORT;case 4:return Ws.UNSIGNED_INT;case 1:return Ws.UNSIGNED_BYTE}};Ws.validate=function(e){return l(e)&&(e===Ws.UNSIGNED_BYTE||e===Ws.UNSIGNED_SHORT||e===Ws.UNSIGNED_INT)};Ws.createTypedArray=function(e,t){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};Ws.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};Ws.fromTypedArray=function(e){if(e instanceof Uint8Array)return Ws.UNSIGNED_BYTE;if(e instanceof Uint16Array)return Ws.UNSIGNED_SHORT;if(e instanceof Uint32Array)return Ws.UNSIGNED_INT};var Fe=Object.freeze(Ws);var uV={STREAM_DRAW:te.STREAM_DRAW,STATIC_DRAW:te.STATIC_DRAW,DYNAMIC_DRAW:te.DYNAMIC_DRAW,validate:function(e){return e===uV.STREAM_DRAW||e===uV.STATIC_DRAW||e===uV.DYNAMIC_DRAW}},Be=Object.freeze(uV);function ff(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=l(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=Wn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}ff.createVertexBuffer=function(e){return new ff({context:e.context,bufferTarget:te.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};ff.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=Fe.getSizeInBytes(n),o=new ff({context:t,bufferTarget:te.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(ff.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});ff.prototype._getBuffer=function(){return this._buffer};ff.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};ff.prototype.copyFromBuffer=function(e,t,n,i){let o=te.COPY_READ_BUFFER,r=te.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};ff.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=te.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};ff.prototype.isDestroyed=function(){return!1};ff.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),ue(this)};var xt=ff;var Rg,Br={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},yl={};Object.defineProperties(yl,{element:{get:function(){if(yl.supportsFullscreen())return document[Br.fullscreenElement]}},changeEventName:{get:function(){if(yl.supportsFullscreen())return Br.fullscreenchange}},errorEventName:{get:function(){if(yl.supportsFullscreen())return Br.fullscreenerror}},enabled:{get:function(){if(yl.supportsFullscreen())return document[Br.fullscreenEnabled]}},fullscreen:{get:function(){if(yl.supportsFullscreen())return yl.element!==null}}});yl.supportsFullscreen=function(){if(l(Rg))return Rg;Rg=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return Br.requestFullscreen="requestFullscreen",Br.exitFullscreen="exitFullscreen",Br.fullscreenEnabled="fullscreenEnabled",Br.fullscreenElement="fullscreenElement",Br.fullscreenchange="fullscreenchange",Br.fullscreenerror="fullscreenerror",Rg=!0,Rg;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i<o;++i){let r=t[i];n=`${r}RequestFullscreen`,typeof e[n]=="function"?(Br.requestFullscreen=n,Rg=!0):(n=`${r}RequestFullScreen`,typeof e[n]=="function"&&(Br.requestFullscreen=n,Rg=!0)),n=`${r}ExitFullscreen`,typeof document[n]=="function"?Br.exitFullscreen=n:(n=`${r}CancelFullScreen`,typeof document[n]=="function"&&(Br.exitFullscreen=n)),n=`${r}FullscreenEnabled`,document[n]!==void 0?Br.fullscreenEnabled=n:(n=`${r}FullScreenEnabled`,document[n]!==void 0&&(Br.fullscreenEnabled=n)),n=`${r}FullscreenElement`,document[n]!==void 0?Br.fullscreenElement=n:(n=`${r}FullScreenElement`,document[n]!==void 0&&(Br.fullscreenElement=n)),n=`${r}fullscreenchange`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenChange"),Br.fullscreenchange=n),n=`${r}fullscreenerror`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenError"),Br.fullscreenerror=n)}return Rg};yl.requestFullscreen=function(e,t){yl.supportsFullscreen()&&e[Br.requestFullscreen]({vrDisplay:t})};yl.exitFullscreen=function(){yl.supportsFullscreen()&&document[Br.exitFullscreen]()};yl._names=Br;var Ar=yl;var Ja;typeof navigator<"u"?Ja=navigator:Ja={};function J0(e){let t=e.split(".");for(let n=0,i=t.length;n<i;++n)t[n]=parseInt(t[n],10);return t}var fV,KQ;function v5(){if(!l(fV)&&(fV=!1,!gV())){let e=/ Chrome\/([\.0-9]+)/.exec(Ja.userAgent);e!==null&&(fV=!0,KQ=J0(e[1]))}return fV}function uSe(){return v5()&&KQ}var dV,ZQ;function $Q(){if(!l(dV)&&(dV=!1,!v5()&&!gV()&&/ Safari\/[\.0-9]+/.test(Ja.userAgent))){let e=/ Version\/([\.0-9]+)/.exec(Ja.userAgent);e!==null&&(dV=!0,ZQ=J0(e[1]))}return dV}function fSe(){return $Q()&&ZQ}var hV,E5;function QQ(){if(!l(hV)){hV=!1;let e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(Ja.userAgent);e!==null&&(hV=!0,E5=J0(e[1]),E5.isNightly=!!e[2])}return hV}function dSe(){return QQ()&&E5}var tw,S5;function JQ(){if(!l(tw)){tw=!1;let e;Ja.appName==="Microsoft Internet Explorer"?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Ja.userAgent),e!==null&&(tw=!0,S5=J0(e[1]))):Ja.appName==="Netscape"&&(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Ja.userAgent),e!==null&&(tw=!0,S5=J0(e[1])))}return tw}function hSe(){return JQ()&&S5}var mV,eJ;function gV(){if(!l(mV)){mV=!1;let e=/ Edg\/([\.0-9]+)/.exec(Ja.userAgent);e!==null&&(mV=!0,eJ=J0(e[1]))}return mV}function mSe(){return gV()&&eJ}var pV,w5;function yV(){if(!l(pV)){pV=!1;let e=/Firefox\/([\.0-9]+)/.exec(Ja.userAgent);e!==null&&(pV=!0,w5=J0(e[1]))}return pV}var T5;function pSe(){return l(T5)||(T5=/Windows/i.test(Ja.appVersion)),T5}var C5;function _Se(){return l(C5)||(C5=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),C5}function gSe(){return yV()&&w5}var A5;function ySe(){return l(A5)||(A5=!yV()&&typeof PointerEvent<"u"&&(!l(Ja.pointerEnabled)||Ja.pointerEnabled)),A5}var tJ,_V;function nJ(){if(!l(_V)){let e=document.createElement("canvas");e.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");let t=e.style.imageRendering;_V=l(t)&&t!=="",_V&&(tJ=t)}return _V}function xSe(){return nJ()?tJ:void 0}function Nc(){return Nc._result}Nc._promise=void 0;Nc._result=void 0;Nc.initialize=function(){return l(Nc._promise)||(Nc._promise=new Promise(e=>{let t=new Image;t.onload=function(){Nc._result=t.width>0&&t.height>0,e(Nc._result)},t.onerror=function(){Nc._result=!1,e(Nc._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),Nc._promise};Object.defineProperties(Nc,{initialized:{get:function(){return l(Nc._result)}}});var VC=[];typeof ArrayBuffer<"u"&&(VC.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&VC.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&VC.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&VC.push(BigInt64Array),typeof BigUint64Array<"u"&&VC.push(BigUint64Array));var df={isChrome:v5,chromeVersion:uSe,isSafari:$Q,safariVersion:fSe,isWebkit:QQ,webkitVersion:dSe,isInternetExplorer:JQ,internetExplorerVersion:hSe,isEdge:gV,edgeVersion:mSe,isFirefox:yV,firefoxVersion:gSe,isWindows:pSe,isIPadOrIOS:_Se,hardwareConcurrency:y(Ja.hardwareConcurrency,3),supportsPointerEvents:ySe,supportsImageRenderingPixelated:nJ,supportsWebP:Nc,imageRenderingValue:xSe,typedArrayTypes:VC};df.supportsBasis=function(e){return df.supportsWebAssembly()&&e.context.supportsBasis};df.supportsFullscreen=function(){return Ar.supportsFullscreen()};df.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};df.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};df.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};df.supportsBigInt=function(){return typeof BigInt<"u"};df.supportsWebWorkers=function(){return typeof Worker<"u"};df.supportsWebAssembly=function(){return typeof WebAssembly<"u"};df.supportsWebgl2=function(e){return e.context.webgl2};df.supportsEsmWebWorkers=function(){return!yV()||parseInt(w5)>=114};var Gt=df;function D5(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function oe(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}oe.fromCartesian4=function(e,t){return l(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new oe(e.x,e.y,e.z,e.w)};oe.fromBytes=function(e,t,n,i,o){return e=oe.byteToFloat(y(e,255)),t=oe.byteToFloat(y(t,255)),n=oe.byteToFloat(y(n,255)),i=oe.byteToFloat(y(i,255)),l(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new oe(e,t,n,i)};oe.fromAlpha=function(e,t,n){return l(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new oe(e.red,e.green,e.blue,t)};var I5,P5,_p;Gt.supportsTypedArrays()&&(I5=new ArrayBuffer(4),P5=new Uint32Array(I5),_p=new Uint8Array(I5));oe.fromRgba=function(e,t){return P5[0]=e,oe.fromBytes(_p[0],_p[1],_p[2],_p[3],t)};oe.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let u=2*n-c;r=D5(u,c,e+1/3),s=D5(u,c,e),a=D5(u,c,e-1/3)}return l(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new oe(r,s,a,i)};oe.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!l(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+P.nextRandomNumber()*(a-s)}let i=e.green;if(!l(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+P.nextRandomNumber()*(a-s)}let o=e.blue;if(!l(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+P.nextRandomNumber()*(a-s)}let r=e.alpha;if(!l(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+P.nextRandomNumber()*(a-s)}return l(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new oe(n,i,o,r)};var bSe=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,TSe=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,CSe=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,ASe=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;oe.fromCssColorString=function(e,t){l(t)||(t=new oe),e=e.trim();let n=oe[e.toUpperCase()];if(l(n))return oe.clone(n,t),t;let i=bSe.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=TSe.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=CSe.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=ASe.exec(e),i!==null?oe.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};oe.packedLength=4;oe.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};oe.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new oe),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};oe.byteToFloat=function(e){return e/255};oe.floatToByte=function(e){return e===1?255:e*256|0};oe.clone=function(e,t){if(l(e))return l(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new oe(e.red,e.green,e.blue,e.alpha)};oe.equals=function(e,t){return e===t||l(e)&&l(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};oe.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};oe.prototype.clone=function(e){return oe.clone(this,e)};oe.prototype.equals=function(e){return oe.equals(this,e)};oe.prototype.equalsEpsilon=function(e,t){return this===e||l(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t};oe.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};oe.prototype.toCssColorString=function(){let e=oe.floatToByte(this.red),t=oe.floatToByte(this.green),n=oe.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};oe.prototype.toCssHexString=function(){let e=oe.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=oe.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=oe.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=oe.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};oe.prototype.toBytes=function(e){let t=oe.floatToByte(this.red),n=oe.floatToByte(this.green),i=oe.floatToByte(this.blue),o=oe.floatToByte(this.alpha);return l(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};oe.prototype.toRgba=function(){return _p[0]=oe.floatToByte(this.red),_p[1]=oe.floatToByte(this.green),_p[2]=oe.floatToByte(this.blue),_p[3]=oe.floatToByte(this.alpha),P5[0]};oe.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};oe.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};oe.prototype.withAlpha=function(e,t){return oe.fromAlpha(this,e,t)};oe.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};oe.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};oe.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};oe.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};oe.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};oe.lerp=function(e,t,n,i){return i.red=P.lerp(e.red,t.red,n),i.green=P.lerp(e.green,t.green,n),i.blue=P.lerp(e.blue,t.blue,n),i.alpha=P.lerp(e.alpha,t.alpha,n),i};oe.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};oe.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};oe.ALICEBLUE=Object.freeze(oe.fromCssColorString("#F0F8FF"));oe.ANTIQUEWHITE=Object.freeze(oe.fromCssColorString("#FAEBD7"));oe.AQUA=Object.freeze(oe.fromCssColorString("#00FFFF"));oe.AQUAMARINE=Object.freeze(oe.fromCssColorString("#7FFFD4"));oe.AZURE=Object.freeze(oe.fromCssColorString("#F0FFFF"));oe.BEIGE=Object.freeze(oe.fromCssColorString("#F5F5DC"));oe.BISQUE=Object.freeze(oe.fromCssColorString("#FFE4C4"));oe.BLACK=Object.freeze(oe.fromCssColorString("#000000"));oe.BLANCHEDALMOND=Object.freeze(oe.fromCssColorString("#FFEBCD"));oe.BLUE=Object.freeze(oe.fromCssColorString("#0000FF"));oe.BLUEVIOLET=Object.freeze(oe.fromCssColorString("#8A2BE2"));oe.BROWN=Object.freeze(oe.fromCssColorString("#A52A2A"));oe.BURLYWOOD=Object.freeze(oe.fromCssColorString("#DEB887"));oe.CADETBLUE=Object.freeze(oe.fromCssColorString("#5F9EA0"));oe.CHARTREUSE=Object.freeze(oe.fromCssColorString("#7FFF00"));oe.CHOCOLATE=Object.freeze(oe.fromCssColorString("#D2691E"));oe.CORAL=Object.freeze(oe.fromCssColorString("#FF7F50"));oe.CORNFLOWERBLUE=Object.freeze(oe.fromCssColorString("#6495ED"));oe.CORNSILK=Object.freeze(oe.fromCssColorString("#FFF8DC"));oe.CRIMSON=Object.freeze(oe.fromCssColorString("#DC143C"));oe.CYAN=Object.freeze(oe.fromCssColorString("#00FFFF"));oe.DARKBLUE=Object.freeze(oe.fromCssColorString("#00008B"));oe.DARKCYAN=Object.freeze(oe.fromCssColorString("#008B8B"));oe.DARKGOLDENROD=Object.freeze(oe.fromCssColorString("#B8860B"));oe.DARKGRAY=Object.freeze(oe.fromCssColorString("#A9A9A9"));oe.DARKGREEN=Object.freeze(oe.fromCssColorString("#006400"));oe.DARKGREY=oe.DARKGRAY;oe.DARKKHAKI=Object.freeze(oe.fromCssColorString("#BDB76B"));oe.DARKMAGENTA=Object.freeze(oe.fromCssColorString("#8B008B"));oe.DARKOLIVEGREEN=Object.freeze(oe.fromCssColorString("#556B2F"));oe.DARKORANGE=Object.freeze(oe.fromCssColorString("#FF8C00"));oe.DARKORCHID=Object.freeze(oe.fromCssColorString("#9932CC"));oe.DARKRED=Object.freeze(oe.fromCssColorString("#8B0000"));oe.DARKSALMON=Object.freeze(oe.fromCssColorString("#E9967A"));oe.DARKSEAGREEN=Object.freeze(oe.fromCssColorString("#8FBC8F"));oe.DARKSLATEBLUE=Object.freeze(oe.fromCssColorString("#483D8B"));oe.DARKSLATEGRAY=Object.freeze(oe.fromCssColorString("#2F4F4F"));oe.DARKSLATEGREY=oe.DARKSLATEGRAY;oe.DARKTURQUOISE=Object.freeze(oe.fromCssColorString("#00CED1"));oe.DARKVIOLET=Object.freeze(oe.fromCssColorString("#9400D3"));oe.DEEPPINK=Object.freeze(oe.fromCssColorString("#FF1493"));oe.DEEPSKYBLUE=Object.freeze(oe.fromCssColorString("#00BFFF"));oe.DIMGRAY=Object.freeze(oe.fromCssColorString("#696969"));oe.DIMGREY=oe.DIMGRAY;oe.DODGERBLUE=Object.freeze(oe.fromCssColorString("#1E90FF"));oe.FIREBRICK=Object.freeze(oe.fromCssColorString("#B22222"));oe.FLORALWHITE=Object.freeze(oe.fromCssColorString("#FFFAF0"));oe.FORESTGREEN=Object.freeze(oe.fromCssColorString("#228B22"));oe.FUCHSIA=Object.freeze(oe.fromCssColorString("#FF00FF"));oe.GAINSBORO=Object.freeze(oe.fromCssColorString("#DCDCDC"));oe.GHOSTWHITE=Object.freeze(oe.fromCssColorString("#F8F8FF"));oe.GOLD=Object.freeze(oe.fromCssColorString("#FFD700"));oe.GOLDENROD=Object.freeze(oe.fromCssColorString("#DAA520"));oe.GRAY=Object.freeze(oe.fromCssColorString("#808080"));oe.GREEN=Object.freeze(oe.fromCssColorString("#008000"));oe.GREENYELLOW=Object.freeze(oe.fromCssColorString("#ADFF2F"));oe.GREY=oe.GRAY;oe.HONEYDEW=Object.freeze(oe.fromCssColorString("#F0FFF0"));oe.HOTPINK=Object.freeze(oe.fromCssColorString("#FF69B4"));oe.INDIANRED=Object.freeze(oe.fromCssColorString("#CD5C5C"));oe.INDIGO=Object.freeze(oe.fromCssColorString("#4B0082"));oe.IVORY=Object.freeze(oe.fromCssColorString("#FFFFF0"));oe.KHAKI=Object.freeze(oe.fromCssColorString("#F0E68C"));oe.LAVENDER=Object.freeze(oe.fromCssColorString("#E6E6FA"));oe.LAVENDAR_BLUSH=Object.freeze(oe.fromCssColorString("#FFF0F5"));oe.LAWNGREEN=Object.freeze(oe.fromCssColorString("#7CFC00"));oe.LEMONCHIFFON=Object.freeze(oe.fromCssColorString("#FFFACD"));oe.LIGHTBLUE=Object.freeze(oe.fromCssColorString("#ADD8E6"));oe.LIGHTCORAL=Object.freeze(oe.fromCssColorString("#F08080"));oe.LIGHTCYAN=Object.freeze(oe.fromCssColorString("#E0FFFF"));oe.LIGHTGOLDENRODYELLOW=Object.freeze(oe.fromCssColorString("#FAFAD2"));oe.LIGHTGRAY=Object.freeze(oe.fromCssColorString("#D3D3D3"));oe.LIGHTGREEN=Object.freeze(oe.fromCssColorString("#90EE90"));oe.LIGHTGREY=oe.LIGHTGRAY;oe.LIGHTPINK=Object.freeze(oe.fromCssColorString("#FFB6C1"));oe.LIGHTSEAGREEN=Object.freeze(oe.fromCssColorString("#20B2AA"));oe.LIGHTSKYBLUE=Object.freeze(oe.fromCssColorString("#87CEFA"));oe.LIGHTSLATEGRAY=Object.freeze(oe.fromCssColorString("#778899"));oe.LIGHTSLATEGREY=oe.LIGHTSLATEGRAY;oe.LIGHTSTEELBLUE=Object.freeze(oe.fromCssColorString("#B0C4DE"));oe.LIGHTYELLOW=Object.freeze(oe.fromCssColorString("#FFFFE0"));oe.LIME=Object.freeze(oe.fromCssColorString("#00FF00"));oe.LIMEGREEN=Object.freeze(oe.fromCssColorString("#32CD32"));oe.LINEN=Object.freeze(oe.fromCssColorString("#FAF0E6"));oe.MAGENTA=Object.freeze(oe.fromCssColorString("#FF00FF"));oe.MAROON=Object.freeze(oe.fromCssColorString("#800000"));oe.MEDIUMAQUAMARINE=Object.freeze(oe.fromCssColorString("#66CDAA"));oe.MEDIUMBLUE=Object.freeze(oe.fromCssColorString("#0000CD"));oe.MEDIUMORCHID=Object.freeze(oe.fromCssColorString("#BA55D3"));oe.MEDIUMPURPLE=Object.freeze(oe.fromCssColorString("#9370DB"));oe.MEDIUMSEAGREEN=Object.freeze(oe.fromCssColorString("#3CB371"));oe.MEDIUMSLATEBLUE=Object.freeze(oe.fromCssColorString("#7B68EE"));oe.MEDIUMSPRINGGREEN=Object.freeze(oe.fromCssColorString("#00FA9A"));oe.MEDIUMTURQUOISE=Object.freeze(oe.fromCssColorString("#48D1CC"));oe.MEDIUMVIOLETRED=Object.freeze(oe.fromCssColorString("#C71585"));oe.MIDNIGHTBLUE=Object.freeze(oe.fromCssColorString("#191970"));oe.MINTCREAM=Object.freeze(oe.fromCssColorString("#F5FFFA"));oe.MISTYROSE=Object.freeze(oe.fromCssColorString("#FFE4E1"));oe.MOCCASIN=Object.freeze(oe.fromCssColorString("#FFE4B5"));oe.NAVAJOWHITE=Object.freeze(oe.fromCssColorString("#FFDEAD"));oe.NAVY=Object.freeze(oe.fromCssColorString("#000080"));oe.OLDLACE=Object.freeze(oe.fromCssColorString("#FDF5E6"));oe.OLIVE=Object.freeze(oe.fromCssColorString("#808000"));oe.OLIVEDRAB=Object.freeze(oe.fromCssColorString("#6B8E23"));oe.ORANGE=Object.freeze(oe.fromCssColorString("#FFA500"));oe.ORANGERED=Object.freeze(oe.fromCssColorString("#FF4500"));oe.ORCHID=Object.freeze(oe.fromCssColorString("#DA70D6"));oe.PALEGOLDENROD=Object.freeze(oe.fromCssColorString("#EEE8AA"));oe.PALEGREEN=Object.freeze(oe.fromCssColorString("#98FB98"));oe.PALETURQUOISE=Object.freeze(oe.fromCssColorString("#AFEEEE"));oe.PALEVIOLETRED=Object.freeze(oe.fromCssColorString("#DB7093"));oe.PAPAYAWHIP=Object.freeze(oe.fromCssColorString("#FFEFD5"));oe.PEACHPUFF=Object.freeze(oe.fromCssColorString("#FFDAB9"));oe.PERU=Object.freeze(oe.fromCssColorString("#CD853F"));oe.PINK=Object.freeze(oe.fromCssColorString("#FFC0CB"));oe.PLUM=Object.freeze(oe.fromCssColorString("#DDA0DD"));oe.POWDERBLUE=Object.freeze(oe.fromCssColorString("#B0E0E6"));oe.PURPLE=Object.freeze(oe.fromCssColorString("#800080"));oe.RED=Object.freeze(oe.fromCssColorString("#FF0000"));oe.ROSYBROWN=Object.freeze(oe.fromCssColorString("#BC8F8F"));oe.ROYALBLUE=Object.freeze(oe.fromCssColorString("#4169E1"));oe.SADDLEBROWN=Object.freeze(oe.fromCssColorString("#8B4513"));oe.SALMON=Object.freeze(oe.fromCssColorString("#FA8072"));oe.SANDYBROWN=Object.freeze(oe.fromCssColorString("#F4A460"));oe.SEAGREEN=Object.freeze(oe.fromCssColorString("#2E8B57"));oe.SEASHELL=Object.freeze(oe.fromCssColorString("#FFF5EE"));oe.SIENNA=Object.freeze(oe.fromCssColorString("#A0522D"));oe.SILVER=Object.freeze(oe.fromCssColorString("#C0C0C0"));oe.SKYBLUE=Object.freeze(oe.fromCssColorString("#87CEEB"));oe.SLATEBLUE=Object.freeze(oe.fromCssColorString("#6A5ACD"));oe.SLATEGRAY=Object.freeze(oe.fromCssColorString("#708090"));oe.SLATEGREY=oe.SLATEGRAY;oe.SNOW=Object.freeze(oe.fromCssColorString("#FFFAFA"));oe.SPRINGGREEN=Object.freeze(oe.fromCssColorString("#00FF7F"));oe.STEELBLUE=Object.freeze(oe.fromCssColorString("#4682B4"));oe.TAN=Object.freeze(oe.fromCssColorString("#D2B48C"));oe.TEAL=Object.freeze(oe.fromCssColorString("#008080"));oe.THISTLE=Object.freeze(oe.fromCssColorString("#D8BFD8"));oe.TOMATO=Object.freeze(oe.fromCssColorString("#FF6347"));oe.TURQUOISE=Object.freeze(oe.fromCssColorString("#40E0D0"));oe.VIOLET=Object.freeze(oe.fromCssColorString("#EE82EE"));oe.WHEAT=Object.freeze(oe.fromCssColorString("#F5DEB3"));oe.WHITE=Object.freeze(oe.fromCssColorString("#FFFFFF"));oe.WHITESMOKE=Object.freeze(oe.fromCssColorString("#F5F5F5"));oe.YELLOW=Object.freeze(oe.fromCssColorString("#FFFF00"));oe.YELLOWGREEN=Object.freeze(oe.fromCssColorString("#9ACD32"));oe.TRANSPARENT=Object.freeze(new oe(0,0,0,0));var H=oe;function xV(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}xV.ALL=Object.freeze(new xV({color:new H(0,0,0,0),depth:1,stencil:0}));xV.prototype.execute=function(e,t){e.clear(this,t)};var ni=xV;var ESe={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},ve=Object.freeze(ESe);function iJ(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=ve.COMPUTE,this.owner=e.owner}iJ.prototype.execute=function(e){e.execute(this)};var Fc=iJ;function kt(e,t){this.x=y(e,0),this.y=y(t,0)}kt.fromElements=function(e,t,n){return l(n)?(n.x=e,n.y=t,n):new kt(e,t)};kt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t):new kt(e.x,e.y)};kt.fromCartesian3=kt.clone;kt.fromCartesian4=kt.clone;kt.packedLength=2;kt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};kt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new kt),n.x=e[t++],n.y=e[t],n};kt.packArray=function(e,t){let n=e.length,i=n*2;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)kt.pack(e[o],t,o*2);return t};kt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/2:t=new Array(n/2);for(let i=0;i<n;i+=2){let o=i/2;t[o]=kt.unpack(e,i,t[o])}return t};kt.fromArray=kt.unpack;kt.maximumComponent=function(e){return Math.max(e.x,e.y)};kt.minimumComponent=function(e){return Math.min(e.x,e.y)};kt.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n};kt.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n};kt.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y);return i.x=o,i.y=r,i};kt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y};kt.magnitude=function(e){return Math.sqrt(kt.magnitudeSquared(e))};var bV=new kt;kt.distance=function(e,t){return kt.subtract(e,t,bV),kt.magnitude(bV)};kt.distanceSquared=function(e,t){return kt.subtract(e,t,bV),kt.magnitudeSquared(bV)};kt.normalize=function(e,t){let n=kt.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t};kt.dot=function(e,t){return e.x*t.x+e.y*t.y};kt.cross=function(e,t){return e.x*t.y-e.y*t.x};kt.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n};kt.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n};kt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n};kt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n};kt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n};kt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n};kt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t};kt.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};var oJ=new kt;kt.lerp=function(e,t,n,i){return kt.multiplyByScalar(t,n,oJ),i=kt.multiplyByScalar(e,1-n,i),kt.add(oJ,i,i)};var rJ=new kt,sJ=new kt;kt.angleBetween=function(e,t){return kt.normalize(e,rJ),kt.normalize(t,sJ),P.acosClamped(kt.dot(rJ,sJ))};var SSe=new kt;kt.mostOrthogonalAxis=function(e,t){let n=kt.normalize(e,SSe);return kt.abs(n,n),n.x<=n.y?t=kt.clone(kt.UNIT_X,t):t=kt.clone(kt.UNIT_Y,t),t};kt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y};kt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]};kt.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)};kt.ZERO=Object.freeze(new kt(0,0));kt.ONE=Object.freeze(new kt(1,1));kt.UNIT_X=Object.freeze(new kt(1,0));kt.UNIT_Y=Object.freeze(new kt(0,1));kt.prototype.clone=function(e){return kt.clone(this,e)};kt.prototype.equals=function(e){return kt.equals(this,e)};kt.prototype.equalsEpsilon=function(e,t,n){return kt.equalsEpsilon(this,e,t,n)};kt.prototype.toString=function(){return`(${this.x}, ${this.y})`};var z=kt;var vSe=new h,wSe=new h;function DSe(e,t,n,i,o){let r=e.x,s=e.y,a=e.z,c=t.x,u=t.y,f=t.z,d=r*r*c*c,p=s*s*u*u,g=a*a*f*f,m=d+p+g,x=Math.sqrt(1/m),b=h.multiplyByScalar(e,x,vSe);if(m<i)return isFinite(x)?h.clone(b,o):void 0;let T=n.x,A=n.y,C=n.z,E=wSe;E.x=b.x*T*2,E.y=b.y*A*2,E.z=b.z*C*2;let v=(1-x)*h.magnitude(e)/(.5*h.magnitude(E)),D=0,O,R,M,N,_,S,w,I,L,B,U;do{v-=D,M=1/(1+v*T),N=1/(1+v*A),_=1/(1+v*C),S=M*M,w=N*N,I=_*_,L=S*M,B=w*N,U=I*_,O=d*S+p*w+g*I-1,R=d*L*T+p*B*A+g*U*C;let V=-2*R;D=O/V}while(Math.abs(O)>P.EPSILON12);return l(o)?(o.x=r*M,o.y=s*N,o.z=a*_,o):new h(r*M,s*N,a*_)}var ex=DSe;function jo(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}jo.fromRadians=function(e,t,n,i){return n=y(n,0),l(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new jo(e,t,n)};jo.fromDegrees=function(e,t,n,i){return e=P.toRadians(e),t=P.toRadians(t),jo.fromRadians(e,t,n,i)};var ISe=new h,PSe=new h,RSe=new h;jo._ellipsoidOneOverRadii=new h(1/6378137,1/6378137,1/6356752314245179e-9);jo._ellipsoidOneOverRadiiSquared=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));jo._ellipsoidCenterToleranceSquared=P.EPSILON1;jo.fromCartesian=function(e,t,n){let i=l(t)?t.oneOverRadii:jo._ellipsoidOneOverRadii,o=l(t)?t.oneOverRadiiSquared:jo._ellipsoidOneOverRadiiSquared,r=l(t)?t._centerToleranceSquared:jo._ellipsoidCenterToleranceSquared,s=ex(e,i,o,r,PSe);if(!l(s))return;let a=h.multiplyComponents(s,o,ISe);a=h.normalize(a,a);let c=h.subtract(e,s,RSe),u=Math.atan2(a.y,a.x),f=Math.asin(a.z),d=P.sign(h.dot(c,e))*h.magnitude(c);return l(n)?(n.longitude=u,n.latitude=f,n.height=d,n):new jo(u,f,d)};jo.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};jo.clone=function(e,t){if(l(e))return l(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new jo(e.longitude,e.latitude,e.height)};jo.equals=function(e,t){return e===t||l(e)&&l(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};jo.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};jo.ZERO=Object.freeze(new jo(0,0,0));jo.prototype.clone=function(e){return jo.clone(this,e)};jo.prototype.equals=function(e){return jo.equals(this,e)};jo.prototype.equalsEpsilon=function(e,t){return jo.equalsEpsilon(this,e,t)};jo.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var fe=jo;function cJ(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=P.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function xi(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,cJ(this,e,t,n)}Object.defineProperties(xi.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});xi.clone=function(e,t){if(!l(e))return;let n=e._radii;return l(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new xi(n.x,n.y,n.z)};xi.fromCartesian3=function(e,t){return l(t)||(t=new xi),l(e)&&cJ(t,e.x,e.y,e.z),t};xi.WGS84=Object.freeze(new xi(6378137,6378137,6356752314245179e-9));xi.UNIT_SPHERE=Object.freeze(new xi(1,1,1));xi.MOON=Object.freeze(new xi(P.LUNAR_RADIUS,P.LUNAR_RADIUS,P.LUNAR_RADIUS));xi._default=xi.WGS84;Object.defineProperties(xi,{default:{get:function(){return xi._default},set:function(e){xi._default=e,h._ellipsoidRadiiSquared=e.radiiSquared,fe._ellipsoidOneOverRadii=e.oneOverRadii,fe._ellipsoidOneOverRadiiSquared=e.oneOverRadiiSquared,fe._ellipsoidCenterToleranceSquared=e._centerToleranceSquared}}});xi.prototype.clone=function(e){return xi.clone(this,e)};xi.packedLength=h.packedLength;xi.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};xi.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return xi.fromCartesian3(i,n)};xi.prototype.geocentricSurfaceNormal=h.normalize;xi.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return l(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};xi.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,P.EPSILON14))return l(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var OSe=new h,MSe=new h;xi.prototype.cartographicToCartesian=function(e,t){let n=OSe,i=MSe;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),l(t)||(t=new h),h.add(i,n,t)};xi.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var LSe=new h,NSe=new h,FSe=new h;xi.prototype.cartesianToCartographic=function(e,t){let n=this.scaleToGeodeticSurface(e,NSe);if(!l(n))return;let i=this.geodeticSurfaceNormal(n,LSe),o=h.subtract(e,n,FSe),r=Math.atan2(i.y,i.x),s=Math.asin(i.z),a=P.sign(h.dot(o,e))*h.magnitude(o);return l(t)?(t.longitude=r,t.latitude=s,t.height=a,t):new fe(r,s,a)};xi.prototype.cartesianArrayToCartographicArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};xi.prototype.scaleToGeodeticSurface=function(e,t){return ex(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)};xi.prototype.scaleToGeocentricSurface=function(e,t){l(t)||(t=new h);let n=e.x,i=e.y,o=e.z,r=this._oneOverRadiiSquared,s=1/Math.sqrt(n*n*r.x+i*i*r.y+o*o*r.z);return h.multiplyByScalar(e,s,t)};xi.prototype.transformPositionToScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._oneOverRadii,t)};xi.prototype.transformPositionFromScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._radii,t)};xi.prototype.equals=function(e){return this===e||l(e)&&h.equals(this._radii,e._radii)};xi.prototype.toString=function(){return this._radii.toString()};xi.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){t=y(t,0);let i=this._squaredXOverSquaredZ;if(l(n)||(n=new h),n.x=0,n.y=0,n.z=e.z*(1-i),!(Math.abs(n.z)>=this._radii.z-t))return n};var BSe=new h;xi.prototype.getLocalCurvature=function(e,t){l(t)||(t=new z);let n=this.getSurfaceNormalIntersectionWithZAxis(e,0,BSe),i=h.distance(e,n),o=this.minimumRadius*i/this.maximumRadius**2,r=i*o**2;return z.fromElements(1/i,1/r,t)};var kSe=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],VSe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function aJ(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*kSe[s];r+=VSe[s]*(n(i+a)+n(i-a))}return r*=o,r}xi.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n<t;)n+=P.TWO_PI;let r=this._radiiSquared,s=r.x,a=r.y,c=r.z,u=s*a;return aJ(i,o,function(f){let d=Math.cos(f),p=Math.sin(f);return Math.cos(f)*aJ(t,n,function(g){let m=Math.cos(g),x=Math.sin(g);return Math.sqrt(u*p*p+c*(a*m*m+s*x*x)*d*d)})})};var ee=xi;function TV(e){this._ellipsoid=y(e,ee.default),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(TV.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});TV.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=e.latitude*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};TV.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var Ri=TV;var USe={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},qt=Object.freeze(USe);function zSe(e,t,n){let i=0,o=e.length-1,r,s;for(;i<=o;){if(r=~~((i+o)/2),s=n(e[r],t),s<0){i=r+1;continue}if(s>0){o=r-1;continue}return r}return~(o+1)}var Lo=zSe;function HSe(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var Og=HSe;function GSe(e){return e%4===0&&e%100!==0||e%400===0}var bd=GSe;var lJ=[31,28,31,30,31,30,31,31,30,31,30,31];function WSe(e,t,n,i,o,r,s,a){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,0),o=y(o,0),r=y(r,0),s=y(s,0),a=y(a,!1),this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a;function x(){Ao.typeOf.number.greaterThanOrEquals("Year",e,1),Ao.typeOf.number.lessThanOrEquals("Year",e,9999),Ao.typeOf.number.greaterThanOrEquals("Month",t,1),Ao.typeOf.number.lessThanOrEquals("Month",t,12),Ao.typeOf.number.greaterThanOrEquals("Day",n,1),Ao.typeOf.number.lessThanOrEquals("Day",n,31),Ao.typeOf.number.greaterThanOrEquals("Hour",i,0),Ao.typeOf.number.lessThanOrEquals("Hour",i,23),Ao.typeOf.number.greaterThanOrEquals("Minute",o,0),Ao.typeOf.number.lessThanOrEquals("Minute",o,59),Ao.typeOf.bool("IsLeapSecond",a),Ao.typeOf.number.greaterThanOrEquals("Second",r,0),Ao.typeOf.number.lessThanOrEquals("Second",r,a?60:59),Ao.typeOf.number.greaterThanOrEquals("Millisecond",s,0),Ao.typeOf.number.lessThan("Millisecond",s,1e3)}function b(){let T=t===2&&bd(e)?lJ[t-1]+1:lJ[t-1];if(n>T)throw new de("Month and Day represents invalid date")}}var gp=WSe;function jSe(e,t){this.julianDate=e,this.offset=t}var qi=jSe;var qSe={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},Kn=Object.freeze(qSe);var YSe={UTC:0,TAI:1},Yn=Object.freeze(YSe);var fJ=new gp,R5=[31,28,31,30,31,30,31,31,30,31,30,31],O5=29;function M5(e,t){return Mt.compare(e.julianDate,t.julianDate)}var UC=new qi;function AV(e){UC.julianDate=e;let t=Mt.leapSeconds,n=Lo(t,UC,M5);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Mt.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Mt.addSeconds(e,i,e)}function uJ(e,t){UC.julianDate=e;let n=Mt.leapSeconds,i=Lo(n,UC,M5);if(i<0&&(i=~i),i===0)return Mt.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Mt.addSeconds(e,-n[i-1].offset,t);let o=Mt.secondsDifference(n[i].julianDate,e);if(o===0)return Mt.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Mt.addSeconds(e,-n[--i].offset,t)}function Mg(e,t,n){let i=t/Kn.SECONDS_PER_DAY|0;return e+=i,t-=Kn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Kn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function L5(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,u=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let f=r+(i*Kn.SECONDS_PER_HOUR+o*Kn.SECONDS_PER_MINUTE+s*Kn.SECONDS_PER_MILLISECOND);return f>=43200&&(u-=1),[u,f]}var XSe=/^(\d{4})$/,KSe=/^(\d{4})-(\d{2})$/,ZSe=/^(\d{4})-?(\d{3})$/,$Se=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,QSe=/^(\d{4})-?(\d{2})-?(\d{2})$/,N5=/([Z+\-])?(\d{2})?:?(\d{2})?$/,JSe=/^(\d{2})(\.\d+)?/.source+N5.source,eve=/^(\d{2}):?(\d{2})(\.\d+)?/.source+N5.source,tve=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+N5.source;function Mt(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,Yn.UTC);let i=e|0;t=t+(e-i)*Kn.SECONDS_PER_DAY,Mg(i,t,this),n===Yn.UTC&&AV(this)}Mt.fromGregorianDate=function(e,t){let n=L5(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(Mg(n[0],n[1],t),AV(t),t):new Mt(n[0],n[1],Yn.UTC)};Mt.fromDate=function(e,t){let n=L5(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(Mg(n[0],n[1],t),AV(t),t):new Mt(n[0],n[1],Yn.UTC)};Mt.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,u=0,f=n[0],d=n[1],p,g;if(n=f.match(QSe),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=f.match(KSe),n!==null)i=+n[1],o=+n[2];else if(n=f.match(XSe),n!==null)i=+n[1];else{let T;if(n=f.match(ZSe),n!==null)i=+n[1],T=+n[2],g=bd(i);else if(n=f.match($Se),n!==null){i=+n[1];let A=+n[2],C=+n[3]||0,E=new Date(Date.UTC(i,0,4));T=A*7+C-E.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(T),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=bd(i);let m;if(l(d)){n=d.match(tve),n!==null?(s=+n[1],a=+n[2],c=+n[3],u=+(n[4]||0)*1e3,m=5):(n=d.match(eve),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,m=4):(n=d.match(JSe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,m=3)));let T=n[m],A=+n[m+1],C=+(n[m+2]||0);switch(T){case"+":s=s-A,a=a-C;break;case"-":s=s+A,a=a+C;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let x=c===60;for(x&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?O5:R5[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?O5:R5[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?O5:R5[o-1],r+=p;let b=L5(i,o,r,s,a,c,u);return l(t)?(Mg(b[0],b[1],t),AV(t)):t=new Mt(b[0],b[1],Yn.UTC),x&&Mt.addSeconds(t,1,t),t};Mt.now=function(e){return Mt.fromDate(new Date,e)};var CV=new Mt(0,0,Yn.TAI);Mt.toGregorianDate=function(e,t){let n=!1,i=uJ(e,CV);l(i)||(Mt.addSeconds(e,-1,CV),i=uJ(CV,CV),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let u=80*s/2447|0,f=s-(2447*u/80|0)|0;s=u/11|0;let d=u+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Kn.SECONDS_PER_HOUR|0,m=r-g*Kn.SECONDS_PER_HOUR,x=m/Kn.SECONDS_PER_MINUTE|0;m=m-x*Kn.SECONDS_PER_MINUTE;let b=m|0,T=(m-b)/Kn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(b+=1),l(t)?(t.year=p,t.month=d,t.day=f,t.hour=g,t.minute=x,t.second=b,t.millisecond=T,t.isLeapSecond=n,t):new gp(p,d,f,g,x,b,T,n)};Mt.toDate=function(e){let t=Mt.toGregorianDate(e,fJ),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Mt.toIso8601=function(e,t){let n=Mt.toGregorianDate(e,fJ),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,u=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&u===0&&(i=9999,o=12,r=31,s=24);let f;return!l(t)&&u!==0?(f=(u*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(f=(u*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`)};Mt.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Mt(e.dayNumber,e.secondsOfDay,Yn.TAI)};Mt.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Mt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Mt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(Mt.secondsDifference(e,t))<=n};Mt.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Kn.SECONDS_PER_DAY};Mt.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Kn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Mt.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Kn.SECONDS_PER_DAY;return n+i};Mt.computeTaiMinusUtc=function(e){UC.julianDate=e;let t=Mt.leapSeconds,n=Lo(t,UC,M5);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Mt.addSeconds=function(e,t,n){return Mg(e.dayNumber,e.secondsOfDay+t,n)};Mt.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Kn.SECONDS_PER_MINUTE;return Mg(e.dayNumber,i,n)};Mt.addHours=function(e,t,n){let i=e.secondsOfDay+t*Kn.SECONDS_PER_HOUR;return Mg(e.dayNumber,i,n)};Mt.addDays=function(e,t,n){let i=e.dayNumber+t;return Mg(i,e.secondsOfDay,n)};Mt.lessThan=function(e,t){return Mt.compare(e,t)<0};Mt.lessThanOrEquals=function(e,t){return Mt.compare(e,t)<=0};Mt.greaterThan=function(e,t){return Mt.compare(e,t)>0};Mt.greaterThanOrEquals=function(e,t){return Mt.compare(e,t)>=0};Mt.prototype.clone=function(e){return Mt.clone(this,e)};Mt.prototype.equals=function(e){return Mt.equals(this,e)};Mt.prototype.equalsEpsilon=function(e,t){return Mt.equalsEpsilon(this,e,t)};Mt.prototype.toString=function(){return Mt.toIso8601(this)};Mt.leapSeconds=[new qi(new Mt(2441317,43210,Yn.TAI),10),new qi(new Mt(2441499,43211,Yn.TAI),11),new qi(new Mt(2441683,43212,Yn.TAI),12),new qi(new Mt(2442048,43213,Yn.TAI),13),new qi(new Mt(2442413,43214,Yn.TAI),14),new qi(new Mt(2442778,43215,Yn.TAI),15),new qi(new Mt(2443144,43216,Yn.TAI),16),new qi(new Mt(2443509,43217,Yn.TAI),17),new qi(new Mt(2443874,43218,Yn.TAI),18),new qi(new Mt(2444239,43219,Yn.TAI),19),new qi(new Mt(2444786,43220,Yn.TAI),20),new qi(new Mt(2445151,43221,Yn.TAI),21),new qi(new Mt(2445516,43222,Yn.TAI),22),new qi(new Mt(2446247,43223,Yn.TAI),23),new qi(new Mt(2447161,43224,Yn.TAI),24),new qi(new Mt(2447892,43225,Yn.TAI),25),new qi(new Mt(2448257,43226,Yn.TAI),26),new qi(new Mt(2448804,43227,Yn.TAI),27),new qi(new Mt(2449169,43228,Yn.TAI),28),new qi(new Mt(2449534,43229,Yn.TAI),29),new qi(new Mt(2450083,43230,Yn.TAI),30),new qi(new Mt(2450630,43231,Yn.TAI),31),new qi(new Mt(2451179,43232,Yn.TAI),32),new qi(new Mt(2453736,43233,Yn.TAI),33),new qi(new Mt(2454832,43234,Yn.TAI),34),new qi(new Mt(2456109,43235,Yn.TAI),35),new qi(new Mt(2457204,43236,Yn.TAI),36),new qi(new Mt(2457754,43237,Yn.TAI),37)];var K=Mt;var PJ=Wo(ou(),1);function nve(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var nw=nve;function yJ(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=yJ(o,t)),n[i]=o}return n}var He=yJ;function xJ(e,t,n){n=y(n,!1);let i={},o=l(e),r=l(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=xJ(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var Ct=xJ;function ive(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var xl=ive;var bJ=Wo(ou(),1);function F5(e,t){let n;return typeof document<"u"&&(n=document),F5._implementation(e,t,n)}F5._implementation=function(e,t,n){if(!l(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new bJ.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var qh=F5;var TJ=Wo(ou(),1);function ove(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new TJ.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var iw=ove;var CJ=Wo(ou(),1);function rve(e){let t=new CJ.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var tx=rve;var AJ={};function sve(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=AJ[t];l(i)||(i={},AJ[t]=i);let o=i[n];if(!l(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d",{willReadFrequently:!0}),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var Td=sve;var ave=/^blob:/i;function cve(e){return ave.test(e)}var nx=cve;var Yh;function lve(e){l(Yh)||(Yh=document.createElement("a")),Yh.href=window.location.href;let t=Yh.host,n=Yh.protocol;return Yh.href=e,Yh.href=Yh.href,n!==Yh.protocol||t!==Yh.host}var Lg=lve;var uve=/^data:/i;function fve(e){return uve.test(e)}var yp=fve;function dve(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var ix=dve;function hve(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r<s;++r)t+=`${o+encodeURIComponent(i[r])}&`;else t+=`${o+encodeURIComponent(i)}&`}return t=t.slice(0,-1),t}var ox=hve;function mve(e){let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let i=0,o=n.length;i<o;++i){let r=n[i].split("="),s=decodeURIComponent(r[0]),a=r[1];l(a)?a=decodeURIComponent(a):a="";let c=t[s];typeof c=="string"?t[s]=[c,a]:Array.isArray(c)?c.push(a):t[s]=a}return t}var ru=mve;var pve={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},Jn=Object.freeze(pve);var _ve={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},_s=Object.freeze(_ve);function wV(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.throttleByServer,!1),n=y(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=y(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=y(e.type,_s.OTHER),this.serverKey=e.serverKey,this.state=Jn.UNISSUED,this.deferred=void 0,this.cancelled=!1}wV.prototype.cancel=function(){this.cancelled=!0};wV.prototype.clone=function(e){return l(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=Jn.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new wV(this)};var er=wV;function gve(e){let t={};if(!e)return t;let n=e.split(`\r +`);for(let i=0;i<n.length;++i){let o=n[i],r=o.indexOf(": ");if(r>0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var ow=gve;function EJ(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=ow(this.responseHeaders))}EJ.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var Xh=EJ;var DV=Wo(ou(),1);function rw(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(rw.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});rw.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};rw.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&i[r]===t){o=r;break}return o!==-1?(this._insideRaiseEvent?(this._toRemove.push(o),n[o]=void 0,i[o]=void 0):(n.splice(o,1),i.splice(o,1)),!0):!1};function yve(e,t){return t-e}rw.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,i=t.length;for(e=0;e<i;e++){let r=t[e];l(r)&&t[e].apply(n[e],arguments)}let o=this._toRemove;if(i=o.length,i>0){for(o.sort(yve),e=0;e<i;e++){let r=o[e];t.splice(r,1),n.splice(r,1)}o.length=0}this._insideRaiseEvent=!1};var me=rw;function rx(e){this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(rx.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){let t=this._length;if(e<t){let n=this._array;for(let i=e;i<t;++i)n[i]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function B5(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}rx.prototype.reserve=function(e){e=y(e,this._length),this._array.length=e};rx.prototype.heapify=function(e){e=y(e,0);let t=this._length,n=this._comparator,i=this._array,o=-1,r=!0;for(;r;){let s=2*(e+1),a=s-1;a<t&&n(i[a],i[e])<0?o=a:o=e,s<t&&n(i[s],i[o])<0&&(o=s),o!==e?(B5(i,o,e),e=o):r=!1}};rx.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};rx.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(o<t.length?t[o]=e:t.push(e);o!==0;){let s=Math.floor((o-1)/2);if(n(t[o],t[s])<0)B5(t,o,s),o=s;else break}let r;return l(i)&&this._length>i&&(r=t[i],this._length=i),r};rx.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return B5(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var sw=rx;function xve(e,t){return e.priority-t.priority}var ro={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},GC=20,ec=new sw({comparator:xve});ec.maximumLength=GC;ec.reserve(GC);var Kh=[],xp={},bve=typeof document<"u"?new DV.default(document.location.href):new DV.default,IV=new me;function tr(){}tr.maximumRequests=50;tr.maximumRequestsPerServer=18;tr.requestsByServer={};tr.throttleRequests=!0;tr.debugShowStatistics=!1;tr.requestCompletedEvent=IV;Object.defineProperties(tr,{statistics:{get:function(){return ro}},priorityHeapLength:{get:function(){return GC},set:function(e){if(e<GC)for(;ec.length>e;){let t=ec.pop();sx(t)}GC=e,ec.maximumLength=e,ec.reserve(e)}}});function SJ(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}tr.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(tr.requestsByServer[e],tr.maximumRequestsPerServer);return xp[e]+t<=n};tr.heapHasOpenSlots=function(e){return ec.length+e<=GC};function vJ(e){return e.state===Jn.UNISSUED&&(e.state=Jn.ISSUED,e.deferred=xl()),e.deferred.promise}function Tve(e){return function(t){if(e.state===Jn.CANCELLED)return;let n=e.deferred;--ro.numberOfActiveRequests,--xp[e.serverKey],IV.raiseEvent(),e.state=Jn.RECEIVED,e.deferred=void 0,n.resolve(t)}}function Cve(e){return function(t){e.state!==Jn.CANCELLED&&(++ro.numberOfFailedRequests,--ro.numberOfActiveRequests,--xp[e.serverKey],IV.raiseEvent(t),e.state=Jn.FAILED,e.deferred.reject(t))}}function wJ(e){let t=vJ(e);return e.state=Jn.ACTIVE,Kh.push(e),++ro.numberOfActiveRequests,++ro.numberOfActiveRequestsEver,++xp[e.serverKey],e.requestFunction().then(Tve(e)).catch(Cve(e)),t}function sx(e){let t=e.state===Jn.ACTIVE;if(e.state=Jn.CANCELLED,++ro.numberOfCancelledRequests,l(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--ro.numberOfActiveRequests,--xp[e.serverKey],++ro.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}tr.update=function(){let e,t,n=0,i=Kh.length;for(e=0;e<i;++e){if(t=Kh[e],t.cancelled&&sx(t),t.state!==Jn.ACTIVE){++n;continue}n>0&&(Kh[e-n]=t)}Kh.length-=n;let o=ec.internalArray,r=ec.length;for(e=0;e<r;++e)SJ(o[e]);ec.resort();let s=Math.max(tr.maximumRequests-Kh.length,0),a=0;for(;a<s&&ec.length>0;){if(t=ec.pop(),t.cancelled){sx(t);continue}if(t.throttleByServer&&!tr.serverHasOpenSlots(t.serverKey)){sx(t);continue}wJ(t),++a}Ave()};tr.getServerKey=function(e){let t=new DV.default(e);t.scheme()===""&&(t=t.absoluteTo(bve),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=xp[n];return l(i)||(xp[n]=0),n};tr.request=function(e){if(yp(e.url)||nx(e.url))return IV.raiseEvent(),e.state=Jn.RECEIVED,e.requestFunction();if(++ro.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=tr.getServerKey(e.url)),tr.throttleRequests&&e.throttleByServer&&!tr.serverHasOpenSlots(e.serverKey))return;if(!tr.throttleRequests||!e.throttle)return wJ(e);if(Kh.length>=tr.maximumRequests)return;SJ(e);let t=ec.insert(e);if(l(t)){if(t===e)return;sx(t)}return vJ(e)};function Ave(){tr.debugShowStatistics&&(ro.numberOfActiveRequests===0&&ro.lastNumberOfActiveRequests>0&&(ro.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${ro.numberOfAttemptedRequests}`),ro.numberOfAttemptedRequests=0),ro.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${ro.numberOfCancelledRequests}`),ro.numberOfCancelledRequests=0),ro.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${ro.numberOfCancelledActiveRequests}`),ro.numberOfCancelledActiveRequests=0),ro.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${ro.numberOfFailedRequests}`),ro.numberOfFailedRequests=0)),ro.lastNumberOfActiveRequests=ro.numberOfActiveRequests)}tr.clearForSpecs=function(){for(;ec.length>0;){let t=ec.pop();sx(t)}let e=Kh.length;for(let t=0;t<e;++t)sx(Kh[t]);Kh.length=0,xp={},ro.numberOfAttemptedRequests=0,ro.numberOfActiveRequests=0,ro.numberOfCancelledRequests=0,ro.numberOfCancelledActiveRequests=0,ro.numberOfFailedRequests=0,ro.numberOfActiveRequestsEver=0,ro.lastNumberOfActiveRequests=0};tr.numberOfActiveRequestsByServer=function(e){return xp[e]};tr.requestHeap=ec;var tc=tr;var DJ=Wo(ou(),1);var aw={},WC={};aw.add=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(WC[n])||(WC[n]=!0)};aw.remove=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(WC[n])&&delete WC[n]};function Eve(e){let t=new DJ.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let i=t.scheme();if(i.length===0&&(i=window.location.protocol,i=i.substring(0,i.length-1)),i==="http")n+=":80";else if(i==="https")n+=":443";else return}return n}}aw.contains=function(e){let t=Eve(e);return!!(l(t)&&l(WC[t]))};aw.clear=function(){WC={}};var jC=aw;var RJ=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function Ot(e){e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),this._url=void 0,this._templateValues=Zh(e.templateValues,{}),this._queryParameters=Zh(e.queryParameters,{}),this.headers=Zh(e.headers,{}),this.request=y(e.request,new er),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=y(e.retryAttempts,0),this._retryCount=0,y(e.parseUrl,!0)?this.parseUrl(e.url,!0,!0):this._url=e.url,this._credits=e.credits}function Zh(e,t){return l(e)?He(e):t}Ot.createIfNeeded=function(e){return e instanceof Ot?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new Ot({url:e})};var qC;Ot.supportsImageBitmapOptions=function(){return l(qC)?qC:typeof createImageBitmap!="function"?(qC=Promise.resolve(!1),qC):(qC=Ot.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC"}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=Td(t[0]),i=Td(t[1]);return n[1]!==i[1]}).catch(function(){return!1}),qC)};Object.defineProperties(Ot,{isBlobSupported:{get:function(){return RJ}}});Object.defineProperties(Ot.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){this.parseUrl(e,!1,!1)}},extension:{get:function(){return tx(this._url)}},isDataUri:{get:function(){return yp(this._url)}},isBlobUri:{get:function(){return nx(this._url)}},isCrossOriginUrl:{get:function(){return Lg(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}},credits:{get:function(){return this._credits}}});Ot.prototype.toString=function(){return this.getUrlComponent(!0,!0)};Ot.prototype.parseUrl=function(e,t,n,i){let o=new PJ.default(e),r=Sve(o.query());this._queryParameters=t?RV(r,this.queryParameters,n):r,o.search(""),o.fragment(""),l(i)&&o.scheme()===""&&(o=o.absoluteTo(qh(i))),this._url=o.toString()};function Sve(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:ru(e)}function RV(e,t,n){if(!n)return Ct(e,t);let i=He(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];l(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}Ot.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${vve(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let i=this._templateValues;return Object.keys(i).length>0&&(n=n.replace(/{(.*?)}/g,function(o,r){let s=i[r];return l(s)?encodeURIComponent(s):o})),t&&l(this.proxy)&&(n=this.proxy.getURL(n)),n};function vve(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!l(e[t[0]])?`?${t[0]}`:`?${ox(e)}`}Ot.prototype.setQueryParameters=function(e,t){t?this._queryParameters=RV(this._queryParameters,e,!1):this._queryParameters=RV(e,this._queryParameters,!1)};Ot.prototype.appendQueryParameters=function(e){this._queryParameters=RV(e,this._queryParameters,!0)};Ot.prototype.setTemplateValues=function(e,t){t?this._templateValues=Ct(this._templateValues,e):this._templateValues=Ct(e,this._templateValues)};Ot.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,l(e.url)){let n=y(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return l(e.queryParameters)&&(t._queryParameters=Ct(e.queryParameters,t.queryParameters)),l(e.templateValues)&&(t._templateValues=Ct(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=Ct(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};Ot.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};Ot.prototype.clone=function(e){return l(e)?(e._url=this._url,e._queryParameters=He(this._queryParameters),e._templateValues=He(this._templateValues),e.headers=He(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new Ot({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:l(this.credits)?this.credits.slice():void 0})};Ot.prototype.getBaseUri=function(e){return iw(this.getUrlComponent(e),e)};Ot.prototype.appendForwardSlash=function(){this._url=nw(this._url)};Ot.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};Ot.fetchArrayBuffer=function(e){return new Ot(e).fetchArrayBuffer()};Ot.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};Ot.fetchBlob=function(e){return new Ot(e).fetchBlob()};Ot.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(V5(this.request),!RJ||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return k5({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!l(r))return;let s,a,c,u;return Ot.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!l(f))return;if(u=f,a)return Ot.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let d=window.URL.createObjectURL(f);return c=new Ot({url:d}),k5({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(l(f))return f.blob=u,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return l(c)&&window.URL.revokeObjectURL(c.url),f.blob=u,Promise.reject(f)})};function k5(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=xl();return Ot._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=tc.request(r);if(l(s))return s.catch(function(a){return r.state!==Jn.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=Jn.UNISSUED,r.deferred=void 0,k5({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}Ot.fetchImage=function(e){return new Ot(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};Ot.prototype.fetchText=function(){return this.fetch({responseType:"text"})};Ot.fetchText=function(e){return new Ot(e).fetchText()};Ot.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};Ot.fetchJson=function(e){return new Ot(e).fetchJson()};Ot.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};Ot.fetchXML=function(e){return new Ot(e).fetchXML()};Ot.prototype.fetchJsonp=function(e){e=y(e,"callback"),V5(this.request);let t;do t=`loadJsonp${P.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return OJ(this,e,t)};function OJ(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request,r=e.url;o.url=r,o.requestFunction=function(){let a=xl();return window[n]=function(c){a.resolve(c);try{delete window[n]}catch{window[n]=void 0}},Ot._Implementations.loadAndExecuteScript(r,n,a),a.promise};let s=tc.request(o);if(l(s))return s.catch(function(a){return o.state!==Jn.FAILED?Promise.reject(a):e.retryOnError(a).then(function(c){return c?(o.state=Jn.UNISSUED,o.deferred=void 0,OJ(e,t,n)):Promise.reject(a)})})}Ot.fetchJsonp=function(e){return new Ot(e).fetchJsonp(e.callbackParameterName)};Ot.prototype._makeRequest=function(e){let t=this;V5(t.request);let n=t.request,i=t.url;n.url=i,n.requestFunction=function(){let r=e.responseType,s=Ct(e.headers,t.headers),a=e.overrideMimeType,c=e.method,u=e.data,f=xl(),d=Ot._Implementations.loadWithXhr(i,r,c,u,s,f,a);return l(d)&&l(d.abort)&&(n.cancelFunction=function(){d.abort()}),f.promise};let o=tc.request(n);if(l(o))return o.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==Jn.FAILED?Promise.reject(r):t.retryOnError(r).then(function(s){return s?(n.state=Jn.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function V5(e){if(e.state===Jn.ISSUED||e.state===Jn.ACTIVE)throw new se("The Resource is already being fetched.");e.state=Jn.UNISSUED,e.deferred=void 0}var wve=/^data:(.*?)(;base64)?,(.*)$/;function PV(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function IJ(e,t){let n=PV(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return i}function Dve(e,t){t=y(t,"");let n=e[1],i=!!e[2],o=e[3],r,s;switch(t){case"":case"text":return PV(i,o);case"arraybuffer":return IJ(i,o);case"blob":return r=IJ(i,o),new Blob([r],{type:n});case"document":return s=new DOMParser,s.parseFromString(PV(i,o),n);case"json":return JSON.parse(PV(i,o));default:}}Ot.prototype.fetch=function(e){return e=Zh(e,{}),e.method="GET",this._makeRequest(e)};Ot.fetch=function(e){return new Ot(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Ot.prototype.delete=function(e){return e=Zh(e,{}),e.method="DELETE",this._makeRequest(e)};Ot.delete=function(e){return new Ot(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};Ot.prototype.head=function(e){return e=Zh(e,{}),e.method="HEAD",this._makeRequest(e)};Ot.head=function(e){return new Ot(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Ot.prototype.options=function(e){return e=Zh(e,{}),e.method="OPTIONS",this._makeRequest(e)};Ot.options=function(e){return new Ot(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Ot.prototype.post=function(e,t){return Ao.defined("data",e),t=Zh(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};Ot.post=function(e){return new Ot(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Ot.prototype.put=function(e,t){return Ao.defined("data",e),t=Zh(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};Ot.put=function(e){return new Ot(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Ot.prototype.patch=function(e,t){return Ao.defined("data",e),t=Zh(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};Ot.patch=function(e){return new Ot(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Ot._Implementations={};Ot._Implementations.loadImageElement=function(e,t,n){let i=new Image;i.onload=function(){i.naturalWidth===0&&i.naturalHeight===0&&i.width===0&&i.height===0&&(i.width=300,i.height=150),n.resolve(i)},i.onerror=function(o){n.reject(o)},t&&(jC.contains(e)?i.crossOrigin="use-credentials":i.crossOrigin=""),i.src=e};Ot._Implementations.createImage=function(e,t,n,i,o,r){let s=e.url;Ot.supportsImageBitmapOptions().then(function(a){if(!(a&&r)){Ot._Implementations.loadImageElement(s,t,n);return}let c="blob",u="GET",f=xl(),d=Ot._Implementations.loadWithXhr(s,c,u,void 0,void 0,f,void 0,void 0,void 0);return l(d)&&l(d.abort)&&(e.cancelFunction=function(){d.abort()}),f.promise.then(function(p){if(!l(p)){n.reject(new se(`Successfully retrieved ${s} but it contained no content.`));return}return Ot.createImageBitmapFromBlob(p,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o})}).then(function(p){n.resolve(p)})}).catch(function(a){n.reject(a)})};Ot.createImageBitmapFromBlob=function(e,t){return Ao.defined("options",t),Ao.typeOf.bool("options.flipY",t.flipY),Ao.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),Ao.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function Ive(e,t,n,i,o,r,s){fetch(e,{method:n,headers:o}).then(async a=>{if(!a.ok){let c={};a.headers.forEach((u,f)=>{c[f]=u}),r.reject(new Xh(a.status,a,c));return}switch(t){case"text":r.resolve(a.text());break;case"json":r.resolve(a.json());break;default:r.resolve(new Uint8Array(await a.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new Xh)})}var Pve=typeof XMLHttpRequest>"u";Ot._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=wve.exec(e);if(a!==null){r.resolve(Dve(a,t));return}if(Pve){Ive(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(jC.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(let f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);l(t)&&(c.responseType=t);let u=!1;return typeof e=="string"&&(u=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(u&&c.status===0)){r.reject(new Xh(c.status,c.response,c.getAllResponseHeaders()));return}let f=c.response,d=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),m={};g.forEach(function(x){let b=x.split(": "),T=b.shift();m[T]=b.join(": ")}),r.resolve(m);return}if(c.status===204)r.resolve(void 0);else if(l(f)&&(!l(t)||d===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(p){r.reject(p)}else(d===""||d==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(d===""||d==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new se("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new Xh)},c.send(i),c};Ot._Implementations.loadAndExecuteScript=function(e,t,n){return ix(e,t).catch(function(i){n.reject(i)})};Ot._DefaultImplementations={};Ot._DefaultImplementations.createImage=Ot._Implementations.createImage;Ot._DefaultImplementations.loadWithXhr=Ot._Implementations.loadWithXhr;Ot._DefaultImplementations.loadAndExecuteScript=Ot._Implementations.loadAndExecuteScript;Ot.DEFAULT=Object.freeze(new Ot({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var Ae=Ot;function lw(e){e=y(e,y.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=y(e.addNewLeapSeconds,!0),l(e.data)?MJ(this,e.data):MJ(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}lw.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e),i;try{i=await n.fetchJson()}catch{throw new se(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new lw({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};lw.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new Og(0,0,0,0,0),t}});lw.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new Og(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(l(i)){let a=n[i],c=n[i+1],u=K.lessThanOrEquals(a,e),f=!l(c),d=f||K.greaterThanOrEquals(c,e);if(u&&d)return o=i,!f&&c.equals(e)&&++o,r=o+1,NJ(this,n,this._samples,e,o,r,t),t}let s=Lo(n,e,K.compare,this._dateColumn);return s>=0?(s<n.length-1&&n[s+1].equals(e)&&++s,o=s,r=s):(r=~s,o=r-1,o<0&&(o=0)),this._lastIndex=o,NJ(this,n,this._samples,e,o,r,t),t};function Rve(e,t){return K.compare(e.julianDate,t)}function MJ(e,t){if(!l(t.columnNames))throw new se("Error in loaded EOP data: The columnNames property is required.");if(!l(t.samples))throw new se("Error in loaded EOP data: The samples property is required.");let n=t.columnNames.indexOf("modifiedJulianDateUtc"),i=t.columnNames.indexOf("xPoleWanderRadians"),o=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),a=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),c=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||i<0||o<0||r<0||s<0||a<0||c<0)throw new se("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");let u=e._samples=t.samples,f=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=i,e._yPoleWanderRadiansColumn=o,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=a,e._taiMinusUtcSecondsColumn=c,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let d,p=e._addNewLeapSeconds;for(let g=0,m=u.length;g<m;g+=e._columnCount){let x=u[g+n],b=u[g+c],T=x+Kn.MODIFIED_JULIAN_DATE_DIFFERENCE,A=new K(T,b,Yn.TAI);if(f.push(A),p){if(b!==d&&l(d)){let C=K.leapSeconds,E=Lo(C,A,Rve);if(E<0){let v=new qi(A,b);C.splice(~E,0,v)}}d=b}}}function LJ(e,t,n,i,o){let r=n*i;o.xPoleWander=t[r+e._xPoleWanderRadiansColumn],o.yPoleWander=t[r+e._yPoleWanderRadiansColumn],o.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function cw(e,t,n){return t+e*(n-t)}function NJ(e,t,n,i,o,r,s){let a=e._columnCount;if(r>t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],u=t[r];if(c.equals(u)||i.equals(c))return LJ(e,n,o,a,s),s;if(i.equals(u))return LJ(e,n,r,a,s),s;let f=K.secondsDifference(i,c)/K.secondsDifference(u,c),d=o*a,p=r*a,g=n[d+e._ut1MinusUtcSecondsColumn],m=n[p+e._ut1MinusUtcSecondsColumn],x=m-g;if(x>.5||x<-.5){let b=n[d+e._taiMinusUtcSecondsColumn],T=n[p+e._taiMinusUtcSecondsColumn];b!==T&&(u.equals(i)?g=m:m-=T-b)}return s.xPoleWander=cw(f,n[d+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=cw(f,n[d+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=cw(f,n[d+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=cw(f,n[d+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=cw(f,g,m),s}var uw=lw;function nc(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}nc.fromQuaternion=function(e,t){l(t)||(t=new nc);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-P.asinClamped(n),t};nc.fromDegrees=function(e,t,n,i){return l(i)||(i=new nc),i.heading=e*P.RADIANS_PER_DEGREE,i.pitch=t*P.RADIANS_PER_DEGREE,i.roll=n*P.RADIANS_PER_DEGREE,i};nc.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new nc(e.heading,e.pitch,e.roll)};nc.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};nc.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.heading,t.heading,n,i)&&P.equalsEpsilon(e.pitch,t.pitch,n,i)&&P.equalsEpsilon(e.roll,t.roll,n,i)};nc.prototype.clone=function(e){return nc.clone(this,e)};nc.prototype.equals=function(e){return nc.equals(this,e)};nc.prototype.equalsEpsilon=function(e,t,n){return nc.equalsEpsilon(this,e,t,n)};nc.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Da=nc;var FJ={},BJ=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function Ove(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let i=e[t].getAttribute("src"),o=BJ.exec(i);if(o!==null)return o[1]}}var OV;function kJ(e){return typeof document>"u"?e:(l(OV)||(OV=document.createElement("a")),OV.href=e,OV.href)}var ax;function VJ(){if(l(ax))return ax;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:l(FJ?.url)?e=qh(".",FJ.url):typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?e=qh("..",cx("Core/buildModuleUrl.js")):e=Ove(),ax=new Ae({url:kJ(e)}),ax.appendForwardSlash(),ax}function Mve(e){return kJ(require.toUrl(`../${e}`))}function UJ(e){return VJ().getDerivedResource({url:e}).url}var MV;function cx(e){return l(MV)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(require.toUrl)?MV=Mve:MV=UJ),MV(e)}cx._cesiumScriptRegex=BJ;cx._buildModuleUrlFromBaseUrl=UJ;cx._clearBaseResource=function(){ax=void 0};cx.setBaseUrl=function(e){ax=Ae.DEFAULT.getDerivedResource({url:e})};cx.getCesiumBaseUrl=VJ;var sn=cx;function Lve(e,t,n){this.x=e,this.y=t,this.s=n}var lx=Lve;function H5(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=Ae.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new K(this._sampleZeroJulianEphemerisDate,0,Yn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var Nve=new K(0,0,Yn.TAI);function U5(e,t,n){let i=Nve;return i.dayNumber=t,i.secondsOfDay=n,K.daysDifference(i,e._sampleZeroDateTT)}H5.prototype.preload=function(e,t,n,i){let o=U5(this,e,t),r=U5(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,u=a/this._samplesPerXysFile|0,f=[];for(let d=c;d<=u;++d)f.push(z5(this,d));return Promise.all(f)};H5.prototype.computeXysRadians=function(e,t,n){let i=U5(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,u=this._samples;if(l(u[s*3])||(z5(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(z5(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new lx(0,0,0);let f=i-s*this._stepSizeDays,d=this._work,p=this._denominators,g=this._coef,m=this._xTable,x,b;for(x=0;x<=r;++x)d[x]=f-m[x];for(x=0;x<=r;++x){for(g[x]=1,b=0;b<=r;++b)b!==x&&(g[x]*=d[b]);g[x]*=p[x];let T=(s+x)*3;n.x+=g[x]*u[T++],n.y+=g[x]*u[T++],n.s+=g[x]*u[T]}return n};function z5(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Ae({url:sn(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let u=0,f=a.length;u<f;++u)s[c+u]=a[u]});return e._chunkDownloadsInProgress[t]=o,o}var fw=H5;function it(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}var dw=new h;it.fromAxisAngle=function(e,t,n){let i=t/2,o=Math.sin(i);dw=h.normalize(e,dw);let r=dw.x*o,s=dw.y*o,a=dw.z*o,c=Math.cos(i);return l(n)?(n.x=r,n.y=s,n.z=a,n.w=c,n):new it(r,s,a,c)};var Fve=[1,2,0],Bve=new Array(3);it.fromRotationMatrix=function(e,t){let n,i,o,r,s,a=e[$.COLUMN0ROW0],c=e[$.COLUMN1ROW1],u=e[$.COLUMN2ROW2],f=a+c+u;if(f>0)n=Math.sqrt(f+1),s=.5*n,n=.5/n,i=(e[$.COLUMN1ROW2]-e[$.COLUMN2ROW1])*n,o=(e[$.COLUMN2ROW0]-e[$.COLUMN0ROW2])*n,r=(e[$.COLUMN0ROW1]-e[$.COLUMN1ROW0])*n;else{let d=Fve,p=0;c>a&&(p=1),u>a&&u>c&&(p=2);let g=d[p],m=d[g];n=Math.sqrt(e[$.getElementIndex(p,p)]-e[$.getElementIndex(g,g)]-e[$.getElementIndex(m,m)]+1);let x=Bve;x[p]=.5*n,n=.5/n,s=(e[$.getElementIndex(m,g)]-e[$.getElementIndex(g,m)])*n,x[g]=(e[$.getElementIndex(g,p)]+e[$.getElementIndex(p,g)])*n,x[m]=(e[$.getElementIndex(m,p)]+e[$.getElementIndex(p,m)])*n,i=-x[0],o=-x[1],r=-x[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new it(i,o,r,s)};var zJ=new it,HJ=new it,G5=new it,GJ=new it;it.fromHeadingPitchRoll=function(e,t){return GJ=it.fromAxisAngle(h.UNIT_X,e.roll,zJ),G5=it.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=it.multiply(G5,GJ,G5),HJ=it.fromAxisAngle(h.UNIT_Z,-e.heading,zJ),it.multiply(HJ,t,t)};var LV=new h,W5=new h,Cd=new it,WJ=new it,NV=new it;it.packedLength=4;it.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};it.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new it),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};it.packedInterpolationLength=3;it.convertPackedArrayForInterpolation=function(e,t,n,i){it.unpack(e,n*4,NV),it.conjugate(NV,NV);for(let o=0,r=n-t+1;o<r;o++){let s=o*3;it.unpack(e,(t+o)*4,Cd),it.multiply(Cd,NV,Cd),Cd.w<0&&it.negate(Cd,Cd),it.computeAxis(Cd,LV);let a=it.computeAngle(Cd);l(i)||(i=[]),i[s]=LV.x*a,i[s+1]=LV.y*a,i[s+2]=LV.z*a}};it.unpackInterpolationResult=function(e,t,n,i,o){l(o)||(o=new it),h.fromArray(e,0,W5);let r=h.magnitude(W5);return it.unpack(t,i*4,WJ),r===0?it.clone(it.IDENTITY,Cd):it.fromAxisAngle(W5,r,Cd),it.multiply(Cd,WJ,o)};it.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new it(e.x,e.y,e.z,e.w)};it.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};it.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};it.magnitude=function(e){return Math.sqrt(it.magnitudeSquared(e))};it.normalize=function(e,t){let n=1/it.magnitude(e),i=e.x*n,o=e.y*n,r=e.z*n,s=e.w*n;return t.x=i,t.y=o,t.z=r,t.w=s,t};it.inverse=function(e,t){let n=it.magnitudeSquared(e);return t=it.conjugate(e,t),it.multiplyByScalar(t,1/n,t)};it.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};it.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};it.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};it.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};it.multiply=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=e.w,a=t.x,c=t.y,u=t.z,f=t.w,d=s*a+i*f+o*u-r*c,p=s*c-i*u+o*f+r*a,g=s*u+i*c-o*a+r*f,m=s*f-i*a-o*c-r*u;return n.x=d,n.y=p,n.z=g,n.w=m,n};it.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};it.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};it.computeAxis=function(e,t){let n=e.w;if(Math.abs(n-1)<P.EPSILON6||Math.abs(n+1)<P.EPSILON6)return t.x=1,t.y=t.z=0,t;let i=1/Math.sqrt(1-n*n);return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t};it.computeAngle=function(e){return Math.abs(e.w-1)<P.EPSILON6?0:2*Math.acos(e.w)};var j5=new it;it.lerp=function(e,t,n,i){return j5=it.multiplyByScalar(t,n,j5),i=it.multiplyByScalar(e,1-n,i),it.add(j5,i,i)};var jJ=new it,q5=new it,Y5=new it;it.slerp=function(e,t,n,i){let o=it.dot(e,t),r=t;if(o<0&&(o=-o,r=jJ=it.negate(t,jJ)),1-o<P.EPSILON6)return it.lerp(e,r,n,i);let s=Math.acos(o);return q5=it.multiplyByScalar(e,Math.sin((1-n)*s),q5),Y5=it.multiplyByScalar(r,Math.sin(n*s),Y5),i=it.add(q5,Y5,i),it.multiplyByScalar(i,1/Math.sin(s),i)};it.log=function(e,t){let n=P.acosClamped(e.w),i=0;return n!==0&&(i=n/Math.sin(n)),h.multiplyByScalar(e,i,t)};it.exp=function(e,t){let n=h.magnitude(e),i=0;return n!==0&&(i=Math.sin(n)/n),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=Math.cos(n),t};var kve=new h,Vve=new h,hw=new it,YC=new it;it.computeInnerQuadrangle=function(e,t,n,i){let o=it.conjugate(t,hw);it.multiply(o,n,YC);let r=it.log(YC,kve);it.multiply(o,e,YC);let s=it.log(YC,Vve);return h.add(r,s,r),h.multiplyByScalar(r,.25,r),h.negate(r,r),it.exp(r,hw),it.multiply(t,hw,i)};it.squad=function(e,t,n,i,o,r){let s=it.slerp(e,t,o,hw),a=it.slerp(n,i,o,YC);return it.slerp(s,a,2*o*(1-o),r)};var Uve=new it,qJ=1.9011074535173003,FV=Gt.supportsTypedArrays()?new Float32Array(8):[],BV=Gt.supportsTypedArrays()?new Float32Array(8):[],bp=Gt.supportsTypedArrays()?new Float32Array(8):[],Tp=Gt.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;FV[e]=1/(t*n),BV[e]=t/n}FV[7]=qJ/(8*17);BV[7]=qJ*8/17;it.fastSlerp=function(e,t,n,i){let o=it.dot(e,t),r;o>=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,u=a*a;for(let g=7;g>=0;--g)bp[g]=(FV[g]*c-BV[g])*s,Tp[g]=(FV[g]*u-BV[g])*s;let f=r*n*(1+bp[0]*(1+bp[1]*(1+bp[2]*(1+bp[3]*(1+bp[4]*(1+bp[5]*(1+bp[6]*(1+bp[7])))))))),d=a*(1+Tp[0]*(1+Tp[1]*(1+Tp[2]*(1+Tp[3]*(1+Tp[4]*(1+Tp[5]*(1+Tp[6]*(1+Tp[7])))))))),p=it.multiplyByScalar(e,d,Uve);return it.multiplyByScalar(t,f,i),it.add(p,i,i)};it.fastSquad=function(e,t,n,i,o,r){let s=it.fastSlerp(e,t,o,hw),a=it.fastSlerp(n,i,o,YC);return it.fastSlerp(s,a,2*o*(1-o),r)};it.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};it.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};it.ZERO=Object.freeze(new it(0,0,0,0));it.IDENTITY=Object.freeze(new it(0,0,0,1));it.prototype.clone=function(e){return it.clone(this,e)};it.prototype.equals=function(e){return it.equals(this,e)};it.prototype.equalsEpsilon=function(e,t){return it.equalsEpsilon(this,e,t)};it.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Le=it;var hi={},X5={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},XC={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},K5={},bl={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},Ng=new h,Fg=new h,Bg=new h;hi.localFrameToFixedFrameGenerator=function(e,t){if(!X5.hasOwnProperty(e)||!X5[e].hasOwnProperty(t))throw new de("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=X5[e][t],i,o=e+t;return l(K5[o])?i=K5[o]:(i=function(r,s,a){if(l(a)||(a=new F),h.equalsEpsilon(r,h.ZERO,P.EPSILON14))h.unpack(XC[e],0,Ng),h.unpack(XC[t],0,Fg),h.unpack(XC[n],0,Bg);else if(P.equalsEpsilon(r.x,0,P.EPSILON14)&&P.equalsEpsilon(r.y,0,P.EPSILON14)){let c=P.sign(r.z);h.unpack(XC[e],0,Ng),e!=="east"&&e!=="west"&&h.multiplyByScalar(Ng,c,Ng),h.unpack(XC[t],0,Fg),t!=="east"&&t!=="west"&&h.multiplyByScalar(Fg,c,Fg),h.unpack(XC[n],0,Bg),n!=="east"&&n!=="west"&&h.multiplyByScalar(Bg,c,Bg)}else{s=y(s,ee.default),s.geodeticSurfaceNormal(r,bl.up);let c=bl.up,u=bl.east;u.x=-r.y,u.y=r.x,u.z=0,h.normalize(u,bl.east),h.cross(c,u,bl.north),h.multiplyByScalar(bl.up,-1,bl.down),h.multiplyByScalar(bl.east,-1,bl.west),h.multiplyByScalar(bl.north,-1,bl.south),Ng=bl[e],Fg=bl[t],Bg=bl[n]}return a[0]=Ng.x,a[1]=Ng.y,a[2]=Ng.z,a[3]=0,a[4]=Fg.x,a[5]=Fg.y,a[6]=Fg.z,a[7]=0,a[8]=Bg.x,a[9]=Bg.y,a[10]=Bg.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},K5[o]=i),i};hi.eastNorthUpToFixedFrame=hi.localFrameToFixedFrameGenerator("east","north");hi.northEastDownToFixedFrame=hi.localFrameToFixedFrameGenerator("north","east");hi.northUpEastToFixedFrame=hi.localFrameToFixedFrameGenerator("north","up");hi.northWestUpToFixedFrame=hi.localFrameToFixedFrameGenerator("north","west");var zve=new Le,Hve=new h(1,1,1),Gve=new F;hi.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,hi.eastNorthUpToFixedFrame);let r=Le.fromHeadingPitchRoll(t,zve),s=F.fromTranslationQuaternionRotationScale(h.ZERO,r,Hve,Gve);return o=i(e,n,o),F.multiply(o,s,o)};var Wve=new F,jve=new $;hi.headingPitchRollQuaternion=function(e,t,n,i,o){let r=hi.headingPitchRollToFixedFrame(e,t,n,i,Wve),s=F.getMatrix3(r,jve);return Le.fromRotationMatrix(s,o)};var qve=new h(1,1,1),Yve=new h,YJ=new F,Xve=new F,Kve=new $,Zve=new Le;hi.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,ee.default),n=y(n,hi.eastNorthUpToFixedFrame),l(i)||(i=new Da);let o=F.getTranslation(e,Yve);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=F.inverseTransformation(n(o,t,YJ),YJ),s=F.setScale(e,qve,Xve);s=F.setTranslation(s,h.ZERO,s),r=F.multiply(r,s,r);let a=Le.fromRotationMatrix(F.getMatrix3(r,Kve),Zve);return a=Le.normalize(a,a),Da.fromQuaternion(a,i)};var $ve=6*3600+41*60+50.54841,Qve=8640184812866e-6,Jve=.093104,ewe=-62e-7,twe=11772758384668e-32,nwe=72921158553e-15,iwe=P.TWO_PI/86400,kV=new K;hi.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=hi.computeIcrfToFixedMatrix(e,t);return l(n)||(n=hi.computeTemeToPseudoFixedMatrix(e,t)),n};hi.computeTemeToPseudoFixedMatrix=function(e,t){kV=K.addSeconds(e,-K.computeTaiMinusUtc(e),kV);let n=kV.dayNumber,i=kV.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Kn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Kn.DAYS_PER_JULIAN_CENTURY;let a=($ve+o*(Qve+o*(Jve+o*ewe)))*iwe%P.TWO_PI,c=nwe+twe*(n-24515455e-1),u=(i+Kn.SECONDS_PER_DAY*.5)%Kn.SECONDS_PER_DAY,f=a+c*u,d=Math.cos(f),p=Math.sin(f);return l(t)?(t[0]=d,t[1]=-p,t[2]=0,t[3]=p,t[4]=d,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new $(d,p,0,-p,d,0,0,0,1)};hi.iau2006XysData=new fw;hi.earthOrientationParameters=uw.NONE;var Q5=32.184,owe=2451545;hi.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+Q5,i=e.stop.dayNumber,o=e.stop.secondsOfDay+Q5;return hi.iau2006XysData.preload(t,n,i,o)};hi.computeIcrfToFixedMatrix=function(e,t){l(t)||(t=new $);let n=hi.computeFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var rwe=32.184,swe=2451545,VV=new Da,awe=new $,cwe=new K;hi.computeMoonFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=K.addSeconds(e,rwe,cwe),i=K.totalDays(n)-swe,o=P.toRadians(12.112)-P.toRadians(.052992)*i,r=P.toRadians(24.224)-P.toRadians(.105984)*i,s=P.toRadians(227.645)+P.toRadians(13.012)*i,a=P.toRadians(261.105)+P.toRadians(13.340716)*i,c=P.toRadians(358)+P.toRadians(.9856)*i;return VV.pitch=P.toRadians(180)-P.toRadians(3.878)*Math.sin(o)-P.toRadians(.12)*Math.sin(r)+P.toRadians(.07)*Math.sin(s)-P.toRadians(.017)*Math.sin(a),VV.roll=P.toRadians(66.53-90)+P.toRadians(1.543)*Math.cos(o)+P.toRadians(.24)*Math.cos(r)-P.toRadians(.028)*Math.cos(s)+P.toRadians(.007)*Math.cos(a),VV.heading=P.toRadians(244.375-90)+P.toRadians(13.17635831)*i+P.toRadians(3.558)*Math.sin(o)+P.toRadians(.121)*Math.sin(r)-P.toRadians(.064)*Math.sin(s)+P.toRadians(.016)*Math.sin(a)+P.toRadians(.025)*Math.sin(c),$.fromHeadingPitchRoll(VV,awe)};hi.computeIcrfToMoonFixedMatrix=function(e,t){l(t)||(t=new $);let n=hi.computeMoonFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var lwe=new lx(0,0,0),uwe=new Og(0,0,0,0,0,0),Z5=new $,$5=new $;hi.computeFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=hi.earthOrientationParameters.compute(e,uwe);if(!l(n))return;let i=e.dayNumber,o=e.secondsOfDay+Q5,r=hi.iau2006XysData.computeXysRadians(i,o,lwe);if(!l(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),u=Z5;u[0]=1-c*s*s,u[3]=-c*s*a,u[6]=s,u[1]=-c*s*a,u[4]=1-c*a*a,u[7]=a,u[2]=-s,u[5]=-a,u[8]=1-c*(s*s+a*a);let f=$.fromRotationZ(-r.s,$5),d=$.multiply(u,f,Z5),p=e.dayNumber,g=e.secondsOfDay-K.computeTaiMinusUtc(e)+n.ut1MinusUtc,m=p-2451545,x=g/Kn.SECONDS_PER_DAY,b=.779057273264+x+.00273781191135448*(m+x);b=b%1*P.TWO_PI;let T=$.fromRotationZ(b,$5),A=$.multiply(d,T,Z5),C=Math.cos(n.xPoleWander),E=Math.cos(n.yPoleWander),v=Math.sin(n.xPoleWander),D=Math.sin(n.yPoleWander),O=i-owe+o/Kn.SECONDS_PER_DAY;O/=36525;let R=-47e-6*O*P.RADIANS_PER_DEGREE/3600,M=Math.cos(R),N=Math.sin(R),_=$5;return _[0]=C*M,_[1]=C*N,_[2]=v,_[3]=-E*N+D*v*M,_[4]=E*M+D*v*N,_[5]=-D*C,_[6]=-D*N-E*v*M,_[7]=D*M-E*v*N,_[8]=E*C,$.multiply(A,_,t)};var fwe=new ie;hi.pointToWindowCoordinates=function(e,t,n,i){return i=hi.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};hi.pointToGLWindowCoordinates=function(e,t,n,i){l(i)||(i=new z);let o=fwe;return F.multiplyByVector(e,ie.fromElements(n.x,n.y,n.z,1,o),o),ie.multiplyByScalar(o,1/o.w,o),F.multiplyByVector(t,o,o),z.fromCartesian4(o,i)};var dwe=new h,hwe=new h,mwe=new h;hi.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,ee.default).geodeticSurfaceNormal(e,dwe),r=h.cross(t,o,hwe);h.equalsEpsilon(r,h.ZERO,P.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,mwe);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),l(i)||(i=new $),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var XJ=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),KJ=new fe,J5=new h,pwe=new h,_we=new $,e6=new F,ZJ=new F;hi.basisTo2D=function(e,t,n){let i=F.getTranslation(t,pwe),o=e.ellipsoid,r;if(h.equals(i,h.ZERO))r=h.clone(h.ZERO,J5);else{let f=o.cartesianToCartographic(i,KJ);r=e.project(f,J5),h.fromElements(r.z,r.x,r.y,r)}let s=hi.eastNorthUpToFixedFrame(i,o,e6),a=F.inverseTransformation(s,ZJ),c=F.getMatrix3(t,_we),u=F.multiplyByMatrix3(a,c,n);return F.multiply(XJ,u,n),F.setTranslation(n,r,n),n};hi.ellipsoidTo2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=hi.eastNorthUpToFixedFrame(t,i,e6),r=F.inverseTransformation(o,ZJ),s=i.cartesianToCartographic(t,KJ),a=e.project(s,J5);h.fromElements(a.z,a.x,a.y,a);let c=F.fromTranslation(a,e6);return F.multiply(XJ,r,n),F.multiply(c,n,n),n};var Lt=hi;function In(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(In.prototype,{width:{get:function(){return In.computeWidth(this)}},height:{get:function(){return In.computeHeight(this)}}});In.packedLength=4;In.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};In.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new In),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};In.computeWidth=function(e){let t=e.east,n=e.west;return t<n&&(t+=P.TWO_PI),t-n};In.computeHeight=function(e){return e.north-e.south};In.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(y(e,0)),t=P.toRadians(y(t,0)),n=P.toRadians(y(n,0)),i=P.toRadians(y(i,0)),l(o)?(o.west=e,o.south=t,o.east=n,o.north=i,o):new In(e,t,n,i)};In.fromRadians=function(e,t,n,i,o){return l(o)?(o.west=y(e,0),o.south=y(t,0),o.east=y(n,0),o.north=y(i,0),o):new In(e,t,n,i)};In.fromCartographicArray=function(e,t){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,s=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let c=0,u=e.length;c<u;c++){let f=e[c];n=Math.min(n,f.longitude),i=Math.max(i,f.longitude),s=Math.min(s,f.latitude),a=Math.max(a,f.latitude);let d=f.longitude>=0?f.longitude:f.longitude+P.TWO_PI;o=Math.min(o,d),r=Math.max(r,d)}return i-n>r-o&&(n=o,i=r,i>P.PI&&(i=i-P.TWO_PI),n>P.PI&&(n=n-P.TWO_PI)),l(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new In(n,s,i,a)};In.fromCartesianArray=function(e,t,n){t=y(t,ee.default);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let u=0,f=e.length;u<f;u++){let d=t.cartesianToCartographic(e[u]);i=Math.min(i,d.longitude),o=Math.max(o,d.longitude),a=Math.min(a,d.latitude),c=Math.max(c,d.latitude);let p=d.longitude>=0?d.longitude:d.longitude+P.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>P.PI&&(o=o-P.TWO_PI),i>P.PI&&(i=i-P.TWO_PI)),l(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new In(i,a,o,c)};var gwe=new h,ywe=new h,xwe=new h,bwe=new h,Twe=new h,t6=new Array(5);for(let e=0;e<t6.length;++e)t6[e]=new h;In.fromBoundingSphere=function(e,t,n){let i=e.center,o=e.radius;if(l(t)||(t=ee.default),l(n)||(n=new In),h.equals(i,h.ZERO))return In.clone(In.MAX_VALUE,n),n;let r=Lt.eastNorthUpToFixedFrame(i,t,gwe),s=F.multiplyByPointAsVector(r,h.UNIT_X,ywe);h.normalize(s,s);let a=F.multiplyByPointAsVector(r,h.UNIT_Y,xwe);h.normalize(a,a),h.multiplyByScalar(a,o,a),h.multiplyByScalar(s,o,s);let c=h.negate(a,Twe),u=h.negate(s,bwe),f=t6,d=f[0];return h.add(i,a,d),d=f[1],h.add(i,u,d),d=f[2],h.add(i,c,d),d=f[3],h.add(i,s,d),f[4]=i,In.fromCartesianArray(f,t,n)};In.clone=function(e,t){if(l(e))return l(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new In(e.west,e.south,e.east,e.north)};In.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};In.prototype.clone=function(e){return In.clone(this,e)};In.prototype.equals=function(e){return In.equals(this,e)};In.equals=function(e,t){return e===t||l(e)&&l(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};In.prototype.equalsEpsilon=function(e,t){return In.equalsEpsilon(this,e,t)};In._validate=function(e){};In.southwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new fe(e.west,e.south)};In.northwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new fe(e.west,e.north)};In.northeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new fe(e.east,e.north)};In.southeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new fe(e.east,e.south)};In.center=function(e,t){let n=e.east,i=e.west;n<i&&(n+=P.TWO_PI);let o=P.negativePiToPi((i+n)*.5),r=(e.south+e.north)*.5;return l(t)?(t.longitude=o,t.latitude=r,t.height=0,t):new fe(o,r)};In.intersection=function(e,t,n){let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.max(o,s)),c=P.negativePiToPi(Math.min(i,r));if((e.west<e.east||t.west<t.east)&&c<=a)return;let u=Math.max(e.south,t.south),f=Math.min(e.north,t.north);if(!(u>=f))return l(n)?(n.west=a,n.south=u,n.east=c,n.north=f,n):new In(a,u,c,f)};In.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return l(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new In(i,o,r,s)};In.union=function(e,t,n){l(n)||(n=new In);let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.min(o,s)),c=P.negativePiToPi(Math.max(i,r));return n.west=a,n.south=Math.min(e.south,t.south),n.east=c,n.north=Math.max(e.north,t.north),n};In.expand=function(e,t,n){return l(n)||(n=new In),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};In.contains=function(e,t){let n=t.longitude,i=t.latitude,o=e.west,r=e.east;return r<o&&(r+=P.TWO_PI,n<0&&(n+=P.TWO_PI)),(n>o||P.equalsEpsilon(n,o,P.EPSILON14))&&(n<r||P.equalsEpsilon(n,r,P.EPSILON14))&&i>=e.south&&i<=e.north};var Cwe=new fe;In.subsample=function(e,t,n,i){t=y(t,ee.default),n=y(n,0),l(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,u=Cwe;u.height=n,u.longitude=c,u.latitude=r,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.latitude=s,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,r<0?u.latitude=r:s>0?u.latitude=s:u.latitude=0;for(let f=1;f<8;++f)u.longitude=-Math.PI+f*P.PI_OVER_TWO,In.contains(e,u)&&(i[o]=t.cartographicToCartesian(u,i[o]),o++);return u.latitude===0&&(u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++),i.length=o,i};In.subsection=function(e,t,n,i,o,r){if(l(r)||(r=new In),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=P.TWO_PI+e.east-e.west;r.west=P.negativePiToPi(e.west+t*a),r.east=P.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};In.MAX_VALUE=Object.freeze(new In(-Math.PI,-P.PI_OVER_TWO,Math.PI,P.PI_OVER_TWO));var ae=In;function kr(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}kr.packedLength=4;kr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};kr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new kr),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};kr.fromPoints=function(e,t){if(l(t)||(t=new kr),!l(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;a<n;a++){let c=e[a],u=c.x,f=c.y;i=Math.min(u,i),r=Math.max(u,r),o=Math.min(f,o),s=Math.max(f,s)}return t.x=i,t.y=o,t.width=r-i,t.height=s-o,t};var $J=new Ri,Awe=new fe,Ewe=new fe;kr.fromRectangle=function(e,t,n){if(l(n)||(n=new kr),!l(e))return n.x=0,n.y=0,n.width=0,n.height=0,n;$J._ellipsoid=ee.default,t=y(t,$J);let i=t.project(ae.southwest(e,Awe)),o=t.project(ae.northeast(e,Ewe));return z.subtract(o,i,o),n.x=i.x,n.y=i.y,n.width=o.x,n.height=o.y,n};kr.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new kr(e.x,e.y,e.width,e.height)};kr.union=function(e,t,n){l(n)||(n=new kr);let i=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width),s=Math.max(e.y+e.height,t.y+t.height);return n.x=i,n.y=o,n.width=r-i,n.height=s-o,n};kr.expand=function(e,t,n){n=kr.clone(e,n);let i=t.x-n.x,o=t.y-n.y;return i>n.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};kr.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.width<o||i+e.height<r||i>r+t.height?qt.OUTSIDE:qt.INTERSECTING};kr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};kr.prototype.clone=function(e){return kr.clone(this,e)};kr.prototype.intersect=function(e){return kr.intersect(this,e)};kr.prototype.equals=function(e){return kr.equals(this,e)};var We=kr;var Ia={POINTS:te.POINTS,LINES:te.LINES,LINE_LOOP:te.LINE_LOOP,LINE_STRIP:te.LINE_STRIP,TRIANGLES:te.TRIANGLES,TRIANGLE_STRIP:te.TRIANGLE_STRIP,TRIANGLE_FAN:te.TRIANGLE_FAN};Ia.isLines=function(e){return e===Ia.LINES||e===Ia.LINE_LOOP||e===Ia.LINE_STRIP};Ia.isTriangles=function(e){return e===Ia.TRIANGLES||e===Ia.TRIANGLE_STRIP||e===Ia.TRIANGLE_FAN};Ia.validate=function(e){return e===Ia.POINTS||e===Ia.LINES||e===Ia.LINE_LOOP||e===Ia.LINE_STRIP||e===Ia.TRIANGLES||e===Ia.TRIANGLE_STRIP||e===Ia.TRIANGLE_FAN};var Ne=Object.freeze(Ia);var ux=`in vec4 position; in vec2 textureCoordinates; out vec2 v_textureCoordinates; @@ -88,14 +88,14 @@ void main() gl_Position = position; v_textureCoordinates = textureCoordinates; } -`;var xr={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function fw(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Ne.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._pickMetadataAllowed=e.pickMetadataAllowed===!0,this._pickedMetadataInfo=void 0,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function nc(e,t){return(e._flags&t)===t}function Og(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(fw.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return nc(this,xr.CULL)},set:function(e){nc(this,xr.CULL)!==e&&(Og(this,xr.CULL,e),this.dirty=!0)}},occlude:{get:function(){return nc(this,xr.OCCLUDE)},set:function(e){nc(this,xr.OCCLUDE)!==e&&(Og(this,xr.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return nc(this,xr.CAST_SHADOWS)},set:function(e){nc(this,xr.CAST_SHADOWS)!==e&&(Og(this,xr.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return nc(this,xr.RECEIVE_SHADOWS)},set:function(e){nc(this,xr.RECEIVE_SHADOWS)!==e&&(Og(this,xr.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return nc(this,xr.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){nc(this,xr.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(Og(this,xr.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return nc(this,xr.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){nc(this,xr.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(Og(this,xr.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickMetadataAllowed:{get:function(){return this._pickMetadataAllowed}},pickedMetadataInfo:{get:function(){return this._pickedMetadataInfo},set:function(e){this._pickedMetadataInfo!==e&&(this._pickedMetadataInfo=e,this.dirty=!0)}},pickOnly:{get:function(){return nc(this,xr.PICK_ONLY)},set:function(e){nc(this,xr.PICK_ONLY)!==e&&(Og(this,xr.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return nc(this,xr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){nc(this,xr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(Og(this,xr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});fw.shallowClone=function(e,t){if(l(e))return l(t)||(t=new fw),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._pickMetadataAllowed=e._pickMetadataAllowed,t._pickedMetadataInfo=e._pickedMetadataInfo,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};fw.prototype.execute=function(e,t){e.draw(this,t)};var Xe=fw;var hi={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,HALF_FLOAT:te.HALF_FLOAT_OES,UNSIGNED_INT_24_8:te.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:te.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:te.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:te.UNSIGNED_SHORT_5_6_5};hi.toWebGLConstant=function(e,t){switch(e){case hi.UNSIGNED_BYTE:return te.UNSIGNED_BYTE;case hi.UNSIGNED_SHORT:return te.UNSIGNED_SHORT;case hi.UNSIGNED_INT:return te.UNSIGNED_INT;case hi.FLOAT:return te.FLOAT;case hi.HALF_FLOAT:return t.webgl2?te.HALF_FLOAT:te.HALF_FLOAT_OES;case hi.UNSIGNED_INT_24_8:return te.UNSIGNED_INT_24_8;case hi.UNSIGNED_SHORT_4_4_4_4:return te.UNSIGNED_SHORT_4_4_4_4;case hi.UNSIGNED_SHORT_5_5_5_1:return te.UNSIGNED_SHORT_5_5_5_1;case hi.UNSIGNED_SHORT_5_6_5:return hi.UNSIGNED_SHORT_5_6_5}};hi.isPacked=function(e){return e===hi.UNSIGNED_INT_24_8||e===hi.UNSIGNED_SHORT_4_4_4_4||e===hi.UNSIGNED_SHORT_5_5_5_1||e===hi.UNSIGNED_SHORT_5_6_5};hi.sizeInBytes=function(e){switch(e){case hi.UNSIGNED_BYTE:return 1;case hi.UNSIGNED_SHORT:case hi.UNSIGNED_SHORT_4_4_4_4:case hi.UNSIGNED_SHORT_5_5_5_1:case hi.UNSIGNED_SHORT_5_6_5:case hi.HALF_FLOAT:return 2;case hi.UNSIGNED_INT:case hi.FLOAT:case hi.UNSIGNED_INT_24_8:return 4}};hi.validate=function(e){return e===hi.UNSIGNED_BYTE||e===hi.UNSIGNED_SHORT||e===hi.UNSIGNED_INT||e===hi.FLOAT||e===hi.HALF_FLOAT||e===hi.UNSIGNED_INT_24_8||e===hi.UNSIGNED_SHORT_4_4_4_4||e===hi.UNSIGNED_SHORT_5_5_5_1||e===hi.UNSIGNED_SHORT_5_6_5};hi.getTypedArrayConstructor=function(e){let t=hi.sizeInBytes(e);return t===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:t===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:t===Float32Array.BYTES_PER_ELEMENT&&e===hi.FLOAT?Float32Array:Uint32Array};var Je=Object.freeze(hi);var it={DEPTH_COMPONENT:te.DEPTH_COMPONENT,DEPTH_STENCIL:te.DEPTH_STENCIL,ALPHA:te.ALPHA,RED:te.RED,R:te.RED,RG:te.RG,RGB:te.RGB,RGBA:te.RGBA,LUMINANCE:te.LUMINANCE,LUMINANCE_ALPHA:te.LUMINANCE_ALPHA,RGB_DXT1:te.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:te.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:te.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:te.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:te.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:te.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:te.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:te.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:te.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:te.COMPRESSED_RGBA_BPTC_UNORM};it.componentsLength=function(e){switch(e){case it.RGB:return 3;case it.RGBA:return 4;case it.LUMINANCE_ALPHA:case it.RG:return 2;case it.ALPHA:case it.RED:case it.LUMINANCE:return 1;case it.R:return 4;default:return 1}};it.validate=function(e){return e===it.DEPTH_COMPONENT||e===it.DEPTH_STENCIL||e===it.ALPHA||e===it.RED||e===it.RG||e===it.RGB||e===it.RGBA||e===it.LUMINANCE||e===it.LUMINANCE_ALPHA||e===it.RGB_DXT1||e===it.RGBA_DXT1||e===it.RGBA_DXT3||e===it.RGBA_DXT5||e===it.RGB_PVRTC_4BPPV1||e===it.RGB_PVRTC_2BPPV1||e===it.RGBA_PVRTC_4BPPV1||e===it.RGBA_PVRTC_2BPPV1||e===it.RGBA_ASTC||e===it.RGB_ETC1||e===it.RGB8_ETC2||e===it.RGBA8_ETC2_EAC||e===it.RGBA_BC7||e===it.R};it.isColorFormat=function(e){return e===it.RED||e===it.ALPHA||e===it.RGB||e===it.RGBA||e===it.LUMINANCE||e===it.LUMINANCE_ALPHA||e===it.R};it.isDepthFormat=function(e){return e===it.DEPTH_COMPONENT||e===it.DEPTH_STENCIL};it.isCompressedFormat=function(e){return e===it.RGB_DXT1||e===it.RGBA_DXT1||e===it.RGBA_DXT3||e===it.RGBA_DXT5||e===it.RGB_PVRTC_4BPPV1||e===it.RGB_PVRTC_2BPPV1||e===it.RGBA_PVRTC_4BPPV1||e===it.RGBA_PVRTC_2BPPV1||e===it.RGBA_ASTC||e===it.RGB_ETC1||e===it.RGB8_ETC2||e===it.RGBA8_ETC2_EAC||e===it.RGBA_BC7};it.isDXTFormat=function(e){return e===it.RGB_DXT1||e===it.RGBA_DXT1||e===it.RGBA_DXT3||e===it.RGBA_DXT5};it.isPVRTCFormat=function(e){return e===it.RGB_PVRTC_4BPPV1||e===it.RGB_PVRTC_2BPPV1||e===it.RGBA_PVRTC_4BPPV1||e===it.RGBA_PVRTC_2BPPV1};it.isASTCFormat=function(e){return e===it.RGBA_ASTC};it.isETC1Format=function(e){return e===it.RGB_ETC1};it.isETC2Format=function(e){return e===it.RGB8_ETC2||e===it.RGBA8_ETC2_EAC};it.isBC7Format=function(e){return e===it.RGBA_BC7};it.compressedTextureSizeInBytes=function(e,t,n){switch(e){case it.RGB_DXT1:case it.RGBA_DXT1:case it.RGB_ETC1:case it.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case it.RGBA_DXT3:case it.RGBA_DXT5:case it.RGBA_ASTC:case it.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case it.RGB_PVRTC_4BPPV1:case it.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case it.RGB_PVRTC_2BPPV1:case it.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case it.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};it.textureSizeInBytes=function(e,t,n,i){let o=it.componentsLength(e);return Je.isPacked(t)&&(o=1),o*Je.sizeInBytes(t)*n*i};it.alignmentInBytes=function(e,t,n){let i=it.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};it.createTypedArray=function(e,t,n,i){let o=Je.getTypedArrayConstructor(t),r=it.componentsLength(e)*n*i;return new o(r)};it.flipY=function(e,t,n,i,o){if(o===1)return e;let r=it.createTypedArray(t,n,i,o),s=it.componentsLength(t),a=i*s;for(let c=0;c<o;++c){let u=c*i*s,f=(o-c-1)*i*s;for(let d=0;d<a;++d)r[f+d]=e[u+d]}return r};it.toInternalFormat=function(e,t,n){if(!n.webgl2)return e;if(e===it.DEPTH_STENCIL)return te.DEPTH24_STENCIL8;if(e===it.DEPTH_COMPONENT){if(t===Je.UNSIGNED_SHORT)return te.DEPTH_COMPONENT16;if(t===Je.UNSIGNED_INT)return te.DEPTH_COMPONENT24}if(t===Je.FLOAT)switch(e){case it.RGBA:return te.RGBA32F;case it.RGB:return te.RGB32F;case it.RG:return te.RG32F;case it.RED:case it.R:return te.R32F}if(t===Je.HALF_FLOAT)switch(e){case it.RGBA:return te.RGBA16F;case it.RGB:return te.RGB16F;case it.RG:return te.RG16F;case it.RED:case it.R:return te.R16F}return e};var ot=Object.freeze(it);var br={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_maximumSamples:0,_highpFloatSupported:!1,_highpIntSupported:!1};Object.defineProperties(br,{maximumCombinedTextureImageUnits:{get:function(){return br._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return br._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return br._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return br._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return br._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return br._maximumTextureSize}},maximumVaryingVectors:{get:function(){return br._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return br._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return br._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return br._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return br._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return br._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return br._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return br._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return br._maximumViewportWidth}},maximumViewportHeight:{get:function(){return br._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return br._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return br._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return br._maximumColorAttachments}},maximumSamples:{get:function(){return br._maximumSamples}},highpFloatSupported:{get:function(){return br._highpFloatSupported}},highpIntSupported:{get:function(){return br._highpIntSupported}}});var kt=br;function Z5(e,t,n){let i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,n._target,n._texture,0)}function RV(e,t,n){let i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,n._getRenderbuffer())}function Td(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=kt.maximumColorAttachments;if(this._gl=n,this._framebuffer=n.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=y(e.destroyAttachments,!0),this._bind(),l(e.colorTextures)){let o=e.colorTextures,r=this._colorTextures.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;Z5(this,c,a),this._activeColorAttachments[s]=c,this._colorTextures[s]=a}}if(l(e.colorRenderbuffers)){let o=e.colorRenderbuffers,r=this._colorRenderbuffers.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;RV(this,c,a),this._activeColorAttachments[s]=c,this._colorRenderbuffers[s]=a}}if(l(e.depthTexture)){let o=e.depthTexture;Z5(this,this._gl.DEPTH_ATTACHMENT,o),this._depthTexture=o}if(l(e.depthRenderbuffer)){let o=e.depthRenderbuffer;RV(this,this._gl.DEPTH_ATTACHMENT,o),this._depthRenderbuffer=o}if(l(e.stencilRenderbuffer)){let o=e.stencilRenderbuffer;RV(this,this._gl.STENCIL_ATTACHMENT,o),this._stencilRenderbuffer=o}if(l(e.depthStencilTexture)){let o=e.depthStencilTexture;Z5(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilTexture=o}if(l(e.depthStencilRenderbuffer)){let o=e.depthStencilRenderbuffer;RV(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilRenderbuffer=o}this._unBind()}Object.defineProperties(Td.prototype,{status:{get:function(){this._bind();let e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}});Td.prototype._bind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)};Td.prototype._unBind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)};Td.prototype.bindDraw=function(){let e=this._gl;e.bindFramebuffer(e.DRAW_FRAMEBUFFER,this._framebuffer)};Td.prototype.bindRead=function(){let e=this._gl;e.bindFramebuffer(e.READ_FRAMEBUFFER,this._framebuffer)};Td.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments};Td.prototype.getColorTexture=function(e){return this._colorTextures[e]};Td.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]};Td.prototype.isDestroyed=function(){return!1};Td.prototype.destroy=function(){if(this.destroyAttachments){let e=this._colorTextures;for(let n=0;n<e.length;++n){let i=e[n];l(i)&&i.destroy()}let t=this._colorRenderbuffers;for(let n=0;n<t.length;++n){let i=t[n];l(i)&&i.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),ue(this)};var ca=Td;var OV={CLOCKWISE:te.CW,COUNTER_CLOCKWISE:te.CCW};OV.validate=function(e){return e===OV.CLOCKWISE||e===OV.COUNTER_CLOCKWISE};var ds=Object.freeze(OV);function UJ(e){if(typeof e!="object"||e===null)return e;let t,n=Object.keys(e);for(let i=0;i<n.length;i++)t=n[i],e.hasOwnProperty(t)&&t!=="_applyFunctions"&&(e[t]=UJ(e[t]));return Object.freeze(e)}var $5=UJ;function Zh(e){let t=y(e,y.EMPTY_OBJECT),n=y(t.cull,y.EMPTY_OBJECT),i=y(t.polygonOffset,y.EMPTY_OBJECT),o=y(t.scissorTest,y.EMPTY_OBJECT),r=y(o.rectangle,y.EMPTY_OBJECT),s=y(t.depthRange,y.EMPTY_OBJECT),a=y(t.depthTest,y.EMPTY_OBJECT),c=y(t.colorMask,y.EMPTY_OBJECT),u=y(t.blending,y.EMPTY_OBJECT),f=y(u.color,y.EMPTY_OBJECT),d=y(t.stencilTest,y.EMPTY_OBJECT),p=y(d.frontOperation,y.EMPTY_OBJECT),g=y(d.backOperation,y.EMPTY_OBJECT),m=y(t.sampleCoverage,y.EMPTY_OBJECT),x=t.viewport;this.frontFace=y(t.frontFace,ds.COUNTER_CLOCKWISE),this.cull={enabled:y(n.enabled,!1),face:y(n.face,te.BACK)},this.lineWidth=y(t.lineWidth,1),this.polygonOffset={enabled:y(i.enabled,!1),factor:y(i.factor,0),units:y(i.units,0)},this.scissorTest={enabled:y(o.enabled,!1),rectangle:We.clone(r)},this.depthRange={near:y(s.near,0),far:y(s.far,1)},this.depthTest={enabled:y(a.enabled,!1),func:y(a.func,te.LESS)},this.colorMask={red:y(c.red,!0),green:y(c.green,!0),blue:y(c.blue,!0),alpha:y(c.alpha,!0)},this.depthMask=y(t.depthMask,!0),this.stencilMask=y(t.stencilMask,-1),this.blending={enabled:y(u.enabled,!1),color:new H(y(f.red,0),y(f.green,0),y(f.blue,0),y(f.alpha,0)),equationRgb:y(u.equationRgb,te.FUNC_ADD),equationAlpha:y(u.equationAlpha,te.FUNC_ADD),functionSourceRgb:y(u.functionSourceRgb,te.ONE),functionSourceAlpha:y(u.functionSourceAlpha,te.ONE),functionDestinationRgb:y(u.functionDestinationRgb,te.ZERO),functionDestinationAlpha:y(u.functionDestinationAlpha,te.ZERO)},this.stencilTest={enabled:y(d.enabled,!1),frontFunction:y(d.frontFunction,te.ALWAYS),backFunction:y(d.backFunction,te.ALWAYS),reference:y(d.reference,0),mask:y(d.mask,-1),frontOperation:{fail:y(p.fail,te.KEEP),zFail:y(p.zFail,te.KEEP),zPass:y(p.zPass,te.KEEP)},backOperation:{fail:y(g.fail,te.KEEP),zFail:y(g.zFail,te.KEEP),zPass:y(g.zPass,te.KEEP)}},this.sampleCoverage={enabled:y(m.enabled,!1),value:y(m.value,1),invert:y(m.invert,!1)},this.viewport=l(x)?new We(x.x,x.y,x.width,x.height):void 0,this.id=0,this._applyFunctions=[]}var rwe=0,Kh={};Zh.fromCache=function(e){let t=JSON.stringify(e),n=Kh[t];if(l(n))return++n.referenceCount,n.state;let i=new Zh(e),o=JSON.stringify(i);return n=Kh[o],l(n)||(i.id=rwe++,n={referenceCount:0,state:i},Kh[o]=n),++n.referenceCount,Kh[t]={referenceCount:1,state:n.state},n.state};Zh.removeFromCache=function(e){let t=new Zh(e),n=JSON.stringify(t),i=Kh[n],o=JSON.stringify(e),r=Kh[o];l(r)&&(--r.referenceCount,r.referenceCount===0&&(delete Kh[o],l(i)&&--i.referenceCount)),l(i)&&i.referenceCount===0&&delete Kh[n]};Zh.getCache=function(){return Kh};Zh.clearCache=function(){Kh={}};function sx(e,t,n){n?e.enable(t):e.disable(t)}function zJ(e,t){e.frontFace(t.frontFace)}function HJ(e,t){let n=t.cull,i=n.enabled;sx(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function GJ(e,t){e.lineWidth(t.lineWidth)}function WJ(e,t){let n=t.polygonOffset,i=n.enabled;sx(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function jJ(e,t,n){let i=t.scissorTest,o=l(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(sx(e,e.SCISSOR_TEST,o),o){let r=l(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(r.x,r.y,r.width,r.height)}}function qJ(e,t){let n=t.depthRange;e.depthRange(n.near,n.far)}function YJ(e,t){let n=t.depthTest,i=n.enabled;sx(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function XJ(e,t){let n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function KJ(e,t){e.depthMask(t.depthMask)}function ZJ(e,t){e.stencilMask(t.stencilMask)}function swe(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function $J(e,t,n){let i=t.blending,o=l(n.blendingEnabled)?n.blendingEnabled:i.enabled;sx(e,e.BLEND,o),o&&(swe(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function QJ(e,t){let n=t.stencilTest,i=n.enabled;if(sx(e,e.STENCIL_TEST,i),i){let o=n.frontFunction,r=n.backFunction,s=n.reference,a=n.mask;e.stencilFunc(o,s,a),e.stencilFuncSeparate(e.BACK,r,s,a),e.stencilFuncSeparate(e.FRONT,o,s,a);let c=n.frontOperation,u=c.fail,f=c.zFail,d=c.zPass;e.stencilOpSeparate(e.FRONT,u,f,d);let p=n.backOperation,g=p.fail,m=p.zFail,x=p.zPass;e.stencilOpSeparate(e.BACK,g,m,x)}}function JJ(e,t){let n=t.sampleCoverage,i=n.enabled;sx(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}var awe=new We;function eee(e,t,n){let i=y(t.viewport,n.viewport);l(i)||(i=awe,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}Zh.apply=function(e,t,n){zJ(e,t),HJ(e,t),GJ(e,t),WJ(e,t),qJ(e,t),YJ(e,t),XJ(e,t),KJ(e,t),ZJ(e,t),QJ(e,t),JJ(e,t),jJ(e,t,n),$J(e,t,n),eee(e,t,n)};function cwe(e,t){let n=[];return e.frontFace!==t.frontFace&&n.push(zJ),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(HJ),e.lineWidth!==t.lineWidth&&n.push(GJ),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(WJ),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push(qJ),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(YJ),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&n.push(XJ),e.depthMask!==t.depthMask&&n.push(KJ),e.stencilMask!==t.stencilMask&&n.push(ZJ),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&n.push(QJ),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(JJ),n}Zh.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];l(f)||(f=cwe(t,n),n._applyFunctions[t.id]=f);let d=f.length;for(let p=0;p<d;++p)f[p](e,n)}let s=l(i.scissorTest)?i.scissorTest:t.scissorTest,a=l(o.scissorTest)?o.scissorTest:n.scissorTest;(s!==a||r)&&jJ(e,n,o);let c=l(i.blendingEnabled)?i.blendingEnabled:t.blending.enabled,u=l(o.blendingEnabled)?o.blendingEnabled:n.blending.enabled;(c!==u||u&&t.blending!==n.blending)&&$J(e,n,o),(t!==n||i!==o||i.context!==o.context)&&eee(e,n,o)};Zh.getState=function(e){return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:We.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:H.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:l(e.viewport)?We.clone(e.viewport):void 0}};var Ve=Zh;function Yt(e,t,n,i){this[0]=y(e,0),this[1]=y(n,0),this[2]=y(t,0),this[3]=y(i,0)}Yt.packedLength=4;Yt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};Yt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Yt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};Yt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Yt.pack(e[o],t,o*4);return t};Yt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=Yt.unpack(e,i,t[o])}return t};Yt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Yt(e[0],e[2],e[1],e[3])};Yt.fromArray=Yt.unpack;Yt.fromColumnMajorArray=function(e,t){return Yt.clone(e,t)};Yt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Yt(e[0],e[1],e[2],e[3])};Yt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Yt(e.x,0,0,e.y)};Yt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Yt(e,0,0,e)};Yt.fromRotation=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=-i,t[3]=n,t):new Yt(n,-i,i,n)};Yt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]};Yt.getElementIndex=function(e,t){return e*2+t};Yt.getColumn=function(e,t,n){let i=t*2,o=e[i],r=e[i+1];return n.x=o,n.y=r,n};Yt.setColumn=function(e,t,n,i){i=Yt.clone(e,i);let o=t*2;return i[o]=n.x,i[o+1]=n.y,i};Yt.getRow=function(e,t,n){let i=e[t],o=e[t+2];return n.x=i,n.y=o,n};Yt.setRow=function(e,t,n,i){return i=Yt.clone(e,i),i[t]=n.x,i[t+2]=n.y,i};var lwe=new z;Yt.setScale=function(e,t,n){let i=Yt.getScale(e,lwe),o=t.x/i.x,r=t.y/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var uwe=new z;Yt.setUniformScale=function(e,t,n){let i=Yt.getScale(e,uwe),o=t/i.x,r=t/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var tee=new z;Yt.getScale=function(e,t){return t.x=z.magnitude(z.fromElements(e[0],e[1],tee)),t.y=z.magnitude(z.fromElements(e[2],e[3],tee)),t};var nee=new z;Yt.getMaximumScale=function(e){return Yt.getScale(e,nee),z.maximumComponent(nee)};var fwe=new z;Yt.setRotation=function(e,t,n){let i=Yt.getScale(e,fwe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.y,n[3]=t[3]*i.y,n};var dwe=new z;Yt.getRotation=function(e,t){let n=Yt.getScale(e,dwe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};Yt.multiply=function(e,t,n){let i=e[0]*t[0]+e[2]*t[1],o=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],s=e[1]*t[2]+e[3]*t[3];return n[0]=i,n[1]=r,n[2]=o,n[3]=s,n};Yt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};Yt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};Yt.multiplyByVector=function(e,t,n){let i=e[0]*t.x+e[2]*t.y,o=e[1]*t.x+e[3]*t.y;return n.x=i,n.y=o,n};Yt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Yt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};Yt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Yt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};Yt.transpose=function(e,t){let n=e[0],i=e[2],o=e[1],r=e[3];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t};Yt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t};Yt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};Yt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};Yt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n};Yt.IDENTITY=Object.freeze(new Yt(1,0,0,1));Yt.ZERO=Object.freeze(new Yt(0,0,0,0));Yt.COLUMN0ROW0=0;Yt.COLUMN0ROW1=1;Yt.COLUMN1ROW0=2;Yt.COLUMN1ROW1=3;Object.defineProperties(Yt.prototype,{length:{get:function(){return Yt.packedLength}}});Yt.prototype.clone=function(e){return Yt.clone(this,e)};Yt.prototype.equals=function(e){return Yt.equals(this,e)};Yt.prototype.equalsEpsilon=function(e,t){return Yt.equalsEpsilon(this,e,t)};Yt.prototype.toString=function(){return`(${this[0]}, ${this[2]}) -(${this[1]}, ${this[3]})`};var Ui=Yt;function hwe(e,t,n,i){switch(t.type){case e.FLOAT:return new iee(e,t,n,i);case e.FLOAT_VEC2:return new oee(e,t,n,i);case e.FLOAT_VEC3:return new ree(e,t,n,i);case e.FLOAT_VEC4:return new see(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:case e.SAMPLER_3D:case e.SAMPLER_2D_ARRAY:return new Q5(e,t,n,i);case e.INT:case e.BOOL:return new aee(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new cee(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new lee(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new uee(e,t,n,i);case e.FLOAT_MAT2:return new fee(e,t,n,i);case e.FLOAT_MAT3:return new dee(e,t,n,i);case e.FLOAT_MAT4:return new hee(e,t,n,i);default:throw new ce(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function iee(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}iee.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))};function oee(e,t,n,i){this.name=n,this.value=void 0,this._value=new z,this._gl=e,this._location=i}oee.prototype.set=function(){let e=this.value;z.equals(e,this._value)||(z.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))};function ree(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}ree.prototype.set=function(){let e=this.value;e&&(l(e.red)?H.equals(e,this._value)||(this._value=H.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue)):l(e.x)&&(h.equals(e,this._value)||(this._value=h.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z))))};function see(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}see.prototype.set=function(){let e=this.value;l(e.red)?H.equals(e,this._value)||(this._value=H.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha)):l(e.x)&&(oe.equals(e,this._value)||(this._value=oe.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w)))};function Q5(e,t,n,i){this.name=n,this.value=void 0,this._gl=e,this._location=i,this.textureUnitIndex=void 0}Q5.prototype.set=function(){let e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);let t=this.value;t&&e.bindTexture(t._target,t._texture)};Q5.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1};function aee(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}aee.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))};function cee(e,t,n,i){this.name=n,this.value=void 0,this._value=new z,this._gl=e,this._location=i}cee.prototype.set=function(){let e=this.value;z.equals(e,this._value)||(z.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))};function lee(e,t,n,i){this.name=n,this.value=void 0,this._value=new h,this._gl=e,this._location=i}lee.prototype.set=function(){let e=this.value;h.equals(e,this._value)||(h.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))};function uee(e,t,n,i){this.name=n,this.value=void 0,this._value=new oe,this._gl=e,this._location=i}uee.prototype.set=function(){let e=this.value;oe.equals(e,this._value)||(oe.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};var mwe=new Float32Array(4);function fee(e,t,n,i){this.name=n,this.value=void 0,this._value=new Ui,this._gl=e,this._location=i}fee.prototype.set=function(){if(!Ui.equalsArray(this.value,this._value,0)){Ui.clone(this.value,this._value);let e=Ui.toArray(this.value,mwe);this._gl.uniformMatrix2fv(this._location,!1,e)}};var pwe=new Float32Array(9);function dee(e,t,n,i){this.name=n,this.value=void 0,this._value=new $,this._gl=e,this._location=i}dee.prototype.set=function(){if(!$.equalsArray(this.value,this._value,0)){$.clone(this.value,this._value);let e=$.toArray(this.value,pwe);this._gl.uniformMatrix3fv(this._location,!1,e)}};var _we=new Float32Array(16);function hee(e,t,n,i){this.name=n,this.value=void 0,this._value=new F,this._gl=e,this._location=i}hee.prototype.set=function(){if(!F.equalsArray(this.value,this._value,0)){F.clone(this.value,this._value);let e=F.toArray(this.value,_we);this._gl.uniformMatrix4fv(this._location,!1,e)}};var dw=hwe;function gwe(e,t,n,i){switch(t.type){case e.FLOAT:return new mee(e,t,n,i);case e.FLOAT_VEC2:return new pee(e,t,n,i);case e.FLOAT_VEC3:return new _ee(e,t,n,i);case e.FLOAT_VEC4:return new gee(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new J5(e,t,n,i);case e.INT:case e.BOOL:return new yee(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new xee(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new bee(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new Tee(e,t,n,i);case e.FLOAT_MAT2:return new Cee(e,t,n,i);case e.FLOAT_MAT3:return new Aee(e,t,n,i);case e.FLOAT_MAT4:return new Eee(e,t,n,i);default:throw new ce(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function mee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._location=i[0]}mee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1fv(this._location,n)};function pee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*2),this._gl=e,this._location=i[0]}pee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];z.equalsArray(s,n,o)||(z.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2fv(this._location,n)};function _ee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*3),this._gl=e,this._location=i[0]}_ee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?(s.red!==n[o]||s.green!==n[o+1]||s.blue!==n[o+2])&&(n[o]=s.red,n[o+1]=s.green,n[o+2]=s.blue,i=!0):l(s.x)&&(h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0)),o+=3}i&&this._gl.uniform3fv(this._location,n)};function gee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}gee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?H.equalsArray(s,n,o)||(H.pack(s,n,o),i=!0):l(s.x)&&(oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0)),o+=4}i&&this._gl.uniform4fv(this._location,n)};function J5(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._locations=i,this.textureUnitIndex=void 0}J5.prototype.set=function(){let e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,n=this.value,i=n.length;for(let o=0;o<i;++o){let r=n[o];r&&(e.activeTexture(t+o),e.bindTexture(r._target,r._texture))}};J5.prototype._setSampler=function(e){this.textureUnitIndex=e;let t=this._locations,n=t.length;for(let i=0;i<n;++i){let o=e+i;this._gl.uniform1i(t[i],o)}return e+n};function yee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o),this._gl=e,this._location=i[0]}yee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1iv(this._location,n)};function xee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*2),this._gl=e,this._location=i[0]}xee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];z.equalsArray(s,n,o)||(z.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2iv(this._location,n)};function bee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*3),this._gl=e,this._location=i[0]}bee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0),o+=3}i&&this._gl.uniform3iv(this._location,n)};function Tee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*4),this._gl=e,this._location=i[0]}Tee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniform4iv(this._location,n)};function Cee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}Cee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Ui.equalsArray(s,n,o)||(Ui.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniformMatrix2fv(this._location,!1,n)};function Aee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*9),this._gl=e,this._location=i[0]}Aee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];$.equalsArray(s,n,o)||($.pack(s,n,o),i=!0),o+=9}i&&this._gl.uniformMatrix3fv(this._location,!1,n)};function Eee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*16),this._gl=e,this._location=i[0]}Eee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];F.equalsArray(s,n,o)||(F.pack(s,n,o),i=!0),o+=16}i&&this._gl.uniformMatrix4fv(this._location,!1,n)};var hw=gwe;var ywe=0;function bp(e){let t=e.vertexShaderText,n=e.fragmentShaderText;typeof spector<"u"&&(t=t.replace(/^#line/gm,"//#line"),n=n.replace(/^#line/gm,"//#line"));let i=xwe(t,n);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=ywe++}bp.fromCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.getShaderProgram(e)};bp.replaceCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.replaceShaderProgram(e)};Object.defineProperties(bp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return MV(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return MV(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return MV(this),this._uniformsByName}}});function See(e){let t=[],n=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o].trim(),s=r.slice(r.lastIndexOf(" ")+1);t.push(s)}}return t}function xwe(e,t){let n={};if(!kt.highpFloatSupported||!kt.highpIntSupported){let i,o,r,s,a=See(e),c=See(t),u=a.length,f=c.length;for(i=0;i<u;i++)for(o=0;o<f;o++)if(a[i]===c[o]){r=a[i],s=`czm_mediump_${r}`;let d=new RegExp(`${r}\\b`,"g");t=t.replace(d,s),n[s]=r}}return{fragmentShaderText:t,duplicateUniformNames:n}}var $h="[Cesium WebGL] ";function bwe(e,t){let n=t._vertexShaderText,i=t._fragmentShaderText,o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,n),e.compileShader(o);let r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,i),e.compileShader(r);let s=e.createProgram();e.attachShader(s,o),e.attachShader(s,r);let a=t._attributeLocations;if(l(a))for(let p in a)a.hasOwnProperty(p)&&e.bindAttribLocation(s,a[p],p);e.linkProgram(s);let c;if(e.getProgramParameter(s,e.LINK_STATUS))return t._logShaderCompilation&&(c=e.getShaderInfoLog(o),l(c)&&c.length>0&&console.log(`${$h}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${$h}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${$h}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let u,f=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${$h}Shader program link log: ${c}`),d(o,"vertex"),d(r,"fragment"),u=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${$h}Vertex shader compile log: ${c}`),console.error(`${$h} Vertex shader source: -${n}`),u=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${$h}Fragment shader compile log: ${c}`),console.error(`${$h} Fragment shader source: -${i}`),u=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new ce(u);function d(p,g){if(!l(f))return;let m=f.getTranslatedShaderSource(p);if(m===""){console.error(`${$h}${g} shader translation failed.`);return}console.error(`${$h}Translated ${g} shaderSource: -${m}`)}}function Twe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttrib(t,o),s=e.getAttribLocation(t,r.name);i[r.name]={name:r.name,type:r.type,index:s}}return i}function Cwe(e,t){let n={},i=[],o=[],r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<r;++s){let a=e.getActiveUniform(t,s),c="[0]",u=a.name.indexOf(c,a.name.length-c.length)!==-1?a.name.slice(0,a.name.length-3):a.name;if(u.indexOf("gl_")!==0)if(a.name.indexOf("[")<0){let f=e.getUniformLocation(t,u);if(f!==null){let d=dw(e,a,u,f);n[u]=d,i.push(d),d._setSampler&&o.push(d)}}else{let f,d,p,g,m=u.indexOf("[");if(m>=0){if(f=n[u.slice(0,m)],!l(f))continue;d=f._locations,d.length<=1&&(p=f.value,g=e.getUniformLocation(t,u),g!==null&&(d.push(g),p.push(e.getUniform(t,g))))}else{d=[];for(let x=0;x<a.size;++x)g=e.getUniformLocation(t,`${u}[${x}]`),g!==null&&d.push(g);f=hw(e,a,u,d),n[u]=f,i.push(f),f._setSampler&&o.push(f)}}}return{uniformsByName:n,uniforms:i,samplerUniforms:o}}function Awe(e,t){let n=[],i=[];for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=o,a=e._duplicateUniformNames[s];l(a)&&(r.name=a,s=a);let c=hp[s];l(c)?n.push({uniform:r,automaticUniform:c}):i.push(r)}return{automaticUniforms:n,manualUniforms:i}}function Ewe(e,t,n){e.useProgram(t);let i=0,o=n.length;for(let r=0;r<o;++r)i=n[r]._setSampler(i);return e.useProgram(null),i}function MV(e){l(e._program)||vee(e)}function vee(e){let t=e._program,n=e._gl,i=bwe(n,e,e._debugShaders),o=n.getProgramParameter(i,n.ACTIVE_ATTRIBUTES),r=Cwe(n,i),s=Awe(e,r.uniformsByName);e._program=i,e._numberOfVertexAttributes=o,e._vertexAttributes=Twe(n,i,o),e._uniformsByName=r.uniformsByName,e._uniforms=r.uniforms,e._automaticUniforms=s.automaticUniforms,e._manualUniforms=s.manualUniforms,e.maximumTextureUnitIndex=Ewe(n,i,r.samplerUniforms),t&&e._gl.deleteProgram(t),typeof spector<"u"&&(e._program.__SPECTOR_rebuildProgram=function(a,c,u,f){let d=e._vertexShaderText,p=e._fragmentShaderText,g=/ ! = /g;e._vertexShaderText=a.replace(g," != "),e._fragmentShaderText=c.replace(g," != ");try{vee(e),u(e._program)}catch(m){e._vertexShaderText=d,e._fragmentShaderText=p;let b=/(?:Compile|Link) error: ([^]*)/.exec(m.message);f(b?b[1]:m.message)}})}bp.prototype._bind=function(){MV(this),this._gl.useProgram(this._program)};bp.prototype._setUniforms=function(e,t,n){let i,o;if(l(e)){let a=this._manualUniforms;for(i=a.length,o=0;o<i;++o){let c=a[o];c.value=e[c.name]()}}let r=this._automaticUniforms;for(i=r.length,o=0;o<i;++o){let a=r[o];a.uniform.value=a.automaticUniform.getValue(t)}let s=this._uniforms;for(i=s.length,o=0;o<i;++o)s[o].set();if(n){let a=this._gl,c=this._program;a.validateProgram(c)}};bp.prototype.isDestroyed=function(){return!1};bp.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)};bp.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),ue(this)};var an=bp;function LV(e){this._context=e}var mw,Swe=new Xe({primitiveType:Ne.TRIANGLES}),vwe=new oi({color:new H(0,0,0,0)});function wwe(e,t){return new ca({context:e,colorTextures:[t],destroyAttachments:!1})}function Dwe(e,t){return an.fromCache({context:e,vertexShaderSource:rx,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function Iwe(e,t){return(!l(mw)||mw.viewport.width!==e||mw.viewport.height!==t)&&(mw=Ve.fromCache({viewport:new We(0,0,e,t)})),mw}LV.prototype.execute=function(e){l(e.preExecute)&&e.preExecute(e);let t=e.outputTexture,n=t.width,i=t.height,o=this._context,r=l(e.vertexArray)?e.vertexArray:o.getViewportQuadVertexArray(),s=l(e.shaderProgram)?e.shaderProgram:Dwe(o,e.fragmentShaderSource),a=wwe(o,t),c=Iwe(n,i),u=e.uniformMap,f=vwe;f.framebuffer=a,f.renderState=c,f.execute(o);let d=Swe;d.vertexArray=r,d.renderState=c,d.shaderProgram=s,d.uniformMap=u,d.framebuffer=a,d.execute(o),a.destroy(),e.persists||(s.destroy(),l(e.vertexArray)&&r.destroy()),l(e.postExecute)&&e.postExecute(t)};LV.prototype.isDestroyed=function(){return!1};LV.prototype.destroy=function(){return ue(this)};var pw=LV;var Dn={BYTE:te.BYTE,UNSIGNED_BYTE:te.UNSIGNED_BYTE,SHORT:te.SHORT,UNSIGNED_SHORT:te.UNSIGNED_SHORT,INT:te.INT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,DOUBLE:te.DOUBLE};Dn.getSizeInBytes=function(e){switch(e){case Dn.BYTE:return Int8Array.BYTES_PER_ELEMENT;case Dn.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Dn.SHORT:return Int16Array.BYTES_PER_ELEMENT;case Dn.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Dn.INT:return Int32Array.BYTES_PER_ELEMENT;case Dn.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case Dn.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case Dn.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};Dn.fromTypedArray=function(e){if(e instanceof Int8Array)return Dn.BYTE;if(e instanceof Uint8Array)return Dn.UNSIGNED_BYTE;if(e instanceof Int16Array)return Dn.SHORT;if(e instanceof Uint16Array)return Dn.UNSIGNED_SHORT;if(e instanceof Int32Array)return Dn.INT;if(e instanceof Uint32Array)return Dn.UNSIGNED_INT;if(e instanceof Float32Array)return Dn.FLOAT;if(e instanceof Float64Array)return Dn.DOUBLE};Dn.validate=function(e){return l(e)&&(e===Dn.BYTE||e===Dn.UNSIGNED_BYTE||e===Dn.SHORT||e===Dn.UNSIGNED_SHORT||e===Dn.INT||e===Dn.UNSIGNED_INT||e===Dn.FLOAT||e===Dn.DOUBLE)};Dn.createTypedArray=function(e,t){switch(e){case Dn.BYTE:return new Int8Array(t);case Dn.UNSIGNED_BYTE:return new Uint8Array(t);case Dn.SHORT:return new Int16Array(t);case Dn.UNSIGNED_SHORT:return new Uint16Array(t);case Dn.INT:return new Int32Array(t);case Dn.UNSIGNED_INT:return new Uint32Array(t);case Dn.FLOAT:return new Float32Array(t);case Dn.DOUBLE:return new Float64Array(t)}};Dn.createArrayBufferView=function(e,t,n,i){switch(n=y(n,0),i=y(i,(t.byteLength-n)/Dn.getSizeInBytes(e)),e){case Dn.BYTE:return new Int8Array(t,n,i);case Dn.UNSIGNED_BYTE:return new Uint8Array(t,n,i);case Dn.SHORT:return new Int16Array(t,n,i);case Dn.UNSIGNED_SHORT:return new Uint16Array(t,n,i);case Dn.INT:return new Int32Array(t,n,i);case Dn.UNSIGNED_INT:return new Uint32Array(t,n,i);case Dn.FLOAT:return new Float32Array(t,n,i);case Dn.DOUBLE:return new Float64Array(t,n,i)}};Dn.fromName=function(e){switch(e){case"BYTE":return Dn.BYTE;case"UNSIGNED_BYTE":return Dn.UNSIGNED_BYTE;case"SHORT":return Dn.SHORT;case"UNSIGNED_SHORT":return Dn.UNSIGNED_SHORT;case"INT":return Dn.INT;case"UNSIGNED_INT":return Dn.UNSIGNED_INT;case"FLOAT":return Dn.FLOAT;case"DOUBLE":return Dn.DOUBLE}};var X=Object.freeze(Dn);var Pwe={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},uf=Object.freeze(Pwe);function e6(e){e=y(e,y.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=y(e.primitiveType,Ne.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=y(e.geometryType,uf.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}e6.computeNumberOfVertices=function(e){let t=-1;for(let n in e.attributes)if(e.attributes.hasOwnProperty(n)&&l(e.attributes[n])&&l(e.attributes[n].values)){let i=e.attributes[n];t=i.values.length/i.componentsPerAttribute}return t};var Rwe=new fe,Owe=new h,wee=new F,Mwe=[new fe,new fe,new fe],Lwe=[new z,new z,new z],Nwe=[new z,new z,new z],Fwe=new h,Bwe=new Le,kwe=new F,Vwe=new Ui;e6._textureCoordinateRotationPoints=function(e,t,n,i){let o,r=se.center(i,Rwe),s=fe.toCartesian(r,n,Owe),a=Lt.eastNorthUpToFixedFrame(s,n,wee),c=F.inverse(a,wee),u=Lwe,f=Mwe;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let d=Fwe;for(o=0;o<3;o++)fe.toCartesian(f[o],n,d),d=F.multiplyByPointAsVector(c,d,d),u[o].x=d.x,u[o].y=d.y;let p=Le.fromAxisAngle(h.UNIT_Z,-t,Bwe),g=$.fromQuaternion(p,kwe),m=e.length,x=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,A=Number.NEGATIVE_INFINITY;for(o=0;o<m;o++)d=F.multiplyByPointAsVector(c,e[o],d),d=$.multiplyByVector(g,d,d),x=Math.min(x,d.x),b=Math.min(b,d.y),T=Math.max(T,d.x),A=Math.max(A,d.y);let C=Ui.fromRotation(t,Vwe),E=Nwe;E[0].x=x,E[0].y=b,E[1].x=x,E[1].y=A,E[2].x=T,E[2].y=b;let v=u[0],D=u[2].x-v.x,O=u[1].y-v.y;for(o=0;o<3;o++){let S=E[o];Ui.multiplyByVector(C,S,S),S.x=(S.x-v.x)/D,S.y=(S.y-v.y)/O}let R=E[0],M=E[1],N=E[2],_=new Array(6);return z.pack(R,_),z.pack(M,_,2),z.pack(N,_,4),_};var ut=e6;function Uwe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.values=e.values}var Ee=Uwe;function YC(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(YC.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}},arrayBufferView:{get:function(){return this._buffer}}});YC.clone=function(e){if(l(e))return new YC(e._format,e._datatype,e._width,e._height,e._buffer)};YC.prototype.clone=function(){return YC.clone(this)};var _w=YC;var Dee=Bo(ru(),1);function Iee(){if(!l(la._canTransferArrayBuffer)){let e=i6("transferTypedArrayTest");e.postMessage=y(e.webkitPostMessage,e.postMessage);let t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return la._canTransferArrayBuffer=!1,la._canTransferArrayBuffer}la._canTransferArrayBuffer=new Promise(i=>{e.onmessage=function(o){let r=o.data.array,s=l(r)&&r[0]===t;i(s),e.terminate(),la._canTransferArrayBuffer=s}})}return la._canTransferArrayBuffer}var n6=new me;function t6(e){let t;try{t=new Blob([e],{type:"application/javascript"})}catch{let o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new o;r.append(e),t=r.getBlob("application/javascript")}return(window.URL||window.webkitURL).createObjectURL(t)}function i6(e){let t=new Dee.default(e),n=t.scheme().length!==0&&t.fragment().length===0,i=e.replace(/\.js$/,""),o={},r,s;if(Dg(e))s=e;else if(!n){let a=rn(`${la._workerModulePrefix}/${i}.js`);Dg(a)&&(s=a)}if(s){let a=`import "${s}";`;return r=t6(a),o.type="module",new Worker(r,o)}if(!n&&typeof CESIUM_WORKERS<"u"){let a=` - importScripts("${t6(CESIUM_WORKERS)}"); +`;var Er={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function mw(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Ne.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._pickMetadataAllowed=e.pickMetadataAllowed===!0,this._pickedMetadataInfo=void 0,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function ic(e,t){return(e._flags&t)===t}function kg(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(mw.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return ic(this,Er.CULL)},set:function(e){ic(this,Er.CULL)!==e&&(kg(this,Er.CULL,e),this.dirty=!0)}},occlude:{get:function(){return ic(this,Er.OCCLUDE)},set:function(e){ic(this,Er.OCCLUDE)!==e&&(kg(this,Er.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return ic(this,Er.CAST_SHADOWS)},set:function(e){ic(this,Er.CAST_SHADOWS)!==e&&(kg(this,Er.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return ic(this,Er.RECEIVE_SHADOWS)},set:function(e){ic(this,Er.RECEIVE_SHADOWS)!==e&&(kg(this,Er.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return ic(this,Er.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){ic(this,Er.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(kg(this,Er.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return ic(this,Er.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){ic(this,Er.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(kg(this,Er.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickMetadataAllowed:{get:function(){return this._pickMetadataAllowed}},pickedMetadataInfo:{get:function(){return this._pickedMetadataInfo},set:function(e){this._pickedMetadataInfo!==e&&(this._pickedMetadataInfo=e,this.dirty=!0)}},pickOnly:{get:function(){return ic(this,Er.PICK_ONLY)},set:function(e){ic(this,Er.PICK_ONLY)!==e&&(kg(this,Er.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return ic(this,Er.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){ic(this,Er.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(kg(this,Er.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});mw.shallowClone=function(e,t){if(l(e))return l(t)||(t=new mw),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._pickMetadataAllowed=e._pickMetadataAllowed,t._pickedMetadataInfo=e._pickedMetadataInfo,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};mw.prototype.execute=function(e,t){e.draw(this,t)};var Ze=mw;var mi={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,HALF_FLOAT:te.HALF_FLOAT_OES,UNSIGNED_INT_24_8:te.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:te.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:te.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:te.UNSIGNED_SHORT_5_6_5};mi.toWebGLConstant=function(e,t){switch(e){case mi.UNSIGNED_BYTE:return te.UNSIGNED_BYTE;case mi.UNSIGNED_SHORT:return te.UNSIGNED_SHORT;case mi.UNSIGNED_INT:return te.UNSIGNED_INT;case mi.FLOAT:return te.FLOAT;case mi.HALF_FLOAT:return t.webgl2?te.HALF_FLOAT:te.HALF_FLOAT_OES;case mi.UNSIGNED_INT_24_8:return te.UNSIGNED_INT_24_8;case mi.UNSIGNED_SHORT_4_4_4_4:return te.UNSIGNED_SHORT_4_4_4_4;case mi.UNSIGNED_SHORT_5_5_5_1:return te.UNSIGNED_SHORT_5_5_5_1;case mi.UNSIGNED_SHORT_5_6_5:return mi.UNSIGNED_SHORT_5_6_5}};mi.isPacked=function(e){return e===mi.UNSIGNED_INT_24_8||e===mi.UNSIGNED_SHORT_4_4_4_4||e===mi.UNSIGNED_SHORT_5_5_5_1||e===mi.UNSIGNED_SHORT_5_6_5};mi.sizeInBytes=function(e){switch(e){case mi.UNSIGNED_BYTE:return 1;case mi.UNSIGNED_SHORT:case mi.UNSIGNED_SHORT_4_4_4_4:case mi.UNSIGNED_SHORT_5_5_5_1:case mi.UNSIGNED_SHORT_5_6_5:case mi.HALF_FLOAT:return 2;case mi.UNSIGNED_INT:case mi.FLOAT:case mi.UNSIGNED_INT_24_8:return 4}};mi.validate=function(e){return e===mi.UNSIGNED_BYTE||e===mi.UNSIGNED_SHORT||e===mi.UNSIGNED_INT||e===mi.FLOAT||e===mi.HALF_FLOAT||e===mi.UNSIGNED_INT_24_8||e===mi.UNSIGNED_SHORT_4_4_4_4||e===mi.UNSIGNED_SHORT_5_5_5_1||e===mi.UNSIGNED_SHORT_5_6_5};mi.getTypedArrayConstructor=function(e){let t=mi.sizeInBytes(e);return t===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:t===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:t===Float32Array.BYTES_PER_ELEMENT&&e===mi.FLOAT?Float32Array:Uint32Array};var Ye=Object.freeze(mi);var ot={DEPTH_COMPONENT:te.DEPTH_COMPONENT,DEPTH_STENCIL:te.DEPTH_STENCIL,ALPHA:te.ALPHA,RED:te.RED,R:te.RED,RG:te.RG,RGB:te.RGB,RGBA:te.RGBA,LUMINANCE:te.LUMINANCE,LUMINANCE_ALPHA:te.LUMINANCE_ALPHA,RGB_DXT1:te.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:te.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:te.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:te.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:te.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:te.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:te.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:te.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:te.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:te.COMPRESSED_RGBA_BPTC_UNORM};ot.componentsLength=function(e){switch(e){case ot.RGB:return 3;case ot.RGBA:return 4;case ot.LUMINANCE_ALPHA:case ot.RG:return 2;case ot.ALPHA:case ot.RED:case ot.LUMINANCE:return 1;case ot.R:return 4;default:return 1}};ot.validate=function(e){return e===ot.DEPTH_COMPONENT||e===ot.DEPTH_STENCIL||e===ot.ALPHA||e===ot.RED||e===ot.RG||e===ot.RGB||e===ot.RGBA||e===ot.LUMINANCE||e===ot.LUMINANCE_ALPHA||e===ot.RGB_DXT1||e===ot.RGBA_DXT1||e===ot.RGBA_DXT3||e===ot.RGBA_DXT5||e===ot.RGB_PVRTC_4BPPV1||e===ot.RGB_PVRTC_2BPPV1||e===ot.RGBA_PVRTC_4BPPV1||e===ot.RGBA_PVRTC_2BPPV1||e===ot.RGBA_ASTC||e===ot.RGB_ETC1||e===ot.RGB8_ETC2||e===ot.RGBA8_ETC2_EAC||e===ot.RGBA_BC7||e===ot.R};ot.isColorFormat=function(e){return e===ot.RED||e===ot.ALPHA||e===ot.RGB||e===ot.RGBA||e===ot.LUMINANCE||e===ot.LUMINANCE_ALPHA||e===ot.R};ot.isDepthFormat=function(e){return e===ot.DEPTH_COMPONENT||e===ot.DEPTH_STENCIL};ot.isCompressedFormat=function(e){return e===ot.RGB_DXT1||e===ot.RGBA_DXT1||e===ot.RGBA_DXT3||e===ot.RGBA_DXT5||e===ot.RGB_PVRTC_4BPPV1||e===ot.RGB_PVRTC_2BPPV1||e===ot.RGBA_PVRTC_4BPPV1||e===ot.RGBA_PVRTC_2BPPV1||e===ot.RGBA_ASTC||e===ot.RGB_ETC1||e===ot.RGB8_ETC2||e===ot.RGBA8_ETC2_EAC||e===ot.RGBA_BC7};ot.isDXTFormat=function(e){return e===ot.RGB_DXT1||e===ot.RGBA_DXT1||e===ot.RGBA_DXT3||e===ot.RGBA_DXT5};ot.isPVRTCFormat=function(e){return e===ot.RGB_PVRTC_4BPPV1||e===ot.RGB_PVRTC_2BPPV1||e===ot.RGBA_PVRTC_4BPPV1||e===ot.RGBA_PVRTC_2BPPV1};ot.isASTCFormat=function(e){return e===ot.RGBA_ASTC};ot.isETC1Format=function(e){return e===ot.RGB_ETC1};ot.isETC2Format=function(e){return e===ot.RGB8_ETC2||e===ot.RGBA8_ETC2_EAC};ot.isBC7Format=function(e){return e===ot.RGBA_BC7};ot.compressedTextureSizeInBytes=function(e,t,n){switch(e){case ot.RGB_DXT1:case ot.RGBA_DXT1:case ot.RGB_ETC1:case ot.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case ot.RGBA_DXT3:case ot.RGBA_DXT5:case ot.RGBA_ASTC:case ot.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case ot.RGB_PVRTC_4BPPV1:case ot.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case ot.RGB_PVRTC_2BPPV1:case ot.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case ot.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};ot.textureSizeInBytes=function(e,t,n,i){let o=ot.componentsLength(e);return Ye.isPacked(t)&&(o=1),o*Ye.sizeInBytes(t)*n*i};ot.alignmentInBytes=function(e,t,n){let i=ot.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};ot.createTypedArray=function(e,t,n,i){let o=Ye.getTypedArrayConstructor(t),r=ot.componentsLength(e)*n*i;return new o(r)};ot.flipY=function(e,t,n,i,o){if(o===1)return e;let r=ot.createTypedArray(t,n,i,o),s=ot.componentsLength(t),a=i*s;for(let c=0;c<o;++c){let u=c*i*s,f=(o-c-1)*i*s;for(let d=0;d<a;++d)r[f+d]=e[u+d]}return r};ot.toInternalFormat=function(e,t,n){if(!n.webgl2)return e;if(e===ot.DEPTH_STENCIL)return te.DEPTH24_STENCIL8;if(e===ot.DEPTH_COMPONENT){if(t===Ye.UNSIGNED_SHORT)return te.DEPTH_COMPONENT16;if(t===Ye.UNSIGNED_INT)return te.DEPTH_COMPONENT24}if(t===Ye.FLOAT)switch(e){case ot.RGBA:return te.RGBA32F;case ot.RGB:return te.RGB32F;case ot.RG:return te.RG32F;case ot.RED:case ot.R:return te.R32F}if(t===Ye.HALF_FLOAT)switch(e){case ot.RGBA:return te.RGBA16F;case ot.RGB:return te.RGB16F;case ot.RG:return te.RG16F;case ot.RED:case ot.R:return te.R16F}return e};var nt=Object.freeze(ot);var Sr={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_maximumSamples:0,_highpFloatSupported:!1,_highpIntSupported:!1};Object.defineProperties(Sr,{maximumCombinedTextureImageUnits:{get:function(){return Sr._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return Sr._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return Sr._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return Sr._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return Sr._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return Sr._maximumTextureSize}},maximumVaryingVectors:{get:function(){return Sr._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return Sr._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return Sr._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return Sr._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return Sr._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return Sr._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return Sr._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return Sr._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return Sr._maximumViewportWidth}},maximumViewportHeight:{get:function(){return Sr._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return Sr._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return Sr._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return Sr._maximumColorAttachments}},maximumSamples:{get:function(){return Sr._maximumSamples}},highpFloatSupported:{get:function(){return Sr._highpFloatSupported}},highpIntSupported:{get:function(){return Sr._highpIntSupported}}});var Ft=Sr;function n6(e,t,n){let i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,n._target,n._texture,0)}function UV(e,t,n){let i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,n._getRenderbuffer())}function Ad(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Ft.maximumColorAttachments;if(this._gl=n,this._framebuffer=n.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=y(e.destroyAttachments,!0),this._bind(),l(e.colorTextures)){let o=e.colorTextures,r=this._colorTextures.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;n6(this,c,a),this._activeColorAttachments[s]=c,this._colorTextures[s]=a}}if(l(e.colorRenderbuffers)){let o=e.colorRenderbuffers,r=this._colorRenderbuffers.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;UV(this,c,a),this._activeColorAttachments[s]=c,this._colorRenderbuffers[s]=a}}if(l(e.depthTexture)){let o=e.depthTexture;n6(this,this._gl.DEPTH_ATTACHMENT,o),this._depthTexture=o}if(l(e.depthRenderbuffer)){let o=e.depthRenderbuffer;UV(this,this._gl.DEPTH_ATTACHMENT,o),this._depthRenderbuffer=o}if(l(e.stencilRenderbuffer)){let o=e.stencilRenderbuffer;UV(this,this._gl.STENCIL_ATTACHMENT,o),this._stencilRenderbuffer=o}if(l(e.depthStencilTexture)){let o=e.depthStencilTexture;n6(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilTexture=o}if(l(e.depthStencilRenderbuffer)){let o=e.depthStencilRenderbuffer;UV(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilRenderbuffer=o}this._unBind()}Object.defineProperties(Ad.prototype,{status:{get:function(){this._bind();let e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}});Ad.prototype._bind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)};Ad.prototype._unBind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)};Ad.prototype.bindDraw=function(){let e=this._gl;e.bindFramebuffer(e.DRAW_FRAMEBUFFER,this._framebuffer)};Ad.prototype.bindRead=function(){let e=this._gl;e.bindFramebuffer(e.READ_FRAMEBUFFER,this._framebuffer)};Ad.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments};Ad.prototype.getColorTexture=function(e){return this._colorTextures[e]};Ad.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]};Ad.prototype.isDestroyed=function(){return!1};Ad.prototype.destroy=function(){if(this.destroyAttachments){let e=this._colorTextures;for(let n=0;n<e.length;++n){let i=e[n];l(i)&&i.destroy()}let t=this._colorRenderbuffers;for(let n=0;n<t.length;++n){let i=t[n];l(i)&&i.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),ue(this)};var Vr=Ad;var zV={CLOCKWISE:te.CW,COUNTER_CLOCKWISE:te.CCW};zV.validate=function(e){return e===zV.CLOCKWISE||e===zV.COUNTER_CLOCKWISE};var gs=Object.freeze(zV);function QJ(e){if(typeof e!="object"||e===null)return e;let t,n=Object.keys(e);for(let i=0;i<n.length;i++)t=n[i],e.hasOwnProperty(t)&&t!=="_applyFunctions"&&(e[t]=QJ(e[t]));return Object.freeze(e)}var i6=QJ;function Qh(e){let t=y(e,y.EMPTY_OBJECT),n=y(t.cull,y.EMPTY_OBJECT),i=y(t.polygonOffset,y.EMPTY_OBJECT),o=y(t.scissorTest,y.EMPTY_OBJECT),r=y(o.rectangle,y.EMPTY_OBJECT),s=y(t.depthRange,y.EMPTY_OBJECT),a=y(t.depthTest,y.EMPTY_OBJECT),c=y(t.colorMask,y.EMPTY_OBJECT),u=y(t.blending,y.EMPTY_OBJECT),f=y(u.color,y.EMPTY_OBJECT),d=y(t.stencilTest,y.EMPTY_OBJECT),p=y(d.frontOperation,y.EMPTY_OBJECT),g=y(d.backOperation,y.EMPTY_OBJECT),m=y(t.sampleCoverage,y.EMPTY_OBJECT),x=t.viewport;this.frontFace=y(t.frontFace,gs.COUNTER_CLOCKWISE),this.cull={enabled:y(n.enabled,!1),face:y(n.face,te.BACK)},this.lineWidth=y(t.lineWidth,1),this.polygonOffset={enabled:y(i.enabled,!1),factor:y(i.factor,0),units:y(i.units,0)},this.scissorTest={enabled:y(o.enabled,!1),rectangle:We.clone(r)},this.depthRange={near:y(s.near,0),far:y(s.far,1)},this.depthTest={enabled:y(a.enabled,!1),func:y(a.func,te.LESS)},this.colorMask={red:y(c.red,!0),green:y(c.green,!0),blue:y(c.blue,!0),alpha:y(c.alpha,!0)},this.depthMask=y(t.depthMask,!0),this.stencilMask=y(t.stencilMask,-1),this.blending={enabled:y(u.enabled,!1),color:new H(y(f.red,0),y(f.green,0),y(f.blue,0),y(f.alpha,0)),equationRgb:y(u.equationRgb,te.FUNC_ADD),equationAlpha:y(u.equationAlpha,te.FUNC_ADD),functionSourceRgb:y(u.functionSourceRgb,te.ONE),functionSourceAlpha:y(u.functionSourceAlpha,te.ONE),functionDestinationRgb:y(u.functionDestinationRgb,te.ZERO),functionDestinationAlpha:y(u.functionDestinationAlpha,te.ZERO)},this.stencilTest={enabled:y(d.enabled,!1),frontFunction:y(d.frontFunction,te.ALWAYS),backFunction:y(d.backFunction,te.ALWAYS),reference:y(d.reference,0),mask:y(d.mask,-1),frontOperation:{fail:y(p.fail,te.KEEP),zFail:y(p.zFail,te.KEEP),zPass:y(p.zPass,te.KEEP)},backOperation:{fail:y(g.fail,te.KEEP),zFail:y(g.zFail,te.KEEP),zPass:y(g.zPass,te.KEEP)}},this.sampleCoverage={enabled:y(m.enabled,!1),value:y(m.value,1),invert:y(m.invert,!1)},this.viewport=l(x)?new We(x.x,x.y,x.width,x.height):void 0,this.id=0,this._applyFunctions=[]}var Swe=0,$h={};Qh.fromCache=function(e){let t=JSON.stringify(e),n=$h[t];if(l(n))return++n.referenceCount,n.state;let i=new Qh(e),o=JSON.stringify(i);return n=$h[o],l(n)||(i.id=Swe++,n={referenceCount:0,state:i},$h[o]=n),++n.referenceCount,$h[t]={referenceCount:1,state:n.state},n.state};Qh.removeFromCache=function(e){let t=new Qh(e),n=JSON.stringify(t),i=$h[n],o=JSON.stringify(e),r=$h[o];l(r)&&(--r.referenceCount,r.referenceCount===0&&(delete $h[o],l(i)&&--i.referenceCount)),l(i)&&i.referenceCount===0&&delete $h[n]};Qh.getCache=function(){return $h};Qh.clearCache=function(){$h={}};function fx(e,t,n){n?e.enable(t):e.disable(t)}function JJ(e,t){e.frontFace(t.frontFace)}function eee(e,t){let n=t.cull,i=n.enabled;fx(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function tee(e,t){e.lineWidth(t.lineWidth)}function nee(e,t){let n=t.polygonOffset,i=n.enabled;fx(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function iee(e,t,n){let i=t.scissorTest,o=l(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(fx(e,e.SCISSOR_TEST,o),o){let r=l(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(r.x,r.y,r.width,r.height)}}function oee(e,t){let n=t.depthRange;e.depthRange(n.near,n.far)}function ree(e,t){let n=t.depthTest,i=n.enabled;fx(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function see(e,t){let n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function aee(e,t){e.depthMask(t.depthMask)}function cee(e,t){e.stencilMask(t.stencilMask)}function vwe(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function lee(e,t,n){let i=t.blending,o=l(n.blendingEnabled)?n.blendingEnabled:i.enabled;fx(e,e.BLEND,o),o&&(vwe(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function uee(e,t){let n=t.stencilTest,i=n.enabled;if(fx(e,e.STENCIL_TEST,i),i){let o=n.frontFunction,r=n.backFunction,s=n.reference,a=n.mask;e.stencilFunc(o,s,a),e.stencilFuncSeparate(e.BACK,r,s,a),e.stencilFuncSeparate(e.FRONT,o,s,a);let c=n.frontOperation,u=c.fail,f=c.zFail,d=c.zPass;e.stencilOpSeparate(e.FRONT,u,f,d);let p=n.backOperation,g=p.fail,m=p.zFail,x=p.zPass;e.stencilOpSeparate(e.BACK,g,m,x)}}function fee(e,t){let n=t.sampleCoverage,i=n.enabled;fx(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}var wwe=new We;function dee(e,t,n){let i=y(t.viewport,n.viewport);l(i)||(i=wwe,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}Qh.apply=function(e,t,n){JJ(e,t),eee(e,t),tee(e,t),nee(e,t),oee(e,t),ree(e,t),see(e,t),aee(e,t),cee(e,t),uee(e,t),fee(e,t),iee(e,t,n),lee(e,t,n),dee(e,t,n)};function Dwe(e,t){let n=[];return e.frontFace!==t.frontFace&&n.push(JJ),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(eee),e.lineWidth!==t.lineWidth&&n.push(tee),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(nee),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push(oee),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(ree),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&n.push(see),e.depthMask!==t.depthMask&&n.push(aee),e.stencilMask!==t.stencilMask&&n.push(cee),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&n.push(uee),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(fee),n}Qh.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];l(f)||(f=Dwe(t,n),n._applyFunctions[t.id]=f);let d=f.length;for(let p=0;p<d;++p)f[p](e,n)}let s=l(i.scissorTest)?i.scissorTest:t.scissorTest,a=l(o.scissorTest)?o.scissorTest:n.scissorTest;(s!==a||r)&&iee(e,n,o);let c=l(i.blendingEnabled)?i.blendingEnabled:t.blending.enabled,u=l(o.blendingEnabled)?o.blendingEnabled:n.blending.enabled;(c!==u||u&&t.blending!==n.blending)&&lee(e,n,o),(t!==n||i!==o||i.context!==o.context)&&dee(e,n,o)};Qh.getState=function(e){return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:We.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:H.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:l(e.viewport)?We.clone(e.viewport):void 0}};var Ve=Qh;function Kt(e,t,n,i){this[0]=y(e,0),this[1]=y(n,0),this[2]=y(t,0),this[3]=y(i,0)}Kt.packedLength=4;Kt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};Kt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Kt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};Kt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Kt.pack(e[o],t,o*4);return t};Kt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=Kt.unpack(e,i,t[o])}return t};Kt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Kt(e[0],e[2],e[1],e[3])};Kt.fromArray=Kt.unpack;Kt.fromColumnMajorArray=function(e,t){return Kt.clone(e,t)};Kt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Kt(e[0],e[1],e[2],e[3])};Kt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Kt(e.x,0,0,e.y)};Kt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Kt(e,0,0,e)};Kt.fromRotation=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=-i,t[3]=n,t):new Kt(n,-i,i,n)};Kt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]};Kt.getElementIndex=function(e,t){return e*2+t};Kt.getColumn=function(e,t,n){let i=t*2,o=e[i],r=e[i+1];return n.x=o,n.y=r,n};Kt.setColumn=function(e,t,n,i){i=Kt.clone(e,i);let o=t*2;return i[o]=n.x,i[o+1]=n.y,i};Kt.getRow=function(e,t,n){let i=e[t],o=e[t+2];return n.x=i,n.y=o,n};Kt.setRow=function(e,t,n,i){return i=Kt.clone(e,i),i[t]=n.x,i[t+2]=n.y,i};var Iwe=new z;Kt.setScale=function(e,t,n){let i=Kt.getScale(e,Iwe),o=t.x/i.x,r=t.y/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var Pwe=new z;Kt.setUniformScale=function(e,t,n){let i=Kt.getScale(e,Pwe),o=t/i.x,r=t/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var hee=new z;Kt.getScale=function(e,t){return t.x=z.magnitude(z.fromElements(e[0],e[1],hee)),t.y=z.magnitude(z.fromElements(e[2],e[3],hee)),t};var mee=new z;Kt.getMaximumScale=function(e){return Kt.getScale(e,mee),z.maximumComponent(mee)};var Rwe=new z;Kt.setRotation=function(e,t,n){let i=Kt.getScale(e,Rwe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.y,n[3]=t[3]*i.y,n};var Owe=new z;Kt.getRotation=function(e,t){let n=Kt.getScale(e,Owe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};Kt.multiply=function(e,t,n){let i=e[0]*t[0]+e[2]*t[1],o=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],s=e[1]*t[2]+e[3]*t[3];return n[0]=i,n[1]=r,n[2]=o,n[3]=s,n};Kt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};Kt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};Kt.multiplyByVector=function(e,t,n){let i=e[0]*t.x+e[2]*t.y,o=e[1]*t.x+e[3]*t.y;return n.x=i,n.y=o,n};Kt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Kt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};Kt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Kt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};Kt.transpose=function(e,t){let n=e[0],i=e[2],o=e[1],r=e[3];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t};Kt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t};Kt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};Kt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};Kt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n};Kt.IDENTITY=Object.freeze(new Kt(1,0,0,1));Kt.ZERO=Object.freeze(new Kt(0,0,0,0));Kt.COLUMN0ROW0=0;Kt.COLUMN0ROW1=1;Kt.COLUMN1ROW0=2;Kt.COLUMN1ROW1=3;Object.defineProperties(Kt.prototype,{length:{get:function(){return Kt.packedLength}}});Kt.prototype.clone=function(e){return Kt.clone(this,e)};Kt.prototype.equals=function(e){return Kt.equals(this,e)};Kt.prototype.equalsEpsilon=function(e,t){return Kt.equalsEpsilon(this,e,t)};Kt.prototype.toString=function(){return`(${this[0]}, ${this[2]}) +(${this[1]}, ${this[3]})`};var Oi=Kt;function Mwe(e,t,n,i){switch(t.type){case e.FLOAT:return new pee(e,t,n,i);case e.FLOAT_VEC2:return new _ee(e,t,n,i);case e.FLOAT_VEC3:return new gee(e,t,n,i);case e.FLOAT_VEC4:return new yee(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:case e.SAMPLER_3D:case e.SAMPLER_2D_ARRAY:return new o6(e,t,n,i);case e.INT:case e.BOOL:return new xee(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new bee(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new Tee(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new Cee(e,t,n,i);case e.FLOAT_MAT2:return new Aee(e,t,n,i);case e.FLOAT_MAT3:return new Eee(e,t,n,i);case e.FLOAT_MAT4:return new See(e,t,n,i);default:throw new se(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function pee(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}pee.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))};function _ee(e,t,n,i){this.name=n,this.value=void 0,this._value=new z,this._gl=e,this._location=i}_ee.prototype.set=function(){let e=this.value;z.equals(e,this._value)||(z.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))};function gee(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}gee.prototype.set=function(){let e=this.value;e&&(l(e.red)?H.equals(e,this._value)||(this._value=H.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue)):l(e.x)&&(h.equals(e,this._value)||(this._value=h.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z))))};function yee(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}yee.prototype.set=function(){let e=this.value;l(e.red)?H.equals(e,this._value)||(this._value=H.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha)):l(e.x)&&(ie.equals(e,this._value)||(this._value=ie.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w)))};function o6(e,t,n,i){this.name=n,this.value=void 0,this._gl=e,this._location=i,this.textureUnitIndex=void 0}o6.prototype.set=function(){let e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);let t=this.value;t&&e.bindTexture(t._target,t._texture)};o6.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1};function xee(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}xee.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))};function bee(e,t,n,i){this.name=n,this.value=void 0,this._value=new z,this._gl=e,this._location=i}bee.prototype.set=function(){let e=this.value;z.equals(e,this._value)||(z.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))};function Tee(e,t,n,i){this.name=n,this.value=void 0,this._value=new h,this._gl=e,this._location=i}Tee.prototype.set=function(){let e=this.value;h.equals(e,this._value)||(h.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))};function Cee(e,t,n,i){this.name=n,this.value=void 0,this._value=new ie,this._gl=e,this._location=i}Cee.prototype.set=function(){let e=this.value;ie.equals(e,this._value)||(ie.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};var Lwe=new Float32Array(4);function Aee(e,t,n,i){this.name=n,this.value=void 0,this._value=new Oi,this._gl=e,this._location=i}Aee.prototype.set=function(){if(!Oi.equalsArray(this.value,this._value,0)){Oi.clone(this.value,this._value);let e=Oi.toArray(this.value,Lwe);this._gl.uniformMatrix2fv(this._location,!1,e)}};var Nwe=new Float32Array(9);function Eee(e,t,n,i){this.name=n,this.value=void 0,this._value=new $,this._gl=e,this._location=i}Eee.prototype.set=function(){if(!$.equalsArray(this.value,this._value,0)){$.clone(this.value,this._value);let e=$.toArray(this.value,Nwe);this._gl.uniformMatrix3fv(this._location,!1,e)}};var Fwe=new Float32Array(16);function See(e,t,n,i){this.name=n,this.value=void 0,this._value=new F,this._gl=e,this._location=i}See.prototype.set=function(){if(!F.equalsArray(this.value,this._value,0)){F.clone(this.value,this._value);let e=F.toArray(this.value,Fwe);this._gl.uniformMatrix4fv(this._location,!1,e)}};var pw=Mwe;function Bwe(e,t,n,i){switch(t.type){case e.FLOAT:return new vee(e,t,n,i);case e.FLOAT_VEC2:return new wee(e,t,n,i);case e.FLOAT_VEC3:return new Dee(e,t,n,i);case e.FLOAT_VEC4:return new Iee(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new r6(e,t,n,i);case e.INT:case e.BOOL:return new Pee(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new Ree(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new Oee(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new Mee(e,t,n,i);case e.FLOAT_MAT2:return new Lee(e,t,n,i);case e.FLOAT_MAT3:return new Nee(e,t,n,i);case e.FLOAT_MAT4:return new Fee(e,t,n,i);default:throw new se(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function vee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._location=i[0]}vee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1fv(this._location,n)};function wee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*2),this._gl=e,this._location=i[0]}wee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];z.equalsArray(s,n,o)||(z.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2fv(this._location,n)};function Dee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*3),this._gl=e,this._location=i[0]}Dee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?(s.red!==n[o]||s.green!==n[o+1]||s.blue!==n[o+2])&&(n[o]=s.red,n[o+1]=s.green,n[o+2]=s.blue,i=!0):l(s.x)&&(h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0)),o+=3}i&&this._gl.uniform3fv(this._location,n)};function Iee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}Iee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?H.equalsArray(s,n,o)||(H.pack(s,n,o),i=!0):l(s.x)&&(ie.equalsArray(s,n,o)||(ie.pack(s,n,o),i=!0)),o+=4}i&&this._gl.uniform4fv(this._location,n)};function r6(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._locations=i,this.textureUnitIndex=void 0}r6.prototype.set=function(){let e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,n=this.value,i=n.length;for(let o=0;o<i;++o){let r=n[o];r&&(e.activeTexture(t+o),e.bindTexture(r._target,r._texture))}};r6.prototype._setSampler=function(e){this.textureUnitIndex=e;let t=this._locations,n=t.length;for(let i=0;i<n;++i){let o=e+i;this._gl.uniform1i(t[i],o)}return e+n};function Pee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o),this._gl=e,this._location=i[0]}Pee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1iv(this._location,n)};function Ree(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*2),this._gl=e,this._location=i[0]}Ree.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];z.equalsArray(s,n,o)||(z.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2iv(this._location,n)};function Oee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*3),this._gl=e,this._location=i[0]}Oee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0),o+=3}i&&this._gl.uniform3iv(this._location,n)};function Mee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*4),this._gl=e,this._location=i[0]}Mee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];ie.equalsArray(s,n,o)||(ie.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniform4iv(this._location,n)};function Lee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}Lee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Oi.equalsArray(s,n,o)||(Oi.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniformMatrix2fv(this._location,!1,n)};function Nee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*9),this._gl=e,this._location=i[0]}Nee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];$.equalsArray(s,n,o)||($.pack(s,n,o),i=!0),o+=9}i&&this._gl.uniformMatrix3fv(this._location,!1,n)};function Fee(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*16),this._gl=e,this._location=i[0]}Fee.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];F.equalsArray(s,n,o)||(F.pack(s,n,o),i=!0),o+=16}i&&this._gl.uniformMatrix4fv(this._location,!1,n)};var _w=Bwe;var kwe=0;function Cp(e){let t=e.vertexShaderText,n=e.fragmentShaderText;typeof spector<"u"&&(t=t.replace(/^#line/gm,"//#line"),n=n.replace(/^#line/gm,"//#line"));let i=Vwe(t,n);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=kwe++}Cp.fromCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.getShaderProgram(e)};Cp.replaceCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.replaceShaderProgram(e)};Object.defineProperties(Cp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return HV(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return HV(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return HV(this),this._uniformsByName}}});function Bee(e){let t=[],n=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o].trim(),s=r.slice(r.lastIndexOf(" ")+1);t.push(s)}}return t}function Vwe(e,t){let n={};if(!Ft.highpFloatSupported||!Ft.highpIntSupported){let i,o,r,s,a=Bee(e),c=Bee(t),u=a.length,f=c.length;for(i=0;i<u;i++)for(o=0;o<f;o++)if(a[i]===c[o]){r=a[i],s=`czm_mediump_${r}`;let d=new RegExp(`${r}\\b`,"g");t=t.replace(d,s),n[s]=r}}return{fragmentShaderText:t,duplicateUniformNames:n}}var Jh="[Cesium WebGL] ";function Uwe(e,t){let n=t._vertexShaderText,i=t._fragmentShaderText,o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,n),e.compileShader(o);let r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,i),e.compileShader(r);let s=e.createProgram();e.attachShader(s,o),e.attachShader(s,r);let a=t._attributeLocations;if(l(a))for(let p in a)a.hasOwnProperty(p)&&e.bindAttribLocation(s,a[p],p);e.linkProgram(s);let c;if(e.getProgramParameter(s,e.LINK_STATUS))return t._logShaderCompilation&&(c=e.getShaderInfoLog(o),l(c)&&c.length>0&&console.log(`${Jh}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${Jh}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${Jh}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let u,f=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${Jh}Shader program link log: ${c}`),d(o,"vertex"),d(r,"fragment"),u=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${Jh}Vertex shader compile log: ${c}`),console.error(`${Jh} Vertex shader source: +${n}`),u=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${Jh}Fragment shader compile log: ${c}`),console.error(`${Jh} Fragment shader source: +${i}`),u=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new se(u);function d(p,g){if(!l(f))return;let m=f.getTranslatedShaderSource(p);if(m===""){console.error(`${Jh}${g} shader translation failed.`);return}console.error(`${Jh}Translated ${g} shaderSource: +${m}`)}}function zwe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttrib(t,o),s=e.getAttribLocation(t,r.name);i[r.name]={name:r.name,type:r.type,index:s}}return i}function Hwe(e,t){let n={},i=[],o=[],r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<r;++s){let a=e.getActiveUniform(t,s),c="[0]",u=a.name.indexOf(c,a.name.length-c.length)!==-1?a.name.slice(0,a.name.length-3):a.name;if(u.indexOf("gl_")!==0)if(a.name.indexOf("[")<0){let f=e.getUniformLocation(t,u);if(f!==null){let d=pw(e,a,u,f);n[u]=d,i.push(d),d._setSampler&&o.push(d)}}else{let f,d,p,g,m=u.indexOf("[");if(m>=0){if(f=n[u.slice(0,m)],!l(f))continue;d=f._locations,d.length<=1&&(p=f.value,g=e.getUniformLocation(t,u),g!==null&&(d.push(g),p.push(e.getUniform(t,g))))}else{d=[];for(let x=0;x<a.size;++x)g=e.getUniformLocation(t,`${u}[${x}]`),g!==null&&d.push(g);f=_w(e,a,u,d),n[u]=f,i.push(f),f._setSampler&&o.push(f)}}}return{uniformsByName:n,uniforms:i,samplerUniforms:o}}function Gwe(e,t){let n=[],i=[];for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=o,a=e._duplicateUniformNames[s];l(a)&&(r.name=a,s=a);let c=pp[s];l(c)?n.push({uniform:r,automaticUniform:c}):i.push(r)}return{automaticUniforms:n,manualUniforms:i}}function Wwe(e,t,n){e.useProgram(t);let i=0,o=n.length;for(let r=0;r<o;++r)i=n[r]._setSampler(i);return e.useProgram(null),i}function HV(e){l(e._program)||kee(e)}function kee(e){let t=e._program,n=e._gl,i=Uwe(n,e,e._debugShaders),o=n.getProgramParameter(i,n.ACTIVE_ATTRIBUTES),r=Hwe(n,i),s=Gwe(e,r.uniformsByName);e._program=i,e._numberOfVertexAttributes=o,e._vertexAttributes=zwe(n,i,o),e._uniformsByName=r.uniformsByName,e._uniforms=r.uniforms,e._automaticUniforms=s.automaticUniforms,e._manualUniforms=s.manualUniforms,e.maximumTextureUnitIndex=Wwe(n,i,r.samplerUniforms),t&&e._gl.deleteProgram(t),typeof spector<"u"&&(e._program.__SPECTOR_rebuildProgram=function(a,c,u,f){let d=e._vertexShaderText,p=e._fragmentShaderText,g=/ ! = /g;e._vertexShaderText=a.replace(g," != "),e._fragmentShaderText=c.replace(g," != ");try{kee(e),u(e._program)}catch(m){e._vertexShaderText=d,e._fragmentShaderText=p;let b=/(?:Compile|Link) error: ([^]*)/.exec(m.message);f(b?b[1]:m.message)}})}Cp.prototype._bind=function(){HV(this),this._gl.useProgram(this._program)};Cp.prototype._setUniforms=function(e,t,n){let i,o;if(l(e)){let a=this._manualUniforms;for(i=a.length,o=0;o<i;++o){let c=a[o];c.value=e[c.name]()}}let r=this._automaticUniforms;for(i=r.length,o=0;o<i;++o){let a=r[o];a.uniform.value=a.automaticUniform.getValue(t)}let s=this._uniforms;for(i=s.length,o=0;o<i;++o)s[o].set();if(n){let a=this._gl,c=this._program;a.validateProgram(c)}};Cp.prototype.isDestroyed=function(){return!1};Cp.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)};Cp.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),ue(this)};var tn=Cp;function GV(e){this._context=e}var gw,jwe=new Ze({primitiveType:Ne.TRIANGLES}),qwe=new ni({color:new H(0,0,0,0)});function Ywe(e,t){return new Vr({context:e,colorTextures:[t],destroyAttachments:!1})}function Xwe(e,t){return tn.fromCache({context:e,vertexShaderSource:ux,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function Kwe(e,t){return(!l(gw)||gw.viewport.width!==e||gw.viewport.height!==t)&&(gw=Ve.fromCache({viewport:new We(0,0,e,t)})),gw}GV.prototype.execute=function(e){l(e.preExecute)&&e.preExecute(e);let t=e.outputTexture,n=t.width,i=t.height,o=this._context,r=l(e.vertexArray)?e.vertexArray:o.getViewportQuadVertexArray(),s=l(e.shaderProgram)?e.shaderProgram:Xwe(o,e.fragmentShaderSource),a=Ywe(o,t),c=Kwe(n,i),u=e.uniformMap,f=qwe;f.framebuffer=a,f.renderState=c,f.execute(o);let d=jwe;d.vertexArray=r,d.renderState=c,d.shaderProgram=s,d.uniformMap=u,d.framebuffer=a,d.execute(o),a.destroy(),e.persists||(s.destroy(),l(e.vertexArray)&&r.destroy()),l(e.postExecute)&&e.postExecute(t)};GV.prototype.isDestroyed=function(){return!1};GV.prototype.destroy=function(){return ue(this)};var yw=GV;var wn={BYTE:te.BYTE,UNSIGNED_BYTE:te.UNSIGNED_BYTE,SHORT:te.SHORT,UNSIGNED_SHORT:te.UNSIGNED_SHORT,INT:te.INT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,DOUBLE:te.DOUBLE};wn.getSizeInBytes=function(e){switch(e){case wn.BYTE:return Int8Array.BYTES_PER_ELEMENT;case wn.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case wn.SHORT:return Int16Array.BYTES_PER_ELEMENT;case wn.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case wn.INT:return Int32Array.BYTES_PER_ELEMENT;case wn.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case wn.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case wn.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};wn.fromTypedArray=function(e){if(e instanceof Int8Array)return wn.BYTE;if(e instanceof Uint8Array)return wn.UNSIGNED_BYTE;if(e instanceof Int16Array)return wn.SHORT;if(e instanceof Uint16Array)return wn.UNSIGNED_SHORT;if(e instanceof Int32Array)return wn.INT;if(e instanceof Uint32Array)return wn.UNSIGNED_INT;if(e instanceof Float32Array)return wn.FLOAT;if(e instanceof Float64Array)return wn.DOUBLE};wn.validate=function(e){return l(e)&&(e===wn.BYTE||e===wn.UNSIGNED_BYTE||e===wn.SHORT||e===wn.UNSIGNED_SHORT||e===wn.INT||e===wn.UNSIGNED_INT||e===wn.FLOAT||e===wn.DOUBLE)};wn.createTypedArray=function(e,t){switch(e){case wn.BYTE:return new Int8Array(t);case wn.UNSIGNED_BYTE:return new Uint8Array(t);case wn.SHORT:return new Int16Array(t);case wn.UNSIGNED_SHORT:return new Uint16Array(t);case wn.INT:return new Int32Array(t);case wn.UNSIGNED_INT:return new Uint32Array(t);case wn.FLOAT:return new Float32Array(t);case wn.DOUBLE:return new Float64Array(t)}};wn.createArrayBufferView=function(e,t,n,i){switch(n=y(n,0),i=y(i,(t.byteLength-n)/wn.getSizeInBytes(e)),e){case wn.BYTE:return new Int8Array(t,n,i);case wn.UNSIGNED_BYTE:return new Uint8Array(t,n,i);case wn.SHORT:return new Int16Array(t,n,i);case wn.UNSIGNED_SHORT:return new Uint16Array(t,n,i);case wn.INT:return new Int32Array(t,n,i);case wn.UNSIGNED_INT:return new Uint32Array(t,n,i);case wn.FLOAT:return new Float32Array(t,n,i);case wn.DOUBLE:return new Float64Array(t,n,i)}};wn.fromName=function(e){switch(e){case"BYTE":return wn.BYTE;case"UNSIGNED_BYTE":return wn.UNSIGNED_BYTE;case"SHORT":return wn.SHORT;case"UNSIGNED_SHORT":return wn.UNSIGNED_SHORT;case"INT":return wn.INT;case"UNSIGNED_INT":return wn.UNSIGNED_INT;case"FLOAT":return wn.FLOAT;case"DOUBLE":return wn.DOUBLE}};var X=Object.freeze(wn);var Vee={};function xw(e,t){l(Vee[e])||(Vee[e]=!0,console.warn(y(t,e)))}xw.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";xw.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";xw.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";xw.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var bt=xw;function Zwe(e,t){bt(e,t)}var ys=Zwe;var $we={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},hf=Object.freeze($we);function s6(e){e=y(e,y.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=y(e.primitiveType,Ne.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=y(e.geometryType,hf.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}s6.computeNumberOfVertices=function(e){let t=-1;for(let n in e.attributes)if(e.attributes.hasOwnProperty(n)&&l(e.attributes[n])&&l(e.attributes[n].values)){let i=e.attributes[n];t=i.values.length/i.componentsPerAttribute}return t};var Qwe=new fe,Jwe=new h,Uee=new F,eDe=[new fe,new fe,new fe],tDe=[new z,new z,new z],nDe=[new z,new z,new z],iDe=new h,oDe=new Le,rDe=new F,sDe=new Oi;s6._textureCoordinateRotationPoints=function(e,t,n,i){let o,r=ae.center(i,Qwe),s=fe.toCartesian(r,n,Jwe),a=Lt.eastNorthUpToFixedFrame(s,n,Uee),c=F.inverse(a,Uee),u=tDe,f=eDe;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let d=iDe;for(o=0;o<3;o++)fe.toCartesian(f[o],n,d),d=F.multiplyByPointAsVector(c,d,d),u[o].x=d.x,u[o].y=d.y;let p=Le.fromAxisAngle(h.UNIT_Z,-t,oDe),g=$.fromQuaternion(p,rDe),m=e.length,x=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,A=Number.NEGATIVE_INFINITY;for(o=0;o<m;o++)d=F.multiplyByPointAsVector(c,e[o],d),d=$.multiplyByVector(g,d,d),x=Math.min(x,d.x),b=Math.min(b,d.y),T=Math.max(T,d.x),A=Math.max(A,d.y);let C=Oi.fromRotation(t,sDe),E=nDe;E[0].x=x,E[0].y=b,E[1].x=x,E[1].y=A,E[2].x=T,E[2].y=b;let v=u[0],D=u[2].x-v.x,O=u[1].y-v.y;for(o=0;o<3;o++){let S=E[o];Oi.multiplyByVector(C,S,S),S.x=(S.x-v.x)/D,S.y=(S.y-v.y)/O}let R=E[0],M=E[1],N=E[2],_=new Array(6);return z.pack(R,_),z.pack(M,_,2),z.pack(N,_,4),_};var ft=s6;function aDe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.values=e.values}var Se=aDe;function KC(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(KC.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}},arrayBufferView:{get:function(){return this._buffer}}});KC.clone=function(e){if(l(e))return new KC(e._format,e._datatype,e._width,e._height,e._buffer)};KC.prototype.clone=function(){return KC.clone(this)};var bw=KC;var zee=Wo(ou(),1);function Hee(){if(!l(fa._canTransferArrayBuffer)){let e=l6("transferTypedArrayTest");e.postMessage=y(e.webkitPostMessage,e.postMessage);let t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return fa._canTransferArrayBuffer=!1,fa._canTransferArrayBuffer}fa._canTransferArrayBuffer=new Promise(i=>{e.onmessage=function(o){let r=o.data.array,s=l(r)&&r[0]===t;i(s),e.terminate(),fa._canTransferArrayBuffer=s}})}return fa._canTransferArrayBuffer}var c6=new me;function a6(e){let t;try{t=new Blob([e],{type:"application/javascript"})}catch{let o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new o;r.append(e),t=r.getBlob("application/javascript")}return(window.URL||window.webkitURL).createObjectURL(t)}function l6(e){let t=new zee.default(e),n=t.scheme().length!==0&&t.fragment().length===0,i=e.replace(/\.js$/,""),o={},r,s;if(Lg(e))s=e;else if(!n){let a=sn(`${fa._workerModulePrefix}/${i}.js`);Lg(a)&&(s=a)}if(s){let a=`import "${s}";`;return r=a6(a),o.type="module",new Worker(r,o)}if(!n&&typeof CESIUM_WORKERS<"u"){let a=` + importScripts("${a6(CESIUM_WORKERS)}"); CesiumWorkers["${i}"](); - `;return r=t6(a),new Worker(r,o)}if(r=e,n||(r=rn(`${la._workerModulePrefix+i}.js`)),!Gt.supportsEsmWebWorkers())throw new ce("This browser is not supported. Please update your browser to continue.");return o.type="module",new Worker(r,o)}async function zwe(e,t){let n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!Gt.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new ce(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=rn(t.fallbackModulePath),n}n.wasmBinaryFile=rn(t.wasmBinaryFile);let i=await we.fetchArrayBuffer({url:n.wasmBinaryFile});return n.wasmBinary=i,n}function la(e,t){this._workerPath=e,this._maximumActiveTasks=y(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._nextID=0,this._webAssemblyPromise=void 0}var Hwe=(e,t,n,i)=>{let o=({data:r})=>{if(r.id===t){if(l(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new ce(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new de(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),n6.raiseEvent(s),i(s)}else n6.raiseEvent(),n(r.result);e.removeEventListener("message",o)}};return o},Gwe=[];async function Wwe(e,t,n){let i=await Promise.resolve(Iee());l(n)?i||(n.length=0):n=Gwe;let o=e._nextID++,r=new Promise((s,a)=>{e._worker.addEventListener("message",Hwe(e._worker,o,s,a))});return e._worker.postMessage({id:o,baseUrl:rn.getCesiumBaseUrl().url,parameters:t,canTransferArrayBuffer:i},n),r}async function jwe(e,t,n){++e._activeTasks;try{let i=await Wwe(e,t,n);return--e._activeTasks,i}catch(i){throw--e._activeTasks,i}}la.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=i6(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return jwe(this,e,t)};la.prototype.initWebAssemblyModule=async function(e){if(l(this._webAssemblyPromise))return this._webAssemblyPromise;let t=async()=>{let n=this._worker=i6(this._workerPath),i=await zwe(this,e),o=await Promise.resolve(Iee()),r,s=i.wasmBinary;l(s)&&o&&(r=[s]);let a=new Promise((c,u)=>{n.onmessage=function({data:f}){l(f)?c(f.result):u(new ce("Could not configure wasm module"))}});return n.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:i}},r),a};return this._webAssemblyPromise=t(),this._webAssemblyPromise};la.prototype.isDestroyed=function(){return!1};la.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),ue(this)};la.taskCompletedEvent=n6;la._defaultWorkerModulePrefix="Workers/";la._workerModulePrefix=la._defaultWorkerModulePrefix;la._canTransferArrayBuffer=void 0;var yi=la;function Tp(){}Tp._transcodeTaskProcessor=new yi("transcodeKTX2",Number.POSITIVE_INFINITY);Tp._readyPromise=void 0;function qwe(){let e=Tp._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(t){if(t)return Tp._transcodeTaskProcessor;throw new ce("KTX2 transcoder could not be initialized.")});Tp._readyPromise=e}Tp.transcode=function(e,t){return l(Tp._readyPromise)||qwe(),Tp._readyPromise.then(function(n){let i=e;e instanceof ArrayBuffer&&(i=new Uint8Array(e));let o={supportedTargetFormats:t,ktx2Buffer:i};return n.scheduleTask(o,[i.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]);for(let r=0;r<i;r++){let s=n[r];for(let a=0;a<o.length;a++){let c=s[o[a]];s[o[a]]=new _w(c.internalFormat,c.datatype,c.width,c.height,c.levelBuffer)}}if(o.length===1){for(let r=0;r<i;++r)n[r]=n[r][o[0]];i===1&&(n=n[0])}return n}).catch(function(n){throw n})};var gw=Tp;var Pee;Ree.setKTX2SupportedFormats=function(e,t,n,i,o,r){Pee={s3tc:e,pvrtc:t,astc:n,etc:i,etc1:o,bc7:r}};function Ree(e){let t;return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?t=Promise.resolve(e):t=we.createIfNeeded(e).fetchArrayBuffer(),t.then(function(n){return gw.transcode(n,Pee)})}var bl=Ree;function NV(e,t,n,i,o,r,s,a,c,u,f){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=s,this._internalFormat=o,this._pixelFormat=r,this._size=a,this._preMultiplyAlpha=c,this._flipY=u,this._initialized=f}Object.defineProperties(NV.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}});NV.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,{width:r,height:s}=i,a=this._context._gl,c=this._textureTarget,u=this._targetFace;a.activeTexture(a.TEXTURE0),a.bindTexture(c,this._texture);let f=i.arrayBufferView,d=this._size,p=this._pixelFormat,g=this._internalFormat,m=this._pixelDatatype,x=this._preMultiplyAlpha,b=this._flipY,T=4;l(f)&&(T=ot.alignmentInBytes(p,m,r)),a.pixelStorei(a.UNPACK_ALIGNMENT,T),o?a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.NONE):a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.BROWSER_DEFAULT_WEBGL);let A=!1;if(!this._initialized){let C;t===0&&n===0&&r===d&&s===d?(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=ot.flipY(f,p,m,d,d)),C=f):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),C=i),A=!0):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),C=ot.createTypedArray(p,m,d,d)),a.texImage2D(u,0,g,d,d,0,p,Je.toWebGLConstant(m,this._context),C),this._initialized=!0}A||(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=ot.flipY(f,p,m,r,s)),a.texSubImage2D(u,0,t,n,r,s,p,Je.toWebGLConstant(m,this._context),f)):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),a.texSubImage2D(u,0,t,n,p,Je.toWebGLConstant(m,this._context),i))),a.bindTexture(c,null)};NV.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._size),r=y(r,this._size);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};var yw=NV;var FV={DONT_CARE:te.DONT_CARE,FASTEST:te.FASTEST,NICEST:te.NICEST,validate:function(e){return e===FV.DONT_CARE||e===FV.FASTEST||e===FV.NICEST}},Qh=Object.freeze(FV);var BV={NEAREST:te.NEAREST,LINEAR:te.LINEAR};BV.validate=function(e){return e===BV.NEAREST||e===BV.LINEAR};var mi=Object.freeze(BV);var Mg={NEAREST:te.NEAREST,LINEAR:te.LINEAR,NEAREST_MIPMAP_NEAREST:te.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:te.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:te.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:te.LINEAR_MIPMAP_LINEAR};Mg.validate=function(e){return e===Mg.NEAREST||e===Mg.LINEAR||e===Mg.NEAREST_MIPMAP_NEAREST||e===Mg.LINEAR_MIPMAP_NEAREST||e===Mg.NEAREST_MIPMAP_LINEAR||e===Mg.LINEAR_MIPMAP_LINEAR};var Jt=Object.freeze(Mg);var kV={CLAMP_TO_EDGE:te.CLAMP_TO_EDGE,REPEAT:te.REPEAT,MIRRORED_REPEAT:te.MIRRORED_REPEAT,validate:function(e){return e===kV.CLAMP_TO_EDGE||e===kV.REPEAT||e===kV.MIRRORED_REPEAT}},En=Object.freeze(kV);function xw(e){e=y(e,y.EMPTY_OBJECT);let{wrapS:t=En.CLAMP_TO_EDGE,wrapT:n=En.CLAMP_TO_EDGE,minificationFilter:i=Jt.LINEAR,magnificationFilter:o=mi.LINEAR,maximumAnisotropy:r=1}=e;this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(xw.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});xw.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};xw.NEAREST=Object.freeze(new xw({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.NEAREST,magnificationFilter:mi.NEAREST}));var en=xw;function ic(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=ot.RGBA,pixelDatatype:o=Je.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new en}=e,c=e.preMultiplyAlpha||i===ot.RGB||i===ot.LUMINANCE,{width:u,height:f}=e;l(n)&&({width:u,height:f}=n.positiveX);let d=u,p=ot.textureSizeInBytes(i,o,d,d)*6,g=ot.toInternalFormat(i,o,t),m=t._gl,x=m.TEXTURE_CUBE_MAP,b=m.createTexture();this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=x,this._texture=b,this._pixelFormat=i,this._pixelDatatype=o,this._size=d,this._hasMipmap=!1,this._sizeInBytes=p,this._preMultiplyAlpha=c,this._flipY=r;let T=l(n);function A(C){return new yw(t,b,x,C,g,i,o,d,c,r,T)}this._positiveX=A(m.TEXTURE_CUBE_MAP_POSITIVE_X),this._negativeX=A(m.TEXTURE_CUBE_MAP_NEGATIVE_X),this._positiveY=A(m.TEXTURE_CUBE_MAP_POSITIVE_Y),this._negativeY=A(m.TEXTURE_CUBE_MAP_NEGATIVE_Y),this._positiveZ=A(m.TEXTURE_CUBE_MAP_POSITIVE_Z),this._negativeZ=A(m.TEXTURE_CUBE_MAP_NEGATIVE_Z),this._sampler=a,Mee(this,a),m.activeTexture(m.TEXTURE0),m.bindTexture(x,b),s?m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.NONE):m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.BROWSER_DEFAULT_WEBGL);for(let C of ic.getFaceNames())Oee(this[C],n?.[C],0);m.bindTexture(x,null)}ic.FaceName=Object.freeze({POSITIVEX:"positiveX",NEGATIVEX:"negativeX",POSITIVEY:"positiveY",NEGATIVEY:"negativeY",POSITIVEZ:"positiveZ",NEGATIVEZ:"negativeZ"});function*Ywe(){yield ic.FaceName.POSITIVEX,yield ic.FaceName.NEGATIVEX,yield ic.FaceName.POSITIVEY,yield ic.FaceName.NEGATIVEY,yield ic.FaceName.POSITIVEZ,yield ic.FaceName.NEGATIVEZ}ic.getFaceNames=function(){return Ywe()};function Oee(e,t,n){n=y(n,0);let i=e._targetFace,o=Math.max(Math.floor(e._size/2**n),1),r=e._pixelFormat,s=e._pixelDatatype,a=e._internalFormat,c=e._flipY,u=e._preMultiplyAlpha,f=e._context,d=f._gl;if(!l(t)){d.texImage2D(i,n,a,o,o,0,r,Je.toWebGLConstant(s,f),null);return}let{arrayBufferView:p}=t,g=4;l(p)&&(g=ot.alignmentInBytes(r,s,o)),d.pixelStorei(d.UNPACK_ALIGNMENT,g),l(p)?(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,!1),c&&(p=ot.flipY(p,r,s,o,o)),d.texImage2D(i,n,a,o,o,0,r,Je.toWebGLConstant(s,f),p)):(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,c),d.texImage2D(i,n,a,r,Je.toWebGLConstant(s,f),t))}Object.defineProperties(ic.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){Mee(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});function Mee(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[Jt.NEAREST_MIPMAP_NEAREST,Jt.NEAREST_MIPMAP_LINEAR,Jt.LINEAR_MIPMAP_NEAREST,Jt.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelDatatype;(s===Je.FLOAT&&!r.textureFloatLinear||s===Je.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?Jt.NEAREST_MIPMAP_NEAREST:Jt.NEAREST,i=mi.NEAREST);let a=r._gl,c=e._textureTarget;a.activeTexture(a.TEXTURE0),a.bindTexture(c,e._texture),a.texParameteri(c,a.TEXTURE_MIN_FILTER,n),a.texParameteri(c,a.TEXTURE_MAG_FILTER,i),a.texParameteri(c,a.TEXTURE_WRAP_S,t.wrapS),a.texParameteri(c,a.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&a.texParameteri(c,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),a.bindTexture(c,null)}ic.prototype.loadMipmaps=function(e,t){t=y(t,!1);let n=this._context._gl,i=this._texture,o=this._textureTarget;n.activeTexture(n.TEXTURE0),n.bindTexture(o,i),t?n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE):n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.BROWSER_DEFAULT_WEBGL);for(let r=0;r<e.length;r++){let s=e[r],a=r+1;for(let c of ic.getFaceNames())Oee(this[c],s[c],a)}n.bindTexture(o,null),this._hasMipmap=!0};ic.prototype.generateMipmap=function(e){e=y(e,Qh.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};ic.prototype.isDestroyed=function(){return!1};ic.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=ue(this._positiveX),this._negativeX=ue(this._negativeX),this._positiveY=ue(this._positiveY),this._negativeY=ue(this._negativeY),this._positiveZ=ue(this._positiveZ),this._negativeZ=ue(this._negativeZ),ue(this)};var Ra=ic;function Xwe(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}var oc=Xwe;var bw=`/** + `;return r=a6(a),new Worker(r,o)}if(r=e,n||(r=sn(`${fa._workerModulePrefix+i}.js`)),!Gt.supportsEsmWebWorkers())throw new se("This browser is not supported. Please update your browser to continue.");return o.type="module",new Worker(r,o)}async function cDe(e,t){let n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!Gt.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new se(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=sn(t.fallbackModulePath),n}n.wasmBinaryFile=sn(t.wasmBinaryFile);let i=await Ae.fetchArrayBuffer({url:n.wasmBinaryFile});return n.wasmBinary=i,n}function fa(e,t){this._workerPath=e,this._maximumActiveTasks=y(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._nextID=0,this._webAssemblyPromise=void 0}var lDe=(e,t,n,i)=>{let o=({data:r})=>{if(r.id===t){if(l(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new se(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new de(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),c6.raiseEvent(s),i(s)}else c6.raiseEvent(),n(r.result);e.removeEventListener("message",o)}};return o},uDe=[];async function fDe(e,t,n){let i=await Promise.resolve(Hee());l(n)?i||(n.length=0):n=uDe;let o=e._nextID++,r=new Promise((s,a)=>{e._worker.addEventListener("message",lDe(e._worker,o,s,a))});return e._worker.postMessage({id:o,baseUrl:sn.getCesiumBaseUrl().url,parameters:t,canTransferArrayBuffer:i},n),r}async function dDe(e,t,n){++e._activeTasks;try{let i=await fDe(e,t,n);return--e._activeTasks,i}catch(i){throw--e._activeTasks,i}}fa.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=l6(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return dDe(this,e,t)};fa.prototype.initWebAssemblyModule=async function(e){if(l(this._webAssemblyPromise))return this._webAssemblyPromise;let t=async()=>{let n=this._worker=l6(this._workerPath),i=await cDe(this,e),o=await Promise.resolve(Hee()),r,s=i.wasmBinary;l(s)&&o&&(r=[s]);let a=new Promise((c,u)=>{n.onmessage=function({data:f}){l(f)?c(f.result):u(new se("Could not configure wasm module"))}});return n.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:i}},r),a};return this._webAssemblyPromise=t(),this._webAssemblyPromise};fa.prototype.isDestroyed=function(){return!1};fa.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),ue(this)};fa.taskCompletedEvent=c6;fa._defaultWorkerModulePrefix="Workers/";fa._workerModulePrefix=fa._defaultWorkerModulePrefix;fa._canTransferArrayBuffer=void 0;var bi=fa;function Ap(){}Ap._transcodeTaskProcessor=new bi("transcodeKTX2",Number.POSITIVE_INFINITY);Ap._readyPromise=void 0;function hDe(){let e=Ap._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(t){if(t)return Ap._transcodeTaskProcessor;throw new se("KTX2 transcoder could not be initialized.")});Ap._readyPromise=e}Ap.transcode=function(e,t){return l(Ap._readyPromise)||hDe(),Ap._readyPromise.then(function(n){let i=e;e instanceof ArrayBuffer&&(i=new Uint8Array(e));let o={supportedTargetFormats:t,ktx2Buffer:i};return n.scheduleTask(o,[i.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]);for(let r=0;r<i;r++){let s=n[r];for(let a=0;a<o.length;a++){let c=s[o[a]];s[o[a]]=new bw(c.internalFormat,c.datatype,c.width,c.height,c.levelBuffer)}}if(o.length===1){for(let r=0;r<i;++r)n[r]=n[r][o[0]];i===1&&(n=n[0])}return n}).catch(function(n){throw n})};var Tw=Ap;var Gee;Wee.setKTX2SupportedFormats=function(e,t,n,i,o,r){Gee={s3tc:e,pvrtc:t,astc:n,etc:i,etc1:o,bc7:r}};function Wee(e){let t;return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?t=Promise.resolve(e):t=Ae.createIfNeeded(e).fetchArrayBuffer(),t.then(function(n){return Tw.transcode(n,Gee)})}var Tl=Wee;function mDe(e,t){this.start=y(e,0),this.stop=y(t,0)}var Pa=mDe;function gn(e,t){this.center=h.clone(y(e,h.ZERO)),this.radius=y(t,0)}var d6=new h,h6=new h,m6=new h,p6=new h,_6=new h,g6=new h,y6=new h,da=new h,x6=new h,b6=new h,T6=new h,C6=new h,pDe=4/3*P.PI;gn.fromPoints=function(e,t){if(l(t)||(t=new gn),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=h.clone(e[0],y6),i=h.clone(n,d6),o=h.clone(n,h6),r=h.clone(n,m6),s=h.clone(n,p6),a=h.clone(n,_6),c=h.clone(n,g6),u=e.length,f;for(f=1;f<u;f++){h.clone(e[f],n);let R=n.x,M=n.y,N=n.z;R<i.x&&h.clone(n,i),R>s.x&&h.clone(n,s),M<o.y&&h.clone(n,o),M>a.y&&h.clone(n,a),N<r.z&&h.clone(n,r),N>c.z&&h.clone(n,c)}let d=h.magnitudeSquared(h.subtract(s,i,da)),p=h.magnitudeSquared(h.subtract(a,o,da)),g=h.magnitudeSquared(h.subtract(c,r,da)),m=i,x=s,b=d;p>b&&(b=p,m=o,x=a),g>b&&(b=g,m=r,x=c);let T=x6;T.x=(m.x+x.x)*.5,T.y=(m.y+x.y)*.5,T.z=(m.z+x.z)*.5;let A=h.magnitudeSquared(h.subtract(x,T,da)),C=Math.sqrt(A),E=b6;E.x=i.x,E.y=o.y,E.z=r.z;let v=T6;v.x=s.x,v.y=a.y,v.z=c.z;let D=h.midpoint(E,v,C6),O=0;for(f=0;f<u;f++){h.clone(e[f],n);let R=h.magnitude(h.subtract(n,D,da));R>O&&(O=R);let M=h.magnitudeSquared(h.subtract(n,T,da));if(M>A){let N=Math.sqrt(M);C=(C+N)*.5,A=C*C;let _=N-C;T.x=(C*T.x+_*n.x)/N,T.y=(C*T.y+_*n.y)/N,T.z=(C*T.z+_*n.z)/N}}return C<O?(h.clone(T,t.center),t.radius=C):(h.clone(D,t.center),t.radius=O),t};var jee=new Ri,_De=new h,gDe=new h,u6=new fe,f6=new fe;gn.fromRectangle2D=function(e,t,n){return gn.fromRectangleWithHeights2D(e,t,0,0,n)};gn.fromRectangleWithHeights2D=function(e,t,n,i,o){if(l(o)||(o=new gn),!l(e))return o.center=h.clone(h.ZERO,o.center),o.radius=0,o;jee._ellipsoid=ee.default,t=y(t,jee),ae.southwest(e,u6),u6.height=n,ae.northeast(e,f6),f6.height=i;let r=t.project(u6,_De),s=t.project(f6,gDe),a=s.x-r.x,c=s.y-r.y,u=s.z-r.z;o.radius=Math.sqrt(a*a+c*c+u*u)*.5;let f=o.center;return f.x=r.x+a*.5,f.y=r.y+c*.5,f.z=r.z+u*.5,o};var yDe=[];gn.fromRectangle3D=function(e,t,n,i){if(t=y(t,ee.default),n=y(n,0),l(i)||(i=new gn),!l(e))return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;let o=ae.subsample(e,t,n,yDe);return gn.fromPoints(o,i)};gn.fromVertices=function(e,t,n,i){if(l(i)||(i=new gn),!l(e)||e.length===0)return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;t=y(t,h.ZERO),n=y(n,3);let o=y6;o.x=e[0]+t.x,o.y=e[1]+t.y,o.z=e[2]+t.z;let r=h.clone(o,d6),s=h.clone(o,h6),a=h.clone(o,m6),c=h.clone(o,p6),u=h.clone(o,_6),f=h.clone(o,g6),d=e.length,p;for(p=0;p<d;p+=n){let N=e[p]+t.x,_=e[p+1]+t.y,S=e[p+2]+t.z;o.x=N,o.y=_,o.z=S,N<r.x&&h.clone(o,r),N>c.x&&h.clone(o,c),_<s.y&&h.clone(o,s),_>u.y&&h.clone(o,u),S<a.z&&h.clone(o,a),S>f.z&&h.clone(o,f)}let g=h.magnitudeSquared(h.subtract(c,r,da)),m=h.magnitudeSquared(h.subtract(u,s,da)),x=h.magnitudeSquared(h.subtract(f,a,da)),b=r,T=c,A=g;m>A&&(A=m,b=s,T=u),x>A&&(A=x,b=a,T=f);let C=x6;C.x=(b.x+T.x)*.5,C.y=(b.y+T.y)*.5,C.z=(b.z+T.z)*.5;let E=h.magnitudeSquared(h.subtract(T,C,da)),v=Math.sqrt(E),D=b6;D.x=r.x,D.y=s.y,D.z=a.z;let O=T6;O.x=c.x,O.y=u.y,O.z=f.z;let R=h.midpoint(D,O,C6),M=0;for(p=0;p<d;p+=n){o.x=e[p]+t.x,o.y=e[p+1]+t.y,o.z=e[p+2]+t.z;let N=h.magnitude(h.subtract(o,R,da));N>M&&(M=N);let _=h.magnitudeSquared(h.subtract(o,C,da));if(_>E){let S=Math.sqrt(_);v=(v+S)*.5,E=v*v;let w=S-v;C.x=(v*C.x+w*o.x)/S,C.y=(v*C.y+w*o.y)/S,C.z=(v*C.z+w*o.z)/S}}return v<M?(h.clone(C,i.center),i.radius=v):(h.clone(R,i.center),i.radius=M),i};gn.fromEncodedCartesianVertices=function(e,t,n){if(l(n)||(n=new gn),!l(e)||!l(t)||e.length!==t.length||e.length===0)return n.center=h.clone(h.ZERO,n.center),n.radius=0,n;let i=y6;i.x=e[0]+t[0],i.y=e[1]+t[1],i.z=e[2]+t[2];let o=h.clone(i,d6),r=h.clone(i,h6),s=h.clone(i,m6),a=h.clone(i,p6),c=h.clone(i,_6),u=h.clone(i,g6),f=e.length,d;for(d=0;d<f;d+=3){let M=e[d]+t[d],N=e[d+1]+t[d+1],_=e[d+2]+t[d+2];i.x=M,i.y=N,i.z=_,M<o.x&&h.clone(i,o),M>a.x&&h.clone(i,a),N<r.y&&h.clone(i,r),N>c.y&&h.clone(i,c),_<s.z&&h.clone(i,s),_>u.z&&h.clone(i,u)}let p=h.magnitudeSquared(h.subtract(a,o,da)),g=h.magnitudeSquared(h.subtract(c,r,da)),m=h.magnitudeSquared(h.subtract(u,s,da)),x=o,b=a,T=p;g>T&&(T=g,x=r,b=c),m>T&&(T=m,x=s,b=u);let A=x6;A.x=(x.x+b.x)*.5,A.y=(x.y+b.y)*.5,A.z=(x.z+b.z)*.5;let C=h.magnitudeSquared(h.subtract(b,A,da)),E=Math.sqrt(C),v=b6;v.x=o.x,v.y=r.y,v.z=s.z;let D=T6;D.x=a.x,D.y=c.y,D.z=u.z;let O=h.midpoint(v,D,C6),R=0;for(d=0;d<f;d+=3){i.x=e[d]+t[d],i.y=e[d+1]+t[d+1],i.z=e[d+2]+t[d+2];let M=h.magnitude(h.subtract(i,O,da));M>R&&(R=M);let N=h.magnitudeSquared(h.subtract(i,A,da));if(N>C){let _=Math.sqrt(N);E=(E+_)*.5,C=E*E;let S=_-E;A.x=(E*A.x+S*i.x)/_,A.y=(E*A.y+S*i.y)/_,A.z=(E*A.z+S*i.z)/_}}return E<R?(h.clone(A,n.center),n.radius=E):(h.clone(O,n.center),n.radius=R),n};gn.fromCornerPoints=function(e,t,n){l(n)||(n=new gn);let i=h.midpoint(e,t,n.center);return n.radius=h.distance(i,t),n};gn.fromEllipsoid=function(e,t){return l(t)||(t=new gn),h.clone(h.ZERO,t.center),t.radius=e.maximumRadius,t};var xDe=new h;gn.fromBoundingSpheres=function(e,t){if(l(t)||(t=new gn),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=e.length;if(n===1)return gn.clone(e[0],t);if(n===2)return gn.union(e[0],e[1],t);let i=[],o;for(o=0;o<n;o++)i.push(e[o].center);t=gn.fromPoints(i,t);let r=t.center,s=t.radius;for(o=0;o<n;o++){let a=e[o];s=Math.max(s,h.distance(r,a.center,xDe)+a.radius)}return t.radius=s,t};var bDe=new h,TDe=new h,CDe=new h;gn.fromOrientedBoundingBox=function(e,t){l(t)||(t=new gn);let n=e.halfAxes,i=$.getColumn(n,0,bDe),o=$.getColumn(n,1,TDe),r=$.getColumn(n,2,CDe);return h.add(i,o,i),h.add(i,r,i),t.center=h.clone(e.center,t.center),t.radius=h.magnitude(i),t};var ADe=new h,EDe=new h;gn.fromTransformation=function(e,t){l(t)||(t=new gn);let n=F.getTranslation(e,ADe),i=F.getScale(e,EDe),o=.5*h.magnitude(i);return t.center=h.clone(n,t.center),t.radius=o,t};gn.clone=function(e,t){if(l(e))return l(t)?(t.center=h.clone(e.center,t.center),t.radius=e.radius,t):new gn(e.center,e.radius)};gn.packedLength=4;gn.pack=function(e,t,n){n=y(n,0);let i=e.center;return t[n++]=i.x,t[n++]=i.y,t[n++]=i.z,t[n]=e.radius,t};gn.unpack=function(e,t,n){t=y(t,0),l(n)||(n=new gn);let i=n.center;return i.x=e[t++],i.y=e[t++],i.z=e[t++],n.radius=e[t],n};var SDe=new h,vDe=new h;gn.union=function(e,t,n){l(n)||(n=new gn);let i=e.center,o=e.radius,r=t.center,s=t.radius,a=h.subtract(r,i,SDe),c=h.magnitude(a);if(o>=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let u=(o+c+s)*.5,f=h.multiplyByScalar(a,(-o+u)/c,vDe);return h.add(f,i,f),h.clone(f,n.center),n.radius=u,n};var wDe=new h;gn.expand=function(e,t,n){n=gn.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,wDe));return i>n.radius&&(n.radius=i),n};gn.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?qt.OUTSIDE:r<i?qt.INTERSECTING:qt.INSIDE};gn.transform=function(e,t,n){return l(n)||(n=new gn),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=F.getMaximumScale(t)*e.radius,n};var DDe=new h;gn.distanceSquaredTo=function(e,t){let n=h.subtract(e.center,t,DDe),i=h.magnitude(n)-e.radius;return i<=0?0:i*i};gn.transformWithoutScale=function(e,t,n){return l(n)||(n=new gn),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var IDe=new h;gn.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Pa);let o=h.subtract(e.center,t,IDe),r=h.dot(n,o);return i.start=r-e.radius,i.stop=r+e.radius,i};var qee=new h,PDe=new h,RDe=new h,ODe=new h,MDe=new h,LDe=new fe,Xee=new Array(8);for(let e=0;e<8;++e)Xee[e]=new h;var Yee=new Ri;gn.projectTo2D=function(e,t,n){Yee._ellipsoid=ee.default,t=y(t,Yee);let i=t.ellipsoid,o=e.center,r=e.radius,s;h.equals(o,h.ZERO)?s=h.clone(h.UNIT_X,qee):s=i.geodeticSurfaceNormal(o,qee);let a=h.cross(h.UNIT_Z,s,PDe);h.normalize(a,a);let c=h.cross(s,a,RDe);h.normalize(c,c),h.multiplyByScalar(s,r,s),h.multiplyByScalar(c,r,c),h.multiplyByScalar(a,r,a);let u=h.negate(c,MDe),f=h.negate(a,ODe),d=Xee,p=d[0];h.add(s,c,p),h.add(p,a,p),p=d[1],h.add(s,c,p),h.add(p,f,p),p=d[2],h.add(s,u,p),h.add(p,f,p),p=d[3],h.add(s,u,p),h.add(p,a,p),h.negate(s,s),p=d[4],h.add(s,c,p),h.add(p,a,p),p=d[5],h.add(s,c,p),h.add(p,f,p),p=d[6],h.add(s,u,p),h.add(p,f,p),p=d[7],h.add(s,u,p),h.add(p,a,p);let g=d.length;for(let T=0;T<g;++T){let A=d[T];h.add(o,A,A);let C=i.cartesianToCartographic(A,LDe);t.project(C,A)}n=gn.fromPoints(d,n),o=n.center;let m=o.x,x=o.y,b=o.z;return o.x=b,o.y=m,o.z=x,n};gn.isOccluded=function(e,t){return!t.isBoundingSphereVisible(e)};gn.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&e.radius===t.radius};gn.prototype.intersectPlane=function(e){return gn.intersectPlane(this,e)};gn.prototype.distanceSquaredTo=function(e){return gn.distanceSquaredTo(this,e)};gn.prototype.computePlaneDistances=function(e,t,n){return gn.computePlaneDistances(this,e,t,n)};gn.prototype.isOccluded=function(e){return gn.isOccluded(this,e)};gn.prototype.equals=function(e){return gn.equals(this,e)};gn.prototype.clone=function(e){return gn.clone(this,e)};gn.prototype.volume=function(){let e=this.radius;return pDe*e*e*e};var ce=gn;function NDe(e){e=y(e,y.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}var pn=NDe;var FDe={NONE:0,TOP:1,ALL:2},ln=Object.freeze(FDe);function xs(e){e=y(e,y.EMPTY_OBJECT),this.position=y(e.position,!1),this.normal=y(e.normal,!1),this.st=y(e.st,!1),this.bitangent=y(e.bitangent,!1),this.tangent=y(e.tangent,!1),this.color=y(e.color,!1)}xs.POSITION_ONLY=Object.freeze(new xs({position:!0}));xs.POSITION_AND_NORMAL=Object.freeze(new xs({position:!0,normal:!0}));xs.POSITION_NORMAL_AND_ST=Object.freeze(new xs({position:!0,normal:!0,st:!0}));xs.POSITION_AND_ST=Object.freeze(new xs({position:!0,st:!0}));xs.POSITION_AND_COLOR=Object.freeze(new xs({position:!0,color:!0}));xs.ALL=Object.freeze(new xs({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));xs.DEFAULT=xs.POSITION_NORMAL_AND_ST;xs.packedLength=6;xs.pack=function(e,t,n){return n=y(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t};xs.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new xs),n.position=e[t++]===1,n.normal=e[t++]===1,n.st=e[t++]===1,n.tangent=e[t++]===1,n.bitangent=e[t++]===1,n.color=e[t]===1,n};xs.clone=function(e,t){if(l(e))return l(t)||(t=new xs),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var Ie=xs;var BDe=new h;function su(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum,i=y(e.vertexFormat,Ie.DEFAULT);this._minimum=h.clone(t),this._maximum=h.clone(n),this._vertexFormat=i,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}su.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new su({minimum:h.negate(n,new h),maximum:n,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})};su.fromAxisAlignedBoundingBox=function(e){return new su({minimum:e.minimum,maximum:e.maximum})};su.packedLength=2*h.packedLength+Ie.packedLength+1;su.pack=function(e,t,n){return n=y(n,0),h.pack(e._minimum,t,n),h.pack(e._maximum,t,n+h.packedLength),Ie.pack(e._vertexFormat,t,n+2*h.packedLength),t[n+2*h.packedLength+Ie.packedLength]=y(e._offsetAttribute,-1),t};var Zee=new h,$ee=new h,Qee=new Ie,Kee={minimum:Zee,maximum:$ee,vertexFormat:Qee,offsetAttribute:void 0};su.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Zee),o=h.unpack(e,t+h.packedLength,$ee),r=Ie.unpack(e,t+2*h.packedLength,Qee),s=e[t+2*h.packedLength+Ie.packedLength];return l(n)?(n._minimum=h.clone(i,n._minimum),n._maximum=h.clone(o,n._maximum),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._offsetAttribute=s===-1?void 0:s,n):(Kee.offsetAttribute=s===-1?void 0:s,new su(Kee))};su.createGeometry=function(e){let t=e._minimum,n=e._maximum,i=e._vertexFormat;if(h.equals(t,n))return;let o=new pn,r,s;if(i.position&&(i.st||i.normal||i.tangent||i.bitangent)){if(i.position&&(s=new Float64Array(6*4*3),s[0]=t.x,s[1]=t.y,s[2]=n.z,s[3]=n.x,s[4]=t.y,s[5]=n.z,s[6]=n.x,s[7]=n.y,s[8]=n.z,s[9]=t.x,s[10]=n.y,s[11]=n.z,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=n.x,s[16]=t.y,s[17]=t.z,s[18]=n.x,s[19]=n.y,s[20]=t.z,s[21]=t.x,s[22]=n.y,s[23]=t.z,s[24]=n.x,s[25]=t.y,s[26]=t.z,s[27]=n.x,s[28]=n.y,s[29]=t.z,s[30]=n.x,s[31]=n.y,s[32]=n.z,s[33]=n.x,s[34]=t.y,s[35]=n.z,s[36]=t.x,s[37]=t.y,s[38]=t.z,s[39]=t.x,s[40]=n.y,s[41]=t.z,s[42]=t.x,s[43]=n.y,s[44]=n.z,s[45]=t.x,s[46]=t.y,s[47]=n.z,s[48]=t.x,s[49]=n.y,s[50]=t.z,s[51]=n.x,s[52]=n.y,s[53]=t.z,s[54]=n.x,s[55]=n.y,s[56]=n.z,s[57]=t.x,s[58]=n.y,s[59]=n.z,s[60]=t.x,s[61]=t.y,s[62]=t.z,s[63]=n.x,s[64]=t.y,s[65]=t.z,s[66]=n.x,s[67]=t.y,s[68]=n.z,s[69]=t.x,s[70]=t.y,s[71]=n.z,o.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})),i.normal){let u=new Float32Array(72);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=1,u[9]=0,u[10]=0,u[11]=1,u[12]=0,u[13]=0,u[14]=-1,u[15]=0,u[16]=0,u[17]=-1,u[18]=0,u[19]=0,u[20]=-1,u[21]=0,u[22]=0,u[23]=-1,u[24]=1,u[25]=0,u[26]=0,u[27]=1,u[28]=0,u[29]=0,u[30]=1,u[31]=0,u[32]=0,u[33]=1,u[34]=0,u[35]=0,u[36]=-1,u[37]=0,u[38]=0,u[39]=-1,u[40]=0,u[41]=0,u[42]=-1,u[43]=0,u[44]=0,u[45]=-1,u[46]=0,u[47]=0,u[48]=0,u[49]=1,u[50]=0,u[51]=0,u[52]=1,u[53]=0,u[54]=0,u[55]=1,u[56]=0,u[57]=0,u[58]=1,u[59]=0,u[60]=0,u[61]=-1,u[62]=0,u[63]=0,u[64]=-1,u[65]=0,u[66]=0,u[67]=-1,u[68]=0,u[69]=0,u[70]=-1,u[71]=0,o.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.st){let u=new Float32Array(48);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=1,u[5]=1,u[6]=0,u[7]=1,u[8]=1,u[9]=0,u[10]=0,u[11]=0,u[12]=0,u[13]=1,u[14]=1,u[15]=1,u[16]=0,u[17]=0,u[18]=1,u[19]=0,u[20]=1,u[21]=1,u[22]=0,u[23]=1,u[24]=1,u[25]=0,u[26]=0,u[27]=0,u[28]=0,u[29]=1,u[30]=1,u[31]=1,u[32]=1,u[33]=0,u[34]=0,u[35]=0,u[36]=0,u[37]=1,u[38]=1,u[39]=1,u[40]=0,u[41]=0,u[42]=1,u[43]=0,u[44]=1,u[45]=1,u[46]=0,u[47]=1,o.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:u})}if(i.tangent){let u=new Float32Array(72);u[0]=1,u[1]=0,u[2]=0,u[3]=1,u[4]=0,u[5]=0,u[6]=1,u[7]=0,u[8]=0,u[9]=1,u[10]=0,u[11]=0,u[12]=-1,u[13]=0,u[14]=0,u[15]=-1,u[16]=0,u[17]=0,u[18]=-1,u[19]=0,u[20]=0,u[21]=-1,u[22]=0,u[23]=0,u[24]=0,u[25]=1,u[26]=0,u[27]=0,u[28]=1,u[29]=0,u[30]=0,u[31]=1,u[32]=0,u[33]=0,u[34]=1,u[35]=0,u[36]=0,u[37]=-1,u[38]=0,u[39]=0,u[40]=-1,u[41]=0,u[42]=0,u[43]=-1,u[44]=0,u[45]=0,u[46]=-1,u[47]=0,u[48]=-1,u[49]=0,u[50]=0,u[51]=-1,u[52]=0,u[53]=0,u[54]=-1,u[55]=0,u[56]=0,u[57]=-1,u[58]=0,u[59]=0,u[60]=1,u[61]=0,u[62]=0,u[63]=1,u[64]=0,u[65]=0,u[66]=1,u[67]=0,u[68]=0,u[69]=1,u[70]=0,u[71]=0,o.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.bitangent){let u=new Float32Array(72);u[0]=0,u[1]=1,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=1,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=1,u[14]=0,u[15]=0,u[16]=1,u[17]=0,u[18]=0,u[19]=1,u[20]=0,u[21]=0,u[22]=1,u[23]=0,u[24]=0,u[25]=0,u[26]=1,u[27]=0,u[28]=0,u[29]=1,u[30]=0,u[31]=0,u[32]=1,u[33]=0,u[34]=0,u[35]=1,u[36]=0,u[37]=0,u[38]=1,u[39]=0,u[40]=0,u[41]=1,u[42]=0,u[43]=0,u[44]=1,u[45]=0,u[46]=0,u[47]=1,u[48]=0,u[49]=0,u[50]=1,u[51]=0,u[52]=0,u[53]=1,u[54]=0,u[55]=0,u[56]=1,u[57]=0,u[58]=0,u[59]=1,u[60]=0,u[61]=0,u[62]=1,u[63]=0,u[64]=0,u[65]=1,u[66]=0,u[67]=0,u[68]=1,u[69]=0,u[70]=0,u[71]=1,o.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}r=new Uint16Array(6*2*3),r[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3,r[6]=6,r[7]=5,r[8]=4,r[9]=7,r[10]=6,r[11]=4,r[12]=8,r[13]=9,r[14]=10,r[15]=8,r[16]=10,r[17]=11,r[18]=14,r[19]=13,r[20]=12,r[21]=15,r[22]=14,r[23]=12,r[24]=18,r[25]=17,r[26]=16,r[27]=19,r[28]=18,r[29]=16,r[30]=20,r[31]=21,r[32]=22,r[33]=20,r[34]=22,r[35]=23}else s=new Float64Array(8*3),s[0]=t.x,s[1]=t.y,s[2]=t.z,s[3]=n.x,s[4]=t.y,s[5]=t.z,s[6]=n.x,s[7]=n.y,s[8]=t.z,s[9]=t.x,s[10]=n.y,s[11]=t.z,s[12]=t.x,s[13]=t.y,s[14]=n.z,s[15]=n.x,s[16]=t.y,s[17]=n.z,s[18]=n.x,s[19]=n.y,s[20]=n.z,s[21]=t.x,s[22]=n.y,s[23]=n.z,o.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s}),r=new Uint16Array(6*2*3),r[0]=4,r[1]=5,r[2]=6,r[3]=4,r[4]=6,r[5]=7,r[6]=1,r[7]=0,r[8]=3,r[9]=1,r[10]=3,r[11]=2,r[12]=1,r[13]=6,r[14]=5,r[15]=1,r[16]=2,r[17]=6,r[18]=2,r[19]=3,r[20]=7,r[21]=2,r[22]=7,r[23]=6,r[24]=3,r[25]=0,r[26]=4,r[27]=3,r[28]=4,r[29]=7,r[30]=0,r[31]=1,r[32]=5,r[33]=0,r[34]=5,r[35]=4;let a=h.subtract(n,t,BDe),c=h.magnitude(a)*.5;if(l(e._offsetAttribute)){let u=s.length,f=e._offsetAttribute===ln.NONE?0:1,d=new Uint8Array(u/3).fill(f);o.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return new ft({attributes:o,indices:r,primitiveType:Ne.TRIANGLES,boundingSphere:new ce(h.ZERO,c),offsetAttribute:e._offsetAttribute})};var A6;su.getUnitBox=function(){return l(A6)||(A6=su.createGeometry(su.fromDimensions({dimensions:new h(1,1,1),vertexFormat:Ie.POSITION_ONLY}))),A6};var Ra=su;var so={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};so.getMathType=function(e){switch(e){case so.SCALAR:return Number;case so.VEC2:return z;case so.VEC3:return h;case so.VEC4:return ie;case so.MAT2:return Oi;case so.MAT3:return $;case so.MAT4:return F}};so.getNumberOfComponents=function(e){switch(e){case so.SCALAR:return 1;case so.VEC2:return 2;case so.VEC3:return 3;case so.VEC4:case so.MAT2:return 4;case so.MAT3:return 9;case so.MAT4:return 16}};so.getAttributeLocationCount=function(e){switch(e){case so.SCALAR:case so.VEC2:case so.VEC3:case so.VEC4:return 1;case so.MAT2:return 2;case so.MAT3:return 3;case so.MAT4:return 4}};so.getGlslType=function(e){switch(e){case so.SCALAR:return"float";case so.VEC2:return"vec2";case so.VEC3:return"vec3";case so.VEC4:return"vec4";case so.MAT2:return"mat2";case so.MAT3:return"mat3";case so.MAT4:return"mat4"}};var an=Object.freeze(so);var Jee=1/256,ete=256,Eo={};Eo.octEncodeInRange=function(e,t,n){if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,o=n.y;n.x=(1-Math.abs(o))*P.signNotZero(i),n.y=(1-Math.abs(i))*P.signNotZero(o)}return n.x=P.toSNorm(n.x,t),n.y=P.toSNorm(n.y,t),n};Eo.octEncode=function(e,t){return Eo.octEncodeInRange(e,255,t)};var Cw=new z,tte=new Uint8Array(1);function WV(e){return tte[0]=e,tte[0]}Eo.octEncodeToCartesian4=function(e,t){return Eo.octEncodeInRange(e,65535,Cw),t.x=WV(Cw.x*Jee),t.y=WV(Cw.x),t.z=WV(Cw.y*Jee),t.w=WV(Cw.y),t};Eo.octDecodeInRange=function(e,t,n,i){if(i.x=P.fromSNorm(e,n),i.y=P.fromSNorm(t,n),i.z=1-(Math.abs(i.x)+Math.abs(i.y)),i.z<0){let o=i.x;i.x=(1-Math.abs(i.y))*P.signNotZero(o),i.y=(1-Math.abs(o))*P.signNotZero(i.y)}return h.normalize(i,i)};Eo.octDecode=function(e,t,n){return Eo.octDecodeInRange(e,t,255,n)};Eo.octDecodeFromCartesian4=function(e,t){let n=e.x,i=e.y,o=e.z,r=e.w,s=n*ete+i,a=o*ete+r;return Eo.octDecodeInRange(s,a,65535,t)};Eo.octPackFloat=function(e){return 256*e.x+e.y};var S6=new z;Eo.octEncodeFloat=function(e){return Eo.octEncode(e,S6),Eo.octPackFloat(S6)};Eo.octDecodeFloat=function(e,t){let n=e/256,i=Math.floor(n),o=(n-i)*256;return Eo.octDecode(i,o,t)};Eo.octPack=function(e,t,n,i){let o=Eo.octEncodeFloat(e),r=Eo.octEncodeFloat(t),s=Eo.octEncode(n,S6);return i.x=65536*s.x+o,i.y=65536*s.y+r,i};Eo.octUnpack=function(e,t,n,i){let o=e.x/65536,r=Math.floor(o),s=(o-r)*65536;o=e.y/65536;let a=Math.floor(o),c=(o-a)*65536;Eo.octDecodeFloat(s,t),Eo.octDecodeFloat(c,n),Eo.octDecode(r,a,i)};Eo.compressTextureCoordinates=function(e){let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};Eo.decompressTextureCoordinates=function(e,t){let n=e/4096,i=Math.floor(n);return t.x=i/4095,t.y=(e-i*4096)/4095,t};function E6(e){return e>>1^-(e&1)}Eo.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a<i;++a)o+=E6(e[a]),r+=E6(t[a]),e[a]=o,t[a]=r,l(n)&&(s+=E6(n[a]),n[a]=s)};Eo.dequantize=function(e,t,n,i){let o=an.getNumberOfComponents(n),r;switch(t){case X.BYTE:r=127;break;case X.UNSIGNED_BYTE:r=255;break;case X.SHORT:r=32767;break;case X.UNSIGNED_SHORT:r=65535;break;case X.INT:r=2147483647;break;case X.UNSIGNED_INT:r=4294967295;break}let s=new Float32Array(i*o);for(let a=0;a<i;a++)for(let c=0;c<o;c++){let u=a*o+c;s[u]=Math.max(e[u]/r,-1)}return s};Eo.decodeRGB565=function(e,t){let n=e.length;l(t)||(t=new Float32Array(n*3));let i=31,o=63,r=1/31,s=1/63;for(let a=0;a<n;a++){let c=e[a],u=c>>11,f=c>>5&o,d=c&i,p=3*a;t[p]=u*r,t[p+1]=f*s,t[p+2]=d*r}return t};var Nn=Eo;var nte=new h,ite=new h,ote=new h;function kDe(e,t,n,i,o){l(o)||(o=new h);let r,s,a,c,u,f,d,p;if(l(t.z)){if(h.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,nte),s=h.subtract(i,t,ite),a=h.subtract(e,t,ote),c=h.dot(r,r),u=h.dot(r,s),f=h.dot(r,a),d=h.dot(s,s),p=h.dot(s,a)}else{if(z.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(z.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(z.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=z.subtract(n,t,nte),s=z.subtract(i,t,ite),a=z.subtract(e,t,ote),c=z.dot(r,r),u=z.dot(r,s),f=z.dot(r,a),d=z.dot(s,s),p=z.dot(s,a)}o.y=d*f-u*p,o.z=c*p-u*f;let g=c*d-u*u;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var dx=kDe;function em(){this.high=h.clone(h.ZERO),this.low=h.clone(h.ZERO)}em.encode=function(e,t){l(t)||(t={high:0,low:0});let n;return e>=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var Ep={high:0,low:0};em.fromCartesian=function(e,t){l(t)||(t=new em);let n=t.high,i=t.low;return em.encode(e.x,Ep),n.x=Ep.high,i.x=Ep.low,em.encode(e.y,Ep),n.y=Ep.high,i.y=Ep.low,em.encode(e.z,Ep),n.z=Ep.high,i.z=Ep.low,t};var v6=new em;em.writeElements=function(e,t,n){em.fromCartesian(e,v6);let i=v6.high,o=v6.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z};var jn=em;var w6={};w6.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function rte(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}w6.computeRealRoots=function(e,t,n){let i;if(e===0)return t===0?[]:[-n/t];if(t===0){if(n===0)return[0,0];let c=Math.abs(n),u=Math.abs(e);if(c<u&&c/u<P.EPSILON14)return[0,0];if(c>u&&u/c<P.EPSILON14)return[];if(i=-n/e,i<0)return[];let f=Math.sqrt(i);return[-f,f]}else if(n===0)return i=-t/e,i<0?[i,0]:[0,i];let o=t*t,r=4*e*n,s=rte(o,-r,P.EPSILON14);if(s<0)return[];let a=-.5*rte(t,P.sign(t)*Math.sqrt(s),P.EPSILON14);return t>0?[a/e,n/a]:[n/a,a/e]};var Bc=w6;var I6={};I6.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function D6(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,u=r*a,f=r*r,d=s*s,p=o*s-f,g=o*a-r*s,m=r*a-d,x=4*p*m-g*g,b,T;if(x<0){let W,Y,Q;f*u>=c*d?(W=o,Y=p,Q=-2*r*p+o*g):(W=a,Y=m,Q=-a*g+2*s*m);let Z=-(Q<0?-1:1)*Math.abs(W)*Math.sqrt(-x);T=-Q+Z;let J=T/2,he=J<0?-Math.pow(-J,1/3):Math.pow(J,1/3),xe=T===Z?-he:-Y/he;return b=Y<=0?he+xe:-Q/(he*he+xe*xe+Y),f*u>=c*d?[(b-r)/o]:[-a/(b+s)]}let A=p,C=-2*r*p+o*g,E=m,v=-a*g+2*s*m,D=Math.sqrt(x),O=Math.sqrt(3)/2,R=Math.abs(Math.atan2(o*D,-C)/3);b=2*Math.sqrt(-A);let M=Math.cos(R);T=b*M;let N=b*(-M/2-O*Math.sin(R)),_=T+N>2*r?T-r:N-r,S=o,w=_/S;R=Math.abs(Math.atan2(a*D,-v)/3),b=2*Math.sqrt(-E),M=Math.cos(R),T=b*M,N=b*(-M/2-O*Math.sin(R));let I=-a,L=T+N<2*s?T+s:N+s,B=I/L,U=S*L,V=-_*L-S*I,G=_*I,k=(s*V-r*G)/(-r*V+s*U);return w<=k?w<=B?k<=B?[w,k,B]:[w,B,k]:[B,w,k]:w<=B?[k,w,B]:k<=B?[k,B,w]:[B,k,w]}I6.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return Bc.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=Bc.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return D6(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):D6(e,t,0,i);if(i===0)return o=Bc.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return D6(e,t,n,i)};var hx=I6;var P6={};P6.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,u=n*n,f=u*n,d=i*i,p=d*i,g=o*o,m=g*o;return a*u*d-4*c*p-4*e*f*d+18*e*t*n*p-27*r*d*d+256*s*m+o*(18*c*n*i-4*a*f+16*e*u*u-80*e*t*u*i-6*e*a*d+144*r*n*d)+g*(144*e*a*n-27*a*a-128*r*u-192*r*t*i)};function Ed(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=hx.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let u=-e/4,f=c[c.length-1];if(Math.abs(f)<P.EPSILON14){let d=Bc.computeRealRoots(1,r,a);if(d.length===2){let p=d[0],g=d[1],m;if(p>=0&&g>=0){let x=Math.sqrt(p),b=Math.sqrt(g);return[u-b,u-x,u+x,u+b]}else{if(p>=0&&g<0)return m=Math.sqrt(p),[u-m,u+m];if(p<0&&g>=0)return m=Math.sqrt(g),[u-m,u+m]}}return[]}else if(f>0){let d=Math.sqrt(f),p=(r+f-s/d)/2,g=(r+f+s/d)/2,m=Bc.computeRealRoots(1,d,p),x=Bc.computeRealRoots(1,-d,g);return m.length!==0?(m[0]+=u,m[1]+=u,x.length!==0?(x[0]+=u,x[1]+=u,m[1]<=x[0]?[m[0],m[1],x[0],x[1]]:x[1]<=m[0]?[x[0],x[1],m[0],m[1]]:m[0]>=x[0]&&m[1]<=x[1]?[x[0],m[0],m[1],x[1]]:x[0]>=m[0]&&x[1]<=m[1]?[m[0],x[0],x[1],m[1]]:m[0]>x[0]&&m[0]<x[1]?[x[0],m[0],x[1],m[1]]:[m[0],x[0],m[1],x[1]]):m):x.length!==0?(x[0]+=u,x[1]+=u,x):[]}}return[]}function Aw(e,t,n,i){let o=n*n,r=t*t,s=e*e,a=-2*t,c=n*e+r-4*i,u=s*i-n*t*e+o,f=hx.computeRealRoots(1,a,c,u);if(f.length>0){let d=f[0],p=t-d,g=p*p,m=e/2,x=p/2,b=g-4*i,T=g+4*Math.abs(i),A=s-4*d,C=s+4*Math.abs(d),E,v;if(d<0||b*C<A*T){let S=Math.sqrt(A);E=S/2,v=S===0?0:(e*x-n)/S}else{let S=Math.sqrt(b);E=S===0?0:(e*x-n)/S,v=S/2}let D,O;m===0&&E===0?(D=0,O=0):P.sign(m)===P.sign(E)?(D=m+E,O=d/D):(O=m-E,D=d/O);let R,M;x===0&&v===0?(R=0,M=0):P.sign(x)===P.sign(v)?(R=x+v,M=i/R):(M=x-v,R=i/M);let N=Bc.computeRealRoots(1,D,R),_=Bc.computeRealRoots(1,O,M);if(N.length!==0)return _.length!==0?N[1]<=_[0]?[N[0],N[1],_[0],_[1]]:_[1]<=N[0]?[_[0],_[1],N[0],N[1]]:N[0]>=_[0]&&N[1]<=_[1]?[_[0],N[0],N[1],_[1]]:_[0]>=N[0]&&_[1]<=N[1]?[N[0],_[0],_[1],N[1]]:N[0]>_[0]&&N[0]<_[1]?[_[0],N[0],_[1],N[1]]:[N[0],_[0],N[1],_[1]]:N;if(_.length!==0)return _}return[]}P6.computeRealRoots=function(e,t,n,i,o){if(Math.abs(e)<P.EPSILON15)return hx.computeRealRoots(t,n,i,o);let r=t/e,s=n/e,a=i/e,c=o/e,u=r<0?1:0;switch(u+=s<0?u+1:u,u+=a<0?u+1:u,u+=c<0?u+1:u,u){case 0:return Ed(r,s,a,c);case 1:return Aw(r,s,a,c);case 2:return Aw(r,s,a,c);case 3:return Ed(r,s,a,c);case 4:return Ed(r,s,a,c);case 5:return Aw(r,s,a,c);case 6:return Ed(r,s,a,c);case 7:return Ed(r,s,a,c);case 8:return Aw(r,s,a,c);case 9:return Ed(r,s,a,c);case 10:return Ed(r,s,a,c);case 11:return Aw(r,s,a,c);case 12:return Ed(r,s,a,c);case 13:return Ed(r,s,a,c);case 14:return Ed(r,s,a,c);case 15:return Ed(r,s,a,c);default:return}};var Ew=P6;function jV(e,t){t=h.clone(y(t,h.ZERO)),h.equals(t,h.ZERO)||h.normalize(t,t),this.origin=h.clone(y(e,h.ZERO)),this.direction=t}jV.clone=function(e,t){if(l(e))return l(t)?(t.origin=h.clone(e.origin),t.direction=h.clone(e.direction),t):new jV(e.origin,e.direction)};jV.getPoint=function(e,t,n){return l(n)||(n=new h),n=h.multiplyByScalar(e.direction,t,n),h.add(e.origin,n,n)};var yn=jV;var qo={};qo.rayPlane=function(e,t,n){l(n)||(n=new h);let i=e.origin,o=e.direction,r=t.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON15)return;let a=(-t.distance-h.dot(r,i))/s;if(!(a<0))return n=h.multiplyByScalar(o,a,n),h.add(i,n,n)};var VDe=new h,UDe=new h,hte=new h,ste=new h,ate=new h;qo.rayTriangleParametric=function(e,t,n,i,o){o=y(o,!1);let r=e.origin,s=e.direction,a=h.subtract(n,t,VDe),c=h.subtract(i,t,UDe),u=h.cross(s,c,hte),f=h.dot(a,u),d,p,g,m,x;if(o){if(f<P.EPSILON6||(d=h.subtract(r,t,ste),g=h.dot(d,u),g<0||g>f)||(p=h.cross(d,a,ate),m=h.dot(s,p),m<0||g+m>f))return;x=h.dot(c,p)/f}else{if(Math.abs(f)<P.EPSILON6)return;let b=1/f;if(d=h.subtract(r,t,ste),g=h.dot(d,u)*b,g<0||g>1||(p=h.cross(d,a,ate),m=h.dot(s,p)*b,m<0||g+m>1))return;x=h.dot(c,p)*b}return x};qo.rayTriangle=function(e,t,n,i,o,r){let s=qo.rayTriangleParametric(e,t,n,i,o);if(!(!l(s)||s<0))return l(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var zDe=new yn;qo.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=zDe;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=qo.rayTriangleParametric(a,n,i,o,r);if(!(!l(c)||c<0||c>h.distance(e,t)))return l(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function HDe(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,u=(-t-a)*s;return c<u?(i.root0=c,i.root1=u):(i.root0=u,i.root1=c),i}let r=-t/(2*e);if(r!==0)return i.root0=i.root1=r,i}var GDe={root0:0,root1:0};function mte(e,t,n){l(n)||(n=new Pa);let i=e.origin,o=e.direction,r=t.center,s=t.radius*t.radius,a=h.subtract(i,r,hte),c=h.dot(o,o),u=2*h.dot(o,a),f=h.magnitudeSquared(a)-s,d=HDe(c,u,f,GDe);if(l(d))return n.start=d.root0,n.stop=d.root1,n}qo.raySphere=function(e,t,n){if(n=mte(e,t,n),!(!l(n)||n.stop<0))return n.start=Math.max(n.start,0),n};var WDe=new yn;qo.lineSegmentSphere=function(e,t,n,i){let o=WDe;h.clone(e,o.origin);let r=h.subtract(t,e,o.direction),s=h.magnitude(r);if(h.normalize(r,r),i=mte(o,n,i),!(!l(i)||i.stop<0||i.start>s))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var jDe=new h,qDe=new h;qo.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,jDe),o=h.multiplyComponents(n,e.direction,qDe),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,u,f,d;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),u=c*a,p<u)return;if(p>u){f=s*s-u,d=-s+Math.sqrt(f);let m=d/c,x=a/d;return m<x?new Pa(m,x):{start:x,stop:m}}let g=Math.sqrt(a/c);return new Pa(g,g)}else if(r<1)return a=r-1,c=h.magnitudeSquared(o),u=c*a,f=s*s-u,d=-s+Math.sqrt(f),new Pa(0,d/c);if(s<0)return c=h.magnitudeSquared(o),new Pa(0,-s/c)};function mx(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}qo.quadraticVectorExpression=function(e,t,n,i,o){let r=i*i,s=o*o,a=(e[$.COLUMN1ROW1]-e[$.COLUMN2ROW2])*s,c=o*(i*mx(e[$.COLUMN1ROW0],e[$.COLUMN0ROW1],P.EPSILON15)+t.y),u=e[$.COLUMN0ROW0]*r+e[$.COLUMN2ROW2]*s+i*t.x+n,f=s*mx(e[$.COLUMN2ROW1],e[$.COLUMN1ROW2],P.EPSILON15),d=o*(i*mx(e[$.COLUMN2ROW0],e[$.COLUMN0ROW2])+t.z),p,g=[];if(d===0&&f===0){if(p=Bc.computeRealRoots(a,c,u),p.length===0)return g;let R=p[0],M=Math.sqrt(Math.max(1-R*R,0));if(g.push(new h(i,o*R,o*-M)),g.push(new h(i,o*R,o*M)),p.length===2){let N=p[1],_=Math.sqrt(Math.max(1-N*N,0));g.push(new h(i,o*N,o*-_)),g.push(new h(i,o*N,o*_))}return g}let m=d*d,x=f*f,b=a*a,T=d*f,A=b+x,C=2*(c*a+T),E=2*u*a+c*c-x+m,v=2*(u*c-T),D=u*u-m;if(A===0&&C===0&&E===0&&v===0)return g;p=Ew.computeRealRoots(A,C,E,v,D);let O=p.length;if(O===0)return g;for(let R=0;R<O;++R){let M=p[R],N=M*M,_=Math.max(1-N,0),S=Math.sqrt(_),w;P.sign(a)===P.sign(u)?w=mx(a*N+u,c*M,P.EPSILON12):P.sign(u)===P.sign(c*M)?w=mx(a*N,c*M+u,P.EPSILON12):w=mx(a*N+c*M,u,P.EPSILON12);let I=mx(f*M,d,P.EPSILON15),L=w*I;L<0?g.push(new h(i,o*M,o*S)):L>0?g.push(new h(i,o*M,o*-S)):S!==0?(g.push(new h(i,o*M,o*-S)),g.push(new h(i,o*M,o*S)),++R):g.push(new h(i,o*M,o*S))}return g};var R6=new h,cte=new h,lte=new h,qV=new h,YDe=new h,XDe=new $,KDe=new $,ZDe=new $,$De=new $,QDe=new $,ute=new $,fte=new $,dte=new h,JDe=new h,eIe=new fe;qo.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let D=t.geodeticSurfaceNormal(n,R6);if(h.dot(i,D)>=0)return n}let o=l(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,R6),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,qV),c=h.normalize(h.cross(a,s,cte),cte),u=h.normalize(h.cross(s,c,lte),lte),f=XDe;f[0]=s.x,f[1]=s.y,f[2]=s.z,f[3]=c.x,f[4]=c.y,f[5]=c.z,f[6]=u.x,f[7]=u.y,f[8]=u.z;let d=$.transpose(f,KDe),p=$.fromScale(t.radii,ZDe),g=$.fromScale(t.oneOverRadii,$De),m=QDe;m[0]=0,m[1]=-i.z,m[2]=i.y,m[3]=i.z,m[4]=0,m[5]=-i.x,m[6]=-i.y,m[7]=i.x,m[8]=0;let x=$.multiply($.multiply(d,g,ute),m,ute),b=$.multiply($.multiply(x,p,fte),f,fte),T=$.multiplyByVector(x,n,YDe),A=qo.quadraticVectorExpression(b,h.negate(T,R6),0,0,1),C,E,v=A.length;if(v>0){let D=h.clone(h.ZERO,JDe),O=Number.NEGATIVE_INFINITY;for(let M=0;M<v;++M){C=$.multiplyByVector(p,$.multiplyByVector(f,A[M],dte),dte);let N=h.normalize(h.subtract(C,n,qV),qV),_=h.dot(N,i);_>O&&(O=_,D=h.clone(C,D))}let R=t.cartesianToCartographic(D,eIe);return O=P.clamp(O,0,1),E=h.magnitude(h.subtract(D,n,qV))*Math.sqrt(1-O*O),E=o?-E:E,R.height=E,t.cartographicToCartesian(R,new h)}};var tIe=new h;qo.lineSegmentPlane=function(e,t,n,i){l(i)||(i=new h);let o=h.subtract(t,e,tIe),r=n.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON6)return;let a=h.dot(r,e),c=-(n.distance+a)/s;if(!(c<0||c>1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};qo.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,u=0;u+=s?1:0,u+=a?1:0,u+=c?1:0;let f,d;if((u===1||u===2)&&(f=new h,d=new h),u===1){if(s)return qo.lineSegmentPlane(e,t,i,f),qo.lineSegmentPlane(e,n,i,d),{positions:[e,t,n,f,d],indices:[0,3,4,1,2,4,1,4,3]};if(a)return qo.lineSegmentPlane(t,n,i,f),qo.lineSegmentPlane(t,e,i,d),{positions:[e,t,n,f,d],indices:[1,3,4,2,0,4,2,4,3]};if(c)return qo.lineSegmentPlane(n,e,i,f),qo.lineSegmentPlane(n,t,i,d),{positions:[e,t,n,f,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(u===2)if(s)if(a){if(!c)return qo.lineSegmentPlane(e,n,i,f),qo.lineSegmentPlane(t,n,i,d),{positions:[e,t,n,f,d],indices:[0,1,4,0,4,3,2,3,4]}}else return qo.lineSegmentPlane(n,t,i,f),qo.lineSegmentPlane(e,t,i,d),{positions:[e,t,n,f,d],indices:[2,0,4,2,4,3,1,3,4]};else return qo.lineSegmentPlane(t,e,i,f),qo.lineSegmentPlane(n,e,i,d),{positions:[e,t,n,f,d],indices:[1,2,4,1,4,3,0,3,4]}};var ei=qo;function js(e,t){this.normal=h.clone(e),this.distance=t}js.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return l(n)?(h.clone(t,n.normal),n.distance=i,n):new js(t,i)};var nIe=new h;js.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,nIe),i=e.w;return l(t)?(h.clone(n,t.normal),t.distance=i,t):new js(n,i)};js.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var iIe=new h;js.projectPointOntoPlane=function(e,t,n){l(n)||(n=new h);let i=js.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,iIe);return h.subtract(t,o,n)};var oIe=new F,rIe=new ie,sIe=new h;js.transform=function(e,t,n){let i=e.normal,o=e.distance,r=F.inverseTranspose(t,oIe),s=ie.fromElements(i.x,i.y,i.z,o,rIe);s=F.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,sIe);return s=ie.divideByScalar(s,h.magnitude(a),s),js.fromCartesian4(s,n)};js.clone=function(e,t){return l(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new js(e.normal,e.distance)};js.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};js.ORIGIN_XY_PLANE=Object.freeze(new js(h.UNIT_Z,0));js.ORIGIN_YZ_PLANE=Object.freeze(new js(h.UNIT_X,0));js.ORIGIN_ZX_PLANE=Object.freeze(new js(h.UNIT_Y,0));var un=js;var O6={};O6.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!l(n)){n=0;let a=0,c=t[a];for(;a<o;)c>n&&(n=c),++a,c=t[a]}let r=[];for(let a=0;a<n+1;a++)r[a]=0;let s=i+1;for(let a=0;a<o;++a)s-r[t[a]]>i&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};O6.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(_,S,w,I){for(;S.length>=1;){let L=S[S.length-1];if(S.splice(S.length-1,1),_[L].numLiveTriangles>0)return L}for(;o<I;){if(_[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function s(_,S,w,I,L,B,U){let V=-1,G,k=-1,W=0;for(;W<w.length;){let Y=w[W];I[Y].numLiveTriangles&&(G=0,L-I[Y].timeStamp+2*I[Y].numLiveTriangles<=S&&(G=L-I[Y].timeStamp),(G>k||k===-1)&&(k=G,V=Y)),++W}return V===-1?r(I,B,_,U):V}let a=t.length,c=0,u=0,f=t[u],d=a;if(l(n))c=n+1;else{for(;u<d;)f>c&&(c=f),++u,f=t[u];if(c===-1)return 0;++c}let p=[],g;for(g=0;g<c;g++)p[g]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;let m=0;for(;u<d;)p[t[u]].vertexTriangles.push(m),++p[t[u]].numLiveTriangles,p[t[u+1]].vertexTriangles.push(m),++p[t[u+1]].numLiveTriangles,p[t[u+2]].vertexTriangles.push(m),++p[t[u+2]].numLiveTriangles,++m,u+=3;let x=0,b=i+1;o=1;let T=[],A=[],C,E,v=0,D=[],O=a/3,R=[];for(g=0;g<O;g++)R[g]=!1;let M,N;for(;x!==-1;){T=[],E=p[x],N=E.vertexTriangles.length;for(let _=0;_<N;++_)if(m=E.vertexTriangles[_],!R[m]){R[m]=!0,u=m+m+m;for(let S=0;S<3;++S)M=t[u],T.push(M),A.push(M),D[v]=M,++v,C=p[M],--C.numLiveTriangles,b-C.timeStamp>i&&(C.timeStamp=b,++b),++u}x=s(t,i,T,p,b,A,c)}return D};var Sw=O6;var kc={};function JV(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function aIe(e){let t=e.length,n=t/3*6,i=Fe.createTypedArray(t,n),o=0;for(let r=0;r<t;r+=3,o+=6)JV(i,o,e[r],e[r+1],e[r+2]);return i}function cIe(e){let t=e.length;if(t>=3){let n=(t-2)*6,i=Fe.createTypedArray(t,n);JV(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r<t;++r,o+=6)JV(i,o,e[r-1],e[r],e[r-2]);return i}return new Uint16Array}function lIe(e){if(e.length>0){let t=e.length-1,n=(t-1)*6,i=Fe.createTypedArray(t,n),o=e[0],r=0;for(let s=1;s<t;++s,r+=6)JV(i,r,o,e[s],e[s+1]);return i}return new Uint16Array}kc.toWireframe=function(e){let t=e.indices;if(l(t)){switch(e.primitiveType){case Ne.TRIANGLES:e.indices=aIe(t);break;case Ne.TRIANGLE_STRIP:e.indices=cIe(t);break;case Ne.TRIANGLE_FAN:e.indices=lIe(t);break}e.primitiveType=Ne.LINES}return e};kc.createLineSegmentsForVectors=function(e,t,n){t=y(t,"normal"),n=y(n,1e4);let i=e.attributes.position.values,o=e.attributes[t].values,r=i.length,s=new Float64Array(2*r),a=0;for(let f=0;f<r;f+=3)s[a++]=i[f],s[a++]=i[f+1],s[a++]=i[f+2],s[a++]=i[f]+o[f]*n,s[a++]=i[f+1]+o[f+1]*n,s[a++]=i[f+2]+o[f+2]*n;let c,u=e.boundingSphere;return l(u)&&(c=new ce(u.center,u.radius+n)),new ft({attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:Ne.LINES,boundingSphere:c})};kc.createAttributeLocations=function(e){let t=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=e.attributes,i={},o=0,r,s=t.length;for(r=0;r<s;++r){let a=t[r];l(n[a])&&(i[a]=o++)}for(let a in n)n.hasOwnProperty(a)&&!l(i[a])&&(i[a]=o++);return i};kc.reorderForPreVertexCache=function(e){let t=ft.computeNumberOfVertices(e),n=e.indices;if(l(n)){let i=new Int32Array(t);for(let p=0;p<t;p++)i[p]=-1;let o=n,r=o.length,s=Fe.createTypedArray(t,r),a=0,c=0,u=0,f;for(;a<r;)f=i[o[a]],f!==-1?s[c]=f:(f=o[a],i[f]=u,s[c]=u,++u),++a,++c;e.indices=s;let d=e.attributes;for(let p in d)if(d.hasOwnProperty(p)&&l(d[p])&&l(d[p].values)){let g=d[p],m=g.values,x=0,b=g.componentsPerAttribute,T=X.createTypedArray(g.componentDatatype,u*b);for(;x<t;){let A=i[x];if(A!==-1)for(let C=0;C<b;C++)T[b*A+C]=m[b*x+C];++x}g.values=T}}return e};kc.reorderForPostVertexCache=function(e,t){let n=e.indices;if(e.primitiveType===Ne.TRIANGLES&&l(n)){let i=n.length,o=0;for(let r=0;r<i;r++)n[r]>o&&(o=n[r]);e.indices=Sw.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function pte(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)){let i=e[n];t[n]=new Se({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function uIe(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];for(let r=0;r<o.componentsPerAttribute;++r)e[i].values.push(o.values[n*o.componentsPerAttribute+r])}}kc.fitToUnsignedShortIndices=function(e){let t=[],n=ft.computeNumberOfVertices(e);if(l(e.indices)&&n>=P.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=pte(e.attributes),a=e.indices,c=a.length,u;e.primitiveType===Ne.TRIANGLES?u=3:e.primitiveType===Ne.LINES?u=2:e.primitiveType===Ne.POINTS&&(u=1);for(let f=0;f<c;f+=u){for(let d=0;d<u;++d){let p=a[f+d],g=i[p];l(g)||(g=r++,i[p]=g,uIe(s,e.attributes,p)),o.push(g)}r+u>=P.SIXTY_FOUR_KILOBYTES&&(t.push(new ft({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=pte(e.attributes))}o.length!==0&&t.push(new ft({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var _te=new h,fIe=new fe;kc.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=l(o)?o:new Ri;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),u=0;for(let f=0;f<a.length;f+=3){let d=h.fromArray(a,f,_te),p=s.cartesianToCartographic(d,fIe),g=o.project(p,_te);c[u++]=g.x,c[u++]=g.y,c[u++]=g.z}return e.attributes[n]=r,e.attributes[i]=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c}),delete e.attributes[t],e};var M6={high:0,low:0};kc.encodeAttribute=function(e,t,n,i){let o=e.attributes[t],r=o.values,s=r.length,a=new Float32Array(s),c=new Float32Array(s);for(let f=0;f<s;++f)jn.encode(r[f],M6),a[f]=M6.high,c[f]=M6.low;let u=o.componentsPerAttribute;return e.attributes[n]=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:a}),e.attributes[i]=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:c}),delete e.attributes[t],e};var vd=new h;function L6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,vd),F.multiplyByPoint(e,vd,vd),h.pack(vd,n,o)}}function N6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,vd),$.multiplyByVector(e,vd,vd),vd=h.normalize(vd,vd),h.pack(vd,n,o)}}var YV=new F,XV=new $;kc.transformToWorldCoordinates=function(e){let t=e.modelMatrix;if(F.equals(t,F.IDENTITY))return e;let n=e.geometry.attributes;L6(t,n.position),L6(t,n.prevPosition),L6(t,n.nextPosition),(l(n.normal)||l(n.tangent)||l(n.bitangent))&&(F.inverse(t,YV),F.transpose(YV,YV),F.getMatrix3(YV,XV),N6(XV,n.normal),N6(XV,n.tangent),N6(XV,n.bitangent));let i=e.geometry.boundingSphere;return l(i)&&(e.geometry.boundingSphere=ce.transform(i,t,i)),e.modelMatrix=F.clone(F.IDENTITY),e};function dIe(e,t){let n=e.length,i={},o=e[0][t].attributes,r;for(r in o)if(o.hasOwnProperty(r)&&l(o[r])&&l(o[r].values)){let s=o[r],a=s.values.length,c=!0;for(let u=1;u<n;++u){let f=e[u][t].attributes[r];if(!l(f)||s.componentDatatype!==f.componentDatatype||s.componentsPerAttribute!==f.componentsPerAttribute||s.normalize!==f.normalize){c=!1;break}a+=f.values.length}c&&(i[r]=new Se({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:X.createTypedArray(s.componentDatatype,a)}))}return i}var hIe=new h;function F6(e,t){let n=e.length,i,o,r,s,a=e[0].modelMatrix,c=l(e[0][t].indices),u=e[0][t].primitiveType,f=dIe(e,t),d,p,g;for(i in f)if(f.hasOwnProperty(i))for(d=f[i].values,s=0,o=0;o<n;++o)for(p=e[o][t].attributes[i].values,g=p.length,r=0;r<g;++r)d[s++]=p[r];let m;if(c){let A=0;for(o=0;o<n;++o)A+=e[o][t].indices.length;let C=ft.computeNumberOfVertices(new ft({attributes:f,primitiveType:Ne.POINTS})),E=Fe.createTypedArray(C,A),v=0,D=0;for(o=0;o<n;++o){let O=e[o][t].indices,R=O.length;for(s=0;s<R;++s)E[v++]=D+O[s];D+=ft.computeNumberOfVertices(e[o][t])}m=E}let x=new h,b=0,T;for(o=0;o<n;++o){if(T=e[o][t].boundingSphere,!l(T)){x=void 0;break}h.add(T.center,x,x)}if(l(x))for(h.divideByScalar(x,n,x),o=0;o<n;++o){T=e[o][t].boundingSphere;let A=h.magnitude(h.subtract(T.center,x,hIe))+T.radius;A>b&&(b=A)}return new ft({attributes:f,indices:m,primitiveType:u,boundingSphere:l(x)?new ce(x,b):void 0})}kc.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let s=e[r];l(s.geometry)?t.push(s):l(s.westHemisphereGeometry)&&l(s.eastHemisphereGeometry)&&n.push(s)}let o=[];return t.length>0&&o.push(F6(t,"geometry")),n.length>0&&(o.push(F6(n,"westHemisphereGeometry")),o.push(F6(n,"eastHemisphereGeometry"))),o};var mf=new h,vw=new h,ZC=new h,$C=new h;kc.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),u;for(u=0;u<o;u++)s[u]={indexOffset:0,count:0,currentCount:0};let f=0;for(u=0;u<r;u+=3){let m=t[u],x=t[u+1],b=t[u+2],T=m*3,A=x*3,C=b*3;vw.x=i[T],vw.y=i[T+1],vw.z=i[T+2],ZC.x=i[A],ZC.y=i[A+1],ZC.z=i[A+2],$C.x=i[C],$C.y=i[C+1],$C.z=i[C+2],s[m].count++,s[x].count++,s[b].count++,h.subtract(ZC,vw,ZC),h.subtract($C,vw,$C),a[f]=h.cross(ZC,$C,new h),f++}let d=0;for(u=0;u<o;u++)s[u].indexOffset+=d,d+=s[u].count;f=0;let p;for(u=0;u<r;u+=3){p=s[t[u]];let m=p.indexOffset+p.currentCount;c[m]=f,p.currentCount++,p=s[t[u+1]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,p=s[t[u+2]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,f++}let g=new Float32Array(o*3);for(u=0;u<o;u++){let m=u*3;if(p=s[u],h.clone(h.ZERO,mf),p.count>0){for(f=0;f<p.count;f++)h.add(mf,a[c[p.indexOffset+f]],mf);h.equalsEpsilon(h.ZERO,mf,P.EPSILON10)&&h.clone(a[c[p.indexOffset]],mf)}h.equalsEpsilon(h.ZERO,mf,P.EPSILON10)&&(mf.z=1),h.normalize(mf,mf),g[m]=mf.x,g[m+1]=mf.y,g[m+2]=mf.z}return e.attributes.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e};var mIe=new h,gte=new h,pIe=new h;kc.computeTangentAndBitangent=function(e){let t=e.attributes,n=e.indices,i=e.attributes.position.values,o=e.attributes.normal.values,r=e.attributes.st.values,s=e.attributes.position.values.length/3,a=n.length,c=new Array(s*3),u;for(u=0;u<c.length;u++)c[u]=0;let f,d,p;for(u=0;u<a;u+=3){let x=n[u],b=n[u+1],T=n[u+2];f=x*3,d=b*3,p=T*3;let A=x*2,C=b*2,E=T*2,v=i[f],D=i[f+1],O=i[f+2],R=r[A],M=r[A+1],N=r[C+1]-M,_=r[E+1]-M,S=1/((r[C]-R)*_-(r[E]-R)*N),w=(_*(i[d]-v)-N*(i[p]-v))*S,I=(_*(i[d+1]-D)-N*(i[p+1]-D))*S,L=(_*(i[d+2]-O)-N*(i[p+2]-O))*S;c[f]+=w,c[f+1]+=I,c[f+2]+=L,c[d]+=w,c[d+1]+=I,c[d+2]+=L,c[p]+=w,c[p+1]+=I,c[p+2]+=L}let g=new Float32Array(s*3),m=new Float32Array(s*3);for(u=0;u<s;u++){f=u*3,d=f+1,p=f+2;let x=h.fromArray(o,f,mIe),b=h.fromArray(c,f,pIe),T=h.dot(x,b);h.multiplyByScalar(x,T,gte),h.normalize(h.subtract(b,gte,b),b),g[f]=b.x,g[d]=b.y,g[p]=b.z,h.normalize(h.cross(x,b,b),b),m[f]=b.x,m[d]=b.y,m[p]=b.z}return e.attributes.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e.attributes.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m}),e};var ww=new z,Sd=new h,yte=new h,xte=new h,KV=new z;kc.compressVertices=function(e){let t=e.attributes.extrudeDirection,n,i;if(l(t)){let D=t.values;i=D.length/3;let O=new Float32Array(i*2),R=0;for(n=0;n<i;++n){if(h.fromArray(D,n*3,Sd),h.equals(Sd,h.ZERO)){R+=2;continue}KV=Nn.octEncodeInRange(Sd,65535,KV),O[R++]=KV.x,O[R++]=KV.y}return e.attributes.compressedAttributes=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:O}),delete e.attributes.extrudeDirection,e}let o=e.attributes.normal,r=e.attributes.st,s=l(o),a=l(r);if(!s&&!a)return e;let c=e.attributes.tangent,u=e.attributes.bitangent,f=l(c),d=l(u),p,g,m,x;s&&(p=o.values),a&&(g=r.values),f&&(m=c.values),d&&(x=u.values),i=(s?p.length:g.length)/(s?3:2);let A=i,C=a&&s?2:1;C+=f||d?1:0,A*=C;let E=new Float32Array(A),v=0;for(n=0;n<i;++n){a&&(z.fromArray(g,n*2,ww),E[v++]=Nn.compressTextureCoordinates(ww));let D=n*3;s&&l(m)&&l(x)?(h.fromArray(p,D,Sd),h.fromArray(m,D,yte),h.fromArray(x,D,xte),Nn.octPack(Sd,yte,xte,ww),E[v++]=ww.x,E[v++]=ww.y):(s&&(h.fromArray(p,D,Sd),E[v++]=Nn.octEncodeFloat(Sd)),f&&(h.fromArray(m,D,Sd),E[v++]=Nn.octEncodeFloat(Sd)),d&&(h.fromArray(x,D,Sd),E[v++]=Nn.octEncodeFloat(Sd)))}return e.attributes.compressedAttributes=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:C,values:E}),s&&delete e.attributes.normal,a&&delete e.attributes.st,d&&delete e.attributes.bitangent,f&&delete e.attributes.tangent,e};function _Ie(e){if(l(e.indices))return e;let t=ft.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function gIe(e){let t=ft.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-2)*3);n[0]=1,n[1]=0,n[2]=2;let i=3;for(let o=3;o<t;++o)n[i++]=o-1,n[i++]=0,n[i++]=o;return e.indices=n,e.primitiveType=Ne.TRIANGLES,e}function yIe(e){let t=ft.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-2)*3);n[0]=0,n[1]=1,n[2]=2,t>3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;o<t-1;o+=2)n[i++]=o,n[i++]=o-1,n[i++]=o+1,o+2<t&&(n[i++]=o,n[i++]=o+1,n[i++]=o+2);return e.indices=n,e.primitiveType=Ne.TRIANGLES,e}function xIe(e){if(l(e.indices))return e;let t=ft.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function bIe(e){let t=ft.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-1)*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return e.indices=n,e.primitiveType=Ne.LINES,e}function TIe(e){let t=ft.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return n[i++]=t-1,n[i]=0,e.indices=n,e.primitiveType=Ne.LINES,e}function CIe(e){switch(e.primitiveType){case Ne.TRIANGLE_FAN:return gIe(e);case Ne.TRIANGLE_STRIP:return yIe(e);case Ne.TRIANGLES:return _Ie(e);case Ne.LINE_STRIP:return bIe(e);case Ne.LINE_LOOP:return TIe(e);case Ne.LINES:return xIe(e)}return e}function Vg(e,t){Math.abs(e.y)<P.EPSILON6&&(t?e.y=-P.EPSILON6:e.y=P.EPSILON6)}function AIe(e,t,n){if(e.y!==0&&t.y!==0&&n.y!==0){Vg(e,e.y<0),Vg(t,t.y<0),Vg(n,n.y<0);return}let i=Math.abs(e.y),o=Math.abs(t.y),r=Math.abs(n.y),s;i>o?i>r?s=P.sign(e.y):s=P.sign(n.y):o>r?s=P.sign(t.y):s=P.sign(n.y);let a=s<0;Vg(e,a),Vg(t,a),Vg(n,a)}var bte=new h;function pf(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,bte),e.y/(e.y-t.y),bte),n),h.clone(n,i),Vg(n,!0),Vg(i,!1)}var px=new h,_x=new h,gx=new h,yx=new h,B6={positions:new Array(7),indices:new Array(3*3)};function EIe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;AIe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=B6.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(pf(e,t,px,gx),pf(e,n,_x,yx),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(pf(t,n,px,gx),pf(t,e,_x,yx),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(pf(n,e,px,gx),pf(n,t,_x,yx),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(pf(n,e,px,gx),pf(n,t,_x,yx),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(pf(t,n,px,gx),pf(t,e,_x,yx),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(pf(e,t,px,gx),pf(e,n,_x,yx),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=B6.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=px,c[4]=_x,c[5]=gx,c[6]=yx,c.length=7),B6}function Tte(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&l(n[o])&&l(n[o].values)){let r=n[o];r.values=X.createTypedArray(r.componentDatatype,r.values)}let i=ft.computeNumberOfVertices(e);return e.indices=Fe.createTypedArray(i,e.indices),t&&(e.boundingSphere=ce.fromVertices(n.position.values)),e}function JC(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];n[i]=new Se({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new ft({attributes:n,indices:[],primitiveType:e.primitiveType})}function z6(e,t,n){let i=l(e.geometry.boundingSphere);t=Tte(t,i),n=Tte(n,i),l(n)&&!l(t)?e.geometry=n:!l(n)&&l(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function H6(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,u,f,d,p){let g=e.fromArray(u,r*t,n),m=e.fromArray(u,s*t,i),x=e.fromArray(u,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(m,c.y,m),e.multiplyByScalar(x,c.z,x);let b=e.add(g,m,g);e.add(b,x,b),p&&e.normalize(b,b),e.pack(b,f,d*t)}}var SIe=H6(ie,4),QV=H6(h,3),wte=H6(z,2),vIe=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,u=o[n]*i.z;r[s]=a+c+u>P.EPSILON6?1:0},Dw=new h,k6=new h,V6=new h,wIe=new h;function ZV(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){if(!l(r)&&!l(s)&&!l(a)&&!l(c)&&!l(u)&&g===0)return;let b=h.fromArray(o,e*3,Dw),T=h.fromArray(o,t*3,k6),A=h.fromArray(o,n*3,V6),C=dx(i,b,T,A,wIe);if(l(C)){if(l(r)&&QV(e,t,n,C,r,d.normal.values,x,!0),l(u)){let E=h.fromArray(u,e*3,Dw),v=h.fromArray(u,t*3,k6),D=h.fromArray(u,n*3,V6);h.multiplyByScalar(E,C.x,E),h.multiplyByScalar(v,C.y,v),h.multiplyByScalar(D,C.z,D);let O;!h.equals(E,h.ZERO)||!h.equals(v,h.ZERO)||!h.equals(D,h.ZERO)?(O=h.add(E,v,E),h.add(O,D,O),h.normalize(O,O)):(O=Dw,O.x=0,O.y=0,O.z=0),h.pack(O,d.extrudeDirection.values,x*3)}if(l(f)&&vIe(e,t,n,C,f,d.applyOffset.values,x),l(s)&&QV(e,t,n,C,s,d.tangent.values,x,!0),l(a)&&QV(e,t,n,C,a,d.bitangent.values,x,!0),l(c)&&wte(e,t,n,C,c,d.st.values,x),g>0)for(let E=0;E<g;E++){let v=p[E];DIe(e,t,n,C,x,m[v],d[v])}}}function DIe(e,t,n,i,o,r,s){let a=r.componentsPerAttribute,c=r.values,u=s.values;switch(a){case 4:SIe(e,t,n,i,c,u,o,!1);break;case 3:QV(e,t,n,i,c,u,o,!1);break;case 2:wte(e,t,n,i,c,u,o,!1);break;default:u[o]=c[e]*i.x+c[t]*i.y+c[n]*i.z}}function tm(e,t,n,i,o,r){let s=e.position.values.length/3;if(o!==-1){let a=i[o],c=n[a];return c===-1?(n[a]=s,e.position.values.push(r.x,r.y,r.z),t.push(s),s):(t.push(c),c)}return e.position.values.push(r.x,r.y,r.z),t.push(s),s}var IIe={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function Cte(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.normal)?n.normal.values:void 0,r=l(n.bitangent)?n.bitangent.values:void 0,s=l(n.tangent)?n.tangent.values:void 0,a=l(n.st)?n.st.values:void 0,c=l(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=l(n.applyOffset)?n.applyOffset.values:void 0,f=t.indices,d=[];for(let O in n)n.hasOwnProperty(O)&&!IIe[O]&&l(n[O])&&d.push(O);let p=d.length,g=JC(t),m=JC(t),x,b,T,A,C,E=[];E.length=i.length/3;let v=[];for(v.length=i.length/3,C=0;C<E.length;++C)E[C]=-1,v[C]=-1;let D=f.length;for(C=0;C<D;C+=3){let O=f[C],R=f[C+1],M=f[C+2],N=h.fromArray(i,O*3),_=h.fromArray(i,R*3),S=h.fromArray(i,M*3),w=EIe(N,_,S);if(l(w)&&w.positions.length>3){let I=w.positions,L=w.indices,B=L.length;for(let U=0;U<B;++U){let V=L[U],G=I[V];G.y<0?(x=m.attributes,b=m.indices,T=E):(x=g.attributes,b=g.indices,T=v),A=tm(x,b,T,f,V<3?C+V:-1,G),ZV(O,R,M,G,i,o,s,r,a,c,u,x,d,p,n,A)}}else l(w)&&(N=w.positions[0],_=w.positions[1],S=w.positions[2]),N.y<0?(x=m.attributes,b=m.indices,T=E):(x=g.attributes,b=g.indices,T=v),A=tm(x,b,T,f,C,N),ZV(O,R,M,N,i,o,s,r,a,c,u,x,d,p,n,A),A=tm(x,b,T,f,C+1,_),ZV(O,R,M,_,i,o,s,r,a,c,u,x,d,p,n,A),A=tm(x,b,T,f,C+2,S),ZV(O,R,M,S,i,o,s,r,a,c,u,x,d,p,n,A)}z6(e,m,g)}var Dte=un.fromPointNormal(h.ZERO,h.UNIT_Y),PIe=new h,RIe=new h;function QC(e,t,n,i,o,r,s){if(!l(s))return;let a=h.fromArray(i,e*3,Dw);h.equalsEpsilon(a,n,P.EPSILON10)?r.applyOffset.values[o]=s[e]:r.applyOffset.values[o]=s[t]}function Ate(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.applyOffset)?n.applyOffset.values:void 0,r=t.indices,s=JC(t),a=JC(t),c,u=r.length,f=[];f.length=i.length/3;let d=[];for(d.length=i.length/3,c=0;c<f.length;++c)f[c]=-1,d[c]=-1;for(c=0;c<u;c+=2){let p=r[c],g=r[c+1],m=h.fromArray(i,p*3,Dw),x=h.fromArray(i,g*3,k6),b;Math.abs(m.y)<P.EPSILON6&&(m.y<0?m.y=-P.EPSILON6:m.y=P.EPSILON6),Math.abs(x.y)<P.EPSILON6&&(x.y<0?x.y=-P.EPSILON6:x.y=P.EPSILON6);let T=s.attributes,A=s.indices,C=d,E=a.attributes,v=a.indices,D=f,O=ei.lineSegmentPlane(m,x,Dte,V6);if(l(O)){let R=h.multiplyByScalar(h.UNIT_Y,5*P.EPSILON9,PIe);m.y<0&&(h.negate(R,R),T=a.attributes,A=a.indices,C=f,E=s.attributes,v=s.indices,D=d);let M=h.add(O,R,RIe);b=tm(T,A,C,r,c,m),QC(p,g,m,i,b,T,o),b=tm(T,A,C,r,-1,M),QC(p,g,M,i,b,T,o),h.negate(R,R),h.add(O,R,M),b=tm(E,v,D,r,-1,M),QC(p,g,M,i,b,E,o),b=tm(E,v,D,r,c+1,x),QC(p,g,x,i,b,E,o)}else{let R,M,N;m.y<0?(R=a.attributes,M=a.indices,N=f):(R=s.attributes,M=s.indices,N=d),b=tm(R,M,N,r,c,m),QC(p,g,m,i,b,R,o),b=tm(R,M,N,r,c+1,x),QC(p,g,x,i,b,R,o)}}z6(e,a,s)}var Ete=new z,OIe=new z,Ite=new h,Pte=new h,U6=new h,MIe=new h,LIe=new h,NIe=new h,Ste=new ie;function vte(e){let t=e.attributes,n=t.position.values,i=t.prevPosition.values,o=t.nextPosition.values,r=n.length;for(let s=0;s<r;s+=3){let a=h.unpack(n,s,Ite);if(a.x>0)continue;let c=h.unpack(i,s,Pte);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let u=h.unpack(o,s,U6);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(s+3<r?(o[s]=n[s+3],o[s+1]=n[s+4],o[s+2]=n[s+5]):h.pack(a,o,s))}}var FIe=5*P.EPSILON9,$V=P.EPSILON6;function BIe(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=n.prevPosition.values,r=n.nextPosition.values,s=n.expandAndWidth.values,a=l(n.st)?n.st.values:void 0,c=l(n.color)?n.color.values:void 0,u=JC(t),f=JC(t),d,p,g,m=!1,x=i.length/3;for(d=0;d<x;d+=4){let b=d,T=d+2,A=h.fromArray(i,b*3,Ite),C=h.fromArray(i,T*3,Pte);if(Math.abs(A.y)<$V)for(A.y=$V*(C.y<0?-1:1),i[d*3+1]=A.y,i[(d+1)*3+1]=A.y,p=b*3;p<b*3+4*3;p+=3)o[p]=i[d*3],o[p+1]=i[d*3+1],o[p+2]=i[d*3+2];if(Math.abs(C.y)<$V)for(C.y=$V*(A.y<0?-1:1),i[(d+2)*3+1]=C.y,i[(d+3)*3+1]=C.y,p=b*3;p<b*3+4*3;p+=3)r[p]=i[(d+2)*3],r[p+1]=i[(d+2)*3+1],r[p+2]=i[(d+2)*3+2];let E=u.attributes,v=u.indices,D=f.attributes,O=f.indices,R=ei.lineSegmentPlane(A,C,Dte,MIe);if(l(R)){m=!0;let M=h.multiplyByScalar(h.UNIT_Y,FIe,LIe);A.y<0&&(h.negate(M,M),E=f.attributes,v=f.indices,D=u.attributes,O=u.indices);let N=h.add(R,M,NIe);E.position.values.push(A.x,A.y,A.z,A.x,A.y,A.z),E.position.values.push(N.x,N.y,N.z),E.position.values.push(N.x,N.y,N.z),E.prevPosition.values.push(o[b*3],o[b*3+1],o[b*3+2]),E.prevPosition.values.push(o[b*3+3],o[b*3+4],o[b*3+5]),E.prevPosition.values.push(A.x,A.y,A.z,A.x,A.y,A.z),E.nextPosition.values.push(N.x,N.y,N.z),E.nextPosition.values.push(N.x,N.y,N.z),E.nextPosition.values.push(N.x,N.y,N.z),E.nextPosition.values.push(N.x,N.y,N.z),h.negate(M,M),h.add(R,M,N),D.position.values.push(N.x,N.y,N.z),D.position.values.push(N.x,N.y,N.z),D.position.values.push(C.x,C.y,C.z,C.x,C.y,C.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.nextPosition.values.push(C.x,C.y,C.z,C.x,C.y,C.z),D.nextPosition.values.push(r[T*3],r[T*3+1],r[T*3+2]),D.nextPosition.values.push(r[T*3+3],r[T*3+4],r[T*3+5]);let _=z.fromArray(s,b*2,Ete),S=Math.abs(_.y);E.expandAndWidth.values.push(-1,S,1,S),E.expandAndWidth.values.push(-1,-S,1,-S),D.expandAndWidth.values.push(-1,S,1,S),D.expandAndWidth.values.push(-1,-S,1,-S);let w=h.magnitudeSquared(h.subtract(R,A,U6));if(w/=h.magnitudeSquared(h.subtract(C,A,U6)),l(c)){let I=ie.fromArray(c,b*4,Ste),L=ie.fromArray(c,T*4,Ste),B=P.lerp(I.x,L.x,w),U=P.lerp(I.y,L.y,w),V=P.lerp(I.z,L.z,w),G=P.lerp(I.w,L.w,w);for(p=b*4;p<b*4+2*4;++p)E.color.values.push(c[p]);for(E.color.values.push(B,U,V,G),E.color.values.push(B,U,V,G),D.color.values.push(B,U,V,G),D.color.values.push(B,U,V,G),p=T*4;p<T*4+2*4;++p)D.color.values.push(c[p])}if(l(a)){let I=z.fromArray(a,b*2,Ete),L=z.fromArray(a,(d+3)*2,OIe),B=P.lerp(I.x,L.x,w);for(p=b*2;p<b*2+2*2;++p)E.st.values.push(a[p]);for(E.st.values.push(B,I.y),E.st.values.push(B,L.y),D.st.values.push(B,I.y),D.st.values.push(B,L.y),p=T*2;p<T*2+2*2;++p)D.st.values.push(a[p])}g=E.position.values.length/3-4,v.push(g,g+2,g+1),v.push(g+1,g+2,g+3),g=D.position.values.length/3-4,O.push(g,g+2,g+1),O.push(g+1,g+2,g+3)}else{let M,N;for(A.y<0?(M=f.attributes,N=f.indices):(M=u.attributes,N=u.indices),M.position.values.push(A.x,A.y,A.z),M.position.values.push(A.x,A.y,A.z),M.position.values.push(C.x,C.y,C.z),M.position.values.push(C.x,C.y,C.z),p=d*3;p<d*3+4*3;++p)M.prevPosition.values.push(o[p]),M.nextPosition.values.push(r[p]);for(p=d*2;p<d*2+4*2;++p)M.expandAndWidth.values.push(s[p]),l(a)&&M.st.values.push(a[p]);if(l(c))for(p=d*4;p<d*4+4*4;++p)M.color.values.push(c[p]);g=M.position.values.length/3-4,N.push(g,g+2,g+1),N.push(g+1,g+2,g+3)}}m&&(vte(f),vte(u)),z6(e,f,u)}kc.splitLongitude=function(e){let t=e.geometry,n=t.boundingSphere;if(l(n)&&(n.center.x-n.radius>0||ce.intersectPlane(n,un.ORIGIN_ZX_PLANE)!==qt.INTERSECTING))return e;if(t.geometryType!==hf.NONE)switch(t.geometryType){case hf.POLYLINES:BIe(e);break;case hf.TRIANGLES:Cte(e);break;case hf.LINES:Ate(e);break}else CIe(t),t.primitiveType===Ne.TRIANGLES?Cte(e):t.primitiveType===Ne.LINES&&Ate(e);return e};var Fn=kc;function Iw(e,t,n,i,o,r,s,a,c,u,f){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=s,this._internalFormat=o,this._pixelFormat=r,this._size=a,this._preMultiplyAlpha=c,this._flipY=u,this._initialized=f}Object.defineProperties(Iw.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}});Iw.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,{width:r,height:s}=i,a=this._context._gl,c=this._textureTarget,u=this._targetFace;a.activeTexture(a.TEXTURE0),a.bindTexture(c,this._texture);let f=i.arrayBufferView,d=this._size,p=this._pixelFormat,g=this._internalFormat,m=this._pixelDatatype,x=this._preMultiplyAlpha,b=this._flipY,T=4;l(f)&&(T=nt.alignmentInBytes(p,m,r)),a.pixelStorei(a.UNPACK_ALIGNMENT,T),o?a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.NONE):a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.BROWSER_DEFAULT_WEBGL);let A=!1;if(!this._initialized){let C;t===0&&n===0&&r===d&&s===d?(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=nt.flipY(f,p,m,d,d)),C=f):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),C=i),A=!0):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),C=nt.createTypedArray(p,m,d,d)),a.texImage2D(u,0,g,d,d,0,p,Ye.toWebGLConstant(m,this._context),C),this._initialized=!0}A||(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=nt.flipY(f,p,m,r,s)),a.texSubImage2D(u,0,t,n,r,s,p,Ye.toWebGLConstant(m,this._context),f)):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),a.texSubImage2D(u,0,t,n,p,Ye.toWebGLConstant(m,this._context),i))),a.bindTexture(c,null)};Iw.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._size),r=y(r,this._size);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};Iw.prototype.copyMipmapFromFramebuffer=function(e,t,n,i,o){e=y(e,0),t=y(t,0),n=y(n,this._size),i=y(i,this._size),o=y(o,0);let r=this._context._gl,s=this._textureTarget;r.activeTexture(r.TEXTURE0),r.bindTexture(s,this._texture),r.copyTexImage2D(this._targetFace,o,this._internalFormat,e,t,n,i,0),r.bindTexture(s,null),this._initialized=!0};var Pw=Iw;var eU={DONT_CARE:te.DONT_CARE,FASTEST:te.FASTEST,NICEST:te.NICEST,validate:function(e){return e===eU.DONT_CARE||e===eU.FASTEST||e===eU.NICEST}},nm=Object.freeze(eU);var tU={NEAREST:te.NEAREST,LINEAR:te.LINEAR};tU.validate=function(e){return e===tU.NEAREST||e===tU.LINEAR};var pi=Object.freeze(tU);var Ug={NEAREST:te.NEAREST,LINEAR:te.LINEAR,NEAREST_MIPMAP_NEAREST:te.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:te.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:te.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:te.LINEAR_MIPMAP_LINEAR};Ug.validate=function(e){return e===Ug.NEAREST||e===Ug.LINEAR||e===Ug.NEAREST_MIPMAP_NEAREST||e===Ug.LINEAR_MIPMAP_NEAREST||e===Ug.NEAREST_MIPMAP_LINEAR||e===Ug.LINEAR_MIPMAP_LINEAR};var $t=Object.freeze(Ug);var nU={CLAMP_TO_EDGE:te.CLAMP_TO_EDGE,REPEAT:te.REPEAT,MIRRORED_REPEAT:te.MIRRORED_REPEAT,validate:function(e){return e===nU.CLAMP_TO_EDGE||e===nU.REPEAT||e===nU.MIRRORED_REPEAT}},En=Object.freeze(nU);function Rw(e){e=y(e,y.EMPTY_OBJECT);let{wrapS:t=En.CLAMP_TO_EDGE,wrapT:n=En.CLAMP_TO_EDGE,minificationFilter:i=$t.LINEAR,magnificationFilter:o=pi.LINEAR,maximumAnisotropy:r=1}=e;this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(Rw.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});Rw.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};Rw.NEAREST=Object.freeze(new Rw({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.NEAREST,magnificationFilter:pi.NEAREST}));var Qt=Rw;function kIe(e,t,n,i){let o=l(t.vertexBuffer),r=l(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,X.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let u=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(u,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(u),this.instanceDivisor>0&&(i.glVertexAttribDivisor(u,this.instanceDivisor),i._vertexAttribDivisors[u]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function Ote(e,t,n){for(let i=0;i<t.length;++i){let o=t[i];o.enabled&&o.vertexAttrib(e)}l(n)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n._getBuffer())}function Sp(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=e.attributes,o=e.indexBuffer,r,s=[],a=1,c=!1,u=!1,f=i.length;for(r=0;r<f;++r)kIe(s,i[r],r,t);for(f=s.length,r=0;r<f;++r){let p=s[r];if(l(p.vertexBuffer)&&p.instanceDivisor===0){let g=p.strideInBytes||p.componentsPerAttribute*X.getSizeInBytes(p.componentDatatype);a=p.vertexBuffer.sizeInBytes/g;break}}for(r=0;r<f;++r)s[r].instanceDivisor>0&&(c=!0),l(s[r].value)&&(u=!0);let d;t.vertexArrayObject&&(d=t.glCreateVertexArray(),t.glBindVertexArray(d),Ote(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=u,this._context=t,this._gl=n,this._vao=d,this._attributes=s,this._indexBuffer=o}function Rte(e){return e.values.length/e.componentsPerAttribute}function VIe(e){return X.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function UIe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)&&(o.push(n),e[n].componentDatatype===X.DOUBLE&&(e[n].componentDatatype=X.FLOAT,e[n].values=X.createTypedArray(X.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=Rte(e[o[0]]),t=1;t<s;++t){let u=Rte(e[o[t]]);if(u!==r)throw new se(`Each attribute list must have the same number of vertices. Attribute ${o[t]} has a different number of vertices (${u.toString()}) than attribute ${o[0]} (${r.toString()}).`)}o.sort(function(u,f){return X.getSizeInBytes(e[f].componentDatatype)-X.getSizeInBytes(e[u].componentDatatype)});let a=0,c={};for(t=0;t<s;++t)n=o[t],i=e[n],c[n]=a,a+=VIe(i);if(a>0){let u=X.getSizeInBytes(e[o[0]].componentDatatype),f=a%u;f!==0&&(a+=u-f);let d=r*a,p=new ArrayBuffer(d),g={};for(t=0;t<s;++t){n=o[t];let m=X.getSizeInBytes(e[n].componentDatatype);g[n]={pointer:X.createTypedArray(e[n].componentDatatype,p),index:c[n]/m,strideInComponentType:a/m}}for(t=0;t<r;++t)for(let m=0;m<s;++m){n=o[m],i=e[n];let x=i.values,b=g[n],T=b.pointer,A=i.componentsPerAttribute;for(let C=0;C<A;++C)T[b.index+C]=x[t*A+C];b.index+=b.strideInComponentType}return{buffer:p,offsetsInBytes:c,vertexSizeInBytes:a}}}Sp.fromGeometry=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=y(e.geometry,y.EMPTY_OBJECT),i=y(e.bufferUsage,Be.DYNAMIC_DRAW),o=y(e.attributeLocations,y.EMPTY_OBJECT),r=y(e.interleave,!1),s=e.vertexArrayAttributes,a,c,u,f=l(s)?s:[],d=n.attributes;if(r){let m=UIe(d);if(l(m)){u=xt.createVertexBuffer({context:t,typedArray:m.buffer,usage:i});let x=m.offsetsInBytes,b=m.vertexSizeInBytes;for(a in d)d.hasOwnProperty(a)&&l(d[a])&&(c=d[a],l(c.values)?f.push({index:o[a],vertexBuffer:u,componentDatatype:c.componentDatatype,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize,offsetInBytes:x[a],strideInBytes:b}):f.push({index:o[a],value:c.value,componentDatatype:c.componentDatatype,normalize:c.normalize}))}}else for(a in d)if(d.hasOwnProperty(a)&&l(d[a])){c=d[a];let m=c.componentDatatype;m===X.DOUBLE&&(m=X.FLOAT),u=void 0,l(c.values)&&(u=xt.createVertexBuffer({context:t,typedArray:X.createTypedArray(m,c.values),usage:i})),f.push({index:o[a],vertexBuffer:u,value:c.value,componentDatatype:m,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize})}let p,g=n.indices;return l(g)&&(ft.computeNumberOfVertices(n)>=P.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=xt.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:Fe.UNSIGNED_INT}):p=xt.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:Fe.UNSIGNED_SHORT})),new Sp({context:t,attributes:f,indexBuffer:p})};Object.defineProperties(Sp.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});Sp.prototype.getAttribute=function(e){return this._attributes[e]};function zIe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=Ft.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s<a;++s){let c=o[s];if(c.enabled){let u=c.instanceDivisor,f=c.index;u!==i[f]&&(t.glVertexAttribDivisor(f,u),i[f]=u)}}}else for(s=0;s<r;++s)i[s]>0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function HIe(e,t){let n=e._attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];r.enabled&&l(r.value)&&r.vertexAttrib(t)}}Sp.prototype._bind=function(){l(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&zIe(this),this._hasConstantAttributes&&HIe(this,this._gl)):Ote(this._gl,this._attributes,this._indexBuffer)};Sp.prototype._unBind=function(){if(l(this._vao))this._context.glBindVertexArray(null);else{let e=this._attributes,t=this._gl;for(let n=0;n<e.length;++n){let i=e[n];i.enabled&&i.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}};Sp.prototype.isDestroyed=function(){return!1};Sp.prototype.destroy=function(){let e=this._attributes;for(let n=0;n<e.length;++n){let i=e[n].vertexBuffer;l(i)&&!i.isDestroyed()&&i.vertexArrayDestroyable&&i.destroy()}let t=this._indexBuffer;return l(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy(),l(this._vao)&&this._context.glDeleteVertexArray(this._vao),ue(this)};var ii=Sp;function nr(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=nt.RGBA,pixelDatatype:o=Ye.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new Qt}=e,c=e.preMultiplyAlpha||i===nt.RGB||i===nt.LUMINANCE,{width:u,height:f}=e;l(n)&&({width:u,height:f}=n.positiveX);let d=u,p=nt.textureSizeInBytes(i,o,d,d)*6,g=nt.toInternalFormat(i,o,t),m=t._gl,x=m.TEXTURE_CUBE_MAP,b=m.createTexture();this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=x,this._texture=b,this._pixelFormat=i,this._pixelDatatype=o,this._size=d,this._hasMipmap=!1,this._sizeInBytes=p,this._preMultiplyAlpha=c,this._flipY=r;let T=l(n);function A(C){return new Pw(t,b,x,C,g,i,o,d,c,r,T)}this._positiveX=A(m.TEXTURE_CUBE_MAP_POSITIVE_X),this._negativeX=A(m.TEXTURE_CUBE_MAP_NEGATIVE_X),this._positiveY=A(m.TEXTURE_CUBE_MAP_POSITIVE_Y),this._negativeY=A(m.TEXTURE_CUBE_MAP_NEGATIVE_Y),this._positiveZ=A(m.TEXTURE_CUBE_MAP_POSITIVE_Z),this._negativeZ=A(m.TEXTURE_CUBE_MAP_NEGATIVE_Z),this._sampler=a,Mte(this,a),m.activeTexture(m.TEXTURE0),m.bindTexture(x,b),s?m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.NONE):m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.BROWSER_DEFAULT_WEBGL);for(let C of nr.faceNames())G6(this[C],n?.[C],0);m.bindTexture(x,null)}nr.prototype.copyFace=function(e,t,n,i){let o=e.context,r=new Vr({context:o,colorTextures:[t],destroyAttachments:!1});r._bind(),this[n].copyMipmapFromFramebuffer(0,0,t.width,t.height,y(i,0)),r._unBind(),r.destroy()};nr.FaceName=Object.freeze({POSITIVEX:"positiveX",NEGATIVEX:"negativeX",POSITIVEY:"positiveY",NEGATIVEY:"negativeY",POSITIVEZ:"positiveZ",NEGATIVEZ:"negativeZ"});function*GIe(){yield nr.FaceName.POSITIVEX,yield nr.FaceName.NEGATIVEX,yield nr.FaceName.POSITIVEY,yield nr.FaceName.NEGATIVEY,yield nr.FaceName.POSITIVEZ,yield nr.FaceName.NEGATIVEZ}nr.faceNames=function(){return GIe()};function G6(e,t,n){n=y(n,0);let i=e._targetFace,o=Math.max(Math.floor(e._size/2**n),1),r=e._pixelFormat,s=e._pixelDatatype,a=e._internalFormat,c=e._flipY,u=e._preMultiplyAlpha,f=e._context,d=f._gl;if(!l(t)){d.texImage2D(i,n,a,o,o,0,r,Ye.toWebGLConstant(s,f),null);return}let{arrayBufferView:p}=t,g=4;l(p)&&(g=nt.alignmentInBytes(r,s,o)),d.pixelStorei(d.UNPACK_ALIGNMENT,g),l(p)?(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,!1),c&&(p=nt.flipY(p,r,s,o,o)),d.texImage2D(i,n,a,o,o,0,r,Ye.toWebGLConstant(s,f),p)):(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,c),d.texImage2D(i,n,a,r,Ye.toWebGLConstant(s,f),t))}nr.loadFace=G6;Object.defineProperties(nr.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){Mte(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});nr.getDirection=function(e,t){switch(e){case nr.FaceName.POSITIVEX:return h.clone(h.UNIT_X,t);case nr.FaceName.NEGATIVEX:return h.negate(h.UNIT_X,t);case nr.FaceName.POSITIVEY:return h.clone(h.UNIT_Y,t);case nr.FaceName.NEGATIVEY:return h.negate(h.UNIT_Y,t);case nr.FaceName.POSITIVEZ:return h.clone(h.UNIT_Z,t);case nr.FaceName.NEGATIVEZ:return h.negate(h.UNIT_Z,t)}};function Mte(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[$t.NEAREST_MIPMAP_NEAREST,$t.NEAREST_MIPMAP_LINEAR,$t.LINEAR_MIPMAP_NEAREST,$t.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelDatatype;(s===Ye.FLOAT&&!r.textureFloatLinear||s===Ye.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?$t.NEAREST_MIPMAP_NEAREST:$t.NEAREST,i=pi.NEAREST);let a=r._gl,c=e._textureTarget;a.activeTexture(a.TEXTURE0),a.bindTexture(c,e._texture),a.texParameteri(c,a.TEXTURE_MIN_FILTER,n),a.texParameteri(c,a.TEXTURE_MAG_FILTER,i),a.texParameteri(c,a.TEXTURE_WRAP_S,t.wrapS),a.texParameteri(c,a.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&a.texParameteri(c,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),a.bindTexture(c,null)}nr.prototype.loadMipmaps=function(e,t){t=y(t,!1);let n=this._context._gl,i=this._texture,o=this._textureTarget;n.activeTexture(n.TEXTURE0),n.bindTexture(o,i),t?n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE):n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.BROWSER_DEFAULT_WEBGL);for(let r=0;r<e.length;r++){let s=e[r],a=r+1;for(let c of nr.faceNames())G6(this[c],s[c],a)}n.bindTexture(o,null),this._hasMipmap=!0};nr.prototype.generateMipmap=function(e){e=y(e,nm.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};nr.createVertexArray=function(e){let t=Ra.createGeometry(Ra.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Ie.POSITION_ONLY})),n=this._attributeLocations=Fn.createAttributeLocations(t);return ii.fromGeometry({context:e,geometry:t,attributeLocations:n,bufferUsage:Be.STATIC_DRAW})};nr.prototype.isDestroyed=function(){return!1};nr.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=ue(this._positiveX),this._negativeX=ue(this._negativeX),this._positiveY=ue(this._positiveY),this._negativeY=ue(this._negativeY),this._positiveZ=ue(this._positiveZ),this._negativeZ=ue(this._negativeZ),ue(this)};var vr=nr;function WIe(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}var oc=WIe;var Ow=`/** * A built-in GLSL floating-point constant for converting radians to degrees. * * @alias czm_degreesPerRadian @@ -111,7 +111,7 @@ ${m}`)}}function Twe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttri * float deg = czm_degreesPerRadian * rad; */ const float czm_degreesPerRadian = 57.29577951308232; -`;var Tw=`/** +`;var Mw=`/** * A built-in GLSL vec2 constant for defining the depth range. * This is a workaround to a bug where IE11 does not implement gl_DepthRange. * @@ -125,63 +125,63 @@ const float czm_degreesPerRadian = 57.29577951308232; * */ const czm_depthRangeStruct czm_depthRange = czm_depthRangeStruct(0.0, 1.0); -`;var Cw=`/** +`;var Lw=`/** * 0.1 * * @name czm_epsilon1 * @glslConstant */ const float czm_epsilon1 = 0.1; -`;var Aw=`/** +`;var Nw=`/** * 0.01 * * @name czm_epsilon2 * @glslConstant */ const float czm_epsilon2 = 0.01; -`;var Ew=`/** +`;var Fw=`/** * 0.001 * * @name czm_epsilon3 * @glslConstant */ const float czm_epsilon3 = 0.001; -`;var Sw=`/** +`;var Bw=`/** * 0.0001 * * @name czm_epsilon4 * @glslConstant */ const float czm_epsilon4 = 0.0001; -`;var vw=`/** +`;var kw=`/** * 0.00001 * * @name czm_epsilon5 * @glslConstant */ const float czm_epsilon5 = 0.00001; -`;var ww=`/** +`;var Vw=`/** * 0.000001 * * @name czm_epsilon6 * @glslConstant */ const float czm_epsilon6 = 0.000001; -`;var Dw=`/** +`;var Uw=`/** * 0.0000001 * * @name czm_epsilon7 * @glslConstant */ const float czm_epsilon7 = 0.0000001; -`;var Iw=`/** +`;var zw=`/** * DOC_TBA * * @name czm_infinity * @glslConstant */ const float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto in meters. TODO: What is best given lowp, mediump, and highp? -`;var Pw=`/** +`;var Hw=`/** * A built-in GLSL floating-point constant for <code>1/pi</code>. * * @alias czm_oneOverPi @@ -197,7 +197,7 @@ const float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto i * float pi = 1.0 / czm_oneOverPi; */ const float czm_oneOverPi = 0.3183098861837907; -`;var Rw=`/** +`;var Gw=`/** * A built-in GLSL floating-point constant for <code>1/2pi</code>. * * @alias czm_oneOverTwoPi @@ -213,7 +213,7 @@ const float czm_oneOverPi = 0.3183098861837907; * float pi = 2.0 * czm_oneOverTwoPi; */ const float czm_oneOverTwoPi = 0.15915494309189535; -`;var Ow=`/** +`;var Ww=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} * * @name czm_passCesium3DTile @@ -222,7 +222,7 @@ const float czm_oneOverTwoPi = 0.15915494309189535; * @see czm_pass */ const float czm_passCesium3DTile = 4.0; -`;var Mw=`/** +`;var jw=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} * * @name czm_passCesium3DTileClassification @@ -231,7 +231,7 @@ const float czm_passCesium3DTile = 4.0; * @see czm_pass */ const float czm_passCesium3DTileClassification = 5.0; -`;var Lw=`/** +`;var qw=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} * * @name czm_passCesium3DTileClassificationIgnoreShow @@ -240,7 +240,7 @@ const float czm_passCesium3DTileClassification = 5.0; * @see czm_pass */ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; -`;var Nw=`/** +`;var Yw=`/** * The automatic GLSL constant for {@link Pass#CLASSIFICATION} * * @name czm_passClassification @@ -249,7 +249,7 @@ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; * @see czm_pass */ const float czm_passClassification = 7.0; -`;var Fw=`/** +`;var Xw=`/** * The automatic GLSL constant for {@link Pass#COMPUTE} * * @name czm_passCompute @@ -258,7 +258,7 @@ const float czm_passClassification = 7.0; * @see czm_pass */ const float czm_passCompute = 1.0; -`;var Bw=`/** +`;var Kw=`/** * The automatic GLSL constant for {@link Pass#ENVIRONMENT} * * @name czm_passEnvironment @@ -267,7 +267,7 @@ const float czm_passCompute = 1.0; * @see czm_pass */ const float czm_passEnvironment = 0.0; -`;var kw=`/** +`;var Zw=`/** * The automatic GLSL constant for {@link Pass#GLOBE} * * @name czm_passGlobe @@ -276,7 +276,7 @@ const float czm_passEnvironment = 0.0; * @see czm_pass */ const float czm_passGlobe = 2.0; -`;var Vw=`/** +`;var $w=`/** * The automatic GLSL constant for {@link Pass#OPAQUE} * * @name czm_passOpaque @@ -285,7 +285,7 @@ const float czm_passGlobe = 2.0; * @see czm_pass */ const float czm_passOpaque = 7.0; -`;var Uw=`/** +`;var Qw=`/** * The automatic GLSL constant for {@link Pass#OVERLAY} * * @name czm_passOverlay @@ -294,7 +294,7 @@ const float czm_passOpaque = 7.0; * @see czm_pass */ const float czm_passOverlay = 10.0; -`;var zw=`/** +`;var Jw=`/** * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} * * @name czm_passTerrainClassification @@ -303,7 +303,7 @@ const float czm_passOverlay = 10.0; * @see czm_pass */ const float czm_passTerrainClassification = 3.0; -`;var Hw=`/** +`;var eD=`/** * The automatic GLSL constant for {@link Pass#TRANSLUCENT} * * @name czm_passTranslucent @@ -312,7 +312,7 @@ const float czm_passTerrainClassification = 3.0; * @see czm_pass */ const float czm_passTranslucent = 8.0; -`;var Gw=`/** +`;var tD=`/** * The automatic GLSL constant for {@link Pass#VOXELS} * * @name czm_passVoxels @@ -321,7 +321,7 @@ const float czm_passTranslucent = 8.0; * @see czm_pass */ const float czm_passVoxels = 9.0; -`;var Ww=`/** +`;var nD=`/** * A built-in GLSL floating-point constant for <code>Math.PI</code>. * * @alias czm_pi @@ -337,7 +337,7 @@ const float czm_passVoxels = 9.0; * float twoPi = 2.0 * czm_pi; */ const float czm_pi = 3.141592653589793; -`;var jw=`/** +`;var iD=`/** * A built-in GLSL floating-point constant for <code>pi/4</code>. * * @alias czm_piOverFour @@ -353,7 +353,7 @@ const float czm_pi = 3.141592653589793; * float pi = 4.0 * czm_piOverFour; */ const float czm_piOverFour = 0.7853981633974483; -`;var qw=`/** +`;var oD=`/** * A built-in GLSL floating-point constant for <code>pi/6</code>. * * @alias czm_piOverSix @@ -369,7 +369,7 @@ const float czm_piOverFour = 0.7853981633974483; * float pi = 6.0 * czm_piOverSix; */ const float czm_piOverSix = 0.5235987755982988; -`;var Yw=`/** +`;var rD=`/** * A built-in GLSL floating-point constant for <code>pi/3</code>. * * @alias czm_piOverThree @@ -385,7 +385,7 @@ const float czm_piOverSix = 0.5235987755982988; * float pi = 3.0 * czm_piOverThree; */ const float czm_piOverThree = 1.0471975511965976; -`;var Xw=`/** +`;var sD=`/** * A built-in GLSL floating-point constant for <code>pi/2</code>. * * @alias czm_piOverTwo @@ -401,7 +401,7 @@ const float czm_piOverThree = 1.0471975511965976; * float pi = 2.0 * czm_piOverTwo; */ const float czm_piOverTwo = 1.5707963267948966; -`;var Kw=`/** +`;var aD=`/** * A built-in GLSL floating-point constant for converting degrees to radians. * * @alias czm_radiansPerDegree @@ -417,7 +417,7 @@ const float czm_piOverTwo = 1.5707963267948966; * float rad = czm_radiansPerDegree * deg; */ const float czm_radiansPerDegree = 0.017453292519943295; -`;var Zw=`/** +`;var cD=`/** * The constant identifier for the 2D {@link SceneMode} * * @name czm_sceneMode2D @@ -428,7 +428,7 @@ const float czm_radiansPerDegree = 0.017453292519943295; * @see czm_sceneModeMorphing */ const float czm_sceneMode2D = 2.0; -`;var $w=`/** +`;var lD=`/** * The constant identifier for the 3D {@link SceneMode} * * @name czm_sceneMode3D @@ -439,7 +439,7 @@ const float czm_sceneMode2D = 2.0; * @see czm_sceneModeMorphing */ const float czm_sceneMode3D = 3.0; -`;var Qw=`/** +`;var uD=`/** * The constant identifier for the Columbus View {@link SceneMode} * * @name czm_sceneModeColumbusView @@ -450,7 +450,7 @@ const float czm_sceneMode3D = 3.0; * @see czm_sceneModeMorphing */ const float czm_sceneModeColumbusView = 1.0; -`;var Jw=`/** +`;var fD=`/** * The constant identifier for the Morphing {@link SceneMode} * * @name czm_sceneModeMorphing @@ -461,7 +461,7 @@ const float czm_sceneModeColumbusView = 1.0; * @see czm_sceneMode3D */ const float czm_sceneModeMorphing = 0.0; -`;var eD=`/** +`;var dD=`/** * A built-in GLSL floating-point constant for one solar radius. * * @alias czm_solarRadius @@ -474,7 +474,7 @@ const float czm_sceneModeMorphing = 0.0; * const float czm_solarRadius = ...; */ const float czm_solarRadius = 695500000.0; -`;var tD=`/** +`;var hD=`/** * A built-in GLSL floating-point constant for <code>3pi/2</code>. * * @alias czm_threePiOver2 @@ -490,7 +490,7 @@ const float czm_solarRadius = 695500000.0; * float pi = (2.0 / 3.0) * czm_threePiOver2; */ const float czm_threePiOver2 = 4.71238898038469; -`;var nD=`/** +`;var mD=`/** * A built-in GLSL floating-point constant for <code>2pi</code>. * * @alias czm_twoPi @@ -506,7 +506,7 @@ const float czm_threePiOver2 = 4.71238898038469; * float pi = czm_twoPi / 2.0; */ const float czm_twoPi = 6.283185307179586; -`;var iD=`/** +`;var pD=`/** * The maximum latitude, in radians, both North and South, supported by a Web Mercator * (EPSG:3857) projection. Technically, the Mercator projection is defined * for any latitude up to (but not including) 90 degrees, but it makes sense @@ -522,7 +522,7 @@ const float czm_twoPi = 6.283185307179586; * @glslConstant */ const float czm_webMercatorMaxLatitude = 1.4844222297453324; -`;var oD=`/** +`;var _D=`/** * @name czm_depthRangeStruct * @glslStruct */ @@ -531,7 +531,7 @@ struct czm_depthRangeStruct float near; float far; }; -`;var rD=`/** +`;var gD=`/** * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. * * @name czm_material @@ -553,7 +553,7 @@ struct czm_material vec3 emission; float alpha; }; -`;var sD=`/** +`;var yD=`/** * Used as input to every material's czm_getMaterial function. * * @name czm_materialInput @@ -583,7 +583,7 @@ struct czm_materialInput float aspect; float waterMask; }; -`;var aD=`/** +`;var xD=`/** * Struct for representing a material for a {@link Model}. The model * rendering pipeline will pass this struct between material, custom shaders, * and lighting stages. This is not to be confused with {@link czm_material} @@ -628,7 +628,7 @@ struct czm_modelMaterial { // Add clearcoatF0 when KHR_materials_ior is implemented #endif }; -`;var cD=`/** +`;var bD=`/** * Struct for representing the output of a custom vertex shader. * * @name czm_modelVertexOutput @@ -644,7 +644,7 @@ struct czm_modelVertexOutput { vec3 positionMC; float pointSize; }; -`;var lD=`/** +`;var TD=`/** * DOC_TBA * * @name czm_ray @@ -655,7 +655,7 @@ struct czm_ray vec3 origin; vec3 direction; }; -`;var uD=`/** +`;var CD=`/** * DOC_TBA * * @name czm_raySegment @@ -682,7 +682,7 @@ const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_in * @glslConstant */ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); -`;var fD=`struct czm_shadowParameters +`;var AD=`struct czm_shadowParameters { #ifdef USE_CUBE_MAP_SHADOW vec3 texCoords; @@ -697,7 +697,7 @@ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); float normalShadingSmooth; float darkness; }; -`;var dD=`// See: +`;var ED=`// See: // https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ vec3 czm_acesTonemapping(vec3 color) { @@ -713,7 +713,7 @@ vec3 czm_acesTonemapping(vec3 color) { return color; } -`;var hD=`/** +`;var SD=`/** * @private */ float czm_alphaWeight(float a) @@ -724,7 +724,7 @@ float czm_alphaWeight(float a) // http://jcgt.org/published/0002/02/09/ return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0)))); } -`;var mD=`/** +`;var vD=`/** * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. * * @name czm_antialias @@ -763,7 +763,7 @@ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) { return czm_antialias(color1, color2, currentColor, dist, 0.1); } -`;var pD=`/** +`;var wD=`/** * Apply a HSB color shift to an RGB color. * * @param {vec3} rgb The color in RGB space. @@ -795,7 +795,7 @@ vec3 czm_applyHSBShift(vec3 rgb, vec3 hsbShift, bool ignoreBlackPixels) { // Convert shifted hsb back to rgb return czm_HSBToRGB(hsb); } -`;var _D=`/** +`;var DD=`/** * Approximately computes spherical coordinates given a normal. * Uses approximate inverse trigonometry for speed and consistency, * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU. @@ -813,7 +813,7 @@ vec2 czm_approximateSphericalCoordinates(vec3 normal) { float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); return vec2(latitudeApproximation, longitudeApproximation); } -`;var gD=`/** +`;var ID=`/** * Compute a rational approximation to tanh(x) * * @param {float} x A real number input @@ -823,7 +823,7 @@ float czm_approximateTanh(float x) { float x2 = x * x; return max(-1.0, min(1.0, x * (27.0 + x2) / (27.0 + 9.0 * x2))); } -`;var yD=`/** +`;var PD=`/** * Determines if the fragment is back facing * * @name czm_backFacing @@ -836,7 +836,7 @@ bool czm_backFacing() // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494. return gl_FrontFacing == false; } -`;var xD=`/** +`;var RD=`/** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a float expression. * @@ -907,7 +907,7 @@ vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } -`;var bD=` +`;var OD=` vec4 czm_cascadeColor(vec4 weights) { return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + @@ -915,14 +915,14 @@ vec4 czm_cascadeColor(vec4 weights) vec4(0.0, 0.0, 1.0, 1.0) * weights.z + vec4(1.0, 0.0, 1.0, 1.0) * weights.w; } -`;var TD=` +`;var MD=` uniform vec4 shadowMap_cascadeDistances; float czm_cascadeDistance(vec4 weights) { return dot(shadowMap_cascadeDistances, weights); } -`;var CD=` +`;var LD=` uniform mat4 shadowMap_cascadeMatrices[4]; mat4 czm_cascadeMatrix(vec4 weights) @@ -932,7 +932,7 @@ mat4 czm_cascadeMatrix(vec4 weights) shadowMap_cascadeMatrices[2] * weights.z + shadowMap_cascadeMatrices[3] * weights.w; } -`;var AD=` +`;var ND=` uniform vec4 shadowMap_cascadeSplits[2]; vec4 czm_cascadeWeights(float depthEye) @@ -942,7 +942,7 @@ vec4 czm_cascadeWeights(float depthEye) vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); return near * far; } -`;var ED=`float getSignedDistance(vec2 uv, highp sampler2D clippingDistance) { +`;var FD=`float getSignedDistance(vec2 uv, highp sampler2D clippingDistance) { float signedDistance = texture(clippingDistance, uv).r; return (signedDistance - 0.5) * 2.0; } @@ -979,7 +979,7 @@ void czm_clipPolygons(highp sampler2D clippingDistance, int extentsLength, vec2 } #endif } -`;var SD=`/** +`;var BD=`/** * DOC_TBA * * @name czm_columbusViewMorph @@ -991,7 +991,7 @@ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) vec3 p = mix(position2D.xyz, position3D.xyz, time); return vec4(p, 1.0); } -`;var vD=`/** +`;var kD=`/** * Compute the atmosphere color, applying Rayleigh and Mie scattering. This * builtin uses automatic uniforms so the atmophere settings are synced with the * state of the Scene, even in other contexts like Model. @@ -1035,7 +1035,51 @@ vec4 czm_computeAtmosphereColor( return vec4(color, opacity); } -`;var wD=`/** + +/** + * Compute the atmosphere color, applying Rayleigh and Mie scattering. This + * builtin uses automatic uniforms so the atmophere settings are synced with the + * state of the Scene, even in other contexts like Model. + * + * @name czm_computeAtmosphereColor + * @glslFunction + * + * @param {czm_ray} primaryRay Ray from the origin to sky fragment to in world coords (low precision) + * @param {vec3} lightDirection Light direction from the sun or other light source. + * @param {vec3} rayleighColor The Rayleigh scattering color computed by a scattering function + * @param {vec3} mieColor The Mie scattering color computed by a scattering function + * @param {float} opacity The opacity computed by a scattering function. + */ +vec4 czm_computeAtmosphereColor( + czm_ray primaryRay, + vec3 lightDirection, + vec3 rayleighColor, + vec3 mieColor, + float opacity +) { + vec3 direction = normalize(primaryRay.direction); + + float cosAngle = dot(direction, lightDirection); + float cosAngleSq = cosAngle * cosAngle; + + float G = czm_atmosphereMieAnisotropy; + float GSq = G * G; + + // The Rayleigh phase function. + float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); + // The Mie phase function. + float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); + + // The final color is generated by combining the effects of the Rayleigh and Mie scattering. + vec3 rayleigh = rayleighPhase * rayleighColor; + vec3 mie = miePhase * mieColor; + + vec3 color = (rayleigh + mie) * czm_atmosphereLightIntensity; + + return vec4(color, opacity); +} + +`;var VD=`/** * Compute atmosphere scattering for the ground atmosphere and fog. This method * uses automatic uniforms so it is always synced with the scene settings. * @@ -1065,7 +1109,7 @@ void czm_computeGroundAtmosphereScattering(vec3 positionWC, vec3 lightDirection, opacity ); } -`;var DD=`/** +`;var UD=`/** * Returns a position in model coordinates relative to eye taking into * account the current scene mode: 3D, 2D, or Columbus view. * <p> @@ -1087,7 +1131,7 @@ void czm_computeGroundAtmosphereScattering(vec3 positionWC, vec3 lightDirection, * @see czm_translateRelativeToEye */ vec4 czm_computePosition(); -`;var ID=`/** +`;var zD=`/** * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as * the transmittance value for the ray. This function uses automatic uniforms * so the atmosphere settings are always synced with the current scene. @@ -1129,7 +1173,6 @@ void czm_computeScattering( // Return empty colors if no intersection with the atmosphere geometry. if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { - rayleighColor = vec3(1.0, 0.0, 1.0); return; } @@ -1237,7 +1280,7 @@ void czm_computeScattering( // Compute the transmittance i.e. how much light is passing through the atmosphere. opacity = length(exp(-((czm_atmosphereMieCoefficient * opticalDepth.y) + (czm_atmosphereRayleighCoefficient * opticalDepth.x)))); } -`;var PD=`/** +`;var HD=`/** * @private */ vec2 cordic(float angle) @@ -1448,7 +1491,7 @@ vec2 czm_cosineAndSine(float angle) return cordic(angle); } } -`;var RD=`/** +`;var GD=`/** * Decompresses texture coordinates that were packed into a single float. * * @name czm_decompressTextureCoordinates @@ -1465,7 +1508,7 @@ vec2 czm_cosineAndSine(float angle) float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; return vec2(stx, sty); } -`;var OD=`// emulated noperspective +`;var WD=`// emulated noperspective #if (__VERSION__ == 300 || defined(GL_EXT_frag_depth)) && !defined(LOG_DEPTH) out float v_WindowZ; #endif @@ -1512,7 +1555,7 @@ vec4 czm_depthClamp(vec4 coords) #endif return coords; } -`;var MD=`/** +`;var jD=`/** * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping. @@ -1545,7 +1588,7 @@ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) bitangentEC.x, bitangentEC.y, bitangentEC.z, normalEC.x, normalEC.y, normalEC.z); } -`;var LD=`/** +`;var qD=`/** * DOC_TBA * * @name czm_ellipsoidContainsPoint @@ -1557,7 +1600,7 @@ bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point) vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz; return (dot(scaled, scaled) <= 1.0); } -`;var ND=`/** +`;var YD=`/** * Approximate uv coordinates based on the ellipsoid normal. * * @name czm_ellipsoidTextureCoordinates @@ -1567,7 +1610,7 @@ vec2 czm_ellipsoidTextureCoordinates(vec3 normal) { return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); } -`;var FD=`/** +`;var XD=`/** * Compares <code>left</code> and <code>right</code> componentwise. Returns <code>true</code> * if they are within <code>epsilon</code> and <code>false</code> otherwise. The inputs * <code>left</code> and <code>right</code> can be <code>float</code>s, <code>vec2</code>s, @@ -1603,7 +1646,7 @@ bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) { bool czm_equalsEpsilon(float left, float right, float epsilon) { return (abs(left - right) <= epsilon); } -`;var BD=`/** +`;var KD=`/** * DOC_TBA * * @name czm_eyeOffset @@ -1623,7 +1666,7 @@ vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset) p.z += zEyeOffset.z; return p; } -`;var kD=`/** +`;var ZD=`/** * Transforms a position from eye to window coordinates. The transformation * from eye to clip coordinates is done using {@link czm_projection}. * The transform from normalized device coordinates to window coordinates is @@ -1655,7 +1698,7 @@ vec4 czm_eyeToWindowCoordinates(vec4 positionEC) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`;var VD=`/** +`;var $D=`/** * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input. * * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on @@ -1710,7 +1753,7 @@ float czm_fastApproximateAtan(float x, float y) { t = czm_branchFreeTernary(y < 0.0, -t, t); return t; } -`;var UD=`/** +`;var QD=`/** * Gets the color with fog at a distance from the camera. * * @name czm_fog @@ -1748,7 +1791,7 @@ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifie float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant)))); return mix(color, fogColor, fog); } -`;var zD=`/** +`;var JD=`/** * Converts a color from RGB space to linear space. * * @name czm_gammaCorrect @@ -1770,7 +1813,7 @@ vec4 czm_gammaCorrect(vec4 color) { #endif return color; } -`;var HD=`/** +`;var eI=`/** * DOC_TBA * * @name czm_geodeticSurfaceNormal @@ -1786,7 +1829,7 @@ vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, v { return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared); } -`;var GD=`/** +`;var tI=`/** * An czm_material with default values. Every material's czm_getMaterial * should use this default material as a base for the material it returns. * The default normal value is given by materialInput.normalEC. @@ -1813,7 +1856,7 @@ czm_material czm_getDefaultMaterial(czm_materialInput materialInput) material.alpha = 1.0; return material; } -`;var WD=`/** +`;var nI=`/** * Select which direction vector to use for dynamic atmosphere lighting based on an enum value * * @name czm_getDynamicAtmosphereLightDirection @@ -1835,7 +1878,7 @@ vec3 czm_getDynamicAtmosphereLightDirection(vec3 positionWC, float lightEnum) { czm_sunDirectionWC * float(lightEnum == SUNLIGHT); return normalize(lightDirection); } -`;var jD=`/** +`;var iI=`/** * Calculates the intensity of diffusely reflected light. * * @name czm_getLambertDiffuse @@ -1857,7 +1900,7 @@ float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC) { return max(dot(lightDirectionEC, normalEC), 0.0); } -`;var qD=`/** +`;var oI=`/** * Calculates the specular intensity of reflected light. * * @name czm_getSpecular @@ -1886,7 +1929,7 @@ float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float // Prevent this by making sure shininess is at least czm_epsilon2. return pow(specular, max(shininess, czm_epsilon2)); } -`;var YD=`/** +`;var rI=`/** * @private */ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians) @@ -1923,7 +1966,7 @@ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRa // average and scale to between -1 and 1 return ((noise / 4.0) - 0.5) * 2.0; } -`;var XD=`/** +`;var sI=`/** * Converts an HSB color (hue, saturation, brightness) to RGB * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -1947,7 +1990,7 @@ vec3 czm_HSBToRGB(vec3 hsb) vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www); return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y); } -`;var KD=`/** +`;var aI=`/** * Converts an HSL color (hue, saturation, lightness) to RGB * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -1978,7 +2021,7 @@ vec3 czm_HSLToRGB(vec3 hsl) float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y; return (rgb - 0.5) * c + hsl.z; } -`;var ZD=`/** +`;var cI=`/** * Adjusts the hue of a color. * * @name czm_hue @@ -2008,7 +2051,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue)); return toRGB * color; } -`;var $D=`/** +`;var lI=`/** * Converts a color in linear space to RGB space. * * @name czm_inverseGamma @@ -2020,7 +2063,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 czm_inverseGamma(vec3 color) { return pow(color, vec3(1.0 / czm_gamma)); } -`;var QD=`/** +`;var uI=`/** * Determines if a time interval is empty. * * @name czm_isEmpty @@ -2039,7 +2082,7 @@ bool czm_isEmpty(czm_raySegment interval) { return (interval.stop < 0.0); } -`;var JD=`/** +`;var fI=`/** * Determines if a time interval is empty. * * @name czm_isFull @@ -2058,7 +2101,7 @@ bool czm_isFull(czm_raySegment interval) { return (interval.start == 0.0 && interval.stop == czm_infinity); } -`;var eI=`/** +`;var dI=`/** * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located. * * @name czm_latitudeToWebMercatorFraction @@ -2079,7 +2122,7 @@ float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, fl return (mercatorY - southMercatorY) * oneOverMercatorHeight; } -`;var tI=`/** +`;var hI=`/** * Converts a linear RGB color to an sRGB color. * * @param {vec3|vec4} linearIn The color in linear color space. @@ -2095,7 +2138,7 @@ vec4 czm_linearToSrgb(vec4 linearIn) vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2)); return vec4(srgbOut, linearIn.a); } -`;var nI=`/** +`;var mI=`/** * Computes distance from an point in 2D to a line in 2D. * * @name czm_lineDistance @@ -2109,7 +2152,7 @@ vec4 czm_linearToSrgb(vec4 linearIn) float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) { return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1); } -`;var iI=`/** +`;var pI=`/** * Computes the luminance of a color. * * @name czm_luminance @@ -2129,7 +2172,7 @@ float czm_luminance(vec3 rgb) const vec3 W = vec3(0.2125, 0.7154, 0.0721); return dot(rgb, W); } -`;var oI=`/** +`;var _I=`/** * Find the maximum component of a vector. * * @name czm_maximumComponent @@ -2150,7 +2193,7 @@ float czm_maximumComponent(vec4 v) { return max(max(max(v.x, v.y), v.z), v.w); } -`;var rI=`/** +`;var gI=`/** * Computes the size of a pixel in meters at a distance from the eye. * <p> * Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel. @@ -2211,7 +2254,7 @@ float czm_metersPerPixel(vec4 positionEC) { return czm_metersPerPixel(positionEC, czm_pixelRatio); } -`;var sI=`/** +`;var yI=`/** * Transforms a position from model to window coordinates. The transformation * from model to clip coordinates is done using {@link czm_modelViewProjection}. * The transform from normalized device coordinates to window coordinates is @@ -2248,7 +2291,7 @@ vec4 czm_modelToWindowCoordinates(vec4 position) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`;var aI=`/** +`;var xI=`/** * DOC_TBA * * @name czm_multiplyWithColorBalance @@ -2266,7 +2309,7 @@ vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right) return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target; } -`;var cI=`/** +`;var bI=`/** * Computes a value that scales with distance. The scaling is clamped at the near and * far distances, and does not extrapolate. This function works with the * {@link NearFarScalar} JavaScript class. @@ -2292,7 +2335,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) return mix(valueAtMin, valueAtMax, t); } -`;var lI=` /** +`;var TI=` /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ @@ -2375,7 +2418,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) vector3 = czm_octDecode(vec2(x, y)); } -`;var uI=`/** +`;var CI=`/** * Packs a depth value into a vec4 that can be represented by unsigned bytes. * * @name czm_packDepth @@ -2393,7 +2436,7 @@ vec4 czm_packDepth(float depth) enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); return enc; } -`;var fI=`vec3 lambertianDiffuse(vec3 diffuseColor) +`;var AI=`vec3 lambertianDiffuse(vec3 diffuseColor) { return diffuseColor / czm_pi; } @@ -2557,7 +2600,7 @@ vec3 czm_pbrLighting(vec3 viewDirectionEC, vec3 normalEC, vec3 lightDirectionEC, // Lo = (diffuse + specular) * Li * NdotL return (diffuseContribution + specularContribution) * NdotL; } -`;var dI=`// KhronosGroup https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral +`;var EI=`// KhronosGroup https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral // Input color is non-negative and resides in the Linear Rec. 709 color space. // Output color is also Linear Rec. 709, but in the [0, 1] range. @@ -2580,7 +2623,7 @@ vec3 czm_pbrNeutralTonemapping(vec3 color) { float g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0); return mix(color, newPeak * vec3(1.0, 1.0, 1.0), g); } -`;var hI=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) +`;var SI=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) { return czm_getLambertDiffuse(lightDirectionEC, material.normal); } @@ -2643,7 +2686,7 @@ vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) return vec4(color, material.alpha); } -`;var mI=`/** +`;var vI=`/** * Computes distance from a point to a plane. * * @name czm_planeDistance @@ -2671,7 +2714,7 @@ float czm_planeDistance(vec4 plane, vec3 point) { float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) { return (dot(planeNormal, point) + planeDistance); } -`;var pI=`/** +`;var wI=`/** * Computes the point along a ray at the given time. <code>time</code> can be positive, negative, or zero. * * @name czm_pointAlongRay @@ -2690,7 +2733,7 @@ vec3 czm_pointAlongRay(czm_ray ray, float time) { return ray.origin + (time * ray.direction); } -`;var _I=`/** +`;var DI=`/** * DOC_TBA * * @name czm_rayEllipsoidIntersectionInterval @@ -2773,7 +2816,7 @@ czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_ } } } -`;var gI=`/** +`;var II=`/** * Compute the intersection interval of a ray with a sphere. * * @name czm_raySphereIntersectionInterval @@ -2809,11 +2852,11 @@ czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float czm_raySegment result = czm_raySegment(t0, t1); return result; } -`;var yI=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) +`;var PI=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) { return czm_reverseLogDepth(texture(depthTexture, texCoords).r); } -`;var xI=`/** +`;var RI=`/** * Reads a value previously transformed with {@link czm_writeNonPerspective} * by dividing it by \`w\`, the value used in the perspective divide. * This function is intended to be called in a fragment shader to access a @@ -2844,18 +2887,18 @@ vec3 czm_readNonPerspective(vec3 value, float oneOverW) { vec4 czm_readNonPerspective(vec4 value, float oneOverW) { return value * oneOverW; } -`;var bI=`float czm_reverseLogDepth(float logZ) +`;var OI=`float czm_reverseLogDepth(float logZ) { #ifdef LOG_DEPTH float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne; - float depthFromNear = pow(2.0, log2Depth) - 1.0; + float depthFromNear = exp2(log2Depth) - 1.0; return far * (1.0 - near / (depthFromNear + near)) / (far - near); #endif return logZ; } -`;var TI=`/** +`;var MI=`/** * Converts an RGB color to HSB (hue, saturation, brightness) * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -2882,7 +2925,7 @@ vec3 czm_RGBToHSB(vec3 rgb) float d = q.x - min(q.w, q.y); return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x); } -`;var CI=`/** +`;var LI=`/** * Converts an RGB color to HSL (hue, saturation, lightness) * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -2916,7 +2959,7 @@ vec3 czm_RGBToHSL(vec3 rgb) float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7); return vec3(hcv.x, s, l); } -`;var AI=`/** +`;var NI=`/** * Converts an RGB color to CIE Yxy. * <p>The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -2946,7 +2989,7 @@ vec3 czm_RGBToXYZ(vec3 rgb) Yxy.gb = xyz.rg / temp; return Yxy; } -`;var EI=`/** +`;var FI=`/** * Round a floating point value. This function exists because round() doesn't * exist in GLSL 1.00. * @@ -2968,7 +3011,7 @@ vec3 czm_round(vec3 value) { vec4 czm_round(vec4 value) { return floor(value + 0.5); } -`;var SI=`/** +`;var BI=`/** * Adjusts the saturation of a color. * * @name czm_saturation @@ -2990,7 +3033,7 @@ vec3 czm_saturation(vec3 rgb, float adjustment) vec3 intensity = vec3(dot(rgb, W)); return mix(intensity, rgb, adjustment); } -`;var vI=` +`;var kI=` float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d) { return czm_unpackDepth(czm_textureCube(shadowMap, d)); @@ -3014,7 +3057,7 @@ float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } -`;var wI=` +`;var VI=` float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness) { #ifdef USE_NORMAL_SHADING @@ -3080,7 +3123,7 @@ float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParam return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #endif -`;var DI=`/** +`;var UI=`/** * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL * built-in function <code>sign</code> except that returns 1.0 instead of 0.0 when the input value is 0.0. * @@ -3109,7 +3152,7 @@ vec4 czm_signNotZero(vec4 value) { return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w)); } -`;var II=`/** +`;var zI=`/** * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector. * <p> * The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22]. @@ -3140,7 +3183,7 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) float y = normal.y; float z = normal.z; - return + vec3 L = L00 + L1_1 * y + L10 * z @@ -3150,8 +3193,10 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) + L20 * (3.0 * z * z - 1.0) + L21 * (z * x) + L22 * (x * x - y * y); + + return max(L, vec3(0.0)); } -`;var PI=`/** +`;var HI=`/** * Converts an sRGB color to a linear RGB color. * * @param {vec3|vec4} srgbIn The color in sRGB space @@ -3167,7 +3212,7 @@ vec4 czm_srgbToLinear(vec4 srgbIn) vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); } -`;var RI=`/** +`;var GI=`/** * Creates a matrix that transforms vectors from tangent space to eye space. * * @name czm_tangentToEyeSpaceMatrix @@ -3192,7 +3237,7 @@ mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC bitangent.x, bitangent.y, bitangent.z, normal.x , normal.y , normal.z); } -`;var OI=`/** +`;var WI=`/** * A wrapper around the texture (WebGL2) / textureCube (WebGL1) * function to allow for WebGL 1 support. * @@ -3227,7 +3272,7 @@ vec4 czm_textureCube(samplerCube sampler, vec3 p, float lod) { #elif defined(GL_EXT_shader_texture_lod) return textureCubeLodEXT(sampler, p, lod); #endif -}`;var MI=`/** +}`;var jI=`/** * Transforms a plane. * * @name czm_transformPlane @@ -3242,7 +3287,7 @@ vec4 czm_transformPlane(vec4 plane, mat4 transform) { float normalMagnitude = length(transformedPlane.xyz); return transformedPlane / normalMagnitude; } -`;var LI=`/** +`;var qI=`/** * Translates a position (or any <code>vec3</code>) that was encoded with {@link EncodedCartesian3}, * and then provided to the shader as separate <code>high</code> and <code>low</code> bits to * be relative to the eye. As shown in the example, the position can then be transformed in eye @@ -3287,7 +3332,7 @@ vec4 czm_translateRelativeToEye(vec3 high, vec3 low) return vec4(highDifference + lowDifference, 1.0); } -`;var NI=`/** +`;var YI=`/** * @private */ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC) @@ -3314,7 +3359,7 @@ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirection return vec4(color, material.alpha); } -`;var FI=`/** +`;var XI=`/** * Returns the transpose of the matrix. The input <code>matrix</code> can be * a <code>mat2</code>, <code>mat3</code>, or <code>mat4</code>. * @@ -3359,7 +3404,7 @@ mat4 czm_transpose(mat4 matrix) matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2], matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]); } -`;var BI=`vec2 getLookupUv(vec2 dimensions, int i) { +`;var KI=`vec2 getLookupUv(vec2 dimensions, int i) { int pixY = i / int(dimensions.x); int pixX = i - (pixY * int(dimensions.x)); float pixelWidth = 1.0 / dimensions.x; @@ -3372,7 +3417,7 @@ mat4 czm_transpose(mat4 matrix) vec4 czm_unpackClippingExtents(highp sampler2D extentsTexture, int index) { vec2 textureDimensions = vec2(textureSize(extentsTexture, 0)); return texture(extentsTexture, getLookupUv(textureDimensions, index)); -}`;var kI=`/** +}`;var ZI=`/** * Unpacks a vec4 depth value to a float in [0, 1) range. * * @name czm_unpackDepth @@ -3388,7 +3433,7 @@ float czm_unpackDepth(vec4 packedDepth) // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)); } -`;var VI=`/** +`;var $I=`/** * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4. * * @name czm_unpackFloat @@ -3412,7 +3457,7 @@ float czm_unpackFloat(vec4 packedFloat) float result = sign * exp2(exponent - 23.0) * mantissa; return result; } -`;var UI=`/** +`;var QI=`/** * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type, * so the return value is an int. * <p> @@ -3443,7 +3488,7 @@ float czm_unpackFloat(vec4 packedFloat) vec4 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0))); } -`;var zI=`/** +`;var JI=`/** * Transform metadata values following the EXT_structural_metadata spec * by multiplying by scale and adding the offset. Operations are always * performed component-wise, even for matrices. @@ -3481,7 +3526,7 @@ mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) { mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) { return matrixCompMult(scale, value) + offset; } -`;var HI=`#ifdef LOG_DEPTH +`;var eP=`#ifdef LOG_DEPTH // 1.0 at the near plane, increasing linearly from there. out float v_depthFromNearPlusOne; #ifdef SHADOW_MAP @@ -3545,7 +3590,7 @@ void czm_vertexLogDepth(vec4 clipCoords) czm_updatePositionDepth(clipCoords); #endif } -`;var GI=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) +`;var tP=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) { // Reconstruct NDC coordinates float x = 2.0 * screenCoordinate.x - 1.0; @@ -3656,7 +3701,7 @@ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth); } -`;var WI=`// emulated noperspective +`;var nP=`// emulated noperspective #if !defined(LOG_DEPTH) in float v_WindowZ; #endif @@ -3680,7 +3725,7 @@ void czm_writeDepthClamp() gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0); #endif } -`;var jI=`#ifdef LOG_DEPTH +`;var iP=`#ifdef LOG_DEPTH in float v_depthFromNearPlusOne; #ifdef POLYGON_OFFSET @@ -3759,7 +3804,7 @@ void czm_writeLogDepth() { czm_writeLogDepth(v_depthFromNearPlusOne); #endif } -`;var qI=`/** +`;var oP=`/** * Transforms a value for non-perspective interpolation by multiplying * it by w, the value used in the perspective divide. This function is * intended to be called in a vertex shader to compute the value of a @@ -3791,7 +3836,7 @@ vec3 czm_writeNonPerspective(vec3 value, float w) { vec4 czm_writeNonPerspective(vec4 value, float w) { return value * w; } -`;var YI=`/** +`;var rP=`/** * Converts a CIE Yxy color to RGB. * <p>The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -3821,7 +3866,7 @@ vec3 czm_XYZToRGB(vec3 Yxy) return XYZ2RGB * xyz; } -`;var ax={czm_degreesPerRadian:bw,czm_depthRange:Tw,czm_epsilon1:Cw,czm_epsilon2:Aw,czm_epsilon3:Ew,czm_epsilon4:Sw,czm_epsilon5:vw,czm_epsilon6:ww,czm_epsilon7:Dw,czm_infinity:Iw,czm_oneOverPi:Pw,czm_oneOverTwoPi:Rw,czm_passCesium3DTile:Ow,czm_passCesium3DTileClassification:Mw,czm_passCesium3DTileClassificationIgnoreShow:Lw,czm_passClassification:Nw,czm_passCompute:Fw,czm_passEnvironment:Bw,czm_passGlobe:kw,czm_passOpaque:Vw,czm_passOverlay:Uw,czm_passTerrainClassification:zw,czm_passTranslucent:Hw,czm_passVoxels:Gw,czm_pi:Ww,czm_piOverFour:jw,czm_piOverSix:qw,czm_piOverThree:Yw,czm_piOverTwo:Xw,czm_radiansPerDegree:Kw,czm_sceneMode2D:Zw,czm_sceneMode3D:$w,czm_sceneModeColumbusView:Qw,czm_sceneModeMorphing:Jw,czm_solarRadius:eD,czm_threePiOver2:tD,czm_twoPi:nD,czm_webMercatorMaxLatitude:iD,czm_depthRangeStruct:oD,czm_material:rD,czm_materialInput:sD,czm_modelMaterial:aD,czm_modelVertexOutput:cD,czm_ray:lD,czm_raySegment:uD,czm_shadowParameters:fD,czm_acesTonemapping:dD,czm_alphaWeight:hD,czm_antialias:mD,czm_applyHSBShift:pD,czm_approximateSphericalCoordinates:_D,czm_approximateTanh:gD,czm_backFacing:yD,czm_branchFreeTernary:xD,czm_cascadeColor:bD,czm_cascadeDistance:TD,czm_cascadeMatrix:CD,czm_cascadeWeights:AD,czm_clipPolygons:ED,czm_columbusViewMorph:SD,czm_computeAtmosphereColor:vD,czm_computeGroundAtmosphereScattering:wD,czm_computePosition:DD,czm_computeScattering:ID,czm_cosineAndSine:PD,czm_decompressTextureCoordinates:RD,czm_depthClamp:OD,czm_eastNorthUpToEyeCoordinates:MD,czm_ellipsoidContainsPoint:LD,czm_ellipsoidTextureCoordinates:ND,czm_equalsEpsilon:FD,czm_eyeOffset:BD,czm_eyeToWindowCoordinates:kD,czm_fastApproximateAtan:VD,czm_fog:UD,czm_gammaCorrect:zD,czm_geodeticSurfaceNormal:HD,czm_getDefaultMaterial:GD,czm_getDynamicAtmosphereLightDirection:WD,czm_getLambertDiffuse:jD,czm_getSpecular:qD,czm_getWaterNoise:YD,czm_HSBToRGB:XD,czm_HSLToRGB:KD,czm_hue:ZD,czm_inverseGamma:$D,czm_isEmpty:QD,czm_isFull:JD,czm_latitudeToWebMercatorFraction:eI,czm_linearToSrgb:tI,czm_lineDistance:nI,czm_luminance:iI,czm_maximumComponent:oI,czm_metersPerPixel:rI,czm_modelToWindowCoordinates:sI,czm_multiplyWithColorBalance:aI,czm_nearFarScalar:cI,czm_octDecode:lI,czm_packDepth:uI,czm_pbrLighting:fI,czm_pbrNeutralTonemapping:dI,czm_phong:hI,czm_planeDistance:mI,czm_pointAlongRay:pI,czm_rayEllipsoidIntersectionInterval:_I,czm_raySphereIntersectionInterval:gI,czm_readDepth:yI,czm_readNonPerspective:xI,czm_reverseLogDepth:bI,czm_RGBToHSB:TI,czm_RGBToHSL:CI,czm_RGBToXYZ:AI,czm_round:EI,czm_saturation:SI,czm_shadowDepthCompare:vI,czm_shadowVisibility:wI,czm_signNotZero:DI,czm_sphericalHarmonics:II,czm_srgbToLinear:PI,czm_tangentToEyeSpaceMatrix:RI,czm_textureCube:OI,czm_transformPlane:MI,czm_translateRelativeToEye:LI,czm_translucentPhong:NI,czm_transpose:FI,czm_unpackClippingExtents:BI,czm_unpackDepth:kI,czm_unpackFloat:VI,czm_unpackUint:UI,czm_valueTransform:zI,czm_vertexLogDepth:HI,czm_windowToEyeCoordinates:GI,czm_writeDepthClamp:WI,czm_writeLogDepth:jI,czm_writeNonPerspective:qI,czm_XYZToRGB:YI};function Kwe(e,t){let n=e;return n=n.replaceAll("version 300 es",""),n=n.replaceAll(/(texture\()/g,"texture2D("),t?(n=n.replaceAll(/\n\s*(in)\s+(vec\d|mat\d|float)/g,` +`;var xx={czm_degreesPerRadian:Ow,czm_depthRange:Mw,czm_epsilon1:Lw,czm_epsilon2:Nw,czm_epsilon3:Fw,czm_epsilon4:Bw,czm_epsilon5:kw,czm_epsilon6:Vw,czm_epsilon7:Uw,czm_infinity:zw,czm_oneOverPi:Hw,czm_oneOverTwoPi:Gw,czm_passCesium3DTile:Ww,czm_passCesium3DTileClassification:jw,czm_passCesium3DTileClassificationIgnoreShow:qw,czm_passClassification:Yw,czm_passCompute:Xw,czm_passEnvironment:Kw,czm_passGlobe:Zw,czm_passOpaque:$w,czm_passOverlay:Qw,czm_passTerrainClassification:Jw,czm_passTranslucent:eD,czm_passVoxels:tD,czm_pi:nD,czm_piOverFour:iD,czm_piOverSix:oD,czm_piOverThree:rD,czm_piOverTwo:sD,czm_radiansPerDegree:aD,czm_sceneMode2D:cD,czm_sceneMode3D:lD,czm_sceneModeColumbusView:uD,czm_sceneModeMorphing:fD,czm_solarRadius:dD,czm_threePiOver2:hD,czm_twoPi:mD,czm_webMercatorMaxLatitude:pD,czm_depthRangeStruct:_D,czm_material:gD,czm_materialInput:yD,czm_modelMaterial:xD,czm_modelVertexOutput:bD,czm_ray:TD,czm_raySegment:CD,czm_shadowParameters:AD,czm_acesTonemapping:ED,czm_alphaWeight:SD,czm_antialias:vD,czm_applyHSBShift:wD,czm_approximateSphericalCoordinates:DD,czm_approximateTanh:ID,czm_backFacing:PD,czm_branchFreeTernary:RD,czm_cascadeColor:OD,czm_cascadeDistance:MD,czm_cascadeMatrix:LD,czm_cascadeWeights:ND,czm_clipPolygons:FD,czm_columbusViewMorph:BD,czm_computeAtmosphereColor:kD,czm_computeGroundAtmosphereScattering:VD,czm_computePosition:UD,czm_computeScattering:zD,czm_cosineAndSine:HD,czm_decompressTextureCoordinates:GD,czm_depthClamp:WD,czm_eastNorthUpToEyeCoordinates:jD,czm_ellipsoidContainsPoint:qD,czm_ellipsoidTextureCoordinates:YD,czm_equalsEpsilon:XD,czm_eyeOffset:KD,czm_eyeToWindowCoordinates:ZD,czm_fastApproximateAtan:$D,czm_fog:QD,czm_gammaCorrect:JD,czm_geodeticSurfaceNormal:eI,czm_getDefaultMaterial:tI,czm_getDynamicAtmosphereLightDirection:nI,czm_getLambertDiffuse:iI,czm_getSpecular:oI,czm_getWaterNoise:rI,czm_HSBToRGB:sI,czm_HSLToRGB:aI,czm_hue:cI,czm_inverseGamma:lI,czm_isEmpty:uI,czm_isFull:fI,czm_latitudeToWebMercatorFraction:dI,czm_linearToSrgb:hI,czm_lineDistance:mI,czm_luminance:pI,czm_maximumComponent:_I,czm_metersPerPixel:gI,czm_modelToWindowCoordinates:yI,czm_multiplyWithColorBalance:xI,czm_nearFarScalar:bI,czm_octDecode:TI,czm_packDepth:CI,czm_pbrLighting:AI,czm_pbrNeutralTonemapping:EI,czm_phong:SI,czm_planeDistance:vI,czm_pointAlongRay:wI,czm_rayEllipsoidIntersectionInterval:DI,czm_raySphereIntersectionInterval:II,czm_readDepth:PI,czm_readNonPerspective:RI,czm_reverseLogDepth:OI,czm_RGBToHSB:MI,czm_RGBToHSL:LI,czm_RGBToXYZ:NI,czm_round:FI,czm_saturation:BI,czm_shadowDepthCompare:kI,czm_shadowVisibility:VI,czm_signNotZero:UI,czm_sphericalHarmonics:zI,czm_srgbToLinear:HI,czm_tangentToEyeSpaceMatrix:GI,czm_textureCube:WI,czm_transformPlane:jI,czm_translateRelativeToEye:qI,czm_translucentPhong:YI,czm_transpose:XI,czm_unpackClippingExtents:KI,czm_unpackDepth:ZI,czm_unpackFloat:$I,czm_unpackUint:QI,czm_valueTransform:JI,czm_vertexLogDepth:eP,czm_windowToEyeCoordinates:tP,czm_writeDepthClamp:nP,czm_writeLogDepth:iP,czm_writeNonPerspective:oP,czm_XYZToRGB:rP};function jIe(e,t){let n=e;return n=n.replaceAll("version 300 es",""),n=n.replaceAll(/(texture\()/g,"texture2D("),t?(n=n.replaceAll(/\n\s*(in)\s+(vec\d|mat\d|float)/g,` varying $2`),/out_FragData_(\d+)/.test(n)&&(n=`#extension GL_EXT_draw_buffers : enable ${n}`,n=n.replaceAll(/layout\s+\(location\s*=\s*\d+\)\s*out\s+vec4\s+out_FragData_\d+;/g,""),n=n.replaceAll(/out_FragData_(\d+)/g,"gl_FragData[$1]")),n=n.replaceAll(/layout\s+\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,""),n=n.replaceAll(/out_FragColor/g,"gl_FragColor"),n=n.replaceAll(/out_FragColor\[(\d+)\]/g,"gl_FragColor[$1]"),/gl_FragDepth/.test(n)&&(n=`#extension GL_EXT_frag_depth : enable ${n}`,n=n.replaceAll(/gl_FragDepth/g,"gl_FragDepthEXT")),n=`#ifdef GL_EXT_shader_texture_lod @@ -3831,13 +3876,13 @@ ${n}`,n=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif ${n}`):(n=n.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"attribute $2"),n=n.replaceAll(/(out)\s+(vec\d|mat\d|float)\s+([\w]+);/g,"varying $2 $3;")),n=`#version 100 -${n}`,n}var XI=Kwe;function Lee(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){let n=t.match(/\n/gm).length,i="";for(let o=0;o<n;++o)i+=` -`;return i})}function Nee(e,t,n){let i;for(let o=0;o<n.length;++o)n[o].name===e&&(i=n[o]);return l(i)||(t=Lee(t),i={name:e,glslSource:t,dependsOn:[],requiredBy:[],evaluated:!1},n.push(i)),i}function Fee(e,t){if(e.evaluated)return;e.evaluated=!0;let n=e.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);l(n)&&n!==null&&(n=n.filter(function(i,o){return n.indexOf(i)===o}),n.forEach(function(i){if(i!==e.name&&Us._czmBuiltinsAndUniforms.hasOwnProperty(i)){let o=Nee(i,Us._czmBuiltinsAndUniforms[i],t);e.dependsOn.push(o),o.requiredBy.push(e),Fee(o,t)}}))}function Zwe(e){let t=[],n=[];for(;e.length>0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r<o.dependsOn.length;++r){let s=o.dependsOn[r],a=s.requiredBy.indexOf(o);s.requiredBy.splice(a,1),s.requiredBy.length===0&&t.push(s)}}let i=[];for(let o=0;o<n.length;++o)n[o].requiredBy.length!==0&&i.push(n[o])}function $we(e){let t=[],n=Nee("main",e,t);Fee(n,t),Zwe(t);let i="";for(let o=t.length-1;o>=0;--o)i=`${i+t[o].glslSource} -`;return i.replace(n.glslSource,"")}function Bee(e,t,n){let i,o,r="",s=e.sources;if(l(s))for(i=0,o=s.length;i<o;++i)r+=` +${n}`,n}var sP=jIe;function Lte(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){let n=t.match(/\n/gm).length,i="";for(let o=0;o<n;++o)i+=` +`;return i})}function Nte(e,t,n){let i;for(let o=0;o<n.length;++o)n[o].name===e&&(i=n[o]);return l(i)||(t=Lte(t),i={name:e,glslSource:t,dependsOn:[],requiredBy:[],evaluated:!1},n.push(i)),i}function Fte(e,t){if(e.evaluated)return;e.evaluated=!0;let n=e.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);l(n)&&n!==null&&(n=n.filter(function(i,o){return n.indexOf(i)===o}),n.forEach(function(i){if(i!==e.name&&qs._czmBuiltinsAndUniforms.hasOwnProperty(i)){let o=Nte(i,qs._czmBuiltinsAndUniforms[i],t);e.dependsOn.push(o),o.requiredBy.push(e),Fte(o,t)}}))}function qIe(e){let t=[],n=[];for(;e.length>0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r<o.dependsOn.length;++r){let s=o.dependsOn[r],a=s.requiredBy.indexOf(o);s.requiredBy.splice(a,1),s.requiredBy.length===0&&t.push(s)}}let i=[];for(let o=0;o<n.length;++o)n[o].requiredBy.length!==0&&i.push(n[o])}function YIe(e){let t=[],n=Nte("main",e,t);Fte(n,t),qIe(t);let i="";for(let o=t.length-1;o>=0;--o)i=`${i+t[o].glslSource} +`;return i.replace(n.glslSource,"")}function Bte(e,t,n){let i,o,r="",s=e.sources;if(l(s))for(i=0,o=s.length;i<o;++i)r+=` #line 0 -${s[i]}`;r=Lee(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(x,b){return a=b,` +${s[i]}`;r=Lte(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(x,b){return a=b,` `});let c=[];r=r.replace(/#extension.*\n/gm,function(x){return c.push(x),` -`}),r=r.replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");let u=e.pickColorQualifier;l(u)&&(r=Us.createPickFragmentShaderSource(r,u));let f="",d=c.length;for(i=0;i<d;i++)f+=c[i];t&&(f+=`#ifdef GL_FRAGMENT_PRECISION_HIGH +`}),r=r.replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");let u=e.pickColorQualifier;l(u)&&(r=qs.createPickFragmentShaderSource(r,u));let f="",d=c.length;for(i=0;i<d;i++)f+=c[i];t&&(f+=`#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; precision highp int; #else @@ -3851,20 +3896,20 @@ ${s[i]}`;r=Lee(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(x,b){return `),n.floatingPointTexture&&(f+=`#define OES_texture_float -`);let g="";e.includeBuiltIns&&(g=$we(r)),f+=` +`);let g="";e.includeBuiltIns&&(g=YIe(r)),f+=` #line 0 `;let m=g+r;return n.webgl2&&t&&!/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g.test(m)&&!/czm_out_FragColor/g.test(m)&&/out_FragColor/g.test(m)&&(f+=`layout(location = 0) out vec4 out_FragColor; `),f+=g,f+=r,n.webgl2?f=`#version 300 es -${f}`:f=XI(f,t),f}function Us(e){e=y(e,y.EMPTY_OBJECT);let t=e.pickColorQualifier;this.defines=l(e.defines)?e.defines.slice(0):[],this.sources=l(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=y(e.includeBuiltIns,!0)}Us.prototype.clone=function(){return new Us({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})};Us.replaceMain=function(e,t){return t=`void ${t}()`,e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)};Us.prototype.getCacheKey=function(){let t=this.defines.slice().sort().join(","),n=this.pickColorQualifier,i=this.includeBuiltIns,o=this.sources.join(` -`);return`${t}:${n}:${i}:${o}`};Us.prototype.createCombinedVertexShader=function(e){return Bee(this,!1,e)};Us.prototype.createCombinedFragmentShader=function(e){return Bee(this,!0,e)};Us._czmBuiltinsAndUniforms={};for(let e in ax)ax.hasOwnProperty(e)&&(Us._czmBuiltinsAndUniforms[e]=ax[e]);for(let e in hp)if(hp.hasOwnProperty(e)){let t=hp[e];typeof t.getDeclaration=="function"&&(Us._czmBuiltinsAndUniforms[e]=t.getDeclaration(e))}Us.createPickVertexShaderSource=function(e){return`${Us.replaceMain(e,"czm_old_main")} +${f}`:f=sP(f,t),f}function qs(e){e=y(e,y.EMPTY_OBJECT);let t=e.pickColorQualifier;this.defines=l(e.defines)?e.defines.slice(0):[],this.sources=l(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=y(e.includeBuiltIns,!0)}qs.prototype.clone=function(){return new qs({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})};qs.replaceMain=function(e,t){return t=`void ${t}()`,e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)};qs.prototype.getCacheKey=function(){let t=this.defines.slice().sort().join(","),n=this.pickColorQualifier,i=this.includeBuiltIns,o=this.sources.join(` +`);return`${t}:${n}:${i}:${o}`};qs.prototype.createCombinedVertexShader=function(e){return Bte(this,!1,e)};qs.prototype.createCombinedFragmentShader=function(e){return Bte(this,!0,e)};qs._czmBuiltinsAndUniforms={};for(let e in xx)xx.hasOwnProperty(e)&&(qs._czmBuiltinsAndUniforms[e]=xx[e]);for(let e in pp)if(pp.hasOwnProperty(e)){let t=pp[e];typeof t.getDeclaration=="function"&&(qs._czmBuiltinsAndUniforms[e]=t.getDeclaration(e))}qs.createPickVertexShaderSource=function(e){return`${qs.replaceMain(e,"czm_old_main")} in vec4 pickColor; out vec4 czm_pickColor; void main() { czm_old_main(); czm_pickColor = pickColor; -}`};Us.createPickFragmentShaderSource=function(e,t){let n=Us.replaceMain(e,"czm_old_main"),i=`${t} vec4 czm_pickColor; +}`};qs.createPickFragmentShaderSource=function(e,t){let n=qs.replaceMain(e,"czm_old_main"),i=`${t} vec4 czm_pickColor; void main() { czm_old_main(); @@ -3873,9 +3918,9 @@ void main() } out_FragColor = czm_pickColor; }`;return`${n} -${i}`};function Qwe(e,t){let n=e.defines,i=n.length;for(let o=0;o<i;++o)if(n[o]===t)return!0;return!1}function kee(e,t){let n=e.sources,i=n.length;for(let o=0;o<i;++o)if(n[o].indexOf(t)!==-1)return!0;return!1}function Vee(e,t){let n=t.length;for(let i=0;i<n;++i){let o=t[i];if(kee(e,o))return o}}var Jwe=["v_normalEC","v_normal"];Us.findNormalVarying=function(e){return kee(e,"#ifdef HAS_NORMALS")?Qwe(e,"HAS_NORMALS")?"v_normalEC":void 0:Vee(e,Jwe)};var eDe=["v_positionEC"];Us.findPositionVarying=function(e){return Vee(e,eDe)};var ze=Us;function Cd(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}Object.defineProperties(Cd.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}});Cd.prototype.replaceShaderProgram=function(e){return l(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)};function tDe(e){let t=Object.keys(e).sort();return JSON.stringify(e,t)}Cd.prototype.getShaderProgram=function(e){let t=e.vertexShaderSource,n=e.fragmentShaderSource,i=e.attributeLocations;typeof t=="string"&&(t=new ze({sources:[t]})),typeof n=="string"&&(n=new ze({sources:[n]}));let o=t.getCacheKey(),r=n.getCacheKey(),s=l(i)?tDe(i):"",a=`${o}:${r}:${s}`,c;if(l(this._shaders[a]))c=this._shaders[a],delete this._shadersToRelease[a];else{let u=this._context,f=t.createCombinedVertexShader(u),d=n.createCombinedFragmentShader(u),p=new an({gl:u._gl,logShaderCompilation:u.logShaderCompilation,debugShaders:u.debugShaders,vertexShaderSource:t,vertexShaderText:f,fragmentShaderSource:n,fragmentShaderText:d,attributeLocations:i});c={cache:this,shaderProgram:p,keyword:a,derivedKeywords:[],count:0},p._cachedShader=c,this._shaders[a]=c,++this._numberOfShaders}return++c.count,c.shaderProgram};Cd.prototype.replaceDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=this._shaders[o];if(l(r)){o6(this,r);let s=i.derivedKeywords.indexOf(t);s>-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};Cd.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(l(o))return o.shaderProgram};Cd.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new ze({sources:[r]})),typeof s=="string"&&(s=new ze({sources:[s]}));let c=this._context,u=r.createCombinedVertexShader(c),f=s.createCombinedFragmentShader(c),d=new an({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:u,fragmentShaderSource:s,fragmentShaderText:f,attributeLocations:a}),p={cache:this,shaderProgram:d,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),d._cachedShader=p,this._shaders[o]=p,d};function o6(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;o<i;++o){let r=n[o]+t.keyword,s=e._shaders[r];o6(e,s)}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}Cd.prototype.destroyReleasedShaderPrograms=function(){let e=this._shadersToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];o6(this,n),--this._numberOfShaders}this._shadersToRelease={}};Cd.prototype.releaseShaderProgram=function(e){if(l(e)){let t=e._cachedShader;t&&--t.count===0&&(this._shadersToRelease[t.keyword]=t)}};Cd.prototype.isDestroyed=function(){return!1};Cd.prototype.destroy=function(){let e=this._shaders;for(let t in e)e.hasOwnProperty(t)&&e[t].shaderProgram.finalDestroy();return ue(this)};var KI=Cd;function Ad(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=ot.RGBA,pixelDatatype:o=Je.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new en}=e,{width:c,height:u}=e;l(n)&&(l(c)||(c=n.videoWidth??n.naturalWidth??n.width),l(u)||(u=n.videoHeight??n.naturalHeight??n.height));let f=e.preMultiplyAlpha||i===ot.RGB||i===ot.LUMINANCE,d=ot.toInternalFormat(i,o,t),p=ot.isCompressedFormat(d),g=t._gl,m=p?ot.compressedTextureSizeInBytes(i,c,u):ot.textureSizeInBytes(i,o,c,u);this._id=qn(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=g.TEXTURE_2D,this._texture=g.createTexture(),this._internalFormat=d,this._pixelFormat=i,this._pixelDatatype=o,this._width=c,this._height=u,this._dimensions=new z(c,u),this._hasMipmap=!1,this._sizeInBytes=m,this._preMultiplyAlpha=f,this._flipY=r,this._initialized=!1,this._sampler=void 0,this._sampler=a,Uee(this,a),g.activeTexture(g.TEXTURE0),g.bindTexture(this._textureTarget,this._texture),l(n)?(s?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(n.arrayBufferView)?ot.isCompressedFormat(d)?nDe(this,n):iDe(this,n):l(n.framebuffer)?oDe(this,n):rDe(this,n),this._initialized=!0):sDe(this),g.bindTexture(this._textureTarget,null)}function nDe(e,t){let i=e._context._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a}=e;if(i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.compressedTexImage2D(o,0,r,s,a,0,t.arrayBufferView),l(t.mipLevels)){let c=s,u=a;for(let f=0;f<t.mipLevels.length;++f)c=VV(c),u=VV(u),i.compressedTexImage2D(o,f+1,r,c,u,0,t.mipLevels[f])}}function iDe(e,t){let n=e._context,i=n._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a,pixelFormat:c,pixelDatatype:u,flipY:f}=e,d=ot.alignmentInBytes(c,u,s);i.pixelStorei(i.UNPACK_ALIGNMENT,d),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1);let p=t.arrayBufferView;if(f&&(p=ot.flipY(p,c,u,s,a)),i.texImage2D(o,0,r,s,a,0,c,Je.toWebGLConstant(u,n),p),l(t.mipLevels)){let g=s,m=a;for(let x=0;x<t.mipLevels.length;++x)g=VV(g),m=VV(m),i.texImage2D(o,x+1,r,g,m,0,c,Je.toWebGLConstant(u,n),t.mipLevels[x])}}function oDe(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._bind(),i.copyTexImage2D(e._textureTarget,0,e._internalFormat,t.xOffset,t.yOffset,e.width,e.height,0),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._unBind()}function rDe(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.preMultiplyAlpha),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,e.flipY),i.texImage2D(e._textureTarget,0,e._internalFormat,e.pixelFormat,Je.toWebGLConstant(e.pixelDatatype,n),t)}function VV(e){let t=Math.floor(e/2)|0;return Math.max(t,1)}function sDe(e){let t=e._context;t._gl.texImage2D(e._textureTarget,0,e._internalFormat,e._width,e._height,0,e._pixelFormat,Je.toWebGLConstant(e._pixelDatatype,t),null)}Ad.create=function(e){return new Ad(e)};Ad.fromFramebuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,{pixelFormat:i=ot.RGB,framebufferXOffset:o=0,framebufferYOffset:r=0,width:s=n.drawingBufferWidth,height:a=n.drawingBufferHeight,framebuffer:c}=e;return new Ad({context:t,width:s,height:a,pixelFormat:i,source:{framebuffer:l(c)?c:t.defaultFramebuffer,xOffset:o,yOffset:r,width:s,height:a}})};Object.defineProperties(Ad.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){Uee(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}});function Uee(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[Jt.NEAREST_MIPMAP_NEAREST,Jt.NEAREST_MIPMAP_LINEAR,Jt.LINEAR_MIPMAP_NEAREST,Jt.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelFormat,a=e._pixelDatatype;(a===Je.FLOAT&&!r.textureFloatLinear||a===Je.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?Jt.NEAREST_MIPMAP_NEAREST:Jt.NEAREST,i=mi.NEAREST),r.webgl2&&ot.isDepthFormat(s)&&(n=Jt.NEAREST,i=mi.NEAREST);let c=r._gl,u=e._textureTarget;c.activeTexture(c.TEXTURE0),c.bindTexture(u,e._texture),c.texParameteri(u,c.TEXTURE_MIN_FILTER,n),c.texParameteri(u,c.TEXTURE_MAG_FILTER,i),c.texParameteri(u,c.TEXTURE_WRAP_S,t.wrapS),c.texParameteri(u,c.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&c.texParameteri(u,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),c.bindTexture(u,null)}Ad.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,r=this._context,s=r._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture);let{width:c,height:u}=i,f=i.arrayBufferView;l(i.videoWidth)&&l(i.videoHeight)?(c=i.videoWidth,u=i.videoHeight):l(i.naturalWidth)&&l(i.naturalHeight)&&(c=i.naturalWidth,u=i.naturalHeight);let d=this._width,p=this._height,g=this._internalFormat,m=this._pixelFormat,x=this._pixelDatatype,b=this._preMultiplyAlpha,T=this._flipY,A=4;l(f)&&(A=ot.alignmentInBytes(m,x,c)),s.pixelStorei(s.UNPACK_ALIGNMENT,A),o?s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE):s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.BROWSER_DEFAULT_WEBGL);let C=!1;if(!this._initialized){let E;t===0&&n===0&&c===d&&u===p?(l(f)?(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),T?E=ot.flipY(f,m,x,d,p):E=f):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,T),E=i),C=!0):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),E=ot.createTypedArray(m,x,d,p)),s.texImage2D(a,0,g,d,p,0,m,Je.toWebGLConstant(x,r),E),this._initialized=!0}if(!C){let E;l(f)?(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),T?E=ot.flipY(f,m,x,c,u):E=f):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,T),E=i),s.texSubImage2D(a,0,t,n,c,u,m,Je.toWebGLConstant(x,r),E)}s.bindTexture(a,null)};Ad.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._width),r=y(r,this._height);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(a,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};Ad.prototype.generateMipmap=function(e){e=y(e,Qh.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};Ad.prototype.isDestroyed=function(){return!1};Ad.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),ue(this)};var Mt=Ad;function cx(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}Object.defineProperties(cx.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}});cx.prototype.getTexture=function(e){let t=this._textures[e];if(l(t))return delete this._texturesToRelease[e],++t.count,t.texture};cx.prototype.addTexture=function(e,t){let n={texture:t,count:1};t.finalDestroy=t.destroy;let i=this;t.destroy=function(){--n.count===0&&(i._texturesToRelease[e]=n)},this._textures[e]=n,++this._numberOfTextures};cx.prototype.destroyReleasedTextures=function(){let e=this._texturesToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];delete this._textures[t],n.texture.finalDestroy(),--this._numberOfTextures}this._texturesToRelease={}};cx.prototype.isDestroyed=function(){return!1};cx.prototype.destroy=function(){let e=this._textures;for(let t in e)e.hasOwnProperty(t)&&e[t].texture.finalDestroy();return ue(this)};var ZI=cx;function Jh(){this.high=h.clone(h.ZERO),this.low=h.clone(h.ZERO)}Jh.encode=function(e,t){l(t)||(t={high:0,low:0});let n;return e>=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var Cp={high:0,low:0};Jh.fromCartesian=function(e,t){l(t)||(t=new Jh);let n=t.high,i=t.low;return Jh.encode(e.x,Cp),n.x=Cp.high,i.x=Cp.low,Jh.encode(e.y,Cp),n.y=Cp.high,i.y=Cp.low,Jh.encode(e.z,Cp),n.z=Cp.high,i.z=Cp.low,t};var r6=new Jh;Jh.writeElements=function(e,t,n){Jh.fromCartesian(e,r6);let i=r6.high,o=r6.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z};var Yn=Jh;function zs(e,t){this.normal=h.clone(e),this.distance=t}zs.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return l(n)?(h.clone(t,n.normal),n.distance=i,n):new zs(t,i)};var aDe=new h;zs.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,aDe),i=e.w;return l(t)?(h.clone(n,t.normal),t.distance=i,t):new zs(n,i)};zs.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var cDe=new h;zs.projectPointOntoPlane=function(e,t,n){l(n)||(n=new h);let i=zs.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,cDe);return h.subtract(t,o,n)};var lDe=new F,uDe=new oe,fDe=new h;zs.transform=function(e,t,n){let i=e.normal,o=e.distance,r=F.inverseTranspose(t,lDe),s=oe.fromElements(i.x,i.y,i.z,o,uDe);s=F.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,fDe);return s=oe.divideByScalar(s,h.magnitude(a),s),zs.fromCartesian4(s,n)};zs.clone=function(e,t){return l(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new zs(e.normal,e.distance)};zs.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};zs.ORIGIN_XY_PLANE=Object.freeze(new zs(h.UNIT_Z,0));zs.ORIGIN_YZ_PLANE=Object.freeze(new zs(h.UNIT_X,0));zs.ORIGIN_ZX_PLANE=Object.freeze(new zs(h.UNIT_Y,0));var ln=zs;function ff(e){this.planes=y(e,[])}var $I=[new h,new h,new h];h.clone(h.UNIT_X,$I[0]);h.clone(h.UNIT_Y,$I[1]);h.clone(h.UNIT_Z,$I[2]);var Lg=new h,dDe=new h,zee=new ln(new h(1,0,0),0);ff.fromBoundingSphere=function(e,t){l(t)||(t=new ff);let n=$I.length,i=t.planes;i.length=2*n;let o=e.center,r=e.radius,s=0;for(let a=0;a<n;++a){let c=$I[a],u=i[s],f=i[s+1];l(u)||(u=i[s]=new oe),l(f)||(f=i[s+1]=new oe),h.multiplyByScalar(c,-r,Lg),h.add(o,Lg,Lg),u.x=c.x,u.y=c.y,u.z=c.z,u.w=-h.dot(c,Lg),h.multiplyByScalar(c,r,Lg),h.add(o,Lg,Lg),f.x=-c.x,f.y=-c.y,f.z=-c.z,f.w=-h.dot(h.negate(c,dDe),Lg),s+=2}return t};ff.prototype.computeVisibility=function(e){let t=this.planes,n=!1;for(let i=0,o=t.length;i<o;++i){let r=e.intersectPlane(ln.fromCartesian4(t[i],zee));if(r===jt.OUTSIDE)return jt.OUTSIDE;r===jt.INTERSECTING&&(n=!0)}return n?jt.INTERSECTING:jt.INSIDE};ff.prototype.computeVisibilityWithPlaneMask=function(e,t){if(t===ff.MASK_OUTSIDE||t===ff.MASK_INSIDE)return t;let n=ff.MASK_INSIDE,i=this.planes;for(let o=0,r=i.length;o<r;++o){let s=o<31?1<<o:0;if(o<31&&!(t&s))continue;let a=e.intersectPlane(ln.fromCartesian4(i[o],zee));if(a===jt.OUTSIDE)return ff.MASK_OUTSIDE;a===jt.INTERSECTING&&(n|=s)}return n};ff.MASK_OUTSIDE=4294967295;ff.MASK_INSIDE=0;ff.MASK_INDETERMINATE=2147483647;var hs=ff;function em(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new hs,this._orthographicMatrix=new F}function Hee(e){(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far)&&(e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=F.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}Object.defineProperties(em.prototype,{projectionMatrix:{get:function(){return Hee(this),this._orthographicMatrix}}});var hDe=new h,mDe=new h,pDe=new h,s6=new h;em.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,hDe);h.normalize(f,f);let d=mDe;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=pDe;h.multiplyByScalar(f,a,p),h.add(d,p,p);let g=i[0];return l(g)||(g=i[0]=new oe),g.x=f.x,g.y=f.y,g.z=f.z,g.w=-h.dot(f,p),h.multiplyByScalar(f,s,p),h.add(d,p,p),g=i[1],l(g)||(g=i[1]=new oe),g.x=-f.x,g.y=-f.y,g.z=-f.z,g.w=-h.dot(h.negate(f,s6),p),h.multiplyByScalar(n,r,p),h.add(d,p,p),g=i[2],l(g)||(g=i[2]=new oe),g.x=n.x,g.y=n.y,g.z=n.z,g.w=-h.dot(n,p),h.multiplyByScalar(n,o,p),h.add(d,p,p),g=i[3],l(g)||(g=i[3]=new oe),g.x=-n.x,g.y=-n.y,g.z=-n.z,g.w=-h.dot(h.negate(n,s6),p),g=i[4],l(g)||(g=i[4]=new oe),g.x=t.x,g.y=t.y,g.z=t.z,g.w=-h.dot(t,d),h.multiplyByScalar(t,u,p),h.add(e,p,p),g=i[5],l(g)||(g=i[5]=new oe),g.x=-t.x,g.y=-t.y,g.z=-t.z,g.w=-h.dot(h.negate(t,s6),p),this._cullingVolume};em.prototype.getPixelDimensions=function(e,t,n,i,o){Hee(this);let r=this.right-this.left,s=this.top-this.bottom,a=i*r/e,c=i*s/t;return o.x=a,o.y=c,o};em.prototype.clone=function(e){return l(e)||(e=new em),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};em.prototype.equals=function(e){return l(e)&&e instanceof em&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};em.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof em&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var Lr=em;function Tl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Lr,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far}Tl.packedLength=4;Tl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};Tl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Tl),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function Ng(e){let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(Tl.prototype,{projectionMatrix:{get:function(){return Ng(this),this._offCenterFrustum.projectionMatrix}},offCenterFrustum:{get:function(){return Ng(this),this._offCenterFrustum}}});Tl.prototype.computeCullingVolume=function(e,t,n){return Ng(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Tl.prototype.getPixelDimensions=function(e,t,n,i,o){return Ng(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Tl.prototype.clone=function(e){return l(e)||(e=new Tl),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Tl.prototype.equals=function(e){return!l(e)||!(e instanceof Tl)?!1:(Ng(this),Ng(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Tl.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Tl)?!1:(Ng(this),Ng(e),P.equalsEpsilon(this.width,e.width,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var cn=Tl;var a6={};function _De(e){let t=6.239996+.0172019696544*e;return .001657*Math.sin(t+.01671*Math.sin(t))}var gDe=32.184,yDe=2451545;function ate(e,t){t=K.addSeconds(e,gDe,t);let n=K.totalDays(t)-yDe;return t=K.addSeconds(t,_De(n),t),t}var UV=new K(2451545,0,Kn.TAI),xDe=1e3,df=P.RADIANS_PER_DEGREE,au=P.RADIANS_PER_ARCSECOND,Oa=14959787e4,Gee=new $;function cte(e,t,n,i,o,r,s){n<0&&(n=-n,o+=P.PI);let a=e*(1-t),c=i-o,u=o,f=TDe(r-i,t),d=bDe(t,0);vDe(c,n,u,Gee);let p=a*(1+t),g=Math.cos(f),m=Math.sin(f),x=1+t*g,b=p/x;return l(s)?(s.x=b*g,s.y=b*m,s.z=0):s=new h(b*g,b*m,0),$.multiplyByVector(Gee,s,s)}function bDe(e,t){return e<=t?"Circular":e<1-t?"Elliptical":e<=1+t?"Parabolic":"Hyperbolic"}function TDe(e,t){let n=EDe(e,t);return SDe(n,t)}var CDe=50,ADe=P.EPSILON8;function EDe(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),o=Number.MAX_VALUE,r;for(r=0;r<CDe&&Math.abs(o-i)>ADe;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*P.TWO_PI,o}function SDe(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=P.zeroToTwoPi(r),e<0&&(r-=P.TWO_PI),r+=n*P.TWO_PI,r}function vDe(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),u=Math.sin(n);return l(i)?(i[0]=c*o-u*r*s,i[1]=u*o+c*r*s,i[2]=r*a,i[3]=-c*r-u*o*s,i[4]=-u*r+c*o*s,i[5]=o*a,i[6]=u*a,i[7]=-c*a,i[8]=s):i=new $(c*o-u*r*s,-c*r-u*o*s,u*a,u*o+c*r*s,-u*r+c*o*s,-c*a,r*a,o*a,s),i}var wDe=1.0000010178*Oa,DDe=100.46645683*df,IDe=129597742283429e-5*au,Wee=16002,jee=21863,qee=32004,Yee=10931,Xee=14529,Kee=16368,Zee=15318,$ee=32794,PDe=64*1e-7*Oa,RDe=-152*1e-7*Oa,ODe=62*1e-7*Oa,MDe=-8*1e-7*Oa,LDe=32*1e-7*Oa,NDe=-41*1e-7*Oa,FDe=19*1e-7*Oa,BDe=-11*1e-7*Oa,kDe=-150*1e-7*Oa,VDe=-46*1e-7*Oa,UDe=68*1e-7*Oa,zDe=54*1e-7*Oa,HDe=14*1e-7*Oa,GDe=24*1e-7*Oa,WDe=-28*1e-7*Oa,jDe=22*1e-7*Oa,Qee=10,Jee=16002,ete=21863,tte=10931,nte=1473,ite=32004,ote=4387,rte=73,qDe=-325*1e-7,YDe=-322*1e-7,XDe=-79*1e-7,KDe=232*1e-7,ZDe=-52*1e-7,$De=97*1e-7,QDe=55*1e-7,JDe=-41*1e-7,eIe=-105*1e-7,tIe=-137*1e-7,nIe=258*1e-7,iIe=35*1e-7,oIe=-116*1e-7,rIe=-88*1e-7,sIe=-112*1e-7,aIe=-80*1e-7,XC=new K(0,0,Kn.TAI);function cIe(e,t){ate(e,XC);let i=(XC.dayNumber-UV.dayNumber+(XC.secondsOfDay-UV.secondsOfDay)/Zn.SECONDS_PER_DAY)/(Zn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=wDe+PDe*Math.cos(Wee*o)+kDe*Math.sin(Wee*o)+RDe*Math.cos(jee*o)+VDe*Math.sin(jee*o)+ODe*Math.cos(qee*o)+UDe*Math.sin(qee*o)+MDe*Math.cos(Yee*o)+zDe*Math.sin(Yee*o)+LDe*Math.cos(Xee*o)+HDe*Math.sin(Xee*o)+NDe*Math.cos(Kee*o)+GDe*Math.sin(Kee*o)+FDe*Math.cos(Zee*o)+WDe*Math.sin(Zee*o)+BDe*Math.cos($ee*o)+jDe*Math.sin($ee*o),s=DDe+IDe*i+qDe*Math.cos(Qee*o)+eIe*Math.sin(Qee*o)+YDe*Math.cos(Jee*o)+tIe*Math.sin(Jee*o)+XDe*Math.cos(ete*o)+nIe*Math.sin(ete*o)+KDe*Math.cos(tte*o)+iIe*Math.sin(tte*o)+ZDe*Math.cos(nte*o)+oIe*Math.sin(nte*o)+$De*Math.cos(ite*o)+rIe*Math.sin(ite*o)+QDe*Math.cos(ote*o)+sIe*Math.sin(ote*o)+JDe*Math.cos(rte*o)+aIe*Math.sin(rte*o),a=.0167086342-.0004203654*i,c=102.93734808*df+11612.3529*au*i,u=469.97289*au*i,f=174.87317577*df-8679.27034*au*i;return cte(r,a,u,c,f,s,t)}function lte(e,t){ate(e,XC);let i=(XC.dayNumber-UV.dayNumber+(XC.secondsOfDay-UV.secondsOfDay)/Zn.SECONDS_PER_DAY)/Zn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,u=5.15668983*df,f=-8e-5*i+.02966*o-42e-6*r-13e-8*s,d=83.35324312*df,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*df,m=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,x=218.31664563*df,b=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,T=297.85019547*df+au*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),A=93.27209062*df+au*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),C=134.96340251*df+au*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),E=357.52910918*df+au*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),v=310.17137918*df-au*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),D=2*T,O=4*T,R=6*T,M=2*C,N=3*C,_=4*C,S=2*A;a+=3400.4*Math.cos(D)-635.6*Math.cos(D-C)-235.6*Math.cos(C)+218.1*Math.cos(D-E)+181*Math.cos(D+C),c+=.014216*Math.cos(D-C)+.008551*Math.cos(D-M)-.001383*Math.cos(C)+.001356*Math.cos(D+C)-.001147*Math.cos(O-N)-914e-6*Math.cos(O-M)+869e-6*Math.cos(D-E-C)-627e-6*Math.cos(D)-394e-6*Math.cos(O-_)+282e-6*Math.cos(D-E-M)-279e-6*Math.cos(T-C)-236e-6*Math.cos(M)+231e-6*Math.cos(O)+229e-6*Math.cos(R-_)-201e-6*Math.cos(M-S),f+=486.26*Math.cos(D-S)-40.13*Math.cos(D)+37.51*Math.cos(S)+25.73*Math.cos(M-S)+19.97*Math.cos(D-E-S),p+=-55609*Math.sin(D-C)-34711*Math.sin(D-M)-9792*Math.sin(C)+9385*Math.sin(O-N)+7505*Math.sin(O-M)+5318*Math.sin(D+C)+3484*Math.sin(O-_)-3417*Math.sin(D-E-C)-2530*Math.sin(R-_)-2376*Math.sin(D)-2075*Math.sin(D-N)-1883*Math.sin(M)-1736*Math.sin(R-5*C)+1626*Math.sin(E)-1370*Math.sin(R-N),m+=-5392*Math.sin(D-S)-540*Math.sin(E)-441*Math.sin(D)+423*Math.sin(S)-288*Math.sin(M-S),b+=-3332.9*Math.sin(D)+1197.4*Math.sin(D-C)-662.5*Math.sin(E)+396.3*Math.sin(C)-218*Math.sin(D-E);let w=2*v,I=3*v;f+=46.997*Math.cos(v)*i-.614*Math.cos(D-S+v)*i+.614*Math.cos(D-S-v)*i-.0297*Math.cos(w)*o-.0335*Math.cos(v)*o+.0012*Math.cos(D-S+w)*o-16e-5*Math.cos(v)*r+4e-5*Math.cos(I)*r+4e-5*Math.cos(w)*r;let L=2.116*Math.sin(v)*i-.111*Math.sin(D-S-v)*i-.0015*Math.sin(v)*o;p+=L,b+=L,m+=-520.77*Math.sin(v)*i+13.66*Math.sin(D-S+v)*i+1.12*Math.sin(D-v)*i-1.06*Math.sin(S-v)*i+.66*Math.sin(w)*o+.371*Math.sin(v)*o-.035*Math.sin(D-S+w)*o-.015*Math.sin(D-S+v)*o+.0014*Math.sin(v)*r-.0011*Math.sin(I)*r-9e-4*Math.sin(w)*r,a*=xDe;let B=u+f*au,U=d+p*au,V=x+b*au,G=g+m*au;return cte(a,c,B,U,G,V,t)}var ste=.012300034,lIe=ste/(ste+1)*-1;function uIe(e,t){return t=lte(e,t),h.multiplyByScalar(t,lIe,t)}var ute=new $(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),QI=new h;a6.computeSunPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),l(t)||(t=new h),QI=cIe(e,QI),t=h.negate(QI,t),uIe(e,QI),h.subtract(t,QI,t),$.multiplyByVector(ute,t,t),t};a6.computeMoonPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),t=lte(e,t),$.multiplyByVector(ute,t,t),t};var Fg=a6;var zV={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};zV.getMorphTime=function(e){return e===zV.SCENE3D?1:e===zV.MORPHING?void 0:0};var ne=Object.freeze(zV);function fIe(e){e=y(e,y.EMPTY_OBJECT),this.color=H.clone(y(e.color,H.WHITE)),this.intensity=y(e.intensity,2)}var Ap=fIe;function KC(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new We,this._viewportCartesian4=new oe,this._viewportDirty=!1,this._viewportOrthographicMatrix=F.clone(F.IDENTITY),this._viewportTransformation=F.clone(F.IDENTITY),this._model=F.clone(F.IDENTITY),this._view=F.clone(F.IDENTITY),this._inverseView=F.clone(F.IDENTITY),this._projection=F.clone(F.IDENTITY),this._infiniteProjection=F.clone(F.IDENTITY),this._entireFrustum=new z,this._currentFrustum=new z,this._frustumPlanes=new oe,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=$.clone(F.IDENTITY),this._view3DDirty=!0,this._view3D=new F,this._inverseView3DDirty=!0,this._inverseView3D=new F,this._inverseModelDirty=!0,this._inverseModel=new F,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new $,this._viewRotation=new $,this._inverseViewRotation=new $,this._viewRotation3D=new $,this._inverseViewRotation3D=new $,this._inverseProjectionDirty=!0,this._inverseProjection=new F,this._modelViewDirty=!0,this._modelView=new F,this._modelView3DDirty=!0,this._modelView3D=new F,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new F,this._inverseModelViewDirty=!0,this._inverseModelView=new F,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new F,this._viewProjectionDirty=!0,this._viewProjection=new F,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new F,this._modelViewProjectionDirty=!0,this._modelViewProjection=new F,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new F,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new F,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new F,this._normalDirty=!0,this._normal=new $,this._normal3DDirty=!0,this._normal3D=new $,this._inverseNormalDirty=!0,this._inverseNormal=new $,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new $,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new Yn,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new z,this._eyeEllipsoidNormalEC=new h,this._eyeEllipsoidCurvature=new z,this._modelToEnu=new F,this._enuToModel=new F,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new H,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._fogMinimumBrightness=void 0,this._atmosphereHsbShift=void 0,this._atmosphereLightIntensity=void 0,this._atmosphereRayleighCoefficient=new h,this._atmosphereRayleighScaleHeight=new h,this._atmosphereMieCoefficient=new h,this._atmosphereMieScaleHeight=void 0,this._atmosphereMieAnisotropy=void 0,this._atmosphereDynamicLighting=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(KC.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!We.equals(e,this._viewport)){We.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return dte(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return dte(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){F.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,F.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,F.getMatrix3(this.inverseModel,e),$.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return l6(this),this._view3D}},viewRotation:{get:function(){return l6(this),this._viewRotation}},viewRotation3D:{get:function(){return l6(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return pte(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return pte(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return CIe(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return AIe(this),this._modelView}},modelView3D:{get:function(){return EIe(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return PIe(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return SIe(this),this._inverseModelView}},inverseModelView3D:{get:function(){return vIe(this),this._inverseModelView3D}},viewProjection:{get:function(){return wIe(this),this._viewProjection}},inverseViewProjection:{get:function(){return DIe(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return IIe(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return RIe(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return OIe(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return MIe(this),this._modelViewInfiniteProjection}},normal:{get:function(){return LIe(this),this._normal}},normal3D:{get:function(){return NIe(this),this._normal3D}},inverseNormal:{get:function(){return FIe(this),this._inverseNormal}},inverseNormal3D:{get:function(){return BIe(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},eyeEllipsoidNormalEC:{get:function(){return this._eyeEllipsoidNormalEC}},eyeEllipsoidCurvature:{get:function(){return this._eyeEllipsoidCurvature}},modelToEnu:{get:function(){return this._modelToEnu}},enuToModel:{get:function(){return this._enuToModel}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return mte(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return mte(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},fogMinimumBrightness:{get:function(){return this._fogMinimumBrightness}},atmosphereHsbShift:{get:function(){return this._atmosphereHsbShift}},atmosphereLightIntensity:{get:function(){return this._atmosphereLightIntensity}},atmosphereRayleighCoefficient:{get:function(){return this._atmosphereRayleighCoefficient}},atmosphereRayleighScaleHeight:{get:function(){return this._atmosphereRayleighScaleHeight}},atmosphereMieCoefficient:{get:function(){return this._atmosphereMieCoefficient}},atmosphereMieScaleHeight:{get:function(){return this._atmosphereMieScaleHeight}},atmosphereMieAnisotropy:{get:function(){return this._atmosphereMieAnisotropy}},atmosphereDynamicLighting:{get:function(){return this._atmosphereDynamicLighting}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,ee.default)}}});function dIe(e,t){F.clone(t,e._view),F.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function hIe(e,t){F.clone(t,e._inverseView),F.getMatrix3(t,e._inverseViewRotation)}function mIe(e,t){F.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function pIe(e,t){F.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}var fte=new h,_Ie=new F;function gIe(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=e._ellipsoid,i,o=t.positionCartographic;if(l(o)?(e._eyeHeight=o.height,e._eyeEllipsoidNormalEC=n.geodeticSurfaceNormalCartographic(o,e._eyeEllipsoidNormalEC),i=h.fromRadians(o.longitude,o.latitude,0,n,fte)):(e._eyeHeight=-n.maximumRadius,h.magnitude(t.positionWC)>0&&(e._eyeEllipsoidNormalEC=h.normalize(t.positionWC,e._eyeEllipsoidNormalEC)),i=n.scaleToGeodeticSurface(t.positionWC,fte)),e._encodedCameraPositionMCDirty=!0,!l(i))return;e._eyeEllipsoidNormalEC=$.multiplyByVector(e._viewRotation,e._eyeEllipsoidNormalEC,e._eyeEllipsoidNormalEC);let r=Lt.eastNorthUpToFixedFrame(i,n,_Ie);e._enuToModel=F.multiplyTransformation(e.inverseModel,r,e._enuToModel),e._modelToEnu=F.inverseTransformation(e._enuToModel,e._modelToEnu),P.equalsEpsilon(n._radii.x,n._radii.y,P.EPSILON15)&&(e._eyeEllipsoidCurvature=n.getLocalCurvature(i,e._eyeEllipsoidCurvature))}var c6=new $,yIe=new fe;function xIe(e,t){Lt.computeIcrfToCentralBodyFixedMatrix(t.time,c6);let n=Fg.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);$.multiplyByVector(c6,n,n),h.normalize(n,e._sunDirectionWC),n=$.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=Fg.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),$.multiplyByVector(c6,n,n),$.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,yIe);i.project(r,e._sunPositionColumbusView)}KC.prototype.updateCamera=function(e){dIe(this,e.viewMatrix),hIe(this,e.inverseViewMatrix),gIe(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==ne.SCENE2D&&e.frustum instanceof cn};KC.prototype.updateFrustum=function(e){mIe(this,e.projectionMatrix),l(e.infiniteProjectionMatrix)&&pIe(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=P.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let t=e.offCenterFrustum;l(t)&&(e=t),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};KC.prototype.updatePass=function(e){this._pass=e};var bIe=[],TIe=new Ap;KC.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===ne.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),xIe(this,e);let n=y(e.light,TIe);n instanceof Ap?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=$.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=l(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,bIe),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,this._fogDensity=e.fog.density,this._fogMinimumBrightness=e.fog.minimumBrightness;let c=e.atmosphere;l(c)&&(this._atmosphereHsbShift=h.fromElements(c.hueShift,c.saturationShift,c.brightnessShift,this._atmosphereHsbShift),this._atmosphereLightIntensity=c.lightIntensity,this._atmosphereRayleighCoefficient=h.clone(c.rayleighCoefficient,this._atmosphereRayleighCoefficient),this._atmosphereRayleighScaleHeight=c.rayleighScaleHeight,this._atmosphereMieCoefficient=h.clone(c.mieCoefficient,this._atmosphereMieCoefficient),this._atmosphereMieScaleHeight=c.mieScaleHeight,this._atmosphereMieAnisotropy=c.mieAnisotropy,this._atmosphereDynamicLighting=c.dynamicLighting),this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Lt.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let u=t.frustum.fov,f=this._viewport,d;l(u)?f.height>f.width?d=Math.tan(.5*u)*2/f.height:d=Math.tan(.5*u)*2/f.width:d=1/Math.max(f.width,f.height),this._geometricToleranceOverMeter=d*e.maximumScreenSpaceError,H.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function dte(e){if(e._viewportDirty){let t=e._viewport;F.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),F.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function CIe(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==ne.SCENE2D&&e._mode!==ne.MORPHING&&!e._orthographicIn3D?F.inverse(e._projection,e._inverseProjection):F.clone(F.ZERO,e._inverseProjection))}function AIe(e){e._modelViewDirty&&(e._modelViewDirty=!1,F.multiplyTransformation(e._view,e._model,e._modelView))}function EIe(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,F.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function SIe(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,F.inverse(e.modelView,e._inverseModelView))}function vIe(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,F.inverse(e.modelView3D,e._inverseModelView3D))}function wIe(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,F.multiply(e._projection,e._view,e._viewProjection))}function DIe(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,F.inverse(e.viewProjection,e._inverseViewProjection))}function IIe(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,F.multiply(e._projection,e.modelView,e._modelViewProjection))}function PIe(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function RIe(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,F.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function OIe(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,F.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function MIe(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,F.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function LIe(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;F.getMatrix3(e.inverseModelView,t),$.transpose(t,t)}}function NIe(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;F.getMatrix3(e.inverseModelView3D,t),$.transpose(t,t)}}function FIe(e){if(e._inverseNormalDirty){e._inverseNormalDirty=!1;let t=e._inverseNormal;F.getMatrix3(e.modelView,t),$.transpose(t,t)}}function BIe(e){if(e._inverseNormal3DDirty){e._inverseNormal3DDirty=!1;let t=e._inverseNormal3D;F.getMatrix3(e.modelView3D,t),$.transpose(t,t)}}var hte=new h;function mte(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,F.multiplyByPoint(e.inverseModel,e._cameraPosition,hte),Yn.fromCartesian(hte,e._encodedCameraPositionMC))}var kIe=new h,VIe=new h,UIe=new h,zIe=new h,HIe=new fe,GIe=new h,WIe=new F;function jIe(e,t,n,i,o,r,s,a){let c=kIe;c.x=e.y,c.y=e.z,c.z=e.x;let u=VIe;u.x=n.y,u.y=n.z,u.z=n.x;let f=UIe;f.x=i.y,f.y=i.z,f.z=i.x;let d=zIe;d.x=t.y,d.y=t.z,d.z=t.x,r===ne.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,HIe);p.longitude=P.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=P.clamp(p.latitude,-P.PI_OVER_TWO,P.PI_OVER_TWO);let g=s.ellipsoid,m=g.cartographicToCartesian(p,GIe),x=Lt.eastNorthUpToFixedFrame(m,g,WIe);return F.multiplyByPointAsVector(x,u,u),F.multiplyByPointAsVector(x,f,f),F.multiplyByPointAsVector(x,d,d),l(a)||(a=new F),a[0]=u.x,a[1]=f.x,a[2]=-d.x,a[3]=0,a[4]=u.y,a[5]=f.y,a[6]=-d.y,a[7]=0,a[8]=u.z,a[9]=f.z,a[10]=-d.z,a[11]=0,a[12]=-h.dot(u,m),a[13]=-h.dot(f,m),a[14]=h.dot(d,m),a[15]=1,a}function l6(e){e._view3DDirty&&(e._mode===ne.SCENE3D?F.clone(e._view,e._view3D):jIe(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),F.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function pte(e){e._inverseView3DDirty&&(F.inverseTransformation(e.view3D,e._inverseView3D),F.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var JI=KC;function qIe(e,t,n,i){let o=l(t.vertexBuffer),r=l(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,X.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let u=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(u,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(u),this.instanceDivisor>0&&(i.glVertexAttribDivisor(u,this.instanceDivisor),i._vertexAttribDivisors[u]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function gte(e,t,n){for(let i=0;i<t.length;++i){let o=t[i];o.enabled&&o.vertexAttrib(e)}l(n)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n._getBuffer())}function Ep(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=e.attributes,o=e.indexBuffer,r,s=[],a=1,c=!1,u=!1,f=i.length;for(r=0;r<f;++r)qIe(s,i[r],r,t);for(f=s.length,r=0;r<f;++r){let p=s[r];if(l(p.vertexBuffer)&&p.instanceDivisor===0){let g=p.strideInBytes||p.componentsPerAttribute*X.getSizeInBytes(p.componentDatatype);a=p.vertexBuffer.sizeInBytes/g;break}}for(r=0;r<f;++r)s[r].instanceDivisor>0&&(c=!0),l(s[r].value)&&(u=!0);let d;t.vertexArrayObject&&(d=t.glCreateVertexArray(),t.glBindVertexArray(d),gte(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=u,this._context=t,this._gl=n,this._vao=d,this._attributes=s,this._indexBuffer=o}function _te(e){return e.values.length/e.componentsPerAttribute}function YIe(e){return X.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function XIe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)&&(o.push(n),e[n].componentDatatype===X.DOUBLE&&(e[n].componentDatatype=X.FLOAT,e[n].values=X.createTypedArray(X.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=_te(e[o[0]]),t=1;t<s;++t){let u=_te(e[o[t]]);if(u!==r)throw new ce(`Each attribute list must have the same number of vertices. Attribute ${o[t]} has a different number of vertices (${u.toString()}) than attribute ${o[0]} (${r.toString()}).`)}o.sort(function(u,f){return X.getSizeInBytes(e[f].componentDatatype)-X.getSizeInBytes(e[u].componentDatatype)});let a=0,c={};for(t=0;t<s;++t)n=o[t],i=e[n],c[n]=a,a+=YIe(i);if(a>0){let u=X.getSizeInBytes(e[o[0]].componentDatatype),f=a%u;f!==0&&(a+=u-f);let d=r*a,p=new ArrayBuffer(d),g={};for(t=0;t<s;++t){n=o[t];let m=X.getSizeInBytes(e[n].componentDatatype);g[n]={pointer:X.createTypedArray(e[n].componentDatatype,p),index:c[n]/m,strideInComponentType:a/m}}for(t=0;t<r;++t)for(let m=0;m<s;++m){n=o[m],i=e[n];let x=i.values,b=g[n],T=b.pointer,A=i.componentsPerAttribute;for(let C=0;C<A;++C)T[b.index+C]=x[t*A+C];b.index+=b.strideInComponentType}return{buffer:p,offsetsInBytes:c,vertexSizeInBytes:a}}}Ep.fromGeometry=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=y(e.geometry,y.EMPTY_OBJECT),i=y(e.bufferUsage,ke.DYNAMIC_DRAW),o=y(e.attributeLocations,y.EMPTY_OBJECT),r=y(e.interleave,!1),s=e.vertexArrayAttributes,a,c,u,f=l(s)?s:[],d=n.attributes;if(r){let m=XIe(d);if(l(m)){u=pt.createVertexBuffer({context:t,typedArray:m.buffer,usage:i});let x=m.offsetsInBytes,b=m.vertexSizeInBytes;for(a in d)d.hasOwnProperty(a)&&l(d[a])&&(c=d[a],l(c.values)?f.push({index:o[a],vertexBuffer:u,componentDatatype:c.componentDatatype,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize,offsetInBytes:x[a],strideInBytes:b}):f.push({index:o[a],value:c.value,componentDatatype:c.componentDatatype,normalize:c.normalize}))}}else for(a in d)if(d.hasOwnProperty(a)&&l(d[a])){c=d[a];let m=c.componentDatatype;m===X.DOUBLE&&(m=X.FLOAT),u=void 0,l(c.values)&&(u=pt.createVertexBuffer({context:t,typedArray:X.createTypedArray(m,c.values),usage:i})),f.push({index:o[a],vertexBuffer:u,value:c.value,componentDatatype:m,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize})}let p,g=n.indices;return l(g)&&(ut.computeNumberOfVertices(n)>=P.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=pt.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:Fe.UNSIGNED_INT}):p=pt.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:Fe.UNSIGNED_SHORT})),new Ep({context:t,attributes:f,indexBuffer:p})};Object.defineProperties(Ep.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});Ep.prototype.getAttribute=function(e){return this._attributes[e]};function KIe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=kt.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s<a;++s){let c=o[s];if(c.enabled){let u=c.instanceDivisor,f=c.index;u!==i[f]&&(t.glVertexAttribDivisor(f,u),i[f]=u)}}}else for(s=0;s<r;++s)i[s]>0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function ZIe(e,t){let n=e._attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];r.enabled&&l(r.value)&&r.vertexAttrib(t)}}Ep.prototype._bind=function(){l(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&KIe(this),this._hasConstantAttributes&&ZIe(this,this._gl)):gte(this._gl,this._attributes,this._indexBuffer)};Ep.prototype._unBind=function(){if(l(this._vao))this._context.glBindVertexArray(null);else{let e=this._attributes,t=this._gl;for(let n=0;n<e.length;++n){let i=e[n];i.enabled&&i.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}};Ep.prototype.isDestroyed=function(){return!1};Ep.prototype.destroy=function(){let e=this._attributes;for(let n=0;n<e.length;++n){let i=e[n].vertexBuffer;l(i)&&!i.isDestroyed()&&i.vertexArrayDestroyable&&i.destroy()}let t=this._indexBuffer;return l(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy(),l(this._vao)&&this._context.glDeleteVertexArray(this._vao),ue(this)};var pi=Ep;function cu(e,t){let{getWebGLStub:n,requestWebgl1:i,webgl:o={},allowTextureFilterAnisotropic:r=!0}=y(t,{});o.alpha=y(o.alpha,!1),o.stencil=y(o.stencil,!0),o.powerPreference=y(o.powerPreference,"high-performance");let s=l(n)?n(e,o):$Ie(e,o,i),c=typeof WebGL2RenderingContext<"u"&&s instanceof WebGL2RenderingContext;this._canvas=e,this._originalGLContext=s,this._gl=s,this._webgl2=c,this._id=qn(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new KI(this),this._textureCache=new ZI;let u=s;this._stencilBits=u.getParameter(u.STENCIL_BITS),kt._maximumCombinedTextureImageUnits=u.getParameter(u.MAX_COMBINED_TEXTURE_IMAGE_UNITS),kt._maximumCubeMapSize=u.getParameter(u.MAX_CUBE_MAP_TEXTURE_SIZE),kt._maximumFragmentUniformVectors=u.getParameter(u.MAX_FRAGMENT_UNIFORM_VECTORS),kt._maximumTextureImageUnits=u.getParameter(u.MAX_TEXTURE_IMAGE_UNITS),kt._maximumRenderbufferSize=u.getParameter(u.MAX_RENDERBUFFER_SIZE),kt._maximumTextureSize=u.getParameter(u.MAX_TEXTURE_SIZE),kt._maximumVaryingVectors=u.getParameter(u.MAX_VARYING_VECTORS),kt._maximumVertexAttributes=u.getParameter(u.MAX_VERTEX_ATTRIBS),kt._maximumVertexTextureImageUnits=u.getParameter(u.MAX_VERTEX_TEXTURE_IMAGE_UNITS),kt._maximumVertexUniformVectors=u.getParameter(u.MAX_VERTEX_UNIFORM_VECTORS),kt._maximumSamples=this._webgl2?u.getParameter(u.MAX_SAMPLES):0;let f=u.getParameter(u.ALIASED_LINE_WIDTH_RANGE);kt._minimumAliasedLineWidth=f[0],kt._maximumAliasedLineWidth=f[1];let d=u.getParameter(u.ALIASED_POINT_SIZE_RANGE);kt._minimumAliasedPointSize=d[0],kt._maximumAliasedPointSize=d[1];let p=u.getParameter(u.MAX_VIEWPORT_DIMS);kt._maximumViewportWidth=p[0],kt._maximumViewportHeight=p[1];let g=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_FLOAT);kt._highpFloatSupported=g.precision!==0;let m=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_INT);kt._highpIntSupported=m.rangeMax!==0,this._antialias=u.getContextAttributes().antialias,this._standardDerivatives=!!Tr(u,["OES_standard_derivatives"]),this._blendMinmax=!!Tr(u,["EXT_blend_minmax"]),this._elementIndexUint=!!Tr(u,["OES_element_index_uint"]),this._depthTexture=!!Tr(u,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!Tr(u,["EXT_frag_depth"]),this._debugShaders=Tr(u,["WEBGL_debug_shaders"]),this._textureFloat=!!Tr(u,["OES_texture_float"]),this._textureHalfFloat=!!Tr(u,["OES_texture_half_float"]),this._textureFloatLinear=!!Tr(u,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!Tr(u,["OES_texture_half_float_linear"]),this._supportsTextureLod=!!Tr(u,["EXT_shader_texture_lod"]),this._colorBufferFloat=!!Tr(u,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!Tr(u,["EXT_float_blend"]),this._colorBufferHalfFloat=!!Tr(u,["EXT_color_buffer_half_float"]),this._s3tc=!!Tr(u,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!Tr(u,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!Tr(u,["WEBGL_compressed_texture_astc"]),this._etc=!!Tr(u,["WEBG_compressed_texture_etc"]),this._etc1=!!Tr(u,["WEBGL_compressed_texture_etc1"]),this._bc7=!!Tr(u,["EXT_texture_compression_bptc"]),bl.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let x=r?Tr(u,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=x,kt._maximumTextureFilterAnisotropy=l(x)?u.getParameter(x.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let b,T,A,C,E,v,D,O,R,M;if(c){let w=this;b=function(){return w._gl.createVertexArray()},T=function(I){w._gl.bindVertexArray(I)},A=function(I){w._gl.deleteVertexArray(I)},C=function(I,L,B,U,V){u.drawElementsInstanced(I,L,B,U,V)},E=function(I,L,B,U){u.drawArraysInstanced(I,L,B,U)},v=function(I,L){u.vertexAttribDivisor(I,L)},D=function(I){u.drawBuffers(I)}}else O=Tr(u,["OES_vertex_array_object"]),l(O)&&(b=function(){return O.createVertexArrayOES()},T=function(w){O.bindVertexArrayOES(w)},A=function(w){O.deleteVertexArrayOES(w)}),R=Tr(u,["ANGLE_instanced_arrays"]),l(R)&&(C=function(w,I,L,B,U){R.drawElementsInstancedANGLE(w,I,L,B,U)},E=function(w,I,L,B){R.drawArraysInstancedANGLE(w,I,L,B)},v=function(w,I){R.vertexAttribDivisorANGLE(w,I)}),M=Tr(u,["WEBGL_draw_buffers"]),l(M)&&(D=function(w){M.drawBuffersWEBGL(w)});this.glCreateVertexArray=b,this.glBindVertexArray=T,this.glDeleteVertexArray=A,this.glDrawElementsInstanced=C,this.glDrawArraysInstanced=E,this.glVertexAttribDivisor=v,this.glDrawBuffers=D,this._vertexArrayObject=!!O,this._instancedArrays=!!R,this._drawBuffers=!!M,kt._maximumDrawBuffers=this.drawBuffers?u.getParameter(te.MAX_DRAW_BUFFERS):1,kt._maximumColorAttachments=this.drawBuffers?u.getParameter(te.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new H(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let N=new JI,_=new oc(this),S=Ve.fromCache();this._defaultPassState=_,this._defaultRenderState=S,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=N,this._currentRenderState=S,this._currentPassState=_,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let w=0;w<kt._maximumVertexAttributes;w++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options={getWebGLStub:n,requestWebgl1:i,webgl:o,allowTextureFilterAnisotropic:r},this.cache={},Ve.apply(u,S,_)}function $Ie(e,t,n){if(typeof WebGLRenderingContext>"u")throw new ce("The browser does not support WebGL. Visit http://get.webgl.org.");!n&&!(typeof WebGL2RenderingContext<"u")&&(n=!0);let o=n?"webgl":"webgl2",r=e.getContext(o,t);if(!l(r))throw new ce("The browser supports WebGL, but initialization failed.");return r}function QIe(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function JIe(e,t,n,i){let o=`${QIe(e,i)}: ${t.name}(`;for(let r=0;r<n.length;++r)r!==0&&(o+=", "),o+=n[r];return o+=");",o}function ePe(e,t,n){let i=e.getError();if(i!==e.NO_ERROR)throw new ce(JIe(e,t,n,i))}function tPe(e,t,n){return{get:function(){let i=e[t];return n(e,`get: ${t}`,i),e[t]},set:function(i){e[t]=i,n(e,`set: ${t}`,i)}}}function nPe(e,t){if(!l(t))return e;function n(o){return function(){let r=o.apply(e,arguments);return t(e,o,arguments),r}}let i={};for(let o in e){let r=e[o];r instanceof Function?i[o]=n(r):Object.defineProperty(i,o,tPe(e,o,t))}return i}function Tr(e,t){let n=t.length;for(let i=0;i<n;++i){let o=e.getExtension(t[i]);if(o)return o}}var iPe={};Object.defineProperties(cu.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return this._stencilBits>=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},supportsTextureLod:{get:function(){return this._webgl2||this._supportsTextureLod}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=nPe(this._originalGLContext,e?ePe:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new Mt({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new Mt({context:this,pixelFormat:ot.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new Mt({context:this,pixelFormat:ot.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new Ra({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return iPe}}});function yte(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,Ve.partialApply(e._gl,o,t,r,n,i)}var u6;typeof WebGLRenderingContext<"u"&&(u6=[te.BACK]);function f6(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=u6;if(l(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var oPe=new oi;cu.prototype.clear=function(e,t){e=y(e,oPe),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;l(o)&&(H.equals(this._clearColor,o)||(H.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),l(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),l(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);yte(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);f6(this,c),n.clear(i)};function rPe(e,t,n,i,o){f6(e,t),yte(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function sPe(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,F.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let u=r.indexBuffer;l(u)?(s=s*u.bytesPerIndex,l(a)?a=Math.min(a,u.numberOfIndices):a=u.numberOfIndices,c===0?e._gl.drawElements(o,a,u.indexDatatype,s):e.glDrawElementsInstanced(o,a,u.indexDatatype,s,c)):(l(a)?a=Math.min(a,r.numberOfVertices):a=r.numberOfVertices,c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}cu.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),rPe(this,o,t,n,r),sPe(this,e,n,i)};cu.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=u6;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i<n;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)};cu.prototype.readPixels=function(e){let t=this._gl;e=y(e,y.EMPTY_OBJECT);let n=Math.max(y(e.x,0),0),i=Math.max(y(e.y,0),0),o=y(e.width,t.drawingBufferWidth),r=y(e.height,t.drawingBufferHeight),s=e.framebuffer,a=Je.UNSIGNED_BYTE;l(s)&&s.numberOfColorAttachments>0&&(a=s.getColorTexture(0).pixelDatatype);let c=ot.createTypedArray(ot.RGBA,a,o,r);return f6(this,s),t.readPixels(n,i,o,r,ot.RGBA,Je.toWebGLConstant(a,this),c),c};var xte={position:0,textureCoordinates:1};cu.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!l(e)){let t=new ut({attributes:{position:new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Ne.TRIANGLES});e=pi.fromGeometry({context:this,geometry:t,attributeLocations:xte,bufferUsage:ke.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};cu.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new Xe({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Ne.TRIANGLES,renderState:t.renderState,shaderProgram:an.fromCache({context:this,vertexShaderSource:rx,fragmentShaderSource:e,attributeLocations:xte}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};cu.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function d6(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties(d6.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});d6.prototype.destroy=function(){delete this._pickObjects[this.key]};cu.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new ce("Out of unique Pick IDs.");return this._pickObjects[t]=e,new d6(this._pickObjects,t,H.fromRgba(t))};cu.prototype.isDestroyed=function(){return!1};cu.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];l(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),ue(this)};cu._deprecationWarning=fs;var eP=cu;function ZC(e){e=y(e,y.EMPTY_OBJECT);let{context:t,width:n,height:i,colorRenderbuffers:o,colorTextures:r,depthStencilRenderbuffer:s,depthStencilTexture:a,destroyAttachments:c}=e;if(this._width=n,this._height=i,l(o)!==l(r))throw new de("Both color renderbuffer and texture attachments must be provided.");if(l(s)!==l(a))throw new de("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new ca({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:c}),this._colorFramebuffer=new ca({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:c})}ZC.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};ZC.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};ZC.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),l(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};ZC.prototype.isDestroyed=function(){return!1};ZC.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),ue(this)};var tP=ZC;var Cl={RGBA4:te.RGBA4,RGBA8:te.RGBA8,RGBA16F:te.RGBA16F,RGBA32F:te.RGBA32F,RGB5_A1:te.RGB5_A1,RGB565:te.RGB565,DEPTH_COMPONENT16:te.DEPTH_COMPONENT16,STENCIL_INDEX8:te.STENCIL_INDEX8,DEPTH_STENCIL:te.DEPTH_STENCIL,DEPTH24_STENCIL8:te.DEPTH24_STENCIL8,validate:function(e){return e===Cl.RGBA4||e===Cl.RGBA8||e===Cl.RGBA16F||e===Cl.RGBA32F||e===Cl.RGB5_A1||e===Cl.RGB565||e===Cl.DEPTH_COMPONENT16||e===Cl.STENCIL_INDEX8||e===Cl.DEPTH_STENCIL||e===Cl.DEPTH24_STENCIL8},getColorFormat:function(e){return e===te.FLOAT?Cl.RGBA32F:e===te.HALF_FLOAT_OES?Cl.RGBA16F:Cl.RGBA8}},Lc=Object.freeze(Cl);function nP(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=kt.maximumRenderbufferSize,o=y(e.format,Lc.RGBA4),r=l(e.width)?e.width:n.drawingBufferWidth,s=l(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(nP.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});nP.prototype._getRenderbuffer=function(){return this._renderbuffer};nP.prototype.isDestroyed=function(){return!1};nP.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),ue(this)};var lu=nP;function Es(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Es.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});Es.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=l(i)&&this._pixelDatatype!==i||l(o)&&this._pixelFormat!==o,c=n===1?l(this._framebuffer):l(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!l(this._colorTextures[0])};Es.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,Je.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,ot.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s<this._colorAttachmentsLength;++s)if(this._colorTextures[s]=new Mt({context:e,width:t,height:n,pixelFormat:r,pixelDatatype:o,sampler:en.NEAREST}),this._numSamples>1){let a=Lc.getColorFormat(o);this._colorRenderbuffers[s]=new lu({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new Mt({context:e,width:t,height:n,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Je.UNSIGNED_INT_24_8,sampler:en.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new lu({context:e,width:t,height:n,format:Lc.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new lu({context:e,width:t,height:n,format:Lc.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new Mt({context:e,width:t,height:n,pixelFormat:ot.DEPTH_COMPONENT,pixelDatatype:Je.UNSIGNED_INT,sampler:en.NEAREST}):this._depthRenderbuffer=new lu({context:e,width:t,height:n,format:Lc.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new tP({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new ca({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};Es.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};Es.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};Es.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};Es.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};Es.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};Es.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};Es.prototype.getDepthTexture=function(){return this._depthTexture};Es.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};Es.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};Es.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};Es.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};Es.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};Es.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};Es.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};Es.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};Es.prototype.destroy=function(){if(this._color){let e=this._colorTextures,t=this._colorRenderbuffers;for(let n=0;n<e.length;++n){let i=e[n];this._createColorAttachments&&l(i)&&!i.isDestroyed()&&i.destroy(),l(i)&&i.isDestroyed()&&(e[n]=void 0);let o=t[n];this._createColorAttachments&&l(o)&&!o.isDestroyed()&&o.destroy(),l(o)&&o.isDestroyed()&&(t[n]=void 0)}}this._depthStencil&&(this._createDepthAttachments&&(this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),l(this._depthStencilTexture)&&this._depthStencilTexture.isDestroyed()&&(this._depthStencilTexture=void 0),l(this._depthStencilRenderbuffer)&&this._depthStencilRenderbuffer.isDestroyed()&&(this._depthStencilRenderbuffer=void 0)),this._depth&&(this._createDepthAttachments&&(this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy()),l(this._depthTexture)&&this._depthTexture.isDestroyed()&&(this._depthTexture=void 0),l(this._depthRenderbuffer)&&this._depthRenderbuffer.isDestroyed()&&(this._depthRenderbuffer=void 0)),this.destroyFramebuffer()};var _i=Es;function aPe(e,t,n){let i={flipY:!0,skipColorSpaceConversion:n,preferImageBitmap:!0},o=[we.createIfNeeded(t.positiveX).fetchImage(i),we.createIfNeeded(t.negativeX).fetchImage(i),we.createIfNeeded(t.positiveY).fetchImage(i),we.createIfNeeded(t.negativeY).fetchImage(i),we.createIfNeeded(t.positiveZ).fetchImage(i),we.createIfNeeded(t.negativeZ).fetchImage(i)];return Promise.all(o).then(function(r){return new Ra({context:e,source:{positiveX:r[0],negativeX:r[1],positiveY:r[2],negativeY:r[3],positiveZ:r[4],negativeZ:r[5]}})})}var iP=aPe;var lx={VERTEX:0,FRAGMENT:1,BOTH:2};lx.includesVertexShader=function(e){return e===lx.VERTEX||e===lx.BOTH};lx.includesFragmentShader=function(e){return e===lx.FRAGMENT||e===lx.BOTH};var pe=Object.freeze(lx);function h6(e){this.name=e,this.fields=[]}h6.prototype.addField=function(e,t){let n=` ${e} ${t};`;this.fields.push(n)};h6.prototype.generateGlslLines=function(){let e=this.fields;return e.length===0&&(e=[" float _empty;"]),[].concat(`struct ${this.name}`,"{",e,"};")};var oP=h6;function m6(e){this.signature=e,this.body=[]}m6.prototype.addLines=function(e){let t=this.body;if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;i++)t.push(` ${e[i]}`)}else t.push(` ${e}`)};m6.prototype.generateGlslLines=function(){return[].concat(this.signature,"{",this.body,"}")};var rP=m6;function Nc(){this._positionAttributeLine=void 0,this._nextAttributeLocation=1,this._attributeLocations={},this._attributeLines=[],this._structs={},this._functions={},this._vertexShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]},this._fragmentShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]}}Object.defineProperties(Nc.prototype,{attributeLocations:{get:function(){return this._attributeLocations}}});Nc.prototype.addDefine=function(e,t,n){n=y(n,pe.BOTH);let i=e;l(t)&&(i+=` ${t.toString()}`),pe.includesVertexShader(n)&&this._vertexShaderParts.defineLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.defineLines.push(i)};Nc.prototype.addStruct=function(e,t,n){this._structs[e]=new oP(t),pe.includesVertexShader(n)&&this._vertexShaderParts.structIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.structIds.push(e)};Nc.prototype.addStructField=function(e,t,n){this._structs[e].addField(t,n)};Nc.prototype.addFunction=function(e,t,n){this._functions[e]=new rP(t),pe.includesVertexShader(n)&&this._vertexShaderParts.functionIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.functionIds.push(e)};Nc.prototype.addFunctionLines=function(e,t){this._functions[e].addLines(t)};Nc.prototype.addUniform=function(e,t,n){n=y(n,pe.BOTH);let i=`uniform ${e} ${t};`;pe.includesVertexShader(n)&&this._vertexShaderParts.uniformLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.uniformLines.push(i)};Nc.prototype.setPositionAttribute=function(e,t){return this._positionAttributeLine=`in ${e} ${t};`,this._attributeLocations[t]=0,0};Nc.prototype.addAttribute=function(e,t){let n=`in ${e} ${t};`;this._attributeLines.push(n);let i=this._nextAttributeLocation;return this._attributeLocations[t]=i,this._nextAttributeLocation+=lPe(e),i};Nc.prototype.addVarying=function(e,t,n){n=l(n)?`${n} `:"";let i=`${e} ${t};`;this._vertexShaderParts.varyingLines.push(`${n}out ${i}`),this._fragmentShaderParts.varyingLines.push(`${n}in ${i}`)};Nc.prototype.addVertexLines=function(e){let t=this._vertexShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Nc.prototype.addFragmentLines=function(e){let t=this._fragmentShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Nc.prototype.buildShaderProgram=function(e){let t=l(this._positionAttributeLine)?[this._positionAttributeLine]:[],n=cPe(this),i=uPe(this),o=t.concat(this._attributeLines,this._vertexShaderParts.uniformLines,this._vertexShaderParts.varyingLines,n.vertexLines,i.vertexLines,this._vertexShaderParts.shaderLines).join(` -`),r=new ze({defines:this._vertexShaderParts.defineLines,sources:[o]}),s=this._fragmentShaderParts.uniformLines.concat(this._fragmentShaderParts.varyingLines,n.fragmentLines,i.fragmentLines,this._fragmentShaderParts.shaderLines).join(` -`),a=new ze({defines:this._fragmentShaderParts.defineLines,sources:[s]});return an.fromCache({context:e,vertexShaderSource:r,fragmentShaderSource:a,attributeLocations:this._attributeLocations})};Nc.prototype.clone=function(){return He(this,!0)};function cPe(e){let t=[],n=[],i,o=e._vertexShaderParts.structIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.structIds,i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function lPe(e){switch(e){case"mat2":return 2;case"mat3":return 3;case"mat4":return 4;default:return 1}}function uPe(e){let t=[],n=[],i,o=e._vertexShaderParts.functionIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.functionIds,i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}var ux=Nc;function Hs(e,t,n,i){let o=Hs._verifyAttributes(t);n=y(n,0);let r=[],s={},a,c,u=o.length;for(let d=0;d<u;++d){let p=o[d];if(p.vertexBuffer){r.push(p);continue}c=p.usage,a=s[c],l(a)||(a=s[c]=[]),a.push(p)}function f(d,p){return X.getSizeInBytes(p.componentDatatype)-X.getSizeInBytes(d.componentDatatype)}this._allBuffers=[];for(c in s)if(s.hasOwnProperty(c)){a=s[c],a.sort(f);let d=Hs._vertexSizeInBytes(a),p=a[0].usage,g={vertexSizeInBytes:d,vertexBuffer:void 0,usage:p,needsCommit:!1,arrayBuffer:void 0,arrayViews:Hs._createArrayViews(a,d)};this._allBuffers.push(g)}this._size=0,this._instanced=y(i,!1),this._precreated=r,this._context=e,this.writers=void 0,this.va=void 0,this.resize(n)}Hs._verifyAttributes=function(e){let t=[];for(let i=0;i<e.length;++i){let o=e[i],r={index:y(o.index,i),enabled:y(o.enabled,!0),componentsPerAttribute:o.componentsPerAttribute,componentDatatype:y(o.componentDatatype,X.FLOAT),normalize:y(o.normalize,!1),vertexBuffer:o.vertexBuffer,usage:y(o.usage,ke.STATIC_DRAW)};t.push(r)}let n=new Array(t.length);for(let i=0;i<t.length;++i){let r=t[i].index;n[r]=!0}return t};Hs._vertexSizeInBytes=function(e){let t=0,n=e.length;for(let s=0;s<n;++s){let a=e[s];t+=a.componentsPerAttribute*X.getSizeInBytes(a.componentDatatype)}let i=n>0?X.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=o===0?0:i-o;return t+=r,t};Hs._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r<o;++r){let s=e[r],a=s.componentDatatype;n.push({index:s.index,enabled:s.enabled,componentsPerAttribute:s.componentsPerAttribute,componentDatatype:a,normalize:s.normalize,offsetInBytes:i,vertexSizeInComponentType:t/X.getSizeInBytes(a),view:void 0}),i+=s.componentsPerAttribute*X.getSizeInBytes(a)}return n};Hs.prototype.resize=function(e){this._size=e;let t=this._allBuffers;this.writers=[];for(let n=0,i=t.length;n<i;++n){let o=t[n];Hs._resize(o,this._size),Hs._appendWriters(this.writers,o)}p6(this)};Hs._resize=function(e,t){if(e.vertexSizeInBytes>0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(l(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c<a;++c)r[c]=s[c]}let i=e.arrayViews,o=i.length;for(let r=0;r<o;++r){let s=i[r];s.view=X.createArrayBufferView(s.componentDatatype,n,s.offsetInBytes)}e.arrayBuffer=n}};var fPe=[function(e,t,n){return function(i,o){t[i*n]=o,e.needsCommit=!0}},function(e,t,n){return function(i,o,r){let s=i*n;t[s]=o,t[s+1]=r,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s){let a=i*n;t[a]=o,t[a+1]=r,t[a+2]=s,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s,a){let c=i*n;t[c]=o,t[c+1]=r,t[c+2]=s,t[c+3]=a,e.needsCommit=!0}}];Hs._appendWriters=function(e,t){let n=t.arrayViews,i=n.length;for(let o=0;o<i;++o){let r=n[o];e[r.index]=fPe[r.componentsPerAttribute-1](t,r.view,r.vertexSizeInComponentType)}};Hs.prototype.commit=function(e){let t=!1,n=this._allBuffers,i,o,r;for(o=0,r=n.length;o<r;++o)i=n[o],t=dPe(this,i)||t;if(t||!l(this.va)){p6(this);let s=this.va=[],a=P.SIXTY_FOUR_KILOBYTES-4,c=l(e)&&!this._instanced?Math.ceil(this._size/a):1;for(let u=0;u<c;++u){let f=[];for(o=0,r=n.length;o<r;++o){i=n[o];let d=u*(i.vertexSizeInBytes*a);Hs._appendAttributes(f,i,d,this._instanced)}f=f.concat(this._precreated),s.push({va:new pi({context:this._context,attributes:f,indexBuffer:e}),indicesCount:1.5*(u!==c-1?a:this._size%a)})}}};function dPe(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=l(n);if(!o||n.sizeInBytes<i)return o&&n.destroy(),t.vertexBuffer=pt.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),t.vertexBuffer.vertexArrayDestroyable=!1,!0;t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}Hs._appendAttributes=function(e,t,n,i){let o=t.arrayViews,r=o.length;for(let s=0;s<r;++s){let a=o[s];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:n+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:i?1:0})}};Hs.prototype.subCommit=function(e,t){let n=this._allBuffers;for(let i=0,o=n.length;i<o;++i)hPe(n[i],e,t)};function hPe(e,t,n){if(e.needsCommit&&e.vertexSizeInBytes>0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}Hs.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t)e[t].needsCommit=!1};function p6(e){let t=e.va;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].va.destroy();e.va=void 0}Hs.prototype.isDestroyed=function(){return!1};Hs.prototype.destroy=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t){let i=e[t];i.vertexBuffer=i.vertexBuffer&&i.vertexBuffer.destroy()}return p6(this),ue(this)};var Sp=Hs;function Bg(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new me,this.setValue(e)}Object.defineProperties(Bg.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}});Bg.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value};Bg.prototype.setValue=function(e){let t=this._value;if(t!==e){let n=l(e),i=n&&typeof e.clone=="function",o=n&&typeof e.equals=="function";(!o||!e.equals(t))&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}};Bg.prototype.equals=function(e){return this===e||e instanceof Bg&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))};Bg.prototype.valueOf=function(){return this._value};Bg.prototype.toString=function(){return String(this._value)};var Jn=Bg;function mPe(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(r){let s=this[t],a=this[n];l(a)&&(a(),this[n]=void 0),r!==void 0&&(!l(r)||!l(r.getValue))&&l(o)&&(r=o(r)),s!==r&&(this[t]=r,this._definitionChanged.raiseEvent(this,e,r,s)),l(r)&&l(r.definitionChanged)&&(this[n]=r.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,r,r)},this))}}}function pPe(e){return new Jn(e)}function _Pe(e,t,n){return mPe(e,`_${e.toString()}`,`_${e.toString()}Subscription`,y(t,!1),y(n,pPe))}var le=_Pe;function sP(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(sP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),image:le("image"),scale:le("scale"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),color:le("color"),rotation:le("rotation"),alignedAxis:le("alignedAxis"),sizeInMeters:le("sizeInMeters"),width:le("width"),height:le("height"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),imageSubRegion:le("imageSubRegion"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});sP.prototype.clone=function(e){return l(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e.splitDirection=this._splitDirection,e):new sP(this)};sP.prototype.merge=function(e){this.show=y(this._show,e.show),this.image=y(this._image,e.image),this.scale=y(this._scale,e.scale),this.pixelOffset=y(this._pixelOffset,e.pixelOffset),this.eyeOffset=y(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this._verticalOrigin,e.verticalOrigin),this.heightReference=y(this._heightReference,e.heightReference),this.color=y(this._color,e.color),this.rotation=y(this._rotation,e.rotation),this.alignedAxis=y(this._alignedAxis,e.alignedAxis),this.sizeInMeters=y(this._sizeInMeters,e.sizeInMeters),this.width=y(this._width,e.width),this.height=y(this._height,e.height),this.scaleByDistance=y(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=y(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=y(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this._disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var rc=sP;function fx(){this._array=[],this._hash={}}Object.defineProperties(fx.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}});fx.prototype.contains=function(e){return l(this._hash[e])};fx.prototype.set=function(e,t){let n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))};fx.prototype.get=function(e){return this._hash[e]};fx.prototype.remove=function(e){let t=this._hash[e],n=l(t);if(n){let i=this._array;i.splice(i.indexOf(t),1),delete this._hash[e]}return n};fx.prototype.removeAll=function(){let e=this._array;e.length>0&&(this._hash={},e.length=0)};var St=fx;function uu(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(uu.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});uu.packedLength=2;uu.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};uu.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new uu),n.near=e[t++],n.far=e[t],n};uu.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.far===t.far};uu.clone=function(e,t){if(l(e))return l(t)||(t=new uu),t.near=e.near,t.far=e.far,t};uu.prototype.clone=function(e){return uu.clone(this,e)};uu.prototype.equals=function(e){return uu.equals(this,e)};var Ot=uu;function hf(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}hf.clone=function(e,t){if(l(e))return l(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new hf(e.near,e.nearValue,e.far,e.farValue)};hf.packedLength=4;hf.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};hf.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new hf),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};hf.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};hf.prototype.clone=function(e){return hf.clone(this,e)};hf.prototype.equals=function(e){return hf.equals(this,e)};var Bt=hf;var dx={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2,CLAMP_TO_TERRAIN:3,RELATIVE_TO_TERRAIN:4,CLAMP_TO_3D_TILE:5,RELATIVE_TO_3D_TILE:6},je=Object.freeze(dx);function mf(e){return e===dx.CLAMP_TO_GROUND||e===dx.CLAMP_TO_3D_TILE||e===dx.CLAMP_TO_TERRAIN}function $C(e){return e===dx.RELATIVE_TO_GROUND||e===dx.RELATIVE_TO_3D_TILE||e===dx.RELATIVE_TO_TERRAIN}var gPe={CENTER:0,LEFT:1,RIGHT:-1},xi=Object.freeze(gPe);var yPe={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},Mn=Object.freeze(yPe);var xPe={DONE:0,PENDING:1,FAILED:2},lt=Object.freeze(xPe);function Ed(){de.throwInstantiationError()}Object.defineProperties(Ed.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});Ed.prototype.getValue=de.throwInstantiationError;Ed.prototype.equals=de.throwInstantiationError;Ed.equals=function(e,t){return e===t||l(e)&&e.equals(t)};Ed.arrayEquals=function(e,t){if(e===t)return!0;if(!l(e)||!l(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i<n;i++)if(!Ed.equals(e[i],t[i]))return!1;return!0};Ed.isConstant=function(e){return!l(e)||e.isConstant};Ed.getValueOrUndefined=function(e,t,n){return l(e)?e.getValue(t,n):void 0};Ed.getValueOrDefault=function(e,t,n,i){return l(e)?y(e.getValue(t,i),n):n};Ed.getValueOrClonedDefault=function(e,t,n,i){let o;return l(e)&&(o=e.getValue(t,i)),l(o)||(o=n.clone(o)),o};var q=Ed;var bPe={LEFT:-1,NONE:0,RIGHT:1},Nr=Object.freeze(bPe);var TPe=H.WHITE,CPe=h.ZERO,APe=je.NONE,EPe=z.ZERO,SPe=1,vPe=0,wPe=h.ZERO,DPe=xi.CENTER,IPe=Mn.CENTER,PPe=!1,RPe=Nr.NONE,OPe=new h,MPe=new H,LPe=new h,NPe=new z,FPe=new Bt,BPe=new Bt,kPe=new Bt,VPe=new We,UPe=new Ot;function bte(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function kg(e,t){t.collectionChanged.addEventListener(kg.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}kg.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._billboard,c,u=r.billboard,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,OPe),c=q.getValueOrUndefined(a._image,e),f=l(d)&&l(c)),!f){_6(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0),l(u)||(u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u),u.show=f,(!l(u.image)||r.textureValue!==c)&&(u.image=c,r.textureValue=c),u.position=d,u.color=q.getValueOrDefault(a._color,e,TPe,MPe),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,CPe,LPe),u.heightReference=q.getValueOrDefault(a._heightReference,e,APe),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,EPe,NPe),u.scale=q.getValueOrDefault(a._scale,e,SPe),u.rotation=q.getValueOrDefault(a._rotation,e,vPe),u.alignedAxis=q.getValueOrDefault(a._alignedAxis,e,wPe),u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,DPe),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,IPe),u.width=q.getValueOrUndefined(a._width,e),u.height=q.getValueOrUndefined(a._height,e),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,FPe),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,BPe),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,kPe),u.sizeInMeters=q.getValueOrDefault(a._sizeInMeters,e,PPe),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,UPe),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,RPe);let p=q.getValueOrUndefined(a._imageSubRegion,e,VPe);l(p)&&u.setImageSubRegion(u._imageId,p)}return!0};kg.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.billboard))return lt.FAILED;let i=n.billboard;if(i.heightReference===je.NONE)t.center=h.clone(i.position,t.center);else{if(!l(i._clampedPosition))return lt.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,lt.DONE};kg.prototype.isDestroyed=function(){return!1};kg.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(kg.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return ue(this)};kg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._billboard)&&l(r._position)&&s.set(r.id,new bte(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._billboard)&&l(r._position)?s.contains(r.id)||s.set(r.id,new bte(r)):(_6(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],_6(s.get(r.id),r,a),s.remove(r.id)};function _6(e,t,n){l(e)&&(e.billboard=void 0,n.removeBillboard(t))}var aP=kg;function zPe(e,t){this.start=y(e,0),this.stop=y(t,0)}var Ma=zPe;function _n(e,t){this.center=h.clone(y(e,h.ZERO)),this.radius=y(t,0)}var x6=new h,b6=new h,T6=new h,C6=new h,A6=new h,E6=new h,S6=new h,ua=new h,v6=new h,w6=new h,D6=new h,I6=new h,HPe=4/3*P.PI;_n.fromPoints=function(e,t){if(l(t)||(t=new _n),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=h.clone(e[0],S6),i=h.clone(n,x6),o=h.clone(n,b6),r=h.clone(n,T6),s=h.clone(n,C6),a=h.clone(n,A6),c=h.clone(n,E6),u=e.length,f;for(f=1;f<u;f++){h.clone(e[f],n);let R=n.x,M=n.y,N=n.z;R<i.x&&h.clone(n,i),R>s.x&&h.clone(n,s),M<o.y&&h.clone(n,o),M>a.y&&h.clone(n,a),N<r.z&&h.clone(n,r),N>c.z&&h.clone(n,c)}let d=h.magnitudeSquared(h.subtract(s,i,ua)),p=h.magnitudeSquared(h.subtract(a,o,ua)),g=h.magnitudeSquared(h.subtract(c,r,ua)),m=i,x=s,b=d;p>b&&(b=p,m=o,x=a),g>b&&(b=g,m=r,x=c);let T=v6;T.x=(m.x+x.x)*.5,T.y=(m.y+x.y)*.5,T.z=(m.z+x.z)*.5;let A=h.magnitudeSquared(h.subtract(x,T,ua)),C=Math.sqrt(A),E=w6;E.x=i.x,E.y=o.y,E.z=r.z;let v=D6;v.x=s.x,v.y=a.y,v.z=c.z;let D=h.midpoint(E,v,I6),O=0;for(f=0;f<u;f++){h.clone(e[f],n);let R=h.magnitude(h.subtract(n,D,ua));R>O&&(O=R);let M=h.magnitudeSquared(h.subtract(n,T,ua));if(M>A){let N=Math.sqrt(M);C=(C+N)*.5,A=C*C;let _=N-C;T.x=(C*T.x+_*n.x)/N,T.y=(C*T.y+_*n.y)/N,T.z=(C*T.z+_*n.z)/N}}return C<O?(h.clone(T,t.center),t.radius=C):(h.clone(D,t.center),t.radius=O),t};var Tte=new Ii,GPe=new h,WPe=new h,g6=new fe,y6=new fe;_n.fromRectangle2D=function(e,t,n){return _n.fromRectangleWithHeights2D(e,t,0,0,n)};_n.fromRectangleWithHeights2D=function(e,t,n,i,o){if(l(o)||(o=new _n),!l(e))return o.center=h.clone(h.ZERO,o.center),o.radius=0,o;Tte._ellipsoid=ee.default,t=y(t,Tte),se.southwest(e,g6),g6.height=n,se.northeast(e,y6),y6.height=i;let r=t.project(g6,GPe),s=t.project(y6,WPe),a=s.x-r.x,c=s.y-r.y,u=s.z-r.z;o.radius=Math.sqrt(a*a+c*c+u*u)*.5;let f=o.center;return f.x=r.x+a*.5,f.y=r.y+c*.5,f.z=r.z+u*.5,o};var jPe=[];_n.fromRectangle3D=function(e,t,n,i){if(t=y(t,ee.default),n=y(n,0),l(i)||(i=new _n),!l(e))return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;let o=se.subsample(e,t,n,jPe);return _n.fromPoints(o,i)};_n.fromVertices=function(e,t,n,i){if(l(i)||(i=new _n),!l(e)||e.length===0)return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;t=y(t,h.ZERO),n=y(n,3);let o=S6;o.x=e[0]+t.x,o.y=e[1]+t.y,o.z=e[2]+t.z;let r=h.clone(o,x6),s=h.clone(o,b6),a=h.clone(o,T6),c=h.clone(o,C6),u=h.clone(o,A6),f=h.clone(o,E6),d=e.length,p;for(p=0;p<d;p+=n){let N=e[p]+t.x,_=e[p+1]+t.y,S=e[p+2]+t.z;o.x=N,o.y=_,o.z=S,N<r.x&&h.clone(o,r),N>c.x&&h.clone(o,c),_<s.y&&h.clone(o,s),_>u.y&&h.clone(o,u),S<a.z&&h.clone(o,a),S>f.z&&h.clone(o,f)}let g=h.magnitudeSquared(h.subtract(c,r,ua)),m=h.magnitudeSquared(h.subtract(u,s,ua)),x=h.magnitudeSquared(h.subtract(f,a,ua)),b=r,T=c,A=g;m>A&&(A=m,b=s,T=u),x>A&&(A=x,b=a,T=f);let C=v6;C.x=(b.x+T.x)*.5,C.y=(b.y+T.y)*.5,C.z=(b.z+T.z)*.5;let E=h.magnitudeSquared(h.subtract(T,C,ua)),v=Math.sqrt(E),D=w6;D.x=r.x,D.y=s.y,D.z=a.z;let O=D6;O.x=c.x,O.y=u.y,O.z=f.z;let R=h.midpoint(D,O,I6),M=0;for(p=0;p<d;p+=n){o.x=e[p]+t.x,o.y=e[p+1]+t.y,o.z=e[p+2]+t.z;let N=h.magnitude(h.subtract(o,R,ua));N>M&&(M=N);let _=h.magnitudeSquared(h.subtract(o,C,ua));if(_>E){let S=Math.sqrt(_);v=(v+S)*.5,E=v*v;let w=S-v;C.x=(v*C.x+w*o.x)/S,C.y=(v*C.y+w*o.y)/S,C.z=(v*C.z+w*o.z)/S}}return v<M?(h.clone(C,i.center),i.radius=v):(h.clone(R,i.center),i.radius=M),i};_n.fromEncodedCartesianVertices=function(e,t,n){if(l(n)||(n=new _n),!l(e)||!l(t)||e.length!==t.length||e.length===0)return n.center=h.clone(h.ZERO,n.center),n.radius=0,n;let i=S6;i.x=e[0]+t[0],i.y=e[1]+t[1],i.z=e[2]+t[2];let o=h.clone(i,x6),r=h.clone(i,b6),s=h.clone(i,T6),a=h.clone(i,C6),c=h.clone(i,A6),u=h.clone(i,E6),f=e.length,d;for(d=0;d<f;d+=3){let M=e[d]+t[d],N=e[d+1]+t[d+1],_=e[d+2]+t[d+2];i.x=M,i.y=N,i.z=_,M<o.x&&h.clone(i,o),M>a.x&&h.clone(i,a),N<r.y&&h.clone(i,r),N>c.y&&h.clone(i,c),_<s.z&&h.clone(i,s),_>u.z&&h.clone(i,u)}let p=h.magnitudeSquared(h.subtract(a,o,ua)),g=h.magnitudeSquared(h.subtract(c,r,ua)),m=h.magnitudeSquared(h.subtract(u,s,ua)),x=o,b=a,T=p;g>T&&(T=g,x=r,b=c),m>T&&(T=m,x=s,b=u);let A=v6;A.x=(x.x+b.x)*.5,A.y=(x.y+b.y)*.5,A.z=(x.z+b.z)*.5;let C=h.magnitudeSquared(h.subtract(b,A,ua)),E=Math.sqrt(C),v=w6;v.x=o.x,v.y=r.y,v.z=s.z;let D=D6;D.x=a.x,D.y=c.y,D.z=u.z;let O=h.midpoint(v,D,I6),R=0;for(d=0;d<f;d+=3){i.x=e[d]+t[d],i.y=e[d+1]+t[d+1],i.z=e[d+2]+t[d+2];let M=h.magnitude(h.subtract(i,O,ua));M>R&&(R=M);let N=h.magnitudeSquared(h.subtract(i,A,ua));if(N>C){let _=Math.sqrt(N);E=(E+_)*.5,C=E*E;let S=_-E;A.x=(E*A.x+S*i.x)/_,A.y=(E*A.y+S*i.y)/_,A.z=(E*A.z+S*i.z)/_}}return E<R?(h.clone(A,n.center),n.radius=E):(h.clone(O,n.center),n.radius=R),n};_n.fromCornerPoints=function(e,t,n){l(n)||(n=new _n);let i=h.midpoint(e,t,n.center);return n.radius=h.distance(i,t),n};_n.fromEllipsoid=function(e,t){return l(t)||(t=new _n),h.clone(h.ZERO,t.center),t.radius=e.maximumRadius,t};var qPe=new h;_n.fromBoundingSpheres=function(e,t){if(l(t)||(t=new _n),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=e.length;if(n===1)return _n.clone(e[0],t);if(n===2)return _n.union(e[0],e[1],t);let i=[],o;for(o=0;o<n;o++)i.push(e[o].center);t=_n.fromPoints(i,t);let r=t.center,s=t.radius;for(o=0;o<n;o++){let a=e[o];s=Math.max(s,h.distance(r,a.center,qPe)+a.radius)}return t.radius=s,t};var YPe=new h,XPe=new h,KPe=new h;_n.fromOrientedBoundingBox=function(e,t){l(t)||(t=new _n);let n=e.halfAxes,i=$.getColumn(n,0,YPe),o=$.getColumn(n,1,XPe),r=$.getColumn(n,2,KPe);return h.add(i,o,i),h.add(i,r,i),t.center=h.clone(e.center,t.center),t.radius=h.magnitude(i),t};var ZPe=new h,$Pe=new h;_n.fromTransformation=function(e,t){l(t)||(t=new _n);let n=F.getTranslation(e,ZPe),i=F.getScale(e,$Pe),o=.5*h.magnitude(i);return t.center=h.clone(n,t.center),t.radius=o,t};_n.clone=function(e,t){if(l(e))return l(t)?(t.center=h.clone(e.center,t.center),t.radius=e.radius,t):new _n(e.center,e.radius)};_n.packedLength=4;_n.pack=function(e,t,n){n=y(n,0);let i=e.center;return t[n++]=i.x,t[n++]=i.y,t[n++]=i.z,t[n]=e.radius,t};_n.unpack=function(e,t,n){t=y(t,0),l(n)||(n=new _n);let i=n.center;return i.x=e[t++],i.y=e[t++],i.z=e[t++],n.radius=e[t],n};var QPe=new h,JPe=new h;_n.union=function(e,t,n){l(n)||(n=new _n);let i=e.center,o=e.radius,r=t.center,s=t.radius,a=h.subtract(r,i,QPe),c=h.magnitude(a);if(o>=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let u=(o+c+s)*.5,f=h.multiplyByScalar(a,(-o+u)/c,JPe);return h.add(f,i,f),h.clone(f,n.center),n.radius=u,n};var e1e=new h;_n.expand=function(e,t,n){n=_n.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,e1e));return i>n.radius&&(n.radius=i),n};_n.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?jt.OUTSIDE:r<i?jt.INTERSECTING:jt.INSIDE};_n.transform=function(e,t,n){return l(n)||(n=new _n),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=F.getMaximumScale(t)*e.radius,n};var t1e=new h;_n.distanceSquaredTo=function(e,t){let n=h.subtract(e.center,t,t1e),i=h.magnitude(n)-e.radius;return i<=0?0:i*i};_n.transformWithoutScale=function(e,t,n){return l(n)||(n=new _n),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var n1e=new h;_n.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Ma);let o=h.subtract(e.center,t,n1e),r=h.dot(n,o);return i.start=r-e.radius,i.stop=r+e.radius,i};var Cte=new h,i1e=new h,o1e=new h,r1e=new h,s1e=new h,a1e=new fe,Ete=new Array(8);for(let e=0;e<8;++e)Ete[e]=new h;var Ate=new Ii;_n.projectTo2D=function(e,t,n){Ate._ellipsoid=ee.default,t=y(t,Ate);let i=t.ellipsoid,o=e.center,r=e.radius,s;h.equals(o,h.ZERO)?s=h.clone(h.UNIT_X,Cte):s=i.geodeticSurfaceNormal(o,Cte);let a=h.cross(h.UNIT_Z,s,i1e);h.normalize(a,a);let c=h.cross(s,a,o1e);h.normalize(c,c),h.multiplyByScalar(s,r,s),h.multiplyByScalar(c,r,c),h.multiplyByScalar(a,r,a);let u=h.negate(c,s1e),f=h.negate(a,r1e),d=Ete,p=d[0];h.add(s,c,p),h.add(p,a,p),p=d[1],h.add(s,c,p),h.add(p,f,p),p=d[2],h.add(s,u,p),h.add(p,f,p),p=d[3],h.add(s,u,p),h.add(p,a,p),h.negate(s,s),p=d[4],h.add(s,c,p),h.add(p,a,p),p=d[5],h.add(s,c,p),h.add(p,f,p),p=d[6],h.add(s,u,p),h.add(p,f,p),p=d[7],h.add(s,u,p),h.add(p,a,p);let g=d.length;for(let T=0;T<g;++T){let A=d[T];h.add(o,A,A);let C=i.cartesianToCartographic(A,a1e);t.project(C,A)}n=_n.fromPoints(d,n),o=n.center;let m=o.x,x=o.y,b=o.z;return o.x=b,o.y=m,o.z=x,n};_n.isOccluded=function(e,t){return!t.isBoundingSphereVisible(e)};_n.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&e.radius===t.radius};_n.prototype.intersectPlane=function(e){return _n.intersectPlane(this,e)};_n.prototype.distanceSquaredTo=function(e){return _n.distanceSquaredTo(this,e)};_n.prototype.computePlaneDistances=function(e,t,n){return _n.computePlaneDistances(this,e,t,n)};_n.prototype.isOccluded=function(e){return _n.isOccluded(this,e)};_n.prototype.equals=function(e){return _n.equals(this,e)};_n.prototype.clone=function(e){return _n.clone(this,e)};_n.prototype.volume=function(){let e=this.radius;return HPe*e*e*e};var ae=_n;function c1e(e){e=y(e,y.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}var mn=c1e;var l1e={NONE:0,TOP:1,ALL:2},un=Object.freeze(l1e);function ms(e){e=y(e,y.EMPTY_OBJECT),this.position=y(e.position,!1),this.normal=y(e.normal,!1),this.st=y(e.st,!1),this.bitangent=y(e.bitangent,!1),this.tangent=y(e.tangent,!1),this.color=y(e.color,!1)}ms.POSITION_ONLY=Object.freeze(new ms({position:!0}));ms.POSITION_AND_NORMAL=Object.freeze(new ms({position:!0,normal:!0}));ms.POSITION_NORMAL_AND_ST=Object.freeze(new ms({position:!0,normal:!0,st:!0}));ms.POSITION_AND_ST=Object.freeze(new ms({position:!0,st:!0}));ms.POSITION_AND_COLOR=Object.freeze(new ms({position:!0,color:!0}));ms.ALL=Object.freeze(new ms({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));ms.DEFAULT=ms.POSITION_NORMAL_AND_ST;ms.packedLength=6;ms.pack=function(e,t,n){return n=y(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t};ms.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ms),n.position=e[t++]===1,n.normal=e[t++]===1,n.st=e[t++]===1,n.tangent=e[t++]===1,n.bitangent=e[t++]===1,n.color=e[t]===1,n};ms.clone=function(e,t){if(l(e))return l(t)||(t=new ms),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var Pe=ms;var u1e=new h;function fu(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum,i=y(e.vertexFormat,Pe.DEFAULT);this._minimum=h.clone(t),this._maximum=h.clone(n),this._vertexFormat=i,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}fu.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new fu({minimum:h.negate(n,new h),maximum:n,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})};fu.fromAxisAlignedBoundingBox=function(e){return new fu({minimum:e.minimum,maximum:e.maximum})};fu.packedLength=2*h.packedLength+Pe.packedLength+1;fu.pack=function(e,t,n){return n=y(n,0),h.pack(e._minimum,t,n),h.pack(e._maximum,t,n+h.packedLength),Pe.pack(e._vertexFormat,t,n+2*h.packedLength),t[n+2*h.packedLength+Pe.packedLength]=y(e._offsetAttribute,-1),t};var vte=new h,wte=new h,Dte=new Pe,Ste={minimum:vte,maximum:wte,vertexFormat:Dte,offsetAttribute:void 0};fu.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,vte),o=h.unpack(e,t+h.packedLength,wte),r=Pe.unpack(e,t+2*h.packedLength,Dte),s=e[t+2*h.packedLength+Pe.packedLength];return l(n)?(n._minimum=h.clone(i,n._minimum),n._maximum=h.clone(o,n._maximum),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._offsetAttribute=s===-1?void 0:s,n):(Ste.offsetAttribute=s===-1?void 0:s,new fu(Ste))};fu.createGeometry=function(e){let t=e._minimum,n=e._maximum,i=e._vertexFormat;if(h.equals(t,n))return;let o=new mn,r,s;if(i.position&&(i.st||i.normal||i.tangent||i.bitangent)){if(i.position&&(s=new Float64Array(6*4*3),s[0]=t.x,s[1]=t.y,s[2]=n.z,s[3]=n.x,s[4]=t.y,s[5]=n.z,s[6]=n.x,s[7]=n.y,s[8]=n.z,s[9]=t.x,s[10]=n.y,s[11]=n.z,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=n.x,s[16]=t.y,s[17]=t.z,s[18]=n.x,s[19]=n.y,s[20]=t.z,s[21]=t.x,s[22]=n.y,s[23]=t.z,s[24]=n.x,s[25]=t.y,s[26]=t.z,s[27]=n.x,s[28]=n.y,s[29]=t.z,s[30]=n.x,s[31]=n.y,s[32]=n.z,s[33]=n.x,s[34]=t.y,s[35]=n.z,s[36]=t.x,s[37]=t.y,s[38]=t.z,s[39]=t.x,s[40]=n.y,s[41]=t.z,s[42]=t.x,s[43]=n.y,s[44]=n.z,s[45]=t.x,s[46]=t.y,s[47]=n.z,s[48]=t.x,s[49]=n.y,s[50]=t.z,s[51]=n.x,s[52]=n.y,s[53]=t.z,s[54]=n.x,s[55]=n.y,s[56]=n.z,s[57]=t.x,s[58]=n.y,s[59]=n.z,s[60]=t.x,s[61]=t.y,s[62]=t.z,s[63]=n.x,s[64]=t.y,s[65]=t.z,s[66]=n.x,s[67]=t.y,s[68]=n.z,s[69]=t.x,s[70]=t.y,s[71]=n.z,o.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})),i.normal){let u=new Float32Array(72);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=1,u[9]=0,u[10]=0,u[11]=1,u[12]=0,u[13]=0,u[14]=-1,u[15]=0,u[16]=0,u[17]=-1,u[18]=0,u[19]=0,u[20]=-1,u[21]=0,u[22]=0,u[23]=-1,u[24]=1,u[25]=0,u[26]=0,u[27]=1,u[28]=0,u[29]=0,u[30]=1,u[31]=0,u[32]=0,u[33]=1,u[34]=0,u[35]=0,u[36]=-1,u[37]=0,u[38]=0,u[39]=-1,u[40]=0,u[41]=0,u[42]=-1,u[43]=0,u[44]=0,u[45]=-1,u[46]=0,u[47]=0,u[48]=0,u[49]=1,u[50]=0,u[51]=0,u[52]=1,u[53]=0,u[54]=0,u[55]=1,u[56]=0,u[57]=0,u[58]=1,u[59]=0,u[60]=0,u[61]=-1,u[62]=0,u[63]=0,u[64]=-1,u[65]=0,u[66]=0,u[67]=-1,u[68]=0,u[69]=0,u[70]=-1,u[71]=0,o.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.st){let u=new Float32Array(48);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=1,u[5]=1,u[6]=0,u[7]=1,u[8]=1,u[9]=0,u[10]=0,u[11]=0,u[12]=0,u[13]=1,u[14]=1,u[15]=1,u[16]=0,u[17]=0,u[18]=1,u[19]=0,u[20]=1,u[21]=1,u[22]=0,u[23]=1,u[24]=1,u[25]=0,u[26]=0,u[27]=0,u[28]=0,u[29]=1,u[30]=1,u[31]=1,u[32]=1,u[33]=0,u[34]=0,u[35]=0,u[36]=0,u[37]=1,u[38]=1,u[39]=1,u[40]=0,u[41]=0,u[42]=1,u[43]=0,u[44]=1,u[45]=1,u[46]=0,u[47]=1,o.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:u})}if(i.tangent){let u=new Float32Array(72);u[0]=1,u[1]=0,u[2]=0,u[3]=1,u[4]=0,u[5]=0,u[6]=1,u[7]=0,u[8]=0,u[9]=1,u[10]=0,u[11]=0,u[12]=-1,u[13]=0,u[14]=0,u[15]=-1,u[16]=0,u[17]=0,u[18]=-1,u[19]=0,u[20]=0,u[21]=-1,u[22]=0,u[23]=0,u[24]=0,u[25]=1,u[26]=0,u[27]=0,u[28]=1,u[29]=0,u[30]=0,u[31]=1,u[32]=0,u[33]=0,u[34]=1,u[35]=0,u[36]=0,u[37]=-1,u[38]=0,u[39]=0,u[40]=-1,u[41]=0,u[42]=0,u[43]=-1,u[44]=0,u[45]=0,u[46]=-1,u[47]=0,u[48]=-1,u[49]=0,u[50]=0,u[51]=-1,u[52]=0,u[53]=0,u[54]=-1,u[55]=0,u[56]=0,u[57]=-1,u[58]=0,u[59]=0,u[60]=1,u[61]=0,u[62]=0,u[63]=1,u[64]=0,u[65]=0,u[66]=1,u[67]=0,u[68]=0,u[69]=1,u[70]=0,u[71]=0,o.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.bitangent){let u=new Float32Array(72);u[0]=0,u[1]=1,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=1,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=1,u[14]=0,u[15]=0,u[16]=1,u[17]=0,u[18]=0,u[19]=1,u[20]=0,u[21]=0,u[22]=1,u[23]=0,u[24]=0,u[25]=0,u[26]=1,u[27]=0,u[28]=0,u[29]=1,u[30]=0,u[31]=0,u[32]=1,u[33]=0,u[34]=0,u[35]=1,u[36]=0,u[37]=0,u[38]=1,u[39]=0,u[40]=0,u[41]=1,u[42]=0,u[43]=0,u[44]=1,u[45]=0,u[46]=0,u[47]=1,u[48]=0,u[49]=0,u[50]=1,u[51]=0,u[52]=0,u[53]=1,u[54]=0,u[55]=0,u[56]=1,u[57]=0,u[58]=0,u[59]=1,u[60]=0,u[61]=0,u[62]=1,u[63]=0,u[64]=0,u[65]=1,u[66]=0,u[67]=0,u[68]=1,u[69]=0,u[70]=0,u[71]=1,o.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}r=new Uint16Array(6*2*3),r[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3,r[6]=6,r[7]=5,r[8]=4,r[9]=7,r[10]=6,r[11]=4,r[12]=8,r[13]=9,r[14]=10,r[15]=8,r[16]=10,r[17]=11,r[18]=14,r[19]=13,r[20]=12,r[21]=15,r[22]=14,r[23]=12,r[24]=18,r[25]=17,r[26]=16,r[27]=19,r[28]=18,r[29]=16,r[30]=20,r[31]=21,r[32]=22,r[33]=20,r[34]=22,r[35]=23}else s=new Float64Array(8*3),s[0]=t.x,s[1]=t.y,s[2]=t.z,s[3]=n.x,s[4]=t.y,s[5]=t.z,s[6]=n.x,s[7]=n.y,s[8]=t.z,s[9]=t.x,s[10]=n.y,s[11]=t.z,s[12]=t.x,s[13]=t.y,s[14]=n.z,s[15]=n.x,s[16]=t.y,s[17]=n.z,s[18]=n.x,s[19]=n.y,s[20]=n.z,s[21]=t.x,s[22]=n.y,s[23]=n.z,o.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s}),r=new Uint16Array(6*2*3),r[0]=4,r[1]=5,r[2]=6,r[3]=4,r[4]=6,r[5]=7,r[6]=1,r[7]=0,r[8]=3,r[9]=1,r[10]=3,r[11]=2,r[12]=1,r[13]=6,r[14]=5,r[15]=1,r[16]=2,r[17]=6,r[18]=2,r[19]=3,r[20]=7,r[21]=2,r[22]=7,r[23]=6,r[24]=3,r[25]=0,r[26]=4,r[27]=3,r[28]=4,r[29]=7,r[30]=0,r[31]=1,r[32]=5,r[33]=0,r[34]=5,r[35]=4;let a=h.subtract(n,t,u1e),c=h.magnitude(a)*.5;if(l(e._offsetAttribute)){let u=s.length,f=e._offsetAttribute===un.NONE?0:1,d=new Uint8Array(u/3).fill(f);o.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return new ut({attributes:o,indices:r,primitiveType:Ne.TRIANGLES,boundingSphere:new ae(h.ZERO,c),offsetAttribute:e._offsetAttribute})};var P6;fu.getUnitBox=function(){return l(P6)||(P6=fu.createGeometry(fu.fromDimensions({dimensions:new h(1,1,1),vertexFormat:Pe.POSITION_ONLY}))),P6};var Al=fu;var f1e=new h;function tm(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;this._min=h.clone(t),this._max=h.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}tm.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new tm({minimum:h.negate(n,new h),maximum:n,offsetAttribute:e.offsetAttribute})};tm.fromAxisAlignedBoundingBox=function(e){return new tm({minimum:e.minimum,maximum:e.maximum})};tm.packedLength=2*h.packedLength+1;tm.pack=function(e,t,n){return n=y(n,0),h.pack(e._min,t,n),h.pack(e._max,t,n+h.packedLength),t[n+h.packedLength*2]=y(e._offsetAttribute,-1),t};var Pte=new h,Rte=new h,Ite={minimum:Pte,maximum:Rte,offsetAttribute:void 0};tm.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Pte),o=h.unpack(e,t+h.packedLength,Rte),r=e[t+h.packedLength*2];return l(n)?(n._min=h.clone(i,n._min),n._max=h.clone(o,n._max),n._offsetAttribute=r===-1?void 0:r,n):(Ite.offsetAttribute=r===-1?void 0:r,new tm(Ite))};tm.createGeometry=function(e){let t=e._min,n=e._max;if(h.equals(t,n))return;let i=new mn,o=new Uint16Array(12*2),r=new Float64Array(8*3);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=n.x,r[4]=t.y,r[5]=t.z,r[6]=n.x,r[7]=n.y,r[8]=t.z,r[9]=t.x,r[10]=n.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=n.z,r[15]=n.x,r[16]=t.y,r[17]=n.z,r[18]=n.x,r[19]=n.y,r[20]=n.z,r[21]=t.x,r[22]=n.y,r[23]=n.z,i.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:r}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let s=h.subtract(n,t,f1e),a=h.magnitude(s)*.5;if(l(e._offsetAttribute)){let c=r.length,u=e._offsetAttribute===un.NONE?0:1,f=new Uint8Array(c/3).fill(u);i.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new ut({attributes:i,indices:o,primitiveType:Ne.LINES,boundingSphere:new ae(h.ZERO,a),offsetAttribute:e._offsetAttribute})};var Sd=tm;function QC(e,t,n,i){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,1),this.value=new Uint8Array([H.floatToByte(e),H.floatToByte(t),H.floatToByte(n),H.floatToByte(i)])}Object.defineProperties(QC.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});QC.fromColor=function(e){return new QC(e.red,e.green,e.blue,e.alpha)};QC.toValue=function(e,t){return l(t)?e.toBytes(t):new Uint8Array(e.toBytes())};QC.equals=function(e,t){return e===t||l(e)&&l(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var Wt=QC;function cP(e,t){e=y(e,0),t=y(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}Object.defineProperties(cP.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});cP.fromDistanceDisplayCondition=function(e){return new cP(e.near,e.far)};cP.toValue=function(e,t){return l(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var zn=cP;function d1e(e){e=y(e,y.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=y(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var vt=d1e;function Zo(e){e=y(e,y.EMPTY_OBJECT),this.start=l(e.start)?K.clone(e.start):new K,this.stop=l(e.stop)?K.clone(e.stop):new K,this.data=e.data,this.isStartIncluded=y(e.isStartIncluded,!0),this.isStopIncluded=y(e.isStopIncluded,!0)}Object.defineProperties(Zo.prototype,{isEmpty:{get:function(){let e=K.compare(this.stop,this.start);return e<0||e===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var JC={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};Zo.fromIso8601=function(e,t){let n=e.iso8601.split("/");if(n.length!==2)throw new de("options.iso8601 is an invalid ISO 8601 interval.");let i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=e.data;return l(t)?(t.start=i,t.stop=o,t.isStartIncluded=r,t.isStopIncluded=s,t.data=a,t):(JC.start=i,JC.stop=o,JC.isStartIncluded=r,JC.isStopIncluded=s,JC.data=a,new Zo(JC))};Zo.toIso8601=function(e,t){return`${K.toIso8601(e.start,t)}/${K.toIso8601(e.stop,t)}`};Zo.clone=function(e,t){if(l(e))return l(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new Zo(e)};Zo.equals=function(e,t,n){return e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equals(e.start,t.start)&&K.equals(e.stop,t.stop)&&(e.data===t.data||l(n)&&n(e.data,t.data)))};Zo.equalsEpsilon=function(e,t,n,i){return n=y(n,0),e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equalsEpsilon(e.start,t.start,n)&&K.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||l(i)&&i(e.data,t.data)))};Zo.intersect=function(e,t,n,i){if(!l(t))return Zo.clone(Zo.EMPTY,n);let o=e.start,r=e.stop,s=t.start,a=t.stop,c=K.greaterThanOrEquals(s,o)&&K.greaterThanOrEquals(r,s),u=!c&&K.lessThanOrEquals(s,o)&&K.lessThanOrEquals(o,a);if(!c&&!u)return Zo.clone(Zo.EMPTY,n);let f=e.isStartIncluded,d=e.isStopIncluded,p=t.isStartIncluded,g=t.isStopIncluded,m=K.lessThan(r,a);return l(n)||(n=new Zo),n.start=c?s:o,n.isStartIncluded=f&&p||!K.equals(s,o)&&(c&&p||u&&f),n.stop=m?r:a,n.isStopIncluded=m?d:d&&g||!K.equals(a,r)&&g,n.data=l(i)?i(e.data,t.data):e.data,n};Zo.contains=function(e,t){if(e.isEmpty)return!1;let n=K.compare(e.start,t);if(n===0)return e.isStartIncluded;let i=K.compare(t,e.stop);return i===0?e.isStopIncluded:n<0&&i<0};Zo.prototype.clone=function(e){return Zo.clone(this,e)};Zo.prototype.equals=function(e,t){return Zo.equals(this,e,t)};Zo.prototype.equalsEpsilon=function(e,t,n){return Zo.equalsEpsilon(this,e,t,n)};Zo.prototype.toString=function(){return Zo.toIso8601(this)};Zo.EMPTY=Object.freeze(new Zo({start:new K,stop:new K,isStartIncluded:!1,isStopIncluded:!1}));var Sn=Zo;var Ote=Object.freeze(K.fromIso8601("0000-01-01T00:00:00Z")),Mte=Object.freeze(K.fromIso8601("9999-12-31T24:00:00Z")),h1e=Object.freeze(new Sn({start:Ote,stop:Mte})),m1e={MINIMUM_VALUE:Ote,MAXIMUM_VALUE:Mte,MAXIMUM_INTERVAL:h1e},Ue=m1e;function lP(e,t,n){e=y(e,0),t=y(t,0),n=y(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(lP.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});lP.fromCartesian3=function(e){return new lP(e.x,e.y,e.z)};lP.toValue=function(e,t){return l(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var Ji=lP;function HV(e){e=y(e,!0),this.value=HV.toValue(e)}Object.defineProperties(HV.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}});HV.toValue=function(e,t){return l(t)?(t[0]=e,t):new Uint8Array([e])};var xn=HV;var uP=`in vec3 v_positionEC; +${i}`};function XIe(e,t){let n=e.defines,i=n.length;for(let o=0;o<i;++o)if(n[o]===t)return!0;return!1}function kte(e,t){let n=e.sources,i=n.length;for(let o=0;o<i;++o)if(n[o].indexOf(t)!==-1)return!0;return!1}function Vte(e,t){let n=t.length;for(let i=0;i<n;++i){let o=t[i];if(kte(e,o))return o}}var KIe=["v_normalEC","v_normal"];qs.findNormalVarying=function(e){return kte(e,"#ifdef HAS_NORMALS")?XIe(e,"HAS_NORMALS")?"v_normalEC":void 0:Vte(e,KIe)};var ZIe=["v_positionEC"];qs.findPositionVarying=function(e){return Vte(e,ZIe)};var Ue=qs;function wd(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}Object.defineProperties(wd.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}});wd.prototype.replaceShaderProgram=function(e){return l(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)};function $Ie(e){let t=Object.keys(e).sort();return JSON.stringify(e,t)}wd.prototype.getShaderProgram=function(e){let t=e.vertexShaderSource,n=e.fragmentShaderSource,i=e.attributeLocations;typeof t=="string"&&(t=new Ue({sources:[t]})),typeof n=="string"&&(n=new Ue({sources:[n]}));let o=t.getCacheKey(),r=n.getCacheKey(),s=l(i)?$Ie(i):"",a=`${o}:${r}:${s}`,c;if(l(this._shaders[a]))c=this._shaders[a],delete this._shadersToRelease[a];else{let u=this._context,f=t.createCombinedVertexShader(u),d=n.createCombinedFragmentShader(u),p=new tn({gl:u._gl,logShaderCompilation:u.logShaderCompilation,debugShaders:u.debugShaders,vertexShaderSource:t,vertexShaderText:f,fragmentShaderSource:n,fragmentShaderText:d,attributeLocations:i});c={cache:this,shaderProgram:p,keyword:a,derivedKeywords:[],count:0},p._cachedShader=c,this._shaders[a]=c,++this._numberOfShaders}return++c.count,c.shaderProgram};wd.prototype.replaceDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=this._shaders[o];if(l(r)){W6(this,r);let s=i.derivedKeywords.indexOf(t);s>-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};wd.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(l(o))return o.shaderProgram};wd.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new Ue({sources:[r]})),typeof s=="string"&&(s=new Ue({sources:[s]}));let c=this._context,u=r.createCombinedVertexShader(c),f=s.createCombinedFragmentShader(c),d=new tn({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:u,fragmentShaderSource:s,fragmentShaderText:f,attributeLocations:a}),p={cache:this,shaderProgram:d,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),d._cachedShader=p,this._shaders[o]=p,d};function W6(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;o<i;++o){let r=n[o]+t.keyword,s=e._shaders[r];W6(e,s)}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}wd.prototype.destroyReleasedShaderPrograms=function(){let e=this._shadersToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];W6(this,n),--this._numberOfShaders}this._shadersToRelease={}};wd.prototype.releaseShaderProgram=function(e){if(l(e)){let t=e._cachedShader;t&&--t.count===0&&(this._shadersToRelease[t.keyword]=t)}};wd.prototype.isDestroyed=function(){return!1};wd.prototype.destroy=function(){let e=this._shaders;for(let t in e)e.hasOwnProperty(t)&&e[t].shaderProgram.finalDestroy();return ue(this)};var aP=wd;function Dd(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=nt.RGBA,pixelDatatype:o=Ye.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new Qt}=e,{width:c,height:u}=e;l(n)&&(l(c)||(c=n.videoWidth??n.naturalWidth??n.width),l(u)||(u=n.videoHeight??n.naturalHeight??n.height));let f=e.preMultiplyAlpha||i===nt.RGB||i===nt.LUMINANCE,d=nt.toInternalFormat(i,o,t),p=nt.isCompressedFormat(d),g=t._gl,m=p?nt.compressedTextureSizeInBytes(i,c,u):nt.textureSizeInBytes(i,o,c,u);this._id=e.id??Wn(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=g.TEXTURE_2D,this._texture=g.createTexture(),this._internalFormat=d,this._pixelFormat=i,this._pixelDatatype=o,this._width=c,this._height=u,this._dimensions=new z(c,u),this._hasMipmap=!1,this._sizeInBytes=m,this._preMultiplyAlpha=f,this._flipY=r,this._initialized=!1,this._sampler=void 0,this._sampler=a,Gte(this,a),g.activeTexture(g.TEXTURE0),g.bindTexture(this._textureTarget,this._texture),l(n)?(s?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(n.arrayBufferView)?nt.isCompressedFormat(d)?QIe(this,n):Ute(this,n):l(n.framebuffer)?ePe(this,n):zte(this,n),this._initialized=!0):Hte(this),g.bindTexture(this._textureTarget,null)}function QIe(e,t){let i=e._context._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a}=e;if(i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.compressedTexImage2D(o,0,r,s,a,0,t.arrayBufferView),l(t.mipLevels)){let c=s,u=a;for(let f=0;f<t.mipLevels.length;++f)c=iU(c),u=iU(u),i.compressedTexImage2D(o,f+1,r,c,u,0,t.mipLevels[f])}}function Ute(e,t){let n=e._context,i=n._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a,pixelFormat:c,pixelDatatype:u,flipY:f}=e,d=nt.alignmentInBytes(c,u,s);i.pixelStorei(i.UNPACK_ALIGNMENT,d),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1);let{arrayBufferView:p}=t;if(f&&(p=nt.flipY(p,c,u,s,a)),i.texImage2D(o,0,r,s,a,0,c,Ye.toWebGLConstant(u,n),p),l(t.mipLevels)){let g=s,m=a;for(let x=0;x<t.mipLevels.length;++x)g=iU(g),m=iU(m),i.texImage2D(o,x+1,r,g,m,0,c,Ye.toWebGLConstant(u,n),t.mipLevels[x])}}function JIe(e,t,n,i,o,r){let s=e._context,a=s._gl,{pixelFormat:c,pixelDatatype:u}=e,f=nt.alignmentInBytes(c,u,o);a.pixelStorei(a.UNPACK_ALIGNMENT,f),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),e.flipY&&(t=nt.flipY(t,c,u,o,r)),a.texSubImage2D(e._textureTarget,0,n,i,o,r,c,Ye.toWebGLConstant(u,s),t)}function ePe(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._bind(),i.copyTexImage2D(e._textureTarget,0,e._internalFormat,t.xOffset,t.yOffset,e.width,e.height,0),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._unBind()}function zte(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.preMultiplyAlpha),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,e.flipY),i.texImage2D(e._textureTarget,0,e._internalFormat,e.pixelFormat,Ye.toWebGLConstant(e.pixelDatatype,n),t)}function tPe(e,t,n,i){let o=e._context,r=o._gl;r.pixelStorei(r.UNPACK_ALIGNMENT,4),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.preMultiplyAlpha),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,e.flipY),r.texSubImage2D(e._textureTarget,0,n,i,e.pixelFormat,Ye.toWebGLConstant(e.pixelDatatype,o),t)}function iU(e){let t=Math.floor(e/2)|0;return Math.max(t,1)}function Hte(e){let t=e._context;t._gl.texImage2D(e._textureTarget,0,e._internalFormat,e._width,e._height,0,e._pixelFormat,Ye.toWebGLConstant(e._pixelDatatype,t),null)}Dd.create=function(e){return new Dd(e)};Dd.fromFramebuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,{pixelFormat:i=nt.RGB,framebufferXOffset:o=0,framebufferYOffset:r=0,width:s=n.drawingBufferWidth,height:a=n.drawingBufferHeight,framebuffer:c}=e;return new Dd({context:t,width:s,height:a,pixelFormat:i,source:{framebuffer:l(c)?c:t.defaultFramebuffer,xOffset:o,yOffset:r,width:s,height:a}})};Object.defineProperties(Dd.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){Gte(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}});function Gte(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[$t.NEAREST_MIPMAP_NEAREST,$t.NEAREST_MIPMAP_LINEAR,$t.LINEAR_MIPMAP_NEAREST,$t.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelFormat,a=e._pixelDatatype;(a===Ye.FLOAT&&!r.textureFloatLinear||a===Ye.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?$t.NEAREST_MIPMAP_NEAREST:$t.NEAREST,i=pi.NEAREST),r.webgl2&&nt.isDepthFormat(s)&&(n=$t.NEAREST,i=pi.NEAREST);let c=r._gl,u=e._textureTarget;c.activeTexture(c.TEXTURE0),c.bindTexture(u,e._texture),c.texParameteri(u,c.TEXTURE_MIN_FILTER,n),c.texParameteri(u,c.TEXTURE_MAG_FILTER,i),c.texParameteri(u,c.TEXTURE_WRAP_S,t.wrapS),c.texParameteri(u,c.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&c.texParameteri(u,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),c.bindTexture(u,null)}Dd.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture);let{width:c,height:u}=i;l(i.videoWidth)&&l(i.videoHeight)?(c=i.videoWidth,u=i.videoHeight):l(i.naturalWidth)&&l(i.naturalHeight)&&(c=i.naturalWidth,u=i.naturalHeight),o?s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE):s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.BROWSER_DEFAULT_WEBGL);let f=!1;this._initialized||(t===0&&n===0&&c===this._width&&u===this._height?(l(i.arrayBufferView)?Ute(this,i):zte(this,i),f=!0):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),Hte(this)),this._initialized=!0),f||(l(i.arrayBufferView)?JIe(this,i.arrayBufferView,t,n,c,u):tPe(this,i,t,n)),s.bindTexture(a,null)};Dd.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._width),r=y(r,this._height);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(a,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};Dd.prototype.generateMipmap=function(e){e=y(e,nm.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};Dd.prototype.isDestroyed=function(){return!1};Dd.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),ue(this)};var Pt=Dd;function bx(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}Object.defineProperties(bx.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}});bx.prototype.getTexture=function(e){let t=this._textures[e];if(l(t))return delete this._texturesToRelease[e],++t.count,t.texture};bx.prototype.addTexture=function(e,t){let n={texture:t,count:1};t.finalDestroy=t.destroy;let i=this;t.destroy=function(){--n.count===0&&(i._texturesToRelease[e]=n)},this._textures[e]=n,++this._numberOfTextures};bx.prototype.destroyReleasedTextures=function(){let e=this._texturesToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];delete this._textures[t],n.texture.finalDestroy(),--this._numberOfTextures}this._texturesToRelease={}};bx.prototype.isDestroyed=function(){return!1};bx.prototype.destroy=function(){let e=this._textures;for(let t in e)e.hasOwnProperty(t)&&e[t].texture.finalDestroy();return ue(this)};var cP=bx;function _f(e){this.planes=y(e,[])}var lP=[new h,new h,new h];h.clone(h.UNIT_X,lP[0]);h.clone(h.UNIT_Y,lP[1]);h.clone(h.UNIT_Z,lP[2]);var zg=new h,nPe=new h,Wte=new un(new h(1,0,0),0);_f.fromBoundingSphere=function(e,t){l(t)||(t=new _f);let n=lP.length,i=t.planes;i.length=2*n;let o=e.center,r=e.radius,s=0;for(let a=0;a<n;++a){let c=lP[a],u=i[s],f=i[s+1];l(u)||(u=i[s]=new ie),l(f)||(f=i[s+1]=new ie),h.multiplyByScalar(c,-r,zg),h.add(o,zg,zg),u.x=c.x,u.y=c.y,u.z=c.z,u.w=-h.dot(c,zg),h.multiplyByScalar(c,r,zg),h.add(o,zg,zg),f.x=-c.x,f.y=-c.y,f.z=-c.z,f.w=-h.dot(h.negate(c,nPe),zg),s+=2}return t};_f.prototype.computeVisibility=function(e){let t=this.planes,n=!1;for(let i=0,o=t.length;i<o;++i){let r=e.intersectPlane(un.fromCartesian4(t[i],Wte));if(r===qt.OUTSIDE)return qt.OUTSIDE;r===qt.INTERSECTING&&(n=!0)}return n?qt.INTERSECTING:qt.INSIDE};_f.prototype.computeVisibilityWithPlaneMask=function(e,t){if(t===_f.MASK_OUTSIDE||t===_f.MASK_INSIDE)return t;let n=_f.MASK_INSIDE,i=this.planes;for(let o=0,r=i.length;o<r;++o){let s=o<31?1<<o:0;if(o<31&&!(t&s))continue;let a=e.intersectPlane(un.fromCartesian4(i[o],Wte));if(a===qt.OUTSIDE)return _f.MASK_OUTSIDE;a===qt.INTERSECTING&&(n|=s)}return n};_f.MASK_OUTSIDE=4294967295;_f.MASK_INSIDE=0;_f.MASK_INDETERMINATE=2147483647;var bs=_f;function im(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new bs,this._orthographicMatrix=new F}function jte(e){(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far)&&(e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=F.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}Object.defineProperties(im.prototype,{projectionMatrix:{get:function(){return jte(this),this._orthographicMatrix}}});var iPe=new h,oPe=new h,rPe=new h,j6=new h;im.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,iPe);h.normalize(f,f);let d=oPe;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=rPe;h.multiplyByScalar(f,a,p),h.add(d,p,p);let g=i[0];return l(g)||(g=i[0]=new ie),g.x=f.x,g.y=f.y,g.z=f.z,g.w=-h.dot(f,p),h.multiplyByScalar(f,s,p),h.add(d,p,p),g=i[1],l(g)||(g=i[1]=new ie),g.x=-f.x,g.y=-f.y,g.z=-f.z,g.w=-h.dot(h.negate(f,j6),p),h.multiplyByScalar(n,r,p),h.add(d,p,p),g=i[2],l(g)||(g=i[2]=new ie),g.x=n.x,g.y=n.y,g.z=n.z,g.w=-h.dot(n,p),h.multiplyByScalar(n,o,p),h.add(d,p,p),g=i[3],l(g)||(g=i[3]=new ie),g.x=-n.x,g.y=-n.y,g.z=-n.z,g.w=-h.dot(h.negate(n,j6),p),g=i[4],l(g)||(g=i[4]=new ie),g.x=t.x,g.y=t.y,g.z=t.z,g.w=-h.dot(t,d),h.multiplyByScalar(t,u,p),h.add(e,p,p),g=i[5],l(g)||(g=i[5]=new ie),g.x=-t.x,g.y=-t.y,g.z=-t.z,g.w=-h.dot(h.negate(t,j6),p),this._cullingVolume};im.prototype.getPixelDimensions=function(e,t,n,i,o){jte(this);let r=this.right-this.left,s=this.top-this.bottom,a=i*r/e,c=i*s/t;return o.x=a,o.y=c,o};im.prototype.clone=function(e){return l(e)||(e=new im),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};im.prototype.equals=function(e){return l(e)&&e instanceof im&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};im.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof im&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var Ur=im;function Cl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Ur,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far}Cl.packedLength=4;Cl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};Cl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Cl),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function Hg(e){let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(Cl.prototype,{projectionMatrix:{get:function(){return Hg(this),this._offCenterFrustum.projectionMatrix}},offCenterFrustum:{get:function(){return Hg(this),this._offCenterFrustum}}});Cl.prototype.computeCullingVolume=function(e,t,n){return Hg(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Cl.prototype.getPixelDimensions=function(e,t,n,i,o){return Hg(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Cl.prototype.clone=function(e){return l(e)||(e=new Cl),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Cl.prototype.equals=function(e){return!l(e)||!(e instanceof Cl)?!1:(Hg(this),Hg(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Cl.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Cl)?!1:(Hg(this),Hg(e),P.equalsEpsilon(this.width,e.width,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var cn=Cl;var q6={};function sPe(e){let t=6.239996+.0172019696544*e;return .001657*Math.sin(t+.01671*Math.sin(t))}var aPe=32.184,cPe=2451545;function une(e,t){t=K.addSeconds(e,aPe,t);let n=K.totalDays(t)-cPe;return t=K.addSeconds(t,sPe(n),t),t}var oU=new K(2451545,0,Yn.TAI),lPe=1e3,gf=P.RADIANS_PER_DEGREE,au=P.RADIANS_PER_ARCSECOND,Oa=14959787e4,qte=new $;function fne(e,t,n,i,o,r,s){n<0&&(n=-n,o+=P.PI);let a=e*(1-t),c=i-o,u=o,f=fPe(r-i,t),d=uPe(t,0);_Pe(c,n,u,qte);let p=a*(1+t),g=Math.cos(f),m=Math.sin(f),x=1+t*g,b=p/x;return l(s)?(s.x=b*g,s.y=b*m,s.z=0):s=new h(b*g,b*m,0),$.multiplyByVector(qte,s,s)}function uPe(e,t){return e<=t?"Circular":e<1-t?"Elliptical":e<=1+t?"Parabolic":"Hyperbolic"}function fPe(e,t){let n=mPe(e,t);return pPe(n,t)}var dPe=50,hPe=P.EPSILON8;function mPe(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),o=Number.MAX_VALUE,r;for(r=0;r<dPe&&Math.abs(o-i)>hPe;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*P.TWO_PI,o}function pPe(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=P.zeroToTwoPi(r),e<0&&(r-=P.TWO_PI),r+=n*P.TWO_PI,r}function _Pe(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),u=Math.sin(n);return l(i)?(i[0]=c*o-u*r*s,i[1]=u*o+c*r*s,i[2]=r*a,i[3]=-c*r-u*o*s,i[4]=-u*r+c*o*s,i[5]=o*a,i[6]=u*a,i[7]=-c*a,i[8]=s):i=new $(c*o-u*r*s,-c*r-u*o*s,u*a,u*o+c*r*s,-u*r+c*o*s,-c*a,r*a,o*a,s),i}var gPe=1.0000010178*Oa,yPe=100.46645683*gf,xPe=129597742283429e-5*au,Yte=16002,Xte=21863,Kte=32004,Zte=10931,$te=14529,Qte=16368,Jte=15318,ene=32794,bPe=64*1e-7*Oa,TPe=-152*1e-7*Oa,CPe=62*1e-7*Oa,APe=-8*1e-7*Oa,EPe=32*1e-7*Oa,SPe=-41*1e-7*Oa,vPe=19*1e-7*Oa,wPe=-11*1e-7*Oa,DPe=-150*1e-7*Oa,IPe=-46*1e-7*Oa,PPe=68*1e-7*Oa,RPe=54*1e-7*Oa,OPe=14*1e-7*Oa,MPe=24*1e-7*Oa,LPe=-28*1e-7*Oa,NPe=22*1e-7*Oa,tne=10,nne=16002,ine=21863,one=10931,rne=1473,sne=32004,ane=4387,cne=73,FPe=-325*1e-7,BPe=-322*1e-7,kPe=-79*1e-7,VPe=232*1e-7,UPe=-52*1e-7,zPe=97*1e-7,HPe=55*1e-7,GPe=-41*1e-7,WPe=-105*1e-7,jPe=-137*1e-7,qPe=258*1e-7,YPe=35*1e-7,XPe=-116*1e-7,KPe=-88*1e-7,ZPe=-112*1e-7,$Pe=-80*1e-7,eA=new K(0,0,Yn.TAI);function QPe(e,t){une(e,eA);let i=(eA.dayNumber-oU.dayNumber+(eA.secondsOfDay-oU.secondsOfDay)/Kn.SECONDS_PER_DAY)/(Kn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=gPe+bPe*Math.cos(Yte*o)+DPe*Math.sin(Yte*o)+TPe*Math.cos(Xte*o)+IPe*Math.sin(Xte*o)+CPe*Math.cos(Kte*o)+PPe*Math.sin(Kte*o)+APe*Math.cos(Zte*o)+RPe*Math.sin(Zte*o)+EPe*Math.cos($te*o)+OPe*Math.sin($te*o)+SPe*Math.cos(Qte*o)+MPe*Math.sin(Qte*o)+vPe*Math.cos(Jte*o)+LPe*Math.sin(Jte*o)+wPe*Math.cos(ene*o)+NPe*Math.sin(ene*o),s=yPe+xPe*i+FPe*Math.cos(tne*o)+WPe*Math.sin(tne*o)+BPe*Math.cos(nne*o)+jPe*Math.sin(nne*o)+kPe*Math.cos(ine*o)+qPe*Math.sin(ine*o)+VPe*Math.cos(one*o)+YPe*Math.sin(one*o)+UPe*Math.cos(rne*o)+XPe*Math.sin(rne*o)+zPe*Math.cos(sne*o)+KPe*Math.sin(sne*o)+HPe*Math.cos(ane*o)+ZPe*Math.sin(ane*o)+GPe*Math.cos(cne*o)+$Pe*Math.sin(cne*o),a=.0167086342-.0004203654*i,c=102.93734808*gf+11612.3529*au*i,u=469.97289*au*i,f=174.87317577*gf-8679.27034*au*i;return fne(r,a,u,c,f,s,t)}function dne(e,t){une(e,eA);let i=(eA.dayNumber-oU.dayNumber+(eA.secondsOfDay-oU.secondsOfDay)/Kn.SECONDS_PER_DAY)/Kn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,u=5.15668983*gf,f=-8e-5*i+.02966*o-42e-6*r-13e-8*s,d=83.35324312*gf,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*gf,m=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,x=218.31664563*gf,b=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,T=297.85019547*gf+au*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),A=93.27209062*gf+au*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),C=134.96340251*gf+au*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),E=357.52910918*gf+au*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),v=310.17137918*gf-au*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),D=2*T,O=4*T,R=6*T,M=2*C,N=3*C,_=4*C,S=2*A;a+=3400.4*Math.cos(D)-635.6*Math.cos(D-C)-235.6*Math.cos(C)+218.1*Math.cos(D-E)+181*Math.cos(D+C),c+=.014216*Math.cos(D-C)+.008551*Math.cos(D-M)-.001383*Math.cos(C)+.001356*Math.cos(D+C)-.001147*Math.cos(O-N)-914e-6*Math.cos(O-M)+869e-6*Math.cos(D-E-C)-627e-6*Math.cos(D)-394e-6*Math.cos(O-_)+282e-6*Math.cos(D-E-M)-279e-6*Math.cos(T-C)-236e-6*Math.cos(M)+231e-6*Math.cos(O)+229e-6*Math.cos(R-_)-201e-6*Math.cos(M-S),f+=486.26*Math.cos(D-S)-40.13*Math.cos(D)+37.51*Math.cos(S)+25.73*Math.cos(M-S)+19.97*Math.cos(D-E-S),p+=-55609*Math.sin(D-C)-34711*Math.sin(D-M)-9792*Math.sin(C)+9385*Math.sin(O-N)+7505*Math.sin(O-M)+5318*Math.sin(D+C)+3484*Math.sin(O-_)-3417*Math.sin(D-E-C)-2530*Math.sin(R-_)-2376*Math.sin(D)-2075*Math.sin(D-N)-1883*Math.sin(M)-1736*Math.sin(R-5*C)+1626*Math.sin(E)-1370*Math.sin(R-N),m+=-5392*Math.sin(D-S)-540*Math.sin(E)-441*Math.sin(D)+423*Math.sin(S)-288*Math.sin(M-S),b+=-3332.9*Math.sin(D)+1197.4*Math.sin(D-C)-662.5*Math.sin(E)+396.3*Math.sin(C)-218*Math.sin(D-E);let w=2*v,I=3*v;f+=46.997*Math.cos(v)*i-.614*Math.cos(D-S+v)*i+.614*Math.cos(D-S-v)*i-.0297*Math.cos(w)*o-.0335*Math.cos(v)*o+.0012*Math.cos(D-S+w)*o-16e-5*Math.cos(v)*r+4e-5*Math.cos(I)*r+4e-5*Math.cos(w)*r;let L=2.116*Math.sin(v)*i-.111*Math.sin(D-S-v)*i-.0015*Math.sin(v)*o;p+=L,b+=L,m+=-520.77*Math.sin(v)*i+13.66*Math.sin(D-S+v)*i+1.12*Math.sin(D-v)*i-1.06*Math.sin(S-v)*i+.66*Math.sin(w)*o+.371*Math.sin(v)*o-.035*Math.sin(D-S+w)*o-.015*Math.sin(D-S+v)*o+.0014*Math.sin(v)*r-.0011*Math.sin(I)*r-9e-4*Math.sin(w)*r,a*=lPe;let B=u+f*au,U=d+p*au,V=x+b*au,G=g+m*au;return fne(a,c,B,U,G,V,t)}var lne=.012300034,JPe=lne/(lne+1)*-1;function e1e(e,t){return t=dne(e,t),h.multiplyByScalar(t,JPe,t)}var hne=new $(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),uP=new h;q6.computeSunPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),l(t)||(t=new h),uP=QPe(e,uP),t=h.negate(uP,t),e1e(e,uP),h.subtract(t,uP,t),$.multiplyByVector(hne,t,t),t};q6.computeMoonPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),t=dne(e,t),$.multiplyByVector(hne,t,t),t};var Gg=q6;var rU={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};rU.getMorphTime=function(e){return e===rU.SCENE3D?1:e===rU.MORPHING?void 0:0};var ne=Object.freeze(rU);function t1e(e){e=y(e,y.EMPTY_OBJECT),this.color=H.clone(y(e.color,H.WHITE)),this.intensity=y(e.intensity,2)}var vp=t1e;function tA(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new We,this._viewportCartesian4=new ie,this._viewportDirty=!1,this._viewportOrthographicMatrix=F.clone(F.IDENTITY),this._viewportTransformation=F.clone(F.IDENTITY),this._model=F.clone(F.IDENTITY),this._view=F.clone(F.IDENTITY),this._inverseView=F.clone(F.IDENTITY),this._projection=F.clone(F.IDENTITY),this._infiniteProjection=F.clone(F.IDENTITY),this._entireFrustum=new z,this._currentFrustum=new z,this._frustumPlanes=new ie,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=$.clone(F.IDENTITY),this._view3DDirty=!0,this._view3D=new F,this._inverseView3DDirty=!0,this._inverseView3D=new F,this._inverseModelDirty=!0,this._inverseModel=new F,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new $,this._viewRotation=new $,this._inverseViewRotation=new $,this._viewRotation3D=new $,this._inverseViewRotation3D=new $,this._inverseProjectionDirty=!0,this._inverseProjection=new F,this._modelViewDirty=!0,this._modelView=new F,this._modelView3DDirty=!0,this._modelView3D=new F,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new F,this._inverseModelViewDirty=!0,this._inverseModelView=new F,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new F,this._viewProjectionDirty=!0,this._viewProjection=new F,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new F,this._modelViewProjectionDirty=!0,this._modelViewProjection=new F,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new F,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new F,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new F,this._normalDirty=!0,this._normal=new $,this._normal3DDirty=!0,this._normal3D=new $,this._inverseNormalDirty=!0,this._inverseNormal=new $,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new $,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new jn,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new z,this._eyeEllipsoidNormalEC=new h,this._eyeEllipsoidCurvature=new z,this._modelToEnu=new F,this._enuToModel=new F,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new H,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._fogVisualDensityScalar=void 0,this._fogMinimumBrightness=void 0,this._atmosphereHsbShift=void 0,this._atmosphereLightIntensity=void 0,this._atmosphereRayleighCoefficient=new h,this._atmosphereRayleighScaleHeight=new h,this._atmosphereMieCoefficient=new h,this._atmosphereMieScaleHeight=void 0,this._atmosphereMieAnisotropy=void 0,this._atmosphereDynamicLighting=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(tA.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!We.equals(e,this._viewport)){We.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return pne(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return pne(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){F.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,F.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,F.getMatrix3(this.inverseModel,e),$.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return X6(this),this._view3D}},viewRotation:{get:function(){return X6(this),this._viewRotation}},viewRotation3D:{get:function(){return X6(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return yne(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return yne(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return d1e(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return h1e(this),this._modelView}},modelView3D:{get:function(){return m1e(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return b1e(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return p1e(this),this._inverseModelView}},inverseModelView3D:{get:function(){return _1e(this),this._inverseModelView3D}},viewProjection:{get:function(){return g1e(this),this._viewProjection}},inverseViewProjection:{get:function(){return y1e(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return x1e(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return T1e(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return C1e(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return A1e(this),this._modelViewInfiniteProjection}},normal:{get:function(){return E1e(this),this._normal}},normal3D:{get:function(){return S1e(this),this._normal3D}},inverseNormal:{get:function(){return v1e(this),this._inverseNormal}},inverseNormal3D:{get:function(){return w1e(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},eyeEllipsoidNormalEC:{get:function(){return this._eyeEllipsoidNormalEC}},eyeEllipsoidCurvature:{get:function(){return this._eyeEllipsoidCurvature}},modelToEnu:{get:function(){return this._modelToEnu}},enuToModel:{get:function(){return this._enuToModel}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return gne(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return gne(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},fogVisualDensityScalar:{get:function(){return this._fogVisualDensityScalar}},fogMinimumBrightness:{get:function(){return this._fogMinimumBrightness}},atmosphereHsbShift:{get:function(){return this._atmosphereHsbShift}},atmosphereLightIntensity:{get:function(){return this._atmosphereLightIntensity}},atmosphereRayleighCoefficient:{get:function(){return this._atmosphereRayleighCoefficient}},atmosphereRayleighScaleHeight:{get:function(){return this._atmosphereRayleighScaleHeight}},atmosphereMieCoefficient:{get:function(){return this._atmosphereMieCoefficient}},atmosphereMieScaleHeight:{get:function(){return this._atmosphereMieScaleHeight}},atmosphereMieAnisotropy:{get:function(){return this._atmosphereMieAnisotropy}},atmosphereDynamicLighting:{get:function(){return this._atmosphereDynamicLighting}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,ee.default)}}});function n1e(e,t){F.clone(t,e._view),F.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function i1e(e,t){F.clone(t,e._inverseView),F.getMatrix3(t,e._inverseViewRotation)}function o1e(e,t){F.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function r1e(e,t){F.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}var mne=new h,s1e=new F;function a1e(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=e._ellipsoid,i,o=t.positionCartographic;if(l(o)?(e._eyeHeight=o.height,e._eyeEllipsoidNormalEC=n.geodeticSurfaceNormalCartographic(o,e._eyeEllipsoidNormalEC),i=h.fromRadians(o.longitude,o.latitude,0,n,mne)):(e._eyeHeight=-n.maximumRadius,h.magnitude(t.positionWC)>0&&(e._eyeEllipsoidNormalEC=h.normalize(t.positionWC,e._eyeEllipsoidNormalEC)),i=n.scaleToGeodeticSurface(t.positionWC,mne)),e._encodedCameraPositionMCDirty=!0,!l(i))return;e._eyeEllipsoidNormalEC=$.multiplyByVector(e._viewRotation,e._eyeEllipsoidNormalEC,e._eyeEllipsoidNormalEC);let r=Lt.eastNorthUpToFixedFrame(i,n,s1e);e._enuToModel=F.multiplyTransformation(e.inverseModel,r,e._enuToModel),e._modelToEnu=F.inverseTransformation(e._enuToModel,e._modelToEnu),P.equalsEpsilon(n._radii.x,n._radii.y,P.EPSILON15)&&(e._eyeEllipsoidCurvature=n.getLocalCurvature(i,e._eyeEllipsoidCurvature))}var Y6=new $,c1e=new fe;function l1e(e,t){Lt.computeIcrfToCentralBodyFixedMatrix(t.time,Y6);let n=Gg.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);$.multiplyByVector(Y6,n,n),h.normalize(n,e._sunDirectionWC),n=$.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=Gg.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),$.multiplyByVector(Y6,n,n),$.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,c1e);i.project(r,e._sunPositionColumbusView)}tA.prototype.updateCamera=function(e){n1e(this,e.viewMatrix),i1e(this,e.inverseViewMatrix),a1e(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==ne.SCENE2D&&e.frustum instanceof cn};tA.prototype.updateFrustum=function(e){o1e(this,e.projectionMatrix),l(e.infiniteProjectionMatrix)&&r1e(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=P.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let t=e.offCenterFrustum;l(t)&&(e=t),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};tA.prototype.updatePass=function(e){this._pass=e};var u1e=[],f1e=new vp;tA.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===ne.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),l1e(this,e);let n=y(e.light,f1e);n instanceof vp?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=$.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=l(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,u1e),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,this._fogDensity=e.fog.density,this._fogVisualDensityScalar=e.fog.visualDensityScalar,this._fogMinimumBrightness=e.fog.minimumBrightness;let c=e.atmosphere;l(c)&&(this._atmosphereHsbShift=h.fromElements(c.hueShift,c.saturationShift,c.brightnessShift,this._atmosphereHsbShift),this._atmosphereLightIntensity=c.lightIntensity,this._atmosphereRayleighCoefficient=h.clone(c.rayleighCoefficient,this._atmosphereRayleighCoefficient),this._atmosphereRayleighScaleHeight=c.rayleighScaleHeight,this._atmosphereMieCoefficient=h.clone(c.mieCoefficient,this._atmosphereMieCoefficient),this._atmosphereMieScaleHeight=c.mieScaleHeight,this._atmosphereMieAnisotropy=c.mieAnisotropy,this._atmosphereDynamicLighting=c.dynamicLighting),this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Lt.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let u=t.frustum.fov,f=this._viewport,d;l(u)?f.height>f.width?d=Math.tan(.5*u)*2/f.height:d=Math.tan(.5*u)*2/f.width:d=1/Math.max(f.width,f.height),this._geometricToleranceOverMeter=d*e.maximumScreenSpaceError,H.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function pne(e){if(e._viewportDirty){let t=e._viewport;F.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),F.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function d1e(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==ne.SCENE2D&&e._mode!==ne.MORPHING&&!e._orthographicIn3D?F.inverse(e._projection,e._inverseProjection):F.clone(F.ZERO,e._inverseProjection))}function h1e(e){e._modelViewDirty&&(e._modelViewDirty=!1,F.multiplyTransformation(e._view,e._model,e._modelView))}function m1e(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,F.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function p1e(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,F.inverse(e.modelView,e._inverseModelView))}function _1e(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,F.inverse(e.modelView3D,e._inverseModelView3D))}function g1e(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,F.multiply(e._projection,e._view,e._viewProjection))}function y1e(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,F.inverse(e.viewProjection,e._inverseViewProjection))}function x1e(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,F.multiply(e._projection,e.modelView,e._modelViewProjection))}function b1e(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function T1e(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,F.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function C1e(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,F.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function A1e(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,F.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function E1e(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;F.getMatrix3(e.inverseModelView,t),$.transpose(t,t)}}function S1e(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;F.getMatrix3(e.inverseModelView3D,t),$.transpose(t,t)}}function v1e(e){if(e._inverseNormalDirty){e._inverseNormalDirty=!1;let t=e._inverseNormal;F.getMatrix3(e.modelView,t),$.transpose(t,t)}}function w1e(e){if(e._inverseNormal3DDirty){e._inverseNormal3DDirty=!1;let t=e._inverseNormal3D;F.getMatrix3(e.modelView3D,t),$.transpose(t,t)}}var _ne=new h;function gne(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,F.multiplyByPoint(e.inverseModel,e._cameraPosition,_ne),jn.fromCartesian(_ne,e._encodedCameraPositionMC))}var D1e=new h,I1e=new h,P1e=new h,R1e=new h,O1e=new fe,M1e=new h,L1e=new F;function N1e(e,t,n,i,o,r,s,a){let c=D1e;c.x=e.y,c.y=e.z,c.z=e.x;let u=I1e;u.x=n.y,u.y=n.z,u.z=n.x;let f=P1e;f.x=i.y,f.y=i.z,f.z=i.x;let d=R1e;d.x=t.y,d.y=t.z,d.z=t.x,r===ne.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,O1e);p.longitude=P.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=P.clamp(p.latitude,-P.PI_OVER_TWO,P.PI_OVER_TWO);let g=s.ellipsoid,m=g.cartographicToCartesian(p,M1e),x=Lt.eastNorthUpToFixedFrame(m,g,L1e);return F.multiplyByPointAsVector(x,u,u),F.multiplyByPointAsVector(x,f,f),F.multiplyByPointAsVector(x,d,d),l(a)||(a=new F),a[0]=u.x,a[1]=f.x,a[2]=-d.x,a[3]=0,a[4]=u.y,a[5]=f.y,a[6]=-d.y,a[7]=0,a[8]=u.z,a[9]=f.z,a[10]=-d.z,a[11]=0,a[12]=-h.dot(u,m),a[13]=-h.dot(f,m),a[14]=h.dot(d,m),a[15]=1,a}function X6(e){e._view3DDirty&&(e._mode===ne.SCENE3D?F.clone(e._view,e._view3D):N1e(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),F.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function yne(e){e._inverseView3DDirty&&(F.inverseTransformation(e.view3D,e._inverseView3D),F.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var fP=tA;function cu(e,t){let{getWebGLStub:n,requestWebgl1:i,webgl:o={},allowTextureFilterAnisotropic:r=!0}=y(t,{});o.alpha=y(o.alpha,!1),o.stencil=y(o.stencil,!0),o.powerPreference=y(o.powerPreference,"high-performance");let s=l(n)?n(e,o):F1e(e,o,i),c=typeof WebGL2RenderingContext<"u"&&s instanceof WebGL2RenderingContext;this._canvas=e,this._originalGLContext=s,this._gl=s,this._webgl2=c,this._id=Wn(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new aP(this),this._textureCache=new cP;let u=s;this._stencilBits=u.getParameter(u.STENCIL_BITS),Ft._maximumCombinedTextureImageUnits=u.getParameter(u.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Ft._maximumCubeMapSize=u.getParameter(u.MAX_CUBE_MAP_TEXTURE_SIZE),Ft._maximumFragmentUniformVectors=u.getParameter(u.MAX_FRAGMENT_UNIFORM_VECTORS),Ft._maximumTextureImageUnits=u.getParameter(u.MAX_TEXTURE_IMAGE_UNITS),Ft._maximumRenderbufferSize=u.getParameter(u.MAX_RENDERBUFFER_SIZE),Ft._maximumTextureSize=u.getParameter(u.MAX_TEXTURE_SIZE),Ft._maximumVaryingVectors=u.getParameter(u.MAX_VARYING_VECTORS),Ft._maximumVertexAttributes=u.getParameter(u.MAX_VERTEX_ATTRIBS),Ft._maximumVertexTextureImageUnits=u.getParameter(u.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Ft._maximumVertexUniformVectors=u.getParameter(u.MAX_VERTEX_UNIFORM_VECTORS),Ft._maximumSamples=this._webgl2?u.getParameter(u.MAX_SAMPLES):0;let f=u.getParameter(u.ALIASED_LINE_WIDTH_RANGE);Ft._minimumAliasedLineWidth=f[0],Ft._maximumAliasedLineWidth=f[1];let d=u.getParameter(u.ALIASED_POINT_SIZE_RANGE);Ft._minimumAliasedPointSize=d[0],Ft._maximumAliasedPointSize=d[1];let p=u.getParameter(u.MAX_VIEWPORT_DIMS);Ft._maximumViewportWidth=p[0],Ft._maximumViewportHeight=p[1];let g=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_FLOAT);Ft._highpFloatSupported=g.precision!==0;let m=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_INT);Ft._highpIntSupported=m.rangeMax!==0,this._antialias=u.getContextAttributes().antialias,this._standardDerivatives=!!wr(u,["OES_standard_derivatives"]),this._blendMinmax=!!wr(u,["EXT_blend_minmax"]),this._elementIndexUint=!!wr(u,["OES_element_index_uint"]),this._depthTexture=!!wr(u,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!wr(u,["EXT_frag_depth"]),this._debugShaders=wr(u,["WEBGL_debug_shaders"]),this._textureFloat=!!wr(u,["OES_texture_float"]),this._textureHalfFloat=!!wr(u,["OES_texture_half_float"]),this._textureFloatLinear=!!wr(u,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!wr(u,["OES_texture_half_float_linear"]),this._supportsTextureLod=!!wr(u,["EXT_shader_texture_lod"]),this._colorBufferFloat=!!wr(u,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!wr(u,["EXT_float_blend"]),this._colorBufferHalfFloat=!!wr(u,["EXT_color_buffer_half_float"]),this._s3tc=!!wr(u,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!wr(u,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!wr(u,["WEBGL_compressed_texture_astc"]),this._etc=!!wr(u,["WEBG_compressed_texture_etc"]),this._etc1=!!wr(u,["WEBGL_compressed_texture_etc1"]),this._bc7=!!wr(u,["EXT_texture_compression_bptc"]),Tl.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let x=r?wr(u,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=x,Ft._maximumTextureFilterAnisotropy=l(x)?u.getParameter(x.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let b,T,A,C,E,v,D,O,R,M;if(c){let w=this;b=function(){return w._gl.createVertexArray()},T=function(I){w._gl.bindVertexArray(I)},A=function(I){w._gl.deleteVertexArray(I)},C=function(I,L,B,U,V){u.drawElementsInstanced(I,L,B,U,V)},E=function(I,L,B,U){u.drawArraysInstanced(I,L,B,U)},v=function(I,L){u.vertexAttribDivisor(I,L)},D=function(I){u.drawBuffers(I)}}else O=wr(u,["OES_vertex_array_object"]),l(O)&&(b=function(){return O.createVertexArrayOES()},T=function(w){O.bindVertexArrayOES(w)},A=function(w){O.deleteVertexArrayOES(w)}),R=wr(u,["ANGLE_instanced_arrays"]),l(R)&&(C=function(w,I,L,B,U){R.drawElementsInstancedANGLE(w,I,L,B,U)},E=function(w,I,L,B){R.drawArraysInstancedANGLE(w,I,L,B)},v=function(w,I){R.vertexAttribDivisorANGLE(w,I)}),M=wr(u,["WEBGL_draw_buffers"]),l(M)&&(D=function(w){M.drawBuffersWEBGL(w)});this.glCreateVertexArray=b,this.glBindVertexArray=T,this.glDeleteVertexArray=A,this.glDrawElementsInstanced=C,this.glDrawArraysInstanced=E,this.glVertexAttribDivisor=v,this.glDrawBuffers=D,this._vertexArrayObject=!!O,this._instancedArrays=!!R,this._drawBuffers=!!M,Ft._maximumDrawBuffers=this.drawBuffers?u.getParameter(te.MAX_DRAW_BUFFERS):1,Ft._maximumColorAttachments=this.drawBuffers?u.getParameter(te.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new H(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let N=new fP,_=new oc(this),S=Ve.fromCache();this._defaultPassState=_,this._defaultRenderState=S,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=N,this._currentRenderState=S,this._currentPassState=_,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let w=0;w<Ft._maximumVertexAttributes;w++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options={getWebGLStub:n,requestWebgl1:i,webgl:o,allowTextureFilterAnisotropic:r},this.cache={},Ve.apply(u,S,_)}function F1e(e,t,n){if(typeof WebGLRenderingContext>"u")throw new se("The browser does not support WebGL. Visit http://get.webgl.org.");!n&&!(typeof WebGL2RenderingContext<"u")&&(n=!0);let o=n?"webgl":"webgl2",r=e.getContext(o,t);if(!l(r))throw new se("The browser supports WebGL, but initialization failed.");return r}function B1e(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function k1e(e,t,n,i){let o=`${B1e(e,i)}: ${t.name}(`;for(let r=0;r<n.length;++r)r!==0&&(o+=", "),o+=n[r];return o+=");",o}function V1e(e,t,n){let i=e.getError();if(i!==e.NO_ERROR)throw new se(k1e(e,t,n,i))}function U1e(e,t,n){return{get:function(){let i=e[t];return n(e,`get: ${t}`,i),e[t]},set:function(i){e[t]=i,n(e,`set: ${t}`,i)}}}function z1e(e,t){if(!l(t))return e;function n(o){return function(){let r=o.apply(e,arguments);return t(e,o,arguments),r}}let i={};for(let o in e){let r=e[o];r instanceof Function?i[o]=n(r):Object.defineProperty(i,o,U1e(e,o,t))}return i}function wr(e,t){let n=t.length;for(let i=0;i<n;++i){let o=e.getExtension(t[i]);if(o)return o}}var H1e={};Object.defineProperties(cu.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return this._stencilBits>=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},supportsTextureLod:{get:function(){return this._webgl2||this._supportsTextureLod}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=z1e(this._originalGLContext,e?V1e:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new Pt({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new Pt({context:this,pixelFormat:nt.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new Pt({context:this,pixelFormat:nt.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new vr({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return H1e}}});function xne(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,Ve.partialApply(e._gl,o,t,r,n,i)}var K6;typeof WebGLRenderingContext<"u"&&(K6=[te.BACK]);function Z6(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=K6;if(l(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var G1e=new ni;cu.prototype.clear=function(e,t){e=y(e,G1e),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;l(o)&&(H.equals(this._clearColor,o)||(H.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),l(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),l(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);xne(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);Z6(this,c),n.clear(i)};function W1e(e,t,n,i,o){Z6(e,t),xne(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function j1e(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,F.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let u=r.indexBuffer;l(u)?(s=s*u.bytesPerIndex,l(a)?a=Math.min(a,u.numberOfIndices):a=u.numberOfIndices,c===0?e._gl.drawElements(o,a,u.indexDatatype,s):e.glDrawElementsInstanced(o,a,u.indexDatatype,s,c)):(l(a)?a=Math.min(a,r.numberOfVertices):a=r.numberOfVertices,c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}cu.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),W1e(this,o,t,n,r),j1e(this,e,n,i)};cu.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=K6;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i<n;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)};cu.prototype.readPixels=function(e){let t=this._gl;e=y(e,y.EMPTY_OBJECT);let n=Math.max(y(e.x,0),0),i=Math.max(y(e.y,0),0),o=y(e.width,t.drawingBufferWidth),r=y(e.height,t.drawingBufferHeight),s=e.framebuffer,a=Ye.UNSIGNED_BYTE;l(s)&&s.numberOfColorAttachments>0&&(a=s.getColorTexture(0).pixelDatatype);let c=nt.createTypedArray(nt.RGBA,a,o,r);return Z6(this,s),t.readPixels(n,i,o,r,nt.RGBA,Ye.toWebGLConstant(a,this),c),c};var bne={position:0,textureCoordinates:1};cu.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!l(e)){let t=new ft({attributes:{position:new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Ne.TRIANGLES});e=ii.fromGeometry({context:this,geometry:t,attributeLocations:bne,bufferUsage:Be.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};cu.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new Ze({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Ne.TRIANGLES,renderState:t.renderState,shaderProgram:tn.fromCache({context:this,vertexShaderSource:ux,fragmentShaderSource:e,attributeLocations:bne}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};cu.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function $6(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties($6.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});$6.prototype.destroy=function(){delete this._pickObjects[this.key]};cu.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new se("Out of unique Pick IDs.");return this._pickObjects[t]=e,new $6(this._pickObjects,t,H.fromRgba(t))};cu.prototype.isDestroyed=function(){return!1};cu.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];l(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),ue(this)};cu._deprecationWarning=ys;var dP=cu;function nA(e){e=y(e,y.EMPTY_OBJECT);let{context:t,width:n,height:i,colorRenderbuffers:o,colorTextures:r,depthStencilRenderbuffer:s,depthStencilTexture:a,destroyAttachments:c}=e;if(this._width=n,this._height=i,l(o)!==l(r))throw new de("Both color renderbuffer and texture attachments must be provided.");if(l(s)!==l(a))throw new de("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new Vr({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:c}),this._colorFramebuffer=new Vr({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:c})}nA.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};nA.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};nA.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),l(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};nA.prototype.isDestroyed=function(){return!1};nA.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),ue(this)};var hP=nA;var Al={RGBA4:te.RGBA4,RGBA8:te.RGBA8,RGBA16F:te.RGBA16F,RGBA32F:te.RGBA32F,RGB5_A1:te.RGB5_A1,RGB565:te.RGB565,DEPTH_COMPONENT16:te.DEPTH_COMPONENT16,STENCIL_INDEX8:te.STENCIL_INDEX8,DEPTH_STENCIL:te.DEPTH_STENCIL,DEPTH24_STENCIL8:te.DEPTH24_STENCIL8,validate:function(e){return e===Al.RGBA4||e===Al.RGBA8||e===Al.RGBA16F||e===Al.RGBA32F||e===Al.RGB5_A1||e===Al.RGB565||e===Al.DEPTH_COMPONENT16||e===Al.STENCIL_INDEX8||e===Al.DEPTH_STENCIL||e===Al.DEPTH24_STENCIL8},getColorFormat:function(e){return e===te.FLOAT?Al.RGBA32F:e===te.HALF_FLOAT_OES?Al.RGBA16F:Al.RGBA8}},Vc=Object.freeze(Al);function mP(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Ft.maximumRenderbufferSize,o=y(e.format,Vc.RGBA4),r=l(e.width)?e.width:n.drawingBufferWidth,s=l(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(mP.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});mP.prototype._getRenderbuffer=function(){return this._renderbuffer};mP.prototype.isDestroyed=function(){return!1};mP.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),ue(this)};var lu=mP;function Ps(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Ps.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});Ps.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=l(i)&&this._pixelDatatype!==i||l(o)&&this._pixelFormat!==o,c=n===1?l(this._framebuffer):l(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!l(this._colorTextures[0])};Ps.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,Ye.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,nt.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s<this._colorAttachmentsLength;++s)if(this._colorTextures[s]=new Pt({context:e,width:t,height:n,pixelFormat:r,pixelDatatype:o,sampler:Qt.NEAREST}),this._numSamples>1){let a=Vc.getColorFormat(o);this._colorRenderbuffers[s]=new lu({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new Pt({context:e,width:t,height:n,pixelFormat:nt.DEPTH_STENCIL,pixelDatatype:Ye.UNSIGNED_INT_24_8,sampler:Qt.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new lu({context:e,width:t,height:n,format:Vc.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new lu({context:e,width:t,height:n,format:Vc.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new Pt({context:e,width:t,height:n,pixelFormat:nt.DEPTH_COMPONENT,pixelDatatype:Ye.UNSIGNED_INT,sampler:Qt.NEAREST}):this._depthRenderbuffer=new lu({context:e,width:t,height:n,format:Vc.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new hP({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new Vr({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};Ps.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};Ps.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};Ps.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};Ps.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};Ps.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};Ps.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};Ps.prototype.getDepthTexture=function(){return this._depthTexture};Ps.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};Ps.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};Ps.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};Ps.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};Ps.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};Ps.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};Ps.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};Ps.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};Ps.prototype.destroy=function(){if(this._color){let e=this._colorTextures,t=this._colorRenderbuffers;for(let n=0;n<e.length;++n){let i=e[n];this._createColorAttachments&&l(i)&&!i.isDestroyed()&&i.destroy(),l(i)&&i.isDestroyed()&&(e[n]=void 0);let o=t[n];this._createColorAttachments&&l(o)&&!o.isDestroyed()&&o.destroy(),l(o)&&o.isDestroyed()&&(t[n]=void 0)}}this._depthStencil&&(this._createDepthAttachments&&(this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),l(this._depthStencilTexture)&&this._depthStencilTexture.isDestroyed()&&(this._depthStencilTexture=void 0),l(this._depthStencilRenderbuffer)&&this._depthStencilRenderbuffer.isDestroyed()&&(this._depthStencilRenderbuffer=void 0)),this._depth&&(this._createDepthAttachments&&(this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy()),l(this._depthTexture)&&this._depthTexture.isDestroyed()&&(this._depthTexture=void 0),l(this._depthRenderbuffer)&&this._depthRenderbuffer.isDestroyed()&&(this._depthRenderbuffer=void 0)),this.destroyFramebuffer()};var _i=Ps;function q1e(e,t,n){let i={flipY:!0,skipColorSpaceConversion:n,preferImageBitmap:!0},o=[Ae.createIfNeeded(t.positiveX).fetchImage(i),Ae.createIfNeeded(t.negativeX).fetchImage(i),Ae.createIfNeeded(t.positiveY).fetchImage(i),Ae.createIfNeeded(t.negativeY).fetchImage(i),Ae.createIfNeeded(t.positiveZ).fetchImage(i),Ae.createIfNeeded(t.negativeZ).fetchImage(i)];return Promise.all(o).then(function(r){return new vr({context:e,source:{positiveX:r[0],negativeX:r[1],positiveY:r[2],negativeY:r[3],positiveZ:r[4],negativeZ:r[5]}})})}var pP=q1e;var Tx={VERTEX:0,FRAGMENT:1,BOTH:2};Tx.includesVertexShader=function(e){return e===Tx.VERTEX||e===Tx.BOTH};Tx.includesFragmentShader=function(e){return e===Tx.FRAGMENT||e===Tx.BOTH};var pe=Object.freeze(Tx);function Q6(e){this.name=e,this.fields=[]}Q6.prototype.addField=function(e,t){let n=` ${e} ${t};`;this.fields.push(n)};Q6.prototype.generateGlslLines=function(){let e=this.fields;return e.length===0&&(e=[" float _empty;"]),[].concat(`struct ${this.name}`,"{",e,"};")};var _P=Q6;function J6(e){this.signature=e,this.body=[]}J6.prototype.addLines=function(e){let t=this.body;if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;i++)t.push(` ${e[i]}`)}else t.push(` ${e}`)};J6.prototype.generateGlslLines=function(){return[].concat(this.signature,"{",this.body,"}")};var gP=J6;function Uc(){this._positionAttributeLine=void 0,this._nextAttributeLocation=1,this._attributeLocations={},this._attributeLines=[],this._structs={},this._functions={},this._vertexShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]},this._fragmentShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]}}Object.defineProperties(Uc.prototype,{attributeLocations:{get:function(){return this._attributeLocations}}});Uc.prototype.addDefine=function(e,t,n){n=y(n,pe.BOTH);let i=e;l(t)&&(i+=` ${t.toString()}`),pe.includesVertexShader(n)&&this._vertexShaderParts.defineLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.defineLines.push(i)};Uc.prototype.addStruct=function(e,t,n){this._structs[e]=new _P(t),pe.includesVertexShader(n)&&this._vertexShaderParts.structIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.structIds.push(e)};Uc.prototype.addStructField=function(e,t,n){this._structs[e].addField(t,n)};Uc.prototype.addFunction=function(e,t,n){this._functions[e]=new gP(t),pe.includesVertexShader(n)&&this._vertexShaderParts.functionIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.functionIds.push(e)};Uc.prototype.addFunctionLines=function(e,t){this._functions[e].addLines(t)};Uc.prototype.addUniform=function(e,t,n){n=y(n,pe.BOTH);let i=`uniform ${e} ${t};`;pe.includesVertexShader(n)&&this._vertexShaderParts.uniformLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.uniformLines.push(i)};Uc.prototype.setPositionAttribute=function(e,t){return this._positionAttributeLine=`in ${e} ${t};`,this._attributeLocations[t]=0,0};Uc.prototype.addAttribute=function(e,t){let n=`in ${e} ${t};`;this._attributeLines.push(n);let i=this._nextAttributeLocation;return this._attributeLocations[t]=i,this._nextAttributeLocation+=X1e(e),i};Uc.prototype.addVarying=function(e,t,n){n=l(n)?`${n} `:"";let i=`${e} ${t};`;this._vertexShaderParts.varyingLines.push(`${n}out ${i}`),this._fragmentShaderParts.varyingLines.push(`${n}in ${i}`)};Uc.prototype.addVertexLines=function(e){let t=this._vertexShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Uc.prototype.addFragmentLines=function(e){let t=this._fragmentShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Uc.prototype.buildShaderProgram=function(e){let t=l(this._positionAttributeLine)?[this._positionAttributeLine]:[],n=Y1e(this),i=K1e(this),o=t.concat(this._attributeLines,this._vertexShaderParts.uniformLines,this._vertexShaderParts.varyingLines,n.vertexLines,i.vertexLines,this._vertexShaderParts.shaderLines).join(` +`),r=new Ue({defines:this._vertexShaderParts.defineLines,sources:[o]}),s=this._fragmentShaderParts.uniformLines.concat(this._fragmentShaderParts.varyingLines,n.fragmentLines,i.fragmentLines,this._fragmentShaderParts.shaderLines).join(` +`),a=new Ue({defines:this._fragmentShaderParts.defineLines,sources:[s]});return tn.fromCache({context:e,vertexShaderSource:r,fragmentShaderSource:a,attributeLocations:this._attributeLocations})};Uc.prototype.clone=function(){return He(this,!0)};function Y1e(e){let t=[],n=[],i,o=e._vertexShaderParts.structIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.structIds,i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function X1e(e){switch(e){case"mat2":return 2;case"mat3":return 3;case"mat4":return 4;default:return 1}}function K1e(e){let t=[],n=[],i,o=e._vertexShaderParts.functionIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.functionIds,i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}var Cx=Uc;function Ys(e,t,n,i){let o=Ys._verifyAttributes(t);n=y(n,0);let r=[],s={},a,c,u=o.length;for(let d=0;d<u;++d){let p=o[d];if(p.vertexBuffer){r.push(p);continue}c=p.usage,a=s[c],l(a)||(a=s[c]=[]),a.push(p)}function f(d,p){return X.getSizeInBytes(p.componentDatatype)-X.getSizeInBytes(d.componentDatatype)}this._allBuffers=[];for(c in s)if(s.hasOwnProperty(c)){a=s[c],a.sort(f);let d=Ys._vertexSizeInBytes(a),p=a[0].usage,g={vertexSizeInBytes:d,vertexBuffer:void 0,usage:p,needsCommit:!1,arrayBuffer:void 0,arrayViews:Ys._createArrayViews(a,d)};this._allBuffers.push(g)}this._size=0,this._instanced=y(i,!1),this._precreated=r,this._context=e,this.writers=void 0,this.va=void 0,this.resize(n)}Ys._verifyAttributes=function(e){let t=[];for(let i=0;i<e.length;++i){let o=e[i],r={index:y(o.index,i),enabled:y(o.enabled,!0),componentsPerAttribute:o.componentsPerAttribute,componentDatatype:y(o.componentDatatype,X.FLOAT),normalize:y(o.normalize,!1),vertexBuffer:o.vertexBuffer,usage:y(o.usage,Be.STATIC_DRAW)};t.push(r)}let n=new Array(t.length);for(let i=0;i<t.length;++i){let r=t[i].index;n[r]=!0}return t};Ys._vertexSizeInBytes=function(e){let t=0,n=e.length;for(let s=0;s<n;++s){let a=e[s];t+=a.componentsPerAttribute*X.getSizeInBytes(a.componentDatatype)}let i=n>0?X.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=o===0?0:i-o;return t+=r,t};Ys._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r<o;++r){let s=e[r],a=s.componentDatatype;n.push({index:s.index,enabled:s.enabled,componentsPerAttribute:s.componentsPerAttribute,componentDatatype:a,normalize:s.normalize,offsetInBytes:i,vertexSizeInComponentType:t/X.getSizeInBytes(a),view:void 0}),i+=s.componentsPerAttribute*X.getSizeInBytes(a)}return n};Ys.prototype.resize=function(e){this._size=e;let t=this._allBuffers;this.writers=[];for(let n=0,i=t.length;n<i;++n){let o=t[n];Ys._resize(o,this._size),Ys._appendWriters(this.writers,o)}e9(this)};Ys._resize=function(e,t){if(e.vertexSizeInBytes>0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(l(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c<a;++c)r[c]=s[c]}let i=e.arrayViews,o=i.length;for(let r=0;r<o;++r){let s=i[r];s.view=X.createArrayBufferView(s.componentDatatype,n,s.offsetInBytes)}e.arrayBuffer=n}};var Z1e=[function(e,t,n){return function(i,o){t[i*n]=o,e.needsCommit=!0}},function(e,t,n){return function(i,o,r){let s=i*n;t[s]=o,t[s+1]=r,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s){let a=i*n;t[a]=o,t[a+1]=r,t[a+2]=s,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s,a){let c=i*n;t[c]=o,t[c+1]=r,t[c+2]=s,t[c+3]=a,e.needsCommit=!0}}];Ys._appendWriters=function(e,t){let n=t.arrayViews,i=n.length;for(let o=0;o<i;++o){let r=n[o];e[r.index]=Z1e[r.componentsPerAttribute-1](t,r.view,r.vertexSizeInComponentType)}};Ys.prototype.commit=function(e){let t=!1,n=this._allBuffers,i,o,r;for(o=0,r=n.length;o<r;++o)i=n[o],t=$1e(this,i)||t;if(t||!l(this.va)){e9(this);let s=this.va=[],a=P.SIXTY_FOUR_KILOBYTES-4,c=l(e)&&!this._instanced?Math.ceil(this._size/a):1;for(let u=0;u<c;++u){let f=[];for(o=0,r=n.length;o<r;++o){i=n[o];let d=u*(i.vertexSizeInBytes*a);Ys._appendAttributes(f,i,d,this._instanced)}f=f.concat(this._precreated),s.push({va:new ii({context:this._context,attributes:f,indexBuffer:e}),indicesCount:1.5*(u!==c-1?a:this._size%a)})}}};function $1e(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=l(n);if(!o||n.sizeInBytes<i)return o&&n.destroy(),t.vertexBuffer=xt.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),t.vertexBuffer.vertexArrayDestroyable=!1,!0;t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}Ys._appendAttributes=function(e,t,n,i){let o=t.arrayViews,r=o.length;for(let s=0;s<r;++s){let a=o[s];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:n+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:i?1:0})}};Ys.prototype.subCommit=function(e,t){let n=this._allBuffers;for(let i=0,o=n.length;i<o;++i)Q1e(n[i],e,t)};function Q1e(e,t,n){if(e.needsCommit&&e.vertexSizeInBytes>0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}Ys.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t)e[t].needsCommit=!1};function e9(e){let t=e.va;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].va.destroy();e.va=void 0}Ys.prototype.isDestroyed=function(){return!1};Ys.prototype.destroy=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t){let i=e[t];i.vertexBuffer=i.vertexBuffer&&i.vertexBuffer.destroy()}return e9(this),ue(this)};var wp=Ys;var Tne=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],t9=1,yP=8,Ax=class e{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");let[n,i]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");let o=i>>4;if(o!==t9)throw new Error(`Got v${o} data when expected v${t9}.`);let r=Tne[i&15];if(!r)throw new Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new e(a,s,r,t)}constructor(t,n=64,i=Float64Array,o){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let r=Tne.indexOf(this.ArrayType),s=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-a%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,yP,t),this.coords=new this.ArrayType(this.data,yP+a+c,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(yP+s+a+c),this.ids=new this.IndexArrayType(this.data,yP,t),this.coords=new this.ArrayType(this.data,yP+a+c,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(t9<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=n,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return i9(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:r,coords:s,nodeSize:a}=this,c=[0,r.length-1,0],u=[];for(;c.length;){let f=c.pop()||0,d=c.pop()||0,p=c.pop()||0;if(d-p<=a){for(let b=p;b<=d;b++){let T=s[2*b],A=s[2*b+1];T>=t&&T<=i&&A>=n&&A<=o&&u.push(r[b])}continue}let g=p+d>>1,m=s[2*g],x=s[2*g+1];m>=t&&m<=i&&x>=n&&x<=o&&u.push(r[g]),(f===0?t<=m:n<=x)&&(c.push(p),c.push(g-1),c.push(1-f)),(f===0?i>=m:o>=x)&&(c.push(g+1),c.push(d),c.push(1-f))}return u}within(t,n,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:o,coords:r,nodeSize:s}=this,a=[0,o.length-1,0],c=[],u=i*i;for(;a.length;){let f=a.pop()||0,d=a.pop()||0,p=a.pop()||0;if(d-p<=s){for(let b=p;b<=d;b++)Cne(r[2*b],r[2*b+1],t,n)<=u&&c.push(o[b]);continue}let g=p+d>>1,m=r[2*g],x=r[2*g+1];Cne(m,x,t,n)<=u&&c.push(o[g]),(f===0?t-i<=m:n-i<=x)&&(a.push(p),a.push(g-1),a.push(1-f)),(f===0?t+i>=m:n+i>=x)&&(a.push(g+1),a.push(d),a.push(1-f))}return c}};function i9(e,t,n,i,o,r){if(o-i<=n)return;let s=i+o>>1;Ane(e,t,s,i,o,r),i9(e,t,n,i,s-1,1-r),i9(e,t,n,s+1,o,1-r)}function Ane(e,t,n,i,o,r){for(;o>i;){if(o-i>600){let u=o-i+1,f=n-i+1,d=Math.log(u),p=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*p*(u-p)/u)*(f-u/2<0?-1:1),m=Math.max(i,Math.floor(n-f*p/u+g)),x=Math.min(o,Math.floor(n+(u-f)*p/u+g));Ane(e,t,n,m,x,r)}let s=t[2*n+r],a=i,c=o;for(xP(e,t,i,n),t[2*o+r]>s&&xP(e,t,i,o);a<c;){for(xP(e,t,a,c),a++,c--;t[2*a+r]<s;)a++;for(;t[2*c+r]>s;)c--}t[2*i+r]===s?xP(e,t,i,c):(c++,xP(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function xP(e,t,n,i){n9(e,n,i),n9(t,2*n,2*i),n9(t,2*n+1,2*i+1)}function n9(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function Cne(e,t,n,i){let o=e-n,r=t-i;return o*o+r*r}var iA={},J1e={KDBush:Ax,addCache:function(e,t){return iA[e]=t,t},removeCache:function(e){delete iA[e]},getCache:function(e){return iA[e]},getCacheOrAdd:function(e){return iA[e]||(iA[e]={}),iA[e]}},Dp=J1e;function Wg(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new me,this.setValue(e)}Object.defineProperties(Wg.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}});Wg.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value};Wg.prototype.setValue=function(e){let t=this._value;if(t!==e){let n=l(e),i=n&&typeof e.clone=="function",o=n&&typeof e.equals=="function";(!o||!e.equals(t))&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}};Wg.prototype.equals=function(e){return this===e||e instanceof Wg&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))};Wg.prototype.valueOf=function(){return this._value};Wg.prototype.toString=function(){return String(this._value)};var $n=Wg;function eRe(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(r){let s=this[t],a=this[n];l(a)&&(a(),this[n]=void 0),r!==void 0&&(!l(r)||!l(r.getValue))&&l(o)&&(r=o(r)),s!==r&&(this[t]=r,this._definitionChanged.raiseEvent(this,e,r,s)),l(r)&&l(r.definitionChanged)&&(this[n]=r.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,r,r)},this))}}}function tRe(e){return new $n(e)}function nRe(e,t,n){return eRe(e,`_${e.toString()}`,`_${e.toString()}Subscription`,y(t,!1),y(n,tRe))}var le=nRe;function bP(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(bP.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),image:le("image"),scale:le("scale"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),color:le("color"),rotation:le("rotation"),alignedAxis:le("alignedAxis"),sizeInMeters:le("sizeInMeters"),width:le("width"),height:le("height"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),imageSubRegion:le("imageSubRegion"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});bP.prototype.clone=function(e){return l(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e.splitDirection=this._splitDirection,e):new bP(this)};bP.prototype.merge=function(e){this.show=y(this._show,e.show),this.image=y(this._image,e.image),this.scale=y(this._scale,e.scale),this.pixelOffset=y(this._pixelOffset,e.pixelOffset),this.eyeOffset=y(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this._verticalOrigin,e.verticalOrigin),this.heightReference=y(this._heightReference,e.heightReference),this.color=y(this._color,e.color),this.rotation=y(this._rotation,e.rotation),this.alignedAxis=y(this._alignedAxis,e.alignedAxis),this.sizeInMeters=y(this._sizeInMeters,e.sizeInMeters),this.width=y(this._width,e.width),this.height=y(this._height,e.height),this.scaleByDistance=y(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=y(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=y(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this._disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var rc=bP;function Ex(){this._array=[],this._hash={}}Object.defineProperties(Ex.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}});Ex.prototype.contains=function(e){return l(this._hash[e])};Ex.prototype.set=function(e,t){let n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))};Ex.prototype.get=function(e){return this._hash[e]};Ex.prototype.remove=function(e){let t=this._hash[e],n=l(t);if(n){let i=this._array;i.splice(i.indexOf(t),1),delete this._hash[e]}return n};Ex.prototype.removeAll=function(){let e=this._array;e.length>0&&(this._hash={},e.length=0)};var Dt=Ex;function uu(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(uu.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});uu.packedLength=2;uu.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};uu.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new uu),n.near=e[t++],n.far=e[t],n};uu.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.far===t.far};uu.clone=function(e,t){if(l(e))return l(t)||(t=new uu),t.near=e.near,t.far=e.far,t};uu.prototype.clone=function(e){return uu.clone(this,e)};uu.prototype.equals=function(e){return uu.equals(this,e)};var Nt=uu;function yf(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}yf.clone=function(e,t){if(l(e))return l(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new yf(e.near,e.nearValue,e.far,e.farValue)};yf.packedLength=4;yf.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};yf.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new yf),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};yf.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};yf.prototype.clone=function(e){return yf.clone(this,e)};yf.prototype.equals=function(e){return yf.equals(this,e)};var Vt=yf;var Sx={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2,CLAMP_TO_TERRAIN:3,RELATIVE_TO_TERRAIN:4,CLAMP_TO_3D_TILE:5,RELATIVE_TO_3D_TILE:6},qe=Object.freeze(Sx);function xf(e){return e===Sx.CLAMP_TO_GROUND||e===Sx.CLAMP_TO_3D_TILE||e===Sx.CLAMP_TO_TERRAIN}function oA(e){return e===Sx.RELATIVE_TO_GROUND||e===Sx.RELATIVE_TO_3D_TILE||e===Sx.RELATIVE_TO_TERRAIN}var iRe={CENTER:0,LEFT:1,RIGHT:-1},Ti=Object.freeze(iRe);var oRe={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},Mn=Object.freeze(oRe);var rRe={DONE:0,PENDING:1,FAILED:2},ct=Object.freeze(rRe);function Id(){de.throwInstantiationError()}Object.defineProperties(Id.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});Id.prototype.getValue=de.throwInstantiationError;Id.prototype.equals=de.throwInstantiationError;Id.equals=function(e,t){return e===t||l(e)&&e.equals(t)};Id.arrayEquals=function(e,t){if(e===t)return!0;if(!l(e)||!l(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i<n;i++)if(!Id.equals(e[i],t[i]))return!1;return!0};Id.isConstant=function(e){return!l(e)||e.isConstant};Id.getValueOrUndefined=function(e,t,n){return l(e)?e.getValue(t,n):void 0};Id.getValueOrDefault=function(e,t,n,i){return l(e)?y(e.getValue(t,i),n):n};Id.getValueOrClonedDefault=function(e,t,n,i){let o;return l(e)&&(o=e.getValue(t,i)),l(o)||(o=n.clone(o)),o};var q=Id;var sRe={LEFT:-1,NONE:0,RIGHT:1},zr=Object.freeze(sRe);var aRe=H.WHITE,cRe=h.ZERO,lRe=qe.NONE,uRe=z.ZERO,fRe=1,dRe=0,hRe=h.ZERO,mRe=Ti.CENTER,pRe=Mn.CENTER,_Re=!1,gRe=zr.NONE,yRe=new h,xRe=new H,bRe=new h,TRe=new z,CRe=new Vt,ARe=new Vt,ERe=new Vt,SRe=new We,vRe=new Nt;function Ene(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function jg(e,t){t.collectionChanged.addEventListener(jg.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new Dt,this._onCollectionChanged(t,t.values,[],[])}jg.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._billboard,c,u=r.billboard,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,yRe),c=q.getValueOrUndefined(a._image,e),f=l(d)&&l(c)),!f){o9(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0),l(u)||(u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u),u.show=f,(!l(u.image)||r.textureValue!==c)&&(u.image=c,r.textureValue=c),u.position=d,u.color=q.getValueOrDefault(a._color,e,aRe,xRe),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,cRe,bRe),u.heightReference=q.getValueOrDefault(a._heightReference,e,lRe),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,uRe,TRe),u.scale=q.getValueOrDefault(a._scale,e,fRe),u.rotation=q.getValueOrDefault(a._rotation,e,dRe),u.alignedAxis=q.getValueOrDefault(a._alignedAxis,e,hRe),u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,mRe),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,pRe),u.width=q.getValueOrUndefined(a._width,e),u.height=q.getValueOrUndefined(a._height,e),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,CRe),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,ARe),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,ERe),u.sizeInMeters=q.getValueOrDefault(a._sizeInMeters,e,_Re),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,vRe),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,gRe);let p=q.getValueOrUndefined(a._imageSubRegion,e,SRe);l(p)&&u.setImageSubRegion(u._imageId,p)}return!0};jg.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.billboard))return ct.FAILED;let i=n.billboard;if(i.heightReference===qe.NONE)t.center=h.clone(i.position,t.center);else{if(!l(i._clampedPosition))return ct.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,ct.DONE};jg.prototype.isDestroyed=function(){return!1};jg.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(jg.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return ue(this)};jg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._billboard)&&l(r._position)&&s.set(r.id,new Ene(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._billboard)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Ene(r)):(o9(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],o9(s.get(r.id),r,a),s.remove(r.id)};function o9(e,t,n){l(e)&&(e.billboard=void 0,n.removeBillboard(t))}var TP=jg;var wRe=new h;function om(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;this._min=h.clone(t),this._max=h.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}om.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new om({minimum:h.negate(n,new h),maximum:n,offsetAttribute:e.offsetAttribute})};om.fromAxisAlignedBoundingBox=function(e){return new om({minimum:e.minimum,maximum:e.maximum})};om.packedLength=2*h.packedLength+1;om.pack=function(e,t,n){return n=y(n,0),h.pack(e._min,t,n),h.pack(e._max,t,n+h.packedLength),t[n+h.packedLength*2]=y(e._offsetAttribute,-1),t};var vne=new h,wne=new h,Sne={minimum:vne,maximum:wne,offsetAttribute:void 0};om.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,vne),o=h.unpack(e,t+h.packedLength,wne),r=e[t+h.packedLength*2];return l(n)?(n._min=h.clone(i,n._min),n._max=h.clone(o,n._max),n._offsetAttribute=r===-1?void 0:r,n):(Sne.offsetAttribute=r===-1?void 0:r,new om(Sne))};om.createGeometry=function(e){let t=e._min,n=e._max;if(h.equals(t,n))return;let i=new pn,o=new Uint16Array(12*2),r=new Float64Array(8*3);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=n.x,r[4]=t.y,r[5]=t.z,r[6]=n.x,r[7]=n.y,r[8]=t.z,r[9]=t.x,r[10]=n.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=n.z,r[15]=n.x,r[16]=t.y,r[17]=n.z,r[18]=n.x,r[19]=n.y,r[20]=n.z,r[21]=t.x,r[22]=n.y,r[23]=n.z,i.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:r}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let s=h.subtract(n,t,wRe),a=h.magnitude(s)*.5;if(l(e._offsetAttribute)){let c=r.length,u=e._offsetAttribute===ln.NONE?0:1,f=new Uint8Array(c/3).fill(u);i.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new ft({attributes:i,indices:o,primitiveType:Ne.LINES,boundingSphere:new ce(h.ZERO,a),offsetAttribute:e._offsetAttribute})};var Pd=om;function rA(e,t,n,i){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,1),this.value=new Uint8Array([H.floatToByte(e),H.floatToByte(t),H.floatToByte(n),H.floatToByte(i)])}Object.defineProperties(rA.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});rA.fromColor=function(e){return new rA(e.red,e.green,e.blue,e.alpha)};rA.toValue=function(e,t){return l(t)?e.toBytes(t):new Uint8Array(e.toBytes())};rA.equals=function(e,t){return e===t||l(e)&&l(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var Wt=rA;function CP(e,t){e=y(e,0),t=y(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}Object.defineProperties(CP.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});CP.fromDistanceDisplayCondition=function(e){return new CP(e.near,e.far)};CP.toValue=function(e,t){return l(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var Un=CP;function DRe(e){e=y(e,y.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=y(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var It=DRe;function ir(e){e=y(e,y.EMPTY_OBJECT),this.start=l(e.start)?K.clone(e.start):new K,this.stop=l(e.stop)?K.clone(e.stop):new K,this.data=e.data,this.isStartIncluded=y(e.isStartIncluded,!0),this.isStopIncluded=y(e.isStopIncluded,!0)}Object.defineProperties(ir.prototype,{isEmpty:{get:function(){let e=K.compare(this.stop,this.start);return e<0||e===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var sA={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};ir.fromIso8601=function(e,t){let n=e.iso8601.split("/");if(n.length!==2)throw new de("options.iso8601 is an invalid ISO 8601 interval.");let i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=e.data;return l(t)?(t.start=i,t.stop=o,t.isStartIncluded=r,t.isStopIncluded=s,t.data=a,t):(sA.start=i,sA.stop=o,sA.isStartIncluded=r,sA.isStopIncluded=s,sA.data=a,new ir(sA))};ir.toIso8601=function(e,t){return`${K.toIso8601(e.start,t)}/${K.toIso8601(e.stop,t)}`};ir.clone=function(e,t){if(l(e))return l(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new ir(e)};ir.equals=function(e,t,n){return e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equals(e.start,t.start)&&K.equals(e.stop,t.stop)&&(e.data===t.data||l(n)&&n(e.data,t.data)))};ir.equalsEpsilon=function(e,t,n,i){return n=y(n,0),e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equalsEpsilon(e.start,t.start,n)&&K.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||l(i)&&i(e.data,t.data)))};ir.intersect=function(e,t,n,i){if(!l(t))return ir.clone(ir.EMPTY,n);let o=e.start,r=e.stop,s=t.start,a=t.stop,c=K.greaterThanOrEquals(s,o)&&K.greaterThanOrEquals(r,s),u=!c&&K.lessThanOrEquals(s,o)&&K.lessThanOrEquals(o,a);if(!c&&!u)return ir.clone(ir.EMPTY,n);let f=e.isStartIncluded,d=e.isStopIncluded,p=t.isStartIncluded,g=t.isStopIncluded,m=K.lessThan(r,a);return l(n)||(n=new ir),n.start=c?s:o,n.isStartIncluded=f&&p||!K.equals(s,o)&&(c&&p||u&&f),n.stop=m?r:a,n.isStopIncluded=m?d:d&&g||!K.equals(a,r)&&g,n.data=l(i)?i(e.data,t.data):e.data,n};ir.contains=function(e,t){if(e.isEmpty)return!1;let n=K.compare(e.start,t);if(n===0)return e.isStartIncluded;let i=K.compare(t,e.stop);return i===0?e.isStopIncluded:n<0&&i<0};ir.prototype.clone=function(e){return ir.clone(this,e)};ir.prototype.equals=function(e,t){return ir.equals(this,e,t)};ir.prototype.equalsEpsilon=function(e,t,n){return ir.equalsEpsilon(this,e,t,n)};ir.prototype.toString=function(){return ir.toIso8601(this)};ir.EMPTY=Object.freeze(new ir({start:new K,stop:new K,isStartIncluded:!1,isStopIncluded:!1}));var Sn=ir;var Dne=Object.freeze(K.fromIso8601("0000-01-01T00:00:00Z")),Ine=Object.freeze(K.fromIso8601("9999-12-31T24:00:00Z")),IRe=Object.freeze(new Sn({start:Dne,stop:Ine})),PRe={MINIMUM_VALUE:Dne,MAXIMUM_VALUE:Ine,MAXIMUM_INTERVAL:IRe},ze=PRe;function AP(e,t,n){e=y(e,0),t=y(t,0),n=y(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(AP.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});AP.fromCartesian3=function(e){return new AP(e.x,e.y,e.z)};AP.toValue=function(e,t){return l(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var to=AP;function sU(e){e=y(e,!0),this.value=sU.toValue(e)}Object.defineProperties(sU.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}});sU.toValue=function(e,t){return l(t)?(t[0]=e,t):new Uint8Array([e])};var bn=sU;var EP=`in vec3 v_positionEC; in vec3 v_normalEC; in vec3 v_tangentEC; in vec3 v_bitangentEC; @@ -3904,7 +3949,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var fP=`in vec3 position3DHigh; +`;var SP=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec3 tangent; @@ -3930,7 +3975,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var dP=`in vec3 v_positionEC; +`;var vP=`in vec3 v_positionEC; in vec3 v_normalEC; void main() @@ -3953,7 +3998,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var hP=`in vec3 position3DHigh; +`;var wP=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in float batchId; @@ -3970,7 +4015,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var mP=`in vec3 v_positionEC; +`;var DP=`in vec3 v_positionEC; in vec3 v_normalEC; in vec2 v_st; @@ -3995,7 +4040,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var pP=`in vec3 position3DHigh; +`;var IP=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec2 st; @@ -4015,8 +4060,8 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var p1e={ADD:te.FUNC_ADD,SUBTRACT:te.FUNC_SUBTRACT,REVERSE_SUBTRACT:te.FUNC_REVERSE_SUBTRACT,MIN:te.MIN,MAX:te.MAX},La=Object.freeze(p1e);var _1e={ZERO:te.ZERO,ONE:te.ONE,SOURCE_COLOR:te.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:te.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:te.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:te.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:te.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:te.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:te.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:te.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:te.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:te.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:te.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:te.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:te.SRC_ALPHA_SATURATE},Ao=Object.freeze(_1e);var g1e={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:La.ADD,equationAlpha:La.ADD,functionSourceRgb:Ao.SOURCE_ALPHA,functionSourceAlpha:Ao.ONE,functionDestinationRgb:Ao.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:La.ADD,equationAlpha:La.ADD,functionSourceRgb:Ao.ONE,functionSourceAlpha:Ao.ONE,functionDestinationRgb:Ao.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:La.ADD,equationAlpha:La.ADD,functionSourceRgb:Ao.SOURCE_ALPHA,functionSourceAlpha:Ao.ONE,functionDestinationRgb:Ao.ONE,functionDestinationAlpha:Ao.ONE})},hn=Object.freeze(g1e);var y1e={FRONT:te.FRONT,BACK:te.BACK,FRONT_AND_BACK:te.FRONT_AND_BACK},bi=Object.freeze(y1e);function eA(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(eA.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});eA.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),l(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(` -`)};eA.prototype.isTranslucent=function(){return l(this.material)&&this.material.isTranslucent()||!l(this.material)&&this.translucent};eA.prototype.getRenderState=function(){let e=this.isTranslucent(),t=He(this.renderState,!1);return e?(t.depthMask=!1,t.blending=hn.ALPHA_BLEND):t.depthMask=!0,t};eA.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=hn.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:bi.BACK}),l(n)&&(i=bt(n,i,!0)),i};var ro=eA;var _P=`uniform sampler2D image; +`;var RRe={ADD:te.FUNC_ADD,SUBTRACT:te.FUNC_SUBTRACT,REVERSE_SUBTRACT:te.FUNC_REVERSE_SUBTRACT,MIN:te.MIN,MAX:te.MAX},Ma=Object.freeze(RRe);var ORe={ZERO:te.ZERO,ONE:te.ONE,SOURCE_COLOR:te.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:te.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:te.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:te.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:te.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:te.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:te.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:te.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:te.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:te.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:te.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:te.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:te.SRC_ALPHA_SATURATE},wo=Object.freeze(ORe);var MRe={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Ma.ADD,equationAlpha:Ma.ADD,functionSourceRgb:wo.SOURCE_ALPHA,functionSourceAlpha:wo.ONE,functionDestinationRgb:wo.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:wo.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Ma.ADD,equationAlpha:Ma.ADD,functionSourceRgb:wo.ONE,functionSourceAlpha:wo.ONE,functionDestinationRgb:wo.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:wo.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:Ma.ADD,equationAlpha:Ma.ADD,functionSourceRgb:wo.SOURCE_ALPHA,functionSourceAlpha:wo.ONE,functionDestinationRgb:wo.ONE,functionDestinationAlpha:wo.ONE})},dn=Object.freeze(MRe);var LRe={FRONT:te.FRONT,BACK:te.BACK,FRONT_AND_BACK:te.FRONT_AND_BACK},Ci=Object.freeze(LRe);function aA(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(aA.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});aA.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),l(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(` +`)};aA.prototype.isTranslucent=function(){return l(this.material)&&this.material.isTranslucent()||!l(this.material)&&this.translucent};aA.prototype.getRenderState=function(){let e=this.isTranslucent(),t=He(this.renderState,!1);return e?(t.depthMask=!1,t.blending=dn.ALPHA_BLEND):t.depthMask=!0,t};aA.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=dn.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:Ci.BACK}),l(n)&&(i=Ct(n,i,!0)),i};var ao=aA;var PP=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { @@ -4027,7 +4072,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var gP=`uniform sampler2D image; +`;var RP=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; @@ -4056,7 +4101,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var yP=`uniform vec4 lightColor; +`;var OP=`uniform vec4 lightColor; uniform vec4 darkColor; uniform vec2 repeat; @@ -4085,7 +4130,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var xP=`uniform vec4 lightColor; +`;var MP=`uniform vec4 lightColor; uniform vec4 darkColor; uniform vec2 repeat; @@ -4103,7 +4148,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var bP=`uniform sampler2D heights; +`;var LP=`uniform sampler2D heights; uniform sampler2D colors; // This material expects heights to be sorted from lowest to highest. @@ -4177,7 +4222,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = color.a; return material; } -`;var TP=`uniform vec4 color; +`;var NP=`uniform vec4 color; uniform float spacing; uniform float width; @@ -4203,7 +4248,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var CP=`uniform sampler2D image; +`;var FP=`uniform sampler2D image; uniform float minimumHeight; uniform float maximumHeight; @@ -4217,7 +4262,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var AP=`uniform vec4 fadeInColor; +`;var BP=`uniform vec4 fadeInColor; uniform vec4 fadeOutColor; uniform float maximumDistance; uniform bool repeat; @@ -4254,7 +4299,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var EP=`uniform vec4 color; +`;var kP=`uniform vec4 color; uniform float cellAlpha; uniform vec2 lineCount; uniform vec2 lineThickness; @@ -4311,7 +4356,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var SP=`uniform sampler2D image; +`;var VP=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; @@ -4330,7 +4375,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var vP=`uniform vec4 color; +`;var UP=`uniform vec4 color; float getPointOnLine(vec2 p0, vec2 p1, float x) { @@ -4393,7 +4438,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = outColor.a; return material; } -`;var wP=`uniform vec4 color; +`;var zP=`uniform vec4 color; uniform vec4 gapColor; uniform float dashLength; uniform float dashPattern; @@ -4432,7 +4477,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = fragColor.a; return material; } -`;var DP=`uniform vec4 color; +`;var HP=`uniform vec4 color; uniform float glowPower; uniform float taperPower; @@ -4457,7 +4502,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var IP=`uniform vec4 color; +`;var GP=`uniform vec4 color; uniform vec4 outlineColor; uniform float outlineWidth; @@ -4486,7 +4531,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var PP=`uniform vec4 color; +`;var WP=`uniform vec4 color; uniform vec4 rimColor; uniform float width; @@ -4507,7 +4552,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var RP=`uniform sampler2D image; +`;var jP=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { @@ -4518,7 +4563,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var OP=`uniform vec4 evenColor; +`;var qP=`uniform vec4 evenColor; uniform vec4 oddColor; uniform float offset; uniform float repeat; @@ -4542,7 +4587,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var MP=`uniform vec4 waterColor; +`;var YP=`uniform vec4 waterColor; uniform vec4 landColor; czm_material czm_getMaterial(czm_materialInput materialInput) @@ -4557,7 +4602,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var LP=`// Thanks for the contribution Jonas +`;var XP=`// Thanks for the contribution Jonas // http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog uniform sampler2D specularMap; @@ -4615,16 +4660,16 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;function Ge(e){this.type=void 0,this.autoDestroyOldTexture=e.autoDestroyOldTexture??!0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=y(e.minificationFilter,Jt.LINEAR),this._magnificationFilter=y(e.magnificationFilter,mi.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,x1e(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),l(Ge._uniformList[this.type])||(Ge._uniformList[this.type]=Object.keys(this._uniforms))}Ge._uniformList={};Ge.fromType=function(e,t){let n=new Ge({fabric:{type:e}});if(l(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};Ge.prototype.isTranslucent=function(){if(l(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i<n;++i){let o=t[i];if(typeof o=="function"?e=e&&o():e=e&&o,!e)break}return e};Ge.prototype.update=function(e){this._defaultTexture=e.defaultTexture;let t,n,i=this._loadedImages,o=i.length;for(t=0;t<o;++t){let c=i[t];n=c.id;let u=c.image,f;Array.isArray(u)&&(f=u.slice(1,u.length).map(function(x){return x.bufferView}),u=u[0]);let d=new en({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter}),p;l(u.internalFormat)?p=new Mt({context:e,pixelFormat:u.internalFormat,width:u.width,height:u.height,source:{arrayBufferView:u.bufferView,mipLevels:f},sampler:d}):p=new Mt({context:e,source:u,sampler:d});let g=this._textures[n];l(g)&&g!==this._defaultTexture&&g.destroy(),this._textures[n]=p;let m=`${n}Dimensions`;if(this.uniforms.hasOwnProperty(m)){let x=this.uniforms[m];x.x=p._width,x.y=p._height}}i.length=0;let r=this._loadedCubeMaps;for(o=r.length,t=0;t<o;++t){let c=r[t];n=c.id;let u=c.images,f=new Ra({context:e,source:{positiveX:u[0],negativeX:u[1],positiveY:u[2],negativeY:u[3],positiveZ:u[4],negativeZ:u[5]},sampler:new en({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[n]=f}r.length=0;let s=this._updateFunctions;for(o=s.length,t=0;t<o;++t)s[t](this,e);let a=this.materials;for(let c in a)a.hasOwnProperty(c)&&a[c].update(e)};Ge.prototype.isDestroyed=function(){return!1};Ge.prototype.destroy=function(){let e=this._textures;for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];i!==this._defaultTexture&&i.destroy()}let t=this.materials;for(let n in t)t.hasOwnProperty(n)&&t[n].destroy();return ue(this)};function x1e(e,t){e=y(e,y.EMPTY_OBJECT),t._strict=y(e.strict,!1),t._count=y(e.count,0),t._template=He(y(e.fabric,y.EMPTY_OBJECT)),t._template.uniforms=He(y(t._template.uniforms,y.EMPTY_OBJECT)),t._template.materials=He(y(t._template.materials,y.EMPTY_OBJECT)),t.type=l(t._template.type)?t._template.type:qn(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];let n,i=Ge._materialCache.getMaterial(t.type);if(l(i)){let r=He(i.fabric,!0);t._template=bt(t._template,r,!0),n=i.translucent}A1e(t),l(i)||Ge._materialCache.addMaterial(t.type,t),S1e(t),I1e(t),R1e(t);let o=t._translucentFunctions.length===0?!0:void 0;if(n=y(n,o),n=y(e.translucent,n),l(n))if(typeof n=="function"){let r=function(){return n(t)};t._translucentFunctions.push(r)}else t._translucentFunctions.push(n)}function R6(e,t,n,i){if(l(e)){for(let o in e)if(e.hasOwnProperty(o)){let r=t.indexOf(o)!==-1;(i&&!r||!i&&r)&&n(o,t)}}}function Lte(e,t){}function b1e(e,t){}var T1e=["type","materials","uniforms","components","source"],C1e=["diffuse","specular","shininess","normal","emission","alpha"];function A1e(e){let t=e._template,n=t.uniforms,i=t.materials,o=t.components;R6(t,T1e,Lte,!0),R6(o,C1e,Lte,!0);let r=[];for(let s in i)i.hasOwnProperty(s)&&r.push(s);R6(n,r,b1e,!1)}function E1e(e,t){let n=t._template.materials;for(let i in n)if(n.hasOwnProperty(i)&&e.indexOf(i)>-1)return!0;return!1}function S1e(e){let t=e._template.components,n=e._template.source;if(l(n))e.shaderSource+=`${n} +`;function Ge(e){this.type=void 0,this.autoDestroyOldTexture=e.autoDestroyOldTexture??!0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=y(e.minificationFilter,$t.LINEAR),this._magnificationFilter=y(e.magnificationFilter,pi.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,NRe(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),l(Ge._uniformList[this.type])||(Ge._uniformList[this.type]=Object.keys(this._uniforms))}Ge._uniformList={};Ge.fromType=function(e,t){let n=new Ge({fabric:{type:e}});if(l(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};Ge.prototype.isTranslucent=function(){if(l(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i<n;++i){let o=t[i];if(typeof o=="function"?e=e&&o():e=e&&o,!e)break}return e};Ge.prototype.update=function(e){this._defaultTexture=e.defaultTexture;let t,n,i=this._loadedImages,o=i.length;for(t=0;t<o;++t){let c=i[t];n=c.id;let u=c.image,f;Array.isArray(u)&&(f=u.slice(1,u.length).map(function(x){return x.bufferView}),u=u[0]);let d=new Qt({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter}),p;l(u.internalFormat)?p=new Pt({context:e,pixelFormat:u.internalFormat,width:u.width,height:u.height,source:{arrayBufferView:u.bufferView,mipLevels:f},sampler:d}):p=new Pt({context:e,source:u,sampler:d});let g=this._textures[n];l(g)&&g!==this._defaultTexture&&g.destroy(),this._textures[n]=p;let m=`${n}Dimensions`;if(this.uniforms.hasOwnProperty(m)){let x=this.uniforms[m];x.x=p._width,x.y=p._height}}i.length=0;let r=this._loadedCubeMaps;for(o=r.length,t=0;t<o;++t){let c=r[t];n=c.id;let u=c.images,f=new vr({context:e,source:{positiveX:u[0],negativeX:u[1],positiveY:u[2],negativeY:u[3],positiveZ:u[4],negativeZ:u[5]},sampler:new Qt({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[n]=f}r.length=0;let s=this._updateFunctions;for(o=s.length,t=0;t<o;++t)s[t](this,e);let a=this.materials;for(let c in a)a.hasOwnProperty(c)&&a[c].update(e)};Ge.prototype.isDestroyed=function(){return!1};Ge.prototype.destroy=function(){let e=this._textures;for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];i!==this._defaultTexture&&i.destroy()}let t=this.materials;for(let n in t)t.hasOwnProperty(n)&&t[n].destroy();return ue(this)};function NRe(e,t){e=y(e,y.EMPTY_OBJECT),t._strict=y(e.strict,!1),t._count=y(e.count,0),t._template=He(y(e.fabric,y.EMPTY_OBJECT)),t._template.uniforms=He(y(t._template.uniforms,y.EMPTY_OBJECT)),t._template.materials=He(y(t._template.materials,y.EMPTY_OBJECT)),t.type=l(t._template.type)?t._template.type:Wn(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];let n,i=Ge._materialCache.getMaterial(t.type);if(l(i)){let r=He(i.fabric,!0);t._template=Ct(t._template,r,!0),n=i.translucent}VRe(t),l(i)||Ge._materialCache.addMaterial(t.type,t),zRe(t),jRe(t),YRe(t);let o=t._translucentFunctions.length===0?!0:void 0;if(n=y(n,o),n=y(e.translucent,n),l(n))if(typeof n=="function"){let r=function(){return n(t)};t._translucentFunctions.push(r)}else t._translucentFunctions.push(n)}function r9(e,t,n,i){if(l(e)){for(let o in e)if(e.hasOwnProperty(o)){let r=t.indexOf(o)!==-1;(i&&!r||!i&&r)&&n(o,t)}}}function Pne(e,t){}function FRe(e,t){}var BRe=["type","materials","uniforms","components","source"],kRe=["diffuse","specular","shininess","normal","emission","alpha"];function VRe(e){let t=e._template,n=t.uniforms,i=t.materials,o=t.components;r9(t,BRe,Pne,!0),r9(o,kRe,Pne,!0);let r=[];for(let s in i)i.hasOwnProperty(s)&&r.push(s);r9(n,r,FRe,!1)}function URe(e,t){let n=t._template.materials;for(let i in n)if(n.hasOwnProperty(i)&&e.indexOf(i)>-1)return!0;return!1}function zRe(e){let t=e._template.components,n=e._template.source;if(l(n))e.shaderSource+=`${n} `;else{if(e.shaderSource+=`czm_material czm_getMaterial(czm_materialInput materialInput) { `,e.shaderSource+=`czm_material material = czm_getDefaultMaterial(materialInput); -`,l(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&E1e(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s}; +`,l(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&URe(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s}; `}else o==="alpha"?e.shaderSource+=`material.alpha = ${t.alpha}; `:e.shaderSource+=`material.${o} = ${t[o]}; `}e.shaderSource+=`return material; } -`}}var Nte={mat2:Ui,mat3:$,mat4:F},v1e=/\.ktx2$/i;function w1e(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!l(r)||r===Ge.DefaultImageId;t=r;let c=n._textures[e],u,f;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&l(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!l(c)||c===i.defaultTexture){let p=new en({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new Mt({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else l(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof Mt&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];l(p)&&p!==n._defaultTexture&&!p.isDestroyed()&&n.autoDestroyOldTexture&&p.destroy(),n._textures[e]=r,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=r._width,f.y=r._height);return}if(s&&l(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),l(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=c._width,f.y=c._height)),a)return;let d=r instanceof we;if(!l(n._texturePaths[e])||d&&r.url!==n._texturePaths[e].url||!d&&r!==n._texturePaths[e]){if(typeof r=="string"||d){let p=d?r:we.createIfNeeded(r),g;v1e.test(p.url)?g=bl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(m){n._loadedImages.push({id:e,image:m})}).catch(function(){l(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function D1e(e){return function(t,n){let i=t.uniforms[e];if(i instanceof Ra){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(l(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===Ge.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[we.createIfNeeded(i.positiveX).fetchImage(),we.createIfNeeded(i.negativeX).fetchImage(),we.createIfNeeded(i.positiveY).fetchImage(),we.createIfNeeded(i.negativeY).fetchImage(),we.createIfNeeded(i.positiveZ).fetchImage(),we.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function I1e(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&Fte(e,n)}function Fte(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=P1e(o),s;if(r==="channels")s=NP(e,t,o,!1);else{if(r==="sampler2D"){let u=`${t}Dimensions`;O1e(e,u)>0&&(i[u]={type:"ivec3",x:1,y:1},Fte(e,u))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let u=`uniform ${r} ${t};`;e.shaderSource=u+e.shaderSource}let c=`${t}_${e._count++}`;if(s=NP(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(w1e(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(D1e(t));else if(r.indexOf("mat")!==-1){let u=new Nte[r];e._uniforms[c]=function(){return Nte[r].fromColumnMajorArray(e.uniforms[t],u)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function P1e(e){let t=e.type;if(!l(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof we||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof Mt)/^([rgba]){1,4}$/i.test(e)?t="channels":e===Ge.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function R1e(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new Ge({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=bt(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;NP(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=NP(e,i,a)}}function NP(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,u,f){return u||f?c:(o+=1,n)}),o}function O1e(e,t,n){return NP(e,t,t,n)}Ge._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};Ge.DefaultImageId="czm_defaultImage";Ge.DefaultCubeMapId="czm_defaultCubeMap";Ge.ColorType="Color";Ge._materialCache.addMaterial(Ge.ColorType,{fabric:{type:Ge.ColorType,uniforms:{color:new H(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});Ge.ImageType="Image";Ge._materialCache.addMaterial(Ge.ImageType,{fabric:{type:Ge.ImageType,uniforms:{image:Ge.DefaultImageId,repeat:new z(1,1),color:new H(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});Ge.DiffuseMapType="DiffuseMap";Ge._materialCache.addMaterial(Ge.DiffuseMapType,{fabric:{type:Ge.DiffuseMapType,uniforms:{image:Ge.DefaultImageId,channels:"rgb",repeat:new z(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Ge.AlphaMapType="AlphaMap";Ge._materialCache.addMaterial(Ge.AlphaMapType,{fabric:{type:Ge.AlphaMapType,uniforms:{image:Ge.DefaultImageId,channel:"a",repeat:new z(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});Ge.SpecularMapType="SpecularMap";Ge._materialCache.addMaterial(Ge.SpecularMapType,{fabric:{type:Ge.SpecularMapType,uniforms:{image:Ge.DefaultImageId,channel:"r",repeat:new z(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});Ge.EmissionMapType="EmissionMap";Ge._materialCache.addMaterial(Ge.EmissionMapType,{fabric:{type:Ge.EmissionMapType,uniforms:{image:Ge.DefaultImageId,channels:"rgb",repeat:new z(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Ge.BumpMapType="BumpMap";Ge._materialCache.addMaterial(Ge.BumpMapType,{fabric:{type:Ge.BumpMapType,uniforms:{image:Ge.DefaultImageId,channel:"r",strength:.8,repeat:new z(1,1)},source:gP},translucent:!1});Ge.NormalMapType="NormalMap";Ge._materialCache.addMaterial(Ge.NormalMapType,{fabric:{type:Ge.NormalMapType,uniforms:{image:Ge.DefaultImageId,channels:"rgb",strength:.8,repeat:new z(1,1)},source:SP},translucent:!1});Ge.GridType="Grid";Ge._materialCache.addMaterial(Ge.GridType,{fabric:{type:Ge.GridType,uniforms:{color:new H(0,1,0,1),cellAlpha:.1,lineCount:new z(8,8),lineThickness:new z(1,1),lineOffset:new z(0,0)},source:EP},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});Ge.StripeType="Stripe";Ge._materialCache.addMaterial(Ge.StripeType,{fabric:{type:Ge.StripeType,uniforms:{horizontal:!0,evenColor:new H(1,1,1,.5),oddColor:new H(0,0,1,.5),offset:0,repeat:5},source:OP},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});Ge.CheckerboardType="Checkerboard";Ge._materialCache.addMaterial(Ge.CheckerboardType,{fabric:{type:Ge.CheckerboardType,uniforms:{lightColor:new H(1,1,1,.5),darkColor:new H(0,0,0,.5),repeat:new z(5,5)},source:yP},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});Ge.DotType="Dot";Ge._materialCache.addMaterial(Ge.DotType,{fabric:{type:Ge.DotType,uniforms:{lightColor:new H(1,1,0,.75),darkColor:new H(0,1,1,.75),repeat:new z(5,5)},source:xP},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});Ge.WaterType="Water";Ge._materialCache.addMaterial(Ge.WaterType,{fabric:{type:Ge.WaterType,uniforms:{baseWaterColor:new H(.2,.3,.6,1),blendColor:new H(0,1,.699,1),specularMap:Ge.DefaultImageId,normalMap:Ge.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:LP},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});Ge.RimLightingType="RimLighting";Ge._materialCache.addMaterial(Ge.RimLightingType,{fabric:{type:Ge.RimLightingType,uniforms:{color:new H(1,0,0,.7),rimColor:new H(1,1,1,.4),width:.3},source:PP},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});Ge.FadeType="Fade";Ge._materialCache.addMaterial(Ge.FadeType,{fabric:{type:Ge.FadeType,uniforms:{fadeInColor:new H(1,0,0,1),fadeOutColor:new H(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new z(.5,.5)},source:AP},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});Ge.PolylineArrowType="PolylineArrow";Ge._materialCache.addMaterial(Ge.PolylineArrowType,{fabric:{type:Ge.PolylineArrowType,uniforms:{color:new H(1,1,1,1)},source:vP},translucent:!0});Ge.PolylineDashType="PolylineDash";Ge._materialCache.addMaterial(Ge.PolylineDashType,{fabric:{type:Ge.PolylineDashType,uniforms:{color:new H(1,0,1,1),gapColor:new H(0,0,0,0),dashLength:16,dashPattern:255},source:wP},translucent:!0});Ge.PolylineGlowType="PolylineGlow";Ge._materialCache.addMaterial(Ge.PolylineGlowType,{fabric:{type:Ge.PolylineGlowType,uniforms:{color:new H(0,.5,1,1),glowPower:.25,taperPower:1},source:DP},translucent:!0});Ge.PolylineOutlineType="PolylineOutline";Ge._materialCache.addMaterial(Ge.PolylineOutlineType,{fabric:{type:Ge.PolylineOutlineType,uniforms:{color:new H(1,1,1,1),outlineColor:new H(1,0,0,1),outlineWidth:1},source:IP},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});Ge.ElevationContourType="ElevationContour";Ge._materialCache.addMaterial(Ge.ElevationContourType,{fabric:{type:Ge.ElevationContourType,uniforms:{spacing:100,color:new H(1,0,0,1),width:1},source:TP},translucent:!1});Ge.ElevationRampType="ElevationRamp";Ge._materialCache.addMaterial(Ge.ElevationRampType,{fabric:{type:Ge.ElevationRampType,uniforms:{image:Ge.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:CP},translucent:!1});Ge.SlopeRampMaterialType="SlopeRamp";Ge._materialCache.addMaterial(Ge.SlopeRampMaterialType,{fabric:{type:Ge.SlopeRampMaterialType,uniforms:{image:Ge.DefaultImageId},source:RP},translucent:!1});Ge.AspectRampMaterialType="AspectRamp";Ge._materialCache.addMaterial(Ge.AspectRampMaterialType,{fabric:{type:Ge.AspectRampMaterialType,uniforms:{image:Ge.DefaultImageId},source:_P},translucent:!1});Ge.ElevationBandType="ElevationBand";Ge._materialCache.addMaterial(Ge.ElevationBandType,{fabric:{type:Ge.ElevationBandType,uniforms:{heights:Ge.DefaultImageId,colors:Ge.DefaultImageId},source:bP},translucent:!0});Ge.WaterMaskType="WaterMask";Ge._materialCache.addMaterial(Ge.WaterMaskType,{fabric:{type:Ge.WaterMaskType,source:MP,uniforms:{waterColor:new H(1,1,1,1),landColor:new H(0,0,0,0)}},translucent:!1});var Xi=Ge;function hx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,hx.MaterialSupport.TEXTURED);this.material=l(e.material)?e.material:Xi.fromType(Xi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=ro.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(hx.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});hx.prototype.getFragmentShaderSource=ro.prototype.getFragmentShaderSource;hx.prototype.isTranslucent=ro.prototype.isTranslucent;hx.prototype.getRenderState=ro.prototype.getRenderState;hx.MaterialSupport={BASIC:Object.freeze({vertexFormat:Pe.POSITION_AND_NORMAL,vertexShaderSource:hP,fragmentShaderSource:dP}),TEXTURED:Object.freeze({vertexFormat:Pe.POSITION_NORMAL_AND_ST,vertexShaderSource:pP,fragmentShaderSource:mP}),ALL:Object.freeze({vertexFormat:Pe.ALL,vertexShaderSource:fP,fragmentShaderSource:uP})};var uo=hx;var FP=`in vec3 v_positionEC; +`}}var Rne={mat2:Oi,mat3:$,mat4:F},HRe=/\.ktx2$/i;function GRe(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!l(r)||r===Ge.DefaultImageId;t=r;let c=n._textures[e],u,f;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&l(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!l(c)||c===i.defaultTexture){let p=new Qt({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new Pt({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else l(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof Pt&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];l(p)&&p!==n._defaultTexture&&!p.isDestroyed()&&n.autoDestroyOldTexture&&p.destroy(),n._textures[e]=r,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=r._width,f.y=r._height);return}if(s&&l(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),l(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=c._width,f.y=c._height)),a)return;let d=r instanceof Ae;if(!l(n._texturePaths[e])||d&&r.url!==n._texturePaths[e].url||!d&&r!==n._texturePaths[e]){if(typeof r=="string"||d){let p=d?r:Ae.createIfNeeded(r),g;HRe.test(p.url)?g=Tl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(m){n._loadedImages.push({id:e,image:m})}).catch(function(){l(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function WRe(e){return function(t,n){let i=t.uniforms[e];if(i instanceof vr){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(l(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===Ge.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[Ae.createIfNeeded(i.positiveX).fetchImage(),Ae.createIfNeeded(i.negativeX).fetchImage(),Ae.createIfNeeded(i.positiveY).fetchImage(),Ae.createIfNeeded(i.negativeY).fetchImage(),Ae.createIfNeeded(i.positiveZ).fetchImage(),Ae.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function jRe(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&One(e,n)}function One(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=qRe(o),s;if(r==="channels")s=KP(e,t,o,!1);else{if(r==="sampler2D"){let u=`${t}Dimensions`;XRe(e,u)>0&&(i[u]={type:"ivec3",x:1,y:1},One(e,u))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let u=`uniform ${r} ${t};`;e.shaderSource=u+e.shaderSource}let c=`${t}_${e._count++}`;if(s=KP(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(GRe(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(WRe(t));else if(r.indexOf("mat")!==-1){let u=new Rne[r];e._uniforms[c]=function(){return Rne[r].fromColumnMajorArray(e.uniforms[t],u)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function qRe(e){let t=e.type;if(!l(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof Ae||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof Pt)/^([rgba]){1,4}$/i.test(e)?t="channels":e===Ge.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function YRe(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new Ge({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=Ct(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;KP(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=KP(e,i,a)}}function KP(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,u,f){return u||f?c:(o+=1,n)}),o}function XRe(e,t,n){return KP(e,t,t,n)}Ge._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};Ge.DefaultImageId="czm_defaultImage";Ge.DefaultCubeMapId="czm_defaultCubeMap";Ge.ColorType="Color";Ge._materialCache.addMaterial(Ge.ColorType,{fabric:{type:Ge.ColorType,uniforms:{color:new H(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});Ge.ImageType="Image";Ge._materialCache.addMaterial(Ge.ImageType,{fabric:{type:Ge.ImageType,uniforms:{image:Ge.DefaultImageId,repeat:new z(1,1),color:new H(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});Ge.DiffuseMapType="DiffuseMap";Ge._materialCache.addMaterial(Ge.DiffuseMapType,{fabric:{type:Ge.DiffuseMapType,uniforms:{image:Ge.DefaultImageId,channels:"rgb",repeat:new z(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Ge.AlphaMapType="AlphaMap";Ge._materialCache.addMaterial(Ge.AlphaMapType,{fabric:{type:Ge.AlphaMapType,uniforms:{image:Ge.DefaultImageId,channel:"a",repeat:new z(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});Ge.SpecularMapType="SpecularMap";Ge._materialCache.addMaterial(Ge.SpecularMapType,{fabric:{type:Ge.SpecularMapType,uniforms:{image:Ge.DefaultImageId,channel:"r",repeat:new z(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});Ge.EmissionMapType="EmissionMap";Ge._materialCache.addMaterial(Ge.EmissionMapType,{fabric:{type:Ge.EmissionMapType,uniforms:{image:Ge.DefaultImageId,channels:"rgb",repeat:new z(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});Ge.BumpMapType="BumpMap";Ge._materialCache.addMaterial(Ge.BumpMapType,{fabric:{type:Ge.BumpMapType,uniforms:{image:Ge.DefaultImageId,channel:"r",strength:.8,repeat:new z(1,1)},source:RP},translucent:!1});Ge.NormalMapType="NormalMap";Ge._materialCache.addMaterial(Ge.NormalMapType,{fabric:{type:Ge.NormalMapType,uniforms:{image:Ge.DefaultImageId,channels:"rgb",strength:.8,repeat:new z(1,1)},source:VP},translucent:!1});Ge.GridType="Grid";Ge._materialCache.addMaterial(Ge.GridType,{fabric:{type:Ge.GridType,uniforms:{color:new H(0,1,0,1),cellAlpha:.1,lineCount:new z(8,8),lineThickness:new z(1,1),lineOffset:new z(0,0)},source:kP},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});Ge.StripeType="Stripe";Ge._materialCache.addMaterial(Ge.StripeType,{fabric:{type:Ge.StripeType,uniforms:{horizontal:!0,evenColor:new H(1,1,1,.5),oddColor:new H(0,0,1,.5),offset:0,repeat:5},source:qP},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});Ge.CheckerboardType="Checkerboard";Ge._materialCache.addMaterial(Ge.CheckerboardType,{fabric:{type:Ge.CheckerboardType,uniforms:{lightColor:new H(1,1,1,.5),darkColor:new H(0,0,0,.5),repeat:new z(5,5)},source:OP},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});Ge.DotType="Dot";Ge._materialCache.addMaterial(Ge.DotType,{fabric:{type:Ge.DotType,uniforms:{lightColor:new H(1,1,0,.75),darkColor:new H(0,1,1,.75),repeat:new z(5,5)},source:MP},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});Ge.WaterType="Water";Ge._materialCache.addMaterial(Ge.WaterType,{fabric:{type:Ge.WaterType,uniforms:{baseWaterColor:new H(.2,.3,.6,1),blendColor:new H(0,1,.699,1),specularMap:Ge.DefaultImageId,normalMap:Ge.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:XP},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});Ge.RimLightingType="RimLighting";Ge._materialCache.addMaterial(Ge.RimLightingType,{fabric:{type:Ge.RimLightingType,uniforms:{color:new H(1,0,0,.7),rimColor:new H(1,1,1,.4),width:.3},source:WP},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});Ge.FadeType="Fade";Ge._materialCache.addMaterial(Ge.FadeType,{fabric:{type:Ge.FadeType,uniforms:{fadeInColor:new H(1,0,0,1),fadeOutColor:new H(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new z(.5,.5)},source:BP},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});Ge.PolylineArrowType="PolylineArrow";Ge._materialCache.addMaterial(Ge.PolylineArrowType,{fabric:{type:Ge.PolylineArrowType,uniforms:{color:new H(1,1,1,1)},source:UP},translucent:!0});Ge.PolylineDashType="PolylineDash";Ge._materialCache.addMaterial(Ge.PolylineDashType,{fabric:{type:Ge.PolylineDashType,uniforms:{color:new H(1,0,1,1),gapColor:new H(0,0,0,0),dashLength:16,dashPattern:255},source:zP},translucent:!0});Ge.PolylineGlowType="PolylineGlow";Ge._materialCache.addMaterial(Ge.PolylineGlowType,{fabric:{type:Ge.PolylineGlowType,uniforms:{color:new H(0,.5,1,1),glowPower:.25,taperPower:1},source:HP},translucent:!0});Ge.PolylineOutlineType="PolylineOutline";Ge._materialCache.addMaterial(Ge.PolylineOutlineType,{fabric:{type:Ge.PolylineOutlineType,uniforms:{color:new H(1,1,1,1),outlineColor:new H(1,0,0,1),outlineWidth:1},source:GP},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});Ge.ElevationContourType="ElevationContour";Ge._materialCache.addMaterial(Ge.ElevationContourType,{fabric:{type:Ge.ElevationContourType,uniforms:{spacing:100,color:new H(1,0,0,1),width:1},source:NP},translucent:!1});Ge.ElevationRampType="ElevationRamp";Ge._materialCache.addMaterial(Ge.ElevationRampType,{fabric:{type:Ge.ElevationRampType,uniforms:{image:Ge.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:FP},translucent:!1});Ge.SlopeRampMaterialType="SlopeRamp";Ge._materialCache.addMaterial(Ge.SlopeRampMaterialType,{fabric:{type:Ge.SlopeRampMaterialType,uniforms:{image:Ge.DefaultImageId},source:jP},translucent:!1});Ge.AspectRampMaterialType="AspectRamp";Ge._materialCache.addMaterial(Ge.AspectRampMaterialType,{fabric:{type:Ge.AspectRampMaterialType,uniforms:{image:Ge.DefaultImageId},source:PP},translucent:!1});Ge.ElevationBandType="ElevationBand";Ge._materialCache.addMaterial(Ge.ElevationBandType,{fabric:{type:Ge.ElevationBandType,uniforms:{heights:Ge.DefaultImageId,colors:Ge.DefaultImageId},source:LP},translucent:!0});Ge.WaterMaskType="WaterMask";Ge._materialCache.addMaterial(Ge.WaterMaskType,{fabric:{type:Ge.WaterMaskType,source:YP,uniforms:{waterColor:new H(1,1,1,1),landColor:new H(0,0,0,0)}},translucent:!1});var Yi=Ge;function vx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,vx.MaterialSupport.TEXTURED);this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=ao.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(vx.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});vx.prototype.getFragmentShaderSource=ao.prototype.getFragmentShaderSource;vx.prototype.isTranslucent=ao.prototype.isTranslucent;vx.prototype.getRenderState=ao.prototype.getRenderState;vx.MaterialSupport={BASIC:Object.freeze({vertexFormat:Ie.POSITION_AND_NORMAL,vertexShaderSource:wP,fragmentShaderSource:vP}),TEXTURED:Object.freeze({vertexFormat:Ie.POSITION_NORMAL_AND_ST,vertexShaderSource:IP,fragmentShaderSource:DP}),ALL:Object.freeze({vertexFormat:Ie.ALL,vertexShaderSource:SP,fragmentShaderSource:EP})};var mo=vx;var ZP=`in vec3 v_positionEC; in vec3 v_normalEC; in vec4 v_color; @@ -4648,7 +4693,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); } -`;var BP=`in vec3 position3DHigh; +`;var $P=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec4 color; @@ -4668,13 +4713,13 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var mx=`in vec4 v_color; +`;var wx=`in vec4 v_color; void main() { out_FragColor = czm_gammaCorrect(v_color); } -`;var kP=`in vec3 position3DHigh; +`;var QP=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 color; in float batchId; @@ -4689,7 +4734,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;function vp(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?kP:BP,r=i?mx:FP,s=i?vp.FLAT_VERTEX_FORMAT:vp.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=ro.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(vp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});vp.VERTEX_FORMAT=Pe.POSITION_AND_NORMAL;vp.FLAT_VERTEX_FORMAT=Pe.POSITION_ONLY;vp.prototype.getFragmentShaderSource=ro.prototype.getFragmentShaderSource;vp.prototype.isTranslucent=ro.prototype.isTranslucent;vp.prototype.getRenderState=ro.prototype.getRenderState;var fn=vp;function tA(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(tA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});tA.prototype.getType=function(e){return"Color"};var M1e=new K;tA.prototype.getValue=function(e,t){return l(e)||(e=K.now(M1e)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,H.WHITE,t.color),t};tA.prototype.equals=function(e){return this===e||e instanceof tA&&q.equals(this._color,e._color)};var Ut=tA;function Vg(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._rectangle=y(e.rectangle,se.MAX_VALUE),this._projection=new Ii(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(Vg.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});Vg.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};Vg.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};Vg.prototype.rectangleToNativeRectangle=function(e,t){let n=P.toDegrees(e.west),i=P.toDegrees(e.south),o=P.toDegrees(e.east),r=P.toDegrees(e.north);return l(t)?(t.west=n,t.south=i,t.east=o,t.north=r,t):new se(n,i,o,r)};Vg.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.tileXYToRectangle(e,t,n,i);return o.west=P.toDegrees(o.west),o.south=P.toDegrees(o.south),o.east=P.toDegrees(o.east),o.north=P.toDegrees(o.north),o};Vg.prototype.tileXYToRectangle=function(e,t,n,i){let o=this._rectangle,r=this.getNumberOfXTilesAtLevel(n),s=this.getNumberOfYTilesAtLevel(n),a=o.width/r,c=e*a+o.west,u=(e+1)*a+o.west,f=o.height/s,d=o.north-t*f,p=o.north-(t+1)*f;return l(i)||(i=new se(c,p,u,d)),i.west=c,i.south=p,i.east=u,i.north=d,i};Vg.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!se.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),s=i.width/o,a=i.height/r,c=e.longitude;i.east<i.west&&(c+=P.TWO_PI);let u=(c-i.west)/s|0;u>=o&&(u=o-1);let f=(i.north-e.latitude)/a|0;return f>=r&&(f=r-1),l(n)?(n.x=u,n.y=f,n):new z(u,f)};var Ki=Vg;var Bte=new h,kte=new h,Vte=new fe,O6=new h,L1e=new h,Ute=new ae,N1e=new Ki,VP=[new fe,new fe,new fe,new fe],UP=new z,Kr={};Kr.initialize=function(){let e=Kr._initPromise;return l(e)||(e=we.fetchJson(rn("Assets/approximateTerrainHeights.json")).then(function(t){Kr._terrainHeights=t}),Kr._initPromise=e),e};Kr.getMinimumMaximumHeights=function(e,t){t=y(t,ee.default);let n=zte(e),i=Kr._defaultMinTerrainHeight,o=Kr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Kr._terrainHeights[r];l(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(se.northeast(e,Vte),Bte),t.cartographicToCartesian(se.southwest(e,Vte),kte),h.midpoint(kte,Bte,O6);let a=t.scaleToGeodeticSurface(O6,L1e);if(l(a)){let c=h.distance(O6,a);i=Math.min(i,-c)}else i=Kr._defaultMinTerrainHeight}return i=Math.max(Kr._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};Kr.getBoundingSphere=function(e,t){t=y(t,ee.default);let n=zte(e),i=Kr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Kr._terrainHeights[r];l(s)&&(i=s[1])}let o=ae.fromRectangle3D(e,t,0);return ae.fromRectangle3D(e,t,i,Ute),ae.union(o,Ute,o)};function zte(e){fe.fromRadians(e.east,e.north,0,VP[0]),fe.fromRadians(e.west,e.north,0,VP[1]),fe.fromRadians(e.east,e.south,0,VP[2]),fe.fromRadians(e.west,e.south,0,VP[3]);let t=0,n=0,i=0,o=0,r=Kr._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let u=VP[c];if(N1e.positionToTileXY(u,s,UP),c===0)i=UP.x,o=UP.y;else if(i!==UP.x||o!==UP.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}Kr._terrainHeightsMaxLevel=6;Kr._defaultMaxTerrainHeight=9e3;Kr._defaultMinTerrainHeight=-1e5;Kr._terrainHeights=void 0;Kr._initPromise=void 0;Object.defineProperties(Kr,{initialized:{get:function(){return l(Kr._terrainHeights)}}});var fi=Kr;function Fc(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),l(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}Fc.fromCorners=function(e,t,n){return l(n)||(n=new Fc),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};Fc.fromPoints=function(e,t){if(l(t)||(t=new Fc),!l(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let d=1;d<c;d++){let p=e[d],g=p.x,m=p.y,x=p.z;n=Math.min(g,n),r=Math.max(g,r),i=Math.min(m,i),s=Math.max(m,s),o=Math.min(x,o),a=Math.max(x,a)}let u=t.minimum;u.x=n,u.y=i,u.z=o;let f=t.maximum;return f.x=r,f.y=s,f.z=a,t.center=h.midpoint(u,f,t.center),t};Fc.clone=function(e,t){if(l(e))return l(t)?(t.minimum=h.clone(e.minimum,t.minimum),t.maximum=h.clone(e.maximum,t.maximum),t.center=h.clone(e.center,t.center),t):new Fc(e.minimum,e.maximum,e.center)};Fc.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&h.equals(e.minimum,t.minimum)&&h.equals(e.maximum,t.maximum)};var GV=new h;Fc.intersectPlane=function(e,t){GV=h.subtract(e.maximum,e.minimum,GV);let n=h.multiplyByScalar(GV,.5,GV),i=t.normal,o=n.x*Math.abs(i.x)+n.y*Math.abs(i.y)+n.z*Math.abs(i.z),r=h.dot(e.center,i)+t.distance;return r-o>0?jt.INSIDE:r+o<0?jt.OUTSIDE:jt.INTERSECTING};Fc.prototype.clone=function(e){return Fc.clone(this,e)};Fc.prototype.intersectPlane=function(e){return Fc.intersectPlane(this,e)};Fc.prototype.equals=function(e){return Fc.equals(this,e)};var Ug=Fc;var M6={};M6.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function Hte(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}M6.computeRealRoots=function(e,t,n){let i;if(e===0)return t===0?[]:[-n/t];if(t===0){if(n===0)return[0,0];let c=Math.abs(n),u=Math.abs(e);if(c<u&&c/u<P.EPSILON14)return[0,0];if(c>u&&u/c<P.EPSILON14)return[];if(i=-n/e,i<0)return[];let f=Math.sqrt(i);return[-f,f]}else if(n===0)return i=-t/e,i<0?[i,0]:[0,i];let o=t*t,r=4*e*n,s=Hte(o,-r,P.EPSILON14);if(s<0)return[];let a=-.5*Hte(t,P.sign(t)*Math.sqrt(s),P.EPSILON14);return t>0?[a/e,n/a]:[n/a,a/e]};var Bc=M6;var N6={};N6.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function L6(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,u=r*a,f=r*r,d=s*s,p=o*s-f,g=o*a-r*s,m=r*a-d,x=4*p*m-g*g,b,T;if(x<0){let Y,W,Q;f*u>=c*d?(Y=o,W=p,Q=-2*r*p+o*g):(Y=a,W=m,Q=-a*g+2*s*m);let Z=-(Q<0?-1:1)*Math.abs(Y)*Math.sqrt(-x);T=-Q+Z;let J=T/2,he=J<0?-Math.pow(-J,1/3):Math.pow(J,1/3),xe=T===Z?-he:-W/he;return b=W<=0?he+xe:-Q/(he*he+xe*xe+W),f*u>=c*d?[(b-r)/o]:[-a/(b+s)]}let A=p,C=-2*r*p+o*g,E=m,v=-a*g+2*s*m,D=Math.sqrt(x),O=Math.sqrt(3)/2,R=Math.abs(Math.atan2(o*D,-C)/3);b=2*Math.sqrt(-A);let M=Math.cos(R);T=b*M;let N=b*(-M/2-O*Math.sin(R)),_=T+N>2*r?T-r:N-r,S=o,w=_/S;R=Math.abs(Math.atan2(a*D,-v)/3),b=2*Math.sqrt(-E),M=Math.cos(R),T=b*M,N=b*(-M/2-O*Math.sin(R));let I=-a,L=T+N<2*s?T+s:N+s,B=I/L,U=S*L,V=-_*L-S*I,G=_*I,k=(s*V-r*G)/(-r*V+s*U);return w<=k?w<=B?k<=B?[w,k,B]:[w,B,k]:[B,w,k]:w<=B?[k,w,B]:k<=B?[k,B,w]:[B,k,w]}N6.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return Bc.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=Bc.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return L6(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):L6(e,t,0,i);if(i===0)return o=Bc.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return L6(e,t,n,i)};var px=N6;var F6={};F6.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,u=n*n,f=u*n,d=i*i,p=d*i,g=o*o,m=g*o;return a*u*d-4*c*p-4*e*f*d+18*e*t*n*p-27*r*d*d+256*s*m+o*(18*c*n*i-4*a*f+16*e*u*u-80*e*t*u*i-6*e*a*d+144*r*n*d)+g*(144*e*a*n-27*a*a-128*r*u-192*r*t*i)};function vd(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=px.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let u=-e/4,f=c[c.length-1];if(Math.abs(f)<P.EPSILON14){let d=Bc.computeRealRoots(1,r,a);if(d.length===2){let p=d[0],g=d[1],m;if(p>=0&&g>=0){let x=Math.sqrt(p),b=Math.sqrt(g);return[u-b,u-x,u+x,u+b]}else{if(p>=0&&g<0)return m=Math.sqrt(p),[u-m,u+m];if(p<0&&g>=0)return m=Math.sqrt(g),[u-m,u+m]}}return[]}else if(f>0){let d=Math.sqrt(f),p=(r+f-s/d)/2,g=(r+f+s/d)/2,m=Bc.computeRealRoots(1,d,p),x=Bc.computeRealRoots(1,-d,g);return m.length!==0?(m[0]+=u,m[1]+=u,x.length!==0?(x[0]+=u,x[1]+=u,m[1]<=x[0]?[m[0],m[1],x[0],x[1]]:x[1]<=m[0]?[x[0],x[1],m[0],m[1]]:m[0]>=x[0]&&m[1]<=x[1]?[x[0],m[0],m[1],x[1]]:x[0]>=m[0]&&x[1]<=m[1]?[m[0],x[0],x[1],m[1]]:m[0]>x[0]&&m[0]<x[1]?[x[0],m[0],x[1],m[1]]:[m[0],x[0],m[1],x[1]]):m):x.length!==0?(x[0]+=u,x[1]+=u,x):[]}}return[]}function zP(e,t,n,i){let o=n*n,r=t*t,s=e*e,a=-2*t,c=n*e+r-4*i,u=s*i-n*t*e+o,f=px.computeRealRoots(1,a,c,u);if(f.length>0){let d=f[0],p=t-d,g=p*p,m=e/2,x=p/2,b=g-4*i,T=g+4*Math.abs(i),A=s-4*d,C=s+4*Math.abs(d),E,v;if(d<0||b*C<A*T){let S=Math.sqrt(A);E=S/2,v=S===0?0:(e*x-n)/S}else{let S=Math.sqrt(b);E=S===0?0:(e*x-n)/S,v=S/2}let D,O;m===0&&E===0?(D=0,O=0):P.sign(m)===P.sign(E)?(D=m+E,O=d/D):(O=m-E,D=d/O);let R,M;x===0&&v===0?(R=0,M=0):P.sign(x)===P.sign(v)?(R=x+v,M=i/R):(M=x-v,R=i/M);let N=Bc.computeRealRoots(1,D,R),_=Bc.computeRealRoots(1,O,M);if(N.length!==0)return _.length!==0?N[1]<=_[0]?[N[0],N[1],_[0],_[1]]:_[1]<=N[0]?[_[0],_[1],N[0],N[1]]:N[0]>=_[0]&&N[1]<=_[1]?[_[0],N[0],N[1],_[1]]:_[0]>=N[0]&&_[1]<=N[1]?[N[0],_[0],_[1],N[1]]:N[0]>_[0]&&N[0]<_[1]?[_[0],N[0],_[1],N[1]]:[N[0],_[0],N[1],_[1]]:N;if(_.length!==0)return _}return[]}F6.computeRealRoots=function(e,t,n,i,o){if(Math.abs(e)<P.EPSILON15)return px.computeRealRoots(t,n,i,o);let r=t/e,s=n/e,a=i/e,c=o/e,u=r<0?1:0;switch(u+=s<0?u+1:u,u+=a<0?u+1:u,u+=c<0?u+1:u,u){case 0:return vd(r,s,a,c);case 1:return zP(r,s,a,c);case 2:return zP(r,s,a,c);case 3:return vd(r,s,a,c);case 4:return vd(r,s,a,c);case 5:return zP(r,s,a,c);case 6:return vd(r,s,a,c);case 7:return vd(r,s,a,c);case 8:return zP(r,s,a,c);case 9:return vd(r,s,a,c);case 10:return vd(r,s,a,c);case 11:return zP(r,s,a,c);case 12:return vd(r,s,a,c);case 13:return vd(r,s,a,c);case 14:return vd(r,s,a,c);case 15:return vd(r,s,a,c);default:return}};var HP=F6;function WV(e,t){t=h.clone(y(t,h.ZERO)),h.equals(t,h.ZERO)||h.normalize(t,t),this.origin=h.clone(y(e,h.ZERO)),this.direction=t}WV.clone=function(e,t){if(l(e))return l(t)?(t.origin=h.clone(e.origin),t.direction=h.clone(e.direction),t):new WV(e.origin,e.direction)};WV.getPoint=function(e,t,n){return l(n)||(n=new h),n=h.multiplyByScalar(e.direction,t,n),h.add(e.origin,n,n)};var gn=WV;var Uo={};Uo.rayPlane=function(e,t,n){l(n)||(n=new h);let i=e.origin,o=e.direction,r=t.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON15)return;let a=(-t.distance-h.dot(r,i))/s;if(!(a<0))return n=h.multiplyByScalar(o,a,n),h.add(i,n,n)};var F1e=new h,B1e=new h,Zte=new h,Gte=new h,Wte=new h;Uo.rayTriangleParametric=function(e,t,n,i,o){o=y(o,!1);let r=e.origin,s=e.direction,a=h.subtract(n,t,F1e),c=h.subtract(i,t,B1e),u=h.cross(s,c,Zte),f=h.dot(a,u),d,p,g,m,x;if(o){if(f<P.EPSILON6||(d=h.subtract(r,t,Gte),g=h.dot(d,u),g<0||g>f)||(p=h.cross(d,a,Wte),m=h.dot(s,p),m<0||g+m>f))return;x=h.dot(c,p)/f}else{if(Math.abs(f)<P.EPSILON6)return;let b=1/f;if(d=h.subtract(r,t,Gte),g=h.dot(d,u)*b,g<0||g>1||(p=h.cross(d,a,Wte),m=h.dot(s,p)*b,m<0||g+m>1))return;x=h.dot(c,p)*b}return x};Uo.rayTriangle=function(e,t,n,i,o,r){let s=Uo.rayTriangleParametric(e,t,n,i,o);if(!(!l(s)||s<0))return l(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var k1e=new gn;Uo.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=k1e;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=Uo.rayTriangleParametric(a,n,i,o,r);if(!(!l(c)||c<0||c>h.distance(e,t)))return l(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function V1e(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,u=(-t-a)*s;return c<u?(i.root0=c,i.root1=u):(i.root0=u,i.root1=c),i}let r=-t/(2*e);if(r!==0)return i.root0=i.root1=r,i}var U1e={root0:0,root1:0};function $te(e,t,n){l(n)||(n=new Ma);let i=e.origin,o=e.direction,r=t.center,s=t.radius*t.radius,a=h.subtract(i,r,Zte),c=h.dot(o,o),u=2*h.dot(o,a),f=h.magnitudeSquared(a)-s,d=V1e(c,u,f,U1e);if(l(d))return n.start=d.root0,n.stop=d.root1,n}Uo.raySphere=function(e,t,n){if(n=$te(e,t,n),!(!l(n)||n.stop<0))return n.start=Math.max(n.start,0),n};var z1e=new gn;Uo.lineSegmentSphere=function(e,t,n,i){let o=z1e;h.clone(e,o.origin);let r=h.subtract(t,e,o.direction),s=h.magnitude(r);if(h.normalize(r,r),i=$te(o,n,i),!(!l(i)||i.stop<0||i.start>s))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var H1e=new h,G1e=new h;Uo.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,H1e),o=h.multiplyComponents(n,e.direction,G1e),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,u,f,d;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),u=c*a,p<u)return;if(p>u){f=s*s-u,d=-s+Math.sqrt(f);let m=d/c,x=a/d;return m<x?new Ma(m,x):{start:x,stop:m}}let g=Math.sqrt(a/c);return new Ma(g,g)}else if(r<1)return a=r-1,c=h.magnitudeSquared(o),u=c*a,f=s*s-u,d=-s+Math.sqrt(f),new Ma(0,d/c);if(s<0)return c=h.magnitudeSquared(o),new Ma(0,-s/c)};function _x(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}Uo.quadraticVectorExpression=function(e,t,n,i,o){let r=i*i,s=o*o,a=(e[$.COLUMN1ROW1]-e[$.COLUMN2ROW2])*s,c=o*(i*_x(e[$.COLUMN1ROW0],e[$.COLUMN0ROW1],P.EPSILON15)+t.y),u=e[$.COLUMN0ROW0]*r+e[$.COLUMN2ROW2]*s+i*t.x+n,f=s*_x(e[$.COLUMN2ROW1],e[$.COLUMN1ROW2],P.EPSILON15),d=o*(i*_x(e[$.COLUMN2ROW0],e[$.COLUMN0ROW2])+t.z),p,g=[];if(d===0&&f===0){if(p=Bc.computeRealRoots(a,c,u),p.length===0)return g;let R=p[0],M=Math.sqrt(Math.max(1-R*R,0));if(g.push(new h(i,o*R,o*-M)),g.push(new h(i,o*R,o*M)),p.length===2){let N=p[1],_=Math.sqrt(Math.max(1-N*N,0));g.push(new h(i,o*N,o*-_)),g.push(new h(i,o*N,o*_))}return g}let m=d*d,x=f*f,b=a*a,T=d*f,A=b+x,C=2*(c*a+T),E=2*u*a+c*c-x+m,v=2*(u*c-T),D=u*u-m;if(A===0&&C===0&&E===0&&v===0)return g;p=HP.computeRealRoots(A,C,E,v,D);let O=p.length;if(O===0)return g;for(let R=0;R<O;++R){let M=p[R],N=M*M,_=Math.max(1-N,0),S=Math.sqrt(_),w;P.sign(a)===P.sign(u)?w=_x(a*N+u,c*M,P.EPSILON12):P.sign(u)===P.sign(c*M)?w=_x(a*N,c*M+u,P.EPSILON12):w=_x(a*N+c*M,u,P.EPSILON12);let I=_x(f*M,d,P.EPSILON15),L=w*I;L<0?g.push(new h(i,o*M,o*S)):L>0?g.push(new h(i,o*M,o*-S)):S!==0?(g.push(new h(i,o*M,o*-S)),g.push(new h(i,o*M,o*S)),++R):g.push(new h(i,o*M,o*S))}return g};var B6=new h,jte=new h,qte=new h,jV=new h,W1e=new h,j1e=new $,q1e=new $,Y1e=new $,X1e=new $,K1e=new $,Yte=new $,Xte=new $,Kte=new h,Z1e=new h,$1e=new fe;Uo.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let D=t.geodeticSurfaceNormal(n,B6);if(h.dot(i,D)>=0)return n}let o=l(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,B6),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,jV),c=h.normalize(h.cross(a,s,jte),jte),u=h.normalize(h.cross(s,c,qte),qte),f=j1e;f[0]=s.x,f[1]=s.y,f[2]=s.z,f[3]=c.x,f[4]=c.y,f[5]=c.z,f[6]=u.x,f[7]=u.y,f[8]=u.z;let d=$.transpose(f,q1e),p=$.fromScale(t.radii,Y1e),g=$.fromScale(t.oneOverRadii,X1e),m=K1e;m[0]=0,m[1]=-i.z,m[2]=i.y,m[3]=i.z,m[4]=0,m[5]=-i.x,m[6]=-i.y,m[7]=i.x,m[8]=0;let x=$.multiply($.multiply(d,g,Yte),m,Yte),b=$.multiply($.multiply(x,p,Xte),f,Xte),T=$.multiplyByVector(x,n,W1e),A=Uo.quadraticVectorExpression(b,h.negate(T,B6),0,0,1),C,E,v=A.length;if(v>0){let D=h.clone(h.ZERO,Z1e),O=Number.NEGATIVE_INFINITY;for(let M=0;M<v;++M){C=$.multiplyByVector(p,$.multiplyByVector(f,A[M],Kte),Kte);let N=h.normalize(h.subtract(C,n,jV),jV),_=h.dot(N,i);_>O&&(O=_,D=h.clone(C,D))}let R=t.cartesianToCartographic(D,$1e);return O=P.clamp(O,0,1),E=h.magnitude(h.subtract(D,n,jV))*Math.sqrt(1-O*O),E=o?-E:E,R.height=E,t.cartographicToCartesian(R,new h)}};var Q1e=new h;Uo.lineSegmentPlane=function(e,t,n,i){l(i)||(i=new h);let o=h.subtract(t,e,Q1e),r=n.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON6)return;let a=h.dot(r,e),c=-(n.distance+a)/s;if(!(c<0||c>1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};Uo.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,u=0;u+=s?1:0,u+=a?1:0,u+=c?1:0;let f,d;if((u===1||u===2)&&(f=new h,d=new h),u===1){if(s)return Uo.lineSegmentPlane(e,t,i,f),Uo.lineSegmentPlane(e,n,i,d),{positions:[e,t,n,f,d],indices:[0,3,4,1,2,4,1,4,3]};if(a)return Uo.lineSegmentPlane(t,n,i,f),Uo.lineSegmentPlane(t,e,i,d),{positions:[e,t,n,f,d],indices:[1,3,4,2,0,4,2,4,3]};if(c)return Uo.lineSegmentPlane(n,e,i,f),Uo.lineSegmentPlane(n,t,i,d),{positions:[e,t,n,f,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(u===2)if(s)if(a){if(!c)return Uo.lineSegmentPlane(e,n,i,f),Uo.lineSegmentPlane(t,n,i,d),{positions:[e,t,n,f,d],indices:[0,1,4,0,4,3,2,3,4]}}else return Uo.lineSegmentPlane(n,t,i,f),Uo.lineSegmentPlane(e,t,i,d),{positions:[e,t,n,f,d],indices:[2,0,4,2,4,3,1,3,4]};else return Uo.lineSegmentPlane(t,e,i,f),Uo.lineSegmentPlane(n,e,i,d),{positions:[e,t,n,f,d],indices:[1,2,4,1,4,3,0,3,4]}};var ni=Uo;var k6=new oe;function nm(e,t){t=y(t,ee.default),e=t.scaleToGeodeticSurface(e);let n=Lt.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(F.getColumn(n,0,k6)),this._yAxis=h.fromCartesian4(F.getColumn(n,1,k6));let i=h.fromCartesian4(F.getColumn(n,2,k6));this._plane=ln.fromPointNormal(e,i)}Object.defineProperties(nm.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var J1e=new Ug;nm.fromPoints=function(e,t){let n=Ug.fromPoints(e,J1e);return new nm(n.center,t)};var Qte=new gn,qV=new h;nm.prototype.projectPointOntoPlane=function(e,t){let n=Qte;n.origin=e,h.normalize(e,n.direction);let i=ni.rayPlane(n,this._plane,qV);if(l(i)||(h.negate(n.direction,n.direction),i=ni.rayPlane(n,this._plane,qV)),l(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return l(t)?(t.x=r,t.y=s,t):new z(r,s)}};nm.prototype.projectPointsOntoPlane=function(e,t){l(t)||(t=[]);let n=0,i=e.length;for(let o=0;o<i;o++){let r=this.projectPointOntoPlane(e[o],t[n]);l(r)&&(t[n]=r,n++)}return t.length=n,t};nm.prototype.projectPointToNearestOnPlane=function(e,t){l(t)||(t=new z);let n=Qte;n.origin=e,h.clone(this._plane.normal,n.direction);let i=ni.rayPlane(n,this._plane,qV);l(i)||(h.negate(n.direction,n.direction),i=ni.rayPlane(n,this._plane,qV));let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return t.x=r,t.y=s,t};nm.prototype.projectPointsToNearestOnPlane=function(e,t){l(t)||(t=[]);let n=e.length;t.length=n;for(let i=0;i<n;i++)t[i]=this.projectPointToNearestOnPlane(e[i],t[i]);return t};var eRe=new h;nm.prototype.projectPointOntoEllipsoid=function(e,t){l(t)||(t=new h);let n=this._ellipsoid,i=this._origin,o=this._xAxis,r=this._yAxis,s=eRe;return h.multiplyByScalar(o,e.x,s),t=h.add(i,s,t),h.multiplyByScalar(r,e.y,s),h.add(t,s,t),n.scaleToGeocentricSurface(t,t),t};nm.prototype.projectPointsOntoEllipsoid=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.projectPointOntoEllipsoid(e[i],t[i]);return t};var Zr=nm;function zi(e,t){this.center=h.clone(y(e,h.ZERO)),this.halfAxes=$.clone(y(t,$.ZERO))}zi.packedLength=h.packedLength+$.packedLength;zi.pack=function(e,t,n){return n=y(n,0),h.pack(e.center,t,n),$.pack(e.halfAxes,t,n+h.packedLength),t};zi.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new zi),h.unpack(e,t,n.center),$.unpack(e,t+h.packedLength,n.halfAxes),n};var tRe=new h,nRe=new h,iRe=new h,oRe=new h,rRe=new h,sRe=new h,aRe=new $,cRe={unitary:new $,diagonal:new $};zi.fromPoints=function(e,t){if(l(t)||(t=new zi),!l(e)||e.length===0)return t.halfAxes=$.ZERO,t.center=h.ZERO,t;let n,i=e.length,o=h.clone(e[0],tRe);for(n=1;n<i;n++)h.add(o,e[n],o);let r=1/i;h.multiplyByScalar(o,r,o);let s=0,a=0,c=0,u=0,f=0,d=0,p;for(n=0;n<i;n++)p=h.subtract(e[n],o,nRe),s+=p.x*p.x,a+=p.x*p.y,c+=p.x*p.z,u+=p.y*p.y,f+=p.y*p.z,d+=p.z*p.z;s*=r,a*=r,c*=r,u*=r,f*=r,d*=r;let g=aRe;g[0]=s,g[1]=a,g[2]=c,g[3]=a,g[4]=u,g[5]=f,g[6]=c,g[7]=f,g[8]=d;let m=$.computeEigenDecomposition(g,cRe),x=$.clone(m.unitary,t.halfAxes),b=$.getColumn(x,0,oRe),T=$.getColumn(x,1,rRe),A=$.getColumn(x,2,sRe),C=-Number.MAX_VALUE,E=-Number.MAX_VALUE,v=-Number.MAX_VALUE,D=Number.MAX_VALUE,O=Number.MAX_VALUE,R=Number.MAX_VALUE;for(n=0;n<i;n++)p=e[n],C=Math.max(h.dot(b,p),C),E=Math.max(h.dot(T,p),E),v=Math.max(h.dot(A,p),v),D=Math.min(h.dot(b,p),D),O=Math.min(h.dot(T,p),O),R=Math.min(h.dot(A,p),R);b=h.multiplyByScalar(b,.5*(D+C),b),T=h.multiplyByScalar(T,.5*(O+E),T),A=h.multiplyByScalar(A,.5*(R+v),A);let M=h.add(b,T,t.center);h.add(M,A,M);let N=iRe;return N.x=C-D,N.y=E-O,N.z=v-R,h.multiplyByScalar(N,.5,N),$.multiplyByScale(t.halfAxes,N,t.halfAxes),t};var one=new h,lRe=new h;function Jte(e,t,n,i,o,r,s,a,c,u,f){l(f)||(f=new zi);let d=f.halfAxes;$.setColumn(d,0,t,d),$.setColumn(d,1,n,d),$.setColumn(d,2,i,d);let p=one;p.x=(o+r)/2,p.y=(s+a)/2,p.z=(c+u)/2;let g=lRe;g.x=(r-o)/2,g.y=(a-s)/2,g.z=(u-c)/2;let m=f.center;return p=$.multiplyByVector(d,p,p),h.add(e,p,m),$.multiplyByScale(d,g,d),f}var ene=new fe,uRe=new h,fRe=new fe,dRe=new fe,hRe=new fe,mRe=new fe,pRe=new fe,_Re=new h,tne=new h,gRe=new h,nne=new h,yRe=new h,xRe=new z,bRe=new z,TRe=new z,CRe=new z,ARe=new z,ERe=new h,SRe=new h,vRe=new h,wRe=new h,DRe=new z,IRe=new h,PRe=new h,RRe=new h,ORe=new ln(h.UNIT_X,0);zi.fromRectangle=function(e,t,n,i,o){t=y(t,0),n=y(n,0),i=y(i,ee.default);let r,s,a,c,u,f,d;if(e.width<=P.PI){let O=se.center(e,ene),R=i.cartographicToCartesian(O,uRe),M=new Zr(R,i);d=M.plane;let N=O.longitude,_=e.south<0&&e.north>0?0:O.latitude,S=fe.fromRadians(N,e.north,n,fRe),w=fe.fromRadians(e.west,e.north,n,dRe),I=fe.fromRadians(e.west,_,n,hRe),L=fe.fromRadians(e.west,e.south,n,mRe),B=fe.fromRadians(N,e.south,n,pRe),U=i.cartographicToCartesian(S,_Re),V=i.cartographicToCartesian(w,tne),G=i.cartographicToCartesian(I,gRe),k=i.cartographicToCartesian(L,nne),Y=i.cartographicToCartesian(B,yRe),W=M.projectPointToNearestOnPlane(U,xRe),Q=M.projectPointToNearestOnPlane(V,bRe),j=M.projectPointToNearestOnPlane(G,TRe),Z=M.projectPointToNearestOnPlane(k,CRe),J=M.projectPointToNearestOnPlane(Y,ARe);return r=Math.min(Q.x,j.x,Z.x),s=-r,c=Math.max(Q.y,W.y),a=Math.min(Z.y,J.y),w.height=L.height=t,V=i.cartographicToCartesian(w,tne),k=i.cartographicToCartesian(L,nne),u=Math.min(ln.getPointDistance(d,V),ln.getPointDistance(d,k)),f=n,Jte(M.origin,M.xAxis,M.yAxis,M.zAxis,r,s,a,c,u,f,o)}let p=e.south>0,g=e.north<0,m=p?e.south:g?e.north:0,x=se.center(e,ene).longitude,b=h.fromRadians(x,m,n,i,ERe);b.z=0;let A=Math.abs(b.x)<P.EPSILON10&&Math.abs(b.y)<P.EPSILON10?h.UNIT_X:h.normalize(b,SRe),C=h.UNIT_Z,E=h.cross(A,C,vRe);d=ln.fromPointNormal(b,A,ORe);let v=h.fromRadians(x+P.PI_OVER_TWO,m,n,i,wRe);s=h.dot(ln.projectPointOntoPlane(d,v,DRe),E),r=-s,c=h.fromRadians(0,e.north,g?t:n,i,IRe).z,a=h.fromRadians(0,e.south,p?t:n,i,PRe).z;let D=h.fromRadians(e.east,m,n,i,RRe);return u=ln.getPointDistance(d,D),f=0,Jte(b,E,C,A,r,s,a,c,u,f,o)};zi.fromTransformation=function(e,t){return l(t)||(t=new zi),t.center=F.getTranslation(e,t.center),t.halfAxes=F.getMatrix3(e,t.halfAxes),t.halfAxes=$.multiplyByScalar(t.halfAxes,.5,t.halfAxes),t};zi.clone=function(e,t){if(l(e))return l(t)?(h.clone(e.center,t.center),$.clone(e.halfAxes,t.halfAxes),t):new zi(e.center,e.halfAxes)};zi.intersectPlane=function(e,t){let n=e.center,i=t.normal,o=e.halfAxes,r=i.x,s=i.y,a=i.z,c=Math.abs(r*o[$.COLUMN0ROW0]+s*o[$.COLUMN0ROW1]+a*o[$.COLUMN0ROW2])+Math.abs(r*o[$.COLUMN1ROW0]+s*o[$.COLUMN1ROW1]+a*o[$.COLUMN1ROW2])+Math.abs(r*o[$.COLUMN2ROW0]+s*o[$.COLUMN2ROW1]+a*o[$.COLUMN2ROW2]),u=h.dot(i,n)+t.distance;return u<=-c?jt.OUTSIDE:u>=c?jt.INSIDE:jt.INTERSECTING};var rne=new h,sne=new h,ane=new h,MRe=new h,ine=new h,LRe=new h;zi.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,one),i=e.halfAxes,o=$.getColumn(i,0,rne),r=$.getColumn(i,1,sne),s=$.getColumn(i,2,ane),a=h.magnitude(o),c=h.magnitude(r),u=h.magnitude(s),f=!0,d=!0,p=!0;a>0?h.divideByScalar(o,a,o):f=!1,c>0?h.divideByScalar(r,c,r):d=!1,u>0?h.divideByScalar(s,u,s):p=!1;let g=!f+!d+!p,m,x,b;if(g===1){let E=o;m=r,x=s,d?p||(E=s,x=o):(E=r,m=o),b=h.cross(m,x,ine),E===o?o=b:E===r?r=b:E===s&&(s=b)}else if(g===2){m=o,d?m=r:p&&(m=s);let E=h.UNIT_Y;E.equalsEpsilon(m,P.EPSILON3)&&(E=h.UNIT_X),x=h.cross(m,E,MRe),h.normalize(x,x),b=h.cross(m,x,ine),h.normalize(b,b),m===o?(r=x,s=b):m===r?(s=x,o=b):m===s&&(o=x,r=b)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let T=LRe;T.x=h.dot(n,o),T.y=h.dot(n,r),T.z=h.dot(n,s);let A=0,C;return T.x<-a?(C=T.x+a,A+=C*C):T.x>a&&(C=T.x-a,A+=C*C),T.y<-c?(C=T.y+c,A+=C*C):T.y>c&&(C=T.y-c,A+=C*C),T.z<-u?(C=T.z+u,A+=C*C):T.z>u&&(C=T.z-u,A+=C*C),A};var NRe=new h,FRe=new h;zi.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Ma);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=$.getColumn(a,0,rne),u=$.getColumn(a,1,sne),f=$.getColumn(a,2,ane),d=h.add(c,u,NRe);h.add(d,f,d),h.add(d,s,d);let p=h.subtract(d,t,FRe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var BRe=new h,kRe=new h,VRe=new h;zi.computeCorners=function(e,t){l(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=$.getColumn(i,0,BRe),r=$.getColumn(i,1,kRe),s=$.getColumn(i,2,VRe);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var URe=new $;zi.computeTransformation=function(e,t){l(t)||(t=new F);let n=e.center,i=$.multiplyByUniformScale(e.halfAxes,2,URe);return F.fromRotationTranslation(i,n,t)};var zRe=new ae;zi.isOccluded=function(e,t){let n=ae.fromOrientedBoundingBox(e,zRe);return!t.isBoundingSphereVisible(n)};zi.prototype.intersectPlane=function(e){return zi.intersectPlane(this,e)};zi.prototype.distanceSquaredTo=function(e){return zi.distanceSquaredTo(this,e)};zi.prototype.computePlaneDistances=function(e,t,n){return zi.computePlaneDistances(this,e,t,n)};zi.prototype.computeCorners=function(e){return zi.computeCorners(this,e)};zi.prototype.computeTransformation=function(e){return zi.computeTransformation(this,e)};zi.prototype.isOccluded=function(e){return zi.isOccluded(this,e)};zi.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&$.equals(e.halfAxes,t.halfAxes)};zi.prototype.clone=function(e){return zi.clone(this,e)};zi.prototype.equals=function(e){return zi.equals(this,e)};var In=zi;var YV={};YV.getHeight=function(e,t,n){return(e-n)*t+n};var HRe=new fe;YV.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,HRe);if(!l(r))return h.clone(e,o);let s=YV.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var Cr=YV;var GP=`in vec3 position3DHigh; +`;function Ip(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?QP:$P,r=i?wx:ZP,s=i?Ip.FLAT_VERTEX_FORMAT:Ip.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=ao.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(Ip.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});Ip.VERTEX_FORMAT=Ie.POSITION_AND_NORMAL;Ip.FLAT_VERTEX_FORMAT=Ie.POSITION_ONLY;Ip.prototype.getFragmentShaderSource=ao.prototype.getFragmentShaderSource;Ip.prototype.isTranslucent=ao.prototype.isTranslucent;Ip.prototype.getRenderState=ao.prototype.getRenderState;var fn=Ip;function cA(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(cA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});cA.prototype.getType=function(e){return"Color"};var KRe=new K;cA.prototype.getValue=function(e,t){return l(e)||(e=K.now(KRe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,H.WHITE,t.color),t};cA.prototype.equals=function(e){return this===e||e instanceof cA&&q.equals(this._color,e._color)};var Ht=cA;function qg(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._rectangle=y(e.rectangle,ae.MAX_VALUE),this._projection=new Ri(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(qg.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});qg.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};qg.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};qg.prototype.rectangleToNativeRectangle=function(e,t){let n=P.toDegrees(e.west),i=P.toDegrees(e.south),o=P.toDegrees(e.east),r=P.toDegrees(e.north);return l(t)?(t.west=n,t.south=i,t.east=o,t.north=r,t):new ae(n,i,o,r)};qg.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.tileXYToRectangle(e,t,n,i);return o.west=P.toDegrees(o.west),o.south=P.toDegrees(o.south),o.east=P.toDegrees(o.east),o.north=P.toDegrees(o.north),o};qg.prototype.tileXYToRectangle=function(e,t,n,i){let o=this._rectangle,r=this.getNumberOfXTilesAtLevel(n),s=this.getNumberOfYTilesAtLevel(n),a=o.width/r,c=e*a+o.west,u=(e+1)*a+o.west,f=o.height/s,d=o.north-t*f,p=o.north-(t+1)*f;return l(i)||(i=new ae(c,p,u,d)),i.west=c,i.south=p,i.east=u,i.north=d,i};qg.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ae.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),s=i.width/o,a=i.height/r,c=e.longitude;i.east<i.west&&(c+=P.TWO_PI);let u=(c-i.west)/s|0;u>=o&&(u=o-1);let f=(i.north-e.latitude)/a|0;return f>=r&&(f=r-1),l(n)?(n.x=u,n.y=f,n):new z(u,f)};var Xi=qg;var Mne=new h,Lne=new h,Nne=new fe,s9=new h,ZRe=new h,Fne=new ce,$Re=new Xi,JP=[new fe,new fe,new fe,new fe],e1=new z,ts={};ts.initialize=function(){let e=ts._initPromise;return l(e)||(e=Ae.fetchJson(sn("Assets/approximateTerrainHeights.json")).then(function(t){ts._terrainHeights=t}),ts._initPromise=e),e};ts.getMinimumMaximumHeights=function(e,t){t=y(t,ee.default);let n=Bne(e),i=ts._defaultMinTerrainHeight,o=ts._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=ts._terrainHeights[r];l(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(ae.northeast(e,Nne),Mne),t.cartographicToCartesian(ae.southwest(e,Nne),Lne),h.midpoint(Lne,Mne,s9);let a=t.scaleToGeodeticSurface(s9,ZRe);if(l(a)){let c=h.distance(s9,a);i=Math.min(i,-c)}else i=ts._defaultMinTerrainHeight}return i=Math.max(ts._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};ts.getBoundingSphere=function(e,t){t=y(t,ee.default);let n=Bne(e),i=ts._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=ts._terrainHeights[r];l(s)&&(i=s[1])}let o=ce.fromRectangle3D(e,t,0);return ce.fromRectangle3D(e,t,i,Fne),ce.union(o,Fne,o)};function Bne(e){fe.fromRadians(e.east,e.north,0,JP[0]),fe.fromRadians(e.west,e.north,0,JP[1]),fe.fromRadians(e.east,e.south,0,JP[2]),fe.fromRadians(e.west,e.south,0,JP[3]);let t=0,n=0,i=0,o=0,r=ts._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let u=JP[c];if($Re.positionToTileXY(u,s,e1),c===0)i=e1.x,o=e1.y;else if(i!==e1.x||o!==e1.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}ts._terrainHeightsMaxLevel=6;ts._defaultMaxTerrainHeight=9e3;ts._defaultMinTerrainHeight=-1e5;ts._terrainHeights=void 0;ts._initPromise=void 0;Object.defineProperties(ts,{initialized:{get:function(){return l(ts._terrainHeights)}}});var fi=ts;function zc(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),l(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}zc.fromCorners=function(e,t,n){return l(n)||(n=new zc),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};zc.fromPoints=function(e,t){if(l(t)||(t=new zc),!l(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let d=1;d<c;d++){let p=e[d],g=p.x,m=p.y,x=p.z;n=Math.min(g,n),r=Math.max(g,r),i=Math.min(m,i),s=Math.max(m,s),o=Math.min(x,o),a=Math.max(x,a)}let u=t.minimum;u.x=n,u.y=i,u.z=o;let f=t.maximum;return f.x=r,f.y=s,f.z=a,t.center=h.midpoint(u,f,t.center),t};zc.clone=function(e,t){if(l(e))return l(t)?(t.minimum=h.clone(e.minimum,t.minimum),t.maximum=h.clone(e.maximum,t.maximum),t.center=h.clone(e.center,t.center),t):new zc(e.minimum,e.maximum,e.center)};zc.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&h.equals(e.minimum,t.minimum)&&h.equals(e.maximum,t.maximum)};var aU=new h;zc.intersectPlane=function(e,t){aU=h.subtract(e.maximum,e.minimum,aU);let n=h.multiplyByScalar(aU,.5,aU),i=t.normal,o=n.x*Math.abs(i.x)+n.y*Math.abs(i.y)+n.z*Math.abs(i.z),r=h.dot(e.center,i)+t.distance;return r-o>0?qt.INSIDE:r+o<0?qt.OUTSIDE:qt.INTERSECTING};zc.prototype.clone=function(e){return zc.clone(this,e)};zc.prototype.intersectPlane=function(e){return zc.intersectPlane(this,e)};zc.prototype.equals=function(e){return zc.equals(this,e)};var Yg=zc;var a9=new ie;function rm(e,t){t=y(t,ee.default),e=t.scaleToGeodeticSurface(e);let n=Lt.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(F.getColumn(n,0,a9)),this._yAxis=h.fromCartesian4(F.getColumn(n,1,a9));let i=h.fromCartesian4(F.getColumn(n,2,a9));this._plane=un.fromPointNormal(e,i)}Object.defineProperties(rm.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var QRe=new Yg;rm.fromPoints=function(e,t){let n=Yg.fromPoints(e,QRe);return new rm(n.center,t)};var kne=new yn,cU=new h;rm.prototype.projectPointOntoPlane=function(e,t){let n=kne;n.origin=e,h.normalize(e,n.direction);let i=ei.rayPlane(n,this._plane,cU);if(l(i)||(h.negate(n.direction,n.direction),i=ei.rayPlane(n,this._plane,cU)),l(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return l(t)?(t.x=r,t.y=s,t):new z(r,s)}};rm.prototype.projectPointsOntoPlane=function(e,t){l(t)||(t=[]);let n=0,i=e.length;for(let o=0;o<i;o++){let r=this.projectPointOntoPlane(e[o],t[n]);l(r)&&(t[n]=r,n++)}return t.length=n,t};rm.prototype.projectPointToNearestOnPlane=function(e,t){l(t)||(t=new z);let n=kne;n.origin=e,h.clone(this._plane.normal,n.direction);let i=ei.rayPlane(n,this._plane,cU);l(i)||(h.negate(n.direction,n.direction),i=ei.rayPlane(n,this._plane,cU));let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return t.x=r,t.y=s,t};rm.prototype.projectPointsToNearestOnPlane=function(e,t){l(t)||(t=[]);let n=e.length;t.length=n;for(let i=0;i<n;i++)t[i]=this.projectPointToNearestOnPlane(e[i],t[i]);return t};var JRe=new h;rm.prototype.projectPointOntoEllipsoid=function(e,t){l(t)||(t=new h);let n=this._ellipsoid,i=this._origin,o=this._xAxis,r=this._yAxis,s=JRe;return h.multiplyByScalar(o,e.x,s),t=h.add(i,s,t),h.multiplyByScalar(r,e.y,s),h.add(t,s,t),n.scaleToGeocentricSurface(t,t),t};rm.prototype.projectPointsOntoEllipsoid=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.projectPointOntoEllipsoid(e[i],t[i]);return t};var ns=rm;function Ui(e,t){this.center=h.clone(y(e,h.ZERO)),this.halfAxes=$.clone(y(t,$.ZERO))}Ui.packedLength=h.packedLength+$.packedLength;Ui.pack=function(e,t,n){return n=y(n,0),h.pack(e.center,t,n),$.pack(e.halfAxes,t,n+h.packedLength),t};Ui.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ui),h.unpack(e,t,n.center),$.unpack(e,t+h.packedLength,n.halfAxes),n};var eOe=new h,tOe=new h,nOe=new h,iOe=new h,oOe=new h,rOe=new h,sOe=new $,aOe={unitary:new $,diagonal:new $};Ui.fromPoints=function(e,t){if(l(t)||(t=new Ui),!l(e)||e.length===0)return t.halfAxes=$.ZERO,t.center=h.ZERO,t;let n,i=e.length,o=h.clone(e[0],eOe);for(n=1;n<i;n++)h.add(o,e[n],o);let r=1/i;h.multiplyByScalar(o,r,o);let s=0,a=0,c=0,u=0,f=0,d=0,p;for(n=0;n<i;n++)p=h.subtract(e[n],o,tOe),s+=p.x*p.x,a+=p.x*p.y,c+=p.x*p.z,u+=p.y*p.y,f+=p.y*p.z,d+=p.z*p.z;s*=r,a*=r,c*=r,u*=r,f*=r,d*=r;let g=sOe;g[0]=s,g[1]=a,g[2]=c,g[3]=a,g[4]=u,g[5]=f,g[6]=c,g[7]=f,g[8]=d;let m=$.computeEigenDecomposition(g,aOe),x=$.clone(m.unitary,t.halfAxes),b=$.getColumn(x,0,iOe),T=$.getColumn(x,1,oOe),A=$.getColumn(x,2,rOe),C=-Number.MAX_VALUE,E=-Number.MAX_VALUE,v=-Number.MAX_VALUE,D=Number.MAX_VALUE,O=Number.MAX_VALUE,R=Number.MAX_VALUE;for(n=0;n<i;n++)p=e[n],C=Math.max(h.dot(b,p),C),E=Math.max(h.dot(T,p),E),v=Math.max(h.dot(A,p),v),D=Math.min(h.dot(b,p),D),O=Math.min(h.dot(T,p),O),R=Math.min(h.dot(A,p),R);b=h.multiplyByScalar(b,.5*(D+C),b),T=h.multiplyByScalar(T,.5*(O+E),T),A=h.multiplyByScalar(A,.5*(R+v),A);let M=h.add(b,T,t.center);h.add(M,A,M);let N=nOe;return N.x=C-D,N.y=E-O,N.z=v-R,h.multiplyByScalar(N,.5,N),$.multiplyByScale(t.halfAxes,N,t.halfAxes),t};var Wne=new h,cOe=new h;function Vne(e,t,n,i,o,r,s,a,c,u,f){l(f)||(f=new Ui);let d=f.halfAxes;$.setColumn(d,0,t,d),$.setColumn(d,1,n,d),$.setColumn(d,2,i,d);let p=Wne;p.x=(o+r)/2,p.y=(s+a)/2,p.z=(c+u)/2;let g=cOe;g.x=(r-o)/2,g.y=(a-s)/2,g.z=(u-c)/2;let m=f.center;return p=$.multiplyByVector(d,p,p),h.add(e,p,m),$.multiplyByScale(d,g,d),f}var Une=new fe,lOe=new h,uOe=new fe,fOe=new fe,dOe=new fe,hOe=new fe,mOe=new fe,pOe=new h,zne=new h,_Oe=new h,Hne=new h,gOe=new h,yOe=new z,xOe=new z,bOe=new z,TOe=new z,COe=new z,AOe=new h,EOe=new h,SOe=new h,vOe=new h,wOe=new z,DOe=new h,IOe=new h,POe=new h,ROe=new un(h.UNIT_X,0);Ui.fromRectangle=function(e,t,n,i,o){t=y(t,0),n=y(n,0),i=y(i,ee.default);let r,s,a,c,u,f,d;if(e.width<=P.PI){let O=ae.center(e,Une),R=i.cartographicToCartesian(O,lOe),M=new ns(R,i);d=M.plane;let N=O.longitude,_=e.south<0&&e.north>0?0:O.latitude,S=fe.fromRadians(N,e.north,n,uOe),w=fe.fromRadians(e.west,e.north,n,fOe),I=fe.fromRadians(e.west,_,n,dOe),L=fe.fromRadians(e.west,e.south,n,hOe),B=fe.fromRadians(N,e.south,n,mOe),U=i.cartographicToCartesian(S,pOe),V=i.cartographicToCartesian(w,zne),G=i.cartographicToCartesian(I,_Oe),k=i.cartographicToCartesian(L,Hne),W=i.cartographicToCartesian(B,gOe),Y=M.projectPointToNearestOnPlane(U,yOe),Q=M.projectPointToNearestOnPlane(V,xOe),j=M.projectPointToNearestOnPlane(G,bOe),Z=M.projectPointToNearestOnPlane(k,TOe),J=M.projectPointToNearestOnPlane(W,COe);return r=Math.min(Q.x,j.x,Z.x),s=-r,c=Math.max(Q.y,Y.y),a=Math.min(Z.y,J.y),w.height=L.height=t,V=i.cartographicToCartesian(w,zne),k=i.cartographicToCartesian(L,Hne),u=Math.min(un.getPointDistance(d,V),un.getPointDistance(d,k)),f=n,Vne(M.origin,M.xAxis,M.yAxis,M.zAxis,r,s,a,c,u,f,o)}let p=e.south>0,g=e.north<0,m=p?e.south:g?e.north:0,x=ae.center(e,Une).longitude,b=h.fromRadians(x,m,n,i,AOe);b.z=0;let A=Math.abs(b.x)<P.EPSILON10&&Math.abs(b.y)<P.EPSILON10?h.UNIT_X:h.normalize(b,EOe),C=h.UNIT_Z,E=h.cross(A,C,SOe);d=un.fromPointNormal(b,A,ROe);let v=h.fromRadians(x+P.PI_OVER_TWO,m,n,i,vOe);s=h.dot(un.projectPointOntoPlane(d,v,wOe),E),r=-s,c=h.fromRadians(0,e.north,g?t:n,i,DOe).z,a=h.fromRadians(0,e.south,p?t:n,i,IOe).z;let D=h.fromRadians(e.east,m,n,i,POe);return u=un.getPointDistance(d,D),f=0,Vne(b,E,C,A,r,s,a,c,u,f,o)};Ui.fromTransformation=function(e,t){return l(t)||(t=new Ui),t.center=F.getTranslation(e,t.center),t.halfAxes=F.getMatrix3(e,t.halfAxes),t.halfAxes=$.multiplyByScalar(t.halfAxes,.5,t.halfAxes),t};Ui.clone=function(e,t){if(l(e))return l(t)?(h.clone(e.center,t.center),$.clone(e.halfAxes,t.halfAxes),t):new Ui(e.center,e.halfAxes)};Ui.intersectPlane=function(e,t){let n=e.center,i=t.normal,o=e.halfAxes,r=i.x,s=i.y,a=i.z,c=Math.abs(r*o[$.COLUMN0ROW0]+s*o[$.COLUMN0ROW1]+a*o[$.COLUMN0ROW2])+Math.abs(r*o[$.COLUMN1ROW0]+s*o[$.COLUMN1ROW1]+a*o[$.COLUMN1ROW2])+Math.abs(r*o[$.COLUMN2ROW0]+s*o[$.COLUMN2ROW1]+a*o[$.COLUMN2ROW2]),u=h.dot(i,n)+t.distance;return u<=-c?qt.OUTSIDE:u>=c?qt.INSIDE:qt.INTERSECTING};var jne=new h,qne=new h,Yne=new h,OOe=new h,Gne=new h,MOe=new h;Ui.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,Wne),i=e.halfAxes,o=$.getColumn(i,0,jne),r=$.getColumn(i,1,qne),s=$.getColumn(i,2,Yne),a=h.magnitude(o),c=h.magnitude(r),u=h.magnitude(s),f=!0,d=!0,p=!0;a>0?h.divideByScalar(o,a,o):f=!1,c>0?h.divideByScalar(r,c,r):d=!1,u>0?h.divideByScalar(s,u,s):p=!1;let g=!f+!d+!p,m,x,b;if(g===1){let E=o;m=r,x=s,d?p||(E=s,x=o):(E=r,m=o),b=h.cross(m,x,Gne),E===o?o=b:E===r?r=b:E===s&&(s=b)}else if(g===2){m=o,d?m=r:p&&(m=s);let E=h.UNIT_Y;E.equalsEpsilon(m,P.EPSILON3)&&(E=h.UNIT_X),x=h.cross(m,E,OOe),h.normalize(x,x),b=h.cross(m,x,Gne),h.normalize(b,b),m===o?(r=x,s=b):m===r?(s=x,o=b):m===s&&(o=x,r=b)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let T=MOe;T.x=h.dot(n,o),T.y=h.dot(n,r),T.z=h.dot(n,s);let A=0,C;return T.x<-a?(C=T.x+a,A+=C*C):T.x>a&&(C=T.x-a,A+=C*C),T.y<-c?(C=T.y+c,A+=C*C):T.y>c&&(C=T.y-c,A+=C*C),T.z<-u?(C=T.z+u,A+=C*C):T.z>u&&(C=T.z-u,A+=C*C),A};var LOe=new h,NOe=new h;Ui.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Pa);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=$.getColumn(a,0,jne),u=$.getColumn(a,1,qne),f=$.getColumn(a,2,Yne),d=h.add(c,u,LOe);h.add(d,f,d),h.add(d,s,d);let p=h.subtract(d,t,NOe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var FOe=new h,BOe=new h,kOe=new h;Ui.computeCorners=function(e,t){l(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=$.getColumn(i,0,FOe),r=$.getColumn(i,1,BOe),s=$.getColumn(i,2,kOe);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var VOe=new $;Ui.computeTransformation=function(e,t){l(t)||(t=new F);let n=e.center,i=$.multiplyByUniformScale(e.halfAxes,2,VOe);return F.fromRotationTranslation(i,n,t)};var UOe=new ce;Ui.isOccluded=function(e,t){let n=ce.fromOrientedBoundingBox(e,UOe);return!t.isBoundingSphereVisible(n)};Ui.prototype.intersectPlane=function(e){return Ui.intersectPlane(this,e)};Ui.prototype.distanceSquaredTo=function(e){return Ui.distanceSquaredTo(this,e)};Ui.prototype.computePlaneDistances=function(e,t,n){return Ui.computePlaneDistances(this,e,t,n)};Ui.prototype.computeCorners=function(e){return Ui.computeCorners(this,e)};Ui.prototype.computeTransformation=function(e){return Ui.computeTransformation(this,e)};Ui.prototype.isOccluded=function(e){return Ui.isOccluded(this,e)};Ui.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&$.equals(e.halfAxes,t.halfAxes)};Ui.prototype.clone=function(e){return Ui.clone(this,e)};Ui.prototype.equals=function(e){return Ui.equals(this,e)};var Dn=Ui;var lU={};lU.getHeight=function(e,t,n){return(e-n)*t+n};var zOe=new fe;lU.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,zOe);if(!l(r))return h.clone(e,o);let s=lU.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var Dr=lU;var t1=`in vec3 position3DHigh; in vec3 position3DLow; in float batchId; @@ -4790,7 +4835,7 @@ void main() gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position); } -`;var zg=`#ifdef VECTOR_TILE +`;var Xg=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif @@ -4803,7 +4848,7 @@ void main(void) #endif czm_writeDepthClamp(); } -`;var cne={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};cne.NUMBER_OF_CLASSIFICATION_TYPES=3;var Hn=Object.freeze(cne);var GRe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},sc=Object.freeze(GRe);function WRe(e,t){let n=[],i=e.length,o=0;for(;o<i;){let r=Math.ceil((i-o)/t--);n.push(e.slice(o,o+r)),o+=r}return n}var WP=WRe;function wp(e,t,n){if(this._attributes=t,this._numberOfInstances=n,t.length===0)return;let i=jRe(t),o=e.floatingPointTexture,r=i===Je.FLOAT&&!o,s=qRe(t,r),a=YRe(s,t,r),c=Math.floor(kt.maximumTextureSize/a),u=Math.min(n,c),f=a*u,d=Math.ceil(n/u),p=1/f,g=p*.5,m=1/d,x=m*.5;this._textureDimensions=new z(f,d),this._textureStep=new oe(p,g,m,x),this._pixelDatatype=r?Je.UNSIGNED_BYTE:i,this._packFloats=r,this._offsets=s,this._stride=a,this._texture=void 0;let b=4*f*d;this._batchValues=i===Je.FLOAT&&!r?new Float32Array(b):new Uint8Array(b),this._batchValuesDirty=!1}Object.defineProperties(wp.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});function jRe(e){let t=!1,n=e.length;for(let i=0;i<n;++i)if(e[i].componentDatatype!==X.UNSIGNED_BYTE){t=!0;break}return t?Je.FLOAT:Je.UNSIGNED_BYTE}function une(e,t){let n=e[t].componentsPerAttribute;return n===2?z:n===3?h:n===4?oe:Number}function qRe(e,t){let n=new Array(e.length),i=0,o=e.length;for(let r=0;r<o;++r){let a=e[r].componentDatatype;n[r]=i,a!==X.UNSIGNED_BYTE&&t?i+=4:++i}return n}function YRe(e,t,n){let i=e.length,o=e[i-1];return t[i-1].componentDatatype!==X.UNSIGNED_BYTE&&n?o+4:o+1}var jP=new oe;function XRe(e,t,n){let i=oe.unpack(e,t,jP),o=oe.unpackFloat(i);i=oe.unpack(e,t+4,jP);let r=oe.unpackFloat(i);i=oe.unpack(e,t+8,jP);let s=oe.unpackFloat(i);i=oe.unpack(e,t+12,jP);let a=oe.unpackFloat(i);return oe.fromElements(o,r,s,a,n)}function KRe(e,t,n){let i=oe.packFloat(e.x,jP);oe.pack(i,t,n),i=oe.packFloat(e.y,i),oe.pack(i,t,n+4),i=oe.packFloat(e.z,i),oe.pack(i,t,n+8),i=oe.packFloat(e.w,i),oe.pack(i,t,n+12)}var lne=new oe;wp.prototype.getBatchedAttribute=function(e,t,n){let i=this._attributes,o=this._offsets[t],s=4*this._stride*e+4*o,a;this._packFloats&&i[t].componentDatatype!==Je.UNSIGNED_BYTE?a=XRe(this._batchValues,s,lne):a=oe.unpack(this._batchValues,s,lne);let c=une(i,t);return l(c.fromCartesian4)?c.fromCartesian4(a,n):l(c.clone)?c.clone(a,n):a.x};var ZRe=[void 0,void 0,new z,new h,new oe],$Re=new oe;wp.prototype.setBatchedAttribute=function(e,t,n){let i=this._attributes,o=ZRe[i[t].componentsPerAttribute],r=this.getBatchedAttribute(e,t,o),s=une(this._attributes,t);if(l(s.equals)?s.equals(r,n):r===n)return;let c=$Re;c.x=l(n.x)?n.x:n,c.y=l(n.y)?n.y:0,c.z=l(n.z)?n.z:0,c.w=l(n.w)?n.w:0;let u=this._offsets[t],d=4*this._stride*e+4*u;this._packFloats&&i[t].componentDatatype!==Je.UNSIGNED_BYTE?KRe(c,this._batchValues,d):oe.pack(c,this._batchValues,d),this._batchValuesDirty=!0};function QRe(e,t){let n=e._textureDimensions;e._texture=new Mt({context:t,pixelFormat:ot.RGBA,pixelDatatype:e._pixelDatatype,width:n.x,height:n.y,sampler:en.NEAREST,flipY:!1})}function JRe(e){let t=e._textureDimensions;e._texture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}wp.prototype.update=function(e){l(this._texture)&&!this._batchValuesDirty||this._attributes.length===0||(this._batchValuesDirty=!1,l(this._texture)||QRe(this,e.context),JRe(this))};wp.prototype.getUniformMapCallback=function(){let e=this;return function(t){return e._attributes.length===0?t:bt(t,{batchTexture:function(){return e._texture},batchTextureDimensions:function(){return e._textureDimensions},batchTextureStep:function(){return e._textureStep}})}};function eOe(e){let t=e._stride;return e._textureDimensions.y===1?`uniform vec4 batchTextureStep; +`;var Xne={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};Xne.NUMBER_OF_CLASSIFICATION_TYPES=3;var zn=Object.freeze(Xne);var HOe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},sc=Object.freeze(HOe);function GOe(e,t){let n=[],i=e.length,o=0;for(;o<i;){let r=Math.ceil((i-o)/t--);n.push(e.slice(o,o+r)),o+=r}return n}var n1=GOe;function Pp(e,t,n){if(this._attributes=t,this._numberOfInstances=n,t.length===0)return;let i=WOe(t),o=e.floatingPointTexture,r=i===Ye.FLOAT&&!o,s=jOe(t,r),a=qOe(s,t,r),c=Math.floor(Ft.maximumTextureSize/a),u=Math.min(n,c),f=a*u,d=Math.ceil(n/u),p=1/f,g=p*.5,m=1/d,x=m*.5;this._textureDimensions=new z(f,d),this._textureStep=new ie(p,g,m,x),this._pixelDatatype=r?Ye.UNSIGNED_BYTE:i,this._packFloats=r,this._offsets=s,this._stride=a,this._texture=void 0;let b=4*f*d;this._batchValues=i===Ye.FLOAT&&!r?new Float32Array(b):new Uint8Array(b),this._batchValuesDirty=!1}Object.defineProperties(Pp.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});function WOe(e){let t=!1,n=e.length;for(let i=0;i<n;++i)if(e[i].componentDatatype!==X.UNSIGNED_BYTE){t=!0;break}return t?Ye.FLOAT:Ye.UNSIGNED_BYTE}function Zne(e,t){let n=e[t].componentsPerAttribute;return n===2?z:n===3?h:n===4?ie:Number}function jOe(e,t){let n=new Array(e.length),i=0,o=e.length;for(let r=0;r<o;++r){let a=e[r].componentDatatype;n[r]=i,a!==X.UNSIGNED_BYTE&&t?i+=4:++i}return n}function qOe(e,t,n){let i=e.length,o=e[i-1];return t[i-1].componentDatatype!==X.UNSIGNED_BYTE&&n?o+4:o+1}var i1=new ie;function YOe(e,t,n){let i=ie.unpack(e,t,i1),o=ie.unpackFloat(i);i=ie.unpack(e,t+4,i1);let r=ie.unpackFloat(i);i=ie.unpack(e,t+8,i1);let s=ie.unpackFloat(i);i=ie.unpack(e,t+12,i1);let a=ie.unpackFloat(i);return ie.fromElements(o,r,s,a,n)}function XOe(e,t,n){let i=ie.packFloat(e.x,i1);ie.pack(i,t,n),i=ie.packFloat(e.y,i),ie.pack(i,t,n+4),i=ie.packFloat(e.z,i),ie.pack(i,t,n+8),i=ie.packFloat(e.w,i),ie.pack(i,t,n+12)}var Kne=new ie;Pp.prototype.getBatchedAttribute=function(e,t,n){let i=this._attributes,o=this._offsets[t],s=4*this._stride*e+4*o,a;this._packFloats&&i[t].componentDatatype!==Ye.UNSIGNED_BYTE?a=YOe(this._batchValues,s,Kne):a=ie.unpack(this._batchValues,s,Kne);let c=Zne(i,t);return l(c.fromCartesian4)?c.fromCartesian4(a,n):l(c.clone)?c.clone(a,n):a.x};var KOe=[void 0,void 0,new z,new h,new ie],ZOe=new ie;Pp.prototype.setBatchedAttribute=function(e,t,n){let i=this._attributes,o=KOe[i[t].componentsPerAttribute],r=this.getBatchedAttribute(e,t,o),s=Zne(this._attributes,t);if(l(s.equals)?s.equals(r,n):r===n)return;let c=ZOe;c.x=l(n.x)?n.x:n,c.y=l(n.y)?n.y:0,c.z=l(n.z)?n.z:0,c.w=l(n.w)?n.w:0;let u=this._offsets[t],d=4*this._stride*e+4*u;this._packFloats&&i[t].componentDatatype!==Ye.UNSIGNED_BYTE?XOe(c,this._batchValues,d):ie.pack(c,this._batchValues,d),this._batchValuesDirty=!0};function $Oe(e,t){let n=e._textureDimensions;e._texture=new Pt({context:t,pixelFormat:nt.RGBA,pixelDatatype:e._pixelDatatype,width:n.x,height:n.y,sampler:Qt.NEAREST,flipY:!1})}function QOe(e){let t=e._textureDimensions;e._texture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}Pp.prototype.update=function(e){l(this._texture)&&!this._batchValuesDirty||this._attributes.length===0||(this._batchValuesDirty=!1,l(this._texture)||$Oe(this,e.context),QOe(this))};Pp.prototype.getUniformMapCallback=function(){let e=this;return function(t){return e._attributes.length===0?t:Ct(t,{batchTexture:function(){return e._texture},batchTextureDimensions:function(){return e._textureDimensions},batchTextureStep:function(){return e._textureStep}})}};function JOe(e){let t=e._stride;return e._textureDimensions.y===1?`uniform vec4 batchTextureStep; vec2 computeSt(float batchId) { float stepX = batchTextureStep.x; @@ -4824,26 +4869,26 @@ vec2 computeSt(float batchId) float yId = floor(batchId * numberOfAttributes / batchTextureDimensions.x); return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); } -`}function tOe(e){return e===1?"float":`vec${e}`}function nOe(e){return e===1?".x":e===2?".xy":e===3?".xyz":""}function iOe(e,t){let i=e._attributes[t],o=i.componentsPerAttribute,r=i.functionName,s=tOe(o),a=nOe(o),c=e._offsets[t],u=`${s} ${r}(float batchId) +`}function eMe(e){return e===1?"float":`vec${e}`}function tMe(e){return e===1?".x":e===2?".xy":e===3?".xyz":""}function nMe(e,t){let i=e._attributes[t],o=i.componentsPerAttribute,r=i.functionName,s=eMe(o),a=tMe(o),c=e._offsets[t],u=`${s} ${r}(float batchId) { vec2 st = computeSt(batchId); st.x += batchTextureStep.x * float(${c}); -`;return e._packFloats&&i.componentDatatype!==Je.UNSIGNED_BYTE?u+=`vec4 textureValue; +`;return e._packFloats&&i.componentDatatype!==Ye.UNSIGNED_BYTE?u+=`vec4 textureValue; textureValue.x = czm_unpackFloat(texture(batchTexture, st)); textureValue.y = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x, 0.0))); textureValue.z = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x * 2.0, 0.0))); textureValue.w = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x * 3.0, 0.0))); `:u+=` vec4 textureValue = texture(batchTexture, st); `,u+=` ${s} value = textureValue${a}; -`,e._pixelDatatype===Je.UNSIGNED_BYTE&&i.componentDatatype===X.UNSIGNED_BYTE&&!i.normalize?u+=`value *= 255.0; -`:e._pixelDatatype===Je.FLOAT&&i.componentDatatype===X.UNSIGNED_BYTE&&i.normalize&&(u+=`value /= 255.0; +`,e._pixelDatatype===Ye.UNSIGNED_BYTE&&i.componentDatatype===X.UNSIGNED_BYTE&&!i.normalize?u+=`value *= 255.0; +`:e._pixelDatatype===Ye.FLOAT&&i.componentDatatype===X.UNSIGNED_BYTE&&i.normalize&&(u+=`value /= 255.0; `),u+=` return value; } -`,u}wp.prototype.getVertexShaderCallback=function(){let e=this._attributes;if(e.length===0)return function(i){return i};let t=`uniform highp sampler2D batchTexture; -`;t+=`${eOe(this)} -`;let n=e.length;for(let i=0;i<n;++i)t+=iOe(this,i);return function(i){let o=i.indexOf("void main"),r=i.substring(0,o),s=i.substring(o);return`${r} +`,u}Pp.prototype.getVertexShaderCallback=function(){let e=this._attributes;if(e.length===0)return function(i){return i};let t=`uniform highp sampler2D batchTexture; +`;t+=`${JOe(this)} +`;let n=e.length;for(let i=0;i<n;++i)t+=nMe(this,i);return function(i){let o=i.indexOf("void main"),r=i.substring(0,o),s=i.substring(o);return`${r} ${t} -${s}`}};wp.prototype.isDestroyed=function(){return!1};wp.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var gx=wp;var so={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};so.getMathType=function(e){switch(e){case so.SCALAR:return Number;case so.VEC2:return z;case so.VEC3:return h;case so.VEC4:return oe;case so.MAT2:return Ui;case so.MAT3:return $;case so.MAT4:return F}};so.getNumberOfComponents=function(e){switch(e){case so.SCALAR:return 1;case so.VEC2:return 2;case so.VEC3:return 3;case so.VEC4:case so.MAT2:return 4;case so.MAT3:return 9;case so.MAT4:return 16}};so.getAttributeLocationCount=function(e){switch(e){case so.SCALAR:case so.VEC2:case so.VEC3:case so.VEC4:return 1;case so.MAT2:return 2;case so.MAT3:return 3;case so.MAT4:return 4}};so.getGlslType=function(e){switch(e){case so.SCALAR:return"float";case so.VEC2:return"vec2";case so.VEC3:return"vec3";case so.VEC4:return"vec4";case so.MAT2:return"mat2";case so.MAT3:return"mat3";case so.MAT4:return"mat4"}};var sn=Object.freeze(so);var fne=1/256,dne=256,To={};To.octEncodeInRange=function(e,t,n){if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,o=n.y;n.x=(1-Math.abs(o))*P.signNotZero(i),n.y=(1-Math.abs(i))*P.signNotZero(o)}return n.x=P.toSNorm(n.x,t),n.y=P.toSNorm(n.y,t),n};To.octEncode=function(e,t){return To.octEncodeInRange(e,255,t)};var qP=new z,hne=new Uint8Array(1);function XV(e){return hne[0]=e,hne[0]}To.octEncodeToCartesian4=function(e,t){return To.octEncodeInRange(e,65535,qP),t.x=XV(qP.x*fne),t.y=XV(qP.x),t.z=XV(qP.y*fne),t.w=XV(qP.y),t};To.octDecodeInRange=function(e,t,n,i){if(i.x=P.fromSNorm(e,n),i.y=P.fromSNorm(t,n),i.z=1-(Math.abs(i.x)+Math.abs(i.y)),i.z<0){let o=i.x;i.x=(1-Math.abs(i.y))*P.signNotZero(o),i.y=(1-Math.abs(o))*P.signNotZero(i.y)}return h.normalize(i,i)};To.octDecode=function(e,t,n){return To.octDecodeInRange(e,t,255,n)};To.octDecodeFromCartesian4=function(e,t){let n=e.x,i=e.y,o=e.z,r=e.w,s=n*dne+i,a=o*dne+r;return To.octDecodeInRange(s,a,65535,t)};To.octPackFloat=function(e){return 256*e.x+e.y};var U6=new z;To.octEncodeFloat=function(e){return To.octEncode(e,U6),To.octPackFloat(U6)};To.octDecodeFloat=function(e,t){let n=e/256,i=Math.floor(n),o=(n-i)*256;return To.octDecode(i,o,t)};To.octPack=function(e,t,n,i){let o=To.octEncodeFloat(e),r=To.octEncodeFloat(t),s=To.octEncode(n,U6);return i.x=65536*s.x+o,i.y=65536*s.y+r,i};To.octUnpack=function(e,t,n,i){let o=e.x/65536,r=Math.floor(o),s=(o-r)*65536;o=e.y/65536;let a=Math.floor(o),c=(o-a)*65536;To.octDecodeFloat(s,t),To.octDecodeFloat(c,n),To.octDecode(r,a,i)};To.compressTextureCoordinates=function(e){let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};To.decompressTextureCoordinates=function(e,t){let n=e/4096,i=Math.floor(n);return t.x=i/4095,t.y=(e-i*4096)/4095,t};function V6(e){return e>>1^-(e&1)}To.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a<i;++a)o+=V6(e[a]),r+=V6(t[a]),e[a]=o,t[a]=r,l(n)&&(s+=V6(n[a]),n[a]=s)};To.dequantize=function(e,t,n,i){let o=sn.getNumberOfComponents(n),r;switch(t){case X.BYTE:r=127;break;case X.UNSIGNED_BYTE:r=255;break;case X.SHORT:r=32767;break;case X.UNSIGNED_SHORT:r=65535;break;case X.INT:r=2147483647;break;case X.UNSIGNED_INT:r=4294967295;break}let s=new Float32Array(i*o);for(let a=0;a<i;a++)for(let c=0;c<o;c++){let u=a*o+c;s[u]=Math.max(e[u]/r,-1)}return s};To.decodeRGB565=function(e,t){let n=e.length;l(t)||(t=new Float32Array(n*3));let i=31,o=63,r=1/31,s=1/63;for(let a=0;a<n;a++){let c=e[a],u=c>>11,f=c>>5&o,d=c&i,p=3*a;t[p]=u*r,t[p+1]=f*s,t[p+2]=d*r}return t};var Fn=To;var mne=new h,pne=new h,_ne=new h;function oOe(e,t,n,i,o){l(o)||(o=new h);let r,s,a,c,u,f,d,p;if(l(t.z)){if(h.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,mne),s=h.subtract(i,t,pne),a=h.subtract(e,t,_ne),c=h.dot(r,r),u=h.dot(r,s),f=h.dot(r,a),d=h.dot(s,s),p=h.dot(s,a)}else{if(z.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(z.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(z.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=z.subtract(n,t,mne),s=z.subtract(i,t,pne),a=z.subtract(e,t,_ne),c=z.dot(r,r),u=z.dot(r,s),f=z.dot(r,a),d=z.dot(s,s),p=z.dot(s,a)}o.y=d*f-u*p,o.z=c*p-u*f;let g=c*d-u*u;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var yx=oOe;var z6={};z6.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!l(n)){n=0;let a=0,c=t[a];for(;a<o;)c>n&&(n=c),++a,c=t[a]}let r=[];for(let a=0;a<n+1;a++)r[a]=0;let s=i+1;for(let a=0;a<o;++a)s-r[t[a]]>i&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};z6.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(_,S,w,I){for(;S.length>=1;){let L=S[S.length-1];if(S.splice(S.length-1,1),_[L].numLiveTriangles>0)return L}for(;o<I;){if(_[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function s(_,S,w,I,L,B,U){let V=-1,G,k=-1,Y=0;for(;Y<w.length;){let W=w[Y];I[W].numLiveTriangles&&(G=0,L-I[W].timeStamp+2*I[W].numLiveTriangles<=S&&(G=L-I[W].timeStamp),(G>k||k===-1)&&(k=G,V=W)),++Y}return V===-1?r(I,B,_,U):V}let a=t.length,c=0,u=0,f=t[u],d=a;if(l(n))c=n+1;else{for(;u<d;)f>c&&(c=f),++u,f=t[u];if(c===-1)return 0;++c}let p=[],g;for(g=0;g<c;g++)p[g]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;let m=0;for(;u<d;)p[t[u]].vertexTriangles.push(m),++p[t[u]].numLiveTriangles,p[t[u+1]].vertexTriangles.push(m),++p[t[u+1]].numLiveTriangles,p[t[u+2]].vertexTriangles.push(m),++p[t[u+2]].numLiveTriangles,++m,u+=3;let x=0,b=i+1;o=1;let T=[],A=[],C,E,v=0,D=[],O=a/3,R=[];for(g=0;g<O;g++)R[g]=!1;let M,N;for(;x!==-1;){T=[],E=p[x],N=E.vertexTriangles.length;for(let _=0;_<N;++_)if(m=E.vertexTriangles[_],!R[m]){R[m]=!0,u=m+m+m;for(let S=0;S<3;++S)M=t[u],T.push(M),A.push(M),D[v]=M,++v,C=p[M],--C.numLiveTriangles,b-C.timeStamp>i&&(C.timeStamp=b,++b),++u}x=s(t,i,T,p,b,A,c)}return D};var YP=z6;var kc={};function tU(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function rOe(e){let t=e.length,n=t/3*6,i=Fe.createTypedArray(t,n),o=0;for(let r=0;r<t;r+=3,o+=6)tU(i,o,e[r],e[r+1],e[r+2]);return i}function sOe(e){let t=e.length;if(t>=3){let n=(t-2)*6,i=Fe.createTypedArray(t,n);tU(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r<t;++r,o+=6)tU(i,o,e[r-1],e[r],e[r-2]);return i}return new Uint16Array}function aOe(e){if(e.length>0){let t=e.length-1,n=(t-1)*6,i=Fe.createTypedArray(t,n),o=e[0],r=0;for(let s=1;s<t;++s,r+=6)tU(i,r,o,e[s],e[s+1]);return i}return new Uint16Array}kc.toWireframe=function(e){let t=e.indices;if(l(t)){switch(e.primitiveType){case Ne.TRIANGLES:e.indices=rOe(t);break;case Ne.TRIANGLE_STRIP:e.indices=sOe(t);break;case Ne.TRIANGLE_FAN:e.indices=aOe(t);break}e.primitiveType=Ne.LINES}return e};kc.createLineSegmentsForVectors=function(e,t,n){t=y(t,"normal"),n=y(n,1e4);let i=e.attributes.position.values,o=e.attributes[t].values,r=i.length,s=new Float64Array(2*r),a=0;for(let f=0;f<r;f+=3)s[a++]=i[f],s[a++]=i[f+1],s[a++]=i[f+2],s[a++]=i[f]+o[f]*n,s[a++]=i[f+1]+o[f+1]*n,s[a++]=i[f+2]+o[f+2]*n;let c,u=e.boundingSphere;return l(u)&&(c=new ae(u.center,u.radius+n)),new ut({attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:Ne.LINES,boundingSphere:c})};kc.createAttributeLocations=function(e){let t=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=e.attributes,i={},o=0,r,s=t.length;for(r=0;r<s;++r){let a=t[r];l(n[a])&&(i[a]=o++)}for(let a in n)n.hasOwnProperty(a)&&!l(i[a])&&(i[a]=o++);return i};kc.reorderForPreVertexCache=function(e){let t=ut.computeNumberOfVertices(e),n=e.indices;if(l(n)){let i=new Int32Array(t);for(let p=0;p<t;p++)i[p]=-1;let o=n,r=o.length,s=Fe.createTypedArray(t,r),a=0,c=0,u=0,f;for(;a<r;)f=i[o[a]],f!==-1?s[c]=f:(f=o[a],i[f]=u,s[c]=u,++u),++a,++c;e.indices=s;let d=e.attributes;for(let p in d)if(d.hasOwnProperty(p)&&l(d[p])&&l(d[p].values)){let g=d[p],m=g.values,x=0,b=g.componentsPerAttribute,T=X.createTypedArray(g.componentDatatype,u*b);for(;x<t;){let A=i[x];if(A!==-1)for(let C=0;C<b;C++)T[b*A+C]=m[b*x+C];++x}g.values=T}}return e};kc.reorderForPostVertexCache=function(e,t){let n=e.indices;if(e.primitiveType===Ne.TRIANGLES&&l(n)){let i=n.length,o=0;for(let r=0;r<i;r++)n[r]>o&&(o=n[r]);e.indices=YP.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function gne(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)){let i=e[n];t[n]=new Ee({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function cOe(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];for(let r=0;r<o.componentsPerAttribute;++r)e[i].values.push(o.values[n*o.componentsPerAttribute+r])}}kc.fitToUnsignedShortIndices=function(e){let t=[],n=ut.computeNumberOfVertices(e);if(l(e.indices)&&n>=P.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=gne(e.attributes),a=e.indices,c=a.length,u;e.primitiveType===Ne.TRIANGLES?u=3:e.primitiveType===Ne.LINES?u=2:e.primitiveType===Ne.POINTS&&(u=1);for(let f=0;f<c;f+=u){for(let d=0;d<u;++d){let p=a[f+d],g=i[p];l(g)||(g=r++,i[p]=g,cOe(s,e.attributes,p)),o.push(g)}r+u>=P.SIXTY_FOUR_KILOBYTES&&(t.push(new ut({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=gne(e.attributes))}o.length!==0&&t.push(new ut({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var yne=new h,lOe=new fe;kc.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=l(o)?o:new Ii;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),u=0;for(let f=0;f<a.length;f+=3){let d=h.fromArray(a,f,yne),p=s.cartesianToCartographic(d,lOe),g=o.project(p,yne);c[u++]=g.x,c[u++]=g.y,c[u++]=g.z}return e.attributes[n]=r,e.attributes[i]=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c}),delete e.attributes[t],e};var H6={high:0,low:0};kc.encodeAttribute=function(e,t,n,i){let o=e.attributes[t],r=o.values,s=r.length,a=new Float32Array(s),c=new Float32Array(s);for(let f=0;f<s;++f)Yn.encode(r[f],H6),a[f]=H6.high,c[f]=H6.low;let u=o.componentsPerAttribute;return e.attributes[n]=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:a}),e.attributes[i]=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:c}),delete e.attributes[t],e};var Dd=new h;function G6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,Dd),F.multiplyByPoint(e,Dd,Dd),h.pack(Dd,n,o)}}function W6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,Dd),$.multiplyByVector(e,Dd,Dd),Dd=h.normalize(Dd,Dd),h.pack(Dd,n,o)}}var KV=new F,ZV=new $;kc.transformToWorldCoordinates=function(e){let t=e.modelMatrix;if(F.equals(t,F.IDENTITY))return e;let n=e.geometry.attributes;G6(t,n.position),G6(t,n.prevPosition),G6(t,n.nextPosition),(l(n.normal)||l(n.tangent)||l(n.bitangent))&&(F.inverse(t,KV),F.transpose(KV,KV),F.getMatrix3(KV,ZV),W6(ZV,n.normal),W6(ZV,n.tangent),W6(ZV,n.bitangent));let i=e.geometry.boundingSphere;return l(i)&&(e.geometry.boundingSphere=ae.transform(i,t,i)),e.modelMatrix=F.clone(F.IDENTITY),e};function uOe(e,t){let n=e.length,i={},o=e[0][t].attributes,r;for(r in o)if(o.hasOwnProperty(r)&&l(o[r])&&l(o[r].values)){let s=o[r],a=s.values.length,c=!0;for(let u=1;u<n;++u){let f=e[u][t].attributes[r];if(!l(f)||s.componentDatatype!==f.componentDatatype||s.componentsPerAttribute!==f.componentsPerAttribute||s.normalize!==f.normalize){c=!1;break}a+=f.values.length}c&&(i[r]=new Ee({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:X.createTypedArray(s.componentDatatype,a)}))}return i}var fOe=new h;function j6(e,t){let n=e.length,i,o,r,s,a=e[0].modelMatrix,c=l(e[0][t].indices),u=e[0][t].primitiveType,f=uOe(e,t),d,p,g;for(i in f)if(f.hasOwnProperty(i))for(d=f[i].values,s=0,o=0;o<n;++o)for(p=e[o][t].attributes[i].values,g=p.length,r=0;r<g;++r)d[s++]=p[r];let m;if(c){let A=0;for(o=0;o<n;++o)A+=e[o][t].indices.length;let C=ut.computeNumberOfVertices(new ut({attributes:f,primitiveType:Ne.POINTS})),E=Fe.createTypedArray(C,A),v=0,D=0;for(o=0;o<n;++o){let O=e[o][t].indices,R=O.length;for(s=0;s<R;++s)E[v++]=D+O[s];D+=ut.computeNumberOfVertices(e[o][t])}m=E}let x=new h,b=0,T;for(o=0;o<n;++o){if(T=e[o][t].boundingSphere,!l(T)){x=void 0;break}h.add(T.center,x,x)}if(l(x))for(h.divideByScalar(x,n,x),o=0;o<n;++o){T=e[o][t].boundingSphere;let A=h.magnitude(h.subtract(T.center,x,fOe))+T.radius;A>b&&(b=A)}return new ut({attributes:f,indices:m,primitiveType:u,boundingSphere:l(x)?new ae(x,b):void 0})}kc.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let s=e[r];l(s.geometry)?t.push(s):l(s.westHemisphereGeometry)&&l(s.eastHemisphereGeometry)&&n.push(s)}let o=[];return t.length>0&&o.push(j6(t,"geometry")),n.length>0&&(o.push(j6(n,"westHemisphereGeometry")),o.push(j6(n,"eastHemisphereGeometry"))),o};var pf=new h,XP=new h,nA=new h,iA=new h;kc.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),u;for(u=0;u<o;u++)s[u]={indexOffset:0,count:0,currentCount:0};let f=0;for(u=0;u<r;u+=3){let m=t[u],x=t[u+1],b=t[u+2],T=m*3,A=x*3,C=b*3;XP.x=i[T],XP.y=i[T+1],XP.z=i[T+2],nA.x=i[A],nA.y=i[A+1],nA.z=i[A+2],iA.x=i[C],iA.y=i[C+1],iA.z=i[C+2],s[m].count++,s[x].count++,s[b].count++,h.subtract(nA,XP,nA),h.subtract(iA,XP,iA),a[f]=h.cross(nA,iA,new h),f++}let d=0;for(u=0;u<o;u++)s[u].indexOffset+=d,d+=s[u].count;f=0;let p;for(u=0;u<r;u+=3){p=s[t[u]];let m=p.indexOffset+p.currentCount;c[m]=f,p.currentCount++,p=s[t[u+1]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,p=s[t[u+2]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,f++}let g=new Float32Array(o*3);for(u=0;u<o;u++){let m=u*3;if(p=s[u],h.clone(h.ZERO,pf),p.count>0){for(f=0;f<p.count;f++)h.add(pf,a[c[p.indexOffset+f]],pf);h.equalsEpsilon(h.ZERO,pf,P.EPSILON10)&&h.clone(a[c[p.indexOffset]],pf)}h.equalsEpsilon(h.ZERO,pf,P.EPSILON10)&&(pf.z=1),h.normalize(pf,pf),g[m]=pf.x,g[m+1]=pf.y,g[m+2]=pf.z}return e.attributes.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e};var dOe=new h,xne=new h,hOe=new h;kc.computeTangentAndBitangent=function(e){let t=e.attributes,n=e.indices,i=e.attributes.position.values,o=e.attributes.normal.values,r=e.attributes.st.values,s=e.attributes.position.values.length/3,a=n.length,c=new Array(s*3),u;for(u=0;u<c.length;u++)c[u]=0;let f,d,p;for(u=0;u<a;u+=3){let x=n[u],b=n[u+1],T=n[u+2];f=x*3,d=b*3,p=T*3;let A=x*2,C=b*2,E=T*2,v=i[f],D=i[f+1],O=i[f+2],R=r[A],M=r[A+1],N=r[C+1]-M,_=r[E+1]-M,S=1/((r[C]-R)*_-(r[E]-R)*N),w=(_*(i[d]-v)-N*(i[p]-v))*S,I=(_*(i[d+1]-D)-N*(i[p+1]-D))*S,L=(_*(i[d+2]-O)-N*(i[p+2]-O))*S;c[f]+=w,c[f+1]+=I,c[f+2]+=L,c[d]+=w,c[d+1]+=I,c[d+2]+=L,c[p]+=w,c[p+1]+=I,c[p+2]+=L}let g=new Float32Array(s*3),m=new Float32Array(s*3);for(u=0;u<s;u++){f=u*3,d=f+1,p=f+2;let x=h.fromArray(o,f,dOe),b=h.fromArray(c,f,hOe),T=h.dot(x,b);h.multiplyByScalar(x,T,xne),h.normalize(h.subtract(b,xne,b),b),g[f]=b.x,g[d]=b.y,g[p]=b.z,h.normalize(h.cross(x,b,b),b),m[f]=b.x,m[d]=b.y,m[p]=b.z}return e.attributes.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e.attributes.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m}),e};var KP=new z,wd=new h,bne=new h,Tne=new h,$V=new z;kc.compressVertices=function(e){let t=e.attributes.extrudeDirection,n,i;if(l(t)){let D=t.values;i=D.length/3;let O=new Float32Array(i*2),R=0;for(n=0;n<i;++n){if(h.fromArray(D,n*3,wd),h.equals(wd,h.ZERO)){R+=2;continue}$V=Fn.octEncodeInRange(wd,65535,$V),O[R++]=$V.x,O[R++]=$V.y}return e.attributes.compressedAttributes=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:O}),delete e.attributes.extrudeDirection,e}let o=e.attributes.normal,r=e.attributes.st,s=l(o),a=l(r);if(!s&&!a)return e;let c=e.attributes.tangent,u=e.attributes.bitangent,f=l(c),d=l(u),p,g,m,x;s&&(p=o.values),a&&(g=r.values),f&&(m=c.values),d&&(x=u.values),i=(s?p.length:g.length)/(s?3:2);let A=i,C=a&&s?2:1;C+=f||d?1:0,A*=C;let E=new Float32Array(A),v=0;for(n=0;n<i;++n){a&&(z.fromArray(g,n*2,KP),E[v++]=Fn.compressTextureCoordinates(KP));let D=n*3;s&&l(m)&&l(x)?(h.fromArray(p,D,wd),h.fromArray(m,D,bne),h.fromArray(x,D,Tne),Fn.octPack(wd,bne,Tne,KP),E[v++]=KP.x,E[v++]=KP.y):(s&&(h.fromArray(p,D,wd),E[v++]=Fn.octEncodeFloat(wd)),f&&(h.fromArray(m,D,wd),E[v++]=Fn.octEncodeFloat(wd)),d&&(h.fromArray(x,D,wd),E[v++]=Fn.octEncodeFloat(wd)))}return e.attributes.compressedAttributes=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:C,values:E}),s&&delete e.attributes.normal,a&&delete e.attributes.st,d&&delete e.attributes.bitangent,f&&delete e.attributes.tangent,e};function mOe(e){if(l(e.indices))return e;let t=ut.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function pOe(e){let t=ut.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-2)*3);n[0]=1,n[1]=0,n[2]=2;let i=3;for(let o=3;o<t;++o)n[i++]=o-1,n[i++]=0,n[i++]=o;return e.indices=n,e.primitiveType=Ne.TRIANGLES,e}function _Oe(e){let t=ut.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-2)*3);n[0]=0,n[1]=1,n[2]=2,t>3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;o<t-1;o+=2)n[i++]=o,n[i++]=o-1,n[i++]=o+1,o+2<t&&(n[i++]=o,n[i++]=o+1,n[i++]=o+2);return e.indices=n,e.primitiveType=Ne.TRIANGLES,e}function gOe(e){if(l(e.indices))return e;let t=ut.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function yOe(e){let t=ut.computeNumberOfVertices(e),n=Fe.createTypedArray(t,(t-1)*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return e.indices=n,e.primitiveType=Ne.LINES,e}function xOe(e){let t=ut.computeNumberOfVertices(e),n=Fe.createTypedArray(t,t*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return n[i++]=t-1,n[i]=0,e.indices=n,e.primitiveType=Ne.LINES,e}function bOe(e){switch(e.primitiveType){case Ne.TRIANGLE_FAN:return pOe(e);case Ne.TRIANGLE_STRIP:return _Oe(e);case Ne.TRIANGLES:return mOe(e);case Ne.LINE_STRIP:return yOe(e);case Ne.LINE_LOOP:return xOe(e);case Ne.LINES:return gOe(e)}return e}function Hg(e,t){Math.abs(e.y)<P.EPSILON6&&(t?e.y=-P.EPSILON6:e.y=P.EPSILON6)}function TOe(e,t,n){if(e.y!==0&&t.y!==0&&n.y!==0){Hg(e,e.y<0),Hg(t,t.y<0),Hg(n,n.y<0);return}let i=Math.abs(e.y),o=Math.abs(t.y),r=Math.abs(n.y),s;i>o?i>r?s=P.sign(e.y):s=P.sign(n.y):o>r?s=P.sign(t.y):s=P.sign(n.y);let a=s<0;Hg(e,a),Hg(t,a),Hg(n,a)}var Cne=new h;function _f(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,Cne),e.y/(e.y-t.y),Cne),n),h.clone(n,i),Hg(n,!0),Hg(i,!1)}var xx=new h,bx=new h,Tx=new h,Cx=new h,q6={positions:new Array(7),indices:new Array(3*3)};function COe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;TOe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=q6.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(_f(e,t,xx,Tx),_f(e,n,bx,Cx),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(_f(t,n,xx,Tx),_f(t,e,bx,Cx),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(_f(n,e,xx,Tx),_f(n,t,bx,Cx),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(_f(n,e,xx,Tx),_f(n,t,bx,Cx),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(_f(t,n,xx,Tx),_f(t,e,bx,Cx),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(_f(e,t,xx,Tx),_f(e,n,bx,Cx),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=q6.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=xx,c[4]=bx,c[5]=Tx,c[6]=Cx,c.length=7),q6}function Ane(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&l(n[o])&&l(n[o].values)){let r=n[o];r.values=X.createTypedArray(r.componentDatatype,r.values)}let i=ut.computeNumberOfVertices(e);return e.indices=Fe.createTypedArray(i,e.indices),t&&(e.boundingSphere=ae.fromVertices(n.position.values)),e}function rA(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];n[i]=new Ee({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new ut({attributes:n,indices:[],primitiveType:e.primitiveType})}function Z6(e,t,n){let i=l(e.geometry.boundingSphere);t=Ane(t,i),n=Ane(n,i),l(n)&&!l(t)?e.geometry=n:!l(n)&&l(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function $6(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,u,f,d,p){let g=e.fromArray(u,r*t,n),m=e.fromArray(u,s*t,i),x=e.fromArray(u,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(m,c.y,m),e.multiplyByScalar(x,c.z,x);let b=e.add(g,m,g);e.add(b,x,b),p&&e.normalize(b,b),e.pack(b,f,d*t)}}var AOe=$6(oe,4),eU=$6(h,3),Ine=$6(z,2),EOe=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,u=o[n]*i.z;r[s]=a+c+u>P.EPSILON6?1:0},ZP=new h,Y6=new h,X6=new h,SOe=new h;function QV(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){if(!l(r)&&!l(s)&&!l(a)&&!l(c)&&!l(u)&&g===0)return;let b=h.fromArray(o,e*3,ZP),T=h.fromArray(o,t*3,Y6),A=h.fromArray(o,n*3,X6),C=yx(i,b,T,A,SOe);if(l(C)){if(l(r)&&eU(e,t,n,C,r,d.normal.values,x,!0),l(u)){let E=h.fromArray(u,e*3,ZP),v=h.fromArray(u,t*3,Y6),D=h.fromArray(u,n*3,X6);h.multiplyByScalar(E,C.x,E),h.multiplyByScalar(v,C.y,v),h.multiplyByScalar(D,C.z,D);let O;!h.equals(E,h.ZERO)||!h.equals(v,h.ZERO)||!h.equals(D,h.ZERO)?(O=h.add(E,v,E),h.add(O,D,O),h.normalize(O,O)):(O=ZP,O.x=0,O.y=0,O.z=0),h.pack(O,d.extrudeDirection.values,x*3)}if(l(f)&&EOe(e,t,n,C,f,d.applyOffset.values,x),l(s)&&eU(e,t,n,C,s,d.tangent.values,x,!0),l(a)&&eU(e,t,n,C,a,d.bitangent.values,x,!0),l(c)&&Ine(e,t,n,C,c,d.st.values,x),g>0)for(let E=0;E<g;E++){let v=p[E];vOe(e,t,n,C,x,m[v],d[v])}}}function vOe(e,t,n,i,o,r,s){let a=r.componentsPerAttribute,c=r.values,u=s.values;switch(a){case 4:AOe(e,t,n,i,c,u,o,!1);break;case 3:eU(e,t,n,i,c,u,o,!1);break;case 2:Ine(e,t,n,i,c,u,o,!1);break;default:u[o]=c[e]*i.x+c[t]*i.y+c[n]*i.z}}function im(e,t,n,i,o,r){let s=e.position.values.length/3;if(o!==-1){let a=i[o],c=n[a];return c===-1?(n[a]=s,e.position.values.push(r.x,r.y,r.z),t.push(s),s):(t.push(c),c)}return e.position.values.push(r.x,r.y,r.z),t.push(s),s}var wOe={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function Ene(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.normal)?n.normal.values:void 0,r=l(n.bitangent)?n.bitangent.values:void 0,s=l(n.tangent)?n.tangent.values:void 0,a=l(n.st)?n.st.values:void 0,c=l(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=l(n.applyOffset)?n.applyOffset.values:void 0,f=t.indices,d=[];for(let O in n)n.hasOwnProperty(O)&&!wOe[O]&&l(n[O])&&d.push(O);let p=d.length,g=rA(t),m=rA(t),x,b,T,A,C,E=[];E.length=i.length/3;let v=[];for(v.length=i.length/3,C=0;C<E.length;++C)E[C]=-1,v[C]=-1;let D=f.length;for(C=0;C<D;C+=3){let O=f[C],R=f[C+1],M=f[C+2],N=h.fromArray(i,O*3),_=h.fromArray(i,R*3),S=h.fromArray(i,M*3),w=COe(N,_,S);if(l(w)&&w.positions.length>3){let I=w.positions,L=w.indices,B=L.length;for(let U=0;U<B;++U){let V=L[U],G=I[V];G.y<0?(x=m.attributes,b=m.indices,T=E):(x=g.attributes,b=g.indices,T=v),A=im(x,b,T,f,V<3?C+V:-1,G),QV(O,R,M,G,i,o,s,r,a,c,u,x,d,p,n,A)}}else l(w)&&(N=w.positions[0],_=w.positions[1],S=w.positions[2]),N.y<0?(x=m.attributes,b=m.indices,T=E):(x=g.attributes,b=g.indices,T=v),A=im(x,b,T,f,C,N),QV(O,R,M,N,i,o,s,r,a,c,u,x,d,p,n,A),A=im(x,b,T,f,C+1,_),QV(O,R,M,_,i,o,s,r,a,c,u,x,d,p,n,A),A=im(x,b,T,f,C+2,S),QV(O,R,M,S,i,o,s,r,a,c,u,x,d,p,n,A)}Z6(e,m,g)}var Pne=ln.fromPointNormal(h.ZERO,h.UNIT_Y),DOe=new h,IOe=new h;function oA(e,t,n,i,o,r,s){if(!l(s))return;let a=h.fromArray(i,e*3,ZP);h.equalsEpsilon(a,n,P.EPSILON10)?r.applyOffset.values[o]=s[e]:r.applyOffset.values[o]=s[t]}function Sne(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.applyOffset)?n.applyOffset.values:void 0,r=t.indices,s=rA(t),a=rA(t),c,u=r.length,f=[];f.length=i.length/3;let d=[];for(d.length=i.length/3,c=0;c<f.length;++c)f[c]=-1,d[c]=-1;for(c=0;c<u;c+=2){let p=r[c],g=r[c+1],m=h.fromArray(i,p*3,ZP),x=h.fromArray(i,g*3,Y6),b;Math.abs(m.y)<P.EPSILON6&&(m.y<0?m.y=-P.EPSILON6:m.y=P.EPSILON6),Math.abs(x.y)<P.EPSILON6&&(x.y<0?x.y=-P.EPSILON6:x.y=P.EPSILON6);let T=s.attributes,A=s.indices,C=d,E=a.attributes,v=a.indices,D=f,O=ni.lineSegmentPlane(m,x,Pne,X6);if(l(O)){let R=h.multiplyByScalar(h.UNIT_Y,5*P.EPSILON9,DOe);m.y<0&&(h.negate(R,R),T=a.attributes,A=a.indices,C=f,E=s.attributes,v=s.indices,D=d);let M=h.add(O,R,IOe);b=im(T,A,C,r,c,m),oA(p,g,m,i,b,T,o),b=im(T,A,C,r,-1,M),oA(p,g,M,i,b,T,o),h.negate(R,R),h.add(O,R,M),b=im(E,v,D,r,-1,M),oA(p,g,M,i,b,E,o),b=im(E,v,D,r,c+1,x),oA(p,g,x,i,b,E,o)}else{let R,M,N;m.y<0?(R=a.attributes,M=a.indices,N=f):(R=s.attributes,M=s.indices,N=d),b=im(R,M,N,r,c,m),oA(p,g,m,i,b,R,o),b=im(R,M,N,r,c+1,x),oA(p,g,x,i,b,R,o)}}Z6(e,a,s)}var vne=new z,POe=new z,Rne=new h,One=new h,K6=new h,ROe=new h,OOe=new h,MOe=new h,wne=new oe;function Dne(e){let t=e.attributes,n=t.position.values,i=t.prevPosition.values,o=t.nextPosition.values,r=n.length;for(let s=0;s<r;s+=3){let a=h.unpack(n,s,Rne);if(a.x>0)continue;let c=h.unpack(i,s,One);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let u=h.unpack(o,s,K6);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(s+3<r?(o[s]=n[s+3],o[s+1]=n[s+4],o[s+2]=n[s+5]):h.pack(a,o,s))}}var LOe=5*P.EPSILON9,JV=P.EPSILON6;function NOe(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=n.prevPosition.values,r=n.nextPosition.values,s=n.expandAndWidth.values,a=l(n.st)?n.st.values:void 0,c=l(n.color)?n.color.values:void 0,u=rA(t),f=rA(t),d,p,g,m=!1,x=i.length/3;for(d=0;d<x;d+=4){let b=d,T=d+2,A=h.fromArray(i,b*3,Rne),C=h.fromArray(i,T*3,One);if(Math.abs(A.y)<JV)for(A.y=JV*(C.y<0?-1:1),i[d*3+1]=A.y,i[(d+1)*3+1]=A.y,p=b*3;p<b*3+4*3;p+=3)o[p]=i[d*3],o[p+1]=i[d*3+1],o[p+2]=i[d*3+2];if(Math.abs(C.y)<JV)for(C.y=JV*(A.y<0?-1:1),i[(d+2)*3+1]=C.y,i[(d+3)*3+1]=C.y,p=b*3;p<b*3+4*3;p+=3)r[p]=i[(d+2)*3],r[p+1]=i[(d+2)*3+1],r[p+2]=i[(d+2)*3+2];let E=u.attributes,v=u.indices,D=f.attributes,O=f.indices,R=ni.lineSegmentPlane(A,C,Pne,ROe);if(l(R)){m=!0;let M=h.multiplyByScalar(h.UNIT_Y,LOe,OOe);A.y<0&&(h.negate(M,M),E=f.attributes,v=f.indices,D=u.attributes,O=u.indices);let N=h.add(R,M,MOe);E.position.values.push(A.x,A.y,A.z,A.x,A.y,A.z),E.position.values.push(N.x,N.y,N.z),E.position.values.push(N.x,N.y,N.z),E.prevPosition.values.push(o[b*3],o[b*3+1],o[b*3+2]),E.prevPosition.values.push(o[b*3+3],o[b*3+4],o[b*3+5]),E.prevPosition.values.push(A.x,A.y,A.z,A.x,A.y,A.z),E.nextPosition.values.push(N.x,N.y,N.z),E.nextPosition.values.push(N.x,N.y,N.z),E.nextPosition.values.push(N.x,N.y,N.z),E.nextPosition.values.push(N.x,N.y,N.z),h.negate(M,M),h.add(R,M,N),D.position.values.push(N.x,N.y,N.z),D.position.values.push(N.x,N.y,N.z),D.position.values.push(C.x,C.y,C.z,C.x,C.y,C.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.nextPosition.values.push(C.x,C.y,C.z,C.x,C.y,C.z),D.nextPosition.values.push(r[T*3],r[T*3+1],r[T*3+2]),D.nextPosition.values.push(r[T*3+3],r[T*3+4],r[T*3+5]);let _=z.fromArray(s,b*2,vne),S=Math.abs(_.y);E.expandAndWidth.values.push(-1,S,1,S),E.expandAndWidth.values.push(-1,-S,1,-S),D.expandAndWidth.values.push(-1,S,1,S),D.expandAndWidth.values.push(-1,-S,1,-S);let w=h.magnitudeSquared(h.subtract(R,A,K6));if(w/=h.magnitudeSquared(h.subtract(C,A,K6)),l(c)){let I=oe.fromArray(c,b*4,wne),L=oe.fromArray(c,T*4,wne),B=P.lerp(I.x,L.x,w),U=P.lerp(I.y,L.y,w),V=P.lerp(I.z,L.z,w),G=P.lerp(I.w,L.w,w);for(p=b*4;p<b*4+2*4;++p)E.color.values.push(c[p]);for(E.color.values.push(B,U,V,G),E.color.values.push(B,U,V,G),D.color.values.push(B,U,V,G),D.color.values.push(B,U,V,G),p=T*4;p<T*4+2*4;++p)D.color.values.push(c[p])}if(l(a)){let I=z.fromArray(a,b*2,vne),L=z.fromArray(a,(d+3)*2,POe),B=P.lerp(I.x,L.x,w);for(p=b*2;p<b*2+2*2;++p)E.st.values.push(a[p]);for(E.st.values.push(B,I.y),E.st.values.push(B,L.y),D.st.values.push(B,I.y),D.st.values.push(B,L.y),p=T*2;p<T*2+2*2;++p)D.st.values.push(a[p])}g=E.position.values.length/3-4,v.push(g,g+2,g+1),v.push(g+1,g+2,g+3),g=D.position.values.length/3-4,O.push(g,g+2,g+1),O.push(g+1,g+2,g+3)}else{let M,N;for(A.y<0?(M=f.attributes,N=f.indices):(M=u.attributes,N=u.indices),M.position.values.push(A.x,A.y,A.z),M.position.values.push(A.x,A.y,A.z),M.position.values.push(C.x,C.y,C.z),M.position.values.push(C.x,C.y,C.z),p=d*3;p<d*3+4*3;++p)M.prevPosition.values.push(o[p]),M.nextPosition.values.push(r[p]);for(p=d*2;p<d*2+4*2;++p)M.expandAndWidth.values.push(s[p]),l(a)&&M.st.values.push(a[p]);if(l(c))for(p=d*4;p<d*4+4*4;++p)M.color.values.push(c[p]);g=M.position.values.length/3-4,N.push(g,g+2,g+1),N.push(g+1,g+2,g+3)}}m&&(Dne(f),Dne(u)),Z6(e,f,u)}kc.splitLongitude=function(e){let t=e.geometry,n=t.boundingSphere;if(l(n)&&(n.center.x-n.radius>0||ae.intersectPlane(n,ln.ORIGIN_ZX_PLANE)!==jt.INTERSECTING))return e;if(t.geometryType!==uf.NONE)switch(t.geometryType){case uf.POLYLINES:NOe(e);break;case uf.TRIANGLES:Ene(e);break;case uf.LINES:Sne(e);break}else bOe(t),t.primitiveType===Ne.TRIANGLES?Ene(e):t.primitiveType===Ne.LINES&&Sne(e);return e};var Gn=kc;function El(e){this._ellipsoid=y(e,ee.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(El.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});El.mercatorAngleToGeodeticLatitude=function(e){return P.PI_OVER_TWO-2*Math.atan(Math.exp(-e))};El.geodeticLatitudeToMercatorAngle=function(e){e>El.MaximumLatitude?e=El.MaximumLatitude:e<-El.MaximumLatitude&&(e=-El.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};El.MaximumLatitude=El.mercatorAngleToGeodeticLatitude(Math.PI);El.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=El.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};El.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=El.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var Pi=El;function FOe(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r<o;++r)if(!F.equals(s,e[r].modelMatrix)){i=!0;break}}if(i)for(r=0;r<o;++r)l(e[r].geometry)&&Gn.transformToWorldCoordinates(e[r]);else F.multiplyTransformation(t,e[0].modelMatrix,t)}function Q6(e,t){let n=e.attributes,i=n.position,o=i.values.length/i.componentsPerAttribute;n.batchId=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:1,values:new Float32Array(o)});let r=n.batchId.values;for(let s=0;s<o;++s)r[s]=t}function BOe(e){let t=e.length;for(let n=0;n<t;++n){let i=e[n];l(i.geometry)?Q6(i.geometry,n):l(i.westHemisphereGeometry)&&l(i.eastHemisphereGeometry)&&(Q6(i.westHemisphereGeometry,n),Q6(i.eastHemisphereGeometry,n))}}function kOe(e){let t=e.instances,n=e.projection,i=e.elementIndexUintSupported,o=e.scene3DOnly,r=e.vertexCacheOptimize,s=e.compressVertices,a=e.modelMatrix,c,u,f,d=t.length;for(c=0;c<d;++c)if(l(t[c].geometry)){f=t[c].geometry.primitiveType;break}if(FOe(t,a,o),!o)for(c=0;c<d;++c)l(t[c].geometry)&&Gn.splitLongitude(t[c]);if(BOe(t),r)for(c=0;c<d;++c){let g=t[c];l(g.geometry)?(Gn.reorderForPostVertexCache(g.geometry),Gn.reorderForPreVertexCache(g.geometry)):l(g.westHemisphereGeometry)&&l(g.eastHemisphereGeometry)&&(Gn.reorderForPostVertexCache(g.westHemisphereGeometry),Gn.reorderForPreVertexCache(g.westHemisphereGeometry),Gn.reorderForPostVertexCache(g.eastHemisphereGeometry),Gn.reorderForPreVertexCache(g.eastHemisphereGeometry))}let p=Gn.combineInstances(t);for(d=p.length,c=0;c<d;++c){u=p[c];let g=u.attributes;if(o)for(let m in g)g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE&&Gn.encodeAttribute(u,m,`${m}3DHigh`,`${m}3DLow`);else for(let m in g)if(g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE){let x=`${m}3D`,b=`${m}2D`;Gn.projectTo2D(u,m,x,b,n),l(u.boundingSphere)&&m==="position"&&(u.boundingSphereCV=ae.fromVertices(u.attributes.position2D.values)),Gn.encodeAttribute(u,x,`${x}High`,`${x}Low`),Gn.encodeAttribute(u,b,`${b}High`,`${b}Low`)}s&&Gn.compressVertices(u)}if(!i){let g=[];for(d=p.length,c=0;c<d;++c)u=p[c],g=g.concat(Gn.fitToUnsignedShortIndices(u));p=g}return p}function J6(e,t,n,i){let o,r,s,a=i.length-1;if(a>=0){let u=i[a];o=u.offset+u.count,s=u.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let u=0;u<c;++u){let d=e[u][t];if(!l(d))continue;let p=d.indices.length;o+p>r&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function VOe(e,t){let n=[];return J6(e,"geometry",t,n),J6(e,"westHemisphereGeometry",t,n),J6(e,"eastHemisphereGeometry",t,n),n}var Dp={};Dp.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=kOe(e),t.length>0&&(n=Gn.createAttributeLocations(t[0]),e.createPickOffsets&&(r=VOe(i,t))),l(i[0].attributes)&&l(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),u=new Array(o);for(let f=0;f<o;++f){let d=i[f],p=d.geometry;l(p)&&(c[f]=p.boundingSphere,u[f]=p.boundingSphereCV,a&&(s[f]=d.geometry.offsetAttribute));let g=d.eastHemisphereGeometry,m=d.westHemisphereGeometry;l(g)&&l(m)&&(l(g.boundingSphere)&&l(m.boundingSphere)&&(c[f]=ae.union(g.boundingSphere,m.boundingSphere)),l(g.boundingSphereCV)&&l(m.boundingSphereCV)&&(u[f]=ae.union(g.boundingSphereCV,m.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,pickOffsets:r,offsetInstanceExtend:s,boundingSpheres:c,boundingSpheresCV:u}};function UOe(e,t){let n=e.attributes;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];l(o)&&l(o.values)&&t.push(o.values.buffer)}l(e.indices)&&t.push(e.indices.buffer)}function zOe(e,t){let n=e.length;for(let i=0;i<n;++i)UOe(e[i],t)}function HOe(e){let t=1,n=e.length;for(let i=0;i<n;i++){let o=e[i];if(++t,!l(o))continue;let r=o.attributes;t+=7+2*ae.packedLength+(l(o.indices)?o.indices.length:0);for(let s in r)if(r.hasOwnProperty(s)&&l(r[s])){let a=r[s];t+=5+a.values.length}}return t}Dp.packCreateGeometryResults=function(e,t){let n=new Float64Array(HOe(e)),i=[],o={},r=e.length,s=0;n[s++]=r;for(let a=0;a<r;a++){let c=e[a],u=l(c);if(n[s++]=u?1:0,!u)continue;n[s++]=c.primitiveType,n[s++]=c.geometryType,n[s++]=y(c.offsetAttribute,-1);let f=l(c.boundingSphere)?1:0;n[s++]=f,f&&ae.pack(c.boundingSphere,n,s),s+=ae.packedLength;let d=l(c.boundingSphereCV)?1:0;n[s++]=d,d&&ae.pack(c.boundingSphereCV,n,s),s+=ae.packedLength;let p=c.attributes,g=[];for(let x in p)p.hasOwnProperty(x)&&l(p[x])&&(g.push(x),l(o[x])||(o[x]=i.length,i.push(x)));n[s++]=g.length;for(let x=0;x<g.length;x++){let b=g[x],T=p[b];n[s++]=o[b],n[s++]=T.componentDatatype,n[s++]=T.componentsPerAttribute,n[s++]=T.normalize?1:0,n[s++]=T.values.length,n.set(T.values,s),s+=T.values.length}let m=l(c.indices)?c.indices.length:0;n[s++]=m,m>0&&(n.set(c.indices,s),s+=m)}return t.push(n.buffer),{stringTable:i,packedData:n}};Dp.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s<n.length;){if(!(n[s++]===1)){o[r++]=void 0;continue}let c=n[s++],u=n[s++],f=n[s++];f===-1&&(f=void 0);let d,p;n[s++]===1&&(d=ae.unpack(n,s)),s+=ae.packedLength,n[s++]===1&&(p=ae.unpack(n,s)),s+=ae.packedLength;let x,b,T,A=new mn,C=n[s++];for(i=0;i<C;i++){let v=t[n[s++]],D=n[s++];T=n[s++];let O=n[s++]!==0;x=n[s++],b=X.createTypedArray(D,x);for(let R=0;R<x;R++)b[R]=n[s++];A[v]=new Ee({componentDatatype:D,componentsPerAttribute:T,normalize:O,values:b})}let E;if(x=n[s++],x>0){let v=b.length/T;for(E=Fe.createTypedArray(v,x),i=0;i<x;i++)E[i]=n[s++]}o[r++]=new ut({primitiveType:c,geometryType:u,boundingSphere:d,boundingSphereCV:p,indices:E,attributes:A,offsetAttribute:f})}return o};function GOe(e,t){let n=e.length,i=new Float64Array(1+n*19),o=0;i[o++]=n;for(let r=0;r<n;r++){let s=e[r];if(F.pack(s.modelMatrix,i,o),o+=F.packedLength,l(s.attributes)&&l(s.attributes.offset)){let a=s.attributes.offset.value;i[o]=a[0],i[o+1]=a[1],i[o+2]=a[2]}o+=3}return t.push(i.buffer),i}function WOe(e){let t=e,n=new Array(t[0]),i=0,o=1;for(;o<t.length;){let r=F.unpack(t,o),s;o+=F.packedLength,l(t[o])&&(s={offset:new Ji(t[o],t[o+1],t[o+2])}),o+=3,n[i++]={modelMatrix:r,attributes:s}}return n}Dp.packCombineGeometryParameters=function(e,t){let n=e.createGeometryResults,i=n.length;for(let o=0;o<i;o++)t.push(n[o].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:GOe(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof Ii,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};Dp.unpackCombineGeometryParameters=function(e){let t=WOe(e.packedInstances),n=e.createGeometryResults,i=n.length,o=0;for(let a=0;a<i;a++){let c=Dp.unpackCreateGeometryResults(n[a]),u=c.length;for(let f=0;f<u;f++){let d=c[f],p=t[o];p.geometry=d,++o}}let r=ee.clone(e.ellipsoid),s=e.isGeographic?new Ii(r):new Pi(r);return{instances:t,ellipsoid:r,projection:s,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:F.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function Mne(e){let t=e.length,n=1+(ae.packedLength+1)*t,i=new Float32Array(n),o=0;i[o++]=t;for(let r=0;r<t;++r){let s=e[r];l(s)?(i[o++]=1,ae.pack(e[r],i,o)):i[o++]=0,o+=ae.packedLength}return i}function Lne(e){let t=new Array(e[0]),n=0,i=1;for(;i<e.length;)e[i++]===1&&(t[n]=ae.unpack(e,i)),++n,i+=ae.packedLength;return t}Dp.packCombineGeometryResults=function(e,t){l(e.geometries)&&zOe(e.geometries,t);let n=Mne(e.boundingSpheres),i=Mne(e.boundingSpheresCV);return t.push(n.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:n,boundingSpheresCV:i}};Dp.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:Lne(e.boundingSpheres),boundingSpheresCV:Lne(e.boundingSpheresCV)}};var Ax=Dp;var jOe={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6},Ar=Object.freeze(jOe);var du={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3};du.NUMBER_OF_SHADOW_MODES=4;du.castShadows=function(e){return e===du.ENABLED||e===du.CAST_ONLY};du.receiveShadows=function(e){return e===du.ENABLED||e===du.RECEIVE_ONLY};du.fromCastReceive=function(e,t){return e&&t?du.ENABLED:e?du.CAST_ONLY:t?du.RECEIVE_ONLY:du.DISABLED};var bn=Object.freeze(du);function Er(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.show=y(e.show,!0),this._vertexCacheOptimize=y(e.vertexCacheOptimize,!1),this._interleave=y(e.interleave,!1),this._releaseGeometryInstances=y(e.releaseGeometryInstances,!0),this._allowPicking=y(e.allowPicking,!0),this._asynchronous=y(e.asynchronous,!0),this._compressVertices=y(e.compressVertices,!0),this.cull=y(e.cull,!0),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,this.shadows=y(e.shadows,bn.DISABLED),this._translucent=void 0,this._state=Ar.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=new Map,this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1,this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}Object.defineProperties(Er.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}}});function qOe(e){let t=e.length,n=[],i=e[0].attributes,o;for(o in i)if(i.hasOwnProperty(o)&&l(i[o])){let r=i[o],s=!0;for(let a=1;a<t;++a){let c=e[a].attributes[o];if(!l(c)||r.componentDatatype!==c.componentDatatype||r.componentsPerAttribute!==c.componentsPerAttribute||r.normalize!==c.normalize){s=!1;break}}s&&n.push(o)}return n}var YOe=new z,XOe=new h,Gne=new oe;function Wne(e){let t=e.length;if(t===1)return e[0];if(t===2)return z.unpack(e,0,YOe);if(t===3)return h.unpack(e,0,XOe);if(t===4)return oe.unpack(e,0,Gne)}function KOe(e,t){let n=e.geometryInstances,i=Array.isArray(n)?n:[n],o=i.length;if(o===0)return;let r=qOe(i),s=r.length,a=[],c={},u={},f,p=i[0].attributes,g,m,x;for(g=0;g<s;++g)m=r[g],x=p[m],c[m]=g,a.push({functionName:`czm_batchTable_${m}`,componentDatatype:x.componentDatatype,componentsPerAttribute:x.componentsPerAttribute,normalize:x.normalize});r.indexOf("distanceDisplayCondition")!==-1&&(a.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:X.FLOAT,componentsPerAttribute:1}),u.center3DHigh=a.length-5,u.center3DLow=a.length-4,u.center2DHigh=a.length-3,u.center2DLow=a.length-2,u.radius=a.length-1),r.indexOf("offset")!==-1&&(a.push({functionName:"czm_batchTable_offset2D",componentDatatype:X.FLOAT,componentsPerAttribute:3}),f=a.length-1),a.push({functionName:"czm_batchTable_pickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let b=a.length,T=new gx(t,a,o);for(g=0;g<o;++g){let A=i[g];p=A.attributes;for(let O=0;O<s;++O){m=r[O],x=p[m];let R=Wne(x.value),M=c[m];T.setBatchedAttribute(g,M,R)}let C={primitive:y(A.pickPrimitive,e)};l(A.id)&&(C.id=A.id);let E=t.createPickId(C);e._pickIds.push(E);let v=E.color,D=Gne;D.x=H.floatToByte(v.red),D.y=H.floatToByte(v.green),D.z=H.floatToByte(v.blue),D.w=H.floatToByte(v.alpha),T.setBatchedAttribute(g,b-1,D)}e._batchTable=T,e._batchTableAttributeIndices=c,e._batchTableBoundingSphereAttributeIndices=u,e._batchTableOffsetAttribute2DIndex=f}function ZOe(e){let t;return Array.isArray(e.values)?t=e.values.slice(0):t=new e.values.constructor(e.values),new Ee({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function $Oe(e){let t=e.attributes,n=new mn;for(let o in t)t.hasOwnProperty(o)&&l(t[o])&&(n[o]=ZOe(t[o]));let i;if(l(e.indices)){let o=e.indices;Array.isArray(o)?i=o.slice(0):i=new o.constructor(o)}return new ut({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:ae.clone(e.boundingSphere)})}function QOe(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:F.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}var JOe=/in\s+vec(?:3|4)\s+(.*)3DHigh;/g;Er._modifyShaderPosition=function(e,t,n){let i,o="",r="",s="";for(;(i=JOe.exec(t))!==null;){let a=i[1],c=`vec4 czm_compute${a[0].toUpperCase()}${a.substr(1)}()`;c!=="vec4 czm_computePosition()"&&(o+=`${c}; +${s}`}};Pp.prototype.isDestroyed=function(){return!1};Pp.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var Dx=Pp;function El(e){this._ellipsoid=y(e,ee.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(El.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});El.mercatorAngleToGeodeticLatitude=function(e){return P.PI_OVER_TWO-2*Math.atan(Math.exp(-e))};El.geodeticLatitudeToMercatorAngle=function(e){e>El.MaximumLatitude?e=El.MaximumLatitude:e<-El.MaximumLatitude&&(e=-El.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};El.MaximumLatitude=El.mercatorAngleToGeodeticLatitude(Math.PI);El.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=El.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};El.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=El.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var Mi=El;function iMe(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r<o;++r)if(!F.equals(s,e[r].modelMatrix)){i=!0;break}}if(i)for(r=0;r<o;++r)l(e[r].geometry)&&Fn.transformToWorldCoordinates(e[r]);else F.multiplyTransformation(t,e[0].modelMatrix,t)}function c9(e,t){let n=e.attributes,i=n.position,o=i.values.length/i.componentsPerAttribute;n.batchId=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:1,values:new Float32Array(o)});let r=n.batchId.values;for(let s=0;s<o;++s)r[s]=t}function oMe(e){let t=e.length;for(let n=0;n<t;++n){let i=e[n];l(i.geometry)?c9(i.geometry,n):l(i.westHemisphereGeometry)&&l(i.eastHemisphereGeometry)&&(c9(i.westHemisphereGeometry,n),c9(i.eastHemisphereGeometry,n))}}function rMe(e){let t=e.instances,n=e.projection,i=e.elementIndexUintSupported,o=e.scene3DOnly,r=e.vertexCacheOptimize,s=e.compressVertices,a=e.modelMatrix,c,u,f,d=t.length;for(c=0;c<d;++c)if(l(t[c].geometry)){f=t[c].geometry.primitiveType;break}if(iMe(t,a,o),!o)for(c=0;c<d;++c)l(t[c].geometry)&&Fn.splitLongitude(t[c]);if(oMe(t),r)for(c=0;c<d;++c){let g=t[c];l(g.geometry)?(Fn.reorderForPostVertexCache(g.geometry),Fn.reorderForPreVertexCache(g.geometry)):l(g.westHemisphereGeometry)&&l(g.eastHemisphereGeometry)&&(Fn.reorderForPostVertexCache(g.westHemisphereGeometry),Fn.reorderForPreVertexCache(g.westHemisphereGeometry),Fn.reorderForPostVertexCache(g.eastHemisphereGeometry),Fn.reorderForPreVertexCache(g.eastHemisphereGeometry))}let p=Fn.combineInstances(t);for(d=p.length,c=0;c<d;++c){u=p[c];let g=u.attributes;if(o)for(let m in g)g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE&&Fn.encodeAttribute(u,m,`${m}3DHigh`,`${m}3DLow`);else for(let m in g)if(g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE){let x=`${m}3D`,b=`${m}2D`;Fn.projectTo2D(u,m,x,b,n),l(u.boundingSphere)&&m==="position"&&(u.boundingSphereCV=ce.fromVertices(u.attributes.position2D.values)),Fn.encodeAttribute(u,x,`${x}High`,`${x}Low`),Fn.encodeAttribute(u,b,`${b}High`,`${b}Low`)}s&&Fn.compressVertices(u)}if(!i){let g=[];for(d=p.length,c=0;c<d;++c)u=p[c],g=g.concat(Fn.fitToUnsignedShortIndices(u));p=g}return p}function l9(e,t,n,i){let o,r,s,a=i.length-1;if(a>=0){let u=i[a];o=u.offset+u.count,s=u.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let u=0;u<c;++u){let d=e[u][t];if(!l(d))continue;let p=d.indices.length;o+p>r&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function sMe(e,t){let n=[];return l9(e,"geometry",t,n),l9(e,"westHemisphereGeometry",t,n),l9(e,"eastHemisphereGeometry",t,n),n}var Rp={};Rp.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=rMe(e),t.length>0&&(n=Fn.createAttributeLocations(t[0]),e.createPickOffsets&&(r=sMe(i,t))),l(i[0].attributes)&&l(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),u=new Array(o);for(let f=0;f<o;++f){let d=i[f],p=d.geometry;l(p)&&(c[f]=p.boundingSphere,u[f]=p.boundingSphereCV,a&&(s[f]=d.geometry.offsetAttribute));let g=d.eastHemisphereGeometry,m=d.westHemisphereGeometry;l(g)&&l(m)&&(l(g.boundingSphere)&&l(m.boundingSphere)&&(c[f]=ce.union(g.boundingSphere,m.boundingSphere)),l(g.boundingSphereCV)&&l(m.boundingSphereCV)&&(u[f]=ce.union(g.boundingSphereCV,m.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,pickOffsets:r,offsetInstanceExtend:s,boundingSpheres:c,boundingSpheresCV:u}};function aMe(e,t){let n=e.attributes;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];l(o)&&l(o.values)&&t.push(o.values.buffer)}l(e.indices)&&t.push(e.indices.buffer)}function cMe(e,t){let n=e.length;for(let i=0;i<n;++i)aMe(e[i],t)}function lMe(e){let t=1,n=e.length;for(let i=0;i<n;i++){let o=e[i];if(++t,!l(o))continue;let r=o.attributes;t+=7+2*ce.packedLength+(l(o.indices)?o.indices.length:0);for(let s in r)if(r.hasOwnProperty(s)&&l(r[s])){let a=r[s];t+=5+a.values.length}}return t}Rp.packCreateGeometryResults=function(e,t){let n=new Float64Array(lMe(e)),i=[],o={},r=e.length,s=0;n[s++]=r;for(let a=0;a<r;a++){let c=e[a],u=l(c);if(n[s++]=u?1:0,!u)continue;n[s++]=c.primitiveType,n[s++]=c.geometryType,n[s++]=y(c.offsetAttribute,-1);let f=l(c.boundingSphere)?1:0;n[s++]=f,f&&ce.pack(c.boundingSphere,n,s),s+=ce.packedLength;let d=l(c.boundingSphereCV)?1:0;n[s++]=d,d&&ce.pack(c.boundingSphereCV,n,s),s+=ce.packedLength;let p=c.attributes,g=[];for(let x in p)p.hasOwnProperty(x)&&l(p[x])&&(g.push(x),l(o[x])||(o[x]=i.length,i.push(x)));n[s++]=g.length;for(let x=0;x<g.length;x++){let b=g[x],T=p[b];n[s++]=o[b],n[s++]=T.componentDatatype,n[s++]=T.componentsPerAttribute,n[s++]=T.normalize?1:0,n[s++]=T.values.length,n.set(T.values,s),s+=T.values.length}let m=l(c.indices)?c.indices.length:0;n[s++]=m,m>0&&(n.set(c.indices,s),s+=m)}return t.push(n.buffer),{stringTable:i,packedData:n}};Rp.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s<n.length;){if(!(n[s++]===1)){o[r++]=void 0;continue}let c=n[s++],u=n[s++],f=n[s++];f===-1&&(f=void 0);let d,p;n[s++]===1&&(d=ce.unpack(n,s)),s+=ce.packedLength,n[s++]===1&&(p=ce.unpack(n,s)),s+=ce.packedLength;let x,b,T,A=new pn,C=n[s++];for(i=0;i<C;i++){let v=t[n[s++]],D=n[s++];T=n[s++];let O=n[s++]!==0;x=n[s++],b=X.createTypedArray(D,x);for(let R=0;R<x;R++)b[R]=n[s++];A[v]=new Se({componentDatatype:D,componentsPerAttribute:T,normalize:O,values:b})}let E;if(x=n[s++],x>0){let v=b.length/T;for(E=Fe.createTypedArray(v,x),i=0;i<x;i++)E[i]=n[s++]}o[r++]=new ft({primitiveType:c,geometryType:u,boundingSphere:d,boundingSphereCV:p,indices:E,attributes:A,offsetAttribute:f})}return o};function uMe(e,t){let n=e.length,i=new Float64Array(1+n*19),o=0;i[o++]=n;for(let r=0;r<n;r++){let s=e[r];if(F.pack(s.modelMatrix,i,o),o+=F.packedLength,l(s.attributes)&&l(s.attributes.offset)){let a=s.attributes.offset.value;i[o]=a[0],i[o+1]=a[1],i[o+2]=a[2]}o+=3}return t.push(i.buffer),i}function fMe(e){let t=e,n=new Array(t[0]),i=0,o=1;for(;o<t.length;){let r=F.unpack(t,o),s;o+=F.packedLength,l(t[o])&&(s={offset:new to(t[o],t[o+1],t[o+2])}),o+=3,n[i++]={modelMatrix:r,attributes:s}}return n}Rp.packCombineGeometryParameters=function(e,t){let n=e.createGeometryResults,i=n.length;for(let o=0;o<i;o++)t.push(n[o].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:uMe(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof Ri,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};Rp.unpackCombineGeometryParameters=function(e){let t=fMe(e.packedInstances),n=e.createGeometryResults,i=n.length,o=0;for(let a=0;a<i;a++){let c=Rp.unpackCreateGeometryResults(n[a]),u=c.length;for(let f=0;f<u;f++){let d=c[f],p=t[o];p.geometry=d,++o}}let r=ee.clone(e.ellipsoid),s=e.isGeographic?new Ri(r):new Mi(r);return{instances:t,ellipsoid:r,projection:s,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:F.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function $ne(e){let t=e.length,n=1+(ce.packedLength+1)*t,i=new Float32Array(n),o=0;i[o++]=t;for(let r=0;r<t;++r){let s=e[r];l(s)?(i[o++]=1,ce.pack(e[r],i,o)):i[o++]=0,o+=ce.packedLength}return i}function Qne(e){let t=new Array(e[0]),n=0,i=1;for(;i<e.length;)e[i++]===1&&(t[n]=ce.unpack(e,i)),++n,i+=ce.packedLength;return t}Rp.packCombineGeometryResults=function(e,t){l(e.geometries)&&cMe(e.geometries,t);let n=$ne(e.boundingSpheres),i=$ne(e.boundingSpheresCV);return t.push(n.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:n,boundingSpheresCV:i}};Rp.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:Qne(e.boundingSpheres),boundingSpheresCV:Qne(e.boundingSpheresCV)}};var Ix=Rp;var dMe={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6},Ir=Object.freeze(dMe);var fu={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3};fu.NUMBER_OF_SHADOW_MODES=4;fu.castShadows=function(e){return e===fu.ENABLED||e===fu.CAST_ONLY};fu.receiveShadows=function(e){return e===fu.ENABLED||e===fu.RECEIVE_ONLY};fu.fromCastReceive=function(e,t){return e&&t?fu.ENABLED:e?fu.CAST_ONLY:t?fu.RECEIVE_ONLY:fu.DISABLED};var Tn=Object.freeze(fu);function Pr(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.show=y(e.show,!0),this._vertexCacheOptimize=y(e.vertexCacheOptimize,!1),this._interleave=y(e.interleave,!1),this._releaseGeometryInstances=y(e.releaseGeometryInstances,!0),this._allowPicking=y(e.allowPicking,!0),this._asynchronous=y(e.asynchronous,!0),this._compressVertices=y(e.compressVertices,!0),this.cull=y(e.cull,!0),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,this.shadows=y(e.shadows,Tn.DISABLED),this._translucent=void 0,this._state=Ir.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=new Map,this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1,this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}Object.defineProperties(Pr.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}}});function hMe(e){let t=e.length,n=[],i=e[0].attributes,o;for(o in i)if(i.hasOwnProperty(o)&&l(i[o])){let r=i[o],s=!0;for(let a=1;a<t;++a){let c=e[a].attributes[o];if(!l(c)||r.componentDatatype!==c.componentDatatype||r.componentsPerAttribute!==c.componentsPerAttribute||r.normalize!==c.normalize){s=!1;break}}s&&n.push(o)}return n}var mMe=new z,pMe=new h,aie=new ie;function cie(e){let t=e.length;if(t===1)return e[0];if(t===2)return z.unpack(e,0,mMe);if(t===3)return h.unpack(e,0,pMe);if(t===4)return ie.unpack(e,0,aie)}function _Me(e,t){let n=e.geometryInstances,i=Array.isArray(n)?n:[n],o=i.length;if(o===0)return;let r=hMe(i),s=r.length,a=[],c={},u={},f,p=i[0].attributes,g,m,x;for(g=0;g<s;++g)m=r[g],x=p[m],c[m]=g,a.push({functionName:`czm_batchTable_${m}`,componentDatatype:x.componentDatatype,componentsPerAttribute:x.componentsPerAttribute,normalize:x.normalize});r.indexOf("distanceDisplayCondition")!==-1&&(a.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:X.FLOAT,componentsPerAttribute:1}),u.center3DHigh=a.length-5,u.center3DLow=a.length-4,u.center2DHigh=a.length-3,u.center2DLow=a.length-2,u.radius=a.length-1),r.indexOf("offset")!==-1&&(a.push({functionName:"czm_batchTable_offset2D",componentDatatype:X.FLOAT,componentsPerAttribute:3}),f=a.length-1),a.push({functionName:"czm_batchTable_pickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let b=a.length,T=new Dx(t,a,o);for(g=0;g<o;++g){let A=i[g];p=A.attributes;for(let O=0;O<s;++O){m=r[O],x=p[m];let R=cie(x.value),M=c[m];T.setBatchedAttribute(g,M,R)}let C={primitive:y(A.pickPrimitive,e)};l(A.id)&&(C.id=A.id);let E=t.createPickId(C);e._pickIds.push(E);let v=E.color,D=aie;D.x=H.floatToByte(v.red),D.y=H.floatToByte(v.green),D.z=H.floatToByte(v.blue),D.w=H.floatToByte(v.alpha),T.setBatchedAttribute(g,b-1,D)}e._batchTable=T,e._batchTableAttributeIndices=c,e._batchTableBoundingSphereAttributeIndices=u,e._batchTableOffsetAttribute2DIndex=f}function gMe(e){let t;return Array.isArray(e.values)?t=e.values.slice(0):t=new e.values.constructor(e.values),new Se({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function yMe(e){let t=e.attributes,n=new pn;for(let o in t)t.hasOwnProperty(o)&&l(t[o])&&(n[o]=gMe(t[o]));let i;if(l(e.indices)){let o=e.indices;Array.isArray(o)?i=o.slice(0):i=new o.constructor(o)}return new ft({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:ce.clone(e.boundingSphere)})}function xMe(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:F.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}var bMe=/in\s+vec(?:3|4)\s+(.*)3DHigh;/g;Pr._modifyShaderPosition=function(e,t,n){let i,o="",r="",s="";for(;(i=bMe.exec(t))!==null;){let a=i[1],c=`vec4 czm_compute${a[0].toUpperCase()}${a.substr(1)}()`;c!=="vec4 czm_computePosition()"&&(o+=`${c}; `),l(e.rtcCenter)?(t=t.replace(/in\s+vec(?:3|4)\s+position3DHigh;/g,""),t=t.replace(/in\s+vec(?:3|4)\s+position3DLow;/g,""),o+=`uniform mat4 u_modifiedModelView; `,r+=`in vec4 position; `,s+=`${c} @@ -4880,19 +4925,19 @@ in vec3 ${a}2DLow; } `)}return[o,r,t,s].join(` -`)};Er._appendShowToShader=function(e,t){return l(e._batchTableAttributeIndices.show)?`${ze.replaceMain(t,"czm_non_show_main")} +`)};Pr._appendShowToShader=function(e,t){return l(e._batchTableAttributeIndices.show)?`${Ue.replaceMain(t,"czm_non_show_main")} void main() { czm_non_show_main(); gl_Position *= czm_batchTable_show(batchId); -}`:t};Er._updateColorAttribute=function(e,t,n){if(!l(e._batchTableAttributeIndices.color)&&!l(e._batchTableAttributeIndices.depthFailColor)||t.search(/in\s+vec4\s+color;/g)===-1)return t;let i=t;return i=i.replace(/in\s+vec4\s+color;/g,""),n?i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2"),i};function Nne(e){return`${ze.replaceMain(e,"czm_non_pick_main")} +}`:t};Pr._updateColorAttribute=function(e,t,n){if(!l(e._batchTableAttributeIndices.color)&&!l(e._batchTableAttributeIndices.depthFailColor)||t.search(/in\s+vec4\s+color;/g)===-1)return t;let i=t;return i=i.replace(/in\s+vec4\s+color;/g,""),n?i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2"),i};function Jne(e){return`${Ue.replaceMain(e,"czm_non_pick_main")} out vec4 v_pickColor; void main() { czm_non_pick_main(); v_pickColor = czm_batchTable_pickColor(batchId); -}`}function Fne(e){return`in vec4 v_pickColor; -${e}`}Er._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pickColor;/g,"");return t=t.replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2"),t};Er._appendOffsetToShader=function(e,t){if(!l(e._batchTableAttributeIndices.offset))return t;let n=`in float batchId; +}`}function eie(e){return`in vec4 v_pickColor; +${e}`}Pr._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pickColor;/g,"");return t=t.replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2"),t};Pr._appendOffsetToShader=function(e,t){if(!l(e._batchTableAttributeIndices.offset))return t;let n=`in float batchId; `;n+="in float applyOffset;";let i=t.replace(/in\s+float\s+batchId;/g,n),o=`vec4 $1 = czm_computePosition(); `;return o+=` if (czm_sceneMode == czm_sceneMode3D) `,o+=` { @@ -4900,7 +4945,7 @@ ${e}`}Er._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pick `,o+=` else `,o+=` { `,o+=" $1 = $1 + vec4(czm_batchTable_offset2D(batchId) * applyOffset, 0.0);",o+=` } -`,i=i.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,o),i};Er._appendDistanceDisplayConditionToShader=function(e,t,n){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition))return t;let i=ze.replaceMain(t,"czm_non_distanceDisplayCondition_main"),o=`void main() +`,i=i.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,o),i};Pr._appendDistanceDisplayConditionToShader=function(e,t,n){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition))return t;let i=Ue.replaceMain(t,"czm_non_distanceDisplayCondition_main"),o=`void main() { czm_non_distanceDisplayCondition_main(); vec2 distanceDisplayCondition = czm_batchTable_distanceDisplayCondition(batchId); @@ -4942,7 +4987,7 @@ ${e}`}Er._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pick float show = (distanceSq >= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; gl_Position *= show; }`,`${i} -${o}`};function Bne(e,t){if(!e.compressVertices)return t;let n=t.search(/in\s+vec3\s+normal;/g)!==-1,i=t.search(/in\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/in\s+vec3\s+tangent;/g)!==-1,r=t.search(/in\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",u=`in ${a} ${c};`,f="",d="";if(i){f+=`vec2 st; +${o}`};function tie(e,t){if(!e.compressVertices)return t;let n=t.search(/in\s+vec3\s+normal;/g)!==-1,i=t.search(/in\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/in\s+vec3\s+tangent;/g)!==-1,r=t.search(/in\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",u=`in ${a} ${c};`,f="",d="";if(i){f+=`vec2 st; `;let m=s>1?`${c}.x`:c;d+=` st = czm_decompressTextureCoordinates(${m}); `}n&&o&&r?(f+=`vec3 normal; vec3 tangent; @@ -4954,14 +4999,14 @@ vec3 bitangent; `,d+=` tangent = czm_octDecode(${c}.${i&&n?"z":"y"}); `),r&&(f+=`vec3 bitangent; `,d+=` bitangent = czm_octDecode(${c}.${i&&n?"z":"y"}); -`));let p=t;p=p.replace(/in\s+vec3\s+normal;/g,""),p=p.replace(/in\s+vec2\s+st;/g,""),p=p.replace(/in\s+vec3\s+tangent;/g,""),p=p.replace(/in\s+vec3\s+bitangent;/g,""),p=ze.replaceMain(p,"czm_non_compressed_main");let g=`void main() +`));let p=t;p=p.replace(/in\s+vec3\s+normal;/g,""),p=p.replace(/in\s+vec2\s+st;/g,""),p=p.replace(/in\s+vec3\s+tangent;/g,""),p=p.replace(/in\s+vec3\s+bitangent;/g,""),p=Ue.replaceMain(p,"czm_non_compressed_main");let g=`void main() { ${d} czm_non_compressed_main(); }`;return[u,f,p,g].join(` -`)}function eMe(e){let t=ze.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { +`)}function TMe(e){let t=Ue.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { czm_non_depth_clamp_main(); gl_Position = czm_depthClamp(gl_Position);} -`,t}function tMe(e){let t=ze.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { +`,t}function CMe(e){let t=Ue.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { czm_non_depth_clamp_main(); #if defined(LOG_DEPTH) czm_writeLogDepth(); @@ -4969,7 +5014,7 @@ ${d} czm_non_compressed_main(); czm_writeDepthClamp(); #endif } -`,t}function kne(e,t){let n=e.vertexAttributes}function nMe(e,t){return function(){return e[t]}}var e9=Math.max(Gt.hardwareConcurrency-1,1),nU,iMe=new yi("combineGeometry");function oMe(e,t){let n,i,o,r,s=e._instanceIds;if(e._state===Ar.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let a=e._numberOfInstances=n.length,c=[],u=[];for(o=0;o<a;++o)i=n[o].geometry,s.push(n[o].id),u.push({moduleName:i._workerName,modulePath:i._workerPath,geometry:i});if(!l(nU))for(nU=new Array(e9),o=0;o<e9;o++)nU[o]=new yi("createGeometry");let f;for(u=WP(u,e9),o=0;o<u.length;o++){let d=0,p=u[o],g=p.length;for(r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(f.offset=d,d+=y(i.constructor.packedLength,i.packedLength));let m;if(d>0){let x=new Float64Array(d);for(m=[x.buffer],r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(i.constructor.pack(i,x,f.offset),f.geometry=x)}c.push(nU[o].scheduleTask({subTasks:u[o]},m))}e._state=Ar.CREATING,Promise.all(c).then(function(d){e._createGeometryResults=d,e._state=Ar.CREATED}).catch(function(d){QP(e,t,Ar.FAILED,d)})}else if(e._state===Ar.CREATED){let a=[];n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let c=t.scene3DOnly,u=t.mapProjection,f=iMe.scheduleTask(Ax.packCombineGeometryParameters({createGeometryResults:e._createGeometryResults,instances:n,ellipsoid:u.ellipsoid,projection:u,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:c,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets},a),a);e._createGeometryResults=void 0,e._state=Ar.COMBINING,Promise.resolve(f).then(function(d){let p=Ax.unpackCombineGeometryResults(d);e._geometries=p.geometries,e._attributeLocations=p.attributeLocations,e.modelMatrix=F.clone(p.modelMatrix,e.modelMatrix),e._pickOffsets=p.pickOffsets,e._offsetInstanceExtend=p.offsetInstanceExtend,e._instanceBoundingSpheres=p.boundingSpheres,e._instanceBoundingSpheresCV=p.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Ar.COMBINED):QP(e,t,Ar.FAILED,void 0)}).catch(function(d){QP(e,t,Ar.FAILED,d)})}}function rMe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a<i;a++){s=n[a];let p=s.geometry,g;l(p.attributes)&&l(p.primitiveType)?g=$Oe(p):g=p.constructor.createGeometry(p),o[c++]=QOe(s,g),r.push(s.id)}o.length=c;let u=t.scene3DOnly,f=t.mapProjection,d=Ax.combineGeometry({instances:o,ellipsoid:f.ellipsoid,projection:f,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:u,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=d.geometries,e._attributeLocations=d.attributeLocations,e.modelMatrix=F.clone(d.modelMatrix,e.modelMatrix),e._pickOffsets=d.pickOffsets,e._offsetInstanceExtend=d.offsetInstanceExtend,e._instanceBoundingSpheres=d.boundingSpheres,e._instanceBoundingSpheresCV=d.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Ar.COMBINED):QP(e,t,Ar.FAILED,void 0)}function sMe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!l(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!l(a)){for(a=new Array(s),i=0;i<s;i++)a[i]=new ae;e._tempBoundingSpheres=a}for(i=0;i<s;++i){let x=a[i],b=e._batchTable.getBatchedAttribute(i,n,new h);x=r[i].clone(x),Xne(x,b,o[i])}let c=[],u=[],f=[];for(i=0;i<s;++i){let x=a[i];x.center.x-x.radius>0||ae.intersectPlane(x,ln.ORIGIN_ZX_PLANE)!==jt.INTERSECTING?c.push(x):(u.push(x),f.push(x))}let d=c[0],p=f[0],g=u[0];for(i=1;i<c.length;i++)d=ae.union(d,c[i]);for(i=1;i<f.length;i++)p=ae.union(p,f[i]);for(i=1;i<u.length;i++)g=ae.union(g,u[i]);let m=[];for(l(d)&&m.push(d),l(p)&&m.push(p),l(g)&&m.push(g),i=0;i<m.length;i++){let x=m[i].clone(e._boundingSpheres[i]);e._boundingSpheres[i]=x,e._boundingSphereCV[i]=ae.projectTo2D(x,t.mapProjection,e._boundingSphereCV[i])}Er._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}var Vne=new Yn,jne=new fe,qne=new h,Yne=new ae;function aMe(e,t){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition)||e._batchTableBoundingSpheresUpdated)return;let i=e._batchTableBoundingSphereAttributeIndices,o=i.center3DHigh,r=i.center3DLow,s=i.center2DHigh,a=i.center2DLow,c=i.radius,u=t.mapProjection,f=u.ellipsoid,d=e._batchTable,p=e._instanceBoundingSpheres,g=p.length;for(let m=0;m<g;++m){let x=p[m];if(!l(x))continue;let b=e.modelMatrix;l(b)&&(x=ae.transform(x,b,Yne));let T=x.center,A=x.radius,C=Yn.fromCartesian(T,Vne);if(d.setBatchedAttribute(m,o,C.high),d.setBatchedAttribute(m,r,C.low),!t.scene3DOnly){let E=f.cartesianToCartographic(T,jne),v=u.project(E,qne);C=Yn.fromCartesian(v,Vne),d.setBatchedAttribute(m,s,C.high),d.setBatchedAttribute(m,a,C.low)}d.setBatchedAttribute(m,c,A)}e._batchTableBoundingSpheresUpdated=!0}var t9=new h,cMe=new h;function Une(e,t){if(!l(e._batchTableAttributeIndices.offset)||e._batchTableOffsetsUpdated||t.scene3DOnly)return;let i=e._batchTableOffsetAttribute2DIndex,o=t.mapProjection,r=o.ellipsoid,s=e._batchTable,a=e._instanceBoundingSpheres,c=a.length;for(let u=0;u<c;++u){let f=a[u];if(!l(f))continue;let d=s.getBatchedAttribute(u,e._batchTableAttributeIndices.offset);if(h.equals(d,h.ZERO)){s.setBatchedAttribute(u,i,h.ZERO);continue}let p=e.modelMatrix;l(p)&&(f=ae.transform(f,p,Yne));let g=f.center;g=r.scaleToGeodeticSurface(g,cMe);let m=r.cartesianToCartographic(g,jne),x=o.project(m,qne),b=h.add(d,g,t9);m=r.cartesianToCartographic(b,m);let T=o.project(m,t9),A=h.subtract(T,x,t9),C=A.x;A.x=A.z,A.z=A.y,A.y=C,s.setBatchedAttribute(u,i,A)}e._batchTableOffsetsUpdated=!0}function lMe(e,t){let n=e._attributeLocations,i=e._geometries,o=t.scene3DOnly,r=t.context,s=[],a=i.length;for(let c=0;c<a;++c){let u=i[c];if(s.push(pi.fromGeometry({context:r,geometry:u,attributeLocations:n,bufferUsage:ke.STATIC_DRAW,interleave:e._interleave})),l(e._createBoundingVolumeFunction))e._createBoundingVolumeFunction(t,u);else if(e._boundingSpheres.push(ae.clone(u.boundingSphere)),e._boundingSphereWC.push(new ae),!o){let f=u.boundingSphereCV.center,d=f.x,p=f.y,g=f.z;f.x=g,f.y=d,f.z=p,e._boundingSphereCV.push(ae.clone(u.boundingSphereCV)),e._boundingSphere2D.push(new ae),e._boundingSphereMorph.push(new ae)}}e._va=s,e._primitiveType=i[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,QP(e,t,Ar.COMPLETE,void 0)}function uMe(e,t,n,i){let o=n.getRenderState(),r;i?(r=He(o,!1),r.cull={enabled:!0,face:bi.BACK},e._frontFaceRS=Ve.fromCache(r),r.cull.face=bi.FRONT,e._backFaceRS=Ve.fromCache(r)):(e._frontFaceRS=Ve.fromCache(o),e._backFaceRS=e._frontFaceRS),r=He(o,!1),l(e._depthFailAppearance)&&(r.depthTest.enabled=!1),l(e._depthFailAppearance)&&(o=e._depthFailAppearance.getRenderState(),r=He(o,!1),r.depthTest.func=sc.GREATER,i?(r.cull={enabled:!0,face:bi.BACK},e._frontFaceDepthFailRS=Ve.fromCache(r),r.cull.face=bi.FRONT,e._backFaceDepthFailRS=Ve.fromCache(r)):(e._frontFaceDepthFailRS=Ve.fromCache(r),e._backFaceDepthFailRS=e._frontFaceRS))}function fMe(e,t,n){let i=t.context,o=e._attributeLocations,r=e._batchTable.getVertexShaderCallback()(n.vertexShaderSource);r=Er._appendOffsetToShader(e,r),r=Er._appendShowToShader(e,r),r=Er._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=Nne(r),r=Er._updateColorAttribute(e,r,!1),r=Bne(e,r),r=Er._modifyShaderPosition(e,r,t.scene3DOnly);let s=n.getFragmentShaderSource();s=Fne(s),e._sp=an.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),kne(e._sp,o),l(e._depthFailAppearance)&&(r=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),r=Er._appendShowToShader(e,r),r=Er._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=Nne(r),r=Er._updateColorAttribute(e,r,!0),r=Bne(e,r),r=Er._modifyShaderPosition(e,r,t.scene3DOnly),r=eMe(r),s=e._depthFailAppearance.getFragmentShaderSource(),s=Fne(s),s=tMe(s),e._spDepthFail=an.replaceCache({context:i,shaderProgram:e._spDepthFail,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),kne(e._spDepthFail,o))}var $P=new F,zne=new h;function Hne(e,t,n,i){let o=l(n)?n._uniforms:void 0,r={},s=t.uniforms;if(l(s))for(let c in s)s.hasOwnProperty(c)&&(r[c]=nMe(s,c));let a=bt(r,o);return a=e._batchTable.getUniformMapCallback()(a),l(e.rtcCenter)&&(a.u_modifiedModelView=function(){let c=i.context.uniformState.view;return F.multiply(c,e._modelMatrix,$P),F.multiplyByPoint($P,e.rtcCenter,zne),F.setTranslation($P,zne,$P),$P}),a}function dMe(e,t,n,i,o,r,s,a){let c=Hne(e,t,n,a),u;l(e._depthFailAppearance)&&(u=Hne(e,e._depthFailAppearance,e._depthFailAppearance.material,a));let f=i?Se.TRANSLUCENT:Se.OPAQUE,d=o?2:1;d*=l(e._depthFailAppearance)?2:1,r.length=e._va.length*d;let p=r.length,g=0;for(let m=0;m<p;++m){let x;o&&(x=r[m],l(x)||(x=r[m]=new Xe({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,++m),x=r[m],l(x)||(x=r[m]=new Xe({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,l(e._depthFailAppearance)&&(o&&(++m,x=r[m],l(x)||(x=r[m]=new Xe({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++m,x=r[m],l(x)||(x=r[m]=new Xe({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++g}}Er._updateBoundingVolumes=function(e,t,n,i){let o,r,s;if(i||!F.equals(n,e._modelMatrix))for(F.clone(n,e._modelMatrix),r=e._boundingSpheres.length,o=0;o<r;++o)s=e._boundingSpheres[o],l(s)&&(e._boundingSphereWC[o]=ae.transform(s,n,e._boundingSphereWC[o]),t.scene3DOnly||(e._boundingSphere2D[o]=ae.clone(e._boundingSphereCV[o],e._boundingSphere2D[o]),e._boundingSphere2D[o].center.x=0,e._boundingSphereMorph[o]=ae.union(e._boundingSphereWC[o],e._boundingSphereCV[o])));let a=e.appearance.pixelSize;if(l(a))for(r=e._boundingSpheres.length,o=0;o<r;++o){s=e._boundingSpheres[o];let c=e._boundingSphereWC[o],f=t.camera.getPixelSize(s,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*a;c.radius=s.radius+f}};function hMe(e,t,n,i,o,r,s,a){Er._updateBoundingVolumes(e,t,o);let c;t.mode===ne.SCENE3D?c=e._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=e._boundingSphereCV:t.mode===ne.SCENE2D&&l(e._boundingSphere2D)?c=e._boundingSphere2D:l(e._boundingSphereMorph)&&(c=e._boundingSphereMorph);let u=t.commandList,f=t.passes;if(f.render||f.pick){let d=e.allowPicking,p=bn.castShadows(e.shadows),g=bn.receiveShadows(e.shadows),m=n.length,x=a?2:1;x*=l(e._depthFailAppearance)?2:1;for(let b=0;b<m;++b){let T=Math.floor(b/x),A=n[b];A.modelMatrix=o,A.boundingVolume=c[T],A.cull=r,A.debugShowBoundingVolume=s,A.castShadows=p,A.receiveShadows=g,d?A.pickId="v_pickColor":A.pickId=void 0,u.push(A)}}}Er.prototype.update=function(e){if(!l(this.geometryInstances)&&this._va.length===0||l(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&this.geometryInstances.length===0||!l(this.appearance)||e.mode!==ne.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)return;if(l(this._error))throw this._error;if(this._state===Ar.FAILED)return;let t=e.context;if(l(this._batchTable)||KOe(this,t),this._batchTable.attributes.length>0){if(kt.maximumVertexTextureImageUnits===0)throw new ce("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==Ar.COMPLETE&&this._state!==Ar.COMBINED&&(this.asynchronous?oMe(this,e):rMe(this,e)),this._state===Ar.COMBINED&&(aMe(this,e),Une(this,e),lMe(this,e)),!this.show||this._state!==Ar.COMPLETE)return;this._batchTableOffsetsUpdated||Une(this,e),this._recomputeBoundingSpheres&&sMe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=l(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),l(this._material)&&this._material.update(t);let u=n.closed&&c;o&&y(this._createRenderStatesFunction,uMe)(this,t,n,u),r&&y(this._createShaderProgramFunction,fMe)(this,e,n),(o||r)&&y(this._createCommandsFunction,dMe)(this,n,i,c,u,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,hMe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,u)};var mMe=new ae,pMe=new ae;function Xne(e,t,n){if(n===un.TOP){let i=ae.clone(e,mMe),o=ae.clone(e,pMe);o.center=h.add(o.center,t,o.center),e=ae.union(i,o,e)}else n===un.ALL&&(e.center=h.add(e.center,t,e.center));return e}function _Me(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=X.createTypedArray(o.componentDatatype,r);return l(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function gMe(e,t,n,i,o){return function(r){let s=Wne(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var yMe=new h;function xMe(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(l(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;l(r)&&Xne(i,h.fromArray(r.get(),0,yMe),e._offsetInstanceExtend[n]),l(o)&&(i=ae.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function bMe(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}Er.prototype.getGeometryInstanceAttributes=function(e){let t=this._perInstanceAttributeCache.get(e);if(l(t))return t;let n=-1,i=this._lastPerInstanceAttributeIndex,o=this._instanceIds,r=o.length;for(let u=0;u<r;++u){let f=(i+u)%r;if(e===o[f]){n=f;break}}if(n===-1)return;let s=this._batchTable,a=this._batchTableAttributeIndices;t={};let c={};for(let u in a)if(a.hasOwnProperty(u)){let f=a[u];c[u]={get:_Me(s,n,f),set:gMe(s,n,f,this,u)}}return xMe(this,c,n),bMe(this,c,n),Object.defineProperties(t,c),this._lastPerInstanceAttributeIndex=n,this._perInstanceAttributeCache.set(e,t),t};Er.prototype.isDestroyed=function(){return!1};Er.prototype.destroy=function(){let e,t;this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();let n=this._va;for(e=n.length,t=0;t<e;++t)n[t].destroy();this._va=void 0;let i=this._pickIds;for(e=i.length,t=0;t<e;++t)i[t].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,ue(this)};function QP(e,t,n,i){e._error=i,e._state=n,t.afterRender.push(function(){e._ready=e._state===Ar.COMPLETE||e._state===Ar.FAILED})}var Pn=Er;function TMe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.value=e.value}var ac=TMe;var sA=`#ifdef TEXTURE_COORDINATES +`,t}function nie(e,t){let n=e.vertexAttributes}function AMe(e,t){return function(){return e[t]}}var u9=Math.max(Gt.hardwareConcurrency-1,1),uU,EMe=new bi("combineGeometry");function SMe(e,t){let n,i,o,r,s=e._instanceIds;if(e._state===Ir.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let a=e._numberOfInstances=n.length,c=[],u=[];for(o=0;o<a;++o)i=n[o].geometry,s.push(n[o].id),u.push({moduleName:i._workerName,modulePath:i._workerPath,geometry:i});if(!l(uU))for(uU=new Array(u9),o=0;o<u9;o++)uU[o]=new bi("createGeometry");let f;for(u=n1(u,u9),o=0;o<u.length;o++){let d=0,p=u[o],g=p.length;for(r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(f.offset=d,d+=y(i.constructor.packedLength,i.packedLength));let m;if(d>0){let x=new Float64Array(d);for(m=[x.buffer],r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(i.constructor.pack(i,x,f.offset),f.geometry=x)}c.push(uU[o].scheduleTask({subTasks:u[o]},m))}e._state=Ir.CREATING,Promise.all(c).then(function(d){e._createGeometryResults=d,e._state=Ir.CREATED}).catch(function(d){r1(e,t,Ir.FAILED,d)})}else if(e._state===Ir.CREATED){let a=[];n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let c=t.scene3DOnly,u=t.mapProjection,f=EMe.scheduleTask(Ix.packCombineGeometryParameters({createGeometryResults:e._createGeometryResults,instances:n,ellipsoid:u.ellipsoid,projection:u,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:c,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets},a),a);e._createGeometryResults=void 0,e._state=Ir.COMBINING,Promise.resolve(f).then(function(d){let p=Ix.unpackCombineGeometryResults(d);e._geometries=p.geometries,e._attributeLocations=p.attributeLocations,e.modelMatrix=F.clone(p.modelMatrix,e.modelMatrix),e._pickOffsets=p.pickOffsets,e._offsetInstanceExtend=p.offsetInstanceExtend,e._instanceBoundingSpheres=p.boundingSpheres,e._instanceBoundingSpheresCV=p.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Ir.COMBINED):r1(e,t,Ir.FAILED,void 0)}).catch(function(d){r1(e,t,Ir.FAILED,d)})}}function vMe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a<i;a++){s=n[a];let p=s.geometry,g;l(p.attributes)&&l(p.primitiveType)?g=yMe(p):g=p.constructor.createGeometry(p),o[c++]=xMe(s,g),r.push(s.id)}o.length=c;let u=t.scene3DOnly,f=t.mapProjection,d=Ix.combineGeometry({instances:o,ellipsoid:f.ellipsoid,projection:f,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:u,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=d.geometries,e._attributeLocations=d.attributeLocations,e.modelMatrix=F.clone(d.modelMatrix,e.modelMatrix),e._pickOffsets=d.pickOffsets,e._offsetInstanceExtend=d.offsetInstanceExtend,e._instanceBoundingSpheres=d.boundingSpheres,e._instanceBoundingSpheresCV=d.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Ir.COMBINED):r1(e,t,Ir.FAILED,void 0)}function wMe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!l(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!l(a)){for(a=new Array(s),i=0;i<s;i++)a[i]=new ce;e._tempBoundingSpheres=a}for(i=0;i<s;++i){let x=a[i],b=e._batchTable.getBatchedAttribute(i,n,new h);x=r[i].clone(x),die(x,b,o[i])}let c=[],u=[],f=[];for(i=0;i<s;++i){let x=a[i];x.center.x-x.radius>0||ce.intersectPlane(x,un.ORIGIN_ZX_PLANE)!==qt.INTERSECTING?c.push(x):(u.push(x),f.push(x))}let d=c[0],p=f[0],g=u[0];for(i=1;i<c.length;i++)d=ce.union(d,c[i]);for(i=1;i<f.length;i++)p=ce.union(p,f[i]);for(i=1;i<u.length;i++)g=ce.union(g,u[i]);let m=[];for(l(d)&&m.push(d),l(p)&&m.push(p),l(g)&&m.push(g),i=0;i<m.length;i++){let x=m[i].clone(e._boundingSpheres[i]);e._boundingSpheres[i]=x,e._boundingSphereCV[i]=ce.projectTo2D(x,t.mapProjection,e._boundingSphereCV[i])}Pr._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}var iie=new jn,lie=new fe,uie=new h,fie=new ce;function DMe(e,t){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition)||e._batchTableBoundingSpheresUpdated)return;let i=e._batchTableBoundingSphereAttributeIndices,o=i.center3DHigh,r=i.center3DLow,s=i.center2DHigh,a=i.center2DLow,c=i.radius,u=t.mapProjection,f=u.ellipsoid,d=e._batchTable,p=e._instanceBoundingSpheres,g=p.length;for(let m=0;m<g;++m){let x=p[m];if(!l(x))continue;let b=e.modelMatrix;l(b)&&(x=ce.transform(x,b,fie));let T=x.center,A=x.radius,C=jn.fromCartesian(T,iie);if(d.setBatchedAttribute(m,o,C.high),d.setBatchedAttribute(m,r,C.low),!t.scene3DOnly){let E=f.cartesianToCartographic(T,lie),v=u.project(E,uie);C=jn.fromCartesian(v,iie),d.setBatchedAttribute(m,s,C.high),d.setBatchedAttribute(m,a,C.low)}d.setBatchedAttribute(m,c,A)}e._batchTableBoundingSpheresUpdated=!0}var f9=new h,IMe=new h;function oie(e,t){if(!l(e._batchTableAttributeIndices.offset)||e._batchTableOffsetsUpdated||t.scene3DOnly)return;let i=e._batchTableOffsetAttribute2DIndex,o=t.mapProjection,r=o.ellipsoid,s=e._batchTable,a=e._instanceBoundingSpheres,c=a.length;for(let u=0;u<c;++u){let f=a[u];if(!l(f))continue;let d=s.getBatchedAttribute(u,e._batchTableAttributeIndices.offset);if(h.equals(d,h.ZERO)){s.setBatchedAttribute(u,i,h.ZERO);continue}let p=e.modelMatrix;l(p)&&(f=ce.transform(f,p,fie));let g=f.center;g=r.scaleToGeodeticSurface(g,IMe);let m=r.cartesianToCartographic(g,lie),x=o.project(m,uie),b=h.add(d,g,f9);m=r.cartesianToCartographic(b,m);let T=o.project(m,f9),A=h.subtract(T,x,f9),C=A.x;A.x=A.z,A.z=A.y,A.y=C,s.setBatchedAttribute(u,i,A)}e._batchTableOffsetsUpdated=!0}function PMe(e,t){let n=e._attributeLocations,i=e._geometries,o=t.scene3DOnly,r=t.context,s=[],a=i.length;for(let c=0;c<a;++c){let u=i[c];if(s.push(ii.fromGeometry({context:r,geometry:u,attributeLocations:n,bufferUsage:Be.STATIC_DRAW,interleave:e._interleave})),l(e._createBoundingVolumeFunction))e._createBoundingVolumeFunction(t,u);else if(e._boundingSpheres.push(ce.clone(u.boundingSphere)),e._boundingSphereWC.push(new ce),!o){let f=u.boundingSphereCV.center,d=f.x,p=f.y,g=f.z;f.x=g,f.y=d,f.z=p,e._boundingSphereCV.push(ce.clone(u.boundingSphereCV)),e._boundingSphere2D.push(new ce),e._boundingSphereMorph.push(new ce)}}e._va=s,e._primitiveType=i[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,r1(e,t,Ir.COMPLETE,void 0)}function RMe(e,t,n,i){let o=n.getRenderState(),r;i?(r=He(o,!1),r.cull={enabled:!0,face:Ci.BACK},e._frontFaceRS=Ve.fromCache(r),r.cull.face=Ci.FRONT,e._backFaceRS=Ve.fromCache(r)):(e._frontFaceRS=Ve.fromCache(o),e._backFaceRS=e._frontFaceRS),r=He(o,!1),l(e._depthFailAppearance)&&(r.depthTest.enabled=!1),l(e._depthFailAppearance)&&(o=e._depthFailAppearance.getRenderState(),r=He(o,!1),r.depthTest.func=sc.GREATER,i?(r.cull={enabled:!0,face:Ci.BACK},e._frontFaceDepthFailRS=Ve.fromCache(r),r.cull.face=Ci.FRONT,e._backFaceDepthFailRS=Ve.fromCache(r)):(e._frontFaceDepthFailRS=Ve.fromCache(r),e._backFaceDepthFailRS=e._frontFaceRS))}function OMe(e,t,n){let i=t.context,o=e._attributeLocations,r=e._batchTable.getVertexShaderCallback()(n.vertexShaderSource);r=Pr._appendOffsetToShader(e,r),r=Pr._appendShowToShader(e,r),r=Pr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=Jne(r),r=Pr._updateColorAttribute(e,r,!1),r=tie(e,r),r=Pr._modifyShaderPosition(e,r,t.scene3DOnly);let s=n.getFragmentShaderSource();s=eie(s),e._sp=tn.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),nie(e._sp,o),l(e._depthFailAppearance)&&(r=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),r=Pr._appendShowToShader(e,r),r=Pr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=Jne(r),r=Pr._updateColorAttribute(e,r,!0),r=tie(e,r),r=Pr._modifyShaderPosition(e,r,t.scene3DOnly),r=TMe(r),s=e._depthFailAppearance.getFragmentShaderSource(),s=eie(s),s=CMe(s),e._spDepthFail=tn.replaceCache({context:i,shaderProgram:e._spDepthFail,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),nie(e._spDepthFail,o))}var o1=new F,rie=new h;function sie(e,t,n,i){let o=l(n)?n._uniforms:void 0,r={},s=t.uniforms;if(l(s))for(let c in s)s.hasOwnProperty(c)&&(r[c]=AMe(s,c));let a=Ct(r,o);return a=e._batchTable.getUniformMapCallback()(a),l(e.rtcCenter)&&(a.u_modifiedModelView=function(){let c=i.context.uniformState.view;return F.multiply(c,e._modelMatrix,o1),F.multiplyByPoint(o1,e.rtcCenter,rie),F.setTranslation(o1,rie,o1),o1}),a}function MMe(e,t,n,i,o,r,s,a){let c=sie(e,t,n,a),u;l(e._depthFailAppearance)&&(u=sie(e,e._depthFailAppearance,e._depthFailAppearance.material,a));let f=i?ve.TRANSLUCENT:ve.OPAQUE,d=o?2:1;d*=l(e._depthFailAppearance)?2:1,r.length=e._va.length*d;let p=r.length,g=0;for(let m=0;m<p;++m){let x;o&&(x=r[m],l(x)||(x=r[m]=new Ze({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,++m),x=r[m],l(x)||(x=r[m]=new Ze({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,l(e._depthFailAppearance)&&(o&&(++m,x=r[m],l(x)||(x=r[m]=new Ze({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++m,x=r[m],l(x)||(x=r[m]=new Ze({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++g}}Pr._updateBoundingVolumes=function(e,t,n,i){let o,r,s;if(i||!F.equals(n,e._modelMatrix))for(F.clone(n,e._modelMatrix),r=e._boundingSpheres.length,o=0;o<r;++o)s=e._boundingSpheres[o],l(s)&&(e._boundingSphereWC[o]=ce.transform(s,n,e._boundingSphereWC[o]),t.scene3DOnly||(e._boundingSphere2D[o]=ce.clone(e._boundingSphereCV[o],e._boundingSphere2D[o]),e._boundingSphere2D[o].center.x=0,e._boundingSphereMorph[o]=ce.union(e._boundingSphereWC[o],e._boundingSphereCV[o])));let a=e.appearance.pixelSize;if(l(a))for(r=e._boundingSpheres.length,o=0;o<r;++o){s=e._boundingSpheres[o];let c=e._boundingSphereWC[o],f=t.camera.getPixelSize(s,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*a;c.radius=s.radius+f}};function LMe(e,t,n,i,o,r,s,a){Pr._updateBoundingVolumes(e,t,o);let c;t.mode===ne.SCENE3D?c=e._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=e._boundingSphereCV:t.mode===ne.SCENE2D&&l(e._boundingSphere2D)?c=e._boundingSphere2D:l(e._boundingSphereMorph)&&(c=e._boundingSphereMorph);let u=t.commandList,f=t.passes;if(f.render||f.pick){let d=e.allowPicking,p=Tn.castShadows(e.shadows),g=Tn.receiveShadows(e.shadows),m=n.length,x=a?2:1;x*=l(e._depthFailAppearance)?2:1;for(let b=0;b<m;++b){let T=Math.floor(b/x),A=n[b];A.modelMatrix=o,A.boundingVolume=c[T],A.cull=r,A.debugShowBoundingVolume=s,A.castShadows=p,A.receiveShadows=g,d?A.pickId="v_pickColor":A.pickId=void 0,u.push(A)}}}Pr.prototype.update=function(e){if(!l(this.geometryInstances)&&this._va.length===0||l(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&this.geometryInstances.length===0||!l(this.appearance)||e.mode!==ne.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)return;if(l(this._error))throw this._error;if(this._state===Ir.FAILED)return;let t=e.context;if(l(this._batchTable)||_Me(this,t),this._batchTable.attributes.length>0){if(Ft.maximumVertexTextureImageUnits===0)throw new se("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==Ir.COMPLETE&&this._state!==Ir.COMBINED&&(this.asynchronous?SMe(this,e):vMe(this,e)),this._state===Ir.COMBINED&&(DMe(this,e),oie(this,e),PMe(this,e)),!this.show||this._state!==Ir.COMPLETE)return;this._batchTableOffsetsUpdated||oie(this,e),this._recomputeBoundingSpheres&&wMe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=l(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),l(this._material)&&this._material.update(t);let u=n.closed&&c;o&&y(this._createRenderStatesFunction,RMe)(this,t,n,u),r&&y(this._createShaderProgramFunction,OMe)(this,e,n),(o||r)&&y(this._createCommandsFunction,MMe)(this,n,i,c,u,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,LMe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,u)};var NMe=new ce,FMe=new ce;function die(e,t,n){if(n===ln.TOP){let i=ce.clone(e,NMe),o=ce.clone(e,FMe);o.center=h.add(o.center,t,o.center),e=ce.union(i,o,e)}else n===ln.ALL&&(e.center=h.add(e.center,t,e.center));return e}function BMe(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=X.createTypedArray(o.componentDatatype,r);return l(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function kMe(e,t,n,i,o){return function(r){let s=cie(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var VMe=new h;function UMe(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(l(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;l(r)&&die(i,h.fromArray(r.get(),0,VMe),e._offsetInstanceExtend[n]),l(o)&&(i=ce.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function zMe(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}Pr.prototype.getGeometryInstanceAttributes=function(e){let t=this._perInstanceAttributeCache.get(e);if(l(t))return t;let n=-1,i=this._lastPerInstanceAttributeIndex,o=this._instanceIds,r=o.length;for(let u=0;u<r;++u){let f=(i+u)%r;if(e===o[f]){n=f;break}}if(n===-1)return;let s=this._batchTable,a=this._batchTableAttributeIndices;t={};let c={};for(let u in a)if(a.hasOwnProperty(u)){let f=a[u];c[u]={get:BMe(s,n,f),set:kMe(s,n,f,this,u)}}return UMe(this,c,n),zMe(this,c,n),Object.defineProperties(t,c),this._lastPerInstanceAttributeIndex=n,this._perInstanceAttributeCache.set(e,t),t};Pr.prototype.isDestroyed=function(){return!1};Pr.prototype.destroy=function(){let e,t;this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();let n=this._va;for(e=n.length,t=0;t<e;++t)n[t].destroy();this._va=void 0;let i=this._pickIds;for(e=i.length,t=0;t<e;++t)i[t].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,ue(this)};function r1(e,t,n,i){e._error=i,e._state=n,t.afterRender.push(function(){e._ready=e._state===Ir.COMPLETE||e._state===Ir.FAILED})}var Pn=Pr;function HMe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.value=e.value}var ac=HMe;var lA=`#ifdef TEXTURE_COORDINATES #ifdef SPHERICAL in vec4 v_sphericalExtents; #else // SPHERICAL @@ -5130,14 +5175,14 @@ void main(void) czm_writeDepthClamp(); #endif // PICK } -`;function gf(e,t,n){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let i=new n9;i.requiresTextureCoordinates=e,i.requiresEC=!n.flat;let o=new n9;if(o.requiresTextureCoordinates=e,n instanceof fn)i.requiresNormalEC=!n.flat;else{let r=`${n.material.shaderSource} -${n.fragmentShaderSource}`;i.normalEC=r.indexOf("materialInput.normalEC")!==-1||r.indexOf("czm_getDefaultMaterial")!==-1,i.positionToEyeEC=r.indexOf("materialInput.positionToEyeEC")!==-1,i.tangentToEyeMatrix=r.indexOf("materialInput.tangentToEyeMatrix")!==-1,i.st=r.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=i,this._pickShaderDependencies=o,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}gf.prototype.createFragmentShader=function(e){let t=this._appearance,n=this._colorShaderDependencies,i=[];!e&&!this._planarExtents&&i.push("SPHERICAL"),n.requiresEC&&i.push("REQUIRES_EC"),n.requiresWC&&i.push("REQUIRES_WC"),n.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),n.requiresNormalEC&&i.push("NORMAL_EC"),t instanceof fn&&i.push("PER_INSTANCE_COLOR"),n.normalEC&&i.push("USES_NORMAL_EC"),n.positionToEyeEC&&i.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&i.push("USES_TANGENT_TO_EYE"),n.st&&i.push("USES_ST"),t.flat&&i.push("FLAT");let o="";return t instanceof fn||(o=t.material.shaderSource),new ze({defines:i,sources:[o,sA]})};gf.prototype.createPickFragmentShader=function(e){let t=this._pickShaderDependencies,n=["PICK"];return!e&&!this._planarExtents&&n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new ze({defines:n,sources:[sA],pickColorQualifier:"in"})};gf.prototype.createVertexShader=function(e,t,n,i){return nie(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,i,this._projectionExtentDefines)};gf.prototype.createPickVertexShader=function(e,t,n,i){return nie(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,i,this._projectionExtentDefines)};var Kne=new h,Zne=new fe,$ne={high:0,low:0};function nie(e,t,n,i,o,r,s,a){let c=i.slice();if(a.eastMostYhighDefine===""){let u=Zne;u.longitude=P.PI,u.latitude=0,u.height=0;let f=s.project(u,Kne),d=Yn.encode(f.x,$ne);a.eastMostYhighDefine=`EAST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.eastMostYlowDefine=`EAST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`;let p=Zne;p.longitude=-P.PI,p.latitude=0,p.height=0;let g=s.project(p,Kne);d=Yn.encode(g.x,$ne),a.westMostYhighDefine=`WEST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.westMostYlowDefine=`WEST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`}return n&&(c.push(a.eastMostYhighDefine),c.push(a.eastMostYlowDefine),c.push(a.westMostYhighDefine),c.push(a.westMostYlowDefine)),l(r)&&r instanceof fn&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||n||c.push("SPHERICAL"),n&&c.push("COLUMBUS_VIEW_2D")),new ze({defines:c,sources:[o]})}function n9(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(n9.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});function Qne(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/z.distance(t,e)}var CMe=[new z,new z,new z,new z];function iie(e,t){let n=CMe,i=z.unpack(t,0,n[0]),o=z.unpack(t,2,n[1]),r=z.unpack(t,4,n[2]);e.uMaxVmax=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});let s=1/Qne(i,o,r),a=1/Qne(i,r,o);e.uvMinAndExtents=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,s,a]})}var oie=new fe,rie=new h,AMe=new h,EMe=new h,iU={high:0,low:0};function sie(e,t,n){let i=oie;i.height=0,i.longitude=e.west,i.latitude=e.south;let o=t.project(i,rie);i.latitude=e.north;let r=t.project(i,AMe);i.longitude=e.east,i.latitude=e.south;let s=t.project(i,EMe),a=[0,0,0,0],c=[0,0,0,0],u=Yn.encode(o.x,iU);a[0]=u.high,c[0]=u.low,u=Yn.encode(o.y,iU),a[1]=u.high,c[1]=u.low,u=Yn.encode(r.y,iU),a[2]=u.high,c[2]=u.low,u=Yn.encode(s.x,iU),a[3]=u.high,c[3]=u.low,n.planes2D_HIGH=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:a}),n.planes2D_LOW=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}var SMe=new F,vMe=new F,Jne=new h,wMe=new fe,DMe=[new fe,new fe,new fe,new fe,new fe,new fe,new fe,new fe];function IMe(e,t,n,i,o,r){let s=se.center(e,wMe);s.height=n;let a=fe.toCartesian(s,t,Jne),c=Lt.eastNorthUpToFixedFrame(a,t,SMe),u=F.inverse(c,vMe),f=e.west,d=e.east,p=e.north,g=e.south,m=DMe;m[0].latitude=g,m[0].longitude=f,m[1].latitude=p,m[1].longitude=f,m[2].latitude=p,m[2].longitude=d,m[3].latitude=g,m[3].longitude=d;let x=(f+d)*.5,b=(p+g)*.5;m[4].latitude=g,m[4].longitude=x,m[5].latitude=p,m[5].longitude=x,m[6].latitude=b,m[6].longitude=f,m[7].latitude=b,m[7].longitude=d;let T=Number.POSITIVE_INFINITY,A=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,E=Number.NEGATIVE_INFINITY;for(let R=0;R<8;R++){m[R].height=n;let M=fe.toCartesian(m[R],t,Jne);F.multiplyByPoint(u,M,M),M.z=0,T=Math.min(T,M.x),A=Math.max(A,M.x),C=Math.min(C,M.y),E=Math.max(E,M.y)}let v=i;v.x=T,v.y=C,v.z=0,F.multiplyByPoint(c,v,v);let D=o;D.x=A,D.y=C,D.z=0,F.multiplyByPoint(c,D,D),h.subtract(D,v,o);let O=r;O.x=T,O.y=E,O.z=0,F.multiplyByPoint(c,O,O),h.subtract(O,v,r)}var PMe=new h,RMe=new h,OMe=new Yn;gf.getPlanarTextureCoordinateAttributes=function(e,t,n,i,o){let r=rie,s=PMe,a=RMe;IMe(e,n,y(o,0),r,s,a);let c={};iie(c,t);let u=Yn.fromCartesian(r,OMe);return c.southWest_HIGH=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.high,[0,0,0])}),c.southWest_LOW=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.low,[0,0,0])}),c.eastward=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(s,[0,0,0])}),c.northward=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(a,[0,0,0])}),sie(e,i,c),c};var MMe=new h;function eie(e,t,n,i){let o=oie;o.latitude=e,o.longitude=t,o.height=0;let r=fe.toCartesian(o,n,MMe),s=Math.sqrt(r.x*r.x+r.y*r.y),a=P.fastApproximateAtan2(s,r.z),c=P.fastApproximateAtan2(r.x,r.y);return i.x=a,i.y=c,i}var tie=new z;gf.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,i){let o=eie(e.south,e.west,n,tie),r=o.x,s=o.y,a=eie(e.north,e.east,n,tie),c=a.x,u=a.y,f=0;s>u&&(f=P.PI-s,s=-P.PI,u+=f),r-=P.EPSILON5,s-=P.EPSILON5,c+=P.EPSILON5,u+=P.EPSILON5;let d=1/(u-s),p=1/(c-r),g={sphericalExtents:new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,d]}),longitudeRotation:new ac({componentDatatype:X.FLOAT,componentsPerAttribute:1,normalize:!1,value:[f]})};return iie(g,t),sie(e,i,g),g};gf.hasAttributesForTextureCoordinatePlanes=function(e){return l(e.southWest_HIGH)&&l(e.southWest_LOW)&&l(e.northward)&&l(e.eastward)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};gf.hasAttributesForSphericalExtents=function(e){return l(e.sphericalExtents)&&l(e.longitudeRotation)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};function LMe(e){return Math.max(e.width,e.height)>gf.MAX_WIDTH_FOR_PLANAR_EXTENTS}gf.shouldUseSphericalCoordinates=function(e){return LMe(e)};gf.MAX_WIDTH_FOR_PLANAR_EXTENTS=P.toRadians(1);var hu=gf;var NMe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},Wn=Object.freeze(NMe);var FMe={ZERO:te.ZERO,KEEP:te.KEEP,REPLACE:te.REPLACE,INCREMENT:te.INCR,DECREMENT:te.DECR,INVERT:te.INVERT,INCREMENT_WRAP:te.INCR_WRAP,DECREMENT_WRAP:te.DECR_WRAP},dt=Object.freeze(FMe);var oU={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};oU.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:Wn.ALWAYS,frontOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.REPLACE},backFunction:Wn.ALWAYS,backOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.REPLACE},reference:oU.CESIUM_3D_TILE_MASK,mask:oU.CESIUM_3D_TILE_MASK}};var Vt=Object.freeze(oU);function Ex(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Hn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(Ex.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});Ex.isSupported=function(e){return e.context.stencilBuffer};function aA(e,t){let n=t?Wn.EQUAL:Wn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:dt.KEEP,zFail:dt.DECREMENT_WRAP,zPass:dt.KEEP},backFunction:n,backOperation:{fail:dt.KEEP,zFail:dt.INCREMENT_WRAP,zPass:dt.KEEP},reference:Vt.CESIUM_3D_TILE_MASK,mask:Vt.CESIUM_3D_TILE_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},depthMask:!1}}function o9(e){return{stencilTest:{enabled:e,frontFunction:Wn.NOT_EQUAL,frontOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},backFunction:Wn.NOT_EQUAL,backOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},reference:0,mask:Vt.CLASSIFICATION_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND}}var BMe={stencilTest:{enabled:!0,frontFunction:Wn.NOT_EQUAL,frontOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},backFunction:Wn.NOT_EQUAL,backOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},reference:0,mask:Vt.CLASSIFICATION_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function kMe(e,t,n,i){if(l(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=Ve.fromCache(aA(o,!1)),e._rsStencilDepthPass3DTiles=Ve.fromCache(aA(o,!0)),e._rsColorPass=Ve.fromCache(o9(o,!1)),e._rsPickPass=Ve.fromCache(BMe)}function VMe(e,t){if(!e.compressVertices)return t;if(t.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`in vec2 ${n};`,o=`vec3 extrudeDirection; +`;function bf(e,t,n){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let i=new d9;i.requiresTextureCoordinates=e,i.requiresEC=!n.flat;let o=new d9;if(o.requiresTextureCoordinates=e,n instanceof fn)i.requiresNormalEC=!n.flat;else{let r=`${n.material.shaderSource} +${n.fragmentShaderSource}`;i.normalEC=r.indexOf("materialInput.normalEC")!==-1||r.indexOf("czm_getDefaultMaterial")!==-1,i.positionToEyeEC=r.indexOf("materialInput.positionToEyeEC")!==-1,i.tangentToEyeMatrix=r.indexOf("materialInput.tangentToEyeMatrix")!==-1,i.st=r.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=i,this._pickShaderDependencies=o,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}bf.prototype.createFragmentShader=function(e){let t=this._appearance,n=this._colorShaderDependencies,i=[];!e&&!this._planarExtents&&i.push("SPHERICAL"),n.requiresEC&&i.push("REQUIRES_EC"),n.requiresWC&&i.push("REQUIRES_WC"),n.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),n.requiresNormalEC&&i.push("NORMAL_EC"),t instanceof fn&&i.push("PER_INSTANCE_COLOR"),n.normalEC&&i.push("USES_NORMAL_EC"),n.positionToEyeEC&&i.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&i.push("USES_TANGENT_TO_EYE"),n.st&&i.push("USES_ST"),t.flat&&i.push("FLAT");let o="";return t instanceof fn||(o=t.material.shaderSource),new Ue({defines:i,sources:[o,lA]})};bf.prototype.createPickFragmentShader=function(e){let t=this._pickShaderDependencies,n=["PICK"];return!e&&!this._planarExtents&&n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new Ue({defines:n,sources:[lA],pickColorQualifier:"in"})};bf.prototype.createVertexShader=function(e,t,n,i){return bie(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,i,this._projectionExtentDefines)};bf.prototype.createPickVertexShader=function(e,t,n,i){return bie(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,i,this._projectionExtentDefines)};var hie=new h,mie=new fe,pie={high:0,low:0};function bie(e,t,n,i,o,r,s,a){let c=i.slice();if(a.eastMostYhighDefine===""){let u=mie;u.longitude=P.PI,u.latitude=0,u.height=0;let f=s.project(u,hie),d=jn.encode(f.x,pie);a.eastMostYhighDefine=`EAST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.eastMostYlowDefine=`EAST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`;let p=mie;p.longitude=-P.PI,p.latitude=0,p.height=0;let g=s.project(p,hie);d=jn.encode(g.x,pie),a.westMostYhighDefine=`WEST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.westMostYlowDefine=`WEST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`}return n&&(c.push(a.eastMostYhighDefine),c.push(a.eastMostYlowDefine),c.push(a.westMostYhighDefine),c.push(a.westMostYlowDefine)),l(r)&&r instanceof fn&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||n||c.push("SPHERICAL"),n&&c.push("COLUMBUS_VIEW_2D")),new Ue({defines:c,sources:[o]})}function d9(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(d9.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});function _ie(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/z.distance(t,e)}var GMe=[new z,new z,new z,new z];function Tie(e,t){let n=GMe,i=z.unpack(t,0,n[0]),o=z.unpack(t,2,n[1]),r=z.unpack(t,4,n[2]);e.uMaxVmax=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});let s=1/_ie(i,o,r),a=1/_ie(i,r,o);e.uvMinAndExtents=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,s,a]})}var Cie=new fe,Aie=new h,WMe=new h,jMe=new h,fU={high:0,low:0};function Eie(e,t,n){let i=Cie;i.height=0,i.longitude=e.west,i.latitude=e.south;let o=t.project(i,Aie);i.latitude=e.north;let r=t.project(i,WMe);i.longitude=e.east,i.latitude=e.south;let s=t.project(i,jMe),a=[0,0,0,0],c=[0,0,0,0],u=jn.encode(o.x,fU);a[0]=u.high,c[0]=u.low,u=jn.encode(o.y,fU),a[1]=u.high,c[1]=u.low,u=jn.encode(r.y,fU),a[2]=u.high,c[2]=u.low,u=jn.encode(s.x,fU),a[3]=u.high,c[3]=u.low,n.planes2D_HIGH=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:a}),n.planes2D_LOW=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}var qMe=new F,YMe=new F,gie=new h,XMe=new fe,KMe=[new fe,new fe,new fe,new fe,new fe,new fe,new fe,new fe];function ZMe(e,t,n,i,o,r){let s=ae.center(e,XMe);s.height=n;let a=fe.toCartesian(s,t,gie),c=Lt.eastNorthUpToFixedFrame(a,t,qMe),u=F.inverse(c,YMe),f=e.west,d=e.east,p=e.north,g=e.south,m=KMe;m[0].latitude=g,m[0].longitude=f,m[1].latitude=p,m[1].longitude=f,m[2].latitude=p,m[2].longitude=d,m[3].latitude=g,m[3].longitude=d;let x=(f+d)*.5,b=(p+g)*.5;m[4].latitude=g,m[4].longitude=x,m[5].latitude=p,m[5].longitude=x,m[6].latitude=b,m[6].longitude=f,m[7].latitude=b,m[7].longitude=d;let T=Number.POSITIVE_INFINITY,A=Number.NEGATIVE_INFINITY,C=Number.POSITIVE_INFINITY,E=Number.NEGATIVE_INFINITY;for(let R=0;R<8;R++){m[R].height=n;let M=fe.toCartesian(m[R],t,gie);F.multiplyByPoint(u,M,M),M.z=0,T=Math.min(T,M.x),A=Math.max(A,M.x),C=Math.min(C,M.y),E=Math.max(E,M.y)}let v=i;v.x=T,v.y=C,v.z=0,F.multiplyByPoint(c,v,v);let D=o;D.x=A,D.y=C,D.z=0,F.multiplyByPoint(c,D,D),h.subtract(D,v,o);let O=r;O.x=T,O.y=E,O.z=0,F.multiplyByPoint(c,O,O),h.subtract(O,v,r)}var $Me=new h,QMe=new h,JMe=new jn;bf.getPlanarTextureCoordinateAttributes=function(e,t,n,i,o){let r=Aie,s=$Me,a=QMe;ZMe(e,n,y(o,0),r,s,a);let c={};Tie(c,t);let u=jn.fromCartesian(r,JMe);return c.southWest_HIGH=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.high,[0,0,0])}),c.southWest_LOW=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.low,[0,0,0])}),c.eastward=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(s,[0,0,0])}),c.northward=new ac({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(a,[0,0,0])}),Eie(e,i,c),c};var eLe=new h;function yie(e,t,n,i){let o=Cie;o.latitude=e,o.longitude=t,o.height=0;let r=fe.toCartesian(o,n,eLe),s=Math.sqrt(r.x*r.x+r.y*r.y),a=P.fastApproximateAtan2(s,r.z),c=P.fastApproximateAtan2(r.x,r.y);return i.x=a,i.y=c,i}var xie=new z;bf.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,i){let o=yie(e.south,e.west,n,xie),r=o.x,s=o.y,a=yie(e.north,e.east,n,xie),c=a.x,u=a.y,f=0;s>u&&(f=P.PI-s,s=-P.PI,u+=f),r-=P.EPSILON5,s-=P.EPSILON5,c+=P.EPSILON5,u+=P.EPSILON5;let d=1/(u-s),p=1/(c-r),g={sphericalExtents:new ac({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,d]}),longitudeRotation:new ac({componentDatatype:X.FLOAT,componentsPerAttribute:1,normalize:!1,value:[f]})};return Tie(g,t),Eie(e,i,g),g};bf.hasAttributesForTextureCoordinatePlanes=function(e){return l(e.southWest_HIGH)&&l(e.southWest_LOW)&&l(e.northward)&&l(e.eastward)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};bf.hasAttributesForSphericalExtents=function(e){return l(e.sphericalExtents)&&l(e.longitudeRotation)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};function tLe(e){return Math.max(e.width,e.height)>bf.MAX_WIDTH_FOR_PLANAR_EXTENTS}bf.shouldUseSphericalCoordinates=function(e){return tLe(e)};bf.MAX_WIDTH_FOR_PLANAR_EXTENTS=P.toRadians(1);var du=bf;var nLe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},Hn=Object.freeze(nLe);var iLe={ZERO:te.ZERO,KEEP:te.KEEP,REPLACE:te.REPLACE,INCREMENT:te.INCR,DECREMENT:te.DECR,INVERT:te.INVERT,INCREMENT_WRAP:te.INCR_WRAP,DECREMENT_WRAP:te.DECR_WRAP},ht=Object.freeze(iLe);var dU={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};dU.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:Hn.ALWAYS,frontOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.REPLACE},backFunction:Hn.ALWAYS,backOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.REPLACE},reference:dU.CESIUM_3D_TILE_MASK,mask:dU.CESIUM_3D_TILE_MASK}};var zt=Object.freeze(dU);function Px(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,zn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(Px.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});Px.isSupported=function(e){return e.context.stencilBuffer};function uA(e,t){let n=t?Hn.EQUAL:Hn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:ht.KEEP,zFail:ht.DECREMENT_WRAP,zPass:ht.KEEP},backFunction:n,backOperation:{fail:ht.KEEP,zFail:ht.INCREMENT_WRAP,zPass:ht.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},depthMask:!1}}function m9(e){return{stencilTest:{enabled:e,frontFunction:Hn.NOT_EQUAL,frontOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},backFunction:Hn.NOT_EQUAL,backOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:dn.PRE_MULTIPLIED_ALPHA_BLEND}}var oLe={stencilTest:{enabled:!0,frontFunction:Hn.NOT_EQUAL,frontOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},backFunction:Hn.NOT_EQUAL,backOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function rLe(e,t,n,i){if(l(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=Ve.fromCache(uA(o,!1)),e._rsStencilDepthPass3DTiles=Ve.fromCache(uA(o,!0)),e._rsColorPass=Ve.fromCache(m9(o,!1)),e._rsPickPass=Ve.fromCache(oLe)}function sLe(e,t){if(!e.compressVertices)return t;if(t.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`in vec2 ${n};`,o=`vec3 extrudeDirection; `,r=` extrudeDirection = czm_octDecode(${n}, 65535.0); -`,s=t;s=s.replace(/in\s+vec3\s+extrudeDirection;/g,""),s=ze.replaceMain(s,"czm_non_compressed_main");let a=`void main() +`,s=t;s=s.replace(/in\s+vec3\s+extrudeDirection;/g,""),s=Ue.replaceMain(s,"czm_non_compressed_main");let a=`void main() { ${r} czm_non_compressed_main(); }`;return[i,o,s,a].join(` -`)}}function UMe(e,t){let n=t.context,i=e._primitive,o=GP;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=Pn._appendDistanceDisplayConditionToShader(i,o),o=Pn._modifyShaderPosition(e,o,t.scene3DOnly),o=Pn._updateColorAttribute(i,o);let r=e._hasPlanarExtentsAttributes,s=r||e._hasSphericalExtentsAttribute;e._extruded&&(o=VMe(i,o));let a=e._extruded?"EXTRUDED_GEOMETRY":"",c=new ze({defines:[a],sources:[o]}),u=new ze({sources:[zg]}),f=e._primitive._attributeLocations,d=new hu(s,r,e.appearance);if(e._spStencil=an.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f}),e._primitive.allowPicking){let m=ze.createPickVertexShaderSource(o);m=Pn._appendShowToShader(i,m),m=Pn._updatePickColorAttribute(m);let x=d.createPickFragmentShader(!1),b=d.createPickVertexShader([a],m,!1,t.mapProjection);if(e._spPick=an.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f}),s){let T=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!l(T)){let A=d.createPickFragmentShader(!0),C=d.createPickVertexShader([a],m,!0,t.mapProjection);T=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:C,fragmentShaderSource:A,attributeLocations:f})}e._spPick2D=T}}else e._spPick=an.fromCache({context:n,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});o=Pn._appendShowToShader(i,o),c=new ze({defines:[a],sources:[o]}),e._sp=an.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});let p=d.createFragmentShader(!1),g=d.createVertexShader([a],o,!1,t.mapProjection);if(e._spColor=an.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:g,fragmentShaderSource:p,attributeLocations:f}),s){let m=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!l(m)){let x=d.createFragmentShader(!0),b=d.createVertexShader([a],o,!0,t.mapProjection);m=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f})}e._spColor2D=m}}function zMe(e,t){let n=e._primitive,i=n._va.length*2;t.length=i;let o,r,s,a=0,c=n._batchTable.getUniformMapCallback()(e._uniformMap),u=e._needs2DShader;for(o=0;o<i;o+=2){let g=n._va[a++];r=t[o],l(r)||(r=t[o]=new Xe({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsStencilDepthPass,r.shaderProgram=e._sp,r.uniformMap=c,r.pass=Se.TERRAIN_CLASSIFICATION,s=Xe.shallowClone(r,r.derivedCommands.tileset),s.renderState=e._rsStencilDepthPass3DTiles,s.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,r=t[o+1],l(r)||(r=t[o+1]=new Xe({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsColorPass,r.shaderProgram=e._spColor,r.pass=Se.TERRAIN_CLASSIFICATION;let x=e.appearance.material;if(l(x)&&(c=bt(c,x._uniforms)),r.uniformMap=c,s=Xe.shallowClone(r,r.derivedCommands.tileset),s.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,u){let b=Xe.shallowClone(r,r.derivedCommands.appearance2D);b.shaderProgram=e._spColor2D,r.derivedCommands.appearance2D=b,b=Xe.shallowClone(s,s.derivedCommands.appearance2D),b.shaderProgram=e._spColor2D,s.derivedCommands.appearance2D=b}}let f=e._commandsIgnoreShow,d=e._spStencil,p=0;i=f.length=i/2;for(let g=0;g<i;++g){let m=f[g]=Xe.shallowClone(t[p],f[g]);m.shaderProgram=d,m.pass=Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,p+=2}}function HMe(e,t){let n=e._usePickOffsets,i=e._primitive,o=i._va.length*2,r,s=0,a;n&&(r=i._pickOffsets,o=r.length*2),t.length=o;let c,u,f,d=0,p=i._batchTable.getUniformMapCallback()(e._uniformMap),g=e._needs2DShader;for(c=0;c<o;c+=2){let m=i._va[d++];if(n&&(a=r[s++],m=i._va[a.index]),u=t[c],l(u)||(u=t[c]=new Xe({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsStencilDepthPass,u.shaderProgram=e._sp,u.uniformMap=p,u.pass=Se.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=Xe.shallowClone(u,u.derivedCommands.tileset),f.renderState=e._rsStencilDepthPass3DTiles,f.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,u=t[c+1],l(u)||(u=t[c+1]=new Xe({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsPickPass,u.shaderProgram=e._spPick,u.uniformMap=p,u.pass=Se.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=Xe.shallowClone(u,u.derivedCommands.tileset),f.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,g){let x=Xe.shallowClone(u,u.derivedCommands.pick2D);x.shaderProgram=e._spPick2D,u.derivedCommands.pick2D=x,x=Xe.shallowClone(f,f.derivedCommands.pick2D),x.shaderProgram=e._spPick2D,f.derivedCommands.pick2D=x}}}function GMe(e,t,n,i,o,r,s){zMe(e,r),HMe(e,s)}function aie(e,t){return Math.floor(e%t/2)}function i9(e,t,n,i,o,r){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,e.debugShowBoundingVolume=r,t.commandList.push(e)}function cie(e,t,n,i,o){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,t.commandList.push(e)}function WMe(e,t,n,i,o,r,s,a){let c=e._primitive;Pn._updateBoundingVolumes(c,t,o);let u;t.mode===ne.SCENE3D?u=c._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?u=c._boundingSphereCV:t.mode===ne.SCENE2D&&l(c._boundingSphere2D)?u=c._boundingSphere2D:l(c._boundingSphereMorph)&&(u=c._boundingSphereMorph);let f=e.classificationType,d=f!==Hn.CESIUM_3D_TILE,p=f!==Hn.TERRAIN,g=t.passes,m,x,b;if(g.render){let T=n.length;for(m=0;m<T;++m)x=u[aie(m,T)],d&&(b=n[m],i9(b,t,o,r,x,s)),p&&(b=n[m].derivedCommands.tileset,i9(b,t,o,r,x,s));if(t.invertClassification){let A=e._commandsIgnoreShow,C=A.length;for(m=0;m<C;++m)x=u[m],b=A[m],i9(b,t,o,r,x,s)}}if(g.pick){let T=i.length,A=c._pickOffsets;for(m=0;m<T;++m){let C=A[aie(m,T)];x=u[C.index],d&&(b=i[m],cie(b,t,o,r,x)),p&&(b=i[m].derivedCommands.tileset,cie(b,t,o,r,x))}}}Ex.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;let t=this.appearance;l(t)&&l(t.material)&&t.material.update(e.context);let n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s,a,c,u=!1,f=!0,d,p=!1,g=!1;for(r>0&&(c=o[0].attributes,p=hu.hasAttributesForSphericalExtents(c),g=hu.hasAttributesForTextureCoordinatePlanes(c),d=c.color),s=0;s<r;s++){a=o[s];let x=a.attributes.color;l(x)&&(u=!0),f=f&&l(x)&&Wt.equals(d,x)}if(!f&&!p&&!g)throw new de("All GeometryInstances must have the same color attribute except via GroundPrimitives");u&&!l(t)&&(t=new fn({flat:!0}),this.appearance=t),this._usePickOffsets=!p&&!g,this._hasSphericalExtentsAttribute=p,this._hasPlanarExtentsAttributes=g,this._hasPerColorAttribute=u;let m=new Array(r);for(s=0;s<r;++s)a=o[s],m[s]=new vt({geometry:a.geometry,attributes:a.attributes,modelMatrix:a.modelMatrix,id:a.id,pickPrimitive:y(this._pickPrimitive,n)});i.appearance=t,i.geometryInstances=m,l(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(x,b){n._createBoundingVolumeFunction(x,b)}),i._createRenderStatesFunction=function(x,b,T,A){kMe(n,b)},i._createShaderProgramFunction=function(x,b,T){UMe(n,b)},i._createCommandsFunction=function(x,b,T,A,C,E,v){GMe(n,void 0,void 0,!0,!1,E,v)},l(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(x,b,T,A,C,E,v,D){n._updateAndQueueCommandsFunction(x,b,T,A,C,E,v,D)}:i._updateAndQueueCommandsFunction=function(x,b,T,A,C,E,v,D){WMe(n,b,T,A,C,E,v,D)},this._primitive=new Pn(i)}this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=Ve.fromCache(aA(!1,!1)),this._rsStencilDepthPass3DTiles=Ve.fromCache(aA(!1,!0)),this._rsColorPass=Ve.fromCache(o9(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=Ve.fromCache(aA(!0,!1)),this._rsStencilDepthPass3DTiles=Ve.fromCache(aA(!0,!0)),this._rsColorPass=Ve.fromCache(o9(!0))),this._primitive.appearance!==t&&(this._primitive.appearance=t),this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Ex.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Ex.prototype.isDestroyed=function(){return!1};Ex.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,ue(this)};var cA=Ex;var jMe={u_globeMinimumAltitude:function(){return 55e3}};function Sl(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!l(t)&&l(n)){let o=Array.isArray(n)?n:[n],r=o.length;for(let s=0;s<r;s++){let a=o[s].attributes;if(l(a)&&l(a.color)){t=new fn({flat:!0});break}}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Hn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1,this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=fi._defaultMaxTerrainHeight,this._minTerrainHeight=fi._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let i=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:i,_extruded:!0,_uniformMap:jMe}}Object.defineProperties(Sl.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}}});Sl.isSupported=cA.isSupported;function lie(e){return function(t,n){let i=n.maximumRadius,o=i/Math.cos(t*.5)-i;return e._maxHeight+o}}function uie(e){return function(t,n){return e._minHeight}}var qMe=new h,YMe=new h,XMe=new h,KMe=new fe,ZMe=new se;function rU(e,t){let n=e.mapProjection.ellipsoid;if(!l(t.attributes)||!l(t.attributes.position3DHigh))return l(t.rectangle)?t.rectangle:void 0;let i=t.attributes.position3DHigh.values,o=t.attributes.position3DLow.values,r=i.length,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(let d=0;d<r;d+=3){let p=h.unpack(i,d,qMe),g=h.unpack(o,d,YMe),m=h.add(p,g,XMe),x=n.cartesianToCartographic(m,KMe),b=x.latitude,T=x.longitude;s=Math.min(s,b),a=Math.min(a,T),c=Math.max(c,b),u=Math.max(u,T)}let f=ZMe;return f.north=c,f.south=s,f.east=u,f.west=a,f}function $Me(e,t,n){let i=fi.getMinimumMaximumHeights(t,n);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function QMe(e,t,n){let i=t.mapProjection.ellipsoid,o=rU(t,n),r=In.fromRectangle(o,e._minHeight,e._maxHeight,i);if(e._boundingVolumes.push(r),!t.scene3DOnly){let s=t.mapProjection,a=ae.fromRectangleWithHeights2D(o,s,e._maxHeight,e._minHeight);h.fromElements(a.center.z,a.center.x,a.center.y,a.center),e._boundingVolumes2D.push(a)}}function r9(e,t){return Math.floor(e%t/2)}function s9(e,t,n,i,o,r,s){let a=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===a._spColor&&a._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function fie(e,t,n,i,o,r){let s=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===s._spPick&&s._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,n.commandList.push(t)}function JMe(e,t,n,i,o,r,s,a){let c;t.mode===ne.SCENE3D?c=e._boundingVolumes:c=e._boundingVolumes2D;let u=e.classificationType,f=u!==Hn.CESIUM_3D_TILE,d=u!==Hn.TERRAIN,p=t.passes,g=e._primitive,m,x,b;if(p.render){let T=n.length;for(m=0;m<T;++m)x=c[r9(m,T)],f&&(b=n[m],s9(e,b,t,o,r,x,s)),d&&(b=n[m].derivedCommands.tileset,s9(e,b,t,o,r,x,s));if(t.invertClassification){let A=g._commandsIgnoreShow,C=A.length;for(m=0;m<C;++m)x=c[m],b=A[m],s9(e,b,t,o,r,x,s)}}if(p.pick){let T=i.length,A;for(e._useFragmentCulling||(A=g._primitive._pickOffsets),m=0;m<T;++m){if(x=c[r9(m,T)],!e._useFragmentCulling){let C=A[r9(m,T)];x=c[C.index]}f&&(b=i[m],fie(e,b,t,o,r,x)),d&&(b=i[m].derivedCommands.tileset,fie(e,b,t,o,r,x))}}}Sl.initializeTerrainHeights=function(){return fi.initialize()};Sl.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!fi.initialized){Sl.initializeTerrainHeights();return}let t=this,n=this._classificationPrimitiveOptions;if(!l(this._primitive)){let i=e.mapProjection.ellipsoid,o,r,s,a=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],c=a.length,u=new Array(c),f,d;for(f=0;f<c;++f){o=a[f],r=o.geometry;let x=rU(e,r);l(d)?l(x)&&se.union(d,x,d):d=se.clone(x);let b=o.id;if(l(b)&&l(x)){let T=fi.getBoundingSphere(x,i);this._boundingSpheresKeys.push(b),this._boundingSpheres.push(T)}s=r.constructor,!l(s)||l(s.createShadowVolume)}$Me(this,d,i);let p=e.verticalExaggeration,g=e.verticalExaggerationRelativeHeight;this._minHeight=Cr.getHeight(this._minTerrainHeight,p,g),this._maxHeight=Cr.getHeight(this._maxTerrainHeight,p,g);let m=Sl._supportsMaterials(e.context);if(this._useFragmentCulling=m,m){let x,b=!0;for(f=0;f<c;++f)if(o=a[f],r=o.geometry,d=rU(e,r),hu.shouldUseSphericalCoordinates(d)){b=!1;break}for(f=0;f<c;++f){o=a[f],r=o.geometry,s=r.constructor;let T=rU(e,r),A=r.textureCoordinateRotationPoints;b?x=hu.getPlanarTextureCoordinateAttributes(T,A,i,e.mapProjection,this._maxHeight):x=hu.getSphericalExtentGeometryInstanceAttributes(T,A,i,e.mapProjection);let C=o.attributes;for(let E in C)C.hasOwnProperty(E)&&(x[E]=C[E]);u[f]=new vt({geometry:s.createShadowVolume(r,uie(this),lie(this)),attributes:x,id:o.id})}}else for(f=0;f<c;++f)o=a[f],r=o.geometry,s=r.constructor,u[f]=new vt({geometry:s.createShadowVolume(r,uie(this),lie(this)),attributes:o.attributes,id:o.id});n.geometryInstances=u,n.appearance=this.appearance,n._createBoundingVolumeFunction=function(x,b){QMe(t,x,b)},n._updateAndQueueCommandsFunction=function(x,b,T,A,C,E,v,D){JMe(t,b,T,A,C,E,v,D)},this._primitive=new cA(n)}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Sl.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};Sl.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Sl.prototype.isDestroyed=function(){return!1};Sl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};Sl._supportsMaterials=function(e){return e.depthTexture};Sl.supportsMaterials=function(e){return Sl._supportsMaterials(e.frameState.context)};var Vc=Sl;function lA(){de.throwInstantiationError()}Object.defineProperties(lA.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});lA.prototype.getType=de.throwInstantiationError;lA.prototype.getValue=de.throwInstantiationError;lA.prototype.equals=de.throwInstantiationError;var eLe=new K;lA.getValue=function(e,t,n){let i;return l(e)||(e=K.now(eLe)),l(t)&&(i=t.getType(e),l(i))?((!l(n)||n.type!==i)&&(n=Xi.fromType(i)),t.getValue(e,n.uniforms),n):((!l(n)||n.type!==Xi.ColorType)&&(n=Xi.fromType(Xi.ColorType)),H.clone(H.WHITE,n.uniforms.color),n)};var $o=lA;function Sx(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}Sx.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!q.getValueOrDefault(t.show,n,!0)};Sx.prototype._setOptions=de.throwInstantiationError;Sx.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!l(s.fill)||s.fill.getValue(e)){let u=t.fillMaterialProperty,f=u instanceof Ut,d,p=t._getIsClosed(c);if(f)d=new fn({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=$o.getValue(e,u,this._material);this._material=g,d=new uo({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=fn.VERTEX_FORMAT,this._primitive=o.add(new Vc({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:d,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),q.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=d.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);f&&(d.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new Pn({geometryInstances:g,appearance:d,asynchronous:!1,shadows:a}))}}if(!n&&l(s.outline)&&s.outline.getValue(e)){let u=this._geometryUpdater.createOutlineGeometryInstance(e),f=q.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new Pn({geometryInstances:u,appearance:new fn({flat:!0,translucent:u.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(f)}}),asynchronous:!1,shadows:a}))}};Sx.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return l(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ae.clone(o.boundingSphere,e),lt.DONE):l(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ae.clone(o.boundingSphere,e),lt.DONE):l(n)&&!n.ready||l(i)&&!i.ready?lt.PENDING:lt.FAILED};Sx.prototype.isDestroyed=function(){return!1};Sx.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),ue(this)};var ri=Sx;var tLe={NONE:0,GEODESIC:1,RHUMB:2},tn=Object.freeze(tLe);var die=P.EPSILON10;function nLe(e,t,n,i){if(!l(e))return;n=y(n,!1);let o=l(i),r=e.length;if(r<2)return e;let s,a=e[0],c,u,f=0,d=-1;for(s=1;s<r;++s)c=e[s],t(a,c,die)?(l(u)||(u=e.slice(0,s),f=s-1,d=0),o&&i.push(s)):(l(u)&&(u.push(c),f=s,o&&(d=i.length)),a=c);return n&&t(e[0],e[r-1],die)&&(o&&(l(u)?i.splice(d,0,f):i.push(r-1)),l(u)?u.length-=1:u=e.slice(0,-1)),l(u)?u:e}var Co=nLe;function iLe(e){let t=e._uSquared,n=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,o=(n-i)/n,r=Math.cos(e._startHeading),s=Math.sin(e._startHeading),a=(1-o)*Math.tan(e._start.latitude),c=1/Math.sqrt(1+a*a),u=c*a,f=Math.atan2(a,r),d=c*s,p=d*d,g=1-p,m=Math.sqrt(g),x=t/4,b=x*x,T=b*x,A=b*b,C=1+x-3*b/4+5*T/4-175*A/64,E=1-x+15*b/8-35*T/8,v=1-3*x+35*b/4,D=1-5*x,O=C*f-E*Math.sin(2*f)*x/2-v*Math.sin(4*f)*b/16-D*Math.sin(6*f)*T/48-Math.sin(8*f)*5*A/512,R=e._constants;R.a=n,R.b=i,R.f=o,R.cosineHeading=r,R.sineHeading=s,R.tanU=a,R.cosineU=c,R.sineU=u,R.sigma=f,R.sineAlpha=d,R.sineSquaredAlpha=p,R.cosineSquaredAlpha=g,R.cosineAlpha=m,R.u2Over4=x,R.u4Over16=b,R.u6Over64=T,R.u8Over256=A,R.a0=C,R.a1=E,R.a2=v,R.a3=D,R.distanceRatio=O}function oLe(e,t){return e*t*(4+e*(4-3*t))/16}function hie(e,t,n,i,o,r,s){let a=oLe(e,n);return(1-a)*e*t*(i+a*o*(s+a*r*(2*s*s-1)))}function rLe(e,t,n,i,o,r,s){let a=(t-n)/t,c=r-i,u=Math.atan((1-a)*Math.tan(o)),f=Math.atan((1-a)*Math.tan(s)),d=Math.cos(u),p=Math.sin(u),g=Math.cos(f),m=Math.sin(f),x=d*g,b=d*m,T=p*m,A=p*g,C=c,E=P.TWO_PI,v=Math.cos(C),D=Math.sin(C),O,R,M,N,_;do{v=Math.cos(C),D=Math.sin(C);let k=b-A*v;M=Math.sqrt(g*g*D*D+k*k),R=T+x*v,O=Math.atan2(M,R);let Y;M===0?(Y=0,N=1):(Y=x*D/M,N=1-Y*Y),E=C,_=R-2*T/N,isFinite(_)||(_=0),C=c+hie(a,Y,N,O,M,R,_)}while(Math.abs(C-E)>P.EPSILON12);let S=N*(t*t-n*n)/(n*n),w=1+S*(4096+S*(S*(320-175*S)-768))/16384,I=S*(256+S*(S*(74-47*S)-128))/1024,L=_*_,B=I*M*(_+I*(R*(2*L-1)-I*_*(4*M*M-3)*(4*L-3)/6)/4),U=n*w*(O-B),V=Math.atan2(g*D,b-A*v),G=Math.atan2(d*D,b*v-A);e._distance=U,e._startHeading=V,e._endHeading=G,e._uSquared=S}var sLe=new h,a9=new h;function mie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,a9),sLe),r=h.normalize(i.cartographicToCartesian(n,a9),a9);rLe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=fe.clone(t,e._start),e._end=fe.clone(n,e._end),e._start.height=0,e._end.height=0,iLe(e)}function JP(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,l(e)&&l(t)&&mie(this,e,t,i)}Object.defineProperties(JP.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});JP.prototype.setEndPoints=function(e,t){mie(this,e,t,this._ellipsoid)};JP.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};JP.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),u=Math.sin(6*i),f=Math.sin(8*i),d=i*i,p=i*d,g=n.u8Over256,m=n.u2Over4,x=n.u6Over64,b=n.u4Over16,T=2*p*g*o/3+i*(1-m+7*b/4-15*x/4+579*g/64-(b-15*x/4+187*g/16)*o-(5*x/4-115*g/16)*r-29*g*s/16)+(m/2-b+71*x/32-85*g/16)*a+(5*b/16-5*x/4+383*g/96)*c-d*((x-11*g/2)*a+5*g*c/2)+(29*x/96-29*g/16)*u+539*g*f/1536,A=Math.asin(Math.sin(T)*n.cosineAlpha),C=Math.atan(n.a/n.b*Math.tan(A));T=T-n.sigma;let E=Math.cos(2*n.sigma+T),v=Math.sin(T),D=Math.cos(T),O=n.cosineU*D,R=n.sineU*v,N=Math.atan2(v*n.sineHeading,O-R*n.cosineHeading)-hie(n.f,n.sineAlpha,n.cosineSquaredAlpha,T,v,D,E);return l(t)?(t.longitude=this._start.longitude+N,t.latitude=C,t.height=0,t):new fe(this._start.longitude+N,C,0)};var Ip=JP;function l9(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,u=n,f=Math.sin(2*u),d=Math.sin(4*u),p=Math.sin(6*u),g=Math.sin(8*u),m=Math.sin(10*u),x=Math.sin(12*u);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*u-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*f+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*d-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*m+1001*c/8388608*x)}function aLe(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,u=c*c,f=u*c,d=f*c,p=d*c,g=p*c,m=Math.sin(2*i),x=Math.cos(2*i),b=Math.sin(4*i),T=Math.cos(4*i),A=Math.sin(6*i),C=Math.cos(6*i),E=Math.sin(8*i),v=Math.cos(8*i),D=Math.sin(10*i),O=Math.cos(10*i),R=Math.sin(12*i);return i+i*c/4+7*i*u/64+15*i*f/256+579*i*d/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*u/16+45*i*f/256-i*(32*o-561)*d/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*x+(21*i*f/256+483*i*d/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*T+(151*i*d/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*C+(1097*i*p/65536+42783*i*g/1048576)*v+8011*i*g/1048576*O+(3*c/8+3*u/16+213*f/2048-3*o*f/64+255*d/4096-33*o*d/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*m+(21*u/256+21*f/256+533*d/8192-21*o*d/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*b+(151*f/6144+151*d/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*A+(1097*d/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*E+(8011*p/2621440+8011*g/1048576)*D+293393*g/251658240*R}function uA(e,t){if(e===0)return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function cLe(e,t,n,i,o){let r=uA(e._ellipticity,n),s=uA(e._ellipticity,o);return Math.atan2(P.negativePiToPi(i-t),s-r)}function lLe(e,t,n,i,o,r,s){let a=e._heading,c=r-i,u=0;if(P.equalsEpsilon(Math.abs(a),P.PI_OVER_TWO,P.EPSILON8))if(t===n)u=t*Math.cos(o)*P.negativePiToPi(c);else{let f=Math.sin(o);u=t*Math.cos(o)*P.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*f*f)}else{let f=l9(e._ellipticity,t,o);u=(l9(e._ellipticity,t,s)-f)/Math.cos(a)}return Math.abs(u)}var uLe=new h,c9=new h;function pie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,c9),uLe),r=h.normalize(i.cartographicToCartesian(n,c9),c9),s=i.maximumRadius,a=i.minimumRadius,c=s*s,u=a*a;e._ellipticitySquared=(c-u)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=fe.clone(t,e._start),e._start.height=0,e._end=fe.clone(n,e._end),e._end.height=0,e._heading=cLe(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=lLe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function _ie(e,t,n,i,o,r){if(n===0)return fe.clone(e,r);let s=o*o,a,c,u;if(Math.abs(P.PI_OVER_TWO-Math.abs(t))>P.EPSILON8){let f=l9(o,i,e.latitude),d=n*Math.cos(t),p=f+d;if(c=aLe(p,o,i),Math.abs(t)<P.EPSILON10)a=P.negativePiToPi(e.longitude);else{let g=uA(o,e.latitude),m=uA(o,c);u=Math.tan(t)*(m-g),a=P.negativePiToPi(e.longitude+u)}}else{c=e.latitude;let f;if(o===0)f=i*Math.cos(e.latitude);else{let d=Math.sin(e.latitude);f=i*Math.cos(e.latitude)/Math.sqrt(1-s*d*d)}u=n/f,t>0?a=P.negativePiToPi(e.longitude+u):a=P.negativePiToPi(e.longitude-u)}return l(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new fe(a,c,0)}function Pp(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(e)&&l(t)&&pie(this,e,t,i)}Object.defineProperties(Pp.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});Pp.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,ee.default),s=r.maximumRadius,a=r.minimumRadius,c=s*s,u=a*a,f=Math.sqrt((c-u)/c);t=P.negativePiToPi(t);let d=_ie(e,t,n,r.maximumRadius,f);return!l(o)||l(i)&&!i.equals(o.ellipsoid)?new Pp(e,d,r):(o.setEndPoints(e,d),o)};Pp.prototype.setEndPoints=function(e,t){pie(this,e,t,this._ellipsoid)};Pp.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};Pp.prototype.interpolateUsingSurfaceDistance=function(e,t){return _ie(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};Pp.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=P.negativePiToPi(e),P.equalsEpsilon(Math.abs(e),Math.PI,P.EPSILON14)&&(e=P.sign(r.longitude)*Math.PI),l(t)||(t=new fe),Math.abs(P.PI_OVER_TWO-o)<=P.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(P.equalsEpsilon(Math.abs(P.PI_OVER_TWO-o),P.PI_OVER_TWO,P.EPSILON8))return P.equalsEpsilon(e,r.longitude,P.EPSILON12)?void 0:(t.longitude=e,t.latitude=P.PI_OVER_TWO*P.sign(P.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(P.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),u=(1+a)/(1-a),f=r.latitude,d;do{d=f;let p=n*Math.sin(d),g=(1+p)/(1-p);f=2*Math.atan(c*Math.pow(g/u,n/2))-P.PI_OVER_TWO}while(!P.equalsEpsilon(f,d,P.EPSILON12));return t.longitude=e,t.latitude=f,t.height=0,t};Pp.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(P.equalsEpsilon(Math.abs(i),P.PI_OVER_TWO,P.EPSILON8))return;let r=uA(n,o.latitude),s=uA(n,e),a=Math.tan(i)*(s-r),c=P.negativePiToPi(o.longitude+a);return l(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new fe(c,e,0)};var Na=Pp;var g9=[Ii,Pi],fLe=g9.length,Fie=Math.cos(P.toRadians(30)),gie=Math.cos(P.toRadians(150)),Bie=0,kie=1e3;function Wg(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,tn.GEODESIC),this._ellipsoid=ee.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(Wg.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+ee.packedLength+1+1}}});Wg.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;i<fLe;i++)if(t instanceof g9[i]){n=i;break}e._projectionIndex=n,e._ellipsoid=t.ellipsoid};var dLe=new h,yie=new h,xie=new h;function _9(e,t,n,i,o){let r=Uc(i,e,0,dLe),s=Uc(i,e,n,yie),a=Uc(i,t,0,xie),c=Rp(s,r,yie),u=Rp(a,r,xie);return h.cross(u,c,o),h.normalize(o,o)}var hLe=new fe,mLe=new h,pLe=new h,_Le=new h;function u9(e,t,n,i,o,r,s,a,c,u,f){if(o===0)return;let d;r===tn.GEODESIC?d=new Ip(e,t,s):r===tn.RHUMB&&(d=new Na(e,t,s));let p=d.surfaceDistance;if(p<o)return;let g=_9(e,t,i,s,_Le),m=Math.ceil(p/o),x=p/m,b=x,T=m-1,A=a.length;for(let C=0;C<T;C++){let E=d.interpolateUsingSurfaceDistance(b,hLe),v=Uc(s,E,n,mLe),D=Uc(s,E,i,pLe);h.pack(g,a,A),h.pack(v,c,A),h.pack(D,u,A),f.push(E.latitude),f.push(E.longitude),A+=3,b+=x}}var f9=new fe;function Uc(e,t,n,i){return fe.clone(t,f9),f9.height=n,fe.toCartesian(f9,e,i)}Wg.pack=function(e,t,n){let i=y(n,0),o=e._positions,r=o.length;t[i++]=r;for(let s=0;s<r;++s){let a=o[s];h.pack(a,t,i),i+=3}return t[i++]=e.granularity,t[i++]=e.loop?1:0,t[i++]=e.arcType,ee.pack(e._ellipsoid,t,i),i+=ee.packedLength,t[i++]=e._projectionIndex,t[i++]=e._scene3DOnly?1:0,t};Wg.unpack=function(e,t,n){let i=y(t,0),o=e[i++],r=new Array(o);for(let p=0;p<o;p++)r[p]=h.unpack(e,i),i+=3;let s=e[i++],a=e[i++]===1,c=e[i++],u=ee.unpack(e,i);i+=ee.packedLength;let f=e[i++],d=e[i++]===1;return l(n)||(n=new Wg({positions:r})),n._positions=r,n.granularity=s,n.loop=a,n.arcType=c,n._ellipsoid=u,n._projectionIndex=f,n._scene3DOnly=d,n};function Rp(e,t,n){return h.subtract(e,t,n),h.normalize(n,n),n}function bie(e,t,n,i){return i=Rp(e,t,i),i=h.cross(i,n,i),i=h.normalize(i,i),i=h.cross(n,i,i),i}var gLe=new h,yLe=new h,xLe=new h,Vie=new h,bLe=0,TLe=-1;function d9(e,t,n,i,o){let r=Rp(n,t,Vie),s=bie(e,t,r,gLe),a=bie(i,t,r,yLe);if(P.equalsEpsilon(h.dot(s,a),TLe,P.EPSILON5))return o=h.cross(r,s,o),o=h.normalize(o,o),o;o=h.add(a,s,o),o=h.normalize(o,o);let c=h.cross(r,o,xLe);return h.dot(a,c)<bLe&&(o=h.negate(o,o)),o}var lU=ln.fromPointNormal(h.ZERO,h.UNIT_Y),CLe=new h,ALe=new h,ELe=new h,SLe=new h,vLe=new h,sU=new h,aU=new fe,Tie=new fe,Cie=new fe;Wg.createGeometry=function(e){let t=!e._scene3DOnly,n=e.loop,i=e._ellipsoid,o=e.granularity,r=e.arcType,s=new g9[e._projectionIndex](i),a=Bie,c=kie,u,f,d=e._positions,p=d.length;p===2&&(n=!1);let g,m,x,b,T=new Na(void 0,void 0,i),A,C,E,v=[d[0]];for(f=0;f<p-1;f++)g=d[f],m=d[f+1],A=ni.lineSegmentPlane(g,m,lU,sU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&(e.arcType===tn.GEODESIC?v.push(h.clone(A)):e.arcType===tn.RHUMB&&(E=i.cartesianToCartographic(A,aU).longitude,x=i.cartesianToCartographic(g,aU),b=i.cartesianToCartographic(m,Tie),T.setEndPoints(x,b),C=T.findIntersectionWithLongitude(E,Cie),A=i.cartographicToCartesian(C,sU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&v.push(h.clone(A)))),v.push(m);n&&(g=d[p-1],m=d[0],A=ni.lineSegmentPlane(g,m,lU,sU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&(e.arcType===tn.GEODESIC?v.push(h.clone(A)):e.arcType===tn.RHUMB&&(E=i.cartesianToCartographic(A,aU).longitude,x=i.cartesianToCartographic(g,aU),b=i.cartesianToCartographic(m,Tie),T.setEndPoints(x,b),C=T.findIntersectionWithLongitude(E,Cie),A=i.cartographicToCartesian(C,sU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&v.push(h.clone(A)))));let D=v.length,O=new Array(D);for(f=0;f<D;f++){let W=fe.fromCartesian(v[f],i);W.height=0,O[f]=W}if(O=Co(O,fe.equalsEpsilon),D=O.length,D<2)return;let R=[],M=[],N=[],_=[],S=CLe,w=ALe,I=ELe,L=SLe,B=vLe,U=O[0],V=O[1],G=O[D-1];for(S=Uc(i,G,a,S),L=Uc(i,V,a,L),w=Uc(i,U,a,w),I=Uc(i,U,c,I),n?B=d9(S,w,I,L,B):B=_9(U,V,c,i,B),h.pack(B,M,0),h.pack(w,N,0),h.pack(I,_,0),R.push(U.latitude),R.push(U.longitude),u9(U,V,a,c,o,r,i,M,N,_,R),f=1;f<D-1;++f){S=h.clone(w,S),w=h.clone(L,w);let W=O[f];Uc(i,W,c,I),Uc(i,O[f+1],a,L),d9(S,w,I,L,B),u=M.length,h.pack(B,M,u),h.pack(w,N,u),h.pack(I,_,u),R.push(W.latitude),R.push(W.longitude),u9(O[f],O[f+1],a,c,o,r,i,M,N,_,R)}let k=O[D-1],Y=O[D-2];if(w=Uc(i,k,a,w),I=Uc(i,k,c,I),n){let W=O[0];S=Uc(i,Y,a,S),L=Uc(i,W,a,L),B=d9(S,w,I,L,B)}else B=_9(Y,k,c,i,B);if(u=M.length,h.pack(B,M,u),h.pack(w,N,u),h.pack(I,_,u),R.push(k.latitude),R.push(k.longitude),n){for(u9(k,U,a,c,o,r,i,M,N,_,R),u=M.length,f=0;f<3;++f)M[u+f]=M[f],N[u+f]=N[f],_[u+f]=_[f];R.push(U.latitude),R.push(U.longitude)}return QLe(n,s,N,_,M,R,t)};var wLe=new h,DLe=new $,ILe=new Le;function Aie(e,t,n,i){let o=Rp(n,t,wLe),r=h.dot(o,e);if(r>Fie||r<gie){let s=Rp(i,n,Vie),a=r<gie?P.PI_OVER_TWO:-P.PI_OVER_TWO,c=Le.fromAxisAngle(s,a,ILe),u=$.fromQuaternion(c,DLe);return $.multiplyByVector(u,e,e),!0}return!1}var Eie=new fe,PLe=new h,Sie=new h;function e1(e,t,n,i,o){let r=fe.toCartesian(t,e._ellipsoid,PLe),s=h.add(r,n,Sie),a=!1,c=e._ellipsoid,u=c.cartesianToCartographic(s,Eie);Math.abs(t.longitude-u.longitude)>P.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,Sie),u=c.cartesianToCartographic(s,Eie)),u.height=0;let f=e.project(u,o);return o=h.subtract(f,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var RLe=new h,vie=new h;function wie(e,t,n,i,o,r){let s=h.subtract(t,e,RLe);h.normalize(s,s);let a=n-Bie,c=h.multiplyByScalar(s,a,vie);h.add(e,c,o);let u=i-kie;c=h.multiplyByScalar(s,u,vie),h.add(t,c,r)}var OLe=new h;function cU(e,t){let n=ln.getPointDistance(lU,e),i=ln.getPointDistance(lU,t),o=OLe;P.equalsEpsilon(n,0,P.EPSILON2)?(o=Rp(t,e,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(e,o,e)):P.equalsEpsilon(i,0,P.EPSILON2)&&(o=Rp(e,t,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(t,o,t))}function MLe(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(P.equalsEpsilon(n,P.PI,P.EPSILON11)){let o=P.sign(t.longitude);return e.longitude=o*(n-P.EPSILON11),1}else if(P.equalsEpsilon(i,P.PI,P.EPSILON11)){let o=P.sign(e.longitude);return t.longitude=o*(i-P.EPSILON11),2}return 0}var Uie=new fe,zie=new fe,Die=new h,h9=new h,Iie=new h,Pie=new h,LLe=new h,Rie=new h,NLe=[Uie,zie],FLe=new se,BLe=new h,kLe=new h,VLe=new h,ULe=new h,zLe=new h,HLe=new h,m9=new h,p9=new h,GLe=new h,WLe=new h,jLe=new h,Oie=new h,qLe=new h,YLe=new h,XLe=new Yn,KLe=new Yn,Mie=new h,ZLe=new h,Lie=new h,$Le=[new ae,new ae],Hie=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],Nie=Hie.length;function QLe(e,t,n,i,o,r,s){let a,c,u=t._ellipsoid,f=n.length/3-1,d=f*8,p=d*4,g=f*36,m=d>65535?new Uint32Array(g):new Uint16Array(g),x=new Float64Array(d*3),b=new Float32Array(p),T=new Float32Array(p),A=new Float32Array(p),C=new Float32Array(p),E=new Float32Array(p),v,D,O,R;s&&(v=new Float32Array(p),D=new Float32Array(p),O=new Float32Array(p),R=new Float32Array(d*2));let M=r.length/2,N=0,_=Uie;_.height=0;let S=zie;S.height=0;let w=Die,I=h9;if(s)for(c=0,a=1;a<M;a++)_.latitude=r[c],_.longitude=r[c+1],S.latitude=r[c+2],S.longitude=r[c+3],w=t.project(_,w),I=t.project(S,I),N+=h.distance(w,I),c+=2;let L=i.length/3;I=h.unpack(i,0,I);let B=0;for(c=3,a=1;a<L;a++)w=h.clone(I,w),I=h.unpack(i,c,I),B+=h.distance(w,I),c+=3;let U;c=3;let V=0,G=0,k=0,Y=0,W=!1,Q=h.unpack(n,0,Pie),j=h.unpack(i,0,h9),Z=h.unpack(o,0,Rie);if(e){let ve=h.unpack(n,n.length-6,Iie);Aie(Z,ve,Q,j)&&(Z=h.negate(Z,Z))}let J=0,he=0,xe=0;for(a=0;a<f;a++){let ve=h.clone(Q,Iie),Me=h.clone(j,Die),Oe=h.clone(Z,LLe);W&&(Oe=h.negate(Oe,Oe)),Q=h.unpack(n,c,Pie),j=h.unpack(i,c,h9),Z=h.unpack(o,c,Rie),W=Aie(Z,ve,Q,j),_.latitude=r[V],_.longitude=r[V+1],S.latitude=r[V+2],S.longitude=r[V+3];let ct,Ke,_t,Ze;if(s){let io=MLe(_,S);ct=t.project(_,zLe),Ke=t.project(S,HLe);let ks=Rp(Ke,ct,Mie);ks.y=Math.abs(ks.y),_t=m9,Ze=p9,io===0||h.dot(ks,h.UNIT_Y)>Fie?(_t=e1(t,_,Oe,ct,m9),Ze=e1(t,S,Z,Ke,p9)):io===1?(Ze=e1(t,S,Z,Ke,p9),_t.x=0,_t.y=P.sign(_.longitude-Math.abs(S.longitude)),_t.z=0):(_t=e1(t,_,Oe,ct,m9),Ze.x=0,Ze.y=P.sign(_.longitude-S.longitude),Ze.z=0)}let Dt=h.distance(Me,j),gt=Yn.fromCartesian(ve,XLe),yt=h.subtract(Q,ve,GLe),Kt=h.normalize(yt,Oie),Te=h.subtract(Me,ve,WLe);Te=h.normalize(Te,Te);let Ae=h.cross(Kt,Te,Oie);Ae=h.normalize(Ae,Ae);let on=h.cross(Te,Oe,qLe);on=h.normalize(on,on);let $t=h.subtract(j,Q,jLe);$t=h.normalize($t,$t);let Qt=h.cross(Z,$t,YLe);Qt=h.normalize(Qt,Qt);let no=Dt/B,qe=J/B,_r=0,sr,Ir,Be,st=0,$e=0;if(s){_r=h.distance(ct,Ke),sr=Yn.fromCartesian(ct,KLe),Ir=h.subtract(Ke,ct,Mie),Be=h.normalize(Ir,ZLe);let io=Be.x;Be.x=Be.y,Be.y=-io,st=_r/N,$e=he/N}for(U=0;U<8;U++){let io=Y+U*4,ks=G+U*2,ls=io+3,ou=U<4?1:-1,Io=U===2||U===3||U===6||U===7?1:-1;h.pack(gt.high,b,io),b[ls]=yt.x,h.pack(gt.low,T,io),T[ls]=yt.y,h.pack(on,A,io),A[ls]=yt.z,h.pack(Qt,C,io),C[ls]=no*ou,h.pack(Ae,E,io);let Pr=qe*Io;Pr===0&&Io<0&&(Pr=9),E[ls]=Pr,s&&(v[io]=sr.high.x,v[io+1]=sr.high.y,v[io+2]=sr.low.x,v[io+3]=sr.low.y,O[io]=-_t.y,O[io+1]=_t.x,O[io+2]=Ze.y,O[io+3]=-Ze.x,D[io]=Ir.x,D[io+1]=Ir.y,D[io+2]=Be.x,D[io+3]=Be.y,R[ks]=st*ou,Pr=$e*Io,Pr===0&&Io<0&&(Pr=9),R[ks+1]=Pr)}let Ye=VLe,rt=ULe,Ht=BLe,An=kLe,Nn=se.fromCartographicArray(NLe,FLe),Vi=fi.getMinimumMaximumHeights(Nn,u),cs=Vi.minimumTerrainHeight,Yo=Vi.maximumTerrainHeight;xe+=Math.abs(cs),xe+=Math.abs(Yo),wie(ve,Me,cs,Yo,Ye,Ht),wie(Q,j,cs,Yo,rt,An);let Xr=h.multiplyByScalar(Ae,P.EPSILON5,Lie);h.add(Ye,Xr,Ye),h.add(rt,Xr,rt),h.add(Ht,Xr,Ht),h.add(An,Xr,An),cU(Ye,rt),cU(Ht,An),h.pack(Ye,x,k),h.pack(rt,x,k+3),h.pack(An,x,k+6),h.pack(Ht,x,k+9),Xr=h.multiplyByScalar(Ae,-2*P.EPSILON5,Lie),h.add(Ye,Xr,Ye),h.add(rt,Xr,rt),h.add(Ht,Xr,Ht),h.add(An,Xr,An),cU(Ye,rt),cU(Ht,An),h.pack(Ye,x,k+12),h.pack(rt,x,k+15),h.pack(An,x,k+18),h.pack(Ht,x,k+21),V+=2,c+=3,G+=16,k+=24,Y+=32,J+=Dt,he+=_r}c=0;let re=0;for(a=0;a<f;a++){for(U=0;U<Nie;U++)m[c+U]=Hie[U]+re;re+=8,c+=Nie}let _e=$Le;ae.fromVertices(n,h.ZERO,3,_e[0]),ae.fromVertices(i,h.ZERO,3,_e[1]);let ye=ae.fromBoundingSpheres(_e);ye.radius+=xe/(f*2);let De={position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,normalize:!1,values:x}),startHiAndForwardOffsetX:Gg(b),startLoAndForwardOffsetY:Gg(T),startNormalAndForwardOffsetZ:Gg(A),endNormalAndTextureCoordinateNormalizationX:Gg(C),rightNormalAndTextureCoordinateNormalizationY:Gg(E)};return s&&(De.startHiLo2D=Gg(v),De.offsetAndRight2D=Gg(D),De.startEndNormals2D=Gg(O),De.texcoordNormalization2D=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,normalize:!1,values:R})),new ut({attributes:De,indices:m,boundingSphere:ye})}function Gg(e){return new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}Wg._projectNormal=e1;var vx=Wg;var t1=`in vec4 v_startPlaneNormalEcAndHalfWidth; +`)}}function aLe(e,t){let n=t.context,i=e._primitive,o=t1;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=Pn._appendDistanceDisplayConditionToShader(i,o),o=Pn._modifyShaderPosition(e,o,t.scene3DOnly),o=Pn._updateColorAttribute(i,o);let r=e._hasPlanarExtentsAttributes,s=r||e._hasSphericalExtentsAttribute;e._extruded&&(o=sLe(i,o));let a=e._extruded?"EXTRUDED_GEOMETRY":"",c=new Ue({defines:[a],sources:[o]}),u=new Ue({sources:[Xg]}),f=e._primitive._attributeLocations,d=new du(s,r,e.appearance);if(e._spStencil=tn.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f}),e._primitive.allowPicking){let m=Ue.createPickVertexShaderSource(o);m=Pn._appendShowToShader(i,m),m=Pn._updatePickColorAttribute(m);let x=d.createPickFragmentShader(!1),b=d.createPickVertexShader([a],m,!1,t.mapProjection);if(e._spPick=tn.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f}),s){let T=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!l(T)){let A=d.createPickFragmentShader(!0),C=d.createPickVertexShader([a],m,!0,t.mapProjection);T=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:C,fragmentShaderSource:A,attributeLocations:f})}e._spPick2D=T}}else e._spPick=tn.fromCache({context:n,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});o=Pn._appendShowToShader(i,o),c=new Ue({defines:[a],sources:[o]}),e._sp=tn.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});let p=d.createFragmentShader(!1),g=d.createVertexShader([a],o,!1,t.mapProjection);if(e._spColor=tn.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:g,fragmentShaderSource:p,attributeLocations:f}),s){let m=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!l(m)){let x=d.createFragmentShader(!0),b=d.createVertexShader([a],o,!0,t.mapProjection);m=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f})}e._spColor2D=m}}function cLe(e,t){let n=e._primitive,i=n._va.length*2;t.length=i;let o,r,s,a=0,c=n._batchTable.getUniformMapCallback()(e._uniformMap),u=e._needs2DShader;for(o=0;o<i;o+=2){let g=n._va[a++];r=t[o],l(r)||(r=t[o]=new Ze({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsStencilDepthPass,r.shaderProgram=e._sp,r.uniformMap=c,r.pass=ve.TERRAIN_CLASSIFICATION,s=Ze.shallowClone(r,r.derivedCommands.tileset),s.renderState=e._rsStencilDepthPass3DTiles,s.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,r=t[o+1],l(r)||(r=t[o+1]=new Ze({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsColorPass,r.shaderProgram=e._spColor,r.pass=ve.TERRAIN_CLASSIFICATION;let x=e.appearance.material;if(l(x)&&(c=Ct(c,x._uniforms)),r.uniformMap=c,s=Ze.shallowClone(r,r.derivedCommands.tileset),s.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,u){let b=Ze.shallowClone(r,r.derivedCommands.appearance2D);b.shaderProgram=e._spColor2D,r.derivedCommands.appearance2D=b,b=Ze.shallowClone(s,s.derivedCommands.appearance2D),b.shaderProgram=e._spColor2D,s.derivedCommands.appearance2D=b}}let f=e._commandsIgnoreShow,d=e._spStencil,p=0;i=f.length=i/2;for(let g=0;g<i;++g){let m=f[g]=Ze.shallowClone(t[p],f[g]);m.shaderProgram=d,m.pass=ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,p+=2}}function lLe(e,t){let n=e._usePickOffsets,i=e._primitive,o=i._va.length*2,r,s=0,a;n&&(r=i._pickOffsets,o=r.length*2),t.length=o;let c,u,f,d=0,p=i._batchTable.getUniformMapCallback()(e._uniformMap),g=e._needs2DShader;for(c=0;c<o;c+=2){let m=i._va[d++];if(n&&(a=r[s++],m=i._va[a.index]),u=t[c],l(u)||(u=t[c]=new Ze({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsStencilDepthPass,u.shaderProgram=e._sp,u.uniformMap=p,u.pass=ve.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=Ze.shallowClone(u,u.derivedCommands.tileset),f.renderState=e._rsStencilDepthPass3DTiles,f.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,u=t[c+1],l(u)||(u=t[c+1]=new Ze({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsPickPass,u.shaderProgram=e._spPick,u.uniformMap=p,u.pass=ve.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=Ze.shallowClone(u,u.derivedCommands.tileset),f.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,g){let x=Ze.shallowClone(u,u.derivedCommands.pick2D);x.shaderProgram=e._spPick2D,u.derivedCommands.pick2D=x,x=Ze.shallowClone(f,f.derivedCommands.pick2D),x.shaderProgram=e._spPick2D,f.derivedCommands.pick2D=x}}}function uLe(e,t,n,i,o,r,s){cLe(e,r),lLe(e,s)}function Sie(e,t){return Math.floor(e%t/2)}function h9(e,t,n,i,o,r){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,e.debugShowBoundingVolume=r,t.commandList.push(e)}function vie(e,t,n,i,o){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,t.commandList.push(e)}function fLe(e,t,n,i,o,r,s,a){let c=e._primitive;Pn._updateBoundingVolumes(c,t,o);let u;t.mode===ne.SCENE3D?u=c._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?u=c._boundingSphereCV:t.mode===ne.SCENE2D&&l(c._boundingSphere2D)?u=c._boundingSphere2D:l(c._boundingSphereMorph)&&(u=c._boundingSphereMorph);let f=e.classificationType,d=f!==zn.CESIUM_3D_TILE,p=f!==zn.TERRAIN,g=t.passes,m,x,b;if(g.render){let T=n.length;for(m=0;m<T;++m)x=u[Sie(m,T)],d&&(b=n[m],h9(b,t,o,r,x,s)),p&&(b=n[m].derivedCommands.tileset,h9(b,t,o,r,x,s));if(t.invertClassification){let A=e._commandsIgnoreShow,C=A.length;for(m=0;m<C;++m)x=u[m],b=A[m],h9(b,t,o,r,x,s)}}if(g.pick){let T=i.length,A=c._pickOffsets;for(m=0;m<T;++m){let C=A[Sie(m,T)];x=u[C.index],d&&(b=i[m],vie(b,t,o,r,x)),p&&(b=i[m].derivedCommands.tileset,vie(b,t,o,r,x))}}}Px.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;let t=this.appearance;l(t)&&l(t.material)&&t.material.update(e.context);let n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s,a,c,u=!1,f=!0,d,p=!1,g=!1;for(r>0&&(c=o[0].attributes,p=du.hasAttributesForSphericalExtents(c),g=du.hasAttributesForTextureCoordinatePlanes(c),d=c.color),s=0;s<r;s++){a=o[s];let x=a.attributes.color;l(x)&&(u=!0),f=f&&l(x)&&Wt.equals(d,x)}if(!f&&!p&&!g)throw new de("All GeometryInstances must have the same color attribute except via GroundPrimitives");u&&!l(t)&&(t=new fn({flat:!0}),this.appearance=t),this._usePickOffsets=!p&&!g,this._hasSphericalExtentsAttribute=p,this._hasPlanarExtentsAttributes=g,this._hasPerColorAttribute=u;let m=new Array(r);for(s=0;s<r;++s)a=o[s],m[s]=new It({geometry:a.geometry,attributes:a.attributes,modelMatrix:a.modelMatrix,id:a.id,pickPrimitive:y(this._pickPrimitive,n)});i.appearance=t,i.geometryInstances=m,l(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(x,b){n._createBoundingVolumeFunction(x,b)}),i._createRenderStatesFunction=function(x,b,T,A){rLe(n,b)},i._createShaderProgramFunction=function(x,b,T){aLe(n,b)},i._createCommandsFunction=function(x,b,T,A,C,E,v){uLe(n,void 0,void 0,!0,!1,E,v)},l(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(x,b,T,A,C,E,v,D){n._updateAndQueueCommandsFunction(x,b,T,A,C,E,v,D)}:i._updateAndQueueCommandsFunction=function(x,b,T,A,C,E,v,D){fLe(n,b,T,A,C,E,v,D)},this._primitive=new Pn(i)}this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=Ve.fromCache(uA(!1,!1)),this._rsStencilDepthPass3DTiles=Ve.fromCache(uA(!1,!0)),this._rsColorPass=Ve.fromCache(m9(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=Ve.fromCache(uA(!0,!1)),this._rsStencilDepthPass3DTiles=Ve.fromCache(uA(!0,!0)),this._rsColorPass=Ve.fromCache(m9(!0))),this._primitive.appearance!==t&&(this._primitive.appearance=t),this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Px.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Px.prototype.isDestroyed=function(){return!1};Px.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,ue(this)};var fA=Px;var dLe={u_globeMinimumAltitude:function(){return 55e3}};function Sl(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!l(t)&&l(n)){let o=Array.isArray(n)?n:[n],r=o.length;for(let s=0;s<r;s++){let a=o[s].attributes;if(l(a)&&l(a.color)){t=new fn({flat:!0});break}}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,zn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1,this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=fi._defaultMaxTerrainHeight,this._minTerrainHeight=fi._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let i=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:i,_extruded:!0,_uniformMap:dLe}}Object.defineProperties(Sl.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}}});Sl.isSupported=fA.isSupported;function wie(e){return function(t,n){let i=n.maximumRadius,o=i/Math.cos(t*.5)-i;return e._maxHeight+o}}function Die(e){return function(t,n){return e._minHeight}}var hLe=new h,mLe=new h,pLe=new h,_Le=new fe,gLe=new ae;function hU(e,t){let n=e.mapProjection.ellipsoid;if(!l(t.attributes)||!l(t.attributes.position3DHigh))return l(t.rectangle)?t.rectangle:void 0;let i=t.attributes.position3DHigh.values,o=t.attributes.position3DLow.values,r=i.length,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(let d=0;d<r;d+=3){let p=h.unpack(i,d,hLe),g=h.unpack(o,d,mLe),m=h.add(p,g,pLe),x=n.cartesianToCartographic(m,_Le),b=x.latitude,T=x.longitude;s=Math.min(s,b),a=Math.min(a,T),c=Math.max(c,b),u=Math.max(u,T)}let f=gLe;return f.north=c,f.south=s,f.east=u,f.west=a,f}function yLe(e,t,n){let i=fi.getMinimumMaximumHeights(t,n);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function xLe(e,t,n){let i=t.mapProjection.ellipsoid,o=hU(t,n),r=Dn.fromRectangle(o,e._minHeight,e._maxHeight,i);if(e._boundingVolumes.push(r),!t.scene3DOnly){let s=t.mapProjection,a=ce.fromRectangleWithHeights2D(o,s,e._maxHeight,e._minHeight);h.fromElements(a.center.z,a.center.x,a.center.y,a.center),e._boundingVolumes2D.push(a)}}function p9(e,t){return Math.floor(e%t/2)}function _9(e,t,n,i,o,r,s){let a=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===a._spColor&&a._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function Iie(e,t,n,i,o,r){let s=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===s._spPick&&s._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,n.commandList.push(t)}function bLe(e,t,n,i,o,r,s,a){let c;t.mode===ne.SCENE3D?c=e._boundingVolumes:c=e._boundingVolumes2D;let u=e.classificationType,f=u!==zn.CESIUM_3D_TILE,d=u!==zn.TERRAIN,p=t.passes,g=e._primitive,m,x,b;if(p.render){let T=n.length;for(m=0;m<T;++m)x=c[p9(m,T)],f&&(b=n[m],_9(e,b,t,o,r,x,s)),d&&(b=n[m].derivedCommands.tileset,_9(e,b,t,o,r,x,s));if(t.invertClassification){let A=g._commandsIgnoreShow,C=A.length;for(m=0;m<C;++m)x=c[m],b=A[m],_9(e,b,t,o,r,x,s)}}if(p.pick){let T=i.length,A;for(e._useFragmentCulling||(A=g._primitive._pickOffsets),m=0;m<T;++m){if(x=c[p9(m,T)],!e._useFragmentCulling){let C=A[p9(m,T)];x=c[C.index]}f&&(b=i[m],Iie(e,b,t,o,r,x)),d&&(b=i[m].derivedCommands.tileset,Iie(e,b,t,o,r,x))}}}Sl.initializeTerrainHeights=function(){return fi.initialize()};Sl.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!fi.initialized){Sl.initializeTerrainHeights();return}let t=this,n=this._classificationPrimitiveOptions;if(!l(this._primitive)){let i=e.mapProjection.ellipsoid,o,r,s,a=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],c=a.length,u=new Array(c),f,d;for(f=0;f<c;++f){o=a[f],r=o.geometry;let x=hU(e,r);l(d)?l(x)&&ae.union(d,x,d):d=ae.clone(x);let b=o.id;if(l(b)&&l(x)){let T=fi.getBoundingSphere(x,i);this._boundingSpheresKeys.push(b),this._boundingSpheres.push(T)}s=r.constructor,!l(s)||l(s.createShadowVolume)}yLe(this,d,i);let p=e.verticalExaggeration,g=e.verticalExaggerationRelativeHeight;this._minHeight=Dr.getHeight(this._minTerrainHeight,p,g),this._maxHeight=Dr.getHeight(this._maxTerrainHeight,p,g);let m=Sl._supportsMaterials(e.context);if(this._useFragmentCulling=m,m){let x,b=!0;for(f=0;f<c;++f)if(o=a[f],r=o.geometry,d=hU(e,r),du.shouldUseSphericalCoordinates(d)){b=!1;break}for(f=0;f<c;++f){o=a[f],r=o.geometry,s=r.constructor;let T=hU(e,r),A=r.textureCoordinateRotationPoints;b?x=du.getPlanarTextureCoordinateAttributes(T,A,i,e.mapProjection,this._maxHeight):x=du.getSphericalExtentGeometryInstanceAttributes(T,A,i,e.mapProjection);let C=o.attributes;for(let E in C)C.hasOwnProperty(E)&&(x[E]=C[E]);u[f]=new It({geometry:s.createShadowVolume(r,Die(this),wie(this)),attributes:x,id:o.id})}}else for(f=0;f<c;++f)o=a[f],r=o.geometry,s=r.constructor,u[f]=new It({geometry:s.createShadowVolume(r,Die(this),wie(this)),attributes:o.attributes,id:o.id});n.geometryInstances=u,n.appearance=this.appearance,n._createBoundingVolumeFunction=function(x,b){xLe(t,x,b)},n._updateAndQueueCommandsFunction=function(x,b,T,A,C,E,v,D){bLe(t,b,T,A,C,E,v,D)},this._primitive=new fA(n)}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Sl.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};Sl.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Sl.prototype.isDestroyed=function(){return!1};Sl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};Sl._supportsMaterials=function(e){return e.depthTexture};Sl.supportsMaterials=function(e){return Sl._supportsMaterials(e.frameState.context)};var Hc=Sl;function dA(){de.throwInstantiationError()}Object.defineProperties(dA.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});dA.prototype.getType=de.throwInstantiationError;dA.prototype.getValue=de.throwInstantiationError;dA.prototype.equals=de.throwInstantiationError;var TLe=new K;dA.getValue=function(e,t,n){let i;return l(e)||(e=K.now(TLe)),l(t)&&(i=t.getType(e),l(i))?((!l(n)||n.type!==i)&&(n=Yi.fromType(i)),t.getValue(e,n.uniforms),n):((!l(n)||n.type!==Yi.ColorType)&&(n=Yi.fromType(Yi.ColorType)),H.clone(H.WHITE,n.uniforms.color),n)};var or=dA;function Rx(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}Rx.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!q.getValueOrDefault(t.show,n,!0)};Rx.prototype._setOptions=de.throwInstantiationError;Rx.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!l(s.fill)||s.fill.getValue(e)){let u=t.fillMaterialProperty,f=u instanceof Ht,d,p=t._getIsClosed(c);if(f)d=new fn({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=or.getValue(e,u,this._material);this._material=g,d=new mo({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=fn.VERTEX_FORMAT,this._primitive=o.add(new Hc({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:d,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),q.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=d.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);f&&(d.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new Pn({geometryInstances:g,appearance:d,asynchronous:!1,shadows:a}))}}if(!n&&l(s.outline)&&s.outline.getValue(e)){let u=this._geometryUpdater.createOutlineGeometryInstance(e),f=q.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new Pn({geometryInstances:u,appearance:new fn({flat:!0,translucent:u.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(f)}}),asynchronous:!1,shadows:a}))}};Rx.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return l(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ce.clone(o.boundingSphere,e),ct.DONE):l(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ce.clone(o.boundingSphere,e),ct.DONE):l(n)&&!n.ready||l(i)&&!i.ready?ct.PENDING:ct.FAILED};Rx.prototype.isDestroyed=function(){return!1};Rx.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),ue(this)};var oi=Rx;var CLe={AUTODETECT:0,ENU:1,INERTIAL:2,VELOCITY:3},Op=Object.freeze(CLe);var ALe={NONE:0,GEODESIC:1,RHUMB:2},nn=Object.freeze(ALe);var Pie=P.EPSILON10;function ELe(e,t,n,i){if(!l(e))return;n=y(n,!1);let o=l(i),r=e.length;if(r<2)return e;let s,a=e[0],c,u,f=0,d=-1;for(s=1;s<r;++s)c=e[s],t(a,c,Pie)?(l(u)||(u=e.slice(0,s),f=s-1,d=0),o&&i.push(s)):(l(u)&&(u.push(c),f=s,o&&(d=i.length)),a=c);return n&&t(e[0],e[r-1],Pie)&&(o&&(l(u)?i.splice(d,0,f):i.push(r-1)),l(u)?u.length-=1:u=e.slice(0,-1)),l(u)?u:e}var So=ELe;function SLe(e){let t=e._uSquared,n=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,o=(n-i)/n,r=Math.cos(e._startHeading),s=Math.sin(e._startHeading),a=(1-o)*Math.tan(e._start.latitude),c=1/Math.sqrt(1+a*a),u=c*a,f=Math.atan2(a,r),d=c*s,p=d*d,g=1-p,m=Math.sqrt(g),x=t/4,b=x*x,T=b*x,A=b*b,C=1+x-3*b/4+5*T/4-175*A/64,E=1-x+15*b/8-35*T/8,v=1-3*x+35*b/4,D=1-5*x,O=C*f-E*Math.sin(2*f)*x/2-v*Math.sin(4*f)*b/16-D*Math.sin(6*f)*T/48-Math.sin(8*f)*5*A/512,R=e._constants;R.a=n,R.b=i,R.f=o,R.cosineHeading=r,R.sineHeading=s,R.tanU=a,R.cosineU=c,R.sineU=u,R.sigma=f,R.sineAlpha=d,R.sineSquaredAlpha=p,R.cosineSquaredAlpha=g,R.cosineAlpha=m,R.u2Over4=x,R.u4Over16=b,R.u6Over64=T,R.u8Over256=A,R.a0=C,R.a1=E,R.a2=v,R.a3=D,R.distanceRatio=O}function vLe(e,t){return e*t*(4+e*(4-3*t))/16}function Rie(e,t,n,i,o,r,s){let a=vLe(e,n);return(1-a)*e*t*(i+a*o*(s+a*r*(2*s*s-1)))}function wLe(e,t,n,i,o,r,s){let a=(t-n)/t,c=r-i,u=Math.atan((1-a)*Math.tan(o)),f=Math.atan((1-a)*Math.tan(s)),d=Math.cos(u),p=Math.sin(u),g=Math.cos(f),m=Math.sin(f),x=d*g,b=d*m,T=p*m,A=p*g,C=c,E=P.TWO_PI,v=Math.cos(C),D=Math.sin(C),O,R,M,N,_;do{v=Math.cos(C),D=Math.sin(C);let k=b-A*v;M=Math.sqrt(g*g*D*D+k*k),R=T+x*v,O=Math.atan2(M,R);let W;M===0?(W=0,N=1):(W=x*D/M,N=1-W*W),E=C,_=R-2*T/N,isFinite(_)||(_=0),C=c+Rie(a,W,N,O,M,R,_)}while(Math.abs(C-E)>P.EPSILON12);let S=N*(t*t-n*n)/(n*n),w=1+S*(4096+S*(S*(320-175*S)-768))/16384,I=S*(256+S*(S*(74-47*S)-128))/1024,L=_*_,B=I*M*(_+I*(R*(2*L-1)-I*_*(4*M*M-3)*(4*L-3)/6)/4),U=n*w*(O-B),V=Math.atan2(g*D,b-A*v),G=Math.atan2(d*D,b*v-A);e._distance=U,e._startHeading=V,e._endHeading=G,e._uSquared=S}var DLe=new h,g9=new h;function Oie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,g9),DLe),r=h.normalize(i.cartographicToCartesian(n,g9),g9);wLe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=fe.clone(t,e._start),e._end=fe.clone(n,e._end),e._start.height=0,e._end.height=0,SLe(e)}function s1(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,l(e)&&l(t)&&Oie(this,e,t,i)}Object.defineProperties(s1.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});s1.prototype.setEndPoints=function(e,t){Oie(this,e,t,this._ellipsoid)};s1.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};s1.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),u=Math.sin(6*i),f=Math.sin(8*i),d=i*i,p=i*d,g=n.u8Over256,m=n.u2Over4,x=n.u6Over64,b=n.u4Over16,T=2*p*g*o/3+i*(1-m+7*b/4-15*x/4+579*g/64-(b-15*x/4+187*g/16)*o-(5*x/4-115*g/16)*r-29*g*s/16)+(m/2-b+71*x/32-85*g/16)*a+(5*b/16-5*x/4+383*g/96)*c-d*((x-11*g/2)*a+5*g*c/2)+(29*x/96-29*g/16)*u+539*g*f/1536,A=Math.asin(Math.sin(T)*n.cosineAlpha),C=Math.atan(n.a/n.b*Math.tan(A));T=T-n.sigma;let E=Math.cos(2*n.sigma+T),v=Math.sin(T),D=Math.cos(T),O=n.cosineU*D,R=n.sineU*v,N=Math.atan2(v*n.sineHeading,O-R*n.cosineHeading)-Rie(n.f,n.sineAlpha,n.cosineSquaredAlpha,T,v,D,E);return l(t)?(t.longitude=this._start.longitude+N,t.latitude=C,t.height=0,t):new fe(this._start.longitude+N,C,0)};var Mp=s1;function x9(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,u=n,f=Math.sin(2*u),d=Math.sin(4*u),p=Math.sin(6*u),g=Math.sin(8*u),m=Math.sin(10*u),x=Math.sin(12*u);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*u-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*f+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*d-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*m+1001*c/8388608*x)}function ILe(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,u=c*c,f=u*c,d=f*c,p=d*c,g=p*c,m=Math.sin(2*i),x=Math.cos(2*i),b=Math.sin(4*i),T=Math.cos(4*i),A=Math.sin(6*i),C=Math.cos(6*i),E=Math.sin(8*i),v=Math.cos(8*i),D=Math.sin(10*i),O=Math.cos(10*i),R=Math.sin(12*i);return i+i*c/4+7*i*u/64+15*i*f/256+579*i*d/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*u/16+45*i*f/256-i*(32*o-561)*d/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*x+(21*i*f/256+483*i*d/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*T+(151*i*d/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*C+(1097*i*p/65536+42783*i*g/1048576)*v+8011*i*g/1048576*O+(3*c/8+3*u/16+213*f/2048-3*o*f/64+255*d/4096-33*o*d/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*m+(21*u/256+21*f/256+533*d/8192-21*o*d/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*b+(151*f/6144+151*d/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*A+(1097*d/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*E+(8011*p/2621440+8011*g/1048576)*D+293393*g/251658240*R}function hA(e,t){if(e===0)return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function PLe(e,t,n,i,o){let r=hA(e._ellipticity,n),s=hA(e._ellipticity,o);return Math.atan2(P.negativePiToPi(i-t),s-r)}function RLe(e,t,n,i,o,r,s){let a=e._heading,c=r-i,u=0;if(P.equalsEpsilon(Math.abs(a),P.PI_OVER_TWO,P.EPSILON8))if(t===n)u=t*Math.cos(o)*P.negativePiToPi(c);else{let f=Math.sin(o);u=t*Math.cos(o)*P.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*f*f)}else{let f=x9(e._ellipticity,t,o);u=(x9(e._ellipticity,t,s)-f)/Math.cos(a)}return Math.abs(u)}var OLe=new h,y9=new h;function Mie(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,y9),OLe),r=h.normalize(i.cartographicToCartesian(n,y9),y9),s=i.maximumRadius,a=i.minimumRadius,c=s*s,u=a*a;e._ellipticitySquared=(c-u)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=fe.clone(t,e._start),e._start.height=0,e._end=fe.clone(n,e._end),e._end.height=0,e._heading=PLe(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=RLe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function Lie(e,t,n,i,o,r){if(n===0)return fe.clone(e,r);let s=o*o,a,c,u;if(Math.abs(P.PI_OVER_TWO-Math.abs(t))>P.EPSILON8){let f=x9(o,i,e.latitude),d=n*Math.cos(t),p=f+d;if(c=ILe(p,o,i),Math.abs(t)<P.EPSILON10)a=P.negativePiToPi(e.longitude);else{let g=hA(o,e.latitude),m=hA(o,c);u=Math.tan(t)*(m-g),a=P.negativePiToPi(e.longitude+u)}}else{c=e.latitude;let f;if(o===0)f=i*Math.cos(e.latitude);else{let d=Math.sin(e.latitude);f=i*Math.cos(e.latitude)/Math.sqrt(1-s*d*d)}u=n/f,t>0?a=P.negativePiToPi(e.longitude+u):a=P.negativePiToPi(e.longitude-u)}return l(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new fe(a,c,0)}function Lp(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(e)&&l(t)&&Mie(this,e,t,i)}Object.defineProperties(Lp.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});Lp.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,ee.default),s=r.maximumRadius,a=r.minimumRadius,c=s*s,u=a*a,f=Math.sqrt((c-u)/c);t=P.negativePiToPi(t);let d=Lie(e,t,n,r.maximumRadius,f);return!l(o)||l(i)&&!i.equals(o.ellipsoid)?new Lp(e,d,r):(o.setEndPoints(e,d),o)};Lp.prototype.setEndPoints=function(e,t){Mie(this,e,t,this._ellipsoid)};Lp.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};Lp.prototype.interpolateUsingSurfaceDistance=function(e,t){return Lie(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};Lp.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=P.negativePiToPi(e),P.equalsEpsilon(Math.abs(e),Math.PI,P.EPSILON14)&&(e=P.sign(r.longitude)*Math.PI),l(t)||(t=new fe),Math.abs(P.PI_OVER_TWO-o)<=P.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(P.equalsEpsilon(Math.abs(P.PI_OVER_TWO-o),P.PI_OVER_TWO,P.EPSILON8))return P.equalsEpsilon(e,r.longitude,P.EPSILON12)?void 0:(t.longitude=e,t.latitude=P.PI_OVER_TWO*P.sign(P.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(P.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),u=(1+a)/(1-a),f=r.latitude,d;do{d=f;let p=n*Math.sin(d),g=(1+p)/(1-p);f=2*Math.atan(c*Math.pow(g/u,n/2))-P.PI_OVER_TWO}while(!P.equalsEpsilon(f,d,P.EPSILON12));return t.longitude=e,t.latitude=f,t.height=0,t};Lp.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(P.equalsEpsilon(Math.abs(i),P.PI_OVER_TWO,P.EPSILON8))return;let r=hA(n,o.latitude),s=hA(n,e),a=Math.tan(i)*(s-r),c=P.negativePiToPi(o.longitude+a);return l(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new fe(c,e,0)};var La=Lp;var w9=[Ri,Mi],MLe=w9.length,eoe=Math.cos(P.toRadians(30)),Nie=Math.cos(P.toRadians(150)),toe=0,noe=1e3;function Zg(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,nn.GEODESIC),this._ellipsoid=ee.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(Zg.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+ee.packedLength+1+1}}});Zg.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;i<MLe;i++)if(t instanceof w9[i]){n=i;break}e._projectionIndex=n,e._ellipsoid=t.ellipsoid};var LLe=new h,Fie=new h,Bie=new h;function v9(e,t,n,i,o){let r=Gc(i,e,0,LLe),s=Gc(i,e,n,Fie),a=Gc(i,t,0,Bie),c=Np(s,r,Fie),u=Np(a,r,Bie);return h.cross(u,c,o),h.normalize(o,o)}var NLe=new fe,FLe=new h,BLe=new h,kLe=new h;function b9(e,t,n,i,o,r,s,a,c,u,f){if(o===0)return;let d;r===nn.GEODESIC?d=new Mp(e,t,s):r===nn.RHUMB&&(d=new La(e,t,s));let p=d.surfaceDistance;if(p<o)return;let g=v9(e,t,i,s,kLe),m=Math.ceil(p/o),x=p/m,b=x,T=m-1,A=a.length;for(let C=0;C<T;C++){let E=d.interpolateUsingSurfaceDistance(b,NLe),v=Gc(s,E,n,FLe),D=Gc(s,E,i,BLe);h.pack(g,a,A),h.pack(v,c,A),h.pack(D,u,A),f.push(E.latitude),f.push(E.longitude),A+=3,b+=x}}var T9=new fe;function Gc(e,t,n,i){return fe.clone(t,T9),T9.height=n,fe.toCartesian(T9,e,i)}Zg.pack=function(e,t,n){let i=y(n,0),o=e._positions,r=o.length;t[i++]=r;for(let s=0;s<r;++s){let a=o[s];h.pack(a,t,i),i+=3}return t[i++]=e.granularity,t[i++]=e.loop?1:0,t[i++]=e.arcType,ee.pack(e._ellipsoid,t,i),i+=ee.packedLength,t[i++]=e._projectionIndex,t[i++]=e._scene3DOnly?1:0,t};Zg.unpack=function(e,t,n){let i=y(t,0),o=e[i++],r=new Array(o);for(let p=0;p<o;p++)r[p]=h.unpack(e,i),i+=3;let s=e[i++],a=e[i++]===1,c=e[i++],u=ee.unpack(e,i);i+=ee.packedLength;let f=e[i++],d=e[i++]===1;return l(n)||(n=new Zg({positions:r})),n._positions=r,n.granularity=s,n.loop=a,n.arcType=c,n._ellipsoid=u,n._projectionIndex=f,n._scene3DOnly=d,n};function Np(e,t,n){return h.subtract(e,t,n),h.normalize(n,n),n}function kie(e,t,n,i){return i=Np(e,t,i),i=h.cross(i,n,i),i=h.normalize(i,i),i=h.cross(n,i,i),i}var VLe=new h,ULe=new h,zLe=new h,ioe=new h,HLe=0,GLe=-1;function C9(e,t,n,i,o){let r=Np(n,t,ioe),s=kie(e,t,r,VLe),a=kie(i,t,r,ULe);if(P.equalsEpsilon(h.dot(s,a),GLe,P.EPSILON5))return o=h.cross(r,s,o),o=h.normalize(o,o),o;o=h.add(a,s,o),o=h.normalize(o,o);let c=h.cross(r,o,zLe);return h.dot(a,c)<HLe&&(o=h.negate(o,o)),o}var gU=un.fromPointNormal(h.ZERO,h.UNIT_Y),WLe=new h,jLe=new h,qLe=new h,YLe=new h,XLe=new h,mU=new h,pU=new fe,Vie=new fe,Uie=new fe;Zg.createGeometry=function(e){let t=!e._scene3DOnly,n=e.loop,i=e._ellipsoid,o=e.granularity,r=e.arcType,s=new w9[e._projectionIndex](i),a=toe,c=noe,u,f,d=e._positions,p=d.length;p===2&&(n=!1);let g,m,x,b,T=new La(void 0,void 0,i),A,C,E,v=[d[0]];for(f=0;f<p-1;f++)g=d[f],m=d[f+1],A=ei.lineSegmentPlane(g,m,gU,mU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&(e.arcType===nn.GEODESIC?v.push(h.clone(A)):e.arcType===nn.RHUMB&&(E=i.cartesianToCartographic(A,pU).longitude,x=i.cartesianToCartographic(g,pU),b=i.cartesianToCartographic(m,Vie),T.setEndPoints(x,b),C=T.findIntersectionWithLongitude(E,Uie),A=i.cartographicToCartesian(C,mU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&v.push(h.clone(A)))),v.push(m);n&&(g=d[p-1],m=d[0],A=ei.lineSegmentPlane(g,m,gU,mU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&(e.arcType===nn.GEODESIC?v.push(h.clone(A)):e.arcType===nn.RHUMB&&(E=i.cartesianToCartographic(A,pU).longitude,x=i.cartesianToCartographic(g,pU),b=i.cartesianToCartographic(m,Vie),T.setEndPoints(x,b),C=T.findIntersectionWithLongitude(E,Uie),A=i.cartographicToCartesian(C,mU),l(A)&&!h.equalsEpsilon(A,g,P.EPSILON7)&&!h.equalsEpsilon(A,m,P.EPSILON7)&&v.push(h.clone(A)))));let D=v.length,O=new Array(D);for(f=0;f<D;f++){let Y=fe.fromCartesian(v[f],i);Y.height=0,O[f]=Y}if(O=So(O,fe.equalsEpsilon),D=O.length,D<2)return;let R=[],M=[],N=[],_=[],S=WLe,w=jLe,I=qLe,L=YLe,B=XLe,U=O[0],V=O[1],G=O[D-1];for(S=Gc(i,G,a,S),L=Gc(i,V,a,L),w=Gc(i,U,a,w),I=Gc(i,U,c,I),n?B=C9(S,w,I,L,B):B=v9(U,V,c,i,B),h.pack(B,M,0),h.pack(w,N,0),h.pack(I,_,0),R.push(U.latitude),R.push(U.longitude),b9(U,V,a,c,o,r,i,M,N,_,R),f=1;f<D-1;++f){S=h.clone(w,S),w=h.clone(L,w);let Y=O[f];Gc(i,Y,c,I),Gc(i,O[f+1],a,L),C9(S,w,I,L,B),u=M.length,h.pack(B,M,u),h.pack(w,N,u),h.pack(I,_,u),R.push(Y.latitude),R.push(Y.longitude),b9(O[f],O[f+1],a,c,o,r,i,M,N,_,R)}let k=O[D-1],W=O[D-2];if(w=Gc(i,k,a,w),I=Gc(i,k,c,I),n){let Y=O[0];S=Gc(i,W,a,S),L=Gc(i,Y,a,L),B=C9(S,w,I,L,B)}else B=v9(W,k,c,i,B);if(u=M.length,h.pack(B,M,u),h.pack(w,N,u),h.pack(I,_,u),R.push(k.latitude),R.push(k.longitude),n){for(b9(k,U,a,c,o,r,i,M,N,_,R),u=M.length,f=0;f<3;++f)M[u+f]=M[f],N[u+f]=N[f],_[u+f]=_[f];R.push(U.latitude),R.push(U.longitude)}return bNe(n,s,N,_,M,R,t)};var KLe=new h,ZLe=new $,$Le=new Le;function zie(e,t,n,i){let o=Np(n,t,KLe),r=h.dot(o,e);if(r>eoe||r<Nie){let s=Np(i,n,ioe),a=r<Nie?P.PI_OVER_TWO:-P.PI_OVER_TWO,c=Le.fromAxisAngle(s,a,$Le),u=$.fromQuaternion(c,ZLe);return $.multiplyByVector(u,e,e),!0}return!1}var Hie=new fe,QLe=new h,Gie=new h;function a1(e,t,n,i,o){let r=fe.toCartesian(t,e._ellipsoid,QLe),s=h.add(r,n,Gie),a=!1,c=e._ellipsoid,u=c.cartesianToCartographic(s,Hie);Math.abs(t.longitude-u.longitude)>P.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,Gie),u=c.cartesianToCartographic(s,Hie)),u.height=0;let f=e.project(u,o);return o=h.subtract(f,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var JLe=new h,Wie=new h;function jie(e,t,n,i,o,r){let s=h.subtract(t,e,JLe);h.normalize(s,s);let a=n-toe,c=h.multiplyByScalar(s,a,Wie);h.add(e,c,o);let u=i-noe;c=h.multiplyByScalar(s,u,Wie),h.add(t,c,r)}var eNe=new h;function _U(e,t){let n=un.getPointDistance(gU,e),i=un.getPointDistance(gU,t),o=eNe;P.equalsEpsilon(n,0,P.EPSILON2)?(o=Np(t,e,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(e,o,e)):P.equalsEpsilon(i,0,P.EPSILON2)&&(o=Np(e,t,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(t,o,t))}function tNe(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(P.equalsEpsilon(n,P.PI,P.EPSILON11)){let o=P.sign(t.longitude);return e.longitude=o*(n-P.EPSILON11),1}else if(P.equalsEpsilon(i,P.PI,P.EPSILON11)){let o=P.sign(e.longitude);return t.longitude=o*(i-P.EPSILON11),2}return 0}var ooe=new fe,roe=new fe,qie=new h,A9=new h,Yie=new h,Xie=new h,nNe=new h,Kie=new h,iNe=[ooe,roe],oNe=new ae,rNe=new h,sNe=new h,aNe=new h,cNe=new h,lNe=new h,uNe=new h,E9=new h,S9=new h,fNe=new h,dNe=new h,hNe=new h,Zie=new h,mNe=new h,pNe=new h,_Ne=new jn,gNe=new jn,$ie=new h,yNe=new h,Qie=new h,xNe=[new ce,new ce],soe=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],Jie=soe.length;function bNe(e,t,n,i,o,r,s){let a,c,u=t._ellipsoid,f=n.length/3-1,d=f*8,p=d*4,g=f*36,m=d>65535?new Uint32Array(g):new Uint16Array(g),x=new Float64Array(d*3),b=new Float32Array(p),T=new Float32Array(p),A=new Float32Array(p),C=new Float32Array(p),E=new Float32Array(p),v,D,O,R;s&&(v=new Float32Array(p),D=new Float32Array(p),O=new Float32Array(p),R=new Float32Array(d*2));let M=r.length/2,N=0,_=ooe;_.height=0;let S=roe;S.height=0;let w=qie,I=A9;if(s)for(c=0,a=1;a<M;a++)_.latitude=r[c],_.longitude=r[c+1],S.latitude=r[c+2],S.longitude=r[c+3],w=t.project(_,w),I=t.project(S,I),N+=h.distance(w,I),c+=2;let L=i.length/3;I=h.unpack(i,0,I);let B=0;for(c=3,a=1;a<L;a++)w=h.clone(I,w),I=h.unpack(i,c,I),B+=h.distance(w,I),c+=3;let U;c=3;let V=0,G=0,k=0,W=0,Y=!1,Q=h.unpack(n,0,Xie),j=h.unpack(i,0,A9),Z=h.unpack(o,0,Kie);if(e){let we=h.unpack(n,n.length-6,Yie);zie(Z,we,Q,j)&&(Z=h.negate(Z,Z))}let J=0,he=0,xe=0;for(a=0;a<f;a++){let we=h.clone(Q,Yie),Me=h.clone(j,qie),Oe=h.clone(Z,nNe);Y&&(Oe=h.negate(Oe,Oe)),Q=h.unpack(n,c,Xie),j=h.unpack(i,c,A9),Z=h.unpack(o,c,Kie),Y=zie(Z,we,Q,j),_.latitude=r[V],_.longitude=r[V+1],S.latitude=r[V+2],S.longitude=r[V+3];let lt,et,vt,Qe;if(s){let ho=tNe(_,S);lt=t.project(_,lNe),et=t.project(S,uNe);let ps=Np(et,lt,$ie);ps.y=Math.abs(ps.y),vt=E9,Qe=S9,ho===0||h.dot(ps,h.UNIT_Y)>eoe?(vt=a1(t,_,Oe,lt,E9),Qe=a1(t,S,Z,et,S9)):ho===1?(Qe=a1(t,S,Z,et,S9),vt.x=0,vt.y=P.sign(_.longitude-Math.abs(S.longitude)),vt.z=0):(vt=a1(t,_,Oe,lt,E9),Qe.x=0,Qe.y=P.sign(_.longitude-S.longitude),Qe.z=0)}let wt=h.distance(Me,j),mt=jn.fromCartesian(we,_Ne),pt=h.subtract(Q,we,fNe),Xt=h.normalize(pt,Zie),Te=h.subtract(Me,we,dNe);Te=h.normalize(Te,Te);let Ee=h.cross(Xt,Te,Zie);Ee=h.normalize(Ee,Ee);let rn=h.cross(Te,Oe,mNe);rn=h.normalize(rn,rn);let Jt=h.subtract(j,Q,hNe);Jt=h.normalize(Jt,Jt);let en=h.cross(Z,Jt,pNe);en=h.normalize(en,en);let Ji=wt/B,je=J/B,vo=0,Ho,wa,ke,at=0,Xe=0;if(s){vo=h.distance(lt,et),Ho=jn.fromCartesian(lt,gNe),wa=h.subtract(et,lt,$ie),ke=h.normalize(wa,yNe);let ho=ke.x;ke.x=ke.y,ke.y=-ho,at=vo/N,Xe=he/N}for(U=0;U<8;U++){let ho=W+U*4,ps=G+U*2,Fr=ho+3,cf=U<4?1:-1,oo=U===2||U===3||U===6||U===7?1:-1;h.pack(mt.high,b,ho),b[Fr]=pt.x,h.pack(mt.low,T,ho),T[Fr]=pt.y,h.pack(rn,A,ho),A[Fr]=pt.z,h.pack(en,C,ho),C[Fr]=Ji*cf,h.pack(Ee,E,ho);let hr=je*oo;hr===0&&oo<0&&(hr=9),E[Fr]=hr,s&&(v[ho]=Ho.high.x,v[ho+1]=Ho.high.y,v[ho+2]=Ho.low.x,v[ho+3]=Ho.low.y,O[ho]=-vt.y,O[ho+1]=vt.x,O[ho+2]=Qe.y,O[ho+3]=-Qe.x,D[ho]=wa.x,D[ho+1]=wa.y,D[ho+2]=ke.x,D[ho+3]=ke.y,R[ps]=at*cf,hr=Xe*oo,hr===0&&oo<0&&(hr=9),R[ps+1]=hr)}let Ke=aNe,rt=cNe,_t=rNe,hn=sNe,eo=ae.fromCartographicArray(iNe,oNe),fo=fi.getMinimumMaximumHeights(eo,u),Nr=fo.minimumTerrainHeight,Jo=fo.maximumTerrainHeight;xe+=Math.abs(Nr),xe+=Math.abs(Jo),jie(we,Me,Nr,Jo,Ke,_t),jie(Q,j,Nr,Jo,rt,hn);let ms=h.multiplyByScalar(Ee,P.EPSILON5,Qie);h.add(Ke,ms,Ke),h.add(rt,ms,rt),h.add(_t,ms,_t),h.add(hn,ms,hn),_U(Ke,rt),_U(_t,hn),h.pack(Ke,x,k),h.pack(rt,x,k+3),h.pack(hn,x,k+6),h.pack(_t,x,k+9),ms=h.multiplyByScalar(Ee,-2*P.EPSILON5,Qie),h.add(Ke,ms,Ke),h.add(rt,ms,rt),h.add(_t,ms,_t),h.add(hn,ms,hn),_U(Ke,rt),_U(_t,hn),h.pack(Ke,x,k+12),h.pack(rt,x,k+15),h.pack(hn,x,k+18),h.pack(_t,x,k+21),V+=2,c+=3,G+=16,k+=24,W+=32,J+=wt,he+=vo}c=0;let re=0;for(a=0;a<f;a++){for(U=0;U<Jie;U++)m[c+U]=soe[U]+re;re+=8,c+=Jie}let _e=xNe;ce.fromVertices(n,h.ZERO,3,_e[0]),ce.fromVertices(i,h.ZERO,3,_e[1]);let ye=ce.fromBoundingSpheres(_e);ye.radius+=xe/(f*2);let De={position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,normalize:!1,values:x}),startHiAndForwardOffsetX:Kg(b),startLoAndForwardOffsetY:Kg(T),startNormalAndForwardOffsetZ:Kg(A),endNormalAndTextureCoordinateNormalizationX:Kg(C),rightNormalAndTextureCoordinateNormalizationY:Kg(E)};return s&&(De.startHiLo2D=Kg(v),De.offsetAndRight2D=Kg(D),De.startEndNormals2D=Kg(O),De.texcoordNormalization2D=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,normalize:!1,values:R})),new ft({attributes:De,indices:m,boundingSphere:ye})}function Kg(e){return new Se({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}Zg._projectNormal=a1;var Ox=Zg;var c1=`in vec4 v_startPlaneNormalEcAndHalfWidth; in vec4 v_endPlaneNormalEcAndBatchId; in vec4 v_rightPlaneEC; // Technically can compute distance for this here in vec4 v_endEcAndStartEcX; @@ -5223,7 +5268,7 @@ void main(void) czm_writeDepthClamp(); } -`;var n1=`in vec3 v_forwardDirectionEC; +`;var l1=`in vec3 v_forwardDirectionEC; in vec3 v_texcoordNormalizationAndHalfWidth; in float v_batchId; @@ -5268,7 +5313,7 @@ void main(void) out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #endif // PER_INSTANCE_COLOR } -`;var i1=`in vec3 position3DHigh; +`;var u1=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 startHiAndForwardOffsetX; @@ -5445,7 +5490,7 @@ void main() v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } -`;var o1=`in vec3 position3DHigh; +`;var f1=`in vec3 position3DHigh; in vec3 position3DLow; // In 2D and in 3D, texture coordinate normalization component signs encodes: @@ -5613,7 +5658,7 @@ void main() v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } -`;var r1=`in vec3 position3DHigh; +`;var d1=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; @@ -5641,7 +5686,7 @@ void main() v_color = color; } -`;var mu=`void clipLineSegmentToNearPlane( +`;var hu=`void clipLineSegmentToNearPlane( vec3 p0, vec3 p1, out vec4 positionWC, @@ -5817,9 +5862,9 @@ vec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float vec4 nextEC = czm_modelViewRelativeToEye * next; return getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle); } -`;var y9=`${mu} -${r1}`,JLe=mx;Gt.isInternetExplorer()||(y9=`#define CLIP_POLYLINE -${y9}`);function wx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=wx.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,y9),this._fragmentShaderSource=y(e.fragmentShaderSource,JLe),this._renderState=ro.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(wx.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});wx.VERTEX_FORMAT=Pe.POSITION_ONLY;wx.prototype.getFragmentShaderSource=ro.prototype.getFragmentShaderSource;wx.prototype.isTranslucent=ro.prototype.isTranslucent;wx.prototype.getRenderState=ro.prototype.getRenderState;var $r=wx;var s1=`in vec3 position3DHigh; +`;var D9=`${hu} +${d1}`,TNe=wx;Gt.isInternetExplorer()||(D9=`#define CLIP_POLYLINE +${D9}`);function Mx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=Mx.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,D9),this._fragmentShaderSource=y(e.fragmentShaderSource,TNe),this._renderState=ao.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(Mx.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});Mx.VERTEX_FORMAT=Ie.POSITION_ONLY;Mx.prototype.getFragmentShaderSource=ao.prototype.getFragmentShaderSource;Mx.prototype.isTranslucent=ao.prototype.isTranslucent;Mx.prototype.getRenderState=ao.prototype.getRenderState;var is=Mx;var h1=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; @@ -5852,7 +5897,7 @@ void main() v_st.t = czm_writeNonPerspective(st.t, gl_Position.w); v_polylineAngle = angle; } -`;var Dx=`#ifdef VECTOR_TILE +`;var Lx=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif @@ -5877,10 +5922,10 @@ void main() czm_writeLogDepth(); } -`;var x9=`${mu} -${s1}`,eNe=Dx;Gt.isInternetExplorer()||(x9=`#define CLIP_POLYLINE -${x9}`);function Ix(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=Ix.VERTEX_FORMAT;this.material=l(e.material)?e.material:Xi.fromType(Xi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,x9),this._fragmentShaderSource=y(e.fragmentShaderSource,eNe),this._renderState=ro.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(Ix.prototype,{vertexShaderSource:{get:function(){let e=this._vertexShaderSource;return this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&(e=`#define POLYLINE_DASH -${e}`),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});Ix.VERTEX_FORMAT=Pe.POSITION_AND_ST;Ix.prototype.getFragmentShaderSource=ro.prototype.getFragmentShaderSource;Ix.prototype.isTranslucent=ro.prototype.isTranslucent;Ix.prototype.getRenderState=ro.prototype.getRenderState;var fa=Ix;function Op(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;let t=e.appearance;l(t)||(t=new fa),this.appearance=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Hn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1,this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=Gie(!1),this._renderState3DTiles=Gie(!0),this._renderStateMorph=Ve.fromCache({cull:{enabled:!0,face:bi.FRONT},depthTest:{enabled:!0},blending:hn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(Op.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});Op.initializeTerrainHeights=function(){return fi.initialize()};function tNe(e,t,n){let i=t.context,o=e._primitive,r=o._attributeLocations,s=o._batchTable.getVertexShaderCallback()(o1);s=Pn._appendShowToShader(o,s),s=Pn._appendDistanceDisplayConditionToShader(o,s),s=Pn._modifyShaderPosition(e,s,t.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(i1);a=Pn._appendShowToShader(o,a),a=Pn._appendDistanceDisplayConditionToShader(o,a),a=Pn._modifyShaderPosition(e,a,t.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(t1),u=[`GLOBE_MINIMUM_ALTITUDE ${t.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],f="",d="";l(n.material)?(d=l(n.material)?n.material.shaderSource:"",d.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&u.push("ANGLE_VARYING"),d.search(/in\s+float\s+v_width;/g)!==-1&&u.push("WIDTH_VARYING")):f="PER_INSTANCE_COLOR",u.push(f);let p=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",f]:[f],g=new ze({defines:u,sources:[s]}),m=new ze({defines:p,sources:[d,c]});e._sp=an.replaceCache({context:i,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let x=i.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");if(!l(x)){let T=new ze({defines:u.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});x=i.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:i,shaderProgram:e._sp2D,vertexShaderSource:T,fragmentShaderSource:m,attributeLocations:r})}e._sp2D=x;let b=i.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");if(!l(b)){let T=new ze({defines:u.concat([`MAX_TERRAIN_HEIGHT ${fi._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(n1);let A=new ze({defines:p,sources:[d,c]});b=i.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:i,shaderProgram:e._spMorph,vertexShaderSource:T,fragmentShaderSource:A,attributeLocations:r})}e._spMorph=b}function Gie(e){return Ve.fromCache({cull:{enabled:!0},blending:hn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Wn.EQUAL,frontOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.KEEP},backFunction:Wn.EQUAL,backOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.KEEP},reference:Vt.CESIUM_3D_TILE_MASK,mask:Vt.CESIUM_3D_TILE_MASK}})}function nNe(e,t,n,i,o,r){let s=e._primitive,a=s._va.length;o.length=a,r.length=a;let u=t instanceof $r?{}:n._uniforms,f=s._batchTable.getUniformMapCallback()(u);for(let d=0;d<a;d++){let p=s._va[d],g=o[d];l(g)||(g=o[d]=new Xe({owner:e,primitiveType:s._primitiveType})),g.vertexArray=p,g.renderState=e._renderState,g.shaderProgram=e._sp,g.uniformMap=f,g.pass=Se.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";let m=Xe.shallowClone(g,g.derivedCommands.tileset);m.renderState=e._renderState3DTiles,m.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;let x=Xe.shallowClone(g,g.derivedCommands.color2D);x.shaderProgram=e._sp2D,g.derivedCommands.color2D=x;let b=Xe.shallowClone(m,m.derivedCommands.color2D);b.shaderProgram=e._sp2D,m.derivedCommands.color2D=b;let T=Xe.shallowClone(g,g.derivedCommands.colorMorph);T.renderState=e._renderStateMorph,T.shaderProgram=e._spMorph,T.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=T}}function Wie(e,t,n,i,o,r,s){n.mode===ne.MORPHING?t=t.derivedCommands.colorMorph:n.mode!==ne.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function iNe(e,t,n,i,o,r,s){let a=e._primitive;Pn._updateBoundingVolumes(a,t,o);let c;t.mode===ne.SCENE3D?c=a._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=a._boundingSphereCV:t.mode===ne.SCENE2D&&l(a._boundingSphere2D)?c=a._boundingSphere2D:l(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);let u=t.mode===ne.MORPHING,f=e.classificationType,d=f!==Hn.CESIUM_3D_TILE,p=f!==Hn.TERRAIN&&!u,g,m=t.passes;if(m.render||m.pick&&a.allowPicking){let x=n.length;for(let b=0;b<x;++b){let T=c[b];d&&(g=n[b],Wie(e,g,t,o,r,T,s)),p&&(g=n[b].derivedCommands.tileset,Wie(e,g,t,o,r,T,s))}}}Op.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!fi.initialized){Op.initializeTerrainHeights();return}let t,n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r),a;for(t=0;t<r;++t)if(a=o[t].attributes,!l(a)||!l(a.color)){this._hasPerInstanceColors=!1;break}for(t=0;t<r;++t){let c=o[t];a={};let u=c.attributes;for(let f in u)u.hasOwnProperty(f)&&(a[f]=u[f]);l(a.width)||(a.width=new ac({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=e.scene3DOnly,vx.setProjectionAndEllipsoid(c.geometry,e.mapProjection),s[t]=new vt({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:n})}i.geometryInstances=s,i.appearance=this.appearance,i._createShaderProgramFunction=function(c,u,f){tNe(n,u,f)},i._createCommandsFunction=function(c,u,f,d,p,g,m){nNe(n,u,f,d,g,m)},i._updateAndQueueCommandsFunction=function(c,u,f,d,p,g,m,x){iNe(n,u,f,d,p,g,m)},this._primitive=new Pn(i)}if(this.appearance instanceof $r&&!this._hasPerInstanceColors)throw new de("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Op.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Op.isSupported=function(e){return e.frameState.context.depthTexture};Op.prototype.isDestroyed=function(){return!1};Op.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,ue(this)};var Id=Op;var oNe=new z(1,1),rNe=!1,sNe=H.WHITE;function fA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(fA.prototype,{isConstant:{get:function(){return q.isConstant(this._image)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:le("image"),repeat:le("repeat"),color:le("color"),transparent:le("transparent")});fA.prototype.getType=function(e){return"Image"};var aNe=new K;fA.prototype.getValue=function(e,t){return l(e)||(e=K.now(aNe)),l(t)||(t={}),t.image=q.getValueOrUndefined(this._image,e),t.repeat=q.getValueOrClonedDefault(this._repeat,e,oNe,t.repeat),t.color=q.getValueOrClonedDefault(this._color,e,sNe,t.color),q.getValueOrDefault(this._transparent,e,rNe)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};fA.prototype.equals=function(e){return this===e||e instanceof fA&&q.equals(this._image,e._image)&&q.equals(this._repeat,e._repeat)&&q.equals(this._color,e._color)&&q.equals(this._transparent,e._transparent)};var jg=fA;function cNe(e){if(e instanceof H)return new Ut(e);if(typeof e=="string"||e instanceof we||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new jg;return t.image=e,t}}function lNe(e,t){return le(e,t,cNe)}var Ro=lNe;function a1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(a1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),dimensions:le("dimensions"),heightReference:le("heightReference"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});a1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new a1(this)};a1.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Px=a1;var uNe={FIXED:0,INERTIAL:1},Hi=Object.freeze(uNe);function dA(){de.throwInstantiationError()}Object.defineProperties(dA.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError},referenceFrame:{get:de.throwInstantiationError}});dA.prototype.getValue=de.throwInstantiationError;dA.prototype.getValueInReferenceFrame=de.throwInstantiationError;dA.prototype.equals=de.throwInstantiationError;var jie=new $;dA.convertToReferenceFrame=function(e,t,n,i,o){if(!l(t))return t;if(l(o)||(o=new h),n===i)return h.clone(t,o);let r=Lt.computeIcrfToCentralBodyFixedMatrix(e,jie);if(n===Hi.INERTIAL)return $.multiplyByVector(r,t,o);if(n===Hi.FIXED)return $.multiplyByVector($.transpose(r,jie),t,o)};var Pd=dA;function Rx(e,t){this._definitionChanged=new me,this._value=h.clone(e),this._referenceFrame=y(t,Hi.FIXED)}Object.defineProperties(Rx.prototype,{isConstant:{get:function(){return!l(this._value)||this._referenceFrame===Hi.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var fNe=new K;Rx.prototype.getValue=function(e,t){return l(e)||(e=K.now(fNe)),this.getValueInReferenceFrame(e,Hi.FIXED,t)};Rx.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),l(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};Rx.prototype.getValueInReferenceFrame=function(e,t,n){return Pd.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};Rx.prototype.equals=function(e){return this===e||e instanceof Rx&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var zc=Rx;function c1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(c1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});c1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new c1(this)};c1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Ox=c1;function dNe(e){return e}function hNe(e,t){return le(e,t,dNe)}var vl=hNe;function l1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(l1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),length:le("length"),topRadius:le("topRadius"),bottomRadius:le("bottomRadius"),heightReference:le("heightReference"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),slices:le("slices"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});l1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new l1(this)};l1.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Mx=l1;function u1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(u1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),semiMajorAxis:le("semiMajorAxis"),semiMinorAxis:le("semiMinorAxis"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});u1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new u1(this)};u1.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Lx=u1;function f1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(f1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),radii:le("radii"),innerRadii:le("innerRadii"),minimumClock:le("minimumClock"),maximumClock:le("maximumClock"),minimumCone:le("minimumCone"),maximumCone:le("maximumCone"),heightReference:le("heightReference"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),stackPartitions:le("stackPartitions"),slicePartitions:le("slicePartitions"),subdivisions:le("subdivisions"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});f1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new f1(this)};f1.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Nx=f1;function d1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(d1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),text:le("text"),font:le("font"),style:le("style"),scale:le("scale"),showBackground:le("showBackground"),backgroundColor:le("backgroundColor"),backgroundPadding:le("backgroundPadding"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),fillColor:le("fillColor"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),scaleByDistance:le("scaleByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance")});d1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new d1(this)};d1.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var Rd=d1;var mNe=new h(1,1,1),pNe=h.ZERO,_Ne=Le.IDENTITY;function qie(e,t,n){this.translation=h.clone(y(e,pNe)),this.rotation=Le.clone(y(t,_Ne)),this.scale=h.clone(y(n,mNe))}qie.prototype.equals=function(e){return this===e||l(e)&&h.equals(this.translation,e.translation)&&Le.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var qg=qie;var b9=new qg;function h1(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(h1.prototype,{isConstant:{get:function(){return q.isConstant(this._translation)&&q.isConstant(this._rotation)&&q.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:le("translation"),rotation:le("rotation"),scale:le("scale")});var gNe=new K;h1.prototype.getValue=function(e,t){return l(e)||(e=K.now(gNe)),l(t)||(t=new qg),t.translation=q.getValueOrClonedDefault(this._translation,e,b9.translation,t.translation),t.rotation=q.getValueOrClonedDefault(this._rotation,e,b9.rotation,t.rotation),t.scale=q.getValueOrClonedDefault(this._scale,e,b9.scale,t.scale),t};h1.prototype.equals=function(e){return this===e||e instanceof h1&&q.equals(this._translation,e._translation)&&q.equals(this._rotation,e._rotation)&&q.equals(this._scale,e._scale)};var Fx=h1;function Mp(e,t){this._propertyNames=[],this._definitionChanged=new me,l(e)&&this.merge(e,t)}Object.defineProperties(Mp.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t<n;t++)if(!q.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});Mp.prototype.hasProperty=function(e){return this._propertyNames.indexOf(e)!==-1};function yNe(e){return new Jn(e)}Mp.prototype.addProperty=function(e,t,n){this._propertyNames.push(e),Object.defineProperty(this,e,le(e,!0,y(n,yNe))),l(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)};Mp.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e],this._definitionChanged.raiseEvent(this)};var xNe=new K;Mp.prototype.getValue=function(e,t){l(e)||(e=K.now(xNe)),l(t)||(t={});let n=this._propertyNames;for(let i=0,o=n.length;i<o;i++){let r=n[i];t[r]=q.getValueOrUndefined(this[r],e,t[r])}return t};Mp.prototype.merge=function(e,t){let n=this._propertyNames,i=l(e._propertyNames)?e._propertyNames:Object.keys(e);for(let o=0,r=i.length;o<r;o++){let s=i[o],a=this[s],c=e[s];a===void 0&&n.indexOf(s)===-1&&this.addProperty(s,void 0,t),c!==void 0&&(a!==void 0?l(a)&&l(a.merge)&&a.merge(c):l(c)&&l(c.merge)&&l(c.clone)?this[s]=c.clone():this[s]=c)}};function bNe(e,t){let n=e._propertyNames,i=t._propertyNames,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;++r){let s=n[r];if(i.indexOf(s)===-1||!q.equals(e[s],t[s]))return!1}return!0}Mp.prototype.equals=function(e){return this===e||e instanceof Mp&&bNe(this,e)};var wl=Mp;function Yie(e){return new Fx(e)}function TNe(e){return new wl(e,Yie)}function CNe(e){return new wl(e)}function m1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._hasVerticalExaggeration=void 0,this._hasVerticalExaggerationSubscription=void 0,this._enableVerticalExaggeration=void 0,this._enableVerticalExaggerationSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this._customShader=void 0,this._customShaderSubscription=void 0,this._marsOptions=e&&e.marsOptions||{},this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(m1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),scale:le("scale"),enableVerticalExaggeration:le("enableVerticalExaggeration"),minimumPixelSize:le("minimumPixelSize"),maximumScale:le("maximumScale"),incrementallyLoadTextures:le("incrementallyLoadTextures"),runAnimations:le("runAnimations"),clampAnimations:le("clampAnimations"),shadows:le("shadows"),heightReference:le("heightReference"),silhouetteColor:le("silhouetteColor"),silhouetteSize:le("silhouetteSize"),color:le("color"),colorBlendMode:le("colorBlendMode"),colorBlendAmount:le("colorBlendAmount"),imageBasedLightingFactor:le("imageBasedLightingFactor"),lightColor:le("lightColor"),distanceDisplayCondition:le("distanceDisplayCondition"),nodeTransformations:le("nodeTransformations",void 0,TNe),articulations:le("articulations",void 0,CNe),clippingPlanes:le("clippingPlanes"),customShader:le("customShader")});m1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.enableVerticalExaggeration=this.enableVerticalExaggeration,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e.customShader=this.customShader,e):new m1(this)};m1.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.scale=y(this.scale,e.scale),this.enableVerticalExaggeration=y(this.enableVerticalExaggeration,e.enableVerticalExaggeration),this.minimumPixelSize=y(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=y(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=y(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=y(this.runAnimations,e.runAnimations),this.clampAnimations=y(this.clampAnimations,e.clampAnimations),this.shadows=y(this.shadows,e.shadows),this.heightReference=y(this.heightReference,e.heightReference),this.silhouetteColor=y(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=y(this.silhouetteSize,e.silhouetteSize),this.color=y(this.color,e.color),this.colorBlendMode=y(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=y(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=y(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=y(this.lightColor,e.lightColor),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=y(this.clippingPlanes,e.clippingPlanes),this.customShader=y(this.customShader,e.customShader);let t=e.nodeTransformations;if(l(t)){let i=this.nodeTransformations;l(i)?i.merge(t):this.nodeTransformations=new wl(t,Yie)}let n=e.articulations;if(l(n)){let i=this.articulations;l(i)?i.merge(n):this.articulations=new wl(n)}};var Lp=m1;function p1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(p1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),maximumScreenSpaceError:le("maximumScreenSpaceError")});p1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new p1(this)};p1.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.maximumScreenSpaceError=y(this.maximumScreenSpaceError,e.maximumScreenSpaceError)};var Bx=p1;function _1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(_1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),leadTime:le("leadTime"),trailTime:le("trailTime"),width:le("width"),resolution:le("resolution"),material:Ro("material"),distanceDisplayCondition:le("distanceDisplayCondition")});_1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new _1(this)};_1.prototype.merge=function(e){this.show=y(this.show,e.show),this.leadTime=y(this.leadTime,e.leadTime),this.trailTime=y(this.trailTime,e.trailTime),this.width=y(this.width,e.width),this.resolution=y(this.resolution,e.resolution),this.material=y(this.material,e.material),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Np=_1;function g1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(g1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),plane:le("plane"),dimensions:le("dimensions"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});g1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new g1(this)};g1.prototype.merge=function(e){this.show=y(this.show,e.show),this.plane=y(this.plane,e.plane),this.dimensions=y(this.dimensions,e.dimensions),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var y1=g1;function x1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(x1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),pixelSize:le("pixelSize"),heightReference:le("heightReference"),color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});x1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e.splitDirection=this.splitDirection,e):new x1(this)};x1.prototype.merge=function(e){this.show=y(this.show,e.show),this.pixelSize=y(this.pixelSize,e.pixelSize),this.heightReference=y(this.heightReference,e.heightReference),this.color=y(this.color,e.color),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var kx=x1;function ANe(e,t){this.positions=l(e)?e:[],this.holes=l(t)?t:[]}var Fa=ANe;function ENe(e){return Array.isArray(e)&&(e=new Fa(e)),new Jn(e)}function b1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this._textureCoordinates=void 0,this._textureCoordinatesSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(b1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),hierarchy:le("hierarchy",void 0,ENe),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),perPositionHeight:le("perPositionHeight"),closeTop:le("closeTop"),closeBottom:le("closeBottom"),arcType:le("arcType"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex"),textureCoordinates:le("textureCoordinates")});b1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e.textureCoordinates=this.textureCoordinates,e):new b1(this)};b1.prototype.merge=function(e){this.show=y(this.show,e.show),this.hierarchy=y(this.hierarchy,e.hierarchy),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.perPositionHeight=y(this.perPositionHeight,e.perPositionHeight),this.closeTop=y(this.closeTop,e.closeTop),this.closeBottom=y(this.closeBottom,e.closeBottom),this.arcType=y(this.arcType,e.arcType),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex),this.textureCoordinates=y(this.textureCoordinates,e.textureCoordinates)};var Od=b1;function T1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(T1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),granularity:le("granularity"),material:Ro("material"),depthFailMaterial:Ro("depthFailMaterial"),arcType:le("arcType"),clampToGround:le("clampToGround"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});T1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new T1(this)};T1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.granularity=y(this.granularity,e.granularity),this.material=y(this.material,e.material),this.depthFailMaterial=y(this.depthFailMaterial,e.depthFailMaterial),this.arcType=y(this.arcType,e.arcType),this.clampToGround=y(this.clampToGround,e.clampToGround),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var cc=T1;function C1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(C1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),shape:le("shape"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});C1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new C1(this)};C1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.shape=y(this.shape,e.shape),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Vx=C1;function A1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(A1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),coordinates:le("coordinates"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});A1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new A1(this)};A1.prototype.merge=function(e){this.show=y(this.show,e.show),this.coordinates=y(this.coordinates,e.coordinates),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Md=A1;function E1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(E1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),minimumHeights:le("minimumHeights"),maximumHeights:le("maximumHeights"),granularity:le("granularity"),fill:le("fill"),material:Ro("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});E1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new E1(this)};E1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.minimumHeights=y(this.minimumHeights,e.minimumHeights),this.maximumHeights=y(this.maximumHeights,e.maximumHeights),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Fp=E1;var SNe=new fe,T9=[];function vNe(e){return new zc(e)}function wNe(e){return le(e,void 0,vNe)}function Gs(e,t){return le(e,void 0,function(n){return n instanceof t?n:new t(n)})}function yf(e){e=y(e,y.EMPTY_OBJECT);let t=e.id;l(t)||(t=qn()),this._availability=void 0,this._id=t,this._definitionChanged=new me,this._name=e.name,this._show=y(e.show,!0),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall",...T9],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function C9(e,t,n){let i=t.length;for(let o=0;o<i;o++){let r=t[o],s=r._show;(!n&&s)!==(n&&s)&&C9(r,r._children,n)}e._definitionChanged.raiseEvent(e,"isShowing",n,!n)}Object.defineProperties(yf.prototype,{availability:vl("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:vl("name"),show:{get:function(){return this._show},set:function(e){if(e===this._show)return;let t=this.isShowing;this._show=e;let n=this.isShowing;t!==n&&C9(this,this._children,n),this._definitionChanged.raiseEvent(this,"show",e,!e)}},isShowing:{get:function(){return this._show&&(!l(this.entityCollection)||this.entityCollection.show)&&(!l(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){let t=this._parent;if(t===e)return;let n=this.isShowing;if(l(t)){let o=t._children.indexOf(this);t._children.splice(o,1)}this._parent=e,l(e)&&e._children.push(this);let i=this.isShowing;n!==i&&C9(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,t)}},propertyNames:{get:function(){return this._propertyNames}},billboard:Gs("billboard",rc),box:Gs("box",Px),corridor:Gs("corridor",Ox),cylinder:Gs("cylinder",Mx),description:le("description"),ellipse:Gs("ellipse",Lx),ellipsoid:Gs("ellipsoid",Nx),label:Gs("label",Rd),model:Gs("model",Lp),tileset:Gs("tileset",Bx),orientation:le("orientation"),path:Gs("path",Np),plane:Gs("plane",y1),point:Gs("point",kx),polygon:Gs("polygon",Od),polyline:Gs("polyline",cc),polylineVolume:Gs("polylineVolume",Vx),properties:Gs("properties",wl),position:wNe("position"),rectangle:Gs("rectangle",Md),viewFrom:le("viewFrom"),wall:Gs("wall",Fp)});yf.registerEntityType=function(e,t){Object.defineProperties(yf.prototype,{[e]:Gs(e,t)}),T9.includes(e)||T9.push(e)};yf.prototype.isAvailable=function(e){let t=this._availability;return!l(t)||t.contains(e)};yf.prototype.addProperty=function(e){this._propertyNames.push(e),Object.defineProperty(this,e,vl(e,!0))};yf.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e]};yf.prototype.merge=function(e){this.name=y(this.name,e.name),this.availability=y(this.availability,e.availability);let t=this._propertyNames,n=l(e._propertyNames)?e._propertyNames:Object.keys(e),i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r==="parent"||r==="name"||r==="availability"||r==="children")continue;let s=this[r],a=e[r];!l(s)&&t.indexOf(r)===-1&&this.addProperty(r),l(a)&&(l(s)?l(s.merge)&&s.merge(a):l(a.merge)&&l(a.clone)?this[r]=a.clone():this[r]=a)}};var Xie=new $,Kie=new h,Zie=new Le;yf.prototype.computeModelMatrix=function(e,t){let n=q.getValueOrUndefined(this._position,e,Kie);if(!l(n))return;let i=q.getValueOrUndefined(this._orientation,e,Zie);return l(i)?t=F.fromRotationTranslation($.fromQuaternion(i,Xie),n,t):t=Lt.eastNorthUpToFixedFrame(n,void 0,t),t};yf.prototype.computeModelMatrixForHeightReference=function(e,t,n,i,o){let r=q.getValueOrDefault(t,e,je.NONE),s=q.getValueOrUndefined(this._position,e,Kie);if(r===je.NONE||!l(s)||h.equalsEpsilon(s,h.ZERO,P.EPSILON8))return this.computeModelMatrix(e,o);let a=i.cartesianToCartographic(s,SNe);mf(r)?a.height=n:a.height+=n,s=i.cartographicToCartesian(a,s);let c=q.getValueOrUndefined(this._orientation,e,Zie);return l(c)?o=F.fromRotationTranslation($.fromQuaternion(c,Xie),s,o):o=Lt.eastNorthUpToFixedFrame(s,void 0,o),o};yf.supportsMaterialsforEntitiesOnTerrain=function(e){return Vc.supportsMaterials(e)};yf.supportsPolylinesOnTerrain=function(e){return Id.isSupported(e)};var Qo=yf;var DNe=new Ut(H.WHITE),INe=new Jn(!0),PNe=new Jn(!0),RNe=new Jn(!1),ONe=new Jn(H.BLACK),MNe=new Jn(bn.DISABLED),LNe=new Jn(new Ot),NNe=new Jn(Hn.BOTH);function Hc(e){let t=e.entity,n=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=n,this._id=`${n}-${t.id}`,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=Qo.supportsMaterialsforEntitiesOnTerrain(e.scene)}Object.defineProperties(Hc.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});Hc.prototype.isOutlineVisible=function(e){let t=this._entity,n=this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e);return y(n,!1)};Hc.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e);return y(n,!1)};Hc.prototype.createFillGeometryInstance=de.throwInstantiationError;Hc.prototype.createOutlineGeometryInstance=de.throwInstantiationError;Hc.prototype.isDestroyed=function(){return!1};Hc.prototype.destroy=function(){ue(this)};Hc.prototype._isHidden=function(e,t){let n=t.show;return l(n)&&n.isConstant&&!n.getValue(Ue.MINIMUM_VALUE)};Hc.prototype._isOnTerrain=function(e,t){return!1};Hc.prototype._getIsClosed=function(e){return!0};Hc.prototype._isDynamic=de.throwInstantiationError;Hc.prototype._setStaticOptions=de.throwInstantiationError;Hc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.fill,s=l(r)&&r.isConstant?r.getValue(Ue.MINIMUM_VALUE):!0,a=o.outline,c=l(a);if(c&&a.isConstant&&(c=a.getValue(Ue.MINIMUM_VALUE)),!s&&!c){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let u=o.show;if(this._isHidden(e,o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=y(o.material,DNe),this._fillProperty=y(r,PNe),this._showProperty=y(u,INe),this._showOutlineProperty=y(o.outline,RNe),this._outlineColorProperty=c?y(o.outlineColor,ONe):void 0,this._shadowsProperty=y(o.shadows,MNe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,LNe),this._classificationTypeProperty=y(o.classificationType,NNe),this._fillEnabled=s;let f=this._isOnTerrain(e,o)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof Ut);if(c&&f&&(Tt(Tt.geometryOutlines),c=!1),this._onTerrain=f,this._outlineEnabled=c,this._isDynamic(e,o))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(e,o),this._isClosed=this._getIsClosed(this._options);let d=o.outlineWidth;this._outlineWidth=l(d)?d.getValue(Ue.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};Hc.prototype.createDynamicUpdater=function(e,t){return new this.constructor.DynamicGeometryUpdater(this,e,t)};var si=Hc;function hA(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(hA.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}});var FNe=new K;hA.prototype.getValue=function(e,t){return l(e)||(e=K.now(FNe)),this._callback(e,t)};hA.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};hA.prototype.equals=function(e){return this===e||e instanceof hA&&this._callback===e._callback&&this._isConstant===e._isConstant};var Ld=hA;var $ie=new h;function mA(e,t,n,i){this._scene=e,this._heightReference=n,this._extrudedHeightReference=i,this._positionProperty=t,this._position=new h,this._cartographicPosition=new fe,this._normal=new h,this._definitionChanged=new me,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let o=this;if(l(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener(function(){o._updateClamping()}),this._removeModeListener=e.morphComplete.addEventListener(function(){o._updateClamping()})),t.isConstant){let r=t.getValue(Ue.MINIMUM_VALUE,$ie);if(!l(r)||h.equals(r,h.ZERO)||!l(e.globe))return;this._position=h.clone(r,this._position),this._updateClamping(),this._normal=e.ellipsoid.geodeticSurfaceNormal(r,this._normal)}}Object.defineProperties(mA.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});mA.prototype._updateClamping=function(){l(this._removeCallbackFunc)&&this._removeCallbackFunc();let e=this._scene,t=this._position;if(h.equals(t,h.ZERO)){this._terrainHeight=0;return}let i=e.ellipsoid.cartesianToCartographic(t,this._cartographicPosition),o=e.getHeight(i,this._heightReference);l(o)?this._terrainHeight=o:this._terrainHeight=0;let r=s=>{this._terrainHeight=s.height,this.definitionChanged.raiseEvent()};this._removeCallbackFunc=e.updateHeight(i,r,this._heightReference)};var BNe=new K;mA.prototype.getValue=function(e,t){l(e)||(e=K.now(BNe));let n=q.getValueOrDefault(this._heightReference,e,je.NONE),i=q.getValueOrDefault(this._extrudedHeightReference,e,je.NONE);if(n===je.NONE&&!$C(i))return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,$ie);if(!l(r)||h.equals(r,h.ZERO)||!l(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,P.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};mA.prototype.isDestroyed=function(){return!1};mA.prototype.destroy=function(){return l(this._removeEventListener)&&this._removeEventListener(),l(this._removeModeListener)&&this._removeModeListener(),l(this._removeCallbackFunc)&&this._removeCallbackFunc(),ue(this)};var Ux=mA;function kNe(e,t,n,i){if(si.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(l(r)){let s=new Ld(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new Ux(this._scene,s,r)}}var Bp=kNe;var Qie=h.ZERO,Jie=new h,VNe=new h,eoe=new H;function UNe(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function pu(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new UNe(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}l(Object.create)&&(pu.prototype=Object.create(si.prototype),pu.prototype.constructor=pu);Object.defineProperties(pu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});pu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=zn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ut){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,eoe)),l(a)||(a=H.WHITE),s.color=Wt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Qie,Jie))),new vt({id:t,geometry:Al.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:s})};pu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,eoe),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Qie,Jie))),new vt({id:t,geometry:Sd.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:r})};pu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};pu.prototype._isHidden=function(e,t){return!l(t.dimensions)||!l(e.position)||si.prototype._isHidden.call(this,e,t)};pu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};pu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,Ue.MINIMUM_VALUE,je.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ut?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(Ue.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==je.NONE?un.ALL:void 0};pu.prototype._onEntityPropertyChanged=Bp;pu.DynamicGeometryUpdater=pA;function pA(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(pA.prototype=Object.create(ri.prototype),pA.prototype.constructor=pA);pA.prototype._isHidden=function(e,t,n){let i=q.getValueOrUndefined(e.position,n,VNe),o=this._options.dimensions;return!l(i)||!l(o)||ri.prototype._isHidden.call(this,e,t,n)};pA.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,je.NONE),o=this._options;o.dimensions=q.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==je.NONE?un.ALL:void 0};var S1=pu;function zx(e,t,n){this._callback=void 0,this._isConstant=void 0,this._referenceFrame=y(n,Hi.FIXED),this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(zx.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var zNe=new K;zx.prototype.getValue=function(e,t){return l(e)||(e=K.now(zNe)),this.getValueInReferenceFrame(e,Hi.FIXED,t)};zx.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};zx.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._callback(e,n);return Pd.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};zx.prototype.equals=function(e){return this===e||e instanceof zx&&this._callback===e._callback&&this._isConstant===e._isConstant&&this._referenceFrame===e._referenceFrame};var v1=zx;var _oe=Bo(poe(),1);var cFe=0,P9={};function om(e,t){let n,i=e;l(P9[i])?n=P9[i]:(n=cFe++,P9[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(om.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!l(this._element)){let e=_oe.default.sanitize(this._html),t=document.createElement("div");t.className="cesium-credit-wrapper",t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i<n.length;i++)n[i].setAttribute("target","_blank");this._element=t}return this._element}}});om.equals=function(e,t){return e===t||l(e)&&l(t)&&e._id===t._id&&e._showOnScreen===t._showOnScreen};om.prototype.equals=function(e){return om.equals(this,e)};om.prototype.isIon=function(){return this.html.indexOf("ion-credit.png")!==-1};om.getIonCredit=function(e){let t=l(e.collapsible)&&!e.collapsible;return new om(e.html,t)};om.clone=function(e){if(l(e))return new om(e.html,e.showOnScreen)};var wt=om;function Gx(e){this._url=e,this._cubeMapBuffers=void 0,this._texture=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._errorEvent=new me}Object.defineProperties(Gx.prototype,{url:{get:function(){return this._url}},errorEvent:{get:function(){return this._errorEvent}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}}});Gx.isSupported=function(e){return(e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat)&&e.supportsTextureLod};function R9(e){e._cubeMapBuffers=void 0}Gx.prototype.update=function(e){let{context:t}=e;if(!Gx.isSupported(t))return;if(l(this._texture)){R9(this);return}if(!l(this._texture)&&!this._loading){let f=t.textureCache.getTexture(this._url);l(f)&&(R9(this),this._texture=f,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0)}let n=this._cubeMapBuffers;if(!l(n)&&!this._loading){let f=this;bl(this._url).then(function(d){f._cubeMapBuffers=d,f._loading=!1}).catch(function(d){f.isDestroyed()||f._errorEvent.raiseEvent(d)}),this._loading=!0}if(!l(this._cubeMapBuffers))return;let{pixelDatatype:i}=n[0].positiveX;l(i)||(i=t.halfFloatingPointTexture?Je.HALF_FLOAT:Je.FLOAT);let o=ot.RGBA,r=n.length;this._maximumMipmapLevel=r-1;let s=n[0].positiveX.width,a=Math.log2(s)+1;if(r!==a){let f={};Object.values(Ra.FaceName).forEach(d=>{f[d]=void 0});for(let d=r;d<a;d++)n.push(f)}let c=new en({minificationFilter:Jt.LINEAR_MIPMAP_LINEAR}),u=new Ra({context:t,source:n[0],flipY:!1,pixelDatatype:i,pixelFormat:o,sampler:c});u.loadMipmaps(n.slice(1)),this._texture=u,this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture),this._ready=!0};Gx.prototype.isDestroyed=function(){return!1};Gx.prototype.destroy=function(){return R9(this),this._texture=this._texture&&this._texture.destroy(),ue(this)};var Fd=Gx;function R1(e){e=y(e,y.EMPTY_OBJECT);let t=l(e.imageBasedLightingFactor)?z.clone(e.imageBasedLightingFactor):new z(1,1);this._imageBasedLightingFactor=t;let n=y(e.luminanceAtZenith,.2);this._luminanceAtZenith=n;let i=e.sphericalHarmonicCoefficients;this._sphericalHarmonicCoefficients=i,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentCubeMap=void 0,this._specularEnvironmentCubeMapDirty=!0,this._specularEnvironmentMapLoaded=!1,this._previousSpecularEnvironmentMapLoaded=!1,this._useDefaultSpecularMaps=!1,this._useDefaultSphericalHarmonics=!1,this._shouldRegenerateShaders=!1,this._previousFrameNumber=void 0,this._previousImageBasedLightingFactor=z.clone(t),this._previousLuminanceAtZenith=n,this._previousSphericalHarmonicCoefficients=i,this._removeErrorListener=void 0}Object.defineProperties(R1.prototype,{imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){this._previousImageBasedLightingFactor=z.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor),this._imageBasedLightingFactor=z.clone(e,this._imageBasedLightingFactor)}},luminanceAtZenith:{get:function(){return this._luminanceAtZenith},set:function(e){this._previousLuminanceAtZenith=this._luminanceAtZenith,this._luminanceAtZenith=e}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients,this._sphericalHarmonicCoefficients=e}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){e!==this._specularEnvironmentMaps&&(this._specularEnvironmentCubeMapDirty=this._specularEnvironmentCubeMapDirty||e!==this._specularEnvironmentMaps,this._specularEnvironmentMapLoaded=!1),this._specularEnvironmentMaps=e}},enabled:{get:function(){return this._imageBasedLightingFactor.x>0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return l(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentCubeMap:{get:function(){return this._specularEnvironmentCubeMap}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready||this._useDefaultSpecularMaps}}});function lFe(e,t){if(Fd.isSupported(t)){if(e._specularEnvironmentCubeMap=e._specularEnvironmentCubeMap&&e._specularEnvironmentCubeMap.destroy(),l(e._specularEnvironmentMaps)){let n=new Fd(e._specularEnvironmentMaps);e._specularEnvironmentCubeMap=n,e._removeErrorListener=n.errorEvent.addEventListener(i=>{console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}R1.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;z.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=z.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._luminanceAtZenith)!==l(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._previousSphericalHarmonicCoefficients)!==l(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentCubeMapDirty&&(lFe(this,t),this._specularEnvironmentCubeMapDirty=!1),l(this._specularEnvironmentCubeMap)&&(this._specularEnvironmentCubeMap.update(e),this._specularEnvironmentCubeMap.ready&&(this._specularEnvironmentMapLoaded=!0));let o=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!l(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!l(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)};R1.prototype.isDestroyed=function(){return!1};R1.prototype.destroy=function(){return this._specularEnvironmentCubeMap=this._specularEnvironmentCubeMap&&this._specularEnvironmentCubeMap.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),ue(this)};var Wx=R1;var M9=Bo(ru(),1);var O9,goe="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1ZjJlYTllMy1kYWRiLTQwYjctOGZhOS02NGJkOTJhYTA1ODUiLCJpZCI6MjU5LCJpYXQiOjE3Mjc3OTI2NzB9.XbfI79d1v3T5OpMl4CznrcBuctSfW1lycPWlt8bq_1A",mU={};mU.defaultAccessToken=goe;mU.defaultServer=new we({url:"https://api.cesium.com/"});mU.getDefaultTokenCredit=function(e){if(e===goe){if(!l(O9)){let t=`<b> This application is using Cesium's default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>`;O9=new wt(t,!0)}return O9}};var Bd=mU;function jc(e,t){let n,i=e.externalType,o=l(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:uFe};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new ce("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");we.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new M9.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}l(Object.create)&&(jc.prototype=Object.create(we.prototype),jc.prototype.constructor=jc);jc.fromAssetId=function(e,t){let n=jc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new jc(i,n)})};Object.defineProperties(jc.prototype,{credits:{get:function(){return l(this._ionRoot)?this._ionRoot.credits:l(this._credits)?this._credits:(this._credits=jc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});jc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(wt.getIonCredit),i=Bd.getDefaultTokenCredit(t.queryParameters.access_token);return l(i)&&n.push(wt.clone(i)),n};jc.prototype.clone=function(e){let t=y(this._ionRoot,this);return l(e)||(e=new jc(t._ionEndpoint,t._ionEndpointResource)),e=we.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};jc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},l(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return we.prototype.fetchImage.call(this,e)};jc.prototype._makeRequest=function(e){return this._isExternal||new M9.default(this.url).authority()!==this._ionEndpointDomain?we.prototype._makeRequest.call(this,e):(l(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,e.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(e.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),we.prototype._makeRequest.call(this,e))};jc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Bd.defaultServer),i=y(t.accessToken,Bd.defaultAccessToken);n=we.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return l(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function uFe(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!l(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(l(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var gu=jc;function rm(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(rm.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(e<n)for(let i=e;i<n;++i)t[i]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});rm.prototype.get=function(e){return this._array[e]};rm.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};rm.prototype.peek=function(){return this._array[this._length-1]};rm.prototype.push=function(e){let t=this.length++;this._array[t]=e};rm.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};rm.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};rm.prototype.resize=function(e){this.length=e};rm.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var qc=rm;var kp={X:0,Y:1,Z:2};kp.Y_UP_TO_Z_UP=F.fromRotationTranslation($.fromArray([1,0,0,0,0,1,0,-1,0]));kp.Z_UP_TO_Y_UP=F.fromRotationTranslation($.fromArray([1,0,0,0,0,-1,0,1,0]));kp.X_UP_TO_Z_UP=F.fromRotationTranslation($.fromArray([0,0,1,0,1,0,-1,0,0]));kp.Z_UP_TO_X_UP=F.fromRotationTranslation($.fromArray([0,0,-1,0,1,0,1,0,0]));kp.X_UP_TO_Y_UP=F.fromRotationTranslation($.fromArray([0,1,0,-1,0,0,0,0,1]));kp.Y_UP_TO_X_UP=F.fromRotationTranslation($.fromArray([0,-1,0,1,0,0,0,0,1]));kp.fromName=function(e){return kp[e]};var Oo=Object.freeze(kp);function yoe(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(yoe.prototype,{metadata:{get:function(){return this._metadata}}});var jx=yoe;function Yg(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),Yg.decode(e)}Yg.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};Yg.decodeWithFromCharCode=function(e){let t="",n=fFe(e),i=n.length;for(let o=0;o<i;++o){let r=n[o];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t};function O1(e,t,n){return t<=e&&e<=n}function fFe(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c<a;++c){let u=e[c];if(i===0){if(O1(u,0,127)){s.push(u);continue}if(O1(u,194,223)){i=1,t=u&31;continue}if(O1(u,224,239)){u===224&&(o=160),u===237&&(r=159),i=2,t=u&15;continue}if(O1(u,240,244)){u===240&&(o=144),u===244&&(r=143),i=3,t=u&7;continue}throw new ce("String decoding failed.")}if(!O1(u,o,r)){t=i=n=0,o=128,r=191,--c;continue}o=128,r=191,t=t<<6|u&63,++n,n===i&&(s.push(t),t=i=n=0)}return s}typeof TextDecoder<"u"?Yg.decode=Yg.decodeWithTextDecoder:Yg.decode=Yg.decodeWithFromCharCode;var Dl=Yg;function dFe(e,t){return t=y(t,0),Dl(e,t,Math.min(4,e.length))}var kd=dFe;function bf(e,t,n,i){this._tileset=e,this._tile=t,this._resource=n,l(i)||(i=[]),this._contents=i,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(bf.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].metadata=e}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].group=e}}});var M1=Uint32Array.BYTES_PER_ELEMENT;bf.fromTileType=async function(e,t,n,i,o,r){o=y(o,0);let s=new Uint8Array(i),a=new DataView(i);o+=M1;let c=a.getUint32(o,!0);if(c!==1)throw new ce(`Only Composite Tile version 1 is supported. Version ${c} is not.`);o+=M1,o+=M1;let u=a.getUint32(o,!0);o+=M1;let f=n.queryParameters.compositeIndex;l(f)?f=`${f}_`:f="";let d=[];d.length=u;for(let m=0;m<u;++m){let x=kd(s,o),b=a.getUint32(o+M1*2,!0),T=r[x],A=`${f}${m}`,C=n.getDerivedResource({queryParameters:{compositeIndex:A}});if(l(T))d[m]=Promise.resolve(T(e,t,C,i,o));else throw new ce(`Unknown tile content type, ${x}, inside Composite tile`);o+=b}let p=await Promise.all(d);return new bf(e,t,n,p)};bf.prototype.hasProperty=function(e,t){return!1};bf.prototype.getFeature=function(e){};bf.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};bf.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};bf.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};bf.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};bf.prototype.isDestroyed=function(){return!1};bf.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var L1=bf;function hFe(e,t,n){return JSON.parse(Dl(e,t,n))}var Mo=hFe;function lc(e){this._id=qn();let t=e.featuresLength;this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[];let n,i;if(t>0){let o=Math.min(t,kt.maximumTextureSize),r=Math.ceil(t/kt.maximumTextureSize),s=1/o,a=s*.5,c=1/r,u=c*.5;n=new z(o,r),i=new oe(s,a,c,u)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(lc.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return l(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),l(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});lc.DEFAULT_COLOR_VALUE=H.WHITE;lc.DEFAULT_SHOW_VALUE=!0;function xoe(e){let t=e._textureDimensions;return t.x*t.y*4}function boe(e){if(!l(e._batchValues)){let t=xoe(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function Toe(e){if(!l(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}lc.prototype.setShow=function(e,t){if(t&&!l(this._showAlphaProperties))return;let n=Toe(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=boe(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};lc.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setShow(n,e)};lc.prototype.getShow=function(e){if(!l(this._showAlphaProperties))return!0;let t=e*2;return this._showAlphaProperties[t]===255};var mFe=new Array(4);lc.prototype.setColor=function(e,t){if(H.equals(t,lc.DEFAULT_COLOR_VALUE)&&!l(this._batchValues))return;let n=t.toBytes(mFe),i=n[3],o=boe(this),r=e*4,s=Toe(this),a=e*2;if(o[r]!==n[0]||o[r+1]!==n[1]||o[r+2]!==n[2]||s[a+1]!==i){o[r]=n[0],o[r+1]=n[1],o[r+2]=n[2];let c=s[a+1]!==255,u=s[a]!==0;o[r+3]=u?i:0,s[a+1]=i;let f=i!==255;f&&!c?++this._translucentFeaturesLength:!f&&c&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,l(this._colorChangedCallback)&&this._colorChangedCallback(e,t)}};lc.prototype.setAllColor=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setColor(n,e)};lc.prototype.getColor=function(e,t){if(!l(this._batchValues))return H.clone(lc.DEFAULT_COLOR_VALUE,t);let n=this._batchValues,i=e*4,o=this._showAlphaProperties,r=e*2;return H.fromBytes(n[i],n[i+1],n[i+2],o[r+1],t)};lc.prototype.getPickColor=function(e){return this._pickIds[e]};function Coe(e,t,n){let i=e._textureDimensions;return new Mt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,source:{width:i.x,height:i.y,arrayBufferView:n},flipY:!1,sampler:en.NEAREST})}function pFe(e,t){let n=e._featuresLength;if(!l(e._pickTexture)&&n>0){let i=e._pickIds,o=xoe(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c<n;++c){let u=t.createPickId(s.getFeature(c));i.push(u);let f=u.color,d=c*4;r[d]=H.floatToByte(f.red),r[d+1]=H.floatToByte(f.green),r[d+2]=H.floatToByte(f.blue),r[d+3]=H.floatToByte(f.alpha)}e._pickTexture=Coe(e,t,r),l(a)&&(a.batchTableByteLength+=e._pickTexture.sizeInBytes)}}function _Fe(e){let t=e._textureDimensions;e._batchTexture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}lc.prototype.update=function(e,t){let n=t.context;this._defaultTexture=n.defaultTexture;let i=t.passes;(i.pick||i.postProcess)&&pFe(this,n),this._batchValuesDirty&&(this._batchValuesDirty=!1,l(this._batchTexture)||(this._batchTexture=Coe(this,n,this._batchValues),l(this._statistics)&&(this._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes)),_Fe(this))};lc.prototype.isDestroyed=function(){return!1};lc.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();let e=this._pickIds,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var Yc=lc;var gFe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},yFe={SCALAR:void 0,VEC2:z,VEC3:h,VEC4:oe,MAT2:Ui,MAT3:$,MAT4:F};function xFe(e){let t=e.componentType,n;typeof t=="string"?n=X.fromName(t):n=t;let i=gFe[e.type],o=yFe[e.type];return{componentsPerAttribute:i,classType:o,createArrayBufferView:function(r,s,a){return X.createArrayBufferView(n,r,s,i*a)}}}var yu=xFe;function Vp(e){this._classes=void 0,this._classIds=void 0,this._classIndexes=void 0,this._parentCounts=void 0,this._parentIndexes=void 0,this._parentIds=void 0,this._byteLength=0,bFe(this,e.extension,e.binaryBody)}Object.defineProperties(Vp.prototype,{byteLength:{get:function(){return this._byteLength}}});function bFe(e,t,n){let i,o,r,s=t.instancesLength,a=t.classes,c=t.classIds,u=t.parentCounts,f=t.parentIds,d=s,p=0;l(c.byteOffset)&&(c.componentType=y(c.componentType,X.UNSIGNED_SHORT),c.type=sn.SCALAR,r=yu(c),c=r.createArrayBufferView(n.buffer,n.byteOffset+c.byteOffset,s),p+=c.byteLength);let g;if(l(u)){for(l(u.byteOffset)&&(u.componentType=y(u.componentType,X.UNSIGNED_SHORT),u.type=sn.SCALAR,r=yu(u),u=r.createArrayBufferView(n.buffer,n.byteOffset+u.byteOffset,s),p+=u.byteLength),g=new Uint16Array(s),d=0,i=0;i<s;++i)g[i]=d,d+=u[i];p+=g.byteLength}l(f)&&l(f.byteOffset)&&(f.componentType=y(f.componentType,X.UNSIGNED_SHORT),f.type=sn.SCALAR,r=yu(f),f=r.createArrayBufferView(n.buffer,n.byteOffset+f.byteOffset,d),p+=f.byteLength);let m=a.length;for(i=0;i<m;++i){let T=a[i].length,A=a[i].instances,C=TFe(T,A,n);p+=CFe(C),a[i].instances=bt(C,A)}let x=new Array(m).fill(0),b=new Uint16Array(s);for(i=0;i<s;++i)o=c[i],b[i]=x[o],++x[o];p+=b.byteLength,e._classes=a,e._classIds=c,e._classIndexes=b,e._parentCounts=u,e._parentIndexes=g,e._parentIds=f,e._byteLength=p}function TFe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new ce("componentType is required.");if(!l(c))throw new ce("type is required.");if(!l(n))throw new ce(`Property ${o} requires a batch table binary.`);let u=yu(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function CFe(e){let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}var AFe=[],EFe=[],SFe=0;function vFe(e,t,n){let i=e._classIds,o=e._parentCounts,r=e._parentIds,s=e._parentIndexes,a=i.length,c=AFe;c.length=Math.max(c.length,a);let u=++SFe,f=EFe;for(f.length=0,f.push(t);f.length>0;){if(t=f.pop(),c[t]===u)continue;c[t]=u;let d=n(e,t);if(l(d))return d;let p=o[t],g=s[t];for(let m=0;m<p;++m){let x=r[g+m];x!==t&&f.push(x)}}}function wFe(e,t,n){let i=!0;for(;i;){let o=n(e,t);if(l(o))return o;let r=e._parentIds[t];i=r!==t,t=r}}function N1(e,t,n){let i=e._parentCounts,o=e._parentIds;if(l(o)){if(l(i))return vFe(e,t,n)}else return n(e,t);return wFe(e,t,n)}Vp.prototype.hasProperty=function(e,t){let n=N1(this,e,function(i,o){let r=i._classIds[o],s=i._classes[r].instances;if(l(s[t]))return!0});return l(n)};Vp.prototype.propertyExists=function(e){let t=this._classes,n=t.length;for(let i=0;i<n;++i){let o=t[i].instances;if(l(o[e]))return!0}return!1};Vp.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,N1(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o].instances;for(let s in r)r.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)}),t};Vp.prototype.getProperty=function(e,t){return N1(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o],s=n._classIndexes[i],a=r.instances[t];if(l(a))return l(a.typedArray)?DFe(a,s):He(a[s],!0)})};function DFe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}Vp.prototype.setProperty=function(e,t,n){let i=N1(this,e,function(o,r){let s=o._classIds[r],a=o._classes[s],c=o._classIndexes[r],u=a.instances[t];if(l(u))return l(u.typedArray)?IFe(u,c,n):u[c]=He(n,!0),!0});return l(i)};function IFe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}Vp.prototype.isClass=function(e,t){let n=N1(this,e,function(i,o){let r=i._classIds[o];if(i._classes[r].name===t)return!0});return l(n)};Vp.prototype.getClassName=function(e){let t=this._classIds[e];return this._classes[t].name};var qx=Vp;var PFe={HIGHLIGHT:0,REPLACE:1,MIX:2},Il=Object.freeze(PFe);var L9=Yc.DEFAULT_COLOR_VALUE,N9=Yc.DEFAULT_SHOW_VALUE;function go(e,t,n,i,o){this.featuresLength=t;let r;l(n)&&(r=n.extensions),this._extensions=y(r,{});let s=RFe(n);this._properties=s,this._batchTableHierarchy=OFe(this,n,i);let a=Eoe(t,s,i);this._binaryPropertiesByteLength=MFe(a),this._batchTableBinaryProperties=a,this._content=e,this._batchTexture=new Yc({featuresLength:t,colorChangedCallback:o,owner:e,statistics:e.tileset.statistics})}go._deprecationWarning=fs;Object.defineProperties(go.prototype,{batchTableByteLength:{get:function(){let e=this._binaryPropertiesByteLength;return l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e+=this._batchTexture.byteLength,e}}});function RFe(e){let t={};if(!l(e))return t;for(let n in e)e.hasOwnProperty(n)&&n!=="HIERARCHY"&&n!=="extensions"&&n!=="extras"&&(t[n]=He(e[n],!0));return t}function OFe(e,t,n){if(!l(t))return;let i=e._extensions["3DTILES_batch_table_hierarchy"],o=t.HIERARCHY;if(l(o)&&(go._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),e._extensions["3DTILES_batch_table_hierarchy"]=o,i=o),!!l(i))return new qx({extension:i,binaryBody:n})}function Eoe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new ce("componentType is required.");if(!l(c))throw new ce("type is required.");if(!l(n))throw new ce(`Property ${o} requires a batch table binary.`);let u=yu(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function MFe(e){if(!l(e))return 0;let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}go.getBinaryProperties=function(e,t,n){return Eoe(e,t,n)};go.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};go.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};go.prototype.getShow=function(e){return this._batchTexture.getShow(e)};go.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};go.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};go.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};go.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};var LFe=new H;go.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(L9),this.setAllShow(N9);return}let t=this._content,n=this.featuresLength;for(let i=0;i<n;++i){let o=t.getFeature(i),r=l(e.color)?y(e.color.evaluateColor(o,LFe),L9):L9,s=l(e.show)?y(e.show.evaluate(o),N9):N9;this.setColor(i,r),this.setShow(i,s)}};function NFe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}function FFe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}go.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};go.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};go.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};go.prototype.hasProperty=function(e,t){return l(this._properties[t])||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)};go.prototype.hasPropertyBySemantic=function(){return!1};go.prototype.getPropertyIds=function(e,t){t=l(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push.apply(t,n),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,n)),t};go.prototype.getPropertyBySemantic=function(e,t){};go.prototype.getProperty=function(e,t){if(l(this._batchTableBinaryProperties)){let i=this._batchTableBinaryProperties[t];if(l(i))return NFe(i,e)}let n=this._properties[t];if(l(n))return He(n[e],!0);if(l(this._batchTableHierarchy)){let i=this._batchTableHierarchy.getProperty(e,t);if(l(i))return i}};go.prototype.setProperty=function(e,t,n){let i=this.featuresLength;if(l(this._batchTableBinaryProperties)){let r=this._batchTableBinaryProperties[t];if(l(r)){FFe(r,e,n);return}}if(l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))return;let o=this._properties[t];l(o)||(this._properties[t]=new Array(i),o=this._properties[t]),o[e]=He(n,!0)};function BFe(e){return e._batchTexture.textureDimensions.y===1?`uniform vec4 tile_textureStep; +`;var I9=`${hu} +${h1}`,CNe=Lx;Gt.isInternetExplorer()||(I9=`#define CLIP_POLYLINE +${I9}`);function Nx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=Nx.VERTEX_FORMAT;this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,I9),this._fragmentShaderSource=y(e.fragmentShaderSource,CNe),this._renderState=ao.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(Nx.prototype,{vertexShaderSource:{get:function(){let e=this._vertexShaderSource;return this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&(e=`#define POLYLINE_DASH +${e}`),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});Nx.VERTEX_FORMAT=Ie.POSITION_AND_ST;Nx.prototype.getFragmentShaderSource=ao.prototype.getFragmentShaderSource;Nx.prototype.isTranslucent=ao.prototype.isTranslucent;Nx.prototype.getRenderState=ao.prototype.getRenderState;var ha=Nx;function Fp(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;let t=e.appearance;l(t)||(t=new ha),this.appearance=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,zn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1,this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=aoe(!1),this._renderState3DTiles=aoe(!0),this._renderStateMorph=Ve.fromCache({cull:{enabled:!0,face:Ci.FRONT},depthTest:{enabled:!0},blending:dn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(Fp.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});Fp.initializeTerrainHeights=function(){return fi.initialize()};function ANe(e,t,n){let i=t.context,o=e._primitive,r=o._attributeLocations,s=o._batchTable.getVertexShaderCallback()(f1);s=Pn._appendShowToShader(o,s),s=Pn._appendDistanceDisplayConditionToShader(o,s),s=Pn._modifyShaderPosition(e,s,t.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(u1);a=Pn._appendShowToShader(o,a),a=Pn._appendDistanceDisplayConditionToShader(o,a),a=Pn._modifyShaderPosition(e,a,t.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(c1),u=[`GLOBE_MINIMUM_ALTITUDE ${t.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],f="",d="";l(n.material)?(d=l(n.material)?n.material.shaderSource:"",d.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&u.push("ANGLE_VARYING"),d.search(/in\s+float\s+v_width;/g)!==-1&&u.push("WIDTH_VARYING")):f="PER_INSTANCE_COLOR",u.push(f);let p=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",f]:[f],g=new Ue({defines:u,sources:[s]}),m=new Ue({defines:p,sources:[d,c]});e._sp=tn.replaceCache({context:i,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let x=i.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");if(!l(x)){let T=new Ue({defines:u.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});x=i.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:i,shaderProgram:e._sp2D,vertexShaderSource:T,fragmentShaderSource:m,attributeLocations:r})}e._sp2D=x;let b=i.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");if(!l(b)){let T=new Ue({defines:u.concat([`MAX_TERRAIN_HEIGHT ${fi._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(l1);let A=new Ue({defines:p,sources:[d,c]});b=i.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:i,shaderProgram:e._spMorph,vertexShaderSource:T,fragmentShaderSource:A,attributeLocations:r})}e._spMorph=b}function aoe(e){return Ve.fromCache({cull:{enabled:!0},blending:dn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Hn.EQUAL,frontOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.KEEP},backFunction:Hn.EQUAL,backOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK}})}function ENe(e,t,n,i,o,r){let s=e._primitive,a=s._va.length;o.length=a,r.length=a;let u=t instanceof is?{}:n._uniforms,f=s._batchTable.getUniformMapCallback()(u);for(let d=0;d<a;d++){let p=s._va[d],g=o[d];l(g)||(g=o[d]=new Ze({owner:e,primitiveType:s._primitiveType})),g.vertexArray=p,g.renderState=e._renderState,g.shaderProgram=e._sp,g.uniformMap=f,g.pass=ve.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";let m=Ze.shallowClone(g,g.derivedCommands.tileset);m.renderState=e._renderState3DTiles,m.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;let x=Ze.shallowClone(g,g.derivedCommands.color2D);x.shaderProgram=e._sp2D,g.derivedCommands.color2D=x;let b=Ze.shallowClone(m,m.derivedCommands.color2D);b.shaderProgram=e._sp2D,m.derivedCommands.color2D=b;let T=Ze.shallowClone(g,g.derivedCommands.colorMorph);T.renderState=e._renderStateMorph,T.shaderProgram=e._spMorph,T.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=T}}function coe(e,t,n,i,o,r,s){n.mode===ne.MORPHING?t=t.derivedCommands.colorMorph:n.mode!==ne.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function SNe(e,t,n,i,o,r,s){let a=e._primitive;Pn._updateBoundingVolumes(a,t,o);let c;t.mode===ne.SCENE3D?c=a._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=a._boundingSphereCV:t.mode===ne.SCENE2D&&l(a._boundingSphere2D)?c=a._boundingSphere2D:l(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);let u=t.mode===ne.MORPHING,f=e.classificationType,d=f!==zn.CESIUM_3D_TILE,p=f!==zn.TERRAIN&&!u,g,m=t.passes;if(m.render||m.pick&&a.allowPicking){let x=n.length;for(let b=0;b<x;++b){let T=c[b];d&&(g=n[b],coe(e,g,t,o,r,T,s)),p&&(g=n[b].derivedCommands.tileset,coe(e,g,t,o,r,T,s))}}}Fp.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!fi.initialized){Fp.initializeTerrainHeights();return}let t,n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r),a;for(t=0;t<r;++t)if(a=o[t].attributes,!l(a)||!l(a.color)){this._hasPerInstanceColors=!1;break}for(t=0;t<r;++t){let c=o[t];a={};let u=c.attributes;for(let f in u)u.hasOwnProperty(f)&&(a[f]=u[f]);l(a.width)||(a.width=new ac({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=e.scene3DOnly,Ox.setProjectionAndEllipsoid(c.geometry,e.mapProjection),s[t]=new It({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:n})}i.geometryInstances=s,i.appearance=this.appearance,i._createShaderProgramFunction=function(c,u,f){ANe(n,u,f)},i._createCommandsFunction=function(c,u,f,d,p,g,m){ENe(n,u,f,d,g,m)},i._updateAndQueueCommandsFunction=function(c,u,f,d,p,g,m,x){SNe(n,u,f,d,p,g,m)},this._primitive=new Pn(i)}if(this.appearance instanceof is&&!this._hasPerInstanceColors)throw new de("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Fp.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Fp.isSupported=function(e){return e.frameState.context.depthTexture};Fp.prototype.isDestroyed=function(){return!1};Fp.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,ue(this)};var Rd=Fp;var vNe=new z(1,1),wNe=!1,DNe=H.WHITE;function mA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(mA.prototype,{isConstant:{get:function(){return q.isConstant(this._image)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:le("image"),repeat:le("repeat"),color:le("color"),transparent:le("transparent")});mA.prototype.getType=function(e){return"Image"};var INe=new K;mA.prototype.getValue=function(e,t){return l(e)||(e=K.now(INe)),l(t)||(t={}),t.image=q.getValueOrUndefined(this._image,e),t.repeat=q.getValueOrClonedDefault(this._repeat,e,vNe,t.repeat),t.color=q.getValueOrClonedDefault(this._color,e,DNe,t.color),q.getValueOrDefault(this._transparent,e,wNe)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};mA.prototype.equals=function(e){return this===e||e instanceof mA&&q.equals(this._image,e._image)&&q.equals(this._repeat,e._repeat)&&q.equals(this._color,e._color)&&q.equals(this._transparent,e._transparent)};var $g=mA;function PNe(e){if(e instanceof H)return new Ht(e);if(typeof e=="string"||e instanceof Ae||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new $g;return t.image=e,t}}function RNe(e,t){return le(e,t,PNe)}var No=RNe;function m1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(m1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),dimensions:le("dimensions"),heightReference:le("heightReference"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});m1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new m1(this)};m1.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Fx=m1;var ONe={FIXED:0,INERTIAL:1},zi=Object.freeze(ONe);function pA(){de.throwInstantiationError()}Object.defineProperties(pA.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError},referenceFrame:{get:de.throwInstantiationError}});pA.prototype.getValue=de.throwInstantiationError;pA.prototype.getValueInReferenceFrame=de.throwInstantiationError;pA.prototype.equals=de.throwInstantiationError;var loe=new $;pA.convertToReferenceFrame=function(e,t,n,i,o){if(!l(t))return t;if(l(o)||(o=new h),n===i)return h.clone(t,o);let r=Lt.computeIcrfToCentralBodyFixedMatrix(e,loe);if(n===zi.INERTIAL)return $.multiplyByVector(r,t,o);if(n===zi.FIXED)return $.multiplyByVector($.transpose(r,loe),t,o)};var Od=pA;function Bx(e,t){this._definitionChanged=new me,this._value=h.clone(e),this._referenceFrame=y(t,zi.FIXED)}Object.defineProperties(Bx.prototype,{isConstant:{get:function(){return!l(this._value)||this._referenceFrame===zi.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var MNe=new K;Bx.prototype.getValue=function(e,t){return l(e)||(e=K.now(MNe)),this.getValueInReferenceFrame(e,zi.FIXED,t)};Bx.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),l(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};Bx.prototype.getValueInReferenceFrame=function(e,t,n){return Od.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};Bx.prototype.equals=function(e){return this===e||e instanceof Bx&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var Wc=Bx;function p1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(p1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});p1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new p1(this)};p1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var kx=p1;function LNe(e){return e}function NNe(e,t){return le(e,t,LNe)}var jc=NNe;function _1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(_1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),length:le("length"),topRadius:le("topRadius"),bottomRadius:le("bottomRadius"),heightReference:le("heightReference"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),slices:le("slices"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});_1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new _1(this)};_1.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Vx=_1;function g1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(g1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),semiMajorAxis:le("semiMajorAxis"),semiMinorAxis:le("semiMinorAxis"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});g1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new g1(this)};g1.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Ux=g1;function y1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(y1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),radii:le("radii"),innerRadii:le("innerRadii"),minimumClock:le("minimumClock"),maximumClock:le("maximumClock"),minimumCone:le("minimumCone"),maximumCone:le("maximumCone"),heightReference:le("heightReference"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),stackPartitions:le("stackPartitions"),slicePartitions:le("slicePartitions"),subdivisions:le("subdivisions"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});y1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new y1(this)};y1.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var zx=y1;function x1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(x1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),text:le("text"),font:le("font"),style:le("style"),scale:le("scale"),showBackground:le("showBackground"),backgroundColor:le("backgroundColor"),backgroundPadding:le("backgroundPadding"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),fillColor:le("fillColor"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),scaleByDistance:le("scaleByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance")});x1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new x1(this)};x1.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var Md=x1;var FNe=new h(1,1,1),BNe=h.ZERO,kNe=Le.IDENTITY;function uoe(e,t,n){this.translation=h.clone(y(e,BNe)),this.rotation=Le.clone(y(t,kNe)),this.scale=h.clone(y(n,FNe))}uoe.prototype.equals=function(e){return this===e||l(e)&&h.equals(this.translation,e.translation)&&Le.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var Qg=uoe;var P9=new Qg;function b1(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(b1.prototype,{isConstant:{get:function(){return q.isConstant(this._translation)&&q.isConstant(this._rotation)&&q.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:le("translation"),rotation:le("rotation"),scale:le("scale")});var VNe=new K;b1.prototype.getValue=function(e,t){return l(e)||(e=K.now(VNe)),l(t)||(t=new Qg),t.translation=q.getValueOrClonedDefault(this._translation,e,P9.translation,t.translation),t.rotation=q.getValueOrClonedDefault(this._rotation,e,P9.rotation,t.rotation),t.scale=q.getValueOrClonedDefault(this._scale,e,P9.scale,t.scale),t};b1.prototype.equals=function(e){return this===e||e instanceof b1&&q.equals(this._translation,e._translation)&&q.equals(this._rotation,e._rotation)&&q.equals(this._scale,e._scale)};var Hx=b1;function Bp(e,t){this._propertyNames=[],this._definitionChanged=new me,l(e)&&this.merge(e,t)}Object.defineProperties(Bp.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t<n;t++)if(!q.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});Bp.prototype.hasProperty=function(e){return this._propertyNames.indexOf(e)!==-1};function UNe(e){return new $n(e)}Bp.prototype.addProperty=function(e,t,n){this._propertyNames.push(e),Object.defineProperty(this,e,le(e,!0,y(n,UNe))),l(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)};Bp.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e],this._definitionChanged.raiseEvent(this)};var zNe=new K;Bp.prototype.getValue=function(e,t){l(e)||(e=K.now(zNe)),l(t)||(t={});let n=this._propertyNames;for(let i=0,o=n.length;i<o;i++){let r=n[i];t[r]=q.getValueOrUndefined(this[r],e,t[r])}return t};Bp.prototype.merge=function(e,t){let n=this._propertyNames,i=l(e._propertyNames)?e._propertyNames:Object.keys(e);for(let o=0,r=i.length;o<r;o++){let s=i[o],a=this[s],c=e[s];a===void 0&&n.indexOf(s)===-1&&this.addProperty(s,void 0,t),c!==void 0&&(a!==void 0?l(a)&&l(a.merge)&&a.merge(c):l(c)&&l(c.merge)&&l(c.clone)?this[s]=c.clone():this[s]=c)}};function HNe(e,t){let n=e._propertyNames,i=t._propertyNames,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;++r){let s=n[r];if(i.indexOf(s)===-1||!q.equals(e[s],t[s]))return!1}return!0}Bp.prototype.equals=function(e){return this===e||e instanceof Bp&&HNe(this,e)};var vl=Bp;function foe(e){return new Hx(e)}function GNe(e){return new vl(e,foe)}function WNe(e){return new vl(e)}function T1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._hasVerticalExaggeration=void 0,this._hasVerticalExaggerationSubscription=void 0,this._enableVerticalExaggeration=void 0,this._enableVerticalExaggerationSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this._customShader=void 0,this._customShaderSubscription=void 0,this._marsOptions=e&&e.marsOptions||{},this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(T1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),scale:le("scale"),enableVerticalExaggeration:le("enableVerticalExaggeration"),minimumPixelSize:le("minimumPixelSize"),maximumScale:le("maximumScale"),incrementallyLoadTextures:le("incrementallyLoadTextures"),runAnimations:le("runAnimations"),clampAnimations:le("clampAnimations"),shadows:le("shadows"),heightReference:le("heightReference"),silhouetteColor:le("silhouetteColor"),silhouetteSize:le("silhouetteSize"),color:le("color"),colorBlendMode:le("colorBlendMode"),colorBlendAmount:le("colorBlendAmount"),imageBasedLightingFactor:le("imageBasedLightingFactor"),lightColor:le("lightColor"),distanceDisplayCondition:le("distanceDisplayCondition"),nodeTransformations:le("nodeTransformations",void 0,GNe),articulations:le("articulations",void 0,WNe),clippingPlanes:le("clippingPlanes"),customShader:le("customShader")});T1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.enableVerticalExaggeration=this.enableVerticalExaggeration,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e.customShader=this.customShader,e):new T1(this)};T1.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.scale=y(this.scale,e.scale),this.enableVerticalExaggeration=y(this.enableVerticalExaggeration,e.enableVerticalExaggeration),this.minimumPixelSize=y(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=y(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=y(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=y(this.runAnimations,e.runAnimations),this.clampAnimations=y(this.clampAnimations,e.clampAnimations),this.shadows=y(this.shadows,e.shadows),this.heightReference=y(this.heightReference,e.heightReference),this.silhouetteColor=y(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=y(this.silhouetteSize,e.silhouetteSize),this.color=y(this.color,e.color),this.colorBlendMode=y(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=y(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=y(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=y(this.lightColor,e.lightColor),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=y(this.clippingPlanes,e.clippingPlanes),this.customShader=y(this.customShader,e.customShader);let t=e.nodeTransformations;if(l(t)){let i=this.nodeTransformations;l(i)?i.merge(t):this.nodeTransformations=new vl(t,foe)}let n=e.articulations;if(l(n)){let i=this.articulations;l(i)?i.merge(n):this.articulations=new vl(n)}};var kp=T1;function C1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(C1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),maximumScreenSpaceError:le("maximumScreenSpaceError")});C1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new C1(this)};C1.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.maximumScreenSpaceError=y(this.maximumScreenSpaceError,e.maximumScreenSpaceError)};var Gx=C1;function A1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(A1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),leadTime:le("leadTime"),trailTime:le("trailTime"),width:le("width"),resolution:le("resolution"),material:No("material"),distanceDisplayCondition:le("distanceDisplayCondition")});A1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new A1(this)};A1.prototype.merge=function(e){this.show=y(this.show,e.show),this.leadTime=y(this.leadTime,e.leadTime),this.trailTime=y(this.trailTime,e.trailTime),this.width=y(this.width,e.width),this.resolution=y(this.resolution,e.resolution),this.material=y(this.material,e.material),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Vp=A1;function E1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(E1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),plane:le("plane"),dimensions:le("dimensions"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});E1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new E1(this)};E1.prototype.merge=function(e){this.show=y(this.show,e.show),this.plane=y(this.plane,e.plane),this.dimensions=y(this.dimensions,e.dimensions),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var S1=E1;function v1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(v1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),pixelSize:le("pixelSize"),heightReference:le("heightReference"),color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});v1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e.splitDirection=this.splitDirection,e):new v1(this)};v1.prototype.merge=function(e){this.show=y(this.show,e.show),this.pixelSize=y(this.pixelSize,e.pixelSize),this.heightReference=y(this.heightReference,e.heightReference),this.color=y(this.color,e.color),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var Wx=v1;function jNe(e,t){this.positions=l(e)?e:[],this.holes=l(t)?t:[]}var Na=jNe;function qNe(e){return Array.isArray(e)&&(e=new Na(e)),new $n(e)}function w1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this._textureCoordinates=void 0,this._textureCoordinatesSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(w1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),hierarchy:le("hierarchy",void 0,qNe),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),perPositionHeight:le("perPositionHeight"),closeTop:le("closeTop"),closeBottom:le("closeBottom"),arcType:le("arcType"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex"),textureCoordinates:le("textureCoordinates")});w1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e.textureCoordinates=this.textureCoordinates,e):new w1(this)};w1.prototype.merge=function(e){this.show=y(this.show,e.show),this.hierarchy=y(this.hierarchy,e.hierarchy),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.perPositionHeight=y(this.perPositionHeight,e.perPositionHeight),this.closeTop=y(this.closeTop,e.closeTop),this.closeBottom=y(this.closeBottom,e.closeBottom),this.arcType=y(this.arcType,e.arcType),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex),this.textureCoordinates=y(this.textureCoordinates,e.textureCoordinates)};var Ld=w1;function D1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(D1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),granularity:le("granularity"),material:No("material"),depthFailMaterial:No("depthFailMaterial"),arcType:le("arcType"),clampToGround:le("clampToGround"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});D1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new D1(this)};D1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.granularity=y(this.granularity,e.granularity),this.material=y(this.material,e.material),this.depthFailMaterial=y(this.depthFailMaterial,e.depthFailMaterial),this.arcType=y(this.arcType,e.arcType),this.clampToGround=y(this.clampToGround,e.clampToGround),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var cc=D1;function I1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(I1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),shape:le("shape"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});I1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new I1(this)};I1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.shape=y(this.shape,e.shape),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var jx=I1;function P1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(P1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),coordinates:le("coordinates"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});P1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new P1(this)};P1.prototype.merge=function(e){this.show=y(this.show,e.show),this.coordinates=y(this.coordinates,e.coordinates),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Nd=P1;function R1(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(R1.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),minimumHeights:le("minimumHeights"),maximumHeights:le("maximumHeights"),granularity:le("granularity"),fill:le("fill"),material:No("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});R1.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new R1(this)};R1.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.minimumHeights=y(this.minimumHeights,e.minimumHeights),this.maximumHeights=y(this.maximumHeights,e.maximumHeights),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Up=R1;var YNe=new fe,R9=[];function XNe(e){return new Wc(e)}function KNe(e){return le(e,void 0,XNe)}function Xs(e,t){return le(e,void 0,function(n){return n instanceof t?n:new t(n)})}function Tf(e){e=y(e,y.EMPTY_OBJECT);let t=e.id;l(t)||(t=Wn()),this._availability=void 0,this._id=t,this._definitionChanged=new me,this._name=e.name,this._show=y(e.show,!0),this._trackingReferenceFrame=y(e.trackingReferenceFrame,Op.AUTODETECT),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall",...R9],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function O9(e,t,n){let i=t.length;for(let o=0;o<i;o++){let r=t[o],s=r._show;(!n&&s)!==(n&&s)&&O9(r,r._children,n)}e._definitionChanged.raiseEvent(e,"isShowing",n,!n)}Object.defineProperties(Tf.prototype,{availability:jc("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:jc("name"),show:{get:function(){return this._show},set:function(e){if(e===this._show)return;let t=this.isShowing;this._show=e;let n=this.isShowing;t!==n&&O9(this,this._children,n),this._definitionChanged.raiseEvent(this,"show",e,!e)}},trackingReferenceFrame:jc("trackingReferenceFrame"),isShowing:{get:function(){return this._show&&(!l(this.entityCollection)||this.entityCollection.show)&&(!l(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){let t=this._parent;if(t===e)return;let n=this.isShowing;if(l(t)){let o=t._children.indexOf(this);t._children.splice(o,1)}this._parent=e,l(e)&&e._children.push(this);let i=this.isShowing;n!==i&&O9(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,t)}},propertyNames:{get:function(){return this._propertyNames}},billboard:Xs("billboard",rc),box:Xs("box",Fx),corridor:Xs("corridor",kx),cylinder:Xs("cylinder",Vx),description:le("description"),ellipse:Xs("ellipse",Ux),ellipsoid:Xs("ellipsoid",zx),label:Xs("label",Md),model:Xs("model",kp),tileset:Xs("tileset",Gx),orientation:le("orientation"),path:Xs("path",Vp),plane:Xs("plane",S1),point:Xs("point",Wx),polygon:Xs("polygon",Ld),polyline:Xs("polyline",cc),polylineVolume:Xs("polylineVolume",jx),properties:Xs("properties",vl),position:KNe("position"),rectangle:Xs("rectangle",Nd),viewFrom:le("viewFrom"),wall:Xs("wall",Up)});Tf.registerEntityType=function(e,t){Object.defineProperties(Tf.prototype,{[e]:Xs(e,t)}),R9.includes(e)||R9.push(e)};Tf.prototype.isAvailable=function(e){let t=this._availability;return!l(t)||t.contains(e)};Tf.prototype.addProperty=function(e){this._propertyNames.push(e),Object.defineProperty(this,e,jc(e,!0))};Tf.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e]};Tf.prototype.merge=function(e){this.name=y(this.name,e.name),this.availability=y(this.availability,e.availability);let t=this._propertyNames,n=l(e._propertyNames)?e._propertyNames:Object.keys(e),i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r==="parent"||r==="name"||r==="availability"||r==="children")continue;let s=this[r],a=e[r];!l(s)&&t.indexOf(r)===-1&&this.addProperty(r),l(a)&&(l(s)?l(s.merge)&&s.merge(a):l(a.merge)&&l(a.clone)?this[r]=a.clone():this[r]=a)}};var doe=new $,hoe=new h,moe=new Le;Tf.prototype.computeModelMatrix=function(e,t){let n=q.getValueOrUndefined(this._position,e,hoe);if(!l(n))return;let i=q.getValueOrUndefined(this._orientation,e,moe);return l(i)?t=F.fromRotationTranslation($.fromQuaternion(i,doe),n,t):t=Lt.eastNorthUpToFixedFrame(n,void 0,t),t};Tf.prototype.computeModelMatrixForHeightReference=function(e,t,n,i,o){let r=q.getValueOrDefault(t,e,qe.NONE),s=q.getValueOrUndefined(this._position,e,hoe);if(r===qe.NONE||!l(s)||h.equalsEpsilon(s,h.ZERO,P.EPSILON8))return this.computeModelMatrix(e,o);let a=i.cartesianToCartographic(s,YNe);xf(r)?a.height=n:a.height+=n,s=i.cartographicToCartesian(a,s);let c=q.getValueOrUndefined(this._orientation,e,moe);return l(c)?o=F.fromRotationTranslation($.fromQuaternion(c,doe),s,o):o=Lt.eastNorthUpToFixedFrame(s,void 0,o),o};Tf.supportsMaterialsforEntitiesOnTerrain=function(e){return Hc.supportsMaterials(e)};Tf.supportsPolylinesOnTerrain=function(e){return Rd.isSupported(e)};var rr=Tf;var ZNe=new Ht(H.WHITE),$Ne=new $n(!0),QNe=new $n(!0),JNe=new $n(!1),eFe=new $n(H.BLACK),tFe=new $n(Tn.DISABLED),nFe=new $n(new Nt),iFe=new $n(zn.BOTH);function qc(e){let t=e.entity,n=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=n,this._id=`${n}-${t.id}`,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=rr.supportsMaterialsforEntitiesOnTerrain(e.scene)}Object.defineProperties(qc.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});qc.prototype.isOutlineVisible=function(e){let t=this._entity,n=this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e);return y(n,!1)};qc.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e);return y(n,!1)};qc.prototype.createFillGeometryInstance=de.throwInstantiationError;qc.prototype.createOutlineGeometryInstance=de.throwInstantiationError;qc.prototype.isDestroyed=function(){return!1};qc.prototype.destroy=function(){ue(this)};qc.prototype._isHidden=function(e,t){let n=t.show;return l(n)&&n.isConstant&&!n.getValue(ze.MINIMUM_VALUE)};qc.prototype._isOnTerrain=function(e,t){return!1};qc.prototype._getIsClosed=function(e){return!0};qc.prototype._isDynamic=de.throwInstantiationError;qc.prototype._setStaticOptions=de.throwInstantiationError;qc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.fill,s=l(r)&&r.isConstant?r.getValue(ze.MINIMUM_VALUE):!0,a=o.outline,c=l(a);if(c&&a.isConstant&&(c=a.getValue(ze.MINIMUM_VALUE)),!s&&!c){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let u=o.show;if(this._isHidden(e,o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=y(o.material,ZNe),this._fillProperty=y(r,QNe),this._showProperty=y(u,$Ne),this._showOutlineProperty=y(o.outline,JNe),this._outlineColorProperty=c?y(o.outlineColor,eFe):void 0,this._shadowsProperty=y(o.shadows,tFe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,nFe),this._classificationTypeProperty=y(o.classificationType,iFe),this._fillEnabled=s;let f=this._isOnTerrain(e,o)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof Ht);if(c&&f&&(bt(bt.geometryOutlines),c=!1),this._onTerrain=f,this._outlineEnabled=c,this._isDynamic(e,o))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(e,o),this._isClosed=this._getIsClosed(this._options);let d=o.outlineWidth;this._outlineWidth=l(d)?d.getValue(ze.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};qc.prototype.createDynamicUpdater=function(e,t){return new this.constructor.DynamicGeometryUpdater(this,e,t)};var ri=qc;function _A(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(_A.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}});var oFe=new K;_A.prototype.getValue=function(e,t){return l(e)||(e=K.now(oFe)),this._callback(e,t)};_A.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};_A.prototype.equals=function(e){return this===e||e instanceof _A&&this._callback===e._callback&&this._isConstant===e._isConstant};var Fd=_A;var poe=new h;function gA(e,t,n,i){this._scene=e,this._heightReference=n,this._extrudedHeightReference=i,this._positionProperty=t,this._position=new h,this._cartographicPosition=new fe,this._normal=new h,this._definitionChanged=new me,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let o=this;if(l(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener(function(){o._updateClamping()}),this._removeModeListener=e.morphComplete.addEventListener(function(){o._updateClamping()})),t.isConstant){let r=t.getValue(ze.MINIMUM_VALUE,poe);if(!l(r)||h.equals(r,h.ZERO)||!l(e.globe))return;this._position=h.clone(r,this._position),this._updateClamping(),this._normal=e.ellipsoid.geodeticSurfaceNormal(r,this._normal)}}Object.defineProperties(gA.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});gA.prototype._updateClamping=function(){l(this._removeCallbackFunc)&&this._removeCallbackFunc();let e=this._scene,t=this._position;if(h.equals(t,h.ZERO)){this._terrainHeight=0;return}let i=e.ellipsoid.cartesianToCartographic(t,this._cartographicPosition),o=e.getHeight(i,this._heightReference);l(o)?this._terrainHeight=o:this._terrainHeight=0;let r=s=>{this._terrainHeight=s.height,this.definitionChanged.raiseEvent()};this._removeCallbackFunc=e.updateHeight(i,r,this._heightReference)};var rFe=new K;gA.prototype.getValue=function(e,t){l(e)||(e=K.now(rFe));let n=q.getValueOrDefault(this._heightReference,e,qe.NONE),i=q.getValueOrDefault(this._extrudedHeightReference,e,qe.NONE);if(n===qe.NONE&&!oA(i))return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,poe);if(!l(r)||h.equals(r,h.ZERO)||!l(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,P.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};gA.prototype.isDestroyed=function(){return!1};gA.prototype.destroy=function(){return l(this._removeEventListener)&&this._removeEventListener(),l(this._removeModeListener)&&this._removeModeListener(),l(this._removeCallbackFunc)&&this._removeCallbackFunc(),ue(this)};var qx=gA;function sFe(e,t,n,i){if(ri.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(l(r)){let s=new Fd(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new qx(this._scene,s,r)}}var zp=sFe;var _oe=h.ZERO,goe=new h,aFe=new h,yoe=new H;function cFe(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function mu(e,t){ri.call(this,{entity:e,scene:t,geometryOptions:new cFe(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}l(Object.create)&&(mu.prototype=Object.create(ri.prototype),mu.prototype.constructor=mu);Object.defineProperties(mu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});mu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Un.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,yoe)),l(a)||(a=H.WHITE),s.color=Wt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,_oe,goe))),new It({id:t,geometry:Ra.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:s})};mu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,yoe),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,_oe,goe))),new It({id:t,geometry:Pd.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:r})};mu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};mu.prototype._isHidden=function(e,t){return!l(t.dimensions)||!l(e.position)||ri.prototype._isHidden.call(this,e,t)};mu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};mu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,qe.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(ze.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==qe.NONE?ln.ALL:void 0};mu.prototype._onEntityPropertyChanged=zp;mu.DynamicGeometryUpdater=yA;function yA(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(yA.prototype=Object.create(oi.prototype),yA.prototype.constructor=yA);yA.prototype._isHidden=function(e,t,n){let i=q.getValueOrUndefined(e.position,n,aFe),o=this._options.dimensions;return!l(i)||!l(o)||oi.prototype._isHidden.call(this,e,t,n)};yA.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,qe.NONE),o=this._options;o.dimensions=q.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==qe.NONE?ln.ALL:void 0};var O1=mu;function Yx(e,t,n){this._callback=void 0,this._isConstant=void 0,this._referenceFrame=y(n,zi.FIXED),this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(Yx.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var lFe=new K;Yx.prototype.getValue=function(e,t){return l(e)||(e=K.now(lFe)),this.getValueInReferenceFrame(e,zi.FIXED,t)};Yx.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};Yx.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._callback(e,n);return Od.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};Yx.prototype.equals=function(e){return this===e||e instanceof Yx&&this._callback===e._callback&&this._isConstant===e._isConstant&&this._referenceFrame===e._referenceFrame};var M1=Yx;var Loe=Wo(Moe(),1);var DFe=0,U9={};function sm(e,t){let n,i=e;l(U9[i])?n=U9[i]:(n=DFe++,U9[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(sm.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!l(this._element)){let e=Loe.default.sanitize(this._html),t=document.createElement("div");t.className="cesium-credit-wrapper",t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i<n.length;i++)n[i].setAttribute("target","_blank");this._element=t}return this._element}}});sm.equals=function(e,t){return e===t||l(e)&&l(t)&&e._id===t._id&&e._showOnScreen===t._showOnScreen};sm.prototype.equals=function(e){return sm.equals(this,e)};sm.prototype.isIon=function(){return this.html.indexOf("ion-credit.png")!==-1};sm.getIonCredit=function(e){let t=l(e.collapsible)&&!e.collapsible;return new sm(e.html,t)};sm.clone=function(e){if(l(e))return new sm(e.html,e.showOnScreen)};var At=sm;function Xx(e){this._url=e,this._cubeMapBuffers=void 0,this._texture=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._errorEvent=new me}Object.defineProperties(Xx.prototype,{url:{get:function(){return this._url}},errorEvent:{get:function(){return this._errorEvent}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}}});Xx.isSupported=function(e){return(e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat)&&e.supportsTextureLod};function z9(e){e._cubeMapBuffers=void 0}Xx.prototype.update=function(e){let{context:t}=e;if(!Xx.isSupported(t))return;if(l(this._texture)){z9(this);return}if(!l(this._texture)&&!this._loading){let f=t.textureCache.getTexture(this._url);l(f)&&(z9(this),this._texture=f,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0)}let n=this._cubeMapBuffers;if(!l(n)&&!this._loading){let f=this;Tl(this._url).then(function(d){f._cubeMapBuffers=d,f._loading=!1}).catch(function(d){f.isDestroyed()||f._errorEvent.raiseEvent(d)}),this._loading=!0}if(!l(this._cubeMapBuffers))return;let{pixelDatatype:i}=n[0].positiveX;l(i)||(i=t.halfFloatingPointTexture?Ye.HALF_FLOAT:Ye.FLOAT);let o=nt.RGBA,r=n.length;this._maximumMipmapLevel=r-1;let s=n[0].positiveX.width,a=Math.log2(s)+1;if(r!==a){let f={};Object.values(vr.FaceName).forEach(d=>{f[d]=void 0});for(let d=r;d<a;d++)n.push(f)}let c=new Qt({minificationFilter:$t.LINEAR_MIPMAP_LINEAR}),u=new vr({context:t,source:n[0],flipY:!1,pixelDatatype:i,pixelFormat:o,sampler:c});u.loadMipmaps(n.slice(1)),this._texture=u,this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture),this._ready=!0};Xx.prototype.isDestroyed=function(){return!1};Xx.prototype.destroy=function(){return z9(this),this._texture=this._texture&&this._texture.destroy(),ue(this)};var kd=Xx;function B1(e){e=y(e,y.EMPTY_OBJECT);let t=l(e.imageBasedLightingFactor)?z.clone(e.imageBasedLightingFactor):new z(1,1);this._imageBasedLightingFactor=t;let n=e.sphericalHarmonicCoefficients;this._sphericalHarmonicCoefficients=n,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentCubeMap=void 0,this._specularEnvironmentCubeMapDirty=!0,this._specularEnvironmentMapLoaded=!1,this._previousSpecularEnvironmentMapLoaded=!1,this._useDefaultSpecularMaps=!1,this._useDefaultSphericalHarmonics=!1,this._shouldRegenerateShaders=!1,this._previousFrameNumber=void 0,this._previousImageBasedLightingFactor=z.clone(t),this._previousSphericalHarmonicCoefficients=n,this._removeErrorListener=void 0}Object.defineProperties(B1.prototype,{imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){this._previousImageBasedLightingFactor=z.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor),this._imageBasedLightingFactor=z.clone(e,this._imageBasedLightingFactor)}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients,this._sphericalHarmonicCoefficients=e}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){e!==this._specularEnvironmentMaps&&(this._specularEnvironmentCubeMapDirty=this._specularEnvironmentCubeMapDirty||e!==this._specularEnvironmentMaps,this._specularEnvironmentMapLoaded=!1),this._specularEnvironmentMaps=e}},enabled:{get:function(){return this._imageBasedLightingFactor.x>0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},specularEnvironmentCubeMap:{get:function(){return this._specularEnvironmentCubeMap}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready||this._useDefaultSpecularMaps}}});function IFe(e,t){if(kd.isSupported(t)){if(e._specularEnvironmentCubeMap=e._specularEnvironmentCubeMap&&e._specularEnvironmentCubeMap.destroy(),l(e._specularEnvironmentMaps)){let n=new kd(e._specularEnvironmentMaps);e._specularEnvironmentCubeMap=n,e._removeErrorListener=n.errorEvent.addEventListener(i=>{console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}B1.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;z.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=z.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._previousSphericalHarmonicCoefficients)!==l(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentCubeMapDirty&&(IFe(this,t),this._specularEnvironmentCubeMapDirty=!1),l(this._specularEnvironmentCubeMap)&&(this._specularEnvironmentCubeMap.update(e),this._specularEnvironmentCubeMap.ready&&(this._specularEnvironmentMapLoaded=!0));let o=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!l(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!l(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)};B1.prototype.isDestroyed=function(){return!1};B1.prototype.destroy=function(){return this._specularEnvironmentCubeMap=this._specularEnvironmentCubeMap&&this._specularEnvironmentCubeMap.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),ue(this)};var Kx=B1;var G9=Wo(ou(),1);var H9,Noe="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0ZDdmNWJiNy0wMmNlLTQ1MWUtODM2YS02NGM1MTBlOGMwMWQiLCJpZCI6MjU5LCJpYXQiOjE3MzMxNTc4OTV9.B3URHf0VdHDtGckb-hv7uqATdn8KfvkiuoAFZUq8tAo",CU={};CU.defaultAccessToken=Noe;CU.defaultServer=new Ae({url:"https://api.cesium.com/"});CU.getDefaultTokenCredit=function(e){if(e===Noe){if(!l(H9)){let t=`<b> This application is using Cesium's default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>`;H9=new At(t,!0)}return H9}};var Vd=CU;function Xc(e,t){let n,i=e.externalType,o=l(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:PFe};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new se("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");Ae.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new G9.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}l(Object.create)&&(Xc.prototype=Object.create(Ae.prototype),Xc.prototype.constructor=Xc);Xc.fromAssetId=function(e,t){let n=Xc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new Xc(i,n)})};Object.defineProperties(Xc.prototype,{credits:{get:function(){return l(this._ionRoot)?this._ionRoot.credits:l(this._credits)?this._credits:(this._credits=Xc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});Xc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(At.getIonCredit),i=Vd.getDefaultTokenCredit(t.queryParameters.access_token);return l(i)&&n.push(At.clone(i)),n};Xc.prototype.clone=function(e){let t=y(this._ionRoot,this);return l(e)||(e=new Xc(t._ionEndpoint,t._ionEndpointResource)),e=Ae.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};Xc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},l(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return Ae.prototype.fetchImage.call(this,e)};Xc.prototype._makeRequest=function(e){return this._isExternal||new G9.default(this.url).authority()!==this._ionEndpointDomain?Ae.prototype._makeRequest.call(this,e):(l(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,e.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(e.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),Ae.prototype._makeRequest.call(this,e))};Xc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Vd.defaultServer),i=y(t.accessToken,Vd.defaultAccessToken);n=Ae.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return l(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function PFe(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!l(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(l(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var _u=Xc;function am(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(am.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(e<n)for(let i=e;i<n;++i)t[i]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});am.prototype.get=function(e){return this._array[e]};am.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};am.prototype.peek=function(){return this._array[this._length-1]};am.prototype.push=function(e){let t=this.length++;this._array[t]=e};am.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};am.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};am.prototype.resize=function(e){this.length=e};am.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var Kc=am;var Hp={X:0,Y:1,Z:2};Hp.Y_UP_TO_Z_UP=F.fromRotationTranslation($.fromArray([1,0,0,0,0,1,0,-1,0]));Hp.Z_UP_TO_Y_UP=F.fromRotationTranslation($.fromArray([1,0,0,0,0,-1,0,1,0]));Hp.X_UP_TO_Z_UP=F.fromRotationTranslation($.fromArray([0,0,1,0,1,0,-1,0,0]));Hp.Z_UP_TO_X_UP=F.fromRotationTranslation($.fromArray([0,0,-1,0,1,0,1,0,0]));Hp.X_UP_TO_Y_UP=F.fromRotationTranslation($.fromArray([0,1,0,-1,0,0,0,0,1]));Hp.Y_UP_TO_X_UP=F.fromRotationTranslation($.fromArray([0,-1,0,1,0,0,0,0,1]));Hp.fromName=function(e){return Hp[e]};var Fo=Object.freeze(Hp);function Foe(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(Foe.prototype,{metadata:{get:function(){return this._metadata}}});var Zx=Foe;function Jg(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),Jg.decode(e)}Jg.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};Jg.decodeWithFromCharCode=function(e){let t="",n=RFe(e),i=n.length;for(let o=0;o<i;++o){let r=n[o];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t};function k1(e,t,n){return t<=e&&e<=n}function RFe(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c<a;++c){let u=e[c];if(i===0){if(k1(u,0,127)){s.push(u);continue}if(k1(u,194,223)){i=1,t=u&31;continue}if(k1(u,224,239)){u===224&&(o=160),u===237&&(r=159),i=2,t=u&15;continue}if(k1(u,240,244)){u===240&&(o=144),u===244&&(r=143),i=3,t=u&7;continue}throw new se("String decoding failed.")}if(!k1(u,o,r)){t=i=n=0,o=128,r=191,--c;continue}o=128,r=191,t=t<<6|u&63,++n,n===i&&(s.push(t),t=i=n=0)}return s}typeof TextDecoder<"u"?Jg.decode=Jg.decodeWithTextDecoder:Jg.decode=Jg.decodeWithFromCharCode;var wl=Jg;function OFe(e,t){return t=y(t,0),wl(e,t,Math.min(4,e.length))}var Ud=OFe;function Af(e,t,n,i){this._tileset=e,this._tile=t,this._resource=n,l(i)||(i=[]),this._contents=i,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(Af.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].metadata=e}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].group=e}}});var V1=Uint32Array.BYTES_PER_ELEMENT;Af.fromTileType=async function(e,t,n,i,o,r){o=y(o,0);let s=new Uint8Array(i),a=new DataView(i);o+=V1;let c=a.getUint32(o,!0);if(c!==1)throw new se(`Only Composite Tile version 1 is supported. Version ${c} is not.`);o+=V1,o+=V1;let u=a.getUint32(o,!0);o+=V1;let f=n.queryParameters.compositeIndex;l(f)?f=`${f}_`:f="";let d=[];d.length=u;for(let m=0;m<u;++m){let x=Ud(s,o),b=a.getUint32(o+V1*2,!0),T=r[x],A=`${f}${m}`,C=n.getDerivedResource({queryParameters:{compositeIndex:A}});if(l(T))d[m]=Promise.resolve(T(e,t,C,i,o));else throw new se(`Unknown tile content type, ${x}, inside Composite tile`);o+=b}let p=await Promise.all(d);return new Af(e,t,n,p)};Af.prototype.hasProperty=function(e,t){return!1};Af.prototype.getFeature=function(e){};Af.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};Af.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};Af.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};Af.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};Af.prototype.isDestroyed=function(){return!1};Af.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var U1=Af;function MFe(e,t,n){return JSON.parse(wl(e,t,n))}var Bo=MFe;function lc(e){this._id=Wn();let t=e.featuresLength;this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[];let n,i;if(t>0){let o=Math.min(t,Ft.maximumTextureSize),r=Math.ceil(t/Ft.maximumTextureSize),s=1/o,a=s*.5,c=1/r,u=c*.5;n=new z(o,r),i=new ie(s,a,c,u)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(lc.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return l(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),l(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});lc.DEFAULT_COLOR_VALUE=H.WHITE;lc.DEFAULT_SHOW_VALUE=!0;function Boe(e){let t=e._textureDimensions;return t.x*t.y*4}function koe(e){if(!l(e._batchValues)){let t=Boe(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function Voe(e){if(!l(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}lc.prototype.setShow=function(e,t){if(t&&!l(this._showAlphaProperties))return;let n=Voe(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=koe(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};lc.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setShow(n,e)};lc.prototype.getShow=function(e){if(!l(this._showAlphaProperties))return!0;let t=e*2;return this._showAlphaProperties[t]===255};var LFe=new Array(4);lc.prototype.setColor=function(e,t){if(H.equals(t,lc.DEFAULT_COLOR_VALUE)&&!l(this._batchValues))return;let n=t.toBytes(LFe),i=n[3],o=koe(this),r=e*4,s=Voe(this),a=e*2;if(o[r]!==n[0]||o[r+1]!==n[1]||o[r+2]!==n[2]||s[a+1]!==i){o[r]=n[0],o[r+1]=n[1],o[r+2]=n[2];let c=s[a+1]!==255,u=s[a]!==0;o[r+3]=u?i:0,s[a+1]=i;let f=i!==255;f&&!c?++this._translucentFeaturesLength:!f&&c&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,l(this._colorChangedCallback)&&this._colorChangedCallback(e,t)}};lc.prototype.setAllColor=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setColor(n,e)};lc.prototype.getColor=function(e,t){if(!l(this._batchValues))return H.clone(lc.DEFAULT_COLOR_VALUE,t);let n=this._batchValues,i=e*4,o=this._showAlphaProperties,r=e*2;return H.fromBytes(n[i],n[i+1],n[i+2],o[r+1],t)};lc.prototype.getPickColor=function(e){return this._pickIds[e]};function Uoe(e,t,n){let i=e._textureDimensions;return new Pt({context:t,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,source:{width:i.x,height:i.y,arrayBufferView:n},flipY:!1,sampler:Qt.NEAREST})}function NFe(e,t){let n=e._featuresLength;if(!l(e._pickTexture)&&n>0){let i=e._pickIds,o=Boe(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c<n;++c){let u=t.createPickId(s.getFeature(c));i.push(u);let f=u.color,d=c*4;r[d]=H.floatToByte(f.red),r[d+1]=H.floatToByte(f.green),r[d+2]=H.floatToByte(f.blue),r[d+3]=H.floatToByte(f.alpha)}e._pickTexture=Uoe(e,t,r),l(a)&&(a.batchTableByteLength+=e._pickTexture.sizeInBytes)}}function FFe(e){let t=e._textureDimensions;e._batchTexture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}lc.prototype.update=function(e,t){let n=t.context;this._defaultTexture=n.defaultTexture;let i=t.passes;(i.pick||i.postProcess)&&NFe(this,n),this._batchValuesDirty&&(this._batchValuesDirty=!1,l(this._batchTexture)||(this._batchTexture=Uoe(this,n,this._batchValues),l(this._statistics)&&(this._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes)),FFe(this))};lc.prototype.isDestroyed=function(){return!1};lc.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();let e=this._pickIds,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var Zc=lc;var BFe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},kFe={SCALAR:void 0,VEC2:z,VEC3:h,VEC4:ie,MAT2:Oi,MAT3:$,MAT4:F};function VFe(e){let t=e.componentType,n;typeof t=="string"?n=X.fromName(t):n=t;let i=BFe[e.type],o=kFe[e.type];return{componentsPerAttribute:i,classType:o,createArrayBufferView:function(r,s,a){return X.createArrayBufferView(n,r,s,i*a)}}}var gu=VFe;function Gp(e){this._classes=void 0,this._classIds=void 0,this._classIndexes=void 0,this._parentCounts=void 0,this._parentIndexes=void 0,this._parentIds=void 0,this._byteLength=0,UFe(this,e.extension,e.binaryBody)}Object.defineProperties(Gp.prototype,{byteLength:{get:function(){return this._byteLength}}});function UFe(e,t,n){let i,o,r,s=t.instancesLength,a=t.classes,c=t.classIds,u=t.parentCounts,f=t.parentIds,d=s,p=0;l(c.byteOffset)&&(c.componentType=y(c.componentType,X.UNSIGNED_SHORT),c.type=an.SCALAR,r=gu(c),c=r.createArrayBufferView(n.buffer,n.byteOffset+c.byteOffset,s),p+=c.byteLength);let g;if(l(u)){for(l(u.byteOffset)&&(u.componentType=y(u.componentType,X.UNSIGNED_SHORT),u.type=an.SCALAR,r=gu(u),u=r.createArrayBufferView(n.buffer,n.byteOffset+u.byteOffset,s),p+=u.byteLength),g=new Uint16Array(s),d=0,i=0;i<s;++i)g[i]=d,d+=u[i];p+=g.byteLength}l(f)&&l(f.byteOffset)&&(f.componentType=y(f.componentType,X.UNSIGNED_SHORT),f.type=an.SCALAR,r=gu(f),f=r.createArrayBufferView(n.buffer,n.byteOffset+f.byteOffset,d),p+=f.byteLength);let m=a.length;for(i=0;i<m;++i){let T=a[i].length,A=a[i].instances,C=zFe(T,A,n);p+=HFe(C),a[i].instances=Ct(C,A)}let x=new Array(m).fill(0),b=new Uint16Array(s);for(i=0;i<s;++i)o=c[i],b[i]=x[o],++x[o];p+=b.byteLength,e._classes=a,e._classIds=c,e._classIndexes=b,e._parentCounts=u,e._parentIndexes=g,e._parentIds=f,e._byteLength=p}function zFe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new se("componentType is required.");if(!l(c))throw new se("type is required.");if(!l(n))throw new se(`Property ${o} requires a batch table binary.`);let u=gu(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function HFe(e){let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}var GFe=[],WFe=[],jFe=0;function qFe(e,t,n){let i=e._classIds,o=e._parentCounts,r=e._parentIds,s=e._parentIndexes,a=i.length,c=GFe;c.length=Math.max(c.length,a);let u=++jFe,f=WFe;for(f.length=0,f.push(t);f.length>0;){if(t=f.pop(),c[t]===u)continue;c[t]=u;let d=n(e,t);if(l(d))return d;let p=o[t],g=s[t];for(let m=0;m<p;++m){let x=r[g+m];x!==t&&f.push(x)}}}function YFe(e,t,n){let i=!0;for(;i;){let o=n(e,t);if(l(o))return o;let r=e._parentIds[t];i=r!==t,t=r}}function z1(e,t,n){let i=e._parentCounts,o=e._parentIds;if(l(o)){if(l(i))return qFe(e,t,n)}else return n(e,t);return YFe(e,t,n)}Gp.prototype.hasProperty=function(e,t){let n=z1(this,e,function(i,o){let r=i._classIds[o],s=i._classes[r].instances;if(l(s[t]))return!0});return l(n)};Gp.prototype.propertyExists=function(e){let t=this._classes,n=t.length;for(let i=0;i<n;++i){let o=t[i].instances;if(l(o[e]))return!0}return!1};Gp.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,z1(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o].instances;for(let s in r)r.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)}),t};Gp.prototype.getProperty=function(e,t){return z1(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o],s=n._classIndexes[i],a=r.instances[t];if(l(a))return l(a.typedArray)?XFe(a,s):He(a[s],!0)})};function XFe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}Gp.prototype.setProperty=function(e,t,n){let i=z1(this,e,function(o,r){let s=o._classIds[r],a=o._classes[s],c=o._classIndexes[r],u=a.instances[t];if(l(u))return l(u.typedArray)?KFe(u,c,n):u[c]=He(n,!0),!0});return l(i)};function KFe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}Gp.prototype.isClass=function(e,t){let n=z1(this,e,function(i,o){let r=i._classIds[o];if(i._classes[r].name===t)return!0});return l(n)};Gp.prototype.getClassName=function(e){let t=this._classIds[e];return this._classes[t].name};var $x=Gp;var ZFe={HIGHLIGHT:0,REPLACE:1,MIX:2},Dl=Object.freeze(ZFe);var W9=Zc.DEFAULT_COLOR_VALUE,j9=Zc.DEFAULT_SHOW_VALUE;function bo(e,t,n,i,o){this.featuresLength=t;let r;l(n)&&(r=n.extensions),this._extensions=y(r,{});let s=$Fe(n);this._properties=s,this._batchTableHierarchy=QFe(this,n,i);let a=Hoe(t,s,i);this._binaryPropertiesByteLength=JFe(a),this._batchTableBinaryProperties=a,this._content=e,this._batchTexture=new Zc({featuresLength:t,colorChangedCallback:o,owner:e,statistics:e.tileset.statistics})}bo._deprecationWarning=ys;Object.defineProperties(bo.prototype,{batchTableByteLength:{get:function(){let e=this._binaryPropertiesByteLength;return l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e+=this._batchTexture.byteLength,e}}});function $Fe(e){let t={};if(!l(e))return t;for(let n in e)e.hasOwnProperty(n)&&n!=="HIERARCHY"&&n!=="extensions"&&n!=="extras"&&(t[n]=He(e[n],!0));return t}function QFe(e,t,n){if(!l(t))return;let i=e._extensions["3DTILES_batch_table_hierarchy"],o=t.HIERARCHY;if(l(o)&&(bo._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),e._extensions["3DTILES_batch_table_hierarchy"]=o,i=o),!!l(i))return new $x({extension:i,binaryBody:n})}function Hoe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new se("componentType is required.");if(!l(c))throw new se("type is required.");if(!l(n))throw new se(`Property ${o} requires a batch table binary.`);let u=gu(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function JFe(e){if(!l(e))return 0;let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}bo.getBinaryProperties=function(e,t,n){return Hoe(e,t,n)};bo.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};bo.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};bo.prototype.getShow=function(e){return this._batchTexture.getShow(e)};bo.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};bo.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};bo.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};bo.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};var e2e=new H;bo.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(W9),this.setAllShow(j9);return}let t=this._content,n=this.featuresLength;for(let i=0;i<n;++i){let o=t.getFeature(i),r=l(e.color)?y(e.color.evaluateColor(o,e2e),W9):W9,s=l(e.show)?y(e.show.evaluate(o),j9):j9;this.setColor(i,r),this.setShow(i,s)}};function t2e(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}function n2e(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}bo.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};bo.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};bo.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};bo.prototype.hasProperty=function(e,t){return l(this._properties[t])||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)};bo.prototype.hasPropertyBySemantic=function(){return!1};bo.prototype.getPropertyIds=function(e,t){t=l(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push.apply(t,n),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,n)),t};bo.prototype.getPropertyBySemantic=function(e,t){};bo.prototype.getProperty=function(e,t){if(l(this._batchTableBinaryProperties)){let i=this._batchTableBinaryProperties[t];if(l(i))return t2e(i,e)}let n=this._properties[t];if(l(n))return He(n[e],!0);if(l(this._batchTableHierarchy)){let i=this._batchTableHierarchy.getProperty(e,t);if(l(i))return i}};bo.prototype.setProperty=function(e,t,n){let i=this.featuresLength;if(l(this._batchTableBinaryProperties)){let r=this._batchTableBinaryProperties[t];if(l(r)){n2e(r,e,n);return}}if(l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))return;let o=this._properties[t];l(o)||(this._properties[t]=new Array(i),o=this._properties[t]),o[e]=He(n,!0)};function i2e(e){return e._batchTexture.textureDimensions.y===1?`uniform vec4 tile_textureStep; vec2 computeSt(float batchId) { float stepX = tile_textureStep.x; @@ -5899,7 +5944,7 @@ vec2 computeSt(float batchId) float yId = floor(batchId / tile_textureDimensions.x); return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); } -`}go.prototype.getVertexShaderCallback=function(e,t,n){if(this.featuresLength===0)return;let i=this;return function(o){let r=Soe(o,n,!1),s;return kt.maximumVertexTextureImageUnits>0?(s="",e&&(s+=`uniform bool tile_translucentCommand; +`}bo.prototype.getVertexShaderCallback=function(e,t,n){if(this.featuresLength===0)return;let i=this;return function(o){let r=Goe(o,n,!1),s;return Ft.maximumVertexTextureImageUnits>0?(s="",e&&(s+=`uniform bool tile_translucentCommand; `),s+=`uniform sampler2D tile_batchTexture; out vec4 tile_featureColor; out vec2 tile_featureSt; @@ -5933,7 +5978,7 @@ void main() tile_color(vec4(1.0)); tile_featureSt = computeSt(${t}); }`,`${r} -${BFe(i)}${s}`}};function Aoe(e,t){return e=ze.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend; +${i2e(i)}${s}`}};function zoe(e,t){return e=Ue.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend; void tile_color(vec4 tile_featureColor) { tile_main(); @@ -5946,7 +5991,7 @@ void tile_color(vec4 tile_featureColor) { tile_main(); } -`}function kFe(e,t){let n=`texture(${t}`,i=0,o=e.indexOf(n,i),r;for(;o>-1;){let s=0;for(let u=o;u<e.length;++u){let f=e.charAt(u);if(f==="(")++s;else if(f===")"&&(--s,s===0)){r=u+1;break}}let c=`tile_diffuse_final(${e.slice(o,r)}, tile_diffuse)`;e=e.slice(0,o)+c+e.slice(r),i=o+c.length,o=e.indexOf(n,i)}return e}function Soe(e,t,n){if(!l(t))return Aoe(e,n);let i=new RegExp(`(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+${t};`),o=e.match(i);if(!l(o))return Aoe(e,n);let r=o[0],s=o[2];e=ze.replaceMain(e,"tile_main"),e=e.replace(r,"");let a=`bool isWhite(vec3 color) +`}function o2e(e,t){let n=`texture(${t}`,i=0,o=e.indexOf(n,i),r;for(;o>-1;){let s=0;for(let u=o;u<e.length;++u){let f=e.charAt(u);if(f==="(")++s;else if(f===")"&&(--s,s===0)){r=u+1;break}}let c=`tile_diffuse_final(${e.slice(o,r)}, tile_diffuse)`;e=e.slice(0,o)+c+e.slice(r),i=o+c.length,o=e.indexOf(n,i)}return e}function Goe(e,t,n){if(!l(t))return zoe(e,n);let i=new RegExp(`(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+${t};`),o=e.match(i);if(!l(o))return zoe(e,n);let r=o[0],s=o[2];e=Ue.replaceMain(e,"tile_main"),e=e.replace(r,"");let a=`bool isWhite(vec3 color) { return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); } @@ -5963,7 +6008,7 @@ vec4 tile_diffuse_final(vec4 sourceDiffuse, vec4 tileDiffuse) `,u;if(s==="vec3"||s==="vec4"){let f=s==="vec3"?`vec4(${t}, 1.0)`:t,d=s==="vec3"?"tile_diffuse.xyz":"tile_diffuse";i=new RegExp(t,"g"),e=e.replace(i,d),u=` vec4 source = ${f}; tile_diffuse = tile_diffuse_final(source, tile_featureColor); tile_main(); -`}else s==="sampler2D"&&(e=kFe(e,t),u=` tile_diffuse = tile_featureColor; +`}else s==="sampler2D"&&(e=o2e(e,t),u=` tile_diffuse = tile_featureColor; tile_main(); `);return e=`uniform float tile_colorBlend; vec4 tile_diffuse = vec4(1.0); @@ -5972,7 +6017,7 @@ ${e} void tile_color(vec4 tile_featureColor) { ${u}`,n&&(e+=c),e+=`} -`,e}go.prototype.getFragmentShaderCallback=function(e,t,n){if(this.featuresLength!==0)return function(i){return i=Soe(i,t,!0),kt.maximumVertexTextureImageUnits>0?(i+=`uniform sampler2D tile_pickTexture; +`,e}bo.prototype.getFragmentShaderCallback=function(e,t,n){if(this.featuresLength!==0)return function(i){return i=Goe(i,t,!0),Ft.maximumVertexTextureImageUnits>0?(i+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() @@ -6007,7 +6052,7 @@ void main() `),i+=` tile_color(featureProperties); `,n&&(i+=` out_FragColor.rgb *= out_FragColor.a; `),i+=`} -`),i}};go.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=ze.replaceMain(e,"tile_main"),kt.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture; +`),i}};bo.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=Ue.replaceMain(e,"tile_main"),Ft.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() @@ -6028,7 +6073,7 @@ void main() out_FragColor = featureProperties; out_FragColor.rgb *= out_FragColor.a; } -`,e}};function VFe(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===Il.HIGHLIGHT)return 0;if(n===Il.REPLACE)return 1;if(n===Il.MIX)return P.clamp(i,P.EPSILON4,1)}go.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return bt(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return VFe(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};go.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var Xg={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};go.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s.isSkippingLevelOfDetail&&s.hasMixedContent&&e.context.stencilBuffer,c=UFe(this);for(let u=t;u<i;++u){let f=n[u];if(f.pass===Se.COMPUTE)continue;let d=f.derivedCommands.tileset;(!l(d)||f.dirty)&&(d={},f.derivedCommands.tileset=d,d.originalCommand=zFe(f),f.dirty=!1);let p=d.originalCommand;c!==Xg.ALL_OPAQUE&&f.pass!==Se.TRANSLUCENT&&(l(d.translucent)||(d.translucent=HFe(p))),c!==Xg.ALL_TRANSLUCENT&&f.pass!==Se.TRANSLUCENT&&(l(d.opaque)||(d.opaque=GFe(p)),a&&(r||(l(d.zback)||(d.zback=jFe(e.context,p)),s._backfaceCommands.push(d.zback)),(!l(d.stencil)||o._selectionDepth!==YFe(d.stencil))&&(f.renderState.depthMask?d.stencil=qFe(p,o._selectionDepth):d.stencil=d.opaque)));let g=a?d.stencil:d.opaque,m=d.translucent;f.pass!==Se.TRANSLUCENT?(c===Xg.ALL_OPAQUE&&(n[u]=g),c===Xg.ALL_TRANSLUCENT&&(n[u]=m),c===Xg.OPAQUE_AND_TRANSLUCENT&&(n[u]=g,n.push(m))):n[u]=p}};function UFe(e){let t=e._batchTexture.translucentFeaturesLength;return t===0?Xg.ALL_OPAQUE:t===e.featuresLength?Xg.ALL_TRANSLUCENT:Xg.OPAQUE_AND_TRANSLUCENT}function zFe(e){let t=Xe.shallowClone(e),n=t.pass===Se.TRANSLUCENT;return t.uniformMap=l(t.uniformMap)?t.uniformMap:{},t.uniformMap.tile_translucentCommand=function(){return n},t}function HFe(e){let t=Xe.shallowClone(e);return t.pass=Se.TRANSLUCENT,t.renderState=XFe(e.renderState),t}function GFe(e){let t=Xe.shallowClone(e);return t.renderState=KFe(e.renderState),t}function WFe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");if(!l(n)){let i=t.fragmentShaderSource.clone();i.defines=l(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),n=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}return n}function jFe(e,t){let n=Xe.shallowClone(t),i=He(n.renderState,!0);i.cull.enabled=!0,i.cull.face=bi.FRONT,i.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i.polygonOffset={enabled:!0,factor:5,units:5},i.stencilTest=Vt.setCesium3DTileBit(),i.stencilMask=Vt.CESIUM_3D_TILE_MASK,n.renderState=Ve.fromCache(i),n.castShadows=!1,n.receiveShadows=!1,n.uniformMap=He(t.uniformMap);let o=new z(5,5);return n.uniformMap.u_polygonOffset=function(){return o},n.shaderProgram=WFe(e,t.shaderProgram),n}function qFe(e,t){let n=Xe.shallowClone(e),i=He(n.renderState,!0);return i.stencilTest.enabled=!0,i.stencilTest.mask=Vt.SKIP_LOD_MASK,i.stencilTest.reference=Vt.CESIUM_3D_TILE_MASK|t<<Vt.SKIP_LOD_BIT_SHIFT,i.stencilTest.frontFunction=Wn.GREATER_OR_EQUAL,i.stencilTest.frontOperation.zPass=dt.REPLACE,i.stencilTest.backFunction=Wn.GREATER_OR_EQUAL,i.stencilTest.backOperation.zPass=dt.REPLACE,i.stencilMask=Vt.CESIUM_3D_TILE_MASK|Vt.SKIP_LOD_MASK,n.renderState=Ve.fromCache(i),n}function YFe(e){return(e.renderState.stencilTest.reference&Vt.SKIP_LOD_MASK)>>>Vt.SKIP_LOD_BIT_SHIFT}function XFe(e){let t=He(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=hn.ALPHA_BLEND,t.stencilTest=Vt.setCesium3DTileBit(),t.stencilMask=Vt.CESIUM_3D_TILE_MASK,Ve.fromCache(t)}function KFe(e){let t=He(e,!0);return t.stencilTest=Vt.setCesium3DTileBit(),t.stencilMask=Vt.CESIUM_3D_TILE_MASK,Ve.fromCache(t)}go.prototype.update=function(e,t){this._batchTexture.update(e,t)};go.prototype.isDestroyed=function(){return!1};go.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var Up=go;function ZFe(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var sm=ZFe;var _A=`in vec3 position; +`,e}};function r2e(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===Dl.HIGHLIGHT)return 0;if(n===Dl.REPLACE)return 1;if(n===Dl.MIX)return P.clamp(i,P.EPSILON4,1)}bo.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return Ct(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return r2e(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};bo.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var ey={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};bo.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s.isSkippingLevelOfDetail&&s.hasMixedContent&&e.context.stencilBuffer,c=s2e(this);for(let u=t;u<i;++u){let f=n[u];if(f.pass===ve.COMPUTE)continue;let d=f.derivedCommands.tileset;(!l(d)||f.dirty)&&(d={},f.derivedCommands.tileset=d,d.originalCommand=a2e(f),f.dirty=!1);let p=d.originalCommand;c!==ey.ALL_OPAQUE&&f.pass!==ve.TRANSLUCENT&&(l(d.translucent)||(d.translucent=c2e(p))),c!==ey.ALL_TRANSLUCENT&&f.pass!==ve.TRANSLUCENT&&(l(d.opaque)||(d.opaque=l2e(p)),a&&(r||(l(d.zback)||(d.zback=f2e(e.context,p)),s._backfaceCommands.push(d.zback)),(!l(d.stencil)||o._selectionDepth!==h2e(d.stencil))&&(f.renderState.depthMask?d.stencil=d2e(p,o._selectionDepth):d.stencil=d.opaque)));let g=a?d.stencil:d.opaque,m=d.translucent;f.pass!==ve.TRANSLUCENT?(c===ey.ALL_OPAQUE&&(n[u]=g),c===ey.ALL_TRANSLUCENT&&(n[u]=m),c===ey.OPAQUE_AND_TRANSLUCENT&&(n[u]=g,n.push(m))):n[u]=p}};function s2e(e){let t=e._batchTexture.translucentFeaturesLength;return t===0?ey.ALL_OPAQUE:t===e.featuresLength?ey.ALL_TRANSLUCENT:ey.OPAQUE_AND_TRANSLUCENT}function a2e(e){let t=Ze.shallowClone(e),n=t.pass===ve.TRANSLUCENT;return t.uniformMap=l(t.uniformMap)?t.uniformMap:{},t.uniformMap.tile_translucentCommand=function(){return n},t}function c2e(e){let t=Ze.shallowClone(e);return t.pass=ve.TRANSLUCENT,t.renderState=m2e(e.renderState),t}function l2e(e){let t=Ze.shallowClone(e);return t.renderState=p2e(e.renderState),t}function u2e(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");if(!l(n)){let i=t.fragmentShaderSource.clone();i.defines=l(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),n=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}return n}function f2e(e,t){let n=Ze.shallowClone(t),i=He(n.renderState,!0);i.cull.enabled=!0,i.cull.face=Ci.FRONT,i.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i.polygonOffset={enabled:!0,factor:5,units:5},i.stencilTest=zt.setCesium3DTileBit(),i.stencilMask=zt.CESIUM_3D_TILE_MASK,n.renderState=Ve.fromCache(i),n.castShadows=!1,n.receiveShadows=!1,n.uniformMap=He(t.uniformMap);let o=new z(5,5);return n.uniformMap.u_polygonOffset=function(){return o},n.shaderProgram=u2e(e,t.shaderProgram),n}function d2e(e,t){let n=Ze.shallowClone(e),i=He(n.renderState,!0);return i.stencilTest.enabled=!0,i.stencilTest.mask=zt.SKIP_LOD_MASK,i.stencilTest.reference=zt.CESIUM_3D_TILE_MASK|t<<zt.SKIP_LOD_BIT_SHIFT,i.stencilTest.frontFunction=Hn.GREATER_OR_EQUAL,i.stencilTest.frontOperation.zPass=ht.REPLACE,i.stencilTest.backFunction=Hn.GREATER_OR_EQUAL,i.stencilTest.backOperation.zPass=ht.REPLACE,i.stencilMask=zt.CESIUM_3D_TILE_MASK|zt.SKIP_LOD_MASK,n.renderState=Ve.fromCache(i),n}function h2e(e){return(e.renderState.stencilTest.reference&zt.SKIP_LOD_MASK)>>>zt.SKIP_LOD_BIT_SHIFT}function m2e(e){let t=He(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=dn.ALPHA_BLEND,t.stencilTest=zt.setCesium3DTileBit(),t.stencilMask=zt.CESIUM_3D_TILE_MASK,Ve.fromCache(t)}function p2e(e){let t=He(e,!0);return t.stencilTest=zt.setCesium3DTileBit(),t.stencilMask=zt.CESIUM_3D_TILE_MASK,Ve.fromCache(t)}bo.prototype.update=function(e,t){this._batchTexture.update(e,t)};bo.prototype.isDestroyed=function(){return!1};bo.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var Wp=bo;function _2e(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var cm=_2e;var bA=`in vec3 position; in float a_batchId; uniform mat4 u_modifiedModelViewProjection; @@ -6037,31 +6082,31 @@ void main() { gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0)); } -`;function Tf(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(Tf.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return l(this._color)||(this._color=new H),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(l(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});Tf.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};Tf.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};Tf.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};Tf.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(l(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(l(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(l(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(l(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),l(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=l(e.group)?e.group.metadata:void 0;if(l(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let u=e.tileset.metadata;if(l(u)){if(u.hasPropertyBySemantic(n))return u.getPropertyBySemantic(n);if(u.hasProperty(n))return u.getProperty(n)}};Tf.prototype.getPropertyInherited=function(e){return Tf.getPropertyInherited(this._content,this._batchId,e)};Tf.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};Tf.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};Tf.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};Tf.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Ws=Tf;var F9=class{add(t,n,i){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],n&&this[o][i?"unshift":"push"](n)},this)}run(t,n){this[t]=this[t]||[],this[t].forEach(function(i){i.call(n&&n.context?n.context:n,n)})}},B9=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(n=>{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},Pl=class e{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+e.version}static addUnaryOp(t){return e.max_unop_len=Math.max(t.length,e.max_unop_len),e.unary_ops[t]=1,e}static addBinaryOp(t,n,i){return e.max_binop_len=Math.max(t.length,e.max_binop_len),e.binary_ops[t]=n,i?e.right_associative.add(t):e.right_associative.delete(t),e}static addIdentifierChar(t){return e.additional_identifier_chars.add(t),e}static addLiteral(t,n){return e.literals[t]=n,e}static removeUnaryOp(t){return delete e.unary_ops[t],t.length===e.max_unop_len&&(e.max_unop_len=e.getMaxKeyLen(e.unary_ops)),e}static removeAllUnaryOps(){return e.unary_ops={},e.max_unop_len=0,e}static removeIdentifierChar(t){return e.additional_identifier_chars.delete(t),e}static removeBinaryOp(t){return delete e.binary_ops[t],t.length===e.max_binop_len&&(e.max_binop_len=e.getMaxKeyLen(e.binary_ops)),e.right_associative.delete(t),e}static removeAllBinaryOps(){return e.binary_ops={},e.max_binop_len=0,e}static removeLiteral(t){return delete e.literals[t],e}static removeAllLiterals(){return e.literals={},e}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new e(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(n=>n.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return e.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!e.binary_ops[String.fromCharCode(t)]||e.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return e.isIdentifierStart(t)||e.isDecimalDigit(t)}throwError(t){let n=new Error(t+" at character "+this.index);throw n.index=this.index,n.description=t,n}runHook(t,n){if(e.hooks[t]){let i={context:this,node:n};return e.hooks.run(t,i),i.node}return n}searchHook(t){if(e.hooks[t]){let n={context:this};return e.hooks[t].find(function(i){return i.call(n.context,n),n.node}),n.node}}gobbleSpaces(){let t=this.code;for(;t===e.SPACE_CODE||t===e.TAB_CODE||t===e.LF_CODE||t===e.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),n=t.length===1?t[0]:{type:e.COMPOUND,body:t};return this.runHook("after-all",n)}gobbleExpressions(t){let n=[],i,o;for(;this.index<this.expr.length;)if(i=this.code,i===e.SEMCOL_CODE||i===e.COMMA_CODE)this.index++;else if(o=this.gobbleExpression())n.push(o);else if(this.index<this.expr.length){if(i===t)break;this.throwError('Unexpected "'+this.char+'"')}return n}gobbleExpression(){let t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,e.max_binop_len),n=t.length;for(;n>0;){if(e.binary_ops.hasOwnProperty(t)&&(!e.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=n,t;t=t.substr(0,--n)}return!1}gobbleBinaryExpression(){let t,n,i,o,r,s,a,c,u;if(s=this.gobbleToken(),!s||(n=this.gobbleBinaryOp(),!n))return s;for(r={value:n,prec:e.binaryPrecedence(n),right_a:e.right_associative.has(n)},a=this.gobbleToken(),a||this.throwError("Expected expression after "+n),o=[s,r,a];n=this.gobbleBinaryOp();){if(i=e.binaryPrecedence(n),i===0){this.index-=n.length;break}r={value:n,prec:i,right_a:e.right_associative.has(n)},u=n;let f=d=>r.right_a&&d.right_a?i>d.prec:i<=d.prec;for(;o.length>2&&f(o[o.length-2]);)a=o.pop(),n=o.pop().value,s=o.pop(),t={type:e.BINARY_EXP,operator:n,left:s,right:a},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+u),o.push(r,t)}for(c=o.length-1,t=o[c];c>1;)t={type:e.BINARY_EXP,operator:o[c-1].value,left:o[c-2],right:t},c-=2;return t}gobbleToken(){let t,n,i,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,e.isDecimalDigit(t)||t===e.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===e.SQUOTE_CODE||t===e.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===e.OBRACK_CODE)o=this.gobbleArray();else{for(n=this.expr.substr(this.index,e.max_unop_len),i=n.length;i>0;){if(e.unary_ops.hasOwnProperty(n)&&(!e.isIdentifierStart(this.code)||this.index+n.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+n.length)))){this.index+=i;let r=this.gobbleToken();return r||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:e.UNARY_EXP,operator:n,argument:r,prefix:!0})}n=n.substr(0,--i)}e.isIdentifierStart(t)?(o=this.gobbleIdentifier(),e.literals.hasOwnProperty(o.name)?o={type:e.LITERAL,value:e.literals[o.name],raw:o.name}:o.name===e.this_str&&(o={type:e.THIS_EXP})):t===e.OPAREN_CODE&&(o=this.gobbleGroup())}return o?(o=this.gobbleTokenProperty(o),this.runHook("after-token",o)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let n=this.code;for(;n===e.PERIOD_CODE||n===e.OBRACK_CODE||n===e.OPAREN_CODE||n===e.QUMARK_CODE;){let i;if(n===e.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==e.PERIOD_CODE)break;i=!0,this.index+=2,this.gobbleSpaces(),n=this.code}this.index++,n===e.OBRACK_CODE?(t={type:e.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},this.gobbleSpaces(),n=this.code,n!==e.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):n===e.OPAREN_CODE?t={type:e.CALL_EXP,arguments:this.gobbleArguments(e.CPAREN_CODE),callee:t}:(n===e.PERIOD_CODE||i)&&(i&&this.index--,this.gobbleSpaces(),t={type:e.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),i&&(t.optional=!0),this.gobbleSpaces(),n=this.code}return t}gobbleNumericLiteral(){let t="",n,i;for(;e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===e.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(n=this.char,n==="e"||n==="E"){for(t+=this.expr.charAt(this.index++),n=this.char,(n==="+"||n==="-")&&(t+=this.expr.charAt(this.index++));e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return i=this.code,e.isIdentifierStart(i)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(i===e.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===e.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:e.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="",n=this.index,i=this.expr.charAt(this.index++),o=!1;for(;this.index<this.expr.length;){let r=this.expr.charAt(this.index++);if(r===i){o=!0;break}else if(r==="\\")switch(r=this.expr.charAt(this.index++),r){case"n":t+=` -`;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=r}else t+=r}return o||this.throwError('Unclosed quote after "'+t+'"'),{type:e.LITERAL,value:t,raw:this.expr.substring(n,this.index)}}gobbleIdentifier(){let t=this.code,n=this.index;for(e.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,e.isIdentifierPart(t));)this.index++;return{type:e.IDENTIFIER,name:this.expr.slice(n,this.index)}}gobbleArguments(t){let n=[],i=!1,o=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let r=this.code;if(r===t){i=!0,this.index++,t===e.CPAREN_CODE&&o&&o>=n.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(r===e.COMMA_CODE){if(this.index++,o++,o!==n.length){if(t===e.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===e.CBRACK_CODE)for(let s=n.length;s<o;s++)n.push(null)}}else if(n.length!==o&&o!==0)this.throwError("Expected comma");else{let s=this.gobbleExpression();(!s||s.type===e.COMPOUND)&&this.throwError("Expected comma"),n.push(s)}}return i||this.throwError("Expected "+String.fromCharCode(t)),n}gobbleGroup(){this.index++;let t=this.gobbleExpressions(e.CPAREN_CODE);if(this.code===e.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:e.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:e.ARRAY_EXP,elements:this.gobbleArguments(e.CBRACK_CODE)}}},$Fe=new F9;Object.assign(Pl,{hooks:$Fe,plugins:new B9(Pl),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Pl.max_unop_len=Pl.getMaxKeyLen(Pl.unary_ops);Pl.max_binop_len=Pl.getMaxKeyLen(Pl.binary_ops);var Kg=e=>new Pl(e).parse(),QFe=Object.getOwnPropertyNames(Pl);QFe.forEach(e=>{Kg[e]===void 0&&e!=="prototype"&&(Kg[e]=Pl[e])});Kg.Jsep=Pl;var JFe="ConditionalExpression",e2e={name:"ternary",init(e){e.hooks.add("after-expression",function(n){if(n.node&&this.code===e.QUMARK_CODE){this.index++;let i=n.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let r=this.gobbleExpression();if(r||this.throwError("Expected expression"),n.node={type:JFe,test:i,consequent:o,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let s=i;for(;s.right.operator&&e.binary_ops[s.right.operator]<=.9;)s=s.right;n.node.test=s.right,s.right=n.node,n.node=i}}else this.throwError("Expected :")}})}};Kg.plugins.register(e2e);var t2e={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},ht=Object.freeze(t2e);function Vd(e,t){this._expression=e,e=m2e(e,t),e=_2e(p2e(e)),Kg.addBinaryOp("=~",0),Kg.addBinaryOp("!~",0);let n;try{n=Kg(e)}catch(i){throw new ce(i)}this._runtimeAst=Ei(this,n)}Object.defineProperties(Vd.prototype,{expression:{get:function(){return this._expression}}});var Ln={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new z],cartesian3Array:[new h],cartesian4Array:[new oe],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new z),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new oe),this.cartesian4Array[this.cartesian4Index++]}};Vd.prototype.evaluate=function(e,t){Ln.reset();let n=this._runtimeAst.evaluate(e);return t instanceof H&&n instanceof oe?H.fromCartesian4(n,t):n instanceof z||n instanceof h||n instanceof oe?n.clone(t):n};Vd.prototype.evaluateColor=function(e,t){Ln.reset();let n=this._runtimeAst.evaluate(e);return H.fromCartesian4(n,t)};Vd.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e} +`;function Ef(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(Ef.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return l(this._color)||(this._color=new H),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(l(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});Ef.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};Ef.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};Ef.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};Ef.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(l(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(l(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(l(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(l(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),l(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=l(e.group)?e.group.metadata:void 0;if(l(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let u=e.tileset.metadata;if(l(u)){if(u.hasPropertyBySemantic(n))return u.getPropertyBySemantic(n);if(u.hasProperty(n))return u.getProperty(n)}};Ef.prototype.getPropertyInherited=function(e){return Ef.getPropertyInherited(this._content,this._batchId,e)};Ef.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};Ef.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};Ef.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};Ef.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Ks=Ef;var q9=class{add(t,n,i){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],n&&this[o][i?"unshift":"push"](n)},this)}run(t,n){this[t]=this[t]||[],this[t].forEach(function(i){i.call(n&&n.context?n.context:n,n)})}},Y9=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(n=>{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},Il=class e{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+e.version}static addUnaryOp(t){return e.max_unop_len=Math.max(t.length,e.max_unop_len),e.unary_ops[t]=1,e}static addBinaryOp(t,n,i){return e.max_binop_len=Math.max(t.length,e.max_binop_len),e.binary_ops[t]=n,i?e.right_associative.add(t):e.right_associative.delete(t),e}static addIdentifierChar(t){return e.additional_identifier_chars.add(t),e}static addLiteral(t,n){return e.literals[t]=n,e}static removeUnaryOp(t){return delete e.unary_ops[t],t.length===e.max_unop_len&&(e.max_unop_len=e.getMaxKeyLen(e.unary_ops)),e}static removeAllUnaryOps(){return e.unary_ops={},e.max_unop_len=0,e}static removeIdentifierChar(t){return e.additional_identifier_chars.delete(t),e}static removeBinaryOp(t){return delete e.binary_ops[t],t.length===e.max_binop_len&&(e.max_binop_len=e.getMaxKeyLen(e.binary_ops)),e.right_associative.delete(t),e}static removeAllBinaryOps(){return e.binary_ops={},e.max_binop_len=0,e}static removeLiteral(t){return delete e.literals[t],e}static removeAllLiterals(){return e.literals={},e}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new e(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(n=>n.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return e.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!e.binary_ops[String.fromCharCode(t)]||e.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return e.isIdentifierStart(t)||e.isDecimalDigit(t)}throwError(t){let n=new Error(t+" at character "+this.index);throw n.index=this.index,n.description=t,n}runHook(t,n){if(e.hooks[t]){let i={context:this,node:n};return e.hooks.run(t,i),i.node}return n}searchHook(t){if(e.hooks[t]){let n={context:this};return e.hooks[t].find(function(i){return i.call(n.context,n),n.node}),n.node}}gobbleSpaces(){let t=this.code;for(;t===e.SPACE_CODE||t===e.TAB_CODE||t===e.LF_CODE||t===e.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),n=t.length===1?t[0]:{type:e.COMPOUND,body:t};return this.runHook("after-all",n)}gobbleExpressions(t){let n=[],i,o;for(;this.index<this.expr.length;)if(i=this.code,i===e.SEMCOL_CODE||i===e.COMMA_CODE)this.index++;else if(o=this.gobbleExpression())n.push(o);else if(this.index<this.expr.length){if(i===t)break;this.throwError('Unexpected "'+this.char+'"')}return n}gobbleExpression(){let t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,e.max_binop_len),n=t.length;for(;n>0;){if(e.binary_ops.hasOwnProperty(t)&&(!e.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=n,t;t=t.substr(0,--n)}return!1}gobbleBinaryExpression(){let t,n,i,o,r,s,a,c,u;if(s=this.gobbleToken(),!s||(n=this.gobbleBinaryOp(),!n))return s;for(r={value:n,prec:e.binaryPrecedence(n),right_a:e.right_associative.has(n)},a=this.gobbleToken(),a||this.throwError("Expected expression after "+n),o=[s,r,a];n=this.gobbleBinaryOp();){if(i=e.binaryPrecedence(n),i===0){this.index-=n.length;break}r={value:n,prec:i,right_a:e.right_associative.has(n)},u=n;let f=d=>r.right_a&&d.right_a?i>d.prec:i<=d.prec;for(;o.length>2&&f(o[o.length-2]);)a=o.pop(),n=o.pop().value,s=o.pop(),t={type:e.BINARY_EXP,operator:n,left:s,right:a},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+u),o.push(r,t)}for(c=o.length-1,t=o[c];c>1;)t={type:e.BINARY_EXP,operator:o[c-1].value,left:o[c-2],right:t},c-=2;return t}gobbleToken(){let t,n,i,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,e.isDecimalDigit(t)||t===e.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===e.SQUOTE_CODE||t===e.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===e.OBRACK_CODE)o=this.gobbleArray();else{for(n=this.expr.substr(this.index,e.max_unop_len),i=n.length;i>0;){if(e.unary_ops.hasOwnProperty(n)&&(!e.isIdentifierStart(this.code)||this.index+n.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+n.length)))){this.index+=i;let r=this.gobbleToken();return r||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:e.UNARY_EXP,operator:n,argument:r,prefix:!0})}n=n.substr(0,--i)}e.isIdentifierStart(t)?(o=this.gobbleIdentifier(),e.literals.hasOwnProperty(o.name)?o={type:e.LITERAL,value:e.literals[o.name],raw:o.name}:o.name===e.this_str&&(o={type:e.THIS_EXP})):t===e.OPAREN_CODE&&(o=this.gobbleGroup())}return o?(o=this.gobbleTokenProperty(o),this.runHook("after-token",o)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let n=this.code;for(;n===e.PERIOD_CODE||n===e.OBRACK_CODE||n===e.OPAREN_CODE||n===e.QUMARK_CODE;){let i;if(n===e.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==e.PERIOD_CODE)break;i=!0,this.index+=2,this.gobbleSpaces(),n=this.code}this.index++,n===e.OBRACK_CODE?(t={type:e.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},this.gobbleSpaces(),n=this.code,n!==e.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):n===e.OPAREN_CODE?t={type:e.CALL_EXP,arguments:this.gobbleArguments(e.CPAREN_CODE),callee:t}:(n===e.PERIOD_CODE||i)&&(i&&this.index--,this.gobbleSpaces(),t={type:e.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),i&&(t.optional=!0),this.gobbleSpaces(),n=this.code}return t}gobbleNumericLiteral(){let t="",n,i;for(;e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===e.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(n=this.char,n==="e"||n==="E"){for(t+=this.expr.charAt(this.index++),n=this.char,(n==="+"||n==="-")&&(t+=this.expr.charAt(this.index++));e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return i=this.code,e.isIdentifierStart(i)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(i===e.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===e.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:e.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="",n=this.index,i=this.expr.charAt(this.index++),o=!1;for(;this.index<this.expr.length;){let r=this.expr.charAt(this.index++);if(r===i){o=!0;break}else if(r==="\\")switch(r=this.expr.charAt(this.index++),r){case"n":t+=` +`;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=r}else t+=r}return o||this.throwError('Unclosed quote after "'+t+'"'),{type:e.LITERAL,value:t,raw:this.expr.substring(n,this.index)}}gobbleIdentifier(){let t=this.code,n=this.index;for(e.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,e.isIdentifierPart(t));)this.index++;return{type:e.IDENTIFIER,name:this.expr.slice(n,this.index)}}gobbleArguments(t){let n=[],i=!1,o=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let r=this.code;if(r===t){i=!0,this.index++,t===e.CPAREN_CODE&&o&&o>=n.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(r===e.COMMA_CODE){if(this.index++,o++,o!==n.length){if(t===e.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===e.CBRACK_CODE)for(let s=n.length;s<o;s++)n.push(null)}}else if(n.length!==o&&o!==0)this.throwError("Expected comma");else{let s=this.gobbleExpression();(!s||s.type===e.COMPOUND)&&this.throwError("Expected comma"),n.push(s)}}return i||this.throwError("Expected "+String.fromCharCode(t)),n}gobbleGroup(){this.index++;let t=this.gobbleExpressions(e.CPAREN_CODE);if(this.code===e.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:e.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:e.ARRAY_EXP,elements:this.gobbleArguments(e.CBRACK_CODE)}}},g2e=new q9;Object.assign(Il,{hooks:g2e,plugins:new Y9(Il),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});Il.max_unop_len=Il.getMaxKeyLen(Il.unary_ops);Il.max_binop_len=Il.getMaxKeyLen(Il.binary_ops);var ty=e=>new Il(e).parse(),y2e=Object.getOwnPropertyNames(Il);y2e.forEach(e=>{ty[e]===void 0&&e!=="prototype"&&(ty[e]=Il[e])});ty.Jsep=Il;var x2e="ConditionalExpression",b2e={name:"ternary",init(e){e.hooks.add("after-expression",function(n){if(n.node&&this.code===e.QUMARK_CODE){this.index++;let i=n.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let r=this.gobbleExpression();if(r||this.throwError("Expected expression"),n.node={type:x2e,test:i,consequent:o,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let s=i;for(;s.right.operator&&e.binary_ops[s.right.operator]<=.9;)s=s.right;n.node.test=s.right,s.right=n.node,n.node=i}}else this.throwError("Expected :")}})}};ty.plugins.register(b2e);var T2e={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},gt=Object.freeze(T2e);function zd(e,t){this._expression=e,e=L2e(e,t),e=F2e(N2e(e)),ty.addBinaryOp("=~",0),ty.addBinaryOp("!~",0);let n;try{n=ty(e)}catch(i){throw new se(i)}this._runtimeAst=vi(this,n)}Object.defineProperties(zd.prototype,{expression:{get:function(){return this._expression}}});var Ln={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new z],cartesian3Array:[new h],cartesian4Array:[new ie],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new z),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new ie),this.cartesian4Array[this.cartesian4Index++]}};zd.prototype.evaluate=function(e,t){Ln.reset();let n=this._runtimeAst.evaluate(e);return t instanceof H&&n instanceof ie?H.fromCartesian4(n,t):n instanceof z||n instanceof h||n instanceof ie?n.clone(t):n};zd.prototype.evaluateColor=function(e,t){Ln.reset();let n=this._runtimeAst.evaluate(e);return H.fromCartesian4(n,t)};zd.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e} { return ${o}; } -`,o};Vd.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};Vd.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var n2e=["!","-","+"],voe=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],gU=/\${(.*?)}/g,i2e=/\\/g,o2e="@#%",r2e=/@#%/g,yU=new H,xU={abs:js(Math.abs),sqrt:js(Math.sqrt),cos:js(Math.cos),sin:js(Math.sin),tan:js(Math.tan),acos:js(Math.acos),asin:js(Math.asin),atan:js(Math.atan),radians:js(P.toRadians),degrees:js(P.toDegrees),sign:js(P.sign),floor:js(Math.floor),ceil:js(Math.ceil),round:js(Math.round),exp:js(Math.exp),exp2:js(a2e),log:js(Math.log),log2:js(c2e),fract:js(s2e),length:l2e,normalize:u2e},bU={atan2:pU(Math.atan2,!1),pow:pU(Math.pow,!1),min:pU(Math.min,!0),max:pU(Math.max,!0),distance:f2e,dot:d2e,cross:h2e},U9={clamp:woe(P.clamp,!0),mix:woe(P.lerp,!0)};function s2e(e){return e-Math.floor(e)}function a2e(e){return Math.pow(2,e)}function c2e(e){return P.log2(e)}function js(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof z)return z.fromElements(e(n.x),e(n.y),Ln.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),Ln.getCartesian3());if(n instanceof oe)return oe.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),Ln.getCartesian4());throw new ce(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function pU(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof z)return z.fromElements(e(i.x,o),e(i.y,o),Ln.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),Ln.getCartesian3());if(i instanceof oe)return oe.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),Ln.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof z&&o instanceof z)return z.fromElements(e(i.x,o.x),e(i.y,o.y),Ln.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),Ln.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),Ln.getCartesian4());throw new ce(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function woe(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof z&&o instanceof z)return z.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),Ln.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),Ln.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),Ln.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof z&&o instanceof z&&r instanceof z)return z.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),Ln.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),Ln.getCartesian3());if(i instanceof oe&&o instanceof oe&&r instanceof oe)return oe.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),Ln.getCartesian4());throw new ce(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function l2e(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof z)return z.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof oe)return oe.magnitude(t);throw new ce(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function u2e(e,t){if(typeof t=="number")return 1;if(t instanceof z)return z.normalize(t,Ln.getCartesian2());if(t instanceof h)return h.normalize(t,Ln.getCartesian3());if(t instanceof oe)return oe.normalize(t,Ln.getCartesian4());throw new ce(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function f2e(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof z&&n instanceof z)return z.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof oe&&n instanceof oe)return oe.distance(t,n);throw new ce(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function d2e(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof z&&n instanceof z)return z.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof oe&&n instanceof oe)return oe.dot(t,n);throw new ce(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function h2e(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,Ln.getCartesian3());throw new ce(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function Ct(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,v2e(this)}function m2e(e,t){if(!l(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;l(o)&&(e=e.replace(i,o))}return e}function p2e(e){return e.replace(i2e,o2e)}function V9(e){return e.replace(r2e,"\\")}function _2e(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o<i)s=t.indexOf("'",o+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else if(r>=0&&r<i)s=t.indexOf('"',r+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else{n+=t.substr(0,i);let a=t.indexOf("}");if(a<0)throw new ce("Unmatched {.");n+=`czm_${t.substr(i+2,a-(i+2))}`,t=t.substr(a+1),i=t.indexOf("${")}}return n+=t,n}function g2e(e){let t=typeof e.value;if(e.value===null)return new Ct(ht.LITERAL_NULL,null);if(t==="boolean")return new Ct(ht.LITERAL_BOOLEAN,e.value);if(t==="number")return new Ct(ht.LITERAL_NUMBER,e.value);if(t==="string")return e.value.indexOf("${")>=0?new Ct(ht.VARIABLE_IN_STRING,e.value):new Ct(ht.LITERAL_STRING,V9(e.value))}function y2e(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(!l(c.callee)||c.callee.name!=="regExp")throw new ce(`${o} is not a function.`);return i===0?o==="test"?new Ct(ht.LITERAL_BOOLEAN,!1):new Ct(ht.LITERAL_NULL,null):(s=Ei(e,c),a=Ei(e,n[0]),new Ct(ht.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=Ei(e,c),new Ct(ht.FUNCTION_CALL,o,r);throw new ce(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new Ct(ht.LITERAL_COLOR,o);if(r=Ei(e,n[0]),l(n[1])){let c=Ei(e,n[1]);return new Ct(ht.LITERAL_COLOR,o,[r,c])}return new Ct(ht.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new ce(`${o} requires three arguments.`);return r=[Ei(e,n[0]),Ei(e,n[1]),Ei(e,n[2])],new Ct(ht.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new ce(`${o} requires four arguments.`);return r=[Ei(e,n[0]),Ei(e,n[1]),Ei(e,n[2]),Ei(e,n[3])],new Ct(ht.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c<i;++c)r[c]=Ei(e,n[c]);return new Ct(ht.LITERAL_VECTOR,o,r)}else{if(o==="isNaN"||o==="isFinite")return i===0?o==="isNaN"?new Ct(ht.LITERAL_BOOLEAN,!0):new Ct(ht.LITERAL_BOOLEAN,!1):(r=Ei(e,n[0]),new Ct(ht.UNARY,o,r));if(o==="isExactClass"||o==="isClass"){if(i<1||i>1)throw new ce(`${o} requires exactly one argument.`);return r=Ei(e,n[0]),new Ct(ht.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new ce(`${o} does not take any argument.`);return new Ct(ht.UNARY,o)}else if(l(xU[o])){if(i!==1)throw new ce(`${o} requires exactly one argument.`);return r=Ei(e,n[0]),new Ct(ht.UNARY,o,r)}else if(l(bU[o])){if(i!==2)throw new ce(`${o} requires exactly two arguments.`);return s=Ei(e,n[0]),a=Ei(e,n[1]),new Ct(ht.BINARY,o,s,a)}else if(l(U9[o])){if(i!==3)throw new ce(`${o} requires exactly three arguments.`);s=Ei(e,n[0]),a=Ei(e,n[1]);let c=Ei(e,n[2]);return new Ct(ht.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new Ct(ht.LITERAL_BOOLEAN,!1):(r=Ei(e,n[0]),new Ct(ht.UNARY,o,r));if(o==="Number")return i===0?new Ct(ht.LITERAL_NUMBER,0):(r=Ei(e,n[0]),new Ct(ht.UNARY,o,r));if(o==="String")return i===0?new Ct(ht.LITERAL_STRING,""):(r=Ei(e,n[0]),new Ct(ht.UNARY,o,r));if(o==="regExp")return x2e(e,t)}}throw new ce(`Unexpected function call "${o}".`)}function x2e(e,t){let n=t.arguments;if(n.length===0)return new Ct(ht.LITERAL_REGEX,new RegExp);let i=Ei(e,n[0]),o;if(n.length>1){let r=Ei(e,n[1]);if(k9(i)&&k9(r)){try{o=new RegExp(V9(String(i._value)),r._value)}catch(s){throw new ce(s)}return new Ct(ht.LITERAL_REGEX,o)}return new Ct(ht.REGEX,i,r)}if(k9(i)){try{o=new RegExp(V9(String(i._value)))}catch(r){throw new ce(r)}return new Ct(ht.LITERAL_REGEX,o)}return new Ct(ht.REGEX,i)}function b2e(e){if(E2e(e.name)){let t=S2e(e.name);return t.substr(0,8)==="tiles3d_"?new Ct(ht.BUILTIN_VARIABLE,t):new Ct(ht.VARIABLE,t)}else{if(e.name==="NaN")return new Ct(ht.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new Ct(ht.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new Ct(ht.LITERAL_UNDEFINED,void 0)}throw new ce(`${e.name} is not defined.`)}function T2e(e){let t=e.property.name;if(t==="PI")return new Ct(ht.LITERAL_NUMBER,Math.PI);if(t==="E")return new Ct(ht.LITERAL_NUMBER,Math.E)}function C2e(e){if(e.property.name==="POSITIVE_INFINITY")return new Ct(ht.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function A2e(e,t){if(t.object.name==="Math")return T2e(t);if(t.object.name==="Number")return C2e(t);let n,i=Ei(e,t.object);return t.computed?(n=Ei(e,t.property),new Ct(ht.MEMBER,"brackets",i,n)):(n=new Ct(ht.LITERAL_STRING,t.property.name),new Ct(ht.MEMBER,"dot",i,n))}function k9(e){return e._type>=ht.LITERAL_NULL}function E2e(e){return e.substr(0,4)==="czm_"}function S2e(e){return e.substr(4)}function Ei(e,t){let n,i,o,r;if(t.type==="Literal")n=g2e(t);else if(t.type==="CallExpression")n=y2e(e,t);else if(t.type==="Identifier")n=b2e(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=Ei(e,t.argument);if(n2e.indexOf(i)>-1)n=new Ct(ht.UNARY,i,s);else throw new ce(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=Ei(e,t.left),r=Ei(e,t.right),voe.indexOf(i)>-1)n=new Ct(ht.BINARY,i,o,r);else throw new ce(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=Ei(e,t.left),r=Ei(e,t.right),voe.indexOf(i)>-1&&(n=new Ct(ht.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=Ei(e,t.test);o=Ei(e,t.consequent),r=Ei(e,t.alternate),n=new Ct(ht.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=A2e(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a<t.elements.length;a++)s[a]=Ei(e,t.elements[a]);n=new Ct(ht.ARRAY,s)}else throw t.type==="Compound"?new ce("Provide exactly one expression."):new ce("Cannot parse expression.");return n}function v2e(e){e._type===ht.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===ht.FUNCTION_CALL?e._value==="test"?e.evaluate=e._evaluateRegExpTest:e._value==="exec"?e.evaluate=e._evaluateRegExpExec:e._value==="toString"&&(e.evaluate=e._evaluateToString):e._type===ht.UNARY?e._value==="!"?e.evaluate=e._evaluateNot:e._value==="-"?e.evaluate=e._evaluateNegative:e._value==="+"?e.evaluate=e._evaluatePositive:e._value==="isNaN"?e.evaluate=e._evaluateNaN:e._value==="isFinite"?e.evaluate=e._evaluateIsFinite:e._value==="isExactClass"?e.evaluate=e._evaluateIsExactClass:e._value==="isClass"?e.evaluate=e._evaluateIsClass:e._value==="getExactClassName"?e.evaluate=e._evaluateGetExactClassName:e._value==="Boolean"?e.evaluate=e._evaluateBooleanConversion:e._value==="Number"?e.evaluate=e._evaluateNumberConversion:e._value==="String"?e.evaluate=e._evaluateStringConversion:l(xU[e._value])&&(e.evaluate=D2e(e._value)):e._type===ht.BINARY?e._value==="+"?e.evaluate=e._evaluatePlus:e._value==="-"?e.evaluate=e._evaluateMinus:e._value==="*"?e.evaluate=e._evaluateTimes:e._value==="/"?e.evaluate=e._evaluateDivide:e._value==="%"?e.evaluate=e._evaluateMod:e._value==="==="?e.evaluate=e._evaluateEqualsStrict:e._value==="!=="?e.evaluate=e._evaluateNotEqualsStrict:e._value==="<"?e.evaluate=e._evaluateLessThan:e._value==="<="?e.evaluate=e._evaluateLessThanOrEquals:e._value===">"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:l(bU[e._value])&&(e.evaluate=I2e(e._value)):e._type===ht.TERNARY?e.evaluate=P2e(e._value):e._type===ht.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===ht.ARRAY?e.evaluate=e._evaluateArray:e._type===ht.VARIABLE?e.evaluate=e._evaluateVariable:e._type===ht.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===ht.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===ht.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===ht.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===ht.REGEX?e.evaluate=e._evaluateRegExp:e._type===ht.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=w2e):e.evaluate=e._evaluateLiteral}function w2e(e){return l(e)?e.content.tileset.timeSinceLoad:0}function D2e(e){let t=xU[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function I2e(e){let t=bU[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function P2e(e){let t=U9[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function TU(e,t){if(l(e))return e.getPropertyInherited(t)}Ct.prototype._evaluateLiteral=function(){return this._value};Ct.prototype._evaluateLiteralColor=function(e){let t=yU,n=this._left;if(this._value==="color")l(n)?n.length>1?(H.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):H.fromCssColorString(n[0].evaluate(e),t):H.fromBytes(255,255,255,255,t);else if(this._value==="rgb")H.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;H.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?H.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&H.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return oe.fromColor(t,Ln.getCartesian4())};Ct.prototype._evaluateLiteralVector=function(e){let t=Ln.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a<o;++a){let c=i[a].evaluate(e);if(typeof c=="number")t.push(c);else if(c instanceof z)t.push(c.x,c.y);else if(c instanceof h)t.push(c.x,c.y,c.z);else if(c instanceof oe)t.push(c.x,c.y,c.z,c.w);else throw new ce(`${n} argument must be a vector or number. Argument is ${c}.`)}let r=t.length,s=parseInt(n.charAt(3));if(r===0)throw new ce(`Invalid ${n} constructor. No valid arguments.`);if(r<s&&r>1)throw new ce(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new ce(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return z.fromArray(t,0,Ln.getCartesian2());if(n==="vec3")return h.fromArray(t,0,Ln.getCartesian3());if(n==="vec4")return oe.fromArray(t,0,Ln.getCartesian4())};Ct.prototype._evaluateLiteralString=function(){return this._value};Ct.prototype._evaluateVariableString=function(e){let t=this._value,n=gU.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=TU(e,o);l(r)||(r=""),t=t.replace(i,r),n=gU.exec(t)}return t};Ct.prototype._evaluateVariable=function(e){return TU(e,this._value)};function Yx(e){return e._value==="feature"}Ct.prototype._evaluateMemberDot=function(e){if(Yx(this._left))return TU(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof z||t instanceof h||t instanceof oe){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};Ct.prototype._evaluateMemberBrackets=function(e){if(Yx(this._left))return TU(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof z||t instanceof h||t instanceof oe){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};Ct.prototype._evaluateArray=function(e){let t=[];for(let n=0;n<this._value.length;n++)t[n]=this._value[n].evaluate(e);return t};Ct.prototype._evaluateNot=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "!" requires a boolean argument. Argument is ${t}.`);return!t};Ct.prototype._evaluateNegative=function(e){let t=this._left.evaluate(e);if(t instanceof z)return z.negate(t,Ln.getCartesian2());if(t instanceof h)return h.negate(t,Ln.getCartesian3());if(t instanceof oe)return oe.negate(t,Ln.getCartesian4());if(typeof t=="number")return-t;throw new ce(`Operator "-" requires a vector or number argument. Argument is ${t}.`)};Ct.prototype._evaluatePositive=function(e){let t=this._left.evaluate(e);if(!(t instanceof z||t instanceof h||t instanceof oe||typeof t=="number"))throw new ce(`Operator "+" requires a vector or number argument. Argument is ${t}.`);return t};Ct.prototype._evaluateLessThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator "<" requires number arguments. Arguments are ${t} and ${n}.`);return t<n};Ct.prototype._evaluateLessThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator "<=" requires number arguments. Arguments are ${t} and ${n}.`);return t<=n};Ct.prototype._evaluateGreaterThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator ">" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};Ct.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};Ct.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ce(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};Ct.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ce(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};Ct.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.add(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,Ln.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.add(t,n,Ln.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new ce(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.subtract(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,Ln.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.subtract(t,n,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new ce(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.multiplyComponents(t,n,Ln.getCartesian2());if(n instanceof z&&typeof t=="number")return z.multiplyByScalar(n,t,Ln.getCartesian2());if(t instanceof z&&typeof n=="number")return z.multiplyByScalar(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,Ln.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,Ln.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,Ln.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.multiplyComponents(t,n,Ln.getCartesian4());if(n instanceof oe&&typeof t=="number")return oe.multiplyByScalar(n,t,Ln.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.multiplyByScalar(t,n,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new ce(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.divideComponents(t,n,Ln.getCartesian2());if(t instanceof z&&typeof n=="number")return z.divideByScalar(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,Ln.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,Ln.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.divideComponents(t,n,Ln.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.divideByScalar(t,n,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new ce(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.fromElements(t.x%n.x,t.y%n.y,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,Ln.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new ce(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof z&&t instanceof z||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?t.equals(n):t===n};Ct.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof z&&t instanceof z||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?!t.equals(n):t!==n};Ct.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new ce(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};Ct.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};Ct.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};Ct.prototype._evaluateIsExactClass=function(e){return l(e)?e.isExactClass(this._left.evaluate(e)):!1};Ct.prototype._evaluateIsClass=function(e){return l(e)?e.isClass(this._left.evaluate(e)):!1};Ct.prototype._evaluateGetExactClassName=function(e){if(l(e))return e.getExactClassName()};Ct.prototype._evaluateBooleanConversion=function(e){return!!this._left.evaluate(e)};Ct.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};Ct.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};Ct.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";l(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new ce(o)}return i};Ct.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ce(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};Ct.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new ce(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new ce(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Ct.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ce(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return l(i)?i[1]:null};Ct.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof z||t instanceof h||t instanceof oe)return String(t);throw new ce(`Unexpected function call "${this._value}".`)};function Doe(e){let t=e._left,n=t.length;for(let a=0;a<n;++a)if(t[a]._type!==ht.LITERAL_NUMBER)return;let i=t[0]._value,o=t[1]._value,r=t[2]._value,s=n===4?t[3]._value:1;return H.fromHsl(i,o,r,s,yU)}function Ioe(e){let t=e._left,n=t.length;for(let o=0;o<n;++o)if(t[o]._type!==ht.LITERAL_NUMBER)return;let i=yU;return i.red=t[0]._value/255,i.green=t[1]._value/255,i.blue=t[2]._value/255,i.alpha=n===4?t[3]._value:1,i}function Zg(e){return e%1===0?e.toFixed(1):e.toString()}function R2e(e){let t=Zg(e.red),n=Zg(e.green),i=Zg(e.blue);return`vec3(${t}, ${n}, ${i})`}function _U(e){let t=Zg(e.red),n=Zg(e.green),i=Zg(e.blue),o=Zg(e.alpha);return`vec4(${t}, ${n}, ${i}, ${o})`}function Poe(e,t,n,i){let o=e.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=e[s].getShaderExpression(t,n,i);return r}function Roe(e,t){return l(t[e])?t[e]:Vd.NULL_SENTINEL}Vd.NULL_SENTINEL="czm_infinity";Ct.prototype.getShaderExpression=function(e,t,n){let i,o,r,s,a=this._type,c=this._value;l(this._left)&&(Array.isArray(this._left)?o=Poe(this._left,e,t,this):o=this._left.getShaderExpression(e,t,this)),l(this._right)&&(r=this._right.getShaderExpression(e,t,this)),l(this._test)&&(s=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(c=Poe(this._value,e,t,this));let u,f,d;switch(a){case ht.VARIABLE:return Yx(this)?void 0:Roe(c,e);case ht.UNARY:if(c==="Boolean")return`bool(${o})`;if(c==="Number")return`float(${o})`;if(c==="round")return`floor(${o} + 0.5)`;if(l(xU[c]))return`${c}(${o})`;if(c==="isNaN")return`(${o} != ${o})`;if(c==="isFinite")return`(abs(${o}) < czm_infinity)`;if(c==="String"||c==="isExactClass"||c==="isClass"||c==="getExactClassName")throw new ce(`Error generating style shader: "${c}" is not supported.`);return c+o;case ht.BINARY:return c==="%"?`mod(${o}, ${r})`:c==="==="?`(${o} == ${r})`:c==="!=="?`(${o} != ${r})`:c==="atan2"?`atan(${o}, ${r})`:l(bU[c])?`${c}(${o}, ${r})`:`(${o} ${c} ${r})`;case ht.TERNARY:if(l(U9[c]))return`${c}(${o}, ${r}, ${s})`;break;case ht.CONDITIONAL:return`(${s} ? ${o} : ${r})`;case ht.MEMBER:return Yx(this._left)?Roe(r,e):r==="r"||r==="x"||r==="0.0"?`${o}[0]`:r==="g"||r==="y"||r==="1.0"?`${o}[1]`:r==="b"||r==="z"||r==="2.0"?`${o}[2]`:r==="a"||r==="w"||r==="3.0"?`${o}[3]`:`${o}[int(${r})]`;case ht.FUNCTION_CALL:throw new ce(`Error generating style shader: "${c}" is not supported.`);case ht.ARRAY:if(c.length===4)return`vec4(${c[0]}, ${c[1]}, ${c[2]}, ${c[3]})`;if(c.length===3)return`vec3(${c[0]}, ${c[1]}, ${c[2]})`;if(c.length===2)return`vec2(${c[0]}, ${c[1]})`;throw new ce("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case ht.REGEX:throw new ce("Error generating style shader: Regular expressions are not supported.");case ht.VARIABLE_IN_STRING:throw new ce("Error generating style shader: Converting a variable to a string is not supported.");case ht.LITERAL_NULL:return Vd.NULL_SENTINEL;case ht.LITERAL_BOOLEAN:return c?"true":"false";case ht.LITERAL_NUMBER:return Zg(c);case ht.LITERAL_STRING:if(l(n)&&n._type===ht.MEMBER&&(c==="r"||c==="g"||c==="b"||c==="a"||c==="x"||c==="y"||c==="z"||c==="w"||Yx(n._left)))return c;if(i=H.fromCssColorString(c,yU),l(i))return R2e(i);throw new ce("Error generating style shader: String literals are not supported.");case ht.LITERAL_COLOR:if(u=o,c==="color"){if(l(u)){if(u.length>1){let p=u[0],g=u[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${u[0]}, 1.0)`}else{if(c==="rgb")return i=Ioe(this),l(i)?_U(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, 1.0)`;if(c==="rgba")return u[3]!=="1.0"&&(t.translucent=!0),i=Ioe(this),l(i)?_U(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, ${u[3]})`;if(c==="hsl")return i=Doe(this),l(i)?_U(i):`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), 1.0)`;if(c==="hsla")return i=Doe(this),l(i)?(i.alpha!==1&&(t.translucent=!0),_U(i)):(u[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), ${u[3]})`)}break;case ht.LITERAL_VECTOR:f=o.length,d=`${c}(`;for(let p=0;p<f;++p)d+=o[p],p<f-1&&(d+=", ");return d+=")",d;case ht.LITERAL_REGEX:throw new ce("Error generating style shader: Regular expressions are not supported.");case ht.LITERAL_UNDEFINED:return Vd.NULL_SENTINEL;case ht.BUILTIN_VARIABLE:if(c==="tiles3d_tileset_time")return c}};Ct.prototype.getVariables=function(e,t){let n,i,o,r=this._type,s=this._value;if(l(this._left))if(Array.isArray(this._left))for(n=this._left,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);else this._left.getVariables(e,this);if(l(this._right)&&this._right.getVariables(e,this),l(this._test)&&this._test.getVariables(e,this),Array.isArray(this._value))for(n=this._value,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);let a;switch(r){case ht.VARIABLE:Yx(this)||e.push(s);break;case ht.VARIABLE_IN_STRING:for(a=gU.exec(s);a!==null;)e.push(a[1]),a=gU.exec(s);break;case ht.LITERAL_STRING:l(t)&&t._type===ht.MEMBER&&Yx(t._left)&&e.push(s);break}};var Cf=Vd;function zp(e){e=y(e,y.EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=y(e.center,h.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=y(e.classificationType,Hn.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};let t=this._batchIds.length;for(let n=0;n<t;++n){let i=this._batchIds[n];this._batchIdLookUp[i]=n}}Object.defineProperties(zp.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});var O2e={position:0,a_batchId:1};function M2e(e,t){if(l(e._va))return;let n=pt.createVertexBuffer({context:t,typedArray:e._positions,usage:ke.STATIC_DRAW}),i=pt.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:ke.STATIC_DRAW}),o=pt.createIndexBuffer({context:t,typedArray:e._indices,usage:ke.DYNAMIC_DRAW,indexDatatype:e._indices.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),r=[{index:0,vertexBuffer:n,componentDatatype:X.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:i,componentDatatype:X.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}];e._va=new pi({context:t,attributes:r,indexBuffer:o}),t.webgl2&&(e._vaSwap=new pi({context:t,attributes:r,indexBuffer:pt.createIndexBuffer({context:t,sizeInBytes:o.sizeInBytes,usage:ke.DYNAMIC_DRAW,indexDatatype:o.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0}function L2e(e,t){if(l(e._sp))return;let n=e._batchTable,i=y(e._attributeLocations,O2e),o=e._pickId,r=e._vertexShaderSource,s=e._fragmentShaderSource;if(l(r)){e._sp=an.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i}),e._spStencil=e._sp,s=ze.replaceMain(s,"czm_non_pick_main"),s=`${s}void main() +`,o};zd.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};zd.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var C2e=["!","-","+"],Woe=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],SU=/\${(.*?)}/g,A2e=/\\/g,E2e="@#%",S2e=/@#%/g,vU=new H,wU={abs:Zs(Math.abs),sqrt:Zs(Math.sqrt),cos:Zs(Math.cos),sin:Zs(Math.sin),tan:Zs(Math.tan),acos:Zs(Math.acos),asin:Zs(Math.asin),atan:Zs(Math.atan),radians:Zs(P.toRadians),degrees:Zs(P.toDegrees),sign:Zs(P.sign),floor:Zs(Math.floor),ceil:Zs(Math.ceil),round:Zs(Math.round),exp:Zs(Math.exp),exp2:Zs(w2e),log:Zs(Math.log),log2:Zs(D2e),fract:Zs(v2e),length:I2e,normalize:P2e},DU={atan2:AU(Math.atan2,!1),pow:AU(Math.pow,!1),min:AU(Math.min,!0),max:AU(Math.max,!0),distance:R2e,dot:O2e,cross:M2e},Z9={clamp:joe(P.clamp,!0),mix:joe(P.lerp,!0)};function v2e(e){return e-Math.floor(e)}function w2e(e){return Math.pow(2,e)}function D2e(e){return P.log2(e)}function Zs(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof z)return z.fromElements(e(n.x),e(n.y),Ln.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),Ln.getCartesian3());if(n instanceof ie)return ie.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),Ln.getCartesian4());throw new se(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function AU(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof z)return z.fromElements(e(i.x,o),e(i.y,o),Ln.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),Ln.getCartesian3());if(i instanceof ie)return ie.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),Ln.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof z&&o instanceof z)return z.fromElements(e(i.x,o.x),e(i.y,o.y),Ln.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),Ln.getCartesian3());if(i instanceof ie&&o instanceof ie)return ie.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),Ln.getCartesian4());throw new se(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function joe(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof z&&o instanceof z)return z.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),Ln.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),Ln.getCartesian3());if(i instanceof ie&&o instanceof ie)return ie.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),Ln.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof z&&o instanceof z&&r instanceof z)return z.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),Ln.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),Ln.getCartesian3());if(i instanceof ie&&o instanceof ie&&r instanceof ie)return ie.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),Ln.getCartesian4());throw new se(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function I2e(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof z)return z.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof ie)return ie.magnitude(t);throw new se(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function P2e(e,t){if(typeof t=="number")return 1;if(t instanceof z)return z.normalize(t,Ln.getCartesian2());if(t instanceof h)return h.normalize(t,Ln.getCartesian3());if(t instanceof ie)return ie.normalize(t,Ln.getCartesian4());throw new se(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function R2e(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof z&&n instanceof z)return z.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof ie&&n instanceof ie)return ie.distance(t,n);throw new se(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function O2e(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof z&&n instanceof z)return z.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof ie&&n instanceof ie)return ie.dot(t,n);throw new se(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function M2e(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,Ln.getCartesian3());throw new se(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function Et(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,q2e(this)}function L2e(e,t){if(!l(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;l(o)&&(e=e.replace(i,o))}return e}function N2e(e){return e.replace(A2e,E2e)}function K9(e){return e.replace(S2e,"\\")}function F2e(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o<i)s=t.indexOf("'",o+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else if(r>=0&&r<i)s=t.indexOf('"',r+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else{n+=t.substr(0,i);let a=t.indexOf("}");if(a<0)throw new se("Unmatched {.");n+=`czm_${t.substr(i+2,a-(i+2))}`,t=t.substr(a+1),i=t.indexOf("${")}}return n+=t,n}function B2e(e){let t=typeof e.value;if(e.value===null)return new Et(gt.LITERAL_NULL,null);if(t==="boolean")return new Et(gt.LITERAL_BOOLEAN,e.value);if(t==="number")return new Et(gt.LITERAL_NUMBER,e.value);if(t==="string")return e.value.indexOf("${")>=0?new Et(gt.VARIABLE_IN_STRING,e.value):new Et(gt.LITERAL_STRING,K9(e.value))}function k2e(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(!l(c.callee)||c.callee.name!=="regExp")throw new se(`${o} is not a function.`);return i===0?o==="test"?new Et(gt.LITERAL_BOOLEAN,!1):new Et(gt.LITERAL_NULL,null):(s=vi(e,c),a=vi(e,n[0]),new Et(gt.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=vi(e,c),new Et(gt.FUNCTION_CALL,o,r);throw new se(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new Et(gt.LITERAL_COLOR,o);if(r=vi(e,n[0]),l(n[1])){let c=vi(e,n[1]);return new Et(gt.LITERAL_COLOR,o,[r,c])}return new Et(gt.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new se(`${o} requires three arguments.`);return r=[vi(e,n[0]),vi(e,n[1]),vi(e,n[2])],new Et(gt.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new se(`${o} requires four arguments.`);return r=[vi(e,n[0]),vi(e,n[1]),vi(e,n[2]),vi(e,n[3])],new Et(gt.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c<i;++c)r[c]=vi(e,n[c]);return new Et(gt.LITERAL_VECTOR,o,r)}else{if(o==="isNaN"||o==="isFinite")return i===0?o==="isNaN"?new Et(gt.LITERAL_BOOLEAN,!0):new Et(gt.LITERAL_BOOLEAN,!1):(r=vi(e,n[0]),new Et(gt.UNARY,o,r));if(o==="isExactClass"||o==="isClass"){if(i<1||i>1)throw new se(`${o} requires exactly one argument.`);return r=vi(e,n[0]),new Et(gt.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new se(`${o} does not take any argument.`);return new Et(gt.UNARY,o)}else if(l(wU[o])){if(i!==1)throw new se(`${o} requires exactly one argument.`);return r=vi(e,n[0]),new Et(gt.UNARY,o,r)}else if(l(DU[o])){if(i!==2)throw new se(`${o} requires exactly two arguments.`);return s=vi(e,n[0]),a=vi(e,n[1]),new Et(gt.BINARY,o,s,a)}else if(l(Z9[o])){if(i!==3)throw new se(`${o} requires exactly three arguments.`);s=vi(e,n[0]),a=vi(e,n[1]);let c=vi(e,n[2]);return new Et(gt.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new Et(gt.LITERAL_BOOLEAN,!1):(r=vi(e,n[0]),new Et(gt.UNARY,o,r));if(o==="Number")return i===0?new Et(gt.LITERAL_NUMBER,0):(r=vi(e,n[0]),new Et(gt.UNARY,o,r));if(o==="String")return i===0?new Et(gt.LITERAL_STRING,""):(r=vi(e,n[0]),new Et(gt.UNARY,o,r));if(o==="regExp")return V2e(e,t)}}throw new se(`Unexpected function call "${o}".`)}function V2e(e,t){let n=t.arguments;if(n.length===0)return new Et(gt.LITERAL_REGEX,new RegExp);let i=vi(e,n[0]),o;if(n.length>1){let r=vi(e,n[1]);if(X9(i)&&X9(r)){try{o=new RegExp(K9(String(i._value)),r._value)}catch(s){throw new se(s)}return new Et(gt.LITERAL_REGEX,o)}return new Et(gt.REGEX,i,r)}if(X9(i)){try{o=new RegExp(K9(String(i._value)))}catch(r){throw new se(r)}return new Et(gt.LITERAL_REGEX,o)}return new Et(gt.REGEX,i)}function U2e(e){if(W2e(e.name)){let t=j2e(e.name);return t.substr(0,8)==="tiles3d_"?new Et(gt.BUILTIN_VARIABLE,t):new Et(gt.VARIABLE,t)}else{if(e.name==="NaN")return new Et(gt.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new Et(gt.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new Et(gt.LITERAL_UNDEFINED,void 0)}throw new se(`${e.name} is not defined.`)}function z2e(e){let t=e.property.name;if(t==="PI")return new Et(gt.LITERAL_NUMBER,Math.PI);if(t==="E")return new Et(gt.LITERAL_NUMBER,Math.E)}function H2e(e){if(e.property.name==="POSITIVE_INFINITY")return new Et(gt.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function G2e(e,t){if(t.object.name==="Math")return z2e(t);if(t.object.name==="Number")return H2e(t);let n,i=vi(e,t.object);return t.computed?(n=vi(e,t.property),new Et(gt.MEMBER,"brackets",i,n)):(n=new Et(gt.LITERAL_STRING,t.property.name),new Et(gt.MEMBER,"dot",i,n))}function X9(e){return e._type>=gt.LITERAL_NULL}function W2e(e){return e.substr(0,4)==="czm_"}function j2e(e){return e.substr(4)}function vi(e,t){let n,i,o,r;if(t.type==="Literal")n=B2e(t);else if(t.type==="CallExpression")n=k2e(e,t);else if(t.type==="Identifier")n=U2e(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=vi(e,t.argument);if(C2e.indexOf(i)>-1)n=new Et(gt.UNARY,i,s);else throw new se(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=vi(e,t.left),r=vi(e,t.right),Woe.indexOf(i)>-1)n=new Et(gt.BINARY,i,o,r);else throw new se(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=vi(e,t.left),r=vi(e,t.right),Woe.indexOf(i)>-1&&(n=new Et(gt.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=vi(e,t.test);o=vi(e,t.consequent),r=vi(e,t.alternate),n=new Et(gt.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=G2e(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a<t.elements.length;a++)s[a]=vi(e,t.elements[a]);n=new Et(gt.ARRAY,s)}else throw t.type==="Compound"?new se("Provide exactly one expression."):new se("Cannot parse expression.");return n}function q2e(e){e._type===gt.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===gt.FUNCTION_CALL?e._value==="test"?e.evaluate=e._evaluateRegExpTest:e._value==="exec"?e.evaluate=e._evaluateRegExpExec:e._value==="toString"&&(e.evaluate=e._evaluateToString):e._type===gt.UNARY?e._value==="!"?e.evaluate=e._evaluateNot:e._value==="-"?e.evaluate=e._evaluateNegative:e._value==="+"?e.evaluate=e._evaluatePositive:e._value==="isNaN"?e.evaluate=e._evaluateNaN:e._value==="isFinite"?e.evaluate=e._evaluateIsFinite:e._value==="isExactClass"?e.evaluate=e._evaluateIsExactClass:e._value==="isClass"?e.evaluate=e._evaluateIsClass:e._value==="getExactClassName"?e.evaluate=e._evaluateGetExactClassName:e._value==="Boolean"?e.evaluate=e._evaluateBooleanConversion:e._value==="Number"?e.evaluate=e._evaluateNumberConversion:e._value==="String"?e.evaluate=e._evaluateStringConversion:l(wU[e._value])&&(e.evaluate=X2e(e._value)):e._type===gt.BINARY?e._value==="+"?e.evaluate=e._evaluatePlus:e._value==="-"?e.evaluate=e._evaluateMinus:e._value==="*"?e.evaluate=e._evaluateTimes:e._value==="/"?e.evaluate=e._evaluateDivide:e._value==="%"?e.evaluate=e._evaluateMod:e._value==="==="?e.evaluate=e._evaluateEqualsStrict:e._value==="!=="?e.evaluate=e._evaluateNotEqualsStrict:e._value==="<"?e.evaluate=e._evaluateLessThan:e._value==="<="?e.evaluate=e._evaluateLessThanOrEquals:e._value===">"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:l(DU[e._value])&&(e.evaluate=K2e(e._value)):e._type===gt.TERNARY?e.evaluate=Z2e(e._value):e._type===gt.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===gt.ARRAY?e.evaluate=e._evaluateArray:e._type===gt.VARIABLE?e.evaluate=e._evaluateVariable:e._type===gt.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===gt.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===gt.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===gt.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===gt.REGEX?e.evaluate=e._evaluateRegExp:e._type===gt.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=Y2e):e.evaluate=e._evaluateLiteral}function Y2e(e){return l(e)?e.content.tileset.timeSinceLoad:0}function X2e(e){let t=wU[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function K2e(e){let t=DU[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function Z2e(e){let t=Z9[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function IU(e,t){if(l(e))return e.getPropertyInherited(t)}Et.prototype._evaluateLiteral=function(){return this._value};Et.prototype._evaluateLiteralColor=function(e){let t=vU,n=this._left;if(this._value==="color")l(n)?n.length>1?(H.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):H.fromCssColorString(n[0].evaluate(e),t):H.fromBytes(255,255,255,255,t);else if(this._value==="rgb")H.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;H.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?H.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&H.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return ie.fromColor(t,Ln.getCartesian4())};Et.prototype._evaluateLiteralVector=function(e){let t=Ln.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a<o;++a){let c=i[a].evaluate(e);if(typeof c=="number")t.push(c);else if(c instanceof z)t.push(c.x,c.y);else if(c instanceof h)t.push(c.x,c.y,c.z);else if(c instanceof ie)t.push(c.x,c.y,c.z,c.w);else throw new se(`${n} argument must be a vector or number. Argument is ${c}.`)}let r=t.length,s=parseInt(n.charAt(3));if(r===0)throw new se(`Invalid ${n} constructor. No valid arguments.`);if(r<s&&r>1)throw new se(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new se(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return z.fromArray(t,0,Ln.getCartesian2());if(n==="vec3")return h.fromArray(t,0,Ln.getCartesian3());if(n==="vec4")return ie.fromArray(t,0,Ln.getCartesian4())};Et.prototype._evaluateLiteralString=function(){return this._value};Et.prototype._evaluateVariableString=function(e){let t=this._value,n=SU.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=IU(e,o);l(r)||(r=""),t=t.replace(i,r),n=SU.exec(t)}return t};Et.prototype._evaluateVariable=function(e){return IU(e,this._value)};function Qx(e){return e._value==="feature"}Et.prototype._evaluateMemberDot=function(e){if(Qx(this._left))return IU(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof z||t instanceof h||t instanceof ie){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};Et.prototype._evaluateMemberBrackets=function(e){if(Qx(this._left))return IU(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof z||t instanceof h||t instanceof ie){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};Et.prototype._evaluateArray=function(e){let t=[];for(let n=0;n<this._value.length;n++)t[n]=this._value[n].evaluate(e);return t};Et.prototype._evaluateNot=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new se(`Operator "!" requires a boolean argument. Argument is ${t}.`);return!t};Et.prototype._evaluateNegative=function(e){let t=this._left.evaluate(e);if(t instanceof z)return z.negate(t,Ln.getCartesian2());if(t instanceof h)return h.negate(t,Ln.getCartesian3());if(t instanceof ie)return ie.negate(t,Ln.getCartesian4());if(typeof t=="number")return-t;throw new se(`Operator "-" requires a vector or number argument. Argument is ${t}.`)};Et.prototype._evaluatePositive=function(e){let t=this._left.evaluate(e);if(!(t instanceof z||t instanceof h||t instanceof ie||typeof t=="number"))throw new se(`Operator "+" requires a vector or number argument. Argument is ${t}.`);return t};Et.prototype._evaluateLessThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator "<" requires number arguments. Arguments are ${t} and ${n}.`);return t<n};Et.prototype._evaluateLessThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator "<=" requires number arguments. Arguments are ${t} and ${n}.`);return t<=n};Et.prototype._evaluateGreaterThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator ">" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};Et.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};Et.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new se(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new se(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};Et.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new se(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new se(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};Et.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.add(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,Ln.getCartesian3());if(n instanceof ie&&t instanceof ie)return ie.add(t,n,Ln.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new se(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};Et.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.subtract(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,Ln.getCartesian3());if(n instanceof ie&&t instanceof ie)return ie.subtract(t,n,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new se(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Et.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.multiplyComponents(t,n,Ln.getCartesian2());if(n instanceof z&&typeof t=="number")return z.multiplyByScalar(n,t,Ln.getCartesian2());if(t instanceof z&&typeof n=="number")return z.multiplyByScalar(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,Ln.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,Ln.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,Ln.getCartesian3());if(n instanceof ie&&t instanceof ie)return ie.multiplyComponents(t,n,Ln.getCartesian4());if(n instanceof ie&&typeof t=="number")return ie.multiplyByScalar(n,t,Ln.getCartesian4());if(t instanceof ie&&typeof n=="number")return ie.multiplyByScalar(t,n,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new se(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};Et.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.divideComponents(t,n,Ln.getCartesian2());if(t instanceof z&&typeof n=="number")return z.divideByScalar(t,n,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,Ln.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,Ln.getCartesian3());if(n instanceof ie&&t instanceof ie)return ie.divideComponents(t,n,Ln.getCartesian4());if(t instanceof ie&&typeof n=="number")return ie.divideByScalar(t,n,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new se(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};Et.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof z&&t instanceof z)return z.fromElements(t.x%n.x,t.y%n.y,Ln.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,Ln.getCartesian3());if(n instanceof ie&&t instanceof ie)return ie.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,Ln.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new se(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};Et.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof z&&t instanceof z||n instanceof h&&t instanceof h||n instanceof ie&&t instanceof ie?t.equals(n):t===n};Et.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof z&&t instanceof z||n instanceof h&&t instanceof h||n instanceof ie&&t instanceof ie?!t.equals(n):t!==n};Et.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new se(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};Et.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};Et.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};Et.prototype._evaluateIsExactClass=function(e){return l(e)?e.isExactClass(this._left.evaluate(e)):!1};Et.prototype._evaluateIsClass=function(e){return l(e)?e.isClass(this._left.evaluate(e)):!1};Et.prototype._evaluateGetExactClassName=function(e){if(l(e))return e.getExactClassName()};Et.prototype._evaluateBooleanConversion=function(e){return!!this._left.evaluate(e)};Et.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};Et.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};Et.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";l(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new se(o)}return i};Et.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new se(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};Et.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new se(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Et.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new se(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};Et.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new se(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return l(i)?i[1]:null};Et.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof z||t instanceof h||t instanceof ie)return String(t);throw new se(`Unexpected function call "${this._value}".`)};function qoe(e){let t=e._left,n=t.length;for(let a=0;a<n;++a)if(t[a]._type!==gt.LITERAL_NUMBER)return;let i=t[0]._value,o=t[1]._value,r=t[2]._value,s=n===4?t[3]._value:1;return H.fromHsl(i,o,r,s,vU)}function Yoe(e){let t=e._left,n=t.length;for(let o=0;o<n;++o)if(t[o]._type!==gt.LITERAL_NUMBER)return;let i=vU;return i.red=t[0]._value/255,i.green=t[1]._value/255,i.blue=t[2]._value/255,i.alpha=n===4?t[3]._value:1,i}function ny(e){return e%1===0?e.toFixed(1):e.toString()}function $2e(e){let t=ny(e.red),n=ny(e.green),i=ny(e.blue);return`vec3(${t}, ${n}, ${i})`}function EU(e){let t=ny(e.red),n=ny(e.green),i=ny(e.blue),o=ny(e.alpha);return`vec4(${t}, ${n}, ${i}, ${o})`}function Xoe(e,t,n,i){let o=e.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=e[s].getShaderExpression(t,n,i);return r}function Koe(e,t){return l(t[e])?t[e]:zd.NULL_SENTINEL}zd.NULL_SENTINEL="czm_infinity";Et.prototype.getShaderExpression=function(e,t,n){let i,o,r,s,a=this._type,c=this._value;l(this._left)&&(Array.isArray(this._left)?o=Xoe(this._left,e,t,this):o=this._left.getShaderExpression(e,t,this)),l(this._right)&&(r=this._right.getShaderExpression(e,t,this)),l(this._test)&&(s=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(c=Xoe(this._value,e,t,this));let u,f,d;switch(a){case gt.VARIABLE:return Qx(this)?void 0:Koe(c,e);case gt.UNARY:if(c==="Boolean")return`bool(${o})`;if(c==="Number")return`float(${o})`;if(c==="round")return`floor(${o} + 0.5)`;if(l(wU[c]))return`${c}(${o})`;if(c==="isNaN")return`(${o} != ${o})`;if(c==="isFinite")return`(abs(${o}) < czm_infinity)`;if(c==="String"||c==="isExactClass"||c==="isClass"||c==="getExactClassName")throw new se(`Error generating style shader: "${c}" is not supported.`);return c+o;case gt.BINARY:return c==="%"?`mod(${o}, ${r})`:c==="==="?`(${o} == ${r})`:c==="!=="?`(${o} != ${r})`:c==="atan2"?`atan(${o}, ${r})`:l(DU[c])?`${c}(${o}, ${r})`:`(${o} ${c} ${r})`;case gt.TERNARY:if(l(Z9[c]))return`${c}(${o}, ${r}, ${s})`;break;case gt.CONDITIONAL:return`(${s} ? ${o} : ${r})`;case gt.MEMBER:return Qx(this._left)?Koe(r,e):r==="r"||r==="x"||r==="0.0"?`${o}[0]`:r==="g"||r==="y"||r==="1.0"?`${o}[1]`:r==="b"||r==="z"||r==="2.0"?`${o}[2]`:r==="a"||r==="w"||r==="3.0"?`${o}[3]`:`${o}[int(${r})]`;case gt.FUNCTION_CALL:throw new se(`Error generating style shader: "${c}" is not supported.`);case gt.ARRAY:if(c.length===4)return`vec4(${c[0]}, ${c[1]}, ${c[2]}, ${c[3]})`;if(c.length===3)return`vec3(${c[0]}, ${c[1]}, ${c[2]})`;if(c.length===2)return`vec2(${c[0]}, ${c[1]})`;throw new se("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case gt.REGEX:throw new se("Error generating style shader: Regular expressions are not supported.");case gt.VARIABLE_IN_STRING:throw new se("Error generating style shader: Converting a variable to a string is not supported.");case gt.LITERAL_NULL:return zd.NULL_SENTINEL;case gt.LITERAL_BOOLEAN:return c?"true":"false";case gt.LITERAL_NUMBER:return ny(c);case gt.LITERAL_STRING:if(l(n)&&n._type===gt.MEMBER&&(c==="r"||c==="g"||c==="b"||c==="a"||c==="x"||c==="y"||c==="z"||c==="w"||Qx(n._left)))return c;if(i=H.fromCssColorString(c,vU),l(i))return $2e(i);throw new se("Error generating style shader: String literals are not supported.");case gt.LITERAL_COLOR:if(u=o,c==="color"){if(l(u)){if(u.length>1){let p=u[0],g=u[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${u[0]}, 1.0)`}else{if(c==="rgb")return i=Yoe(this),l(i)?EU(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, 1.0)`;if(c==="rgba")return u[3]!=="1.0"&&(t.translucent=!0),i=Yoe(this),l(i)?EU(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, ${u[3]})`;if(c==="hsl")return i=qoe(this),l(i)?EU(i):`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), 1.0)`;if(c==="hsla")return i=qoe(this),l(i)?(i.alpha!==1&&(t.translucent=!0),EU(i)):(u[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), ${u[3]})`)}break;case gt.LITERAL_VECTOR:f=o.length,d=`${c}(`;for(let p=0;p<f;++p)d+=o[p],p<f-1&&(d+=", ");return d+=")",d;case gt.LITERAL_REGEX:throw new se("Error generating style shader: Regular expressions are not supported.");case gt.LITERAL_UNDEFINED:return zd.NULL_SENTINEL;case gt.BUILTIN_VARIABLE:if(c==="tiles3d_tileset_time")return c}};Et.prototype.getVariables=function(e,t){let n,i,o,r=this._type,s=this._value;if(l(this._left))if(Array.isArray(this._left))for(n=this._left,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);else this._left.getVariables(e,this);if(l(this._right)&&this._right.getVariables(e,this),l(this._test)&&this._test.getVariables(e,this),Array.isArray(this._value))for(n=this._value,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);let a;switch(r){case gt.VARIABLE:Qx(this)||e.push(s);break;case gt.VARIABLE_IN_STRING:for(a=SU.exec(s);a!==null;)e.push(a[1]),a=SU.exec(s);break;case gt.LITERAL_STRING:l(t)&&t._type===gt.MEMBER&&Qx(t._left)&&e.push(s);break}};var Sf=zd;function jp(e){e=y(e,y.EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=y(e.center,h.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=y(e.classificationType,zn.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};let t=this._batchIds.length;for(let n=0;n<t;++n){let i=this._batchIds[n];this._batchIdLookUp[i]=n}}Object.defineProperties(jp.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});var Q2e={position:0,a_batchId:1};function J2e(e,t){if(l(e._va))return;let n=xt.createVertexBuffer({context:t,typedArray:e._positions,usage:Be.STATIC_DRAW}),i=xt.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:Be.STATIC_DRAW}),o=xt.createIndexBuffer({context:t,typedArray:e._indices,usage:Be.DYNAMIC_DRAW,indexDatatype:e._indices.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),r=[{index:0,vertexBuffer:n,componentDatatype:X.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:i,componentDatatype:X.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}];e._va=new ii({context:t,attributes:r,indexBuffer:o}),t.webgl2&&(e._vaSwap=new ii({context:t,attributes:r,indexBuffer:xt.createIndexBuffer({context:t,sizeInBytes:o.sizeInBytes,usage:Be.DYNAMIC_DRAW,indexDatatype:o.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0}function eBe(e,t){if(l(e._sp))return;let n=e._batchTable,i=y(e._attributeLocations,Q2e),o=e._pickId,r=e._vertexShaderSource,s=e._fragmentShaderSource;if(l(r)){e._sp=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i}),e._spStencil=e._sp,s=Ue.replaceMain(s,"czm_non_pick_main"),s=`${s}void main() { czm_non_pick_main(); out_FragColor = ${o}; } -`,e._spPick=an.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i});return}let a=n.getVertexShaderCallback(!1,"a_batchId",void 0)(_A),c=n.getFragmentShaderCallback(!1,void 0,!0)(zg);o=n.getPickId();let u=new ze({sources:[a]}),f=new ze({defines:["VECTOR_TILE"],sources:[c]});e._sp=an.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),u=new ze({sources:[_A]}),f=new ze({defines:["VECTOR_TILE"],sources:[zg]}),e._spStencil=an.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),c=ze.replaceMain(c,"czm_non_pick_main"),c=`${c} +`,e._spPick=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i});return}let a=n.getVertexShaderCallback(!1,"a_batchId",void 0)(bA),c=n.getFragmentShaderCallback(!1,void 0,!0)(Xg);o=n.getPickId();let u=new Ue({sources:[a]}),f=new Ue({defines:["VECTOR_TILE"],sources:[c]});e._sp=tn.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),u=new Ue({sources:[bA]}),f=new Ue({defines:["VECTOR_TILE"],sources:[Xg]}),e._spStencil=tn.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),c=Ue.replaceMain(c,"czm_non_pick_main"),c=`${c} void main() { czm_non_pick_main(); out_FragColor = ${o}; } -`;let d=new ze({sources:[a]}),p=new ze({defines:["VECTOR_TILE"],sources:[c]});e._spPick=an.fromCache({context:t,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:i})}function Ooe(e){let t=e?Wn.EQUAL:Wn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:t,frontOperation:{fail:dt.KEEP,zFail:dt.DECREMENT_WRAP,zPass:dt.KEEP},backFunction:t,backOperation:{fail:dt.KEEP,zFail:dt.INCREMENT_WRAP,zPass:dt.KEEP},reference:Vt.CESIUM_3D_TILE_MASK,mask:Vt.CESIUM_3D_TILE_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},depthMask:!1}}var N2e={stencilTest:{enabled:!0,frontFunction:Wn.NOT_EQUAL,frontOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},backFunction:Wn.NOT_EQUAL,backOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},reference:0,mask:Vt.CLASSIFICATION_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND},F2e={stencilTest:{enabled:!0,frontFunction:Wn.NOT_EQUAL,frontOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},backFunction:Wn.NOT_EQUAL,backOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},reference:0,mask:Vt.CLASSIFICATION_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function B2e(e){l(e._rsStencilDepthPass)||(e._rsStencilDepthPass=Ve.fromCache(Ooe(!1)),e._rsStencilDepthPass3DTiles=Ve.fromCache(Ooe(!0)),e._rsColorPass=Ve.fromCache(N2e),e._rsPickPass=Ve.fromCache(F2e))}var Xx=new F,Moe=new h;function k2e(e,t){if(l(e._uniformMap))return;let n={u_modifiedModelViewProjection:function(){let i=t.uniformState.view,o=t.uniformState.projection;return F.clone(i,Xx),F.multiplyByPoint(Xx,e._center,Moe),F.setTranslation(Xx,Moe,Xx),F.multiply(o,Xx,Xx),Xx},u_highlightColor:function(){return e._highlightColor}};e._uniformMap=e._batchTable.getUniformMapCallback()(n)}function z9(e,t,n,i,o,r,s){let a=e.constructor.BYTES_PER_ELEMENT,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d],m=new e.constructor(e.buffer,a*p,g);t.set(m,n),i[d]=n,n+=g}return n}function V2e(e,t){let n=e._indices,i=e._indexOffsets,o=e._indexCounts,r=e._batchIdLookUp,s=new n.constructor(n.length),a=t.pop(),c=[a],u=z9(n,s,0,i,o,a.batchIds,r);for(a.offset=0,a.count=u;t.length>0;){let f=t.pop();if(H.equals(f.color,a.color))u=z9(n,s,u,i,o,f.batchIds,r),a.batchIds=a.batchIds.concat(f.batchIds),a.count=u-a.offset;else{let d=u;u=z9(n,s,u,i,o,f.batchIds,r),f.offset=d,f.count=u-d,c.push(f),a=f}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function H9(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d];t.copyFromBuffer(e,p*a,n*a,g*a),i[d]=n,n+=g}return n}function U2e(e,t){let n=e._indexOffsets,i=e._indexCounts,o=e._batchIdLookUp,r=t.pop(),s=[r],a=e._va.indexBuffer,c=e._vaSwap.indexBuffer,u=H9(a,c,0,n,i,r.batchIds,o);for(r.offset=0,r.count=u;t.length>0;){let d=t.pop();if(H.equals(d.color,r.color))u=H9(a,c,u,n,i,d.batchIds,o),r.batchIds=r.batchIds.concat(d.batchIds),r.count=u-r.offset;else{let p=u;u=H9(a,c,u,n,i,d.batchIds,o),d.offset=p,d.count=u-p,s.push(d),r=d}}let f=e._va;e._va=e._vaSwap,e._vaSwap=f,e._batchedIndices=s}function z2e(e,t){return t.color.toRgba()-e.color.toRgba()}function H2e(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s<i;++s){let c=n[s].color.toRgba();if(l(r[c])){o=!0;break}else r[c]=!0}if(!o)return e._batchDirty=!1,!1;if(o&&!e.forceRebatch&&e._framesSinceLastRebatch<120){++e._framesSinceLastRebatch;return}return n.sort(z2e),t.webgl2?U2e(e,n):V2e(e,n),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0,!0}function G2e(e,t){let n=H2e(e,t),i=e._commands,o=e._batchedIndices,r=o.length,s=r*2;if(l(i)&&!n&&i.length===s)return;i.length=s;let a=e._va,c=e._sp,u=y(e._modelMatrix,F.IDENTITY),f=e._uniformMap,d=e._boundingVolume;for(let p=0;p<r;++p){let g=o[p].offset,m=o[p].count,x=i[p*2];l(x)||(x=i[p*2]=new Xe({owner:e})),x.vertexArray=a,x.modelMatrix=u,x.offset=g,x.count=m,x.renderState=e._rsStencilDepthPass,x.shaderProgram=c,x.uniformMap=f,x.boundingVolume=d,x.cull=!1,x.pass=Se.TERRAIN_CLASSIFICATION;let b=Xe.shallowClone(x,x.derivedCommands.tileset);b.renderState=e._rsStencilDepthPass3DTiles,b.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,x.derivedCommands.tileset=b;let T=i[p*2+1];l(T)||(T=i[p*2+1]=new Xe({owner:e})),T.vertexArray=a,T.modelMatrix=u,T.offset=g,T.count=m,T.renderState=e._rsColorPass,T.shaderProgram=c,T.uniformMap=f,T.boundingVolume=d,T.cull=!1,T.pass=Se.TERRAIN_CLASSIFICATION;let A=Xe.shallowClone(T,T.derivedCommands.tileset);A.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,T.derivedCommands.tileset=A}e._commandsDirty=!0}function W2e(e,t){if(e.classificationType===Hn.TERRAIN||!t.invertClassification||l(e._commandsIgnoreShow)&&!e._commandsDirty)return;let n=e._commands,i=e._commandsIgnoreShow,o=e._spStencil,r=n.length,s=i.length=r/2,a=0;for(let c=0;c<s;++c){let u=i[c]=Xe.shallowClone(n[a],i[c]);u.shaderProgram=o,u.pass=Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,a+=2}e._commandsDirty=!1}function j2e(e){if(!e._pickCommandsDirty)return;let t=e._indexOffsets.length,n=e._pickCommands;n.length=t*2;let i=e._va,o=e._spStencil,r=e._spPick,s=y(e._modelMatrix,F.IDENTITY),a=e._uniformMap;for(let c=0;c<t;++c){let u=e._indexOffsets[c],f=e._indexCounts[c],d=l(e._boundingVolumes)?e._boundingVolumes[c]:e.boundingVolume,p=n[c*2];l(p)||(p=n[c*2]=new Xe({owner:e,pickOnly:!0})),p.vertexArray=i,p.modelMatrix=s,p.offset=u,p.count=f,p.renderState=e._rsStencilDepthPass,p.shaderProgram=o,p.uniformMap=a,p.boundingVolume=d,p.pass=Se.TERRAIN_CLASSIFICATION;let g=Xe.shallowClone(p,p.derivedCommands.tileset);g.renderState=e._rsStencilDepthPass3DTiles,g.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=g;let m=n[c*2+1];l(m)||(m=n[c*2+1]=new Xe({owner:e,pickOnly:!0})),m.vertexArray=i,m.modelMatrix=s,m.offset=u,m.count=f,m.renderState=e._rsPickPass,m.shaderProgram=r,m.uniformMap=a,m.boundingVolume=d,m.pass=Se.TERRAIN_CLASSIFICATION;let x=Xe.shallowClone(m,m.derivedCommands.tileset);x.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,m.derivedCommands.tileset=x}e._pickCommandsDirty=!1}zp.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Ws(e,r)}};zp.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function q2e(e,t){e._updatingAllCommands=!0;let n=e._batchIds,i=n.length,o;for(o=0;o<i;++o){let s=n[o],a=t[s];a.show=!0,a.color=H.WHITE}let r=e._batchedIndices;for(i=r.length,o=0;o<i;++o)r[o].color=H.clone(H.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}var Y2e=new H,X2e=H.WHITE,K2e=!0,Z2e=/\$/;zp.prototype.applyStyle=function(e,t){if(!l(e)){q2e(this,t);return}let n=e.color,i=n instanceof Cf&&!Z2e.test(n.expression);this._updatingAllCommands=i;let o=this._batchIds,r=o.length,s;for(s=0;s<r;++s){let a=o[s],c=t[a];c.color=l(e.color)?e.color.evaluateColor(c,Y2e):X2e,c.show=l(e.show)?e.show.evaluate(c):K2e}if(i){let a=this._batchedIndices;for(r=a.length,s=0;s<r;++s)a[s].color=H.clone(H.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}};zp.prototype.updateCommands=function(e,t){if(this._updatingAllCommands)return;let n=this._batchIdLookUp,i=n[e];if(!l(i))return;let o=this._indexOffsets,r=this._indexCounts,s=o[i],a=r[i],c=this._batchedIndices,u=c.length,f;for(f=0;f<u;++f){let x=c[f].offset,b=c[f].count;if(s>=x&&s<x+b)break}c.push(new sm({color:H.clone(t),offset:s,count:a,batchIds:[e]}));let d=[],p=[],g=c[f].batchIds,m=g.length;for(let x=0;x<m;++x){let b=g[x];if(b===e)continue;let T=n[b];o[T]<s?d.push(b):p.push(b)}p.length!==0&&c.push(new sm({color:H.clone(c[f].color),offset:s+a,count:c[f].offset+c[f].count-(s+a),batchIds:p})),d.length!==0?(c[f].count=s-c[f].offset,c[f].batchIds=d):c.splice(f,1),this._batchDirty=!0};function Loe(e,t,n,i){let o=e.classificationType,r=o!==Hn.CESIUM_3D_TILE,s=o!==Hn.TERRAIN,a=t.commandList,c=n.length,u,f;for(f=0;f<c;++f)r&&(u=n[f],u.pass=Se.TERRAIN_CLASSIFICATION,a.push(u)),s&&(u=n[f].derivedCommands.tileset,u.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,a.push(u));if(!(!t.invertClassification||!l(i)))for(c=i.length,f=0;f<c;++f)a.push(i[f])}function $2e(e,t){let n=e.commandList,i=t.length;for(let o=0;o<i;o+=2){let r=t[o+1];r.pass=Se.OPAQUE,n.push(r)}}function Q2e(e){let t=e.debugWireframe===e._debugWireframe;if(t=t&&!(e.debugWireframe&&e._wireframeDirty),t)return;l(e._rsWireframe)||(e._rsWireframe=Ve.fromCache({}));let n,i;e.debugWireframe?(n=e._rsWireframe,i=Ne.LINES):(n=e._rsColorPass,i=Ne.TRIANGLES);let o=e._commands,r=o.length;for(let s=0;s<r;s+=2){let a=o[s+1];a.renderState=n,a.primitiveType=i}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}zp.prototype.update=function(e){let t=e.context;M2e(this,t),L2e(this,t),B2e(this),k2e(this,t);let n=e.passes;n.render&&(G2e(this,t),W2e(this,e),Q2e(this),this._debugWireframe?$2e(e,this._commands):Loe(this,e,this._commands,this._commandsIgnoreShow)),n.pick&&(j2e(this),Loe(this,e,this._pickCommands))};zp.prototype.isDestroyed=function(){return!1};zp.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),ue(this)};var Kx=zp;function xu(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,l(this._center)||(l(this._boundingVolume)?this._center=h.clone(this._boundingVolume.center):this._center=h.clone(h.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Hn.BOTH}Object.defineProperties(xu.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});xu.packedBoxLength=F.packedLength+h.packedLength;xu.packedCylinderLength=F.packedLength+2;xu.packedEllipsoidLength=F.packedLength+h.packedLength;xu.packedSphereLength=h.packedLength+1;function J2e(e){let t=new Float64Array(F.packedLength+h.packedLength),n=0;return h.pack(e._center,t,n),n+=h.packedLength,F.pack(e._modelMatrix,t,n),t}function eBe(e,t){let n=0,i=t[n++],o=t[n++],r=e._boundingVolumes=new Array(o);for(let c=0;c<o;++c)r[c]=ae.unpack(t,n),n+=ae.packedLength;let s=t[n++],a=e._batchedIndices=new Array(s);for(let c=0;c<s;++c){let u=H.unpack(t,n);n+=H.packedLength;let f=t[n++],d=t[n++],p=t[n++],g=new Array(p);for(let m=0;m<p;++m)g[m]=t[n++];a[c]=new sm({color:u,offset:f,count:d,batchIds:g})}return i}var tBe=new yi("createVectorTileGeometries",5),nBe=new H;function iBe(e){if(!l(e._primitive)&&!l(e._verticesPromise)){let t=e._boxes,n=e._boxBatchIds,i=e._cylinders,o=e._cylinderBatchIds,r=e._ellipsoids,s=e._ellipsoidBatchIds,a=e._spheres,c=e._sphereBatchIds,u=e._batchTableColors,f=e._packedBuffer;if(!l(u)){let m=0;l(e._boxes)&&(t=e._boxes=t.slice(),n=e._boxBatchIds=n.slice(),m+=n.length),l(e._cylinders)&&(i=e._cylinders=i.slice(),o=e._cylinderBatchIds=o.slice(),m+=o.length),l(e._ellipsoids)&&(r=e._ellipsoids=r.slice(),s=e._ellipsoidBatchIds=s.slice(),m+=s.length),l(e._spheres)&&(a=e._sphere=a.slice(),c=e._sphereBatchIds=c.slice(),m+=c.length),u=e._batchTableColors=new Uint32Array(m);let x=e._batchTable;for(let b=0;b<m;++b){let T=x.getColor(b,nBe);u[b]=T.toRgba()}f=e._packedBuffer=J2e(e)}let d=[];l(t)&&d.push(t.buffer,n.buffer),l(i)&&d.push(i.buffer,o.buffer),l(r)&&d.push(r.buffer,s.buffer),l(a)&&d.push(a.buffer,c.buffer),d.push(u.buffer,f.buffer);let p={boxes:l(t)?t.buffer:void 0,boxBatchIds:l(t)?n.buffer:void 0,cylinders:l(i)?i.buffer:void 0,cylinderBatchIds:l(i)?o.buffer:void 0,ellipsoids:l(r)?r.buffer:void 0,ellipsoidBatchIds:l(r)?s.buffer:void 0,spheres:l(a)?a.buffer:void 0,sphereBatchIds:l(a)?c.buffer:void 0,batchTableColors:u.buffer,packedBuffer:f.buffer},g=e._verticesPromise=tBe.scheduleTask(p,d);return l(g)?g.then(function(m){if(e.isDestroyed())return;let x=new Float64Array(m.packedBuffer);eBe(e,x)===2?e._indices=new Uint16Array(m.indices):e._indices=new Uint32Array(m.indices),e._indexOffsets=new Uint32Array(m.indexOffsets),e._indexCounts=new Uint32Array(m.indexCounts),e._positions=new Float32Array(m.positions),e._vertexBatchIds=new Uint16Array(m.vertexBatchIds),e._batchIds=new Uint16Array(m.batchIds),oBe(e),e._ready=!0}).catch(m=>{e.isDestroyed()||(e._error=m)}):void 0}}function oBe(e){l(e._primitive)||(e._primitive=new Kx({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}xu.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};xu.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};xu.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};xu.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};xu.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=iBe(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};xu.prototype.isDestroyed=function(){return!1};xu.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var Hp=xu;function am(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,aBe(this,i,o)}Object.defineProperties(am.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return l(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function rBe(e){return function(t,n){l(e._geometries)&&e._geometries.updateCommands(t,n)}}function sBe(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),u=y(e.ELLIPSOIDS_LENGTH,0),f=y(e.SPHERES_LENGTH,0);if(a>0&&l(e.BOX_BATCH_IDS)){let m=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,m,a)}if(c>0&&l(e.CYLINDER_BATCH_IDS)){let m=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,m,c)}if(u>0&&l(e.ELLIPSOID_BATCH_IDS)){let m=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,m,u)}if(f>0&&l(e.SPHERE_BATCH_IDS)){let m=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,m,f)}let d=l(n)||l(i)||l(o)||l(r),p=a>0&&!l(n)||c>0&&!l(i)||u>0&&!l(o)||f>0&&!l(r);if(d&&p)throw new ce("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)&&!l(r)){let m=0;if(!l(n)&&a>0)for(n=new Uint16Array(a),s=0;s<a;++s)n[s]=m++;if(!l(i)&&c>0)for(i=new Uint16Array(c),s=0;s<c;++s)i[s]=m++;if(!l(o)&&u>0)for(o=new Uint16Array(u),s=0;s<u;++s)o[s]=m++;if(!l(r)&&f>0)for(r=new Uint16Array(f),s=0;s<f;++s)r[s]=m++}return{boxes:n,cylinders:i,ellipsoids:o,spheres:r}}var Zx=Uint32Array.BYTES_PER_ELEMENT;function aBe(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=Zx;let r=o.getUint32(n,!0);if(r!==1)throw new ce(`Only Geometry tile version 1 is supported. Version ${r} is not.`);n+=Zx;let s=o.getUint32(n,!0);if(n+=Zx,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=Zx,a===0)throw new ce("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=Zx;let u=o.getUint32(n,!0);n+=Zx;let f=o.getUint32(n,!0);n+=Zx;let d=Mo(i,n,a);n+=a;let p=new Uint8Array(t,n,c);n+=c;let g,m;u>0&&(g=Mo(i,n,u),n+=u,f>0&&(m=new Uint8Array(t,n,f),m=new Uint8Array(m)));let x=y(d.BOXES_LENGTH,0),b=y(d.CYLINDERS_LENGTH,0),T=y(d.ELLIPSOIDS_LENGTH,0),A=y(d.SPHERES_LENGTH,0),C=x+b+T+A,E=new Up(e,C,g,m,rBe(e));if(e._batchTable=E,C===0)return;let v=e.tile.computedTransform,D;l(d.RTC_CENTER)&&(D=h.unpack(d.RTC_CENTER),F.multiplyByPoint(v,D,D));let O=sBe(d,p);if(x>0||b>0||T>0||A>0){let R,M,N,_;if(x>0){let S=p.byteOffset+d.BOXES.byteOffset;R=new Float32Array(p.buffer,S,Hp.packedBoxLength*x)}if(b>0){let S=p.byteOffset+d.CYLINDERS.byteOffset;M=new Float32Array(p.buffer,S,Hp.packedCylinderLength*b)}if(T>0){let S=p.byteOffset+d.ELLIPSOIDS.byteOffset;N=new Float32Array(p.buffer,S,Hp.packedEllipsoidLength*T)}if(A>0){let S=p.byteOffset+d.SPHERES.byteOffset;_=new Float32Array(p.buffer,S,Hp.packedSphereLength*A)}return e._geometries=new Hp({boxes:R,boxBatchIds:O.boxes,cylinders:M,cylinderBatchIds:O.cylinders,ellipsoids:N,ellipsoidBatchIds:O.ellipsoids,spheres:_,sphereBatchIds:O.spheres,center:D,modelMatrix:v,batchTable:E,boundingVolume:e.tile.boundingVolume.boundingVolume}),e}return Promise.resolve(e)}function Noe(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}am.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};am.prototype.getFeature=function(e){return Noe(this),this._features[e]};am.prototype.applyDebugSettings=function(e,t){l(this._geometries)&&this._geometries.applyDebugSettings(e,t)};am.prototype.applyStyle=function(e){Noe(this),l(this._geometries)&&this._geometries.applyStyle(e,this._features)};am.prototype.update=function(e,t){l(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),l(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(e,t),this._ready=!0)};am.prototype.pick=function(e,t,n){};am.prototype.isDestroyed=function(){return!1};am.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};var F1=am;var G9={};G9.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),Foe(i,o,r,s);return c};G9.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s<n;s*=2)o=1&Number(a/BigInt(2)),r=1&Number(a^BigInt(o)),Foe(s,i,o,r),i.x+=s*o,i.y+=s*r,a/=BigInt(4);return[i.x,i.y]};function Foe(e,t,n,i){if(i!==0)return;n===1&&(t.x=e-1-t.x,t.y=e-1-t.y);let o=t.x;t.x=t.y,t.y=o}var gA=G9;var $x=30,cBe=1<<$x,lBe=1<<$x+1>>>0,W9=2*$x+1,$g=4,Voe=[],Uoe=[],uBe=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],Qg=1,yA=2,CU=[Qg,0,0,Qg|yA];function Qr(e){if(!Gt.supportsBigInt())throw new ce("S2 required BigInt support");this._cellId=e,this._level=Qr.getLevel(e)}Qr.fromToken=function(e){return new Qr(Qr.getIdFromToken(e))};Qr.isValidId=function(e){return!(e<=0||e>>BigInt(W9)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};Qr.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?Qr.isValidId(Qr.getIdFromToken(e)):!1};Qr.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};Qr.getTokenFromId=function(e){let t=Math.floor(bBe(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};Qr.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return $x-(t>>1)};Qr.prototype.getChild=function(e){let t=Goe(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new Qr(n)};Qr.prototype.getParent=function(){let e=Goe(this._cellId)<<BigInt(2);return new Qr(this._cellId&~e+BigInt(1)|e)};Qr.prototype.getParentAtLevel=function(e){let t=yBe(e);return new Qr(this._cellId&-t|t)};Qr.prototype.getCenter=function(e){e=y(e,ee.WGS84);let t=fBe(this._cellId,this._level);t=h.normalize(t,t);let n=new fe.fromCartesian(t,ee.UNIT_SPHERE);return fe.toCartesian(n,e,new h)};Qr.prototype.getVertex=function(e,t){t=y(t,ee.WGS84);let n=dBe(this._cellId,this._level,e);n=h.normalize(n,n);let i=new fe.fromCartesian(n,ee.UNIT_SPHERE);return fe.toCartesian(i,t,new h)};Qr.fromFacePositionLevel=function(e,t,n){let i=(e<4?"0":"")+(e<2?"0":"")+e.toString(2),o=t.toString(2),r=Array(2*n-o.length+1).join("0"),s=Array(W9-2*n).join("0"),a=BigInt(`0b${i}${r}${o}1${s}`);return new Qr(a)};function fBe(e,t){let n=hBe(e,t);return mBe(n[0],n[1],n[2])}function dBe(e,t,n){let i=zoe(e,t),o=pBe([i[1],i[2]],t),r=n>>1&1;return Hoe(i[0],o[0][r^n&1],o[1][r])}function hBe(e,t){let n=zoe(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,u=(o<<1)+c,f=(r<<1)+c;return[i,u,f]}function zoe(e){Voe.length===0&&gBe();let t=Number(e>>BigInt(W9)),n=t&Qg,i=(1<<$g)-1,o=0,r=0;for(let s=7;s>=0;s--){let c=(1<<2*(s===7?$x-7*$g:$g))-1;n+=Number(e>>BigInt(s*2*$g+1)&BigInt(c))<<2,n=Uoe[n];let u=s*$g;o+=n>>$g+2<<u,r+=(n>>2&i)<<u,n&=Qg|yA}return[t,o,r]}function mBe(e,t,n){let i=Boe(t),o=Boe(n),r=AU(i),s=AU(o);return Hoe(e,r,s)}function Hoe(e,t,n){switch(e){case 0:return new h(1,t,n);case 1:return new h(-t,1,n);case 2:return new h(-t,-n,1);case 3:return new h(-1,-n,-t);case 4:return new h(n,-1,-t);default:return new h(n,t,-1)}}function AU(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function Boe(e){return 1/lBe*e}function pBe(e,t){let n=[[],[]],i=_Be(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=AU(koe(r)),n[o][1]=AU(koe(s))}return n}function _Be(e){return 1<<$x-e>>>0}function koe(e){return 1/cBe*e}function Jg(e,t,n,i,o,r){if(e===$g){let s=(t<<$g)+n;Voe[(s<<2)+i]=(o<<2)+r,Uoe[(o<<2)+i]=(s<<2)+r}else{e++,t<<=1,n<<=1,o<<=2;let s=uBe[r];Jg(e,t+(s[0]>>1),n+(s[0]&1),i,o,r^CU[0]),Jg(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^CU[1]),Jg(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^CU[2]),Jg(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^CU[3])}}function gBe(){Jg(0,0,0,0,0,0),Jg(0,0,0,Qg,0,Qg),Jg(0,0,0,yA,0,yA),Jg(0,0,0,Qg|yA,0,Qg|yA)}function Goe(e){return e&~e+BigInt(1)}function yBe(e){return BigInt(1)<<BigInt(2*($x-e))}var xBe=[64,0,1,39,2,15,40,23,3,12,16,59,41,19,24,54,4,64,13,10,17,62,60,28,42,30,20,51,25,44,55,47,5,32,65,38,14,22,11,58,18,53,63,9,61,27,29,50,43,46,31,37,21,57,52,8,26,49,45,36,56,7,48,35,6,34,33,0];function bBe(e){return xBe[(-e&e)%BigInt(67)]}var Gp=Qr;function TBe(e,t){return l(e)&&l(e.extensions)&&l(e.extensions[t])}var ai=TBe;function j9(e){let t=e.lengthBits,n=e.availableCount,i=e.constant,o=e.bitstream;if(l(i))n=t;else{let r=Math.ceil(t/8);if(o.length!==r)throw new ce(`Availability bitstream must be exactly ${r} bytes long to store ${t} bits. Actual bitstream was ${o.length} bytes long.`);let s=y(e.computeAvailableCountEnabled,!1);!l(n)&&s&&(n=CBe(o,t))}this._lengthBits=t,this._availableCount=n,this._constant=i,this._bitstream=o}function CBe(e,t){let n=0;for(let i=0;i<t;i++){let o=i>>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(j9.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});j9.prototype.getBit=function(e){if(l(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var xA=j9;function Wp(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(Wp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Wp.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};Wp.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};Wp.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};Wp.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};Wp.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};Wp.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};Wp.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var bA=Wp;var EU={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};EU.getBranchingFactor=function(e){switch(e){case EU.OCTREE:return 8;case EU.QUADTREE:return 4}};var Jr=Object.freeze(EU);function da(){}Object.defineProperties(da.prototype,{class:{get:function(){de.throwInstantiationError()}}});da.prototype.hasProperty=function(e){de.throwInstantiationError()};da.prototype.hasPropertyBySemantic=function(e){de.throwInstantiationError()};da.prototype.getPropertyIds=function(e){de.throwInstantiationError()};da.prototype.getProperty=function(e){de.throwInstantiationError()};da.prototype.setProperty=function(e,t){de.throwInstantiationError()};da.prototype.getPropertyBySemantic=function(e){de.throwInstantiationError()};da.prototype.setPropertyBySemantic=function(e,t){de.throwInstantiationError()};da.hasProperty=function(e,t,n){if(l(t[e]))return!0;let i=n.properties;if(!l(i))return!1;let o=i[e];return!!(l(o)&&l(o.default))};da.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return!1;let o=i[e];return l(o)};da.getPropertyIds=function(e,t,n){n=l(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&l(e[o])&&n.push(o);let i=t.properties;if(l(i))for(let o in i)i.hasOwnProperty(o)&&!l(e[o])&&l(i[o].default)&&n.push(o);return n};da.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!l(o)&&l(i.default))return o=He(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(l(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};da.setProperty=function(e,t,n,i){if(!l(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;return l(r)&&(o=r[e]),l(o)&&(t=o.packVectorAndMatrixTypes(t,!0),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};da.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return;let o=i[e];if(l(o))return da.getProperty(o.id,t,n)};da.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!l(o))return!1;let r=i.propertiesBySemantic[e];return l(r)?da.setProperty(r.id,t,n,i):!1};var Vn=da;function jp(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(jp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});jp.prototype.hasProperty=function(e){return Vn.hasProperty(e,this._properties,this._class)};jp.prototype.hasPropertyBySemantic=function(e){return Vn.hasPropertyBySemantic(e,this._properties,this._class)};jp.prototype.getPropertyIds=function(e){return Vn.getPropertyIds(this._properties,this._class,e)};jp.prototype.getProperty=function(e){return Vn.getProperty(e,this._properties,this._class)};jp.prototype.setProperty=function(e,t){return Vn.setProperty(e,t,this._properties,this._class)};jp.prototype.getPropertyBySemantic=function(e){return Vn.getPropertyBySemantic(e,this._properties,this._class)};jp.prototype.setPropertyBySemantic=function(e,t){return Vn.setPropertyBySemantic(e,t,this._properties,this._class)};var B1=jp;var Nt={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};Nt.getMinimum=function(e){switch(e){case Nt.INT8:return-128;case Nt.UINT8:return 0;case Nt.INT16:return-32768;case Nt.UINT16:return 0;case Nt.INT32:return-2147483648;case Nt.UINT32:return 0;case Nt.INT64:return Gt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case Nt.UINT64:return Gt.supportsBigInt()?BigInt(0):0;case Nt.FLOAT32:return-34028234663852886e22;case Nt.FLOAT64:return-Number.MAX_VALUE}};Nt.getMaximum=function(e){switch(e){case Nt.INT8:return 127;case Nt.UINT8:return 255;case Nt.INT16:return 32767;case Nt.UINT16:return 65535;case Nt.INT32:return 2147483647;case Nt.UINT32:return 4294967295;case Nt.INT64:return Gt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case Nt.UINT64:return Gt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case Nt.FLOAT32:return 34028234663852886e22;case Nt.FLOAT64:return Number.MAX_VALUE}};Nt.isIntegerType=function(e){switch(e){case Nt.INT8:case Nt.UINT8:case Nt.INT16:case Nt.UINT16:case Nt.INT32:case Nt.UINT32:case Nt.INT64:case Nt.UINT64:return!0;default:return!1}};Nt.isUnsignedIntegerType=function(e){switch(e){case Nt.UINT8:case Nt.UINT16:case Nt.UINT32:case Nt.UINT64:return!0;default:return!1}};Nt.isVectorCompatible=function(e){switch(e){case Nt.INT8:case Nt.UINT8:case Nt.INT16:case Nt.UINT16:case Nt.INT32:case Nt.UINT32:case Nt.FLOAT32:case Nt.FLOAT64:return!0;default:return!1}};Nt.normalize=function(e,t){return Math.max(Number(e)/Number(Nt.getMaximum(t)),-1)};Nt.unnormalize=function(e,t){let n=Nt.getMaximum(t),i=Nt.isUnsignedIntegerType(t)?0:-n;return e=P.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===Nt.INT64||t===Nt.UINT64)&&Gt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e<i?i:e};Nt.applyValueTransform=function(e,t,n){return n*e+t};Nt.unapplyValueTransform=function(e,t,n){return n===0?0:(e-t)/n};Nt.getSizeInBytes=function(e){switch(e){case Nt.INT8:case Nt.UINT8:return 1;case Nt.INT16:case Nt.UINT16:return 2;case Nt.INT32:case Nt.UINT32:return 4;case Nt.INT64:case Nt.UINT64:return 8;case Nt.FLOAT32:return 4;case Nt.FLOAT64:return 8}};Nt.fromComponentDatatype=function(e){switch(e){case X.BYTE:return Nt.INT8;case X.UNSIGNED_BYTE:return Nt.UINT8;case X.SHORT:return Nt.INT16;case X.UNSIGNED_SHORT:return Nt.UINT16;case X.INT:return Nt.INT32;case X.UNSIGNED_INT:return Nt.UINT32;case X.FLOAT:return Nt.FLOAT32;case X.DOUBLE:return Nt.FLOAT64}};Nt.toComponentDatatype=function(e){switch(e){case Nt.INT8:return X.BYTE;case Nt.UINT8:return X.UNSIGNED_BYTE;case Nt.INT16:return X.SHORT;case Nt.UINT16:return X.UNSIGNED_SHORT;case Nt.INT32:return X.INT;case Nt.UINT32:return X.UNSIGNED_INT;case Nt.FLOAT32:return X.FLOAT;case Nt.FLOAT64:return X.DOUBLE}};var zt=Object.freeze(Nt);var zo={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",BOOLEAN:"BOOLEAN",STRING:"STRING",ENUM:"ENUM"};zo.isVectorType=function(e){switch(e){case zo.VEC2:case zo.VEC3:case zo.VEC4:return!0;default:return!1}};zo.isMatrixType=function(e){switch(e){case zo.MAT2:case zo.MAT3:case zo.MAT4:return!0;default:return!1}};zo.getComponentCount=function(e){switch(e){case zo.SCALAR:case zo.STRING:case zo.ENUM:case zo.BOOLEAN:return 1;case zo.VEC2:return 2;case zo.VEC3:return 3;case zo.VEC4:return 4;case zo.MAT2:return 4;case zo.MAT3:return 9;case zo.MAT4:return 16}};zo.getMathType=function(e){switch(e){case zo.VEC2:return z;case zo.VEC3:return h;case zo.VEC4:return oe;case zo.MAT2:return Ui;case zo.MAT3:return $;case zo.MAT4:return F;default:return}};var Et=Object.freeze(zo);function Ba(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.type,i=e.componentType,o=e.enumType,r=l(i)&&zt.isIntegerType(i)&&y(e.normalized,!1);this._id=t,this._name=e.name,this._description=e.description,this._semantic=e.semantic,this._isLegacyExtension=e.isLegacyExtension,this._type=n,this._componentType=i,this._enumType=o,this._valueType=l(o)?o.valueType:i,this._isArray=y(e.isArray,!1),this._isVariableLengthArray=y(e.isVariableLengthArray,!1),this._arrayLength=e.arrayLength,this._min=He(e.min,!0),this._max=He(e.max,!0),this._normalized=r;let s=He(e.offset,!0),a=He(e.scale,!0),c=l(s)||l(a),u=!0;l(s)||(s=this.expandConstant(0,u)),l(a)||(a=this.expandConstant(1,u)),this._offset=s,this._scale=a,this._hasValueTransform=c,this._noData=He(e.noData,!0),this._default=He(e.default,!0),this._required=y(e.required,!0),this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}Ba.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.property,i=ABe(n),o=EBe(n,e.enums),r;return l(i)?i?r=l(n.optional)?!n.optional:!0:r=y(n.required,!1):r=!1,new Ba({id:t,type:o.type,componentType:o.componentType,enumType:o.enumType,isArray:o.isArray,isVariableLengthArray:o.isVariableLengthArray,arrayLength:o.arrayLength,normalized:n.normalized,min:n.min,max:n.max,offset:n.offset,scale:n.scale,noData:n.noData,default:n.default,required:r,name:n.name,description:n.description,semantic:n.semantic,extras:n.extras,extensions:n.extensions,isLegacyExtension:i})};Object.defineProperties(Ba.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},type:{get:function(){return this._type}},enumType:{get:function(){return this._enumType}},componentType:{get:function(){return this._componentType}},valueType:{get:function(){return this._valueType}},isArray:{get:function(){return this._isArray}},isVariableLengthArray:{get:function(){return this._isVariableLengthArray}},arrayLength:{get:function(){return this._arrayLength}},normalized:{get:function(){return this._normalized}},max:{get:function(){return this._max}},min:{get:function(){return this._min}},noData:{get:function(){return this._noData}},default:{get:function(){return this._default}},required:{get:function(){return this._required}},semantic:{get:function(){return this._semantic}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});function ABe(e){if(e.type==="ARRAY")return!0;let t=e.type;if(t===Et.SCALAR||Et.isMatrixType(t)||Et.isVectorType(t))return!1;if(l(zt[t]))return!0;if(l(e.noData)||l(e.scale)||l(e.offset)||l(e.required)||l(e.count)||l(e.array)||l(e.optional))return!1}function EBe(e,t){let n=e.type,i=e.componentType,o=n==="ARRAY",r,s,a;o?(r=!0,s=e.componentCount,a=!l(s)):e.array?(r=!0,s=e.count,a=!l(e.count)):(r=!1,s=void 0,a=!1);let c;if(l(e.enumType)&&(c=t[e.enumType]),n===Et.ENUM)return{type:n,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&i===Et.ENUM)return{type:i,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===Et.SCALAR||Et.isMatrixType(n)||Et.isVectorType(n))return{type:n,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===Et.BOOLEAN||n===Et.STRING)return{type:n,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&(i===Et.BOOLEAN||i===Et.STRING))return{type:i,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(i)&&l(zt[i]))return{type:Et.SCALAR,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(zt[n]))return{type:Et.SCALAR,componentType:n,enumType:void 0,valueType:n,isArray:r,isVariableLengthArray:a,arrayLength:s}}Ba.prototype.normalize=function(e){return this._normalized?q9(e,this._valueType,zt.normalize):e};Ba.prototype.unnormalize=function(e){return this._normalized?q9(e,this._valueType,zt.unnormalize):e};Ba.prototype.applyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Ba.valueTransformInPlace(e,this._offset,this._scale,zt.applyValueTransform)};Ba.prototype.unapplyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Ba.valueTransformInPlace(e,this._offset,this._scale,zt.unapplyValueTransform)};Ba.prototype.expandConstant=function(e,t){t=y(t,!1);let n=this._isArray,i=this._arrayLength,o=Et.getComponentCount(this._type),r=n&&o>1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};Ba.prototype.handleNoData=function(e){let t=this._noData;if(!l(t))return e;if(!Yoe(e,t))return e};function Yoe(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!Yoe(e[n],t[n]))return!1;return!0}Ba.prototype.unpackVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=Et.getMathType(this._type),i=this._isArray,o=Et.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};Ba.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=Et.getMathType(this._type),i=this._isArray,o=Et.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};Ba.prototype.validate=function(e){if(!(!l(e)&&l(this._default)))return this._required&&!l(e)?"required property must have a value":this._isArray?SBe(this,e):Xoe(this,e)};function SBe(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i<n;i++){let o=Xoe(e,t[i]);if(l(o))return o}}function Xoe(e,t){let n=e._type,i=e._componentType,o=e._enumType,r=e._normalized;return Et.isVectorType(n)?vBe(t,n,i):Et.isMatrixType(n)?wBe(t,n,i):n===Et.STRING?DBe(t):n===Et.BOOLEAN?IBe(t):n===Et.ENUM?PBe(t,o):RBe(t,i,r)}function vBe(e,t,n){if(!zt.isVectorCompatible(n))return`componentType ${n} is incompatible with vector type ${t}`;if(t===Et.VEC2&&!(e instanceof z))return`vector value ${e} must be a Cartesian2`;if(t===Et.VEC3&&!(e instanceof h))return`vector value ${e} must be a Cartesian3`;if(t===Et.VEC4&&!(e instanceof oe))return`vector value ${e} must be a Cartesian4`}function wBe(e,t,n){if(!zt.isVectorCompatible(n))return`componentType ${n} is incompatible with matrix type ${t}`;if(t===Et.MAT2&&!(e instanceof Ui))return`matrix value ${e} must be a Matrix2`;if(t===Et.MAT3&&!(e instanceof $))return`matrix value ${e} must be a Matrix3`;if(t===Et.MAT4&&!(e instanceof F))return`matrix value ${e} must be a Matrix4`}function DBe(e){if(typeof e!="string")return SU(e,Et.STRING)}function IBe(e){if(typeof e!="boolean")return SU(e,Et.BOOLEAN)}function PBe(e,t){let n=typeof e;if(l(t))return n!=="string"||!l(t.valuesByName[e])?`value ${e} is not a valid enum name for ${t.id}`:void 0}function RBe(e,t,n){let i=typeof e;switch(t){case zt.INT8:case zt.UINT8:case zt.INT16:case zt.UINT16:case zt.INT32:case zt.UINT32:case zt.FLOAT32:case zt.FLOAT64:return i!=="number"?SU(e,t):isFinite(e)?joe(e,t,n):qoe(e,t);case zt.INT64:case zt.UINT64:return i!=="number"&&i!=="bigint"?SU(e,t):i==="number"&&!isFinite(e)?qoe(e,t):joe(e,t,n)}}function SU(e,t){return`value ${e} does not match type ${t}`}function Woe(e,t,n){let i=`value ${e} is out of range for type ${t}`;return n&&(i+=" (normalized)"),i}function joe(e,t,n){if(n){let i=zt.isUnsignedIntegerType(t)?0:-1;return e<i||e>1?Woe(e,t,n):void 0}if(e<zt.getMinimum(t)||e>zt.getMaximum(t))return Woe(e,t,n)}function qoe(e,t){return`value ${e} of type ${t} must be finite`}function q9(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i<e.length;i++)e[i]=q9(e[i],t,n);return e}Ba.valueTransformInPlace=function(e,t,n,i){if(!Array.isArray(e))return i(e,t,n);for(let o=0;o<e.length;o++)e[o]=Ba.valueTransformInPlace(e[o],t[o],n[o],i);return e};var ey=Ba;function k1(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.property,i=e.classProperty,o=e.bufferViews,r=i.type,s=i.isArray,a=i.isVariableLengthArray,c=i.valueType,u=i.enumType,f=r===Et.STRING,d=r===Et.BOOLEAN,p=0,g;if(a){let _=y(n.arrayOffsetType,n.offsetType);_=y(zt[_],zt.UINT32);let S=y(n.arrayOffsets,n.arrayOffsetBufferView);g=new Y9(o[S],_,t+1),p+=g.typedArray.byteLength}let m=Et.getComponentCount(r),x;a?x=g.get(t)-g.get(0):s?x=t*i.arrayLength:x=t;let b=m*x,T;if(f){let _=y(n.stringOffsetType,n.offsetType);_=y(zt[_],zt.UINT32);let S=y(n.stringOffsets,n.stringOffsetBufferView);T=new Y9(o[S],_,b+1),p+=T.typedArray.byteLength}(f||d)&&(c=zt.UINT8);let A;f?A=T.get(b)-T.get(0):d?A=Math.ceil(b/8):A=b;let C=y(n.values,n.bufferView),E=new Y9(o[C],c,A);p+=E.typedArray.byteLength;let v=n.offset,D=n.scale,O=i.hasValueTransform||l(v)||l(D);v=y(v,i.offset),D=y(D,i.scale),v=Koe(v),D=Koe(D);let R,M,N=this;f?R=function(_){return LBe(_,N._values,N._stringOffsets)}:d?(R=function(_){return NBe(_,N._values)},M=function(_,S){FBe(_,N._values,S)}):l(u)?(R=function(_){let S=N._values.get(_);return u.namesByValue[S]},M=function(_,S){let w=u.valuesByName[S];N._values.set(_,w)}):(R=function(_){return N._values.get(_)},M=function(_,S){N._values.set(_,S)}),this._arrayOffsets=g,this._stringOffsets=T,this._values=E,this._classProperty=i,this._count=t,this._vectorComponentCount=m,this._min=n.min,this._max=n.max,this._offset=v,this._scale=D,this._hasValueTransform=O,this._getValue=R,this._setValue=M,this._unpackedValues=void 0,this._extras=n.extras,this._extensions=n.extensions,this._byteLength=p}Object.defineProperties(k1.prototype,{hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){return this._byteLength}}});k1.prototype.get=function(e){let t=OBe(this,e);return t=this._classProperty.handleNoData(t),l(t)?(t=this._classProperty.normalize(t),t=WBe(this,t),this._classProperty.unpackVectorAndMatrixTypes(t)):(t=this._classProperty.default,this._classProperty.unpackVectorAndMatrixTypes(t))};k1.prototype.set=function(e,t){let n=this._classProperty;t=n.packVectorAndMatrixTypes(t),t=jBe(this,t),t=n.unnormalize(t),MBe(this,e,t)};k1.prototype.getTypedArray=function(){if(l(this._values))return this._values.typedArray};function Koe(e){if(!Array.isArray(e))return e;let t=[];for(let n=0;n<e.length;n++){let i=e[n];Array.isArray(i)?t.push.apply(t,i):t.push(i)}return t}function OBe(e,t){$oe(e)&&Qoe(e);let n=e._classProperty,i=n.isArray,o=n.type,r=Et.getComponentCount(o);if(l(e._unpackedValues)){let s=e._unpackedValues[t];return i?He(s,!0):s}return!i&&r===1?e._getValue(t):Zoe(e,n,t)}function Zoe(e,t,n){let i,o;if(t.isVariableLengthArray){i=e._arrayOffsets.get(n),o=e._arrayOffsets.get(n+1)-i;let s=Et.getComponentCount(t.type);i*=s,o*=s}else{let a=y(t.arrayLength,1)*e._vectorComponentCount;i=n*a,o=a}let r=new Array(o);for(let s=0;s<o;s++)r[s]=e._getValue(i+s);return r}function MBe(e,t,n){HBe(e,t,n)&&Qoe(e);let i=e._classProperty,o=i.isArray,r=i.type,s=Et.getComponentCount(r);if(l(e._unpackedValues)){i.isArray&&(n=He(n,!0)),e._unpackedValues[t]=n;return}if(!o&&s===1){e._setValue(t,n);return}let a,c;if(i.isVariableLengthArray)a=e._arrayOffsets.get(t),c=e._arrayOffsets.get(t+1)-a;else{let f=y(i.arrayLength,1)*e._vectorComponentCount;a=t*f,c=f}for(let u=0;u<c;++u)e._setValue(a+u,n[u])}function LBe(e,t,n){let i=n.get(e),o=n.get(e+1)-i;return Dl(t.typedArray,i,o)}function NBe(e,t){let n=e>>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function FBe(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<<o:t.typedArray[i]&=~(1<<o)}function BBe(e,t){let n=t.dataView,i=e*8,o=0,r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function kBe(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<<BigInt(a*8))}return r&&(o=-o),o}function VBe(e,t){let n=t.dataView,i=e*8,o=n.getUint32(i,!0),r=n.getUint32(i+4,!0);return o+4294967296*r}function UBe(e,t){let n=t.dataView,i=e*8,o=BigInt(n.getUint32(i,!0)),r=BigInt(n.getUint32(i+4,!0));return o+BigInt(4294967296)*r}function zBe(e){switch(e){case zt.INT8:return X.BYTE;case zt.UINT8:return X.UNSIGNED_BYTE;case zt.INT16:return X.SHORT;case zt.UINT16:return X.UNSIGNED_SHORT;case zt.INT32:return X.INT;case zt.UINT32:return X.UNSIGNED_INT;case zt.FLOAT32:return X.FLOAT;case zt.FLOAT64:return X.DOUBLE}}function $oe(e){if(l(e._unpackedValues))return!1;let t=e._classProperty,n=t.type,i=t.valueType;return n===Et.STRING||i===zt.INT64&&!Gt.supportsBigInt64Array()||i===zt.UINT64&&!Gt.supportsBigUint64Array()}function HBe(e,t,n){if($oe(e))return!0;let i=e._arrayOffsets;if(l(i)){let o=i.get(t+1)-i.get(t),r=n.length;if(o!==r)return!0}return!1}function Qoe(e){e._unpackedValues=GBe(e),e._arrayOffsets=void 0,e._stringOffsets=void 0,e._values=void 0}function GBe(e){let t=e._count,n=new Array(t),i=e._classProperty,o=i.isArray,r=i.type,s=Et.getComponentCount(r);if(!o&&s===1){for(let a=0;a<t;++a)n[a]=e._getValue(a);return n}for(let a=0;a<t;a++)n[a]=Zoe(e,i,a);return n}function WBe(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:ey.valueTransformInPlace(t,e._offset,e._scale,zt.applyValueTransform)}function jBe(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:ey.valueTransformInPlace(t,e._offset,e._scale,zt.unapplyValueTransform)}function Y9(e,t,n){let i=this,o,r,s;if(t===zt.INT64)Gt.supportsBigInt()?Gt.supportsBigInt64Array()?(o=new BigInt64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return kBe(a,i)}):(Tt("INT64 type is not fully supported on this platform. Values greater than 2^53 - 1 or less than -(2^53 - 1) may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return BBe(a,i)});else if(t===zt.UINT64)Gt.supportsBigInt()?Gt.supportsBigUint64Array()?(o=new BigUint64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return UBe(a,i)}):(Tt("UINT64 type is not fully supported on this platform. Values greater than 2^53 - 1 may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return VBe(a,i)});else{let a=zBe(t);o=X.createArrayBufferView(a,e.buffer,e.byteOffset,n),s=function(c,u){i.typedArray[c]=u}}l(r)||(r=function(a){return i.typedArray[a]}),this.typedArray=o,this.dataView=new DataView(o.buffer,o.byteOffset),this.get=r,this.set=s,this._componentType=t}var V1=k1;function Ud(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.class,i=0,o={};if(l(e.properties)){for(let r in e.properties)if(e.properties.hasOwnProperty(r)){let s=new V1({count:t,property:e.properties[r],classProperty:n.properties[r],bufferViews:e.bufferViews});o[r]=s,i+=s.byteLength}}this._count=t,this._class=n,this._properties=o,this._byteLength=i}Object.defineProperties(Ud.prototype,{count:{get:function(){return this._count}},class:{get:function(){return this._class}},byteLength:{get:function(){return this._byteLength}}});Ud.prototype.hasProperty=function(e){return Vn.hasProperty(e,this._properties,this._class)};Ud.prototype.hasPropertyBySemantic=function(e){return Vn.hasPropertyBySemantic(e,this._properties,this._class)};Ud.prototype.getPropertyIds=function(e){return Vn.getPropertyIds(this._properties,this._class,e)};Ud.prototype.getProperty=function(e,t){let n=this._properties[t],i;return l(n)?i=n.get(e):i=qBe(this._class,t),i};Ud.prototype.setProperty=function(e,t,n){let i=this._properties[t];return l(i)?(i.set(e,n),!0):!1};Ud.prototype.getPropertyBySemantic=function(e,t){let n,i=this._class.propertiesBySemantic;if(l(i)&&(n=i[t]),l(n))return this.getProperty(e,n.id)};Ud.prototype.setPropertyBySemantic=function(e,t,n){let i,o=this._class.propertiesBySemantic;return l(o)&&(i=o[t]),l(i)?this.setProperty(e,i.id,n):!1};Ud.prototype.getPropertyTypedArray=function(e){let t=this._properties[e];if(l(t))return t.getTypedArray()};Ud.prototype.getPropertyTypedArrayBySemantic=function(e){let t,n=this._class.propertiesBySemantic;if(l(n)&&(t=n[e]),l(t))return this.getPropertyTypedArray(t.id)};function qBe(e,t){let n=e.properties;if(!l(n))return;let i=n[t];if(l(i)&&l(i.default)){let o=i.default;return i.isArray&&(o=He(o,!0)),o=i.normalize(o),i.unpackVectorAndMatrixTypes(o)}}var Rl=Ud;function ty(){}Object.defineProperties(ty.prototype,{cacheKey:{get:function(){de.throwInstantiationError()}}});ty.prototype.load=function(){de.throwInstantiationError()};ty.prototype.unload=function(){};ty.prototype.process=function(e){return!1};ty.prototype.getError=function(e,t){l(t)&&l(t.message)&&(e+=` -${t.message}`);let n=new ce(e);return l(t)&&(n.stack=`Original stack: +`;let d=new Ue({sources:[a]}),p=new Ue({defines:["VECTOR_TILE"],sources:[c]});e._spPick=tn.fromCache({context:t,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:i})}function Zoe(e){let t=e?Hn.EQUAL:Hn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:t,frontOperation:{fail:ht.KEEP,zFail:ht.DECREMENT_WRAP,zPass:ht.KEEP},backFunction:t,backOperation:{fail:ht.KEEP,zFail:ht.INCREMENT_WRAP,zPass:ht.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},depthMask:!1}}var tBe={stencilTest:{enabled:!0,frontFunction:Hn.NOT_EQUAL,frontOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},backFunction:Hn.NOT_EQUAL,backOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:dn.PRE_MULTIPLIED_ALPHA_BLEND},nBe={stencilTest:{enabled:!0,frontFunction:Hn.NOT_EQUAL,frontOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},backFunction:Hn.NOT_EQUAL,backOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function iBe(e){l(e._rsStencilDepthPass)||(e._rsStencilDepthPass=Ve.fromCache(Zoe(!1)),e._rsStencilDepthPass3DTiles=Ve.fromCache(Zoe(!0)),e._rsColorPass=Ve.fromCache(tBe),e._rsPickPass=Ve.fromCache(nBe))}var Jx=new F,$oe=new h;function oBe(e,t){if(l(e._uniformMap))return;let n={u_modifiedModelViewProjection:function(){let i=t.uniformState.view,o=t.uniformState.projection;return F.clone(i,Jx),F.multiplyByPoint(Jx,e._center,$oe),F.setTranslation(Jx,$oe,Jx),F.multiply(o,Jx,Jx),Jx},u_highlightColor:function(){return e._highlightColor}};e._uniformMap=e._batchTable.getUniformMapCallback()(n)}function $9(e,t,n,i,o,r,s){let a=e.constructor.BYTES_PER_ELEMENT,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d],m=new e.constructor(e.buffer,a*p,g);t.set(m,n),i[d]=n,n+=g}return n}function rBe(e,t){let n=e._indices,i=e._indexOffsets,o=e._indexCounts,r=e._batchIdLookUp,s=new n.constructor(n.length),a=t.pop(),c=[a],u=$9(n,s,0,i,o,a.batchIds,r);for(a.offset=0,a.count=u;t.length>0;){let f=t.pop();if(H.equals(f.color,a.color))u=$9(n,s,u,i,o,f.batchIds,r),a.batchIds=a.batchIds.concat(f.batchIds),a.count=u-a.offset;else{let d=u;u=$9(n,s,u,i,o,f.batchIds,r),f.offset=d,f.count=u-d,c.push(f),a=f}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function Q9(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d];t.copyFromBuffer(e,p*a,n*a,g*a),i[d]=n,n+=g}return n}function sBe(e,t){let n=e._indexOffsets,i=e._indexCounts,o=e._batchIdLookUp,r=t.pop(),s=[r],a=e._va.indexBuffer,c=e._vaSwap.indexBuffer,u=Q9(a,c,0,n,i,r.batchIds,o);for(r.offset=0,r.count=u;t.length>0;){let d=t.pop();if(H.equals(d.color,r.color))u=Q9(a,c,u,n,i,d.batchIds,o),r.batchIds=r.batchIds.concat(d.batchIds),r.count=u-r.offset;else{let p=u;u=Q9(a,c,u,n,i,d.batchIds,o),d.offset=p,d.count=u-p,s.push(d),r=d}}let f=e._va;e._va=e._vaSwap,e._vaSwap=f,e._batchedIndices=s}function aBe(e,t){return t.color.toRgba()-e.color.toRgba()}function cBe(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s<i;++s){let c=n[s].color.toRgba();if(l(r[c])){o=!0;break}else r[c]=!0}if(!o)return e._batchDirty=!1,!1;if(o&&!e.forceRebatch&&e._framesSinceLastRebatch<120){++e._framesSinceLastRebatch;return}return n.sort(aBe),t.webgl2?sBe(e,n):rBe(e,n),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0,!0}function lBe(e,t){let n=cBe(e,t),i=e._commands,o=e._batchedIndices,r=o.length,s=r*2;if(l(i)&&!n&&i.length===s)return;i.length=s;let a=e._va,c=e._sp,u=y(e._modelMatrix,F.IDENTITY),f=e._uniformMap,d=e._boundingVolume;for(let p=0;p<r;++p){let g=o[p].offset,m=o[p].count,x=i[p*2];l(x)||(x=i[p*2]=new Ze({owner:e})),x.vertexArray=a,x.modelMatrix=u,x.offset=g,x.count=m,x.renderState=e._rsStencilDepthPass,x.shaderProgram=c,x.uniformMap=f,x.boundingVolume=d,x.cull=!1,x.pass=ve.TERRAIN_CLASSIFICATION;let b=Ze.shallowClone(x,x.derivedCommands.tileset);b.renderState=e._rsStencilDepthPass3DTiles,b.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,x.derivedCommands.tileset=b;let T=i[p*2+1];l(T)||(T=i[p*2+1]=new Ze({owner:e})),T.vertexArray=a,T.modelMatrix=u,T.offset=g,T.count=m,T.renderState=e._rsColorPass,T.shaderProgram=c,T.uniformMap=f,T.boundingVolume=d,T.cull=!1,T.pass=ve.TERRAIN_CLASSIFICATION;let A=Ze.shallowClone(T,T.derivedCommands.tileset);A.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,T.derivedCommands.tileset=A}e._commandsDirty=!0}function uBe(e,t){if(e.classificationType===zn.TERRAIN||!t.invertClassification||l(e._commandsIgnoreShow)&&!e._commandsDirty)return;let n=e._commands,i=e._commandsIgnoreShow,o=e._spStencil,r=n.length,s=i.length=r/2,a=0;for(let c=0;c<s;++c){let u=i[c]=Ze.shallowClone(n[a],i[c]);u.shaderProgram=o,u.pass=ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,a+=2}e._commandsDirty=!1}function fBe(e){if(!e._pickCommandsDirty)return;let t=e._indexOffsets.length,n=e._pickCommands;n.length=t*2;let i=e._va,o=e._spStencil,r=e._spPick,s=y(e._modelMatrix,F.IDENTITY),a=e._uniformMap;for(let c=0;c<t;++c){let u=e._indexOffsets[c],f=e._indexCounts[c],d=l(e._boundingVolumes)?e._boundingVolumes[c]:e.boundingVolume,p=n[c*2];l(p)||(p=n[c*2]=new Ze({owner:e,pickOnly:!0})),p.vertexArray=i,p.modelMatrix=s,p.offset=u,p.count=f,p.renderState=e._rsStencilDepthPass,p.shaderProgram=o,p.uniformMap=a,p.boundingVolume=d,p.pass=ve.TERRAIN_CLASSIFICATION;let g=Ze.shallowClone(p,p.derivedCommands.tileset);g.renderState=e._rsStencilDepthPass3DTiles,g.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=g;let m=n[c*2+1];l(m)||(m=n[c*2+1]=new Ze({owner:e,pickOnly:!0})),m.vertexArray=i,m.modelMatrix=s,m.offset=u,m.count=f,m.renderState=e._rsPickPass,m.shaderProgram=r,m.uniformMap=a,m.boundingVolume=d,m.pass=ve.TERRAIN_CLASSIFICATION;let x=Ze.shallowClone(m,m.derivedCommands.tileset);x.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,m.derivedCommands.tileset=x}e._pickCommandsDirty=!1}jp.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Ks(e,r)}};jp.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function dBe(e,t){e._updatingAllCommands=!0;let n=e._batchIds,i=n.length,o;for(o=0;o<i;++o){let s=n[o],a=t[s];a.show=!0,a.color=H.WHITE}let r=e._batchedIndices;for(i=r.length,o=0;o<i;++o)r[o].color=H.clone(H.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}var hBe=new H,mBe=H.WHITE,pBe=!0,_Be=/\$/;jp.prototype.applyStyle=function(e,t){if(!l(e)){dBe(this,t);return}let n=e.color,i=n instanceof Sf&&!_Be.test(n.expression);this._updatingAllCommands=i;let o=this._batchIds,r=o.length,s;for(s=0;s<r;++s){let a=o[s],c=t[a];c.color=l(e.color)?e.color.evaluateColor(c,hBe):mBe,c.show=l(e.show)?e.show.evaluate(c):pBe}if(i){let a=this._batchedIndices;for(r=a.length,s=0;s<r;++s)a[s].color=H.clone(H.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}};jp.prototype.updateCommands=function(e,t){if(this._updatingAllCommands)return;let n=this._batchIdLookUp,i=n[e];if(!l(i))return;let o=this._indexOffsets,r=this._indexCounts,s=o[i],a=r[i],c=this._batchedIndices,u=c.length,f;for(f=0;f<u;++f){let x=c[f].offset,b=c[f].count;if(s>=x&&s<x+b)break}c.push(new cm({color:H.clone(t),offset:s,count:a,batchIds:[e]}));let d=[],p=[],g=c[f].batchIds,m=g.length;for(let x=0;x<m;++x){let b=g[x];if(b===e)continue;let T=n[b];o[T]<s?d.push(b):p.push(b)}p.length!==0&&c.push(new cm({color:H.clone(c[f].color),offset:s+a,count:c[f].offset+c[f].count-(s+a),batchIds:p})),d.length!==0?(c[f].count=s-c[f].offset,c[f].batchIds=d):c.splice(f,1),this._batchDirty=!0};function Qoe(e,t,n,i){let o=e.classificationType,r=o!==zn.CESIUM_3D_TILE,s=o!==zn.TERRAIN,a=t.commandList,c=n.length,u,f;for(f=0;f<c;++f)r&&(u=n[f],u.pass=ve.TERRAIN_CLASSIFICATION,a.push(u)),s&&(u=n[f].derivedCommands.tileset,u.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,a.push(u));if(!(!t.invertClassification||!l(i)))for(c=i.length,f=0;f<c;++f)a.push(i[f])}function gBe(e,t){let n=e.commandList,i=t.length;for(let o=0;o<i;o+=2){let r=t[o+1];r.pass=ve.OPAQUE,n.push(r)}}function yBe(e){let t=e.debugWireframe===e._debugWireframe;if(t=t&&!(e.debugWireframe&&e._wireframeDirty),t)return;l(e._rsWireframe)||(e._rsWireframe=Ve.fromCache({}));let n,i;e.debugWireframe?(n=e._rsWireframe,i=Ne.LINES):(n=e._rsColorPass,i=Ne.TRIANGLES);let o=e._commands,r=o.length;for(let s=0;s<r;s+=2){let a=o[s+1];a.renderState=n,a.primitiveType=i}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}jp.prototype.update=function(e){let t=e.context;J2e(this,t),eBe(this,t),iBe(this),oBe(this,t);let n=e.passes;n.render&&(lBe(this,t),uBe(this,e),yBe(this),this._debugWireframe?gBe(e,this._commands):Qoe(this,e,this._commands,this._commandsIgnoreShow)),n.pick&&(fBe(this),Qoe(this,e,this._pickCommands))};jp.prototype.isDestroyed=function(){return!1};jp.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),ue(this)};var eb=jp;function yu(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,l(this._center)||(l(this._boundingVolume)?this._center=h.clone(this._boundingVolume.center):this._center=h.clone(h.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=zn.BOTH}Object.defineProperties(yu.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});yu.packedBoxLength=F.packedLength+h.packedLength;yu.packedCylinderLength=F.packedLength+2;yu.packedEllipsoidLength=F.packedLength+h.packedLength;yu.packedSphereLength=h.packedLength+1;function xBe(e){let t=new Float64Array(F.packedLength+h.packedLength),n=0;return h.pack(e._center,t,n),n+=h.packedLength,F.pack(e._modelMatrix,t,n),t}function bBe(e,t){let n=0,i=t[n++],o=t[n++],r=e._boundingVolumes=new Array(o);for(let c=0;c<o;++c)r[c]=ce.unpack(t,n),n+=ce.packedLength;let s=t[n++],a=e._batchedIndices=new Array(s);for(let c=0;c<s;++c){let u=H.unpack(t,n);n+=H.packedLength;let f=t[n++],d=t[n++],p=t[n++],g=new Array(p);for(let m=0;m<p;++m)g[m]=t[n++];a[c]=new cm({color:u,offset:f,count:d,batchIds:g})}return i}var TBe=new bi("createVectorTileGeometries",5),CBe=new H;function ABe(e){if(!l(e._primitive)&&!l(e._verticesPromise)){let t=e._boxes,n=e._boxBatchIds,i=e._cylinders,o=e._cylinderBatchIds,r=e._ellipsoids,s=e._ellipsoidBatchIds,a=e._spheres,c=e._sphereBatchIds,u=e._batchTableColors,f=e._packedBuffer;if(!l(u)){let m=0;l(e._boxes)&&(t=e._boxes=t.slice(),n=e._boxBatchIds=n.slice(),m+=n.length),l(e._cylinders)&&(i=e._cylinders=i.slice(),o=e._cylinderBatchIds=o.slice(),m+=o.length),l(e._ellipsoids)&&(r=e._ellipsoids=r.slice(),s=e._ellipsoidBatchIds=s.slice(),m+=s.length),l(e._spheres)&&(a=e._sphere=a.slice(),c=e._sphereBatchIds=c.slice(),m+=c.length),u=e._batchTableColors=new Uint32Array(m);let x=e._batchTable;for(let b=0;b<m;++b){let T=x.getColor(b,CBe);u[b]=T.toRgba()}f=e._packedBuffer=xBe(e)}let d=[];l(t)&&d.push(t.buffer,n.buffer),l(i)&&d.push(i.buffer,o.buffer),l(r)&&d.push(r.buffer,s.buffer),l(a)&&d.push(a.buffer,c.buffer),d.push(u.buffer,f.buffer);let p={boxes:l(t)?t.buffer:void 0,boxBatchIds:l(t)?n.buffer:void 0,cylinders:l(i)?i.buffer:void 0,cylinderBatchIds:l(i)?o.buffer:void 0,ellipsoids:l(r)?r.buffer:void 0,ellipsoidBatchIds:l(r)?s.buffer:void 0,spheres:l(a)?a.buffer:void 0,sphereBatchIds:l(a)?c.buffer:void 0,batchTableColors:u.buffer,packedBuffer:f.buffer},g=e._verticesPromise=TBe.scheduleTask(p,d);return l(g)?g.then(function(m){if(e.isDestroyed())return;let x=new Float64Array(m.packedBuffer);bBe(e,x)===2?e._indices=new Uint16Array(m.indices):e._indices=new Uint32Array(m.indices),e._indexOffsets=new Uint32Array(m.indexOffsets),e._indexCounts=new Uint32Array(m.indexCounts),e._positions=new Float32Array(m.positions),e._vertexBatchIds=new Uint16Array(m.vertexBatchIds),e._batchIds=new Uint16Array(m.batchIds),EBe(e),e._ready=!0}).catch(m=>{e.isDestroyed()||(e._error=m)}):void 0}}function EBe(e){l(e._primitive)||(e._primitive=new eb({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}yu.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};yu.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};yu.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};yu.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};yu.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=ABe(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};yu.prototype.isDestroyed=function(){return!1};yu.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var qp=yu;function lm(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,wBe(this,i,o)}Object.defineProperties(lm.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return l(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function SBe(e){return function(t,n){l(e._geometries)&&e._geometries.updateCommands(t,n)}}function vBe(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),u=y(e.ELLIPSOIDS_LENGTH,0),f=y(e.SPHERES_LENGTH,0);if(a>0&&l(e.BOX_BATCH_IDS)){let m=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,m,a)}if(c>0&&l(e.CYLINDER_BATCH_IDS)){let m=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,m,c)}if(u>0&&l(e.ELLIPSOID_BATCH_IDS)){let m=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,m,u)}if(f>0&&l(e.SPHERE_BATCH_IDS)){let m=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,m,f)}let d=l(n)||l(i)||l(o)||l(r),p=a>0&&!l(n)||c>0&&!l(i)||u>0&&!l(o)||f>0&&!l(r);if(d&&p)throw new se("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)&&!l(r)){let m=0;if(!l(n)&&a>0)for(n=new Uint16Array(a),s=0;s<a;++s)n[s]=m++;if(!l(i)&&c>0)for(i=new Uint16Array(c),s=0;s<c;++s)i[s]=m++;if(!l(o)&&u>0)for(o=new Uint16Array(u),s=0;s<u;++s)o[s]=m++;if(!l(r)&&f>0)for(r=new Uint16Array(f),s=0;s<f;++s)r[s]=m++}return{boxes:n,cylinders:i,ellipsoids:o,spheres:r}}var tb=Uint32Array.BYTES_PER_ELEMENT;function wBe(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=tb;let r=o.getUint32(n,!0);if(r!==1)throw new se(`Only Geometry tile version 1 is supported. Version ${r} is not.`);n+=tb;let s=o.getUint32(n,!0);if(n+=tb,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=tb,a===0)throw new se("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=tb;let u=o.getUint32(n,!0);n+=tb;let f=o.getUint32(n,!0);n+=tb;let d=Bo(i,n,a);n+=a;let p=new Uint8Array(t,n,c);n+=c;let g,m;u>0&&(g=Bo(i,n,u),n+=u,f>0&&(m=new Uint8Array(t,n,f),m=new Uint8Array(m)));let x=y(d.BOXES_LENGTH,0),b=y(d.CYLINDERS_LENGTH,0),T=y(d.ELLIPSOIDS_LENGTH,0),A=y(d.SPHERES_LENGTH,0),C=x+b+T+A,E=new Wp(e,C,g,m,SBe(e));if(e._batchTable=E,C===0)return;let v=e.tile.computedTransform,D;l(d.RTC_CENTER)&&(D=h.unpack(d.RTC_CENTER),F.multiplyByPoint(v,D,D));let O=vBe(d,p);if(x>0||b>0||T>0||A>0){let R,M,N,_;if(x>0){let S=p.byteOffset+d.BOXES.byteOffset;R=new Float32Array(p.buffer,S,qp.packedBoxLength*x)}if(b>0){let S=p.byteOffset+d.CYLINDERS.byteOffset;M=new Float32Array(p.buffer,S,qp.packedCylinderLength*b)}if(T>0){let S=p.byteOffset+d.ELLIPSOIDS.byteOffset;N=new Float32Array(p.buffer,S,qp.packedEllipsoidLength*T)}if(A>0){let S=p.byteOffset+d.SPHERES.byteOffset;_=new Float32Array(p.buffer,S,qp.packedSphereLength*A)}return e._geometries=new qp({boxes:R,boxBatchIds:O.boxes,cylinders:M,cylinderBatchIds:O.cylinders,ellipsoids:N,ellipsoidBatchIds:O.ellipsoids,spheres:_,sphereBatchIds:O.spheres,center:D,modelMatrix:v,batchTable:E,boundingVolume:e.tile.boundingVolume.boundingVolume}),e}return Promise.resolve(e)}function Joe(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}lm.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};lm.prototype.getFeature=function(e){return Joe(this),this._features[e]};lm.prototype.applyDebugSettings=function(e,t){l(this._geometries)&&this._geometries.applyDebugSettings(e,t)};lm.prototype.applyStyle=function(e){Joe(this),l(this._geometries)&&this._geometries.applyStyle(e,this._features)};lm.prototype.update=function(e,t){l(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),l(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(e,t),this._ready=!0)};lm.prototype.pick=function(e,t,n){};lm.prototype.isDestroyed=function(){return!1};lm.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};var H1=lm;var J9={};J9.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),ere(i,o,r,s);return c};J9.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s<n;s*=2)o=1&Number(a/BigInt(2)),r=1&Number(a^BigInt(o)),ere(s,i,o,r),i.x+=s*o,i.y+=s*r,a/=BigInt(4);return[i.x,i.y]};function ere(e,t,n,i){if(i!==0)return;n===1&&(t.x=e-1-t.x,t.y=e-1-t.y);let o=t.x;t.x=t.y,t.y=o}var TA=J9;var nb=30,DBe=1<<nb,IBe=1<<nb+1>>>0,eW=2*nb+1,iy=4,ire=[],ore=[],PBe=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],oy=1,CA=2,PU=[oy,0,0,oy|CA];function os(e){if(!Gt.supportsBigInt())throw new se("S2 required BigInt support");this._cellId=e,this._level=os.getLevel(e)}os.fromToken=function(e){return new os(os.getIdFromToken(e))};os.isValidId=function(e){return!(e<=0||e>>BigInt(eW)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};os.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?os.isValidId(os.getIdFromToken(e)):!1};os.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};os.getTokenFromId=function(e){let t=Math.floor(UBe(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};os.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return nb-(t>>1)};os.prototype.getChild=function(e){let t=are(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new os(n)};os.prototype.getParent=function(){let e=are(this._cellId)<<BigInt(2);return new os(this._cellId&~e+BigInt(1)|e)};os.prototype.getParentAtLevel=function(e){let t=kBe(e);return new os(this._cellId&-t|t)};os.prototype.getCenter=function(e){e=y(e,ee.WGS84);let t=RBe(this._cellId,this._level);t=h.normalize(t,t);let n=new fe.fromCartesian(t,ee.UNIT_SPHERE);return fe.toCartesian(n,e,new h)};os.prototype.getVertex=function(e,t){t=y(t,ee.WGS84);let n=OBe(this._cellId,this._level,e);n=h.normalize(n,n);let i=new fe.fromCartesian(n,ee.UNIT_SPHERE);return fe.toCartesian(i,t,new h)};os.fromFacePositionLevel=function(e,t,n){let i=(e<4?"0":"")+(e<2?"0":"")+e.toString(2),o=t.toString(2),r=Array(2*n-o.length+1).join("0"),s=Array(eW-2*n).join("0"),a=BigInt(`0b${i}${r}${o}1${s}`);return new os(a)};function RBe(e,t){let n=MBe(e,t);return LBe(n[0],n[1],n[2])}function OBe(e,t,n){let i=rre(e,t),o=NBe([i[1],i[2]],t),r=n>>1&1;return sre(i[0],o[0][r^n&1],o[1][r])}function MBe(e,t){let n=rre(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,u=(o<<1)+c,f=(r<<1)+c;return[i,u,f]}function rre(e){ire.length===0&&BBe();let t=Number(e>>BigInt(eW)),n=t&oy,i=(1<<iy)-1,o=0,r=0;for(let s=7;s>=0;s--){let c=(1<<2*(s===7?nb-7*iy:iy))-1;n+=Number(e>>BigInt(s*2*iy+1)&BigInt(c))<<2,n=ore[n];let u=s*iy;o+=n>>iy+2<<u,r+=(n>>2&i)<<u,n&=oy|CA}return[t,o,r]}function LBe(e,t,n){let i=tre(t),o=tre(n),r=RU(i),s=RU(o);return sre(e,r,s)}function sre(e,t,n){switch(e){case 0:return new h(1,t,n);case 1:return new h(-t,1,n);case 2:return new h(-t,-n,1);case 3:return new h(-1,-n,-t);case 4:return new h(n,-1,-t);default:return new h(n,t,-1)}}function RU(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function tre(e){return 1/IBe*e}function NBe(e,t){let n=[[],[]],i=FBe(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=RU(nre(r)),n[o][1]=RU(nre(s))}return n}function FBe(e){return 1<<nb-e>>>0}function nre(e){return 1/DBe*e}function ry(e,t,n,i,o,r){if(e===iy){let s=(t<<iy)+n;ire[(s<<2)+i]=(o<<2)+r,ore[(o<<2)+i]=(s<<2)+r}else{e++,t<<=1,n<<=1,o<<=2;let s=PBe[r];ry(e,t+(s[0]>>1),n+(s[0]&1),i,o,r^PU[0]),ry(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^PU[1]),ry(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^PU[2]),ry(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^PU[3])}}function BBe(){ry(0,0,0,0,0,0),ry(0,0,0,oy,0,oy),ry(0,0,0,CA,0,CA),ry(0,0,0,oy|CA,0,oy|CA)}function are(e){return e&~e+BigInt(1)}function kBe(e){return BigInt(1)<<BigInt(2*(nb-e))}var VBe=[64,0,1,39,2,15,40,23,3,12,16,59,41,19,24,54,4,64,13,10,17,62,60,28,42,30,20,51,25,44,55,47,5,32,65,38,14,22,11,58,18,53,63,9,61,27,29,50,43,46,31,37,21,57,52,8,26,49,45,36,56,7,48,35,6,34,33,0];function UBe(e){return VBe[(-e&e)%BigInt(67)]}var Yp=os;function zBe(e,t){return l(e)&&l(e.extensions)&&l(e.extensions[t])}var si=zBe;function tW(e){let t=e.lengthBits,n=e.availableCount,i=e.constant,o=e.bitstream;if(l(i))n=t;else{let r=Math.ceil(t/8);if(o.length!==r)throw new se(`Availability bitstream must be exactly ${r} bytes long to store ${t} bits. Actual bitstream was ${o.length} bytes long.`);let s=y(e.computeAvailableCountEnabled,!1);!l(n)&&s&&(n=HBe(o,t))}this._lengthBits=t,this._availableCount=n,this._constant=i,this._bitstream=o}function HBe(e,t){let n=0;for(let i=0;i<t;i++){let o=i>>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(tW.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});tW.prototype.getBit=function(e){if(l(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var AA=tW;function Xp(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(Xp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Xp.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};Xp.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};Xp.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};Xp.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};Xp.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};Xp.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};Xp.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var EA=Xp;var OU={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};OU.getBranchingFactor=function(e){switch(e){case OU.OCTREE:return 8;case OU.QUADTREE:return 4}};var rs=Object.freeze(OU);function ma(){}Object.defineProperties(ma.prototype,{class:{get:function(){de.throwInstantiationError()}}});ma.prototype.hasProperty=function(e){de.throwInstantiationError()};ma.prototype.hasPropertyBySemantic=function(e){de.throwInstantiationError()};ma.prototype.getPropertyIds=function(e){de.throwInstantiationError()};ma.prototype.getProperty=function(e){de.throwInstantiationError()};ma.prototype.setProperty=function(e,t){de.throwInstantiationError()};ma.prototype.getPropertyBySemantic=function(e){de.throwInstantiationError()};ma.prototype.setPropertyBySemantic=function(e,t){de.throwInstantiationError()};ma.hasProperty=function(e,t,n){if(l(t[e]))return!0;let i=n.properties;if(!l(i))return!1;let o=i[e];return!!(l(o)&&l(o.default))};ma.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return!1;let o=i[e];return l(o)};ma.getPropertyIds=function(e,t,n){n=l(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&l(e[o])&&n.push(o);let i=t.properties;if(l(i))for(let o in i)i.hasOwnProperty(o)&&!l(e[o])&&l(i[o].default)&&n.push(o);return n};ma.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!l(o)&&l(i.default))return o=He(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(l(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};ma.setProperty=function(e,t,n,i){if(!l(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;return l(r)&&(o=r[e]),l(o)&&(t=o.packVectorAndMatrixTypes(t,!0),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};ma.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return;let o=i[e];if(l(o))return ma.getProperty(o.id,t,n)};ma.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!l(o))return!1;let r=i.propertiesBySemantic[e];return l(r)?ma.setProperty(r.id,t,n,i):!1};var kn=ma;function Kp(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Kp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Kp.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Kp.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Kp.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Kp.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};Kp.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};Kp.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};Kp.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var G1=Kp;var Bt={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};Bt.getMinimum=function(e){switch(e){case Bt.INT8:return-128;case Bt.UINT8:return 0;case Bt.INT16:return-32768;case Bt.UINT16:return 0;case Bt.INT32:return-2147483648;case Bt.UINT32:return 0;case Bt.INT64:return Gt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case Bt.UINT64:return Gt.supportsBigInt()?BigInt(0):0;case Bt.FLOAT32:return-34028234663852886e22;case Bt.FLOAT64:return-Number.MAX_VALUE}};Bt.getMaximum=function(e){switch(e){case Bt.INT8:return 127;case Bt.UINT8:return 255;case Bt.INT16:return 32767;case Bt.UINT16:return 65535;case Bt.INT32:return 2147483647;case Bt.UINT32:return 4294967295;case Bt.INT64:return Gt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case Bt.UINT64:return Gt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case Bt.FLOAT32:return 34028234663852886e22;case Bt.FLOAT64:return Number.MAX_VALUE}};Bt.isIntegerType=function(e){switch(e){case Bt.INT8:case Bt.UINT8:case Bt.INT16:case Bt.UINT16:case Bt.INT32:case Bt.UINT32:case Bt.INT64:case Bt.UINT64:return!0;default:return!1}};Bt.isUnsignedIntegerType=function(e){switch(e){case Bt.UINT8:case Bt.UINT16:case Bt.UINT32:case Bt.UINT64:return!0;default:return!1}};Bt.isVectorCompatible=function(e){switch(e){case Bt.INT8:case Bt.UINT8:case Bt.INT16:case Bt.UINT16:case Bt.INT32:case Bt.UINT32:case Bt.FLOAT32:case Bt.FLOAT64:return!0;default:return!1}};Bt.normalize=function(e,t){return Math.max(Number(e)/Number(Bt.getMaximum(t)),-1)};Bt.unnormalize=function(e,t){let n=Bt.getMaximum(t),i=Bt.isUnsignedIntegerType(t)?0:-n;return e=P.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===Bt.INT64||t===Bt.UINT64)&&Gt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e<i?i:e};Bt.applyValueTransform=function(e,t,n){return n*e+t};Bt.unapplyValueTransform=function(e,t,n){return n===0?0:(e-t)/n};Bt.getSizeInBytes=function(e){switch(e){case Bt.INT8:case Bt.UINT8:return 1;case Bt.INT16:case Bt.UINT16:return 2;case Bt.INT32:case Bt.UINT32:return 4;case Bt.INT64:case Bt.UINT64:return 8;case Bt.FLOAT32:return 4;case Bt.FLOAT64:return 8}};Bt.fromComponentDatatype=function(e){switch(e){case X.BYTE:return Bt.INT8;case X.UNSIGNED_BYTE:return Bt.UINT8;case X.SHORT:return Bt.INT16;case X.UNSIGNED_SHORT:return Bt.UINT16;case X.INT:return Bt.INT32;case X.UNSIGNED_INT:return Bt.UINT32;case X.FLOAT:return Bt.FLOAT32;case X.DOUBLE:return Bt.FLOAT64}};Bt.toComponentDatatype=function(e){switch(e){case Bt.INT8:return X.BYTE;case Bt.UINT8:return X.UNSIGNED_BYTE;case Bt.INT16:return X.SHORT;case Bt.UINT16:return X.UNSIGNED_SHORT;case Bt.INT32:return X.INT;case Bt.UINT32:return X.UNSIGNED_INT;case Bt.FLOAT32:return X.FLOAT;case Bt.FLOAT64:return X.DOUBLE}};var Ut=Object.freeze(Bt);var Yo={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",BOOLEAN:"BOOLEAN",STRING:"STRING",ENUM:"ENUM"};Yo.isVectorType=function(e){switch(e){case Yo.VEC2:case Yo.VEC3:case Yo.VEC4:return!0;default:return!1}};Yo.isMatrixType=function(e){switch(e){case Yo.MAT2:case Yo.MAT3:case Yo.MAT4:return!0;default:return!1}};Yo.getComponentCount=function(e){switch(e){case Yo.SCALAR:case Yo.STRING:case Yo.ENUM:case Yo.BOOLEAN:return 1;case Yo.VEC2:return 2;case Yo.VEC3:return 3;case Yo.VEC4:return 4;case Yo.MAT2:return 4;case Yo.MAT3:return 9;case Yo.MAT4:return 16}};Yo.getMathType=function(e){switch(e){case Yo.VEC2:return z;case Yo.VEC3:return h;case Yo.VEC4:return ie;case Yo.MAT2:return Oi;case Yo.MAT3:return $;case Yo.MAT4:return F;default:return}};var dt=Object.freeze(Yo);function Fa(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.type,i=e.componentType,o=e.enumType,r=l(i)&&Ut.isIntegerType(i)&&y(e.normalized,!1);this._id=t,this._name=e.name,this._description=e.description,this._semantic=e.semantic,this._isLegacyExtension=e.isLegacyExtension,this._type=n,this._componentType=i,this._enumType=o,this._valueType=l(o)?o.valueType:i,this._isArray=y(e.isArray,!1),this._isVariableLengthArray=y(e.isVariableLengthArray,!1),this._arrayLength=e.arrayLength,this._min=He(e.min,!0),this._max=He(e.max,!0),this._normalized=r;let s=He(e.offset,!0),a=He(e.scale,!0),c=l(s)||l(a),u=!0;l(s)||(s=this.expandConstant(0,u)),l(a)||(a=this.expandConstant(1,u)),this._offset=s,this._scale=a,this._hasValueTransform=c,this._noData=He(e.noData,!0),this._default=He(e.default,!0),this._required=y(e.required,!0),this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}Fa.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.property,i=GBe(n),o=WBe(n,e.enums),r;return l(i)?i?r=l(n.optional)?!n.optional:!0:r=y(n.required,!1):r=!1,new Fa({id:t,type:o.type,componentType:o.componentType,enumType:o.enumType,isArray:o.isArray,isVariableLengthArray:o.isVariableLengthArray,arrayLength:o.arrayLength,normalized:n.normalized,min:n.min,max:n.max,offset:n.offset,scale:n.scale,noData:n.noData,default:n.default,required:r,name:n.name,description:n.description,semantic:n.semantic,extras:n.extras,extensions:n.extensions,isLegacyExtension:i})};Object.defineProperties(Fa.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},type:{get:function(){return this._type}},enumType:{get:function(){return this._enumType}},componentType:{get:function(){return this._componentType}},valueType:{get:function(){return this._valueType}},isArray:{get:function(){return this._isArray}},isVariableLengthArray:{get:function(){return this._isVariableLengthArray}},arrayLength:{get:function(){return this._arrayLength}},normalized:{get:function(){return this._normalized}},max:{get:function(){return this._max}},min:{get:function(){return this._min}},noData:{get:function(){return this._noData}},default:{get:function(){return this._default}},required:{get:function(){return this._required}},semantic:{get:function(){return this._semantic}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});function GBe(e){if(e.type==="ARRAY")return!0;let t=e.type;if(t===dt.SCALAR||dt.isMatrixType(t)||dt.isVectorType(t))return!1;if(l(Ut[t]))return!0;if(l(e.noData)||l(e.scale)||l(e.offset)||l(e.required)||l(e.count)||l(e.array)||l(e.optional))return!1}function WBe(e,t){let n=e.type,i=e.componentType,o=n==="ARRAY",r,s,a;o?(r=!0,s=e.componentCount,a=!l(s)):e.array?(r=!0,s=e.count,a=!l(e.count)):(r=!1,s=void 0,a=!1);let c;if(l(e.enumType)&&(c=t[e.enumType]),n===dt.ENUM)return{type:n,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&i===dt.ENUM)return{type:i,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===dt.SCALAR||dt.isMatrixType(n)||dt.isVectorType(n))return{type:n,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===dt.BOOLEAN||n===dt.STRING)return{type:n,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&(i===dt.BOOLEAN||i===dt.STRING))return{type:i,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(i)&&l(Ut[i]))return{type:dt.SCALAR,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(Ut[n]))return{type:dt.SCALAR,componentType:n,enumType:void 0,valueType:n,isArray:r,isVariableLengthArray:a,arrayLength:s}}Fa.prototype.normalize=function(e){return this._normalized?nW(e,this._valueType,Ut.normalize):e};Fa.prototype.unnormalize=function(e){return this._normalized?nW(e,this._valueType,Ut.unnormalize):e};Fa.prototype.applyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Fa.valueTransformInPlace(e,this._offset,this._scale,Ut.applyValueTransform)};Fa.prototype.unapplyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Fa.valueTransformInPlace(e,this._offset,this._scale,Ut.unapplyValueTransform)};Fa.prototype.expandConstant=function(e,t){t=y(t,!1);let n=this._isArray,i=this._arrayLength,o=dt.getComponentCount(this._type),r=n&&o>1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};Fa.prototype.handleNoData=function(e){let t=this._noData;if(!l(t))return e;if(!fre(e,t))return e};function fre(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!fre(e[n],t[n]))return!1;return!0}Fa.prototype.unpackVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=dt.getMathType(this._type),i=this._isArray,o=dt.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};Fa.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=dt.getMathType(this._type),i=this._isArray,o=dt.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};Fa.prototype.validate=function(e){if(!(!l(e)&&l(this._default)))return this._required&&!l(e)?"required property must have a value":this._isArray?jBe(this,e):dre(this,e)};function jBe(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i<n;i++){let o=dre(e,t[i]);if(l(o))return o}}function dre(e,t){let n=e._type,i=e._componentType,o=e._enumType,r=e._normalized;return dt.isVectorType(n)?qBe(t,n,i):dt.isMatrixType(n)?YBe(t,n,i):n===dt.STRING?XBe(t):n===dt.BOOLEAN?KBe(t):n===dt.ENUM?ZBe(t,o):$Be(t,i,r)}function qBe(e,t,n){if(!Ut.isVectorCompatible(n))return`componentType ${n} is incompatible with vector type ${t}`;if(t===dt.VEC2&&!(e instanceof z))return`vector value ${e} must be a Cartesian2`;if(t===dt.VEC3&&!(e instanceof h))return`vector value ${e} must be a Cartesian3`;if(t===dt.VEC4&&!(e instanceof ie))return`vector value ${e} must be a Cartesian4`}function YBe(e,t,n){if(!Ut.isVectorCompatible(n))return`componentType ${n} is incompatible with matrix type ${t}`;if(t===dt.MAT2&&!(e instanceof Oi))return`matrix value ${e} must be a Matrix2`;if(t===dt.MAT3&&!(e instanceof $))return`matrix value ${e} must be a Matrix3`;if(t===dt.MAT4&&!(e instanceof F))return`matrix value ${e} must be a Matrix4`}function XBe(e){if(typeof e!="string")return MU(e,dt.STRING)}function KBe(e){if(typeof e!="boolean")return MU(e,dt.BOOLEAN)}function ZBe(e,t){let n=typeof e;if(l(t))return n!=="string"||!l(t.valuesByName[e])?`value ${e} is not a valid enum name for ${t.id}`:void 0}function $Be(e,t,n){let i=typeof e;switch(t){case Ut.INT8:case Ut.UINT8:case Ut.INT16:case Ut.UINT16:case Ut.INT32:case Ut.UINT32:case Ut.FLOAT32:case Ut.FLOAT64:return i!=="number"?MU(e,t):isFinite(e)?lre(e,t,n):ure(e,t);case Ut.INT64:case Ut.UINT64:return i!=="number"&&i!=="bigint"?MU(e,t):i==="number"&&!isFinite(e)?ure(e,t):lre(e,t,n)}}function MU(e,t){return`value ${e} does not match type ${t}`}function cre(e,t,n){let i=`value ${e} is out of range for type ${t}`;return n&&(i+=" (normalized)"),i}function lre(e,t,n){if(n){let i=Ut.isUnsignedIntegerType(t)?0:-1;return e<i||e>1?cre(e,t,n):void 0}if(e<Ut.getMinimum(t)||e>Ut.getMaximum(t))return cre(e,t,n)}function ure(e,t){return`value ${e} of type ${t} must be finite`}function nW(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i<e.length;i++)e[i]=nW(e[i],t,n);return e}Fa.valueTransformInPlace=function(e,t,n,i){if(!Array.isArray(e))return i(e,t,n);for(let o=0;o<e.length;o++)e[o]=Fa.valueTransformInPlace(e[o],t[o],n[o],i);return e};var um=Fa;function W1(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.property,i=e.classProperty,o=e.bufferViews,r=i.type,s=i.isArray,a=i.isVariableLengthArray,c=i.valueType,u=i.enumType,f=r===dt.STRING,d=r===dt.BOOLEAN,p=0,g;if(a){let _=y(n.arrayOffsetType,n.offsetType);_=y(Ut[_],Ut.UINT32);let S=y(n.arrayOffsets,n.arrayOffsetBufferView);g=new iW(o[S],_,t+1),p+=g.typedArray.byteLength}let m=dt.getComponentCount(r),x;a?x=g.get(t)-g.get(0):s?x=t*i.arrayLength:x=t;let b=m*x,T;if(f){let _=y(n.stringOffsetType,n.offsetType);_=y(Ut[_],Ut.UINT32);let S=y(n.stringOffsets,n.stringOffsetBufferView);T=new iW(o[S],_,b+1),p+=T.typedArray.byteLength}(f||d)&&(c=Ut.UINT8);let A;f?A=T.get(b)-T.get(0):d?A=Math.ceil(b/8):A=b;let C=y(n.values,n.bufferView),E=new iW(o[C],c,A);p+=E.typedArray.byteLength;let v=n.offset,D=n.scale,O=i.hasValueTransform||l(v)||l(D);v=y(v,i.offset),D=y(D,i.scale),v=hre(v),D=hre(D);let R,M,N=this;f?R=function(_){return e3e(_,N._values,N._stringOffsets)}:d?(R=function(_){return t3e(_,N._values)},M=function(_,S){n3e(_,N._values,S)}):l(u)?(R=function(_){let S=N._values.get(_);return u.namesByValue[S]},M=function(_,S){let w=u.valuesByName[S];N._values.set(_,w)}):(R=function(_){return N._values.get(_)},M=function(_,S){N._values.set(_,S)}),this._arrayOffsets=g,this._stringOffsets=T,this._values=E,this._classProperty=i,this._count=t,this._vectorComponentCount=m,this._min=n.min,this._max=n.max,this._offset=v,this._scale=D,this._hasValueTransform=O,this._getValue=R,this._setValue=M,this._unpackedValues=void 0,this._extras=n.extras,this._extensions=n.extensions,this._byteLength=p}Object.defineProperties(W1.prototype,{hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){return this._byteLength}}});W1.prototype.get=function(e){let t=QBe(this,e);return t=this._classProperty.handleNoData(t),l(t)?(t=this._classProperty.normalize(t),t=u3e(this,t),this._classProperty.unpackVectorAndMatrixTypes(t)):(t=this._classProperty.default,this._classProperty.unpackVectorAndMatrixTypes(t))};W1.prototype.set=function(e,t){let n=this._classProperty;t=n.packVectorAndMatrixTypes(t),t=f3e(this,t),t=n.unnormalize(t),JBe(this,e,t)};W1.prototype.getTypedArray=function(){if(l(this._values))return this._values.typedArray};function hre(e){if(!Array.isArray(e))return e;let t=[];for(let n=0;n<e.length;n++){let i=e[n];Array.isArray(i)?t.push.apply(t,i):t.push(i)}return t}function QBe(e,t){pre(e)&&_re(e);let n=e._classProperty,i=n.isArray,o=n.type,r=dt.getComponentCount(o);if(l(e._unpackedValues)){let s=e._unpackedValues[t];return i?He(s,!0):s}return!i&&r===1?e._getValue(t):mre(e,n,t)}function mre(e,t,n){let i,o;if(t.isVariableLengthArray){i=e._arrayOffsets.get(n),o=e._arrayOffsets.get(n+1)-i;let s=dt.getComponentCount(t.type);i*=s,o*=s}else{let a=y(t.arrayLength,1)*e._vectorComponentCount;i=n*a,o=a}let r=new Array(o);for(let s=0;s<o;s++)r[s]=e._getValue(i+s);return r}function JBe(e,t,n){c3e(e,t,n)&&_re(e);let i=e._classProperty,o=i.isArray,r=i.type,s=dt.getComponentCount(r);if(l(e._unpackedValues)){i.isArray&&(n=He(n,!0)),e._unpackedValues[t]=n;return}if(!o&&s===1){e._setValue(t,n);return}let a,c;if(i.isVariableLengthArray)a=e._arrayOffsets.get(t),c=e._arrayOffsets.get(t+1)-a;else{let f=y(i.arrayLength,1)*e._vectorComponentCount;a=t*f,c=f}for(let u=0;u<c;++u)e._setValue(a+u,n[u])}function e3e(e,t,n){let i=n.get(e),o=n.get(e+1)-i;return wl(t.typedArray,i,o)}function t3e(e,t){let n=e>>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function n3e(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<<o:t.typedArray[i]&=~(1<<o)}function i3e(e,t){let n=t.dataView,i=e*8,o=0,r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function o3e(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<<BigInt(a*8))}return r&&(o=-o),o}function r3e(e,t){let n=t.dataView,i=e*8,o=n.getUint32(i,!0),r=n.getUint32(i+4,!0);return o+4294967296*r}function s3e(e,t){let n=t.dataView,i=e*8,o=BigInt(n.getUint32(i,!0)),r=BigInt(n.getUint32(i+4,!0));return o+BigInt(4294967296)*r}function a3e(e){switch(e){case Ut.INT8:return X.BYTE;case Ut.UINT8:return X.UNSIGNED_BYTE;case Ut.INT16:return X.SHORT;case Ut.UINT16:return X.UNSIGNED_SHORT;case Ut.INT32:return X.INT;case Ut.UINT32:return X.UNSIGNED_INT;case Ut.FLOAT32:return X.FLOAT;case Ut.FLOAT64:return X.DOUBLE}}function pre(e){if(l(e._unpackedValues))return!1;let t=e._classProperty,n=t.type,i=t.valueType;return n===dt.STRING||i===Ut.INT64&&!Gt.supportsBigInt64Array()||i===Ut.UINT64&&!Gt.supportsBigUint64Array()}function c3e(e,t,n){if(pre(e))return!0;let i=e._arrayOffsets;if(l(i)){let o=i.get(t+1)-i.get(t),r=n.length;if(o!==r)return!0}return!1}function _re(e){e._unpackedValues=l3e(e),e._arrayOffsets=void 0,e._stringOffsets=void 0,e._values=void 0}function l3e(e){let t=e._count,n=new Array(t),i=e._classProperty,o=i.isArray,r=i.type,s=dt.getComponentCount(r);if(!o&&s===1){for(let a=0;a<t;++a)n[a]=e._getValue(a);return n}for(let a=0;a<t;a++)n[a]=mre(e,i,a);return n}function u3e(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:um.valueTransformInPlace(t,e._offset,e._scale,Ut.applyValueTransform)}function f3e(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:um.valueTransformInPlace(t,e._offset,e._scale,Ut.unapplyValueTransform)}function iW(e,t,n){let i=this,o,r,s;if(t===Ut.INT64)Gt.supportsBigInt()?Gt.supportsBigInt64Array()?(o=new BigInt64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return o3e(a,i)}):(bt("INT64 type is not fully supported on this platform. Values greater than 2^53 - 1 or less than -(2^53 - 1) may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return i3e(a,i)});else if(t===Ut.UINT64)Gt.supportsBigInt()?Gt.supportsBigUint64Array()?(o=new BigUint64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return s3e(a,i)}):(bt("UINT64 type is not fully supported on this platform. Values greater than 2^53 - 1 may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return r3e(a,i)});else{let a=a3e(t);o=X.createArrayBufferView(a,e.buffer,e.byteOffset,n),s=function(c,u){i.typedArray[c]=u}}l(r)||(r=function(a){return i.typedArray[a]}),this.typedArray=o,this.dataView=new DataView(o.buffer,o.byteOffset),this.get=r,this.set=s,this._componentType=t}var j1=W1;function Hd(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.class,i=0,o={};if(l(e.properties)){for(let r in e.properties)if(e.properties.hasOwnProperty(r)){let s=new j1({count:t,property:e.properties[r],classProperty:n.properties[r],bufferViews:e.bufferViews});o[r]=s,i+=s.byteLength}}this._count=t,this._class=n,this._properties=o,this._byteLength=i}Object.defineProperties(Hd.prototype,{count:{get:function(){return this._count}},class:{get:function(){return this._class}},byteLength:{get:function(){return this._byteLength}}});Hd.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Hd.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Hd.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Hd.prototype.getProperty=function(e,t){let n=this._properties[t],i;return l(n)?i=n.get(e):i=d3e(this._class,t),i};Hd.prototype.setProperty=function(e,t,n){let i=this._properties[t];return l(i)?(i.set(e,n),!0):!1};Hd.prototype.getPropertyBySemantic=function(e,t){let n,i=this._class.propertiesBySemantic;if(l(i)&&(n=i[t]),l(n))return this.getProperty(e,n.id)};Hd.prototype.setPropertyBySemantic=function(e,t,n){let i,o=this._class.propertiesBySemantic;return l(o)&&(i=o[t]),l(i)?this.setProperty(e,i.id,n):!1};Hd.prototype.getPropertyTypedArray=function(e){let t=this._properties[e];if(l(t))return t.getTypedArray()};Hd.prototype.getPropertyTypedArrayBySemantic=function(e){let t,n=this._class.propertiesBySemantic;if(l(n)&&(t=n[e]),l(t))return this.getPropertyTypedArray(t.id)};function d3e(e,t){let n=e.properties;if(!l(n))return;let i=n[t];if(l(i)&&l(i.default)){let o=i.default;return i.isArray&&(o=He(o,!0)),o=i.normalize(o),i.unpackVectorAndMatrixTypes(o)}}var Pl=Hd;function sy(){}Object.defineProperties(sy.prototype,{cacheKey:{get:function(){de.throwInstantiationError()}}});sy.prototype.load=function(){de.throwInstantiationError()};sy.prototype.unload=function(){};sy.prototype.process=function(e){return!1};sy.prototype.getError=function(e,t){l(t)&&l(t.message)&&(e+=` +${t.message}`);let n=new se(e);return l(t)&&(n.stack=`Original stack: ${t.stack} Handler stack: -${n.stack}`),n};ty.prototype.isDestroyed=function(){return!1};ty.prototype.destroy=function(){return this.unload(),ue(this)};var Zi=ty;var YBe={UNLOADED:0,LOADING:1,LOADED:2,PROCESSING:3,READY:4,FAILED:5},mt=Object.freeze(YBe);function qp(e){e=y(e,y.EMPTY_OBJECT);let t=e.typedArray,n=e.resource,i=e.cacheKey;this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(qp.prototype=Object.create(Zi.prototype),qp.prototype.constructor=qp);Object.defineProperties(qp.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});qp.prototype.load=async function(){return l(this._promise)?this._promise:l(this._typedArray)?(this._promise=Promise.resolve(this),this._promise):(this._promise=XBe(this),this._promise)};async function XBe(e){let t=e._resource;e._state=mt.LOADING;try{let n=await qp._fetchArrayBuffer(t);return e.isDestroyed()?void 0:(e._typedArray=new Uint8Array(n),e._state=mt.READY,e)}catch(n){if(e.isDestroyed())return;e._state=mt.FAILED;let i=`Failed to load external buffer: ${t.url}`;throw e.getError(i,n)}}qp._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()};qp.prototype.unload=function(){this._typedArray=void 0};var Qx=qp;var ore=Bo(ire(),1);function Jx(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.bufferViewId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.bufferViews[i],c=a.buffer,u=a.byteOffset,f=a.byteLength,d=!1,p,g,m,x;if(ai(a,"EXT_meshopt_compression")){let T=a.extensions.EXT_meshopt_compression;c=T.buffer,u=y(T.byteOffset,0),f=T.byteLength,d=!0,p=T.byteStride,g=T.count,m=T.mode,x=y(T.filter,"NONE")}let b=n.buffers[c];this._hasMeshopt=d,this._meshoptByteStride=p,this._meshoptCount=g,this._meshoptMode=m,this._meshoptFilter=x,this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._buffer=b,this._bufferId=c,this._byteOffset=u,this._byteLength=f,this._cacheKey=s,this._bufferLoader=void 0,this._typedArray=void 0,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(Jx.prototype=Object.create(Zi.prototype),Jx.prototype.constructor=Jx);Object.defineProperties(Jx.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});async function QBe(e){try{let t=JBe(e);if(e._bufferLoader=t,await t.load(),e.isDestroyed())return;let n=t.typedArray,i=new Uint8Array(n.buffer,n.byteOffset+e._byteOffset,e._byteLength);if(e.unload(),e._typedArray=i,e._hasMeshopt){let o=e._meshoptCount,r=e._meshoptByteStride,s=new Uint8Array(o*r);ore.MeshoptDecoder.decodeGltfBuffer(s,o,r,e._typedArray,e._meshoptMode,e._meshoptFilter),e._typedArray=s}return e._state=mt.READY,e}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=mt.FAILED,e.getError("Failed to load buffer view",t)}}Jx.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=mt.LOADING,this._promise=QBe(this),this._promise)};function JBe(e){let t=e._resourceCache,n=e._buffer;if(l(n.uri)){let o=e._baseResource.getDerivedResource({url:n.uri});return t.getExternalBufferLoader({resource:o})}return t.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:e._bufferId})}Jx.prototype.unload=function(){l(this._bufferLoader)&&!this._bufferLoader.isDestroyed()&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var TA=Jx;function Fr(){}Fr._maxDecodingConcurrency=Math.max(Gt.hardwareConcurrency-1,1);Fr._decoderTaskProcessor=void 0;Fr._taskProcessorReady=!1;Fr._error=void 0;Fr._getDecoderTaskProcessor=function(){if(!l(Fr._decoderTaskProcessor)){let e=new yi("decodeDraco",Fr._maxDecodingConcurrency);e.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(t){t?Fr._taskProcessorReady=!0:Fr._error=new ce("Draco decoder could not be initialized.")}).catch(t=>{Fr._error=t}),Fr._decoderTaskProcessor=e}return Fr._decoderTaskProcessor};Fr.decodePointCloud=function(e){let t=Fr._getDecoderTaskProcessor();if(l(Fr._error))throw Fr._error;if(Fr._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};Fr.decodeBufferView=function(e){let t=Fr._getDecoderTaskProcessor();if(l(Fr._error))throw Fr._error;if(Fr._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var Yp=Fr;function ny(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=mt.UNLOADED,this._promise=void 0,this._dracoError=void 0}l(Object.create)&&(ny.prototype=Object.create(Zi.prototype),ny.prototype.constructor=ny);Object.defineProperties(ny.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function e3e(e){let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._draco.bufferView,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._bufferViewTypedArray=n.typedArray,e._state=mt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;rre(e,n)}}ny.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=mt.LOADING,this._promise=e3e(this),this._promise)};function rre(e,t){throw e.unload(),e._state=mt.FAILED,e.getError("Failed to load Draco",t)}async function t3e(e,t){try{let n=await t;return e.isDestroyed()?void 0:(e.unload(),e._decodedData={indices:n.indexArray,vertexAttributes:n.attributeData},e._state=mt.READY,e._baseResource)}catch(n){if(e.isDestroyed())return;e._dracoError=n}}ny.prototype.process=function(e){if(this._state===mt.READY)return!0;if(this._state!==mt.PROCESSING||(l(this._dracoError)&&rre(this,this._dracoError),!l(this._bufferViewTypedArray))||l(this._decodePromise))return!1;let t=this._draco,i=this._gltf.bufferViews,o=t.bufferView,r=i[o],s=t.attributes,a={array:new Uint8Array(this._bufferViewTypedArray),bufferView:r,compressedAttributes:s,dequantizeInShader:!0},c=Yp.decodeBufferView(a);if(!l(c))return!1;this._decodePromise=t3e(this,c)};ny.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var CA=ny;function n3e(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return we.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(we.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new we({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return l(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return l(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var eb=n3e;function Xp(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,u=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=u,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(Xp.prototype=Object.create(Zi.prototype),Xp.prototype.constructor=Xp);Object.defineProperties(Xp.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});Xp.prototype.load=function(){return l(this._promise)?this._promise:l(this._bufferViewId)?(this._promise=i3e(this),this._promise):(this._promise=o3e(this),this._promise)};function sre(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}async function i3e(e){e._state=mt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=n,await n.load(),e.isDestroyed())return;let i=n.typedArray,o=await s3e(i);if(e.isDestroyed())return;let r=sre(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=mt.READY,e}catch(n){return e.isDestroyed()?void 0:are(e,n,"Failed to load embedded image")}}async function o3e(e){e._state=mt.LOADING;let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});try{let o=await c3e(i);if(e.isDestroyed())return;let r=sre(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=mt.READY,e}catch(o){return e.isDestroyed()?void 0:are(e,o,`Failed to load image: ${n}`)}}function are(e,t,n){return e.unload(),e._state=mt.FAILED,Promise.reject(e.getError(n,t))}function r3e(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new ce("Image format is not recognized")}async function s3e(e){let t=r3e(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return bl(n)}return Xp._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var a3e=/(^data:image\/ktx2)|(\.ktx2$)/i;function c3e(e){let t=e.getUrlComponent(!1,!0);return a3e.test(t)?bl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}Xp.prototype.unload=function(){l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};Xp._loadImageFromTypedArray=eb;var AA=Xp;var l3e={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},ka=Object.freeze(l3e);function iy(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),u=y(e.loadBuffer,!1),f=y(e.loadTypedArray,!1),d=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=d,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=u,this._loadTypedArray=f,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(iy.prototype=Object.create(Zi.prototype),iy.prototype.constructor=iy);Object.defineProperties(iy.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var u3e=new Q9;iy.prototype.load=async function(){return l(this._promise)?this._promise:l(this._draco)?(this._promise=f3e(this),this._promise):(this._promise=d3e(this),this._promise)};async function f3e(e){e._state=mt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=mt.LOADED,e)}catch(n){if(e.isDestroyed())return;$9(e,n)}}async function d3e(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView;e._state=mt.LOADING;let r=e._resourceCache;try{let s=r.getBufferViewLoader({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=s,await s.load(),e.isDestroyed())return;let a=s.typedArray;return e._typedArray=h3e(e,a),e._state=mt.PROCESSING,e}catch(s){if(e.isDestroyed())return;$9(e,s)}}function h3e(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=Fe.getSizeInBytes(s),c=t.buffer,u=t.byteOffset+o.byteOffset;if(u%a!==0){let d=r*a,p=new Uint8Array(c,u,d);c=new Uint8Array(p).buffer,u=0,fs("index-buffer-unaligned",`The index array is not aligned to a ${a}-byte boundary.`)}let f;return s===Fe.UNSIGNED_BYTE?f=new Uint8Array(c,u,r):s===Fe.UNSIGNED_SHORT?f=new Uint16Array(c,u,r):s===Fe.UNSIGNED_INT&&(f=new Uint32Array(c,u,r)),f}function $9(e,t){throw e.unload(),e._state=mt.FAILED,e.getError("Failed to load index buffer",t)}function Q9(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}Q9.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};Q9.prototype.execute=function(){this.buffer=cre(this.typedArray,this.indexDatatype,this.context)};function cre(e,t,n){let i=pt.createIndexBuffer({typedArray:e,context:n,usage:ke.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}iy.prototype.process=function(e){if(this._state===mt.READY)return!0;if(this._state!==mt.LOADED&&this._state!==mt.PROCESSING)return!1;let t=this._typedArray,n=this._indexDatatype;if(l(this._dracoLoader))try{this._dracoLoader.process(e)&&(t=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=t,n=X.fromTypedArray(t),this._indexDatatype=n)}catch(o){$9(this,o)}if(!l(t))return!1;let i;if(this._loadBuffer&&this._asynchronous){let o=u3e;if(o.set(t,n,e.context),!e.jobScheduler.execute(o,ka.BUFFER))return!1;i=o.buffer}else this._loadBuffer&&(i=cre(t,n,e.context));return this.unload(),this._buffer=i,this._typedArray=this._loadTypedArray?t:void 0,this._state=mt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};iy.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var EA=iy;function m3e(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var Ss=m3e;function p3e(e,t){return l(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var cr=p3e;function qt(){}qt.objectLegacy=function(e,t){if(l(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}}};qt.object=function(e,t){if(l(e)){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=t(o,i);if(l(r))return r}}};qt.topLevel=function(e,t,n){let i=e[t];return l(i)&&!Array.isArray(i)?qt.objectLegacy(i,n):qt.object(i,n)};qt.accessor=function(e,t){return qt.topLevel(e,"accessors",t)};qt.accessorWithSemantic=function(e,t,n){let i={};return qt.mesh(e,function(o){return qt.meshPrimitive(o,function(r){let s=qt.meshPrimitiveAttribute(r,function(a,c){if(c.indexOf(t)===0&&!l(i[a])){i[a]=!0;let u=n(a);if(l(u))return u}});return l(s)?s:qt.meshPrimitiveTarget(r,function(a){return qt.meshPrimitiveTargetAttribute(a,function(c,u){if(u.indexOf(t)===0&&!l(i[c])){i[c]=!0;let f=n(c);if(l(f))return f}})})})})};qt.accessorContainingVertexAttributeData=function(e,t){let n={};return qt.mesh(e,function(i){return qt.meshPrimitive(i,function(o){let r=qt.meshPrimitiveAttribute(o,function(s){if(!l(n[s])){n[s]=!0;let a=t(s);if(l(a))return a}});return l(r)?r:qt.meshPrimitiveTarget(o,function(s){return qt.meshPrimitiveTargetAttribute(s,function(a){if(!l(n[a])){n[a]=!0;let c=t(a);if(l(c))return c}})})})})};qt.accessorContainingIndexData=function(e,t){let n={};return qt.mesh(e,function(i){return qt.meshPrimitive(i,function(o){let r=o.indices;if(l(r)&&!l(n[r])){n[r]=!0;let s=t(r);if(l(s))return s}})})};qt.animation=function(e,t){return qt.topLevel(e,"animations",t)};qt.animationChannel=function(e,t){let n=e.channels;return qt.object(n,t)};qt.animationSampler=function(e,t){let n=e.samplers;return qt.object(n,t)};qt.buffer=function(e,t){return qt.topLevel(e,"buffers",t)};qt.bufferView=function(e,t){return qt.topLevel(e,"bufferViews",t)};qt.camera=function(e,t){return qt.topLevel(e,"cameras",t)};qt.image=function(e,t){return qt.topLevel(e,"images",t)};qt.material=function(e,t){return qt.topLevel(e,"materials",t)};qt.materialValue=function(e,t){let n=e.values;l(e.extensions)&&l(e.extensions.KHR_techniques_webgl)&&(n=e.extensions.KHR_techniques_webgl.values);for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.mesh=function(e,t){return qt.topLevel(e,"meshes",t)};qt.meshPrimitive=function(e,t){let n=e.primitives;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r,o);if(l(s))return s}}};qt.meshPrimitiveAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.meshPrimitiveTarget=function(e,t){let n=e.targets;if(l(n)){let i=n.length;for(let o=0;o<i;++o){let r=t(n[o],o);if(l(r))return r}}};qt.meshPrimitiveTargetAttribute=function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}};qt.node=function(e,t){return qt.topLevel(e,"nodes",t)};qt.nodeInTree=function(e,t,n){let i=e.nodes;if(l(i)){let o=t.length;for(let r=0;r<o;r++){let s=t[r],a=i[s];if(l(a)){let c=n(a,s);if(l(c))return c;let u=a.children;if(l(u)&&(c=qt.nodeInTree(e,u,n),l(c)))return c}}}};qt.nodeInScene=function(e,t,n){let i=t.nodes;if(l(i))return qt.nodeInTree(e,i,n)};qt.program=function(e,t){return cr(e,"KHR_techniques_webgl")?qt.object(e.extensions.KHR_techniques_webgl.programs,t):qt.topLevel(e,"programs",t)};qt.sampler=function(e,t){return qt.topLevel(e,"samplers",t)};qt.scene=function(e,t){return qt.topLevel(e,"scenes",t)};qt.shader=function(e,t){return cr(e,"KHR_techniques_webgl")?qt.object(e.extensions.KHR_techniques_webgl.shaders,t):qt.topLevel(e,"shaders",t)};qt.skin=function(e,t){return qt.topLevel(e,"skins",t)};qt.skinJoint=function(e,t){let n=e.joints;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r);if(l(s))return s}}};qt.techniqueAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.techniqueUniform=function(e,t){let n=e.uniforms;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.techniqueParameter=function(e,t){let n=e.parameters;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.technique=function(e,t){return cr(e,"KHR_techniques_webgl")?qt.object(e.extensions.KHR_techniques_webgl.techniques,t):qt.topLevel(e,"techniques",t)};qt.texture=function(e,t){return qt.topLevel(e,"textures",t)};var Ie=qt;function _3e(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}var bu=_3e;function g3e(e,t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n];if(l(i.byteStride)&&i.byteStride>0)return i.byteStride}return X.getSizeInBytes(t.componentType)*bu(t.type)}var Ol=g3e;function y3e(e){Ie.accessor(e,function(n){l(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),Ie.bufferView(e,function(n){l(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){if(i.mode=y(i.mode,te.TRIANGLES),!l(i.material)){l(e.materials)||(e.materials=[]);let o={name:"default"};i.material=Ss(e.materials,o)}})}),Ie.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),l(o)){let r=e.bufferViews[o];r.byteStride=Ol(e,i),r.target=te.ARRAY_BUFFER}}),Ie.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(l(o)){let r=e.bufferViews[o];r.target=te.ELEMENT_ARRAY_BUFFER}}),Ie.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(l(o)){let c=o.technique,u=l(o.values)?o.values:{};o.values=u,u.ambient=l(u.ambient)?u.ambient:[0,0,0,1],u.emission=l(u.emission)?u.emission:[0,0,0,1],u.transparency=y(u.transparency,1),c!=="CONSTANT"&&(u.diffuse=l(u.diffuse)?u.diffuse:[0,0,0,1],c!=="LAMBERT"&&(u.specular=l(u.specular)?u.specular:[0,0,0,1],u.shininess=y(u.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;l(r)&&Ie.materialValue(n,function(c){l(c.index)&&tb(c)}),tb(n.emissiveTexture),tb(n.normalTexture),tb(n.occlusionTexture);let s=n.pbrMetallicRoughness;l(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),tb(s.baseColorTexture),tb(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;l(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),tb(a.specularGlossinessTexture))}),Ie.animation(e,function(n){Ie.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=x3e(e);return Ie.node(e,function(n,i){l(t[i])||l(n.translation)||l(n.rotation)||l(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Ie.sampler(e,function(n){n.wrapS=y(n.wrapS,te.REPEAT),n.wrapT=y(n.wrapT,te.REPEAT)}),l(e.scenes)&&!l(e.scene)&&(e.scene=0),e}function x3e(e){let t={};return Ie.animation(e,function(n){Ie.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function tb(e){l(e)&&(e.texCoord=y(e.texCoord,0))}var G1=y3e;function b3e(e){return Ie.shader(e,function(t){IU(t)}),Ie.buffer(e,function(t){IU(t)}),Ie.image(e,function(t){IU(t)}),IU(e),e}function IU(e){e.extras=l(e.extras)?e.extras:{},e.extras._pipeline=l(e.extras._pipeline)?e.extras._pipeline:{}}var oy=b3e;function T3e(e,t){let n=e.extensionsRequired;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var W1=T3e;function C3e(e,t){let n=e.extensionsUsed;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),W1(e,t),n.length===0&&delete e.extensionsUsed}}var nb=C3e;var A3e=4;function E3e(e){if(kd(e)!=="glTF")throw new ce("File is not valid binary glTF");let n=lre(e,0,5),i=n[1];if(i!==1&&i!==2)throw new ce("Binary glTF version is not 1 or 2");return i===1?S3e(e,n):v3e(e,n)}function lre(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r<n;++r)o[r]=i.getUint32(e.byteOffset+t+r*A3e,!0);return o}function S3e(e,t){let n=t[2],i=t[3];if(t[4]!==0)throw new ce("Binary glTF scene format is not JSON");let r=20,s=r+i,a=Dl(e,r,i),c=JSON.parse(a);oy(c);let u=e.subarray(s,n),f=c.buffers;if(l(f)&&Object.keys(f).length>0){let d=y(f.binary_glTF,f.KHR_binary_glTF);l(d)&&(d.extras._pipeline.source=u,delete d.uri)}return nb(c,"KHR_binary_glTF"),c}function v3e(e,t){let n=t[2],i=12,o,r;for(;i<n;){let s=lre(e,i,2),a=s[0],c=s[1];i+=8;let u=e.subarray(i,i+a);if(i+=a,c===1313821514){let f=Dl(u);o=JSON.parse(f),oy(o)}else c===5130562&&(r=u)}if(l(o)&&l(r)){let s=o.buffers;if(l(s)&&s.length>0){let a=s[0];a.extras._pipeline.source=r}}return o}var j1=E3e;function w3e(e){return Ie.shader(e,function(t){PU(t)}),Ie.buffer(e,function(t){PU(t)}),Ie.image(e,function(t){PU(t)}),PU(e),e}function PU(e){l(e.extras)&&(l(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var q1=w3e;function D3e(e,t){let n=e.extensionsUsed;l(n)||(n=[],e.extensionsUsed=n),Ss(n,t,!0)}var Af=D3e;function I3e(e){switch(e){case X.BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt8(n+s*o)};case X.UNSIGNED_BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint8(n+s*o)};case X.SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt16(n+s*o,!0)};case X.UNSIGNED_SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint16(n+s*o,!0)};case X.INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt32(n+s*o,!0)};case X.UNSIGNED_INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint32(n+s*o,!0)};case X.FLOAT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat32(n+s*o,!0)};case X.DOUBLE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat64(n+s*o,!0)}}}var Kp=I3e;function P3e(e,t){let n=e.bufferViews,i=e.buffers,o=t.bufferView,r=bu(t.type);if(!l(t.bufferView))return{min:new Array(r).fill(0),max:new Array(r).fill(0)};let s=new Array(r).fill(Number.POSITIVE_INFINITY),a=new Array(r).fill(Number.NEGATIVE_INFINITY),c=n[o],u=c.buffer,d=i[u].extras._pipeline.source,p=t.count,g=Ol(e,t),m=t.byteOffset+c.byteOffset+d.byteOffset,x=t.componentType,b=X.getSizeInBytes(x),T=new DataView(d.buffer),A=new Array(r),C=Kp(x);for(let E=0;E<p;E++){C(T,m,r,b,A);for(let v=0;v<r;v++){let D=A[v];s[v]=Math.min(s[v],D),a[v]=Math.max(a[v],D)}m+=g}return{min:s,max:a}}var ib=P3e;var R3e=[te.FUNC_ADD,te.FUNC_ADD],O3e=[te.ONE,te.ZERO,te.ONE,te.ZERO];function ure(e,t){let n=e.enable;return l(n)?n.indexOf(t)>-1:!1}var M3e=[te.ZERO,te.ONE,te.SRC_COLOR,te.ONE_MINUS_SRC_COLOR,te.SRC_ALPHA,te.ONE_MINUS_SRC_ALPHA,te.DST_ALPHA,te.ONE_MINUS_DST_ALPHA,te.DST_COLOR,te.ONE_MINUS_DST_COLOR];function L3e(e,t){if(!l(e))return t;for(let n=0;n<4;n++)if(M3e.indexOf(e[n])===-1)return t;return e}function N3e(e){let t={},n={},i=e.techniques;return l(i)&&(Ie.technique(e,function(o,r){let s=o.states;if(l(s)){let a=n[r]={};if(ure(s,te.BLEND)){a.alphaMode="BLEND";let c=s.functions;l(c)&&(l(c.blendEquationSeparate)||l(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,R3e),blendFactors:L3e(c.blendFuncSeparate,O3e)})}ure(s,te.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(l(e.extensions)||(e.extensions={}),Af(e,"KHR_blend")),Ie.material(e,function(o){if(l(o.technique)){let r=n[o.technique];Ie.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];l(s)&&(l(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var Y1=N3e;function F3e(e,t){let n=e.extensionsRequired;l(n)||(n=[],e.extensionsRequired=n),Ss(n,t,!0),Af(e,t)}var X1=F3e;function B3e(e){let t=e.techniques,n={},i={},o={};if(l(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,Ie.technique(e,function(a,c){let u={name:a.name,program:void 0,attributes:{},uniforms:{}},f;if(Ie.techniqueAttribute(a,function(d,p){f=a.parameters[d],u.attributes[p]={semantic:f.semantic}}),Ie.techniqueUniform(a,function(d,p){f=a.parameters[d],u.uniforms[p]={count:f.count,node:f.node,type:f.type,semantic:f.semantic,value:f.value},l(n[c])||(n[c]={}),n[c][d]=p}),l(o[a.program]))u.program=o[a.program];else{let d=e.programs[a.program],p={name:d.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[d.fragmentShader];p.fragmentShader=Ss(r.shaders,g,!0);let m=e.shaders[d.vertexShader];p.vertexShader=Ss(r.shaders,m,!0),u.program=Ss(r.programs,p),o[a.program]=u.program}i[c]=Ss(r.techniques,u)}),r.techniques.length>0&&(l(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,Af(e,"KHR_techniques_webgl"),X1(e,"KHR_techniques_webgl"))}return Ie.material(e,function(r){if(l(r.technique)){let s={technique:i[r.technique]};Ie.objectLegacy(r.values,function(a,c){l(s.values)||(s.values={});let u=n[r.technique][c];l(u)&&(s.values[u]=a)}),l(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var K1=B3e;function k3e(e,t){bo.typeOf.object("material",e),bo.defined("handler",t);let n=e.pbrMetallicRoughness;if(l(n)){if(l(n.baseColorTexture)){let r=n.baseColorTexture,s=t(r.index,r);if(l(s))return s}if(l(n.metallicRoughnessTexture)){let r=n.metallicRoughnessTexture,s=t(r.index,r);if(l(s))return s}}let{extensions:i}=e;if(l(i)){let r=i.KHR_materials_pbrSpecularGlossiness;if(l(r)){if(l(r.diffuseTexture)){let c=r.diffuseTexture,u=t(c.index,c);if(l(u))return u}if(l(r.specularGlossinessTexture)){let c=r.specularGlossinessTexture,u=t(c.index,c);if(l(u))return u}}let s=i.KHR_materials_specular;if(l(s)){let{specularTexture:c,specularColorTexture:u}=s;if(l(c)){let f=t(c.index,c);if(l(f))return f}if(l(u)){let f=t(u.index,u);if(l(f))return f}}let a=i.KHR_materials_common;if(l(a)&&l(a.values)){let{diffuse:c,ambient:u,emission:f,specular:d}=a.values;if(l(c)&&l(c.index)){let p=t(c.index,c);if(l(p))return p}if(l(u)&&l(u.index)){let p=t(u.index,u);if(l(p))return p}if(l(f)&&l(f.index)){let p=t(f.index,f);if(l(p))return p}if(l(d)&&l(d.index)){let p=t(d.index,d);if(l(p))return p}}}let o=Ie.materialValue(e,function(r){if(l(r.index)){let s=t(r.index,r);if(l(s))return s}});if(l(o))return o;if(l(e.emissiveTexture)){let r=e.emissiveTexture,s=t(r.index,r);if(l(s))return s}if(l(e.normalTexture)){let r=e.normalTexture,s=t(r.index,r);if(l(s))return s}if(l(e.occlusionTexture)){let r=e.occlusionTexture,s=t(r.index,r);if(l(s))return s}}var SA=k3e;var fre=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function V3e(e,t){return t=y(t,fre),fre.forEach(function(n){t.indexOf(n)>-1&&z3e(e,n)}),e}var U3e={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function z3e(e,t){let n=U3e[t],i=e[n];if(l(i)){let o=0,r=lm[t](e),s=i.length;for(let a=0;a<s;++a)r[a]||(cm[t](e,a-o),o++)}}function cm(){}cm.accessor=function(e,t){e.accessors.splice(t,1),Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){Ie.meshPrimitiveAttribute(o,function(a,c){a>t&&o.attributes[c]--}),Ie.meshPrimitiveTarget(o,function(a){Ie.meshPrimitiveTargetAttribute(a,function(c,u){c>t&&a[u]--})});let r=o.indices;l(r)&&r>t&&o.indices--;let s=o.extensions;l(s)&&l(s.CESIUM_primitive_outline)&&s.CESIUM_primitive_outline.indices>t&&--s.CESIUM_primitive_outline.indices})}),Ie.skin(e,function(i){l(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),Ie.animation(e,function(i){Ie.animationSampler(i,function(o){l(o.input)&&o.input>t&&o.input--,l(o.output)&&o.output>t&&o.output--})})};cm.buffer=function(e,t){e.buffers.splice(t,1),Ie.bufferView(e,function(i){l(i.buffer)&&i.buffer>t&&i.buffer--,l(i.extensions)&&l(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};cm.bufferView=function(e,t){if(e.bufferViews.splice(t,1),Ie.accessor(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Ie.shader(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Ie.image(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),cr(e,"KHR_draco_mesh_compression")&&Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){l(o.extensions)&&l(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),cr(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.bufferView)&&u.bufferView>t&&u.bufferView--,l(u.arrayOffsetBufferView)&&u.arrayOffsetBufferView>t&&u.arrayOffsetBufferView--,l(u.stringOffsetBufferView)&&u.stringOffsetBufferView>t&&u.stringOffsetBufferView--}}}}if(cr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];l(f.values)&&f.values>t&&f.values--,l(f.arrayOffsets)&&f.arrayOffsets>t&&f.arrayOffsets--,l(f.stringOffsets)&&f.stringOffsets>t&&f.stringOffsets--}}}}};cm.image=function(e,t){e.images.splice(t,1),Ie.texture(e,function(i){l(i.source)&&i.source>t&&--i.source;let o=i.extensions;l(o)&&l(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:l(o)&&l(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};cm.mesh=function(e,t){e.meshes.splice(t,1),Ie.node(e,function(i){l(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};cm.node=function(e,t){e.nodes.splice(t,1),Ie.skin(e,function(i){l(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),Ie.animation(e,function(i){Ie.animationChannel(i,function(o){l(o.target)&&l(o.target.node)&&o.target.node>t&&o.target.node--})}),Ie.technique(e,function(i){Ie.techniqueUniform(i,function(o){l(o.node)&&o.node>t&&o.node--})}),Ie.node(e,function(i){l(i.children)&&(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),Ie.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};cm.material=function(e,t){e.materials.splice(t,1),Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){l(o.material)&&o.material>t&&o.material--})})};cm.sampler=function(e,t){e.samplers.splice(t,1),Ie.texture(e,function(i){l(i.sampler)&&i.sampler>t&&--i.sampler})};cm.texture=function(e,t){if(e.textures.splice(t,1),Ie.material(e,function(i){SA(i,function(o,r){r.index>t&&--r.index})}),cr(e,"EXT_feature_metadata")){Ie.mesh(e,function(r){Ie.meshPrimitive(r,function(s){let a=s.extensions;if(l(a)&&l(a.EXT_feature_metadata)){let u=a.EXT_feature_metadata.featureIdTextures;if(l(u)){let f=u.length;for(let d=0;d<f;++d){let g=u[d].featureIds.texture;g.index>t&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let f=a[c].texture;f.index>t&&--f.index}}}}if(cr(e,"EXT_mesh_features")&&Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){let r=o.extensions;if(l(r)&&l(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(l(a)){let c=a.length;for(let u=0;u<c;++u){let f=a[u];l(f.texture)&&f.texture.index>t&&--f.texture.index}}}})}),cr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];f.index>t&&--f.index}}}}};function lm(){}lm.accessor=function(e){let t={};return Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){Ie.meshPrimitiveAttribute(i,function(r){t[r]=!0}),Ie.meshPrimitiveTarget(i,function(r){Ie.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;l(o)&&(t[o]=!0)})}),Ie.skin(e,function(n){l(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),Ie.animation(e,function(n){Ie.animationSampler(n,function(i){l(i.input)&&(t[i.input]=!0),l(i.output)&&(t[i.output]=!0)})}),cr(e,"EXT_mesh_gpu_instancing")&&Ie.node(e,function(n){l(n.extensions)&&l(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),cr(e,"CESIUM_primitive_outline")&&Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.CESIUM_primitive_outline)){let s=o.CESIUM_primitive_outline.indices;l(s)&&(t[s]=!0)}})}),t};lm.buffer=function(e){let t={};return Ie.bufferView(e,function(n){l(n.buffer)&&(t[n.buffer]=!0),l(n.extensions)&&l(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};lm.bufferView=function(e){let t={};if(Ie.accessor(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Ie.shader(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Ie.image(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),cr(e,"KHR_draco_mesh_compression")&&Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){l(i.extensions)&&l(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),cr(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];l(c.bufferView)&&(t[c.bufferView]=!0),l(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),l(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(cr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.values)&&(t[u.values]=!0),l(u.arrayOffsets)&&(t[u.arrayOffsets]=!0),l(u.stringOffsets)&&(t[u.stringOffsets]=!0)}}}}return t};lm.image=function(e){let t={};return Ie.texture(e,function(n){l(n.source)&&(t[n.source]=!0),l(n.extensions)&&l(n.extensions.EXT_texture_webp)?t[n.extensions.EXT_texture_webp.source]=!0:l(n.extensions)&&l(n.extensions.KHR_texture_basisu)&&(t[n.extensions.KHR_texture_basisu.source]=!0)}),t};lm.mesh=function(e){let t={};return Ie.node(e,function(n){if(l(n.mesh&&l(e.meshes))){let i=e.meshes[n.mesh];l(i)&&l(i.primitives)&&i.primitives.length>0&&(t[n.mesh]=!0)}}),t};function dre(e,t,n){let i=e.nodes[t];return l(i.mesh)||l(i.camera)||l(i.skin)||l(i.weights)||l(i.extras)||l(i.extensions)&&Object.keys(i.extensions).length!==0||l(n[t])?!1:!l(i.children)||i.children.filter(function(o){return!dre(e,o,n)}).length===0}lm.node=function(e){let t={};return Ie.skin(e,function(n){l(n.skeleton)&&(t[n.skeleton]=!0),Ie.skinJoint(n,function(i){t[i]=!0})}),Ie.animation(e,function(n){Ie.animationChannel(n,function(i){l(i.target)&&l(i.target.node)&&(t[i.target.node]=!0)})}),Ie.technique(e,function(n){Ie.techniqueUniform(n,function(i){l(i.node)&&(t[i.node]=!0)})}),Ie.node(e,function(n,i){dre(e,i,t)||(t[i]=!0)}),t};lm.material=function(e){let t={};return Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){l(i.material)&&(t[i.material]=!0)})}),t};lm.texture=function(e){let t={};if(Ie.material(e,function(n){SA(n,function(i){t[i]=!0})}),cr(e,"EXT_feature_metadata")){Ie.mesh(e,function(o){Ie.meshPrimitive(o,function(r){let s=r.extensions;if(l(s)&&l(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(l(c)){let u=c.length;for(let f=0;f<u;++f){let p=c[f].featureIds.texture;t[p.index]=!0}}}})});let i=e.extensions.EXT_feature_metadata.featureTextures;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].texture;t[u.index]=!0}}}}if(cr(e,"EXT_mesh_features")&&Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.EXT_mesh_features)){let s=o.EXT_mesh_features.featureIds;if(l(s)){let a=s.length;for(let c=0;c<a;++c){let u=s[c];l(u.texture)&&(t[u.texture.index]=!0)}}}})}),cr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTextures;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];t[u.index]=!0}}}}return t};lm.sampler=function(e){let t={};return Ie.texture(e,function(n){l(n.sampler)&&(t[n.sampler]=!0)}),t};var Z1=V3e;function H3e(e,t){let n={byteLength:t.length,extras:{_pipeline:{source:t}}},o={buffer:Ss(e.buffers,n),byteOffset:0,byteLength:t.length};return Ss(e.bufferViews,o)}var $1=H3e;function G3e(e,t){let n=Ol(e,t),i=X.getSizeInBytes(t.componentType),o=bu(t.type),r=t.count,s=new Array(o*r);if(!l(t.bufferView))return s.fill(0);let a=e.bufferViews[t.bufferView],c=e.buffers[a.buffer].extras._pipeline.source,u=t.byteOffset+a.byteOffset+c.byteOffset,f=new DataView(c.buffer),d=new Array(o),p=Kp(t.componentType);for(let g=0;g<r;++g){p(f,u,o,i,d);for(let m=0;m<o;++m)s[g*o+m]=d[m];u+=n}return s}var Q1=G3e;function W3e(e){let t;return Ie.accessorWithSemantic(e,"JOINTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?RU(e,i,X.UNSIGNED_BYTE):t!==te.UNSIGNED_BYTE&&t!==te.UNSIGNED_SHORT&&RU(e,i,X.UNSIGNED_SHORT)}),Ie.accessorWithSemantic(e,"WEIGHTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?RU(e,i,X.UNSIGNED_BYTE):t===te.SHORT&&RU(e,i,X.UNSIGNED_SHORT)}),e}function RU(e,t,n){let i=X.createTypedArray(n,Q1(e,t)),o=new Uint8Array(i.buffer);t.bufferView=$1(e,o),t.componentType=n,t.byteOffset=0}var J1=W3e;function j3e(e,t){return nb(e,t),t==="CESIUM_RTC"&&q3e(e),J9(e,t)}function q3e(e){Ie.technique(e,function(t){Ie.techniqueUniform(t,function(n){n.semantic==="CESIUM_RTC_MODELVIEW"&&(n.semantic="MODELVIEW")})})}function J9(e,t){if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;++i)J9(e[i],t)}else if(e!==null&&typeof e=="object"&&e.constructor===Object){let n=e.extensions,i;l(n)&&(i=n[t],l(i)&&(delete n[t],Object.keys(n).length===0&&delete e.extensions));for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&J9(e[o],t);return i}}var ob=j3e;var OU={.8:Q3e,"1.0":xke,"2.0":void 0};function Y3e(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.targetVersion,i=e.version;e.asset=y(e.asset,{version:"1.0"}),e.asset.version=y(e.asset.version,"1.0"),i=y(i,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(OU,i)||(l(i)&&(i=i.substring(0,3)),Object.prototype.hasOwnProperty.call(OU,i)||(i="1.0"));let o=OU[i];for(;l(o)&&i!==n;)o(e,t),i=e.asset.version,o=OU[i];return t.keepLegacyExtensions||(Cke(e,t),Ake(e)),e}function pre(e){let t=e.materials;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.instanceTechnique;l(o)&&(i.technique=o.technique,i.values=o.values,delete i.instanceTechnique)}}function X3e(e){let t=e.meshes;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let o=t[n].primitives;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let a=o[s],c=y(a.primitive,te.TRIANGLES);a.mode=y(a.mode,c),delete a.primitive}}}}function K3e(e){let t=e.nodes,n=new h,i=new Le;for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o];if(l(r.rotation)){let a=r.rotation;h.fromArray(a,0,n),Le.fromAxisAngle(n,a[3],i),r.rotation=[i.x,i.y,i.z,i.w]}let s=r.instanceSkin;l(s)&&(r.skeletons=s.skeletons,r.skin=s.skin,r.meshes=s.meshes,delete r.instanceSkin)}}function Z3e(e){let t=e.animations,n=e.accessors,i=e.bufferViews,o=e.buffers,r={},s=new h,a=new Le;for(let c in t)if(Object.prototype.hasOwnProperty.call(t,c)){let u=t[c],f=u.channels,d=u.parameters,p=u.samplers;if(l(f)){let g=f.length;for(let m=0;m<g;++m){let x=f[m];if(x.target.path==="rotation"){let b=d[p[x.sampler].output];if(l(r[b]))continue;r[b]=!0;let T=n[b],A=i[T.bufferView],E=o[A.buffer].extras._pipeline.source,v=E.byteOffset+A.byteOffset+T.byteOffset,D=T.componentType,O=T.count,R=bu(T.type),M=T.count*R,N=X.createArrayBufferView(D,E.buffer,v,M);for(let _=0;_<O;_++){let S=_*R;h.unpack(N,S,s);let w=N[S+3];Le.fromAxisAngle(s,w,a),Le.pack(a,N,S)}}}}}}function $3e(e){let t=e.techniques;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.passes;if(l(o)){let r=y(i.pass,"defaultPass");if(Object.prototype.hasOwnProperty.call(o,r)){let s=o[r],a=s.instanceProgram;i.attributes=y(i.attributes,a.attributes),i.program=y(i.program,a.program),i.uniforms=y(i.uniforms,a.uniforms),i.states=y(i.states,s.states)}delete i.passes,delete i.pass}}}function Q3e(e){l(e.asset)||(e.asset={});let t=e.asset;if(t.version="1.0",typeof t.profile=="string"){let n=t.profile.split(" ");t.profile={api:n[0],version:n[1]}}else t.profile={};if(l(e.version)&&delete e.version,pre(e),X3e(e),K3e(e),Z3e(e),$3e(e),l(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),l(e.lights)){let n=y(e.extensions,{});e.extensions=n;let i=y(n.KHR_materials_common,{});n.KHR_materials_common=i,i.lights=e.lights,delete e.lights,Af(e,"KHR_materials_common")}}function J3e(e){let t=e.animations;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.parameters;if(l(o)){let r=i.samplers;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){let a=r[s];a.input=o[a.input],a.output=o[a.output]}delete i.parameters}}}function hre(e,t){let n=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let o=e[i];t[i]=n.length,n.push(o),l(o.name)||(o.name=i)}return n}function eke(e){let t,n={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}},i,o={},r=e.nodes;for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(i=r[s].jointName,l(i)&&(o[i]=s));for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&l(n[s])){let a={},c=e[s];e[s]=hre(c,a),n[s]=a}for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(o[i]=n.nodes[o[i]]);l(e.scene)&&(e.scene=n.scenes[e.scene]),Ie.bufferView(e,function(s){l(s.buffer)&&(s.buffer=n.buffers[s.buffer])}),Ie.accessor(e,function(s){l(s.bufferView)&&(s.bufferView=n.bufferViews[s.bufferView])}),Ie.shader(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Ie.program(e,function(s){l(s.vertexShader)&&(s.vertexShader=n.shaders[s.vertexShader]),l(s.fragmentShader)&&(s.fragmentShader=n.shaders[s.fragmentShader])}),Ie.technique(e,function(s){l(s.program)&&(s.program=n.programs[s.program]),Ie.techniqueParameter(s,function(a){l(a.node)&&(a.node=n.nodes[a.node]);let c=a.value;typeof c=="string"&&(a.value={index:n.textures[c]})})}),Ie.mesh(e,function(s){Ie.meshPrimitive(s,function(a){l(a.indices)&&(a.indices=n.accessors[a.indices]),Ie.meshPrimitiveAttribute(a,function(c,u){a.attributes[u]=n.accessors[c]}),l(a.material)&&(a.material=n.materials[a.material])})}),Ie.node(e,function(s){let a=s.children;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}if(l(s.meshes)){let c=s.meshes,u=c.length;if(u>0)for(s.mesh=n.meshes[c[0]],t=1;t<u;++t){let f={mesh:n.meshes[c[t]]},d=Ss(e.nodes,f);l(a)||(a=[],s.children=a),a.push(d)}delete s.meshes}if(l(s.camera)&&(s.camera=n.cameras[s.camera]),l(s.skin)&&(s.skin=n.skins[s.skin]),l(s.skeletons)){let c=s.skeletons;if(c.length>0&&l(s.skin)){let f=e.skins[s.skin];f.skeleton=n.nodes[c[0]]}delete s.skeletons}l(s.jointName)&&delete s.jointName}),Ie.skin(e,function(s){l(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(l(a)){let c=[],u=a.length;for(t=0;t<u;++t)c[t]=o[a[t]];s.joints=c,delete s.jointNames}}),Ie.scene(e,function(s){let a=s.nodes;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}}),Ie.animation(e,function(s){let a={};s.samplers=hre(s.samplers,a),Ie.animationSampler(s,function(c){c.input=n.accessors[c.input],c.output=n.accessors[c.output]}),Ie.animationChannel(s,function(c){c.sampler=a[c.sampler];let u=c.target;l(u)&&(u.node=n.nodes[u.id],delete u.id)})}),Ie.material(e,function(s){l(s.technique)&&(s.technique=n.techniques[s.technique]),Ie.materialValue(s,function(c,u){typeof c=="string"&&(s.values[u]={index:n.textures[c]})});let a=s.extensions;if(l(a)){let c=a.KHR_materials_common;l(c)&&l(c.values)&&Ie.materialValue(c,function(u,f){typeof u=="string"&&(c.values[f]={index:n.textures[u]})})}}),Ie.image(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],s.mimeType=c.mimeType,delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Ie.texture(e,function(s){l(s.sampler)&&(s.sampler=n.samplers[s.sampler]),l(s.source)&&(s.source=n.images[s.source])})}function tke(e){Ie.animation(e,function(t){Ie.animationSampler(t,function(n){delete n.name})})}function nke(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];Array.isArray(n)&&n.length===0&&delete e[t]}Ie.node(e,function(t){l(t.children)&&t.children.length===0&&delete t.children})}function ike(e){let t=e.asset;delete t.profile,delete t.premultipliedAlpha}var oke={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function rke(e){let t=e.extensionsUsed;if(e.extensionsRequired=y(e.extensionsRequired,[]),l(t)){let n=t.length;for(let i=0;i<n;++i){let o=t[i];l(oke[o])&&e.extensionsRequired.push(o)}}}function ske(e){Ie.buffer(e,function(t){delete t.type})}function ake(e){Ie.texture(e,function(t){delete t.format,delete t.internalFormat,delete t.target,delete t.type})}function cke(e){Ie.mesh(e,function(t){Ie.meshPrimitive(t,function(n){Ie.meshPrimitiveAttribute(n,function(i,o){o==="TEXCOORD"?n.attributes.TEXCOORD_0=i:o==="COLOR"&&(n.attributes.COLOR_0=i)}),delete n.attributes.TEXCOORD,delete n.attributes.COLOR})}),Ie.technique(e,function(t){Ie.techniqueParameter(t,function(n){let i=n.semantic;l(i)&&(i==="TEXCOORD"?n.semantic="TEXCOORD_0":i==="COLOR"&&(n.semantic="COLOR_0"))})})}var lke={POSITION:!0,NORMAL:!0,TANGENT:!0},uke={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function fke(e){let t={};Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){Ie.meshPrimitiveAttribute(i,function(o,r){if(r.charAt(0)!=="_"){let s=r.search(/_[0-9]+/g),a=r,c="_0";s>=0&&(a=r.substring(0,s),c=r.substring(s));let u,f=uke[a];l(f)?(u=f+c,t[r]=u):l(lke[a])||(u=`_${r}`,t[r]=u)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];l(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),Ie.technique(e,function(n){Ie.techniqueParameter(n,function(i){let o=t[i.semantic];l(o)&&(i.semantic=o)})})}function dke(e){Ie.camera(e,function(t){let n=t.perspective;if(l(n)){let i=n.aspectRatio;l(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;l(o)&&o===0&&(n.yfov=1)}})}function tW(e,t){return l(t.byteStride)&&t.byteStride!==0?t.byteStride:Ol(e,t)}function hke(e){Ie.buffer(e,function(t){l(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),Ie.accessor(e,function(t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n],o=tW(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function mke(e){let t,n,i,o=e.bufferViews,r={};Ie.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];l(c.bufferView)&&(r[c.bufferView]=!0)});let s={};Ie.accessor(e,function(a){l(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let u=0,f=0,d=c.length;for(t=0;t<d;++t){let p=c[t],g=tW(e,p),m=p.byteOffset,x=p.count*g;delete p.byteStride;let b=t<d-1,T=b?tW(e,c[t+1]):void 0;if(g!==T){let A=He(i,!0);r[a]&&(A.byteStride=g),A.byteOffset+=u,A.byteLength=m+x-u;let C=Ss(o,A);for(n=f;n<=t;++n)p=c[n],p.bufferView=C,p.byteOffset=p.byteOffset-u;u=b?c[t+1].byteOffset:void 0,f=t+1}}}Z1(e,["accessor","bufferView","buffer"])}function pke(e){Ie.accessorWithSemantic(e,"POSITION",function(t){let n=e.accessors[t];if(!l(n.min)||!l(n.max)){let i=ib(e,n);n.min=i.min,n.max=i.max}})}function _re(e){return(!l(e.children)||e.children.length===0)&&(!l(e.meshes)||e.meshes.length===0)&&!l(e.camera)&&!l(e.skin)&&!l(e.skeletons)&&!l(e.jointName)&&(!l(e.translation)||h.fromArray(e.translation).equals(h.ZERO))&&(!l(e.scale)||h.fromArray(e.scale).equals(new h(1,1,1)))&&(!l(e.rotation)||oe.fromArray(e.rotation).equals(new oe(0,0,0,1)))&&(!l(e.matrix)||F.fromColumnMajorArray(e.matrix).equals(F.IDENTITY))&&!l(e.extensions)&&!l(e.extras)}function gre(e,t){Ie.scene(e,function(n){let i=n.nodes;if(l(i)){let o=i.length;for(let r=o;r>=0;--r)if(i[r]===t){i.splice(r,1);return}}}),Ie.node(e,function(n,i){if(l(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),_re(n)&&gre(e,i))}}),delete e.nodes[t]}function _ke(e){return Ie.node(e,function(t,n){_re(t)&&gre(e,n)}),e}function gke(e){Ie.animation(e,function(t){Ie.animationSampler(t,function(n){let i=e.accessors[n.input];if(!l(i.min)||!l(i.max)){let o=ib(e,i);i.min=o.min,i.max=o.max}})})}function yke(e){Ie.accessor(e,function(t){if(l(t.min)||l(t.max)){let n=ib(e,t);l(t.min)&&(t.min=n.min),l(t.max)&&(t.max=n.max)}})}function xke(e){e.asset=y(e.asset,{}),e.asset.version="2.0",pre(e),J3e(e),_ke(e),eke(e),tke(e),ike(e),rke(e),hke(e),mke(e),pke(e),gke(e),yke(e),ske(e),ake(e),cke(e),fke(e),J1(e),dke(e),Y1(e),K1(e),nke(e)}var bke=["u_tex","u_diffuse","u_emission","u_diffuse_tex"],Tke=["u_diffuse","u_diffuse_mat"];function nW(e){e.pbrMetallicRoughness=l(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function iW(e){return l(e.index)}function oW(e){return Array.isArray(e)&&e.length===4}function yre(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function Cke(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.baseColorTextureNames,bke),i=y(t.baseColorFactorNames,Tke);Ie.material(e,function(o){Ie.materialValue(o,function(r,s){n.indexOf(s)!==-1&&iW(r)?(nW(o),o.pbrMetallicRoughness.baseColorTexture=r):i.indexOf(s)!==-1&&oW(r)&&(nW(o),o.pbrMetallicRoughness.baseColorFactor=yre(r))})}),ob(e,"KHR_techniques_webgl"),ob(e,"KHR_blend")}function eW(e,t){l(t)&&(oW(t)?e.pbrMetallicRoughness.baseColorFactor=yre(t):iW(t)&&(e.pbrMetallicRoughness.baseColorTexture=t))}function mre(e,t){l(t)&&(oW(t)?e.emissiveFactor=t.slice(0,3):iW(t)&&(e.emissiveTexture=t))}function Ake(e){Ie.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(!l(n))return;let i=y(n.values,{}),o=i.ambient,r=i.diffuse,s=i.emission,a=i.transparency,c=n.doubleSided,u=n.transparent;nW(t),n.technique==="CONSTANT"?(Af(e,"KHR_materials_unlit"),t.extensions=l(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={},eW(t,s),eW(t,o)):(eW(t,r),mre(t,o),mre(t,s)),l(c)&&(t.doubleSided=c),l(a)&&(l(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=a:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,a]),l(u)&&(t.alphaMode=u?"BLEND":"OPAQUE")}),ob(e,"KHR_materials_common")}var eR=Y3e;var ci={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function Eke(e){switch(e){case ci.POSITION:return"positionMC";case ci.NORMAL:return"normalMC";case ci.TANGENT:return"tangentMC";case ci.TEXCOORD:return"texCoord";case ci.COLOR:return"color";case ci.JOINTS:return"joints";case ci.WEIGHTS:return"weights";case ci.FEATURE_ID:return"featureId"}}ci.hasSetIndex=function(e){switch(e){case ci.POSITION:case ci.NORMAL:case ci.TANGENT:return!1;case ci.TEXCOORD:case ci.COLOR:case ci.JOINTS:case ci.WEIGHTS:case ci.FEATURE_ID:return!0}};ci.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return ci.POSITION;case"NORMAL":return ci.NORMAL;case"TANGENT":return ci.TANGENT;case"TEXCOORD":return ci.TEXCOORD;case"COLOR":return ci.COLOR;case"JOINTS":return ci.JOINTS;case"WEIGHTS":return ci.WEIGHTS;case"_FEATURE_ID":return ci.FEATURE_ID}};ci.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return ci.POSITION;case"RGBA":case"RGB":case"RGB565":return ci.COLOR;case"NORMAL":case"NORMAL_OCT16P":return ci.NORMAL;case"BATCH_ID":return ci.FEATURE_ID}};ci.getGlslType=function(e){switch(e){case ci.POSITION:case ci.NORMAL:case ci.TANGENT:return"vec3";case ci.TEXCOORD:return"vec2";case ci.COLOR:return"vec4";case ci.JOINTS:return"ivec4";case ci.WEIGHTS:return"vec4";case ci.FEATURE_ID:return"int"}};ci.getVariableName=function(e,t){let n=Eke(e);return l(t)&&(n+=`_${t}`),n};var At=Object.freeze(ci);function uc(){}uc.getError=function(e,t,n){let i=`Failed to load ${e}: ${t}`;l(n)&&l(n.message)&&(i+=` -${n.message}`);let o=new ce(i);return l(n)&&(o.stack=`Original stack: +${n.stack}`),n};sy.prototype.isDestroyed=function(){return!1};sy.prototype.destroy=function(){return this.unload(),ue(this)};var Ki=sy;var h3e={UNLOADED:0,LOADING:1,LOADED:2,PROCESSING:3,READY:4,FAILED:5},yt=Object.freeze(h3e);function Zp(e){e=y(e,y.EMPTY_OBJECT);let t=e.typedArray,n=e.resource,i=e.cacheKey;this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(Zp.prototype=Object.create(Ki.prototype),Zp.prototype.constructor=Zp);Object.defineProperties(Zp.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});Zp.prototype.load=async function(){return l(this._promise)?this._promise:l(this._typedArray)?(this._promise=Promise.resolve(this),this._promise):(this._promise=m3e(this),this._promise)};async function m3e(e){let t=e._resource;e._state=yt.LOADING;try{let n=await Zp._fetchArrayBuffer(t);return e.isDestroyed()?void 0:(e._typedArray=new Uint8Array(n),e._state=yt.READY,e)}catch(n){if(e.isDestroyed())return;e._state=yt.FAILED;let i=`Failed to load external buffer: ${t.url}`;throw e.getError(i,n)}}Zp._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()};Zp.prototype.unload=function(){this._typedArray=void 0};var ib=Zp;var Are=Wo(Cre(),1);function ob(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.bufferViewId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.bufferViews[i],c=a.buffer,u=a.byteOffset,f=a.byteLength,d=!1,p,g,m,x;if(si(a,"EXT_meshopt_compression")){let T=a.extensions.EXT_meshopt_compression;c=T.buffer,u=y(T.byteOffset,0),f=T.byteLength,d=!0,p=T.byteStride,g=T.count,m=T.mode,x=y(T.filter,"NONE")}let b=n.buffers[c];this._hasMeshopt=d,this._meshoptByteStride=p,this._meshoptCount=g,this._meshoptMode=m,this._meshoptFilter=x,this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._buffer=b,this._bufferId=c,this._byteOffset=u,this._byteLength=f,this._cacheKey=s,this._bufferLoader=void 0,this._typedArray=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(ob.prototype=Object.create(Ki.prototype),ob.prototype.constructor=ob);Object.defineProperties(ob.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});async function x3e(e){try{let t=b3e(e);if(e._bufferLoader=t,await t.load(),e.isDestroyed())return;let n=t.typedArray,i=new Uint8Array(n.buffer,n.byteOffset+e._byteOffset,e._byteLength);if(e.unload(),e._typedArray=i,e._hasMeshopt){let o=e._meshoptCount,r=e._meshoptByteStride,s=new Uint8Array(o*r);Are.MeshoptDecoder.decodeGltfBuffer(s,o,r,e._typedArray,e._meshoptMode,e._meshoptFilter),e._typedArray=s}return e._state=yt.READY,e}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load buffer view",t)}}ob.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,this._promise=x3e(this),this._promise)};function b3e(e){let t=e._resourceCache,n=e._buffer;if(l(n.uri)){let o=e._baseResource.getDerivedResource({url:n.uri});return t.getExternalBufferLoader({resource:o})}return t.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:e._bufferId})}ob.prototype.unload=function(){l(this._bufferLoader)&&!this._bufferLoader.isDestroyed()&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var SA=ob;function Hr(){}Hr._maxDecodingConcurrency=Math.max(Gt.hardwareConcurrency-1,1);Hr._decoderTaskProcessor=void 0;Hr._taskProcessorReady=!1;Hr._error=void 0;Hr._getDecoderTaskProcessor=function(){if(!l(Hr._decoderTaskProcessor)){let e=new bi("decodeDraco",Hr._maxDecodingConcurrency);e.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(t){t?Hr._taskProcessorReady=!0:Hr._error=new se("Draco decoder could not be initialized.")}).catch(t=>{Hr._error=t}),Hr._decoderTaskProcessor=e}return Hr._decoderTaskProcessor};Hr.decodePointCloud=function(e){let t=Hr._getDecoderTaskProcessor();if(l(Hr._error))throw Hr._error;if(Hr._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};Hr.decodeBufferView=function(e){let t=Hr._getDecoderTaskProcessor();if(l(Hr._error))throw Hr._error;if(Hr._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var $p=Hr;function ay(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=yt.UNLOADED,this._promise=void 0,this._dracoError=void 0}l(Object.create)&&(ay.prototype=Object.create(Ki.prototype),ay.prototype.constructor=ay);Object.defineProperties(ay.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function T3e(e){let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._draco.bufferView,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._bufferViewTypedArray=n.typedArray,e._state=yt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;Ere(e,n)}}ay.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,this._promise=T3e(this),this._promise)};function Ere(e,t){throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load Draco",t)}async function C3e(e,t){try{let n=await t;return e.isDestroyed()?void 0:(e.unload(),e._decodedData={indices:n.indexArray,vertexAttributes:n.attributeData},e._state=yt.READY,e._baseResource)}catch(n){if(e.isDestroyed())return;e._dracoError=n}}ay.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.PROCESSING||(l(this._dracoError)&&Ere(this,this._dracoError),!l(this._bufferViewTypedArray))||l(this._decodePromise))return!1;let t=this._draco,i=this._gltf.bufferViews,o=t.bufferView,r=i[o],s=t.attributes,a={array:new Uint8Array(this._bufferViewTypedArray),bufferView:r,compressedAttributes:s,dequantizeInShader:!0},c=$p.decodeBufferView(a);if(!l(c))return!1;this._decodePromise=C3e(this,c)};ay.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var vA=ay;function A3e(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return Ae.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(Ae.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new Ae({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return l(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return l(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var rb=A3e;function Qp(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,u=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=u,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(Qp.prototype=Object.create(Ki.prototype),Qp.prototype.constructor=Qp);Object.defineProperties(Qp.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});Qp.prototype.load=function(){return l(this._promise)?this._promise:l(this._bufferViewId)?(this._promise=E3e(this),this._promise):(this._promise=S3e(this),this._promise)};function Sre(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}async function E3e(e){e._state=yt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=n,await n.load(),e.isDestroyed())return;let i=n.typedArray,o=await w3e(i);if(e.isDestroyed())return;let r=Sre(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=yt.READY,e}catch(n){return e.isDestroyed()?void 0:vre(e,n,"Failed to load embedded image")}}async function S3e(e){e._state=yt.LOADING;let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});try{let o=await I3e(i);if(e.isDestroyed())return;let r=Sre(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=yt.READY,e}catch(o){return e.isDestroyed()?void 0:vre(e,o,`Failed to load image: ${n}`)}}function vre(e,t,n){return e.unload(),e._state=yt.FAILED,Promise.reject(e.getError(n,t))}function v3e(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new se("Image format is not recognized")}async function w3e(e){let t=v3e(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return Tl(n)}return Qp._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var D3e=/(^data:image\/ktx2)|(\.ktx2$)/i;function I3e(e){let t=e.getUrlComponent(!1,!0);return D3e.test(t)?Tl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}Qp.prototype.unload=function(){l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};Qp._loadImageFromTypedArray=rb;var wA=Qp;var P3e={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},Ba=Object.freeze(P3e);function cy(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),u=y(e.loadBuffer,!1),f=y(e.loadTypedArray,!1),d=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=d,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=u,this._loadTypedArray=f,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(cy.prototype=Object.create(Ki.prototype),cy.prototype.constructor=cy);Object.defineProperties(cy.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var R3e=new lW;cy.prototype.load=async function(){return l(this._promise)?this._promise:l(this._draco)?(this._promise=O3e(this),this._promise):(this._promise=M3e(this),this._promise)};async function O3e(e){e._state=yt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=yt.LOADED,e)}catch(n){if(e.isDestroyed())return;cW(e,n)}}async function M3e(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView;e._state=yt.LOADING;let r=e._resourceCache;try{let s=r.getBufferViewLoader({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=s,await s.load(),e.isDestroyed())return;let a=s.typedArray;return e._typedArray=L3e(e,a),e._state=yt.PROCESSING,e}catch(s){if(e.isDestroyed())return;cW(e,s)}}function L3e(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=Fe.getSizeInBytes(s),c=t.buffer,u=t.byteOffset+o.byteOffset;if(u%a!==0){let d=r*a,p=new Uint8Array(c,u,d);c=new Uint8Array(p).buffer,u=0,ys("index-buffer-unaligned",`The index array is not aligned to a ${a}-byte boundary.`)}let f;return s===Fe.UNSIGNED_BYTE?f=new Uint8Array(c,u,r):s===Fe.UNSIGNED_SHORT?f=new Uint16Array(c,u,r):s===Fe.UNSIGNED_INT&&(f=new Uint32Array(c,u,r)),f}function cW(e,t){throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load index buffer",t)}function lW(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}lW.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};lW.prototype.execute=function(){this.buffer=wre(this.typedArray,this.indexDatatype,this.context)};function wre(e,t,n){let i=xt.createIndexBuffer({typedArray:e,context:n,usage:Be.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}cy.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.LOADED&&this._state!==yt.PROCESSING)return!1;let t=this._typedArray,n=this._indexDatatype;if(l(this._dracoLoader))try{this._dracoLoader.process(e)&&(t=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=t,n=X.fromTypedArray(t),this._indexDatatype=n)}catch(o){cW(this,o)}if(!l(t))return!1;let i;if(this._loadBuffer&&this._asynchronous){let o=R3e;if(o.set(t,n,e.context),!e.jobScheduler.execute(o,Ba.BUFFER))return!1;i=o.buffer}else this._loadBuffer&&(i=wre(t,n,e.context));return this.unload(),this._buffer=i,this._typedArray=this._loadTypedArray?t:void 0,this._state=yt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};cy.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var DA=cy;function N3e(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var Rs=N3e;function F3e(e,t){return l(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var mr=F3e;function Yt(){}Yt.objectLegacy=function(e,t){if(l(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}}};Yt.object=function(e,t){if(l(e)){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=t(o,i);if(l(r))return r}}};Yt.topLevel=function(e,t,n){let i=e[t];return l(i)&&!Array.isArray(i)?Yt.objectLegacy(i,n):Yt.object(i,n)};Yt.accessor=function(e,t){return Yt.topLevel(e,"accessors",t)};Yt.accessorWithSemantic=function(e,t,n){let i={};return Yt.mesh(e,function(o){return Yt.meshPrimitive(o,function(r){let s=Yt.meshPrimitiveAttribute(r,function(a,c){if(c.indexOf(t)===0&&!l(i[a])){i[a]=!0;let u=n(a);if(l(u))return u}});return l(s)?s:Yt.meshPrimitiveTarget(r,function(a){return Yt.meshPrimitiveTargetAttribute(a,function(c,u){if(u.indexOf(t)===0&&!l(i[c])){i[c]=!0;let f=n(c);if(l(f))return f}})})})})};Yt.accessorContainingVertexAttributeData=function(e,t){let n={};return Yt.mesh(e,function(i){return Yt.meshPrimitive(i,function(o){let r=Yt.meshPrimitiveAttribute(o,function(s){if(!l(n[s])){n[s]=!0;let a=t(s);if(l(a))return a}});return l(r)?r:Yt.meshPrimitiveTarget(o,function(s){return Yt.meshPrimitiveTargetAttribute(s,function(a){if(!l(n[a])){n[a]=!0;let c=t(a);if(l(c))return c}})})})})};Yt.accessorContainingIndexData=function(e,t){let n={};return Yt.mesh(e,function(i){return Yt.meshPrimitive(i,function(o){let r=o.indices;if(l(r)&&!l(n[r])){n[r]=!0;let s=t(r);if(l(s))return s}})})};Yt.animation=function(e,t){return Yt.topLevel(e,"animations",t)};Yt.animationChannel=function(e,t){let n=e.channels;return Yt.object(n,t)};Yt.animationSampler=function(e,t){let n=e.samplers;return Yt.object(n,t)};Yt.buffer=function(e,t){return Yt.topLevel(e,"buffers",t)};Yt.bufferView=function(e,t){return Yt.topLevel(e,"bufferViews",t)};Yt.camera=function(e,t){return Yt.topLevel(e,"cameras",t)};Yt.image=function(e,t){return Yt.topLevel(e,"images",t)};Yt.material=function(e,t){return Yt.topLevel(e,"materials",t)};Yt.materialValue=function(e,t){let n=e.values;l(e.extensions)&&l(e.extensions.KHR_techniques_webgl)&&(n=e.extensions.KHR_techniques_webgl.values);for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.mesh=function(e,t){return Yt.topLevel(e,"meshes",t)};Yt.meshPrimitive=function(e,t){let n=e.primitives;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r,o);if(l(s))return s}}};Yt.meshPrimitiveAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.meshPrimitiveTarget=function(e,t){let n=e.targets;if(l(n)){let i=n.length;for(let o=0;o<i;++o){let r=t(n[o],o);if(l(r))return r}}};Yt.meshPrimitiveTargetAttribute=function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}};Yt.node=function(e,t){return Yt.topLevel(e,"nodes",t)};Yt.nodeInTree=function(e,t,n){let i=e.nodes;if(l(i)){let o=t.length;for(let r=0;r<o;r++){let s=t[r],a=i[s];if(l(a)){let c=n(a,s);if(l(c))return c;let u=a.children;if(l(u)&&(c=Yt.nodeInTree(e,u,n),l(c)))return c}}}};Yt.nodeInScene=function(e,t,n){let i=t.nodes;if(l(i))return Yt.nodeInTree(e,i,n)};Yt.program=function(e,t){return mr(e,"KHR_techniques_webgl")?Yt.object(e.extensions.KHR_techniques_webgl.programs,t):Yt.topLevel(e,"programs",t)};Yt.sampler=function(e,t){return Yt.topLevel(e,"samplers",t)};Yt.scene=function(e,t){return Yt.topLevel(e,"scenes",t)};Yt.shader=function(e,t){return mr(e,"KHR_techniques_webgl")?Yt.object(e.extensions.KHR_techniques_webgl.shaders,t):Yt.topLevel(e,"shaders",t)};Yt.skin=function(e,t){return Yt.topLevel(e,"skins",t)};Yt.skinJoint=function(e,t){let n=e.joints;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r);if(l(s))return s}}};Yt.techniqueAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.techniqueUniform=function(e,t){let n=e.uniforms;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.techniqueParameter=function(e,t){let n=e.parameters;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.technique=function(e,t){return mr(e,"KHR_techniques_webgl")?Yt.object(e.extensions.KHR_techniques_webgl.techniques,t):Yt.topLevel(e,"techniques",t)};Yt.texture=function(e,t){return Yt.topLevel(e,"textures",t)};var Pe=Yt;function B3e(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}var xu=B3e;function k3e(e,t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n];if(l(i.byteStride)&&i.byteStride>0)return i.byteStride}return X.getSizeInBytes(t.componentType)*xu(t.type)}var Rl=k3e;function V3e(e){Pe.accessor(e,function(n){l(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),Pe.bufferView(e,function(n){l(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){if(i.mode=y(i.mode,te.TRIANGLES),!l(i.material)){l(e.materials)||(e.materials=[]);let o={name:"default"};i.material=Rs(e.materials,o)}})}),Pe.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),l(o)){let r=e.bufferViews[o];r.byteStride=Rl(e,i),r.target=te.ARRAY_BUFFER}}),Pe.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(l(o)){let r=e.bufferViews[o];r.target=te.ELEMENT_ARRAY_BUFFER}}),Pe.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(l(o)){let c=o.technique,u=l(o.values)?o.values:{};o.values=u,u.ambient=l(u.ambient)?u.ambient:[0,0,0,1],u.emission=l(u.emission)?u.emission:[0,0,0,1],u.transparency=y(u.transparency,1),c!=="CONSTANT"&&(u.diffuse=l(u.diffuse)?u.diffuse:[0,0,0,1],c!=="LAMBERT"&&(u.specular=l(u.specular)?u.specular:[0,0,0,1],u.shininess=y(u.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;l(r)&&Pe.materialValue(n,function(c){l(c.index)&&sb(c)}),sb(n.emissiveTexture),sb(n.normalTexture),sb(n.occlusionTexture);let s=n.pbrMetallicRoughness;l(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),sb(s.baseColorTexture),sb(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;l(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),sb(a.specularGlossinessTexture))}),Pe.animation(e,function(n){Pe.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=U3e(e);return Pe.node(e,function(n,i){l(t[i])||l(n.translation)||l(n.rotation)||l(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Pe.sampler(e,function(n){n.wrapS=y(n.wrapS,te.REPEAT),n.wrapT=y(n.wrapT,te.REPEAT)}),l(e.scenes)&&!l(e.scene)&&(e.scene=0),e}function U3e(e){let t={};return Pe.animation(e,function(n){Pe.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function sb(e){l(e)&&(e.texCoord=y(e.texCoord,0))}var Z1=V3e;function z3e(e){return Pe.shader(e,function(t){kU(t)}),Pe.buffer(e,function(t){kU(t)}),Pe.image(e,function(t){kU(t)}),kU(e),e}function kU(e){e.extras=l(e.extras)?e.extras:{},e.extras._pipeline=l(e.extras._pipeline)?e.extras._pipeline:{}}var ly=z3e;function H3e(e,t){let n=e.extensionsRequired;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var $1=H3e;function G3e(e,t){let n=e.extensionsUsed;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),$1(e,t),n.length===0&&delete e.extensionsUsed}}var ab=G3e;var W3e=4;function j3e(e){if(Ud(e)!=="glTF")throw new se("File is not valid binary glTF");let n=Dre(e,0,5),i=n[1];if(i!==1&&i!==2)throw new se("Binary glTF version is not 1 or 2");return i===1?q3e(e,n):Y3e(e,n)}function Dre(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r<n;++r)o[r]=i.getUint32(e.byteOffset+t+r*W3e,!0);return o}function q3e(e,t){let n=t[2],i=t[3];if(t[4]!==0)throw new se("Binary glTF scene format is not JSON");let r=20,s=r+i,a=wl(e,r,i),c=JSON.parse(a);ly(c);let u=e.subarray(s,n),f=c.buffers;if(l(f)&&Object.keys(f).length>0){let d=y(f.binary_glTF,f.KHR_binary_glTF);l(d)&&(d.extras._pipeline.source=u,delete d.uri)}return ab(c,"KHR_binary_glTF"),c}function Y3e(e,t){let n=t[2],i=12,o,r;for(;i<n;){let s=Dre(e,i,2),a=s[0],c=s[1];i+=8;let u=e.subarray(i,i+a);if(i+=a,c===1313821514){let f=wl(u);o=JSON.parse(f),ly(o)}else c===5130562&&(r=u)}if(l(o)&&l(r)){let s=o.buffers;if(l(s)&&s.length>0){let a=s[0];a.extras._pipeline.source=r}}return o}var Q1=j3e;function X3e(e){return Pe.shader(e,function(t){VU(t)}),Pe.buffer(e,function(t){VU(t)}),Pe.image(e,function(t){VU(t)}),VU(e),e}function VU(e){l(e.extras)&&(l(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var J1=X3e;function K3e(e,t){let n=e.extensionsUsed;l(n)||(n=[],e.extensionsUsed=n),Rs(n,t,!0)}var vf=K3e;function Z3e(e){switch(e){case X.BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt8(n+s*o)};case X.UNSIGNED_BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint8(n+s*o)};case X.SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt16(n+s*o,!0)};case X.UNSIGNED_SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint16(n+s*o,!0)};case X.INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt32(n+s*o,!0)};case X.UNSIGNED_INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint32(n+s*o,!0)};case X.FLOAT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat32(n+s*o,!0)};case X.DOUBLE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat64(n+s*o,!0)}}}var Jp=Z3e;function $3e(e,t){let n=e.bufferViews,i=e.buffers,o=t.bufferView,r=xu(t.type);if(!l(t.bufferView))return{min:new Array(r).fill(0),max:new Array(r).fill(0)};let s=new Array(r).fill(Number.POSITIVE_INFINITY),a=new Array(r).fill(Number.NEGATIVE_INFINITY),c=n[o],u=c.buffer,d=i[u].extras._pipeline.source,p=t.count,g=Rl(e,t),m=t.byteOffset+c.byteOffset+d.byteOffset,x=t.componentType,b=X.getSizeInBytes(x),T=new DataView(d.buffer),A=new Array(r),C=Jp(x);for(let E=0;E<p;E++){C(T,m,r,b,A);for(let v=0;v<r;v++){let D=A[v];s[v]=Math.min(s[v],D),a[v]=Math.max(a[v],D)}m+=g}return{min:s,max:a}}var cb=$3e;var Q3e=[te.FUNC_ADD,te.FUNC_ADD],J3e=[te.ONE,te.ZERO,te.ONE,te.ZERO];function Ire(e,t){let n=e.enable;return l(n)?n.indexOf(t)>-1:!1}var eke=[te.ZERO,te.ONE,te.SRC_COLOR,te.ONE_MINUS_SRC_COLOR,te.SRC_ALPHA,te.ONE_MINUS_SRC_ALPHA,te.DST_ALPHA,te.ONE_MINUS_DST_ALPHA,te.DST_COLOR,te.ONE_MINUS_DST_COLOR];function tke(e,t){if(!l(e))return t;for(let n=0;n<4;n++)if(eke.indexOf(e[n])===-1)return t;return e}function nke(e){let t={},n={},i=e.techniques;return l(i)&&(Pe.technique(e,function(o,r){let s=o.states;if(l(s)){let a=n[r]={};if(Ire(s,te.BLEND)){a.alphaMode="BLEND";let c=s.functions;l(c)&&(l(c.blendEquationSeparate)||l(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,Q3e),blendFactors:tke(c.blendFuncSeparate,J3e)})}Ire(s,te.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(l(e.extensions)||(e.extensions={}),vf(e,"KHR_blend")),Pe.material(e,function(o){if(l(o.technique)){let r=n[o.technique];Pe.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];l(s)&&(l(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var eR=nke;function ike(e,t){let n=e.extensionsRequired;l(n)||(n=[],e.extensionsRequired=n),Rs(n,t,!0),vf(e,t)}var tR=ike;function oke(e){let t=e.techniques,n={},i={},o={};if(l(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,Pe.technique(e,function(a,c){let u={name:a.name,program:void 0,attributes:{},uniforms:{}},f;if(Pe.techniqueAttribute(a,function(d,p){f=a.parameters[d],u.attributes[p]={semantic:f.semantic}}),Pe.techniqueUniform(a,function(d,p){f=a.parameters[d],u.uniforms[p]={count:f.count,node:f.node,type:f.type,semantic:f.semantic,value:f.value},l(n[c])||(n[c]={}),n[c][d]=p}),l(o[a.program]))u.program=o[a.program];else{let d=e.programs[a.program],p={name:d.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[d.fragmentShader];p.fragmentShader=Rs(r.shaders,g,!0);let m=e.shaders[d.vertexShader];p.vertexShader=Rs(r.shaders,m,!0),u.program=Rs(r.programs,p),o[a.program]=u.program}i[c]=Rs(r.techniques,u)}),r.techniques.length>0&&(l(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,vf(e,"KHR_techniques_webgl"),tR(e,"KHR_techniques_webgl"))}return Pe.material(e,function(r){if(l(r.technique)){let s={technique:i[r.technique]};Pe.objectLegacy(r.values,function(a,c){l(s.values)||(s.values={});let u=n[r.technique][c];l(u)&&(s.values[u]=a)}),l(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var nR=oke;function rke(e,t){Ao.typeOf.object("material",e),Ao.defined("handler",t);let n=e.pbrMetallicRoughness;if(l(n)){if(l(n.baseColorTexture)){let r=n.baseColorTexture,s=t(r.index,r);if(l(s))return s}if(l(n.metallicRoughnessTexture)){let r=n.metallicRoughnessTexture,s=t(r.index,r);if(l(s))return s}}let{extensions:i}=e;if(l(i)){let r=i.KHR_materials_pbrSpecularGlossiness;if(l(r)){if(l(r.diffuseTexture)){let c=r.diffuseTexture,u=t(c.index,c);if(l(u))return u}if(l(r.specularGlossinessTexture)){let c=r.specularGlossinessTexture,u=t(c.index,c);if(l(u))return u}}let s=i.KHR_materials_specular;if(l(s)){let{specularTexture:c,specularColorTexture:u}=s;if(l(c)){let f=t(c.index,c);if(l(f))return f}if(l(u)){let f=t(u.index,u);if(l(f))return f}}let a=i.KHR_materials_common;if(l(a)&&l(a.values)){let{diffuse:c,ambient:u,emission:f,specular:d}=a.values;if(l(c)&&l(c.index)){let p=t(c.index,c);if(l(p))return p}if(l(u)&&l(u.index)){let p=t(u.index,u);if(l(p))return p}if(l(f)&&l(f.index)){let p=t(f.index,f);if(l(p))return p}if(l(d)&&l(d.index)){let p=t(d.index,d);if(l(p))return p}}}let o=Pe.materialValue(e,function(r){if(l(r.index)){let s=t(r.index,r);if(l(s))return s}});if(l(o))return o;if(l(e.emissiveTexture)){let r=e.emissiveTexture,s=t(r.index,r);if(l(s))return s}if(l(e.normalTexture)){let r=e.normalTexture,s=t(r.index,r);if(l(s))return s}if(l(e.occlusionTexture)){let r=e.occlusionTexture,s=t(r.index,r);if(l(s))return s}}var IA=rke;var Pre=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function ske(e,t){return t=y(t,Pre),Pre.forEach(function(n){t.indexOf(n)>-1&&cke(e,n)}),e}var ake={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function cke(e,t){let n=ake[t],i=e[n];if(l(i)){let o=0,r=dm[t](e),s=i.length;for(let a=0;a<s;++a)r[a]||(fm[t](e,a-o),o++)}}function fm(){}fm.accessor=function(e,t){e.accessors.splice(t,1),Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){Pe.meshPrimitiveAttribute(o,function(a,c){a>t&&o.attributes[c]--}),Pe.meshPrimitiveTarget(o,function(a){Pe.meshPrimitiveTargetAttribute(a,function(c,u){c>t&&a[u]--})});let r=o.indices;l(r)&&r>t&&o.indices--;let s=o.extensions;l(s)&&l(s.CESIUM_primitive_outline)&&s.CESIUM_primitive_outline.indices>t&&--s.CESIUM_primitive_outline.indices})}),Pe.skin(e,function(i){l(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),Pe.animation(e,function(i){Pe.animationSampler(i,function(o){l(o.input)&&o.input>t&&o.input--,l(o.output)&&o.output>t&&o.output--})})};fm.buffer=function(e,t){e.buffers.splice(t,1),Pe.bufferView(e,function(i){l(i.buffer)&&i.buffer>t&&i.buffer--,l(i.extensions)&&l(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};fm.bufferView=function(e,t){if(e.bufferViews.splice(t,1),Pe.accessor(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Pe.shader(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Pe.image(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),mr(e,"KHR_draco_mesh_compression")&&Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){l(o.extensions)&&l(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),mr(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.bufferView)&&u.bufferView>t&&u.bufferView--,l(u.arrayOffsetBufferView)&&u.arrayOffsetBufferView>t&&u.arrayOffsetBufferView--,l(u.stringOffsetBufferView)&&u.stringOffsetBufferView>t&&u.stringOffsetBufferView--}}}}if(mr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];l(f.values)&&f.values>t&&f.values--,l(f.arrayOffsets)&&f.arrayOffsets>t&&f.arrayOffsets--,l(f.stringOffsets)&&f.stringOffsets>t&&f.stringOffsets--}}}}};fm.image=function(e,t){e.images.splice(t,1),Pe.texture(e,function(i){l(i.source)&&i.source>t&&--i.source;let o=i.extensions;l(o)&&l(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:l(o)&&l(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};fm.mesh=function(e,t){e.meshes.splice(t,1),Pe.node(e,function(i){l(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};fm.node=function(e,t){e.nodes.splice(t,1),Pe.skin(e,function(i){l(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),Pe.animation(e,function(i){Pe.animationChannel(i,function(o){l(o.target)&&l(o.target.node)&&o.target.node>t&&o.target.node--})}),Pe.technique(e,function(i){Pe.techniqueUniform(i,function(o){l(o.node)&&o.node>t&&o.node--})}),Pe.node(e,function(i){l(i.children)&&(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),Pe.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};fm.material=function(e,t){e.materials.splice(t,1),Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){l(o.material)&&o.material>t&&o.material--})})};fm.sampler=function(e,t){e.samplers.splice(t,1),Pe.texture(e,function(i){l(i.sampler)&&i.sampler>t&&--i.sampler})};fm.texture=function(e,t){if(e.textures.splice(t,1),Pe.material(e,function(i){IA(i,function(o,r){r.index>t&&--r.index})}),mr(e,"EXT_feature_metadata")){Pe.mesh(e,function(r){Pe.meshPrimitive(r,function(s){let a=s.extensions;if(l(a)&&l(a.EXT_feature_metadata)){let u=a.EXT_feature_metadata.featureIdTextures;if(l(u)){let f=u.length;for(let d=0;d<f;++d){let g=u[d].featureIds.texture;g.index>t&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let f=a[c].texture;f.index>t&&--f.index}}}}if(mr(e,"EXT_mesh_features")&&Pe.mesh(e,function(i){Pe.meshPrimitive(i,function(o){let r=o.extensions;if(l(r)&&l(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(l(a)){let c=a.length;for(let u=0;u<c;++u){let f=a[u];l(f.texture)&&f.texture.index>t&&--f.texture.index}}}})}),mr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];f.index>t&&--f.index}}}}};function dm(){}dm.accessor=function(e){let t={};return Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){Pe.meshPrimitiveAttribute(i,function(r){t[r]=!0}),Pe.meshPrimitiveTarget(i,function(r){Pe.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;l(o)&&(t[o]=!0)})}),Pe.skin(e,function(n){l(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),Pe.animation(e,function(n){Pe.animationSampler(n,function(i){l(i.input)&&(t[i.input]=!0),l(i.output)&&(t[i.output]=!0)})}),mr(e,"EXT_mesh_gpu_instancing")&&Pe.node(e,function(n){l(n.extensions)&&l(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),mr(e,"CESIUM_primitive_outline")&&Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.CESIUM_primitive_outline)){let s=o.CESIUM_primitive_outline.indices;l(s)&&(t[s]=!0)}})}),t};dm.buffer=function(e){let t={};return Pe.bufferView(e,function(n){l(n.buffer)&&(t[n.buffer]=!0),l(n.extensions)&&l(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};dm.bufferView=function(e){let t={};if(Pe.accessor(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Pe.shader(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Pe.image(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),mr(e,"KHR_draco_mesh_compression")&&Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){l(i.extensions)&&l(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),mr(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];l(c.bufferView)&&(t[c.bufferView]=!0),l(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),l(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(mr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.values)&&(t[u.values]=!0),l(u.arrayOffsets)&&(t[u.arrayOffsets]=!0),l(u.stringOffsets)&&(t[u.stringOffsets]=!0)}}}}return t};dm.image=function(e){let t={};return Pe.texture(e,function(n){l(n.source)&&(t[n.source]=!0),l(n.extensions)&&l(n.extensions.EXT_texture_webp)?t[n.extensions.EXT_texture_webp.source]=!0:l(n.extensions)&&l(n.extensions.KHR_texture_basisu)&&(t[n.extensions.KHR_texture_basisu.source]=!0)}),t};dm.mesh=function(e){let t={};return Pe.node(e,function(n){if(l(n.mesh&&l(e.meshes))){let i=e.meshes[n.mesh];l(i)&&l(i.primitives)&&i.primitives.length>0&&(t[n.mesh]=!0)}}),t};function Rre(e,t,n){let i=e.nodes[t];return l(i.mesh)||l(i.camera)||l(i.skin)||l(i.weights)||l(i.extras)||l(i.extensions)&&Object.keys(i.extensions).length!==0||l(n[t])?!1:!l(i.children)||i.children.filter(function(o){return!Rre(e,o,n)}).length===0}dm.node=function(e){let t={};return Pe.skin(e,function(n){l(n.skeleton)&&(t[n.skeleton]=!0),Pe.skinJoint(n,function(i){t[i]=!0})}),Pe.animation(e,function(n){Pe.animationChannel(n,function(i){l(i.target)&&l(i.target.node)&&(t[i.target.node]=!0)})}),Pe.technique(e,function(n){Pe.techniqueUniform(n,function(i){l(i.node)&&(t[i.node]=!0)})}),Pe.node(e,function(n,i){Rre(e,i,t)||(t[i]=!0)}),t};dm.material=function(e){let t={};return Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){l(i.material)&&(t[i.material]=!0)})}),t};dm.texture=function(e){let t={};if(Pe.material(e,function(n){IA(n,function(i){t[i]=!0})}),mr(e,"EXT_feature_metadata")){Pe.mesh(e,function(o){Pe.meshPrimitive(o,function(r){let s=r.extensions;if(l(s)&&l(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(l(c)){let u=c.length;for(let f=0;f<u;++f){let p=c[f].featureIds.texture;t[p.index]=!0}}}})});let i=e.extensions.EXT_feature_metadata.featureTextures;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].texture;t[u.index]=!0}}}}if(mr(e,"EXT_mesh_features")&&Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.EXT_mesh_features)){let s=o.EXT_mesh_features.featureIds;if(l(s)){let a=s.length;for(let c=0;c<a;++c){let u=s[c];l(u.texture)&&(t[u.texture.index]=!0)}}}})}),mr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTextures;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];t[u.index]=!0}}}}return t};dm.sampler=function(e){let t={};return Pe.texture(e,function(n){l(n.sampler)&&(t[n.sampler]=!0)}),t};var iR=ske;function lke(e,t){let n={byteLength:t.length,extras:{_pipeline:{source:t}}},o={buffer:Rs(e.buffers,n),byteOffset:0,byteLength:t.length};return Rs(e.bufferViews,o)}var oR=lke;function uke(e,t){let n=Rl(e,t),i=X.getSizeInBytes(t.componentType),o=xu(t.type),r=t.count,s=new Array(o*r);if(!l(t.bufferView))return s.fill(0);let a=e.bufferViews[t.bufferView],c=e.buffers[a.buffer].extras._pipeline.source,u=t.byteOffset+a.byteOffset+c.byteOffset,f=new DataView(c.buffer),d=new Array(o),p=Jp(t.componentType);for(let g=0;g<r;++g){p(f,u,o,i,d);for(let m=0;m<o;++m)s[g*o+m]=d[m];u+=n}return s}var rR=uke;function fke(e){let t;return Pe.accessorWithSemantic(e,"JOINTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?UU(e,i,X.UNSIGNED_BYTE):t!==te.UNSIGNED_BYTE&&t!==te.UNSIGNED_SHORT&&UU(e,i,X.UNSIGNED_SHORT)}),Pe.accessorWithSemantic(e,"WEIGHTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?UU(e,i,X.UNSIGNED_BYTE):t===te.SHORT&&UU(e,i,X.UNSIGNED_SHORT)}),e}function UU(e,t,n){let i=X.createTypedArray(n,rR(e,t)),o=new Uint8Array(i.buffer);t.bufferView=oR(e,o),t.componentType=n,t.byteOffset=0}var sR=fke;function dke(e,t){return ab(e,t),t==="CESIUM_RTC"&&hke(e),uW(e,t)}function hke(e){Pe.technique(e,function(t){Pe.techniqueUniform(t,function(n){n.semantic==="CESIUM_RTC_MODELVIEW"&&(n.semantic="MODELVIEW")})})}function uW(e,t){if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;++i)uW(e[i],t)}else if(e!==null&&typeof e=="object"&&e.constructor===Object){let n=e.extensions,i;l(n)&&(i=n[t],l(i)&&(delete n[t],Object.keys(n).length===0&&delete e.extensions));for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&uW(e[o],t);return i}}var lb=dke;var zU={.8:xke,"1.0":Uke,"2.0":void 0};function mke(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.targetVersion,i=e.version;e.asset=y(e.asset,{version:"1.0"}),e.asset.version=y(e.asset.version,"1.0"),i=y(i,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(zU,i)||(l(i)&&(i=i.substring(0,3)),Object.prototype.hasOwnProperty.call(zU,i)||(i="1.0"));let o=zU[i];for(;l(o)&&i!==n;)o(e,t),i=e.asset.version,o=zU[i];return t.keepLegacyExtensions||(Gke(e,t),Wke(e)),e}function Lre(e){let t=e.materials;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.instanceTechnique;l(o)&&(i.technique=o.technique,i.values=o.values,delete i.instanceTechnique)}}function pke(e){let t=e.meshes;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let o=t[n].primitives;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let a=o[s],c=y(a.primitive,te.TRIANGLES);a.mode=y(a.mode,c),delete a.primitive}}}}function _ke(e){let t=e.nodes,n=new h,i=new Le;for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o];if(l(r.rotation)){let a=r.rotation;h.fromArray(a,0,n),Le.fromAxisAngle(n,a[3],i),r.rotation=[i.x,i.y,i.z,i.w]}let s=r.instanceSkin;l(s)&&(r.skeletons=s.skeletons,r.skin=s.skin,r.meshes=s.meshes,delete r.instanceSkin)}}function gke(e){let t=e.animations,n=e.accessors,i=e.bufferViews,o=e.buffers,r={},s=new h,a=new Le;for(let c in t)if(Object.prototype.hasOwnProperty.call(t,c)){let u=t[c],f=u.channels,d=u.parameters,p=u.samplers;if(l(f)){let g=f.length;for(let m=0;m<g;++m){let x=f[m];if(x.target.path==="rotation"){let b=d[p[x.sampler].output];if(l(r[b]))continue;r[b]=!0;let T=n[b],A=i[T.bufferView],E=o[A.buffer].extras._pipeline.source,v=E.byteOffset+A.byteOffset+T.byteOffset,D=T.componentType,O=T.count,R=xu(T.type),M=T.count*R,N=X.createArrayBufferView(D,E.buffer,v,M);for(let _=0;_<O;_++){let S=_*R;h.unpack(N,S,s);let w=N[S+3];Le.fromAxisAngle(s,w,a),Le.pack(a,N,S)}}}}}}function yke(e){let t=e.techniques;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.passes;if(l(o)){let r=y(i.pass,"defaultPass");if(Object.prototype.hasOwnProperty.call(o,r)){let s=o[r],a=s.instanceProgram;i.attributes=y(i.attributes,a.attributes),i.program=y(i.program,a.program),i.uniforms=y(i.uniforms,a.uniforms),i.states=y(i.states,s.states)}delete i.passes,delete i.pass}}}function xke(e){l(e.asset)||(e.asset={});let t=e.asset;if(t.version="1.0",typeof t.profile=="string"){let n=t.profile.split(" ");t.profile={api:n[0],version:n[1]}}else t.profile={};if(l(e.version)&&delete e.version,Lre(e),pke(e),_ke(e),gke(e),yke(e),l(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),l(e.lights)){let n=y(e.extensions,{});e.extensions=n;let i=y(n.KHR_materials_common,{});n.KHR_materials_common=i,i.lights=e.lights,delete e.lights,vf(e,"KHR_materials_common")}}function bke(e){let t=e.animations;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.parameters;if(l(o)){let r=i.samplers;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){let a=r[s];a.input=o[a.input],a.output=o[a.output]}delete i.parameters}}}function Ore(e,t){let n=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let o=e[i];t[i]=n.length,n.push(o),l(o.name)||(o.name=i)}return n}function Tke(e){let t,n={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}},i,o={},r=e.nodes;for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(i=r[s].jointName,l(i)&&(o[i]=s));for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&l(n[s])){let a={},c=e[s];e[s]=Ore(c,a),n[s]=a}for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(o[i]=n.nodes[o[i]]);l(e.scene)&&(e.scene=n.scenes[e.scene]),Pe.bufferView(e,function(s){l(s.buffer)&&(s.buffer=n.buffers[s.buffer])}),Pe.accessor(e,function(s){l(s.bufferView)&&(s.bufferView=n.bufferViews[s.bufferView])}),Pe.shader(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Pe.program(e,function(s){l(s.vertexShader)&&(s.vertexShader=n.shaders[s.vertexShader]),l(s.fragmentShader)&&(s.fragmentShader=n.shaders[s.fragmentShader])}),Pe.technique(e,function(s){l(s.program)&&(s.program=n.programs[s.program]),Pe.techniqueParameter(s,function(a){l(a.node)&&(a.node=n.nodes[a.node]);let c=a.value;typeof c=="string"&&(a.value={index:n.textures[c]})})}),Pe.mesh(e,function(s){Pe.meshPrimitive(s,function(a){l(a.indices)&&(a.indices=n.accessors[a.indices]),Pe.meshPrimitiveAttribute(a,function(c,u){a.attributes[u]=n.accessors[c]}),l(a.material)&&(a.material=n.materials[a.material])})}),Pe.node(e,function(s){let a=s.children;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}if(l(s.meshes)){let c=s.meshes,u=c.length;if(u>0)for(s.mesh=n.meshes[c[0]],t=1;t<u;++t){let f={mesh:n.meshes[c[t]]},d=Rs(e.nodes,f);l(a)||(a=[],s.children=a),a.push(d)}delete s.meshes}if(l(s.camera)&&(s.camera=n.cameras[s.camera]),l(s.skin)&&(s.skin=n.skins[s.skin]),l(s.skeletons)){let c=s.skeletons;if(c.length>0&&l(s.skin)){let f=e.skins[s.skin];f.skeleton=n.nodes[c[0]]}delete s.skeletons}l(s.jointName)&&delete s.jointName}),Pe.skin(e,function(s){l(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(l(a)){let c=[],u=a.length;for(t=0;t<u;++t)c[t]=o[a[t]];s.joints=c,delete s.jointNames}}),Pe.scene(e,function(s){let a=s.nodes;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}}),Pe.animation(e,function(s){let a={};s.samplers=Ore(s.samplers,a),Pe.animationSampler(s,function(c){c.input=n.accessors[c.input],c.output=n.accessors[c.output]}),Pe.animationChannel(s,function(c){c.sampler=a[c.sampler];let u=c.target;l(u)&&(u.node=n.nodes[u.id],delete u.id)})}),Pe.material(e,function(s){l(s.technique)&&(s.technique=n.techniques[s.technique]),Pe.materialValue(s,function(c,u){typeof c=="string"&&(s.values[u]={index:n.textures[c]})});let a=s.extensions;if(l(a)){let c=a.KHR_materials_common;l(c)&&l(c.values)&&Pe.materialValue(c,function(u,f){typeof u=="string"&&(c.values[f]={index:n.textures[u]})})}}),Pe.image(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],s.mimeType=c.mimeType,delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Pe.texture(e,function(s){l(s.sampler)&&(s.sampler=n.samplers[s.sampler]),l(s.source)&&(s.source=n.images[s.source])})}function Cke(e){Pe.animation(e,function(t){Pe.animationSampler(t,function(n){delete n.name})})}function Ake(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];Array.isArray(n)&&n.length===0&&delete e[t]}Pe.node(e,function(t){l(t.children)&&t.children.length===0&&delete t.children})}function Eke(e){let t=e.asset;delete t.profile,delete t.premultipliedAlpha}var Ske={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function vke(e){let t=e.extensionsUsed;if(e.extensionsRequired=y(e.extensionsRequired,[]),l(t)){let n=t.length;for(let i=0;i<n;++i){let o=t[i];l(Ske[o])&&e.extensionsRequired.push(o)}}}function wke(e){Pe.buffer(e,function(t){delete t.type})}function Dke(e){Pe.texture(e,function(t){delete t.format,delete t.internalFormat,delete t.target,delete t.type})}function Ike(e){Pe.mesh(e,function(t){Pe.meshPrimitive(t,function(n){Pe.meshPrimitiveAttribute(n,function(i,o){o==="TEXCOORD"?n.attributes.TEXCOORD_0=i:o==="COLOR"&&(n.attributes.COLOR_0=i)}),delete n.attributes.TEXCOORD,delete n.attributes.COLOR})}),Pe.technique(e,function(t){Pe.techniqueParameter(t,function(n){let i=n.semantic;l(i)&&(i==="TEXCOORD"?n.semantic="TEXCOORD_0":i==="COLOR"&&(n.semantic="COLOR_0"))})})}var Pke={POSITION:!0,NORMAL:!0,TANGENT:!0},Rke={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function Oke(e){let t={};Pe.mesh(e,function(n){Pe.meshPrimitive(n,function(i){Pe.meshPrimitiveAttribute(i,function(o,r){if(r.charAt(0)!=="_"){let s=r.search(/_[0-9]+/g),a=r,c="_0";s>=0&&(a=r.substring(0,s),c=r.substring(s));let u,f=Rke[a];l(f)?(u=f+c,t[r]=u):l(Pke[a])||(u=`_${r}`,t[r]=u)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];l(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),Pe.technique(e,function(n){Pe.techniqueParameter(n,function(i){let o=t[i.semantic];l(o)&&(i.semantic=o)})})}function Mke(e){Pe.camera(e,function(t){let n=t.perspective;if(l(n)){let i=n.aspectRatio;l(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;l(o)&&o===0&&(n.yfov=1)}})}function dW(e,t){return l(t.byteStride)&&t.byteStride!==0?t.byteStride:Rl(e,t)}function Lke(e){Pe.buffer(e,function(t){l(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),Pe.accessor(e,function(t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n],o=dW(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function Nke(e){let t,n,i,o=e.bufferViews,r={};Pe.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];l(c.bufferView)&&(r[c.bufferView]=!0)});let s={};Pe.accessor(e,function(a){l(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let u=0,f=0,d=c.length;for(t=0;t<d;++t){let p=c[t],g=dW(e,p),m=p.byteOffset,x=p.count*g;delete p.byteStride;let b=t<d-1,T=b?dW(e,c[t+1]):void 0;if(g!==T){let A=He(i,!0);r[a]&&(A.byteStride=g),A.byteOffset+=u,A.byteLength=m+x-u;let C=Rs(o,A);for(n=f;n<=t;++n)p=c[n],p.bufferView=C,p.byteOffset=p.byteOffset-u;u=b?c[t+1].byteOffset:void 0,f=t+1}}}iR(e,["accessor","bufferView","buffer"])}function Fke(e){Pe.accessorWithSemantic(e,"POSITION",function(t){let n=e.accessors[t];if(!l(n.min)||!l(n.max)){let i=cb(e,n);n.min=i.min,n.max=i.max}})}function Nre(e){return(!l(e.children)||e.children.length===0)&&(!l(e.meshes)||e.meshes.length===0)&&!l(e.camera)&&!l(e.skin)&&!l(e.skeletons)&&!l(e.jointName)&&(!l(e.translation)||h.fromArray(e.translation).equals(h.ZERO))&&(!l(e.scale)||h.fromArray(e.scale).equals(new h(1,1,1)))&&(!l(e.rotation)||ie.fromArray(e.rotation).equals(new ie(0,0,0,1)))&&(!l(e.matrix)||F.fromColumnMajorArray(e.matrix).equals(F.IDENTITY))&&!l(e.extensions)&&!l(e.extras)}function Fre(e,t){Pe.scene(e,function(n){let i=n.nodes;if(l(i)){let o=i.length;for(let r=o;r>=0;--r)if(i[r]===t){i.splice(r,1);return}}}),Pe.node(e,function(n,i){if(l(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),Nre(n)&&Fre(e,i))}}),delete e.nodes[t]}function Bke(e){return Pe.node(e,function(t,n){Nre(t)&&Fre(e,n)}),e}function kke(e){Pe.animation(e,function(t){Pe.animationSampler(t,function(n){let i=e.accessors[n.input];if(!l(i.min)||!l(i.max)){let o=cb(e,i);i.min=o.min,i.max=o.max}})})}function Vke(e){Pe.accessor(e,function(t){if(l(t.min)||l(t.max)){let n=cb(e,t);l(t.min)&&(t.min=n.min),l(t.max)&&(t.max=n.max)}})}function Uke(e){e.asset=y(e.asset,{}),e.asset.version="2.0",Lre(e),bke(e),Bke(e),Tke(e),Cke(e),Eke(e),vke(e),Lke(e),Nke(e),Fke(e),kke(e),Vke(e),wke(e),Dke(e),Ike(e),Oke(e),sR(e),Mke(e),eR(e),nR(e),Ake(e)}var zke=["u_tex","u_diffuse","u_emission","u_diffuse_tex"],Hke=["u_diffuse","u_diffuse_mat"];function hW(e){e.pbrMetallicRoughness=l(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function mW(e){return l(e.index)}function pW(e){return Array.isArray(e)&&e.length===4}function Bre(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function Gke(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.baseColorTextureNames,zke),i=y(t.baseColorFactorNames,Hke);Pe.material(e,function(o){Pe.materialValue(o,function(r,s){n.indexOf(s)!==-1&&mW(r)?(hW(o),o.pbrMetallicRoughness.baseColorTexture=r):i.indexOf(s)!==-1&&pW(r)&&(hW(o),o.pbrMetallicRoughness.baseColorFactor=Bre(r))})}),lb(e,"KHR_techniques_webgl"),lb(e,"KHR_blend")}function fW(e,t){l(t)&&(pW(t)?e.pbrMetallicRoughness.baseColorFactor=Bre(t):mW(t)&&(e.pbrMetallicRoughness.baseColorTexture=t))}function Mre(e,t){l(t)&&(pW(t)?e.emissiveFactor=t.slice(0,3):mW(t)&&(e.emissiveTexture=t))}function Wke(e){Pe.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(!l(n))return;let i=y(n.values,{}),o=i.ambient,r=i.diffuse,s=i.emission,a=i.transparency,c=n.doubleSided,u=n.transparent;hW(t),n.technique==="CONSTANT"?(vf(e,"KHR_materials_unlit"),t.extensions=l(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={},fW(t,s),fW(t,o)):(fW(t,r),Mre(t,o),Mre(t,s)),l(c)&&(t.doubleSided=c),l(a)&&(l(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=a:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,a]),l(u)&&(t.alphaMode=u?"BLEND":"OPAQUE")}),lb(e,"KHR_materials_common")}var aR=mke;var ai={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function jke(e){switch(e){case ai.POSITION:return"positionMC";case ai.NORMAL:return"normalMC";case ai.TANGENT:return"tangentMC";case ai.TEXCOORD:return"texCoord";case ai.COLOR:return"color";case ai.JOINTS:return"joints";case ai.WEIGHTS:return"weights";case ai.FEATURE_ID:return"featureId"}}ai.hasSetIndex=function(e){switch(e){case ai.POSITION:case ai.NORMAL:case ai.TANGENT:return!1;case ai.TEXCOORD:case ai.COLOR:case ai.JOINTS:case ai.WEIGHTS:case ai.FEATURE_ID:return!0}};ai.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return ai.POSITION;case"NORMAL":return ai.NORMAL;case"TANGENT":return ai.TANGENT;case"TEXCOORD":return ai.TEXCOORD;case"COLOR":return ai.COLOR;case"JOINTS":return ai.JOINTS;case"WEIGHTS":return ai.WEIGHTS;case"_FEATURE_ID":return ai.FEATURE_ID}};ai.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return ai.POSITION;case"RGBA":case"RGB":case"RGB565":return ai.COLOR;case"NORMAL":case"NORMAL_OCT16P":return ai.NORMAL;case"BATCH_ID":return ai.FEATURE_ID}};ai.getGlslType=function(e){switch(e){case ai.POSITION:case ai.NORMAL:case ai.TANGENT:return"vec3";case ai.TEXCOORD:return"vec2";case ai.COLOR:return"vec4";case ai.JOINTS:return"ivec4";case ai.WEIGHTS:return"vec4";case ai.FEATURE_ID:return"int"}};ai.getVariableName=function(e,t){let n=jke(e);return l(t)&&(n+=`_${t}`),n};var St=Object.freeze(ai);function uc(){}uc.getError=function(e,t,n){let i=`Failed to load ${e}: ${t}`;l(n)&&l(n.message)&&(i+=` +${n.message}`);let o=new se(i);return l(n)&&(o.stack=`Original stack: ${n.stack} Handler stack: -${o.stack}`),o};uc.getNodeTransform=function(e){return l(e.matrix)?e.matrix:F.fromTranslationQuaternionRotationScale(l(e.translation)?e.translation:h.ZERO,l(e.rotation)?e.rotation:Le.IDENTITY,l(e.scale)?e.scale:h.ONE)};uc.getAttributeBySemantic=function(e,t,n){let i=e.attributes,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=l(n)?s.setIndex===n:!0;if(s.semantic===t&&a)return s}};uc.getAttributeByName=function(e,t){let n=e.attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.name===t)return r}};uc.getFeatureIdsByLabel=function(e,t){for(let n=0;n<e.length;n++){let i=e[n];if(i.positionalLabel===t||i.label===t)return i}};uc.hasQuantizedAttributes=function(e){if(!l(e))return!1;for(let t=0;t<e.length;t++){let n=e[t];if(l(n.quantization))return!0}return!1};uc.getAttributeInfo=function(e){let t=e.semantic,n=e.setIndex,i,o=!1;l(t)?(i=At.getVariableName(t,n),o=!0):(i=e.name,i=i.replace(/^_/,""),i=i.toLowerCase());let r=/^color_\d+$/.test(i),s=e.type,a=sn.getGlslType(s);r&&(a="vec4");let c=l(e.quantization),u;return c&&(u=r?"vec4":sn.getGlslType(e.quantization.type)),{attribute:e,isQuantized:c,variableName:i,hasSemantic:o,glslType:a,quantizedGlslType:u}};var Ske=new h,vke=new h;uc.getPositionMinMax=function(e,t,n){let i=uc.getAttributeBySemantic(e,"POSITION"),o=i.max,r=i.min;return l(n)&&l(t)&&(r=h.add(r,t,vke),o=h.add(o,n,Ske)),{min:r,max:o}};uc.getAxisCorrectionMatrix=function(e,t,n){return n=F.clone(F.IDENTITY,n),e===Oo.Y?n=F.clone(Oo.Y_UP_TO_Z_UP,n):e===Oo.X&&(n=F.clone(Oo.X_UP_TO_Z_UP,n)),t===Oo.Z&&(n=F.multiplyTransformation(n,Oo.Z_UP_TO_X_UP,n)),n};var wke=new $;uc.getCullFace=function(e,t){if(!Ne.isTriangles(t))return bi.BACK;let n=F.getMatrix3(e,wke);return $.determinant(n)<0?bi.FRONT:bi.BACK};uc.sanitizeGlslIdentifier=function(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g,"_");return t=t.replace(/^gl_/,""),/^\d/.test(t)&&(t=`_${t}`),t};uc.supportedExtensions={AGI_articulations:!0,CESIUM_primitive_outline:!0,CESIUM_RTC:!0,EXT_feature_metadata:!0,EXT_instance_features:!0,EXT_mesh_features:!0,EXT_mesh_gpu_instancing:!0,EXT_meshopt_compression:!0,EXT_structural_metadata:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_draco_mesh_compression:!0,KHR_techniques_webgl:!0,KHR_materials_common:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_materials_specular:!0,KHR_materials_anisotropy:!0,KHR_materials_clearcoat:!0,KHR_materials_unlit:!0,KHR_mesh_quantization:!0,KHR_texture_basisu:!0,KHR_texture_transform:!0,WEB3D_quantized_attributes:!0};uc.checkSupportedExtensions=function(e){let t=e.length;for(let n=0;n<t;n++){let i=e[n];if(!uc.supportedExtensions[i])throw new ce(`Unsupported glTF Extension: ${i}`)}};var Xt=uc;function ry(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltfResource,i=e.baseResource,o=e.typedArray,r=e.gltfJson,s=e.cacheKey;this._resourceCache=t,this._gltfResource=n,this._baseResource=i,this._typedArray=o,this._gltfJson=r,this._cacheKey=s,this._gltf=void 0,this._bufferLoaders=[],this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(ry.prototype=Object.create(Zi.prototype),ry.prototype.constructor=ry);Object.defineProperties(ry.prototype,{cacheKey:{get:function(){return this._cacheKey}},gltf:{get:function(){return this._gltf}}});ry.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=mt.LOADING,l(this._gltfJson)?(this._promise=xre(this,this._gltfJson),this._promise):l(this._typedArray)?(this._promise=bre(this,this._typedArray),this._promise):(this._promise=Dke(this),this._promise))};async function Dke(e){let t;try{let n=await e._fetchGltf();if(e.isDestroyed())return;t=new Uint8Array(n)}catch(n){if(e.isDestroyed())return;rW(e,n)}return bre(e,t)}function rW(e,t){e.unload(),e._state=mt.FAILED;let n=`Failed to load glTF: ${e._gltfResource.url}`;throw e.getError(n,t)}async function Ike(e,t){if(l(t.asset)&&t.asset.version==="2.0"&&!cr(t,"KHR_techniques_webgl")&&!cr(t,"KHR_materials_common"))return Promise.resolve();let n=[];Ie.buffer(t,function(i){if(!l(i.extras._pipeline.source)&&l(i.uri)){let o=e._baseResource.getDerivedResource({url:i.uri}),s=e._resourceCache.getExternalBufferLoader({resource:o});e._bufferLoaders.push(s),n.push(s.load().then(function(){s.isDestroyed()||(i.extras._pipeline.source=s.typedArray)}))}}),await Promise.all(n),eR(t)}function Pke(e){let t=[];return Ie.buffer(e,function(n){let i=n.uri;!l(n.extras._pipeline.source)&&l(i)&&_p(i)&&(delete n.uri,t.push(we.fetchArrayBuffer(i).then(function(o){n.extras._pipeline.source=new Uint8Array(o)})))}),Promise.all(t)}function Rke(e,t){let n=[];return Ie.buffer(t,function(i,o){let r=i.extras._pipeline.source;if(l(r)&&!l(i.uri)){let a=e._resourceCache.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:o,typedArray:r});e._bufferLoaders.push(a),n.push(a.load())}}),Promise.all(n)}async function xre(e,t){try{oy(t),await Pke(t),await Ike(e,t),G1(t),await Rke(e,t),q1(t);let n=t.asset.version;if(n!=="1.0"&&n!=="2.0")throw new ce(`Unsupported glTF version: ${n}`);let i=t.extensionsRequired;return l(i)&&Xt.checkSupportedExtensions(i),e._gltf=t,e._state=mt.READY,e}catch(n){if(e.isDestroyed())return;rW(e,n)}}async function bre(e,t){let n;try{kd(t)==="glTF"?n=j1(t):n=Mo(t)}catch(i){if(e.isDestroyed())return;rW(e,i)}return xre(e,n)}ry.prototype.unload=function(){let e=this._bufferLoaders,t=e.length;for(let n=0;n<t;++n)e[n]=!e[n].isDestroyed()&&this._resourceCache.unload(e[n]);this._bufferLoaders.length=0,this._gltf=void 0};ry.prototype._fetchGltf=function(){return this._gltfResource.fetchArrayBuffer()};var vA=ry;var Oke={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},um=Object.freeze(Oke);var Eo={};function Mke(){this.octEncoded=!1,this.octEncodedZXY=!1,this.normalizationRange=void 0,this.quantizedVolumeOffset=void 0,this.quantizedVolumeDimensions=void 0,this.quantizedVolumeStepSize=void 0,this.componentDatatype=void 0,this.type=void 0}function Lke(){this.name=void 0,this.semantic=void 0,this.setIndex=void 0,this.componentDatatype=void 0,this.type=void 0,this.normalized=!1,this.count=void 0,this.min=void 0,this.max=void 0,this.constant=void 0,this.quantization=void 0,this.typedArray=void 0,this.buffer=void 0,this.byteOffset=0,this.byteStride=void 0}function Nke(){this.indexDatatype=void 0,this.count=void 0,this.buffer=void 0,this.typedArray=void 0}function Fke(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.setIndex=void 0,this.label=void 0,this.positionalLabel=void 0}function Bke(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.offset=0,this.repeat=void 0,this.label=void 0,this.positionalLabel=void 0}function kke(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.textureReader=void 0,this.label=void 0,this.positionalLabel=void 0}function Vke(){this.attributes=[]}function Uke(){this.attributes=[],this.morphTargets=[],this.indices=void 0,this.material=void 0,this.primitiveType=void 0,this.featureIds=[],this.propertyTextureIds=[],this.propertyAttributeIds=[],this.outlineCoordinates=void 0}function zke(){this.attributes=[],this.featureIds=[],this.transformInWorldSpace=!1}function Hke(){this.index=void 0,this.joints=[],this.inverseBindMatrices=[]}function Gke(){this.name=void 0,this.index=void 0,this.children=[],this.primitives=[],this.instances=void 0,this.skin=void 0,this.matrix=void 0,this.translation=void 0,this.rotation=void 0,this.scale=void 0,this.morphWeights=[],this.articulationName=void 0}function Wke(){this.nodes=[]}var jke={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};function qke(){this.input=[],this.interpolation=void 0,this.output=[]}function Yke(){this.node=void 0,this.path=void 0}function Xke(){this.sampler=void 0,this.target=void 0}function Kke(){this.name=void 0,this.samplers=[],this.channels=[]}function Zke(){this.name=void 0,this.type=void 0,this.minimumValue=void 0,this.maximumValue=void 0,this.initialValue=void 0}function $ke(){this.name=void 0,this.stages=[]}function Tre(){this.credits=[]}function Qke(){this.asset=new Tre,this.scene=void 0,this.nodes=[],this.skins=[],this.animations=[],this.articulations=[],this.structuralMetadata=void 0,this.upAxis=void 0,this.forwardAxis=void 0,this.transform=F.clone(F.IDENTITY),this.extensions={}}function Jke(){this.texture=void 0,this.index=void 0,this.texCoord=0,this.transform=$.clone($.IDENTITY),this.scale=1,this.channels=void 0}function sy(){this.baseColorTexture=void 0,this.metallicRoughnessTexture=void 0,this.baseColorFactor=oe.clone(sy.DEFAULT_BASE_COLOR_FACTOR),this.metallicFactor=sy.DEFAULT_METALLIC_FACTOR,this.roughnessFactor=sy.DEFAULT_ROUGHNESS_FACTOR}sy.DEFAULT_BASE_COLOR_FACTOR=oe.ONE;sy.DEFAULT_METALLIC_FACTOR=1;sy.DEFAULT_ROUGHNESS_FACTOR=1;function rb(){this.diffuseTexture=void 0,this.specularGlossinessTexture=void 0,this.diffuseFactor=oe.clone(rb.DEFAULT_DIFFUSE_FACTOR),this.specularFactor=h.clone(rb.DEFAULT_SPECULAR_FACTOR),this.glossinessFactor=rb.DEFAULT_GLOSSINESS_FACTOR}rb.DEFAULT_DIFFUSE_FACTOR=oe.ONE;rb.DEFAULT_SPECULAR_FACTOR=h.ONE;rb.DEFAULT_GLOSSINESS_FACTOR=1;function tR(){this.specularFactor=tR.DEFAULT_SPECULAR_FACTOR,this.specularTexture=void 0,this.specularColorFactor=h.clone(tR.DEFAULT_SPECULAR_COLOR_FACTOR),this.specularColorTexture=void 0}tR.DEFAULT_SPECULAR_FACTOR=1;tR.DEFAULT_SPECULAR_COLOR_FACTOR=h.ONE;function nR(){this.anisotropyStrength=nR.DEFAULT_ANISOTROPY_STRENGTH,this.anisotropyRotation=nR.DEFAULT_ANISOTROPY_ROTATION,this.anisotropyTexture=void 0}nR.DEFAULT_ANISOTROPY_STRENGTH=0;nR.DEFAULT_ANISOTROPY_ROTATION=0;function iR(){this.clearcoatFactor=iR.DEFAULT_CLEARCOAT_FACTOR,this.clearcoatTexture=void 0,this.clearcoatRoughnessFactor=iR.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,this.clearcoatRoughnessTexture=void 0,this.clearcoatNormalTexture=void 0}iR.DEFAULT_CLEARCOAT_FACTOR=0;iR.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR=0;function sW(){this.metallicRoughness=new sy,this.specularGlossiness=void 0,this.specular=void 0,this.anisotropy=void 0,this.clearcoat=void 0,this.emissiveTexture=void 0,this.normalTexture=void 0,this.occlusionTexture=void 0,this.emissiveFactor=h.clone(sW.DEFAULT_EMISSIVE_FACTOR),this.alphaMode=um.OPAQUE,this.alphaCutoff=.5,this.doubleSided=!1,this.unlit=!1}sW.DEFAULT_EMISSIVE_FACTOR=h.ZERO;Eo.Quantization=Mke;Eo.Attribute=Lke;Eo.Indices=Nke;Eo.FeatureIdAttribute=Fke;Eo.FeatureIdTexture=kke;Eo.FeatureIdImplicitRange=Bke;Eo.MorphTarget=Vke;Eo.Primitive=Uke;Eo.Instances=zke;Eo.Skin=Hke;Eo.Node=Gke;Eo.Scene=Wke;Eo.AnimatedPropertyType=Object.freeze(jke);Eo.AnimationSampler=qke;Eo.AnimationTarget=Yke;Eo.AnimationChannel=Xke;Eo.Animation=Kke;Eo.ArticulationStage=Zke;Eo.Articulation=$ke;Eo.Asset=Tre;Eo.Components=Qke;Eo.TextureReader=Jke;Eo.MetallicRoughness=sy;Eo.SpecularGlossiness=rb;Eo.Specular=tR;Eo.Anisotropy=nR;Eo.Clearcoat=iR;Eo.Material=sW;var Tn=Eo;var MU={};MU.getImageIdFromTexture=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureId:n,supportedImageFormats:i}=e,o=t.textures[n],r=o.extensions;if(l(r)){if(i.webp&&l(r.EXT_texture_webp))return r.EXT_texture_webp.source;if(i.basis&&l(r.KHR_texture_basisu))return r.KHR_texture_basisu.source}return o.source};MU.createSampler=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,compressedTextureNoMipmap:i=!1}=e,o=En.REPEAT,r=En.REPEAT,s=Jt.LINEAR,a=mi.LINEAR,c=n.index,f=t.textures[c].sampler;if(l(f)){let d=t.samplers[f];o=y(d.wrapS,o),r=y(d.wrapT,r),s=y(d.minFilter,s),a=y(d.magFilter,a)}return i&&s!==Jt.LINEAR&&s!==Jt.NEAREST&&(s===Jt.NEAREST_MIPMAP_NEAREST||s===Jt.NEAREST_MIPMAP_LINEAR?s=Jt.NEAREST:s=Jt.LINEAR),new en({wrapS:o,wrapT:r,minificationFilter:s,magnificationFilter:a})};var eVe=new z(1,1);MU.createModelTextureReader=function(e){e=y(e,y.EMPTY_OBJECT);let{textureInfo:t,channels:n,texture:i}=e,o=y(t.texCoord,0),r,s=t.extensions?.KHR_texture_transform;if(l(s)){o=y(s.texCoord,o);let c=l(s.offset)?z.unpack(s.offset):z.ZERO,u=y(s.rotation,0),f=l(s.scale)?z.unpack(s.scale):eVe;u=-u,r=new $(Math.cos(u)*f.x,-Math.sin(u)*f.y,c.x,Math.sin(u)*f.x,Math.cos(u)*f.y,c.y,0,0,1)}let a=new Tn.TextureReader;return a.index=t.index,a.texture=i,a.texCoord=o,a.scale=t.scale,a.transform=r,a.channels=n,a};var Ml=MU;function tVe(e){let t=document.createElement("canvas");return t.width=P.nextPowerOfTwo(e.width),t.height=P.nextPowerOfTwo(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),t}var ay=tVe;function cy(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.textureInfo,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.cacheKey,c=y(e.asynchronous,!0),u=i.index,f=Ml.getImageIdFromTexture({gltf:n,textureId:u,supportedImageFormats:s});this._resourceCache=t,this._gltf=n,this._textureInfo=i,this._imageId=f,this._gltfResource=o,this._baseResource=r,this._cacheKey=a,this._asynchronous=c,this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(cy.prototype=Object.create(Zi.prototype),cy.prototype.constructor=cy);Object.defineProperties(cy.prototype,{cacheKey:{get:function(){return this._cacheKey}},texture:{get:function(){return this._texture}}});var nVe=new aW;async function iVe(e){let t=e._resourceCache;try{let n=t.getImageLoader({gltf:e._gltf,imageId:e._imageId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._imageLoader=n,await n.load(),e.isDestroyed()?void 0:(e._image=n.image,e._mipLevels=n.mipLevels,e._state=mt.LOADED,e)}catch(n){if(e.isDestroyed())return;throw e.unload(),e._state=mt.FAILED,e.getError("Failed to load texture",n)}}cy.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=mt.LOADING,this._promise=iVe(this),this._promise)};function aW(){this.gltf=void 0,this.textureInfo=void 0,this.image=void 0,this.context=void 0,this.texture=void 0}aW.prototype.set=function(e,t,n,i,o){this.gltf=e,this.textureInfo=t,this.image=n,this.mipLevels=i,this.context=o};aW.prototype.execute=function(){this.texture=Cre(this.gltf,this.textureInfo,this.image,this.mipLevels,this.context)};function Cre(e,t,n,i,o){let r=n.internalFormat,s=!1;ot.isCompressedFormat(r)&&!l(i)&&(s=!0);let a=Ml.createSampler({gltf:e,textureInfo:t,compressedTextureNoMipmap:s}),c=a.minificationFilter,u=a.wrapS,f=a.wrapT,d=c===Jt.NEAREST_MIPMAP_NEAREST||c===Jt.NEAREST_MIPMAP_LINEAR||c===Jt.LINEAR_MIPMAP_NEAREST||c===Jt.LINEAR_MIPMAP_LINEAR,p=!l(r)&&d,g=p||u===En.REPEAT||u===En.MIRRORED_REPEAT||f===En.REPEAT||f===En.MIRRORED_REPEAT,m=!P.isPowerOfTwo(n.width)||!P.isPowerOfTwo(n.height),x=g&&m,b;return l(r)?(!o.webgl2&&ot.isCompressedFormat(r)&&m&&g&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly."),b=Mt.create({context:o,source:{arrayBufferView:n.bufferView,mipLevels:i},width:n.width,height:n.height,pixelFormat:n.internalFormat,sampler:a})):(x&&(n=ay(n)),b=Mt.create({context:o,source:n,sampler:a,flipY:!1,skipColorSpaceConversion:!0})),p&&b.generateMipmap(),b}cy.prototype.process=function(e){if(this._state===mt.READY)return!0;if(this._state!==mt.LOADED&&this._state!==mt.PROCESSING||l(this._texture)||!l(this._image))return!1;this._state=mt.PROCESSING;let t;if(this._asynchronous){let n=nVe;if(n.set(this._gltf,this._textureInfo,this._image,this._mipLevels,e.context),!e.jobScheduler.execute(n,ka.TEXTURE))return;t=n.texture}else t=Cre(this._gltf,this._textureInfo,this._image,this._mipLevels,e.context);return this.unload(),this._texture=t,this._state=mt.READY,this._resourceCache.statistics.addTextureLoader(this),!0};cy.prototype.unload=function(){l(this._texture)&&this._texture.destroy(),l(this._imageLoader)&&!this._imageLoader.isDestroyed()&&this._resourceCache.unload(this._imageLoader),this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._gltf=void 0};var wA=cy;function ly(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.gltfResource,o=e.baseResource,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=e.accessorId,u=e.cacheKey,f=y(e.asynchronous,!0),d=y(e.loadBuffer,!1),p=y(e.loadTypedArray,!1);this._resourceCache=t,this._gltfResource=i,this._baseResource=o,this._gltf=n,this._bufferViewId=r,this._draco=s,this._attributeSemantic=a,this._accessorId=c,this._cacheKey=u,this._asynchronous=f,this._loadBuffer=d,this._loadTypedArray=p,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._quantization=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(ly.prototype=Object.create(Zi.prototype),ly.prototype.constructor=ly);Object.defineProperties(ly.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},quantization:{get:function(){return this._quantization}}});function oVe(e,t){return l(e)&&l(e.attributes)&&l(e.attributes[t])}ly.prototype.load=async function(){return l(this._promise)?this._promise:oVe(this._draco,this._attributeSemantic)?(this._promise=sVe(this),this._promise):(this._promise=cVe(this),this._promise)};function rVe(e,t,n,i){let r=(1<<e.quantizationBits)-1,s=1/r,a=new Tn.Quantization;if(a.componentDatatype=t,a.octEncoded=e.octEncoded,a.octEncodedZXY=!0,a.type=i,a.octEncoded)a.type=sn.VEC2,a.normalizationRange=r;else{let c=sn.getMathType(i);if(c===Number){let u=e.range;a.quantizedVolumeOffset=e.minValues[0],a.quantizedVolumeDimensions=u,a.normalizationRange=r,a.quantizedVolumeStepSize=u*s}else{a.quantizedVolumeOffset=c.unpack(e.minValues),a.normalizationRange=c.unpack(new Array(n).fill(r));let u=new Array(n).fill(e.range);a.quantizedVolumeDimensions=c.unpack(u);let f=u.map(function(d){return d*s});a.quantizedVolumeStepSize=c.unpack(f)}}return a}async function sVe(e){e._state=mt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=mt.LOADED,e)}catch{if(e.isDestroyed())return;cW(e)}}function aVe(e){e._state=mt.PROCESSING;let n=e._dracoLoader.decodedData.vertexAttributes,i=e._attributeSemantic,o=n[i],r=e._accessorId,a=e._gltf.accessors[r].type,c=o.array,u=o.data.quantization;l(u)&&(e._quantization=rVe(u,o.data.componentDatatype,o.data.componentsPerAttribute,a)),e._typedArray=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}async function cVe(e){e._state=mt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._typedArray=n.typedArray,e._state=mt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;cW(e,n)}}function cW(e,t){throw e.unload(),e._state=mt.FAILED,e.getError("Failed to load vertex buffer",t)}function lW(){this.typedArray=void 0,this.context=void 0,this.buffer=void 0}lW.prototype.set=function(e,t){this.typedArray=e,this.context=t};lW.prototype.execute=function(){this.buffer=Are(this.typedArray,this.context)};function Are(e,t){let n=pt.createVertexBuffer({typedArray:e,context:t,usage:ke.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}var lVe=new lW;ly.prototype.process=function(e){if(this._state===mt.READY)return!0;if(this._state!==mt.LOADED&&this._state!==mt.PROCESSING)return!1;if(l(this._dracoLoader)){try{if(!this._dracoLoader.process(e))return!1}catch(i){cW(this,i)}aVe(this)}let t,n=this._typedArray;if(this._loadBuffer&&this._asynchronous){let i=lVe;if(i.set(n,e.context),!e.jobScheduler.execute(i,ka.BUFFER))return!1;t=i.buffer}else this._loadBuffer&&(t=Are(n,e.context));return this.unload(),this._buffer=t,this._typedArray=this._loadTypedArray?n:void 0,this._state=mt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};ly.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var DA=ly;function oR(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=y(e.properties,{}),i={};for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r.semantic)&&(i[r.semantic]=r)}this._id=t,this._name=e.name,this._description=e.description,this._properties=n,this._propertiesBySemantic=i,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}oR.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.class,i={};for(let o in n.properties)if(n.properties.hasOwnProperty(o)){let r=ey.fromJson({id:o,property:n.properties[o],enums:e.enums});i[o]=r}return new oR({id:t,name:n.name,description:n.description,properties:i,extras:n.extras,extensions:n.extensions})};Object.defineProperties(oR.prototype,{properties:{get:function(){return this._properties}},propertiesBySemantic:{get:function(){return this._propertiesBySemantic}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});oR.BATCH_TABLE_CLASS_NAME="_batchTable";var zd=oR;function LU(e){e=y(e,y.EMPTY_OBJECT);let t=e.value,n=e.name;this._value=t,this._name=n,this._description=e.description,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}LU.fromJson=function(e){return new LU({value:e.value,name:e.name,description:e.description,extras:e.extras,extensions:e.extensions})};Object.defineProperties(LU.prototype,{value:{get:function(){return this._value}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var rR=LU;function NU(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.values,i={},o={},r=n.length;for(let a=0;a<r;++a){let c=n[a];i[c.value]=c.name,o[c.name]=c.value}let s=y(e.valueType,zt.UINT16);this._values=n,this._namesByValue=i,this._valuesByName=o,this._valueType=s,this._id=t,this._name=e.name,this._description=e.description,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}NU.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.enum,i=n.values.map(function(o){return rR.fromJson(o)});return new NU({id:t,values:i,valueType:zt[n.valueType],name:n.name,description:n.description,extras:n.extras,extensions:n.extensions})};Object.defineProperties(NU.prototype,{values:{get:function(){return this._values}},namesByValue:{get:function(){return this._namesByValue}},valuesByName:{get:function(){return this._valuesByName}},valueType:{get:function(){return this._valueType}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var sR=NU;function FU(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.classes,{}),n=y(e.enums,{});this._classes=t,this._enums=n,this._id=e.id,this._name=e.name,this._description=e.description,this._version=e.version,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}FU.fromJson=function(e){let t={};if(l(e.enums))for(let i in e.enums)e.enums.hasOwnProperty(i)&&(t[i]=sR.fromJson({id:i,enum:e.enums[i]}));let n={};if(l(e.classes))for(let i in e.classes)e.classes.hasOwnProperty(i)&&(n[i]=zd.fromJson({id:i,class:e.classes[i],enums:t}));return new FU({id:e.id,name:e.name,description:e.description,version:e.version,classes:n,enums:t,extras:e.extras,extensions:e.extensions})};Object.defineProperties(FU.prototype,{classes:{get:function(){return this._classes}},enums:{get:function(){return this._enums}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},version:{get:function(){return this._version}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var Tu=FU;function sb(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=e.cacheKey;this._schema=l(t)?Tu.fromJson(t):void 0,this._resource=n,this._cacheKey=i,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(sb.prototype=Object.create(Zi.prototype),sb.prototype.constructor=sb);Object.defineProperties(sb.prototype,{cacheKey:{get:function(){return this._cacheKey}},schema:{get:function(){return this._schema}}});sb.prototype.load=async function(){return l(this._promise)?this._promise:l(this._schema)?(this._promise=Promise.resolve(this),this._promise):(this._promise=uVe(this),this._promise)};async function uVe(e){let t=e._resource;e._state=mt.LOADING;try{let n=await t.fetchJson();return e.isDestroyed()?void 0:(e._schema=Tu.fromJson(n),e._state=mt.READY,e)}catch(n){if(e.isDestroyed())return;e._state=mt.FAILED;let i=`Failed to load schema: ${t.url}`;throw e.getError(i,n)}}sb.prototype.unload=function(){this._schema=void 0};var IA=sb;var Hd={};function PA(e){return Wh(e.url)}function BU(e){let{byteOffset:t,byteLength:n}=e;if(ai(e,"EXT_meshopt_compression")){let i=e.extensions.EXT_meshopt_compression;t=y(i.byteOffset,0),n=i.byteLength}return`${t}-${t+n}`}function fVe(e,t){let n=t.byteOffset+e.byteOffset,{componentType:i,type:o,count:r}=e;return`${n}-${i}-${o}-${r}`}function Ere(e,t){return`${PA(e)}-buffer-id-${t}`}function aR(e,t,n,i){if(l(e.uri)){let o=i.getDerivedResource({url:e.uri});return PA(o)}return Ere(n,t)}function uW(e,t,n,i){let o=t.bufferView,r=e.bufferViews[o],s=r.buffer,a=e.buffers[s],c=aR(a,s,n,i),u=BU(r);return`${c}-range-${u}`}function Sre(e,t,n,i){let o=e.images[t],r=o.bufferView,s=o.uri;if(l(s)){let p=i.getDerivedResource({url:s});return PA(p)}let a=e.bufferViews[r],c=a.buffer,u=e.buffers[c],f=aR(u,c,n,i),d=BU(a);return`${f}-range-${d}`}function dVe(e,t){let n=Ml.createSampler({gltf:e,textureInfo:t});return`${n.wrapS}-${n.wrapT}-${n.minificationFilter}-${n.magnificationFilter}`}Hd.getSchemaCacheKey=function(e){let{schema:t,resource:n}=e;return l(t)?`embedded-schema:${JSON.stringify(t)}`:`external-schema:${PA(n)}`};Hd.getExternalBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e;return`external-buffer:${PA(t)}`};Hd.getEmbeddedBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n}=e;return`embedded-buffer:${Ere(t,n)}`};Hd.getGltfCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t}=e;return`gltf:${PA(t)}`};Hd.getBufferViewCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=t.bufferViews[n],s=r.buffer,a=t.buffers[s];ai(r,"EXT_meshopt_compression")&&(s=r.extensions.EXT_meshopt_compression.buffer);let c=aR(a,s,i,o),u=BU(r);return`buffer-view:${c}-range-${u}`};Hd.getDracoCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e;return`draco:${uW(t,n,i,o)}`};Hd.getVertexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:c=!1,loadBuffer:u=!1,loadTypedArray:f=!1}=e,d="";if(c&&(d+="-dequantize"),u&&(d+="-buffer",d+=`-context-${o.context.id}`),f&&(d+="-typed-array"),l(s))return`vertex-buffer:${uW(t,s,n,i)}-draco-${a}${d}`;let p=t.bufferViews[r],g=p.buffer,m=t.buffers[g],x=aR(m,g,n,i),b=BU(p);return`vertex-buffer:${x}-range-${b}${d}`};Hd.getIndexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:a=!1,loadTypedArray:c=!1}=e,u="";if(a&&(u+="-buffer",u+=`-context-${r.context.id}`),c&&(u+="-typed-array"),l(s))return`index-buffer:${uW(t,s,i,o)}-draco${u}`;let f=t.accessors[n],d=f.bufferView,p=t.bufferViews[d],g=p.buffer,m=t.buffers[g],x=aR(m,g,i,o),b=fVe(f,p);return`index-buffer:${x}-accessor-${b}${u}`};Hd.getImageCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e;return`image:${Sre(t,n,i,o)}`};Hd.getTextureCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}=e,a=n.index,c=Ml.getImageIdFromTexture({gltf:t,textureId:a,supportedImageFormats:r}),u=Sre(t,c,i,o),f=dVe(t,n);return`texture:${u}-sampler-${f}-context-${s.context.id}`};var Ll=Hd;function cR(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}}cR.prototype.clear=function(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}};cR.prototype.addGeometryLoader=function(e){let t=e.cacheKey;if(this._geometrySizes.hasOwnProperty(t))return;this._geometrySizes[t]=0;let n=e.buffer,i=e.typedArray,o=0;l(n)&&(o+=n.sizeInBytes),l(i)&&(o+=i.byteLength),this.geometryByteLength+=o,this._geometrySizes[t]=o};cR.prototype.addTextureLoader=function(e){let t=e.cacheKey;if(this._textureSizes.hasOwnProperty(t))return;this._textureSizes[t]=0;let n=e.texture.sizeInBytes;this.texturesByteLength+=e.texture.sizeInBytes,this._textureSizes[t]=n};cR.prototype.removeLoader=function(e){let t=e.cacheKey,n=this._geometrySizes[t];delete this._geometrySizes[t],l(n)&&(this.geometryByteLength-=n);let i=this._textureSizes[t];delete this._textureSizes[t],l(i)&&(this.texturesByteLength-=i)};var lR=cR;function Bn(){}Bn.cacheEntries={};Bn.statistics=new lR;function hVe(e){this.referenceCount=1,this.resourceLoader=e,this._statisticsPromise=void 0}Bn.get=function(e){let t=Bn.cacheEntries[e];if(l(t))return++t.referenceCount,t.resourceLoader};Bn.add=function(e){let t=e.cacheKey;return Bn.cacheEntries[t]=new hVe(e),e};Bn.unload=function(e){let t=e.cacheKey,n=Bn.cacheEntries[t];--n.referenceCount,n.referenceCount===0&&(Bn.statistics.removeLoader(e),e.destroy(),delete Bn.cacheEntries[t])};Bn.getSchemaLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{schema:t,resource:n}=e,i=Ll.getSchemaCacheKey({schema:t,resource:n}),o=Bn.get(i);return l(o)?o:(o=new IA({schema:t,resource:n,cacheKey:i}),Bn.add(o))};Bn.getEmbeddedBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n,typedArray:i}=e,o=Ll.getEmbeddedBufferCacheKey({parentResource:t,bufferId:n}),r=Bn.get(o);return l(r)?r:(r=new Qx({typedArray:i,cacheKey:o}),Bn.add(r))};Bn.getExternalBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e,n=Ll.getExternalBufferCacheKey({resource:t}),i=Bn.get(n);return l(i)?i:(i=new Qx({resource:t,cacheKey:n}),Bn.add(i))};Bn.getGltfJsonLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,baseResource:n,typedArray:i,gltfJson:o}=e,r=Ll.getGltfCacheKey({gltfResource:t}),s=Bn.get(r);return l(s)?s:(s=new vA({resourceCache:Bn,gltfResource:t,baseResource:n,typedArray:i,gltfJson:o,cacheKey:r}),Bn.add(s))};Bn.getBufferViewLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=Ll.getBufferViewCacheKey({gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}),s=Bn.get(r);return l(s)?s:(s=new TA({resourceCache:Bn,gltf:t,bufferViewId:n,gltfResource:i,baseResource:o,cacheKey:r}),Bn.add(s))};Bn.getDracoLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e,r=Ll.getDracoCacheKey({gltf:t,draco:n,gltfResource:i,baseResource:o}),s=Bn.get(r);return l(s)?s:(s=new CA({resourceCache:Bn,gltf:t,draco:n,gltfResource:i,baseResource:o,cacheKey:r}),Bn.add(s))};Bn.getVertexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,asynchronous:u=!0,dequantize:f=!1,loadBuffer:d=!1,loadTypedArray:p=!1}=e,g=Ll.getVertexBufferCacheKey({gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:f,loadBuffer:d,loadTypedArray:p}),m=Bn.get(g);return l(m)?m:(m=new DA({resourceCache:Bn,gltf:t,gltfResource:n,baseResource:i,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,cacheKey:g,asynchronous:u,dequantize:f,loadBuffer:d,loadTypedArray:p}),Bn.add(m))};Bn.getIndexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,asynchronous:a=!0,loadBuffer:c=!1,loadTypedArray:u=!1}=e,f=Ll.getIndexBufferCacheKey({gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:c,loadTypedArray:u}),d=Bn.get(f);return l(d)?d:(d=new EA({resourceCache:Bn,gltf:t,accessorId:n,gltfResource:i,baseResource:o,draco:s,cacheKey:f,asynchronous:a,loadBuffer:c,loadTypedArray:u}),Bn.add(d))};Bn.getImageLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e,r=Ll.getImageCacheKey({gltf:t,imageId:n,gltfResource:i,baseResource:o}),s=Bn.get(r);return l(s)?s:(s=new AA({resourceCache:Bn,gltf:t,imageId:n,gltfResource:i,baseResource:o,cacheKey:r}),Bn.add(s))};Bn.getTextureLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a=!0}=e,c=Ll.getTextureCacheKey({gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}),u=Bn.get(c);return l(u)?u:(u=new wA({resourceCache:Bn,gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,cacheKey:c,asynchronous:a}),Bn.add(u))};Bn.clearForSpecs=function(){let e=[DA,EA,CA,wA,AA,TA,Qx,IA,vA],t,n=Bn.cacheEntries,i=[];for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);i.sort(function(r,s){let a=e.indexOf(r.resourceLoader.constructor),c=e.indexOf(s.resourceLoader.constructor);return a-c});let o=i.length;for(let r=0;r<o;++r){let s=i[r];t=s.resourceLoader.cacheKey,l(n[t])&&(s.resourceLoader.destroy(),delete n[t])}Bn.statistics.clear()};var Si=Bn;function ha(e,t,n){this._resource=e,this._subtreeJson=void 0,this._bufferLoader=void 0,this._tileAvailability=void 0,this._contentAvailabilityBitstreams=[],this._childSubtreeAvailability=void 0,this._implicitCoordinates=n,this._subtreeLevels=t.subtreeLevels,this._subdivisionScheme=t.subdivisionScheme,this._branchingFactor=t.branchingFactor,this._metadata=void 0,this._tileMetadataTable=void 0,this._tilePropertyTableJson=void 0,this._contentMetadataTables=[],this._contentPropertyTableJsons=[],this._tileJumpBuffer=void 0,this._contentJumpBuffers=[],this._ready=!1}Object.defineProperties(ha.prototype,{ready:{get:function(){return this._ready}},metadata:{get:function(){return this._metadata}},tileMetadataTable:{get:function(){return this._tileMetadataTable}},tilePropertyTableJson:{get:function(){return this._tilePropertyTableJson}},contentMetadataTables:{get:function(){return this._contentMetadataTables}},contentPropertyTableJsons:{get:function(){return this._contentPropertyTableJsons}},implicitCoordinates:{get:function(){return this._implicitCoordinates}}});ha.prototype.tileIsAvailableAtIndex=function(e){return this._tileAvailability.getBit(e)};ha.prototype.tileIsAvailableAtCoordinates=function(e){let t=this.getTileIndex(e);return this.tileIsAvailableAtIndex(t)};ha.prototype.contentIsAvailableAtIndex=function(e,t){return t=y(t,0),this._contentAvailabilityBitstreams[t].getBit(e)};ha.prototype.contentIsAvailableAtCoordinates=function(e,t){let n=this.getTileIndex(e);return this.contentIsAvailableAtIndex(n,t)};ha.prototype.childSubtreeIsAvailableAtIndex=function(e){return this._childSubtreeAvailability.getBit(e)};ha.prototype.childSubtreeIsAvailableAtCoordinates=function(e){let t=this.getChildSubtreeIndex(e);return this.childSubtreeIsAvailableAtIndex(t)};ha.prototype.getLevelOffset=function(e){let t=this._branchingFactor;return(Math.pow(t,e)-1)/(t-1)};ha.prototype.getParentMortonIndex=function(e){let t=2;return this._subdivisionScheme===Jr.OCTREE&&(t=3),e>>t};ha.fromSubtreeJson=async function(e,t,n,i,o){let r=new ha(e,i,o),s;l(t)?s={json:t,binary:void 0}:s=mVe(n);let a=s.json;r._subtreeJson=a;let c;if(ai(a,"3DTILES_metadata"))c=a.extensions["3DTILES_metadata"];else if(l(a.tileMetadata)){let A=a.tileMetadata;c=a.propertyTables[A]}let u=[];if(l(a.contentMetadata)){let A=a.contentMetadata.length;for(let C=0;C<A;C++){let E=a.contentMetadata[C];u.push(a.propertyTables[E])}}let f,d=i.metadataSchema,p=a.subtreeMetadata;if(l(p)){let A=p.class,C=d.classes[A];f=new B1({subtreeMetadata:p,class:C})}r._metadata=f,r._tilePropertyTableJson=c,r._contentPropertyTableJsons=u;let g={constant:0};a.contentAvailabilityHeaders=[],ai(a,"3DTILES_multiple_contents")?a.contentAvailabilityHeaders=a.extensions["3DTILES_multiple_contents"].contentAvailability:Array.isArray(a.contentAvailability)?a.contentAvailabilityHeaders=a.contentAvailability:a.contentAvailabilityHeaders.push(y(a.contentAvailability,g));let m=pVe(a.buffers),x=_Ve(a.bufferViews,m);gVe(a,x),l(c)&&vre(c,x);for(let A=0;A<u.length;A++){let C=u[A];vre(C,x)}let b=await yVe(r,m,s.binary),T=bVe(x,b);return TVe(r,a,i,T),l(c)&&(CVe(r,i,T),EVe(r)),AVe(r,i,T),SVe(r),r._ready=!0,r};function mVe(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Mo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}function pVe(e){e=l(e)?e:[];for(let t=0;t<e.length;t++){let n=e[t];n.isExternal=l(n.uri),n.isActive=!1}return e}function _Ve(e,t){e=l(e)?e:[];for(let n=0;n<e.length;n++){let i=e[n],o=t[i.buffer];i.bufferHeader=o,i.isActive=!1}return e}function gVe(e,t){let n,i=e.tileAvailability;l(i.bitstream)?n=t[i.bitstream]:l(i.bufferView)&&(n=t[i.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);let o=e.contentAvailabilityHeaders;for(let s=0;s<o.length;s++)n=void 0,l(o[s].bitstream)?n=t[o[s].bitstream]:l(o[s].bufferView)&&(n=t[o[s].bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);n=void 0;let r=e.childSubtreeAvailability;l(r.bitstream)?n=t[r.bitstream]:l(r.bufferView)&&(n=t[r.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0)}function vre(e,t){let n=e.properties,i;for(let o in n)if(n.hasOwnProperty(o)){let r=n[o],s=y(r.values,r.bufferView);i=t[s],i.isActive=!0,i.bufferHeader.isActive=!0;let a=y(r.stringOffsets,r.stringOffsetBufferView);l(a)&&(i=t[a],i.isActive=!0,i.bufferHeader.isActive=!0);let c=y(r.arrayOffsets,r.arrayOffsetBufferView);l(c)&&(i=t[c],i.isActive=!0,i.bufferHeader.isActive=!0)}}function yVe(e,t,n){let i=[];for(let o=0;o<t.length;o++){let r=t[o];if(!r.isActive)i.push(Promise.resolve(void 0));else if(r.isExternal){let s=xVe(e,r);i.push(s)}else i.push(Promise.resolve(n))}return Promise.all(i).then(function(o){let r={};for(let s=0;s<o.length;s++){let a=o[s];l(a)&&(r[s]=a)}return r})}async function xVe(e,t){let i=e._resource.getDerivedResource({url:t.uri}),o=Si.getExternalBufferLoader({resource:i});e._bufferLoader=o;try{await o.load()}catch(r){if(o.isDestroyed())return;throw r}return o.typedArray}function bVe(e,t){let n={};for(let i=0;i<e.length;i++){let o=e[i];if(!o.isActive)continue;let r=o.byteOffset,s=r+o.byteLength,c=t[o.buffer].subarray(r,s);n[i]=c}return n}function TVe(e,t,n,i){let o=n.branchingFactor,r=n.subtreeLevels,s=(Math.pow(o,r)-1)/(o-1),a=Math.pow(o,r),c=ai(t,"3DTILES_metadata"),u=l(e._tilePropertyTableJson),f=c||u;e._tileAvailability=fW(t.tileAvailability,i,s,f);let d=e._contentPropertyTableJsons.length>0;f=f||d;for(let p=0;p<t.contentAvailabilityHeaders.length;p++){let g=fW(t.contentAvailabilityHeaders[p],i,s,f);e._contentAvailabilityBitstreams.push(g)}e._childSubtreeAvailability=fW(t.childSubtreeAvailability,i,a)}function fW(e,t,n,i){if(l(e.constant))return new xA({constant:!!e.constant,lengthBits:n,availableCount:e.availableCount});let o;return l(e.bitstream)?o=t[e.bitstream]:l(e.bufferView)&&(o=t[e.bufferView]),new xA({bitstream:o,lengthBits:n,availableCount:e.availableCount,computeAvailableCountEnabled:i})}function CVe(e,t,n){let i=e._tilePropertyTableJson,o=e._tileAvailability.availableCount,r=t.metadataSchema,s=i.class,a=r.classes[s];e._tileMetadataTable=new Rl({class:a,count:o,properties:i.properties,bufferViews:n})}function AVe(e,t,n){let i=e._contentPropertyTableJsons,o=e._contentAvailabilityBitstreams,r=t.metadataSchema,s=e._contentMetadataTables;for(let a=0;a<i.length;a++){let c=i[a],f=o[a].availableCount,d=c.class,p=r.classes[d],g=new Rl({class:p,count:f,properties:c.properties,bufferViews:n});s.push(g)}}function wre(e){let t=0,n=e.lengthBits,i=e.availableCount,o;i<256?o=new Uint8Array(n):i<65536?o=new Uint16Array(n):o=new Uint32Array(n);for(let r=0;r<e.lengthBits;r++)e.getBit(r)&&(o[r]=t,t++);return o}function EVe(e){let t=wre(e._tileAvailability);e._tileJumpBuffer=t}function SVe(e){let t=e._contentJumpBuffers,n=e._contentAvailabilityBitstreams;for(let i=0;i<n.length;i++){let o=n[i],r=wre(o);t.push(r)}}ha.prototype.getTileIndex=function(e){let t=e.level-this._implicitCoordinates.level;if(t<0||this._subtreeLevels<=t)throw new ce("level is out of bounds for this subtree");return e.getSubtreeCoordinates().getOffsetCoordinates(e).tileIndex};ha.prototype.getChildSubtreeIndex=function(e){if(e.level-this._implicitCoordinates.level!==this._implicitCoordinates.subtreeLevels)throw new ce("level is out of bounds for this subtree");return e.getParentSubtreeCoordinates().getOffsetCoordinates(e).mortonIndex};function vVe(e,t){if(!l(e._tileMetadataTable))return;let n=e.getTileIndex(t);if(e._tileAvailability.getBit(n))return e._tileJumpBuffer[n]}function wVe(e,t,n){let i=e._contentMetadataTables;if(!l(i))return;let o=i[n];if(!l(o))return;let r=e._contentAvailabilityBitstreams[n],s=e.getTileIndex(t);if(r.getBit(s))return e._contentJumpBuffers[n][s]}ha.prototype.getTileMetadataView=function(e){let t=vVe(this,e);if(!l(t))return;let n=this._tileMetadataTable;return new bA({class:n.class,metadataTable:n,entityId:t,propertyTableJson:this._tilePropertyTableJson})};ha.prototype.getContentMetadataView=function(e,t){let n=wVe(this,e,t);if(!l(n))return;let i=this._contentMetadataTables[t],o=this._contentPropertyTableJsons[t];return new bA({class:i.class,metadataTable:i,entityId:n,contentIndex:t,propertyTableJson:o})};ha.prototype.isDestroyed=function(){return!1};ha.prototype.destroy=function(){return l(this._bufferLoader)&&Si.unload(this._bufferLoader),ue(this)};var ab=ha;var DVe={ID:"ID",NAME:"NAME",DESCRIPTION:"DESCRIPTION",TILESET_TILE_COUNT:"TILESET_TILE_COUNT",TILE_BOUNDING_BOX:"TILE_BOUNDING_BOX",TILE_BOUNDING_REGION:"TILE_BOUNDING_REGION",TILE_BOUNDING_SPHERE:"TILE_BOUNDING_SPHERE",TILE_MINIMUM_HEIGHT:"TILE_MINIMUM_HEIGHT",TILE_MAXIMUM_HEIGHT:"TILE_MAXIMUM_HEIGHT",TILE_HORIZON_OCCLUSION_POINT:"TILE_HORIZON_OCCLUSION_POINT",TILE_GEOMETRIC_ERROR:"TILE_GEOMETRIC_ERROR",CONTENT_BOUNDING_BOX:"CONTENT_BOUNDING_BOX",CONTENT_BOUNDING_REGION:"CONTENT_BOUNDING_REGION",CONTENT_BOUNDING_SPHERE:"CONTENT_BOUNDING_SPHERE",CONTENT_MINIMUM_HEIGHT:"CONTENT_MINIMUM_HEIGHT",CONTENT_MAXIMUM_HEIGHT:"CONTENT_MAXIMUM_HEIGHT",CONTENT_HORIZON_OCCLUSION_POINT:"CONTENT_HORIZON_OCCLUSION_POINT"},cb=Object.freeze(DVe);var Gd={};Gd.parseAllBoundingVolumeSemantics=function(e){return{tile:{boundingVolume:Gd.parseBoundingVolumeSemantic("TILE",e),minimumHeight:Gd._parseMinimumHeight("TILE",e),maximumHeight:Gd._parseMaximumHeight("TILE",e)},content:{boundingVolume:Gd.parseBoundingVolumeSemantic("CONTENT",e),minimumHeight:Gd._parseMinimumHeight("CONTENT",e),maximumHeight:Gd._parseMaximumHeight("CONTENT",e)}}};Gd.parseBoundingVolumeSemantic=function(e,t){let n=`${e}_BOUNDING_BOX`,i=t.getPropertyBySemantic(n);if(l(i))return{box:i};let o=`${e}_BOUNDING_REGION`,r=t.getPropertyBySemantic(o);if(l(r))return{region:r};let s=`${e}_BOUNDING_SPHERE`,a=t.getPropertyBySemantic(s);if(l(a))return{sphere:a}};Gd._parseMinimumHeight=function(e,t){let n=`${e}_MINIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};Gd._parseMaximumHeight=function(e,t){let n=`${e}_MAXIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};var lb=Gd;function Xc(e,t,n){let i=t.implicitTileset,o=t.implicitCoordinates;this._implicitTileset=i,this._implicitCoordinates=o,this._implicitSubtree=void 0,this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this.featurePropertiesDirty=!1,this._group=void 0;let r=o.getTemplateValues(),s=i.subtreeUriTemplate.getDerivedResource({templateValues:r});this._url=s.getUrlComponent(!0),this._ready=!1}Object.defineProperties(Xc.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._url}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Xc.fromSubtreeJson=async function(e,t,n,i,o,r){r=y(r,0);let s;l(o)&&(s=new Uint8Array(o,r));let a=t.implicitTileset,c=t.implicitCoordinates,u=await ab.fromSubtreeJson(n,i,s,a,c),f=new Xc(e,t,n);return f._implicitSubtree=u,IVe(f,u),f._ready=!0,f};function IVe(e,t){let n=e._tile,i=e._implicitCoordinates.childIndex,o=RVe(e,t,n,i),r=e._tileset.statistics;n.children.push(o.rootTile),r.numberOfTilesTotal++;let s=PVe(e,t,o.bottomRow);for(let a=0;a<s.length;a++){let c=s[a],u=c.tile,f=UVe(e,u,c.childIndex);u.children.push(f),r.numberOfTilesTotal++}}function PVe(e,t,n){let i=[],o=e._implicitTileset.branchingFactor;for(let r=0;r<n.length;r++){let s=n[r];if(l(s))for(let a=0;a<o;a++){let c=r*o+a;t.childSubtreeIsAvailableAtIndex(c)&&i.push({tile:s,childIndex:a})}}return i}function RVe(e,t,n,i){let s=Dre(e,t,n,i,0,!0),a=e._tileset.statistics,c=[s],u=[],f=e._implicitTileset;for(let d=1;d<f.subtreeLevels;d++){let p=t.getLevelOffset(d),g=f.branchingFactor*c.length;for(let m=0;m<g;m++){let x=p+m;if(!t.tileIsAvailableAtIndex(x)){u.push(void 0);continue}let b=t.getParentMortonIndex(m),T=c[b],A=m%f.branchingFactor,C=Dre(e,t,T,A,x);T.children.push(C),a.numberOfTilesTotal++,u.push(C)}c=u,u=[]}return{rootTile:s,bottomRow:c}}function Ire(e,t,n){let i=cb.TILE_GEOMETRIC_ERROR;return l(e)&&e.hasPropertyBySemantic(i)?e.getPropertyBySemantic(i):t.geometricError/Math.pow(2,n.level)}function Dre(e,t,n,i,o,r){let s=e._implicitTileset,a;y(r,!1)?a=n.implicitCoordinates:a=n.implicitCoordinates.getChildCoordinates(i);let c,u,f;if(l(t.tilePropertyTableJson)){c=t.getTileMetadataView(a);let D=lb.parseAllBoundingVolumeSemantics(c);u=D.tile,f=D.content}let p=t.contentPropertyTableJsons.length,g=!1;for(let D=0;D<p;D++)if(t.contentIsAvailableAtCoordinates(a,D)){g=!0;break}let m=LVe(s,a,i,r,n,u),x=[];for(let D=0;D<s.contentCount;D++){if(!t.contentIsAvailableAtIndex(o,D))continue;let M={uri:s.contentUriTemplates[D].getDerivedResource({templateValues:a.getTemplateValues()}).url},N=NVe(m,f);l(N)&&(M.boundingVolume=N),x.push(bt(M,s.contentHeaders[D]))}let b=Ire(c,s,a),T={boundingVolume:m,geometricError:b,refine:s.refine,contents:x},A=!0,C=He(s.tileHeader,A);delete C.boundingVolume,delete C.transform,delete C.metadata;let E=bt(T,C,A),v=Lre(e,s.baseResource,E,n);return v.implicitCoordinates=a,v.implicitSubtree=t,v.metadata=c,v.hasImplicitContentMetadata=g,v}function kU(e,t){return l(e)&&l(t)&&(l(t.minimumHeight)||l(t.maximumHeight))&&(ai(e,"3DTILES_bounding_volume_S2")||l(e.region))}function hW(e,t){l(t)&&(ai(e,"3DTILES_bounding_volume_S2")?MVe(e.extensions["3DTILES_bounding_volume_S2"],t.minimumHeight,t.maximumHeight):l(e.region)&&OVe(e.region,t.minimumHeight,t.maximumHeight))}function OVe(e,t,n){l(t)&&(e[4]=t),l(n)&&(e[5]=n)}function MVe(e,t,n){l(t)&&(e.minimumHeight=t),l(n)&&(e.maximumHeight=n)}function LVe(e,t,n,i,o,r){let s;return!l(r)||!l(r.boundingVolume)||!kU(r.boundingVolume,r)&&kU(e.boundingVolume,r)?s=Pre(e,t,n,y(i,!1),o):s=r.boundingVolume,hW(s,r),s}function NVe(e,t){let n;return l(t)&&(n=t.boundingVolume),kU(n,t)?hW(n,t):kU(e,t)&&(n=He(e,!0),hW(n,t)),n}function Pre(e,t,n,i,o){let r=e.boundingVolume;return ai(r,"3DTILES_bounding_volume_S2")?Rre(i,o,n,t.level,t.x,t.y,t.z):l(r.region)?{region:Mre(r.region,t.level,t.x,t.y,t.z)}:{box:Ore(r.box,t.level,t.x,t.y,t.z)}}function Rre(e,t,n,i,o,r,s){let a=t._boundingVolume;if(e)return{extensions:{"3DTILES_bounding_volume_S2":{token:Gp.getTokenFromId(a.s2Cell._cellId),minimumHeight:a.minimumHeight,maximumHeight:a.maximumHeight}}};let c=Number(t._boundingVolume.s2Cell._cellId>>BigInt(61)),u=c%2===0?gA.encode2D(i,o,r):gA.encode2D(i,r,o),f=Gp.fromFacePositionLevel(c,BigInt(u),i),d,p;if(l(s)){let g=(a.maximumHeight+a.minimumHeight)/2;d=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else d=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:Gp.getTokenFromId(f._cellId),minimumHeight:d,maximumHeight:p}}}}var FVe=new h,BVe=new h,dW=new h,kVe=new $;function Ore(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,BVe),s=$.unpack(e,3,kVe),a=Math.pow(2,-t),c=-1+(2*n+1)*a,u=-1+(2*i+1)*a,f=0,d=h.fromElements(a,a,1,FVe);l(o)&&(f=-1+(2*o+1)*a,d.z=a);let p=h.fromElements(c,u,f,dW);p=$.multiplyByVector(s,p,dW),p=h.add(p,r,dW);let g=$.clone(s);g=$.multiplyByScale(g,d,g);let m=new Array(12);return h.pack(p,m),$.pack(g,m,3),m}var VVe=new se;function Mre(e,t,n,i,o){if(t===0)return e.slice();let r=se.unpack(e,0,VVe),s=e[4],a=e[5],c=Math.pow(2,-t),u=c*r.width,f=P.negativePiToPi(r.west+n*u),d=P.negativePiToPi(f+u),p=c*r.height,g=P.negativePiToPi(r.south+i*p),m=P.negativePiToPi(g+p),x=s,b=a;if(l(o)){let T=c*(a-s);x+=o*T,b=x+T}return[f,g,d,m,x,b]}function UVe(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=Pre(i,o,n,!1,t),s=Ire(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},u=Lre(e,i.baseResource,c,t);return u.implicitTileset=i,u.implicitCoordinates=o,u}function Lre(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}Xc.prototype.hasProperty=function(e,t){return!1};Xc.prototype.getFeature=function(e){};Xc.prototype.applyDebugSettings=function(e,t){};Xc.prototype.applyStyle=function(e){};Xc.prototype.update=function(e,t){};Xc.prototype.pick=function(e,t,n){};Xc.prototype.isDestroyed=function(){return!1};Xc.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),ue(this)};Xc._deriveBoundingBox=Ore;Xc._deriveBoundingRegion=Mre;Xc._deriveBoundingVolumeS2=Rre;var RA=Xc;var zVe={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},Nl=Object.freeze(zVe);function OA(e,t){this._distance=t,this._normal=new Nre(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(OA.prototype,{distance:{get:function(){return this._distance},set:function(e){l(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){l(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});OA.fromPlane=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance):t=new OA(e.normal,e.distance),t};OA.clone=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance,t):new OA(e.normal,e.distance)};function Nre(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(Nre.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var ub=OA;function fc(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.edgeColor=H.clone(y(e.edgeColor,H.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new me,this.planeRemoved=new me,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?Ure:zre,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(l(n)){let i=n.length;for(let o=0;o<i;++o)this.add(n[o])}}function Ure(e){return e===jt.OUTSIDE}function zre(e){return e===jt.INSIDE}Object.defineProperties(fc.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?Ure:zre)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}});function Fre(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||e._dirtyIndex!==-1&&e._dirtyIndex!==t,e._dirtyIndex=t}fc.prototype.add=function(e){let t=this._planes.length,n=this;e.onChangeCallback=function(i){Fre(n,i)},e.index=t,Fre(this,t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)};fc.prototype.get=function(e){return this._planes[e]};function Hre(e,t){let n=e.length;for(let i=0;i<n;++i)if(ln.equals(e[i],t))return i;return-1}fc.prototype.contains=function(e){return Hre(this._planes,e)!==-1};fc.prototype.remove=function(e){let t=this._planes,n=Hre(t,e);if(n===-1)return!1;e instanceof ub&&(e.onChangeCallback=void 0,e.index=-1);let i=t.length-1;for(let o=n;o<i;++o){let r=t[o+1];t[o]=r,r instanceof ub&&(r.index=o)}return this._multipleDirtyPlanes=!0,t.length=i,this.planeRemoved.raiseEvent(e,n),!0};fc.prototype.removeAll=function(){let e=this._planes,t=e.length;for(let n=0;n<t;++n){let i=e[n];i instanceof ub&&(i.onChangeCallback=void 0,i.index=-1),this.planeRemoved.raiseEvent(i,n)}this._multipleDirtyPlanes=!0,this._planes=[]};var HVe=new oe,GVe=new oe;function Bre(e,t,n){let i=e._uint8View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=Fn.octEncodeToCartesian4(a.normal,GVe);i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=c.w;let u=oe.packFloat(a.distance,HVe);i[r+4]=u.x,i[r+5]=u.y,i[r+6]=u.z,i[r+7]=u.w,r+=8}}function kre(e,t,n){let i=e._float32View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=a.normal;i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=a.distance,r+=4}}function Gre(e,t){let n=kt.maximumTextureSize;return t.x=Math.min(e,n),t.y=Math.ceil(e/t.x),t}var WVe=new z;fc.prototype.update=function(e){let t=this._clippingPlanesTexture,n=e.context,i=fc.useFloatTexture(n),o=i?this.length:this.length*2;if(l(t)){let s=t.width*t.height;(s<o||o<.25*s)&&(t.destroy(),t=void 0,this._clippingPlanesTexture=void 0)}if(this.length===0)return;if(!l(t)){let s=Gre(o,WVe);s.y*=2,i?(t=new Mt({context:n,width:s.x,height:s.y,pixelFormat:ot.RGBA,pixelDatatype:Je.FLOAT,sampler:en.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*4)):(t=new Mt({context:n,width:s.x,height:s.y,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,sampler:en.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(s.x*s.y*4)),this._clippingPlanesTexture=t,this._multipleDirtyPlanes=!0}let r=this._dirtyIndex;if(!(!this._multipleDirtyPlanes&&r===-1)){if(this._multipleDirtyPlanes)i?(kre(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._float32View}})):(Bre(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._uint8View}}));else{let s=0,a=0;i?(a=Math.floor(r/t.width),s=Math.floor(r-a*t.width),kre(this,r,r+1),t.copyFrom({source:{width:1,height:1,arrayBufferView:this._float32View},xOffset:s,yOffset:a})):(a=Math.floor(r*2/t.width),s=Math.floor(r*2-a*t.width),Bre(this,r,r+1),t.copyFrom({source:{width:2,height:1,arrayBufferView:this._uint8View},xOffset:s,yOffset:a}))}this._multipleDirtyPlanes=!1,this._dirtyIndex=-1}};var jVe=new F,Vre=new ln(h.UNIT_X,0);fc.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._planes,i=n.length,o=this.modelMatrix;l(t)&&(o=F.multiply(t,o,jVe));let r=jt.INSIDE;!this.unionClippingRegions&&i>0&&(r=jt.OUTSIDE);for(let s=0;s<i;++s){let a=n[s];ln.transform(a,o,Vre);let c=e.intersectPlane(Vre);if(c===jt.INTERSECTING)r=c;else if(this._testIntersection(c))return c}return r};fc.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};fc.useFloatTexture=function(e){return e.floatingPointTexture};fc.getTextureResolution=function(e,t,n){let i=e.texture;if(l(i))return n.x=i.width,n.y=i.height,n;let o=fc.useFloatTexture(t)?e.length:e.length*2,r=Gre(o,n);return r.y*=2,r};fc.prototype.isDestroyed=function(){return!1};fc.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),ue(this)};var ps=fc;function _W(e,t,n=2){let i=t&&t.length,o=i?t[0]*n:e.length,r=jre(e,0,o,n,!0),s=[];if(!r||r.next===r.prev)return s;let a,c,u;if(i&&(r=ZVe(e,t,r,n)),e.length>80*n){a=1/0,c=1/0;let f=-1/0,d=-1/0;for(let p=n;p<o;p+=n){let g=e[p],m=e[p+1];g<a&&(a=g),m<c&&(c=m),g>f&&(f=g),m>d&&(d=m)}u=Math.max(f-a,d-c),u=u!==0?32767/u:0}return uR(r,s,n,a,c,u,0),s}function jre(e,t,n,i,o){let r;if(o===aUe(e,t,n,i)>0)for(let s=t;s<n;s+=i)r=Wre(s/i|0,e[s],e[s+1],r);else for(let s=n-i;s>=t;s-=i)r=Wre(s/i|0,e[s],e[s+1],r);return r&&zU(r,r.next)&&(dR(r),r=r.next),r}function fb(e,t){if(!e)return e;t||(t=e);let n=e,i;do if(i=!1,!n.steiner&&(zU(n,n.next)||Br(n.prev,n,n.next)===0)){if(dR(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function uR(e,t,n,i,o,r,s){if(!e)return;!s&&r&&tUe(e,i,o,r);let a=e;for(;e.prev!==e.next;){let c=e.prev,u=e.next;if(r?YVe(e,i,o,r):qVe(e)){t.push(c.i,e.i,u.i),dR(e),e=u.next,a=u.next;continue}if(e=u,e===a){s?s===1?(e=XVe(fb(e),t),uR(e,t,n,i,o,r,2)):s===2&&KVe(e,t,n,i,o,r):uR(fb(e),t,n,i,o,r,1);break}}}function qVe(e){let t=e.prev,n=e,i=e.next;if(Br(t,n,i)>=0)return!1;let o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,u=i.y,f=o<r?o<s?o:s:r<s?r:s,d=a<c?a<u?a:u:c<u?c:u,p=o>r?o>s?o:s:r>s?r:s,g=a>c?a>u?a:u:c>u?c:u,m=i.next;for(;m!==t;){if(m.x>=f&&m.x<=p&&m.y>=d&&m.y<=g&&MA(o,a,r,c,s,u,m.x,m.y)&&Br(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function YVe(e,t,n,i){let o=e.prev,r=e,s=e.next;if(Br(o,r,s)>=0)return!1;let a=o.x,c=r.x,u=s.x,f=o.y,d=r.y,p=s.y,g=a<c?a<u?a:u:c<u?c:u,m=f<d?f<p?f:p:d<p?d:p,x=a>c?a>u?a:u:c>u?c:u,b=f>d?f>p?f:p:d>p?d:p,T=mW(g,m,t,n,i),A=mW(x,b,t,n,i),C=e.prevZ,E=e.nextZ;for(;C&&C.z>=T&&E&&E.z<=A;){if(C.x>=g&&C.x<=x&&C.y>=m&&C.y<=b&&C!==o&&C!==s&&MA(a,f,c,d,u,p,C.x,C.y)&&Br(C.prev,C,C.next)>=0||(C=C.prevZ,E.x>=g&&E.x<=x&&E.y>=m&&E.y<=b&&E!==o&&E!==s&&MA(a,f,c,d,u,p,E.x,E.y)&&Br(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;C&&C.z>=T;){if(C.x>=g&&C.x<=x&&C.y>=m&&C.y<=b&&C!==o&&C!==s&&MA(a,f,c,d,u,p,C.x,C.y)&&Br(C.prev,C,C.next)>=0)return!1;C=C.prevZ}for(;E&&E.z<=A;){if(E.x>=g&&E.x<=x&&E.y>=m&&E.y<=b&&E!==o&&E!==s&&MA(a,f,c,d,u,p,E.x,E.y)&&Br(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function XVe(e,t){let n=e;do{let i=n.prev,o=n.next.next;!zU(i,o)&&qre(i,n,n.next,o)&&fR(i,o)&&fR(o,i)&&(t.push(i.i,n.i,o.i),dR(n),dR(n.next),n=e=o),n=n.next}while(n!==e);return fb(n)}function KVe(e,t,n,i,o,r){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&oUe(s,a)){let c=Yre(s,a);s=fb(s,s.next),c=fb(c,c.next),uR(s,t,n,i,o,r,0),uR(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function ZVe(e,t,n,i){let o=[];for(let r=0,s=t.length;r<s;r++){let a=t[r]*i,c=r<s-1?t[r+1]*i:e.length,u=jre(e,a,c,i,!1);u===u.next&&(u.steiner=!0),o.push(iUe(u))}o.sort($Ve);for(let r=0;r<o.length;r++)n=QVe(o[r],n);return n}function $Ve(e,t){return e.x-t.x}function QVe(e,t){let n=JVe(e,t);if(!n)return t;let i=Yre(n,e);return fb(i,i.next),fb(n,n.next)}function JVe(e,t){let n=t,i=e.x,o=e.y,r=-1/0,s;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){let d=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(d<=i&&d>r&&(r=d,s=n.x<n.next.x?n:n.next,d===i))return s}n=n.next}while(n!==t);if(!s)return null;let a=s,c=s.x,u=s.y,f=1/0;n=s;do{if(i>=n.x&&n.x>=c&&i!==n.x&&MA(o<u?i:r,o,c,u,o<u?r:i,o,n.x,n.y)){let d=Math.abs(o-n.y)/(i-n.x);fR(n,e)&&(d<f||d===f&&(n.x>s.x||n.x===s.x&&eUe(s,n)))&&(s=n,f=d)}n=n.next}while(n!==a);return s}function eUe(e,t){return Br(e.prev,e,t.prev)<0&&Br(t.next,e,e.next)<0}function tUe(e,t,n,i){let o=e;do o.z===0&&(o.z=mW(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,nUe(o)}function nUe(e){let t,n=1;do{let i=e,o;e=null;let r=null;for(t=0;i;){t++;let s=i,a=0;for(let u=0;u<n&&(a++,s=s.nextZ,!!s);u++);let c=n;for(;a>0||c>0&&s;)a!==0&&(c===0||!s||i.z<=s.z)?(o=i,i=i.nextZ,a--):(o=s,s=s.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;i=s}r.nextZ=null,n*=2}while(t>1);return e}function mW(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function iUe(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function MA(e,t,n,i,o,r,s,a){return(o-s)*(t-a)>=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function oUe(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!rUe(e,t)&&(fR(e,t)&&fR(t,e)&&sUe(e,t)&&(Br(e.prev,e,t.prev)||Br(e,t.prev,t))||zU(e,t)&&Br(e.prev,e,e.next)>0&&Br(t.prev,t,t.next)>0)}function Br(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function zU(e,t){return e.x===t.x&&e.y===t.y}function qre(e,t,n,i){let o=UU(Br(e,t,n)),r=UU(Br(e,t,i)),s=UU(Br(n,i,e)),a=UU(Br(n,i,t));return!!(o!==r&&s!==a||o===0&&VU(e,n,t)||r===0&&VU(e,i,t)||s===0&&VU(n,e,i)||a===0&&VU(n,t,i))}function VU(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function UU(e){return e>0?1:e<0?-1:0}function rUe(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&qre(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function fR(e,t){return Br(e.prev,e,e.next)<0?Br(e,t,e.next)>=0&&Br(e,e.prev,t)>=0:Br(e,t,e.prev)<0||Br(e,e.next,t)<0}function sUe(e,t){let n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function Yre(e,t){let n=pW(e.i,e.x,e.y),i=pW(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function Wre(e,t,n,i){let o=pW(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function dR(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function pW(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function aUe(e,t,n,i){let o=0;for(let r=t,s=n-i;r<n;r+=i)o+=(e[s]-e[r])*(e[r+1]+e[s+1]),s=r;return o}var cUe=new h,lUe=new h,uy={};uy.computeArea2D=function(e){let t=e.length,n=0;for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];n+=r.x*s.y-s.x*r.y}return n*.5};uy.computeWindingOrder2D=function(e){return uy.computeArea2D(e)>0?ds.COUNTER_CLOCKWISE:ds.CLOCKWISE};uy.triangulate=function(e,t){let n=z.packArray(e);return _W(n,t,2)};var $re=new h,Qre=new h,Jre=new h,Xre=new h,Kre=new h,Zre=new h,Zp=new h,ese=new z,tse=new z,nse=new z,LA=new z;uy.computeSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let C=t[a];if(u[d++]=C.x,u[d++]=C.y,u[d++]=C.z,r){let E=i[a];f[p++]=E.x,f[p++]=E.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=b*b;for(;s.length>0;){let C=s.pop(),E=s.pop(),v=s.pop(),D=h.fromArray(u,v*3,$re),O=h.fromArray(u,E*3,Qre),R=h.fromArray(u,C*3,Jre),M,N,_;r&&(M=z.fromArray(f,v*2,ese),N=z.fromArray(f,E*2,tse),_=z.fromArray(f,C*2,nse));let S=h.multiplyByScalar(h.normalize(D,Xre),x,Xre),w=h.multiplyByScalar(h.normalize(O,Kre),x,Kre),I=h.multiplyByScalar(h.normalize(R,Zre),x,Zre),L=h.magnitudeSquared(h.subtract(S,w,Zp)),B=h.magnitudeSquared(h.subtract(w,I,Zp)),U=h.magnitudeSquared(h.subtract(I,S,Zp)),V=Math.max(L,B,U),G,k,Y;V>T?L===V?(G=`${Math.min(v,E)} ${Math.max(v,E)}`,a=m[G],l(a)||(k=h.add(D,O,Zp),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(Y=z.add(M,N,LA),z.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(v,a,C),s.push(a,E,C)):B===V?(G=`${Math.min(E,C)} ${Math.max(E,C)}`,a=m[G],l(a)||(k=h.add(O,R,Zp),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(Y=z.add(N,_,LA),z.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(E,a,v),s.push(a,C,v)):U===V&&(G=`${Math.min(C,v)} ${Math.max(C,v)}`,a=m[G],l(a)||(k=h.add(R,D,Zp),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(Y=z.add(_,M,LA),z.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(C,a,E),s.push(a,v,E)):(g.push(v),g.push(E),g.push(C))}let A={attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Ne.TRIANGLES};return r&&(A.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new ut(A)};var uUe=new fe,fUe=new fe,dUe=new fe,gW=new fe;uy.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let v=t[a];if(u[d++]=v.x,u[d++]=v.y,u[d++]=v.z,r){let D=i[a];f[p++]=D.x,f[p++]=D.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=new Na(void 0,void 0,e),A=new Na(void 0,void 0,e),C=new Na(void 0,void 0,e);for(;s.length>0;){let v=s.pop(),D=s.pop(),O=s.pop(),R=h.fromArray(u,O*3,$re),M=h.fromArray(u,D*3,Qre),N=h.fromArray(u,v*3,Jre),_,S,w;r&&(_=z.fromArray(f,O*2,ese),S=z.fromArray(f,D*2,tse),w=z.fromArray(f,v*2,nse));let I=e.cartesianToCartographic(R,uUe),L=e.cartesianToCartographic(M,fUe),B=e.cartesianToCartographic(N,dUe);T.setEndPoints(I,L);let U=T.surfaceDistance;A.setEndPoints(L,B);let V=A.surfaceDistance;C.setEndPoints(B,I);let G=C.surfaceDistance,k=Math.max(U,V,G),Y,W,Q,j,Z;k>b?U===k?(Y=`${Math.min(O,D)} ${Math.max(O,D)}`,a=m[Y],l(a)||(W=T.interpolateUsingFraction(.5,gW),Q=(I.height+L.height)*.5,j=h.fromRadians(W.longitude,W.latitude,Q,e,Zp),u.push(j.x,j.y,j.z),a=u.length/3-1,m[Y]=a,r&&(Z=z.add(_,S,LA),z.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(O,a,v),s.push(a,D,v)):V===k?(Y=`${Math.min(D,v)} ${Math.max(D,v)}`,a=m[Y],l(a)||(W=A.interpolateUsingFraction(.5,gW),Q=(L.height+B.height)*.5,j=h.fromRadians(W.longitude,W.latitude,Q,e,Zp),u.push(j.x,j.y,j.z),a=u.length/3-1,m[Y]=a,r&&(Z=z.add(S,w,LA),z.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(D,a,O),s.push(a,v,O)):G===k&&(Y=`${Math.min(v,O)} ${Math.max(v,O)}`,a=m[Y],l(a)||(W=C.interpolateUsingFraction(.5,gW),Q=(B.height+I.height)*.5,j=h.fromRadians(W.longitude,W.latitude,Q,e,Zp),u.push(j.x,j.y,j.z),a=u.length/3-1,m[Y]=a,r&&(Z=z.add(w,_,LA),z.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(v,a,D),s.push(a,O,D)):(g.push(O),g.push(D),g.push(v))}let E={attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Ne.TRIANGLES};return r&&(E.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new ut(E)};uy.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,ee.default);let o=cUe,r=lUe;if(t=y(t,0),i=y(i,!0),l(e)){let s=e.length;for(let a=0;a<s;a+=3)h.fromArray(e,a,r),i&&(r=n.scaleToGeodeticSurface(r,r)),t!==0&&(o=n.geodeticSurfaceNormal(r,o),h.multiplyByScalar(o,t,o),h.add(r,o,r)),e[a]=r.x,e[a+1]=r.y,e[a+2]=r.z}return e};var li=uy;function fy(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(fy.prototype,{length:{get:function(){return this._length}}});fy.prototype.enqueue=function(e){this._array.push(e),this._length++};fy.prototype.dequeue=function(){if(this._length===0)return;let e=this._array,t=this._offset,n=e[t];return e[t]=void 0,t++,t>10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};fy.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};fy.prototype.contains=function(e){return this._array.indexOf(e)!==-1};fy.prototype.clear=function(){this._array.length=this._offset=this._length=0};fy.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var dy=fy;var Jo={};Jo.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!l(o))continue;n+=2;let r=o.positions,s=o.holes;if(l(r)&&r.length>0&&(n+=r.length*t.packedLength),l(s)){let a=s.length;for(let c=0;c<a;++c)i.push(s[c])}}return n};Jo.packPolygonHierarchy=function(e,t,n,i){let o=[e];for(;o.length>0;){let r=o.pop();if(!l(r))continue;let s=r.positions,a=r.holes;if(t[n++]=l(s)?s.length:0,t[n++]=l(a)?a.length:0,l(s)){let c=s.length;for(let u=0;u<c;++u,n+=i.packedLength)i.pack(s[u],t,n)}if(l(a)){let c=a.length;for(let u=0;u<c;++u)o.push(a[u])}}return n};Jo.unpackPolygonHierarchy=function(e,t,n){let i=e[t++],o=e[t++],r=new Array(i),s=o>0?new Array(o):void 0;for(let a=0;a<i;++a,t+=n.packedLength)r[a]=n.unpack(e,t);for(let a=0;a<o;++a)s[a]=Jo.unpackPolygonHierarchy(e,t,n),t=s[a].startingIndex,delete s[a].startingIndex;return{positions:r,holes:s,startingIndex:t}};var db=new z;function rse(e,t,n,i){return z.subtract(t,e,db),z.multiplyByScalar(db,n/i,db),z.add(e,db,db),[db.x,db.y]}var hy=new h;function hUe(e,t,n,i){return h.subtract(t,e,hy),h.multiplyByScalar(hy,n/i,hy),h.add(e,hy,hy),[hy.x,hy.y,hy.z]}Jo.subdivideLineCount=function(e,t,n){let o=h.distance(e,t)/n,r=Math.max(0,Math.ceil(P.log2(o)));return Math.pow(2,r)};var GU=new fe,WU=new fe,mUe=new fe,pUe=new h,HU=new Na;Jo.subdivideRhumbLineCount=function(e,t,n,i){let o=e.cartesianToCartographic(t,GU),r=e.cartesianToCartographic(n,WU),a=new Na(o,r,e).surfaceDistance/i,c=Math.max(0,Math.ceil(P.log2(a)));return Math.pow(2,c)};Jo.subdivideTexcoordLine=function(e,t,n,i,o,r){let s=Jo.subdivideLineCount(n,i,o),a=z.distance(e,t),c=a/s,u=r;u.length=s*2;let f=0;for(let d=0;d<s;d++){let p=rse(e,t,d*c,a);u[f++]=p[0],u[f++]=p[1]}return u};Jo.subdivideLine=function(e,t,n,i){let o=Jo.subdivideLineCount(e,t,n),r=h.distance(e,t),s=r/o;l(i)||(i=[]);let a=i;a.length=o*3;let c=0;for(let u=0;u<o;u++){let f=hUe(e,t,u*s,r);a[c++]=f[0],a[c++]=f[1],a[c++]=f[2]}return a};Jo.subdivideTexcoordRhumbLine=function(e,t,n,i,o,r,s){let a=n.cartesianToCartographic(i,GU),c=n.cartesianToCartographic(o,WU);HU.setEndPoints(a,c);let u=HU.surfaceDistance/r,f=Math.max(0,Math.ceil(P.log2(u))),d=Math.pow(2,f),p=z.distance(e,t),g=p/d,m=s;m.length=d*2;let x=0;for(let b=0;b<d;b++){let T=rse(e,t,b*g,p);m[x++]=T[0],m[x++]=T[1]}return m};Jo.subdivideRhumbLine=function(e,t,n,i,o){let r=e.cartesianToCartographic(t,GU),s=e.cartesianToCartographic(n,WU),a=new Na(r,s,e),c=a.surfaceDistance/i,u=Math.max(0,Math.ceil(P.log2(c))),f=Math.pow(2,u),d=a.surfaceDistance/f;l(o)||(o=[]);let p=o;p.length=f*3;let g=0;for(let m=0;m<f;m++){let x=a.interpolateUsingSurfaceDistance(m*d,mUe),b=e.cartographicToCartesian(x,pUe);p[g++]=b.x,p[g++]=b.y,p[g++]=b.z}return p};var _Ue=new h,gUe=new h,yUe=new h,xUe=new h;Jo.scaleToGeodeticHeightExtruded=function(e,t,n,i,o){i=y(i,ee.default);let r=_Ue,s=gUe,a=yUe,c=xUe;if(l(e)&&l(e.attributes)&&l(e.attributes.position)){let u=e.attributes.position.values,f=u.length/2;for(let d=0;d<f;d+=3)h.fromArray(u,d,a),i.geodeticSurfaceNormal(a,r),c=i.scaleToGeodeticSurface(a,c),s=h.multiplyByScalar(r,n,s),s=h.add(c,s,s),u[d+f]=s.x,u[d+1+f]=s.y,u[d+2+f]=s.z,o&&(c=h.clone(a,c)),s=h.multiplyByScalar(r,t,s),s=h.add(c,s,s),u[d]=s.x,u[d+1]=s.y,u[d+2]=s.z}return e};Jo.polygonOutlinesFromHierarchy=function(e,t,n){let i=[],o=new dy;o.enqueue(e);let r,s,a;for(;o.length!==0;){let c=o.dequeue(),u=c.positions;if(t)for(a=u.length,r=0;r<a;r++)n.scaleToGeodeticSurface(u[r],u[r]);if(u=Co(u,h.equalsEpsilon,!0),u.length<3)continue;let f=c.holes?c.holes.length:0;for(r=0;r<f;r++){let d=c.holes[r],p=d.positions;if(t)for(a=p.length,s=0;s<a;++s)n.scaleToGeodeticSurface(p[s],p[s]);if(p=Co(p,h.equalsEpsilon,!0),p.length<3)continue;i.push(p);let g=0;for(l(d.holes)&&(g=d.holes.length),s=0;s<g;s++)o.enqueue(d.holes[s])}i.push(u)}return i};var bUe=new fe;function TUe(e,t,n){let i=n.cartesianToCartographic(e,GU),o=n.cartesianToCartographic(t,WU);if(Math.sign(i.latitude)===Math.sign(o.latitude))return;HU.setEndPoints(i,o);let r=HU.findIntersectionWithLatitude(0,bUe);if(!l(r))return;let s=Math.min(i.longitude,o.longitude),a=Math.max(i.longitude,o.longitude);if(Math.abs(a-s)>P.PI){let c=s;s=a,a=c}if(!(r.longitude<s||r.longitude>a))return n.cartographicToCartesian(r)}function CUe(e,t,n,i){if(i===tn.RHUMB)return TUe(e,t,n);let o=ni.lineSegmentPlane(e,t,ln.ORIGIN_XY_PLANE);if(l(o))return n.scaleToGeodeticSurface(o,o)}var AUe=new fe;function EUe(e,t,n){let i=[],o,r,s,a,c,u=0;for(;u<e.length;){o=e[u],r=e[(u+1)%e.length],s=P.sign(o.z),a=P.sign(r.z);let f=d=>t.cartesianToCartographic(d,AUe).longitude;if(s===0)i.push({position:u,type:s,visited:!1,next:a,theta:f(o)});else if(a!==0){if(c=CUe(o,r,t,n),++u,!l(c))continue;e.splice(u,0,c),i.push({position:u,type:s,visited:!1,next:a,theta:f(c)})}++u}return i}function sse(e,t,n,i,o,r,s){let a=[],c=r,u=d=>p=>p.position===d,f=[];do{let d=n[c];a.push(d);let p=i.findIndex(u(c)),g=i[p];if(!l(g)){++c;continue}let{visited:m,type:x,next:b}=g;if(g.visited=!0,x===0){if(b===0){let E=i[p-(s?1:-1)];if(E?.position===c+1)E.visited=!0;else{++c;continue}}if(!m&&s&&b>0||r===c&&!s&&b<0){++c;continue}}if(!(s?x>=0:x<=0)){++c;continue}m||f.push(c);let A=p+(s?1:-1),C=i[A];if(!l(C)){++c;continue}c=C.position}while(c<n.length&&c>=0&&c!==r&&a.length<n.length);e.splice(t,o,a);for(let d of f)t=sse(e,++t,n,i,0,d,!s);return t}Jo.splitPolygonsOnEquator=function(e,t,n,i){l(i)||(i=[]),i.splice(0,0,...e),i.length=e.length;let o=0;for(;o<i.length;){let r=i[o],s=r.slice();if(r.length<3){i[o]=s,++o;continue}let a=EUe(s,t,n);if(s.length===r.length||a.length<=1){i[o]=s,++o;continue}a.sort((u,f)=>u.theta-f.theta);let c=s[0].z>=0;o=sse(i,o,s,a,1,0,c)}return i};Jo.polygonsFromHierarchy=function(e,t,n,i,o,r){let s=[],a=[],c=new dy;c.enqueue(e);let u=l(r);for(;c.length!==0;){let f=c.dequeue(),d=f.positions,p=f.holes,g,m;if(i)for(m=d.length,g=0;g<m;g++)o.scaleToGeodeticSurface(d[g],d[g]);if(t||(d=Co(d,h.equalsEpsilon,!0)),d.length<3)continue;let x=n(d);if(!l(x))continue;let b=[],T=li.computeWindingOrder2D(x);if(T===ds.CLOCKWISE&&(x.reverse(),d=d.slice().reverse()),u){u=!1;let D=[d];if(D=r(D,D),D.length>1){for(let O of D)c.enqueue(new Fa(O,p));continue}}let A=d.slice(),C=l(p)?p.length:0,E=[],v;for(g=0;g<C;g++){let D=p[g],O=D.positions;if(i)for(m=O.length,v=0;v<m;++v)o.scaleToGeodeticSurface(O[v],O[v]);if(t||(O=Co(O,h.equalsEpsilon,!0)),O.length<3)continue;let R=n(O);if(!l(R))continue;T=li.computeWindingOrder2D(R),T===ds.CLOCKWISE&&(R.reverse(),O=O.slice().reverse()),E.push(O),b.push(A.length),A=A.concat(O),x=x.concat(R);let M=0;for(l(D.holes)&&(M=D.holes.length),v=0;v<M;v++)c.enqueue(D.holes[v])}s.push({outerRing:d,holes:E}),a.push({positions:A,positions2D:x,holes:b})}return{hierarchy:s,polygons:a}};var SUe=new z,vUe=new h,wUe=new Le,DUe=new $;Jo.computeBoundingRectangle=function(e,t,n,i,o){let r=Le.fromAxisAngle(e,i,wUe),s=$.fromQuaternion(r,DUe),a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,d=n.length;for(let p=0;p<d;++p){let g=h.clone(n[p],vUe);$.multiplyByVector(s,g,g);let m=t(g,SUe);l(m)&&(a=Math.min(a,m.x),c=Math.max(c,m.x),u=Math.min(u,m.y),f=Math.max(f,m.y))}return o.x=a,o.y=u,o.width=c-a,o.height=f-u,o};Jo.createGeometryFromPositions=function(e,t,n,i,o,r,s){let a=li.triangulate(t.positions2D,t.holes);a.length<3&&(a=[0,1,2]);let c=t.positions,u=l(n),f=u?n.positions:void 0;if(o){let d=c.length,p=new Array(d*3),g=0;for(let b=0;b<d;b++){let T=c[b];p[g++]=T.x,p[g++]=T.y,p[g++]=T.z}let m={attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:p})},indices:a,primitiveType:Ne.TRIANGLES};u&&(m.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:z.packArray(f)}));let x=new ut(m);return r.normal?Gn.computeNormal(x):x}if(s===tn.GEODESIC)return li.computeSubdivision(e,c,a,f,i);if(s===tn.RHUMB)return li.computeRhumbLineSubdivision(e,c,a,f,i)};var ise=[],ose=[],IUe=new h,PUe=new h;Jo.computeWallGeometry=function(e,t,n,i,o,r){let s,a,c,u,f,d,p,g,m,x=e.length,b=0,T=0,A=l(t),C=A?t.positions:void 0;if(o)for(a=x*3*2,s=new Array(a*2),A&&(m=x*2*2,g=new Array(m*2)),c=0;c<x;c++)u=e[c],f=e[(c+1)%x],s[b]=s[b+a]=u.x,++b,s[b]=s[b+a]=u.y,++b,s[b]=s[b+a]=u.z,++b,s[b]=s[b+a]=f.x,++b,s[b]=s[b+a]=f.y,++b,s[b]=s[b+a]=f.z,++b,A&&(d=C[c],p=C[(c+1)%x],g[T]=g[T+m]=d.x,++T,g[T]=g[T+m]=d.y,++T,g[T]=g[T+m]=p.x,++T,g[T]=g[T+m]=p.y,++T);else{let R=P.chordLength(i,n.maximumRadius),M=0;if(r===tn.GEODESIC)for(c=0;c<x;c++)M+=Jo.subdivideLineCount(e[c],e[(c+1)%x],R);else if(r===tn.RHUMB)for(c=0;c<x;c++)M+=Jo.subdivideRhumbLineCount(n,e[c],e[(c+1)%x],R);for(a=(M+x)*3,s=new Array(a*2),A&&(m=(M+x)*2,g=new Array(m*2)),c=0;c<x;c++){u=e[c],f=e[(c+1)%x];let N,_;A&&(d=C[c],p=C[(c+1)%x]),r===tn.GEODESIC?(N=Jo.subdivideLine(u,f,R,ose),A&&(_=Jo.subdivideTexcoordLine(d,p,u,f,R,ise))):r===tn.RHUMB&&(N=Jo.subdivideRhumbLine(n,u,f,R,ose),A&&(_=Jo.subdivideTexcoordRhumbLine(d,p,n,u,f,R,ise)));let S=N.length;for(let w=0;w<S;++w,++b)s[b]=N[w],s[b+a]=N[w];if(s[b]=f.x,s[b+a]=f.x,++b,s[b]=f.y,s[b+a]=f.y,++b,s[b]=f.z,s[b+a]=f.z,++b,A){let w=_.length;for(let I=0;I<w;++I,++T)g[T]=_[I],g[T+m]=_[I];g[T]=p.x,g[T+m]=p.x,++T,g[T]=p.y,g[T+m]=p.y,++T}}}x=s.length;let E=Fe.createTypedArray(x/3,x-e.length*6),v=0;for(x/=6,c=0;c<x;c++){let R=c,M=R+1,N=R+x,_=N+1;u=h.fromArray(s,R*3,IUe),f=h.fromArray(s,M*3,PUe),!h.equalsEpsilon(u,f,P.EPSILON10,P.EPSILON10)&&(E[v++]=R,E[v++]=N,E[v++]=M,E[v++]=M,E[v++]=N,E[v++]=_)}let D={attributes:new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),indices:E,primitiveType:Ne.TRIANGLES};return A&&(D.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),new ut(D)};var jn=Jo;function kr(e,t){this.position=e,l(this.position)||(this.position=new z),this.tangentPlane=t,l(this.tangentPlane)||(this.tangentPlane=kr.NORTH_POLE_TANGENT_PLANE)}Object.defineProperties(kr.prototype,{ellipsoid:{get:function(){return this.tangentPlane.ellipsoid}},x:{get:function(){return this.position.x}},y:{get:function(){return this.position.y}},conformalLatitude:{get:function(){let e=z.magnitude(this.position),t=2*this.ellipsoid.maximumRadius;return this.tangentPlane.plane.normal.z*(P.PI_OVER_TWO-2*Math.atan2(e,t))}},longitude:{get:function(){let e=P.PI_OVER_TWO+Math.atan2(this.y,this.x);return e>Math.PI&&(e-=P.TWO_PI),e}}});var NA=new fe,RUe=new h;kr.prototype.getLatitude=function(e){l(e)||(e=ee.default),NA.latitude=this.conformalLatitude,NA.longitude=this.longitude,NA.height=0;let t=this.ellipsoid.cartographicToCartesian(NA,RUe);return e.cartesianToCartographic(t,NA),NA.latitude};var OUe=new gn,MUe=new h,LUe=new h;kr.fromCartesian=function(e,t){let n=P.signNotZero(e.z),i=kr.NORTH_POLE_TANGENT_PLANE,o=kr.SOUTH_POLE;n<0&&(i=kr.SOUTH_POLE_TANGENT_PLANE,o=kr.NORTH_POLE);let r=OUe;r.origin=i.ellipsoid.scaleToGeocentricSurface(e,r.origin),r.direction=h.subtract(r.origin,o,MUe),h.normalize(r.direction,r.direction);let s=ni.rayPlane(r,i.plane,LUe),a=h.subtract(s,o,s),c=h.dot(i.xAxis,a),u=n*h.dot(i.yAxis,a);return l(t)?(t.position=new z(c,u),t.tangentPlane=i,t):new kr(new z(c,u),i)};kr.fromCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=kr.fromCartesian(e[i],t[i]);return t};kr.clone=function(e,t){if(l(e))return l(t)?(t.position=e.position,t.tangentPlane=e.tangentPlane,t):new kr(e.position,e.tangentPlane)};kr.HALF_UNIT_SPHERE=Object.freeze(new ee(.5,.5,.5));kr.NORTH_POLE=Object.freeze(new h(0,0,.5));kr.SOUTH_POLE=Object.freeze(new h(0,0,-.5));kr.NORTH_POLE_TANGENT_PLANE=Object.freeze(new Zr(kr.NORTH_POLE,kr.HALF_UNIT_SPHERE));kr.SOUTH_POLE_TANGENT_PLANE=Object.freeze(new Zr(kr.SOUTH_POLE,kr.HALF_UNIT_SPHERE));var dc=kr;var NUe=new fe,ase=new fe;function FUe(e,t,n,i){let r=i.cartesianToCartographic(e,NUe).height,s=i.cartesianToCartographic(t,ase);s.height=r,i.cartographicToCartesian(s,t);let a=i.cartesianToCartographic(n,ase);a.height=r-100,i.cartographicToCartesian(a,n)}var cse=new We,BUe=new h,kUe=new h,VUe=new h,UUe=new h,zUe=new h,HUe=new h,jU=new h,fm=new h,FA=new h,GUe=new z,WUe=new z,jUe=new h,lse=new Le,qUe=new $,YUe=new $;function yW(e){let t=e.vertexFormat,n=e.geometry,i=e.shadowVolume,o=n.attributes.position.values,r=l(n.attributes.st)?n.attributes.st.values:void 0,s=o.length,a=e.wall,c=e.top||a,u=e.bottom||a;if(t.st||t.normal||t.tangent||t.bitangent||i){let f=e.boundingRectangle,d=e.rotationAxis,p=e.projectTo2d,g=e.ellipsoid,m=e.stRotation,x=e.perPositionHeight,b=GUe;b.x=f.x,b.y=f.y;let T=t.st?new Float32Array(2*(s/3)):void 0,A;t.normal&&(x&&c&&!a?A=n.attributes.normal.values:A=new Float32Array(s));let C=t.tangent?new Float32Array(s):void 0,E=t.bitangent?new Float32Array(s):void 0,v=i?new Float32Array(s):void 0,D=0,O=0,R=kUe,M=VUe,N=UUe,_=!0,S=qUe,w=YUe;if(m!==0){let B=Le.fromAxisAngle(d,m,lse);S=$.fromQuaternion(B,S),B=Le.fromAxisAngle(d,-m,lse),w=$.fromQuaternion(B,w)}else S=$.clone($.IDENTITY,S),w=$.clone($.IDENTITY,w);let I=0,L=0;c&&u&&(I=s/2,L=s/3,s/=2);for(let B=0;B<s;B+=3){let U=h.fromArray(o,B,jUe);if(t.st&&!l(r)){let V=$.multiplyByVector(S,U,BUe);V=g.scaleToGeodeticSurface(V,V);let G=p([V],WUe)[0];z.subtract(G,b,G);let k=P.clamp(G.x/f.width,0,1),Y=P.clamp(G.y/f.height,0,1);u&&(T[D+L]=k,T[D+1+L]=Y),c&&(T[D]=k,T[D+1]=Y),D+=2}if(t.normal||t.tangent||t.bitangent||i){let V=O+1,G=O+2;if(a){if(B+3<s){let k=h.fromArray(o,B+3,zUe);if(_){let Y=h.fromArray(o,B+s,HUe);x&&FUe(U,k,Y,g),h.subtract(k,U,k),h.subtract(Y,U,Y),R=h.normalize(h.cross(Y,k,R),R),_=!1}h.equalsEpsilon(k,U,P.EPSILON10)&&(_=!0)}(t.tangent||t.bitangent)&&(N=g.geodeticSurfaceNormal(U,N),t.tangent&&(M=h.normalize(h.cross(N,R,M),M)))}else R=g.geodeticSurfaceNormal(U,R),(t.tangent||t.bitangent)&&(x&&(jU=h.fromArray(A,O,jU),fm=h.cross(h.UNIT_Z,jU,fm),fm=h.normalize($.multiplyByVector(w,fm,fm),fm),t.bitangent&&(FA=h.normalize(h.cross(jU,fm,FA),FA))),M=h.cross(h.UNIT_Z,R,M),M=h.normalize($.multiplyByVector(w,M,M),M),t.bitangent&&(N=h.normalize(h.cross(R,M,N),N)));t.normal&&(e.wall?(A[O+I]=R.x,A[V+I]=R.y,A[G+I]=R.z):u&&(A[O+I]=-R.x,A[V+I]=-R.y,A[G+I]=-R.z),(c&&!x||a)&&(A[O]=R.x,A[V]=R.y,A[G]=R.z)),i&&(a&&(R=g.geodeticSurfaceNormal(U,R)),v[O+I]=-R.x,v[V+I]=-R.y,v[G+I]=-R.z),t.tangent&&(e.wall?(C[O+I]=M.x,C[V+I]=M.y,C[G+I]=M.z):u&&(C[O+I]=-M.x,C[V+I]=-M.y,C[G+I]=-M.z),c&&(x?(C[O]=fm.x,C[V]=fm.y,C[G]=fm.z):(C[O]=M.x,C[V]=M.y,C[G]=M.z))),t.bitangent&&(u&&(E[O+I]=N.x,E[V+I]=N.y,E[G+I]=N.z),c&&(x?(E[O]=FA.x,E[V]=FA.y,E[G]=FA.z):(E[O]=N.x,E[V]=N.y,E[G]=N.z))),O+=3}}t.st&&!l(r)&&(n.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T})),t.normal&&(n.attributes.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.tangent&&(n.attributes.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.bitangent&&(n.attributes.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:E})),i&&(n.attributes.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:v}))}if(e.extrude&&l(e.offsetAttribute)){let f=o.length/3,d=new Uint8Array(f);if(e.offsetAttribute===un.TOP)c&&u||a?d=d.fill(1,0,f/2):c&&(d=d.fill(1));else{let p=e.offsetAttribute===un.NONE?0:1;d=d.fill(p)}n.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return n}var use=[];function XUe(e,t,n,i,o,r,s,a,c,u){let f={walls:[]},d;if(s||a){let A=jn.createGeometryFromPositions(e,t,n,i,r,c,u),C=A.attributes.position.values,E=A.indices,v,D;if(s&&a){let O=C.concat(C);v=O.length/3,D=Fe.createTypedArray(v,E.length*2),D.set(E);let R=E.length,M=v/2;for(d=0;d<R;d+=3){let N=D[d]+M,_=D[d+1]+M,S=D[d+2]+M;D[d+R]=S,D[d+1+R]=_,D[d+2+R]=N}if(A.attributes.position.values=O,r&&c.normal){let N=A.attributes.normal.values;A.attributes.normal.values=new Float32Array(O.length),A.attributes.normal.values.set(N)}if(c.st&&l(n)){let N=A.attributes.st.values;A.attributes.st.values=new Float32Array(v*2),A.attributes.st.values=N.concat(N)}A.indices=D}else if(a){for(v=C.length/3,D=Fe.createTypedArray(v,E.length),d=0;d<E.length;d+=3)D[d]=E[d+2],D[d+1]=E[d+1],D[d+2]=E[d];A.indices=D}f.topAndBottom=new vt({geometry:A})}let p=o.outerRing,g=Zr.fromPoints(p,e),m=g.projectPointsOntoPlane(p,use),x=li.computeWindingOrder2D(m);x===ds.CLOCKWISE&&(p=p.slice().reverse());let b=jn.computeWallGeometry(p,n,e,i,r,u);f.walls.push(new vt({geometry:b}));let T=o.holes;for(d=0;d<T.length;d++){let A=T[d];m=g.projectPointsOntoPlane(A,use),x=li.computeWindingOrder2D(m),x===ds.COUNTER_CLOCKWISE&&(A=A.slice().reverse()),b=jn.computeWallGeometry(A,n,e,i,r,u),f.walls.push(new vt({geometry:b}))}return f}function Sf(e){let t=e.polygonHierarchy,n=y(e.vertexFormat,Pe.DEFAULT),i=y(e.ellipsoid,ee.default),o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.stRotation,0),s=e.textureCoordinates,a=y(e.perPositionHeight,!1),c=a&&l(e.extrudedHeight),u=y(e.height,0),f=y(e.extrudedHeight,u);if(!c){let d=Math.max(u,f);f=Math.min(u,f),u=d}this._vertexFormat=Pe.clone(n),this._ellipsoid=ee.clone(i),this._granularity=o,this._stRotation=r,this._height=u,this._extrudedHeight=f,this._closeTop=y(e.closeTop,!0),this._closeBottom=y(e.closeBottom,!0),this._polygonHierarchy=t,this._perPositionHeight=a,this._perPositionHeightExtrude=c,this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=y(e.arcType,tn.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=s,this.packedLength=jn.computeHierarchyPackedLength(t,h)+ee.packedLength+Pe.packedLength+(s?jn.computeHierarchyPackedLength(s,z):1)+12}Sf.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType,textureCoordinates:e.textureCoordinates};return new Sf(t)};Sf.pack=function(e,t,n){return n=y(n,0),n=jn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._stRotation,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._closeTop?1:0,t[n++]=e._closeBottom?1:0,t[n++]=e._shadowVolume?1:0,t[n++]=y(e._offsetAttribute,-1),t[n++]=e._arcType,l(e._textureCoordinates)?n=jn.packPolygonHierarchy(e._textureCoordinates,t,n,z):t[n++]=-1,t[n++]=e.packedLength,t};var KUe=ee.clone(ee.UNIT_SPHERE),ZUe=new Pe,$Ue={polygonHierarchy:{}};Sf.unpack=function(e,t,n){t=y(t,0);let i=jn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,KUe);t+=ee.packedLength;let r=Pe.unpack(e,t,ZUe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++]===1,d=e[t++]===1,p=e[t++]===1,g=e[t++]===1,m=e[t++]===1,x=e[t++],b=e[t++],T=e[t]===-1?void 0:jn.unpackPolygonHierarchy(e,t,z);l(T)?(t=T.startingIndex,delete T.startingIndex):t++;let A=e[t++];return l(n)||(n=new Sf($Ue)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._height=s,n._extrudedHeight=a,n._granularity=c,n._stRotation=u,n._perPositionHeightExtrude=f,n._perPositionHeight=d,n._closeTop=p,n._closeBottom=g,n._shadowVolume=m,n._offsetAttribute=x===-1?void 0:x,n._arcType=b,n._textureCoordinates=T,n.packedLength=A,n};var QUe=new z,JUe=new z,eze=new dc;function fse(e,t,n,i,o,r){let s=e.longitude,a=s>=0?s:s+P.TWO_PI;o.westOverIdl=Math.min(o.westOverIdl,a),o.eastOverIdl=Math.max(o.eastOverIdl,a),r.west=Math.min(r.west,s),r.east=Math.max(r.east,s);let c=e.getLatitude(n),u=c;if(r.south=Math.min(r.south,c),r.north=Math.max(r.north,c),i!==tn.RHUMB){let p=z.subtract(t.position,e.position,QUe),g=z.dot(t.position,p)/z.dot(p,p);if(g>0&&g<1){let m=z.add(t.position,z.multiplyByScalar(p,-g,p),JUe),x=dc.clone(t,eze);x.position=m;let b=x.getLatitude(n);r.south=Math.min(r.south,b),r.north=Math.max(r.north,b),Math.abs(c)>Math.abs(b)&&(u=b)}}let f=t.x*e.y-e.x*t.y,d=Math.sign(f);d!==0&&(d*=z.angleBetween(t.position,e.position)),u>=0&&(o.northAngle+=d),u<=0&&(o.southAngle+=d)}var dse=new dc,tze=new dc,Ef={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};Sf.computeRectangleFromPositions=function(e,t,n,i){if(l(i)||(i=new se),e.length<3)return i;i.west=Number.POSITIVE_INFINITY,i.east=Number.NEGATIVE_INFINITY,i.south=Number.POSITIVE_INFINITY,i.north=Number.NEGATIVE_INFINITY,Ef.northAngle=0,Ef.southAngle=0,Ef.westOverIdl=Number.POSITIVE_INFINITY,Ef.eastOverIdl=Number.NEGATIVE_INFINITY;let o=e.length,r=dc.fromCartesian(e[0],tze);for(let s=1;s<o;s++){let a=dc.fromCartesian(e[s],dse);fse(a,r,t,n,Ef,i),r=dc.clone(a,r)}return fse(dc.fromCartesian(e[0],dse),r,t,n,Ef,i),i.east-i.west>Ef.eastOverIdl-Ef.westOverIdl&&(i.west=Ef.westOverIdl,i.east=Ef.eastOverIdl,i.east>P.PI&&(i.east=i.east-P.TWO_PI),i.west>P.PI&&(i.west=i.west-P.TWO_PI)),P.equalsEpsilon(Math.abs(Ef.northAngle),P.TWO_PI,P.EPSILON10)&&(i.north=P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),P.equalsEpsilon(Math.abs(Ef.southAngle),P.TWO_PI,P.EPSILON10)&&(i.south=-P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),i};var nze=new dc;function ize(e,t,n){return e.height>=P.PI||e.width>=P.PI?dc.fromCartesian(t[0],nze).tangentPlane:Zr.fromPoints(t,n)}var hse=new fe;function oze(e,t,n){return(i,o)=>{if(e.height>=P.PI||e.width>=P.PI){if(e.south<0&&e.north>0){l(o)||(o=[]);for(let s=0;s<i.length;++s){let a=n.cartesianToCartographic(i[s],hse);o[s]=new z(a.longitude/P.PI,a.latitude/P.PI_OVER_TWO)}return o.length=i.length,o}return dc.fromCartesianArray(i,o)}return Zr.fromPoints(t,n).projectPointsOntoPlane(i,o)}}function rze(e,t,n){if(e.height>=P.PI||e.width>=P.PI)return(o,r)=>{if(e.south<0&&e.north>0){let s=n.cartesianToCartographic(o,hse);return l(r)||(r=new z),r.x=s.longitude/P.PI,r.y=s.latitude/P.PI_OVER_TWO,r}return dc.fromCartesian(o,r)};let i=Zr.fromPoints(t,n);return(o,r)=>i.projectPointsOntoPlane(o,r)}function sze(e,t,n,i){return(o,r)=>!i&&(e.height>=P.PI_OVER_TWO||e.width>=2*P.PI_OVER_THREE)?jn.splitPolygonsOnEquator(o,t,n,r):o}function aze(e,t,n,i){if(t.height>=P.PI||t.width>=P.PI)return We.fromRectangle(t,void 0,cse);let o=e,r=Zr.fromPoints(o,n);return jn.computeBoundingRectangle(r.plane.normal,r.projectPointOntoPlane.bind(r),o,i,cse)}Sf.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,u=e._arcType,f=e._textureCoordinates,d=l(f),p=r.positions;if(p.length<3)return;let g=e.rectangle,m=jn.polygonsFromHierarchy(r,d,oze(g,p,n),!s,n,sze(g,n,u,s)),x=m.hierarchy,b=m.polygons,T=function(I){return I},A=d?jn.polygonsFromHierarchy(f,!0,T,!1,n).polygons:void 0;if(x.length===0)return;let C=x[0].outerRing,E=aze(C,g,n,o),v=[],D=e._height,O=e._extrudedHeight,R=e._perPositionHeightExtrude||!P.equalsEpsilon(D,O,0,P.EPSILON2),M={perPositionHeight:s,vertexFormat:t,geometry:void 0,rotationAxis:ize(g,C,n).plane.normal,projectTo2d:rze(g,C,n),boundingRectangle:E,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:u},N;if(R)for(M.extrude=!0,M.top=a,M.bottom=c,M.shadowVolume=e._shadowVolume,M.offsetAttribute=e._offsetAttribute,N=0;N<b.length;N++){let I=XUe(n,b[N],d?A[N]:void 0,i,x[N],s,a,c,t,u),L;a&&c?(L=I.topAndBottom,M.geometry=jn.scaleToGeodeticHeightExtruded(L.geometry,D,O,n,s)):a?(L=I.topAndBottom,L.geometry.attributes.position.values=li.scaleToGeodeticHeight(L.geometry.attributes.position.values,D,n,!s),M.geometry=L.geometry):c&&(L=I.topAndBottom,L.geometry.attributes.position.values=li.scaleToGeodeticHeight(L.geometry.attributes.position.values,O,n,!0),M.geometry=L.geometry),(a||c)&&(M.wall=!1,L.geometry=yW(M),v.push(L));let B=I.walls;M.wall=!0;for(let U=0;U<B.length;U++){let V=B[U];M.geometry=jn.scaleToGeodeticHeightExtruded(V.geometry,D,O,n,s),V.geometry=yW(M),v.push(V)}}else for(N=0;N<b.length;N++){let I=new vt({geometry:jn.createGeometryFromPositions(n,b[N],d?A[N]:void 0,i,s,t,u)});if(I.geometry.attributes.position.values=li.scaleToGeodeticHeight(I.geometry.attributes.position.values,D,n,!s),M.geometry=I.geometry,I.geometry=yW(M),l(e._offsetAttribute)){let L=I.geometry.attributes.position.values.length,B=e._offsetAttribute===un.NONE?0:1,U=new Uint8Array(L/3).fill(B);I.geometry.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:U})}v.push(I)}let _=Gn.combineInstances(v)[0];_.attributes.position.values=new Float64Array(_.attributes.position.values),_.indices=Fe.createTypedArray(_.attributes.position.values.length/3,_.indices);let S=_.attributes,w=ae.fromVertices(S.position.values);return t.position||delete S.position,new ut({attributes:S,indices:_.indices,primitiveType:_.primitiveType,boundingSphere:w,offsetAttribute:e._offsetAttribute})};Sf.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Sf({polygonHierarchy:e._polygonHierarchy,ellipsoid:o,stRotation:e._stRotation,granularity:i,perPositionHeight:!1,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})};function cze(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let n=e._ellipsoid,i=e._polygonHierarchy.positions,o=e.rectangle;return ut._textureCoordinateRotationPoints(i,t,n,o)}Object.defineProperties(Sf.prototype,{rectangle:{get:function(){if(!l(this._rectangle)){let e=this._polygonHierarchy.positions;this._rectangle=Sf.computeRectangleFromPositions(e,this._ellipsoid,this._arcType)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=cze(this)),this._textureCoordinateRotationPoints}}});var $p=Sf;function hb(e){this._ellipsoid=y(e.ellipsoid,ee.default),this._positions=[...e.positions]}Object.defineProperties(hb.prototype,{length:{get:function(){return this._positions.length}},positions:{get:function(){return this._positions}},ellipsoid:{get:function(){return this._ellipsoid}}});hb.clone=function(e,t){return l(t)?(t._ellipsoid=e.ellipsoid,t._positions.length=0,t._positions.push(...e.positions),t):new hb({positions:e.positions,ellipsoid:e.ellipsoid})};hb.equals=function(e,t){return e.ellipsoid.equals(t.ellipsoid)&&e.positions===t.positions};hb.prototype.computeRectangle=function(e){return $p.computeRectangleFromPositions(this.positions,this.ellipsoid,void 0,e)};var lze=new se,mse=new h;hb.prototype.computeSphericalExtents=function(e){l(e)||(e=new se);let t=this.computeRectangle(lze),n=fe.toCartesian(se.southwest(t),this.ellipsoid,mse),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y);return e.south=o,e.west=r,n=fe.toCartesian(se.northeast(t),this.ellipsoid,mse),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y),e.north=o,e.east=r,e};var BA=hb;var hR=`in vec2 v_textureCoordinates; +${o.stack}`),o};uc.getNodeTransform=function(e){return l(e.matrix)?e.matrix:F.fromTranslationQuaternionRotationScale(l(e.translation)?e.translation:h.ZERO,l(e.rotation)?e.rotation:Le.IDENTITY,l(e.scale)?e.scale:h.ONE)};uc.getAttributeBySemantic=function(e,t,n){let i=e.attributes,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=l(n)?s.setIndex===n:!0;if(s.semantic===t&&a)return s}};uc.getAttributeByName=function(e,t){let n=e.attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.name===t)return r}};uc.getFeatureIdsByLabel=function(e,t){for(let n=0;n<e.length;n++){let i=e[n];if(i.positionalLabel===t||i.label===t)return i}};uc.hasQuantizedAttributes=function(e){if(!l(e))return!1;for(let t=0;t<e.length;t++){let n=e[t];if(l(n.quantization))return!0}return!1};uc.getAttributeInfo=function(e){let t=e.semantic,n=e.setIndex,i,o=!1;l(t)?(i=St.getVariableName(t,n),o=!0):(i=e.name,i=i.replace(/^_/,""),i=i.toLowerCase());let r=/^color_\d+$/.test(i),s=e.type,a=an.getGlslType(s);r&&(a="vec4");let c=l(e.quantization),u;return c&&(u=r?"vec4":an.getGlslType(e.quantization.type)),{attribute:e,isQuantized:c,variableName:i,hasSemantic:o,glslType:a,quantizedGlslType:u}};var qke=new h,Yke=new h;uc.getPositionMinMax=function(e,t,n){let i=uc.getAttributeBySemantic(e,"POSITION"),o=i.max,r=i.min;return l(n)&&l(t)&&(r=h.add(r,t,Yke),o=h.add(o,n,qke)),{min:r,max:o}};uc.getAxisCorrectionMatrix=function(e,t,n){return n=F.clone(F.IDENTITY,n),e===Fo.Y?n=F.clone(Fo.Y_UP_TO_Z_UP,n):e===Fo.X&&(n=F.clone(Fo.X_UP_TO_Z_UP,n)),t===Fo.Z&&(n=F.multiplyTransformation(n,Fo.Z_UP_TO_X_UP,n)),n};var Xke=new $;uc.getCullFace=function(e,t){if(!Ne.isTriangles(t))return Ci.BACK;let n=F.getMatrix3(e,Xke);return $.determinant(n)<0?Ci.FRONT:Ci.BACK};uc.sanitizeGlslIdentifier=function(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g,"_");return t=t.replace(/^gl_/,""),/^\d/.test(t)&&(t=`_${t}`),t};uc.supportedExtensions={AGI_articulations:!0,CESIUM_primitive_outline:!0,CESIUM_RTC:!0,EXT_feature_metadata:!0,EXT_instance_features:!0,EXT_mesh_features:!0,EXT_mesh_gpu_instancing:!0,EXT_meshopt_compression:!0,EXT_structural_metadata:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_draco_mesh_compression:!0,KHR_techniques_webgl:!0,KHR_materials_common:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_materials_specular:!0,KHR_materials_anisotropy:!0,KHR_materials_clearcoat:!0,KHR_materials_unlit:!0,KHR_mesh_quantization:!0,KHR_texture_basisu:!0,KHR_texture_transform:!0,WEB3D_quantized_attributes:!0};uc.checkSupportedExtensions=function(e){let t=e.length;for(let n=0;n<t;n++){let i=e[n];if(!uc.supportedExtensions[i])throw new se(`Unsupported glTF Extension: ${i}`)}};var Zt=uc;function uy(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltfResource,i=e.baseResource,o=e.typedArray,r=e.gltfJson,s=e.cacheKey;this._resourceCache=t,this._gltfResource=n,this._baseResource=i,this._typedArray=o,this._gltfJson=r,this._cacheKey=s,this._gltf=void 0,this._bufferLoaders=[],this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(uy.prototype=Object.create(Ki.prototype),uy.prototype.constructor=uy);Object.defineProperties(uy.prototype,{cacheKey:{get:function(){return this._cacheKey}},gltf:{get:function(){return this._gltf}}});uy.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,l(this._gltfJson)?(this._promise=kre(this,this._gltfJson),this._promise):l(this._typedArray)?(this._promise=Vre(this,this._typedArray),this._promise):(this._promise=Kke(this),this._promise))};async function Kke(e){let t;try{let n=await e._fetchGltf();if(e.isDestroyed())return;t=new Uint8Array(n)}catch(n){if(e.isDestroyed())return;_W(e,n)}return Vre(e,t)}function _W(e,t){e.unload(),e._state=yt.FAILED;let n=`Failed to load glTF: ${e._gltfResource.url}`;throw e.getError(n,t)}async function Zke(e,t){if(l(t.asset)&&t.asset.version==="2.0"&&!mr(t,"KHR_techniques_webgl")&&!mr(t,"KHR_materials_common"))return Promise.resolve();let n=[];Pe.buffer(t,function(i){if(!l(i.extras._pipeline.source)&&l(i.uri)){let o=e._baseResource.getDerivedResource({url:i.uri}),s=e._resourceCache.getExternalBufferLoader({resource:o});e._bufferLoaders.push(s),n.push(s.load().then(function(){s.isDestroyed()||(i.extras._pipeline.source=s.typedArray)}))}}),await Promise.all(n),aR(t)}function $ke(e){let t=[];return Pe.buffer(e,function(n){let i=n.uri;!l(n.extras._pipeline.source)&&l(i)&&yp(i)&&(delete n.uri,t.push(Ae.fetchArrayBuffer(i).then(function(o){n.extras._pipeline.source=new Uint8Array(o)})))}),Promise.all(t)}function Qke(e,t){let n=[];return Pe.buffer(t,function(i,o){let r=i.extras._pipeline.source;if(l(r)&&!l(i.uri)){let a=e._resourceCache.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:o,typedArray:r});e._bufferLoaders.push(a),n.push(a.load())}}),Promise.all(n)}async function kre(e,t){try{ly(t),await $ke(t),await Zke(e,t),Z1(t),await Qke(e,t),J1(t);let n=t.asset.version;if(n!=="1.0"&&n!=="2.0")throw new se(`Unsupported glTF version: ${n}`);let i=t.extensionsRequired;return l(i)&&Zt.checkSupportedExtensions(i),e._gltf=t,e._state=yt.READY,e}catch(n){if(e.isDestroyed())return;_W(e,n)}}async function Vre(e,t){let n;try{Ud(t)==="glTF"?n=Q1(t):n=Bo(t)}catch(i){if(e.isDestroyed())return;_W(e,i)}return kre(e,n)}uy.prototype.unload=function(){let e=this._bufferLoaders,t=e.length;for(let n=0;n<t;++n)e[n]=!e[n].isDestroyed()&&this._resourceCache.unload(e[n]);this._bufferLoaders.length=0,this._gltf=void 0};uy.prototype._fetchGltf=function(){return this._gltfResource.fetchArrayBuffer()};var PA=uy;var Jke={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},hm=Object.freeze(Jke);var Do={};function eVe(){this.octEncoded=!1,this.octEncodedZXY=!1,this.normalizationRange=void 0,this.quantizedVolumeOffset=void 0,this.quantizedVolumeDimensions=void 0,this.quantizedVolumeStepSize=void 0,this.componentDatatype=void 0,this.type=void 0}function tVe(){this.name=void 0,this.semantic=void 0,this.setIndex=void 0,this.componentDatatype=void 0,this.type=void 0,this.normalized=!1,this.count=void 0,this.min=void 0,this.max=void 0,this.constant=void 0,this.quantization=void 0,this.typedArray=void 0,this.buffer=void 0,this.byteOffset=0,this.byteStride=void 0}function nVe(){this.indexDatatype=void 0,this.count=void 0,this.buffer=void 0,this.typedArray=void 0}function iVe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.setIndex=void 0,this.label=void 0,this.positionalLabel=void 0}function oVe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.offset=0,this.repeat=void 0,this.label=void 0,this.positionalLabel=void 0}function rVe(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.textureReader=void 0,this.label=void 0,this.positionalLabel=void 0}function sVe(){this.attributes=[]}function aVe(){this.attributes=[],this.morphTargets=[],this.indices=void 0,this.material=void 0,this.primitiveType=void 0,this.featureIds=[],this.propertyTextureIds=[],this.propertyAttributeIds=[],this.outlineCoordinates=void 0}function cVe(){this.attributes=[],this.featureIds=[],this.transformInWorldSpace=!1}function lVe(){this.index=void 0,this.joints=[],this.inverseBindMatrices=[]}function uVe(){this.name=void 0,this.index=void 0,this.children=[],this.primitives=[],this.instances=void 0,this.skin=void 0,this.matrix=void 0,this.translation=void 0,this.rotation=void 0,this.scale=void 0,this.morphWeights=[],this.articulationName=void 0}function fVe(){this.nodes=[]}var dVe={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};function hVe(){this.input=[],this.interpolation=void 0,this.output=[]}function mVe(){this.node=void 0,this.path=void 0}function pVe(){this.sampler=void 0,this.target=void 0}function _Ve(){this.name=void 0,this.samplers=[],this.channels=[]}function gVe(){this.name=void 0,this.type=void 0,this.minimumValue=void 0,this.maximumValue=void 0,this.initialValue=void 0}function yVe(){this.name=void 0,this.stages=[]}function Ure(){this.credits=[]}function xVe(){this.asset=new Ure,this.scene=void 0,this.nodes=[],this.skins=[],this.animations=[],this.articulations=[],this.structuralMetadata=void 0,this.upAxis=void 0,this.forwardAxis=void 0,this.transform=F.clone(F.IDENTITY),this.extensions={}}function bVe(){this.texture=void 0,this.index=void 0,this.texCoord=0,this.transform=$.clone($.IDENTITY),this.scale=1,this.channels=void 0}function fy(){this.baseColorTexture=void 0,this.metallicRoughnessTexture=void 0,this.baseColorFactor=ie.clone(fy.DEFAULT_BASE_COLOR_FACTOR),this.metallicFactor=fy.DEFAULT_METALLIC_FACTOR,this.roughnessFactor=fy.DEFAULT_ROUGHNESS_FACTOR}fy.DEFAULT_BASE_COLOR_FACTOR=ie.ONE;fy.DEFAULT_METALLIC_FACTOR=1;fy.DEFAULT_ROUGHNESS_FACTOR=1;function ub(){this.diffuseTexture=void 0,this.specularGlossinessTexture=void 0,this.diffuseFactor=ie.clone(ub.DEFAULT_DIFFUSE_FACTOR),this.specularFactor=h.clone(ub.DEFAULT_SPECULAR_FACTOR),this.glossinessFactor=ub.DEFAULT_GLOSSINESS_FACTOR}ub.DEFAULT_DIFFUSE_FACTOR=ie.ONE;ub.DEFAULT_SPECULAR_FACTOR=h.ONE;ub.DEFAULT_GLOSSINESS_FACTOR=1;function cR(){this.specularFactor=cR.DEFAULT_SPECULAR_FACTOR,this.specularTexture=void 0,this.specularColorFactor=h.clone(cR.DEFAULT_SPECULAR_COLOR_FACTOR),this.specularColorTexture=void 0}cR.DEFAULT_SPECULAR_FACTOR=1;cR.DEFAULT_SPECULAR_COLOR_FACTOR=h.ONE;function lR(){this.anisotropyStrength=lR.DEFAULT_ANISOTROPY_STRENGTH,this.anisotropyRotation=lR.DEFAULT_ANISOTROPY_ROTATION,this.anisotropyTexture=void 0}lR.DEFAULT_ANISOTROPY_STRENGTH=0;lR.DEFAULT_ANISOTROPY_ROTATION=0;function uR(){this.clearcoatFactor=uR.DEFAULT_CLEARCOAT_FACTOR,this.clearcoatTexture=void 0,this.clearcoatRoughnessFactor=uR.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,this.clearcoatRoughnessTexture=void 0,this.clearcoatNormalTexture=void 0}uR.DEFAULT_CLEARCOAT_FACTOR=0;uR.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR=0;function gW(){this.metallicRoughness=new fy,this.specularGlossiness=void 0,this.specular=void 0,this.anisotropy=void 0,this.clearcoat=void 0,this.emissiveTexture=void 0,this.normalTexture=void 0,this.occlusionTexture=void 0,this.emissiveFactor=h.clone(gW.DEFAULT_EMISSIVE_FACTOR),this.alphaMode=hm.OPAQUE,this.alphaCutoff=.5,this.doubleSided=!1,this.unlit=!1}gW.DEFAULT_EMISSIVE_FACTOR=h.ZERO;Do.Quantization=eVe;Do.Attribute=tVe;Do.Indices=nVe;Do.FeatureIdAttribute=iVe;Do.FeatureIdTexture=rVe;Do.FeatureIdImplicitRange=oVe;Do.MorphTarget=sVe;Do.Primitive=aVe;Do.Instances=cVe;Do.Skin=lVe;Do.Node=uVe;Do.Scene=fVe;Do.AnimatedPropertyType=Object.freeze(dVe);Do.AnimationSampler=hVe;Do.AnimationTarget=mVe;Do.AnimationChannel=pVe;Do.Animation=_Ve;Do.ArticulationStage=gVe;Do.Articulation=yVe;Do.Asset=Ure;Do.Components=xVe;Do.TextureReader=bVe;Do.MetallicRoughness=fy;Do.SpecularGlossiness=ub;Do.Specular=cR;Do.Anisotropy=lR;Do.Clearcoat=uR;Do.Material=gW;var Cn=Do;var HU={};HU.getImageIdFromTexture=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureId:n,supportedImageFormats:i}=e,o=t.textures[n],r=o.extensions;if(l(r)){if(i.webp&&l(r.EXT_texture_webp))return r.EXT_texture_webp.source;if(i.basis&&l(r.KHR_texture_basisu))return r.KHR_texture_basisu.source}return o.source};HU.createSampler=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,compressedTextureNoMipmap:i=!1}=e,o=En.REPEAT,r=En.REPEAT,s=$t.LINEAR,a=pi.LINEAR,c=n.index,f=t.textures[c].sampler;if(l(f)){let d=t.samplers[f];o=y(d.wrapS,o),r=y(d.wrapT,r),s=y(d.minFilter,s),a=y(d.magFilter,a)}return i&&s!==$t.LINEAR&&s!==$t.NEAREST&&(s===$t.NEAREST_MIPMAP_NEAREST||s===$t.NEAREST_MIPMAP_LINEAR?s=$t.NEAREST:s=$t.LINEAR),new Qt({wrapS:o,wrapT:r,minificationFilter:s,magnificationFilter:a})};var TVe=new z(1,1);HU.createModelTextureReader=function(e){e=y(e,y.EMPTY_OBJECT);let{textureInfo:t,channels:n,texture:i}=e,o=y(t.texCoord,0),r,s=t.extensions?.KHR_texture_transform;if(l(s)){o=y(s.texCoord,o);let c=l(s.offset)?z.unpack(s.offset):z.ZERO,u=y(s.rotation,0),f=l(s.scale)?z.unpack(s.scale):TVe;u=-u,r=new $(Math.cos(u)*f.x,-Math.sin(u)*f.y,c.x,Math.sin(u)*f.x,Math.cos(u)*f.y,c.y,0,0,1)}let a=new Cn.TextureReader;return a.index=t.index,a.texture=i,a.texCoord=o,a.scale=t.scale,a.transform=r,a.channels=n,a};var Ol=HU;function CVe(e){let t=document.createElement("canvas");return t.width=P.nextPowerOfTwo(e.width),t.height=P.nextPowerOfTwo(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),t}var dy=CVe;function hy(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.textureInfo,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.cacheKey,c=y(e.asynchronous,!0),u=i.index,f=Ol.getImageIdFromTexture({gltf:n,textureId:u,supportedImageFormats:s});this._resourceCache=t,this._gltf=n,this._textureInfo=i,this._imageId=f,this._gltfResource=o,this._baseResource=r,this._cacheKey=a,this._asynchronous=c,this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(hy.prototype=Object.create(Ki.prototype),hy.prototype.constructor=hy);Object.defineProperties(hy.prototype,{cacheKey:{get:function(){return this._cacheKey}},texture:{get:function(){return this._texture}}});var AVe=new yW;async function EVe(e){let t=e._resourceCache;try{let n=t.getImageLoader({gltf:e._gltf,imageId:e._imageId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._imageLoader=n,await n.load(),e.isDestroyed()?void 0:(e._image=n.image,e._mipLevels=n.mipLevels,e._state=yt.LOADED,e)}catch(n){if(e.isDestroyed())return;throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load texture",n)}}hy.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,this._promise=EVe(this),this._promise)};function yW(){this.gltf=void 0,this.textureInfo=void 0,this.textureId=void 0,this.image=void 0,this.context=void 0,this.texture=void 0}yW.prototype.set=function(e,t,n,i,o,r){this.gltf=e,this.textureInfo=t,this.textureId=n,this.image=i,this.mipLevels=o,this.context=r};yW.prototype.execute=function(){this.texture=zre(this.gltf,this.textureInfo,this.textureId,this.image,this.mipLevels,this.context)};function zre(e,t,n,i,o,r){let s=i.internalFormat,a=!1;nt.isCompressedFormat(s)&&!l(o)&&(a=!0);let c=Ol.createSampler({gltf:e,textureInfo:t,compressedTextureNoMipmap:a}),u=c.minificationFilter,f=c.wrapS,d=c.wrapT,p=u===$t.NEAREST_MIPMAP_NEAREST||u===$t.NEAREST_MIPMAP_LINEAR||u===$t.LINEAR_MIPMAP_NEAREST||u===$t.LINEAR_MIPMAP_LINEAR,g=!l(s)&&p,m=g||f===En.REPEAT||f===En.MIRRORED_REPEAT||d===En.REPEAT||d===En.MIRRORED_REPEAT,x=!P.isPowerOfTwo(i.width)||!P.isPowerOfTwo(i.height),b=m&&x,T;return l(s)?(!r.webgl2&&nt.isCompressedFormat(s)&&x&&m&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly."),T=Pt.create({id:n,context:r,source:{arrayBufferView:i.bufferView,mipLevels:o},width:i.width,height:i.height,pixelFormat:i.internalFormat,sampler:c})):(b&&(i=dy(i)),T=Pt.create({id:n,context:r,source:i,sampler:c,flipY:!1,skipColorSpaceConversion:!0})),g&&T.generateMipmap(),T}hy.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.LOADED&&this._state!==yt.PROCESSING||l(this._texture)||!l(this._image))return!1;this._state=yt.PROCESSING;let t;if(this._asynchronous){let n=AVe;if(n.set(this._gltf,this._textureInfo,this._cacheKey,this._image,this._mipLevels,e.context),!e.jobScheduler.execute(n,Ba.TEXTURE))return;t=n.texture}else t=zre(this._gltf,this._textureInfo,this._cacheKey,this._image,this._mipLevels,e.context);return this.unload(),this._texture=t,this._state=yt.READY,this._resourceCache.statistics.addTextureLoader(this),!0};hy.prototype.unload=function(){l(this._texture)&&this._texture.destroy(),l(this._imageLoader)&&!this._imageLoader.isDestroyed()&&this._resourceCache.unload(this._imageLoader),this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._gltf=void 0};var RA=hy;function my(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.gltfResource,o=e.baseResource,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=e.accessorId,u=e.cacheKey,f=y(e.asynchronous,!0),d=y(e.loadBuffer,!1),p=y(e.loadTypedArray,!1);this._resourceCache=t,this._gltfResource=i,this._baseResource=o,this._gltf=n,this._bufferViewId=r,this._draco=s,this._attributeSemantic=a,this._accessorId=c,this._cacheKey=u,this._asynchronous=f,this._loadBuffer=d,this._loadTypedArray=p,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._quantization=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(my.prototype=Object.create(Ki.prototype),my.prototype.constructor=my);Object.defineProperties(my.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},quantization:{get:function(){return this._quantization}}});function SVe(e,t){return l(e)&&l(e.attributes)&&l(e.attributes[t])}my.prototype.load=async function(){return l(this._promise)?this._promise:SVe(this._draco,this._attributeSemantic)?(this._promise=wVe(this),this._promise):(this._promise=IVe(this),this._promise)};function vVe(e,t,n,i){let r=(1<<e.quantizationBits)-1,s=1/r,a=new Cn.Quantization;if(a.componentDatatype=t,a.octEncoded=e.octEncoded,a.octEncodedZXY=!0,a.type=i,a.octEncoded)a.type=an.VEC2,a.normalizationRange=r;else{let c=an.getMathType(i);if(c===Number){let u=e.range;a.quantizedVolumeOffset=e.minValues[0],a.quantizedVolumeDimensions=u,a.normalizationRange=r,a.quantizedVolumeStepSize=u*s}else{a.quantizedVolumeOffset=c.unpack(e.minValues),a.normalizationRange=c.unpack(new Array(n).fill(r));let u=new Array(n).fill(e.range);a.quantizedVolumeDimensions=c.unpack(u);let f=u.map(function(d){return d*s});a.quantizedVolumeStepSize=c.unpack(f)}}return a}async function wVe(e){e._state=yt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=yt.LOADED,e)}catch{if(e.isDestroyed())return;xW(e)}}function DVe(e){e._state=yt.PROCESSING;let n=e._dracoLoader.decodedData.vertexAttributes,i=e._attributeSemantic,o=n[i],r=e._accessorId,a=e._gltf.accessors[r].type,c=o.array,u=o.data.quantization;l(u)&&(e._quantization=vVe(u,o.data.componentDatatype,o.data.componentsPerAttribute,a)),e._typedArray=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}async function IVe(e){e._state=yt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._typedArray=n.typedArray,e._state=yt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;xW(e,n)}}function xW(e,t){throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load vertex buffer",t)}function bW(){this.typedArray=void 0,this.context=void 0,this.buffer=void 0}bW.prototype.set=function(e,t){this.typedArray=e,this.context=t};bW.prototype.execute=function(){this.buffer=Hre(this.typedArray,this.context)};function Hre(e,t){let n=xt.createVertexBuffer({typedArray:e,context:t,usage:Be.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}var PVe=new bW;my.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.LOADED&&this._state!==yt.PROCESSING)return!1;if(l(this._dracoLoader)){try{if(!this._dracoLoader.process(e))return!1}catch(i){xW(this,i)}DVe(this)}let t,n=this._typedArray;if(this._loadBuffer&&this._asynchronous){let i=PVe;if(i.set(n,e.context),!e.jobScheduler.execute(i,Ba.BUFFER))return!1;t=i.buffer}else this._loadBuffer&&(t=Hre(n,e.context));return this.unload(),this._buffer=t,this._typedArray=this._loadTypedArray?n:void 0,this._state=yt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};my.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var OA=my;function fR(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=y(e.properties,{}),i={};for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r.semantic)&&(i[r.semantic]=r)}this._id=t,this._name=e.name,this._description=e.description,this._properties=n,this._propertiesBySemantic=i,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}fR.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.class,i={};for(let o in n.properties)if(n.properties.hasOwnProperty(o)){let r=um.fromJson({id:o,property:n.properties[o],enums:e.enums});i[o]=r}return new fR({id:t,name:n.name,description:n.description,properties:i,extras:n.extras,extensions:n.extensions})};Object.defineProperties(fR.prototype,{properties:{get:function(){return this._properties}},propertiesBySemantic:{get:function(){return this._propertiesBySemantic}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});fR.BATCH_TABLE_CLASS_NAME="_batchTable";var Gd=fR;function GU(e){e=y(e,y.EMPTY_OBJECT);let t=e.value,n=e.name;this._value=t,this._name=n,this._description=e.description,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}GU.fromJson=function(e){return new GU({value:e.value,name:e.name,description:e.description,extras:e.extras,extensions:e.extensions})};Object.defineProperties(GU.prototype,{value:{get:function(){return this._value}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var dR=GU;function WU(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.values,i={},o={},r=n.length;for(let a=0;a<r;++a){let c=n[a];i[c.value]=c.name,o[c.name]=c.value}let s=y(e.valueType,Ut.UINT16);this._values=n,this._namesByValue=i,this._valuesByName=o,this._valueType=s,this._id=t,this._name=e.name,this._description=e.description,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}WU.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.enum,i=n.values.map(function(o){return dR.fromJson(o)});return new WU({id:t,values:i,valueType:Ut[n.valueType],name:n.name,description:n.description,extras:n.extras,extensions:n.extensions})};Object.defineProperties(WU.prototype,{values:{get:function(){return this._values}},namesByValue:{get:function(){return this._namesByValue}},valuesByName:{get:function(){return this._valuesByName}},valueType:{get:function(){return this._valueType}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var hR=WU;function jU(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.classes,{}),n=y(e.enums,{});this._classes=t,this._enums=n,this._id=e.id,this._name=e.name,this._description=e.description,this._version=e.version,this._extras=He(e.extras,!0),this._extensions=He(e.extensions,!0)}jU.fromJson=function(e){let t={};if(l(e.enums))for(let i in e.enums)e.enums.hasOwnProperty(i)&&(t[i]=hR.fromJson({id:i,enum:e.enums[i]}));let n={};if(l(e.classes))for(let i in e.classes)e.classes.hasOwnProperty(i)&&(n[i]=Gd.fromJson({id:i,class:e.classes[i],enums:t}));return new jU({id:e.id,name:e.name,description:e.description,version:e.version,classes:n,enums:t,extras:e.extras,extensions:e.extensions})};Object.defineProperties(jU.prototype,{classes:{get:function(){return this._classes}},enums:{get:function(){return this._enums}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},version:{get:function(){return this._version}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var bu=jU;function fb(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=e.cacheKey;this._schema=l(t)?bu.fromJson(t):void 0,this._resource=n,this._cacheKey=i,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(fb.prototype=Object.create(Ki.prototype),fb.prototype.constructor=fb);Object.defineProperties(fb.prototype,{cacheKey:{get:function(){return this._cacheKey}},schema:{get:function(){return this._schema}}});fb.prototype.load=async function(){return l(this._promise)?this._promise:l(this._schema)?(this._promise=Promise.resolve(this),this._promise):(this._promise=RVe(this),this._promise)};async function RVe(e){let t=e._resource;e._state=yt.LOADING;try{let n=await t.fetchJson();return e.isDestroyed()?void 0:(e._schema=bu.fromJson(n),e._state=yt.READY,e)}catch(n){if(e.isDestroyed())return;e._state=yt.FAILED;let i=`Failed to load schema: ${t.url}`;throw e.getError(i,n)}}fb.prototype.unload=function(){this._schema=void 0};var MA=fb;var Wd={};function LA(e){return qh(e.url)}function qU(e){let{byteOffset:t,byteLength:n}=e;if(si(e,"EXT_meshopt_compression")){let i=e.extensions.EXT_meshopt_compression;t=y(i.byteOffset,0),n=i.byteLength}return`${t}-${t+n}`}function OVe(e,t){let n=t.byteOffset+e.byteOffset,{componentType:i,type:o,count:r}=e;return`${n}-${i}-${o}-${r}`}function Gre(e,t){return`${LA(e)}-buffer-id-${t}`}function mR(e,t,n,i){if(l(e.uri)){let o=i.getDerivedResource({url:e.uri});return LA(o)}return Gre(n,t)}function TW(e,t,n,i){let o=t.bufferView,r=e.bufferViews[o],s=r.buffer,a=e.buffers[s],c=mR(a,s,n,i),u=qU(r);return`${c}-range-${u}`}function Wre(e,t,n,i){let o=e.images[t],r=o.bufferView,s=o.uri;if(l(s)){let p=i.getDerivedResource({url:s});return LA(p)}let a=e.bufferViews[r],c=a.buffer,u=e.buffers[c],f=mR(u,c,n,i),d=qU(a);return`${f}-range-${d}`}function MVe(e,t){let n=Ol.createSampler({gltf:e,textureInfo:t});return`${n.wrapS}-${n.wrapT}-${n.minificationFilter}-${n.magnificationFilter}`}Wd.getSchemaCacheKey=function(e){let{schema:t,resource:n}=e;return l(t)?`embedded-schema:${JSON.stringify(t)}`:`external-schema:${LA(n)}`};Wd.getExternalBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e;return`external-buffer:${LA(t)}`};Wd.getEmbeddedBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n}=e;return`embedded-buffer:${Gre(t,n)}`};Wd.getGltfCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t}=e;return`gltf:${LA(t)}`};Wd.getBufferViewCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=t.bufferViews[n],s=r.buffer,a=t.buffers[s];si(r,"EXT_meshopt_compression")&&(s=r.extensions.EXT_meshopt_compression.buffer);let c=mR(a,s,i,o),u=qU(r);return`buffer-view:${c}-range-${u}`};Wd.getDracoCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e;return`draco:${TW(t,n,i,o)}`};Wd.getVertexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:c=!1,loadBuffer:u=!1,loadTypedArray:f=!1}=e,d="";if(c&&(d+="-dequantize"),u&&(d+="-buffer",d+=`-context-${o.context.id}`),f&&(d+="-typed-array"),l(s))return`vertex-buffer:${TW(t,s,n,i)}-draco-${a}${d}`;let p=t.bufferViews[r],g=p.buffer,m=t.buffers[g],x=mR(m,g,n,i),b=qU(p);return`vertex-buffer:${x}-range-${b}${d}`};Wd.getIndexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:a=!1,loadTypedArray:c=!1}=e,u="";if(a&&(u+="-buffer",u+=`-context-${r.context.id}`),c&&(u+="-typed-array"),l(s))return`index-buffer:${TW(t,s,i,o)}-draco${u}`;let f=t.accessors[n],d=f.bufferView,p=t.bufferViews[d],g=p.buffer,m=t.buffers[g],x=mR(m,g,i,o),b=OVe(f,p);return`index-buffer:${x}-accessor-${b}${u}`};Wd.getImageCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e;return`image:${Wre(t,n,i,o)}`};Wd.getTextureCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}=e,a=n.index,c=Ol.getImageIdFromTexture({gltf:t,textureId:a,supportedImageFormats:r}),u=Wre(t,c,i,o),f=MVe(t,n);return`texture:${u}-sampler-${f}-context-${s.context.id}`};var Ml=Wd;function pR(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}}pR.prototype.clear=function(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}};pR.prototype.addGeometryLoader=function(e){let t=e.cacheKey;if(this._geometrySizes.hasOwnProperty(t))return;this._geometrySizes[t]=0;let n=e.buffer,i=e.typedArray,o=0;l(n)&&(o+=n.sizeInBytes),l(i)&&(o+=i.byteLength),this.geometryByteLength+=o,this._geometrySizes[t]=o};pR.prototype.addTextureLoader=function(e){let t=e.cacheKey;if(this._textureSizes.hasOwnProperty(t))return;this._textureSizes[t]=0;let n=e.texture.sizeInBytes;this.texturesByteLength+=e.texture.sizeInBytes,this._textureSizes[t]=n};pR.prototype.removeLoader=function(e){let t=e.cacheKey,n=this._geometrySizes[t];delete this._geometrySizes[t],l(n)&&(this.geometryByteLength-=n);let i=this._textureSizes[t];delete this._textureSizes[t],l(i)&&(this.texturesByteLength-=i)};var _R=pR;function Bn(){}Bn.cacheEntries={};Bn.statistics=new _R;function LVe(e){this.referenceCount=1,this.resourceLoader=e,this._statisticsPromise=void 0}Bn.get=function(e){let t=Bn.cacheEntries[e];if(l(t))return++t.referenceCount,t.resourceLoader};Bn.add=function(e){let t=e.cacheKey;return Bn.cacheEntries[t]=new LVe(e),e};Bn.unload=function(e){let t=e.cacheKey,n=Bn.cacheEntries[t];--n.referenceCount,n.referenceCount===0&&(Bn.statistics.removeLoader(e),e.destroy(),delete Bn.cacheEntries[t])};Bn.getSchemaLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{schema:t,resource:n}=e,i=Ml.getSchemaCacheKey({schema:t,resource:n}),o=Bn.get(i);return l(o)?o:(o=new MA({schema:t,resource:n,cacheKey:i}),Bn.add(o))};Bn.getEmbeddedBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n,typedArray:i}=e,o=Ml.getEmbeddedBufferCacheKey({parentResource:t,bufferId:n}),r=Bn.get(o);return l(r)?r:(r=new ib({typedArray:i,cacheKey:o}),Bn.add(r))};Bn.getExternalBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e,n=Ml.getExternalBufferCacheKey({resource:t}),i=Bn.get(n);return l(i)?i:(i=new ib({resource:t,cacheKey:n}),Bn.add(i))};Bn.getGltfJsonLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,baseResource:n,typedArray:i,gltfJson:o}=e,r=Ml.getGltfCacheKey({gltfResource:t}),s=Bn.get(r);return l(s)?s:(s=new PA({resourceCache:Bn,gltfResource:t,baseResource:n,typedArray:i,gltfJson:o,cacheKey:r}),Bn.add(s))};Bn.getBufferViewLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=Ml.getBufferViewCacheKey({gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}),s=Bn.get(r);return l(s)?s:(s=new SA({resourceCache:Bn,gltf:t,bufferViewId:n,gltfResource:i,baseResource:o,cacheKey:r}),Bn.add(s))};Bn.getDracoLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e,r=Ml.getDracoCacheKey({gltf:t,draco:n,gltfResource:i,baseResource:o}),s=Bn.get(r);return l(s)?s:(s=new vA({resourceCache:Bn,gltf:t,draco:n,gltfResource:i,baseResource:o,cacheKey:r}),Bn.add(s))};Bn.getVertexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,asynchronous:u=!0,dequantize:f=!1,loadBuffer:d=!1,loadTypedArray:p=!1}=e,g=Ml.getVertexBufferCacheKey({gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:f,loadBuffer:d,loadTypedArray:p}),m=Bn.get(g);return l(m)?m:(m=new OA({resourceCache:Bn,gltf:t,gltfResource:n,baseResource:i,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,cacheKey:g,asynchronous:u,dequantize:f,loadBuffer:d,loadTypedArray:p}),Bn.add(m))};Bn.getIndexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,asynchronous:a=!0,loadBuffer:c=!1,loadTypedArray:u=!1}=e,f=Ml.getIndexBufferCacheKey({gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:c,loadTypedArray:u}),d=Bn.get(f);return l(d)?d:(d=new DA({resourceCache:Bn,gltf:t,accessorId:n,gltfResource:i,baseResource:o,draco:s,cacheKey:f,asynchronous:a,loadBuffer:c,loadTypedArray:u}),Bn.add(d))};Bn.getImageLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e,r=Ml.getImageCacheKey({gltf:t,imageId:n,gltfResource:i,baseResource:o}),s=Bn.get(r);return l(s)?s:(s=new wA({resourceCache:Bn,gltf:t,imageId:n,gltfResource:i,baseResource:o,cacheKey:r}),Bn.add(s))};Bn.getTextureLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a=!0}=e,c=Ml.getTextureCacheKey({gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}),u=Bn.get(c);return l(u)?u:(u=new RA({resourceCache:Bn,gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,cacheKey:c,asynchronous:a}),Bn.add(u))};Bn.clearForSpecs=function(){let e=[OA,DA,vA,RA,wA,SA,ib,MA,PA],t,n=Bn.cacheEntries,i=[];for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);i.sort(function(r,s){let a=e.indexOf(r.resourceLoader.constructor),c=e.indexOf(s.resourceLoader.constructor);return a-c});let o=i.length;for(let r=0;r<o;++r){let s=i[r];t=s.resourceLoader.cacheKey,l(n[t])&&(s.resourceLoader.destroy(),delete n[t])}Bn.statistics.clear()};var wi=Bn;function pa(e,t,n){this._resource=e,this._subtreeJson=void 0,this._bufferLoader=void 0,this._tileAvailability=void 0,this._contentAvailabilityBitstreams=[],this._childSubtreeAvailability=void 0,this._implicitCoordinates=n,this._subtreeLevels=t.subtreeLevels,this._subdivisionScheme=t.subdivisionScheme,this._branchingFactor=t.branchingFactor,this._metadata=void 0,this._tileMetadataTable=void 0,this._tilePropertyTableJson=void 0,this._contentMetadataTables=[],this._contentPropertyTableJsons=[],this._tileJumpBuffer=void 0,this._contentJumpBuffers=[],this._ready=!1}Object.defineProperties(pa.prototype,{ready:{get:function(){return this._ready}},metadata:{get:function(){return this._metadata}},tileMetadataTable:{get:function(){return this._tileMetadataTable}},tilePropertyTableJson:{get:function(){return this._tilePropertyTableJson}},contentMetadataTables:{get:function(){return this._contentMetadataTables}},contentPropertyTableJsons:{get:function(){return this._contentPropertyTableJsons}},implicitCoordinates:{get:function(){return this._implicitCoordinates}}});pa.prototype.tileIsAvailableAtIndex=function(e){return this._tileAvailability.getBit(e)};pa.prototype.tileIsAvailableAtCoordinates=function(e){let t=this.getTileIndex(e);return this.tileIsAvailableAtIndex(t)};pa.prototype.contentIsAvailableAtIndex=function(e,t){return t=y(t,0),this._contentAvailabilityBitstreams[t].getBit(e)};pa.prototype.contentIsAvailableAtCoordinates=function(e,t){let n=this.getTileIndex(e);return this.contentIsAvailableAtIndex(n,t)};pa.prototype.childSubtreeIsAvailableAtIndex=function(e){return this._childSubtreeAvailability.getBit(e)};pa.prototype.childSubtreeIsAvailableAtCoordinates=function(e){let t=this.getChildSubtreeIndex(e);return this.childSubtreeIsAvailableAtIndex(t)};pa.prototype.getLevelOffset=function(e){let t=this._branchingFactor;return(Math.pow(t,e)-1)/(t-1)};pa.prototype.getParentMortonIndex=function(e){let t=2;return this._subdivisionScheme===rs.OCTREE&&(t=3),e>>t};pa.fromSubtreeJson=async function(e,t,n,i,o){let r=new pa(e,i,o),s;l(t)?s={json:t,binary:void 0}:s=NVe(n);let a=s.json;r._subtreeJson=a;let c;if(si(a,"3DTILES_metadata"))c=a.extensions["3DTILES_metadata"];else if(l(a.tileMetadata)){let A=a.tileMetadata;c=a.propertyTables[A]}let u=[];if(l(a.contentMetadata)){let A=a.contentMetadata.length;for(let C=0;C<A;C++){let E=a.contentMetadata[C];u.push(a.propertyTables[E])}}let f,d=i.metadataSchema,p=a.subtreeMetadata;if(l(p)){let A=p.class,C=d.classes[A];f=new G1({subtreeMetadata:p,class:C})}r._metadata=f,r._tilePropertyTableJson=c,r._contentPropertyTableJsons=u;let g={constant:0};a.contentAvailabilityHeaders=[],si(a,"3DTILES_multiple_contents")?a.contentAvailabilityHeaders=a.extensions["3DTILES_multiple_contents"].contentAvailability:Array.isArray(a.contentAvailability)?a.contentAvailabilityHeaders=a.contentAvailability:a.contentAvailabilityHeaders.push(y(a.contentAvailability,g));let m=FVe(a.buffers),x=BVe(a.bufferViews,m);kVe(a,x),l(c)&&jre(c,x);for(let A=0;A<u.length;A++){let C=u[A];jre(C,x)}let b=await VVe(r,m,s.binary),T=zVe(x,b);return HVe(r,a,i,T),l(c)&&(GVe(r,i,T),jVe(r)),WVe(r,i,T),qVe(r),r._ready=!0,r};function NVe(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Bo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}function FVe(e){e=l(e)?e:[];for(let t=0;t<e.length;t++){let n=e[t];n.isExternal=l(n.uri),n.isActive=!1}return e}function BVe(e,t){e=l(e)?e:[];for(let n=0;n<e.length;n++){let i=e[n],o=t[i.buffer];i.bufferHeader=o,i.isActive=!1}return e}function kVe(e,t){let n,i=e.tileAvailability;l(i.bitstream)?n=t[i.bitstream]:l(i.bufferView)&&(n=t[i.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);let o=e.contentAvailabilityHeaders;for(let s=0;s<o.length;s++)n=void 0,l(o[s].bitstream)?n=t[o[s].bitstream]:l(o[s].bufferView)&&(n=t[o[s].bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);n=void 0;let r=e.childSubtreeAvailability;l(r.bitstream)?n=t[r.bitstream]:l(r.bufferView)&&(n=t[r.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0)}function jre(e,t){let n=e.properties,i;for(let o in n)if(n.hasOwnProperty(o)){let r=n[o],s=y(r.values,r.bufferView);i=t[s],i.isActive=!0,i.bufferHeader.isActive=!0;let a=y(r.stringOffsets,r.stringOffsetBufferView);l(a)&&(i=t[a],i.isActive=!0,i.bufferHeader.isActive=!0);let c=y(r.arrayOffsets,r.arrayOffsetBufferView);l(c)&&(i=t[c],i.isActive=!0,i.bufferHeader.isActive=!0)}}function VVe(e,t,n){let i=[];for(let o=0;o<t.length;o++){let r=t[o];if(!r.isActive)i.push(Promise.resolve(void 0));else if(r.isExternal){let s=UVe(e,r);i.push(s)}else i.push(Promise.resolve(n))}return Promise.all(i).then(function(o){let r={};for(let s=0;s<o.length;s++){let a=o[s];l(a)&&(r[s]=a)}return r})}async function UVe(e,t){let i=e._resource.getDerivedResource({url:t.uri}),o=wi.getExternalBufferLoader({resource:i});e._bufferLoader=o;try{await o.load()}catch(r){if(o.isDestroyed())return;throw r}return o.typedArray}function zVe(e,t){let n={};for(let i=0;i<e.length;i++){let o=e[i];if(!o.isActive)continue;let r=o.byteOffset,s=r+o.byteLength,c=t[o.buffer].subarray(r,s);n[i]=c}return n}function HVe(e,t,n,i){let o=n.branchingFactor,r=n.subtreeLevels,s=(Math.pow(o,r)-1)/(o-1),a=Math.pow(o,r),c=si(t,"3DTILES_metadata"),u=l(e._tilePropertyTableJson),f=c||u;e._tileAvailability=CW(t.tileAvailability,i,s,f);let d=e._contentPropertyTableJsons.length>0;f=f||d;for(let p=0;p<t.contentAvailabilityHeaders.length;p++){let g=CW(t.contentAvailabilityHeaders[p],i,s,f);e._contentAvailabilityBitstreams.push(g)}e._childSubtreeAvailability=CW(t.childSubtreeAvailability,i,a)}function CW(e,t,n,i){if(l(e.constant))return new AA({constant:!!e.constant,lengthBits:n,availableCount:e.availableCount});let o;return l(e.bitstream)?o=t[e.bitstream]:l(e.bufferView)&&(o=t[e.bufferView]),new AA({bitstream:o,lengthBits:n,availableCount:e.availableCount,computeAvailableCountEnabled:i})}function GVe(e,t,n){let i=e._tilePropertyTableJson,o=e._tileAvailability.availableCount,r=t.metadataSchema,s=i.class,a=r.classes[s];e._tileMetadataTable=new Pl({class:a,count:o,properties:i.properties,bufferViews:n})}function WVe(e,t,n){let i=e._contentPropertyTableJsons,o=e._contentAvailabilityBitstreams,r=t.metadataSchema,s=e._contentMetadataTables;for(let a=0;a<i.length;a++){let c=i[a],f=o[a].availableCount,d=c.class,p=r.classes[d],g=new Pl({class:p,count:f,properties:c.properties,bufferViews:n});s.push(g)}}function qre(e){let t=0,n=e.lengthBits,i=e.availableCount,o;i<256?o=new Uint8Array(n):i<65536?o=new Uint16Array(n):o=new Uint32Array(n);for(let r=0;r<e.lengthBits;r++)e.getBit(r)&&(o[r]=t,t++);return o}function jVe(e){let t=qre(e._tileAvailability);e._tileJumpBuffer=t}function qVe(e){let t=e._contentJumpBuffers,n=e._contentAvailabilityBitstreams;for(let i=0;i<n.length;i++){let o=n[i],r=qre(o);t.push(r)}}pa.prototype.getTileIndex=function(e){let t=e.level-this._implicitCoordinates.level;if(t<0||this._subtreeLevels<=t)throw new se("level is out of bounds for this subtree");return e.getSubtreeCoordinates().getOffsetCoordinates(e).tileIndex};pa.prototype.getChildSubtreeIndex=function(e){if(e.level-this._implicitCoordinates.level!==this._implicitCoordinates.subtreeLevels)throw new se("level is out of bounds for this subtree");return e.getParentSubtreeCoordinates().getOffsetCoordinates(e).mortonIndex};function YVe(e,t){if(!l(e._tileMetadataTable))return;let n=e.getTileIndex(t);if(e._tileAvailability.getBit(n))return e._tileJumpBuffer[n]}function XVe(e,t,n){let i=e._contentMetadataTables;if(!l(i))return;let o=i[n];if(!l(o))return;let r=e._contentAvailabilityBitstreams[n],s=e.getTileIndex(t);if(r.getBit(s))return e._contentJumpBuffers[n][s]}pa.prototype.getTileMetadataView=function(e){let t=YVe(this,e);if(!l(t))return;let n=this._tileMetadataTable;return new EA({class:n.class,metadataTable:n,entityId:t,propertyTableJson:this._tilePropertyTableJson})};pa.prototype.getContentMetadataView=function(e,t){let n=XVe(this,e,t);if(!l(n))return;let i=this._contentMetadataTables[t],o=this._contentPropertyTableJsons[t];return new EA({class:i.class,metadataTable:i,entityId:n,contentIndex:t,propertyTableJson:o})};pa.prototype.isDestroyed=function(){return!1};pa.prototype.destroy=function(){return l(this._bufferLoader)&&wi.unload(this._bufferLoader),ue(this)};var db=pa;var KVe={ID:"ID",NAME:"NAME",DESCRIPTION:"DESCRIPTION",TILESET_TILE_COUNT:"TILESET_TILE_COUNT",TILE_BOUNDING_BOX:"TILE_BOUNDING_BOX",TILE_BOUNDING_REGION:"TILE_BOUNDING_REGION",TILE_BOUNDING_SPHERE:"TILE_BOUNDING_SPHERE",TILE_MINIMUM_HEIGHT:"TILE_MINIMUM_HEIGHT",TILE_MAXIMUM_HEIGHT:"TILE_MAXIMUM_HEIGHT",TILE_HORIZON_OCCLUSION_POINT:"TILE_HORIZON_OCCLUSION_POINT",TILE_GEOMETRIC_ERROR:"TILE_GEOMETRIC_ERROR",CONTENT_BOUNDING_BOX:"CONTENT_BOUNDING_BOX",CONTENT_BOUNDING_REGION:"CONTENT_BOUNDING_REGION",CONTENT_BOUNDING_SPHERE:"CONTENT_BOUNDING_SPHERE",CONTENT_MINIMUM_HEIGHT:"CONTENT_MINIMUM_HEIGHT",CONTENT_MAXIMUM_HEIGHT:"CONTENT_MAXIMUM_HEIGHT",CONTENT_HORIZON_OCCLUSION_POINT:"CONTENT_HORIZON_OCCLUSION_POINT"},hb=Object.freeze(KVe);var jd={};jd.parseAllBoundingVolumeSemantics=function(e){return{tile:{boundingVolume:jd.parseBoundingVolumeSemantic("TILE",e),minimumHeight:jd._parseMinimumHeight("TILE",e),maximumHeight:jd._parseMaximumHeight("TILE",e)},content:{boundingVolume:jd.parseBoundingVolumeSemantic("CONTENT",e),minimumHeight:jd._parseMinimumHeight("CONTENT",e),maximumHeight:jd._parseMaximumHeight("CONTENT",e)}}};jd.parseBoundingVolumeSemantic=function(e,t){let n=`${e}_BOUNDING_BOX`,i=t.getPropertyBySemantic(n);if(l(i))return{box:i};let o=`${e}_BOUNDING_REGION`,r=t.getPropertyBySemantic(o);if(l(r))return{region:r};let s=`${e}_BOUNDING_SPHERE`,a=t.getPropertyBySemantic(s);if(l(a))return{sphere:a}};jd._parseMinimumHeight=function(e,t){let n=`${e}_MINIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};jd._parseMaximumHeight=function(e,t){let n=`${e}_MAXIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};var mb=jd;function $c(e,t,n){let i=t.implicitTileset,o=t.implicitCoordinates;this._implicitTileset=i,this._implicitCoordinates=o,this._implicitSubtree=void 0,this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this.featurePropertiesDirty=!1,this._group=void 0;let r=o.getTemplateValues(),s=i.subtreeUriTemplate.getDerivedResource({templateValues:r});this._url=s.getUrlComponent(!0),this._ready=!1}Object.defineProperties($c.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._url}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e}}});$c.fromSubtreeJson=async function(e,t,n,i,o,r){r=y(r,0);let s;l(o)&&(s=new Uint8Array(o,r));let a=t.implicitTileset,c=t.implicitCoordinates,u=await db.fromSubtreeJson(n,i,s,a,c),f=new $c(e,t,n);return f._implicitSubtree=u,ZVe(f,u),f._ready=!0,f};function ZVe(e,t){let n=e._tile,i=e._implicitCoordinates.childIndex,o=QVe(e,t,n,i),r=e._tileset.statistics;n.children.push(o.rootTile),r.numberOfTilesTotal++;let s=$Ve(e,t,o.bottomRow);for(let a=0;a<s.length;a++){let c=s[a],u=c.tile,f=aUe(e,u,c.childIndex);u.children.push(f),r.numberOfTilesTotal++}}function $Ve(e,t,n){let i=[],o=e._implicitTileset.branchingFactor;for(let r=0;r<n.length;r++){let s=n[r];if(l(s))for(let a=0;a<o;a++){let c=r*o+a;t.childSubtreeIsAvailableAtIndex(c)&&i.push({tile:s,childIndex:a})}}return i}function QVe(e,t,n,i){let s=Yre(e,t,n,i,0,!0),a=e._tileset.statistics,c=[s],u=[],f=e._implicitTileset;for(let d=1;d<f.subtreeLevels;d++){let p=t.getLevelOffset(d),g=f.branchingFactor*c.length;for(let m=0;m<g;m++){let x=p+m;if(!t.tileIsAvailableAtIndex(x)){u.push(void 0);continue}let b=t.getParentMortonIndex(m),T=c[b],A=m%f.branchingFactor,C=Yre(e,t,T,A,x);T.children.push(C),a.numberOfTilesTotal++,u.push(C)}c=u,u=[]}return{rootTile:s,bottomRow:c}}function Xre(e,t,n){let i=hb.TILE_GEOMETRIC_ERROR;return l(e)&&e.hasPropertyBySemantic(i)?e.getPropertyBySemantic(i):t.geometricError/Math.pow(2,n.level)}function Yre(e,t,n,i,o,r){let s=e._implicitTileset,a;y(r,!1)?a=n.implicitCoordinates:a=n.implicitCoordinates.getChildCoordinates(i);let c,u,f;if(l(t.tilePropertyTableJson)){c=t.getTileMetadataView(a);let D=mb.parseAllBoundingVolumeSemantics(c);u=D.tile,f=D.content}let p=t.contentPropertyTableJsons.length,g=!1;for(let D=0;D<p;D++)if(t.contentIsAvailableAtCoordinates(a,D)){g=!0;break}let m=tUe(s,a,i,r,n,u),x=[];for(let D=0;D<s.contentCount;D++){if(!t.contentIsAvailableAtIndex(o,D))continue;let M={uri:s.contentUriTemplates[D].getDerivedResource({templateValues:a.getTemplateValues()}).url},N=nUe(m,f);l(N)&&(M.boundingVolume=N),x.push(Ct(M,s.contentHeaders[D]))}let b=Xre(c,s,a),T={boundingVolume:m,geometricError:b,refine:s.refine,contents:x},A=!0,C=He(s.tileHeader,A);delete C.boundingVolume,delete C.transform,delete C.metadata;let E=Ct(T,C,A),v=Jre(e,s.baseResource,E,n);return v.implicitCoordinates=a,v.implicitSubtree=t,v.metadata=c,v.hasImplicitContentMetadata=g,v}function YU(e,t){return l(e)&&l(t)&&(l(t.minimumHeight)||l(t.maximumHeight))&&(si(e,"3DTILES_bounding_volume_S2")||l(e.region))}function EW(e,t){l(t)&&(si(e,"3DTILES_bounding_volume_S2")?eUe(e.extensions["3DTILES_bounding_volume_S2"],t.minimumHeight,t.maximumHeight):l(e.region)&&JVe(e.region,t.minimumHeight,t.maximumHeight))}function JVe(e,t,n){l(t)&&(e[4]=t),l(n)&&(e[5]=n)}function eUe(e,t,n){l(t)&&(e.minimumHeight=t),l(n)&&(e.maximumHeight=n)}function tUe(e,t,n,i,o,r){let s;return!l(r)||!l(r.boundingVolume)||!YU(r.boundingVolume,r)&&YU(e.boundingVolume,r)?s=Kre(e,t,n,y(i,!1),o):s=r.boundingVolume,EW(s,r),s}function nUe(e,t){let n;return l(t)&&(n=t.boundingVolume),YU(n,t)?EW(n,t):YU(e,t)&&(n=He(e,!0),EW(n,t)),n}function Kre(e,t,n,i,o){let r=e.boundingVolume;return si(r,"3DTILES_bounding_volume_S2")?Zre(i,o,n,t.level,t.x,t.y,t.z):l(r.region)?{region:Qre(r.region,t.level,t.x,t.y,t.z)}:{box:$re(r.box,t.level,t.x,t.y,t.z)}}function Zre(e,t,n,i,o,r,s){let a=t._boundingVolume;if(e)return{extensions:{"3DTILES_bounding_volume_S2":{token:Yp.getTokenFromId(a.s2Cell._cellId),minimumHeight:a.minimumHeight,maximumHeight:a.maximumHeight}}};let c=Number(t._boundingVolume.s2Cell._cellId>>BigInt(61)),u=c%2===0?TA.encode2D(i,o,r):TA.encode2D(i,r,o),f=Yp.fromFacePositionLevel(c,BigInt(u),i),d,p;if(l(s)){let g=(a.maximumHeight+a.minimumHeight)/2;d=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else d=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:Yp.getTokenFromId(f._cellId),minimumHeight:d,maximumHeight:p}}}}var iUe=new h,oUe=new h,AW=new h,rUe=new $;function $re(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,oUe),s=$.unpack(e,3,rUe),a=Math.pow(2,-t),c=-1+(2*n+1)*a,u=-1+(2*i+1)*a,f=0,d=h.fromElements(a,a,1,iUe);l(o)&&(f=-1+(2*o+1)*a,d.z=a);let p=h.fromElements(c,u,f,AW);p=$.multiplyByVector(s,p,AW),p=h.add(p,r,AW);let g=$.clone(s);g=$.multiplyByScale(g,d,g);let m=new Array(12);return h.pack(p,m),$.pack(g,m,3),m}var sUe=new ae;function Qre(e,t,n,i,o){if(t===0)return e.slice();let r=ae.unpack(e,0,sUe),s=e[4],a=e[5],c=Math.pow(2,-t),u=c*r.width,f=P.negativePiToPi(r.west+n*u),d=P.negativePiToPi(f+u),p=c*r.height,g=P.negativePiToPi(r.south+i*p),m=P.negativePiToPi(g+p),x=s,b=a;if(l(o)){let T=c*(a-s);x+=o*T,b=x+T}return[f,g,d,m,x,b]}function aUe(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=Kre(i,o,n,!1,t),s=Xre(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},u=Jre(e,i.baseResource,c,t);return u.implicitTileset=i,u.implicitCoordinates=o,u}function Jre(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}$c.prototype.hasProperty=function(e,t){return!1};$c.prototype.getFeature=function(e){};$c.prototype.applyDebugSettings=function(e,t){};$c.prototype.applyStyle=function(e){};$c.prototype.update=function(e,t){};$c.prototype.pick=function(e,t,n){};$c.prototype.isDestroyed=function(){return!1};$c.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),ue(this)};$c._deriveBoundingBox=$re;$c._deriveBoundingRegion=Qre;$c._deriveBoundingVolumeS2=Zre;var NA=$c;var cUe={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},Ll=Object.freeze(cUe);function FA(e,t){this._distance=t,this._normal=new ese(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(FA.prototype,{distance:{get:function(){return this._distance},set:function(e){l(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){l(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});FA.fromPlane=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance):t=new FA(e.normal,e.distance),t};FA.clone=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance,t):new FA(e.normal,e.distance)};function ese(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(ese.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var pb=FA;function fc(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.edgeColor=H.clone(y(e.edgeColor,H.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new me,this.planeRemoved=new me,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?rse:sse,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(l(n)){let i=n.length;for(let o=0;o<i;++o)this.add(n[o])}}function rse(e){return e===qt.OUTSIDE}function sse(e){return e===qt.INSIDE}Object.defineProperties(fc.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?rse:sse)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}});function tse(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||e._dirtyIndex!==-1&&e._dirtyIndex!==t,e._dirtyIndex=t}fc.prototype.add=function(e){let t=this._planes.length,n=this;e.onChangeCallback=function(i){tse(n,i)},e.index=t,tse(this,t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)};fc.prototype.get=function(e){return this._planes[e]};function ase(e,t){let n=e.length;for(let i=0;i<n;++i)if(un.equals(e[i],t))return i;return-1}fc.prototype.contains=function(e){return ase(this._planes,e)!==-1};fc.prototype.remove=function(e){let t=this._planes,n=ase(t,e);if(n===-1)return!1;e instanceof pb&&(e.onChangeCallback=void 0,e.index=-1);let i=t.length-1;for(let o=n;o<i;++o){let r=t[o+1];t[o]=r,r instanceof pb&&(r.index=o)}return this._multipleDirtyPlanes=!0,t.length=i,this.planeRemoved.raiseEvent(e,n),!0};fc.prototype.removeAll=function(){let e=this._planes,t=e.length;for(let n=0;n<t;++n){let i=e[n];i instanceof pb&&(i.onChangeCallback=void 0,i.index=-1),this.planeRemoved.raiseEvent(i,n)}this._multipleDirtyPlanes=!0,this._planes=[]};var lUe=new ie,uUe=new ie;function nse(e,t,n){let i=e._uint8View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=Nn.octEncodeToCartesian4(a.normal,uUe);i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=c.w;let u=ie.packFloat(a.distance,lUe);i[r+4]=u.x,i[r+5]=u.y,i[r+6]=u.z,i[r+7]=u.w,r+=8}}function ise(e,t,n){let i=e._float32View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=a.normal;i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=a.distance,r+=4}}function cse(e,t){let n=Ft.maximumTextureSize;return t.x=Math.min(e,n),t.y=Math.ceil(e/t.x),t}var fUe=new z;fc.prototype.update=function(e){let t=this._clippingPlanesTexture,n=e.context,i=fc.useFloatTexture(n),o=i?this.length:this.length*2;if(l(t)){let s=t.width*t.height;(s<o||o<.25*s)&&(t.destroy(),t=void 0,this._clippingPlanesTexture=void 0)}if(this.length===0)return;if(!l(t)){let s=cse(o,fUe);s.y*=2,i?(t=new Pt({context:n,width:s.x,height:s.y,pixelFormat:nt.RGBA,pixelDatatype:Ye.FLOAT,sampler:Qt.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*4)):(t=new Pt({context:n,width:s.x,height:s.y,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,sampler:Qt.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(s.x*s.y*4)),this._clippingPlanesTexture=t,this._multipleDirtyPlanes=!0}let r=this._dirtyIndex;if(!(!this._multipleDirtyPlanes&&r===-1)){if(this._multipleDirtyPlanes)i?(ise(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._float32View}})):(nse(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._uint8View}}));else{let s=0,a=0;i?(a=Math.floor(r/t.width),s=Math.floor(r-a*t.width),ise(this,r,r+1),t.copyFrom({source:{width:1,height:1,arrayBufferView:this._float32View},xOffset:s,yOffset:a})):(a=Math.floor(r*2/t.width),s=Math.floor(r*2-a*t.width),nse(this,r,r+1),t.copyFrom({source:{width:2,height:1,arrayBufferView:this._uint8View},xOffset:s,yOffset:a}))}this._multipleDirtyPlanes=!1,this._dirtyIndex=-1}};var dUe=new F,ose=new un(h.UNIT_X,0);fc.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._planes,i=n.length,o=this.modelMatrix;l(t)&&(o=F.multiply(t,o,dUe));let r=qt.INSIDE;!this.unionClippingRegions&&i>0&&(r=qt.OUTSIDE);for(let s=0;s<i;++s){let a=n[s];un.transform(a,o,ose);let c=e.intersectPlane(ose);if(c===qt.INTERSECTING)r=c;else if(this._testIntersection(c))return c}return r};fc.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};fc.useFloatTexture=function(e){return e.floatingPointTexture};fc.getTextureResolution=function(e,t,n){let i=e.texture;if(l(i))return n.x=i.width,n.y=i.height,n;let o=fc.useFloatTexture(t)?e.length:e.length*2,r=cse(o,n);return r.y*=2,r};fc.prototype.isDestroyed=function(){return!1};fc.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),ue(this)};var Ts=fc;function wW(e,t,n=2){let i=t&&t.length,o=i?t[0]*n:e.length,r=use(e,0,o,n,!0),s=[];if(!r||r.next===r.prev)return s;let a,c,u;if(i&&(r=gUe(e,t,r,n)),e.length>80*n){a=1/0,c=1/0;let f=-1/0,d=-1/0;for(let p=n;p<o;p+=n){let g=e[p],m=e[p+1];g<a&&(a=g),m<c&&(c=m),g>f&&(f=g),m>d&&(d=m)}u=Math.max(f-a,d-c),u=u!==0?32767/u:0}return gR(r,s,n,a,c,u,0),s}function use(e,t,n,i,o){let r;if(o===DUe(e,t,n,i)>0)for(let s=t;s<n;s+=i)r=lse(s/i|0,e[s],e[s+1],r);else for(let s=n-i;s>=t;s-=i)r=lse(s/i|0,e[s],e[s+1],r);return r&&ZU(r,r.next)&&(xR(r),r=r.next),r}function _b(e,t){if(!e)return e;t||(t=e);let n=e,i;do if(i=!1,!n.steiner&&(ZU(n,n.next)||Gr(n.prev,n,n.next)===0)){if(xR(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function gR(e,t,n,i,o,r,s){if(!e)return;!s&&r&&CUe(e,i,o,r);let a=e;for(;e.prev!==e.next;){let c=e.prev,u=e.next;if(r?mUe(e,i,o,r):hUe(e)){t.push(c.i,e.i,u.i),xR(e),e=u.next,a=u.next;continue}if(e=u,e===a){s?s===1?(e=pUe(_b(e),t),gR(e,t,n,i,o,r,2)):s===2&&_Ue(e,t,n,i,o,r):gR(_b(e),t,n,i,o,r,1);break}}}function hUe(e){let t=e.prev,n=e,i=e.next;if(Gr(t,n,i)>=0)return!1;let o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,u=i.y,f=o<r?o<s?o:s:r<s?r:s,d=a<c?a<u?a:u:c<u?c:u,p=o>r?o>s?o:s:r>s?r:s,g=a>c?a>u?a:u:c>u?c:u,m=i.next;for(;m!==t;){if(m.x>=f&&m.x<=p&&m.y>=d&&m.y<=g&&BA(o,a,r,c,s,u,m.x,m.y)&&Gr(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function mUe(e,t,n,i){let o=e.prev,r=e,s=e.next;if(Gr(o,r,s)>=0)return!1;let a=o.x,c=r.x,u=s.x,f=o.y,d=r.y,p=s.y,g=a<c?a<u?a:u:c<u?c:u,m=f<d?f<p?f:p:d<p?d:p,x=a>c?a>u?a:u:c>u?c:u,b=f>d?f>p?f:p:d>p?d:p,T=SW(g,m,t,n,i),A=SW(x,b,t,n,i),C=e.prevZ,E=e.nextZ;for(;C&&C.z>=T&&E&&E.z<=A;){if(C.x>=g&&C.x<=x&&C.y>=m&&C.y<=b&&C!==o&&C!==s&&BA(a,f,c,d,u,p,C.x,C.y)&&Gr(C.prev,C,C.next)>=0||(C=C.prevZ,E.x>=g&&E.x<=x&&E.y>=m&&E.y<=b&&E!==o&&E!==s&&BA(a,f,c,d,u,p,E.x,E.y)&&Gr(E.prev,E,E.next)>=0))return!1;E=E.nextZ}for(;C&&C.z>=T;){if(C.x>=g&&C.x<=x&&C.y>=m&&C.y<=b&&C!==o&&C!==s&&BA(a,f,c,d,u,p,C.x,C.y)&&Gr(C.prev,C,C.next)>=0)return!1;C=C.prevZ}for(;E&&E.z<=A;){if(E.x>=g&&E.x<=x&&E.y>=m&&E.y<=b&&E!==o&&E!==s&&BA(a,f,c,d,u,p,E.x,E.y)&&Gr(E.prev,E,E.next)>=0)return!1;E=E.nextZ}return!0}function pUe(e,t){let n=e;do{let i=n.prev,o=n.next.next;!ZU(i,o)&&fse(i,n,n.next,o)&&yR(i,o)&&yR(o,i)&&(t.push(i.i,n.i,o.i),xR(n),xR(n.next),n=e=o),n=n.next}while(n!==e);return _b(n)}function _Ue(e,t,n,i,o,r){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&SUe(s,a)){let c=dse(s,a);s=_b(s,s.next),c=_b(c,c.next),gR(s,t,n,i,o,r,0),gR(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function gUe(e,t,n,i){let o=[];for(let r=0,s=t.length;r<s;r++){let a=t[r]*i,c=r<s-1?t[r+1]*i:e.length,u=use(e,a,c,i,!1);u===u.next&&(u.steiner=!0),o.push(EUe(u))}o.sort(yUe);for(let r=0;r<o.length;r++)n=xUe(o[r],n);return n}function yUe(e,t){return e.x-t.x}function xUe(e,t){let n=bUe(e,t);if(!n)return t;let i=dse(n,e);return _b(i,i.next),_b(n,n.next)}function bUe(e,t){let n=t,i=e.x,o=e.y,r=-1/0,s;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){let d=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(d<=i&&d>r&&(r=d,s=n.x<n.next.x?n:n.next,d===i))return s}n=n.next}while(n!==t);if(!s)return null;let a=s,c=s.x,u=s.y,f=1/0;n=s;do{if(i>=n.x&&n.x>=c&&i!==n.x&&BA(o<u?i:r,o,c,u,o<u?r:i,o,n.x,n.y)){let d=Math.abs(o-n.y)/(i-n.x);yR(n,e)&&(d<f||d===f&&(n.x>s.x||n.x===s.x&&TUe(s,n)))&&(s=n,f=d)}n=n.next}while(n!==a);return s}function TUe(e,t){return Gr(e.prev,e,t.prev)<0&&Gr(t.next,e,e.next)<0}function CUe(e,t,n,i){let o=e;do o.z===0&&(o.z=SW(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,AUe(o)}function AUe(e){let t,n=1;do{let i=e,o;e=null;let r=null;for(t=0;i;){t++;let s=i,a=0;for(let u=0;u<n&&(a++,s=s.nextZ,!!s);u++);let c=n;for(;a>0||c>0&&s;)a!==0&&(c===0||!s||i.z<=s.z)?(o=i,i=i.nextZ,a--):(o=s,s=s.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;i=s}r.nextZ=null,n*=2}while(t>1);return e}function SW(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function EUe(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function BA(e,t,n,i,o,r,s,a){return(o-s)*(t-a)>=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function SUe(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!vUe(e,t)&&(yR(e,t)&&yR(t,e)&&wUe(e,t)&&(Gr(e.prev,e,t.prev)||Gr(e,t.prev,t))||ZU(e,t)&&Gr(e.prev,e,e.next)>0&&Gr(t.prev,t,t.next)>0)}function Gr(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function ZU(e,t){return e.x===t.x&&e.y===t.y}function fse(e,t,n,i){let o=KU(Gr(e,t,n)),r=KU(Gr(e,t,i)),s=KU(Gr(n,i,e)),a=KU(Gr(n,i,t));return!!(o!==r&&s!==a||o===0&&XU(e,n,t)||r===0&&XU(e,i,t)||s===0&&XU(n,e,i)||a===0&&XU(n,t,i))}function XU(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function KU(e){return e>0?1:e<0?-1:0}function vUe(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&fse(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function yR(e,t){return Gr(e.prev,e,e.next)<0?Gr(e,t,e.next)>=0&&Gr(e,e.prev,t)>=0:Gr(e,t,e.prev)<0||Gr(e,e.next,t)<0}function wUe(e,t){let n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function dse(e,t){let n=vW(e.i,e.x,e.y),i=vW(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function lse(e,t,n,i){let o=vW(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function xR(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function vW(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function DUe(e,t,n,i){let o=0;for(let r=t,s=n-i;r<n;r+=i)o+=(e[s]-e[r])*(e[r+1]+e[s+1]),s=r;return o}var IUe=new h,PUe=new h,py={};py.computeArea2D=function(e){let t=e.length,n=0;for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];n+=r.x*s.y-s.x*r.y}return n*.5};py.computeWindingOrder2D=function(e){return py.computeArea2D(e)>0?gs.COUNTER_CLOCKWISE:gs.CLOCKWISE};py.triangulate=function(e,t){let n=z.packArray(e);return wW(n,t,2)};var _se=new h,gse=new h,yse=new h,hse=new h,mse=new h,pse=new h,e_=new h,xse=new z,bse=new z,Tse=new z,kA=new z;py.computeSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let C=t[a];if(u[d++]=C.x,u[d++]=C.y,u[d++]=C.z,r){let E=i[a];f[p++]=E.x,f[p++]=E.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=b*b;for(;s.length>0;){let C=s.pop(),E=s.pop(),v=s.pop(),D=h.fromArray(u,v*3,_se),O=h.fromArray(u,E*3,gse),R=h.fromArray(u,C*3,yse),M,N,_;r&&(M=z.fromArray(f,v*2,xse),N=z.fromArray(f,E*2,bse),_=z.fromArray(f,C*2,Tse));let S=h.multiplyByScalar(h.normalize(D,hse),x,hse),w=h.multiplyByScalar(h.normalize(O,mse),x,mse),I=h.multiplyByScalar(h.normalize(R,pse),x,pse),L=h.magnitudeSquared(h.subtract(S,w,e_)),B=h.magnitudeSquared(h.subtract(w,I,e_)),U=h.magnitudeSquared(h.subtract(I,S,e_)),V=Math.max(L,B,U),G,k,W;V>T?L===V?(G=`${Math.min(v,E)} ${Math.max(v,E)}`,a=m[G],l(a)||(k=h.add(D,O,e_),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(W=z.add(M,N,kA),z.multiplyByScalar(W,.5,W),f.push(W.x,W.y))),s.push(v,a,C),s.push(a,E,C)):B===V?(G=`${Math.min(E,C)} ${Math.max(E,C)}`,a=m[G],l(a)||(k=h.add(O,R,e_),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(W=z.add(N,_,kA),z.multiplyByScalar(W,.5,W),f.push(W.x,W.y))),s.push(E,a,v),s.push(a,C,v)):U===V&&(G=`${Math.min(C,v)} ${Math.max(C,v)}`,a=m[G],l(a)||(k=h.add(R,D,e_),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(W=z.add(_,M,kA),z.multiplyByScalar(W,.5,W),f.push(W.x,W.y))),s.push(C,a,E),s.push(a,v,E)):(g.push(v),g.push(E),g.push(C))}let A={attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Ne.TRIANGLES};return r&&(A.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new ft(A)};var RUe=new fe,OUe=new fe,MUe=new fe,DW=new fe;py.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let v=t[a];if(u[d++]=v.x,u[d++]=v.y,u[d++]=v.z,r){let D=i[a];f[p++]=D.x,f[p++]=D.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=new La(void 0,void 0,e),A=new La(void 0,void 0,e),C=new La(void 0,void 0,e);for(;s.length>0;){let v=s.pop(),D=s.pop(),O=s.pop(),R=h.fromArray(u,O*3,_se),M=h.fromArray(u,D*3,gse),N=h.fromArray(u,v*3,yse),_,S,w;r&&(_=z.fromArray(f,O*2,xse),S=z.fromArray(f,D*2,bse),w=z.fromArray(f,v*2,Tse));let I=e.cartesianToCartographic(R,RUe),L=e.cartesianToCartographic(M,OUe),B=e.cartesianToCartographic(N,MUe);T.setEndPoints(I,L);let U=T.surfaceDistance;A.setEndPoints(L,B);let V=A.surfaceDistance;C.setEndPoints(B,I);let G=C.surfaceDistance,k=Math.max(U,V,G),W,Y,Q,j,Z;k>b?U===k?(W=`${Math.min(O,D)} ${Math.max(O,D)}`,a=m[W],l(a)||(Y=T.interpolateUsingFraction(.5,DW),Q=(I.height+L.height)*.5,j=h.fromRadians(Y.longitude,Y.latitude,Q,e,e_),u.push(j.x,j.y,j.z),a=u.length/3-1,m[W]=a,r&&(Z=z.add(_,S,kA),z.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(O,a,v),s.push(a,D,v)):V===k?(W=`${Math.min(D,v)} ${Math.max(D,v)}`,a=m[W],l(a)||(Y=A.interpolateUsingFraction(.5,DW),Q=(L.height+B.height)*.5,j=h.fromRadians(Y.longitude,Y.latitude,Q,e,e_),u.push(j.x,j.y,j.z),a=u.length/3-1,m[W]=a,r&&(Z=z.add(S,w,kA),z.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(D,a,O),s.push(a,v,O)):G===k&&(W=`${Math.min(v,O)} ${Math.max(v,O)}`,a=m[W],l(a)||(Y=C.interpolateUsingFraction(.5,DW),Q=(B.height+I.height)*.5,j=h.fromRadians(Y.longitude,Y.latitude,Q,e,e_),u.push(j.x,j.y,j.z),a=u.length/3-1,m[W]=a,r&&(Z=z.add(w,_,kA),z.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(v,a,D),s.push(a,O,D)):(g.push(O),g.push(D),g.push(v))}let E={attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Ne.TRIANGLES};return r&&(E.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new ft(E)};py.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,ee.default);let o=IUe,r=PUe;if(t=y(t,0),i=y(i,!0),l(e)){let s=e.length;for(let a=0;a<s;a+=3)h.fromArray(e,a,r),i&&(r=n.scaleToGeodeticSurface(r,r)),t!==0&&(o=n.geodeticSurfaceNormal(r,o),h.multiplyByScalar(o,t,o),h.add(r,o,r)),e[a]=r.x,e[a+1]=r.y,e[a+2]=r.z}return e};var ci=py;function _y(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(_y.prototype,{length:{get:function(){return this._length}}});_y.prototype.enqueue=function(e){this._array.push(e),this._length++};_y.prototype.dequeue=function(){if(this._length===0)return;let e=this._array,t=this._offset,n=e[t];return e[t]=void 0,t++,t>10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};_y.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};_y.prototype.contains=function(e){return this._array.indexOf(e)!==-1};_y.prototype.clear=function(){this._array.length=this._offset=this._length=0};_y.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var gy=_y;var sr={};sr.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!l(o))continue;n+=2;let r=o.positions,s=o.holes;if(l(r)&&r.length>0&&(n+=r.length*t.packedLength),l(s)){let a=s.length;for(let c=0;c<a;++c)i.push(s[c])}}return n};sr.packPolygonHierarchy=function(e,t,n,i){let o=[e];for(;o.length>0;){let r=o.pop();if(!l(r))continue;let s=r.positions,a=r.holes;if(t[n++]=l(s)?s.length:0,t[n++]=l(a)?a.length:0,l(s)){let c=s.length;for(let u=0;u<c;++u,n+=i.packedLength)i.pack(s[u],t,n)}if(l(a)){let c=a.length;for(let u=0;u<c;++u)o.push(a[u])}}return n};sr.unpackPolygonHierarchy=function(e,t,n){let i=e[t++],o=e[t++],r=new Array(i),s=o>0?new Array(o):void 0;for(let a=0;a<i;++a,t+=n.packedLength)r[a]=n.unpack(e,t);for(let a=0;a<o;++a)s[a]=sr.unpackPolygonHierarchy(e,t,n),t=s[a].startingIndex,delete s[a].startingIndex;return{positions:r,holes:s,startingIndex:t}};var gb=new z;function Ese(e,t,n,i){return z.subtract(t,e,gb),z.multiplyByScalar(gb,n/i,gb),z.add(e,gb,gb),[gb.x,gb.y]}var yy=new h;function LUe(e,t,n,i){return h.subtract(t,e,yy),h.multiplyByScalar(yy,n/i,yy),h.add(e,yy,yy),[yy.x,yy.y,yy.z]}sr.subdivideLineCount=function(e,t,n){let o=h.distance(e,t)/n,r=Math.max(0,Math.ceil(P.log2(o)));return Math.pow(2,r)};var QU=new fe,JU=new fe,NUe=new fe,FUe=new h,$U=new La;sr.subdivideRhumbLineCount=function(e,t,n,i){let o=e.cartesianToCartographic(t,QU),r=e.cartesianToCartographic(n,JU),a=new La(o,r,e).surfaceDistance/i,c=Math.max(0,Math.ceil(P.log2(a)));return Math.pow(2,c)};sr.subdivideTexcoordLine=function(e,t,n,i,o,r){let s=sr.subdivideLineCount(n,i,o),a=z.distance(e,t),c=a/s,u=r;u.length=s*2;let f=0;for(let d=0;d<s;d++){let p=Ese(e,t,d*c,a);u[f++]=p[0],u[f++]=p[1]}return u};sr.subdivideLine=function(e,t,n,i){let o=sr.subdivideLineCount(e,t,n),r=h.distance(e,t),s=r/o;l(i)||(i=[]);let a=i;a.length=o*3;let c=0;for(let u=0;u<o;u++){let f=LUe(e,t,u*s,r);a[c++]=f[0],a[c++]=f[1],a[c++]=f[2]}return a};sr.subdivideTexcoordRhumbLine=function(e,t,n,i,o,r,s){let a=n.cartesianToCartographic(i,QU),c=n.cartesianToCartographic(o,JU);$U.setEndPoints(a,c);let u=$U.surfaceDistance/r,f=Math.max(0,Math.ceil(P.log2(u))),d=Math.pow(2,f),p=z.distance(e,t),g=p/d,m=s;m.length=d*2;let x=0;for(let b=0;b<d;b++){let T=Ese(e,t,b*g,p);m[x++]=T[0],m[x++]=T[1]}return m};sr.subdivideRhumbLine=function(e,t,n,i,o){let r=e.cartesianToCartographic(t,QU),s=e.cartesianToCartographic(n,JU),a=new La(r,s,e),c=a.surfaceDistance/i,u=Math.max(0,Math.ceil(P.log2(c))),f=Math.pow(2,u),d=a.surfaceDistance/f;l(o)||(o=[]);let p=o;p.length=f*3;let g=0;for(let m=0;m<f;m++){let x=a.interpolateUsingSurfaceDistance(m*d,NUe),b=e.cartographicToCartesian(x,FUe);p[g++]=b.x,p[g++]=b.y,p[g++]=b.z}return p};var BUe=new h,kUe=new h,VUe=new h,UUe=new h;sr.scaleToGeodeticHeightExtruded=function(e,t,n,i,o){i=y(i,ee.default);let r=BUe,s=kUe,a=VUe,c=UUe;if(l(e)&&l(e.attributes)&&l(e.attributes.position)){let u=e.attributes.position.values,f=u.length/2;for(let d=0;d<f;d+=3)h.fromArray(u,d,a),i.geodeticSurfaceNormal(a,r),c=i.scaleToGeodeticSurface(a,c),s=h.multiplyByScalar(r,n,s),s=h.add(c,s,s),u[d+f]=s.x,u[d+1+f]=s.y,u[d+2+f]=s.z,o&&(c=h.clone(a,c)),s=h.multiplyByScalar(r,t,s),s=h.add(c,s,s),u[d]=s.x,u[d+1]=s.y,u[d+2]=s.z}return e};sr.polygonOutlinesFromHierarchy=function(e,t,n){let i=[],o=new gy;o.enqueue(e);let r,s,a;for(;o.length!==0;){let c=o.dequeue(),u=c.positions;if(t)for(a=u.length,r=0;r<a;r++)n.scaleToGeodeticSurface(u[r],u[r]);if(u=So(u,h.equalsEpsilon,!0),u.length<3)continue;let f=c.holes?c.holes.length:0;for(r=0;r<f;r++){let d=c.holes[r],p=d.positions;if(t)for(a=p.length,s=0;s<a;++s)n.scaleToGeodeticSurface(p[s],p[s]);if(p=So(p,h.equalsEpsilon,!0),p.length<3)continue;i.push(p);let g=0;for(l(d.holes)&&(g=d.holes.length),s=0;s<g;s++)o.enqueue(d.holes[s])}i.push(u)}return i};var zUe=new fe;function HUe(e,t,n){let i=n.cartesianToCartographic(e,QU),o=n.cartesianToCartographic(t,JU);if(Math.sign(i.latitude)===Math.sign(o.latitude))return;$U.setEndPoints(i,o);let r=$U.findIntersectionWithLatitude(0,zUe);if(!l(r))return;let s=Math.min(i.longitude,o.longitude),a=Math.max(i.longitude,o.longitude);if(Math.abs(a-s)>P.PI){let c=s;s=a,a=c}if(!(r.longitude<s||r.longitude>a))return n.cartographicToCartesian(r)}function GUe(e,t,n,i){if(i===nn.RHUMB)return HUe(e,t,n);let o=ei.lineSegmentPlane(e,t,un.ORIGIN_XY_PLANE);if(l(o))return n.scaleToGeodeticSurface(o,o)}var WUe=new fe;function jUe(e,t,n){let i=[],o,r,s,a,c,u=0;for(;u<e.length;){o=e[u],r=e[(u+1)%e.length],s=P.sign(o.z),a=P.sign(r.z);let f=d=>t.cartesianToCartographic(d,WUe).longitude;if(s===0)i.push({position:u,type:s,visited:!1,next:a,theta:f(o)});else if(a!==0){if(c=GUe(o,r,t,n),++u,!l(c))continue;e.splice(u,0,c),i.push({position:u,type:s,visited:!1,next:a,theta:f(c)})}++u}return i}function Sse(e,t,n,i,o,r,s){let a=[],c=r,u=d=>p=>p.position===d,f=[];do{let d=n[c];a.push(d);let p=i.findIndex(u(c)),g=i[p];if(!l(g)){++c;continue}let{visited:m,type:x,next:b}=g;if(g.visited=!0,x===0){if(b===0){let E=i[p-(s?1:-1)];if(E?.position===c+1)E.visited=!0;else{++c;continue}}if(!m&&s&&b>0||r===c&&!s&&b<0){++c;continue}}if(!(s?x>=0:x<=0)){++c;continue}m||f.push(c);let A=p+(s?1:-1),C=i[A];if(!l(C)){++c;continue}c=C.position}while(c<n.length&&c>=0&&c!==r&&a.length<n.length);e.splice(t,o,a);for(let d of f)t=Sse(e,++t,n,i,0,d,!s);return t}sr.splitPolygonsOnEquator=function(e,t,n,i){l(i)||(i=[]),i.splice(0,0,...e),i.length=e.length;let o=0;for(;o<i.length;){let r=i[o],s=r.slice();if(r.length<3){i[o]=s,++o;continue}let a=jUe(s,t,n);if(s.length===r.length||a.length<=1){i[o]=s,++o;continue}a.sort((u,f)=>u.theta-f.theta);let c=s[0].z>=0;o=Sse(i,o,s,a,1,0,c)}return i};sr.polygonsFromHierarchy=function(e,t,n,i,o,r){let s=[],a=[],c=new gy;c.enqueue(e);let u=l(r);for(;c.length!==0;){let f=c.dequeue(),d=f.positions,p=f.holes,g,m;if(i)for(m=d.length,g=0;g<m;g++)o.scaleToGeodeticSurface(d[g],d[g]);if(t||(d=So(d,h.equalsEpsilon,!0)),d.length<3)continue;let x=n(d);if(!l(x))continue;let b=[],T=ci.computeWindingOrder2D(x);if(T===gs.CLOCKWISE&&(x.reverse(),d=d.slice().reverse()),u){u=!1;let D=[d];if(D=r(D,D),D.length>1){for(let O of D)c.enqueue(new Na(O,p));continue}}let A=d.slice(),C=l(p)?p.length:0,E=[],v;for(g=0;g<C;g++){let D=p[g],O=D.positions;if(i)for(m=O.length,v=0;v<m;++v)o.scaleToGeodeticSurface(O[v],O[v]);if(t||(O=So(O,h.equalsEpsilon,!0)),O.length<3)continue;let R=n(O);if(!l(R))continue;T=ci.computeWindingOrder2D(R),T===gs.CLOCKWISE&&(R.reverse(),O=O.slice().reverse()),E.push(O),b.push(A.length),A=A.concat(O),x=x.concat(R);let M=0;for(l(D.holes)&&(M=D.holes.length),v=0;v<M;v++)c.enqueue(D.holes[v])}s.push({outerRing:d,holes:E}),a.push({positions:A,positions2D:x,holes:b})}return{hierarchy:s,polygons:a}};var qUe=new z,YUe=new h,XUe=new Le,KUe=new $;sr.computeBoundingRectangle=function(e,t,n,i,o){let r=Le.fromAxisAngle(e,i,XUe),s=$.fromQuaternion(r,KUe),a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,d=n.length;for(let p=0;p<d;++p){let g=h.clone(n[p],YUe);$.multiplyByVector(s,g,g);let m=t(g,qUe);l(m)&&(a=Math.min(a,m.x),c=Math.max(c,m.x),u=Math.min(u,m.y),f=Math.max(f,m.y))}return o.x=a,o.y=u,o.width=c-a,o.height=f-u,o};sr.createGeometryFromPositions=function(e,t,n,i,o,r,s){let a=ci.triangulate(t.positions2D,t.holes);a.length<3&&(a=[0,1,2]);let c=t.positions,u=l(n),f=u?n.positions:void 0;if(o){let d=c.length,p=new Array(d*3),g=0;for(let b=0;b<d;b++){let T=c[b];p[g++]=T.x,p[g++]=T.y,p[g++]=T.z}let m={attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:p})},indices:a,primitiveType:Ne.TRIANGLES};u&&(m.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:z.packArray(f)}));let x=new ft(m);return r.normal?Fn.computeNormal(x):x}if(s===nn.GEODESIC)return ci.computeSubdivision(e,c,a,f,i);if(s===nn.RHUMB)return ci.computeRhumbLineSubdivision(e,c,a,f,i)};var Cse=[],Ase=[],ZUe=new h,$Ue=new h;sr.computeWallGeometry=function(e,t,n,i,o,r){let s,a,c,u,f,d,p,g,m,x=e.length,b=0,T=0,A=l(t),C=A?t.positions:void 0;if(o)for(a=x*3*2,s=new Array(a*2),A&&(m=x*2*2,g=new Array(m*2)),c=0;c<x;c++)u=e[c],f=e[(c+1)%x],s[b]=s[b+a]=u.x,++b,s[b]=s[b+a]=u.y,++b,s[b]=s[b+a]=u.z,++b,s[b]=s[b+a]=f.x,++b,s[b]=s[b+a]=f.y,++b,s[b]=s[b+a]=f.z,++b,A&&(d=C[c],p=C[(c+1)%x],g[T]=g[T+m]=d.x,++T,g[T]=g[T+m]=d.y,++T,g[T]=g[T+m]=p.x,++T,g[T]=g[T+m]=p.y,++T);else{let R=P.chordLength(i,n.maximumRadius),M=0;if(r===nn.GEODESIC)for(c=0;c<x;c++)M+=sr.subdivideLineCount(e[c],e[(c+1)%x],R);else if(r===nn.RHUMB)for(c=0;c<x;c++)M+=sr.subdivideRhumbLineCount(n,e[c],e[(c+1)%x],R);for(a=(M+x)*3,s=new Array(a*2),A&&(m=(M+x)*2,g=new Array(m*2)),c=0;c<x;c++){u=e[c],f=e[(c+1)%x];let N,_;A&&(d=C[c],p=C[(c+1)%x]),r===nn.GEODESIC?(N=sr.subdivideLine(u,f,R,Ase),A&&(_=sr.subdivideTexcoordLine(d,p,u,f,R,Cse))):r===nn.RHUMB&&(N=sr.subdivideRhumbLine(n,u,f,R,Ase),A&&(_=sr.subdivideTexcoordRhumbLine(d,p,n,u,f,R,Cse)));let S=N.length;for(let w=0;w<S;++w,++b)s[b]=N[w],s[b+a]=N[w];if(s[b]=f.x,s[b+a]=f.x,++b,s[b]=f.y,s[b+a]=f.y,++b,s[b]=f.z,s[b+a]=f.z,++b,A){let w=_.length;for(let I=0;I<w;++I,++T)g[T]=_[I],g[T+m]=_[I];g[T]=p.x,g[T+m]=p.x,++T,g[T]=p.y,g[T+m]=p.y,++T}}}x=s.length;let E=Fe.createTypedArray(x/3,x-e.length*6),v=0;for(x/=6,c=0;c<x;c++){let R=c,M=R+1,N=R+x,_=N+1;u=h.fromArray(s,R*3,ZUe),f=h.fromArray(s,M*3,$Ue),!h.equalsEpsilon(u,f,P.EPSILON10,P.EPSILON10)&&(E[v++]=R,E[v++]=N,E[v++]=M,E[v++]=M,E[v++]=N,E[v++]=_)}let D={attributes:new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),indices:E,primitiveType:Ne.TRIANGLES};return A&&(D.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),new ft(D)};var Gn=sr;function Wr(e,t){this.position=e,l(this.position)||(this.position=new z),this.tangentPlane=t,l(this.tangentPlane)||(this.tangentPlane=Wr.NORTH_POLE_TANGENT_PLANE)}Object.defineProperties(Wr.prototype,{ellipsoid:{get:function(){return this.tangentPlane.ellipsoid}},x:{get:function(){return this.position.x}},y:{get:function(){return this.position.y}},conformalLatitude:{get:function(){let e=z.magnitude(this.position),t=2*this.ellipsoid.maximumRadius;return this.tangentPlane.plane.normal.z*(P.PI_OVER_TWO-2*Math.atan2(e,t))}},longitude:{get:function(){let e=P.PI_OVER_TWO+Math.atan2(this.y,this.x);return e>Math.PI&&(e-=P.TWO_PI),e}}});var VA=new fe,QUe=new h;Wr.prototype.getLatitude=function(e){l(e)||(e=ee.default),VA.latitude=this.conformalLatitude,VA.longitude=this.longitude,VA.height=0;let t=this.ellipsoid.cartographicToCartesian(VA,QUe);return e.cartesianToCartographic(t,VA),VA.latitude};var JUe=new yn,eze=new h,tze=new h;Wr.fromCartesian=function(e,t){let n=P.signNotZero(e.z),i=Wr.NORTH_POLE_TANGENT_PLANE,o=Wr.SOUTH_POLE;n<0&&(i=Wr.SOUTH_POLE_TANGENT_PLANE,o=Wr.NORTH_POLE);let r=JUe;r.origin=i.ellipsoid.scaleToGeocentricSurface(e,r.origin),r.direction=h.subtract(r.origin,o,eze),h.normalize(r.direction,r.direction);let s=ei.rayPlane(r,i.plane,tze),a=h.subtract(s,o,s),c=h.dot(i.xAxis,a),u=n*h.dot(i.yAxis,a);return l(t)?(t.position=new z(c,u),t.tangentPlane=i,t):new Wr(new z(c,u),i)};Wr.fromCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=Wr.fromCartesian(e[i],t[i]);return t};Wr.clone=function(e,t){if(l(e))return l(t)?(t.position=e.position,t.tangentPlane=e.tangentPlane,t):new Wr(e.position,e.tangentPlane)};Wr.HALF_UNIT_SPHERE=Object.freeze(new ee(.5,.5,.5));Wr.NORTH_POLE=Object.freeze(new h(0,0,.5));Wr.SOUTH_POLE=Object.freeze(new h(0,0,-.5));Wr.NORTH_POLE_TANGENT_PLANE=Object.freeze(new ns(Wr.NORTH_POLE,Wr.HALF_UNIT_SPHERE));Wr.SOUTH_POLE_TANGENT_PLANE=Object.freeze(new ns(Wr.SOUTH_POLE,Wr.HALF_UNIT_SPHERE));var dc=Wr;var nze=new fe,vse=new fe;function ize(e,t,n,i){let r=i.cartesianToCartographic(e,nze).height,s=i.cartesianToCartographic(t,vse);s.height=r,i.cartographicToCartesian(s,t);let a=i.cartesianToCartographic(n,vse);a.height=r-100,i.cartographicToCartesian(a,n)}var wse=new We,oze=new h,rze=new h,sze=new h,aze=new h,cze=new h,lze=new h,ez=new h,mm=new h,UA=new h,uze=new z,fze=new z,dze=new h,Dse=new Le,hze=new $,mze=new $;function IW(e){let t=e.vertexFormat,n=e.geometry,i=e.shadowVolume,o=n.attributes.position.values,r=l(n.attributes.st)?n.attributes.st.values:void 0,s=o.length,a=e.wall,c=e.top||a,u=e.bottom||a;if(t.st||t.normal||t.tangent||t.bitangent||i){let f=e.boundingRectangle,d=e.rotationAxis,p=e.projectTo2d,g=e.ellipsoid,m=e.stRotation,x=e.perPositionHeight,b=uze;b.x=f.x,b.y=f.y;let T=t.st?new Float32Array(2*(s/3)):void 0,A;t.normal&&(x&&c&&!a?A=n.attributes.normal.values:A=new Float32Array(s));let C=t.tangent?new Float32Array(s):void 0,E=t.bitangent?new Float32Array(s):void 0,v=i?new Float32Array(s):void 0,D=0,O=0,R=rze,M=sze,N=aze,_=!0,S=hze,w=mze;if(m!==0){let B=Le.fromAxisAngle(d,m,Dse);S=$.fromQuaternion(B,S),B=Le.fromAxisAngle(d,-m,Dse),w=$.fromQuaternion(B,w)}else S=$.clone($.IDENTITY,S),w=$.clone($.IDENTITY,w);let I=0,L=0;c&&u&&(I=s/2,L=s/3,s/=2);for(let B=0;B<s;B+=3){let U=h.fromArray(o,B,dze);if(t.st&&!l(r)){let V=$.multiplyByVector(S,U,oze);V=g.scaleToGeodeticSurface(V,V);let G=p([V],fze)[0];z.subtract(G,b,G);let k=P.clamp(G.x/f.width,0,1),W=P.clamp(G.y/f.height,0,1);u&&(T[D+L]=k,T[D+1+L]=W),c&&(T[D]=k,T[D+1]=W),D+=2}if(t.normal||t.tangent||t.bitangent||i){let V=O+1,G=O+2;if(a){if(B+3<s){let k=h.fromArray(o,B+3,cze);if(_){let W=h.fromArray(o,B+s,lze);x&&ize(U,k,W,g),h.subtract(k,U,k),h.subtract(W,U,W),R=h.normalize(h.cross(W,k,R),R),_=!1}h.equalsEpsilon(k,U,P.EPSILON10)&&(_=!0)}(t.tangent||t.bitangent)&&(N=g.geodeticSurfaceNormal(U,N),t.tangent&&(M=h.normalize(h.cross(N,R,M),M)))}else R=g.geodeticSurfaceNormal(U,R),(t.tangent||t.bitangent)&&(x&&(ez=h.fromArray(A,O,ez),mm=h.cross(h.UNIT_Z,ez,mm),mm=h.normalize($.multiplyByVector(w,mm,mm),mm),t.bitangent&&(UA=h.normalize(h.cross(ez,mm,UA),UA))),M=h.cross(h.UNIT_Z,R,M),M=h.normalize($.multiplyByVector(w,M,M),M),t.bitangent&&(N=h.normalize(h.cross(R,M,N),N)));t.normal&&(e.wall?(A[O+I]=R.x,A[V+I]=R.y,A[G+I]=R.z):u&&(A[O+I]=-R.x,A[V+I]=-R.y,A[G+I]=-R.z),(c&&!x||a)&&(A[O]=R.x,A[V]=R.y,A[G]=R.z)),i&&(a&&(R=g.geodeticSurfaceNormal(U,R)),v[O+I]=-R.x,v[V+I]=-R.y,v[G+I]=-R.z),t.tangent&&(e.wall?(C[O+I]=M.x,C[V+I]=M.y,C[G+I]=M.z):u&&(C[O+I]=-M.x,C[V+I]=-M.y,C[G+I]=-M.z),c&&(x?(C[O]=mm.x,C[V]=mm.y,C[G]=mm.z):(C[O]=M.x,C[V]=M.y,C[G]=M.z))),t.bitangent&&(u&&(E[O+I]=N.x,E[V+I]=N.y,E[G+I]=N.z),c&&(x?(E[O]=UA.x,E[V]=UA.y,E[G]=UA.z):(E[O]=N.x,E[V]=N.y,E[G]=N.z))),O+=3}}t.st&&!l(r)&&(n.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T})),t.normal&&(n.attributes.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.tangent&&(n.attributes.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.bitangent&&(n.attributes.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:E})),i&&(n.attributes.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:v}))}if(e.extrude&&l(e.offsetAttribute)){let f=o.length/3,d=new Uint8Array(f);if(e.offsetAttribute===ln.TOP)c&&u||a?d=d.fill(1,0,f/2):c&&(d=d.fill(1));else{let p=e.offsetAttribute===ln.NONE?0:1;d=d.fill(p)}n.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return n}var Ise=[];function pze(e,t,n,i,o,r,s,a,c,u){let f={walls:[]},d;if(s||a){let A=Gn.createGeometryFromPositions(e,t,n,i,r,c,u),C=A.attributes.position.values,E=A.indices,v,D;if(s&&a){let O=C.concat(C);v=O.length/3,D=Fe.createTypedArray(v,E.length*2),D.set(E);let R=E.length,M=v/2;for(d=0;d<R;d+=3){let N=D[d]+M,_=D[d+1]+M,S=D[d+2]+M;D[d+R]=S,D[d+1+R]=_,D[d+2+R]=N}if(A.attributes.position.values=O,r&&c.normal){let N=A.attributes.normal.values;A.attributes.normal.values=new Float32Array(O.length),A.attributes.normal.values.set(N)}if(c.st&&l(n)){let N=A.attributes.st.values;A.attributes.st.values=new Float32Array(v*2),A.attributes.st.values=N.concat(N)}A.indices=D}else if(a){for(v=C.length/3,D=Fe.createTypedArray(v,E.length),d=0;d<E.length;d+=3)D[d]=E[d+2],D[d+1]=E[d+1],D[d+2]=E[d];A.indices=D}f.topAndBottom=new It({geometry:A})}let p=o.outerRing,g=ns.fromPoints(p,e),m=g.projectPointsOntoPlane(p,Ise),x=ci.computeWindingOrder2D(m);x===gs.CLOCKWISE&&(p=p.slice().reverse());let b=Gn.computeWallGeometry(p,n,e,i,r,u);f.walls.push(new It({geometry:b}));let T=o.holes;for(d=0;d<T.length;d++){let A=T[d];m=g.projectPointsOntoPlane(A,Ise),x=ci.computeWindingOrder2D(m),x===gs.COUNTER_CLOCKWISE&&(A=A.slice().reverse()),b=Gn.computeWallGeometry(A,n,e,i,r,u),f.walls.push(new It({geometry:b}))}return f}function Df(e){let t=e.polygonHierarchy,n=y(e.vertexFormat,Ie.DEFAULT),i=y(e.ellipsoid,ee.default),o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.stRotation,0),s=e.textureCoordinates,a=y(e.perPositionHeight,!1),c=a&&l(e.extrudedHeight),u=y(e.height,0),f=y(e.extrudedHeight,u);if(!c){let d=Math.max(u,f);f=Math.min(u,f),u=d}this._vertexFormat=Ie.clone(n),this._ellipsoid=ee.clone(i),this._granularity=o,this._stRotation=r,this._height=u,this._extrudedHeight=f,this._closeTop=y(e.closeTop,!0),this._closeBottom=y(e.closeBottom,!0),this._polygonHierarchy=t,this._perPositionHeight=a,this._perPositionHeightExtrude=c,this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=y(e.arcType,nn.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=s,this.packedLength=Gn.computeHierarchyPackedLength(t,h)+ee.packedLength+Ie.packedLength+(s?Gn.computeHierarchyPackedLength(s,z):1)+12}Df.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType,textureCoordinates:e.textureCoordinates};return new Df(t)};Df.pack=function(e,t,n){return n=y(n,0),n=Gn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._stRotation,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._closeTop?1:0,t[n++]=e._closeBottom?1:0,t[n++]=e._shadowVolume?1:0,t[n++]=y(e._offsetAttribute,-1),t[n++]=e._arcType,l(e._textureCoordinates)?n=Gn.packPolygonHierarchy(e._textureCoordinates,t,n,z):t[n++]=-1,t[n++]=e.packedLength,t};var _ze=ee.clone(ee.UNIT_SPHERE),gze=new Ie,yze={polygonHierarchy:{}};Df.unpack=function(e,t,n){t=y(t,0);let i=Gn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,_ze);t+=ee.packedLength;let r=Ie.unpack(e,t,gze);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++]===1,d=e[t++]===1,p=e[t++]===1,g=e[t++]===1,m=e[t++]===1,x=e[t++],b=e[t++],T=e[t]===-1?void 0:Gn.unpackPolygonHierarchy(e,t,z);l(T)?(t=T.startingIndex,delete T.startingIndex):t++;let A=e[t++];return l(n)||(n=new Df(yze)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._height=s,n._extrudedHeight=a,n._granularity=c,n._stRotation=u,n._perPositionHeightExtrude=f,n._perPositionHeight=d,n._closeTop=p,n._closeBottom=g,n._shadowVolume=m,n._offsetAttribute=x===-1?void 0:x,n._arcType=b,n._textureCoordinates=T,n.packedLength=A,n};var xze=new z,bze=new z,Tze=new dc;function Pse(e,t,n,i,o,r){let s=e.longitude,a=s>=0?s:s+P.TWO_PI;o.westOverIdl=Math.min(o.westOverIdl,a),o.eastOverIdl=Math.max(o.eastOverIdl,a),r.west=Math.min(r.west,s),r.east=Math.max(r.east,s);let c=e.getLatitude(n),u=c;if(r.south=Math.min(r.south,c),r.north=Math.max(r.north,c),i!==nn.RHUMB){let p=z.subtract(t.position,e.position,xze),g=z.dot(t.position,p)/z.dot(p,p);if(g>0&&g<1){let m=z.add(t.position,z.multiplyByScalar(p,-g,p),bze),x=dc.clone(t,Tze);x.position=m;let b=x.getLatitude(n);r.south=Math.min(r.south,b),r.north=Math.max(r.north,b),Math.abs(c)>Math.abs(b)&&(u=b)}}let f=t.x*e.y-e.x*t.y,d=Math.sign(f);d!==0&&(d*=z.angleBetween(t.position,e.position)),u>=0&&(o.northAngle+=d),u<=0&&(o.southAngle+=d)}var Rse=new dc,Cze=new dc,wf={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};Df.computeRectangleFromPositions=function(e,t,n,i){if(l(i)||(i=new ae),e.length<3)return i;i.west=Number.POSITIVE_INFINITY,i.east=Number.NEGATIVE_INFINITY,i.south=Number.POSITIVE_INFINITY,i.north=Number.NEGATIVE_INFINITY,wf.northAngle=0,wf.southAngle=0,wf.westOverIdl=Number.POSITIVE_INFINITY,wf.eastOverIdl=Number.NEGATIVE_INFINITY;let o=e.length,r=dc.fromCartesian(e[0],Cze);for(let s=1;s<o;s++){let a=dc.fromCartesian(e[s],Rse);Pse(a,r,t,n,wf,i),r=dc.clone(a,r)}return Pse(dc.fromCartesian(e[0],Rse),r,t,n,wf,i),i.east-i.west>wf.eastOverIdl-wf.westOverIdl&&(i.west=wf.westOverIdl,i.east=wf.eastOverIdl,i.east>P.PI&&(i.east=i.east-P.TWO_PI),i.west>P.PI&&(i.west=i.west-P.TWO_PI)),P.equalsEpsilon(Math.abs(wf.northAngle),P.TWO_PI,P.EPSILON10)&&(i.north=P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),P.equalsEpsilon(Math.abs(wf.southAngle),P.TWO_PI,P.EPSILON10)&&(i.south=-P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),i};var Aze=new dc;function Eze(e,t,n){return e.height>=P.PI||e.width>=P.PI?dc.fromCartesian(t[0],Aze).tangentPlane:ns.fromPoints(t,n)}var Ose=new fe;function Sze(e,t,n){return(i,o)=>{if(e.height>=P.PI||e.width>=P.PI){if(e.south<0&&e.north>0){l(o)||(o=[]);for(let s=0;s<i.length;++s){let a=n.cartesianToCartographic(i[s],Ose);o[s]=new z(a.longitude/P.PI,a.latitude/P.PI_OVER_TWO)}return o.length=i.length,o}return dc.fromCartesianArray(i,o)}return ns.fromPoints(t,n).projectPointsOntoPlane(i,o)}}function vze(e,t,n){if(e.height>=P.PI||e.width>=P.PI)return(o,r)=>{if(e.south<0&&e.north>0){let s=n.cartesianToCartographic(o,Ose);return l(r)||(r=new z),r.x=s.longitude/P.PI,r.y=s.latitude/P.PI_OVER_TWO,r}return dc.fromCartesian(o,r)};let i=ns.fromPoints(t,n);return(o,r)=>i.projectPointsOntoPlane(o,r)}function wze(e,t,n,i){return(o,r)=>!i&&(e.height>=P.PI_OVER_TWO||e.width>=2*P.PI_OVER_THREE)?Gn.splitPolygonsOnEquator(o,t,n,r):o}function Dze(e,t,n,i){if(t.height>=P.PI||t.width>=P.PI)return We.fromRectangle(t,void 0,wse);let o=e,r=ns.fromPoints(o,n);return Gn.computeBoundingRectangle(r.plane.normal,r.projectPointOntoPlane.bind(r),o,i,wse)}Df.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,u=e._arcType,f=e._textureCoordinates,d=l(f),p=r.positions;if(p.length<3)return;let g=e.rectangle,m=Gn.polygonsFromHierarchy(r,d,Sze(g,p,n),!s,n,wze(g,n,u,s)),x=m.hierarchy,b=m.polygons,T=function(I){return I},A=d?Gn.polygonsFromHierarchy(f,!0,T,!1,n).polygons:void 0;if(x.length===0)return;let C=x[0].outerRing,E=Dze(C,g,n,o),v=[],D=e._height,O=e._extrudedHeight,R=e._perPositionHeightExtrude||!P.equalsEpsilon(D,O,0,P.EPSILON2),M={perPositionHeight:s,vertexFormat:t,geometry:void 0,rotationAxis:Eze(g,C,n).plane.normal,projectTo2d:vze(g,C,n),boundingRectangle:E,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:u},N;if(R)for(M.extrude=!0,M.top=a,M.bottom=c,M.shadowVolume=e._shadowVolume,M.offsetAttribute=e._offsetAttribute,N=0;N<b.length;N++){let I=pze(n,b[N],d?A[N]:void 0,i,x[N],s,a,c,t,u),L;a&&c?(L=I.topAndBottom,M.geometry=Gn.scaleToGeodeticHeightExtruded(L.geometry,D,O,n,s)):a?(L=I.topAndBottom,L.geometry.attributes.position.values=ci.scaleToGeodeticHeight(L.geometry.attributes.position.values,D,n,!s),M.geometry=L.geometry):c&&(L=I.topAndBottom,L.geometry.attributes.position.values=ci.scaleToGeodeticHeight(L.geometry.attributes.position.values,O,n,!0),M.geometry=L.geometry),(a||c)&&(M.wall=!1,L.geometry=IW(M),v.push(L));let B=I.walls;M.wall=!0;for(let U=0;U<B.length;U++){let V=B[U];M.geometry=Gn.scaleToGeodeticHeightExtruded(V.geometry,D,O,n,s),V.geometry=IW(M),v.push(V)}}else for(N=0;N<b.length;N++){let I=new It({geometry:Gn.createGeometryFromPositions(n,b[N],d?A[N]:void 0,i,s,t,u)});if(I.geometry.attributes.position.values=ci.scaleToGeodeticHeight(I.geometry.attributes.position.values,D,n,!s),M.geometry=I.geometry,I.geometry=IW(M),l(e._offsetAttribute)){let L=I.geometry.attributes.position.values.length,B=e._offsetAttribute===ln.NONE?0:1,U=new Uint8Array(L/3).fill(B);I.geometry.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:U})}v.push(I)}let _=Fn.combineInstances(v)[0];_.attributes.position.values=new Float64Array(_.attributes.position.values),_.indices=Fe.createTypedArray(_.attributes.position.values.length/3,_.indices);let S=_.attributes,w=ce.fromVertices(S.position.values);return t.position||delete S.position,new ft({attributes:S,indices:_.indices,primitiveType:_.primitiveType,boundingSphere:w,offsetAttribute:e._offsetAttribute})};Df.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Df({polygonHierarchy:e._polygonHierarchy,ellipsoid:o,stRotation:e._stRotation,granularity:i,perPositionHeight:!1,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})};function Ize(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let n=e._ellipsoid,i=e._polygonHierarchy.positions,o=e.rectangle;return ft._textureCoordinateRotationPoints(i,t,n,o)}Object.defineProperties(Df.prototype,{rectangle:{get:function(){if(!l(this._rectangle)){let e=this._polygonHierarchy.positions;this._rectangle=Df.computeRectangleFromPositions(e,this._ellipsoid,this._arcType)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=Ize(this)),this._textureCoordinateRotationPoints}}});var t_=Df;function yb(e){this._ellipsoid=y(e.ellipsoid,ee.default),this._positions=[...e.positions]}Object.defineProperties(yb.prototype,{length:{get:function(){return this._positions.length}},positions:{get:function(){return this._positions}},ellipsoid:{get:function(){return this._ellipsoid}}});yb.clone=function(e,t){return l(t)?(t._ellipsoid=e.ellipsoid,t._positions.length=0,t._positions.push(...e.positions),t):new yb({positions:e.positions,ellipsoid:e.ellipsoid})};yb.equals=function(e,t){return e.ellipsoid.equals(t.ellipsoid)&&e.positions===t.positions};yb.prototype.computeRectangle=function(e){return t_.computeRectangleFromPositions(this.positions,this.ellipsoid,void 0,e)};var Pze=new ae,Mse=new h;yb.prototype.computeSphericalExtents=function(e){l(e)||(e=new ae);let t=this.computeRectangle(Pze),n=fe.toCartesian(ae.southwest(t),this.ellipsoid,Mse),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y);return e.south=o,e.west=r,n=fe.toCartesian(ae.northeast(t),this.ellipsoid,Mse),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y),e.north=o,e.east=r,e};var zA=yb;var bR=`in vec2 v_textureCoordinates; uniform int u_polygonsLength; uniform int u_extentsLength; @@ -6160,3017 +6205,2733 @@ void main() { lastPolygonIndex += positionsLength; } -}`;function es(e){e=y(e,y.EMPTY_OBJECT),this._polygons=[],this._totalPositions=0,this.enabled=y(e.enabled,!0),this.inverse=y(e.inverse,!1),this.polygonAdded=new me,this.polygonRemoved=new me,this._owner=void 0,this._float32View=void 0,this._extentsFloat32View=void 0,this._extentsCount=0,this._polygonsTexture=void 0,this._extentsTexture=void 0,this._signedDistanceTexture=void 0,this._signedDistanceComputeCommand=void 0;let t=e.polygons;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this._polygons.push(t[i])}}Object.defineProperties(es.prototype,{length:{get:function(){return this._polygons.length}},totalPositions:{get:function(){return this._totalPositions}},extentsTexture:{get:function(){return this._extentsTexture}},extentsCount:{get:function(){return this._extentsCount}},pixelsNeededForExtents:{get:function(){return this.length}},pixelsNeededForPolygonPositions:{get:function(){return this.totalPositions+this.length}},clippingTexture:{get:function(){return this._signedDistanceTexture}},owner:{get:function(){return this._owner}},clippingPolygonsState:{get:function(){return this.inverse?-this.extentsCount:this.extentsCount}}});es.prototype.add=function(e){let t=this._polygons.length;return this._polygons.push(e),this.polygonAdded.raiseEvent(e,t),e};es.prototype.get=function(e){return this._polygons[e]};es.prototype.contains=function(e){return this._polygons.some(t=>BA.equals(t,e))};es.prototype.remove=function(e){let t=this._polygons,n=t.findIndex(i=>BA.equals(i,e));return n===-1?!1:(t.splice(n,1),this.polygonRemoved.raiseEvent(e,n),!0)};var uze=new se;function fze(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let a=e[r].computeSphericalExtents(),c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=se.clone(a);f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI);let d=[r];for(let p=0;p<t.length;++p){let g=t[p];if(l(g)&&l(se.simpleIntersection(g,f))&&!se.equals(g,f)){let m=n[p];d.push(...m),m.reduce((x,b)=>se.union(e[b].computeSphericalExtents(uze),x,x),a),t[p]=void 0,n[p]=void 0,c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=se.clone(a,f),f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI),p=-1}}t.push(f),n.push(d)}let o=new Map;return n.filter(l).forEach((r,s)=>r.forEach(a=>o.set(a,s))),{extentsList:t.filter(l),extentsIndexByPolygon:o}}es.prototype.removeAll=function(){let e=this._polygons,t=e.length;for(let n=0;n<t;++n){let i=e[n];this.polygonRemoved.raiseEvent(i,n)}this._polygons=[]};function dze(e){let t=e._float32View,n=e._extentsFloat32View,i=e._polygons,{extentsList:o,extentsIndexByPolygon:r}=fze(i),s=0;for(let[c,u]of i.entries()){let f=u.length;t[s++]=f,t[s++]=r.get(c);for(let d=0;d<f;++d){let p=u.positions[d],g=Math.hypot(p.x,p.y),m=P.fastApproximateAtan2(g,p.z),x=P.fastApproximateAtan2(p.x,p.y);t[s++]=m,t[s++]=x}}let a=0;for(let c of o){let u=1/(c.east-c.west),f=1/(c.north-c.south);n[a++]=c.south,n[a++]=c.west,n[a++]=f,n[a++]=u}e._extentsCount=o.length}var xW=new z;es.prototype.update=function(e){let t=e.context;if(!es.isSupported(e))throw new ce("ClippingPolygonCollections are only supported for WebGL 2.");let n=this._polygons.reduce((s,a)=>s+a.length,0);if(n===this.totalPositions||(this._totalPositions=n,this.length===0))return;l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0,this._signedDistanceComputeCommand=void 0);let i=this._polygonsTexture,o=this._extentsTexture,r=this._signedDistanceTexture;if(l(i)){let s=i.width*i.height;(s<this.pixelsNeededForPolygonPositions||this.pixelsNeededForPolygonPositions<.25*s)&&(i.destroy(),i=void 0,this._polygonsTexture=void 0)}if(!l(i)){let s=es.getTextureResolution(i,this.pixelsNeededForPolygonPositions,xW);i=new Mt({context:t,width:s.x,height:s.y,pixelFormat:ot.RG,pixelDatatype:Je.FLOAT,sampler:en.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*2),this._polygonsTexture=i}if(l(o)){let s=o.width*o.height;(s<this.pixelsNeededForExtents||this.pixelsNeededForExtents<.25*s)&&(o.destroy(),o=void 0,this._extentsTexture=void 0)}if(!l(o)){let s=es.getTextureResolution(o,this.pixelsNeededForExtents,xW);o=new Mt({context:t,width:s.x,height:s.y,pixelFormat:ot.RGBA,pixelDatatype:Je.FLOAT,sampler:en.NEAREST,flipY:!1}),this._extentsFloat32View=new Float32Array(s.x*s.y*4),this._extentsTexture=o}if(dze(this),o.copyFrom({source:{width:o.width,height:o.height,arrayBufferView:this._extentsFloat32View}}),i.copyFrom({source:{width:i.width,height:i.height,arrayBufferView:this._float32View}}),!l(r)){let s=es.getClippingDistanceTextureResolution(this,xW);r=new Mt({context:t,width:s.x,height:s.y,pixelFormat:t.webgl2?ot.RED:ot.LUMINANCE,pixelDatatype:Je.FLOAT,sampler:new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.LINEAR,magnificationFilter:mi.LINEAR}),flipY:!1}),this._signedDistanceTexture=r}this._signedDistanceComputeCommand=hze(this)};es.prototype.queueCommands=function(e){l(this._signedDistanceComputeCommand)&&e.commandList.push(this._signedDistanceComputeCommand)};function hze(e){let t=e._polygonsTexture,n=e._extentsTexture;return new gd({fragmentShaderSource:hR,outputTexture:e._signedDistanceTexture,uniformMap:{u_polygonsLength:function(){return e.length},u_extentsLength:function(){return e.extentsCount},u_extentsTexture:function(){return n},u_polygonTexture:function(){return t}},persists:!1,owner:e,postExecute:()=>{e._signedDistanceComputeCommand=void 0}})}var pse=new se,mze=new se;es.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._polygons,i=n.length,o=jt.OUTSIDE;this.inverse&&(o=jt.INSIDE);for(let r=0;r<i;++r){let a=n[r].computeRectangle(),c=e.rectangle;if(!l(c)&&l(e.boundingVolume?.computeCorners)){let f=e.boundingVolume.computeCorners();c=se.fromCartesianArray(f,t,pse)}l(c)||(c=se.fromBoundingSphere(e.boundingSphere,t,pse));let u=se.simpleIntersection(c,a,mze);l(u)&&(o=jt.INTERSECTING)}return o};es.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};es.isSupported=function(e){return e?.context.webgl2};es.getTextureResolution=function(e,t,n){if(l(e))return n.x=e.width,n.y=e.height,n;let i=kt.maximumTextureSize;return n.x=Math.min(t,i),n.y=Math.ceil(t/n.x),n.y*=2,n};es.getClippingDistanceTextureResolution=function(e,t){let n=e.signedDistanceTexture;return l(n)?(t.x=n.width,t.y=n.height,t):(t.x=Math.min(kt.maximumTextureSize,4096),t.y=Math.min(kt.maximumTextureSize,4096),t)};es.getClippingExtentsTextureResolution=function(e,t){let n=e.extentsTexture;return l(n)?(t.x=n.width,t.y=n.height,t):es.getTextureResolution(n,e.pixelsNeededForExtents,t)};es.prototype.isDestroyed=function(){return!1};es.prototype.destroy=function(){return l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0),this._polygonsTexture=this._polygonsTexture&&this._polygonsTexture.destroy(),this._extentsTexture=this._extentsTexture&&this._extentsTexture.destroy(),this._signedDistanceTexture=this._signedDistanceTexture&&this._signedDistanceTexture.destroy(),ue(this)};var Wd=es;var mR={HIGHLIGHT:0,REPLACE:1,MIX:2};mR.getColorBlend=function(e,t){if(e===mR.HIGHLIGHT)return 0;if(e===mR.REPLACE)return 1;if(e===mR.MIX)return P.clamp(t,P.EPSILON4,1)};var hc=Object.freeze(mR);var pze={XTRANSLATE:"xTranslate",YTRANSLATE:"yTranslate",ZTRANSLATE:"zTranslate",XROTATE:"xRotate",YROTATE:"yRotate",ZROTATE:"zRotate",XSCALE:"xScale",YSCALE:"yScale",ZSCALE:"zScale",UNIFORMSCALE:"uniformScale"},mc=Object.freeze(pze);var _ze={STEP:0,LINEAR:1,CUBICSPLINE:2},jd=Object.freeze(_ze);var _se={};function pR(e){this._count=e.count,this._properties=He(e.properties,!0)}pR.prototype.hasProperty=function(e){return Vn.hasProperty(e,this._properties,_se)};pR.prototype.getPropertyIds=function(e){return Vn.getPropertyIds(this._properties,_se,e)};pR.prototype.getProperty=function(e,t){let n=this._properties[t];if(l(n))return He(n[e],!0)};pR.prototype.setProperty=function(e,t,n){let i=this._properties[t];l(i)||(i=new Array(this._count),this._properties[t]=i),i[e]=He(n,!0)};var Qp=pR;function pc(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._id=e.id,this._count=e.count,this._extras=e.extras,this._extensions=e.extensions,this._metadataTable=e.metadataTable,this._jsonMetadataTable=e.jsonMetadataTable,this._batchTableHierarchy=e.batchTableHierarchy}Object.defineProperties(pc.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},count:{get:function(){return this._count}},class:{get:function(){if(l(this._metadataTable))return this._metadataTable.class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){let e=0;return l(this._metadataTable)&&(e+=this._metadataTable.byteLength),l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e}}});pc.prototype.hasProperty=function(e,t){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(t)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(t))};pc.prototype.hasPropertyBySemantic=function(e,t){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(t):!1};pc.prototype.propertyExists=function(e){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(e)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.propertyExists(e)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(e))};pc.prototype.propertyExistsBySemantic=function(e){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(e):!1};var bW=[];pc.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,l(this._metadataTable)&&t.push.apply(t,this._metadataTable.getPropertyIds(bW)),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,bW)),l(this._jsonMetadataTable)&&t.push.apply(t,this._jsonMetadataTable.getPropertyIds(bW)),t};pc.prototype.getProperty=function(e,t){let n;if(l(this._metadataTable)&&(n=this._metadataTable.getProperty(e,t),l(n))||l(this._batchTableHierarchy)&&(n=this._batchTableHierarchy.getProperty(e,t),l(n))||l(this._jsonMetadataTable)&&(n=this._jsonMetadataTable.getProperty(e,t),l(n)))return n};pc.prototype.setProperty=function(e,t,n){l(this._metadataTable)&&this._metadataTable.setProperty(e,t,n)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n)||(l(this._jsonMetadataTable)||(this._jsonMetadataTable=new Qp({count:this._count,properties:{}})),this._jsonMetadataTable.setProperty(e,t,n))};pc.prototype.getPropertyBySemantic=function(e,t){if(l(this._metadataTable))return this._metadataTable.getPropertyBySemantic(e,t)};pc.prototype.setPropertyBySemantic=function(e,t,n){return l(this._metadataTable)?this._metadataTable.setPropertyBySemantic(e,t,n):!1};pc.prototype.getPropertyTypedArray=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArray(e)};pc.prototype.getPropertyTypedArrayBySemantic=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArrayBySemantic(e)};pc.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};pc.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};pc.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};var Kc=pc;function _R(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty,i=e.textures,o=l(t.channels)?t.channels:[0],r=t,s=Ml.createModelTextureReader({textureInfo:r,channels:xze(o),texture:i[r.index]});this._min=t.min,this._max=t.max;let a=t.offset,c=t.scale,u=n.hasValueTransform||l(a)||l(c);a=y(a,n.offset),c=y(c,n.scale),a=n.unpackVectorAndMatrixTypes(a),c=n.unpackVectorAndMatrixTypes(c),this._offset=a,this._scale=c,this._hasValueTransform=u,this._textureReader=s,this._classProperty=n,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(_R.prototype,{textureReader:{get:function(){return this._textureReader}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});_R.prototype.isGpuCompatible=function(){let e=this._classProperty,t=e.type,n=e.componentType;return e.isArray?e.isVariableLengthArray?(Tt(`Property texture property ${e.id} is a variable-length array, which is not supported`),!1):e.arrayLength>4?(Tt(`Property texture property ${e.id} is an array of length ${e.arrayLength}, but may have at most a length of 4`),!1):t!==Et.SCALAR?(Tt(`Property texture property ${e.id} is an array of type ${t}, but only SCALAR is supported`),!1):n!==zt.UINT8?(Tt(`Property texture property ${e.id} is an array with component type ${n}, but only UINT8 is supported`),!1):!0:Et.isVectorType(t)||t===Et.SCALAR?n!==zt.UINT8?(Tt(`Property texture property ${e.id} has component type ${n}, but only UINT8 is supported`),!1):!0:(Tt(`Property texture property ${e.id} has an unsupported type`),!1)};var gze=[void 0,"float","vec2","vec3","vec4"],yze=[void 0,"int","ivec2","ivec3","ivec4"];_R.prototype.getGlslType=function(){let e=this._classProperty,t=Et.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?gze[t]:yze[t]};_R.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function xze(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var gR=_R;function TW(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(l(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new gR({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(TW.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});TW.prototype.getProperty=function(e){return this._properties[e]};var Jp=TW;function gse(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||l(i)||l(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(gse.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var yR=gse;function CW(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(l(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new yR({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(CW.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});CW.prototype.getProperty=function(e){return this._properties[e]};var mb=CW;function xR(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=l(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(xR.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!l(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n<t;n++)e+=this._propertyTables[n].byteLength;return e}}});xR.prototype.getPropertyTable=function(e){return this._propertyTables[e]};xR.prototype.getPropertyTexture=function(e){return this._propertyTextures[e]};xR.prototype.getPropertyAttribute=function(e){return this._propertyAttributes[e]};var qs=xR;function bze(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i=[];if(l(t.propertyTables))for(let s=0;s<t.propertyTables.length;s++){let a=t.propertyTables[s],c=n.classes[a.class],u=new Rl({count:a.count,properties:a.properties,class:c,bufferViews:e.bufferViews});i.push(new Kc({id:s,name:a.name,count:a.count,metadataTable:u,extras:a.extras,extensions:a.extensions}))}let o=[];if(l(t.propertyTextures))for(let s=0;s<t.propertyTextures.length;s++){let a=t.propertyTextures[s];o.push(new Jp({id:s,name:a.name,propertyTexture:a,class:n.classes[a.class],textures:e.textures}))}let r=[];if(l(t.propertyAttributes))for(let s=0;s<t.propertyAttributes.length;s++){let a=t.propertyAttributes[s];r.push(new mb({id:s,name:a.name,class:n.classes[a.class],propertyAttribute:a}))}return new qs({schema:n,propertyTables:i,propertyTextures:o,propertyAttributes:r,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}var bR=bze;function Tze(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i,o=[],r;if(l(t.featureTables))for(r=Object.keys(t.featureTables).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTables[a],u=n.classes[c.class],f=new Rl({count:c.count,properties:c.properties,class:u,bufferViews:e.bufferViews});o.push(new Kc({id:a,count:c.count,metadataTable:f,extras:c.extras,extensions:c.extensions}))}let s=[];if(l(t.featureTextures))for(r=Object.keys(t.featureTextures).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTextures[a];s.push(new Jp({id:a,propertyTexture:Cze(c),class:n.classes[c.class],textures:e.textures}))}return new qs({schema:n,propertyTables:o,propertyTextures:s,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function Cze(e){let t={class:e.class,properties:{}},n=e.properties;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i],r={channels:Aze(o.channels),extras:o.extras,extensions:o.extensions};t.properties[i]=bt(o.texture,r,!0)}return t}function Aze(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]="rgba".indexOf(e[i]);return n}var TR=Tze;function my(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,extension:n,extensionLegacy:i,gltfResource:o,baseResource:r,supportedImageFormats:s,frameState:a,cacheKey:c,asynchronous:u=!0}=e;this._gltfResource=o,this._baseResource=r,this._gltf=t,this._extension=n,this._extensionLegacy=i,this._supportedImageFormats=s,this._frameState=a,this._cacheKey=c,this._asynchronous=u,this._bufferViewLoaders=[],this._bufferViewIds=[],this._textureLoaders=[],this._textureIds=[],this._schemaLoader=void 0,this._structuralMetadata=void 0,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(my.prototype=Object.create(Zi.prototype),my.prototype.constructor=my);Object.defineProperties(my.prototype,{cacheKey:{get:function(){return this._cacheKey}},structuralMetadata:{get:function(){return this._structuralMetadata}}});async function Eze(e){try{let t=Ize(e),n=Lze(e),i=Nze(e);return await Promise.all([t,n,i]),e.isDestroyed()?void 0:(e._gltf=void 0,e._state=mt.LOADED,e)}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=mt.FAILED,e.getError("Failed to load structural metadata",t)}}my.prototype.load=function(){return l(this._promise)?this._promise:(this._state=mt.LOADING,this._promise=Eze(this),this._promise)};function Sze(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.values,r=i.arrayOffsets,s=i.stringOffsets;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function vze(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.bufferView,r=i.arrayOffsetBufferView,s=i.stringOffsetBufferView;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function wze(e){let t=e.propertyTables,n={};if(l(t))for(let i=0;i<t.length;i++){let o=t[i];Sze(o.properties,n)}return n}function Dze(e){let t=e.featureTables,n={};if(l(t)){for(let i in t)if(t.hasOwnProperty(i)){let r=t[i].properties;l(r)&&vze(r,n)}}return n}async function Ize(e){let t;l(e._extension)?t=wze(e._extension):t=Dze(e._extensionLegacy);let n=[];for(let i in t)if(t.hasOwnProperty(i)){let o=Si.getBufferViewLoader({gltf:e._gltf,bufferViewId:parseInt(i),gltfResource:e._gltfResource,baseResource:e._baseResource});e._bufferViewLoaders.push(o),e._bufferViewIds.push(i),n.push(o.load())}return Promise.all(n)}function Pze(e){let t={},n=e.propertyTextures;if(l(n))for(let i=0;i<n.length;i++){let r=n[i].properties;l(r)&&Rze(r,t)}return t}function Rze(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t[i.index]=i}}function Oze(e){let t={},n=e.featureTextures;if(l(n)){for(let i in n)if(n.hasOwnProperty(i)){let r=n[i].properties;l(r)&&Mze(r,t)}}return t}function Mze(e,t){for(let n in e)if(e.hasOwnProperty(n)){let o=e[n].texture;t[o.index]=o}}function Lze(e){let t;l(e._extension)?t=Pze(e._extension):t=Oze(e._extensionLegacy);let n=e._gltf,i=e._gltfResource,o=e._baseResource,r=e._supportedImageFormats,s=e._frameState,a=e._asynchronous,c=[];for(let u in t)if(t.hasOwnProperty(u)){let f=Si.getTextureLoader({gltf:n,textureInfo:t[u],gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a});e._textureLoaders.push(f),e._textureIds.push(u),c.push(f.load())}return Promise.all(c)}async function Nze(e){let t=y(e._extension,e._extensionLegacy),n;if(l(t.schemaUri)){let i=e._baseResource.getDerivedResource({url:t.schemaUri});n=Si.getSchemaLoader({resource:i})}else n=Si.getSchemaLoader({schema:t.schema});if(e._schemaLoader=n,await n.load(),!n.isDestroyed())return n.schema}my.prototype.process=function(e){if(this._state===mt.READY)return!0;if(this._state!==mt.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let a=0;a<n;++a){let u=t[a].process(e);i=i&&u}if(!i)return!1;let o=this._schemaLoader.schema,r={};for(let a=0;a<this._bufferViewIds.length;++a){let c=this._bufferViewIds[a],u=this._bufferViewLoaders[a];if(!u.isDestroyed()){let f=new Uint8Array(u.typedArray);r[c]=f}}let s={};for(let a=0;a<this._textureIds.length;++a){let c=this._textureIds[a],u=t[a];u.isDestroyed()||(s[c]=u.texture)}return l(this._extension)?this._structuralMetadata=bR({extension:this._extension,schema:o,bufferViews:r,textures:s}):this._structuralMetadata=TR({extension:this._extensionLegacy,schema:o,bufferViews:r,textures:s}),yse(this),this._state=mt.READY,!0};function yse(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)Si.unload(t[i]);e._bufferViewLoaders.length=0,e._bufferViewIds.length=0}function Fze(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)Si.unload(t[i]);e._textureLoaders.length=0,e._textureIds.length=0}my.prototype.unload=function(){yse(this),Fze(this),l(this._schemaLoader)&&Si.unload(this._schemaLoader),this._schemaLoader=void 0,this._structuralMetadata=void 0};var CR=my;var kA={TRANSLATION:"TRANSLATION",ROTATION:"ROTATION",SCALE:"SCALE",FEATURE_ID:"_FEATURE_ID"};kA.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"TRANSLATION":return kA.TRANSLATION;case"ROTATION":return kA.ROTATION;case"SCALE":return kA.SCALE;case"_FEATURE_ID":return kA.FEATURE_ID}};var ts=Object.freeze(kA);var Bze=65534,kze=255;function qU(e){e=y(e,y.EMPTY_OBJECT);let t=e.triangleIndices,n=e.outlineIndices,i=e.originalVertexCount;this._triangleIndices=t,this._originalVertexCount=i,this._edges=new Tse(n,i),this._outlineCoordinatesTypedArray=void 0,this._extraVertices=[],Vze(this)}Object.defineProperties(qU.prototype,{updatedTriangleIndices:{get:function(){return this._triangleIndices}},outlineCoordinates:{get:function(){return this._outlineCoordinatesTypedArray}}});function Vze(e){let t=e._triangleIndices,n=e._edges,i=[],o=e._extraVertices,r=e._originalVertexCount,s={};for(let a=0;a<t.length;a+=3){let c=t[a],u=t[a+1],f=t[a+2],d=!1,p=d||n.hasEdge(c,u),g=d||n.hasEdge(u,f),m=d||n.hasEdge(f,c),x=xse(i,c,u,f,p,g,m);for(;l(x);){let b=s[x];if(!l(b)){b=r+o.length;let T=x;for(;T>=r;)T=o[T-r];o.push(T),s[x]=b}b>Bze&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):b>kze&&t instanceof Uint8Array&&(t=new Uint16Array(t)),x===c?(c=b,t[a]=b):x===u?(u=b,t[a+1]=b):(f=b,t[a+2]=b),x=xse(i,c,u,f,p,g,m)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function xse(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,u=0,f=AW(e,t,a,c,u);if(f===0)return t;let d=0,p=o?1:0,g=r?1:0,m=AW(e,n,d,p,g);if(m===0)return n;let x=s?1:0,b=0,T=r?1:0,A=AW(e,i,x,b,T);if(A===0)return i;let C=f&m&A,E,v,D;if(C&1)E=0,v=1,D=2;else if(C&2)E=0,D=1,v=2;else if(C&4)v=0,E=1,D=2;else if(C&8)v=0,D=1,E=2;else if(C&16)D=0,E=1,v=2;else if(C&32)D=0,v=1,E=2;else{let N=EW(f),_=EW(m),S=EW(A);return N<_&&N<S?t:_<S?n:i}let O=t*3;e[O+E]=a,e[O+v]=c,e[O+D]=u;let R=n*3;e[R+E]=d,e[R+v]=p,e[R+D]=g;let M=i*3;e[M+E]=x,e[M+v]=b,e[M+D]=T}function AW(e,t,n,i,o){let r=t*3,s=e[r],a=e[r+1],c=e[r+2];return l(s)?(s===n&&a===i&&c===o)<<0|(s===n&&a===o&&c===i)<<1|(s===i&&a===n&&c===o)<<2|(s===i&&a===o&&c===n)<<3|(s===o&&a===n&&c===i)<<4|(s===o&&a===i&&c===n)<<5:63}function EW(e){return(e&1)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}qU.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a<o;a++){let c=t[a]*i,u=n+a*i;for(let f=0;f<i;f++)s[u+f]=s[c+f]}return s};qU.createTexture=function(e){let t=e.cache.modelOutliningCache;if(l(t)||(t=e.cache.modelOutliningCache={}),l(t.outlineTexture))return t.outlineTexture;let n=Math.min(4096,kt.maximumTextureSize),i=n,o=bse(i),r=[];for(;i>1;)i>>=1,r.push(bse(i));let s=new Mt({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:ot.LUMINANCE,sampler:new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.LINEAR_MIPMAP_LINEAR,magnificationFilter:mi.LINEAR})});return t.outlineTexture=s,s};function bse(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function Tse(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n<e.length;n+=2){let i=e[n],o=e[n+1],r=Math.min(i,o),s=Math.max(i,o),a=r*this._originalVertexCount+s;this._edges.add(a)}}Tse.prototype.hasEdge=function(e,t){let n=Math.min(e,t),i=Math.max(e,t),o=n*this._originalVertexCount+i;return this._edges.has(o)};var pb=qU;function Cse(e){this.attribute=e,this.loadBuffer=!1,this.loadTypedArray=!1}function Uze(e){this.indices=e,this.loadBuffer=!1,this.loadTypedArray=!1}function YU(e){this.primitive=e,this.attributePlans=[],this.indicesPlan=void 0,this.needsOutlines=!1,this.outlineIndices=void 0}YU.prototype.postProcess=function(e){this.needsOutlines&&(zze(this),Gze(this,e))};function zze(e){let t=e.primitive,n=t.indices,i=t.attributes[0].count,o=new pb({triangleIndices:n.typedArray,outlineIndices:e.outlineIndices,originalVertexCount:i});n.typedArray=o.updatedTriangleIndices,n.indexDatatype=Fe.fromTypedArray(n.typedArray);let r=Hze(o.outlineCoordinates),s=new Cse(r);s.loadBuffer=!0,s.loadTypedArray=!1,e.attributePlans.push(s),t.outlineCoordinates=s.attribute;let a=e.attributePlans,c=e.attributePlans.length;for(let u=0;u<c;u++){let f=a[u].attribute;f.typedArray=o.updateAttribute(f.typedArray)}}function Hze(e){let t=new Tn.Attribute;return t.name="_OUTLINE_COORDINATES",t.typedArray=e,t.componentDatatype=X.FLOAT,t.type=sn.VEC3,t.normalized=!1,t.count=e.length/3,t}function Gze(e,t){Wze(e.attributePlans,t),l(e.indicesPlan)&&jze(e.indicesPlan,t)}function Wze(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=o.attribute,s=r.typedArray;if(o.loadBuffer){let a=pt.createVertexBuffer({typedArray:s,context:t,usage:ke.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.buffer=a}o.loadTypedArray||(r.typedArray=void 0)}}function jze(e,t){let n=e.indices;if(e.loadBuffer){let i=pt.createIndexBuffer({typedArray:n.typedArray,context:t,usage:ke.STATIC_DRAW,indexDatatype:n.indexDatatype});n.buffer=i,i.vertexArrayDestroyable=!1}e.loadTypedArray||(n.typedArray=void 0)}YU.AttributeLoadPlan=Cse;YU.IndicesLoadPlan=Uze;var _b=YU;function qze(e){e=y(e,y.EMPTY_OBJECT),this.webp=y(e.webp,!1),this.basis=y(e.basis,!1)}var AR=qze;function Ase(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams}Object.defineProperties(Ase.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}}});var ER=Ase;function Ese(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams,this._covarianceMatrix=e.covarianceMatrix}Object.defineProperties(Ese.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}},covarianceMatrix:{get:function(){return this._covarianceMatrix}}});var SR=Ese;function Sse(e){this._groupFlags=e.groupFlags,this._rotationThetas=e.rotationThetas,this._params=e.params}Object.defineProperties(Sse.prototype,{groupFlags:{get:function(){return this._groupFlags}},rotationThetas:{get:function(){return this._rotationThetas}},params:{get:function(){return this._params}}});var vR=Sse;var Yze={Direct:"Direct",Indirect:"Indirect"},py=Object.freeze(Yze);function vse(e){this._storageType=e.storageType,this._anchorPointsIndirect=e.anchorPointsIndirect,this._anchorPointsDirect=e.anchorPointsDirect,this._intraTileCorrelationGroups=e.intraTileCorrelationGroups,this._covarianceDirect=e.covarianceDirect}Object.defineProperties(vse.prototype,{storageType:{get:function(){return this._storageType}},anchorPointsIndirect:{get:function(){return this._anchorPointsIndirect}},anchorPointsDirect:{get:function(){return this._anchorPointsDirect}},intraTileCorrelationGroups:{get:function(){return this._intraTileCorrelationGroups}},covarianceDirect:{get:function(){return this._covarianceDirect}}});var VA=vse;function wse(e){this._A=e.A,this._alpha=e.alpha,this._beta=e.beta,this._T=e.T}Object.defineProperties(wse.prototype,{A:{get:function(){return this._A}},alpha:{get:function(){return this._alpha}},beta:{get:function(){return this._beta}},T:{get:function(){return this._T}}});var wR=wse;function UA(){}function Dse(e){return new $(e[0],e[1],e[3],e[1],e[2],e[4],e[3],e[4],e[5])}function Xze(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h);return new ER({position:t,adjustmentParams:n})}function Kze(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h),i=Dse(e.covarianceMatrix);return new SR({position:t,adjustmentParams:n,covarianceMatrix:i})}function Zze(e){let t=e.groupFlags,n=h.fromArray(e.rotationThetas,0,new h),i=[];for(let r of e.params){let s=new wR({A:r.A,alpha:r.alpha,beta:r.beta,T:r.T});i.push(s)}return new vR({groupFlags:t,rotationThetas:n,params:i})}UA.load=function(e){let t=e.storageType;if(t===py.Direct)return UA.loadDirect(e);if(t===py.Indirect)return UA.loadIndirect(e);throw new ce(`Invalid storage type in NGA_gpm_local - expected 'Direct' or 'Indirect', but found ${t}`)};UA.loadDirect=function(e){let t=[],n=e.anchorPointsDirect;for(let r of n){let s=Xze(r);t.push(s)}let i=Dse(e.covarianceDirectUpperTriangle);return new VA({storageType:py.Direct,anchorPointsDirect:t,covarianceDirect:i})};UA.loadIndirect=function(e){let t=[],n=e.anchorPointsIndirect;for(let s of n){let a=Kze(s);t.push(a)}let i=e.intraTileCorrelationGroups,o=[];for(let s of i){let a=Zze(s);o.push(a)}return new VA({storageType:py.Indirect,anchorPointsIndirect:t,intraTileCorrelationGroups:o})};var DR=UA;function Ise(e){this._traits=e.traits,this._noData=e.noData,this._offset=e.offset,this._scale=e.scale,this._index=e.index,this._texCoord=e.texCoord}Object.defineProperties(Ise.prototype,{traits:{get:function(){return this._traits}},noData:{get:function(){return this._noData}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},index:{get:function(){return this._index}},texCoord:{get:function(){return this._texCoord}}});var IR=Ise;function Pse(e){this._min=e.min,this._max=e.max,this._source=e.source}Object.defineProperties(Pse.prototype,{min:{get:function(){return this._min}},max:{get:function(){return this._max}},source:{get:function(){return this._source}}});var PR=Pse;function Rse(e){this._ppeTextures=e}Object.defineProperties(Rse.prototype,{ppeTextures:{get:function(){return this._ppeTextures}}});var RR=Rse;function Sr(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.extension,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=e.frameState,a=e.cacheKey,c=y(e.asynchronous,!0);this._gltfResource=i,this._baseResource=o,this._gltf=t,this._extension=n,this._supportedImageFormats=r,this._frameState=s,this._cacheKey=a,this._asynchronous=c,this._textureLoaders=[],this._textureIds=[],this._meshPrimitiveGpmLocal=void 0,this._structuralMetadata=void 0,this._state=mt.UNLOADED,this._promise=void 0}l(Object.create)&&(Sr.prototype=Object.create(Zi.prototype),Sr.prototype.constructor=Sr);Object.defineProperties(Sr.prototype,{cacheKey:{get:function(){return this._cacheKey}},meshPrimitiveGpmLocal:{get:function(){return this._meshPrimitiveGpmLocal}},structuralMetadata:{get:function(){return this._structuralMetadata}}});Sr.prototype._loadResources=async function(){try{return await this._loadTextures(),this.isDestroyed()?void 0:(this._gltf=void 0,this._state=mt.LOADED,this)}catch(e){if(this.isDestroyed())return;throw this.unload(),this._state=mt.FAILED,this.getError("Failed to load GPM data",e)}};Sr.prototype.load=function(){return l(this._promise)?this._promise:(this._state=mt.LOADING,this._promise=this._loadResources(this),this._promise)};function $ze(e){let t={},n=e.ppeTextures;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];t[o.index]=o}return t}Sr.prototype._loadTextures=function(){let e;l(this._extension)&&(e=$ze(this._extension));let t=this._gltf,n=this._gltfResource,i=this._baseResource,o=this._supportedImageFormats,r=this._frameState,s=this._asynchronous,a=[];for(let c in e)if(e.hasOwnProperty(c)){let u=Si.getTextureLoader({gltf:t,textureInfo:e[c],gltfResource:n,baseResource:i,supportedImageFormats:o,frameState:r,asynchronous:s});this._textureLoaders.push(u),this._textureIds.push(c),a.push(u.load())}return Promise.all(a)};Sr.ppeTexturesMetadataSchemaCache=new Map;Sr._createPpeTextureClassJson=function(e,t){let n=e.traits,i=n.source;return{name:`PPE texture class ${t}`,properties:{[i]:{name:"PPE",type:"SCALAR",componentType:"UINT8",normalized:!0,min:n.min,max:n.max}}}};Sr._obtainPpeTexturesMetadataSchema=function(e){let n=Sr._collectPpeTexturePropertyIdentifiers(e).toString(),i=Sr.ppeTexturesMetadataSchemaCache.get(n);if(l(i))return i;let r={id:`PPE_TEXTURE_SCHEMA_${Sr.ppeTexturesMetadataSchemaCache.size}`,classes:{}},s=e.ppeTextures;for(let a=0;a<s.length;a++){let c=s[a],u=`ppeTexture_${a}`,f=Sr._createPpeTextureClassJson(c,a);r.classes[u]=f}return i=Tu.fromJson(r),Sr.ppeTexturesMetadataSchemaCache.set(n,i),i};Sr._collectPpeTexturePropertyIdentifiers=function(e){let t=[],n=e.ppeTextures;for(let i=0;i<n.length;i++){let o=n[i],r=Sr._createPpeTextureClassJson(o,i),s=JSON.stringify(r);t.push(s)}return t};Sr._convertToStructuralMetadata=function(e,t){let n=[],i=Sr._obtainPpeTexturesMetadataSchema(e),o=e.ppeTextures;for(let s=0;s<o.length;s++){let a=o[s],c=`ppeTexture_${s}`,f=a.traits.source,d=i.classes[c],p=(a.scale??1)*255,g={class:c,properties:{[f]:{index:a.index,texCoord:a.texCoord,offset:a.offset,scale:p}}};n.push(new Jp({id:s,name:a.name,propertyTexture:g,class:d,textures:t}))}return new qs({schema:i,propertyTables:[],propertyTextures:n,propertyAttributes:[]})};Sr.prototype.process=function(e){if(this._state===mt.READY)return!0;if(this._state!==mt.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let u=0;u<n;++u){let d=t[u].process(e);i=i&&d}if(!i)return!1;let o={};for(let u=0;u<this._textureIds.length;++u){let f=this._textureIds[u],d=t[u];d.isDestroyed()||(o[f]=d.texture)}let r=[],s=this._extension;if(l(s.ppeTextures)){let u=s.ppeTextures;for(let f of u){let d=f.traits,p=new PR({min:d.min,max:d.max,source:d.source}),g=new IR({traits:p,noData:f.noData,offset:f.offset,scale:f.scale,index:f.index,texCoord:f.texCoord});r.push(g)}}let a=new RR(r);this._meshPrimitiveGpmLocal=a;let c=Sr._convertToStructuralMetadata(a,o);return this._structuralMetadata=c,this._state=mt.READY,!0};Sr.prototype._unloadTextures=function(){let e=this._textureLoaders,t=e.length;for(let n=0;n<t;++n)Si.unload(e[n]);this._textureLoaders.length=0,this._textureIds.length=0};Sr.prototype.unload=function(){this._unloadTextures(),this._gltf=void 0,this._extension=void 0,this._structuralMetadata=void 0};var OR=Sr;var{Attribute:Qze,Indices:Jze,FeatureIdAttribute:Ose,FeatureIdTexture:Mse,FeatureIdImplicitRange:Lse,MorphTarget:e4e,Primitive:t4e,Instances:n4e,Skin:i4e,Node:o4e,AnimatedPropertyType:r4e,AnimationSampler:s4e,AnimationTarget:a4e,AnimationChannel:c4e,Animation:l4e,ArticulationStage:u4e,Articulation:f4e,Asset:d4e,Scene:h4e,Components:m4e,MetallicRoughness:p4e,SpecularGlossiness:_4e,Specular:g4e,Anisotropy:SW,Clearcoat:vW,Material:y4e}=Tn,Lo={NOT_LOADED:0,LOADING:1,LOADED:2,PROCESSING:3,POST_PROCESSING:4,PROCESSED:5,READY:6,FAILED:7,UNLOADED:8};function qd(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,typedArray:n,releaseGltfJson:i=!1,asynchronous:o=!0,incrementallyLoadTextures:r=!0,upAxis:s=Oo.Y,forwardAxis:a=Oo.Z,loadAttributesAsTypedArray:c=!1,loadAttributesFor2D:u=!1,enablePick:f=!1,loadIndicesForWireframe:d=!1,loadPrimitiveOutline:p=!0,loadForClassification:g=!1,renameBatchIdSemantic:m=!1}=e,{baseResource:x=t.clone()}=e;this._gltfJson=e.gltfJson,this._gltfResource=t,this._baseResource=x,this._typedArray=n,this._releaseGltfJson=i,this._asynchronous=o,this._incrementallyLoadTextures=r,this._upAxis=s,this._forwardAxis=a,this._loadAttributesAsTypedArray=c,this._loadAttributesFor2D=u,this._enablePick=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._loadForClassification=g,this._renameBatchIdSemantic=m,this._sortedPropertyTableIds=void 0,this._sortedFeatureTextureIds=void 0,this._gltfJsonLoader=void 0,this._state=Lo.NOT_LOADED,this._textureState=Lo.NOT_LOADED,this._promise=void 0,this._processError=void 0,this._textureErrors=[],this._primitiveLoadPlans=[],this._loaderPromises=[],this._textureLoaders=[],this._texturesPromises=[],this._textureCallbacks=[],this._bufferViewLoaders=[],this._geometryLoaders=[],this._geometryCallbacks=[],this._structuralMetadataLoader=void 0,this._meshPrimitiveGpmLoader=void 0,this._loadResourcesPromise=void 0,this._resourcesLoaded=!1,this._texturesLoaded=!1,this._supportedImageFormats=void 0,this._postProcessBuffers=[],this._components=void 0}l(Object.create)&&(qd.prototype=Object.create(Zi.prototype),qd.prototype.constructor=qd);Object.defineProperties(qd.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},gltfJson:{get:function(){return l(this._gltfJsonLoader)?this._gltfJsonLoader.gltf:this._gltfJson}},incrementallyLoadTextures:{get:function(){return this._incrementallyLoadTextures}},texturesLoaded:{get:function(){return this._texturesLoaded}}});async function x4e(e){e._state=Lo.LOADING,e._textureState=Lo.LOADING;try{let t=Si.getGltfJsonLoader({gltfResource:e._gltfResource,baseResource:e._baseResource,typedArray:e._typedArray,gltfJson:e._gltfJson});return e._gltfJsonLoader=t,await t.load(),e.isDestroyed()||e.isUnloaded()||t.isDestroyed()?void 0:(e._state=Lo.LOADED,e._textureState=Lo.LOADED,e)}catch(t){if(e.isDestroyed())return;e._state=Lo.FAILED,e._textureState=Lo.FAILED,XU(e,t)}}async function b4e(e,t){Gt.supportsWebP.initialized||await Gt.supportsWebP.initialize(),e._supportedImageFormats=new AR({webp:Gt.supportsWebP(),basis:t.context.supportsBasis});let n=AHe(e,t);return e._state=Lo.PROCESSING,e._textureState=Lo.PROCESSING,l(e._gltfJsonLoader)&&e._releaseGltfJson&&(Si.unload(e._gltfJsonLoader),e._gltfJsonLoader=void 0),n}qd.prototype.load=async function(){return l(this._promise)?this._promise:(this._promise=x4e(this),this._promise)};function XU(e,t){throw e.unload(),e.getError("Failed to load glTF",t)}function T4e(e,t){let n=!0,i=e._geometryLoaders;for(let s=0;s<i.length;++s){let a=i[s].process(t);a&&l(e._geometryCallbacks[s])&&(e._geometryCallbacks[s](),e._geometryCallbacks[s]=void 0),n=n&&a}let o=e._structuralMetadataLoader;if(l(o)){let s=o.process(t);s&&(e._components.structuralMetadata=o.structuralMetadata),n=n&&s}let r=e._meshPrimitiveGpmLoader;if(l(r)){let s=r.process(t);s&&(l(e._components.structuralMetadata)&&Tt("structural-metadata-gpm","The model defines both the 'EXT_structural_metadata' extension and the 'NGA_gpm_local' extension. The data from the 'EXT_structural_metadata' extension will be replaced with the data from the 'NGA_gpm_local' extension, and will no longer be available for styling and picking."),e._components.structuralMetadata=r.structuralMetadata),n=n&&s}n&&(e._state=Lo.POST_PROCESSING)}function C4e(e,t){let n=e._primitiveLoadPlans;for(let i=0;i<n.length;i++){let o=n[i];o.postProcess(t),o.needsOutlines&&A4e(e,o)}}function A4e(e,t){let n=e._postProcessBuffers,i=t.primitive,o=i.outlineCoordinates;l(o)&&n.push(o.buffer);let r=i.attributes;for(let a=0;a<r.length;a++){let c=r[a];l(c.buffer)&&n.push(c.buffer)}let s=i.indices;l(s)&&l(s.buffer)&&n.push(s.buffer)}qd.prototype._process=function(e){return this._state===Lo.READY?!0:(this._state===Lo.PROCESSING&&T4e(this,e),this._resourcesLoaded&&this._state===Lo.POST_PROCESSING&&(C4e(this,e.context),this._state=Lo.PROCESSED),this._resourcesLoaded&&this._state===Lo.PROCESSED?(Gse(this),this._typedArray=void 0,this._state=Lo.READY,!0):!1)};qd.prototype._processTextures=function(e){if(this._textureState===Lo.READY)return!0;if(this._textureState!==Lo.PROCESSING)return!1;let t=!0,n=this._textureLoaders;for(let i=0;i<n.length;++i){let o=n[i].process(e);o&&l(this._textureCallbacks[i])&&(this._textureCallbacks[i](),this._textureCallbacks[i]=void 0),t=t&&o}return t?(this._textureState=Lo.READY,this._texturesLoaded=!0,!0):!1};qd.prototype.process=function(e){if(this._state===Lo.LOADED&&!l(this._loadResourcesPromise)&&(this._loadResourcesPromise=b4e(this,e).then(()=>{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),l(this._processError)){this._state=Lo.FAILED;let o=this._processError;this._processError=void 0,XU(this,o)}let t=this._textureErrors.pop();if(l(t)){let o=this.getError("Failed to load glTF texture",t);throw o.name="TextureError",o}if(this._state===Lo.FAILED)return!1;let n=!1;try{n=this._process(e)}catch(o){this._state=Lo.FAILED,XU(this,o)}let i=!1;try{i=this._processTextures(e)}catch(o){this._textureState=Lo.FAILED,XU(this,o)}return this._incrementallyLoadTextures?n:n&&i};function E4e(e,t,n,i,o,r,s){let a=e.gltfJson,u=a.accessors[t].bufferView;return Si.getVertexBufferLoader({gltf:a,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:s,bufferViewId:u,draco:i,attributeSemantic:n,accessorId:t,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r})}function S4e(e,t,n,i,o,r){return Si.getIndexBufferLoader({gltf:e.gltfJson,accessorId:t,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:r,draco:n,asynchronous:e._asynchronous,loadBuffer:i,loadTypedArray:o})}function v4e(e,t){let n=Si.getBufferViewLoader({gltf:e.gltfJson,bufferViewId:t,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(n),n}function Nse(e,t,n){let i=t.byteOffset,o=Ol(e,t),r=t.count,s=bu(t.type),a=t.componentType,c=X.getSizeInBytes(a),u=c*s,f=r*s;if(o===u)return n=new Uint8Array(n),X.createArrayBufferView(a,n.buffer,n.byteOffset+i,f);let d=X.createTypedArray(a,f),p=new DataView(n.buffer),g=new Array(s),m=Kp(t.componentType);i=n.byteOffset+i;for(let x=0;x<r;++x){m(p,i,s,c,g);for(let b=0;b<s;++b)d[x*s+b]=g[b];i+=o}return d}function w4e(e,t){let n=e.type;if(n===sn.SCALAR)return t.fill(0);let i=sn.getMathType(n);return t.fill(i.clone(i.ZERO))}function D4e(e,t,n,i){let o=e.type,r=e.count;if(o===sn.SCALAR)for(let s=0;s<r;s++)n[s]=t[s];else if(o===sn.VEC4&&i)for(let s=0;s<r;s++)n[s]=Le.unpack(t,s*4);else{let s=sn.getMathType(o),a=sn.getNumberOfComponents(o);for(let c=0;c<r;c++)n[c]=s.unpack(t,c*a)}return n}async function I4e(e,t,n,i,o){let{gltfJson:r}=e;if(await t.load(),e.isDestroyed())return;let s=Nse(r,n,t.typedArray);i=y(i,!1),D4e(n,s,o,i)}function KU(e,t,n){let i=new Array(t.count),o=t.bufferView;if(l(o)){let r=v4e(e,o),s=I4e(e,r,t,n,i);return e._loaderPromises.push(s),i}return w4e(t,i)}function Cu(e,t){if(l(t))return e===Number?t[0]:e.unpack(t)}function P4e(e){return e===Number?0:new e}function R4e(e){switch(e){case X.BYTE:return 127;case X.UNSIGNED_BYTE:return 255;case X.SHORT:return 32767;case X.UNSIGNED_SHORT:return 65535;default:return 1}}var O4e={VEC2:new z(-1,-1),VEC3:new h(-1,-1,-1),VEC4:new oe(-1,-1,-1,-1)};function M4e(e,t){let n=R4e(e.componentDatatype),i=O4e[e.type],o=e.min;l(o)&&(o=t.divideByScalar(o,n,o),o=t.maximumByComponent(o,i,o));let r=e.max;l(r)&&(r=t.divideByScalar(r,n,r),r=t.maximumByComponent(r,i,r)),e.min=o,e.max=r}function L4e(e,t,n){let i=e.decodeMatrix,o=Cu(n,e.decodedMin),r=Cu(n,e.decodedMax);l(o)&&l(r)&&(t.min=o,t.max=r);let s=new Tn.Quantization;s.componentDatatype=t.componentDatatype,s.type=t.type,i.length===4?(s.quantizedVolumeOffset=i[2],s.quantizedVolumeStepSize=i[0]):i.length===9?(s.quantizedVolumeOffset=new z(i[6],i[7]),s.quantizedVolumeStepSize=new z(i[0],i[4])):i.length===16?(s.quantizedVolumeOffset=new h(i[12],i[13],i[14]),s.quantizedVolumeStepSize=new h(i[0],i[5],i[10])):i.length===25&&(s.quantizedVolumeOffset=new oe(i[20],i[21],i[22],i[23]),s.quantizedVolumeStepSize=new oe(i[0],i[6],i[12],i[18])),t.quantization=s}function N4e(e,t,n,i,o){let r=e.accessors[t],s=sn.getMathType(r.type),a=y(r.normalized,!1),c=new Qze;c.name=n,c.semantic=i,c.setIndex=o,c.constant=P4e(s),c.componentDatatype=r.componentType,c.normalized=a,c.count=r.count,c.type=r.type,c.min=Cu(s,r.min),c.max=Cu(s,r.max),c.byteOffset=r.byteOffset,c.byteStride=Ol(e,r),ai(r,"WEB3D_quantized_attributes")&&L4e(r.extensions.WEB3D_quantized_attributes,c,s);let u=c.semantic===At.POSITION||c.semantic===At.NORMAL||c.semantic===At.TANGENT||c.semantic===At.TEXCOORD;return e.extensionsRequired?.includes("KHR_mesh_quantization")&&a&&u&&M4e(c,s),c}function Fse(e){let n=/^\w+_(\d+)$/.exec(e);if(n!==null)return parseInt(n[1])}var F4e={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function wW(e,t,n){let i=n;e._renameBatchIdSemantic&&(n==="_BATCHID"||n==="BATCHID")&&(i="_FEATURE_ID_0");let o=t.fromGltfSemantic(i),r=F4e;return r.gltfSemantic=n,r.renamedSemantic=i,r.modelSemantic=o,r}function B4e(e){let t=e===At.POSITION,n=e===At.FEATURE_ID,i=e===At.TEXCOORD;return t||n||i}function k4e(e,t,n,i){if(e.byteOffset=0,e.byteStride=void 0,e.quantization=t.quantization,n&&(e.buffer=t.buffer),i){let o=l(t.quantization)?t.quantization.componentDatatype:e.componentDatatype;e.typedArray=X.createArrayBufferView(o,t.typedArray.buffer)}}function V4e(e,t,n,i,o,r){if(o&&(n.buffer=i.buffer),r){let s=i.typedArray;n.typedArray=Nse(e,t,s),o||(n.byteOffset=0,n.byteStride=void 0)}}function Bse(e,t,n,i,o,r,s){let a=e.gltfJson,c=a.accessors[t],u=c.bufferView,f=n.gltfSemantic,d=n.renamedSemantic,p=n.modelSemantic,g=l(p)?Fse(d):void 0,x=N4e(a,t,f,p,g);if(!l(i)&&!l(u))return x;let b=E4e(e,t,f,i,o,r,s),T=e._geometryLoaders.length;e._geometryLoaders.push(b);let A=b.load();return e._loaderPromises.push(A),e._geometryCallbacks[T]=()=>{l(i)&&l(i.attributes)&&l(i.attributes[f])?k4e(x,b,o,r):V4e(a,c,x,b,o,r)},x}function kse(e,t,n,i,o,r,s){let a=n.modelSemantic,c=a===At.POSITION,u=a===At.FEATURE_ID,f=c&&!o&&e._loadAttributesFor2D&&!s.scene3DOnly,d=c&&e._enablePick&&!s.context.webgl2,p=e._loadForClassification&&u,g=e._loadAttributesAsTypedArray,m=!g,x=g||f||d||p,A=Bse(e,t,n,i,r?!1:m,r?!0:x,s),C=new _b.AttributeLoadPlan(A);return C.loadBuffer=m,C.loadTypedArray=x,C}function U4e(e,t,n,i,o){let r=e.gltfJson.accessors,s=l(n.ROTATION),a=l(n.TRANSLATION)&&l(r[n.TRANSLATION].min)&&l(r[n.TRANSLATION].max),c=wW(e,ts,i),u=c.modelSemantic,f=u===ts.TRANSLATION||u===ts.ROTATION||u===ts.SCALE,d=u===ts.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&f||!o.context.instancedArrays,g=e._enablePick&&!o.context.webgl2,m=!p,x=e._loadAttributesFor2D&&!o.scene3DOnly;return Bse(e,t,c,void 0,m,p||d&&(!a||x||g),o)}function z4e(e,t,n,i,o,r){let s=e.gltfJson.accessors[t],a=s.bufferView;if(!l(n)&&!l(a))return;let c=new Jze;c.count=s.count;let u=e._loadAttributesAsTypedArray,f=(e._loadIndicesForWireframe||e._enablePick)&&!r.context.webgl2,d=e._loadForClassification&&i,g=!u,m=u||f||d,T=S4e(e,t,n,o?!1:g,o?!0:m,r),A=e._geometryLoaders.length;e._geometryLoaders.push(T);let C=T.load();e._loaderPromises.push(C),e._geometryCallbacks[A]=()=>{c.indexDatatype=T.indexDatatype,c.buffer=T.buffer,c.typedArray=T.typedArray};let E=new _b.IndicesLoadPlan(c);return E.loadBuffer=g,E.loadTypedArray=m,E}function Zc(e,t,n,i){let o=e.gltfJson,r=Ml.getImageIdFromTexture({gltf:o,textureId:t.index,supportedImageFormats:e._supportedImageFormats});if(!l(r))return;let s=Si.getTextureLoader({gltf:o,textureInfo:t,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:n,asynchronous:e._asynchronous}),a=Ml.createModelTextureReader({textureInfo:t}),c=e._textureLoaders.length;e._textureLoaders.push(s);let u=s.load().catch(f=>{if(!e.isDestroyed()){if(!e._incrementallyLoadTextures)throw f;e._textureState=Lo.FAILED,e._textureErrors.push(f)}});return e._texturesPromises.push(u),e._textureCallbacks[c]=()=>{a.texture=s.texture,l(i)&&(a.texture.sampler=i)},a}function H4e(e,t,n){let{diffuseTexture:i,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=t,c=new _4e;return l(i)&&(c.diffuseTexture=Zc(e,i,n)),l(o)&&(c.specularGlossinessTexture=Zc(e,o,n)),c.diffuseFactor=Cu(oe,r),c.specularFactor=Cu(h,s),c.glossinessFactor=a,c}function G4e(e,t,n){let{baseColorTexture:i,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=t,c=new p4e;return l(i)&&(c.baseColorTexture=Zc(e,i,n)),l(o)&&(c.metallicRoughnessTexture=Zc(e,o,n)),c.baseColorFactor=Cu(oe,r),c.metallicFactor=s,c.roughnessFactor=a,c}function W4e(e,t,n){let{specularFactor:i,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=t,a=new g4e;return l(o)&&(a.specularTexture=Zc(e,o,n)),l(s)&&(a.specularColorTexture=Zc(e,s,n)),a.specularFactor=i,a.specularColorFactor=Cu(h,r),a}function j4e(e,t,n){let{anisotropyStrength:i=SW.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=SW.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=t,s=new SW;return l(r)&&(s.anisotropyTexture=Zc(e,r,n)),s.anisotropyStrength=i,s.anisotropyRotation=o,s}function q4e(e,t,n){let{clearcoatFactor:i=vW.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=vW.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=t,c=new vW;return l(o)&&(c.clearcoatTexture=Zc(e,o,n)),l(s)&&(c.clearcoatRoughnessTexture=Zc(e,s,n)),l(a)&&(c.clearcoatNormalTexture=Zc(e,a,n)),c.clearcoatFactor=i,c.clearcoatRoughnessFactor=r,c}function Y4e(e,t,n){let i=new y4e,o=y(t.extensions,y.EMPTY_OBJECT),r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,u=t.pbrMetallicRoughness;return i.unlit=l(o.KHR_materials_unlit),l(r)?i.specularGlossiness=H4e(e,r,n):(l(u)&&(i.metallicRoughness=G4e(e,u,n)),l(s)&&!i.unlit&&(i.specular=W4e(e,s,n)),l(a)&&!i.unlit&&(i.anisotropy=j4e(e,a,n)),l(c)&&!i.unlit&&(i.clearcoat=q4e(e,c,n))),l(t.emissiveTexture)&&(i.emissiveTexture=Zc(e,t.emissiveTexture,n)),l(t.normalTexture)&&!e._loadForClassification&&(i.normalTexture=Zc(e,t.normalTexture,n)),l(t.occlusionTexture)&&(i.occlusionTexture=Zc(e,t.occlusionTexture,n)),i.emissiveFactor=Cu(h,t.emissiveFactor),i.alphaMode=t.alphaMode,i.alphaCutoff=t.alphaCutoff,i.doubleSided=t.doubleSided,i}function Vse(e,t){let n=new Ose;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function Use(e,t,n,i){let o=new Ose,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=Fse(r.attribute),o.positionalLabel=i,o}function zse(e,t){let n=new Lse;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function Hse(e,t,n,i){let o=new Lse,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function X4e(e,t,n,i){let o=new Mse;o.featureCount=t.featureCount,o.nullFeatureId=t.nullFeatureId,o.propertyTableId=t.propertyTable,o.label=t.label,o.positionalLabel=i;let r=t.texture;o.textureReader=Zc(e,r,n,en.NEAREST);let a=(l(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function K4e(e,t,n,i,o,r){let s=new Mse,a=t.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=n,s.textureReader=Zc(e,c,i,en.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function Z4e(e,t,n,i,o){let r=new e4e,s=void 0,a=!1;for(let c in t){if(!t.hasOwnProperty(c))continue;let u=t[c],f=wW(e,At,c),d=kse(e,u,f,s,a,n,o);r.attributes.push(d.attribute),i.attributePlans.push(d)}return r}function $4e(e,t,n,i){let o=new t4e,r=new _b(o);e._primitiveLoadPlans.push(r);let s=t.material;l(s)&&(o.material=Y4e(e,e.gltfJson.materials[s],i));let a=y(t.extensions,y.EMPTY_OBJECT),c=!1,u=a.CESIUM_primitive_outline;e._loadPrimitiveOutline&&l(u)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=Q4e(e,u,r));let f=e._loadForClassification,d=a.KHR_draco_mesh_compression,p=!1,g=t.attributes;if(l(g))for(let v in g){if(!g.hasOwnProperty(v))continue;let D=g[v],O=wW(e,At,v),R=O.modelSemantic;if(f&&!B4e(R))continue;R===At.FEATURE_ID&&(p=!0);let M=kse(e,D,O,d,n,c,i);r.attributePlans.push(M),o.attributes.push(M.attribute)}let m=t.targets;if(l(m)&&!f)for(let v=0;v<m.length;++v)o.morphTargets.push(Z4e(e,m[v],c,r,i));let x=t.indices;if(l(x)){let v=z4e(e,x,d,p,c,i);l(v)&&(r.indicesPlan=v,o.indices=v.indices)}let b=a.EXT_structural_metadata,T=a.EXT_mesh_features,A=a.EXT_feature_metadata,C=l(A);l(T)?J4e(e,o,T,i):C&&eHe(e,o,A,i),l(b)?tHe(o,b):C&&nHe(e,o,A);let E=t.mode;if(f&&E!==Ne.TRIANGLES)throw new ce("Only triangle meshes can be used for classification.");return o.primitiveType=E,o}function Q4e(e,t){let n=t.indices,i=e.gltfJson.accessors[n];return KU(e,i,!1)}function J4e(e,t,n,i){let o;l(n)&&l(n.featureIds)?o=n.featureIds:o=[];for(let r=0;r<o.length;r++){let s=o[r],a=`featureId_${r}`,c;l(s.texture)?c=X4e(e,s,i,a):l(s.attribute)?c=Vse(s,a):c=zse(s,a),t.featureIds.push(c)}}function eHe(e,t,n,i){let{featureTables:o}=e.gltfJson.extensions.EXT_feature_metadata,r=0,s=n.featureIdAttributes;if(l(s))for(let c=0;c<s.length;++c){let u=s[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m;l(u.featureIds.attribute)?m=Use(u,d,p,g):m=Hse(u,d,p,g),t.featureIds.push(m)}let a=n.featureIdTextures;if(l(a))for(let c=0;c<a.length;++c){let u=a[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m=K4e(e,u,d,i,p,g);t.featureIds.push(m)}}function tHe(e,t){l(t)&&(l(t.propertyTextures)&&(e.propertyTextureIds=t.propertyTextures),l(t.propertyAttributes)&&(e.propertyAttributeIds=t.propertyAttributes))}function nHe(e,t,n){l(n.featureTextures)&&(t.propertyTextureIds=n.featureTextures.map(function(i){return e._sortedFeatureTextureIds.indexOf(i)}))}function iHe(e,t,n){let i=t.EXT_mesh_gpu_instancing,o=new n4e,r=i.attributes;if(l(r))for(let u in r){if(!r.hasOwnProperty(u))continue;let f=r[u];o.attributes.push(U4e(e,f,r,u,n))}let s=y(i.extensions,y.EMPTY_OBJECT),a=t.EXT_instance_features,c=s.EXT_feature_metadata;return l(a)?oHe(o,a):l(c)&&rHe(e.gltfJson,o,c,e._sortedPropertyTableIds),o}function oHe(e,t){let n=t.featureIds;for(let i=0;i<n.length;i++){let o=n[i],r=`instanceFeatureId_${i}`,s;l(o.attribute)?s=Vse(o,r):s=zse(o,r),e.featureIds.push(s)}}function rHe(e,t,n,i){let o=e.extensions.EXT_feature_metadata.featureTables,r=n.featureIdAttributes;if(l(r))for(let s=0;s<r.length;++s){let a=r[s],c=a.featureTable,u=i.indexOf(c),f=o[c].count,d=`instanceFeatureId_${s}`,p;l(a.featureIds.attribute)?p=Use(a,u,f,d):p=Hse(a,u,f,d),t.featureIds.push(p)}}function sHe(e,t,n){let i=new o4e;i.name=t.name,i.matrix=Cu(F,t.matrix),i.translation=Cu(h,t.translation),i.rotation=Cu(Le,t.rotation),i.scale=Cu(h,t.scale);let o=y(t.extensions,y.EMPTY_OBJECT),r=o.EXT_mesh_gpu_instancing,s=o.AGI_articulations;if(l(r)){if(e._loadForClassification)throw new ce("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");i.instances=iHe(e,o,n)}l(s)&&(i.articulationName=s.articulationName);let a=t.mesh;if(l(a)){let c=e.gltfJson.meshes[a],u=c.primitives;for(let p=0;p<u.length;++p)i.primitives.push($4e(e,u[p],l(i.instances),n));let f=y(t.weights,c.weights),d=i.primitives[0].morphTargets;i.morphWeights=l(f)?f.slice():new Array(d.length).fill(0)}return i}function aHe(e,t){let n=e.gltfJson.nodes;if(!l(n))return[];let i=n.map(function(o,r){let s=sHe(e,o,t);return s.index=r,s});for(let o=0;o<i.length;++o){let r=n[o].children;if(l(r))for(let s=0;s<r.length;++s)i[o].children.push(i[r[s]])}return i}function cHe(e,t,n){let i=new i4e,o=t.joints;i.joints=o.map(s=>n[s]);let r=t.inverseBindMatrices;if(l(r)){let s=e.gltfJson.accessors[r];i.inverseBindMatrices=KU(e,s)}else i.inverseBindMatrices=new Array(o.length).fill(F.IDENTITY);return i}function lHe(e,t){let n=e.gltfJson.skins;if(e._loadForClassification||!l(n))return[];let i=n.map(function(r,s){let a=cHe(e,r,t);return a.index=s,a}),o=e.gltfJson.nodes;for(let r=0;r<t.length;++r){let s=o[r].skin;l(s)&&(t[r].skin=i[s])}return i}async function uHe(e,t,n,i){let o=new CR({gltf:e.gltfJson,extension:t,extensionLegacy:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._structuralMetadataLoader=o,o.load()}async function fHe(e,t,n,i){let o=new OR({gltf:t,extension:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._meshPrimitiveGpmLoader=o,o.load()}function dHe(e,t){let n=new s4e,i=e.gltfJson.accessors,o=i[t.input];n.input=KU(e,o);let r=t.interpolation;n.interpolation=y(jd[r],jd.LINEAR);let s=i[t.output];return n.output=KU(e,s,!0),n}function hHe(e,t){let n=new a4e,i=e.node;if(!l(i))return;n.node=t[i];let o=e.path.toUpperCase();return n.path=r4e[o],n}function mHe(e,t,n){let i=new c4e,o=e.sampler;return i.sampler=t[o],i.target=hHe(e.target,n),i}function pHe(e,t,n){let i=new l4e;i.name=t.name;let o=t.samplers.map(function(s,a){let c=dHe(e,s);return c.index=a,c}),r=t.channels.map(function(s){return mHe(s,o,n)});return i.samplers=o,i.channels=r,i}function _He(e,t){let n=e.gltfJson.animations;return e._loadForClassification||!l(n)?[]:n.map(function(o,r){let s=pHe(e,o,t);return s.index=r,s})}function gHe(e){let t=new u4e;t.name=e.name;let n=e.type.toUpperCase();return t.type=mc[n],t.minimumValue=e.minimumValue,t.maximumValue=e.maximumValue,t.initialValue=e.initialValue,t}function yHe(e){let t=new f4e;return t.name=e.name,t.stages=e.stages.map(gHe),t}function xHe(e){let n=y(e.extensions,y.EMPTY_OBJECT).AGI_articulations?.articulations;return l(n)?n.map(yHe):[]}function bHe(e){let t;return l(e.scenes)&&l(e.scene)&&(t=e.scenes[e.scene].nodes),t=y(t,e.nodes),t=l(t)?t:[],t}function THe(e,t){let n=new h4e,i=bHe(e);return n.nodes=i.map(function(o){return t[o]}),n}var CHe=new h;function AHe(e,t){let n=e.gltfJson,i=y(n.extensions,y.EMPTY_OBJECT),o=i.EXT_structural_metadata,r=i.EXT_feature_metadata,s=i.CESIUM_RTC;if(l(r)){let A=r.featureTables,C=r.featureTextures,E=l(A)?A:[],v=l(C)?C:[];e._sortedPropertyTableIds=Object.keys(E).sort(),e._sortedFeatureTextureIds=Object.keys(v).sort()}let a=aHe(e,t),c=lHe(e,a),u=_He(e,a),f=xHe(n),d=THe(n,a),p=new m4e,g=new d4e,m=n.asset.copyright;if(l(m)){let A=m.split(";").map(function(C){return new wt(C.trim())});g.credits=A}if(p.asset=g,p.scene=d,p.nodes=a,p.skins=c,p.animations=u,p.articulations=f,p.upAxis=e._upAxis,p.forwardAxis=e._forwardAxis,l(s)){let A=h.fromArray(s.center,0,CHe);p.transform=F.fromTranslation(A,p.transform)}if(e._components=p,l(o)||l(r)){let A=uHe(e,o,r,t);e._loaderPromises.push(A)}let x=i.NGA_gpm_local;if(l(x)){let A=DR.load(x);e._components.extensions.NGA_gpm_local=A}let b=n.meshes;if(l(b))for(let A of b){let C=A.primitives;if(l(C))for(let E of C){let v=E.extensions;if(l(v)){let D=v.NGA_gpm_local;if(l(D)){let O=fHe(e,n,D,t);e._loaderPromises.push(O)}}}}let T=[];return T.push.apply(T,e._loaderPromises),e._incrementallyLoadTextures||T.push.apply(T,e._texturesPromises),Promise.all(T)}function EHe(e){let t=e._textureLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Si.unload(t[n]);e._textureLoaders.length=0}function Gse(e){let t=e._bufferViewLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Si.unload(t[n]);e._bufferViewLoaders.length=0}function SHe(e){let t=e._geometryLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Si.unload(t[n]);e._geometryLoaders.length=0}function vHe(e){let t=e._postProcessBuffers;for(let n=0;n<t.length;n++){let i=t[n];i.isDestroyed()||i.destroy()}t.length=0}function wHe(e){l(e._structuralMetadataLoader)&&!e._structuralMetadataLoader.isDestroyed()&&(e._structuralMetadataLoader.destroy(),e._structuralMetadataLoader=void 0)}function DHe(e){l(e._meshPrimitiveGpmLoader)&&!e._meshPrimitiveGpmLoader.isDestroyed()&&(e._meshPrimitiveGpmLoader.destroy(),e._meshPrimitiveGpmLoader=void 0)}qd.prototype.isUnloaded=function(){return this._state===Lo.UNLOADED};qd.prototype.unload=function(){l(this._gltfJsonLoader)&&!this._gltfJsonLoader.isDestroyed()&&Si.unload(this._gltfJsonLoader),this._gltfJsonLoader=void 0,EHe(this),Gse(this),SHe(this),vHe(this),wHe(this),DHe(this),this._components=void 0,this._typedArray=void 0,this._state=Lo.UNLOADED};var e_=qd;var MR=`uniform sampler2D u_pointCloud_colorGBuffer; -uniform sampler2D u_pointCloud_depthGBuffer; -uniform vec2 u_distanceAndEdlStrength; -in vec2 v_textureCoordinates; - -vec2 neighborContribution(float log2Depth, vec2 offset) -{ - float dist = u_distanceAndEdlStrength.x; - vec2 texCoordOrig = v_textureCoordinates + offset * dist; - vec2 texCoord0 = v_textureCoordinates + offset * floor(dist); - vec2 texCoord1 = v_textureCoordinates + offset * ceil(dist); +}`;function ss(e){e=y(e,y.EMPTY_OBJECT),this._polygons=[],this._totalPositions=0,this.enabled=y(e.enabled,!0),this.inverse=y(e.inverse,!1),this.polygonAdded=new me,this.polygonRemoved=new me,this._owner=void 0,this._float32View=void 0,this._extentsFloat32View=void 0,this._extentsCount=0,this._polygonsTexture=void 0,this._extentsTexture=void 0,this._signedDistanceTexture=void 0,this._signedDistanceComputeCommand=void 0;let t=e.polygons;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this._polygons.push(t[i])}}Object.defineProperties(ss.prototype,{length:{get:function(){return this._polygons.length}},totalPositions:{get:function(){return this._totalPositions}},extentsTexture:{get:function(){return this._extentsTexture}},extentsCount:{get:function(){return this._extentsCount}},pixelsNeededForExtents:{get:function(){return this.length}},pixelsNeededForPolygonPositions:{get:function(){return this.totalPositions+this.length}},clippingTexture:{get:function(){return this._signedDistanceTexture}},owner:{get:function(){return this._owner}},clippingPolygonsState:{get:function(){return this.inverse?-this.extentsCount:this.extentsCount}}});ss.prototype.add=function(e){let t=this._polygons.length;return this._polygons.push(e),this.polygonAdded.raiseEvent(e,t),e};ss.prototype.get=function(e){return this._polygons[e]};ss.prototype.contains=function(e){return this._polygons.some(t=>zA.equals(t,e))};ss.prototype.remove=function(e){let t=this._polygons,n=t.findIndex(i=>zA.equals(i,e));return n===-1?!1:(t.splice(n,1),this.polygonRemoved.raiseEvent(e,n),!0)};var Rze=new ae;function Oze(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let a=e[r].computeSphericalExtents(),c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=ae.clone(a);f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI);let d=[r];for(let p=0;p<t.length;++p){let g=t[p];if(l(g)&&l(ae.simpleIntersection(g,f))&&!ae.equals(g,f)){let m=n[p];d.push(...m),m.reduce((x,b)=>ae.union(e[b].computeSphericalExtents(Rze),x,x),a),t[p]=void 0,n[p]=void 0,c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=ae.clone(a,f),f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI),p=-1}}t.push(f),n.push(d)}let o=new Map;return n.filter(l).forEach((r,s)=>r.forEach(a=>o.set(a,s))),{extentsList:t.filter(l),extentsIndexByPolygon:o}}ss.prototype.removeAll=function(){let e=this._polygons,t=e.length;for(let n=0;n<t;++n){let i=e[n];this.polygonRemoved.raiseEvent(i,n)}this._polygons=[]};function Mze(e){let t=e._float32View,n=e._extentsFloat32View,i=e._polygons,{extentsList:o,extentsIndexByPolygon:r}=Oze(i),s=0;for(let[c,u]of i.entries()){let f=u.length;t[s++]=f,t[s++]=r.get(c);for(let d=0;d<f;++d){let p=u.positions[d],g=Math.hypot(p.x,p.y),m=P.fastApproximateAtan2(g,p.z),x=P.fastApproximateAtan2(p.x,p.y);t[s++]=m,t[s++]=x}}let a=0;for(let c of o){let u=1/(c.east-c.west),f=1/(c.north-c.south);n[a++]=c.south,n[a++]=c.west,n[a++]=f,n[a++]=u}e._extentsCount=o.length}var PW=new z;ss.prototype.update=function(e){let t=e.context;if(!ss.isSupported(e))throw new se("ClippingPolygonCollections are only supported for WebGL 2.");let n=this._polygons.reduce((s,a)=>s+a.length,0);if(n===this.totalPositions||(this._totalPositions=n,this.length===0))return;l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0,this._signedDistanceComputeCommand=void 0);let i=this._polygonsTexture,o=this._extentsTexture,r=this._signedDistanceTexture;if(l(i)){let s=i.width*i.height;(s<this.pixelsNeededForPolygonPositions||this.pixelsNeededForPolygonPositions<.25*s)&&(i.destroy(),i=void 0,this._polygonsTexture=void 0)}if(!l(i)){let s=ss.getTextureResolution(i,this.pixelsNeededForPolygonPositions,PW);i=new Pt({context:t,width:s.x,height:s.y,pixelFormat:nt.RG,pixelDatatype:Ye.FLOAT,sampler:Qt.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*2),this._polygonsTexture=i}if(l(o)){let s=o.width*o.height;(s<this.pixelsNeededForExtents||this.pixelsNeededForExtents<.25*s)&&(o.destroy(),o=void 0,this._extentsTexture=void 0)}if(!l(o)){let s=ss.getTextureResolution(o,this.pixelsNeededForExtents,PW);o=new Pt({context:t,width:s.x,height:s.y,pixelFormat:nt.RGBA,pixelDatatype:Ye.FLOAT,sampler:Qt.NEAREST,flipY:!1}),this._extentsFloat32View=new Float32Array(s.x*s.y*4),this._extentsTexture=o}if(Mze(this),o.copyFrom({source:{width:o.width,height:o.height,arrayBufferView:this._extentsFloat32View}}),i.copyFrom({source:{width:i.width,height:i.height,arrayBufferView:this._float32View}}),!l(r)){let s=ss.getClippingDistanceTextureResolution(this,PW);r=new Pt({context:t,width:s.x,height:s.y,pixelFormat:t.webgl2?nt.RED:nt.LUMINANCE,pixelDatatype:Ye.FLOAT,sampler:new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.LINEAR,magnificationFilter:pi.LINEAR}),flipY:!1}),this._signedDistanceTexture=r}this._signedDistanceComputeCommand=Lze(this)};ss.prototype.queueCommands=function(e){l(this._signedDistanceComputeCommand)&&e.commandList.push(this._signedDistanceComputeCommand)};function Lze(e){let t=e._polygonsTexture,n=e._extentsTexture;return new Fc({fragmentShaderSource:bR,outputTexture:e._signedDistanceTexture,uniformMap:{u_polygonsLength:function(){return e.length},u_extentsLength:function(){return e.extentsCount},u_extentsTexture:function(){return n},u_polygonTexture:function(){return t}},persists:!1,owner:e,postExecute:()=>{e._signedDistanceComputeCommand=void 0}})}var Lse=new ae,Nze=new ae;ss.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._polygons,i=n.length,o=qt.OUTSIDE;this.inverse&&(o=qt.INSIDE);for(let r=0;r<i;++r){let a=n[r].computeRectangle(),c=e.rectangle;if(!l(c)&&l(e.boundingVolume?.computeCorners)){let f=e.boundingVolume.computeCorners();c=ae.fromCartesianArray(f,t,Lse)}l(c)||(c=ae.fromBoundingSphere(e.boundingSphere,t,Lse));let u=ae.simpleIntersection(c,a,Nze);l(u)&&(o=qt.INTERSECTING)}return o};ss.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};ss.isSupported=function(e){return e?.context.webgl2};ss.getTextureResolution=function(e,t,n){if(l(e))return n.x=e.width,n.y=e.height,n;let i=Ft.maximumTextureSize;return n.x=Math.min(t,i),n.y=Math.ceil(t/n.x),n.y*=2,n};ss.getClippingDistanceTextureResolution=function(e,t){let n=e.signedDistanceTexture;return l(n)?(t.x=n.width,t.y=n.height,t):(t.x=Math.min(Ft.maximumTextureSize,4096),t.y=Math.min(Ft.maximumTextureSize,4096),t)};ss.getClippingExtentsTextureResolution=function(e,t){let n=e.extentsTexture;return l(n)?(t.x=n.width,t.y=n.height,t):ss.getTextureResolution(n,e.pixelsNeededForExtents,t)};ss.prototype.isDestroyed=function(){return!1};ss.prototype.destroy=function(){return l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0),this._polygonsTexture=this._polygonsTexture&&this._polygonsTexture.destroy(),this._extentsTexture=this._extentsTexture&&this._extentsTexture.destroy(),this._signedDistanceTexture=this._signedDistanceTexture&&this._signedDistanceTexture.destroy(),ue(this)};var qd=ss;var TR={NONE:0,SCENE_LIGHT:1,SUNLIGHT:2};TR.fromGlobeFlags=function(e){return e.enableLighting&&e.dynamicAtmosphereLighting?e.dynamicAtmosphereLightingFromSun?TR.SUNLIGHT:TR.SCENE_LIGHT:TR.NONE};var n_=Object.freeze(TR);function Nse(){this.lightIntensity=10,this.rayleighCoefficient=new h(55e-7,13e-6,284e-7),this.mieCoefficient=new h(21e-6,21e-6,21e-6),this.rayleighScaleHeight=1e4,this.mieScaleHeight=3200,this.mieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.dynamicLighting=n_.NONE}Nse.requiresColorCorrect=function(e){return!(P.equalsEpsilon(e.hueShift,0,P.EPSILON7)&&P.equalsEpsilon(e.saturationShift,0,P.EPSILON7)&&P.equalsEpsilon(e.brightnessShift,0,P.EPSILON7))};var xb=Nse;var Yd=`uniform vec3 u_radiiAndDynamicAtmosphereColor; - float depthOrLogDepth0 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord0)); - float depthOrLogDepth1 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord1)); - - // ignore depth values that are the clear depth - if (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) { - return vec2(0.0); - } +uniform float u_atmosphereLightIntensity; +uniform float u_atmosphereRayleighScaleHeight; +uniform float u_atmosphereMieScaleHeight; +uniform float u_atmosphereMieAnisotropy; +uniform vec3 u_atmosphereRayleighCoefficient; +uniform vec3 u_atmosphereMieCoefficient; - // interpolate the two adjacent depth values - float depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist)); - vec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix); - return vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0); -} +const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. +const int PRIMARY_STEPS_MAX = 16; // Maximum number of times the ray from the camera to the world position (primary ray) is sampled. +const int LIGHT_STEPS_MAX = 4; // Maximum number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. -void main() -{ - float depthOrLogDepth = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, v_textureCoordinates)); +/** + * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as + * the transmittance value for the ray. + * + * @param {czm_ray} primaryRay The ray from the camera to the position. + * @param {float} primaryRayLength The length of the primary ray. + * @param {vec3} lightDirection The direction of the light to calculate the scattering from. + * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. + * @param {vec3} mieColor The variable the Mie scattering will be written to. + * @param {float} opacity The variable the transmittance will be written to. + * @glslFunction + */ +void computeScattering( + czm_ray primaryRay, + float primaryRayLength, + vec3 lightDirection, + float atmosphereInnerRadius, + out vec3 rayleighColor, + out vec3 mieColor, + out float opacity +) { - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth); - eyeCoordinate /= eyeCoordinate.w; + // Initialize the default scattering amounts to 0. + rayleighColor = vec3(0.0); + mieColor = vec3(0.0); + opacity = 0.0; - float log2Depth = log2(-eyeCoordinate.z); + float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - if (depthOrLogDepth == 0.0) // 0.0 is the clear value for the gbuffer - { - discard; - } + vec3 origin = vec3(0.0); - vec4 color = texture(u_pointCloud_colorGBuffer, v_textureCoordinates); + // Calculate intersection from the camera to the outer ring of the atmosphere. + czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); - // sample from neighbors left, right, down, up - vec2 texelSize = 1.0 / czm_viewport.zw; + // Return empty colors if no intersection with the atmosphere geometry. + if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { + return; + } - vec2 responseAndCount = vec2(0.0); + // To deal with smaller values of PRIMARY_STEPS (e.g. 4) + // we implement a split strategy: sky or horizon. + // For performance reasons, instead of a if/else branch + // a soft choice is implemented through a weight 0.0 <= w_stop_gt_lprl <= 1.0 + float x = 1e-7 * primaryRayAtmosphereIntersect.stop / length(primaryRayLength); + // Value close to 0.0: close to the horizon + // Value close to 1.0: above in the sky + float w_stop_gt_lprl = 0.5 * (1.0 + czm_approximateTanh(x)); - responseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0)); - responseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0)); - responseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y)); - responseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y)); + // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. + float start_0 = primaryRayAtmosphereIntersect.start; + primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); + // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. + primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); - float response = responseAndCount.x / responseAndCount.y; - float strength = u_distanceAndEdlStrength.y; - float shade = exp(-response * 300.0 * strength); - color.rgb *= shade; - out_FragColor = vec4(color); + // For the number of ray steps, distinguish inside or outside atmosphere (outer space) + // (1) from outer space we have to use more ray steps to get a realistic rendering + // (2) within atmosphere we need fewer steps for faster rendering + float x_o_a = start_0 - ATMOSPHERE_THICKNESS; // ATMOSPHERE_THICKNESS used as an ad-hoc constant, no precise meaning here, only the order of magnitude matters + float w_inside_atmosphere = 1.0 - 0.5 * (1.0 + czm_approximateTanh(x_o_a)); + int PRIMARY_STEPS = PRIMARY_STEPS_MAX - int(w_inside_atmosphere * 12.0); // Number of times the ray from the camera to the world position (primary ray) is sampled. + int LIGHT_STEPS = LIGHT_STEPS_MAX - int(w_inside_atmosphere * 2.0); // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - // Input and output depth are the same. - gl_FragDepth = depthOrLogDepth; -} -`;function zA(){this._framebuffer=new _i({colorAttachmentsLength:2,depth:!0,supportsDepthTexture:!0}),this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}Object.defineProperties(zA.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}},colorGBuffer:{get:function(){return this._framebuffer.getColorTexture(0)}},depthGBuffer:{get:function(){return this._framebuffer.getColorTexture(1)}}});function IHe(e){e._framebuffer.destroy(),e._drawCommand=void 0,e._clearCommand=void 0}var DW=new z;function PHe(e,t){let n=new ze({defines:["LOG_DEPTH_WRITE"],sources:[MR]}),i={u_pointCloud_colorGBuffer:function(){return e.colorGBuffer},u_pointCloud_depthGBuffer:function(){return e.depthGBuffer},u_distanceAndEdlStrength:function(){return DW.x=e._radius,DW.y=e._strength,DW}},o=Ve.fromCache({blending:hn.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:Vt.setCesium3DTileBit(),stencilMask:Vt.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(n,{uniformMap:i,renderState:o,pass:Se.CESIUM_3D_TILE,owner:e}),e._clearCommand=new oi({framebuffer:e.framebuffer,color:new H(0,0,0,0),depth:1,renderState:Ve.fromCache(),pass:Se.CESIUM_3D_TILE,owner:e})}function RHe(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i),PHe(e,t)}function Wse(e){return e.drawBuffers&&e.fragmentDepth}zA.isSupported=Wse;function OHe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"EC");if(!l(n)){let i=t._attributeLocations,o=t.fragmentShaderSource.clone();o.sources.splice(0,0,`layout (location = 0) out vec4 out_FragData_0; -layout (location = 1) out vec4 out_FragData_1;`),o.sources=o.sources.map(function(r){return r=ze.replaceMain(r,"czm_point_cloud_post_process_main"),r=r.replaceAll(/out_FragColor/g,"out_FragData_0"),r}),o.sources.push(`void main() -{ - czm_point_cloud_post_process_main(); -#ifdef LOG_DEPTH - czm_writeLogDepth(); - out_FragData_1 = czm_packDepth(gl_FragDepth); -#else - out_FragData_1 = czm_packDepth(gl_FragCoord.z); -#endif -}`),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}zA.prototype.update=function(e,t,n,i){if(!Wse(e.context))return;this._strength=n.eyeDomeLightingStrength,this._radius=n.eyeDomeLightingRadius*e.pixelRatio,RHe(this,e.context);let o,r=e.commandList,s=r.length;for(o=t;o<s;++o){let u=r[o];if(u.primitiveType!==Ne.POINTS||u.pass===Se.TRANSLUCENT)continue;let f,d,p=u.derivedCommands.pointCloudProcessor;l(p)&&(f=p.command,d=p.originalShaderProgram),(!l(f)||u.dirty||d!==u.shaderProgram||f.framebuffer!==this.framebuffer)&&(f=Xe.shallowClone(u,f),f.framebuffer=this.framebuffer,f.shaderProgram=OHe(e.context,u.shaderProgram),f.castShadows=!1,f.receiveShadows=!1,l(p)||(p={command:f,originalShaderProgram:u.shaderProgram},u.derivedCommands.pointCloudProcessor=p),p.originalShaderProgram=u.shaderProgram),r[o]=f}let a=this._clearCommand,c=this._drawCommand;c.boundingVolume=i,r.push(c),r.push(a)};zA.prototype.isDestroyed=function(){return!1};zA.prototype.destroy=function(){return IHe(this),ue(this)};var t_=zA;function jse(e){let t=y(e,{});this.attenuation=y(t.attenuation,!1),this.geometricErrorScale=y(t.geometricErrorScale,1),this.maximumAttenuation=t.maximumAttenuation,this.baseResolution=t.baseResolution,this.eyeDomeLighting=y(t.eyeDomeLighting,!0),this.eyeDomeLightingStrength=y(t.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=y(t.eyeDomeLightingRadius,1),this.backFaceCulling=y(t.backFaceCulling,!1),this.normalShading=y(t.normalShading,!0)}jse.isSupported=function(e){return t_.isSupported(e.context)};var dm=jse;var Va={},MHe=new oe(0,0,0,1),_c=new oe,LHe=new We,IW=new z,PW=new z;Va.worldToWindowCoordinates=function(e,t,n){return Va.worldWithEyeOffsetToWindowCoordinates(e,t,h.ZERO,n)};var qse=new oe,Yse=new h;function LR(e,t,n,i){let o=n.viewMatrix,r=F.multiplyByVector(o,oe.fromElements(e.x,e.y,e.z,1,qse),qse),s=h.multiplyComponents(t,h.normalize(r,Yse),Yse);return r.x+=t.x+s.x,r.y+=t.y+s.y,r.z+=s.z,F.multiplyByVector(n.frustum.projectionMatrix,r,i)}var NHe=new fe(Math.PI,P.PI_OVER_TWO),FHe=new h,BHe=new h;Va.worldWithEyeOffsetToWindowCoordinates=function(e,t,n,i){let o=e.frameState,r=Va.computeActualEllipsoidPosition(o,t,MHe);if(!l(r))return;let s=e.canvas,a=LHe;a.x=0,a.y=0,a.width=s.clientWidth,a.height=s.clientHeight;let c=e.camera,u=!1;if(o.mode===ne.SCENE2D){let f=e.mapProjection,d=NHe,p=f.project(d,FHe),g=h.clone(c.position,BHe),m=c.frustum.clone(),x=F.computeViewportTransformation(a,0,1,new F),b=c.frustum.projectionMatrix,T=c.positionWC.y,A=h.fromElements(P.sign(T)*p.x-T,0,-c.positionWC.x),C=Lt.pointToGLWindowCoordinates(b,x,A);if(T===0||C.x<=0||C.x>=s.clientWidth)u=!0;else{if(C.x>s.clientWidth*.5){a.width=C.x,c.frustum.right=p.x-T,_c=LR(r,n,c,_c),Va.clipToGLWindowCoordinates(a,_c,IW),a.x+=C.x,c.position.x=-c.position.x;let E=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-E,_c=LR(r,n,c,_c),Va.clipToGLWindowCoordinates(a,_c,PW)}else{a.x+=C.x,a.width-=C.x,c.frustum.left=-p.x-T,_c=LR(r,n,c,_c),Va.clipToGLWindowCoordinates(a,_c,IW),a.x=a.x-a.width,c.position.x=-c.position.x;let E=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-E,_c=LR(r,n,c,_c),Va.clipToGLWindowCoordinates(a,_c,PW)}h.clone(g,c.position),c.frustum=m.clone(),i=z.clone(IW,i),(i.x<0||i.x>s.clientWidth)&&(i.x=PW.x)}}if(o.mode!==ne.SCENE2D||u){if(_c=LR(r,n,c,_c),_c.z<0&&!(c.frustum instanceof cn)&&!(c.frustum instanceof Lr))return;i=Va.clipToGLWindowCoordinates(a,_c,i)}return i.y=s.clientHeight-i.y,i};Va.worldToDrawingBufferCoordinates=function(e,t,n){if(n=Va.worldToWindowCoordinates(e,t,n),!!l(n))return Va.transformWindowToDrawingBuffer(e,n,n)};var n_=new h,kHe=new fe;Va.computeActualEllipsoidPosition=function(e,t,n){let i=e.mode;if(i===ne.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,kHe);if(!l(r))return;if(o.project(r,n_),i===ne.COLUMBUS_VIEW)return h.fromElements(n_.z,n_.x,n_.y,n);if(i===ne.SCENE2D)return h.fromElements(0,n_.x,n_.y,n);let s=e.morphTime;return h.fromElements(P.lerp(n_.z,t.x,s),P.lerp(n_.x,t.y,s),P.lerp(n_.y,t.z,s),n)};var Xse=new h,Kse=new h,Zse=new F;Va.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,Xse),F.computeViewportTransformation(e,0,1,Zse),F.multiplyByPoint(Zse,Xse,Kse),z.fromCartesian3(Kse,n)};Va.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return z.fromElements(t.x*o,t.y*r,n)};var VHe=new oe,$se=new oe;Va.drawingBufferToWorldCoordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,m=Math.pow(2,g)-1;n=c*(1-a/(m+a))/(c-a)}let u=e.view.passState.viewport,f=oe.clone(oe.UNIT_W,VHe);f.x=(t.x-u.x)/u.width*2-1,f.y=(t.y-u.y)/u.height*2-1,f.z=n*2-1,f.w=1;let d,p=e.camera.frustum;if(l(p.fovy)){d=F.multiplyByVector(r.inverseViewProjection,f,$se);let g=1/d.w;h.multiplyByScalar(d,g,d)}else{let g=p.offCenterFrustum;l(g)&&(p=g),d=$se,d.x=(f.x*(p.right-p.left)+p.left+p.right)*.5,d.y=(f.y*(p.top-p.bottom)+p.bottom+p.top)*.5,d.z=(f.z*(a-c)-a-c)*.5,d.w=1,d=F.multiplyByVector(r.inverseView,d,d)}return h.fromCartesian4(d,i)};var Gi=Va;var HA={};HA._deprecationWarning=fs;var i_=Uint32Array.BYTES_PER_ELEMENT;HA.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=i_;let r=o.getUint32(t,!0);if(r!==1)throw new ce(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=i_;let s=o.getUint32(t,!0);t+=i_;let a=o.getUint32(t,!0);t+=i_;let c=o.getUint32(t,!0);t+=i_;let u=o.getUint32(t,!0);t+=i_;let f=o.getUint32(t,!0);t+=i_;let d;u>=570425344?(t-=i_*2,d=a,u=c,f=0,a=0,c=0,HA._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):f>=570425344&&(t-=i_,d=u,u=a,f=c,a=0,c=0,HA._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(d,0)}:(p=Mo(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Mo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new ce("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):(HA._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{batchLength:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var NR=HA;function FR(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function Qse(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return l(a)||(a=X.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function UHe(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return l(r)||(r=X.createTypedArray(n,i),o[t]=r),r}FR.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(t=y(t,X.UNSIGNED_INT),n=y(n,1),Qse(this,e,t,n,1,i.byteOffset)):i};FR.prototype.hasProperty=function(e){return l(this.json[e])};FR.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(l(i.componentType)&&(t=X.fromName(i.componentType)),Qse(this,e,t,n,this.featuresLength,i.byteOffset)):UHe(this,e,t,i)};FR.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!l(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a<n;++a)o[a]=s[n*i+a];return o};var Yd=FR;function BR(e){let t=e.count,n=e.batchTable,i=e.binaryBody,o=y(e.parseAsPropertyAttributes,!1),r=e.customAttributeOutput,s=zHe(n),a;l(s.jsonProperties)&&(a=new Qp({count:t,properties:s.jsonProperties}));let c;l(s.hierarchy)&&(c=new qx({extension:s.hierarchy,binaryBody:i}));let u=zd.BATCH_TABLE_CLASS_NAME,f=s.binaryProperties,d,p,g;if(o){let b=GHe(t,u,f,i,r);g=b.transcodedSchema,p=[new mb({propertyAttribute:b.propertyAttributeJson,class:b.transcodedClass})]}else{let b=HHe(t,u,f,i);g=b.transcodedSchema;let T=b.featureTableJson;d=new Rl({count:T.count,properties:T.properties,class:b.transcodedClass,bufferViews:b.bufferViewsTypedArrays}),p=[]}let m=[];if(l(d)||l(a)||l(c)){let b=new Kc({id:0,name:"Batch Table",count:t,metadataTable:d,jsonMetadataTable:a,batchTableHierarchy:c});m.push(b)}let x={schema:g,propertyTables:m,propertyAttributes:p,extensions:s.extensions,extras:s.extras};return new qs(x)}function zHe(e){let t=e.HIERARCHY,n=e.extras,i=e.extensions,o;l(t)?(BR._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),o=t):l(i)&&(o=i["3DTILES_batch_table_hierarchy"]);let r,s={};for(let a in e){if(!e.hasOwnProperty(a)||a==="HIERARCHY"||a==="extensions"||a==="extras")continue;let c=e[a];Array.isArray(c)?(r=l(r)?r:{},r[a]=c):s[a]=c}return{binaryProperties:s,jsonProperties:r,hierarchy:o,extras:n,extensions:i}}function HHe(e,t,n,i){let o={},r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;if(!l(i))throw new ce(`Property ${d} requires a batch table binary.`);let p=n[d],g=yu(p);r[d]={bufferView:a},o[d]=Jse(p),s[a]=g.createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e),a++}let c={classes:{}};c.classes[t]={properties:o};let u=Tu.fromJson(c);return{featureTableJson:{class:t,count:e,properties:r},bufferViewsTypedArrays:s,transcodedSchema:u,transcodedClass:u.classes[t]}}function GHe(e,t,n,i,o){let r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;let p=n[d];if(!l(i)&&!l(p.typedArray))throw new ce(`Property ${d} requires a batch table binary.`);let g=Xt.sanitizeGlslIdentifier(d);(g===""||r.hasOwnProperty(g))&&(g=`property_${a}`,a++);let m=Jse(p);m.name=d,r[g]=m;let x=g.toUpperCase();x.startsWith("_")||(x=`_${x}`);let b=p.typedArray;l(b)||(b=yu(p).createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e));let T=new Tn.Attribute;T.name=x,T.count=e,T.type=p.type;let A=X.fromTypedArray(b);(A===X.INT||A===X.UNSIGNED_INT||A===X.DOUBLE)&&(BR._oneTimeWarning("Cast pnts property to floats",`Point cloud property "${x}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),b=new Float32Array(b)),T.componentDatatype=X.fromTypedArray(b),T.typedArray=b,o.push(T),s[g]={attribute:x}}let c={classes:{}};c.classes[t]={properties:r};let u=Tu.fromJson(c);return{class:t,propertyAttributeJson:{properties:s},transcodedSchema:u,transcodedClass:u.classes[t]}}function Jse(e){let t=WHe(e.componentType);return{type:e.type,componentType:t}}function WHe(e){switch(e){case"BYTE":return"INT8";case"UNSIGNED_BYTE":return"UINT8";case"SHORT":return"INT16";case"UNSIGNED_SHORT":return"UINT16";case"INT":return"INT32";case"UNSIGNED_INT":return"UINT32";case"FLOAT":return"FLOAT32";case"DOUBLE":return"FLOAT64"}}BR._deprecationWarning=fs;BR._oneTimeWarning=Tt;var o_=BR;var gb={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},jHe=Tn.FeatureIdAttribute;function _y(e){e=y(e,y.EMPTY_OBJECT);let t=e.b3dmResource,n=e.baseResource,i=e.arrayBuffer,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Oo.Y),u=y(e.forwardAxis,Oo.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadAttributesFor2D,!1),p=y(e.enablePick,!1),g=y(e.loadIndicesForWireframe,!1),m=y(e.loadPrimitiveOutline,!0),x=y(e.loadForClassification,!1);n=l(n)?n:t.clone(),this._b3dmResource=t,this._baseResource=n,this._arrayBuffer=i,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadAttributesFor2D=d,this._enablePick=p,this._loadIndicesForWireframe=g,this._loadPrimitiveOutline=m,this._loadForClassification=x,this._state=gb.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._batchLength=0,this._propertyTable=void 0,this._batchTable=void 0,this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(_y.prototype=Object.create(Zi.prototype),_y.prototype.constructor=_y);Object.defineProperties(_y.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});_y.prototype.load=function(){if(l(this._promise))return this._promise;let e=NR.parse(this._arrayBuffer,this._byteOffset),t=e.batchLength,n=e.featureTableJson,i=e.featureTableBinary,o=e.batchTableJson,r=e.batchTableBinary,s=new Yd(n,i);t=s.getGlobalProperty("BATCH_LENGTH"),this._batchLength=t;let a=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(a)&&(this._transform=F.fromTranslation(h.fromArray(a))),this._batchTable={json:o,binary:r};let c=new e_({typedArray:e.gltf,upAxis:this._upAxis,forwardAxis:this._forwardAxis,gltfResource:this._b3dmResource,baseResource:this._baseResource,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadAttributesFor2D:this._loadAttributesFor2D,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline,loadForClassification:this._loadForClassification,renameBatchIdSemantic:!0});this._gltfLoader=c,this._state=gb.LOADING;let u=this;return this._promise=c.load().then(function(){if(!u.isDestroyed())return u._state=gb.PROCESSING,u}).catch(function(f){if(!u.isDestroyed())return qHe(u,f)}),this._promise};function qHe(e,t){return e.unload(),e._state=gb.FAILED,t=e.getError("Failed to load b3dm",t),Promise.reject(t)}_y.prototype.process=function(e){if(this._state===gb.READY)return!0;if(this._state!==gb.PROCESSING||!this._gltfLoader.process(e))return!1;let n=this._gltfLoader.components;return n.transform=F.multiplyTransformation(this._transform,n.transform,n.transform),YHe(this,n),this._components=n,this._arrayBuffer=void 0,this._state=gb.READY,!0};function YHe(e,t){let n=e._batchTable,i=e._batchLength;if(i===0)return;let o;if(l(n.json))o=o_({count:i,batchTable:n.json,binaryBody:n.binary});else{let a=new Kc({name:zd.BATCH_TABLE_CLASS_NAME,count:i});o=new qs({schema:{},propertyTables:[a]})}let r=t.scene.nodes,s=r.length;for(let a=0;a<s;a++)eae(r[a]);t.structuralMetadata=o}function eae(e){let t=e.children.length;for(let i=0;i<t;i++)eae(e.children[i]);let n=e.primitives.length;for(let i=0;i<n;i++){let o=e.primitives[i],r=Xt.getAttributeBySemantic(o,At.FEATURE_ID);if(l(r)){r.setIndex=0;let s=new jHe;s.propertyTableId=0,s.setIndex=0,s.positionalLabel="featureId_0",o.featureIds.push(s)}}}_y.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),this._components=void 0,this._arrayBuffer=void 0};var kR=_y;function gy(e){e=y(e,y.EMPTY_OBJECT),this._geoJson=e.geoJson,this._components=void 0}l(Object.create)&&(gy.prototype=Object.create(Zi.prototype),gy.prototype.constructor=gy);Object.defineProperties(gy.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}}});gy.prototype.load=function(){return Promise.resolve(this)};gy.prototype.process=function(e){return l(this._components)||(this._components=s8e(this._geoJson,e),this._geoJson=void 0),!0};function XHe(){this.lines=void 0,this.points=void 0,this.properties=void 0}function KHe(){this.features=[]}function RW(e){let t=e[0],n=e[1],i=y(e[2],0);return new h(t,n,i)}function OW(e){let t=e.length,n=new Array(t);for(let o=0;o<t;o++)n[o]=RW(e[o]);return[n]}function ZHe(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=OW(e[i])[0];return n}function tae(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=OW(e[i])[0];return n}function $He(e){let t=e.length,n=[];for(let i=0;i<t;i++)Array.prototype.push.apply(n,tae(e[i]));return n}function QHe(e){return[RW(e)]}function JHe(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=RW(e[i]);return n}var e8e={LineString:OW,MultiLineString:ZHe,MultiPolygon:$He,Polygon:tae,MultiPoint:JHe,Point:QHe},t8e={LineString:Ne.LINES,MultiLineString:Ne.LINES,MultiPolygon:Ne.LINES,Polygon:Ne.LINES,MultiPoint:Ne.POINTS,Point:Ne.POINTS};function nae(e,t){if(!l(e.geometry))return;let n=e.geometry.type,i=e8e[n],o=t8e[n],r=e.geometry.coordinates;if(!l(i)||!l(r))return;let s=new XHe;o===Ne.LINES?s.lines=i(r):o===Ne.POINTS&&(s.points=i(r)),s.properties=e.properties,t.features.push(s)}function n8e(e,t){let n=e.features,i=n.length;for(let o=0;o<i;o++)nae(n[o],t)}var i8e={FeatureCollection:n8e,Feature:nae},ZU=new h;function o8e(e,t,n){let i=0,o=0,r=e.length;for(let M=0;M<r;M++){let N=e[M];if(l(N.lines)){let _=N.lines.length;for(let S=0;S<_;S++){let w=N.lines[S];i+=w.length,o+=(w.length-1)*2}}}let s=new Float32Array(i*3),a=new Float32Array(i),c=Fe.createTypedArray(i,o),u=Fe.fromTypedArray(c),f=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),d=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=0,g=0;for(let M=0;M<r;M++){let N=e[M];if(!l(N.lines))continue;let _=N.lines.length;for(let S=0;S<_;S++){let w=N.lines[S],I=w.length;for(let L=0;L<I;L++){let B=w[L],U=h.fromDegrees(B.x,B.y,B.z,ee.WGS84,ZU),V=F.multiplyByPoint(t,U,ZU);h.minimumByComponent(f,V,f),h.maximumByComponent(d,V,d),h.pack(V,s,p*3),a[p]=M,L<I-1&&(c[g*2]=p,c[g*2+1]=p+1,g++),p++}}}let m=pt.createVertexBuffer({typedArray:s,context:n.context,usage:ke.STATIC_DRAW});m.vertexArrayDestroyable=!1;let x=pt.createVertexBuffer({typedArray:a,context:n.context,usage:ke.STATIC_DRAW});x.vertexArrayDestroyable=!1;let b=pt.createIndexBuffer({typedArray:c,context:n.context,usage:ke.STATIC_DRAW,indexDatatype:u});b.vertexArrayDestroyable=!1;let T=new Tn.Attribute;T.semantic=At.POSITION,T.componentDatatype=X.FLOAT,T.type=sn.VEC3,T.count=i,T.min=f,T.max=d,T.buffer=m;let A=new Tn.Attribute;A.semantic=At.FEATURE_ID,A.setIndex=0,A.componentDatatype=X.FLOAT,A.type=sn.SCALAR,A.count=i,A.buffer=x;let C=[T,A],E=new Tn.Material;E.unlit=!0;let v=new Tn.Indices;v.indexDatatype=u,v.count=c.length,v.buffer=b;let D=new Tn.FeatureIdAttribute;D.featureCount=r,D.propertyTableId=0,D.setIndex=0,D.positionalLabel="featureId_0";let O=[D],R=new Tn.Primitive;return R.attributes=C,R.indices=v,R.featureIds=O,R.primitiveType=Ne.LINES,R.material=E,R}function r8e(e,t,n){let i=0,o=e.length;for(let C=0;C<o;C++){let E=e[C];l(E.points)&&(i+=E.points.length)}let r=new Float32Array(i*3),s=new Float32Array(i),a=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),c=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),u=0;for(let C=0;C<o;C++){let E=e[C];if(!l(E.points))continue;let v=E.points.length;for(let D=0;D<v;D++){let O=E.points[D],R=h.fromDegrees(O.x,O.y,O.z,ee.WGS84,ZU),M=F.multiplyByPoint(t,R,ZU);h.minimumByComponent(a,M,a),h.maximumByComponent(c,M,c),h.pack(M,r,u*3),s[u]=C,u++}}let f=pt.createVertexBuffer({typedArray:r,context:n.context,usage:ke.STATIC_DRAW});f.vertexArrayDestroyable=!1;let d=pt.createVertexBuffer({typedArray:s,context:n.context,usage:ke.STATIC_DRAW});d.vertexArrayDestroyable=!1;let p=new Tn.Attribute;p.semantic=At.POSITION,p.componentDatatype=X.FLOAT,p.type=sn.VEC3,p.count=i,p.min=a,p.max=c,p.buffer=f;let g=new Tn.Attribute;g.semantic=At.FEATURE_ID,g.setIndex=0,g.componentDatatype=X.FLOAT,g.type=sn.SCALAR,g.count=i,g.buffer=d;let m=[p,g],x=new Tn.Material;x.unlit=!0;let b=new Tn.FeatureIdAttribute;b.featureCount=o,b.propertyTableId=0,b.setIndex=0,b.positionalLabel="featureId_0";let T=[b],A=new Tn.Primitive;return A.attributes=m,A.featureIds=T,A.primitiveType=Ne.POINTS,A.material=x,A}function s8e(e,t){let n=new KHe,i=i8e[e.type];l(i)&&i(e,n);let o=n.features,r=o.length;if(r===0)throw new ce("GeoJSON must have at least one feature");let s={};for(let M=0;M<r;M++){let N=o[M],_=y(N.properties,y.EMPTY_OBJECT);for(let S in _)_.hasOwnProperty(S)&&(l(s[S])||(s[S]=new Array(r)))}for(let M=0;M<r;M++){let N=o[M];for(let _ in s)if(s.hasOwnProperty(_)){let S=y(N.properties[_],"");s[_][M]=S}}let a=new Qp({count:r,properties:s}),u=[new Kc({id:0,count:r,jsonMetadataTable:a})],f=Tu.fromJson({}),d=new qs({schema:f,propertyTables:u}),p=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),g=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),m=!1,x=!1;for(let M=0;M<r;M++){let N=o[M];if(l(N.lines)){m=!0;let _=N.lines.length;for(let S=0;S<_;S++){let w=N.lines[S],I=w.length;for(let L=0;L<I;L++)h.minimumByComponent(p,w[L],p),h.maximumByComponent(g,w[L],g)}}if(l(N.points)){x=!0;let _=N.points.length;for(let S=0;S<_;S++){let w=N.points[S];h.minimumByComponent(p,w,p),h.maximumByComponent(g,w,g)}}}let b=h.midpoint(p,g,new h),T=h.fromDegrees(b.x,b.y,b.z,ee.WGS84,new h),A=Lt.eastNorthUpToFixedFrame(T,ee.WGS84,new F),C=F.inverseTransformation(A,new F),E=[];m&&E.push(o8e(o,C,t)),x&&E.push(r8e(o,C,t));let v=new Tn.Node;v.index=0,v.primitives=E;let D=[v],O=new Tn.Scene;O.nodes=D;let R=new Tn.Components;return R.scene=O,R.nodes=D,R.transform=A,R.structuralMetadata=d,R}gy.prototype.unload=function(){this._components=void 0};var VR=gy;var $U={};$U._deprecationWarning=fs;var yy=Uint32Array.BYTES_PER_ELEMENT;$U.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=yy;let r=o.getUint32(t,!0);if(r!==1)throw new ce(`Only Instanced 3D Model version 1 is supported. Version ${r} is not.`);t+=yy;let s=o.getUint32(t,!0);t+=yy;let a=o.getUint32(t,!0);if(a===0)throw new ce("featureTableJsonByteLength is zero, the feature table must be defined.");t+=yy;let c=o.getUint32(t,!0);t+=yy;let u=o.getUint32(t,!0);t+=yy;let f=o.getUint32(t,!0);t+=yy;let d=o.getUint32(t,!0);if(d!==1&&d!==0)throw new ce(`Only glTF format 0 (uri) or 1 (embedded) are supported. Format ${d} is not.`);t+=yy;let p=Mo(i,t,a);t+=a;let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Mo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new ce("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):($U._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{gltfFormat:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var UR=$U;var r_={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},QU=Tn.Attribute,a8e=Tn.FeatureIdAttribute,oae=Tn.Instances;function s_(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Oo.Y),u=y(e.forwardAxis,Oo.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.enablePick,!1);i=l(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._enablePick=g,this._state=r_.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}l(Object.create)&&(s_.prototype=Object.create(Zi.prototype),s_.prototype.constructor=s_);Object.defineProperties(s_.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});s_.prototype.load=function(){if(l(this._promise))return this._promise;let e=UR.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new Yd(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!l(a))throw new ce("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(c)&&(this._transform=F.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let u={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let d=Dl(e.gltf);d=d.replace(/[\s\0]+$/,"");let p=this._baseResource.getDerivedResource({url:d});u.gltfResource=p,u.baseResource=p}else u.gltfResource=this._i3dmResource,u.typedArray=e.gltf;let f=new e_(u);return this._gltfLoader=f,this._state=r_.LOADING,this._promise=f.load().then(()=>{if(!this.isDestroyed())return this._state=r_.PROCESSING,this}).catch(d=>{if(!this.isDestroyed())throw c8e(this,d)}),this._promise};function c8e(e,t){return e.unload(),e._state=r_.FAILED,e.getError("Failed to load i3dm",t)}s_.prototype.process=function(e){if(this._state===r_.READY)return!0;let t=this._gltfLoader,n=!1;if(this._state===r_.PROCESSING&&(n=t.process(e)),!n)return!1;let i=t.components;return i.transform=F.multiplyTransformation(this._transform,i.transform,i.transform),f8e(this,i,e),l8e(this,i),this._components=i,this._arrayBuffer=void 0,this._state=r_.READY,!0};function l8e(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(l(n.json))o=o_({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new Kc({name:zd.BATCH_TABLE_CLASS_NAME,count:i});o=new qs({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var JU=new h,MW=new Array(4),u8e=new F;function f8e(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",X.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,u=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),f=h8e(o,r),d;c&&(d=new Float32Array(4*r));let p;u&&(p=new Float32Array(3*r));let g=new Float32Array(r),m=h.unpackArray(f),x=new h,b=new h,T=new h,A=new h,C=new $,E=new Le,v=new Array(4),D=new h,O=new Array(3),R=new F;if(!l(s)||h.equals(h.unpack(s),h.ZERO)){let V=ae.fromPoints(m);for(i=0;i<m.length;i++)h.subtract(m[i],V.center,JU),f[3*i+0]=JU.x,f[3*i+1]=JU.y,f[3*i+2]=JU.z;let G=F.fromTranslation(V.center,u8e);t.transform=F.multiplyTransformation(G,t.transform,t.transform)}for(i=0;i<r;i++){x=h.clone(m[i]),l(s)&&h.add(x,h.unpack(s),x),c&&(m8e(o,a,i,E,x,T,b,A,C,R),Le.pack(E,v,0),d[4*i+0]=v[0],d[4*i+1]=v[1],d[4*i+2]=v[2],d[4*i+3]=v[3]),u&&(p8e(o,i,D),h.pack(D,O,0),p[3*i+0]=O[0],p[3*i+1]=O[1],p[3*i+2]=O[2]);let V=o.getProperty("BATCH_ID",X.UNSIGNED_SHORT,1,i);l(V)||(V=i),g[i]=V}let M=new oae;M.transformInWorldSpace=!0;let N=e._buffers,_=new QU;if(_.name="Instance Translation",_.semantic=ts.TRANSLATION,_.componentDatatype=X.FLOAT,_.type=sn.VEC3,_.count=r,_.typedArray=f,!c){let V=pt.createVertexBuffer({context:n.context,typedArray:f,usage:ke.STATIC_DRAW});V.vertexArrayDestroyable=!1,N.push(V),_.buffer=V}if(M.attributes.push(_),c){let V=new QU;V.name="Instance Rotation",V.semantic=ts.ROTATION,V.componentDatatype=X.FLOAT,V.type=sn.VEC4,V.count=r,V.typedArray=d,M.attributes.push(V)}if(u){let V=new QU;if(V.name="Instance Scale",V.semantic=ts.SCALE,V.componentDatatype=X.FLOAT,V.type=sn.VEC3,V.count=r,c)V.typedArray=p;else{let G=pt.createVertexBuffer({context:n.context,typedArray:p,usage:ke.STATIC_DRAW});G.vertexArrayDestroyable=!1,N.push(G),V.buffer=G}M.attributes.push(V)}let S=new QU;S.name="Instance Feature ID",S.setIndex=0,S.semantic=ts.FEATURE_ID,S.componentDatatype=X.FLOAT,S.type=sn.SCALAR,S.count=r;let w=pt.createVertexBuffer({context:n.context,typedArray:g,usage:ke.STATIC_DRAW});w.vertexArrayDestroyable=!1,N.push(w),S.buffer=w,M.attributes.push(S);let I=new a8e;I.propertyTableId=0,I.setIndex=0,I.positionalLabel="instanceFeatureId_0",M.featureIds.push(I);let L=t.nodes,B=L.length,U=!1;for(i=0;i<B;i++){let V=L[i];V.primitives.length>0&&(V.instances=U?d8e(M):M,U=!0)}}function d8e(e){let t=new oae;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=He(n[o],!1);t.attributes.push(r)}return t.featureIds=e.featureIds,t}function h8e(e,t){if(e.hasProperty("POSITION"))return e.getPropertyArray("POSITION",X.FLOAT,3);if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(i))throw new ce("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let o=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(o))throw new ce("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let r=new Float32Array(n.length);for(let s=0;s<n.length/3;s++)for(let a=0;a<3;a++){let c=3*s+a;r[c]=n[c]/65535*o[a]+i[a]}return r}else throw new ce("Either POSITION or POSITION_QUANTIZED must be defined for each instance.")}var iae=new Array(4);function m8e(e,t,n,i,o,r,s,a,c,u){let f=e.getProperty("NORMAL_UP",X.FLOAT,3,n,MW),d=e.getProperty("NORMAL_RIGHT",X.FLOAT,3,n,iae),p=!1;if(l(f)){if(!l(d))throw new ce("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");h.unpack(f,0,r),h.unpack(d,0,s),p=!0}else{let g=e.getProperty("NORMAL_UP_OCT32P",X.UNSIGNED_SHORT,2,n,MW),m=e.getProperty("NORMAL_RIGHT_OCT32P",X.UNSIGNED_SHORT,2,n,iae);if(l(g)){if(!l(m))throw new ce("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");Fn.octDecodeInRange(g[0],g[1],65535,r),Fn.octDecodeInRange(m[0],m[1],65535,s),p=!0}else t?(Lt.eastNorthUpToFixedFrame(o,ee.WGS84,u),F.getMatrix3(u,c)):$.clone($.IDENTITY,c)}p&&(h.cross(s,r,a),h.normalize(a,a),$.setColumn(c,0,s,c),$.setColumn(c,1,r,c),$.setColumn(c,2,a,c)),Le.fromRotationMatrix(c,i)}function p8e(e,t,n){n=h.fromElements(1,1,1,n);let i=e.getProperty("SCALE",X.FLOAT,1,t);l(i)&&h.multiplyByScalar(n,i,n);let o=e.getProperty("SCALE_NON_UNIFORM",X.FLOAT,3,t,MW);l(o)&&(n.x*=o[0],n.y*=o[1],n.z*=o[2])}function _8e(e){let t=e._buffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}s_.prototype.isUnloaded=function(){return this._state===r_.UNLOADED};s_.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),_8e(this),this._components=void 0,this._arrayBuffer=void 0,this._state=r_.UNLOADED};var zR=s_;var g8e={STOPPED:0,ANIMATING:1},Xd=Object.freeze(g8e);function GA(){this.times=void 0,this.points=void 0,de.throwInstantiationError()}GA.getPointType=function(e){if(typeof e=="number")return Number;if(e instanceof h)return h;if(e instanceof Le)return Le};GA.prototype.evaluate=de.throwInstantiationError;GA.prototype.findTimeInterval=function(e,t){let n=this.times,i=n.length;if(t=y(t,0),e>=n[t]){if(t+1<i&&e<n[t+1])return t;if(t+2<i&&e<n[t+2])return t+1}else if(t-1>=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o<i-1&&!(e>=n[o]&&e<n[o+1]);++o);else for(o=t-1;o>=0&&!(e>=n[o]&&e<n[o+1]);--o);return o===i-1&&(o=i-2),o};GA.prototype.wrapTime=function(e){let t=this.times,n=t[t.length-1],i=t[0],o=n-i,r;return e<i&&(r=Math.floor((i-e)/o)+1,e+=r*o),e>n&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};GA.prototype.clampTime=function(e){let t=this.times;return P.clamp(e,t[0],t[t.length-1])};var ao=GA;function WA(e){this._value=e,this._valueType=ao.getPointType(e)}Object.defineProperties(WA.prototype,{value:{get:function(){return this._value}}});WA.prototype.findTimeInterval=function(e){};WA.prototype.wrapTime=function(e){return 0};WA.prototype.clampTime=function(e){return 0};WA.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var HR=WA;function jA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=ao.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(jA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});jA.prototype.findTimeInterval=ao.prototype.findTimeInterval;jA.prototype.wrapTime=ao.prototype.wrapTime;jA.prototype.clampTime=ao.prototype.clampTime;jA.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(l(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var xy=jA;var rae={};rae.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a<r.length;a++)r[a]=new h,s[a]=new h;o[0]=n[0]/t[0],r[0]=h.multiplyByScalar(i[0],1/t[0],r[0]);let c;for(a=1;a<o.length;++a)c=1/(t[a]-o[a-1]*e[a-1]),o[a]=n[a]*c,r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]);for(c=1/(t[a]-o[a-1]*e[a-1]),r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]),s[s.length-1]=r[r.length-1],a=s.length-2;a>=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var qA=rae;var sae=[],aae=[],cae=[],lae=[];function y8e(e,t,n){let i=sae,o=cae,r=aae,s=lae;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(l(c)||(c=s[0]=new h),h.clone(t,c),a=1;a<i.length-1;++a)i[a]=o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c);return i[a]=0,o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c),r[a+1]=1,c=s[a+1],l(c)||(c=s[a+1]=new h),h.clone(n,c),qA.solve(i,r,o,s)}function x8e(e){let t=sae,n=cae,i=aae,o=lae;t.length=n.length=e.length-1,i.length=o.length=e.length;let r;t[0]=n[0]=1,i[0]=2;let s=o[0];for(l(s)||(s=o[0]=new h),h.subtract(e[1],e[0],s),h.multiplyByScalar(s,3,s),r=1;r<t.length;++r)t[r]=n[r]=1,i[r]=4,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r+1],e[r-1],s),h.multiplyByScalar(s,3,s);return i[r]=2,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r],e[r-1],s),h.multiplyByScalar(s,3,s),qA.solve(t,i,n,o)}function Fl(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.inTangents,o=e.outTangents;this._times=n,this._points=t,this._pointType=ao.getPointType(t[0]),this._inTangents=i,this._outTangents=o,this._lastTimeIndex=0}Object.defineProperties(Fl.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}});Fl.createC1=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.tangents,o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new Fl({times:t,points:n,inTangents:r,outTangents:o})};Fl.createNaturalCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points;if(n.length<3)return new xy({points:n,times:t});let i=x8e(n),o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new Fl({times:t,points:n,inTangents:r,outTangents:o})};Fl.createClampedCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.firstTangent,o=e.lastTangent,r=ao.getPointType(n[0]);if(n.length<3)return new xy({points:n,times:t});let s=y8e(n,i,o),a=s.slice(0,s.length-1),c=s.slice(1,s.length);return new Fl({times:t,points:n,inTangents:c,outTangents:a})};Fl.hermiteCoefficientMatrix=new F(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0);Fl.prototype.findTimeInterval=ao.prototype.findTimeInterval;var b8e=new oe,YA=new h;Fl.prototype.wrapTime=ao.prototype.wrapTime;Fl.prototype.clampTime=ao.prototype.clampTime;Fl.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this.inTangents,r=this.outTangents;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let s=this._lastTimeIndex,a=i[s+1]-i[s],c=(e-i[s])/a,u=b8e;u.z=c,u.y=c*c,u.x=u.y*c,u.w=1;let f=F.multiplyByVector(Fl.hermiteCoefficientMatrix,u,u);f.z*=a,f.w*=a;let d=this._pointType;return d===Number?n[s]*f.x+n[s+1]*f.y+r[s]*f.z+o[s]*f.w:(l(t)||(t=new d),t=d.multiplyByScalar(n[s],f.x,t),d.multiplyByScalar(n[s+1],f.y,YA),d.add(t,YA,t),d.multiplyByScalar(r[s],f.z,YA),d.add(t,YA,t),d.multiplyByScalar(o[s],f.w,YA),d.add(t,YA,t))};var by=Fl;function XA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=ao.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(XA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});XA.prototype.findTimeInterval=ao.prototype.findTimeInterval;XA.prototype.wrapTime=ao.prototype.wrapTime;XA.prototype.clampTime=ao.prototype.clampTime;XA.prototype.evaluate=function(e,t){let n=this.points;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let i=this._lastTimeIndex,o=this._pointType;return o===Number?n[i]:(l(t)||(t=new o),o.clone(n[i],t))};var GR=XA;function T8e(e){let t=e.points,n=e.times;return function(i,o){l(o)||(o=new Le);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=t[r],c=t[r+1];return Le.fastSlerp(a,c,s,o)}}function KA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._evaluateFunction=T8e(this),this._lastTimeIndex=0}Object.defineProperties(KA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});KA.prototype.findTimeInterval=ao.prototype.findTimeInterval;KA.prototype.wrapTime=ao.prototype.wrapTime;KA.prototype.clampTime=ao.prototype.clampTime;KA.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var WR=KA;var ZA=Tn.AnimatedPropertyType;function LW(e){e=y(e,y.EMPTY_OBJECT);let t=e.channel,n=e.runtimeAnimation,i=e.runtimeNode;this._channel=t,this._runtimeAnimation=n,this._runtimeNode=i,this._splines=[],this._path=void 0,v8e(this)}Object.defineProperties(LW.prototype,{channel:{get:function(){return this._channel}},runtimeAnimation:{get:function(){return this._runtimeAnimation}},runtimeNode:{get:function(){return this._runtimeNode}},splines:{get:function(){return this._splines}}});function C8e(e,t){let n=[],i=[],o=[],r=t.length;for(let s=0;s<r;s+=3)i.push(t[s]),n.push(t[s+1]),o.push(t[s+2]);return i.splice(0,1),o.length=o.length-1,new by({times:e,points:n,inTangents:i,outTangents:o})}function uae(e,t,n,i){if(e.length===1&&t.length===1)return new HR(t[0]);switch(n){case jd.STEP:return new GR({times:e,points:t});case jd.CUBICSPLINE:return C8e(e,t);case jd.LINEAR:return i===ZA.ROTATION?new WR({times:e,points:t}):new xy({times:e,points:t})}}function A8e(e,t,n,i,o){let r=[];if(i===ZA.WEIGHTS){let a=t.length/o,c,u;for(c=0;c<o;c++){let f=new Array(a),d=c;if(n===jd.CUBICSPLINE)for(u=0;u<a;u+=3)f[u]=t[d],f[u+1]=t[d+o],f[u+2]=t[d+2*o],d+=o*3;else for(u=0;u<a;u++)f[u]=t[d],d+=o;r.push(uae(e,f,n,i))}}else r.push(uae(e,t,n,i));return r}var E8e=new h,S8e=new Le;function v8e(e){let t=e._channel,n=t.sampler,i=n.input,o=n.output,r=n.interpolation,a=t.target.path,c=e._runtimeNode,u=l(c.morphWeights)?c.morphWeights.length:1,f=A8e(i,o,r,a,u);e._splines=f,e._path=a}LW.prototype.animate=function(e){let t=this._splines,n=this._path,i=this._runtimeAnimation.model,o=this._runtimeNode;if(n===ZA.WEIGHTS){let r=o.morphWeights,s=r.length;for(let a=0;a<s;a++){let c=t[a],u=i.clampAnimations?c.clampTime(e):c.wrapTime(e);r[a]=c.evaluate(u)}}else{if(o.userAnimated)return;{let r=t[0],s=i.clampAnimations?r.clampTime(e):r.wrapTime(e);n===ZA.TRANSLATION||n===ZA.SCALE?o[n]=r.evaluate(s,E8e):n===ZA.ROTATION&&(o[n]=r.evaluate(s,S8e))}}};var jR=LW;function NW(e,t,n){this._animation=t,this._name=t.name,this._runtimeChannels=void 0,this._startTime=K.clone(n.startTime),this._delay=y(n.delay,0),this._stopTime=K.clone(n.stopTime),this.removeOnStop=y(n.removeOnStop,!1),this._multiplier=y(n.multiplier,1),this._reverse=y(n.reverse,!1),this._loop=y(n.loop,Nl.NONE),this._animationTime=n.animationTime,this._prevAnimationDelta=void 0,this.start=new me,this.update=new me,this.stop=new me,this._state=Xd.STOPPED,this._computedStartTime=void 0,this._duration=void 0;let i=this;this._raiseStartEvent=function(){i.start.raiseEvent(e,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(e,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(e,i)},this._model=e,this._localStartTime=void 0,this._localStopTime=void 0,w8e(this)}Object.defineProperties(NW.prototype,{animation:{get:function(){return this._animation}},name:{get:function(){return this._name}},runtimeChannels:{get:function(){return this._runtimeChannels}},model:{get:function(){return this._model}},localStartTime:{get:function(){return this._localStartTime}},localStopTime:{get:function(){return this._localStopTime}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}});function w8e(e){let t=Number.MAX_VALUE,n=-Number.MAX_VALUE,i=e._model.sceneGraph,r=e._animation.channels,s=r.length,a=[];for(let c=0;c<s;c++){let u=r[c],f=u.target;if(!l(f))continue;let d=f.node.index,p=i._runtimeNodes[d],g=new jR({channel:u,runtimeAnimation:e,runtimeNode:p}),m=u.sampler.input;t=Math.min(t,m[0]),n=Math.max(n,m[m.length-1]),a.push(g)}e._runtimeChannels=a,e._localStartTime=t,e._localStopTime=n}NW.prototype.animate=function(e){let t=this._runtimeChannels,n=t.length;for(let i=0;i<n;i++)t[i].animate(e)};var qR=NW;function a_(e){this.animationAdded=new me,this.animationRemoved=new me,this.animateWhilePaused=!1,this._model=e,this._runtimeAnimations=[],this._previousTime=void 0}Object.defineProperties(a_.prototype,{length:{get:function(){return this._runtimeAnimations.length}},model:{get:function(){return this._model}}});function FW(e,t,n){let i=e._model,o=new qR(i,t,n);return e._runtimeAnimations.push(o),e.animationAdded.raiseEvent(i,o),o}a_.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=e.index;if(l(i))return FW(this,n[i],e);let o=n.length;for(let r=0;r<o;++r)if(n[r].name===e.name){i=r;break}return FW(this,n[i],e)};a_.prototype.addAll=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=[],o=n.length;for(let r=0;r<o;++r){let s=FW(this,n[r],e);i.push(s)}return i};a_.prototype.remove=function(e){if(!l(e))return!1;let t=this._runtimeAnimations,n=t.indexOf(e);return n!==-1?(t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0):!1};a_.prototype.removeAll=function(){let e=this._model,t=this._runtimeAnimations,n=t.length;this._runtimeAnimations.length=0;for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])};a_.prototype.contains=function(e){return l(e)?this._runtimeAnimations.indexOf(e)!==-1:!1};a_.prototype.get=function(e){return this._runtimeAnimations[e]};var ez=[];function D8e(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}a_.prototype.update=function(e){let t=this._runtimeAnimations,n=t.length;if(n===0)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&K.equals(e.time,this._previousTime))return!1;this._previousTime=K.clone(e.time,this._previousTime);let i=!1,o=e.time,r=this._model;for(let s=0;s<n;++s){let a=t[s];l(a._computedStartTime)||(a._computedStartTime=K.addSeconds(y(a.startTime,o),a.delay,new K)),l(a._duration)||(a._duration=a.localStopTime*(1/a.multiplier));let c=a._computedStartTime,u=a._duration,f=a.stopTime,d=K.lessThanOrEquals(c,o),p=l(f)&&K.greaterThan(o,f),g=0;if(u!==0){let b=K.secondsDifference(p?f:o,c);g=l(a._animationTime)?a._animationTime(u,b):b/u}let m=a.loop===Nl.REPEAT||a.loop===Nl.MIRRORED_REPEAT,x=(d||m&&!l(a.startTime))&&(g<=1||m)&&!p;if(g===a._prevAnimationDelta){let b=a._state===Xd.STOPPED;if(x!==b)continue}if(a._prevAnimationDelta=g,x||a._state===Xd.ANIMATING){if(x&&a._state===Xd.STOPPED&&(a._state=Xd.ANIMATING,a.start.numberOfListeners>0&&e.afterRender.push(a._raiseStartEvent)),a.loop===Nl.REPEAT)g=g-Math.floor(g);else if(a.loop===Nl.MIRRORED_REPEAT){let T=Math.floor(g),A=g-T;g=T%2===1?1-A:A}a.reverse&&(g=1-g);let b=g*u*a.multiplier;b=P.clamp(b,a.localStartTime,a.localStopTime),a.animate(b),a.update.numberOfListeners>0&&(a._updateEventTime=b,e.afterRender.push(a._raiseUpdateEvent)),i=!0,x||(a._state=Xd.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&ez.push(a))}}n=ez.length;for(let s=0;s<n;++s){let a=ez[s];t.splice(t.indexOf(a),1),e.afterRender.push(D8e(this,r,a))}return ez.length=0,i};var YR=a_;function yb(e){this._model=e.model,this._featureTable=e.featureTable,this._featureId=e.featureId,this._color=void 0}Object.defineProperties(yb.prototype,{show:{get:function(){return this._featureTable.getShow(this._featureId)},set:function(e){this._featureTable.setShow(this._featureId,e)}},color:{get:function(){return l(this._color)||(this._color=new H),this._featureTable.getColor(this._featureId,this._color)},set:function(e){this._featureTable.setColor(this._featureId,e)}},primitive:{get:function(){return this._model}},featureTable:{get:function(){return this._featureTable}},featureId:{get:function(){return this._featureId}}});yb.prototype.hasProperty=function(e){return this._featureTable.hasProperty(this._featureId,e)};yb.prototype.getProperty=function(e){return this._featureTable.getProperty(this._featureId,e)};yb.prototype.getPropertyInherited=function(e){return this._featureTable.hasPropertyBySemantic(this._featureId,e)?this._featureTable.getPropertyBySemantic(this._featureId,e):this._featureTable.getProperty(this._featureId,e)};yb.prototype.getPropertyIds=function(e){return this._featureTable.getPropertyIds(e)};yb.prototype.setProperty=function(e,t){return this._featureTable.setProperty(this._featureId,e,t)};var XR=yb;var KR={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};KR.getStyleCommandsNeeded=function(e,t){return t===0?KR.ALL_OPAQUE:t===e?KR.ALL_TRANSLUCENT:KR.OPAQUE_AND_TRANSLUCENT};var Kd=Object.freeze(KR);var Ty={GLTF:"GLTF",TILE_GLTF:"TILE_GLTF",TILE_B3DM:"B3DM",TILE_I3DM:"I3DM",TILE_PNTS:"PNTS",TILE_GEOJSON:"TILE_GEOJSON"};Ty.is3DTiles=function(e){switch(e){case Ty.TILE_GLTF:case Ty.TILE_B3DM:case Ty.TILE_I3DM:case Ty.TILE_PNTS:case Ty.TILE_GEOJSON:return!0;case Ty.GLTF:return!1}};var lr=Object.freeze(Ty);function Vr(e){let t=e.model,n=e.propertyTable;this._propertyTable=n,this._model=t,this._features=void 0,this._featuresLength=0,this._batchTexture=void 0,this._styleCommandsNeededDirty=!1,this._styleCommandsNeeded=Kd.ALL_OPAQUE,I8e(this)}Object.defineProperties(Vr.prototype,{batchTexture:{get:function(){return this._batchTexture}},featuresLength:{get:function(){return this._featuresLength}},batchTextureByteLength:{get:function(){return l(this._batchTexture)?this._batchTexture.byteLength:0}},styleCommandsNeededDirty:{get:function(){return this._styleCommandsNeededDirty}}});function I8e(e){let t=e._model,n=lr.is3DTiles(t.type),i=e._propertyTable.count;if(i===0)return;let o,r=new Array(i);if(n){let s=t.content;for(o=0;o<i;o++)r[o]=new Ws(s,o)}else for(o=0;o<i;o++)r[o]=new XR({model:t,featureId:o,featureTable:e});e._features=r,e._featuresLength=i,e._batchTexture=new Yc({featuresLength:i,owner:e,statistics:n?t.content.tileset.statistics:void 0})}Vr.prototype.update=function(e){this._styleCommandsNeededDirty=!1,this._batchTexture.update(void 0,e);let t=Kd.getStyleCommandsNeeded(this._featuresLength,this._batchTexture.translucentFeaturesLength);this._styleCommandsNeeded!==t&&(this._styleCommandsNeededDirty=!0,this._styleCommandsNeeded=t)};Vr.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};Vr.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};Vr.prototype.getShow=function(e){return this._batchTexture.getShow(e)};Vr.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};Vr.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};Vr.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};Vr.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};Vr.prototype.getFeature=function(e){return this._features[e]};Vr.prototype.hasProperty=function(e,t){return this._propertyTable.hasProperty(e,t)};Vr.prototype.hasPropertyBySemantic=function(e,t){return this._propertyTable.hasPropertyBySemantic(e,t)};Vr.prototype.getProperty=function(e,t){return this._propertyTable.getProperty(e,t)};Vr.prototype.getPropertyBySemantic=function(e,t){return this._propertyTable.getPropertyBySemantic(e,t)};Vr.prototype.getPropertyIds=function(e){return this._propertyTable.getPropertyIds(e)};Vr.prototype.setProperty=function(e,t,n){return this._propertyTable.setProperty(e,t,n)};Vr.prototype.isClass=function(e,t){return this._propertyTable.isClass(e,t)};Vr.prototype.isExactClass=function(e,t){return this._propertyTable.isExactClass(e,t)};Vr.prototype.getExactClassName=function(e){return this._propertyTable.getExactClassName(e)};var P8e=new H;Vr.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(Yc.DEFAULT_COLOR_VALUE),this.setAllShow(Yc.DEFAULT_SHOW_VALUE);return}for(let t=0;t<this._featuresLength;t++){let n=this.getFeature(t),i=l(e.color)?y(e.color.evaluateColor(n,P8e),Yc.DEFAULT_COLOR_VALUE):Yc.DEFAULT_COLOR_VALUE,o=l(e.show)?y(e.show.evaluate(n),Yc.DEFAULT_SHOW_VALUE):Yc.DEFAULT_SHOW_VALUE;this.setColor(t,i),this.setShow(t,o)}};Vr.prototype.isDestroyed=function(){return!1};Vr.prototype.destroy=function(e){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var ZR=Vr;var fae={name:"TilesetPipelineStage"};fae.process=function(e,t,n){if(t.hasSkipLevelOfDetail(n)){e.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,pe.FRAGMENT);let r={u_polygonOffset:function(){return z.ZERO}};e.uniformMap=bt(r,e.uniformMap),e.hasSkipLevelOfDetail=!0}let i=e.renderStateOptions;i.stencilTest=Vt.setCesium3DTileBit(),i.stencilMask=Vt.CESIUM_3D_TILE_MASK};var $R=fae;var QR=`// robust iterative solution without trig functions -// https://github.com/0xfaded/ellipse_demo/issues/1 -// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse -// -// This version uses only a single iteration for best performance. For fog -// rendering, the difference is negligible. -vec2 nearestPointOnEllipseFast(vec2 pos, vec2 radii) { - vec2 p = abs(pos); - vec2 inverseRadii = 1.0 / radii; - vec2 evoluteScale = (radii.x * radii.x - radii.y * radii.y) * vec2(1.0, -1.0) * inverseRadii; + // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. + float rayPositionLength = primaryRayAtmosphereIntersect.start; + // (1) Outside the atmosphere: constant rayStepLength + // (2) Inside atmosphere: variable rayStepLength to compensate the rough rendering of the smaller number of ray steps + float totalRayLength = primaryRayAtmosphereIntersect.stop - rayPositionLength; + float rayStepLengthIncrease = w_inside_atmosphere * ((1.0 - w_stop_gt_lprl) * totalRayLength / (float(PRIMARY_STEPS * (PRIMARY_STEPS + 1)) / 2.0)); + float rayStepLength = max(1.0 - w_inside_atmosphere, w_stop_gt_lprl) * totalRayLength / max(7.0 * w_inside_atmosphere, float(PRIMARY_STEPS)); - // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) - // but store the cos and sin of t in a vec2 for efficiency. - // Initial guess: t = cos(pi/4) - vec2 tTrigs = vec2(0.70710678118); - vec2 v = radii * tTrigs; + vec3 rayleighAccumulation = vec3(0.0); + vec3 mieAccumulation = vec3(0.0); + vec2 opticalDepth = vec2(0.0); + vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); - // Find the evolute of the ellipse (center of curvature) at v. - vec2 evolute = evoluteScale * tTrigs * tTrigs * tTrigs; - // Find the (approximate) intersection of p - evolute with the ellipsoid. - vec2 q = normalize(p - evolute) * length(v - evolute); - // Update the estimate of t. - tTrigs = (q + evolute) * inverseRadii; - tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); - v = radii * tTrigs; + // Sample positions on the primary ray. + for (int i = 0; i < PRIMARY_STEPS_MAX; ++i) { - return v * sign(pos); -} + // The loop should be: for (int i = 0; i < PRIMARY_STEPS; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (i >= PRIMARY_STEPS) { + break; + } -vec3 computeEllipsoidPositionWC(vec3 positionMC) { - // Get the world-space position and project onto a meridian plane of - // the ellipsoid - vec3 positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; + // Calculate sample position along viewpoint ray. + vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); - vec2 positionEllipse = vec2(length(positionWC.xy), positionWC.z); - vec2 nearestPoint = nearestPointOnEllipseFast(positionEllipse, czm_ellipsoidRadii.xz); + // Calculate height of sample position above ellipsoid. + float sampleHeight = length(samplePosition) - atmosphereInnerRadius; - // Reconstruct a 3D point in world space - return vec3(nearestPoint.x * normalize(positionWC.xy), nearestPoint.y); -} + // Calculate and accumulate density of particles at the sample position. + vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; + opticalDepth += sampleDensity; -void applyFog(inout vec4 color, vec4 groundAtmosphereColor, vec3 lightDirection, float distanceToCamera) { + // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. + czm_ray lightRay = czm_ray(samplePosition, lightDirection); + czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); - vec3 fogColor = groundAtmosphereColor.rgb; + float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); + float lightPositionLength = 0.0; - // If there is dynamic lighting, apply that to the fog. - const float NONE = 0.0; - if (czm_atmosphereDynamicLighting != NONE) { - float darken = clamp(dot(normalize(czm_viewerPositionWC), lightDirection), czm_fogMinimumBrightness, 1.0); - fogColor *= darken; - } + vec2 lightOpticalDepth = vec2(0.0); - // Tonemap if HDR rendering is disabled - #ifndef HDR - fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); - fogColor.rgb = czm_inverseGamma(fogColor.rgb); - #endif + // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. + for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { - // Matches the constant in GlobeFS.glsl. This makes the fog falloff - // more gradual. - const float fogModifier = 0.15; - vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, fogModifier); - color = vec4(withFog, color.a); -} + // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (j >= LIGHT_STEPS) { + break; + } -void atmosphereStage(inout vec4 color, in ProcessedAttributes attributes) { - vec3 rayleighColor; - vec3 mieColor; - float opacity; + // Calculate sample position along light ray. + vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); - vec3 positionWC; - vec3 lightDirection; + // Calculate height of the light sample position above ellipsoid. + float lightHeight = length(lightPosition) - atmosphereInnerRadius; - // When the camera is in space, compute the position per-fragment for - // more accurate ground atmosphere. All other cases will use - // - // The if condition will be added in https://github.com/CesiumGS/cesium/issues/11717 - if (false) { - positionWC = computeEllipsoidPositionWC(attributes.positionMC); - lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); + // Calculate density of photons at the light sample position. + lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; - // The fog color is derived from the ground atmosphere color - czm_computeGroundAtmosphereScattering( - positionWC, - lightDirection, - rayleighColor, - mieColor, - opacity - ); - } else { - positionWC = attributes.positionWC; - lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); - rayleighColor = v_atmosphereRayleighColor; - mieColor = v_atmosphereMieColor; - opacity = v_atmosphereOpacity; - } + // Increment distance on light ray. + lightPositionLength += lightStepLength; + } - //color correct rayleigh and mie colors - const bool ignoreBlackPixels = true; - rayleighColor = czm_applyHSBShift(rayleighColor, czm_atmosphereHsbShift, ignoreBlackPixels); - mieColor = czm_applyHSBShift(mieColor, czm_atmosphereHsbShift, ignoreBlackPixels); + // Compute attenuation via the primary ray and the light ray. + vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); - vec4 groundAtmosphereColor = czm_computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + // Accumulate the scattering. + rayleighAccumulation += sampleDensity.x * attenuation; + mieAccumulation += sampleDensity.y * attenuation; - if (u_isInFog) { - float distanceToCamera = length(attributes.positionEC); - applyFog(color, groundAtmosphereColor, lightDirection, distanceToCamera); - } else { - // Ground atmosphere + // Increment distance on primary ray. + rayPositionLength += (rayStepLength += rayStepLengthIncrease); } -} -`;var JR=`void atmosphereStage(ProcessedAttributes attributes) { - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_positionWC, czm_atmosphereDynamicLighting); - czm_computeGroundAtmosphereScattering( - // This assumes the geometry stage came before this. - v_positionWC, - lightDirection, - v_atmosphereRayleighColor, - v_atmosphereMieColor, - v_atmosphereOpacity - ); -} -`;var dae={name:"AtmospherePipelineStage"};dae.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_ATMOSPHERE",void 0,pe.BOTH),i.addDefine("COMPUTE_POSITION_WC_ATMOSPHERE",void 0,pe.BOTH),i.addVarying("vec3","v_atmosphereRayleighColor"),i.addVarying("vec3","v_atmosphereMieColor"),i.addVarying("float","v_atmosphereOpacity"),i.addVertexLines([JR]),i.addFragmentLines([QR]),i.addUniform("bool","u_isInFog",pe.FRAGMENT),e.uniformMap.u_isInFog=function(){let o=h.distance(n.camera.positionWC,t.boundingSphere.center);return P.fog(o,n.fog.density)>P.EPSILON3}};var eO=dae;var tO=`/** - * Compute some metrics for a procedural sky lighting model - * - * @param {vec3} positionWC The position of the fragment in world coordinates. - * @param {vec3} reflectionWC A unit vector in the direction of the reflection, in world coordinates. - * @return {vec3} The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - */ -vec3 getProceduralSkyMetrics(vec3 positionWC, vec3 reflectionWC) -{ - // Figure out if the reflection vector hits the ellipsoid - float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / length(positionWC)); - float reflectionDotNadir = dot(reflectionWC, normalize(positionWC)); - float atmosphereHeight = 0.05; - float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir); - return vec3(horizonDotNadir, reflectionDotNadir, smoothstepHeight); -} + // Compute the scattering amount. + rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; + mieColor = u_atmosphereMieCoefficient * mieAccumulation; -/** - * Compute the diffuse irradiance for a procedural sky lighting model. - * - * @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - * @return {vec3} The computed diffuse irradiance. - */ -vec3 getProceduralDiffuseIrradiance(vec3 skyMetrics) -{ - vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); - float diffuseIrradianceFromEarth = (1.0 - skyMetrics.x) * (skyMetrics.y * 0.25 + 0.75) * skyMetrics.z; - float diffuseIrradianceFromSky = (1.0 - skyMetrics.z) * (1.0 - (skyMetrics.y * 0.25 + 0.25)); - return blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0); + // Compute the transmittance i.e. how much light is passing through the atmosphere. + opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); } -/** - * Compute the specular irradiance for a procedural sky lighting model. - * - * @param {vec3} reflectionWC The reflection vector in world coordinates. - * @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - * @param {float} roughness The roughness of the material. - * @return {vec3} The computed specular irradiance. - */ -vec3 getProceduralSpecularIrradiance(vec3 reflectionWC, vec3 skyMetrics, float roughness) -{ - // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. - reflectionWC.x = -reflectionWC.x; - reflectionWC = -normalize(czm_temeToPseudoFixed * reflectionWC); - reflectionWC.x = -reflectionWC.x; - - float inverseRoughness = 1.0 - roughness; - inverseRoughness *= inverseRoughness; - vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, reflectionWC).rgb * inverseRoughness; - - // Compute colors at different angles relative to the horizon - vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), skyMetrics.z); - vec3 nadirColor = belowHorizonColor * 0.5; - vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5); - vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, skyMetrics.y * inverseRoughness * 0.5 + 0.75); - vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, skyMetrics.z); - - // Compute blend zones - float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - skyMetrics.x); - float blendRegionOffset = roughness * -1.0; - float farAboveHorizon = clamp(skyMetrics.x - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999); - float aroundHorizon = clamp(skyMetrics.x + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999); - float farBelowHorizon = clamp(skyMetrics.x + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999); +vec4 computeAtmosphereColor( + vec3 positionWC, + vec3 lightDirection, + vec3 rayleighColor, + vec3 mieColor, + float opacity +) { + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - // Blend colors - float notDistantRough = (1.0 - skyMetrics.x * roughness * 0.8); - vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, skyMetrics.y) * notDistantRough); - specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, skyMetrics.y) * inverseRoughness); - specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, skyMetrics.y) * inverseRoughness); + float cosAngle = dot(cameraToPositionWCDirection, lightDirection); + float cosAngleSq = cosAngle * cosAngle; - return specularIrradiance; -} + float G = u_atmosphereMieAnisotropy; + float GSq = G * G; -#ifdef USE_SUN_LUMINANCE -float clampedDot(vec3 x, vec3 y) -{ - return clamp(dot(x, y), 0.001, 1.0); -} -/** - * Sun luminance following the "CIE Clear Sky Model" - * See page 40 of https://3dvar.com/Green2003Spherical.pdf - * - * @param {vec3} positionWC The position of the fragment in world coordinates. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. - * @return {float} The computed sun luminance. - */ -float getSunLuminance(vec3 positionWC, vec3 normalEC, vec3 lightDirectionEC) -{ - vec3 normalWC = normalize(czm_inverseViewRotation * normalEC); - vec3 lightDirectionWC = normalize(czm_inverseViewRotation * lightDirectionEC); - vec3 vWC = -normalize(positionWC); + // The Rayleigh phase function. + float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); + // The Mie phase function. + float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); + + // The final color is generated by combining the effects of the Rayleigh and Mie scattering. + vec3 rayleigh = rayleighPhase * rayleighColor; + vec3 mie = miePhase * mieColor; - // Angle between sun and zenith. - float LdotZenith = clampedDot(lightDirectionWC, vWC); - float S = acos(LdotZenith); - // Angle between zenith and current pixel - float NdotZenith = clampedDot(normalWC, vWC); - // Angle between sun and current pixel - float NdotL = clampedDot(normalEC, lightDirectionEC); - float gamma = acos(NdotL); + vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; - float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * NdotL * NdotL) * (1.0 - exp(-0.32 / NdotZenith))); - float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * LdotZenith * LdotZenith) * (1.0 - exp(-0.32)); - return model_luminanceAtZenith * (numerator / denominator); + return vec4(color, opacity); } -#endif +`;var CR=`uniform samplerCube u_radianceMap; -/** - * Compute the light contribution from a procedural sky model - * - * @param {vec3} positionEC The position of the fragment in eye coordinates. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. - * @param {czm_modelMaterial} The material properties. - * @return {vec3} The computed HDR color - */ - vec3 proceduralIBL( - vec3 positionEC, - vec3 normalEC, - vec3 lightDirectionEC, - czm_modelMaterial material -) { - vec3 viewDirectionEC = -normalize(positionEC); - vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0)); - vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirectionEC, normalEC)); - vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC); +in vec2 v_textureCoordinates; - float roughness = material.roughness; - vec3 f0 = material.specular; - vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness); - float NdotV = abs(dot(normalEC, viewDirectionEC)) + 0.001; - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y); - vec3 specularContribution = specularIrradiance * specularColor * model_iblFactor.y; - #ifdef USE_SPECULAR - specularContribution *= material.specularWeight; - #endif +const float twoSqrtPi = 2.0 * sqrt(czm_pi); - vec3 diffuseIrradiance = getProceduralDiffuseIrradiance(skyMetrics); - vec3 diffuseColor = material.diffuse; - vec3 diffuseContribution = diffuseIrradiance * diffuseColor * model_iblFactor.x; +// Coutesy of https://www.ppsloan.org/publications/StupidSH36.pdf +float computeShBasis(int index, vec3 s) { + if (index == 0) { // l = 0, m = 0 + return 1.0 / twoSqrtPi; + } + + if (index == 1) { // l = 1, m = -1 + return -sqrt(3.0) * s.y / twoSqrtPi; + } - vec3 iblColor = specularContribution + diffuseContribution; + if (index == 2) { // l = 1, m = 0 + return sqrt(3.0) * s.z / twoSqrtPi; + } - #ifdef USE_SUN_LUMINANCE - iblColor *= getSunLuminance(positionWC, normalEC, lightDirectionEC); - #endif + if (index == 3) { // l = 1, m = 1 + return -sqrt(3.0) * s.x / twoSqrtPi; + } + + if (index == 4) { // l = 2, m = -2 + return sqrt(15.0) * s.y * s.x / twoSqrtPi; + } + + if (index == 5) { // l = 2, m = -1 + return -sqrt(15.0) * s.y * s.z / twoSqrtPi; + } + + if (index == 6) { // l = 2, m = 0 + return sqrt(5.0) * (3.0 * s.z * s.z - 1.0) / 2.0 / twoSqrtPi; + } + + if (index == 7) { // l = 2, m = 1 + return -sqrt(15.0) * s.x * s.z / twoSqrtPi; + } - return iblColor; + if (index == 8) { // l = 2, m = 2 + return sqrt(15.0) * (s.x * s.x - s.y * s.y) / 2.0 / twoSqrtPi; + } + + return 0.0; } -#ifdef DIFFUSE_IBL -vec3 sampleDiffuseEnvironment(vec3 cubeDir) +float vdcRadicalInverse(int i) { - #ifdef CUSTOM_SPHERICAL_HARMONICS - return czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); - #else - return czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); - #endif + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) + { + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); + } + return value; } -#endif -#ifdef SPECULAR_IBL -vec3 sampleSpecularEnvironment(vec3 cubeDir, float roughness) +vec2 hammersley2D(int i, int N) { - #ifdef CUSTOM_SPECULAR_IBL - float lod = roughness * model_specularEnvironmentMapsMaximumLOD; - return czm_textureCube(model_specularEnvironmentMaps, cubeDir, lod).rgb; - #else - float lod = roughness * czm_specularEnvironmentMapsMaximumLOD; - return czm_textureCube(czm_specularEnvironmentMaps, cubeDir, lod).rgb; - #endif + return vec2(float(i) / float(N), vdcRadicalInverse(i)); } -vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness) -{ - // see https://bruop.github.io/ibl/ at Single Scattering Results - // Roughness dependent fresnel, from Fdez-Aguera - vec3 f90 = max(vec3(1.0 - roughness), f0); - vec3 F = fresnelSchlick2(f0, f90, NdotV); - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularSample = sampleSpecularEnvironment(cubeDir, roughness); +// Sample count is relatively low for the sake of performance, but should still be enough to capture directionality needed for third-order harmonics +const int samples = 256; +const float solidAngle = 1.0 / float(samples); - return specularSample * (F * brdfLut.x + brdfLut.y); -} -#endif +void main() { + // Get the current coefficient based on the uv + vec2 uv = v_textureCoordinates.xy * 3.0; + int coefficientIndex = int(floor(uv.y) * 3.0 + floor(uv.x)); -#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) -/** - * Compute the light contributions from environment maps and spherical harmonic coefficients. - * See Fdez-Aguera, https://www.jcgt.org/published/0008/01/03/paper.pdf, for explanation - * of the single- and multi-scattering terms. - * - * @param {vec3} viewDirectionEC Unit vector pointing from the fragment to the eye position. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {czm_modelMaterial} The material properties. - * @return {vec3} The computed HDR color. - */ -vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) { - vec3 f0 = material.specular; - float roughness = material.roughness; - float specularWeight = 1.0; - #ifdef USE_SPECULAR - specularWeight = material.specularWeight; - #endif - float NdotV = clamp(dot(normalEC, viewDirectionEC), 0.0, 1.0); + for (int i = 0; i < samples; ++i) { + vec2 xi = hammersley2D(i, samples); + float phi = czm_twoPi * xi.x; + float cosTheta = 1.0 - 2.0 * sqrt(1.0 - xi.y * xi.y); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 direction = normalize(vec3(sinTheta * cos(phi), cosTheta, sinTheta * sin(phi))); - // see https://bruop.github.io/ibl/ at Single Scattering Results - // Roughness dependent fresnel, from Fdez-Aguera - vec3 f90 = max(vec3(1.0 - roughness), f0); - vec3 singleScatterFresnel = fresnelSchlick2(f0, f90, NdotV); + // Generate the spherical harmonics basis from the direction + float Ylm = computeShBasis(coefficientIndex, direction); - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 FssEss = specularWeight * (singleScatterFresnel * brdfLut.x + brdfLut.y); + vec3 lookupDirection = -direction.xyz; + lookupDirection.z = -lookupDirection.z; - #ifdef DIFFUSE_IBL - vec3 normalMC = normalize(model_iblReferenceFrameMatrix * normalEC); - vec3 irradiance = sampleDiffuseEnvironment(normalMC); + vec4 color = czm_textureCube(u_radianceMap, lookupDirection, 0.0); - vec3 averageFresnel = f0 + (1.0 - f0) / 21.0; - float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y); - vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems); - vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse; - vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering); - #else - vec3 diffuseContribution = vec3(0.0); - #endif + // Use the relevant function for this coefficient + out_FragColor += Ylm * color * solidAngle * sinTheta; + } + +} +`;var AR=`precision highp float; - #ifdef USE_ANISOTROPY - // Bend normal to account for anisotropic distortion of specular reflection - vec3 anisotropyDirection = material.anisotropicB; - vec3 anisotropicTangent = cross(anisotropyDirection, viewDirectionEC); - vec3 anisotropicNormal = cross(anisotropicTangent, anisotropyDirection); - float bendFactor = 1.0 - material.anisotropyStrength * (1.0 - roughness); - float bendFactorPow4 = bendFactor * bendFactor * bendFactor * bendFactor; - vec3 bentNormal = normalize(mix(anisotropicNormal, normalEC, bendFactorPow4)); - vec3 reflectEC = reflect(-viewDirectionEC, bentNormal); - #else - vec3 reflectEC = reflect(-viewDirectionEC, normalEC); - #endif +in vec2 v_textureCoordinates; - #ifdef SPECULAR_IBL - vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC); - vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness); - vec3 specularContribution = radiance * FssEss; - #else - vec3 specularContribution = vec3(0.0); - #endif +uniform vec3 u_faceDirection; // Current cubemap face +uniform vec3 u_positionWC; +uniform mat4 u_enuToFixedFrame; +uniform vec4 u_brightnessSaturationGammaIntensity; +uniform vec4 u_groundColor; // alpha component represent albedo - return diffuseContribution + specularContribution; -} -#endif -`;var hae={name:"ImageBasedLightingPipelineStage"};hae.process=function(e,t,n){let i=t.imageBasedLighting,o=e.shaderBuilder;o.addDefine("USE_IBL_LIGHTING",void 0,pe.FRAGMENT),o.addUniform("vec2","model_iblFactor",pe.FRAGMENT),Fd.isSupported(n.context)&&((i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled)&&o.addUniform("mat3","model_iblReferenceFrameMatrix",pe.FRAGMENT),l(i.sphericalHarmonicCoefficients)?(o.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),o.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,pe.FRAGMENT),o.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",pe.FRAGMENT)):i.useDefaultSphericalHarmonics&&o.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),l(i.specularEnvironmentCubeMap)&&i.specularEnvironmentCubeMap.ready?(o.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT),o.addDefine("CUSTOM_SPECULAR_IBL",void 0,pe.FRAGMENT),o.addUniform("samplerCube","model_specularEnvironmentMaps",pe.FRAGMENT),o.addUniform("float","model_specularEnvironmentMapsMaximumLOD",pe.FRAGMENT)):t.useDefaultSpecularMaps&&o.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT)),l(i.luminanceAtZenith)&&(o.addDefine("USE_SUN_LUMINANCE",void 0,pe.FRAGMENT),o.addUniform("float","model_luminanceAtZenith",pe.FRAGMENT)),o.addFragmentLines(tO);let r={model_iblFactor:function(){return i.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return i.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return i.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return i.specularEnvironmentCubeMap.texture},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentCubeMap.maximumMipmapLevel}};e.uniformMap=bt(r,e.uniformMap)};var nO=hae;var R8e=P.EPSILON16;function kW(e){e=y(e,y.EMPTY_OBJECT);let t=e.stage,n=e.runtimeArticulation;this._stage=t,this._runtimeArticulation=n,this._name=t.name,this._type=t.type,this._minimumValue=t.minimumValue,this._maximumValue=t.maximumValue,this._currentValue=t.initialValue}Object.defineProperties(kW.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(e){e=P.clamp(e,this.minimumValue,this.maximumValue),P.equalsEpsilon(this._currentValue,e,R8e)||(this._currentValue=e,this.runtimeArticulation._dirty=!0)}}});var O8e=new h,BW=new $;kW.prototype.applyStageToMatrix=function(e){let t=this.type,n=this.currentValue,i=O8e,o;switch(t){case mc.XROTATE:o=$.fromRotationX(P.toRadians(n),BW),e=F.multiplyByMatrix3(e,o,e);break;case mc.YROTATE:o=$.fromRotationY(P.toRadians(n),BW),e=F.multiplyByMatrix3(e,o,e);break;case mc.ZROTATE:o=$.fromRotationZ(P.toRadians(n),BW),e=F.multiplyByMatrix3(e,o,e);break;case mc.XTRANSLATE:i.x=n,i.y=0,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case mc.YTRANSLATE:i.x=0,i.y=n,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case mc.ZTRANSLATE:i.x=0,i.y=0,i.z=n,e=F.multiplyByTranslation(e,i,e);break;case mc.XSCALE:i.x=n,i.y=1,i.z=1,e=F.multiplyByScale(e,i,e);break;case mc.YSCALE:i.x=1,i.y=n,i.z=1,e=F.multiplyByScale(e,i,e);break;case mc.ZSCALE:i.x=1,i.y=1,i.z=n,e=F.multiplyByScale(e,i,e);break;case mc.UNIFORMSCALE:e=F.multiplyByUniformScale(e,n,e);break;default:break}return e};var iO=kW;function tz(e){e=y(e,y.EMPTY_OBJECT);let t=e.articulation,n=e.sceneGraph;this._articulation=t,this._sceneGraph=n,this._name=t.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,M8e(this)}Object.defineProperties(tz.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function M8e(e){let n=e.articulation.stages,i=n.length,o=e._runtimeStages,r=e._runtimeStagesByName;for(let s=0;s<i;s++){let a=n[s],c=new iO({stage:a,runtimeArticulation:e});o.push(c);let u=a.name;r[u]=c}}tz.prototype.setArticulationStage=function(e,t){let n=this._runtimeStagesByName[e];l(n)&&(n.currentValue=t)};var L8e=new F,N8e=new F;tz.prototype.apply=function(){if(!this._dirty)return;this._dirty=!1;let e=F.clone(F.IDENTITY,L8e),t,n=this._runtimeStages,i=n.length;for(t=0;t<i;t++)e=n[t].applyStageToMatrix(e);let o=this._runtimeNodes,r=o.length;for(t=0;t<r;t++){let s=o[t],a=F.multiplyTransformation(s.originalTransform,e,N8e);s.transform=a}};var oO=tz;var rO=`void modelColorStage(inout czm_modelMaterial material) -{ - material.diffuse = mix(material.diffuse, model_color.rgb, model_colorBlend); - float highlight = ceil(model_colorBlend); - material.diffuse *= mix(model_color.rgb, vec3(1.0), highlight); - material.alpha *= model_color.a; -} -`;var $A={name:"ModelColorPipelineStage",COLOR_UNIFORM_NAME:"model_color",COLOR_BLEND_UNIFORM_NAME:"model_colorBlend"};$A.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_COLOR",void 0,pe.FRAGMENT),i.addFragmentLines(rO);let o={},r=t.color;r.alpha===0&&!t.hasSilhouette(n)&&(e.renderStateOptions.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),r.alpha<1&&(e.alphaOptions.pass=Se.TRANSLUCENT),i.addUniform("vec4",$A.COLOR_UNIFORM_NAME,pe.FRAGMENT),o[$A.COLOR_UNIFORM_NAME]=function(){return t.color},i.addUniform("float",$A.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),o[$A.COLOR_BLEND_UNIFORM_NAME]=function(){return hc.getColorBlend(t.colorBlendMode,t.colorBlendAmount)},e.uniformMap=bt(o,e.uniformMap)};var Cy=$A;var sO=`#ifdef USE_CLIPPING_PLANES_FLOAT_TEXTURE -vec4 getClippingPlane( - highp sampler2D packedClippingPlanes, - int clippingPlaneNumber, - mat4 transform -) { - int pixY = clippingPlaneNumber / CLIPPING_PLANES_TEXTURE_WIDTH; - int pixX = clippingPlaneNumber - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); - float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel - float v = (float(pixY) + 0.5) * pixelHeight; - vec4 plane = texture(packedClippingPlanes, vec2(u, v)); - return czm_transformPlane(plane, transform); -} -#else -// Handle uint8 clipping texture instead -vec4 getClippingPlane( - highp sampler2D packedClippingPlanes, - int clippingPlaneNumber, - mat4 transform -) { - int clippingPlaneStartIndex = clippingPlaneNumber * 2; // clipping planes are two pixels each - int pixY = clippingPlaneStartIndex / CLIPPING_PLANES_TEXTURE_WIDTH; - int pixX = clippingPlaneStartIndex - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); - float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel - float v = (float(pixY) + 0.5) * pixelHeight; - vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; - vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); - vec4 plane; - plane.xyz = czm_octDecode(oct, 65535.0); - plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + pixelWidth, v))); - return czm_transformPlane(plane, transform); +vec4 getCubeMapDirection(vec2 uv, vec3 faceDir) { + vec2 scaledUV = uv * 2.0 - 1.0; + + if (faceDir.x != 0.0) { + return vec4(faceDir.x, scaledUV.x * faceDir.x, -scaledUV.y, 0.0); + } else if (faceDir.y != 0.0) { + return vec4(scaledUV.x, -scaledUV.y * faceDir.y, faceDir.y, 0.0); + } else { + return vec4(scaledUV.x * faceDir.z, -faceDir.z, -scaledUV.y, 0.0); + } } -#endif -float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) { - vec4 position = czm_windowToEyeCoordinates(fragCoord); - vec3 clipNormal = vec3(0.0); - vec3 clipPosition = vec3(0.0); - float pixelWidth = czm_metersPerPixel(position); - - #ifdef UNION_CLIPPING_REGIONS - float clipAmount; // For union planes, we want to get the min distance. So we set the initial value to the first plane distance in the loop below. - #else - float clipAmount = 0.0; - bool clipped = true; - #endif +void main() { + float height = length(u_positionWC); + float atmosphereInnerRadius = u_radiiAndDynamicAtmosphereColor.y; + float ellipsoidHeight = max(height - atmosphereInnerRadius, 0.0); - for (int i = 0; i < CLIPPING_PLANES_LENGTH; ++i) { - vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); - clipNormal = clippingPlane.xyz; - clipPosition = -clippingPlane.w * clipNormal; - float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; - - #ifdef UNION_CLIPPING_REGIONS - clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); - if (amount <= 0.0) { - discard; - } - #else - clipAmount = max(amount, clipAmount); - clipped = clipped && (amount <= 0.0); - #endif - } + // Scale the position to ensure the sky color is present, even when underground. + vec3 positionWC = u_positionWC / height * (ellipsoidHeight + atmosphereInnerRadius); - #ifndef UNION_CLIPPING_REGIONS - if (clipped) { - discard; + float atmosphereOuterRadius = u_radiiAndDynamicAtmosphereColor.x; + float atmosphereHeight = atmosphereOuterRadius - atmosphereInnerRadius; + + vec3 direction = (u_enuToFixedFrame * getCubeMapDirection(v_textureCoordinates, u_faceDirection)).xyz; + vec3 normalizedDirection = normalize(direction); + + czm_ray ray = czm_ray(positionWC, normalizedDirection); + czm_raySegment intersection = czm_raySphereIntersectionInterval(ray, vec3(0.0), atmosphereInnerRadius); + if (!czm_isEmpty(intersection)) { + intersection = czm_rayEllipsoidIntersectionInterval(ray, vec3(0.0), czm_ellipsoidInverseRadii); } - #endif - - return clipAmount; -} -void modelClippingPlanesStage(inout vec4 color) -{ - float clipDistance = clip(gl_FragCoord, model_clippingPlanes, model_clippingPlanesMatrix); - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = model_clippingPlanesEdgeStyle.rgb; - float clippingPlanesEdgeWidth = model_clippingPlanesEdgeStyle.a; - - if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) { - color = clippingPlanesEdgeColor; - } -} -`;var mae={name:"ModelClippingPlanesPipelineStage"},F8e=new z;mae.process=function(e,t,n){let i=t.clippingPlanes,o=n.context,r=e.shaderBuilder;r.addDefine("HAS_CLIPPING_PLANES",void 0,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_LENGTH",i.length,pe.FRAGMENT),i.unionClippingRegions&&r.addDefine("UNION_CLIPPING_REGIONS",void 0,pe.FRAGMENT),ps.useFloatTexture(o)&&r.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,pe.FRAGMENT);let s=ps.getTextureResolution(i,o,F8e);r.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",s.x,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",s.y,pe.FRAGMENT),r.addUniform("sampler2D","model_clippingPlanes",pe.FRAGMENT),r.addUniform("vec4","model_clippingPlanesEdgeStyle",pe.FRAGMENT),r.addUniform("mat4","model_clippingPlanesMatrix",pe.FRAGMENT),r.addFragmentLines(sO);let a={model_clippingPlanes:function(){return i.texture},model_clippingPlanesEdgeStyle:function(){let c=H.clone(i.edgeColor);return c.alpha=i.edgeWidth,c},model_clippingPlanesMatrix:function(){return t._clippingPlanesMatrix}};e.uniformMap=bt(a,e.uniformMap)};var aO=mae;var cO=`void modelClippingPolygonsStage(ProcessedAttributes attributes) -{ - vec2 sphericalLatLong = czm_approximateSphericalCoordinates(v_positionWC); - sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); + bool onEllipsoid = intersection.start >= 0.0; + float rayLength = czm_branchFreeTernary(onEllipsoid, intersection.start, atmosphereOuterRadius); - vec2 minDistance = vec2(czm_infinity); - v_regionIndex = -1; - v_clippingPosition = vec2(czm_infinity); + // Compute sky color for each position on a sphere at radius centered around the provided position's origin + vec3 skyPositionWC = positionWC + normalizedDirection * rayLength; - for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { - vec4 extents = czm_unpackClippingExtents(model_clippingExtents, regionIndex); - vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirectionWC = normalize(czm_getDynamicAtmosphereLightDirection(skyPositionWC, lightEnum)); + vec3 mieColor; + vec3 rayleighColor; + float opacity; + czm_computeScattering( + ray, + rayLength, + lightDirectionWC, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); - vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); - vec2 distance = abs(rectUv - clamped) * extents.wz; - - if (minDistance.x > distance.x || minDistance.y > distance.y) { - minDistance = distance; - v_clippingPosition = rectUv; - } + vec4 atmopshereColor = czm_computeAtmosphereColor(ray, lightDirectionWC, rayleighColor, mieColor, opacity); - float threshold = 0.01; - if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { - v_regionIndex = regionIndex; - } - } -} -`;var lO=`void modelClippingPolygonsStage() -{ - vec2 clippingPosition = v_clippingPosition; - int regionIndex = v_regionIndex; - czm_clipPolygons(model_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); -} -`;var pae={name:"ModelClippingPolygonsPipelineStage"};pae.process=function(e,t,n){let i=t.clippingPolygons,o=e.shaderBuilder;o.addDefine("ENABLE_CLIPPING_POLYGONS",void 0,pe.BOTH),i.inverse&&o.addDefine("CLIPPING_INVERSE",void 0,pe.FRAGMENT),o.addDefine("CLIPPING_POLYGON_REGIONS_LENGTH",i.extentsCount,pe.BOTH),o.addUniform("sampler2D","model_clippingDistance",pe.FRAGMENT),o.addUniform("sampler2D","model_clippingExtents",pe.VERTEX),o.addVarying("vec2","v_clippingPosition"),o.addVarying("int","v_regionIndex","flat"),o.addVertexLines(cO),o.addFragmentLines(lO);let r={model_clippingDistance:function(){return i.clippingTexture},model_clippingExtents:function(){return i.extentsTexture}};e.uniformMap=bt(r,e.uniformMap)};var uO=pae;function _ae(e,t){this._model=e,this._runtimeNode=t}Object.defineProperties(_ae.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(e){this._runtimeNode.show=e}},matrix:{get:function(){return this._runtimeNode.transform},set:function(e){l(e)?(this._runtimeNode.transform=e,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var fO=_ae;var dO=`mat4 getInstancingTransform() -{ - mat4 instancingTransform; +#ifdef ATMOSPHERE_COLOR_CORRECT + const bool ignoreBlackPixels = true; + atmopshereColor.rgb = czm_applyHSBShift(atmopshereColor.rgb, czm_atmosphereHsbShift, ignoreBlackPixels); +#endif - #ifdef HAS_INSTANCE_MATRICES - instancingTransform = mat4( - a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1 - a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2 - a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3 - a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4 - ); - #else - vec3 translation = vec3(0.0, 0.0, 0.0); - vec3 scale = vec3(1.0, 1.0, 1.0); - - #ifdef HAS_INSTANCE_TRANSLATION - translation = a_instanceTranslation; - #endif - #ifdef HAS_INSTANCE_SCALE - scale = a_instanceScale; - #endif + vec3 lookupDirection = -normalizedDirection; + // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. + lookupDirection.x = -lookupDirection.x; + lookupDirection = -normalize(czm_temeToPseudoFixed * lookupDirection); + lookupDirection.x = -lookupDirection.x; - instancingTransform = mat4( - scale.x, 0.0, 0.0, 0.0, - 0.0, scale.y, 0.0, 0.0, - 0.0, 0.0, scale.z, 0.0, - translation.x, translation.y, translation.z, 1.0 - ); - #endif + // Values outside the atmopshere are rendered as black, when they should be treated as transparent + float skyAlpha = clamp((1.0 - ellipsoidHeight / atmosphereHeight) * atmopshereColor.a, 0.0, 1.0); + skyAlpha = czm_branchFreeTernary(length(atmopshereColor.rgb) <= czm_epsilon7, 0.0, skyAlpha); // Treat black as transparent - return instancingTransform; -} + // Blend starmap with atmopshere scattering + float intensity = u_brightnessSaturationGammaIntensity.w; + vec4 sceneSkyBoxColor = czm_textureCube(czm_environmentMap, lookupDirection); + vec3 skyBackgroundColor = mix(czm_backgroundColor.rgb, sceneSkyBoxColor.rgb, sceneSkyBoxColor.a); + vec4 combinedSkyColor = vec4(mix(skyBackgroundColor, atmopshereColor.rgb * intensity, skyAlpha), 1.0); -#ifdef USE_2D_INSTANCING -mat4 getInstancingTransform2D() -{ - mat4 instancingTransform2D; + // Compute ground color based on amount of reflected light, then blend it with ground atmosphere based on height + vec3 up = normalize(positionWC); + float occlusion = max(dot(lightDirectionWC, up), 0.05); + vec4 groundColor = vec4(u_groundColor.rgb * u_groundColor.a * (vec3(intensity * occlusion) + atmopshereColor.rgb), 1.0); + vec4 blendedGroundColor = mix(groundColor, atmopshereColor, clamp(ellipsoidHeight / atmosphereHeight, 0.0, 1.0)); - #ifdef HAS_INSTANCE_MATRICES - instancingTransform2D = mat4( - a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0, // Column 1 - a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0, // Column 2 - a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0, // Column 3 - a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0 // Column 4 - ); - #else - vec3 translation2D = vec3(0.0, 0.0, 0.0); - vec3 scale = vec3(1.0, 1.0, 1.0); - - #ifdef HAS_INSTANCE_TRANSLATION - translation2D = a_instanceTranslation2D; - #endif - #ifdef HAS_INSTANCE_SCALE - scale = a_instanceScale; - #endif + vec4 color = czm_branchFreeTernary(onEllipsoid, blendedGroundColor, combinedSkyColor); - instancingTransform2D = mat4( - scale.x, 0.0, 0.0, 0.0, - 0.0, scale.y, 0.0, 0.0, - 0.0, 0.0, scale.z, 0.0, - translation2D.x, translation2D.y, translation2D.z, 1.0 - ); - #endif + float brightness = u_brightnessSaturationGammaIntensity.x; + float saturation = u_brightnessSaturationGammaIntensity.y; + float gamma = u_brightnessSaturationGammaIntensity.z; - return instancingTransform2D; -} +#ifdef ENVIRONMENT_COLOR_CORRECT + color.rgb = mix(vec3(0.0), color.rgb, brightness); + color.rgb = czm_saturation(color.rgb, saturation); #endif -`;var hO=`void instancingStage(inout ProcessedAttributes attributes) -{ - vec3 positionMC = attributes.positionMC; - - mat4 instancingTransform = getInstancingTransform(); - - attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz; - - #ifdef HAS_NORMALS - vec3 normalMC = attributes.normalMC; - attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz; - #endif + color.rgb = pow(color.rgb, vec3(gamma)); // Normally this would be in the ifdef above, but there is a precision issue with the atmopshere scattering transmittance (alpha). Having this line is a workaround for that issue, even when gamma is 1.0. + color.rgb = czm_gammaCorrect(color.rgb); - #ifdef USE_2D_INSTANCING - mat4 instancingTransform2D = getInstancingTransform2D(); - attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; - #endif + out_FragColor = color; } -`;var mO=`void legacyInstancingStage( - inout ProcessedAttributes attributes, - out mat4 instanceModelView, - out mat3 instanceModelViewInverseTranspose) -{ - vec3 positionMC = attributes.positionMC; +`;var ER=`precision highp float; - mat4 instancingTransform = getInstancingTransform(); - - mat4 instanceModel = instancingTransform * u_instance_nodeTransform; - instanceModelView = u_instance_modifiedModelView; - instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel); +in vec3 v_textureCoordinates; - attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz; - - #ifdef USE_2D_INSTANCING - mat4 instancingTransform2D = getInstancingTransform2D(); - attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; - #endif -} -`;var nz=new F,B8e=new F,k8e=new F,yae={name:"InstancingPipelineStage",_getInstanceTransformsAsMatrices:Aae,_transformsToTypedArray:UW};yae.process=function(e,t,n){let i=t.instances,o=i.attributes[0].count,r=e.shaderBuilder;r.addDefine("HAS_INSTANCING"),r.addVertexLines(dO);let s=e.model,a=s.sceneGraph,c=e.runtimeNode,u=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&s._projectTo2D,f=s._enablePick&&!n.context.webgl2,d=[];J8e(e,n,i,d,u,f),nGe(e,n,i,d);let p={};if(i.transformInWorldSpace?(r.addDefine("USE_LEGACY_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_instance_modifiedModelView",pe.VERTEX),r.addUniform("mat4","u_instance_nodeTransform",pe.VERTEX),p.u_instance_modifiedModelView=function(){let g=F.multiplyTransformation(s.modelMatrix,a.components.transform,nz);return u?F.multiplyTransformation(n.context.uniformState.view3D,g,nz):(n.mode!==ne.SCENE3D&&(g=Lt.basisTo2D(n.mapProjection,g,nz)),F.multiplyTransformation(n.context.uniformState.view,g,nz))},p.u_instance_nodeTransform=function(){return F.multiplyTransformation(a.axisCorrectionMatrix,c.computedTransform,B8e)},r.addVertexLines(mO)):r.addVertexLines(hO),u){r.addDefine("USE_2D_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_modelView2D",pe.VERTEX);let g=n.context,m=F.fromTranslation(c.instancingReferencePoint2D,new F);p.u_modelView2D=function(){return F.multiplyTransformation(g.uniformState.view,m,k8e)}}e.uniformMap=bt(p,e.uniformMap),e.instanceCount=o,e.attributes.push.apply(e.attributes,d)};var pO=new F,V8e=new h;function U8e(e,t,n,i,o){let r=F.multiplyTransformation(t,e,pO);return r=F.multiplyTransformation(r,n,pO),o=Lt.basisTo2D(i.mapProjection,r,o),o}function z8e(e,t,n,i,o){let r=F.fromTranslation(e,pO),s=F.multiplyTransformation(t,r,pO);s=F.multiplyTransformation(s,n,pO);let a=F.getTranslation(s,V8e);return o=Gi.computeActualEllipsoidPosition(i,a,o),o}function xae(e,t,n){let i=e.model,o=i.sceneGraph;e.runtimeNode.node.instances.transformInWorldSpace?(t=F.multiplyTransformation(i.modelMatrix,o.components.transform,t),n=F.multiplyTransformation(o.axisCorrectionMatrix,e.runtimeNode.computedTransform,n)):(t=F.clone(o.computedModelMatrix,t),t=F.multiplyTransformation(t,e.runtimeNode.computedTransform,t),n=F.clone(F.IDENTITY,n))}var bae=new F,Tae=new F,H8e=new F,G8e=new h;function W8e(e,t,n,i){let o=bae,r=Tae;xae(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=U8e(f,o,r,n,H8e),p=F.getTranslation(d,G8e),g=h.subtract(p,a,p);i[u]=F.setTranslation(d,g,i[u])}return i}function j8e(e,t,n,i){let o=bae,r=Tae;xae(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=z8e(f,o,r,n,f);i[u]=h.subtract(d,a,i[u])}return i}var q8e=new h,Y8e=new h;function Cae(e,t){let n=e.runtimeNode,i=e.model.sceneGraph.computedModelMatrix,o=F.multiplyByPoint(i,n.instancingTranslationMin,q8e),r=Gi.computeActualEllipsoidPosition(t,o,o),s=F.multiplyByPoint(i,n.instancingTranslationMax,Y8e),a=Gi.computeActualEllipsoidPosition(t,s,s);n.instancingReferencePoint2D=h.lerp(r,a,.5,new h)}function UW(e){let n=e.length,i=new Float32Array(n*12);for(let o=0;o<n;o++){let r=e[o],s=12*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8],i[s+3]=r[12],i[s+4]=r[1],i[s+5]=r[5],i[s+6]=r[9],i[s+7]=r[13],i[s+8]=r[2],i[s+9]=r[6],i[s+10]=r[10],i[s+11]=r[14]}return i}function X8e(e){let n=e.length,i=new Float32Array(n*3);for(let o=0;o<n;o++){let r=e[o],s=3*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8]}return i}var K8e=new h,Z8e=new Le,$8e=new h;function Aae(e,t,n){let i=new Array(t),o=Xt.getAttributeBySemantic(e,ts.TRANSLATION),r=Xt.getAttributeBySemantic(e,ts.ROTATION),s=Xt.getAttributeBySemantic(e,ts.SCALE),a=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),c=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),u=l(o),f=l(r),d=l(s),p=u?o.typedArray:new Float32Array(t*3),g=f?r.typedArray:new Float32Array(t*4);f&&r.normalized&&(g=Fn.dequantize(g,r.componentDatatype,r.type,t));let m;d?m=s.typedArray:(m=new Float32Array(t*3),m.fill(1));for(let b=0;b<t;b++){let T=new h(p[b*3],p[b*3+1],p[b*3+2],K8e);h.maximumByComponent(a,T,a),h.minimumByComponent(c,T,c);let A=new Le(g[b*4],g[b*4+1],g[b*4+2],f?g[b*4+3]:1,Z8e),C=new h(m[b*3],m[b*3+1],m[b*3+2],$8e),E=F.fromTranslationQuaternionRotationScale(T,A,C,new F);i[b]=E}let x=n.runtimeNode;return x.instancingTranslationMin=c,x.instancingTranslationMax=a,u&&(o.typedArray=void 0),f&&(r.typedArray=void 0),d&&(s.typedArray=void 0),i}function Q8e(e,t,n){let i=new Array(t),o=e.typedArray,r=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let c=0;c<t;c++){let u=new h(o[c*3],o[c*3+1],o[c*3+2]);i[c]=u,h.minimumByComponent(r,u,r),h.maximumByComponent(s,u,s)}let a=n.runtimeNode;return a.instancingTranslationMin=r,a.instancingTranslationMax=s,e.typedArray=void 0,i}function zW(e,t){let n=pt.createVertexBuffer({context:t.context,typedArray:e,usage:ke.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}function J8e(e,t,n,i,o,r){let s=Xt.getAttributeBySemantic(n,ts.ROTATION);l(s)?eGe(e,n,i,t,o,r):tGe(e,n,i,t,o)}function eGe(e,t,n,i,o,r){let s=e.shaderBuilder,a=t.attributes[0].count,c=e.model,u=e.runtimeNode;s.addDefine("HAS_INSTANCE_MATRICES");let f="Transform",d,p=u.instancingTransformsBuffer;if(!l(p)){d=Aae(t,a,e);let b=UW(d);p=zW(b,i),c._modelResources.push(p),r&&(u.transformsTypedArray=b),u.instancingTransformsBuffer=p}if(gae(e,p,n,f),!o)return;let g=He(i);g.mode=ne.COLUMBUS_VIEW,Cae(e,g);let m=u.instancingTransformsBuffer2D;if(!l(m)){let b=W8e(d,e,g,d),T=UW(b);m=zW(T,i),c._modelResources.push(m),u.instancingTransformsBuffer2D=m}gae(e,m,n,"Transform2D")}function tGe(e,t,n,i,o,r){let s=e.shaderBuilder,a=e.runtimeNode,c=Xt.getAttributeBySemantic(t,ts.TRANSLATION),u=Xt.getAttributeBySemantic(t,ts.SCALE);if(l(u)&&(s.addDefine("HAS_INSTANCE_SCALE"),VW(e,u.buffer,u.byteOffset,u.byteStride,n,"Scale")),!l(c))return;let f,d=c.typedArray;if(l(d)?f=Q8e(c,c.count,e):l(a.instancingTranslationMin)||(a.instancingTranslationMin=c.min,a.instancingTranslationMax=c.max),s.addDefine("HAS_INSTANCE_TRANSLATION"),VW(e,c.buffer,c.byteOffset,c.byteStride,n,"Translation"),!o&&!r)return;let g=He(i);g.mode=ne.COLUMBUS_VIEW,Cae(e,g);let m=a.instancingTranslationBuffer2D;if(!l(m)){let A=j8e(f,e,g,f),C=X8e(A);r&&(a.transformsTypedArray=C),m=zW(C,i),e.model._modelResources.push(m),a.instancingTranslationBuffer2D=m}if(!o)return;VW(e,m,0,void 0,n,"Translation2D")}function gae(e,t,n,i){let r=X.getSizeInBytes(X.FLOAT),s=r*12,a=[{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*4,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*8,strideInBytes:s,instanceDivisor:1}],c=e.shaderBuilder;c.addAttribute("vec4",`a_instancing${i}Row0`),c.addAttribute("vec4",`a_instancing${i}Row1`),c.addAttribute("vec4",`a_instancing${i}Row2`),n.push.apply(n,a)}function VW(e,t,n,i,o,r){o.push({index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:3,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:n,strideInBytes:i,instanceDivisor:1}),e.shaderBuilder.addAttribute("vec3",`a_instance${r}`)}function nGe(e,t,n,i){let o=n.attributes,r=e.shaderBuilder;for(let s=0;s<o.length;s++){let a=o[s];a.semantic===ts.FEATURE_ID&&(a.setIndex>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:sn.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}var _O=yae;var HW={};HW.name="ModelMatrixUpdateStage";HW.update=function(e,t,n){let i=n.mode!==ne.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;Eae(e,t,o,e.transformToRoot),e._transformDirty=!1}};function iGe(e,t,n){e.modelMatrix=F.multiplyTransformation(t,n,e.modelMatrix),e.cullFace=Xt.getCullFace(e.modelMatrix,e.primitiveType)}function Eae(e,t,n,i){let o;i=F.multiplyTransformation(i,e.transform,new F),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o<r;o++){let a=e.runtimePrimitives[o];iGe(a.drawCommand,n,i)}let s=e.children.length;for(o=0;o<s;o++){let a=t._runtimeNodes[e.children[o]];a._transformToRoot=F.clone(i,a._transformToRoot),Eae(a,t,n,i),a._transformDirty=!1}}var gO=HW;var Sae={name:"NodeStatisticsPipelineStage",_countInstancingAttributes:vae,_countGeneratedBuffers:wae};Sae.process=function(e,t,n){let i=e.model.statistics,o=t.instances,r=e.runtimeNode;vae(i,o),wae(i,r)};function vae(e,t){if(!l(t))return;let n=t.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r.buffer)&&e.addBuffer(r.buffer,!1)}}function wae(e,t){l(t.instancingTransformsBuffer)&&e.addBuffer(t.instancingTransformsBuffer,!1),l(t.instancingTransformsBuffer2D)&&e.addBuffer(t.instancingTransformsBuffer2D,!1),l(t.instancingTranslationBuffer2D)&&e.addBuffer(t.instancingTranslationBuffer2D,!1)}var yO=Sae;function QA(e){e=y(e,y.EMPTY_OBJECT);let t=e.node,n=e.transform,i=e.transformToRoot,o=e.sceneGraph,r=e.children;this._node=t,this._name=t.name,this._id=t.index,this._sceneGraph=o,this._children=r,this._originalTransform=F.clone(n,this._originalTransform),this._transform=F.clone(n,this._transform),this._transformToRoot=F.clone(i,this._transformToRoot),this._computedTransform=new F,this._transformDirty=!1,this._transformParameters=void 0,this._morphWeights=[],this._runtimeSkin=void 0,this._computedJointMatrices=[],this.show=!0,this.userAnimated=!1,this.pipelineStages=[],this.runtimePrimitives=[],this.updateStages=[],this.instancingTranslationMin=void 0,this.instancingTranslationMax=void 0,this.instancingTransformsBuffer=void 0,this.instancingTransformsBuffer2D=void 0,this.instancingTranslationBuffer2D=void 0,this.instancingReferencePoint2D=void 0,oGe(this)}Object.defineProperties(QA.prototype,{node:{get:function(){return this._node}},sceneGraph:{get:function(){return this._sceneGraph}},children:{get:function(){return this._children}},transform:{get:function(){return this._transform},set:function(e){this._transformDirty=!0,this._transform=F.clone(e,this._transform)}},transformToRoot:{get:function(){return this._transformToRoot}},computedTransform:{get:function(){return this._computedTransform}},originalTransform:{get:function(){return this._originalTransform}},translation:{get:function(){return l(this._transformParameters)?this._transformParameters.translation:void 0},set:function(e){let t=this._transformParameters,n=t.translation;h.equals(n,e)||(t.translation=h.clone(e,t.translation),GW(this,t))}},rotation:{get:function(){return l(this._transformParameters)?this._transformParameters.rotation:void 0},set:function(e){let t=this._transformParameters,n=t.rotation;Le.equals(n,e)||(t.rotation=Le.clone(e,t.rotation),GW(this,t))}},scale:{get:function(){return l(this._transformParameters)?this._transformParameters.scale:void 0},set:function(e){let t=this._transformParameters,n=t.scale;h.equals(n,e)||(t.scale=h.clone(e,t.scale),GW(this,t))}},morphWeights:{get:function(){return this._morphWeights},set:function(e){let t=e.length;for(let n=0;n<t;n++)this._morphWeights[n]=e[n]}},runtimeSkin:{get:function(){return this._runtimeSkin}},computedJointMatrices:{get:function(){return this._computedJointMatrices}}});function oGe(e){let t=e.transform,n=e.transformToRoot,i=e._computedTransform;e._computedTransform=F.multiply(n,t,i);let o=e.node;l(o.matrix)||(e._transformParameters=new qg(o.translation,o.rotation,o.scale)),l(o.morphWeights)&&(e._morphWeights=o.morphWeights.slice());let r=o.articulationName;if(l(r)){let c=e.sceneGraph._runtimeArticulations[r];l(c)&&c.runtimeNodes.push(e)}}function GW(e,t){e._transformDirty=!0,e._transform=F.fromTranslationRotationScale(t,e._transform)}QA.prototype.getChild=function(e){return this.sceneGraph._runtimeNodes[this.children[e]]};QA.prototype.configurePipeline=function(){let e=this.node,t=this.pipelineStages;t.length=0;let n=this.updateStages;n.length=0,l(e.instances)&&t.push(_O),t.push(yO),n.push(gO)};QA.prototype.updateComputedTransform=function(){this._computedTransform=F.multiply(this._transformToRoot,this._transform,this._computedTransform)};QA.prototype.updateJointMatrices=function(){let e=this._runtimeSkin;if(!l(e))return;e.updateJointMatrices();let t=this._computedJointMatrices,n=e.jointMatrices,i=n.length;for(let o=0;o<i;o++){l(t[o])||(t[o]=new F);let r=F.multiplyTransformation(this.transformToRoot,this.transform,t[o]),s=F.inverseTransformation(r,t[o]);t[o]=F.multiplyTransformation(s,n[o],t[o])}};var xO=QA;var Dae={name:"AlphaPipelineStage"};Dae.process=function(e,t,n){let i=e.alphaOptions,o=e.model;i.pass=y(i.pass,o.opaquePass);let r=e.renderStateOptions;i.pass===Se.TRANSLUCENT&&(r.cull.enabled=!1,r.depthMask=!1,r.blending=hn.ALPHA_BLEND);let s=e.shaderBuilder,a=e.uniformMap;l(i.alphaCutoff)&&(s.addDefine("ALPHA_MODE_MASK",void 0,pe.FRAGMENT),s.addUniform("float","u_alphaCutoff",pe.FRAGMENT),a.u_alphaCutoff=function(){return i.alphaCutoff})};var bO=Dae;var Iae={name:"BatchTexturePipelineStage"};Iae.process=function(e,t,n){let i=e.shaderBuilder,o={},r=e.model,s=r.featureTables[r.featureTableId],a=s.featuresLength;i.addUniform("int","model_featuresLength"),o.model_featuresLength=function(){return a};let c=s.batchTexture;i.addUniform("sampler2D","model_batchTexture"),o.model_batchTexture=function(){return y(c.batchTexture,c.defaultTexture)},i.addUniform("vec4","model_textureStep"),o.model_textureStep=function(){return c.textureStep},c.textureDimensions.y>1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=bt(o,e.uniformMap)};var TO=Iae;var Pae={name:"ClassificationPipelineStage"};Pae.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,pe.BOTH);let o=e.runtimePrimitive;l(o.batchLengths)||rGe(t,o)};function rGe(e,t){let n=Xt.getAttributeBySemantic(e,At.POSITION);if(!l(n))throw new ce("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=l(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=Xt.getAttributeBySemantic(e,At.FEATURE_ID,0);if(!l(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let u=[],f=[0],d=r?i[0]:0,p=c[d],g=0;for(let x=1;x<s;x++){let b=r?i[x]:x,T=c[b];if(T!==p){let A=x-g,C=x;u.push(A),f.push(C),g=C,p=T}}let m=s-g;u.push(m),t.batchLengths=u,t.batchOffsets=f}var CO=Pae;var AO=`void filterByPassType(inout vec3 positionMC, vec4 featureColor) +uniform float u_roughness; +uniform samplerCube u_radianceTexture; +uniform vec3 u_faceDirection; + +float vdcRadicalInverse(int i) { - bool styleTranslucent = (featureColor.a != 1.0); - // Only render translucent features in the translucent pass (if the style or the original command has translucency). - if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) - { - // If the model has a translucent silhouette, it needs to render during the silhouette color command, - // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. - #ifdef HAS_SILHOUETTE - positionMC *= float(model_silhouettePass); - #else - positionMC *= 0.0; - #endif - } - // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. - else if (czm_pass != czm_passTranslucent && styleTranslucent) + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) { - positionMC *= 0.0; + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); } + return value; } -void cpuStylingStage(inout vec3 positionMC, inout SelectedFeature feature) +vec2 hammersley2D(int i, int N) { - float show = ceil(feature.color.a); - positionMC *= show; - - #if defined(HAS_SELECTED_FEATURE_ID_ATTRIBUTE) && !defined(HAS_CLASSIFICATION) - filterByPassType(positionMC, feature.color); - #endif + return vec2(float(i) / float(N), vdcRadicalInverse(i)); } -`;var EO=`void filterByPassType(vec4 featureColor) + +vec3 importanceSampleGGX(vec2 xi, float alphaRoughness, vec3 N) { - bool styleTranslucent = (featureColor.a != 1.0); - // Only render translucent features in the translucent pass (if the style or the original command has translucency). - if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) - { - // If the model has a translucent silhouette, it needs to render during the silhouette color command, - // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. - #ifdef HAS_SILHOUETTE - if(!model_silhouettePass) { - discard; + float alphaRoughnessSquared = alphaRoughness * alphaRoughness; + float phi = czm_twoPi * xi.x; + float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (alphaRoughnessSquared - 1.0) * xi.y)); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); + vec3 tangentX = normalize(cross(upVector, N)); + vec3 tangentY = cross(N, tangentX); + return tangentX * H.x + tangentY * H.y + N * H.z; +} + +// Sample count is relatively low for the sake of performance, but should still be enough to prevent artifacting in lower roughnesses +const int samples = 128; + +void main() { + vec3 normal = u_faceDirection; + vec3 V = normalize(v_textureCoordinates); + float roughness = u_roughness; + + vec4 color = vec4(0.0); + float weight = 0.0; + for (int i = 0; i < samples; ++i) { + vec2 xi = hammersley2D(i, samples); + vec3 H = importanceSampleGGX(xi, roughness, V); + vec3 L = 2.0 * dot(V, H) * H - V; // reflected vector + + float NdotL = max(dot(V, L), 0.0); + if (NdotL > 0.0) { + color += vec4(czm_textureCube(u_radianceTexture, L).rgb, 1.0) * NdotL; + weight += NdotL; + } } - #else - discard; - #endif - } - // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. - else if (czm_pass != czm_passTranslucent && styleTranslucent) - { - discard; + out_FragColor = color / weight; +} +`;var SR=`in vec3 position; +out vec3 v_textureCoordinates; + +uniform vec3 u_faceDirection; + +vec3 getCubeMapDirection(vec2 uv, vec3 faceDir) { + vec2 scaledUV = uv; + + if (faceDir.x != 0.0) { + return vec3(faceDir.x, scaledUV.y, scaledUV.x * faceDir.x); + } else if (faceDir.y != 0.0) { + return vec3(scaledUV.x, -faceDir.y, -scaledUV.y * faceDir.y); + } else { + return vec3(scaledUV.x * faceDir.z, scaledUV.y, -faceDir.z); } } -void cpuStylingStage(inout czm_modelMaterial material, SelectedFeature feature) +void main() { - vec4 featureColor = feature.color; - if (featureColor.a == 0.0) - { - discard; - } + v_textureCoordinates = getCubeMapDirection(position.xy, u_faceDirection); + v_textureCoordinates.y = -v_textureCoordinates.y; + v_textureCoordinates.z = -v_textureCoordinates.z; + gl_Position = vec4(position, 1.0); +} +`;function li(e){this._position=void 0,this._radianceMapDirty=!1,this._radianceCommandsDirty=!1,this._convolutionsCommandsDirty=!1,this._irradianceCommandDirty=!1,this._irradianceTextureDirty=!1,this._sphericalHarmonicCoefficientsDirty=!1,this._shouldRegenerateShaders=!1,e=y(e,y.EMPTY_OBJECT);let t=Math.min(y(e.mipmapLevels,10),Math.log2(Ft.maximumCubeMapSize));this._mipmapLevels=t,this._radianceMapComputeCommands=new Array(6),this._convolutionComputeCommands=new Array((t-1)*6),this._irradianceComputeCommand=void 0,this._radianceMapFS=void 0,this._irradianceMapFS=void 0,this._convolveSP=void 0,this._va=void 0,this._radianceMapTextures=new Array(6),this._specularMapTextures=new Array((t-1)*6),this._radianceCubeMap=void 0,this._irradianceMapTexture=void 0,this._sphericalHarmonicCoefficients=li.DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS.slice(),this._lastTime=new K;let n=Math.pow(2,t-1);this._textureDimensions=new z(n,n),this._radiiAndDynamicAtmosphereColor=new h,this._sceneEnvironmentMap=void 0,this._backgroundColor=void 0,this._owner=void 0,this.enabled=y(e.enabled,!0),this.shouldUpdate=!0,this.maximumSecondsDifference=y(e.maximumSecondsDifference,60*60),this.maximumPositionEpsilon=y(e.maximumPositionEpsilon,1e3),this.atmosphereScatteringIntensity=y(e.atmosphereScatteringIntensity,2),this.gamma=y(e.gamma,1),this.brightness=y(e.brightness,1),this.saturation=y(e.saturation,1),this.groundColor=y(e.groundColor,li.AVERAGE_EARTH_GROUND_COLOR),this.groundAlbedo=y(e.groundAlbedo,.31)}Object.defineProperties(li.prototype,{owner:{get:function(){return this._owner}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},position:{get:function(){return this._position},set:function(e){h.equalsEpsilon(e,this._position,0,this.maximumPositionEpsilon)||(this._position=h.clone(e,this._position),this.reset())}},radianceCubeMap:{get:function(){return this._radianceCubeMap}},maximumMipmapLevel:{get:function(){return this._mipmapLevels}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}}});li._maximumComputeCommandCount=8;li._activeComputeCommandCount=0;li._nextFrameCommandQueue=[];li._queueCommand=(e,t)=>{if(li._activeComputeCommandCount>=li._maximumComputeCommandCount){li._nextFrameCommandQueue.push(e);return}t.commandList.push(e),li._activeComputeCommandCount++};li._updateCommandQueue=e=>{if(li._maximumComputeCommandCount=Math.log2(Ft.maximumCubeMapSize),li._nextFrameCommandQueue.length>0&&li._activeComputeCommandCount<li._maximumComputeCommandCount){let t=li._nextFrameCommandQueue.shift();for(;l(t)&&li._activeComputeCommandCount<li._maximumComputeCommandCount;){if(t.canceled){t=li._nextFrameCommandQueue.shift();continue}e.commandList.push(t),li._activeComputeCommandCount++,t=li._nextFrameCommandQueue.shift()}}};li.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};li.prototype.reset=function(){let e=this._radianceMapComputeCommands.length;for(let t=0;t<e;++t)l(this._radianceMapComputeCommands[t])&&(this._radianceMapComputeCommands[t].canceled=!0,li._activeComputeCommandCount--),this._radianceMapComputeCommands[t]=void 0;e=this._convolutionComputeCommands.length;for(let t=0;t<e;++t)l(this._convolutionComputeCommands[t])&&(this._convolutionComputeCommands[t].canceled=!0,li._activeComputeCommandCount--),this._convolutionComputeCommands[t]=void 0;l(this._irradianceComputeCommand)&&(this._irradianceComputeCommand.canceled=!0,li._activeComputeCommandCount--,this._irradianceComputeCommand=void 0),this._radianceMapDirty=!0,this._radianceCommandsDirty=!0};var Fze=new h,Bze=new h;function kze(e,t){let n=e._position,i=t.atmosphere,o=t.mapProjection.ellipsoid,r=o.scaleToGeodeticSurface(n,Bze),s=1.025,a=Fze,c=l(r)?h.magnitude(r):o.maximumRadius;return a.x=c*s,a.y=c,a.z=i.dynamicLighting,!h.equalsEpsilon(e._radiiAndDynamicAtmosphereColor,a)||t.environmentMap!==e._sceneEnvironmentMap||t.backgroundColor!==e._backgroundColor?(h.clone(a,e._radiiAndDynamicAtmosphereColor),e._sceneEnvironmentMap=t.environmentMap,e._backgroundColor=t.backgroundColor,!0):!1}var Fse=new h,Vze=new F,Uze=new ie,zze=new H;function Hze(e,t){let n=t.context,i=e._textureDimensions;if(l(e._radianceCubeMap)||(e._radianceCubeMap=new vr({context:n,width:i.x,height:i.y,pixelDatatype:Ye.UNSIGNED_BYTE,pixelFormat:nt.RGBA})),e._radianceCommandsDirty){let o=e._radianceMapFS;l(o)||(o=new Ue({sources:[Yd,AR]}),e._radianceMapFS=o),xb.requiresColorCorrect(t.atmosphere)&&o.defines.push("ATMOSPHERE_COLOR_CORRECT");let r=e._position,s=e._radiiAndDynamicAtmosphereColor,a=t.mapProjection.ellipsoid,c=Lt.eastNorthUpToFixedFrame(r,a,Vze),u=Uze;u.x=e.brightness,u.y=e.saturation,u.z=e.gamma,u.w=e.atmosphereScatteringIntensity,(e.brightness!==1||e.saturation!==1||e.gamma!==1)&&o.defines.push("ENVIRONMENT_COLOR_CORRECT");let f=0;for(let d of vr.faceNames()){let p=e._radianceMapTextures[f];l(p)&&p.destroy(),p=new Pt({context:n,width:i.x,height:i.y,pixelDatatype:Ye.UNSIGNED_BYTE,pixelFormat:nt.RGBA}),e._radianceMapTextures[f]=p;let g=f,m=new Fc({fragmentShaderSource:o,outputTexture:p,uniformMap:{u_radiiAndDynamicAtmosphereColor:()=>s,u_enuToFixedFrame:()=>c,u_faceDirection:()=>vr.getDirection(d,Fse),u_positionWC:()=>r,u_brightnessSaturationGammaIntensity:()=>u,u_groundColor:()=>e.groundColor.withAlpha(e.groundAlbedo,zze)},persists:!0,owner:e,postExecute:()=>{let x=e._radianceMapComputeCommands;if(!l(x[g]))return;x[g]=void 0;let b=new Vr({context:n,colorTextures:[e._radianceMapTextures[g]],destroyAttachments:!1});b._bind(),e._radianceCubeMap[d].copyFromFramebuffer(),b._unBind(),b.destroy(),li._activeComputeCommandCount--,x.some(l)||(e._convolutionsCommandsDirty=!0,e._shouldRegenerateShaders=!0)}});e._radianceMapComputeCommands[f]=m,li._queueCommand(m,t),f++}e._radianceCommandsDirty=!1}}function Gze(e,t){let n=e._radianceCubeMap;n.generateMipmap();let i=e._mipmapLevels,o=e._textureDimensions,r=o.x/2,s=o.y/2,a=t.context,c=0,u=(d,p,g,m)=>()=>{let x=e._convolutionComputeCommands;!l(x[d])||x[d].canceled||(x[d]=void 0,n.copyFace(t,p,g,m),c++,li._activeComputeCommandCount--,c===e._specularMapTextures.length&&(e._irradianceCommandDirty=!0,n.sampler=new Qt({minificationFilter:$t.LINEAR_MIPMAP_LINEAR}),e._shouldRegenerateShaders=!0))},f=0;for(let d=1;d<i;++d){for(let p of vr.faceNames()){let g=e._specularMapTextures[f]=new Pt({context:a,width:r,height:s,pixelDatatype:Ye.UNSIGNED_BYTE,pixelFormat:nt.RGBA}),m=e._va;l(m)||(m=vr.createVertexArray(a,p),e._va=m);let x=e._convolveSP;l(x)||(x=tn.fromCache({context:a,vertexShaderSource:SR,fragmentShaderSource:ER,attributeLocations:{positions:0}}),e._convolveSP=x);let b=new Fc({shaderProgram:x,vertexArray:m,outputTexture:g,persists:!0,owner:e,uniformMap:{u_roughness:()=>d/(i-1),u_radianceTexture:()=>n??a.defaultTexture,u_faceDirection:()=>vr.getDirection(p,Fse)},postExecute:u(f,g,p,d)});e._convolutionComputeCommands[f]=b,li._queueCommand(b,t),++f}r/=2,s/=2}}var Bse=new z(3,3);function Wze(e,t){let n=t.context,i=Bse,o=e._irradianceMapTexture;l(o)||(o=new Pt({context:n,width:i.x,height:i.y,pixelDatatype:Ye.FLOAT,pixelFormat:nt.RGBA}),e._irradianceMapTexture=o);let r=e._irradianceMapFS;l(r)||(r=new Ue({sources:[CR]}),e._irradianceMapFS=r);let s=new Fc({fragmentShaderSource:r,outputTexture:o,uniformMap:{u_radianceMap:()=>e._radianceCubeMap??n.defaultTexture},postExecute:()=>{l(e._irradianceComputeCommand)&&(e._irradianceTextureDirty=!1,e._irradianceComputeCommand=void 0,e._sphericalHarmonicCoefficientsDirty=!0,li._activeComputeCommandCount--)}});e._irradianceComputeCommand=s,li._queueCommand(s,t),e._irradianceTextureDirty=!0}function jze(e,t){let n=t.context,i=new Vr({context:n,colorTextures:[e._irradianceMapTexture],destroyAttachments:!1}),o=Bse,r=n.readPixels({x:0,y:0,width:o.x,height:o.y,framebuffer:i});for(let s=0;s<9;++s)e._sphericalHarmonicCoefficients[s]=h.unpack(r,s*4),h.multiplyByScalar(e._sphericalHarmonicCoefficients[s],e.atmosphereScatteringIntensity,e._sphericalHarmonicCoefficients[s]);i.destroy(),e._shouldRegenerateShaders=!0}li.prototype.update=function(e){let t=e.mode;if(!li.isDynamicUpdateSupported(e)||!this.enabled||!this.shouldUpdate||!l(this._position)||t===ne.MORPHING){this._shouldRegenerateShaders=!1;return}li._updateCommandQueue(e);let i=e.atmosphere.dynamicLighting;if((kze(this,e)||i===n_.SUNLIGHT&&!K.equalsEpsilon(e.time,this._lastTime,this.maximumSecondsDifference))&&(this.reset(),this._lastTime=K.clone(e.time,this._lastTime)),this._radianceMapDirty&&(Hze(this,e),this._radianceMapDirty=!1),this._convolutionsCommandsDirty&&(Gze(this,e),this._convolutionsCommandsDirty=!1),this._irradianceCommandDirty&&(Wze(this,e),this._irradianceCommandDirty=!1),this._irradianceTextureDirty){this._shouldRegenerateShaders=!1;return}if(this._sphericalHarmonicCoefficientsDirty){jze(this,e),this._sphericalHarmonicCoefficientsDirty=!1;return}this._shouldRegenerateShaders=!1};li.prototype.isDestroyed=function(){return!1};li.prototype.destroy=function(){let e=this._radianceMapComputeCommands.length;for(let t=0;t<e;++t)this._radianceMapComputeCommands[t]=void 0;e=this._convolutionComputeCommands.length;for(let t=0;t<e;++t)this._convolutionComputeCommands[t]=void 0;this._irradianceMapComputeCommand=void 0,e=this._radianceMapTextures.length;for(let t=0;t<e;++t)this._radianceMapTextures[t]=this._radianceMapTextures[t]&&this._radianceMapTextures[t].destroy();e=this._specularMapTextures.length;for(let t=0;t<e;++t)this._specularMapTextures[t]=this._specularMapTextures[t]&&this._specularMapTextures[t].destroy();return this._radianceCubeMap=this._radianceCubeMap&&this._radianceCubeMap.destroy(),this._irradianceMapTexture=this._irradianceMapTexture&&this._irradianceMapTexture.destroy(),ue(this)};li.isDynamicUpdateSupported=function(e){let t=e.context;return t.halfFloatingPointTexture||t.colorBufferFloat};li.AVERAGE_EARTH_GROUND_COLOR=Object.freeze(H.fromCssColorString("#717145"));li.DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS=Object.freeze([Object.freeze(new h(.35449,.35449,.35449)),h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO]);var i_=li;var vR={HIGHLIGHT:0,REPLACE:1,MIX:2};vR.getColorBlend=function(e,t){if(e===vR.HIGHLIGHT)return 0;if(e===vR.REPLACE)return 1;if(e===vR.MIX)return P.clamp(t,P.EPSILON4,1)};var hc=Object.freeze(vR);var qze={XTRANSLATE:"xTranslate",YTRANSLATE:"yTranslate",ZTRANSLATE:"zTranslate",XROTATE:"xRotate",YROTATE:"yRotate",ZROTATE:"zRotate",XSCALE:"xScale",YSCALE:"yScale",ZSCALE:"zScale",UNIFORMSCALE:"uniformScale"},mc=Object.freeze(qze);var Yze={STEP:0,LINEAR:1,CUBICSPLINE:2},Xd=Object.freeze(Yze);var kse={};function wR(e){this._count=e.count,this._properties=He(e.properties,!0)}wR.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,kse)};wR.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,kse,e)};wR.prototype.getProperty=function(e,t){let n=this._properties[t];if(l(n))return He(n[e],!0)};wR.prototype.setProperty=function(e,t,n){let i=this._properties[t];l(i)||(i=new Array(this._count),this._properties[t]=i),i[e]=He(n,!0)};var o_=wR;function pc(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._id=e.id,this._count=e.count,this._extras=e.extras,this._extensions=e.extensions,this._metadataTable=e.metadataTable,this._jsonMetadataTable=e.jsonMetadataTable,this._batchTableHierarchy=e.batchTableHierarchy}Object.defineProperties(pc.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},count:{get:function(){return this._count}},class:{get:function(){if(l(this._metadataTable))return this._metadataTable.class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){let e=0;return l(this._metadataTable)&&(e+=this._metadataTable.byteLength),l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e}}});pc.prototype.hasProperty=function(e,t){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(t)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(t))};pc.prototype.hasPropertyBySemantic=function(e,t){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(t):!1};pc.prototype.propertyExists=function(e){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(e)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.propertyExists(e)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(e))};pc.prototype.propertyExistsBySemantic=function(e){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(e):!1};var RW=[];pc.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,l(this._metadataTable)&&t.push.apply(t,this._metadataTable.getPropertyIds(RW)),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,RW)),l(this._jsonMetadataTable)&&t.push.apply(t,this._jsonMetadataTable.getPropertyIds(RW)),t};pc.prototype.getProperty=function(e,t){let n;if(l(this._metadataTable)&&(n=this._metadataTable.getProperty(e,t),l(n))||l(this._batchTableHierarchy)&&(n=this._batchTableHierarchy.getProperty(e,t),l(n))||l(this._jsonMetadataTable)&&(n=this._jsonMetadataTable.getProperty(e,t),l(n)))return n};pc.prototype.setProperty=function(e,t,n){l(this._metadataTable)&&this._metadataTable.setProperty(e,t,n)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n)||(l(this._jsonMetadataTable)||(this._jsonMetadataTable=new o_({count:this._count,properties:{}})),this._jsonMetadataTable.setProperty(e,t,n))};pc.prototype.getPropertyBySemantic=function(e,t){if(l(this._metadataTable))return this._metadataTable.getPropertyBySemantic(e,t)};pc.prototype.setPropertyBySemantic=function(e,t,n){return l(this._metadataTable)?this._metadataTable.setPropertyBySemantic(e,t,n):!1};pc.prototype.getPropertyTypedArray=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArray(e)};pc.prototype.getPropertyTypedArrayBySemantic=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArrayBySemantic(e)};pc.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};pc.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};pc.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};var Qc=pc;function DR(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty,i=e.textures,o=l(t.channels)?t.channels:[0],r=t,s=Ol.createModelTextureReader({textureInfo:r,channels:Zze(o),texture:i[r.index]});this._min=t.min,this._max=t.max;let a=t.offset,c=t.scale,u=n.hasValueTransform||l(a)||l(c);a=y(a,n.offset),c=y(c,n.scale),a=n.unpackVectorAndMatrixTypes(a),c=n.unpackVectorAndMatrixTypes(c),this._offset=a,this._scale=c,this._hasValueTransform=u,this._textureReader=s,this._classProperty=n,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(DR.prototype,{textureReader:{get:function(){return this._textureReader}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});DR.prototype.isGpuCompatible=function(){let e=this._classProperty,t=e.type,n=e.componentType;return e.isArray?e.isVariableLengthArray?(bt(`Property texture property ${e.id} is a variable-length array, which is not supported`),!1):e.arrayLength>4?(bt(`Property texture property ${e.id} is an array of length ${e.arrayLength}, but may have at most a length of 4`),!1):t!==dt.SCALAR?(bt(`Property texture property ${e.id} is an array of type ${t}, but only SCALAR is supported`),!1):n!==Ut.UINT8?(bt(`Property texture property ${e.id} is an array with component type ${n}, but only UINT8 is supported`),!1):!0:dt.isVectorType(t)||t===dt.SCALAR?n!==Ut.UINT8?(bt(`Property texture property ${e.id} has component type ${n}, but only UINT8 is supported`),!1):!0:(bt(`Property texture property ${e.id} has an unsupported type`),!1)};var Xze=[void 0,"float","vec2","vec3","vec4"],Kze=[void 0,"int","ivec2","ivec3","ivec4"];DR.prototype.getGlslType=function(){let e=this._classProperty,t=dt.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?Xze[t]:Kze[t]};DR.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function Zze(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var IR=DR;function OW(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(l(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new IR({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(OW.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});OW.prototype.getProperty=function(e){return this._properties[e]};var r_=OW;function Vse(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||l(i)||l(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Vse.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var PR=Vse;function MW(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(l(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new PR({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(MW.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});MW.prototype.getProperty=function(e){return this._properties[e]};var bb=MW;function RR(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=l(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(RR.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!l(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n<t;n++)e+=this._propertyTables[n].byteLength;return e}}});RR.prototype.getPropertyTable=function(e){return this._propertyTables[e]};RR.prototype.getPropertyTexture=function(e){return this._propertyTextures[e]};RR.prototype.getPropertyAttribute=function(e){return this._propertyAttributes[e]};var $s=RR;function $ze(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i=[];if(l(t.propertyTables))for(let s=0;s<t.propertyTables.length;s++){let a=t.propertyTables[s],c=n.classes[a.class],u=new Pl({count:a.count,properties:a.properties,class:c,bufferViews:e.bufferViews});i.push(new Qc({id:s,name:a.name,count:a.count,metadataTable:u,extras:a.extras,extensions:a.extensions}))}let o=[];if(l(t.propertyTextures))for(let s=0;s<t.propertyTextures.length;s++){let a=t.propertyTextures[s];o.push(new r_({id:s,name:a.name,propertyTexture:a,class:n.classes[a.class],textures:e.textures}))}let r=[];if(l(t.propertyAttributes))for(let s=0;s<t.propertyAttributes.length;s++){let a=t.propertyAttributes[s];r.push(new bb({id:s,name:a.name,class:n.classes[a.class],propertyAttribute:a}))}return new $s({schema:n,propertyTables:i,propertyTextures:o,propertyAttributes:r,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}var OR=$ze;function Qze(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i,o=[],r;if(l(t.featureTables))for(r=Object.keys(t.featureTables).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTables[a],u=n.classes[c.class],f=new Pl({count:c.count,properties:c.properties,class:u,bufferViews:e.bufferViews});o.push(new Qc({id:a,count:c.count,metadataTable:f,extras:c.extras,extensions:c.extensions}))}let s=[];if(l(t.featureTextures))for(r=Object.keys(t.featureTextures).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTextures[a];s.push(new r_({id:a,propertyTexture:Jze(c),class:n.classes[c.class],textures:e.textures}))}return new $s({schema:n,propertyTables:o,propertyTextures:s,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function Jze(e){let t={class:e.class,properties:{}},n=e.properties;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i],r={channels:e4e(o.channels),extras:o.extras,extensions:o.extensions};t.properties[i]=Ct(o.texture,r,!0)}return t}function e4e(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]="rgba".indexOf(e[i]);return n}var MR=Qze;function xy(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,extension:n,extensionLegacy:i,gltfResource:o,baseResource:r,supportedImageFormats:s,frameState:a,cacheKey:c,asynchronous:u=!0}=e;this._gltfResource=o,this._baseResource=r,this._gltf=t,this._extension=n,this._extensionLegacy=i,this._supportedImageFormats=s,this._frameState=a,this._cacheKey=c,this._asynchronous=u,this._bufferViewLoaders=[],this._bufferViewIds=[],this._textureLoaders=[],this._textureIds=[],this._schemaLoader=void 0,this._structuralMetadata=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(xy.prototype=Object.create(Ki.prototype),xy.prototype.constructor=xy);Object.defineProperties(xy.prototype,{cacheKey:{get:function(){return this._cacheKey}},structuralMetadata:{get:function(){return this._structuralMetadata}}});async function t4e(e){try{let t=s4e(e),n=f4e(e),i=d4e(e);return await Promise.all([t,n,i]),e.isDestroyed()?void 0:(e._gltf=void 0,e._state=yt.LOADED,e)}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=yt.FAILED,e.getError("Failed to load structural metadata",t)}}xy.prototype.load=function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,this._promise=t4e(this),this._promise)};function n4e(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.values,r=i.arrayOffsets,s=i.stringOffsets;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function i4e(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.bufferView,r=i.arrayOffsetBufferView,s=i.stringOffsetBufferView;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function o4e(e){let t=e.propertyTables,n={};if(l(t))for(let i=0;i<t.length;i++){let o=t[i];n4e(o.properties,n)}return n}function r4e(e){let t=e.featureTables,n={};if(l(t)){for(let i in t)if(t.hasOwnProperty(i)){let r=t[i].properties;l(r)&&i4e(r,n)}}return n}async function s4e(e){let t;l(e._extension)?t=o4e(e._extension):t=r4e(e._extensionLegacy);let n=[];for(let i in t)if(t.hasOwnProperty(i)){let o=wi.getBufferViewLoader({gltf:e._gltf,bufferViewId:parseInt(i),gltfResource:e._gltfResource,baseResource:e._baseResource});e._bufferViewLoaders.push(o),e._bufferViewIds.push(i),n.push(o.load())}return Promise.all(n)}function a4e(e){let t={},n=e.propertyTextures;if(l(n))for(let i=0;i<n.length;i++){let r=n[i].properties;l(r)&&c4e(r,t)}return t}function c4e(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t[i.index]=i}}function l4e(e){let t={},n=e.featureTextures;if(l(n)){for(let i in n)if(n.hasOwnProperty(i)){let r=n[i].properties;l(r)&&u4e(r,t)}}return t}function u4e(e,t){for(let n in e)if(e.hasOwnProperty(n)){let o=e[n].texture;t[o.index]=o}}function f4e(e){let t;l(e._extension)?t=a4e(e._extension):t=l4e(e._extensionLegacy);let n=e._gltf,i=e._gltfResource,o=e._baseResource,r=e._supportedImageFormats,s=e._frameState,a=e._asynchronous,c=[];for(let u in t)if(t.hasOwnProperty(u)){let f=wi.getTextureLoader({gltf:n,textureInfo:t[u],gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a});e._textureLoaders.push(f),e._textureIds.push(u),c.push(f.load())}return Promise.all(c)}async function d4e(e){let t=y(e._extension,e._extensionLegacy),n;if(l(t.schemaUri)){let i=e._baseResource.getDerivedResource({url:t.schemaUri});n=wi.getSchemaLoader({resource:i})}else n=wi.getSchemaLoader({schema:t.schema});if(e._schemaLoader=n,await n.load(),!n.isDestroyed())return n.schema}xy.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let a=0;a<n;++a){let u=t[a].process(e);i=i&&u}if(!i)return!1;let o=this._schemaLoader.schema,r={};for(let a=0;a<this._bufferViewIds.length;++a){let c=this._bufferViewIds[a],u=this._bufferViewLoaders[a];if(!u.isDestroyed()){let f=new Uint8Array(u.typedArray);r[c]=f}}let s={};for(let a=0;a<this._textureIds.length;++a){let c=this._textureIds[a],u=t[a];u.isDestroyed()||(s[c]=u.texture)}return l(this._extension)?this._structuralMetadata=OR({extension:this._extension,schema:o,bufferViews:r,textures:s}):this._structuralMetadata=MR({extension:this._extensionLegacy,schema:o,bufferViews:r,textures:s}),Use(this),this._state=yt.READY,!0};function Use(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)wi.unload(t[i]);e._bufferViewLoaders.length=0,e._bufferViewIds.length=0}function h4e(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)wi.unload(t[i]);e._textureLoaders.length=0,e._textureIds.length=0}xy.prototype.unload=function(){Use(this),h4e(this),l(this._schemaLoader)&&wi.unload(this._schemaLoader),this._schemaLoader=void 0,this._structuralMetadata=void 0};var LR=xy;var HA={TRANSLATION:"TRANSLATION",ROTATION:"ROTATION",SCALE:"SCALE",FEATURE_ID:"_FEATURE_ID"};HA.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"TRANSLATION":return HA.TRANSLATION;case"ROTATION":return HA.ROTATION;case"SCALE":return HA.SCALE;case"_FEATURE_ID":return HA.FEATURE_ID}};var as=Object.freeze(HA);var m4e=65534,p4e=255;function tz(e){e=y(e,y.EMPTY_OBJECT);let t=e.triangleIndices,n=e.outlineIndices,i=e.originalVertexCount;this._triangleIndices=t,this._originalVertexCount=i,this._edges=new Gse(n,i),this._outlineCoordinatesTypedArray=void 0,this._extraVertices=[],_4e(this)}Object.defineProperties(tz.prototype,{updatedTriangleIndices:{get:function(){return this._triangleIndices}},outlineCoordinates:{get:function(){return this._outlineCoordinatesTypedArray}}});function _4e(e){let t=e._triangleIndices,n=e._edges,i=[],o=e._extraVertices,r=e._originalVertexCount,s={};for(let a=0;a<t.length;a+=3){let c=t[a],u=t[a+1],f=t[a+2],d=!1,p=d||n.hasEdge(c,u),g=d||n.hasEdge(u,f),m=d||n.hasEdge(f,c),x=zse(i,c,u,f,p,g,m);for(;l(x);){let b=s[x];if(!l(b)){b=r+o.length;let T=x;for(;T>=r;)T=o[T-r];o.push(T),s[x]=b}b>m4e&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):b>p4e&&t instanceof Uint8Array&&(t=new Uint16Array(t)),x===c?(c=b,t[a]=b):x===u?(u=b,t[a+1]=b):(f=b,t[a+2]=b),x=zse(i,c,u,f,p,g,m)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function zse(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,u=0,f=LW(e,t,a,c,u);if(f===0)return t;let d=0,p=o?1:0,g=r?1:0,m=LW(e,n,d,p,g);if(m===0)return n;let x=s?1:0,b=0,T=r?1:0,A=LW(e,i,x,b,T);if(A===0)return i;let C=f&m&A,E,v,D;if(C&1)E=0,v=1,D=2;else if(C&2)E=0,D=1,v=2;else if(C&4)v=0,E=1,D=2;else if(C&8)v=0,D=1,E=2;else if(C&16)D=0,E=1,v=2;else if(C&32)D=0,v=1,E=2;else{let N=NW(f),_=NW(m),S=NW(A);return N<_&&N<S?t:_<S?n:i}let O=t*3;e[O+E]=a,e[O+v]=c,e[O+D]=u;let R=n*3;e[R+E]=d,e[R+v]=p,e[R+D]=g;let M=i*3;e[M+E]=x,e[M+v]=b,e[M+D]=T}function LW(e,t,n,i,o){let r=t*3,s=e[r],a=e[r+1],c=e[r+2];return l(s)?(s===n&&a===i&&c===o)<<0|(s===n&&a===o&&c===i)<<1|(s===i&&a===n&&c===o)<<2|(s===i&&a===o&&c===n)<<3|(s===o&&a===n&&c===i)<<4|(s===o&&a===i&&c===n)<<5:63}function NW(e){return(e&1)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}tz.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a<o;a++){let c=t[a]*i,u=n+a*i;for(let f=0;f<i;f++)s[u+f]=s[c+f]}return s};tz.createTexture=function(e){let t=e.cache.modelOutliningCache;if(l(t)||(t=e.cache.modelOutliningCache={}),l(t.outlineTexture))return t.outlineTexture;let n=Math.min(4096,Ft.maximumTextureSize),i=n,o=Hse(i),r=[];for(;i>1;)i>>=1,r.push(Hse(i));let s=new Pt({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:nt.LUMINANCE,sampler:new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.LINEAR_MIPMAP_LINEAR,magnificationFilter:pi.LINEAR})});return t.outlineTexture=s,s};function Hse(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function Gse(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n<e.length;n+=2){let i=e[n],o=e[n+1],r=Math.min(i,o),s=Math.max(i,o),a=r*this._originalVertexCount+s;this._edges.add(a)}}Gse.prototype.hasEdge=function(e,t){let n=Math.min(e,t),i=Math.max(e,t),o=n*this._originalVertexCount+i;return this._edges.has(o)};var Tb=tz;function Wse(e){this.attribute=e,this.loadBuffer=!1,this.loadTypedArray=!1}function g4e(e){this.indices=e,this.loadBuffer=!1,this.loadTypedArray=!1}function nz(e){this.primitive=e,this.attributePlans=[],this.indicesPlan=void 0,this.needsOutlines=!1,this.outlineIndices=void 0}nz.prototype.postProcess=function(e){this.needsOutlines&&(y4e(this),b4e(this,e))};function y4e(e){let t=e.primitive,n=t.indices,i=t.attributes[0].count,o=new Tb({triangleIndices:n.typedArray,outlineIndices:e.outlineIndices,originalVertexCount:i});n.typedArray=o.updatedTriangleIndices,n.indexDatatype=Fe.fromTypedArray(n.typedArray);let r=x4e(o.outlineCoordinates),s=new Wse(r);s.loadBuffer=!0,s.loadTypedArray=!1,e.attributePlans.push(s),t.outlineCoordinates=s.attribute;let a=e.attributePlans,c=e.attributePlans.length;for(let u=0;u<c;u++){let f=a[u].attribute;f.typedArray=o.updateAttribute(f.typedArray)}}function x4e(e){let t=new Cn.Attribute;return t.name="_OUTLINE_COORDINATES",t.typedArray=e,t.componentDatatype=X.FLOAT,t.type=an.VEC3,t.normalized=!1,t.count=e.length/3,t}function b4e(e,t){T4e(e.attributePlans,t),l(e.indicesPlan)&&C4e(e.indicesPlan,t)}function T4e(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=o.attribute,s=r.typedArray;if(o.loadBuffer){let a=xt.createVertexBuffer({typedArray:s,context:t,usage:Be.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.buffer=a}o.loadTypedArray||(r.typedArray=void 0)}}function C4e(e,t){let n=e.indices;if(e.loadBuffer){let i=xt.createIndexBuffer({typedArray:n.typedArray,context:t,usage:Be.STATIC_DRAW,indexDatatype:n.indexDatatype});n.buffer=i,i.vertexArrayDestroyable=!1}e.loadTypedArray||(n.typedArray=void 0)}nz.AttributeLoadPlan=Wse;nz.IndicesLoadPlan=g4e;var Cb=nz;function A4e(e){e=y(e,y.EMPTY_OBJECT),this.webp=y(e.webp,!1),this.basis=y(e.basis,!1)}var NR=A4e;function jse(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams}Object.defineProperties(jse.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}}});var FR=jse;function qse(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams,this._covarianceMatrix=e.covarianceMatrix}Object.defineProperties(qse.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}},covarianceMatrix:{get:function(){return this._covarianceMatrix}}});var BR=qse;function Yse(e){this._groupFlags=e.groupFlags,this._rotationThetas=e.rotationThetas,this._params=e.params}Object.defineProperties(Yse.prototype,{groupFlags:{get:function(){return this._groupFlags}},rotationThetas:{get:function(){return this._rotationThetas}},params:{get:function(){return this._params}}});var kR=Yse;var E4e={Direct:"Direct",Indirect:"Indirect"},by=Object.freeze(E4e);function Xse(e){this._storageType=e.storageType,this._anchorPointsIndirect=e.anchorPointsIndirect,this._anchorPointsDirect=e.anchorPointsDirect,this._intraTileCorrelationGroups=e.intraTileCorrelationGroups,this._covarianceDirect=e.covarianceDirect}Object.defineProperties(Xse.prototype,{storageType:{get:function(){return this._storageType}},anchorPointsIndirect:{get:function(){return this._anchorPointsIndirect}},anchorPointsDirect:{get:function(){return this._anchorPointsDirect}},intraTileCorrelationGroups:{get:function(){return this._intraTileCorrelationGroups}},covarianceDirect:{get:function(){return this._covarianceDirect}}});var GA=Xse;function Kse(e){this._A=e.A,this._alpha=e.alpha,this._beta=e.beta,this._T=e.T}Object.defineProperties(Kse.prototype,{A:{get:function(){return this._A}},alpha:{get:function(){return this._alpha}},beta:{get:function(){return this._beta}},T:{get:function(){return this._T}}});var VR=Kse;function WA(){}function Zse(e){return new $(e[0],e[1],e[3],e[1],e[2],e[4],e[3],e[4],e[5])}function S4e(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h);return new FR({position:t,adjustmentParams:n})}function v4e(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h),i=Zse(e.covarianceMatrix);return new BR({position:t,adjustmentParams:n,covarianceMatrix:i})}function w4e(e){let t=e.groupFlags,n=h.fromArray(e.rotationThetas,0,new h),i=[];for(let r of e.params){let s=new VR({A:r.A,alpha:r.alpha,beta:r.beta,T:r.T});i.push(s)}return new kR({groupFlags:t,rotationThetas:n,params:i})}WA.load=function(e){let t=e.storageType;if(t===by.Direct)return WA.loadDirect(e);if(t===by.Indirect)return WA.loadIndirect(e);throw new se(`Invalid storage type in NGA_gpm_local - expected 'Direct' or 'Indirect', but found ${t}`)};WA.loadDirect=function(e){let t=[],n=e.anchorPointsDirect;for(let r of n){let s=S4e(r);t.push(s)}let i=Zse(e.covarianceDirectUpperTriangle);return new GA({storageType:by.Direct,anchorPointsDirect:t,covarianceDirect:i})};WA.loadIndirect=function(e){let t=[],n=e.anchorPointsIndirect;for(let s of n){let a=v4e(s);t.push(a)}let i=e.intraTileCorrelationGroups,o=[];for(let s of i){let a=w4e(s);o.push(a)}return new GA({storageType:by.Indirect,anchorPointsIndirect:t,intraTileCorrelationGroups:o})};var UR=WA;function $se(e){this._traits=e.traits,this._noData=e.noData,this._offset=e.offset,this._scale=e.scale,this._index=e.index,this._texCoord=e.texCoord}Object.defineProperties($se.prototype,{traits:{get:function(){return this._traits}},noData:{get:function(){return this._noData}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},index:{get:function(){return this._index}},texCoord:{get:function(){return this._texCoord}}});var zR=$se;function Qse(e){this._min=e.min,this._max=e.max,this._source=e.source}Object.defineProperties(Qse.prototype,{min:{get:function(){return this._min}},max:{get:function(){return this._max}},source:{get:function(){return this._source}}});var HR=Qse;function Jse(e){this._ppeTextures=e}Object.defineProperties(Jse.prototype,{ppeTextures:{get:function(){return this._ppeTextures}}});var GR=Jse;function Rr(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.extension,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=e.frameState,a=e.cacheKey,c=y(e.asynchronous,!0);this._gltfResource=i,this._baseResource=o,this._gltf=t,this._extension=n,this._supportedImageFormats=r,this._frameState=s,this._cacheKey=a,this._asynchronous=c,this._textureLoaders=[],this._textureIds=[],this._meshPrimitiveGpmLocal=void 0,this._structuralMetadata=void 0,this._state=yt.UNLOADED,this._promise=void 0}l(Object.create)&&(Rr.prototype=Object.create(Ki.prototype),Rr.prototype.constructor=Rr);Object.defineProperties(Rr.prototype,{cacheKey:{get:function(){return this._cacheKey}},meshPrimitiveGpmLocal:{get:function(){return this._meshPrimitiveGpmLocal}},structuralMetadata:{get:function(){return this._structuralMetadata}}});Rr.prototype._loadResources=async function(){try{return await this._loadTextures(),this.isDestroyed()?void 0:(this._gltf=void 0,this._state=yt.LOADED,this)}catch(e){if(this.isDestroyed())return;throw this.unload(),this._state=yt.FAILED,this.getError("Failed to load GPM data",e)}};Rr.prototype.load=function(){return l(this._promise)?this._promise:(this._state=yt.LOADING,this._promise=this._loadResources(this),this._promise)};function D4e(e){let t={},n=e.ppeTextures;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];t[o.index]=o}return t}Rr.prototype._loadTextures=function(){let e;l(this._extension)&&(e=D4e(this._extension));let t=this._gltf,n=this._gltfResource,i=this._baseResource,o=this._supportedImageFormats,r=this._frameState,s=this._asynchronous,a=[];for(let c in e)if(e.hasOwnProperty(c)){let u=wi.getTextureLoader({gltf:t,textureInfo:e[c],gltfResource:n,baseResource:i,supportedImageFormats:o,frameState:r,asynchronous:s});this._textureLoaders.push(u),this._textureIds.push(c),a.push(u.load())}return Promise.all(a)};Rr.ppeTexturesMetadataSchemaCache=new Map;Rr._createPpeTextureClassJson=function(e,t){let n=e.traits,i=n.source,o=e.offset??0,r=(e.scale??1)*255;return{name:`PPE texture class ${t}`,properties:{[i]:{name:"PPE",type:"SCALAR",componentType:"UINT8",normalized:!0,offset:o,scale:r,min:n.min,max:n.max}}}};Rr._obtainPpeTexturesMetadataSchema=function(e){let n=Rr._collectPpeTexturePropertyIdentifiers(e).toString(),i=Rr.ppeTexturesMetadataSchemaCache.get(n);if(l(i))return i;let r={id:`PPE_TEXTURE_SCHEMA_${Rr.ppeTexturesMetadataSchemaCache.size}`,classes:{}},s=e.ppeTextures;for(let a=0;a<s.length;a++){let c=s[a],u=`ppeTexture_${a}`,f=Rr._createPpeTextureClassJson(c,a);r.classes[u]=f}return i=bu.fromJson(r),Rr.ppeTexturesMetadataSchemaCache.set(n,i),i};Rr._collectPpeTexturePropertyIdentifiers=function(e){let t=[],n=e.ppeTextures;for(let i=0;i<n.length;i++){let o=n[i],r=Rr._createPpeTextureClassJson(o,i),s=JSON.stringify(r);t.push(s)}return t};Rr._convertToStructuralMetadata=function(e,t){let n=[],i=Rr._obtainPpeTexturesMetadataSchema(e),o=e.ppeTextures;for(let s=0;s<o.length;s++){let a=o[s],c=`ppeTexture_${s}`,f=a.traits.source,d=i.classes[c],p={class:c,properties:{[f]:{index:a.index,texCoord:a.texCoord}}};n.push(new r_({id:s,name:a.name,propertyTexture:p,class:d,textures:t}))}return new $s({schema:i,propertyTables:[],propertyTextures:n,propertyAttributes:[]})};Rr.prototype.process=function(e){if(this._state===yt.READY)return!0;if(this._state!==yt.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let u=0;u<n;++u){let d=t[u].process(e);i=i&&d}if(!i)return!1;let o={};for(let u=0;u<this._textureIds.length;++u){let f=this._textureIds[u],d=t[u];d.isDestroyed()||(o[f]=d.texture)}let r=[],s=this._extension;if(l(s.ppeTextures)){let u=s.ppeTextures;for(let f of u){let d=f.traits,p=new HR({min:d.min,max:d.max,source:d.source}),g=new zR({traits:p,noData:f.noData,offset:f.offset,scale:f.scale,index:f.index,texCoord:f.texCoord});r.push(g)}}let a=new GR(r);this._meshPrimitiveGpmLocal=a;let c=Rr._convertToStructuralMetadata(a,o);return this._structuralMetadata=c,this._state=yt.READY,!0};Rr.prototype._unloadTextures=function(){let e=this._textureLoaders,t=e.length;for(let n=0;n<t;++n)wi.unload(e[n]);this._textureLoaders.length=0,this._textureIds.length=0};Rr.prototype.unload=function(){this._unloadTextures(),this._gltf=void 0,this._extension=void 0,this._structuralMetadata=void 0};var WR=Rr;var{Attribute:I4e,Indices:P4e,FeatureIdAttribute:eae,FeatureIdTexture:tae,FeatureIdImplicitRange:nae,MorphTarget:R4e,Primitive:O4e,Instances:M4e,Skin:L4e,Node:N4e,AnimatedPropertyType:F4e,AnimationSampler:B4e,AnimationTarget:k4e,AnimationChannel:V4e,Animation:U4e,ArticulationStage:z4e,Articulation:H4e,Asset:G4e,Scene:W4e,Components:j4e,MetallicRoughness:q4e,SpecularGlossiness:Y4e,Specular:X4e,Anisotropy:FW,Clearcoat:BW,Material:K4e}=Cn,Vo={NOT_LOADED:0,LOADING:1,LOADED:2,PROCESSING:3,POST_PROCESSING:4,PROCESSED:5,READY:6,FAILED:7,UNLOADED:8};function Kd(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,typedArray:n,releaseGltfJson:i=!1,asynchronous:o=!0,incrementallyLoadTextures:r=!0,upAxis:s=Fo.Y,forwardAxis:a=Fo.Z,loadAttributesAsTypedArray:c=!1,loadAttributesFor2D:u=!1,enablePick:f=!1,loadIndicesForWireframe:d=!1,loadPrimitiveOutline:p=!0,loadForClassification:g=!1,renameBatchIdSemantic:m=!1}=e,{baseResource:x=t.clone()}=e;this._gltfJson=e.gltfJson,this._gltfResource=t,this._baseResource=x,this._typedArray=n,this._releaseGltfJson=i,this._asynchronous=o,this._incrementallyLoadTextures=r,this._upAxis=s,this._forwardAxis=a,this._loadAttributesAsTypedArray=c,this._loadAttributesFor2D=u,this._enablePick=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._loadForClassification=g,this._renameBatchIdSemantic=m,this._sortedPropertyTableIds=void 0,this._sortedFeatureTextureIds=void 0,this._gltfJsonLoader=void 0,this._state=Vo.NOT_LOADED,this._textureState=Vo.NOT_LOADED,this._promise=void 0,this._processError=void 0,this._textureErrors=[],this._primitiveLoadPlans=[],this._loaderPromises=[],this._textureLoaders=[],this._texturesPromises=[],this._textureCallbacks=[],this._bufferViewLoaders=[],this._geometryLoaders=[],this._geometryCallbacks=[],this._structuralMetadataLoader=void 0,this._meshPrimitiveGpmLoader=void 0,this._loadResourcesPromise=void 0,this._resourcesLoaded=!1,this._texturesLoaded=!1,this._supportedImageFormats=void 0,this._postProcessBuffers=[],this._components=void 0}l(Object.create)&&(Kd.prototype=Object.create(Ki.prototype),Kd.prototype.constructor=Kd);Object.defineProperties(Kd.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},gltfJson:{get:function(){return l(this._gltfJsonLoader)?this._gltfJsonLoader.gltf:this._gltfJson}},incrementallyLoadTextures:{get:function(){return this._incrementallyLoadTextures}},texturesLoaded:{get:function(){return this._texturesLoaded}}});async function Z4e(e){e._state=Vo.LOADING,e._textureState=Vo.LOADING;try{let t=wi.getGltfJsonLoader({gltfResource:e._gltfResource,baseResource:e._baseResource,typedArray:e._typedArray,gltfJson:e._gltfJson});return e._gltfJsonLoader=t,await t.load(),e.isDestroyed()||e.isUnloaded()||t.isDestroyed()?void 0:(e._state=Vo.LOADED,e._textureState=Vo.LOADED,e)}catch(t){if(e.isDestroyed())return;e._state=Vo.FAILED,e._textureState=Vo.FAILED,iz(e,t)}}async function $4e(e,t){Gt.supportsWebP.initialized||await Gt.supportsWebP.initialize(),e._supportedImageFormats=new NR({webp:Gt.supportsWebP(),basis:t.context.supportsBasis});let n=e8e(e,t);return e._state=Vo.PROCESSING,e._textureState=Vo.PROCESSING,l(e._gltfJsonLoader)&&e._releaseGltfJson&&(wi.unload(e._gltfJsonLoader),e._gltfJsonLoader=void 0),n}Kd.prototype.load=async function(){return l(this._promise)?this._promise:(this._promise=Z4e(this),this._promise)};function iz(e,t){throw e.unload(),e.getError("Failed to load glTF",t)}function Q4e(e,t){let n=!0,i=e._geometryLoaders;for(let s=0;s<i.length;++s){let a=i[s].process(t);a&&l(e._geometryCallbacks[s])&&(e._geometryCallbacks[s](),e._geometryCallbacks[s]=void 0),n=n&&a}let o=e._structuralMetadataLoader;if(l(o)){let s=o.process(t);s&&(e._components.structuralMetadata=o.structuralMetadata),n=n&&s}let r=e._meshPrimitiveGpmLoader;if(l(r)){let s=r.process(t);s&&(l(e._components.structuralMetadata)&&bt("structural-metadata-gpm","The model defines both the 'EXT_structural_metadata' extension and the 'NGA_gpm_local' extension. The data from the 'EXT_structural_metadata' extension will be replaced with the data from the 'NGA_gpm_local' extension, and will no longer be available for styling and picking."),e._components.structuralMetadata=r.structuralMetadata),n=n&&s}n&&(e._state=Vo.POST_PROCESSING)}function J4e(e,t){let n=e._primitiveLoadPlans;for(let i=0;i<n.length;i++){let o=n[i];o.postProcess(t),o.needsOutlines&&eHe(e,o)}}function eHe(e,t){let n=e._postProcessBuffers,i=t.primitive,o=i.outlineCoordinates;l(o)&&n.push(o.buffer);let r=i.attributes;for(let a=0;a<r.length;a++){let c=r[a];l(c.buffer)&&n.push(c.buffer)}let s=i.indices;l(s)&&l(s.buffer)&&n.push(s.buffer)}Kd.prototype._process=function(e){return this._state===Vo.READY?!0:(this._state===Vo.PROCESSING&&Q4e(this,e),this._resourcesLoaded&&this._state===Vo.POST_PROCESSING&&(J4e(this,e.context),this._state=Vo.PROCESSED),this._resourcesLoaded&&this._state===Vo.PROCESSED?(fae(this),this._typedArray=void 0,this._state=Vo.READY,!0):!1)};Kd.prototype._processTextures=function(e){if(this._textureState===Vo.READY)return!0;if(this._textureState!==Vo.PROCESSING)return!1;let t=!0,n=this._textureLoaders;for(let i=0;i<n.length;++i){let o=n[i].process(e);o&&l(this._textureCallbacks[i])&&(this._textureCallbacks[i](),this._textureCallbacks[i]=void 0),t=t&&o}return t?(this._textureState=Vo.READY,this._texturesLoaded=!0,!0):!1};Kd.prototype.process=function(e){if(this._state===Vo.LOADED&&!l(this._loadResourcesPromise)&&(this._loadResourcesPromise=$4e(this,e).then(()=>{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),l(this._processError)){this._state=Vo.FAILED;let o=this._processError;this._processError=void 0,iz(this,o)}let t=this._textureErrors.pop();if(l(t)){let o=this.getError("Failed to load glTF texture",t);throw o.name="TextureError",o}if(this._state===Vo.FAILED)return!1;let n=!1;try{n=this._process(e)}catch(o){this._state=Vo.FAILED,iz(this,o)}let i=!1;try{i=this._processTextures(e)}catch(o){this._textureState=Vo.FAILED,iz(this,o)}return this._incrementallyLoadTextures?n:n&&i};function tHe(e,t,n,i,o,r,s){let a=e.gltfJson,u=a.accessors[t].bufferView;return wi.getVertexBufferLoader({gltf:a,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:s,bufferViewId:u,draco:i,attributeSemantic:n,accessorId:t,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r})}function nHe(e,t,n,i,o,r){return wi.getIndexBufferLoader({gltf:e.gltfJson,accessorId:t,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:r,draco:n,asynchronous:e._asynchronous,loadBuffer:i,loadTypedArray:o})}function iHe(e,t){let n=wi.getBufferViewLoader({gltf:e.gltfJson,bufferViewId:t,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(n),n}function iae(e,t,n){let i=t.byteOffset,o=Rl(e,t),r=t.count,s=xu(t.type),a=t.componentType,c=X.getSizeInBytes(a),u=c*s,f=r*s;if(o===u)return n=new Uint8Array(n),X.createArrayBufferView(a,n.buffer,n.byteOffset+i,f);let d=X.createTypedArray(a,f),p=new DataView(n.buffer),g=new Array(s),m=Jp(t.componentType);i=n.byteOffset+i;for(let x=0;x<r;++x){m(p,i,s,c,g);for(let b=0;b<s;++b)d[x*s+b]=g[b];i+=o}return d}function oHe(e,t){let n=e.type;if(n===an.SCALAR)return t.fill(0);let i=an.getMathType(n);return t.fill(i.clone(i.ZERO))}function rHe(e,t,n,i){let o=e.type,r=e.count;if(o===an.SCALAR)for(let s=0;s<r;s++)n[s]=t[s];else if(o===an.VEC4&&i)for(let s=0;s<r;s++)n[s]=Le.unpack(t,s*4);else{let s=an.getMathType(o),a=an.getNumberOfComponents(o);for(let c=0;c<r;c++)n[c]=s.unpack(t,c*a)}return n}async function sHe(e,t,n,i,o){let{gltfJson:r}=e;if(await t.load(),e.isDestroyed())return;let s=iae(r,n,t.typedArray);i=y(i,!1),rHe(n,s,o,i)}function oz(e,t,n){let i=new Array(t.count),o=t.bufferView;if(l(o)){let r=iHe(e,o),s=sHe(e,r,t,n,i);return e._loaderPromises.push(s),i}return oHe(t,i)}function Tu(e,t){if(l(t))return e===Number?t[0]:e.unpack(t)}function aHe(e){return e===Number?0:new e}function cHe(e){switch(e){case X.BYTE:return 127;case X.UNSIGNED_BYTE:return 255;case X.SHORT:return 32767;case X.UNSIGNED_SHORT:return 65535;default:return 1}}var lHe={VEC2:new z(-1,-1),VEC3:new h(-1,-1,-1),VEC4:new ie(-1,-1,-1,-1)};function uHe(e,t){let n=cHe(e.componentDatatype),i=lHe[e.type],o=e.min;l(o)&&(o=t.divideByScalar(o,n,o),o=t.maximumByComponent(o,i,o));let r=e.max;l(r)&&(r=t.divideByScalar(r,n,r),r=t.maximumByComponent(r,i,r)),e.min=o,e.max=r}function fHe(e,t,n){let i=e.decodeMatrix,o=Tu(n,e.decodedMin),r=Tu(n,e.decodedMax);l(o)&&l(r)&&(t.min=o,t.max=r);let s=new Cn.Quantization;s.componentDatatype=t.componentDatatype,s.type=t.type,i.length===4?(s.quantizedVolumeOffset=i[2],s.quantizedVolumeStepSize=i[0]):i.length===9?(s.quantizedVolumeOffset=new z(i[6],i[7]),s.quantizedVolumeStepSize=new z(i[0],i[4])):i.length===16?(s.quantizedVolumeOffset=new h(i[12],i[13],i[14]),s.quantizedVolumeStepSize=new h(i[0],i[5],i[10])):i.length===25&&(s.quantizedVolumeOffset=new ie(i[20],i[21],i[22],i[23]),s.quantizedVolumeStepSize=new ie(i[0],i[6],i[12],i[18])),t.quantization=s}function dHe(e,t,n,i,o){let r=e.accessors[t],s=an.getMathType(r.type),a=y(r.normalized,!1),c=new I4e;c.name=n,c.semantic=i,c.setIndex=o,c.constant=aHe(s),c.componentDatatype=r.componentType,c.normalized=a,c.count=r.count,c.type=r.type,c.min=Tu(s,r.min),c.max=Tu(s,r.max),c.byteOffset=r.byteOffset,c.byteStride=Rl(e,r),si(r,"WEB3D_quantized_attributes")&&fHe(r.extensions.WEB3D_quantized_attributes,c,s);let u=c.semantic===St.POSITION||c.semantic===St.NORMAL||c.semantic===St.TANGENT||c.semantic===St.TEXCOORD;return e.extensionsRequired?.includes("KHR_mesh_quantization")&&a&&u&&uHe(c,s),c}function oae(e){let n=/^\w+_(\d+)$/.exec(e);if(n!==null)return parseInt(n[1])}var hHe={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function kW(e,t,n){let i=n;e._renameBatchIdSemantic&&(n==="_BATCHID"||n==="BATCHID")&&(i="_FEATURE_ID_0");let o=t.fromGltfSemantic(i),r=hHe;return r.gltfSemantic=n,r.renamedSemantic=i,r.modelSemantic=o,r}function mHe(e){let t=e===St.POSITION,n=e===St.FEATURE_ID,i=e===St.TEXCOORD;return t||n||i}function pHe(e,t,n,i){if(e.byteOffset=0,e.byteStride=void 0,e.quantization=t.quantization,n&&(e.buffer=t.buffer),i){let o=l(t.quantization)?t.quantization.componentDatatype:e.componentDatatype;e.typedArray=X.createArrayBufferView(o,t.typedArray.buffer)}}function _He(e,t,n,i,o,r){if(o&&(n.buffer=i.buffer),r){let s=i.typedArray;n.typedArray=iae(e,t,s),o||(n.byteOffset=0,n.byteStride=void 0)}}function rae(e,t,n,i,o,r,s){let a=e.gltfJson,c=a.accessors[t],u=c.bufferView,f=n.gltfSemantic,d=n.renamedSemantic,p=n.modelSemantic,g=l(p)?oae(d):void 0,x=dHe(a,t,f,p,g);if(!l(i)&&!l(u))return x;let b=tHe(e,t,f,i,o,r,s),T=e._geometryLoaders.length;e._geometryLoaders.push(b);let A=b.load();return e._loaderPromises.push(A),e._geometryCallbacks[T]=()=>{l(i)&&l(i.attributes)&&l(i.attributes[f])?pHe(x,b,o,r):_He(a,c,x,b,o,r)},x}function sae(e,t,n,i,o,r,s){let a=n.modelSemantic,c=a===St.POSITION,u=a===St.FEATURE_ID,f=c&&!o&&e._loadAttributesFor2D&&!s.scene3DOnly,d=c&&e._enablePick&&!s.context.webgl2,p=e._loadForClassification&&u,g=e._loadAttributesAsTypedArray,m=!g,x=g||f||d||p,A=rae(e,t,n,i,r?!1:m,r?!0:x,s),C=new Cb.AttributeLoadPlan(A);return C.loadBuffer=m,C.loadTypedArray=x,C}function gHe(e,t,n,i,o){let r=e.gltfJson.accessors,s=l(n.ROTATION),a=l(n.TRANSLATION)&&l(r[n.TRANSLATION].min)&&l(r[n.TRANSLATION].max),c=kW(e,as,i),u=c.modelSemantic,f=u===as.TRANSLATION||u===as.ROTATION||u===as.SCALE,d=u===as.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&f||!o.context.instancedArrays,g=e._enablePick&&!o.context.webgl2,m=!p,x=e._loadAttributesFor2D&&!o.scene3DOnly;return rae(e,t,c,void 0,m,p||d&&(!a||x||g),o)}function yHe(e,t,n,i,o,r){let s=e.gltfJson.accessors[t],a=s.bufferView;if(!l(n)&&!l(a))return;let c=new P4e;c.count=s.count;let u=e._loadAttributesAsTypedArray,f=(e._loadIndicesForWireframe||e._enablePick)&&!r.context.webgl2,d=e._loadForClassification&&i,g=!u,m=u||f||d,T=nHe(e,t,n,o?!1:g,o?!0:m,r),A=e._geometryLoaders.length;e._geometryLoaders.push(T);let C=T.load();e._loaderPromises.push(C),e._geometryCallbacks[A]=()=>{c.indexDatatype=T.indexDatatype,c.buffer=T.buffer,c.typedArray=T.typedArray};let E=new Cb.IndicesLoadPlan(c);return E.loadBuffer=g,E.loadTypedArray=m,E}function Jc(e,t,n,i){let o=e.gltfJson,r=Ol.getImageIdFromTexture({gltf:o,textureId:t.index,supportedImageFormats:e._supportedImageFormats});if(!l(r))return;let s=wi.getTextureLoader({gltf:o,textureInfo:t,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:n,asynchronous:e._asynchronous}),a=Ol.createModelTextureReader({textureInfo:t}),c=e._textureLoaders.length;e._textureLoaders.push(s);let u=s.load().catch(f=>{if(!e.isDestroyed()){if(!e._incrementallyLoadTextures)throw f;e._textureState=Vo.FAILED,e._textureErrors.push(f)}});return e._texturesPromises.push(u),e._textureCallbacks[c]=()=>{a.texture=s.texture,l(i)&&(a.texture.sampler=i)},a}function xHe(e,t,n){let{diffuseTexture:i,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=t,c=new Y4e;return l(i)&&(c.diffuseTexture=Jc(e,i,n)),l(o)&&(c.specularGlossinessTexture=Jc(e,o,n)),c.diffuseFactor=Tu(ie,r),c.specularFactor=Tu(h,s),c.glossinessFactor=a,c}function bHe(e,t,n){let{baseColorTexture:i,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=t,c=new q4e;return l(i)&&(c.baseColorTexture=Jc(e,i,n)),l(o)&&(c.metallicRoughnessTexture=Jc(e,o,n)),c.baseColorFactor=Tu(ie,r),c.metallicFactor=s,c.roughnessFactor=a,c}function THe(e,t,n){let{specularFactor:i,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=t,a=new X4e;return l(o)&&(a.specularTexture=Jc(e,o,n)),l(s)&&(a.specularColorTexture=Jc(e,s,n)),a.specularFactor=i,a.specularColorFactor=Tu(h,r),a}function CHe(e,t,n){let{anisotropyStrength:i=FW.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=FW.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=t,s=new FW;return l(r)&&(s.anisotropyTexture=Jc(e,r,n)),s.anisotropyStrength=i,s.anisotropyRotation=o,s}function AHe(e,t,n){let{clearcoatFactor:i=BW.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=BW.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=t,c=new BW;return l(o)&&(c.clearcoatTexture=Jc(e,o,n)),l(s)&&(c.clearcoatRoughnessTexture=Jc(e,s,n)),l(a)&&(c.clearcoatNormalTexture=Jc(e,a,n)),c.clearcoatFactor=i,c.clearcoatRoughnessFactor=r,c}function EHe(e,t,n){let i=new K4e,o=y(t.extensions,y.EMPTY_OBJECT),r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,u=t.pbrMetallicRoughness;return i.unlit=l(o.KHR_materials_unlit),l(r)?i.specularGlossiness=xHe(e,r,n):(l(u)&&(i.metallicRoughness=bHe(e,u,n)),l(s)&&!i.unlit&&(i.specular=THe(e,s,n)),l(a)&&!i.unlit&&(i.anisotropy=CHe(e,a,n)),l(c)&&!i.unlit&&(i.clearcoat=AHe(e,c,n))),l(t.emissiveTexture)&&(i.emissiveTexture=Jc(e,t.emissiveTexture,n)),l(t.normalTexture)&&!e._loadForClassification&&(i.normalTexture=Jc(e,t.normalTexture,n)),l(t.occlusionTexture)&&(i.occlusionTexture=Jc(e,t.occlusionTexture,n)),i.emissiveFactor=Tu(h,t.emissiveFactor),i.alphaMode=t.alphaMode,i.alphaCutoff=t.alphaCutoff,i.doubleSided=t.doubleSided,i}function aae(e,t){let n=new eae;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function cae(e,t,n,i){let o=new eae,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=oae(r.attribute),o.positionalLabel=i,o}function lae(e,t){let n=new nae;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function uae(e,t,n,i){let o=new nae,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function SHe(e,t,n,i){let o=new tae;o.featureCount=t.featureCount,o.nullFeatureId=t.nullFeatureId,o.propertyTableId=t.propertyTable,o.label=t.label,o.positionalLabel=i;let r=t.texture;o.textureReader=Jc(e,r,n,Qt.NEAREST);let a=(l(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function vHe(e,t,n,i,o,r){let s=new tae,a=t.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=n,s.textureReader=Jc(e,c,i,Qt.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function wHe(e,t,n,i,o){let r=new R4e,s=void 0,a=!1;for(let c in t){if(!t.hasOwnProperty(c))continue;let u=t[c],f=kW(e,St,c),d=sae(e,u,f,s,a,n,o);r.attributes.push(d.attribute),i.attributePlans.push(d)}return r}function DHe(e,t,n,i){let o=new O4e,r=new Cb(o);e._primitiveLoadPlans.push(r);let s=t.material;l(s)&&(o.material=EHe(e,e.gltfJson.materials[s],i));let a=y(t.extensions,y.EMPTY_OBJECT),c=!1,u=a.CESIUM_primitive_outline;e._loadPrimitiveOutline&&l(u)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=IHe(e,u,r));let f=e._loadForClassification,d=a.KHR_draco_mesh_compression,p=!1,g=t.attributes;if(l(g))for(let v in g){if(!g.hasOwnProperty(v))continue;let D=g[v],O=kW(e,St,v),R=O.modelSemantic;if(f&&!mHe(R))continue;R===St.FEATURE_ID&&(p=!0);let M=sae(e,D,O,d,n,c,i);r.attributePlans.push(M),o.attributes.push(M.attribute)}let m=t.targets;if(l(m)&&!f)for(let v=0;v<m.length;++v)o.morphTargets.push(wHe(e,m[v],c,r,i));let x=t.indices;if(l(x)){let v=yHe(e,x,d,p,c,i);l(v)&&(r.indicesPlan=v,o.indices=v.indices)}let b=a.EXT_structural_metadata,T=a.EXT_mesh_features,A=a.EXT_feature_metadata,C=l(A);l(T)?PHe(e,o,T,i):C&&RHe(e,o,A,i),l(b)?OHe(o,b):C&&MHe(e,o,A);let E=t.mode;if(f&&E!==Ne.TRIANGLES)throw new se("Only triangle meshes can be used for classification.");return o.primitiveType=E,o}function IHe(e,t){let n=t.indices,i=e.gltfJson.accessors[n];return oz(e,i,!1)}function PHe(e,t,n,i){let o;l(n)&&l(n.featureIds)?o=n.featureIds:o=[];for(let r=0;r<o.length;r++){let s=o[r],a=`featureId_${r}`,c;l(s.texture)?c=SHe(e,s,i,a):l(s.attribute)?c=aae(s,a):c=lae(s,a),t.featureIds.push(c)}}function RHe(e,t,n,i){let{featureTables:o}=e.gltfJson.extensions.EXT_feature_metadata,r=0,s=n.featureIdAttributes;if(l(s))for(let c=0;c<s.length;++c){let u=s[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m;l(u.featureIds.attribute)?m=cae(u,d,p,g):m=uae(u,d,p,g),t.featureIds.push(m)}let a=n.featureIdTextures;if(l(a))for(let c=0;c<a.length;++c){let u=a[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m=vHe(e,u,d,i,p,g);t.featureIds.push(m)}}function OHe(e,t){l(t)&&(l(t.propertyTextures)&&(e.propertyTextureIds=t.propertyTextures),l(t.propertyAttributes)&&(e.propertyAttributeIds=t.propertyAttributes))}function MHe(e,t,n){l(n.featureTextures)&&(t.propertyTextureIds=n.featureTextures.map(function(i){return e._sortedFeatureTextureIds.indexOf(i)}))}function LHe(e,t,n){let i=t.EXT_mesh_gpu_instancing,o=new M4e,r=i.attributes;if(l(r))for(let u in r){if(!r.hasOwnProperty(u))continue;let f=r[u];o.attributes.push(gHe(e,f,r,u,n))}let s=y(i.extensions,y.EMPTY_OBJECT),a=t.EXT_instance_features,c=s.EXT_feature_metadata;return l(a)?NHe(o,a):l(c)&&FHe(e.gltfJson,o,c,e._sortedPropertyTableIds),o}function NHe(e,t){let n=t.featureIds;for(let i=0;i<n.length;i++){let o=n[i],r=`instanceFeatureId_${i}`,s;l(o.attribute)?s=aae(o,r):s=lae(o,r),e.featureIds.push(s)}}function FHe(e,t,n,i){let o=e.extensions.EXT_feature_metadata.featureTables,r=n.featureIdAttributes;if(l(r))for(let s=0;s<r.length;++s){let a=r[s],c=a.featureTable,u=i.indexOf(c),f=o[c].count,d=`instanceFeatureId_${s}`,p;l(a.featureIds.attribute)?p=cae(a,u,f,d):p=uae(a,u,f,d),t.featureIds.push(p)}}function BHe(e,t,n){let i=new N4e;i.name=t.name,i.matrix=Tu(F,t.matrix),i.translation=Tu(h,t.translation),i.rotation=Tu(Le,t.rotation),i.scale=Tu(h,t.scale);let o=y(t.extensions,y.EMPTY_OBJECT),r=o.EXT_mesh_gpu_instancing,s=o.AGI_articulations;if(l(r)){if(e._loadForClassification)throw new se("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");i.instances=LHe(e,o,n)}l(s)&&(i.articulationName=s.articulationName);let a=t.mesh;if(l(a)){let c=e.gltfJson.meshes[a],u=c.primitives;for(let p=0;p<u.length;++p)i.primitives.push(DHe(e,u[p],l(i.instances),n));let f=y(t.weights,c.weights),d=i.primitives[0].morphTargets;i.morphWeights=l(f)?f.slice():new Array(d.length).fill(0)}return i}function kHe(e,t){let n=e.gltfJson.nodes;if(!l(n))return[];let i=n.map(function(o,r){let s=BHe(e,o,t);return s.index=r,s});for(let o=0;o<i.length;++o){let r=n[o].children;if(l(r))for(let s=0;s<r.length;++s)i[o].children.push(i[r[s]])}return i}function VHe(e,t,n){let i=new L4e,o=t.joints;i.joints=o.map(s=>n[s]);let r=t.inverseBindMatrices;if(l(r)){let s=e.gltfJson.accessors[r];i.inverseBindMatrices=oz(e,s)}else i.inverseBindMatrices=new Array(o.length).fill(F.IDENTITY);return i}function UHe(e,t){let n=e.gltfJson.skins;if(e._loadForClassification||!l(n))return[];let i=n.map(function(r,s){let a=VHe(e,r,t);return a.index=s,a}),o=e.gltfJson.nodes;for(let r=0;r<t.length;++r){let s=o[r].skin;l(s)&&(t[r].skin=i[s])}return i}async function zHe(e,t,n,i){let o=new LR({gltf:e.gltfJson,extension:t,extensionLegacy:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._structuralMetadataLoader=o,o.load()}async function HHe(e,t,n,i){let o=new WR({gltf:t,extension:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._meshPrimitiveGpmLoader=o,o.load()}function GHe(e,t){let n=new B4e,i=e.gltfJson.accessors,o=i[t.input];n.input=oz(e,o);let r=t.interpolation;n.interpolation=y(Xd[r],Xd.LINEAR);let s=i[t.output];return n.output=oz(e,s,!0),n}function WHe(e,t){let n=new k4e,i=e.node;if(!l(i))return;n.node=t[i];let o=e.path.toUpperCase();return n.path=F4e[o],n}function jHe(e,t,n){let i=new V4e,o=e.sampler;return i.sampler=t[o],i.target=WHe(e.target,n),i}function qHe(e,t,n){let i=new U4e;i.name=t.name;let o=t.samplers.map(function(s,a){let c=GHe(e,s);return c.index=a,c}),r=t.channels.map(function(s){return jHe(s,o,n)});return i.samplers=o,i.channels=r,i}function YHe(e,t){let n=e.gltfJson.animations;return e._loadForClassification||!l(n)?[]:n.map(function(o,r){let s=qHe(e,o,t);return s.index=r,s})}function XHe(e){let t=new z4e;t.name=e.name;let n=e.type.toUpperCase();return t.type=mc[n],t.minimumValue=e.minimumValue,t.maximumValue=e.maximumValue,t.initialValue=e.initialValue,t}function KHe(e){let t=new H4e;return t.name=e.name,t.stages=e.stages.map(XHe),t}function ZHe(e){let n=y(e.extensions,y.EMPTY_OBJECT).AGI_articulations?.articulations;return l(n)?n.map(KHe):[]}function $He(e){let t;return l(e.scenes)&&l(e.scene)&&(t=e.scenes[e.scene].nodes),t=y(t,e.nodes),t=l(t)?t:[],t}function QHe(e,t){let n=new W4e,i=$He(e);return n.nodes=i.map(function(o){return t[o]}),n}var JHe=new h;function e8e(e,t){let n=e.gltfJson,i=y(n.extensions,y.EMPTY_OBJECT),o=i.EXT_structural_metadata,r=i.EXT_feature_metadata,s=i.CESIUM_RTC;if(l(r)){let A=r.featureTables,C=r.featureTextures,E=l(A)?A:[],v=l(C)?C:[];e._sortedPropertyTableIds=Object.keys(E).sort(),e._sortedFeatureTextureIds=Object.keys(v).sort()}let a=kHe(e,t),c=UHe(e,a),u=YHe(e,a),f=ZHe(n),d=QHe(n,a),p=new j4e,g=new G4e,m=n.asset.copyright;if(l(m)){let A=m.split(";").map(function(C){return new At(C.trim())});g.credits=A}if(p.asset=g,p.scene=d,p.nodes=a,p.skins=c,p.animations=u,p.articulations=f,p.upAxis=e._upAxis,p.forwardAxis=e._forwardAxis,l(s)){let A=h.fromArray(s.center,0,JHe);p.transform=F.fromTranslation(A,p.transform)}if(e._components=p,l(o)||l(r)){let A=zHe(e,o,r,t);e._loaderPromises.push(A)}let x=i.NGA_gpm_local;if(l(x)){let A=UR.load(x);e._components.extensions.NGA_gpm_local=A}let b=n.meshes;if(l(b))for(let A of b){let C=A.primitives;if(l(C))for(let E of C){let v=E.extensions;if(l(v)){let D=v.NGA_gpm_local;if(l(D)){let O=HHe(e,n,D,t);e._loaderPromises.push(O)}}}}let T=[];return T.push.apply(T,e._loaderPromises),e._incrementallyLoadTextures||T.push.apply(T,e._texturesPromises),Promise.all(T)}function t8e(e){let t=e._textureLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&wi.unload(t[n]);e._textureLoaders.length=0}function fae(e){let t=e._bufferViewLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&wi.unload(t[n]);e._bufferViewLoaders.length=0}function n8e(e){let t=e._geometryLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&wi.unload(t[n]);e._geometryLoaders.length=0}function i8e(e){let t=e._postProcessBuffers;for(let n=0;n<t.length;n++){let i=t[n];i.isDestroyed()||i.destroy()}t.length=0}function o8e(e){l(e._structuralMetadataLoader)&&!e._structuralMetadataLoader.isDestroyed()&&(e._structuralMetadataLoader.destroy(),e._structuralMetadataLoader=void 0)}function r8e(e){l(e._meshPrimitiveGpmLoader)&&!e._meshPrimitiveGpmLoader.isDestroyed()&&(e._meshPrimitiveGpmLoader.destroy(),e._meshPrimitiveGpmLoader=void 0)}Kd.prototype.isUnloaded=function(){return this._state===Vo.UNLOADED};Kd.prototype.unload=function(){l(this._gltfJsonLoader)&&!this._gltfJsonLoader.isDestroyed()&&wi.unload(this._gltfJsonLoader),this._gltfJsonLoader=void 0,t8e(this),fae(this),n8e(this),i8e(this),o8e(this),r8e(this),this._components=void 0,this._typedArray=void 0,this._state=Vo.UNLOADED};var s_=Kd;var jR=`uniform sampler2D u_pointCloud_colorGBuffer; +uniform sampler2D u_pointCloud_depthGBuffer; +uniform vec2 u_distanceAndEdlStrength; +in vec2 v_textureCoordinates; - // If a feature ID vertex attribute is used, the pass type filter is applied in the vertex shader. - // So, we only apply in in the fragment shader if the feature ID texture is used. - #if defined(HAS_SELECTED_FEATURE_ID_TEXTURE) && !defined(HAS_CLASSIFICATION) - filterByPassType(featureColor); - #endif +vec2 neighborContribution(float log2Depth, vec2 offset) +{ + float dist = u_distanceAndEdlStrength.x; + vec2 texCoordOrig = v_textureCoordinates + offset * dist; + vec2 texCoord0 = v_textureCoordinates + offset * floor(dist); + vec2 texCoord1 = v_textureCoordinates + offset * ceil(dist); - featureColor = czm_gammaCorrect(featureColor); + float depthOrLogDepth0 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord0)); + float depthOrLogDepth1 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord1)); - // Classification models compute the diffuse differently. - #ifdef HAS_CLASSIFICATION - material.diffuse = featureColor.rgb * featureColor.a; - #else - float highlight = ceil(model_colorBlend); - material.diffuse *= mix(featureColor.rgb, vec3(1.0), highlight); - #endif - - material.alpha *= featureColor.a; -} -`;var Rae={name:"CPUStylingPipelineStage"};Rae.process=function(e,t,n){let i=e.model,o=e.shaderBuilder;o.addVertexLines(AO),o.addFragmentLines(EO),o.addDefine("USE_CPU_STYLING",void 0,pe.BOTH),l(i.color)||(o.addUniform("float",Cy.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),e.uniformMap[Cy.COLOR_BLEND_UNIFORM_NAME]=function(){return hc.getColorBlend(i.colorBlendMode,i.colorBlendAmount)}),o.addUniform("bool","model_commandTranslucent",pe.BOTH),e.uniformMap.model_commandTranslucent=function(){return e.alphaOptions.pass===Se.TRANSLUCENT}};var SO=Rae;var Oae={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};Oae.getDefineName=function(e){return`CUSTOM_SHADER_${e}`};var c_=Object.freeze(Oae);var vO=`void customShaderStage( - inout czm_modelVertexOutput vsOutput, - inout ProcessedAttributes attributes, - FeatureIds featureIds, - Metadata metadata, - MetadataClass metadataClass, - MetadataStatistics metadataStatistics -) { - // VertexInput and initializeInputStruct() are dynamically generated in JS, - // see CustomShaderPipelineStage.js - VertexInput vsInput; - initializeInputStruct(vsInput, attributes); - vsInput.featureIds = featureIds; - vsInput.metadata = metadata; - vsInput.metadataClass = metadataClass; - vsInput.metadataStatistics = metadataStatistics; - vertexMain(vsInput, vsOutput); - attributes.positionMC = vsOutput.positionMC; -} -`;var wO=`void customShaderStage( - inout czm_modelMaterial material, - ProcessedAttributes attributes, - FeatureIds featureIds, - Metadata metadata, - MetadataClass metadataClass, - MetadataStatistics metadataStatistics -) { - // FragmentInput and initializeInputStruct() are dynamically generated in JS, - // see CustomShaderPipelineStage.js - FragmentInput fsInput; - initializeInputStruct(fsInput, attributes); - fsInput.featureIds = featureIds; - fsInput.metadata = metadata; - fsInput.metadataClass = metadataClass; - fsInput.metadataStatistics = metadataStatistics; - fragmentMain(fsInput, material); -} -`;var DO=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) { - initializeFeatureIds(featureIds, attributes); - initializeFeatureIdAliases(featureIds); -} -`;var IO=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) -{ - initializeFeatureIds(featureIds, attributes); - initializeFeatureIdAliases(featureIds); - setFeatureIdVaryings(); -} -`;var Wi={name:"FeatureIdPipelineStage",STRUCT_ID_FEATURE_IDS_VS:"FeatureIdsVS",STRUCT_ID_FEATURE_IDS_FS:"FeatureIdsFS",STRUCT_NAME_FEATURE_IDS:"FeatureIds",FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS:"initializeFeatureIdsVS",FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS:"initializeFeatureIdsFS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS:"initializeFeatureIdAliasesVS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS:"initializeFeatureIdAliasesFS",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS:"void initializeFeatureIds(out FeatureIds featureIds, ProcessedAttributes attributes)",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES:"void initializeFeatureIdAliases(inout FeatureIds featureIds)",FUNCTION_ID_SET_FEATURE_ID_VARYINGS:"setFeatureIdVaryings",FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS:"void setFeatureIdVaryings()"};Wi.process=function(e,t,n){let i=e.shaderBuilder;sGe(i);let o=e.runtimeNode.node.instances;l(o)&&aGe(e,o,n),cGe(e,t,n),i.addVertexLines(IO),i.addFragmentLines(DO)};function sGe(e){e.addStruct(Wi.STRUCT_ID_FEATURE_IDS_VS,Wi.STRUCT_NAME_FEATURE_IDS,pe.VERTEX),e.addStruct(Wi.STRUCT_ID_FEATURE_IDS_FS,Wi.STRUCT_NAME_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,Wi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.VERTEX),e.addFunction(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,Wi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Wi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,Wi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.VERTEX),e.addFunction(Wi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,Wi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.FRAGMENT),e.addFunction(Wi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,Wi.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS,pe.VERTEX)}function aGe(e,t,n){let i=t.featureIds,o=t.attributes[0].count;for(let r=0;r<i.length;r++){let s=i[r],a=s.positionalLabel;s instanceof Tn.FeatureIdAttribute?lGe(e,s,a):Mae(e,s,a,o,1,n);let c=s.label;l(c)&&Lae(e,a,c,pe.BOTH)}}function cGe(e,t,n){let i=t.featureIds,r=Xt.getAttributeBySemantic(t,At.POSITION).count;for(let s=0;s<i.length;s++){let a=i[s],c=a.positionalLabel,u=pe.BOTH;a instanceof Tn.FeatureIdAttribute?uGe(e,a,c):a instanceof Tn.FeatureIdImplicitRange?Mae(e,a,c,r,void 0,n):(fGe(e,a,c,s,n),u=pe.FRAGMENT);let f=a.label;l(f)&&Lae(e,c,f,u)}}function lGe(e,t,n){let i=e.shaderBuilder;i.addStructField(Wi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Wi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=`a_${r}${o}`,a=`v_${r}${o}`,c=`featureIds.${n} = int(czm_round(${s}));`,u=`featureIds.${n} = int(czm_round(${a}));`;i.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[c]),i.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[u]),i.addVarying("float",a),i.addFunctionLines(Wi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${a} = ${s};`])}function uGe(e,t,n){let i=e.shaderBuilder;i.addStructField(Wi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Wi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=[`featureIds.${n} = int(czm_round(attributes.${r}${o}));`];i.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,s),i.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,s)}function Mae(e,t,n,i,o,r){dGe(e,t,i,o,r);let s=e.shaderBuilder,a=`a_implicit_${n}`;s.addAttribute("float",a);let c=`v_implicit_${n}`;s.addVarying("float",c),s.addStructField(Wi.STRUCT_ID_FEATURE_IDS_VS,"int",n),s.addStructField(Wi.STRUCT_ID_FEATURE_IDS_FS,"int",n),s.addFunctionLines(Wi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${c} = ${a};`]),s.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[`featureIds.${n} = int(czm_round(${a}));`]),s.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[`featureIds.${n} = int(czm_round(${c}));`])}function fGe(e,t,n,i,o){let r=`u_featureIdTexture_${i}`,s=e.uniformMap,a=t.textureReader;s[r]=function(){return y(a.texture,o.context.defaultTexture)};let c=a.channels,u=e.shaderBuilder;u.addStructField(Wi.STRUCT_ID_FEATURE_IDS_FS,"int",n),u.addUniform("sampler2D",r,pe.FRAGMENT);let d=`v_texCoord_${a.texCoord}`,p=d,g=a.transform;if(l(g)&&!$.equals(g,$.IDENTITY)){let b=`${r}Transform`;u.addUniform("mat3",b,pe.FRAGMENT),s[b]=function(){return g},p=`vec2(${b} * vec3(${d}, 1.0))`}let m=`texture(${r}, ${p}).${c}`,x=`featureIds.${n} = czm_unpackUint(${m});`;u.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[x])}function Lae(e,t,n,i){let o=e.shaderBuilder,r=pe.includesVertexShader(i);r&&o.addStructField(Wi.STRUCT_ID_FEATURE_IDS_VS,"int",n),o.addStructField(Wi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let s=[`featureIds.${n} = featureIds.${t};`];r&&o.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,s),o.addFunctionLines(Wi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,s)}function dGe(e,t,n,i,o){let r=e.model,s,a;if(l(t.repeat)){let u=hGe(t,n);s=pt.createVertexBuffer({context:o.context,typedArray:u,usage:ke.STATIC_DRAW}),s.vertexArrayDestroyable=!1,r._pipelineResources.push(s),r.statistics.addBuffer(s,!1)}else a=[t.offset];let c={index:e.attributeIndex++,instanceDivisor:i,value:a,vertexBuffer:s,normalize:!1,componentsPerAttribute:1,componentDatatype:X.FLOAT,strideInBytes:X.getSizeInBytes(X.FLOAT),offsetInBytes:0};e.attributes.push(c)}function hGe(e,t){let n=e.offset,i=e.repeat,o=new Float32Array(t);for(let r=0;r<t;r++)o[r]=n+Math.floor(r/i);return o}var Ay=Wi;var PO=`void metadataStage( - out Metadata metadata, - out MetadataClass metadataClass, - out MetadataStatistics metadataStatistics, - ProcessedAttributes attributes - ) -{ - initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); -} -`;var RO=`void metadataStage( - out Metadata metadata, - out MetadataClass metadataClass, - out MetadataStatistics metadataStatistics, - ProcessedAttributes attributes - ) -{ - initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); - setMetadataVaryings(); + // ignore depth values that are the clear depth + if (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) { + return vec2(0.0); + } + + // interpolate the two adjacent depth values + float depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist)); + vec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix); + return vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0); } -`;var vi={name:"MetadataPipelineStage",STRUCT_ID_METADATA_VS:"MetadataVS",STRUCT_ID_METADATA_FS:"MetadataFS",STRUCT_NAME_METADATA:"Metadata",STRUCT_ID_METADATA_CLASS_VS:"MetadataClassVS",STRUCT_ID_METADATA_CLASS_FS:"MetadataClassFS",STRUCT_NAME_METADATA_CLASS:"MetadataClass",STRUCT_ID_METADATA_STATISTICS_VS:"MetadataStatisticsVS",STRUCT_ID_METADATA_STATISTICS_FS:"MetadataStatisticsFS",STRUCT_NAME_METADATA_STATISTICS:"MetadataStatistics",FUNCTION_ID_INITIALIZE_METADATA_VS:"initializeMetadataVS",FUNCTION_ID_INITIALIZE_METADATA_FS:"initializeMetadataFS",FUNCTION_SIGNATURE_INITIALIZE_METADATA:"void initializeMetadata(out Metadata metadata, out MetadataClass metadataClass, out MetadataStatistics metadataStatistics, ProcessedAttributes attributes)",FUNCTION_ID_SET_METADATA_VARYINGS:"setMetadataVaryings",FUNCTION_SIGNATURE_SET_METADATA_VARYINGS:"void setMetadataVaryings()",METADATA_CLASS_FIELDS:[{specName:"noData",shaderName:"noData"},{specName:"default",shaderName:"defaultValue"},{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"}],METADATA_STATISTICS_FIELDS:[{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"},{specName:"mean",shaderName:"mean",type:"float"},{specName:"median",shaderName:"median"},{specName:"standardDeviation",shaderName:"standardDeviation",type:"float"},{specName:"variance",shaderName:"variance",type:"float"},{specName:"sum",shaderName:"sum"}]};vi.process=function(e,t,n){let{shaderBuilder:i,model:o}=e,{structuralMetadata:r={},content:s}=o,a=s?.tileset.metadataExtension?.statistics,c=mGe(r.propertyAttributes,t,a),u=_Ge(r.propertyTextures,a),f=c.concat(u);yGe(i,f),TGe(i),i.addVertexLines(RO),i.addFragmentLines(PO);for(let d=0;d<c.length;d++){let p=c[d];CGe(e,p)}for(let d=0;d<u.length;d++){let p=u[d];EGe(e,p)}};function mGe(e,t,n){return l(e)?e.flatMap(i=>pGe(i,t,n)):[]}function pGe(e,t,n){let{getAttributeByName:i,getAttributeInfo:o,sanitizeGlslIdentifier:r}=Xt,s=e.class.id,a=n?.classes[s],c=Object.entries(e.properties),u=new Array(c.length);for(let f=0;f<c.length;f++){let[d,p]=c[f],g=i(t,p.attribute),{glslType:m,variableName:x}=o(g);u[f]={metadataVariable:r(d),property:p,type:p.classProperty.type,glslType:m,variableName:x,propertyStatistics:a?.properties[d],shaderDestination:pe.BOTH}}return u}function _Ge(e,t){return l(e)?e.flatMap(n=>gGe(n,t)):[]}function gGe(e,t){let{sanitizeGlslIdentifier:n}=Xt,i=e.class.id,o=t?.classes[i],r=Object.entries(e.properties).filter(([a,c])=>c.isGpuCompatible()),s=new Array(r.length);for(let a=0;a<r.length;a++){let[c,u]=r[a];s[a]={metadataVariable:n(c),property:u,type:u.classProperty.type,glslType:u.getGlslType(),propertyStatistics:o?.properties[c],shaderDestination:pe.FRAGMENT}}return s}function yGe(e,t){let n=new Set,i=new Set;for(let a=0;a<t.length;a++){let{type:c,glslType:u,propertyStatistics:f}=t[a];n.add(u),l(f)&&c!==Et.ENUM&&i.add(u)}let o=vi.METADATA_CLASS_FIELDS;for(let a of n){let c=`${a}MetadataClass`;s(c,a,o)}let r=vi.METADATA_STATISTICS_FIELDS;for(let a of i){let c=`${a}MetadataStatistics`;s(c,a,r)}function s(a,c,u){e.addStruct(a,a,pe.BOTH);for(let f=0;f<u.length;f++){let{shaderName:d}=u[f],p=u[f].type==="float"?bGe(c):c;e.addStructField(a,p,d)}}}var xGe={int:"float",ivec2:"vec2",ivec3:"vec3",ivec4:"vec4"};function bGe(e){let t=xGe[e];return l(t)?t:e}function TGe(e){e.addStruct(vi.STRUCT_ID_METADATA_VS,vi.STRUCT_NAME_METADATA,pe.VERTEX),e.addStruct(vi.STRUCT_ID_METADATA_FS,vi.STRUCT_NAME_METADATA,pe.FRAGMENT),e.addStruct(vi.STRUCT_ID_METADATA_CLASS_VS,vi.STRUCT_NAME_METADATA_CLASS,pe.VERTEX),e.addStruct(vi.STRUCT_ID_METADATA_CLASS_FS,vi.STRUCT_NAME_METADATA_CLASS,pe.FRAGMENT),e.addStruct(vi.STRUCT_ID_METADATA_STATISTICS_VS,vi.STRUCT_NAME_METADATA_STATISTICS,pe.VERTEX),e.addStruct(vi.STRUCT_ID_METADATA_STATISTICS_FS,vi.STRUCT_NAME_METADATA_STATISTICS,pe.FRAGMENT),e.addFunction(vi.FUNCTION_ID_INITIALIZE_METADATA_VS,vi.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.VERTEX),e.addFunction(vi.FUNCTION_ID_INITIALIZE_METADATA_FS,vi.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.FRAGMENT),e.addFunction(vi.FUNCTION_ID_SET_METADATA_VARYINGS,vi.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS,pe.VERTEX)}function CGe(e,t){AGe(e,t),Nae(e.shaderBuilder,t),Fae(e.shaderBuilder,t)}function AGe(e,t){let{shaderBuilder:n}=e,{metadataVariable:i,property:o,glslType:r}=t,s=kae({valueExpression:`attributes.${t.variableName}`,renderResources:e,glslType:r,metadataVariable:i,shaderDestination:pe.BOTH,property:o});n.addStructField(vi.STRUCT_ID_METADATA_VS,r,i),n.addStructField(vi.STRUCT_ID_METADATA_FS,r,i);let a=`metadata.${i} = ${s};`;n.addFunctionLines(vi.FUNCTION_ID_INITIALIZE_METADATA_VS,[a]),n.addFunctionLines(vi.FUNCTION_ID_INITIALIZE_METADATA_FS,[a])}function EGe(e,t){SGe(e,t),Nae(e.shaderBuilder,t),Fae(e.shaderBuilder,t)}function SGe(e,t){let{shaderBuilder:n,uniformMap:i}=e,{metadataVariable:o,glslType:r,property:s}=t,{texCoord:a,channels:c,index:u,texture:f,transform:d}=s.textureReader,p=`u_propertyTexture_${u}`;i.hasOwnProperty(p)||(n.addUniform("sampler2D",p,pe.FRAGMENT),i[p]=()=>f),n.addStructField(vi.STRUCT_ID_METADATA_FS,r,o);let g=`attributes.texCoord_${a}`,m=g;if(l(d)&&!$.equals(d,$.IDENTITY)){let C=`${p}Transform`;n.addUniform("mat3",C,pe.FRAGMENT),i[C]=function(){return d},m=`vec2(${C} * vec3(${g}, 1.0))`}let x=`texture(${p}, ${m}).${c}`,b=s.unpackInShader(x),T=kae({valueExpression:b,renderResources:e,glslType:r,metadataVariable:o,shaderDestination:pe.FRAGMENT,property:s}),A=`metadata.${o} = ${T};`;n.addFunctionLines(vi.FUNCTION_ID_INITIALIZE_METADATA_FS,[A])}function Nae(e,t){let{classProperty:n}=t.property,{metadataVariable:i,glslType:o,shaderDestination:r}=t,s=Bae(vi.METADATA_CLASS_FIELDS,n,`metadataClass.${i}`,o),a=`${o}MetadataClass`;e.addStructField(vi.STRUCT_ID_METADATA_CLASS_FS,a,i),e.addFunctionLines(vi.FUNCTION_ID_INITIALIZE_METADATA_FS,s),pe.includesVertexShader(r)&&(e.addStructField(vi.STRUCT_ID_METADATA_CLASS_VS,a,i),e.addFunctionLines(vi.FUNCTION_ID_INITIALIZE_METADATA_VS,s))}function Fae(e,t){let{propertyStatistics:n}=t;if(!l(n))return;let{metadataVariable:i,type:o,glslType:r}=t;if(o===Et.ENUM)return;let s=vi.METADATA_STATISTICS_FIELDS,a=`metadataStatistics.${i}`,c=Bae(s,n,a,r),u=`${r}MetadataStatistics`;e.addStructField(vi.STRUCT_ID_METADATA_STATISTICS_FS,u,i),e.addFunctionLines(vi.FUNCTION_ID_INITIALIZE_METADATA_FS,c),pe.includesVertexShader(t.shaderDestination)&&(e.addStructField(vi.STRUCT_ID_METADATA_STATISTICS_VS,u,i),e.addFunctionLines(vi.FUNCTION_ID_INITIALIZE_METADATA_VS,c))}function Bae(e,t,n,i){function o(r){let s=t[r.specName];if(l(s))return`${n}.${r.shaderName} = ${i}(${s});`}return l(t)?e.map(o).filter(l):[]}function kae(e){let{valueExpression:t,property:n}=e;if(!n.hasValueTransform)return t;let i=e.metadataVariable,o=`u_${i}_offset`,r=`u_${i}_scale`,{shaderBuilder:s,uniformMap:a}=e.renderResources,{glslType:c,shaderDestination:u}=e;s.addUniform(c,o,u),s.addUniform(c,r,u);let{offset:f,scale:d}=n;return a[o]=()=>f,a[r]=()=>d,`czm_valueTransform(${o}, ${r}, ${t})`}var vf=vi;var vGe={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},Ey=Object.freeze(vGe);var Vae=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],WW=1,OO=8,xb=class e{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");let[n,i]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");let o=i>>4;if(o!==WW)throw new Error(`Got v${o} data when expected v${WW}.`);let r=Vae[i&15];if(!r)throw new Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new e(a,s,r,t)}constructor(t,n=64,i=Float64Array,o){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let r=Vae.indexOf(this.ArrayType),s=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-a%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,OO,t),this.coords=new this.ArrayType(this.data,OO+a+c,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(OO+s+a+c),this.ids=new this.IndexArrayType(this.data,OO,t),this.coords=new this.ArrayType(this.data,OO+a+c,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(WW<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=n,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return qW(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:r,coords:s,nodeSize:a}=this,c=[0,r.length-1,0],u=[];for(;c.length;){let f=c.pop()||0,d=c.pop()||0,p=c.pop()||0;if(d-p<=a){for(let b=p;b<=d;b++){let T=s[2*b],A=s[2*b+1];T>=t&&T<=i&&A>=n&&A<=o&&u.push(r[b])}continue}let g=p+d>>1,m=s[2*g],x=s[2*g+1];m>=t&&m<=i&&x>=n&&x<=o&&u.push(r[g]),(f===0?t<=m:n<=x)&&(c.push(p),c.push(g-1),c.push(1-f)),(f===0?i>=m:o>=x)&&(c.push(g+1),c.push(d),c.push(1-f))}return u}within(t,n,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:o,coords:r,nodeSize:s}=this,a=[0,o.length-1,0],c=[],u=i*i;for(;a.length;){let f=a.pop()||0,d=a.pop()||0,p=a.pop()||0;if(d-p<=s){for(let b=p;b<=d;b++)Uae(r[2*b],r[2*b+1],t,n)<=u&&c.push(o[b]);continue}let g=p+d>>1,m=r[2*g],x=r[2*g+1];Uae(m,x,t,n)<=u&&c.push(o[g]),(f===0?t-i<=m:n-i<=x)&&(a.push(p),a.push(g-1),a.push(1-f)),(f===0?t+i>=m:n+i>=x)&&(a.push(g+1),a.push(d),a.push(1-f))}return c}};function qW(e,t,n,i,o,r){if(o-i<=n)return;let s=i+o>>1;zae(e,t,s,i,o,r),qW(e,t,n,i,s-1,1-r),qW(e,t,n,s+1,o,1-r)}function zae(e,t,n,i,o,r){for(;o>i;){if(o-i>600){let u=o-i+1,f=n-i+1,d=Math.log(u),p=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*p*(u-p)/u)*(f-u/2<0?-1:1),m=Math.max(i,Math.floor(n-f*p/u+g)),x=Math.min(o,Math.floor(n+(u-f)*p/u+g));zae(e,t,n,m,x,r)}let s=t[2*n+r],a=i,c=o;for(MO(e,t,i,n),t[2*o+r]>s&&MO(e,t,i,o);a<c;){for(MO(e,t,a,c),a++,c--;t[2*a+r]<s;)a++;for(;t[2*c+r]>s;)c--}t[2*i+r]===s?MO(e,t,i,c):(c++,MO(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function MO(e,t,n,i){jW(e,n,i),jW(t,2*n,2*i),jW(t,2*n+1,2*i+1)}function jW(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function Uae(e,t,n,i){let o=e-n,r=t-i;return o*o+r*r}var JA={},wGe={KDBush:xb,addCache:function(e,t){return JA[e]=t,t},removeCache:function(e){delete JA[e]},getCache:function(e){return JA[e]},getCacheOrAdd:function(e){return JA[e]||(JA[e]={}),JA[e]}},l_=wGe;var _s={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:Tt};_s.process=function(e,t,n){let i=e.model.customShader;if(i&&_s.process_original(e,t,n,i),l(e.model._marsOptions)&&l(e.model._marsOptions.customShaders)){let o=l_.getCache(e.model._marsOptions.customShaders);for(let r in o)Object.prototype.hasOwnProperty.call(o,r)&&_s.process_original(e,t,n,o[r])}};_s.process_original=function(e,t,n,i){let{shaderBuilder:o,alphaOptions:r}=e,{lightingModel:s,translucencyMode:a}=i;l(s)&&(e.lightingOptions.lightingModel=s),a===Ey.TRANSLUCENT?r.pass=Se.TRANSLUCENT:a===Ey.OPAQUE&&(r.pass=void 0);let c=NGe(i,t);if(!c.customShaderEnabled)return;if(VGe(o,i,c),c.shouldComputePositionWC&&o.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,pe.BOTH),l(i.vertexShaderText)&&o.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,pe.VERTEX),l(i.fragmentShaderText)){o.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,pe.FRAGMENT);let d=c_.getDefineName(i.mode);o.addDefine(d,void 0,pe.FRAGMENT)}let u=i.uniforms;for(let d in u)if(u.hasOwnProperty(d)){let p=u[d];o.addUniform(p.type,d)}let f=i.varyings;for(let d in f)if(f.hasOwnProperty(d)){let p=f[d];o.addVarying(p,d)}e.uniformMap=bt(e.uniformMap,i.uniformMap)};function DGe(e){let t={};for(let n=0;n<e.length;n++){let i=Xt.getAttributeInfo(e[n]);t[i.variableName]=i}return t}var IGe={position:"vec3",normal:"vec3",tangent:"vec3",bitangent:"vec3",texCoord:"vec2",color:"vec4",joints:"ivec4",weights:"vec4"},PGe={position:"vec3(0.0)",normal:"vec3(0.0, 0.0, 1.0)",tangent:"vec3(1.0, 0.0, 0.0)",bitangent:"vec3(0.0, 1.0, 0.0)",texCoord:"vec2(0.0)",color:"vec4(1.0)",joints:"ivec4(0)",weights:"vec4(0.0)"};function Hae(e){let t=e.replace(/_[0-9]+$/,"");t=t.replace(/(MC|EC)$/,"");let n=IGe[t],i=PGe[t];if(l(n))return{attributeField:[n,e],value:i}}function RGe(e,t){if(!l(e.vertexShaderText))return{enabled:!1};let n=e.usedVariablesVertex.attributeSet,i=Gae(t,n,!1),o=Wae(t,n,!1),r,s=[],a=[];for(let c in i){if(!i.hasOwnProperty(c))continue;let f=[i[c].glslType,c];s.push(f),r=`vsInput.attributes.${c} = attributes.${c};`,a.push(r)}for(let c=0;c<o.length;c++){let u=o[c],f=Hae(u);if(!l(f))return _s._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveVS",`Primitive is missing attribute ${u}, disabling custom vertex shader`),{enabled:!1};s.push(f.attributeField),r=`vsInput.attributes.${u} = ${f.value};`,a.push(r)}return{enabled:!0,attributeFields:s,initializationLines:a}}function OGe(e){let t=[],n=[],i=e.usedVariablesFragment.attributeSet;return i.hasOwnProperty("positionWC")&&(t.push(["vec3","positionWC"]),n.push("fsInput.attributes.positionWC = attributes.positionWC;")),i.hasOwnProperty("positionEC")&&(t.push(["vec3","positionEC"]),n.push("fsInput.attributes.positionEC = attributes.positionEC;")),{attributeFields:t,initializationLines:n}}function MGe(e,t){if(!l(e.fragmentShaderText))return{enabled:!1};let n=e.usedVariablesFragment.attributeSet,i=Gae(t,n,!0),o=Wae(t,n,!0),r,s=[],a=[];for(let u in i){if(!i.hasOwnProperty(u))continue;let d=[i[u].glslType,u];s.push(d),r=`fsInput.attributes.${u} = attributes.${u};`,a.push(r)}for(let u=0;u<o.length;u++){let f=o[u],d=Hae(f);if(!l(d))return _s._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveFS",`Primitive is missing attribute ${f}, disabling custom fragment shader.`),{enabled:!1};s.push(d.attributeField),r=`fsInput.attributes.${f} = ${d.value};`,a.push(r)}let c=OGe(e);return{enabled:!0,attributeFields:s.concat(c.attributeFields),initializationLines:c.initializationLines.concat(a)}}var LGe={positionWC:!0,positionEC:!0};function Gae(e,t,n){let i={};for(let o in e){if(!e.hasOwnProperty(o))continue;let r=e[o],s=o;n&&o==="normalMC"?s="normalEC":n&&o==="tangentMC"&&(s="tangentEC",r.glslType="vec3"),t.hasOwnProperty(s)&&(i[s]=r)}return i}function Wae(e,t,n){let i=[];for(let o in t){if(!t.hasOwnProperty(o)||LGe.hasOwnProperty(o))continue;let r=o;n&&o==="normalEC"?r="normalMC":n&&o==="tangentEC"&&(r="tangentMC"),e.hasOwnProperty(r)||i.push(o)}return i}function NGe(e,t){let n=DGe(t.attributes),i=RGe(e,n),o=MGe(e,n),s=e.usedVariablesFragment.attributeSet.hasOwnProperty("positionWC")&&o.enabled;return{vertexLines:i,fragmentLines:o,customShaderEnabled:i.enabled||o.enabled,shouldComputePositionWC:s}}function FGe(e,t){let n=_s.STRUCT_ID_ATTRIBUTES_VS;e.addStruct(n,_s.STRUCT_NAME_ATTRIBUTES,pe.VERTEX);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=_s.STRUCT_ID_VERTEX_INPUT,e.addStruct(n,_s.STRUCT_NAME_VERTEX_INPUT,pe.VERTEX),e.addStructField(n,_s.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,Ay.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,vf.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,vf.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,vf.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=_s.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS;e.addFunction(r,_s.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS,pe.VERTEX),e.addFunctionLines(r,o)}function BGe(e,t){let n=_s.STRUCT_ID_ATTRIBUTES_FS;e.addStruct(n,_s.STRUCT_NAME_ATTRIBUTES,pe.FRAGMENT);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=_s.STRUCT_ID_FRAGMENT_INPUT,e.addStruct(n,_s.STRUCT_NAME_FRAGMENT_INPUT,pe.FRAGMENT),e.addStructField(n,_s.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,Ay.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,vf.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,vf.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,vf.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=_s.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS;e.addFunction(r,_s.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS,pe.FRAGMENT),e.addFunctionLines(r,o)}var kGe=[];function VGe(e,t,n){let{vertexLines:i,fragmentLines:o}=n,r=kGe;i.enabled&&(FGe(e,i),r.length=0,r.push("#line 0",t.vertexShaderText,vO),e.addVertexLines(r)),o.enabled&&(BGe(e,o),r.length=0,r.push("#line 0",t.fragmentShaderText,wO),e.addFragmentLines(r))}var LO=_s;var NO={name:"DequantizationPipelineStage",FUNCTION_ID_DEQUANTIZATION_STAGE_VS:"dequantizationStage",FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS:"void dequantizationStage(inout ProcessedAttributes attributes)"};NO.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=l(o.classificationType);i.addDefine("USE_DEQUANTIZATION",void 0,pe.VERTEX),i.addFunction(NO.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,NO.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS,pe.VERTEX);let s=t.attributes;for(let a=0;a<s.length;a++){let c=s[a],u=c.quantization;if(!l(u))continue;let f=c.semantic===At.POSITION,d=c.semantic===At.TEXCOORD;if(r&&!f&&!d)continue;let p=Xt.getAttributeInfo(c);zGe(i,p),UGe(e,p)}};function UGe(e,t){let n=e.shaderBuilder,i=e.uniformMap,o=t.variableName,r=t.attribute.quantization;if(r.octEncoded){let s=`model_normalizationRange_${o}`;n.addUniform("float",s,pe.VERTEX),i[s]=function(){return r.normalizationRange}}else{let s=`model_quantizedVolumeOffset_${o}`,a=`model_quantizedVolumeStepSize_${o}`,c=t.glslType;n.addUniform(c,s,pe.VERTEX),n.addUniform(c,a,pe.VERTEX);let u=r.quantizedVolumeOffset,f=r.quantizedVolumeStepSize;/^color_\d+$/.test(o)&&(u=jae(u,0),f=jae(f,1)),i[s]=function(){return u},i[a]=function(){return f}}}function jae(e,t){return e instanceof oe?e:new oe(e.x,e.y,e.z,t)}function zGe(e,t){let n=t.variableName,i=t.attribute.quantization,o;i.octEncoded?o=HGe(n,i):o=GGe(n),e.addFunctionLines(NO.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,[o])}function HGe(e,t){let n=`attributes.${e}`,i=`a_quantized_${e}`,o=`model_normalizationRange_${e}`,r=t.octEncodedZXY?".zxy":".xyz";return`${n} = czm_octDecode(${i}, ${o})${r};`}function GGe(e){let t=`attributes.${e}`,n=`a_quantized_${e}`,i=`model_quantizedVolumeOffset_${e}`,o=`model_quantizedVolumeStepSize_${e}`;return`${t} = ${i} + ${n} * ${o};`}var FO=NO;var BO=`void geometryStage(out ProcessedAttributes attributes) -{ - attributes.positionMC = v_positionMC; - attributes.positionEC = v_positionEC; - #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) - attributes.positionWC = v_positionWC; - #endif +void main() +{ + float depthOrLogDepth = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, v_textureCoordinates)); - #ifdef HAS_NORMALS - // renormalize after interpolation - attributes.normalEC = normalize(v_normalEC); - #endif + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth); + eyeCoordinate /= eyeCoordinate.w; - #ifdef HAS_TANGENTS - attributes.tangentEC = normalize(v_tangentEC); - #endif + float log2Depth = log2(-eyeCoordinate.z); - #ifdef HAS_BITANGENTS - attributes.bitangentEC = normalize(v_bitangentEC); - #endif + if (depthOrLogDepth == 0.0) // 0.0 is the clear value for the gbuffer + { + discard; + } - // Everything else is dynamically generated in GeometryPipelineStage - setDynamicVaryings(attributes); -} -`;var kO=`vec4 geometryStage(inout ProcessedAttributes attributes, mat4 modelView, mat3 normal) -{ - vec4 computedPosition; + vec4 color = texture(u_pointCloud_colorGBuffer, v_textureCoordinates); - // Compute positions in different coordinate systems - vec3 positionMC = attributes.positionMC; - v_positionMC = positionMC; - v_positionEC = (modelView * vec4(positionMC, 1.0)).xyz; + // sample from neighbors left, right, down, up + vec2 texelSize = 1.0 / czm_viewport.zw; - #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) - vec3 position2D = attributes.position2D; - vec3 positionEC = (u_modelView2D * vec4(position2D, 1.0)).xyz; - computedPosition = czm_projection * vec4(positionEC, 1.0); - #else - computedPosition = czm_projection * vec4(v_positionEC, 1.0); - #endif + vec2 responseAndCount = vec2(0.0); - // Sometimes the custom shader and/or style needs this - #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) || defined(ENABLE_CLIPPING_POLYGONS) - // Note that this is a 32-bit position which may result in jitter on small - // scales. - v_positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; - #endif + responseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0)); + responseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0)); + responseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y)); + responseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y)); - #ifdef HAS_NORMALS - v_normalEC = normalize(normal * attributes.normalMC); - #endif + float response = responseAndCount.x / responseAndCount.y; + float strength = u_distanceAndEdlStrength.y; + float shade = exp(-response * 300.0 * strength); + color.rgb *= shade; + out_FragColor = vec4(color); - #ifdef HAS_TANGENTS - v_tangentEC = normalize(normal * attributes.tangentMC); - #endif + // Input and output depth are the same. + gl_FragDepth = depthOrLogDepth; +} +`;function jA(){this._framebuffer=new _i({colorAttachmentsLength:2,depth:!0,supportsDepthTexture:!0}),this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}Object.defineProperties(jA.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}},colorGBuffer:{get:function(){return this._framebuffer.getColorTexture(0)}},depthGBuffer:{get:function(){return this._framebuffer.getColorTexture(1)}}});function s8e(e){e._framebuffer.destroy(),e._drawCommand=void 0,e._clearCommand=void 0}var VW=new z;function a8e(e,t){let n=new Ue({defines:["LOG_DEPTH_WRITE"],sources:[jR]}),i={u_pointCloud_colorGBuffer:function(){return e.colorGBuffer},u_pointCloud_depthGBuffer:function(){return e.depthGBuffer},u_distanceAndEdlStrength:function(){return VW.x=e._radius,VW.y=e._strength,VW}},o=Ve.fromCache({blending:dn.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:zt.setCesium3DTileBit(),stencilMask:zt.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(n,{uniformMap:i,renderState:o,pass:ve.CESIUM_3D_TILE,owner:e}),e._clearCommand=new ni({framebuffer:e.framebuffer,color:new H(0,0,0,0),depth:1,renderState:Ve.fromCache(),pass:ve.CESIUM_3D_TILE,owner:e})}function c8e(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i),a8e(e,t)}function dae(e){return e.drawBuffers&&e.fragmentDepth}jA.isSupported=dae;function l8e(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"EC");if(!l(n)){let i=t._attributeLocations,o=t.fragmentShaderSource.clone();o.sources.splice(0,0,`layout (location = 0) out vec4 out_FragData_0; +layout (location = 1) out vec4 out_FragData_1;`),o.sources=o.sources.map(function(r){return r=Ue.replaceMain(r,"czm_point_cloud_post_process_main"),r=r.replaceAll(/out_FragColor/g,"out_FragData_0"),r}),o.sources.push(`void main() +{ + czm_point_cloud_post_process_main(); +#ifdef LOG_DEPTH + czm_writeLogDepth(); + out_FragData_1 = czm_packDepth(gl_FragDepth); +#else + out_FragData_1 = czm_packDepth(gl_FragCoord.z); +#endif +}`),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}jA.prototype.update=function(e,t,n,i){if(!dae(e.context))return;this._strength=n.eyeDomeLightingStrength,this._radius=n.eyeDomeLightingRadius*e.pixelRatio,c8e(this,e.context);let o,r=e.commandList,s=r.length;for(o=t;o<s;++o){let u=r[o];if(u.primitiveType!==Ne.POINTS||u.pass===ve.TRANSLUCENT)continue;let f,d,p=u.derivedCommands.pointCloudProcessor;l(p)&&(f=p.command,d=p.originalShaderProgram),(!l(f)||u.dirty||d!==u.shaderProgram||f.framebuffer!==this.framebuffer)&&(f=Ze.shallowClone(u,f),f.framebuffer=this.framebuffer,f.shaderProgram=l8e(e.context,u.shaderProgram),f.castShadows=!1,f.receiveShadows=!1,l(p)||(p={command:f,originalShaderProgram:u.shaderProgram},u.derivedCommands.pointCloudProcessor=p),p.originalShaderProgram=u.shaderProgram),r[o]=f}let a=this._clearCommand,c=this._drawCommand;c.boundingVolume=i,r.push(c),r.push(a)};jA.prototype.isDestroyed=function(){return!1};jA.prototype.destroy=function(){return s8e(this),ue(this)};var a_=jA;function hae(e){let t=y(e,{});this.attenuation=y(t.attenuation,!1),this.geometricErrorScale=y(t.geometricErrorScale,1),this.maximumAttenuation=t.maximumAttenuation,this.baseResolution=t.baseResolution,this.eyeDomeLighting=y(t.eyeDomeLighting,!0),this.eyeDomeLightingStrength=y(t.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=y(t.eyeDomeLightingRadius,1),this.backFaceCulling=y(t.backFaceCulling,!1),this.normalShading=y(t.normalShading,!0)}hae.isSupported=function(e){return a_.isSupported(e.context)};var pm=hae;var ka={},u8e=new ie(0,0,0,1),_c=new ie,f8e=new We,UW=new z,zW=new z;ka.worldToWindowCoordinates=function(e,t,n){return ka.worldWithEyeOffsetToWindowCoordinates(e,t,h.ZERO,n)};var mae=new ie,pae=new h;function qR(e,t,n,i){let o=n.viewMatrix,r=F.multiplyByVector(o,ie.fromElements(e.x,e.y,e.z,1,mae),mae),s=h.multiplyComponents(t,h.normalize(r,pae),pae);return r.x+=t.x+s.x,r.y+=t.y+s.y,r.z+=s.z,F.multiplyByVector(n.frustum.projectionMatrix,r,i)}var d8e=new fe(Math.PI,P.PI_OVER_TWO),h8e=new h,m8e=new h;ka.worldWithEyeOffsetToWindowCoordinates=function(e,t,n,i){let o=e.frameState,r=ka.computeActualEllipsoidPosition(o,t,u8e);if(!l(r))return;let s=e.canvas,a=f8e;a.x=0,a.y=0,a.width=s.clientWidth,a.height=s.clientHeight;let c=e.camera,u=!1;if(o.mode===ne.SCENE2D){let f=e.mapProjection,d=d8e,p=f.project(d,h8e),g=h.clone(c.position,m8e),m=c.frustum.clone(),x=F.computeViewportTransformation(a,0,1,new F),b=c.frustum.projectionMatrix,T=c.positionWC.y,A=h.fromElements(P.sign(T)*p.x-T,0,-c.positionWC.x),C=Lt.pointToGLWindowCoordinates(b,x,A);if(T===0||C.x<=0||C.x>=s.clientWidth)u=!0;else{if(C.x>s.clientWidth*.5){a.width=C.x,c.frustum.right=p.x-T,_c=qR(r,n,c,_c),ka.clipToGLWindowCoordinates(a,_c,UW),a.x+=C.x,c.position.x=-c.position.x;let E=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-E,_c=qR(r,n,c,_c),ka.clipToGLWindowCoordinates(a,_c,zW)}else{a.x+=C.x,a.width-=C.x,c.frustum.left=-p.x-T,_c=qR(r,n,c,_c),ka.clipToGLWindowCoordinates(a,_c,UW),a.x=a.x-a.width,c.position.x=-c.position.x;let E=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-E,_c=qR(r,n,c,_c),ka.clipToGLWindowCoordinates(a,_c,zW)}h.clone(g,c.position),c.frustum=m.clone(),i=z.clone(UW,i),(i.x<0||i.x>s.clientWidth)&&(i.x=zW.x)}}if(o.mode!==ne.SCENE2D||u){if(_c=qR(r,n,c,_c),_c.z<0&&!(c.frustum instanceof cn)&&!(c.frustum instanceof Ur))return;i=ka.clipToGLWindowCoordinates(a,_c,i)}return i.y=s.clientHeight-i.y,i};ka.worldToDrawingBufferCoordinates=function(e,t,n){if(n=ka.worldToWindowCoordinates(e,t,n),!!l(n))return ka.transformWindowToDrawingBuffer(e,n,n)};var c_=new h,p8e=new fe;ka.computeActualEllipsoidPosition=function(e,t,n){let i=e.mode;if(i===ne.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,p8e);if(!l(r))return;if(o.project(r,c_),i===ne.COLUMBUS_VIEW)return h.fromElements(c_.z,c_.x,c_.y,n);if(i===ne.SCENE2D)return h.fromElements(0,c_.x,c_.y,n);let s=e.morphTime;return h.fromElements(P.lerp(c_.z,t.x,s),P.lerp(c_.x,t.y,s),P.lerp(c_.y,t.z,s),n)};var _ae=new h,gae=new h,yae=new F;ka.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,_ae),F.computeViewportTransformation(e,0,1,yae),F.multiplyByPoint(yae,_ae,gae),z.fromCartesian3(gae,n)};ka.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return z.fromElements(t.x*o,t.y*r,n)};var _8e=new ie,xae=new ie;ka.drawingBufferToWorldCoordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,m=Math.pow(2,g)-1;n=c*(1-a/(m+a))/(c-a)}let u=e.view.passState.viewport,f=ie.clone(ie.UNIT_W,_8e);f.x=(t.x-u.x)/u.width*2-1,f.y=(t.y-u.y)/u.height*2-1,f.z=n*2-1,f.w=1;let d,p=e.camera.frustum;if(l(p.fovy)){d=F.multiplyByVector(r.inverseViewProjection,f,xae);let g=1/d.w;h.multiplyByScalar(d,g,d)}else{let g=p.offCenterFrustum;l(g)&&(p=g),d=xae,d.x=(f.x*(p.right-p.left)+p.left+p.right)*.5,d.y=(f.y*(p.top-p.bottom)+p.bottom+p.top)*.5,d.z=(f.z*(a-c)-a-c)*.5,d.w=1,d=F.multiplyByVector(r.inverseView,d,d)}return h.fromCartesian4(d,i)};var Hi=ka;var qA={};qA._deprecationWarning=ys;var l_=Uint32Array.BYTES_PER_ELEMENT;qA.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=l_;let r=o.getUint32(t,!0);if(r!==1)throw new se(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=l_;let s=o.getUint32(t,!0);t+=l_;let a=o.getUint32(t,!0);t+=l_;let c=o.getUint32(t,!0);t+=l_;let u=o.getUint32(t,!0);t+=l_;let f=o.getUint32(t,!0);t+=l_;let d;u>=570425344?(t-=l_*2,d=a,u=c,f=0,a=0,c=0,qA._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):f>=570425344&&(t-=l_,d=u,u=a,f=c,a=0,c=0,qA._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(d,0)}:(p=Bo(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Bo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new se("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):(qA._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{batchLength:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var YR=qA;function XR(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function bae(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return l(a)||(a=X.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function g8e(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return l(r)||(r=X.createTypedArray(n,i),o[t]=r),r}XR.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(t=y(t,X.UNSIGNED_INT),n=y(n,1),bae(this,e,t,n,1,i.byteOffset)):i};XR.prototype.hasProperty=function(e){return l(this.json[e])};XR.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(l(i.componentType)&&(t=X.fromName(i.componentType)),bae(this,e,t,n,this.featuresLength,i.byteOffset)):g8e(this,e,t,i)};XR.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!l(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a<n;++a)o[a]=s[n*i+a];return o};var Zd=XR;function KR(e){let t=e.count,n=e.batchTable,i=e.binaryBody,o=y(e.parseAsPropertyAttributes,!1),r=e.customAttributeOutput,s=y8e(n),a;l(s.jsonProperties)&&(a=new o_({count:t,properties:s.jsonProperties}));let c;l(s.hierarchy)&&(c=new $x({extension:s.hierarchy,binaryBody:i}));let u=Gd.BATCH_TABLE_CLASS_NAME,f=s.binaryProperties,d,p,g;if(o){let b=b8e(t,u,f,i,r);g=b.transcodedSchema,p=[new bb({propertyAttribute:b.propertyAttributeJson,class:b.transcodedClass})]}else{let b=x8e(t,u,f,i);g=b.transcodedSchema;let T=b.featureTableJson;d=new Pl({count:T.count,properties:T.properties,class:b.transcodedClass,bufferViews:b.bufferViewsTypedArrays}),p=[]}let m=[];if(l(d)||l(a)||l(c)){let b=new Qc({id:0,name:"Batch Table",count:t,metadataTable:d,jsonMetadataTable:a,batchTableHierarchy:c});m.push(b)}let x={schema:g,propertyTables:m,propertyAttributes:p,extensions:s.extensions,extras:s.extras};return new $s(x)}function y8e(e){let t=e.HIERARCHY,n=e.extras,i=e.extensions,o;l(t)?(KR._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),o=t):l(i)&&(o=i["3DTILES_batch_table_hierarchy"]);let r,s={};for(let a in e){if(!e.hasOwnProperty(a)||a==="HIERARCHY"||a==="extensions"||a==="extras")continue;let c=e[a];Array.isArray(c)?(r=l(r)?r:{},r[a]=c):s[a]=c}return{binaryProperties:s,jsonProperties:r,hierarchy:o,extras:n,extensions:i}}function x8e(e,t,n,i){let o={},r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;if(!l(i))throw new se(`Property ${d} requires a batch table binary.`);let p=n[d],g=gu(p);r[d]={bufferView:a},o[d]=Tae(p),s[a]=g.createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e),a++}let c={classes:{}};c.classes[t]={properties:o};let u=bu.fromJson(c);return{featureTableJson:{class:t,count:e,properties:r},bufferViewsTypedArrays:s,transcodedSchema:u,transcodedClass:u.classes[t]}}function b8e(e,t,n,i,o){let r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;let p=n[d];if(!l(i)&&!l(p.typedArray))throw new se(`Property ${d} requires a batch table binary.`);let g=Zt.sanitizeGlslIdentifier(d);(g===""||r.hasOwnProperty(g))&&(g=`property_${a}`,a++);let m=Tae(p);m.name=d,r[g]=m;let x=g.toUpperCase();x.startsWith("_")||(x=`_${x}`);let b=p.typedArray;l(b)||(b=gu(p).createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e));let T=new Cn.Attribute;T.name=x,T.count=e,T.type=p.type;let A=X.fromTypedArray(b);(A===X.INT||A===X.UNSIGNED_INT||A===X.DOUBLE)&&(KR._oneTimeWarning("Cast pnts property to floats",`Point cloud property "${x}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),b=new Float32Array(b)),T.componentDatatype=X.fromTypedArray(b),T.typedArray=b,o.push(T),s[g]={attribute:x}}let c={classes:{}};c.classes[t]={properties:r};let u=bu.fromJson(c);return{class:t,propertyAttributeJson:{properties:s},transcodedSchema:u,transcodedClass:u.classes[t]}}function Tae(e){let t=T8e(e.componentType);return{type:e.type,componentType:t}}function T8e(e){switch(e){case"BYTE":return"INT8";case"UNSIGNED_BYTE":return"UINT8";case"SHORT":return"INT16";case"UNSIGNED_SHORT":return"UINT16";case"INT":return"INT32";case"UNSIGNED_INT":return"UINT32";case"FLOAT":return"FLOAT32";case"DOUBLE":return"FLOAT64"}}KR._deprecationWarning=ys;KR._oneTimeWarning=bt;var u_=KR;var Ab={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},C8e=Cn.FeatureIdAttribute;function Ty(e){e=y(e,y.EMPTY_OBJECT);let t=e.b3dmResource,n=e.baseResource,i=e.arrayBuffer,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Fo.Y),u=y(e.forwardAxis,Fo.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadAttributesFor2D,!1),p=y(e.enablePick,!1),g=y(e.loadIndicesForWireframe,!1),m=y(e.loadPrimitiveOutline,!0),x=y(e.loadForClassification,!1);n=l(n)?n:t.clone(),this._b3dmResource=t,this._baseResource=n,this._arrayBuffer=i,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadAttributesFor2D=d,this._enablePick=p,this._loadIndicesForWireframe=g,this._loadPrimitiveOutline=m,this._loadForClassification=x,this._state=Ab.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._batchLength=0,this._propertyTable=void 0,this._batchTable=void 0,this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(Ty.prototype=Object.create(Ki.prototype),Ty.prototype.constructor=Ty);Object.defineProperties(Ty.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Ty.prototype.load=function(){if(l(this._promise))return this._promise;let e=YR.parse(this._arrayBuffer,this._byteOffset),t=e.batchLength,n=e.featureTableJson,i=e.featureTableBinary,o=e.batchTableJson,r=e.batchTableBinary,s=new Zd(n,i);t=s.getGlobalProperty("BATCH_LENGTH"),this._batchLength=t;let a=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(a)&&(this._transform=F.fromTranslation(h.fromArray(a))),this._batchTable={json:o,binary:r};let c=new s_({typedArray:e.gltf,upAxis:this._upAxis,forwardAxis:this._forwardAxis,gltfResource:this._b3dmResource,baseResource:this._baseResource,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadAttributesFor2D:this._loadAttributesFor2D,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline,loadForClassification:this._loadForClassification,renameBatchIdSemantic:!0});this._gltfLoader=c,this._state=Ab.LOADING;let u=this;return this._promise=c.load().then(function(){if(!u.isDestroyed())return u._state=Ab.PROCESSING,u}).catch(function(f){if(!u.isDestroyed())return A8e(u,f)}),this._promise};function A8e(e,t){return e.unload(),e._state=Ab.FAILED,t=e.getError("Failed to load b3dm",t),Promise.reject(t)}Ty.prototype.process=function(e){if(this._state===Ab.READY)return!0;if(this._state!==Ab.PROCESSING||!this._gltfLoader.process(e))return!1;let n=this._gltfLoader.components;return n.transform=F.multiplyTransformation(this._transform,n.transform,n.transform),E8e(this,n),this._components=n,this._arrayBuffer=void 0,this._state=Ab.READY,!0};function E8e(e,t){let n=e._batchTable,i=e._batchLength;if(i===0)return;let o;if(l(n.json))o=u_({count:i,batchTable:n.json,binaryBody:n.binary});else{let a=new Qc({name:Gd.BATCH_TABLE_CLASS_NAME,count:i});o=new $s({schema:{},propertyTables:[a]})}let r=t.scene.nodes,s=r.length;for(let a=0;a<s;a++)Cae(r[a]);t.structuralMetadata=o}function Cae(e){let t=e.children.length;for(let i=0;i<t;i++)Cae(e.children[i]);let n=e.primitives.length;for(let i=0;i<n;i++){let o=e.primitives[i],r=Zt.getAttributeBySemantic(o,St.FEATURE_ID);if(l(r)){r.setIndex=0;let s=new C8e;s.propertyTableId=0,s.setIndex=0,s.positionalLabel="featureId_0",o.featureIds.push(s)}}}Ty.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),this._components=void 0,this._arrayBuffer=void 0};var ZR=Ty;function Cy(e){e=y(e,y.EMPTY_OBJECT),this._geoJson=e.geoJson,this._components=void 0}l(Object.create)&&(Cy.prototype=Object.create(Ki.prototype),Cy.prototype.constructor=Cy);Object.defineProperties(Cy.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Cy.prototype.load=function(){return Promise.resolve(this)};Cy.prototype.process=function(e){return l(this._components)||(this._components=B8e(this._geoJson,e),this._geoJson=void 0),!0};function S8e(){this.lines=void 0,this.points=void 0,this.properties=void 0}function v8e(){this.features=[]}function HW(e){let t=e[0],n=e[1],i=y(e[2],0);return new h(t,n,i)}function GW(e){let t=e.length,n=new Array(t);for(let o=0;o<t;o++)n[o]=HW(e[o]);return[n]}function w8e(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=GW(e[i])[0];return n}function Aae(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=GW(e[i])[0];return n}function D8e(e){let t=e.length,n=[];for(let i=0;i<t;i++)Array.prototype.push.apply(n,Aae(e[i]));return n}function I8e(e){return[HW(e)]}function P8e(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=HW(e[i]);return n}var R8e={LineString:GW,MultiLineString:w8e,MultiPolygon:D8e,Polygon:Aae,MultiPoint:P8e,Point:I8e},O8e={LineString:Ne.LINES,MultiLineString:Ne.LINES,MultiPolygon:Ne.LINES,Polygon:Ne.LINES,MultiPoint:Ne.POINTS,Point:Ne.POINTS};function Eae(e,t){if(!l(e.geometry))return;let n=e.geometry.type,i=R8e[n],o=O8e[n],r=e.geometry.coordinates;if(!l(i)||!l(r))return;let s=new S8e;o===Ne.LINES?s.lines=i(r):o===Ne.POINTS&&(s.points=i(r)),s.properties=e.properties,t.features.push(s)}function M8e(e,t){let n=e.features,i=n.length;for(let o=0;o<i;o++)Eae(n[o],t)}var L8e={FeatureCollection:M8e,Feature:Eae},rz=new h;function N8e(e,t,n){let i=0,o=0,r=e.length;for(let M=0;M<r;M++){let N=e[M];if(l(N.lines)){let _=N.lines.length;for(let S=0;S<_;S++){let w=N.lines[S];i+=w.length,o+=(w.length-1)*2}}}let s=new Float32Array(i*3),a=new Float32Array(i),c=Fe.createTypedArray(i,o),u=Fe.fromTypedArray(c),f=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),d=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=0,g=0;for(let M=0;M<r;M++){let N=e[M];if(!l(N.lines))continue;let _=N.lines.length;for(let S=0;S<_;S++){let w=N.lines[S],I=w.length;for(let L=0;L<I;L++){let B=w[L],U=h.fromDegrees(B.x,B.y,B.z,ee.WGS84,rz),V=F.multiplyByPoint(t,U,rz);h.minimumByComponent(f,V,f),h.maximumByComponent(d,V,d),h.pack(V,s,p*3),a[p]=M,L<I-1&&(c[g*2]=p,c[g*2+1]=p+1,g++),p++}}}let m=xt.createVertexBuffer({typedArray:s,context:n.context,usage:Be.STATIC_DRAW});m.vertexArrayDestroyable=!1;let x=xt.createVertexBuffer({typedArray:a,context:n.context,usage:Be.STATIC_DRAW});x.vertexArrayDestroyable=!1;let b=xt.createIndexBuffer({typedArray:c,context:n.context,usage:Be.STATIC_DRAW,indexDatatype:u});b.vertexArrayDestroyable=!1;let T=new Cn.Attribute;T.semantic=St.POSITION,T.componentDatatype=X.FLOAT,T.type=an.VEC3,T.count=i,T.min=f,T.max=d,T.buffer=m;let A=new Cn.Attribute;A.semantic=St.FEATURE_ID,A.setIndex=0,A.componentDatatype=X.FLOAT,A.type=an.SCALAR,A.count=i,A.buffer=x;let C=[T,A],E=new Cn.Material;E.unlit=!0;let v=new Cn.Indices;v.indexDatatype=u,v.count=c.length,v.buffer=b;let D=new Cn.FeatureIdAttribute;D.featureCount=r,D.propertyTableId=0,D.setIndex=0,D.positionalLabel="featureId_0";let O=[D],R=new Cn.Primitive;return R.attributes=C,R.indices=v,R.featureIds=O,R.primitiveType=Ne.LINES,R.material=E,R}function F8e(e,t,n){let i=0,o=e.length;for(let C=0;C<o;C++){let E=e[C];l(E.points)&&(i+=E.points.length)}let r=new Float32Array(i*3),s=new Float32Array(i),a=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),c=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),u=0;for(let C=0;C<o;C++){let E=e[C];if(!l(E.points))continue;let v=E.points.length;for(let D=0;D<v;D++){let O=E.points[D],R=h.fromDegrees(O.x,O.y,O.z,ee.WGS84,rz),M=F.multiplyByPoint(t,R,rz);h.minimumByComponent(a,M,a),h.maximumByComponent(c,M,c),h.pack(M,r,u*3),s[u]=C,u++}}let f=xt.createVertexBuffer({typedArray:r,context:n.context,usage:Be.STATIC_DRAW});f.vertexArrayDestroyable=!1;let d=xt.createVertexBuffer({typedArray:s,context:n.context,usage:Be.STATIC_DRAW});d.vertexArrayDestroyable=!1;let p=new Cn.Attribute;p.semantic=St.POSITION,p.componentDatatype=X.FLOAT,p.type=an.VEC3,p.count=i,p.min=a,p.max=c,p.buffer=f;let g=new Cn.Attribute;g.semantic=St.FEATURE_ID,g.setIndex=0,g.componentDatatype=X.FLOAT,g.type=an.SCALAR,g.count=i,g.buffer=d;let m=[p,g],x=new Cn.Material;x.unlit=!0;let b=new Cn.FeatureIdAttribute;b.featureCount=o,b.propertyTableId=0,b.setIndex=0,b.positionalLabel="featureId_0";let T=[b],A=new Cn.Primitive;return A.attributes=m,A.featureIds=T,A.primitiveType=Ne.POINTS,A.material=x,A}function B8e(e,t){let n=new v8e,i=L8e[e.type];l(i)&&i(e,n);let o=n.features,r=o.length;if(r===0)throw new se("GeoJSON must have at least one feature");let s={};for(let M=0;M<r;M++){let N=o[M],_=y(N.properties,y.EMPTY_OBJECT);for(let S in _)_.hasOwnProperty(S)&&(l(s[S])||(s[S]=new Array(r)))}for(let M=0;M<r;M++){let N=o[M];for(let _ in s)if(s.hasOwnProperty(_)){let S=y(N.properties[_],"");s[_][M]=S}}let a=new o_({count:r,properties:s}),u=[new Qc({id:0,count:r,jsonMetadataTable:a})],f=bu.fromJson({}),d=new $s({schema:f,propertyTables:u}),p=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),g=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),m=!1,x=!1;for(let M=0;M<r;M++){let N=o[M];if(l(N.lines)){m=!0;let _=N.lines.length;for(let S=0;S<_;S++){let w=N.lines[S],I=w.length;for(let L=0;L<I;L++)h.minimumByComponent(p,w[L],p),h.maximumByComponent(g,w[L],g)}}if(l(N.points)){x=!0;let _=N.points.length;for(let S=0;S<_;S++){let w=N.points[S];h.minimumByComponent(p,w,p),h.maximumByComponent(g,w,g)}}}let b=h.midpoint(p,g,new h),T=h.fromDegrees(b.x,b.y,b.z,ee.WGS84,new h),A=Lt.eastNorthUpToFixedFrame(T,ee.WGS84,new F),C=F.inverseTransformation(A,new F),E=[];m&&E.push(N8e(o,C,t)),x&&E.push(F8e(o,C,t));let v=new Cn.Node;v.index=0,v.primitives=E;let D=[v],O=new Cn.Scene;O.nodes=D;let R=new Cn.Components;return R.scene=O,R.nodes=D,R.transform=A,R.structuralMetadata=d,R}Cy.prototype.unload=function(){this._components=void 0};var $R=Cy;var sz={};sz._deprecationWarning=ys;var Ay=Uint32Array.BYTES_PER_ELEMENT;sz.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=Ay;let r=o.getUint32(t,!0);if(r!==1)throw new se(`Only Instanced 3D Model version 1 is supported. Version ${r} is not.`);t+=Ay;let s=o.getUint32(t,!0);t+=Ay;let a=o.getUint32(t,!0);if(a===0)throw new se("featureTableJsonByteLength is zero, the feature table must be defined.");t+=Ay;let c=o.getUint32(t,!0);t+=Ay;let u=o.getUint32(t,!0);t+=Ay;let f=o.getUint32(t,!0);t+=Ay;let d=o.getUint32(t,!0);if(d!==1&&d!==0)throw new se(`Only glTF format 0 (uri) or 1 (embedded) are supported. Format ${d} is not.`);t+=Ay;let p=Bo(i,t,a);t+=a;let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Bo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new se("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):(sz._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{gltfFormat:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var QR=sz;var f_={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},az=Cn.Attribute,k8e=Cn.FeatureIdAttribute,vae=Cn.Instances;function d_(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Fo.Y),u=y(e.forwardAxis,Fo.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.enablePick,!1);i=l(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._enablePick=g,this._state=f_.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}l(Object.create)&&(d_.prototype=Object.create(Ki.prototype),d_.prototype.constructor=d_);Object.defineProperties(d_.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});d_.prototype.load=function(){if(l(this._promise))return this._promise;let e=QR.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new Zd(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!l(a))throw new se("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(c)&&(this._transform=F.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let u={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let d=wl(e.gltf);d=d.replace(/[\s\0]+$/,"");let p=this._baseResource.getDerivedResource({url:d});u.gltfResource=p,u.baseResource=p}else u.gltfResource=this._i3dmResource,u.typedArray=e.gltf;let f=new s_(u);return this._gltfLoader=f,this._state=f_.LOADING,this._promise=f.load().then(()=>{if(!this.isDestroyed())return this._state=f_.PROCESSING,this}).catch(d=>{if(!this.isDestroyed())throw V8e(this,d)}),this._promise};function V8e(e,t){return e.unload(),e._state=f_.FAILED,e.getError("Failed to load i3dm",t)}d_.prototype.process=function(e){if(this._state===f_.READY)return!0;let t=this._gltfLoader,n=!1;if(this._state===f_.PROCESSING&&(n=t.process(e)),!n)return!1;let i=t.components;return i.transform=F.multiplyTransformation(this._transform,i.transform,i.transform),H8e(this,i,e),U8e(this,i),this._components=i,this._arrayBuffer=void 0,this._state=f_.READY,!0};function U8e(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(l(n.json))o=u_({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new Qc({name:Gd.BATCH_TABLE_CLASS_NAME,count:i});o=new $s({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var cz=new h,WW=new Array(4),z8e=new F;function H8e(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",X.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,u=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),f=W8e(o,r),d;c&&(d=new Float32Array(4*r));let p;u&&(p=new Float32Array(3*r));let g=new Float32Array(r),m=h.unpackArray(f),x=new h,b=new h,T=new h,A=new h,C=new $,E=new Le,v=new Array(4),D=new h,O=new Array(3),R=new F;if(!l(s)||h.equals(h.unpack(s),h.ZERO)){let V=ce.fromPoints(m);for(i=0;i<m.length;i++)h.subtract(m[i],V.center,cz),f[3*i+0]=cz.x,f[3*i+1]=cz.y,f[3*i+2]=cz.z;let G=F.fromTranslation(V.center,z8e);t.transform=F.multiplyTransformation(G,t.transform,t.transform)}for(i=0;i<r;i++){x=h.clone(m[i]),l(s)&&h.add(x,h.unpack(s),x),c&&(j8e(o,a,i,E,x,T,b,A,C,R),Le.pack(E,v,0),d[4*i+0]=v[0],d[4*i+1]=v[1],d[4*i+2]=v[2],d[4*i+3]=v[3]),u&&(q8e(o,i,D),h.pack(D,O,0),p[3*i+0]=O[0],p[3*i+1]=O[1],p[3*i+2]=O[2]);let V=o.getProperty("BATCH_ID",X.UNSIGNED_SHORT,1,i);l(V)||(V=i),g[i]=V}let M=new vae;M.transformInWorldSpace=!0;let N=e._buffers,_=new az;if(_.name="Instance Translation",_.semantic=as.TRANSLATION,_.componentDatatype=X.FLOAT,_.type=an.VEC3,_.count=r,_.typedArray=f,!c){let V=xt.createVertexBuffer({context:n.context,typedArray:f,usage:Be.STATIC_DRAW});V.vertexArrayDestroyable=!1,N.push(V),_.buffer=V}if(M.attributes.push(_),c){let V=new az;V.name="Instance Rotation",V.semantic=as.ROTATION,V.componentDatatype=X.FLOAT,V.type=an.VEC4,V.count=r,V.typedArray=d,M.attributes.push(V)}if(u){let V=new az;if(V.name="Instance Scale",V.semantic=as.SCALE,V.componentDatatype=X.FLOAT,V.type=an.VEC3,V.count=r,c)V.typedArray=p;else{let G=xt.createVertexBuffer({context:n.context,typedArray:p,usage:Be.STATIC_DRAW});G.vertexArrayDestroyable=!1,N.push(G),V.buffer=G}M.attributes.push(V)}let S=new az;S.name="Instance Feature ID",S.setIndex=0,S.semantic=as.FEATURE_ID,S.componentDatatype=X.FLOAT,S.type=an.SCALAR,S.count=r;let w=xt.createVertexBuffer({context:n.context,typedArray:g,usage:Be.STATIC_DRAW});w.vertexArrayDestroyable=!1,N.push(w),S.buffer=w,M.attributes.push(S);let I=new k8e;I.propertyTableId=0,I.setIndex=0,I.positionalLabel="instanceFeatureId_0",M.featureIds.push(I);let L=t.nodes,B=L.length,U=!1;for(i=0;i<B;i++){let V=L[i];V.primitives.length>0&&(V.instances=U?G8e(M):M,U=!0)}}function G8e(e){let t=new vae;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=He(n[o],!1);t.attributes.push(r)}return t.featureIds=e.featureIds,t}function W8e(e,t){if(e.hasProperty("POSITION"))return e.getPropertyArray("POSITION",X.FLOAT,3);if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(i))throw new se("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let o=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(o))throw new se("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let r=new Float32Array(n.length);for(let s=0;s<n.length/3;s++)for(let a=0;a<3;a++){let c=3*s+a;r[c]=n[c]/65535*o[a]+i[a]}return r}else throw new se("Either POSITION or POSITION_QUANTIZED must be defined for each instance.")}var Sae=new Array(4);function j8e(e,t,n,i,o,r,s,a,c,u){let f=e.getProperty("NORMAL_UP",X.FLOAT,3,n,WW),d=e.getProperty("NORMAL_RIGHT",X.FLOAT,3,n,Sae),p=!1;if(l(f)){if(!l(d))throw new se("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");h.unpack(f,0,r),h.unpack(d,0,s),p=!0}else{let g=e.getProperty("NORMAL_UP_OCT32P",X.UNSIGNED_SHORT,2,n,WW),m=e.getProperty("NORMAL_RIGHT_OCT32P",X.UNSIGNED_SHORT,2,n,Sae);if(l(g)){if(!l(m))throw new se("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");Nn.octDecodeInRange(g[0],g[1],65535,r),Nn.octDecodeInRange(m[0],m[1],65535,s),p=!0}else t?(Lt.eastNorthUpToFixedFrame(o,ee.WGS84,u),F.getMatrix3(u,c)):$.clone($.IDENTITY,c)}p&&(h.cross(s,r,a),h.normalize(a,a),$.setColumn(c,0,s,c),$.setColumn(c,1,r,c),$.setColumn(c,2,a,c)),Le.fromRotationMatrix(c,i)}function q8e(e,t,n){n=h.fromElements(1,1,1,n);let i=e.getProperty("SCALE",X.FLOAT,1,t);l(i)&&h.multiplyByScalar(n,i,n);let o=e.getProperty("SCALE_NON_UNIFORM",X.FLOAT,3,t,WW);l(o)&&(n.x*=o[0],n.y*=o[1],n.z*=o[2])}function Y8e(e){let t=e._buffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}d_.prototype.isUnloaded=function(){return this._state===f_.UNLOADED};d_.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),Y8e(this),this._components=void 0,this._arrayBuffer=void 0,this._state=f_.UNLOADED};var JR=d_;var X8e={STOPPED:0,ANIMATING:1},$d=Object.freeze(X8e);function YA(){this.times=void 0,this.points=void 0,de.throwInstantiationError()}YA.getPointType=function(e){if(typeof e=="number")return Number;if(e instanceof h)return h;if(e instanceof Le)return Le};YA.prototype.evaluate=de.throwInstantiationError;YA.prototype.findTimeInterval=function(e,t){let n=this.times,i=n.length;if(t=y(t,0),e>=n[t]){if(t+1<i&&e<n[t+1])return t;if(t+2<i&&e<n[t+2])return t+1}else if(t-1>=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o<i-1&&!(e>=n[o]&&e<n[o+1]);++o);else for(o=t-1;o>=0&&!(e>=n[o]&&e<n[o+1]);--o);return o===i-1&&(o=i-2),o};YA.prototype.wrapTime=function(e){let t=this.times,n=t[t.length-1],i=t[0],o=n-i,r;return e<i&&(r=Math.floor((i-e)/o)+1,e+=r*o),e>n&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};YA.prototype.clampTime=function(e){let t=this.times;return P.clamp(e,t[0],t[t.length-1])};var co=YA;function XA(e){this._value=e,this._valueType=co.getPointType(e)}Object.defineProperties(XA.prototype,{value:{get:function(){return this._value}}});XA.prototype.findTimeInterval=function(e){};XA.prototype.wrapTime=function(e){return 0};XA.prototype.clampTime=function(e){return 0};XA.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var eO=XA;function KA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=co.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(KA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});KA.prototype.findTimeInterval=co.prototype.findTimeInterval;KA.prototype.wrapTime=co.prototype.wrapTime;KA.prototype.clampTime=co.prototype.clampTime;KA.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(l(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var Ey=KA;var wae={};wae.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a<r.length;a++)r[a]=new h,s[a]=new h;o[0]=n[0]/t[0],r[0]=h.multiplyByScalar(i[0],1/t[0],r[0]);let c;for(a=1;a<o.length;++a)c=1/(t[a]-o[a-1]*e[a-1]),o[a]=n[a]*c,r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]);for(c=1/(t[a]-o[a-1]*e[a-1]),r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]),s[s.length-1]=r[r.length-1],a=s.length-2;a>=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var ZA=wae;var Dae=[],Iae=[],Pae=[],Rae=[];function K8e(e,t,n){let i=Dae,o=Pae,r=Iae,s=Rae;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(l(c)||(c=s[0]=new h),h.clone(t,c),a=1;a<i.length-1;++a)i[a]=o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c);return i[a]=0,o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c),r[a+1]=1,c=s[a+1],l(c)||(c=s[a+1]=new h),h.clone(n,c),ZA.solve(i,r,o,s)}function Z8e(e){let t=Dae,n=Pae,i=Iae,o=Rae;t.length=n.length=e.length-1,i.length=o.length=e.length;let r;t[0]=n[0]=1,i[0]=2;let s=o[0];for(l(s)||(s=o[0]=new h),h.subtract(e[1],e[0],s),h.multiplyByScalar(s,3,s),r=1;r<t.length;++r)t[r]=n[r]=1,i[r]=4,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r+1],e[r-1],s),h.multiplyByScalar(s,3,s);return i[r]=2,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r],e[r-1],s),h.multiplyByScalar(s,3,s),ZA.solve(t,i,n,o)}function Nl(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.inTangents,o=e.outTangents;this._times=n,this._points=t,this._pointType=co.getPointType(t[0]),this._inTangents=i,this._outTangents=o,this._lastTimeIndex=0}Object.defineProperties(Nl.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}});Nl.createC1=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.tangents,o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new Nl({times:t,points:n,inTangents:r,outTangents:o})};Nl.createNaturalCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points;if(n.length<3)return new Ey({points:n,times:t});let i=Z8e(n),o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new Nl({times:t,points:n,inTangents:r,outTangents:o})};Nl.createClampedCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.firstTangent,o=e.lastTangent,r=co.getPointType(n[0]);if(n.length<3)return new Ey({points:n,times:t});let s=K8e(n,i,o),a=s.slice(0,s.length-1),c=s.slice(1,s.length);return new Nl({times:t,points:n,inTangents:c,outTangents:a})};Nl.hermiteCoefficientMatrix=new F(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0);Nl.prototype.findTimeInterval=co.prototype.findTimeInterval;var $8e=new ie,$A=new h;Nl.prototype.wrapTime=co.prototype.wrapTime;Nl.prototype.clampTime=co.prototype.clampTime;Nl.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this.inTangents,r=this.outTangents;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let s=this._lastTimeIndex,a=i[s+1]-i[s],c=(e-i[s])/a,u=$8e;u.z=c,u.y=c*c,u.x=u.y*c,u.w=1;let f=F.multiplyByVector(Nl.hermiteCoefficientMatrix,u,u);f.z*=a,f.w*=a;let d=this._pointType;return d===Number?n[s]*f.x+n[s+1]*f.y+r[s]*f.z+o[s]*f.w:(l(t)||(t=new d),t=d.multiplyByScalar(n[s],f.x,t),d.multiplyByScalar(n[s+1],f.y,$A),d.add(t,$A,t),d.multiplyByScalar(r[s],f.z,$A),d.add(t,$A,t),d.multiplyByScalar(o[s],f.w,$A),d.add(t,$A,t))};var Sy=Nl;function QA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=co.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(QA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});QA.prototype.findTimeInterval=co.prototype.findTimeInterval;QA.prototype.wrapTime=co.prototype.wrapTime;QA.prototype.clampTime=co.prototype.clampTime;QA.prototype.evaluate=function(e,t){let n=this.points;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let i=this._lastTimeIndex,o=this._pointType;return o===Number?n[i]:(l(t)||(t=new o),o.clone(n[i],t))};var tO=QA;function Q8e(e){let t=e.points,n=e.times;return function(i,o){l(o)||(o=new Le);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=t[r],c=t[r+1];return Le.fastSlerp(a,c,s,o)}}function JA(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._evaluateFunction=Q8e(this),this._lastTimeIndex=0}Object.defineProperties(JA.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});JA.prototype.findTimeInterval=co.prototype.findTimeInterval;JA.prototype.wrapTime=co.prototype.wrapTime;JA.prototype.clampTime=co.prototype.clampTime;JA.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var nO=JA;var eE=Cn.AnimatedPropertyType;function jW(e){e=y(e,y.EMPTY_OBJECT);let t=e.channel,n=e.runtimeAnimation,i=e.runtimeNode;this._channel=t,this._runtimeAnimation=n,this._runtimeNode=i,this._splines=[],this._path=void 0,iGe(this)}Object.defineProperties(jW.prototype,{channel:{get:function(){return this._channel}},runtimeAnimation:{get:function(){return this._runtimeAnimation}},runtimeNode:{get:function(){return this._runtimeNode}},splines:{get:function(){return this._splines}}});function J8e(e,t){let n=[],i=[],o=[],r=t.length;for(let s=0;s<r;s+=3)i.push(t[s]),n.push(t[s+1]),o.push(t[s+2]);return i.splice(0,1),o.length=o.length-1,new Sy({times:e,points:n,inTangents:i,outTangents:o})}function Oae(e,t,n,i){if(e.length===1&&t.length===1)return new eO(t[0]);switch(n){case Xd.STEP:return new tO({times:e,points:t});case Xd.CUBICSPLINE:return J8e(e,t);case Xd.LINEAR:return i===eE.ROTATION?new nO({times:e,points:t}):new Ey({times:e,points:t})}}function eGe(e,t,n,i,o){let r=[];if(i===eE.WEIGHTS){let a=t.length/o,c,u;for(c=0;c<o;c++){let f=new Array(a),d=c;if(n===Xd.CUBICSPLINE)for(u=0;u<a;u+=3)f[u]=t[d],f[u+1]=t[d+o],f[u+2]=t[d+2*o],d+=o*3;else for(u=0;u<a;u++)f[u]=t[d],d+=o;r.push(Oae(e,f,n,i))}}else r.push(Oae(e,t,n,i));return r}var tGe=new h,nGe=new Le;function iGe(e){let t=e._channel,n=t.sampler,i=n.input,o=n.output,r=n.interpolation,a=t.target.path,c=e._runtimeNode,u=l(c.morphWeights)?c.morphWeights.length:1,f=eGe(i,o,r,a,u);e._splines=f,e._path=a}jW.prototype.animate=function(e){let t=this._splines,n=this._path,i=this._runtimeAnimation.model,o=this._runtimeNode;if(n===eE.WEIGHTS){let r=o.morphWeights,s=r.length;for(let a=0;a<s;a++){let c=t[a],u=i.clampAnimations?c.clampTime(e):c.wrapTime(e);r[a]=c.evaluate(u)}}else{if(o.userAnimated)return;{let r=t[0],s=i.clampAnimations?r.clampTime(e):r.wrapTime(e);n===eE.TRANSLATION||n===eE.SCALE?o[n]=r.evaluate(s,tGe):n===eE.ROTATION&&(o[n]=r.evaluate(s,nGe))}}};var iO=jW;function qW(e,t,n){this._animation=t,this._name=t.name,this._runtimeChannels=void 0,this._startTime=K.clone(n.startTime),this._delay=y(n.delay,0),this._stopTime=K.clone(n.stopTime),this.removeOnStop=y(n.removeOnStop,!1),this._multiplier=y(n.multiplier,1),this._reverse=y(n.reverse,!1),this._loop=y(n.loop,Ll.NONE),this._animationTime=n.animationTime,this._prevAnimationDelta=void 0,this.start=new me,this.update=new me,this.stop=new me,this._state=$d.STOPPED,this._computedStartTime=void 0,this._duration=void 0;let i=this;this._raiseStartEvent=function(){i.start.raiseEvent(e,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(e,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(e,i)},this._model=e,this._localStartTime=void 0,this._localStopTime=void 0,oGe(this)}Object.defineProperties(qW.prototype,{animation:{get:function(){return this._animation}},name:{get:function(){return this._name}},runtimeChannels:{get:function(){return this._runtimeChannels}},model:{get:function(){return this._model}},localStartTime:{get:function(){return this._localStartTime}},localStopTime:{get:function(){return this._localStopTime}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}});function oGe(e){let t=Number.MAX_VALUE,n=-Number.MAX_VALUE,i=e._model.sceneGraph,r=e._animation.channels,s=r.length,a=[];for(let c=0;c<s;c++){let u=r[c],f=u.target;if(!l(f))continue;let d=f.node.index,p=i._runtimeNodes[d],g=new iO({channel:u,runtimeAnimation:e,runtimeNode:p}),m=u.sampler.input;t=Math.min(t,m[0]),n=Math.max(n,m[m.length-1]),a.push(g)}e._runtimeChannels=a,e._localStartTime=t,e._localStopTime=n}qW.prototype.animate=function(e){let t=this._runtimeChannels,n=t.length;for(let i=0;i<n;i++)t[i].animate(e)};var oO=qW;function h_(e){this.animationAdded=new me,this.animationRemoved=new me,this.animateWhilePaused=!1,this._model=e,this._runtimeAnimations=[],this._previousTime=void 0}Object.defineProperties(h_.prototype,{length:{get:function(){return this._runtimeAnimations.length}},model:{get:function(){return this._model}}});function YW(e,t,n){let i=e._model,o=new oO(i,t,n);return e._runtimeAnimations.push(o),e.animationAdded.raiseEvent(i,o),o}h_.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=e.index;if(l(i))return YW(this,n[i],e);let o=n.length;for(let r=0;r<o;++r)if(n[r].name===e.name){i=r;break}return YW(this,n[i],e)};h_.prototype.addAll=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=[],o=n.length;for(let r=0;r<o;++r){let s=YW(this,n[r],e);i.push(s)}return i};h_.prototype.remove=function(e){if(!l(e))return!1;let t=this._runtimeAnimations,n=t.indexOf(e);return n!==-1?(t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0):!1};h_.prototype.removeAll=function(){let e=this._model,t=this._runtimeAnimations,n=t.length;this._runtimeAnimations.length=0;for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])};h_.prototype.contains=function(e){return l(e)?this._runtimeAnimations.indexOf(e)!==-1:!1};h_.prototype.get=function(e){return this._runtimeAnimations[e]};var lz=[];function rGe(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}h_.prototype.update=function(e){let t=this._runtimeAnimations,n=t.length;if(n===0)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&K.equals(e.time,this._previousTime))return!1;this._previousTime=K.clone(e.time,this._previousTime);let i=!1,o=e.time,r=this._model;for(let s=0;s<n;++s){let a=t[s];l(a._computedStartTime)||(a._computedStartTime=K.addSeconds(y(a.startTime,o),a.delay,new K)),l(a._duration)||(a._duration=a.localStopTime*(1/a.multiplier));let c=a._computedStartTime,u=a._duration,f=a.stopTime,d=K.lessThanOrEquals(c,o),p=l(f)&&K.greaterThan(o,f),g=0;if(u!==0){let b=K.secondsDifference(p?f:o,c);g=l(a._animationTime)?a._animationTime(u,b):b/u}let m=a.loop===Ll.REPEAT||a.loop===Ll.MIRRORED_REPEAT,x=(d||m&&!l(a.startTime))&&(g<=1||m)&&!p;if(g===a._prevAnimationDelta){let b=a._state===$d.STOPPED;if(x!==b)continue}if(a._prevAnimationDelta=g,x||a._state===$d.ANIMATING){if(x&&a._state===$d.STOPPED&&(a._state=$d.ANIMATING,a.start.numberOfListeners>0&&e.afterRender.push(a._raiseStartEvent)),a.loop===Ll.REPEAT)g=g-Math.floor(g);else if(a.loop===Ll.MIRRORED_REPEAT){let T=Math.floor(g),A=g-T;g=T%2===1?1-A:A}a.reverse&&(g=1-g);let b=g*u*a.multiplier;b=P.clamp(b,a.localStartTime,a.localStopTime),a.animate(b),a.update.numberOfListeners>0&&(a._updateEventTime=b,e.afterRender.push(a._raiseUpdateEvent)),i=!0,x||(a._state=$d.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&lz.push(a))}}n=lz.length;for(let s=0;s<n;++s){let a=lz[s];t.splice(t.indexOf(a),1),e.afterRender.push(rGe(this,r,a))}return lz.length=0,i};var rO=h_;function Eb(e){this._model=e.model,this._featureTable=e.featureTable,this._featureId=e.featureId,this._color=void 0}Object.defineProperties(Eb.prototype,{show:{get:function(){return this._featureTable.getShow(this._featureId)},set:function(e){this._featureTable.setShow(this._featureId,e)}},color:{get:function(){return l(this._color)||(this._color=new H),this._featureTable.getColor(this._featureId,this._color)},set:function(e){this._featureTable.setColor(this._featureId,e)}},primitive:{get:function(){return this._model}},featureTable:{get:function(){return this._featureTable}},featureId:{get:function(){return this._featureId}}});Eb.prototype.hasProperty=function(e){return this._featureTable.hasProperty(this._featureId,e)};Eb.prototype.getProperty=function(e){return this._featureTable.getProperty(this._featureId,e)};Eb.prototype.getPropertyInherited=function(e){return this._featureTable.hasPropertyBySemantic(this._featureId,e)?this._featureTable.getPropertyBySemantic(this._featureId,e):this._featureTable.getProperty(this._featureId,e)};Eb.prototype.getPropertyIds=function(e){return this._featureTable.getPropertyIds(e)};Eb.prototype.setProperty=function(e,t){return this._featureTable.setProperty(this._featureId,e,t)};var sO=Eb;var aO={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};aO.getStyleCommandsNeeded=function(e,t){return t===0?aO.ALL_OPAQUE:t===e?aO.ALL_TRANSLUCENT:aO.OPAQUE_AND_TRANSLUCENT};var Qd=Object.freeze(aO);var vy={GLTF:"GLTF",TILE_GLTF:"TILE_GLTF",TILE_B3DM:"B3DM",TILE_I3DM:"I3DM",TILE_PNTS:"PNTS",TILE_GEOJSON:"TILE_GEOJSON"};vy.is3DTiles=function(e){switch(e){case vy.TILE_GLTF:case vy.TILE_B3DM:case vy.TILE_I3DM:case vy.TILE_PNTS:case vy.TILE_GEOJSON:return!0;case vy.GLTF:return!1}};var pr=Object.freeze(vy);function jr(e){let t=e.model,n=e.propertyTable;this._propertyTable=n,this._model=t,this._features=void 0,this._featuresLength=0,this._batchTexture=void 0,this._styleCommandsNeededDirty=!1,this._styleCommandsNeeded=Qd.ALL_OPAQUE,sGe(this)}Object.defineProperties(jr.prototype,{batchTexture:{get:function(){return this._batchTexture}},featuresLength:{get:function(){return this._featuresLength}},batchTextureByteLength:{get:function(){return l(this._batchTexture)?this._batchTexture.byteLength:0}},styleCommandsNeededDirty:{get:function(){return this._styleCommandsNeededDirty}}});function sGe(e){let t=e._model,n=pr.is3DTiles(t.type),i=e._propertyTable.count;if(i===0)return;let o,r=new Array(i);if(n){let s=t.content;for(o=0;o<i;o++)r[o]=new Ks(s,o)}else for(o=0;o<i;o++)r[o]=new sO({model:t,featureId:o,featureTable:e});e._features=r,e._featuresLength=i,e._batchTexture=new Zc({featuresLength:i,owner:e,statistics:n?t.content.tileset.statistics:void 0})}jr.prototype.update=function(e){this._styleCommandsNeededDirty=!1,this._batchTexture.update(void 0,e);let t=Qd.getStyleCommandsNeeded(this._featuresLength,this._batchTexture.translucentFeaturesLength);this._styleCommandsNeeded!==t&&(this._styleCommandsNeededDirty=!0,this._styleCommandsNeeded=t)};jr.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};jr.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};jr.prototype.getShow=function(e){return this._batchTexture.getShow(e)};jr.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};jr.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};jr.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};jr.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};jr.prototype.getFeature=function(e){return this._features[e]};jr.prototype.hasProperty=function(e,t){return this._propertyTable.hasProperty(e,t)};jr.prototype.hasPropertyBySemantic=function(e,t){return this._propertyTable.hasPropertyBySemantic(e,t)};jr.prototype.getProperty=function(e,t){return this._propertyTable.getProperty(e,t)};jr.prototype.getPropertyBySemantic=function(e,t){return this._propertyTable.getPropertyBySemantic(e,t)};jr.prototype.getPropertyIds=function(e){return this._propertyTable.getPropertyIds(e)};jr.prototype.setProperty=function(e,t,n){return this._propertyTable.setProperty(e,t,n)};jr.prototype.isClass=function(e,t){return this._propertyTable.isClass(e,t)};jr.prototype.isExactClass=function(e,t){return this._propertyTable.isExactClass(e,t)};jr.prototype.getExactClassName=function(e){return this._propertyTable.getExactClassName(e)};var aGe=new H;jr.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(Zc.DEFAULT_COLOR_VALUE),this.setAllShow(Zc.DEFAULT_SHOW_VALUE);return}for(let t=0;t<this._featuresLength;t++){let n=this.getFeature(t),i=l(e.color)?y(e.color.evaluateColor(n,aGe),Zc.DEFAULT_COLOR_VALUE):Zc.DEFAULT_COLOR_VALUE,o=l(e.show)?y(e.show.evaluate(n),Zc.DEFAULT_SHOW_VALUE):Zc.DEFAULT_SHOW_VALUE;this.setColor(t,i),this.setShow(t,o)}};jr.prototype.isDestroyed=function(){return!1};jr.prototype.destroy=function(e){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var cO=jr;var Mae={name:"TilesetPipelineStage"};Mae.process=function(e,t,n){if(t.hasSkipLevelOfDetail(n)){e.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,pe.FRAGMENT);let r={u_polygonOffset:function(){return z.ZERO}};e.uniformMap=Ct(r,e.uniformMap),e.hasSkipLevelOfDetail=!0}let i=e.renderStateOptions;i.stencilTest=zt.setCesium3DTileBit(),i.stencilMask=zt.CESIUM_3D_TILE_MASK};var lO=Mae;var uO=`// robust iterative solution without trig functions +// https://github.com/0xfaded/ellipse_demo/issues/1 +// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse +// +// This version uses only a single iteration for best performance. For fog +// rendering, the difference is negligible. +vec2 nearestPointOnEllipseFast(vec2 pos, vec2 radii) { + vec2 p = abs(pos); + vec2 inverseRadii = 1.0 / radii; + vec2 evoluteScale = (radii.x * radii.x - radii.y * radii.y) * vec2(1.0, -1.0) * inverseRadii; - #ifdef HAS_BITANGENTS - v_bitangentEC = normalize(normal * attributes.bitangentMC); - #endif + // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) + // but store the cos and sin of t in a vec2 for efficiency. + // Initial guess: t = cos(pi/4) + vec2 tTrigs = vec2(0.70710678118); + vec2 v = radii * tTrigs; - // All other varyings need to be dynamically generated in - // GeometryPipelineStage - setDynamicVaryings(attributes); + // Find the evolute of the ellipse (center of curvature) at v. + vec2 evolute = evoluteScale * tTrigs * tTrigs * tTrigs; + // Find the (approximate) intersection of p - evolute with the ellipsoid. + vec2 q = normalize(p - evolute) * length(v - evolute); + // Update the estimate of t. + tTrigs = (q + evolute) * inverseRadii; + tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); + v = radii * tTrigs; - return computedPosition; + return v * sign(pos); } -`;var eE=`vec2 computeSt(float featureId) -{ - float stepX = model_textureStep.x; - float centerX = model_textureStep.y; - #ifdef MULTILINE_BATCH_TEXTURE - float stepY = model_textureStep.z; - float centerY = model_textureStep.w; +vec3 computeEllipsoidPositionWC(vec3 positionMC) { + // Get the world-space position and project onto a meridian plane of + // the ellipsoid + vec3 positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; - float xId = mod(featureId, model_textureDimensions.x); - float yId = floor(featureId / model_textureDimensions.x); - - return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); - #else - return vec2(centerX + (featureId * stepX), 0.5); - #endif -} + vec2 positionEllipse = vec2(length(positionWC.xy), positionWC.z); + vec2 nearestPoint = nearestPointOnEllipseFast(positionEllipse, czm_ellipsoidRadii.xz); -void selectedFeatureIdStage(out SelectedFeature feature, FeatureIds featureIds) -{ - int featureId = featureIds.SELECTED_FEATURE_ID; + // Reconstruct a 3D point in world space + return vec3(nearestPoint.x * normalize(positionWC.xy), nearestPoint.y); +} +void applyFog(inout vec4 color, vec4 groundAtmosphereColor, vec3 lightDirection, float distanceToCamera) { - if (featureId < model_featuresLength) - { - vec2 featureSt = computeSt(float(featureId)); + vec3 fogColor = groundAtmosphereColor.rgb; - feature.id = featureId; - feature.st = featureSt; - feature.color = texture(model_batchTexture, featureSt); - } - // Floating point comparisons can be unreliable in GLSL, so we - // increment the feature ID to make sure it's always greater - // then the model_featuresLength - a condition we check for in the - // pick ID, to avoid sampling the pick texture if the feature ID is - // greater than the number of features. - else - { - feature.id = model_featuresLength + 1; - feature.st = vec2(0.0); - feature.color = vec4(1.0); + // If there is dynamic lighting, apply that to the fog. + const float NONE = 0.0; + if (czm_atmosphereDynamicLighting != NONE) { + float darken = clamp(dot(normalize(czm_viewerPositionWC), lightDirection), czm_fogMinimumBrightness, 1.0); + fogColor *= darken; } - #ifdef HAS_NULL_FEATURE_ID - if (featureId == model_nullFeatureId) { - feature.id = featureId; - feature.st = vec2(0.0); - feature.color = vec4(1.0); - } - #endif -} -`;var VO={name:"SelectedFeatureIdPipelineStage",STRUCT_ID_SELECTED_FEATURE:"SelectedFeature",STRUCT_NAME_SELECTED_FEATURE:"SelectedFeature"};VO.process=function(e,t,n){let i=e.shaderBuilder;e.hasPropertyTable=!0;let o=e.model,r=e.runtimeNode.node,s=WGe(o,r,t),a=s.shaderDestination;i.addDefine("HAS_SELECTED_FEATURE_ID",void 0,a),i.addDefine("SELECTED_FEATURE_ID",s.variableName,a),i.addDefine(s.featureIdDefine,void 0,a),jGe(i);let c=s.featureIds.nullFeatureId,u=e.uniformMap;l(c)&&(i.addDefine("HAS_NULL_FEATURE_ID",void 0,a),i.addUniform("int","model_nullFeatureId",a),u.model_nullFeatureId=function(){return c}),s.shaderDestination===pe.BOTH&&i.addVertexLines(eE),i.addFragmentLines(eE)};function qae(e){return e instanceof Tn.FeatureIdTexture?"HAS_SELECTED_FEATURE_ID_TEXTURE":"HAS_SELECTED_FEATURE_ID_ATTRIBUTE"}function Yae(e){return e instanceof Tn.FeatureIdTexture?pe.FRAGMENT:pe.BOTH}function WGe(e,t,n){let i,o;return l(t.instances)&&(o=Xt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(o))?(i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:Yae(o),featureIdDefine:qae(o)}):(o=Xt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:Yae(o),featureIdDefine:qae(o)})}function jGe(e){e.addStructField(VO.STRUCT_ID_SELECTED_FEATURE,"int","id"),e.addStructField(VO.STRUCT_ID_SELECTED_FEATURE,"vec2","st"),e.addStructField(VO.STRUCT_ID_SELECTED_FEATURE,"vec4","color")}var Sy=VO;var Ys={name:"GeometryPipelineStage",STRUCT_ID_PROCESSED_ATTRIBUTES_VS:"ProcessedAttributesVS",STRUCT_ID_PROCESSED_ATTRIBUTES_FS:"ProcessedAttributesFS",STRUCT_NAME_PROCESSED_ATTRIBUTES:"ProcessedAttributes",FUNCTION_ID_INITIALIZE_ATTRIBUTES:"initializeAttributes",FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES:"void initializeAttributes(out ProcessedAttributes attributes)",FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS:"setDynamicVaryingsVS",FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS:"setDynamicVaryingsFS",FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS:"void setDynamicVaryings(inout ProcessedAttributes attributes)"};Ys.process=function(e,t,n){let{shaderBuilder:i,model:o}=e;i.addStruct(Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"ProcessedAttributes",pe.VERTEX),i.addStruct(Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"ProcessedAttributes",pe.FRAGMENT),i.addStruct(Sy.STRUCT_ID_SELECTED_FEATURE,Sy.STRUCT_NAME_SELECTED_FEATURE,pe.BOTH),i.addFunction(Ys.FUNCTION_ID_INITIALIZE_ATTRIBUTES,Ys.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES,pe.VERTEX),i.addVarying("vec3","v_positionWC"),i.addVarying("vec3","v_positionEC"),i.addStructField(Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionWC"),i.addStructField(Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionEC"),i.addFunction(Ys.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,Ys.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.VERTEX),i.addFunction(Ys.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,Ys.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.FRAGMENT),o.type===lr.TILE_PNTS&&i.addDefine("HAS_SRGB_COLOR",void 0,pe.FRAGMENT);let r=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&o._projectTo2D,s=l(e.runtimeNode.node.instances),a=r&&!s,c=t.attributes.length;for(let u=0;u<c;u++){let f=t.attributes[u],d=sn.getAttributeLocationCount(f.type),p=f.semantic===At.POSITION,g;d>1?(g=e.attributeIndex,e.attributeIndex+=d):p&&!a?g=0:g=e.attributeIndex++,qGe(e,f,g,d,r,s)}t5e(i,t.attributes),t.primitiveType===Ne.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(kO),i.addFragmentLines(BO)};function qGe(e,t,n,i,o,r){let s=e.shaderBuilder,a=Xt.getAttributeInfo(t),c=o&&!r;i>1?KGe(e,t,n,i):XGe(e,t,n,c),$Ge(s,a,c),ZGe(s,a),l(t.semantic)&&YGe(s,t),QGe(s,a,o),JGe(s,a,c),e5e(s,a)}function YGe(e,t){let{semantic:n,setIndex:i}=t;switch(n){case At.NORMAL:e.addDefine("HAS_NORMALS");break;case At.TANGENT:e.addDefine("HAS_TANGENTS");break;case At.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case At.TEXCOORD:case At.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function XGe(e,t,n,i){let{quantization:o,semantic:r,setIndex:s}=t,{type:a,componentDatatype:c}=l(o)?o:t;r===At.FEATURE_ID&&s>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=s+1);let u=r===At.POSITION,f=u?0:n,d=sn.getNumberOfComponents(a),p={index:f,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:d,componentDatatype:c,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!u||!i)return;let g=e.runtimePrimitive.positionBuffer2D,m={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:d,componentDatatype:X.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(m)}function KGe(e,t,n,i){let{quantization:o,normalized:r}=t,{type:s,componentDatatype:a}=l(o)?o:t,u=sn.getNumberOfComponents(s)/i,f=X.getSizeInBytes(a),d=u*f,p=t.byteStride;for(let g=0;g<i;g++){let m=t.byteOffset+g*d,x={index:n+g,vertexBuffer:t.buffer,componentsPerAttribute:u,componentDatatype:a,offsetInBytes:m,strideInBytes:p,normalize:r};e.attributes.push(x)}}function ZGe(e,t){let n=t.variableName,i=`v_${n}`,o;n==="normalMC"?(i="v_normalEC",o=t.glslType):n==="tangentMC"?(o="vec3",i="v_tangentEC"):o=t.glslType,e.addVarying(o,i)}function $Ge(e,t,n){let i=t.attribute.semantic,o=t.variableName,r,s;t.isQuantized?(r=`a_quantized_${o}`,s=t.quantizedGlslType):(r=`a_${o}`,s=t.glslType);let a=i===At.POSITION;a?e.setPositionAttribute(s,r):e.addAttribute(s,r),a&&n&&e.addAttribute("vec3","a_position2D")}function QGe(e,t,n){let i=Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,o=Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,{variableName:r,glslType:s}=t;r==="tangentMC"?(e.addStructField(i,"vec3","tangentMC"),e.addStructField(i,"float","tangentSignMC"),e.addStructField(o,"vec3","tangentEC")):r==="normalMC"?(e.addStructField(i,"vec3","normalMC"),e.addStructField(o,"vec3","normalEC")):(e.addStructField(i,s,r),e.addStructField(o,s,r)),r==="positionMC"&&n&&e.addStructField(i,"vec3","position2D")}function JGe(e,t,n){let i=Ys.FUNCTION_ID_INITIALIZE_ATTRIBUTES,o=t.variableName;if(o==="positionMC"&&n&&e.addFunctionLines(i,["attributes.position2D = a_position2D;"]),t.isQuantized)return;let s=[];o==="tangentMC"?(s.push("attributes.tangentMC = a_tangentMC.xyz;"),s.push("attributes.tangentSignMC = a_tangentMC.w;")):s.push(`attributes.${o} = a_${o};`),e.addFunctionLines(i,s)}function e5e(e,t){let{semantic:n,setIndex:i}=t.attribute;if(l(n)&&!l(i))return;let o=Ys.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,r=t.variableName,s=`v_${r} = attributes.${r};`;e.addFunctionLines(o,[s]),o=Ys.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,s=`attributes.${r} = v_${r};`,e.addFunctionLines(o,[s])}function t5e(e,t){let n=!1,i=!1;for(let o=0;o<t.length;o++){let r=t[o];r.semantic===At.NORMAL?n=!0:r.semantic===At.TANGENT&&(i=!0)}!n||!i||(e.addDefine("HAS_BITANGENTS"),e.addVarying("vec3","v_bitangentEC"),e.addStructField(Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"vec3","bitangentMC"),e.addStructField(Ys.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","bitangentEC"))}var UO=Ys;var zO=`#ifdef USE_IBL_LIGHTING -vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) -{ - #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) - // Environment maps were provided, use them for IBL - vec3 viewDirection = -normalize(position); - vec3 iblColor = textureIBL(viewDirection, normal, material); - #else - // Use procedural IBL if there are no environment maps - vec3 imageBasedLighting = proceduralIBL(position, normal, lightDirection, material); - float maximumComponent = czm_maximumComponent(lightColorHdr); - vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0); - vec3 iblColor = clampedLightColor * imageBasedLighting; + // Tonemap if HDR rendering is disabled + #ifndef HDR + fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); + fogColor.rgb = czm_inverseGamma(fogColor.rgb); #endif - return iblColor * material.occlusion; -} -#endif -#ifdef USE_CLEARCOAT -vec3 addClearcoatReflection(vec3 baseLayerColor, vec3 position, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) -{ - vec3 viewDirection = -normalize(position); - vec3 halfwayDirection = normalize(viewDirection + lightDirection); - vec3 normal = material.clearcoatNormal; - float NdotL = clamp(dot(normal, lightDirection), 0.001, 1.0); + vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, czm_fogVisualDensityScalar); + color = vec4(withFog, color.a); +} - // clearcoatF0 = vec3(pow((ior - 1.0) / (ior + 1.0), 2.0)), but without KHR_materials_ior, ior is a constant 1.5. - vec3 f0 = vec3(0.04); - vec3 f90 = vec3(1.0); - // Note: clearcoat Fresnel computed with dot(n, v) instead of dot(v, h). - // This is to make it energy conserving with a simple layering function. - float NdotV = clamp(dot(normal, viewDirection), 0.0, 1.0); - vec3 F = fresnelSchlick2(f0, f90, NdotV); +void atmosphereStage(inout vec4 color, in ProcessedAttributes attributes) { + vec3 rayleighColor; + vec3 mieColor; + float opacity; - // compute specular reflection from direct lighting - float roughness = material.clearcoatRoughness; - float alphaRoughness = roughness * roughness; - float directStrength = computeDirectSpecularStrength(normal, lightDirection, viewDirection, halfwayDirection, alphaRoughness); - vec3 directReflection = F * directStrength * NdotL; - vec3 color = lightColorHdr * directReflection; + vec3 positionWC; + vec3 lightDirection; - #ifdef SPECULAR_IBL - // Find the direction in which to sample the environment map - vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflect(-viewDirection, normal)); - vec3 iblColor = computeSpecularIBL(reflectMC, NdotV, f0, roughness); - color += iblColor * material.occlusion; - #elif defined(USE_IBL_LIGHTING) - vec3 positionWC = vec3(czm_inverseView * vec4(position, 1.0)); - vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirection, normal)); - vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC); - - vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness); - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y); - vec3 iblColor = specularIrradiance * specularColor * model_iblFactor.y; - #ifdef USE_SUN_LUMINANCE - iblColor *= getSunLuminance(positionWC, normal, lightDirection); - #endif - float maximumComponent = czm_maximumComponent(lightColorHdr); - vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0); - color += clampedLightColor * iblColor * material.occlusion; - #endif + // When the camera is in space, compute the position per-fragment for + // more accurate ground atmosphere. All other cases will use + // + // The if condition will be added in https://github.com/CesiumGS/cesium/issues/11717 + if (false) { + positionWC = computeEllipsoidPositionWC(attributes.positionMC); + lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); - float clearcoatFactor = material.clearcoatFactor; - vec3 clearcoatColor = color * clearcoatFactor; + // The fog color is derived from the ground atmosphere color + czm_computeGroundAtmosphereScattering( + positionWC, + lightDirection, + rayleighColor, + mieColor, + opacity + ); + } else { + positionWC = attributes.positionWC; + lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); + rayleighColor = v_atmosphereRayleighColor; + mieColor = v_atmosphereMieColor; + opacity = v_atmosphereOpacity; + } - // Dim base layer based on transmission loss through clearcoat - return baseLayerColor * (1.0 - clearcoatFactor * F) + clearcoatColor; + //color correct rayleigh and mie colors + const bool ignoreBlackPixels = true; + rayleighColor = czm_applyHSBShift(rayleighColor, czm_atmosphereHsbShift, ignoreBlackPixels); + mieColor = czm_applyHSBShift(mieColor, czm_atmosphereHsbShift, ignoreBlackPixels); + + vec4 groundAtmosphereColor = czm_computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + + if (u_isInFog) { + float distanceToCamera = length(attributes.positionEC); + applyFog(color, groundAtmosphereColor, lightDirection, distanceToCamera); + } else { + // Ground atmosphere + } } -#endif +`;var fO=`void atmosphereStage(ProcessedAttributes attributes) { + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_positionWC, czm_atmosphereDynamicLighting); -#if defined(LIGHTING_PBR) && defined(HAS_NORMALS) -vec3 computePbrLighting(in czm_modelMaterial material, in vec3 position) + czm_computeGroundAtmosphereScattering( + // This assumes the geometry stage came before this. + v_positionWC, + lightDirection, + v_atmosphereRayleighColor, + v_atmosphereMieColor, + v_atmosphereOpacity + ); +} +`;var Lae={name:"AtmospherePipelineStage"};Lae.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_ATMOSPHERE",void 0,pe.BOTH),i.addDefine("COMPUTE_POSITION_WC_ATMOSPHERE",void 0,pe.BOTH),i.addVarying("vec3","v_atmosphereRayleighColor"),i.addVarying("vec3","v_atmosphereMieColor"),i.addVarying("float","v_atmosphereOpacity"),i.addVertexLines([fO]),i.addFragmentLines([uO]),i.addUniform("bool","u_isInFog",pe.FRAGMENT),e.uniformMap.u_isInFog=function(){let o=h.distance(n.camera.positionWC,t.boundingSphere.center);return P.fog(o,n.fog.density)>P.EPSILON3}};var dO=Lae;var hO=`#ifdef DIFFUSE_IBL +vec3 sampleDiffuseEnvironment(vec3 cubeDir) { - #ifdef USE_CUSTOM_LIGHT_COLOR - vec3 lightColorHdr = model_lightColorHdr; + #ifdef CUSTOM_SPHERICAL_HARMONICS + return czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); #else - vec3 lightColorHdr = czm_lightColorHdr; + return czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); #endif +} +#endif - vec3 viewDirection = -normalize(position); - vec3 normal = material.normalEC; - vec3 lightDirection = normalize(czm_lightDirectionEC); - - vec3 directLighting = czm_pbrLighting(viewDirection, normal, lightDirection, material); - vec3 directColor = lightColorHdr * directLighting; - - // Accumulate colors from base layer - vec3 color = directColor + material.emissive; - #ifdef USE_IBL_LIGHTING - color += computeIBL(position, normal, lightDirection, lightColorHdr, material); +#ifdef SPECULAR_IBL +vec3 sampleSpecularEnvironment(vec3 cubeDir, float roughness) +{ + #ifdef CUSTOM_SPECULAR_IBL + float lod = roughness * model_specularEnvironmentMapsMaximumLOD; + return czm_textureCube(model_specularEnvironmentMaps, cubeDir, lod).rgb; + #else + float lod = roughness * czm_specularEnvironmentMapsMaximumLOD; + return czm_textureCube(czm_specularEnvironmentMaps, cubeDir, lod).rgb; #endif +} +vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness) +{ + // see https://bruop.github.io/ibl/ at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + vec3 f90 = max(vec3(1.0 - roughness), f0); + vec3 F = fresnelSchlick2(f0, f90, NdotV); - #ifdef USE_CLEARCOAT - color = addClearcoatReflection(color, position, lightDirection, lightColorHdr, material); - #endif + vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; + vec3 specularSample = sampleSpecularEnvironment(cubeDir, roughness); - return color; + return specularSample * (F * brdfLut.x + brdfLut.y); } #endif +#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) /** - * Compute the material color under the current lighting conditions. - * All other material properties are passed through so further stages - * have access to them. + * Compute the light contributions from environment maps and spherical harmonic coefficients. + * See Fdez-Aguera, https://www.jcgt.org/published/0008/01/03/paper.pdf, for explanation + * of the single- and multi-scattering terms. * - * @param {czm_modelMaterial} material The material properties from {@MaterialStageFS} - * @param {ProcessedAttributes} attributes + * @param {vec3} viewDirectionEC Unit vector pointing from the fragment to the eye position. + * @param {vec3} normalEC The surface normal in eye coordinates. + * @param {czm_modelMaterial} The material properties. + * @return {vec3} The computed HDR color. */ -void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attributes) -{ - #ifdef LIGHTING_PBR - #ifdef HAS_NORMALS - vec3 color = computePbrLighting(material, attributes.positionEC); - #else - vec3 color = material.diffuse * material.occlusion + material.emissive; - #endif - // In HDR mode, the frame buffer is in linear color space. The - // post-processing stages (see PostProcessStageCollection) will handle - // tonemapping. However, if HDR is not enabled, we must tonemap else large - // values may be clamped to 1.0 - #ifndef HDR - color = czm_pbrNeutralTonemapping(color); - #endif - #else // unlit - vec3 color = material.diffuse; - #endif - - #ifdef HAS_POINT_CLOUD_COLOR_STYLE - // The colors resulting from point cloud styles are adjusted differently. - color = czm_gammaCorrect(color); - #elif !defined(HDR) - // If HDR is not enabled, the frame buffer stores sRGB colors rather than - // linear colors so the linear value must be converted. - color = czm_linearToSrgb(color); +vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) { + vec3 f0 = material.specular; + float roughness = material.roughness; + float specularWeight = 1.0; + #ifdef USE_SPECULAR + specularWeight = material.specularWeight; #endif + float NdotV = clamp(dot(normalEC, viewDirectionEC), 0.0, 1.0); - material.diffuse = color; -} -`;var n5e={UNLIT:0,PBR:1},hm=Object.freeze(n5e);var Xae={name:"LightingPipelineStage"};Xae.process=function(e,t){let{model:n,lightingOptions:i,shaderBuilder:o}=e;if(l(n.lightColor)){o.addDefine("USE_CUSTOM_LIGHT_COLOR",void 0,pe.FRAGMENT),o.addUniform("vec3","model_lightColorHdr",pe.FRAGMENT);let s=e.uniformMap;s.model_lightColorHdr=function(){return n.lightColor}}let{lightingModel:r}=i;r===hm.PBR?o.addDefine("LIGHTING_PBR",void 0,pe.FRAGMENT):o.addDefine("LIGHTING_UNLIT",void 0,pe.FRAGMENT),o.addFragmentLines(zO)};var HO=Xae;var GO=`// If the style color is white, it implies the feature has not been styled. -bool isDefaultStyleColor(vec3 color) -{ - return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); -} + // see https://bruop.github.io/ibl/ at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + vec3 f90 = max(vec3(1.0 - roughness), f0); + vec3 singleScatterFresnel = fresnelSchlick2(f0, f90, NdotV); -vec3 blend(vec3 sourceColor, vec3 styleColor, float styleColorBlend) -{ - vec3 blendColor = mix(sourceColor, styleColor, styleColorBlend); - vec3 color = isDefaultStyleColor(styleColor.rgb) ? sourceColor : blendColor; - return color; -} + vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; + vec3 FssEss = specularWeight * (singleScatterFresnel * brdfLut.x + brdfLut.y); -vec2 computeTextureTransform(vec2 texCoord, mat3 textureTransform) -{ - return vec2(textureTransform * vec3(texCoord, 1.0)); -} + #ifdef DIFFUSE_IBL + vec3 normalMC = normalize(model_iblReferenceFrameMatrix * normalEC); + vec3 irradiance = sampleDiffuseEnvironment(normalMC); -#ifdef HAS_NORMAL_TEXTURE -vec2 getNormalTexCoords() -{ - vec2 texCoord = TEXCOORD_NORMAL; - #ifdef HAS_NORMAL_TEXTURE_TRANSFORM - texCoord = vec2(u_normalTextureTransform * vec3(texCoord, 1.0)); + vec3 averageFresnel = f0 + (1.0 - f0) / 21.0; + float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y); + vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems); + vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse; + vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering) * model_iblFactor.x; + #else + vec3 diffuseContribution = vec3(0.0); #endif - return texCoord; -} -#endif - -#if defined(HAS_NORMAL_TEXTURE) || defined(HAS_CLEARCOAT_NORMAL_TEXTURE) -vec3 computeTangent(in vec3 position, in vec2 normalTexCoords) -{ - vec2 tex_dx = dFdx(normalTexCoords); - vec2 tex_dy = dFdy(normalTexCoords); - float determinant = tex_dx.x * tex_dy.y - tex_dy.x * tex_dx.y; - vec3 tangent = tex_dy.t * dFdx(position) - tex_dx.t * dFdy(position); - return tangent / determinant; -} -#endif - -#ifdef USE_ANISOTROPY -struct NormalInfo { - vec3 tangent; - vec3 bitangent; - vec3 normal; - vec3 geometryNormal; -}; -NormalInfo getNormalInfo(ProcessedAttributes attributes) -{ - vec3 geometryNormal = attributes.normalEC; - #ifdef HAS_NORMAL_TEXTURE - vec2 normalTexCoords = getNormalTexCoords(); + #ifdef USE_ANISOTROPY + // Bend normal to account for anisotropic distortion of specular reflection + vec3 anisotropyDirection = material.anisotropicB; + vec3 anisotropicTangent = cross(anisotropyDirection, viewDirectionEC); + vec3 anisotropicNormal = cross(anisotropicTangent, anisotropyDirection); + float bendFactor = 1.0 - material.anisotropyStrength * (1.0 - roughness); + float bendFactorPow4 = bendFactor * bendFactor * bendFactor * bendFactor; + vec3 bentNormal = normalize(mix(anisotropicNormal, normalEC, bendFactorPow4)); + vec3 reflectEC = reflect(-viewDirectionEC, bentNormal); + #else + vec3 reflectEC = reflect(-viewDirectionEC, normalEC); #endif - #ifdef HAS_BITANGENTS - vec3 tangent = attributes.tangentEC; - vec3 bitangent = attributes.bitangentEC; - #else // Assume HAS_NORMAL_TEXTURE - vec3 tangent = computeTangent(attributes.positionEC, normalTexCoords); - tangent = normalize(tangent - geometryNormal * dot(geometryNormal, tangent)); - vec3 bitangent = normalize(cross(geometryNormal, tangent)); + #ifdef SPECULAR_IBL + vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC); + vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness); + vec3 specularContribution = radiance * FssEss * model_iblFactor.y; + #else + vec3 specularContribution = vec3(0.0); #endif - #ifdef HAS_NORMAL_TEXTURE - mat3 tbn = mat3(tangent, bitangent, geometryNormal); - vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; - normalSample = 2.0 * normalSample - 1.0; - #ifdef HAS_NORMAL_TEXTURE_SCALE - normalSample.xy *= u_normalTextureScale; - #endif - vec3 normal = normalize(tbn * normalSample); - #else - vec3 normal = geometryNormal; - #endif - - #ifdef HAS_DOUBLE_SIDED_MATERIAL - if (czm_backFacing()) { - tangent *= -1.0; - bitangent *= -1.0; - normal *= -1.0; - geometryNormal *= -1.0; - } - #endif - - NormalInfo normalInfo; - normalInfo.tangent = tangent; - normalInfo.bitangent = bitangent; - normalInfo.normal = normal; - normalInfo.geometryNormal = geometryNormal; - - return normalInfo; + return diffuseContribution + specularContribution; } #endif - -#if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) -vec3 getNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) +`;var Nae={name:"ImageBasedLightingPipelineStage"},cGe=new z;Nae.process=function(e,t,n){let i=t.imageBasedLighting,o=t.environmentMapManager,r=e.shaderBuilder,s;l(i.specularEnvironmentMaps)||(s=o.radianceCubeMap);let a=i.sphericalHarmonicCoefficients??o.sphericalHarmonicCoefficients;r.addDefine("USE_IBL_LIGHTING",void 0,pe.FRAGMENT),r.addUniform("vec2","model_iblFactor",pe.FRAGMENT),kd.isSupported(n.context)&&((i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled)&&r.addUniform("mat3","model_iblReferenceFrameMatrix",pe.FRAGMENT),l(s)&&r.addDefine("COMPUTE_POSITION_WC_ATMOSPHERE",void 0,pe.BOTH),l(a)&&l(a[0])?(r.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),r.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,pe.FRAGMENT),r.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",pe.FRAGMENT)):i.useDefaultSphericalHarmonics&&r.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),l(i.specularEnvironmentCubeMap)&&i.specularEnvironmentCubeMap.ready||l(s)?(r.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT),r.addDefine("CUSTOM_SPECULAR_IBL",void 0,pe.FRAGMENT),r.addUniform("samplerCube","model_specularEnvironmentMaps",pe.FRAGMENT),r.addUniform("float","model_specularEnvironmentMapsMaximumLOD",pe.FRAGMENT)):t.useDefaultSpecularMaps&&r.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT)),r.addFragmentLines(hO);let c={model_iblFactor:function(){return z.multiplyByScalar(i.imageBasedLightingFactor,o?.intensity||1,cGe)},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_sphericalHarmonicCoefficients:function(){return a},model_specularEnvironmentMaps:function(){return i.specularEnvironmentCubeMap.texture},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentCubeMap.maximumMipmapLevel}};l(s)&&(c.model_specularEnvironmentMaps=function(){return s},c.model_specularEnvironmentMapsMaximumLOD=function(){return o.maximumMipmapLevel}),e.uniformMap=Ct(c,e.uniformMap)};var mO=Nae;var lGe=P.EPSILON16;function KW(e){e=y(e,y.EMPTY_OBJECT);let t=e.stage,n=e.runtimeArticulation;this._stage=t,this._runtimeArticulation=n,this._name=t.name,this._type=t.type,this._minimumValue=t.minimumValue,this._maximumValue=t.maximumValue,this._currentValue=t.initialValue}Object.defineProperties(KW.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(e){e=P.clamp(e,this.minimumValue,this.maximumValue),P.equalsEpsilon(this._currentValue,e,lGe)||(this._currentValue=e,this.runtimeArticulation._dirty=!0)}}});var uGe=new h,XW=new $;KW.prototype.applyStageToMatrix=function(e){let t=this.type,n=this.currentValue,i=uGe,o;switch(t){case mc.XROTATE:o=$.fromRotationX(P.toRadians(n),XW),e=F.multiplyByMatrix3(e,o,e);break;case mc.YROTATE:o=$.fromRotationY(P.toRadians(n),XW),e=F.multiplyByMatrix3(e,o,e);break;case mc.ZROTATE:o=$.fromRotationZ(P.toRadians(n),XW),e=F.multiplyByMatrix3(e,o,e);break;case mc.XTRANSLATE:i.x=n,i.y=0,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case mc.YTRANSLATE:i.x=0,i.y=n,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case mc.ZTRANSLATE:i.x=0,i.y=0,i.z=n,e=F.multiplyByTranslation(e,i,e);break;case mc.XSCALE:i.x=n,i.y=1,i.z=1,e=F.multiplyByScale(e,i,e);break;case mc.YSCALE:i.x=1,i.y=n,i.z=1,e=F.multiplyByScale(e,i,e);break;case mc.ZSCALE:i.x=1,i.y=1,i.z=n,e=F.multiplyByScale(e,i,e);break;case mc.UNIFORMSCALE:e=F.multiplyByUniformScale(e,n,e);break;default:break}return e};var pO=KW;function uz(e){e=y(e,y.EMPTY_OBJECT);let t=e.articulation,n=e.sceneGraph;this._articulation=t,this._sceneGraph=n,this._name=t.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,fGe(this)}Object.defineProperties(uz.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function fGe(e){let n=e.articulation.stages,i=n.length,o=e._runtimeStages,r=e._runtimeStagesByName;for(let s=0;s<i;s++){let a=n[s],c=new pO({stage:a,runtimeArticulation:e});o.push(c);let u=a.name;r[u]=c}}uz.prototype.setArticulationStage=function(e,t){let n=this._runtimeStagesByName[e];l(n)&&(n.currentValue=t)};var dGe=new F,hGe=new F;uz.prototype.apply=function(){if(!this._dirty)return;this._dirty=!1;let e=F.clone(F.IDENTITY,dGe),t,n=this._runtimeStages,i=n.length;for(t=0;t<i;t++)e=n[t].applyStageToMatrix(e);let o=this._runtimeNodes,r=o.length;for(t=0;t<r;t++){let s=o[t],a=F.multiplyTransformation(s.originalTransform,e,hGe);s.transform=a}};var _O=uz;var gO=`void modelColorStage(inout czm_modelMaterial material) { - vec2 normalTexCoords = getNormalTexCoords(); - - // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set - #ifdef HAS_BITANGENTS - vec3 t = attributes.tangentEC; - vec3 b = attributes.bitangentEC; - #else - vec3 t = computeTangent(attributes.positionEC, normalTexCoords); - t = normalize(t - geometryNormal * dot(geometryNormal, t)); - vec3 b = normalize(cross(geometryNormal, t)); - #endif - - mat3 tbn = mat3(t, b, geometryNormal); - vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; - normalSample = 2.0 * normalSample - 1.0; - #ifdef HAS_NORMAL_TEXTURE_SCALE - normalSample.xy *= u_normalTextureScale; - #endif - return normalize(tbn * normalSample); + material.diffuse = mix(material.diffuse, model_color.rgb, model_colorBlend); + float highlight = ceil(model_colorBlend); + material.diffuse *= mix(model_color.rgb, vec3(1.0), highlight); + material.alpha *= model_color.a; +} +`;var tE={name:"ModelColorPipelineStage",COLOR_UNIFORM_NAME:"model_color",COLOR_BLEND_UNIFORM_NAME:"model_colorBlend"};tE.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_COLOR",void 0,pe.FRAGMENT),i.addFragmentLines(gO);let o={},r=t.color;r.alpha===0&&!t.hasSilhouette(n)&&(e.renderStateOptions.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),r.alpha<1&&(e.alphaOptions.pass=ve.TRANSLUCENT),i.addUniform("vec4",tE.COLOR_UNIFORM_NAME,pe.FRAGMENT),o[tE.COLOR_UNIFORM_NAME]=function(){return t.color},i.addUniform("float",tE.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),o[tE.COLOR_BLEND_UNIFORM_NAME]=function(){return hc.getColorBlend(t.colorBlendMode,t.colorBlendAmount)},e.uniformMap=Ct(o,e.uniformMap)};var wy=tE;var yO=`#ifdef USE_CLIPPING_PLANES_FLOAT_TEXTURE +vec4 getClippingPlane( + highp sampler2D packedClippingPlanes, + int clippingPlaneNumber, + mat4 transform +) { + int pixY = clippingPlaneNumber / CLIPPING_PLANES_TEXTURE_WIDTH; + int pixX = clippingPlaneNumber - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); + float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel + float v = (float(pixY) + 0.5) * pixelHeight; + vec4 plane = texture(packedClippingPlanes, vec2(u, v)); + return czm_transformPlane(plane, transform); +} +#else +// Handle uint8 clipping texture instead +vec4 getClippingPlane( + highp sampler2D packedClippingPlanes, + int clippingPlaneNumber, + mat4 transform +) { + int clippingPlaneStartIndex = clippingPlaneNumber * 2; // clipping planes are two pixels each + int pixY = clippingPlaneStartIndex / CLIPPING_PLANES_TEXTURE_WIDTH; + int pixX = clippingPlaneStartIndex - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); + float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel + float v = (float(pixY) + 0.5) * pixelHeight; + vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; + vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); + vec4 plane; + plane.xyz = czm_octDecode(oct, 65535.0); + plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + pixelWidth, v))); + return czm_transformPlane(plane, transform); } #endif -#ifdef HAS_CLEARCOAT_NORMAL_TEXTURE -vec3 getClearcoatNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) -{ - vec2 normalTexCoords = TEXCOORD_CLEARCOAT_NORMAL; - #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_TRANSFORM - normalTexCoords = vec2(u_clearcoatNormalTextureTransform * vec3(normalTexCoords, 1.0)); - #endif - - // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set - #ifdef HAS_BITANGENTS - vec3 t = attributes.tangentEC; - vec3 b = attributes.bitangentEC; +float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) { + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float pixelWidth = czm_metersPerPixel(position); + + #ifdef UNION_CLIPPING_REGIONS + float clipAmount; // For union planes, we want to get the min distance. So we set the initial value to the first plane distance in the loop below. #else - vec3 t = computeTangent(attributes.positionEC, normalTexCoords); - t = normalize(t - geometryNormal * dot(geometryNormal, t)); - vec3 b = normalize(cross(geometryNormal, t)); + float clipAmount = 0.0; + bool clipped = true; #endif - mat3 tbn = mat3(t, b, geometryNormal); - vec3 normalSample = texture(u_clearcoatNormalTexture, normalTexCoords).rgb; - normalSample = 2.0 * normalSample - 1.0; - #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_SCALE - normalSample.xy *= u_clearcoatNormalTextureScale; + for (int i = 0; i < CLIPPING_PLANES_LENGTH; ++i) { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + + #ifdef UNION_CLIPPING_REGIONS + clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); + if (amount <= 0.0) { + discard; + } + #else + clipAmount = max(amount, clipAmount); + clipped = clipped && (amount <= 0.0); + #endif + } + + #ifndef UNION_CLIPPING_REGIONS + if (clipped) { + discard; + } #endif - return normalize(tbn * normalSample); + + return clipAmount; } -#endif -#ifdef HAS_NORMALS -vec3 computeNormal(ProcessedAttributes attributes) +void modelClippingPlanesStage(inout vec4 color) { - // Geometry normal. This is already normalized - vec3 normal = attributes.normalEC; + float clipDistance = clip(gl_FragCoord, model_clippingPlanes, model_clippingPlanesMatrix); + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = model_clippingPlanesEdgeStyle.rgb; + float clippingPlanesEdgeWidth = model_clippingPlanesEdgeStyle.a; + + if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) { + color = clippingPlanesEdgeColor; + } +} +`;var Fae={name:"ModelClippingPlanesPipelineStage"},mGe=new z;Fae.process=function(e,t,n){let i=t.clippingPlanes,o=n.context,r=e.shaderBuilder;r.addDefine("HAS_CLIPPING_PLANES",void 0,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_LENGTH",i.length,pe.FRAGMENT),i.unionClippingRegions&&r.addDefine("UNION_CLIPPING_REGIONS",void 0,pe.FRAGMENT),Ts.useFloatTexture(o)&&r.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,pe.FRAGMENT);let s=Ts.getTextureResolution(i,o,mGe);r.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",s.x,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",s.y,pe.FRAGMENT),r.addUniform("sampler2D","model_clippingPlanes",pe.FRAGMENT),r.addUniform("vec4","model_clippingPlanesEdgeStyle",pe.FRAGMENT),r.addUniform("mat4","model_clippingPlanesMatrix",pe.FRAGMENT),r.addFragmentLines(yO);let a={model_clippingPlanes:function(){return i.texture},model_clippingPlanesEdgeStyle:function(){let c=H.clone(i.edgeColor);return c.alpha=i.edgeWidth,c},model_clippingPlanesMatrix:function(){return t._clippingPlanesMatrix}};e.uniformMap=Ct(a,e.uniformMap)};var xO=Fae;var bO=`void modelClippingPolygonsStage(ProcessedAttributes attributes) +{ + vec2 sphericalLatLong = czm_approximateSphericalCoordinates(v_positionWC); + sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); - #if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) - normal = getNormalFromTexture(attributes, normal); - #endif + vec2 minDistance = vec2(czm_infinity); + v_regionIndex = -1; + v_clippingPosition = vec2(czm_infinity); - #ifdef HAS_DOUBLE_SIDED_MATERIAL - if (czm_backFacing()) { - normal = -normal; + for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { + vec4 extents = czm_unpackClippingExtents(model_clippingExtents, regionIndex); + vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; + + vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); + vec2 distance = abs(rectUv - clamped) * extents.wz; + + if (minDistance.x > distance.x || minDistance.y > distance.y) { + minDistance = distance; + v_clippingPosition = rectUv; } - #endif - return normal; + float threshold = 0.01; + if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { + v_regionIndex = regionIndex; + } + } } -#endif - -#ifdef HAS_BASE_COLOR_TEXTURE -vec4 getBaseColorFromTexture() +`;var TO=`void modelClippingPolygonsStage() { - vec2 baseColorTexCoords = TEXCOORD_BASE_COLOR; - #ifdef HAS_BASE_COLOR_TEXTURE_TRANSFORM - baseColorTexCoords = computeTextureTransform(baseColorTexCoords, u_baseColorTextureTransform); - #endif - - vec4 baseColorWithAlpha = czm_srgbToLinear(texture(u_baseColorTexture, baseColorTexCoords)); - - #ifdef HAS_BASE_COLOR_FACTOR - baseColorWithAlpha *= u_baseColorFactor; - #endif - - return baseColorWithAlpha; + vec2 clippingPosition = v_clippingPosition; + int regionIndex = v_regionIndex; + czm_clipPolygons(model_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); } -#endif - -#ifdef HAS_EMISSIVE_TEXTURE -vec3 getEmissiveFromTexture() +`;var Bae={name:"ModelClippingPolygonsPipelineStage"};Bae.process=function(e,t,n){let i=t.clippingPolygons,o=e.shaderBuilder;o.addDefine("ENABLE_CLIPPING_POLYGONS",void 0,pe.BOTH),i.inverse&&o.addDefine("CLIPPING_INVERSE",void 0,pe.FRAGMENT),o.addDefine("CLIPPING_POLYGON_REGIONS_LENGTH",i.extentsCount,pe.BOTH),o.addUniform("sampler2D","model_clippingDistance",pe.FRAGMENT),o.addUniform("sampler2D","model_clippingExtents",pe.VERTEX),o.addVarying("vec2","v_clippingPosition"),o.addVarying("int","v_regionIndex","flat"),o.addVertexLines(bO),o.addFragmentLines(TO);let r={model_clippingDistance:function(){return i.clippingTexture},model_clippingExtents:function(){return i.extentsTexture}};e.uniformMap=Ct(r,e.uniformMap)};var CO=Bae;function kae(e,t){this._model=e,this._runtimeNode=t}Object.defineProperties(kae.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(e){this._runtimeNode.show=e}},matrix:{get:function(){return this._runtimeNode.transform},set:function(e){l(e)?(this._runtimeNode.transform=e,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var AO=kae;var EO=`mat4 getInstancingTransform() { - vec2 emissiveTexCoords = TEXCOORD_EMISSIVE; - #ifdef HAS_EMISSIVE_TEXTURE_TRANSFORM - emissiveTexCoords = computeTextureTransform(emissiveTexCoords, u_emissiveTextureTransform); - #endif + mat4 instancingTransform; - vec3 emissive = czm_srgbToLinear(texture(u_emissiveTexture, emissiveTexCoords).rgb); - #ifdef HAS_EMISSIVE_FACTOR - emissive *= u_emissiveFactor; + #ifdef HAS_INSTANCE_MATRICES + instancingTransform = mat4( + a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1 + a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2 + a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3 + a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4 + ); + #else + vec3 translation = vec3(0.0, 0.0, 0.0); + vec3 scale = vec3(1.0, 1.0, 1.0); + + #ifdef HAS_INSTANCE_TRANSLATION + translation = a_instanceTranslation; + #endif + #ifdef HAS_INSTANCE_SCALE + scale = a_instanceScale; + #endif + + instancingTransform = mat4( + scale.x, 0.0, 0.0, 0.0, + 0.0, scale.y, 0.0, 0.0, + 0.0, 0.0, scale.z, 0.0, + translation.x, translation.y, translation.z, 1.0 + ); #endif - return emissive; + return instancingTransform; } -#endif -#if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) -void setSpecularGlossiness(inout czm_modelMaterial material) +#ifdef USE_2D_INSTANCING +mat4 getInstancingTransform2D() { - #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE - vec2 specularGlossinessTexCoords = TEXCOORD_SPECULAR_GLOSSINESS; - #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE_TRANSFORM - specularGlossinessTexCoords = computeTextureTransform(specularGlossinessTexCoords, u_specularGlossinessTextureTransform); - #endif + mat4 instancingTransform2D; - vec4 specularGlossiness = czm_srgbToLinear(texture(u_specularGlossinessTexture, specularGlossinessTexCoords)); - vec3 specular = specularGlossiness.rgb; - float glossiness = specularGlossiness.a; - #ifdef HAS_LEGACY_SPECULAR_FACTOR - specular *= u_legacySpecularFactor; - #endif - - #ifdef HAS_GLOSSINESS_FACTOR - glossiness *= u_glossinessFactor; - #endif + #ifdef HAS_INSTANCE_MATRICES + instancingTransform2D = mat4( + a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0, // Column 1 + a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0, // Column 2 + a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0, // Column 3 + a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0 // Column 4 + ); #else - #ifdef HAS_LEGACY_SPECULAR_FACTOR - vec3 specular = clamp(u_legacySpecularFactor, vec3(0.0), vec3(1.0)); - #else - vec3 specular = vec3(1.0); - #endif - - #ifdef HAS_GLOSSINESS_FACTOR - float glossiness = clamp(u_glossinessFactor, 0.0, 1.0); - #else - float glossiness = 1.0; + vec3 translation2D = vec3(0.0, 0.0, 0.0); + vec3 scale = vec3(1.0, 1.0, 1.0); + + #ifdef HAS_INSTANCE_TRANSLATION + translation2D = a_instanceTranslation2D; #endif - #endif - - #ifdef HAS_DIFFUSE_TEXTURE - vec2 diffuseTexCoords = TEXCOORD_DIFFUSE; - #ifdef HAS_DIFFUSE_TEXTURE_TRANSFORM - diffuseTexCoords = computeTextureTransform(diffuseTexCoords, u_diffuseTextureTransform); + #ifdef HAS_INSTANCE_SCALE + scale = a_instanceScale; #endif - vec4 diffuse = czm_srgbToLinear(texture(u_diffuseTexture, diffuseTexCoords)); - #ifdef HAS_DIFFUSE_FACTOR - diffuse *= u_diffuseFactor; - #endif - #elif defined(HAS_DIFFUSE_FACTOR) - vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0)); - #else - vec4 diffuse = vec4(1.0); + instancingTransform2D = mat4( + scale.x, 0.0, 0.0, 0.0, + 0.0, scale.y, 0.0, 0.0, + 0.0, 0.0, scale.z, 0.0, + translation2D.x, translation2D.y, translation2D.z, 1.0 + ); #endif - material.diffuse = diffuse.rgb * (1.0 - czm_maximumComponent(specular)); - // the specular glossiness extension's alpha overrides anything set - // by the base material. - material.alpha = diffuse.a; - - material.specular = specular; - - // glossiness is the opposite of roughness, but easier for artists to use. - material.roughness = 1.0 - glossiness; + return instancingTransform2D; } -#elif defined(LIGHTING_PBR) -float setMetallicRoughness(inout czm_modelMaterial material) +#endif +`;var SO=`void instancingStage(inout ProcessedAttributes attributes) { - #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE - vec2 metallicRoughnessTexCoords = TEXCOORD_METALLIC_ROUGHNESS; - #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE_TRANSFORM - metallicRoughnessTexCoords = computeTextureTransform(metallicRoughnessTexCoords, u_metallicRoughnessTextureTransform); - #endif - - vec3 metallicRoughness = texture(u_metallicRoughnessTexture, metallicRoughnessTexCoords).rgb; - float metalness = clamp(metallicRoughness.b, 0.0, 1.0); - float roughness = clamp(metallicRoughness.g, 0.0, 1.0); - #ifdef HAS_METALLIC_FACTOR - metalness = clamp(metalness * u_metallicFactor, 0.0, 1.0); - #endif - - #ifdef HAS_ROUGHNESS_FACTOR - roughness = clamp(roughness * u_roughnessFactor, 0.0, 1.0); - #endif - #else - #ifdef HAS_METALLIC_FACTOR - float metalness = clamp(u_metallicFactor, 0.0, 1.0); - #else - float metalness = 1.0; - #endif + vec3 positionMC = attributes.positionMC; + + mat4 instancingTransform = getInstancingTransform(); + + attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz; - #ifdef HAS_ROUGHNESS_FACTOR - float roughness = clamp(u_roughnessFactor, 0.0, 1.0); - #else - float roughness = 1.0; - #endif + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz; #endif - // dielectrics use f0 = 0.04, metals use albedo as f0 - const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); - vec3 f0 = mix(REFLECTANCE_DIELECTRIC, material.baseColor.rgb, metalness); - - material.specular = f0; - - // diffuse only applies to dielectrics. - material.diffuse = mix(material.baseColor.rgb, vec3(0.0), metalness); + #ifdef USE_2D_INSTANCING + mat4 instancingTransform2D = getInstancingTransform2D(); + attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; + #endif +} +`;var vO=`void legacyInstancingStage( + inout ProcessedAttributes attributes, + out mat4 instanceModelView, + out mat3 instanceModelViewInverseTranspose) +{ + vec3 positionMC = attributes.positionMC; - // This is perceptual roughness. The square of this value is used for direct lighting - material.roughness = roughness; + mat4 instancingTransform = getInstancingTransform(); + + mat4 instanceModel = instancingTransform * u_instance_nodeTransform; + instanceModelView = u_instance_modifiedModelView; + instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel); - return metalness; + attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz; + + #ifdef USE_2D_INSTANCING + mat4 instancingTransform2D = getInstancingTransform2D(); + attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; + #endif } -#ifdef USE_SPECULAR -void setSpecular(inout czm_modelMaterial material, in float metalness) +`;var fz=new F,pGe=new F,_Ge=new F,Uae={name:"InstancingPipelineStage",_getInstanceTransformsAsMatrices:jae,_transformsToTypedArray:$W};Uae.process=function(e,t,n){let i=t.instances,o=i.attributes[0].count,r=e.shaderBuilder;r.addDefine("HAS_INSTANCING"),r.addVertexLines(EO);let s=e.model,a=s.sceneGraph,c=e.runtimeNode,u=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&s._projectTo2D,f=s._enablePick&&!n.context.webgl2,d=[];RGe(e,n,i,d,u,f),LGe(e,n,i,d);let p={};if(i.transformInWorldSpace?(r.addDefine("USE_LEGACY_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_instance_modifiedModelView",pe.VERTEX),r.addUniform("mat4","u_instance_nodeTransform",pe.VERTEX),p.u_instance_modifiedModelView=function(){let g=F.multiplyTransformation(s.modelMatrix,a.components.transform,fz);return u?F.multiplyTransformation(n.context.uniformState.view3D,g,fz):(n.mode!==ne.SCENE3D&&(g=Lt.basisTo2D(n.mapProjection,g,fz)),F.multiplyTransformation(n.context.uniformState.view,g,fz))},p.u_instance_nodeTransform=function(){return F.multiplyTransformation(a.axisCorrectionMatrix,c.computedTransform,pGe)},r.addVertexLines(vO)):r.addVertexLines(SO),u){r.addDefine("USE_2D_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_modelView2D",pe.VERTEX);let g=n.context,m=F.fromTranslation(c.instancingReferencePoint2D,new F);p.u_modelView2D=function(){return F.multiplyTransformation(g.uniformState.view,m,_Ge)}}e.uniformMap=Ct(p,e.uniformMap),e.instanceCount=o,e.attributes.push.apply(e.attributes,d)};var wO=new F,gGe=new h;function yGe(e,t,n,i,o){let r=F.multiplyTransformation(t,e,wO);return r=F.multiplyTransformation(r,n,wO),o=Lt.basisTo2D(i.mapProjection,r,o),o}function xGe(e,t,n,i,o){let r=F.fromTranslation(e,wO),s=F.multiplyTransformation(t,r,wO);s=F.multiplyTransformation(s,n,wO);let a=F.getTranslation(s,gGe);return o=Hi.computeActualEllipsoidPosition(i,a,o),o}function zae(e,t,n){let i=e.model,o=i.sceneGraph;e.runtimeNode.node.instances.transformInWorldSpace?(t=F.multiplyTransformation(i.modelMatrix,o.components.transform,t),n=F.multiplyTransformation(o.axisCorrectionMatrix,e.runtimeNode.computedTransform,n)):(t=F.clone(o.computedModelMatrix,t),t=F.multiplyTransformation(t,e.runtimeNode.computedTransform,t),n=F.clone(F.IDENTITY,n))}var Hae=new F,Gae=new F,bGe=new F,TGe=new h;function CGe(e,t,n,i){let o=Hae,r=Gae;zae(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=yGe(f,o,r,n,bGe),p=F.getTranslation(d,TGe),g=h.subtract(p,a,p);i[u]=F.setTranslation(d,g,i[u])}return i}function AGe(e,t,n,i){let o=Hae,r=Gae;zae(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=xGe(f,o,r,n,f);i[u]=h.subtract(d,a,i[u])}return i}var EGe=new h,SGe=new h;function Wae(e,t){let n=e.runtimeNode,i=e.model.sceneGraph.computedModelMatrix,o=F.multiplyByPoint(i,n.instancingTranslationMin,EGe),r=Hi.computeActualEllipsoidPosition(t,o,o),s=F.multiplyByPoint(i,n.instancingTranslationMax,SGe),a=Hi.computeActualEllipsoidPosition(t,s,s);n.instancingReferencePoint2D=h.lerp(r,a,.5,new h)}function $W(e){let n=e.length,i=new Float32Array(n*12);for(let o=0;o<n;o++){let r=e[o],s=12*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8],i[s+3]=r[12],i[s+4]=r[1],i[s+5]=r[5],i[s+6]=r[9],i[s+7]=r[13],i[s+8]=r[2],i[s+9]=r[6],i[s+10]=r[10],i[s+11]=r[14]}return i}function vGe(e){let n=e.length,i=new Float32Array(n*3);for(let o=0;o<n;o++){let r=e[o],s=3*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8]}return i}var wGe=new h,DGe=new Le,IGe=new h;function jae(e,t,n){let i=new Array(t),o=Zt.getAttributeBySemantic(e,as.TRANSLATION),r=Zt.getAttributeBySemantic(e,as.ROTATION),s=Zt.getAttributeBySemantic(e,as.SCALE),a=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),c=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),u=l(o),f=l(r),d=l(s),p=u?o.typedArray:new Float32Array(t*3),g=f?r.typedArray:new Float32Array(t*4);f&&r.normalized&&(g=Nn.dequantize(g,r.componentDatatype,r.type,t));let m;d?m=s.typedArray:(m=new Float32Array(t*3),m.fill(1));for(let b=0;b<t;b++){let T=new h(p[b*3],p[b*3+1],p[b*3+2],wGe);h.maximumByComponent(a,T,a),h.minimumByComponent(c,T,c);let A=new Le(g[b*4],g[b*4+1],g[b*4+2],f?g[b*4+3]:1,DGe),C=new h(m[b*3],m[b*3+1],m[b*3+2],IGe),E=F.fromTranslationQuaternionRotationScale(T,A,C,new F);i[b]=E}let x=n.runtimeNode;return x.instancingTranslationMin=c,x.instancingTranslationMax=a,u&&(o.typedArray=void 0),f&&(r.typedArray=void 0),d&&(s.typedArray=void 0),i}function PGe(e,t,n){let i=new Array(t),o=e.typedArray,r=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let c=0;c<t;c++){let u=new h(o[c*3],o[c*3+1],o[c*3+2]);i[c]=u,h.minimumByComponent(r,u,r),h.maximumByComponent(s,u,s)}let a=n.runtimeNode;return a.instancingTranslationMin=r,a.instancingTranslationMax=s,e.typedArray=void 0,i}function QW(e,t){let n=xt.createVertexBuffer({context:t.context,typedArray:e,usage:Be.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}function RGe(e,t,n,i,o,r){let s=Zt.getAttributeBySemantic(n,as.ROTATION);l(s)?OGe(e,n,i,t,o,r):MGe(e,n,i,t,o)}function OGe(e,t,n,i,o,r){let s=e.shaderBuilder,a=t.attributes[0].count,c=e.model,u=e.runtimeNode;s.addDefine("HAS_INSTANCE_MATRICES");let f="Transform",d,p=u.instancingTransformsBuffer;if(!l(p)){d=jae(t,a,e);let b=$W(d);p=QW(b,i),c._modelResources.push(p),r&&(u.transformsTypedArray=b),u.instancingTransformsBuffer=p}if(Vae(e,p,n,f),!o)return;let g=He(i);g.mode=ne.COLUMBUS_VIEW,Wae(e,g);let m=u.instancingTransformsBuffer2D;if(!l(m)){let b=CGe(d,e,g,d),T=$W(b);m=QW(T,i),c._modelResources.push(m),u.instancingTransformsBuffer2D=m}Vae(e,m,n,"Transform2D")}function MGe(e,t,n,i,o,r){let s=e.shaderBuilder,a=e.runtimeNode,c=Zt.getAttributeBySemantic(t,as.TRANSLATION),u=Zt.getAttributeBySemantic(t,as.SCALE);if(l(u)&&(s.addDefine("HAS_INSTANCE_SCALE"),ZW(e,u.buffer,u.byteOffset,u.byteStride,n,"Scale")),!l(c))return;let f,d=c.typedArray;if(l(d)?f=PGe(c,c.count,e):l(a.instancingTranslationMin)||(a.instancingTranslationMin=c.min,a.instancingTranslationMax=c.max),s.addDefine("HAS_INSTANCE_TRANSLATION"),ZW(e,c.buffer,c.byteOffset,c.byteStride,n,"Translation"),!o&&!r)return;let g=He(i);g.mode=ne.COLUMBUS_VIEW,Wae(e,g);let m=a.instancingTranslationBuffer2D;if(!l(m)){let A=AGe(f,e,g,f),C=vGe(A);r&&(a.transformsTypedArray=C),m=QW(C,i),e.model._modelResources.push(m),a.instancingTranslationBuffer2D=m}if(!o)return;ZW(e,m,0,void 0,n,"Translation2D")}function Vae(e,t,n,i){let r=X.getSizeInBytes(X.FLOAT),s=r*12,a=[{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*4,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*8,strideInBytes:s,instanceDivisor:1}],c=e.shaderBuilder;c.addAttribute("vec4",`a_instancing${i}Row0`),c.addAttribute("vec4",`a_instancing${i}Row1`),c.addAttribute("vec4",`a_instancing${i}Row2`),n.push.apply(n,a)}function ZW(e,t,n,i,o,r){o.push({index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:3,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:n,strideInBytes:i,instanceDivisor:1}),e.shaderBuilder.addAttribute("vec3",`a_instance${r}`)}function LGe(e,t,n,i){let o=n.attributes,r=e.shaderBuilder;for(let s=0;s<o.length;s++){let a=o[s];a.semantic===as.FEATURE_ID&&(a.setIndex>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:an.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}var DO=Uae;var JW={};JW.name="ModelMatrixUpdateStage";JW.update=function(e,t,n){let i=n.mode!==ne.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;qae(e,t,o,e.transformToRoot),e._transformDirty=!1}};function NGe(e,t,n){e.modelMatrix=F.multiplyTransformation(t,n,e.modelMatrix),e.cullFace=Zt.getCullFace(e.modelMatrix,e.primitiveType)}function qae(e,t,n,i){let o;i=F.multiplyTransformation(i,e.transform,new F),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o<r;o++){let a=e.runtimePrimitives[o];NGe(a.drawCommand,n,i)}let s=e.children.length;for(o=0;o<s;o++){let a=t._runtimeNodes[e.children[o]];a._transformToRoot=F.clone(i,a._transformToRoot),qae(a,t,n,i),a._transformDirty=!1}}var IO=JW;var Yae={name:"NodeStatisticsPipelineStage",_countInstancingAttributes:Xae,_countGeneratedBuffers:Kae};Yae.process=function(e,t,n){let i=e.model.statistics,o=t.instances,r=e.runtimeNode;Xae(i,o),Kae(i,r)};function Xae(e,t){if(!l(t))return;let n=t.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r.buffer)&&e.addBuffer(r.buffer,!1)}}function Kae(e,t){l(t.instancingTransformsBuffer)&&e.addBuffer(t.instancingTransformsBuffer,!1),l(t.instancingTransformsBuffer2D)&&e.addBuffer(t.instancingTransformsBuffer2D,!1),l(t.instancingTranslationBuffer2D)&&e.addBuffer(t.instancingTranslationBuffer2D,!1)}var PO=Yae;function nE(e){e=y(e,y.EMPTY_OBJECT);let t=e.node,n=e.transform,i=e.transformToRoot,o=e.sceneGraph,r=e.children;this._node=t,this._name=t.name,this._id=t.index,this._sceneGraph=o,this._children=r,this._originalTransform=F.clone(n,this._originalTransform),this._transform=F.clone(n,this._transform),this._transformToRoot=F.clone(i,this._transformToRoot),this._computedTransform=new F,this._transformDirty=!1,this._transformParameters=void 0,this._morphWeights=[],this._runtimeSkin=void 0,this._computedJointMatrices=[],this.show=!0,this.userAnimated=!1,this.pipelineStages=[],this.runtimePrimitives=[],this.updateStages=[],this.instancingTranslationMin=void 0,this.instancingTranslationMax=void 0,this.instancingTransformsBuffer=void 0,this.instancingTransformsBuffer2D=void 0,this.instancingTranslationBuffer2D=void 0,this.instancingReferencePoint2D=void 0,FGe(this)}Object.defineProperties(nE.prototype,{node:{get:function(){return this._node}},sceneGraph:{get:function(){return this._sceneGraph}},children:{get:function(){return this._children}},transform:{get:function(){return this._transform},set:function(e){this._transformDirty=!0,this._transform=F.clone(e,this._transform)}},transformToRoot:{get:function(){return this._transformToRoot}},computedTransform:{get:function(){return this._computedTransform}},originalTransform:{get:function(){return this._originalTransform}},translation:{get:function(){return l(this._transformParameters)?this._transformParameters.translation:void 0},set:function(e){let t=this._transformParameters,n=t.translation;h.equals(n,e)||(t.translation=h.clone(e,t.translation),ej(this,t))}},rotation:{get:function(){return l(this._transformParameters)?this._transformParameters.rotation:void 0},set:function(e){let t=this._transformParameters,n=t.rotation;Le.equals(n,e)||(t.rotation=Le.clone(e,t.rotation),ej(this,t))}},scale:{get:function(){return l(this._transformParameters)?this._transformParameters.scale:void 0},set:function(e){let t=this._transformParameters,n=t.scale;h.equals(n,e)||(t.scale=h.clone(e,t.scale),ej(this,t))}},morphWeights:{get:function(){return this._morphWeights},set:function(e){let t=e.length;for(let n=0;n<t;n++)this._morphWeights[n]=e[n]}},runtimeSkin:{get:function(){return this._runtimeSkin}},computedJointMatrices:{get:function(){return this._computedJointMatrices}}});function FGe(e){let t=e.transform,n=e.transformToRoot,i=e._computedTransform;e._computedTransform=F.multiply(n,t,i);let o=e.node;l(o.matrix)||(e._transformParameters=new Qg(o.translation,o.rotation,o.scale)),l(o.morphWeights)&&(e._morphWeights=o.morphWeights.slice());let r=o.articulationName;if(l(r)){let c=e.sceneGraph._runtimeArticulations[r];l(c)&&c.runtimeNodes.push(e)}}function ej(e,t){e._transformDirty=!0,e._transform=F.fromTranslationRotationScale(t,e._transform)}nE.prototype.getChild=function(e){return this.sceneGraph._runtimeNodes[this.children[e]]};nE.prototype.configurePipeline=function(){let e=this.node,t=this.pipelineStages;t.length=0;let n=this.updateStages;n.length=0,l(e.instances)&&t.push(DO),t.push(PO),n.push(IO)};nE.prototype.updateComputedTransform=function(){this._computedTransform=F.multiply(this._transformToRoot,this._transform,this._computedTransform)};nE.prototype.updateJointMatrices=function(){let e=this._runtimeSkin;if(!l(e))return;e.updateJointMatrices();let t=this._computedJointMatrices,n=e.jointMatrices,i=n.length;for(let o=0;o<i;o++){l(t[o])||(t[o]=new F);let r=F.multiplyTransformation(this.transformToRoot,this.transform,t[o]),s=F.inverseTransformation(r,t[o]);t[o]=F.multiplyTransformation(s,n[o],t[o])}};var RO=nE;var Zae={name:"AlphaPipelineStage"};Zae.process=function(e,t,n){let i=e.alphaOptions,o=e.model;i.pass=y(i.pass,o.opaquePass);let r=e.renderStateOptions;i.pass===ve.TRANSLUCENT&&(r.cull.enabled=!1,r.depthMask=!1,r.blending=dn.ALPHA_BLEND);let s=e.shaderBuilder,a=e.uniformMap;l(i.alphaCutoff)&&(s.addDefine("ALPHA_MODE_MASK",void 0,pe.FRAGMENT),s.addUniform("float","u_alphaCutoff",pe.FRAGMENT),a.u_alphaCutoff=function(){return i.alphaCutoff})};var OO=Zae;var $ae={name:"BatchTexturePipelineStage"};$ae.process=function(e,t,n){let i=e.shaderBuilder,o={},r=e.model,s=r.featureTables[r.featureTableId],a=s.featuresLength;i.addUniform("int","model_featuresLength"),o.model_featuresLength=function(){return a};let c=s.batchTexture;i.addUniform("sampler2D","model_batchTexture"),o.model_batchTexture=function(){return y(c.batchTexture,c.defaultTexture)},i.addUniform("vec4","model_textureStep"),o.model_textureStep=function(){return c.textureStep},c.textureDimensions.y>1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=Ct(o,e.uniformMap)};var MO=$ae;var Qae={name:"ClassificationPipelineStage"};Qae.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,pe.BOTH);let o=e.runtimePrimitive;l(o.batchLengths)||BGe(t,o)};function BGe(e,t){let n=Zt.getAttributeBySemantic(e,St.POSITION);if(!l(n))throw new se("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=l(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=Zt.getAttributeBySemantic(e,St.FEATURE_ID,0);if(!l(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let u=[],f=[0],d=r?i[0]:0,p=c[d],g=0;for(let x=1;x<s;x++){let b=r?i[x]:x,T=c[b];if(T!==p){let A=x-g,C=x;u.push(A),f.push(C),g=C,p=T}}let m=s-g;u.push(m),t.batchLengths=u,t.batchOffsets=f}var LO=Qae;var NO=`void filterByPassType(inout vec3 positionMC, vec4 featureColor) { - #ifdef HAS_SPECULAR_TEXTURE - vec2 specularTexCoords = TEXCOORD_SPECULAR; - #ifdef HAS_SPECULAR_TEXTURE_TRANSFORM - specularTexCoords = computeTextureTransform(specularTexCoords, u_specularTextureTransform); - #endif - float specularWeight = texture(u_specularTexture, specularTexCoords).a; - #ifdef HAS_SPECULAR_FACTOR - specularWeight *= u_specularFactor; - #endif - #else - #ifdef HAS_SPECULAR_FACTOR - float specularWeight = u_specularFactor; + bool styleTranslucent = (featureColor.a != 1.0); + // Only render translucent features in the translucent pass (if the style or the original command has translucency). + if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) + { + // If the model has a translucent silhouette, it needs to render during the silhouette color command, + // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. + #ifdef HAS_SILHOUETTE + positionMC *= float(model_silhouettePass); #else - float specularWeight = 1.0; + positionMC *= 0.0; #endif - #endif + } + // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. + else if (czm_pass != czm_passTranslucent && styleTranslucent) + { + positionMC *= 0.0; + } +} - #ifdef HAS_SPECULAR_COLOR_TEXTURE - vec2 specularColorTexCoords = TEXCOORD_SPECULAR_COLOR; - #ifdef HAS_SPECULAR_COLOR_TEXTURE_TRANSFORM - specularColorTexCoords = computeTextureTransform(specularColorTexCoords, u_specularColorTextureTransform); - #endif - vec3 specularColorSample = texture(u_specularColorTexture, specularColorTexCoords).rgb; - vec3 specularColorFactor = czm_srgbToLinear(specularColorSample); - #ifdef HAS_SPECULAR_COLOR_FACTOR - specularColorFactor *= u_specularColorFactor; - #endif - #else - #ifdef HAS_SPECULAR_COLOR_FACTOR - vec3 specularColorFactor = u_specularColorFactor; +void cpuStylingStage(inout vec3 positionMC, inout SelectedFeature feature) +{ + float show = ceil(feature.color.a); + positionMC *= show; + + #if defined(HAS_SELECTED_FEATURE_ID_ATTRIBUTE) && !defined(HAS_CLASSIFICATION) + filterByPassType(positionMC, feature.color); + #endif +} +`;var FO=`void filterByPassType(vec4 featureColor) +{ + bool styleTranslucent = (featureColor.a != 1.0); + // Only render translucent features in the translucent pass (if the style or the original command has translucency). + if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) + { + // If the model has a translucent silhouette, it needs to render during the silhouette color command, + // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. + #ifdef HAS_SILHOUETTE + if(!model_silhouettePass) { + discard; + } #else - vec3 specularColorFactor = vec3(1.0); + discard; #endif - #endif - material.specularWeight = specularWeight; - vec3 f0 = material.specular; - vec3 dielectricSpecularF0 = min(f0 * specularColorFactor, vec3(1.0)); - material.specular = mix(dielectricSpecularF0, material.baseColor.rgb, metalness); + } + // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. + else if (czm_pass != czm_passTranslucent && styleTranslucent) + { + discard; + } } -#endif -#ifdef USE_ANISOTROPY -void setAnisotropy(inout czm_modelMaterial material, in NormalInfo normalInfo) + +void cpuStylingStage(inout czm_modelMaterial material, SelectedFeature feature) { - mat2 rotation = mat2(u_anisotropy.xy, -u_anisotropy.y, u_anisotropy.x); - float anisotropyStrength = u_anisotropy.z; + vec4 featureColor = feature.color; + if (featureColor.a == 0.0) + { + discard; + } - vec2 direction = vec2(1.0, 0.0); - #ifdef HAS_ANISOTROPY_TEXTURE - vec2 anisotropyTexCoords = TEXCOORD_ANISOTROPY; - #ifdef HAS_ANISOTROPY_TEXTURE_TRANSFORM - anisotropyTexCoords = computeTextureTransform(anisotropyTexCoords, u_anisotropyTextureTransform); - #endif - vec3 anisotropySample = texture(u_anisotropyTexture, anisotropyTexCoords).rgb; - direction = anisotropySample.rg * 2.0 - vec2(1.0); - anisotropyStrength *= anisotropySample.b; + // If a feature ID vertex attribute is used, the pass type filter is applied in the vertex shader. + // So, we only apply in in the fragment shader if the feature ID texture is used. + #if defined(HAS_SELECTED_FEATURE_ID_TEXTURE) && !defined(HAS_CLASSIFICATION) + filterByPassType(featureColor); #endif - direction = rotation * direction; - mat3 tbn = mat3(normalInfo.tangent, normalInfo.bitangent, normalInfo.normal); - vec3 anisotropicT = tbn * normalize(vec3(direction, 0.0)); - vec3 anisotropicB = cross(normalInfo.geometryNormal, anisotropicT); + featureColor = czm_gammaCorrect(featureColor); - material.anisotropicT = anisotropicT; - material.anisotropicB = anisotropicB; - material.anisotropyStrength = anisotropyStrength; + // Classification models compute the diffuse differently. + #ifdef HAS_CLASSIFICATION + material.diffuse = featureColor.rgb * featureColor.a; + #else + float highlight = ceil(model_colorBlend); + material.diffuse *= mix(featureColor.rgb, vec3(1.0), highlight); + #endif + + material.alpha *= featureColor.a; } -#endif -#ifdef USE_CLEARCOAT -void setClearcoat(inout czm_modelMaterial material, in ProcessedAttributes attributes) -{ - #ifdef HAS_CLEARCOAT_TEXTURE - vec2 clearcoatTexCoords = TEXCOORD_CLEARCOAT; - #ifdef HAS_CLEARCOAT_TEXTURE_TRANSFORM - clearcoatTexCoords = computeTextureTransform(clearcoatTexCoords, u_clearcoatTextureTransform); - #endif - float clearcoatFactor = texture(u_clearcoatTexture, clearcoatTexCoords).r; - #ifdef HAS_CLEARCOAT_FACTOR - clearcoatFactor *= u_clearcoatFactor; - #endif - #else - #ifdef HAS_CLEARCOAT_FACTOR - float clearcoatFactor = u_clearcoatFactor; - #else - // PERFORMANCE_IDEA: this case should turn the whole extension off - float clearcoatFactor = 0.0; - #endif - #endif +`;var Jae={name:"CPUStylingPipelineStage"};Jae.process=function(e,t,n){let i=e.model,o=e.shaderBuilder;o.addVertexLines(NO),o.addFragmentLines(FO),o.addDefine("USE_CPU_STYLING",void 0,pe.BOTH),l(i.color)||(o.addUniform("float",wy.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),e.uniformMap[wy.COLOR_BLEND_UNIFORM_NAME]=function(){return hc.getColorBlend(i.colorBlendMode,i.colorBlendAmount)}),o.addUniform("bool","model_commandTranslucent",pe.BOTH),e.uniformMap.model_commandTranslucent=function(){return e.alphaOptions.pass===ve.TRANSLUCENT}};var BO=Jae;var ece={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};ece.getDefineName=function(e){return`CUSTOM_SHADER_${e}`};var m_=Object.freeze(ece);var kO=`void customShaderStage( + inout czm_modelVertexOutput vsOutput, + inout ProcessedAttributes attributes, + FeatureIds featureIds, + Metadata metadata, + MetadataClass metadataClass, + MetadataStatistics metadataStatistics +) { + // VertexInput and initializeInputStruct() are dynamically generated in JS, + // see CustomShaderPipelineStage.js + VertexInput vsInput; + initializeInputStruct(vsInput, attributes); + vsInput.featureIds = featureIds; + vsInput.metadata = metadata; + vsInput.metadataClass = metadataClass; + vsInput.metadataStatistics = metadataStatistics; + vertexMain(vsInput, vsOutput); + attributes.positionMC = vsOutput.positionMC; +} +`;var VO=`void customShaderStage( + inout czm_modelMaterial material, + ProcessedAttributes attributes, + FeatureIds featureIds, + Metadata metadata, + MetadataClass metadataClass, + MetadataStatistics metadataStatistics +) { + // FragmentInput and initializeInputStruct() are dynamically generated in JS, + // see CustomShaderPipelineStage.js + FragmentInput fsInput; + initializeInputStruct(fsInput, attributes); + fsInput.featureIds = featureIds; + fsInput.metadata = metadata; + fsInput.metadataClass = metadataClass; + fsInput.metadataStatistics = metadataStatistics; + fragmentMain(fsInput, material); +} +`;var UO=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) { + initializeFeatureIds(featureIds, attributes); + initializeFeatureIdAliases(featureIds); +} +`;var zO=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) +{ + initializeFeatureIds(featureIds, attributes); + initializeFeatureIdAliases(featureIds); + setFeatureIdVaryings(); +} +`;var Gi={name:"FeatureIdPipelineStage",STRUCT_ID_FEATURE_IDS_VS:"FeatureIdsVS",STRUCT_ID_FEATURE_IDS_FS:"FeatureIdsFS",STRUCT_NAME_FEATURE_IDS:"FeatureIds",FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS:"initializeFeatureIdsVS",FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS:"initializeFeatureIdsFS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS:"initializeFeatureIdAliasesVS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS:"initializeFeatureIdAliasesFS",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS:"void initializeFeatureIds(out FeatureIds featureIds, ProcessedAttributes attributes)",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES:"void initializeFeatureIdAliases(inout FeatureIds featureIds)",FUNCTION_ID_SET_FEATURE_ID_VARYINGS:"setFeatureIdVaryings",FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS:"void setFeatureIdVaryings()"};Gi.process=function(e,t,n){let i=e.shaderBuilder;kGe(i);let o=e.runtimeNode.node.instances;l(o)&&VGe(e,o,n),UGe(e,t,n),i.addVertexLines(zO),i.addFragmentLines(UO)};function kGe(e){e.addStruct(Gi.STRUCT_ID_FEATURE_IDS_VS,Gi.STRUCT_NAME_FEATURE_IDS,pe.VERTEX),e.addStruct(Gi.STRUCT_ID_FEATURE_IDS_FS,Gi.STRUCT_NAME_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,Gi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.VERTEX),e.addFunction(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,Gi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Gi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,Gi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.VERTEX),e.addFunction(Gi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,Gi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.FRAGMENT),e.addFunction(Gi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,Gi.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS,pe.VERTEX)}function VGe(e,t,n){let i=t.featureIds,o=t.attributes[0].count;for(let r=0;r<i.length;r++){let s=i[r],a=s.positionalLabel;s instanceof Cn.FeatureIdAttribute?zGe(e,s,a):tce(e,s,a,o,1,n);let c=s.label;l(c)&&nce(e,a,c,pe.BOTH)}}function UGe(e,t,n){let i=t.featureIds,r=Zt.getAttributeBySemantic(t,St.POSITION).count;for(let s=0;s<i.length;s++){let a=i[s],c=a.positionalLabel,u=pe.BOTH;a instanceof Cn.FeatureIdAttribute?HGe(e,a,c):a instanceof Cn.FeatureIdImplicitRange?tce(e,a,c,r,void 0,n):(GGe(e,a,c,s,n),u=pe.FRAGMENT);let f=a.label;l(f)&&nce(e,c,f,u)}}function zGe(e,t,n){let i=e.shaderBuilder;i.addStructField(Gi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Gi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=`a_${r}${o}`,a=`v_${r}${o}`,c=`featureIds.${n} = int(czm_round(${s}));`,u=`featureIds.${n} = int(czm_round(${a}));`;i.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[c]),i.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[u]),i.addVarying("float",a),i.addFunctionLines(Gi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${a} = ${s};`])}function HGe(e,t,n){let i=e.shaderBuilder;i.addStructField(Gi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Gi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=[`featureIds.${n} = int(czm_round(attributes.${r}${o}));`];i.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,s),i.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,s)}function tce(e,t,n,i,o,r){WGe(e,t,i,o,r);let s=e.shaderBuilder,a=`a_implicit_${n}`;s.addAttribute("float",a);let c=`v_implicit_${n}`;s.addVarying("float",c),s.addStructField(Gi.STRUCT_ID_FEATURE_IDS_VS,"int",n),s.addStructField(Gi.STRUCT_ID_FEATURE_IDS_FS,"int",n),s.addFunctionLines(Gi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${c} = ${a};`]),s.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[`featureIds.${n} = int(czm_round(${a}));`]),s.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[`featureIds.${n} = int(czm_round(${c}));`])}function GGe(e,t,n,i,o){let r=`u_featureIdTexture_${i}`,s=e.uniformMap,a=t.textureReader;s[r]=function(){return y(a.texture,o.context.defaultTexture)};let c=a.channels,u=e.shaderBuilder;u.addStructField(Gi.STRUCT_ID_FEATURE_IDS_FS,"int",n),u.addUniform("sampler2D",r,pe.FRAGMENT);let d=`v_texCoord_${a.texCoord}`,p=d,g=a.transform;if(l(g)&&!$.equals(g,$.IDENTITY)){let b=`${r}Transform`;u.addUniform("mat3",b,pe.FRAGMENT),s[b]=function(){return g},p=`vec2(${b} * vec3(${d}, 1.0))`}let m=`texture(${r}, ${p}).${c}`,x=`featureIds.${n} = czm_unpackUint(${m});`;u.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[x])}function nce(e,t,n,i){let o=e.shaderBuilder,r=pe.includesVertexShader(i);r&&o.addStructField(Gi.STRUCT_ID_FEATURE_IDS_VS,"int",n),o.addStructField(Gi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let s=[`featureIds.${n} = featureIds.${t};`];r&&o.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,s),o.addFunctionLines(Gi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,s)}function WGe(e,t,n,i,o){let r=e.model,s,a;if(l(t.repeat)){let u=jGe(t,n);s=xt.createVertexBuffer({context:o.context,typedArray:u,usage:Be.STATIC_DRAW}),s.vertexArrayDestroyable=!1,r._pipelineResources.push(s),r.statistics.addBuffer(s,!1)}else a=[t.offset];let c={index:e.attributeIndex++,instanceDivisor:i,value:a,vertexBuffer:s,normalize:!1,componentsPerAttribute:1,componentDatatype:X.FLOAT,strideInBytes:X.getSizeInBytes(X.FLOAT),offsetInBytes:0};e.attributes.push(c)}function jGe(e,t){let n=e.offset,i=e.repeat,o=new Float32Array(t);for(let r=0;r<t;r++)o[r]=n+Math.floor(r/i);return o}var Dy=Gi;var HO=`void metadataStage( + out Metadata metadata, + out MetadataClass metadataClass, + out MetadataStatistics metadataStatistics, + ProcessedAttributes attributes + ) +{ + initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); +} +`;var GO=`void metadataStage( + out Metadata metadata, + out MetadataClass metadataClass, + out MetadataStatistics metadataStatistics, + ProcessedAttributes attributes + ) +{ + initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); + setMetadataVaryings(); +} +`;var Di={name:"MetadataPipelineStage",STRUCT_ID_METADATA_VS:"MetadataVS",STRUCT_ID_METADATA_FS:"MetadataFS",STRUCT_NAME_METADATA:"Metadata",STRUCT_ID_METADATA_CLASS_VS:"MetadataClassVS",STRUCT_ID_METADATA_CLASS_FS:"MetadataClassFS",STRUCT_NAME_METADATA_CLASS:"MetadataClass",STRUCT_ID_METADATA_STATISTICS_VS:"MetadataStatisticsVS",STRUCT_ID_METADATA_STATISTICS_FS:"MetadataStatisticsFS",STRUCT_NAME_METADATA_STATISTICS:"MetadataStatistics",FUNCTION_ID_INITIALIZE_METADATA_VS:"initializeMetadataVS",FUNCTION_ID_INITIALIZE_METADATA_FS:"initializeMetadataFS",FUNCTION_SIGNATURE_INITIALIZE_METADATA:"void initializeMetadata(out Metadata metadata, out MetadataClass metadataClass, out MetadataStatistics metadataStatistics, ProcessedAttributes attributes)",FUNCTION_ID_SET_METADATA_VARYINGS:"setMetadataVaryings",FUNCTION_SIGNATURE_SET_METADATA_VARYINGS:"void setMetadataVaryings()",METADATA_CLASS_FIELDS:[{specName:"noData",shaderName:"noData"},{specName:"default",shaderName:"defaultValue"},{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"}],METADATA_STATISTICS_FIELDS:[{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"},{specName:"mean",shaderName:"mean",type:"float"},{specName:"median",shaderName:"median"},{specName:"standardDeviation",shaderName:"standardDeviation",type:"float"},{specName:"variance",shaderName:"variance",type:"float"},{specName:"sum",shaderName:"sum"}]};Di.process=function(e,t,n){let{shaderBuilder:i,model:o}=e,{structuralMetadata:r={},content:s}=o,a=s?.tileset.metadataExtension?.statistics,c=qGe(r.propertyAttributes,t,a),u=XGe(r.propertyTextures,a),f=c.concat(u);ZGe(i,f),JGe(i),i.addVertexLines(GO),i.addFragmentLines(HO);for(let d=0;d<c.length;d++){let p=c[d];e5e(e,p)}for(let d=0;d<u.length;d++){let p=u[d];n5e(e,p)}};function qGe(e,t,n){return l(e)?e.flatMap(i=>YGe(i,t,n)):[]}function YGe(e,t,n){let{getAttributeByName:i,getAttributeInfo:o,sanitizeGlslIdentifier:r}=Zt,s=e.class.id,a=n?.classes[s],c=Object.entries(e.properties),u=new Array(c.length);for(let f=0;f<c.length;f++){let[d,p]=c[f],g=i(t,p.attribute),{glslType:m,variableName:x}=o(g);u[f]={metadataVariable:r(d),property:p,type:p.classProperty.type,glslType:m,variableName:x,propertyStatistics:a?.properties[d],shaderDestination:pe.BOTH}}return u}function XGe(e,t){return l(e)?e.flatMap(n=>KGe(n,t)):[]}function KGe(e,t){let{sanitizeGlslIdentifier:n}=Zt,i=e.class.id,o=t?.classes[i],r=Object.entries(e.properties).filter(([a,c])=>c.isGpuCompatible()),s=new Array(r.length);for(let a=0;a<r.length;a++){let[c,u]=r[a];s[a]={metadataVariable:n(c),property:u,type:u.classProperty.type,glslType:u.getGlslType(),propertyStatistics:o?.properties[c],shaderDestination:pe.FRAGMENT}}return s}function ZGe(e,t){let n=new Set,i=new Set;for(let a=0;a<t.length;a++){let{type:c,glslType:u,propertyStatistics:f}=t[a];n.add(u),l(f)&&c!==dt.ENUM&&i.add(u)}let o=Di.METADATA_CLASS_FIELDS;for(let a of n){let c=`${a}MetadataClass`;s(c,a,o)}let r=Di.METADATA_STATISTICS_FIELDS;for(let a of i){let c=`${a}MetadataStatistics`;s(c,a,r)}function s(a,c,u){e.addStruct(a,a,pe.BOTH);for(let f=0;f<u.length;f++){let{shaderName:d}=u[f],p=u[f].type==="float"?QGe(c):c;e.addStructField(a,p,d)}}}var $Ge={int:"float",ivec2:"vec2",ivec3:"vec3",ivec4:"vec4"};function QGe(e){let t=$Ge[e];return l(t)?t:e}function JGe(e){e.addStruct(Di.STRUCT_ID_METADATA_VS,Di.STRUCT_NAME_METADATA,pe.VERTEX),e.addStruct(Di.STRUCT_ID_METADATA_FS,Di.STRUCT_NAME_METADATA,pe.FRAGMENT),e.addStruct(Di.STRUCT_ID_METADATA_CLASS_VS,Di.STRUCT_NAME_METADATA_CLASS,pe.VERTEX),e.addStruct(Di.STRUCT_ID_METADATA_CLASS_FS,Di.STRUCT_NAME_METADATA_CLASS,pe.FRAGMENT),e.addStruct(Di.STRUCT_ID_METADATA_STATISTICS_VS,Di.STRUCT_NAME_METADATA_STATISTICS,pe.VERTEX),e.addStruct(Di.STRUCT_ID_METADATA_STATISTICS_FS,Di.STRUCT_NAME_METADATA_STATISTICS,pe.FRAGMENT),e.addFunction(Di.FUNCTION_ID_INITIALIZE_METADATA_VS,Di.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.VERTEX),e.addFunction(Di.FUNCTION_ID_INITIALIZE_METADATA_FS,Di.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.FRAGMENT),e.addFunction(Di.FUNCTION_ID_SET_METADATA_VARYINGS,Di.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS,pe.VERTEX)}function e5e(e,t){t5e(e,t),ice(e.shaderBuilder,t),oce(e.shaderBuilder,t)}function t5e(e,t){let{shaderBuilder:n}=e,{metadataVariable:i,property:o,glslType:r}=t,s=sce({valueExpression:`attributes.${t.variableName}`,renderResources:e,glslType:r,metadataVariable:i,shaderDestination:pe.BOTH,property:o});n.addStructField(Di.STRUCT_ID_METADATA_VS,r,i),n.addStructField(Di.STRUCT_ID_METADATA_FS,r,i);let a=`metadata.${i} = ${s};`;n.addFunctionLines(Di.FUNCTION_ID_INITIALIZE_METADATA_VS,[a]),n.addFunctionLines(Di.FUNCTION_ID_INITIALIZE_METADATA_FS,[a])}function n5e(e,t){i5e(e,t),ice(e.shaderBuilder,t),oce(e.shaderBuilder,t)}function i5e(e,t){let{shaderBuilder:n,uniformMap:i}=e,{metadataVariable:o,glslType:r,property:s}=t,{texCoord:a,channels:c,index:u,texture:f,transform:d}=s.textureReader,p=`u_propertyTexture_${u}`;i.hasOwnProperty(p)||(n.addUniform("sampler2D",p,pe.FRAGMENT),i[p]=()=>f),n.addStructField(Di.STRUCT_ID_METADATA_FS,r,o);let g=`attributes.texCoord_${a}`,m=g;if(l(d)&&!$.equals(d,$.IDENTITY)){let C=`${p}Transform`;n.addUniform("mat3",C,pe.FRAGMENT),i[C]=function(){return d},m=`vec2(${C} * vec3(${g}, 1.0))`}let x=`texture(${p}, ${m}).${c}`,b=s.unpackInShader(x),T=sce({valueExpression:b,renderResources:e,glslType:r,metadataVariable:o,shaderDestination:pe.FRAGMENT,property:s}),A=`metadata.${o} = ${T};`;n.addFunctionLines(Di.FUNCTION_ID_INITIALIZE_METADATA_FS,[A])}function ice(e,t){let{classProperty:n}=t.property,{metadataVariable:i,glslType:o,shaderDestination:r}=t,s=rce(Di.METADATA_CLASS_FIELDS,n,`metadataClass.${i}`,o),a=`${o}MetadataClass`;e.addStructField(Di.STRUCT_ID_METADATA_CLASS_FS,a,i),e.addFunctionLines(Di.FUNCTION_ID_INITIALIZE_METADATA_FS,s),pe.includesVertexShader(r)&&(e.addStructField(Di.STRUCT_ID_METADATA_CLASS_VS,a,i),e.addFunctionLines(Di.FUNCTION_ID_INITIALIZE_METADATA_VS,s))}function oce(e,t){let{propertyStatistics:n}=t;if(!l(n))return;let{metadataVariable:i,type:o,glslType:r}=t;if(o===dt.ENUM)return;let s=Di.METADATA_STATISTICS_FIELDS,a=`metadataStatistics.${i}`,c=rce(s,n,a,r),u=`${r}MetadataStatistics`;e.addStructField(Di.STRUCT_ID_METADATA_STATISTICS_FS,u,i),e.addFunctionLines(Di.FUNCTION_ID_INITIALIZE_METADATA_FS,c),pe.includesVertexShader(t.shaderDestination)&&(e.addStructField(Di.STRUCT_ID_METADATA_STATISTICS_VS,u,i),e.addFunctionLines(Di.FUNCTION_ID_INITIALIZE_METADATA_VS,c))}function rce(e,t,n,i){function o(r){let s=t[r.specName];if(l(s))return`${n}.${r.shaderName} = ${i}(${s});`}return l(t)?e.map(o).filter(l):[]}function sce(e){let{valueExpression:t,property:n}=e;if(!n.hasValueTransform)return t;let i=e.metadataVariable,o=`u_${i}_offset`,r=`u_${i}_scale`,{shaderBuilder:s,uniformMap:a}=e.renderResources,{glslType:c,shaderDestination:u}=e;s.addUniform(c,o,u),s.addUniform(c,r,u);let{offset:f,scale:d}=n;return a[o]=()=>f,a[r]=()=>d,`czm_valueTransform(${o}, ${r}, ${t})`}var If=Di;var o5e={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},Iy=Object.freeze(o5e);var Cs={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:bt};Cs.process=function(e,t,n){let i=e.model.customShader;if(i&&Cs.process_original(e,t,n,i),l(e.model._marsOptions)&&l(e.model._marsOptions.customShaders)){let o=Dp.getCache(e.model._marsOptions.customShaders);for(let r in o)Object.prototype.hasOwnProperty.call(o,r)&&Cs.process_original(e,t,n,o[r])}};Cs.process_original=function(e,t,n,i){let{shaderBuilder:o,alphaOptions:r}=e,{lightingModel:s,translucencyMode:a}=i;l(s)&&(e.lightingOptions.lightingModel=s),a===Iy.TRANSLUCENT?r.pass=ve.TRANSLUCENT:a===Iy.OPAQUE&&(r.pass=void 0);let c=d5e(i,t);if(!c.customShaderEnabled)return;if(_5e(o,i,c),c.shouldComputePositionWC&&o.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,pe.BOTH),l(i.vertexShaderText)&&o.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,pe.VERTEX),l(i.fragmentShaderText)){o.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,pe.FRAGMENT);let d=m_.getDefineName(i.mode);o.addDefine(d,void 0,pe.FRAGMENT)}let u=i.uniforms;for(let d in u)if(u.hasOwnProperty(d)){let p=u[d];o.addUniform(p.type,d)}let f=i.varyings;for(let d in f)if(f.hasOwnProperty(d)){let p=f[d];o.addVarying(p,d)}e.uniformMap=Ct(e.uniformMap,i.uniformMap)};function r5e(e){let t={};for(let n=0;n<e.length;n++){let i=Zt.getAttributeInfo(e[n]);t[i.variableName]=i}return t}var s5e={position:"vec3",normal:"vec3",tangent:"vec3",bitangent:"vec3",texCoord:"vec2",color:"vec4",joints:"ivec4",weights:"vec4"},a5e={position:"vec3(0.0)",normal:"vec3(0.0, 0.0, 1.0)",tangent:"vec3(1.0, 0.0, 0.0)",bitangent:"vec3(0.0, 1.0, 0.0)",texCoord:"vec2(0.0)",color:"vec4(1.0)",joints:"ivec4(0)",weights:"vec4(0.0)"};function ace(e){let t=e.replace(/_[0-9]+$/,"");t=t.replace(/(MC|EC)$/,"");let n=s5e[t],i=a5e[t];if(l(n))return{attributeField:[n,e],value:i}}function c5e(e,t){if(!l(e.vertexShaderText))return{enabled:!1};let n=e.usedVariablesVertex.attributeSet,i=cce(t,n,!1),o=lce(t,n,!1),r,s=[],a=[];for(let c in i){if(!i.hasOwnProperty(c))continue;let f=[i[c].glslType,c];s.push(f),r=`vsInput.attributes.${c} = attributes.${c};`,a.push(r)}for(let c=0;c<o.length;c++){let u=o[c],f=ace(u);if(!l(f))return Cs._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveVS",`Primitive is missing attribute ${u}, disabling custom vertex shader`),{enabled:!1};s.push(f.attributeField),r=`vsInput.attributes.${u} = ${f.value};`,a.push(r)}return{enabled:!0,attributeFields:s,initializationLines:a}}function l5e(e){let t=[],n=[],i=e.usedVariablesFragment.attributeSet;return i.hasOwnProperty("positionWC")&&(t.push(["vec3","positionWC"]),n.push("fsInput.attributes.positionWC = attributes.positionWC;")),i.hasOwnProperty("positionEC")&&(t.push(["vec3","positionEC"]),n.push("fsInput.attributes.positionEC = attributes.positionEC;")),{attributeFields:t,initializationLines:n}}function u5e(e,t){if(!l(e.fragmentShaderText))return{enabled:!1};let n=e.usedVariablesFragment.attributeSet,i=cce(t,n,!0),o=lce(t,n,!0),r,s=[],a=[];for(let u in i){if(!i.hasOwnProperty(u))continue;let d=[i[u].glslType,u];s.push(d),r=`fsInput.attributes.${u} = attributes.${u};`,a.push(r)}for(let u=0;u<o.length;u++){let f=o[u],d=ace(f);if(!l(d))return Cs._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveFS",`Primitive is missing attribute ${f}, disabling custom fragment shader.`),{enabled:!1};s.push(d.attributeField),r=`fsInput.attributes.${f} = ${d.value};`,a.push(r)}let c=l5e(e);return{enabled:!0,attributeFields:s.concat(c.attributeFields),initializationLines:c.initializationLines.concat(a)}}var f5e={positionWC:!0,positionEC:!0};function cce(e,t,n){let i={};for(let o in e){if(!e.hasOwnProperty(o))continue;let r=e[o],s=o;n&&o==="normalMC"?s="normalEC":n&&o==="tangentMC"&&(s="tangentEC",r.glslType="vec3"),t.hasOwnProperty(s)&&(i[s]=r)}return i}function lce(e,t,n){let i=[];for(let o in t){if(!t.hasOwnProperty(o)||f5e.hasOwnProperty(o))continue;let r=o;n&&o==="normalEC"?r="normalMC":n&&o==="tangentEC"&&(r="tangentMC"),e.hasOwnProperty(r)||i.push(o)}return i}function d5e(e,t){let n=r5e(t.attributes),i=c5e(e,n),o=u5e(e,n),s=e.usedVariablesFragment.attributeSet.hasOwnProperty("positionWC")&&o.enabled;return{vertexLines:i,fragmentLines:o,customShaderEnabled:i.enabled||o.enabled,shouldComputePositionWC:s}}function h5e(e,t){let n=Cs.STRUCT_ID_ATTRIBUTES_VS;e.addStruct(n,Cs.STRUCT_NAME_ATTRIBUTES,pe.VERTEX);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=Cs.STRUCT_ID_VERTEX_INPUT,e.addStruct(n,Cs.STRUCT_NAME_VERTEX_INPUT,pe.VERTEX),e.addStructField(n,Cs.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,Dy.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,If.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,If.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,If.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=Cs.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS;e.addFunction(r,Cs.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS,pe.VERTEX),e.addFunctionLines(r,o)}function m5e(e,t){let n=Cs.STRUCT_ID_ATTRIBUTES_FS;e.addStruct(n,Cs.STRUCT_NAME_ATTRIBUTES,pe.FRAGMENT);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=Cs.STRUCT_ID_FRAGMENT_INPUT,e.addStruct(n,Cs.STRUCT_NAME_FRAGMENT_INPUT,pe.FRAGMENT),e.addStructField(n,Cs.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,Dy.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,If.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,If.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,If.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=Cs.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS;e.addFunction(r,Cs.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS,pe.FRAGMENT),e.addFunctionLines(r,o)}var p5e=[];function _5e(e,t,n){let{vertexLines:i,fragmentLines:o}=n,r=p5e;i.enabled&&(h5e(e,i),r.length=0,r.push("#line 0",t.vertexShaderText,kO),e.addVertexLines(r)),o.enabled&&(m5e(e,o),r.length=0,r.push("#line 0",t.fragmentShaderText,VO),e.addFragmentLines(r))}var WO=Cs;var jO={name:"DequantizationPipelineStage",FUNCTION_ID_DEQUANTIZATION_STAGE_VS:"dequantizationStage",FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS:"void dequantizationStage(inout ProcessedAttributes attributes)"};jO.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=l(o.classificationType);i.addDefine("USE_DEQUANTIZATION",void 0,pe.VERTEX),i.addFunction(jO.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,jO.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS,pe.VERTEX);let s=t.attributes;for(let a=0;a<s.length;a++){let c=s[a],u=c.quantization;if(!l(u))continue;let f=c.semantic===St.POSITION,d=c.semantic===St.TEXCOORD;if(r&&!f&&!d)continue;let p=Zt.getAttributeInfo(c);y5e(i,p),g5e(e,p)}};function g5e(e,t){let n=e.shaderBuilder,i=e.uniformMap,o=t.variableName,r=t.attribute.quantization;if(r.octEncoded){let s=`model_normalizationRange_${o}`;n.addUniform("float",s,pe.VERTEX),i[s]=function(){return r.normalizationRange}}else{let s=`model_quantizedVolumeOffset_${o}`,a=`model_quantizedVolumeStepSize_${o}`,c=t.glslType;n.addUniform(c,s,pe.VERTEX),n.addUniform(c,a,pe.VERTEX);let u=r.quantizedVolumeOffset,f=r.quantizedVolumeStepSize;/^color_\d+$/.test(o)&&(u=uce(u,0),f=uce(f,1)),i[s]=function(){return u},i[a]=function(){return f}}}function uce(e,t){return e instanceof ie?e:new ie(e.x,e.y,e.z,t)}function y5e(e,t){let n=t.variableName,i=t.attribute.quantization,o;i.octEncoded?o=x5e(n,i):o=b5e(n),e.addFunctionLines(jO.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,[o])}function x5e(e,t){let n=`attributes.${e}`,i=`a_quantized_${e}`,o=`model_normalizationRange_${e}`,r=t.octEncodedZXY?".zxy":".xyz";return`${n} = czm_octDecode(${i}, ${o})${r};`}function b5e(e){let t=`attributes.${e}`,n=`a_quantized_${e}`,i=`model_quantizedVolumeOffset_${e}`,o=`model_quantizedVolumeStepSize_${e}`;return`${t} = ${i} + ${n} * ${o};`}var qO=jO;var YO=`void geometryStage(out ProcessedAttributes attributes) +{ + attributes.positionMC = v_positionMC; + attributes.positionEC = v_positionEC; - #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE - vec2 clearcoatRoughnessTexCoords = TEXCOORD_CLEARCOAT_ROUGHNESS; - #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE_TRANSFORM - clearcoatRoughnessTexCoords = computeTextureTransform(clearcoatRoughnessTexCoords, u_clearcoatRoughnessTextureTransform); - #endif - float clearcoatRoughness = texture(u_clearcoatRoughnessTexture, clearcoatRoughnessTexCoords).g; - #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR - clearcoatRoughness *= u_clearcoatRoughnessFactor; - #endif - #else - #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR - float clearcoatRoughness = u_clearcoatRoughnessFactor; - #else - float clearcoatRoughness = 0.0; - #endif - #endif + #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) + attributes.positionWC = v_positionWC; + #endif - material.clearcoatFactor = clearcoatFactor; - // This is perceptual roughness. The square of this value is used for direct lighting - material.clearcoatRoughness = clearcoatRoughness; - #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE - material.clearcoatNormal = getClearcoatNormalFromTexture(attributes, attributes.normalEC); - #else - material.clearcoatNormal = attributes.normalEC; - #endif -} -#endif -#endif + #ifdef HAS_NORMALS + // renormalize after interpolation + attributes.normalEC = normalize(v_normalEC); + #endif -void materialStage(inout czm_modelMaterial material, ProcessedAttributes attributes, SelectedFeature feature) + #ifdef HAS_TANGENTS + attributes.tangentEC = normalize(v_tangentEC); + #endif + + #ifdef HAS_BITANGENTS + attributes.bitangentEC = normalize(v_bitangentEC); + #endif + + // Everything else is dynamically generated in GeometryPipelineStage + setDynamicVaryings(attributes); +} +`;var XO=`vec4 geometryStage(inout ProcessedAttributes attributes, mat4 modelView, mat3 normal) { - #ifdef USE_ANISOTROPY - NormalInfo normalInfo = getNormalInfo(attributes); - material.normalEC = normalInfo.normal; - #elif defined(HAS_NORMALS) - material.normalEC = computeNormal(attributes); - #endif + vec4 computedPosition; - vec4 baseColorWithAlpha = vec4(1.0); - // Regardless of whether we use PBR, set a base color - #ifdef HAS_BASE_COLOR_TEXTURE - baseColorWithAlpha = getBaseColorFromTexture(); - #elif defined(HAS_BASE_COLOR_FACTOR) - baseColorWithAlpha = u_baseColorFactor; - #endif + // Compute positions in different coordinate systems + vec3 positionMC = attributes.positionMC; + v_positionMC = positionMC; + v_positionEC = (modelView * vec4(positionMC, 1.0)).xyz; - #ifdef HAS_POINT_CLOUD_COLOR_STYLE - baseColorWithAlpha = v_pointCloudColor; - #elif defined(HAS_COLOR_0) - vec4 color = attributes.color_0; - // .pnts files store colors in the sRGB color space - #ifdef HAS_SRGB_COLOR - color = czm_srgbToLinear(color); - #endif - baseColorWithAlpha *= color; + #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) + vec3 position2D = attributes.position2D; + vec3 positionEC = (u_modelView2D * vec4(position2D, 1.0)).xyz; + computedPosition = czm_projection * vec4(positionEC, 1.0); + #else + computedPosition = czm_projection * vec4(v_positionEC, 1.0); #endif - #ifdef USE_CPU_STYLING - baseColorWithAlpha.rgb = blend(baseColorWithAlpha.rgb, feature.color.rgb, model_colorBlend); + // Sometimes the custom shader and/or style needs this + #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) || defined(ENABLE_CLIPPING_POLYGONS) + // Note that this is a 32-bit position which may result in jitter on small + // scales. + v_positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; #endif - material.baseColor = baseColorWithAlpha; - material.diffuse = baseColorWithAlpha.rgb; - material.alpha = baseColorWithAlpha.a; - #ifdef HAS_OCCLUSION_TEXTURE - vec2 occlusionTexCoords = TEXCOORD_OCCLUSION; - #ifdef HAS_OCCLUSION_TEXTURE_TRANSFORM - occlusionTexCoords = computeTextureTransform(occlusionTexCoords, u_occlusionTextureTransform); - #endif - material.occlusion = texture(u_occlusionTexture, occlusionTexCoords).r; + #ifdef HAS_NORMALS + v_normalEC = normalize(normal * attributes.normalMC); #endif - #ifdef HAS_EMISSIVE_TEXTURE - material.emissive = getEmissiveFromTexture(); - #elif defined(HAS_EMISSIVE_FACTOR) - material.emissive = u_emissiveFactor; + #ifdef HAS_TANGENTS + v_tangentEC = normalize(normal * attributes.tangentMC); #endif - #if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) - setSpecularGlossiness(material); - #elif defined(LIGHTING_PBR) - float metalness = setMetallicRoughness(material); - #ifdef USE_SPECULAR - setSpecular(material, metalness); - #endif - #ifdef USE_ANISOTROPY - setAnisotropy(material, normalInfo); - #endif - #ifdef USE_CLEARCOAT - setClearcoat(material, attributes); - #endif + #ifdef HAS_BITANGENTS + v_bitangentEC = normalize(normal * attributes.bitangentMC); #endif + + // All other varyings need to be dynamically generated in + // GeometryPipelineStage + setDynamicVaryings(attributes); + + return computedPosition; } -`;var{Material:i5e,MetallicRoughness:YW,SpecularGlossiness:XW,Specular:Kae,Clearcoat:Zae}=Tn,$ae={name:"MaterialPipelineStage",_processTexture:Bl,_processTextureTransform:Qae};$ae.process=function(e,t,n){let i=t.material,{model:o,uniformMap:r,shaderBuilder:s}=e,a=l(o.classificationType),c=a,{defaultTexture:u,defaultNormalTexture:f,defaultEmissiveTexture:d}=n.context;r5e(i,r,s,u,f,d,c),l(i.specularGlossiness)?s5e(i.specularGlossiness,r,s,u,c):(l(i.specular)&&Xt.supportedExtensions.KHR_materials_specular&&a5e(i.specular,r,s,u,c),l(i.anisotropy)&&Xt.supportedExtensions.KHR_materials_anisotropy&&l5e(i.anisotropy,r,s,u,c),l(i.clearcoat)&&Xt.supportedExtensions.KHR_materials_clearcoat&&u5e(i.clearcoat,r,s,u,c),f5e(i.metallicRoughness,r,s,u,c));let p=Xt.getAttributeBySemantic(t,At.NORMAL),g=e.lightingOptions;i.unlit||!p||a?g.lightingModel=hm.UNLIT:g.lightingModel=hm.PBR;let m=o.backFaceCulling&&!i.doubleSided;e.renderStateOptions.cull.enabled=m;let x=e.alphaOptions;i.alphaMode===um.BLEND?x.pass=Se.TRANSLUCENT:i.alphaMode===um.MASK&&(x.alphaCutoff=i.alphaCutoff),s.addFragmentLines(GO),i.doubleSided&&s.addDefine("HAS_DOUBLE_SIDED_MATERIAL",void 0,pe.BOTH)};function Qae(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_TRANSFORM`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Transform`;e.addUniform("mat3",s,pe.FRAGMENT),t[s]=function(){return n.transform}}function o5e(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_SCALE`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Scale`;e.addUniform("float",s,pe.FRAGMENT),t[s]=function(){return n.scale}}function Bl(e,t,n,i,o,r){e.addUniform("sampler2D",i,pe.FRAGMENT),t[i]=function(){return y(n.texture,r)};let s=`HAS_${o}_TEXTURE`;e.addDefine(s,void 0,pe.FRAGMENT);let c=`v_texCoord_${n.texCoord}`,u=`TEXCOORD_${o}`;e.addDefine(u,c,pe.FRAGMENT);let f=n.transform;l(f)&&!$.equals(f,$.IDENTITY)&&Qae(e,t,n,i,o);let{scale:d}=n;l(d)&&d!==1&&o5e(e,t,n,i,o)}function r5e(e,t,n,i,o,r,s){let{emissiveFactor:a,emissiveTexture:c,normalTexture:u,occlusionTexture:f}=e;l(a)&&!h.equals(a,i5e.DEFAULT_EMISSIVE_FACTOR)&&(n.addUniform("vec3","u_emissiveFactor",pe.FRAGMENT),t.u_emissiveFactor=function(){return e.emissiveFactor},n.addDefine("HAS_EMISSIVE_FACTOR",void 0,pe.FRAGMENT),l(c)&&!s&&Bl(n,t,c,"u_emissiveTexture","EMISSIVE",r)),l(u)&&!s&&Bl(n,t,u,"u_normalTexture","NORMAL",o),l(f)&&!s&&Bl(n,t,f,"u_occlusionTexture","OCCLUSION",i)}function s5e(e,t,n,i,o){let{diffuseTexture:r,diffuseFactor:s,specularGlossinessTexture:a,specularFactor:c,glossinessFactor:u}=e;n.addDefine("USE_SPECULAR_GLOSSINESS",void 0,pe.FRAGMENT),l(r)&&!o&&Bl(n,t,r,"u_diffuseTexture","DIFFUSE",i),l(s)&&!oe.equals(s,XW.DEFAULT_DIFFUSE_FACTOR)&&(n.addUniform("vec4","u_diffuseFactor",pe.FRAGMENT),t.u_diffuseFactor=function(){return e.diffuseFactor},n.addDefine("HAS_DIFFUSE_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&Bl(n,t,a,"u_specularGlossinessTexture","SPECULAR_GLOSSINESS",i),l(c)&&!h.equals(c,XW.DEFAULT_SPECULAR_FACTOR)&&(n.addUniform("vec3","u_legacySpecularFactor",pe.FRAGMENT),t.u_legacySpecularFactor=function(){return e.specularFactor},n.addDefine("HAS_LEGACY_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(u)&&u!==XW.DEFAULT_GLOSSINESS_FACTOR&&(n.addUniform("float","u_glossinessFactor",pe.FRAGMENT),t.u_glossinessFactor=function(){return e.glossinessFactor},n.addDefine("HAS_GLOSSINESS_FACTOR",void 0,pe.FRAGMENT))}function a5e(e,t,n,i,o){let{specularTexture:r,specularFactor:s,specularColorTexture:a,specularColorFactor:c}=e;n.addDefine("USE_SPECULAR",void 0,pe.FRAGMENT),l(r)&&!o&&Bl(n,t,r,"u_specularTexture","SPECULAR",i),l(s)&&s!==Kae.DEFAULT_SPECULAR_FACTOR&&(n.addUniform("float","u_specularFactor",pe.FRAGMENT),t.u_specularFactor=function(){return e.specularFactor},n.addDefine("HAS_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&Bl(n,t,a,"u_specularColorTexture","SPECULAR_COLOR",i),l(c)&&!h.equals(c,Kae.DEFAULT_SPECULAR_COLOR_FACTOR)&&(n.addUniform("vec3","u_specularColorFactor",pe.FRAGMENT),t.u_specularColorFactor=function(){return e.specularColorFactor},n.addDefine("HAS_SPECULAR_COLOR_FACTOR",void 0,pe.FRAGMENT))}var c5e=new h;function l5e(e,t,n,i,o){let{anisotropyStrength:r,anisotropyRotation:s,anisotropyTexture:a}=e;n.addDefine("USE_ANISOTROPY",void 0,pe.FRAGMENT),l(a)&&!o&&Bl(n,t,a,"u_anisotropyTexture","ANISOTROPY",i);let c=Math.cos(s),u=Math.sin(s);n.addUniform("vec3","u_anisotropy",pe.FRAGMENT),t.u_anisotropy=function(){return h.fromElements(c,u,r,c5e)}}function u5e(e,t,n,i,o){let{clearcoatFactor:r,clearcoatTexture:s,clearcoatRoughnessFactor:a,clearcoatRoughnessTexture:c,clearcoatNormalTexture:u}=e;n.addDefine("USE_CLEARCOAT",void 0,pe.FRAGMENT),l(r)&&r!==Zae.DEFAULT_CLEARCOAT_FACTOR&&(n.addUniform("float","u_clearcoatFactor",pe.FRAGMENT),t.u_clearcoatFactor=function(){return e.clearcoatFactor},n.addDefine("HAS_CLEARCOAT_FACTOR",void 0,pe.FRAGMENT)),l(s)&&!o&&Bl(n,t,s,"u_clearcoatTexture","CLEARCOAT",i),l(a)&&r!==Zae.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_clearcoatRoughnessFactor",pe.FRAGMENT),t.u_clearcoatRoughnessFactor=function(){return e.clearcoatRoughnessFactor},n.addDefine("HAS_CLEARCOAT_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT)),l(c)&&!o&&Bl(n,t,c,"u_clearcoatRoughnessTexture","CLEARCOAT_ROUGHNESS",i),l(u)&&!o&&Bl(n,t,u,"u_clearcoatNormalTexture","CLEARCOAT_NORMAL",i)}function f5e(e,t,n,i,o){n.addDefine("USE_METALLIC_ROUGHNESS",void 0,pe.FRAGMENT);let r=e.baseColorTexture;l(r)&&!o&&Bl(n,t,r,"u_baseColorTexture","BASE_COLOR",i);let s=e.baseColorFactor;l(s)&&!oe.equals(s,YW.DEFAULT_BASE_COLOR_FACTOR)&&(n.addUniform("vec4","u_baseColorFactor",pe.FRAGMENT),t.u_baseColorFactor=function(){return e.baseColorFactor},n.addDefine("HAS_BASE_COLOR_FACTOR",void 0,pe.FRAGMENT));let a=e.metallicRoughnessTexture;l(a)&&!o&&Bl(n,t,a,"u_metallicRoughnessTexture","METALLIC_ROUGHNESS",i);let c=e.metallicFactor;l(c)&&c!==YW.DEFAULT_METALLIC_FACTOR&&(n.addUniform("float","u_metallicFactor",pe.FRAGMENT),t.u_metallicFactor=function(){return e.metallicFactor},n.addDefine("HAS_METALLIC_FACTOR",void 0,pe.FRAGMENT));let u=e.roughnessFactor;l(u)&&u!==YW.DEFAULT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_roughnessFactor",pe.FRAGMENT),t.u_roughnessFactor=function(){return e.roughnessFactor},n.addDefine("HAS_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT))}var WO=$ae;var $c={name:"MetadataPickingPipelineStage",METADATA_PICKING_ENABLED:"METADATA_PICKING_ENABLED",METADATA_PICKING_VALUE_TYPE:"METADATA_PICKING_VALUE_TYPE",METADATA_PICKING_VALUE_STRING:"METADATA_PICKING_VALUE_STRING",METADATA_PICKING_VALUE_COMPONENT_X:"METADATA_PICKING_VALUE_COMPONENT_X",METADATA_PICKING_VALUE_COMPONENT_Y:"METADATA_PICKING_VALUE_COMPONENT_Y",METADATA_PICKING_VALUE_COMPONENT_Z:"METADATA_PICKING_VALUE_COMPONENT_Z",METADATA_PICKING_VALUE_COMPONENT_W:"METADATA_PICKING_VALUE_COMPONENT_W"};$c.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine($c.METADATA_PICKING_VALUE_TYPE,"float",pe.FRAGMENT),i.addDefine($c.METADATA_PICKING_VALUE_STRING,"0.0",pe.FRAGMENT),i.addDefine($c.METADATA_PICKING_VALUE_COMPONENT_X,"0.0",pe.FRAGMENT),i.addDefine($c.METADATA_PICKING_VALUE_COMPONENT_Y,"0.0",pe.FRAGMENT),i.addDefine($c.METADATA_PICKING_VALUE_COMPONENT_Z,"0.0",pe.FRAGMENT),i.addDefine($c.METADATA_PICKING_VALUE_COMPONENT_W,"0.0",pe.FRAGMENT),i.addFunction("metadataPickingStage","void metadataPickingStage(Metadata metadata, MetadataClass metadataClass, inout vec4 metadataValues)",pe.FRAGMENT),i.addFunctionLines("metadataPickingStage",[`${$c.METADATA_PICKING_VALUE_TYPE} value = ${$c.METADATA_PICKING_VALUE_TYPE}(${$c.METADATA_PICKING_VALUE_STRING});`,`metadataValues.x = ${$c.METADATA_PICKING_VALUE_COMPONENT_X};`,`metadataValues.y = ${$c.METADATA_PICKING_VALUE_COMPONENT_Y};`,`metadataValues.z = ${$c.METADATA_PICKING_VALUE_COMPONENT_Z};`,`metadataValues.w = ${$c.METADATA_PICKING_VALUE_COMPONENT_W};`],pe.FRAGMENT)};var Au=$c;var jO=`void morphTargetsStage(inout ProcessedAttributes attributes) +`;var iE=`vec2 computeSt(float featureId) { - vec3 positionMC = attributes.positionMC; - attributes.positionMC = getMorphedPosition(positionMC); + float stepX = model_textureStep.x; + float centerX = model_textureStep.y; - #ifdef HAS_NORMALS - vec3 normalMC = attributes.normalMC; - attributes.normalMC = getMorphedNormal(normalMC); - #endif + #ifdef MULTILINE_BATCH_TEXTURE + float stepY = model_textureStep.z; + float centerY = model_textureStep.w; - #ifdef HAS_TANGENTS - vec3 tangentMC = attributes.tangentMC; - attributes.tangentMC = getMorphedTangent(tangentMC); + float xId = mod(featureId, model_textureDimensions.x); + float yId = floor(featureId / model_textureDimensions.x); + + return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); + #else + return vec2(centerX + (featureId * stepX), 0.5); #endif -}`;var Ua={name:"MorphTargetsPipelineStage",FUNCTION_ID_GET_MORPHED_POSITION:"getMorphedPosition",FUNCTION_SIGNATURE_GET_MORPHED_POSITION:"vec3 getMorphedPosition(in vec3 position)",FUNCTION_ID_GET_MORPHED_NORMAL:"getMorphedNormal",FUNCTION_SIGNATURE_GET_MORPHED_NORMAL:"vec3 getMorphedNormal(in vec3 normal)",FUNCTION_ID_GET_MORPHED_TANGENT:"getMorphedTangent",FUNCTION_SIGNATURE_GET_MORPHED_TANGENT:"vec3 getMorphedTangent(in vec3 tangent)"};Ua.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_MORPH_TARGETS",void 0,pe.VERTEX),g5e(n);let i=t.morphTargets.length;for(let a=0;a<i;a++){let c=t.morphTargets[a].attributes,u=c.length;for(let f=0;f<u;f++){let d=c[f],p=d.semantic;p!==At.POSITION&&p!==At.NORMAL&&p!==At.TANGENT||(h5e(e,d,e.attributeIndex,a),e.attributeIndex++)}}y5e(n);let r=e.runtimeNode.morphWeights.length;n.addUniform("float",`u_morphWeights[${r}]`,pe.VERTEX),n.addVertexLines(jO);let s={u_morphWeights:function(){return e.runtimeNode.morphWeights}};e.uniformMap=bt(s,e.uniformMap)};var d5e={attributeString:void 0,functionId:void 0};function h5e(e,t,n,i){let o=e.shaderBuilder;m5e(e,t,n);let r=p5e(t,d5e);_5e(o,r,i)}function m5e(e,t,n){let i={index:n,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,componentsPerAttribute:sn.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(i)}function p5e(e,t){switch(e.semantic){case At.POSITION:t.attributeString="Position",t.functionId=Ua.FUNCTION_ID_GET_MORPHED_POSITION;break;case At.NORMAL:t.attributeString="Normal",t.functionId=Ua.FUNCTION_ID_GET_MORPHED_NORMAL;break;case At.TANGENT:t.attributeString="Tangent",t.functionId=Ua.FUNCTION_ID_GET_MORPHED_TANGENT;break;default:break}return t}function _5e(e,t,n){let i=t.attributeString,o=`a_target${i}_${n}`,r=`morphed${i} += u_morphWeights[${n}] * a_target${i}_${n};`;e.addAttribute("vec3",o),e.addFunctionLines(t.functionId,[r])}function g5e(e){e.addFunction(Ua.FUNCTION_ID_GET_MORPHED_POSITION,Ua.FUNCTION_SIGNATURE_GET_MORPHED_POSITION,pe.VERTEX),e.addFunctionLines(Ua.FUNCTION_ID_GET_MORPHED_POSITION,["vec3 morphedPosition = position;"]),e.addFunction(Ua.FUNCTION_ID_GET_MORPHED_NORMAL,Ua.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL,pe.VERTEX),e.addFunctionLines(Ua.FUNCTION_ID_GET_MORPHED_NORMAL,["vec3 morphedNormal = normal;"]),e.addFunction(Ua.FUNCTION_ID_GET_MORPHED_TANGENT,Ua.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT,pe.VERTEX),e.addFunctionLines(Ua.FUNCTION_ID_GET_MORPHED_TANGENT,["vec3 morphedTangent = tangent;"])}function y5e(e){e.addFunctionLines(Ua.FUNCTION_ID_GET_MORPHED_POSITION,["return morphedPosition;"]),e.addFunctionLines(Ua.FUNCTION_ID_GET_MORPHED_NORMAL,["return morphedNormal;"]),e.addFunctionLines(Ua.FUNCTION_ID_GET_MORPHED_TANGENT,["return morphedTangent;"])}var qO=Ua;var Jae={name:"PickingPipelineStage"};Jae.process=function(e,t,n){let i=n.context,o=e.runtimeNode,r=e.shaderBuilder,s=e.model,a=o.node.instances;if(e.hasPropertyTable)x5e(e,t,a,i);else if(l(a))b5e(e,i);else{let c=ece(e),u=i.createPickId(c);s._pipelineResources.push(u),s._pickIds.push(u),r.addUniform("vec4","czm_pickColor",pe.FRAGMENT);let f=e.uniformMap;f.czm_pickColor=function(){return u.color},e.pickId="czm_pickColor"}};function ece(e,t){let n=e.model;if(l(n.pickObject))return n.pickObject;let i={model:n,node:e.runtimeNode,primitive:e.runtimePrimitive},o;if(lr.is3DTiles(n.type)){let r=n.content;o={content:r,primitive:r.tileset,detail:i}}else o={primitive:n,detail:i};return o.id=n.id,l(t)&&(o.instanceId=t),o}function x5e(e,t,n){let i=e.model,o,r,s=i.featureIdLabel,a=i.instanceFeatureIdLabel;l(i.featureTableId)?o=i.featureTableId:l(n)?(r=Xt.getFeatureIdsByLabel(n.featureIds,a),o=r.propertyTableId):(r=Xt.getFeatureIdsByLabel(t.featureIds,s),o=r.propertyTableId);let c=i.featureTables[o];e.shaderBuilder.addUniform("sampler2D","model_pickTexture",pe.FRAGMENT);let f=c.batchTexture;e.uniformMap.model_pickTexture=function(){return y(f.pickTexture,f.defaultTexture)},e.pickId="((selectedFeature.id < int(model_featuresLength)) ? texture(model_pickTexture, selectedFeature.st) : vec4(0.0))"}function b5e(e,t){let n=e.instanceCount,i=new Array(n),o=new Uint8Array(n*4),r=e.model,s=r._pipelineResources;for(let d=0;d<n;d++){let p=ece(e,d),g=t.createPickId(p);s.push(g),i[d]=g;let m=g.color;o[d*4+0]=H.floatToByte(m.red),o[d*4+1]=H.floatToByte(m.green),o[d*4+2]=H.floatToByte(m.blue),o[d*4+3]=H.floatToByte(m.alpha)}r._pickIds=i;let a=pt.createVertexBuffer({context:t,typedArray:o,usage:ke.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.statistics.addBuffer(a,!1),s.push(a);let u={index:e.attributeIndex++,vertexBuffer:a,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1};e.attributes.push(u);let f=e.shaderBuilder;f.addDefine("USE_PICKING",void 0,pe.BOTH),f.addAttribute("vec4","a_pickColor"),f.addVarying("vec4","v_pickColor"),e.pickId="v_pickColor"}var YO=Jae;var T5e={ADD:0,REPLACE:1},Ho=Object.freeze(T5e);var XO=`float getPointSizeFromAttenuation(vec3 positionEC) { - // Variables are packed into a single vector to minimize gl.uniformXXX() calls - float pointSize = model_pointCloudParameters.x; - float geometricError = model_pointCloudParameters.y; - float depthMultiplier = model_pointCloudParameters.z; - - float depth = -positionEC.z; - return min((geometricError / depth) * depthMultiplier, pointSize); } -#ifdef HAS_POINT_CLOUD_SHOW_STYLE -float pointCloudShowStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - float tiles3d_tileset_time = model_pointCloudParameters.w; - return float(getShowFromStyle(attributes, metadata, tiles3d_tileset_time)); -} -#endif +void selectedFeatureIdStage(out SelectedFeature feature, FeatureIds featureIds) +{ + int featureId = featureIds.SELECTED_FEATURE_ID; -#ifdef HAS_POINT_CLOUD_COLOR_STYLE -vec4 pointCloudColorStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - float tiles3d_tileset_time = model_pointCloudParameters.w; - return getColorFromStyle(attributes, metadata, tiles3d_tileset_time); -} -#endif -#ifdef HAS_POINT_CLOUD_POINT_SIZE_STYLE -float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - float tiles3d_tileset_time = model_pointCloudParameters.w; - return float(getPointSizeFromStyle(attributes, metadata, tiles3d_tileset_time)); -} -#elif defined(HAS_POINT_CLOUD_ATTENUATION) -float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - return getPointSizeFromAttenuation(v_positionEC); -} -#endif + if (featureId < model_featuresLength) + { + vec2 featureSt = computeSt(float(featureId)); -#ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING -float pointCloudBackFaceCullingStage() { - #if defined(HAS_NORMALS) && !defined(HAS_DOUBLE_SIDED_MATERIAL) - // This needs to be computed in eye coordinates so we can't use attributes.normalMC - return step(-v_normalEC.z, 0.0); - #else - return 1.0; - #endif -} -#endif`;var C5e=new oe,nce={name:"PointCloudStylingPipelineStage"};nce.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=o.style,s=o.structuralMetadata,a=l(s)?s.propertyAttributes:void 0,c=l(o.featureTableId)&&o.featureTables[o.featureTableId].featuresLength>0,u=!l(a)&&c;if(l(r)&&!u){let x=v5e(a),b=w5e(r,x);D5e(i,b);let A=I5e(b).indexOf("normalMC")>=0,C=Xt.getAttributeBySemantic(t,At.NORMAL);if(A&&!C)throw new ce("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,pe.VERTEX),b.styleTranslucent&&(e.alphaOptions.pass=Se.TRANSLUCENT)}let f=o.pointCloudShading;f.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,pe.VERTEX),f.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,pe.VERTEX);let d,p,g;lr.is3DTiles(o.type)&&(p=!0,d=o.content,g=d.tile.refine===Ho.ADD),i.addUniform("vec4","model_pointCloudParameters",pe.VERTEX),i.addVertexLines(XO);let m=e.uniformMap;m.model_pointCloudParameters=function(){let x=C5e,b=1;p&&(b=g?5:d.tileset.memoryAdjustedScreenSpaceError),x.x=y(f.maximumAttenuation,b),x.x*=n.pixelRatio;let T=A5e(e,t,f,d);x.y=T*f.geometricErrorScale;let A=n.context,C=n.camera.frustum,E;return n.mode===ne.SCENE2D||C instanceof cn?E=Number.POSITIVE_INFINITY:E=A.drawingBufferHeight/n.camera.frustum.sseDenominator,x.z=E,p&&(x.w=d.tileset.timeSinceLoad),x}};var tce=new h;function A5e(e,t,n,i){if(l(i)){let f=i.tile.geometricError;if(f>0)return f}if(l(n.baseResolution))return n.baseResolution;let o=Xt.getAttributeBySemantic(t,At.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,tce);a=F.multiplyByPointAsVector(s,a,tce);let c=a.x*a.y*a.z;return P.cbrt(c/r)}var E5e={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},S5e={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function v5e(e){let t=He(S5e);if(!l(e))return t;for(let n=0;n<e.length;n++){let o=e[n].properties;for(let r in o)o.hasOwnProperty(r)&&(t[r]=`metadata.${r}`)}return t}var KW="ProcessedAttributes attributes, Metadata metadata, float tiles3d_tileset_time";function w5e(e,t){let n=E5e,i={translucent:!1};return n.colorStyleFunction=e.getColorShaderFunction(`getColorFromStyle(${KW})`,t,i),n.showStyleFunction=e.getShowShaderFunction(`getShowFromStyle(${KW})`,t,i),n.pointSizeStyleFunction=e.getPointSizeShaderFunction(`getPointSizeFromStyle(${KW})`,t,i),n.styleTranslucent=l(n.colorStyleFunction)&&i.translucent,n}function D5e(e,t){let n=t.colorStyleFunction;l(n)&&(e.addDefine("HAS_POINT_CLOUD_COLOR_STYLE",void 0,pe.BOTH),e.addVertexLines(n),e.addVarying("vec4","v_pointCloudColor"));let i=t.showStyleFunction;l(i)&&(e.addDefine("HAS_POINT_CLOUD_SHOW_STYLE",void 0,pe.VERTEX),e.addVertexLines(i));let o=t.pointSizeStyleFunction;l(o)&&(e.addDefine("HAS_POINT_CLOUD_POINT_SIZE_STYLE",void 0,pe.VERTEX),e.addVertexLines(o))}function ZW(e,t){let n=/attributes\.(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function I5e(e){let t=e.colorStyleFunction,n=e.showStyleFunction,i=e.pointSizeStyleFunction,o=[];return l(t)&&ZW(t,o),l(n)&&ZW(n,o),l(i)&&ZW(i,o),o}var KO=nce;var ZO=`void primitiveOutlineStage() { - v_outlineCoordinates = a_outlineCoordinates; -} -`;var $O=`void primitiveOutlineStage(inout czm_modelMaterial material) { - if (!model_showOutline) { - return; + feature.id = featureId; + feature.st = featureSt; + feature.color = texture(model_batchTexture, featureSt); + } + // Floating point comparisons can be unreliable in GLSL, so we + // increment the feature ID to make sure it's always greater + // then the model_featuresLength - a condition we check for in the + // pick ID, to avoid sampling the pick texture if the feature ID is + // greater than the number of features. + else + { + feature.id = model_featuresLength + 1; + feature.st = vec2(0.0); + feature.color = vec4(1.0); } - float outlineX = - texture(model_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r; - float outlineY = - texture(model_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r; - float outlineZ = - texture(model_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r; - float outlineness = max(outlineX, max(outlineY, outlineZ)); - - material.diffuse = mix(material.diffuse, model_outlineColor.rgb, model_outlineColor.a * outlineness); + #ifdef HAS_NULL_FEATURE_ID + if (featureId == model_nullFeatureId) { + feature.id = featureId; + feature.st = vec2(0.0); + feature.color = vec4(1.0); + } + #endif } - -`;var ice={name:"PrimitiveOutlinePipelineStage"};ice.process=function(e,t,n){let i=e.shaderBuilder,o=e.uniformMap;i.addDefine("HAS_PRIMITIVE_OUTLINE",void 0,pe.BOTH),i.addAttribute("vec3","a_outlineCoordinates"),i.addVarying("vec3","v_outlineCoordinates");let r=t.outlineCoordinates,s={index:e.attributeIndex++,vertexBuffer:r.buffer,componentsPerAttribute:sn.getNumberOfComponents(r.type),componentDatatype:r.componentDatatype,offsetInBytes:r.byteOffset,strideInBytes:r.byteStride,normalize:r.normalized};e.attributes.push(s),i.addUniform("sampler2D","model_outlineTexture",pe.FRAGMENT);let a=pb.createTexture(n.context);o.model_outlineTexture=function(){return a};let c=e.model;i.addUniform("vec4","model_outlineColor",pe.FRAGMENT),o.model_outlineColor=function(){return c.outlineColor},i.addUniform("bool","model_showOutline",pe.FRAGMENT),o.model_showOutline=function(){return c.showOutline},i.addVertexLines(ZO),i.addFragmentLines($O)};var QO=ice;var oce={name:"PrimitiveStatisticsPipelineStage",_countGeometry:rce,_count2DPositions:sce,_countMorphTargetAttributes:ace,_countMaterialTextures:cce,_countFeatureIdTextures:lce,_countBinaryMetadata:uce};oce.process=function(e,t,n){let i=e.model,o=i.statistics;rce(o,t),sce(o,e.runtimePrimitive),ace(o,t),cce(o,t.material),lce(o,t.featureIds),uce(o,i)};function rce(e,t){let n=l(t.indices)?t.indices.count:Xt.getAttributeBySemantic(t,"POSITION").count,i=t.primitiveType;i===Ne.POINTS?e.pointsLength+=n:Ne.isTriangles(i)&&(e.trianglesLength+=P5e(i,n));let o=t.attributes,r=o.length;for(let c=0;c<r;c++){let u=o[c];if(l(u.buffer)){let f=l(u.typedArray);e.addBuffer(u.buffer,f)}}let s=t.outlineCoordinates;l(s)&&l(s.buffer)&&e.addBuffer(s.buffer,!1);let a=t.indices;if(l(a)&&l(a.buffer)){let c=l(a.typedArray);e.addBuffer(a.buffer,c)}}function P5e(e,t){switch(e){case Ne.TRIANGLES:return t/3;case Ne.TRIANGLE_STRIP:case Ne.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function sce(e,t){let n=t.positionBuffer2D;l(n)&&e.addBuffer(n,!0)}function ace(e,t){let n=t.morphTargets;if(!l(n))return;let i=!1,o=n.length;for(let r=0;r<o;r++){let s=n[r].attributes,a=s.length;for(let c=0;c<a;c++){let u=s[c];l(u.buffer)&&e.addBuffer(u.buffer,i)}}}function cce(e,t){let n=R5e(t),i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r)&&l(r.texture)&&e.addTexture(r.texture)}}function R5e(e){let t=e.metallicRoughness,n=[e.emissiveTexture,e.normalTexture,e.occlusionTexture,t.baseColorTexture,t.metallicRoughnessTexture],i=e.specularGlossiness;return l(i)&&(n.push(i.diffuseTexture),n.push(i.specularGlossinessTexture)),n}function lce(e,t){let n=t.length;for(let i=0;i<n;i++){let o=t[i];if(o instanceof Tn.FeatureIdTexture){let r=o.textureReader;l(r.texture)&&e.addTexture(r.texture)}}}function uce(e,t){let n=t.structuralMetadata;l(n)&&(O5e(e,n),e.propertyTablesByteLength+=n.propertyTablesByteLength);let i=t.featureTables;if(!l(i))return;let o=i.length;for(let r=0;r<o;r++){let s=i[r];e.addBatchTexture(s.batchTexture)}}function O5e(e,t){let n=t.propertyTextures;if(!l(n))return;let i=n.length;for(let o=0;o<i;o++){let s=n[o].properties;for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].textureReader;l(u.texture)&&e.addTexture(u.texture)}}}var JO=oce;var M5e=new F,L5e=new F,fce={name:"SceneMode2DPipelineStage"};fce.process=function(e,t,n){let i=Xt.getAttributeBySemantic(t,At.POSITION),o=e.shaderBuilder,r=e.model,s=r.sceneGraph.computedModelMatrix,a=e.runtimeNode.computedTransform,c=F.multiplyTransformation(s,a,M5e),u=B5e(e,c,n),f=e.runtimePrimitive;f.boundingSphere2D=u;let d=e.runtimeNode.node.instances;if(l(d))return;if(l(i.typedArray)){let x=U5e(i,c,u,n);f.positionBuffer2D=x,r._modelResources.push(x),i.typedArray=void 0}o.addDefine("USE_2D_POSITIONS",void 0,pe.VERTEX),o.addUniform("mat4","u_modelView2D",pe.VERTEX);let p=F.fromTranslation(u.center,new F),g=n.context,m={u_modelView2D:function(){return F.multiplyTransformation(g.uniformState.view,p,L5e)}};e.uniformMap=bt(m,e.uniformMap)};var N5e=new h,F5e=new h;function B5e(e,t,n){let i=F.multiplyByPoint(t,e.positionMin,N5e),o=Gi.computeActualEllipsoidPosition(n,i,i),r=F.multiplyByPoint(t,e.positionMax,F5e),s=Gi.computeActualEllipsoidPosition(n,r,r);return ae.fromCornerPoints(o,s,new ae)}var dce=new h;function k5e(e,t){let n=e.length,i=new Float32Array(n),o=t.quantizedVolumeOffset,r=t.quantizedVolumeStepSize;for(let s=0;s<n;s+=3){let a=h.fromArray(e,s,dce),c=h.multiplyComponents(a,r,a),u=h.add(c,o,c);i[s]=u.x,i[s+1]=u.y,i[s+2]=u.z}return i}function V5e(e,t,n,i){let o;l(e.quantization)?o=k5e(e.typedArray,e.quantization):o=e.typedArray.slice();let r=e.byteOffset/Float32Array.BYTES_PER_ELEMENT,s=o.length,a=l(e.byteStride)?e.byteStride/Float32Array.BYTES_PER_ELEMENT:3;for(let c=r;c<s;c+=a){let u=h.fromArray(o,c,dce);if(isNaN(u.x)||isNaN(u.y)||isNaN(u.z))continue;let f=F.multiplyByPoint(t,u,u),d=Gi.computeActualEllipsoidPosition(i,f,f),p=h.subtract(d,n,d);o[c]=p.x,o[c+1]=p.y,o[c+2]=p.z}return o}function U5e(e,t,n,i){let o=He(i);o.mode=ne.COLUMBUS_VIEW;let r=n.center,s=V5e(e,t,r,o),a=pt.createVertexBuffer({context:i.context,typedArray:s,usage:ke.STATIC_DRAW});return a.vertexArrayDestroyable=!1,a}var eM=fce;var tM=`void skinningStage(inout ProcessedAttributes attributes) +`;var KO={name:"SelectedFeatureIdPipelineStage",STRUCT_ID_SELECTED_FEATURE:"SelectedFeature",STRUCT_NAME_SELECTED_FEATURE:"SelectedFeature"};KO.process=function(e,t,n){let i=e.shaderBuilder;e.hasPropertyTable=!0;let o=e.model,r=e.runtimeNode.node,s=T5e(o,r,t),a=s.shaderDestination;i.addDefine("HAS_SELECTED_FEATURE_ID",void 0,a),i.addDefine("SELECTED_FEATURE_ID",s.variableName,a),i.addDefine(s.featureIdDefine,void 0,a),C5e(i);let c=s.featureIds.nullFeatureId,u=e.uniformMap;l(c)&&(i.addDefine("HAS_NULL_FEATURE_ID",void 0,a),i.addUniform("int","model_nullFeatureId",a),u.model_nullFeatureId=function(){return c}),s.shaderDestination===pe.BOTH&&i.addVertexLines(iE),i.addFragmentLines(iE)};function fce(e){return e instanceof Cn.FeatureIdTexture?"HAS_SELECTED_FEATURE_ID_TEXTURE":"HAS_SELECTED_FEATURE_ID_ATTRIBUTE"}function dce(e){return e instanceof Cn.FeatureIdTexture?pe.FRAGMENT:pe.BOTH}function T5e(e,t,n){let i,o;return l(t.instances)&&(o=Zt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(o))?(i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:dce(o),featureIdDefine:fce(o)}):(o=Zt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:dce(o),featureIdDefine:fce(o)})}function C5e(e){e.addStructField(KO.STRUCT_ID_SELECTED_FEATURE,"int","id"),e.addStructField(KO.STRUCT_ID_SELECTED_FEATURE,"vec2","st"),e.addStructField(KO.STRUCT_ID_SELECTED_FEATURE,"vec4","color")}var Py=KO;var Qs={name:"GeometryPipelineStage",STRUCT_ID_PROCESSED_ATTRIBUTES_VS:"ProcessedAttributesVS",STRUCT_ID_PROCESSED_ATTRIBUTES_FS:"ProcessedAttributesFS",STRUCT_NAME_PROCESSED_ATTRIBUTES:"ProcessedAttributes",FUNCTION_ID_INITIALIZE_ATTRIBUTES:"initializeAttributes",FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES:"void initializeAttributes(out ProcessedAttributes attributes)",FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS:"setDynamicVaryingsVS",FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS:"setDynamicVaryingsFS",FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS:"void setDynamicVaryings(inout ProcessedAttributes attributes)"};Qs.process=function(e,t,n){let{shaderBuilder:i,model:o}=e;i.addStruct(Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"ProcessedAttributes",pe.VERTEX),i.addStruct(Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"ProcessedAttributes",pe.FRAGMENT),i.addStruct(Py.STRUCT_ID_SELECTED_FEATURE,Py.STRUCT_NAME_SELECTED_FEATURE,pe.BOTH),i.addFunction(Qs.FUNCTION_ID_INITIALIZE_ATTRIBUTES,Qs.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES,pe.VERTEX),i.addVarying("vec3","v_positionWC"),i.addVarying("vec3","v_positionEC"),i.addStructField(Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionWC"),i.addStructField(Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionEC"),i.addFunction(Qs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,Qs.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.VERTEX),i.addFunction(Qs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,Qs.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.FRAGMENT),o.type===pr.TILE_PNTS&&i.addDefine("HAS_SRGB_COLOR",void 0,pe.FRAGMENT);let r=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&o._projectTo2D,s=l(e.runtimeNode.node.instances),a=r&&!s,c=t.attributes.length;for(let u=0;u<c;u++){let f=t.attributes[u],d=an.getAttributeLocationCount(f.type),p=f.semantic===St.POSITION,g;d>1?(g=e.attributeIndex,e.attributeIndex+=d):p&&!a?g=0:g=e.attributeIndex++,A5e(e,f,g,d,r,s)}O5e(i,t.attributes),t.primitiveType===Ne.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(XO),i.addFragmentLines(YO)};function A5e(e,t,n,i,o,r){let s=e.shaderBuilder,a=Zt.getAttributeInfo(t),c=o&&!r;i>1?v5e(e,t,n,i):S5e(e,t,n,c),D5e(s,a,c),w5e(s,a),l(t.semantic)&&E5e(s,t),I5e(s,a,o),P5e(s,a,c),R5e(s,a)}function E5e(e,t){let{semantic:n,setIndex:i}=t;switch(n){case St.NORMAL:e.addDefine("HAS_NORMALS");break;case St.TANGENT:e.addDefine("HAS_TANGENTS");break;case St.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case St.TEXCOORD:case St.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function S5e(e,t,n,i){let{quantization:o,semantic:r,setIndex:s}=t,{type:a,componentDatatype:c}=l(o)?o:t;r===St.FEATURE_ID&&s>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=s+1);let u=r===St.POSITION,f=u?0:n,d=an.getNumberOfComponents(a),p={index:f,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:d,componentDatatype:c,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!u||!i)return;let g=e.runtimePrimitive.positionBuffer2D,m={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:d,componentDatatype:X.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(m)}function v5e(e,t,n,i){let{quantization:o,normalized:r}=t,{type:s,componentDatatype:a}=l(o)?o:t,u=an.getNumberOfComponents(s)/i,f=X.getSizeInBytes(a),d=u*f,p=t.byteStride;for(let g=0;g<i;g++){let m=t.byteOffset+g*d,x={index:n+g,vertexBuffer:t.buffer,componentsPerAttribute:u,componentDatatype:a,offsetInBytes:m,strideInBytes:p,normalize:r};e.attributes.push(x)}}function w5e(e,t){let n=t.variableName,i=`v_${n}`,o;n==="normalMC"?(i="v_normalEC",o=t.glslType):n==="tangentMC"?(o="vec3",i="v_tangentEC"):o=t.glslType,e.addVarying(o,i)}function D5e(e,t,n){let i=t.attribute.semantic,o=t.variableName,r,s;t.isQuantized?(r=`a_quantized_${o}`,s=t.quantizedGlslType):(r=`a_${o}`,s=t.glslType);let a=i===St.POSITION;a?e.setPositionAttribute(s,r):e.addAttribute(s,r),a&&n&&e.addAttribute("vec3","a_position2D")}function I5e(e,t,n){let i=Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,o=Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,{variableName:r,glslType:s}=t;r==="tangentMC"?(e.addStructField(i,"vec3","tangentMC"),e.addStructField(i,"float","tangentSignMC"),e.addStructField(o,"vec3","tangentEC")):r==="normalMC"?(e.addStructField(i,"vec3","normalMC"),e.addStructField(o,"vec3","normalEC")):(e.addStructField(i,s,r),e.addStructField(o,s,r)),r==="positionMC"&&n&&e.addStructField(i,"vec3","position2D")}function P5e(e,t,n){let i=Qs.FUNCTION_ID_INITIALIZE_ATTRIBUTES,o=t.variableName;if(o==="positionMC"&&n&&e.addFunctionLines(i,["attributes.position2D = a_position2D;"]),t.isQuantized)return;let s=[];o==="tangentMC"?(s.push("attributes.tangentMC = a_tangentMC.xyz;"),s.push("attributes.tangentSignMC = a_tangentMC.w;")):s.push(`attributes.${o} = a_${o};`),e.addFunctionLines(i,s)}function R5e(e,t){let{semantic:n,setIndex:i}=t.attribute;if(l(n)&&!l(i))return;let o=Qs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,r=t.variableName,s=`v_${r} = attributes.${r};`;e.addFunctionLines(o,[s]),o=Qs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,s=`attributes.${r} = v_${r};`,e.addFunctionLines(o,[s])}function O5e(e,t){let n=!1,i=!1;for(let o=0;o<t.length;o++){let r=t[o];r.semantic===St.NORMAL?n=!0:r.semantic===St.TANGENT&&(i=!0)}!n||!i||(e.addDefine("HAS_BITANGENTS"),e.addVarying("vec3","v_bitangentEC"),e.addStructField(Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"vec3","bitangentMC"),e.addStructField(Qs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","bitangentEC"))}var ZO=Qs;var $O=`#ifdef USE_IBL_LIGHTING +vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) { - mat4 skinningMatrix = getSkinningMatrix(); - mat3 skinningMatrixMat3 = mat3(skinningMatrix); - - vec4 positionMC = vec4(attributes.positionMC, 1.0); - attributes.positionMC = vec3(skinningMatrix * positionMC); - - #ifdef HAS_NORMALS - vec3 normalMC = attributes.normalMC; - attributes.normalMC = skinningMatrixMat3 * normalMC; + #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) + // Environment maps were provided, use them for IBL + vec3 viewDirection = -normalize(position); + vec3 iblColor = textureIBL(viewDirection, normal, material); + return iblColor; #endif + + return vec3(0.0); +} +#endif - #ifdef HAS_TANGENTS - vec3 tangentMC = attributes.tangentMC; - attributes.tangentMC = skinningMatrixMat3 * tangentMC; - #endif -}`;var bb={name:"SkinningPipelineStage",FUNCTION_ID_GET_SKINNING_MATRIX:"getSkinningMatrix",FUNCTION_SIGNATURE_GET_SKINNING_MATRIX:"mat4 getSkinningMatrix()"};bb.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_SKINNING",void 0,pe.VERTEX),H5e(n,t);let i=e.runtimeNode,o=i.computedJointMatrices;n.addUniform("mat4",`u_jointMatrices[${o.length}]`,pe.VERTEX),n.addVertexLines(tM);let r={u_jointMatrices:function(){return i.computedJointMatrices}};e.uniformMap=bt(r,e.uniformMap)};function z5e(e){let t=-1,n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];(r.semantic===At.JOINTS||r.semantic===At.WEIGHTS)&&(t=Math.max(t,r.setIndex))}return t}function H5e(e,t){e.addFunction(bb.FUNCTION_ID_GET_SKINNING_MATRIX,bb.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX,pe.VERTEX),e.addFunctionLines(bb.FUNCTION_ID_GET_SKINNING_MATRIX,["mat4 skinnedMatrix = mat4(0);"]);let i,o,r=["x","y","z","w"],s=z5e(t);for(i=0;i<=s;i++)for(o=0;o<=3;o++){let c=r[o],u=`skinnedMatrix += a_weights_${i}.${c} * u_jointMatrices[int(a_joints_${i}.${c})];`;e.addFunctionLines(bb.FUNCTION_ID_GET_SKINNING_MATRIX,[u])}e.addFunctionLines(bb.FUNCTION_ID_GET_SKINNING_MATRIX,["return skinnedMatrix;"])}var nM=bb;var iM=`void verticalExaggerationStage( - inout ProcessedAttributes attributes -) { - // Compute the distance from the camera to the local center of curvature. - vec4 vertexPositionENU = czm_modelToEnu * vec4(attributes.positionMC, 1.0); - vec2 vertexAzimuth = normalize(vertexPositionENU.xy); - // Curvature = 1 / radius of curvature. - float azimuthalCurvature = dot(vertexAzimuth * vertexAzimuth, czm_eyeEllipsoidCurvature); - float eyeToCenter = 1.0 / azimuthalCurvature + czm_eyeHeight; +#ifdef USE_CLEARCOAT +vec3 addClearcoatReflection(vec3 baseLayerColor, vec3 position, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) +{ + vec3 viewDirection = -normalize(position); + vec3 halfwayDirection = normalize(viewDirection + lightDirection); + vec3 normal = material.clearcoatNormal; + float NdotL = clamp(dot(normal, lightDirection), 0.001, 1.0); - // Compute the approximate ellipsoid normal at the vertex position. - // Uses a circular approximation for the Earth curvature along the geodesic. - vec3 vertexPositionEC = (czm_modelView * vec4(attributes.positionMC, 1.0)).xyz; - vec3 centerToVertex = eyeToCenter * czm_eyeEllipsoidNormalEC + vertexPositionEC; - vec3 vertexNormal = normalize(centerToVertex); + // clearcoatF0 = vec3(pow((ior - 1.0) / (ior + 1.0), 2.0)), but without KHR_materials_ior, ior is a constant 1.5. + vec3 f0 = vec3(0.04); + vec3 f90 = vec3(1.0); + // Note: clearcoat Fresnel computed with dot(n, v) instead of dot(v, h). + // This is to make it energy conserving with a simple layering function. + float NdotV = clamp(dot(normal, viewDirection), 0.0, 1.0); + vec3 F = fresnelSchlick2(f0, f90, NdotV); - // Estimate the (sine of the) angle between the camera direction and the vertex normal - float verticalDistance = dot(vertexPositionEC, czm_eyeEllipsoidNormalEC); - float horizontalDistance = length(vertexPositionEC - verticalDistance * czm_eyeEllipsoidNormalEC); - float sinTheta = horizontalDistance / (eyeToCenter + verticalDistance); - bool isSmallAngle = clamp(sinTheta, 0.0, 0.05) == sinTheta; + // compute specular reflection from direct lighting + float roughness = material.clearcoatRoughness; + float alphaRoughness = roughness * roughness; + float directStrength = computeDirectSpecularStrength(normal, lightDirection, viewDirection, halfwayDirection, alphaRoughness); + vec3 directReflection = F * directStrength * NdotL; + vec3 color = lightColorHdr * directReflection; - // Approximate the change in height above the ellipsoid, from camera to vertex position. - float exactVersine = 1.0 - dot(czm_eyeEllipsoidNormalEC, vertexNormal); - float smallAngleVersine = 0.5 * sinTheta * sinTheta; - float versine = isSmallAngle ? smallAngleVersine : exactVersine; - float dHeight = dot(vertexPositionEC, vertexNormal) - eyeToCenter * versine; - float vertexHeight = czm_eyeHeight + dHeight; + #ifdef SPECULAR_IBL + // Find the direction in which to sample the environment map + vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflect(-viewDirection, normal)); + vec3 iblColor = computeSpecularIBL(reflectMC, NdotV, f0, roughness); + color += iblColor * material.occlusion; + #endif - // Transform the approximate vertex normal to model coordinates. - vec3 vertexNormalMC = (czm_inverseModelView * vec4(vertexNormal, 0.0)).xyz; - vertexNormalMC = normalize(vertexNormalMC); + float clearcoatFactor = material.clearcoatFactor; + vec3 clearcoatColor = color * clearcoatFactor; - // Compute the exaggeration and apply it along the approximate vertex normal. - float stretch = u_verticalExaggerationAndRelativeHeight.x; - float shift = u_verticalExaggerationAndRelativeHeight.y; - float exaggeration = (vertexHeight - shift) * (stretch - 1.0); - attributes.positionMC += exaggeration * vertexNormalMC; -} -`;var hce={name:"VerticalExaggerationPipelineStage"},G5e=new z;hce.process=function(e,t,n){let{shaderBuilder:i,uniformMap:o}=e;i.addVertexLines(iM),i.addDefine("HAS_VERTICAL_EXAGGERATION",void 0,pe.VERTEX),i.addUniform("vec2","u_verticalExaggerationAndRelativeHeight",pe.VERTEX),o.u_verticalExaggerationAndRelativeHeight=function(){return z.fromElements(n.verticalExaggeration,n.verticalExaggerationRelativeHeight,G5e)}};var oM=hce;var $W={};function W5e(e){let t=Fe.createTypedArray(e,e*2),n=e,i=0;for(let o=0;o<n;o+=3)t[i++]=o,t[i++]=o+1,t[i++]=o+1,t[i++]=o+2,t[i++]=o+2,t[i++]=o;return t}function j5e(e,t){let n=t.length,i=Fe.createTypedArray(e,n*2),o=0;for(let r=0;r<n;r+=3){let s=t[r],a=t[r+1],c=t[r+2];i[o++]=s,i[o++]=a,i[o++]=a,i[o++]=c,i[o++]=c,i[o++]=s}return i}function q5e(e){let t=e-2,n=2+t*4,i=Fe.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=r;return i}function Y5e(e,t){let i=t.length-2,o=2+i*4,r=Fe.createTypedArray(e,o),s=0;r[s++]=t[0],r[s++]=t[1];for(let a=0;a<i;a++){let c=t[a],u=t[a+1],f=t[a+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=c}return r}function X5e(e){let t=e-2,n=2+t*4,i=Fe.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=0;return i}function K5e(e,t){let i=t.length-2,o=2+i*4,r=Fe.createTypedArray(e,o),s=0,a=t[0];r[s++]=a,r[s++]=t[1];for(let c=0;c<i;c++){let u=t[c+1],f=t[c+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=a}return r}$W.createWireframeIndices=function(e,t,n){let i=l(n);if(e===Ne.TRIANGLES)return i?j5e(t,n):W5e(t);if(e===Ne.TRIANGLE_STRIP)return i?Y5e(t,n):q5e(t);if(e===Ne.TRIANGLE_FAN)return i?K5e(t,n):X5e(t)};$W.getWireframeIndicesCount=function(e,t){return e===Ne.TRIANGLES?t*2:e===Ne.TRIANGLE_STRIP||e===Ne.TRIANGLE_FAN?2+(t-2)*4:t};var tE=$W;var mce={name:"WireframePipelineStage"};mce.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_WIREFRAME",void 0,pe.FRAGMENT);let o=e.model,r=Z5e(t,e.indices,n);o._pipelineResources.push(r),e.wireframeIndexBuffer=r,o.statistics.addBuffer(r,!1);let a=e.primitiveType,c=e.count;e.primitiveType=Ne.LINES,e.count=tE.getWireframeIndicesCount(a,c)};function Z5e(e,t,n){let o=Xt.getAttributeBySemantic(e,At.POSITION).count,r=n.context.webgl2,s;if(l(t)){let f=t.buffer,d=t.count;l(f)&&r?(s=f.sizeInBytes===d?new Uint8Array(d):Fe.createTypedArray(o,d),f.getBufferData(s)):s=t.typedArray}let a=e.primitiveType,c=tE.createWireframeIndices(a,o,s),u=Fe.fromSizeInBytes(c.BYTES_PER_ELEMENT);return pt.createIndexBuffer({context:n.context,typedArray:c,usage:ke.STATIC_DRAW,indexDatatype:u})}var rM=mce;function pce(e){e=y(e,y.EMPTY_OBJECT);let t=e.primitive,n=e.node,i=e.model;this.primitive=t,this.node=n,this.model=i,this.pipelineStages=[],this.drawCommand=void 0,this.boundingSphere=void 0,this.boundingSphere2D=void 0,this.positionBuffer2D=void 0,this.batchLengths=void 0,this.batchOffsets=void 0,this.updateStages=[]}pce.prototype.configurePipeline=function(e){let t=this.pipelineStages;t.length=0;let n=this.primitive,i=this.node,o=this.model,r=o.customShader;if(l(o._marsOptions)&&l(o._marsOptions.customShaders)){let M=l_.getCache(o._marsOptions.customShaders);for(let N in M)if(Object.prototype.hasOwnProperty.call(M,N)){r=M[N];break}}let s=o.style,a=e.context.webgl2,u=e.mode!==ne.SCENE3D&&!e.scene3DOnly&&o._projectTo2D,f=e.verticalExaggeration!==1&&o.hasVerticalExaggeration,d=l(n.morphTargets)&&n.morphTargets.length>0,p=l(i.skin),g=l(r),x=!(g&&l(r.fragmentShaderText))||r.mode!==c_.REPLACE_MATERIAL,b=Xt.hasQuantizedAttributes(n.attributes),T=o.debugWireframe&&Ne.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),A=o.pointCloudShading,C=l(A)&&A.attenuation,E=l(A)&&A.backFaceCulling,v=n.primitiveType===Ne.POINTS&&(l(s)||C||E),D=o._enableShowOutline&&l(n.outlineCoordinates),O=$5e(o,i,n),R=l(o.classificationType);u&&t.push(eM),t.push(UO),T&&t.push(rM),R&&t.push(CO),d&&t.push(qO),p&&t.push(nM),v&&t.push(KO),b&&t.push(FO),x&&t.push(WO),t.push(Ay),t.push(vf),t.push(Au),O.hasPropertyTable&&(t.push(Sy),t.push(TO),t.push(SO)),f&&t.push(oM),g&&t.push(LO),t.push(HO),o.allowPicking&&t.push(YO),D&&t.push(QO),t.push(bO),t.push(JO)};function $5e(e,t,n){let i;return l(t.instances)&&(i=Xt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(i))?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:(i=Xt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),l(i)?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var sM=pce;function QW(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],Q5e(this)}Object.defineProperties(QW.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function Q5e(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c<o;c++){let u=i[c].index,f=r[u];s.push(f);let d=n[c],p=_ce(f,d,new F);a.push(p)}}function _ce(e,t,n){let i=F.multiplyTransformation(e.transformToRoot,e.transform,n);return n=F.multiplyTransformation(i,t,n),n}QW.prototype.updateJointMatrices=function(){let e=this._jointMatrices,t=e.length;for(let n=0;n<t;n++){let i=this.joints[n],o=this.inverseBindMatrices[n];e[n]=_ce(i,o,e[n])}};var aM=QW;function J5e(){this.pass=void 0,this.alphaCutoff=void 0}var cM=J5e;function e6e(e){this.shaderBuilder=new ux,this.model=e,this.uniformMap={},this.alphaOptions=new cM,this.renderStateOptions=Ve.getState(Ve.fromCache({depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL}})),this.hasSilhouette=!1,this.hasSkipLevelOfDetail=!1}var lM=e6e;var uM=`void silhouetteStage(inout vec4 color) { - if(model_silhouettePass) { - color = czm_gammaCorrect(model_silhouetteColor); - } -}`;var fM=`void silhouetteStage(in ProcessedAttributes attributes, inout vec4 positionClip) { - #ifdef HAS_NORMALS - if(model_silhouettePass) { - vec3 normal = normalize(czm_normal3D * attributes.normalMC); - normal.x *= czm_projection[0][0]; - normal.y *= czm_projection[1][1]; - positionClip.xy += normal.xy * positionClip.w * model_silhouetteSize * czm_pixelRatio / czm_viewport.z; - } - #endif + // Dim base layer based on transmission loss through clearcoat + return baseLayerColor * (1.0 - clearcoatFactor * F) + clearcoatColor; } -`;var iz={name:"ModelSilhouettePipelineStage"};iz.silhouettesLength=0;iz.process=function(e,t,n){l(t._silhouetteId)||(t._silhouetteId=++iz.silhouettesLength);let i=e.shaderBuilder;i.addDefine("HAS_SILHOUETTE",void 0,pe.BOTH),i.addVertexLines(fM),i.addFragmentLines(uM),i.addUniform("vec4","model_silhouetteColor",pe.FRAGMENT),i.addUniform("float","model_silhouetteSize",pe.VERTEX),i.addUniform("bool","model_silhouettePass",pe.BOTH);let o={model_silhouetteColor:function(){return t.silhouetteColor},model_silhouetteSize:function(){return t.silhouetteSize},model_silhouettePass:function(){return!1}};e.uniformMap=bt(o,e.uniformMap),e.hasSilhouette=!0};var dM=iz;var hM=`void modelSplitterStage() -{ - // Don't split when rendering the shadow map, because it is rendered from - // the perspective of a totally different camera. -#ifndef SHADOW_MAP - if (model_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif -} -`;var oz={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};oz.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,pe.FRAGMENT),i.addFragmentLines(hM);let o={};i.addUniform("float",oz.SPLIT_DIRECTION_UNIFORM_NAME,pe.FRAGMENT),o[oz.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=bt(o,e.uniformMap)};var mM=oz;function t6e(e,t){this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=He(e.uniformMap),this.alphaOptions=He(e.alphaOptions),this.renderStateOptions=He(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var pM=t6e;function n6e(e){e=y(e,y.EMPTY_OBJECT),this.lightingModel=y(e.lightingModel,hm.UNLIT)}var _M=n6e;function i6e(e,t){this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.uniformMap=He(e.uniformMap),this.alphaOptions=He(e.alphaOptions),this.renderStateOptions=He(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;let n=t.primitive;this.count=l(n.indices)?n.indices.count:Xt.getAttributeBySemantic(n,"POSITION").count,this.hasPropertyTable=!1,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;let i=Xt.getPositionMinMax(n,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=h.clone(i.min,new h),this.positionMax=h.clone(i.max,new h),this.boundingSphere=ae.fromCornerPoints(this.positionMin,this.positionMax,new ae),this.lightingOptions=new _M,this.pickId=void 0}var gM=i6e;function ej(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._command=t,this._model=i,this._runtimePrimitive=n.runtimePrimitive,this._modelMatrix=t.modelMatrix,this._boundingVolume=t.boundingVolume,this._cullFace=t.renderState.cull.face;let o=i.classificationType;this._classificationType=o,this._classifiesTerrain=o!==Hn.CESIUM_3D_TILE,this._classifies3DTiles=o!==Hn.TERRAIN,this._useDebugWireframe=i._enableDebugWireframe&&i.debugWireframe,this._pickId=n.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],a6e(this)}function o6e(e){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:dt.KEEP,zFail:dt.DECREMENT_WRAP,zPass:dt.KEEP},backFunction:e,backOperation:{fail:dt.KEEP,zFail:dt.INCREMENT_WRAP,zPass:dt.KEEP},reference:Vt.CESIUM_3D_TILE_MASK,mask:Vt.CESIUM_3D_TILE_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},depthMask:!1}}var r6e={stencilTest:{enabled:!0,frontFunction:Wn.NOT_EQUAL,frontOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},backFunction:Wn.NOT_EQUAL,backOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},reference:0,mask:Vt.CLASSIFICATION_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND},s6e={stencilTest:{enabled:!0,frontFunction:Wn.NOT_EQUAL,frontOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},backFunction:Wn.NOT_EQUAL,backOperation:{fail:dt.ZERO,zFail:dt.ZERO,zPass:dt.ZERO},reference:0,mask:Vt.CLASSIFICATION_MASK},stencilMask:Vt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},xce=[];function a6e(e){let t=e._command,n=xce;if(e._useDebugWireframe){t.pass=Se.OPAQUE,n.length=0,n.push(t),e._commandListDebugWireframe=yM(e,n,e._commandListDebugWireframe);let r=e._commandListDebugWireframe,s=r.length;for(let a=0;a<s;a++){let c=r[a];c.count*=2,c.offset*=2}return}let o=e.model.allowPicking;if(e._classifiesTerrain){let r=Se.TERRAIN_CLASSIFICATION,s=JW(t,r),a=gce(t,r);n.length=0,n.push(s,a),e._commandListTerrain=yM(e,n,e._commandListTerrain),o&&(e._commandListTerrainPicking=yce(e,n,e._commandListTerrainPicking))}if(e._classifies3DTiles){let r=Se.CESIUM_3D_TILE_CLASSIFICATION,s=JW(t,r),a=gce(t,r);n.length=0,n.push(s,a),e._commandList3DTiles=yM(e,n,e._commandList3DTiles),o&&(e._commandList3DTilesPicking=yce(e,n,e._commandList3DTilesPicking))}}function yM(e,t,n){let i=e._runtimePrimitive,o=i.batchLengths,r=i.batchOffsets,s=o.length,a=t.length;for(let c=0;c<s;c++){let u=o[c],f=r[c];for(let d=0;d<a;d++){let p=t[d],g=Xe.shallowClone(p);g.count=u,g.offset=f,n.push(g)}}return n}function JW(e,t){let n=Xe.shallowClone(e);n.cull=!1,n.pass=t;let i=t===Se.TERRAIN_CLASSIFICATION?Wn.ALWAYS:Wn.EQUAL,o=o6e(i);return n.renderState=Ve.fromCache(o),n}function gce(e,t){let n=Xe.shallowClone(e);return n.cull=!1,n.pass=t,n.renderState=Ve.fromCache(r6e),n}var c6e=[];function yce(e,t,n){let i=Ve.fromCache(s6e),o=t[0],r=t[1],s=Xe.shallowClone(o);s.cull=!0,s.pickOnly=!0;let a=Xe.shallowClone(r);a.cull=!0,a.pickOnly=!0,a.renderState=i,a.pickId=e._pickId;let c=c6e;return c.length=0,c.push(s,a),yM(e,c,n)}Object.defineProperties(ej.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},batchLengths:{get:function(){return this._runtimePrimitive.batchLengths}},batchOffsets:{get:function(){return this._runtimePrimitive.batchOffsets}},model:{get:function(){return this._model}},classificationType:{get:function(){return this._classificationType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix);let t=this._runtimePrimitive.boundingSphere;this._boundingVolume=ae.transform(t,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace=e}}});ej.prototype.pushCommands=function(e,t){let n=e.passes;if(n.render){if(this._useDebugWireframe){t.push.apply(t,this._commandListDebugWireframe);return}if(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrain),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTiles),e.invertClassification&&this._classifies3DTiles){if(this._commandListIgnoreShow.length===0){let o=Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,r=JW(this._command,o),s=xce;s.length=0,s.push(r),this._commandListIgnoreShow=yM(this,s,this._commandListIgnoreShow)}t.push.apply(t,this._commandListIgnoreShow)}}return n.pick&&(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrainPicking),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTilesPicking)),t};var xM=ej;function rz(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._model=i;let o=n.runtimePrimitive;this._runtimePrimitive=o;let r=t.pass===Se.TRANSLUCENT,a=!o.primitive.material.doubleSided&&!r,c=n.hasSilhouette,u=!r&&!c,f=n.hasSkipLevelOfDetail&&!r,d=c;this._command=t,this._modelMatrix=F.clone(t.modelMatrix),this._boundingVolume=ae.clone(t.boundingVolume),this._modelMatrix2D=new F,this._boundingVolume2D=new ae,this._modelMatrix2DDirty=!1,this._backFaceCulling=t.renderState.cull.enabled,this._cullFace=t.renderState.cull.face,this._shadows=i.shadows,this._debugShowBoundingVolume=t.debugShowBoundingVolume,this._usesBackFaceCulling=a,this._needsTranslucentCommand=u,this._needsSkipLevelOfDetailCommands=f,this._needsSilhouetteCommands=d,this._originalCommand=void 0,this._translucentCommand=void 0,this._skipLodBackfaceCommand=void 0,this._skipLodStencilCommand=void 0,this._silhouetteModelCommand=void 0,this._silhouetteColorCommand=void 0,this._derivedCommands=[],this._has2DCommands=!1,l6e(this)}function u_(e){this.command=e.command,this.updateShadows=e.updateShadows,this.updateBackFaceCulling=e.updateBackFaceCulling,this.updateCullFace=e.updateCullFace,this.updateDebugShowBoundingVolume=e.updateDebugShowBoundingVolume,this.is2D=y(e.is2D,!1),this.derivedCommand2D=void 0}u_.clone=function(e){return new u_({command:e.command,updateShadows:e.updateShadows,updateBackFaceCulling:e.updateBackFaceCulling,updateCullFace:e.updateCullFace,updateDebugShowBoundingVolume:e.updateDebugShowBoundingVolume,is2D:e.is2D,derivedCommand2D:e.derivedCommand2D})};function l6e(e){let t=e._command;t.modelMatrix=e._modelMatrix,t.boundingVolume=e._boundingVolume;let n=e._model,i=e._usesBackFaceCulling,o=e._derivedCommands;e._originalCommand=new u_({command:t,updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0,is2D:!1}),o.push(e._originalCommand),e._needsTranslucentCommand&&(e._translucentCommand=new u_({command:_6e(t),updateShadows:!0,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!0}),o.push(e._translucentCommand)),e._needsSkipLevelOfDetailCommands&&(e._skipLodBackfaceCommand=new u_({command:C6e(t),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:i,updateDebugShowBoundingVolume:!1}),e._skipLodStencilCommand=new u_({command:A6e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),o.push(e._skipLodBackfaceCommand),o.push(e._skipLodStencilCommand)),e._needsSilhouetteCommands&&(e._silhouetteModelCommand=new u_({command:g6e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),e._silhouetteColorCommand=new u_({command:y6e(t,n),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!1}),o.push(e._silhouetteModelCommand),o.push(e._silhouetteColorCommand))}Object.defineProperties(rz.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},model:{get:function(){return this._model}},primitiveType:{get:function(){return this._command.primitiveType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix),this._modelMatrix2DDirty=!0,this._boundingVolume=ae.transform(this.runtimePrimitive.boundingSphere,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},shadows:{get:function(){return this._shadows},set:function(e){this._shadows=e,f6e(this)}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){this._backFaceCulling!==e&&(this._backFaceCulling=e,d6e(this))}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,h6e(this))}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolume=e,m6e(this))}}});function u6e(e,t){let n=e._modelMatrix;e._modelMatrix2D=F.clone(n,e._modelMatrix2D),e._modelMatrix2D[13]-=P.sign(n[13])*2*P.PI*t.mapProjection.ellipsoid.maximumRadius,e._boundingVolume2D=ae.transform(e.runtimePrimitive.boundingSphere,e._modelMatrix2D,e._boundingVolume2D)}function f6e(e){let t=e.shadows,n=bn.castShadows(t),i=bn.receiveShadows(t),o=e._derivedCommands;for(let r=0;r<o.length;++r){let s=o[r];if(s.updateShadows){let a=s.command;a.castShadows=n,a.receiveShadows=i}}}function d6e(e){let t=e.backFaceCulling,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateBackFaceCulling){let r=o.command,s=He(r.renderState,!0);s.cull.enabled=t,r.renderState=Ve.fromCache(s)}}}function h6e(e){let t=e.cullFace,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateCullFace){let r=o.command,s=He(r.renderState,!0);s.cull.face=t,r.renderState=Ve.fromCache(s)}}}function m6e(e){let t=e.debugShowBoundingVolume,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateDebugShowBoundingVolume){let r=o.command;r.debugShowBoundingVolume=t}}}rz.prototype.pushCommands=function(e,t){let n=bce(this,e);n&&!this._has2DCommands&&(p6e(this),this._has2DCommands=!0,this._modelMatrix2DDirty=!0),this._modelMatrix2DDirty&&(u6e(this,e),this._modelMatrix2DDirty=!1);let i=this.model.styleCommandsNeeded;if(!(this._needsTranslucentCommand&&l(i)&&(i!==Kd.ALL_OPAQUE&&iE(t,this._translucentCommand,n),i===Kd.ALL_TRANSLUCENT))){if(this._needsSkipLevelOfDetailCommands){let{tileset:o,tile:r}=this._model.content;if(o.hasMixedContent){r._finalResolution||iE(o._backfaceCommands,this._skipLodBackfaceCommand,n),x6e(this,r,n),iE(t,this._skipLodStencilCommand,n);return}}if(this._needsSilhouetteCommands){iE(t,this._silhouetteModelCommand,n);return}return iE(t,this._originalCommand,n),t}};rz.prototype.pushSilhouetteCommands=function(e,t){let n=bce(this,e);return iE(t,this._silhouetteColorCommand,n),t};function iE(e,t,n){e.push(t.command),n&&e.push(t.derivedCommand2D.command)}function bce(e,t){if(t.mode!==ne.SCENE2D||e.model._projectTo2D)return!1;let i=e.model.sceneGraph._boundingSphere2D,o=i.center.y-i.radius,r=i.center.y+i.radius,s=t.mapProjection.ellipsoid.maximumRadius*P.PI;return o<s&&r>s||o<-s&&r>-s}function nE(e,t){if(!l(t))return;let n=u_.clone(t),i=Xe.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function p6e(e){nE(e,e._originalCommand),nE(e,e._translucentCommand),nE(e,e._skipLodBackfaceCommand),nE(e,e._skipLodStencilCommand),nE(e,e._silhouetteModelCommand),nE(e,e._silhouetteColorCommand)}function _6e(e){let t=Xe.shallowClone(e);t.pass=Se.TRANSLUCENT;let n=He(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=hn.ALPHA_BLEND,t.renderState=Ve.fromCache(n),t}function g6e(e,t){let n=t._silhouetteId%255,i=Xe.shallowClone(e),o=He(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:te.ALWAYS,backFunction:te.ALWAYS,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=Ve.fromCache(o),i}function y6e(e,t){let n=t._silhouetteId%255,i=Xe.shallowClone(e),o=He(e.renderState,!0);o.cull.enabled=!1,(e.pass===Se.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=Se.TRANSLUCENT,o.depthMask=!1,o.blending=hn.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:te.NOTEQUAL,backFunction:te.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP}};let s=He(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=Ve.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function x6e(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=b6e(o);if(r!==s){let a=T6e(r),c=He(o.renderState,!0);c.stencilTest.reference=a,o.renderState=Ve.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function b6e(e){return(e.renderState.stencilTest.reference&Vt.SKIP_LOD_MASK)>>>Vt.SKIP_LOD_BIT_SHIFT}function T6e(e){return Vt.CESIUM_3D_TILE_MASK|e<<Vt.SKIP_LOD_BIT_SHIFT}function C6e(e){let t=Xe.shallowClone(e),n=He(e.renderState,!0);n.cull.enabled=!0,n.cull.face=bi.FRONT,n.colorMask={red:!1,green:!1,blue:!1,alpha:!1},n.polygonOffset={enabled:!0,factor:5,units:5};let i=He(t.uniformMap),o=new z(5,5);return i.u_polygonOffset=function(){return o},t.renderState=Ve.fromCache(n),t.uniformMap=i,t.castShadows=!1,t.receiveShadows=!1,t}function A6e(e){let t=Xe.shallowClone(e),n=He(e.renderState,!0),{stencilTest:i}=n;return i.enabled=!0,i.mask=Vt.SKIP_LOD_MASK,i.reference=Vt.CESIUM_3D_TILE_MASK,i.frontFunction=Wn.GREATER_OR_EQUAL,i.frontOperation.zPass=dt.REPLACE,i.backFunction=Wn.GREATER_OR_EQUAL,i.backOperation.zPass=dt.REPLACE,n.stencilMask=Vt.CESIUM_3D_TILE_MASK|Vt.SKIP_LOD_MASK,t.renderState=Ve.fromCache(n),t}var bM=rz;var TM=`precision highp float; - -czm_modelVertexOutput defaultVertexOutput(vec3 positionMC) { - czm_modelVertexOutput vsOutput; - vsOutput.positionMC = positionMC; - vsOutput.pointSize = 1.0; - return vsOutput; -} -void main() +#if defined(LIGHTING_PBR) && defined(HAS_NORMALS) +vec3 computePbrLighting(in czm_modelMaterial material, in vec3 position) { - // Initialize the attributes struct with all - // attributes except quantized ones. - ProcessedAttributes attributes; - initializeAttributes(attributes); - - // Dequantize the quantized ones and add them to the - // attributes struct. - #ifdef USE_DEQUANTIZATION - dequantizationStage(attributes); + #ifdef USE_CUSTOM_LIGHT_COLOR + vec3 lightColorHdr = model_lightColorHdr; + #else + vec3 lightColorHdr = czm_lightColorHdr; #endif - #ifdef HAS_MORPH_TARGETS - morphTargetsStage(attributes); - #endif + vec3 viewDirection = -normalize(position); + vec3 normal = material.normalEC; + vec3 lightDirection = normalize(czm_lightDirectionEC); - #ifdef HAS_SKINNING - skinningStage(attributes); - #endif + vec3 directLighting = czm_pbrLighting(viewDirection, normal, lightDirection, material); + vec3 directColor = lightColorHdr * directLighting; - #ifdef HAS_PRIMITIVE_OUTLINE - primitiveOutlineStage(); + // Accumulate colors from base layer + vec3 color = directColor + material.emissive; + #ifdef USE_IBL_LIGHTING + color += computeIBL(position, normal, lightDirection, lightColorHdr, material); #endif - // Compute the bitangent according to the formula in the glTF spec. - // Normal and tangents can be affected by morphing and skinning, so - // the bitangent should not be computed until their values are finalized. - #ifdef HAS_BITANGENTS - attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC); + #ifdef USE_CLEARCOAT + color = addClearcoatReflection(color, position, lightDirection, lightColorHdr, material); #endif - FeatureIds featureIds; - featureIdStage(featureIds, attributes); + return color; +} +#endif - #ifdef HAS_SELECTED_FEATURE_ID - SelectedFeature feature; - selectedFeatureIdStage(feature, featureIds); - // Handle any show properties that come from the style. - cpuStylingStage(attributes.positionMC, feature); +/** + * Compute the material color under the current lighting conditions. + * All other material properties are passed through so further stages + * have access to them. + * + * @param {czm_modelMaterial} material The material properties from {@MaterialStageFS} + * @param {ProcessedAttributes} attributes + */ +void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attributes) +{ + #ifdef LIGHTING_PBR + #ifdef HAS_NORMALS + vec3 color = computePbrLighting(material, attributes.positionEC); + #else + vec3 color = material.diffuse * material.occlusion + material.emissive; + #endif + // In HDR mode, the frame buffer is in linear color space. The + // post-processing stages (see PostProcessStageCollection) will handle + // tonemapping. However, if HDR is not enabled, we must tonemap else large + // values may be clamped to 1.0 + #ifndef HDR + color = czm_pbrNeutralTonemapping(color); + #endif + #else // unlit + vec3 color = material.diffuse; #endif - #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) - // The scene mode 2D pipeline stage and instancing stage add a different - // model view matrix to accurately project the model to 2D. However, the - // output positions and normals should be transformed by the 3D matrices - // to keep the data the same for the fragment shader. - mat4 modelView = czm_modelView3D; - mat3 normal = czm_normal3D; - #else - // These are used for individual model projection because they will - // automatically change based on the scene mode. - mat4 modelView = czm_modelView; - mat3 normal = czm_normal; + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + // The colors resulting from point cloud styles are adjusted differently. + color = czm_gammaCorrect(color); + #elif !defined(HDR) + // If HDR is not enabled, the frame buffer stores sRGB colors rather than + // linear colors so the linear value must be converted. + color = czm_linearToSrgb(color); #endif - // Update the position for this instance in place - #ifdef HAS_INSTANCING - - // The legacy instance stage is used when rendering i3dm models that - // encode instances transforms in world space, as opposed to glTF models - // that use EXT_mesh_gpu_instancing, where instance transforms are encoded - // in object space. - #ifdef USE_LEGACY_INSTANCING - mat4 instanceModelView; - mat3 instanceModelViewInverseTranspose; - - legacyInstancingStage(attributes, instanceModelView, instanceModelViewInverseTranspose); + material.diffuse = color; +} +`;var M5e={UNLIT:0,PBR:1},_m=Object.freeze(M5e);var hce={name:"LightingPipelineStage"};hce.process=function(e,t){let{model:n,lightingOptions:i,shaderBuilder:o}=e;if(l(n.lightColor)){o.addDefine("USE_CUSTOM_LIGHT_COLOR",void 0,pe.FRAGMENT),o.addUniform("vec3","model_lightColorHdr",pe.FRAGMENT);let s=e.uniformMap;s.model_lightColorHdr=function(){return n.lightColor}}let{lightingModel:r}=i;r===_m.PBR?o.addDefine("LIGHTING_PBR",void 0,pe.FRAGMENT):o.addDefine("LIGHTING_UNLIT",void 0,pe.FRAGMENT),o.addFragmentLines($O)};var QO=hce;var JO=`// If the style color is white, it implies the feature has not been styled. +bool isDefaultStyleColor(vec3 color) +{ + return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); +} - modelView = instanceModelView; - normal = instanceModelViewInverseTranspose; - #else - instancingStage(attributes); - #endif +vec3 blend(vec3 sourceColor, vec3 styleColor, float styleColorBlend) +{ + vec3 blendColor = mix(sourceColor, styleColor, styleColorBlend); + vec3 color = isDefaultStyleColor(styleColor.rgb) ? sourceColor : blendColor; + return color; +} - #ifdef USE_PICKING - v_pickColor = a_pickColor; - #endif +vec2 computeTextureTransform(vec2 texCoord, mat3 textureTransform) +{ + return vec2(textureTransform * vec3(texCoord, 1.0)); +} +#ifdef HAS_NORMAL_TEXTURE +vec2 getNormalTexCoords() +{ + vec2 texCoord = TEXCOORD_NORMAL; + #ifdef HAS_NORMAL_TEXTURE_TRANSFORM + texCoord = vec2(u_normalTextureTransform * vec3(texCoord, 1.0)); #endif + return texCoord; +} +#endif - Metadata metadata; - MetadataClass metadataClass; - MetadataStatistics metadataStatistics; - metadataStage(metadata, metadataClass, metadataStatistics, attributes); +#if defined(HAS_NORMAL_TEXTURE) || defined(HAS_CLEARCOAT_NORMAL_TEXTURE) +vec3 computeTangent(in vec3 position, in vec2 normalTexCoords) +{ + vec2 tex_dx = dFdx(normalTexCoords); + vec2 tex_dy = dFdy(normalTexCoords); + float determinant = tex_dx.x * tex_dy.y - tex_dy.x * tex_dx.y; + vec3 tangent = tex_dy.t * dFdx(position) - tex_dx.t * dFdy(position); + return tangent / determinant; +} +#endif - #ifdef HAS_VERTICAL_EXAGGERATION - verticalExaggerationStage(attributes); - #endif +#ifdef USE_ANISOTROPY +struct NormalInfo { + vec3 tangent; + vec3 bitangent; + vec3 normal; + vec3 geometryNormal; +}; - #ifdef HAS_CUSTOM_VERTEX_SHADER - czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC); - customShaderStage(vsOutput, attributes, featureIds, metadata, metadataClass, metadataStatistics); +NormalInfo getNormalInfo(ProcessedAttributes attributes) +{ + vec3 geometryNormal = attributes.normalEC; + #ifdef HAS_NORMAL_TEXTURE + vec2 normalTexCoords = getNormalTexCoords(); #endif - // Compute the final position in each coordinate system needed. - // This returns the value that will be assigned to gl_Position. - vec4 positionClip = geometryStage(attributes, modelView, normal); - - // This must go after the geometry stage as it needs v_positionWC - #ifdef HAS_ATMOSPHERE - atmosphereStage(attributes); + #ifdef HAS_BITANGENTS + vec3 tangent = attributes.tangentEC; + vec3 bitangent = attributes.bitangentEC; + #else // Assume HAS_NORMAL_TEXTURE + vec3 tangent = computeTangent(attributes.positionEC, normalTexCoords); + tangent = normalize(tangent - geometryNormal * dot(geometryNormal, tangent)); + vec3 bitangent = normalize(cross(geometryNormal, tangent)); #endif - #ifdef ENABLE_CLIPPING_POLYGONS - modelClippingPolygonsStage(attributes); + #ifdef HAS_NORMAL_TEXTURE + mat3 tbn = mat3(tangent, bitangent, geometryNormal); + vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; + normalSample = 2.0 * normalSample - 1.0; + #ifdef HAS_NORMAL_TEXTURE_SCALE + normalSample.xy *= u_normalTextureScale; + #endif + vec3 normal = normalize(tbn * normalSample); + #else + vec3 normal = geometryNormal; #endif - #ifdef HAS_SILHOUETTE - silhouetteStage(attributes, positionClip); + #ifdef HAS_DOUBLE_SIDED_MATERIAL + if (czm_backFacing()) { + tangent *= -1.0; + bitangent *= -1.0; + normal *= -1.0; + geometryNormal *= -1.0; + } #endif - #ifdef HAS_POINT_CLOUD_SHOW_STYLE - float show = pointCloudShowStylingStage(attributes, metadata); + NormalInfo normalInfo; + normalInfo.tangent = tangent; + normalInfo.bitangent = bitangent; + normalInfo.normal = normal; + normalInfo.geometryNormal = geometryNormal; + + return normalInfo; +} +#endif + +#if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) +vec3 getNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) +{ + vec2 normalTexCoords = getNormalTexCoords(); + + // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set + #ifdef HAS_BITANGENTS + vec3 t = attributes.tangentEC; + vec3 b = attributes.bitangentEC; #else - float show = 1.0; + vec3 t = computeTangent(attributes.positionEC, normalTexCoords); + t = normalize(t - geometryNormal * dot(geometryNormal, t)); + vec3 b = normalize(cross(geometryNormal, t)); #endif - #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING - show *= pointCloudBackFaceCullingStage(); + mat3 tbn = mat3(t, b, geometryNormal); + vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; + normalSample = 2.0 * normalSample - 1.0; + #ifdef HAS_NORMAL_TEXTURE_SCALE + normalSample.xy *= u_normalTextureScale; #endif + return normalize(tbn * normalSample); +} +#endif - #ifdef HAS_POINT_CLOUD_COLOR_STYLE - v_pointCloudColor = pointCloudColorStylingStage(attributes, metadata); +#ifdef HAS_CLEARCOAT_NORMAL_TEXTURE +vec3 getClearcoatNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) +{ + vec2 normalTexCoords = TEXCOORD_CLEARCOAT_NORMAL; + #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_TRANSFORM + normalTexCoords = vec2(u_clearcoatNormalTextureTransform * vec3(normalTexCoords, 1.0)); #endif - #ifdef PRIMITIVE_TYPE_POINTS - #ifdef HAS_CUSTOM_VERTEX_SHADER - gl_PointSize = vsOutput.pointSize; - #elif defined(HAS_POINT_CLOUD_POINT_SIZE_STYLE) || defined(HAS_POINT_CLOUD_ATTENUATION) - gl_PointSize = pointCloudPointSizeStylingStage(attributes, metadata); - #else - gl_PointSize = 1.0; - #endif - - gl_PointSize *= show; + // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set + #ifdef HAS_BITANGENTS + vec3 t = attributes.tangentEC; + vec3 b = attributes.bitangentEC; + #else + vec3 t = computeTangent(attributes.positionEC, normalTexCoords); + t = normalize(t - geometryNormal * dot(geometryNormal, t)); + vec3 b = normalize(cross(geometryNormal, t)); #endif - gl_Position = show * positionClip; -} -`;var CM=` -precision highp float; -czm_modelMaterial defaultModelMaterial() -{ - czm_modelMaterial material; - material.diffuse = vec3(0.0); - material.specular = vec3(1.0); - material.roughness = 1.0; - material.occlusion = 1.0; - material.normalEC = vec3(0.0, 0.0, 1.0); - material.emissive = vec3(0.0); - material.alpha = 1.0; - return material; + mat3 tbn = mat3(t, b, geometryNormal); + vec3 normalSample = texture(u_clearcoatNormalTexture, normalTexCoords).rgb; + normalSample = 2.0 * normalSample - 1.0; + #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_SCALE + normalSample.xy *= u_clearcoatNormalTextureScale; + #endif + return normalize(tbn * normalSample); } +#endif -vec4 handleAlpha(vec3 color, float alpha) +#ifdef HAS_NORMALS +vec3 computeNormal(ProcessedAttributes attributes) { - #ifdef ALPHA_MODE_MASK - if (alpha < u_alphaCutoff) { - discard; - } + // Geometry normal. This is already normalized + vec3 normal = attributes.normalEC; + + #if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) + normal = getNormalFromTexture(attributes, normal); #endif - return vec4(color, alpha); -} + #ifdef HAS_DOUBLE_SIDED_MATERIAL + if (czm_backFacing()) { + normal = -normal; + } + #endif -SelectedFeature selectedFeature; + return normal; +} +#endif -void main() +#ifdef HAS_BASE_COLOR_TEXTURE +vec4 getBaseColorFromTexture() { - #ifdef HAS_MODEL_SPLITTER - modelSplitterStage(); + vec2 baseColorTexCoords = TEXCOORD_BASE_COLOR; + #ifdef HAS_BASE_COLOR_TEXTURE_TRANSFORM + baseColorTexCoords = computeTextureTransform(baseColorTexCoords, u_baseColorTextureTransform); #endif - czm_modelMaterial material = defaultModelMaterial(); - - ProcessedAttributes attributes; - geometryStage(attributes); - - FeatureIds featureIds; - featureIdStage(featureIds, attributes); + vec4 baseColorWithAlpha = czm_srgbToLinear(texture(u_baseColorTexture, baseColorTexCoords)); - Metadata metadata; - MetadataClass metadataClass; - MetadataStatistics metadataStatistics; - metadataStage(metadata, metadataClass, metadataStatistics, attributes); + #ifdef HAS_BASE_COLOR_FACTOR + baseColorWithAlpha *= u_baseColorFactor; + #endif - //======================================================================== - // When not picking metadata START - #ifndef METADATA_PICKING_ENABLED + return baseColorWithAlpha; +} +#endif - #ifdef HAS_SELECTED_FEATURE_ID - selectedFeatureIdStage(selectedFeature, featureIds); +#ifdef HAS_EMISSIVE_TEXTURE +vec3 getEmissiveFromTexture() +{ + vec2 emissiveTexCoords = TEXCOORD_EMISSIVE; + #ifdef HAS_EMISSIVE_TEXTURE_TRANSFORM + emissiveTexCoords = computeTextureTransform(emissiveTexCoords, u_emissiveTextureTransform); #endif - #ifndef CUSTOM_SHADER_REPLACE_MATERIAL - materialStage(material, attributes, selectedFeature); + vec3 emissive = czm_srgbToLinear(texture(u_emissiveTexture, emissiveTexCoords).rgb); + #ifdef HAS_EMISSIVE_FACTOR + emissive *= u_emissiveFactor; #endif - #ifdef HAS_CUSTOM_FRAGMENT_SHADER - customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics); - #endif + return emissive; +} +#endif - lightingStage(material, attributes); +#if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) +void setSpecularGlossiness(inout czm_modelMaterial material) +{ + #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE + vec2 specularGlossinessTexCoords = TEXCOORD_SPECULAR_GLOSSINESS; + #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE_TRANSFORM + specularGlossinessTexCoords = computeTextureTransform(specularGlossinessTexCoords, u_specularGlossinessTextureTransform); + #endif - #ifdef HAS_SELECTED_FEATURE_ID - cpuStylingStage(material, selectedFeature); - #endif + vec4 specularGlossiness = czm_srgbToLinear(texture(u_specularGlossinessTexture, specularGlossinessTexCoords)); + vec3 specular = specularGlossiness.rgb; + float glossiness = specularGlossiness.a; + #ifdef HAS_LEGACY_SPECULAR_FACTOR + specular *= u_legacySpecularFactor; + #endif - #ifdef HAS_MODEL_COLOR - modelColorStage(material); - #endif + #ifdef HAS_GLOSSINESS_FACTOR + glossiness *= u_glossinessFactor; + #endif + #else + #ifdef HAS_LEGACY_SPECULAR_FACTOR + vec3 specular = clamp(u_legacySpecularFactor, vec3(0.0), vec3(1.0)); + #else + vec3 specular = vec3(1.0); + #endif - #ifdef HAS_PRIMITIVE_OUTLINE - primitiveOutlineStage(material); + #ifdef HAS_GLOSSINESS_FACTOR + float glossiness = clamp(u_glossinessFactor, 0.0, 1.0); + #else + float glossiness = 1.0; + #endif #endif - vec4 color = handleAlpha(material.diffuse, material.alpha); - - // When not picking metadata END - //======================================================================== - #else - //======================================================================== - // When picking metadata START - - vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0); - metadataPickingStage(metadata, metadataClass, metadataValues); - vec4 color = metadataValues; + #ifdef HAS_DIFFUSE_TEXTURE + vec2 diffuseTexCoords = TEXCOORD_DIFFUSE; + #ifdef HAS_DIFFUSE_TEXTURE_TRANSFORM + diffuseTexCoords = computeTextureTransform(diffuseTexCoords, u_diffuseTextureTransform); + #endif + vec4 diffuse = czm_srgbToLinear(texture(u_diffuseTexture, diffuseTexCoords)); + #ifdef HAS_DIFFUSE_FACTOR + diffuse *= u_diffuseFactor; + #endif + #elif defined(HAS_DIFFUSE_FACTOR) + vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0)); + #else + vec4 diffuse = vec4(1.0); #endif - // When picking metadata END - //======================================================================== - #ifdef HAS_CLIPPING_PLANES - modelClippingPlanesStage(color); - #endif + material.diffuse = diffuse.rgb * (1.0 - czm_maximumComponent(specular)); + // the specular glossiness extension's alpha overrides anything set + // by the base material. + material.alpha = diffuse.a; - #ifdef ENABLE_CLIPPING_POLYGONS - modelClippingPolygonsStage(); - #endif + material.specular = specular; - //======================================================================== - // When not picking metadata START - #ifndef METADATA_PICKING_ENABLED + // glossiness is the opposite of roughness, but easier for artists to use. + material.roughness = 1.0 - glossiness; +} +#elif defined(LIGHTING_PBR) +float setMetallicRoughness(inout czm_modelMaterial material) +{ + #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE + vec2 metallicRoughnessTexCoords = TEXCOORD_METALLIC_ROUGHNESS; + #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE_TRANSFORM + metallicRoughnessTexCoords = computeTextureTransform(metallicRoughnessTexCoords, u_metallicRoughnessTextureTransform); + #endif - #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS) - silhouetteStage(color); - #endif + vec3 metallicRoughness = texture(u_metallicRoughnessTexture, metallicRoughnessTexCoords).rgb; + float metalness = clamp(metallicRoughness.b, 0.0, 1.0); + float roughness = clamp(metallicRoughness.g, 0.0, 1.0); + #ifdef HAS_METALLIC_FACTOR + metalness = clamp(metalness * u_metallicFactor, 0.0, 1.0); + #endif - #ifdef HAS_ATMOSPHERE - atmosphereStage(color, attributes); - #endif + #ifdef HAS_ROUGHNESS_FACTOR + roughness = clamp(roughness * u_roughnessFactor, 0.0, 1.0); + #endif + #else + #ifdef HAS_METALLIC_FACTOR + float metalness = clamp(u_metallicFactor, 0.0, 1.0); + #else + float metalness = 1.0; + #endif + #ifdef HAS_ROUGHNESS_FACTOR + float roughness = clamp(u_roughnessFactor, 0.0, 1.0); + #else + float roughness = 1.0; + #endif #endif - // When not picking metadata END - //======================================================================== - - out_FragColor = color; -} -`;function Tce(){}Tce.buildModelDrawCommand=function(e,t){let n=e.shaderBuilder,i=E6e(e,n,t),o=S6e(e,i,t),r=e.model;return l(r.classificationType)?new xM({primitiveRenderResources:e,command:o}):new bM({primitiveRenderResources:e,command:o})};function E6e(e,t,n){t.addVertexLines(TM),t.addFragmentLines(CM);let i=e.model,o=t.buildShaderProgram(n.context);return i._pipelineResources.push(o),o}function S6e(e,t,n){let i=v6e(e),o=new pi({context:n.context,indexBuffer:i,attributes:e.attributes}),r=e.model;r._pipelineResources.push(o);let s=e.alphaOptions.pass,a=r.sceneGraph,c=n.mode===ne.SCENE3D,u,f;if(!c&&!n.scene3DOnly&&r._projectTo2D)u=F.multiplyTransformation(a._computedModelMatrix,e.runtimeNode.computedTransform,new F),f=e.runtimePrimitive.boundingSphere2D;else{let T=c?a._computedModelMatrix:a._computedModelMatrix2D;u=F.multiplyTransformation(T,e.runtimeNode.computedTransform,new F),f=ae.transform(e.boundingSphere,u)}let d=He(Ve.fromCache(e.renderStateOptions),!0);d.cull.face=Xt.getCullFace(u,e.primitiveType),d=Ve.fromCache(d);let p=l(r.classificationType),g=p?!1:bn.castShadows(r.shadows),m=p?!1:bn.receiveShadows(r.shadows),x=p?void 0:e.pickId;return new Xe({boundingVolume:f,modelMatrix:u,uniformMap:e.uniformMap,renderState:d,vertexArray:o,shaderProgram:t,cull:r.cull,pass:s,count:e.count,owner:r,pickId:x,pickMetadataAllowed:!0,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:r.debugShowBoundingVolume,castShadows:g,receiveShadows:m})}function v6e(e){let t=e.wireframeIndexBuffer;if(l(t))return t;let n=e.indices;if(l(n))return n.buffer}var AM=Tce;function Eu(e){e=y(e,y.EMPTY_OBJECT);let t=e.modelComponents;this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=F.clone(F.IDENTITY),this._computedModelMatrix2D=F.clone(F.IDENTITY),this._axisCorrectionMatrix=Xt.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new F),this._runtimeArticulations={},w6e(this)}Object.defineProperties(Eu.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function w6e(e){let t=e._components,n=t.scene,o=e._model.modelMatrix;Cce(e,o);let r=t.articulations,s=r.length,a=e._runtimeArticulations;for(let A=0;A<s;A++){let C=r[A],E=new oO({articulation:C,sceneGraph:e}),v=E.name;a[v]=E}let c=t.nodes,u=c.length;e._runtimeNodes=new Array(u);let d=n.nodes.length,p=F.IDENTITY;for(let A=0;A<d;A++){let C=n.nodes[A],E=Ace(e,C,p);e._rootNodes.push(E)}let g=t.skins,m=e._runtimeSkins,x=g.length;for(let A=0;A<x;A++){let C=g[A];m.push(new aM({skin:C,sceneGraph:e}))}let b=e._skinnedNodes,T=b.length;for(let A=0;A<T;A++){let C=b[A],E=e._runtimeNodes[C],D=c[C].skin.index;E._runtimeSkin=m[D],E.updateJointMatrices()}e.applyArticulations()}function Cce(e,t){let n=e._components,i=e._model;e._computedModelMatrix=F.multiplyTransformation(t,n.transform,e._computedModelMatrix),e._computedModelMatrix=F.multiplyTransformation(e._computedModelMatrix,e._axisCorrectionMatrix,e._computedModelMatrix),e._computedModelMatrix=F.multiplyByUniformScale(e._computedModelMatrix,i.computedScale,e._computedModelMatrix)}var D6e=new h;function I6e(e,t){let n=e._computedModelMatrix,i=F.getTranslation(n,D6e);if(!h.equals(i,h.ZERO))e._computedModelMatrix2D=Lt.basisTo2D(t.mapProjection,n,e._computedModelMatrix2D);else{let o=e.boundingSphere.center,r=Lt.ellipsoidTo2DModelMatrix(t.mapProjection,o,e._computedModelMatrix2D);e._computedModelMatrix2D=F.multiply(r,n,e._computedModelMatrix2D)}e._boundingSphere2D=ae.transform(e._boundingSphere,e._computedModelMatrix2D,e._boundingSphere2D)}function Ace(e,t,n){let i=[],o=Xt.getNodeTransform(t),r=t.children.length;for(let f=0;f<r;f++){let d=t.children[f],p=F.multiplyTransformation(n,o,new F),g=Ace(e,d,p);i.push(g)}let s=new xO({node:t,transform:o,transformToRoot:n,children:i,sceneGraph:e}),a=t.primitives.length;for(let f=0;f<a;f++)s.runtimePrimitives.push(new sM({primitive:t.primitives[f],node:t,model:e._model}));let c=t.index;e._runtimeNodes[c]=s,l(t.skin)&&e._skinnedNodes.push(c);let u=t.name;if(l(u)){let f=e._model,d=new fO(f,s);f._nodesByName[u]=d}return c}var P6e=new h,R6e=new h,O6e=new h,M6e=new h;Eu.prototype.buildDrawCommands=function(e){let t=this._model,n=new lM(t);t.statistics.clear(),this.configurePipeline(e);let i=this.modelPipelineStages,o,r,s;for(o=0;o<i.length;o++)i[o].process(n,t,e);let a=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,P6e),c=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,R6e);for(o=0;o<this._runtimeNodes.length;o++){let u=this._runtimeNodes[o];if(!l(u))continue;u.configurePipeline();let f=u.pipelineStages,d=new pM(n,u);for(r=0;r<f.length;r++)f[r].process(d,u.node,e);let p=u.computedTransform;for(r=0;r<u.runtimePrimitives.length;r++){let g=u.runtimePrimitives[r];g.configurePipeline(e);let m=g.pipelineStages,x=new gM(d,g);for(s=0;s<m.length;s++)m[s].process(x,g.primitive,e);g.boundingSphere=ae.clone(x.boundingSphere,new ae);let b=F.multiplyByPoint(p,x.positionMin,O6e),T=F.multiplyByPoint(p,x.positionMax,M6e);h.minimumByComponent(a,b,a),h.maximumByComponent(c,T,c);let A=AM.buildModelDrawCommand(x,e);g.drawCommand=A}}this._boundingSphere=ae.fromCornerPoints(a,c,new ae),this._boundingSphere=ae.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=ae.transform(this._boundingSphere,this._components.transform,this._boundingSphere),t._boundingSphere=ae.transform(this._boundingSphere,t.modelMatrix,t._boundingSphere),t._initialRadius=t._boundingSphere.radius,t._boundingSphere.radius*=t._clampedScale};Eu.prototype.configurePipeline=function(e){let t=this.modelPipelineStages;t.length=0;let n=this._model,i=e.fog.enabled&&e.fog.renderable;l(n.color)&&t.push(Cy),!l(n.classificationType)&&(n.imageBasedLighting.enabled&&t.push(nO),n.isClippingEnabled()&&t.push(aO),n.isClippingPolygonsEnabled()&&t.push(uO),n.hasSilhouette(e)&&t.push(dM),l(n.splitDirection)&&n.splitDirection!==Nr.NONE&&t.push(mM),lr.is3DTiles(n.type)&&t.push($R),i&&t.push(eO))};Eu.prototype.update=function(e,t){let n,i,o;for(n=0;n<this._runtimeNodes.length;n++){let r=this._runtimeNodes[n];if(!l(r))continue;for(i=0;i<r.updateStages.length;i++)r.updateStages[i].update(r,this,e);let s=e.mode!==ne.SCENE3D&&this._model._projectTo2D;for(t&&!s&&this.updateJointMatrices(),i=0;i<r.runtimePrimitives.length;i++){let a=r.runtimePrimitives[i];for(o=0;o<a.updateStages.length;o++)a.updateStages[o].update(a,this)}}};Eu.prototype.updateModelMatrix=function(e,t){Cce(this,e),t.mode!==ne.SCENE3D&&I6e(this,t);let n=this._rootNodes;for(let i=0;i<n.length;i++){let o=this._runtimeNodes[n[i]];o._transformDirty=!0}};Eu.prototype.updateJointMatrices=function(){let e=this._skinnedNodes,t=e.length;for(let n=0;n<t;n++){let i=e[n];this._runtimeNodes[i].updateJointMatrices()}};function Ece(e,t,n,i,o){if(n&&!t.show)return;let r=t.children.length;for(let c=0;c<r;c++){let u=t.getChild(c);Ece(e,u,n,i,o)}let s=t.runtimePrimitives,a=s.length;for(let c=0;c<a;c++){let u=s[c];i(u,o)}}function sz(e,t,n,i){let o=e._rootNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s],c=e._runtimeNodes[a];Ece(e,c,t,n,i)}}var L6e={backFaceCulling:void 0};Eu.prototype.updateBackFaceCulling=function(e){let t=L6e;t.backFaceCulling=e,sz(this,!1,N6e,t)};function N6e(e,t){let n=e.drawCommand;n.backFaceCulling=t.backFaceCulling}var F6e={shadowMode:void 0};Eu.prototype.updateShadows=function(e){let t=F6e;t.shadowMode=e,sz(this,!1,B6e,t)};function B6e(e,t){let n=e.drawCommand;n.shadows=t.shadowMode}var k6e={debugShowBoundingVolume:void 0};Eu.prototype.updateShowBoundingVolume=function(e){let t=k6e;t.debugShowBoundingVolume=e,sz(this,!1,V6e,t)};function V6e(e,t){let n=e.drawCommand;n.debugShowBoundingVolume=t.debugShowBoundingVolume}var Sce=[],U6e={frameState:void 0,hasSilhouette:void 0};Eu.prototype.pushDrawCommands=function(e){let t=Sce;t.length=0;let n=U6e;n.hasSilhouette=this._model.hasSilhouette(e),n.frameState=e,sz(this,!0,z6e,n),e.commandList.push.apply(e.commandList,t)};function z6e(e,t){let n=t.frameState,i=t.hasSilhouette,o=n.passes,r=Sce,s=e.drawCommand;s.pushCommands(n,n.commandList),i&&!o.pick&&s.pushSilhouetteCommands(n,r)}Eu.prototype.setArticulationStage=function(e,t){let n=e.split(" ");if(n.length!==2)return;let i=n[0],o=n[1],r=this._runtimeArticulations[i];l(r)&&r.setArticulationStage(o,t)};Eu.prototype.applyArticulations=function(){let e=this._runtimeArticulations;for(let t in e)e.hasOwnProperty(t)&&e[t].apply()};var EM=Eu;function oE(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap=new St}Object.defineProperties(oE.prototype,{batchTexturesByteLength:{get:function(){let e=this._batchTextureIdMap.length,t=this._batchTextureIdMap.values,n=0;for(let i=0;i<e;i++)n+=t[i].byteLength;return n}}});oE.prototype.clear=function(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap.removeAll()};oE.prototype.addBuffer=function(e,t){if(!this._bufferIdSet.hasOwnProperty(e._id)){let n=t?2:1;this.geometryByteLength+=e.sizeInBytes*n}this._bufferIdSet[e._id]=!0};oE.prototype.addTexture=function(e){this._textureIdSet.hasOwnProperty(e._id)||(this.texturesByteLength+=e.sizeInBytes),this._textureIdSet[e._id]=!0};oE.prototype.addBatchTexture=function(e){this._batchTextureIdMap.contains(e._id)||this._batchTextureIdMap.set(e._id,e)};var SM=oE;var Ice=Bo(Kk(),1);var vce={},Tb=Uint32Array.BYTES_PER_ELEMENT;vce.parse=function(e,t){t=y(t,0);let n=new Uint8Array(e),i=new DataView(e);t+=Tb;let o=i.getUint32(t,!0);if(o!==1)throw new ce(`Only Point Cloud tile version 1 is supported. Version ${o} is not.`);t+=Tb,t+=Tb;let r=i.getUint32(t,!0);if(r===0)throw new ce("Feature table must have a byte length greater than zero");t+=Tb;let s=i.getUint32(t,!0);t+=Tb;let a=i.getUint32(t,!0);t+=Tb;let c=i.getUint32(t,!0);t+=Tb;let u=Mo(n,t,r);t+=r;let f=new Uint8Array(e,t,s);t+=s;let d,p;a>0&&(d=Mo(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new Yd(u,f),m=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=m,!l(m))throw new ce("Feature table global property: POINTS_LENGTH must be defined");let x=g.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(x)&&(x=h.unpack(x));let b=H6e(g,d);if(b.rtcCenter=x,b.pointsLength=m,!b.hasPositions){let T=G6e(g);b.positions=T,b.hasPositions=b.hasPositions||l(T)}if(!b.hasPositions)throw new ce("Either POSITION or POSITION_QUANTIZED must be defined.");if(!b.hasNormals){let T=j6e(g);b.normals=T,b.hasNormals=b.hasNormals||l(T)}if(!b.hasColors){let T=W6e(g);b.colors=T,b.hasColors=b.hasColors||l(T),b.hasConstantColor=l(b.constantColor),b.isTranslucent=l(T)&&T.isTranslucent}if(!b.hasBatchIds){let T=q6e(g);b.batchIds=T,b.hasBatchIds=b.hasBatchIds||l(T)}if(b.hasBatchIds){let T=g.getGlobalProperty("BATCH_LENGTH");if(!l(T))throw new ce("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");b.batchLength=T}return l(p)&&(p=new Uint8Array(p),b.batchTableJson=d,b.batchTableBinary=p),b};function H6e(e,t){let n=e.json,i,o,r,s=l(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=l(t)&&l(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;l(a)&&(r=a.properties);let c,u,f,d,p;if(l(s)){o=s.properties;let m=s.byteOffset,x=s.byteLength;if(!l(o)||!l(m)||!l(x))throw new ce("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(m,m+x),c=l(o.POSITION),u=l(o.RGB)||l(o.RGBA),f=l(o.NORMAL),d=l(o.BATCH_ID),p=l(o.RGBA)}let g;return l(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:bt(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:u,isTranslucent:p,hasNormals:f,hasBatchIds:d}}function G6e(e){let t=e.json,n;if(l(t.POSITION))return n=e.getPropertyArray("POSITION",X.FLOAT,3),{name:At.POSITION,semantic:At.POSITION,typedArray:n,isQuantized:!1,componentDatatype:X.FLOAT,type:sn.VEC3};if(l(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(i))throw new ce("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=65535,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(r))throw new ce("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:At.POSITION,semantic:At.POSITION,typedArray:n,isQuantized:!0,componentDatatype:X.FLOAT,type:sn.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:X.UNSIGNED_SHORT,quantizedType:sn.VEC3}}}function W6e(e){let t=e.json,n;if(l(t.RGBA))return n=e.getPropertyArray("RGBA",X.UNSIGNED_BYTE,4),{name:At.COLOR,semantic:At.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(l(t.RGB))return n=e.getPropertyArray("RGB",X.UNSIGNED_BYTE,3),{name:"COLOR",semantic:At.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(l(t.RGB565))return n=e.getPropertyArray("RGB565",X.UNSIGNED_SHORT,1),{name:"COLOR",semantic:At.COLOR,setIndex:0,typedArray:n,componentDatatype:X.FLOAT,type:sn.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(l(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",X.UNSIGNED_BYTE,4),o=i[3],r=H.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:At.COLOR,semantic:At.COLOR,setIndex:0,constantColor:r,componentDatatype:X.FLOAT,type:sn.VEC4,isQuantized:!1,isTranslucent:s}}}function j6e(e){let t=e.json,n;if(l(t.NORMAL))return n=e.getPropertyArray("NORMAL",X.FLOAT,3),{name:At.NORMAL,semantic:At.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:X.FLOAT,type:sn.VEC3};if(l(t.NORMAL_OCT16P))return n=e.getPropertyArray("NORMAL_OCT16P",X.UNSIGNED_BYTE,2),{name:At.NORMAL,semantic:At.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<8)-1,quantizedType:sn.VEC2,quantizedComponentDatatype:X.UNSIGNED_BYTE,componentDatatype:X.FLOAT,type:sn.VEC3}}function q6e(e){let t=e.json;if(l(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",X.UNSIGNED_SHORT,1);return{name:At.FEATURE_ID,semantic:At.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:X.fromTypedArray(n),type:sn.SCALAR}}}var Cb=vce;var Y6e=Tn.Components,X6e=Tn.Scene,K6e=Tn.Node,Z6e=Tn.Primitive,$6e=Tn.Attribute,wce=Tn.Quantization,Q6e=Tn.FeatureIdAttribute,J6e=Tn.Material,e9e=Tn.MetallicRoughness;function vy(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._error=void 0,this._state=mt.UNLOADED,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(vy.prototype=Object.create(Zi.prototype),vy.prototype.constructor=vy);Object.defineProperties(vy.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});vy.prototype.load=function(){if(l(this._promise))return this._promise;this._parsedContent=Cb.parse(this._arrayBuffer,this._byteOffset),this._state=mt.PROCESSING,this._promise=Promise.resolve(this)};vy.prototype.process=function(e){if(l(this._error)){let t=this._error;throw this._error=void 0,t}if(this._state===mt.READY)return!0;if(this._state===mt.PROCESSING){if(l(this._decodePromise))return!1;this._decodePromise=t9e(this,e.context)}return!1};function t9e(e,t){let i=e._parsedContent.draco,o;if(l(i)?o=Yp.decodePointCloud(i,t):o=Promise.resolve(),!!l(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return l(r)&&n9e(e,i,r),h9e(e,t),e._state=mt.READY,e}).catch(function(r){e.unload(),e._state=mt.FAILED;let s="Failed to load Draco pnts";e._error=e.getError(s,r)})}function n9e(e,t,n){e._state=mt.READY;let i=e._parsedContent,o;if(l(n.POSITION)){if(o={name:"POSITION",semantic:At.POSITION,typedArray:n.POSITION.array,componentDatatype:X.FLOAT,type:sn.VEC3,isQuantized:!1},l(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,u=h.fromElements(c,c,c),f=h.unpack(a.minValues),d=(1<<a.quantizationBits)-1;o.isQuantized=!0,o.quantizedRange=d,o.quantizedVolumeOffset=f,o.quantizedVolumeScale=u,o.quantizedComponentDatatype=d<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT,o.quantizedType=sn.VEC3}i.positions=o}if(l(n.NORMAL)){if(o={name:"NORMAL",semantic:At.NORMAL,typedArray:n.NORMAL.array,componentDatatype:X.FLOAT,type:sn.VEC3,isQuantized:!1,octEncoded:!1,octEncodedZXY:!1},l(n.NORMAL.data.quantization)){let a=(1<<n.NORMAL.data.quantization.quantizationBits)-1;o.quantizedRange=a,o.octEncoded=!0,o.octEncodedZXY=!0,o.quantizedComponentDatatype=X.UNSIGNED_BYTE,o.quantizedType=sn.VEC2}i.normals=o}if(l(n.RGBA)?i.colors={name:"COLOR",semantic:At.COLOR,setIndex:0,typedArray:n.RGBA.array,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC4,normalized:!0,isTranslucent:!0}:l(n.RGB)&&(i.colors={name:"COLOR",semantic:At.COLOR,setIndex:0,typedArray:n.RGB.array,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC3,normalized:!0,isTranslucent:!1}),l(n.BATCH_ID)){let a=n.BATCH_ID.array;i.batchIds={name:"_FEATURE_ID",semantic:At.FEATURE_ID,setIndex:0,typedArray:a,componentDatatype:X.fromTypedArray(a),type:sn.SCALAR}}let r=i.batchTableJson,s=t.batchTableProperties;for(let a in s)if(s.hasOwnProperty(a)){let c=n[a];l(r)||(r={}),i.hasDracoBatchTable=!0;let u=c.data;r[a]={byteOffset:u.byteOffset,type:i9e(u.componentsPerAttribute),componentType:o9e(u.componentDatatype),typedArray:c.array}}i.batchTableJson=r}function i9e(e){switch(e){case 1:return"SCALAR";case 2:return"VEC2";case 3:return"VEC3";case 4:return"VEC4"}}function o9e(e){switch(e){case te.BYTE:return"BYTE";case te.UNSIGNED_BYTE:return"UNSIGNED_BYTE";case te.SHORT:return"SHORT";case te.UNSIGNED_SHORT:return"UNSIGNED_SHORT";case te.INT:return"INT";case te.UNSIGNED_INT:return"UNSIGNED_INT";case te.DOUBLE:return"DOUBLE";case te.FLOAT:return"FLOAT"}}function vM(e,t,n){let i=t.typedArray,o;if(t.octEncoded&&(o=new wce,o.octEncoded=t.octEncoded,o.octEncodedZXY=t.octEncodedZXY,o.normalizationRange=t.quantizedRange,o.type=t.quantizedType,o.componentDatatype=t.quantizedComponentDatatype),t.isQuantized){o=new wce;let a=t.quantizedRange;o.normalizationRange=a,o.quantizedVolumeOffset=h.ZERO;let c=t.quantizedVolumeScale;o.quantizedVolumeDimensions=c,o.quantizedVolumeStepSize=h.divideByScalar(c,a,new h),o.componentDatatype=t.quantizedComponentDatatype,o.type=t.quantizedType}let r=new $6e;if(r.name=t.name,r.semantic=t.semantic,r.setIndex=t.setIndex,r.componentDatatype=t.componentDatatype,r.type=t.type,r.normalized=y(t.normalized,!1),r.min=t.min,r.max=t.max,r.quantization=o,t.isRGB565&&(i=Fn.decodeRGB565(i)),l(t.constantColor)){let a=new Array(4);r.constant=H.pack(t.constantColor,a)}else{let a=pt.createVertexBuffer({typedArray:i,context:n,usage:ke.STATIC_DRAW});a.vertexArrayDestroyable=!1,e._buffers.push(a),r.buffer=a}let s=e._loadAttributesFor2D;return r.semantic===At.POSITION&&s&&(r.typedArray=i),r}var Dce,az;function r9e(e){if(!l(az)){Dce=new Ice.default(0),az=new Array(e);for(let t=0;t<e;++t)az[t]=Dce.random()}return az}var s9e=new h,a9e=new h,c9e=new h;function l9e(e){let t=e.typedArray,n=20,i=t.length/3,o=Math.min(i,n),r=r9e(n),s=Number.MAX_VALUE,a=-Number.MAX_VALUE,c=h.fromElements(s,s,s,s9e),u=h.fromElements(a,a,a,a9e),f,d,p;if(e.isQuantized)c=h.ZERO,u=e.quantizedVolumeScale;else for(f=0;f<o;++f)d=Math.floor(r[f]*i),p=h.unpack(t,d*3,c9e),h.minimumByComponent(c,p,c),h.maximumByComponent(u,p,u);e.min=h.clone(c),e.max=h.clone(u)}var u9e={name:At.COLOR,semantic:At.COLOR,setIndex:0,constantColor:H.DARKGRAY,componentDatatype:X.FLOAT,type:sn.VEC4,isQuantized:!1,isTranslucent:!1};function f9e(e,t,n){let i=[],o,r=t.positions;return l(r)&&(l9e(r),o=vM(e,r,n),o.count=t.pointsLength,i.push(o)),l(t.normals)&&(o=vM(e,t.normals,n),i.push(o)),l(t.colors)?(o=vM(e,t.colors,n),i.push(o)):(o=vM(e,u9e,n),i.push(o)),l(t.batchIds)&&(o=vM(e,t.batchIds,n),i.push(o)),i}function d9e(e,t){let n=e.batchLength,i=e.pointsLength,o=e.batchTableBinary,r=!l(e.batchIds);if(l(o)||e.hasDracoBatchTable){let s=y(n,i);return o_({count:s,batchTable:e.batchTableJson,binaryBody:o,parseAsPropertyAttributes:r,customAttributeOutput:t})}return new qs({schema:{},propertyTables:[]})}function h9e(e,t){let n=e._parsedContent,i=new e9e;i.metallicFactor=0,i.roughnessFactor=.9;let o=new J6e;o.metallicRoughness=i;let r=n.colors;l(r)&&r.isTranslucent&&(o.alphaMode=um.BLEND);let s=!l(n.normals);o.unlit=s;let a=new Z6e;if(a.attributes=f9e(e,n,t),a.primitiveType=Ne.POINTS,a.material=o,l(n.batchIds)){let g=new Q6e;g.propertyTableId=0,g.setIndex=0,g.positionalLabel="featureId_0",a.featureIds.push(g)}let c=new K6e;c.index=0,c.primitives=[a];let u=new X6e;u.nodes=[c],u.upAxis=Oo.Z,u.forwardAxis=Oo.X;let f=new Y6e;f.scene=u,f.nodes=[c];let d=[];f.structuralMetadata=d9e(n,d),d.length>0&&m9e(e,a,d,t),l(n.rtcCenter)&&(f.transform=F.multiplyByTranslation(f.transform,n.rtcCenter,f.transform));let p=n.positions;l(p)&&p.isQuantized&&(f.transform=F.multiplyByTranslation(f.transform,p.quantizedVolumeOffset,f.transform)),e._components=f,e._parsedContent=void 0,e._arrayBuffer=void 0}function m9e(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=pt.createVertexBuffer({typedArray:a.typedArray,context:i,usage:ke.STATIC_DRAW});c.vertexArrayDestroyable=!1,e._buffers.push(c),a.buffer=c,a.typedArray=void 0,o.push(a)}t.propertyAttributeIds=[0]}vy.prototype.unload=function(){let e=this._buffers;for(let t=0;t<e.length;t++)e[t].destroy();e.length=0,this._components=void 0,this._parsedContent=void 0,this._arrayBuffer=void 0};var wM=vy;var p9e=new h,_9e=new h,g9e=new h,y9e=new F,x9e=new F,b9e=new F,T9e=new fe,C9e=new ae;function rE(e,t,n,i,o,r,s){if(!e._ready||n.mode===ne.MORPHING)return;let a=Number.MAX_VALUE,c=e.sceneGraph,u=c._runtimeNodes;for(let f=0;f<u.length;f++){let d=u[f],p=d.node,g=F.clone(d.computedTransform,y9e),m=F.clone(c.computedModelMatrix,x9e),x=p.instances;l(x)&&x.transformInWorldSpace&&(m=F.multiplyTransformation(e.modelMatrix,c.components.transform,m),g=F.multiplyTransformation(c.axisCorrectionMatrix,d.computedTransform,g));let b=F.multiplyTransformation(m,g,b9e);n.mode!==ne.SCENE3D&&(b=Lt.basisTo2D(n.mapProjection,b,b));let T=[];if(l(x)){let C=x.attributes[0].count,E=x.attributes[0].componentDatatype,v=12,D=d.transformsTypedArray;if(!l(D)){let O=d.instancingTransformsBuffer;l(O)&&n.context.webgl2&&(D=X.createTypedArray(E,C*v),O.getBufferData(D))}if(l(D))for(let O=0;O<C;O++){let R=O*v,M=new F(D[R],D[R+1],D[R+2],D[R+3],D[R+4],D[R+5],D[R+6],D[R+7],D[R+8],D[R+9],D[R+10],D[R+11],0,0,0,1);x.transformInWorldSpace?(F.multiplyTransformation(M,g,M),F.multiplyTransformation(m,M,M)):F.multiplyTransformation(M,b,M),T.push(M)}}T.length===0&&T.push(b);let A=d.runtimePrimitives.length;for(let C=0;C<A;C++){let E=d.runtimePrimitives[C],v=E.primitive;if(l(E.boundingSphere)&&!l(x)){let W=ae.transform(E.boundingSphere,b,C9e),Q=ni.raySphere(t,W);if(!l(Q))continue}let D=Xt.getAttributeBySemantic(v,At.POSITION),O=D.byteOffset,R=D.byteStride,M=D.count;if(!l(v.indices))continue;let N=v.indices.typedArray;if(!l(N)){let W=v.indices.buffer,Q=v.indices.count,j=v.indices.indexDatatype;l(W)&&n.context.webgl2&&(j===Fe.UNSIGNED_BYTE?N=new Uint8Array(Q):j===Fe.UNSIGNED_SHORT?N=new Uint16Array(Q):j===Fe.UNSIGNED_INT&&(N=new Uint32Array(Q)),W.getBufferData(N))}let _=D.typedArray,S=D.componentDatatype,w=D.type,I=D.quantization;l(I)&&(S=D.quantization.componentDatatype,w=D.quantization.type);let L=sn.getNumberOfComponents(w),B=X.getSizeInBytes(S),U=!l(_)&&l(R)&&R!==L*B,V=L,G=0;U&&(V=R/B,G=O/B);let k=M*V;if(!l(_)){let W=D.buffer;l(W)&&n.context.webgl2&&(_=X.createTypedArray(S,k),W.getBufferData(_,U?0:O,0,k)),I&&D.normalized&&(_=Fn.dequantize(_,S,w,M))}if(!l(N)||!l(_))return;r=y(r,ee.default),i=y(i,1),o=y(o,0);let Y=N.length;for(let W=0;W<Y;W+=3){let Q=N[W],j=N[W+1],Z=N[W+2];for(let J of T){let he=tj(_,Q,G,V,I,J,i,o,r,p9e),xe=tj(_,j,G,V,I,J,i,o,r,_9e),re=tj(_,Z,G,V,I,J,i,o,r,g9e),_e=ni.rayTriangleParametric(t,he,xe,re,y(e.backFaceCulling,!0));l(_e)&&_e<a&&_e>=0&&(a=_e)}}}}if(a!==Number.MAX_VALUE){if(s=gn.getPoint(t,a,s),n.mode!==ne.SCENE3D){h.fromElements(s.y,s.z,s.x,s);let f=n.mapProjection,d=f.ellipsoid,p=f.unproject(s,T9e);d.cartographicToCartesian(p,s)}return s}}function tj(e,t,n,i,o,r,s,a,c,u){let f=n+t*i;if(u.x=e[f],u.y=e[f+1],u.z=e[f+2],l(o))if(o.octEncoded){if(u=Fn.octDecodeInRange(u,o.normalizationRange,u),o.octEncodedZXY){let d=u.x;u.x=u.z,u.z=u.y,u.y=d}}else u=h.multiplyComponents(u,o.quantizedVolumeStepSize,u),u=h.add(u,o.quantizedVolumeOffset,u);return u=F.multiplyByPoint(r,u,u),s!==1&&Cr.getPosition(u,c,s,a,u),u}function fo(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,lr.GLTF),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=l(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=$.clone($.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new YR(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=H.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,hc.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,H.RED);this._silhouetteColor=H.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,Se.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new ae,this._initialRadius=void 0,this._heightReference=y(e.heightReference,je.NONE),this._heightDirty=this._heightReference!==je.NONE,this._removeUpdateHeightCallback=void 0,this._enableVerticalExaggeration=y(e.enableVerticalExaggeration,!0),this._hasVerticalExaggeration=!1,this._clampedModelMatrix=void 0;let o=e.scene;l(o)&&l(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(()=>{this._heightDirty=!0})),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new dm(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;l(s)&&s.owner===void 0?ps.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=F.clone(F.IDENTITY);let a=e.clippingPolygons;l(a)&&a.owner===void 0?Wd.setOwner(a,this,"_clippingPolygons"):this._clippingPolygons=a,this._clippingPolygonsState=0,this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=l(e.imageBasedLighting)?e.imageBasedLighting:new Wx,this._shouldDestroyImageBasedLighting=!l(e.imageBasedLighting),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,bn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1),this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===lr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.");let c=e.credit;typeof c=="string"&&(c=new wt(c)),this._credits=[],this._credit=c,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,Nr.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,H.BLACK),this._classificationType=e.classificationType,this._statistics=new SM,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this._fogRenderable=void 0,this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._errorEvent=new me,this._readyEvent=new me,this._texturesReadyEvent=new me,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=e.pickObject,this._marsOptions=y(e.marsOptions,{})}function nj(e,t){if(e._errorEvent.numberOfListeners>0){e._errorEvent.raiseEvent(t);return}console.log(t)}function A9e(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r<o;r++){let s=i[r],a=new ZR({model:e,propertyTable:s});n.push(a)}return n}function E9e(e,t){let n=t._featureIdLabel,i=t._instanceFeatureIdLabel,o,r,s,a;for(o=0;o<e.nodes.length;o++)if(a=e.nodes[o],l(a.instances)&&(s=Xt.getFeatureIdsByLabel(a.instances.featureIds,i),l(s)&&l(s.propertyTableId)))return s.propertyTableId;for(o=0;o<e.nodes.length;o++)for(a=e.nodes[o],r=0;r<a.primitives.length;r++){let c=a.primitives[r],u=Xt.getFeatureIdsByLabel(c.featureIds,n);if(l(u))return u.propertyTableId}if(t._featureTables.length===1)return 0}function rj(e,t){if(!l(e)&&!l(t))return!1;if(l(e)!==l(t))return!0;let n=e.alpha,i=t.alpha;return Math.floor(n)!==Math.floor(i)||Math.ceil(n)!==Math.ceil(i)}Object.defineProperties(fo.prototype,{ready:{get:function(){return this._ready}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},incrementallyLoadTextures:{get:function(){return y(this._loader.incrementallyLoadTextures,!1)}},texturesReadyEvent:{get:function(){return this._texturesReadyEvent}},loader:{get:function(){return this._loader}},statistics:{get:function(){return this._statistics}},activeAnimations:{get:function(){return this._activeAnimations}},clampAnimations:{get:function(){return this._clampAnimations},set:function(e){this._clampAnimations=e}},cull:{get:function(){return this._cull}},opaquePass:{get:function(){return this._opaquePass}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){e!==this._pointCloudShading&&this.resetDrawCommands(),this._pointCloudShading=e}},customShader:{get:function(){return this._customShader},set:function(e){e!==this._customShader&&this.resetDrawCommands(),this._customShader=e}},sceneGraph:{get:function(){return this._sceneGraph}},content:{get:function(){return this._content}},heightReference:{get:function(){return this._heightReference},set:function(e){e!==this._heightReference&&(this._heightDirty=!0),this._heightReference=e}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition)}},structuralMetadata:{get:function(){return this._sceneGraph.components.structuralMetadata}},featureTableId:{get:function(){return this._featureTableId},set:function(e){this._featureTableId=e}},featureTables:{get:function(){return this._featureTables},set:function(e){this._featureTables=e}},id:{get:function(){return this._id},set:function(e){e!==this._id&&(this._idDirty=!0),this._id=e}},allowPicking:{get:function(){return this._allowPicking}},style:{get:function(){return this._style},set:function(e){this._style=e,this._styleDirty=!0}},color:{get:function(){return this._color},set:function(e){rj(e,this._color)&&this.resetDrawCommands(),this._color=H.clone(e,this._color)}},colorBlendMode:{get:function(){return this._colorBlendMode},set:function(e){this._colorBlendMode=e}},colorBlendAmount:{get:function(){return this._colorBlendAmount},set:function(e){this._colorBlendAmount=e}},silhouetteColor:{get:function(){return this._silhouetteColor},set:function(e){if(!H.equals(e,this._silhouetteColor)){let t=rj(e,this._silhouetteColor);this._silhouetteDirty=this._silhouetteDirty||t}this._silhouetteColor=H.clone(e,this._silhouetteColor)}},silhouetteSize:{get:function(){return this._silhouetteSize},set:function(e){if(e!==this._silhouetteSize){let t=this._silhouetteSize,n=e>0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=l(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return Oce(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===lr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(ps.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){e!==this._clippingPolygons&&(Wd.setOwner(e,this,"_clippingPolygons"),this.resetDrawCommands())}},enableVerticalExaggeration:{get:function(){return this._enableVerticalExaggeration},set:function(e){e!==this._enableVerticalExaggeration&&this.resetDrawCommands(),this._enableVerticalExaggeration=e}},hasVerticalExaggeration:{get:function(){return this._hasVerticalExaggeration}},lightColor:{get:function(){return this._lightColor},set:function(e){l(e)!==l(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});fo.prototype.getNode=function(e){return this._nodesByName[e]};fo.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};fo.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};fo.prototype.getExtension=function(e){return this._loader.components.extensions[e]};fo.prototype.makeStyleDirty=function(){this._styleDirty=!0};fo.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var S9e=new F,v9e=new $,w9e=new F;fo.prototype.update=function(e){let t=!1;try{t=D9e(this,e)}catch(n){if(!this._loader.incrementallyLoadTextures&&n.name==="TextureError")nj(this,n);else{let i=Xt.getError("model",this._resource,n);nj(this,i)}}if(P9e(this,e),I9e(this,e),R9e(this,e),!this._resourcesLoaded&&t){this._resourcesLoaded=!0;let n=this._loader.components;if(!l(n)){if(this._loader.isUnloaded())return;let r=Xt.getError("model",this._resource,new ce("Failed to load model."));nj(r),this._rejectLoad=this._rejectLoad&&this._rejectLoad(r)}let i=n.structuralMetadata;l(i)&&i.propertyTableCount>0&&A9e(this,i);let o=new EM({model:this,modelComponents:n});this._sceneGraph=o,this._gltfCredits=o.components.asset.credits}if(!(!this._resourcesLoaded||e.mode===ne.MORPHING)){if(O9e(this),M9e(this),L9e(this,e),N9e(this),F9e(this,e),B9e(this,e),k9e(this,e),V9e(this,e),U9e(this,e),z9e(this,e),H9e(this,e),this._defaultTexture=e.context.defaultTexture,G9e(this,e),W9e(this,e),j9e(this),q9e(this,e),Z9e(this,e),!this._ready){e.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this)});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this)),X9e(this),$9e(this,e),Q9e(this),J9e(this,e)}};function D9e(e,t){return!e._resourcesLoaded||e._loader.incrementallyLoadTextures&&!e._texturesLoaded?(t.afterRender.push(()=>!0),e._loader.process(t)):!0}function I9e(e,t){l(e._customShader)&&e._customShader.update(t)}function P9e(e,t){if(l(e._marsOptions)&&l(e._marsOptions.customShaders)){let n=l_.getCache(e._marsOptions.customShaders);for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&n[i].update(t)}}function R9e(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function O9e(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;l(n)&&n.propertyTableCount>0&&(e.featureTableId=E9e(t,e),e._styleDirty=!0,e.resetDrawCommands())}function M9e(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function L9e(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r<i;r++)n[r].update(t),n[r].styleCommandsNeededDirty&&(o=!0);o&&Rce(e)}function Rce(e){let t=e.featureTables[e.featureTableId];e._styleCommandsNeeded=Kd.getStyleCommandsNeeded(t.featuresLength,t.batchTexture.translucentFeaturesLength)}function N9e(e){let t=e.pointCloudShading;t.attenuation!==e._attenuation&&(e.resetDrawCommands(),e._attenuation=t.attenuation),t.backFaceCulling!==e._pointCloudBackFaceCulling&&(e.resetDrawCommands(),e._pointCloudBackFaceCulling=t.backFaceCulling)}function F9e(e,t){e._silhouetteDirty&&(Mce(t)&&e.resetDrawCommands(),e._silhouetteDirty=!1)}function B9e(e,t){let n=e.hasSkipLevelOfDetail(t);n!==e._skipLevelOfDetail&&(e.resetDrawCommands(),e._skipLevelOfDetail=n)}function k9e(e,t){let n=0;e.isClippingEnabled()&&(e._clippingPlanes.owner===e&&e._clippingPlanes.update(t),n=e._clippingPlanes.clippingPlanesState),n!==e._clippingPlanesState&&(e.resetDrawCommands(),e._clippingPlanesState=n)}function V9e(e,t){let n=0;e.isClippingPolygonsEnabled()&&(e._clippingPolygons.owner===e&&(e._clippingPolygons.update(t),e._clippingPolygons.queueCommands(t)),n=e._clippingPolygons.clippingPolygonsState),n!==e._clippingPolygonsState&&(e.resetDrawCommands(),e._clippingPolygonsState=n)}function U9e(e,t){t.mode!==e._sceneMode&&(e._projectTo2D?e.resetDrawCommands():e._updateModelMatrix=!0,e._sceneMode=t.mode)}function z9e(e,t){let n=t.fog.enabled&&t.fog.renderable;n!==e._fogRenderable&&(e.resetDrawCommands(),e._fogRenderable=n)}function H9e(e,t){if(e.enableVerticalExaggeration){let n=t.verticalExaggeration!==1;e.hasVerticalExaggeration!==n&&(e.resetDrawCommands(),e._hasVerticalExaggeration=n)}else e.hasVerticalExaggeration&&(e.resetDrawCommands(),e._hasVerticalExaggeration=!1)}function G9e(e,t){e._drawCommandsBuilt||(e.destroyPipelineResources(),e._sceneGraph.buildDrawCommands(t),e._drawCommandsBuilt=!0)}function W9e(e,t){F.equals(e.modelMatrix,e._modelMatrix)||(e._updateModelMatrix=!0,e._modelMatrix=F.clone(e.modelMatrix,e._modelMatrix))}var wy=new h,ij=new fe;function j9e(e){if(!e._updateModelMatrix&&!e._heightDirty&&e._minimumPixelSize===0)return;l(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);let t=e._scene;if(!l(t)||e.heightReference===je.NONE){e._clampedModelMatrix=void 0;return}let n=y(t.ellipsoid,ee.default),i=e.modelMatrix;wy.x=i[12],wy.y=i[13],wy.z=i[14];let o=n.cartesianToCartographic(wy);if(!l(o)){e._clampedModelMatrix=void 0;return}l(e._clampedModelMatrix)||(e._clampedModelMatrix=F.clone(i,new F)),e._removeUpdateHeightCallback=t.updateHeight(o,Pce(e,n,o),e.heightReference);let r=t.getHeight(o,e.heightReference);if(l(r)){let s=Pce(e,n,o);fe.clone(o,ij),ij.height=r,s(ij)}e._heightDirty=!1,e._updateModelMatrix=!0}function q9e(e,t){if(!e._updateModelMatrix&&e._minimumPixelSize===0)return;let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;Oce(e,n),Y9e(e,n,t)}function Oce(e,t){e._clampedScale=l(e._maximumScale)?Math.min(e._scale,e._maximumScale):e._scale,e._boundingSphere.center=h.multiplyByScalar(e._sceneGraph.boundingSphere.center,e._clampedScale,e._boundingSphere.center),e._boundingSphere.radius=e._initialRadius*e._clampedScale,e._boundingSphere=ae.transform(e._boundingSphere,t,e._boundingSphere)}function Y9e(e,t,n){let i=e.scale;if(e.minimumPixelSize!==0&&!e._projectTo2D){let o=n.context,r=Math.max(o.drawingBufferWidth,o.drawingBufferHeight);F.getTranslation(t,wy),e._sceneMode!==ne.SCENE3D&&Gi.computeActualEllipsoidPosition(n,wy,wy);let s=e._boundingSphere.radius,a=eWe(wy,s,n),c=1/a;Math.min(c*(2*s),r)<e.minimumPixelSize&&(i=e.minimumPixelSize*a/(2*e._initialRadius))}e._computedScale=l(e.maximumScale)?Math.min(e.maximumScale,i):i}function X9e(e){if(!e._idDirty)return;e._idDirty=!1;let t=e._id,n=e._pickIds,i=n.length;for(let o=0;o<i;++o)n[o].object.id=t}var K9e=new $(1,0,0,0,0,1,0,-1,0);function Z9e(e,t){let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix,i=y(e.referenceMatrix,n),o=t.context,r=e._imageBasedLighting;if(r.useSphericalHarmonicCoefficients||r.useSpecularEnvironmentMaps){let s=v9e,a=S9e;a=F.multiply(o.uniformState.view3D,i,a),s=F.getRotation(a,s),s=$.transpose(s,s),e._iblReferenceFrameMatrix=$.multiply(K9e,s,e._iblReferenceFrameMatrix)}if(e.isClippingEnabled()){let s=w9e;s=F.multiply(o.uniformState.view3D,i,s),s=F.multiply(s,e._clippingPlanes.modelMatrix,s),e._clippingPlanesMatrix=F.inverseTranspose(s,e._clippingPlanesMatrix)}}function $9e(e,t){let n=e._sceneGraph;if(e._updateModelMatrix||e._minimumPixelSize!==0){let o=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;n.updateModelMatrix(o,t),e._updateModelMatrix=!1}e._backFaceCullingDirty&&(n.updateBackFaceCulling(e._backFaceCulling),e._backFaceCullingDirty=!1),e._shadowsDirty&&(n.updateShadows(e._shadows),e._shadowsDirty=!1),e._debugShowBoundingVolumeDirty&&(n.updateShowBoundingVolume(e._debugShowBoundingVolume),e._debugShowBoundingVolumeDirty=!1);let i=!1;l(e.classificationType)||(i=e._userAnimationDirty||e._activeAnimations.update(t)),n.update(t,i),e._userAnimationDirty=!1}function Q9e(e){if(!e._showCreditsOnScreenDirty)return;e._showCreditsOnScreenDirty=!1,e._credits.length=0;let t=e._showCreditsOnScreen;if(l(e._credit)){let s=wt.clone(e._credit);s.showOnScreen=s.showOnScreen||t,e._credits.push(s)}let n=e._resourceCredits,i=n.length;for(let s=0;s<i;s++){let a=wt.clone(n[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}let o=e._gltfCredits,r=o.length;for(let s=0;s<r;s++){let a=wt.clone(o[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}}function J9e(e,t){let n=nWe(e,t),i=e.isInvisible(),o=e.hasSilhouette(t),r=e._show&&e._computedScale!==0&&n&&(!i||o),s=t.passes,a=s.render||s.pick&&e.allowPicking;r&&!e._ignoreCommands&&a&&(iWe(e,t),e._sceneGraph.pushDrawCommands(t))}var oj=new ae;function eWe(e,t,n){return oj.center=e,oj.radius=t,n.camera.getPixelSize(oj,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}var cz=new h;function Pce(e,t,n){return function(i){$C(e.heightReference)&&(i.height+=n.height),t.cartographicToCartesian(i,cz);let o=e._clampedModelMatrix;F.clone(e.modelMatrix,o),o[12]=cz.x,o[13]=cz.y,o[14]=cz.z,e._heightDirty=!0}}var tWe=new h;function nWe(e,t){let n=e.distanceDisplayCondition;if(!l(n))return!0;let i=n.near*n.near,o=n.far*n.far,r;if(t.mode===ne.SCENE2D){let a=(t.camera.frustum.right-t.camera.frustum.left)*.5;r=a*a}else{let s=F.getTranslation(e.modelMatrix,tWe);Gi.computeActualEllipsoidPosition(t,s,s),r=h.distanceSquared(s,t.camera.positionWC)}return r>=i&&r<=o}function iWe(e,t){let n=t.creditDisplay,i=e._credits,o=i.length;for(let r=0;r<o;r++)n.addCreditToNextFrame(i[r])}fo.prototype.isTranslucent=function(){let e=this.color;return l(e)&&e.alpha>0&&e.alpha<1};fo.prototype.isInvisible=function(){let e=this.color;return l(e)&&e.alpha===0};function Mce(e){return e.context.stencilBuffer}fo.prototype.hasSilhouette=function(e){return Mce(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!l(this._classificationType)};fo.prototype.hasSkipLevelOfDetail=function(e){if(!lr.is3DTiles(this.type))return!1;let t=e.context.stencilBuffer,n=this._content.tileset;return t&&n.isSkippingLevelOfDetail};fo.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return l(e)&&e.enabled&&e.length!==0};fo.prototype.pick=function(e,t,n,i,o){return rE(this,e,t,n,i,o)};fo.prototype.isClippingPolygonsEnabled=function(){let e=this._clippingPolygons;return l(e)&&e.enabled&&e.length!==0};fo.prototype.isDestroyed=function(){return!1};fo.prototype.destroy=function(){let e=this._loader;l(e)&&e.destroy();let t=this._featureTables;if(l(t)){let o=t.length;for(let r=0;r<o;r++)t[r].destroy()}this.destroyPipelineResources(),this.destroyModelResources(),l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),l(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0);let n=this._clippingPlanes;l(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0;let i=this._clippingPolygons;l(i)&&!i.isDestroyed()&&i.owner===this&&i.destroy(),this._clippingPolygons=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,ue(this)};fo.prototype.destroyPipelineResources=function(){let e=this._pipelineResources;for(let t=0;t<e.length;t++)e[t].destroy();this._pipelineResources.length=0,this._pickIds.length=0};fo.prototype.destroyModelResources=function(){let e=this._modelResources;for(let t=0;t<e.length;t++)e[t].destroy();this._modelResources.length=0};fo.fromGltfAsync=async function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.url,e.gltf),n={releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},i=y(e.basePath,""),o=we.createIfNeeded(i);l(t.asset)?(n.gltfJson=t,n.baseResource=o,n.gltfResource=o):t instanceof Uint8Array?(n.typedArray=t,n.baseResource=o,n.gltfResource=o):n.gltfResource=we.createIfNeeded(t);let r=new e_(n),a=l(e.content)?lr.TILE_GLTF:lr.GLTF,c=n.gltfResource,u=DM(r,a,e);u.resource=c;try{await r.load()}catch(g){throw r.destroy(),Xt.getError("model",c,g)}let f=e.gltfCallback;l(f)&&f(r.gltfJson);let d=new fo(u),p=d._resource.credits;if(l(p)){let g=p.length;for(let m=0;m<g;m++)d._resourceCredits.push(wt.clone(p[m]))}return d};fo.fromB3dm=async function(e){let t={b3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},n=new kR(t);try{await n.load();let i=DM(n,lr.TILE_B3DM,e);return new fo(i)}catch(i){throw n.destroy(),i}};fo.fromPnts=async function(e){let t={arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,loadAttributesFor2D:e.projectTo2D},n=new wM(t);try{await n.load();let i=DM(n,lr.TILE_PNTS,e);return new fo(i)}catch(i){throw n.destroy(),i}};fo.fromI3dm=async function(e){let t={i3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline},n=new zR(t);try{await n.load();let i=DM(n,lr.TILE_I3DM,e);return new fo(i)}catch(i){throw n.destroy(),i}};fo.fromGeoJson=async function(e){let t={geoJson:e.geoJson},n=new VR(t),i=DM(n,lr.TILE_GEOJSON,e);return new fo(i)};var oWe=new H;fo.prototype.applyColorAndShow=function(e){let t=H.clone(this._color,oWe),n=l(e)&&l(e.color),i=l(e)&&l(e.show);this._color=n?e.color.evaluateColor(void 0,this._color):H.clone(H.WHITE,this._color),this._show=i?e.show.evaluate(void 0):!0,rj(t,this._color)&&this.resetDrawCommands()};fo.prototype.applyStyle=function(e){let t=this.type===lr.TILE_PNTS,n=l(this.featureTableId)&&this.featureTables[this.featureTableId].featuresLength>0,i=l(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=l(i)&&l(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),Rce(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function DM(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,enableVerticalExaggeration:n.enableVerticalExaggeration,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,clippingPolygons:n.clippingPolygons,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,enablePick:n.enablePick,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType,pickObject:n.pickObject,marsOptions:n.marsOptions}}var Zd=fo;function gs(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(gs.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return l(t)&&l(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(l(t)&&l(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});gs.prototype.getExtension=function(e){return this._model.getExtension(e)};gs.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};gs.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return l(i)?n.featureTables[i].hasProperty(e,t):!1};gs.prototype.applyDebugSettings=function(e,t){t=e?t:H.WHITE,this.featuresLength===0?this._model.color=t:l(this.batchTable)&&this.batchTable.setAllColor(t)};gs.prototype.applyStyle=function(e){this._model.style=e};gs.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,l(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0),l(o)&&l(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o,n._clippingPlanesState=0);let r=e.clippingPolygons;l(r)&&i.clippingPolygonsDirty&&(n._clippingPolygons=r.enabled&&i._isClippedByPolygon?r:void 0),l(r)&&l(n._clippingPolygons)&&n._clippingPolygons!==r&&(n._clippingPolygons=r,n._clippingPolygonsState=0),n.update(t),!this._ready&&n.ready&&(n.activeAnimations.addAll({loop:Nl.REPEAT}),this._ready=!0)};gs.prototype.isDestroyed=function(){return!1};gs.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),ue(this)};gs.fromGltf=async function(e,t,n,i){let o=new gs(e,t,n),s=IM(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=await Zd.fromGltfAsync(s);return o._model=c,o};gs.fromB3dm=async function(e,t,n,i,o){let r=new gs(e,t,n),a=IM(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let u=await Zd.fromB3dm(a);return r._model=u,r};gs.fromI3dm=async function(e,t,n,i,o){let r=new gs(e,t,n),a=IM(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await Zd.fromI3dm(a);return r._model=c,r};gs.fromPnts=async function(e,t,n,i,o){let r=new gs(e,t,n),a=IM(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await Zd.fromPnts(a);return r._model=c,r};gs.fromGeoJson=async function(e,t,n,i){let o=new gs(e,t,n),s=IM(e,t,o,{geoJson:i,resource:n}),a=await Zd.fromGeoJson(s);return o._model=a,o};gs.prototype.pick=function(e,t,n){if(!l(this._model)||!this._ready)return;let i=t.verticalExaggeration,o=t.verticalExaggerationRelativeHeight;return this._model.pick(e,t,i,o,ee.WGS84,n)};function IM(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:Se.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enablePick:e._enablePick,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor,marsOptions:e._marsOptions};return bt(i,o)}var mm=gs;function wf(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(wf.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});wf.fromJson=function(e,t,n,i){let o=new wf(e,t,n);return o._tileset.loadTileset(o._resource,i,o._tile),o._ready=!0,o};wf.prototype.hasProperty=function(e,t){return!1};wf.prototype.getFeature=function(e){};wf.prototype.applyDebugSettings=function(e,t){};wf.prototype.applyStyle=function(e){};wf.prototype.update=function(e,t){};wf.prototype.pick=function(e,t,n){};wf.prototype.isDestroyed=function(){return!1};wf.prototype.destroy=function(){return ue(this)};var PM=wf;var RM=`uniform sampler2D u_atlas; - -#ifdef VECTOR_TILE -uniform vec4 u_highlightColor; -#endif - -in vec2 v_textureCoordinates; -in vec4 v_pickColor; -in vec4 v_color; -in float v_splitDirection; -#ifdef SDF -in vec4 v_outlineColor; -in float v_outlineWidth; -#endif + // dielectrics use f0 = 0.04, metals use albedo as f0 + const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); + vec3 f0 = mix(REFLECTANCE_DIELECTRIC, material.baseColor.rgb, metalness); -#ifdef FRAGMENT_DEPTH_CHECK -in vec4 v_textureCoordinateBounds; // the min and max x and y values for the texture coordinates -in vec4 v_originTextureCoordinateAndTranslate; // texture coordinate at the origin, billboard translate (used for label glyphs) -in vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize -in mat2 v_rotationMatrix; + material.specular = f0; -const float SHIFT_LEFT12 = 4096.0; -const float SHIFT_LEFT1 = 2.0; + // diffuse only applies to dielectrics. + material.diffuse = mix(material.baseColor.rgb, vec3(0.0), metalness); -const float SHIFT_RIGHT12 = 1.0 / 4096.0; -const float SHIFT_RIGHT1 = 1.0 / 2.0; + // This is perceptual roughness. The square of this value is used for direct lighting + material.roughness = roughness; -float getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize) + return metalness; +} +#ifdef USE_SPECULAR +void setSpecular(inout czm_modelMaterial material, in float metalness) { - vec2 lookupVector = imageSize * (depthLookupST - adjustedST); - lookupVector = v_rotationMatrix * lookupVector; - vec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y)); // aligns label glyph with bounding rectangle. Will be zero for billboards because dimensions and imageSize will be equal - - vec2 translation = v_originTextureCoordinateAndTranslate.zw; - - if (applyTranslate) - { - // this is only needed for labels where the horizontal origin is not LEFT - // it moves the label back to where the "origin" should be since all label glyphs are set to HorizontalOrigin.LEFT - translation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0)); - } - - vec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw; - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); - - if (logDepthOrDepth == 0.0) - { - return 0.0; // not on the globe - } + #ifdef HAS_SPECULAR_TEXTURE + vec2 specularTexCoords = TEXCOORD_SPECULAR; + #ifdef HAS_SPECULAR_TEXTURE_TRANSFORM + specularTexCoords = computeTextureTransform(specularTexCoords, u_specularTextureTransform); + #endif + float specularWeight = texture(u_specularTexture, specularTexCoords).a; + #ifdef HAS_SPECULAR_FACTOR + specularWeight *= u_specularFactor; + #endif + #else + #ifdef HAS_SPECULAR_FACTOR + float specularWeight = u_specularFactor; + #else + float specularWeight = 1.0; + #endif + #endif - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); - return eyeCoordinate.z / eyeCoordinate.w; + #ifdef HAS_SPECULAR_COLOR_TEXTURE + vec2 specularColorTexCoords = TEXCOORD_SPECULAR_COLOR; + #ifdef HAS_SPECULAR_COLOR_TEXTURE_TRANSFORM + specularColorTexCoords = computeTextureTransform(specularColorTexCoords, u_specularColorTextureTransform); + #endif + vec3 specularColorSample = texture(u_specularColorTexture, specularColorTexCoords).rgb; + vec3 specularColorFactor = czm_srgbToLinear(specularColorSample); + #ifdef HAS_SPECULAR_COLOR_FACTOR + specularColorFactor *= u_specularColorFactor; + #endif + #else + #ifdef HAS_SPECULAR_COLOR_FACTOR + vec3 specularColorFactor = u_specularColorFactor; + #else + vec3 specularColorFactor = vec3(1.0); + #endif + #endif + material.specularWeight = specularWeight; + vec3 f0 = material.specular; + vec3 dielectricSpecularF0 = min(f0 * specularColorFactor, vec3(1.0)); + material.specular = mix(dielectricSpecularF0, material.baseColor.rgb, metalness); } #endif +#ifdef USE_ANISOTROPY +void setAnisotropy(inout czm_modelMaterial material, in NormalInfo normalInfo) +{ + mat2 rotation = mat2(u_anisotropy.xy, -u_anisotropy.y, u_anisotropy.x); + float anisotropyStrength = u_anisotropy.z; + vec2 direction = vec2(1.0, 0.0); + #ifdef HAS_ANISOTROPY_TEXTURE + vec2 anisotropyTexCoords = TEXCOORD_ANISOTROPY; + #ifdef HAS_ANISOTROPY_TEXTURE_TRANSFORM + anisotropyTexCoords = computeTextureTransform(anisotropyTexCoords, u_anisotropyTextureTransform); + #endif + vec3 anisotropySample = texture(u_anisotropyTexture, anisotropyTexCoords).rgb; + direction = anisotropySample.rg * 2.0 - vec2(1.0); + anisotropyStrength *= anisotropySample.b; + #endif -#ifdef SDF + direction = rotation * direction; + mat3 tbn = mat3(normalInfo.tangent, normalInfo.bitangent, normalInfo.normal); + vec3 anisotropicT = tbn * normalize(vec3(direction, 0.0)); + vec3 anisotropicB = cross(normalInfo.geometryNormal, anisotropicT); -// Get the distance from the edge of a glyph at a given position sampling an SDF texture. -float getDistance(vec2 position) -{ - return texture(u_atlas, position).r; + material.anisotropicT = anisotropicT; + material.anisotropicB = anisotropicB; + material.anisotropyStrength = anisotropyStrength; } - -// Samples the sdf texture at the given position and produces a color based on the fill color and the outline. -vec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing) +#endif +#ifdef USE_CLEARCOAT +void setClearcoat(inout czm_modelMaterial material, in ProcessedAttributes attributes) { - float distance = getDistance(position); - - if (outlineWidth > 0.0) - { - // Don't get the outline edge exceed the SDF_EDGE - float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE); - float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); - vec4 sdfColor = mix(outlineColor, v_color, outlineFactor); - float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance); - return vec4(sdfColor.rgb, sdfColor.a * alpha); - } - else - { - float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); - return vec4(v_color.rgb, v_color.a * alpha); - } + #ifdef HAS_CLEARCOAT_TEXTURE + vec2 clearcoatTexCoords = TEXCOORD_CLEARCOAT; + #ifdef HAS_CLEARCOAT_TEXTURE_TRANSFORM + clearcoatTexCoords = computeTextureTransform(clearcoatTexCoords, u_clearcoatTextureTransform); + #endif + float clearcoatFactor = texture(u_clearcoatTexture, clearcoatTexCoords).r; + #ifdef HAS_CLEARCOAT_FACTOR + clearcoatFactor *= u_clearcoatFactor; + #endif + #else + #ifdef HAS_CLEARCOAT_FACTOR + float clearcoatFactor = u_clearcoatFactor; + #else + // PERFORMANCE_IDEA: this case should turn the whole extension off + float clearcoatFactor = 0.0; + #endif + #endif + + #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE + vec2 clearcoatRoughnessTexCoords = TEXCOORD_CLEARCOAT_ROUGHNESS; + #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE_TRANSFORM + clearcoatRoughnessTexCoords = computeTextureTransform(clearcoatRoughnessTexCoords, u_clearcoatRoughnessTextureTransform); + #endif + float clearcoatRoughness = texture(u_clearcoatRoughnessTexture, clearcoatRoughnessTexCoords).g; + #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR + clearcoatRoughness *= u_clearcoatRoughnessFactor; + #endif + #else + #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR + float clearcoatRoughness = u_clearcoatRoughnessFactor; + #else + float clearcoatRoughness = 0.0; + #endif + #endif + + material.clearcoatFactor = clearcoatFactor; + // This is perceptual roughness. The square of this value is used for direct lighting + material.clearcoatRoughness = clearcoatRoughness; + #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE + material.clearcoatNormal = getClearcoatNormalFromTexture(attributes, attributes.normalEC); + #else + material.clearcoatNormal = attributes.normalEC; + #endif } #endif +#endif -void main() +void materialStage(inout czm_modelMaterial material, ProcessedAttributes attributes, SelectedFeature feature) { - if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; - - vec4 color = texture(u_atlas, v_textureCoordinates); + #ifdef USE_ANISOTROPY + NormalInfo normalInfo = getNormalInfo(attributes); + material.normalEC = normalInfo.normal; + #elif defined(HAS_NORMALS) + material.normalEC = computeNormal(attributes); + #endif -#ifdef SDF - float outlineWidth = v_outlineWidth; - vec4 outlineColor = v_outlineColor; + vec4 baseColorWithAlpha = vec4(1.0); + // Regardless of whether we use PBR, set a base color + #ifdef HAS_BASE_COLOR_TEXTURE + baseColorWithAlpha = getBaseColorFromTexture(); + #elif defined(HAS_BASE_COLOR_FACTOR) + baseColorWithAlpha = u_baseColorFactor; + #endif - // Get the current distance - float distance = getDistance(v_textureCoordinates); + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + baseColorWithAlpha = v_pointCloudColor; + #elif defined(HAS_COLOR_0) + vec4 color = attributes.color_0; + // .pnts files store colors in the sRGB color space + #ifdef HAS_SRGB_COLOR + color = czm_srgbToLinear(color); + #endif + baseColorWithAlpha *= color; + #endif -#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) - float smoothing = fwidth(distance); - // Get an offset that is approximately half the distance to the neighbor pixels - // 0.354 is approximately half of 1/sqrt(2) - vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates)); + #ifdef USE_CPU_STYLING + baseColorWithAlpha.rgb = blend(baseColorWithAlpha.rgb, feature.color.rgb, model_colorBlend); + #endif + material.baseColor = baseColorWithAlpha; + material.diffuse = baseColorWithAlpha.rgb; + material.alpha = baseColorWithAlpha.a; - // Sample the center point - vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); + #ifdef HAS_OCCLUSION_TEXTURE + vec2 occlusionTexCoords = TEXCOORD_OCCLUSION; + #ifdef HAS_OCCLUSION_TEXTURE_TRANSFORM + occlusionTexCoords = computeTextureTransform(occlusionTexCoords, u_occlusionTextureTransform); + #endif + material.occlusion = texture(u_occlusionTexture, occlusionTexCoords).r; + #endif - // Sample the 4 neighbors - vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); - vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); - vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); - vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + #ifdef HAS_EMISSIVE_TEXTURE + material.emissive = getEmissiveFromTexture(); + #elif defined(HAS_EMISSIVE_FACTOR) + material.emissive = u_emissiveFactor; + #endif - // Equally weight the center sample and the 4 neighboring samples - color = (center + color1 + color2 + color3 + color4)/5.0; -#else - // If no derivatives available (IE 10?), just do a single sample - float smoothing = 1.0/32.0; - color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); -#endif + #if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) + setSpecularGlossiness(material); + #elif defined(LIGHTING_PBR) + float metalness = setMetallicRoughness(material); + #ifdef USE_SPECULAR + setSpecular(material, metalness); + #endif + #ifdef USE_ANISOTROPY + setAnisotropy(material, normalInfo); + #endif + #ifdef USE_CLEARCOAT + setClearcoat(material, attributes); + #endif + #endif +} +`;var{Material:L5e,MetallicRoughness:tj,SpecularGlossiness:nj,Specular:mce,Clearcoat:pce}=Cn,_ce={name:"MaterialPipelineStage",_processTexture:Fl,_processTextureTransform:gce};_ce.process=function(e,t,n){let i=t.material,{model:o,uniformMap:r,shaderBuilder:s}=e,a=l(o.classificationType),c=a,{defaultTexture:u,defaultNormalTexture:f,defaultEmissiveTexture:d}=n.context;F5e(i,r,s,u,f,d,c),l(i.specularGlossiness)?B5e(i.specularGlossiness,r,s,u,c):(l(i.specular)&&Zt.supportedExtensions.KHR_materials_specular&&k5e(i.specular,r,s,u,c),l(i.anisotropy)&&Zt.supportedExtensions.KHR_materials_anisotropy&&U5e(i.anisotropy,r,s,u,c),l(i.clearcoat)&&Zt.supportedExtensions.KHR_materials_clearcoat&&z5e(i.clearcoat,r,s,u,c),H5e(i.metallicRoughness,r,s,u,c));let p=Zt.getAttributeBySemantic(t,St.NORMAL),g=e.lightingOptions;i.unlit||!p||a?g.lightingModel=_m.UNLIT:g.lightingModel=_m.PBR;let m=o.backFaceCulling&&!i.doubleSided;e.renderStateOptions.cull.enabled=m;let x=e.alphaOptions;i.alphaMode===hm.BLEND?x.pass=ve.TRANSLUCENT:i.alphaMode===hm.MASK&&(x.alphaCutoff=i.alphaCutoff),s.addFragmentLines(JO),i.doubleSided&&s.addDefine("HAS_DOUBLE_SIDED_MATERIAL",void 0,pe.BOTH)};function gce(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_TRANSFORM`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Transform`;e.addUniform("mat3",s,pe.FRAGMENT),t[s]=function(){return n.transform}}function N5e(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_SCALE`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Scale`;e.addUniform("float",s,pe.FRAGMENT),t[s]=function(){return n.scale}}function Fl(e,t,n,i,o,r){e.addUniform("sampler2D",i,pe.FRAGMENT),t[i]=function(){return y(n.texture,r)};let s=`HAS_${o}_TEXTURE`;e.addDefine(s,void 0,pe.FRAGMENT);let c=`v_texCoord_${n.texCoord}`,u=`TEXCOORD_${o}`;e.addDefine(u,c,pe.FRAGMENT);let f=n.transform;l(f)&&!$.equals(f,$.IDENTITY)&&gce(e,t,n,i,o);let{scale:d}=n;l(d)&&d!==1&&N5e(e,t,n,i,o)}function F5e(e,t,n,i,o,r,s){let{emissiveFactor:a,emissiveTexture:c,normalTexture:u,occlusionTexture:f}=e;l(a)&&!h.equals(a,L5e.DEFAULT_EMISSIVE_FACTOR)&&(n.addUniform("vec3","u_emissiveFactor",pe.FRAGMENT),t.u_emissiveFactor=function(){return e.emissiveFactor},n.addDefine("HAS_EMISSIVE_FACTOR",void 0,pe.FRAGMENT),l(c)&&!s&&Fl(n,t,c,"u_emissiveTexture","EMISSIVE",r)),l(u)&&!s&&Fl(n,t,u,"u_normalTexture","NORMAL",o),l(f)&&!s&&Fl(n,t,f,"u_occlusionTexture","OCCLUSION",i)}function B5e(e,t,n,i,o){let{diffuseTexture:r,diffuseFactor:s,specularGlossinessTexture:a,specularFactor:c,glossinessFactor:u}=e;n.addDefine("USE_SPECULAR_GLOSSINESS",void 0,pe.FRAGMENT),l(r)&&!o&&Fl(n,t,r,"u_diffuseTexture","DIFFUSE",i),l(s)&&!ie.equals(s,nj.DEFAULT_DIFFUSE_FACTOR)&&(n.addUniform("vec4","u_diffuseFactor",pe.FRAGMENT),t.u_diffuseFactor=function(){return e.diffuseFactor},n.addDefine("HAS_DIFFUSE_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&Fl(n,t,a,"u_specularGlossinessTexture","SPECULAR_GLOSSINESS",i),l(c)&&!h.equals(c,nj.DEFAULT_SPECULAR_FACTOR)&&(n.addUniform("vec3","u_legacySpecularFactor",pe.FRAGMENT),t.u_legacySpecularFactor=function(){return e.specularFactor},n.addDefine("HAS_LEGACY_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(u)&&u!==nj.DEFAULT_GLOSSINESS_FACTOR&&(n.addUniform("float","u_glossinessFactor",pe.FRAGMENT),t.u_glossinessFactor=function(){return e.glossinessFactor},n.addDefine("HAS_GLOSSINESS_FACTOR",void 0,pe.FRAGMENT))}function k5e(e,t,n,i,o){let{specularTexture:r,specularFactor:s,specularColorTexture:a,specularColorFactor:c}=e;n.addDefine("USE_SPECULAR",void 0,pe.FRAGMENT),l(r)&&!o&&Fl(n,t,r,"u_specularTexture","SPECULAR",i),l(s)&&s!==mce.DEFAULT_SPECULAR_FACTOR&&(n.addUniform("float","u_specularFactor",pe.FRAGMENT),t.u_specularFactor=function(){return e.specularFactor},n.addDefine("HAS_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&Fl(n,t,a,"u_specularColorTexture","SPECULAR_COLOR",i),l(c)&&!h.equals(c,mce.DEFAULT_SPECULAR_COLOR_FACTOR)&&(n.addUniform("vec3","u_specularColorFactor",pe.FRAGMENT),t.u_specularColorFactor=function(){return e.specularColorFactor},n.addDefine("HAS_SPECULAR_COLOR_FACTOR",void 0,pe.FRAGMENT))}var V5e=new h;function U5e(e,t,n,i,o){let{anisotropyStrength:r,anisotropyRotation:s,anisotropyTexture:a}=e;n.addDefine("USE_ANISOTROPY",void 0,pe.FRAGMENT),l(a)&&!o&&Fl(n,t,a,"u_anisotropyTexture","ANISOTROPY",i);let c=Math.cos(s),u=Math.sin(s);n.addUniform("vec3","u_anisotropy",pe.FRAGMENT),t.u_anisotropy=function(){return h.fromElements(c,u,r,V5e)}}function z5e(e,t,n,i,o){let{clearcoatFactor:r,clearcoatTexture:s,clearcoatRoughnessFactor:a,clearcoatRoughnessTexture:c,clearcoatNormalTexture:u}=e;n.addDefine("USE_CLEARCOAT",void 0,pe.FRAGMENT),l(r)&&r!==pce.DEFAULT_CLEARCOAT_FACTOR&&(n.addUniform("float","u_clearcoatFactor",pe.FRAGMENT),t.u_clearcoatFactor=function(){return e.clearcoatFactor},n.addDefine("HAS_CLEARCOAT_FACTOR",void 0,pe.FRAGMENT)),l(s)&&!o&&Fl(n,t,s,"u_clearcoatTexture","CLEARCOAT",i),l(a)&&r!==pce.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_clearcoatRoughnessFactor",pe.FRAGMENT),t.u_clearcoatRoughnessFactor=function(){return e.clearcoatRoughnessFactor},n.addDefine("HAS_CLEARCOAT_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT)),l(c)&&!o&&Fl(n,t,c,"u_clearcoatRoughnessTexture","CLEARCOAT_ROUGHNESS",i),l(u)&&!o&&Fl(n,t,u,"u_clearcoatNormalTexture","CLEARCOAT_NORMAL",i)}function H5e(e,t,n,i,o){n.addDefine("USE_METALLIC_ROUGHNESS",void 0,pe.FRAGMENT);let r=e.baseColorTexture;l(r)&&!o&&Fl(n,t,r,"u_baseColorTexture","BASE_COLOR",i);let s=e.baseColorFactor;l(s)&&!ie.equals(s,tj.DEFAULT_BASE_COLOR_FACTOR)&&(n.addUniform("vec4","u_baseColorFactor",pe.FRAGMENT),t.u_baseColorFactor=function(){return e.baseColorFactor},n.addDefine("HAS_BASE_COLOR_FACTOR",void 0,pe.FRAGMENT));let a=e.metallicRoughnessTexture;l(a)&&!o&&Fl(n,t,a,"u_metallicRoughnessTexture","METALLIC_ROUGHNESS",i);let c=e.metallicFactor;l(c)&&c!==tj.DEFAULT_METALLIC_FACTOR&&(n.addUniform("float","u_metallicFactor",pe.FRAGMENT),t.u_metallicFactor=function(){return e.metallicFactor},n.addDefine("HAS_METALLIC_FACTOR",void 0,pe.FRAGMENT));let u=e.roughnessFactor;l(u)&&u!==tj.DEFAULT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_roughnessFactor",pe.FRAGMENT),t.u_roughnessFactor=function(){return e.roughnessFactor},n.addDefine("HAS_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT))}var eM=_ce;var el={name:"MetadataPickingPipelineStage",METADATA_PICKING_ENABLED:"METADATA_PICKING_ENABLED",METADATA_PICKING_VALUE_TYPE:"METADATA_PICKING_VALUE_TYPE",METADATA_PICKING_VALUE_STRING:"METADATA_PICKING_VALUE_STRING",METADATA_PICKING_VALUE_COMPONENT_X:"METADATA_PICKING_VALUE_COMPONENT_X",METADATA_PICKING_VALUE_COMPONENT_Y:"METADATA_PICKING_VALUE_COMPONENT_Y",METADATA_PICKING_VALUE_COMPONENT_Z:"METADATA_PICKING_VALUE_COMPONENT_Z",METADATA_PICKING_VALUE_COMPONENT_W:"METADATA_PICKING_VALUE_COMPONENT_W"};el.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine(el.METADATA_PICKING_VALUE_TYPE,"float",pe.FRAGMENT),i.addDefine(el.METADATA_PICKING_VALUE_STRING,"0.0",pe.FRAGMENT),i.addDefine(el.METADATA_PICKING_VALUE_COMPONENT_X,"0.0",pe.FRAGMENT),i.addDefine(el.METADATA_PICKING_VALUE_COMPONENT_Y,"0.0",pe.FRAGMENT),i.addDefine(el.METADATA_PICKING_VALUE_COMPONENT_Z,"0.0",pe.FRAGMENT),i.addDefine(el.METADATA_PICKING_VALUE_COMPONENT_W,"0.0",pe.FRAGMENT),i.addFunction("metadataPickingStage","void metadataPickingStage(Metadata metadata, MetadataClass metadataClass, inout vec4 metadataValues)",pe.FRAGMENT),i.addFunctionLines("metadataPickingStage",[`${el.METADATA_PICKING_VALUE_TYPE} value = ${el.METADATA_PICKING_VALUE_TYPE}(${el.METADATA_PICKING_VALUE_STRING});`,`metadataValues.x = ${el.METADATA_PICKING_VALUE_COMPONENT_X};`,`metadataValues.y = ${el.METADATA_PICKING_VALUE_COMPONENT_Y};`,`metadataValues.z = ${el.METADATA_PICKING_VALUE_COMPONENT_Z};`,`metadataValues.w = ${el.METADATA_PICKING_VALUE_COMPONENT_W};`],pe.FRAGMENT)};var Cu=el;var tM=`void morphTargetsStage(inout ProcessedAttributes attributes) +{ + vec3 positionMC = attributes.positionMC; + attributes.positionMC = getMorphedPosition(positionMC); - color = czm_gammaCorrect(color); -#else - color = czm_gammaCorrect(color); - color *= czm_gammaCorrect(v_color); -#endif + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = getMorphedNormal(normalMC); + #endif -// Fully transparent parts of the billboard are not pickable. -#if !defined(OPAQUE) && !defined(TRANSLUCENT) - if (color.a < 0.005) // matches 0/255 and 1/255 - { - discard; - } -#else -// The billboard is rendered twice. The opaque pass discards translucent fragments -// and the translucent pass discards opaque fragments. -#ifdef OPAQUE - if (color.a < 0.995) // matches < 254/255 - { - discard; - } -#else - if (color.a >= 0.995) // matches 254/255 and 255/255 - { - discard; - } -#endif + #ifdef HAS_TANGENTS + vec3 tangentMC = attributes.tangentMC; + attributes.tangentMC = getMorphedTangent(tangentMC); + #endif +}`;var Va={name:"MorphTargetsPipelineStage",FUNCTION_ID_GET_MORPHED_POSITION:"getMorphedPosition",FUNCTION_SIGNATURE_GET_MORPHED_POSITION:"vec3 getMorphedPosition(in vec3 position)",FUNCTION_ID_GET_MORPHED_NORMAL:"getMorphedNormal",FUNCTION_SIGNATURE_GET_MORPHED_NORMAL:"vec3 getMorphedNormal(in vec3 normal)",FUNCTION_ID_GET_MORPHED_TANGENT:"getMorphedTangent",FUNCTION_SIGNATURE_GET_MORPHED_TANGENT:"vec3 getMorphedTangent(in vec3 tangent)"};Va.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_MORPH_TARGETS",void 0,pe.VERTEX),X5e(n);let i=t.morphTargets.length;for(let a=0;a<i;a++){let c=t.morphTargets[a].attributes,u=c.length;for(let f=0;f<u;f++){let d=c[f],p=d.semantic;p!==St.POSITION&&p!==St.NORMAL&&p!==St.TANGENT||(W5e(e,d,e.attributeIndex,a),e.attributeIndex++)}}K5e(n);let r=e.runtimeNode.morphWeights.length;n.addUniform("float",`u_morphWeights[${r}]`,pe.VERTEX),n.addVertexLines(tM);let s={u_morphWeights:function(){return e.runtimeNode.morphWeights}};e.uniformMap=Ct(s,e.uniformMap)};var G5e={attributeString:void 0,functionId:void 0};function W5e(e,t,n,i){let o=e.shaderBuilder;j5e(e,t,n);let r=q5e(t,G5e);Y5e(o,r,i)}function j5e(e,t,n){let i={index:n,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,componentsPerAttribute:an.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(i)}function q5e(e,t){switch(e.semantic){case St.POSITION:t.attributeString="Position",t.functionId=Va.FUNCTION_ID_GET_MORPHED_POSITION;break;case St.NORMAL:t.attributeString="Normal",t.functionId=Va.FUNCTION_ID_GET_MORPHED_NORMAL;break;case St.TANGENT:t.attributeString="Tangent",t.functionId=Va.FUNCTION_ID_GET_MORPHED_TANGENT;break;default:break}return t}function Y5e(e,t,n){let i=t.attributeString,o=`a_target${i}_${n}`,r=`morphed${i} += u_morphWeights[${n}] * a_target${i}_${n};`;e.addAttribute("vec3",o),e.addFunctionLines(t.functionId,[r])}function X5e(e){e.addFunction(Va.FUNCTION_ID_GET_MORPHED_POSITION,Va.FUNCTION_SIGNATURE_GET_MORPHED_POSITION,pe.VERTEX),e.addFunctionLines(Va.FUNCTION_ID_GET_MORPHED_POSITION,["vec3 morphedPosition = position;"]),e.addFunction(Va.FUNCTION_ID_GET_MORPHED_NORMAL,Va.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL,pe.VERTEX),e.addFunctionLines(Va.FUNCTION_ID_GET_MORPHED_NORMAL,["vec3 morphedNormal = normal;"]),e.addFunction(Va.FUNCTION_ID_GET_MORPHED_TANGENT,Va.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT,pe.VERTEX),e.addFunctionLines(Va.FUNCTION_ID_GET_MORPHED_TANGENT,["vec3 morphedTangent = tangent;"])}function K5e(e){e.addFunctionLines(Va.FUNCTION_ID_GET_MORPHED_POSITION,["return morphedPosition;"]),e.addFunctionLines(Va.FUNCTION_ID_GET_MORPHED_NORMAL,["return morphedNormal;"]),e.addFunctionLines(Va.FUNCTION_ID_GET_MORPHED_TANGENT,["return morphedTangent;"])}var nM=Va;var yce={name:"PickingPipelineStage"};yce.process=function(e,t,n){let i=n.context,o=e.runtimeNode,r=e.shaderBuilder,s=e.model,a=o.node.instances;if(e.hasPropertyTable)Z5e(e,t,a,i);else if(l(a))$5e(e,i);else{let c=xce(e),u=i.createPickId(c);s._pipelineResources.push(u),s._pickIds.push(u),r.addUniform("vec4","czm_pickColor",pe.FRAGMENT);let f=e.uniformMap;f.czm_pickColor=function(){return u.color},e.pickId="czm_pickColor"}};function xce(e,t){let n=e.model;if(l(n.pickObject))return n.pickObject;let i={model:n,node:e.runtimeNode,primitive:e.runtimePrimitive},o;if(pr.is3DTiles(n.type)){let r=n.content;o={content:r,primitive:r.tileset,detail:i}}else o={primitive:n,detail:i};return o.id=n.id,l(t)&&(o.instanceId=t),o}function Z5e(e,t,n){let i=e.model,o,r,s=i.featureIdLabel,a=i.instanceFeatureIdLabel;l(i.featureTableId)?o=i.featureTableId:l(n)?(r=Zt.getFeatureIdsByLabel(n.featureIds,a),o=r.propertyTableId):(r=Zt.getFeatureIdsByLabel(t.featureIds,s),o=r.propertyTableId);let c=i.featureTables[o];e.shaderBuilder.addUniform("sampler2D","model_pickTexture",pe.FRAGMENT);let f=c.batchTexture;e.uniformMap.model_pickTexture=function(){return y(f.pickTexture,f.defaultTexture)},e.pickId="((selectedFeature.id < int(model_featuresLength)) ? texture(model_pickTexture, selectedFeature.st) : vec4(0.0))"}function $5e(e,t){let n=e.instanceCount,i=new Array(n),o=new Uint8Array(n*4),r=e.model,s=r._pipelineResources;for(let d=0;d<n;d++){let p=xce(e,d),g=t.createPickId(p);s.push(g),i[d]=g;let m=g.color;o[d*4+0]=H.floatToByte(m.red),o[d*4+1]=H.floatToByte(m.green),o[d*4+2]=H.floatToByte(m.blue),o[d*4+3]=H.floatToByte(m.alpha)}r._pickIds=i;let a=xt.createVertexBuffer({context:t,typedArray:o,usage:Be.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.statistics.addBuffer(a,!1),s.push(a);let u={index:e.attributeIndex++,vertexBuffer:a,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1};e.attributes.push(u);let f=e.shaderBuilder;f.addDefine("USE_PICKING",void 0,pe.BOTH),f.addAttribute("vec4","a_pickColor"),f.addVarying("vec4","v_pickColor"),e.pickId="v_pickColor"}var iM=yce;var Q5e={ADD:0,REPLACE:1},Xo=Object.freeze(Q5e);var oM=`float getPointSizeFromAttenuation(vec3 positionEC) { + // Variables are packed into a single vector to minimize gl.uniformXXX() calls + float pointSize = model_pointCloudParameters.x; + float geometricError = model_pointCloudParameters.y; + float depthMultiplier = model_pointCloudParameters.z; + + float depth = -positionEC.z; + return min((geometricError / depth) * depthMultiplier, pointSize); +} + +#ifdef HAS_POINT_CLOUD_SHOW_STYLE +float pointCloudShowStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return float(getShowFromStyle(attributes, metadata, tiles3d_tileset_time)); +} #endif -#ifdef VECTOR_TILE - color *= u_highlightColor; +#ifdef HAS_POINT_CLOUD_COLOR_STYLE +vec4 pointCloudColorStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return getColorFromStyle(attributes, metadata, tiles3d_tileset_time); +} #endif - out_FragColor = color; -#ifdef LOG_DEPTH - czm_writeLogDepth(); +#ifdef HAS_POINT_CLOUD_POINT_SIZE_STYLE +float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return float(getPointSizeFromStyle(attributes, metadata, tiles3d_tileset_time)); +} +#elif defined(HAS_POINT_CLOUD_ATTENUATION) +float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + return getPointSizeFromAttenuation(v_positionEC); +} #endif -#ifdef FRAGMENT_DEPTH_CHECK - float temp = v_compressed.y; +#ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING +float pointCloudBackFaceCullingStage() { + #if defined(HAS_NORMALS) && !defined(HAS_DOUBLE_SIDED_MATERIAL) + // This needs to be computed in eye coordinates so we can't use attributes.normalMC + return step(-v_normalEC.z, 0.0); + #else + return 1.0; + #endif +} +#endif`;var J5e=new ie,Tce={name:"PointCloudStylingPipelineStage"};Tce.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=o.style,s=o.structuralMetadata,a=l(s)?s.propertyAttributes:void 0,c=l(o.featureTableId)&&o.featureTables[o.featureTableId].featuresLength>0,u=!l(a)&&c;if(l(r)&&!u){let x=i6e(a),b=o6e(r,x);r6e(i,b);let A=s6e(b).indexOf("normalMC")>=0,C=Zt.getAttributeBySemantic(t,St.NORMAL);if(A&&!C)throw new se("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,pe.VERTEX),b.styleTranslucent&&(e.alphaOptions.pass=ve.TRANSLUCENT)}let f=o.pointCloudShading;f.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,pe.VERTEX),f.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,pe.VERTEX);let d,p,g;pr.is3DTiles(o.type)&&(p=!0,d=o.content,g=d.tile.refine===Xo.ADD),i.addUniform("vec4","model_pointCloudParameters",pe.VERTEX),i.addVertexLines(oM);let m=e.uniformMap;m.model_pointCloudParameters=function(){let x=J5e,b=1;p&&(b=g?5:d.tileset.memoryAdjustedScreenSpaceError),x.x=y(f.maximumAttenuation,b),x.x*=n.pixelRatio;let T=e6e(e,t,f,d);x.y=T*f.geometricErrorScale;let A=n.context,C=n.camera.frustum,E;return n.mode===ne.SCENE2D||C instanceof cn?E=Number.POSITIVE_INFINITY:E=A.drawingBufferHeight/n.camera.frustum.sseDenominator,x.z=E,p&&(x.w=d.tileset.timeSinceLoad),x}};var bce=new h;function e6e(e,t,n,i){if(l(i)){let f=i.tile.geometricError;if(f>0)return f}if(l(n.baseResolution))return n.baseResolution;let o=Zt.getAttributeBySemantic(t,St.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,bce);a=F.multiplyByPointAsVector(s,a,bce);let c=a.x*a.y*a.z;return P.cbrt(c/r)}var t6e={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},n6e={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function i6e(e){let t=He(n6e);if(!l(e))return t;for(let n=0;n<e.length;n++){let o=e[n].properties;for(let r in o)o.hasOwnProperty(r)&&(t[r]=`metadata.${r}`)}return t}var ij="ProcessedAttributes attributes, Metadata metadata, float tiles3d_tileset_time";function o6e(e,t){let n=t6e,i={translucent:!1};return n.colorStyleFunction=e.getColorShaderFunction(`getColorFromStyle(${ij})`,t,i),n.showStyleFunction=e.getShowShaderFunction(`getShowFromStyle(${ij})`,t,i),n.pointSizeStyleFunction=e.getPointSizeShaderFunction(`getPointSizeFromStyle(${ij})`,t,i),n.styleTranslucent=l(n.colorStyleFunction)&&i.translucent,n}function r6e(e,t){let n=t.colorStyleFunction;l(n)&&(e.addDefine("HAS_POINT_CLOUD_COLOR_STYLE",void 0,pe.BOTH),e.addVertexLines(n),e.addVarying("vec4","v_pointCloudColor"));let i=t.showStyleFunction;l(i)&&(e.addDefine("HAS_POINT_CLOUD_SHOW_STYLE",void 0,pe.BOTH),e.addVertexLines(i),e.addVarying("float","v_pointCloudShow"));let o=t.pointSizeStyleFunction;l(o)&&(e.addDefine("HAS_POINT_CLOUD_POINT_SIZE_STYLE",void 0,pe.VERTEX),e.addVertexLines(o))}function oj(e,t){let n=/attributes\.(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function s6e(e){let t=e.colorStyleFunction,n=e.showStyleFunction,i=e.pointSizeStyleFunction,o=[];return l(t)&&oj(t,o),l(n)&&oj(n,o),l(i)&&oj(i,o),o}var rM=Tce;var sM=`void primitiveOutlineStage() { + v_outlineCoordinates = a_outlineCoordinates; +} +`;var aM=`void primitiveOutlineStage(inout czm_modelMaterial material) { + if (!model_showOutline) { + return; + } - temp = temp * SHIFT_RIGHT1; + float outlineX = + texture(model_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r; + float outlineY = + texture(model_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r; + float outlineZ = + texture(model_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r; + float outlineness = max(outlineX, max(outlineY, outlineZ)); - float temp2 = (temp - floor(temp)) * SHIFT_LEFT1; - bool enableDepthTest = temp2 != 0.0; - bool applyTranslate = floor(temp) != 0.0; + material.diffuse = mix(material.diffuse, model_outlineColor.rgb, model_outlineColor.a * outlineness); +} - if (enableDepthTest) { - temp = v_compressed.z; - temp = temp * SHIFT_RIGHT12; +`;var Cce={name:"PrimitiveOutlinePipelineStage"};Cce.process=function(e,t,n){let i=e.shaderBuilder,o=e.uniformMap;i.addDefine("HAS_PRIMITIVE_OUTLINE",void 0,pe.BOTH),i.addAttribute("vec3","a_outlineCoordinates"),i.addVarying("vec3","v_outlineCoordinates");let r=t.outlineCoordinates,s={index:e.attributeIndex++,vertexBuffer:r.buffer,componentsPerAttribute:an.getNumberOfComponents(r.type),componentDatatype:r.componentDatatype,offsetInBytes:r.byteOffset,strideInBytes:r.byteStride,normalize:r.normalized};e.attributes.push(s),i.addUniform("sampler2D","model_outlineTexture",pe.FRAGMENT);let a=Tb.createTexture(n.context);o.model_outlineTexture=function(){return a};let c=e.model;i.addUniform("vec4","model_outlineColor",pe.FRAGMENT),o.model_outlineColor=function(){return c.outlineColor},i.addUniform("bool","model_showOutline",pe.FRAGMENT),o.model_showOutline=function(){return c.showOutline},i.addVertexLines(sM),i.addFragmentLines(aM)};var cM=Cce;var Ace={name:"PrimitiveStatisticsPipelineStage",_countGeometry:Ece,_count2DPositions:Sce,_countMorphTargetAttributes:vce,_countMaterialTextures:wce,_countFeatureIdTextures:Dce,_countBinaryMetadata:Ice};Ace.process=function(e,t,n){let i=e.model,o=i.statistics;Ece(o,t),Sce(o,e.runtimePrimitive),vce(o,t),wce(o,t.material),Dce(o,t.featureIds),Ice(o,i)};function Ece(e,t){let n=l(t.indices)?t.indices.count:Zt.getAttributeBySemantic(t,"POSITION").count,i=t.primitiveType;i===Ne.POINTS?e.pointsLength+=n:Ne.isTriangles(i)&&(e.trianglesLength+=a6e(i,n));let o=t.attributes,r=o.length;for(let c=0;c<r;c++){let u=o[c];if(l(u.buffer)){let f=l(u.typedArray);e.addBuffer(u.buffer,f)}}let s=t.outlineCoordinates;l(s)&&l(s.buffer)&&e.addBuffer(s.buffer,!1);let a=t.indices;if(l(a)&&l(a.buffer)){let c=l(a.typedArray);e.addBuffer(a.buffer,c)}}function a6e(e,t){switch(e){case Ne.TRIANGLES:return t/3;case Ne.TRIANGLE_STRIP:case Ne.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function Sce(e,t){let n=t.positionBuffer2D;l(n)&&e.addBuffer(n,!0)}function vce(e,t){let n=t.morphTargets;if(!l(n))return;let i=!1,o=n.length;for(let r=0;r<o;r++){let s=n[r].attributes,a=s.length;for(let c=0;c<a;c++){let u=s[c];l(u.buffer)&&e.addBuffer(u.buffer,i)}}}function wce(e,t){let n=c6e(t),i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r)&&l(r.texture)&&e.addTexture(r.texture)}}function c6e(e){let t=e.metallicRoughness,n=[e.emissiveTexture,e.normalTexture,e.occlusionTexture,t.baseColorTexture,t.metallicRoughnessTexture],i=e.specularGlossiness;return l(i)&&(n.push(i.diffuseTexture),n.push(i.specularGlossinessTexture)),n}function Dce(e,t){let n=t.length;for(let i=0;i<n;i++){let o=t[i];if(o instanceof Cn.FeatureIdTexture){let r=o.textureReader;l(r.texture)&&e.addTexture(r.texture)}}}function Ice(e,t){let n=t.structuralMetadata;l(n)&&(l6e(e,n),e.propertyTablesByteLength+=n.propertyTablesByteLength);let i=t.featureTables;if(!l(i))return;let o=i.length;for(let r=0;r<o;r++){let s=i[r];e.addBatchTexture(s.batchTexture)}}function l6e(e,t){let n=t.propertyTextures;if(!l(n))return;let i=n.length;for(let o=0;o<i;o++){let s=n[o].properties;for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].textureReader;l(u.texture)&&e.addTexture(u.texture)}}}var lM=Ace;var u6e=new F,f6e=new F,Pce={name:"SceneMode2DPipelineStage"};Pce.process=function(e,t,n){let i=Zt.getAttributeBySemantic(t,St.POSITION),o=e.shaderBuilder,r=e.model,s=r.sceneGraph.computedModelMatrix,a=e.runtimeNode.computedTransform,c=F.multiplyTransformation(s,a,u6e),u=m6e(e,c,n),f=e.runtimePrimitive;f.boundingSphere2D=u;let d=e.runtimeNode.node.instances;if(l(d))return;if(l(i.typedArray)){let x=g6e(i,c,u,n);f.positionBuffer2D=x,r._modelResources.push(x),i.typedArray=void 0}o.addDefine("USE_2D_POSITIONS",void 0,pe.VERTEX),o.addUniform("mat4","u_modelView2D",pe.VERTEX);let p=F.fromTranslation(u.center,new F),g=n.context,m={u_modelView2D:function(){return F.multiplyTransformation(g.uniformState.view,p,f6e)}};e.uniformMap=Ct(m,e.uniformMap)};var d6e=new h,h6e=new h;function m6e(e,t,n){let i=F.multiplyByPoint(t,e.positionMin,d6e),o=Hi.computeActualEllipsoidPosition(n,i,i),r=F.multiplyByPoint(t,e.positionMax,h6e),s=Hi.computeActualEllipsoidPosition(n,r,r);return ce.fromCornerPoints(o,s,new ce)}var Rce=new h;function p6e(e,t){let n=e.length,i=new Float32Array(n),o=t.quantizedVolumeOffset,r=t.quantizedVolumeStepSize;for(let s=0;s<n;s+=3){let a=h.fromArray(e,s,Rce),c=h.multiplyComponents(a,r,a),u=h.add(c,o,c);i[s]=u.x,i[s+1]=u.y,i[s+2]=u.z}return i}function _6e(e,t,n,i){let o;l(e.quantization)?o=p6e(e.typedArray,e.quantization):o=e.typedArray.slice();let r=e.byteOffset/Float32Array.BYTES_PER_ELEMENT,s=o.length,a=l(e.byteStride)?e.byteStride/Float32Array.BYTES_PER_ELEMENT:3;for(let c=r;c<s;c+=a){let u=h.fromArray(o,c,Rce);if(isNaN(u.x)||isNaN(u.y)||isNaN(u.z))continue;let f=F.multiplyByPoint(t,u,u),d=Hi.computeActualEllipsoidPosition(i,f,f),p=h.subtract(d,n,d);o[c]=p.x,o[c+1]=p.y,o[c+2]=p.z}return o}function g6e(e,t,n,i){let o=He(i);o.mode=ne.COLUMBUS_VIEW;let r=n.center,s=_6e(e,t,r,o),a=xt.createVertexBuffer({context:i.context,typedArray:s,usage:Be.STATIC_DRAW});return a.vertexArrayDestroyable=!1,a}var uM=Pce;var fM=`void skinningStage(inout ProcessedAttributes attributes) +{ + mat4 skinningMatrix = getSkinningMatrix(); + mat3 skinningMatrixMat3 = mat3(skinningMatrix); - vec2 dimensions; - dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; - dimensions.x = floor(temp); + vec4 positionMC = vec4(attributes.positionMC, 1.0); + attributes.positionMC = vec3(skinningMatrix * positionMC); - temp = v_compressed.w; - temp = temp * SHIFT_RIGHT12; + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = skinningMatrixMat3 * normalMC; + #endif - vec2 imageSize; - imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12; - imageSize.x = floor(temp); + #ifdef HAS_TANGENTS + vec3 tangentMC = attributes.tangentMC; + attributes.tangentMC = skinningMatrixMat3 * tangentMC; + #endif +}`;var Sb={name:"SkinningPipelineStage",FUNCTION_ID_GET_SKINNING_MATRIX:"getSkinningMatrix",FUNCTION_SIGNATURE_GET_SKINNING_MATRIX:"mat4 getSkinningMatrix()"};Sb.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_SKINNING",void 0,pe.VERTEX),x6e(n,t);let i=e.runtimeNode,o=i.computedJointMatrices;n.addUniform("mat4",`u_jointMatrices[${o.length}]`,pe.VERTEX),n.addVertexLines(fM);let r={u_jointMatrices:function(){return i.computedJointMatrices}};e.uniformMap=Ct(r,e.uniformMap)};function y6e(e){let t=-1,n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];(r.semantic===St.JOINTS||r.semantic===St.WEIGHTS)&&(t=Math.max(t,r.setIndex))}return t}function x6e(e,t){e.addFunction(Sb.FUNCTION_ID_GET_SKINNING_MATRIX,Sb.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX,pe.VERTEX),e.addFunctionLines(Sb.FUNCTION_ID_GET_SKINNING_MATRIX,["mat4 skinnedMatrix = mat4(0);"]);let i,o,r=["x","y","z","w"],s=y6e(t);for(i=0;i<=s;i++)for(o=0;o<=3;o++){let c=r[o],u=`skinnedMatrix += a_weights_${i}.${c} * u_jointMatrices[int(a_joints_${i}.${c})];`;e.addFunctionLines(Sb.FUNCTION_ID_GET_SKINNING_MATRIX,[u])}e.addFunctionLines(Sb.FUNCTION_ID_GET_SKINNING_MATRIX,["return skinnedMatrix;"])}var dM=Sb;var hM=`void verticalExaggerationStage( + inout ProcessedAttributes attributes +) { + // Compute the distance from the camera to the local center of curvature. + vec4 vertexPositionENU = czm_modelToEnu * vec4(attributes.positionMC, 1.0); + vec2 vertexAzimuth = normalize(vertexPositionENU.xy); + // Curvature = 1 / radius of curvature. + float azimuthalCurvature = dot(vertexAzimuth * vertexAzimuth, czm_eyeEllipsoidCurvature); + float eyeToCenter = 1.0 / azimuthalCurvature + czm_eyeHeight; - vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy; - adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y); + // Compute the approximate ellipsoid normal at the vertex position. + // Uses a circular approximation for the Earth curvature along the geodesic. + vec3 vertexPositionEC = (czm_modelView * vec4(attributes.positionMC, 1.0)).xyz; + vec3 centerToVertex = eyeToCenter * czm_eyeEllipsoidNormalEC + vertexPositionEC; + vec3 vertexNormal = normalize(centerToVertex); - float epsilonEyeDepth = v_compressed.x + czm_epsilon1; - float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize); + // Estimate the (sine of the) angle between the camera direction and the vertex normal + float verticalDistance = dot(vertexPositionEC, czm_eyeEllipsoidNormalEC); + float horizontalDistance = length(vertexPositionEC - verticalDistance * czm_eyeEllipsoidNormalEC); + float sinTheta = horizontalDistance / (eyeToCenter + verticalDistance); + bool isSmallAngle = clamp(sinTheta, 0.0, 0.05) == sinTheta; - // negative values go into the screen - if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth) - { - float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner - if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth) - { - float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner - if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth) - { - discard; - } - } - } + // Approximate the change in height above the ellipsoid, from camera to vertex position. + float exactVersine = 1.0 - dot(czm_eyeEllipsoidNormalEC, vertexNormal); + float smallAngleVersine = 0.5 * sinTheta * sinTheta; + float versine = isSmallAngle ? smallAngleVersine : exactVersine; + float dHeight = dot(vertexPositionEC, vertexNormal) - eyeToCenter * versine; + float vertexHeight = czm_eyeHeight + dHeight; + + // Transform the approximate vertex normal to model coordinates. + vec3 vertexNormalMC = (czm_inverseModelView * vec4(vertexNormal, 0.0)).xyz; + vertexNormalMC = normalize(vertexNormalMC); + + // Compute the exaggeration and apply it along the approximate vertex normal. + float stretch = u_verticalExaggerationAndRelativeHeight.x; + float shift = u_verticalExaggerationAndRelativeHeight.y; + float exaggeration = (vertexHeight - shift) * (stretch - 1.0); + attributes.positionMC += exaggeration * vertexNormalMC; +} +`;var Oce={name:"VerticalExaggerationPipelineStage"},b6e=new z;Oce.process=function(e,t,n){let{shaderBuilder:i,uniformMap:o}=e;i.addVertexLines(hM),i.addDefine("HAS_VERTICAL_EXAGGERATION",void 0,pe.VERTEX),i.addUniform("vec2","u_verticalExaggerationAndRelativeHeight",pe.VERTEX),o.u_verticalExaggerationAndRelativeHeight=function(){return z.fromElements(n.verticalExaggeration,n.verticalExaggerationRelativeHeight,b6e)}};var mM=Oce;var rj={};function T6e(e){let t=Fe.createTypedArray(e,e*2),n=e,i=0;for(let o=0;o<n;o+=3)t[i++]=o,t[i++]=o+1,t[i++]=o+1,t[i++]=o+2,t[i++]=o+2,t[i++]=o;return t}function C6e(e,t){let n=t.length,i=Fe.createTypedArray(e,n*2),o=0;for(let r=0;r<n;r+=3){let s=t[r],a=t[r+1],c=t[r+2];i[o++]=s,i[o++]=a,i[o++]=a,i[o++]=c,i[o++]=c,i[o++]=s}return i}function A6e(e){let t=e-2,n=2+t*4,i=Fe.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=r;return i}function E6e(e,t){let i=t.length-2,o=2+i*4,r=Fe.createTypedArray(e,o),s=0;r[s++]=t[0],r[s++]=t[1];for(let a=0;a<i;a++){let c=t[a],u=t[a+1],f=t[a+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=c}return r}function S6e(e){let t=e-2,n=2+t*4,i=Fe.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=0;return i}function v6e(e,t){let i=t.length-2,o=2+i*4,r=Fe.createTypedArray(e,o),s=0,a=t[0];r[s++]=a,r[s++]=t[1];for(let c=0;c<i;c++){let u=t[c+1],f=t[c+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=a}return r}rj.createWireframeIndices=function(e,t,n){let i=l(n);if(e===Ne.TRIANGLES)return i?C6e(t,n):T6e(t);if(e===Ne.TRIANGLE_STRIP)return i?E6e(t,n):A6e(t);if(e===Ne.TRIANGLE_FAN)return i?v6e(t,n):S6e(t)};rj.getWireframeIndicesCount=function(e,t){return e===Ne.TRIANGLES?t*2:e===Ne.TRIANGLE_STRIP||e===Ne.TRIANGLE_FAN?2+(t-2)*4:t};var oE=rj;var Mce={name:"WireframePipelineStage"};Mce.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_WIREFRAME",void 0,pe.FRAGMENT);let o=e.model,r=w6e(t,e.indices,n);o._pipelineResources.push(r),e.wireframeIndexBuffer=r,o.statistics.addBuffer(r,!1);let a=e.primitiveType,c=e.count;e.primitiveType=Ne.LINES,e.count=oE.getWireframeIndicesCount(a,c)};function w6e(e,t,n){let o=Zt.getAttributeBySemantic(e,St.POSITION).count,r=n.context.webgl2,s;if(l(t)){let f=t.buffer,d=t.count;l(f)&&r?(s=f.sizeInBytes===d?new Uint8Array(d):Fe.createTypedArray(o,d),f.getBufferData(s)):s=t.typedArray}let a=e.primitiveType,c=oE.createWireframeIndices(a,o,s),u=Fe.fromSizeInBytes(c.BYTES_PER_ELEMENT);return xt.createIndexBuffer({context:n.context,typedArray:c,usage:Be.STATIC_DRAW,indexDatatype:u})}var pM=Mce;function Lce(e){e=y(e,y.EMPTY_OBJECT);let t=e.primitive,n=e.node,i=e.model;this.primitive=t,this.node=n,this.model=i,this.pipelineStages=[],this.drawCommand=void 0,this.boundingSphere=void 0,this.boundingSphere2D=void 0,this.positionBuffer2D=void 0,this.batchLengths=void 0,this.batchOffsets=void 0,this.updateStages=[]}Lce.prototype.configurePipeline=function(e){let t=this.pipelineStages;t.length=0;let n=this.primitive,i=this.node,o=this.model,r=o.customShader;if(l(o._marsOptions)&&l(o._marsOptions.customShaders)){let M=Dp.getCache(o._marsOptions.customShaders);for(let N in M)if(Object.prototype.hasOwnProperty.call(M,N)){r=M[N];break}}let s=o.style,a=e.context.webgl2,u=e.mode!==ne.SCENE3D&&!e.scene3DOnly&&o._projectTo2D,f=e.verticalExaggeration!==1&&o.hasVerticalExaggeration,d=l(n.morphTargets)&&n.morphTargets.length>0,p=l(i.skin),g=l(r),x=!(g&&l(r.fragmentShaderText))||r.mode!==m_.REPLACE_MATERIAL,b=Zt.hasQuantizedAttributes(n.attributes),T=o.debugWireframe&&Ne.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),A=o.pointCloudShading,C=l(A)&&A.attenuation,E=l(A)&&A.backFaceCulling,v=n.primitiveType===Ne.POINTS&&(l(s)||C||E),D=o._enableShowOutline&&l(n.outlineCoordinates),O=D6e(o,i,n),R=l(o.classificationType);u&&t.push(uM),t.push(ZO),T&&t.push(pM),R&&t.push(LO),d&&t.push(nM),p&&t.push(dM),v&&t.push(rM),b&&t.push(qO),x&&t.push(eM),t.push(Dy),t.push(If),t.push(Cu),O.hasPropertyTable&&(t.push(Py),t.push(MO),t.push(BO)),f&&t.push(mM),g&&t.push(WO),t.push(QO),o.allowPicking&&t.push(iM),D&&t.push(cM),t.push(OO),t.push(lM)};function D6e(e,t,n){let i;return l(t.instances)&&(i=Zt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(i))?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:(i=Zt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),l(i)?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var _M=Lce;function sj(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],I6e(this)}Object.defineProperties(sj.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function I6e(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c<o;c++){let u=i[c].index,f=r[u];s.push(f);let d=n[c],p=Nce(f,d,new F);a.push(p)}}function Nce(e,t,n){let i=F.multiplyTransformation(e.transformToRoot,e.transform,n);return n=F.multiplyTransformation(i,t,n),n}sj.prototype.updateJointMatrices=function(){let e=this._jointMatrices,t=e.length;for(let n=0;n<t;n++){let i=this.joints[n],o=this.inverseBindMatrices[n];e[n]=Nce(i,o,e[n])}};var gM=sj;function P6e(){this.pass=void 0,this.alphaCutoff=void 0}var yM=P6e;function R6e(e){this.shaderBuilder=new Cx,this.model=e,this.uniformMap={},this.alphaOptions=new yM,this.renderStateOptions=Ve.getState(Ve.fromCache({depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL}})),this.hasSilhouette=!1,this.hasSkipLevelOfDetail=!1}var xM=R6e;var bM=`void silhouetteStage(inout vec4 color) { + if(model_silhouettePass) { + color = czm_gammaCorrect(model_silhouetteColor); + } +}`;var TM=`void silhouetteStage(in ProcessedAttributes attributes, inout vec4 positionClip) { + #ifdef HAS_NORMALS + if(model_silhouettePass) { + vec3 normal = normalize(czm_normal3D * attributes.normalMC); + normal.x *= czm_projection[0][0]; + normal.y *= czm_projection[1][1]; + positionClip.xy += normal.xy * positionClip.w * model_silhouetteSize * czm_pixelRatio / czm_viewport.z; } + #endif +} +`;var dz={name:"ModelSilhouettePipelineStage"};dz.silhouettesLength=0;dz.process=function(e,t,n){l(t._silhouetteId)||(t._silhouetteId=++dz.silhouettesLength);let i=e.shaderBuilder;i.addDefine("HAS_SILHOUETTE",void 0,pe.BOTH),i.addVertexLines(TM),i.addFragmentLines(bM),i.addUniform("vec4","model_silhouetteColor",pe.FRAGMENT),i.addUniform("float","model_silhouetteSize",pe.VERTEX),i.addUniform("bool","model_silhouettePass",pe.BOTH);let o={model_silhouetteColor:function(){return t.silhouetteColor},model_silhouetteSize:function(){return t.silhouetteSize},model_silhouettePass:function(){return!1}};e.uniformMap=Ct(o,e.uniformMap),e.hasSilhouette=!0};var CM=dz;var AM=`void modelSplitterStage() +{ + // Don't split when rendering the shadow map, because it is rendered from + // the perspective of a totally different camera. +#ifndef SHADOW_MAP + if (model_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif +} +`;var hz={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};hz.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,pe.FRAGMENT),i.addFragmentLines(AM);let o={};i.addUniform("float",hz.SPLIT_DIRECTION_UNIFORM_NAME,pe.FRAGMENT),o[hz.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=Ct(o,e.uniformMap)};var EM=hz;function O6e(e,t){this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=He(e.uniformMap),this.alphaOptions=He(e.alphaOptions),this.renderStateOptions=He(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var SM=O6e;function M6e(e){e=y(e,y.EMPTY_OBJECT),this.lightingModel=y(e.lightingModel,_m.UNLIT)}var vM=M6e;function L6e(e,t){this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.uniformMap=He(e.uniformMap),this.alphaOptions=He(e.alphaOptions),this.renderStateOptions=He(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;let n=t.primitive;this.count=l(n.indices)?n.indices.count:Zt.getAttributeBySemantic(n,"POSITION").count,this.hasPropertyTable=!1,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;let i=Zt.getPositionMinMax(n,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=h.clone(i.min,new h),this.positionMax=h.clone(i.max,new h),this.boundingSphere=ce.fromCornerPoints(this.positionMin,this.positionMax,new ce),this.lightingOptions=new vM,this.pickId=void 0}var wM=L6e;function cj(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._command=t,this._model=i,this._runtimePrimitive=n.runtimePrimitive,this._modelMatrix=t.modelMatrix,this._boundingVolume=t.boundingVolume,this._cullFace=t.renderState.cull.face;let o=i.classificationType;this._classificationType=o,this._classifiesTerrain=o!==zn.CESIUM_3D_TILE,this._classifies3DTiles=o!==zn.TERRAIN,this._useDebugWireframe=i._enableDebugWireframe&&i.debugWireframe,this._pickId=n.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],k6e(this)}function N6e(e){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:ht.KEEP,zFail:ht.DECREMENT_WRAP,zPass:ht.KEEP},backFunction:e,backOperation:{fail:ht.KEEP,zFail:ht.INCREMENT_WRAP,zPass:ht.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},depthMask:!1}}var F6e={stencilTest:{enabled:!0,frontFunction:Hn.NOT_EQUAL,frontOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},backFunction:Hn.NOT_EQUAL,backOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:dn.PRE_MULTIPLIED_ALPHA_BLEND},B6e={stencilTest:{enabled:!0,frontFunction:Hn.NOT_EQUAL,frontOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},backFunction:Hn.NOT_EQUAL,backOperation:{fail:ht.ZERO,zFail:ht.ZERO,zPass:ht.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},kce=[];function k6e(e){let t=e._command,n=kce;if(e._useDebugWireframe){t.pass=ve.OPAQUE,n.length=0,n.push(t),e._commandListDebugWireframe=DM(e,n,e._commandListDebugWireframe);let r=e._commandListDebugWireframe,s=r.length;for(let a=0;a<s;a++){let c=r[a];c.count*=2,c.offset*=2}return}let o=e.model.allowPicking;if(e._classifiesTerrain){let r=ve.TERRAIN_CLASSIFICATION,s=aj(t,r),a=Fce(t,r);n.length=0,n.push(s,a),e._commandListTerrain=DM(e,n,e._commandListTerrain),o&&(e._commandListTerrainPicking=Bce(e,n,e._commandListTerrainPicking))}if(e._classifies3DTiles){let r=ve.CESIUM_3D_TILE_CLASSIFICATION,s=aj(t,r),a=Fce(t,r);n.length=0,n.push(s,a),e._commandList3DTiles=DM(e,n,e._commandList3DTiles),o&&(e._commandList3DTilesPicking=Bce(e,n,e._commandList3DTilesPicking))}}function DM(e,t,n){let i=e._runtimePrimitive,o=i.batchLengths,r=i.batchOffsets,s=o.length,a=t.length;for(let c=0;c<s;c++){let u=o[c],f=r[c];for(let d=0;d<a;d++){let p=t[d],g=Ze.shallowClone(p);g.count=u,g.offset=f,n.push(g)}}return n}function aj(e,t){let n=Ze.shallowClone(e);n.cull=!1,n.pass=t;let i=t===ve.TERRAIN_CLASSIFICATION?Hn.ALWAYS:Hn.EQUAL,o=N6e(i);return n.renderState=Ve.fromCache(o),n}function Fce(e,t){let n=Ze.shallowClone(e);return n.cull=!1,n.pass=t,n.renderState=Ve.fromCache(F6e),n}var V6e=[];function Bce(e,t,n){let i=Ve.fromCache(B6e),o=t[0],r=t[1],s=Ze.shallowClone(o);s.cull=!0,s.pickOnly=!0;let a=Ze.shallowClone(r);a.cull=!0,a.pickOnly=!0,a.renderState=i,a.pickId=e._pickId;let c=V6e;return c.length=0,c.push(s,a),DM(e,c,n)}Object.defineProperties(cj.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},batchLengths:{get:function(){return this._runtimePrimitive.batchLengths}},batchOffsets:{get:function(){return this._runtimePrimitive.batchOffsets}},model:{get:function(){return this._model}},classificationType:{get:function(){return this._classificationType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix);let t=this._runtimePrimitive.boundingSphere;this._boundingVolume=ce.transform(t,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace=e}}});cj.prototype.pushCommands=function(e,t){let n=e.passes;if(n.render){if(this._useDebugWireframe){t.push.apply(t,this._commandListDebugWireframe);return}if(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrain),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTiles),e.invertClassification&&this._classifies3DTiles){if(this._commandListIgnoreShow.length===0){let o=ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,r=aj(this._command,o),s=kce;s.length=0,s.push(r),this._commandListIgnoreShow=DM(this,s,this._commandListIgnoreShow)}t.push.apply(t,this._commandListIgnoreShow)}}return n.pick&&(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrainPicking),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTilesPicking)),t};var IM=cj;function mz(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._model=i;let o=n.runtimePrimitive;this._runtimePrimitive=o;let r=t.pass===ve.TRANSLUCENT,a=!o.primitive.material.doubleSided&&!r,c=n.hasSilhouette,u=!r&&!c,f=n.hasSkipLevelOfDetail&&!r,d=c;this._command=t,this._modelMatrix=F.clone(t.modelMatrix),this._boundingVolume=ce.clone(t.boundingVolume),this._modelMatrix2D=new F,this._boundingVolume2D=new ce,this._modelMatrix2DDirty=!1,this._backFaceCulling=t.renderState.cull.enabled,this._cullFace=t.renderState.cull.face,this._shadows=i.shadows,this._debugShowBoundingVolume=t.debugShowBoundingVolume,this._usesBackFaceCulling=a,this._needsTranslucentCommand=u,this._needsSkipLevelOfDetailCommands=f,this._needsSilhouetteCommands=d,this._originalCommand=void 0,this._translucentCommand=void 0,this._skipLodBackfaceCommand=void 0,this._skipLodStencilCommand=void 0,this._silhouetteModelCommand=void 0,this._silhouetteColorCommand=void 0,this._derivedCommands=[],this._has2DCommands=!1,U6e(this)}function p_(e){this.command=e.command,this.updateShadows=e.updateShadows,this.updateBackFaceCulling=e.updateBackFaceCulling,this.updateCullFace=e.updateCullFace,this.updateDebugShowBoundingVolume=e.updateDebugShowBoundingVolume,this.is2D=y(e.is2D,!1),this.derivedCommand2D=void 0}p_.clone=function(e){return new p_({command:e.command,updateShadows:e.updateShadows,updateBackFaceCulling:e.updateBackFaceCulling,updateCullFace:e.updateCullFace,updateDebugShowBoundingVolume:e.updateDebugShowBoundingVolume,is2D:e.is2D,derivedCommand2D:e.derivedCommand2D})};function U6e(e){let t=e._command;t.modelMatrix=e._modelMatrix,t.boundingVolume=e._boundingVolume;let n=e._model,i=e._usesBackFaceCulling,o=e._derivedCommands;e._originalCommand=new p_({command:t,updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0,is2D:!1}),o.push(e._originalCommand),e._needsTranslucentCommand&&(e._translucentCommand=new p_({command:Y6e(t),updateShadows:!0,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!0}),o.push(e._translucentCommand)),e._needsSkipLevelOfDetailCommands&&(e._skipLodBackfaceCommand=new p_({command:J6e(t),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:i,updateDebugShowBoundingVolume:!1}),e._skipLodStencilCommand=new p_({command:e9e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),o.push(e._skipLodBackfaceCommand),o.push(e._skipLodStencilCommand)),e._needsSilhouetteCommands&&(e._silhouetteModelCommand=new p_({command:X6e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),e._silhouetteColorCommand=new p_({command:K6e(t,n),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!1}),o.push(e._silhouetteModelCommand),o.push(e._silhouetteColorCommand))}Object.defineProperties(mz.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},model:{get:function(){return this._model}},primitiveType:{get:function(){return this._command.primitiveType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix),this._modelMatrix2DDirty=!0,this._boundingVolume=ce.transform(this.runtimePrimitive.boundingSphere,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},shadows:{get:function(){return this._shadows},set:function(e){this._shadows=e,H6e(this)}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){this._backFaceCulling!==e&&(this._backFaceCulling=e,G6e(this))}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,W6e(this))}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolume=e,j6e(this))}}});function z6e(e,t){let n=e._modelMatrix;e._modelMatrix2D=F.clone(n,e._modelMatrix2D),e._modelMatrix2D[13]-=P.sign(n[13])*2*P.PI*t.mapProjection.ellipsoid.maximumRadius,e._boundingVolume2D=ce.transform(e.runtimePrimitive.boundingSphere,e._modelMatrix2D,e._boundingVolume2D)}function H6e(e){let t=e.shadows,n=Tn.castShadows(t),i=Tn.receiveShadows(t),o=e._derivedCommands;for(let r=0;r<o.length;++r){let s=o[r];if(s.updateShadows){let a=s.command;a.castShadows=n,a.receiveShadows=i}}}function G6e(e){let t=e.backFaceCulling,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateBackFaceCulling){let r=o.command,s=He(r.renderState,!0);s.cull.enabled=t,r.renderState=Ve.fromCache(s)}}}function W6e(e){let t=e.cullFace,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateCullFace){let r=o.command,s=He(r.renderState,!0);s.cull.face=t,r.renderState=Ve.fromCache(s)}}}function j6e(e){let t=e.debugShowBoundingVolume,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateDebugShowBoundingVolume){let r=o.command;r.debugShowBoundingVolume=t}}}mz.prototype.pushCommands=function(e,t){let n=Vce(this,e);n&&!this._has2DCommands&&(q6e(this),this._has2DCommands=!0,this._modelMatrix2DDirty=!0),this._modelMatrix2DDirty&&(z6e(this,e),this._modelMatrix2DDirty=!1);let i=this.model.styleCommandsNeeded;if(!(this._needsTranslucentCommand&&l(i)&&(i!==Qd.ALL_OPAQUE&&sE(t,this._translucentCommand,n),i===Qd.ALL_TRANSLUCENT))){if(this._needsSkipLevelOfDetailCommands){let{tileset:o,tile:r}=this._model.content;if(o.hasMixedContent){r._finalResolution||sE(o._backfaceCommands,this._skipLodBackfaceCommand,n),Z6e(this,r,n),sE(t,this._skipLodStencilCommand,n);return}}if(this._needsSilhouetteCommands){sE(t,this._silhouetteModelCommand,n);return}return sE(t,this._originalCommand,n),t}};mz.prototype.pushSilhouetteCommands=function(e,t){let n=Vce(this,e);return sE(t,this._silhouetteColorCommand,n),t};function sE(e,t,n){e.push(t.command),n&&e.push(t.derivedCommand2D.command)}function Vce(e,t){if(t.mode!==ne.SCENE2D||e.model._projectTo2D)return!1;let i=e.model.sceneGraph._boundingSphere2D,o=i.center.y-i.radius,r=i.center.y+i.radius,s=t.mapProjection.ellipsoid.maximumRadius*P.PI;return o<s&&r>s||o<-s&&r>-s}function rE(e,t){if(!l(t))return;let n=p_.clone(t),i=Ze.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function q6e(e){rE(e,e._originalCommand),rE(e,e._translucentCommand),rE(e,e._skipLodBackfaceCommand),rE(e,e._skipLodStencilCommand),rE(e,e._silhouetteModelCommand),rE(e,e._silhouetteColorCommand)}function Y6e(e){let t=Ze.shallowClone(e);t.pass=ve.TRANSLUCENT;let n=He(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=dn.ALPHA_BLEND,t.renderState=Ve.fromCache(n),t}function X6e(e,t){let n=t._silhouetteId%255,i=Ze.shallowClone(e),o=He(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:te.ALWAYS,backFunction:te.ALWAYS,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=Ve.fromCache(o),i}function K6e(e,t){let n=t._silhouetteId%255,i=Ze.shallowClone(e),o=He(e.renderState,!0);o.cull.enabled=!1,(e.pass===ve.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=ve.TRANSLUCENT,o.depthMask=!1,o.blending=dn.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:te.NOTEQUAL,backFunction:te.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP}};let s=He(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=Ve.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function Z6e(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=$6e(o);if(r!==s){let a=Q6e(r),c=He(o.renderState,!0);c.stencilTest.reference=a,o.renderState=Ve.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function $6e(e){return(e.renderState.stencilTest.reference&zt.SKIP_LOD_MASK)>>>zt.SKIP_LOD_BIT_SHIFT}function Q6e(e){return zt.CESIUM_3D_TILE_MASK|e<<zt.SKIP_LOD_BIT_SHIFT}function J6e(e){let t=Ze.shallowClone(e),n=He(e.renderState,!0);n.cull.enabled=!0,n.cull.face=Ci.FRONT,n.colorMask={red:!1,green:!1,blue:!1,alpha:!1},n.polygonOffset={enabled:!0,factor:5,units:5};let i=He(t.uniformMap),o=new z(5,5);return i.u_polygonOffset=function(){return o},t.renderState=Ve.fromCache(n),t.uniformMap=i,t.castShadows=!1,t.receiveShadows=!1,t}function e9e(e){let t=Ze.shallowClone(e),n=He(e.renderState,!0),{stencilTest:i}=n;return i.enabled=!0,i.mask=zt.SKIP_LOD_MASK,i.reference=zt.CESIUM_3D_TILE_MASK,i.frontFunction=Hn.GREATER_OR_EQUAL,i.frontOperation.zPass=ht.REPLACE,i.backFunction=Hn.GREATER_OR_EQUAL,i.backOperation.zPass=ht.REPLACE,n.stencilMask=zt.CESIUM_3D_TILE_MASK|zt.SKIP_LOD_MASK,t.renderState=Ve.fromCache(n),t}var PM=mz;var RM=`precision highp float; +czm_modelVertexOutput defaultVertexOutput(vec3 positionMC) { + czm_modelVertexOutput vsOutput; + vsOutput.positionMC = positionMC; + vsOutput.pointSize = 1.0; + return vsOutput; } -`;var OM=`#ifdef INSTANCED -in vec2 direction; -#endif -in vec4 positionHighAndScale; -in vec4 positionLowAndRotation; -in vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset) -in vec4 compressedAttribute1; // aligned axis, translucency by distance, image width -in vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free -in vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range) -in vec4 scaleByDistance; // near, nearScale, far, farScale -in vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale -in vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions -in vec2 sdf; // sdf outline color (rgb) and width (w) -in float splitDirection; // splitDirection -#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) -in vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates -#endif -#ifdef VECTOR_TILE -in float a_batchId; -#endif -out vec2 v_textureCoordinates; -#ifdef FRAGMENT_DEPTH_CHECK -out vec4 v_textureCoordinateBounds; -out vec4 v_originTextureCoordinateAndTranslate; -out vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize -out mat2 v_rotationMatrix; -#endif +void main() +{ + // Initialize the attributes struct with all + // attributes except quantized ones. + ProcessedAttributes attributes; + initializeAttributes(attributes); -out vec4 v_pickColor; -out vec4 v_color; -out float v_splitDirection; -#ifdef SDF -out vec4 v_outlineColor; -out float v_outlineWidth; -#endif + // Dequantize the quantized ones and add them to the + // attributes struct. + #ifdef USE_DEQUANTIZATION + dequantizationStage(attributes); + #endif -const float UPPER_BOUND = 32768.0; + #ifdef HAS_MORPH_TARGETS + morphTargetsStage(attributes); + #endif -const float SHIFT_LEFT16 = 65536.0; -const float SHIFT_LEFT12 = 4096.0; -const float SHIFT_LEFT8 = 256.0; -const float SHIFT_LEFT7 = 128.0; -const float SHIFT_LEFT5 = 32.0; -const float SHIFT_LEFT3 = 8.0; -const float SHIFT_LEFT2 = 4.0; -const float SHIFT_LEFT1 = 2.0; + #ifdef HAS_SKINNING + skinningStage(attributes); + #endif -const float SHIFT_RIGHT12 = 1.0 / 4096.0; -const float SHIFT_RIGHT8 = 1.0 / 256.0; -const float SHIFT_RIGHT7 = 1.0 / 128.0; -const float SHIFT_RIGHT5 = 1.0 / 32.0; -const float SHIFT_RIGHT3 = 1.0 / 8.0; -const float SHIFT_RIGHT2 = 1.0 / 4.0; -const float SHIFT_RIGHT1 = 1.0 / 2.0; + #ifdef HAS_PRIMITIVE_OUTLINE + primitiveOutlineStage(); + #endif -vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp) -{ - // Note the halfSize cannot be computed in JavaScript because it is sent via - // compressed vertex attributes that coerce it to an integer. - vec2 halfSize = imageSize * scale * 0.5; - halfSize *= ((direction * 2.0) - 1.0); + // Compute the bitangent according to the formula in the glTF spec. + // Normal and tangents can be affected by morphing and skinning, so + // the bitangent should not be computed until their values are finalized. + #ifdef HAS_BITANGENTS + attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC); + #endif - vec2 originTranslate = origin * abs(halfSize); + FeatureIds featureIds; + featureIdStage(featureIds, attributes); -#if defined(ROTATION) || defined(ALIGNED_AXIS) - if (validAlignedAxis || rotation != 0.0) - { - float angle = rotation; - if (validAlignedAxis) - { - vec4 projectedAlignedAxis = czm_modelView3D * vec4(alignedAxis, 0.0); - angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) / - (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y)); - } + #ifdef HAS_SELECTED_FEATURE_ID + SelectedFeature feature; + selectedFeatureIdStage(feature, featureIds); + // Handle any show properties that come from the style. + cpuStylingStage(attributes.positionMC, feature); + #endif - float cosTheta = cos(angle); - float sinTheta = sin(angle); - rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta); - halfSize = rotationMatrix * halfSize; - } - else - { - rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); - } -#endif + #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) + // The scene mode 2D pipeline stage and instancing stage add a different + // model view matrix to accurately project the model to 2D. However, the + // output positions and normals should be transformed by the 3D matrices + // to keep the data the same for the fragment shader. + mat4 modelView = czm_modelView3D; + mat3 normal = czm_normal3D; + #else + // These are used for individual model projection because they will + // automatically change based on the scene mode. + mat4 modelView = czm_modelView; + mat3 normal = czm_normal; + #endif - mpp = czm_metersPerPixel(positionEC); - positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp); - positionEC.xy += (translate + pixelOffset) * mpp; + // Update the position for this instance in place + #ifdef HAS_INSTANCING - return positionEC; -} + // The legacy instance stage is used when rendering i3dm models that + // encode instances transforms in world space, as opposed to glTF models + // that use EXT_mesh_gpu_instancing, where instance transforms are encoded + // in object space. + #ifdef USE_LEGACY_INSTANCING + mat4 instanceModelView; + mat3 instanceModelViewInverseTranspose; -#ifdef VERTEX_DEPTH_CHECK -float getGlobeDepth(vec4 positionEC) -{ - vec4 posWC = czm_eyeToWindowCoordinates(positionEC); + legacyInstancingStage(attributes, instanceModelView, instanceModelViewInverseTranspose); - float globeDepth = czm_unpackDepth(texture(czm_globeDepthTexture, posWC.xy / czm_viewport.zw)); + modelView = instanceModelView; + normal = instanceModelViewInverseTranspose; + #else + instancingStage(attributes); + #endif - if (globeDepth == 0.0) - { - return 0.0; // not on the globe - } + #ifdef USE_PICKING + v_pickColor = a_pickColor; + #endif - vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth); - return eyeCoordinate.z / eyeCoordinate.w; -} -#endif -void main() -{ - // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition + #endif - // unpack attributes - vec3 positionHigh = positionHighAndScale.xyz; - vec3 positionLow = positionLowAndRotation.xyz; - float scale = positionHighAndScale.w; + Metadata metadata; + MetadataClass metadataClass; + MetadataStatistics metadataStatistics; + metadataStage(metadata, metadataClass, metadataStatistics, attributes); -#if defined(ROTATION) || defined(ALIGNED_AXIS) - float rotation = positionLowAndRotation.w; -#else - float rotation = 0.0; -#endif + #ifdef HAS_VERTICAL_EXAGGERATION + verticalExaggerationStage(attributes); + #endif - float compressed = compressedAttribute0.x; + #ifdef HAS_CUSTOM_VERTEX_SHADER + czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC); + customShaderStage(vsOutput, attributes, featureIds, metadata, metadataClass, metadataStatistics); + #endif - vec2 pixelOffset; - pixelOffset.x = floor(compressed * SHIFT_RIGHT7); - compressed -= pixelOffset.x * SHIFT_LEFT7; - pixelOffset.x -= UPPER_BOUND; + // Compute the final position in each coordinate system needed. + // This returns the value that will be assigned to gl_Position. + vec4 positionClip = geometryStage(attributes, modelView, normal); - vec2 origin; - origin.x = floor(compressed * SHIFT_RIGHT5); - compressed -= origin.x * SHIFT_LEFT5; + // This must go after the geometry stage as it needs v_positionWC + #ifdef HAS_ATMOSPHERE + atmosphereStage(attributes); + #endif - origin.y = floor(compressed * SHIFT_RIGHT3); - compressed -= origin.y * SHIFT_LEFT3; + #ifdef ENABLE_CLIPPING_POLYGONS + modelClippingPolygonsStage(attributes); + #endif -#ifdef FRAGMENT_DEPTH_CHECK - vec2 depthOrigin = origin.xy; -#endif - origin -= vec2(1.0); + #ifdef HAS_SILHOUETTE + silhouetteStage(attributes, positionClip); + #endif - float show = floor(compressed * SHIFT_RIGHT2); - compressed -= show * SHIFT_LEFT2; + #ifdef HAS_POINT_CLOUD_SHOW_STYLE + float show = pointCloudShowStylingStage(attributes, metadata); + #else + float show = 1.0; + #endif -#ifdef INSTANCED - vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w); - vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w); - vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange; -#else - vec2 direction; - direction.x = floor(compressed * SHIFT_RIGHT1); - direction.y = compressed - direction.x * SHIFT_LEFT1; + #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING + show *= pointCloudBackFaceCullingStage(); + #endif - vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w); -#endif + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + v_pointCloudColor = pointCloudColorStylingStage(attributes, metadata); + #endif - float temp = compressedAttribute0.y * SHIFT_RIGHT8; - pixelOffset.y = -(floor(temp) - UPPER_BOUND); + #ifdef PRIMITIVE_TYPE_POINTS + #ifdef HAS_CUSTOM_VERTEX_SHADER + gl_PointSize = vsOutput.pointSize; + #elif defined(HAS_POINT_CLOUD_POINT_SIZE_STYLE) || defined(HAS_POINT_CLOUD_ATTENUATION) + gl_PointSize = pointCloudPointSizeStylingStage(attributes, metadata); + #else + gl_PointSize = 1.0; + #endif - vec2 translate; - translate.y = (temp - floor(temp)) * SHIFT_LEFT16; + gl_PointSize *= show; + #endif - temp = compressedAttribute0.z * SHIFT_RIGHT8; - translate.x = floor(temp) - UPPER_BOUND; + // Important NOT to compute gl_Position = show * positionClip or we hit: + // https://github.com/CesiumGS/cesium/issues/11270 + // + // We will discard points with v_pointCloudShow == 0 in the fragment shader. + gl_Position = positionClip; - translate.y += (temp - floor(temp)) * SHIFT_LEFT8; - translate.y -= UPPER_BOUND; + #ifdef HAS_POINT_CLOUD_SHOW_STYLE + v_pointCloudShow = show; + #endif +} +`;var OM=` +precision highp float; +czm_modelMaterial defaultModelMaterial() +{ + czm_modelMaterial material; + material.diffuse = vec3(0.0); + material.specular = vec3(1.0); + material.roughness = 1.0; + material.occlusion = 1.0; + material.normalEC = vec3(0.0, 0.0, 1.0); + material.emissive = vec3(0.0); + material.alpha = 1.0; + return material; +} - temp = compressedAttribute1.x * SHIFT_RIGHT8; - float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2); +vec4 handleAlpha(vec3 color, float alpha) +{ + #ifdef ALPHA_MODE_MASK + if (alpha < u_alphaCutoff) { + discard; + } + #endif - vec2 imageSize = vec2(floor(temp), temp2); + return vec4(color, alpha); +} -#ifdef FRAGMENT_DEPTH_CHECK - float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2)); - float applyTranslate = 0.0; - if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false - { - applyTranslate = 1.0; - labelHorizontalOrigin -= 2.0; - depthOrigin.x = labelHorizontalOrigin + 1.0; - } +SelectedFeature selectedFeature; - depthOrigin = vec2(1.0) - (depthOrigin * 0.5); -#endif +void main() +{ + #ifdef HAS_POINT_CLOUD_SHOW_STYLE + if (v_pointCloudShow == 0.0) + { + discard; + } + #endif -#ifdef EYE_DISTANCE_TRANSLUCENCY - vec4 translucencyByDistance; - translucencyByDistance.x = compressedAttribute1.z; - translucencyByDistance.z = compressedAttribute1.w; + #ifdef HAS_MODEL_SPLITTER + modelSplitterStage(); + #endif - translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; + czm_modelMaterial material = defaultModelMaterial(); - temp = compressedAttribute1.y * SHIFT_RIGHT8; - translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; -#endif + ProcessedAttributes attributes; + geometryStage(attributes); -#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) - temp = compressedAttribute3.w; - temp = temp * SHIFT_RIGHT12; + FeatureIds featureIds; + featureIdStage(featureIds, attributes); - vec2 dimensions; - dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; - dimensions.x = floor(temp); -#endif + Metadata metadata; + MetadataClass metadataClass; + MetadataStatistics metadataStatistics; + metadataStage(metadata, metadataClass, metadataStatistics, attributes); -#ifdef ALIGNED_AXIS - vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8)); - temp = compressedAttribute2.z * SHIFT_RIGHT5; - bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0; -#else - vec3 alignedAxis = vec3(0.0); - bool validAlignedAxis = false; -#endif + //======================================================================== + // When not picking metadata START + #ifndef METADATA_PICKING_ENABLED - vec4 pickColor; - vec4 color; + #ifdef HAS_SELECTED_FEATURE_ID + selectedFeatureIdStage(selectedFeature, featureIds); + #endif - temp = compressedAttribute2.y; - temp = temp * SHIFT_RIGHT8; - pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; - pickColor.r = floor(temp); + #ifndef CUSTOM_SHADER_REPLACE_MATERIAL + materialStage(material, attributes, selectedFeature); + #endif - temp = compressedAttribute2.x; - temp = temp * SHIFT_RIGHT8; - color.b = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - color.g = (temp - floor(temp)) * SHIFT_LEFT8; - color.r = floor(temp); + #ifdef HAS_CUSTOM_FRAGMENT_SHADER + customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics); + #endif - temp = compressedAttribute2.z * SHIFT_RIGHT8; - bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0; - temp = floor(temp) * SHIFT_RIGHT8; + lightingStage(material, attributes); - pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; - pickColor /= 255.0; + #ifdef HAS_SELECTED_FEATURE_ID + cpuStylingStage(material, selectedFeature); + #endif - color.a = floor(temp); - color /= 255.0; + #ifdef HAS_MODEL_COLOR + modelColorStage(material); + #endif - /////////////////////////////////////////////////////////////////////////// + #ifdef HAS_PRIMITIVE_OUTLINE + primitiveOutlineStage(material); + #endif - vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); - vec4 positionEC = czm_modelViewRelativeToEye * p; + vec4 color = handleAlpha(material.diffuse, material.alpha); -#if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK) - float eyeDepth = positionEC.z; -#endif + // When not picking metadata END + //======================================================================== + #else + //======================================================================== + // When picking metadata START - positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz); - positionEC.xyz *= show; + vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0); + metadataPickingStage(metadata, metadataClass, metadataValues); + vec4 color = metadataValues; - /////////////////////////////////////////////////////////////////////////// + #endif + // When picking metadata END + //======================================================================== -#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) - float lengthSq; - if (czm_sceneMode == czm_sceneMode2D) - { - // 2D camera distance is a special case - // treat all billboards as flattened to the z=0.0 plane - lengthSq = czm_eyeHeight2D.y; - } - else - { - lengthSq = dot(positionEC.xyz, positionEC.xyz); - } -#endif + #ifdef HAS_CLIPPING_PLANES + modelClippingPlanesStage(color); + #endif -#ifdef EYE_DISTANCE_SCALING - float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq); - scale *= distanceScale; - translate *= distanceScale; - // push vertex behind near plane for clipping - if (scale == 0.0) - { - positionEC.xyz = vec3(0.0); - } -#endif + #ifdef ENABLE_CLIPPING_POLYGONS + modelClippingPolygonsStage(); + #endif - float translucency = 1.0; -#ifdef EYE_DISTANCE_TRANSLUCENCY - translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); - // push vertex behind near plane for clipping - if (translucency == 0.0) - { - positionEC.xyz = vec3(0.0); - } -#endif + //======================================================================== + // When not picking metadata START + #ifndef METADATA_PICKING_ENABLED -#ifdef EYE_DISTANCE_PIXEL_OFFSET - float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq); - pixelOffset *= pixelOffsetScale; -#endif + #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS) + silhouetteStage(color); + #endif -#ifdef DISTANCE_DISPLAY_CONDITION - float nearSq = compressedAttribute3.x; - float farSq = compressedAttribute3.y; - if (lengthSq < nearSq || lengthSq > farSq) - { - positionEC.xyz = vec3(0.0); - } + #ifdef HAS_ATMOSPHERE + atmosphereStage(color, attributes); + #endif + + #endif + // When not picking metadata END + //======================================================================== + + out_FragColor = color; +} +`;function Uce(){}Uce.buildModelDrawCommand=function(e,t){let n=e.shaderBuilder,i=t9e(e,n,t),o=n9e(e,i,t),r=e.model;return l(r.classificationType)?new IM({primitiveRenderResources:e,command:o}):new PM({primitiveRenderResources:e,command:o})};function t9e(e,t,n){t.addVertexLines(RM),t.addFragmentLines(OM);let i=e.model,o=t.buildShaderProgram(n.context);return i._pipelineResources.push(o),o}function n9e(e,t,n){let i=i9e(e),o=new ii({context:n.context,indexBuffer:i,attributes:e.attributes}),r=e.model;r._pipelineResources.push(o);let s=e.alphaOptions.pass,a=r.sceneGraph,c=n.mode===ne.SCENE3D,u,f;if(!c&&!n.scene3DOnly&&r._projectTo2D)u=F.multiplyTransformation(a._computedModelMatrix,e.runtimeNode.computedTransform,new F),f=e.runtimePrimitive.boundingSphere2D;else{let T=c?a._computedModelMatrix:a._computedModelMatrix2D;u=F.multiplyTransformation(T,e.runtimeNode.computedTransform,new F),f=ce.transform(e.boundingSphere,u)}let d=He(Ve.fromCache(e.renderStateOptions),!0);d.cull.face=Zt.getCullFace(u,e.primitiveType),d=Ve.fromCache(d);let p=l(r.classificationType),g=p?!1:Tn.castShadows(r.shadows),m=p?!1:Tn.receiveShadows(r.shadows),x=p?void 0:e.pickId;return new Ze({boundingVolume:f,modelMatrix:u,uniformMap:e.uniformMap,renderState:d,vertexArray:o,shaderProgram:t,cull:r.cull,pass:s,count:e.count,owner:r,pickId:x,pickMetadataAllowed:!0,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:r.debugShowBoundingVolume,castShadows:g,receiveShadows:m})}function i9e(e){let t=e.wireframeIndexBuffer;if(l(t))return t;let n=e.indices;if(l(n))return n.buffer}var MM=Uce;function Au(e){e=y(e,y.EMPTY_OBJECT);let t=e.modelComponents;this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=F.clone(F.IDENTITY),this._computedModelMatrix2D=F.clone(F.IDENTITY),this._axisCorrectionMatrix=Zt.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new F),this._runtimeArticulations={},o9e(this)}Object.defineProperties(Au.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function o9e(e){let t=e._components,n=t.scene,o=e._model.modelMatrix;zce(e,o);let r=t.articulations,s=r.length,a=e._runtimeArticulations;for(let A=0;A<s;A++){let C=r[A],E=new _O({articulation:C,sceneGraph:e}),v=E.name;a[v]=E}let c=t.nodes,u=c.length;e._runtimeNodes=new Array(u);let d=n.nodes.length,p=F.IDENTITY;for(let A=0;A<d;A++){let C=n.nodes[A],E=Hce(e,C,p);e._rootNodes.push(E)}let g=t.skins,m=e._runtimeSkins,x=g.length;for(let A=0;A<x;A++){let C=g[A];m.push(new gM({skin:C,sceneGraph:e}))}let b=e._skinnedNodes,T=b.length;for(let A=0;A<T;A++){let C=b[A],E=e._runtimeNodes[C],D=c[C].skin.index;E._runtimeSkin=m[D],E.updateJointMatrices()}e.applyArticulations()}function zce(e,t){let n=e._components,i=e._model;e._computedModelMatrix=F.multiplyTransformation(t,n.transform,e._computedModelMatrix),e._computedModelMatrix=F.multiplyTransformation(e._computedModelMatrix,e._axisCorrectionMatrix,e._computedModelMatrix),e._computedModelMatrix=F.multiplyByUniformScale(e._computedModelMatrix,i.computedScale,e._computedModelMatrix)}var r9e=new h;function s9e(e,t){let n=e._computedModelMatrix,i=F.getTranslation(n,r9e);if(!h.equals(i,h.ZERO))e._computedModelMatrix2D=Lt.basisTo2D(t.mapProjection,n,e._computedModelMatrix2D);else{let o=e.boundingSphere.center,r=Lt.ellipsoidTo2DModelMatrix(t.mapProjection,o,e._computedModelMatrix2D);e._computedModelMatrix2D=F.multiply(r,n,e._computedModelMatrix2D)}e._boundingSphere2D=ce.transform(e._boundingSphere,e._computedModelMatrix2D,e._boundingSphere2D)}function Hce(e,t,n){let i=[],o=Zt.getNodeTransform(t),r=t.children.length;for(let f=0;f<r;f++){let d=t.children[f],p=F.multiplyTransformation(n,o,new F),g=Hce(e,d,p);i.push(g)}let s=new RO({node:t,transform:o,transformToRoot:n,children:i,sceneGraph:e}),a=t.primitives.length;for(let f=0;f<a;f++)s.runtimePrimitives.push(new _M({primitive:t.primitives[f],node:t,model:e._model}));let c=t.index;e._runtimeNodes[c]=s,l(t.skin)&&e._skinnedNodes.push(c);let u=t.name;if(l(u)){let f=e._model,d=new AO(f,s);f._nodesByName[u]=d}return c}var a9e=new h,c9e=new h,l9e=new h,u9e=new h;Au.prototype.buildDrawCommands=function(e){let t=this._model,n=new xM(t);t.statistics.clear(),this.configurePipeline(e);let i=this.modelPipelineStages,o,r,s;for(o=0;o<i.length;o++)i[o].process(n,t,e);let a=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,a9e),c=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,c9e);for(o=0;o<this._runtimeNodes.length;o++){let u=this._runtimeNodes[o];if(!l(u))continue;u.configurePipeline();let f=u.pipelineStages,d=new SM(n,u);for(r=0;r<f.length;r++)f[r].process(d,u.node,e);let p=u.computedTransform;for(r=0;r<u.runtimePrimitives.length;r++){let g=u.runtimePrimitives[r];g.configurePipeline(e);let m=g.pipelineStages,x=new wM(d,g);for(s=0;s<m.length;s++)m[s].process(x,g.primitive,e);g.boundingSphere=ce.clone(x.boundingSphere,new ce);let b=F.multiplyByPoint(p,x.positionMin,l9e),T=F.multiplyByPoint(p,x.positionMax,u9e);h.minimumByComponent(a,b,a),h.maximumByComponent(c,T,c);let A=MM.buildModelDrawCommand(x,e);g.drawCommand=A}}this._boundingSphere=ce.fromCornerPoints(a,c,new ce),this._boundingSphere=ce.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=ce.transform(this._boundingSphere,this._components.transform,this._boundingSphere),t._boundingSphere=ce.transform(this._boundingSphere,t.modelMatrix,t._boundingSphere),t._initialRadius=t._boundingSphere.radius,t._boundingSphere.radius*=t._clampedScale};Au.prototype.configurePipeline=function(e){let t=this.modelPipelineStages;t.length=0;let n=this._model,i=e.fog.enabled&&e.fog.renderable;l(n.color)&&t.push(wy),!l(n.classificationType)&&(n.imageBasedLighting.enabled&&t.push(mO),n.isClippingEnabled()&&t.push(xO),n.isClippingPolygonsEnabled()&&t.push(CO),n.hasSilhouette(e)&&t.push(CM),l(n.splitDirection)&&n.splitDirection!==zr.NONE&&t.push(EM),pr.is3DTiles(n.type)&&t.push(lO),i&&t.push(dO))};Au.prototype.update=function(e,t){let n,i,o;for(n=0;n<this._runtimeNodes.length;n++){let r=this._runtimeNodes[n];if(!l(r))continue;for(i=0;i<r.updateStages.length;i++)r.updateStages[i].update(r,this,e);let s=e.mode!==ne.SCENE3D&&this._model._projectTo2D;for(t&&!s&&this.updateJointMatrices(),i=0;i<r.runtimePrimitives.length;i++){let a=r.runtimePrimitives[i];for(o=0;o<a.updateStages.length;o++)a.updateStages[o].update(a,this)}}};Au.prototype.updateModelMatrix=function(e,t){zce(this,e),t.mode!==ne.SCENE3D&&s9e(this,t);let n=this._rootNodes;for(let i=0;i<n.length;i++){let o=this._runtimeNodes[n[i]];o._transformDirty=!0}};Au.prototype.updateJointMatrices=function(){let e=this._skinnedNodes,t=e.length;for(let n=0;n<t;n++){let i=e[n];this._runtimeNodes[i].updateJointMatrices()}};function Gce(e,t,n,i,o){if(n&&!t.show)return;let r=t.children.length;for(let c=0;c<r;c++){let u=t.getChild(c);Gce(e,u,n,i,o)}let s=t.runtimePrimitives,a=s.length;for(let c=0;c<a;c++){let u=s[c];i(u,o)}}function pz(e,t,n,i){let o=e._rootNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s],c=e._runtimeNodes[a];Gce(e,c,t,n,i)}}var f9e={backFaceCulling:void 0};Au.prototype.updateBackFaceCulling=function(e){let t=f9e;t.backFaceCulling=e,pz(this,!1,d9e,t)};function d9e(e,t){let n=e.drawCommand;n.backFaceCulling=t.backFaceCulling}var h9e={shadowMode:void 0};Au.prototype.updateShadows=function(e){let t=h9e;t.shadowMode=e,pz(this,!1,m9e,t)};function m9e(e,t){let n=e.drawCommand;n.shadows=t.shadowMode}var p9e={debugShowBoundingVolume:void 0};Au.prototype.updateShowBoundingVolume=function(e){let t=p9e;t.debugShowBoundingVolume=e,pz(this,!1,_9e,t)};function _9e(e,t){let n=e.drawCommand;n.debugShowBoundingVolume=t.debugShowBoundingVolume}var Wce=[],g9e={frameState:void 0,hasSilhouette:void 0};Au.prototype.pushDrawCommands=function(e){let t=Wce;t.length=0;let n=g9e;n.hasSilhouette=this._model.hasSilhouette(e),n.frameState=e,pz(this,!0,y9e,n),e.commandList.push.apply(e.commandList,t)};function y9e(e,t){let n=t.frameState,i=t.hasSilhouette,o=n.passes,r=Wce,s=e.drawCommand;s.pushCommands(n,n.commandList),i&&!o.pick&&s.pushSilhouetteCommands(n,r)}Au.prototype.setArticulationStage=function(e,t){let n=e.split(" ");if(n.length!==2)return;let i=n[0],o=n[1],r=this._runtimeArticulations[i];l(r)&&r.setArticulationStage(o,t)};Au.prototype.applyArticulations=function(){let e=this._runtimeArticulations;for(let t in e)e.hasOwnProperty(t)&&e[t].apply()};var LM=Au;function Ry(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdByteLengths={},this._batchTextureIdMap=new Dt}Object.defineProperties(Ry.prototype,{batchTexturesByteLength:{get:function(){let e=this._batchTextureIdMap.length,t=this._batchTextureIdMap.values,n=0;for(let i=0;i<e;i++)n+=t[i].byteLength;return n}}});Ry.prototype.clear=function(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdByteLengths={},this._batchTextureIdMap.removeAll()};Ry.prototype.addBuffer=function(e,t){if(!this._bufferIdSet.hasOwnProperty(e._id)){let n=t?2:1;this.geometryByteLength+=e.sizeInBytes*n}this._bufferIdSet[e._id]=!0};Ry.prototype.addTexture=function(e){this._textureIdByteLengths.hasOwnProperty(e._id)||(this.texturesByteLength+=e.sizeInBytes,this._textureIdByteLengths[e._id]=e.sizeInBytes)};Ry.prototype.getTextureIds=function(){return Object.keys(this._textureIdByteLengths)};Ry.prototype.getTextureByteLengthById=function(e){return this._textureIdByteLengths[e]};Ry.prototype.addBatchTexture=function(e){this._batchTextureIdMap.contains(e._id)||this._batchTextureIdMap.set(e._id,e)};var NM=Ry;var Xce=Wo(oV(),1);var jce={},vb=Uint32Array.BYTES_PER_ELEMENT;jce.parse=function(e,t){t=y(t,0);let n=new Uint8Array(e),i=new DataView(e);t+=vb;let o=i.getUint32(t,!0);if(o!==1)throw new se(`Only Point Cloud tile version 1 is supported. Version ${o} is not.`);t+=vb,t+=vb;let r=i.getUint32(t,!0);if(r===0)throw new se("Feature table must have a byte length greater than zero");t+=vb;let s=i.getUint32(t,!0);t+=vb;let a=i.getUint32(t,!0);t+=vb;let c=i.getUint32(t,!0);t+=vb;let u=Bo(n,t,r);t+=r;let f=new Uint8Array(e,t,s);t+=s;let d,p;a>0&&(d=Bo(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new Zd(u,f),m=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=m,!l(m))throw new se("Feature table global property: POINTS_LENGTH must be defined");let x=g.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(x)&&(x=h.unpack(x));let b=x9e(g,d);if(b.rtcCenter=x,b.pointsLength=m,!b.hasPositions){let T=b9e(g);b.positions=T,b.hasPositions=b.hasPositions||l(T)}if(!b.hasPositions)throw new se("Either POSITION or POSITION_QUANTIZED must be defined.");if(!b.hasNormals){let T=C9e(g);b.normals=T,b.hasNormals=b.hasNormals||l(T)}if(!b.hasColors){let T=T9e(g);b.colors=T,b.hasColors=b.hasColors||l(T),b.hasConstantColor=l(b.constantColor),b.isTranslucent=l(T)&&T.isTranslucent}if(!b.hasBatchIds){let T=A9e(g);b.batchIds=T,b.hasBatchIds=b.hasBatchIds||l(T)}if(b.hasBatchIds){let T=g.getGlobalProperty("BATCH_LENGTH");if(!l(T))throw new se("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");b.batchLength=T}return l(p)&&(p=new Uint8Array(p),b.batchTableJson=d,b.batchTableBinary=p),b};function x9e(e,t){let n=e.json,i,o,r,s=l(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=l(t)&&l(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;l(a)&&(r=a.properties);let c,u,f,d,p;if(l(s)){o=s.properties;let m=s.byteOffset,x=s.byteLength;if(!l(o)||!l(m)||!l(x))throw new se("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(m,m+x),c=l(o.POSITION),u=l(o.RGB)||l(o.RGBA),f=l(o.NORMAL),d=l(o.BATCH_ID),p=l(o.RGBA)}let g;return l(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:Ct(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:u,isTranslucent:p,hasNormals:f,hasBatchIds:d}}function b9e(e){let t=e.json,n;if(l(t.POSITION))return n=e.getPropertyArray("POSITION",X.FLOAT,3),{name:St.POSITION,semantic:St.POSITION,typedArray:n,isQuantized:!1,componentDatatype:X.FLOAT,type:an.VEC3};if(l(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(i))throw new se("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=65535,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(r))throw new se("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:St.POSITION,semantic:St.POSITION,typedArray:n,isQuantized:!0,componentDatatype:X.FLOAT,type:an.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:X.UNSIGNED_SHORT,quantizedType:an.VEC3}}}function T9e(e){let t=e.json,n;if(l(t.RGBA))return n=e.getPropertyArray("RGBA",X.UNSIGNED_BYTE,4),{name:St.COLOR,semantic:St.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:an.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(l(t.RGB))return n=e.getPropertyArray("RGB",X.UNSIGNED_BYTE,3),{name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:an.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(l(t.RGB565))return n=e.getPropertyArray("RGB565",X.UNSIGNED_SHORT,1),{name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n,componentDatatype:X.FLOAT,type:an.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(l(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",X.UNSIGNED_BYTE,4),o=i[3],r=H.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:St.COLOR,semantic:St.COLOR,setIndex:0,constantColor:r,componentDatatype:X.FLOAT,type:an.VEC4,isQuantized:!1,isTranslucent:s}}}function C9e(e){let t=e.json,n;if(l(t.NORMAL))return n=e.getPropertyArray("NORMAL",X.FLOAT,3),{name:St.NORMAL,semantic:St.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:X.FLOAT,type:an.VEC3};if(l(t.NORMAL_OCT16P))return n=e.getPropertyArray("NORMAL_OCT16P",X.UNSIGNED_BYTE,2),{name:St.NORMAL,semantic:St.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<8)-1,quantizedType:an.VEC2,quantizedComponentDatatype:X.UNSIGNED_BYTE,componentDatatype:X.FLOAT,type:an.VEC3}}function A9e(e){let t=e.json;if(l(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",X.UNSIGNED_SHORT,1);return{name:St.FEATURE_ID,semantic:St.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:X.fromTypedArray(n),type:an.SCALAR}}}var wb=jce;var E9e=Cn.Components,S9e=Cn.Scene,v9e=Cn.Node,w9e=Cn.Primitive,D9e=Cn.Attribute,qce=Cn.Quantization,I9e=Cn.FeatureIdAttribute,P9e=Cn.Material,R9e=Cn.MetallicRoughness;function Oy(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._error=void 0,this._state=yt.UNLOADED,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(Oy.prototype=Object.create(Ki.prototype),Oy.prototype.constructor=Oy);Object.defineProperties(Oy.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});Oy.prototype.load=function(){if(l(this._promise))return this._promise;this._parsedContent=wb.parse(this._arrayBuffer,this._byteOffset),this._state=yt.PROCESSING,this._promise=Promise.resolve(this)};Oy.prototype.process=function(e){if(l(this._error)){let t=this._error;throw this._error=void 0,t}if(this._state===yt.READY)return!0;if(this._state===yt.PROCESSING){if(l(this._decodePromise))return!1;this._decodePromise=O9e(this,e.context)}return!1};function O9e(e,t){let i=e._parsedContent.draco,o;if(l(i)?o=$p.decodePointCloud(i,t):o=Promise.resolve(),!!l(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return l(r)&&M9e(e,i,r),W9e(e,t),e._state=yt.READY,e}).catch(function(r){e.unload(),e._state=yt.FAILED;let s="Failed to load Draco pnts";e._error=e.getError(s,r)})}function M9e(e,t,n){e._state=yt.READY;let i=e._parsedContent,o;if(l(n.POSITION)){if(o={name:"POSITION",semantic:St.POSITION,typedArray:n.POSITION.array,componentDatatype:X.FLOAT,type:an.VEC3,isQuantized:!1},l(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,u=h.fromElements(c,c,c),f=h.unpack(a.minValues),d=(1<<a.quantizationBits)-1;o.isQuantized=!0,o.quantizedRange=d,o.quantizedVolumeOffset=f,o.quantizedVolumeScale=u,o.quantizedComponentDatatype=d<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT,o.quantizedType=an.VEC3}i.positions=o}if(l(n.NORMAL)){if(o={name:"NORMAL",semantic:St.NORMAL,typedArray:n.NORMAL.array,componentDatatype:X.FLOAT,type:an.VEC3,isQuantized:!1,octEncoded:!1,octEncodedZXY:!1},l(n.NORMAL.data.quantization)){let a=(1<<n.NORMAL.data.quantization.quantizationBits)-1;o.quantizedRange=a,o.octEncoded=!0,o.octEncodedZXY=!0,o.quantizedComponentDatatype=X.UNSIGNED_BYTE,o.quantizedType=an.VEC2}i.normals=o}if(l(n.RGBA)?i.colors={name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n.RGBA.array,componentDatatype:X.UNSIGNED_BYTE,type:an.VEC4,normalized:!0,isTranslucent:!0}:l(n.RGB)&&(i.colors={name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n.RGB.array,componentDatatype:X.UNSIGNED_BYTE,type:an.VEC3,normalized:!0,isTranslucent:!1}),l(n.BATCH_ID)){let a=n.BATCH_ID.array;i.batchIds={name:"_FEATURE_ID",semantic:St.FEATURE_ID,setIndex:0,typedArray:a,componentDatatype:X.fromTypedArray(a),type:an.SCALAR}}let r=i.batchTableJson,s=t.batchTableProperties;for(let a in s)if(s.hasOwnProperty(a)){let c=n[a];l(r)||(r={}),i.hasDracoBatchTable=!0;let u=c.data;r[a]={byteOffset:u.byteOffset,type:L9e(u.componentsPerAttribute),componentType:N9e(u.componentDatatype),typedArray:c.array}}i.batchTableJson=r}function L9e(e){switch(e){case 1:return"SCALAR";case 2:return"VEC2";case 3:return"VEC3";case 4:return"VEC4"}}function N9e(e){switch(e){case te.BYTE:return"BYTE";case te.UNSIGNED_BYTE:return"UNSIGNED_BYTE";case te.SHORT:return"SHORT";case te.UNSIGNED_SHORT:return"UNSIGNED_SHORT";case te.INT:return"INT";case te.UNSIGNED_INT:return"UNSIGNED_INT";case te.DOUBLE:return"DOUBLE";case te.FLOAT:return"FLOAT"}}function FM(e,t,n){let i=t.typedArray,o;if(t.octEncoded&&(o=new qce,o.octEncoded=t.octEncoded,o.octEncodedZXY=t.octEncodedZXY,o.normalizationRange=t.quantizedRange,o.type=t.quantizedType,o.componentDatatype=t.quantizedComponentDatatype),t.isQuantized){o=new qce;let a=t.quantizedRange;o.normalizationRange=a,o.quantizedVolumeOffset=h.ZERO;let c=t.quantizedVolumeScale;o.quantizedVolumeDimensions=c,o.quantizedVolumeStepSize=h.divideByScalar(c,a,new h),o.componentDatatype=t.quantizedComponentDatatype,o.type=t.quantizedType}let r=new D9e;if(r.name=t.name,r.semantic=t.semantic,r.setIndex=t.setIndex,r.componentDatatype=t.componentDatatype,r.type=t.type,r.normalized=y(t.normalized,!1),r.min=t.min,r.max=t.max,r.quantization=o,t.isRGB565&&(i=Nn.decodeRGB565(i)),l(t.constantColor)){let a=new Array(4);r.constant=H.pack(t.constantColor,a)}else{let a=xt.createVertexBuffer({typedArray:i,context:n,usage:Be.STATIC_DRAW});a.vertexArrayDestroyable=!1,e._buffers.push(a),r.buffer=a}let s=e._loadAttributesFor2D;return r.semantic===St.POSITION&&s&&(r.typedArray=i),r}var Yce,_z;function F9e(e){if(!l(_z)){Yce=new Xce.default(0),_z=new Array(e);for(let t=0;t<e;++t)_z[t]=Yce.random()}return _z}var B9e=new h,k9e=new h,V9e=new h;function U9e(e){let t=e.typedArray,n=20,i=t.length/3,o=Math.min(i,n),r=F9e(n),s=Number.MAX_VALUE,a=-Number.MAX_VALUE,c=h.fromElements(s,s,s,B9e),u=h.fromElements(a,a,a,k9e),f,d,p;if(e.isQuantized)c=h.ZERO,u=e.quantizedVolumeScale;else for(f=0;f<o;++f)d=Math.floor(r[f]*i),p=h.unpack(t,d*3,V9e),h.minimumByComponent(c,p,c),h.maximumByComponent(u,p,u);e.min=h.clone(c),e.max=h.clone(u)}var z9e={name:St.COLOR,semantic:St.COLOR,setIndex:0,constantColor:H.DARKGRAY,componentDatatype:X.FLOAT,type:an.VEC4,isQuantized:!1,isTranslucent:!1};function H9e(e,t,n){let i=[],o,r=t.positions;return l(r)&&(U9e(r),o=FM(e,r,n),o.count=t.pointsLength,i.push(o)),l(t.normals)&&(o=FM(e,t.normals,n),i.push(o)),l(t.colors)?(o=FM(e,t.colors,n),i.push(o)):(o=FM(e,z9e,n),i.push(o)),l(t.batchIds)&&(o=FM(e,t.batchIds,n),i.push(o)),i}function G9e(e,t){let n=e.batchLength,i=e.pointsLength,o=e.batchTableBinary,r=!l(e.batchIds);if(l(o)||e.hasDracoBatchTable){let s=y(n,i);return u_({count:s,batchTable:e.batchTableJson,binaryBody:o,parseAsPropertyAttributes:r,customAttributeOutput:t})}return new $s({schema:{},propertyTables:[]})}function W9e(e,t){let n=e._parsedContent,i=new R9e;i.metallicFactor=0,i.roughnessFactor=.9;let o=new P9e;o.metallicRoughness=i;let r=n.colors;l(r)&&r.isTranslucent&&(o.alphaMode=hm.BLEND);let s=!l(n.normals);o.unlit=s;let a=new w9e;if(a.attributes=H9e(e,n,t),a.primitiveType=Ne.POINTS,a.material=o,l(n.batchIds)){let g=new I9e;g.propertyTableId=0,g.setIndex=0,g.positionalLabel="featureId_0",a.featureIds.push(g)}let c=new v9e;c.index=0,c.primitives=[a];let u=new S9e;u.nodes=[c],u.upAxis=Fo.Z,u.forwardAxis=Fo.X;let f=new E9e;f.scene=u,f.nodes=[c];let d=[];f.structuralMetadata=G9e(n,d),d.length>0&&j9e(e,a,d,t),l(n.rtcCenter)&&(f.transform=F.multiplyByTranslation(f.transform,n.rtcCenter,f.transform));let p=n.positions;l(p)&&p.isQuantized&&(f.transform=F.multiplyByTranslation(f.transform,p.quantizedVolumeOffset,f.transform)),e._components=f,e._parsedContent=void 0,e._arrayBuffer=void 0}function j9e(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=xt.createVertexBuffer({typedArray:a.typedArray,context:i,usage:Be.STATIC_DRAW});c.vertexArrayDestroyable=!1,e._buffers.push(c),a.buffer=c,a.typedArray=void 0,o.push(a)}t.propertyAttributeIds=[0]}Oy.prototype.unload=function(){let e=this._buffers;for(let t=0;t<e.length;t++)e[t].destroy();e.length=0,this._components=void 0,this._parsedContent=void 0,this._arrayBuffer=void 0};var BM=Oy;var q9e=new h,Y9e=new h,X9e=new h,K9e=new F,Z9e=new F,$9e=new F,Q9e=new fe,J9e=new ce;function aE(e,t,n,i,o,r,s){if(!e._ready||n.mode===ne.MORPHING)return;let a=Number.MAX_VALUE,c=e.sceneGraph,u=c._runtimeNodes;for(let f=0;f<u.length;f++){let d=u[f],p=d.node,g=F.clone(d.computedTransform,K9e),m=F.clone(c.computedModelMatrix,Z9e),x=p.instances;l(x)&&x.transformInWorldSpace&&(m=F.multiplyTransformation(e.modelMatrix,c.components.transform,m),g=F.multiplyTransformation(c.axisCorrectionMatrix,d.computedTransform,g));let b=F.multiplyTransformation(m,g,$9e);n.mode!==ne.SCENE3D&&(b=Lt.basisTo2D(n.mapProjection,b,b));let T=[];if(l(x)){let C=x.attributes[0].count,E=x.attributes[0].componentDatatype,v=12,D=d.transformsTypedArray;if(!l(D)){let O=d.instancingTransformsBuffer;l(O)&&n.context.webgl2&&(D=X.createTypedArray(E,C*v),O.getBufferData(D))}if(l(D))for(let O=0;O<C;O++){let R=O*v,M=new F(D[R],D[R+1],D[R+2],D[R+3],D[R+4],D[R+5],D[R+6],D[R+7],D[R+8],D[R+9],D[R+10],D[R+11],0,0,0,1);x.transformInWorldSpace?(F.multiplyTransformation(M,g,M),F.multiplyTransformation(m,M,M)):F.multiplyTransformation(M,b,M),T.push(M)}}T.length===0&&T.push(b);let A=d.runtimePrimitives.length;for(let C=0;C<A;C++){let E=d.runtimePrimitives[C],v=E.primitive;if(l(E.boundingSphere)&&!l(x)){let Y=ce.transform(E.boundingSphere,b,J9e),Q=ei.raySphere(t,Y);if(!l(Q))continue}let D=Zt.getAttributeBySemantic(v,St.POSITION),O=D.byteOffset,R=D.byteStride,M=D.count;if(!l(v.indices))continue;let N=v.indices.typedArray;if(!l(N)){let Y=v.indices.buffer,Q=v.indices.count,j=v.indices.indexDatatype;l(Y)&&n.context.webgl2&&(j===Fe.UNSIGNED_BYTE?N=new Uint8Array(Q):j===Fe.UNSIGNED_SHORT?N=new Uint16Array(Q):j===Fe.UNSIGNED_INT&&(N=new Uint32Array(Q)),Y.getBufferData(N))}let _=D.typedArray,S=D.componentDatatype,w=D.type,I=D.quantization;l(I)&&(S=D.quantization.componentDatatype,w=D.quantization.type);let L=an.getNumberOfComponents(w),B=X.getSizeInBytes(S),U=!l(_)&&l(R)&&R!==L*B,V=L,G=0;U&&(V=R/B,G=O/B);let k=M*V;if(!l(_)){let Y=D.buffer;l(Y)&&n.context.webgl2&&(_=X.createTypedArray(S,k),Y.getBufferData(_,U?0:O,0,k)),I&&D.normalized&&(_=Nn.dequantize(_,S,w,M))}if(!l(N)||!l(_))return;r=y(r,ee.default),i=y(i,1),o=y(o,0);let W=N.length;for(let Y=0;Y<W;Y+=3){let Q=N[Y],j=N[Y+1],Z=N[Y+2];for(let J of T){let he=lj(_,Q,G,V,I,J,i,o,r,q9e),xe=lj(_,j,G,V,I,J,i,o,r,Y9e),re=lj(_,Z,G,V,I,J,i,o,r,X9e),_e=ei.rayTriangleParametric(t,he,xe,re,y(e.backFaceCulling,!0));l(_e)&&_e<a&&_e>=0&&(a=_e)}}}}if(a!==Number.MAX_VALUE){if(s=yn.getPoint(t,a,s),n.mode!==ne.SCENE3D){h.fromElements(s.y,s.z,s.x,s);let f=n.mapProjection,d=f.ellipsoid,p=f.unproject(s,Q9e);d.cartographicToCartesian(p,s)}return s}}function lj(e,t,n,i,o,r,s,a,c,u){let f=n+t*i;if(u.x=e[f],u.y=e[f+1],u.z=e[f+2],l(o))if(o.octEncoded){if(u=Nn.octDecodeInRange(u,o.normalizationRange,u),o.octEncodedZXY){let d=u.x;u.x=u.z,u.z=u.y,u.y=d}}else u=h.multiplyComponents(u,o.quantizedVolumeStepSize,u),u=h.add(u,o.quantizedVolumeOffset,u);return u=F.multiplyByPoint(r,u,u),s!==1&&Dr.getPosition(u,c,s,a,u),u}function po(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,pr.GLTF),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=l(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=$.clone($.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new rO(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=H.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,hc.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,H.RED);this._silhouetteColor=H.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,ve.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new ce,this._initialRadius=void 0,this._heightReference=y(e.heightReference,qe.NONE),this._heightDirty=this._heightReference!==qe.NONE,this._removeUpdateHeightCallback=void 0,this._enableVerticalExaggeration=y(e.enableVerticalExaggeration,!0),this._hasVerticalExaggeration=!1,this._clampedModelMatrix=void 0;let o=e.scene;l(o)&&l(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(()=>{this._heightDirty=!0})),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new pm(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;l(s)&&s.owner===void 0?Ts.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=F.clone(F.IDENTITY);let a=e.clippingPolygons;l(a)&&a.owner===void 0?qd.setOwner(a,this,"_clippingPolygons"):this._clippingPolygons=a,this._clippingPolygonsState=0,this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=l(e.imageBasedLighting)?e.imageBasedLighting:new Kx,this._shouldDestroyImageBasedLighting=!l(e.imageBasedLighting),this._environmentMapManager=void 0;let c=new i_(e.environmentMapOptions);i_.setOwner(c,this,"_environmentMapManager"),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,Tn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1),this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===pr.GLTF&&bt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.");let u=e.credit;typeof u=="string"&&(u=new At(u)),this._credits=[],this._credit=u,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,zr.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,H.BLACK),this._classificationType=e.classificationType,this._statistics=new NM,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this._fogRenderable=void 0,this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._errorEvent=new me,this._readyEvent=new me,this._texturesReadyEvent=new me,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=e.pickObject,this._marsOptions=y(e.marsOptions,{})}function uj(e,t){if(e._errorEvent.numberOfListeners>0){e._errorEvent.raiseEvent(t);return}console.log(t)}function eWe(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r<o;r++){let s=i[r],a=new cO({model:e,propertyTable:s});n.push(a)}return n}function tWe(e,t){let n=t._featureIdLabel,i=t._instanceFeatureIdLabel,o,r,s,a;for(o=0;o<e.nodes.length;o++)if(a=e.nodes[o],l(a.instances)&&(s=Zt.getFeatureIdsByLabel(a.instances.featureIds,i),l(s)&&l(s.propertyTableId)))return s.propertyTableId;for(o=0;o<e.nodes.length;o++)for(a=e.nodes[o],r=0;r<a.primitives.length;r++){let c=a.primitives[r],u=Zt.getFeatureIdsByLabel(c.featureIds,n);if(l(u))return u.propertyTableId}if(t._featureTables.length===1)return 0}function hj(e,t){if(!l(e)&&!l(t))return!1;if(l(e)!==l(t))return!0;let n=e.alpha,i=t.alpha;return Math.floor(n)!==Math.floor(i)||Math.ceil(n)!==Math.ceil(i)}Object.defineProperties(po.prototype,{ready:{get:function(){return this._ready}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},incrementallyLoadTextures:{get:function(){return y(this._loader.incrementallyLoadTextures,!1)}},texturesReadyEvent:{get:function(){return this._texturesReadyEvent}},loader:{get:function(){return this._loader}},statistics:{get:function(){return this._statistics}},activeAnimations:{get:function(){return this._activeAnimations}},clampAnimations:{get:function(){return this._clampAnimations},set:function(e){this._clampAnimations=e}},cull:{get:function(){return this._cull}},opaquePass:{get:function(){return this._opaquePass}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){e!==this._pointCloudShading&&this.resetDrawCommands(),this._pointCloudShading=e}},customShader:{get:function(){return this._customShader},set:function(e){e!==this._customShader&&this.resetDrawCommands(),this._customShader=e}},sceneGraph:{get:function(){return this._sceneGraph}},content:{get:function(){return this._content}},heightReference:{get:function(){return this._heightReference},set:function(e){e!==this._heightReference&&(this._heightDirty=!0),this._heightReference=e}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=Nt.clone(e,this._distanceDisplayCondition)}},structuralMetadata:{get:function(){return this._sceneGraph.components.structuralMetadata}},featureTableId:{get:function(){return this._featureTableId},set:function(e){this._featureTableId=e}},featureTables:{get:function(){return this._featureTables},set:function(e){this._featureTables=e}},id:{get:function(){return this._id},set:function(e){e!==this._id&&(this._idDirty=!0),this._id=e}},allowPicking:{get:function(){return this._allowPicking}},style:{get:function(){return this._style},set:function(e){this._style=e,this._styleDirty=!0}},color:{get:function(){return this._color},set:function(e){hj(e,this._color)&&this.resetDrawCommands(),this._color=H.clone(e,this._color)}},colorBlendMode:{get:function(){return this._colorBlendMode},set:function(e){this._colorBlendMode=e}},colorBlendAmount:{get:function(){return this._colorBlendAmount},set:function(e){this._colorBlendAmount=e}},silhouetteColor:{get:function(){return this._silhouetteColor},set:function(e){if(!H.equals(e,this._silhouetteColor)){let t=hj(e,this._silhouetteColor);this._silhouetteDirty=this._silhouetteDirty||t}this._silhouetteColor=H.clone(e,this._silhouetteColor)}},silhouetteSize:{get:function(){return this._silhouetteSize},set:function(e){if(e!==this._silhouetteSize){let t=this._silhouetteSize,n=e>0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=l(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return $ce(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===pr.GLTF&&bt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(Ts.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){e!==this._clippingPolygons&&(qd.setOwner(e,this,"_clippingPolygons"),this.resetDrawCommands())}},enableVerticalExaggeration:{get:function(){return this._enableVerticalExaggeration},set:function(e){e!==this._enableVerticalExaggeration&&this.resetDrawCommands(),this._enableVerticalExaggeration=e}},hasVerticalExaggeration:{get:function(){return this._hasVerticalExaggeration}},lightColor:{get:function(){return this._lightColor},set:function(e){l(e)!==l(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},environmentMapManager:{get:function(){return this._environmentMapManager},set:function(e){e!==this.environmentMapManager&&(i_.setOwner(e,this,"_environmentMapManager"),this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});po.prototype.getNode=function(e){return this._nodesByName[e]};po.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};po.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};po.prototype.getExtension=function(e){return this._loader.components.extensions[e]};po.prototype.makeStyleDirty=function(){this._styleDirty=!0};po.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var nWe=new F,iWe=new $,oWe=new F;po.prototype.update=function(e){let t=!1;try{t=rWe(this,e)}catch(n){if(!this._loader.incrementallyLoadTextures&&n.name==="TextureError")uj(this,n);else{let i=Zt.getError("model",this._resource,n);uj(this,i)}}if(cWe(this,e),sWe(this,e),aWe(this,e),lWe(this,e),!this._resourcesLoaded&&t){this._resourcesLoaded=!0;let n=this._loader.components;if(!l(n)){if(this._loader.isUnloaded())return;let r=Zt.getError("model",this._resource,new se("Failed to load model."));uj(r),this._rejectLoad=this._rejectLoad&&this._rejectLoad(r)}let i=n.structuralMetadata;l(i)&&i.propertyTableCount>0&&eWe(this,i);let o=new LM({model:this,modelComponents:n});this._sceneGraph=o,this._gltfCredits=o.components.asset.credits}if(!(!this._resourcesLoaded||e.mode===ne.MORPHING)){if(uWe(this),fWe(this),dWe(this,e),hWe(this),mWe(this,e),pWe(this,e),_We(this,e),gWe(this,e),yWe(this,e),xWe(this,e),bWe(this,e),this._defaultTexture=e.context.defaultTexture,TWe(this,e),CWe(this,e),AWe(this),EWe(this,e),DWe(this,e),!this._ready){e.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this)});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this)),vWe(this),IWe(this,e),PWe(this),RWe(this,e)}};function rWe(e,t){return!e._resourcesLoaded||e._loader.incrementallyLoadTextures&&!e._texturesLoaded?(t.afterRender.push(()=>!0),e._loader.process(t)):!0}function sWe(e,t){l(e._customShader)&&e._customShader.update(t)}function aWe(e,t){let n=e._environmentMapManager,i=t.passes.pick||t.passes.pickVoxel;e._ready&&n.owner===e&&!i&&(n.position=e._boundingSphere.center,n.shouldUpdate=!l(e._imageBasedLighting.sphericalHarmonicCoefficients)||!l(e._imageBasedLighting.specularEnvironmentMaps),n.update(t),n.shouldRegenerateShaders&&e.resetDrawCommands())}function cWe(e,t){if(l(e._marsOptions)&&l(e._marsOptions.customShaders)){let n=Dp.getCache(e._marsOptions.customShaders);for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&n[i].update(t)}}function lWe(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function uWe(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;l(n)&&n.propertyTableCount>0&&(e.featureTableId=tWe(t,e),e._styleDirty=!0,e.resetDrawCommands())}function fWe(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function dWe(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r<i;r++)n[r].update(t),n[r].styleCommandsNeededDirty&&(o=!0);o&&Zce(e)}function Zce(e){let t=e.featureTables[e.featureTableId];e._styleCommandsNeeded=Qd.getStyleCommandsNeeded(t.featuresLength,t.batchTexture.translucentFeaturesLength)}function hWe(e){let t=e.pointCloudShading;t.attenuation!==e._attenuation&&(e.resetDrawCommands(),e._attenuation=t.attenuation),t.backFaceCulling!==e._pointCloudBackFaceCulling&&(e.resetDrawCommands(),e._pointCloudBackFaceCulling=t.backFaceCulling)}function mWe(e,t){e._silhouetteDirty&&(Qce(t)&&e.resetDrawCommands(),e._silhouetteDirty=!1)}function pWe(e,t){let n=e.hasSkipLevelOfDetail(t);n!==e._skipLevelOfDetail&&(e.resetDrawCommands(),e._skipLevelOfDetail=n)}function _We(e,t){let n=0;e.isClippingEnabled()&&(e._clippingPlanes.owner===e&&e._clippingPlanes.update(t),n=e._clippingPlanes.clippingPlanesState),n!==e._clippingPlanesState&&(e.resetDrawCommands(),e._clippingPlanesState=n)}function gWe(e,t){let n=0;e.isClippingPolygonsEnabled()&&(e._clippingPolygons.owner===e&&(e._clippingPolygons.update(t),e._clippingPolygons.queueCommands(t)),n=e._clippingPolygons.clippingPolygonsState),n!==e._clippingPolygonsState&&(e.resetDrawCommands(),e._clippingPolygonsState=n)}function yWe(e,t){t.mode!==e._sceneMode&&(e._projectTo2D?e.resetDrawCommands():e._updateModelMatrix=!0,e._sceneMode=t.mode)}function xWe(e,t){let n=t.fog.enabled&&t.fog.renderable;n!==e._fogRenderable&&(e.resetDrawCommands(),e._fogRenderable=n)}function bWe(e,t){if(e.enableVerticalExaggeration){let n=t.verticalExaggeration!==1;e.hasVerticalExaggeration!==n&&(e.resetDrawCommands(),e._hasVerticalExaggeration=n)}else e.hasVerticalExaggeration&&(e.resetDrawCommands(),e._hasVerticalExaggeration=!1)}function TWe(e,t){e._drawCommandsBuilt||(e.destroyPipelineResources(),e._sceneGraph.buildDrawCommands(t),e._drawCommandsBuilt=!0)}function CWe(e,t){F.equals(e.modelMatrix,e._modelMatrix)||(e._updateModelMatrix=!0,e._modelMatrix=F.clone(e.modelMatrix,e._modelMatrix))}var My=new h,fj=new fe;function AWe(e){if(!e._updateModelMatrix&&!e._heightDirty&&e._minimumPixelSize===0)return;l(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);let t=e._scene;if(!l(t)||e.heightReference===qe.NONE){e._clampedModelMatrix=void 0;return}let n=y(t.ellipsoid,ee.default),i=e.modelMatrix;My.x=i[12],My.y=i[13],My.z=i[14];let o=n.cartesianToCartographic(My);if(!l(o)){e._clampedModelMatrix=void 0;return}l(e._clampedModelMatrix)||(e._clampedModelMatrix=F.clone(i,new F)),e._removeUpdateHeightCallback=t.updateHeight(o,Kce(e,n,o),e.heightReference);let r=t.getHeight(o,e.heightReference);if(l(r)){let s=Kce(e,n,o);fe.clone(o,fj),fj.height=r,s(fj)}e._heightDirty=!1,e._updateModelMatrix=!0}function EWe(e,t){if(!e._updateModelMatrix&&e._minimumPixelSize===0)return;let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;$ce(e,n),SWe(e,n,t)}function $ce(e,t){e._clampedScale=l(e._maximumScale)?Math.min(e._scale,e._maximumScale):e._scale,e._boundingSphere.center=h.multiplyByScalar(e._sceneGraph.boundingSphere.center,e._clampedScale,e._boundingSphere.center),e._boundingSphere.radius=e._initialRadius*e._clampedScale,e._boundingSphere=ce.transform(e._boundingSphere,t,e._boundingSphere)}function SWe(e,t,n){let i=e.scale;if(e.minimumPixelSize!==0&&!e._projectTo2D){let o=n.context,r=Math.max(o.drawingBufferWidth,o.drawingBufferHeight);F.getTranslation(t,My),e._sceneMode!==ne.SCENE3D&&Hi.computeActualEllipsoidPosition(n,My,My);let s=e._boundingSphere.radius,a=OWe(My,s,n),c=1/a;Math.min(c*(2*s),r)<e.minimumPixelSize&&(i=e.minimumPixelSize*a/(2*e._initialRadius))}e._computedScale=l(e.maximumScale)?Math.min(e.maximumScale,i):i}function vWe(e){if(!e._idDirty)return;e._idDirty=!1;let t=e._id,n=e._pickIds,i=n.length;for(let o=0;o<i;++o)n[o].object.id=t}var wWe=new $(1,0,0,0,0,1,0,-1,0);function DWe(e,t){let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix,i=y(e.referenceMatrix,n),o=t.context,r=e._imageBasedLighting;if(r.useSphericalHarmonicCoefficients||r.useSpecularEnvironmentMaps){let s=iWe,a=nWe;a=F.multiply(o.uniformState.view3D,i,a),s=F.getRotation(a,s),s=$.transpose(s,s),e._iblReferenceFrameMatrix=$.multiply(wWe,s,e._iblReferenceFrameMatrix)}if(e.isClippingEnabled()){let s=oWe;s=F.multiply(o.uniformState.view3D,i,s),s=F.multiply(s,e._clippingPlanes.modelMatrix,s),e._clippingPlanesMatrix=F.inverseTranspose(s,e._clippingPlanesMatrix)}}function IWe(e,t){let n=e._sceneGraph;if(e._updateModelMatrix||e._minimumPixelSize!==0){let o=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;n.updateModelMatrix(o,t),e._updateModelMatrix=!1}e._backFaceCullingDirty&&(n.updateBackFaceCulling(e._backFaceCulling),e._backFaceCullingDirty=!1),e._shadowsDirty&&(n.updateShadows(e._shadows),e._shadowsDirty=!1),e._debugShowBoundingVolumeDirty&&(n.updateShowBoundingVolume(e._debugShowBoundingVolume),e._debugShowBoundingVolumeDirty=!1);let i=!1;l(e.classificationType)||(i=e._userAnimationDirty||e._activeAnimations.update(t)),n.update(t,i),e._userAnimationDirty=!1}function PWe(e){if(!e._showCreditsOnScreenDirty)return;e._showCreditsOnScreenDirty=!1,e._credits.length=0;let t=e._showCreditsOnScreen;if(l(e._credit)){let s=At.clone(e._credit);s.showOnScreen=s.showOnScreen||t,e._credits.push(s)}let n=e._resourceCredits,i=n.length;for(let s=0;s<i;s++){let a=At.clone(n[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}let o=e._gltfCredits,r=o.length;for(let s=0;s<r;s++){let a=At.clone(o[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}}function RWe(e,t){let n=LWe(e,t),i=e.isInvisible(),o=e.hasSilhouette(t),r=e._show&&e._computedScale!==0&&n&&(!i||o),s=t.passes,a=s.render||s.pick&&e.allowPicking;r&&!e._ignoreCommands&&a&&(NWe(e,t),e._sceneGraph.pushDrawCommands(t))}var dj=new ce;function OWe(e,t,n){return dj.center=e,dj.radius=t,n.camera.getPixelSize(dj,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}var gz=new h;function Kce(e,t,n){return function(i){oA(e.heightReference)&&(i.height+=n.height),t.cartographicToCartesian(i,gz);let o=e._clampedModelMatrix;F.clone(e.modelMatrix,o),o[12]=gz.x,o[13]=gz.y,o[14]=gz.z,e._heightDirty=!0}}var MWe=new h;function LWe(e,t){let n=e.distanceDisplayCondition;if(!l(n))return!0;let i=n.near*n.near,o=n.far*n.far,r;if(t.mode===ne.SCENE2D){let a=(t.camera.frustum.right-t.camera.frustum.left)*.5;r=a*a}else{let s=F.getTranslation(e.modelMatrix,MWe);Hi.computeActualEllipsoidPosition(t,s,s),r=h.distanceSquared(s,t.camera.positionWC)}return r>=i&&r<=o}function NWe(e,t){let n=t.creditDisplay,i=e._credits,o=i.length;for(let r=0;r<o;r++)n.addCreditToNextFrame(i[r])}po.prototype.isTranslucent=function(){let e=this.color;return l(e)&&e.alpha>0&&e.alpha<1};po.prototype.isInvisible=function(){let e=this.color;return l(e)&&e.alpha===0};function Qce(e){return e.context.stencilBuffer}po.prototype.hasSilhouette=function(e){return Qce(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!l(this._classificationType)};po.prototype.hasSkipLevelOfDetail=function(e){if(!pr.is3DTiles(this.type))return!1;let t=e.context.stencilBuffer,n=this._content.tileset;return t&&n.isSkippingLevelOfDetail};po.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return l(e)&&e.enabled&&e.length!==0};po.prototype.pick=function(e,t,n,i,o){return aE(this,e,t,n,i,o)};po.prototype.isClippingPolygonsEnabled=function(){let e=this._clippingPolygons;return l(e)&&e.enabled&&e.length!==0};po.prototype.isDestroyed=function(){return!1};po.prototype.destroy=function(){let e=this._loader;l(e)&&e.destroy();let t=this._featureTables;if(l(t)){let r=t.length;for(let s=0;s<r;s++)t[s].destroy()}this.destroyPipelineResources(),this.destroyModelResources(),l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),l(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0);let n=this._clippingPlanes;l(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0;let i=this._clippingPolygons;l(i)&&!i.isDestroyed()&&i.owner===this&&i.destroy(),this._clippingPolygons=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0;let o=this._environmentMapManager;!o.isDestroyed()&&o.owner===this&&o.destroy(),this._environmentMapManager=void 0,ue(this)};po.prototype.destroyPipelineResources=function(){let e=this._pipelineResources;for(let t=0;t<e.length;t++)e[t].destroy();this._pipelineResources.length=0,this._pickIds.length=0};po.prototype.destroyModelResources=function(){let e=this._modelResources;for(let t=0;t<e.length;t++)e[t].destroy();this._modelResources.length=0};po.fromGltfAsync=async function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.url,e.gltf),n={releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},i=y(e.basePath,""),o=Ae.createIfNeeded(i);l(t.asset)?(n.gltfJson=t,n.baseResource=o,n.gltfResource=o):t instanceof Uint8Array?(n.typedArray=t,n.baseResource=o,n.gltfResource=o):n.gltfResource=Ae.createIfNeeded(t);let r=new s_(n),a=l(e.content)?pr.TILE_GLTF:pr.GLTF,c=n.gltfResource,u=kM(r,a,e);u.resource=c,u.environmentMapOptions=e.environmentMapOptions;try{await r.load()}catch(g){throw r.destroy(),Zt.getError("model",c,g)}let f=e.gltfCallback;l(f)&&f(r.gltfJson);let d=new po(u),p=d._resource.credits;if(l(p)){let g=p.length;for(let m=0;m<g;m++)d._resourceCredits.push(At.clone(p[m]))}return d};po.fromB3dm=async function(e){let t={b3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},n=new ZR(t);try{await n.load();let i=kM(n,pr.TILE_B3DM,e);return new po(i)}catch(i){throw n.destroy(),i}};po.fromPnts=async function(e){let t={arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,loadAttributesFor2D:e.projectTo2D},n=new BM(t);try{await n.load();let i=kM(n,pr.TILE_PNTS,e);return new po(i)}catch(i){throw n.destroy(),i}};po.fromI3dm=async function(e){let t={i3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline},n=new JR(t);try{await n.load();let i=kM(n,pr.TILE_I3DM,e);return new po(i)}catch(i){throw n.destroy(),i}};po.fromGeoJson=async function(e){let t={geoJson:e.geoJson},n=new $R(t),i=kM(n,pr.TILE_GEOJSON,e);return new po(i)};var FWe=new H;po.prototype.applyColorAndShow=function(e){let t=H.clone(this._color,FWe),n=l(e)&&l(e.color),i=l(e)&&l(e.show);this._color=n?e.color.evaluateColor(void 0,this._color):H.clone(H.WHITE,this._color),this._show=i?e.show.evaluate(void 0):!0,hj(t,this._color)&&this.resetDrawCommands()};po.prototype.applyStyle=function(e){let t=this.type===pr.TILE_PNTS,n=l(this.featureTableId)&&this.featureTables[this.featureTableId].featuresLength>0,i=l(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=l(i)&&l(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),Zce(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function kM(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,enableVerticalExaggeration:n.enableVerticalExaggeration,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,clippingPolygons:n.clippingPolygons,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,enablePick:n.enablePick,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType,pickObject:n.pickObject,marsOptions:n.marsOptions}}var Jd=po;function qr(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(qr.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return l(t)&&l(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(l(t)&&l(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});qr.prototype.getTextureIds=function(){return this._model.statistics.getTextureIds()};qr.prototype.getTextureByteLengthById=function(e){return this._model.statistics.getTextureByteLengthById(e)};qr.prototype.getExtension=function(e){return this._model.getExtension(e)};qr.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};qr.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return l(i)?n.featureTables[i].hasProperty(e,t):!1};qr.prototype.applyDebugSettings=function(e,t){t=e?t:H.WHITE,this.featuresLength===0?this._model.color=t:l(this.batchTable)&&this.batchTable.setAllColor(t)};qr.prototype.applyStyle=function(e){this._model.style=e};qr.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,l(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0);let r=e.environmentMapManager;n.environmentMapManager!==o&&(n._environmentMapManager=r),l(o)&&l(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o,n._clippingPlanesState=0);let s=e.clippingPolygons;l(s)&&i.clippingPolygonsDirty&&(n._clippingPolygons=s.enabled&&i._isClippedByPolygon?s:void 0),l(s)&&l(n._clippingPolygons)&&n._clippingPolygons!==s&&(n._clippingPolygons=s,n._clippingPolygonsState=0),n.update(t),!this._ready&&n.ready&&(n.activeAnimations.addAll({loop:Ll.REPEAT}),this._ready=!0)};qr.prototype.isDestroyed=function(){return!1};qr.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),ue(this)};qr.fromGltf=async function(e,t,n,i){let o=new qr(e,t,n),s=VM(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=await Jd.fromGltfAsync(s);return o._model=c,o};qr.fromB3dm=async function(e,t,n,i,o){let r=new qr(e,t,n),a=VM(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let u=await Jd.fromB3dm(a);return r._model=u,r};qr.fromI3dm=async function(e,t,n,i,o){let r=new qr(e,t,n),a=VM(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await Jd.fromI3dm(a);return r._model=c,r};qr.fromPnts=async function(e,t,n,i,o){let r=new qr(e,t,n),a=VM(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await Jd.fromPnts(a);return r._model=c,r};qr.fromGeoJson=async function(e,t,n,i){let o=new qr(e,t,n),s=VM(e,t,o,{geoJson:i,resource:n}),a=await Jd.fromGeoJson(s);return o._model=a,o};qr.prototype.pick=function(e,t,n){if(!l(this._model)||!this._ready)return;let i=t.verticalExaggeration,o=t.verticalExaggerationRelativeHeight;return this._model.pick(e,t,i,o,ee.WGS84,n)};function VM(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:ve.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enablePick:e._enablePick,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor,marsOptions:e._marsOptions};return Ct(i,o)}var Eu=qr;function Pf(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(Pf.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Pf.fromJson=function(e,t,n,i){let o=new Pf(e,t,n);return o._tileset.loadTileset(o._resource,i,o._tile),o._ready=!0,o};Pf.prototype.hasProperty=function(e,t){return!1};Pf.prototype.getFeature=function(e){};Pf.prototype.applyDebugSettings=function(e,t){};Pf.prototype.applyStyle=function(e){};Pf.prototype.update=function(e,t){};Pf.prototype.pick=function(e,t,n){};Pf.prototype.isDestroyed=function(){return!1};Pf.prototype.destroy=function(){return ue(this)};var UM=Pf;var zM=`uniform sampler2D u_atlas; + +#ifdef VECTOR_TILE +uniform vec4 u_highlightColor; #endif - mat2 rotationMatrix; - float mpp; +in vec2 v_textureCoordinates; +in vec4 v_pickColor; +in vec4 v_color; +in float v_splitDirection; -#ifdef DISABLE_DEPTH_DISTANCE - float disableDepthTestDistance = compressedAttribute3.z; +#ifdef SDF +in vec4 v_outlineColor; +in float v_outlineWidth; #endif -#ifdef VERTEX_DEPTH_CHECK -if (lengthSq < disableDepthTestDistance) { - float depthsilon = 10.0; +#ifdef FRAGMENT_DEPTH_CHECK +in vec4 v_textureCoordinateBounds; // the min and max x and y values for the texture coordinates +in vec4 v_originTextureCoordinateAndTranslate; // texture coordinate at the origin, billboard translate (used for label glyphs) +in vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize +in mat2 v_rotationMatrix; - vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy; - vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - float globeDepth1 = getGlobeDepth(pEC1); +const float SHIFT_LEFT12 = 4096.0; +const float SHIFT_LEFT1 = 2.0; - if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1) +const float SHIFT_RIGHT12 = 1.0 / 4096.0; +const float SHIFT_RIGHT1 = 1.0 / 2.0; + +float getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize) +{ + vec2 lookupVector = imageSize * (depthLookupST - adjustedST); + lookupVector = v_rotationMatrix * lookupVector; + vec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y)); // aligns label glyph with bounding rectangle. Will be zero for billboards because dimensions and imageSize will be equal + + vec2 translation = v_originTextureCoordinateAndTranslate.zw; + + if (applyTranslate) { - vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - float globeDepth2 = getGlobeDepth(pEC2); + // this is only needed for labels where the horizontal origin is not LEFT + // it moves the label back to where the "origin" should be since all label glyphs are set to HorizontalOrigin.LEFT + translation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0)); + } - if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2) - { - vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - float globeDepth3 = getGlobeDepth(pEC3); - if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3) - { - positionEC.xyz = vec3(0.0); - } - } + vec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw; + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); + + if (logDepthOrDepth == 0.0) + { + return 0.0; // not on the globe } + + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + return eyeCoordinate.z / eyeCoordinate.w; } #endif - positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - gl_Position = czm_projection * positionEC; - v_textureCoordinates = textureCoordinates; -#ifdef LOG_DEPTH - czm_vertexLogDepth(); -#endif +#ifdef SDF -#ifdef DISABLE_DEPTH_DISTANCE - if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) +// Get the distance from the edge of a glyph at a given position sampling an SDF texture. +float getDistance(vec2 position) +{ + return texture(u_atlas, position).r; +} + +// Samples the sdf texture at the given position and produces a color based on the fill color and the outline. +vec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing) +{ + float distance = getDistance(position); + + if (outlineWidth > 0.0) { - disableDepthTestDistance = czm_minimumDisableDepthTestDistance; + // Don't get the outline edge exceed the SDF_EDGE + float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE); + float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); + vec4 sdfColor = mix(outlineColor, v_color, outlineFactor); + float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance); + return vec4(sdfColor.rgb, sdfColor.a * alpha); } - - if (disableDepthTestDistance != 0.0) + else { - // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. - float zclip = gl_Position.z / gl_Position.w; - bool clipped = (zclip < -1.0 || zclip > 1.0); - if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) - { - // Position z on the near plane. - gl_Position.z = -gl_Position.w; -#ifdef LOG_DEPTH - v_depthFromNearPlusOne = 1.0; -#endif - } + float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); + return vec4(v_color.rgb, v_color.a * alpha); } +} #endif -#ifdef FRAGMENT_DEPTH_CHECK - if (sizeInMeters) { - translate /= mpp; - dimensions /= mpp; - imageSize /= mpp; - } +void main() +{ + if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; + + vec4 color = texture(u_atlas, v_textureCoordinates); -#if defined(ROTATION) || defined(ALIGNED_AXIS) - v_rotationMatrix = rotationMatrix; -#else - v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); -#endif +#ifdef SDF + float outlineWidth = v_outlineWidth; + vec4 outlineColor = v_outlineColor; - float enableDepthCheck = 0.0; - if (lengthSq < disableDepthTestDistance) - { - enableDepthCheck = 1.0; - } + // Get the current distance + float distance = getDistance(v_textureCoordinates); - float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12)); - float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12)); +#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + float smoothing = fwidth(distance); + // Get an offset that is approximately half the distance to the neighbor pixels + // 0.354 is approximately half of 1/sqrt(2) + vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates)); - float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12)); - float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12)); + // Sample the center point + vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); - v_compressed.x = eyeDepth; - v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck; - v_compressed.z = dw * SHIFT_LEFT12 + dh; - v_compressed.w = iw * SHIFT_LEFT12 + ih; - v_originTextureCoordinateAndTranslate.xy = depthOrigin; - v_originTextureCoordinateAndTranslate.zw = translate; - v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate; + // Sample the 4 neighbors + vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + // Equally weight the center sample and the 4 neighboring samples + color = (center + color1 + color2 + color3 + color4)/5.0; +#else + // If no derivatives available (IE 10?), just do a single sample + float smoothing = 1.0/32.0; + color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); #endif -#ifdef SDF - vec4 outlineColor; - float outlineWidth; + color = czm_gammaCorrect(color); +#else + color = czm_gammaCorrect(color); + color *= czm_gammaCorrect(v_color); +#endif - temp = sdf.x; - temp = temp * SHIFT_RIGHT8; - outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor.r = floor(temp); +// Fully transparent parts of the billboard are not pickable. +#if !defined(OPAQUE) && !defined(TRANSLUCENT) + if (color.a < 0.005) // matches 0/255 and 1/255 + { + discard; + } +#else +// The billboard is rendered twice. The opaque pass discards translucent fragments +// and the translucent pass discards opaque fragments. +#ifdef OPAQUE + if (color.a < 0.995) // matches < 254/255 + { + discard; + } +#else + if (color.a >= 0.995) // matches 254/255 and 255/255 + { + discard; + } +#endif +#endif - temp = sdf.y; - temp = temp * SHIFT_RIGHT8; - float temp3 = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor.a = floor(temp); - outlineColor /= 255.0; +#ifdef VECTOR_TILE + color *= u_highlightColor; +#endif + out_FragColor = color; - v_outlineWidth = outlineWidth / 255.0; - v_outlineColor = outlineColor; - v_outlineColor.a *= translucency; +#ifdef LOG_DEPTH + czm_writeLogDepth(); #endif - v_pickColor = pickColor; +#ifdef FRAGMENT_DEPTH_CHECK + float temp = v_compressed.y; - v_color = color; - v_color.a *= translucency; - v_splitDirection = splitDirection; -} -`;function Ti(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=Bt.clone(n)),l(i)&&(i=Bt.clone(i)),l(o)&&(o=Bt.clone(o)),l(r)&&(r=Ot.clone(r)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._pixelOffset=z.clone(y(e.pixelOffset,z.ZERO)),this._translate=new z(0,0),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._heightReference=y(e.heightReference,je.NONE),this._verticalOrigin=y(e.verticalOrigin,Mn.CENTER),this._horizontalOrigin=y(e.horizontalOrigin,xi.CENTER),this._scale=y(e.scale,1),this._color=H.clone(y(e.color,H.WHITE)),this._rotation=y(e.rotation,0),this._alignedAxis=h.clone(y(e.alignedAxis,h.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=o,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=y(e.sizeInMeters,!1),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=y(e.collection,t),this._pickId=void 0,this._pickPrimitive=y(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let s=e.image,a=e.imageId;l(s)&&(l(a)||(typeof s=="string"?a=s:l(s.src)?a=s.src:a=qn()),this._imageId=a,this._image=s),l(e.imageSubRegion)&&(this._imageId=a,this._imageSubRegion=e.imageSubRegion),l(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=ne.SCENE3D,this._clusterShow=!0,this._outlineColor=H.clone(y(e.outlineColor,H.BLACK)),this._outlineWidth=y(e.outlineWidth,0),this._updateClamping(),this._splitDirection=y(e.splitDirection,Nr.NONE)}var Lce=Ti.SHOW_INDEX=0,uz=Ti.POSITION_INDEX=1,kce=Ti.PIXEL_OFFSET_INDEX=2,rWe=Ti.EYE_OFFSET_INDEX=3,sWe=Ti.HORIZONTAL_ORIGIN_INDEX=4,aWe=Ti.VERTICAL_ORIGIN_INDEX=5,cWe=Ti.SCALE_INDEX=6,fz=Ti.IMAGE_INDEX_INDEX=7,Nce=Ti.COLOR_INDEX=8,lWe=Ti.ROTATION_INDEX=9,uWe=Ti.ALIGNED_AXIS_INDEX=10,fWe=Ti.SCALE_BY_DISTANCE_INDEX=11,dWe=Ti.TRANSLUCENCY_BY_DISTANCE_INDEX=12,hWe=Ti.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,mWe=Ti.DISTANCE_DISPLAY_CONDITION=14,pWe=Ti.DISABLE_DEPTH_DISTANCE=15;Ti.TEXTURE_COORDINATE_BOUNDS=16;var Fce=Ti.SDF_INDEX=17,_We=Ti.SPLIT_DIRECTION_INDEX=18;Ti.NUMBER_OF_PROPERTIES=19;function No(e,t){let n=e._billboardCollection;l(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Object.defineProperties(Ti.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,No(this,Lce))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),this._updateClamping(),No(this,uz))}},heightReference:{get:function(){return this._heightReference},set:function(e){let t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),No(this,uz))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;z.equals(t,e)||(z.clone(e,t),No(this,kce))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Bt.equals(t,e)||(this._scaleByDistance=Bt.clone(e,t),No(this,fWe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Bt.equals(t,e)||(this._translucencyByDistance=Bt.clone(e,t),No(this,dWe))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;Bt.equals(t,e)||(this._pixelOffsetScaleByDistance=Bt.clone(e,t),No(this,hWe))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;h.equals(t,e)||(h.clone(e,t),No(this,rWe))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,No(this,sWe))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,No(this,aWe))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,No(this,cWe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),No(this,Nce))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,No(this,lWe))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){let t=this._alignedAxis;h.equals(t,e)||(h.clone(e,t),No(this,uWe))}},width:{get:function(){return y(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,No(this,fz))}},height:{get:function(){return y(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,No(this,fz))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,No(this,Nce))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ot.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition),No(this,mWe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,No(this,pWe))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,l(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){l(e)?typeof e=="string"?this.setImage(e,e):e instanceof we?this.setImage(e.url,e):l(e.src)?this.setImage(e.src,e):this.setImage(qn(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,No(this,fz))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition),No(this,uz)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,No(this,Lce))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),No(this,Fce))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,No(this,Fce))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,No(this,_We))}}});Ti.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};Ti.prototype._updateClamping=function(){Ti._updateClamping(this._billboardCollection,this)};var dz=new fe;Ti._updateClamping=function(e,t){let n=e._scene;if(!l(n))return;let i=y(n.ellipsoid,ee.default),o=n.frameState.mode,r=o!==t._mode;if(t._mode=o,(t._heightReference===je.NONE||r)&&l(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===je.NONE||!l(t._position))return;l(t._removeCallbackFunc)&&t._removeCallbackFunc();let s=i.cartesianToCartographic(t._position);if(!l(s)){t._actualClampedPosition=void 0;return}function a(u){let f=i.cartographicToCartesian(u,t._clampedPosition);$C(t._heightReference)&&(t._mode===ne.SCENE3D?(u.height+=s.height,i.cartographicToCartesian(u,f)):f.x+=s.height),t._clampedPosition=f}t._removeCallbackFunc=n.updateHeight(s,a,t._heightReference),fe.clone(s,dz);let c=n.getHeight(s,t._heightReference);l(c)&&(dz.height=c),a(dz)};Ti.prototype._loadImage=function(){let e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion,o,r=this;function s(c){if(r._imageId!==t||r._image!==n||!We.equals(r._imageSubRegion,i))return;let u=e.textureCoordinates[c];r._imageWidth=e.texture.width*u.width,r._imageHeight=e.texture.height*u.height,r._imageIndex=c,r._ready=!0,r._image=void 0,r._imageIndexPromise=void 0,No(r,fz);let f=r._billboardCollection._scene;l(f)&&f.frameState.afterRender.push(()=>!0)}if(l(n)&&(o=e.addImage(t,n)),l(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,!l(o))return;let a=e.getImageIndex(t);if(l(a)&&!l(i)){s(a);return}o.then(s).catch(function(c){console.error(`Error loading image for billboard: ${c}`),r._imageIndexPromise=void 0})};Ti.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,l(this._billboardCollection._textureAtlas)&&this._loadImage())};Ti.prototype.setImageSubRegion=function(e,t){this._imageId===e&&We.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=We.clone(t),l(this._billboardCollection._textureAtlas)&&this._loadImage())};Ti.prototype._setTranslate=function(e){let t=this._translate;z.equals(t,e)||(z.clone(e,t),No(this,kce))};Ti.prototype._getActualPosition=function(){return l(this._clampedPosition)?this._clampedPosition:this._actualPosition};Ti.prototype._setActualPosition=function(e){l(this._clampedPosition)||h.clone(e,this._actualPosition),No(this,uz)};var Bce=new oe;Ti._computeActualPosition=function(e,t,n,i){return l(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===ne.SCENE3D?t:(F.multiplyByPoint(i,t,Bce),Gi.computeActualEllipsoidPosition(n,Bce))};var Vce=new h;Ti._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=F.multiplyByPoint(e,t,Vce),a=Gi.worldWithEyeOffsetToWindowCoordinates(o,s,n,r);if(l(a))return z.add(a,i,a),a};var lz=new z(0,0);Ti.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;l(t)||(t=new z),z.clone(this._pixelOffset,lz),z.add(lz,this._translate,lz);let i=n.modelMatrix,o=this._position;if(l(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==ne.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,dz);o=a.cartographicToCartesian(c,Vce),i=F.IDENTITY}return Ti._computeScreenSpacePosition(i,o,this._eyeOffset,lz,e,t)};Ti.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===xi.RIGHT?s-=i:e.horizontalOrigin===xi.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===Mn.BOTTOM||e.verticalOrigin===Mn.BASELINE?a-=o:e.verticalOrigin===Mn.CENTER&&(a-=o*.5),l(n)||(n=new We),n.x=s,n.y=a,n.width=i,n.height=o,n};Ti.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&We.equals(this._imageSubRegion,e._imageSubRegion)&&H.equals(this._color,e._color)&&z.equals(this._pixelOffset,e._pixelOffset)&&z.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&Bt.equals(this._scaleByDistance,e._scaleByDistance)&&Bt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Bt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Ot.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};Ti.prototype._destroy=function(){l(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var ho=Ti;var gWe={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},So=Object.freeze(gWe);var yWe={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},Xs=Object.freeze(yWe);function f_(e,t,n,i,o){this.bottomLeft=y(e,z.ZERO),this.topRight=y(t,z.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var xWe=new z(16,16);function Dy(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,xWe);this._context=e.context,this._pixelFormat=y(e.pixelFormat,ot.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=qn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(Dy.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return l(this._texture)||(this._texture=new Mt({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function bWe(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),u=o*(a+t.height+r),f=s/c,d=a/u,p=new f_(new z(s+r,r),new z(c,a)),g=new f_(new z,new z(c,a),e._root,p),m=new f_(new z(r,a+r),new z(c,u)),x=new f_(new z,new z(c,u),g,m);for(let A=0;A<e._textureCoordinates.length;A++){let C=e._textureCoordinates[A];l(C)&&(C.x*=f,C.y*=d,C.width*=f,C.height*=d)}let b=new Mt({context:e._context,width:c,height:u,pixelFormat:e._pixelFormat}),T=new ca({context:n,colorTextures:[e._texture],destroyAttachments:!1});T._bind(),b.copyFromFramebuffer(0,0,0,0,c,u),T._unBind(),T.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=b,e._root=x}else{let s=o*(t.width+2*r),a=o*(t.height+2*r);s<e._initialSize.x&&(s=e._initialSize.x),a<e._initialSize.y&&(a=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new Mt({context:e._context,width:s,height:a,pixelFormat:e._pixelFormat}),e._root=new f_(new z(r,r),new z(s,a))}}function hz(e,t,n){if(l(t)){if(!l(t.childNode1)&&!l(t.childNode2)){if(l(t.imageIndex))return;let i=t.topRight.x-t.bottomLeft.x,o=t.topRight.y-t.bottomLeft.y,r=i-n.width,s=o-n.height;if(r<0||s<0)return;if(r===0&&s===0)return t;if(r>s){t.childNode1=new f_(new z(t.bottomLeft.x,t.bottomLeft.y),new z(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a<t.topRight.x&&(t.childNode2=new f_(new z(a,t.bottomLeft.y),new z(t.topRight.x,t.topRight.y)))}else{t.childNode1=new f_(new z(t.bottomLeft.x,t.bottomLeft.y),new z(t.topRight.x,t.bottomLeft.y+n.height));let a=t.bottomLeft.y+n.height+e._borderWidthInPixels;a<t.topRight.y&&(t.childNode2=new f_(new z(t.bottomLeft.x,a),new z(t.topRight.x,t.topRight.y)))}return hz(e,t.childNode1,n)}return hz(e,t.childNode1,n)||hz(e,t.childNode2,n)}}function Uce(e,t,n){let i=hz(e,e._root,t);if(l(i)){i.imageIndex=n;let o=e._texture.width,r=e._texture.height,s=i.topRight.x-i.bottomLeft.x,a=i.topRight.y-i.bottomLeft.y,c=i.bottomLeft.x/o,u=i.bottomLeft.y/r,f=s/o,d=a/r;e._textureCoordinates[n]=new We(c,u,f,d),e._texture.copyFrom({source:t,xOffset:i.bottomLeft.x,yOffset:i.bottomLeft.y})}else bWe(e,t),Uce(e,t,n);e._guid=qn()}function zce(e,t){if(!l(e)||e.isDestroyed())return-1;let n=e.numberOfImages;return Uce(e,t,n),n}Dy.prototype.getImageIndex=function(e){return this._indexHash[e]};Dy.prototype.addImageSync=function(e,t){let n=this._indexHash[e];return l(n)||(n=zce(this,t),this._idHash[e]=Promise.resolve(n),this._indexHash[e]=n),n};Dy.prototype.addImage=function(e,t){let n=this._idHash[e];if(l(n))return n;typeof t=="function"?t=t(e):(typeof t=="string"||t instanceof we)&&(t=we.createIfNeeded(t).fetchImage());let i=this;return n=Promise.resolve(t).then(function(o){let r=zce(i,o);return i._indexHash[e]=r,r}),this._idHash[e]=n,n};Dy.prototype.addSubRegion=function(e,t){let n=this._idHash[e];if(!l(n))throw new ce(`image with id "${e}" not found in the atlas.`);let i=this;return Promise.resolve(n).then(function(o){if(o===-1)return-1;let r=i._texture.width,s=i._texture.height,a=i._textureCoordinates[o],c=a.x+t.x/r,u=a.y+t.y/s,f=t.width/r,d=t.height/s,p=i._textureCoordinates.push(new We(c,u,f,d))-1;return i._indexHash[e]=p,i._guid=qn(),p})};Dy.prototype.isDestroyed=function(){return!1};Dy.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var Iy=Dy;var TWe=ho.SHOW_INDEX,LM=ho.POSITION_INDEX,Hce=ho.PIXEL_OFFSET_INDEX,Gce=ho.EYE_OFFSET_INDEX,CWe=ho.HORIZONTAL_ORIGIN_INDEX,AWe=ho.VERTICAL_ORIGIN_INDEX,EWe=ho.SCALE_INDEX,MM=ho.IMAGE_INDEX_INDEX,Wce=ho.COLOR_INDEX,SWe=ho.ROTATION_INDEX,vWe=ho.ALIGNED_AXIS_INDEX,jce=ho.SCALE_BY_DISTANCE_INDEX,qce=ho.TRANSLUCENCY_BY_DISTANCE_INDEX,Yce=ho.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,Xce=ho.DISTANCE_DISPLAY_CONDITION,wWe=ho.DISABLE_DEPTH_DISTANCE,DWe=ho.TEXTURE_COORDINATE_BOUNDS,Kce=ho.SDF_INDEX,Zce=ho.SPLIT_DIRECTION_INDEX,dj=ho.NUMBER_OF_PROPERTIES,mo,IWe={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11,splitDirection:12},PWe={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12,splitDirection:13};function Pf(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(dj),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new ae,this._baseVolumeWC=new ae,this._baseVolume2D=new ae,this._boundingVolume=new ae,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=y(e.debugShowTextureAtlas,!1),this.blendOption=y(e.blendOption,So.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._buffersUsage=[ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW],this._highlightColor=H.clone(H.WHITE);let t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};let n=this._scene;l(n)&&l(n.terrainProviderChanged)&&(this._removeCallbackFunc=n.terrainProviderChanged.addEventListener(function(){let i=this._billboards,o=i.length;for(let r=0;r<o;++r)l(i[r])&&i[r]._updateClamping()},this))}Object.defineProperties(Pf.prototype,{length:{get:function(){return hj(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}});function $ce(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Pf.prototype.add=function(e){let t=new ho(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t};Pf.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=void 0,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Pf.prototype.removeAll=function(){$ce(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0};function hj(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;let t=[],n=e._billboards,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(s._index=r++,t.push(s))}e._billboards=t}}Pf.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]};Pf.prototype.contains=function(e){return l(e)&&e._billboardCollection===this};Pf.prototype.get=function(e){return hj(this),this._billboards[e]};var sj;function RWe(e){let n=e.cache.billboardCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s+0,o[r+4]=s+2,o[r+5]=s+3;return n=pt.createIndexBuffer({context:e,typedArray:o,usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=n,n}function OWe(e){let t=e.cache.billboardCollection_indexBufferInstanced;return l(t)||(t=pt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t),t}function MWe(e){let t=e.cache.billboardCollection_vertexBufferInstanced;return l(t)||(t=pt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:ke.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t),t}Pf.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<dj;++i){let o=n[i]===0?ke.STATIC_DRAW:ke.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function LWe(e,t,n,i,o,r){let s=[{index:mo.positionHighAndScale,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[LM]},{index:mo.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[LM]},{index:mo.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Hce]},{index:mo.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[qce]},{index:mo.compressedAttribute2,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Wce]},{index:mo.eyeOffset,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Gce]},{index:mo.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[jce]},{index:mo.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Yce]},{index:mo.compressedAttribute3,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Xce]},{index:mo.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[DWe]},{index:mo.splitDirection,componentsPerAttribute:1,componentDatatype:X.FLOAT,usage:n[Zce]}];i&&s.push({index:mo.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:MWe(e)}),l(o)&&s.push({index:mo.a_batchId,componentsPerAttribute:1,componentDatatype:X.FLOAT,bufferUsage:ke.STATIC_DRAW}),r&&s.push({index:mo.sdf,componentsPerAttribute:2,componentDatatype:X.FLOAT,usage:n[Kce]});let a=i?t:4*t;return new Sp(e,s,a,i)}var aj=new Yn;function Qce(e,t,n,i,o){let r,s=i[mo.positionHighAndScale],a=i[mo.positionLowAndRotation],c=o._getActualPosition();e._mode===ne.SCENE3D&&(ae.expand(e._baseVolume,c,e._baseVolume),e._boundingVolumeDirty=!0),Yn.fromCartesian(c,aj);let u=o.scale,f=o.rotation;f!==0&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,u);let d=aj.high,p=aj.low;e._instanced?(r=o._index,s(r,d.x,d.y,d.z,u),a(r,p.x,p.y,p.z,f)):(r=o._index*4,s(r+0,d.x,d.y,d.z,u),s(r+1,d.x,d.y,d.z,u),s(r+2,d.x,d.y,d.z,u),s(r+3,d.x,d.y,d.z,u),a(r+0,p.x,p.y,p.z,f),a(r+1,p.x,p.y,p.z,f),a(r+2,p.x,p.y,p.z,f),a(r+3,p.x,p.y,p.z,f))}var If=new z,Df=32768,sE=65536,cj=4096,pm=256,NWe=128,FWe=32,BWe=8,Jce=4,kWe=1/256,ele=0,tle=2,nle=3,ile=1;function ole(e,t,n,i,o){let r,s=i[mo.compressedAttribute0],a=o.pixelOffset,c=a.x,u=a.y,f=o._translate,d=f.x,p=f.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(c+d),Math.abs(-u+p));let g=o.horizontalOrigin,m=o._verticalOrigin,x=o.show&&o.clusterShow;o.color.alpha===0&&(x=!1),m===Mn.BASELINE&&(m=Mn.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&g===xi.CENTER,e._allVerticalCenter=e._allVerticalCenter&&m===Mn.CENTER;let b=0,T=0,A=0,C=0,E=o._imageIndex;if(E!==-1){let U=n[E];b=U.x,T=U.y,A=U.width,C=U.height}let v=b+A,D=T+C,O=Math.floor(P.clamp(c,-Df,Df)+Df)*NWe;O+=(g+1)*FWe,O+=(m+1)*BWe,O+=(x?1:0)*Jce;let R=Math.floor(P.clamp(u,-Df,Df)+Df)*pm,M=Math.floor(P.clamp(d,-Df,Df)+Df)*pm,N=(P.clamp(p,-Df,Df)+Df)*kWe,_=Math.floor(N),S=Math.floor((N-_)*pm);R+=_,M+=S,If.x=b,If.y=T;let w=Fn.compressTextureCoordinates(If);If.x=v;let I=Fn.compressTextureCoordinates(If);If.y=D;let L=Fn.compressTextureCoordinates(If);If.x=b;let B=Fn.compressTextureCoordinates(If);e._instanced?(r=o._index,s(r,O,R,M,w)):(r=o._index*4,s(r+0,O+ele,R,M,w),s(r+1,O+tle,R,M,I),s(r+2,O+nle,R,M,L),s(r+3,O+ile,R,M,B))}function rle(e,t,n,i,o){let r,s=i[mo.compressedAttribute1],a=o.alignedAxis;h.equals(a,h.ZERO)||(e._shaderAlignedAxis=!0);let c=0,u=1,f=1,d=1,p=o.translucencyByDistance;l(p)&&(c=p.near,u=p.nearValue,f=p.far,d=p.farValue,(u!==1||d!==1)&&(e._shaderTranslucencyByDistance=!0));let g=0,m=o._imageIndex;m!==-1&&(g=n[m].width);let x=e._textureAtlas.texture.width,b=Math.round(y(o.width,x*g));e._maxSize=Math.max(e._maxSize,b);let T=P.clamp(b,0,sE),A=0;Math.abs(h.magnitudeSquared(a)-1)<P.EPSILON6&&(A=Fn.octEncodeFloat(a)),u=P.clamp(u,0,1),u=u===1?255:u*255|0,T=T*pm+u,d=P.clamp(d,0,1),d=d===1?255:d*255|0,A=A*pm+d,e._instanced?(r=o._index,s(r,T,A,c,f)):(r=o._index*4,s(r+0,T,A,c,f),s(r+1,T,A,c,f),s(r+2,T,A,c,f),s(r+3,T,A,c,f))}function uj(e,t,n,i,o){let r,s=i[mo.compressedAttribute2],a=o.color,c=l(e._batchTable)?H.WHITE:o.getPickId(t.context).color,u=o.sizeInMeters?1:0,f=Math.abs(h.magnitudeSquared(o.alignedAxis)-1)<P.EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&u===1;let d=0,p=o._imageIndex;p!==-1&&(d=n[p].height);let g=e._textureAtlas.texture.dimensions,m=Math.round(y(o.height,g.y*d));e._maxSize=Math.max(e._maxSize,m);let x=y(o._labelHorizontalOrigin,-2);x+=2;let b=m*Jce+x,T=H.floatToByte(a.red),A=H.floatToByte(a.green),C=H.floatToByte(a.blue),E=T*sE+A*pm+C;T=H.floatToByte(c.red),A=H.floatToByte(c.green),C=H.floatToByte(c.blue);let v=T*sE+A*pm+C,D=H.floatToByte(a.alpha)*sE+H.floatToByte(c.alpha)*pm;D+=u*2+f,e._instanced?(r=o._index,s(r,E,v,D,b)):(r=o._index*4,s(r+0,E,v,D,b),s(r+1,E,v,D,b),s(r+2,E,v,D,b),s(r+3,E,v,D,b))}function fj(e,t,n,i,o){let r,s=i[mo.eyeOffset],a=o.eyeOffset,c=a.z;if(o._heightReference!==je.NONE&&(c*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(c)),e._instanced){let u=0,f=0,d=o._imageIndex;if(d!==-1){let g=n[d];u=g.width,f=g.height}If.x=u,If.y=f;let p=Fn.compressTextureCoordinates(If);r=o._index,s(r,a.x,a.y,c,p)}else r=o._index*4,s(r+0,a.x,a.y,c,0),s(r+1,a.x,a.y,c,0),s(r+2,a.x,a.y,c,0),s(r+3,a.x,a.y,c,0)}function sle(e,t,n,i,o){let r,s=i[mo.scaleByDistance],a=0,c=1,u=1,f=1,d=o.scaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function ale(e,t,n,i,o){let r,s=i[mo.pixelOffsetScaleByDistance],a=0,c=1,u=1,f=1,d=o.pixelOffsetScaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function cle(e,t,n,i,o){let r,s=i[mo.compressedAttribute3],a=0,c=Number.MAX_VALUE,u=o.distanceDisplayCondition;l(u)&&(a=u.near,c=u.far,a*=a,c*=c,e._shaderDistanceDisplayCondition=!0);let f=o.disableDepthTestDistance,d=mf(o.heightReference)&&t.context.depthTexture;l(f)||(f=d?5e3:0),f*=f,(d||f>0)&&(e._shaderDisableDepthDistance=!0,f===Number.POSITIVE_INFINITY&&(f=-1));let p,g;if(l(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let T=0,A=0,C=o._imageIndex;if(C!==-1){let v=n[C];T=v.height,A=v.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*T));let E=e._textureAtlas.texture.width;g=Math.round(y(o.width,E*A))}let m=Math.floor(P.clamp(g,0,cj)),x=Math.floor(P.clamp(p,0,cj)),b=m*cj+x;e._instanced?(r=o._index,s(r,a,c,f,b)):(r=o._index*4,s(r+0,a,c,f,b),s(r+1,a,c,f,b),s(r+2,a,c,f,b),s(r+3,a,c,f,b))}function lle(e,t,n,i,o){if(mf(o.heightReference)){let m=e._scene,x=t.context,b=t.globeTranslucencyState.translucent,T=l(m.globe)&&m.globe.depthTestAgainstTerrain;e._shaderClampToGround=x.depthTexture&&!b&&T}let r,s=i[mo.textureCoordinateBoundsOrLabelTranslate];if(kt.maximumVertexTextureImageUnits>0){let m=0,x=0;l(o._labelTranslate)&&(m=o._labelTranslate.x,x=o._labelTranslate.y),e._instanced?(r=o._index,s(r,m,x,0,0)):(r=o._index*4,s(r+0,m,x,0,0),s(r+1,m,x,0,0),s(r+2,m,x,0,0),s(r+3,m,x,0,0));return}let a=0,c=0,u=0,f=0,d=o._imageIndex;if(d!==-1){let m=n[d];a=m.x,c=m.y,u=m.width,f=m.height}let p=a+u,g=c+f;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function VWe(e,t,n,i,o){if(!l(e._batchTable))return;let r=i[mo.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function ule(e,t,n,i,o){if(!e._sdf)return;let r,s=i[mo.sdf],a=o.outlineColor,c=o.outlineWidth,u=H.floatToByte(a.red),f=H.floatToByte(a.green),d=H.floatToByte(a.blue),p=u*sE+f*pm+d,g=c/Xs.RADIUS,m=H.floatToByte(a.alpha)*sE+H.floatToByte(g)*pm;e._instanced?(r=o._index,s(r,p,m)):(r=o._index*4,s(r+0,p+ele,m),s(r+1,p+tle,m),s(r+2,p+nle,m),s(r+3,p+ile,m))}function fle(e,t,n,i,o){let r=i[mo.splitDirection],s=0,a=o.splitDirection;l(a)&&(s=a);let c;e._instanced?(c=o._index,r(c,s)):(c=o._index*4,r(c+0,s),r(c+1,s),r(c+2,s),r(c+3,s))}function UWe(e,t,n,i,o){Qce(e,t,n,i,o),ole(e,t,n,i,o),rle(e,t,n,i,o),uj(e,t,n,i,o),fj(e,t,n,i,o),sle(e,t,n,i,o),ale(e,t,n,i,o),cle(e,t,n,i,o),lle(e,t,n,i,o),VWe(e,t,n,i,o),ule(e,t,n,i,o),fle(e,t,n,i,o)}function lj(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=ho._computeActualPosition(u,f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ae.expand(s,d,s))}r&&ae.fromPoints(a,s)}function zWe(e,t){let n=t.mode,i=e._billboards,o=e._billboardsToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&lj(e,i,i.length,t,r,!0)):n===ne.MORPHING?lj(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&lj(e,o,e._billboardsToUpdateIndex,t,r,!1)}function HWe(e,t,n){let i=1;(!e._allSizedInMeters||e._maxPixelOffset!==0)&&(i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight));let o=i*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(o*=.5);let r=i*e._maxPixelOffset+e._maxEyeOffset;n.radius+=o+r}function GWe(e,t){let i=t.createViewportQuadCommand(`uniform sampler2D billboard_texture; -in vec2 v_textureCoordinates; -void main() -{ - out_FragColor = texture(billboard_texture, v_textureCoordinates); -} -`,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=Se.OVERLAY,i}var WWe=[];Pf.prototype.update=function(e){if(hj(this),!this.show)return;let t=this._billboards,n=t.length,i=e.context;this._instanced=i.instancedArrays,mo=this._instanced?PWe:IWe,sj=this._instanced?OWe:RWe;let o=this._textureAtlas;if(!l(o)){o=this._textureAtlas=new Iy({context:i});for(let R=0;R<n;++R)t[R]._loadImage()}let r=o.textureCoordinates;if(r.length===0)return;zWe(this,e),t=this._billboards,n=t.length;let s=this._billboardsToUpdate,a=this._billboardsToUpdateIndex,c=this._propertiesChanged,u=o.guid,f=this._createVertexArray||this._textureAtlasGUID!==u;this._textureAtlasGUID=u;let d,p=e.passes,g=p.pick;if(f||!g&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let R=0;R<dj;++R)c[R]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=LWe(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),d=this._vaf.writers;for(let R=0;R<n;++R){let M=this._billboards[R];M._dirty=!1,UWe(this,e,r,d,M)}this._vaf.commit(sj(i))}this._billboardsToUpdateIndex=0}else if(a>0){let R=WWe;R.length=0,(c[LM]||c[SWe]||c[EWe])&&R.push(Qce),(c[MM]||c[Hce]||c[CWe]||c[AWe]||c[TWe])&&(R.push(ole),this._instanced&&R.push(fj)),(c[MM]||c[vWe]||c[qce])&&(R.push(rle),R.push(uj)),(c[MM]||c[Wce])&&R.push(uj),c[Gce]&&R.push(fj),c[jce]&&R.push(sle),c[Yce]&&R.push(ale),(c[Xce]||c[wWe]||c[MM]||c[LM])&&R.push(cle),(c[MM]||c[LM])&&R.push(lle),c[Kce]&&R.push(ule),c[Zce]&&R.push(fle);let M=R.length;if(d=this._vaf.writers,a/n>.1){for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let S=0;S<M;++S)R[S](this,e,r,d,_)}this._vaf.commit(sj(i))}else{for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let S=0;S<M;++S)R[S](this,e,r,d,_);this._instanced?this._vaf.subCommit(_._index,1):this._vaf.subCommit(_._index*4,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(a>n*1.5&&(s.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ae.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,x=F.IDENTITY;e.mode===ne.SCENE3D?(x=this.modelMatrix,m=ae.clone(this._baseVolumeWC,this._boundingVolume)):m=ae.clone(this._baseVolume2D,this._boundingVolume),HWe(this,e,m);let b=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,b){this._blendOption===So.OPAQUE||this._blendOption===So.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Ve.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!0}):this._rsOpaque=void 0;let R=this._blendOption===So.TRANSLUCENT;this._blendOption===So.TRANSLUCENT||this._blendOption===So.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Ve.fromCache({depthTest:{enabled:!0,func:R?te.LEQUAL:te.LESS},depthMask:R,blending:hn.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let T,A,C,E,v,D=kt.maximumVertexTextureImageUnits>0;if(b||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){T=OM,A=RM,v=[],l(this._batchTable)&&(v.push("VECTOR_TILE"),T=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(T),A=this._batchTable.getFragmentShaderCallback(!1,void 0)(A)),C=new ze({defines:v,sources:[T]}),this._instanced&&C.defines.push("INSTANCED"),this._shaderRotation&&C.defines.push("ROTATION"),this._shaderAlignedAxis&&C.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&C.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&C.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&C.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&C.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&C.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(D?C.defines.push("VERTEX_DEPTH_CHECK"):C.defines.push("FRAGMENT_DEPTH_CHECK"));let R=1-Xs.CUTOFF;this._sdf&&C.defines.push("SDF");let M=l(this._batchTable)?"VECTOR_TILE":"";this._blendOption===So.OPAQUE_AND_TRANSLUCENT&&(E=new ze({defines:["OPAQUE",M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._sp=an.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:mo}),E=new ze({defines:["TRANSLUCENT",M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._spTranslucent=an.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:mo})),this._blendOption===So.OPAQUE&&(E=new ze({defines:[M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._sp=an.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:mo})),this._blendOption===So.TRANSLUCENT&&(E=new ze({defines:[M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._spTranslucent=an.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:mo})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let O=e.commandList;if(p.render||p.pick){let R=this._colorCommands,M=this._blendOption===So.OPAQUE,N=this._blendOption===So.OPAQUE_AND_TRANSLUCENT,_=this._vaf.va,S=_.length,w=this._uniforms,I;l(this._batchTable)?(w=this._batchTable.getUniformMapCallback()(w),I=this._batchTable.getPickId()):I="v_pickColor",R.length=S;let L=N?S*2:S;for(let B=0;B<L;++B){let U=R[B];l(U)||(U=R[B]=new Xe);let V=M||N&&B%2===0;U.pass=V||!N?Se.OPAQUE:Se.TRANSLUCENT,U.owner=this;let G=N?Math.floor(B/2):B;U.boundingVolume=m,U.modelMatrix=x,U.count=_[G].indicesCount,U.shaderProgram=V?this._sp:this._spTranslucent,U.uniformMap=w,U.vertexArray=_[G].va,U.renderState=V?this._rsOpaque:this._rsTranslucent,U.debugShowBoundingVolume=this.debugShowBoundingVolume,U.pickId=I,this._instanced&&(U.count=6,U.instanceCount=n),O.push(U)}this.debugShowTextureAtlas&&(l(this.debugCommand)||(this.debugCommand=GWe(this,e.context)),O.push(this.debugCommand))}};Pf.prototype.isDestroyed=function(){return!1};Pf.prototype.destroy=function(){return l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),$ce(this._billboards),ue(this)};var Su=Pf;function jWe(e,t,n,i,o){return function(){let r=document.createElement("canvas"),s=o+2*i;r.height=r.width=s;let a=r.getContext("2d");return a.clearRect(0,0,s,s),i!==0&&(a.beginPath(),a.arc(s/2,s/2,s/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=n,a.fill(),e<1&&(a.save(),a.globalCompositeOperation="destination-out",a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle="black",a.fill(),a.restore())),a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=t,a.fill(),r}}var Ab=jWe;function ma(e,t,n,i,o){this._content=e,this._billboard=n,this._label=i,this._polyline=o,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),aE(this)}var qWe=new fe;Object.defineProperties(ma.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=H.clone(e,this._color),aE(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,aE(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=H.clone(e,this._pointOutlineColor),aE(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,aE(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&e.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){l(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,qWe);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=H.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&aE(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});ma.defaultColor=H.WHITE;ma.defaultPointOutlineColor=H.BLACK;ma.defaultPointOutlineWidth=0;ma.defaultPointSize=8;function aE(e){let t=e._billboard;if(l(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(l(e._billboardImage))return;let n=y(e._color,ma.defaultColor),i=y(e._pointOutlineColor,ma.defaultPointOutlineColor),o=y(e._pointOutlineWidth,ma.defaultPointOutlineWidth),r=y(e._pointSize,ma.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,u=e._billboardSize;if(H.equals(n,s)&&H.equals(i,a)&&o===c&&r===u)return;e._billboardColor=H.clone(n,e._billboardColor),e._billboardOutlineColor=H.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let f=n.alpha,d=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([d,r,p,o]);t.setImage(g,Ab(f,d,p,o,r))}ma.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};ma.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};ma.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};ma.prototype.getPropertyInherited=function(e){return Ws.getPropertyInherited(this._content,this._batchId,e)};ma.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};ma.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};ma.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};ma.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var d_=ma;function YWe(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),u=100,f=r.width+u|0,d=3*a,p=d/2;c.width=f,c.height=d;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,u/2,p)),o&&(g.fillStyle="black",g.fillText(t,u/2,p));let m=g.getImageData(0,0,f,d).data,x=m.length,b=f*4,T,A,C,E;for(T=0;T<x;++T)if(m[T]!==255){C=T/b|0;break}for(T=x-1;T>=0;--T)if(m[T]!==255){E=T/b|0;break}let v=-1;for(T=0;T<f&&v===-1;++T)for(A=0;A<d;++A){let D=T*4+A*b;if(m[D]!==255||m[D+1]!==255||m[D+2]!==255||m[D+3]!==255){v=T;break}}return{width:r.width,height:E-C,ascent:p-C,descent:E-p,minx:v-u/2}}return{width:r.width,height:0,ascent:0,descent:0,minx:0}}var Eb;function XWe(e,t){if(e==="")return;t=y(t,y.EMPTY_OBJECT);let n=y(t.font,"10px sans-serif"),i=y(t.stroke,!1),o=y(t.fill,!0),r=y(t.strokeWidth,1),s=y(t.backgroundColor,H.TRANSPARENT),a=y(t.padding,0),c=a*2,u=document.createElement("canvas");u.width=1,u.height=1,u.style.font=n;let f=u.getContext("2d",{willReadFrequently:!0});l(Eb)||(l(f.imageSmoothingEnabled)?Eb="imageSmoothingEnabled":l(f.mozImageSmoothingEnabled)?Eb="mozImageSmoothingEnabled":l(f.webkitImageSmoothingEnabled)?Eb="webkitImageSmoothingEnabled":l(f.msImageSmoothingEnabled)&&(Eb="msImageSmoothingEnabled")),f.font=n,f.lineJoin="round",f.lineWidth=r,f[Eb]=!1,u.style.visibility="hidden",document.body.appendChild(u);let d=YWe(f,e,n,i,o);u.dimensions=d,document.body.removeChild(u),u.style.visibility="";let p=-d.minx,g=Math.ceil(d.width)+p+c,m=d.height+c,x=m-d.ascent+a,b=m-x+c;if(u.width=g,u.height=m,f.font=n,f.lineJoin="round",f.lineWidth=r,f[Eb]=!1,s!==H.TRANSPARENT&&(f.fillStyle=s.toCssColorString(),f.fillRect(0,0,u.width,u.height)),i){let T=y(t.strokeColor,H.BLACK);f.strokeStyle=T.toCssColorString(),f.strokeText(e,p+a,b)}if(o){let T=y(t.fillColor,H.WHITE);f.fillStyle=T.toCssColorString(),f.fillText(e,p+a,b)}return u}var Sb=XWe;var Cle=Bo(ple(),1);var ZWe={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2},Go=Object.freeze(ZWe);var _le={},gle=0,$We=256,QWe=new H(.165,.165,.165,.8),JWe=new z(7,5),ys=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function vb(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function FM(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function BM(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function xle(e){let t=_le[e._font];if(!l(t)){let n=document.createElement("div");n.style.position="absolute",n.style.opacity=0,n.style.font=e._font,document.body.appendChild(n);let i=parseFloat(BM(n,"line-height"));isNaN(i)&&(i=void 0),t={family:BM(n,"font-family"),size:BM(n,"font-size").replace("px",""),style:BM(n,"font-style"),weight:BM(n,"font-weight"),lineHeight:i},document.body.removeChild(n),gle<$We&&(_le[e._font]=t,gle++)}e._fontFamily=t.family,e._fontSize=t.size,e._fontStyle=t.style,e._fontWeight=t.weight,e._lineHeight=t.lineHeight}function h_(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=Bt.clone(n)),l(i)&&(i=Bt.clone(i)),l(o)&&(o=Bt.clone(o)),l(r)&&(r=Ot.clone(r)),this._renderedText=void 0,this._text=void 0,this._show=y(e.show,!0),this._font=y(e.font,"30px sans-serif"),this._fillColor=H.clone(y(e.fillColor,H.WHITE)),this._outlineColor=H.clone(y(e.outlineColor,H.BLACK)),this._outlineWidth=y(e.outlineWidth,1),this._showBackground=y(e.showBackground,!1),this._backgroundColor=H.clone(y(e.backgroundColor,QWe)),this._backgroundPadding=z.clone(y(e.backgroundPadding,JWe)),this._style=y(e.style,Go.FILL),this._verticalOrigin=y(e.verticalOrigin,Mn.BASELINE),this._horizontalOrigin=y(e.horizontalOrigin,xi.LEFT),this._pixelOffset=z.clone(y(e.pixelOffset,z.ZERO)),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._position=h.clone(y(e.position,h.ZERO)),this._scale=y(e.scale,1),this._id=e.id,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._scaleByDistance=o,this._heightReference=y(e.heightReference,je.NONE),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=y(e.text,""),this._relativeSize=1,xle(this),this._updateClamping()}Object.defineProperties(h_.prototype,{show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.show=e)}let n=this._backgroundBillboard;l(n)&&(n.show=e)}}},position:{get:function(){return this._position},set:function(e){let t=this._position;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o].billboard;l(s)&&(s.position=e)}let i=this._backgroundBillboard;l(i)&&(i.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(e!==this._heightReference){this._heightReference=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.heightReference=e)}let n=this._backgroundBillboard;l(n)&&(n.heightReference=e),FM(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){if(this._text!==e){this._text=e;let t=e.replace(/\u00ad/g,"");this._renderedText=h_.enableRightToLeftDetection?rje(t):t,vb(this)}}},font:{get:function(){return this._font},set:function(e){this._font!==e&&(this._font=e,vb(this),xle(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){let t=this._fillColor;H.equals(t,e)||(H.clone(e,t),vb(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),vb(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,vb(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){this._showBackground!==e&&(this._showBackground=e,vb(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){let t=this._backgroundColor;if(!H.equals(t,e)){H.clone(e,t);let n=this._backgroundBillboard;l(n)&&(n.color=t)}}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){let t=this._backgroundPadding;z.equals(t,e)||(z.clone(e,t),FM(this))}},style:{get:function(){return this._style},set:function(e){this._style!==e&&(this._style=e,vb(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;if(!z.equals(t,e)){z.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;if(!Bt.equals(t,e)){this._translucencyByDistance=Bt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.translucencyByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;if(!Bt.equals(t,e)){this._pixelOffsetScaleByDistance=Bt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffsetScaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;if(!Bt.equals(t,e)){this._scaleByDistance=Bt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.scaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.eyeOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,FM(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(this._verticalOrigin!==e){this._verticalOrigin=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.verticalOrigin=e)}let n=this._backgroundBillboard;l(n)&&(n.verticalOrigin=e),FM(this)}}},scale:{get:function(){return this._scale},set:function(e){if(this._scale!==e){this._scale=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.scale=e*this._relativeSize)}let n=this._backgroundBillboard;l(n)&&(n.scale=e*this._relativeSize),FM(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!Ot.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.distanceDisplayCondition=e)}let n=this._backgroundBillboard;l(n)&&(n.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){this._disableDepthTestDistance=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.disableDepthTestDistance=e)}let n=this._backgroundBillboard;l(n)&&(n.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.id=e)}let n=this._backgroundBillboard;l(n)&&(n.id=e)}}},pickId:{get:function(){if(!(this._glyphs.length===0||!l(this._glyphs[0].billboard)))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard._clampedPosition=e)}let n=this._backgroundBillboard;l(n)&&(n._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.clusterShow=e)}let n=this._backgroundBillboard;l(n)&&(n.clusterShow=e)}}}});h_.prototype._updateClamping=function(){ho._updateClamping(this._labelCollection,this)};h_.prototype.computeScreenSpacePosition=function(e,t){l(t)||(t=new z);let i=this._labelCollection.modelMatrix,o=l(this._actualClampedPosition)?this._actualClampedPosition:this._position;return ho._computeScreenSpacePosition(i,o,this._eyeOffset,this._pixelOffset,e,t)};h_.getScreenSpaceBoundingBox=function(e,t,n){let i=0,o=0,r=0,s=0,a=e.totalScale,c=e._backgroundBillboard;if(l(c))i=t.x+c._translate.x,o=t.y-c._translate.y,r=c.width*a,s=c.height*a,e.verticalOrigin===Mn.BOTTOM||e.verticalOrigin===Mn.BASELINE?o-=s:e.verticalOrigin===Mn.CENTER&&(o-=s*.5);else{i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;let u=0,f=0,d=e._glyphs,p=d.length;for(let g=0;g<p;++g){let m=d[g],x=m.billboard;if(!l(x))continue;let b=t.x+x._translate.x,T=t.y-x._translate.y,A=m.dimensions.width*a,C=m.dimensions.height*a;e.verticalOrigin===Mn.BOTTOM||e.verticalOrigin===Mn.BASELINE?T-=C:e.verticalOrigin===Mn.CENTER&&(T-=C*.5),e._verticalOrigin===Mn.TOP?T+=Xs.PADDING*a:(e._verticalOrigin===Mn.BOTTOM||e._verticalOrigin===Mn.BASELINE)&&(T-=Xs.PADDING*a),i=Math.min(i,b),o=Math.min(o,T),u=Math.max(u,b+A),f=Math.max(f,T+C)}r=u-i,s=f-o}return l(n)||(n=new We),n.x=i,n.y=o,n.width=r,n.height=s,n};h_.prototype.equals=function(e){return this===e||l(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&h.equals(this._position,e._position)&&H.equals(this._fillColor,e._fillColor)&&H.equals(this._outlineColor,e._outlineColor)&&H.equals(this._backgroundColor,e._backgroundColor)&&z.equals(this._backgroundPadding,e._backgroundPadding)&&z.equals(this._pixelOffset,e._pixelOffset)&&h.equals(this._eyeOffset,e._eyeOffset)&&Bt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Bt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Bt.equals(this._scaleByDistance,e._scaleByDistance)&&Ot.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id};h_.prototype.isDestroyed=function(){return!1};h_.enableRightToLeftDetection=!1;function eje(e,t){let n=/[a-zA-Z0-9]/,i=/[()[\]{}<>]/,o=[],r="",s=ys.LTR,a="",c=e.length;for(let u=0;u<c;++u){let f=e.charAt(u);t.test(f)?a=ys.RTL:n.test(f)?a=ys.LTR:i.test(f)?a=ys.BRACKETS:a=ys.WEAK,u===0&&(s=a),s===a&&a!==ys.BRACKETS?r+=f:(r!==""&&o.push({Type:s,Word:r}),s=a,r=f)}return o.push({Type:a,Word:r}),o}function tje(e){return e.split("").reverse().join("")}function kM(e,t,n){return e.slice(0,t)+n+e.slice(t)}function nje(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}var ije="\u05D0-\u05EA",oje="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",yle=new RegExp(`[${ije}${oje}]`);function rje(e){let t=e.split(` -`),n="";for(let i=0;i<t.length;i++){let o=t[i],r=yle.test(o.charAt(0)),s=eje(o,yle),a=0,c="";for(let u=0;u<s.length;++u){let f=s[u],d=f.Type===ys.BRACKETS?nje(f.Word):tje(f.Word);r?f.Type===ys.RTL?(c=d+c,a=0):f.Type===ys.LTR?(c=kM(c,a,f.Word),a+=f.Word.length):(f.Type===ys.WEAK||f.Type===ys.BRACKETS)&&(f.Type===ys.WEAK&&s[u-1].Type===ys.BRACKETS?c=d+c:s[u-1].Type===ys.RTL?(c=d+c,a=0):s.length>u+1?s[u+1].Type===ys.RTL?(c=d+c,a=0):(c=kM(c,a,f.Word),a+=f.Word.length):c=kM(c,0,d)):f.Type===ys.RTL?c=kM(c,a,d):f.Type===ys.LTR?(c+=f.Word,a=c.length):(f.Type===ys.WEAK||f.Type===ys.BRACKETS)&&(u>0&&s[u-1].Type===ys.RTL?s.length>u+1?s[u+1].Type===ys.RTL?c=kM(c,a,d):(c+=f.Word,a=c.length):c+=f.Word:(c+=f.Word,a=c.length))}n+=c,i<t.length-1&&(n+=` -`)}return n}var Py=h_;var Ale=Bo(ble(),1);function aje(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function cje(e,t,n){this.labelCollection=e,this.index=t,this.dimensions=n}var lje=1.2,Ele="ID_WHITE_PIXEL",mj=new z(4,4),uje=new We(1,1,1,1);function fje(e){let t=document.createElement("canvas");t.width=mj.x,t.height=mj.y;let n=t.getContext("2d");return n.fillStyle="#fff",n.fillRect(0,0,t.width,t.height),e.addImage(Ele,t)}var Rf={};function dje(e,t,n,i,o,r,s){return Rf.font=t,Rf.fillColor=n,Rf.strokeColor=i,Rf.strokeWidth=o,Rf.padding=Xs.PADDING,s===Mn.CENTER?Rf.textBaseline="middle":s===Mn.TOP?Rf.textBaseline="top":Rf.textBaseline="bottom",Rf.fill=r===Go.FILL||r===Go.FILL_AND_OUTLINE,Rf.stroke=r===Go.OUTLINE||r===Go.FILL_AND_OUTLINE,Rf.backgroundColor=H.BLACK,Sb(e,Rf)}function pj(e,t){t.textureInfo=void 0,t.dimensions=void 0;let n=t.billboard;l(n)&&(n.show=!1,n.image=void 0,l(n._removeCallbackFunc)&&(n._removeCallbackFunc(),n._removeCallbackFunc=void 0),e._spareBillboards.push(n),t.billboard=void 0)}function hje(e,t,n,i){i.index=e.addImageSync(t,n)}var mje=new Ale.default;function pje(e,t){let n=t._renderedText,i=mje.splitGraphemes(n),o=i.length,r=t._glyphs,s=r.length,a,c,u;if(t._relativeSize=t._fontSize/Xs.FONT_SIZE,o<s)for(c=o;c<s;++c)pj(e,r[c]);r.length=o;let f=t.show&&t._showBackground&&n.split(` -`).join("").length>0,d=t._backgroundBillboard,p=e._backgroundBillboardCollection;f?(l(d)||(d=p.add({collection:e,image:Ele,imageSubRegion:uje}),t._backgroundBillboard=d),d.color=t._backgroundColor,d.show=t._show,d.position=t._position,d.eyeOffset=t._eyeOffset,d.pixelOffset=t._pixelOffset,d.horizontalOrigin=xi.LEFT,d.verticalOrigin=t._verticalOrigin,d.heightReference=t._heightReference,d.scale=t.totalScale,d.pickPrimitive=t,d.id=t._id,d.translucencyByDistance=t._translucencyByDistance,d.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,d.scaleByDistance=t._scaleByDistance,d.distanceDisplayCondition=t._distanceDisplayCondition,d.disableDepthTestDistance=t._disableDepthTestDistance,d.clusterShow=t.clusterShow):l(d)&&(p.remove(d),t._backgroundBillboard=d=void 0);let g=e._glyphTextureCache;for(u=0;u<o;++u){let m=i[u],x=t._verticalOrigin,b=JSON.stringify([m,t._fontFamily,t._fontStyle,t._fontWeight,+x]),T=g[b];if(!l(T)){let A=`${t._fontStyle} ${t._fontWeight} ${Xs.FONT_SIZE}px ${t._fontFamily}`,C=dje(m,A,H.WHITE,H.WHITE,0,Go.FILL,x);if(T=new cje(e,-1,C.dimensions),g[b]=T,C.width>0&&C.height>0){let E=(0,Cle.default)(C,{cutoff:Xs.CUTOFF,radius:Xs.RADIUS}),v=C.getContext("2d"),D=C.width,O=C.height,R=v.getImageData(0,0,D,O);for(let M=0;M<D;M++)for(let N=0;N<O;N++){let _=N*D+M,S=E[_]*255,w=_*4;R.data[w+0]=S,R.data[w+1]=S,R.data[w+2]=S,R.data[w+3]=S}v.putImageData(R,0,0),m!==" "&&hje(e._textureAtlas,b,C,T)}}if(a=r[u],l(a)?T.index===-1?pj(e,a):l(a.textureInfo)&&(a.textureInfo=void 0):(a=new aje,r[u]=a),a.textureInfo=T,a.dimensions=T.dimensions,T.index!==-1){let A=a.billboard,C=e._spareBillboards;l(A)||(C.length>0?A=C.pop():(A=e._billboardCollection.add({collection:e}),A._labelDimensions=new z,A._labelTranslate=new z),a.billboard=A),A.show=t._show,A.position=t._position,A.eyeOffset=t._eyeOffset,A.pixelOffset=t._pixelOffset,A.horizontalOrigin=xi.LEFT,A.verticalOrigin=t._verticalOrigin,A.heightReference=t._heightReference,A.scale=t.totalScale,A.pickPrimitive=t,A.id=t._id,A.image=b,A.translucencyByDistance=t._translucencyByDistance,A.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,A.scaleByDistance=t._scaleByDistance,A.distanceDisplayCondition=t._distanceDisplayCondition,A.disableDepthTestDistance=t._disableDepthTestDistance,A._batchIndex=t._batchIndex,A.outlineColor=t.outlineColor,t.style===Go.FILL_AND_OUTLINE?(A.color=t._fillColor,A.outlineWidth=t.outlineWidth):t.style===Go.FILL?(A.color=t._fillColor,A.outlineWidth=0):t.style===Go.OUTLINE&&(A.color=H.TRANSPARENT,A.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function Tle(e,t,n){return t===xi.CENTER?-e/2:t===xi.RIGHT?-(e+n.x):n.x}var ur=new z,_je=new z;function gje(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,u=0,f=1,d,p=t.length,g=e._backgroundBillboard,m=z.clone(l(g)?e._backgroundPadding:z.ZERO,_je);for(m.x/=e._relativeSize,m.y/=e._relativeSize,d=0;d<p;++d)n.charAt(d)===` -`?(a.push(r),++f,r=0):(i=t[d],o=i.dimensions,u=Math.max(u,o.height-o.descent),c=Math.max(c,o.descent),r+=o.width-o.minx,d<p-1&&(r+=t[d+1].dimensions.minx),s=Math.max(s,r));a.push(r);let x=u+c,b=e.totalScale,T=e._horizontalOrigin,A=e._verticalOrigin,C=0,E=a[C],v=Tle(E,T,m),D=(l(e._lineHeight)?e._lineHeight:lje*e._fontSize)/e._relativeSize,O=D*(f-1),R=s,M=x+O;l(g)&&(R+=m.x*2,M+=m.y*2,g._labelHorizontalOrigin=T),ur.x=v*b,ur.y=0;let N=!0,_=0;for(d=0;d<p;++d)if(n.charAt(d)===` -`)++C,_+=D,E=a[C],v=Tle(E,T,m),ur.x=v*b,N=!0;else if(i=t[d],o=i.dimensions,A===Mn.TOP?(ur.y=o.height-u-m.y,ur.y+=Xs.PADDING):A===Mn.CENTER?ur.y=(O+o.height-u)/2:A===Mn.BASELINE?(ur.y=O,ur.y-=Xs.PADDING):(ur.y=O+c+m.y,ur.y-=Xs.PADDING),ur.y=(ur.y-o.descent-_)*b,N&&(ur.x-=Xs.PADDING*b,N=!1),l(i.billboard)&&(i.billboard._setTranslate(ur),i.billboard._labelDimensions.x=R,i.billboard._labelDimensions.y=M,i.billboard._labelHorizontalOrigin=T),d<p-1){let S=t[d+1];ur.x+=(o.width-o.minx+S.dimensions.minx)*b}if(l(g)&&n.split(` -`).join("").length>0&&(T===xi.CENTER?v=-s/2-m.x:T===xi.RIGHT?v=-(s+m.x*2):v=0,ur.x=v*b,A===Mn.TOP?ur.y=x-u-c:A===Mn.CENTER?ur.y=(x-u)/2-c:A===Mn.BASELINE?ur.y=-m.y-c:ur.y=0,ur.y=ur.y*b,g.width=R,g.height=M,g._setTranslate(ur),g._labelTranslate=z.clone(ur,g._labelTranslate)),mf(e.heightReference))for(d=0;d<p;++d){i=t[d];let S=i.billboard;l(S)&&(S._labelTranslate=z.clone(ur,S._labelTranslate))}}function Sle(e,t){let n=t._glyphs;for(let i=0,o=n.length;i<o;++i)pj(e,n[i]);l(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,l(t._removeCallbackFunc)&&t._removeCallbackFunc(),ue(t)}function _m(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._backgroundBillboardCollection=new Su({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new Su({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=H.clone(H.WHITE),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,So.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(_m.prototype,{length:{get:function(){return this._labels.length}}});_m.prototype.add=function(e){let t=new Py(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t};_m.prototype.remove=function(e){if(l(e)&&e._labelCollection===this){let t=this._labels.indexOf(e);if(t!==-1)return this._labels.splice(t,1),Sle(this,e),!0}return!1};_m.prototype.removeAll=function(){let e=this._labels;for(let t=0,n=e.length;t<n;++t)Sle(this,e[t]);e.length=0};_m.prototype.contains=function(e){return l(e)&&e._labelCollection===this};_m.prototype.get=function(e){return this._labels[e]};_m.prototype.update=function(e){if(!this.show)return;let t=this._billboardCollection,n=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume;let i=e.context;l(this._textureAtlas)||(this._textureAtlas=new Iy({context:i}),t.textureAtlas=this._textureAtlas),l(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new Iy({context:i,initialSize:mj}),n.textureAtlas=this._backgroundTextureAtlas,fje(this._backgroundTextureAtlas));let o=this._labelsToUpdate.length;for(let s=0;s<o;++s){let a=this._labelsToUpdate[s];if(a.isDestroyed())continue;let c=a._glyphs.length;a._rebindAllGlyphs&&(pje(this,a),a._rebindAllGlyphs=!1),a._repositionAllGlyphs&&(gje(a),a._repositionAllGlyphs=!1);let u=a._glyphs.length-c;this._totalGlyphCount+=u}let r=n.length>0?So.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};_m.prototype.isDestroyed=function(){return!1};_m.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),ue(this)};var gm=_m;var VM=`in vec3 position3DHigh; -in vec3 position3DLow; -in vec3 position2DHigh; -in vec3 position2DLow; -in vec3 prevPosition3DHigh; -in vec3 prevPosition3DLow; -in vec3 prevPosition2DHigh; -in vec3 prevPosition2DLow; -in vec3 nextPosition3DHigh; -in vec3 nextPosition3DLow; -in vec3 nextPosition2DHigh; -in vec3 nextPosition2DLow; -in vec4 texCoordExpandAndBatchIndex; + temp = temp * SHIFT_RIGHT1; -out vec2 v_st; -out float v_width; -out vec4 v_pickColor; -out float v_polylineAngle; + float temp2 = (temp - floor(temp)) * SHIFT_LEFT1; + bool enableDepthTest = temp2 != 0.0; + bool applyTranslate = floor(temp) != 0.0; -void main() -{ - float texCoord = texCoordExpandAndBatchIndex.x; - float expandDir = texCoordExpandAndBatchIndex.y; - bool usePrev = texCoordExpandAndBatchIndex.z < 0.0; - float batchTableIndex = texCoordExpandAndBatchIndex.w; + if (enableDepthTest) { + temp = v_compressed.z; + temp = temp * SHIFT_RIGHT12; - vec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex); - float width = widthAndShow.x + 0.5; - float show = widthAndShow.y; + vec2 dimensions; + dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; + dimensions.x = floor(temp); - if (width < 1.0) - { - show = 0.0; - } + temp = v_compressed.w; + temp = temp * SHIFT_RIGHT12; - vec4 pickColor = batchTable_getPickColor(batchTableIndex); + vec2 imageSize; + imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12; + imageSize.x = floor(temp); - vec4 p, prev, next; - if (czm_morphTime == 1.0) - { - p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz); - prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz); - next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz); - } - else if (czm_morphTime == 0.0) - { - p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); - prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy); - next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy); - } - else - { - p = czm_columbusViewMorph( - czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy), - czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz), - czm_morphTime); - prev = czm_columbusViewMorph( - czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy), - czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz), - czm_morphTime); - next = czm_columbusViewMorph( - czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy), - czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz), - czm_morphTime); - } + vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy; + adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y); - #ifdef DISTANCE_DISPLAY_CONDITION - vec3 centerHigh = batchTable_getCenterHigh(batchTableIndex); - vec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex); - vec3 centerLow = centerLowAndRadius.xyz; - float radius = centerLowAndRadius.w; - vec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex); + float epsilonEyeDepth = v_compressed.x + czm_epsilon1; + float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize); - float lengthSq; - if (czm_sceneMode == czm_sceneMode2D) - { - lengthSq = czm_eyeHeight2D.y; - } - else + // negative values go into the screen + if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth) { - vec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz); - lengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius); + float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner + if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth) + { + float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner + if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth) + { + discard; + } + } } + } +#endif - float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; - float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; - if (lengthSq < nearSq || lengthSq > farSq) - { - show = 0.0; - } - #endif +} +`;var HM=`#ifdef INSTANCED +in vec2 direction; +#endif +in vec4 positionHighAndScale; +in vec4 positionLowAndRotation; +in vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset) +in vec4 compressedAttribute1; // aligned axis, translucency by distance, image width +in vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free +in vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range) +in vec4 scaleByDistance; // near, nearScale, far, farScale +in vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale +in vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions +in vec2 sdf; // sdf outline color (rgb) and width (w) +in float splitDirection; // splitDirection +#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) +in vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates +#endif +#ifdef VECTOR_TILE +in float a_batchId; +#endif - float polylineAngle; - vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle); - gl_Position = czm_viewportOrthographic * positionWC * show; +out vec2 v_textureCoordinates; +#ifdef FRAGMENT_DEPTH_CHECK +out vec4 v_textureCoordinateBounds; +out vec4 v_originTextureCoordinateAndTranslate; +out vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize +out mat2 v_rotationMatrix; +#endif - v_st.s = texCoord; - v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w); +out vec4 v_pickColor; +out vec4 v_color; +out float v_splitDirection; +#ifdef SDF +out vec4 v_outlineColor; +out float v_outlineWidth; +#endif - v_width = width; - v_pickColor = pickColor; - v_polylineAngle = polylineAngle; -} -`;var Qc={};Qc.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};Qc.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var yje=new fe;Qc.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o<n;o++){let r=e[o];i[o]=t.cartesianToCartographic(r,yje).height}return i};var xje=new F,bje=new h,vle=new h,Tje=new ln(h.UNIT_X,0),wle=new h,Cje=new ln(h.UNIT_X,0),Aje=new h,Eje=new h,gj=[];function Ile(e,t,n){let i=gj;i.length=e;let o;if(t===n){for(o=0;o<e;o++)i[o]=t;return i}let s=(n-t)/e;for(o=0;o<e;o++){let a=t+o*s;i[o]=a}return i}var _z=new fe,pz=new fe,Ry=new h,yj=new h,Sje=new h,_j=new Ip,UM=new Na;function vje(e,t,n,i,o,r,s,a){let c=i.scaleToGeodeticSurface(e,yj),u=i.scaleToGeodeticSurface(t,Sje),f=Qc.numberOfPoints(e,t,n),d=i.cartesianToCartographic(c,_z),p=i.cartesianToCartographic(u,pz),g=Ile(f,o,r);_j.setEndPoints(d,p);let m=_j.surfaceDistance/f,x=a;d.height=o;let b=i.cartographicToCartesian(d,Ry);h.pack(b,s,x),x+=3;for(let T=1;T<f;T++){let A=_j.interpolateUsingSurfaceDistance(T*m,pz);A.height=g[T],b=i.cartographicToCartesian(A,Ry),h.pack(b,s,x),x+=3}return x}function wje(e,t,n,i,o,r,s,a){let c=i.cartesianToCartographic(e,_z),u=i.cartesianToCartographic(t,pz),f=Qc.numberOfPointsRhumbLine(c,u,n);c.height=0,u.height=0;let d=Ile(f,o,r);UM.ellipsoid.equals(i)||(UM=new Na(void 0,void 0,i)),UM.setEndPoints(c,u);let p=UM.surfaceDistance/f,g=a;c.height=o;let m=i.cartographicToCartesian(c,Ry);h.pack(m,s,g),g+=3;for(let x=1;x<f;x++){let b=UM.interpolateUsingSurfaceDistance(x*p,pz);b.height=d[x],m=i.cartographicToCartesian(b,Ry),h.pack(m,s,g),g+=3}return g}Qc.wrapLongitude=function(e,t){let n=[],i=[];if(l(e)&&e.length>0){t=y(t,F.IDENTITY);let o=F.inverseTransformation(t,xje),r=F.multiplyByPoint(o,h.ZERO,bje),s=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_Y,vle),vle),a=ln.fromPointNormal(r,s,Tje),c=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_X,wle),wle),u=ln.fromPointNormal(r,c,Cje),f=1;n.push(h.clone(e[0]));let d=n[0],p=e.length;for(let g=1;g<p;++g){let m=e[g];if(ln.getPointDistance(u,d)<0||ln.getPointDistance(u,m)<0){let x=ni.lineSegmentPlane(d,m,a,Aje);if(l(x)){let b=h.multiplyByScalar(s,5e-9,Eje);ln.getPointDistance(a,d)<0&&h.negate(b,b),n.push(h.add(x,b,new h)),i.push(f+1),h.negate(b,b),n.push(h.add(x,b,new h)),f=1}}n.push(h.clone(e[g])),f++,d=m}i.push(f)}return{positions:n,lengths:i}};Qc.generateArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let x=i.scaleToGeodeticSurface(t[0],yj);if(o=r?o[0]:o,o!==0){let b=i.geodeticSurfaceNormal(x,Ry);h.multiplyByScalar(b,o,b),h.add(x,b,x)}return[x.x,x.y,x.z]}let s=e.minDistance;if(!l(s)){let x=y(e.granularity,P.RADIANS_PER_DEGREE);s=P.chordLength(x,i.maximumRadius)}let a=0,c;for(c=0;c<n-1;c++)a+=Qc.numberOfPoints(t[c],t[c+1],s);let u=(a+1)*3,f=new Array(u),d=0;for(c=0;c<n-1;c++){let x=t[c],b=t[c+1],T=r?o[c]:o,A=r?o[c+1]:o;d=vje(x,b,s,i,T,A,f,d)}gj.length=0;let p=t[n-1],g=i.cartesianToCartographic(p,_z);g.height=r?o[n-1]:o;let m=i.cartographicToCartesian(g,Ry);return h.pack(m,f,u-3),f};var Dle=new fe,Dje=new fe;Qc.generateRhumbArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let T=i.scaleToGeodeticSurface(t[0],yj);if(o=r?o[0]:o,o!==0){let A=i.geodeticSurfaceNormal(T,Ry);h.multiplyByScalar(A,o,A),h.add(T,A,T)}return[T.x,T.y,T.z]}let s=y(e.granularity,P.RADIANS_PER_DEGREE),a=0,c,u=i.cartesianToCartographic(t[0],Dle),f;for(c=0;c<n-1;c++)f=i.cartesianToCartographic(t[c+1],Dje),a+=Qc.numberOfPointsRhumbLine(u,f,s),u=fe.clone(f,Dle);let d=(a+1)*3,p=new Array(d),g=0;for(c=0;c<n-1;c++){let T=t[c],A=t[c+1],C=r?o[c]:o,E=r?o[c+1]:o;g=wje(T,A,s,i,C,E,p,g)}gj.length=0;let m=t[n-1],x=i.cartesianToCartographic(m,_z);x.height=r?o[n-1]:o;let b=i.cartographicToCartesian(x,Ry);return h.pack(b,p,d-3),p};Qc.generateCartesianArc=function(e){let t=Qc.generateArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};Qc.generateCartesianRhumbArc=function(e){let t=Qc.generateRhumbArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};var Oi=Qc;function vu(e,t){e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._width=y(e.width,1),this._loop=y(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,l(this._material)||(this._material=Xi.fromType(Xi.ColorType,{color:new H(1,1,1,1)}));let n=e.positions;l(n)||(n=[]),this._positions=n,this._actualPositions=Co(n,h.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;l(t)&&(i=F.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Oi.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(Rle),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=ae.fromPoints(this._actualPositions),this._boundingVolumeWC=ae.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new ae}var Ple=vu.POSITION_INDEX=0,Ije=vu.SHOW_INDEX=1,Pje=vu.WIDTH_INDEX=2,Rje=vu.MATERIAL_INDEX=3,zM=vu.POSITION_SIZE_INDEX=4,Oje=vu.DISTANCE_DISPLAY_CONDITION=5,Rle=vu.NUMBER_OF_PROPERTIES=6;function m_(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;l(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(vu.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,m_(this,Ije))}},positions:{get:function(){return this._positions},set:function(e){let t=Co(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&m_(this,zM),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=ae.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=ae.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),m_(this,Ple),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,m_(this,Rje))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,m_(this,Pje))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,m_(this,zM)}}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!l(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ot.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition),m_(this,Oje))}}});vu.prototype.update=function(){let e=F.IDENTITY;l(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[Ple]>0||this._propertiesChanged[zM]>0;if((!F.equals(e,this._modelMatrix)||i)&&(this._segments=Oi.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=ae.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=F.clone(e,this._modelMatrix),this._segments.positions.length!==t)m_(this,zM);else{let o=n.length;for(let r=0;r<o;++r)if(n[r]!==this._segments.lengths[r]){m_(this,zM);break}}};vu.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId};vu.prototype._clean=function(){this._dirty=!1;let e=this._propertiesChanged;for(let t=0;t<Rle-1;++t)e[t]=0};vu.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var Of=vu;var Mje=Of.SHOW_INDEX,Lje=Of.WIDTH_INDEX,bj=Of.POSITION_INDEX,Nje=Of.MATERIAL_INDEX,Ole=Of.POSITION_SIZE_INDEX,Fje=Of.DISTANCE_DISPLAY_CONDITION,Vle=Of.NUMBER_OF_PROPERTIES,kl={texCoordExpandAndBatchIndex:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12};function $d(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(Vle),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:ke.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=H.clone(H.WHITE);let t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}Object.defineProperties($d.prototype,{length:{get:function(){return Tj(this),this._polylines.length}}});$d.prototype.add=function(e){let t=new Of(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,this._createBatchTable=!0,t};$d.prototype.remove=function(e){if(this.contains(e)){if(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,l(e._bucket)){let t=e._bucket;t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()}return e._destroy(),!0}return!1};$d.prototype.removeAll=function(){Cj(this),Wle(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0};$d.prototype.contains=function(e){return l(e)&&e._polylineCollection===this};$d.prototype.get=function(e){return Tj(this),this._polylines[e]};function Bje(e,t){l(e._batchTable)&&e._batchTable.destroy();let n=[{functionName:"batchTable_getWidthAndShow",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:X.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:X.FLOAT,componentsPerAttribute:2}];e._batchTable=new gx(t,n,e._polylines.length)}var Ule=new Yn,zle=new oe,Hle=new z;$d.prototype.update=function(e){if(Tj(this),this._polylines.length===0||!this.show)return;Gje(this,e);let t=e.context,n=e.mapProjection,i,o=this._propertiesChanged;if(this._createBatchTable){if(kt.maximumVertexTextureImageUnits===0)throw new ce("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");Bje(this,t),this._createBatchTable=!1}if(this._createVertexArray||Vje(this))Nle(this,t,n);else if(this._polylinesUpdated){let c=this._polylinesToUpdate;if(this._mode!==ne.SCENE3D){let u=c.length;for(let f=0;f<u;++f)i=c[f],i.update()}if(o[Ole]||o[Nje])Nle(this,t,n);else{let u=c.length,f=this._polylineBuckets;for(let d=0;d<u;++d){i=c[d],o=i._propertiesChanged;let p=i._bucket,g=0;for(let m in f)if(f.hasOwnProperty(m)){if(f[m]===p){o[bj]&&p.writeUpdate(g,i,this._positionBuffer,n);break}g+=f[m].lengthOfPositions}if((o[Mje]||o[Lje])&&this._batchTable.setBatchedAttribute(i._index,0,new z(i._width,i._show)),this._batchTable.attributes.length>2){if(o[bj]||o[Ole]){let m=e.mode===ne.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,x=Yn.fromCartesian(m.center,Ule),b=oe.fromElements(x.low.x,x.low.y,x.low.z,m.radius,zle);this._batchTable.setBatchedAttribute(i._index,2,x.high),this._batchTable.setBatchedAttribute(i._index,3,b)}if(o[Fje]){let m=Hle;m.x=0,m.y=Number.MAX_VALUE;let x=i.distanceDisplayCondition;l(x)&&(m.x=x.near,m.y=x.far),this._batchTable.setBatchedAttribute(i._index,4,m)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c<Vle;++c)o[c]=0;let r=F.IDENTITY;e.mode===ne.SCENE3D&&(r=this.modelMatrix);let s=e.passes,a=e.morphTime!==0;if((!l(this._opaqueRS)||this._opaqueRS.depthTest.enabled!==a)&&(this._opaqueRS=Ve.fromCache({depthMask:a,depthTest:{enabled:a}})),(!l(this._translucentRS)||this._translucentRS.depthTest.enabled!==a)&&(this._translucentRS=Ve.fromCache({blending:hn.ALPHA_BLEND,depthMask:!a,depthTest:{enabled:a}})),this._batchTable.update(e),s.render||s.pick){let c=this._colorCommands;kje(this,e,c,r)}};var HM=new ae,Mle=new ae;function kje(e,t,n,i){let o=t.context,r=t.commandList,s=n.length,a=0,c=!0,u=e._vertexArrays,f=e.debugShowBoundingVolume,p=e._batchTable.getUniformMapCallback(),g=u.length;for(let m=0;m<g;++m){let x=u[m],b=x.buckets,T=b.length;for(let A=0;A<T;++A){let C=b[A],E=C.offset,v=C.bucket.shaderProgram,D=C.bucket.polylines,O=D.length,R,M,N=0,_,S;for(let w=0;w<O;++w){let I=D[w],L=zje(I._material);if(L!==R){if(l(R)&&N>0){let G=M.isTranslucent();a>=s?(_=new Xe({owner:e}),n.push(_)):_=n[a],++a,S=bt(p(M._uniforms),e._uniformMap),_.boundingVolume=ae.clone(HM,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=x.va,_.renderState=G?e._translucentRS:e._opaqueRS,_.pass=G?Se.TRANSLUCENT:Se.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=S,_.count=N,_.offset=E,E+=N,N=0,c=!0,r.push(_)}M=I._material,M.update(o),R=L}let B=I._locatorBuckets,U=B.length;for(let G=0;G<U;++G){let k=B[G];k.locator===C&&(N+=k.count)}let V;t.mode===ne.SCENE3D?V=I._boundingVolumeWC:t.mode===ne.COLUMBUS_VIEW?V=I._boundingVolume2D:t.mode===ne.SCENE2D?l(I._boundingVolume2D)&&(V=ae.clone(I._boundingVolume2D,Mle),V.center.x=0):l(I._boundingVolumeWC)&&l(I._boundingVolume2D)&&(V=ae.union(I._boundingVolumeWC,I._boundingVolume2D,Mle)),c?(c=!1,ae.clone(V,HM)):ae.union(V,HM,HM)}l(R)&&N>0&&(a>=s?(_=new Xe({owner:e}),n.push(_)):_=n[a],++a,S=bt(p(M._uniforms),e._uniformMap),_.boundingVolume=ae.clone(HM,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=x.va,_.renderState=M.isTranslucent()?e._translucentRS:e._opaqueRS,_.pass=M.isTranslucent()?Se.TRANSLUCENT:Se.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=S,_.count=N,_.offset=E,c=!0,r.push(_)),R=void 0}}n.length=a}$d.prototype.isDestroyed=function(){return!1};$d.prototype.destroy=function(){return Gle(this),Cj(this),Wle(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function Vje(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[bj]?(i.bufferUsage!==ke.STREAM_DRAW&&(t=!0,i.bufferUsage=ke.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==ke.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=ke.STATIC_DRAW):i.frameCount--),t}var Lle=[0,0,0];function Nle(e,t,n){e._createVertexArray=!1,Cj(e),Gle(e),Hje(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,u=[[]],f=0,d=e._polylineBuckets,p,g;for(p in d)d.hasOwnProperty(p)&&(g=d[p],g.updateShader(t,r,s),f+=g.lengthOfPositions);if(f>0){let m=e._mode,x=new Float32Array(6*f*3),b=new Float32Array(f*4),T,A=0,C=0,E=0;for(p in d)if(d.hasOwnProperty(p)){g=d[p],g.write(x,b,A,C,E,r,t,n),m===ne.MORPHING&&(l(T)||(T=new Float32Array(6*f*3)),g.writeForMorph(T,A));let S=g.lengthOfPositions;A+=6*S*3,C+=S*4,E+=S*4,c=g.updateIndices(i,a,u,c)}let v=e._positionBufferUsage.bufferUsage,D=ke.STATIC_DRAW;e._positionBuffer=pt.createVertexBuffer({context:t,typedArray:x,usage:v});let O;l(T)&&(O=pt.createVertexBuffer({context:t,typedArray:T,usage:v})),e._texCoordExpandAndBatchIndexBuffer=pt.createVertexBuffer({context:t,typedArray:b,usage:D});let R=3*Float32Array.BYTES_PER_ELEMENT,M=4*Float32Array.BYTES_PER_ELEMENT,N=0,_=i.length;for(let S=0;S<_;++S)if(o=i[S],o.length>0){let w=new Uint16Array(o),I=pt.createIndexBuffer({context:t,typedArray:w,usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});N+=a[S];let L=6*(S*(R*P.SIXTY_FOUR_KILOBYTES)-N*R),B=R+L,U=R+B,V=R+U,G=R+V,k=R+G,Y=S*(M*P.SIXTY_FOUR_KILOBYTES)-N*M,W=[{index:kl.position3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:L,strideInBytes:6*R},{index:kl.position3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*R},{index:kl.position2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:L,strideInBytes:6*R},{index:kl.position2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*R},{index:kl.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:U,strideInBytes:6*R},{index:kl.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*R},{index:kl.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:U,strideInBytes:6*R},{index:kl.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*R},{index:kl.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*R},{index:kl.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*R},{index:kl.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*R},{index:kl.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*R},{index:kl.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:X.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:Y}],Q,j,Z,J;m===ne.SCENE3D?(j=e._positionBuffer,Q="vertexBuffer",Z=Lle,J="value"):m===ne.SCENE2D||m===ne.COLUMBUS_VIEW?(j=Lle,Q="value",Z=e._positionBuffer,J="vertexBuffer"):(j=O,Q="vertexBuffer",Z=e._positionBuffer,J="vertexBuffer"),W[0][Q]=j,W[1][Q]=j,W[2][J]=Z,W[3][J]=Z,W[4][Q]=j,W[5][Q]=j,W[6][J]=Z,W[7][J]=Z,W[8][Q]=j,W[9][Q]=j,W[10][J]=Z,W[11][J]=Z;let he=new pi({context:t,attributes:W,indexBuffer:I});e._vertexArrays.push({va:he,buckets:u[S]})}}}function Uje(e,t){return t instanceof Mt?t.id:t}var gz=[];function zje(e){let t=Xi._uniformList[e.type],n=t.length;gz.length=2*n;let i=0;for(let o=0;o<n;++o){let r=t[o];gz[i]=r,gz[i+1]=e._uniforms[r](),i+=2}return`${e.type}:${JSON.stringify(gz,Uje)}`}function Hje(e){let t=e._mode,n=e._modelMatrix,i=e._polylineBuckets={},o=e._polylines,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a._actualPositions.length>1){a.update();let c=a.material,u=i[c.type];l(u)||(u=i[c.type]=new ym(c,t,n)),u.addPolyline(a)}}}function Gje(e,t){let n=t.mode;(e._mode!==n||!F.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=F.clone(e.modelMatrix),e._createVertexArray=!0)}function Tj(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s<r;++s)o=e._polylines[s],o.isDestroyed||(o._index=i++,n.push(o),t.push(o));e._polylines=t,e._polylinesToUpdate=n}}function Cj(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)if(!t[i].isDestroyed){let o=t[i]._bucket;l(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy())}}function Gle(e){let t=e._vertexArrays.length;for(let n=0;n<t;++n)e._vertexArrays[n].va.destroy();e._vertexArrays.length=0}$d.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};function Wle(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)t[i].isDestroyed||t[i]._destroy()}function xj(e,t,n){this.count=e,this.offset=t,this.bucket=n}function ym(e,t,n){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=n}ym.prototype.addPolyline=function(e){this.polylines.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this};ym.prototype.updateShader=function(e,t,n){if(l(this.shaderProgram))return;let i=["DISTANCE_DISPLAY_CONDITION"];n&&i.push("VECTOR_TILE"),this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&i.push("POLYLINE_DASH"),Gt.isInternetExplorer()||i.push("CLIP_POLYLINE");let o=new ze({defines:i,sources:[`in vec4 v_pickColor; -`,this.material.shaderSource,Dx]}),r=t.getVertexShaderCallback()(VM),s=new ze({defines:i,sources:[mu,r]});this.shaderProgram=an.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:o,attributeLocations:kl})};function jle(e){return h.dot(h.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(ln.ORIGIN_ZX_PLANE)===jt.INTERSECTING}ym.prototype.getPolylinePositionsLength=function(e){let t;if(this.mode===ne.SCENE3D||!jle(e))return t=e._actualPositions.length,t*4-4;let n=0,i=e._segments.lengths;t=i.length;for(let o=0;o<t;++o)n+=i[o]*4-4;return n};var vs=new h,Mf=new h,Lf=new h,yz=new h,Wje=new oe,jje=new z;ym.prototype.write=function(e,t,n,i,o,r,s,a){let c=this.mode,u=a.ellipsoid.maximumRadius*P.PI,f=this.polylines,d=f.length;for(let p=0;p<d;++p){let g=f[p],m=g.width,x=g.show&&m>0,b=g._index,T=this.getSegments(g,a),A=T.positions,C=T.lengths,E=A.length,v=g.getPickId(s).color,D=0,O=0,R;for(let U=0;U<E;++U){U===0?g._loop?R=A[E-2]:(R=yz,h.subtract(A[0],A[1],R),h.add(A[0],R,R)):R=A[U-1],h.clone(R,Mf),h.clone(A[U],vs),U===E-1?g._loop?R=A[1]:(R=yz,h.subtract(A[E-1],A[E-2],R),h.add(A[E-1],R,R)):R=A[U+1],h.clone(R,Lf);let V=C[D];U===O+V&&(O+=V,++D);let G=U-O===0,k=U===O+C[D]-1;c===ne.SCENE2D&&(Mf.z=0,vs.z=0,Lf.z=0),(c===ne.SCENE2D||c===ne.MORPHING)&&(G||k)&&u-Math.abs(vs.x)<1&&((vs.x<0&&Mf.x>0||vs.x>0&&Mf.x<0)&&h.clone(vs,Mf),(vs.x<0&&Lf.x>0||vs.x>0&&Lf.x<0)&&h.clone(vs,Lf));let Y=G?2:0,W=k?2:4;for(let Q=Y;Q<W;++Q){Yn.writeElements(vs,e,n),Yn.writeElements(Mf,e,n+6),Yn.writeElements(Lf,e,n+12);let j=Q-2<0?-1:1;t[o]=U/(E-1),t[o+1]=2*(Q%2)-1,t[o+2]=j,t[o+3]=b,n+=6*3,o+=4}}let M=Wje;M.x=H.floatToByte(v.red),M.y=H.floatToByte(v.green),M.z=H.floatToByte(v.blue),M.w=H.floatToByte(v.alpha);let N=jje;N.x=m,N.y=x?1:0;let _=c===ne.SCENE2D?g._boundingVolume2D:g._boundingVolumeWC,S=Yn.fromCartesian(_.center,Ule),w=S.high,I=oe.fromElements(S.low.x,S.low.y,S.low.z,_.radius,zle),L=Hle;L.x=0,L.y=Number.MAX_VALUE;let B=g.distanceDisplayCondition;l(B)&&(L.x=B.near,L.y=B.far),r.setBatchedAttribute(b,0,N),r.setBatchedAttribute(b,1,M),r.attributes.length>2&&(r.setBatchedAttribute(b,2,w),r.setBatchedAttribute(b,3,I),r.setBatchedAttribute(b,4,L))}};var qje=new h,Yje=new h,Xje=new h,Fle=new h;ym.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=s._segments.positions,c=s._segments.lengths,u=a.length,f=0,d=0;for(let p=0;p<u;++p){let g;p===0?s._loop?g=a[u-2]:(g=Fle,h.subtract(a[0],a[1],g),h.add(a[0],g,g)):g=a[p-1],g=F.multiplyByPoint(n,g,Yje);let m=F.multiplyByPoint(n,a[p],qje),x;p===u-1?s._loop?x=a[1]:(x=Fle,h.subtract(a[u-1],a[u-2],x),h.add(a[u-1],x,x)):x=a[p+1],x=F.multiplyByPoint(n,x,Xje);let b=c[f];p===d+b&&(d+=b,++f);let T=p-d===0,A=p===d+c[f]-1,C=T?2:0,E=A?2:4;for(let v=C;v<E;++v)Yn.writeElements(m,e,t),Yn.writeElements(g,e,t+6),Yn.writeElements(x,e,t+12),t+=6*3}}};var Kje=new Array(1);ym.prototype.updateIndices=function(e,t,n,i){let o=n.length-1,r=new xj(0,i,this);n[o].push(r);let s=0,a=e[e.length-1],c=0;a.length>0&&(c=a[a.length-1]+1);let u=this.polylines,f=u.length;for(let d=0;d<f;++d){let p=u[d];p._locatorBuckets=[];let g;if(this.mode===ne.SCENE3D){g=Kje;let x=p._actualPositions.length;if(x>0)g[0]=x;else continue}else g=p._segments.lengths;let m=g.length;if(m>0){let x=0;for(let b=0;b<m;++b){let T=g[b]-1;for(let A=0;A<T;++A)c+4>P.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:x}),x=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new xj(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),x+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:x}),c+4>P.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new xj(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};ym.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o<i;++o){let r=t[o];if(r===e)break;n+=r._actualLength}return n};var cE={positions:void 0,lengths:void 0},Ble=new Array(1),Zje=new h,$je=new fe;ym.prototype.getSegments=function(e,t){let n=e._actualPositions;if(this.mode===ne.SCENE3D)return Ble[0]=n.length,cE.positions=n,cE.lengths=Ble,cE;jle(e)&&(n=e._segments.positions);let i=t.ellipsoid,o=[],r=this.modelMatrix,s=n.length,a,c=Zje;for(let u=0;u<s;++u)a=n[u],c=F.multiplyByPoint(r,a,c),o.push(t.project(i.cartesianToCartographic(c,$je)));if(o.length>0){e._boundingVolume2D=ae.fromPoints(o,e._boundingVolume2D);let u=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(u.z,u.x,u.y)}return cE.positions=o,cE.lengths=e._segments.lengths,cE};var kle;ym.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*P.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=kle,c=6*s*3;!l(a)||a.length<c?a=kle=new Float32Array(c):a.length>c&&(a=new Float32Array(a.buffer,0,c));let u=this.getSegments(t,i),f=u.positions,d=u.lengths,p=0,g=0,m=0,x;s=f.length;for(let b=0;b<s;++b){b===0?t._loop?x=f[s-2]:(x=yz,h.subtract(f[0],f[1],x),h.add(f[0],x,x)):x=f[b-1],h.clone(x,Mf),h.clone(f[b],vs),b===s-1?t._loop?x=f[1]:(x=yz,h.subtract(f[s-1],f[s-2],x),h.add(f[s-1],x,x)):x=f[b+1],h.clone(x,Lf);let T=d[g];b===m+T&&(m+=T,++g);let A=b-m===0,C=b===m+d[g]-1;o===ne.SCENE2D&&(Mf.z=0,vs.z=0,Lf.z=0),(o===ne.SCENE2D||o===ne.MORPHING)&&(A||C)&&r-Math.abs(vs.x)<1&&((vs.x<0&&Mf.x>0||vs.x>0&&Mf.x<0)&&h.clone(vs,Mf),(vs.x<0&&Lf.x>0||vs.x>0&&Lf.x<0)&&h.clone(vs,Lf));let E=A?2:0,v=C?2:4;for(let D=E;D<v;++D)Yn.writeElements(vs,a,p),Yn.writeElements(Mf,a,p+6),Yn.writeElements(Lf,a,p+12),p+=6*3}n.copyFromArrayView(a,6*3*Float32Array.BYTES_PER_ELEMENT*e)}};var Qd=$d;function Oy(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=new Su({batchTable:e.batchTable}),this._labelCollection=new gm({batchTable:e.batchTable}),this._polylineCollection=new Qd,this._polylineCollection._useHighlightColor=!0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(Oy.prototype,{ready:{get:function(){return this._ready}},pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let e=this._billboardCollection.textureAtlas.texture.sizeInBytes,t=this._labelCollection._textureAtlas.texture.sizeInBytes;return e+t}}});function Qje(e,t){let n=e._rectangle,i=e._minHeight,o=e._maxHeight,r=2+se.packedLength+ee.packedLength,s=new Float64Array(r),a=0;return s[a++]=i,s[a++]=o,se.pack(n,s,a),a+=se.packedLength,ee.pack(t,s,a),s}var Jje=new yi("createVectorTilePoints",5),e7e=new h;function t7e(e,t){let n=e._positions,i=e._packedBuffer;l(i)||(n=e._positions=n.slice(),e._batchIds=e._batchIds.slice(),i=e._packedBuffer=Qje(e,t));let o=[n.buffer,i.buffer],r={positions:n.buffer,packedBuffer:i.buffer},s=Jje.scheduleTask(r,o);if(l(s))return s.then(a=>{if(e.isDestroyed())return;e._positions=new Float64Array(a.positions);let c=e._billboardCollection,u=e._labelCollection,f=e._polylineCollection;n=e._positions;let d=e._batchIds,p=n.length/3;for(let g=0;g<p;++g){let m=d[g],x=h.unpack(n,g*3,e7e),b=c.add();b.position=x,b._batchIndex=m;let T=u.add();T.text=" ",T.position=x,T._batchIndex=m;let A=f.add();A.positions=[h.clone(x),h.clone(x)]}e._positions=void 0,e._packedBuffer=void 0,e._ready=!0}).catch(a=>{e.isDestroyed()||(e._error=a)})}Oy.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a<s;++a){let c=r[a],u=n.get(a),f=i.get(a),d=o.get(a);t[c]=new d_(e,c,u,f,d)}};Oy.prototype.applyDebugSettings=function(e,t){e?(H.clone(t,this._billboardCollection._highlightColor),H.clone(t,this._labelCollection._highlightColor),H.clone(t,this._polylineCollection._highlightColor)):(H.clone(H.WHITE,this._billboardCollection._highlightColor),H.clone(H.WHITE,this._labelCollection._highlightColor),H.clone(H.WHITE,this._polylineCollection._highlightColor))};function n7e(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.pointSize=d_.defaultPointSize,s.color=d_.defaultColor,s.pointOutlineColor=d_.defaultPointOutlineColor,s.pointOutlineWidth=d_.defaultPointOutlineWidth,s.labelColor=H.WHITE,s.labelOutlineColor=H.WHITE,s.labelOutlineWidth=1,s.font="30px sans-serif",s.labelStyle=Go.FILL,s.labelText=void 0,s.backgroundColor=new H(.165,.165,.165,.8),s.backgroundPadding=new z(7,5),s.backgroundEnabled=!1,s.scaleByDistance=void 0,s.translucencyByDistance=void 0,s.distanceDisplayCondition=void 0,s.heightOffset=0,s.anchorLineEnabled=!1,s.anchorLineColor=H.WHITE,s.image=void 0,s.disableDepthTestDistance=0,s.horizontalOrigin=xi.CENTER,s.verticalOrigin=Mn.CENTER,s.labelHorizontalOrigin=xi.RIGHT,s.labelVerticalOrigin=Mn.BASELINE}}var i7e=new H,o7e=new H,r7e=new H,s7e=new H,a7e=new H,c7e=new H,GM=new Bt,WM=new Bt,Aj=new Ot;Oy.prototype.applyStyle=function(e,t){if(!l(e)){n7e(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];if(l(e.show)&&(s.show=e.show.evaluate(s)),l(e.pointSize)&&(s.pointSize=e.pointSize.evaluate(s)),l(e.color)&&(s.color=e.color.evaluateColor(s,i7e)),l(e.pointOutlineColor)&&(s.pointOutlineColor=e.pointOutlineColor.evaluateColor(s,o7e)),l(e.pointOutlineWidth)&&(s.pointOutlineWidth=e.pointOutlineWidth.evaluate(s)),l(e.labelColor)&&(s.labelColor=e.labelColor.evaluateColor(s,r7e)),l(e.labelOutlineColor)&&(s.labelOutlineColor=e.labelOutlineColor.evaluateColor(s,s7e)),l(e.labelOutlineWidth)&&(s.labelOutlineWidth=e.labelOutlineWidth.evaluate(s)),l(e.font)&&(s.font=e.font.evaluate(s)),l(e.labelStyle)&&(s.labelStyle=e.labelStyle.evaluate(s)),l(e.labelText)?s.labelText=e.labelText.evaluate(s):s.labelText=void 0,l(e.backgroundColor)&&(s.backgroundColor=e.backgroundColor.evaluateColor(s,a7e)),l(e.backgroundPadding)&&(s.backgroundPadding=e.backgroundPadding.evaluate(s)),l(e.backgroundEnabled)&&(s.backgroundEnabled=e.backgroundEnabled.evaluate(s)),l(e.scaleByDistance)){let a=e.scaleByDistance.evaluate(s);l(a)?(GM.near=a.x,GM.nearValue=a.y,GM.far=a.z,GM.farValue=a.w,s.scaleByDistance=GM):s.scaleByDistance=void 0}else s.scaleByDistance=void 0;if(l(e.translucencyByDistance)){let a=e.translucencyByDistance.evaluate(s);l(a)?(WM.near=a.x,WM.nearValue=a.y,WM.far=a.z,WM.farValue=a.w,s.translucencyByDistance=WM):s.translucencyByDistance=void 0}else s.translucencyByDistance=void 0;if(l(e.distanceDisplayCondition)){let a=e.distanceDisplayCondition.evaluate(s);l(a)?(Aj.near=a.x,Aj.far=a.y,s.distanceDisplayCondition=Aj):s.distanceDisplayCondition=void 0}else s.distanceDisplayCondition=void 0;l(e.heightOffset)&&(s.heightOffset=e.heightOffset.evaluate(s)),l(e.anchorLineEnabled)&&(s.anchorLineEnabled=e.anchorLineEnabled.evaluate(s)),l(e.anchorLineColor)&&(s.anchorLineColor=e.anchorLineColor.evaluateColor(s,c7e)),l(e.image)?s.image=e.image.evaluate(s):s.image=void 0,l(e.disableDepthTestDistance)&&(s.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(s)),l(e.horizontalOrigin)&&(s.horizontalOrigin=e.horizontalOrigin.evaluate(s)),l(e.verticalOrigin)&&(s.verticalOrigin=e.verticalOrigin.evaluate(s)),l(e.labelHorizontalOrigin)&&(s.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(s)),l(e.labelVerticalOrigin)&&(s.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(s))}};Oy.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=t7e(this,e.mapProjection.ellipsoid)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._polylineCollection.update(e),this._billboardCollection.update(e),this._labelCollection.update(e)};Oy.prototype.isDestroyed=function(){return!1};Oy.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),ue(this)};var jM=Oy;function p_(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=y(e.center,h.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Hn.BOTH}Object.defineProperties(p_.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});function l7e(e){let t=new Float64Array(3+h.packedLength+ee.packedLength+se.packedLength),n=0;return t[n++]=e._indices.BYTES_PER_ELEMENT,t[n++]=e._minimumHeight,t[n++]=e._maximumHeight,h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,se.pack(e._rectangle,t,n),t}function u7e(e,t){let n=1,i=t[n++],o=e._boundingVolumes=new Array(i);for(let a=0;a<i;++a)o[a]=In.unpack(t,n),n+=In.packedLength;let r=t[n++],s=e._batchedIndices=new Array(r);for(let a=0;a<r;++a){let c=H.unpack(t,n);n+=H.packedLength;let u=t[n++],f=t[n++],d=t[n++],p=new Array(d);for(let g=0;g<d;++g)p[g]=t[n++];s[a]=new sm({color:c,offset:u,count:f,batchIds:p})}}var f7e=new yi("createVectorTilePolygons",5),d7e=new H;function h7e(e){if(l(e._primitive))return;let t=e._positions,n=e._counts,i=e._indexCounts,o=e._indices,r=e._transferrableBatchIds,s=e._batchTableColors,a=e._packedBuffer;if(!l(s)){t=e._positions=e._positions.slice(),n=e._counts=e._counts.slice(),i=e._indexCounts=e._indexCounts.slice(),o=e._indices=e._indices.slice(),e._center=e._ellipsoid.cartographicToCartesian(se.center(e._rectangle)),r=e._transferrableBatchIds=new Uint32Array(e._batchIds),s=e._batchTableColors=new Uint32Array(r.length);let g=e._batchTable,m=s.length;for(let x=0;x<m;++x){let b=g.getColor(x,d7e);s[x]=b.toRgba()}a=e._packedBuffer=l7e(e)}let c=[t.buffer,n.buffer,i.buffer,o.buffer,r.buffer,s.buffer,a.buffer],u={packedBuffer:a.buffer,positions:t.buffer,counts:n.buffer,indexCounts:i.buffer,indices:o.buffer,batchIds:r.buffer,batchTableColors:s.buffer},f=e._polygonMinimumHeights,d=e._polygonMaximumHeights;l(f)&&l(d)&&(f=f.slice(),d=d.slice(),c.push(f.buffer,d.buffer),u.minimumHeights=f,u.maximumHeights=d);let p=f7e.scheduleTask(u,c);if(l(p))return p.then(g=>{if(e.isDestroyed())return;e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let m=new Float64Array(g.packedBuffer),x=m[0];u7e(e,m),e._indices=Fe.getSizeInBytes(x)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),m7e(e),e._ready=!0}).catch(g=>{e.isDestroyed()||(e._error=g)})}function m7e(e){l(e._primitive)||(e._primitive=new Kx({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0)}p_.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};p_.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};p_.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};p_.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};p_.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=h7e(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};p_.prototype.isDestroyed=function(){return!1};p_.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var qM=p_;var YM=`in vec4 currentPosition; -in vec4 previousPosition; -in vec4 nextPosition; -in vec2 expandAndWidth; -in float a_batchId; +const float UPPER_BOUND = 32768.0; -uniform mat4 u_modifiedModelView; +const float SHIFT_LEFT16 = 65536.0; +const float SHIFT_LEFT12 = 4096.0; +const float SHIFT_LEFT8 = 256.0; +const float SHIFT_LEFT7 = 128.0; +const float SHIFT_LEFT5 = 32.0; +const float SHIFT_LEFT3 = 8.0; +const float SHIFT_LEFT2 = 4.0; +const float SHIFT_LEFT1 = 2.0; -void main() +const float SHIFT_RIGHT12 = 1.0 / 4096.0; +const float SHIFT_RIGHT8 = 1.0 / 256.0; +const float SHIFT_RIGHT7 = 1.0 / 128.0; +const float SHIFT_RIGHT5 = 1.0 / 32.0; +const float SHIFT_RIGHT3 = 1.0 / 8.0; +const float SHIFT_RIGHT2 = 1.0 / 4.0; +const float SHIFT_RIGHT1 = 1.0 / 2.0; + +vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp) { - float expandDir = expandAndWidth.x; - float width = abs(expandAndWidth.y) + 0.5; - bool usePrev = expandAndWidth.y < 0.0; + // Note the halfSize cannot be computed in JavaScript because it is sent via + // compressed vertex attributes that coerce it to an integer. + vec2 halfSize = imageSize * scale * 0.5; + halfSize *= ((direction * 2.0) - 1.0); - vec4 p = u_modifiedModelView * currentPosition; - vec4 prev = u_modifiedModelView * previousPosition; - vec4 next = u_modifiedModelView * nextPosition; + vec2 originTranslate = origin * abs(halfSize); - float angle; - vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); - gl_Position = czm_viewportOrthographic * positionWC; +#if defined(ROTATION) || defined(ALIGNED_AXIS) + if (validAlignedAxis || rotation != 0.0) + { + float angle = rotation; + if (validAlignedAxis) + { + vec4 projectedAlignedAxis = czm_modelView3D * vec4(alignedAxis, 0.0); + angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) / + (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y)); + } + + float cosTheta = cos(angle); + float sinTheta = sin(angle); + rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta); + halfSize = rotationMatrix * halfSize; + } + else + { + rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); + } +#endif + + mpp = czm_metersPerPixel(positionEC); + positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp); + positionEC.xy += (translate + pixelOffset) * mpp; + + return positionEC; } -`;function Jd(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(Jd.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function p7e(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+se.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,se.pack(t,a,c),c+=se.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var _7e=new yi("createVectorTilePolylines",5),lE={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function g7e(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=p7e(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=_7e.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._currentPositions=new Float32Array(f.currentPositions),e._previousPositions=new Float32Array(f.previousPositions),e._nextPositions=new Float32Array(f.nextPositions),e._expandAndWidth=new Float32Array(f.expandAndWidth),e._vertexBatchIds=new Uint16Array(f.batchIds);let d=f.indexDatatype;e._indices=d===Fe.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),y7e(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function y7e(e,t){if(!l(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let u=pt.createVertexBuffer({context:t,typedArray:i,usage:ke.STATIC_DRAW}),f=pt.createVertexBuffer({context:t,typedArray:n,usage:ke.STATIC_DRAW}),d=pt.createVertexBuffer({context:t,typedArray:o,usage:ke.STATIC_DRAW}),p=pt.createVertexBuffer({context:t,typedArray:r,usage:ke.STATIC_DRAW}),g=pt.createVertexBuffer({context:t,typedArray:s,usage:ke.STATIC_DRAW}),m=pt.createIndexBuffer({context:t,typedArray:a,usage:ke.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),x=[{index:lE.previousPosition,vertexBuffer:u,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:lE.currentPosition,vertexBuffer:f,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:lE.nextPosition,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:lE.expandAndWidth,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:2},{index:lE.a_batchId,vertexBuffer:g,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new pi({context:t,attributes:x,indexBuffer:m}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var XM=new F,qle=new h;function x7e(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,XM),F.multiplyByPoint(XM,e._center,qle),F.setTranslation(XM,qle,XM),XM},u_highlightColor:function(){return e._highlightColor}})}function b7e(e){if(l(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=Ve.fromCache({blending:hn.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var T7e=`uniform vec4 u_highlightColor; -void main() + +#ifdef VERTEX_DEPTH_CHECK +float getGlobeDepth(vec4 positionEC) { - out_FragColor = u_highlightColor; -} -`;function C7e(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(YM),o=n.getFragmentShaderCallback(!1,void 0,!1)(T7e),r=new ze({defines:["VECTOR_TILE",Gt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[mu,i]}),s=new ze({defines:["VECTOR_TILE"],sources:[o]});e._sp=an.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:lE})}function A7e(e,t){if(!l(e._command)){let n=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new Xe({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:n,boundingVolume:e._boundingVolume,pass:Se.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}Jd.getPolylinePositions=function(e,t){let n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!l(n)||!l(i))return;let r,s,a=n.length,c=0,u=0;for(r=0;r<a;++r)n[r]===t&&(c+=o[r+1]-o[r]);if(c===0)return;let f=new Float64Array(c*3);for(r=0;r<a;++r)if(n[r]===t){let d=o[r],p=o[r+1]-d;for(s=0;s<p;++s){let g=(d+s)*3;f[u++]=i[g],f[u++]=i[g+1],f[u++]=i[g+2]}}return f};Jd.prototype.getPositions=function(e){return Jd.getPolylinePositions(this,e)};Jd.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Ws(e,r)}};Jd.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function E7e(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=H.WHITE}}var S7e=new H,v7e=H.WHITE,w7e=!0;Jd.prototype.applyStyle=function(e,t){if(!l(e)){E7e(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,S7e):v7e,s.show=l(e.show)?e.show.evaluate(s):w7e}};Jd.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=g7e(this,t)),l(this._error)){let i=this._error;throw this._error=void 0,i}return}x7e(this,t),C7e(this,t),b7e(this);let n=e.passes;(n.render||n.pick)&&A7e(this,e)};Jd.prototype.isDestroyed=function(){return!1};Jd.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var wb=Jd;var KM=`in vec3 startEllipsoidNormal; -in vec3 endEllipsoidNormal; -in vec4 startPositionAndHeight; -in vec4 endPositionAndHeight; -in vec4 startFaceNormalAndVertexCorner; -in vec4 endFaceNormalAndHalfWidth; -in float a_batchId; + vec4 posWC = czm_eyeToWindowCoordinates(positionEC); -uniform mat4 u_modifiedModelView; -uniform vec2 u_minimumMaximumVectorHeights; + float globeDepth = czm_unpackDepth(texture(czm_globeDepthTexture, posWC.xy / czm_viewport.zw)); -out vec4 v_startPlaneEC; -out vec4 v_endPlaneEC; -out vec4 v_rightPlaneEC; -out float v_halfWidth; -out vec3 v_volumeUpEC; + if (globeDepth == 0.0) + { + return 0.0; // not on the globe + } + vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth); + return eyeCoordinate.z / eyeCoordinate.w; +} +#endif void main() { - // vertex corner IDs - // 3-----------7 - // /| left /| - // / | 1 / | - // 2-----------6 5 end - // | / | / - // start |/ right |/ - // 0-----------4 - // - float isEnd = floor(startFaceNormalAndVertexCorner.w * 0.251); // 0 for front, 1 for end - float isTop = floor(startFaceNormalAndVertexCorner.w * mix(0.51, 0.19, isEnd)); // 0 for bottom, 1 for top - - vec3 forward = endPositionAndHeight.xyz - startPositionAndHeight.xyz; - vec3 right = normalize(cross(forward, startEllipsoidNormal)); - - vec4 position = vec4(startPositionAndHeight.xyz, 1.0); - position.xyz += forward * isEnd; - - v_volumeUpEC = czm_normal * normalize(cross(right, forward)); - - // Push for volume height - float offset; - vec3 ellipsoidNormal = mix(startEllipsoidNormal, endEllipsoidNormal, isEnd); - - // offset height to create volume - offset = mix(startPositionAndHeight.w, endPositionAndHeight.w, isEnd); - offset = mix(u_minimumMaximumVectorHeights.y, u_minimumMaximumVectorHeights.x, isTop) - offset; - position.xyz += offset * ellipsoidNormal; - - // move from RTC to EC - position = u_modifiedModelView * position; - right = czm_normal * right; - - // Push for width in a direction that is in the start or end plane and in a plane with right - // N = normalEC ("right-facing" direction for push) - // R = right - // p = angle between N and R - // w = distance to push along R if R == N - // d = distance to push along N - // - // N R - // { p| } * cos(p) = dot(N, R) = w / d - // d | |w * d = w / dot(N, R) - // { | } - // o---------- polyline segment ----> - // - vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd); - scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd)); - vec3 miterPushNormal = czm_normal * normalize(scratchNormal); + // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition - offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC - offset = offset / dot(miterPushNormal, right); - position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0))); + // unpack attributes + vec3 positionHigh = positionHighAndScale.xyz; + vec3 positionLow = positionLowAndRotation.xyz; + float scale = positionHighAndScale.w; - gl_Position = czm_depthClamp(czm_projection * position); +#if defined(ROTATION) || defined(ALIGNED_AXIS) + float rotation = positionLowAndRotation.w; +#else + float rotation = 0.0; +#endif - position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0); - vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz; - v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz)); - v_rightPlaneEC = vec4(right, -dot(right, position.xyz)); + float compressed = compressedAttribute0.x; - position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0); - vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz; - v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz)); - v_halfWidth = endFaceNormalAndHalfWidth.w; -} -`;var ZM=`in vec4 v_startPlaneEC; -in vec4 v_endPlaneEC; -in vec4 v_rightPlaneEC; -in float v_halfWidth; -in vec3 v_volumeUpEC; + vec2 pixelOffset; + pixelOffset.x = floor(compressed * SHIFT_RIGHT7); + compressed -= pixelOffset.x * SHIFT_LEFT7; + pixelOffset.x -= UPPER_BOUND; -uniform vec4 u_highlightColor; -void main() -{ - float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); + vec2 origin; + origin.x = floor(compressed * SHIFT_RIGHT5); + compressed -= origin.x * SHIFT_LEFT5; - // Discard for sky - if (logDepthOrDepth == 0.0) { -#ifdef DEBUG_SHOW_VOLUME - out_FragColor = vec4(0.0, 0.0, 1.0, 0.5); - return; -#else // DEBUG_SHOW_VOLUME - discard; -#endif // DEBUG_SHOW_VOLUME - } + origin.y = floor(compressed * SHIFT_RIGHT3); + compressed -= origin.y * SHIFT_LEFT3; - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); - eyeCoordinate /= eyeCoordinate.w; +#ifdef FRAGMENT_DEPTH_CHECK + vec2 depthOrigin = origin.xy; +#endif + origin -= vec2(1.0); - float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate); + float show = floor(compressed * SHIFT_RIGHT2); + compressed -= show * SHIFT_LEFT2; - // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction - halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC)); +#ifdef INSTANCED + vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w); + vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w); + vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange; +#else + vec2 direction; + direction.x = floor(compressed * SHIFT_RIGHT1); + direction.y = compressed - direction.x * SHIFT_LEFT1; - // Check distance of the eye coordinate against the right-facing plane - float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); + vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w); +#endif - // Check eye coordinate against the mitering planes - float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz); - float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz); + float temp = compressedAttribute0.y * SHIFT_RIGHT8; + pixelOffset.y = -(floor(temp) - UPPER_BOUND); - if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { -#ifdef DEBUG_SHOW_VOLUME - out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5); - return; -#else // DEBUG_SHOW_VOLUME - discard; -#endif // DEBUG_SHOW_VOLUME - } - out_FragColor = u_highlightColor; + vec2 translate; + translate.y = (temp - floor(temp)) * SHIFT_LEFT16; - czm_writeDepthClamp(); -} -`;function __(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new z(fi._defaultMinTerrainHeight,fi._defaultMaxTerrainHeight),this._boundingVolume=In.fromRectangle(e.rectangle,fi._defaultMinTerrainHeight,fi._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=e.classificationType,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(__.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function D7e(e,t,n){let i=fi.getMinimumMaximumHeights(t,n),o=i.minimumTerrainHeight,r=i.maximumTerrainHeight,s=e._minimumMaximumVectorHeights;s.x=o,s.y=r;let a=e._boundingVolume,c=e._rectangle;In.fromRectangle(c,o,r,n,a)}function I7e(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+se.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,se.pack(t,a,c),c+=se.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var P7e=new yi("createVectorTileClampedPolylines"),My={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function R7e(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=I7e(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=P7e.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._startEllipsoidNormals=new Float32Array(f.startEllipsoidNormals),e._endEllipsoidNormals=new Float32Array(f.endEllipsoidNormals),e._startPositionAndHeights=new Float32Array(f.startPositionAndHeights),e._startFaceNormalAndVertexCornerIds=new Float32Array(f.startFaceNormalAndVertexCornerIds),e._endPositionAndHeights=new Float32Array(f.endPositionAndHeights),e._endFaceNormalAndHalfWidths=new Float32Array(f.endFaceNormalAndHalfWidths),e._vertexBatchIds=new Uint16Array(f.vertexBatchIds);let d=f.indexDatatype;e._indices=d===Fe.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),O7e(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function O7e(e,t){if(!l(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,u=e._indices,f=n.byteLength+i.byteLength;f+=o.byteLength+r.byteLength,f+=s.byteLength+a.byteLength,f+=c.byteLength+u.byteLength,e._trianglesLength=u.length/3,e._geometryByteLength=f;let d=pt.createVertexBuffer({context:t,typedArray:n,usage:ke.STATIC_DRAW}),p=pt.createVertexBuffer({context:t,typedArray:i,usage:ke.STATIC_DRAW}),g=pt.createVertexBuffer({context:t,typedArray:o,usage:ke.STATIC_DRAW}),m=pt.createVertexBuffer({context:t,typedArray:r,usage:ke.STATIC_DRAW}),x=pt.createVertexBuffer({context:t,typedArray:s,usage:ke.STATIC_DRAW}),b=pt.createVertexBuffer({context:t,typedArray:a,usage:ke.STATIC_DRAW}),T=pt.createVertexBuffer({context:t,typedArray:c,usage:ke.STATIC_DRAW}),A=pt.createIndexBuffer({context:t,typedArray:u,usage:ke.STATIC_DRAW,indexDatatype:u.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),C=[{index:My.startEllipsoidNormal,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:My.endEllipsoidNormal,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:My.startPositionAndHeight,vertexBuffer:g,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:My.endPositionAndHeight,vertexBuffer:m,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:My.startFaceNormalAndVertexCorner,vertexBuffer:x,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:My.endFaceNormalAndHalfWidth,vertexBuffer:b,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:My.a_batchId,vertexBuffer:T,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new pi({context:t,attributes:C,indexBuffer:A}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var $M=new F,Yle=new h;function M7e(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,$M),F.multiplyByPoint($M,e._center,Yle),F.setTranslation($M,Yle,$M),$M},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function Xle(e){return Ve.fromCache({cull:{enabled:!0,face:bi.FRONT},blending:hn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Wn.EQUAL,frontOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.KEEP},backFunction:Wn.EQUAL,backOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.KEEP},reference:Vt.CESIUM_3D_TILE_MASK,mask:Vt.CESIUM_3D_TILE_MASK}})}function L7e(e){l(e._rs)||(e._rs=Xle(!1),e._rs3DTiles=Xle(!0))}function N7e(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(KM),o=n.getFragmentShaderCallback(!1,void 0,!0)(ZM),r=new ze({defines:["VECTOR_TILE",Gt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[mu,i]}),s=new ze({defines:["VECTOR_TILE"],sources:[o]});e._sp=an.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:My})}function F7e(e,t){let n=e._command;if(!l(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new Xe({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:Se.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=Xe.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===Hn.TERRAIN||i===Hn.BOTH)&&t.commandList.push(n),(i===Hn.CESIUM_3D_TILE||i===Hn.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}__.prototype.getPositions=function(e){return wb.getPolylinePositions(this,e)};__.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Ws(e,r)}};__.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function B7e(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=H.WHITE}}var k7e=new H,V7e=H.WHITE,U7e=!0;__.prototype.applyStyle=function(e,t){if(!l(e)){B7e(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,k7e):V7e,s.show=l(e.show)?e.show.evaluate(s):U7e}};function z7e(e){return fi.initialize().then(function(){D7e(e,e._rectangle,e._ellipsoid)}).catch(t=>{e.isDestroyed()||(e._error=t)})}__.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=z7e(this).then(R7e(this,t))),l(this._error)){let i=this._error;throw this._error=void 0,i}return}M7e(this,t),N7e(this,t),L7e(this);let n=e.passes;(n.render||n.pick)&&F7e(this,e)};__.prototype.isDestroyed=function(){return!1};__.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var QM=__;var Ej=32767,H7e=new fe,G7e=new h;function W7e(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);Fn.zigZagDeltaDecode(s,a,c);let u=new Float64Array(e.length);for(let f=0;f<r;++f){let d=s[f],p=a[f],g=c[f],m=P.lerp(t.west,t.east,d/Ej),x=P.lerp(t.south,t.north,p/Ej),b=P.lerp(n,i,g/Ej),T=fe.fromRadians(m,x,b,H7e),A=o.cartographicToCartesian(T,G7e);h.pack(A,u,f*3)}return u}var JM=W7e;function th(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,K7e(this,i,o)}Object.defineProperties(th.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return l(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.trianglesLength),l(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.geometryByteLength),l(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return l(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function j7e(e){return function(t,n){l(e._polygons)&&e._polygons.updateCommands(t,n)}}function q7e(e,t){let n,i,o,r,s=y(e.POLYGONS_LENGTH,0),a=y(e.POLYLINES_LENGTH,0),c=y(e.POINTS_LENGTH,0);if(s>0&&l(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&l(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&l(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let u=l(n)||l(i)||l(o),f=s>0&&!l(n)||a>0&&!l(i)||c>0&&!l(o);if(u&&f)throw new ce("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)){let p=0;if(!l(n)&&s>0)for(n=new Uint16Array(s),r=0;r<s;++r)n[r]=p++;if(!l(i)&&a>0)for(i=new Uint16Array(a),r=0;r<a;++r)i[r]=p++;if(!l(o)&&c>0)for(o=new Uint16Array(c),r=0;r<c;++r)o[r]=p++}return{polygons:n,polylines:i,points:o}}var eh=Uint32Array.BYTES_PER_ELEMENT;function Y7e(e){return new wb(e)}function X7e(e){return new QM(e)}function K7e(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=eh;let r=o.getUint32(n,!0);if(r!==1)throw new ce(`Only Vector tile version 1 is supported. Version ${r} is not.`);n+=eh;let s=o.getUint32(n,!0);if(n+=eh,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=eh,a===0)throw new ce("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=eh;let u=o.getUint32(n,!0);n+=eh;let f=o.getUint32(n,!0);n+=eh;let d=o.getUint32(n,!0);n+=eh;let p=o.getUint32(n,!0);n+=eh;let g=o.getUint32(n,!0);n+=eh;let m=o.getUint32(n,!0);n+=eh;let x=Mo(i,n,a);n+=a;let b=new Uint8Array(t,n,c);n+=c;let T,A;u>0&&(T=Mo(i,n,u),n+=u,f>0&&(A=new Uint8Array(t,n,f),A=new Uint8Array(A),n+=f));let C=y(x.POLYGONS_LENGTH,0),E=y(x.POLYLINES_LENGTH,0),v=y(x.POINTS_LENGTH,0),D=C+E+v,O=new Up(e,D,T,A,j7e(e));if(e._batchTable=O,D===0)return;let R=new Yd(x,b),M=R.getGlobalProperty("REGION");if(!l(M))throw new ce("Feature table global property: REGION must be defined");let N=se.unpack(M),_=M[4],S=M[5],w=e._tile.computedTransform,I=R.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(I)?(I=h.unpack(I),F.multiplyByPoint(w,I,I)):(I=se.center(N),I.height=P.lerp(_,S,.5),I=ee.WGS84.cartographicToCartesian(I));let L=q7e(x,b);if(n+=(4-n%4)%4,C>0){R.featuresLength=C;let B=y(R.getPropertyArray("POLYGON_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYGON_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new ce("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let U=y(R.getPropertyArray("POLYGON_INDEX_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYGON_INDEX_COUNT",X.UNSIGNED_INT,1));if(!l(U))throw new ce("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let V=B.reduce(function(j,Z){return j+Z*2},0),G=U.reduce(function(j,Z){return j+Z},0),k=new Uint32Array(t,n,G);n+=d;let Y=new Uint16Array(t,n,V);n+=p;let W,Q;l(x.POLYGON_MINIMUM_HEIGHTS)&&l(x.POLYGON_MAXIMUM_HEIGHTS)&&(W=R.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",X.FLOAT,1),Q=R.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",X.FLOAT,1)),e._polygons=new qM({positions:Y,counts:B,indexCounts:U,indices:k,minimumHeight:_,maximumHeight:S,polygonMinimumHeights:W,polygonMaximumHeights:Q,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,batchIds:L.polygons,modelMatrix:w})}if(E>0){R.featuresLength=E;let B=y(R.getPropertyArray("POLYLINE_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYLINE_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new ce("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let U=R.getPropertyArray("POLYLINE_WIDTHS",X.UNSIGNED_SHORT,1);if(!l(U)){U=new Uint16Array(E);for(let Q=0;Q<E;++Q)U[Q]=2}let V=B.reduce(function(Q,j){return Q+j*3},0),G=new Uint16Array(t,n,V);n+=g;let k=e._tileset,Y=k.examineVectorLinesFunction;if(l(Y)){let Q=JM(new Uint16Array(G),N,_,S,ee.WGS84);Z7e(Q,B,L.polylines,O,e.url,Y)}let W=Y7e;l(k.classificationType)&&(W=X7e),e._polylines=W({positions:G,widths:U,counts:B,batchIds:L.polylines,minimumHeight:_,maximumHeight:S,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,classificationType:k.classificationType,keepDecodedPositions:k.vectorKeepDecodedPositions})}if(v>0){let B=new Uint16Array(t,n,v*3);n+=m,e._points=new jM({positions:B,batchIds:L.points,minimumHeight:_,maximumHeight:S,rectangle:N,batchTable:O})}}function Sj(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._polygons)&&e._polygons.createFeatures(e,n),l(e._polylines)&&e._polylines.createFeatures(e,n),l(e._points)&&e._points.createFeatures(e,n),e._features=n}}th.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};th.prototype.getFeature=function(e){return l(this._features)||Sj(this),this._features[e]};th.prototype.applyDebugSettings=function(e,t){l(this._polygons)&&this._polygons.applyDebugSettings(e,t),l(this._polylines)&&this._polylines.applyDebugSettings(e,t),l(this._points)&&this._points.applyDebugSettings(e,t)};th.prototype.applyStyle=function(e){l(this._features)||Sj(this),l(this._polygons)&&this._polygons.applyStyle(e,this._features),l(this._polylines)&&this._polylines.applyStyle(e,this._features),l(this._points)&&this._points.applyStyle(e,this._features)};th.prototype.update=function(e,t){let n=!0;l(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons.ready),l(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines.ready),l(this._points)&&(this._points.update(t),n=n&&this._points.ready),l(this._batchTable)&&n&&(l(this._features)||Sj(this),this._batchTable.update(e,t),this._ready=!0)};th.prototype.pick=function(e,t,n){};th.prototype.getPolylinePositions=function(e){let t=this._polylines;if(l(t))return t.getPositions(e)};th.prototype.isDestroyed=function(){return!1};th.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function Z7e(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c<s;c++){let u=t[c]*3,f=e.slice(a,a+u);a+=u,r(f,n[c],o,i)}}var eL=th;var Kle={b3dm:function(e,t,n,i,o){return mm.fromB3dm(e,t,n,i,o)},pnts:function(e,t,n,i,o){return mm.fromPnts(e,t,n,i,o)},i3dm:function(e,t,n,i,o){return mm.fromI3dm(e,t,n,i,o)},cmpt:function(e,t,n,i,o){return L1.fromTileType(e,t,n,i,o,Kle)},externalTileset:function(e,t,n,i){return PM.fromJson(e,t,n,i)},geom:function(e,t,n,i,o){return new F1(e,t,n,i,o)},vctr:function(e,t,n,i,o){return new eL(e,t,n,i,o)},subt:function(e,t,n,i,o){return RA.fromSubtreeJson(e,t,n,void 0,i,o)},subtreeJson:function(e,t,n,i){return RA.fromSubtreeJson(e,t,n,i)},glb:function(e,t,n,i,o){if(i.byteLength<12)throw new ce("Invalid glb content");let a=new DataView(i,o).getUint32(8,!0),c=new Uint8Array(i,o,a);return mm.fromGltf(e,t,n,c)},gltf:function(e,t,n,i){return mm.fromGltf(e,t,n,i)},geoJson:function(e,t,n,i){return mm.fromGeoJson(e,t,n,i)}},Db=Kle;var $7e={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},Wo=Object.freeze($7e);var nh={BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",COMPOSITE:"cmpt",POINT_CLOUD:"pnts",VECTOR:"vctr",GEOMETRY:"geom",GLTF:"gltf",GLTF_BINARY:"glb",IMPLICIT_SUBTREE:"subt",IMPLICIT_SUBTREE_JSON:"subtreeJson",EXTERNAL_TILESET:"externalTileset",MULTIPLE_CONTENT:"multipleContent",GEOJSON:"geoJson",VOXEL_BINARY:"voxl",VOXEL_JSON:"voxelJson"};nh.isBinaryFormat=function(e){switch(e){case nh.BATCHED_3D_MODEL:case nh.INSTANCED_3D_MODEL:case nh.COMPOSITE:case nh.POINT_CLOUD:case nh.VECTOR:case nh.GEOMETRY:case nh.IMPLICIT_SUBTREE:case nh.VOXEL_BINARY:case nh.GLTF_BINARY:return!0;default:return!1}};var ws=Object.freeze(nh);var Q7e={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0},Nf=Object.freeze(Q7e);var Ks={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},g_=new Array(Ks.NUMBER_OF_PASSES);g_[Ks.RENDER]=Object.freeze({pass:Ks.RENDER,isRender:!0,requestTiles:!0,ignoreCommands:!1});g_[Ks.PICK]=Object.freeze({pass:Ks.PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});g_[Ks.SHADOW]=Object.freeze({pass:Ks.SHADOW,isRender:!1,requestTiles:!0,ignoreCommands:!1});g_[Ks.PRELOAD]=Object.freeze({pass:Ks.PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});g_[Ks.PRELOAD_FLIGHT]=Object.freeze({pass:Ks.PRELOAD_FLIGHT,isRender:!1,requestTiles:!0,ignoreCommands:!0});g_[Ks.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({pass:Ks.REQUEST_RENDER_MODE_DEFER_CHECK,isRender:!1,requestTiles:!0,ignoreCommands:!0});g_[Ks.MOST_DETAILED_PRELOAD]=Object.freeze({pass:Ks.MOST_DETAILED_PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});g_[Ks.MOST_DETAILED_PICK]=Object.freeze({pass:Ks.MOST_DETAILED_PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});Ks.getPassOptions=function(e){return g_[e]};var Fo=Object.freeze(Ks);function xm(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}Object.defineProperties(xm.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return!0}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(e){}},batchTable:{get:function(){}},group:{get:function(){},set:function(e){}}});xm.prototype.hasProperty=function(e,t){return!1};xm.prototype.getFeature=function(e){};xm.prototype.applyDebugSettings=function(e,t){};xm.prototype.applyStyle=function(e){};xm.prototype.update=function(e,t){};xm.prototype.pick=function(e,t,n){};xm.prototype.isDestroyed=function(){return!1};xm.prototype.destroy=function(){return ue(this)};var uE=xm;function y_(e){e=y(e,y.EMPTY_OBJECT);let t=e.content,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(y_.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});y_.prototype.hasProperty=function(e){return Vn.hasProperty(e,this._properties,this._class)};y_.prototype.hasPropertyBySemantic=function(e){return Vn.hasPropertyBySemantic(e,this._properties,this._class)};y_.prototype.getPropertyIds=function(e){return Vn.getPropertyIds(this._properties,this._class,e)};y_.prototype.getProperty=function(e){return Vn.getProperty(e,this._properties,this._class)};y_.prototype.setProperty=function(e,t){return Vn.setProperty(e,t,this._properties,this._class)};y_.prototype.getPropertyBySemantic=function(e){return Vn.getPropertyBySemantic(e,this._properties,this._class)};y_.prototype.setPropertyBySemantic=function(e,t){return Vn.setPropertyBySemantic(e,t,this._properties,this._class)};var tL=y_;function vj(e,t){let n=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){vj._oneTimeWarning("findContentMetadata-missing-root-schema","Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new tL({content:n,class:o})}}vj._oneTimeWarning=Tt;var Ib=vj;function J7e(e,t){let n=e.metadataExtension;if(!l(n))return;let i=n.groups,o=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"].group:t.group;if(typeof o=="number")return i[o];let r=n.groupIds.findIndex(function(s){return s===o});return r>=0?i[r]:void 0}var Pb=J7e;function x_(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(x_.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});x_.prototype.hasProperty=function(e){return Vn.hasProperty(e,this._properties,this._class)};x_.prototype.hasPropertyBySemantic=function(e){return Vn.hasPropertyBySemantic(e,this._properties,this._class)};x_.prototype.getPropertyIds=function(e){return Vn.getPropertyIds(this._properties,this._class,e)};x_.prototype.getProperty=function(e){return Vn.getProperty(e,this._properties,this._class)};x_.prototype.setProperty=function(e,t){return Vn.setProperty(e,t,this._properties,this._class)};x_.prototype.getPropertyBySemantic=function(e){return Vn.getPropertyBySemantic(e,this._properties,this._class)};x_.prototype.setPropertyBySemantic=function(e,t){return Vn.setPropertyBySemantic(e,t,this._properties,this._class)};var nL=x_;function wj(e,t){let n=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){wj._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new nL({tile:n,class:o})}}wj._oneTimeWarning=Tt;var iL=wj;function eqe(e){let t=new Uint8Array(e),n=kd(t);if(n==="glTF"&&(n="glb"),ws.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=tqe(t);if(l(i.root))return{contentType:ws.EXTERNAL_TILESET,jsonPayload:i};if(l(i.asset))return{contentType:ws.GLTF,jsonPayload:i};if(l(i.tileAvailability))return{contentType:ws.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(l(i.type))return{contentType:ws.GEOJSON,jsonPayload:i};if(l(i.voxelTable))return{contentType:ws.VOXEL_JSON,jsonPayload:i};throw new ce("Invalid tile content.")}function tqe(e){let t;try{t=Mo(e)}catch{throw new ce("Invalid tile content.")}return t}var bm=eqe;function Ff(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=l(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._ready=!1,this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;s<r;s++){let a=n.getDerivedResource({url:o[s].uri}),c=ec.getServerKey(a.getUrlComponent());this._innerContentResources[s]=a,this._serverKeys[s]=c}}Object.defineProperties(Ff.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._contentsCreated?this._ready:!1}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){},set:function(){}},innerContentUrls:{get:function(){return this._innerContentHeaders.map(function(e){return e.uri})}}});function Dj(e,t){e._requestsInFlight+=t,e.tileset.statistics.numberOfPendingRequests+=t}function Zle(e,t){e._cancelCount++,e._tile._contentState=t;let n=e.tileset.statistics;n.numberOfPendingRequests-=e._requestsInFlight,n.numberOfAttemptedRequests+=e._requestsInFlight,e._requestsInFlight=0;let i=e._innerContentHeaders.length;e._arrayFetchPromises=new Array(i)}Ff.prototype.requestInnerContents=function(){if(!nqe(this._serverKeys)){this.tileset.statistics.numberOfAttemptedRequests+=this._serverKeys.length;return}let e=this._innerContentHeaders;Dj(this,e.length);let t=this._cancelCount;for(let n=0;n<e.length;n++)this._arrayFetchPromises[n]=iqe(this,n,t,this._tile._contentState);return oqe(this)};function nqe(e){let t={};for(let n=0;n<e.length;n++){let i=e[n];l(t[i])?t[i]++:t[i]=1}for(let n in t)if(t.hasOwnProperty(n)&&!ec.serverHasOpenSlots(n,t[n]))return!1;return ec.heapHasOpenSlots(e.length)}function iqe(e,t,n,i){let o=e._innerContentResources[t].clone(),r=e.tile,s=function(){return r._priority},a=e._serverKeys[t],c=new Xo({throttle:!0,throttleByServer:!0,type:us.TILES3D,priorityFunction:s,serverKey:a});o.request=c,e._requests[t]=c;let u=o.fetchArrayBuffer();if(l(u))return u.then(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===ti.CANCELLED){Zle(e,i);return}return Dj(e,-1),f}}).catch(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===ti.CANCELLED){Zle(e,i);return}Dj(e,-1),$le(e,t,f)}})}async function oqe(e){let t=e._cancelCount,n=await Promise.all(e._arrayFetchPromises);if(t<e._cancelCount)return;let i=n.map((r,s)=>rqe(e,r,s)),o=await Promise.all(i);return e._contentsCreated=!0,e._contents=o.filter(l),o}async function rqe(e,t,n){if(l(t))try{let i=bm(t);if(i.contentType===ws.EXTERNAL_TILESET)throw new ce("External tilesets are disallowed inside multiple contents");e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===ws.GEOMETRY||i.contentType===ws.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=Db[i.contentType];l(i.binaryPayload)?a=await Promise.resolve(c(o,s,r,i.binaryPayload.buffer,0)):a=await Promise.resolve(c(o,s,r,i.jsonPayload));let u=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let d=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=d.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=Ib(o,u));let f=Pb(o,u);return l(f)&&(a.group=new jx({metadata:f})),a}catch(i){$le(e,n,i)}}function $le(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=l(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}Ff.prototype.cancelRequests=function(){for(let e=0;e<this._requests.length;e++){let t=this._requests[e];l(t)&&t.cancel()}};Ff.prototype.hasProperty=function(e,t){return!1};Ff.prototype.getFeature=function(e){};Ff.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};Ff.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};Ff.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};Ff.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};Ff.prototype.isDestroyed=function(){return!1};Ff.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var oL=Ff;var Qle=Math.cos,Jle=Math.sin,sqe=Math.sqrt,Ij={};Ij.computePosition=function(e,t,n,i,o,r,s){let a=t.radiiSquared,c=e.nwCorner,u=e.boundingRectangle,f=c.latitude-e.granYCos*i+o*e.granXSin,d=Qle(f),p=Jle(f),g=a.z*p,m=c.longitude+i*e.granYSin+o*e.granXCos,x=d*Qle(m),b=d*Jle(m),T=a.x*x,A=a.y*b,C=sqe(T*x+A*b+g*p);if(r.x=T/C,r.y=A/C,r.z=g/C,n){let E=e.stNwCorner;l(E)?(f=E.latitude-e.stGranYCos*i+o*e.stGranXSin,m=E.longitude+i*e.stGranYSin+o*e.stGranXCos,s.x=(m-e.stWest)*e.lonScalar,s.y=(f-e.stSouth)*e.latScalar):(s.x=(m-u.west)*e.lonScalar,s.y=(f-u.south)*e.latScalar)}};var aqe=new Ui,Bf=new h,cqe=new fe,xz=new h,rL=new Ii;function eue(e,t,n,i,o,r,s){let a=Math.cos(t),c=i*a,u=n*a,f=Math.sin(t),d=i*f,p=n*f;rL._ellipsoid=ee.default,Bf=rL.project(e,Bf),Bf=h.subtract(Bf,xz,Bf);let g=Ui.fromRotation(t,aqe);Bf=Ui.multiplyByVector(g,Bf,Bf),Bf=h.add(Bf,xz,Bf),e=rL.unproject(Bf,e),r-=1,s-=1;let m=e.latitude,x=m+r*p,b=m-c*s,T=m-c*s+r*p,A=Math.max(m,x,b,T),C=Math.min(m,x,b,T),E=e.longitude,v=E+r*u,D=E+s*d,O=E+s*d+r*u,R=Math.max(E,v,D,O),M=Math.min(E,v,D,O);return{north:A,south:C,east:R,west:M,granYCos:c,granYSin:d,granXCos:u,granXSin:p,nwCorner:e}}Ij.computeOptions=function(e,t,n,i,o,r,s){let a=e.east,c=e.west,u=e.north,f=e.south,d=!1,p=!1;u===P.PI_OVER_TWO&&(d=!0),f===-P.PI_OVER_TWO&&(p=!0);let g,m=u-f;c>a?g=P.TWO_PI-c+a:g=a-c;let x=Math.ceil(g/t)+1,b=Math.ceil(m/t)+1,T=g/(x-1),A=m/(b-1),C=se.northwest(e,r),E=se.center(e,cqe);(n!==0||i!==0)&&(E.longitude<C.longitude&&(E.longitude+=P.TWO_PI),rL._ellipsoid=ee.default,xz=rL.project(E,xz));let v=A,D=T,O=0,R=0,M=se.clone(e,o),N={granYCos:v,granYSin:O,granXCos:D,granXSin:R,nwCorner:C,boundingRectangle:M,width:x,height:b,northCap:d,southCap:p};if(n!==0){let _=eue(C,n,T,A,E,x,b);u=_.north,f=_.south,a=_.east,c=_.west,N.granYCos=_.granYCos,N.granYSin=_.granYSin,N.granXCos=_.granXCos,N.granXSin=_.granXSin,M.north=u,M.south=f,M.east=a,M.west=c}if(i!==0){n=n-i;let _=se.northwest(M,s),S=eue(_,n,T,A,E,x,b);N.stGranYCos=S.granYCos,N.stGranXCos=S.granXCos,N.stGranYSin=S.granYSin,N.stGranXSin=S.granXSin,N.stNwCorner=_,N.stWest=S.west,N.stSouth=S.south}return N};var Ds=Ij;var lqe=new ae,uqe=new ae,fqe=new h,dqe=new se;function tue(e,t){let n=e._ellipsoid,i=t.height,o=t.width,r=t.northCap,s=t.southCap,a=i,c=2,u=0,f=4;r&&(c-=1,a-=1,u+=1,f-=2),s&&(c-=1,a-=1,u+=1,f-=2),u+=c*o+2*a-f;let d=new Float64Array(u*3),p=0,g=0,m,x=fqe;if(r)Ds.computePosition(t,n,!1,g,0,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;else for(m=0;m<o;m++)Ds.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=o-1,g=1;g<i;g++)Ds.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;if(g=i-1,!s)for(m=o-2;m>=0;m--)Ds.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=0,g=i-2;g>0;g--)Ds.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;let b=d.length/3*2,T=Fe.createTypedArray(d.length/3,b),A=0;for(let E=0;E<d.length/3-1;E++)T[A++]=E,T[A++]=E+1;T[A++]=d.length/3-1,T[A++]=0;let C=new ut({attributes:new mn,primitiveType:Ne.LINES});return C.attributes.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),C.indices=T,C}function hqe(e,t){let n=e._surfaceHeight,i=e._extrudedHeight,o=e._ellipsoid,r=tue(e,t),s=t.height,a=t.width,c=li.scaleToGeodeticHeight(r.attributes.position.values,n,o,!1),u=c.length,f=new Float64Array(u*2);f.set(c);let d=li.scaleToGeodeticHeight(r.attributes.position.values,i,o);f.set(d,u),r.attributes.position.values=f;let p=t.northCap,g=t.southCap,m=4;p&&(m-=1),g&&(m-=1);let x=(f.length/3+m)*2,b=Fe.createTypedArray(f.length/3,x);u=f.length/6;let T=0;for(let C=0;C<u-1;C++)b[T++]=C,b[T++]=C+1,b[T++]=C+u,b[T++]=C+u+1;b[T++]=u-1,b[T++]=0,b[T++]=u+u-1,b[T++]=u,b[T++]=0,b[T++]=u;let A;if(p)A=s-1;else{let C=a-1;b[T++]=C,b[T++]=C+u,A=a+s-2}if(b[T++]=A,b[T++]=A+u,!g){let C=a+A-1;b[T++]=C,b[T]=C+u}return r.indices=b,r}function dE(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.granularity,P.RADIANS_PER_DEGREE),i=y(e.ellipsoid,ee.default),o=y(e.rotation,0),r=y(e.height,0),s=y(e.extrudedHeight,r);this._rectangle=se.clone(t),this._granularity=n,this._ellipsoid=i,this._surfaceHeight=Math.max(r,s),this._rotation=o,this._extrudedHeight=Math.min(r,s),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}dE.packedLength=se.packedLength+ee.packedLength+5;dE.pack=function(e,t,n){return n=y(n,0),se.pack(e._rectangle,t,n),n+=se.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._extrudedHeight,t[n]=y(e._offsetAttribute,-1),t};var nue=new se,iue=ee.clone(ee.UNIT_SPHERE),fE={rectangle:nue,ellipsoid:iue,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};dE.unpack=function(e,t,n){t=y(t,0);let i=se.unpack(e,t,nue);t+=se.packedLength;let o=ee.unpack(e,t,iue);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t];return l(n)?(n._rectangle=se.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._surfaceHeight=s,n._rotation=a,n._extrudedHeight=c,n._offsetAttribute=u===-1?void 0:u,n):(fE.granularity=r,fE.height=s,fE.rotation=a,fE.extrudedHeight=c,fE.offsetAttribute=u===-1?void 0:u,new dE(fE))};var mqe=new fe;dE.createGeometry=function(e){let t=e._rectangle,n=e._ellipsoid,i=Ds.computeOptions(t,e._granularity,e._rotation,0,dqe,mqe),o,r;if(P.equalsEpsilon(t.north,t.south,P.EPSILON10)||P.equalsEpsilon(t.east,t.west,P.EPSILON10))return;let s=e._surfaceHeight,a=e._extrudedHeight,c=!P.equalsEpsilon(s,a,0,P.EPSILON2),u;if(c){if(o=hqe(e,i),l(e._offsetAttribute)){let p=o.attributes.position.values.length/3,g=new Uint8Array(p);e._offsetAttribute===un.TOP?g=g.fill(1,0,p/2):(u=e._offsetAttribute===un.NONE?0:1,g=g.fill(u)),o.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let f=ae.fromRectangle3D(t,n,s,uqe),d=ae.fromRectangle3D(t,n,a,lqe);r=ae.union(f,d)}else{if(o=tue(e,i),o.attributes.position.values=li.scaleToGeodeticHeight(o.attributes.position.values,s,n,!1),l(e._offsetAttribute)){let f=o.attributes.position.values.length;u=e._offsetAttribute===un.NONE?0:1;let d=new Uint8Array(f/3).fill(u);o.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}r=ae.fromRectangle3D(t,n,s)}return new ut({attributes:o.attributes,indices:o.indices,primitiveType:Ne.LINES,boundingSphere:r,offsetAttribute:e._offsetAttribute})};var Rb=dE;function mE(e){this.rectangle=se.clone(e.rectangle),this.minimumHeight=y(e.minimumHeight,0),this.maximumHeight=y(e.maximumHeight,0),this.southwestCornerCartesian=new h,this.northeastCornerCartesian=new h,this.westNormal=new h,this.southNormal=new h,this.eastNormal=new h,this.northNormal=new h;let t=y(e.ellipsoid,ee.WGS84);xqe(this,e.rectangle,t),this._orientedBoundingBox=void 0,this._boundingSphere=void 0,y(e.computeBoundingVolumes,!0)&&this.computeBoundingVolumes(t)}Object.defineProperties(mE.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});mE.prototype.computeBoundingVolumes=function(e){this._orientedBoundingBox=In.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,e),this._boundingSphere=ae.fromOrientedBoundingBox(this._orientedBoundingBox)};var oue=new h,bz=new h,rue=new h,pqe=new h,_qe=new h,gqe=new h,yqe=new h,kf=new fe,sue=new ln(h.UNIT_X,0),hE=new gn;function xqe(e,t,n){n.cartographicToCartesian(se.southwest(t),e.southwestCornerCartesian),n.cartographicToCartesian(se.northeast(t),e.northeastCornerCartesian),kf.longitude=t.west,kf.latitude=(t.south+t.north)*.5,kf.height=0;let i=n.cartographicToCartesian(kf,gqe),o=h.cross(i,h.UNIT_Z,pqe);h.normalize(o,e.westNormal),kf.longitude=t.east;let r=n.cartographicToCartesian(kf,yqe),s=h.cross(h.UNIT_Z,r,oue);h.normalize(s,e.eastNormal);let a=h.subtract(i,r,oue);h.magnitude(a)===0&&(a=h.clone(o,a));let c=h.normalize(a,_qe),u=t.south,f;if(u>0){kf.longitude=(t.west+t.east)*.5,kf.latitude=u;let x=n.cartographicToCartesian(kf,hE.origin);h.clone(c,hE.direction);let b=ln.fromPointNormal(e.southwestCornerCartesian,e.westNormal,sue);ni.rayPlane(hE,b,e.southwestCornerCartesian),f=n.geodeticSurfaceNormal(x,bz)}else f=n.geodeticSurfaceNormalCartographic(se.southeast(t),bz);let d=h.cross(f,a,rue);h.normalize(d,e.southNormal);let p=t.north,g;if(p<0){kf.longitude=(t.west+t.east)*.5,kf.latitude=p;let x=n.cartographicToCartesian(kf,hE.origin);h.negate(c,hE.direction);let b=ln.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,sue);ni.rayPlane(hE,b,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(x,bz)}else g=n.geodeticSurfaceNormalCartographic(se.northwest(t),bz);let m=h.cross(a,g,rue);h.normalize(m,e.northNormal)}var bqe=new h,Tqe=new h,Cqe=new h(0,-1,0),Aqe=new h(0,0,-1),aue=new h;function Eqe(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!se.contains(e.rectangle,o)){let u=e.southwestCornerCartesian,f=e.northeastCornerCartesian,d=e.westNormal,p=e.southNormal,g=e.eastNormal,m=e.northNormal;t.mode!==ne.SCENE3D&&(u=t.mapProjection.project(se.southwest(e.rectangle),bqe),u.z=u.y,u.y=u.x,u.x=0,f=t.mapProjection.project(se.northeast(e.rectangle),Tqe),f.z=f.y,f.y=f.x,f.x=0,d=Cqe,g=h.UNIT_Y,p=Aqe,m=h.UNIT_Z);let x=h.subtract(i,u,aue),b=h.dot(x,d),T=h.dot(x,p),A=h.subtract(i,f,aue),C=h.dot(A,g),E=h.dot(A,m);b>0?r+=b*b:C>0&&(r+=C*C),T>0?r+=T*T:E>0&&(r+=E*E)}let s,a,c;if(t.mode===ne.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let u=s-c;r+=u*u}else if(s<a){let u=a-s;r+=u*u}return Math.sqrt(r)}mE.prototype.distanceToCamera=function(e){let t=Eqe(this,e);if(e.mode===ne.SCENE3D&&l(this._orientedBoundingBox)){let n=Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC));return Math.max(t,n)}return t};mE.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};mE.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new Rb({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),i=new vt({geometry:n,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}});return new Pn({geometryInstances:i,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var Vf=mE;var sL={},Sqe=new h,cue=new h,lue=new h,uue=new h,fue=new In;sL.validOutline=function(e){let n=In.fromPoints(e,fue).halfAxes,i=$.getColumn(n,0,cue),o=$.getColumn(n,1,lue),r=$.getColumn(n,2,uue),s=h.magnitude(i),a=h.magnitude(o),c=h.magnitude(r);return!(s===0&&(a===0||c===0)||a===0&&c===0)};sL.computeProjectTo2DArguments=function(e,t,n,i){let o=In.fromPoints(e,fue),r=o.halfAxes,s=$.getColumn(r,0,cue),a=$.getColumn(r,1,lue),c=$.getColumn(r,2,uue),u=h.magnitude(s),f=h.magnitude(a),d=h.magnitude(c),p=Math.min(u,f,d);if(u===0&&(f===0||d===0)||f===0&&d===0)return!1;let g,m;return(p===f||p===d)&&(g=s),p===u?g=a:p===d&&(m=a),(p===u||p===f)&&(m=c),h.normalize(g,n),h.normalize(m,i),h.clone(o.center,t),!0};function due(e,t,n,i,o){let r=h.subtract(e,t,Sqe),s=h.dot(n,r),a=h.dot(i,r);return z.fromElements(s,a,o)}sL.createProjectPointsTo2DFunction=function(e,t,n){return function(i){let o=new Array(i.length);for(let r=0;r<i.length;r++)o[r]=due(i[r],e,t,n);return o}};sL.createProjectPointTo2DFunction=function(e,t,n){return function(i,o){return due(i,e,t,n,o)}};var b_=sL;function vqe(e){let t=e.length,n=new Float64Array(t*3),i=Fe.createTypedArray(t,t*2),o=0,r=0;for(let a=0;a<t;a++){let c=e[a];n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,i[r++]=a,i[r++]=(a+1)%t}let s=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n})});return new ut({attributes:s,indices:i,primitiveType:Ne.LINES})}function Ob(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=jn.computeHierarchyPackedLength(t,h)+1}Ob.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions}};return new Ob(t)};Ob.pack=function(e,t,n){return n=y(n,0),n=jn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),t[n]=e.packedLength,t};var wqe={polygonHierarchy:{}};Ob.unpack=function(e,t,n){t=y(t,0);let i=jn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=e[t];return l(n)||(n=new Ob(wqe)),n._polygonHierarchy=i,n.packedLength=o,n};Ob.createGeometry=function(e){let t=e._polygonHierarchy,n=t.positions;if(n=Co(n,h.equalsEpsilon,!0),n.length<3||!b_.validOutline(n))return;let o=jn.polygonOutlinesFromHierarchy(t,!1);if(o.length===0)return;let r=[];for(let c=0;c<o.length;c++){let u=new vt({geometry:vqe(o[c])});r.push(u)}let s=Gn.combineInstances(r)[0],a=ae.fromPoints(t.positions);return new ut({attributes:s.attributes,indices:s.indices,primitiveType:s.primitiveType,boundingSphere:a})};var Uf=Ob;var Tz=new fe;function aL(e){let t=Gp.fromToken(e.token),n=y(e.minimumHeight,0),i=y(e.maximumHeight,0),o=y(e.ellipsoid,ee.WGS84);this.s2Cell=t,this.minimumHeight=n,this.maximumHeight=i,this.ellipsoid=o;let r=Fqe(t,n,i,o);this._boundingPlanes=r;let s=Uqe(r);this._vertices=s,this._edgeNormals=new Array(6),this._edgeNormals[0]=Bj(r[0],s.slice(0,4));let a;for(a=0;a<4;a++)this._edgeNormals[0][a]=h.negate(this._edgeNormals[0][a],this._edgeNormals[0][a]);for(this._edgeNormals[1]=Bj(r[1],s.slice(4,8)),a=0;a<4;a++)this._edgeNormals[2+a]=Bj(r[2+a],[s[a%4],s[(a+1)%4],s[4+(a+1)%4],s[4+a]]);for(this._planeVertices=[this._vertices.slice(0,4),this._vertices.slice(4,8)],a=0;a<4;a++)this._planeVertices.push([this._vertices[a%4],this._vertices[(a+1)%4],this._vertices[4+(a+1)%4],this._vertices[4+a]]);let c=t.getCenter();Tz=o.cartesianToCartographic(c,Tz),Tz.height=(i+n)/2,this.center=o.cartographicToCartesian(Tz,c),this._boundingSphere=ae.fromPoints(s)}var Dqe=new h,Iqe=new fe,Pqe=new h,Rqe=new fe,Oqe=new h,Mqe=new h,Lqe=new h,Nqe=new h;function Fqe(e,t,n,i){let o=new Array(6),r=e.getCenter(),s=i.geodeticSurfaceNormal(r,Dqe),a=i.cartesianToCartographic(r,Iqe);a.height=n;let c=i.cartographicToCartesian(a,Pqe),u=ln.fromPointNormal(c,s);o[0]=u;let f=0,d,p=[],g,m;for(d=0;d<4;d++){g=e.getVertex(d),p[d]=g,m=i.cartesianToCartographic(g,Rqe),m.height=t;let b=ln.getPointDistance(u,i.cartographicToCartesian(m,Oqe));b<f&&(f=b)}let x=ln.clone(u);for(x.normal=h.negate(x.normal,x.normal),x.distance=x.distance*-1+f,o[1]=x,d=0;d<4;d++){g=p[d];let b=p[(d+1)%4],T=i.geodeticSurfaceNormal(g,Mqe),A=h.subtract(b,g,Nqe),C=h.cross(A,T,Lqe);C=h.normalize(C,C),o[2+d]=ln.fromPointNormal(g,C)}return o}var Mb=new h,Lb=new h,Nb=new h,Pj=new h,Rj=new h,Oj=new h,Bqe=new h,kqe=new h,Vqe=new h,Mj=new h,Lj=new h,Nj=new h,Ly=new h,Tm=new $;function hue(e,t,n){Mb=e.normal,Lb=t.normal,Nb=n.normal,Pj=h.multiplyByScalar(e.normal,-e.distance,Pj),Rj=h.multiplyByScalar(t.normal,-t.distance,Rj),Oj=h.multiplyByScalar(n.normal,-n.distance,Oj),Mj=h.multiplyByScalar(h.cross(Lb,Nb,Bqe),h.dot(Pj,Mb),Mj),Lj=h.multiplyByScalar(h.cross(Nb,Mb,kqe),h.dot(Rj,Lb),Lj),Nj=h.multiplyByScalar(h.cross(Mb,Lb,Vqe),h.dot(Oj,Nb),Nj),Tm[0]=Mb.x,Tm[1]=Lb.x,Tm[2]=Nb.x,Tm[3]=Mb.y,Tm[4]=Lb.y,Tm[5]=Nb.y,Tm[6]=Mb.z,Tm[7]=Lb.z,Tm[8]=Nb.z;let i=$.determinant(Tm);return Ly=h.add(Mj,Lj,Ly),Ly=h.add(Ly,Nj,Ly),new h(Ly.x/i,Ly.y/i,Ly.z/i)}function Uqe(e){let t=new Array(8);for(let n=0;n<4;n++)t[n]=hue(e[0],e[2+(n+3)%4],e[2+n%4]),t[n+4]=hue(e[1],e[2+(n+3)%4],e[2+n%4]);return t}var Fj=new h,pE=new h;function Bj(e,t){let n=[];for(let i=0;i<4;i++)Fj=h.subtract(t[(i+1)%4],t[i],Fj),pE=h.cross(e.normal,Fj,pE),pE=h.normalize(pE,pE),n[i]=h.clone(pE);return n}Object.defineProperties(aL.prototype,{boundingVolume:{get:function(){return this}},boundingSphere:{get:function(){return this._boundingSphere}}});var kj=new h;aL.prototype.distanceToCamera=function(e){let t=e.camera.positionWC,n=[],i=[],o;ln.getPointDistance(this._boundingPlanes[0],t)>0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):ln.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,ln.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=Vj(ln.projectPointOntoPlane(c,t,kj),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=mue(t,p[0],p[1]),h.distance(a,t)}let f=Number.MAX_VALUE,d;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=Vj(ln.projectPointOntoPlane(c,t,kj),i[r],c,this._edgeNormals[n[r]]),d=h.distanceSquared(a,t),d<f&&(f=d);return Math.sqrt(f)}else if(n.length>3)return a=Vj(ln.projectPointOntoPlane(this._boundingPlanes[1],t,kj),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let u=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+u)%4]):h.distance(t,this._vertices[4+(n[1]-2+u)%4])};var zqe=new h,Hqe=new h;function mue(e,t,n){let i=h.subtract(n,t,zqe),o=h.subtract(e,t,Hqe),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var Gqe=new ln(h.UNIT_X,0);function Vj(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c<t.length;c++){let u=ln.fromPointNormal(t[c],i[c],Gqe);ln.getPointDistance(u,e)<0||(a=mue(e,t[c],t[(c+1)%4]),r=h.distance(e,a),r<o&&(o=r,s=a))}return l(s)?s:e}aL.prototype.intersectPlane=function(e){let t=0,n=0;for(let i=0;i<this._vertices.length;i++)h.dot(e.normal,this._vertices[i])+e.distance<0?n++:t++;return t===this._vertices.length?jt.INSIDE:n===this._vertices.length?jt.OUTSIDE:jt.INTERSECTING};aL.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new Uf({polygonHierarchy:{positions:this._planeVertices[0]}}),i=Uf.createGeometry(n),o=new vt({geometry:i,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}}),r=new Uf({polygonHierarchy:{positions:this._planeVertices[1]}}),s=Uf.createGeometry(r),a=new vt({geometry:s,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}}),c=[];for(let u=0;u<4;u++){let f=new Uf({polygonHierarchy:{positions:this._planeVertices[2+u]}}),d=Uf.createGeometry(f);c[u]=new vt({geometry:d,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}})}return new Pn({geometryInstances:[c[0],c[1],c[2],c[3],a,o],appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var cL=aL;var Wqe=new h(1,1,1),Cz=Math.cos,Az=Math.sin;function _E(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,Wqe),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,10)),c=Math.round(y(e.slicePartitions,8)),u=Math.round(y(e.subdivisions,128));this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._subdivisions=u,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}_E.packedLength=2*h.packedLength+8;_E.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n++]=e._subdivisions,t[n]=y(e._offsetAttribute,-1),t};var pue=new h,_ue=new h,T_={radii:pue,innerRadii:_ue,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};_E.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,pue);t+=h.packedLength;let o=h.unpack(e,t,_ue);t+=h.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._minimumClock=r,n._maximumClock=s,n._minimumCone=a,n._maximumCone=c,n._stackPartitions=u,n._slicePartitions=f,n._subdivisions=d,n._offsetAttribute=p===-1?void 0:p,n):(T_.minimumClock=r,T_.maximumClock=s,T_.minimumCone=a,T_.maximumCone=c,T_.stackPartitions=u,T_.slicePartitions=f,T_.subdivisions=d,T_.offsetAttribute=p===-1?void 0:p,new _E(T_))};_E.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._subdivisions,c=ee.fromCartesian3(t),u=e._slicePartitions+1,f=e._stackPartitions+1;u=Math.round(u*Math.abs(o-i)/P.TWO_PI),f=Math.round(f*Math.abs(s-r)/P.PI),u<2&&(u=2),f<2&&(f=2);let d=0,p=1,g=n.x!==t.x||n.y!==t.y||n.z!==t.z,m=!1,x=!1;g&&(p=2,r>0&&(m=!0,d+=u),s<Math.PI&&(x=!0,d+=u));let b=a*p*(f+u),T=new Float64Array(b*3),A=2*(b+d-(u+f)*p),C=Fe.createTypedArray(b,A),E,v,D,O,R=0,M=new Array(f),N=new Array(f);for(E=0;E<f;E++)O=r+E*(s-r)/(f-1),M[E]=Az(O),N[E]=Cz(O);let _=new Array(a),S=new Array(a);for(E=0;E<a;E++)D=i+E*(o-i)/(a-1),_[E]=Az(D),S[E]=Cz(D);for(E=0;E<f;E++)for(v=0;v<a;v++)T[R++]=t.x*M[E]*S[v],T[R++]=t.y*M[E]*_[v],T[R++]=t.z*N[E];if(g)for(E=0;E<f;E++)for(v=0;v<a;v++)T[R++]=n.x*M[E]*S[v],T[R++]=n.y*M[E]*_[v],T[R++]=n.z*N[E];for(M.length=a,N.length=a,E=0;E<a;E++)O=r+E*(s-r)/(a-1),M[E]=Az(O),N[E]=Cz(O);for(_.length=u,S.length=u,E=0;E<u;E++)D=i+E*(o-i)/(u-1),_[E]=Az(D),S[E]=Cz(D);for(E=0;E<a;E++)for(v=0;v<u;v++)T[R++]=t.x*M[E]*S[v],T[R++]=t.y*M[E]*_[v],T[R++]=t.z*N[E];if(g)for(E=0;E<a;E++)for(v=0;v<u;v++)T[R++]=n.x*M[E]*S[v],T[R++]=n.y*M[E]*_[v],T[R++]=n.z*N[E];for(R=0,E=0;E<f*p;E++){let L=E*a;for(v=0;v<a-1;v++)C[R++]=L+v,C[R++]=L+v+1}let w=f*a*p;for(E=0;E<u;E++)for(v=0;v<a-1;v++)C[R++]=w+E+v*u,C[R++]=w+E+(v+1)*u;if(g)for(w=f*a*p+u*a,E=0;E<u;E++)for(v=0;v<a-1;v++)C[R++]=w+E+v*u,C[R++]=w+E+(v+1)*u;if(g){let L=f*a*p,B=L+a*u;if(m)for(E=0;E<u;E++)C[R++]=L+E,C[R++]=B+E;if(x)for(L+=a*u-u,B+=a*u-u,E=0;E<u;E++)C[R++]=L+E,C[R++]=B+E}let I=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T})});if(l(e._offsetAttribute)){let L=T.length,B=e._offsetAttribute===un.NONE?0:1,U=new Uint8Array(L/3).fill(B);I.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:U})}return new ut({attributes:I,indices:C,primitiveType:Ne.LINES,boundingSphere:ae.fromEllipsoid(c),offsetAttribute:e._offsetAttribute})};var wu=_E;function gE(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new wu(i),this._workerName="createSphereOutlineGeometry"}gE.packedLength=wu.packedLength;gE.pack=function(e,t,n){return wu.pack(e._ellipsoidGeometry,t,n)};var jqe=new wu,Fb={radius:void 0,radii:new h,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};gE.unpack=function(e,t,n){let i=wu.unpack(e,t,jqe);return Fb.stackPartitions=i._stackPartitions,Fb.slicePartitions=i._slicePartitions,Fb.subdivisions=i._subdivisions,l(n)?(h.clone(i._radii,Fb.radii),n._ellipsoidGeometry=new wu(Fb),n):(Fb.radius=i._radii.x,new gE(Fb))};gE.createGeometry=function(e){return wu.createGeometry(e._ellipsoidGeometry)};var C_=gE;function yE(e,t){t===0&&(t=P.EPSILON7),this._boundingSphere=new ae(e,t)}Object.defineProperties(yE.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}});yE.prototype.distanceToCamera=function(e){let t=this._boundingSphere;return Math.max(0,h.distance(t.center,e.camera.positionWC)-t.radius)};yE.prototype.intersectPlane=function(e){return ae.intersectPlane(this._boundingSphere,e)};yE.prototype.update=function(e,t){h.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t};yE.prototype.createDebugVolume=function(e){let t=new C_({radius:this.radius}),n=F.fromTranslation(this.center,new F.clone(F.IDENTITY)),i=new vt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Wt.fromColor(e)}});return new Pn({geometryInstances:i,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var A_=yE;var qqe=new h,Yqe=new h,Xqe=new h,Kqe=new h;function Bb(e,t,n){n=h.cross(e,t,n);let i=h.magnitude(n);return h.multiplyByScalar(n,P.EPSILON7/i,n)}function Uj(e,t){let n=h.normalize(e,Kqe),i=h.equalsEpsilon(n,h.UNIT_X,P.EPSILON6)?h.UNIT_Y:h.UNIT_X;return Bb(e,i,t)}function gue(e){let t=$.getColumn(e,0,qqe),n=$.getColumn(e,1,Yqe),i=$.getColumn(e,2,Xqe),o=h.equals(t,h.ZERO),r=h.equals(n,h.ZERO),s=h.equals(i,h.ZERO);return!o&&!r&&!s?e:o&&r&&s?(e[0]=P.EPSILON7,e[4]=P.EPSILON7,e[8]=P.EPSILON7,e):(o&&!r&&!s?t=Bb(n,i,t):!o&&r&&!s?n=Bb(t,i,n):!o&&!r&&s?i=Bb(n,t,i):o?r?s||(t=Uj(i,t),n=Bb(i,t,n)):(t=Uj(n,t),i=Bb(n,t,i)):(n=Uj(t,n),i=Bb(n,t,i)),$.setColumn(e,0,t,e),$.setColumn(e,1,n,e),$.setColumn(e,2,i,e),e)}function xE(e,t){t=gue(t),this._orientedBoundingBox=new In(e,t),this._boundingSphere=ae.fromOrientedBoundingBox(this._orientedBoundingBox)}Object.defineProperties(xE.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});xE.prototype.distanceToCamera=function(e){return Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))};xE.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};xE.prototype.update=function(e,t){h.clone(e,this._orientedBoundingBox.center),t=gue(t),$.clone(t,this._orientedBoundingBox.halfAxes),ae.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)};xE.prototype.createDebugVolume=function(e){let t=new Sd({minimum:new h(-1,-1,-1),maximum:new h(1,1,1)}),n=F.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),i=new vt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Wt.fromColor(e)}});return new Pn({geometryInstances:i,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var Du=xE;function er(e,t,n,i){this._tileset=e,this._header=n;let o=l(n.contents),r=o&&n.contents.length>1||ai(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=l(n.transform)?F.unpack(n.transform):F.clone(F.IDENTITY);let a=l(i)?i.computedTransform:e.modelMatrix,c=F.multiply(a,this.transform,new F),u=l(i)?i._initialTransform:F.IDENTITY;this._initialTransform=F.multiply(u,this.transform,new F),this.computedTransform=c,this.metadata=iL(e,n),this._verticalExaggeration=1,this._verticalExaggerationRelativeHeight=0,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let f;l(s)&&l(s.boundingVolume)&&(f=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=f,this._contentBoundingVolume2D=void 0;let d;l(n.viewerRequestVolume)&&(d=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=d,this.geometricError=n.geometricError,this._geometricError=n.geometricError,l(this._geometricError)||(this._geometricError=l(i)?i._geometricError:e._geometricError,er._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;l(n.refine)?((n.refine==="replace"||n.refine==="add")&&er._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?Ho.REPLACE:Ho.ADD):l(i)?p=i.refine:p=Ho.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,m=!1,x,b,T;if(t=we.createIfNeeded(t),r)x=Wo.UNLOADED,b=t.clone();else if(l(s)){let v=s.uri;l(s.url)&&(er._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),v=s.url),v===""?(er._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new uE(e,this),m=!0,x=Wo.READY):(x=Wo.UNLOADED,b=t.getDerivedResource({url:v}),T=ec.getServerKey(b.getUrlComponent()))}else g=new uE(e,this),m=!0,x=Wo.READY;this._content=g,this._contentResource=b,this._contentState=x,this._expiredContent=void 0,this._serverKey=T,this.hasEmptyContent=m,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.cacheNode=void 0;let A=n.expire,C,E;l(A)&&(C=A.duration,l(A.date)&&(E=K.fromIso8601(A.date))),this.expireDuration=C,this.expireDate=E,this.lastStyleTime=0,this._optimChildrenWithinParent=Nf.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._wasSelectedLastFrame=!1,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._isClippedByPolygon=!1,this._clippingPlanesState=0,this._clippingPolygonsState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=H.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new K,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}er._deprecationWarning=fs;Object.defineProperties(er.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return l(this._color)||(this._color=new H),H.clone(this._color)},set:function(e){this._color=H.clone(e,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||l(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===Wo.READY}},contentUnloaded:{get:function(){return this._contentState===Wo.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===Wo.EXPIRED}},contentFailed:{get:function(){return this._contentState===Wo.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var Ny=new h;function Zqe(e,t){let{tileset:n,boundingSphere:i}=e,{radius:o,center:r}=i,{camera:s}=t,a=h.multiplyByScalar(s.directionWC,e._centerZDepth,Ny),c=h.add(s.positionWC,a,Ny),u=h.subtract(c,r,Ny);if(h.magnitude(u)>o){let E=h.normalize(u,Ny),v=h.multiplyByScalar(E,o,Ny),D=h.add(r,v,Ny),O=h.subtract(D,s.positionWC,Ny),R=h.normalize(O,Ny);e._foveatedFactor=1-Math.abs(h.dot(s.directionWC,R))}else e._foveatedFactor=0;let p=e.refine===Ho.REPLACE,g=n.isSkippingLevelOfDetail;if(p&&!g||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&p&&g||n._pass===Fo.PRELOAD_FLIGHT||n._pass===Fo.PRELOAD)return!1;let m=1-Math.cos(s.frustum.fov*.5),x=n.foveatedConeSize*m;if(e._foveatedFactor<=x)return!1;let b=m-x,T=P.clamp((e._foveatedFactor-x)/b,0,1),A=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.memoryAdjustedScreenSpaceError,T),C=e._screenSpaceError===0&&l(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.memoryAdjustedScreenSpaceError-A<=C}var Tue=new K;er.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=l(this.parent)?this.parent.geometricError:i._scaledGeometricError,s=t?r:this.geometricError;if(s===0)return 0;let{camera:a,context:c}=e,u=a.frustum,f=c.drawingBufferWidth,d=c.drawingBufferHeight*o,p;if(e.mode===ne.SCENE2D||u instanceof cn){let g=u.offCenterFrustum;l(g)&&(u=g);let m=Math.max(u.top-u.bottom,u.right-u.left)/Math.max(f,d);p=s/m}else{let g=Math.max(this._distanceToCamera,P.EPSILON7),m=u.sseDenominator;if(p=s*d/(g*m),i.dynamicScreenSpaceError){let x=i._dynamicScreenSpaceErrorComputedDensity,b=i.dynamicScreenSpaceErrorFactor,T=P.fog(g,x)*b;p-=T}}return p/=e.pixelRatio,p};function $qe(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=e.memoryAdjustedScreenSpaceError,i=t._screenSpaceErrorProgressiveResolution>n;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let o=t.parent,r=t._screenSpaceErrorProgressiveResolution<=n,s=l(o)&&o._screenSpaceErrorProgressiveResolution>n;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,i=!0),i}function Qqe(e,t){let n=t.parent,o=l(n)&&(!e.isSkippingLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}er.prototype.updateVisibility=function(e){let{parent:t,tileset:n}=this;if(this._updatedVisibilityFrame===n._updatedVisibilityFrame)return;let i=l(t)?t.computedTransform:n.modelMatrix,o=l(t)?t._visibilityPlaneMask:hs.MASK_INDETERMINATE;this.updateTransform(i,e),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==hs.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=Qqe(n,this),this._priorityProgressiveResolution=$qe(n,this),this.priorityDeferred=Zqe(this,e),this._updatedVisibilityFrame=n._updatedVisibilityFrame};er.prototype.updateExpiration=function(){if(l(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=K.now(Tue);K.lessThan(this.expireDate,e)&&(this._contentState=Wo.EXPIRED,this._expiredContent=this._content)}};function Jqe(e){if(!l(e.expireDuration))return;let t=K.now(Tue);K.addSeconds(t,e.expireDuration,t),l(e.expireDate)?K.lessThan(e.expireDate,t)&&K.clone(t,e.expireDate):e.expireDate=K.clone(t)}function eYe(e){return function(){return e._priority}}er.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?tYe(this):iYe(this)};function tYe(e){let t=e._content,n=e._tileset;if(!l(t)){let o=ai(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new oL(n,e,e._contentResource.clone(),o),e._content=t}let i=t.requestInnerContents();if(l(i))return e._contentState=Wo.LOADING,i.then(o=>{if(!e.isDestroyed()&&l(o))return e._contentState=Wo.PROCESSING,t}).catch(o=>{if(!e.isDestroyed())throw e._contentState=Wo.FAILED,o})}async function nYe(e,t,n,i,o){let r=e._contentState;e._contentState=Wo.LOADING,++t.statistics.numberOfPendingRequests;let s;try{s=await o}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;if(n.cancelled||n.state===ti.CANCELLED){e._contentState=r,++t.statistics.numberOfAttemptedRequests;return}throw e._contentState=Wo.FAILED,a}if(e.isDestroyed()){--t.statistics.numberOfPendingRequests;return}if(n.cancelled||n.state===ti.CANCELLED){e._contentState=r,--t.statistics.numberOfPendingRequests,++t.statistics.numberOfAttemptedRequests;return}try{let a=await oYe(e,s);return--t.statistics.numberOfPendingRequests,e.isDestroyed()?void 0:(i&&(e.expireDate=void 0),e._content=a,e._contentState=Wo.PROCESSING,a)}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;throw e._contentState=Wo.FAILED,a}}function iYe(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new Xo({throttle:!0,throttleByServer:!0,type:us.TILES3D,priorityFunction:eYe(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=e._tileset,r=t.fetchArrayBuffer();if(!l(r)){++o.statistics.numberOfAttemptedRequests;return}return nYe(e,o,i,n,r)}async function oYe(e,t){let n=bm(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===ws.GEOMETRY||n.contentType===ws.VECTOR,(n.contentType===ws.IMPLICIT_SUBTREE||n.contentType===ws.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===ws.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=Db[n.contentType];if(e.isDestroyed())return;l(n.binaryPayload)?o=await Promise.resolve(r(i,e,e._contentResource,n.binaryPayload.buffer,0)):o=await Promise.resolve(r(i,e,e._contentResource,n.jsonPayload));let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,u=e.implicitCoordinates;o.metadata=c.getContentMetadataView(u,0)}else e.hasImplicitContent||(o.metadata=Ib(i,s));let a=Pb(i,s);return l(a)&&(o.group=new jx({metadata:a})),o}er.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};er.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=Wo.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this.clippingPolygonsDirty=this._clippingPolygonsState===0,this._clippingPolygonsState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var Cue=new ae;function Hj(e,t){if(t.mode!==ne.SCENE3D&&!l(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=ae.projectTo2D(n,t.mapProjection,Cue);e._boundingVolume2D=new A_(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._boundingVolume2D:e._boundingVolume}function rYe(e,t){if(t.mode!==ne.SCENE3D&&!l(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=ae.projectTo2D(n,t.mapProjection,Cue);e._contentBoundingVolume2D=new A_(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}er.prototype.visibility=function(e,t){let n=e.cullingVolume,i=Hj(this,e),o=this._tileset,r=o.clippingPlanes;if(l(r)&&r.enabled){let a=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=a!==jt.INSIDE,a===jt.OUTSIDE)return hs.MASK_OUTSIDE}let s=o.clippingPolygons;if(l(s)&&s.enabled){let a=s.computeIntersectionWithBoundingVolume(i);this._isClippedByPolygon=a!==jt.OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};er.prototype.contentVisibility=function(e){if(!l(this._contentBoundingVolume))return jt.INSIDE;if(this._visibilityPlaneMask===hs.MASK_INSIDE)return jt.INSIDE;let t=e.cullingVolume,n=rYe(this,e),i=this._tileset,o=i.clippingPlanes;if(l(o)&&o.enabled){let s=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=s!==jt.INSIDE,s===jt.OUTSIDE)return jt.OUTSIDE}let r=i.clippingPolygons;if(l(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(n);if(this._isClippedByPolygon=s!==jt.OUTSIDE,s===jt.INSIDE)return jt.OUTSIDE}return t.computeVisibility(n)};er.prototype.distanceToTile=function(e){return Hj(this,e).distanceToCamera(e)};var sYe=new h;er.prototype.distanceToTileCenter=function(e){let n=Hj(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,sYe);return h.dot(e.camera.directionWC,i)};er.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!l(t)||t.distanceToCamera(e)===0};var Aue=new $,Eue=new h,aYe=new $,Gj=new h,Sue=new se,vue=new In,zj=new F;function cYe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],Gj),o=$.fromArray(e,3,aYe);i=F.multiplyByPoint(t,i,i);let r=F.getMatrix3(t,Aue);return o=$.multiply(r,o,o),l(n)?(n.update(i,o),n):new Du(i,o)}function lYe(e,t,n,i){let o=se.unpack(e,0,Sue),r=e[4],s=e[5],a=In.fromRectangle(o,r,s,ee.WGS84,vue),c=a.center,u=a.halfAxes;t=F.multiplyTransformation(t,F.inverseTransformation(n,zj),zj),c=F.multiplyByPoint(t,c,c);let f=F.getMatrix3(t,Aue);return u=$.multiply(f,u,u),l(i)&&i instanceof Du?(i.update(c,u),i):new Du(c,u)}function uYe(e,t,n,i){if(!F.equalsEpsilon(t,n,P.EPSILON8))return lYe(e,t,n,i);let o=se.unpack(e,0,Sue);return l(i)?(i.rectangle=se.clone(o,i.rectangle),i.minimumHeight=e[4],i.maximumHeight=e[5],i.computeBoundingVolumes(ee.WGS84),i):new Vf({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function fYe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],Gj),o=e[3];i=F.multiplyByPoint(t,i,i);let r=F.getScale(t,Eue),s=h.maximumComponent(r);return o*=s,l(n)?(n.update(i,o),n):new A_(i,o)}er.prototype.createBoundingVolume=function(e,t,n){let i=this.metadata,o;if(l(i)&&(o=lb.parseBoundingVolumeSemantic("TILE",i)),l(o)&&(e=o),!l(e))throw new ce("boundingVolume must be defined");if(ai(e,"3DTILES_bounding_volume_S2"))return new cL(e.extensions["3DTILES_bounding_volume_S2"]);let{box:r,region:s,sphere:a}=e;if(l(r)){let c=cYe(r,t,n);return this._verticalExaggeration!==1&&yue(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c}if(l(s)){let c=uYe(s,t,this._initialTransform,n);return this._verticalExaggeration===1||(c instanceof Du?yue(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight):(c.minimumHeight=Cr.getHeight(c.minimumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.maximumHeight=Cr.getHeight(c.maximumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.computeBoundingVolumes(ee.WGS84))),c}if(l(a)){let c=fYe(a,t,n);if(this._verticalExaggeration!==1){let u=Cr.getPosition(c.center,ee.WGS84,this._verticalExaggeration,this._verticalExaggerationRelativeHeight,Gj),f=c.radius*this._verticalExaggeration;c.update(u,f)}return c}throw new ce("boundingVolume must contain a sphere, region, or box")};var dYe=h.unpackArray(new Array(8*3).fill(0));function yue(e,t,n){let i=e.boundingVolume.computeCorners(dYe).map(r=>Cr.getPosition(r,ee.WGS84,t,n,r)),o=In.fromPoints(i,vue);e.update(o.center,o.halfAxes)}er.prototype.updateTransform=function(e,t){e=y(e,F.IDENTITY);let n=F.multiplyTransformation(e,this.transform,zj),i=!F.equals(n,this.computedTransform),o=l(t)&&(this._verticalExaggeration!==t.verticalExaggeration||this._verticalExaggerationRelativeHeight!==t.verticalExaggerationRelativeHeight);if(!i&&!o)return;i&&F.clone(n,this.computedTransform),o&&(this._verticalExaggeration=t.verticalExaggeration,this._verticalExaggerationRelativeHeight=t.verticalExaggerationRelativeHeight);let r=this._header,s=this._contentHeader;this._boundingVolume=this.createBoundingVolume(r.boundingVolume,this.computedTransform,this._boundingVolume),l(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(s.boundingVolume,this.computedTransform,this._contentBoundingVolume)),l(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(r.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};er.prototype.updateGeometricErrorScale=function(){let e=F.getScale(this.computedTransform,Eue),t=h.maximumComponent(e);if(this.geometricError=this._geometricError*t,!l(this.parent)){let n=this._tileset;n._scaledGeometricError=n._geometricError*t}};function hYe(e,t,n,i){if(!i.isRender)return;let o=l(e._contentHeader)&&l(e._contentHeader.boundingVolume),r=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(r){let c;e._finalResolution?e.hasRenderableContent?c=H.WHITE:c=H.DARKGRAY:c=H.YELLOW,l(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(c)),e._debugBoundingVolume.update(n);let u=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");u.color=Wt.toValue(c,u.color)}else!r&&l(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(l(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(H.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&l(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&l(e._viewerRequestVolume)?(l(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(H.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&l(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let s=t.debugColorizeTiles&&!e._debugColorizeTiles||l(t._heatmap.tilePropertyName),a=!t.debugColorizeTiles&&e._debugColorizeTiles;s?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):a&&(e._debugColorizeTiles=!1,e.color=H.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),a&&t.makeStyleDirty()}function mYe(e,t,n){let i=e._expiredContent;if(!e.hasMultipleContents&&l(i)){if(!e.contentReady){try{i.update(t,n)}catch{}return}e._expiredContent.destroy(),e._expiredContent=void 0}if(l(e.content))try{e.content.update(t,n)}catch(o){throw e._contentState=Wo.FAILED,o}}function pYe(e,t){let n=t.clippingPlanes,i=0;l(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}function _Ye(e,t){let n=t.clippingPolygons,i=0;l(n)&&e._isClippedByPolygon&&n.enabled&&(i=n.clippingPolygonsState),i!==e._clippingPolygonsState&&(e._clippingPolygonsState=i,e.clippingPolygonsDirty=!0)}er.prototype.update=function(e,t,n){let{commandList:i}=t,o=i.length;pYe(this,e),_Ye(this,e),hYe(this,e,t,n),mYe(this,e,t);let r=i.length;this._commandsLength=r-o;for(let s=o;s<r;++s){let a=i[s],c=a.pass===Se.TRANSLUCENT;a.depthForTranslucentClassification=c}this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1};var xue=[];er.prototype.process=function(e,t){!this.contentExpired&&!this.contentReady&&this._content.ready&&(Jqe(this),this._selectedFrame=0,this.lastStyleTime=0,K.now(this._loadTimestamp),this._contentState=Wo.READY,!this.hasTilesetContent&&!this.hasImplicitContent&&(e._statistics.incrementLoadCounts(this.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(this)));let n=t.commandList;t.commandList=xue;try{this._content.update(e,t)}catch(i){throw this._contentState=Wo.FAILED,i}xue.length=0,t.commandList=n};function bue(e,t,n){let i=e*Math.pow(10,t);return parseInt(i)*Math.pow(10,n)}function Ez(e,t,n){return Math.max(P.normalize(e,t,n)-P.EPSILON7,0)}er.prototype.updatePriority=function(){let e=this.tileset,t=e.preferLeaves,n=e._minimumPriority,i=e._maximumPriority,o=4,r=1,s=0,a=o,c=s+a,u=o,f=c+u,d=r,p=Math.pow(10,f),g=f+d,m=r,x=Math.pow(10,g),b=g+m,T=Math.pow(10,b),A=Ez(this._depth,n.depth,i.depth);A=t?1-A:A;let E=!e.isSkippingLevelOfDetail&&this.refine===Ho.REPLACE?Ez(this._priorityHolder._distanceToCamera,n.distance,i.distance):Ez(this._priorityReverseScreenSpaceError,n.reverseScreenSpaceError,i.reverseScreenSpaceError),v=bue(E,a,s),D=this._priorityProgressiveResolution?0:p,O=Ez(this._priorityHolder._foveatedFactor,n.foveatedFactor,i.foveatedFactor),R=bue(O,u,c),M=this.priorityDeferred?x:0,N=e._pass===Fo.PRELOAD_FLIGHT?0:T;this._priority=A+v+D+R+M+N};er.prototype.isDestroyed=function(){return!1};er.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),ue(this)};var zf=er;function E_(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.group,i=e.class,o=l(n.properties)?n.properties:{};this._class=i,this._properties=o,this._id=t,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(E_.prototype,{class:{get:function(){return this._class}},id:{get:function(){return this._id}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});E_.prototype.hasProperty=function(e){return Vn.hasProperty(e,this._properties,this._class)};E_.prototype.hasPropertyBySemantic=function(e){return Vn.hasPropertyBySemantic(e,this._properties,this._class)};E_.prototype.getPropertyIds=function(e){return Vn.getPropertyIds(this._properties,this._class,e)};E_.prototype.getProperty=function(e){return Vn.getProperty(e,this._properties,this._class)};E_.prototype.setProperty=function(e,t){return Vn.setProperty(e,t,this._properties,this._class)};E_.prototype.getPropertyBySemantic=function(e){return Vn.getPropertyBySemantic(e,this._properties,this._class)};E_.prototype.setPropertyBySemantic=function(e,t){return Vn.setPropertyBySemantic(e,t,this._properties,this._class)};var bE=E_;function S_(e){e=y(e,y.EMPTY_OBJECT);let t=e.tileset,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(S_.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});S_.prototype.hasProperty=function(e){return Vn.hasProperty(e,this._properties,this._class)};S_.prototype.hasPropertyBySemantic=function(e){return Vn.hasPropertyBySemantic(e,this._properties,this._class)};S_.prototype.getPropertyIds=function(e){return Vn.getPropertyIds(this._properties,this._class,e)};S_.prototype.getProperty=function(e){return Vn.getProperty(e,this._properties,this._class)};S_.prototype.setProperty=function(e,t){return Vn.setProperty(e,t,this._properties,this._class)};S_.prototype.getPropertyBySemantic=function(e){return Vn.getPropertyBySemantic(e,this._properties,this._class)};S_.prototype.setPropertyBySemantic=function(e,t){return Vn.setPropertyBySemantic(e,t,this._properties,this._class)};var lL=S_;function wue(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataJson,n=e.schema,i=y(t.metadata,t.tileset),o;l(i)&&(o=new lL({tileset:i,class:n.classes[i.class]}));let r=[],s=[],a=t.groups;if(Array.isArray(a)){let c=a.length;for(let u=0;u<c;u++){let f=a[u];s.push(new bE({group:f,class:n.classes[f.class]}))}}else if(l(a)){r=Object.keys(a).sort();let c=r.length;for(let u=0;u<c;u++){let f=r[u];if(a.hasOwnProperty(f)){let d=a[f];s.push(new bE({id:f,group:a[f],class:n.classes[d.class]}))}}}this._schema=n,this._groups=s,this._groupIds=r,this._tileset=o,this._statistics=t.statistics,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(wue.prototype,{schema:{get:function(){return this._schema}},groups:{get:function(){return this._groups}},groupIds:{get:function(){return this._groupIds}},tileset:{get:function(){return this._tileset}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var kb=wue;var Due={},gYe=new h;Due.checkChildrenWithinParent=function(e){let t=e.children,n=t.length,i=e.boundingVolume;if(i instanceof Du||i instanceof Vf){let o=i._orientedBoundingBox;e._optimChildrenWithinParent=Nf.USE_OPTIMIZATION;for(let r=0;r<n;++r){let a=t[r].boundingVolume;if(!(a instanceof Du||a instanceof Vf)){e._optimChildrenWithinParent=Nf.SKIP_OPTIMIZATION;break}let c=a._orientedBoundingBox,u=h.subtract(c.center,o.center,gYe),f=h.magnitude(u);h.divideByScalar(u,f,u);let d=Math.abs(o.halfAxes[0]*u.x)+Math.abs(o.halfAxes[1]*u.y)+Math.abs(o.halfAxes[2]*u.z)+Math.abs(o.halfAxes[3]*u.x)+Math.abs(o.halfAxes[4]*u.y)+Math.abs(o.halfAxes[5]*u.z)+Math.abs(o.halfAxes[6]*u.x)+Math.abs(o.halfAxes[7]*u.y)+Math.abs(o.halfAxes[8]*u.z),p=Math.abs(c.halfAxes[0]*u.x)+Math.abs(c.halfAxes[1]*u.y)+Math.abs(c.halfAxes[2]*u.z)+Math.abs(c.halfAxes[3]*u.x)+Math.abs(c.halfAxes[4]*u.y)+Math.abs(c.halfAxes[5]*u.z)+Math.abs(c.halfAxes[6]*u.x)+Math.abs(c.halfAxes[7]*u.y)+Math.abs(c.halfAxes[8]*u.z);if(d<=p+f){e._optimChildrenWithinParent=Nf.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===Nf.USE_OPTIMIZATION};var uL=Due;function fL(){this.head=void 0,this.tail=void 0,this._length=0}Object.defineProperties(fL.prototype,{length:{get:function(){return this._length}}});function yYe(e,t,n){this.item=e,this.previous=t,this.next=n}fL.prototype.add=function(e){let t=new yYe(e,this.tail,void 0);return l(this.tail)?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t};function Iue(e,t){l(t.previous)&&l(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):l(t.previous)?(t.previous.next=void 0,e.tail=t.previous):l(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}fL.prototype.remove=function(e){l(e)&&(Iue(this,e),--this._length)};fL.prototype.splice=function(e,t){if(e===t)return;Iue(this,t);let n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e};var dL=fL;function Vb(){this._list=new dL,this._sentinel=this._list.add(),this._trimTiles=!1}Vb.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};Vb.prototype.touch=function(e){let t=e.cacheNode;l(t)&&this._list.splice(this._sentinel,t)};Vb.prototype.add=function(e){l(e.cacheNode)||(e.cacheNode=this._list.add(e))};Vb.prototype.unloadTile=function(e,t,n){let i=t.cacheNode;l(i)&&(this._list.remove(i),t.cacheNode=void 0,n(e,t))};Vb.prototype.unloadTiles=function(e,t){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=this._sentinel,r=i.head;for(;r!==o&&(e.totalMemoryUsageInBytes>e.cacheBytes||n);){let s=r.item;r=r.next,this.unloadTile(e,s,t)}};Vb.prototype.trim=function(){this._trimTiles=!0};var hL=Vb;function Sz(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function jj(e,t){let n;return t==="_loadTimestamp"?n=K.toDate(e).getTime():n=e,n}Sz.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=jj(e,n),this._referenceMaximum[n]=jj(t,n)};function xYe(e,t){let n=e.tilePropertyName;if(l(n)){let i=jj(t[n],n);return l(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var Wj=[new H(.1,.1,.1,1),new H(.153,.278,.878,1),new H(.827,.231,.49,1),new H(.827,.188,.22,1),new H(1,.592,.259,1),new H(1,.843,0,1)];Sz.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!l(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=xYe(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+P.EPSILON7,c=P.clamp(i-o,0,s)/s,u=Wj.length-1,f=c*u,d=Math.floor(f),p=Math.ceil(f),g=f-d,m=Wj[d],x=Wj[p],b=H.clone(H.WHITE);b.red=P.lerp(m.red,x.red,g),b.green=P.lerp(m.green,x.green,g),b.blue=P.lerp(m.blue,x.blue,g),e._debugColor=b};Sz.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(l(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=l(t)&&l(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var mL=Sz;function TE(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}TE.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};function vz(e,t,n,i){let o=t.innerContents,r=t.pointsLength,s=t.trianglesLength,a=t.featuresLength,c=t.geometryByteLength,u=t.texturesByteLength,f=t.batchTableByteLength;if(i?(e.numberOfFeaturesLoaded+=n?-a:a,e.numberOfPointsLoaded+=n?-r:r,e.geometryByteLength+=n?-c:c,e.texturesByteLength+=n?-u:u,e.batchTableByteLength+=n?-f:f):(e.numberOfFeaturesSelected+=n?-a:a,e.numberOfPointsSelected+=n?-r:r,e.numberOfTrianglesSelected+=n?-s:s),l(o)){let d=o.length;for(let p=0;p<d;++p)vz(e,o[p],n,i)}}TE.prototype.incrementSelectionCounts=function(e){vz(this,e,!1,!1)};TE.prototype.incrementLoadCounts=function(e){vz(this,e,!1,!0)};TE.prototype.decrementLoadCounts=function(e){vz(this,e,!0,!0)};TE.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.batchTableByteLength=e.batchTableByteLength};var v_=TE;function pL(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}Object.defineProperties(pL.prototype,{style:{get:function(){return this._style},set:function(e){e!==this._style&&(this._style=e,this._styleDirty=!0)}}});pL.prototype.makeDirty=function(){this._styleDirty=!0};pL.prototype.resetDirty=function(){this._styleDirty=!1};pL.prototype.applyStyle=function(e){if(!l(e.root)||l(this._style)&&!this._style._ready)return;let t=this._styleDirty;t&&++this._lastStyleTime;let n=this._lastStyleTime,i=e._statistics,o=t?e._selectedTiles:e._selectedTilesToStyle,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.lastStyleTime!==n){let c=a.content;a.lastStyleTime=n,c.applyStyle(this._style),i.numberOfFeaturesStyled+=c.featuresLength,++i.numberOfTilesStyled}}};var _L=pL;function bYe(e,t,n){let i=ai(t,"3DTILES_implicit_tiling")?t.extensions["3DTILES_implicit_tiling"]:t.implicitTiling;this.baseResource=e,this.geometricError=t.geometricError,this.metadataSchema=n;let o=t.boundingVolume;if(!l(o.box)&&!l(o.region)&&!ai(o,"3DTILES_bounding_volume_S2")&&!ai(o,"3DTILES_bounding_volume_cylinder"))throw new ce("Only box, region, 3DTILES_bounding_volume_S2, and 3DTILES_bounding_volume_cylinder are supported for implicit tiling");this.boundingVolume=o,this.refine=t.refine,this.subtreeUriTemplate=new we({url:i.subtrees.uri}),this.contentUriTemplates=[],this.contentHeaders=[];let r=TYe(t);for(let s=0;s<r.length;s++){let a=r[s];this.contentHeaders.push(He(a,!0));let c=new we({url:a.uri});this.contentUriTemplates.push(c)}this.contentCount=this.contentHeaders.length,this.tileHeader=CYe(t),this.subdivisionScheme=Jr[i.subdivisionScheme],this.branchingFactor=Jr.getBranchingFactor(this.subdivisionScheme),this.subtreeLevels=i.subtreeLevels,l(i.availableLevels)?this.availableLevels=i.availableLevels:this.availableLevels=i.maximumLevel+1}function TYe(e){if(ai(e,"3DTILES_multiple_contents")){let t=e.extensions["3DTILES_multiple_contents"];return l(t.contents)?t.contents:t.content}return l(e.contents)?e.contents:l(e.content)?[e.content]:[]}function CYe(e){let t=He(e,!0);return l(t.extensions)&&(delete t.extensions["3DTILES_implicit_tiling"],delete t.extensions["3DTILES_multiple_contents"],Object.keys(t.extensions).length===0&&delete t.extensions),delete t.implicitTiling,delete t.contents,delete t.content,t}var Ub=bYe;var gL={};function Pue(e){return e=(e^e<<8)&16711935,e=(e^e<<4)&252645135,e=(e^e<<2)&858993459,e=(e^e<<1)&1431655765,e}function qj(e){return e=(e^e<<16)&50331903,e=(e^e<<8)&50393103,e=(e^e<<4)&51130563,e=(e^e<<2)&153391689,e}function Rue(e){return e&=1431655765,e=(e^e>>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function Yj(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}gL.encode2D=function(e,t){return(Pue(e)|Pue(t)<<1)>>>0};gL.decode2D=function(e,t){return l(t)||(t=new Array(2)),t[0]=Rue(e),t[1]=Rue(e>>1),t};gL.encode3D=function(e,t,n){return qj(e)|qj(t)<<1|qj(n)<<2};gL.decode3D=function(e,t){return l(t)||(t=new Array(3)),t[0]=Yj(e),t[1]=Yj(e>>1),t[2]=Yj(e>>2),t};var Fy=gL;function jo(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===Jr.OCTREE&&(this.z=e.z)}Object.defineProperties(jo.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===Jr.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===Jr.OCTREE?Fy.encode3D(this.x,this.y,this.z):Fy.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===Jr.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});jo.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<<e.level)+e.x,i=(this.y<<e.level)+e.y;if(this.subdivisionScheme===Jr.OCTREE){let o=(this.z<<e.level)+e.z;return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};jo.prototype.getAncestorCoordinates=function(e){let t=1<<e,n=this.level-e,i=Math.floor(this.x/t),o=Math.floor(this.y/t);if(this.subdivisionScheme===Jr.OCTREE){let r=Math.floor(this.z/t);return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o,z:r})}return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o})};jo.prototype.getOffsetCoordinates=function(e){let t=e.level-this.level,n=1<<t,i=e.x%n,o=e.y%n;if(this.subdivisionScheme===Jr.OCTREE){let r=e.z%n;return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o,z:r})}return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o})};jo.prototype.getChildCoordinates=function(e){let t=this.level+1,n=2*this.x+e%2,i=2*this.y+Math.floor(e/2)%2;if(this.subdivisionScheme===Jr.OCTREE){let o=2*this.z+Math.floor(e/4)%2;return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new jo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};jo.prototype.getSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels)};jo.prototype.getParentSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels+this.subtreeLevels)};jo.prototype.isAncestor=function(e){let t=e.level-this.level;if(t<=0)return!1;let n=e.x>>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===Jr.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};jo.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===Jr.OCTREE?this.z===e.z:!0)};jo.prototype.isImplicitTilesetRoot=function(){return this.level===0};jo.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};jo.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};jo.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===Jr.OCTREE&&(e.z=this.z),e};var Oue=[0,0,0];jo.fromMortonIndex=function(e,t,n,i){let o;return e===Jr.OCTREE?(o=Fy.decode3D(i,Oue),new jo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Fy.decode2D(i,Oue),new jo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};jo.fromTileIndex=function(e,t,n){let i,o,r;return e===Jr.OCTREE?(i=Math.floor(P.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(P.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),jo.fromMortonIndex(e,t,i,r)};var zb=jo;function w_(){}w_.selectTiles=function(e,t){de.throwInstantiationError()};w_.sortChildrenByDistanceToCamera=function(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera};w_.canTraverse=function(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:e._screenSpaceError>e.tileset.memoryAdjustedScreenSpaceError};w_.selectTile=function(e,t){if(e.contentVisibility(t)===jt.OUTSIDE)return;e._wasSelectedLastFrame=!0;let{content:n,tileset:i}=e;n.featurePropertiesDirty?(n.featurePropertiesDirty=!1,e.lastStyleTime=0,i._selectedTilesToStyle.push(e)):e._selectedFrame<t.frameNumber-1&&(i._selectedTilesToStyle.push(e),e._wasSelectedLastFrame=!1),e._selectedFrame=t.frameNumber,i._selectedTiles.push(e)};w_.visitTile=function(e,t){++e.tileset._statistics.visited,e._visitedFrame=t.frameNumber};w_.touchTile=function(e,t){e._touchedFrame!==t.frameNumber&&(e.tileset._cache.touch(e),e._touchedFrame=t.frameNumber)};w_.loadTile=function(e,t){let{tileset:n}=e;if(e._requestedFrame===t.frameNumber||!e.hasUnloadedRenderableContent&&!e.contentExpired||!AYe(e,t))return;let i=t.camera.timeSinceMoved<n.foveatedTimeDelay;e.priorityDeferred&&i||(e._requestedFrame=t.frameNumber,n._requestedTiles.push(e))};function AYe(e,t){let{tileset:n}=e;if(!n._cullRequestsWhileMoving)return!0;let{positionWCDeltaMagnitude:i,positionWCDeltaMagnitudeLastFrame:o}=t.camera,r=i!==0?i:o,s=Math.max(e.boundingSphere.radius*2,1);return n.cullRequestsWhileMovingMultiplier*r/s<1}w_.updateTile=function(e,t){Mue(e,t),e.updateExpiration(),e._wasMinPriorityChild=!1,e._priorityHolder=e,vYe(e),e._shouldSelect=!1,e._finalResolution=!0};function Mue(e,t){if(e.updateVisibility(t),!e.isVisible)return;let n=e.children.length>0;if((e.hasTilesetContent||e.hasImplicitContent)&&n){let r=e.children[0];Mue(r,t),e._visible=r._visible;return}if(EYe(e,t)){e._visible=!1;return}let i=e.refine===Ho.REPLACE,o=e._optimChildrenWithinParent===Nf.USE_OPTIMIZATION;if(i&&o&&n&&!SYe(e,t)){++e.tileset._statistics.numberOfTilesCulledWithChildrenUnion,e._visible=!1;return}}function EYe(e,t){let{parent:n,tileset:i}=e;return!l(n)||n.hasTilesetContent||n.hasImplicitContent||n.refine!==Ho.ADD?!1:e.getScreenSpaceError(t,!0)<=i.memoryAdjustedScreenSpaceError}function SYe(e,t){let n=!1,i=e.children;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(t),n=n||r.isVisible}return n}function vYe(e){let t=e.tileset._minimumPriority,n=e.tileset._maximumPriority,i=e._priorityHolder;n.distance=Math.max(i._distanceToCamera,n.distance),t.distance=Math.min(i._distanceToCamera,t.distance),n.depth=Math.max(e._depth,n.depth),t.depth=Math.min(e._depth,t.depth),n.foveatedFactor=Math.max(i._foveatedFactor,n.foveatedFactor),t.foveatedFactor=Math.min(i._foveatedFactor,t.foveatedFactor),n.reverseScreenSpaceError=Math.max(e._priorityReverseScreenSpaceError,n.reverseScreenSpaceError),t.reverseScreenSpaceError=Math.min(e._priorityReverseScreenSpaceError,t.reverseScreenSpaceError)}var Zs=w_;function Lue(){}var yL={stack:new qc,stackMaximumLength:0};Lue.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0,e.hasMixedContent=!1;let n=!0,i=e.root;if(i.updateVisibility(t),!i.isVisible)return n;let{touchTile:o,visitTile:r}=Zs,s=yL.stack;for(s.push(i);s.length>0;){yL.stackMaximumLength=Math.max(yL.stackMaximumLength,s.length);let a=s.pop(),c=a.refine===Ho.ADD,u=a.refine===Ho.REPLACE,f=wYe(a);f&&DYe(a,s,t),(c||u&&!f)&&(IYe(e,a),o(a,t),PYe(a,t),a.hasRenderableContent&&!a.contentAvailable&&(n=!1)),r(a,t)}return yL.stack.trim(yL.stackMaximumLength),n};function wYe(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:(e.hasEmptyContent,!0)}function DYe(e,t,n){let{children:i}=e;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(n),r.isVisible&&t.push(r)}}function IYe(e,t){(t.hasUnloadedRenderableContent||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function PYe(e,t){e.contentAvailable&&e.contentVisibility(t)!==jt.OUTSIDE&&e.tileset._selectedTiles.push(e)}var xL=Lue;function Nue(){}var bL={stack:new qc,stackMaximumLength:0},TL={stack:new qc,stackMaximumLength:0};Nue.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(Zs.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;OYe(n,t),bL.stack.trim(bL.stackMaximumLength),TL.stack.trim(TL.stackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function Xj(e,t){e.contentAvailable&&Zs.selectTile(e,t)}function RYe(e,t,n){let i=e.refine===Ho.REPLACE,{tileset:o,children:r}=e,{updateTile:s,loadTile:a,touchTile:c}=Zs;for(let m=0;m<r.length;++m)s(r[m],n);r.sort(Zs.sortChildrenByDistanceToCamera);let u=i&&e.hasRenderableContent,f=!0,d=!1,p=-1,g=Number.MAX_VALUE;for(let m=0;m<r.length;++m){let x=r[m];if(x.isVisible?(t.push(x),x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),d=!0):(u||o.loadSiblings)&&(x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),a(x,n),c(x,n)),u){let b;x._inRequestVolume?x.hasRenderableContent?b=x.contentAvailable:b=MYe(x,n):b=!1,f=f&&b}}if(d||(f=!1),p!==-1&&i){let m=r[p];m._wasMinPriorityChild=!0;let x=(e._wasMinPriorityChild||e===o.root)&&g<=e._priorityHolder._foveatedFactor?e._priorityHolder:e;x._foveatedFactor=Math.min(m._foveatedFactor,x._foveatedFactor),x._distanceToCamera=Math.min(m._distanceToCamera,x._distanceToCamera);for(let b=0;b<r.length;++b)r[b]._priorityHolder=x}return f}function OYe(e,t){let{tileset:n}=e,{canTraverse:i,loadTile:o,visitTile:r,touchTile:s}=Zs,a=bL.stack;for(a.push(e);a.length>0;){bL.stackMaximumLength=Math.max(bL.stackMaximumLength,a.length);let c=a.pop(),u=c.parent,f=!l(u)||u._refines;c._refines=i(c)?RYe(c,a,t)&&f:!1;let d=!c._refines&&f;c.hasRenderableContent?c.refine===Ho.ADD?(Xj(c,t),o(c,t)):c.refine===Ho.REPLACE&&(o(c,t),d&&Xj(c,t)):(n._emptyTiles.push(c),o(c,t),d&&Xj(c,t)),r(c,t),s(c,t)}}function MYe(e,t){let{canTraverse:n,updateTile:i,loadTile:o,touchTile:r}=Zs,s=!0,a=TL.stack;for(a.push(e);a.length>0;){TL.stackMaximumLength=Math.max(TL.stackMaximumLength,a.length);let c=a.pop(),u=c.children,f=u.length,d=!c.hasRenderableContent&&n(c);if(!d&&!c.contentAvailable&&(s=!1),i(c,t),c.isVisible||(o(c,t),r(c,t)),d)for(let p=0;p<f;++p){let g=u[p];a.push(g)}}return e.hasEmptyContent||s}var CL=Nue;function Fue(){}var AL={stack:new qc,stackMaximumLength:0},EL={stack:new qc,stackMaximumLength:0},D_={stack:new qc,stackMaximumLength:0,ancestorStack:new qc,ancestorStackMaximumLength:0},LYe=2;Fue.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(Zs.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;UYe(n,t),zYe(n,t),AL.stack.trim(AL.stackMaximumLength),EL.stack.trim(EL.stackMaximumLength),D_.stack.trim(D_.stackMaximumLength),D_.ancestorStack.trim(D_.ancestorStackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function NYe(e,t){let{updateTile:n,touchTile:i,selectTile:o}=Zs,r=EL.stack;for(r.push(e);r.length>0;){EL.stackMaximumLength=Math.max(EL.stackMaximumLength,r.length);let a=r.pop().children;for(let c=0;c<a.length;++c){let u=a[c];u.isVisible&&(u.contentAvailable?(n(u,t),i(u,t),o(u,t)):u._depth-e._depth<LYe&&r.push(u))}}}function wz(e,t){let n=e.contentAvailable?e:e._ancestorWithContentAvailable;l(n)?n._shouldSelect=!0:NYe(e,t)}function FYe(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;let{parent:n}=e;if(!l(n))return;let i=!n.hasUnloadedRenderableContent||n._requestedFrame===t.frameNumber;e._ancestorWithContent=i?n:n._ancestorWithContent,e._ancestorWithContentAvailable=n.contentAvailable?n:n._ancestorWithContentAvailable}function BYe(e,t){let n=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||l(n)&&t._screenSpaceError<n._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>n._depth+e.skipLevels)}function kYe(e,t,n){let{tileset:i,children:o}=e,{updateTile:r,loadTile:s,touchTile:a}=Zs;for(let u=0;u<o.length;++u)r(o[u],n);o.sort(Zs.sortChildrenByDistanceToCamera);let c=!1;for(let u=0;u<o.length;++u){let f=o[u];f.isVisible?(t.push(f),c=!0):i.loadSiblings&&(s(f,n),a(f,n))}return c}function VYe(e,t){let{tileset:n}=e;return n.immediatelyLoadDesiredLevelOfDetail?!1:l(e._ancestorWithContent)?e._screenSpaceError===0?e.parent._screenSpaceError>t:e._screenSpaceError>t:!0}function UYe(e,t){let{tileset:n}=e,i=n.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(n.baseScreenSpaceError,n.memoryAdjustedScreenSpaceError),{canTraverse:o,loadTile:r,visitTile:s,touchTile:a}=Zs,c=AL.stack;for(c.push(e);c.length>0;){AL.stackMaximumLength=Math.max(AL.stackMaximumLength,c.length);let u=c.pop();FYe(u,t);let f=u.parent,d=!l(f)||f._refines;u._refines=o(u)?kYe(u,c,t)&&d:!1;let p=!u._refines&&d;u.hasRenderableContent?u.refine===Ho.ADD?(wz(u,t),r(u,t)):u.refine===Ho.REPLACE&&(VYe(u,i)?(r(u,t),p&&wz(u,t)):p?(wz(u,t),r(u,t)):BYe(n,u)&&r(u,t)):(n._emptyTiles.push(u),r(u,t),p&&wz(u,t)),s(u,t),a(u,t)}}function zYe(e,t){let{selectTile:n,canTraverse:i}=Zs,{stack:o,ancestorStack:r}=D_,s;for(o.push(e);o.length>0||r.length>0;){if(D_.stackMaximumLength=Math.max(D_.stackMaximumLength,o.length),D_.ancestorStackMaximumLength=Math.max(D_.ancestorStackMaximumLength,r.length),r.length>0){let u=r.peek();if(u._stackLength===o.length){r.pop(),u!==s&&(u._finalResolution=!1),n(u,t);continue}}let a=o.pop();if(!l(a))continue;let c=i(a);if(a._shouldSelect)if(a.refine===Ho.ADD)n(a,t);else{if(a._selectionDepth=r.length,a._selectionDepth>0&&(a.tileset.hasMixedContent=!0),s=a,!c){n(a,t);continue}r.push(a),a._stackLength=o.length}if(c){let u=a.children;for(let f=0;f<u.length;++f){let d=u[f];d.isVisible&&o.push(d)}}}}var SL=Fue;function tr(e){e=y(e,y.EMPTY_OBJECT),this._marsOptions=y(e.marsOptions,{}),this._url=void 0,this._basePath=void 0,this._root=void 0,this._resource=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._scaledGeometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._modelUpAxis=void 0,this._modelForwardAxis=void 0,this._cache=new hL,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._cullWithChildrenBounds=y(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new qc,this._maximumScreenSpaceError=y(e.maximumScreenSpaceError,16),this._memoryAdjustedScreenSpaceError=this._maximumScreenSpaceError,this._cacheBytes=y(e.cacheBytes,512*1024*1024);let t=y(e.maximumCacheOverflowBytes,512*1024*1024);this._maximumCacheOverflowBytes=t,this._styleEngine=new _L,this._styleApplied=!1,this._modelMatrix=l(e.modelMatrix)?F.clone(e.modelMatrix):F.clone(F.IDENTITY),this._addHeightCallbacks=[],this._statistics=new v_,this._statisticsLast=new v_,this._statisticsPerPass=new Array(Fo.NUMBER_OF_PASSES);for(let o=0;o<Fo.NUMBER_OF_PASSES;++o)this._statisticsPerPass[o]=new v_;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new mL(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=y(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=y(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=P.clamp(y(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=y(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._classificationType=e.classificationType,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._initialClippingPlanesOriginMatrix=F.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this._vectorClassificationOnly=y(e.vectorClassificationOnly,!1),this._vectorKeepDecodedPositions=y(e.vectorKeepDecodedPositions,!1),this.preloadWhenHidden=y(e.preloadWhenHidden,!1),this.preloadFlightDestinations=y(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=y(e.dynamicScreenSpaceError,!0),this.foveatedScreenSpaceError=y(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=y(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=y(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=y(e.foveatedInterpolationCallback,P.lerp),this.foveatedTimeDelay=y(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=y(e.dynamicScreenSpaceErrorDensity,2e-4),this.dynamicScreenSpaceErrorFactor=y(e.dynamicScreenSpaceErrorFactor,24),this.dynamicScreenSpaceErrorHeightFalloff=y(e.dynamicScreenSpaceErrorHeightFalloff,.25),this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=y(e.shadows,bn.ENABLED),this.show=y(e.show,!0),this.colorBlendMode=Il.HIGHLIGHT,this.colorBlendAmount=.5,this._pointCloudShading=new dm(e.pointCloudShading),this._pointCloudEyeDomeLighting=new t_,this.loadProgress=new me,this.allTilesLoaded=new me,this.initialTilesLoaded=new me,this.tileLoad=new me,this.tileUnload=new me,this.tileFailed=new me,this.tileVisible=new me,this.skipLevelOfDetail=y(e.skipLevelOfDetail,!1),this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=y(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=y(e.skipScreenSpaceErrorFactor,16),this.skipLevels=y(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=y(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=y(e.loadSiblings,!1),this._clippingPlanes=void 0,l(e.clippingPlanes)&&ps.setOwner(e.clippingPlanes,this,"_clippingPlanes"),this._clippingPolygons=void 0,l(e.clippingPolygons)&&Wd.setOwner(e.clippingPolygons,this,"_clippingPolygons"),l(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new Wx,this._shouldDestroyImageBasedLighting=!0),this.lightColor=e.lightColor,this.backFaceCulling=y(e.backFaceCulling,!0),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,H.BLACK),this.splitDirection=y(e.splitDirection,Nr.NONE),this.enableCollision=y(e.enableCollision,!1),this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this.debugFreezeFrame=y(e.debugFreezeFrame,!1),this.debugColorizeTiles=y(e.debugColorizeTiles,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this.debugWireframe=y(e.debugWireframe,!1),this.debugWireframe===!0&&this._enableDebugWireframe===!1&&Tt("tileset-debug-wireframe-ignored","enableDebugWireframe must be set to true in the Cesium3DTileset constructor, otherwise debugWireframe will be ignored."),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=y(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=y(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=y(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=y(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=y(e.debugShowMemoryUsage,!1),this.debugShowUrl=y(e.debugShowUrl,!1),this.examineVectorLinesFunction=void 0,this._metadataExtension=void 0,this._customShader=e.customShader;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._initForMars3D&&this._initForMars3D(e)}Object.defineProperties(tr.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ps.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){Wd.setOwner(e,this,"_clippingPolygons")}},properties:{get:function(){return this._properties}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return fs("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},customShader:{get:function(){return this._customShader},set:function(e){this._customShader=e}},hasMixedContent:{get:function(){return this._hasMixedContent},set:function(e){this._hasMixedContent=e}},isSkippingLevelOfDetail:{get:function(){return this.skipLevelOfDetail&&!l(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){this._maximumScreenSpaceError=e,this._memoryAdjustedScreenSpaceError=e}},cacheBytes:{get:function(){return this._cacheBytes},set:function(e){this._cacheBytes=e}},maximumCacheOverflowBytes:{get:function(){return this._maximumCacheOverflowBytes},set:function(e){this._maximumCacheOverflowBytes=e}},memoryAdjustedScreenSpaceError:{get:function(){return this._memoryAdjustedScreenSpaceError}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){this._pointCloudShading=e}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return l(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(F.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):F.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e,Wue(this)}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),this._instanceFeatureIdLabel=e}}});tr.fromIonAssetId=async function(e,t){let n=await gu.fromAssetId(e);return tr.fromUrl(n,t)};tr.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=we.createIfNeeded(e),i;n.extension==="json"?i=n.getBaseUri(!0):n.isDataUri&&(i="");let o=await tr.loadJson(n),r=await HYe(n,o),s=new tr(t);s._resource=n,s._url=n.url,s._basePath=i,s._metadataExtension=r,s._geometricError=o.geometricError,s._scaledGeometricError=o.geometricError;let a=o.asset;s._asset=a,s._extras=o.extras,Wue(s);let c=l(o.asset.gltfUpAxis)?Oo.fromName(o.asset.gltfUpAxis):Oo.Y,u=y(t.modelUpAxis,c),f=y(t.modelForwardAxis,Oo.X);s._properties=o.properties,s._extensionsUsed=o.extensionsUsed,s._extensions=o.extensions,s._modelUpAxis=u,s._modelForwardAxis=f,s._root=s.loadTileset(n,o);let p=s._root.createBoundingVolume(o.root.boundingVolume,F.IDENTITY).boundingSphere.center,g=s._ellipsoid.cartesianToCartographic(p);return l(g)&&g.height>fi._defaultMinTerrainHeight&&(s._initialClippingPlanesOriginMatrix=Lt.eastNorthUpToFixedFrame(p)),s._clippingPlanesOriginMatrix=F.clone(s._initialClippingPlanesOriginMatrix),s};tr.loadJson=function(e){return we.createIfNeeded(e).fetchJson()};tr.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};tr.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!l(i))throw new ce("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new ce("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");l(t.extensionsRequired)&&tr.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;l(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=Bue(this,e,t.root,n);l(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===Ho.ADD;let u=c._header.children;if(l(u))for(let f=0;f<u.length;++f){let d=u[f],p=Bue(this,e,d,c);c.children.push(p),p._depth=c._depth+1,a.push(p)}this._cullWithChildrenBounds&&uL.checkChildrenWithinParent(c)}return s};function Bue(e,t,n,i){if(!(l(n.implicitTiling)||ai(n,"3DTILES_implicit_tiling")))return new zf(e,t,n,i);let r=e.schema,s=new Ub(t,n,r),a=new zb({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:0,x:0,y:0,z:0}),c=s.subtreeUriTemplate.getDerivedResource({templateValues:a.getTemplateValues()}).url,f=He(n,!0);f.contents=[{uri:c}],delete f.content,delete f.extensions;let d=new zf(e,t,f,i);return d.implicitTileset=s,d.implicitCoordinates=a,d}async function HYe(e,t){let n=ai(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t,i;if(l(n.schemaUri))e=e.getDerivedResource({url:n.schemaUri}),i=Si.getSchemaLoader({resource:e});else if(l(n.schema))i=Si.getSchemaLoader({schema:n.schema});else return;await i.load();let o=new kb({schema:i.schema,metadataJson:n});return Si.unload(i),o}var kue=new h,GYe=new fe,WYe=new F,jYe=new h,qYe=new h,YYe=new h,XYe=new h;function KYe(e,t){let n,i,o,r,s,a=t.camera,c=e._root,u=c.contentBoundingVolume;if(u instanceof Vf)n=h.normalize(a.positionWC,kue),i=a.directionWC,o=a.positionCartographic.height,r=u.minimumHeight,s=u.maximumHeight;else{let x=F.inverseTransformation(c.computedTransform,WYe),b=t.mapProjection.ellipsoid,T=u.boundingVolume,A=F.multiplyByPoint(x,T.center,jYe);if(h.magnitude(A)>b.minimumRadius){let C=fe.fromCartesian(A,b,GYe);n=h.normalize(a.positionWC,kue),i=a.directionWC,o=a.positionCartographic.height,r=0,s=C.height*2}else{let C=F.multiplyByPoint(x,a.positionWC,qYe);if(n=h.UNIT_Z,i=F.multiplyByPointAsVector(x,a.directionWC,YYe),i=h.normalize(i,i),o=C.z,u instanceof Du){let E=$.getColumn(T.halfAxes,2,XYe),v=h.magnitude(E);r=A.z-v,s=A.z+v}else if(u instanceof A_){let E=T.radius;r=A.z-E,s=A.z+E}}}let f=e.dynamicScreenSpaceErrorHeightFalloff,d=r+(s-r)*f,p=s,g=P.clamp((o-d)/(p-d),0,1),m=1-Math.abs(h.dot(i,n));m=m*(1-g),e._dynamicScreenSpaceErrorComputedDensity=e.dynamicScreenSpaceErrorDensity*m}function ZYe(e,t){if(t.hasEmptyContent)return;let{statistics:n}=e,i=t.contentExpired,o=t.requestContent();l(o)&&(o.then(r=>{!l(r)||t.isDestroyed()||e.isDestroyed()||(e._processingQueue.push(t),++n.numberOfTilesProcessing)}).catch(r=>{zue(r,e,t)}),i&&(t.hasTilesetContent||t.hasImplicitContent?uXe(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t))}function Uue(e,t){return e._priority-t._priority}tr.prototype.postPassesUpdate=function(e){l(this._root)&&($Ye(this,e),dXe(this,e),this._cache.unloadTiles(this,Gue),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};tr.prototype.prePassesUpdate=function(e){if(!l(this._root))return;oXe(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,l(t)&&t.enabled&&t.update(e);let n=this._clippingPolygons;l(n)&&n.enabled&&n.update(e),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time)),this._timeSinceLoad=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&KYe(this,e),e.newFrame&&this._cache.reset()};function $Ye(e,t){let n=e._requestedTilesInFlight,i=0;for(let o=0;o<n.length;++o){let r=n[o],s=t.frameNumber-r._touchedFrame>=1;if(r._contentState!==Wo.LOADING){++i;continue}else if(s){r.cancelRequests(),++i;continue}i>0&&(n[o-i]=r)}n.length-=i}function QYe(e){let t=e._requestedTiles;t.sort(Uue);for(let n=0;n<t.length;++n)ZYe(e,t[n])}function zue(e,t,n){if(t.isDestroyed())return;let i;n.isDestroyed()||(i=n._contentResource.url);let o=l(e.message)?e.message:e.toString();t.tileFailed.numberOfListeners>0?t.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`))}function JYe(e){let t=e._processingQueue,n=0;for(let i=0;i<t.length;++i){let o=t[i];if(o.isDestroyed()||o._contentState!==Wo.PROCESSING){++n;continue}n>0&&(t[i-n]=o)}t.length-=n}var eXe=new fe,tXe=new fe,nXe=new h;function iXe(e,t,n){if(!e.enableCollision||!e.show)return;let i=e._addHeightCallbacks,o=t.boundingSphere;for(let r of i){if(r.invoked||t._wasSelectedLastFrame)continue;let s=r.ellipsoid,a=fe.clone(r.positionCartographic,eXe),c=fe.fromCartesian(o.center,s,tXe);l(c)&&(a.height=c.height);let u=fe.toCartesian(a,s,nXe);h.distance(u,o.center)<=o.radius&&n.afterRender.push(()=>{l(r.callback)&&r.callback(a),r.invoked=!1})}}function oXe(e,t){JYe(e);let n=e._processingQueue,{cacheBytes:i,maximumCacheOverflowBytes:o,statistics:r}=e,s=i+o,a=!1;for(let c=0;c<n.length;++c){if(e.totalMemoryUsageInBytes>s){a=!0;break}let u=n[c];try{u.process(e,t),u.contentReady&&(--r.numberOfTilesProcessing,e.tileLoad.raiseEvent(u))}catch(f){--r.numberOfTilesProcessing,zue(f,e,u)}}e.totalMemoryUsageInBytes<i?sXe(e):a&&n.length>0&&rXe(e)}function rXe(e){e._memoryAdjustedScreenSpaceError*=1.02;let t=e._processingQueue;for(let n=0;n<t.length;++n)t[n].updatePriority();t.sort(Uue)}function sXe(e){e._memoryAdjustedScreenSpaceError=Math.max(e.memoryAdjustedScreenSpaceError/1.02,e.maximumScreenSpaceError)}var Dz=new h,aXe={maximumFractionDigits:3};function Vue(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,aXe):Math.round(t).toLocaleString()}function Kj(e){let{halfAxes:t,radius:n,center:i}=e.boundingVolume.boundingVolume,o=h.clone(i,Dz);if(l(t))o.x+=.75*(t[0]+t[3]+t[6]),o.y+=.75*(t[1]+t[4]+t[7]),o.z+=.75*(t[2]+t[5]+t[8]);else if(l(n)){let r=h.normalize(i,Dz);r=h.multiplyByScalar(r,.75*n,Dz),o=h.add(r,i,Dz)}return o}function Zj(e,t,n){let i="",o=0;if(t.debugShowGeometricError&&(i+=` -Geometric error: ${e.geometricError}`,o++),t.debugShowRenderingStatistics&&(i+=` -Commands: ${e.commandsLength}`,o++,e.content.pointsLength>0&&(i+=` -Points: ${e.content.pointsLength}`,o++),e.content.trianglesLength>0&&(i+=` -Triangles: ${e.content.trianglesLength}`,o++),i+=` -Features: ${e.content.featuresLength}`,o++),t.debugShowMemoryUsage&&(i+=` -Texture Memory: ${Vue(e.content.texturesByteLength)}`,i+=` -Geometry Memory: ${Vue(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=` -Urls:`;let s=e.content.innerContentUrls;for(let a=0;a<s.length;a++)i+=` -- ${s[a]}`;o+=s.length}else i+=` -Url: ${e._contentHeader.uri}`,o++;let r={text:i.substring(1),position:n,font:`${19-o}px sans-serif`,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function cXe(e,t){let n=e._selectedTiles,i=n.length,o=e._emptyTiles,r=o.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(l(e.debugPickedTile)){let s=l(e.debugPickPosition)?e.debugPickPosition:Kj(e.debugPickedTile),a=Zj(e.debugPickedTile,e,s);a.pixelOffset=new z(15,-15)}}else{for(let s=0;s<i;++s){let a=n[s];Zj(a,e,Kj(a))}for(let s=0;s<r;++s){let a=o[s];(a.hasTilesetContent||a.hasImplicitContent)&&Zj(a,e,Kj(a))}}e._tileDebugLabels.update(t)}function lXe(e,t,n){e._styleEngine.applyStyle(e),e._styleApplied=!0;let{commandList:i,context:o}=t,r=i.length,s=e._selectedTiles,a=e.isSkippingLevelOfDetail&&e._hasMixedContent&&o.stencilBuffer&&s.length>0;e._backfaceCommands.length=0,a&&(l(e._stencilClearCommand)||(e._stencilClearCommand=new oi({stencil:0,pass:Se.CESIUM_3D_TILE,renderState:Ve.fromCache({stencilMask:Vt.SKIP_LOD_MASK})})),i.push(e._stencilClearCommand));let{statistics:c,tileVisible:u}=e,f=n.isRender,d=i.length;for(let m=0;m<s.length;++m){let x=s[m];f&&u.raiseEvent(x),iXe(e,x,t),x.update(e,t,n),c.incrementSelectionCounts(x.content),++c.selected}let p=e._emptyTiles;for(let m=0;m<p.length;++m)p[m].update(e,t,n);let g=i.length-d;if(e._backfaceCommands.trim(),a){let m=e._backfaceCommands.values,x=m.length;i.length+=x;for(let b=g-1;b>=0;--b)i[d+x+b]=i[d+b];for(let b=0;b<x;++b)i[d+b]=m[b]}g=i.length-r,c.numberOfCommands=g,f&&(e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&g>0&&e._pointCloudEyeDomeLighting.update(t,r,e.pointCloudShading,e.boundingSphere),e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(l(e._tileDebugLabels)||(e._tileDebugLabels=new gm),cXe(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var Hue=[];function uXe(e,t){let n=t,i=Hue;for(i.push(t);i.length>0;){t=i.pop();let o=t.children;for(let r=0;r<o.length;++r)i.push(o[r]);t!==n&&(fXe(e,t),--e._statistics.numberOfTilesTotal)}n.children=[]}function Gue(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function fXe(e,t){e._cache.unloadTile(e,t,Gue),t.destroy()}tr.prototype.trimLoadedTiles=function(){this._cache.trim()};function dXe(e,t){let n=e._statistics,i=e._statisticsLast,o=n.numberOfPendingRequests,r=n.numberOfTilesProcessing,s=i.numberOfPendingRequests,a=i.numberOfTilesProcessing;v_.clone(n,i);let c=o!==s||r!==a;c&&t.afterRender.push(function(){return e.loadProgress.raiseEvent(o,r),!0}),e._tilesLoaded=n.numberOfPendingRequests===0&&n.numberOfTilesProcessing===0&&n.numberOfAttemptedRequests===0,c&&e._tilesLoaded&&(t.afterRender.push(function(){return e.allTilesLoaded.raiseEvent(),!0}),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push(function(){return e.initialTilesLoaded.raiseEvent(),!0})))}function hXe(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function mXe(e,t){t.frameNumber===e._updatedModelMatrixFrame&&l(e._previousModelMatrix)||(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!F.equals(e.modelMatrix,e._previousModelMatrix),e._modelMatrixChanged&&(e._previousModelMatrix=F.clone(e.modelMatrix,e._previousModelMatrix)))}function pXe(e,t,n,i){if(t.mode===ne.MORPHING||!l(e._root))return!1;let o=e._statistics;o.clear(),++e._updatedVisibilityFrame,hXe(e),mXe(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;let r=e.getTraversal(i).selectTiles(e,t);if(i.requestTiles&&QYe(e),lXe(e,t,i),v_.clone(o,n),i.isRender){let s=e._credits;if(l(s)&&o.selected!==0)for(let a=0;a<s.length;++a){let c=s[a];t.creditDisplay.addCreditToNextFrame(c)}}return r}function Wue(e){let t=e._credits;l(t)||(t=[]),t.length=0,l(e.resource.credits)&&e.resource.credits.forEach(i=>{t.push(wt.clone(i))});let n=e.asset.extras;if(l(n)&&l(n.cesium)&&l(n.cesium.credits)){let i=n.cesium.credits;for(let o=0;o<i.length;++o){let r=i[o];t.push(new wt(r.html))}}t.forEach(i=>i.showOnScreen=i.showOnScreen||e._showCreditsOnScreen),e._credits=t}tr.prototype.getTraversal=function(e){let{pass:t}=e;return t===Fo.MOST_DETAILED_PRELOAD||t===Fo.MOST_DETAILED_PICK?xL:this.isSkippingLevelOfDetail?SL:CL};tr.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};tr.prototype.updateForPass=function(e,t){let n=t.pass;if(n===Fo.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===Fo.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===Fo.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=Fo.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),u=c.length;e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r);let f=this._clippingPolygons;l(f)&&f.enabled&&f.queueCommands(e);let d=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=pXe(this,e,d,s)),a&&(c.length=u),e.commandList=i,e.camera=o,e.cullingVolume=r};tr.prototype.hasExtension=function(e){return l(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};tr.prototype.isDestroyed=function(){return!1};tr.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),l(this._root)){let e=Hue;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children;for(let i=0;i<n.length;++i)e.push(n[i])}}return this._root=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,ue(this)};tr.supportedExtensions={"3DTILES_metadata":!0,"3DTILES_implicit_tiling":!0,"3DTILES_content_gltf":!0,"3DTILES_multiple_contents":!0,"3DTILES_bounding_volume_S2":!0,"3DTILES_batch_table_hierarchy":!0,"3DTILES_draco_point_compression":!0,MAXAR_content_geojson:!0};tr.checkSupportedExtensions=function(e){for(let t=0;t<e.length;t++)if(!tr.supportedExtensions[e[t]])throw new ce(`Unsupported 3D Tiles Extension: ${e[t]}`)};var _Xe=new gn,gXe=new h,yXe=new fe;tr.prototype.getHeight=function(e,t){let n=t.ellipsoid;l(n)||(n=ee.WGS84);let i=_Xe,o=n.cartographicToCartesian(e,i.direction);h.normalize(i.direction,i.direction),i.direction=h.normalize(o,i.direction),i.direction=h.negate(o,i.direction),i.origin=h.multiplyByScalar(i.direction,-2*n.maximumRadius,i.origin);let r=this.pick(i,t.frameState,gXe);if(l(r))return n.cartesianToCartographic(r,yXe)?.height};tr.prototype.updateHeight=function(e,t,n){n=y(n,ee.WGS84);let i={positionCartographic:e,ellipsoid:n,callback:t,invoked:!1},o=()=>{let r=this._addHeightCallbacks,s=r.length;for(let a=0;a<s;++a)if(r[a]===i){r.splice(a,1);break}i.callback&&(i.callback=void 0)};return this._addHeightCallbacks.push(i),o};var xXe=new Ma,bXe=new h;tr.prototype.pick=function(e,t,n){if(!t.context.webgl2&&!this._enablePick)return;let i=this._selectedTiles,o=i.length,r=[];for(let c=0;c<o;++c){let u=i[c],f=ni.raySphere(e,u.contentBoundingVolume.boundingSphere,xXe);!l(f)||!l(u.content)||r.push(u)}let s=r.length;r.sort((c,u)=>{let f=ae.distanceSquaredTo(c.contentBoundingVolume.boundingSphere,e.origin),d=ae.distanceSquaredTo(u.contentBoundingVolume.boundingSphere,e.origin);return f-d});let a;for(let c=0;c<s;++c){let f=r[c].content.pick(e,t,bXe);if(l(f))return a=h.clone(f,n),a}};var pa=tr;var TXe=new F;function By(e,t){t.collectionChanged.addEventListener(By.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new St,this._onCollectionChanged(t,t.values,[],[])}By.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._tilesetHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._tileset,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;f&&(d=s.computeModelMatrix(e,TXe),c=we.createIfNeeded(q.getValueOrUndefined(a._uri,e)));let p=l(u)?u.tilesetPrimitive:void 0;if(!f){l(p)&&(p.show=!1);continue}(!l(u)||c.url!==u.url)&&(l(p)&&i.removeAndDestroy(p),delete n[s.id],CXe(c,n,s,i)),l(p)&&(p.show=!0,l(d)&&(p.modelMatrix=d),p.maximumScreenSpaceError=q.getValueOrDefault(a.maximumScreenSpaceError,e,p.maximumScreenSpaceError))}return!0};By.prototype.isDestroyed=function(){return!1};By.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(By.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._tilesetHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)$j(this,e[i],t,n);return ue(this)};By.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!l(n)||n.loadFail)return lt.FAILED;let i=n.tilesetPrimitive;return l(i)?i.show?(ae.clone(i.boundingSphere,t),lt.DONE):lt.FAILED:lt.PENDING};By.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._tileset)?s.set(r.id,r):($j(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],$j(this,r,a,c),s.remove(r.id)};function $j(e,t,n,i){let o=n[t.id];l(o)&&(l(o.tilesetPrimitive)&&i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}async function CXe(e,t,n,i){t[n.id]={url:e.url,loadFail:!1};try{let o=await pa.fromUrl(e);if(o.id=n,i.add(o),!l(t[n.id]))return;t[n.id].tilesetPrimitive=o}catch(o){console.error(o),t[n.id].loadFail=!0}}var vL=By;var AXe=H.WHITE,EXe=H.BLACK,SXe=new z(2,2);function CE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(CE.prototype,{isConstant:{get:function(){return q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:le("evenColor"),oddColor:le("oddColor"),repeat:le("repeat")});CE.prototype.getType=function(e){return"Checkerboard"};var vXe=new K;CE.prototype.getValue=function(e,t){return l(e)||(e=K.now(vXe)),l(t)||(t={}),t.lightColor=q.getValueOrClonedDefault(this._evenColor,e,AXe,t.lightColor),t.darkColor=q.getValueOrClonedDefault(this._oddColor,e,EXe,t.darkColor),t.repeat=q.getValueOrDefault(this._repeat,e,SXe),t};CE.prototype.equals=function(e){return this===e||e instanceof CE&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._repeat,e._repeat)};var AE=CE;var jue={id:void 0};function wL(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function gc(e){this._owner=e,this._entities=new St,this._addedEntities=new St,this._removedEntities=new St,this._changedEntities=new St,this._suspendCount=0,this._collectionChanged=new me,this._id=qn(),this._show=!0,this._firing=!1,this._refire=!1}gc.prototype.suspendEvents=function(){this._suspendCount++};gc.prototype.resumeEvents=function(){this._suspendCount--,wL(this)};Object.defineProperties(gc.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t<o;t++)n.push(i[t].isShowing);for(this._show=e,t=0;t<o;t++){let r=n[t],s=i[t];r!==s.isShowing&&s.definitionChanged.raiseEvent(s,"isShowing",s.isShowing,r)}this.resumeEvents()}},owner:{get:function(){return this._owner}}});gc.prototype.computeAvailability=function(){let e=Ue.MAXIMUM_VALUE,t=Ue.MINIMUM_VALUE,n=this._entities.values;for(let i=0,o=n.length;i<o;i++){let s=n[i].availability;if(l(s)){let a=s.start,c=s.stop;K.lessThan(a,e)&&!a.equals(Ue.MINIMUM_VALUE)&&(e=a),K.greaterThan(c,t)&&!c.equals(Ue.MAXIMUM_VALUE)&&(t=c)}}return Ue.MAXIMUM_VALUE.equals(e)&&(e=Ue.MINIMUM_VALUE),Ue.MINIMUM_VALUE.equals(t)&&(t=Ue.MAXIMUM_VALUE),new Sn({start:e,stop:t})};gc.prototype.add=function(e){e instanceof Qo||(e=new Qo(e));let t=e.id,n=this._entities;if(n.contains(t))throw new de(`An entity with id ${t} already exists in this collection.`);return e.entityCollection=this,n.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(gc.prototype._onEntityDefinitionChanged,this),wL(this),e};gc.prototype.remove=function(e){return l(e)?this.removeById(e.id):!1};gc.prototype.contains=function(e){return this._entities.get(e.id)===e};gc.prototype.removeById=function(e){if(!l(e))return!1;let n=this._entities.get(e);return this._entities.remove(e)?(this._addedEntities.remove(e)||(this._removedEntities.set(e,n),this._changedEntities.remove(e)),this._entities.remove(e),n.definitionChanged.removeEventListener(gc.prototype._onEntityDefinitionChanged,this),wL(this),!0):!1};gc.prototype.removeAll=function(){let e=this._entities,t=e.length,n=e.values,i=this._addedEntities,o=this._removedEntities;for(let r=0;r<t;r++){let s=n[r],a=s.id,c=i.get(a);l(c)||(s.definitionChanged.removeEventListener(gc.prototype._onEntityDefinitionChanged,this),o.set(a,s))}e.removeAll(),i.removeAll(),this._changedEntities.removeAll(),wL(this)};gc.prototype.getById=function(e){return this._entities.get(e)};gc.prototype.getOrCreateEntity=function(e){let t=this._entities.get(e);return l(t)||(jue.id=e,t=new Qo(jue),this.add(t)),t};gc.prototype._onEntityDefinitionChanged=function(e){let t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),wL(this)};var $s=gc;var Iz={id:void 0},EE=new Array(2);function Qj(e){let t=e.propertyNames,n=t.length;for(let i=0;i<n;i++)e[t[i]]=void 0;e._name=void 0,e._availability=void 0}function que(e,t,n,i){EE[0]=n,EE[1]=i.id,t[JSON.stringify(EE)]=i.definitionChanged.addEventListener(Ur.prototype._onDefinitionChanged,e)}function Yue(e,t,n,i){EE[0]=n,EE[1]=i.id;let o=JSON.stringify(EE);t[o](),t[o]=void 0}function ky(e){if(e._shouldRecomposite=!0,e._suspendCount!==0)return;let t=e._collections,n=t.length,i=e._collectionsCopy,o=i.length,r,s,a,c,u,f=e._composite,d=new $s(e),p=e._eventHash,g;for(r=0;r<o;r++)for(u=i[r],u.collectionChanged.removeEventListener(Ur.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--)s=a[c],Yue(e,p,g,s);for(r=n-1;r>=0;r--)for(u=t[r],u.collectionChanged.addEventListener(Ur.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--){s=a[c],que(e,p,g,s);let x=d.getById(s.id);l(x)||(x=f.getById(s.id),l(x)?Qj(x):(Iz.id=s.id,x=new Qo(Iz)),d.add(x)),x.merge(s)}e._collectionsCopy=t.slice(0),f.suspendEvents(),f.removeAll();let m=d.values;for(r=0;r<m.length;r++)f.add(m[r]);f.resumeEvents()}function Ur(e,t){this._owner=t,this._composite=new $s(this),this._suspendCount=0,this._collections=l(e)?e.slice():[],this._collectionsCopy=[],this._id=qn(),this._eventHash={},ky(this),this._shouldRecomposite=!1}Object.defineProperties(Ur.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}});Ur.prototype.addCollection=function(e,t){l(t)?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),ky(this)};Ur.prototype.removeCollection=function(e){let t=this._collections.indexOf(e);return t!==-1?(this._collections.splice(t,1),ky(this),!0):!1};Ur.prototype.removeAllCollections=function(){this._collections.length=0,ky(this)};Ur.prototype.containsCollection=function(e){return this._collections.indexOf(e)!==-1};Ur.prototype.contains=function(e){return this._composite.contains(e)};Ur.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)};Ur.prototype.getCollection=function(e){return this._collections[e]};Ur.prototype.getCollectionsLength=function(){return this._collections.length};function Pz(e,t){return e.indexOf(t)}function Xue(e,t,n){let i=e._collections;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,ky(e)}Ur.prototype.raiseCollection=function(e){let t=Pz(this._collections,e);Xue(this,t,t+1)};Ur.prototype.lowerCollection=function(e){let t=Pz(this._collections,e);Xue(this,t,t-1)};Ur.prototype.raiseCollectionToTop=function(e){let t=Pz(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),ky(this))};Ur.prototype.lowerCollectionToBottom=function(e){let t=Pz(this._collections,e);t!==0&&(this._collections.splice(t,1),this._collections.splice(0,0,e),ky(this))};Ur.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()};Ur.prototype.resumeEvents=function(){this._suspendCount--,this._shouldRecomposite&&this._suspendCount===0&&(ky(this),this._shouldRecomposite=!1),this._composite.resumeEvents()};Ur.prototype.computeAvailability=function(){return this._composite.computeAvailability()};Ur.prototype.getById=function(e){return this._composite.getById(e)};Ur.prototype._onCollectionChanged=function(e,t,n){let i=this._collectionsCopy,o=i.length,r=this._composite;r.suspendEvents();let s,a,c,u,f=n.length,d=this._eventHash,p=e.id;for(s=0;s<f;s++){let m=n[s];Yue(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),Qj(u)),u.merge(c));l(u)||r.removeById(x),u=void 0}let g=t.length;for(s=0;s<g;s++){let m=t[s];que(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),l(u)?Qj(u):(Iz.id=x,u=new Qo(Iz),r.add(u))),u.merge(c));u=void 0}r.resumeEvents()};Ur.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),u=c[t],f=!l(u),d=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(l(g)){let m=g[t];if(l(m)){if(d)if(d=!1,l(m.merge)&&l(m.clone))u=m.clone(u);else{u=m;break}u.merge(m)}}}f&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=u};var Jj=Ur;function e7(){this._removalFunctions=[]}e7.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};e7.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t<n;++t)e[t]();e.length=0};var zr=e7;function i7(e,t){return K.compare(e.start,t.start)}function Hr(e){if(this._intervals=[],this._changedEvent=new me,l(e)){let t=e.length;for(let n=0;n<t;n++)this.addInterval(e[n])}}Object.defineProperties(Hr.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){let e=this._intervals;return e.length===0?void 0:e[0].start}},isStartIncluded:{get:function(){let e=this._intervals;return e.length===0?!1:e[0].isStartIncluded}},stop:{get:function(){let e=this._intervals,t=e.length;return t===0?void 0:e[t-1].stop}},isStopIncluded:{get:function(){let e=this._intervals,t=e.length;return t===0?!1:e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return this._intervals.length===0}}});Hr.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof Hr))return!1;let n=this._intervals,i=e._intervals,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;r++)if(!Sn.equals(n[r],i[r],t))return!1;return!0};Hr.prototype.get=function(e){return this._intervals[e]};Hr.prototype.removeAll=function(){this._intervals.length>0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};Hr.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};Hr.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};Hr.prototype.contains=function(e){return this.indexOf(e)>=0};var t7=new Sn;Hr.prototype.indexOf=function(e){let t=this._intervals;t7.start=e,t7.stop=e;let n=Po(t,t7,i7);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-1<t.length&&Sn.contains(t[n-1],e)?n-1:~n)};Hr.prototype.findInterval=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.start,n=e.stop,i=e.isStartIncluded,o=e.isStopIncluded,r=this._intervals;for(let s=0,a=r.length;s<a;s++){let c=r[s];if((!l(t)||c.start.equals(t))&&(!l(n)||c.stop.equals(n))&&(!l(i)||c.isStartIncluded===i)&&(!l(o)||c.isStopIncluded===o))return r[s]}};Hr.prototype.addInterval=function(e,t){if(e.isEmpty)return;let n=this._intervals;if(n.length===0||K.greaterThan(e.start,n[n.length-1].stop)){n.push(e),this._changedEvent.raiseEvent(this);return}let i=Po(n,e,i7);i<0?i=~i:i>0&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i<n.length&&!e.isStartIncluded&&n[i].isStartIncluded&&n[i].start.equals(e.start)&&++i;let o;for(i>0&&(o=K.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((l(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?(K.greaterThan(e.stop,n[i-1].stop)?e=new Sn({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new Sn({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=K.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new Sn({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new Sn({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i<n.length&&(o=K.compare(e.stop,n[i].start),o>0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(l(t)?t(n[i].data,e.data):n[i].data===e.data)e=new Sn({start:e.start,stop:K.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:K.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new Sn({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};Hr.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=Po(t,e,i7);n<0&&(n=~n);let i=!1;for(n>0&&(K.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(K.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new Sn({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new Sn({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n<t.length&&!e.isStartIncluded&&t[n].isStartIncluded&&e.start.equals(t[n].start)&&(i=!0,t.splice(n,0,new Sn({start:t[n].start,stop:t[n].start,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data})),++n);n<t.length&&K.greaterThan(e.stop,t[n].stop);)i=!0,t.splice(n,1);return n<t.length&&e.stop.equals(t[n].stop)&&(i=!0,!e.isStopIncluded&&t[n].isStopIncluded?n+1<t.length&&t[n+1].start.equals(e.stop)&&t[n].data===t[n+1].data?(t.splice(n,1),t[n]=new Sn({start:t[n].start,stop:t[n].stop,isStartIncluded:!0,isStopIncluded:t[n].isStopIncluded,data:t[n].data})):t[n]=new Sn({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data}):t.splice(n,1)),n<t.length&&(K.greaterThan(e.stop,t[n].start)||e.stop.equals(t[n].start)&&e.isStopIncluded&&t[n].isStartIncluded)&&(i=!0,t[n]=new Sn({start:e.stop,stop:t[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n].isStopIncluded,data:t[n].data})),i&&this._changedEvent.raiseEvent(this),i};Hr.prototype.intersect=function(e,t,n){let i=new Hr,o=0,r=0,s=this._intervals,a=e._intervals;for(;o<s.length&&r<a.length;){let c=s[o],u=a[r];if(K.lessThan(c.stop,u.start))++o;else if(K.lessThan(u.stop,c.start))++r;else{if(l(n)||l(t)&&t(c.data,u.data)||!l(t)&&u.data===c.data){let f=Sn.intersect(c,u,new Sn,n);f.isEmpty||i.addInterval(f,t)}K.lessThan(c.stop,u.stop)||c.stop.equals(u.stop)&&!c.isStopIncluded&&u.isStopIncluded?++o:++r}}return i};Hr.fromJulianDateArray=function(e,t){l(t)||(t=new Hr);let n=e.julianDates,i=n.length,o=e.dataCallback,r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=y(e.leadingInterval,!1),c=y(e.trailingInterval,!1),u,f=0;a&&(++f,u=new Sn({start:Ue.MINIMUM_VALUE,stop:n[0],isStartIncluded:!0,isStopIncluded:!r}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u));for(let d=0;d<i-1;++d){let p=n[d],g=n[d+1];u=new Sn({start:p,stop:g,isStartIncluded:t.length===f?r:!0,isStopIncluded:d===i-2?s:!1}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u),p=g}return c&&(u=new Sn({start:n[i-1],stop:Ue.MAXIMUM_VALUE,isStartIncluded:!s,isStopIncluded:!0}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u)),t};var yc=new pp,DL=[0,31,28,31,30,31,30,31,31,30,31,30,31];function n7(e,t,n){l(n)||(n=new K),K.toGregorianDate(e,yc);let i=yc.millisecond+t.millisecond,o=yc.second+t.second,r=yc.minute+t.minute,s=yc.hour+t.hour,a=yc.day+t.day,c=yc.month+t.month,u=yc.year+t.year;for(i>=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),DL[2]=yd(u)?29:28;a>DL[c]||c>=13;)a>DL[c]&&(a-=DL[c],++c),c>=13&&(--c,u+=Math.floor(c/12),c=c%12,++c),DL[2]=yd(u)?29:28;return yc.millisecond=i,yc.second=o,yc.minute=r,yc.hour=s,yc.day=a,yc.month=c,yc.year=u,K.fromGregorianDate(yc,n)}var wXe=new K,DXe=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function Kue(e,t){if(!l(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match(DXe);if(!l(n))return!1;if(l(n[1])&&(t.year=Number(n[1].replace(",","."))),l(n[2])&&(t.month=Number(n[2].replace(",","."))),l(n[3])&&(t.day=Number(n[3].replace(",","."))*7),l(n[4])&&(t.day+=Number(n[4].replace(",","."))),l(n[5])&&(t.hour=Number(n[5].replace(",","."))),l(n[6])&&(t.minute=Number(n[6].replace(",","."))),l(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),K.toGregorianDate(K.fromIso8601(e,wXe),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var IL=new pp;Hr.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=[];if(!Kue(n[2],IL))r.push(i,o);else{let s=K.clone(i);for(r.push(s);K.compare(s,o)<0;)s=n7(s,IL),K.compare(o,s)<=0&&K.clone(o,s),r.push(s)}return Hr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Hr.fromIso8601DateArray=function(e,t){return Hr.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return K.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Hr.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let u=0;u<c;++u)(Kue(i[u],IL)||u===0)&&(o&&l(a)?s=n7(a,IL):s=n7(n,IL),r.push(s),a=s);return Hr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var Gr=Hr;function IXe(e,t,n,i){function o(){n.raiseEvent(e)}let r=[];t.removeAll();let s=i.length;for(let a=0;a<s;a++){let c=i.get(a);l(c.data)&&r.indexOf(c.data)===-1&&t.add(c.data.definitionChanged,o)}}function Hb(){this._eventHelper=new zr,this._definitionChanged=new me,this._intervals=new Gr,this._intervals.changedEvent.addEventListener(Hb.prototype._intervalsChanged,this)}Object.defineProperties(Hb.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var PXe=new K;Hb.prototype.getValue=function(e,t){l(e)||(e=K.now(PXe));let n=this._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};Hb.prototype.equals=function(e){return this===e||e instanceof Hb&&this._intervals.equals(e._intervals,q.equals)};Hb.prototype._intervalsChanged=function(){IXe(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)};var xc=Hb;function Vy(){this._definitionChanged=new me,this._composite=new xc,this._composite.definitionChanged.addEventListener(Vy.prototype._raiseDefinitionChanged,this)}Object.defineProperties(Vy.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});Vy.prototype.getType=function(e){let t=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(t))return t.getType(e)};var RXe=new K;Vy.prototype.getValue=function(e,t){l(e)||(e=K.now(RXe));let n=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};Vy.prototype.equals=function(e){return this===e||e instanceof Vy&&this._composite.equals(e._composite,q.equals)};Vy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var SE=Vy;function Uy(e){this._referenceFrame=y(e,Hi.FIXED),this._definitionChanged=new me,this._composite=new xc,this._composite.definitionChanged.addEventListener(Uy.prototype._raiseDefinitionChanged,this)}Object.defineProperties(Uy.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}});var OXe=new K;Uy.prototype.getValue=function(e,t){return l(e)||(e=K.now(OXe)),this.getValueInReferenceFrame(e,Hi.FIXED,t)};Uy.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(i))return i.getValueInReferenceFrame(e,t,n)};Uy.prototype.equals=function(e){return this===e||e instanceof Uy&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,q.equals)};Uy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var _a=Uy;var MXe={ROUNDED:0,MITERED:1,BEVELED:2},Mi=Object.freeze(MXe);var ga=[new h,new h],LXe=new h,NXe=new h,FXe=new h,BXe=new h,kXe=new h,VXe=new h,UXe=new h,zXe=new h,HXe=new h,vE=new h,Rz=new h,PL={},o7=new fe;function GXe(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++){let o=e[i];o7=t.cartesianToCartographic(o,o7),n[i]=o7.height,e[i]=t.scaleToGeodeticSurface(o,o)}return n}function r7(e,t,n,i){let o=e[0],r=e[1],s=h.angleBetween(o,r),a=Math.ceil(s/i),c=new Array(a),u;if(t===n){for(u=0;u<a;u++)c[u]=t;return c.push(n),c}let d=(n-t)/a;for(u=1;u<a;u++){let p=t+u*d;c[u]=p}return c[0]=t,c.push(n),c}var Oz=new h,Mz=new h;function WXe(e,t,n,i){let o=new Zr(n,i),r=o.projectPointOntoPlane(h.add(n,e,Oz),Oz),s=o.projectPointOntoPlane(h.add(n,t,Mz),Mz),a=z.angleBetween(r,s);return s.x*r.y-s.y*r.x>=0?-a:a}var jXe=new h(-1,0,0),Gb=new F,qXe=new F,s7=new $,YXe=$.IDENTITY.clone(),XXe=new h,KXe=new oe,Zue=new h;function I_(e,t,n,i,o,r,s,a){let c=XXe,u=KXe;Gb=Lt.eastNorthUpToFixedFrame(e,o,Gb),c=F.multiplyByPointAsVector(Gb,jXe,c),c=h.normalize(c,c);let f=WXe(c,t,e,o);s7=$.fromRotationZ(f,s7),Zue.z=r,Gb=F.multiplyTransformation(Gb,F.fromRotationTranslation(s7,Zue,qXe),Gb);let d=YXe;d[0]=s;for(let p=0;p<a;p++)for(let g=0;g<n.length;g+=3)u=h.fromArray(n,g,u),u=$.multiplyByVector(d,u,u),u=F.multiplyByPoint(Gb,u,u),i.push(u.x,u.y,u.z);return i}var ZXe=new h;function a7(e,t,n,i,o,r,s){for(let a=0;a<e.length;a+=3){let c=h.fromArray(e,a,ZXe);i=I_(c,t,n,i,o,r[a/3],s,1)}return i}function $Xe(e,t){let n=e.length,i=new Array(n*6),o=0,r=t.x+t.width/2,s=t.y+t.height/2,a=e[0];i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s;for(let c=1;c<n;c++){a=e[c];let u=a.x-r,f=a.y-s;i[o++]=u,i[o++]=0,i[o++]=f,i[o++]=u,i[o++]=0,i[o++]=f}return a=e[0],i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s,i}function $ue(e,t){let n=e.length,i=new Array(n*3),o=0,r=t.x+t.width/2,s=t.y+t.height/2;for(let a=0;a<n;a++)i[o++]=e[a].x-r,i[o++]=0,i[o++]=e[a].y-s;return i}var Que=new Le,Jue=new h,efe=new $;function tfe(e,t,n,i,o,r,s,a,c,u){let f=h.angleBetween(h.subtract(t,e,vE),h.subtract(n,e,Rz)),d=i===Mi.BEVELED?0:Math.ceil(f/P.toRadians(5)),p;o?p=$.fromQuaternion(Le.fromAxisAngle(h.negate(e,vE),f/(d+1),Que),efe):p=$.fromQuaternion(Le.fromAxisAngle(e,f/(d+1),Que),efe);let g,m;if(t=h.clone(t,Jue),d>0){let x=u?2:1;for(let b=0;b<d;b++)t=$.multiplyByVector(p,t,t),g=h.subtract(t,e,vE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,Rz),s=I_(m,g,a,s,r,c,1,x)}else g=h.subtract(t,e,vE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,Rz),s=I_(m,g,a,s,r,c,1,1),n=h.clone(n,Jue),g=h.subtract(n,e,vE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(n,Rz),s=I_(m,g,a,s,r,c,1,1);return s}PL.removeDuplicatesFromShape=function(e){let t=e.length,n=[];for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];z.equals(r,s)||n.push(s)}return n};PL.angleIsGreaterThanPi=function(e,t,n,i){let o=new Zr(n,i),r=o.projectPointOntoPlane(h.add(n,e,Oz),Oz),s=o.projectPointOntoPlane(h.add(n,t,Mz),Mz);return s.x*r.y-s.y*r.x>=0};var QXe=new h,JXe=new h;PL.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=GXe(e,r),a=i._granularity,c=i._cornerType,u=o?$Xe(t,n):$ue(t,n),f=o?$ue(t,n):void 0,d=n.height/2,p=n.width/2,g=e.length,m=[],x=o?[]:void 0,b=LXe,T=NXe,A=FXe,C=BXe,E=kXe,v=VXe,D=UXe,O=zXe,R=HXe,M=e[0],N=e[1];C=r.geodeticSurfaceNormal(M,C),b=h.subtract(N,M,b),b=h.normalize(b,b),O=h.cross(C,b,O),O=h.normalize(O,O);let _=s[0],S=s[1];o&&(x=I_(M,O,f,x,r,_+d,1,1)),R=h.clone(M,R),M=N,T=h.negate(b,T);let w,I;for(let U=1;U<g-1;U++){let V=o?2:1;if(N=e[U+1],M.equals(N)){Tt("Positions are too close and are considered equivalent with rounding error.");continue}b=h.subtract(N,M,b),b=h.normalize(b,b),A=h.add(b,T,A),A=h.normalize(A,A),C=r.geodeticSurfaceNormal(M,C);let G=h.multiplyByScalar(C,h.dot(b,C),QXe);h.subtract(b,G,G),h.normalize(G,G);let k=h.multiplyByScalar(C,h.dot(T,C),JXe);if(h.subtract(T,k,k),h.normalize(k,k),!P.equalsEpsilon(Math.abs(h.dot(G,k)),1,P.EPSILON7)){A=h.cross(A,C,A),A=h.cross(C,A,A),A=h.normalize(A,A);let W=1/Math.max(.25,h.magnitude(h.cross(A,T,vE))),Q=PL.angleIsGreaterThanPi(b,T,M,r);Q?(E=h.add(M,h.multiplyByScalar(A,W*p,A),E),v=h.add(E,h.multiplyByScalar(O,p,v),v),ga[0]=h.clone(R,ga[0]),ga[1]=h.clone(v,ga[1]),w=r7(ga,_+d,S+d,a),I=Oi.generateArc({positions:ga,granularity:a,ellipsoid:r}),m=a7(I,O,u,m,r,w,1),O=h.cross(C,b,O),O=h.normalize(O,O),D=h.add(E,h.multiplyByScalar(O,p,D),D),c===Mi.ROUNDED||c===Mi.BEVELED?tfe(E,v,D,c,Q,r,m,u,S+d,o):(A=h.negate(A,A),m=I_(M,A,u,m,r,S+d,W,V)),R=h.clone(D,R)):(E=h.add(M,h.multiplyByScalar(A,W*p,A),E),v=h.add(E,h.multiplyByScalar(O,-p,v),v),ga[0]=h.clone(R,ga[0]),ga[1]=h.clone(v,ga[1]),w=r7(ga,_+d,S+d,a),I=Oi.generateArc({positions:ga,granularity:a,ellipsoid:r}),m=a7(I,O,u,m,r,w,1),O=h.cross(C,b,O),O=h.normalize(O,O),D=h.add(E,h.multiplyByScalar(O,-p,D),D),c===Mi.ROUNDED||c===Mi.BEVELED?tfe(E,v,D,c,Q,r,m,u,S+d,o):m=I_(M,A,u,m,r,S+d,W,V),R=h.clone(D,R)),T=h.negate(b,T)}else m=I_(R,O,u,m,r,_+d,1,1),R=M;_=S,S=s[U+1],M=N}ga[0]=h.clone(R,ga[0]),ga[1]=h.clone(M,ga[1]),w=r7(ga,_+d,S+d,a),I=Oi.generateArc({positions:ga,granularity:a,ellipsoid:r}),m=a7(I,O,u,m,r,w,1),o&&(x=I_(M,O,f,x,r,S+d,1,1)),g=m.length;let L=o?g+x.length:g,B=new Float64Array(L);return B.set(m),o&&B.set(x,g),B};var ih=PL;var l7={},wE=new h,sfe=new h,eKe=new h,nfe=new h,Jc=[new h,new h],afe=new h,cfe=new h,lfe=new h,tKe=new h,nKe=new h,iKe=new h,oKe=new h,rKe=new h,sKe=new h,aKe=new h,ife=new Le,ofe=new $;function Lz(e,t,n,i,o){let r=h.angleBetween(h.subtract(t,e,wE),h.subtract(n,e,sfe)),s=i===Mi.BEVELED?1:Math.ceil(r/P.toRadians(5))+1,a=s*3,c=new Array(a);c[a-3]=n.x,c[a-2]=n.y,c[a-1]=n.z;let u;o?u=$.fromQuaternion(Le.fromAxisAngle(h.negate(e,wE),r/s,ife),ofe):u=$.fromQuaternion(Le.fromAxisAngle(e,r/s,ife),ofe);let f=0;t=h.clone(t,wE);for(let d=0;d<s;d++)t=$.multiplyByVector(u,t,t),c[f++]=t.x,c[f++]=t.y,c[f++]=t.z;return c}function cKe(e){let t=afe,n=cfe,i=lfe,o=e[1];n=h.fromArray(e[1],o.length-3,n),i=h.fromArray(e[0],0,i),t=h.midpoint(n,i,t);let r=Lz(t,n,i,Mi.ROUNDED,!1),s=e.length-1,a=e[s-1];o=e[s],n=h.fromArray(a,a.length-3,n),i=h.fromArray(o,0,i),t=h.midpoint(n,i,t);let c=Lz(t,n,i,Mi.ROUNDED,!1);return[r,c]}function rfe(e,t,n,i){let o=wE;return i?o=h.add(e,t,o):(t=h.negate(t,t),o=h.add(e,t,o)),[o.x,o.y,o.z,n.x,n.y,n.z]}function c7(e,t,n,i){let o=new Array(e.length),r=new Array(e.length),s=h.multiplyByScalar(t,n,wE),a=h.negate(s,sfe),c=0,u=e.length-1;for(let f=0;f<e.length;f+=3){let d=h.fromArray(e,f,eKe),p=h.add(d,a,nfe);o[c++]=p.x,o[c++]=p.y,o[c++]=p.z;let g=h.add(d,s,nfe);r[u--]=g.z,r[u--]=g.y,r[u--]=g.x}return i.push(o,r),i}l7.addAttribute=function(e,t,n,i){let o=t.x,r=t.y,s=t.z;l(n)&&(e[n]=o,e[n+1]=r,e[n+2]=s),l(i)&&(e[i]=s,e[i-1]=r,e[i-2]=o)};var lKe=new h,uKe=new h;l7.computePositions=function(e){let t=e.granularity,n=e.positions,i=e.ellipsoid,o=e.width/2,r=e.cornerType,s=e.saveAttributes,a=afe,c=cfe,u=lfe,f=tKe,d=nKe,p=iKe,g=oKe,m=rKe,x=sKe,b=aKe,T=[],A=s?[]:void 0,C=s?[]:void 0,E=n[0],v=n[1];c=h.normalize(h.subtract(v,E,c),c),a=i.geodeticSurfaceNormal(E,a),f=h.normalize(h.cross(a,c,f),f),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z)),g=h.clone(E,g),E=v,u=h.negate(c,u);let D,O=[],R,M=n.length;for(R=1;R<M-1;R++){a=i.geodeticSurfaceNormal(E,a),v=n[R+1],c=h.normalize(h.subtract(v,E,c),c),d=h.normalize(h.add(c,u,d),d);let _=h.multiplyByScalar(a,h.dot(c,a),lKe);h.subtract(c,_,_),h.normalize(_,_);let S=h.multiplyByScalar(a,h.dot(u,a),uKe);if(h.subtract(u,S,S),h.normalize(S,S),!P.equalsEpsilon(Math.abs(h.dot(_,S)),1,P.EPSILON7)){d=h.cross(d,a,d),d=h.cross(a,d,d),d=h.normalize(d,d);let I=o/Math.max(.25,h.magnitude(h.cross(d,u,wE))),L=ih.angleIsGreaterThanPi(c,u,E,i);d=h.multiplyByScalar(d,I,d),L?(m=h.add(E,d,m),b=h.add(m,h.multiplyByScalar(f,o,b),b),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),Jc[0]=h.clone(g,Jc[0]),Jc[1]=h.clone(b,Jc[1]),D=Oi.generateArc({positions:Jc,granularity:t,ellipsoid:i}),T=c7(D,f,o,T),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z)),p=h.clone(x,p),f=h.normalize(h.cross(a,c,f),f),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),g=h.add(m,h.multiplyByScalar(f,o,g),g),r===Mi.ROUNDED||r===Mi.BEVELED?O.push({leftPositions:Lz(m,p,x,r,L)}):O.push({leftPositions:rfe(E,h.negate(d,d),x,L)})):(x=h.add(E,d,x),b=h.add(x,h.negate(h.multiplyByScalar(f,o,b),b),b),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),Jc[0]=h.clone(g,Jc[0]),Jc[1]=h.clone(b,Jc[1]),D=Oi.generateArc({positions:Jc,granularity:t,ellipsoid:i}),T=c7(D,f,o,T),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z)),p=h.clone(m,p),f=h.normalize(h.cross(a,c,f),f),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),g=h.add(x,h.negate(h.multiplyByScalar(f,o,g),g),g),r===Mi.ROUNDED||r===Mi.BEVELED?O.push({rightPositions:Lz(x,p,m,r,L)}):O.push({rightPositions:rfe(E,d,m,L)})),u=h.negate(c,u)}E=v}a=i.geodeticSurfaceNormal(E,a),Jc[0]=h.clone(g,Jc[0]),Jc[1]=h.clone(E,Jc[1]),D=Oi.generateArc({positions:Jc,granularity:t,ellipsoid:i}),T=c7(D,f,o,T),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z));let N;return r===Mi.ROUNDED&&(N=cKe(T)),{positions:T,corners:O,lefts:A,normals:C,endPositions:N}};var ji=l7;var dfe=new h,hfe=new h,Nz=new h,Fz=new h,fKe=new h,mfe=new h,zy=new h,DE=new h;function pfe(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function oh(e,t,n,i,o,r){let s=e.normals,a=e.tangents,c=e.bitangents,u=h.normalize(h.cross(n,t,zy),zy);r.normal&&ji.addAttribute(s,t,i,o),r.tangent&&ji.addAttribute(a,u,i,o),r.bitangent&&ji.addAttribute(c,n,i,o)}function _fe(e,t,n){let i=e.positions,o=e.corners,r=e.endPositions,s=e.lefts,a=e.normals,c=new mn,u,f=0,d=0,p,g=0,m;for(p=0;p<i.length;p+=2)m=i[p].length-3,f+=m,g+=m*2,d+=i[p+1].length-3;for(f+=3,d+=3,p=0;p<o.length;p++){u=o[p];let J=o[p].leftPositions;l(J)?(m=J.length,f+=m,g+=m):(m=o[p].rightPositions.length,d+=m,g+=m)}let x=l(r),b;x&&(b=r[0].length-3,f+=b,d+=b,b/=3,g+=b*6);let T=f+d,A=new Float64Array(T),C=t.normal?new Float32Array(T):void 0,E=t.tangent?new Float32Array(T):void 0,v=t.bitangent?new Float32Array(T):void 0,D={normals:C,tangents:E,bitangents:v},O=0,R=T-1,M,N,_,S,w=dfe,I=hfe,L,B,U=b/2,V=Fe.createTypedArray(T/3,g),G=0;if(x){B=Nz,L=Fz;let J=r[0];for(w=h.fromArray(a,0,w),I=h.fromArray(s,0,I),p=0;p<U;p++)B=h.fromArray(J,(U-1-p)*3,B),L=h.fromArray(J,(U+p)*3,L),ji.addAttribute(A,L,O),ji.addAttribute(A,B,void 0,R),oh(D,w,I,O,R,t),N=O/3,S=N+1,M=(R-2)/3,_=M-1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3}let k=0,Y=0,W=i[k++],Q=i[k++];A.set(W,O),A.set(Q,R-Q.length+1),I=h.fromArray(s,Y,I);let j,Z;for(m=Q.length-3,p=0;p<m;p+=3)j=n.geodeticSurfaceNormal(h.fromArray(W,p,zy),zy),Z=n.geodeticSurfaceNormal(h.fromArray(Q,m-p,DE),DE),w=h.normalize(h.add(j,Z,w),w),oh(D,w,I,O,R,t),N=O/3,S=N+1,M=(R-2)/3,_=M-1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3;for(j=n.geodeticSurfaceNormal(h.fromArray(W,m,zy),zy),Z=n.geodeticSurfaceNormal(h.fromArray(Q,m,DE),DE),w=h.normalize(h.add(j,Z,w),w),Y+=3,p=0;p<o.length;p++){let J;u=o[p];let he=u.leftPositions,xe=u.rightPositions,re,_e,ye=mfe,De=Nz,ve=Fz;if(w=h.fromArray(a,Y,w),l(he)){for(oh(D,w,I,void 0,R,t),R-=3,re=S,_e=_,J=0;J<he.length/3;J++)ye=h.fromArray(he,J*3,ye),V[G++]=re,V[G++]=_e-J-1,V[G++]=_e-J,ji.addAttribute(A,ye,void 0,R),De=h.fromArray(A,(_e-J-1)*3,De),ve=h.fromArray(A,re*3,ve),I=h.normalize(h.subtract(De,ve,I),I),oh(D,w,I,void 0,R,t),R-=3;ye=h.fromArray(A,re*3,ye),De=h.subtract(h.fromArray(A,_e*3,De),ye,De),ve=h.subtract(h.fromArray(A,(_e-J)*3,ve),ye,ve),I=h.normalize(h.add(De,ve,I),I),oh(D,w,I,O,void 0,t),O+=3}else{for(oh(D,w,I,O,void 0,t),O+=3,re=_,_e=S,J=0;J<xe.length/3;J++)ye=h.fromArray(xe,J*3,ye),V[G++]=re,V[G++]=_e+J,V[G++]=_e+J+1,ji.addAttribute(A,ye,O),De=h.fromArray(A,re*3,De),ve=h.fromArray(A,(_e+J)*3,ve),I=h.normalize(h.subtract(De,ve,I),I),oh(D,w,I,O,void 0,t),O+=3;ye=h.fromArray(A,re*3,ye),De=h.subtract(h.fromArray(A,(_e+J)*3,De),ye,De),ve=h.subtract(h.fromArray(A,_e*3,ve),ye,ve),I=h.normalize(h.negate(h.add(ve,De,I),I),I),oh(D,w,I,void 0,R,t),R-=3}for(W=i[k++],Q=i[k++],W.splice(0,3),Q.splice(Q.length-3,3),A.set(W,O),A.set(Q,R-Q.length+1),m=Q.length-3,Y+=3,I=h.fromArray(s,Y,I),J=0;J<Q.length;J+=3)j=n.geodeticSurfaceNormal(h.fromArray(W,J,zy),zy),Z=n.geodeticSurfaceNormal(h.fromArray(Q,m-J,DE),DE),w=h.normalize(h.add(j,Z,w),w),oh(D,w,I,O,R,t),S=O/3,N=S-1,_=(R-2)/3,M=_+1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3;O-=3,R+=3}if(w=h.fromArray(a,a.length-3,w),oh(D,w,I,O,R,t),x){O+=3,R-=3,B=Nz,L=Fz;let J=r[1];for(p=0;p<U;p++)B=h.fromArray(J,(b-p-1)*3,B),L=h.fromArray(J,p*3,L),ji.addAttribute(A,B,void 0,R),ji.addAttribute(A,L,O),oh(D,w,I,O,R,t),S=O/3,N=S-1,_=(R-2)/3,M=_+1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3}if(c.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:A}),t.st){let J=new Float32Array(T/3*2),he,xe,re=0;if(x){f/=3,d/=3;let _e=Math.PI/(b+1);xe=1/(f-b+1),he=1/(d-b+1);let ye,De=b/2;for(p=De+1;p<b+1;p++)ye=P.PI_OVER_TWO+_e*p,J[re++]=he*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye));for(p=1;p<d-b+1;p++)J[re++]=p*he,J[re++]=0;for(p=b;p>De;p--)ye=P.PI_OVER_TWO-p*_e,J[re++]=1-he*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye));for(p=De;p>0;p--)ye=P.PI_OVER_TWO-_e*p,J[re++]=1-xe*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye));for(p=f-b;p>0;p--)J[re++]=p*xe,J[re++]=1;for(p=1;p<De+1;p++)ye=P.PI_OVER_TWO+_e*p,J[re++]=xe*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye))}else{for(f/=3,d/=3,xe=1/(f-1),he=1/(d-1),p=0;p<d;p++)J[re++]=p*he,J[re++]=0;for(p=f;p>0;p--)J[re++]=(p-1)*xe,J[re++]=1}c.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:J})}return t.normal&&(c.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.normals})),t.tangent&&(c.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.tangents})),t.bitangent&&(c.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.bitangents})),{attributes:c,indices:V}}function dKe(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,u;if(t.normal||t.bitangent||t.tangent){let f=t.normal?new Float32Array(s*6):void 0,d=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=dfe,m=hfe,x=Nz,b=Fz,T=fKe,A=mfe,C=c;for(u=0;u<s;u+=3){let E=C+c;g=h.fromArray(n,u,g),m=h.fromArray(n,u+s,m),x=h.fromArray(n,(u+3)%s,x),m=h.subtract(m,g,m),x=h.subtract(x,g,x),b=h.normalize(h.cross(m,x,b),b),t.normal&&(ji.addAttribute(f,b,E),ji.addAttribute(f,b,E+3),ji.addAttribute(f,b,C),ji.addAttribute(f,b,C+3)),(t.tangent||t.bitangent)&&(A=h.fromArray(i,u,A),t.bitangent&&(ji.addAttribute(p,A,E),ji.addAttribute(p,A,E+3),ji.addAttribute(p,A,C),ji.addAttribute(p,A,C+3)),t.tangent&&(T=h.normalize(h.cross(A,b,T),T),ji.addAttribute(d,T,E),ji.addAttribute(d,T,E+3),ji.addAttribute(d,T,C),ji.addAttribute(d,T,C+3))),C+=6}if(t.normal){for(f.set(i),u=0;u<s;u+=3)f[u+s]=-i[u],f[u+s+1]=-i[u+1],f[u+s+2]=-i[u+2];e.normal.values=f}else e.normal=void 0;if(t.bitangent?(p.set(o),p.set(o,s),e.bitangent.values=p):e.bitangent=void 0,t.tangent){let E=e.tangent.values;d.set(E),d.set(E,s),e.tangent.values=d}}if(t.st){let f=e.st.values,d=new Float32Array(a*6);d.set(f),d.set(f,a);let p=a*2;for(let g=0;g<2;g++){for(d[p++]=f[0],d[p++]=f[1],u=2;u<a;u+=2){let m=f[u],x=f[u+1];d[p++]=m,d[p++]=x,d[p++]=m,d[p++]=x}d[p++]=f[0],d[p++]=f[1]}e.st.values=d}return e}function u7(e,t,n){n[t++]=e[0],n[t++]=e[1],n[t++]=e[2];for(let i=3;i<e.length;i+=3){let o=e[i],r=e[i+1],s=e[i+2];n[t++]=o,n[t++]=r,n[t++]=s,n[t++]=o,n[t++]=r,n[t++]=s}return n[t++]=e[0],n[t++]=e[1],n[t++]=e[2],n}function hKe(e,t){let n=new Pe({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),i=e.ellipsoid,o=ji.computePositions(e),r=_fe(o,n,i),s=e.height,a=e.extrudedHeight,c=r.attributes,u=r.indices,f=c.position.values,d=f.length,p=new Float64Array(d*6),g=new Float64Array(d);g.set(f);let m=new Float64Array(d*4);f=li.scaleToGeodeticHeight(f,s,i),m=u7(f,0,m),g=li.scaleToGeodeticHeight(g,a,i),m=u7(g,d*2,m),p.set(f),p.set(g,d),p.set(m,d*2),c.position.values=p,c=dKe(c,t);let x,b=d/3;if(e.shadowVolume){let M=c.normal.values;d=M.length;let N=new Float32Array(d*6);for(x=0;x<d;x++)M[x]=-M[x];N.set(M,d),N=u7(M,d*4,N),c.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:N}),t.normal||(c.normal=void 0)}if(l(e.offsetAttribute)){let M=new Uint8Array(b*6);if(e.offsetAttribute===un.TOP)M=M.fill(1,0,b).fill(1,b*2,b*4);else{let N=e.offsetAttribute===un.NONE?0:1;M=M.fill(N)}c.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:M})}let T=u.length,A=b+b,C=Fe.createTypedArray(p.length/3,T*2+A*3);C.set(u);let E=T;for(x=0;x<T;x+=3){let M=u[x],N=u[x+1],_=u[x+2];C[E++]=_+b,C[E++]=N+b,C[E++]=M+b}let v,D,O,R;for(x=0;x<A;x+=2)v=x+A,D=v+A,O=v+1,R=D+1,C[E++]=v,C[E++]=D,C[E++]=O,C[E++]=O,C[E++]=D,C[E++]=R;return{attributes:c,indices:C}}var ufe=new h,RL=new h,Gf=new fe;function ffe(e,t,n,i,o,r){let s=h.subtract(t,e,ufe);h.normalize(s,s);let a=n.geodeticSurfaceNormal(e,RL),c=h.cross(s,a,ufe);h.multiplyByScalar(c,i,c);let u=o.latitude,f=o.longitude,d=r.latitude,p=r.longitude;h.add(e,c,RL),n.cartesianToCartographic(RL,Gf);let g=Gf.latitude,m=Gf.longitude;u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),h.subtract(e,c,RL),n.cartesianToCartographic(RL,Gf),g=Gf.latitude,m=Gf.longitude,u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),o.latitude=u,o.longitude=f,r.latitude=d,r.longitude=p}var Hf=new h,OL=new h,Vl=new fe,Ul=new fe;function gfe(e,t,n,i,o){e=pfe(e,t);let r=Co(e,h.equalsEpsilon),s=r.length;if(s<2||n<=0)return new se;let a=n*.5;Vl.latitude=Number.POSITIVE_INFINITY,Vl.longitude=Number.POSITIVE_INFINITY,Ul.latitude=Number.NEGATIVE_INFINITY,Ul.longitude=Number.NEGATIVE_INFINITY;let c,u;if(i===Mi.ROUNDED){let p=r[0];h.subtract(p,r[1],Hf),h.normalize(Hf,Hf),h.multiplyByScalar(Hf,a,Hf),h.add(p,Hf,OL),t.cartesianToCartographic(OL,Gf),c=Gf.latitude,u=Gf.longitude,Vl.latitude=Math.min(Vl.latitude,c),Vl.longitude=Math.min(Vl.longitude,u),Ul.latitude=Math.max(Ul.latitude,c),Ul.longitude=Math.max(Ul.longitude,u)}for(let p=0;p<s-1;++p)ffe(r[p],r[p+1],t,a,Vl,Ul);let f=r[s-1];h.subtract(f,r[s-2],Hf),h.normalize(Hf,Hf),h.multiplyByScalar(Hf,a,Hf),h.add(f,Hf,OL),ffe(f,OL,t,a,Vl,Ul),i===Mi.ROUNDED&&(t.cartesianToCartographic(OL,Gf),c=Gf.latitude,u=Gf.longitude,Vl.latitude=Math.min(Vl.latitude,c),Vl.longitude=Math.min(Vl.longitude,u),Ul.latitude=Math.max(Ul.latitude,c),Ul.longitude=Math.max(Ul.longitude,u));let d=l(o)?o:new se;return d.north=Ul.latitude,d.south=Vl.latitude,d.east=Ul.longitude,d.west=Vl.longitude,d}function R_(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Mi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*h.packedLength+ee.packedLength+Pe.packedLength+7}R_.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var yfe=ee.clone(ee.UNIT_SPHERE),xfe=new Pe,P_={positions:void 0,ellipsoid:yfe,vertexFormat:xfe,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};R_.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let m=0;m<i;++m,t+=h.packedLength)o[m]=h.unpack(e,t);let r=ee.unpack(e,t,yfe);t+=ee.packedLength;let s=Pe.unpack(e,t,xfe);t+=Pe.packedLength;let a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++]===1,g=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._vertexFormat=Pe.clone(s,n._vertexFormat),n._width=a,n._height=c,n._extrudedHeight=u,n._cornerType=f,n._granularity=d,n._shadowVolume=p,n._offsetAttribute=g===-1?void 0:g,n):(P_.positions=o,P_.width=a,P_.height=c,P_.extrudedHeight=u,P_.cornerType=f,P_.granularity=d,P_.shadowVolume=p,P_.offsetAttribute=g===-1?void 0:g,new R_(P_))};R_.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.positions,i=e.width,o=y(e.ellipsoid,ee.default),r=y(e.cornerType,Mi.ROUNDED);return gfe(n,o,i,r,t)};R_.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=pfe(t,i);let o=Co(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c=e._vertexFormat,u={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0},f;if(a)u.height=r,u.extrudedHeight=s,u.shadowVolume=e._shadowVolume,u.offsetAttribute=e._offsetAttribute,f=hKe(u,c);else{let g=ji.computePositions(u);if(f=_fe(g,c,i),f.attributes.position.values=li.scaleToGeodeticHeight(f.attributes.position.values,r,i),l(e._offsetAttribute)){let m=e._offsetAttribute===un.NONE?0:1,x=f.attributes.position.values.length,b=new Uint8Array(x/3).fill(m);f.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}}let d=f.attributes,p=ae.fromVertices(d.position.values,void 0,3);return c.position||(f.attributes.position.values=void 0),new ut({attributes:d,indices:f.indices,primitiveType:Ne.TRIANGLES,boundingSphere:p,offsetAttribute:e._offsetAttribute})};R_.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new R_({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:o,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(R_.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=gfe(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var Wb=R_;var bfe=new h,Tfe=new h,mKe=new h;function pKe(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function Cfe(e,t){let n=[],i=e.positions,o=e.corners,r=e.endPositions,s=new mn,a,c=0,u=0,f,d=0,p;for(f=0;f<i.length;f+=2)p=i[f].length-3,c+=p,d+=p/3*4,u+=i[f+1].length-3;for(c+=3,u+=3,f=0;f<o.length;f++){a=o[f];let L=o[f].leftPositions;l(L)?(p=L.length,c+=p,d+=p/3*2):(p=o[f].rightPositions.length,u+=p,d+=p/3*2)}let g=l(r),m;g&&(m=r[0].length-3,c+=m,u+=m,m/=3,d+=m*4);let x=c+u,b=new Float64Array(x),T=0,A=x-1,C,E,v,D,O,R,M=m/2,N=Fe.createTypedArray(x/3,d+4),_=0;if(N[_++]=T/3,N[_++]=(A-2)/3,g){n.push(T/3),R=bfe,O=Tfe;let L=r[0];for(f=0;f<M;f++)R=h.fromArray(L,(M-1-f)*3,R),O=h.fromArray(L,(M+f)*3,O),ji.addAttribute(b,O,T),ji.addAttribute(b,R,void 0,A),E=T/3,D=E+1,C=(A-2)/3,v=C-1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3}let S=0,w=i[S++],I=i[S++];for(b.set(w,T),b.set(I,A-I.length+1),p=I.length-3,n.push(T/3,(A-2)/3),f=0;f<p;f+=3)E=T/3,D=E+1,C=(A-2)/3,v=C-1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3;for(f=0;f<o.length;f++){let L;a=o[f];let B=a.leftPositions,U=a.rightPositions,V,G=mKe;if(l(B)){for(A-=3,V=v,n.push(D),L=0;L<B.length/3;L++)G=h.fromArray(B,L*3,G),N[_++]=V-L-1,N[_++]=V-L,ji.addAttribute(b,G,void 0,A),A-=3;n.push(V-Math.floor(B.length/6)),t===Mi.BEVELED&&n.push((A-2)/3+1),T+=3}else{for(T+=3,V=D,n.push(v),L=0;L<U.length/3;L++)G=h.fromArray(U,L*3,G),N[_++]=V+L,N[_++]=V+L+1,ji.addAttribute(b,G,T),T+=3;n.push(V+Math.floor(U.length/6)),t===Mi.BEVELED&&n.push(T/3-1),A-=3}for(w=i[S++],I=i[S++],w.splice(0,3),I.splice(I.length-3,3),b.set(w,T),b.set(I,A-I.length+1),p=I.length-3,L=0;L<I.length;L+=3)D=T/3,E=D-1,v=(A-2)/3,C=v+1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3;T-=3,A+=3,n.push(T/3,(A-2)/3)}if(g){T+=3,A-=3,R=bfe,O=Tfe;let L=r[1];for(f=0;f<M;f++)R=h.fromArray(L,(m-f-1)*3,R),O=h.fromArray(L,f*3,O),ji.addAttribute(b,R,void 0,A),ji.addAttribute(b,O,T),D=T/3,E=D-1,v=(A-2)/3,C=v+1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3;n.push(T/3)}else n.push(T/3,(A-2)/3);return N[_++]=T/3,N[_++]=(A-2)/3,s.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),{attributes:s,indices:N,wallIndices:n}}function _Ke(e){let t=e.ellipsoid,n=ji.computePositions(e),i=Cfe(n,e.cornerType),o=i.wallIndices,r=e.height,s=e.extrudedHeight,a=i.attributes,c=i.indices,u=a.position.values,f=u.length,d=new Float64Array(f);d.set(u);let p=new Float64Array(f*2);if(u=li.scaleToGeodeticHeight(u,r,t),d=li.scaleToGeodeticHeight(d,s,t),p.set(u),p.set(d,f),a.position.values=p,f/=3,l(e.offsetAttribute)){let C=new Uint8Array(f*2);if(e.offsetAttribute===un.TOP)C=C.fill(1,0,f);else{let E=e.offsetAttribute===un.NONE?0:1;C=C.fill(E)}a.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}let g,m=c.length,x=Fe.createTypedArray(p.length/3,(m+o.length)*2);x.set(c);let b=m;for(g=0;g<m;g+=2){let C=c[g],E=c[g+1];x[b++]=C+f,x[b++]=E+f}let T,A;for(g=0;g<o.length;g++)T=o[g],A=T+f,x[b++]=T,x[b++]=A;return{attributes:a,indices:x}}function ML(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Mi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*h.packedLength+ee.packedLength+6}ML.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n]=y(e._offsetAttribute,-1),t};var Afe=ee.clone(ee.UNIT_SPHERE),Hy={positions:void 0,ellipsoid:Afe,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};ML.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let p=0;p<i;++p,t+=h.packedLength)o[p]=h.unpack(e,t);let r=ee.unpack(e,t,Afe);t+=ee.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._width=s,n._height=a,n._extrudedHeight=c,n._cornerType=u,n._granularity=f,n._offsetAttribute=d===-1?void 0:d,n):(Hy.positions=o,Hy.width=s,Hy.height=a,Hy.extrudedHeight=c,Hy.cornerType=u,Hy.granularity=f,Hy.offsetAttribute=d===-1?void 0:d,new ML(Hy))};ML.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=pKe(t,i);let o=Co(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1},u;if(a)c.height=r,c.extrudedHeight=s,c.offsetAttribute=e._offsetAttribute,u=_Ke(c);else{let p=ji.computePositions(c);if(u=Cfe(p,c.cornerType),u.attributes.position.values=li.scaleToGeodeticHeight(u.attributes.position.values,r,i),l(e._offsetAttribute)){let g=u.attributes.position.values.length,m=e._offsetAttribute===un.NONE?0:1,x=new Uint8Array(g/3).fill(m);u.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}}let f=u.attributes,d=ae.fromVertices(f.position.values,void 0,3);return new ut({attributes:f,indices:u.indices,primitiveType:Ne.LINES,boundingSphere:d,offsetAttribute:e._offsetAttribute})};var LL=ML;var gKe=new Jn(0);function el(e){si.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}l(Object.create)&&(el.prototype=Object.create(si.prototype),el.prototype.constructor=el);Object.defineProperties(el.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});el.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!l(t.height)&&!l(t.extrudedHeight)&&Vc.isSupported(this._scene)};el.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight;return t===0||l(n)&&n!==t};el.prototype._computeCenter=de.throwInstantiationError;el.prototype._onEntityPropertyChanged=function(e,t,n,i){if(si.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(o.zIndex)&&(l(o.height)||l(o.extrudedHeight))&&Tt(Tt.geometryZIndex),this._zIndex=y(o.zIndex,gKe),l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference,s=o.extrudedHeightReference;if(l(r)||l(s)){let a=new Ld(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new Ux(this._scene,a,r,s)}};el.prototype.destroy=function(){l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),si.prototype.destroy.call(this)};el.getGeometryHeight=function(e,t){if(!l(e)){t!==je.NONE&&Tt(Tt.geometryHeightReference);return}return mf(t)?0:e};el.getGeometryExtrudedHeight=function(e,t){if(!l(e)){t!==je.NONE&&Tt(Tt.geometryExtrudedHeightReference);return}return mf(t)?el.CLAMP_TO_GROUND:e};el.CLAMP_TO_GROUND="clamp";el.computeGeometryOffsetAttribute=function(e,t,n,i){(!l(e)||!l(t))&&(t=je.NONE),(!l(n)||!l(i))&&(i=je.NONE);let o=0;if(t!==je.NONE&&o++,i===je.RELATIVE_TO_GROUND&&o++,o===2)return un.ALL;if(o===1)return un.TOP};var Xn=el;var Efe=new H,Sfe=h.ZERO,vfe=new h,wfe=new se;function yKe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function rh(e,t){Xn.call(this,{entity:e,scene:t,geometryOptions:new yKe(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}l(Object.create)&&(rh.prototype=Object.create(Xn.prototype),rh.prototype.constructor=rh);rh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:zn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ut){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Efe)),l(o)||(o=H.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Sfe,vfe))),new vt({id:t,geometry:new Wb(this._options),attributes:i})};rh.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Efe),o={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return l(this._options.offsetAttribute)&&(o.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Sfe,vfe))),new vt({id:t,geometry:new LL(this._options),attributes:o})};rh.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.corridor.positions,e);if(!(!l(n)||n.length===0))return h.clone(n[Math.floor(n.length/2)],t)};rh.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.width)||si.prototype._isHidden.call(this,e,t)};rh.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.width)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ut)};rh.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,Ue.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,Ue.MINIMUM_VALUE,je.NONE),o=q.getValueOrUndefined(t.extrudedHeight,Ue.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,Ue.MINIMUM_VALUE,je.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ut?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(Ue.MINIMUM_VALUE,s.positions),s.width=t.width.getValue(Ue.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,Ue.MINIMUM_VALUE),s.cornerType=q.getValueOrUndefined(t.cornerType,Ue.MINIMUM_VALUE),s.offsetAttribute=Xn.computeGeometryOffsetAttribute(n,i,o,r),s.height=Xn.getGeometryHeight(n,i),o=Xn.getGeometryExtrudedHeight(o,r),o===Xn.CLAMP_TO_GROUND&&(o=fi.getMinimumMaximumHeights(Wb.computeRectangle(s,wfe)).minimumTerrainHeight),s.extrudedHeight=o};rh.DynamicGeometryUpdater=IE;function IE(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(IE.prototype=Object.create(ri.prototype),IE.prototype.constructor=IE);IE.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.positions)||!l(i.width)||ri.prototype._isHidden.call(this,e,t,n)};IE.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,je.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,je.NONE);l(s)&&!l(o)&&(o=0),i.positions=q.getValueOrUndefined(t.positions,n),i.width=q.getValueOrUndefined(t.width,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n),i.offsetAttribute=Xn.computeGeometryOffsetAttribute(o,r,s,a),i.height=Xn.getGeometryHeight(o,r),s=Xn.getGeometryExtrudedHeight(s,a),s===Xn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(Wb.computeRectangle(i,wfe)).minimumTerrainHeight),i.extrudedHeight=s};var NL=rh;function Bz(){de.throwInstantiationError()}Object.defineProperties(Bz.prototype,{name:{get:de.throwInstantiationError},clock:{get:de.throwInstantiationError},entities:{get:de.throwInstantiationError},isLoading:{get:de.throwInstantiationError},changedEvent:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},loadingEvent:{get:de.throwInstantiationError},show:{get:de.throwInstantiationError},clustering:{get:de.throwInstantiationError}});Bz.prototype.update=function(e){de.throwInstantiationError()};Bz.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var Wr=Bz;function Cm(e,t){this._ellipsoid=e,this._cameraPosition=new h,this._cameraPositionInScaledSpace=new h,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(Cm.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=h.magnitudeSquared(n)-1;h.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=i}}});var Dfe=new h;Cm.prototype.isPointVisible=function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,Dfe);return d7(n,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};Cm.prototype.isScaledSpacePointVisible=function(e){return d7(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var xKe=new h;Cm.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){let n=this._ellipsoid,i,o;return l(t)&&t<0&&n.minimumRadius>-t?(o=xKe,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),d7(e,o,i)};Cm.prototype.computeHorizonCullingPoint=function(e,t,n){return Rfe(this._ellipsoid,e,t,n)};var Ife=ee.clone(ee.UNIT_SPHERE);Cm.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=Pfe(this._ellipsoid,n,Ife);return Rfe(o,e,t,i)};Cm.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return Ofe(this._ellipsoid,e,t,n,i,o)};Cm.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=Pfe(this._ellipsoid,o,Ife);return Ofe(s,e,t,n,i,r)};var bKe=[];Cm.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=se.subsample(e,t,0,bKe),o=ae.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var TKe=new h;function Pfe(e,t,n){if(l(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,TKe);e=ee.fromCartesian3(i,n)}return e}function Rfe(e,t,n,i){l(i)||(i=new h);let o=Nfe(e,t),r=0;for(let s=0,a=n.length;s<a;++s){let c=n[s],u=Mfe(e,c,o);if(u<0)return;r=Math.max(r,u)}return Lfe(o,r,i)}var kz=new h;function Ofe(e,t,n,i,o,r){l(r)||(r=new h),i=y(i,3),o=y(o,h.ZERO);let s=Nfe(e,t),a=0;for(let c=0,u=n.length;c<u;c+=i){kz.x=n[c]+o.x,kz.y=n[c+1]+o.y,kz.z=n[c+2]+o.z;let f=Mfe(e,kz,s);if(f<0)return;a=Math.max(a,f)}return Lfe(s,a,r)}function d7(e,t,n){let i=t,o=n,r=h.subtract(e,i,Dfe),s=-h.dot(r,i);return!(o<0?s>0:s>o&&s*s/h.magnitudeSquared(r)>o)}var CKe=new h,AKe=new h;function Mfe(e,t,n){let i=e.transformPositionToScaledSpace(t,CKe),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,AKe);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),u=1/r,f=Math.sqrt(o-1)*u;return 1/(a*u-c*f)}function Lfe(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var f7=new h;function Nfe(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,f7),h.normalize(f7,f7))}var O_=Cm;function vr(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;l(n)&&(n=Bt.clone(n)),l(i)&&(i=Bt.clone(i)),l(o)&&(o=Ot.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=H.clone(y(e.color,H.WHITE)),this._outlineColor=H.clone(y(e.outlineColor,H.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1,this._splitDirection=y(e.splitDirection,Nr.NONE)}var Ffe=vr.SHOW_INDEX=0,Vfe=vr.POSITION_INDEX=1,EKe=vr.COLOR_INDEX=2,SKe=vr.OUTLINE_COLOR_INDEX=3,vKe=vr.OUTLINE_WIDTH_INDEX=4,wKe=vr.PIXEL_SIZE_INDEX=5,DKe=vr.SCALE_BY_DISTANCE_INDEX=6,IKe=vr.TRANSLUCENCY_BY_DISTANCE_INDEX=7,PKe=vr.DISTANCE_DISPLAY_CONDITION_INDEX=8,RKe=vr.DISABLE_DEPTH_DISTANCE_INDEX=9,OKe=vr.SPLIT_DIRECTION_INDEX=10;vr.NUMBER_OF_PROPERTIES=11;function Iu(e,t){let n=e._pointPrimitiveCollection;l(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(vr.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Iu(this,Ffe))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),Iu(this,Vfe))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Bt.equals(t,e)||(this._scaleByDistance=Bt.clone(e,t),Iu(this,DKe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Bt.equals(t,e)||(this._translucencyByDistance=Bt.clone(e,t),Iu(this,IKe))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,Iu(this,wKe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),Iu(this,EKe))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),Iu(this,SKe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Iu(this,vKe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ot.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition),Iu(this,PKe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Iu(this,RKe))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Iu(this,Ffe))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,Iu(this,OKe))}}});vr.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};vr.prototype._getActualPosition=function(){return this._actualPosition};vr.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),Iu(this,Vfe)};var Bfe=new oe;vr._computeActualPosition=function(e,t,n){return t.mode===ne.SCENE3D?e:(F.multiplyByPoint(n,e,Bfe),Gi.computeActualEllipsoidPosition(t,Bfe))};var kfe=new oe;vr._computeScreenSpacePosition=function(e,t,n,i){let o=F.multiplyByVector(e,oe.fromElements(t.x,t.y,t.z,1,kfe),kfe);return Gi.worldToWindowCoordinates(n,o,i)};vr.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;l(t)||(t=new z);let i=n.modelMatrix,o=vr._computeScreenSpacePosition(i,this._actualPosition,e,t);if(l(o))return o.y=e.canvas.clientHeight-o.y,o};vr.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return l(n)||(n=new We),n.x=r,n.y=s,n.width=a,n.height=c,n};vr.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&H.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&H.equals(this._outlineColor,e._outlineColor)&&Bt.equals(this._scaleByDistance,e._scaleByDistance)&&Bt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Ot.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};vr.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Is=vr;var Gy=`in vec4 v_color; -in vec4 v_outlineColor; -in float v_innerPercent; -in float v_pixelDistance; -in vec4 v_pickColor; -in float v_splitDirection; + temp = compressedAttribute0.z * SHIFT_RIGHT8; + translate.x = floor(temp) - UPPER_BOUND; -void main() -{ - if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; + translate.y += (temp - floor(temp)) * SHIFT_LEFT8; + translate.y -= UPPER_BOUND; - // The distance in UV space from this fragment to the center of the point, at most 0.5. - float distanceToCenter = length(gl_PointCoord - vec2(0.5)); - // The max distance stops one pixel shy of the edge to leave space for anti-aliasing. - float maxDistance = max(0.0, 0.5 - v_pixelDistance); - float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter); - float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter); + temp = compressedAttribute1.x * SHIFT_RIGHT8; + float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2); - vec4 color = mix(v_outlineColor, v_color, innerAlpha); - color.a *= wholeAlpha; + vec2 imageSize = vec2(floor(temp), temp2); -// Fully transparent parts of the billboard are not pickable. -#if !defined(OPAQUE) && !defined(TRANSLUCENT) - if (color.a < 0.005) // matches 0/255 and 1/255 - { - discard; - } -#else -// The billboard is rendered twice. The opaque pass discards translucent fragments -// and the translucent pass discards opaque fragments. -#ifdef OPAQUE - if (color.a < 0.995) // matches < 254/255 - { - discard; - } -#else - if (color.a >= 0.995) // matches 254/255 and 255/255 +#ifdef FRAGMENT_DEPTH_CHECK + float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2)); + float applyTranslate = 0.0; + if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false { - discard; + applyTranslate = 1.0; + labelHorizontalOrigin -= 2.0; + depthOrigin.x = labelHorizontalOrigin + 1.0; } -#endif -#endif - out_FragColor = czm_gammaCorrect(color); - czm_writeLogDepth(); -} -`;var FL=`uniform float u_maxTotalPointSize; - -in vec4 positionHighAndSize; -in vec4 positionLowAndOutline; -in vec4 compressedAttribute0; // color, outlineColor, pick color -in vec4 compressedAttribute1; // show, translucency by distance, some free space -in vec4 scaleByDistance; // near, nearScale, far, farScale -in vec4 distanceDisplayConditionAndDisableDepthAndSplitDirection; // near, far, disableDepthTestDistance, splitDirection - -out vec4 v_color; -out vec4 v_outlineColor; -out float v_innerPercent; -out float v_pixelDistance; -out vec4 v_pickColor; -out float v_splitDirection; - -const float SHIFT_LEFT8 = 256.0; -const float SHIFT_RIGHT8 = 1.0 / 256.0; - -void main() -{ - // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition - - // unpack attributes - vec3 positionHigh = positionHighAndSize.xyz; - vec3 positionLow = positionLowAndOutline.xyz; - float outlineWidthBothSides = 2.0 * positionLowAndOutline.w; - float totalSize = positionHighAndSize.w + outlineWidthBothSides; - float outlinePercent = outlineWidthBothSides / totalSize; - // Scale in response to browser-zoom. - totalSize *= czm_pixelRatio; - - float temp = compressedAttribute1.x * SHIFT_RIGHT8; - float show = floor(temp); + depthOrigin = vec2(1.0) - (depthOrigin * 0.5); +#endif #ifdef EYE_DISTANCE_TRANSLUCENCY vec4 translucencyByDistance; @@ -9183,45 +8944,48 @@ void main() translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; #endif - /////////////////////////////////////////////////////////////////////////// +#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) + temp = compressedAttribute3.w; + temp = temp * SHIFT_RIGHT12; - vec4 color; - vec4 outlineColor; - vec4 pickColor; + vec2 dimensions; + dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; + dimensions.x = floor(temp); +#endif - // compressedAttribute0.z => pickColor.rgb +#ifdef ALIGNED_AXIS + vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8)); + temp = compressedAttribute2.z * SHIFT_RIGHT5; + bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0; +#else + vec3 alignedAxis = vec3(0.0); + bool validAlignedAxis = false; +#endif - temp = compressedAttribute0.z * SHIFT_RIGHT8; + vec4 pickColor; + vec4 color; + + temp = compressedAttribute2.y; + temp = temp * SHIFT_RIGHT8; pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; pickColor.r = floor(temp); - // compressedAttribute0.x => color.rgb - - temp = compressedAttribute0.x * SHIFT_RIGHT8; + temp = compressedAttribute2.x; + temp = temp * SHIFT_RIGHT8; color.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; color.g = (temp - floor(temp)) * SHIFT_LEFT8; color.r = floor(temp); - // compressedAttribute0.y => outlineColor.rgb - - temp = compressedAttribute0.y * SHIFT_RIGHT8; - outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = compressedAttribute2.z * SHIFT_RIGHT8; + bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0; temp = floor(temp) * SHIFT_RIGHT8; - outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor.r = floor(temp); - - // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a - temp = compressedAttribute0.w * SHIFT_RIGHT8; pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; - pickColor = pickColor / 255.0; + pickColor /= 255.0; - temp = floor(temp) * SHIFT_RIGHT8; - outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor /= 255.0; color.a = floor(temp); color /= 255.0; @@ -9230,9 +8994,16 @@ void main() vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; +#if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK) + float eyeDepth = positionEC.z; +#endif + + positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz); + positionEC.xyz *= show; + /////////////////////////////////////////////////////////////////////////// -#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) +#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) float lengthSq; if (czm_sceneMode == czm_sceneMode2D) { @@ -9247,47 +9018,82 @@ void main() #endif #ifdef EYE_DISTANCE_SCALING - totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq); -#endif - if (totalSize > 0.0) { - // Add padding for anti-aliasing on both sides. - totalSize += 3.0; - } - - // Clamp to max point size. - totalSize = min(totalSize, u_maxTotalPointSize); - // If size is too small, push vertex behind near plane for clipping. - // Note that context.minimumAliasedPointSize "will be at most 1.0". - if (totalSize < 1.0) + float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq); + scale *= distanceScale; + translate *= distanceScale; + // push vertex behind near plane for clipping + if (scale == 0.0) { positionEC.xyz = vec3(0.0); - totalSize = 1.0; } +#endif float translucency = 1.0; #ifdef EYE_DISTANCE_TRANSLUCENCY translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); // push vertex behind near plane for clipping - if (translucency < 0.004) + if (translucency == 0.0) { positionEC.xyz = vec3(0.0); } #endif +#ifdef EYE_DISTANCE_PIXEL_OFFSET + float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq); + pixelOffset *= pixelOffsetScale; +#endif + #ifdef DISTANCE_DISPLAY_CONDITION - float nearSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.x; - float farSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.y; - if (lengthSq < nearSq || lengthSq > farSq) { - // push vertex behind camera to force it to be clipped - positionEC.xyz = vec3(0.0, 0.0, 1.0); + float nearSq = compressedAttribute3.x; + float farSq = compressedAttribute3.y; + if (lengthSq < nearSq || lengthSq > farSq) + { + positionEC.xyz = vec3(0.0); + } +#endif + + mat2 rotationMatrix; + float mpp; + +#ifdef DISABLE_DEPTH_DISTANCE + float disableDepthTestDistance = compressedAttribute3.z; +#endif + +#ifdef VERTEX_DEPTH_CHECK +if (lengthSq < disableDepthTestDistance) { + float depthsilon = 10.0; + + vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy; + vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth1 = getGlobeDepth(pEC1); + + if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1) + { + vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth2 = getGlobeDepth(pEC2); + + if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2) + { + vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth3 = getGlobeDepth(pEC3); + if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3) + { + positionEC.xyz = vec3(0.0); + } + } } +} #endif + positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); gl_Position = czm_projection * positionEC; + v_textureCoordinates = textureCoordinates; + +#ifdef LOG_DEPTH czm_vertexLogDepth(); +#endif #ifdef DISABLE_DEPTH_DISTANCE - float disableDepthTestDistance = distanceDisplayConditionAndDisableDepthAndSplitDirection.z; if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) { disableDepthTestDistance = czm_minimumDisableDepthTestDistance; @@ -9303,5889 +9109,1675 @@ void main() // Position z on the near plane. gl_Position.z = -gl_Position.w; #ifdef LOG_DEPTH - czm_vertexLogDepth(vec4(czm_currentFrustum.x)); + v_depthFromNearPlusOne = 1.0; #endif } } #endif - v_color = color; - v_color.a *= translucency * show; - v_outlineColor = outlineColor; - v_outlineColor.a *= translucency * show; - - v_innerPercent = 1.0 - outlinePercent; - v_pixelDistance = 2.0 / totalSize; - gl_PointSize = totalSize * show; - gl_Position *= show; - - v_pickColor = pickColor; - v_splitDirection = distanceDisplayConditionAndDisableDepthAndSplitDirection.w; -} -`;var MKe=Is.SHOW_INDEX,p7=Is.POSITION_INDEX,Ufe=Is.COLOR_INDEX,LKe=Is.OUTLINE_COLOR_INDEX,NKe=Is.OUTLINE_WIDTH_INDEX,FKe=Is.PIXEL_SIZE_INDEX,zfe=Is.SCALE_BY_DISTANCE_INDEX,Hfe=Is.TRANSLUCENCY_BY_DISTANCE_INDEX,Gfe=Is.DISTANCE_DISPLAY_CONDITION_INDEX,BKe=Is.DISABLE_DEPTH_DISTANCE_INDEX,kKe=Is.SPLIT_DIRECTION_INDEX,_7=Is.NUMBER_OF_PROPERTIES,bc={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepthAndSplitDirection:5};function Wf(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(_7),this._maxPixelSize=1,this._baseVolume=new ae,this._baseVolumeWC=new ae,this._baseVolume2D=new ae,this._boundingVolume=new ae,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,So.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW,ke.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(Wf.prototype,{length:{get:function(){return g7(this),this._pointPrimitives.length}}});function Wfe(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Wf.prototype.add=function(e){let t=new Is(e,this);return t._index=this._pointPrimitives.length,this._pointPrimitives.push(t),this._createVertexArray=!0,t};Wf.prototype.remove=function(e){return this.contains(e)?(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Wf.prototype.removeAll=function(){Wfe(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0};function g7(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;let t=[],n=e._pointPrimitives,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._pointPrimitives=t}}Wf.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]};Wf.prototype.contains=function(e){return l(e)&&e._pointPrimitiveCollection===this};Wf.prototype.get=function(e){return g7(this),this._pointPrimitives[e]};Wf.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<_7;++i){let o=n[i]===0?ke.STATIC_DRAW:ke.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function VKe(e,t,n){return new Sp(e,[{index:bc.positionHighAndSize,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[p7]},{index:bc.positionLowAndShow,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[p7]},{index:bc.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Ufe]},{index:bc.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Hfe]},{index:bc.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[zfe]},{index:bc.distanceDisplayConditionAndDisableDepthAndSplitDirection,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Gfe]}],t)}var h7=new Yn;function jfe(e,t,n,i){let o=i._index,r=i._getActualPosition();e._mode===ne.SCENE3D&&(ae.expand(e._baseVolume,r,e._baseVolume),e._boundingVolumeDirty=!0),Yn.fromCartesian(r,h7);let s=i.pixelSize,a=i.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,s+a);let c=n[bc.positionHighAndSize],u=h7.high;c(o,u.x,u.y,u.z,s);let f=n[bc.positionLowAndOutline],d=h7.low;f(o,d.x,d.y,d.z,a)}var Vz=65536,BL=256;function qfe(e,t,n,i){let o=i._index,r=i.color,s=i.getPickId(t).color,a=i.outlineColor,c=H.floatToByte(r.red),u=H.floatToByte(r.green),f=H.floatToByte(r.blue),d=c*Vz+u*BL+f;c=H.floatToByte(a.red),u=H.floatToByte(a.green),f=H.floatToByte(a.blue);let p=c*Vz+u*BL+f;c=H.floatToByte(s.red),u=H.floatToByte(s.green),f=H.floatToByte(s.blue);let g=c*Vz+u*BL+f,m=H.floatToByte(r.alpha)*Vz+H.floatToByte(a.alpha)*BL+H.floatToByte(s.alpha),x=n[bc.compressedAttribute0];x(o,d,p,g,m)}function Yfe(e,t,n,i){let o=i._index,r=0,s=1,a=1,c=1,u=i.translucencyByDistance;l(u)&&(r=u.near,s=u.nearValue,a=u.far,c=u.farValue,(s!==1||c!==1)&&(e._shaderTranslucencyByDistance=!0));let f=i.show&&i.clusterShow;i.color.alpha===0&&i.outlineColor.alpha===0&&(f=!1),s=P.clamp(s,0,1),s=s===1?255:s*255|0;let d=(f?1:0)*BL+s;c=P.clamp(c,0,1),c=c===1?255:c*255|0;let p=c,g=n[bc.compressedAttribute1];g(o,d,p,r,a)}function Xfe(e,t,n,i){let o=i._index,r=n[bc.scaleByDistance],s=0,a=1,c=1,u=1,f=i.scaleByDistance;l(f)&&(s=f.near,a=f.nearValue,c=f.far,u=f.farValue,(a!==1||u!==1)&&(e._shaderScaleByDistance=!0)),r(o,s,a,c,u)}function Kfe(e,t,n,i){let o=i._index,r=n[bc.distanceDisplayConditionAndDisableDepthAndSplitDirection],s=0,a=Number.MAX_VALUE,c=i.distanceDisplayCondition;l(c)&&(s=c.near,a=c.far,s*=s,a*=a,e._shaderDistanceDisplayCondition=!0);let u=i.disableDepthTestDistance;u*=u,u>0&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1));let f=0,d=i.splitDirection;l(d)&&(f=d),r(o,s,a,u,f)}function UKe(e,t,n,i){jfe(e,t,n,i),qfe(e,t,n,i),Yfe(e,t,n,i),Xfe(e,t,n,i),Kfe(e,t,n,i)}function m7(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=Is._computeActualPosition(f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ae.expand(s,d,s))}r&&ae.fromPoints(a,s)}function zKe(e,t){let n=t.mode,i=e._pointPrimitives,o=e._pointPrimitivesToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&m7(e,i,i.length,t,r,!0)):n===ne.MORPHING?m7(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&m7(e,o,e._pointPrimitivesToUpdateIndex,t,r,!1)}function HKe(e,t,n){let o=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*e._maxPixelSize;n.radius+=o}var GKe=[];Wf.prototype.update=function(e){if(g7(this),!this.show)return;this._maxTotalPointSize=kt.maximumAliasedPointSize,zKe(this,e);let n=this._pointPrimitives.length,i=this._pointPrimitivesToUpdate,o=this._pointPrimitivesToUpdateIndex,r=this._propertiesChanged,s=this._createVertexArray,a,c=e.context,u=e.passes,f=u.pick;if(s||!f&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let v=0;v<_7;++v)r[v]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=VKe(c,n,this._buffersUsage),a=this._vaf.writers;for(let v=0;v<n;++v){let D=this._pointPrimitives[v];D._dirty=!1,UKe(this,c,a,D)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(o>0){let v=GKe;v.length=0,(r[p7]||r[NKe]||r[FKe])&&v.push(jfe),(r[Ufe]||r[LKe])&&v.push(qfe),(r[MKe]||r[Hfe])&&v.push(Yfe),r[zfe]&&v.push(Xfe),(r[Gfe]||r[BKe]||r[kKe])&&v.push(Kfe);let D=v.length;if(a=this._vaf.writers,o/n>.1){for(let O=0;O<o;++O){let R=i[O];R._dirty=!1;for(let M=0;M<D;++M)v[M](this,c,a,R)}this._vaf.commit()}else{for(let O=0;O<o;++O){let R=i[O];R._dirty=!1;for(let M=0;M<D;++M)v[M](this,c,a,R);this._vaf.subCommit(R._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(o>n*1.5&&(i.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ae.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let d,p=F.IDENTITY;e.mode===ne.SCENE3D?(p=this.modelMatrix,d=ae.clone(this._baseVolumeWC,this._boundingVolume)):d=ae.clone(this._baseVolume2D,this._boundingVolume),HKe(this,e,d);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===So.OPAQUE||this._blendOption===So.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Ve.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===So.TRANSLUCENT||this._blendOption===So.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Ve.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!1,blending:hn.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let m,x;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(m=new ze({sources:[FL]}),this._shaderScaleByDistance&&m.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&m.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&m.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&m.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===So.OPAQUE_AND_TRANSLUCENT&&(x=new ze({defines:["OPAQUE"],sources:[Gy]}),this._sp=an.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc}),x=new ze({defines:["TRANSLUCENT"],sources:[Gy]}),this._spTranslucent=an.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc})),this._blendOption===So.OPAQUE&&(x=new ze({sources:[Gy]}),this._sp=an.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc})),this._blendOption===So.TRANSLUCENT&&(x=new ze({sources:[Gy]}),this._spTranslucent=an.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let b,T,A,C,E=e.commandList;if(u.render||f){let v=this._colorCommands,D=this._blendOption===So.OPAQUE,O=this._blendOption===So.OPAQUE_AND_TRANSLUCENT;b=this._vaf.va,T=b.length,v.length=T;let R=O?T*2:T;for(C=0;C<R;++C){let M=D||O&&C%2===0;A=v[C],l(A)||(A=v[C]=new Xe),A.primitiveType=Ne.POINTS,A.pass=M||!O?Se.OPAQUE:Se.TRANSLUCENT,A.owner=this;let N=O?Math.floor(C/2):C;A.boundingVolume=d,A.modelMatrix=p,A.shaderProgram=M?this._sp:this._spTranslucent,A.uniformMap=this._uniforms,A.vertexArray=b[N].va,A.renderState=M?this._rsOpaque:this._rsTranslucent,A.debugShowBoundingVolume=this.debugShowBoundingVolume,A.pickId="v_pickColor",E.push(A)}}};Wf.prototype.isDestroyed=function(){return!1};Wf.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),Wfe(this._pointPrimitives),ue(this)};var PE=Wf;function sh(e){e=y(e,y.EMPTY_OBJECT),this._enabled=y(e.enabled,!1),this._pixelRange=y(e.pixelRange,80),this._minimumClusterSize=y(e.minimumClusterSize,2),this._clusterBillboards=y(e.clusterBillboards,!0),this._clusterLabels=y(e.clusterLabels,!0),this._clusterPoints=y(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new me,this.show=y(e.show,!0)}function Zfe(e,t){e.x-=t,e.y-=t,e.width+=t*2,e.height+=t*2}var WKe=new We;function $fe(e,t,n,i,o){if(l(e._labelCollection)&&i._clusterLabels?o=Py.getScreenSpaceBoundingBox(e,t,o):l(e._billboardCollection)&&i._clusterBillboards?o=ho.getScreenSpaceBoundingBox(e,t,o):l(e._pointPrimitiveCollection)&&i._clusterPoints&&(o=Is.getScreenSpaceBoundingBox(e,t,o)),Zfe(o,n),i._clusterLabels&&!l(e._labelCollection)&&l(e.id)&&Jfe(i,e.id.id)&&l(e.id._label)){let r=i._collectionIndicesByEntity[e.id.id].labelIndex,s=i._labelCollection.get(r),a=Py.getScreenSpaceBoundingBox(s,t,WKe);Zfe(a,n),o=We.union(o,a,o)}return o}function jKe(e,t){if(e.clusterShow=!0,!l(e._labelCollection)&&l(e.id)&&Jfe(t,e.id.id)&&l(e.id._label)){let n=t._collectionIndicesByEntity[e.id.id].labelIndex,i=t._labelCollection.get(n);i.clusterShow=!0}}function Qfe(e,t,n,i){let o={billboard:i._clusterBillboardCollection.add(),label:i._clusterLabelCollection.add(),point:i._clusterPointCollection.add()};o.billboard.show=!1,o.point.show=!1,o.label.show=!0,o.label.text=t.toLocaleString(),o.label.id=n,o.billboard.position=o.label.position=o.point.position=e,i._clusterEvent.raiseEvent(n,o)}function Jfe(e,t){return l(e)&&l(e._collectionIndicesByEntity[t])&&l(e._collectionIndicesByEntity[t].labelIndex)}function y7(e,t,n,i,o){if(!l(e))return;let r=e.length;for(let s=0;s<r;++s){let a=e.get(s);if(a.clusterShow=!1,!a.show||o._scene.mode===ne.SCENE3D&&!i.isPointVisible(a.position))continue;let c=o._clusterLabels&&l(a._labelCollection),u=o._clusterBillboards&&l(a.id._billboard),f=o._clusterPoints&&l(a.id._point);if(c&&(f||u))continue;let d=a.computeScreenSpacePosition(n);l(d)&&t.push({index:s,collection:e,clustered:!1,coord:d})}}var qKe=new We,YKe=new We,XKe=new We;function KKe(e){return function(t){if(l(t)&&t<.05||!e.enabled)return;let n=e._scene,i=e._labelCollection,o=e._billboardCollection,r=e._pointCollection;if(!l(i)&&!l(o)&&!l(r)||!e._clusterBillboards&&!e._clusterLabels&&!e._clusterPoints)return;let s=e._clusterLabelCollection,a=e._clusterBillboardCollection,c=e._clusterPointCollection;l(s)?s.removeAll():s=e._clusterLabelCollection=new gm({scene:n}),l(a)?a.removeAll():a=e._clusterBillboardCollection=new Su({scene:n}),l(c)?c.removeAll():c=e._clusterPointCollection=new PE;let u=e._pixelRange,f=e._minimumClusterSize,d=e._previousClusters,p=[],g=e._previousHeight,m=n.camera.positionCartographic.height,x=n.ellipsoid,b=n.camera.positionWC,T=new O_(x,b),A=[];e._clusterLabels&&y7(i,A,n,T,e),e._clusterBillboards&&y7(o,A,n,T,e),e._clusterPoints&&y7(r,A,n,T,e);let C,E,v,D,O,R,M,N,_,S,w,I;if(A.length>0){let L=new xb(A.length,64,Uint32Array);for(let B=0;B<A.length;++B)L.add(A[B].coord.x,A[B].coord.y);if(L.finish(),m<g)for(v=d.length,C=0;C<v;++C){let B=d[C];if(!T.isPointVisible(B.position))continue;let U=ho._computeScreenSpacePosition(F.IDENTITY,B.position,h.ZERO,z.ZERO,n);if(!l(U))continue;let V=1-m/g,G=B.width=B.width*V,k=B.height=B.height*V;G=Math.max(G,B.minimumWidth),k=Math.max(k,B.minimumHeight);let Y=U.x-G*.5,W=U.y-k*.5,Q=U.x+G,j=U.y+k;for(O=L.range(Y,W,Q,j),R=O.length,S=0,_=[],E=0;E<R;++E)M=O[E],N=A[M],N.clustered||(++S,w=N.collection,I=N.index,_.push(w.get(I).id));if(S>=f)for(Qfe(B.position,S,_,e),p.push(B),E=0;E<R;++E)A[O[E]].clustered=!0}for(v=A.length,C=0;C<v;++C){let B=A[C];if(B.clustered)continue;B.clustered=!0,w=B.collection,I=B.index;let U=w.get(I);D=$fe(U,B.coord,u,e,qKe);let V=We.clone(D,YKe);O=L.range(D.x,D.y,D.x+D.width,D.y+D.height),R=O.length;let G=h.clone(U.position);for(S=1,_=[U.id],E=0;E<R;++E)if(M=O[E],N=A[M],!N.clustered){let k=N.collection.get(N.index),Y=$fe(k,N.coord,u,e,XKe);h.add(k.position,G,G),We.union(V,Y,V),++S,_.push(k.id)}if(S>=f){let k=h.multiplyByScalar(G,1/S,G);for(Qfe(k,S,_,e),p.push({position:k,width:V.width,height:V.height,minimumWidth:D.width,minimumHeight:D.height}),E=0;E<R;++E)A[O[E]].clustered=!0}else jKe(U,e)}}s.length===0&&(s.destroy(),e._clusterLabelCollection=void 0),a.length===0&&(a.destroy(),e._clusterBillboardCollection=void 0),c.length===0&&(c.destroy(),e._clusterPointCollection=void 0),e._previousClusters=p,e._previousHeight=m}}sh.prototype._initialize=function(e){this._scene=e;let t=KKe(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)};Object.defineProperties(sh.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}});function b7(e,t,n,i){return function(o){let r=this[e];l(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});let s=this._collectionIndicesByEntity[o.id];if(l(s)||(s=this._collectionIndicesByEntity[o.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),l(r)&&l(s[i]))return r.get(s[i]);l(r)||(r=this[e]=new t({scene:this._scene}));let a,c,u=this[n];u.length>0?(a=u.shift(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let f=this;return Promise.resolve().then(function(){f._clusterDirty=!0}),c}}function T7(e,t){let n=e._collectionIndicesByEntity[t];!l(n.billboardIndex)&&!l(n.labelIndex)&&!l(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}sh.prototype.getLabel=b7("_labelCollection",gm,"_unusedLabelIndices","labelIndex");sh.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._labelCollection)||!l(t)||!l(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,T7(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};sh.prototype.getBillboard=b7("_billboardCollection",Su,"_unusedBillboardIndices","billboardIndex");sh.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._billboardCollection)||!l(t)||!l(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,T7(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};sh.prototype.getPoint=b7("_pointCollection",PE,"_unusedPointIndices","pointIndex");sh.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._pointCollection)||!l(t)||!l(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,T7(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function x7(e){if(!l(e))return;let t=e.length;for(let n=0;n<t;++n)e.get(n).clusterShow=!0}function ZKe(e){e.enabled||(l(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),l(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),l(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,x7(e._labelCollection),x7(e._billboardCollection),x7(e._pointCollection))}sh.prototype.update=function(e){if(!this.show)return;let t;l(this._labelCollection)&&this._labelCollection.length>0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),l(this._billboardCollection)&&this._billboardCollection.length>0&&!l(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,ZKe(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),l(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),l(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),l(this._clusterPointCollection)&&this._clusterPointCollection.update(e),l(this._labelCollection)&&this._labelCollection.update(e),l(this._billboardCollection)&&this._billboardCollection.update(e),l(this._pointCollection)&&this._pointCollection.update(e)};sh.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),l(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var Pu=sh;function C7(e){this._name=e,this._clock=void 0,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new $s(this),this._entityCluster=new Pu}Object.defineProperties(C7.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Wr.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});C7.prototype.update=function(e){return!0};var kL=C7;var ede={};ede.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,u=new Float64Array(c*3),f,d=0,p=0,g=o?a*3:0,m=o?(a+i)*3:i*3;for(f=0;f<i;f++){let x=f/i*P.TWO_PI,b=Math.cos(x),T=Math.sin(x),A=b*n,C=T*n,E=b*t,v=T*t;u[p+g]=A,u[p+g+1]=C,u[p+g+2]=s,u[p+m]=E,u[p+m+1]=v,u[p+m+2]=r,p+=3,o&&(u[d++]=A,u[d++]=C,u[d++]=s,u[d++]=E,u[d++]=v,u[d++]=r)}return u};var jb=ede;var A7=new z,$Ke=new h,QKe=new h,JKe=new h,eZe=new h;function M_(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e.slices,128);this._length=t,this._topRadius=n,this._bottomRadius=i,this._vertexFormat=Pe.clone(o),this._slices=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}M_.packedLength=Pe.packedLength+5;M_.pack=function(e,t,n){return n=y(n,0),Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n]=y(e._offsetAttribute,-1),t};var tde=new Pe,RE={vertexFormat:tde,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};M_.unpack=function(e,t,n){t=y(t,0);let i=Pe.unpack(e,t,tde);t+=Pe.packedLength;let o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._vertexFormat=Pe.clone(i,n._vertexFormat),n._length=o,n._topRadius=r,n._bottomRadius=s,n._slices=a,n._offsetAttribute=c===-1?void 0:c,n):(RE.length=o,RE.topRadius=r,RE.bottomRadius=s,RE.slices=a,RE.offsetAttribute=c===-1?void 0:c,new M_(RE))};M_.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._vertexFormat,r=e._slices;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=r+r,a=r+s,c=s+s,u=jb.computePositions(t,n,i,r,!0),f=o.st?new Float32Array(c*2):void 0,d=o.normal?new Float32Array(c*3):void 0,p=o.tangent?new Float32Array(c*3):void 0,g=o.bitangent?new Float32Array(c*3):void 0,m,x=o.normal||o.tangent||o.bitangent;if(x){let O=o.tangent||o.bitangent,R=0,M=0,N=0,_=Math.atan2(i-n,t),S=$Ke;S.z=Math.sin(_);let w=Math.cos(_),I=JKe,L=QKe;for(m=0;m<r;m++){let B=m/r*P.TWO_PI,U=w*Math.cos(B),V=w*Math.sin(B);x&&(S.x=U,S.y=V,O&&(I=h.normalize(h.cross(h.UNIT_Z,S,I),I)),o.normal&&(d[R++]=S.x,d[R++]=S.y,d[R++]=S.z,d[R++]=S.x,d[R++]=S.y,d[R++]=S.z),o.tangent&&(p[M++]=I.x,p[M++]=I.y,p[M++]=I.z,p[M++]=I.x,p[M++]=I.y,p[M++]=I.z),o.bitangent&&(L=h.normalize(h.cross(S,I,L),L),g[N++]=L.x,g[N++]=L.y,g[N++]=L.z,g[N++]=L.x,g[N++]=L.y,g[N++]=L.z))}for(m=0;m<r;m++)o.normal&&(d[R++]=0,d[R++]=0,d[R++]=-1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[N++]=0,g[N++]=-1,g[N++]=0);for(m=0;m<r;m++)o.normal&&(d[R++]=0,d[R++]=0,d[R++]=1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[N++]=0,g[N++]=1,g[N++]=0)}let b=12*r-12,T=Fe.createTypedArray(c,b),A=0,C=0;for(m=0;m<r-1;m++)T[A++]=C,T[A++]=C+2,T[A++]=C+3,T[A++]=C,T[A++]=C+3,T[A++]=C+1,C+=2;for(T[A++]=s-2,T[A++]=0,T[A++]=1,T[A++]=s-2,T[A++]=1,T[A++]=s-1,m=1;m<r-1;m++)T[A++]=s+m+1,T[A++]=s+m,T[A++]=s;for(m=1;m<r-1;m++)T[A++]=a,T[A++]=a+m,T[A++]=a+m+1;let E=0;if(o.st){let O=Math.max(n,i);for(m=0;m<c;m++){let R=h.fromArray(u,m*3,eZe);f[E++]=(R.x+O)/(2*O),f[E++]=(R.y+O)/(2*O)}}let v=new mn;o.position&&(v.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})),o.normal&&(v.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:d})),o.tangent&&(v.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),o.bitangent&&(v.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),o.st&&(v.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),A7.x=t*.5,A7.y=Math.max(i,n);let D=new ae(h.ZERO,z.magnitude(A7));if(l(e._offsetAttribute)){t=u.length;let O=e._offsetAttribute===un.NONE?0:1,R=new Uint8Array(t/3).fill(O);v.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:R})}return new ut({attributes:v,indices:T,primitiveType:Ne.TRIANGLES,boundingSphere:D,offsetAttribute:e._offsetAttribute})};var E7;M_.getUnitCylinder=function(){return l(E7)||(E7=M_.createGeometry(new M_({topRadius:1,bottomRadius:1,length:1,vertexFormat:Pe.POSITION_ONLY}))),E7};var VL=M_;var S7=new z;function OE(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.slices,128),r=Math.max(y(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=n,this._bottomRadius=i,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}OE.packedLength=6;OE.pack=function(e,t,n){return n=y(n,0),t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var qb={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};OE.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._length=i,n._topRadius=o,n._bottomRadius=r,n._slices=s,n._numberOfVerticalLines=a,n._offsetAttribute=c===-1?void 0:c,n):(qb.length=i,qb.topRadius=o,qb.bottomRadius=r,qb.slices=s,qb.numberOfVerticalLines=a,qb.offsetAttribute=c===-1?void 0:c,new OE(qb))};OE.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._slices,r=e._numberOfVerticalLines;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=o*2,a=jb.computePositions(t,n,i,o,!1),c=o*2,u;if(r>0){let x=Math.min(r,o);u=Math.round(o/x),c+=x}let f=Fe.createTypedArray(s,c*2),d=0,p;for(p=0;p<o-1;p++)f[d++]=p,f[d++]=p+1,f[d++]=p+o,f[d++]=p+1+o;if(f[d++]=o-1,f[d++]=0,f[d++]=o+o-1,f[d++]=o,r>0)for(p=0;p<o;p+=u)f[d++]=p,f[d++]=p+o;let g=new mn;g.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:a}),S7.x=t*.5,S7.y=Math.max(i,n);let m=new ae(h.ZERO,z.magnitude(S7));if(l(e._offsetAttribute)){t=a.length;let x=e._offsetAttribute===un.NONE?0:1,b=new Uint8Array(t/3).fill(x);g.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}return new ut({attributes:g,indices:f,primitiveType:Ne.LINES,boundingSphere:m,offsetAttribute:e._offsetAttribute})};var UL=OE;var nde=h.ZERO,ide=new h,tZe=new h,ode=new H;function nZe(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function Ru(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new nZe(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}l(Object.create)&&(Ru.prototype=Object.create(si.prototype),Ru.prototype.constructor=Ru);Object.defineProperties(Ru.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Ru.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=zn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ut){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,ode)),l(a)||(a=H.WHITE),s.color=Wt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,nde,ide))),new vt({id:t,geometry:new VL(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:s})};Ru.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,ode),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,nde,ide))),new vt({id:t,geometry:new UL(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:r})};Ru.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};Ru.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.length)||!l(t.topRadius)||!l(t.bottomRadius)||si.prototype._isHidden.call(this,e,t)};Ru.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.length.isConstant||!t.topRadius.isConstant||!t.bottomRadius.isConstant||!q.isConstant(t.slices)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)};Ru.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,Ue.MINIMUM_VALUE,je.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ut?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,i.length=t.length.getValue(Ue.MINIMUM_VALUE),i.topRadius=t.topRadius.getValue(Ue.MINIMUM_VALUE),i.bottomRadius=t.bottomRadius.getValue(Ue.MINIMUM_VALUE),i.slices=q.getValueOrUndefined(t.slices,Ue.MINIMUM_VALUE),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,Ue.MINIMUM_VALUE),i.offsetAttribute=n!==je.NONE?un.ALL:void 0};Ru.prototype._onEntityPropertyChanged=Bp;Ru.DynamicGeometryUpdater=ME;function ME(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(ME.prototype=Object.create(ri.prototype),ME.prototype.constructor=ME);ME.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,tZe);return!l(o)||!l(i.length)||!l(i.topRadius)||!l(i.bottomRadius)||ri.prototype._isHidden.call(this,e,t,n)};ME.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,je.NONE),o=this._options;o.length=q.getValueOrUndefined(t.length,n),o.topRadius=q.getValueOrUndefined(t.topRadius,n),o.bottomRadius=q.getValueOrUndefined(t.bottomRadius,n),o.slices=q.getValueOrUndefined(t.slices,n),o.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),o.offsetAttribute=i!==je.NONE?un.ALL:void 0};var zL=Ru;var iZe={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2},jr=Object.freeze(iZe);var oZe={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2},yo=Object.freeze(oZe);var rZe={NONE:0,HOLD:1,EXTRAPOLATE:2},Ou=Object.freeze(rZe);var rde=Bo(ru(),1);function sZe(e){let t=new rde.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),n}var L_=sZe;var aZe=P.factorial;function v7(e,t,n,i,o,r){let s=0,a,c,u;if(i>0){for(c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(r.push(c),s+=v7(e,t,n,i-1,o,r),r.splice(r.length-1,1))}return s}for(s=1,c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(s*=e-n[t[c]])}return s}var Uz={type:"Hermite"};Uz.getRequiredDataPoints=function(e,t){return t=y(t,0),Math.max(Math.floor((e+1)/(t+1)),2)};Uz.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c,u,f,d=t.length,p=new Array(i);for(r=0;r<i;r++){o[r]=0;let b=new Array(d);for(p[r]=b,s=0;s<d;s++)b[s]=[]}let g=d,m=new Array(g);for(r=0;r<g;r++)m[r]=r;let x=d-1;for(c=0;c<i;c++){for(s=0;s<g;s++)f=m[s]*i+c,p[c][0].push(n[f]);for(r=1;r<g;r++){let b=!1;for(s=0;s<g-r;s++){let T=t[m[s]],A=t[m[s+r]],C;A-T<=0?(f=m[s]*i+i*r+c,C=n[f],p[c][r].push(C/aZe(r))):(C=p[c][r-1][s+1]-p[c][r-1][s],p[c][r].push(C/(A-T))),b=b||C!==0}b||(x=r-1)}}for(a=0,u=0;a<=u;a++)for(r=a;r<=x;r++){let b=v7(e,m,t,a,r,[]);for(c=0;c<i;c++){let T=p[c][r][0];o[c+a*i]+=T*b}}return o};var cZe=[];Uz.interpolate=function(e,t,n,i,o,r,s){let a=i*(r+1);l(s)||(s=new Array(a));for(let T=0;T<a;T++)s[T]=0;let c=t.length,u=new Array(c*(o+1)),f;for(f=0;f<c;f++)for(let T=0;T<o+1;T++)u[f*(o+1)+T]=f;let d=u.length,p=cZe,g=lZe(p,u,t,n,i,o),m=[],x=d*(d+1)/2,b=Math.min(g,r);for(let T=0;T<=b;T++)for(f=T;f<=g;f++){m.length=0;let A=v7(e,u,t,T,f,m),C=Math.floor(f*(1-f)/2)+d*f;for(let E=0;E<i;E++){let v=Math.floor(E*x),D=p[v+C];s[E+T*i]+=D*A}}return s};function lZe(e,t,n,i,o,r){let s,a,c=-1,u=t.length,f=u*(u+1)/2;for(let d=0;d<o;d++){let p=Math.floor(d*f);for(s=0;s<u;s++)a=t[s]*o*(r+1)+d,e[p+s]=i[a];for(let g=1;g<u;g++){let m=0,x=Math.floor(g*(1-g)/2)+u*g,b=!1;for(s=0;s<u-g;s++){let T=n[t[s]],A=n[t[s+g]],C,E;if(A-T<=0)a=t[s]*o*(r+1)+o*g+d,C=i[a],E=C/P.factorial(g),e[p+x+m]=E,m++;else{let v=Math.floor((g-1)*(2-g)/2)+u*(g-1);C=e[p+v+s+1]-e[p+v+s],E=C/(A-T),e[p+x+m]=E,m++}b=b||C!==0}b&&(c=Math.max(c,g))}}return c}var HL=Uz;var w7={type:"Lagrange"};w7.getRequiredDataPoints=function(e){return Math.max(e+1,2)};w7.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a=t.length;for(r=0;r<i;r++)o[r]=0;for(r=0;r<a;r++){let c=1;for(s=0;s<a;s++)if(s!==r){let u=t[r]-t[s];c*=(e-t[s])/u}for(s=0;s<i;s++)o[s]+=c*n[r*i+s]}return o};var GL=w7;var D7={type:"Linear"};D7.getRequiredDataPoints=function(e){return 2};D7.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c=t[0],u=t[1];for(r=0;r<i;r++)s=n[r],a=n[r+i],o[r]=((a-s)*e+u*s-c*a)/(u-c);return o};var Yb=D7;function Tc(e,t,n){this.clock=y(e,0),this.cone=y(t,0),this.magnitude=y(n,1)}Tc.fromCartesian3=function(e,t){let n=e.x,i=e.y,o=e.z,r=n*n+i*i;return l(t)||(t=new Tc),t.clock=Math.atan2(i,n),t.cone=Math.atan2(Math.sqrt(r),o),t.magnitude=Math.sqrt(r+o*o),t};Tc.clone=function(e,t){if(l(e))return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new Tc(e.clock,e.cone,e.magnitude)};Tc.normalize=function(e,t){return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new Tc(e.clock,e.cone,1)};Tc.equals=function(e,t){return e===t||l(e)&&l(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude};Tc.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.clock-t.clock)<=n&&Math.abs(e.cone-t.cone)<=n&&Math.abs(e.magnitude-t.magnitude)<=n};Tc.prototype.equals=function(e){return Tc.equals(this,e)};Tc.prototype.clone=function(e){return Tc.clone(this,e)};Tc.prototype.equalsEpsilon=function(e,t){return Tc.equalsEpsilon(this,e,t)};Tc.prototype.toString=function(){return`(${this.clock}, ${this.cone}, ${this.magnitude})`};var WL=Tc;var KL=Bo(ru(),1);var I7;typeof performance<"u"&&typeof performance.now=="function"&&isFinite(performance.now())?I7=function(){return performance.now()}:I7=function(){return Date.now()};var Ci=I7;function P7(e){e=y(e,y.EMPTY_OBJECT);let t=e.currentTime,n=e.startTime,i=e.stopTime;l(t)?t=K.clone(t):l(n)?t=K.clone(n):l(i)?t=K.addDays(i,-1,new K):t=K.now(),l(n)?n=K.clone(n):n=K.clone(t),l(i)?i=K.clone(i):i=K.addDays(n,1,new K),this.startTime=n,this.stopTime=i,this.clockRange=y(e.clockRange,jr.UNBOUNDED),this.canAnimate=y(e.canAnimate,!0),this.onTick=new me,this.onStop=new me,this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=Ci(),this.currentTime=t,this.multiplier=y(e.multiplier,1),this.shouldAnimate=y(e.shouldAnimate,!1),this.clockStep=y(e.clockStep,yo.SYSTEM_CLOCK_MULTIPLIER)}Object.defineProperties(P7.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){K.equals(this._currentTime,e)||(this._clockStep===yo.SYSTEM_CLOCK&&(this._clockStep=yo.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===yo.SYSTEM_CLOCK&&(this._clockStep=yo.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===yo.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=K.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===yo.SYSTEM_CLOCK&&(this._clockStep=yo.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}});P7.prototype.tick=function(){let e=Ci(),t=K.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){let n=this._clockStep;if(n===yo.SYSTEM_CLOCK)t=K.now(t);else{let i=this._multiplier;if(n===yo.TICK_DEPENDENT)t=K.addSeconds(t,i,t);else{let a=e-this._lastSystemTime;t=K.addSeconds(t,i*(a/1e3),t)}let o=this.clockRange,r=this.startTime,s=this.stopTime;if(o===jr.CLAMPED)K.lessThan(t,r)?t=K.clone(r,t):K.greaterThan(t,s)&&(t=K.clone(s,t),this.onStop.raiseEvent(this));else if(o===jr.LOOP_STOP)for(K.lessThan(t,r)&&(t=K.clone(r,t));K.greaterThan(t,s);)t=K.addSeconds(r,K.secondsDifference(t,s),t),this.onStop.raiseEvent(this)}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t};var ah=P7;function Xb(){this._definitionChanged=new me,this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}Object.defineProperties(Xb.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:vl("startTime"),stopTime:vl("stopTime"),currentTime:vl("currentTime"),clockRange:vl("clockRange"),clockStep:vl("clockStep"),multiplier:vl("multiplier")});Xb.prototype.clone=function(e){return l(e)||(e=new Xb),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e};Xb.prototype.equals=function(e){return this===e||l(e)&&K.equals(this.startTime,e.startTime)&&K.equals(this.stopTime,e.stopTime)&&K.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier};Xb.prototype.merge=function(e){this.startTime=y(this.startTime,e.startTime),this.stopTime=y(this.stopTime,e.stopTime),this.currentTime=y(this.currentTime,e.currentTime),this.clockRange=y(this.clockRange,e.clockRange),this.clockStep=y(this.clockStep,e.clockStep),this.multiplier=y(this.multiplier,e.multiplier)};Xb.prototype.getValue=function(e){return l(e)||(e=new ah),e.startTime=y(this.startTime,e.startTime),e.stopTime=y(this.stopTime,e.stopTime),e.currentTime=y(this.currentTime,e.currentTime),e.clockRange=y(this.clockRange,e.clockRange),e.multiplier=y(this.multiplier,e.multiplier),e.clockStep=y(this.clockStep,e.clockStep),e};var ch=Xb;var uZe=H.WHITE,fZe=.1,dZe=new z(8,8),hZe=new z(0,0),mZe=new z(1,1);function LE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}Object.defineProperties(LE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._cellAlpha)&&q.isConstant(this._lineCount)&&q.isConstant(this._lineThickness)&&q.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),cellAlpha:le("cellAlpha"),lineCount:le("lineCount"),lineThickness:le("lineThickness"),lineOffset:le("lineOffset")});LE.prototype.getType=function(e){return"Grid"};var pZe=new K;LE.prototype.getValue=function(e,t){return l(e)||(e=K.now(pZe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,uZe,t.color),t.cellAlpha=q.getValueOrDefault(this._cellAlpha,e,fZe),t.lineCount=q.getValueOrClonedDefault(this._lineCount,e,dZe,t.lineCount),t.lineThickness=q.getValueOrClonedDefault(this._lineThickness,e,mZe,t.lineThickness),t.lineOffset=q.getValueOrClonedDefault(this._lineOffset,e,hZe,t.lineOffset),t};LE.prototype.equals=function(e){return this===e||e instanceof LE&&q.equals(this._color,e._color)&&q.equals(this._cellAlpha,e._cellAlpha)&&q.equals(this._lineCount,e._lineCount)&&q.equals(this._lineThickness,e._lineThickness)&&q.equals(this._lineOffset,e._lineOffset)};var NE=LE;function FE(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(FE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});FE.prototype.getType=function(e){return"PolylineArrow"};var _Ze=new K;FE.prototype.getValue=function(e,t){return l(e)||(e=K.now(_Ze)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,H.WHITE,t.color),t};FE.prototype.equals=function(e){return this===e||e instanceof FE&&q.equals(this._color,e._color)};var BE=FE;var gZe=H.WHITE,yZe=H.TRANSPARENT,xZe=16,bZe=255;function kE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(kE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._gapColor)&&q.isConstant(this._dashLength)&&q.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),gapColor:le("gapColor"),dashLength:le("dashLength"),dashPattern:le("dashPattern")});kE.prototype.getType=function(e){return"PolylineDash"};var TZe=new K;kE.prototype.getValue=function(e,t){return l(e)||(e=K.now(TZe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,gZe,t.color),t.gapColor=q.getValueOrClonedDefault(this._gapColor,e,yZe,t.gapColor),t.dashLength=q.getValueOrDefault(this._dashLength,e,xZe,t.dashLength),t.dashPattern=q.getValueOrDefault(this._dashPattern,e,bZe,t.dashPattern),t};kE.prototype.equals=function(e){return this===e||e instanceof kE&&q.equals(this._color,e._color)&&q.equals(this._gapColor,e._gapColor)&&q.equals(this._dashLength,e._dashLength)&&q.equals(this._dashPattern,e._dashPattern)};var VE=kE;var CZe=H.WHITE,AZe=.25,EZe=1;function UE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(UE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),glowPower:le("glowPower"),taperPower:le("taperPower")});UE.prototype.getType=function(e){return"PolylineGlow"};var SZe=new K;UE.prototype.getValue=function(e,t){return l(e)||(e=K.now(SZe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,CZe,t.color),t.glowPower=q.getValueOrDefault(this._glowPower,e,AZe,t.glowPower),t.taperPower=q.getValueOrDefault(this._taperPower,e,EZe,t.taperPower),t};UE.prototype.equals=function(e){return this===e||e instanceof UE&&q.equals(this._color,e._color)&&q.equals(this._glowPower,e._glowPower)&&q.equals(this._taperPower,e._taperPower)};var zE=UE;var vZe=H.WHITE,wZe=H.BLACK,DZe=1;function HE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}Object.defineProperties(HE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._outlineColor)&&q.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth")});HE.prototype.getType=function(e){return"PolylineOutline"};var IZe=new K;HE.prototype.getValue=function(e,t){return l(e)||(e=K.now(IZe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,vZe,t.color),t.outlineColor=q.getValueOrClonedDefault(this._outlineColor,e,wZe,t.outlineColor),t.outlineWidth=q.getValueOrDefault(this._outlineWidth,e,DZe),t};HE.prototype.equals=function(e){return this===e||e instanceof HE&&q.equals(this._color,e._color)&&q.equals(this._outlineColor,e._outlineColor)&&q.equals(this._outlineWidth,e._outlineWidth)};var Wy=HE;function N_(e,t){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new zr,this._referenceFrame=y(t,Hi.FIXED),this.setValue(e)}Object.defineProperties(N_.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var PZe=new K;N_.prototype.getValue=function(e,t){return l(e)||(e=K.now(PZe)),this.getValueInReferenceFrame(e,Hi.FIXED,t)};N_.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._value;if(!l(i))return;let o=i.length;l(n)||(n=new Array(o));let r=0,s=0;for(;r<o;){let c=i[r].getValueInReferenceFrame(e,t,n[r]);l(c)&&(n[s]=c,s++),r++}return n.length=s,n};N_.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,N_.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};N_.prototype.equals=function(e){return this===e||e instanceof N_&&this._referenceFrame===e._referenceFrame&&q.arrayEquals(this._value,e._value)};N_.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var F_=N_;function jy(e){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new zr,this.setValue(e)}Object.defineProperties(jy.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});var RZe=new K;jy.prototype.getValue=function(e,t){l(e)||(e=K.now(RZe));let n=this._value;if(!l(n))return;let i=n.length;l(t)||(t=new Array(i));let o=0,r=0;for(;o<i;){let a=this._value[o].getValue(e,t[o]);l(a)&&(t[r]=a,r++),o++}return t.length=r,t};jy.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,jy.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};jy.prototype.equals=function(e){return this===e||e instanceof jy&&q.arrayEquals(this._value,e._value)};jy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var GE=jy;function Kb(e){let t=e._targetProperty;if(!l(t)){let n=e._targetEntity;if(!l(n)){if(n=e._targetCollection.getById(e._targetId),!l(n)){e._targetEntity=e._targetProperty=void 0;return}n.definitionChanged.addEventListener(Mu.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=n}let i=e._targetPropertyNames;t=e._targetEntity;for(let o=0,r=i.length;o<r&&l(t);++o)t=t[i[o]];e._targetProperty=t}return t}function Mu(e,t,n){this._targetCollection=e,this._targetId=t,this._targetPropertyNames=n,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new me,e.collectionChanged.addEventListener(Mu.prototype._onCollectionChanged,this)}Object.defineProperties(Mu.prototype,{isConstant:{get:function(){return q.isConstant(Kb(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){let e=Kb(this);return l(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return Kb(this)}}});Mu.fromString=function(e,t){let n,i=[],o=!0,r=!1,s="";for(let a=0;a<t.length;++a){let c=t.charAt(a);r?(s+=c,r=!1):c==="\\"?r=!0:o&&c==="#"?(n=s,o=!1,s=""):!o&&c==="."?(i.push(s),s=""):s+=c}return i.push(s),new Mu(e,n,i)};var OZe=new K;Mu.prototype.getValue=function(e,t){let n=Kb(this);return l(e)||(e=K.now(OZe)),l(n)?n.getValue(e,t):void 0};Mu.prototype.getValueInReferenceFrame=function(e,t,n){let i=Kb(this);return l(i)?i.getValueInReferenceFrame(e,t,n):void 0};Mu.prototype.getType=function(e){let t=Kb(this);return l(t)?t.getType(e):void 0};Mu.prototype.equals=function(e){if(this===e)return!0;let t=this._targetPropertyNames,n=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==n.length)return!1;let i=this._targetPropertyNames.length;for(let o=0;o<i;o++)if(t[o]!==n[o])return!1;return!0};Mu.prototype._onTargetEntityDefinitionChanged=function(e,t,n,i){l(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))};Mu.prototype._onCollectionChanged=function(e,t,n){let i=this._targetEntity;l(i)&&n.indexOf(i)!==-1?(i.definitionChanged.removeEventListener(Mu.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):l(i)||(i=Kb(this),l(i)&&this._definitionChanged.raiseEvent(this))};var B_=Mu;var MZe={packedLength:1,pack:function(e,t,n){return n=y(n,0),t[n]=e,t},unpack:function(e,t,n){return t=y(t,0),e[t]},convertPackedArrayForInterpolation:function(e,t,n,i){l(i)||(i=[]),t=y(t,0),n=y(n,e.length);let o;for(let r=0,s=n-t+1;r<s;r++){let a=e[t+r];r===0||Math.abs(o-a)<Math.PI?i[r]=a:i[r]=a-P.TWO_PI,o=a}},unpackInterpolationResult:function(e,t,n,i,o){return o=e[0],o<0?o+P.TWO_PI:o}},jf=MZe;var sde={packedLength:1,pack:function(e,t,n){n=y(n,0),t[n]=e},unpack:function(e,t,n){return t=y(t,0),e[t]}};function ade(e,t,n){let i,o=e.length,r=n.length,s=o+r;if(e.length=s,o!==t){let a=o-1;for(i=s-1;i>=t;i--)e[i]=e[a--]}for(i=0;i<r;i++)e[t++]=n[i]}function cde(e,t){return e instanceof K?e:typeof e=="string"?K.fromIso8601(e):K.addSeconds(t,e,new K)}var R7=[],O7=[];function zz(e,t,n,i,o){let r=0,s,a,c,u,f,d;for(;r<i.length;){f=cde(i[r],e),c=Po(t,f,K.compare);let p=0,g=0;if(c<0){for(c=~c,u=c*o,a=void 0,d=t[c];r<i.length&&(f=cde(i[r],e),!(l(a)&&K.compare(a,f)>=0||l(d)&&K.compare(f,d)>=0));){for(R7[p++]=f,r=r+1,s=0;s<o;s++)O7[g++]=i[r],r=r+1;a=f}p>0&&(O7.length=g,ade(n,u,O7),R7.length=p,ade(t,c,R7))}else{for(s=0;s<o;s++)r++,n[c*o+s]=i[r];r++}}}function lh(e,t){let n=e;n===Number&&(n=sde);let i=n.packedLength,o=y(n.packedInterpolationLength,i),r=0,s;if(l(t)){let a=t.length;s=new Array(a);for(let c=0;c<a;c++){let u=t[c];u===Number&&(u=sde);let f=u.packedLength;i+=f,o+=y(u.packedInterpolationLength,f),s[c]=u}r=a}this._type=e,this._innerType=n,this._interpolationDegree=1,this._interpolationAlgorithm=Yb,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=i,this._packedInterpolationLength=o,this._updateTableLength=!0,this._interpolationResult=new Array(o),this._definitionChanged=new me,this._derivativeTypes=t,this._innerDerivativeTypes=s,this._inputOrder=r,this._forwardExtrapolationType=Ou.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=Ou.NONE,this._backwardExtrapolationDuration=0}Object.defineProperties(lh.prototype,{isConstant:{get:function(){return this._values.length===0}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}});var LZe=new K;lh.prototype.getValue=function(e,t){l(e)||(e=K.now(LZe));let n=this._times,i=n.length;if(i===0)return;let o,r=this._innerType,s=this._values,a=Po(n,e,K.compare);if(a<0){if(a=~a,a===0){let E=n[a];if(o=this._backwardExtrapolationDuration,this._backwardExtrapolationType===Ou.NONE||o!==0&&K.secondsDifference(E,e)>o)return;if(this._backwardExtrapolationType===Ou.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let E=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===Ou.NONE||o!==0&&K.secondsDifference(e,E)>o)return;if(this._forwardExtrapolationType===Ou.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,u=this._yTable,f=this._interpolationAlgorithm,d=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let E=Math.min(f.getRequiredDataPoints(this._interpolationDegree,p),i);E!==this._numberOfPoints&&(this._numberOfPoints=E,c.length=E,u.length=E*d)}let g=this._numberOfPoints-1;if(g<1)return;let m=0,x=i-1;if(x-m+1>=g+1){let E=a-(g/2|0)-1;E<m&&(E=m);let v=E+g;v>x&&(v=x,E=v-g,E<m&&(E=m)),m=E,x=v}let T=x-m+1;for(let E=0;E<T;++E)c[E]=K.secondsDifference(n[m+E],n[x]);if(l(r.convertPackedArrayForInterpolation))r.convertPackedArrayForInterpolation(s,m,x,u);else{let E=0,v=this._packedLength,D=m*v,O=(x+1)*v;for(;D<O;)u[E]=s[D],D++,E++}let A=K.secondsDifference(e,n[x]),C;if(p===0||!l(f.interpolate))C=f.interpolateOrderZero(A,c,u,d,this._interpolationResult);else{let E=Math.floor(d/(p+1));C=f.interpolate(A,c,u,E,p,p,this._interpolationResult)}return l(r.unpackInterpolationResult)?r.unpackInterpolationResult(C,s,m,x,t):r.unpack(C,0,t)}return r.unpack(s,a*this._packedLength,t)};lh.prototype.setInterpolationOptions=function(e){if(!l(e))return;let t=!1,n=e.interpolationAlgorithm,i=e.interpolationDegree;l(n)&&this._interpolationAlgorithm!==n&&(this._interpolationAlgorithm=n,t=!0),l(i)&&this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))};lh.prototype.addSample=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=[];if(s.push(e),r.pack(t,s,s.length),o){let a=i.length;for(let c=0;c<a;c++)i[c].pack(n[c],s,s.length)}zz(void 0,this._times,this._values,s,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};lh.prototype.addSamples=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=e.length,a=[];for(let c=0;c<s;c++)if(a.push(e[c]),r.pack(t[c],a,a.length),o){let u=n[c],f=i.length;for(let d=0;d<f;d++)i[d].pack(u[d],a,a.length)}zz(void 0,this._times,this._values,a,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};lh.prototype.addSamplesPackedArray=function(e,t){zz(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};lh.prototype.removeSample=function(e){let t=Po(this._times,e,K.compare);return t<0?!1:(lde(this,t,1),!0)};function lde(e,t,n){let i=e._packedLength;e._times.splice(t,n),e._values.splice(t*i,n*i),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}lh.prototype.removeSamples=function(e){let t=this._times,n=Po(t,e.start,K.compare);n<0?n=~n:e.isStartIncluded||++n;let i=Po(t,e.stop,K.compare);i<0?i=~i:e.isStopIncluded&&++i,lde(this,n,i-n)};lh.prototype.equals=function(e){if(this===e)return!0;if(!l(e)||this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;let t=this._derivativeTypes,n=l(t),i=e._derivativeTypes,o=l(i);if(n!==o)return!1;let r,s;if(n){if(s=t.length,s!==i.length)return!1;for(r=0;r<s;r++)if(t[r]!==i[r])return!1}let a=this._times,c=e._times;if(s=a.length,s!==c.length)return!1;for(r=0;r<s;r++)if(!K.equals(a[r],c[r]))return!1;let u=this._values,f=e._values;for(s=u.length,r=0;r<s;r++)if(u[r]!==f[r])return!1;return!0};lh._mergeNewSamples=zz;var Lu=lh;function qf(e,t){t=y(t,0);let n;if(t>0){n=new Array(t);for(let i=0;i<t;i++)n[i]=h}this._numberOfDerivatives=t,this._property=new Lu(h,n),this._definitionChanged=new me,this._referenceFrame=y(e,Hi.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)}Object.defineProperties(qf.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}});var NZe=new K;qf.prototype.getValue=function(e,t){return l(e)||(e=K.now(NZe)),this.getValueInReferenceFrame(e,Hi.FIXED,t)};qf.prototype.getValueInReferenceFrame=function(e,t,n){if(n=this._property.getValue(e,n),l(n))return Pd.convertToReferenceFrame(e,n,this._referenceFrame,t,n)};qf.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)};qf.prototype.addSample=function(e,t,n){let i=this._numberOfDerivatives;this._property.addSample(e,t,n)};qf.prototype.addSamples=function(e,t,n){this._property.addSamples(e,t,n)};qf.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)};qf.prototype.removeSample=function(e){return this._property.removeSample(e)};qf.prototype.removeSamples=function(e){this._property.removeSamples(e)};qf.prototype.equals=function(e){return this===e||e instanceof qf&&q.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var ya=qf;var FZe={HORIZONTAL:0,VERTICAL:1},uh=Object.freeze(FZe);var BZe=uh.HORIZONTAL,kZe=H.WHITE,VZe=H.BLACK,UZe=0,zZe=1;function WE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}Object.defineProperties(WE.prototype,{isConstant:{get:function(){return q.isConstant(this._orientation)&&q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._offset)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:le("orientation"),evenColor:le("evenColor"),oddColor:le("oddColor"),offset:le("offset"),repeat:le("repeat")});WE.prototype.getType=function(e){return"Stripe"};var HZe=new K;WE.prototype.getValue=function(e,t){return l(e)||(e=K.now(HZe)),l(t)||(t={}),t.horizontal=q.getValueOrDefault(this._orientation,e,BZe)===uh.HORIZONTAL,t.evenColor=q.getValueOrClonedDefault(this._evenColor,e,kZe,t.evenColor),t.oddColor=q.getValueOrClonedDefault(this._oddColor,e,VZe,t.oddColor),t.offset=q.getValueOrDefault(this._offset,e,UZe),t.repeat=q.getValueOrDefault(this._repeat,e,zZe),t};WE.prototype.equals=function(e){return this===e||e instanceof WE&&q.equals(this._orientation,e._orientation)&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._offset,e._offset)&&q.equals(this._repeat,e._repeat)};var jE=WE;function qy(e){this._definitionChanged=new me,this._intervals=new Gr,this._intervals.changedEvent.addEventListener(qy.prototype._intervalsChanged,this),this._referenceFrame=y(e,Hi.FIXED)}Object.defineProperties(qy.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}});var GZe=new K;qy.prototype.getValue=function(e,t){return l(e)||(e=K.now(GZe)),this.getValueInReferenceFrame(e,Hi.FIXED,t)};qy.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._intervals.findDataForIntervalContainingDate(e);if(l(i))return Pd.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};qy.prototype.equals=function(e){return this===e||e instanceof qy&&this._intervals.equals(e._intervals,q.equals)&&this._referenceFrame===e._referenceFrame};qy.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var k_=qy;function Zb(){this._definitionChanged=new me,this._intervals=new Gr,this._intervals.changedEvent.addEventListener(Zb.prototype._intervalsChanged,this)}Object.defineProperties(Zb.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var WZe=new K;Zb.prototype.getValue=function(e,t){l(e)||(e=K.now(WZe));let n=this._intervals.findDataForIntervalContainingDate(e);return l(n)&&typeof n.clone=="function"?n.clone(t):n};Zb.prototype.equals=function(e){return this===e||e instanceof Zb&&this._intervals.equals(e._intervals,q.equals)};Zb.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var V_=Zb;function qE(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new me,this._normalize=y(t,!0),this.position=e}Object.defineProperties(qE.prototype,{isConstant:{get:function(){return q.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){let t=this._position;t!==e&&(l(t)&&this._subscription(),this._position=e,l(e)&&(this._subscription=e._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});var jZe=new h,ude=new h,fde=new K,qZe=new K,M7=1/60;qE.prototype.getValue=function(e,t){return this._getValue(e,t)};qE.prototype._getValue=function(e,t,n){l(e)||(e=K.now(qZe)),l(t)||(t=new h);let i=this._position;if(q.isConstant(i))return this._normalize?void 0:h.clone(h.ZERO,t);let o=i.getValue(e,jZe),r=i.getValue(K.addSeconds(e,M7,fde),ude);if(!l(o)||!l(r)&&(r=o,o=i.getValue(K.addSeconds(e,-M7,fde),ude),!l(o)))return;if(h.equals(o,r))return this._normalize?void 0:h.clone(h.ZERO,t);l(n)&&o.clone(n);let s=h.subtract(r,o,t);return this._normalize?h.normalize(s,t):h.divideByScalar(s,M7,t)};qE.prototype.equals=function(e){return this===e||e instanceof qE&&q.equals(this._position,e._position)};var $b=qE;function jL(e,t){this._velocityVectorProperty=new $b(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new me,this.ellipsoid=y(t,ee.default);let n=this;this._velocityVectorProperty.definitionChanged.addEventListener(function(){n._definitionChanged.raiseEvent(n)})}Object.defineProperties(jL.prototype,{isConstant:{get:function(){return q.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){this._ellipsoid!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});var dde=new h,YZe=new h,hde=new $,XZe=new K;jL.prototype.getValue=function(e,t){l(e)||(e=K.now(XZe));let n=this._velocityVectorProperty._getValue(e,YZe,dde);if(l(n))return Lt.rotationMatrixFromPositionVelocity(dde,n,this._ellipsoid,hde),Le.fromRotationMatrix(hde,t)};jL.prototype.equals=function(e){return this===e||e instanceof jL&&q.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))};var qL=jL;var U_={COMPLETE:0,BELOW_ELLIPSOID_HORIZON:1,ABOVE_ELLIPSOID_HORIZON:2};U_.validate=function(e){return e===U_.COMPLETE||e===U_.BELOW_ELLIPSOID_HORIZON||e===U_.ABOVE_ELLIPSOID_HORIZON};U_.toString=function(e){switch(e){case U_.COMPLETE:return"COMPLETE";case U_.BELOW_ELLIPSOID_HORIZON:return"BELOW_ELLIPSOID_HORIZON";case U_.ABOVE_ELLIPSOID_HORIZON:return"ABOVE_ELLIPSOID_HORIZON";default:throw new de("SensorVolumePortionToDisplay value is not valid and cannot be converted to a String.")}};var YE=U_;function Yy(){}Yy.packedLength=h.packedLength;Yy.unpack=h.unpack;Yy.pack=h.pack;var L7;function YL(e,t){return t[0]==="#"&&(t=L7+t),B_.fromString(e,t)}function mde(e,t,n){if(l(n.reference))return YL(t,n.reference);if(l(n.velocityReference)){let i=YL(t,n.velocityReference);switch(e){case h:case Yy:return new $b(i,e===Yy);case Le:return new qL(i)}}throw new ce(`${JSON.stringify(n)} is not valid CZML.`)}function KZe(e,t){return new Ld(function(n,i){return t(e.getValue(n,i))},e.isConstant)}var qi=new h,tl=new WL,Cc=new fe,Qb=new Sn,Hz=new Le;function ZZe(e){let t=e.rgbaf;if(l(t))return t;let n=e.rgba;if(!l(n))return;let i=n.length;if(i===H.packedLength)return[H.byteToFloat(n[0]),H.byteToFloat(n[1]),H.byteToFloat(n[2]),H.byteToFloat(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=H.byteToFloat(n[o+1]),t[o+2]=H.byteToFloat(n[o+2]),t[o+3]=H.byteToFloat(n[o+3]),t[o+4]=H.byteToFloat(n[o+4]);return t}function pde(e,t){let n=y(e.uri,e);return l(t)?t.getDerivedResource({url:n}):we.createIfNeeded(n)}function $Ze(e){let t=e.wsen;if(l(t))return t;let n=e.wsenDegrees;if(!l(n))return;let i=n.length;if(i===se.packedLength)return[P.toRadians(n[0]),P.toRadians(n[1]),P.toRadians(n[2]),P.toRadians(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=P.toRadians(n[o+1]),t[o+2]=P.toRadians(n[o+2]),t[o+3]=P.toRadians(n[o+3]),t[o+4]=P.toRadians(n[o+4]);return t}function QZe(e){let t=e.length;if(tl.magnitude=1,t===2)return tl.clock=e[0],tl.cone=e[1],h.fromSpherical(tl,qi),[qi.x,qi.y,qi.z];let n=new Array(t/3*4);for(let i=0,o=0;i<t;i+=3,o+=4)n[o]=e[i],tl.clock=e[i+1],tl.cone=e[i+2],h.fromSpherical(tl,qi),n[o+1]=qi.x,n[o+2]=qi.y,n[o+3]=qi.z;return n}function JZe(e){let t=e.length;if(t===3)return tl.clock=e[0],tl.cone=e[1],tl.magnitude=e[2],h.fromSpherical(tl,qi),[qi.x,qi.y,qi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],tl.clock=e[i+1],tl.cone=e[i+2],tl.magnitude=e[i+3],h.fromSpherical(tl,qi),n[i+1]=qi.x,n[i+2]=qi.y,n[i+3]=qi.z;return n}function e$e(e){let t=e.length;if(t===3)return Cc.longitude=e[0],Cc.latitude=e[1],Cc.height=e[2],ee.default.cartographicToCartesian(Cc,qi),[qi.x,qi.y,qi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Cc.longitude=e[i+1],Cc.latitude=e[i+2],Cc.height=e[i+3],ee.default.cartographicToCartesian(Cc,qi),n[i+1]=qi.x,n[i+2]=qi.y,n[i+3]=qi.z;return n}function t$e(e){let t=e.length;if(t===3)return Cc.longitude=P.toRadians(e[0]),Cc.latitude=P.toRadians(e[1]),Cc.height=e[2],ee.default.cartographicToCartesian(Cc,qi),[qi.x,qi.y,qi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Cc.longitude=P.toRadians(e[i+1]),Cc.latitude=P.toRadians(e[i+2]),Cc.height=e[i+3],ee.default.cartographicToCartesian(Cc,qi),n[i+1]=qi.x,n[i+2]=qi.y,n[i+3]=qi.z;return n}function N7(e){let t=e.cartesian;if(l(t))return t;let n=e.cartesianVelocity;if(l(n))return n;let i=e.unitCartesian;if(l(i))return i;let o=e.unitSpherical;if(l(o))return QZe(o);let r=e.spherical;if(l(r))return JZe(r);let s=e.cartographicRadians;if(l(s))return e$e(s);let a=e.cartographicDegrees;if(l(a))return t$e(a);throw new ce(`${JSON.stringify(e)} is not a valid CZML interval.`)}function _de(e,t){h.unpack(e,t,qi),h.normalize(qi,qi),h.pack(qi,e,t)}function n$e(e){let t=N7(e);if(t.length===3)return _de(t,0),t;for(let n=1;n<t.length;n+=4)_de(t,n);return t}function gde(e,t){Le.unpack(e,t,Hz),Le.normalize(Hz,Hz),Le.pack(Hz,e,t)}function i$e(e){let t=e.unitQuaternion;if(l(t)){if(t.length===4)return gde(t,0),t;for(let n=1;n<t.length;n+=5)gde(t,n)}return t}function yde(e){return typeof e=="boolean"?Boolean:typeof e=="number"?Number:typeof e=="string"?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?We:e.hasOwnProperty("cartesian2")?z:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?h:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?Yy:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?H:e.hasOwnProperty("arcType")?tn:e.hasOwnProperty("classificationType")?Hn:e.hasOwnProperty("colorBlendMode")?hc:e.hasOwnProperty("cornerType")?Mi:e.hasOwnProperty("heightReference")?je:e.hasOwnProperty("horizontalOrigin")?xi:e.hasOwnProperty("date")?K:e.hasOwnProperty("labelStyle")?Go:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?Bt:e.hasOwnProperty("distanceDisplayCondition")?Ot:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?Le:e.hasOwnProperty("shadowMode")?bn:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?uh:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?se:e.hasOwnProperty("uri")?KL.default:e.hasOwnProperty("verticalOrigin")?Mn:Object}function o$e(e,t,n){switch(e){case tn:return tn[y(t.arcType,t)];case Array:return t.array;case Boolean:return y(t.boolean,t);case We:return t.boundingRectangle;case z:return t.cartesian2;case h:return N7(t);case Yy:return n$e(t);case H:return ZZe(t);case Hn:return Hn[y(t.classificationType,t)];case hc:return hc[y(t.colorBlendMode,t)];case Mi:return Mi[y(t.cornerType,t)];case je:return je[y(t.heightReference,t)];case xi:return xi[y(t.horizontalOrigin,t)];case Image:return pde(t,n);case K:return K.fromIso8601(y(t.date,t));case Go:return Go[y(t.labelStyle,t)];case Number:return y(t.number,t);case Bt:return t.nearFarScalar;case Ot:return t.distanceDisplayCondition;case Object:return y(y(t.object,t.value),t);case Le:return i$e(t);case jf:return y(t.number,t);case YE:return YE[y(t.portionToDisplay,t)];case bn:return bn[y(y(t.shadowMode,t.shadows),t)];case String:return y(t.string,t);case uh:return uh[y(t.stripeOrientation,t)];case se:return $Ze(t);case KL.default:return pde(t,n);case Mn:return Mn[y(t.verticalOrigin,t)];default:throw new ce(`Unknown CzmlDataSource interval type: ${e}`)}}var r$e={HERMITE:HL,LAGRANGE:GL,LINEAR:Yb};function Gz(e,t){let n=e.interpolationAlgorithm,i=e.interpolationDegree;(l(n)||l(i))&&t.setInterpolationOptions({interpolationAlgorithm:r$e[n],interpolationDegree:i});let o=e.forwardExtrapolationType;l(o)&&(t.forwardExtrapolationType=Ou[o]);let r=e.forwardExtrapolationDuration;l(r)&&(t.forwardExtrapolationDuration=r);let s=e.backwardExtrapolationType;l(s)&&(t.backwardExtrapolationType=Ou[s]);let a=e.backwardExtrapolationDuration;l(a)&&(t.backwardExtrapolationDuration=a)}var xde={iso8601:void 0};function fr(e){if(l(e))return xde.iso8601=e,Sn.fromIso8601(xde)}function F7(e){let t=Ue.MAXIMUM_INTERVAL.clone();return t.data=e,t}function bde(e){let t=new xc;return t.intervals.addInterval(F7(e)),t}function Tde(e){let t=new _a(e.referenceFrame);return t.intervals.addInterval(F7(e)),t}function Wz(e,t,n,i,o,r,s){let a=fr(i.interval);l(o)&&(l(a)?a=Sn.intersect(a,o,Qb):a=o);let c,u,f,d=!l(i.reference)&&!l(i.velocityReference),p=l(a)&&!a.equals(Ue.MAXIMUM_INTERVAL);if(i.delete===!0){if(!p){t[n]=void 0;return}return Ode(t[n],a)}let g=!1;if(d){if(u=o$e(e,i,r),!l(u))return;c=y(e.packedLength,1),f=y(u.length,1),g=!l(i.array)&&typeof u!="string"&&f>c&&e!==Object}let m=typeof e.unpack=="function"&&e!==jf;if(!g&&!p){d?t[n]=new Jn(m?e.unpack(u,0):u):t[n]=mde(e,s,i);return}let x=t[n],b,T=i.epoch;if(l(T)&&(b=K.fromIso8601(T)),g&&!p){x instanceof Lu||(t[n]=x=new Lu(e)),x.addSamplesPackedArray(u,b),Gz(i,x);return}let A;if(!g&&p){a=a.clone(),d?a.data=m?e.unpack(u,0):u:a.data=mde(e,s,i),l(x)||(t[n]=x=d?new V_:new xc),d&&x instanceof V_?x.intervals.addInterval(a):x instanceof xc?(d&&(a.data=new Jn(a.data)),x.intervals.addInterval(a)):(t[n]=x=bde(x),d&&(a.data=new Jn(a.data)),x.intervals.addInterval(a));return}l(x)||(t[n]=x=new xc),x instanceof xc||(t[n]=x=bde(x));let C=x.intervals;A=C.findInterval(a),(!l(A)||!(A.data instanceof Lu))&&(A=a.clone(),A.data=new Lu(e),C.addInterval(A)),A.data.addSamplesPackedArray(u,b),Gz(i,A.data)}function Ode(e,t){if(e instanceof Lu){e.removeSamples(t);return}else if(e instanceof V_){e.intervals.removeInterval(t);return}else if(e instanceof xc){let n=e.intervals;for(let i=0;i<n.length;++i){let o=Sn.intersect(n.get(i),t,Qb);o.isEmpty||Ode(o.data,t)}n.removeInterval(t);return}}function ge(e,t,n,i,o,r,s){if(l(i))if(Array.isArray(i))for(let a=0,c=i.length;a<c;++a)Wz(e,t,n,i[a],o,r,s);else Wz(e,t,n,i,o,r,s)}function Cde(e,t,n,i,o,r){let s=fr(n.interval);l(i)&&(l(s)?s=Sn.intersect(s,i,Qb):s=i);let a=l(n.cartesianVelocity)?1:0,c=h.packedLength*(a+1),u,f,d=!l(n.reference),p=l(s)&&!s.equals(Ue.MAXIMUM_INTERVAL);if(n.delete===!0){if(!p){e[t]=void 0;return}return Mde(e[t],s)}let g,m=!1;if(d&&(l(n.referenceFrame)&&(g=Hi[n.referenceFrame]),g=y(g,Hi.FIXED),u=N7(n),f=y(u.length,1),m=f>c),!m&&!p){d?e[t]=new zc(h.unpack(u),g):e[t]=YL(r,n.reference);return}let x=e[t],b,T=n.epoch;if(l(T)&&(b=K.fromIso8601(T)),m&&!p){(!(x instanceof ya)||l(g)&&x.referenceFrame!==g)&&(e[t]=x=new ya(g,a)),x.addSamplesPackedArray(u,b),Gz(n,x);return}let A;if(!m&&p){s=s.clone(),d?s.data=h.unpack(u):s.data=YL(r,n.reference),l(x)||(d?x=new k_(g):x=new _a(g),e[t]=x),d&&x instanceof k_&&l(g)&&x.referenceFrame===g?x.intervals.addInterval(s):x instanceof _a?(d&&(s.data=new zc(s.data,g)),x.intervals.addInterval(s)):(e[t]=x=Tde(x),d&&(s.data=new zc(s.data,g)),x.intervals.addInterval(s));return}l(x)?x instanceof _a||(e[t]=x=Tde(x)):e[t]=x=new _a(g);let C=x.intervals;A=C.findInterval(s),(!l(A)||!(A.data instanceof ya)||l(g)&&A.data.referenceFrame!==g)&&(A=s.clone(),A.data=new ya(g,a),C.addInterval(A)),A.data.addSamplesPackedArray(u,b),Gz(n,A.data)}function Mde(e,t){if(e instanceof ya){e.removeSamples(t);return}else if(e instanceof k_){e.intervals.removeInterval(t);return}else if(e instanceof _a){let n=e.intervals;for(let i=0;i<n.length;++i){let o=Sn.intersect(n.get(i),t,Qb);o.isEmpty||Mde(o.data,t)}n.removeInterval(t);return}}function Lde(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Cde(e,t,n[s],i,o,r);else Cde(e,t,n,i,o,r)}function Ade(e,t,n,i){l(n.references)?jz(e,t,n.references,n.interval,i,GE,xc):(l(n.cartesian2)?n.array=z.unpackArray(n.cartesian2):l(n.cartesian)&&(n.array=z.unpackArray(n.cartesian)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function Ede(e,t,n,i,o,r){let s=fr(n.interval);l(i)&&(l(s)?s=Sn.intersect(s,i,Qb):s=i);let a=e[t],c,u;if(l(s)){a instanceof SE||(a=new SE,e[t]=a);let d=a.intervals;u=d.findInterval({start:s.start,stop:s.stop}),l(u)?c=u.data:(u=s.clone(),d.addInterval(u))}else c=a;let f;l(n.solidColor)?(c instanceof Ut||(c=new Ut),f=n.solidColor,ge(H,c,"color",f.color,void 0,void 0,r)):l(n.grid)?(c instanceof NE||(c=new NE),f=n.grid,ge(H,c,"color",f.color,void 0,o,r),ge(Number,c,"cellAlpha",f.cellAlpha,void 0,o,r),ge(z,c,"lineCount",f.lineCount,void 0,o,r),ge(z,c,"lineThickness",f.lineThickness,void 0,o,r),ge(z,c,"lineOffset",f.lineOffset,void 0,o,r)):l(n.image)?(c instanceof jg||(c=new jg),f=n.image,ge(Image,c,"image",f.image,void 0,o,r),ge(z,c,"repeat",f.repeat,void 0,o,r),ge(H,c,"color",f.color,void 0,o,r),ge(Boolean,c,"transparent",f.transparent,void 0,o,r)):l(n.stripe)?(c instanceof jE||(c=new jE),f=n.stripe,ge(uh,c,"orientation",f.orientation,void 0,o,r),ge(H,c,"evenColor",f.evenColor,void 0,o,r),ge(H,c,"oddColor",f.oddColor,void 0,o,r),ge(Number,c,"offset",f.offset,void 0,o,r),ge(Number,c,"repeat",f.repeat,void 0,o,r)):l(n.polylineOutline)?(c instanceof Wy||(c=new Wy),f=n.polylineOutline,ge(H,c,"color",f.color,void 0,o,r),ge(H,c,"outlineColor",f.outlineColor,void 0,o,r),ge(Number,c,"outlineWidth",f.outlineWidth,void 0,o,r)):l(n.polylineGlow)?(c instanceof zE||(c=new zE),f=n.polylineGlow,ge(H,c,"color",f.color,void 0,o,r),ge(Number,c,"glowPower",f.glowPower,void 0,o,r),ge(Number,c,"taperPower",f.taperPower,void 0,o,r)):l(n.polylineArrow)?(c instanceof BE||(c=new BE),f=n.polylineArrow,ge(H,c,"color",f.color,void 0,void 0,r)):l(n.polylineDash)?(c instanceof VE||(c=new VE),f=n.polylineDash,ge(H,c,"color",f.color,void 0,void 0,r),ge(H,c,"gapColor",f.gapColor,void 0,void 0,r),ge(Number,c,"dashLength",f.dashLength,void 0,o,r),ge(Number,c,"dashPattern",f.dashPattern,void 0,o,r)):l(n.checkerboard)&&(c instanceof AE||(c=new AE),f=n.checkerboard,ge(H,c,"evenColor",f.evenColor,void 0,o,r),ge(H,c,"oddColor",f.oddColor,void 0,o,r),ge(z,c,"repeat",f.repeat,void 0,o,r)),l(u)?u.data=c:e[t]=c}function Nu(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Ede(e,t,n[s],i,o,r);else Ede(e,t,n,i,o,r)}function s$e(e,t,n,i){let o=t.name;l(o)&&(e.name=t.name)}function a$e(e,t,n,i){let o=t.description;l(o)&&ge(String,e,"description",o,void 0,i,n)}function c$e(e,t,n,i){let o=t.position;l(o)&&Lde(e,"position",o,void 0,i,n)}function l$e(e,t,n,i){let o=t.viewFrom;l(o)&&ge(h,e,"viewFrom",o,void 0,i,n)}function u$e(e,t,n,i){let o=t.orientation;l(o)&&ge(Le,e,"orientation",o,void 0,i,n)}function f$e(e,t,n,i){let o=t.properties;if(l(o)){l(e.properties)||(e.properties=new wl);for(let r in o)if(o.hasOwnProperty(r)){e.properties.hasProperty(r)||e.properties.addProperty(r);let s=o[r];if(Array.isArray(s))for(let a=0,c=s.length;a<c;++a)Wz(yde(s[a]),e.properties,r,s[a],void 0,i,n);else Wz(yde(s),e.properties,r,s,void 0,i,n)}}}function jz(e,t,n,i,o,r,s){let a=n.map(function(c){return YL(o,c)});if(l(i)){i=fr(i);let c=e[t];if(!(c instanceof s)){let u=new s;u.intervals.addInterval(F7(c)),e[t]=c=u}i.data=new r(a),c.intervals.addInterval(i)}else e[t]=new r(a)}function Sde(e,t,n,i){let o=n.references;l(o)?jz(e,t,o,n.interval,i,GE,xc):ge(Array,e,t,n,void 0,void 0,i)}function vde(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Sde(e,t,n[o],i);else Sde(e,t,n,i)}function wde(e,t,n,i){let o=n.references;l(o)?jz(e,t,o,n.interval,i,F_,_a):(l(n.cartesian)?n.array=h.unpackArray(n.cartesian):l(n.cartographicRadians)?n.array=h.fromRadiansArrayHeights(n.cartographicRadians,ee.default):l(n.cartographicDegrees)&&(n.array=h.fromDegreesArrayHeights(n.cartographicDegrees,ee.default)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function ZL(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)wde(e,t,n[o],i);else wde(e,t,n,i)}function d$e(e){return h.unpackArray(e)}function h$e(e){return h.fromRadiansArrayHeights(e,ee.default)}function m$e(e){return h.fromDegreesArrayHeights(e,ee.default)}function Dde(e,t,n,i){let o=n.references;if(l(o)){let r=o.map(function(s){let a={};return jz(a,"positions",s,n.interval,i,F_,_a),a.positions});e[t]=new F_(r)}else l(n.cartesian)?n.array=n.cartesian.map(d$e):l(n.cartographicRadians)?n.array=n.cartographicRadians.map(h$e):l(n.cartographicDegrees)&&(n.array=n.cartographicDegrees.map(m$e)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i)}function p$e(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Dde(e,t,n[o],i);else Dde(e,t,n,i)}function _$e(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;o++)Ade(e,t,n[o],i);else Ade(e,t,n,i)}function g$e(e,t,n,i){let o=t.availability;if(!l(o))return;let r;if(Array.isArray(o))for(let s=0,a=o.length;s<a;++s)l(r)||(r=new Gr),r.addInterval(fr(o[s]));else r=new Gr,r.addInterval(fr(o));e.availability=r}function y$e(e,t,n,i,o){l(t)&&ge(Yy,e,"alignedAxis",t,n,i,o)}function x$e(e,t,n,i){let o=t.billboard;if(!l(o))return;let r=fr(o.interval),s=e.billboard;l(s)||(e.billboard=s=new rc),ge(Boolean,s,"show",o.show,r,i,n),ge(Image,s,"image",o.image,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(z,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(xi,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Mn,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(jf,s,"rotation",o.rotation,r,i,n),y$e(s,o.alignedAxis,r,i,n),ge(Boolean,s,"sizeInMeters",o.sizeInMeters,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Bt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Bt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Bt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(We,s,"imageSubRegion",o.imageSubRegion,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function b$e(e,t,n,i){let o=t.box;if(!l(o))return;let r=fr(o.interval),s=e.box;l(s)||(e.box=s=new Px),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"dimensions",o.dimensions,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function T$e(e,t,n,i){let o=t.corridor;if(!l(o))return;let r=fr(o.interval),s=e.corridor;l(s)||(e.corridor=s=new Ox),ge(Boolean,s,"show",o.show,r,i,n),ZL(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(je,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Mi,s,"cornerType",o.cornerType,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Hn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function C$e(e,t,n,i){let o=t.cylinder;if(!l(o))return;let r=fr(o.interval),s=e.cylinder;l(s)||(e.cylinder=s=new Mx),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"length",o.length,r,i,n),ge(Number,s,"topRadius",o.topRadius,r,i,n),ge(Number,s,"bottomRadius",o.bottomRadius,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(Number,s,"slices",o.slices,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function A$e(e,t){let n=e.version;if(l(n)&&typeof n=="string"){let r=n.split(".");if(r.length===2){if(r[0]!=="1")throw new ce("Cesium only supports CZML version 1.");t._version=n}}if(!l(t._version))throw new ce("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");let i=t._documentPacket;l(e.name)&&(i.name=e.name);let o=e.clock;if(l(o)){let r=i.clock;l(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function E$e(e,t,n,i){let o=t.ellipse;if(!l(o))return;let r=fr(o.interval),s=e.ellipse;l(s)||(e.ellipse=s=new Lx),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),ge(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(je,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(jf,s,"rotation",o.rotation,r,i,n),ge(jf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Hn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function S$e(e,t,n,i){let o=t.ellipsoid;if(!l(o))return;let r=fr(o.interval),s=e.ellipsoid;l(s)||(e.ellipsoid=s=new Nx),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"radii",o.radii,r,i,n),ge(h,s,"innerRadii",o.innerRadii,r,i,n),ge(Number,s,"minimumClock",o.minimumClock,r,i,n),ge(Number,s,"maximumClock",o.maximumClock,r,i,n),ge(Number,s,"minimumCone",o.minimumCone,r,i,n),ge(Number,s,"maximumCone",o.maximumCone,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"stackPartitions",o.stackPartitions,r,i,n),ge(Number,s,"slicePartitions",o.slicePartitions,r,i,n),ge(Number,s,"subdivisions",o.subdivisions,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function v$e(e,t,n,i){let o=t.label;if(!l(o))return;let r=fr(o.interval),s=e.label;l(s)||(e.label=s=new Rd),ge(Boolean,s,"show",o.show,r,i,n),ge(String,s,"text",o.text,r,i,n),ge(String,s,"font",o.font,r,i,n),ge(Go,s,"style",o.style,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Boolean,s,"showBackground",o.showBackground,r,i,n),ge(H,s,"backgroundColor",o.backgroundColor,r,i,n),ge(z,s,"backgroundPadding",o.backgroundPadding,r,i,n),ge(z,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(xi,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Mn,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"fillColor",o.fillColor,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Bt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Bt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(Bt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function w$e(e,t,n,i){let o=t.model;if(!l(o))return;let r=fr(o.interval),s=e.model;l(s)||(e.model=s=new Lp),ge(Boolean,s,"show",o.show,r,i,n),ge(KL.default,s,"uri",o.gltf,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),ge(Number,s,"maximumScale",o.maximumScale,r,i,n),ge(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),ge(Boolean,s,"runAnimations",o.runAnimations,r,i,n),ge(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"silhouetteColor",o.silhouetteColor,r,i,n),ge(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(hc,s,"colorBlendMode",o.colorBlendMode,r,i,n),ge(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,u=o.nodeTransformations;if(l(u))if(Array.isArray(u))for(a=0,c=u.length;a<c;++a)Ide(s,u[a],r,i,n);else Ide(s,u,r,i,n);let f=o.articulations;if(l(f))if(Array.isArray(f))for(a=0,c=f.length;a<c;++a)Pde(s,f[a],r,i,n);else Pde(s,f,r,i,n)}function Ide(e,t,n,i,o){let r=fr(t.interval);l(n)&&(l(r)?r=Sn.intersect(r,n,Qb):r=n);let s=e.nodeTransformations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];if(!l(d))continue;l(s)||(e.nodeTransformations=s=new wl),s.hasProperty(f)||s.addProperty(f);let p=s[f];l(p)||(s[f]=p=new Fx),ge(h,p,"translation",d.translation,r,i,o),ge(Le,p,"rotation",d.rotation,r,i,o),ge(h,p,"scale",d.scale,r,i,o)}}function Pde(e,t,n,i,o){let r=fr(t.interval);l(n)&&(l(r)?r=Sn.intersect(r,n,Qb):r=n);let s=e.articulations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];l(d)&&(l(s)||(e.articulations=s=new wl),s.hasProperty(f)||s.addProperty(f),ge(Number,s,f,d,r,i,o))}}function D$e(e,t,n,i){let o=t.path;if(!l(o))return;let r=fr(o.interval),s=e.path;l(s)||(e.path=s=new Np),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"leadTime",o.leadTime,r,i,n),ge(Number,s,"trailTime",o.trailTime,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"resolution",o.resolution,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function I$e(e,t,n,i){let o=t.point;if(!l(o))return;let r=fr(o.interval),s=e.point;l(s)||(e.point=s=new kx),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"pixelSize",o.pixelSize,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Bt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Bt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function XL(e){this.polygon=e,this._definitionChanged=new me}Object.defineProperties(XL.prototype,{isConstant:{get:function(){let e=this.polygon._positions,t=this.polygon._holes;return(!l(e)||e.isConstant)&&(!l(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}});XL.prototype.getValue=function(e,t){let n;l(this.polygon._positions)&&(n=this.polygon._positions.getValue(e));let i;return l(this.polygon._holes)&&(i=this.polygon._holes.getValue(e),l(i)&&(i=i.map(function(o){return new Fa(o)}))),l(t)?(t.positions=n,t.holes=i,t):new Fa(n,i)};XL.prototype.equals=function(e){return this===e||e instanceof XL&&q.equals(this.polygon._positions,e.polygon._positions)&&q.equals(this.polygon._holes,e.polygon._holes)};function P$e(e,t,n,i){let o=t.polygon;if(!l(o))return;let r=fr(o.interval),s=e.polygon;l(s)||(e.polygon=s=new Od),ge(Boolean,s,"show",o.show,r,i,n),ZL(s,"_positions",o.positions,n),p$e(s,"_holes",o.holes,n),(l(s._positions)||l(s._holes))&&(s.hierarchy=new XL(s)),ge(Number,s,"height",o.height,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(je,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(jf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Boolean,s,"perPositionHeight",o.perPositionHeight,r,i,n),ge(Boolean,s,"closeTop",o.closeTop,r,i,n),ge(Boolean,s,"closeBottom",o.closeBottom,r,i,n),ge(tn,s,"arcType",o.arcType,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Hn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function R$e(e){return e?tn.GEODESIC:tn.NONE}function O$e(e,t,n,i){let o=t.polyline;if(!l(o))return;let r=fr(o.interval),s=e.polyline;if(l(s)||(e.polyline=s=new cc),ge(Boolean,s,"show",o.show,r,i,n),ZL(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),Nu(s,"material",o.material,r,i,n),Nu(s,"depthFailMaterial",o.depthFailMaterial,r,i,n),ge(tn,s,"arcType",o.arcType,r,i,n),ge(Boolean,s,"clampToGround",o.clampToGround,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Hn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n),l(o.followSurface)&&!l(o.arcType)){let a={};ge(Boolean,a,"followSurface",o.followSurface,r,i,n),s.arcType=KZe(a.followSurface,R$e)}}function M$e(e,t,n,i){let o=t.polylineVolume;if(!l(o))return;let r=fr(o.interval),s=e.polylineVolume;l(s)||(e.polylineVolume=s=new Vx),ZL(s,"positions",o.positions,n),_$e(s,"shape",o.shape,n),ge(Boolean,s,"show",o.show,r,i,n),ge(Mi,s,"cornerType",o.cornerType,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function L$e(e,t,n,i){let o=t.rectangle;if(!l(o))return;let r=fr(o.interval),s=e.rectangle;l(s)||(e.rectangle=s=new Md),ge(Boolean,s,"show",o.show,r,i,n),ge(se,s,"coordinates",o.coordinates,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(je,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(je,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(jf,s,"rotation",o.rotation,r,i,n),ge(jf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Hn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function N$e(e,t,n,i){let o=t.tileset;if(!l(o))return;let r=fr(o.interval),s=e.tileset;l(s)||(e.tileset=s=new Bx),ge(Boolean,s,"show",o.show,r,i,n),ge(KL.default,s,"uri",o.uri,r,i,n),ge(Number,s,"maximumScreenSpaceError",o.maximumScreenSpaceError,r,i,n)}function F$e(e,t,n,i){let o=t.wall;if(!l(o))return;let r=fr(o.interval),s=e.wall;l(s)||(e.wall=s=new Fp),ge(Boolean,s,"show",o.show,r,i,n),ZL(s,"positions",o.positions,n),vde(s,"minimumHeights",o.minimumHeights,n),vde(s,"maximumHeights",o.maximumHeights,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function Rde(e,t,n,i,o){let r=e.id;if(l(r)||(r=qn()),L7=r,!l(o._version)&&r!=="document")throw new ce("The first CZML packet is required to be the document object.");if(e.delete===!0)t.removeById(r);else if(r==="document")A$e(e,o);else{let s=t.getOrCreateEntity(r),a=e.parent;l(a)&&(s.parent=t.getOrCreateEntity(a));for(let c=n.length-1;c>-1;c--)n[c](s,e,t,i)}L7=void 0}function B$e(e){let t,n=e._documentPacket.clock;if(!l(n)){if(!l(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(Ue.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=K.secondsDifference(s,r),c=Math.round(a/120);return t=new ch,t.startTime=K.clone(r),t.stopTime=K.clone(s),t.clockRange=jr.LOOP_STOP,t.multiplier=c,t.currentTime=K.clone(r),t.clockStep=yo.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}l(e._clock)?t=e._clock.clone():(t=new ch,t.startTime=Ue.MINIMUM_VALUE.clone(),t.stopTime=Ue.MAXIMUM_VALUE.clone(),t.currentTime=Ue.MINIMUM_VALUE.clone(),t.clockRange=jr.LOOP_STOP,t.clockStep=yo.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=fr(n.interval);return l(i)&&(t.startTime=i.start,t.stopTime=i.stop),l(n.currentTime)&&(t.currentTime=K.fromIso8601(n.currentTime)),l(n.range)&&(t.clockRange=y(jr[n.range],jr.LOOP_STOP)),l(n.step)&&(t.clockStep=y(yo[n.step],yo.SYSTEM_CLOCK_MULTIPLIER)),l(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function Nde(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new wt(s)),e._credit=s,typeof t=="string"||t instanceof we){t=we.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return r=we.createIfNeeded(r),Wr.setLoading(e,!0),Promise.resolve(o).then(function(a){return k$e(e,a,r,i)}).catch(function(a){return Wr.setLoading(e,!1),e._error.raiseEvent(e,a),console.log(a),Promise.reject(a)})}function k$e(e,t,n,i){Wr.setLoading(e,!0);let o=e._entityCollection;i&&(e._version=void 0,e._documentPacket=new Fde,o.removeAll()),xs._processCzml(t,o,n,void 0,e);let r=B$e(e),s=e._documentPacket;return l(s.name)&&e._name!==s.name?(e._name=s.name,r=!0):!l(e._name)&&l(n)&&(e._name=L_(n.getUrlComponent()),r=!0),Wr.setLoading(e,!1),r&&e._changed.raiseEvent(e),e}function Fde(){this.name=void 0,this.clock=void 0}function xs(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._clock=void 0,this._documentPacket=new Fde,this._version=void 0,this._entityCollection=new $s(this),this._entityCluster=new Pu,this._credit=void 0,this._resourceCredits=[]}xs.load=function(e,t){return new xs().load(e,t)};Object.defineProperties(xs.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});xs.updaters=[x$e,b$e,T$e,C$e,E$e,S$e,v$e,w$e,s$e,a$e,D$e,I$e,P$e,O$e,M$e,f$e,L$e,c$e,N$e,l$e,F$e,u$e,g$e];xs.registerUpdater=function(e){xs.updaters.includes(e)||xs.updaters.push(e)};xs.unregisterUpdater=function(e){if(xs.updaters.includes(e)){let t=xs.updaters.indexOf(e);xs.updaters.splice(t,1)}};xs.prototype.process=function(e,t){return Nde(this,e,t,!1)};xs.prototype.load=function(e,t){return Nde(this,e,t,!0)};xs.prototype.update=function(e){return!0};xs.processPacketData=ge;xs.processPositionPacketData=Lde;xs.processMaterialPacketData=Nu;xs._processCzml=function(e,t,n,i,o){if(i=y(i,xs.updaters),Array.isArray(e))for(let r=0,s=e.length;r<s;++r)Rde(e[r],t,i,n,o);else Rde(e,t,i,n,o)};var $L=xs;function nl(){this._dataSources=[],this._dataSourceAdded=new me,this._dataSourceRemoved=new me,this._dataSourceMoved=new me}Object.defineProperties(nl.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}});nl.prototype.add=function(e){let t=this,n=this._dataSources;return Promise.resolve(e).then(function(i){return n===t._dataSources&&(t._dataSources.push(i),t._dataSourceAdded.raiseEvent(t,i)),i})};nl.prototype.remove=function(e,t){t=y(t,!1);let n=this._dataSources.indexOf(e);return n!==-1?(this._dataSources.splice(n,1),this._dataSourceRemoved.raiseEvent(this,e),t&&typeof e.destroy=="function"&&e.destroy(),!0):!1};nl.prototype.removeAll=function(e){e=y(e,!1);let t=this._dataSources;for(let n=0,i=t.length;n<i;++n){let o=t[n];this._dataSourceRemoved.raiseEvent(this,o),e&&typeof o.destroy=="function"&&o.destroy()}this._dataSources=[]};nl.prototype.contains=function(e){return this.indexOf(e)!==-1};nl.prototype.indexOf=function(e){return this._dataSources.indexOf(e)};nl.prototype.get=function(e){return this._dataSources[e]};nl.prototype.getByName=function(e){return this._dataSources.filter(function(t){return t.name===e})};function qz(e,t){return e.indexOf(t)}function Bde(e,t,n){let i=e._dataSources,o=i.length-1;if(t=P.clamp(t,0,o),n=P.clamp(n,0,o),t===n)return;let r=i[t];i[t]=i[n],i[n]=r,e.dataSourceMoved.raiseEvent(r,n,t)}nl.prototype.raise=function(e){let t=qz(this._dataSources,e);Bde(this,t,t+1)};nl.prototype.lower=function(e){let t=qz(this._dataSources,e);Bde(this,t,t-1)};nl.prototype.raiseToTop=function(e){let t=qz(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))};nl.prototype.lowerToBottom=function(e){let t=qz(this._dataSources,e);t!==0&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))};nl.prototype.isDestroyed=function(){return!1};nl.prototype.destroy=function(){return this.removeAll(!0),ue(this)};var QL=nl;function xa(e){e=y(e,y.EMPTY_OBJECT),this._primitives=[],this._guid=qn(),this._primitiveAdded=new me,this._primitiveRemoved=new me,this._zIndex=void 0,this.show=y(e.show,!0),this.destroyPrimitives=y(e.destroyPrimitives,!0)}Object.defineProperties(xa.prototype,{length:{get:function(){return this._primitives.length}},primitiveAdded:{get:function(){return this._primitiveAdded}},primitiveRemoved:{get:function(){return this._primitiveRemoved}}});xa.prototype.add=function(e,t){let n=l(t),i=e._external=e._external||{},o=i._composites=i._composites||{};return o[this._guid]={collection:this},n?this._primitives.splice(t,0,e):this._primitives.push(e),this._primitiveAdded.raiseEvent(e),e};xa.prototype.remove=function(e){if(this.contains(e)){let t=this._primitives.indexOf(e);if(t!==-1)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),this._primitiveRemoved.raiseEvent(e),!0}return!1};xa.prototype.removeAndDestroy=function(e){let t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t};xa.prototype.removeAll=function(){let e=this._primitives,t=e.length;for(let n=0;n<t;++n)delete e[n]._external._composites[this._guid],this.destroyPrimitives&&e[n].destroy(),this._primitiveRemoved.raiseEvent(e[n]);this._primitives=[]};xa.prototype.contains=function(e){return!!(l(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])};function Yz(e,t){return e._primitives.indexOf(t)}xa.prototype.raise=function(e){if(l(e)){let t=Yz(this,e),n=this._primitives;if(t!==n.length-1){let i=n[t];n[t]=n[t+1],n[t+1]=i}}};xa.prototype.raiseToTop=function(e){if(l(e)){let t=Yz(this,e),n=this._primitives;t!==n.length-1&&(n.splice(t,1),n.push(e))}};xa.prototype.lower=function(e){if(l(e)){let t=Yz(this,e),n=this._primitives;if(t!==0){let i=n[t];n[t]=n[t-1],n[t-1]=i}}};xa.prototype.lowerToBottom=function(e){if(l(e)){let t=Yz(this,e),n=this._primitives;t!==0&&(n.splice(t,1),n.unshift(e))}};xa.prototype.get=function(e){return this._primitives[e]};xa.prototype.update=function(e){if(!this.show)return;let t=this._primitives;for(let n=0;n<t.length;++n)t[n].update(e)};xa.prototype.prePassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.prePassesUpdate)&&i.prePassesUpdate(e)}};xa.prototype.updateForPass=function(e,t){let n=this._primitives;for(let i=0;i<n.length;++i){let o=n[i];l(o.updateForPass)&&o.updateForPass(e,t)}};xa.prototype.postPassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.postPassesUpdate)&&i.postPassesUpdate(e)}};xa.prototype.isDestroyed=function(){return!1};xa.prototype.destroy=function(){return this.removeAll(),ue(this)};var zl=xa;function Am(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}Object.defineProperties(Am.prototype,{length:{get:function(){return this._length}}});Am.prototype.add=function(e,t){t=y(t,0);let n=this._collections[t];if(!l(n)){n=new zl({destroyPrimitives:!1}),n._zIndex=t,this._collections[t]=n;let i=this._collectionsArray,o=0;for(;o<i.length&&i[o]._zIndex<t;)o++;i.splice(o,0,n)}return n.add(e),this._length++,e._zIndex=t,e};Am.prototype.set=function(e,t){return t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e};Am.prototype.remove=function(e,t){if(this.contains(e)){let n=e._zIndex,i=this._collections[n],o;return t?o=i.remove(e):o=i.removeAndDestroy(e),o&&this._length--,i.length===0&&(this._collectionsArray.splice(this._collectionsArray.indexOf(i),1),this._collections[n]=void 0,i.destroy()),o}return!1};Am.prototype.removeAll=function(){let e=this._collectionsArray;for(let t=0;t<e.length;t++){let n=e[t];n.destroyPrimitives=!0,n.destroy()}this._collections={},this._collectionsArray=[],this._length=0};Am.prototype.contains=function(e){if(!l(e))return!1;let t=this._collections[e._zIndex];return l(t)&&t.contains(e)};Am.prototype.update=function(e){if(!this.show)return;let t=this._collectionsArray;for(let n=0;n<t.length;n++)t[n].update(e)};Am.prototype.isDestroyed=function(){return!1};Am.prototype.destroy=function(){return this.removeAll(),ue(this)};var JL=Am;function XE(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new St}XE.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))};XE.prototype.remove=function(e){let t=e.id,n=this._dynamicUpdaters.get(t);l(n)&&(this._dynamicUpdaters.remove(t),n.destroy())};XE.prototype.update=function(e){let t=this._dynamicUpdaters.values;for(let n=0,i=t.length;n<i;n++)t[n].update(e);return!0};XE.prototype.removeAllPrimitives=function(){let e=this._dynamicUpdaters.values;for(let t=0,n=e.length;t<n;t++)e[t].destroy();this._dynamicUpdaters.removeAll()};XE.prototype.getBoundingSphere=function(e,t){return e=this._dynamicUpdaters.get(e.id),l(e)&&l(e.getBoundingSphere)?e.getBoundingSphere(t):lt.FAILED};var Jb=XE;var k7={},Xz=new h,kde=new h,Vde=new Le,Ude=new $;function KE(e,t,n,i,o,r,s,a,c,u){let f=e+t;h.multiplyByScalar(i,Math.cos(f),Xz),h.multiplyByScalar(n,Math.sin(f),kde),h.add(Xz,kde,Xz);let d=Math.cos(e);d=d*d;let p=Math.sin(e);p=p*p;let m=r/Math.sqrt(s*d+o*p)/a;return Le.fromAxisAngle(Xz,m,Vde),$.fromQuaternion(Vde,Ude),$.multiplyByVector(Ude,c,u),h.normalize(u,u),h.multiplyByScalar(u,a,u),u}var zde=new h,Hde=new h,B7=new h,V$e=new h;k7.raisePositionsToHeight=function(e,t,n){let i=t.ellipsoid,o=t.height,r=t.extrudedHeight,s=n?e.length/3*2:e.length/3,a=new Float64Array(s*3),c=e.length,u=n?c:0;for(let f=0;f<c;f+=3){let d=f+1,p=f+2,g=h.fromArray(e,f,zde);i.scaleToGeodeticSurface(g,g);let m=h.clone(g,Hde),x=i.geodeticSurfaceNormal(g,V$e),b=h.multiplyByScalar(x,o,B7);h.add(g,b,g),n&&(h.multiplyByScalar(x,r,b),h.add(m,b,m),a[f+u]=m.x,a[d+u]=m.y,a[p+u]=m.z),a[f]=g.x,a[d]=g.y,a[p]=g.z}return a};var U$e=new h,z$e=new h,H$e=new h;k7.computeEllipsePositions=function(e,t,n){let i=e.semiMinorAxis,o=e.semiMajorAxis,r=e.rotation,s=e.center,a=e.granularity*8,c=i*i,u=o*o,f=o*i,d=h.magnitude(s),p=h.normalize(s,U$e),g=h.cross(h.UNIT_Z,s,z$e);g=h.normalize(g,g);let m=h.cross(p,g,H$e),x=1+Math.ceil(P.PI_OVER_TWO/a),b=P.PI_OVER_TWO/(x-1),T=P.PI_OVER_TWO-x*b;T<0&&(x-=Math.ceil(Math.abs(T)/b));let A=2*(x*(x+2)),C=t?new Array(A*3):void 0,E=0,v=zde,D=Hde,O=x*4*3,R=O-1,M=0,N=n?new Array(O):void 0,_,S,w,I,L;for(T=P.PI_OVER_TWO,v=KE(T,r,m,g,c,f,u,d,p,v),t&&(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z),n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x),T=P.PI_OVER_TWO-b,_=1;_<x+1;++_){if(v=KE(T,r,m,g,c,f,u,d,p,v),D=KE(Math.PI-T,r,m,g,c,f,u,d,p,D),t){for(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z,w=2*_+2,S=1;S<w-1;++S)I=S/(w-1),L=h.lerp(v,D,I,B7),C[E++]=L.x,C[E++]=L.y,C[E++]=L.z;C[E++]=D.x,C[E++]=D.y,C[E++]=D.z}n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x,N[M++]=D.x,N[M++]=D.y,N[M++]=D.z),T=P.PI_OVER_TWO-(_+1)*b}for(_=x;_>1;--_){if(T=P.PI_OVER_TWO-(_-1)*b,v=KE(-T,r,m,g,c,f,u,d,p,v),D=KE(T+Math.PI,r,m,g,c,f,u,d,p,D),t){for(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z,w=2*(_-1)+2,S=1;S<w-1;++S)I=S/(w-1),L=h.lerp(v,D,I,B7),C[E++]=L.x,C[E++]=L.y,C[E++]=L.z;C[E++]=D.x,C[E++]=D.y,C[E++]=D.z}n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x,N[M++]=D.x,N[M++]=D.y,N[M++]=D.z)}T=P.PI_OVER_TWO,v=KE(-T,r,m,g,c,f,u,d,p,v);let B={};return t&&(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z,B.positions=C,B.numPts=x),n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x,B.outerPositions=N),B};var Hl=k7;var ZE=new h,V7=new h,U7=new h,Gde=new h,Ps=new z,Wde=new $,G$e=new $,z7=new Le,jde=new h,qde=new h,Yde=new h,$z=new fe,Xde=new h,Kde=new z,Zde=new z;function $de(e,t,n){let i=t.vertexFormat,o=t.center,r=t.semiMajorAxis,s=t.semiMinorAxis,a=t.ellipsoid,c=t.stRotation,u=n?e.length/3*2:e.length/3,f=t.shadowVolume,d=i.st?new Float32Array(u*2):void 0,p=i.normal?new Float32Array(u*3):void 0,g=i.tangent?new Float32Array(u*3):void 0,m=i.bitangent?new Float32Array(u*3):void 0,x=f?new Float32Array(u*3):void 0,b=0,T=jde,A=qde,C=Yde,E=new Ii(a),v=E.project(a.cartesianToCartographic(o,$z),Xde),D=a.scaleToGeodeticSurface(o,ZE);a.geodeticSurfaceNormal(D,D);let O=Wde,R=G$e;if(c!==0){let L=Le.fromAxisAngle(D,c,z7);O=$.fromQuaternion(L,O),L=Le.fromAxisAngle(D,-c,z7),R=$.fromQuaternion(L,R)}else O=$.clone($.IDENTITY,O),R=$.clone($.IDENTITY,R);let M=z.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Kde),N=z.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Zde),_=e.length,S=n?_:0,w=S/3*2;for(let L=0;L<_;L+=3){let B=L+1,U=L+2,V=h.fromArray(e,L,ZE);if(i.st){let G=$.multiplyByVector(O,V,V7),k=E.project(a.cartesianToCartographic(G,$z),U7);h.subtract(k,v,k),Ps.x=(k.x+r)/(2*r),Ps.y=(k.y+s)/(2*s),M.x=Math.min(Ps.x,M.x),M.y=Math.min(Ps.y,M.y),N.x=Math.max(Ps.x,N.x),N.y=Math.max(Ps.y,N.y),n&&(d[b+w]=Ps.x,d[b+1+w]=Ps.y),d[b++]=Ps.x,d[b++]=Ps.y}(i.normal||i.tangent||i.bitangent||f)&&(T=a.geodeticSurfaceNormal(V,T),f&&(x[L+S]=-T.x,x[B+S]=-T.y,x[U+S]=-T.z),(i.normal||i.tangent||i.bitangent)&&((i.tangent||i.bitangent)&&(A=h.normalize(h.cross(h.UNIT_Z,T,A),A),$.multiplyByVector(R,A,A)),i.normal&&(p[L]=T.x,p[B]=T.y,p[U]=T.z,n&&(p[L+S]=-T.x,p[B+S]=-T.y,p[U+S]=-T.z)),i.tangent&&(g[L]=A.x,g[B]=A.y,g[U]=A.z,n&&(g[L+S]=-A.x,g[B+S]=-A.y,g[U+S]=-A.z)),i.bitangent&&(C=h.normalize(h.cross(T,A,C),C),m[L]=C.x,m[B]=C.y,m[U]=C.z,n&&(m[L+S]=C.x,m[B+S]=C.y,m[U+S]=C.z))))}if(i.st){_=d.length;for(let L=0;L<_;L+=2)d[L]=(d[L]-M.x)/(N.x-M.x),d[L+1]=(d[L+1]-M.y)/(N.y-M.y)}let I=new mn;if(i.position){let L=Hl.raisePositionsToHeight(e,t,n);I.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:L})}if(i.st&&(I.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:d})),i.normal&&(I.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(I.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),i.bitangent&&(I.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),f&&(I.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),n&&l(t.offsetAttribute)){let L=new Uint8Array(u);if(t.offsetAttribute===un.TOP)L=L.fill(1,0,u/2);else{let B=t.offsetAttribute===un.NONE?0:1;L=L.fill(B)}I.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:L})}return I}function Qde(e){let t=new Array(12*(e*(e+1))-6),n=0,i,o,r,s,a;for(i=0,r=1,s=0;s<3;s++)t[n++]=r++,t[n++]=i,t[n++]=r;for(s=2;s<e+1;++s){for(r=s*(s+1)-1,i=(s-1)*s-1,t[n++]=r++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=r++,t[n++]=i,t[n++]=r}for(o=e*2,++r,++i,s=0;s<o-1;++s)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;for(t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i++,t[n++]=i,++i,s=e-1;s>1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=i++,t[n++]=i++,t[n++]=r++}for(s=0;s<3;s++)t[n++]=i++,t[n++]=i,t[n++]=r;return t}var eT=new h;function W$e(e){let t=e.center;eT=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,eT),e.height,eT),eT=h.add(t,eT,eT);let n=new ae(eT,e.semiMajorAxis),i=Hl.computeEllipsePositions(e,!0,!1),o=i.positions,r=i.numPts,s=$de(o,e,!1),a=Qde(r);return a=Fe.createTypedArray(o.length/3,a),{boundingSphere:n,attributes:s,indices:a}}function j$e(e,t){let n=t.vertexFormat,i=t.center,o=t.semiMajorAxis,r=t.semiMinorAxis,s=t.ellipsoid,a=t.height,c=t.extrudedHeight,u=t.stRotation,f=e.length/3*2,d=new Float64Array(f*3),p=n.st?new Float32Array(f*2):void 0,g=n.normal?new Float32Array(f*3):void 0,m=n.tangent?new Float32Array(f*3):void 0,x=n.bitangent?new Float32Array(f*3):void 0,b=t.shadowVolume,T=b?new Float32Array(f*3):void 0,A=0,C=jde,E=qde,v=Yde,D=new Ii(s),O=D.project(s.cartesianToCartographic(i,$z),Xde),R=s.scaleToGeodeticSurface(i,ZE);s.geodeticSurfaceNormal(R,R);let M=Le.fromAxisAngle(R,u,z7),N=$.fromQuaternion(M,Wde),_=z.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Kde),S=z.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Zde),w=e.length,I=w/3*2;for(let B=0;B<w;B+=3){let U=B+1,V=B+2,G=h.fromArray(e,B,ZE),k;if(n.st){let W=$.multiplyByVector(N,G,V7),Q=D.project(s.cartesianToCartographic(W,$z),U7);h.subtract(Q,O,Q),Ps.x=(Q.x+o)/(2*o),Ps.y=(Q.y+r)/(2*r),_.x=Math.min(Ps.x,_.x),_.y=Math.min(Ps.y,_.y),S.x=Math.max(Ps.x,S.x),S.y=Math.max(Ps.y,S.y),p[A+I]=Ps.x,p[A+1+I]=Ps.y,p[A++]=Ps.x,p[A++]=Ps.y}G=s.scaleToGeodeticSurface(G,G),k=h.clone(G,V7),C=s.geodeticSurfaceNormal(G,C),b&&(T[B+w]=-C.x,T[U+w]=-C.y,T[V+w]=-C.z);let Y=h.multiplyByScalar(C,a,Gde);if(G=h.add(G,Y,G),Y=h.multiplyByScalar(C,c,Y),k=h.add(k,Y,k),n.position&&(d[B+w]=k.x,d[U+w]=k.y,d[V+w]=k.z,d[B]=G.x,d[U]=G.y,d[V]=G.z),n.normal||n.tangent||n.bitangent){v=h.clone(C,v);let W=h.fromArray(e,(B+3)%w,Gde);h.subtract(W,G,W);let Q=h.subtract(k,G,U7);C=h.normalize(h.cross(Q,W,C),C),n.normal&&(g[B]=C.x,g[U]=C.y,g[V]=C.z,g[B+w]=C.x,g[U+w]=C.y,g[V+w]=C.z),n.tangent&&(E=h.normalize(h.cross(v,C,E),E),m[B]=E.x,m[U]=E.y,m[V]=E.z,m[B+w]=E.x,m[B+1+w]=E.y,m[B+2+w]=E.z),n.bitangent&&(x[B]=v.x,x[U]=v.y,x[V]=v.z,x[B+w]=v.x,x[U+w]=v.y,x[V+w]=v.z)}}if(n.st){w=p.length;for(let B=0;B<w;B+=2)p[B]=(p[B]-_.x)/(S.x-_.x),p[B+1]=(p[B+1]-_.y)/(S.y-_.y)}let L=new mn;if(n.position&&(L.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})),n.st&&(L.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:p})),n.normal&&(L.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),n.tangent&&(L.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),n.bitangent&&(L.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),b&&(L.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),l(t.offsetAttribute)){let B=new Uint8Array(f);if(t.offsetAttribute===un.TOP)B=B.fill(1,0,f/2);else{let U=t.offsetAttribute===un.NONE?0:1;B=B.fill(U)}L.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}return L}function q$e(e){let t=e.length/3,n=Fe.createTypedArray(t,t*6),i=0;for(let o=0;o<t;o++){let r=o,s=o+t,a=(r+1)%t,c=a+t;n[i++]=r,n[i++]=s,n[i++]=a,n[i++]=a,n[i++]=s,n[i++]=c}return n}var Kz=new ae,Zz=new ae;function Y$e(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,ZE),e.height,ZE);Kz.center=h.add(t,o,Kz.center),Kz.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),Zz.center=h.add(t,o,Zz.center),Zz.radius=i;let r=Hl.computeEllipsePositions(e,!0,!0),s=r.positions,a=r.numPts,c=r.outerPositions,u=ae.union(Kz,Zz),f=$de(s,e,!0),d=Qde(a),p=d.length;d.length=p*2;let g=s.length/3;for(let E=0;E<p;E+=3)d[E+p]=d[E+2]+g,d[E+1+p]=d[E+1]+g,d[E+2+p]=d[E]+g;let m=Fe.createTypedArray(g*2/3,d),x=new ut({attributes:f,indices:m,primitiveType:Ne.TRIANGLES}),b=j$e(c,e);d=q$e(c);let T=Fe.createTypedArray(c.length*2/3,d),A=new ut({attributes:b,indices:T,primitiveType:Ne.TRIANGLES}),C=Gn.combineInstances([new vt({geometry:x}),new vt({geometry:A})]);return{boundingSphere:u,attributes:C[0].attributes,indices:C[0].indices}}function Jde(e,t,n,i,o,r,s){let c=Hl.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:n,rotation:i,granularity:o},!1,!0).outerPositions,u=c.length/3,f=new Array(u);for(let p=0;p<u;++p)f[p]=h.fromArray(c,p*3);let d=se.fromCartesianArray(f,r,s);return d.width>P.PI&&(d.north=d.north>0?P.PI_OVER_TWO-P.EPSILON7:d.north,d.south=d.south<0?P.EPSILON7-P.PI_OVER_TWO:d.south,d.east=P.PI,d.west=-P.PI),d}function Sm(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.vertexFormat,Pe.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=Pe.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}Sm.packedLength=h.packedLength+ee.packedLength+Pe.packedLength+9;Sm.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var ehe=new h,the=new ee,nhe=new Pe,Em={center:ehe,ellipsoid:the,vertexFormat:nhe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Sm.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,ehe);t+=h.packedLength;let o=ee.unpack(e,t,the);t+=ee.packedLength;let r=Pe.unpack(e,t,nhe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++],g=e[t++]===1,m=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=u,n._height=f,n._granularity=d,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=m===-1?void 0:m,n):(Em.height=f,Em.extrudedHeight=p,Em.granularity=d,Em.stRotation=u,Em.rotation=c,Em.semiMajorAxis=s,Em.semiMinorAxis=a,Em.shadowVolume=g,Em.offsetAttribute=m===-1?void 0:m,new Sm(Em))};Sm.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,ee.default),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,P.RADIANS_PER_DEGREE),a=y(e.rotation,0);return Jde(n,o,r,a,s,i,t)};Sm.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=Y$e(o);else if(r=W$e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===un.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ut({attributes:r.attributes,indices:r.indices,primitiveType:Ne.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};Sm.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Sm({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};function X$e(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=Hl.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c<o;++c)r[c]=h.fromArray(i,c*3);let s=e._ellipsoid,a=e.rectangle;return ut._textureCoordinateRotationPoints(r,t,s,a)}Object.defineProperties(Sm.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=Jde(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=X$e(this)),this._textureCoordinateRotationPoints}}});var il=Sm;var ihe=new h,tT=new h;function K$e(e){let t=e.center;tT=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,tT),e.height,tT),tT=h.add(t,tT,tT);let n=new ae(tT,e.semiMajorAxis),i=Hl.computeEllipsePositions(e,!1,!0).outerPositions,o=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:Hl.raisePositionsToHeight(i,e,!1)})}),r=i.length/3,s=Fe.createTypedArray(r,r*2),a=0;for(let c=0;c<r;++c)s[a++]=c,s[a++]=(c+1)%r;return{boundingSphere:n,attributes:o,indices:s}}var Qz=new ae,Jz=new ae;function Z$e(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,ihe),e.height,ihe);Qz.center=h.add(t,o,Qz.center),Qz.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),Jz.center=h.add(t,o,Jz.center),Jz.radius=i;let r=Hl.computeEllipsePositions(e,!1,!0).outerPositions,s=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:Hl.raisePositionsToHeight(r,e,!0)})});r=s.position.values;let a=ae.union(Qz,Jz),c=r.length/3;if(l(e.offsetAttribute)){let m=new Uint8Array(c);if(e.offsetAttribute===un.TOP)m=m.fill(1,0,c/2);else{let x=e.offsetAttribute===un.NONE?0:1;m=m.fill(x)}s.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}let u=y(e.numberOfVerticalLines,16);u=P.clamp(u,0,c/2);let f=Fe.createTypedArray(c,c*2+u*2);c/=2;let d=0,p;for(p=0;p<c;++p)f[d++]=p,f[d++]=(p+1)%c,f[d++]=p+c,f[d++]=(p+1)%c+c;let g;if(u>0){let m=Math.min(u,c);g=Math.round(c/m);let x=Math.min(g*u,c);for(p=0;p<x;p+=g)f[d++]=p,f[d++]=p+c}return{boundingSphere:a,attributes:s,indices:f}}function $E(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.height,0),a=y(e.extrudedHeight,s);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._height=Math.max(a,s),this._granularity=r,this._extrudedHeight=Math.min(a,s),this._numberOfVerticalLines=Math.max(y(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}$E.packedLength=h.packedLength+ee.packedLength+8;$E.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var ohe=new h,rhe=new ee,z_={center:ohe,ellipsoid:rhe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};$E.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,ohe);t+=h.packedLength;let o=ee.unpack(e,t,rhe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._semiMajorAxis=r,n._semiMinorAxis=s,n._rotation=a,n._height=c,n._granularity=u,n._extrudedHeight=f,n._numberOfVerticalLines=d,n._offsetAttribute=p===-1?void 0:p,n):(z_.height=c,z_.extrudedHeight=f,z_.granularity=u,z_.rotation=a,z_.semiMajorAxis=r,z_.semiMinorAxis=s,z_.numberOfVerticalLines=d,z_.offsetAttribute=p===-1?void 0:p,new $E(z_))};$E.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(i)o.extrudedHeight=n,o.offsetAttribute=e._offsetAttribute,r=Z$e(o);else if(r=K$e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===un.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ut({attributes:r.attributes,indices:r.indices,primitiveType:Ne.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var Fu=$E;var she=new H,ahe=h.ZERO,che=new h,lhe=new se;function $$e(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function fh(e,t){Xn.call(this,{entity:e,scene:t,geometryOptions:new $$e(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}l(Object.create)&&(fh.prototype=Object.create(Xn.prototype),fh.prototype.constructor=fh);fh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:zn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ut){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,she)),l(o)||(o=H.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ahe,che))),new vt({id:t,geometry:new il(this._options),attributes:i})};fh.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,she),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ahe,che))),new vt({id:t,geometry:new Fu(this._options),attributes:r})};fh.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};fh.prototype._isHidden=function(e,t){let n=e.position;return!l(n)||!l(t.semiMajorAxis)||!l(t.semiMinorAxis)||si.prototype._isHidden.call(this,e,t)};fh.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!q.isConstant(t.rotation)||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ut)};fh.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,Ue.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,Ue.MINIMUM_VALUE,je.NONE),o=q.getValueOrUndefined(t.extrudedHeight,Ue.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,Ue.MINIMUM_VALUE,je.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ut?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,s.center=e.position.getValue(Ue.MINIMUM_VALUE,s.center),s.semiMajorAxis=t.semiMajorAxis.getValue(Ue.MINIMUM_VALUE,s.semiMajorAxis),s.semiMinorAxis=t.semiMinorAxis.getValue(Ue.MINIMUM_VALUE,s.semiMinorAxis),s.rotation=q.getValueOrUndefined(t.rotation,Ue.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,Ue.MINIMUM_VALUE),s.stRotation=q.getValueOrUndefined(t.stRotation,Ue.MINIMUM_VALUE),s.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,Ue.MINIMUM_VALUE),s.offsetAttribute=Xn.computeGeometryOffsetAttribute(n,i,o,r),s.height=Xn.getGeometryHeight(n,i),o=Xn.getGeometryExtrudedHeight(o,r),o===Xn.CLAMP_TO_GROUND&&(o=fi.getMinimumMaximumHeights(il.computeRectangle(s,lhe)).minimumTerrainHeight),s.extrudedHeight=o};fh.DynamicGeometryUpdater=QE;function QE(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(QE.prototype=Object.create(ri.prototype),QE.prototype.constructor=QE);QE.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.center)||!l(i.semiMajorAxis)||!l(i.semiMinorAxis)||ri.prototype._isHidden.call(this,e,t,n)};QE.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,je.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,je.NONE);l(s)&&!l(o)&&(o=0),i.center=q.getValueOrUndefined(e.position,n,i.center),i.semiMajorAxis=q.getValueOrUndefined(t.semiMajorAxis,n),i.semiMinorAxis=q.getValueOrUndefined(t.semiMinorAxis,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),i.offsetAttribute=Xn.computeGeometryOffsetAttribute(o,r,s,a),i.height=Xn.getGeometryHeight(o,r),s=Xn.getGeometryExtrudedHeight(s,a),s===Xn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(il.computeRectangle(i,lhe)).minimumTerrainHeight),i.extrudedHeight=s};var eN=fh;var Q$e=new h,J$e=new h,eQe=new h,tQe=new h,nQe=new h,iQe=new h(1,1,1),uhe=Math.cos,fhe=Math.sin;function H_(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,iQe),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,64)),c=Math.round(y(e.slicePartitions,64)),u=y(e.vertexFormat,Pe.DEFAULT);this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._vertexFormat=Pe.clone(u),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}H_.packedLength=2*h.packedLength+Pe.packedLength+7;H_.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n]=y(e._offsetAttribute,-1),t};var dhe=new h,hhe=new h,mhe=new Pe,Xy={radii:dhe,innerRadii:hhe,vertexFormat:mhe,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};H_.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,dhe);t+=h.packedLength;let o=h.unpack(e,t,hhe);t+=h.packedLength;let r=Pe.unpack(e,t,mhe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._minimumClock=s,n._maximumClock=a,n._minimumCone=c,n._maximumCone=u,n._stackPartitions=f,n._slicePartitions=d,n._offsetAttribute=p===-1?void 0:p,n):(Xy.minimumClock=s,Xy.maximumClock=a,Xy.minimumCone=c,Xy.maximumCone=u,Xy.stackPartitions=f,Xy.slicePartitions=d,Xy.offsetAttribute=p===-1?void 0:p,new H_(Xy))};H_.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._vertexFormat,c=e._slicePartitions+1,u=e._stackPartitions+1;c=Math.round(c*Math.abs(o-i)/P.TWO_PI),u=Math.round(u*Math.abs(s-r)/P.PI),c<2&&(c=2),u<2&&(u=2);let f,d,p=0,g=[r],m=[i];for(f=0;f<u;f++)g.push(r+f*(s-r)/(u-1));for(g.push(s),d=0;d<c;d++)m.push(i+d*(o-i)/(c-1));m.push(o);let x=g.length,b=m.length,T=0,A=1,C=n.x!==t.x||n.y!==t.y||n.z!==t.z,E=!1,v=!1,D=!1;C&&(A=2,r>0&&(E=!0,T+=c-1),s<Math.PI&&(v=!0,T+=c-1),(o-i)%P.TWO_PI?(D=!0,T+=(u-1)*2+1):T+=1);let O=b*x*A,R=new Float64Array(O*3),M=new Array(O).fill(!1),N=new Array(O).fill(!1),_=c*u*A,S=6*(_+T+1-(c+u)*A),w=Fe.createTypedArray(_,S),I=a.normal?new Float32Array(O*3):void 0,L=a.tangent?new Float32Array(O*3):void 0,B=a.bitangent?new Float32Array(O*3):void 0,U=a.st?new Float32Array(O*2):void 0,V=new Array(x),G=new Array(x);for(f=0;f<x;f++)V[f]=fhe(g[f]),G[f]=uhe(g[f]);let k=new Array(b),Y=new Array(b);for(d=0;d<b;d++)Y[d]=uhe(m[d]),k[d]=fhe(m[d]);for(f=0;f<x;f++)for(d=0;d<b;d++)R[p++]=t.x*V[f]*Y[d],R[p++]=t.y*V[f]*k[d],R[p++]=t.z*G[f];let W=O/2;if(C)for(f=0;f<x;f++)for(d=0;d<b;d++)R[p++]=n.x*V[f]*Y[d],R[p++]=n.y*V[f]*k[d],R[p++]=n.z*G[f],M[W]=!0,f>0&&f!==x-1&&d!==0&&d!==b-1&&(N[W]=!0),W++;p=0;let Q,j;for(f=1;f<x-2;f++)for(Q=f*b,j=(f+1)*b,d=1;d<b-2;d++)w[p++]=j+d,w[p++]=j+d+1,w[p++]=Q+d+1,w[p++]=j+d,w[p++]=Q+d+1,w[p++]=Q+d;if(C){let ct=x*b;for(f=1;f<x-2;f++)for(Q=ct+f*b,j=ct+(f+1)*b,d=1;d<b-2;d++)w[p++]=j+d,w[p++]=Q+d,w[p++]=Q+d+1,w[p++]=j+d,w[p++]=Q+d+1,w[p++]=j+d+1}let Z,J;if(C){if(E)for(J=x*b,f=1;f<b-2;f++)w[p++]=f,w[p++]=f+1,w[p++]=J+f+1,w[p++]=f,w[p++]=J+f+1,w[p++]=J+f;if(v)for(Z=x*b-b,J=x*b*A-b,f=1;f<b-2;f++)w[p++]=Z+f+1,w[p++]=Z+f,w[p++]=J+f,w[p++]=Z+f+1,w[p++]=J+f,w[p++]=J+f+1}if(D){for(f=1;f<x-2;f++)J=b*x+b*f,Z=b*f,w[p++]=J,w[p++]=Z+b,w[p++]=Z,w[p++]=J,w[p++]=J+b,w[p++]=Z+b;for(f=1;f<x-2;f++)J=b*x+b*(f+1)-1,Z=b*(f+1)-1,w[p++]=Z+b,w[p++]=J,w[p++]=Z,w[p++]=Z+b,w[p++]=J+b,w[p++]=J}let he=new mn;a.position&&(he.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:R}));let xe=0,re=0,_e=0,ye=0,De=O/2,ve,Me=ee.fromCartesian3(t),Oe=ee.fromCartesian3(n);if(a.st||a.normal||a.tangent||a.bitangent){for(f=0;f<O;f++){ve=M[f]?Oe:Me;let ct=h.fromArray(R,f*3,Q$e),Ke=ve.geodeticSurfaceNormal(ct,J$e);if(N[f]&&h.negate(Ke,Ke),a.st){let _t=z.negate(Ke,nQe);U[xe++]=Math.atan2(_t.y,_t.x)/P.TWO_PI+.5,U[xe++]=Math.asin(Ke.z)/Math.PI+.5}if(a.normal&&(I[re++]=Ke.x,I[re++]=Ke.y,I[re++]=Ke.z),a.tangent||a.bitangent){let _t=eQe,Ze=0,Dt;if(M[f]&&(Ze=De),!E&&f>=Ze&&f<Ze+b*2?Dt=h.UNIT_X:Dt=h.UNIT_Z,h.cross(Dt,Ke,_t),h.normalize(_t,_t),a.tangent&&(L[_e++]=_t.x,L[_e++]=_t.y,L[_e++]=_t.z),a.bitangent){let gt=h.cross(Ke,_t,tQe);h.normalize(gt,gt),B[ye++]=gt.x,B[ye++]=gt.y,B[ye++]=gt.z}}}a.st&&(he.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:U})),a.normal&&(he.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:I})),a.tangent&&(he.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:L})),a.bitangent&&(he.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:B}))}if(l(e._offsetAttribute)){let ct=R.length,Ke=e._offsetAttribute===un.NONE?0:1,_t=new Uint8Array(ct/3).fill(Ke);he.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:_t})}return new ut({attributes:he,indices:w,primitiveType:Ne.TRIANGLES,boundingSphere:ae.fromEllipsoid(Me),offsetAttribute:e._offsetAttribute})};var H7;H_.getUnitEllipsoid=function(){return l(H7)||(H7=H_.createGeometry(new H_({radii:new h(1,1,1),vertexFormat:Pe.POSITION_ONLY}))),H7};var Qs=H_;var oQe=new Ut(H.WHITE),G7=h.ZERO,W7=new h,rQe=new h,sQe=new h,j7=new H,aQe=new h(1,1,1);function cQe(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function Bu(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new cQe(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}l(Object.create)&&(Bu.prototype=Object.create(si.prototype),Bu.prototype.constructor=Bu);Object.defineProperties(Bu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Bu.prototype.createFillGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r,s=new xn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),c=zn.fromDistanceDisplayCondition(a),u={show:s,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Ut){let f;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||o)&&(f=this._materialProperty.color.getValue(e,j7)),l(f)||(f=H.WHITE),r=Wt.fromColor(f),u.color=r}return l(this._options.offsetAttribute)&&(u.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,G7,W7))),new vt({id:i,geometry:new Qs(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:u})};Bu.prototype.createOutlineGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,j7),s=this._distanceDisplayConditionProperty.getValue(e),a={show:new xn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(r),distanceDisplayCondition:zn.fromDistanceDisplayCondition(s),offset:void 0};return l(this._options.offsetAttribute)&&(a.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,G7,W7))),new vt({id:i,geometry:new wu(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:a})};Bu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};Bu.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.radii)||si.prototype._isHidden.call(this,e,t)};Bu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.radii.isConstant||!q.isConstant(t.innerRadii)||!q.isConstant(t.stackPartitions)||!q.isConstant(t.slicePartitions)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.minimumClock)||!q.isConstant(t.maximumClock)||!q.isConstant(t.minimumCone)||!q.isConstant(t.maximumCone)||!q.isConstant(t.subdivisions)};Bu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,Ue.MINIMUM_VALUE,je.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ut?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,i.radii=t.radii.getValue(Ue.MINIMUM_VALUE,i.radii),i.innerRadii=q.getValueOrUndefined(t.innerRadii,i.radii),i.minimumClock=q.getValueOrUndefined(t.minimumClock,Ue.MINIMUM_VALUE),i.maximumClock=q.getValueOrUndefined(t.maximumClock,Ue.MINIMUM_VALUE),i.minimumCone=q.getValueOrUndefined(t.minimumCone,Ue.MINIMUM_VALUE),i.maximumCone=q.getValueOrUndefined(t.maximumCone,Ue.MINIMUM_VALUE),i.stackPartitions=q.getValueOrUndefined(t.stackPartitions,Ue.MINIMUM_VALUE),i.slicePartitions=q.getValueOrUndefined(t.slicePartitions,Ue.MINIMUM_VALUE),i.subdivisions=q.getValueOrUndefined(t.subdivisions,Ue.MINIMUM_VALUE),i.offsetAttribute=n!==je.NONE?un.ALL:void 0};Bu.prototype._onEntityPropertyChanged=Bp;Bu.DynamicGeometryUpdater=tN;function tN(e,t,n){ri.call(this,e,t,n),this._scene=e._scene,this._modelMatrix=new F,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new h,this._material={}}l(Object.create)&&(tN.prototype=Object.create(ri.prototype),tN.prototype.constructor=tN);tN.prototype.update=function(e){let t=this._entity,n=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!q.getValueOrDefault(n.show,e,!0)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let i=q.getValueOrUndefined(n.radii,e,rQe),o=l(i)?t.computeModelMatrixForHeightReference(e,n.heightReference,i.z*.5,this._scene.ellipsoid,this._modelMatrix):void 0;if(!l(o)||!l(i)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let r=q.getValueOrDefault(n.fill,e,!0),s=q.getValueOrDefault(n.outline,e,!1),a=q.getValueOrClonedDefault(n.outlineColor,e,H.BLACK,j7),c=$o.getValue(e,y(n.material,oQe),this._material),u=q.getValueOrUndefined(n.innerRadii,e,sQe),f=q.getValueOrUndefined(n.minimumClock,e),d=q.getValueOrUndefined(n.maximumClock,e),p=q.getValueOrUndefined(n.minimumCone,e),g=q.getValueOrUndefined(n.maximumCone,e),m=q.getValueOrUndefined(n.stackPartitions,e),x=q.getValueOrUndefined(n.slicePartitions,e),b=q.getValueOrUndefined(n.subdivisions,e),T=q.getValueOrDefault(n.outlineWidth,e,1),A=q.getValueOrDefault(n.heightReference,e,je.NONE),C=A!==je.NONE?un.ALL:void 0,E=this._scene.mode,v=E===ne.SCENE3D&&A===je.NONE,D=this._options,O=this._geometryUpdater.shadowsProperty.getValue(e),M=this._geometryUpdater.distanceDisplayConditionProperty.getValue(e),N=q.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,G7,W7);if(!v||this._lastSceneMode!==E||!l(this._primitive)||D.stackPartitions!==m||D.slicePartitions!==x||l(u)&&!h.equals(D.innerRadii!==u)||D.minimumClock!==f||D.maximumClock!==d||D.minimumCone!==p||D.maximumCone!==g||D.subdivisions!==b||this._lastOutlineWidth!==T||D.offsetAttribute!==C){let S=this._primitives;S.removeAndDestroy(this._primitive),S.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=E,this._lastOutlineWidth=T,D.stackPartitions=m,D.slicePartitions=x,D.subdivisions=b,D.offsetAttribute=C,D.radii=h.clone(v?aQe:i,D.radii),l(u)?v?D.innerRadii=h.fromElements(u.x/i.x,u.y/i.y,u.z/i.z,D.innerRadii):D.innerRadii=h.clone(u,D.innerRadii):D.innerRadii=void 0,D.minimumClock=f,D.maximumClock=d,D.minimumCone=p,D.maximumCone=g;let w=new uo({material:c,translucent:c.isTranslucent(),closed:!0});D.vertexFormat=w.vertexFormat;let I=this._geometryUpdater.createFillGeometryInstance(e,v,this._modelMatrix);this._primitive=S.add(new Pn({geometryInstances:I,appearance:w,asynchronous:!1,shadows:O}));let L=this._geometryUpdater.createOutlineGeometryInstance(e,v,this._modelMatrix);this._outlinePrimitive=S.add(new Pn({geometryInstances:L,appearance:new fn({flat:!0,translucent:L.attributes.color.value[3]!==255,renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(T)}}),asynchronous:!1,shadows:O})),this._lastShow=r,this._lastOutlineShow=s,this._lastOutlineColor=H.clone(a,this._lastOutlineColor),this._lastDistanceDisplayCondition=M,this._lastOffset=h.clone(N,this._lastOffset)}else if(this._primitive.ready){let S=this._primitive,w=this._outlinePrimitive;S.show=!0,w.show=!0,S.appearance.material=c;let I=this._attributes;l(I)||(I=S.getGeometryInstanceAttributes(t),this._attributes=I),r!==this._lastShow&&(I.show=xn.toValue(r,I.show),this._lastShow=r);let L=this._outlineAttributes;l(L)||(L=w.getGeometryInstanceAttributes(t),this._outlineAttributes=L),s!==this._lastOutlineShow&&(L.show=xn.toValue(s,L.show),this._lastOutlineShow=s),H.equals(a,this._lastOutlineColor)||(L.color=Wt.toValue(a,L.color),H.clone(a,this._lastOutlineColor)),Ot.equals(M,this._lastDistanceDisplayCondition)||(I.distanceDisplayCondition=zn.toValue(M,I.distanceDisplayCondition),L.distanceDisplayCondition=zn.toValue(M,L.distanceDisplayCondition),Ot.clone(M,this._lastDistanceDisplayCondition)),h.equals(N,this._lastOffset)||(I.offset=Ji.toValue(N,I.offset),L.offset=Ji.toValue(N,I.offset),h.clone(N,this._lastOffset))}v&&(i.x=Math.max(i.x,.001),i.y=Math.max(i.y,.001),i.z=Math.max(i.z,.001),o=F.multiplyByScale(o,i,o),this._primitive.modelMatrix=o,this._outlinePrimitive.modelMatrix=o)};var nN=Bu;function JE(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.vertexFormat,Pe.DEFAULT);this._vertexFormat=t,this._workerName="createPlaneGeometry"}JE.packedLength=Pe.packedLength;JE.pack=function(e,t,n){return n=y(n,0),Pe.pack(e._vertexFormat,t,n),t};var phe=new Pe,lQe={vertexFormat:phe};JE.unpack=function(e,t,n){t=y(t,0);let i=Pe.unpack(e,t,phe);return l(n)?(n._vertexFormat=Pe.clone(i,n._vertexFormat),n):new JE(lQe)};var e4=new h(-.5,-.5,0),t4=new h(.5,.5,0);JE.createGeometry=function(e){let t=e._vertexFormat,n=new mn,i,o;if(t.position){if(o=new Float64Array(4*3),o[0]=e4.x,o[1]=e4.y,o[2]=0,o[3]=t4.x,o[4]=e4.y,o[5]=0,o[6]=t4.x,o[7]=t4.y,o[8]=0,o[9]=e4.x,o[10]=t4.y,o[11]=0,n.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:o}),t.normal){let r=new Float32Array(12);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=1,r[9]=0,r[10]=0,r[11]=1,n.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.st){let r=new Float32Array(8);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=1,r[5]=1,r[6]=0,r[7]=1,n.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:r})}if(t.tangent){let r=new Float32Array(12);r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r[6]=1,r[7]=0,r[8]=0,r[9]=1,r[10]=0,r[11]=0,n.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.bitangent){let r=new Float32Array(12);r[0]=0,r[1]=1,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=1,r[8]=0,r[9]=0,r[10]=1,r[11]=0,n.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}i=new Uint16Array(2*3),i[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3}return new ut({attributes:n,indices:i,primitiveType:Ne.TRIANGLES,boundingSphere:new ae(h.ZERO,Math.sqrt(2))})};var iN=JE;function eS(){this._workerName="createPlaneOutlineGeometry"}eS.packedLength=0;eS.pack=function(e,t){return t};eS.unpack=function(e,t,n){return l(n)?n:new eS};var Ky=new h(-.5,-.5,0),n4=new h(.5,.5,0);eS.createGeometry=function(){let e=new mn,t=new Uint16Array(4*2),n=new Float64Array(4*3);return n[0]=Ky.x,n[1]=Ky.y,n[2]=Ky.z,n[3]=n4.x,n[4]=Ky.y,n[5]=Ky.z,n[6]=n4.x,n[7]=n4.y,n[8]=Ky.z,n[9]=Ky.x,n[10]=n4.y,n[11]=Ky.z,e.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new ut({attributes:e,indices:t,primitiveType:Ne.LINES,boundingSphere:new ae(h.ZERO,Math.sqrt(2))})};var oN=eS;var uQe=new h,_he=new H;function fQe(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function Yf(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new fQe(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}l(Object.create)&&(Yf.prototype=Object.create(si.prototype),Yf.prototype.constructor=Yf);Yf.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=zn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ut){let g;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(g=this._materialProperty.color.getValue(e,_he)),l(g)||(g=H.WHITE),o=Wt.fromColor(g),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};let c=t.plane,u=this._options,f=t.computeModelMatrix(e),d=q.getValueOrDefault(c.plane,e,u.plane),p=q.getValueOrUndefined(c.dimensions,e,u.dimensions);return u.plane=d,u.dimensions=p,f=q7(d,p,f,f),new vt({id:t,geometry:new iN(this._options),modelMatrix:f,attributes:i})};Yf.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,_he),o=this._distanceDisplayConditionProperty.getValue(e),r=t.plane,s=this._options,a=t.computeModelMatrix(e),c=q.getValueOrDefault(r.plane,e,s.plane),u=q.getValueOrUndefined(r.dimensions,e,s.dimensions);return s.plane=c,s.dimensions=u,a=q7(c,u,a,a),new vt({id:t,geometry:new oN,modelMatrix:a,attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(o)}})};Yf.prototype._isHidden=function(e,t){return!l(t.plane)||!l(t.dimensions)||!l(e.position)||si.prototype._isHidden.call(this,e,t)};Yf.prototype._getIsClosed=function(e){return!1};Yf.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.plane.isConstant||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};Yf.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ut,i=this._options;i.vertexFormat=n?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,i.plane=t.plane.getValue(Ue.MINIMUM_VALUE,i.plane),i.dimensions=t.dimensions.getValue(Ue.MINIMUM_VALUE,i.dimensions)};Yf.DynamicGeometryUpdater=tS;function tS(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(tS.prototype=Object.create(ri.prototype),tS.prototype.constructor=tS);tS.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,uQe);return!l(o)||!l(i.plane)||!l(i.dimensions)||ri.prototype._isHidden.call(this,e,t,n)};tS.prototype._setOptions=function(e,t,n){let i=this._options;i.plane=q.getValueOrDefault(t.plane,n,i.plane),i.dimensions=q.getValueOrUndefined(t.dimensions,n,i.dimensions)};var dQe=new h,hQe=new h,mQe=new h,pQe=new h,_Qe=new $,gQe=new $,yQe=new F;function q7(e,t,n,i){let o=e.normal,r=e.distance,s=h.multiplyByScalar(o,-r,mQe),a=h.clone(h.UNIT_Z,hQe);P.equalsEpsilon(Math.abs(h.dot(a,o)),1,P.EPSILON8)&&(a=h.clone(h.UNIT_Y,a));let c=h.cross(a,o,dQe);a=h.cross(o,c,a),h.normalize(c,c),h.normalize(a,a);let u=_Qe;$.setColumn(u,0,c,u),$.setColumn(u,1,a,u),$.setColumn(u,2,o,u);let f=h.fromElements(t.x,t.y,1,pQe),d=$.multiplyByScale(u,f,gQe),p=F.fromRotationTranslation(d,s,yQe);return F.multiplyTransformation(n,p,i)}Yf.createPrimitiveMatrix=q7;var rN=Yf;var xQe=new h,bQe=new We,TQe=new z,CQe=new z,AQe=new h,EQe=new h,SQe=new h,sN=new h,vQe=new h,wQe=new h,ghe=new Le,DQe=new $,IQe=new $,PQe=new h;function RQe(e,t,n,i,o,r,s,a,c){let u=e.positions,f=li.triangulate(e.positions2D,e.holes);f.length<3&&(f=[0,1,2]);let d=Fe.createTypedArray(u.length,f.length);d.set(f);let p=DQe;if(i!==0){let _=Le.fromAxisAngle(s,i,ghe);if(p=$.fromQuaternion(_,p),t.tangent||t.bitangent){_=Le.fromAxisAngle(s,-i,ghe);let S=$.fromQuaternion(_,IQe);a=h.normalize($.multiplyByVector(S,a,a),a),t.bitangent&&(c=h.normalize(h.cross(s,a,c),c))}}else p=$.clone($.IDENTITY,p);let g=CQe;t.st&&(g.x=n.x,g.y=n.y);let m=u.length,x=m*3,b=new Float64Array(x),T=t.normal?new Float32Array(x):void 0,A=t.tangent?new Float32Array(x):void 0,C=t.bitangent?new Float32Array(x):void 0,E=t.st?new Float32Array(m*2):void 0,v=0,D=0,O=0,R=0,M=0;for(let _=0;_<m;_++){let S=u[_];if(b[v++]=S.x,b[v++]=S.y,b[v++]=S.z,t.st)if(l(o)&&o.positions.length===m)E[M++]=o.positions[_].x,E[M++]=o.positions[_].y;else{let w=$.multiplyByVector(p,S,xQe),I=r(w,TQe);z.subtract(I,g,I);let L=P.clamp(I.x/n.width,0,1),B=P.clamp(I.y/n.height,0,1);E[M++]=L,E[M++]=B}t.normal&&(T[D++]=s.x,T[D++]=s.y,T[D++]=s.z),t.tangent&&(A[R++]=a.x,A[R++]=a.y,A[R++]=a.z),t.bitangent&&(C[O++]=c.x,C[O++]=c.y,C[O++]=c.z)}let N=new mn;return t.position&&(N.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b})),t.normal&&(N.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),t.tangent&&(N.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.bitangent&&(N.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.st&&(N.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:E})),new ut({attributes:N,indices:d,primitiveType:Ne.TRIANGLES})}function nT(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy,n=e.textureCoordinates,i=y(e.vertexFormat,Pe.DEFAULT);this._vertexFormat=Pe.clone(i),this._polygonHierarchy=t,this._stRotation=y(e.stRotation,0),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=n,this.packedLength=jn.computeHierarchyPackedLength(t,h)+Pe.packedLength+ee.packedLength+(l(n)?jn.computeHierarchyPackedLength(n,z):1)+2}nT.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new nT(t)};nT.pack=function(e,t,n){return n=y(n,0),n=jn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._stRotation,l(e._textureCoordinates)?n=jn.packPolygonHierarchy(e._textureCoordinates,t,n,z):t[n++]=-1,t[n++]=e.packedLength,t};var OQe=ee.clone(ee.UNIT_SPHERE),MQe=new Pe,LQe={polygonHierarchy:{}};nT.unpack=function(e,t,n){t=y(t,0);let i=jn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,OQe);t+=ee.packedLength;let r=Pe.unpack(e,t,MQe);t+=Pe.packedLength;let s=e[t++],a=e[t]===-1?void 0:jn.unpackPolygonHierarchy(e,t,z);l(a)?(t=a.startingIndex,delete a.startingIndex):t++;let c=e[t++];return l(n)||(n=new nT(LQe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._stRotation=s,n._textureCoordinates=a,n.packedLength=c,n};nT.createGeometry=function(e){let t=e._vertexFormat,n=e._polygonHierarchy,i=e._stRotation,o=e._textureCoordinates,r=l(o),s=n.positions;if(s=Co(s,h.equalsEpsilon,!0),s.length<3)return;let a=AQe,c=EQe,u=SQe,f=vQe,d=wQe;if(!b_.computeProjectTo2DArguments(s,sN,f,d))return;if(a=h.cross(f,d,a),a=h.normalize(a,a),!h.equalsEpsilon(sN,h.ZERO,P.EPSILON6)){let M=e._ellipsoid.geodeticSurfaceNormal(sN,PQe);h.dot(a,M)<0&&(a=h.negate(a,a),f=h.negate(f,f))}let g=b_.createProjectPointsTo2DFunction(sN,f,d),m=b_.createProjectPointTo2DFunction(sN,f,d);t.tangent&&(c=h.clone(f,c)),t.bitangent&&(u=h.clone(d,u));let x=jn.polygonsFromHierarchy(n,r,g,!1),b=x.hierarchy,T=x.polygons,A=function(M){return M},C=r?jn.polygonsFromHierarchy(o,!0,A,!1).polygons:void 0;if(b.length===0)return;s=b[0].outerRing;let E=ae.fromPoints(s),v=jn.computeBoundingRectangle(a,m,s,i,bQe),D=[];for(let M=0;M<T.length;M++){let N=new vt({geometry:RQe(T[M],t,v,i,r?C[M]:void 0,m,a,c,u)});D.push(N)}let O=Gn.combineInstances(D)[0];O.attributes.position.values=new Float64Array(O.attributes.position.values),O.indices=Fe.createTypedArray(O.attributes.position.values.length/3,O.indices);let R=O.attributes;return t.position||delete R.position,new ut({attributes:R,indices:O.indices,primitiveType:O.primitiveType,boundingSphere:E})};var aN=nT;var yhe=[],i4=[];function NQe(e,t,n,i,o){let s=Zr.fromPoints(t,e).projectPointsOntoPlane(t,yhe);li.computeWindingOrder2D(s)===ds.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=0;if(i)for(c=new Float64Array(f*2*3),u=0;u<f;u++){let m=t[u],x=t[(u+1)%f];c[d++]=m.x,c[d++]=m.y,c[d++]=m.z,c[d++]=x.x,c[d++]=x.y,c[d++]=x.z}else{let m=0;if(o===tn.GEODESIC)for(u=0;u<f;u++)m+=jn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===tn.RHUMB)for(u=0;u<f;u++)m+=jn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(m*3),u=0;u<f;u++){let x;o===tn.GEODESIC?x=jn.subdivideLine(t[u],t[(u+1)%f],n,i4):o===tn.RHUMB&&(x=jn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,i4));let b=x.length;for(let T=0;T<b;++T)c[d++]=x[T]}}f=c.length/3;let p=f*2,g=Fe.createTypedArray(f,p);for(d=0,u=0;u<f-1;u++)g[d++]=u,g[d++]=u+1;return g[d++]=f-1,g[d++]=0,new vt({geometry:new ut({attributes:new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:g,primitiveType:Ne.LINES})})}function FQe(e,t,n,i,o){let s=Zr.fromPoints(t,e).projectPointsOntoPlane(t,yhe);li.computeWindingOrder2D(s)===ds.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=new Array(f),p=0;if(i)for(c=new Float64Array(f*2*3*2),u=0;u<f;++u){d[u]=p/3;let b=t[u],T=t[(u+1)%f];c[p++]=b.x,c[p++]=b.y,c[p++]=b.z,c[p++]=T.x,c[p++]=T.y,c[p++]=T.z}else{let b=0;if(o===tn.GEODESIC)for(u=0;u<f;u++)b+=jn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===tn.RHUMB)for(u=0;u<f;u++)b+=jn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(b*3*2),u=0;u<f;++u){d[u]=p/3;let T;o===tn.GEODESIC?T=jn.subdivideLine(t[u],t[(u+1)%f],n,i4):o===tn.RHUMB&&(T=jn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,i4));let A=T.length;for(let C=0;C<A;++C)c[p++]=T[C]}}f=c.length/(3*2);let g=d.length,m=(f*2+g)*2,x=Fe.createTypedArray(f+g,m);for(p=0,u=0;u<f;++u)x[p++]=u,x[p++]=(u+1)%f,x[p++]=u+f,x[p++]=(u+1)%f+f;for(u=0;u<g;u++){let b=d[u];x[p++]=b,x[p++]=b+f}return new vt({geometry:new ut({attributes:new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:x,primitiveType:Ne.LINES})})}function iT(e){let t=e.polygonHierarchy,n=y(e.ellipsoid,ee.default),i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.perPositionHeight,!1),r=o&&l(e.extrudedHeight),s=y(e.arcType,tn.GEODESIC),a=y(e.height,0),c=y(e.extrudedHeight,a);if(!r){let u=Math.max(a,c);c=Math.min(a,c),a=u}this._ellipsoid=ee.clone(n),this._granularity=i,this._height=a,this._extrudedHeight=c,this._arcType=s,this._polygonHierarchy=t,this._perPositionHeight=o,this._perPositionHeightExtrude=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=jn.computeHierarchyPackedLength(t,h)+ee.packedLength+8}iT.pack=function(e,t,n){return n=y(n,0),n=jn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._arcType,t[n++]=y(e._offsetAttribute,-1),t[n]=e.packedLength,t};var BQe=ee.clone(ee.UNIT_SPHERE),kQe={polygonHierarchy:{}};iT.unpack=function(e,t,n){t=y(t,0);let i=jn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,BQe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++]===1,u=e[t++]===1,f=e[t++],d=e[t++],p=e[t];return l(n)||(n=new iT(kQe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._height=r,n._extrudedHeight=s,n._granularity=a,n._perPositionHeight=u,n._perPositionHeightExtrude=c,n._arcType=f,n._offsetAttribute=d===-1?void 0:d,n.packedLength=p,n};iT.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new iT(t)};iT.createGeometry=function(e){let t=e._ellipsoid,n=e._granularity,i=e._polygonHierarchy,o=e._perPositionHeight,r=e._arcType,s=jn.polygonOutlinesFromHierarchy(i,!o,t);if(s.length===0)return;let a,c=[],u=P.chordLength(n,t.maximumRadius),f=e._height,d=e._extrudedHeight,p=e._perPositionHeightExtrude||!P.equalsEpsilon(f,d,0,P.EPSILON2),g,m;if(p)for(m=0;m<s.length;m++){if(a=FQe(t,s[m],u,o,r),a.geometry=jn.scaleToGeodeticHeightExtruded(a.geometry,f,d,t,o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length/3,A=new Uint8Array(T);e._offsetAttribute===un.TOP?A=A.fill(1,0,T/2):(g=e._offsetAttribute===un.NONE?0:1,A=A.fill(g)),a.geometry.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}c.push(a)}else for(m=0;m<s.length;m++){if(a=NQe(t,s[m],u,o,r),a.geometry.attributes.position.values=li.scaleToGeodeticHeight(a.geometry.attributes.position.values,f,t,!o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length;g=e._offsetAttribute===un.NONE?0:1;let A=new Uint8Array(T/3).fill(g);a.geometry.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}c.push(a)}let x=Gn.combineInstances(c)[0],b=ae.fromVertices(x.attributes.position.values);return new ut({attributes:x.attributes,indices:x.indices,primitiveType:x.primitiveType,boundingSphere:b,offsetAttribute:e._offsetAttribute})};var cN=iT;var xhe="Entity polygons cannot have both height and perPositionHeight. height will be ignored",bhe="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",The=new H,Che=h.ZERO,Ahe=new h,Ehe=new se,VQe=[],UQe=new z;function zQe(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0,this.textureCoordinates=void 0}function ku(e,t){Xn.call(this,{entity:e,scene:t,geometryOptions:new zQe(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}l(Object.create)&&(ku.prototype=Object.create(Xn.prototype),ku.prototype.constructor=ku);ku.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:zn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ut){let s;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(s=this._materialProperty.color.getValue(e,The)),l(s)||(s=H.WHITE),o.color=Wt.fromColor(s)}l(i.offsetAttribute)&&(o.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Che,Ahe)));let r;return i.perPositionHeight&&!l(i.extrudedHeight)?r=new aN(i):r=new $p(i),new vt({id:t,geometry:r,attributes:o})};ku.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,The),r=this._distanceDisplayConditionProperty.getValue(e),s={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(o),distanceDisplayCondition:zn.fromDistanceDisplayCondition(r),offset:void 0};l(i.offsetAttribute)&&(s.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Che,Ahe)));let a;return i.perPositionHeight&&!l(i.extrudedHeight)?a=new Uf(i):a=new cN(i),new vt({id:t,geometry:a,attributes:s})};ku.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(!l(n))return;let i=n.positions;if(i.length===0)return;let o=this._scene.ellipsoid,r=Zr.fromPoints(i,o),s=r.projectPointsOntoPlane(i,VQe),a=s.length,c=0,u=a-1,f=new z;for(let p=0;p<a;u=p++){let g=s[p],m=s[u],x=g.x*m.y-m.x*g.y,b=z.add(g,m,UQe);b=z.multiplyByScalar(b,x,b),f=z.add(f,b,f),c+=x}let d=1/(c*3);return f=z.multiplyByScalar(f,d,f),r.projectPointOntoEllipsoid(f,t)};ku.prototype._isHidden=function(e,t){return!l(t.hierarchy)||si.prototype._isHidden.call(this,e,t)};ku.prototype._isOnTerrain=function(e,t){let n=Xn.prototype._isOnTerrain.call(this,e,t),i=t.perPositionHeight,o=l(i)&&(i.isConstant?i.getValue(Ue.MINIMUM_VALUE):!0);return n&&!o};ku.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.textureCoordinates)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.perPositionHeight)||!q.isConstant(t.closeTop)||!q.isConstant(t.closeBottom)||!q.isConstant(t.zIndex)||!q.isConstant(t.arcType)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ut)};ku.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ut,i=this._options;i.vertexFormat=n?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat;let o=t.hierarchy.getValue(Ue.MINIMUM_VALUE),r=q.getValueOrUndefined(t.height,Ue.MINIMUM_VALUE),s=q.getValueOrDefault(t.heightReference,Ue.MINIMUM_VALUE,je.NONE),a=q.getValueOrUndefined(t.extrudedHeight,Ue.MINIMUM_VALUE),c=q.getValueOrDefault(t.extrudedHeightReference,Ue.MINIMUM_VALUE,je.NONE),u=q.getValueOrDefault(t.perPositionHeight,Ue.MINIMUM_VALUE,!1);r=Xn.getGeometryHeight(r,s);let f;if(u?(l(r)&&(r=void 0,Tt(xhe)),s!==je.NONE&&u&&(r=void 0,Tt(bhe))):(l(a)&&!l(r)&&(r=0),f=Xn.computeGeometryOffsetAttribute(r,s,a,c)),i.polygonHierarchy=o,i.granularity=q.getValueOrUndefined(t.granularity,Ue.MINIMUM_VALUE),i.stRotation=q.getValueOrUndefined(t.stRotation,Ue.MINIMUM_VALUE),i.perPositionHeight=u,i.closeTop=q.getValueOrDefault(t.closeTop,Ue.MINIMUM_VALUE,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,Ue.MINIMUM_VALUE,!0),i.offsetAttribute=f,i.height=r,i.arcType=q.getValueOrDefault(t.arcType,Ue.MINIMUM_VALUE,tn.GEODESIC),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,Ue.MINIMUM_VALUE),a=Xn.getGeometryExtrudedHeight(a,c),a===Xn.CLAMP_TO_GROUND){let d=$p.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Ehe);a=fi.getMinimumMaximumHeights(d).minimumTerrainHeight}i.extrudedHeight=a};ku.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight,i=l(n)&&n!==t;return!e.perPositionHeight&&(!i&&t===0||i&&e.closeTop&&e.closeBottom)};ku.DynamicGeometryUpdater=nS;function nS(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(nS.prototype=Object.create(ri.prototype),nS.prototype.constructor=nS);nS.prototype._isHidden=function(e,t,n){return!l(this._options.polygonHierarchy)||ri.prototype._isHidden.call(this,e,t,n)};nS.prototype._setOptions=function(e,t,n){let i=this._options;i.polygonHierarchy=q.getValueOrUndefined(t.hierarchy,n);let o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,je.NONE),s=q.getValueOrDefault(t.extrudedHeightReference,n,je.NONE),a=q.getValueOrUndefined(t.extrudedHeight,n),c=q.getValueOrUndefined(t.perPositionHeight,n);o=Xn.getGeometryHeight(o,s);let u;if(c?(l(o)&&(o=void 0,Tt(xhe)),r!==je.NONE&&c&&(o=void 0,Tt(bhe))):(l(a)&&!l(o)&&(o=0),u=Xn.computeGeometryOffsetAttribute(o,r,a,s)),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,n),i.perPositionHeight=q.getValueOrUndefined(t.perPositionHeight,n),i.closeTop=q.getValueOrDefault(t.closeTop,n,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,n,!0),i.offsetAttribute=u,i.height=o,i.arcType=q.getValueOrDefault(t.arcType,n,tn.GEODESIC),a=Xn.getGeometryExtrudedHeight(a,s),a===Xn.CLAMP_TO_GROUND){let f=$p.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Ehe);a=fi.getMinimumMaximumHeights(f).minimumTerrainHeight}i.extrudedHeight=a};var lN=ku;function HQe(e,t,n,i){let o=new mn;i.position&&(o.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e}));let r=t.length,s=e.length/3,a=(s-r*2)/(r*2),c=li.triangulate(t),u=(a-1)*r*6+c.length*2,f=Fe.createTypedArray(s,u),d,p,g,m,x,b,T=r*2,A=0;for(d=0;d<a-1;d++){for(p=0;p<r-1;p++)g=p*2+d*r*2,b=g+T,m=g+1,x=m+T,f[A++]=m,f[A++]=g,f[A++]=x,f[A++]=x,f[A++]=g,f[A++]=b;g=r*2-2+d*r*2,m=g+1,x=m+T,b=g+T,f[A++]=m,f[A++]=g,f[A++]=x,f[A++]=x,f[A++]=g,f[A++]=b}if(i.st||i.tangent||i.bitangent){let v=new Float32Array(s*2),D=1/(a-1),O=1/n.height,R=n.height/2,M,N,_=0;for(d=0;d<a;d++){for(M=d*D,N=O*(t[0].y+R),v[_++]=M,v[_++]=N,p=1;p<r;p++)N=O*(t[p].y+R),v[_++]=M,v[_++]=N,v[_++]=M,v[_++]=N;N=O*(t[0].y+R),v[_++]=M,v[_++]=N}for(p=0;p<r;p++)M=0,N=O*(t[p].y+R),v[_++]=M,v[_++]=N;for(p=0;p<r;p++)M=(a-1)*D,N=O*(t[p].y+R),v[_++]=M,v[_++]=N;o.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:new Float32Array(v)})}let C=s-r*2;for(d=0;d<c.length;d+=3){let v=c[d]+C,D=c[d+1]+C,O=c[d+2]+C;f[A++]=v,f[A++]=D,f[A++]=O,f[A++]=O+r,f[A++]=D+r,f[A++]=v+r}let E=new ut({attributes:o,indices:f,boundingSphere:ae.fromVertices(e),primitiveType:Ne.TRIANGLES});if(i.normal&&(E=Gn.computeNormal(E)),i.tangent||i.bitangent){try{E=Gn.computeTangentAndBitangent(E)}catch{Tt("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(E.attributes.tangent=void 0),i.bitangent||(E.attributes.bitangent=void 0),i.st||(E.attributes.st=void 0)}return E}function fN(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Mi.ROUNDED),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*z.packedLength,this.packedLength=i+ee.packedLength+Pe.packedLength+2}fN.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var She=ee.clone(ee.UNIT_SPHERE),vhe=new Pe,uN={polylinePositions:void 0,shapePositions:void 0,ellipsoid:She,vertexFormat:vhe,cornerType:void 0,granularity:void 0};fN.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ee.unpack(e,t,She);t+=ee.packedLength;let c=Pe.unpack(e,t,vhe);t+=Pe.packedLength;let u=e[t++],f=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Pe.clone(c,n._vertexFormat),n._cornerType=u,n._granularity=f,n):(uN.polylinePositions=r,uN.shapePositions=s,uN.cornerType=u,uN.granularity=f,new fN(uN))};var GQe=new We;fN.createGeometry=function(e){let t=e._positions,n=Co(t,h.equalsEpsilon),i=e._shape;if(i=ih.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;li.computeWindingOrder2D(i)===ds.CLOCKWISE&&i.reverse();let o=We.fromPoints(i,GQe),r=ih.computePositions(n,i,o,e,!0);return HQe(r,i,o,e._vertexFormat)};var dN=fN;function WQe(e,t){let n=new mn;n.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e});let i=t.length,o=n.position.values.length/3,s=e.length/3/i,a=Fe.createTypedArray(o,2*i*(s+1)),c,u,f=0;c=0;let d=c*i;for(u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=s-1,d=c*i,u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=0;c<s-1;c++){let g=i*c,m=g+i;for(u=0;u<i;u++)a[f++]=u+g,a[f++]=u+m}return new ut({attributes:n,indices:Fe.createTypedArray(o,a),boundingSphere:ae.fromVertices(e),primitiveType:Ne.LINES})}function mN(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Mi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*z.packedLength,this.packedLength=i+ee.packedLength+2}mN.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var whe=ee.clone(ee.UNIT_SPHERE),hN={polylinePositions:void 0,shapePositions:void 0,ellipsoid:whe,height:void 0,cornerType:void 0,granularity:void 0};mN.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ee.unpack(e,t,whe);t+=ee.packedLength;let c=e[t++],u=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._cornerType=c,n._granularity=u,n):(hN.polylinePositions=r,hN.shapePositions=s,hN.cornerType=c,hN.granularity=u,new mN(hN))};var jQe=new We;mN.createGeometry=function(e){let t=e._positions,n=Co(t,h.equalsEpsilon),i=e._shape;if(i=ih.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;li.computeWindingOrder2D(i)===ds.CLOCKWISE&&i.reverse();let o=We.fromPoints(i,jQe),r=ih.computePositions(n,i,o,e,!1);return WQe(r,i)};var pN=mN;var Dhe=new H;function qQe(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function vm(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new qQe(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}l(Object.create)&&(vm.prototype=Object.create(si.prototype),vm.prototype.constructor=vm);vm.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=zn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ut){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Dhe)),l(c)||(c=H.WHITE),o=Wt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new vt({id:t,geometry:new dN(this._options),attributes:i})};vm.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Dhe),o=this._distanceDisplayConditionProperty.getValue(e);return new vt({id:t,geometry:new pN(this._options),attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(o)}})};vm.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.shape)||si.prototype._isHidden.call(this,e,t)};vm.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!t.shape.isConstant||!q.isConstant(t.granularity)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)};vm.prototype._setStaticOptions=function(e,t){let n=t.granularity,i=t.cornerType,o=this._options,r=this._materialProperty instanceof Ut;o.vertexFormat=r?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,o.polylinePositions=t.positions.getValue(Ue.MINIMUM_VALUE,o.polylinePositions),o.shapePositions=t.shape.getValue(Ue.MINIMUM_VALUE,o.shape),o.granularity=l(n)?n.getValue(Ue.MINIMUM_VALUE):void 0,o.cornerType=l(i)?i.getValue(Ue.MINIMUM_VALUE):void 0};vm.DynamicGeometryUpdater=iS;function iS(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(iS.prototype=Object.create(ri.prototype),iS.prototype.constructor=iS);iS.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.polylinePositions)||!l(i.shapePositions)||ri.prototype._isHidden.call(this,e,t,n)};iS.prototype._setOptions=function(e,t,n){let i=this._options;i.polylinePositions=q.getValueOrUndefined(t.positions,n,i.polylinePositions),i.shapePositions=q.getValueOrUndefined(t.shape,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n)};var _N=vm;var Y7=new h,Rhe=new h,Ohe=new h,Mhe=new h,Lhe=new se,YQe=new z,XQe=new ae,KQe=new ae;function Nhe(e,t){let n=new ut({attributes:new mn,primitiveType:Ne.TRIANGLES});return n.attributes.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(n.attributes.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(n.attributes.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(n.attributes.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.bitangents})),n}function ZQe(e,t,n,i){let o=e.length,r=t.normal?new Float32Array(o):void 0,s=t.tangent?new Float32Array(o):void 0,a=t.bitangent?new Float32Array(o):void 0,c=0,u=Mhe,f=Ohe,d=Rhe;if(t.normal||t.tangent||t.bitangent)for(let p=0;p<o;p+=3){let g=h.fromArray(e,p,Y7),m=c+1,x=c+2;d=n.geodeticSurfaceNormal(g,d),(t.tangent||t.bitangent)&&(h.cross(h.UNIT_Z,d,f),$.multiplyByVector(i,f,f),h.normalize(f,f),t.bitangent&&h.normalize(h.cross(d,f,u),u)),t.normal&&(r[c]=d.x,r[m]=d.y,r[x]=d.z),t.tangent&&(s[c]=f.x,s[m]=f.y,s[x]=f.z),t.bitangent&&(a[c]=u.x,a[m]=u.y,a[x]=u.z),c+=3}return Nhe(t,{positions:e,normals:r,tangents:s,bitangents:a})}var X7=new h,Fhe=new h;function $Qe(e,t,n){let i=e.length,o=t.normal?new Float32Array(i):void 0,r=t.tangent?new Float32Array(i):void 0,s=t.bitangent?new Float32Array(i):void 0,a=0,c=0,u=0,f=!0,d=Mhe,p=Ohe,g=Rhe;if(t.normal||t.tangent||t.bitangent)for(let m=0;m<i;m+=6){let x=h.fromArray(e,m,Y7),b=h.fromArray(e,(m+6)%i,X7);if(f){let T=h.fromArray(e,(m+3)%i,Fhe);h.subtract(b,x,b),h.subtract(T,x,T),g=h.normalize(h.cross(T,b,g),g),f=!1}h.equalsEpsilon(b,x,P.EPSILON10)&&(f=!0),(t.tangent||t.bitangent)&&(d=n.geodeticSurfaceNormal(x,d),t.tangent&&(p=h.normalize(h.cross(d,g,p),p))),t.normal&&(o[a++]=g.x,o[a++]=g.y,o[a++]=g.z,o[a++]=g.x,o[a++]=g.y,o[a++]=g.z),t.tangent&&(r[c++]=p.x,r[c++]=p.y,r[c++]=p.z,r[c++]=p.x,r[c++]=p.y,r[c++]=p.z),t.bitangent&&(s[u++]=d.x,s[u++]=d.y,s[u++]=d.z,s[u++]=d.x,s[u++]=d.y,s[u++]=d.z)}return Nhe(t,{positions:e,normals:o,tangents:r,bitangents:s})}function Bhe(e,t){let n=e._vertexFormat,i=e._ellipsoid,o=t.height,r=t.width,s=t.northCap,a=t.southCap,c=0,u=o,f=o,d=0;s&&(c=1,f-=1,d+=1),a&&(u-=1,f-=1,d+=1),d+=r*f;let p=n.position?new Float64Array(d*3):void 0,g=n.st?new Float32Array(d*2):void 0,m=0,x=0,b=Y7,T=YQe,A=Number.MAX_VALUE,C=Number.MAX_VALUE,E=-Number.MAX_VALUE,v=-Number.MAX_VALUE;for(let S=c;S<u;++S)for(let w=0;w<r;++w)Ds.computePosition(t,i,n.st,S,w,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,A=Math.min(A,T.x),C=Math.min(C,T.y),E=Math.max(E,T.x),v=Math.max(v,T.y));if(s&&(Ds.computePosition(t,i,n.st,0,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,A=T.x,C=T.y,E=T.x,v=T.y)),a&&(Ds.computePosition(t,i,n.st,o-1,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m]=b.z,n.st&&(g[x++]=T.x,g[x]=T.y,A=Math.min(A,T.x),C=Math.min(C,T.y),E=Math.max(E,T.x),v=Math.max(v,T.y))),n.st&&(A<0||C<0||E>1||v>1))for(let S=0;S<g.length;S+=2)g[S]=(g[S]-A)/(E-A),g[S+1]=(g[S+1]-C)/(v-C);let D=ZQe(p,n,i,t.tangentRotationMatrix),O=6*(r-1)*(f-1);s&&(O+=3*(r-1)),a&&(O+=3*(r-1));let R=Fe.createTypedArray(d,O),M=0,N=0,_;for(_=0;_<f-1;++_){for(let S=0;S<r-1;++S){let w=M,I=w+r,L=I+1,B=w+1;R[N++]=w,R[N++]=I,R[N++]=B,R[N++]=B,R[N++]=I,R[N++]=L,++M}++M}if(s||a){let S=d-1,w=d-1;s&&a&&(S=d-2);let I,L;if(M=0,s)for(_=0;_<r-1;_++)I=M,L=I+1,R[N++]=S,R[N++]=I,R[N++]=L,++M;if(a)for(M=(f-1)*r,_=0;_<r-1;_++)I=M,L=I+1,R[N++]=I,R[N++]=w,R[N++]=L,++M}return D.indices=R,n.st&&(D.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),D}function oS(e,t,n,i,o){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],e[t++]=o[n],e[t++]=o[n+1],e[t]=o[n+2],e}function rS(e,t,n,i){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n],e[t]=i[n+1],e}var K7=new Pe;function QQe(e,t){let n=e._shadowVolume,i=e._offsetAttribute,o=e._vertexFormat,r=e._extrudedHeight,s=e._surfaceHeight,a=e._ellipsoid,c=t.height,u=t.width,f;if(n){let Ze=Pe.clone(o,K7);Ze.normal=!0,e._vertexFormat=Ze}let d=Bhe(e,t);n&&(e._vertexFormat=o);let p=li.scaleToGeodeticHeight(d.attributes.position.values,s,a,!1);p=new Float64Array(p);let g=p.length,m=g*2,x=new Float64Array(m);x.set(p);let b=li.scaleToGeodeticHeight(d.attributes.position.values,r,a);x.set(b,g),d.attributes.position.values=x;let T=o.normal?new Float32Array(m):void 0,A=o.tangent?new Float32Array(m):void 0,C=o.bitangent?new Float32Array(m):void 0,E=o.st?new Float32Array(m/3*2):void 0,v,D;if(o.normal){for(D=d.attributes.normal.values,T.set(D),f=0;f<g;f++)D[f]=-D[f];T.set(D,g),d.attributes.normal.values=T}if(n){D=d.attributes.normal.values,o.normal||(d.attributes.normal=void 0);let Ze=new Float32Array(m);for(f=0;f<g;f++)D[f]=-D[f];Ze.set(D,g),d.attributes.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:Ze})}let O,R=l(i);if(R){let Ze=g/3*2,Dt=new Uint8Array(Ze);i===un.TOP?Dt=Dt.fill(1,0,Ze/2):(O=i===un.NONE?0:1,Dt=Dt.fill(O)),d.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:Dt})}if(o.tangent){let Ze=d.attributes.tangent.values;for(A.set(Ze),f=0;f<g;f++)Ze[f]=-Ze[f];A.set(Ze,g),d.attributes.tangent.values=A}if(o.bitangent){let Ze=d.attributes.bitangent.values;C.set(Ze),C.set(Ze,g),d.attributes.bitangent.values=C}o.st&&(v=d.attributes.st.values,E.set(v),E.set(v,g/3*2),d.attributes.st.values=E);let M=d.indices,N=M.length,_=g/3,S=Fe.createTypedArray(m/3,N*2);for(S.set(M),f=0;f<N;f+=3)S[f+N]=M[f+2]+_,S[f+1+N]=M[f+1]+_,S[f+2+N]=M[f]+_;d.indices=S;let w=t.northCap,I=t.southCap,L=c,B=2,U=0,V=4,G=4;w&&(B-=1,L-=1,U+=1,V-=2,G-=1),I&&(B-=1,L-=1,U+=1,V-=2,G-=1),U+=B*u+2*L-V;let k=(U+G)*2,Y=new Float64Array(k*3),W=n?new Float32Array(k*3):void 0,Q=R?new Uint8Array(k):void 0,j=o.st?new Float32Array(k*2):void 0,Z=i===un.TOP;R&&!Z&&(O=i===un.ALL?1:0,Q=Q.fill(O));let J=0,he=0,xe=0,re=0,_e=u*L,ye;for(f=0;f<_e;f+=u)ye=f*3,Y=oS(Y,J,ye,p,b),J+=6,o.st&&(j=rS(j,he,f*2,v),he+=4),n&&(xe+=3,W[xe++]=D[ye],W[xe++]=D[ye+1],W[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);if(I){let Ze=w?_e+1:_e;for(ye=Ze*3,f=0;f<2;f++)Y=oS(Y,J,ye,p,b),J+=6,o.st&&(j=rS(j,he,Ze*2,v),he+=4),n&&(xe+=3,W[xe++]=D[ye],W[xe++]=D[ye+1],W[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1)}else for(f=_e-u;f<_e;f++)ye=f*3,Y=oS(Y,J,ye,p,b),J+=6,o.st&&(j=rS(j,he,f*2,v),he+=4),n&&(xe+=3,W[xe++]=D[ye],W[xe++]=D[ye+1],W[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);for(f=_e-1;f>0;f-=u)ye=f*3,Y=oS(Y,J,ye,p,b),J+=6,o.st&&(j=rS(j,he,f*2,v),he+=4),n&&(xe+=3,W[xe++]=D[ye],W[xe++]=D[ye+1],W[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);if(w){let Ze=_e;for(ye=Ze*3,f=0;f<2;f++)Y=oS(Y,J,ye,p,b),J+=6,o.st&&(j=rS(j,he,Ze*2,v),he+=4),n&&(xe+=3,W[xe++]=D[ye],W[xe++]=D[ye+1],W[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1)}else for(f=u-1;f>=0;f--)ye=f*3,Y=oS(Y,J,ye,p,b),J+=6,o.st&&(j=rS(j,he,f*2,v),he+=4),n&&(xe+=3,W[xe++]=D[ye],W[xe++]=D[ye+1],W[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);let De=$Qe(Y,o,a);o.st&&(De.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:j})),n&&(De.attributes.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:W})),R&&(De.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:Q}));let ve=Fe.createTypedArray(k,U*6),Me,Oe,ct,Ke;g=Y.length/3;let _t=0;for(f=0;f<g-1;f+=2){Me=f,Ke=(Me+2)%g;let Ze=h.fromArray(Y,Me*3,X7),Dt=h.fromArray(Y,Ke*3,Fhe);h.equalsEpsilon(Ze,Dt,P.EPSILON10)||(Oe=(Me+1)%g,ct=(Oe+2)%g,ve[_t++]=Me,ve[_t++]=Oe,ve[_t++]=Ke,ve[_t++]=Ke,ve[_t++]=Oe,ve[_t++]=ct)}return De.indices=ve,De=Gn.combineInstances([new vt({geometry:d}),new vt({geometry:De})]),De[0]}var JQe=[new h,new h,new h,new h],khe=new fe,eJe=new fe;function Z7(e,t,n,i,o){if(n===0)return se.clone(e,o);let r=Ds.computeOptions(e,t,n,0,Lhe,khe),s=r.height,a=r.width,c=JQe;return Ds.computePosition(r,i,!1,0,0,c[0]),Ds.computePosition(r,i,!1,0,a-1,c[1]),Ds.computePosition(r,i,!1,s-1,0,c[2]),Ds.computePosition(r,i,!1,s-1,a-1,c[3]),se.fromCartesianArray(c,i,o)}function wm(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.height,0),i=y(e.extrudedHeight,n);this._rectangle=se.clone(t),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._surfaceHeight=Math.max(n,i),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._extrudedHeight=Math.min(n,i),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}wm.packedLength=se.packedLength+ee.packedLength+Pe.packedLength+7;wm.pack=function(e,t,n){return n=y(n,0),se.pack(e._rectangle,t,n),n+=se.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var Vhe=new se,Uhe=ee.clone(ee.UNIT_SPHERE),Zy={rectangle:Vhe,ellipsoid:Uhe,vertexFormat:K7,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};wm.unpack=function(e,t,n){t=y(t,0);let i=se.unpack(e,t,Vhe);t+=se.packedLength;let o=ee.unpack(e,t,Uhe);t+=ee.packedLength;let r=Pe.unpack(e,t,K7);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++]===1,p=e[t];return l(n)?(n._rectangle=se.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._granularity=s,n._surfaceHeight=a,n._rotation=c,n._stRotation=u,n._extrudedHeight=f,n._shadowVolume=d,n._offsetAttribute=p===-1?void 0:p,n):(Zy.granularity=s,Zy.height=a,Zy.rotation=c,Zy.stRotation=u,Zy.extrudedHeight=f,Zy.shadowVolume=d,Zy.offsetAttribute=p===-1?void 0:p,new wm(Zy))};wm.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.rectangle,i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.ellipsoid,ee.default),r=y(e.rotation,0);return Z7(n,i,r,o,t)};var tJe=new $,Ihe=new Le,nJe=new fe;wm.createGeometry=function(e){if(P.equalsEpsilon(e._rectangle.north,e._rectangle.south,P.EPSILON10)||P.equalsEpsilon(e._rectangle.east,e._rectangle.west,P.EPSILON10))return;let t=e._rectangle,n=e._ellipsoid,i=e._rotation,o=e._stRotation,r=e._vertexFormat,s=Ds.computeOptions(t,e._granularity,i,o,Lhe,khe,eJe),a=tJe;if(o!==0||i!==0){let g=se.center(t,nJe),m=n.geodeticSurfaceNormalCartographic(g,X7);Le.fromAxisAngle(m,-o,Ihe),$.fromQuaternion(Ihe,a)}else $.clone($.IDENTITY,a);let c=e._surfaceHeight,u=e._extrudedHeight,f=!P.equalsEpsilon(c,u,0,P.EPSILON2);s.lonScalar=1/e._rectangle.width,s.latScalar=1/e._rectangle.height,s.tangentRotationMatrix=a;let d,p;if(t=e._rectangle,f){d=QQe(e,s);let g=ae.fromRectangle3D(t,n,c,KQe),m=ae.fromRectangle3D(t,n,u,XQe);p=ae.union(g,m)}else{if(d=Bhe(e,s),d.attributes.position.values=li.scaleToGeodeticHeight(d.attributes.position.values,c,n,!1),l(e._offsetAttribute)){let g=d.attributes.position.values.length,m=e._offsetAttribute===un.NONE?0:1,x=new Uint8Array(g/3).fill(m);d.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}p=ae.fromRectangle3D(t,n,c)}return r.position||delete d.attributes.position,new ut({attributes:d.attributes,indices:d.indices,primitiveType:d.primitiveType,boundingSphere:p,offsetAttribute:e._offsetAttribute})};wm.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new wm({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:o,stRotation:e._stRotation,granularity:i,extrudedHeight:s,height:r,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};var Phe=new se,iJe=[new z,new z,new z],oJe=new Ui,rJe=new fe;function sJe(e){if(e._stRotation===0)return[0,0,0,1,1,0];let t=se.clone(e._rectangle,Phe),n=e._granularity,i=e._ellipsoid,o=e._rotation-e._stRotation,r=Z7(t,n,o,i,Phe),s=iJe;s[0].x=r.west,s[0].y=r.south,s[1].x=r.west,s[1].y=r.north,s[2].x=r.east,s[2].y=r.south;let a=e.rectangle,c=Ui.fromRotation(e._stRotation,oJe),u=se.center(a,rJe);for(let m=0;m<3;++m){let x=s[m];x.x-=u.longitude,x.y-=u.latitude,Ui.multiplyByVector(c,x,x),x.x+=u.longitude,x.y+=u.latitude,x.x=(x.x-a.west)/a.width,x.y=(x.y-a.south)/a.height}let f=s[0],d=s[1],p=s[2],g=new Array(6);return z.pack(f,g),z.pack(d,g,2),z.pack(p,g,4),g}Object.defineProperties(wm.prototype,{rectangle:{get:function(){return l(this._rotatedRectangle)||(this._rotatedRectangle=Z7(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=sJe(this)),this._textureCoordinateRotationPoints}}});var oT=wm;var zhe=new H,Hhe=h.ZERO,Ghe=new h,Whe=new se,aJe=new se,cJe=new fe;function lJe(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function dh(e,t){Xn.call(this,{entity:e,scene:t,geometryOptions:new lJe(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}l(Object.create)&&(dh.prototype=Object.create(Xn.prototype),dh.prototype.constructor=dh);dh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:zn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ut){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,zhe)),l(o)||(o=H.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Hhe,Ghe))),new vt({id:t,geometry:new oT(this._options),attributes:i})};dh.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,zhe),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=Ji.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Hhe,Ghe))),new vt({id:t,geometry:new Rb(this._options),attributes:r})};dh.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.rectangle.coordinates,e,aJe);if(!l(n))return;let i=se.center(n,cJe);return fe.toCartesian(i,ee.default,t)};dh.prototype._isHidden=function(e,t){return!l(t.coordinates)||si.prototype._isHidden.call(this,e,t)};dh.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.rotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ut)};dh.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ut,i=q.getValueOrUndefined(t.height,Ue.MINIMUM_VALUE),o=q.getValueOrDefault(t.heightReference,Ue.MINIMUM_VALUE,je.NONE),r=q.getValueOrUndefined(t.extrudedHeight,Ue.MINIMUM_VALUE),s=q.getValueOrDefault(t.extrudedHeightReference,Ue.MINIMUM_VALUE,je.NONE);l(r)&&!l(i)&&(i=0);let a=this._options;a.vertexFormat=n?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,a.rectangle=t.coordinates.getValue(Ue.MINIMUM_VALUE,a.rectangle),a.granularity=q.getValueOrUndefined(t.granularity,Ue.MINIMUM_VALUE),a.stRotation=q.getValueOrUndefined(t.stRotation,Ue.MINIMUM_VALUE),a.rotation=q.getValueOrUndefined(t.rotation,Ue.MINIMUM_VALUE),a.offsetAttribute=Xn.computeGeometryOffsetAttribute(i,o,r,s),a.height=Xn.getGeometryHeight(i,o),r=Xn.getGeometryExtrudedHeight(r,s),r===Xn.CLAMP_TO_GROUND&&(r=fi.getMinimumMaximumHeights(oT.computeRectangle(a,Whe)).minimumTerrainHeight),a.extrudedHeight=r};dh.DynamicGeometryUpdater=sS;function sS(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(sS.prototype=Object.create(ri.prototype),sS.prototype.constructor=sS);sS.prototype._isHidden=function(e,t,n){return!l(this._options.rectangle)||ri.prototype._isHidden.call(this,e,t,n)};sS.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,je.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,je.NONE);l(s)&&!l(o)&&(o=0),i.rectangle=q.getValueOrUndefined(t.coordinates,n,i.rectangle),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.offsetAttribute=Xn.computeGeometryOffsetAttribute(o,r,s,a),i.height=Xn.getGeometryHeight(o,r),s=Xn.getGeometryExtrudedHeight(s,a),s===Xn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(oT.computeRectangle(i,Whe)).minimumTerrainHeight),i.extrudedHeight=s};var gN=dh;var jhe={};function uJe(e,t){return P.equalsEpsilon(e.latitude,t.latitude,P.EPSILON10)&&P.equalsEpsilon(e.longitude,t.longitude,P.EPSILON10)}var fJe=new fe,dJe=new fe;function hJe(e,t,n,i){t=Co(t,h.equalsEpsilon);let o=t.length;if(o<2)return;let r=l(i),s=l(n),a=new Array(o),c=new Array(o),u=new Array(o),f=t[0];a[0]=f;let d=e.cartesianToCartographic(f,fJe);s&&(d.height=n[0]),c[0]=d.height,r?u[0]=i[0]:u[0]=0;let p=c[0],g=u[0],m=p===g,x=1;for(let b=1;b<o;++b){let T=t[b],A=e.cartesianToCartographic(T,dJe);s&&(A.height=n[b]),m=m&&A.height===0,uJe(d,A)?d.height<A.height&&(c[x-1]=A.height):(a[x]=T,c[x]=A.height,r?u[x]=i[b]:u[x]=0,m=m&&c[x]===u[x],fe.clone(A,d),++x)}if(!(m||x<2))return a.length=x,c.length=x,u.length=x,{positions:a,topHeights:c,bottomHeights:u}}var mJe=new Array(2),pJe=new Array(2),_Je={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};jhe.computePositions=function(e,t,n,i,o,r){let s=hJe(e,t,n,i);if(!l(s))return;t=s.positions,n=s.topHeights,i=s.bottomHeights;let a=t.length,c=a-2,u,f,d=P.chordLength(o,e.maximumRadius),p=_Je;if(p.minDistance=d,p.ellipsoid=e,r){let g=0,m;for(m=0;m<a-1;m++)g+=Oi.numberOfPoints(t[m],t[m+1],d)+1;u=new Float64Array(g*3),f=new Float64Array(g*3);let x=mJe,b=pJe;p.positions=x,p.height=b;let T=0;for(m=0;m<a-1;m++){x[0]=t[m],x[1]=t[m+1],b[0]=n[m],b[1]=n[m+1];let A=Oi.generateArc(p);u.set(A,T),b[0]=i[m],b[1]=i[m+1],f.set(Oi.generateArc(p),T),T+=A.length}}else p.positions=t,p.height=n,u=new Float64Array(Oi.generateArc(p)),p.height=i,f=new Float64Array(Oi.generateArc(p));return{bottomPositions:f,topPositions:u,numCorners:c}};var rT=jhe;var $7=new h,o4=new h,gJe=new h,qhe=new h,yJe=new h,xJe=new h,bJe=new h;function sT(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=Pe.clone(o),this._granularity=r,this._ellipsoid=ee.clone(s),this._workerName="createWallGeometry";let a=1+t.length*h.packedLength+2;l(i)&&(a+=i.length),l(n)&&(a+=n.length),this.packedLength=a+ee.packedLength+Pe.packedLength+1}sT.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n]=e._granularity,t};var Yhe=ee.clone(ee.UNIT_SPHERE),Xhe=new Pe,yN={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:Yhe,vertexFormat:Xhe,granularity:void 0};sT.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,Yhe);t+=ee.packedLength;let u=Pe.unpack(e,t,Xhe);t+=Pe.packedLength;let f=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._vertexFormat=Pe.clone(u,n._vertexFormat),n._granularity=f,n):(yN.positions=r,yN.minimumHeights=s,yN.maximumHeights=a,yN.granularity=f,new sT(yN))};sT.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat};return new sT(c)};sT.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._vertexFormat,r=e._granularity,s=e._ellipsoid,a=rT.computePositions(s,t,i,n,r,!0);if(!l(a))return;let c=a.bottomPositions,u=a.topPositions,f=a.numCorners,d=u.length,p=d*2,g=o.position?new Float64Array(p):void 0,m=o.normal?new Float32Array(p):void 0,x=o.tangent?new Float32Array(p):void 0,b=o.bitangent?new Float32Array(p):void 0,T=o.st?new Float32Array(p/3*2):void 0,A=0,C=0,E=0,v=0,D=0,O=bJe,R=xJe,M=yJe,N=!0;d/=3;let _,S=0,w=1/(d-f-1);for(_=0;_<d;++_){let V=_*3,G=h.fromArray(u,V,$7),k=h.fromArray(c,V,o4);if(o.position&&(g[A++]=k.x,g[A++]=k.y,g[A++]=k.z,g[A++]=G.x,g[A++]=G.y,g[A++]=G.z),o.st&&(T[D++]=S,T[D++]=0,T[D++]=S,T[D++]=1),o.normal||o.tangent||o.bitangent){let Y=h.clone(h.ZERO,qhe),W=h.subtract(G,s.geodeticSurfaceNormal(G,o4),o4);if(_+1<d&&(Y=h.fromArray(u,V+3,qhe)),N){let Q=h.subtract(Y,G,gJe),j=h.subtract(W,G,$7);O=h.normalize(h.cross(j,Q,O),O),N=!1}h.equalsEpsilon(G,Y,P.EPSILON10)?N=!0:(S+=w,o.tangent&&(R=h.normalize(h.subtract(Y,G,R),R)),o.bitangent&&(M=h.normalize(h.cross(O,R,M),M))),o.normal&&(m[C++]=O.x,m[C++]=O.y,m[C++]=O.z,m[C++]=O.x,m[C++]=O.y,m[C++]=O.z),o.tangent&&(x[v++]=R.x,x[v++]=R.y,x[v++]=R.z,x[v++]=R.x,x[v++]=R.y,x[v++]=R.z),o.bitangent&&(b[E++]=M.x,b[E++]=M.y,b[E++]=M.z,b[E++]=M.x,b[E++]=M.y,b[E++]=M.z)}}let I=new mn;o.position&&(I.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:g})),o.normal&&(I.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),o.tangent&&(I.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),o.bitangent&&(I.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:b})),o.st&&(I.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T}));let L=p/3;p-=6*(f+1);let B=Fe.createTypedArray(L,p),U=0;for(_=0;_<L-2;_+=2){let V=_,G=_+2,k=h.fromArray(g,V*3,$7),Y=h.fromArray(g,G*3,o4);if(h.equalsEpsilon(k,Y,P.EPSILON10))continue;let W=_+1,Q=_+3;B[U++]=W,B[U++]=V,B[U++]=Q,B[U++]=Q,B[U++]=V,B[U++]=G}return new ut({attributes:I,indices:B,primitiveType:Ne.TRIANGLES,boundingSphere:new ae.fromVertices(g)})};var xN=sT;var Khe=new h,Zhe=new h;function aT(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._granularity=o,this._ellipsoid=ee.clone(r),this._workerName="createWallOutlineGeometry";let s=1+t.length*h.packedLength+2;l(i)&&(s+=i.length),l(n)&&(s+=n.length),this.packedLength=s+ee.packedLength+1}aT.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n]=e._granularity,t};var $he=ee.clone(ee.UNIT_SPHERE),bN={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:$he,granularity:void 0};aT.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,$he);t+=ee.packedLength;let u=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._granularity=u,n):(bN.positions=r,bN.minimumHeights=s,bN.maximumHeights=a,bN.granularity=u,new aT(bN))};aT.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid};return new aT(c)};aT.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._granularity,r=e._ellipsoid,s=rT.computePositions(r,t,i,n,o,!1);if(!l(s))return;let a=s.bottomPositions,c=s.topPositions,u=c.length,f=u*2,d=new Float64Array(f),p=0;u/=3;let g;for(g=0;g<u;++g){let A=g*3,C=h.fromArray(c,A,Khe),E=h.fromArray(a,A,Zhe);d[p++]=E.x,d[p++]=E.y,d[p++]=E.z,d[p++]=C.x,d[p++]=C.y,d[p++]=C.z}let m=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})}),x=f/3;f=2*x-4+x;let b=Fe.createTypedArray(x,f),T=0;for(g=0;g<x-2;g+=2){let A=g,C=g+2,E=h.fromArray(d,A*3,Khe),v=h.fromArray(d,C*3,Zhe);if(h.equalsEpsilon(E,v,P.EPSILON10))continue;let D=g+1,O=g+3;b[T++]=D,b[T++]=A,b[T++]=D,b[T++]=O,b[T++]=A,b[T++]=C}return b[T++]=x-2,b[T++]=x-1,new ut({attributes:m,indices:b,primitiveType:Ne.LINES,boundingSphere:new ae.fromVertices(d)})};var TN=aT;var Qhe=new H;function TJe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function hh(e,t){si.call(this,{entity:e,scene:t,geometryOptions:new TJe(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}l(Object.create)&&(hh.prototype=Object.create(si.prototype),hh.prototype.constructor=hh);hh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=zn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ut){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Qhe)),l(c)||(c=H.WHITE),o=Wt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new vt({id:t,geometry:new xN(this._options),attributes:i})};hh.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Qhe),o=this._distanceDisplayConditionProperty.getValue(e);return new vt({id:t,geometry:new TN(this._options),attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:zn.fromDistanceDisplayCondition(o)}})};hh.prototype._isHidden=function(e,t){return!l(t.positions)||si.prototype._isHidden.call(this,e,t)};hh.prototype._getIsClosed=function(e){return!1};hh.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.minimumHeights)||!q.isConstant(t.maximumHeights)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.granularity)};hh.prototype._setStaticOptions=function(e,t){let n=t.minimumHeights,i=t.maximumHeights,o=t.granularity,r=this._materialProperty instanceof Ut,s=this._options;s.vertexFormat=r?fn.VERTEX_FORMAT:uo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(Ue.MINIMUM_VALUE,s.positions),s.minimumHeights=l(n)?n.getValue(Ue.MINIMUM_VALUE,s.minimumHeights):void 0,s.maximumHeights=l(i)?i.getValue(Ue.MINIMUM_VALUE,s.maximumHeights):void 0,s.granularity=l(o)?o.getValue(Ue.MINIMUM_VALUE):void 0};hh.DynamicGeometryUpdater=aS;function aS(e,t,n){ri.call(this,e,t,n)}l(Object.create)&&(aS.prototype=Object.create(ri.prototype),aS.prototype.constructor=aS);aS.prototype._isHidden=function(e,t,n){return!l(this._options.positions)||ri.prototype._isHidden.call(this,e,t,n)};aS.prototype._setOptions=function(e,t,n){let i=this._options;i.positions=q.getValueOrUndefined(t.positions,n,i.positions),i.minimumHeights=q.getValueOrUndefined(t.minimumHeights,n,i.minimumHeights),i.maximumHeights=q.getValueOrUndefined(t.maximumHeights,n,i.maximumHeights),i.granularity=q.getValueOrUndefined(t.granularity,n)};var CN=hh;var cT=[S1,zL,NL,eN,nN,rN,lN,_N,gN,CN];function lT(e,t){this.entity=e,this.scene=t;let n=new Array(cT.length),i=new me,o=new zr;for(let r=0;r<n.length;r++){let s=new cT[r](e,t);o.add(s.geometryChanged,a=>{i.raiseEvent(a)}),n[r]=s}this.updaters=n,this.geometryChanged=i,this.eventHelper=o,this._removeEntitySubscription=e.definitionChanged.addEventListener(lT.prototype._onEntityPropertyChanged,this)}lT.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r<o.length;r++)o[r]._onEntityPropertyChanged(e,t,n,i)};lT.prototype.forEach=function(e){let t=this.updaters;for(let n=0;n<t.length;n++)e(t[n])};lT.prototype.destroy=function(){this.eventHelper.removeAll();let e=this.updaters;for(let t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),ue(this)};lT.registerUpdater=function(e){cT.includes(e)||cT.push(e)};lT.unregisterUpdater=function(e){if(cT.includes(e)){let t=cT.indexOf(e);cT.splice(t,1)}};var uT=lT;var Jhe=new H,CJe=new Ot,AJe=new Ot,EJe=h.ZERO,SJe=new h;function mh(e,t,n,i,o,r,s){this.translucent=t,this.appearanceType=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.depthFailMaterial=void 0,this.closed=r,this.shadows=s,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.updaters=new St,this.updatersWithAttributes=new St,this.attributes=new St,this.subscriptions=new St,this.showsUpdated=new St,this.itemsToRemove=[],this.invalidated=!1;let a;l(o)&&(a=o.definitionChanged.addEventListener(mh.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=a}mh.prototype.onMaterialChanged=function(){this.invalidated=!0};mh.prototype.isMaterial=function(e){let t=this.depthFailMaterialProperty,n=e.depthFailMaterialProperty;return n===t?!0:l(t)?t.equals(n):!1};mh.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};mh.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};mh.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0){l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;l(this.depthFailAppearanceType)&&(l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=$o.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new Pn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ut)&&(this.depthFailMaterial=$o.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let b=u.fillMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,Jhe);H.equals(d._lastColor,T)||(d._lastColor=H.clone(T,d._lastColor),d.color=Wt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}if(l(this.depthFailAppearanceType)&&u.depthFailMaterialProperty instanceof Ut&&(!u.depthFailMaterialProperty.isConstant||c)){let b=u.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,Jhe);H.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=H.clone(T,d._lastDepthFailColor),d.depthFailColor=Wt.toValue(T,d.depthFailColor))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,AJe,CJe);Ot.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=zn.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,EJe,SJe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=Ji.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};mh.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};mh.prototype.contains=function(e){return this.updaters.contains(e.id)};mh.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return lt.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?lt.FAILED:(i.boundingSphere.clone(t),lt.DONE)};mh.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),l(this.removeMaterialSubscription)&&this.removeMaterialSubscription()};function cS(e,t,n,i,o){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}cS.prototype.add=function(e,t){let n,i,o=t.createFillGeometryInstance(e);o.attributes.color.value[3]===255?(n=this._solidItems,i=!1):(n=this._translucentItems,i=!0);let r=n.length;for(let a=0;a<r;a++){let c=n[a];if(c.isMaterial(t)){c.add(t,o);return}}let s=new mh(this._primitives,i,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);s.add(t,o),n.push(s)};function eme(e,t){let n=e.length;for(let i=n-1;i>=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}cS.prototype.remove=function(e){eme(this._solidItems,e)||eme(this._translucentItems,e)};function tme(e,t,n){let i=!1,o=t.length;for(let r=0;r<o;++r){let s=t[r],a=s.itemsToRemove,c=a.length;if(c>0)for(r=0;r<c;r++){let u=a[r];s.remove(u),e.add(n,u),i=!0}}return i}function r4(e,t,n,i){let o=t.length,r;for(r=o-1;r>=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let u=0;u<c;u++)e.add(n,a[u]);s.destroy()}}for(o=t.length,r=0;r<o;++r)i=t[r].update(n)&&i;return i}cS.prototype.update=function(e){let t=r4(this,this._solidItems,e,!0);t=r4(this,this._translucentItems,e,t)&&t;let n=tme(this,this._solidItems,e),i=tme(this,this._translucentItems,e);return(n||i)&&(t=r4(this,this._solidItems,e,t)&&t,t=r4(this,this._translucentItems,e,t)&&t),t};function nme(e,t,n){let i=e.length;for(let o=0;o<i;o++){let r=e[o];if(r.contains(t))return r.getBoundingSphere(t,n)}return lt.FAILED}cS.prototype.getBoundingSphere=function(e,t){let n=nme(this._solidItems,e,t);return n===lt.FAILED?nme(this._translucentItems,e,t):n};function ime(e){let t=e.length;for(let n=0;n<t;n++)e[n].destroy();e.length=0}cS.prototype.removeAllPrimitives=function(){ime(this._solidItems),ime(this._translucentItems)};var Xf=cS;var vJe=new Ot,wJe=new Ot,DJe=h.ZERO,IJe=new h;function ph(e,t,n,i,o,r,s){this.primitives=e,this.appearanceType=t,this.materialProperty=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.closed=r,this.shadows=s,this.updaters=new St,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new St,this.attributes=new St,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(ph.prototype.onMaterialChanged,this),this.subscriptions=new St,this.showsUpdated=new St}ph.prototype.onMaterialChanged=function(){this.invalidated=!0};ph.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty,i=this.depthFailMaterialProperty,o=e.depthFailMaterialProperty;if(n===t&&o===i)return!0;let r=l(t)&&t.equals(n);return r=(!l(i)&&!l(o)||l(i)&&i.equals(o))&&r,r};ph.prototype.add=function(e,t){let n=t.id;if(this.updaters.set(n,t),this.geometry.set(n,t.createFillGeometryInstance(e)),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty)||!q.isConstant(t.terrainOffsetProperty))this.updatersWithAttributes.set(n,t);else{let i=this;this.subscriptions.set(n,t.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};ph.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};var PJe=new H;ph.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0){l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=$o.getValue(e,this.materialProperty,this.material);let a;l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=$o.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new Pn({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=$o.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ut)&&(this.depthFailMaterial=$o.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),l(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof Ut&&!c.depthFailMaterialProperty.isConstant){let b=c.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,PJe);H.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=H.clone(T,d._lastDepthFailColor),d.depthFailColor=Wt.toValue(T,d.depthFailColor))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,wJe,vJe);Ot.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=zn.toValue(b,d.distanceDisplayCondition))}let x=c.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,DJe,IJe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=Ji.toValue(b,d.offset))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};ph.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};ph.prototype.contains=function(e){return this.updaters.contains(e.id)};ph.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return lt.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?lt.FAILED:(i.boundingSphere.clone(t),lt.DONE)};ph.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function lS(e,t,n,i,o){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}lS.prototype.add=function(e,t){let n=this._items,i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s.isMaterial(t)){s.add(e,t);return}}let o=new ph(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),n.push(o)};lS.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};lS.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};lS.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return lt.FAILED};lS.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var Kf=lS;var rme=Bo(ome(),1);function s4(){this._tree=new rme.default}function fT(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}fT.fromRectangleAndId=function(e,t,n){return n.minX=t.west,n.minY=t.south,n.maxX=t.east,n.maxY=t.north,n.id=e,n};s4.prototype.insert=function(e,t){let n=fT.fromRectangleAndId(e,t,new fT);this._tree.insert(n)};function RJe(e,t){return e.id===t.id}var OJe=new fT;s4.prototype.remove=function(e,t){let n=fT.fromRectangleAndId(e,t,OJe);this._tree.remove(n,RJe)};var MJe=new fT;s4.prototype.collides=function(e){let t=fT.fromRectangleAndId("",e,MJe);return this._tree.collides(t)};var dT=s4;var LJe=new H,NJe=new Ot,FJe=new Ot;function G_(e,t,n,i){this.primitives=e,this.zIndex=i,this.classificationType=t,this.color=n,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.updaters=new St,this.updatersWithAttributes=new St,this.attributes=new St,this.subscriptions=new St,this.showsUpdated=new St,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new dT}G_.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};G_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),this.rectangleCollisionCheck.insert(n,t.geometry.rectangle),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};G_.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};G_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Vc({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let x=u.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,H.WHITE,LJe);H.equals(d._lastColor,b)||(d._lastColor=H.clone(b,d._lastColor),d.color=Wt.toValue(b,d.color))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,FJe,NJe);Ot.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=zn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};G_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};G_.prototype.contains=function(e){return this.updaters.contains(e.id)};G_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return lt.PENDING;let i=n.getBoundingSphere(e.entity);return l(i)?(i.clone(t),lt.DONE):lt.FAILED};G_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function uS(e,t){this._batches=[],this._primitives=e,this._classificationType=t}uS.prototype.add=function(e,t){let n=t.createFillGeometryInstance(e),i=this._batches,o=q.getValueOrDefault(t.zIndex,0),r,s=i.length;for(let a=0;a<s;++a){let c=i[a];if(c.zIndex===o&&!c.overlapping(n.geometry.rectangle)){r=c;break}}return l(r)||(r=new G_(this._primitives,this._classificationType,n.attributes.color.value,o),i.push(r)),r.add(t,n),r};uS.prototype.remove=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;++i)if(t[i].remove(e))return};uS.prototype.update=function(e){let t,n,i=!0,o=this._batches,r=o.length;for(t=0;t<r;++t)i=o[t].update(e)&&i;for(t=0;t<r;++t){let s=o[t],a=s.itemsToRemove,c=a.length;for(let u=0;u<c;u++){n=a[u],s.remove(n);let f=this.add(e,n);s.isDirty=!0,f.isDirty=!0}}for(t=r-1;t>=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};uS.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return lt.FAILED};uS.prototype.removeAllPrimitives=function(){let e=this._batches,t=e.length;for(let n=0;n<t;++n)e[n].removeAllPrimitives()};var fS=uS;var BJe=new Ot,kJe=new Ot;function Zf(e,t,n,i,o,r){this.primitives=e,this.classificationType=t,this.appearanceType=n,this.materialProperty=i,this.updaters=new St,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.material=void 0,this.updatersWithAttributes=new St,this.attributes=new St,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(Zf.prototype.onMaterialChanged,this),this.subscriptions=new St,this.showsUpdated=new St,this.usingSphericalTextureCoordinates=o,this.zIndex=r,this.rectangleCollisionCheck=new dT}Zf.prototype.onMaterialChanged=function(){this.invalidated=!0};Zf.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};Zf.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ut&&t instanceof Ut?!0:l(t)&&t.equals(n)};Zf.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),this.rectangleCollisionCheck.insert(i,n.geometry.rectangle),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Zf.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t)),!0}return!1};Zf.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=$o.getValue(e,this.materialProperty,this.material),n=new Vc({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=$o.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d));let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,kJe,BJe);Ot.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=zn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};Zf.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Zf.prototype.contains=function(e){return this.updaters.contains(e.id)};Zf.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return lt.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?lt.FAILED:(i.boundingSphere.clone(t),lt.DONE)};Zf.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function dS(e,t,n){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=n}dS.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=hu.shouldUseSphericalCoordinates(o.geometry.rectangle),s=q.getValueOrDefault(t.zIndex,0);for(let c=0;c<i;++c){let u=n[c];if(u.isMaterial(t)&&u.usingSphericalTextureCoordinates===r&&u.zIndex===s&&!u.overlapping(o.geometry.rectangle)){u.add(e,t,o);return}}let a=new Zf(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,r,s);a.add(e,t,o),n.push(a)};dS.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};dS.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};dS.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return lt.FAILED};dS.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var AN=dS;var VJe=new H,UJe=new Ot,zJe=new Ot,HJe=h.ZERO,GJe=new h;function W_(e,t,n,i){this.translucent=t,this.width=n,this.shadows=i,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.updaters=new St,this.updatersWithAttributes=new St,this.attributes=new St,this.itemsToRemove=[],this.subscriptions=new St,this.showsUpdated=new St}W_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantOutline||!e.outlineColorProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};W_.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};W_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Pn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new fn({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.outlineColorProperty.isConstant||c){let b=u.outlineColorProperty,T=q.getValueOrDefault(b,e,H.WHITE,VJe);H.equals(d._lastColor,T)||(d._lastColor=H.clone(T,d._lastColor),d.color=Wt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}let p=u.entity.isShowing&&(u.hasConstantOutline||u.isOutlineVisible(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,zJe,UJe);Ot.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=zn.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,HJe,GJe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=Ji.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};W_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};W_.prototype.contains=function(e){return this.updaters.contains(e.id)};W_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return lt.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?lt.FAILED:(i.boundingSphere.clone(t),lt.DONE)};W_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function hS(e,t,n){this._primitives=e,this._scene=t,this._shadows=n,this._solidBatches=new St,this._translucentBatches=new St}hS.prototype.add=function(e,t){let n=t.createOutlineGeometryInstance(e),i=this._scene.clampLineWidth(t.outlineWidth),o,r;n.attributes.color.value[3]===255?(o=this._solidBatches,r=o.get(i),l(r)||(r=new W_(this._primitives,!1,i,this._shadows),o.set(i,r)),r.add(t,n)):(o=this._translucentBatches,r=o.get(i),l(r)||(r=new W_(this._primitives,!0,i,this._shadows),o.set(i,r)),r.add(t,n))};hS.prototype.remove=function(e){let t,n=this._solidBatches.values,i=n.length;for(t=0;t<i;t++)if(n[t].remove(e))return;let o=this._translucentBatches.values,r=o.length;for(t=0;t<r;t++)if(o[t].remove(e))return};hS.prototype.update=function(e){let t,n,i,o,r=this._solidBatches.values,s=r.length,a=this._translucentBatches.values,c=a.length,u,f=!0,d=!1;do{for(d=!1,n=0;n<s;n++){o=r[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}for(n=0;n<c;n++){o=a[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}}while(d);return f};hS.prototype.getBoundingSphere=function(e,t){let n,i=this._solidBatches.values,o=i.length;for(n=0;n<o;n++){let a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}let r=this._translucentBatches.values,s=r.length;for(n=0;n<s;n++){let a=r[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return lt.FAILED};hS.prototype.removeAllPrimitives=function(){let e,t=this._solidBatches.values,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._translucentBatches.values,o=i.length;for(e=0;e<o;e++)i[e].removeAllPrimitives()};var mS=hS;var WJe=[];function Gl(e,t,n,i){n=y(n,e.primitives),i=y(i,e.groundPrimitives),this._scene=e,this._primitives=n,this._groundPrimitives=i,this._entityCollection=void 0,this._addedObjects=new St,this._removedObjects=new St,this._changedObjects=new St;let o=bn.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(o*2),this._closedColorBatches=new Array(o*2),this._closedMaterialBatches=new Array(o*2),this._openColorBatches=new Array(o*2),this._openMaterialBatches=new Array(o*2);let r=Qo.supportsMaterialsforEntitiesOnTerrain(e);this._supportsMaterialsforEntitiesOnTerrain=r;let s;for(s=0;s<o;++s)this._outlineBatches[s]=new mS(n,e,s,!1),this._outlineBatches[o+s]=new mS(n,e,s,!0),this._closedColorBatches[s]=new Xf(n,fn,void 0,!0,s,!0),this._closedColorBatches[o+s]=new Xf(n,fn,void 0,!0,s,!1),this._closedMaterialBatches[s]=new Kf(n,uo,void 0,!0,s,!0),this._closedMaterialBatches[o+s]=new Kf(n,uo,void 0,!0,s,!1),this._openColorBatches[s]=new Xf(n,fn,void 0,!1,s,!0),this._openColorBatches[o+s]=new Xf(n,fn,void 0,!1,s,!1),this._openMaterialBatches[s]=new Kf(n,uo,void 0,!1,s,!0),this._openMaterialBatches[o+s]=new Kf(n,uo,void 0,!1,s,!1);let a=Hn.NUMBER_OF_CLASSIFICATION_TYPES,c=new Array(a),u=[];if(r)for(s=0;s<a;++s)u.push(new AN(i,s,uo)),c[s]=new fS(i,s);else for(s=0;s<a;++s)c[s]=new fS(i,s);this._groundColorBatches=c,this._groundMaterialBatches=u,this._dynamicBatch=new Jb(n,i),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new St,this._updaterSets=new St,this._entityCollection=t,t.collectionChanged.addEventListener(Gl.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,WJe)}Gl.registerUpdater=function(e){uT.registerUpdater(e)};Gl.unregisterUpdater=function(e){uT.unregisterUpdater(e)};Gl.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f,d=this;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaterSets.get(u),f.entity===c?f.forEach(function(x){d._removeUpdater(x),d._insertUpdaterIntoBatch(e,x)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaterSets.get(u),f.forEach(this._removeUpdater.bind(this)),f.destroy(),this._updaterSets.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new uT(c,this._scene),this._updaterSets.set(u,f),f.forEach(function(x){d._insertUpdaterIntoBatch(e,x)}),this._subscriptions.set(u,f.geometryChanged.addEventListener(Gl._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,m=g.length;for(a=0;a<m;a++)p=g[a].update(e)&&p;return p};var jJe=[],qJe=new ae;Gl.prototype.getBoundingSphere=function(e,t){let n=jJe,i=qJe,o=0,r=lt.DONE,s=this._batches,a=s.length,c=e.id;if(!this._updaterSets.get(c))return lt.FAILED;let u=this._updaterSets.get(c).updaters;for(let f=0;f<u.length;f++){let d=u[f];for(let p=0;p<a;p++){if(r=s[p].getBoundingSphere(d,i),r===lt.PENDING)return lt.PENDING;r===lt.DONE&&(n[o]=ae.clone(i,n[o]),o++)}}return o===0?lt.FAILED:(n.length=o,ae.fromBoundingSpheres(n,t),lt.DONE)};Gl.prototype.isDestroyed=function(){return!1};Gl.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Gl.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();this._subscriptions.removeAll();let o=this._updaterSets.values;for(n=o.length,e=0;e<n;e++)o[e].destroy();return this._updaterSets.removeAll(),ue(this)};Gl.prototype._removeUpdater=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;i++)t[i].remove(e)};Gl.prototype._insertUpdaterIntoBatch=function(e,t){if(t.isDynamic){this._dynamicBatch.add(e,t);return}let n;(t.outlineEnabled||t.fillEnabled)&&(n=t.shadowsProperty.getValue(e));let i=bn.NUMBER_OF_SHADOW_MODES;if(t.outlineEnabled&&(l(t.terrainOffsetProperty)?this._outlineBatches[i+n].add(e,t):this._outlineBatches[n].add(e,t)),t.fillEnabled)if(t.onTerrain){let o=t.classificationTypeProperty.getValue(e);t.fillMaterialProperty instanceof Ut?this._groundColorBatches[o].add(e,t):this._groundMaterialBatches[o].add(e,t)}else t.isClosed?t.fillMaterialProperty instanceof Ut?l(t.terrainOffsetProperty)?this._closedColorBatches[i+n].add(e,t):this._closedColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._closedMaterialBatches[i+n].add(e,t):this._closedMaterialBatches[n].add(e,t):t.fillMaterialProperty instanceof Ut?l(t.terrainOffsetProperty)?this._openColorBatches[i+n].add(e,t):this._openColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._openMaterialBatches[i+n].add(e,t):this._openMaterialBatches[n].add(e,t)};Gl._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};Gl.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var EN=Gl;var YJe=1,XJe="30px sans-serif",KJe=Go.FILL,ZJe=H.WHITE,$Je=H.BLACK,QJe=1,JJe=!1,eet=new H(.165,.165,.165,.8),tet=new z(7,5),net=z.ZERO,iet=h.ZERO,oet=je.NONE,ret=xi.CENTER,set=Mn.CENTER,aet=new h,cet=new H,uet=new H,fet=new H,det=new z,het=new h,met=new z,pet=new Bt,_et=new Bt,get=new Bt,yet=new Ot;function sme(e){this.entity=e,this.label=void 0,this.index=void 0}function $y(e,t){t.collectionChanged.addEventListener($y.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}$y.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._label,c,u=r.label,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,aet),c=q.getValueOrUndefined(a._text,e),f=l(d)&&l(c)),!f){eq(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let p=!1,g=q.getValueOrDefault(a._heightReference,e,oet);l(u)||(u=n.getLabel(s),u.id=s,r.label=u,p=h.equals(u.position,d)&&u.heightReference===g),u.show=!0,u.position=d,u.text=c,u.scale=q.getValueOrDefault(a._scale,e,YJe),u.font=q.getValueOrDefault(a._font,e,XJe),u.style=q.getValueOrDefault(a._style,e,KJe),u.fillColor=q.getValueOrDefault(a._fillColor,e,ZJe,cet),u.outlineColor=q.getValueOrDefault(a._outlineColor,e,$Je,uet),u.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,QJe),u.showBackground=q.getValueOrDefault(a._showBackground,e,JJe),u.backgroundColor=q.getValueOrDefault(a._backgroundColor,e,eet,fet),u.backgroundPadding=q.getValueOrDefault(a._backgroundPadding,e,tet,det),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,net,met),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,iet,het),u.heightReference=g,u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,ret),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,set),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,pet),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,_et),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,get),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,yet),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),p&&u._updateClamping()}return!0};$y.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.label))return lt.FAILED;let i=n.label;return t.center=h.clone(y(i._clampedPosition,i.position),t.center),t.radius=0,lt.DONE};$y.prototype.isDestroyed=function(){return!1};$y.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener($y.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return ue(this)};$y.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._label)&&l(r._position)&&s.set(r.id,new sme(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._label)&&l(r._position)?s.contains(r.id)||s.set(r.id,new sme(r)):(eq(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],eq(s.get(r.id),r,a),s.remove(r.id)};function eq(e,t,n){l(e)&&(e.label=void 0,n.removeLabel(t))}var SN=$y;var xet=1,bet=!0,Tet=0,Cet=!0,Aet=!0,Eet=bn.ENABLED,vet=je.NONE,wet=H.RED,Det=0,Iet=H.WHITE,Pet=hc.HIGHLIGHT,Ret=.5,Oet=new z(1,1),Met=new F,Let=new F,ame=new H,cme=new Array(4),Net=new h;function Qy(e,t){t.collectionChanged.addEventListener(Qy.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new St,this._onCollectionChanged(t,t.values,[],[])}async function Fet(e,t,n,i){let o=e._primitives,r=e._modelHash;try{let s=await Zd.fromGltfAsync({url:n,incrementallyLoadTextures:i,scene:e._scene});if(e.isDestroyed()||!l(r[t.id]))return;s.id=t,o.add(s),r[t.id].modelPrimitive=s,s.errorEvent.addEventListener(a=>{l(r[t.id])&&(console.log(a),a.name!=="TextureError"&&s.incrementallyLoadTextures&&(r[t.id].loadFailed=!0))})}catch(s){if(e.isDestroyed()||!l(r[t.id]))return;console.log(s),r[t.id].loadFailed=!0}}Qy.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._model,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,Met),c=we.createIfNeeded(q.getValueOrUndefined(a._uri,e)),f=l(d)&&l(c)),!f){l(u)&&u.modelPrimitive&&(u.modelPrimitive.show=!1);continue}if(!l(u)||c.url!==u.url){l(u?.modelPrimitive)&&(i.removeAndDestroy(u.modelPrimitive),delete n[s.id]),u={modelPrimitive:void 0,url:c.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFailed:!1,modelUpdated:!1},n[s.id]=u;let m=q.getValueOrDefault(a._incrementallyLoadTextures,e,Cet);Fet(this,s,c,m)}let p=u.modelPrimitive;if(!l(p))continue;p.show=!0,p.scale=q.getValueOrDefault(a._scale,e,xet),p.enableVerticalExaggeration=q.getValueOrDefault(a._enableVerticalExaggeration,e,bet),p.minimumPixelSize=q.getValueOrDefault(a._minimumPixelSize,e,Tet),p.maximumScale=q.getValueOrUndefined(a._maximumScale,e),p.modelMatrix=F.clone(d,p.modelMatrix),p.shadows=q.getValueOrDefault(a._shadows,e,Eet),p.heightReference=q.getValueOrDefault(a._heightReference,e,vet),p.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e),p.silhouetteColor=q.getValueOrDefault(a._silhouetteColor,e,wet,ame),p.silhouetteSize=q.getValueOrDefault(a._silhouetteSize,e,Det),p.color=q.getValueOrDefault(a._color,e,Iet,ame),p.colorBlendMode=q.getValueOrDefault(a._colorBlendMode,e,Pet),p.colorBlendAmount=q.getValueOrDefault(a._colorBlendAmount,e,Ret),p.clippingPlanes=q.getValueOrUndefined(a._clippingPlanes,e),p.clampAnimations=q.getValueOrDefault(a._clampAnimations,e,Aet),p.imageBasedLighting.imageBasedLightingFactor=q.getValueOrDefault(a._imageBasedLightingFactor,e,Oet);let g=q.getValueOrUndefined(a._lightColor,e);if(l(g)&&(H.pack(g,cme,0),g=h.unpack(cme,0,Net)),p.lightColor=g,p.customShader=q.getValueOrUndefined(a._customShader,e),n[s.id].modelUpdated=!0,p.ready){!a._readyOk&&a._marsOptions&&a._marsOptions.callback&&(a._marsOptions.callback(s,p),a._readyOk=!0);let m=q.getValueOrDefault(a._runAnimations,e,!0);u.animationsRunning!==m&&(m?p.activeAnimations.addAll({loop:Nl.REPEAT}):p.activeAnimations.removeAll(),u.animationsRunning=m);let x=q.getValueOrUndefined(a._nodeTransformations,e,u.nodeTransformationsScratch);if(l(x)){let A=Object.keys(x);for(let C=0,E=A.length;C<E;++C){let v=A[C],D=x[v];if(!l(D))continue;let O=p.getNode(v);if(!l(O))continue;let R=F.fromTranslationRotationScale(D,Let);O.matrix=F.multiply(O.originalMatrix,R,R)}}let b=!1,T=q.getValueOrUndefined(a._articulations,e,u.articulationsScratch);if(l(T)){let A=Object.keys(T);for(let C=0,E=A.length;C<E;++C){let v=A[C],D=T[v];l(D)&&(b=!0,p.setArticulationStage(v,D))}}b&&p.applyArticulations()}}return!0};Qy.prototype.isDestroyed=function(){return!1};Qy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Qy.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._modelHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)tq(this,e[i],t,n);return ue(this)};var a4=new h,Bet=new fe;Qy.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!l(n))return lt.FAILED;if(n.loadFailed)return lt.FAILED;let i=n.modelPrimitive;if(!l(i)||!i.show)return lt.PENDING;if(!i.ready||!n.modelUpdated)return lt.PENDING;let o=this._scene,r=y(o.ellipsoid,ee.default);if(i.heightReference!==je.NONE){let a=i.modelMatrix;a4.x=a[12],a4.y=a[13],a4.z=a[14];let c=r.cartesianToCartographic(a4,Bet),u=o.getHeight(c,i.heightReference);return l(u)&&(mf(i.heightReference)?c.height=u:c.height+=u),ae.clone(i.boundingSphere,t),t.center=r.cartographicToCartesian(c),lt.DONE}return ae.clone(i.boundingSphere,t),lt.DONE};Qy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._model)&&l(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._model)&&l(r._position)?(ket(r,a),s.set(r.id,r)):(tq(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],tq(this,r,a,c),s.remove(r.id)};function tq(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function ket(e,t){let n=t[e.id];l(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}var vN=Qy;function Jy(e){this._definitionChanged=new me,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(Jy.prototype,{isConstant:{get:function(){return q.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return l(this._value)?this._value.referenceFrame:Hi.FIXED}}});var Vet=new K;Jy.prototype.getValue=function(e,t){return l(e)||(e=K.now(Vet)),this.getValueInReferenceFrame(e,Hi.FIXED,t)};Jy.prototype.setValue=function(e){this._value!==e&&(this._value=e,l(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),l(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};Jy.prototype.getValueInReferenceFrame=function(e,t,n){if(l(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),l(n)?ee.default.scaleToGeodeticSurface(n,n):void 0};Jy.prototype.equals=function(e){return this===e||e instanceof Jy&&this._value===e._value};Jy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Dm=Jy;var Uet=60,zet=1,ume=new Sn,nq=new Sn,iq=new Sn;function lme(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function Het(e,t,n,i,o,r,s,a,c){let u=a,f;f=e.getValueInReferenceFrame(t,r,c[u]),l(f)&&(c[u++]=f);let d=!l(o)||K.lessThanOrEquals(o,t)||K.greaterThanOrEquals(o,n),p=0,g=i.length,m=i[p],x=n,b=!1,T,A,C;for(;p<g;){if(!d&&K.greaterThanOrEquals(m,o)&&(f=e.getValueInReferenceFrame(o,r,c[u]),l(f)&&(c[u++]=f),d=!0),K.greaterThan(m,t)&&K.lessThan(m,x)&&!m.equals(o)&&(f=e.getValueInReferenceFrame(m,r,c[u]),l(f)&&(c[u++]=f)),p<g-1){if(s>0&&!b){let E=i[p+1],v=K.secondsDifference(E,m);b=v>s,b&&(T=Math.ceil(v/s),A=0,C=v/Math.max(T,2),T=Math.max(T-1,1))}if(b&&A<T){m=K.addSeconds(m,C,new K),A++;continue}}b=!1,p++,m=i[p]}return f=e.getValueInReferenceFrame(n,r,c[u]),l(f)&&(c[u++]=f),u}function Get(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!p&&K.greaterThanOrEquals(d,i)&&(p=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,r*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function Wet(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=Math.max(r,60),g=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!g&&K.greaterThanOrEquals(d,i)&&(g=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,p*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function jet(e,t,n,i,o,r,s,a){iq.start=t,iq.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!Sn.intersect(d,iq,ume).isEmpty){let p=d.start;d.isStartIncluded||(d.isStopIncluded?p=d.stop:p=K.addSeconds(d.start,K.secondsDifference(d.stop,d.start)/2,new K));let g=e.getValueInReferenceFrame(p,o,a[c]);l(g)&&(a[c]=g,c++)}}return c}function qet(e,t,n,i,o,r,s,a){let c=e.getValueInReferenceFrame(t,o,a[s]);return l(c)&&(a[s++]=c),s}function Yet(e,t,n,i,o,r,s,a){nq.start=t,nq.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!Sn.intersect(d,nq,ume).isEmpty){let p=d.start,g=d.stop,m=t;K.greaterThan(p,m)&&(m=p);let x=n;K.lessThan(g,x)&&(x=g),c=fme(d.data,m,x,i,o,r,c,a)}}return c}function fme(e,t,n,i,o,r,s,a){for(;e instanceof B_;)e=e.resolvedProperty;if(e instanceof ya){let c=e._property._times;s=Het(e,t,n,c,i,o,r,s,a)}else e instanceof v1?s=Get(e,t,n,i,o,r,s,a):e instanceof _a?s=Yet(e,t,n,i,o,r,s,a):e instanceof k_?s=jet(e,t,n,i,o,r,s,a):e instanceof zc||e instanceof Dm&&q.isConstant(e)?s=qet(e,t,n,i,o,r,s,a):s=Wet(e,t,n,i,o,r,s,a);return s}function dme(e,t,n,i,o,r,s){l(s)||(s=[]);let a=fme(e,t,n,i,o,r,0,s);return s.length=a,s}var Xet=new $;function wN(e,t){this._unusedIndexes=[],this._polylineCollection=new Qd,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}wN.prototype.update=function(e){if(this._referenceFrame===Hi.INERTIAL){let t=Lt.computeIcrfToCentralBodyFixedMatrix(e,Xet);F.fromRotationTranslation(t,h.ZERO,this._polylineCollection.modelMatrix)}};wN.prototype.updateObject=function(e,t){let n=t.entity,i=n._path,o=n._position,r,s,a=i._show,c=t.polyline,u=n.isShowing&&n.isAvailable(e)&&(!l(a)||a.getValue(e));if(u){let d=q.getValueOrUndefined(i._leadTime,e),p=q.getValueOrUndefined(i._trailTime,e),g=n._availability,m=l(g),x=l(d),b=l(p);if(u=m||x&&b,u){if(b&&(r=K.addSeconds(e,-p,new K)),x&&(s=K.addSeconds(e,d,new K)),m){let T=g.start,A=g.stop;(!b||K.greaterThan(T,r))&&(r=T),(!x||K.lessThan(A,s))&&(s=A)}u=K.lessThan(r,s)}}if(!u){l(c)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,c.show=!1,t.index=void 0);return}if(!l(c)){let d=this._unusedIndexes;if(d.length>0){let g=d.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let f=q.getValueOrDefault(i._resolution,e,Uet);c.show=!0,c.positions=dme(o,r,s,e,this._referenceFrame,f,c.positions.slice()),c.material=$o.getValue(e,i._material,c.material),c.width=q.getValueOrDefault(i._width,e,zet),c.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};wN.prototype.removeObject=function(e){let t=e.polyline;l(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};wN.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),ue(this)};function e0(e,t){t.collectionChanged.addEventListener(e0.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}e0.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&l(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i<o;i++){let r=n[i],a=r.entity._position,c=r.updater,u=Hi.FIXED;this._scene.mode===ne.SCENE3D&&(u=a.referenceFrame);let f=this._updaters[u];if(c===f&&l(f)){f.updateObject(e,r);continue}l(c)&&c.removeObject(r),l(f)||(f=new wN(this._scene,u),f.update(e),this._updaters[u]=f),r.updater=f,l(f)&&f.updateObject(e,r)}return!0};e0.prototype.isDestroyed=function(){return!1};e0.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(e0.prototype._onCollectionChanged,this);let e=this._updaters;for(let t in e)e.hasOwnProperty(t)&&e[t].destroy();return ue(this)};e0.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s,a=this._items;for(o=t.length-1;o>-1;o--)r=t[o],l(r._path)&&l(r._position)&&a.set(r.id,new lme(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._path)&&l(r._position)?a.contains(r.id)||a.set(r.id,new lme(r)):(s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};e0._subSample=dme;var DN=e0;var hme=H.WHITE,mme=H.BLACK,pme=0,_me=1,gme=0,yme=Nr.NONE,xme=new H,Ket=new h,bme=new H,Tme=new Bt,Cme=new Bt,Ame=new Ot;function Eme(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function t0(e,t){t.collectionChanged.addEventListener(t0.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}t0.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._point,c=r.pointPrimitive,u=r.billboard,f=q.getValueOrDefault(a._heightReference,e,je.NONE),d=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),p;if(d&&(p=q.getValueOrUndefined(s._position,e,Ket),d=l(p)),!d){IN(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let g=!1,m=!1;if(f!==je.NONE&&!l(u)?(l(c)&&(IN(r,s,n),c=void 0),u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u,g=!0,m=h.equals(u.position,p)&&u.heightReference===f):f===je.NONE&&!l(c)&&(l(u)&&(IN(r,s,n),u=void 0),c=n.getPoint(s),c.id=s,r.pointPrimitive=c),l(c))c.show=!0,c.position=p,c.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Tme),c.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,Cme),c.color=q.getValueOrDefault(a._color,e,hme,xme),c.outlineColor=q.getValueOrDefault(a._outlineColor,e,mme,bme),c.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,pme),c.pixelSize=q.getValueOrDefault(a._pixelSize,e,_me),c.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,Ame),c.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,gme),c.splitDirection=q.getValueOrDefault(a._splitDirection,e,yme);else if(l(u)){u.show=!0,u.position=p,u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Tme),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,Cme),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,Ame),u.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,gme),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,yme),u.heightReference=f;let x=q.getValueOrDefault(a._color,e,hme,xme),b=q.getValueOrDefault(a._outlineColor,e,mme,bme),T=Math.round(q.getValueOrDefault(a._outlineWidth,e,pme)),A=Math.max(1,Math.round(q.getValueOrDefault(a._pixelSize,e,_me)));if(T>0?(u.scale=1,g=g||T!==r.outlineWidth||A!==r.pixelSize||!H.equals(x,r.color)||!H.equals(b,r.outlineColor)):(u.scale=A/50,A=50,g=g||T!==r.outlineWidth||!H.equals(x,r.color)||!H.equals(b,r.outlineColor)),g){r.color=H.clone(x,r.color),r.outlineColor=H.clone(b,r.outlineColor),r.pixelSize=A,r.outlineWidth=T;let C=x.alpha,E=x.toCssColorString(),v=b.toCssColorString(),D=JSON.stringify([E,A,v,T]);u.setImage(D,Ab(C,E,v,T,A))}m&&u._updateClamping()}}return!0};t0.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!(l(n.pointPrimitive)||l(n.billboard)))return lt.FAILED;if(l(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!l(i._clampedPosition))return lt.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,lt.DONE};t0.prototype.isDestroyed=function(){return!1};t0.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(t0.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return ue(this)};t0.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._point)&&l(r._position)&&s.set(r.id,new Eme(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._point)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Eme(r)):(IN(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],IN(s.get(r.id),r,a),s.remove(r.id)};function IN(e,t,n){if(l(e)){let i=e.pointPrimitive;if(l(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;l(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var PN=t0;var Ime=[];function Zet(e,t,n,i,o){let r=Ime;r.length=o;let s,a=n.red,c=n.green,u=n.blue,f=n.alpha,d=i.red,p=i.green,g=i.blue,m=i.alpha;if(H.equals(n,i)){for(s=0;s<o;s++)r[s]=H.clone(n);return r}let x=(d-a)/o,b=(p-c)/o,T=(g-u)/o,A=(m-f)/o;for(s=0;s<o;s++)r[s]=new H(a+s*x,c+s*b,u+s*T,f+s*A);return r}function RN(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.width,1),o=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._width=i,this._colorsPerVertex=o,this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._arcType=y(e.arcType,tn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createPolylineGeometry";let r=1+t.length*h.packedLength;r+=l(n)?1+n.length*H.packedLength:1,this.packedLength=r+ee.packedLength+Pe.packedLength+4}RN.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._width,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};var Pme=ee.clone(ee.UNIT_SPHERE),Rme=new Pe,hT={positions:void 0,colors:void 0,ellipsoid:Pme,vertexFormat:Rme,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};RN.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ee.unpack(e,t,Pme);t+=ee.packedLength;let c=Pe.unpack(e,t,Rme);t+=Pe.packedLength;let u=e[t++],f=e[t++]===1,d=e[t++],p=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Pe.clone(c,n._vertexFormat),n._width=u,n._colorsPerVertex=f,n._arcType=d,n._granularity=p,n):(hT.positions=r,hT.colors=s,hT.width=u,hT.colorsPerVertex=f,hT.arcType=d,hT.granularity=p,new RN(hT))};var Sme=new h,vme=new h,wme=new h,Dme=new h;RN.createGeometry=function(e){let t=e._width,n=e._vertexFormat,i=e._colors,o=e._colorsPerVertex,r=e._arcType,s=e._granularity,a=e._ellipsoid,c,u,f,d=[],p=Co(e._positions,h.equalsEpsilon,!1,d);if(l(i)&&d.length>0){let L=0,B=d[0];i=i.filter(function(U,V){let G=!1;return o?G=V===B||V===0&&B===1:G=V+1===B,G?(L++,B=d[L],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===tn.GEODESIC||r===tn.RHUMB){let L,B;r===tn.GEODESIC?(L=P.chordLength(s,a.maximumRadius),B=Oi.numberOfPoints):(L=s,B=Oi.numberOfPointsRhumbLine);let U=Oi.extractHeights(p,a);if(l(i)){let V=1;for(c=0;c<g-1;++c)V+=B(p[c],p[c+1],L);let G=new Array(V),k=0;for(c=0;c<g-1;++c){let Y=p[c],W=p[c+1],Q=i[c],j=B(Y,W,L);if(o&&c<V){let Z=i[c+1],J=Zet(Y,W,Q,Z,j),he=J.length;for(u=0;u<he;++u)G[k++]=J[u]}else for(u=0;u<j;++u)G[k++]=H.clone(Q)}G[k]=H.clone(i[i.length-1]),i=G,Ime.length=0}r===tn.GEODESIC?p=Oi.generateCartesianArc({positions:p,minDistance:L,ellipsoid:a,height:U}):p=Oi.generateCartesianRhumbArc({positions:p,granularity:L,ellipsoid:a,height:U})}g=p.length;let m=g*4-4,x=new Float64Array(m*3),b=new Float64Array(m*3),T=new Float64Array(m*3),A=new Float32Array(m*2),C=n.st?new Float32Array(m*2):void 0,E=l(i)?new Uint8Array(m*4):void 0,v=0,D=0,O=0,R=0,M;for(u=0;u<g;++u){u===0?(M=Sme,h.subtract(p[0],p[1],M),h.add(p[0],M,M)):M=p[u-1],h.clone(M,wme),h.clone(p[u],vme),u===g-1?(M=Sme,h.subtract(p[g-1],p[g-2],M),h.add(p[g-1],M,M)):M=p[u+1],h.clone(M,Dme);let L,B;l(E)&&(u!==0&&!o?L=i[u-1]:L=i[u],u!==g-1&&(B=i[u]));let U=u===0?2:0,V=u===g-1?2:4;for(f=U;f<V;++f){h.pack(vme,x,v),h.pack(wme,b,v),h.pack(Dme,T,v),v+=3;let G=f-2<0?-1:1;if(A[D++]=2*(f%2)-1,A[D++]=G*t,n.st&&(C[O++]=u/(g-1),C[O++]=Math.max(A[D-2],0)),l(E)){let k=f<2?L:B;E[R++]=H.floatToByte(k.red),E[R++]=H.floatToByte(k.green),E[R++]=H.floatToByte(k.blue),E[R++]=H.floatToByte(k.alpha)}}}let N=new mn;N.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:x}),N.prevPosition=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),N.nextPosition=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T}),N.expandAndWidth=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:A}),n.st&&(N.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:C})),l(E)&&(N.color=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:E,normalize:!0}));let _=Fe.createTypedArray(m,g*6-6),S=0,w=0,I=g-1;for(u=0;u<I;++u)_[w++]=S,_[w++]=S+2,_[w++]=S+1,_[w++]=S+1,_[w++]=S+2,_[w++]=S+3,S+=4;return new ut({attributes:N,indices:_,primitiveType:Ne.TRIANGLES,boundingSphere:ae.fromPoints(p),geometryType:uf.POLYLINES})};var j_=RN;var $et=new Jn(0),c4={},Ome=new H,Qet=new Ut(H.WHITE),Jet=new Jn(!0),ett=new Jn(bn.DISABLED),ttt=new Jn(new Ot),ntt=new Jn(Hn.BOTH);function itt(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function ott(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function _h(e,t){this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(_h.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new itt,this._groundGeometryOptions=new ott,this._id=`polyline-${e.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=Qo.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(_h.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});_h.prototype.isOutlineVisible=function(e){return!1};_h.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e);return y(n,!1)};_h.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=zn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r},a;return this._materialProperty instanceof Ut&&(l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Ome)),l(a)||(a=H.WHITE),s.color=Wt.fromColor(a)),this.clampToGround?new vt({id:t,geometry:new vx(this._groundGeometryOptions),attributes:s}):(l(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof Ut&&(l(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||n)&&(a=this._depthFailMaterialProperty.color.getValue(e,Ome)),l(a)||(a=H.WHITE),s.depthFailColor=Wt.fromColor(a)),new vt({id:t,geometry:new j_(this._geometryOptions),attributes:s}))};_h.prototype.createOutlineGeometryInstance=function(e){};_h.prototype.isDestroyed=function(){return!1};_h.prototype.destroy=function(){this._entitySubscription(),ue(this)};_h.prototype._onEntityPropertyChanged=function(e,t,n,i){if(!(t==="availability"||t==="polyline"))return;let o=this._entity.polyline;if(!l(o)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.positions,s=o.show;if(l(s)&&s.isConstant&&!s.getValue(Ue.MINIMUM_VALUE)||!l(r)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let a=o.zIndex,c=y(o.material,Qet),u=c instanceof Ut;this._materialProperty=c,this._depthFailMaterialProperty=o.depthFailMaterial,this._showProperty=y(s,Jet),this._shadowsProperty=y(o.shadows,ett),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,ttt),this._classificationTypeProperty=y(o.classificationType,ntt),this._fillEnabled=!0,this._zIndex=y(a,$et);let f=o.width,d=o.arcType,p=o.clampToGround,g=o.granularity;if(!r.isConstant||!q.isConstant(f)||!q.isConstant(d)||!q.isConstant(g)||!q.isConstant(p)||!q.isConstant(a))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let m=this._geometryOptions,x=r.getValue(Ue.MINIMUM_VALUE,m.positions);if(!l(x)||x.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let b;u&&(!l(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof Ut)?b=$r.VERTEX_FORMAT:b=fa.VERTEX_FORMAT,m.vertexFormat=b,m.positions=x,m.width=l(f)?f.getValue(Ue.MINIMUM_VALUE):void 0,m.arcType=l(d)?d.getValue(Ue.MINIMUM_VALUE):void 0,m.granularity=l(g)?g.getValue(Ue.MINIMUM_VALUE):void 0;let T=this._groundGeometryOptions;T.positions=x,T.width=m.width,T.arcType=m.arcType,T.granularity=m.granularity,this._clampToGround=l(p)?p.getValue(Ue.MINIMUM_VALUE):!1,!this._clampToGround&&l(a)&&Tt("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};_h.prototype.createDynamicUpdater=function(e,t){return new ON(e,t,this)};var pS={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function ON(e,t,n){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=n,this._positions=[]}function Mme(e){if(l(e._line))return e._line;let t=e._primitives,n=e._geometryUpdater._scene.id+t._guid,i=c4[n];!l(i)||i.isDestroyed()?(i=new Qd,c4[n]=i,t.add(i)):t.contains(i)||t.add(i);let o=i.add();return o.id=e._geometryUpdater._entity,e._line=o,o}ON.prototype.update=function(e){let t=this._geometryUpdater,n=t._entity,i=n.polyline,o=i.positions,r=q.getValueOrUndefined(o,e,this._positions);t._clampToGround=q.getValueOrDefault(i._clampToGround,e,!1),t._groundGeometryOptions.positions=r,t._groundGeometryOptions.width=q.getValueOrDefault(i._width,e,1),t._groundGeometryOptions.arcType=q.getValueOrDefault(i._arcType,e,tn.GEODESIC),t._groundGeometryOptions.granularity=q.getValueOrDefault(i._granularity,e,9999);let s=this._groundPrimitives;if(l(this._groundPolylinePrimitive)&&(s.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)||!l(r)||r.length<2)return;let d=t.fillMaterialProperty,p;if(d instanceof Ut)p=new $r;else{let g=$o.getValue(e,d,this._material);p=new fa({material:g,translucent:g.isTranslucent()}),this._material=g}this._groundPolylinePrimitive=s.add(new Id({geometryInstances:t.createFillGeometryInstance(e),appearance:p,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),q.getValueOrUndefined(t.zIndex,e)),l(this._line)&&(this._line.show=!1);return}let a=Mme(this);if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)){a.show=!1;return}if(!l(r)||r.length<2){a.show=!1;return}let c=tn.GEODESIC;c=q.getValueOrDefault(i._arcType,e,c);let u=t._scene.globe,f=t._scene.ellipsoid;c!==tn.NONE&&l(u)&&(pS.ellipsoid=f,pS.positions=r,pS.granularity=q.getValueOrUndefined(i._granularity,e),pS.height=Oi.extractHeights(r,f),c===tn.GEODESIC?r=Oi.generateCartesianArc(pS):r=Oi.generateCartesianRhumbArc(pS)),a.show=!0,a.positions=r.slice(),a.material=$o.getValue(e,t.fillMaterialProperty,a.material),a.width=q.getValueOrDefault(i._width,e,1),a.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,a.distanceDisplayCondition)};ON.prototype.getBoundingSphere=function(e){if(this._geometryUpdater.clampToGround){let t=this._groundPolylinePrimitive;if(l(t)&&t.show&&t.ready){let n=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(l(n)&&l(n.boundingSphere))return ae.clone(n.boundingSphere,e),lt.DONE}return l(t)&&!t.ready?lt.PENDING:lt.DONE}else{let t=Mme(this);if(t.show&&t.positions.length>0)return ae.fromPoints(t.positions,e),lt.DONE}return lt.FAILED};ON.prototype.isDestroyed=function(){return!1};ON.prototype.destroy=function(){let t=this._geometryUpdater._scene.id+this._primitives._guid,n=c4[t];l(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete c4[t])),l(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),ue(this)};var MN=_h;var rtt=new H,stt=new Ot,att=new Ot;function gh(e,t,n,i,o){let r;n instanceof Ut?r=$r:r=fa,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new St,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.material=void 0,this.updatersWithAttributes=new St,this.attributes=new St,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(gh.prototype.onMaterialChanged,this),this.subscriptions=new St,this.showsUpdated=new St,this.zIndex=i,this._asynchronous=o}gh.prototype.onMaterialChanged=function(){this.invalidated=!0};gh.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ut&&t instanceof Ut?!0:l(t)&&t.equals(n)};gh.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};gh.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};gh.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new Id({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===fa&&(this.material=$o.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===fa&&(this.material=$o.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!c.fillMaterialProperty.isConstant){let x=c.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,H.WHITE,rtt);H.equals(d._lastColor,b)||(d._lastColor=H.clone(b,d._lastColor),d.color=Wt.toValue(b,d.color))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,att,stt);Ot.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=zn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};gh.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id);if(!s)continue;let a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};gh.prototype.contains=function(e){return this.updaters.contains(e.id)};gh.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return lt.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?lt.FAILED:(i.boundingSphere.clone(t),lt.DONE)};gh.prototype.destroy=function(){let e=this.primitive,t=this.orderedGroundPrimitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function _S(e,t,n){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=y(n,!0)}_S.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=q.getValueOrDefault(t.zIndex,0);for(let a=0;a<i;++a){let c=n[a];if(c.isMaterial(t)&&c.zIndex===r){c.add(e,t,o);return}}let s=new gh(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,r,this._asynchronous);s.add(e,t,o),n.push(s)};_S.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};_S.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};_S.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return lt.FAILED};_S.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var LN=_S;var ctt=[];function Lme(e,t){let n=e._batches,i=n.length;for(let o=0;o<i;o++)n[o].remove(t)}function Nme(e,t,n){if(n.isDynamic){e._dynamicBatch.add(t,n);return}if(n.clampToGround&&n.fillEnabled){let s=n.classificationTypeProperty.getValue(t);e._groundBatches[s].add(t,n);return}let i;n.fillEnabled&&(i=n.shadowsProperty.getValue(t));let o=0;l(n.depthFailMaterialProperty)&&(o=n.depthFailMaterialProperty instanceof Ut?1:2);let r;l(i)&&(r=i+o*bn.NUMBER_OF_SHADOW_MODES),n.fillEnabled&&(n.fillMaterialProperty instanceof Ut?e._colorBatches[r].add(t,n):e._materialBatches[r].add(t,n))}function Im(e,t,n,i){i=y(i,e.groundPrimitives),n=y(n,e.primitives),this._scene=e,this._primitives=n,this._entityCollection=void 0,this._addedObjects=new St,this._removedObjects=new St,this._changedObjects=new St;let o,r=bn.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(r*3),this._materialBatches=new Array(r*3),o=0;o<r;++o)this._colorBatches[o]=new Xf(n,$r,void 0,!1,o),this._materialBatches[o]=new Kf(n,fa,void 0,!1,o),this._colorBatches[o+r]=new Xf(n,$r,$r,!1,o),this._materialBatches[o+r]=new Kf(n,fa,$r,!1,o),this._colorBatches[o+r*2]=new Xf(n,$r,fa,!1,o),this._materialBatches[o+r*2]=new Kf(n,fa,fa,!1,o);this._dynamicBatch=new Jb(n,i);let s=Hn.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(s),o=0;o<s;++o)this._groundBatches[o]=new LN(i,o);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new St,this._updaters=new St,this._entityCollection=t,t.collectionChanged.addEventListener(Im.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,ctt)}Im.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaters.get(u),f.entity===c?(Lme(this,f),Nme(this,e,f)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaters.get(u),Lme(this,f),f.destroy(),this._updaters.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new MN(c,this._scene),this._updaters.set(u,f),Nme(this,e,f),this._subscriptions.set(u,f.geometryChanged.addEventListener(Im._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let d=!0,p=this._batches,g=p.length;for(a=0;a<g;a++)d=p[a].update(e)&&d;return d};var ltt=[],utt=new ae;Im.prototype.getBoundingSphere=function(e,t){let n=ltt,i=utt,o=0,r=lt.DONE,s=this._batches,a=s.length,c=this._updaters.get(e.id);if(!c)return lt.FAILED;for(let u=0;u<a;u++){if(r=s[u].getBoundingSphere(c,i),r===lt.PENDING)return lt.PENDING;r===lt.DONE&&(n[o]=ae.clone(i,n[o]),o++)}return o===0?lt.FAILED:(n.length=o,ae.fromBoundingSpheres(n,t),lt.DONE)};Im.prototype.isDestroyed=function(){return!1};Im.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Im.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();return this._subscriptions.removeAll(),ue(this)};Im._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};Im.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var NN=Im;function Wl(e){Vc.initializeTerrainHeights(),Id.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new zr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,Wl.defaultVisualizersCallback);let i=!1,o=new zl,r=new zl;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let u=0,f=n.length;u<f;u++)this._onDataSourceAdded(n,n.get(u));let s=new kL;this._onDataSourceAdded(void 0,s),this._defaultDataSource=s;let a,c;if(!i){let u=this,f=function(){t.primitives.add(o),t.groundPrimitives.add(r),a(),c(),u._removeDefaultDataSourceListener=void 0,u._removeDataSourceCollectionListener=void 0};a=s.entities.collectionChanged.addEventListener(f),c=n.dataSourceAdded.addEventListener(f)}this._removeDefaultDataSourceListener=a,this._removeDataSourceCollectionListener=c,this._ready=!1}var gS=[];Wl.registerVisualizer=function(e){gS.includes(e)||gS.push(e)};Wl.unregisterVisualizer=function(e){if(gS.includes(e)){let t=gS.indexOf(e);gS.splice(t,1)}};Wl.defaultVisualizersCallback=function(e,t,n){let i=n.entities;return[new aP(t,i),new EN(e,i,n._primitives,n._groundPrimitives),new SN(t,i),new vN(e,i),new vL(e,i),new PN(t,i),new DN(e,i),new NN(e,i,n._primitives,n._groundPrimitives),...gS.map(o=>new o(e,i))]};Object.defineProperties(Wl.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});Wl.prototype.isDestroyed=function(){return!1};Wl.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;t<n;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),l(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),ue(this)};Wl.prototype.update=function(e){if(!fi.initialized)return this._ready=!1,!1;let t=!0,n,i,o,r,s=this._dataSourceCollection,a=s.length;for(n=0;n<a;n++){let c=s.get(n);for(l(c.update)&&(t=c.update(e)&&t),o=c._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t}for(o=this._defaultDataSource._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t;return!this._ready&&t&&this._scene.requestRender(),this._ready=t,t};Wl.prototype._postRender=function(){let e=this._scene.frameState,t=this._dataSourceCollection,n=t.length;for(let i=0;i<n;i++){let o=t.get(i),r=o.credit;l(r)&&e.creditDisplay.addCreditToNextFrame(r);let s=o._resourceCredits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)e.creditDisplay.addCreditToNextFrame(s[c])}}};var ftt=[],dtt=new ae;Wl.prototype.getBoundingSphere=function(e,t,n){if(!this._ready)return lt.PENDING;let i,o,r=this._defaultDataSource;if(!r.entities.contains(e)){r=void 0;let p=this._dataSourceCollection;for(o=p.length,i=0;i<o;i++){let g=p.get(i);if(g.entities.contains(e)){r=g;break}}}if(!l(r))return lt.FAILED;let s=ftt,a=dtt,c=0,u=lt.DONE,f=r._visualizers,d=f.length;for(i=0;i<d;i++){let p=f[i];if(l(p.getBoundingSphere)){if(u=f[i].getBoundingSphere(e,a),!t&&u===lt.PENDING)return lt.PENDING;u===lt.DONE&&(s[c]=ae.clone(a,s[c]),c++)}}return c===0?lt.FAILED:(s.length=c,ae.fromBoundingSpheres(s,n),lt.DONE)};Wl.prototype._onDataSourceAdded=function(e,t){let n=this._scene,i=this._primitives,o=this._groundPrimitives,r=i.add(new zl),s=o.add(new JL);t._primitives=r,t._groundPrimitives=s;let a=t.clustering;a._initialize(n),r.add(a),t._visualizers=this._visualizersCallback(n,a,t)};Wl.prototype._onDataSourceRemoved=function(e,t){let n=this._primitives,i=this._groundPrimitives,o=t._primitives,r=t._groundPrimitives,s=t.clustering;o.remove(s);let a=t._visualizers,c=a.length;for(let u=0;u<c;u++)a[u].destroy();n.remove(o),i.remove(r),t._visualizers=void 0};Wl.prototype._onDataSourceMoved=function(e,t,n){let i=this._primitives,o=this._groundPrimitives,r=e._primitives,s=e._groundPrimitives;t===n+1?(i.raise(r),o.raise(s)):t===n-1?(i.lower(r),o.lower(s)):t===0?(i.lowerToBottom(r),o.lowerToBottom(s),i.raise(r),o.raise(s)):(i.raiseToTop(r),o.raiseToTop(s))};var FN=Wl;function oq(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.range=y(n,0)}oq.clone=function(e,t){if(l(e))return l(t)||(t=new oq),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var $f=oq;var Fme=new $,Bme=new $,kme=new $,htt=new F,l4=new h,Vme=new h,rq=new h,sq=new h,Ume=new h,zme=new h,yS=new K,mtt=1.25;function ptt(e,t,n,i,o,r,s){let a=e.scene.mode,c=o.getValue(r,e._lastCartesian);if(l(c)){let u=!1,f=!1,d,p,g;if(a===ne.SCENE3D){K.addSeconds(r,.001,yS);let A=o.getValue(yS,l4);if(l(A)||(K.addSeconds(r,-.001,yS),A=o.getValue(yS,l4),f=!0),l(A)){let C=Lt.computeFixedToIcrfMatrix(r,Fme),E=Lt.computeFixedToIcrfMatrix(yS,Bme),v;!l(C)||!l(E)?(v=Lt.computeTemeToPseudoFixedMatrix(r,kme),C=$.transpose(v,Fme),E=Lt.computeTemeToPseudoFixedMatrix(yS,Bme),$.transpose(E,E)):v=$.transpose(C,kme);let D=$.multiplyByVector(C,c,Ume),O=$.multiplyByVector(E,A,zme);h.subtract(D,O,sq);let R=h.magnitude(sq)*1e3,M=P.GRAVITATIONALPARAMETER,N=-M/(R*R-2*M/h.magnitude(D));N<0||N>mtt*s.maximumRadius?(d=Vme,h.normalize(c,d),h.negate(d,d),g=h.clone(h.UNIT_Z,rq),p=h.cross(g,d,l4),h.magnitude(p)>P.EPSILON7&&(h.normalize(d,d),h.normalize(p,p),g=h.cross(d,p,rq),h.normalize(g,g),u=!0)):h.equalsEpsilon(c,A,P.EPSILON7)||(g=Vme,h.normalize(D,g),h.normalize(O,O),p=h.cross(g,O,rq),f&&(p=h.multiplyByScalar(p,-1,p)),h.equalsEpsilon(p,h.ZERO,P.EPSILON7)||(d=h.cross(p,g,l4),$.multiplyByVector(v,d,d),$.multiplyByVector(v,p,p),$.multiplyByVector(v,g,g),h.normalize(d,d),h.normalize(p,p),h.normalize(g,g),u=!0))}}l(e.boundingSphere)&&(c=e.boundingSphere.center);let m,x,b;i&&(m=h.clone(t.position,sq),x=h.clone(t.direction,Ume),b=h.clone(t.up,zme));let T=htt;u?(T[0]=d.x,T[1]=d.y,T[2]=d.z,T[3]=0,T[4]=p.x,T[5]=p.y,T[6]=p.z,T[7]=0,T[8]=g.x,T[9]=g.y,T[10]=g.z,T[11]=0,T[12]=c.x,T[13]=c.y,T[14]=c.z,T[15]=0):Lt.eastNorthUpToFixedFrame(c,s,T),t._setTransform(T),i&&(h.clone(m,t.position),h.clone(x,t.direction),h.clone(b,t.up),h.cross(x,b,t.right))}if(n){let u=a===ne.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,u)}}function BN(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,ee.default),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._offset3D=new h}Object.defineProperties(BN,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});BN.defaultOffset3D=new h(-14e3,3500,3500);var u4=new $f,_tt=new h;BN.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===ne.MORPHING)return;let r=this.entity,s=r.position;if(!l(s))return;let a=r!==this._lastEntity,c=o!==this._mode,u=n.camera,f=a||c,d=!0;if(a){let p=r.viewFrom,g=l(p);if(!g&&l(t)){u4.pitch=-P.PI_OVER_FOUR,u4.range=0;let m=s.getValue(e,_tt);if(l(m)){let x=2-1/Math.max(1,h.magnitude(m)/i.maximumRadius);u4.pitch*=x}u.viewBoundingSphere(t,u4),this.boundingSphere=t,f=!1,d=!1}else(!g||!l(p.getValue(e,this._offset3D)))&&h.clone(BN._defaultOffset3D,this._offset3D)}else!c&&this._mode!==ne.SCENE2D&&h.clone(u.position,this._offset3D);this._lastEntity=r,this._mode=o,ptt(this,u,f,d,s,e,i)};var kN=BN;function g4(e){return y4(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function y4(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?y4(n):n),[])}var Hme=[0,1,2,3].concat(...g4([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function dr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,u=e.stat_desc.max_length,f,d,p,g,m,x,b=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,f=o.heap_max+1;f<573;f++)d=o.heap[f],g=r[r[d*2+1]*2+1]+1,g>u&&(g=u,b++),r[d*2+1]=g,!(d>e.max_code)&&(o.bl_count[g]++,m=0,d>=c&&(m=a[d-c]),x=r[d*2],o.opt_len+=x*(g+m),s&&(o.static_len+=x*(s[d*2+1]+m)));if(b!==0){do{for(g=u-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[u]--,b-=2}while(b>0);for(g=u;g!==0;g--)for(d=o.bl_count[g];d!==0;)p=o.heap[--f],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),d--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,u,f,d;for(u=1;u<=15;u++)a[u]=c=c+s[u-1]<<1;for(f=0;f<=r;f++)d=o[f*2+1],d!==0&&(o[f*2]=n(a[d]++,d))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,u,f=-1,d;for(o.heap_len=0,o.heap_max=573,c=0;c<a;c++)r[c*2]!==0?(o.heap[++o.heap_len]=f=c,o.depth[c]=0):r[c*2+1]=0;for(;o.heap_len<2;)d=o.heap[++o.heap_len]=f<2?++f:0,r[d*2]=1,o.depth[d]=0,o.opt_len--,s&&(o.static_len-=s[d*2+1]);for(e.max_code=f,c=Math.floor(o.heap_len/2);c>=1;c--)o.pqdownheap(r,c);d=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),u=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=u,r[d*2]=r[c*2]+r[u*2],o.depth[d]=Math.max(o.depth[c],o.depth[u])+1,r[c*2+1]=r[u*2+1]=d,o.heap[1]=d++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}dr._length_code=[0,1,2,3,4,5,6,7].concat(...g4([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));dr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];dr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];dr.d_code=function(e){return e<256?Hme[e]:Hme[256+(e>>>7)]};dr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];dr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];dr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];dr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function za(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var gtt=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],ytt=g4([[144,8],[112,9],[24,7],[8,8]]);za.static_ltree=y4(gtt.map((e,t)=>[e,ytt[t]]));var xtt=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],btt=g4([[30,5]]);za.static_dtree=y4(xtt.map((e,t)=>[e,btt[t]]));za.static_l_desc=new za(za.static_ltree,dr.extra_lbits,257,286,15);za.static_d_desc=new za(za.static_dtree,dr.extra_dbits,0,30,15);za.static_bl_desc=new za(null,dr.extra_blbits,0,19,7);var Ttt=9,Ctt=8;function Pm(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var Wme=0,p4=1,mT=2,yh=[new Pm(0,0,0,0,Wme),new Pm(4,4,8,4,p4),new Pm(4,5,16,8,p4),new Pm(4,6,32,32,p4),new Pm(4,4,16,16,mT),new Pm(8,16,32,32,mT),new Pm(8,16,128,128,mT),new Pm(8,32,128,256,mT),new Pm(32,128,258,1024,mT),new Pm(32,258,258,4096,mT)],f4=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Qf=0,d4=1,VN=2,h4=3,Att=32,aq=42,m4=113,UN=666,cq=8,Ett=0,lq=1,Stt=2,wr=3,_4=258,Vu=_4+wr+1;function Gme(e,t,n,i){let o=e[t*2],r=e[n*2];return o<r||o==r&&i[t]<=i[n]}function vtt(){let e=this,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x,b,T,A,C,E,v,D,O,R,M,N,_,S,w,I,L,B,U,V=new dr,G=new dr,k=new dr;e.depth=[];let Y,W,Q,j,Z,J;e.bl_count=[],e.heap=[],L=[],B=[],U=[];function he(){u=2*r,d[g-1]=0;for(let Be=0;Be<g-1;Be++)d[Be]=0;N=yh[_].max_lazy,w=yh[_].good_length,I=yh[_].nice_length,M=yh[_].max_chain,v=0,T=0,O=0,A=R=wr-1,E=0,p=0}function xe(){let Be;for(Be=0;Be<286;Be++)L[Be*2]=0;for(Be=0;Be<30;Be++)B[Be*2]=0;for(Be=0;Be<19;Be++)U[Be*2]=0;L[256*2]=1,e.opt_len=e.static_len=0,W=Q=0}function re(){V.dyn_tree=L,V.stat_desc=za.static_l_desc,G.dyn_tree=B,G.stat_desc=za.static_d_desc,k.dyn_tree=U,k.stat_desc=za.static_bl_desc,Z=0,J=0,j=8,xe()}e.pqdownheap=function(Be,st){let $e=e.heap,Ye=$e[st],rt=st<<1;for(;rt<=e.heap_len&&(rt<e.heap_len&&Gme(Be,$e[rt+1],$e[rt],e.depth)&&rt++,!Gme(Be,Ye,$e[rt],e.depth));)$e[st]=$e[rt],st=rt,rt<<=1;$e[st]=Ye};function _e(Be,st){let $e=-1,Ye,rt=Be[0*2+1],Ht=0,An=7,Nn=4;rt===0&&(An=138,Nn=3),Be[(st+1)*2+1]=65535;for(let Vi=0;Vi<=st;Vi++)Ye=rt,rt=Be[(Vi+1)*2+1],!(++Ht<An&&Ye==rt)&&(Ht<Nn?U[Ye*2]+=Ht:Ye!==0?(Ye!=$e&&U[Ye*2]++,U[16*2]++):Ht<=10?U[17*2]++:U[18*2]++,Ht=0,$e=Ye,rt===0?(An=138,Nn=3):Ye==rt?(An=6,Nn=3):(An=7,Nn=4))}function ye(){let Be;for(_e(L,V.max_code),_e(B,G.max_code),k.build_tree(e),Be=18;Be>=3&&U[dr.bl_order[Be]*2+1]===0;Be--);return e.opt_len+=3*(Be+1)+5+5+4,Be}function De(Be){e.pending_buf[e.pending++]=Be}function ve(Be){De(Be&255),De(Be>>>8&255)}function Me(Be){De(Be>>8&255),De(Be&255&255)}function Oe(Be,st){let $e,Ye=st;J>16-Ye?($e=Be,Z|=$e<<J&65535,ve(Z),Z=$e>>>16-J,J+=Ye-16):(Z|=Be<<J&65535,J+=Ye)}function ct(Be,st){let $e=Be*2;Oe(st[$e]&65535,st[$e+1]&65535)}function Ke(Be,st){let $e,Ye=-1,rt,Ht=Be[0*2+1],An=0,Nn=7,Vi=4;for(Ht===0&&(Nn=138,Vi=3),$e=0;$e<=st;$e++)if(rt=Ht,Ht=Be[($e+1)*2+1],!(++An<Nn&&rt==Ht)){if(An<Vi)do ct(rt,U);while(--An!==0);else rt!==0?(rt!=Ye&&(ct(rt,U),An--),ct(16,U),Oe(An-3,2)):An<=10?(ct(17,U),Oe(An-3,3)):(ct(18,U),Oe(An-11,7));An=0,Ye=rt,Ht===0?(Nn=138,Vi=3):rt==Ht?(Nn=6,Vi=3):(Nn=7,Vi=4)}}function _t(Be,st,$e){let Ye;for(Oe(Be-257,5),Oe(st-1,5),Oe($e-4,4),Ye=0;Ye<$e;Ye++)Oe(U[dr.bl_order[Ye]*2+1],3);Ke(L,Be-1),Ke(B,st-1)}function Ze(){J==16?(ve(Z),Z=0,J=0):J>=8&&(De(Z&255),Z>>>=8,J-=8)}function Dt(){Oe(lq<<1,3),ct(256,za.static_ltree),Ze(),1+j+10-J<9&&(Oe(lq<<1,3),ct(256,za.static_ltree),Ze()),j=7}function gt(Be,st){let $e,Ye,rt;if(e.dist_buf[W]=Be,e.lc_buf[W]=st&255,W++,Be===0?L[st*2]++:(Q++,Be--,L[(dr._length_code[st]+256+1)*2]++,B[dr.d_code(Be)*2]++),!(W&8191)&&_>2){for($e=W*8,Ye=v-T,rt=0;rt<30;rt++)$e+=B[rt*2]*(5+dr.extra_dbits[rt]);if($e>>>=3,Q<Math.floor(W/2)&&$e<Math.floor(Ye/2))return!0}return W==Y-1}function yt(Be,st){let $e,Ye,rt=0,Ht,An;if(W!==0)do $e=e.dist_buf[rt],Ye=e.lc_buf[rt],rt++,$e===0?ct(Ye,Be):(Ht=dr._length_code[Ye],ct(Ht+256+1,Be),An=dr.extra_lbits[Ht],An!==0&&(Ye-=dr.base_length[Ht],Oe(Ye,An)),$e--,Ht=dr.d_code($e),ct(Ht,st),An=dr.extra_dbits[Ht],An!==0&&($e-=dr.base_dist[Ht],Oe($e,An)));while(rt<W);ct(256,Be),j=Be[256*2+1]}function Kt(){J>8?ve(Z):J>0&&De(Z&255),Z=0,J=0}function Te(Be,st,$e){Kt(),j=8,$e&&(ve(st),ve(~st)),e.pending_buf.set(c.subarray(Be,Be+st),e.pending),e.pending+=st}function Ae(Be,st,$e){Oe((Ett<<1)+($e?1:0),3),Te(Be,st,!0)}function on(Be,st,$e){let Ye,rt,Ht=0;_>0?(V.build_tree(e),G.build_tree(e),Ht=ye(),Ye=e.opt_len+3+7>>>3,rt=e.static_len+3+7>>>3,rt<=Ye&&(Ye=rt)):Ye=rt=st+5,st+4<=Ye&&Be!=-1?Ae(Be,st,$e):rt==Ye?(Oe((lq<<1)+($e?1:0),3),yt(za.static_ltree,za.static_dtree)):(Oe((Stt<<1)+($e?1:0),3),_t(V.max_code+1,G.max_code+1,Ht+1),yt(L,B)),xe(),$e&&Kt()}function $t(Be){on(T>=0?T:-1,v-T,Be),T=v,t.flush_pending()}function Qt(){let Be,st,$e,Ye;do{if(Ye=u-O-v,Ye===0&&v===0&&O===0)Ye=r;else if(Ye==-1)Ye--;else if(v>=r+r-Vu){c.set(c.subarray(r,r+r),0),D-=r,v-=r,T-=r,Be=g,$e=Be;do st=d[--$e]&65535,d[$e]=st>=r?st-r:0;while(--Be!==0);Be=r,$e=Be;do st=f[--$e]&65535,f[$e]=st>=r?st-r:0;while(--Be!==0);Ye+=r}if(t.avail_in===0)return;Be=t.read_buf(c,v+O,Ye),O+=Be,O>=wr&&(p=c[v]&255,p=(p<<b^c[v+1]&255)&x)}while(O<Vu&&t.avail_in!==0)}function no(Be){let st=65535,$e;for(st>i-5&&(st=i-5);;){if(O<=1){if(Qt(),O===0&&Be==0)return Qf;if(O===0)break}if(v+=O,O=0,$e=T+st,(v===0||v>=$e)&&(O=v-$e,v=$e,$t(!1),t.avail_out===0)||v-T>=r-Vu&&($t(!1),t.avail_out===0))return Qf}return $t(Be==4),t.avail_out===0?Be==4?VN:Qf:Be==4?h4:d4}function qe(Be){let st=M,$e=v,Ye,rt,Ht=R,An=v>r-Vu?v-(r-Vu):0,Nn=I,Vi=a,cs=v+_4,Yo=c[$e+Ht-1],Xr=c[$e+Ht];R>=w&&(st>>=2),Nn>O&&(Nn=O);do if(Ye=Be,!(c[Ye+Ht]!=Xr||c[Ye+Ht-1]!=Yo||c[Ye]!=c[$e]||c[++Ye]!=c[$e+1])){$e+=2,Ye++;do;while(c[++$e]==c[++Ye]&&c[++$e]==c[++Ye]&&c[++$e]==c[++Ye]&&c[++$e]==c[++Ye]&&c[++$e]==c[++Ye]&&c[++$e]==c[++Ye]&&c[++$e]==c[++Ye]&&c[++$e]==c[++Ye]&&$e<cs);if(rt=_4-(cs-$e),$e=cs-_4,rt>Ht){if(D=Be,Ht=rt,rt>=Nn)break;Yo=c[$e+Ht-1],Xr=c[$e+Ht]}}while((Be=f[Be&Vi]&65535)>An&&--st!==0);return Ht<=O?Ht:O}function _r(Be){let st=0,$e;for(;;){if(O<Vu){if(Qt(),O<Vu&&Be==0)return Qf;if(O===0)break}if(O>=wr&&(p=(p<<b^c[v+(wr-1)]&255)&x,st=d[p]&65535,f[v&a]=d[p],d[p]=v),st!==0&&(v-st&65535)<=r-Vu&&S!=2&&(A=qe(st)),A>=wr)if($e=gt(v-D,A-wr),O-=A,A<=N&&O>=wr){A--;do v++,p=(p<<b^c[v+(wr-1)]&255)&x,st=d[p]&65535,f[v&a]=d[p],d[p]=v;while(--A!==0);v++}else v+=A,A=0,p=c[v]&255,p=(p<<b^c[v+1]&255)&x;else $e=gt(0,c[v]&255),O--,v++;if($e&&($t(!1),t.avail_out===0))return Qf}return $t(Be==4),t.avail_out===0?Be==4?VN:Qf:Be==4?h4:d4}function sr(Be){let st=0,$e,Ye;for(;;){if(O<Vu){if(Qt(),O<Vu&&Be==0)return Qf;if(O===0)break}if(O>=wr&&(p=(p<<b^c[v+(wr-1)]&255)&x,st=d[p]&65535,f[v&a]=d[p],d[p]=v),R=A,C=D,A=wr-1,st!==0&&R<N&&(v-st&65535)<=r-Vu&&(S!=2&&(A=qe(st)),A<=5&&(S==1||A==wr&&v-D>4096)&&(A=wr-1)),R>=wr&&A<=R){Ye=v+O-wr,$e=gt(v-1-C,R-wr),O-=R-1,R-=2;do++v<=Ye&&(p=(p<<b^c[v+(wr-1)]&255)&x,st=d[p]&65535,f[v&a]=d[p],d[p]=v);while(--R!==0);if(E=0,A=wr-1,v++,$e&&($t(!1),t.avail_out===0))return Qf}else if(E!==0){if($e=gt(0,c[v-1]&255),$e&&$t(!1),v++,O--,t.avail_out===0)return Qf}else E=1,v++,O--}return E!==0&&($e=gt(0,c[v-1]&255),E=0),$t(Be==4),t.avail_out===0?Be==4?VN:Qf:Be==4?h4:d4}function Ir(Be){return Be.total_in=Be.total_out=0,Be.msg=null,e.pending=0,e.pending_out=0,n=m4,o=0,re(),he(),0}e.deflateInit=function(Be,st,$e,Ye,rt,Ht){return Ye||(Ye=cq),rt||(rt=Ctt),Ht||(Ht=0),Be.msg=null,st==-1&&(st=6),rt<1||rt>Ttt||Ye!=cq||$e<9||$e>15||st<0||st>9||Ht<0||Ht>2?-2:(Be.dstate=e,s=$e,r=1<<s,a=r-1,m=rt+7,g=1<<m,x=g-1,b=Math.floor((m+wr-1)/wr),c=new Uint8Array(r*2),f=[],d=[],Y=1<<rt+6,e.pending_buf=new Uint8Array(Y*4),i=Y*4,e.dist_buf=new Uint16Array(Y),e.lc_buf=new Uint8Array(Y),_=st,S=Ht,Ir(Be))},e.deflateEnd=function(){return n!=aq&&n!=m4&&n!=UN?-2:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,d=null,f=null,c=null,e.dstate=null,n==m4?-3:0)},e.deflateParams=function(Be,st,$e){let Ye=0;return st==-1&&(st=6),st<0||st>9||$e<0||$e>2?-2:(yh[_].func!=yh[st].func&&Be.total_in!==0&&(Ye=Be.deflate(1)),_!=st&&(_=st,N=yh[_].max_lazy,w=yh[_].good_length,I=yh[_].nice_length,M=yh[_].max_chain),S=$e,Ye)},e.deflateSetDictionary=function(Be,st,$e){let Ye=$e,rt,Ht=0;if(!st||n!=aq)return-2;if(Ye<wr)return 0;for(Ye>r-Vu&&(Ye=r-Vu,Ht=$e-Ye),c.set(st.subarray(Ht,Ht+Ye),0),v=Ye,T=Ye,p=c[0]&255,p=(p<<b^c[1]&255)&x,rt=0;rt<=Ye-wr;rt++)p=(p<<b^c[rt+(wr-1)]&255)&x,f[rt&a]=d[p],d[p]=rt;return 0},e.deflate=function(Be,st){let $e,Ye,rt,Ht,An;if(st>4||st<0)return-2;if(!Be.next_out||!Be.next_in&&Be.avail_in!==0||n==UN&&st!=4)return Be.msg=f4[4],-2;if(Be.avail_out===0)return Be.msg=f4[7],-5;if(t=Be,Ht=o,o=st,n==aq&&(Ye=cq+(s-8<<4)<<8,rt=(_-1&255)>>1,rt>3&&(rt=3),Ye|=rt<<6,v!==0&&(Ye|=Att),Ye+=31-Ye%31,n=m4,Me(Ye)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&&st<=Ht&&st!=4)return t.msg=f4[7],-5;if(n==UN&&t.avail_in!==0)return Be.msg=f4[7],-5;if(t.avail_in!==0||O!==0||st!=0&&n!=UN){switch(An=-1,yh[_].func){case Wme:An=no(st);break;case p4:An=_r(st);break;case mT:An=sr(st);break;default:}if((An==VN||An==h4)&&(n=UN),An==Qf||An==VN)return t.avail_out===0&&(o=-1),0;if(An==d4){if(st==1)Dt();else if(Ae(0,0,!1),st==3)for($e=0;$e<g;$e++)d[$e]=0;if(t.flush_pending(),t.avail_out===0)return o=-1,0}}return st!=4?0:1}}function jme(){let e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}jme.prototype={deflateInit(e,t){let n=this;return n.dstate=new vtt,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){let t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd(){let e=this;if(!e.dstate)return-2;let t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){let n=this;return n.dstate?n.dstate.deflateParams(n,e,t):-2},deflateSetDictionary(e,t){let n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf(e,t,n){let i=this,o=i.avail_in;return o>n&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function qme(e){let t=this,n=new jme,i=wtt(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let u,f,d=0,p=0,g=0,m=[];if(a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,u=n.deflate(o),u!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?m.push(new Uint8Array(r)):m.push(r.subarray(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=d&&(c(n.next_in_index),d=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return m.length>1?(f=new Uint8Array(g),m.forEach(function(x){f.set(x,p),p+=x.length})):f=m[0]?new Uint8Array(m[0]):new Uint8Array,f}},t.flush=function(){let a,c,u=0,f=0,d=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&d.push(r.slice(0,n.next_out_index)),f+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(f),d.forEach(function(p){c.set(p,u),u+=p.length}),c}}function wtt(e){return e+5*(Math.floor(e/16383)+1)}var Uu=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],dpe=1440,Dtt=0,Itt=4,Ptt=9,Rtt=5,Ott=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Mtt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],Ltt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ntt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Ftt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Btt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],n0=15;function hq(){let e=this,t,n,i,o,r,s;function a(u,f,d,p,g,m,x,b,T,A,C){let E,v,D,O,R,M,N,_,S,w,I,L,B,U,V;w=0,R=d;do i[u[f+w]]++,w++,R--;while(R!==0);if(i[0]==d)return x[0]=-1,b[0]=0,0;for(_=b[0],M=1;M<=n0&&i[M]===0;M++);for(N=M,_<M&&(_=M),R=n0;R!==0&&i[R]===0;R--);for(D=R,_>R&&(_=R),b[0]=_,U=1<<M;M<R;M++,U<<=1)if((U-=i[M])<0)return-3;if((U-=i[R])<0)return-3;for(i[R]+=U,s[1]=M=0,w=1,B=2;--R!==0;)s[B]=M+=i[w],B++,w++;R=0,w=0;do(M=u[f+w])!==0&&(C[s[M]++]=R),w++;while(++R<d);for(d=s[D],s[0]=R=0,w=0,O=-1,L=-_,r[0]=0,I=0,V=0;N<=D;N++)for(E=i[N];E--!==0;){for(;N>L+_;){if(O++,L+=_,V=D-L,V=V>_?_:V,(v=1<<(M=N-L))>E+1&&(v-=E+1,B=N,M<V))for(;++M<V&&!((v<<=1)<=i[++B]);)v-=i[B];if(V=1<<M,A[0]+V>dpe)return-3;r[O]=I=A[0],A[0]+=V,O!==0?(s[O]=R,o[0]=M,o[1]=_,M=R>>>L-_,o[2]=I-r[O-1]-M,T.set(o,(r[O-1]+M)*3)):x[0]=I}for(o[1]=N-L,w>=d?o[0]=192:C[w]<p?(o[0]=C[w]<256?0:96,o[2]=C[w++]):(o[0]=m[C[w]-p]+16+64,o[2]=g[C[w++]-p]),v=1<<N-L,M=R>>>L;M<V;M+=v)T.set(o,(I+M)*3);for(M=1<<N-1;R&M;M>>>=1)R^=M;for(R^=M,S=(1<<L)-1;(R&S)!=s[O];)O--,L-=_,S=(1<<L)-1}return U!==0&&D!=1?-5:0}function c(u){let f;for(t||(t=[],n=[],i=new Int32Array(n0+1),o=[],r=new Int32Array(n0),s=new Int32Array(n0+1)),n.length<u&&(n=[]),f=0;f<u;f++)n[f]=0;for(f=0;f<n0+1;f++)i[f]=0;for(f=0;f<3;f++)o[f]=0;r.set(i.subarray(0,n0),0),s.set(i.subarray(0,n0+1),0)}e.inflate_trees_bits=function(u,f,d,p,g){let m;return c(19),t[0]=0,m=a(u,0,19,19,null,null,d,f,p,t,n),m==-3?g.msg="oversubscribed dynamic bit lengths tree":(m==-5||f[0]===0)&&(g.msg="incomplete dynamic bit lengths tree",m=-3),m},e.inflate_trees_dynamic=function(u,f,d,p,g,m,x,b,T){let A;return c(288),t[0]=0,A=a(d,0,u,257,Ltt,Ntt,m,p,b,t,n),A!=0||p[0]===0?(A==-3?T.msg="oversubscribed literal/length tree":A!=-4&&(T.msg="incomplete literal/length tree",A=-3),A):(c(288),A=a(d,u,f,0,Ftt,Btt,x,g,b,t,n),A!=0||g[0]===0&&u>257?(A==-3?T.msg="oversubscribed distance tree":A==-5?(T.msg="incomplete distance tree",A=-3):A!=-4&&(T.msg="empty distance tree with lengths",A=-3),A):0)}}hq.inflate_trees_fixed=function(e,t,n,i){return e[0]=Ptt,t[0]=Rtt,n[0]=Ott,i[0]=Mtt,0};var x4=0,Yme=1,Xme=2,Kme=3,Zme=4,$me=5,Qme=6,uq=7,Jme=8,b4=9;function ktt(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,u=0,f=0,d,p=0,g,m=0;function x(b,T,A,C,E,v,D,O){let R,M,N,_,S,w,I,L,B,U,V,G,k,Y,W,Q;I=O.next_in_index,L=O.avail_in,S=D.bitb,w=D.bitk,B=D.write,U=B<D.read?D.read-B-1:D.end-B,V=Uu[b],G=Uu[T];do{for(;w<20;)L--,S|=(O.read_byte(I++)&255)<<w,w+=8;if(R=S&V,M=A,N=C,Q=(N+R)*3,(_=M[Q])===0){S>>=M[Q+1],w-=M[Q+1],D.win[B++]=M[Q+2],U--;continue}do{if(S>>=M[Q+1],w-=M[Q+1],_&16){for(_&=15,k=M[Q+2]+(S&Uu[_]),S>>=_,w-=_;w<15;)L--,S|=(O.read_byte(I++)&255)<<w,w+=8;R=S&G,M=E,N=v,Q=(N+R)*3,_=M[Q];do if(S>>=M[Q+1],w-=M[Q+1],_&16){for(_&=15;w<_;)L--,S|=(O.read_byte(I++)&255)<<w,w+=8;if(Y=M[Q+2]+(S&Uu[_]),S>>=_,w-=_,U-=k,B>=Y)W=B-Y,B-W>0&&2>B-W?(D.win[B++]=D.win[W++],D.win[B++]=D.win[W++],k-=2):(D.win.set(D.win.subarray(W,W+2),B),B+=2,W+=2,k-=2);else{W=B-Y;do W+=D.end;while(W<0);if(_=D.end-W,k>_){if(k-=_,B-W>0&&_>B-W)do D.win[B++]=D.win[W++];while(--_!==0);else D.win.set(D.win.subarray(W,W+_),B),B+=_,W+=_,_=0;W=0}}if(B-W>0&&k>B-W)do D.win[B++]=D.win[W++];while(--k!==0);else D.win.set(D.win.subarray(W,W+k),B),B+=k,W+=k,k=0;break}else if(!(_&64))R+=M[Q+2],R+=S&Uu[_],Q=(N+R)*3,_=M[Q];else return O.msg="invalid distance code",k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,-3;while(!0);break}if(_&64)return _&32?(k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,1):(O.msg="invalid literal/length code",k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,-3);if(R+=M[Q+2],R+=S&Uu[_],Q=(N+R)*3,(_=M[Q])===0){S>>=M[Q+1],w-=M[Q+1],D.win[B++]=M[Q+2],U--;break}}while(!0)}while(U>=258&&L>=10);return k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,0}e.init=function(b,T,A,C,E,v){t=x4,u=b,f=T,d=A,p=C,g=E,m=v,i=null},e.proc=function(b,T,A){let C,E,v,D=0,O=0,R=0,M,N,_,S;for(R=T.next_in_index,M=T.avail_in,D=b.bitb,O=b.bitk,N=b.write,_=N<b.read?b.read-N-1:b.end-N;;)switch(t){case x4:if(_>=258&&M>=10&&(b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,A=x(u,f,d,p,g,m,b,T),R=T.next_in_index,M=T.avail_in,D=b.bitb,O=b.bitk,N=b.write,_=N<b.read?b.read-N-1:b.end-N,A!=0)){t=A==1?uq:b4;break}r=u,i=d,o=p,t=Yme;case Yme:for(C=r;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}if(E=(o+(D&Uu[C]))*3,D>>>=i[E+1],O-=i[E+1],v=i[E],v===0){s=i[E+2],t=Qme;break}if(v&16){a=v&15,n=i[E+2],t=Xme;break}if(!(v&64)){r=v,o=E/3+i[E+2];break}if(v&32){t=uq;break}return t=b4,T.msg="invalid literal/length code",A=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);case Xme:for(C=a;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}n+=D&Uu[C],D>>=C,O-=C,r=f,i=g,o=m,t=Kme;case Kme:for(C=r;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}if(E=(o+(D&Uu[C]))*3,D>>=i[E+1],O-=i[E+1],v=i[E],v&16){a=v&15,c=i[E+2],t=Zme;break}if(!(v&64)){r=v,o=E/3+i[E+2];break}return t=b4,T.msg="invalid distance code",A=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);case Zme:for(C=a;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}c+=D&Uu[C],D>>=C,O-=C,t=$me;case $me:for(S=N-c;S<0;)S+=b.end;for(;n!==0;){if(_===0&&(N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0&&(b.write=N,A=b.inflate_flush(T,A),N=b.write,_=N<b.read?b.read-N-1:b.end-N,N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0)))return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);b.win[N++]=b.win[S++],_--,S==b.end&&(S=0),n--}t=x4;break;case Qme:if(_===0&&(N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0&&(b.write=N,A=b.inflate_flush(T,A),N=b.write,_=N<b.read?b.read-N-1:b.end-N,N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0)))return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);A=0,b.win[N++]=s,_--,t=x4;break;case uq:if(O>7&&(O-=8,M++,R--),b.write=N,A=b.inflate_flush(T,A),N=b.write,_=N<b.read?b.read-N-1:b.end-N,b.read!=b.write)return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);t=Jme;case Jme:return A=1,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);case b4:return A=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);default:return A=-2,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A)}},e.free=function(){}}var epe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],xS=0,fq=1,tpe=2,npe=3,ipe=4,ope=5,T4=6,C4=7,rpe=8,pT=9;function Vtt(e,t){let n=this,i=xS,o=0,r=0,s=0,a,c=[0],u=[0],f=new ktt,d=0,p=new Int32Array(dpe*3),g=0,m=new hq;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(x,b){b&&(b[0]=g),i==T4&&f.free(x),i=xS,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(x,b){let T,A,C;return A=x.next_out_index,C=n.read,T=(C<=n.write?n.write:n.end)-C,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(C,C+T),A),A+=T,C+=T,C==n.end&&(C=0,n.write==n.end&&(n.write=0),T=n.write-C,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(C,C+T),A),A+=T,C+=T),x.next_out_index=A,n.read=C,b},n.proc=function(x,b){let T,A,C,E,v,D,O,R;for(E=x.next_in_index,v=x.avail_in,A=n.bitb,C=n.bitk,D=n.write,O=D<n.read?n.read-D-1:n.end-D;;){let M,N,_,S,w,I,L,B;switch(i){case xS:for(;C<3;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}switch(T=A&7,d=T&1,T>>>1){case 0:A>>>=3,C-=3,T=C&7,A>>>=T,C-=T,i=fq;break;case 1:M=[],N=[],_=[[]],S=[[]],hq.inflate_trees_fixed(M,N,_,S),f.init(M[0],N[0],_[0],0,S[0],0),A>>>=3,C-=3,i=T4;break;case 2:A>>>=3,C-=3,i=npe;break;case 3:return A>>>=3,C-=3,i=pT,x.msg="invalid block type",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b)}break;case fq:for(;C<32;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if((~A>>>16&65535)!=(A&65535))return i=pT,x.msg="invalid stored block lengths",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);o=A&65535,A=C=0,i=o!==0?tpe:d!==0?C4:xS;break;case tpe:if(v===0||O===0&&(D==n.end&&n.read!==0&&(D=0,O=D<n.read?n.read-D-1:n.end-D),O===0&&(n.write=D,b=n.inflate_flush(x,b),D=n.write,O=D<n.read?n.read-D-1:n.end-D,D==n.end&&n.read!==0&&(D=0,O=D<n.read?n.read-D-1:n.end-D),O===0)))return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);if(b=0,T=o,T>v&&(T=v),T>O&&(T=O),n.win.set(x.read_buf(E,T),D),E+=T,v-=T,D+=T,O-=T,(o-=T)!==0)break;i=d!==0?C4:xS;break;case npe:for(;C<14;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if(r=T=A&16383,(T&31)>29||(T>>5&31)>29)return i=pT,x.msg="too many length or distance symbols",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);if(T=258+(T&31)+(T>>5&31),!a||a.length<T)a=[];else for(R=0;R<T;R++)a[R]=0;A>>>=14,C-=14,s=0,i=ipe;case ipe:for(;s<4+(r>>>10);){for(;C<3;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}a[epe[s++]]=A&7,A>>>=3,C-=3}for(;s<19;)a[epe[s++]]=0;if(c[0]=7,T=m.inflate_trees_bits(a,c,u,p,x),T!=0)return b=T,b==-3&&(a=null,i=pT),n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);s=0,i=ope;case ope:for(;T=r,!(s>=258+(T&31)+(T>>5&31));){let U,V;for(T=c[0];C<T;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if(T=p[(u[0]+(A&Uu[T]))*3+1],V=p[(u[0]+(A&Uu[T]))*3+2],V<16)A>>>=T,C-=T,a[s++]=V;else{for(R=V==18?7:V-14,U=V==18?11:3;C<T+R;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if(A>>>=T,C-=T,U+=A&Uu[R],A>>>=R,C-=R,R=s,T=r,R+U>258+(T&31)+(T>>5&31)||V==16&&R<1)return a=null,i=pT,x.msg="invalid bit length repeat",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);V=V==16?a[R-1]:0;do a[R++]=V;while(--U!==0);s=R}}if(u[0]=-1,w=[],I=[],L=[],B=[],w[0]=9,I[0]=6,T=r,T=m.inflate_trees_dynamic(257+(T&31),1+(T>>5&31),a,w,I,L,B,p,x),T!=0)return T==-3&&(a=null,i=pT),b=T,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);f.init(w[0],I[0],p,L[0],p,B[0]),i=T4;case T4:if(n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,(b=f.proc(n,x,b))!=1)return n.inflate_flush(x,b);if(b=0,f.free(x),E=x.next_in_index,v=x.avail_in,A=n.bitb,C=n.bitk,D=n.write,O=D<n.read?n.read-D-1:n.end-D,d===0){i=xS;break}i=C4;case C4:if(n.write=D,b=n.inflate_flush(x,b),D=n.write,O=D<n.read?n.read-D-1:n.end-D,n.read!=n.write)return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);i=rpe;case rpe:return b=1,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);case pT:return b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);default:return b=-2,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b)}}},n.free=function(x){n.reset(x,null),n.win=null,p=null},n.set_dictionary=function(x,b,T){n.win.set(x.subarray(b,b+T),0),n.read=n.write=T},n.sync_point=function(){return i==fq?1:0}}var Utt=32,ztt=8,Htt=0,spe=1,ape=2,cpe=3,lpe=4,upe=5,dq=6,zN=7,fpe=12,i0=13,Gtt=[0,0,255,255];function Wtt(){let e=this;e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0;function t(n){return!n||!n.istate?-2:(n.total_in=n.total_out=0,n.msg=null,n.istate.mode=zN,n.istate.blocks.reset(n,null),0)}e.inflateEnd=function(n){return e.blocks&&e.blocks.free(n),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new Vtt(n,1<<i),t(n),0)},e.inflate=function(n,i){let o,r;if(!n||!n.istate||!n.next_in)return-2;let s=n.istate;for(i=i==Itt?-5:0,o=-5;;)switch(s.mode){case Htt:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,((s.method=n.read_byte(n.next_in_index++))&15)!=ztt){s.mode=i0,n.msg="unknown compression method",s.marker=5;break}if((s.method>>4)+8>s.wbits){s.mode=i0,n.msg="invalid win size",s.marker=5;break}s.mode=spe;case spe:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=i0,n.msg="incorrect header check",s.marker=5;break}if(!(r&Utt)){s.mode=zN;break}s.mode=ape;case ape:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=cpe;case cpe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=lpe;case lpe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=upe;case upe:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=dq,2);case dq:return s.mode=i0,n.msg="need dictionary",s.marker=0,-2;case zN:if(o=s.blocks.proc(n,o),o==-3){s.mode=i0,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=fpe;case fpe:return n.avail_in=0,1;case i0:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=dq)return-2;let a=n.istate;return s>=1<<a.wbits&&(s=(1<<a.wbits)-1,r=o-s),a.blocks.set_dictionary(i,r,s),a.mode=zN,0},e.inflateSync=function(n){let i,o,r,s,a;if(!n||!n.istate)return-2;let c=n.istate;if(c.mode!=i0&&(c.mode=i0,c.marker=0),(i=n.avail_in)===0)return-5;for(o=n.next_in_index,r=c.marker;i!==0&&r<4;)n.read_byte(o)==Gtt[r]?r++:n.read_byte(o)!==0?r=0:r=4-r,o++,i--;return n.total_in+=o-n.next_in_index,n.next_in_index=o,n.avail_in=i,c.marker=r,r!=4?-3:(s=n.total_in,a=n.total_out,t(n),n.total_in=s,n.total_out=a,c.mode=zN,0)},e.inflateSyncPoint=function(n){return!n||!n.istate||!n.istate.blocks?-2:n.istate.blocks.sync_point()}}function hpe(){}hpe.prototype={inflateInit(e){let t=this;return t.istate=new Wtt,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){let t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd(){let e=this;if(!e.istate)return-2;let t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){let e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary(e,t){let n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};function mpe(e){let t=this,n=new hpe,i=e&&e.chunkSize?Math.floor(e.chunkSize*2):128*1024,o=Dtt,r=new Uint8Array(i),s=!1;n.inflateInit(),n.next_out=r,t.append=function(a,c){let u=[],f,d,p=0,g=0,m=0;if(a.length!==0){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,n.avail_in===0&&!s&&(n.next_in_index=0,s=!0),f=n.inflate(o),s&&f===-5){if(n.avail_in!==0)throw new Error("inflating: bad input")}else if(f!==0&&f!==1)throw new Error("inflating: "+n.msg);if((s||f===1)&&n.avail_in===a.length)throw new Error("inflating: bad input");n.next_out_index&&(n.next_out_index===i?u.push(new Uint8Array(r)):u.push(r.subarray(0,n.next_out_index))),m+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return u.length>1?(d=new Uint8Array(m),u.forEach(function(x){d.set(x,g),g+=x.length})):d=u[0]?new Uint8Array(u[0]):new Uint8Array,d}},t.flush=function(){n.inflateEnd()}}var bS="/",mq=new Date(2107,11,31),pq=new Date(1980,0,1),eo=void 0,zu="undefined",q_="function";var HN=class{constructor(t){return class extends null{constructor(n,i){let o=new t(i);super({transform(r,s){s.enqueue(o.append(r))},flush(r){let s=o.flush();s&&r.enqueue(s)}})}}}};var jtt=64,ppe=2;try{typeof navigator!=zu&&navigator.hardwareConcurrency&&(ppe=navigator.hardwareConcurrency)}catch{}var qtt={chunkSize:512*1024,maxWorkers:ppe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:eo,CompressionStreamNative:typeof CompressionStream!=zu&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=zu&&DecompressionStream},r0=Object.assign({},qtt);function GN(){return r0}function A4(e){return Math.max(e.chunkSize,jtt)}function TS(e){let{baseURL:t,chunkSize:n,maxWorkers:i,terminateWorkerTimeout:o,useCompressionStream:r,useWebWorkers:s,Deflate:a,Inflate:c,CompressionStream:u,DecompressionStream:f,workerScripts:d}=e;if(o0("baseURL",t),o0("chunkSize",n),o0("maxWorkers",i),o0("terminateWorkerTimeout",o),o0("useCompressionStream",r),o0("useWebWorkers",s),a&&(r0.CompressionStream=new HN(a)),c&&(r0.DecompressionStream=new HN(c)),o0("CompressionStream",u),o0("DecompressionStream",f),d!==eo){let{deflate:p,inflate:g}=d;if((p||g)&&(r0.workerScripts||(r0.workerScripts={})),p){if(!Array.isArray(p))throw new Error("workerScripts.deflate must be an array");r0.workerScripts.deflate=p}if(g){if(!Array.isArray(g))throw new Error("workerScripts.inflate must be an array");r0.workerScripts.inflate=g}}}function o0(e,t){t!==eo&&(r0[e]=t)}var _pe=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;_pe[e]=t}var Y_=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i<o;i++)n=n>>>8^_pe[(n^t[i])&255];this.crc=n}get(){return~this.crc}};var WN=class extends null{constructor(){let t,n=new Y_;super({transform(i,o){n.append(i),o.enqueue(i)},flush(){let i=new Uint8Array(4);new DataView(i.buffer).setUint32(0,n.get()),t.value=i}}),t=this}};function CS(e){if(typeof TextEncoder==zu){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}else return new TextEncoder().encode(e)}var ol={concat(e,t){if(e.length===0||t.length===0)return e.concat(t);let n=e[e.length-1],i=ol.getPartial(n);return i===32?e.concat(t):ol._shiftRight(t,i,n|0,e.slice(0,e.length-1))},bitLength(e){let t=e.length;if(t===0)return 0;let n=e[t-1];return(t-1)*32+ol.getPartial(n)},clamp(e,t){if(e.length*32<t)return e;e=e.slice(0,Math.ceil(t/32));let n=e.length;return t=t&31,n>0&&t&&(e[n-1]=ol.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s<e.length;s++)i.push(n|e[s]>>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=ol.getPartial(o);return i.push(ol.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},jN={bytes:{fromBits(e){let n=ol.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r<n;r++)r&3||(o=e[r/4]),i[r]=o>>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],(n&3)===3&&(t.push(i),i=0);return n&3&&t.push(ol.partial(8*(n&3),i)),t}}},gpe={};gpe.sha1=class{constructor(e){let t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){let e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){let t=this;typeof e=="string"&&(e=jN.utf8String.toBits(e));let n=t._buffer=ol.concat(t._buffer,e),i=t._length,o=t._length=i+ol.bitLength(e);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){let e=this,t=e._buffer,n=e._h;t=ol.concat(t,[ol.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i}_S(e,t){return t<<e|t>>>32-e}_block(e){let t=this,n=t._h,i=Array(80);for(let u=0;u<16;u++)i[u]=e[u];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let u=0;u<=79;u++){u>=16&&(i[u]=t._S(1,i[u-3]^i[u-8]^i[u-14]^i[u-16]));let f=t._S(5,o)+t._f(u,r,s,a)+c+i[u]+t._key[Math.floor(u/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=f}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var _q={};_q.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let u=s[r-1];(r%o===0||o===8&&r%o===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[u&255],r%o===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^u}for(let u=0;r;u++,r--){let f=s[u&3?r:r-4];r<=4||u<4?a[u]=f:a[u]=i[0][n[f>>>24]]^i[1][n[f>>16&255]]^i[2][n[f>>8&255]]^i[3][n[f&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,u;for(let f=0;f<256;f++)r[(o[f]=f<<1^(f>>7)*283)^f]=f;for(let f=s=0;!n[f];f^=a||1,s=r[s]||1){let d=s^s<<1^s<<2^s<<3^s<<4;d=d>>8^d&255^99,n[f]=d,i[d]=f,u=o[c=o[a=o[f]]];let p=u*16843009^c*65537^a*257^f*16843008,g=o[d]*257^d*16843008;for(let m=0;m<4;m++)e[m][f]=g=g<<24^g>>>8,t[m][d]=p=p<<24^p>>>8}for(let f=0;f<5;f++)e[f]=e[f].slice(0),t[f]=t[f].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],u=r[3],f=r[4],d=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],m=e[t?1:3]^n[3],x=4,b,T,A;for(let C=0;C<i;C++)b=s[d>>>24]^a[p>>16&255]^c[g>>8&255]^u[m&255]^n[x],T=s[p>>>24]^a[g>>16&255]^c[m>>8&255]^u[d&255]^n[x+1],A=s[g>>>24]^a[m>>16&255]^c[d>>8&255]^u[p&255]^n[x+2],m=s[m>>>24]^a[d>>16&255]^c[p>>8&255]^u[g&255]^n[x+3],x+=4,d=b,p=T,g=A;for(let C=0;C<4;C++)o[t?3&-C:C]=f[d>>>24]<<24^f[p>>16&255]<<16^f[g>>8&255]<<8^f[m&255]^n[x++],b=d,d=p,p=g,g=m,m=b;return o}};var ype={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i<e.length;i+=4){let r=n((o||Math.random())*4294967296);o=r()*987654071,t[i/4]=r()*4294967296|0}return e}},gq={};gq.ctrGladman=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if((e>>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=ol.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);let s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return ol.clamp(t,o)}};var s0={importKey(e){return new s0.hmacSha1(jN.bytes.toBits(e))},pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");let o=(i>>5)+1<<2,r,s,a,c,u,f=new ArrayBuffer(o),d=new DataView(f),p=0,g=ol;for(t=jN.bytes.toBits(t),u=1;p<(o||1);u++){for(r=s=e.encrypt(g.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)r[c]^=s[c];for(a=0;p<(o||1)&&a<r.length;a++)d.setInt32(p,r[a]),p+=4}return f.slice(0,i/8)}};s0.hmacSha1=class{constructor(e){let t=this,n=t._hash=gpe.sha1,i=[[],[]];t._baseHash=[new n,new n];let o=t._baseHash[0].blockSize/32;e.length>o&&(e=new n().update(e).finalize());for(let r=0;r<o;r++)i[0][r]=e[r]^909522486,i[1][r]=e[r]^1549556828;t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){let e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){let t=this;t._updated=!0,t._resultHash.update(e)}digest(){let e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}};var Ytt=typeof crypto!=zu&&typeof crypto.getRandomValues==q_,a0="Invalid password",_T="Invalid signature",X_="zipjs-abort-check-password";function E4(e){return Ytt?crypto.getRandomValues(e):ype.getRandomValues(e)}var AS=16,Xtt="raw",Tpe={name:"PBKDF2"},Ktt={name:"HMAC"},Ztt="SHA-1",$tt=Object.assign({hash:Ktt},Tpe),yq=Object.assign({iterations:1e3,hash:{name:Ztt}},Tpe),Qtt=["deriveBits"],YN=[8,12,16],qN=[16,24,32],c0=10,Jtt=[0,0,0,0],w4=typeof crypto!=zu,ZN=w4&&crypto.subtle,Cpe=w4&&typeof ZN!=zu,Rm=jN.bytes,ent=_q.aes,tnt=gq.ctrGladman,nnt=s0.hmacSha1,xpe=w4&&Cpe&&typeof ZN.importKey==q_,bpe=w4&&Cpe&&typeof ZN.deriveBits==q_,S4=class extends null{constructor({password:t,rawPassword:n,signed:i,encryptionStrength:o,checkPasswordOnly:r}){super({start(){Object.assign(this,{ready:new Promise(s=>this.resolveReady=s),password:Spe(t,n),signed:i,strength:o-1,pending:new Uint8Array})},async transform(s,a){let c=this,{password:u,strength:f,resolveReady:d,ready:p}=c;u?(await int(c,f,u,Jf(s,0,YN[f]+2)),s=Jf(s,YN[f]+2),r?a.error(new Error(X_)):d()):await p;let g=new Uint8Array(s.length-c0-(s.length-c0)%AS);a.enqueue(Ape(c,s,g,0,c0,!0))},async flush(s){let{signed:a,ctr:c,hmac:u,pending:f,ready:d}=this;if(u&&c){await d;let p=Jf(f,0,f.length-c0),g=Jf(f,f.length-c0),m=new Uint8Array;if(p.length){let x=KN(Rm,p);u.update(x);let b=c.update(x);m=XN(Rm,b)}if(a){let x=Jf(XN(Rm,u.digest()),0,c0);for(let b=0;b<c0;b++)if(x[b]!=g[b])throw new Error(_T)}s.enqueue(m)}}})}},v4=class extends null{constructor({password:t,rawPassword:n,encryptionStrength:i}){let o;super({start(){Object.assign(this,{ready:new Promise(r=>this.resolveReady=r),password:Spe(t,n),strength:i-1,pending:new Uint8Array})},async transform(r,s){let a=this,{password:c,strength:u,resolveReady:f,ready:d}=a,p=new Uint8Array;c?(p=await ont(a,u,c),f()):await d;let g=new Uint8Array(p.length+r.length-r.length%AS);g.set(p,0),s.enqueue(Ape(a,r,g,p.length,0))},async flush(r){let{ctr:s,hmac:a,pending:c,ready:u}=this;if(a&&s){await u;let f=new Uint8Array;if(c.length){let d=s.update(KN(Rm,c));a.update(d),f=XN(Rm,d)}o.signature=XN(Rm,a.digest()).slice(0,c0),r.enqueue(xq(f,o.signature))}}}),o=this}};function Ape(e,t,n,i,o,r){let{ctr:s,hmac:a,pending:c}=e,u=t.length-o;c.length&&(t=xq(c,t),n=ant(n,u-u%AS));let f;for(f=0;f<=u-AS;f+=AS){let d=KN(Rm,Jf(t,f,f+AS));r&&a.update(d);let p=s.update(d);r||a.update(p),n.set(XN(Rm,p),f+i)}return e.pending=Jf(t,f),n}async function int(e,t,n,i){let o=await Epe(e,t,n,Jf(i,0,YN[t])),r=Jf(i,YN[t]);if(o[0]!=r[0]||o[1]!=r[1])throw new Error(a0)}async function ont(e,t,n){let i=E4(new Uint8Array(YN[t])),o=await Epe(e,t,n,i);return xq(i,o)}async function Epe(e,t,n,i){e.password=null;let o=await rnt(Xtt,n,$tt,!1,Qtt),r=await snt(Object.assign({salt:i},yq),o,8*(qN[t]*2+2)),s=new Uint8Array(r),a=KN(Rm,Jf(s,0,qN[t])),c=KN(Rm,Jf(s,qN[t],qN[t]*2)),u=Jf(s,qN[t]*2);return Object.assign(e,{keys:{key:a,authentication:c,passwordVerification:u},ctr:new tnt(new ent(a),Array.from(Jtt)),hmac:new nnt(c)}),u}async function rnt(e,t,n,i,o){if(xpe)try{return await ZN.importKey(e,t,n,i,o)}catch{return xpe=!1,s0.importKey(t)}else return s0.importKey(t)}async function snt(e,t,n){if(bpe)try{return await ZN.deriveBits(e,t,n)}catch{return bpe=!1,s0.pbkdf2(t,e.salt,yq.iterations,n)}else return s0.pbkdf2(t,e.salt,yq.iterations,n)}function Spe(e,t){return t===eo?CS(e):t}function xq(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ant(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function Jf(e,t,n){return e.subarray(t,n)}function XN(e,t){return e.fromBits(t)}function KN(e,t){return e.toBits(t)}var ES=12,D4=class extends null{constructor({password:t,passwordVerification:n,checkPasswordOnly:i}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Ipe(this,t)},transform(o,r){let s=this;if(s.password){let a=vpe(s,o.subarray(0,ES));if(s.password=null,a[ES-1]!=s.passwordVerification)throw new Error(a0);o=o.subarray(ES)}i?r.error(new Error(X_)):r.enqueue(vpe(s,o))}})}},I4=class extends null{constructor({password:t,passwordVerification:n}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Ipe(this,t)},transform(i,o){let r=this,s,a;if(r.password){r.password=null;let c=E4(new Uint8Array(ES));c[ES-1]=r.passwordVerification,s=new Uint8Array(i.length+c.length),s.set(wpe(r,c),0),a=ES}else s=new Uint8Array(i.length),a=0;s.set(wpe(r,i),a),o.enqueue(s)}})}};function vpe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Ppe(e)^t[i],bq(e,n[i]);return n}function wpe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Ppe(e)^t[i],bq(e,t[i]);return n}function Ipe(e,t){let n=[305419896,591751049,878082192];Object.assign(e,{keys:n,crcKey0:new Y_(n[0]),crcKey2:new Y_(n[2])});for(let i=0;i<t.length;i++)bq(e,t.charCodeAt(i))}function bq(e,t){let[n,i,o]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Dpe(Math.imul(Dpe(i+Rpe(n)),134775813)+1),e.crcKey2.append([i>>>24]),o=~e.crcKey2.get(),e.keys=[n,i,o]}function Ppe(e){let t=e.keys[2]|2;return Rpe(Math.imul(t,t^1)>>>8)}function Rpe(e){return e&255}function Dpe(e){return e&4294967295}var Ope="deflate-raw",P4=class extends null{constructor(t,{chunkSize:n,CompressionStream:i,CompressionStreamNative:o}){super({});let{compressed:r,encrypted:s,useCompressionStream:a,zipCrypto:c,signed:u,level:f}=t,d=this,p,g,m=Mpe(super.readable);(!s||c)&&u&&(p=new WN,m=Om(m,p)),r&&(m=Npe(m,a,{level:f,chunkSize:n},o,i)),s&&(c?m=Om(m,new I4(t)):(g=new v4(t),m=Om(m,g))),Lpe(d,m,()=>{let x;s&&!c&&(x=g.signature),(!s||c)&&u&&(x=new DataView(p.value.buffer).getUint32(0)),d.signature=x})}},R4=class extends null{constructor(t,{chunkSize:n,DecompressionStream:i,DecompressionStreamNative:o}){super({});let{zipCrypto:r,encrypted:s,signed:a,signature:c,compressed:u,useCompressionStream:f}=t,d,p,g=Mpe(super.readable);s&&(r?g=Om(g,new D4(t)):(p=new S4(t),g=Om(g,p))),u&&(g=Npe(g,f,{chunkSize:n},o,i)),(!s||r)&&a&&(d=new WN,g=Om(g,d)),Lpe(this,g,()=>{if((!s||r)&&a){let m=new DataView(d.value.buffer);if(c!=m.getUint32(0,!1))throw new Error(_T)}})}};function Mpe(e){return Om(e,new null({transform(t,n){t&&t.length&&n.enqueue(t)}}))}function Lpe(e,t,n){t=Om(t,new null({flush:n})),Object.defineProperty(e,"readable",{get(){return t}})}function Npe(e,t,n,i,o){try{let r=t&&i?i:o;e=Om(e,new r(Ope,n))}catch{if(t)try{e=Om(e,new o(Ope,n))}catch{return e}else return e}return e}function Om(e,t){return e.pipeThrough(t)}var Fpe="message",Bpe="start",kpe="pull",Tq="data",Vpe="ack",Cq="close",L4="deflate",N4="inflate";var O4=class extends null{constructor(t,n){super({});let i=this,{codecType:o}=t,r;o.startsWith(L4)?r=P4:o.startsWith(N4)&&(r=R4);let s=0,a=0,c=new r(t,n),u=super.readable,f=new null({transform(p,g){p&&p.length&&(a+=p.length,g.enqueue(p))},flush(){Object.assign(i,{inputSize:a})}}),d=new null({transform(p,g){p&&p.length&&(s+=p.length,g.enqueue(p))},flush(){let{signature:p}=c;Object.assign(i,{signature:p,outputSize:s,inputSize:a})}});Object.defineProperty(i,"readable",{get(){return u.pipeThrough(f).pipeThrough(c).pipeThrough(d)}})}},M4=class extends null{constructor(t){let n;super({transform:i,flush(o){n&&n.length&&o.enqueue(n)}});function i(o,r){if(n){let s=new Uint8Array(n.length+o.length);s.set(n),s.set(o,n.length),o=s,n=null}o.length>t?(r.enqueue(o.slice(0,t)),i(o.slice(t),r)):n=o}}};var Hpe=typeof Worker!=zu;var SS=class{constructor(t,{readable:n,writable:i},{options:o,config:r,streamOptions:s,useWebWorkers:a,transferStreams:c,scripts:u},f){let{signal:d}=s;return Object.assign(t,{busy:!0,readable:n.pipeThrough(new M4(r.chunkSize)).pipeThrough(new Eq(n,s),{signal:d}),writable:i,options:Object.assign({},o),scripts:u,transferStreams:c,terminate(){return new Promise(p=>{let{worker:g,busy:m}=t;g?(m?t.resolveTerminated=p:(g.terminate(),p()),t.interface=null):p()})},onTaskFinished(){let{resolveTerminated:p}=t;p&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),p()),t.busy=!1,f(t)}}),(a&&Hpe?cnt:Gpe)(t,r)}},Eq=class extends null{constructor(t,{onstart:n,onprogress:i,size:o,onend:r}){let s=0;super({async start(){n&&await Aq(n,o)},async transform(a,c){s+=a.length,i&&await Aq(i,s,o),c.enqueue(a)},async flush(){t.size=s,r&&await Aq(r,s)}})}};async function Aq(e,...t){try{await e(...t)}catch{}}function Gpe(e,t){return{run:()=>lnt(e,t)}}function cnt(e,t){let{baseURL:n,chunkSize:i}=t;if(!e.interface){let o;try{o=dnt(e.scripts[0],n,e)}catch{return Hpe=!1,Gpe(e,t)}Object.assign(e,{worker:o,interface:{run:()=>unt(e,{chunkSize:i})}})}return e.interface}async function lnt({options:e,readable:t,writable:n,onTaskFinished:i},o){try{let r=new O4(e,o);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});let{signature:s,inputSize:a,outputSize:c}=r;return{signature:s,inputSize:a,outputSize:c}}finally{i()}}async function unt(e,t){let n,i,o=new Promise((p,g)=>{n=p,i=g});Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:o});let{readable:r,options:s,scripts:a}=e,{writable:c,closed:u}=fnt(e.writable),f=F4({type:Bpe,scripts:a.slice(1),options:s,config:t,readable:r,writable:c},e);f||Object.assign(e,{reader:r.getReader(),writer:c.getWriter()});let d=await o;return f||await c.getWriter().close(),await u,d}function fnt(e){let t,n=new Promise(o=>t=o);return{writable:new WritableStream({async write(o){let r=e.getWriter();await r.ready,await r.write(o),r.releaseLock()},close(){t()},abort(o){return e.getWriter().abort(o)}}),closed:n}}var Upe=!0,zpe=!0;function dnt(e,t,n){let i={type:"module"},o,r;typeof e==q_&&(e=e());try{o=new URL(e,t)}catch{o=e}if(Upe)try{r=new Worker(o)}catch{Upe=!1,r=new Worker(o,i)}else r=new Worker(o,i);return r.addEventListener(Fpe,s=>hnt(s,n)),r}function F4(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:o}){try{let{value:r,readable:s,writable:a}=e,c=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,c.push(e.value)),o&&zpe?(s&&c.push(s),a&&c.push(a)):e.readable=e.writable=null,c.length)try{return t.postMessage(e,c),!0}catch{zpe=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(r){throw n&&n.releaseLock(),i(),r}}async function hnt({data:e},t){let{type:n,value:i,messageId:o,result:r,error:s}=e,{reader:a,writer:c,resolveResult:u,rejectResult:f,onTaskFinished:d}=t;try{if(s){let{message:g,stack:m,code:x,name:b}=s,T=new Error(g);Object.assign(T,{stack:m,code:x,name:b}),p(T)}else{if(n==kpe){let{value:g,done:m}=await a.read();F4({type:Tq,value:g,done:m,messageId:o},t)}n==Tq&&(await c.ready,await c.write(new Uint8Array(i)),F4({type:Vpe,messageId:o},t)),n==Cq&&p(null,r)}}catch(g){F4({type:Cq,messageId:o},t),p(g)}function p(g,m){g?f(g):u(m),c&&c.releaseLock(),d()}}var gT=[],Sq=[];var Wpe=0;async function B4(e,t){let{options:n,config:i}=t,{transferStreams:o,useWebWorkers:r,useCompressionStream:s,codecType:a,compressed:c,signed:u,encrypted:f}=n,{workerScripts:d,maxWorkers:p}=i;t.transferStreams=o||o===eo;let g=!c&&!u&&!f&&!t.transferStreams;return t.useWebWorkers=!g&&(r||r===eo&&i.useWebWorkers),t.scripts=t.useWebWorkers&&d?d[a]:[],n.useCompressionStream=s||s===eo&&i.useCompressionStream,(await m()).run();async function m(){let b=gT.find(T=>!T.busy);if(b)return jpe(b),new SS(b,e,t,x);if(gT.length<p){let T={indexWorker:Wpe};return Wpe++,gT.push(T),new SS(T,e,t,x)}else return new Promise(T=>Sq.push({resolve:T,stream:e,workerOptions:t}))}function x(b){if(Sq.length){let[{resolve:T,stream:A,workerOptions:C}]=Sq.splice(0,1);T(new SS(b,A,C,x))}else b.worker?(jpe(b),mnt(b,t)):gT=gT.filter(T=>T!=b)}}function mnt(e,t){let{config:n}=t,{terminateWorkerTimeout:i}=n;Number.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{gT=gT.filter(o=>o!=e);try{await e.terminate()}catch{}},i))}function jpe(e){let{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}var pnt="Writer iterator completed too soon",_nt="text/plain";var gnt="Content-Type";var ynt=64*1024,Dq="writable",vS=class{constructor(){this.size=0}init(){this.initialized=!0}},k4=class extends vS{get readable(){let t=this,{chunkSize:n=ynt}=t,i=new ReadableStream({start(){this.chunkOffset=0},async pull(o){let{offset:r=0,size:s,diskNumberStart:a}=i,{chunkOffset:c}=this;o.enqueue(await Ha(t,r+c,Math.min(n,s-c),a)),c+n>s?o.close():this.chunkOffset+=n}});return i}},vq=class extends vS{constructor(){super();let t=this,n=new WritableStream({write(i){return t.writeUint8Array(i)}});Object.defineProperty(t,Dq,{get(){return n}})}writeUint8Array(){}};var V4=class extends vq{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){let n=this,i=0,o=n.pending,r=n.pending.length;for(n.pending="",i=0;i<Math.floor((r+t.length)/3)*3-r;i++)o+=String.fromCharCode(t[i]);for(;i<t.length;i++)n.pending+=String.fromCharCode(t[i]);o.length>2?n.data+=btoa(o):n.pending=o}getData(){return this.data+btoa(this.pending)}},K_=class extends k4{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,n){let i=this,o=t+n,s=await(t||o<i.size?i.blob.slice(t,o):i.blob).arrayBuffer();return s.byteLength>n&&(s=s.slice(t,o)),new Uint8Array(s)}},$N=class extends vS{constructor(t){super();let n=this,i=new null,o=[];t&&o.push([gnt,t]),Object.defineProperty(n,Dq,{get(){return i.writable}}),n.blob=new Response(i.readable,{headers:o}).blob()}getData(){return this.blob}},U4=class extends K_{constructor(t){super(new Blob([t],{type:_nt}))}},z4=class extends $N{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,utf8:n}=this,i=await super.getData();if(i.text&&n)return i.text();{let o=new FileReader;return new Promise((r,s)=>{Object.assign(o,{onload:({target:a})=>r(a.result),onerror:()=>s(o.error)}),o.readAsText(i,t)})}}};var wq=class extends k4{constructor(t){super(),this.readers=t}async init(){let t=this,{readers:n}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(n.map(async(i,o)=>{await i.init(),o!=n.length-1&&(t.lastDiskOffset+=i.size),t.size+=i.size})),super.init()}async readUint8Array(t,n,i=0){let o=this,{readers:r}=this,s,a=i;a==-1&&(a=r.length-1);let c=t;for(;c>=r[a].size;)c-=r[a].size,a++;let u=r[a],f=u.size;if(c+n<=f)s=await Ha(u,c,n);else{let d=f-c;s=new Uint8Array(n),s.set(await Ha(u,c,d)),s.set(await o.readUint8Array(t+d,n-d,i),d)}return o.lastDiskNumber=Math.max(a,o.lastDiskNumber),s}},H4=class extends vS{constructor(t,n=4294967295){super();let i=this;Object.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o,r,s,a=new WritableStream({async write(f){let{availableSize:d}=i;if(s)f.length>=d?(await c(f.slice(0,d)),await u(),i.diskOffset+=o.size,i.diskNumber++,s=null,await this.write(f.slice(d))):await c(f);else{let{value:p,done:g}=await t.next();if(g&&!p)throw new Error(pnt);o=p,o.size=0,o.maxSize&&(i.maxSize=o.maxSize),i.availableSize=i.maxSize,await Lm(o),r=p.writable,s=r.getWriter(),await this.write(f)}},async close(){await s.ready,await u()}});Object.defineProperty(i,Dq,{get(){return a}});async function c(f){let d=f.length;d&&(await s.ready,await s.write(f),o.size+=d,i.size+=d,i.availableSize-=d)}async function u(){r.size=o.size,await s.close()}}};async function Lm(e,t){if(e.init&&!e.initialized)await e.init(t);else return Promise.resolve()}function G4(e){return Array.isArray(e)&&(e=new wq(e)),e instanceof ReadableStream&&(e={readable:e}),e}function W4(e){e.writable===eo&&typeof e.next==q_&&(e=new H4(e)),e instanceof WritableStream&&(e={writable:e});let{writable:t}=e;return t.size===eo&&(t.size=0),e instanceof H4||Object.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function Ha(e,t,n,i){return e.readUint8Array(t,n,i)}var qpe="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),xnt=qpe.length==256;function Ype(e){if(xnt){let t="";for(let n=0;n<e.length;n++)t+=qpe[e[n]];return t}else return new TextDecoder().decode(e)}function QN(e,t){return t&&t.trim().toLowerCase()=="cp437"?Ype(e):new TextDecoder(t).decode(e)}var Iq="filename",Pq="rawFilename",Rq="comment",Oq="rawComment",Mq="uncompressedSize",Lq="compressedSize",Nq="offset",j4="diskNumberStart",wS="lastModDate",q4="rawLastModDate",JN="lastAccessDate",Xpe="rawLastAccessDate",eF="creationDate",Kpe="rawCreationDate",Fq="internalFileAttribute",Bq="externalFileAttribute",kq="msDosCompatible",Vq="zip64",bnt=[Iq,Pq,Lq,Mq,wS,q4,Rq,Oq,JN,eF,Nq,j4,j4,Fq,Bq,kq,Vq,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"],l0=class{constructor(t){bnt.forEach(n=>this[n]=t[n])}};var Uq="File format is not recognized",Ent="End of central directory not found",Snt="End of Zip64 central directory locator not found",vnt="Central directory header not found",wnt="Local file header not found",Dnt="Zip64 extra field not found",Int="File contains encrypted entry",Pnt="Encryption method not supported",Zpe="Compression method not supported",$pe="Split zip file",Qpe="utf-8",Jpe="cp437",Rnt=[[Mq,4294967295],[Lq,4294967295],[Nq,4294967295],[j4,65535]],Ont={[65535]:{getValue:bs,bytes:4},[4294967295]:{getValue:Y4,bytes:8}},eH=class{constructor(t,n={}){Object.assign(this,{reader:G4(t),options:n,config:GN()})}async*getEntriesGenerator(t={}){let n=this,{reader:i}=n,{config:o}=n;if(await Lm(i),(i.size===eo||!i.readUint8Array)&&(i=new K_(await new Response(i.readable).blob()),await Lm(i)),i.size<22)throw new Error(Uq);i.chunkSize=A4(o);let r=await Bnt(i,101010256,i.size,22,65535*16);if(!r){let N=await Ha(i,0,4),_=Ta(N);throw bs(_)==134695760?new Error($pe):new Error(Ent)}let s=Ta(r),a=bs(s,12),c=bs(s,16),u=r.offset,f=ba(s,20),d=u+22+f,p=ba(s,4),g=i.lastDiskNumber||0,m=ba(s,6),x=ba(s,8),b=0,T=0;if(c==4294967295||a==4294967295||x==65535||m==65535){let N=await Ha(i,r.offset-20,20),_=Ta(N);if(bs(_,0)==117853008){c=Y4(_,8);let S=await Ha(i,c,56,-1),w=Ta(S),I=r.offset-20-56;if(bs(w,0)!=101075792&&c!=I){let L=c;c=I,b=c-L,S=await Ha(i,c,56,-1),w=Ta(S)}if(bs(w,0)!=101075792)throw new Error(Snt);p==65535&&(p=bs(w,16)),m==65535&&(m=bs(w,20)),x==65535&&(x=Y4(w,32)),a==4294967295&&(a=Y4(w,40)),c-=a}}if(c>=i.size&&(b=i.size-c-a-22,c=i.size-a-22),g!=p)throw new Error($pe);if(c<0)throw new Error(Uq);let A=0,C=await Ha(i,c,a,m),E=Ta(C);if(a){let N=r.offset-a;if(bs(E,A)!=33639248&&c!=N){let _=c;c=N,b+=c-_,C=await Ha(i,c,a,m),E=Ta(C)}}let v=r.offset-c-(i.lastDiskOffset||0);if(a!=v&&v>=0&&(a=v,C=await Ha(i,c,a,m),E=Ta(C)),c<0||c>=i.size)throw new Error(Uq);let D=jl(n,t,"filenameEncoding"),O=jl(n,t,"commentEncoding");for(let N=0;N<x;N++){let _=new Hq(i,o,n.options);if(bs(E,A)!=33639248)throw new Error(vnt);t_e(_,E,A+6);let S=!!_.bitFlag.languageEncodingFlag,w=A+46,I=w+_.filenameLength,L=I+_.extraFieldLength,B=ba(E,A+4),U=(B&0)==0,V=C.subarray(w,I),G=ba(E,A+32),k=L+G,Y=C.subarray(L,k),W=S,Q=S,j=U&&(DS(E,A+38)&16)==16,Z=bs(E,A+42)+b;Object.assign(_,{versionMadeBy:B,msDosCompatible:U,compressedSize:0,uncompressedSize:0,commentLength:G,directory:j,offset:Z,diskNumberStart:ba(E,A+34),internalFileAttribute:ba(E,A+36),externalFileAttribute:bs(E,A+38),rawFilename:V,filenameUTF8:W,commentUTF8:Q,rawExtraField:C.subarray(I,L)});let J=jl(n,t,"decodeText")||QN,he=W?Qpe:D||Jpe,xe=Q?Qpe:O||Jpe,re=J(V,he);re===eo&&(re=QN(V,he));let _e=J(Y,xe);_e===eo&&(_e=QN(Y,xe)),Object.assign(_,{rawComment:Y,filename:re,comment:_e,directory:j||re.endsWith(bS)}),T=Math.max(Z,T),await n_e(_,_,E,A+6);let ye=new l0(_);ye.getData=(ve,Me)=>_.getData(ve,ye,Me),A=k;let{onprogress:De}=t;if(De)try{await De(N+1,x,new l0(_))}catch{}yield ye}let R=jl(n,t,"extractPrependedData"),M=jl(n,t,"extractAppendedData");return R&&(n.prependedData=T>0?await Ha(i,0,T):new Uint8Array),n.comment=f?await Ha(i,u+22,f):new Uint8Array,M&&(n.appendedData=d<i.size?await Ha(i,d,i.size-d):new Uint8Array),!0}async getEntries(t={}){let n=[];for await(let i of this.getEntriesGenerator(t))n.push(i);return n}async close(){}};var Hq=class{constructor(t,n,i){Object.assign(this,{reader:t,config:n,options:i})}async getData(t,n,i={}){let o=this,{reader:r,offset:s,diskNumberStart:a,extraFieldAES:c,compressionMethod:u,config:f,bitFlag:d,signature:p,rawLastModDate:g,uncompressedSize:m,compressedSize:x}=o,b=n.localDirectory={},T=await Ha(r,s,30,a),A=Ta(T),C=jl(o,i,"password"),E=jl(o,i,"rawPassword");if(C=C&&C.length&&C,E=E&&E.length&&E,c&&c.originalCompressionMethod!=99)throw new Error(Zpe);if(u!=0&&u!=8)throw new Error(Zpe);if(bs(A,0)!=67324752)throw new Error(wnt);t_e(b,A,4),b.rawExtraField=b.extraFieldLength?await Ha(r,s+30+b.filenameLength,b.extraFieldLength,a):new Uint8Array,await n_e(o,b,A,4,!0),Object.assign(n,{lastAccessDate:b.lastAccessDate,creationDate:b.creationDate});let v=o.encrypted&&b.encrypted,D=v&&!c;if(v){if(!D&&c.strength===eo)throw new Error(Pnt);if(!C&&!E)throw new Error(Int)}let O=s+30+b.filenameLength+b.extraFieldLength,R=x,M=r.readable;Object.assign(M,{diskNumberStart:a,offset:O,size:R});let N=jl(o,i,"signal"),_=jl(o,i,"checkPasswordOnly");_&&(t=new WritableStream),t=W4(t),await Lm(t,m);let{writable:S}=t,{onstart:w,onprogress:I,onend:L}=i,B={options:{codecType:N4,password:C,rawPassword:E,zipCrypto:D,encryptionStrength:c&&c.strength,signed:jl(o,i,"checkSignature"),passwordVerification:D&&(d.dataDescriptor?g>>>8&255:p>>>24&255),signature:p,compressed:u!=0,encrypted:v,useWebWorkers:jl(o,i,"useWebWorkers"),useCompressionStream:jl(o,i,"useCompressionStream"),transferStreams:jl(o,i,"transferStreams"),checkPasswordOnly:_},config:f,streamOptions:{signal:N,size:R,onstart:w,onprogress:I,onend:L}},U=0;try{({outputSize:U}=await B4({readable:M,writable:S},B))}catch(V){if(!_||V.message!=X_)throw V}finally{let V=jl(o,i,"preventClose");S.size+=U,!V&&!S.locked&&await S.getWriter().close()}return _?eo:t.getData?t.getData():S}};function t_e(e,t,n){let i=e.rawBitFlag=ba(t,n+2),o=(i&1)==1,r=bs(t,n+6);Object.assign(e,{encrypted:o,version:ba(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:knt(r),filenameLength:ba(t,n+22),extraFieldLength:ba(t,n+24)})}async function n_e(e,t,n,i,o){let{rawExtraField:r}=t,s=t.extraField=new Map,a=Ta(new Uint8Array(r)),c=0;try{for(;c<r.length;){let T=ba(a,c),A=ba(a,c+2);s.set(T,{type:T,data:r.slice(c+4,c+4+A)}),c+=4+A}}catch{}let u=ba(n,i+4);Object.assign(t,{signature:bs(n,i+10),uncompressedSize:bs(n,i+18),compressedSize:bs(n,i+14)});let f=s.get(1);f&&(Mnt(f,t),t.extraFieldZip64=f);let d=s.get(28789);d&&(await e_e(d,Iq,Pq,t,e),t.extraFieldUnicodePath=d);let p=s.get(25461);p&&(await e_e(p,Rq,Oq,t,e),t.extraFieldUnicodeComment=p);let g=s.get(39169);g?(Lnt(g,t,u),t.extraFieldAES=g):t.compressionMethod=u;let m=s.get(10);m&&(Nnt(m,t),t.extraFieldNTFS=m);let x=s.get(21589);x&&(Fnt(x,t,o),t.extraFieldExtendedTimestamp=x);let b=s.get(6534);b&&(t.extraFieldUSDZ=b)}function Mnt(e,t){t.zip64=!0;let n=Ta(e.data),i=Rnt.filter(([o,r])=>t[o]==r);for(let o=0,r=0;o<i.length;o++){let[s,a]=i[o];if(t[s]==a){let c=Ont[a];t[s]=e[s]=c.getValue(n,r),r+=c.bytes}else if(e[s])throw new Error(Dnt)}}async function e_e(e,t,n,i,o){let r=Ta(e.data),s=new Y_;s.append(o[n]);let a=Ta(new Uint8Array(4));a.setUint32(0,s.get(),!0);let c=bs(r,1);Object.assign(e,{version:DS(r,0),[t]:QN(e.data.subarray(5)),valid:!o.bitFlag.languageEncodingFlag&&c==bs(a,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Lnt(e,t,n){let i=Ta(e.data),o=DS(i,4);Object.assign(e,{vendorVersion:DS(i,0),vendorId:DS(i,2),strength:o,originalCompressionMethod:n,compressionMethod:ba(i,5)}),t.compressionMethod=e.compressionMethod}function Nnt(e,t){let n=Ta(e.data),i=4,o;try{for(;i<e.data.length&&!o;){let r=ba(n,i),s=ba(n,i+2);r==1&&(o=e.data.slice(i+4,i+4+s)),i+=4+s}}catch{}try{if(o&&o.length==24){let r=Ta(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),c=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:c});let u=zq(s),f=zq(a),d=zq(c),p={lastModDate:u,lastAccessDate:f,creationDate:d};Object.assign(e,p),Object.assign(t,p)}}catch{}}function Fnt(e,t,n){let i=Ta(e.data),o=DS(i,0),r=[],s=[];n?((o&1)==1&&(r.push(wS),s.push(q4)),(o&2)==2&&(r.push(JN),s.push(Xpe)),(o&4)==4&&(r.push(eF),s.push(Kpe))):e.data.length>=5&&(r.push(wS),s.push(q4));let a=1;r.forEach((c,u)=>{if(e.data.length>=a+4){let f=bs(i,a);t[c]=e[c]=new Date(f*1e3);let d=s[u];e[d]=f}a+=4})}async function Bnt(e,t,n,i,o){let r=new Uint8Array(4),s=Ta(r);Vnt(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(u){let f=n-u,d=await Ha(e,f,u);for(let p=d.length-i;p>=0;p--)if(d[p]==r[0]&&d[p+1]==r[1]&&d[p+2]==r[2]&&d[p+3]==r[3])return{offset:f+p,buffer:d.slice(p,p+i).buffer}}}function jl(e,t,n){return t[n]===eo?e.options[n]:t[n]}function knt(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function zq(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function DS(e,t){return e.getUint8(t)}function ba(e,t){return e.getUint16(t,!0)}function bs(e,t){return e.getUint32(t,!0)}function Y4(e,t){return Number(e.getBigUint64(t,!0))}function Vnt(e,t,n){e.setUint32(t,n,!0)}function Ta(e){return new DataView(e.buffer)}var Gnt="File already exists",Wnt="Zip file comment exceeds 64KB",jnt="File entry comment exceeds 64KB",qnt="File entry name exceeds 64KB",r_e="Version exceeds 65535",Ynt="The strength must equal 1, 2, or 3",Xnt="Extra field type exceeds 65535",Knt="Extra field data exceeds 64KB",nY="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",s_e=new Uint8Array([7,0,2,0,65,69,3,0,0]),eY=0,a_e=[],iH=class{constructor(t,n={}){t=W4(t);let i=t.availableSize!==eo&&t.availableSize>0&&t.availableSize!==1/0&&t.maxSize!==eo&&t.maxSize>0&&t.maxSize!==1/0;Object.assign(this,{writer:t,addSplitZipSignature:i,options:n,config:GN(),files:new Map,filenames:new Set,offset:t.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new Set,bufferedWrites:0})}async add(t="",n,i={}){let o=this,{pendingAddFileCalls:r,config:s}=o;eY<s.maxWorkers?eY++:await new Promise(c=>a_e.push(c));let a;try{if(t=t.trim(),o.filenames.has(t))throw new Error(Gnt);return o.filenames.add(t),a=Znt(o,t,n,i),r.add(a),await a}catch(c){throw o.filenames.delete(t),c}finally{r.delete(a);let c=a_e.shift();c?c():eY--}}async close(t=new Uint8Array,n={}){let i=this,{pendingAddFileCalls:o,writer:r}=this,{writable:s}=r;for(;o.size;)await Promise.allSettled(Array.from(o));return await rit(this,t,n),qo(i,n,"preventClose")||await s.getWriter().close(),r.getData?r.getData():s}};async function Znt(e,t,n,i){t=t.trim(),i.directory&&!t.endsWith(bS)?t+=bS:i.directory=t.endsWith(bS);let o=qo(e,i,"encodeText",CS),r=o(t);if(r===eo&&(r=CS(t)),Qi(r)>65535)throw new Error(qnt);let s=i.comment||"",a=o(s);if(a===eo&&(a=CS(s)),Qi(a)>65535)throw new Error(jnt);let c=qo(e,i,"version",20);if(c>65535)throw new Error(r_e);let u=qo(e,i,"versionMadeBy",20);if(u>65535)throw new Error(r_e);let f=qo(e,i,wS,new Date),d=qo(e,i,JN),p=qo(e,i,eF),g=qo(e,i,kq,!0),m=qo(e,i,Fq,0),x=qo(e,i,Bq,0),b=qo(e,i,"password"),T=qo(e,i,"rawPassword"),A=qo(e,i,"encryptionStrength",3),C=qo(e,i,"zipCrypto"),E=qo(e,i,"extendedTimestamp",!0),v=qo(e,i,"keepOrder",!0),D=qo(e,i,"level"),O=qo(e,i,"useWebWorkers"),R=qo(e,i,"bufferedWrite"),M=qo(e,i,"dataDescriptorSignature",!1),N=qo(e,i,"signal"),_=qo(e,i,"useCompressionStream"),S=qo(e,i,"dataDescriptor",!0),w=qo(e,i,Vq);if(b!==eo&&A!==eo&&(A<1||A>3))throw new Error(Ynt);let I=new Uint8Array,{extraField:L}=i;if(L){let De=0,ve=0;L.forEach(Me=>De+=4+Qi(Me)),I=new Uint8Array(De),L.forEach((Me,Oe)=>{if(Oe>65535)throw new Error(Xnt);if(Qi(Me)>65535)throw new Error(Knt);Rs(I,new Uint16Array([Oe]),ve),Rs(I,new Uint16Array([Qi(Me)]),ve+2),Rs(I,Me,ve+4),ve+=4+Qi(Me)})}let B=0,U=0,V=0,G=w===!0;n&&(n=G4(n),await Lm(n),n.size===eo?(S=!0,(w||w===eo)&&(w=!0,V=B=4294967296)):(V=n.size,B=sit(V)));let{diskOffset:k,diskNumber:Y,maxSize:W}=e.writer,Q=G||V>4294967295,j=G||B>4294967295,Z=G||e.offset+e.pendingEntriesSize-k>4294967295,he=qo(e,i,"supportZip64SplitFile",!0)&&G||Y+Math.ceil(e.pendingEntriesSize/W)>65535;if(Z||Q||j||he){if(w===!1||!v)throw new Error(nY);w=!0}w=w||!1,i=Object.assign({},i,{rawFilename:r,rawComment:a,version:c,versionMadeBy:u,lastModDate:f,lastAccessDate:d,creationDate:p,rawExtraField:I,zip64:w,zip64UncompressedSize:Q,zip64CompressedSize:j,zip64Offset:Z,zip64DiskNumberStart:he,password:b,rawPassword:T,level:!_&&e.config.CompressionStream===eo&&e.config.CompressionStreamNative===eo?0:D,useWebWorkers:O,encryptionStrength:A,extendedTimestamp:E,zipCrypto:C,bufferedWrite:R,keepOrder:v,dataDescriptor:S,dataDescriptorSignature:M,signal:N,msDosCompatible:g,internalFileAttribute:m,externalFileAttribute:x,useCompressionStream:_});let xe=Jnt(i),re=tit(i),_e=Qi(xe.localHeaderArray,re.dataDescriptorArray);U=_e+B,e.options.usdz&&(U+=U+64),e.pendingEntriesSize+=U;let ye;try{ye=await $nt(e,t,n,{headerInfo:xe,dataDescriptorInfo:re,metadataSize:_e},i)}finally{e.pendingEntriesSize-=U}return Object.assign(ye,{name:t,comment:s,extraField:L}),new l0(ye)}async function $nt(e,t,n,i,o){let{files:r,writer:s}=e,{keepOrder:a,dataDescriptor:c,signal:u}=o,{headerInfo:f}=i,{usdz:d}=e.options,p=Array.from(r.values()).pop(),g={},m,x,b,T,A,C,E;r.set(t,g);try{let R;a&&(R=p&&p.lock,v()),(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&a||!c)&&!d?(C=new null,E=new Response(C.readable).blob(),C.writable.size=0,m=!0,e.bufferedWrites++,await Lm(s)):(C=s,await D()),await Lm(C);let{writable:M}=s,{diskOffset:N}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;let S=new Uint8Array(4),w=Ga(S);$i(w,0,134695760),await Nm(M,S),e.offset+=4}d&&eit(i,e.offset-N),m||(await R,await O(M));let{diskNumber:_}=s;if(A=!0,g.diskNumberStart=_,g=await Qnt(n,C,g,i,e.config,o),A=!1,r.set(t,g),g.filename=t,m){await C.writable.getWriter().close();let S=await E;await R,await D(),T=!0,c||(S=await iit(g,S,M,o)),await O(M),g.diskNumberStart=s.diskNumber,N=s.diskOffset,await S.stream().pipeTo(M,{preventClose:!0,preventAbort:!0,signal:u}),M.size+=S.size,T=!1}if(g.offset=e.offset-N,g.zip64)oit(g,o);else if(g.offset>4294967295)throw new Error(nY);return e.offset+=g.size,g}catch(R){if(m&&T||!m&&A){if(e.hasCorruptedEntries=!0,R)try{R.corruptedEntry=!0}catch{}m?e.offset+=C.writable.size:e.offset=C.writable.size}throw r.delete(t),R}finally{m&&e.bufferedWrites--,b&&b(),x&&x()}function v(){g.lock=new Promise(R=>b=R)}async function D(){e.writerLocked=!0;let{lockWriter:R}=e;e.lockWriter=new Promise(M=>x=()=>{e.writerLocked=!1,M()}),await R}async function O(R){Qi(f.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Nm(R,new Uint8Array))}}async function Qnt(e,t,{diskNumberStart:n,lock:i},o,r,s){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:u}=o,{localHeaderArray:f,headerArray:d,lastModDate:p,rawLastModDate:g,encrypted:m,compressed:x,version:b,compressionMethod:T,rawExtraFieldExtendedTimestamp:A,extraFieldExtendedTimestampFlag:C,rawExtraFieldNTFS:E,rawExtraFieldAES:v}=a,{dataDescriptorArray:D}=c,{rawFilename:O,lastAccessDate:R,creationDate:M,password:N,rawPassword:_,level:S,zip64:w,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:B,zip64DiskNumberStart:U,zipCrypto:V,dataDescriptor:G,directory:k,versionMadeBy:Y,rawComment:W,rawExtraField:Q,useWebWorkers:j,onstart:Z,onprogress:J,onend:he,signal:xe,encryptionStrength:re,extendedTimestamp:_e,msDosCompatible:ye,internalFileAttribute:De,externalFileAttribute:ve,useCompressionStream:Me}=s,Oe={lock:i,versionMadeBy:Y,zip64:w,directory:!!k,filenameUTF8:!0,rawFilename:O,commentUTF8:!0,rawComment:W,rawExtraFieldExtendedTimestamp:A,rawExtraFieldNTFS:E,rawExtraFieldAES:v,rawExtraField:Q,extendedTimestamp:_e,msDosCompatible:ye,internalFileAttribute:De,externalFileAttribute:ve,diskNumberStart:n},ct=0,Ke=0,_t,{writable:Ze}=t;if(e){e.chunkSize=A4(r),await Nm(Ze,f);let gt=e.readable,yt=gt.size=e.size,Kt={options:{codecType:L4,level:S,rawPassword:_,password:N,encryptionStrength:re,zipCrypto:m&&V,passwordVerification:m&&V&&g>>8&255,signed:!0,compressed:x,encrypted:m,useWebWorkers:j,useCompressionStream:Me,transferStreams:!1},config:r,streamOptions:{signal:xe,size:yt,onstart:Z,onprogress:J,onend:he}},Te=await B4({readable:gt,writable:Ze},Kt);Ke=Te.inputSize,ct=Te.outputSize,_t=Te.signature,Ze.size+=Ke}else await Nm(Ze,f);let Dt;if(w){let gt=4;I&&(gt+=8),L&&(gt+=8),B&&(gt+=8),U&&(gt+=4),Dt=new Uint8Array(gt)}else Dt=new Uint8Array;return nit({signature:_t,rawExtraFieldZip64:Dt,compressedSize:ct,uncompressedSize:Ke,headerInfo:a,dataDescriptorInfo:c},s),G&&await Nm(Ze,D),Object.assign(Oe,{uncompressedSize:Ke,compressedSize:ct,lastModDate:p,rawLastModDate:g,creationDate:M,lastAccessDate:R,encrypted:m,size:u+ct,compressionMethod:T,version:b,headerArray:d,signature:_t,rawExtraFieldZip64:Dt,extraFieldExtendedTimestampFlag:C,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:B,zip64DiskNumberStart:U}),Oe}function Jnt(e){let{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:o,rawPassword:r,password:s,level:a,zip64:c,zipCrypto:u,dataDescriptor:f,directory:d,rawExtraField:p,encryptionStrength:g,extendedTimestamp:m}=e,x=a!==0&&!d,b=!!(s&&Qi(s)||r&&Qi(r)),T=e.version,A;if(b&&!u){A=new Uint8Array(Qi(s_e)+2);let U=Ga(A);co(U,0,39169),Rs(A,s_e,2),oH(U,8,g)}else A=new Uint8Array;let C,E,v;if(m){E=new Uint8Array(9+(i?4:0)+(o?4:0));let U=Ga(E);co(U,0,21589),co(U,2,Qi(E)-4),v=1+(i?2:0)+(o?4:0),oH(U,4,v);let V=5;$i(U,V,Math.floor(n.getTime()/1e3)),V+=4,i&&($i(U,V,Math.floor(i.getTime()/1e3)),V+=4),o&&$i(U,V,Math.floor(o.getTime()/1e3));try{C=new Uint8Array(36);let G=Ga(C),k=tY(n);co(G,0,10),co(G,2,32),co(G,8,1),co(G,10,24),ql(G,12,k),ql(G,20,tY(i)||k),ql(G,28,tY(o)||k)}catch{C=new Uint8Array}}else C=E=new Uint8Array;let D=2048;f&&(D=D|8);let O=0;x&&(O=8),c&&(T=T>45?T:45),b&&(D=D|1,u||(T=T>51?T:51,O=99,x&&(A[9]=8)));let R=new Uint8Array(26),M=Ga(R);co(M,0,T),co(M,2,D),co(M,4,O);let N=new Uint32Array(1),_=Ga(N),S;n<pq?S=pq:n>mq?S=mq:S=n,co(_,0,(S.getHours()<<6|S.getMinutes())<<5|S.getSeconds()/2),co(_,2,(S.getFullYear()-1980<<4|S.getMonth()+1)<<5|S.getDate());let w=N[0];$i(M,6,w),co(M,22,Qi(t));let I=Qi(A,E,C,p);co(M,24,I);let L=new Uint8Array(30+Qi(t)+I),B=Ga(L);return $i(B,0,67324752),Rs(L,R,4),Rs(L,t,30),Rs(L,A,30+Qi(t)),Rs(L,E,30+Qi(t,A)),Rs(L,C,30+Qi(t,A,E)),Rs(L,p,30+Qi(t,A,E,C)),{localHeaderArray:L,headerArray:R,headerView:M,lastModDate:n,rawLastModDate:w,encrypted:b,compressed:x,version:T,compressionMethod:O,extraFieldExtendedTimestampFlag:v,rawExtraFieldExtendedTimestamp:E,rawExtraFieldNTFS:C,rawExtraFieldAES:A,extraFieldLength:I}}function eit(e,t){let{headerInfo:n}=e,{localHeaderArray:i,extraFieldLength:o}=n,r=Ga(i),s=64-(t+Qi(i))%64;s<4&&(s+=64);let a=new Uint8Array(s),c=Ga(a);co(c,0,6534),co(c,2,s-2);let u=i;n.localHeaderArray=i=new Uint8Array(Qi(u)+s),Rs(i,u),Rs(i,a,Qi(u)),r=Ga(i),co(r,28,o+s),e.metadataSize+=s}function tit(e){let{zip64:t,dataDescriptor:n,dataDescriptorSignature:i}=e,o=new Uint8Array,r,s=0;return n&&(o=new Uint8Array(t?i?24:20:i?16:12),r=Ga(o),i&&(s=4,$i(r,0,134695760))),{dataDescriptorArray:o,dataDescriptorView:r,dataDescriptorOffset:s}}function nit(e,t){let{signature:n,rawExtraFieldZip64:i,compressedSize:o,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:a}=e,{headerView:c,encrypted:u}=s,{dataDescriptorView:f,dataDescriptorOffset:d}=a,{zip64:p,zip64UncompressedSize:g,zip64CompressedSize:m,zipCrypto:x,dataDescriptor:b}=t;if((!u||x)&&n!==eo&&($i(c,10,n),b&&$i(f,d,n)),p){let T=Ga(i);co(T,0,1),co(T,2,Qi(i)-4);let A=4;g&&($i(c,18,4294967295),ql(T,A,BigInt(r)),A+=8),m&&($i(c,14,4294967295),ql(T,A,BigInt(o))),b&&(ql(f,d+4,BigInt(o)),ql(f,d+12,BigInt(r)))}else $i(c,14,o),$i(c,18,r),b&&($i(f,d+4,o),$i(f,d+8,r))}async function iit(e,t,n,{zipCrypto:i}){let o;o=await t.slice(0,26).arrayBuffer(),o.byteLength!=26&&(o=o.slice(0,26));let r=new DataView(o);return(!e.encrypted||i)&&$i(r,14,e.signature),e.zip64?($i(r,18,4294967295),$i(r,22,4294967295)):($i(r,18,e.compressedSize),$i(r,22,e.uncompressedSize)),await Nm(n,new Uint8Array(o)),t.slice(o.byteLength)}function oit(e,t){let{rawExtraFieldZip64:n,offset:i,diskNumberStart:o}=e,{zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:a,zip64DiskNumberStart:c}=t,u=Ga(n),f=4;r&&(f+=8),s&&(f+=8),a&&(ql(u,f,BigInt(i)),f+=8),c&&$i(u,f,o)}async function rit(e,t,n){let{files:i,writer:o}=e,{diskOffset:r,writable:s}=o,{diskNumber:a}=o,c=0,u=0,f=e.offset-r,d=i.size;for(let[,v]of i){let{rawFilename:D,rawExtraFieldZip64:O,rawExtraFieldAES:R,rawComment:M,rawExtraFieldNTFS:N,rawExtraField:_,extendedTimestamp:S,extraFieldExtendedTimestampFlag:w,lastModDate:I}=v,L;if(S){L=new Uint8Array(9);let B=Ga(L);co(B,0,21589),co(B,2,5),oH(B,4,w),$i(B,5,Math.floor(I.getTime()/1e3))}else L=new Uint8Array;v.rawExtraFieldCDExtendedTimestamp=L,u+=46+Qi(D,M,O,R,N,L,_)}let p=new Uint8Array(u),g=Ga(p);await Lm(o);let m=0;for(let[v,D]of Array.from(i.values()).entries()){let{offset:O,rawFilename:R,rawExtraFieldZip64:M,rawExtraFieldAES:N,rawExtraFieldCDExtendedTimestamp:_,rawExtraFieldNTFS:S,rawExtraField:w,rawComment:I,versionMadeBy:L,headerArray:B,directory:U,zip64:V,zip64UncompressedSize:G,zip64CompressedSize:k,zip64DiskNumberStart:Y,zip64Offset:W,msDosCompatible:Q,internalFileAttribute:j,externalFileAttribute:Z,diskNumberStart:J,uncompressedSize:he,compressedSize:xe}=D,re=Qi(M,N,_,S,w);$i(g,c,33639248),co(g,c+4,L);let _e=Ga(B);G||$i(_e,18,he),k||$i(_e,14,xe),Rs(p,B,c+6),co(g,c+30,re),co(g,c+32,Qi(I)),co(g,c+34,V&&Y?65535:J),co(g,c+36,j),Z?$i(g,c+38,Z):U&&Q&&oH(g,c+38,16),$i(g,c+42,V&&W?4294967295:O),Rs(p,R,c+46),Rs(p,M,c+46+Qi(R)),Rs(p,N,c+46+Qi(R,M)),Rs(p,_,c+46+Qi(R,M,N)),Rs(p,S,c+46+Qi(R,M,N,_)),Rs(p,w,c+46+Qi(R,M,N,_,S)),Rs(p,I,c+46+Qi(R)+re);let ye=46+Qi(R,I)+re;if(c-m>o.availableSize&&(o.availableSize=0,await Nm(s,p.slice(m,c)),m=c),c+=ye,n.onprogress)try{await n.onprogress(v+1,i.size,new l0(D))}catch{}}await Nm(s,m?p.slice(m):p);let x=o.diskNumber,{availableSize:b}=o;b<22&&x++;let T=qo(e,n,"zip64");if(f>4294967295||u>4294967295||d>65535||x>65535){if(T===!1)throw new Error(nY);T=!0}let A=new Uint8Array(T?98:22),C=Ga(A);c=0,T&&($i(C,0,101075792),ql(C,4,BigInt(44)),co(C,12,45),co(C,14,45),$i(C,16,x),$i(C,20,a),ql(C,24,BigInt(d)),ql(C,32,BigInt(d)),ql(C,40,BigInt(u)),ql(C,48,BigInt(f)),$i(C,56,117853008),ql(C,64,BigInt(f)+BigInt(u)),$i(C,72,x+1),qo(e,n,"supportZip64SplitFile",!0)&&(x=65535,a=65535),d=65535,f=4294967295,u=4294967295,c+=76),$i(C,c,101010256),co(C,c+4,x),co(C,c+6,a),co(C,c+8,d),co(C,c+10,d),$i(C,c+12,u),$i(C,c+16,f);let E=Qi(t);if(E)if(E<=65535)co(C,c+20,E);else throw new Error(Wnt);await Nm(s,A),E&&await Nm(s,t)}async function Nm(e,t){let n=e.getWriter();try{await n.ready,e.size+=Qi(t),await n.write(t)}finally{n.releaseLock()}}function tY(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function qo(e,t,n,i){let o=t[n]===eo?e.options[n]:t[n];return o===eo?i:o}function sit(e){return e+5*(Math.floor(e/16383)+1)}function oH(e,t,n){e.setUint8(t,n)}function co(e,t,n){e.setUint16(t,n,!0)}function $i(e,t,n){e.setUint32(t,n,!0)}function ql(e,t,n){e.setBigUint64(t,n,!0)}function Rs(e,t,n){e.set(t,n)}function Ga(e){return new DataView(e.buffer)}function Qi(...e){let t=0;return e.forEach(n=>n&&(t+=n.length)),t}TS({Deflate:qme,Inflate:mpe});var iY=32,ait="http://www.opengis.net/kml/2.2",bh="http://www.google.com/kml/ext/2.2",cit="http://www.w3.org/2000/xmlns/";function rH(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var lit=/^data:image\/([^,;]+)/;rH.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof we){if(e=we.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(lit);n=`texture_${++this._count}`,l(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function uit(e,t){return function(n){e._files[t]=n}}rH.prototype.model=function(e,t){let n=this._modelCallback;if(!l(n))throw new ce("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(uit(this,r))}return o};Object.defineProperties(rH.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function sH(e){this._time=e}sH.prototype.get=function(e,t,n){let i;return l(e)&&(i=l(e.getValue)?e.getValue(this._time,n):e),y(i,t)};sH.prototype.getColor=function(e,t){let n=this.get(e,t);if(l(n))return xT(n)};sH.prototype.getMaterialType=function(e){if(l(e))return e.getType(this._time)};function oY(){this._ids={},this._styles={},this._count=0}oY.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(l(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};oY.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function f_e(){this._ids={}}f_e.prototype.get=function(e){if(!l(e))return this.get(qn());let t=this._ids;return l(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function rY(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=rY._createState(e),o=t.values.filter(function(u){return!l(u.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(cit,"xmlns:gx",bh);let a=r.createElement("Document");s.appendChild(a),h_e(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let f=new XMLSerializer().serializeToString(i.kmlDoc);return n?fit(f,c.files):{kml:f,externalFiles:c.files}})}function fit(e,t){let n=rn("ThirdParty/Workers/z-worker-pako.js");TS({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new $N,o=new iH(i);return o.add("doc.kml",new U4(e)).then(function(){let r=Object.keys(t);return d_e(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function d_e(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new K_(n[o])).then(function(){return d_e(e,t,n,i+1)})}rY._createState=function(e){let t=e.entities,n=new oY,i=t.computeAvailability(),o=l(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===Ue.MINIMUM_VALUE?r.stop===Ue.MAXIMUM_VALUE?r=new Sn:K.addSeconds(r.stop,-10*s,r.start):r.stop===Ue.MAXIMUM_VALUE&&K.addSeconds(r.start,10*s,r.stop);let a=new rH(e.modelCallback);return{kmlDoc:document.implementation.createDocument(ait,"kml"),ellipsoid:y(e.ellipsoid,ee.default),idManager:new f_e,styleCache:n,externalFileHandler:a,time:o,valueGetter:new sH(o),sampleDuration:s,defaultAvailability:new Gr([r])}};function h_e(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,u,f;for(let d=0;d<a;++d){let p=n[d];c=[],u=[],f=[],dit(e,p,u,f),hit(e,p.polyline,u,f),u_e(e,p.rectangle,u,f,c),u_e(e,p.polygon,u,f,c),git(e,p,p.model,u,f);let g,m=p.availability;l(m)&&(g=i.createElement("TimeSpan"),K.equals(m.start,Ue.MINIMUM_VALUE)||g.appendChild(pn(i,"begin",K.toIso8601(m.start))),K.equals(m.stop,Ue.MAXIMUM_VALUE)||g.appendChild(pn(i,"end",K.toIso8601(m.stop))));for(let T=0;T<c.length;++T){let A=c[T];A.setAttribute("id",s.get(p.id)),A.appendChild(pn(i,"name",p.name)),A.appendChild(pn(i,"visibility",p.show)),A.appendChild(pn(i,"description",p.description)),l(g)&&A.appendChild(g),t.appendChild(A)}let x=u.length;if(x>0){let T=i.createElement("Placemark");T.setAttribute("id",s.get(p.id));let A=p.name,C=p.label;if(l(C)){let v=i.createElement("LabelStyle"),D=r.get(C.text);A=l(D)&&D.length>0?D:A;let O=r.getColor(C.fillColor);l(O)&&(v.appendChild(pn(i,"color",O)),v.appendChild(pn(i,"colorMode","normal")));let R=r.get(C.scale);l(R)&&v.appendChild(pn(i,"scale",R)),f.push(v)}T.appendChild(pn(i,"name",A)),T.appendChild(pn(i,"visibility",p.show)),T.appendChild(pn(i,"description",p.description)),l(g)&&T.appendChild(g),t.appendChild(T);let E=f.length;if(E>0){let v=i.createElement("Style");for(let D=0;D<E;++D)v.appendChild(f[D]);T.appendChild(pn(i,"styleUrl",o.get(v)))}if(u.length===1)T.appendChild(u[0]);else if(u.length>1){let v=i.createElement("MultiGeometry");for(let D=0;D<x;++D)v.appendChild(u[D]);T.appendChild(v)}}let b=p._children;if(b.length>0){let T=i.createElement("Folder");T.setAttribute("id",s.get(p.id)),T.appendChild(pn(i,"name",p.name)),T.appendChild(pn(i,"visibility",p.show)),T.appendChild(pn(i,"description",p.description)),t.appendChild(T),h_e(e,T,b)}}}var Yl=new h,rl=new fe,xh=new K;function dit(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!l(a)&&!l(t.path))return;let c=t.position;if(!c.isConstant){m_e(e,t,a,n,i);return}s.get(c,void 0,Yl);let u=pn(o,"coordinates",yT(Yl,r)),f=o.createElement("Point"),d=o.createElement("altitudeMode");d.appendChild(bT(e,a.heightReference)),f.appendChild(d),f.appendChild(u),n.push(f);let p=a instanceof rc?__e(e,a):p_e(e,a);i.push(p)}function m_e(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,u=t.position,f=!0;u instanceof _a?(c=u.intervals,f=!1):c=y(t.availability,e.defaultAvailability);let d=n instanceof Lp,p,g,m,x=[];for(p=0;p<c.length;++p){let T=c.get(p),A=f?u:T.data,C=r.createElement("altitudeMode");A instanceof Dm?(A=A._value,C.appendChild(bT(e,je.CLAMP_TO_GROUND))):l(n)?C.appendChild(bT(e,n.heightReference)):C.appendChild(bT(e,je.NONE));let E=[],v=[];if(A.isConstant){a.get(A,void 0,Yl);let O=pn(r,"coordinates",yT(Yl,s));E.push(K.toIso8601(T.start)),v.push(O),E.push(K.toIso8601(T.stop)),v.push(O)}else if(A instanceof ya)for(m=A._property._times,g=0;g<m.length;++g)E.push(K.toIso8601(m[g])),A.getValueInReferenceFrame(m[g],Hi.FIXED,Yl),v.push(yT(Yl,s));else if(A instanceof Lu){m=A._times;let O=A._values;for(g=0;g<m.length;++g)E.push(K.toIso8601(m[g])),h.fromArray(O,g*3,Yl),v.push(yT(Yl,s))}else{let O=e.sampleDuration;T.start.clone(xh),T.isStartIncluded||K.addSeconds(xh,O,xh);let R=T.stop;for(;K.lessThan(xh,R);)A.getValue(xh,Yl),E.push(K.toIso8601(xh)),v.push(yT(Yl,s)),K.addSeconds(xh,O,xh);T.isStopIncluded&&K.equals(xh,R)&&(A.getValue(xh,Yl),E.push(K.toIso8601(xh)),v.push(yT(Yl,s)))}let D=r.createElementNS(bh,"Track");D.appendChild(C);for(let O=0;O<E.length;++O){let R=pn(r,"when",E[O]),M=pn(r,"coord",v[O],bh);D.appendChild(R),D.appendChild(M)}d&&D.appendChild(g_e(e,n)),x.push(D)}if(x.length===1)i.push(x[0]);else if(x.length>1){let T=r.createElementNS(bh,"MultiTrack");for(p=0;p<x.length;++p)T.appendChild(x[p]);i.push(T)}if(l(n)&&!d){let T=n instanceof rc?__e(e,n):p_e(e,n);o.push(T)}let b=t.path;if(l(b)){let T=a.get(b.width),A=b.material;if(l(A)||l(T)){let C=r.createElement("LineStyle");l(T)&&C.appendChild(pn(r,"width",T)),sY(e,A,C),o.push(C)}}}function p_e(e,t){let n=e.kmlDoc,i=e.valueGetter,o=n.createElement("IconStyle"),r=i.getColor(t.color);l(r)&&(o.appendChild(pn(n,"color",r)),o.appendChild(pn(n,"colorMode","normal")));let s=i.get(t.pixelSize);return l(s)&&o.appendChild(pn(n,"scale",s/iY)),o}function __e(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("IconStyle"),s=i.get(t.image);if(l(s)){s=o.texture(s);let p=n.createElement("Icon");p.appendChild(pn(n,"href",s));let g=i.get(t.imageSubRegion);l(g)&&(p.appendChild(pn(n,"x",g.x,bh)),p.appendChild(pn(n,"y",g.y,bh)),p.appendChild(pn(n,"w",g.width,bh)),p.appendChild(pn(n,"h",g.height,bh))),r.appendChild(p)}let a=i.getColor(t.color);l(a)&&(r.appendChild(pn(n,"color",a)),r.appendChild(pn(n,"colorMode","normal")));let c=i.get(t.scale);l(c)&&r.appendChild(pn(n,"scale",c));let u=i.get(t.pixelOffset);if(l(u)){c=y(c,1),z.divideByScalar(u,c,u);let p=i.get(t.width,iY),g=i.get(t.height,iY),m=i.get(t.horizontalOrigin,xi.CENTER);m===xi.CENTER?u.x-=p*.5:m===xi.RIGHT&&(u.x-=p);let x=i.get(t.verticalOrigin,Mn.CENTER);x===Mn.TOP?u.y+=g:x===Mn.CENTER&&(u.y+=g*.5);let b=n.createElement("hotSpot");b.setAttribute("x",-u.x),b.setAttribute("y",u.y),b.setAttribute("xunits","pixels"),b.setAttribute("yunits","pixels"),r.appendChild(b)}let f=i.get(t.rotation),d=i.get(t.alignedAxis);return l(f)&&h.equals(h.UNIT_Z,d)&&(f=P.toDegrees(-f),f===0&&(f=360),r.appendChild(pn(n,"heading",f))),r}function hit(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter;if(!l(t))return;let a=o.createElement("LineString"),c=o.createElement("altitudeMode"),u=s.get(t.clampToGround,!1),f;u?(a.appendChild(pn(o,"tessellate",!0)),f=o.createTextNode("clampToGround")):f=o.createTextNode("absolute"),c.appendChild(f),a.appendChild(c);let d=t.positions,p=s.get(d),g=pn(o,"coordinates",yT(p,r));a.appendChild(g);let m=s.get(t.zIndex);u&&l(m)&&a.appendChild(pn(o,"drawOrder",m,bh)),n.push(a);let x=o.createElement("LineStyle"),b=s.get(t.width);l(b)&&x.appendChild(pn(o,"width",b)),sY(e,t.material,x),i.push(x)}function mit(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0);n>0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],u=[se.northeast,se.southeast,se.southwest,se.northwest];for(let g=0;g<4;++g)u[g](a,rl),c.push(`${P.toDegrees(rl.longitude)},${P.toDegrees(rl.latitude)},${r}`);let f=pn(i,"coordinates",c.join(" ")),d=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(f),d.appendChild(p),[d]}function l_e(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let f=0;f<a;++f)fe.fromCartesian(t[f],r,rl),s.push(`${P.toDegrees(rl.longitude)},${P.toDegrees(rl.latitude)},${i?rl.height:n}`);let c=pn(o,"coordinates",s.join(" ")),u=o.createElement("LinearRing");return u.appendChild(c),u}function pit(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0),s=o.get(t.perPositionHeight,!1);!s&&n>0&&(r=n);let a=[],c=t.hierarchy,u=o.get(c),f=Array.isArray(u)?u:u.positions,d=i.createElement("outerBoundaryIs");d.appendChild(l_e(e,f,r,s)),a.push(d);let p=u.holes;if(l(p)){let g=p.length;for(let m=0;m<g;++m){let x=i.createElement("innerBoundaryIs");x.appendChild(l_e(e,p[m].positions,r,s)),a.push(x)}}return a}function u_e(e,t,n,i,o){let r=e.kmlDoc,s=e.valueGetter;if(!l(t))return;let a=t instanceof Md;if(a&&s.getMaterialType(t.material)==="Image"){_it(e,t,o);return}let c=r.createElement("Polygon"),u=s.get(t.extrudedHeight,0);u>0&&c.appendChild(pn(r,"extrude",!0));let f=a?mit(e,t,u):pit(e,t,u),d=f.length;for(let b=0;b<d;++b)c.appendChild(f[b]);let p=r.createElement("altitudeMode");p.appendChild(bT(e,t.heightReference)),c.appendChild(p),n.push(c);let g=r.createElement("PolyStyle"),m=s.get(t.fill,!1);m&&g.appendChild(pn(r,"fill",m)),sY(e,t.material,g);let x=s.get(t.outline,!1);if(x){g.appendChild(pn(r,"outline",x));let b=r.createElement("LineStyle"),T=s.get(t.outlineWidth,1);b.appendChild(pn(r,"width",T));let A=s.getColor(t.outlineColor,H.BLACK);b.appendChild(pn(r,"color",A)),b.appendChild(pn(r,"colorMode","normal")),i.push(b)}i.push(g)}function _it(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=e.externalFileHandler,s=i.createElement("GroundOverlay"),a=i.createElement("altitudeMode");a.appendChild(bT(e,t.heightReference)),s.appendChild(a);let c=o.get(t.height);l(c)&&s.appendChild(pn(i,"altitude",c));let u=o.get(t.coordinates),f=i.createElement("LatLonBox");f.appendChild(pn(i,"north",P.toDegrees(u.north))),f.appendChild(pn(i,"south",P.toDegrees(u.south))),f.appendChild(pn(i,"east",P.toDegrees(u.east))),f.appendChild(pn(i,"west",P.toDegrees(u.west))),s.appendChild(f);let d=o.get(t.material),p=r.texture(d.image),g=i.createElement("Icon");g.appendChild(pn(i,"href",p)),s.appendChild(g);let m=d.color;l(m)&&s.appendChild(pn(i,"color",xT(d.color))),n.push(s)}function g_e(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("Model"),s=i.get(t.scale);if(l(s)){let u=n.createElement("scale");u.appendChild(pn(n,"x",s)),u.appendChild(pn(n,"y",s)),u.appendChild(pn(n,"z",s)),r.appendChild(u)}let a=n.createElement("Link"),c=o.model(t,e.time);return a.appendChild(pn(n,"href",c)),r.appendChild(a),r}function git(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter;if(!l(n))return;let c=t.position;if(!c.isConstant){m_e(e,t,n,i,o);return}let u=g_e(e,n),f=r.createElement("altitudeMode");f.appendChild(bT(e,n.heightReference)),u.appendChild(f),a.get(c,void 0,Yl),fe.fromCartesian(Yl,s,rl);let d=r.createElement("Location");d.appendChild(pn(r,"longitude",P.toDegrees(rl.longitude))),d.appendChild(pn(r,"latitude",P.toDegrees(rl.latitude))),d.appendChild(pn(r,"altitude",rl.height)),u.appendChild(d),i.push(u)}function sY(e,t,n){let i=e.kmlDoc,o=e.valueGetter;if(!l(t))return;let r=o.get(t);if(!l(r))return;let s,a=o.getMaterialType(t),c,u;switch(a){case"Image":s=xT(H.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":s=xT(r.color);break;case"PolylineOutline":s=xT(r.color),c=xT(r.outlineColor),u=r.outlineWidth,n.appendChild(pn(i,"outerColor",c,bh)),n.appendChild(pn(i,"outerWidth",u,bh));break;case"Stripe":s=xT(r.oddColor);break}l(s)&&(n.appendChild(pn(i,"color",s)),n.appendChild(pn(i,"colorMode","normal")))}function bT(e,t){let n=e.kmlDoc,o=e.valueGetter.get(t,je.NONE),r;switch(o){case je.NONE:r=n.createTextNode("absolute");break;case je.CLAMP_TO_GROUND:r=n.createTextNode("clampToGround");break;case je.RELATIVE_TO_GROUND:r=n.createTextNode("relativeToGround");break}return r}function yT(e,t){Array.isArray(e)||(e=[e]);let n=e.length,i=[];for(let o=0;o<n;++o)fe.fromCartesian(e[o],t,rl),i.push(`${P.toDegrees(rl.longitude)},${P.toDegrees(rl.latitude)},${rl.height}`);return i.join(" ")}function pn(e,t,n,i){n=y(n,""),typeof n=="boolean"&&(n=n?"1":"0");let o=l(i)?e.createElementNS(i,t):e.createElement(t),r=n==="string"&&n.indexOf("<")!==-1?e.createCDATASection(n):e.createTextNode(n);return o.appendChild(r),o}function xT(e){let t="",n=e.toBytes();for(let i=3;i>=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var aY=rY;function oF(){this._cache={}}oF.prototype.fromColor=function(e,t){return aH(void 0,void 0,e,t,this._cache)};oF.prototype.fromUrl=function(e,t,n){return aH(e,void 0,t,n,this._cache)};oF.prototype.fromMakiIconId=function(e,t,n){return aH(rn(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};oF.prototype.fromText=function(e,t,n){return aH(void 0,e,t,n,this._cache)};var yit=new H;function xit(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,yit).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function y_e(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width<t.height&&(o=i*(t.width/t.height));let s=Math.round((n-o)/2),a=Math.round(7/24*n-r/2);e.globalCompositeOperation="destination-out",e.drawImage(t,s-1,a,o,r),e.drawImage(t,s,a-1,o,r),e.drawImage(t,s+1,a,o,r),e.drawImage(t,s,a+1,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=H.BLACK.toCssColorString(),e.fillRect(s-1,a-1,o+2,r+2),e.globalCompositeOperation="destination-out",e.drawImage(t,s,a,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=H.WHITE.toCssColorString(),e.fillRect(s-1,a-2,o+2,r+2)}var iF=new Array(4);function aH(e,t,n,i,o){iF[0]=e,iF[1]=t,iF[2]=n,iF[3]=i;let r=JSON.stringify(iF),s=o[r];if(l(s))return s;let a=document.createElement("canvas");a.width=i,a.height=i;let c=a.getContext("2d");if(xit(c,n,i),l(e)){let f=we.createIfNeeded(e).fetchImage().then(function(d){return y_e(c,d,i),o[r]=a,a});return o[r]=f,f}else if(l(t)){let u=Sb(t,{font:`bold ${i}px sans-serif`});y_e(c,u,i)}return o[r]=a,a}var Z_=oF;var T_e=Bo(b_e(),1);function lH(e){return h.fromDegrees(e[0],e[1],e[2])}var cY={"urn:ogc:def:crs:OGC:1.3:CRS84":lH,"EPSG:4326":lH,"urn:ogc:def:crs:EPSG::4326":lH},C_e={},A_e={},lY=48,uY,fY=H.ROYALBLUE,dY=H.YELLOW,hY=2,mY=H.fromBytes(255,255,0,100),pY=!1,bit={small:24,medium:48,large:64},Tit=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function E_e(e,t){let n="";for(let i in e)if(e.hasOwnProperty(i)){if(i===t||Tit.indexOf(i)!==-1)continue;let o=e[i];l(o)&&(typeof o=="object"?n+=`<tr><th>${i}</th><td>${E_e(o)}</td></tr>`:n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}return n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function Cit(e,t,n){let i;return function(o,r){return l(i)||(i=e(t,n)),i}}function Ait(e,t){return new Ld(Cit(E_e,e,t),!0)}function uH(e,t,n){let i=e.id;if(!l(i)||e.type!=="Feature")i=qn();else{let s=2,a=i;for(;l(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(l(r)){o.properties=r;let s,a=r.title;if(l(a))o.name=a,s="title";else{let u=Number.MAX_VALUE;for(let f in r)if(r.hasOwnProperty(f)&&r[f]){let d=f.toLowerCase();if(u>1&&d==="title"){u=1,s=f;break}else u>2&&d==="name"?(u=2,s=f):u>3&&/title/i.test(f)?(u=3,s=f):u>4&&/name/i.test(f)&&(u=4,s=f)}l(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=l(c)?new Jn(c):n(r,s))}return o}function _Y(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=t(e[i]);return n}var S_e={Feature:w_e,FeatureCollection:Eit,GeometryCollection:D_e,LineString:M_e,MultiLineString:L_e,MultiPoint:R_e,MultiPolygon:B_e,Point:P_e,Polygon:F_e,Topology:k_e},v_e={GeometryCollection:D_e,LineString:M_e,MultiLineString:L_e,MultiPoint:R_e,MultiPolygon:B_e,Point:P_e,Polygon:F_e,Topology:k_e};function w_e(e,t,n,i,o){if(t.geometry===null){uH(t,e._entityCollection,o.describe);return}if(!l(t.geometry))throw new ce("feature.geometry is required.");let r=t.geometry.type,s=v_e[r];if(!l(s))throw new ce(`Unknown geometry type: ${r}`);s(e,t,t.geometry,i,o)}function Eit(e,t,n,i,o){let r=t.features;for(let s=0,a=r.length;s<a;s++)w_e(e,r[s],void 0,i,o)}function D_e(e,t,n,i,o){let r=n.geometries;for(let s=0,a=r.length;s<a;s++){let c=r[s],u=c.type,f=v_e[u];if(!l(f))throw new ce(`Unknown geometry type: ${u}`);f(e,t,c,i,o)}}function I_e(e,t,n,i,o){let r=o.markerSymbol,s=o.markerColor,a=o.markerSize,c=t.properties;if(l(c)){let g=c["marker-color"];l(g)&&(s=H.fromCssColorString(g)),a=y(bit[c["marker-size"]],a);let m=c["marker-symbol"];l(m)&&(r=m)}let u;l(r)?r.length===1?u=e._pinBuilder.fromText(r.toUpperCase(),s,a):u=e._pinBuilder.fromMakiIconId(r,s,a):u=e._pinBuilder.fromColor(s,a);let f=new rc;f.verticalOrigin=new Jn(Mn.BOTTOM),i.length===2&&o.clampToGround&&(f.heightReference=je.CLAMP_TO_GROUND);let d=uH(t,e._entityCollection,o.describe);d.billboard=f,d.position=new zc(n(i));let p=Promise.resolve(u).then(function(g){f.image=new Jn(g)}).catch(function(){f.image=new Jn(e._pinBuilder.fromColor(s,a))});e._promises.push(p)}function P_e(e,t,n,i,o){I_e(e,t,i,n.coordinates,o)}function R_e(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)I_e(e,t,i,r[s],o)}function O_e(e,t,n,i,o){let r=o.strokeMaterialProperty,s=o.strokeWidthProperty,a=t.properties;if(l(a)){let f=a["stroke-width"];l(f)&&(s=new Jn(f));let d,p=a.stroke;l(p)&&(d=H.fromCssColorString(p));let g=a["stroke-opacity"];l(g)&&g!==1&&(l(d)||(d=r.color.getValue().clone()),d.alpha=g),l(d)&&(r=new Ut(d))}let c=uH(t,e._entityCollection,o.describe),u=new cc;c.polyline=u,u.clampToGround=o.clampToGround,u.material=r,u.width=s,u.positions=new Jn(_Y(i,n)),u.arcType=tn.RHUMB}function M_e(e,t,n,i,o){O_e(e,t,i,n.coordinates,o)}function L_e(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)O_e(e,t,i,r[s],o)}function N_e(e,t,n,i,o){if(i.length===0||i[0].length===0)return;let r=o.strokeMaterialProperty.color,s=o.fillMaterialProperty,a=o.strokeWidthProperty,c=t.properties;if(l(c)){let g=c["stroke-width"];l(g)&&(a=new Jn(g));let m,x=c.stroke;l(x)&&(m=H.fromCssColorString(x));let b=c["stroke-opacity"];l(b)&&b!==1&&(l(m)||(m=r.getValue().clone()),m.alpha=b),l(m)&&(r=new Jn(m));let T,A=c.fill,C=s.color.getValue();l(A)&&(T=H.fromCssColorString(A),T.alpha=C.alpha),b=c["fill-opacity"],l(b)&&b!==C.alpha&&(l(T)||(T=C.clone()),T.alpha=b),l(T)&&(s=new Ut(T))}let u=new Od;u.outline=new Jn(!0),u.outlineColor=r,u.outlineWidth=a,u.material=s,u.arcType=tn.RHUMB;let f=[];for(let g=1,m=i.length;g<m;g++)f.push(new Fa(_Y(i[g],n)));let d=i[0];u.hierarchy=new Jn(new Fa(_Y(d,n),f)),d[0].length>2?u.perPositionHeight=new Jn(!0):o.clampToGround||(u.height=0);let p=uH(t,e._entityCollection,o.describe);p.polygon=u}function F_e(e,t,n,i,o){N_e(e,t,i,n.coordinates,o)}function B_e(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)N_e(e,t,i,r[s],o)}function k_e(e,t,n,i,o){for(let r in n.objects)if(n.objects.hasOwnProperty(r)){let s=T_e.feature(n,n.objects[r]),a=S_e[s.type];a(e,s,s,i,o)}}function u0(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new $s(this),this._promises=[],this._pinBuilder=new Z_,this._entityCluster=new Pu,this._credit=void 0,this._resourceCredits=[]}u0.load=function(e,t){return new u0().load(e,t)};Object.defineProperties(u0,{markerSize:{get:function(){return lY},set:function(e){lY=e}},markerSymbol:{get:function(){return uY},set:function(e){uY=e}},markerColor:{get:function(){return fY},set:function(e){fY=e}},stroke:{get:function(){return dY},set:function(e){dY=e}},strokeWidth:{get:function(){return hY},set:function(e){hY=e}},fill:{get:function(){return mY},set:function(e){mY=e}},clampToGround:{get:function(){return pY},set:function(e){pY=e}},crsNames:{get:function(){return cY}},crsLinkHrefs:{get:function(){return C_e}},crsLinkTypes:{get:function(){return A_e}}});Object.defineProperties(u0.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});u0.prototype.load=function(e,t){return V_e(this,e,t,!0)};u0.prototype.process=function(e,t){return V_e(this,e,t,!1)};function V_e(e,t,n,i){Wr.setLoading(e,!0),n=y(n,y.EMPTY_OBJECT);let o=n.credit;typeof o=="string"&&(o=new wt(o)),e._credit=o;let r=t,s=n.sourceUri;if(typeof t=="string"||t instanceof we){t=we.createIfNeeded(t),r=t.fetchJson(),s=y(s,t.getUrlComponent());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return n={describe:y(n.describe,Ait),markerSize:y(n.markerSize,lY),markerSymbol:y(n.markerSymbol,uY),markerColor:y(n.markerColor,fY),strokeWidthProperty:new Jn(y(n.strokeWidth,hY)),strokeMaterialProperty:new Ut(y(n.stroke,dY)),fillMaterialProperty:new Ut(y(n.fill,mY)),clampToGround:y(n.clampToGround,pY)},Promise.resolve(r).then(function(a){return Sit(e,a,n,s,i)}).catch(function(a){throw Wr.setLoading(e,!1),e._error.raiseEvent(e,a),a})}u0.prototype.update=function(e){return!0};function Sit(e,t,n,i,o){let r;l(i)&&(r=L_(i)),l(r)&&e._name!==r&&(e._name=r,e._changed.raiseEvent(e));let s=S_e[t.type];if(!l(s))throw new ce(`Unsupported GeoJSON object type: ${t.type}`);let a=t.crs,c=a!==null?lH:null;if(l(a)){if(!l(a.properties))throw new ce("crs.properties is undefined.");let u=a.properties;if(a.type==="name"){if(c=cY[u.name],!l(c))throw new ce(`Unknown crs name: ${u.name}`)}else if(a.type==="link"){let f=C_e[u.href];if(l(f)||(f=A_e[u.type]),!l(f))throw new ce(`Unable to resolve crs link: ${JSON.stringify(u)}`);c=f(u)}else if(a.type==="EPSG"){if(c=cY[`EPSG:${u.code}`],!l(c))throw new ce(`Unknown crs EPSG code: ${u.code}`)}else throw new ce(`Unknown crs type: ${a.type}`)}return Promise.resolve(c).then(function(u){return o&&e._entityCollection.removeAll(),u!==null&&s(e,t,t,u,n),Promise.all(e._promises).then(function(){return e._promises.length=0,Wr.setLoading(e,!1),e})})}var rF=u0;function vit(e){return typeof e=="string"&&(e=document.getElementById(e)),e}var Rn=vit;var Bge=Bo(NY(),1);var kge;typeof DOMParser<"u"&&(kge=new DOMParser);var Ert=new Bge.default({stripPrefix:!1,email:!1,replaceFn:function(e,t){return t.urlMatchType==="scheme"||t.urlMatchType==="www"}}),RH=32,Ige=2414016,Pge=1,Rge=16093e3,Oge=.1,Srt=[null,void 0,"http://www.topografix.com/GPX/1/1"],wo={gpx:Srt};function vrt(e){return new Promise((t,n)=>{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function FY(e,t){let n=cF(e,"id");return n=l(n)?n:qn(),t.getOrCreateEntity(n)}function BY(e){let t=Mge(e,"lon"),n=Mge(e,"lat"),i=sF(e,"ele",wo.gpx);return h.fromDegrees(t,n,i)}function Mge(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function cF(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function m0(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function kY(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagName(t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function sF(e,t,n){let i=m0(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Xl(e,t,n){let i=m0(e,t,n);if(l(i))return i.textContent.trim()}function Vge(e){let t=new rc;return t.width=RH,t.height=RH,t.scaleByDistance=new Bt(Ige,Pge,Rge,Oge),t.pixelOffsetScaleByDistance=new Bt(Ige,Pge,Rge,Oge),t.verticalOrigin=new Jn(Mn.BOTTOM),t.image=e,t}function wrt(){let e=new Rd;return e.translucencyByDistance=new Bt(3e6,1,5e6,0),e.pixelOffset=new z(17,0),e.horizontalOrigin=xi.LEFT,e.font="16px sans-serif",e.style=Go.FILL_AND_OUTLINE,e}function Uge(e){let t=new cc;return t.width=4,t.material=new Wy,t.material.color=l(e)?e:H.RED,t.material.outlineWidth=2,t.material.outlineColor=H.BLACK,t}var Lge={time:{text:"Time",tag:"time"},comment:{text:"Comment",tag:"cmt"},description:{text:"Description",tag:"desc"},source:{text:"Source",tag:"src"},number:{text:"GPS track/route number",tag:"number"},type:{text:"Type",tag:"type"}},aF;typeof document<"u"&&(aF=document.createElement("div"));function VY(e,t){let n,i="",o=Object.keys(Lge),r=o.length;for(n=0;n<r;n++){let f=o[n],d=Lge[f];d.value=y(Xl(e,d.tag,wo.gpx),""),l(d.value)&&d.value!==""&&(i=`${i}<p>${d.text}: ${d.value}</p>`)}if(!l(i)||i==="")return;i=Ert.link(i),aF.innerHTML=i;let s=aF.querySelectorAll("a");for(n=0;n<s.length;n++)s[n].setAttribute("target","_blank");let a=H.WHITE,c=H.BLACK,u='<div class="cesium-infoBox-description-lighter" style="';return u+="overflow:auto;",u+="word-wrap:break-word;",u+=`background-color:${a.toCssColorString()};`,u+=`color:${c.toCssColorString()};`,u+='">',u+=`${aF.innerHTML}</div>`,aF.innerHTML="",u}function zge(e,t,n,i){let o=BY(t),r=FY(t,n);r.position=o;let s=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",H.RED,RH);r.billboard=Vge(s);let a=Xl(t,"name",wo.gpx);r.name=a,r.label=wrt(),r.label.text=a,r.description=VY(t,r),i.clampToGround&&(r.billboard.heightReference=je.CLAMP_TO_GROUND,r.label.heightReference=je.CLAMP_TO_GROUND)}function Drt(e,t,n,i){let o=FY(t,n);o.description=VY(t,o);let r=kY(t,"rtept",wo.gpx),s=new Array(r.length);for(let a=0;a<r.length;a++)zge(e,r[a],n,i),s[a]=BY(r[a]);o.polyline=Uge(i.routeColor),i.clampToGround&&(o.polyline.clampToGround=!0),o.polyline.positions=s}function Irt(e,t,n,i){let o=FY(t,n);o.description=VY(t,o);let r=kY(t,"trkseg",wo.gpx),s=[],a=[],c,u=!0,f=new ya;for(let d=0;d<r.length;d++)c=Prt(r[d]),s=s.concat(c.positions),c.times.length>0?(a=a.concat(c.times),f.addSamples(a,s),u=u&&!0):u=!1;if(u){let d=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",H.RED,RH);o.billboard=Vge(d),o.position=f,i.clampToGround&&(o.billboard.heightReference=je.CLAMP_TO_GROUND),o.availability=new Gr,o.availability.addInterval(new Sn({start:a[0],stop:a[a.length-1]}))}o.polyline=Uge(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function Prt(e){let t={positions:[],times:[]},n=kY(e,"trkpt",wo.gpx),i;for(let o=0;o<n.length;o++){let r=BY(n[o]);t.positions.push(r),i=Xl(n[o],"time",wo.gpx),l(i)&&t.times.push(K.fromIso8601(i))}return t}function Rrt(e){let t=m0(e,"metadata",wo.gpx);if(l(t)){let n={name:Xl(t,"name",wo.gpx),desc:Xl(t,"desc",wo.gpx),author:Ort(t),copyright:Lrt(t),link:Hge(t),time:Xl(t,"time",wo.gpx),keywords:Xl(t,"keywords",wo.gpx),bounds:Nrt(t)};if(l(n.name)||l(n.desc)||l(n.author)||l(n.copyright)||l(n.link)||l(n.time)||l(n.keywords)||l(n.bounds))return n}}function Ort(e){let t=m0(e,"author",wo.gpx);if(l(t)){let n={name:Xl(t,"name",wo.gpx),email:Mrt(t),link:Hge(t)};if(l(n.name)||l(n.email)||l(n.link))return n}}function Mrt(e){let t=m0(e,"email",wo.gpx);if(l(t)){let n=Xl(t,"id",wo.gpx),i=Xl(t,"domain",wo.gpx);return`${n}@${i}`}}function Hge(e){let t=m0(e,"link",wo.gpx);if(l(t)){let n={href:cF(t,"href"),text:Xl(t,"text",wo.gpx),mimeType:Xl(t,"type",wo.gpx)};if(l(n.href)||l(n.text)||l(n.mimeType))return n}}function Lrt(e){let t=m0(e,"copyright",wo.gpx);if(l(t)){let n={author:cF(t,"author"),year:Xl(t,"year",wo.gpx),license:Xl(t,"license",wo.gpx)};if(l(n.author)||l(n.year)||l(n.license))return n}}function Nrt(e){let t=m0(e,"bounds",wo.gpx);if(l(t)){let n={minLat:sF(t,"minlat",wo.gpx),maxLat:sF(t,"maxlat",wo.gpx),minLon:sF(t,"minlon",wo.gpx),maxLon:sF(t,"maxlon",wo.gpx)};if(l(n.minLat)||l(n.maxLat)||l(n.minLon)||l(n.maxLon))return n}}var Nge={wpt:zge,rte:Drt,trk:Irt};function Frt(e,t,n,i){let o=Object.keys(Nge),r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Nge[a],u=t.childNodes,f=u.length;for(let d=0;d<f;d++){let p=u[d];p.localName===a&&wo.gpx.indexOf(p.namespaceURI)!==-1&&c(e,p,n,i)}}}function Fge(e,t,n){let i=e._entityCollection;i.removeAll();let o=t.documentElement,r=cF(o,"version"),s=cF(o,"creator"),a,c=Rrt(o);l(c)&&(a=c.name),o.localName==="gpx"?Frt(e,o,i,n):console.log(`GPX - Unsupported node: ${o.localName}`);let u,f=i.computeAvailability(),d=f.start,p=f.stop,g=K.equals(d,Ue.MINIMUM_VALUE),m=K.equals(p,Ue.MAXIMUM_VALUE);if(!g||!m){let b;g&&(b=new Date,b.setHours(0,0,0,0),d=K.fromDate(b)),m&&(b=new Date,b.setHours(24,0,0,0),p=K.fromDate(b)),u=new ch,u.startTime=d,u.stopTime=p,u.currentTime=K.clone(d),u.clockRange=jr.LOOP_STOP,u.clockStep=yo.SYSTEM_CLOCK_MULTIPLIER,u.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(p,d)/60,1),31556900))}let x=!1;return e._name!==a&&(e._name=a,x=!0),e._creator!==s&&(e._creator=s,x=!0),Brt(e._metadata,c)&&(e._metadata=c,x=!0),e._version!==r&&(e._version=r,x=!0),u!==e._clock&&(x=!0,e._clock=u),x&&e._changed.raiseEvent(e),Wr.setLoading(e,!1),e}function Brt(e,t){return!l(e)&&!l(t)?!1:l(e)&&l(t)?e.name!==t.name||e.dec!==t.desc||e.src!==t.src||e.author!==t.author||e.copyright!==t.copyright||e.link!==t.link||e.time!==t.time||e.bounds!==t.bounds:!0}function krt(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=n;if(typeof n=="string"||n instanceof we){n=we.createIfNeeded(n),o=n.fetchBlob();let r=e._resourceCredits,s=n.credits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)r.push(s[c])}}return Promise.resolve(o).then(function(r){return r instanceof Blob?vrt(r).then(function(s){let a,c;try{a=kge.parseFromString(s,"application/xml")}catch(u){c=u.toString()}if(l(c)||a.body||a.documentElement.tagName==="parsererror"){let u=l(c)?c:a.documentElement.firstChild.nodeValue;throw u||(u=a.body.innerText),new ce(u)}return Fge(e,a,i)}):Fge(e,r,i)}).catch(function(r){return e._error.raiseEvent(e,r),console.log(r),Promise.reject(r)})}function NS(){this._changed=new me,this._error=new me,this._loading=new me,this._clock=void 0,this._entityCollection=new $s(this),this._entityCluster=new Pu,this._name=void 0,this._version=void 0,this._creator=void 0,this._metadata=void 0,this._isLoading=!1,this._pinBuilder=new Z_}NS.load=function(e,t){return new NS().load(e,t)};Object.defineProperties(NS.prototype,{name:{get:function(){return this._name}},version:{get:function(){return this._version}},creator:{get:function(){return this._creator}},metadata:{get:function(){return this._metadata}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});NS.prototype.update=function(e){return!0};NS.prototype.load=function(e,t){if(!l(e))throw new de("data is required.");t=y(t,y.EMPTY_OBJECT),Wr.setLoading(this,!0);let n=this._name,i=this;return krt(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,Ue.MINIMUM_VALUE),u=K.equals(a,Ue.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new ch,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=jr.LOOP_STOP,o.clockStep=yo.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Wr.setLoading(i,!1),i}).catch(function(o){return Wr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};var lF=NS;function Vrt(e,t){this.position=e,this.headingPitchRoll=t}var uF=Vrt;var nye=Bo(NY(),1),_F=Bo(ru(),1);function Urt(e,t){this.position=e,this.headingPitchRange=t}var fF=Urt;function OH(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new me,this.tourEnd=new me,this.entryStart=new me,this.entryEnd=new me,this._activeEntries=[]}OH.prototype.addPlaylistEntry=function(e){this.playlist.push(e)};OH.prototype.play=function(e,t){this.tourStart.raiseEvent();let n=this;Wge.call(this,e,t,function(i){n.playlistIndex=0,i||Gge(n._activeEntries),n.tourEnd.raiseEvent(i)})};OH.prototype.stop=function(){Gge(this._activeEntries)};function Gge(e){for(let t=e.pop();t!==void 0;t=e.pop())t.stop()}function Wge(e,t,n){let i=this.playlist[this.playlistIndex];if(i){let o=zrt.bind(this,e,t,n);if(this._activeEntries.push(i),this.entryStart.raiseEvent(i),i.blocking)i.play(o,e.scene.camera,t);else{let r=this;i.play(function(){r.entryEnd.raiseEvent(i);let s=r._activeEntries.indexOf(i);s>=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else l(n)&&n(!1)}function zrt(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,Wge.call(this,e,t,n)}}var dF=OH;var Li=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var t=1.70158;return e===1?1:e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return e===0?0:--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Li.Bounce.Out(1-e)},Out:function(e){return e<.36363636363636365?7.5625*e*e:e<.7272727272727273?7.5625*(e-=.5454545454545454)*e+.75:e<.9090909090909091?7.5625*(e-=.8181818181818182)*e+.9375:7.5625*(e-=.9545454545454546)*e+.984375},InOut:function(e){return e<.5?Li.Bounce.In(e*2)*.5:Li.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e<Number.EPSILON?Number.EPSILON:e,e=e>1e4?1e4:e,{In:function(t){return Math.pow(t,e)},Out:function(t){return 1-Math.pow(1-t,e)},InOut:function(t){return t<.5?Math.pow(t*2,e)/2:(1-Math.pow(2-t*2,e))/2+.5}}}}),hF=function(){return performance.now()},Hrt=function(){function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._tweens={},this._tweensAddedDuringUpdate={},this.add.apply(this,t)}return e.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map(function(n){return t._tweens[n]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(){for(var t,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];for(var o=0,r=n;o<r.length;o++){var s=r[o];(t=s._group)===null||t===void 0||t.remove(s),s._group=this,this._tweens[s.getId()]=s,this._tweensAddedDuringUpdate[s.getId()]=s}},e.prototype.remove=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var i=0,o=t;i<o.length;i++){var r=o[i];r._group=void 0,delete this._tweens[r.getId()],delete this._tweensAddedDuringUpdate[r.getId()]}},e.prototype.allStopped=function(){return this.getAll().every(function(t){return!t.isPlaying()})},e.prototype.update=function(t,n){t===void 0&&(t=hF()),n===void 0&&(n=!0);var i=Object.keys(this._tweens);if(i.length!==0)for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<i.length;o++){var r=this._tweens[i[o]],s=!n;r&&r.update(t,s)===!1&&!n&&this.remove(r)}i=Object.keys(this._tweensAddedDuringUpdate)}},e}(),FS={Linear:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=FS.Utils.Linear;return t<0?r(e[0],e[1],i):t>1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=FS.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=FS.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],i-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=FS.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var i=t;i>1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},jge=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),UY=new Hrt,qge=function(){function e(t,n){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Li.Linear.None,this._interpolationFunction=FS.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=jge.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=t,typeof n=="object"?(this._group=n,n.add(this)):n===!0&&(this._group=UY,UY.add(this))}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(t,n){if(n===void 0&&(n=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=t,this._propertiesAreSetUp=!1,this._duration=n<0?0:n,this},e.prototype.duration=function(t){return t===void 0&&(t=1e3),this._duration=t<0?0:t,this},e.prototype.dynamic=function(t){return t===void 0&&(t=!1),this._isDynamic=t,this},e.prototype.start=function(t,n){if(t===void 0&&(t=hF()),n===void 0&&(n=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t,this._startTime+=this._delayTime,!this._propertiesAreSetUp||n){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var r in this._valuesEnd)o[r]=this._valuesEnd[r];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,n)}return this},e.prototype.startFromCurrentValues=function(t){return this.start(t,!0)},e.prototype._setupProperties=function(t,n,i,o,r){for(var s in i){var a=t[s],c=Array.isArray(a),u=c?"array":typeof a,f=!c&&Array.isArray(i[s]);if(!(u==="undefined"||u==="function")){if(f){var d=i[s];if(d.length===0)continue;for(var p=[a],g=0,m=d.length;g<m;g+=1){var x=this._handleRelativeValue(a,d[g]);if(isNaN(x)){f=!1,console.warn("Found invalid interpolation list. Skipping.");break}p.push(x)}f&&(i[s]=p)}if((u==="object"||c)&&a&&!f){n[s]=c?[]:{};var b=a;for(var T in b)n[s][T]=b[T];o[s]=c?[]:{};var d=i[s];if(!this._isDynamic){var A={};for(var T in d)A[T]=d[T];i[s]=d=A}this._setupProperties(b,n[s],d,o[s],r)}else(typeof n[s]>"u"||r)&&(n[s]=a),c||(n[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=n[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},e.prototype.pause=function(t){return t===void 0&&(t=hF()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this)},e.prototype.resume=function(t){return t===void 0&&(t=hF()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;t<n;t++)this._chainedTweens[t].stop();return this},e.prototype.group=function(t){return t?(t.add(this),this):(console.warn("tween.group() without args has been removed, use group.add(tween) instead."),this)},e.prototype.remove=function(){var t;return(t=this._group)===null||t===void 0||t.remove(this),this},e.prototype.delay=function(t){return t===void 0&&(t=0),this._delayTime=t,this},e.prototype.repeat=function(t){return t===void 0&&(t=0),this._initialRepeat=t,this._repeat=t,this},e.prototype.repeatDelay=function(t){return this._repeatDelayTime=t,this},e.prototype.yoyo=function(t){return t===void 0&&(t=!1),this._yoyo=t,this},e.prototype.easing=function(t){return t===void 0&&(t=Li.Linear.None),this._easingFunction=t,this},e.prototype.interpolation=function(t){return t===void 0&&(t=FS.Linear),this._interpolationFunction=t,this},e.prototype.chain=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this._chainedTweens=t,this},e.prototype.onStart=function(t){return this._onStartCallback=t,this},e.prototype.onEveryStart=function(t){return this._onEveryStartCallback=t,this},e.prototype.onUpdate=function(t){return this._onUpdateCallback=t,this},e.prototype.onRepeat=function(t){return this._onRepeatCallback=t,this},e.prototype.onComplete=function(t){return this._onCompleteCallback=t,this},e.prototype.onStop=function(t){return this._onStopCallback=t,this},e.prototype.update=function(t,n){var i=this,o;if(t===void 0&&(t=hF()),n===void 0&&(n=e.autoStartOnUpdate),this._isPaused)return!0;var r;if(!this._goToEnd&&!this._isPlaying)if(n)this.start(t,!0);else return!1;if(this._goToEnd=!1,t<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),this._onEveryStartCallbackFired===!1&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0);var s=t-this._startTime,a=this._duration+((o=this._repeatDelayTime)!==null&&o!==void 0?o:this._delayTime),c=this._duration+this._repeat*a,u=function(){if(i._duration===0||s>c)return 1;var x=Math.trunc(s/a),b=s-x*a,T=Math.min(b/i._duration,1);return T===0&&s===i._duration?1:T},f=u(),d=this._easingFunction(f);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,f),this._duration===0||s>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((s-this._duration)/a)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(r in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[r]=="string"&&(this._valuesStartRepeat[r]=this._valuesStartRepeat[r]+parseFloat(this._valuesEnd[r])),this._yoyo&&this._swapEndStartRepeatValues(r),this._valuesStart[r]=this._valuesStartRepeat[r];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=a*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var g=0,m=this._chainedTweens.length;g<m;g++)this._chainedTweens[g].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(t,n,i,o){for(var r in i)if(n[r]!==void 0){var s=n[r]||0,a=i[r],c=Array.isArray(t[r]),u=Array.isArray(a),f=!c&&u;f?t[r]=this._interpolationFunction(a,o):typeof a=="object"&&a?this._updateProperties(t[r],s,a,o):(a=this._handleRelativeValue(s,a),typeof a=="number"&&(t[r]=s+(a-s)*o))}},e.prototype._handleRelativeValue=function(t,n){return typeof n!="string"?n:n.charAt(0)==="+"||n.charAt(0)==="-"?t+parseFloat(n):parseFloat(n)},e.prototype._swapEndStartRepeatValues=function(t){var n=this._valuesStartRepeat[t],i=this._valuesEnd[t];typeof i=="string"?this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(i):this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=n},e.autoStartOnUpdate=!1,e}();var Tei=jge.nextId,Um=UY,Cei=Um.getAll.bind(Um),Aei=Um.removeAll.bind(Um),Eei=Um.add.bind(Um),Sei=Um.remove.bind(Um),vei=Um.update.bind(Um);var Grt={LINEAR_NONE:Li.Linear.None,QUADRATIC_IN:Li.Quadratic.In,QUADRATIC_OUT:Li.Quadratic.Out,QUADRATIC_IN_OUT:Li.Quadratic.InOut,CUBIC_IN:Li.Cubic.In,CUBIC_OUT:Li.Cubic.Out,CUBIC_IN_OUT:Li.Cubic.InOut,QUARTIC_IN:Li.Quartic.In,QUARTIC_OUT:Li.Quartic.Out,QUARTIC_IN_OUT:Li.Quartic.InOut,QUINTIC_IN:Li.Quintic.In,QUINTIC_OUT:Li.Quintic.Out,QUINTIC_IN_OUT:Li.Quintic.InOut,SINUSOIDAL_IN:Li.Sinusoidal.In,SINUSOIDAL_OUT:Li.Sinusoidal.Out,SINUSOIDAL_IN_OUT:Li.Sinusoidal.InOut,EXPONENTIAL_IN:Li.Exponential.In,EXPONENTIAL_OUT:Li.Exponential.Out,EXPONENTIAL_IN_OUT:Li.Exponential.InOut,CIRCULAR_IN:Li.Circular.In,CIRCULAR_OUT:Li.Circular.Out,CIRCULAR_IN_OUT:Li.Circular.InOut,ELASTIC_IN:Li.Elastic.In,ELASTIC_OUT:Li.Elastic.Out,ELASTIC_IN_OUT:Li.Elastic.InOut,BACK_IN:Li.Back.In,BACK_OUT:Li.Back.Out,BACK_IN_OUT:Li.Back.InOut,BOUNCE_IN:Li.Bounce.In,BOUNCE_OUT:Li.Bounce.Out,BOUNCE_IN_OUT:Li.Bounce.InOut},Yr=Object.freeze(Grt);function MH(e,t,n){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=n,this.flyToMode=t}MH.prototype.play=function(e,t,n){if(this.activeCamera=t,l(e)&&e!==null){let o=this;this.activeCallback=function(r){delete o.activeCallback,delete o.activeCamera,e(l(r)?!1:r)}}let i=this.getCameraOptions(n);if(this.view.headingPitchRoll)t.flyTo(i);else if(this.view.headingPitchRange){let o=new ae(this.view.position);t.flyToBoundingSphere(o,i)}};MH.prototype.stop=function(){l(this.activeCamera)&&this.activeCamera.cancelFlight(),l(this.activeCallback)&&this.activeCallback(!0)};MH.prototype.getCameraOptions=function(e){let t={duration:this.duration};return l(this.activeCallback)&&(t.complete=this.activeCallback),this.flyToMode==="smooth"&&(t.easingFunction=Yr.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),l(e)&&(t=bt(t,e)),t};var mF=MH;function zY(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}zY.prototype.play=function(e){let t=this;this.activeCallback=e,this.timeout=setTimeout(function(){delete t.activeCallback,e(!1)},this.duration*1e3)};zY.prototype.stop=function(){clearTimeout(this.timeout),l(this.activeCallback)&&this.activeCallback(!0)};var pF=zY;var iye={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){let t=e.toLowerCase();return t=Z0(t),iye[t]}},XY;typeof DOMParser<"u"&&(XY=new DOMParser);var Wrt=new nye.default({stripPrefix:!1,email:!1,replaceFn:function(e){return e.urlMatchType==="scheme"||e.urlMatchType==="www"}}),p0=32,Yge=2414016,Xge=1,Kge=16093e3,Zge=.1,$ge=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],Qge=["http://www.google.com/kml/ext/2.2"],jrt=["http://www.w3.org/2005/Atom"],Re={kml:$ge,gx:Qge,atom:jrt,kmlgx:$ge.concat(Qge)},KY={Document:hye,Folder:ust,Placemark:fst,NetworkLink:bst,GroundOverlay:gst,PhotoOverlay:_ye,ScreenOverlay:_st,Tour:hst};function zm(e){this._dataSource=e,this._deferred=yl(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}Object.defineProperties(zm.prototype,{dataSource:{get:function(){return this._dataSource}}});zm.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0};zm.prototype.addPromise=function(e){this._promises.push(e)};zm.prototype.wait=function(){let e=this._deferred;return this._used||e.resolve(),Promise.all([e.promise,Promise.all(this._promises)])};zm.prototype.process=function(){let e=this._stack.length===1;return e&&(this._started=Wu._getTimestamp()),this._process(e)};zm.prototype._giveUpTime=function(){if(this._timeoutSet)return;this._timeoutSet=!0,this._timeThreshold=50;let e=this;setTimeout(function(){e._timeoutSet=!1,e._started=Wu._getTimestamp(),e._process(!0)},0)};zm.prototype._nextNode=function(){let e=this._stack,t=e[e.length-1],n=t.index,i=t.nodes;if(n!==i.length)return++t.index,i[n]};zm.prototype._pop=function(){let e=this._stack;return e.pop(),e.length===0?(this._deferred.resolve(),!1):!0};zm.prototype._process=function(e){let t=this.dataSource,n=this._stack[this._stack.length-1].processingData,i=this._nextNode();for(;l(i);){let o=KY[i.localName];if(l(o)&&(Re.kml.indexOf(i.namespaceURI)!==-1||Re.gx.indexOf(i.namespaceURI)!==-1)&&(o(t,i,n,this),this._timeoutSet||Wu._getTimestamp()>this._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function qrt(e){let t=e.slice(0,Math.min(4,e.size)),n=yl(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function Yrt(e){let t=yl(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function oye(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(l(n)||(n=e.substr(0,e.indexOf("<kml")+4),i=e.substr(n.length)),n+=` ${r}"${t[s]}"`));return l(n)&&(e=n+i),e}function rye(e){let t=e.indexOf("xmlns:"),n=e.indexOf(">",t),i,o,r;for(;t!==-1&&t<n;)i=e.slice(t,e.indexOf('"',t)),o=t,t=e.indexOf(i,t+1),t!==-1?(r=e.indexOf('"',e.indexOf('"',t)+1),e=e.slice(0,t-1)+e.slice(r+1,e.length),t=e.indexOf("xmlns:",o-1)):t=e.indexOf("xmlns:",o+1);return e}function Xrt(e,t){return Promise.resolve(e.getData(new z4)).then(function(n){n=oye(n),n=rye(n),t.kml=XY.parseFromString(n,"application/xml")})}function HY(e,t){let n=y(iye.detectFromFilename(e.filename),"application/octet-stream");return Promise.resolve(e.getData(new V4(n))).then(function(i){t[e.filename]=i})}function Hu(e,t,n,i){let o=i.keys,r=new _F.default("."),s=e.querySelectorAll(t);for(let a=0;a<s.length;a++){let c=s[a],u=c.getAttribute(n);if(l(u)){let d=new _F.default(u).absoluteTo(r).toString(),p=o.indexOf(d);if(p!==-1){let g=o[p];c.setAttribute(n,i[g]),t==="a"&&c.getAttribute("download")===null&&c.setAttribute("download",g)}}}}function Gu(e,t,n,i){let o=e.querySelectorAll(t);for(let r=0;r<o.length;r++){let s=o[r],a=s.getAttribute(n),c=ZY(a,i);l(c)&&s.setAttribute(n,c.url)}}function sye(e,t,n){let i=Ms(e,"id");i=l(i)&&i.length!==0?i:qn(),l(n)&&(i=n+i);let o=t.getById(i);return l(o)&&(i=qn(),l(n)&&(i=n+i)),o=t.add(new Qo({id:i})),l(o.kml)||(o.addProperty("kml"),o.kml=new Est),o}function gF(e,t){return e==="absolute"||e==="relativeToGround"||t==="relativeToSeaFloor"}function BH(e,t){if(!l(e))return h.fromDegrees(0,0,0,t);let n=e.match(/[^\s,\n]+/g);if(!l(n))return h.fromDegrees(0,0,0,t);let i=parseFloat(n[0]),o=parseFloat(n[1]),r=parseFloat(n[2]);return i=isNaN(i)?0:i,o=isNaN(o)?0:o,r=isNaN(r)?0:r,h.fromDegrees(i,o,r,t)}function LH(e,t){if(!l(e))return;let n=e.textContent.match(/[^\s\n]+/g);if(!l(n))return;let i=n.length,o=new Array(i),r=0;for(let s=0;s<i;s++)o[r++]=BH(n[s],t);return o}function _0(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function Ms(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Ni(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function Jge(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagNameNS("*",t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function Ch(e,t,n){if(!l(e))return[];let i=[],o=e.childNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function ii(e,t,n){let i=Ni(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function On(e,t,n){let i=Ni(e,t,n);if(l(i))return i.textContent.trim()}function Ah(e,t,n){let i=Ni(e,t,n);if(l(i)){let o=i.textContent.trim();return o==="1"||/^true$/i.test(o)}}function ZY(e,t,n){if(!l(e))return;let i;if(l(n)){e=e.replace(/\\/g,"/");let o=n[e];if(l(o))i=new we({url:o});else{let r=new _F.default(t.getUrlComponent()),s=new _F.default(e);o=n[s.absoluteTo(r)],l(o)&&(i=new we({url:o}))}}return l(i)||(i=t.getDerivedResource({url:e})),i}var Kl={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function qY(e,t){if(!l(e)||/^\s*$/gm.test(e))return;e[0]==="#"&&(e=e.substring(1));let n=parseInt(e.substring(0,2),16)/255,i=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255,r=parseInt(e.substring(6,8),16)/255;return t?(r>0?(Kl.maximumRed=r,Kl.red=void 0):(Kl.maximumRed=void 0,Kl.red=0),o>0?(Kl.maximumGreen=o,Kl.green=void 0):(Kl.maximumGreen=void 0,Kl.green=0),i>0?(Kl.maximumBlue=i,Kl.blue=void 0):(Kl.maximumBlue=void 0,Kl.blue=0),Kl.alpha=n,H.fromRandom(Kl)):new H(r,o,i,n)}function vT(e,t,n){let i=On(e,t,n);if(l(i))return qY(i,On(e,"colorMode",n)==="random")}function Krt(e){let t=Ni(e,"TimeStamp",Re.kmlgx),n=On(t,"when",Re.kmlgx);if(!l(t)||!l(n)||n.length===0)return;let i=K.fromIso8601(n),o=new Gr;return o.addInterval(new Sn({start:i,stop:Ue.MAXIMUM_VALUE})),o}function Zrt(e){let t=Ni(e,"TimeSpan",Re.kmlgx);if(!l(t))return;let n,i=Ni(t,"begin",Re.kmlgx),o=l(i)?K.fromIso8601(i.textContent):void 0,r=Ni(t,"end",Re.kmlgx),s=l(r)?K.fromIso8601(r.textContent):void 0;if(l(o)&&l(s)){if(K.lessThan(s,o)){let a=o;o=s,s=a}n=new Gr,n.addInterval(new Sn({start:o,stop:s}))}else l(o)?(n=new Gr,n.addInterval(new Sn({start:o,stop:Ue.MAXIMUM_VALUE}))):l(s)&&(n=new Gr,n.addInterval(new Sn({start:Ue.MINIMUM_VALUE,stop:s})));return n}function aye(){let e=new rc;return e.width=p0,e.height=p0,e.scaleByDistance=new Bt(Yge,Xge,Kge,Zge),e.pixelOffsetScaleByDistance=new Bt(Yge,Xge,Kge,Zge),e}function $Y(){let e=new Od;return e.outline=!0,e.outlineColor=H.WHITE,e}function cye(){let e=new Rd;return e.translucencyByDistance=new Bt(3e6,1,5e6,0),e.pixelOffset=new z(17,0),e.horizontalOrigin=xi.LEFT,e.font="16px sans-serif",e.style=Go.FILL_AND_OUTLINE,e}function QY(e,t,n,i,o){let r=On(e,"href",Re.kml);if(!l(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y(ii(e,"x",Re.gx),0),u=y(ii(e,"y",Re.gx),0);c=Math.min(c/32,7),u=7-Math.min(u/32,7);let f=8*u+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${f}.png`}let s=ZY(r,n,i);if(o){let a=On(e,"refreshMode",Re.kml),c=On(e,"viewRefreshMode",Re.kml);a==="onInterval"||a==="onExpire"?Tt(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&Tt(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let u=y(On(e,"viewBoundScale",Re.kml),1),f=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",d=y(On(e,"viewFormat",Re.kml),f),p=On(e,"httpQuery",Re.kml);l(d)&&s.setQueryParameters(su(FH(d))),l(p)&&s.setQueryParameters(su(FH(p)));let g=t._ellipsoid;return eX(s,t.camera,t.canvas,u,t._lastCameraView.bbox,g),s}return s}function $rt(e,t,n,i,o){let r=ii(t,"scale",Re.kml),s=ii(t,"heading",Re.kml),a=vT(t,"color",Re.kml),c=Ni(t,"Icon",Re.kml),u=QY(c,e,i,o,!1);l(c)&&!l(u)&&(u=!1);let f=ii(c,"x",Re.gx),d=ii(c,"y",Re.gx),p=ii(c,"w",Re.gx),g=ii(c,"h",Re.gx),m=Ni(t,"hotSpot",Re.kml),x=_0(m,"x"),b=_0(m,"y"),T=Ms(m,"xunits"),A=Ms(m,"yunits"),C=n.billboard;l(C)||(C=aye(),n.billboard=C),C.image=u,C.scale=r,C.color=a,(l(f)||l(d)||l(p)||l(g))&&(C.imageSubRegion=new We(f,d,p,g)),l(s)&&s!==0&&(C.rotation=P.toRadians(-s),C.alignedAxis=h.UNIT_Z),r=y(r,1);let E,v;l(x)&&(T==="pixels"?E=-x*r:T==="insetPixels"?E=(x-p0)*r:T==="fraction"&&(E=-x*p0*r),E+=p0*.5*r),l(b)&&(A==="pixels"?v=b*r:A==="insetPixels"?v=(-b+p0)*r:A==="fraction"&&(v=b*p0*r),v-=p0*.5*r),(l(E)||l(v))&&(C.pixelOffset=new z(E,v))}function NH(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r<s;r++){let a=t.childNodes.item(r);if(a.localName==="IconStyle")$rt(e,a,n,i,o);else if(a.localName==="LabelStyle"){let c=n.label;l(c)||(c=cye(),n.label=c),c.scale=y(ii(a,"scale",Re.kml),c.scale),c.fillColor=y(vT(a,"color",Re.kml),c.fillColor),c.text=n.name}else if(a.localName==="LineStyle"){let c=n.polyline;l(c)||(c=new cc,n.polyline=c),c.width=ii(a,"width",Re.kml),c.material=vT(a,"color",Re.kml),l(vT(a,"outerColor",Re.gx))&&Tt("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),l(ii(a,"outerWidth",Re.gx))&&Tt("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),l(ii(a,"physicalWidth",Re.gx))&&Tt("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),l(Ah(a,"labelVisibility",Re.gx))&&Tt("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")}else if(a.localName==="PolyStyle"){let c=n.polygon;l(c)||(c=$Y(),n.polygon=c),c.material=y(vT(a,"color",Re.kml),c.material),c.fill=y(Ah(a,"fill",Re.kml),c.fill),c.outline=y(Ah(a,"outline",Re.kml),c.outline)}else if(a.localName==="BalloonStyle"){let c=y(qY(On(a,"bgColor",Re.kml)),H.WHITE),u=y(qY(On(a,"textColor",Re.kml)),H.BLACK),f=On(a,"text",Re.kml);n.addProperty("balloonStyle"),n.balloonStyle={bgColor:c,textColor:u,text:f}}else if(a.localName==="ListStyle"){let c=On(a,"listItemType",Re.kml);(c==="radioFolder"||c==="checkOffOnly")&&Tt(`kml-listStyle-${c}`,`KML - Unsupported ListStyle with listItemType: ${c}`)}}}function Qrt(e,t,n,i,o){let r=new Qo,s,a=-1,c=t.childNodes,u=c.length;for(let d=0;d<u;d++){let p=c[d];(p.localName==="Style"||p.localName==="StyleMap")&&(a=d)}if(a!==-1){let d=c[a];if(d.localName==="Style")NH(e,d,r,i,o);else{let p=Ch(d,"Pair",Re.kml);for(let g=0;g<p.length;g++){let m=p[g],x=On(m,"key",Re.kml);if(x==="normal"){let b=On(m,"styleUrl",Re.kml);if(l(b))s=n.getById(b),l(s)||(s=n.getById(`#${b}`)),l(s)&&r.merge(s);else{let T=Ni(m,"Style",Re.kml);NH(e,T,r,i,o)}}else Tt(`kml-styleMap-${x}`,`KML - Unsupported StyleMap key: ${x}`)}}}let f=On(t,"styleUrl",Re.kml);if(l(f)){let d=f;if(f[0]!=="#"&&f.indexOf("#")!==-1){let p=f.split("#"),g=p[0];d=`${i.getDerivedResource({url:g}).getUrlComponent()}#${p[1]}`}s=n.getById(d),l(s)||(s=n.getById(`#${d}`)),l(s)&&r.merge(s)}return r}function Jrt(e,t,n){return t.fetchXML().then(function(i){return lye(e,i,n,t,!0)})}function lye(e,t,n,i,o,r){let s,a,c,u,f=Jge(t,"Style",Re.kml);if(l(f)){let x=f.length;for(s=0;s<x;s++)u=f[s],a=Ms(u,"id"),l(a)&&(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),l(n.getById(a))||(c=new Qo({id:a}),n.add(c),NH(e,u,c,i,r)))}let d=Jge(t,"StyleMap",Re.kml);if(l(d)){let x=d.length;for(s=0;s<x;s++){let b=d[s];if(a=Ms(b,"id"),l(a)){let T=Ch(b,"Pair",Re.kml);for(let A=0;A<T.length;A++){let C=T[A],E=On(C,"key",Re.kml);if(E==="normal"){if(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),!l(n.getById(a))){c=n.getOrCreateEntity(a);let v=On(C,"styleUrl",Re.kml);if(l(v)){v[0]!=="#"&&(v=`#${v}`),o&&l(i)&&(v=i.getUrlComponent()+v);let D=n.getById(v);l(D)&&c.merge(D)}else u=Ni(C,"Style",Re.kml),NH(e,u,c,i,r)}}else Tt(`kml-styleMap-${E}`,`KML - Unsupported StyleMap key: ${E}`)}}}}let p=[],g=t.getElementsByTagName("styleUrl"),m=g.length;for(s=0;s<m;s++){let x=g[s].textContent;if(x[0]!=="#"){let b=x.split("#");if(b.length===2){let T=b[0],A=i.getDerivedResource({url:T});p.push(Jrt(e,A,n))}}}return p}function JY(e,t,n){let i=new B_(e,t.id,["position"]),o=new Dm(t.position);t.polyline=l(n.polyline)?n.polyline.clone():new cc,t.polyline.positions=new F_([i,o])}function uye(e,t){return!l(e)&&!l(t)||e==="clampToGround"?je.CLAMP_TO_GROUND:e==="relativeToGround"?je.RELATIVE_TO_GROUND:e==="absolute"?je.NONE:t==="clampToSeaFloor"?(Tt("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),je.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(Tt("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),je.RELATIVE_TO_GROUND):(l(e)?Tt("kml-altitudeMode-unknown",`KML - Unknown <kml:altitudeMode>:${e}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`):Tt("kml-gx:altitudeMode-unknown",`KML - Unknown <gx:altitudeMode>:${t}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`),je.CLAMP_TO_GROUND)}function est(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new Dm(e))}function tst(e,t,n,i){if(!l(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r<o;r++){let s=e[r];i.scaleToGeodeticSurface(s,s)}return e}function kH(e,t,n,i){let o=t.label;l(o)||(o=l(n.label)?n.label.clone():cye(),t.label=o),o.text=t.name;let r=t.billboard;l(r)||(r=l(n.billboard)?n.billboard.clone():aye(),t.billboard=r),l(r.image)?r.image.getValue()||(r.image=void 0):r.image=e._pinBuilder.fromColor(H.YELLOW,64);let s=1;l(r.scale)&&(s=r.scale.getValue(),s!==0?o.pixelOffset=new z(s*16+1,0):(o.pixelOffset=void 0,o.horizontalOrigin=void 0)),l(i)&&e._clampToGround&&(r.heightReference=i,o.heightReference=i)}function fye(e,t){let n=e.path;l(n)||(n=new Np,n.leadTime=0,e.path=n);let i=t.polyline;l(i)&&(n.material=i.material,n.width=i.width)}function nst(e,t,n,i,o){let r=On(n,"coordinates",Re.kml),s=On(n,"altitudeMode",Re.kml),a=On(n,"altitudeMode",Re.gx),c=Ah(n,"extrude",Re.kml),u=e._ellipsoid,f=BH(r,u);return i.position=f,kH(e,i,o,uye(s,a)),c&&gF(s,a)&&JY(t,i,o),!0}function eye(e,t,n,i,o){let r=Ni(n,"coordinates",Re.kml),s=On(n,"altitudeMode",Re.kml),a=On(n,"altitudeMode",Re.gx),c=Ah(n,"extrude",Re.kml),u=Ah(n,"tessellate",Re.kml),f=gF(s,a),d=ii(n,"drawOrder",Re.gx),p=e._ellipsoid,g=LH(r,p),m=o.polyline;if(f&&c){let x=new Fp;i.wall=x,x.positions=g;let b=o.polygon;l(b)&&(x.fill=b.fill,x.material=b.material),x.outline=!0,l(m)?(x.outlineColor=l(m.material)?m.material.color:H.WHITE,x.outlineWidth=m.width):l(b)&&(x.outlineColor=l(b.material)?b.material.color:H.WHITE)}else if(e._clampToGround&&!f&&u){let x=new cc;x.clampToGround=!0,i.polyline=x,x.positions=g,l(m)?(x.material=l(m.material)?m.material.color.getValue(Ue.MINIMUM_VALUE):H.WHITE,x.width=y(m.width,1)):(x.material=H.WHITE,x.width=1),x.zIndex=d}else l(d)&&Tt("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!u&&Tt("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),m=l(m)?m.clone():new cc,i.polyline=m,m.positions=tst(g,s,a,p),(!u||f)&&(m.arcType=tn.NONE);return!0}function ist(e,t,n,i,o){let r=Ni(n,"outerBoundaryIs",Re.kml),s=Ni(r,"LinearRing",Re.kml),a=Ni(s,"coordinates",Re.kml),c=e._ellipsoid,u=LH(a,c),f=Ah(n,"extrude",Re.kml),d=On(n,"altitudeMode",Re.kml),p=On(n,"altitudeMode",Re.gx),g=gF(d,p),m=l(o.polygon)?o.polygon.clone():$Y(),x=o.polyline;if(l(x)&&(m.outlineColor=l(x.material)?x.material.color:H.WHITE,m.outlineWidth=x.width),i.polygon=m,g?(m.perPositionHeight=!0,m.extrudedHeight=f?0:void 0):e._clampToGround||(m.height=0),l(u)){let b=new Fa(u),T=Ch(n,"innerBoundaryIs",Re.kml);for(let A=0;A<T.length;A++){s=Ch(T[A],"LinearRing",Re.kml);for(let C=0;C<s.length;C++)a=Ni(s[C],"coordinates",Re.kml),u=LH(a,c),l(u)&&b.holes.push(new Fa(u))}m.hierarchy=b}return!0}function ost(e,t,n,i,o){let r=On(n,"altitudeMode",Re.kml),s=On(n,"altitudeMode",Re.gx),a=Ch(n,"coord",Re.gx),c=Ch(n,"angles",Re.gx),u=Ch(n,"when",Re.kml),f=Ah(n,"extrude",Re.kml),d=gF(r,s),p=e._ellipsoid;c.length>0&&Tt("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,u.length),m=[],x=[];for(let T=0;T<g;T++){let A=BH(a[T].textContent,p);m.push(A),x.push(K.fromIso8601(u[T].textContent))}let b=new ya;return b.addSamples(x,m),i.position=b,kH(e,i,o,uye(r,s)),fye(i,o),i.availability=new Gr,u.length>0&&i.availability.addInterval(new Sn({start:x[0],stop:x[x.length-1]})),d&&f&&JY(t,i,o),!0}function tye(e,t,n,i,o,r,s,a,c){let u=e[0],f=e[e.length-1],d=new ya;d.addSamples(e,t),n.intervals.addInterval(new Sn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:est(d,s,a)})),i.addInterval(new Sn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new Sn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:r}))}function rst(e,t,n,i,o){let r=Ah(n,"interpolate",Re.gx),s=Ch(n,"Track",Re.gx),a,c,u,f=!1,d=new V_,p=new Gr,g=new _a,m=e._ellipsoid;for(let x=0,b=s.length;x<b;x++){let T=s[x],A=Ch(T,"when",Re.kml),C=Ch(T,"coord",Re.gx),E=On(T,"altitudeMode",Re.kml),v=On(T,"altitudeMode",Re.gx),D=gF(E,v),O=Ah(T,"extrude",Re.kml),R=Math.min(C.length,A.length),M=[];a=[];for(let N=0;N<R;N++){let _=BH(C[N].textContent,m);M.push(_),a.push(K.fromIso8601(A[N].textContent))}r&&(l(c)&&tye([c,a[0]],[u,M[0]],g,p,d,!1,"absolute",void 0,!1),c=a[R-1],u=M[M.length-1]),tye(a,M,g,p,d,D&&O,E,v,!0),f=f||D&&O}return i.availability=p,i.position=g,kH(e,i,o),fye(i,o),f&&(JY(t,i,o),i.polyline.show=d),!0}var dye={Point:nst,LineString:eye,LinearRing:eye,Polygon:ist,Track:ost,MultiTrack:rst,MultiGeometry:sst,Model:ast};function sst(e,t,n,i,o,r){let s=n.childNodes,a=!1;for(let c=0,u=s.length;c<u;c++){let f=s.item(c),d=dye[f.localName];if(l(d)){let p=sye(f,t,r);p.parent=i,p.name=i.name,p.availability=i.availability,p.description=i.description,p.kml=i.kml,d(e,t,f,p,o)&&(a=!0)}}return a}function ast(e,t,n,i,o){return Tt("kml-unsupportedGeometry",`KML - Unsupported geometry: ${n.localName}`),!1}function cst(e,t){let n=Ni(e,"ExtendedData",Re.kml);if(!l(n))return;l(Ni(n,"SchemaData",Re.kml))&&Tt("kml-schemaData","KML - SchemaData is unsupported"),l(Ms(n,"xmlns:prefix"))&&Tt("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");let i={},o=Ch(n,"Data",Re.kml);if(l(o)){let r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Ms(a,"name");l(c)&&(i[c]={displayName:On(a,"displayName",Re.kml),value:On(a,"value",Re.kml)})}}t.kml.extendedData=i}var xo;typeof document<"u"&&(xo=document.createElement("div"));function lst(e,t,n,i,o){let r,s,a,c=t.kml,u=c.extendedData,f=On(e,"description",Re.kml),d=y(t.balloonStyle,n.balloonStyle),p=H.WHITE,g=H.BLACK,m=f;l(d)&&(p=y(d.bgColor,H.WHITE),g=y(d.textColor,H.BLACK),m=y(d.text,f));let x;if(l(m)){if(m=m.replace("$[name]",y(t.name,"")),m=m.replace("$[description]",y(f,"")),m=m.replace("$[address]",y(c.address,"")),m=m.replace("$[Snippet]",y(c.snippet,"")),m=m.replace("$[id]",t.id),m=m.replace("$[geDirections]",""),l(u)){let A=m.match(/\$\[.+?\]/g);if(A!==null)for(r=0;r<A.length;r++){let C=A[r],E=C.substr(2,C.length-3),v=/\/displayName$/.test(E);E=E.replace(/\/displayName$/,""),x=u[E],l(x)&&(x=v?x.displayName:x.value),l(x)&&(m=m.replace(C,y(x,"")))}}}else if(l(u)&&(a=Object.keys(u),a.length>0)){for(m='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',r=0;r<a.length;r++)s=a[r],x=u[s],m+=`<tr><th>${y(x.displayName,s)}</th><td>${y(x.value,"")}</td></tr>`;m+="</tbody></table>"}if(!l(m))return;m=Wrt.link(m),xo.innerHTML=m;let b=xo.querySelectorAll("a");for(r=0;r<b.length;r++)b[r].setAttribute("target","_blank");l(i)&&i.keys.length>1&&(Hu(xo,"a","href",i),Hu(xo,"link","href",i),Hu(xo,"area","href",i),Hu(xo,"img","src",i),Hu(xo,"iframe","src",i),Hu(xo,"video","src",i),Hu(xo,"audio","src",i),Hu(xo,"source","src",i),Hu(xo,"track","src",i),Hu(xo,"input","src",i),Hu(xo,"embed","src",i),Hu(xo,"script","src",i),Hu(xo,"video","poster",i)),Gu(xo,"a","href",o),Gu(xo,"link","href",o),Gu(xo,"area","href",o),Gu(xo,"img","src",o),Gu(xo,"iframe","src",o),Gu(xo,"video","src",o),Gu(xo,"audio","src",o),Gu(xo,"source","src",o),Gu(xo,"track","src",o),Gu(xo,"input","src",o),Gu(xo,"embed","src",o),Gu(xo,"script","src",o),Gu(xo,"video","poster",o);let T='<div class="cesium-infoBox-description-lighter" style="';T+="overflow:auto;",T+="word-wrap:break-word;",T+=`background-color:${p.toCssColorString()};`,T+=`color:${g.toCssColorString()};`,T+='">',T+=`${xo.innerHTML}</div>`,xo.innerHTML="",t.description=T}function VH(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=sye(t,i,n.context),c=a.kml,u=Qrt(e,t,n.styleCollection,r,s),f=On(t,"name",Re.kml);a.name=f,a.parent=o;let d=Zrt(t);l(d)||(d=Krt(t)),a.availability=d,nX(a);function p(C){return C?C.show&&p(C.parent):!0}let g=Ah(t,"visibility",Re.kml);a.show=p(o)&&y(g,!0);let m=Ni(t,"author",Re.atom),x=c.author;x.name=On(m,"name",Re.atom),x.uri=On(m,"uri",Re.atom),x.email=On(m,"email",Re.atom);let b=Ni(t,"link",Re.atom),T=c.link;T.href=Ms(b,"href"),T.hreflang=Ms(b,"hreflang"),T.rel=Ms(b,"rel"),T.type=Ms(b,"type"),T.title=Ms(b,"title"),T.length=Ms(b,"length"),c.address=On(t,"address",Re.kml),c.phoneNumber=On(t,"phoneNumber",Re.kml),c.snippet=On(t,"Snippet",Re.kml),cst(t,a),lst(t,a,u,s,r);let A=e._ellipsoid;return pye(t,a,A),mye(t,a,A),l(Ni(t,"Region",Re.kml))&&Tt("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:u}}function hye(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function ust(e,t,n,i){let o=VH(e,t,n),r=He(n);r.parentEntity=o.entity,hye(e,t,r,i)}function fst(e,t,n,i){let o=VH(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let u=0,f=c.length;u<f&&!a;u++){let d=c.item(u),p=dye[d.localName];l(p)&&(p(e,n.entityCollection,d,r,s,r.id),a=!0)}a||(r.merge(s),kH(e,r,s))}var dst={FlyTo:pst,Wait:mst,SoundCue:GY,AnimatedUpdate:GY,TourControl:GY};function hst(e,t,n,i){let o=On(t,"name",Re.kml),r=Ms(t,"id"),s=new dF(o,r),a=Ni(t,"Playlist",Re.gx);if(a){let c=e._ellipsoid,u=a.childNodes;for(let f=0;f<u.length;f++){let d=u[f];if(d.localName){let p=dst[d.localName];p?p(s,d,c):console.log(`Unknown KML Tour playlist entry type ${d.localName}`)}}}e._kmlTours.push(s)}function GY(e,t){Tt(`KML Tour unsupported node ${t.localName}`)}function mst(e,t){let n=ii(t,"duration",Re.gx);e.addPlaylistEntry(new pF(n))}function pst(e,t,n){let i=ii(t,"duration",Re.gx),o=On(t,"flyToMode",Re.gx),r={kml:{}};pye(t,r,n),mye(t,r,n);let s=r.kml.lookAt||r.kml.camera,a=new mF(i,o,s);e.addPlaylistEntry(a)}function mye(e,t,n){let i=Ni(e,"Camera",Re.kml);if(l(i)){let o=y(ii(i,"longitude",Re.kml),0),r=y(ii(i,"latitude",Re.kml),0),s=y(ii(i,"altitude",Re.kml),0),a=y(ii(i,"heading",Re.kml),0),c=y(ii(i,"tilt",Re.kml),0),u=y(ii(i,"roll",Re.kml),0),f=h.fromDegrees(o,r,s,n),d=Ia.fromDegrees(a,c-90,u);t.kml.camera=new uF(f,d)}}function pye(e,t,n){let i=Ni(e,"LookAt",Re.kml);if(l(i)){let o=y(ii(i,"longitude",Re.kml),0),r=y(ii(i,"latitude",Re.kml),0),s=y(ii(i,"altitude",Re.kml),0),a=ii(i,"heading",Re.kml),c=ii(i,"tilt",Re.kml),u=y(ii(i,"range",Re.kml),0);c=P.toRadians(y(c,0)),a=P.toRadians(y(a,0));let f=new $f(a,c-P.PI_OVER_TWO,u),d=h.fromDegrees(o,r,s,n);t.kml.lookAt=new fF(d,f)}}function _st(e,t,n,i){let o=n.screenOverlayContainer;if(!l(o))return;let r=n.sourceResource,s=n.uriResolver,a=Ni(t,"Icon",Re.kml),c=QY(a,e,r,s,!1);if(!l(c))return;let u=document.createElement("img");e._screenOverlays.push(u),u.src=c.url,u.onload=function(){let f=["position: absolute"],d=Ni(t,"screenXY",Re.kml),p=Ni(t,"overlayXY",Re.kml),g=Ni(t,"size",Re.kml),m,x,b,T,A,C;l(g)&&(m=_0(g,"x"),x=_0(g,"y"),b=Ms(g,"xunits"),T=Ms(g,"yunits"),l(m)&&m!==-1&&m!==0&&(b==="fraction"?A=`width: ${Math.floor(m*100)}%`:b==="pixels"&&(A=`width: ${m}px`),f.push(A)),l(x)&&x!==-1&&x!==0&&(T==="fraction"?C=`height: ${Math.floor(x*100)}%`:T==="pixels"&&(C=`height: ${x}px`),f.push(C))),u.style=f.join(";");let E=0,v=u.height;l(p)&&(m=_0(p,"x"),x=_0(p,"y"),b=Ms(p,"xunits"),T=Ms(p,"yunits"),l(m)&&(b==="fraction"?E=m*u.width:(b==="pixels"||b==="insetPixels")&&(E=m)),l(x)&&(T==="fraction"?v=x*u.height:(T==="pixels"||T==="insetPixels")&&(v=x))),l(d)&&(m=_0(d,"x"),x=_0(d,"y"),b=Ms(d,"xunits"),T=Ms(d,"yunits"),l(m)&&(b==="fraction"?A=`left: calc(${Math.floor(m*100)}% - ${E}px)`:b==="pixels"?A=`left: ${m-E}px`:b==="insetPixels"&&(A=`right: ${m-E}px`),f.push(A)),l(x)&&(T==="fraction"?C=`bottom: calc(${Math.floor(x*100)}% - ${v}px)`:T==="pixels"?C=`bottom: ${x-v}px`:T==="insetPixels"&&(C=`top: ${x-v}px`),f.push(C))),u.style=f.join(";")},o.appendChild(u)}function gst(e,t,n,i){let r=VH(e,t,n).entity,s,a=!1,c=e._ellipsoid,u=LH(Ni(t,"LatLonQuad",Re.gx),c),f=ii(t,"drawOrder",Re.kml);if(l(u))s=$Y(),s.hierarchy=new Fa(u),s.zIndex=f,r.polygon=s,a=!0;else{s=new Md,s.zIndex=f,r.rectangle=s;let m=Ni(t,"LatLonBox",Re.kml);if(l(m)){let x=ii(m,"west",Re.kml),b=ii(m,"south",Re.kml),T=ii(m,"east",Re.kml),A=ii(m,"north",Re.kml);l(x)&&(x=P.negativePiToPi(P.toRadians(x))),l(b)&&(b=P.clampToLatitudeRange(P.toRadians(b))),l(T)&&(T=P.negativePiToPi(P.toRadians(T))),l(A)&&(A=P.clampToLatitudeRange(P.toRadians(A))),s.coordinates=new se(x,b,T,A);let C=ii(m,"rotation",Re.kml);if(l(C)){let E=P.toRadians(C);s.rotation=E,s.stRotation=E}}}let d=Ni(t,"Icon",Re.kml),p=QY(d,e,n.sourceResource,n.uriResolver,!0);if(l(p)){a&&Tt("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection.");let m=ii(d,"x",Re.gx),x=ii(d,"y",Re.gx),b=ii(d,"w",Re.gx),T=ii(d,"h",Re.gx);(l(m)||l(x)||l(b)||l(T))&&Tt("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),s.material=p,s.material.color=vT(t,"color",Re.kml),s.material.transparent=!0}else s.material=vT(t,"color",Re.kml);let g=On(t,"altitudeMode",Re.kml);l(g)?g==="absolute"?(s.height=ii(t,"altitude",Re.kml),s.zIndex=void 0):g!=="clampToGround"&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`):(g=On(t,"altitudeMode",Re.gx),g==="relativeToSeaFloor"?(Tt("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),s.height=ii(t,"altitude",Re.kml),s.zIndex=void 0):g==="clampToSeaFloor"?Tt("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):l(g)&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`))}function _ye(e,t,n,i){e._unsupportedNode.raiseEvent(e,n.parentEntity,t,n.entityCollection,n.styleCollection,n.sourceResource,n.uriResolver),Tt(`kml-unsupportedFeature-${t.nodeName}`,`KML - Unsupported feature: ${t.nodeName}`)}var g0={INTERVAL:0,EXPIRE:1,STOP:2};function FH(e){if(!l(e)||e.length===0)return"";let t=e[0];return(t==="&"||t==="?")&&(e=e.substring(1)),e}var yst=new se,BS=new fe,WY=new z,xst=new h;function eX(e,t,n,i,o,r){function s(u){return u<-P.PI_OVER_TWO?-P.PI_OVER_TWO:u>P.PI_OVER_TWO?P.PI_OVER_TWO:u}function a(u){return u>P.PI?u-P.TWO_PI:u<-P.PI?u+P.TWO_PI:u}let c=J0(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),l(t)&&t._mode!==ne.MORPHING){let u,f;if(o=y(o,yst),l(n)&&(WY.x=n.clientWidth*.5,WY.y=n.clientHeight*.5,u=t.pickEllipsoid(WY,r,xst)),l(u)?f=r.cartesianToCartographic(u,BS):(f=se.center(o,BS),u=r.cartographicToCartesian(f)),l(i)&&!P.equalsEpsilon(i,1,P.EPSILON9)){let T=o.width*i*.5,A=o.height*i*.5;o=new se(a(f.longitude-T),s(f.latitude-A),a(f.longitude+T),s(f.latitude+A))}c=c.replace("[bboxWest]",P.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",P.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",P.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",P.toDegrees(o.north).toString());let d=P.toDegrees(f.longitude).toString(),p=P.toDegrees(f.latitude).toString();c=c.replace("[lookatLon]",d),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",P.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",P.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,u)),c=c.replace("[lookatTerrainLon]",d),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",f.height.toString()),r.cartesianToCartographic(t.positionWC,BS),c=c.replace("[cameraLon]",P.toDegrees(BS.longitude).toString()),c=c.replace("[cameraLat]",P.toDegrees(BS.latitude).toString()),c=c.replace("[cameraAlt]",P.toDegrees(BS.height).toString());let g=t.frustum,m=g.aspectRatio,x="",b="";if(l(m)){let T=P.toDegrees(g.fov);m>1?(x=T,b=T/m):(b=T,x=T*m)}c=c.replace("[horizFov]",x.toString()),c=c.replace("[vertFov]",b.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");l(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(su(c))}function bst(e,t,n,i){let r=VH(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=Ni(t,"Link",Re.kml);if(l(c)||(c=Ni(t,"Url",Re.kml)),l(c)){let u=On(c,"href",Re.kml),f,d;if(l(u)){let p=u;if(u=ZY(u,s,n.uriResolver),/^data:/.test(u.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{if(p=u.clone(),f=On(c,"viewRefreshMode",Re.kml),f==="onRegion"){Tt("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}d=y(On(c,"viewBoundScale",Re.kml),1);let b=f==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",T=y(On(c,"viewFormat",Re.kml),b),A=On(c,"httpQuery",Re.kml);l(T)&&u.setQueryParameters(su(FH(T))),l(A)&&u.setQueryParameters(su(FH(A)));let C=e._ellipsoid;eX(u,e.camera,e.canvas,d,e._lastCameraView.bbox,C)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},m=new $s,x=tX(e,m,u,g).then(function(b){let T=e._entityCollection,A=m.values;T.suspendEvents();for(let v=0;v<A.length;v++){let D=A[v];l(D.parent)||(D.parent=r,nX(D)),T.add(D)}T.resumeEvents();let C=On(c,"refreshMode",Re.kml),E=y(ii(c,"refreshInterval",Re.kml),0);if(C==="onInterval"&&E>0||C==="onExpire"||f==="onStop"){let v=Ni(b,"NetworkLinkControl",Re.kml),D=l(v),O=K.now(),R={id:qn(),href:u,cookie:{},lastUpdated:O,updating:!1,entity:r,viewBoundScale:d,needsUpdate:!1,cameraUpdateTime:O},M=0;if(D&&(R.cookie=su(y(On(v,"cookie",Re.kml),"")),M=y(ii(v,"minRefreshPeriod",Re.kml),0)),C==="onInterval")D&&(E=Math.max(M,E)),R.refreshMode=g0.INTERVAL,R.time=E;else if(C==="onExpire"){let N;if(D&&(N=On(v,"expires",Re.kml)),l(N))try{let _=K.fromIso8601(N),S=K.secondsDifference(_,O);S>0&&S<M&&K.addSeconds(O,M,_),R.refreshMode=g0.EXPIRE,R.time=_}catch{Tt("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else Tt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element")}else l(e.camera)?(R.refreshMode=g0.STOP,R.time=y(ii(c,"viewRefreshTime",Re.kml),0)):Tt("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires the `camera` property to be defined.");l(R.refreshMode)&&e._networkLinks.set(R.id,R)}}).catch(function(b){Tt(`An error occured during loading ${u.url}`),e._error.raiseEvent(e,b)});i.addPromise(x)}}}function Tst(e,t,n,i){let o=KY[t.localName];return l(o)?o(e,t,n,i):_ye(e,t,n,i)}function YY(e,t,n,i,o,r,s){t.removeAll();let a=n.documentElement,c=a.localName==="Document"?a:Ni(a,"Document",Re.kml),u=On(c,"name",Re.kml);l(u)||(u=L_(i.getUrlComponent())),l(e._name)||(e._name=u);let f=new Wu._DeferredLoading(e),d=new $s(e);return Promise.all(lye(e,n,d,i,!1,o)).then(function(){let p=n.documentElement;if(p.localName==="kml"){let m=p.childNodes;for(let x=0;x<m.length;x++){let b=m[x];if(l(KY[b.localName])){p=b;break}}}let g={parentEntity:void 0,entityCollection:t,styleCollection:d,sourceResource:i,uriResolver:o,context:s,screenOverlayContainer:r};return t.suspendEvents(),Tst(e,p,g,f),t.resumeEvents(),f.wait().then(function(){return n.documentElement})})}function Cst(e,t,n,i,o){let r=rn("ThirdParty/Workers/z-worker-pako.js");TS({workerScripts:{deflate:[r,"./pako_deflate.min.js"],inflate:[r,"./pako_inflate.min.js"]}});let s=new eH(new K_(n));return Promise.resolve(s.getEntries()).then(function(a){let c=[],u={},f;for(let d=0;d<a.length;d++){let p=a[d];p.directory||(/\.kml$/i.test(p.filename)&&(!l(f)||!/\//i.test(p.filename))?(l(f)&&c.push(HY(f,u)),f=p):c.push(HY(p,u)))}return l(f)&&c.push(Xrt(f,u)),Promise.all(c).then(function(){if(s.close(),!l(u.kml))throw new ce("KMZ file does not contain a KML document.");return u.keys=Object.keys(u),YY(e,t,u.kml,i,u,o)})})}function tX(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=i.sourceUri,r=i.uriResolver,s=i.context,a=i.screenOverlayContainer,c=n;if(typeof n=="string"||n instanceof we){n=we.createIfNeeded(n),c=n.fetchBlob(),o=y(o,n.clone());let u=e._resourceCredits,f=n.credits;if(l(f)){let d=f.length;for(let p=0;p<d;p++)u.push(f[p])}}else o=y(o,we.DEFAULT.clone());return o=we.createIfNeeded(o),l(a)&&(a=Rn(a)),Promise.resolve(c).then(function(u){return u instanceof Blob?qrt(u).then(function(f){return f?Cst(e,t,u,o,a):Yrt(u).then(function(d){d=oye(d),d=rye(d);let p,g;try{p=XY.parseFromString(d,"application/xml")}catch(m){g=m.toString()}if(l(g)||p.body||p.documentElement.tagName==="parsererror"){let m=l(g)?g:p.documentElement.firstChild.nodeValue;throw m||(m=p.body.innerText),new ce(m)}return YY(e,t,p,o,r,a,s)})}):YY(e,t,u,o,r,a,s)}).catch(function(u){return e._error.raiseEvent(e,u),console.log(u),Promise.reject(u)})}function Wu(e){e=y(e,y.EMPTY_OBJECT);let t=e.camera,n=e.canvas;this._changed=new me,this._error=new me,this._loading=new me,this._refresh=new me,this._unsupportedNode=new me,this._clock=void 0,this._entityCollection=new $s(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new Z_,this._networkLinks=new St,this._entityCluster=new Pu,this.canvas=n,this.camera=t,this._lastCameraView={position:l(t)?h.clone(t.positionWC):void 0,direction:l(t)?h.clone(t.directionWC):void 0,up:l(t)?h.clone(t.upWC):void 0,bbox:l(t)?t.computeViewRectangle():se.clone(se.MAX_VALUE)},this._ellipsoid=y(e.ellipsoid,ee.default);let i=e.credit;typeof i=="string"&&(i=new wt(i)),this._credit=i,this._resourceCredits=[],this._kmlTours=[],this._screenOverlays=[]}Wu.load=function(e,t){return t=y(t,y.EMPTY_OBJECT),new Wu(t).load(e,t)};Object.defineProperties(Wu.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}},kmlTours:{get:function(){return this._kmlTours}}});Wu.prototype.load=function(e,t){t=y(t,y.EMPTY_OBJECT),Wr.setLoading(this,!0);let n=this._name;this._name=void 0,this._clampToGround=y(t.clampToGround,!1);let i=this;return tX(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,Ue.MINIMUM_VALUE),u=K.equals(a,Ue.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new ch,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=jr.LOOP_STOP,o.clockStep=yo.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Wr.setLoading(i,!1),i}).catch(function(o){return Wr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};Wu.prototype.destroy=function(){for(;this._screenOverlays.length>0;)this._screenOverlays.pop().remove()};function nX(e){let t=e.parent;if(l(t)){let n=t.availability;if(l(n)){let i=e.availability;l(i)?i.intersect(n):e.availability=n}}}function Ast(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=Ni(r,"NetworkLinkControl",Re.kml),c=l(a),u=0;if(c){if(l(Ni(a,"Update",Re.kml))){Tt("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=su(y(On(a,"cookie",Re.kml),"")),u=y(ii(a,"minRefreshPeriod",Re.kml),0)}let f=K.now(),d=t.refreshMode;if(d===g0.INTERVAL)l(a)&&(t.time=Math.max(u,t.time));else if(d===g0.EXPIRE){let O;if(l(a)&&(O=On(a,"expires",Re.kml)),l(O))try{let R=K.fromIso8601(O),M=K.secondsDifference(R,f);M>0&&M<u&&K.addSeconds(f,u,R),t.time=R}catch{Tt("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),s=!0}else Tt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),s=!0}let p=t.entity,g=e._entityCollection,m=n.values;function x(O){g.remove(O);let R=O._children,M=R.length;for(let N=0;N<M;++N)x(R[N])}g.suspendEvents();let b=g.values.slice(),T;for(T=0;T<b.length;++T){let O=b[T];O.parent===p&&(O.parent=void 0,x(O))}for(g.resumeEvents(),g.suspendEvents(),T=0;T<m.length;T++){let O=m[T];l(O.parent)||(O.parent=p,nX(O)),g.add(O)}g.resumeEvents(),s?i.remove(t.id):t.lastUpdated=f;let A=g.computeAvailability(),C=A.start,E=A.stop,v=K.equals(C,Ue.MINIMUM_VALUE),D=K.equals(E,Ue.MAXIMUM_VALUE);if(!v||!D){let O=e._clock;(O.startTime!==C||O.stopTime!==E)&&(O.startTime=C,O.stopTime=E,e._changed.raiseEvent(e))}t.updating=!1,t.needsUpdate=!1,e._refresh.raiseEvent(e,o.getUrlComponent(!0))}}var jY=new St;Wu.prototype.update=function(e){let t=this._networkLinks;if(t.length===0)return!0;let n=K.now(),i=this;jY.removeAll();function o(f){let d=f._children,p=d.length;for(let g=0;g<p;++g){let m=d[g];jY.set(m.id,m),o(m)}}let r=!1,s=this._lastCameraView,a=this.camera;l(a)&&!(a.positionWC.equalsEpsilon(s.position,P.EPSILON7)&&a.directionWC.equalsEpsilon(s.direction,P.EPSILON7)&&a.upWC.equalsEpsilon(s.up,P.EPSILON7))&&(s.position=h.clone(a.positionWC),s.direction=h.clone(a.directionWC),s.up=h.clone(a.upWC),s.bbox=a.computeViewRectangle(),r=!0);let c=new St,u=!1;return t.values.forEach(function(f){let d=f.entity;if(!jY.contains(d.id)){if(!f.updating){let p=!1;if(f.refreshMode===g0.INTERVAL?K.secondsDifference(n,f.lastUpdated)>f.time&&(p=!0):f.refreshMode===g0.EXPIRE?K.greaterThan(n,f.time)&&(p=!0):f.refreshMode===g0.STOP&&(r&&(f.needsUpdate=!0,f.cameraUpdateTime=n),f.needsUpdate&&K.secondsDifference(n,f.cameraUpdateTime)>=f.time&&(p=!0)),p){o(d),f.updating=!0;let g=new $s,m=f.href.clone();m.setQueryParameters(f.cookie);let x=y(i._ellipsoid,ee.default);eX(m,i.camera,i.canvas,f.viewBoundScale,s.bbox,x),tX(i,g,m,{context:d.id}).then(Ast(i,f,g,c,m)).catch(function(b){let T=`NetworkLink ${f.href} refresh failed: ${b}`;console.log(T),i._error.raiseEvent(i,T)}),u=!0}}c.set(f.id,f)}}),u&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function Est(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}Wu._DeferredLoading=zm;Wu._getTimestamp=Ci;var yF=Wu;function xF(){de.throwInstantiationError()}xF.prototype.update=de.throwInstantiationError;xF.prototype.getBoundingSphere=de.throwInstantiationError;xF.prototype.isDestroyed=de.throwInstantiationError;xF.prototype.destroy=de.throwInstantiationError;var iX=xF;var Sst={SATELLITE:1,OCEANS:2,HILLSHADE:3},Eh=Object.freeze(Sst);function y0(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Pi(this._ellipsoid),l(e.rectangleSouthwestInMeters)&&l(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new z(-i,-i),this._rectangleNortheastInMeters=new z(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new se(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(y0.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});y0.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};y0.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};y0.prototype.rectangleToNativeRectangle=function(e,t){let n=this._projection,i=n.project(se.southwest(e)),o=n.project(se.northeast(e));return l(t)?(t.west=i.x,t.south=i.y,t.east=o.x,t.north=o.y,t):new se(i.x,i.y,o.x,o.y)};y0.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.getNumberOfXTilesAtLevel(n),r=this.getNumberOfYTilesAtLevel(n),s=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,a=this._rectangleSouthwestInMeters.x+e*s,c=this._rectangleSouthwestInMeters.x+(e+1)*s,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,f=this._rectangleNortheastInMeters.y-t*u,d=this._rectangleNortheastInMeters.y-(t+1)*u;return l(i)?(i.west=a,i.south=d,i.east=c,i.north=f,i):new se(a,d,c,f)};y0.prototype.tileXYToRectangle=function(e,t,n,i){let o=this.tileXYToNativeRectangle(e,t,n,i),r=this._projection,s=r.unproject(new z(o.west,o.south)),a=r.unproject(new z(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o};y0.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!se.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),a=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,d=this._projection.project(e),p=d.x-this._rectangleSouthwestInMeters.x,g=this._rectangleNortheastInMeters.y-d.y,m=p/a|0;m>=o&&(m=o-1);let x=g/u|0;return x>=r&&(x=r-1),l(n)?(n.x=m,n.y=x,n):new z(m,x)};var is=y0;var oX,gye="AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmRQoHkV6yy7n-w7RwBvqWZInYtbyiKcHHbPb4eH54WQnfJ6TQhd3sKcL6dutvEZajLojeHefo1qcBMplg4hb9OtcvtchKPzwRyH1-W_12nt2rhP3xbk8peiMvgIWZ__JYvZ8Wqw-8UWulEjXnpLRjclKf3NYHCTQgaw6Y6labxudMrnBgOODrJ1WdRxek-flc8.AT1_UW44TSnh",kS={};kS.defaultAccessToken=gye;kS.defaultWorldImageryServer=new we({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});kS.defaultWorldHillshadeServer=new we({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});kS.defaultWorldOceanServer=new we({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});kS.getDefaultTokenCredit=function(e){if(e===gye){if(!l(oX)){let t='<b> This application is using a default ArcGIS access token. Please assign <i>Cesium.ArcGisMapService.defaultAccessToken</i> with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at <a href="https://developers.arcgis.com/">https://developers.arcgis.com/</a>.</b>';oX=new wt(t,!0)}return oX}};var ju=kS;function rX(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=we.createIfNeeded(e.missingImageUrl),n=this;function i(r){l(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=xd(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,u=e.pixelsToCheck;for(let f=0,d=u.length;a&&f<d;++f){let p=u[f],g=p.x*4+p.y*c;s[g+3]>0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}rX.prototype.isReady=function(){return this._isReady};rX.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!l(n)||l(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=xd(e),o=e.width;for(let r=0,s=t.length;r<s;++r){let a=t[r],c=a.x*4+a.y*o;for(let u=0;u<4;++u){let f=c+u;if(i[f]!==n[f])return!1}}return!0};var bF=rX;function sX(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}sX.prototype.configureNameFromProperties=function(e){let t=10,n;for(let i in e)if(e.hasOwnProperty(i)&&e[i]){let o=i.toLowerCase();t>1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}l(n)&&(this.name=e[n])};sX.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='<table class="cesium-infoBox-defaultTable">';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r)&&(typeof r=="object"?i+=`<tr><td>${o}</td><td>${t(r)}</td></tr>`:i+=`<tr><td>${o}</td><td>${r}</td></tr>`)}return i+="</table>",i}this.description=t(e)};var Sh=sX;function VS(){de.throwInstantiationError()}Object.defineProperties(VS.prototype,{rectangle:{get:de.throwInstantiationError},tileWidth:{get:de.throwInstantiationError},tileHeight:{get:de.throwInstantiationError},maximumLevel:{get:de.throwInstantiationError},minimumLevel:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},tileDiscardPolicy:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},proxy:{get:de.throwInstantiationError},hasAlphaChannel:{get:de.throwInstantiationError}});VS.prototype.getTileCredits=function(e,t,n){de.throwInstantiationError()};VS.prototype.requestImage=function(e,t,n,i){de.throwInstantiationError()};VS.prototype.pickFeatures=function(e,t,n,i,o){de.throwInstantiationError()};var vst=/\.ktx2$/i;VS.loadImage=function(e,t){let n=we.createIfNeeded(t);return vst.test(n.url)?bl(n):l(e)&&l(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var al=VS;function yye(e){this.useTiles=y(e.usePreCachedTilesIfAvailable,!0);let t=e.ellipsoid;this.tilingScheme=y(e.tilingScheme,new Ki({ellipsoid:t})),this.rectangle=y(e.rectangle,this.tilingScheme.rectangle),this.ellipsoid=t;let n=e.credit;typeof n=="string"&&(n=new wt(n)),this.credit=n,this.tileCredits=void 0,this.tileDiscardPolicy=e.tileDiscardPolicy,this.tileWidth=y(e.tileWidth,256),this.tileHeight=y(e.tileHeight,256),this.maximumLevel=e.maximumLevel}yye.prototype.build=function(e){e._useTiles=this.useTiles,e._tilingScheme=this.tilingScheme,e._rectangle=this.rectangle,e._credit=this.credit,e._tileCredits=this.tileCredits,e._tileDiscardPolicy=this.tileDiscardPolicy,e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,this.useTiles&&!l(this.tileDiscardPolicy)&&(e._tileDiscardPolicy=new bF({missingImageUrl:xye(e,0,0,this.maximumLevel).url,pixelsToCheck:[new z(0,0),new z(200,20),new z(20,200),new z(80,110),new z(160,130)],disableCheckIfAllPixelsAreTransparent:!0}))};function wst(e,t){let n=e.tileInfo;if(!l(n))t.useTiles=!1;else{if(t.tileWidth=n.rows,t.tileHeight=n.cols,n.spatialReference.wkid===102100||n.spatialReference.wkid===102113)t.tilingScheme=new is({ellipsoid:t.ellipsoid});else if(e.tileInfo.spatialReference.wkid===4326)t.tilingScheme=new Ki({ellipsoid:t.ellipsoid});else{let i=`Tile spatial reference WKID ${e.tileInfo.spatialReference.wkid} is not supported.`;throw new ce(i)}if(t.maximumLevel=e.tileInfo.lods.length-1,l(e.fullExtent)){if(l(e.fullExtent.spatialReference)&&l(e.fullExtent.spatialReference.wkid))if(e.fullExtent.spatialReference.wkid===102100||e.fullExtent.spatialReference.wkid===102113){let i=new Pi,o=e.fullExtent,r=i.unproject(new h(Math.max(o.xmin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(o.ymin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),s=i.unproject(new h(Math.min(o.xmax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(o.ymax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));t.rectangle=new se(r.longitude,r.latitude,s.longitude,s.latitude)}else if(e.fullExtent.spatialReference.wkid===4326)t.rectangle=se.fromDegrees(e.fullExtent.xmin,e.fullExtent.ymin,e.fullExtent.xmax,e.fullExtent.ymax);else{let i=`fullExtent.spatialReference WKID ${e.fullExtent.spatialReference.wkid} is not supported.`;throw new ce(i)}}else t.rectangle=t.tilingScheme.rectangle;t.useTiles=!0}l(e.copyrightText)&&e.copyrightText.length>0&&(l(t.credit)?t.tileCredits=[new wt(e.copyrightText)]:t.credit=new wt(e.copyrightText))}function Dst(e,t){let n=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(n+=`: ${t.message}`),new ce(n)}async function Ist(e,t){let n=e.getDerivedResource({queryParameters:{f:"json"}});try{let i=await n.fetchJson();wst(i,t)}catch(i){Dst(e,i)}}function Hm(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new Ki({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers,this._credit=e.credit,this._tileCredits=void 0;let t=e.credit;typeof t=="string"&&(t=new wt(t)),this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new me}Hm.fromBasemapType=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n,i,o;switch(e){case Eh.SATELLITE:{n=y(t.token,ju.defaultAccessToken),i=we.createIfNeeded(ju.defaultWorldImageryServer),i.appendForwardSlash();let r=ju.getDefaultTokenCredit(n);l(r)&&(o=wt.clone(r))}break;case Eh.OCEANS:{n=y(t.token,ju.defaultAccessToken),i=we.createIfNeeded(ju.defaultWorldOceanServer),i.appendForwardSlash();let r=ju.getDefaultTokenCredit(n);l(r)&&(o=wt.clone(r))}break;case Eh.HILLSHADE:{n=y(t.token,ju.defaultAccessToken),i=we.createIfNeeded(ju.defaultWorldHillshadeServer),i.appendForwardSlash();let r=ju.getDefaultTokenCredit(n);l(r)&&(o=wt.clone(r))}break;default:}return Hm.fromUrl(i,{...t,token:n,credit:o,usePreCachedTilesIfAvailable:!0})};function xye(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof Ii?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(Hm.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});Hm.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=we.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&n.setQueryParameters({token:t.token});let i=new Hm(t);i._resource=n;let o=new yye(t);return y(t.usePreCachedTilesIfAvailable,!0)&&await Ist(n,o),o.build(i),i};Hm.prototype.getTileCredits=function(e,t,n){return this._tileCredits};Hm.prototype.requestImage=function(e,t,n,i){return al.loadImage(this,xye(this,e,t,n,i))};Hm.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof Ii)s=P.toDegrees(i),a=P.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new fe(i,o,0));s=p.x,a=p.y,c="3857"}let u="visible";l(this._layers)&&(u+=`:${this._layers}`);let f={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:u};return this._resource.getDerivedResource({url:"identify",queryParameters:f}).fetchJson().then(function(p){let g=[],m=p.results;if(!l(m))return g;for(let x=0;x<m.length;++x){let b=m[x],T=new Sh;if(T.data=b,T.name=b.value,T.properties=b.attributes,T.configureDescriptionFromProperties(b.attributes),b.geometryType==="esriGeometryPoint"&&b.geometry){let A=b.geometry.spatialReference&&b.geometry.spatialReference.wkid?b.geometry.spatialReference.wkid:4326;if(A===4326||A===4283)T.position=fe.fromDegrees(b.geometry.x,b.geometry.y,b.geometry.z);else if(A===102100||A===900913||A===3857){let C=new Pi;T.position=C.unproject(new h(b.geometry.x,b.geometry.y,b.geometry.z))}}g.push(T)}return g})};Hm._metadataCache={};var Q_=Hm;var TF={NONE:0,SCENE_LIGHT:1,SUNLIGHT:2};TF.fromGlobeFlags=function(e){return e.enableLighting&&e.dynamicAtmosphereLighting?e.dynamicAtmosphereLightingFromSun?TF.SUNLIGHT:TF.SCENE_LIGHT:TF.NONE};var wT=Object.freeze(TF);function Pst(){this.lightIntensity=10,this.rayleighCoefficient=new h(55e-7,13e-6,284e-7),this.mieCoefficient=new h(21e-6,21e-6,21e-6),this.rayleighScaleHeight=1e4,this.mieScaleHeight=3200,this.mieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.dynamicLighting=wT.NONE}var CF=Pst;function DT(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new _i,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new z,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(DT.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let e=this._framebuffers;if(l(e))return e[e.length-1].getColorTexture(0)}}});function bye(e){let t=e._framebuffers;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function Rst(e,t){bye(e);let n=e._width,i=e._height,o=t.halfFloatingPointTexture?Je.HALF_FLOAT:Je.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),s=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),s[c]=new _i,s[c].update(t,n,i,1,o);let a=s[r-1].getColorTexture(0);e._previousLuminance.update(t,a.width,a.height,1,o),e._framebuffers=s}function Tye(e){let t=e._commands;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function Ost(e,t){let n;if(t===0)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{let i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function Mst(e,t){let n=`uniform sampler2D colorTexture; -in vec2 v_textureCoordinates; -float sampleTexture(vec2 offset) { -`;return e===0?n+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); - return czm_luminance(color.rgb); -`:n+=` return texture(colorTexture, v_textureCoordinates + offset).r; -`,n+=`} +#ifdef FRAGMENT_DEPTH_CHECK + if (sizeInMeters) { + translate /= mpp; + dimensions /= mpp; + imageSize /= mpp; + } -`,n+=`uniform vec2 colorTextureDimensions; -uniform vec2 minMaxLuminance; -uniform sampler2D previousLuminance; -void main() { - float color = 0.0; - float xStep = 1.0 / colorTextureDimensions.x; - float yStep = 1.0 / colorTextureDimensions.y; - int count = 0; - for (int i = 0; i < 3; ++i) { - for (int j = 0; j < 3; ++j) { - vec2 offset; - offset.x = -xStep + float(i) * xStep; - offset.y = -yStep + float(j) * yStep; - if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { - continue; - } - color += sampleTexture(offset); - ++count; - } - } - if (count > 0) { - color /= float(count); - } -`,e===t-1&&(n+=` float previous = texture(previousLuminance, vec2(0.5)).r; - color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); - color = previous + (color - previous) / (60.0 * 1.5); - color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); -`),n+=` out_FragColor = vec4(color); -} -`,n}function Lst(e,t){Tye(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(Mst(r,i),{framebuffer:n[r].framebuffer,uniformMap:Ost(e,r)});e._commands=o}DT.prototype.clear=function(e){let t=this._framebuffers;if(!l(t))return;let n=this._clearCommand;l(n)||(n=this._clearCommand=new oi({color:new H(0,0,0,0),framebuffer:void 0}));let i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)};DT.prototype.update=function(e){let t=e.drawingBufferWidth,n=e.drawingBufferHeight;(t!==this._width||n!==this._height)&&(this._width=t,this._height=n,Rst(this,e),Lst(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o};DT.prototype.execute=function(e,t){this._colorTexture=t;let n=this._commands;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o)n[o].execute(e)};DT.prototype.isDestroyed=function(){return!1};DT.prototype.destroy=function(){return bye(this),Tye(this),ue(this)};var AF=DT;function Nst(e){let t,n=e.name,i=e.message;l(n)&&l(i)?t=`${n}: ${i}`:t=e.toString();let o=e.stack;return l(o)&&(t+=` -${o}`),t}var Gm=Nst;function UH(e,t,n,i,o,r,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=o,this.timesRetried=y(r,0),this.retry=!1,this.error=s}UH.reportError=function(e,t,n,i,o,r,s,a){let c=e;return l(e)?(c.provider=t,c.message=i,c.x=o,c.y=r,c.level=s,c.retry=!1,c.error=a,++c.timesRetried):c=new UH(t,i,o,r,s,0,a),l(n)&&n.numberOfListeners>0?n.raiseEvent(c):l(t)&&console.log(`An error occurred in "${t.constructor.name}": ${Gm(i)}`),c};UH.reportSuccess=function(e){l(e)&&(e.timesRetried=-1)};var Do=UH;var Fst={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},US=Object.freeze(Fst);function EF(e){}EF.prototype.isReady=function(){return!0};EF.prototype.shouldDiscardImage=function(e){return EF.EMPTY_IMAGE===e};var zH;Object.defineProperties(EF,{EMPTY_IMAGE:{get:function(){return l(zH)||(zH=new Image,zH.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),zH}}});var zS=EF;function Cye(e){this.tileWidth=void 0,this.tileHeight=void 0,this.maximumLevel=void 0,this.imageUrlSubdomains=void 0,this.imageUrlTemplate=void 0,this.attributionList=void 0}Cye.prototype.build=function(e){e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,e._imageUrlSubdomains=this.imageUrlSubdomains,e._imageUrlTemplate=this.imageUrlTemplate;let t=e._attributionList=this.attributionList;t||(t=[]),e._attributionList=t;for(let n=0,i=t.length;n<i;++n){let o=t[n];if(o.credit instanceof wt)break;o.credit=new wt(o.attribution);let r=o.coverageAreas;for(let s=0,a=o.coverageAreas.length;s<a;++s){let c=r[s],u=c.bbox;c.bbox=new se(P.toRadians(u[1]),P.toRadians(u[0]),P.toRadians(u[3]),P.toRadians(u[2]))}}};function Bst(e,t){if(e.resourceSets.length!==1)throw new ce("metadata does not specify one resource in resourceSets");let n=e.resourceSets[0].resources[0];t.tileWidth=n.imageWidth,t.tileHeight=n.imageHeight,t.maximumLevel=n.zoomMax-1,t.imageUrlSubdomains=n.imageUrlSubdomains,t.imageUrlTemplate=n.imageUrl;let i=n.imageryProviders;l(n.imageryProviders)&&(i=n.imageryProviders.filter(o=>o.coverageAreas?.some(r=>l(r.bbox)))),t.attributionList=i}function kst(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i+=`: ${t.message}`),Do.reportError(void 0,n,l(n)?n._errorEvent:void 0,i,void 0,void 0,void 0,t),new ce(i)}async function Vst(e,t,n){let i=e.url,o=Ls._metadataCache[i];l(o)||(o=e.fetchJsonp("jsonp"),Ls._metadataCache[i]=o);try{let r=await o;return Bst(r,t)}catch(r){kst(e,r,n)}}function Ls(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._mapStyle=y(e.mapStyle,US.AERIAL),this._mapLayer=e.mapLayer,this._culture=y(e.culture,""),this._key=e.key,this._tileDiscardPolicy=e.tileDiscardPolicy,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new zS),this._proxy=e.proxy,this._credit=new wt(`<a href="https://www.microsoft.com/en-us/maps/product/enduserterms"><img src="${Ls.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new is({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new me}Object.defineProperties(Ls.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},mapLayer:{get:function(){return this._mapLayer}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return l(this.mapLayer)}}});Ls.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.tileProtocol;l(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=y(t.mapStyle,US.AERIAL),o=we.createIfNeeded(e);o.appendForwardSlash();let r={incl:"ImageryProviders",key:t.key,uriScheme:n};l(t.mapLayer)&&(r.mapLayer=t.mapLayer),l(t.culture)&&(r.culture=t.culture);let s=o.getDerivedResource({url:`REST/v1/Imagery/Metadata/${i}`,queryParameters:r}),a=new Ls(t);a._resource=o;let c=new Cye(t);return await Vst(s,c),c.build(a),a};var Ust=new se;Ls.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,Ust);return Gst(this._attributionList,n,i)};Ls.prototype.requestImage=function(e,t,n,i){let o=al.loadImage(this,zst(this,e,t,n,i));if(l(o))return o.catch(function(r){return l(r.blob)&&r.blob.size===0?zS.EMPTY_IMAGE:Promise.reject(r)})};Ls.prototype.pickFeatures=function(e,t,n,i,o){};Ls.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;e&r&&(s|=1),t&r&&(s|=2),i+=s}return i};Ls.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];s&1&&(t|=r),s&2&&(n|=r)}return{x:t,y:n,level:i}};Ls._logoUrl=void 0;Object.defineProperties(Ls,{logoUrl:{get:function(){return l(Ls._logoUrl)||(Ls._logoUrl=rn("Assets/Images/bing_maps_credit.png")),Ls._logoUrl},set:function(e){Ls._logoUrl=e}}});function zst(e,t,n,i,o){let r=e._imageUrlTemplate,s=e._imageUrlSubdomains,a=(t+n+i)%s.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:Ls.tileXYToQuadKey(t,n,i),subdomain:s[a],culture:e._culture},queryParameters:{n:"z"}})}var Hst=new se;function Gst(e,t,n){++t;let i=[];for(let o=0,r=e.length;o<r;++o){let s=e[o],a=s.coverageAreas,c=!1;for(let u=0,f=s.coverageAreas.length;!c&&u<f;++u){let d=a[u];if(t>=d.zoomMin&&t<=d.zoomMax){let p=se.intersection(n,d.bbox,Hst);l(p)&&(c=!0)}}c&&i.push(s.credit)}return i}Ls._metadataCache={};var SF=Ls;var Wst=new h(1,1,1);function aX(e){e=y(e,Wst),this._dimensions=h.clone(e)}Object.defineProperties(aX.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var jst=new h;aX.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,jst),i=P.randomBetween(-n.x,n.x),o=P.randomBetween(-n.y,n.y),r=P.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var cX=aX;var vF=`in vec2 v_textureCoordinates; -const float M_PI = 3.141592653589793; +#if defined(ROTATION) || defined(ALIGNED_AXIS) + v_rotationMatrix = rotationMatrix; +#else + v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); +#endif -float vdcRadicalInverse(int i) -{ - float r; - float base = 2.0; - float value = 0.0; - float invBase = 1.0 / base; - float invBi = invBase; - for (int x = 0; x < 100; x++) + float enableDepthCheck = 0.0; + if (lengthSq < disableDepthTestDistance) { - if (i <= 0) - { - break; - } - r = mod(float(i), base); - value += r * invBi; - invBi *= invBase; - i = int(float(i) * invBase); + enableDepthCheck = 1.0; } - return value; -} -vec2 hammersley2D(int i, int N) -{ - return vec2(float(i) / float(N), vdcRadicalInverse(i)); -} + float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12)); + float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12)); -vec3 importanceSampleGGX(vec2 xi, float alphaRoughness, vec3 N) -{ - float alphaRoughnessSquared = alphaRoughness * alphaRoughness; - float phi = 2.0 * M_PI * xi.x; - float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (alphaRoughnessSquared - 1.0) * xi.y)); - float sinTheta = sqrt(1.0 - cosTheta * cosTheta); - vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); - vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); - vec3 tangentX = normalize(cross(upVector, N)); - vec3 tangentY = cross(N, tangentX); - return tangentX * H.x + tangentY * H.y + N * H.z; -} + float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12)); + float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12)); -/** - * Estimate the geometric self-shadowing of the microfacets in a surface, - * using the Smith Joint GGX visibility function. - * Note: Vis = G / (4 * NdotL * NdotV) - * see Eric Heitz. 2014. Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs. Journal of Computer Graphics Techniques, 3 - * see Real-Time Rendering. Page 331 to 336. - * see https://google.github.io/filament/Filament.md.html#materialsystem/specularbrdf/geometricshadowing(specularg) - * - * @param {float} alphaRoughness The roughness of the material, expressed as the square of perceptual roughness. - * @param {float} NdotL The cosine of the angle between the surface normal and the direction to the light source. - * @param {float} NdotV The cosine of the angle between the surface normal and the direction to the camera. - */ -float smithVisibilityGGX(float alphaRoughness, float NdotL, float NdotV) -{ - float alphaRoughnessSq = alphaRoughness * alphaRoughness; + v_compressed.x = eyeDepth; + v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck; + v_compressed.z = dw * SHIFT_LEFT12 + dh; + v_compressed.w = iw * SHIFT_LEFT12 + ih; + v_originTextureCoordinateAndTranslate.xy = depthOrigin; + v_originTextureCoordinateAndTranslate.zw = translate; + v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate; - float GGXV = NdotL * sqrt(NdotV * NdotV * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); - float GGXL = NdotV * sqrt(NdotL * NdotL * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); +#endif - float GGX = GGXV + GGXL; // 2.0 if NdotL = NdotV = 1.0 - if (GGX > 0.0) - { - return 0.5 / GGX; // 1/4 if NdotL = NdotV = 1.0 - } - return 0.0; -} +#ifdef SDF + vec4 outlineColor; + float outlineWidth; -vec2 integrateBrdf(float roughness, float NdotV) -{ - vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV); - float A = 0.0; - float B = 0.0; - const int NumSamples = 1024; - float alphaRoughness = roughness * roughness; - for (int i = 0; i < NumSamples; i++) - { - vec2 xi = hammersley2D(i, NumSamples); - vec3 H = importanceSampleGGX(xi, alphaRoughness, vec3(0.0, 0.0, 1.0)); - vec3 L = 2.0 * dot(V, H) * H - V; - float NdotL = clamp(L.z, 0.0, 1.0); - float NdotH = clamp(H.z, 0.0, 1.0); - float VdotH = clamp(dot(V, H), 0.0, 1.0); - if (NdotL > 0.0) - { - float G = smithVisibilityGGX(alphaRoughness, NdotL, NdotV); - float G_Vis = 4.0 * G * VdotH * NdotL / NdotH; - float Fc = pow(1.0 - VdotH, 5.0); - A += (1.0 - Fc) * G_Vis; - B += Fc * G_Vis; - } - } - return vec2(A, B) / float(NumSamples); + temp = sdf.x; + temp = temp * SHIFT_RIGHT8; + outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.r = floor(temp); + + temp = sdf.y; + temp = temp * SHIFT_RIGHT8; + float temp3 = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.a = floor(temp); + outlineColor /= 255.0; + + v_outlineWidth = outlineWidth / 255.0; + v_outlineColor = outlineColor; + v_outlineColor.a *= translucency; +#endif + + v_pickColor = pickColor; + + v_color = color; + v_color.a *= translucency; + v_splitDirection = splitDirection; } +`;function Ai(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=Vt.clone(n)),l(i)&&(i=Vt.clone(i)),l(o)&&(o=Vt.clone(o)),l(r)&&(r=Nt.clone(r)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._pixelOffset=z.clone(y(e.pixelOffset,z.ZERO)),this._translate=new z(0,0),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._heightReference=y(e.heightReference,qe.NONE),this._verticalOrigin=y(e.verticalOrigin,Mn.CENTER),this._horizontalOrigin=y(e.horizontalOrigin,Ti.CENTER),this._scale=y(e.scale,1),this._color=H.clone(y(e.color,H.WHITE)),this._rotation=y(e.rotation,0),this._alignedAxis=h.clone(y(e.alignedAxis,h.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=o,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=y(e.sizeInMeters,!1),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=y(e.collection,t),this._pickId=void 0,this._pickPrimitive=y(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let s=e.image,a=e.imageId;l(s)&&(l(a)||(typeof s=="string"?a=s:l(s.src)?a=s.src:a=Wn()),this._imageId=a,this._image=s),l(e.imageSubRegion)&&(this._imageId=a,this._imageSubRegion=e.imageSubRegion),l(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=ne.SCENE3D,this._clusterShow=!0,this._outlineColor=H.clone(y(e.outlineColor,H.BLACK)),this._outlineWidth=y(e.outlineWidth,0),this._updateClamping(),this._splitDirection=y(e.splitDirection,zr.NONE)}var Jce=Ai.SHOW_INDEX=0,xz=Ai.POSITION_INDEX=1,ile=Ai.PIXEL_OFFSET_INDEX=2,BWe=Ai.EYE_OFFSET_INDEX=3,kWe=Ai.HORIZONTAL_ORIGIN_INDEX=4,VWe=Ai.VERTICAL_ORIGIN_INDEX=5,UWe=Ai.SCALE_INDEX=6,bz=Ai.IMAGE_INDEX_INDEX=7,ele=Ai.COLOR_INDEX=8,zWe=Ai.ROTATION_INDEX=9,HWe=Ai.ALIGNED_AXIS_INDEX=10,GWe=Ai.SCALE_BY_DISTANCE_INDEX=11,WWe=Ai.TRANSLUCENCY_BY_DISTANCE_INDEX=12,jWe=Ai.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,qWe=Ai.DISTANCE_DISPLAY_CONDITION=14,YWe=Ai.DISABLE_DEPTH_DISTANCE=15;Ai.TEXTURE_COORDINATE_BOUNDS=16;var tle=Ai.SDF_INDEX=17,XWe=Ai.SPLIT_DIRECTION_INDEX=18;Ai.NUMBER_OF_PROPERTIES=19;function Uo(e,t){let n=e._billboardCollection;l(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Object.defineProperties(Ai.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Uo(this,Jce))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),this._updateClamping(),Uo(this,xz))}},heightReference:{get:function(){return this._heightReference},set:function(e){let t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),Uo(this,xz))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;z.equals(t,e)||(z.clone(e,t),Uo(this,ile))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Vt.equals(t,e)||(this._scaleByDistance=Vt.clone(e,t),Uo(this,GWe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Vt.equals(t,e)||(this._translucencyByDistance=Vt.clone(e,t),Uo(this,WWe))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;Vt.equals(t,e)||(this._pixelOffsetScaleByDistance=Vt.clone(e,t),Uo(this,jWe))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;h.equals(t,e)||(h.clone(e,t),Uo(this,BWe))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,Uo(this,kWe))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,Uo(this,VWe))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,Uo(this,UWe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),Uo(this,ele))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,Uo(this,zWe))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){let t=this._alignedAxis;h.equals(t,e)||(h.clone(e,t),Uo(this,HWe))}},width:{get:function(){return y(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,Uo(this,bz))}},height:{get:function(){return y(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,Uo(this,bz))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,Uo(this,ele))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Nt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Nt.clone(e,this._distanceDisplayCondition),Uo(this,qWe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Uo(this,YWe))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,l(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){l(e)?typeof e=="string"?this.setImage(e,e):e instanceof Ae?this.setImage(e.url,e):l(e.src)?this.setImage(e.src,e):this.setImage(Wn(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,Uo(this,bz))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition),Uo(this,xz)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Uo(this,Jce))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),Uo(this,tle))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Uo(this,tle))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,Uo(this,XWe))}}});Ai.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};Ai.prototype._updateClamping=function(){Ai._updateClamping(this._billboardCollection,this)};var Tz=new fe;Ai._updateClamping=function(e,t){let n=e._scene;if(!l(n))return;let i=y(n.ellipsoid,ee.default),o=n.frameState.mode,r=o!==t._mode;if(t._mode=o,(t._heightReference===qe.NONE||r)&&l(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===qe.NONE||!l(t._position))return;l(t._removeCallbackFunc)&&t._removeCallbackFunc();let s=i.cartesianToCartographic(t._position);if(!l(s)){t._actualClampedPosition=void 0;return}function a(u){let f=i.cartographicToCartesian(u,t._clampedPosition);oA(t._heightReference)&&(t._mode===ne.SCENE3D?(u.height+=s.height,i.cartographicToCartesian(u,f)):f.x+=s.height),t._clampedPosition=f}t._removeCallbackFunc=n.updateHeight(s,a,t._heightReference),fe.clone(s,Tz);let c=n.getHeight(s,t._heightReference);l(c)&&(Tz.height=c),a(Tz)};Ai.prototype._loadImage=function(){let e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion,o,r=this;function s(c){if(r._imageId!==t||r._image!==n||!We.equals(r._imageSubRegion,i))return;let u=e.textureCoordinates[c];r._imageWidth=e.texture.width*u.width,r._imageHeight=e.texture.height*u.height,r._imageIndex=c,r._ready=!0,r._image=void 0,r._imageIndexPromise=void 0,Uo(r,bz);let f=r._billboardCollection._scene;l(f)&&f.frameState.afterRender.push(()=>!0)}if(l(n)&&(o=e.addImage(t,n)),l(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,!l(o))return;let a=e.getImageIndex(t);if(l(a)&&!l(i)){s(a);return}o.then(s).catch(function(c){console.error(`Error loading image for billboard: ${c}`),r._imageIndexPromise=void 0})};Ai.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,l(this._billboardCollection._textureAtlas)&&this._loadImage())};Ai.prototype.setImageSubRegion=function(e,t){this._imageId===e&&We.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=We.clone(t),l(this._billboardCollection._textureAtlas)&&this._loadImage())};Ai.prototype._setTranslate=function(e){let t=this._translate;z.equals(t,e)||(z.clone(e,t),Uo(this,ile))};Ai.prototype._getActualPosition=function(){return l(this._clampedPosition)?this._clampedPosition:this._actualPosition};Ai.prototype._setActualPosition=function(e){l(this._clampedPosition)||h.clone(e,this._actualPosition),Uo(this,xz)};var nle=new ie;Ai._computeActualPosition=function(e,t,n,i){return l(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===ne.SCENE3D?t:(F.multiplyByPoint(i,t,nle),Hi.computeActualEllipsoidPosition(n,nle))};var ole=new h;Ai._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=F.multiplyByPoint(e,t,ole),a=Hi.worldWithEyeOffsetToWindowCoordinates(o,s,n,r);if(l(a))return z.add(a,i,a),a};var yz=new z(0,0);Ai.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;l(t)||(t=new z),z.clone(this._pixelOffset,yz),z.add(yz,this._translate,yz);let i=n.modelMatrix,o=this._position;if(l(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==ne.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,Tz);o=a.cartographicToCartesian(c,ole),i=F.IDENTITY}return Ai._computeScreenSpacePosition(i,o,this._eyeOffset,yz,e,t)};Ai.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===Ti.RIGHT?s-=i:e.horizontalOrigin===Ti.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===Mn.BOTTOM||e.verticalOrigin===Mn.BASELINE?a-=o:e.verticalOrigin===Mn.CENTER&&(a-=o*.5),l(n)||(n=new We),n.x=s,n.y=a,n.width=i,n.height=o,n};Ai.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&We.equals(this._imageSubRegion,e._imageSubRegion)&&H.equals(this._color,e._color)&&z.equals(this._pixelOffset,e._pixelOffset)&&z.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&Vt.equals(this._scaleByDistance,e._scaleByDistance)&&Vt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Vt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Nt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};Ai.prototype._destroy=function(){l(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var _o=Ai;var KWe={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},Io=Object.freeze(KWe);var ZWe={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},Js=Object.freeze(ZWe);function __(e,t,n,i,o){this.bottomLeft=y(e,z.ZERO),this.topRight=y(t,z.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var $We=new z(16,16);function Ly(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,$We);this._context=e.context,this._pixelFormat=y(e.pixelFormat,nt.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=Wn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(Ly.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return l(this._texture)||(this._texture=new Pt({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function QWe(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),u=o*(a+t.height+r),f=s/c,d=a/u,p=new __(new z(s+r,r),new z(c,a)),g=new __(new z,new z(c,a),e._root,p),m=new __(new z(r,a+r),new z(c,u)),x=new __(new z,new z(c,u),g,m);for(let A=0;A<e._textureCoordinates.length;A++){let C=e._textureCoordinates[A];l(C)&&(C.x*=f,C.y*=d,C.width*=f,C.height*=d)}let b=new Pt({context:e._context,width:c,height:u,pixelFormat:e._pixelFormat}),T=new Vr({context:n,colorTextures:[e._texture],destroyAttachments:!1});T._bind(),b.copyFromFramebuffer(0,0,0,0,c,u),T._unBind(),T.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=b,e._root=x}else{let s=o*(t.width+2*r),a=o*(t.height+2*r);s<e._initialSize.x&&(s=e._initialSize.x),a<e._initialSize.y&&(a=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new Pt({context:e._context,width:s,height:a,pixelFormat:e._pixelFormat}),e._root=new __(new z(r,r),new z(s,a))}}function Cz(e,t,n){if(l(t)){if(!l(t.childNode1)&&!l(t.childNode2)){if(l(t.imageIndex))return;let i=t.topRight.x-t.bottomLeft.x,o=t.topRight.y-t.bottomLeft.y,r=i-n.width,s=o-n.height;if(r<0||s<0)return;if(r===0&&s===0)return t;if(r>s){t.childNode1=new __(new z(t.bottomLeft.x,t.bottomLeft.y),new z(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a<t.topRight.x&&(t.childNode2=new __(new z(a,t.bottomLeft.y),new z(t.topRight.x,t.topRight.y)))}else{t.childNode1=new __(new z(t.bottomLeft.x,t.bottomLeft.y),new z(t.topRight.x,t.bottomLeft.y+n.height));let a=t.bottomLeft.y+n.height+e._borderWidthInPixels;a<t.topRight.y&&(t.childNode2=new __(new z(t.bottomLeft.x,a),new z(t.topRight.x,t.topRight.y)))}return Cz(e,t.childNode1,n)}return Cz(e,t.childNode1,n)||Cz(e,t.childNode2,n)}}function rle(e,t,n){let i=Cz(e,e._root,t);if(l(i)){i.imageIndex=n;let o=e._texture.width,r=e._texture.height,s=i.topRight.x-i.bottomLeft.x,a=i.topRight.y-i.bottomLeft.y,c=i.bottomLeft.x/o,u=i.bottomLeft.y/r,f=s/o,d=a/r;e._textureCoordinates[n]=new We(c,u,f,d),e._texture.copyFrom({source:t,xOffset:i.bottomLeft.x,yOffset:i.bottomLeft.y})}else QWe(e,t),rle(e,t,n);e._guid=Wn()}function sle(e,t){if(!l(e)||e.isDestroyed())return-1;let n=e.numberOfImages;return rle(e,t,n),n}Ly.prototype.getImageIndex=function(e){return this._indexHash[e]};Ly.prototype.addImageSync=function(e,t){let n=this._indexHash[e];return l(n)||(n=sle(this,t),this._idHash[e]=Promise.resolve(n),this._indexHash[e]=n),n};Ly.prototype.addImage=function(e,t){let n=this._idHash[e];if(l(n))return n;typeof t=="function"?t=t(e):(typeof t=="string"||t instanceof Ae)&&(t=Ae.createIfNeeded(t).fetchImage());let i=this;return n=Promise.resolve(t).then(function(o){let r=sle(i,o);return i._indexHash[e]=r,r}),this._idHash[e]=n,n};Ly.prototype.addSubRegion=function(e,t){let n=this._idHash[e];if(!l(n))throw new se(`image with id "${e}" not found in the atlas.`);let i=this;return Promise.resolve(n).then(function(o){if(o===-1)return-1;let r=i._texture.width,s=i._texture.height,a=i._textureCoordinates[o],c=a.x+t.x/r,u=a.y+t.y/s,f=t.width/r,d=t.height/s,p=i._textureCoordinates.push(new We(c,u,f,d))-1;return i._indexHash[e]=p,i._guid=Wn(),p})};Ly.prototype.isDestroyed=function(){return!1};Ly.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var Ny=Ly;var JWe=_o.SHOW_INDEX,WM=_o.POSITION_INDEX,ale=_o.PIXEL_OFFSET_INDEX,cle=_o.EYE_OFFSET_INDEX,eje=_o.HORIZONTAL_ORIGIN_INDEX,tje=_o.VERTICAL_ORIGIN_INDEX,nje=_o.SCALE_INDEX,GM=_o.IMAGE_INDEX_INDEX,lle=_o.COLOR_INDEX,ije=_o.ROTATION_INDEX,oje=_o.ALIGNED_AXIS_INDEX,ule=_o.SCALE_BY_DISTANCE_INDEX,fle=_o.TRANSLUCENCY_BY_DISTANCE_INDEX,dle=_o.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,hle=_o.DISTANCE_DISPLAY_CONDITION,rje=_o.DISABLE_DEPTH_DISTANCE,sje=_o.TEXTURE_COORDINATE_BOUNDS,mle=_o.SDF_INDEX,ple=_o.SPLIT_DIRECTION_INDEX,bj=_o.NUMBER_OF_PROPERTIES,go,aje={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11,splitDirection:12},cje={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12,splitDirection:13};function Mf(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(bj),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new ce,this._baseVolumeWC=new ce,this._baseVolume2D=new ce,this._boundingVolume=new ce,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=y(e.debugShowTextureAtlas,!1),this.blendOption=y(e.blendOption,Io.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._buffersUsage=[Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW],this._highlightColor=H.clone(H.WHITE);let t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};let n=this._scene;l(n)&&l(n.terrainProviderChanged)&&(this._removeCallbackFunc=n.terrainProviderChanged.addEventListener(function(){let i=this._billboards,o=i.length;for(let r=0;r<o;++r)l(i[r])&&i[r]._updateClamping()},this))}Object.defineProperties(Mf.prototype,{length:{get:function(){return Tj(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}});function _le(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Mf.prototype.add=function(e){let t=new _o(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t};Mf.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=void 0,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Mf.prototype.removeAll=function(){_le(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0};function Tj(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;let t=[],n=e._billboards,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(s._index=r++,t.push(s))}e._billboards=t}}Mf.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]};Mf.prototype.contains=function(e){return l(e)&&e._billboardCollection===this};Mf.prototype.get=function(e){return Tj(this),this._billboards[e]};var mj;function lje(e){let n=e.cache.billboardCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s+0,o[r+4]=s+2,o[r+5]=s+3;return n=xt.createIndexBuffer({context:e,typedArray:o,usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=n,n}function uje(e){let t=e.cache.billboardCollection_indexBufferInstanced;return l(t)||(t=xt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t),t}function fje(e){let t=e.cache.billboardCollection_vertexBufferInstanced;return l(t)||(t=xt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Be.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t),t}Mf.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<bj;++i){let o=n[i]===0?Be.STATIC_DRAW:Be.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function dje(e,t,n,i,o,r){let s=[{index:go.positionHighAndScale,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[WM]},{index:go.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[WM]},{index:go.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[ale]},{index:go.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[fle]},{index:go.compressedAttribute2,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[lle]},{index:go.eyeOffset,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[cle]},{index:go.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[ule]},{index:go.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[dle]},{index:go.compressedAttribute3,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[hle]},{index:go.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[sje]},{index:go.splitDirection,componentsPerAttribute:1,componentDatatype:X.FLOAT,usage:n[ple]}];i&&s.push({index:go.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:fje(e)}),l(o)&&s.push({index:go.a_batchId,componentsPerAttribute:1,componentDatatype:X.FLOAT,bufferUsage:Be.STATIC_DRAW}),r&&s.push({index:go.sdf,componentsPerAttribute:2,componentDatatype:X.FLOAT,usage:n[mle]});let a=i?t:4*t;return new wp(e,s,a,i)}var pj=new jn;function gle(e,t,n,i,o){let r,s=i[go.positionHighAndScale],a=i[go.positionLowAndRotation],c=o._getActualPosition();e._mode===ne.SCENE3D&&(ce.expand(e._baseVolume,c,e._baseVolume),e._boundingVolumeDirty=!0),jn.fromCartesian(c,pj);let u=o.scale,f=o.rotation;f!==0&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,u);let d=pj.high,p=pj.low;e._instanced?(r=o._index,s(r,d.x,d.y,d.z,u),a(r,p.x,p.y,p.z,f)):(r=o._index*4,s(r+0,d.x,d.y,d.z,u),s(r+1,d.x,d.y,d.z,u),s(r+2,d.x,d.y,d.z,u),s(r+3,d.x,d.y,d.z,u),a(r+0,p.x,p.y,p.z,f),a(r+1,p.x,p.y,p.z,f),a(r+2,p.x,p.y,p.z,f),a(r+3,p.x,p.y,p.z,f))}var Of=new z,Rf=32768,cE=65536,_j=4096,gm=256,hje=128,mje=32,pje=8,yle=4,_je=1/256,xle=0,ble=2,Tle=3,Cle=1;function Ale(e,t,n,i,o){let r,s=i[go.compressedAttribute0],a=o.pixelOffset,c=a.x,u=a.y,f=o._translate,d=f.x,p=f.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(c+d),Math.abs(-u+p));let g=o.horizontalOrigin,m=o._verticalOrigin,x=o.show&&o.clusterShow;o.color.alpha===0&&(x=!1),m===Mn.BASELINE&&(m=Mn.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&g===Ti.CENTER,e._allVerticalCenter=e._allVerticalCenter&&m===Mn.CENTER;let b=0,T=0,A=0,C=0,E=o._imageIndex;if(E!==-1){let U=n[E];b=U.x,T=U.y,A=U.width,C=U.height}let v=b+A,D=T+C,O=Math.floor(P.clamp(c,-Rf,Rf)+Rf)*hje;O+=(g+1)*mje,O+=(m+1)*pje,O+=(x?1:0)*yle;let R=Math.floor(P.clamp(u,-Rf,Rf)+Rf)*gm,M=Math.floor(P.clamp(d,-Rf,Rf)+Rf)*gm,N=(P.clamp(p,-Rf,Rf)+Rf)*_je,_=Math.floor(N),S=Math.floor((N-_)*gm);R+=_,M+=S,Of.x=b,Of.y=T;let w=Nn.compressTextureCoordinates(Of);Of.x=v;let I=Nn.compressTextureCoordinates(Of);Of.y=D;let L=Nn.compressTextureCoordinates(Of);Of.x=b;let B=Nn.compressTextureCoordinates(Of);e._instanced?(r=o._index,s(r,O,R,M,w)):(r=o._index*4,s(r+0,O+xle,R,M,w),s(r+1,O+ble,R,M,I),s(r+2,O+Tle,R,M,L),s(r+3,O+Cle,R,M,B))}function Ele(e,t,n,i,o){let r,s=i[go.compressedAttribute1],a=o.alignedAxis;h.equals(a,h.ZERO)||(e._shaderAlignedAxis=!0);let c=0,u=1,f=1,d=1,p=o.translucencyByDistance;l(p)&&(c=p.near,u=p.nearValue,f=p.far,d=p.farValue,(u!==1||d!==1)&&(e._shaderTranslucencyByDistance=!0));let g=0,m=o._imageIndex;m!==-1&&(g=n[m].width);let x=e._textureAtlas.texture.width,b=Math.round(y(o.width,x*g));e._maxSize=Math.max(e._maxSize,b);let T=P.clamp(b,0,cE),A=0;Math.abs(h.magnitudeSquared(a)-1)<P.EPSILON6&&(A=Nn.octEncodeFloat(a)),u=P.clamp(u,0,1),u=u===1?255:u*255|0,T=T*gm+u,d=P.clamp(d,0,1),d=d===1?255:d*255|0,A=A*gm+d,e._instanced?(r=o._index,s(r,T,A,c,f)):(r=o._index*4,s(r+0,T,A,c,f),s(r+1,T,A,c,f),s(r+2,T,A,c,f),s(r+3,T,A,c,f))}function yj(e,t,n,i,o){let r,s=i[go.compressedAttribute2],a=o.color,c=l(e._batchTable)?H.WHITE:o.getPickId(t.context).color,u=o.sizeInMeters?1:0,f=Math.abs(h.magnitudeSquared(o.alignedAxis)-1)<P.EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&u===1;let d=0,p=o._imageIndex;p!==-1&&(d=n[p].height);let g=e._textureAtlas.texture.dimensions,m=Math.round(y(o.height,g.y*d));e._maxSize=Math.max(e._maxSize,m);let x=y(o._labelHorizontalOrigin,-2);x+=2;let b=m*yle+x,T=H.floatToByte(a.red),A=H.floatToByte(a.green),C=H.floatToByte(a.blue),E=T*cE+A*gm+C;T=H.floatToByte(c.red),A=H.floatToByte(c.green),C=H.floatToByte(c.blue);let v=T*cE+A*gm+C,D=H.floatToByte(a.alpha)*cE+H.floatToByte(c.alpha)*gm;D+=u*2+f,e._instanced?(r=o._index,s(r,E,v,D,b)):(r=o._index*4,s(r+0,E,v,D,b),s(r+1,E,v,D,b),s(r+2,E,v,D,b),s(r+3,E,v,D,b))}function xj(e,t,n,i,o){let r,s=i[go.eyeOffset],a=o.eyeOffset,c=a.z;if(o._heightReference!==qe.NONE&&(c*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(c)),e._instanced){let u=0,f=0,d=o._imageIndex;if(d!==-1){let g=n[d];u=g.width,f=g.height}Of.x=u,Of.y=f;let p=Nn.compressTextureCoordinates(Of);r=o._index,s(r,a.x,a.y,c,p)}else r=o._index*4,s(r+0,a.x,a.y,c,0),s(r+1,a.x,a.y,c,0),s(r+2,a.x,a.y,c,0),s(r+3,a.x,a.y,c,0)}function Sle(e,t,n,i,o){let r,s=i[go.scaleByDistance],a=0,c=1,u=1,f=1,d=o.scaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function vle(e,t,n,i,o){let r,s=i[go.pixelOffsetScaleByDistance],a=0,c=1,u=1,f=1,d=o.pixelOffsetScaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function wle(e,t,n,i,o){let r,s=i[go.compressedAttribute3],a=0,c=Number.MAX_VALUE,u=o.distanceDisplayCondition;l(u)&&(a=u.near,c=u.far,a*=a,c*=c,e._shaderDistanceDisplayCondition=!0);let f=o.disableDepthTestDistance,d=xf(o.heightReference)&&t.context.depthTexture;l(f)||(f=d?5e3:0),f*=f,(d||f>0)&&(e._shaderDisableDepthDistance=!0,f===Number.POSITIVE_INFINITY&&(f=-1));let p,g;if(l(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let T=0,A=0,C=o._imageIndex;if(C!==-1){let v=n[C];T=v.height,A=v.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*T));let E=e._textureAtlas.texture.width;g=Math.round(y(o.width,E*A))}let m=Math.floor(P.clamp(g,0,_j)),x=Math.floor(P.clamp(p,0,_j)),b=m*_j+x;e._instanced?(r=o._index,s(r,a,c,f,b)):(r=o._index*4,s(r+0,a,c,f,b),s(r+1,a,c,f,b),s(r+2,a,c,f,b),s(r+3,a,c,f,b))}function Dle(e,t,n,i,o){if(xf(o.heightReference)){let m=e._scene,x=t.context,b=t.globeTranslucencyState.translucent,T=l(m.globe)&&m.globe.depthTestAgainstTerrain;e._shaderClampToGround=x.depthTexture&&!b&&T}let r,s=i[go.textureCoordinateBoundsOrLabelTranslate];if(Ft.maximumVertexTextureImageUnits>0){let m=0,x=0;l(o._labelTranslate)&&(m=o._labelTranslate.x,x=o._labelTranslate.y),e._instanced?(r=o._index,s(r,m,x,0,0)):(r=o._index*4,s(r+0,m,x,0,0),s(r+1,m,x,0,0),s(r+2,m,x,0,0),s(r+3,m,x,0,0));return}let a=0,c=0,u=0,f=0,d=o._imageIndex;if(d!==-1){let m=n[d];a=m.x,c=m.y,u=m.width,f=m.height}let p=a+u,g=c+f;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function gje(e,t,n,i,o){if(!l(e._batchTable))return;let r=i[go.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function Ile(e,t,n,i,o){if(!e._sdf)return;let r,s=i[go.sdf],a=o.outlineColor,c=o.outlineWidth,u=H.floatToByte(a.red),f=H.floatToByte(a.green),d=H.floatToByte(a.blue),p=u*cE+f*gm+d,g=c/Js.RADIUS,m=H.floatToByte(a.alpha)*cE+H.floatToByte(g)*gm;e._instanced?(r=o._index,s(r,p,m)):(r=o._index*4,s(r+0,p+xle,m),s(r+1,p+ble,m),s(r+2,p+Tle,m),s(r+3,p+Cle,m))}function Ple(e,t,n,i,o){let r=i[go.splitDirection],s=0,a=o.splitDirection;l(a)&&(s=a);let c;e._instanced?(c=o._index,r(c,s)):(c=o._index*4,r(c+0,s),r(c+1,s),r(c+2,s),r(c+3,s))}function yje(e,t,n,i,o){gle(e,t,n,i,o),Ale(e,t,n,i,o),Ele(e,t,n,i,o),yj(e,t,n,i,o),xj(e,t,n,i,o),Sle(e,t,n,i,o),vle(e,t,n,i,o),wle(e,t,n,i,o),Dle(e,t,n,i,o),gje(e,t,n,i,o),Ile(e,t,n,i,o),Ple(e,t,n,i,o)}function gj(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=_o._computeActualPosition(u,f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ce.expand(s,d,s))}r&&ce.fromPoints(a,s)}function xje(e,t){let n=t.mode,i=e._billboards,o=e._billboardsToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&gj(e,i,i.length,t,r,!0)):n===ne.MORPHING?gj(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&gj(e,o,e._billboardsToUpdateIndex,t,r,!1)}function bje(e,t,n){let i=1;(!e._allSizedInMeters||e._maxPixelOffset!==0)&&(i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight));let o=i*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(o*=.5);let r=i*e._maxPixelOffset+e._maxEyeOffset;n.radius+=o+r}function Tje(e,t){let i=t.createViewportQuadCommand(`uniform sampler2D billboard_texture; +in vec2 v_textureCoordinates; +void main() +{ + out_FragColor = texture(billboard_texture, v_textureCoordinates); +} +`,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=ve.OVERLAY,i}var Cje=[];Mf.prototype.update=function(e){if(Tj(this),!this.show)return;let t=this._billboards,n=t.length,i=e.context;this._instanced=i.instancedArrays,go=this._instanced?cje:aje,mj=this._instanced?uje:lje;let o=this._textureAtlas;if(!l(o)){o=this._textureAtlas=new Ny({context:i});for(let R=0;R<n;++R)t[R]._loadImage()}let r=o.textureCoordinates;if(r.length===0)return;xje(this,e),t=this._billboards,n=t.length;let s=this._billboardsToUpdate,a=this._billboardsToUpdateIndex,c=this._propertiesChanged,u=o.guid,f=this._createVertexArray||this._textureAtlasGUID!==u;this._textureAtlasGUID=u;let d,p=e.passes,g=p.pick;if(f||!g&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let R=0;R<bj;++R)c[R]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=dje(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),d=this._vaf.writers;for(let R=0;R<n;++R){let M=this._billboards[R];M._dirty=!1,yje(this,e,r,d,M)}this._vaf.commit(mj(i))}this._billboardsToUpdateIndex=0}else if(a>0){let R=Cje;R.length=0,(c[WM]||c[ije]||c[nje])&&R.push(gle),(c[GM]||c[ale]||c[eje]||c[tje]||c[JWe])&&(R.push(Ale),this._instanced&&R.push(xj)),(c[GM]||c[oje]||c[fle])&&(R.push(Ele),R.push(yj)),(c[GM]||c[lle])&&R.push(yj),c[cle]&&R.push(xj),c[ule]&&R.push(Sle),c[dle]&&R.push(vle),(c[hle]||c[rje]||c[GM]||c[WM])&&R.push(wle),(c[GM]||c[WM])&&R.push(Dle),c[mle]&&R.push(Ile),c[ple]&&R.push(Ple);let M=R.length;if(d=this._vaf.writers,a/n>.1){for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let S=0;S<M;++S)R[S](this,e,r,d,_)}this._vaf.commit(mj(i))}else{for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let S=0;S<M;++S)R[S](this,e,r,d,_);this._instanced?this._vaf.subCommit(_._index,1):this._vaf.subCommit(_._index*4,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(a>n*1.5&&(s.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ce.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,x=F.IDENTITY;e.mode===ne.SCENE3D?(x=this.modelMatrix,m=ce.clone(this._baseVolumeWC,this._boundingVolume)):m=ce.clone(this._baseVolume2D,this._boundingVolume),bje(this,e,m);let b=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,b){this._blendOption===Io.OPAQUE||this._blendOption===Io.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Ve.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!0}):this._rsOpaque=void 0;let R=this._blendOption===Io.TRANSLUCENT;this._blendOption===Io.TRANSLUCENT||this._blendOption===Io.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Ve.fromCache({depthTest:{enabled:!0,func:R?te.LEQUAL:te.LESS},depthMask:R,blending:dn.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let T,A,C,E,v,D=Ft.maximumVertexTextureImageUnits>0;if(b||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){T=HM,A=zM,v=[],l(this._batchTable)&&(v.push("VECTOR_TILE"),T=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(T),A=this._batchTable.getFragmentShaderCallback(!1,void 0)(A)),C=new Ue({defines:v,sources:[T]}),this._instanced&&C.defines.push("INSTANCED"),this._shaderRotation&&C.defines.push("ROTATION"),this._shaderAlignedAxis&&C.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&C.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&C.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&C.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&C.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&C.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(D?C.defines.push("VERTEX_DEPTH_CHECK"):C.defines.push("FRAGMENT_DEPTH_CHECK"));let R=1-Js.CUTOFF;this._sdf&&C.defines.push("SDF");let M=l(this._batchTable)?"VECTOR_TILE":"";this._blendOption===Io.OPAQUE_AND_TRANSLUCENT&&(E=new Ue({defines:["OPAQUE",M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._sp=tn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:go}),E=new Ue({defines:["TRANSLUCENT",M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._spTranslucent=tn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:go})),this._blendOption===Io.OPAQUE&&(E=new Ue({defines:[M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._sp=tn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:go})),this._blendOption===Io.TRANSLUCENT&&(E=new Ue({defines:[M],sources:[A]}),this._shaderClampToGround&&(D?E.defines.push("VERTEX_DEPTH_CHECK"):E.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(E.defines.push("SDF"),E.defines.push(`SDF_EDGE ${R}`)),this._spTranslucent=tn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:C,fragmentShaderSource:E,attributeLocations:go})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let O=e.commandList;if(p.render||p.pick){let R=this._colorCommands,M=this._blendOption===Io.OPAQUE,N=this._blendOption===Io.OPAQUE_AND_TRANSLUCENT,_=this._vaf.va,S=_.length,w=this._uniforms,I;l(this._batchTable)?(w=this._batchTable.getUniformMapCallback()(w),I=this._batchTable.getPickId()):I="v_pickColor",R.length=S;let L=N?S*2:S;for(let B=0;B<L;++B){let U=R[B];l(U)||(U=R[B]=new Ze);let V=M||N&&B%2===0;U.pass=V||!N?ve.OPAQUE:ve.TRANSLUCENT,U.owner=this;let G=N?Math.floor(B/2):B;U.boundingVolume=m,U.modelMatrix=x,U.count=_[G].indicesCount,U.shaderProgram=V?this._sp:this._spTranslucent,U.uniformMap=w,U.vertexArray=_[G].va,U.renderState=V?this._rsOpaque:this._rsTranslucent,U.debugShowBoundingVolume=this.debugShowBoundingVolume,U.pickId=I,this._instanced&&(U.count=6,U.instanceCount=n),O.push(U)}this.debugShowTextureAtlas&&(l(this.debugCommand)||(this.debugCommand=Tje(this,e.context)),O.push(this.debugCommand))}};Mf.prototype.isDestroyed=function(){return!1};Mf.prototype.destroy=function(){return l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),_le(this._billboards),ue(this)};var Su=Mf;function Aje(e,t,n,i,o){return function(){let r=document.createElement("canvas"),s=o+2*i;r.height=r.width=s;let a=r.getContext("2d");return a.clearRect(0,0,s,s),i!==0&&(a.beginPath(),a.arc(s/2,s/2,s/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=n,a.fill(),e<1&&(a.save(),a.globalCompositeOperation="destination-out",a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle="black",a.fill(),a.restore())),a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=t,a.fill(),r}}var Db=Aje;function _a(e,t,n,i,o){this._content=e,this._billboard=n,this._label=i,this._polyline=o,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),lE(this)}var Eje=new fe;Object.defineProperties(_a.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=H.clone(e,this._color),lE(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,lE(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=H.clone(e,this._pointOutlineColor),lE(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,lE(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&e.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){l(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,Eje);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=H.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&lE(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});_a.defaultColor=H.WHITE;_a.defaultPointOutlineColor=H.BLACK;_a.defaultPointOutlineWidth=0;_a.defaultPointSize=8;function lE(e){let t=e._billboard;if(l(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(l(e._billboardImage))return;let n=y(e._color,_a.defaultColor),i=y(e._pointOutlineColor,_a.defaultPointOutlineColor),o=y(e._pointOutlineWidth,_a.defaultPointOutlineWidth),r=y(e._pointSize,_a.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,u=e._billboardSize;if(H.equals(n,s)&&H.equals(i,a)&&o===c&&r===u)return;e._billboardColor=H.clone(n,e._billboardColor),e._billboardOutlineColor=H.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let f=n.alpha,d=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([d,r,p,o]);t.setImage(g,Db(f,d,p,o,r))}_a.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};_a.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};_a.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};_a.prototype.getPropertyInherited=function(e){return Ks.getPropertyInherited(this._content,this._batchId,e)};_a.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};_a.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};_a.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};_a.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var g_=_a;function Sje(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),u=100,f=r.width+u|0,d=3*a,p=d/2;c.width=f,c.height=d;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,u/2,p)),o&&(g.fillStyle="black",g.fillText(t,u/2,p));let m=g.getImageData(0,0,f,d).data,x=m.length,b=f*4,T,A,C,E;for(T=0;T<x;++T)if(m[T]!==255){C=T/b|0;break}for(T=x-1;T>=0;--T)if(m[T]!==255){E=T/b|0;break}let v=-1;for(T=0;T<f&&v===-1;++T)for(A=0;A<d;++A){let D=T*4+A*b;if(m[D]!==255||m[D+1]!==255||m[D+2]!==255||m[D+3]!==255){v=T;break}}return{width:r.width,height:E-C,ascent:p-C,descent:E-p,minx:v-u/2}}return{width:r.width,height:0,ascent:0,descent:0,minx:0}}var Ib;function vje(e,t){if(e==="")return;t=y(t,y.EMPTY_OBJECT);let n=y(t.font,"10px sans-serif"),i=y(t.stroke,!1),o=y(t.fill,!0),r=y(t.strokeWidth,1),s=y(t.backgroundColor,H.TRANSPARENT),a=y(t.padding,0),c=a*2,u=document.createElement("canvas");u.width=1,u.height=1,u.style.font=n;let f=u.getContext("2d",{willReadFrequently:!0});l(Ib)||(l(f.imageSmoothingEnabled)?Ib="imageSmoothingEnabled":l(f.mozImageSmoothingEnabled)?Ib="mozImageSmoothingEnabled":l(f.webkitImageSmoothingEnabled)?Ib="webkitImageSmoothingEnabled":l(f.msImageSmoothingEnabled)&&(Ib="msImageSmoothingEnabled")),f.font=n,f.lineJoin="round",f.lineWidth=r,f[Ib]=!1,u.style.visibility="hidden",document.body.appendChild(u);let d=Sje(f,e,n,i,o);u.dimensions=d,document.body.removeChild(u),u.style.visibility="";let p=-d.minx,g=Math.ceil(d.width)+p+c,m=d.height+c,x=m-d.ascent+a,b=m-x+c;if(u.width=g,u.height=m,f.font=n,f.lineJoin="round",f.lineWidth=r,f[Ib]=!1,s!==H.TRANSPARENT&&(f.fillStyle=s.toCssColorString(),f.fillRect(0,0,u.width,u.height)),i){let T=y(t.strokeColor,H.BLACK);f.strokeStyle=T.toCssColorString(),f.strokeText(e,p+a,b)}if(o){let T=y(t.fillColor,H.WHITE);f.fillStyle=T.toCssColorString(),f.fillText(e,p+a,b)}return u}var Pb=vje;var zle=Wo(Lle(),1);var Dje={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2},Ko=Object.freeze(Dje);var Nle={},Fle=0,Ije=256,Pje=new H(.165,.165,.165,.8),Rje=new z(7,5),As=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function Rb(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function qM(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function YM(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function kle(e){let t=Nle[e._font];if(!l(t)){let n=document.createElement("div");n.style.position="absolute",n.style.opacity=0,n.style.font=e._font,document.body.appendChild(n);let i=parseFloat(YM(n,"line-height"));isNaN(i)&&(i=void 0),t={family:YM(n,"font-family"),size:YM(n,"font-size").replace("px",""),style:YM(n,"font-style"),weight:YM(n,"font-weight"),lineHeight:i},document.body.removeChild(n),Fle<Ije&&(Nle[e._font]=t,Fle++)}e._fontFamily=t.family,e._fontSize=t.size,e._fontStyle=t.style,e._fontWeight=t.weight,e._lineHeight=t.lineHeight}function eh(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=Vt.clone(n)),l(i)&&(i=Vt.clone(i)),l(o)&&(o=Vt.clone(o)),l(r)&&(r=Nt.clone(r)),this._renderedText=void 0,this._text=void 0,this._show=y(e.show,!0),this._font=y(e.font,"30px sans-serif"),this._fillColor=H.clone(y(e.fillColor,H.WHITE)),this._outlineColor=H.clone(y(e.outlineColor,H.BLACK)),this._outlineWidth=y(e.outlineWidth,1),this._showBackground=y(e.showBackground,!1),this._backgroundColor=H.clone(y(e.backgroundColor,Pje)),this._backgroundPadding=z.clone(y(e.backgroundPadding,Rje)),this._style=y(e.style,Ko.FILL),this._verticalOrigin=y(e.verticalOrigin,Mn.BASELINE),this._horizontalOrigin=y(e.horizontalOrigin,Ti.LEFT),this._pixelOffset=z.clone(y(e.pixelOffset,z.ZERO)),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._position=h.clone(y(e.position,h.ZERO)),this._scale=y(e.scale,1),this._id=e.id,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._scaleByDistance=o,this._heightReference=y(e.heightReference,qe.NONE),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=y(e.text,""),this._relativeSize=1,kle(this),this._updateClamping()}Object.defineProperties(eh.prototype,{show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.show=e)}let n=this._backgroundBillboard;l(n)&&(n.show=e)}}},position:{get:function(){return this._position},set:function(e){let t=this._position;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o].billboard;l(s)&&(s.position=e)}let i=this._backgroundBillboard;l(i)&&(i.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(e!==this._heightReference){this._heightReference=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.heightReference=e)}let n=this._backgroundBillboard;l(n)&&(n.heightReference=e),qM(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){if(this._text!==e){this._text=e;let t=eh.filterUnsupportedCharacters(e);this._renderedText=eh.enableRightToLeftDetection?Bje(t):t,Rb(this)}}},font:{get:function(){return this._font},set:function(e){this._font!==e&&(this._font=e,Rb(this),kle(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){let t=this._fillColor;H.equals(t,e)||(H.clone(e,t),Rb(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),Rb(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Rb(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){this._showBackground!==e&&(this._showBackground=e,Rb(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){let t=this._backgroundColor;if(!H.equals(t,e)){H.clone(e,t);let n=this._backgroundBillboard;l(n)&&(n.color=t)}}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){let t=this._backgroundPadding;z.equals(t,e)||(z.clone(e,t),qM(this))}},style:{get:function(){return this._style},set:function(e){this._style!==e&&(this._style=e,Rb(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;if(!z.equals(t,e)){z.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;if(!Vt.equals(t,e)){this._translucencyByDistance=Vt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.translucencyByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;if(!Vt.equals(t,e)){this._pixelOffsetScaleByDistance=Vt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffsetScaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;if(!Vt.equals(t,e)){this._scaleByDistance=Vt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.scaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.eyeOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,qM(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(this._verticalOrigin!==e){this._verticalOrigin=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.verticalOrigin=e)}let n=this._backgroundBillboard;l(n)&&(n.verticalOrigin=e),qM(this)}}},scale:{get:function(){return this._scale},set:function(e){if(this._scale!==e){this._scale=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.scale=e*this._relativeSize)}let n=this._backgroundBillboard;l(n)&&(n.scale=e*this._relativeSize),qM(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!Nt.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=Nt.clone(e,this._distanceDisplayCondition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.distanceDisplayCondition=e)}let n=this._backgroundBillboard;l(n)&&(n.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){this._disableDepthTestDistance=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.disableDepthTestDistance=e)}let n=this._backgroundBillboard;l(n)&&(n.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.id=e)}let n=this._backgroundBillboard;l(n)&&(n.id=e)}}},pickId:{get:function(){if(!(this._glyphs.length===0||!l(this._glyphs[0].billboard)))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard._clampedPosition=e)}let n=this._backgroundBillboard;l(n)&&(n._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.clusterShow=e)}let n=this._backgroundBillboard;l(n)&&(n.clusterShow=e)}}}});eh.prototype._updateClamping=function(){_o._updateClamping(this._labelCollection,this)};eh.prototype.computeScreenSpacePosition=function(e,t){l(t)||(t=new z);let i=this._labelCollection.modelMatrix,o=l(this._actualClampedPosition)?this._actualClampedPosition:this._position;return _o._computeScreenSpacePosition(i,o,this._eyeOffset,this._pixelOffset,e,t)};eh.getScreenSpaceBoundingBox=function(e,t,n){let i=0,o=0,r=0,s=0,a=e.totalScale,c=e._backgroundBillboard;if(l(c))i=t.x+c._translate.x,o=t.y-c._translate.y,r=c.width*a,s=c.height*a,e.verticalOrigin===Mn.BOTTOM||e.verticalOrigin===Mn.BASELINE?o-=s:e.verticalOrigin===Mn.CENTER&&(o-=s*.5);else{i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;let u=0,f=0,d=e._glyphs,p=d.length;for(let g=0;g<p;++g){let m=d[g],x=m.billboard;if(!l(x))continue;let b=t.x+x._translate.x,T=t.y-x._translate.y,A=m.dimensions.width*a,C=m.dimensions.height*a;e.verticalOrigin===Mn.BOTTOM||e.verticalOrigin===Mn.BASELINE?T-=C:e.verticalOrigin===Mn.CENTER&&(T-=C*.5),e._verticalOrigin===Mn.TOP?T+=Js.PADDING*a:(e._verticalOrigin===Mn.BOTTOM||e._verticalOrigin===Mn.BASELINE)&&(T-=Js.PADDING*a),i=Math.min(i,b),o=Math.min(o,T),u=Math.max(u,b+A),f=Math.max(f,T+C)}r=u-i,s=f-o}return l(n)||(n=new We),n.x=i,n.y=o,n.width=r,n.height=s,n};eh.filterUnsupportedCharacters=function(e){let t=new RegExp(/[\u0000-\u0008\u000E-\u001F\u00ad\u202a-\u206f\u200b-\u200f]/,"g");return e.replace(t,"")};eh.prototype.equals=function(e){return this===e||l(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&h.equals(this._position,e._position)&&H.equals(this._fillColor,e._fillColor)&&H.equals(this._outlineColor,e._outlineColor)&&H.equals(this._backgroundColor,e._backgroundColor)&&z.equals(this._backgroundPadding,e._backgroundPadding)&&z.equals(this._pixelOffset,e._pixelOffset)&&h.equals(this._eyeOffset,e._eyeOffset)&&Vt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Vt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Vt.equals(this._scaleByDistance,e._scaleByDistance)&&Nt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id};eh.prototype.isDestroyed=function(){return!1};eh.enableRightToLeftDetection=!1;function Oje(e,t){let n=/[a-zA-Z0-9]/,i=/[()[\]{}<>]/,o=[],r="",s=As.LTR,a="",c=e.length;for(let u=0;u<c;++u){let f=e.charAt(u);t.test(f)?a=As.RTL:n.test(f)?a=As.LTR:i.test(f)?a=As.BRACKETS:a=As.WEAK,u===0&&(s=a),s===a&&a!==As.BRACKETS?r+=f:(r!==""&&o.push({Type:s,Word:r}),s=a,r=f)}return o.push({Type:a,Word:r}),o}function Mje(e){return e.split("").reverse().join("")}function XM(e,t,n){return e.slice(0,t)+n+e.slice(t)}function Lje(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}var Nje="\u05D0-\u05EA",Fje="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",Ble=new RegExp(`[${Nje}${Fje}]`);function Bje(e){let t=e.split(` +`),n="";for(let i=0;i<t.length;i++){let o=t[i],r=Ble.test(o.charAt(0)),s=Oje(o,Ble),a=0,c="";for(let u=0;u<s.length;++u){let f=s[u],d=f.Type===As.BRACKETS?Lje(f.Word):Mje(f.Word);r?f.Type===As.RTL?(c=d+c,a=0):f.Type===As.LTR?(c=XM(c,a,f.Word),a+=f.Word.length):(f.Type===As.WEAK||f.Type===As.BRACKETS)&&(f.Type===As.WEAK&&s[u-1].Type===As.BRACKETS?c=d+c:s[u-1].Type===As.RTL?(c=d+c,a=0):s.length>u+1?s[u+1].Type===As.RTL?(c=d+c,a=0):(c=XM(c,a,f.Word),a+=f.Word.length):c=XM(c,0,d)):f.Type===As.RTL?c=XM(c,a,d):f.Type===As.LTR?(c+=f.Word,a=c.length):(f.Type===As.WEAK||f.Type===As.BRACKETS)&&(u>0&&s[u-1].Type===As.RTL?s.length>u+1?s[u+1].Type===As.RTL?c=XM(c,a,d):(c+=f.Word,a=c.length):c+=f.Word:(c+=f.Word,a=c.length))}n+=c,i<t.length-1&&(n+=` +`)}return n}var Fy=eh;var Hle=Wo(Vle(),1);function Vje(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function Uje(e,t,n){this.labelCollection=e,this.index=t,this.dimensions=n}var zje=1.2,Gle="ID_WHITE_PIXEL",Cj=new z(4,4),Hje=new We(1,1,1,1);function Gje(e){let t=document.createElement("canvas");t.width=Cj.x,t.height=Cj.y;let n=t.getContext("2d");return n.fillStyle="#fff",n.fillRect(0,0,t.width,t.height),e.addImage(Gle,t)}var Lf={};function Wje(e,t,n,i,o,r,s){return Lf.font=t,Lf.fillColor=n,Lf.strokeColor=i,Lf.strokeWidth=o,Lf.padding=Js.PADDING,s===Mn.CENTER?Lf.textBaseline="middle":s===Mn.TOP?Lf.textBaseline="top":Lf.textBaseline="bottom",Lf.fill=r===Ko.FILL||r===Ko.FILL_AND_OUTLINE,Lf.stroke=r===Ko.OUTLINE||r===Ko.FILL_AND_OUTLINE,Lf.backgroundColor=H.BLACK,Pb(e,Lf)}function Aj(e,t){t.textureInfo=void 0,t.dimensions=void 0;let n=t.billboard;l(n)&&(n.show=!1,n.image=void 0,l(n._removeCallbackFunc)&&(n._removeCallbackFunc(),n._removeCallbackFunc=void 0),e._spareBillboards.push(n),t.billboard=void 0)}function jje(e,t,n,i){i.index=e.addImageSync(t,n)}var qje=new Hle.default;function Yje(e,t){let n=t._renderedText,i=qje.splitGraphemes(n),o=i.length,r=t._glyphs,s=r.length,a,c,u;if(t._relativeSize=t._fontSize/Js.FONT_SIZE,o<s)for(c=o;c<s;++c)Aj(e,r[c]);r.length=o;let f=t.show&&t._showBackground&&n.split(` +`).join("").length>0,d=t._backgroundBillboard,p=e._backgroundBillboardCollection;f?(l(d)||(d=p.add({collection:e,image:Gle,imageSubRegion:Hje}),t._backgroundBillboard=d),d.color=t._backgroundColor,d.show=t._show,d.position=t._position,d.eyeOffset=t._eyeOffset,d.pixelOffset=t._pixelOffset,d.horizontalOrigin=Ti.LEFT,d.verticalOrigin=t._verticalOrigin,d.heightReference=t._heightReference,d.scale=t.totalScale,d.pickPrimitive=t,d.id=t._id,d.translucencyByDistance=t._translucencyByDistance,d.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,d.scaleByDistance=t._scaleByDistance,d.distanceDisplayCondition=t._distanceDisplayCondition,d.disableDepthTestDistance=t._disableDepthTestDistance,d.clusterShow=t.clusterShow):l(d)&&(p.remove(d),t._backgroundBillboard=d=void 0);let g=e._glyphTextureCache;for(u=0;u<o;++u){let m=i[u],x=t._verticalOrigin,b=JSON.stringify([m,t._fontFamily,t._fontStyle,t._fontWeight,+x]),T=g[b];if(!l(T)){let A=`${t._fontStyle} ${t._fontWeight} ${Js.FONT_SIZE}px ${t._fontFamily}`,C=Wje(m,A,H.WHITE,H.WHITE,0,Ko.FILL,x);if(T=new Uje(e,-1,C.dimensions),g[b]=T,C.width>0&&C.height>0){let E=(0,zle.default)(C,{cutoff:Js.CUTOFF,radius:Js.RADIUS}),v=C.getContext("2d"),D=C.width,O=C.height,R=v.getImageData(0,0,D,O);for(let M=0;M<D;M++)for(let N=0;N<O;N++){let _=N*D+M,S=E[_]*255,w=_*4;R.data[w+0]=S,R.data[w+1]=S,R.data[w+2]=S,R.data[w+3]=S}v.putImageData(R,0,0),m!==" "&&jje(e._textureAtlas,b,C,T)}}if(a=r[u],l(a)?T.index===-1?Aj(e,a):l(a.textureInfo)&&(a.textureInfo=void 0):(a=new Vje,r[u]=a),a.textureInfo=T,a.dimensions=T.dimensions,T.index!==-1){let A=a.billboard,C=e._spareBillboards;l(A)||(C.length>0?A=C.pop():(A=e._billboardCollection.add({collection:e}),A._labelDimensions=new z,A._labelTranslate=new z),a.billboard=A),A.show=t._show,A.position=t._position,A.eyeOffset=t._eyeOffset,A.pixelOffset=t._pixelOffset,A.horizontalOrigin=Ti.LEFT,A.verticalOrigin=t._verticalOrigin,A.heightReference=t._heightReference,A.scale=t.totalScale,A.pickPrimitive=t,A.id=t._id,A.image=b,A.translucencyByDistance=t._translucencyByDistance,A.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,A.scaleByDistance=t._scaleByDistance,A.distanceDisplayCondition=t._distanceDisplayCondition,A.disableDepthTestDistance=t._disableDepthTestDistance,A._batchIndex=t._batchIndex,A.outlineColor=t.outlineColor,t.style===Ko.FILL_AND_OUTLINE?(A.color=t._fillColor,A.outlineWidth=t.outlineWidth):t.style===Ko.FILL?(A.color=t._fillColor,A.outlineWidth=0):t.style===Ko.OUTLINE&&(A.color=H.TRANSPARENT,A.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function Ule(e,t,n){return t===Ti.CENTER?-e/2:t===Ti.RIGHT?-(e+n.x):n.x}var _r=new z,Xje=new z;function Kje(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,u=0,f=1,d,p=t.length,g=e._backgroundBillboard,m=z.clone(l(g)?e._backgroundPadding:z.ZERO,Xje);for(m.x/=e._relativeSize,m.y/=e._relativeSize,d=0;d<p;++d)n.charAt(d)===` +`?(a.push(r),++f,r=0):(i=t[d],o=i.dimensions,u=Math.max(u,o.height-o.descent),c=Math.max(c,o.descent),r+=o.width-o.minx,d<p-1&&(r+=t[d+1].dimensions.minx),s=Math.max(s,r));a.push(r);let x=u+c,b=e.totalScale,T=e._horizontalOrigin,A=e._verticalOrigin,C=0,E=a[C],v=Ule(E,T,m),D=(l(e._lineHeight)?e._lineHeight:zje*e._fontSize)/e._relativeSize,O=D*(f-1),R=s,M=x+O;l(g)&&(R+=m.x*2,M+=m.y*2,g._labelHorizontalOrigin=T),_r.x=v*b,_r.y=0;let N=!0,_=0;for(d=0;d<p;++d)if(n.charAt(d)===` +`)++C,_+=D,E=a[C],v=Ule(E,T,m),_r.x=v*b,N=!0;else if(i=t[d],o=i.dimensions,A===Mn.TOP?(_r.y=o.height-u-m.y,_r.y+=Js.PADDING):A===Mn.CENTER?_r.y=(O+o.height-u)/2:A===Mn.BASELINE?(_r.y=O,_r.y-=Js.PADDING):(_r.y=O+c+m.y,_r.y-=Js.PADDING),_r.y=(_r.y-o.descent-_)*b,N&&(_r.x-=Js.PADDING*b,N=!1),l(i.billboard)&&(i.billboard._setTranslate(_r),i.billboard._labelDimensions.x=R,i.billboard._labelDimensions.y=M,i.billboard._labelHorizontalOrigin=T),d<p-1){let S=t[d+1];_r.x+=(o.width-o.minx+S.dimensions.minx)*b}if(l(g)&&n.split(` +`).join("").length>0&&(T===Ti.CENTER?v=-s/2-m.x:T===Ti.RIGHT?v=-(s+m.x*2):v=0,_r.x=v*b,A===Mn.TOP?_r.y=x-u-c:A===Mn.CENTER?_r.y=(x-u)/2-c:A===Mn.BASELINE?_r.y=-m.y-c:_r.y=0,_r.y=_r.y*b,g.width=R,g.height=M,g._setTranslate(_r),g._labelTranslate=z.clone(_r,g._labelTranslate)),xf(e.heightReference))for(d=0;d<p;++d){i=t[d];let S=i.billboard;l(S)&&(S._labelTranslate=z.clone(_r,S._labelTranslate))}}function Wle(e,t){let n=t._glyphs;for(let i=0,o=n.length;i<o;++i)Aj(e,n[i]);l(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,l(t._removeCallbackFunc)&&t._removeCallbackFunc(),ue(t)}function ym(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._backgroundBillboardCollection=new Su({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new Su({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=H.clone(H.WHITE),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,Io.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(ym.prototype,{length:{get:function(){return this._labels.length}}});ym.prototype.add=function(e){let t=new Fy(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t};ym.prototype.remove=function(e){if(l(e)&&e._labelCollection===this){let t=this._labels.indexOf(e);if(t!==-1)return this._labels.splice(t,1),Wle(this,e),!0}return!1};ym.prototype.removeAll=function(){let e=this._labels;for(let t=0,n=e.length;t<n;++t)Wle(this,e[t]);e.length=0};ym.prototype.contains=function(e){return l(e)&&e._labelCollection===this};ym.prototype.get=function(e){return this._labels[e]};ym.prototype.update=function(e){if(!this.show)return;let t=this._billboardCollection,n=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume;let i=e.context;l(this._textureAtlas)||(this._textureAtlas=new Ny({context:i}),t.textureAtlas=this._textureAtlas),l(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new Ny({context:i,initialSize:Cj}),n.textureAtlas=this._backgroundTextureAtlas,Gje(this._backgroundTextureAtlas));let o=this._labelsToUpdate.length;for(let s=0;s<o;++s){let a=this._labelsToUpdate[s];if(a.isDestroyed())continue;let c=a._glyphs.length;a._rebindAllGlyphs&&(Yje(this,a),a._rebindAllGlyphs=!1),a._repositionAllGlyphs&&(Kje(a),a._repositionAllGlyphs=!1);let u=a._glyphs.length-c;this._totalGlyphCount+=u}let r=n.length>0?Io.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};ym.prototype.isDestroyed=function(){return!1};ym.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),ue(this)};var xm=ym;var KM=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 position2DHigh; +in vec3 position2DLow; +in vec3 prevPosition3DHigh; +in vec3 prevPosition3DLow; +in vec3 prevPosition2DHigh; +in vec3 prevPosition2DLow; +in vec3 nextPosition3DHigh; +in vec3 nextPosition3DLow; +in vec3 nextPosition2DHigh; +in vec3 nextPosition2DLow; +in vec4 texCoordExpandAndBatchIndex; + +out vec2 v_st; +out float v_width; +out vec4 v_pickColor; +out float v_polylineAngle; void main() { - out_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0); -} -`;function wF(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(wF.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function qst(e,t,n){let i=t.createViewportQuadCommand(vF,{framebuffer:n,renderState:Ve.fromCache({viewport:new We(0,0,256,256)})});e._drawCommand=i}wF.prototype.update=function(e){if(!l(this._colorTexture)){let t=e.context,n=new Mt({context:t,width:256,height:256,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,sampler:en.NEAREST});this._colorTexture=n;let i=new ca({context:t,colorTextures:[n],destroyAttachments:!1});qst(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};wF.prototype.isDestroyed=function(){return!1};wF.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),ue(this)};var DF=wF;var Yst=new z;function Xst(e,t){let n=e.unionClippingRegions,i=e.length,o=ps.useFloatTexture(t),r=ps.getTextureResolution(e,t,Yst),s=r.x,a=r.y,c=o?$st(s,a):Qst(s,a);return c+=` -`,c+=n?Kst(i):Zst(i),c}function Kst(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) -{ - vec4 position = czm_windowToEyeCoordinates(fragCoord); - vec3 clipNormal = vec3(0.0); - vec3 clipPosition = vec3(0.0); - float clipAmount; - float pixelWidth = czm_metersPerPixel(position); - bool breakAndDiscard = false; - for (int i = 0; i < ${e}; ++i) + float texCoord = texCoordExpandAndBatchIndex.x; + float expandDir = texCoordExpandAndBatchIndex.y; + bool usePrev = texCoordExpandAndBatchIndex.z < 0.0; + float batchTableIndex = texCoordExpandAndBatchIndex.w; + + vec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex); + float width = widthAndShow.x + 0.5; + float show = widthAndShow.y; + + if (width < 1.0) { - vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); - clipNormal = clippingPlane.xyz; - clipPosition = -clippingPlane.w * clipNormal; - float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; - clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); - if (amount <= 0.0) - { - breakAndDiscard = true; - break; - } + show = 0.0; } - if (breakAndDiscard) { - discard; + + vec4 pickColor = batchTable_getPickColor(batchTableIndex); + + vec4 p, prev, next; + if (czm_morphTime == 1.0) + { + p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz); + prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz); + next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz); } - return clipAmount; -} -`}function Zst(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) -{ - bool clipped = true; - vec4 position = czm_windowToEyeCoordinates(fragCoord); - vec3 clipNormal = vec3(0.0); - vec3 clipPosition = vec3(0.0); - float clipAmount = 0.0; - float pixelWidth = czm_metersPerPixel(position); - for (int i = 0; i < ${e}; ++i) + else if (czm_morphTime == 0.0) { - vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); - clipNormal = clippingPlane.xyz; - clipPosition = -clippingPlane.w * clipNormal; - float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; - clipAmount = max(amount, clipAmount); - clipped = clipped && (amount <= 0.0); + p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); + prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy); + next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy); } - if (clipped) + else { - discard; + p = czm_columbusViewMorph( + czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy), + czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz), + czm_morphTime); + prev = czm_columbusViewMorph( + czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy), + czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz), + czm_morphTime); + next = czm_columbusViewMorph( + czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy), + czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz), + czm_morphTime); } - return clipAmount; -} -`}function $st(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) -{ - int pixY = clippingPlaneNumber / ${e}; - int pixX = clippingPlaneNumber - (pixY * ${e}); - float u = (float(pixX) + 0.5) * ${o}; - float v = (float(pixY) + 0.5) * ${r}; - vec4 plane = texture(packedClippingPlanes, vec2(u, v)); - return czm_transformPlane(plane, transform); -} -`}function Qst(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) -{ - int clippingPlaneStartIndex = clippingPlaneNumber * 2; - int pixY = clippingPlaneStartIndex / ${e}; - int pixX = clippingPlaneStartIndex - (pixY * ${e}); - float u = (float(pixX) + 0.5) * ${o}; - float v = (float(pixY) + 0.5) * ${r}; - vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; - vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); - vec4 plane; - plane.xyz = czm_octDecode(oct, 65535.0); - plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + ${o}, v))); - return czm_transformPlane(plane, transform); -} -`}var J_=Xst;var IF=`struct Ray { - vec3 pos; - vec3 dir; - vec3 rawDir; -}; - -#if defined(JITTER) -/** - * Generate a pseudo-random value for a given 2D screen coordinate. - * Similar to https://www.shadertoy.com/view/4djSRW with a modified hashscale. - */ -float hash(vec2 p) -{ - vec3 p3 = fract(vec3(p.xyx) * 50.0); - p3 += dot(p3, p3.yzx + 19.19); - return fract((p3.x + p3.y) * p3.z); -} -#endif -float minComponent(in vec3 v) { - return min(min(v.x, v.y), v.z); -} - -float maxComponent(in vec3 v) { - return max(max(v.x, v.y), v.z); -} + #ifdef DISTANCE_DISPLAY_CONDITION + vec3 centerHigh = batchTable_getCenterHigh(batchTableIndex); + vec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex); + vec3 centerLow = centerLowAndRadius.xyz; + float radius = centerLowAndRadius.w; + vec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex); -struct PointJacobianT { - vec3 point; - mat3 jacobianT; -}; -`;var PF=`// See Intersection.glsl for the definition of intersectScene -// See IntersectionUtils.glsl for the definition of nextIntersection -// See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl -// for the definition of convertUvToShapeUvSpace. The appropriate function is -// selected based on the VoxelPrimitive shape type, and added to the shader in -// Scene/VoxelRenderResources.js. -// See Octree.glsl for the definitions of TraversalData, SampleData, -// traverseOctreeFromBeginning, and traverseOctreeFromExisting -// See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture + float lengthSq; + if (czm_sceneMode == czm_sceneMode2D) + { + lengthSq = czm_eyeHeight2D.y; + } + else + { + vec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz); + lengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius); + } -#define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops -#if defined(PICKING_VOXEL) - #define ALPHA_ACCUM_MAX 0.1 -#else - #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 -#endif + float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; + float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; + if (lengthSq < nearSq || lengthSq > farSq) + { + show = 0.0; + } + #endif -uniform mat3 u_transformDirectionViewToLocal; -uniform vec3 u_cameraPositionUv; -uniform float u_stepSize; + float polylineAngle; + vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle); + gl_Position = czm_viewportOrthographic * positionWC * show; -#if defined(PICKING) - uniform vec4 u_pickColor; -#endif + v_st.s = texCoord; + v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w); -vec3 getSampleSize(in int level) { - vec3 sampleCount = exp2(float(level)) * vec3(u_dimensions); - vec3 sampleSizeUv = 1.0 / sampleCount; - return scaleShapeUvToShapeSpace(sampleSizeUv); + v_width = width; + v_pickColor = pickColor; + v_polylineAngle = polylineAngle; } +`;var tl={};tl.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};tl.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var Zje=new fe;tl.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o<n;o++){let r=e[o];i[o]=t.cartesianToCartographic(r,Zje).height}return i};var $je=new F,Qje=new h,jle=new h,Jje=new un(h.UNIT_X,0),qle=new h,e7e=new un(h.UNIT_X,0),t7e=new h,n7e=new h,Sj=[];function Xle(e,t,n){let i=Sj;i.length=e;let o;if(t===n){for(o=0;o<e;o++)i[o]=t;return i}let s=(n-t)/e;for(o=0;o<e;o++){let a=t+o*s;i[o]=a}return i}var Sz=new fe,Ez=new fe,By=new h,vj=new h,i7e=new h,Ej=new Mp,ZM=new La;function o7e(e,t,n,i,o,r,s,a){let c=i.scaleToGeodeticSurface(e,vj),u=i.scaleToGeodeticSurface(t,i7e),f=tl.numberOfPoints(e,t,n),d=i.cartesianToCartographic(c,Sz),p=i.cartesianToCartographic(u,Ez),g=Xle(f,o,r);Ej.setEndPoints(d,p);let m=Ej.surfaceDistance/f,x=a;d.height=o;let b=i.cartographicToCartesian(d,By);h.pack(b,s,x),x+=3;for(let T=1;T<f;T++){let A=Ej.interpolateUsingSurfaceDistance(T*m,Ez);A.height=g[T],b=i.cartographicToCartesian(A,By),h.pack(b,s,x),x+=3}return x}function r7e(e,t,n,i,o,r,s,a){let c=i.cartesianToCartographic(e,Sz),u=i.cartesianToCartographic(t,Ez),f=tl.numberOfPointsRhumbLine(c,u,n);c.height=0,u.height=0;let d=Xle(f,o,r);ZM.ellipsoid.equals(i)||(ZM=new La(void 0,void 0,i)),ZM.setEndPoints(c,u);let p=ZM.surfaceDistance/f,g=a;c.height=o;let m=i.cartographicToCartesian(c,By);h.pack(m,s,g),g+=3;for(let x=1;x<f;x++){let b=ZM.interpolateUsingSurfaceDistance(x*p,Ez);b.height=d[x],m=i.cartographicToCartesian(b,By),h.pack(m,s,g),g+=3}return g}tl.wrapLongitude=function(e,t){let n=[],i=[];if(l(e)&&e.length>0){t=y(t,F.IDENTITY);let o=F.inverseTransformation(t,$je),r=F.multiplyByPoint(o,h.ZERO,Qje),s=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_Y,jle),jle),a=un.fromPointNormal(r,s,Jje),c=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_X,qle),qle),u=un.fromPointNormal(r,c,e7e),f=1;n.push(h.clone(e[0]));let d=n[0],p=e.length;for(let g=1;g<p;++g){let m=e[g];if(un.getPointDistance(u,d)<0||un.getPointDistance(u,m)<0){let x=ei.lineSegmentPlane(d,m,a,t7e);if(l(x)){let b=h.multiplyByScalar(s,5e-9,n7e);un.getPointDistance(a,d)<0&&h.negate(b,b),n.push(h.add(x,b,new h)),i.push(f+1),h.negate(b,b),n.push(h.add(x,b,new h)),f=1}}n.push(h.clone(e[g])),f++,d=m}i.push(f)}return{positions:n,lengths:i}};tl.generateArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let x=i.scaleToGeodeticSurface(t[0],vj);if(o=r?o[0]:o,o!==0){let b=i.geodeticSurfaceNormal(x,By);h.multiplyByScalar(b,o,b),h.add(x,b,x)}return[x.x,x.y,x.z]}let s=e.minDistance;if(!l(s)){let x=y(e.granularity,P.RADIANS_PER_DEGREE);s=P.chordLength(x,i.maximumRadius)}let a=0,c;for(c=0;c<n-1;c++)a+=tl.numberOfPoints(t[c],t[c+1],s);let u=(a+1)*3,f=new Array(u),d=0;for(c=0;c<n-1;c++){let x=t[c],b=t[c+1],T=r?o[c]:o,A=r?o[c+1]:o;d=o7e(x,b,s,i,T,A,f,d)}Sj.length=0;let p=t[n-1],g=i.cartesianToCartographic(p,Sz);g.height=r?o[n-1]:o;let m=i.cartographicToCartesian(g,By);return h.pack(m,f,u-3),f};var Yle=new fe,s7e=new fe;tl.generateRhumbArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let T=i.scaleToGeodeticSurface(t[0],vj);if(o=r?o[0]:o,o!==0){let A=i.geodeticSurfaceNormal(T,By);h.multiplyByScalar(A,o,A),h.add(T,A,T)}return[T.x,T.y,T.z]}let s=y(e.granularity,P.RADIANS_PER_DEGREE),a=0,c,u=i.cartesianToCartographic(t[0],Yle),f;for(c=0;c<n-1;c++)f=i.cartesianToCartographic(t[c+1],s7e),a+=tl.numberOfPointsRhumbLine(u,f,s),u=fe.clone(f,Yle);let d=(a+1)*3,p=new Array(d),g=0;for(c=0;c<n-1;c++){let T=t[c],A=t[c+1],C=r?o[c]:o,E=r?o[c+1]:o;g=r7e(T,A,s,i,C,E,p,g)}Sj.length=0;let m=t[n-1],x=i.cartesianToCartographic(m,Sz);x.height=r?o[n-1]:o;let b=i.cartographicToCartesian(x,By);return h.pack(b,p,d-3),p};tl.generateCartesianArc=function(e){let t=tl.generateArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};tl.generateCartesianRhumbArc=function(e){let t=tl.generateRhumbArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};var Li=tl;function vu(e,t){e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._width=y(e.width,1),this._loop=y(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,l(this._material)||(this._material=Yi.fromType(Yi.ColorType,{color:new H(1,1,1,1)}));let n=e.positions;l(n)||(n=[]),this._positions=n,this._actualPositions=So(n,h.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;l(t)&&(i=F.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Li.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(Zle),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=ce.fromPoints(this._actualPositions),this._boundingVolumeWC=ce.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new ce}var Kle=vu.POSITION_INDEX=0,a7e=vu.SHOW_INDEX=1,c7e=vu.WIDTH_INDEX=2,l7e=vu.MATERIAL_INDEX=3,$M=vu.POSITION_SIZE_INDEX=4,u7e=vu.DISTANCE_DISPLAY_CONDITION=5,Zle=vu.NUMBER_OF_PROPERTIES=6;function y_(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;l(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(vu.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,y_(this,a7e))}},positions:{get:function(){return this._positions},set:function(e){let t=So(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&y_(this,$M),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=ce.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=ce.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),y_(this,Kle),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,y_(this,l7e))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,y_(this,c7e))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,y_(this,$M)}}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!l(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Nt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Nt.clone(e,this._distanceDisplayCondition),y_(this,u7e))}}});vu.prototype.update=function(){let e=F.IDENTITY;l(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[Kle]>0||this._propertiesChanged[$M]>0;if((!F.equals(e,this._modelMatrix)||i)&&(this._segments=Li.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=ce.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=F.clone(e,this._modelMatrix),this._segments.positions.length!==t)y_(this,$M);else{let o=n.length;for(let r=0;r<o;++r)if(n[r]!==this._segments.lengths[r]){y_(this,$M);break}}};vu.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId};vu.prototype._clean=function(){this._dirty=!1;let e=this._propertiesChanged;for(let t=0;t<Zle-1;++t)e[t]=0};vu.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var Nf=vu;var f7e=Nf.SHOW_INDEX,d7e=Nf.WIDTH_INDEX,Dj=Nf.POSITION_INDEX,h7e=Nf.MATERIAL_INDEX,$le=Nf.POSITION_SIZE_INDEX,m7e=Nf.DISTANCE_DISPLAY_CONDITION,oue=Nf.NUMBER_OF_PROPERTIES,Bl={texCoordExpandAndBatchIndex:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12};function th(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(oue),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:Be.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=H.clone(H.WHITE);let t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}Object.defineProperties(th.prototype,{length:{get:function(){return Ij(this),this._polylines.length}}});th.prototype.add=function(e){let t=new Nf(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,this._createBatchTable=!0,t};th.prototype.remove=function(e){if(this.contains(e)){if(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,l(e._bucket)){let t=e._bucket;t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()}return e._destroy(),!0}return!1};th.prototype.removeAll=function(){Pj(this),lue(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0};th.prototype.contains=function(e){return l(e)&&e._polylineCollection===this};th.prototype.get=function(e){return Ij(this),this._polylines[e]};function p7e(e,t){l(e._batchTable)&&e._batchTable.destroy();let n=[{functionName:"batchTable_getWidthAndShow",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:X.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:X.FLOAT,componentsPerAttribute:2}];e._batchTable=new Dx(t,n,e._polylines.length)}var rue=new jn,sue=new ie,aue=new z;th.prototype.update=function(e){if(Ij(this),this._polylines.length===0||!this.show)return;T7e(this,e);let t=e.context,n=e.mapProjection,i,o=this._propertiesChanged;if(this._createBatchTable){if(Ft.maximumVertexTextureImageUnits===0)throw new se("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");p7e(this,t),this._createBatchTable=!1}if(this._createVertexArray||g7e(this))eue(this,t,n);else if(this._polylinesUpdated){let c=this._polylinesToUpdate;if(this._mode!==ne.SCENE3D){let u=c.length;for(let f=0;f<u;++f)i=c[f],i.update()}if(o[$le]||o[h7e])eue(this,t,n);else{let u=c.length,f=this._polylineBuckets;for(let d=0;d<u;++d){i=c[d],o=i._propertiesChanged;let p=i._bucket,g=0;for(let m in f)if(f.hasOwnProperty(m)){if(f[m]===p){o[Dj]&&p.writeUpdate(g,i,this._positionBuffer,n);break}g+=f[m].lengthOfPositions}if((o[f7e]||o[d7e])&&this._batchTable.setBatchedAttribute(i._index,0,new z(i._width,i._show)),this._batchTable.attributes.length>2){if(o[Dj]||o[$le]){let m=e.mode===ne.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,x=jn.fromCartesian(m.center,rue),b=ie.fromElements(x.low.x,x.low.y,x.low.z,m.radius,sue);this._batchTable.setBatchedAttribute(i._index,2,x.high),this._batchTable.setBatchedAttribute(i._index,3,b)}if(o[m7e]){let m=aue;m.x=0,m.y=Number.MAX_VALUE;let x=i.distanceDisplayCondition;l(x)&&(m.x=x.near,m.y=x.far),this._batchTable.setBatchedAttribute(i._index,4,m)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c<oue;++c)o[c]=0;let r=F.IDENTITY;e.mode===ne.SCENE3D&&(r=this.modelMatrix);let s=e.passes,a=e.morphTime!==0;if((!l(this._opaqueRS)||this._opaqueRS.depthTest.enabled!==a)&&(this._opaqueRS=Ve.fromCache({depthMask:a,depthTest:{enabled:a}})),(!l(this._translucentRS)||this._translucentRS.depthTest.enabled!==a)&&(this._translucentRS=Ve.fromCache({blending:dn.ALPHA_BLEND,depthMask:!a,depthTest:{enabled:a}})),this._batchTable.update(e),s.render||s.pick){let c=this._colorCommands;_7e(this,e,c,r)}};var QM=new ce,Qle=new ce;function _7e(e,t,n,i){let o=t.context,r=t.commandList,s=n.length,a=0,c=!0,u=e._vertexArrays,f=e.debugShowBoundingVolume,p=e._batchTable.getUniformMapCallback(),g=u.length;for(let m=0;m<g;++m){let x=u[m],b=x.buckets,T=b.length;for(let A=0;A<T;++A){let C=b[A],E=C.offset,v=C.bucket.shaderProgram,D=C.bucket.polylines,O=D.length,R,M,N=0,_,S;for(let w=0;w<O;++w){let I=D[w],L=x7e(I._material);if(L!==R){if(l(R)&&N>0){let G=M.isTranslucent();a>=s?(_=new Ze({owner:e}),n.push(_)):_=n[a],++a,S=Ct(p(M._uniforms),e._uniformMap),_.boundingVolume=ce.clone(QM,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=x.va,_.renderState=G?e._translucentRS:e._opaqueRS,_.pass=G?ve.TRANSLUCENT:ve.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=S,_.count=N,_.offset=E,E+=N,N=0,c=!0,r.push(_)}M=I._material,M.update(o),R=L}let B=I._locatorBuckets,U=B.length;for(let G=0;G<U;++G){let k=B[G];k.locator===C&&(N+=k.count)}let V;t.mode===ne.SCENE3D?V=I._boundingVolumeWC:t.mode===ne.COLUMBUS_VIEW?V=I._boundingVolume2D:t.mode===ne.SCENE2D?l(I._boundingVolume2D)&&(V=ce.clone(I._boundingVolume2D,Qle),V.center.x=0):l(I._boundingVolumeWC)&&l(I._boundingVolume2D)&&(V=ce.union(I._boundingVolumeWC,I._boundingVolume2D,Qle)),c?(c=!1,ce.clone(V,QM)):ce.union(V,QM,QM)}l(R)&&N>0&&(a>=s?(_=new Ze({owner:e}),n.push(_)):_=n[a],++a,S=Ct(p(M._uniforms),e._uniformMap),_.boundingVolume=ce.clone(QM,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=x.va,_.renderState=M.isTranslucent()?e._translucentRS:e._opaqueRS,_.pass=M.isTranslucent()?ve.TRANSLUCENT:ve.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=S,_.count=N,_.offset=E,c=!0,r.push(_)),R=void 0}}n.length=a}th.prototype.isDestroyed=function(){return!1};th.prototype.destroy=function(){return cue(this),Pj(this),lue(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function g7e(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[Dj]?(i.bufferUsage!==Be.STREAM_DRAW&&(t=!0,i.bufferUsage=Be.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==Be.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=Be.STATIC_DRAW):i.frameCount--),t}var Jle=[0,0,0];function eue(e,t,n){e._createVertexArray=!1,Pj(e),cue(e),b7e(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,u=[[]],f=0,d=e._polylineBuckets,p,g;for(p in d)d.hasOwnProperty(p)&&(g=d[p],g.updateShader(t,r,s),f+=g.lengthOfPositions);if(f>0){let m=e._mode,x=new Float32Array(6*f*3),b=new Float32Array(f*4),T,A=0,C=0,E=0;for(p in d)if(d.hasOwnProperty(p)){g=d[p],g.write(x,b,A,C,E,r,t,n),m===ne.MORPHING&&(l(T)||(T=new Float32Array(6*f*3)),g.writeForMorph(T,A));let S=g.lengthOfPositions;A+=6*S*3,C+=S*4,E+=S*4,c=g.updateIndices(i,a,u,c)}let v=e._positionBufferUsage.bufferUsage,D=Be.STATIC_DRAW;e._positionBuffer=xt.createVertexBuffer({context:t,typedArray:x,usage:v});let O;l(T)&&(O=xt.createVertexBuffer({context:t,typedArray:T,usage:v})),e._texCoordExpandAndBatchIndexBuffer=xt.createVertexBuffer({context:t,typedArray:b,usage:D});let R=3*Float32Array.BYTES_PER_ELEMENT,M=4*Float32Array.BYTES_PER_ELEMENT,N=0,_=i.length;for(let S=0;S<_;++S)if(o=i[S],o.length>0){let w=new Uint16Array(o),I=xt.createIndexBuffer({context:t,typedArray:w,usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});N+=a[S];let L=6*(S*(R*P.SIXTY_FOUR_KILOBYTES)-N*R),B=R+L,U=R+B,V=R+U,G=R+V,k=R+G,W=S*(M*P.SIXTY_FOUR_KILOBYTES)-N*M,Y=[{index:Bl.position3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:L,strideInBytes:6*R},{index:Bl.position3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*R},{index:Bl.position2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:L,strideInBytes:6*R},{index:Bl.position2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*R},{index:Bl.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:U,strideInBytes:6*R},{index:Bl.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*R},{index:Bl.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:U,strideInBytes:6*R},{index:Bl.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*R},{index:Bl.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*R},{index:Bl.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*R},{index:Bl.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*R},{index:Bl.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*R},{index:Bl.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:X.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:W}],Q,j,Z,J;m===ne.SCENE3D?(j=e._positionBuffer,Q="vertexBuffer",Z=Jle,J="value"):m===ne.SCENE2D||m===ne.COLUMBUS_VIEW?(j=Jle,Q="value",Z=e._positionBuffer,J="vertexBuffer"):(j=O,Q="vertexBuffer",Z=e._positionBuffer,J="vertexBuffer"),Y[0][Q]=j,Y[1][Q]=j,Y[2][J]=Z,Y[3][J]=Z,Y[4][Q]=j,Y[5][Q]=j,Y[6][J]=Z,Y[7][J]=Z,Y[8][Q]=j,Y[9][Q]=j,Y[10][J]=Z,Y[11][J]=Z;let he=new ii({context:t,attributes:Y,indexBuffer:I});e._vertexArrays.push({va:he,buckets:u[S]})}}}function y7e(e,t){return t instanceof Pt?t.id:t}var vz=[];function x7e(e){let t=Yi._uniformList[e.type],n=t.length;vz.length=2*n;let i=0;for(let o=0;o<n;++o){let r=t[o];vz[i]=r,vz[i+1]=e._uniforms[r](),i+=2}return`${e.type}:${JSON.stringify(vz,y7e)}`}function b7e(e){let t=e._mode,n=e._modelMatrix,i=e._polylineBuckets={},o=e._polylines,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a._actualPositions.length>1){a.update();let c=a.material,u=i[c.type];l(u)||(u=i[c.type]=new bm(c,t,n)),u.addPolyline(a)}}}function T7e(e,t){let n=t.mode;(e._mode!==n||!F.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=F.clone(e.modelMatrix),e._createVertexArray=!0)}function Ij(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s<r;++s)o=e._polylines[s],o.isDestroyed||(o._index=i++,n.push(o),t.push(o));e._polylines=t,e._polylinesToUpdate=n}}function Pj(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)if(!t[i].isDestroyed){let o=t[i]._bucket;l(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy())}}function cue(e){let t=e._vertexArrays.length;for(let n=0;n<t;++n)e._vertexArrays[n].va.destroy();e._vertexArrays.length=0}th.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};function lue(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)t[i].isDestroyed||t[i]._destroy()}function wj(e,t,n){this.count=e,this.offset=t,this.bucket=n}function bm(e,t,n){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=n}bm.prototype.addPolyline=function(e){this.polylines.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this};bm.prototype.updateShader=function(e,t,n){if(l(this.shaderProgram))return;let i=["DISTANCE_DISPLAY_CONDITION"];n&&i.push("VECTOR_TILE"),this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&i.push("POLYLINE_DASH"),Gt.isInternetExplorer()||i.push("CLIP_POLYLINE");let o=new Ue({defines:i,sources:[`in vec4 v_pickColor; +`,this.material.shaderSource,Lx]}),r=t.getVertexShaderCallback()(KM),s=new Ue({defines:i,sources:[hu,r]});this.shaderProgram=tn.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:o,attributeLocations:Bl})};function uue(e){return h.dot(h.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(un.ORIGIN_ZX_PLANE)===qt.INTERSECTING}bm.prototype.getPolylinePositionsLength=function(e){let t;if(this.mode===ne.SCENE3D||!uue(e))return t=e._actualPositions.length,t*4-4;let n=0,i=e._segments.lengths;t=i.length;for(let o=0;o<t;++o)n+=i[o]*4-4;return n};var Os=new h,Ff=new h,Bf=new h,wz=new h,C7e=new ie,A7e=new z;bm.prototype.write=function(e,t,n,i,o,r,s,a){let c=this.mode,u=a.ellipsoid.maximumRadius*P.PI,f=this.polylines,d=f.length;for(let p=0;p<d;++p){let g=f[p],m=g.width,x=g.show&&m>0,b=g._index,T=this.getSegments(g,a),A=T.positions,C=T.lengths,E=A.length,v=g.getPickId(s).color,D=0,O=0,R;for(let U=0;U<E;++U){U===0?g._loop?R=A[E-2]:(R=wz,h.subtract(A[0],A[1],R),h.add(A[0],R,R)):R=A[U-1],h.clone(R,Ff),h.clone(A[U],Os),U===E-1?g._loop?R=A[1]:(R=wz,h.subtract(A[E-1],A[E-2],R),h.add(A[E-1],R,R)):R=A[U+1],h.clone(R,Bf);let V=C[D];U===O+V&&(O+=V,++D);let G=U-O===0,k=U===O+C[D]-1;c===ne.SCENE2D&&(Ff.z=0,Os.z=0,Bf.z=0),(c===ne.SCENE2D||c===ne.MORPHING)&&(G||k)&&u-Math.abs(Os.x)<1&&((Os.x<0&&Ff.x>0||Os.x>0&&Ff.x<0)&&h.clone(Os,Ff),(Os.x<0&&Bf.x>0||Os.x>0&&Bf.x<0)&&h.clone(Os,Bf));let W=G?2:0,Y=k?2:4;for(let Q=W;Q<Y;++Q){jn.writeElements(Os,e,n),jn.writeElements(Ff,e,n+6),jn.writeElements(Bf,e,n+12);let j=Q-2<0?-1:1;t[o]=U/(E-1),t[o+1]=2*(Q%2)-1,t[o+2]=j,t[o+3]=b,n+=6*3,o+=4}}let M=C7e;M.x=H.floatToByte(v.red),M.y=H.floatToByte(v.green),M.z=H.floatToByte(v.blue),M.w=H.floatToByte(v.alpha);let N=A7e;N.x=m,N.y=x?1:0;let _=c===ne.SCENE2D?g._boundingVolume2D:g._boundingVolumeWC,S=jn.fromCartesian(_.center,rue),w=S.high,I=ie.fromElements(S.low.x,S.low.y,S.low.z,_.radius,sue),L=aue;L.x=0,L.y=Number.MAX_VALUE;let B=g.distanceDisplayCondition;l(B)&&(L.x=B.near,L.y=B.far),r.setBatchedAttribute(b,0,N),r.setBatchedAttribute(b,1,M),r.attributes.length>2&&(r.setBatchedAttribute(b,2,w),r.setBatchedAttribute(b,3,I),r.setBatchedAttribute(b,4,L))}};var E7e=new h,S7e=new h,v7e=new h,tue=new h;bm.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=s._segments.positions,c=s._segments.lengths,u=a.length,f=0,d=0;for(let p=0;p<u;++p){let g;p===0?s._loop?g=a[u-2]:(g=tue,h.subtract(a[0],a[1],g),h.add(a[0],g,g)):g=a[p-1],g=F.multiplyByPoint(n,g,S7e);let m=F.multiplyByPoint(n,a[p],E7e),x;p===u-1?s._loop?x=a[1]:(x=tue,h.subtract(a[u-1],a[u-2],x),h.add(a[u-1],x,x)):x=a[p+1],x=F.multiplyByPoint(n,x,v7e);let b=c[f];p===d+b&&(d+=b,++f);let T=p-d===0,A=p===d+c[f]-1,C=T?2:0,E=A?2:4;for(let v=C;v<E;++v)jn.writeElements(m,e,t),jn.writeElements(g,e,t+6),jn.writeElements(x,e,t+12),t+=6*3}}};var w7e=new Array(1);bm.prototype.updateIndices=function(e,t,n,i){let o=n.length-1,r=new wj(0,i,this);n[o].push(r);let s=0,a=e[e.length-1],c=0;a.length>0&&(c=a[a.length-1]+1);let u=this.polylines,f=u.length;for(let d=0;d<f;++d){let p=u[d];p._locatorBuckets=[];let g;if(this.mode===ne.SCENE3D){g=w7e;let x=p._actualPositions.length;if(x>0)g[0]=x;else continue}else g=p._segments.lengths;let m=g.length;if(m>0){let x=0;for(let b=0;b<m;++b){let T=g[b]-1;for(let A=0;A<T;++A)c+4>P.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:x}),x=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new wj(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),x+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:x}),c+4>P.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new wj(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};bm.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o<i;++o){let r=t[o];if(r===e)break;n+=r._actualLength}return n};var uE={positions:void 0,lengths:void 0},nue=new Array(1),D7e=new h,I7e=new fe;bm.prototype.getSegments=function(e,t){let n=e._actualPositions;if(this.mode===ne.SCENE3D)return nue[0]=n.length,uE.positions=n,uE.lengths=nue,uE;uue(e)&&(n=e._segments.positions);let i=t.ellipsoid,o=[],r=this.modelMatrix,s=n.length,a,c=D7e;for(let u=0;u<s;++u)a=n[u],c=F.multiplyByPoint(r,a,c),o.push(t.project(i.cartesianToCartographic(c,I7e)));if(o.length>0){e._boundingVolume2D=ce.fromPoints(o,e._boundingVolume2D);let u=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(u.z,u.x,u.y)}return uE.positions=o,uE.lengths=e._segments.lengths,uE};var iue;bm.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*P.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=iue,c=6*s*3;!l(a)||a.length<c?a=iue=new Float32Array(c):a.length>c&&(a=new Float32Array(a.buffer,0,c));let u=this.getSegments(t,i),f=u.positions,d=u.lengths,p=0,g=0,m=0,x;s=f.length;for(let b=0;b<s;++b){b===0?t._loop?x=f[s-2]:(x=wz,h.subtract(f[0],f[1],x),h.add(f[0],x,x)):x=f[b-1],h.clone(x,Ff),h.clone(f[b],Os),b===s-1?t._loop?x=f[1]:(x=wz,h.subtract(f[s-1],f[s-2],x),h.add(f[s-1],x,x)):x=f[b+1],h.clone(x,Bf);let T=d[g];b===m+T&&(m+=T,++g);let A=b-m===0,C=b===m+d[g]-1;o===ne.SCENE2D&&(Ff.z=0,Os.z=0,Bf.z=0),(o===ne.SCENE2D||o===ne.MORPHING)&&(A||C)&&r-Math.abs(Os.x)<1&&((Os.x<0&&Ff.x>0||Os.x>0&&Ff.x<0)&&h.clone(Os,Ff),(Os.x<0&&Bf.x>0||Os.x>0&&Bf.x<0)&&h.clone(Os,Bf));let E=A?2:0,v=C?2:4;for(let D=E;D<v;++D)jn.writeElements(Os,a,p),jn.writeElements(Ff,a,p+6),jn.writeElements(Bf,a,p+12),p+=6*3}n.copyFromArrayView(a,6*3*Float32Array.BYTES_PER_ELEMENT*e)}};var nh=th;function ky(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=new Su({batchTable:e.batchTable}),this._labelCollection=new xm({batchTable:e.batchTable}),this._polylineCollection=new nh,this._polylineCollection._useHighlightColor=!0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(ky.prototype,{ready:{get:function(){return this._ready}},pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let e=this._billboardCollection.textureAtlas.texture.sizeInBytes,t=this._labelCollection._textureAtlas.texture.sizeInBytes;return e+t}}});function P7e(e,t){let n=e._rectangle,i=e._minHeight,o=e._maxHeight,r=2+ae.packedLength+ee.packedLength,s=new Float64Array(r),a=0;return s[a++]=i,s[a++]=o,ae.pack(n,s,a),a+=ae.packedLength,ee.pack(t,s,a),s}var R7e=new bi("createVectorTilePoints",5),O7e=new h;function M7e(e,t){let n=e._positions,i=e._packedBuffer;l(i)||(n=e._positions=n.slice(),e._batchIds=e._batchIds.slice(),i=e._packedBuffer=P7e(e,t));let o=[n.buffer,i.buffer],r={positions:n.buffer,packedBuffer:i.buffer},s=R7e.scheduleTask(r,o);if(l(s))return s.then(a=>{if(e.isDestroyed())return;e._positions=new Float64Array(a.positions);let c=e._billboardCollection,u=e._labelCollection,f=e._polylineCollection;n=e._positions;let d=e._batchIds,p=n.length/3;for(let g=0;g<p;++g){let m=d[g],x=h.unpack(n,g*3,O7e),b=c.add();b.position=x,b._batchIndex=m;let T=u.add();T.text=" ",T.position=x,T._batchIndex=m;let A=f.add();A.positions=[h.clone(x),h.clone(x)]}e._positions=void 0,e._packedBuffer=void 0,e._ready=!0}).catch(a=>{e.isDestroyed()||(e._error=a)})}ky.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a<s;++a){let c=r[a],u=n.get(a),f=i.get(a),d=o.get(a);t[c]=new g_(e,c,u,f,d)}};ky.prototype.applyDebugSettings=function(e,t){e?(H.clone(t,this._billboardCollection._highlightColor),H.clone(t,this._labelCollection._highlightColor),H.clone(t,this._polylineCollection._highlightColor)):(H.clone(H.WHITE,this._billboardCollection._highlightColor),H.clone(H.WHITE,this._labelCollection._highlightColor),H.clone(H.WHITE,this._polylineCollection._highlightColor))};function L7e(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.pointSize=g_.defaultPointSize,s.color=g_.defaultColor,s.pointOutlineColor=g_.defaultPointOutlineColor,s.pointOutlineWidth=g_.defaultPointOutlineWidth,s.labelColor=H.WHITE,s.labelOutlineColor=H.WHITE,s.labelOutlineWidth=1,s.font="30px sans-serif",s.labelStyle=Ko.FILL,s.labelText=void 0,s.backgroundColor=new H(.165,.165,.165,.8),s.backgroundPadding=new z(7,5),s.backgroundEnabled=!1,s.scaleByDistance=void 0,s.translucencyByDistance=void 0,s.distanceDisplayCondition=void 0,s.heightOffset=0,s.anchorLineEnabled=!1,s.anchorLineColor=H.WHITE,s.image=void 0,s.disableDepthTestDistance=0,s.horizontalOrigin=Ti.CENTER,s.verticalOrigin=Mn.CENTER,s.labelHorizontalOrigin=Ti.RIGHT,s.labelVerticalOrigin=Mn.BASELINE}}var N7e=new H,F7e=new H,B7e=new H,k7e=new H,V7e=new H,U7e=new H,JM=new Vt,eL=new Vt,Rj=new Nt;ky.prototype.applyStyle=function(e,t){if(!l(e)){L7e(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];if(l(e.show)&&(s.show=e.show.evaluate(s)),l(e.pointSize)&&(s.pointSize=e.pointSize.evaluate(s)),l(e.color)&&(s.color=e.color.evaluateColor(s,N7e)),l(e.pointOutlineColor)&&(s.pointOutlineColor=e.pointOutlineColor.evaluateColor(s,F7e)),l(e.pointOutlineWidth)&&(s.pointOutlineWidth=e.pointOutlineWidth.evaluate(s)),l(e.labelColor)&&(s.labelColor=e.labelColor.evaluateColor(s,B7e)),l(e.labelOutlineColor)&&(s.labelOutlineColor=e.labelOutlineColor.evaluateColor(s,k7e)),l(e.labelOutlineWidth)&&(s.labelOutlineWidth=e.labelOutlineWidth.evaluate(s)),l(e.font)&&(s.font=e.font.evaluate(s)),l(e.labelStyle)&&(s.labelStyle=e.labelStyle.evaluate(s)),l(e.labelText)?s.labelText=e.labelText.evaluate(s):s.labelText=void 0,l(e.backgroundColor)&&(s.backgroundColor=e.backgroundColor.evaluateColor(s,V7e)),l(e.backgroundPadding)&&(s.backgroundPadding=e.backgroundPadding.evaluate(s)),l(e.backgroundEnabled)&&(s.backgroundEnabled=e.backgroundEnabled.evaluate(s)),l(e.scaleByDistance)){let a=e.scaleByDistance.evaluate(s);l(a)?(JM.near=a.x,JM.nearValue=a.y,JM.far=a.z,JM.farValue=a.w,s.scaleByDistance=JM):s.scaleByDistance=void 0}else s.scaleByDistance=void 0;if(l(e.translucencyByDistance)){let a=e.translucencyByDistance.evaluate(s);l(a)?(eL.near=a.x,eL.nearValue=a.y,eL.far=a.z,eL.farValue=a.w,s.translucencyByDistance=eL):s.translucencyByDistance=void 0}else s.translucencyByDistance=void 0;if(l(e.distanceDisplayCondition)){let a=e.distanceDisplayCondition.evaluate(s);l(a)?(Rj.near=a.x,Rj.far=a.y,s.distanceDisplayCondition=Rj):s.distanceDisplayCondition=void 0}else s.distanceDisplayCondition=void 0;l(e.heightOffset)&&(s.heightOffset=e.heightOffset.evaluate(s)),l(e.anchorLineEnabled)&&(s.anchorLineEnabled=e.anchorLineEnabled.evaluate(s)),l(e.anchorLineColor)&&(s.anchorLineColor=e.anchorLineColor.evaluateColor(s,U7e)),l(e.image)?s.image=e.image.evaluate(s):s.image=void 0,l(e.disableDepthTestDistance)&&(s.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(s)),l(e.horizontalOrigin)&&(s.horizontalOrigin=e.horizontalOrigin.evaluate(s)),l(e.verticalOrigin)&&(s.verticalOrigin=e.verticalOrigin.evaluate(s)),l(e.labelHorizontalOrigin)&&(s.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(s)),l(e.labelVerticalOrigin)&&(s.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(s))}};ky.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=M7e(this,e.mapProjection.ellipsoid)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._polylineCollection.update(e),this._billboardCollection.update(e),this._labelCollection.update(e)};ky.prototype.isDestroyed=function(){return!1};ky.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),ue(this)};var tL=ky;function x_(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=y(e.center,h.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=zn.BOTH}Object.defineProperties(x_.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});function z7e(e){let t=new Float64Array(3+h.packedLength+ee.packedLength+ae.packedLength),n=0;return t[n++]=e._indices.BYTES_PER_ELEMENT,t[n++]=e._minimumHeight,t[n++]=e._maximumHeight,h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,ae.pack(e._rectangle,t,n),t}function H7e(e,t){let n=1,i=t[n++],o=e._boundingVolumes=new Array(i);for(let a=0;a<i;++a)o[a]=Dn.unpack(t,n),n+=Dn.packedLength;let r=t[n++],s=e._batchedIndices=new Array(r);for(let a=0;a<r;++a){let c=H.unpack(t,n);n+=H.packedLength;let u=t[n++],f=t[n++],d=t[n++],p=new Array(d);for(let g=0;g<d;++g)p[g]=t[n++];s[a]=new cm({color:c,offset:u,count:f,batchIds:p})}}var G7e=new bi("createVectorTilePolygons",5),W7e=new H;function j7e(e){if(l(e._primitive))return;let t=e._positions,n=e._counts,i=e._indexCounts,o=e._indices,r=e._transferrableBatchIds,s=e._batchTableColors,a=e._packedBuffer;if(!l(s)){t=e._positions=e._positions.slice(),n=e._counts=e._counts.slice(),i=e._indexCounts=e._indexCounts.slice(),o=e._indices=e._indices.slice(),e._center=e._ellipsoid.cartographicToCartesian(ae.center(e._rectangle)),r=e._transferrableBatchIds=new Uint32Array(e._batchIds),s=e._batchTableColors=new Uint32Array(r.length);let g=e._batchTable,m=s.length;for(let x=0;x<m;++x){let b=g.getColor(x,W7e);s[x]=b.toRgba()}a=e._packedBuffer=z7e(e)}let c=[t.buffer,n.buffer,i.buffer,o.buffer,r.buffer,s.buffer,a.buffer],u={packedBuffer:a.buffer,positions:t.buffer,counts:n.buffer,indexCounts:i.buffer,indices:o.buffer,batchIds:r.buffer,batchTableColors:s.buffer},f=e._polygonMinimumHeights,d=e._polygonMaximumHeights;l(f)&&l(d)&&(f=f.slice(),d=d.slice(),c.push(f.buffer,d.buffer),u.minimumHeights=f,u.maximumHeights=d);let p=G7e.scheduleTask(u,c);if(l(p))return p.then(g=>{if(e.isDestroyed())return;e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let m=new Float64Array(g.packedBuffer),x=m[0];H7e(e,m),e._indices=Fe.getSizeInBytes(x)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),q7e(e),e._ready=!0}).catch(g=>{e.isDestroyed()||(e._error=g)})}function q7e(e){l(e._primitive)||(e._primitive=new eb({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0)}x_.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};x_.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};x_.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};x_.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};x_.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=j7e(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};x_.prototype.isDestroyed=function(){return!1};x_.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var nL=x_;var iL=`in vec4 currentPosition; +in vec4 previousPosition; +in vec4 nextPosition; +in vec2 expandAndWidth; +in float a_batchId; -#define MINIMUM_STEP_SCALAR (0.02) -#define SHIFT_FRACTION (0.001) +uniform mat4 u_modifiedModelView; -/** - * Given a coordinate within a tile, and sample spacings along a ray through - * the coordinate, find the distance to the points where the ray entered and - * exited the voxel cell, along with the surface normals at those points. - * The surface normals are returned in shape space coordinates. - */ -RayShapeIntersection getVoxelIntersection(in vec3 tileUv, in vec3 sampleSizeAlongRay) { - vec3 voxelCoord = tileUv * vec3(u_dimensions); - vec3 directions = sign(sampleSizeAlongRay); - vec3 positiveDirections = max(directions, 0.0); - vec3 entryCoord = mix(ceil(voxelCoord), floor(voxelCoord), positiveDirections); - vec3 exitCoord = entryCoord + directions; - - vec3 distanceFromEntry = -abs((entryCoord - voxelCoord) * sampleSizeAlongRay); - float lastEntry = maxComponent(distanceFromEntry); - bvec3 isLastEntry = equal(distanceFromEntry, vec3(lastEntry)); - vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; - vec4 entry = vec4(entryNormal, lastEntry); +void main() +{ + float expandDir = expandAndWidth.x; + float width = abs(expandAndWidth.y) + 0.5; + bool usePrev = expandAndWidth.y < 0.0; - vec3 distanceToExit = abs((exitCoord - voxelCoord) * sampleSizeAlongRay); - float firstExit = minComponent(distanceToExit); - bvec3 isFirstExit = equal(distanceToExit, vec3(firstExit)); - vec3 exitNormal = vec3(isFirstExit) * directions; - vec4 exit = vec4(exitNormal, firstExit); + vec4 p = u_modifiedModelView * currentPosition; + vec4 prev = u_modifiedModelView * previousPosition; + vec4 next = u_modifiedModelView * nextPosition; - return RayShapeIntersection(entry, exit); + float angle; + vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); + gl_Position = czm_viewportOrthographic * positionWC; +} +`;function ih(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(ih.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function Y7e(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ae.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ae.pack(t,a,c),c+=ae.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var X7e=new bi("createVectorTilePolylines",5),fE={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function K7e(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=Y7e(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=X7e.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._currentPositions=new Float32Array(f.currentPositions),e._previousPositions=new Float32Array(f.previousPositions),e._nextPositions=new Float32Array(f.nextPositions),e._expandAndWidth=new Float32Array(f.expandAndWidth),e._vertexBatchIds=new Uint16Array(f.batchIds);let d=f.indexDatatype;e._indices=d===Fe.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),Z7e(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function Z7e(e,t){if(!l(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let u=xt.createVertexBuffer({context:t,typedArray:i,usage:Be.STATIC_DRAW}),f=xt.createVertexBuffer({context:t,typedArray:n,usage:Be.STATIC_DRAW}),d=xt.createVertexBuffer({context:t,typedArray:o,usage:Be.STATIC_DRAW}),p=xt.createVertexBuffer({context:t,typedArray:r,usage:Be.STATIC_DRAW}),g=xt.createVertexBuffer({context:t,typedArray:s,usage:Be.STATIC_DRAW}),m=xt.createIndexBuffer({context:t,typedArray:a,usage:Be.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),x=[{index:fE.previousPosition,vertexBuffer:u,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:fE.currentPosition,vertexBuffer:f,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:fE.nextPosition,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:fE.expandAndWidth,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:2},{index:fE.a_batchId,vertexBuffer:g,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new ii({context:t,attributes:x,indexBuffer:m}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var oL=new F,fue=new h;function $7e(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,oL),F.multiplyByPoint(oL,e._center,fue),F.setTranslation(oL,fue,oL),oL},u_highlightColor:function(){return e._highlightColor}})}function Q7e(e){if(l(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=Ve.fromCache({blending:dn.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var J7e=`uniform vec4 u_highlightColor; +void main() +{ + out_FragColor = u_highlightColor; } +`;function eqe(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(iL),o=n.getFragmentShaderCallback(!1,void 0,!1)(J7e),r=new Ue({defines:["VECTOR_TILE",Gt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[hu,i]}),s=new Ue({defines:["VECTOR_TILE"],sources:[o]});e._sp=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:fE})}function tqe(e,t){if(!l(e._command)){let n=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new Ze({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:n,boundingVolume:e._boundingVolume,pass:ve.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}ih.getPolylinePositions=function(e,t){let n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!l(n)||!l(i))return;let r,s,a=n.length,c=0,u=0;for(r=0;r<a;++r)n[r]===t&&(c+=o[r+1]-o[r]);if(c===0)return;let f=new Float64Array(c*3);for(r=0;r<a;++r)if(n[r]===t){let d=o[r],p=o[r+1]-d;for(s=0;s<p;++s){let g=(d+s)*3;f[u++]=i[g],f[u++]=i[g+1],f[u++]=i[g+2]}}return f};ih.prototype.getPositions=function(e){return ih.getPolylinePositions(this,e)};ih.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Ks(e,r)}};ih.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function nqe(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=H.WHITE}}var iqe=new H,oqe=H.WHITE,rqe=!0;ih.prototype.applyStyle=function(e,t){if(!l(e)){nqe(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,iqe):oqe,s.show=l(e.show)?e.show.evaluate(s):rqe}};ih.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=K7e(this,t)),l(this._error)){let i=this._error;throw this._error=void 0,i}return}$7e(this,t),eqe(this,t),Q7e(this);let n=e.passes;(n.render||n.pick)&&tqe(this,e)};ih.prototype.isDestroyed=function(){return!1};ih.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var Ob=ih;var rL=`in vec3 startEllipsoidNormal; +in vec3 endEllipsoidNormal; +in vec4 startPositionAndHeight; +in vec4 endPositionAndHeight; +in vec4 startFaceNormalAndVertexCorner; +in vec4 endFaceNormalAndHalfWidth; +in float a_batchId; -vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection, in mat3 jacobianT, in float currentT) { - // The Jacobian is computed in a space where the shape spans [-1, 1]. - // But the ray is marched in a space where the shape fills [0, 1]. - // So we need to scale the Jacobian by 2. - vec3 gradient = 2.0 * viewRay.rawDir * jacobianT; - vec3 sampleSizeAlongRay = getSampleSize(sampleData.tileCoords.w) / gradient; +uniform mat4 u_modifiedModelView; +uniform vec2 u_minimumMaximumVectorHeights; - RayShapeIntersection voxelIntersection = getVoxelIntersection(sampleData.tileUv, sampleSizeAlongRay); +out vec4 v_startPlaneEC; +out vec4 v_endPlaneEC; +out vec4 v_rightPlaneEC; +out float v_halfWidth; +out vec3 v_volumeUpEC; - // Transform normal from shape space to Cartesian space - vec3 voxelNormal = normalize(jacobianT * voxelIntersection.entry.xyz); - // Compare with the shape intersection, to choose the appropriate normal - vec4 voxelEntry = vec4(voxelNormal, currentT + voxelIntersection.entry.w); - vec4 entry = intersectionMax(shapeIntersection.entry, voxelEntry); +void main() +{ + // vertex corner IDs + // 3-----------7 + // /| left /| + // / | 1 / | + // 2-----------6 5 end + // | / | / + // start |/ right |/ + // 0-----------4 + // + float isEnd = floor(startFaceNormalAndVertexCorner.w * 0.251); // 0 for front, 1 for end + float isTop = floor(startFaceNormalAndVertexCorner.w * mix(0.51, 0.19, isEnd)); // 0 for bottom, 1 for top - float fixedStep = minComponent(abs(sampleSizeAlongRay)) * u_stepSize; - float shift = fixedStep * SHIFT_FRACTION; - float dt = voxelIntersection.exit.w + shift; - if ((currentT + dt) > shapeIntersection.exit.w) { - // Stop at end of shape - dt = shapeIntersection.exit.w - currentT + shift; - } - float stepSize = clamp(dt, fixedStep * MINIMUM_STEP_SCALAR, fixedStep + shift); + vec3 forward = endPositionAndHeight.xyz - startPositionAndHeight.xyz; + vec3 right = normalize(cross(forward, startEllipsoidNormal)); - return vec4(entry.xyz, stepSize); -} + vec4 position = vec4(startPositionAndHeight.xyz, 1.0); + position.xyz += forward * isEnd; -vec2 packIntToVec2(int value) { - float shifted = float(value) / 255.0; - float lowBits = fract(shifted); - float highBits = floor(shifted) / 255.0; - return vec2(highBits, lowBits); -} + v_volumeUpEC = czm_normal * normalize(cross(right, forward)); -vec2 packFloatToVec2(float value) { - float lowBits = fract(value); - float highBits = floor(value) / 255.0; - return vec2(highBits, lowBits); -} + // Push for volume height + float offset; + vec3 ellipsoidNormal = mix(startEllipsoidNormal, endEllipsoidNormal, isEnd); -int getSampleIndex(in vec3 tileUv) { - ivec3 voxelDimensions = u_dimensions; - vec3 sampleCoordinate = tileUv * vec3(voxelDimensions); - // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not. - // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1). - // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring - vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5); - sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate); - ivec3 sampleIndex = ivec3(floor(sampleCoordinate)); - #if defined(PADDING) - voxelDimensions += u_paddingBefore + u_paddingAfter; - sampleIndex += u_paddingBefore; - #endif - // Convert to a 1D index for lookup in a 1D data array - return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z); + // offset height to create volume + offset = mix(startPositionAndHeight.w, endPositionAndHeight.w, isEnd); + offset = mix(u_minimumMaximumVectorHeights.y, u_minimumMaximumVectorHeights.x, isTop) - offset; + position.xyz += offset * ellipsoidNormal; + + // move from RTC to EC + position = u_modifiedModelView * position; + right = czm_normal * right; + + // Push for width in a direction that is in the start or end plane and in a plane with right + // N = normalEC ("right-facing" direction for push) + // R = right + // p = angle between N and R + // w = distance to push along R if R == N + // d = distance to push along N + // + // N R + // { p| } * cos(p) = dot(N, R) = w / d + // d | |w * d = w / dot(N, R) + // { | } + // o---------- polyline segment ----> + // + vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd); + scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd)); + vec3 miterPushNormal = czm_normal * normalize(scratchNormal); + + offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC + offset = offset / dot(miterPushNormal, right); + position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0))); + + gl_Position = czm_depthClamp(czm_projection * position); + + position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0); + vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz; + v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz)); + v_rightPlaneEC = vec4(right, -dot(right, position.xyz)); + + position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0); + vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz; + v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz)); + v_halfWidth = endFaceNormalAndHalfWidth.w; } +`;var sL=`in vec4 v_startPlaneEC; +in vec4 v_endPlaneEC; +in vec4 v_rightPlaneEC; +in float v_halfWidth; +in vec3 v_volumeUpEC; +uniform vec4 u_highlightColor; void main() { - vec4 fragCoord = gl_FragCoord; - vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] - vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); - vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case - vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case - vec3 viewPosUv = u_cameraPositionUv; - #if defined(SHAPE_ELLIPSOID) - // viewDirUv has been scaled to a space where the ellipsoid is a sphere. - // Undo this scaling to get the raw direction. - vec3 rawDir = viewDirUv * u_ellipsoidRadiiUv; - Ray viewRayUv = Ray(viewPosUv, viewDirUv, rawDir); - #else - Ray viewRayUv = Ray(viewPosUv, viewDirUv, viewDirUv); - #endif - - Intersections ix; - RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); + float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); - // Exit early if the scene was completely missed. - if (shapeIntersection.entry.w == NO_HIT) { + // Discard for sky + if (logDepthOrDepth == 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(0.0, 0.0, 1.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME discard; +#endif // DEBUG_SHOW_VOLUME } - float currentT = shapeIntersection.entry.w; - float endT = shapeIntersection.exit.w; - vec3 positionUv = viewPosUv + currentT * viewDirUv; - PointJacobianT pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + eyeCoordinate /= eyeCoordinate.w; - // Traverse the tree from the start position - TraversalData traversalData; - SampleData sampleDatas[SAMPLE_COUNT]; - traverseOctreeFromBeginning(pointJacobian.point, traversalData, sampleDatas); - vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate); - #if defined(JITTER) - float noise = hash(screenCoord); // [0,1] - currentT += noise * step.w; - positionUv += noise * step.w * viewDirUv; - #endif + // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction + halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC)); - FragmentInput fragmentInput; - #if defined(STATISTICS) - setStatistics(fragmentInput.metadata.statistics); - #endif + // Check distance of the eye coordinate against the right-facing plane + float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); - vec4 colorAccum = vec4(0.0); + // Check eye coordinate against the mitering planes + float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz); + float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz); - for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { - // Read properties from the megatexture based on the traversal state - Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); + if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME + discard; +#endif // DEBUG_SHOW_VOLUME + } + out_FragColor = u_highlightColor; - // Prepare the custom shader inputs - copyPropertiesToMetadata(properties, fragmentInput.metadata); - fragmentInput.voxel.positionUv = positionUv; - fragmentInput.voxel.positionShapeUv = pointJacobian.point; - fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; - fragmentInput.voxel.viewDirUv = viewDirUv; - fragmentInput.voxel.viewDirWorld = viewDirWorld; - fragmentInput.voxel.surfaceNormal = step.xyz; - fragmentInput.voxel.travelDistance = step.w; - fragmentInput.voxel.stepCount = stepCount; - fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex; - fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv); + czm_writeDepthClamp(); +} +`;function b_(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new z(fi._defaultMinTerrainHeight,fi._defaultMaxTerrainHeight),this._boundingVolume=Dn.fromRectangle(e.rectangle,fi._defaultMinTerrainHeight,fi._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=e.classificationType,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(b_.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function sqe(e,t,n){let i=fi.getMinimumMaximumHeights(t,n),o=i.minimumTerrainHeight,r=i.maximumTerrainHeight,s=e._minimumMaximumVectorHeights;s.x=o,s.y=r;let a=e._boundingVolume,c=e._rectangle;Dn.fromRectangle(c,o,r,n,a)}function aqe(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ae.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ae.pack(t,a,c),c+=ae.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var cqe=new bi("createVectorTileClampedPolylines"),Vy={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function lqe(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=aqe(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=cqe.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._startEllipsoidNormals=new Float32Array(f.startEllipsoidNormals),e._endEllipsoidNormals=new Float32Array(f.endEllipsoidNormals),e._startPositionAndHeights=new Float32Array(f.startPositionAndHeights),e._startFaceNormalAndVertexCornerIds=new Float32Array(f.startFaceNormalAndVertexCornerIds),e._endPositionAndHeights=new Float32Array(f.endPositionAndHeights),e._endFaceNormalAndHalfWidths=new Float32Array(f.endFaceNormalAndHalfWidths),e._vertexBatchIds=new Uint16Array(f.vertexBatchIds);let d=f.indexDatatype;e._indices=d===Fe.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),uqe(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function uqe(e,t){if(!l(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,u=e._indices,f=n.byteLength+i.byteLength;f+=o.byteLength+r.byteLength,f+=s.byteLength+a.byteLength,f+=c.byteLength+u.byteLength,e._trianglesLength=u.length/3,e._geometryByteLength=f;let d=xt.createVertexBuffer({context:t,typedArray:n,usage:Be.STATIC_DRAW}),p=xt.createVertexBuffer({context:t,typedArray:i,usage:Be.STATIC_DRAW}),g=xt.createVertexBuffer({context:t,typedArray:o,usage:Be.STATIC_DRAW}),m=xt.createVertexBuffer({context:t,typedArray:r,usage:Be.STATIC_DRAW}),x=xt.createVertexBuffer({context:t,typedArray:s,usage:Be.STATIC_DRAW}),b=xt.createVertexBuffer({context:t,typedArray:a,usage:Be.STATIC_DRAW}),T=xt.createVertexBuffer({context:t,typedArray:c,usage:Be.STATIC_DRAW}),A=xt.createIndexBuffer({context:t,typedArray:u,usage:Be.STATIC_DRAW,indexDatatype:u.BYTES_PER_ELEMENT===2?Fe.UNSIGNED_SHORT:Fe.UNSIGNED_INT}),C=[{index:Vy.startEllipsoidNormal,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:Vy.endEllipsoidNormal,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:Vy.startPositionAndHeight,vertexBuffer:g,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Vy.endPositionAndHeight,vertexBuffer:m,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Vy.startFaceNormalAndVertexCorner,vertexBuffer:x,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Vy.endFaceNormalAndHalfWidth,vertexBuffer:b,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Vy.a_batchId,vertexBuffer:T,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new ii({context:t,attributes:C,indexBuffer:A}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var aL=new F,due=new h;function fqe(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,aL),F.multiplyByPoint(aL,e._center,due),F.setTranslation(aL,due,aL),aL},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function hue(e){return Ve.fromCache({cull:{enabled:!0,face:Ci.FRONT},blending:dn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:Hn.EQUAL,frontOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.KEEP},backFunction:Hn.EQUAL,backOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK}})}function dqe(e){l(e._rs)||(e._rs=hue(!1),e._rs3DTiles=hue(!0))}function hqe(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(rL),o=n.getFragmentShaderCallback(!1,void 0,!0)(sL),r=new Ue({defines:["VECTOR_TILE",Gt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[hu,i]}),s=new Ue({defines:["VECTOR_TILE"],sources:[o]});e._sp=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:Vy})}function mqe(e,t){let n=e._command;if(!l(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new Ze({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:ve.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=Ze.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===zn.TERRAIN||i===zn.BOTH)&&t.commandList.push(n),(i===zn.CESIUM_3D_TILE||i===zn.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}b_.prototype.getPositions=function(e){return Ob.getPolylinePositions(this,e)};b_.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Ks(e,r)}};b_.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function pqe(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=H.WHITE}}var _qe=new H,gqe=H.WHITE,yqe=!0;b_.prototype.applyStyle=function(e,t){if(!l(e)){pqe(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,_qe):gqe,s.show=l(e.show)?e.show.evaluate(s):yqe}};function xqe(e){return fi.initialize().then(function(){sqe(e,e._rectangle,e._ellipsoid)}).catch(t=>{e.isDestroyed()||(e._error=t)})}b_.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=xqe(this).then(lqe(this,t))),l(this._error)){let i=this._error;throw this._error=void 0,i}return}fqe(this,t),hqe(this,t),dqe(this);let n=e.passes;(n.render||n.pick)&&mqe(this,e)};b_.prototype.isDestroyed=function(){return!1};b_.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var cL=b_;var Oj=32767,bqe=new fe,Tqe=new h;function Cqe(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);Nn.zigZagDeltaDecode(s,a,c);let u=new Float64Array(e.length);for(let f=0;f<r;++f){let d=s[f],p=a[f],g=c[f],m=P.lerp(t.west,t.east,d/Oj),x=P.lerp(t.south,t.north,p/Oj),b=P.lerp(n,i,g/Oj),T=fe.fromRadians(m,x,b,bqe),A=o.cartographicToCartesian(T,Tqe);h.pack(A,u,f*3)}return u}var lL=Cqe;function rh(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,wqe(this,i,o)}Object.defineProperties(rh.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return l(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.trianglesLength),l(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.geometryByteLength),l(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return l(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function Aqe(e){return function(t,n){l(e._polygons)&&e._polygons.updateCommands(t,n)}}function Eqe(e,t){let n,i,o,r,s=y(e.POLYGONS_LENGTH,0),a=y(e.POLYLINES_LENGTH,0),c=y(e.POINTS_LENGTH,0);if(s>0&&l(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&l(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&l(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let u=l(n)||l(i)||l(o),f=s>0&&!l(n)||a>0&&!l(i)||c>0&&!l(o);if(u&&f)throw new se("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)){let p=0;if(!l(n)&&s>0)for(n=new Uint16Array(s),r=0;r<s;++r)n[r]=p++;if(!l(i)&&a>0)for(i=new Uint16Array(a),r=0;r<a;++r)i[r]=p++;if(!l(o)&&c>0)for(o=new Uint16Array(c),r=0;r<c;++r)o[r]=p++}return{polygons:n,polylines:i,points:o}}var oh=Uint32Array.BYTES_PER_ELEMENT;function Sqe(e){return new Ob(e)}function vqe(e){return new cL(e)}function wqe(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=oh;let r=o.getUint32(n,!0);if(r!==1)throw new se(`Only Vector tile version 1 is supported. Version ${r} is not.`);n+=oh;let s=o.getUint32(n,!0);if(n+=oh,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=oh,a===0)throw new se("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=oh;let u=o.getUint32(n,!0);n+=oh;let f=o.getUint32(n,!0);n+=oh;let d=o.getUint32(n,!0);n+=oh;let p=o.getUint32(n,!0);n+=oh;let g=o.getUint32(n,!0);n+=oh;let m=o.getUint32(n,!0);n+=oh;let x=Bo(i,n,a);n+=a;let b=new Uint8Array(t,n,c);n+=c;let T,A;u>0&&(T=Bo(i,n,u),n+=u,f>0&&(A=new Uint8Array(t,n,f),A=new Uint8Array(A),n+=f));let C=y(x.POLYGONS_LENGTH,0),E=y(x.POLYLINES_LENGTH,0),v=y(x.POINTS_LENGTH,0),D=C+E+v,O=new Wp(e,D,T,A,Aqe(e));if(e._batchTable=O,D===0)return;let R=new Zd(x,b),M=R.getGlobalProperty("REGION");if(!l(M))throw new se("Feature table global property: REGION must be defined");let N=ae.unpack(M),_=M[4],S=M[5],w=e._tile.computedTransform,I=R.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(I)?(I=h.unpack(I),F.multiplyByPoint(w,I,I)):(I=ae.center(N),I.height=P.lerp(_,S,.5),I=ee.WGS84.cartographicToCartesian(I));let L=Eqe(x,b);if(n+=(4-n%4)%4,C>0){R.featuresLength=C;let B=y(R.getPropertyArray("POLYGON_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYGON_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new se("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let U=y(R.getPropertyArray("POLYGON_INDEX_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYGON_INDEX_COUNT",X.UNSIGNED_INT,1));if(!l(U))throw new se("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let V=B.reduce(function(j,Z){return j+Z*2},0),G=U.reduce(function(j,Z){return j+Z},0),k=new Uint32Array(t,n,G);n+=d;let W=new Uint16Array(t,n,V);n+=p;let Y,Q;l(x.POLYGON_MINIMUM_HEIGHTS)&&l(x.POLYGON_MAXIMUM_HEIGHTS)&&(Y=R.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",X.FLOAT,1),Q=R.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",X.FLOAT,1)),e._polygons=new nL({positions:W,counts:B,indexCounts:U,indices:k,minimumHeight:_,maximumHeight:S,polygonMinimumHeights:Y,polygonMaximumHeights:Q,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,batchIds:L.polygons,modelMatrix:w})}if(E>0){R.featuresLength=E;let B=y(R.getPropertyArray("POLYLINE_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYLINE_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new se("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let U=R.getPropertyArray("POLYLINE_WIDTHS",X.UNSIGNED_SHORT,1);if(!l(U)){U=new Uint16Array(E);for(let Q=0;Q<E;++Q)U[Q]=2}let V=B.reduce(function(Q,j){return Q+j*3},0),G=new Uint16Array(t,n,V);n+=g;let k=e._tileset,W=k.examineVectorLinesFunction;if(l(W)){let Q=lL(new Uint16Array(G),N,_,S,ee.WGS84);Dqe(Q,B,L.polylines,O,e.url,W)}let Y=Sqe;l(k.classificationType)&&(Y=vqe),e._polylines=Y({positions:G,widths:U,counts:B,batchIds:L.polylines,minimumHeight:_,maximumHeight:S,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,classificationType:k.classificationType,keepDecodedPositions:k.vectorKeepDecodedPositions})}if(v>0){let B=new Uint16Array(t,n,v*3);n+=m,e._points=new tL({positions:B,batchIds:L.points,minimumHeight:_,maximumHeight:S,rectangle:N,batchTable:O})}}function Mj(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._polygons)&&e._polygons.createFeatures(e,n),l(e._polylines)&&e._polylines.createFeatures(e,n),l(e._points)&&e._points.createFeatures(e,n),e._features=n}}rh.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};rh.prototype.getFeature=function(e){return l(this._features)||Mj(this),this._features[e]};rh.prototype.applyDebugSettings=function(e,t){l(this._polygons)&&this._polygons.applyDebugSettings(e,t),l(this._polylines)&&this._polylines.applyDebugSettings(e,t),l(this._points)&&this._points.applyDebugSettings(e,t)};rh.prototype.applyStyle=function(e){l(this._features)||Mj(this),l(this._polygons)&&this._polygons.applyStyle(e,this._features),l(this._polylines)&&this._polylines.applyStyle(e,this._features),l(this._points)&&this._points.applyStyle(e,this._features)};rh.prototype.update=function(e,t){let n=!0;l(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons.ready),l(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines.ready),l(this._points)&&(this._points.update(t),n=n&&this._points.ready),l(this._batchTable)&&n&&(l(this._features)||Mj(this),this._batchTable.update(e,t),this._ready=!0)};rh.prototype.pick=function(e,t,n){};rh.prototype.getPolylinePositions=function(e){let t=this._polylines;if(l(t))return t.getPositions(e)};rh.prototype.isDestroyed=function(){return!1};rh.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function Dqe(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c<s;c++){let u=t[c]*3,f=e.slice(a,a+u);a+=u,r(f,n[c],o,i)}}var uL=rh;var mue={b3dm:function(e,t,n,i,o){return Eu.fromB3dm(e,t,n,i,o)},pnts:function(e,t,n,i,o){return Eu.fromPnts(e,t,n,i,o)},i3dm:function(e,t,n,i,o){return Eu.fromI3dm(e,t,n,i,o)},cmpt:function(e,t,n,i,o){return U1.fromTileType(e,t,n,i,o,mue)},externalTileset:function(e,t,n,i){return UM.fromJson(e,t,n,i)},geom:function(e,t,n,i,o){return new H1(e,t,n,i,o)},vctr:function(e,t,n,i,o){return new uL(e,t,n,i,o)},subt:function(e,t,n,i,o){return NA.fromSubtreeJson(e,t,n,void 0,i,o)},subtreeJson:function(e,t,n,i){return NA.fromSubtreeJson(e,t,n,i)},glb:function(e,t,n,i,o){if(i.byteLength<12)throw new se("Invalid glb content");let a=new DataView(i,o).getUint32(8,!0),c=new Uint8Array(i,o,a);return Eu.fromGltf(e,t,n,c)},gltf:function(e,t,n,i){return Eu.fromGltf(e,t,n,i)},geoJson:function(e,t,n,i){return Eu.fromGeoJson(e,t,n,i)}},Mb=mue;var Iqe={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},Zo=Object.freeze(Iqe);var sh={BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",COMPOSITE:"cmpt",POINT_CLOUD:"pnts",VECTOR:"vctr",GEOMETRY:"geom",GLTF:"gltf",GLTF_BINARY:"glb",IMPLICIT_SUBTREE:"subt",IMPLICIT_SUBTREE_JSON:"subtreeJson",EXTERNAL_TILESET:"externalTileset",MULTIPLE_CONTENT:"multipleContent",GEOJSON:"geoJson",VOXEL_BINARY:"voxl",VOXEL_JSON:"voxelJson"};sh.isBinaryFormat=function(e){switch(e){case sh.BATCHED_3D_MODEL:case sh.INSTANCED_3D_MODEL:case sh.COMPOSITE:case sh.POINT_CLOUD:case sh.VECTOR:case sh.GEOMETRY:case sh.IMPLICIT_SUBTREE:case sh.VOXEL_BINARY:case sh.GLTF_BINARY:return!0;default:return!1}};var Ms=Object.freeze(sh);var Pqe={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0},kf=Object.freeze(Pqe);var ea={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},T_=new Array(ea.NUMBER_OF_PASSES);T_[ea.RENDER]=Object.freeze({pass:ea.RENDER,isRender:!0,requestTiles:!0,ignoreCommands:!1});T_[ea.PICK]=Object.freeze({pass:ea.PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});T_[ea.SHADOW]=Object.freeze({pass:ea.SHADOW,isRender:!1,requestTiles:!0,ignoreCommands:!1});T_[ea.PRELOAD]=Object.freeze({pass:ea.PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});T_[ea.PRELOAD_FLIGHT]=Object.freeze({pass:ea.PRELOAD_FLIGHT,isRender:!1,requestTiles:!0,ignoreCommands:!0});T_[ea.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({pass:ea.REQUEST_RENDER_MODE_DEFER_CHECK,isRender:!1,requestTiles:!0,ignoreCommands:!0});T_[ea.MOST_DETAILED_PRELOAD]=Object.freeze({pass:ea.MOST_DETAILED_PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});T_[ea.MOST_DETAILED_PICK]=Object.freeze({pass:ea.MOST_DETAILED_PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});ea.getPassOptions=function(e){return T_[e]};var zo=Object.freeze(ea);function Tm(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}Object.defineProperties(Tm.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return!0}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(e){}},batchTable:{get:function(){}},group:{get:function(){},set:function(e){}}});Tm.prototype.hasProperty=function(e,t){return!1};Tm.prototype.getFeature=function(e){};Tm.prototype.applyDebugSettings=function(e,t){};Tm.prototype.applyStyle=function(e){};Tm.prototype.update=function(e,t){};Tm.prototype.pick=function(e,t,n){};Tm.prototype.isDestroyed=function(){return!1};Tm.prototype.destroy=function(){return ue(this)};var dE=Tm;function C_(e){e=y(e,y.EMPTY_OBJECT);let t=e.content,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(C_.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});C_.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};C_.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};C_.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};C_.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};C_.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};C_.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};C_.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var fL=C_;function Lj(e,t){let n=si(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){Lj._oneTimeWarning("findContentMetadata-missing-root-schema","Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new fL({content:n,class:o})}}Lj._oneTimeWarning=bt;var Lb=Lj;function Rqe(e,t){let n=e.metadataExtension;if(!l(n))return;let i=n.groups,o=si(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"].group:t.group;if(typeof o=="number")return i[o];let r=n.groupIds.findIndex(function(s){return s===o});return r>=0?i[r]:void 0}var Nb=Rqe;function A_(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(A_.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});A_.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};A_.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};A_.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};A_.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};A_.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};A_.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};A_.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var dL=A_;function Nj(e,t){let n=si(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){Nj._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new dL({tile:n,class:o})}}Nj._oneTimeWarning=bt;var hL=Nj;function Oqe(e){let t=new Uint8Array(e),n=Ud(t);if(n==="glTF"&&(n="glb"),Ms.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=Mqe(t);if(l(i.root))return{contentType:Ms.EXTERNAL_TILESET,jsonPayload:i};if(l(i.asset))return{contentType:Ms.GLTF,jsonPayload:i};if(l(i.tileAvailability))return{contentType:Ms.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(l(i.type))return{contentType:Ms.GEOJSON,jsonPayload:i};if(l(i.voxelTable))return{contentType:Ms.VOXEL_JSON,jsonPayload:i};throw new se("Invalid tile content.")}function Mqe(e){let t;try{t=Bo(e)}catch{throw new se("Invalid tile content.")}return t}var Cm=Oqe;function Vf(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=l(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._ready=!1,this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;s<r;s++){let a=n.getDerivedResource({url:o[s].uri}),c=tc.getServerKey(a.getUrlComponent());this._innerContentResources[s]=a,this._serverKeys[s]=c}}Object.defineProperties(Vf.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._contentsCreated?this._ready:!1}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){},set:function(){}},innerContentUrls:{get:function(){return this._innerContentHeaders.map(function(e){return e.uri})}}});function Fj(e,t){e._requestsInFlight+=t,e.tileset.statistics.numberOfPendingRequests+=t}function pue(e,t){e._cancelCount++,e._tile._contentState=t;let n=e.tileset.statistics;n.numberOfPendingRequests-=e._requestsInFlight,n.numberOfAttemptedRequests+=e._requestsInFlight,e._requestsInFlight=0;let i=e._innerContentHeaders.length;e._arrayFetchPromises=new Array(i)}Vf.prototype.requestInnerContents=function(){if(!Lqe(this._serverKeys)){this.tileset.statistics.numberOfAttemptedRequests+=this._serverKeys.length;return}let e=this._innerContentHeaders;Fj(this,e.length);let t=this._cancelCount;for(let n=0;n<e.length;n++)this._arrayFetchPromises[n]=Nqe(this,n,t,this._tile._contentState);return Fqe(this)};function Lqe(e){let t={};for(let n=0;n<e.length;n++){let i=e[n];l(t[i])?t[i]++:t[i]=1}for(let n in t)if(t.hasOwnProperty(n)&&!tc.serverHasOpenSlots(n,t[n]))return!1;return tc.heapHasOpenSlots(e.length)}function Nqe(e,t,n,i){let o=e._innerContentResources[t].clone(),r=e.tile,s=function(){return r._priority},a=e._serverKeys[t],c=new er({throttle:!0,throttleByServer:!0,type:_s.TILES3D,priorityFunction:s,serverKey:a});o.request=c,e._requests[t]=c;let u=o.fetchArrayBuffer();if(l(u))return u.then(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===Jn.CANCELLED){pue(e,i);return}return Fj(e,-1),f}}).catch(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===Jn.CANCELLED){pue(e,i);return}Fj(e,-1),_ue(e,t,f)}})}async function Fqe(e){let t=e._cancelCount,n=await Promise.all(e._arrayFetchPromises);if(t<e._cancelCount)return;let i=n.map((r,s)=>Bqe(e,r,s)),o=await Promise.all(i);return e._contentsCreated=!0,e._contents=o.filter(l),o}async function Bqe(e,t,n){if(l(t))try{let i=Cm(t);if(i.contentType===Ms.EXTERNAL_TILESET)throw new se("External tilesets are disallowed inside multiple contents");e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===Ms.GEOMETRY||i.contentType===Ms.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=Mb[i.contentType];l(i.binaryPayload)?a=await Promise.resolve(c(o,s,r,i.binaryPayload.buffer,0)):a=await Promise.resolve(c(o,s,r,i.jsonPayload));let u=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let d=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=d.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=Lb(o,u));let f=Nb(o,u);return l(f)&&(a.group=new Zx({metadata:f})),a}catch(i){_ue(e,n,i)}}function _ue(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=l(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}Vf.prototype.cancelRequests=function(){for(let e=0;e<this._requests.length;e++){let t=this._requests[e];l(t)&&t.cancel()}};Vf.prototype.hasProperty=function(e,t){return!1};Vf.prototype.getFeature=function(e){};Vf.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};Vf.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};Vf.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};Vf.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};Vf.prototype.isDestroyed=function(){return!1};Vf.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var mL=Vf;var gue=Math.cos,yue=Math.sin,kqe=Math.sqrt,Bj={};Bj.computePosition=function(e,t,n,i,o,r,s){let a=t.radiiSquared,c=e.nwCorner,u=e.boundingRectangle,f=c.latitude-e.granYCos*i+o*e.granXSin,d=gue(f),p=yue(f),g=a.z*p,m=c.longitude+i*e.granYSin+o*e.granXCos,x=d*gue(m),b=d*yue(m),T=a.x*x,A=a.y*b,C=kqe(T*x+A*b+g*p);if(r.x=T/C,r.y=A/C,r.z=g/C,n){let E=e.stNwCorner;l(E)?(f=E.latitude-e.stGranYCos*i+o*e.stGranXSin,m=E.longitude+i*e.stGranYSin+o*e.stGranXCos,s.x=(m-e.stWest)*e.lonScalar,s.y=(f-e.stSouth)*e.latScalar):(s.x=(m-u.west)*e.lonScalar,s.y=(f-u.south)*e.latScalar)}};var Vqe=new Oi,Uf=new h,Uqe=new fe,Dz=new h,pL=new Ri;function xue(e,t,n,i,o,r,s){let a=Math.cos(t),c=i*a,u=n*a,f=Math.sin(t),d=i*f,p=n*f;pL._ellipsoid=ee.default,Uf=pL.project(e,Uf),Uf=h.subtract(Uf,Dz,Uf);let g=Oi.fromRotation(t,Vqe);Uf=Oi.multiplyByVector(g,Uf,Uf),Uf=h.add(Uf,Dz,Uf),e=pL.unproject(Uf,e),r-=1,s-=1;let m=e.latitude,x=m+r*p,b=m-c*s,T=m-c*s+r*p,A=Math.max(m,x,b,T),C=Math.min(m,x,b,T),E=e.longitude,v=E+r*u,D=E+s*d,O=E+s*d+r*u,R=Math.max(E,v,D,O),M=Math.min(E,v,D,O);return{north:A,south:C,east:R,west:M,granYCos:c,granYSin:d,granXCos:u,granXSin:p,nwCorner:e}}Bj.computeOptions=function(e,t,n,i,o,r,s){let a=e.east,c=e.west,u=e.north,f=e.south,d=!1,p=!1;u===P.PI_OVER_TWO&&(d=!0),f===-P.PI_OVER_TWO&&(p=!0);let g,m=u-f;c>a?g=P.TWO_PI-c+a:g=a-c;let x=Math.ceil(g/t)+1,b=Math.ceil(m/t)+1,T=g/(x-1),A=m/(b-1),C=ae.northwest(e,r),E=ae.center(e,Uqe);(n!==0||i!==0)&&(E.longitude<C.longitude&&(E.longitude+=P.TWO_PI),pL._ellipsoid=ee.default,Dz=pL.project(E,Dz));let v=A,D=T,O=0,R=0,M=ae.clone(e,o),N={granYCos:v,granYSin:O,granXCos:D,granXSin:R,nwCorner:C,boundingRectangle:M,width:x,height:b,northCap:d,southCap:p};if(n!==0){let _=xue(C,n,T,A,E,x,b);u=_.north,f=_.south,a=_.east,c=_.west,N.granYCos=_.granYCos,N.granYSin=_.granYSin,N.granXCos=_.granXCos,N.granXSin=_.granXSin,M.north=u,M.south=f,M.east=a,M.west=c}if(i!==0){n=n-i;let _=ae.northwest(M,s),S=xue(_,n,T,A,E,x,b);N.stGranYCos=S.granYCos,N.stGranXCos=S.granXCos,N.stGranYSin=S.granYSin,N.stGranXSin=S.granXSin,N.stNwCorner=_,N.stWest=S.west,N.stSouth=S.south}return N};var Ls=Bj;var zqe=new ce,Hqe=new ce,Gqe=new h,Wqe=new ae;function bue(e,t){let n=e._ellipsoid,i=t.height,o=t.width,r=t.northCap,s=t.southCap,a=i,c=2,u=0,f=4;r&&(c-=1,a-=1,u+=1,f-=2),s&&(c-=1,a-=1,u+=1,f-=2),u+=c*o+2*a-f;let d=new Float64Array(u*3),p=0,g=0,m,x=Gqe;if(r)Ls.computePosition(t,n,!1,g,0,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;else for(m=0;m<o;m++)Ls.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=o-1,g=1;g<i;g++)Ls.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;if(g=i-1,!s)for(m=o-2;m>=0;m--)Ls.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=0,g=i-2;g>0;g--)Ls.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;let b=d.length/3*2,T=Fe.createTypedArray(d.length/3,b),A=0;for(let E=0;E<d.length/3-1;E++)T[A++]=E,T[A++]=E+1;T[A++]=d.length/3-1,T[A++]=0;let C=new ft({attributes:new pn,primitiveType:Ne.LINES});return C.attributes.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),C.indices=T,C}function jqe(e,t){let n=e._surfaceHeight,i=e._extrudedHeight,o=e._ellipsoid,r=bue(e,t),s=t.height,a=t.width,c=ci.scaleToGeodeticHeight(r.attributes.position.values,n,o,!1),u=c.length,f=new Float64Array(u*2);f.set(c);let d=ci.scaleToGeodeticHeight(r.attributes.position.values,i,o);f.set(d,u),r.attributes.position.values=f;let p=t.northCap,g=t.southCap,m=4;p&&(m-=1),g&&(m-=1);let x=(f.length/3+m)*2,b=Fe.createTypedArray(f.length/3,x);u=f.length/6;let T=0;for(let C=0;C<u-1;C++)b[T++]=C,b[T++]=C+1,b[T++]=C+u,b[T++]=C+u+1;b[T++]=u-1,b[T++]=0,b[T++]=u+u-1,b[T++]=u,b[T++]=0,b[T++]=u;let A;if(p)A=s-1;else{let C=a-1;b[T++]=C,b[T++]=C+u,A=a+s-2}if(b[T++]=A,b[T++]=A+u,!g){let C=a+A-1;b[T++]=C,b[T]=C+u}return r.indices=b,r}function mE(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.granularity,P.RADIANS_PER_DEGREE),i=y(e.ellipsoid,ee.default),o=y(e.rotation,0),r=y(e.height,0),s=y(e.extrudedHeight,r);this._rectangle=ae.clone(t),this._granularity=n,this._ellipsoid=i,this._surfaceHeight=Math.max(r,s),this._rotation=o,this._extrudedHeight=Math.min(r,s),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}mE.packedLength=ae.packedLength+ee.packedLength+5;mE.pack=function(e,t,n){return n=y(n,0),ae.pack(e._rectangle,t,n),n+=ae.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._extrudedHeight,t[n]=y(e._offsetAttribute,-1),t};var Tue=new ae,Cue=ee.clone(ee.UNIT_SPHERE),hE={rectangle:Tue,ellipsoid:Cue,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};mE.unpack=function(e,t,n){t=y(t,0);let i=ae.unpack(e,t,Tue);t+=ae.packedLength;let o=ee.unpack(e,t,Cue);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t];return l(n)?(n._rectangle=ae.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._surfaceHeight=s,n._rotation=a,n._extrudedHeight=c,n._offsetAttribute=u===-1?void 0:u,n):(hE.granularity=r,hE.height=s,hE.rotation=a,hE.extrudedHeight=c,hE.offsetAttribute=u===-1?void 0:u,new mE(hE))};var qqe=new fe;mE.createGeometry=function(e){let t=e._rectangle,n=e._ellipsoid,i=Ls.computeOptions(t,e._granularity,e._rotation,0,Wqe,qqe),o,r;if(P.equalsEpsilon(t.north,t.south,P.EPSILON10)||P.equalsEpsilon(t.east,t.west,P.EPSILON10))return;let s=e._surfaceHeight,a=e._extrudedHeight,c=!P.equalsEpsilon(s,a,0,P.EPSILON2),u;if(c){if(o=jqe(e,i),l(e._offsetAttribute)){let p=o.attributes.position.values.length/3,g=new Uint8Array(p);e._offsetAttribute===ln.TOP?g=g.fill(1,0,p/2):(u=e._offsetAttribute===ln.NONE?0:1,g=g.fill(u)),o.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let f=ce.fromRectangle3D(t,n,s,Hqe),d=ce.fromRectangle3D(t,n,a,zqe);r=ce.union(f,d)}else{if(o=bue(e,i),o.attributes.position.values=ci.scaleToGeodeticHeight(o.attributes.position.values,s,n,!1),l(e._offsetAttribute)){let f=o.attributes.position.values.length;u=e._offsetAttribute===ln.NONE?0:1;let d=new Uint8Array(f/3).fill(u);o.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}r=ce.fromRectangle3D(t,n,s)}return new ft({attributes:o.attributes,indices:o.indices,primitiveType:Ne.LINES,boundingSphere:r,offsetAttribute:e._offsetAttribute})};var Fb=mE;function _E(e){this.rectangle=ae.clone(e.rectangle),this.minimumHeight=y(e.minimumHeight,0),this.maximumHeight=y(e.maximumHeight,0),this.southwestCornerCartesian=new h,this.northeastCornerCartesian=new h,this.westNormal=new h,this.southNormal=new h,this.eastNormal=new h,this.northNormal=new h;let t=y(e.ellipsoid,ee.WGS84);$qe(this,e.rectangle,t),this._orientedBoundingBox=void 0,this._boundingSphere=void 0,y(e.computeBoundingVolumes,!0)&&this.computeBoundingVolumes(t)}Object.defineProperties(_E.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});_E.prototype.computeBoundingVolumes=function(e){this._orientedBoundingBox=Dn.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,e),this._boundingSphere=ce.fromOrientedBoundingBox(this._orientedBoundingBox)};var Aue=new h,Iz=new h,Eue=new h,Yqe=new h,Xqe=new h,Kqe=new h,Zqe=new h,zf=new fe,Sue=new un(h.UNIT_X,0),pE=new yn;function $qe(e,t,n){n.cartographicToCartesian(ae.southwest(t),e.southwestCornerCartesian),n.cartographicToCartesian(ae.northeast(t),e.northeastCornerCartesian),zf.longitude=t.west,zf.latitude=(t.south+t.north)*.5,zf.height=0;let i=n.cartographicToCartesian(zf,Kqe),o=h.cross(i,h.UNIT_Z,Yqe);h.normalize(o,e.westNormal),zf.longitude=t.east;let r=n.cartographicToCartesian(zf,Zqe),s=h.cross(h.UNIT_Z,r,Aue);h.normalize(s,e.eastNormal);let a=h.subtract(i,r,Aue);h.magnitude(a)===0&&(a=h.clone(o,a));let c=h.normalize(a,Xqe),u=t.south,f;if(u>0){zf.longitude=(t.west+t.east)*.5,zf.latitude=u;let x=n.cartographicToCartesian(zf,pE.origin);h.clone(c,pE.direction);let b=un.fromPointNormal(e.southwestCornerCartesian,e.westNormal,Sue);ei.rayPlane(pE,b,e.southwestCornerCartesian),f=n.geodeticSurfaceNormal(x,Iz)}else f=n.geodeticSurfaceNormalCartographic(ae.southeast(t),Iz);let d=h.cross(f,a,Eue);h.normalize(d,e.southNormal);let p=t.north,g;if(p<0){zf.longitude=(t.west+t.east)*.5,zf.latitude=p;let x=n.cartographicToCartesian(zf,pE.origin);h.negate(c,pE.direction);let b=un.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,Sue);ei.rayPlane(pE,b,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(x,Iz)}else g=n.geodeticSurfaceNormalCartographic(ae.northwest(t),Iz);let m=h.cross(a,g,Eue);h.normalize(m,e.northNormal)}var Qqe=new h,Jqe=new h,eYe=new h(0,-1,0),tYe=new h(0,0,-1),vue=new h;function nYe(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!ae.contains(e.rectangle,o)){let u=e.southwestCornerCartesian,f=e.northeastCornerCartesian,d=e.westNormal,p=e.southNormal,g=e.eastNormal,m=e.northNormal;t.mode!==ne.SCENE3D&&(u=t.mapProjection.project(ae.southwest(e.rectangle),Qqe),u.z=u.y,u.y=u.x,u.x=0,f=t.mapProjection.project(ae.northeast(e.rectangle),Jqe),f.z=f.y,f.y=f.x,f.x=0,d=eYe,g=h.UNIT_Y,p=tYe,m=h.UNIT_Z);let x=h.subtract(i,u,vue),b=h.dot(x,d),T=h.dot(x,p),A=h.subtract(i,f,vue),C=h.dot(A,g),E=h.dot(A,m);b>0?r+=b*b:C>0&&(r+=C*C),T>0?r+=T*T:E>0&&(r+=E*E)}let s,a,c;if(t.mode===ne.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let u=s-c;r+=u*u}else if(s<a){let u=a-s;r+=u*u}return Math.sqrt(r)}_E.prototype.distanceToCamera=function(e){let t=nYe(this,e);if(e.mode===ne.SCENE3D&&l(this._orientedBoundingBox)){let n=Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC));return Math.max(t,n)}return t};_E.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};_E.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new Fb({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),i=new It({geometry:n,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}});return new Pn({geometryInstances:i,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var Hf=_E;var _L={},iYe=new h,wue=new h,Due=new h,Iue=new h,Pue=new Dn;_L.validOutline=function(e){let n=Dn.fromPoints(e,Pue).halfAxes,i=$.getColumn(n,0,wue),o=$.getColumn(n,1,Due),r=$.getColumn(n,2,Iue),s=h.magnitude(i),a=h.magnitude(o),c=h.magnitude(r);return!(s===0&&(a===0||c===0)||a===0&&c===0)};_L.computeProjectTo2DArguments=function(e,t,n,i){let o=Dn.fromPoints(e,Pue),r=o.halfAxes,s=$.getColumn(r,0,wue),a=$.getColumn(r,1,Due),c=$.getColumn(r,2,Iue),u=h.magnitude(s),f=h.magnitude(a),d=h.magnitude(c),p=Math.min(u,f,d);if(u===0&&(f===0||d===0)||f===0&&d===0)return!1;let g,m;return(p===f||p===d)&&(g=s),p===u?g=a:p===d&&(m=a),(p===u||p===f)&&(m=c),h.normalize(g,n),h.normalize(m,i),h.clone(o.center,t),!0};function Rue(e,t,n,i,o){let r=h.subtract(e,t,iYe),s=h.dot(n,r),a=h.dot(i,r);return z.fromElements(s,a,o)}_L.createProjectPointsTo2DFunction=function(e,t,n){return function(i){let o=new Array(i.length);for(let r=0;r<i.length;r++)o[r]=Rue(i[r],e,t,n);return o}};_L.createProjectPointTo2DFunction=function(e,t,n){return function(i,o){return Rue(i,e,t,n,o)}};var E_=_L;function oYe(e){let t=e.length,n=new Float64Array(t*3),i=Fe.createTypedArray(t,t*2),o=0,r=0;for(let a=0;a<t;a++){let c=e[a];n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,i[r++]=a,i[r++]=(a+1)%t}let s=new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n})});return new ft({attributes:s,indices:i,primitiveType:Ne.LINES})}function Bb(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=Gn.computeHierarchyPackedLength(t,h)+1}Bb.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions}};return new Bb(t)};Bb.pack=function(e,t,n){return n=y(n,0),n=Gn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),t[n]=e.packedLength,t};var rYe={polygonHierarchy:{}};Bb.unpack=function(e,t,n){t=y(t,0);let i=Gn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=e[t];return l(n)||(n=new Bb(rYe)),n._polygonHierarchy=i,n.packedLength=o,n};Bb.createGeometry=function(e){let t=e._polygonHierarchy,n=t.positions;if(n=So(n,h.equalsEpsilon,!0),n.length<3||!E_.validOutline(n))return;let o=Gn.polygonOutlinesFromHierarchy(t,!1);if(o.length===0)return;let r=[];for(let c=0;c<o.length;c++){let u=new It({geometry:oYe(o[c])});r.push(u)}let s=Fn.combineInstances(r)[0],a=ce.fromPoints(t.positions);return new ft({attributes:s.attributes,indices:s.indices,primitiveType:s.primitiveType,boundingSphere:a})};var Gf=Bb;var Pz=new fe;function gL(e){let t=Yp.fromToken(e.token),n=y(e.minimumHeight,0),i=y(e.maximumHeight,0),o=y(e.ellipsoid,ee.WGS84);this.s2Cell=t,this.minimumHeight=n,this.maximumHeight=i,this.ellipsoid=o;let r=mYe(t,n,i,o);this._boundingPlanes=r;let s=yYe(r);this._vertices=s,this._edgeNormals=new Array(6),this._edgeNormals[0]=jj(r[0],s.slice(0,4));let a;for(a=0;a<4;a++)this._edgeNormals[0][a]=h.negate(this._edgeNormals[0][a],this._edgeNormals[0][a]);for(this._edgeNormals[1]=jj(r[1],s.slice(4,8)),a=0;a<4;a++)this._edgeNormals[2+a]=jj(r[2+a],[s[a%4],s[(a+1)%4],s[4+(a+1)%4],s[4+a]]);for(this._planeVertices=[this._vertices.slice(0,4),this._vertices.slice(4,8)],a=0;a<4;a++)this._planeVertices.push([this._vertices[a%4],this._vertices[(a+1)%4],this._vertices[4+(a+1)%4],this._vertices[4+a]]);let c=t.getCenter();Pz=o.cartesianToCartographic(c,Pz),Pz.height=(i+n)/2,this.center=o.cartographicToCartesian(Pz,c),this._boundingSphere=ce.fromPoints(s)}var sYe=new h,aYe=new fe,cYe=new h,lYe=new fe,uYe=new h,fYe=new h,dYe=new h,hYe=new h;function mYe(e,t,n,i){let o=new Array(6),r=e.getCenter(),s=i.geodeticSurfaceNormal(r,sYe),a=i.cartesianToCartographic(r,aYe);a.height=n;let c=i.cartographicToCartesian(a,cYe),u=un.fromPointNormal(c,s);o[0]=u;let f=0,d,p=[],g,m;for(d=0;d<4;d++){g=e.getVertex(d),p[d]=g,m=i.cartesianToCartographic(g,lYe),m.height=t;let b=un.getPointDistance(u,i.cartographicToCartesian(m,uYe));b<f&&(f=b)}let x=un.clone(u);for(x.normal=h.negate(x.normal,x.normal),x.distance=x.distance*-1+f,o[1]=x,d=0;d<4;d++){g=p[d];let b=p[(d+1)%4],T=i.geodeticSurfaceNormal(g,fYe),A=h.subtract(b,g,hYe),C=h.cross(A,T,dYe);C=h.normalize(C,C),o[2+d]=un.fromPointNormal(g,C)}return o}var kb=new h,Vb=new h,Ub=new h,kj=new h,Vj=new h,Uj=new h,pYe=new h,_Ye=new h,gYe=new h,zj=new h,Hj=new h,Gj=new h,Uy=new h,Am=new $;function Oue(e,t,n){kb=e.normal,Vb=t.normal,Ub=n.normal,kj=h.multiplyByScalar(e.normal,-e.distance,kj),Vj=h.multiplyByScalar(t.normal,-t.distance,Vj),Uj=h.multiplyByScalar(n.normal,-n.distance,Uj),zj=h.multiplyByScalar(h.cross(Vb,Ub,pYe),h.dot(kj,kb),zj),Hj=h.multiplyByScalar(h.cross(Ub,kb,_Ye),h.dot(Vj,Vb),Hj),Gj=h.multiplyByScalar(h.cross(kb,Vb,gYe),h.dot(Uj,Ub),Gj),Am[0]=kb.x,Am[1]=Vb.x,Am[2]=Ub.x,Am[3]=kb.y,Am[4]=Vb.y,Am[5]=Ub.y,Am[6]=kb.z,Am[7]=Vb.z,Am[8]=Ub.z;let i=$.determinant(Am);return Uy=h.add(zj,Hj,Uy),Uy=h.add(Uy,Gj,Uy),new h(Uy.x/i,Uy.y/i,Uy.z/i)}function yYe(e){let t=new Array(8);for(let n=0;n<4;n++)t[n]=Oue(e[0],e[2+(n+3)%4],e[2+n%4]),t[n+4]=Oue(e[1],e[2+(n+3)%4],e[2+n%4]);return t}var Wj=new h,gE=new h;function jj(e,t){let n=[];for(let i=0;i<4;i++)Wj=h.subtract(t[(i+1)%4],t[i],Wj),gE=h.cross(e.normal,Wj,gE),gE=h.normalize(gE,gE),n[i]=h.clone(gE);return n}Object.defineProperties(gL.prototype,{boundingVolume:{get:function(){return this}},boundingSphere:{get:function(){return this._boundingSphere}}});var qj=new h;gL.prototype.distanceToCamera=function(e){let t=e.camera.positionWC,n=[],i=[],o;un.getPointDistance(this._boundingPlanes[0],t)>0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):un.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,un.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=Yj(un.projectPointOntoPlane(c,t,qj),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=Mue(t,p[0],p[1]),h.distance(a,t)}let f=Number.MAX_VALUE,d;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=Yj(un.projectPointOntoPlane(c,t,qj),i[r],c,this._edgeNormals[n[r]]),d=h.distanceSquared(a,t),d<f&&(f=d);return Math.sqrt(f)}else if(n.length>3)return a=Yj(un.projectPointOntoPlane(this._boundingPlanes[1],t,qj),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let u=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+u)%4]):h.distance(t,this._vertices[4+(n[1]-2+u)%4])};var xYe=new h,bYe=new h;function Mue(e,t,n){let i=h.subtract(n,t,xYe),o=h.subtract(e,t,bYe),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var TYe=new un(h.UNIT_X,0);function Yj(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c<t.length;c++){let u=un.fromPointNormal(t[c],i[c],TYe);un.getPointDistance(u,e)<0||(a=Mue(e,t[c],t[(c+1)%4]),r=h.distance(e,a),r<o&&(o=r,s=a))}return l(s)?s:e}gL.prototype.intersectPlane=function(e){let t=0,n=0;for(let i=0;i<this._vertices.length;i++)h.dot(e.normal,this._vertices[i])+e.distance<0?n++:t++;return t===this._vertices.length?qt.INSIDE:n===this._vertices.length?qt.OUTSIDE:qt.INTERSECTING};gL.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new Gf({polygonHierarchy:{positions:this._planeVertices[0]}}),i=Gf.createGeometry(n),o=new It({geometry:i,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}}),r=new Gf({polygonHierarchy:{positions:this._planeVertices[1]}}),s=Gf.createGeometry(r),a=new It({geometry:s,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}}),c=[];for(let u=0;u<4;u++){let f=new Gf({polygonHierarchy:{positions:this._planeVertices[2+u]}}),d=Gf.createGeometry(f);c[u]=new It({geometry:d,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}})}return new Pn({geometryInstances:[c[0],c[1],c[2],c[3],a,o],appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var yL=gL;var CYe=new h(1,1,1),Rz=Math.cos,Oz=Math.sin;function yE(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,CYe),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,10)),c=Math.round(y(e.slicePartitions,8)),u=Math.round(y(e.subdivisions,128));this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._subdivisions=u,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}yE.packedLength=2*h.packedLength+8;yE.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n++]=e._subdivisions,t[n]=y(e._offsetAttribute,-1),t};var Lue=new h,Nue=new h,S_={radii:Lue,innerRadii:Nue,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};yE.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Lue);t+=h.packedLength;let o=h.unpack(e,t,Nue);t+=h.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._minimumClock=r,n._maximumClock=s,n._minimumCone=a,n._maximumCone=c,n._stackPartitions=u,n._slicePartitions=f,n._subdivisions=d,n._offsetAttribute=p===-1?void 0:p,n):(S_.minimumClock=r,S_.maximumClock=s,S_.minimumCone=a,S_.maximumCone=c,S_.stackPartitions=u,S_.slicePartitions=f,S_.subdivisions=d,S_.offsetAttribute=p===-1?void 0:p,new yE(S_))};yE.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._subdivisions,c=ee.fromCartesian3(t),u=e._slicePartitions+1,f=e._stackPartitions+1;u=Math.round(u*Math.abs(o-i)/P.TWO_PI),f=Math.round(f*Math.abs(s-r)/P.PI),u<2&&(u=2),f<2&&(f=2);let d=0,p=1,g=n.x!==t.x||n.y!==t.y||n.z!==t.z,m=!1,x=!1;g&&(p=2,r>0&&(m=!0,d+=u),s<Math.PI&&(x=!0,d+=u));let b=a*p*(f+u),T=new Float64Array(b*3),A=2*(b+d-(u+f)*p),C=Fe.createTypedArray(b,A),E,v,D,O,R=0,M=new Array(f),N=new Array(f);for(E=0;E<f;E++)O=r+E*(s-r)/(f-1),M[E]=Oz(O),N[E]=Rz(O);let _=new Array(a),S=new Array(a);for(E=0;E<a;E++)D=i+E*(o-i)/(a-1),_[E]=Oz(D),S[E]=Rz(D);for(E=0;E<f;E++)for(v=0;v<a;v++)T[R++]=t.x*M[E]*S[v],T[R++]=t.y*M[E]*_[v],T[R++]=t.z*N[E];if(g)for(E=0;E<f;E++)for(v=0;v<a;v++)T[R++]=n.x*M[E]*S[v],T[R++]=n.y*M[E]*_[v],T[R++]=n.z*N[E];for(M.length=a,N.length=a,E=0;E<a;E++)O=r+E*(s-r)/(a-1),M[E]=Oz(O),N[E]=Rz(O);for(_.length=u,S.length=u,E=0;E<u;E++)D=i+E*(o-i)/(u-1),_[E]=Oz(D),S[E]=Rz(D);for(E=0;E<a;E++)for(v=0;v<u;v++)T[R++]=t.x*M[E]*S[v],T[R++]=t.y*M[E]*_[v],T[R++]=t.z*N[E];if(g)for(E=0;E<a;E++)for(v=0;v<u;v++)T[R++]=n.x*M[E]*S[v],T[R++]=n.y*M[E]*_[v],T[R++]=n.z*N[E];for(R=0,E=0;E<f*p;E++){let L=E*a;for(v=0;v<a-1;v++)C[R++]=L+v,C[R++]=L+v+1}let w=f*a*p;for(E=0;E<u;E++)for(v=0;v<a-1;v++)C[R++]=w+E+v*u,C[R++]=w+E+(v+1)*u;if(g)for(w=f*a*p+u*a,E=0;E<u;E++)for(v=0;v<a-1;v++)C[R++]=w+E+v*u,C[R++]=w+E+(v+1)*u;if(g){let L=f*a*p,B=L+a*u;if(m)for(E=0;E<u;E++)C[R++]=L+E,C[R++]=B+E;if(x)for(L+=a*u-u,B+=a*u-u,E=0;E<u;E++)C[R++]=L+E,C[R++]=B+E}let I=new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T})});if(l(e._offsetAttribute)){let L=T.length,B=e._offsetAttribute===ln.NONE?0:1,U=new Uint8Array(L/3).fill(B);I.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:U})}return new ft({attributes:I,indices:C,primitiveType:Ne.LINES,boundingSphere:ce.fromEllipsoid(c),offsetAttribute:e._offsetAttribute})};var wu=yE;function xE(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new wu(i),this._workerName="createSphereOutlineGeometry"}xE.packedLength=wu.packedLength;xE.pack=function(e,t,n){return wu.pack(e._ellipsoidGeometry,t,n)};var AYe=new wu,zb={radius:void 0,radii:new h,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};xE.unpack=function(e,t,n){let i=wu.unpack(e,t,AYe);return zb.stackPartitions=i._stackPartitions,zb.slicePartitions=i._slicePartitions,zb.subdivisions=i._subdivisions,l(n)?(h.clone(i._radii,zb.radii),n._ellipsoidGeometry=new wu(zb),n):(zb.radius=i._radii.x,new xE(zb))};xE.createGeometry=function(e){return wu.createGeometry(e._ellipsoidGeometry)};var v_=xE;function bE(e,t){t===0&&(t=P.EPSILON7),this._boundingSphere=new ce(e,t)}Object.defineProperties(bE.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}});bE.prototype.distanceToCamera=function(e){let t=this._boundingSphere;return Math.max(0,h.distance(t.center,e.camera.positionWC)-t.radius)};bE.prototype.intersectPlane=function(e){return ce.intersectPlane(this._boundingSphere,e)};bE.prototype.update=function(e,t){h.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t};bE.prototype.createDebugVolume=function(e){let t=new v_({radius:this.radius}),n=F.fromTranslation(this.center,new F.clone(F.IDENTITY)),i=new It({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Wt.fromColor(e)}});return new Pn({geometryInstances:i,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var w_=bE;var EYe=new h,SYe=new h,vYe=new h,wYe=new h;function Hb(e,t,n){n=h.cross(e,t,n);let i=h.magnitude(n);return h.multiplyByScalar(n,P.EPSILON7/i,n)}function Xj(e,t){let n=h.normalize(e,wYe),i=h.equalsEpsilon(n,h.UNIT_X,P.EPSILON6)?h.UNIT_Y:h.UNIT_X;return Hb(e,i,t)}function Fue(e){let t=$.getColumn(e,0,EYe),n=$.getColumn(e,1,SYe),i=$.getColumn(e,2,vYe),o=h.equals(t,h.ZERO),r=h.equals(n,h.ZERO),s=h.equals(i,h.ZERO);return!o&&!r&&!s?e:o&&r&&s?(e[0]=P.EPSILON7,e[4]=P.EPSILON7,e[8]=P.EPSILON7,e):(o&&!r&&!s?t=Hb(n,i,t):!o&&r&&!s?n=Hb(t,i,n):!o&&!r&&s?i=Hb(n,t,i):o?r?s||(t=Xj(i,t),n=Hb(i,t,n)):(t=Xj(n,t),i=Hb(n,t,i)):(n=Xj(t,n),i=Hb(n,t,i)),$.setColumn(e,0,t,e),$.setColumn(e,1,n,e),$.setColumn(e,2,i,e),e)}function TE(e,t){t=Fue(t),this._orientedBoundingBox=new Dn(e,t),this._boundingSphere=ce.fromOrientedBoundingBox(this._orientedBoundingBox)}Object.defineProperties(TE.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});TE.prototype.distanceToCamera=function(e){return Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))};TE.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};TE.prototype.update=function(e,t){h.clone(e,this._orientedBoundingBox.center),t=Fue(t),$.clone(t,this._orientedBoundingBox.halfAxes),ce.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)};TE.prototype.createDebugVolume=function(e){let t=new Pd({minimum:new h(-1,-1,-1),maximum:new h(1,1,1)}),n=F.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),i=new It({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Wt.fromColor(e)}});return new Pn({geometryInstances:i,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})};var Du=TE;function ar(e,t,n,i){this._tileset=e,this._header=n;let o=l(n.contents),r=o&&n.contents.length>1||si(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=l(n.transform)?F.unpack(n.transform):F.clone(F.IDENTITY);let a=l(i)?i.computedTransform:e.modelMatrix,c=F.multiply(a,this.transform,new F),u=l(i)?i._initialTransform:F.IDENTITY;this._initialTransform=F.multiply(u,this.transform,new F),this.computedTransform=c,this.metadata=hL(e,n),this._verticalExaggeration=1,this._verticalExaggerationRelativeHeight=0,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let f;l(s)&&l(s.boundingVolume)&&(f=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=f,this._contentBoundingVolume2D=void 0;let d;l(n.viewerRequestVolume)&&(d=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=d,this.geometricError=n.geometricError,this._geometricError=n.geometricError,l(this._geometricError)||(this._geometricError=l(i)?i._geometricError:e._geometricError,ar._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;l(n.refine)?((n.refine==="replace"||n.refine==="add")&&ar._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?Xo.REPLACE:Xo.ADD):l(i)?p=i.refine:p=Xo.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,m=!1,x,b,T;if(t=Ae.createIfNeeded(t),r)x=Zo.UNLOADED,b=t.clone();else if(l(s)){let v=s.uri;l(s.url)&&(ar._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),v=s.url),v===""?(ar._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new dE(e,this),m=!0,x=Zo.READY):(x=Zo.UNLOADED,b=t.getDerivedResource({url:v}),T=tc.getServerKey(b.getUrlComponent()))}else g=new dE(e,this),m=!0,x=Zo.READY;this._content=g,this._contentResource=b,this._contentState=x,this._expiredContent=void 0,this._serverKey=T,this.hasEmptyContent=m,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.cacheNode=void 0;let A=n.expire,C,E;l(A)&&(C=A.duration,l(A.date)&&(E=K.fromIso8601(A.date))),this.expireDuration=C,this.expireDate=E,this.lastStyleTime=0,this._optimChildrenWithinParent=kf.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._wasSelectedLastFrame=!1,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._isClippedByPolygon=!1,this._clippingPlanesState=0,this._clippingPolygonsState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=H.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new K,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}ar._deprecationWarning=ys;Object.defineProperties(ar.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return l(this._color)||(this._color=new H),H.clone(this._color)},set:function(e){this._color=H.clone(e,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||l(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===Zo.READY}},contentUnloaded:{get:function(){return this._contentState===Zo.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===Zo.EXPIRED}},contentFailed:{get:function(){return this._contentState===Zo.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var zy=new h;function DYe(e,t){let{tileset:n,boundingSphere:i}=e,{radius:o,center:r}=i,{camera:s}=t,a=h.multiplyByScalar(s.directionWC,e._centerZDepth,zy),c=h.add(s.positionWC,a,zy),u=h.subtract(c,r,zy);if(h.magnitude(u)>o){let E=h.normalize(u,zy),v=h.multiplyByScalar(E,o,zy),D=h.add(r,v,zy),O=h.subtract(D,s.positionWC,zy),R=h.normalize(O,zy);e._foveatedFactor=1-Math.abs(h.dot(s.directionWC,R))}else e._foveatedFactor=0;let p=e.refine===Xo.REPLACE,g=n.isSkippingLevelOfDetail;if(p&&!g||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&p&&g||n._pass===zo.PRELOAD_FLIGHT||n._pass===zo.PRELOAD)return!1;let m=1-Math.cos(s.frustum.fov*.5),x=n.foveatedConeSize*m;if(e._foveatedFactor<=x)return!1;let b=m-x,T=P.clamp((e._foveatedFactor-x)/b,0,1),A=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.memoryAdjustedScreenSpaceError,T),C=e._screenSpaceError===0&&l(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.memoryAdjustedScreenSpaceError-A<=C}var Uue=new K;ar.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=l(this.parent)?this.parent.geometricError:i._scaledGeometricError,s=t?r:this.geometricError;if(s===0)return 0;let{camera:a,context:c}=e,u=a.frustum,f=c.drawingBufferWidth,d=c.drawingBufferHeight*o,p;if(e.mode===ne.SCENE2D||u instanceof cn){let g=u.offCenterFrustum;l(g)&&(u=g);let m=Math.max(u.top-u.bottom,u.right-u.left)/Math.max(f,d);p=s/m}else{let g=Math.max(this._distanceToCamera,P.EPSILON7),m=u.sseDenominator;if(p=s*d/(g*m),i.dynamicScreenSpaceError){let x=i._dynamicScreenSpaceErrorComputedDensity,b=i.dynamicScreenSpaceErrorFactor,T=P.fog(g,x)*b;p-=T}}return p/=e.pixelRatio,p};function IYe(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=e.memoryAdjustedScreenSpaceError,i=t._screenSpaceErrorProgressiveResolution>n;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let o=t.parent,r=t._screenSpaceErrorProgressiveResolution<=n,s=l(o)&&o._screenSpaceErrorProgressiveResolution>n;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,i=!0),i}function PYe(e,t){let n=t.parent,o=l(n)&&(!e.isSkippingLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}ar.prototype.updateVisibility=function(e){let{parent:t,tileset:n}=this;if(this._updatedVisibilityFrame===n._updatedVisibilityFrame)return;let i=l(t)?t.computedTransform:n.modelMatrix,o=l(t)?t._visibilityPlaneMask:bs.MASK_INDETERMINATE;this.updateTransform(i,e),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==bs.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=PYe(n,this),this._priorityProgressiveResolution=IYe(n,this),this.priorityDeferred=DYe(this,e),this._updatedVisibilityFrame=n._updatedVisibilityFrame};ar.prototype.updateExpiration=function(){if(l(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=K.now(Uue);K.lessThan(this.expireDate,e)&&(this._contentState=Zo.EXPIRED,this._expiredContent=this._content)}};function RYe(e){if(!l(e.expireDuration))return;let t=K.now(Uue);K.addSeconds(t,e.expireDuration,t),l(e.expireDate)?K.lessThan(e.expireDate,t)&&K.clone(t,e.expireDate):e.expireDate=K.clone(t)}function OYe(e){return function(){return e._priority}}ar.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?MYe(this):NYe(this)};function MYe(e){let t=e._content,n=e._tileset;if(!l(t)){let o=si(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new mL(n,e,e._contentResource.clone(),o),e._content=t}let i=t.requestInnerContents();if(l(i))return e._contentState=Zo.LOADING,i.then(o=>{if(!e.isDestroyed()&&l(o))return e._contentState=Zo.PROCESSING,t}).catch(o=>{if(!e.isDestroyed())throw e._contentState=Zo.FAILED,o})}async function LYe(e,t,n,i,o){let r=e._contentState;e._contentState=Zo.LOADING,++t.statistics.numberOfPendingRequests;let s;try{s=await o}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;if(n.cancelled||n.state===Jn.CANCELLED){e._contentState=r,++t.statistics.numberOfAttemptedRequests;return}throw e._contentState=Zo.FAILED,a}if(e.isDestroyed()){--t.statistics.numberOfPendingRequests;return}if(n.cancelled||n.state===Jn.CANCELLED){e._contentState=r,--t.statistics.numberOfPendingRequests,++t.statistics.numberOfAttemptedRequests;return}try{let a=await FYe(e,s);return--t.statistics.numberOfPendingRequests,e.isDestroyed()?void 0:(i&&(e.expireDate=void 0),e._content=a,e._contentState=Zo.PROCESSING,a)}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;throw e._contentState=Zo.FAILED,a}}function NYe(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new er({throttle:!0,throttleByServer:!0,type:_s.TILES3D,priorityFunction:OYe(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=e._tileset,r=t.fetchArrayBuffer();if(!l(r)){++o.statistics.numberOfAttemptedRequests;return}return LYe(e,o,i,n,r)}async function FYe(e,t){let n=Cm(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===Ms.GEOMETRY||n.contentType===Ms.VECTOR,(n.contentType===Ms.IMPLICIT_SUBTREE||n.contentType===Ms.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===Ms.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=Mb[n.contentType];if(e.isDestroyed())return;l(n.binaryPayload)?o=await Promise.resolve(r(i,e,e._contentResource,n.binaryPayload.buffer,0)):o=await Promise.resolve(r(i,e,e._contentResource,n.jsonPayload));let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,u=e.implicitCoordinates;o.metadata=c.getContentMetadataView(u,0)}else e.hasImplicitContent||(o.metadata=Lb(i,s));let a=Nb(i,s);return l(a)&&(o.group=new Zx({metadata:a})),o}ar.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};ar.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=Zo.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this.clippingPolygonsDirty=this._clippingPolygonsState===0,this._clippingPolygonsState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var zue=new ce;function Zj(e,t){if(t.mode!==ne.SCENE3D&&!l(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=ce.projectTo2D(n,t.mapProjection,zue);e._boundingVolume2D=new w_(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._boundingVolume2D:e._boundingVolume}function BYe(e,t){if(t.mode!==ne.SCENE3D&&!l(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=ce.projectTo2D(n,t.mapProjection,zue);e._contentBoundingVolume2D=new w_(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}ar.prototype.visibility=function(e,t){let n=e.cullingVolume,i=Zj(this,e),o=this._tileset,r=o.clippingPlanes;if(l(r)&&r.enabled){let a=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=a!==qt.INSIDE,a===qt.OUTSIDE)return bs.MASK_OUTSIDE}let s=o.clippingPolygons;if(l(s)&&s.enabled){let a=s.computeIntersectionWithBoundingVolume(i);this._isClippedByPolygon=a!==qt.OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};ar.prototype.contentVisibility=function(e){if(!l(this._contentBoundingVolume))return qt.INSIDE;if(this._visibilityPlaneMask===bs.MASK_INSIDE)return qt.INSIDE;let t=e.cullingVolume,n=BYe(this,e),i=this._tileset,o=i.clippingPlanes;if(l(o)&&o.enabled){let s=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=s!==qt.INSIDE,s===qt.OUTSIDE)return qt.OUTSIDE}let r=i.clippingPolygons;if(l(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(n);if(this._isClippedByPolygon=s!==qt.OUTSIDE,s===qt.INSIDE)return qt.OUTSIDE}return t.computeVisibility(n)};ar.prototype.distanceToTile=function(e){return Zj(this,e).distanceToCamera(e)};var kYe=new h;ar.prototype.distanceToTileCenter=function(e){let n=Zj(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,kYe);return h.dot(e.camera.directionWC,i)};ar.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!l(t)||t.distanceToCamera(e)===0};var Hue=new $,Gue=new h,VYe=new $,$j=new h,Wue=new ae,jue=new Dn,Kj=new F;function UYe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],$j),o=$.fromArray(e,3,VYe);i=F.multiplyByPoint(t,i,i);let r=F.getMatrix3(t,Hue);return o=$.multiply(r,o,o),l(n)?(n.update(i,o),n):new Du(i,o)}function zYe(e,t,n,i){let o=ae.unpack(e,0,Wue),r=e[4],s=e[5],a=Dn.fromRectangle(o,r,s,ee.WGS84,jue),c=a.center,u=a.halfAxes;t=F.multiplyTransformation(t,F.inverseTransformation(n,Kj),Kj),c=F.multiplyByPoint(t,c,c);let f=F.getMatrix3(t,Hue);return u=$.multiply(f,u,u),l(i)&&i instanceof Du?(i.update(c,u),i):new Du(c,u)}function HYe(e,t,n,i){if(!F.equalsEpsilon(t,n,P.EPSILON8))return zYe(e,t,n,i);let o=ae.unpack(e,0,Wue);return l(i)?(i.rectangle=ae.clone(o,i.rectangle),i.minimumHeight=e[4],i.maximumHeight=e[5],i.computeBoundingVolumes(ee.WGS84),i):new Hf({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function GYe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],$j),o=e[3];i=F.multiplyByPoint(t,i,i);let r=F.getScale(t,Gue),s=h.maximumComponent(r);return o*=s,l(n)?(n.update(i,o),n):new w_(i,o)}ar.prototype.createBoundingVolume=function(e,t,n){let i=this.metadata,o;if(l(i)&&(o=mb.parseBoundingVolumeSemantic("TILE",i)),l(o)&&(e=o),!l(e))throw new se("boundingVolume must be defined");if(si(e,"3DTILES_bounding_volume_S2"))return new yL(e.extensions["3DTILES_bounding_volume_S2"]);let{box:r,region:s,sphere:a}=e;if(l(r)){let c=UYe(r,t,n);return this._verticalExaggeration!==1&&Bue(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c}if(l(s)){let c=HYe(s,t,this._initialTransform,n);return this._verticalExaggeration===1||(c instanceof Du?Bue(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight):(c.minimumHeight=Dr.getHeight(c.minimumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.maximumHeight=Dr.getHeight(c.maximumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.computeBoundingVolumes(ee.WGS84))),c}if(l(a)){let c=GYe(a,t,n);if(this._verticalExaggeration!==1){let u=Dr.getPosition(c.center,ee.WGS84,this._verticalExaggeration,this._verticalExaggerationRelativeHeight,$j),f=c.radius*this._verticalExaggeration;c.update(u,f)}return c}throw new se("boundingVolume must contain a sphere, region, or box")};var WYe=h.unpackArray(new Array(8*3).fill(0));function Bue(e,t,n){let i=e.boundingVolume.computeCorners(WYe).map(r=>Dr.getPosition(r,ee.WGS84,t,n,r)),o=Dn.fromPoints(i,jue);e.update(o.center,o.halfAxes)}ar.prototype.updateTransform=function(e,t){e=y(e,F.IDENTITY);let n=F.multiplyTransformation(e,this.transform,Kj),i=!F.equals(n,this.computedTransform),o=l(t)&&(this._verticalExaggeration!==t.verticalExaggeration||this._verticalExaggerationRelativeHeight!==t.verticalExaggerationRelativeHeight);if(!i&&!o)return;i&&F.clone(n,this.computedTransform),o&&(this._verticalExaggeration=t.verticalExaggeration,this._verticalExaggerationRelativeHeight=t.verticalExaggerationRelativeHeight);let r=this._header,s=this._contentHeader;this._boundingVolume=this.createBoundingVolume(r.boundingVolume,this.computedTransform,this._boundingVolume),l(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(s.boundingVolume,this.computedTransform,this._contentBoundingVolume)),l(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(r.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};ar.prototype.updateGeometricErrorScale=function(){let e=F.getScale(this.computedTransform,Gue),t=h.maximumComponent(e);if(this.geometricError=this._geometricError*t,!l(this.parent)){let n=this._tileset;n._scaledGeometricError=n._geometricError*t}};function jYe(e,t,n,i){if(!i.isRender)return;let o=l(e._contentHeader)&&l(e._contentHeader.boundingVolume),r=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(r){let c;e._finalResolution?e.hasRenderableContent?c=H.WHITE:c=H.DARKGRAY:c=H.YELLOW,l(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(c)),e._debugBoundingVolume.update(n);let u=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");u.color=Wt.toValue(c,u.color)}else!r&&l(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(l(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(H.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&l(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&l(e._viewerRequestVolume)?(l(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(H.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&l(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let s=t.debugColorizeTiles&&!e._debugColorizeTiles||l(t._heatmap.tilePropertyName),a=!t.debugColorizeTiles&&e._debugColorizeTiles;s?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):a&&(e._debugColorizeTiles=!1,e.color=H.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),a&&t.makeStyleDirty()}function qYe(e,t,n){let i=e._expiredContent;if(!e.hasMultipleContents&&l(i)){if(!e.contentReady){try{i.update(t,n)}catch{}return}e._expiredContent.destroy(),e._expiredContent=void 0}if(l(e.content))try{e.content.update(t,n)}catch(o){throw e._contentState=Zo.FAILED,o}}function YYe(e,t){let n=t.clippingPlanes,i=0;l(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}function XYe(e,t){let n=t.clippingPolygons,i=0;l(n)&&e._isClippedByPolygon&&n.enabled&&(i=n.clippingPolygonsState),i!==e._clippingPolygonsState&&(e._clippingPolygonsState=i,e.clippingPolygonsDirty=!0)}ar.prototype.update=function(e,t,n){let{commandList:i}=t,o=i.length;YYe(this,e),XYe(this,e),jYe(this,e,t,n),qYe(this,e,t);let r=i.length;this._commandsLength=r-o;for(let s=o;s<r;++s){let a=i[s],c=a.pass===ve.TRANSLUCENT;a.depthForTranslucentClassification=c}this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1};var kue=[];ar.prototype.process=function(e,t){!this.contentExpired&&!this.contentReady&&this._content.ready&&(RYe(this),this._selectedFrame=0,this.lastStyleTime=0,K.now(this._loadTimestamp),this._contentState=Zo.READY,!this.hasTilesetContent&&!this.hasImplicitContent&&(e._statistics.incrementLoadCounts(this.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(this)));let n=t.commandList;t.commandList=kue;try{this._content.update(e,t)}catch(i){throw this._contentState=Zo.FAILED,i}kue.length=0,t.commandList=n};function Vue(e,t,n){let i=e*Math.pow(10,t);return parseInt(i)*Math.pow(10,n)}function Mz(e,t,n){return Math.max(P.normalize(e,t,n)-P.EPSILON7,0)}ar.prototype.updatePriority=function(){let e=this.tileset,t=e.preferLeaves,n=e._minimumPriority,i=e._maximumPriority,o=4,r=1,s=0,a=o,c=s+a,u=o,f=c+u,d=r,p=Math.pow(10,f),g=f+d,m=r,x=Math.pow(10,g),b=g+m,T=Math.pow(10,b),A=Mz(this._depth,n.depth,i.depth);A=t?1-A:A;let E=!e.isSkippingLevelOfDetail&&this.refine===Xo.REPLACE?Mz(this._priorityHolder._distanceToCamera,n.distance,i.distance):Mz(this._priorityReverseScreenSpaceError,n.reverseScreenSpaceError,i.reverseScreenSpaceError),v=Vue(E,a,s),D=this._priorityProgressiveResolution?0:p,O=Mz(this._priorityHolder._foveatedFactor,n.foveatedFactor,i.foveatedFactor),R=Vue(O,u,c),M=this.priorityDeferred?x:0,N=e._pass===zo.PRELOAD_FLIGHT?0:T;this._priority=A+v+D+R+M+N};ar.prototype.isDestroyed=function(){return!1};ar.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),ue(this)};var Wf=ar;function D_(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.group,i=e.class,o=l(n.properties)?n.properties:{};this._class=i,this._properties=o,this._id=t,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(D_.prototype,{class:{get:function(){return this._class}},id:{get:function(){return this._id}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});D_.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};D_.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};D_.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};D_.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};D_.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};D_.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};D_.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var CE=D_;function I_(e){e=y(e,y.EMPTY_OBJECT);let t=e.tileset,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(I_.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});I_.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};I_.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};I_.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};I_.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};I_.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};I_.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};I_.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var xL=I_;function que(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataJson,n=e.schema,i=y(t.metadata,t.tileset),o;l(i)&&(o=new xL({tileset:i,class:n.classes[i.class]}));let r=[],s=[],a=t.groups;if(Array.isArray(a)){let c=a.length;for(let u=0;u<c;u++){let f=a[u];s.push(new CE({group:f,class:n.classes[f.class]}))}}else if(l(a)){r=Object.keys(a).sort();let c=r.length;for(let u=0;u<c;u++){let f=r[u];if(a.hasOwnProperty(f)){let d=a[f];s.push(new CE({id:f,group:a[f],class:n.classes[d.class]}))}}}this._schema=n,this._groups=s,this._groupIds=r,this._tileset=o,this._statistics=t.statistics,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(que.prototype,{schema:{get:function(){return this._schema}},groups:{get:function(){return this._groups}},groupIds:{get:function(){return this._groupIds}},tileset:{get:function(){return this._tileset}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var Gb=que;var Yue={},KYe=new h;Yue.checkChildrenWithinParent=function(e){let t=e.children,n=t.length,i=e.boundingVolume;if(i instanceof Du||i instanceof Hf){let o=i._orientedBoundingBox;e._optimChildrenWithinParent=kf.USE_OPTIMIZATION;for(let r=0;r<n;++r){let a=t[r].boundingVolume;if(!(a instanceof Du||a instanceof Hf)){e._optimChildrenWithinParent=kf.SKIP_OPTIMIZATION;break}let c=a._orientedBoundingBox,u=h.subtract(c.center,o.center,KYe),f=h.magnitude(u);h.divideByScalar(u,f,u);let d=Math.abs(o.halfAxes[0]*u.x)+Math.abs(o.halfAxes[1]*u.y)+Math.abs(o.halfAxes[2]*u.z)+Math.abs(o.halfAxes[3]*u.x)+Math.abs(o.halfAxes[4]*u.y)+Math.abs(o.halfAxes[5]*u.z)+Math.abs(o.halfAxes[6]*u.x)+Math.abs(o.halfAxes[7]*u.y)+Math.abs(o.halfAxes[8]*u.z),p=Math.abs(c.halfAxes[0]*u.x)+Math.abs(c.halfAxes[1]*u.y)+Math.abs(c.halfAxes[2]*u.z)+Math.abs(c.halfAxes[3]*u.x)+Math.abs(c.halfAxes[4]*u.y)+Math.abs(c.halfAxes[5]*u.z)+Math.abs(c.halfAxes[6]*u.x)+Math.abs(c.halfAxes[7]*u.y)+Math.abs(c.halfAxes[8]*u.z);if(d<=p+f){e._optimChildrenWithinParent=kf.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===kf.USE_OPTIMIZATION};var bL=Yue;function TL(){this.head=void 0,this.tail=void 0,this._length=0}Object.defineProperties(TL.prototype,{length:{get:function(){return this._length}}});function ZYe(e,t,n){this.item=e,this.previous=t,this.next=n}TL.prototype.add=function(e){let t=new ZYe(e,this.tail,void 0);return l(this.tail)?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t};function Xue(e,t){l(t.previous)&&l(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):l(t.previous)?(t.previous.next=void 0,e.tail=t.previous):l(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}TL.prototype.remove=function(e){l(e)&&(Xue(this,e),--this._length)};TL.prototype.splice=function(e,t){if(e===t)return;Xue(this,t);let n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e};var CL=TL;function Wb(){this._list=new CL,this._sentinel=this._list.add(),this._trimTiles=!1}Wb.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};Wb.prototype.touch=function(e){let t=e.cacheNode;l(t)&&this._list.splice(this._sentinel,t)};Wb.prototype.add=function(e){l(e.cacheNode)||(e.cacheNode=this._list.add(e))};Wb.prototype.unloadTile=function(e,t,n){let i=t.cacheNode;l(i)&&(this._list.remove(i),t.cacheNode=void 0,n(e,t))};Wb.prototype.unloadTiles=function(e,t){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=this._sentinel,r=i.head;for(;r!==o&&(e.totalMemoryUsageInBytes>e.cacheBytes||n);){let s=r.item;r=r.next,this.unloadTile(e,s,t)}};Wb.prototype.trim=function(){this._trimTiles=!0};var AL=Wb;function Lz(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function Jj(e,t){let n;return t==="_loadTimestamp"?n=K.toDate(e).getTime():n=e,n}Lz.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=Jj(e,n),this._referenceMaximum[n]=Jj(t,n)};function $Ye(e,t){let n=e.tilePropertyName;if(l(n)){let i=Jj(t[n],n);return l(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var Qj=[new H(.1,.1,.1,1),new H(.153,.278,.878,1),new H(.827,.231,.49,1),new H(.827,.188,.22,1),new H(1,.592,.259,1),new H(1,.843,0,1)];Lz.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!l(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=$Ye(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+P.EPSILON7,c=P.clamp(i-o,0,s)/s,u=Qj.length-1,f=c*u,d=Math.floor(f),p=Math.ceil(f),g=f-d,m=Qj[d],x=Qj[p],b=H.clone(H.WHITE);b.red=P.lerp(m.red,x.red,g),b.green=P.lerp(m.green,x.green,g),b.blue=P.lerp(m.blue,x.blue,g),e._debugColor=b};Lz.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(l(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=l(t)&&l(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var EL=Lz;function AE(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.texturesReferenceCounterById={},this.batchTableByteLength=0}AE.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};AE.prototype.incrementSelectionCounts=function(e){this.numberOfFeaturesSelected+=e.featuresLength,this.numberOfPointsSelected+=e.pointsLength,this.numberOfTrianglesSelected+=e.trianglesLength;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this.incrementSelectionCounts(t[i])}};AE.prototype.incrementLoadCounts=function(e){if(this.numberOfFeaturesLoaded+=e.featuresLength,this.numberOfPointsLoaded+=e.pointsLength,this.geometryByteLength+=e.geometryByteLength,this.batchTableByteLength+=e.batchTableByteLength,!(e instanceof Eu))this.texturesByteLength+=e.texturesByteLength;else{let n=e.getTextureIds();for(let i of n){let o=this.texturesReferenceCounterById[i]??0;if(o===0){let r=e.getTextureByteLengthById(i);this.texturesByteLength+=r}this.texturesReferenceCounterById[i]=o+1}}let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this.incrementLoadCounts(t[i])}};AE.prototype.decrementLoadCounts=function(e){if(this.numberOfFeaturesLoaded-=e.featuresLength,this.numberOfPointsLoaded-=e.pointsLength,this.geometryByteLength-=e.geometryByteLength,this.batchTableByteLength-=e.batchTableByteLength,!(e instanceof Eu))this.texturesByteLength-=e.texturesByteLength;else{let n=e.getTextureIds();for(let i of n){let o=this.texturesReferenceCounterById[i];if(o===1){delete this.texturesReferenceCounterById[i];let r=e.getTextureByteLengthById(i);this.texturesByteLength-=r}else this.texturesReferenceCounterById[i]=o-1}}let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this.decrementLoadCounts(t[i])}};AE.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.texturesReferenceCounterById={...e.texturesReferenceCounterById},t.batchTableByteLength=e.batchTableByteLength};var P_=AE;function SL(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}Object.defineProperties(SL.prototype,{style:{get:function(){return this._style},set:function(e){e!==this._style&&(this._style=e,this._styleDirty=!0)}}});SL.prototype.makeDirty=function(){this._styleDirty=!0};SL.prototype.resetDirty=function(){this._styleDirty=!1};SL.prototype.applyStyle=function(e){if(!l(e.root)||l(this._style)&&!this._style._ready)return;let t=this._styleDirty;t&&++this._lastStyleTime;let n=this._lastStyleTime,i=e._statistics,o=t?e._selectedTiles:e._selectedTilesToStyle,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.lastStyleTime!==n){let c=a.content;a.lastStyleTime=n,c.applyStyle(this._style),i.numberOfFeaturesStyled+=c.featuresLength,++i.numberOfTilesStyled}}};var vL=SL;function QYe(e,t,n){let i=si(t,"3DTILES_implicit_tiling")?t.extensions["3DTILES_implicit_tiling"]:t.implicitTiling;this.baseResource=e,this.geometricError=t.geometricError,this.metadataSchema=n;let o=t.boundingVolume;if(!l(o.box)&&!l(o.region)&&!si(o,"3DTILES_bounding_volume_S2")&&!si(o,"3DTILES_bounding_volume_cylinder"))throw new se("Only box, region, 3DTILES_bounding_volume_S2, and 3DTILES_bounding_volume_cylinder are supported for implicit tiling");this.boundingVolume=o,this.refine=t.refine,this.subtreeUriTemplate=new Ae({url:i.subtrees.uri}),this.contentUriTemplates=[],this.contentHeaders=[];let r=JYe(t);for(let s=0;s<r.length;s++){let a=r[s];this.contentHeaders.push(He(a,!0));let c=new Ae({url:a.uri});this.contentUriTemplates.push(c)}this.contentCount=this.contentHeaders.length,this.tileHeader=eXe(t),this.subdivisionScheme=rs[i.subdivisionScheme],this.branchingFactor=rs.getBranchingFactor(this.subdivisionScheme),this.subtreeLevels=i.subtreeLevels,l(i.availableLevels)?this.availableLevels=i.availableLevels:this.availableLevels=i.maximumLevel+1}function JYe(e){if(si(e,"3DTILES_multiple_contents")){let t=e.extensions["3DTILES_multiple_contents"];return l(t.contents)?t.contents:t.content}return l(e.contents)?e.contents:l(e.content)?[e.content]:[]}function eXe(e){let t=He(e,!0);return l(t.extensions)&&(delete t.extensions["3DTILES_implicit_tiling"],delete t.extensions["3DTILES_multiple_contents"],Object.keys(t.extensions).length===0&&delete t.extensions),delete t.implicitTiling,delete t.contents,delete t.content,t}var jb=QYe;var wL={};function Kue(e){return e=(e^e<<8)&16711935,e=(e^e<<4)&252645135,e=(e^e<<2)&858993459,e=(e^e<<1)&1431655765,e}function e7(e){return e=(e^e<<16)&50331903,e=(e^e<<8)&50393103,e=(e^e<<4)&51130563,e=(e^e<<2)&153391689,e}function Zue(e){return e&=1431655765,e=(e^e>>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function t7(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}wL.encode2D=function(e,t){return(Kue(e)|Kue(t)<<1)>>>0};wL.decode2D=function(e,t){return l(t)||(t=new Array(2)),t[0]=Zue(e),t[1]=Zue(e>>1),t};wL.encode3D=function(e,t,n){return e7(e)|e7(t)<<1|e7(n)<<2};wL.decode3D=function(e,t){return l(t)||(t=new Array(3)),t[0]=t7(e),t[1]=t7(e>>1),t[2]=t7(e>>2),t};var Hy=wL;function $o(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===rs.OCTREE&&(this.z=e.z)}Object.defineProperties($o.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===rs.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===rs.OCTREE?Hy.encode3D(this.x,this.y,this.z):Hy.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===rs.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});$o.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<<e.level)+e.x,i=(this.y<<e.level)+e.y;if(this.subdivisionScheme===rs.OCTREE){let o=(this.z<<e.level)+e.z;return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};$o.prototype.getAncestorCoordinates=function(e){let t=1<<e,n=this.level-e,i=Math.floor(this.x/t),o=Math.floor(this.y/t);if(this.subdivisionScheme===rs.OCTREE){let r=Math.floor(this.z/t);return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o,z:r})}return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o})};$o.prototype.getOffsetCoordinates=function(e){let t=e.level-this.level,n=1<<t,i=e.x%n,o=e.y%n;if(this.subdivisionScheme===rs.OCTREE){let r=e.z%n;return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o,z:r})}return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o})};$o.prototype.getChildCoordinates=function(e){let t=this.level+1,n=2*this.x+e%2,i=2*this.y+Math.floor(e/2)%2;if(this.subdivisionScheme===rs.OCTREE){let o=2*this.z+Math.floor(e/4)%2;return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new $o({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};$o.prototype.getSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels)};$o.prototype.getParentSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels+this.subtreeLevels)};$o.prototype.isAncestor=function(e){let t=e.level-this.level;if(t<=0)return!1;let n=e.x>>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===rs.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};$o.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===rs.OCTREE?this.z===e.z:!0)};$o.prototype.isImplicitTilesetRoot=function(){return this.level===0};$o.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};$o.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};$o.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===rs.OCTREE&&(e.z=this.z),e};var $ue=[0,0,0];$o.fromMortonIndex=function(e,t,n,i){let o;return e===rs.OCTREE?(o=Hy.decode3D(i,$ue),new $o({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Hy.decode2D(i,$ue),new $o({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};$o.fromTileIndex=function(e,t,n){let i,o,r;return e===rs.OCTREE?(i=Math.floor(P.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(P.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),$o.fromMortonIndex(e,t,i,r)};var qb=$o;function R_(){}R_.selectTiles=function(e,t){de.throwInstantiationError()};R_.sortChildrenByDistanceToCamera=function(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera};R_.canTraverse=function(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:e._screenSpaceError>e.tileset.memoryAdjustedScreenSpaceError};R_.selectTile=function(e,t){if(e.contentVisibility(t)===qt.OUTSIDE)return;e._wasSelectedLastFrame=!0;let{content:n,tileset:i}=e;n.featurePropertiesDirty?(n.featurePropertiesDirty=!1,e.lastStyleTime=0,i._selectedTilesToStyle.push(e)):e._selectedFrame<t.frameNumber-1&&(i._selectedTilesToStyle.push(e),e._wasSelectedLastFrame=!1),e._selectedFrame=t.frameNumber,i._selectedTiles.push(e)};R_.visitTile=function(e,t){++e.tileset._statistics.visited,e._visitedFrame=t.frameNumber};R_.touchTile=function(e,t){e._touchedFrame!==t.frameNumber&&(e.tileset._cache.touch(e),e._touchedFrame=t.frameNumber)};R_.loadTile=function(e,t){let{tileset:n}=e;if(e._requestedFrame===t.frameNumber||!e.hasUnloadedRenderableContent&&!e.contentExpired||!tXe(e,t))return;let i=t.camera.timeSinceMoved<n.foveatedTimeDelay;e.priorityDeferred&&i||(e._requestedFrame=t.frameNumber,n._requestedTiles.push(e))};function tXe(e,t){let{tileset:n}=e;if(!n._cullRequestsWhileMoving)return!0;let{positionWCDeltaMagnitude:i,positionWCDeltaMagnitudeLastFrame:o}=t.camera,r=i!==0?i:o,s=Math.max(e.boundingSphere.radius*2,1);return n.cullRequestsWhileMovingMultiplier*r/s<1}R_.updateTile=function(e,t){Que(e,t),e.updateExpiration(),e._wasMinPriorityChild=!1,e._priorityHolder=e,oXe(e),e._shouldSelect=!1,e._finalResolution=!0};function Que(e,t){if(e.updateVisibility(t),!e.isVisible)return;let n=e.children.length>0;if((e.hasTilesetContent||e.hasImplicitContent)&&n){let r=e.children[0];Que(r,t),e._visible=r._visible;return}if(nXe(e,t)){e._visible=!1;return}let i=e.refine===Xo.REPLACE,o=e._optimChildrenWithinParent===kf.USE_OPTIMIZATION;if(i&&o&&n&&!iXe(e,t)){++e.tileset._statistics.numberOfTilesCulledWithChildrenUnion,e._visible=!1;return}}function nXe(e,t){let{parent:n,tileset:i}=e;return!l(n)||n.hasTilesetContent||n.hasImplicitContent||n.refine!==Xo.ADD?!1:e.getScreenSpaceError(t,!0)<=i.memoryAdjustedScreenSpaceError}function iXe(e,t){let n=!1,i=e.children;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(t),n=n||r.isVisible}return n}function oXe(e){let t=e.tileset._minimumPriority,n=e.tileset._maximumPriority,i=e._priorityHolder;n.distance=Math.max(i._distanceToCamera,n.distance),t.distance=Math.min(i._distanceToCamera,t.distance),n.depth=Math.max(e._depth,n.depth),t.depth=Math.min(e._depth,t.depth),n.foveatedFactor=Math.max(i._foveatedFactor,n.foveatedFactor),t.foveatedFactor=Math.min(i._foveatedFactor,t.foveatedFactor),n.reverseScreenSpaceError=Math.max(e._priorityReverseScreenSpaceError,n.reverseScreenSpaceError),t.reverseScreenSpaceError=Math.min(e._priorityReverseScreenSpaceError,t.reverseScreenSpaceError)}var ta=R_;function Jue(){}var DL={stack:new Kc,stackMaximumLength:0};Jue.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0,e.hasMixedContent=!1;let n=!0,i=e.root;if(i.updateVisibility(t),!i.isVisible)return n;let{touchTile:o,visitTile:r}=ta,s=DL.stack;for(s.push(i);s.length>0;){DL.stackMaximumLength=Math.max(DL.stackMaximumLength,s.length);let a=s.pop(),c=a.refine===Xo.ADD,u=a.refine===Xo.REPLACE,f=rXe(a);f&&sXe(a,s,t),(c||u&&!f)&&(aXe(e,a),o(a,t),cXe(a,t),a.hasRenderableContent&&!a.contentAvailable&&(n=!1)),r(a,t)}return DL.stack.trim(DL.stackMaximumLength),n};function rXe(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:(e.hasEmptyContent,!0)}function sXe(e,t,n){let{children:i}=e;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(n),r.isVisible&&t.push(r)}}function aXe(e,t){(t.hasUnloadedRenderableContent||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function cXe(e,t){e.contentAvailable&&e.contentVisibility(t)!==qt.OUTSIDE&&e.tileset._selectedTiles.push(e)}var IL=Jue;function efe(){}var PL={stack:new Kc,stackMaximumLength:0},RL={stack:new Kc,stackMaximumLength:0};efe.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(ta.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;uXe(n,t),PL.stack.trim(PL.stackMaximumLength),RL.stack.trim(RL.stackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function n7(e,t){e.contentAvailable&&ta.selectTile(e,t)}function lXe(e,t,n){let i=e.refine===Xo.REPLACE,{tileset:o,children:r}=e,{updateTile:s,loadTile:a,touchTile:c}=ta;for(let m=0;m<r.length;++m)s(r[m],n);r.sort(ta.sortChildrenByDistanceToCamera);let u=i&&e.hasRenderableContent,f=!0,d=!1,p=-1,g=Number.MAX_VALUE;for(let m=0;m<r.length;++m){let x=r[m];if(x.isVisible?(t.push(x),x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),d=!0):(u||o.loadSiblings)&&(x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),a(x,n),c(x,n)),u){let b;x._inRequestVolume?x.hasRenderableContent?b=x.contentAvailable:b=fXe(x,n):b=!1,f=f&&b}}if(d||(f=!1),p!==-1&&i){let m=r[p];m._wasMinPriorityChild=!0;let x=(e._wasMinPriorityChild||e===o.root)&&g<=e._priorityHolder._foveatedFactor?e._priorityHolder:e;x._foveatedFactor=Math.min(m._foveatedFactor,x._foveatedFactor),x._distanceToCamera=Math.min(m._distanceToCamera,x._distanceToCamera);for(let b=0;b<r.length;++b)r[b]._priorityHolder=x}return f}function uXe(e,t){let{tileset:n}=e,{canTraverse:i,loadTile:o,visitTile:r,touchTile:s}=ta,a=PL.stack;for(a.push(e);a.length>0;){PL.stackMaximumLength=Math.max(PL.stackMaximumLength,a.length);let c=a.pop(),u=c.parent,f=!l(u)||u._refines;c._refines=i(c)?lXe(c,a,t)&&f:!1;let d=!c._refines&&f;c.hasRenderableContent?c.refine===Xo.ADD?(n7(c,t),o(c,t)):c.refine===Xo.REPLACE&&(o(c,t),d&&n7(c,t)):(n._emptyTiles.push(c),o(c,t),d&&n7(c,t)),r(c,t),s(c,t)}}function fXe(e,t){let{canTraverse:n,updateTile:i,loadTile:o,touchTile:r}=ta,s=!0,a=RL.stack;for(a.push(e);a.length>0;){RL.stackMaximumLength=Math.max(RL.stackMaximumLength,a.length);let c=a.pop(),u=c.children,f=u.length,d=!c.hasRenderableContent&&n(c);if(!d&&!c.contentAvailable&&(s=!1),i(c,t),c.isVisible||(o(c,t),r(c,t)),d)for(let p=0;p<f;++p){let g=u[p];a.push(g)}}return e.hasEmptyContent||s}var OL=efe;function tfe(){}var ML={stack:new Kc,stackMaximumLength:0},LL={stack:new Kc,stackMaximumLength:0},O_={stack:new Kc,stackMaximumLength:0,ancestorStack:new Kc,ancestorStackMaximumLength:0},dXe=2;tfe.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(ta.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;yXe(n,t),xXe(n,t),ML.stack.trim(ML.stackMaximumLength),LL.stack.trim(LL.stackMaximumLength),O_.stack.trim(O_.stackMaximumLength),O_.ancestorStack.trim(O_.ancestorStackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function hXe(e,t){let{updateTile:n,touchTile:i,selectTile:o}=ta,r=LL.stack;for(r.push(e);r.length>0;){LL.stackMaximumLength=Math.max(LL.stackMaximumLength,r.length);let a=r.pop().children;for(let c=0;c<a.length;++c){let u=a[c];u.isVisible&&(u.contentAvailable?(n(u,t),i(u,t),o(u,t)):u._depth-e._depth<dXe&&r.push(u))}}}function Nz(e,t){let n=e.contentAvailable?e:e._ancestorWithContentAvailable;l(n)?n._shouldSelect=!0:hXe(e,t)}function mXe(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;let{parent:n}=e;if(!l(n))return;let i=!n.hasUnloadedRenderableContent||n._requestedFrame===t.frameNumber;e._ancestorWithContent=i?n:n._ancestorWithContent,e._ancestorWithContentAvailable=n.contentAvailable?n:n._ancestorWithContentAvailable}function pXe(e,t){let n=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||l(n)&&t._screenSpaceError<n._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>n._depth+e.skipLevels)}function _Xe(e,t,n){let{tileset:i,children:o}=e,{updateTile:r,loadTile:s,touchTile:a}=ta;for(let u=0;u<o.length;++u)r(o[u],n);o.sort(ta.sortChildrenByDistanceToCamera);let c=!1;for(let u=0;u<o.length;++u){let f=o[u];f.isVisible?(t.push(f),c=!0):i.loadSiblings&&(s(f,n),a(f,n))}return c}function gXe(e,t){let{tileset:n}=e;return n.immediatelyLoadDesiredLevelOfDetail?!1:l(e._ancestorWithContent)?e._screenSpaceError===0?e.parent._screenSpaceError>t:e._screenSpaceError>t:!0}function yXe(e,t){let{tileset:n}=e,i=n.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(n.baseScreenSpaceError,n.memoryAdjustedScreenSpaceError),{canTraverse:o,loadTile:r,visitTile:s,touchTile:a}=ta,c=ML.stack;for(c.push(e);c.length>0;){ML.stackMaximumLength=Math.max(ML.stackMaximumLength,c.length);let u=c.pop();mXe(u,t);let f=u.parent,d=!l(f)||f._refines;u._refines=o(u)?_Xe(u,c,t)&&d:!1;let p=!u._refines&&d;u.hasRenderableContent?u.refine===Xo.ADD?(Nz(u,t),r(u,t)):u.refine===Xo.REPLACE&&(gXe(u,i)?(r(u,t),p&&Nz(u,t)):p?(Nz(u,t),r(u,t)):pXe(n,u)&&r(u,t)):(n._emptyTiles.push(u),r(u,t),p&&Nz(u,t)),s(u,t),a(u,t)}}function xXe(e,t){let{selectTile:n,canTraverse:i}=ta,{stack:o,ancestorStack:r}=O_,s;for(o.push(e);o.length>0||r.length>0;){if(O_.stackMaximumLength=Math.max(O_.stackMaximumLength,o.length),O_.ancestorStackMaximumLength=Math.max(O_.ancestorStackMaximumLength,r.length),r.length>0){let u=r.peek();if(u._stackLength===o.length){r.pop(),u!==s&&(u._finalResolution=!1),n(u,t);continue}}let a=o.pop();if(!l(a))continue;let c=i(a);if(a._shouldSelect)if(a.refine===Xo.ADD)n(a,t);else{if(a._selectionDepth=r.length,a._selectionDepth>0&&(a.tileset.hasMixedContent=!0),s=a,!c){n(a,t);continue}r.push(a),a._stackLength=o.length}if(c){let u=a.children;for(let f=0;f<u.length;++f){let d=u[f];d.isVisible&&o.push(d)}}}}var NL=tfe;function cr(e){e=y(e,y.EMPTY_OBJECT),this._marsOptions=y(e.marsOptions,{}),this._url=void 0,this._basePath=void 0,this._root=void 0,this._resource=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._scaledGeometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._modelUpAxis=void 0,this._modelForwardAxis=void 0,this._cache=new AL,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._cullWithChildrenBounds=y(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new Kc,this._maximumScreenSpaceError=y(e.maximumScreenSpaceError,16),this._memoryAdjustedScreenSpaceError=this._maximumScreenSpaceError,this._cacheBytes=y(e.cacheBytes,512*1024*1024);let t=y(e.maximumCacheOverflowBytes,512*1024*1024);this._maximumCacheOverflowBytes=t,this._styleEngine=new vL,this._styleApplied=!1,this._modelMatrix=l(e.modelMatrix)?F.clone(e.modelMatrix):F.clone(F.IDENTITY),this._addHeightCallbacks=[],this._statistics=new P_,this._statisticsLast=new P_,this._statisticsPerPass=new Array(zo.NUMBER_OF_PASSES);for(let o=0;o<zo.NUMBER_OF_PASSES;++o)this._statisticsPerPass[o]=new P_;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new EL(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=y(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=y(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=P.clamp(y(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=y(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._classificationType=e.classificationType,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._initialClippingPlanesOriginMatrix=F.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this._vectorClassificationOnly=y(e.vectorClassificationOnly,!1),this._vectorKeepDecodedPositions=y(e.vectorKeepDecodedPositions,!1),this.preloadWhenHidden=y(e.preloadWhenHidden,!1),this.preloadFlightDestinations=y(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=y(e.dynamicScreenSpaceError,!0),this.foveatedScreenSpaceError=y(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=y(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=y(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=y(e.foveatedInterpolationCallback,P.lerp),this.foveatedTimeDelay=y(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=y(e.dynamicScreenSpaceErrorDensity,2e-4),this.dynamicScreenSpaceErrorFactor=y(e.dynamicScreenSpaceErrorFactor,24),this.dynamicScreenSpaceErrorHeightFalloff=y(e.dynamicScreenSpaceErrorHeightFalloff,.25),this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=y(e.shadows,Tn.ENABLED),this.show=y(e.show,!0),this.colorBlendMode=Dl.HIGHLIGHT,this.colorBlendAmount=.5,this._pointCloudShading=new pm(e.pointCloudShading),this._pointCloudEyeDomeLighting=new a_,this.loadProgress=new me,this.allTilesLoaded=new me,this.initialTilesLoaded=new me,this.tileLoad=new me,this.tileUnload=new me,this.tileFailed=new me,this.tileVisible=new me,this.skipLevelOfDetail=y(e.skipLevelOfDetail,!1),this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=y(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=y(e.skipScreenSpaceErrorFactor,16),this.skipLevels=y(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=y(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=y(e.loadSiblings,!1),this._clippingPlanes=void 0,l(e.clippingPlanes)&&Ts.setOwner(e.clippingPlanes,this,"_clippingPlanes"),this._clippingPolygons=void 0,l(e.clippingPolygons)&&qd.setOwner(e.clippingPolygons,this,"_clippingPolygons"),l(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new Kx,this._shouldDestroyImageBasedLighting=!0),this._environmentMapManager=new i_(e.environmentMapOptions),this.lightColor=e.lightColor,this.backFaceCulling=y(e.backFaceCulling,!0),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,H.BLACK),this.splitDirection=y(e.splitDirection,zr.NONE),this.enableCollision=y(e.enableCollision,!1),this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this.debugFreezeFrame=y(e.debugFreezeFrame,!1),this.debugColorizeTiles=y(e.debugColorizeTiles,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this.debugWireframe=y(e.debugWireframe,!1),this.debugWireframe===!0&&this._enableDebugWireframe===!1&&bt("tileset-debug-wireframe-ignored","enableDebugWireframe must be set to true in the Cesium3DTileset constructor, otherwise debugWireframe will be ignored."),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=y(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=y(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=y(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=y(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=y(e.debugShowMemoryUsage,!1),this.debugShowUrl=y(e.debugShowUrl,!1),this.examineVectorLinesFunction=void 0,this._metadataExtension=void 0,this._customShader=e.customShader;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._initForMars3D&&this._initForMars3D(e)}Object.defineProperties(cr.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ts.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){qd.setOwner(e,this,"_clippingPolygons")}},properties:{get:function(){return this._properties}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return ys("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},customShader:{get:function(){return this._customShader},set:function(e){this._customShader=e}},hasMixedContent:{get:function(){return this._hasMixedContent},set:function(e){this._hasMixedContent=e}},isSkippingLevelOfDetail:{get:function(){return this.skipLevelOfDetail&&!l(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){this._maximumScreenSpaceError=e,this._memoryAdjustedScreenSpaceError=e}},cacheBytes:{get:function(){return this._cacheBytes},set:function(e){this._cacheBytes=e}},maximumCacheOverflowBytes:{get:function(){return this._maximumCacheOverflowBytes},set:function(e){this._maximumCacheOverflowBytes=e}},memoryAdjustedScreenSpaceError:{get:function(){return this._memoryAdjustedScreenSpaceError}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){this._pointCloudShading=e}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return l(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(F.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):F.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}},environmentMapManager:{get:function(){return this._environmentMapManager}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e,lfe(this)}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),this._instanceFeatureIdLabel=e}}});cr.fromIonAssetId=async function(e,t){let n=await _u.fromAssetId(e);return cr.fromUrl(n,t)};cr.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e),i;n.extension==="json"?i=n.getBaseUri(!0):n.isDataUri&&(i="");let o=await cr.loadJson(n),r=await bXe(n,o),s=new cr(t);s._resource=n,s._url=n.url,s._basePath=i,s._metadataExtension=r,s._geometricError=o.geometricError,s._scaledGeometricError=o.geometricError;let a=o.asset;s._asset=a,s._extras=o.extras,lfe(s);let c=l(o.asset.gltfUpAxis)?Fo.fromName(o.asset.gltfUpAxis):Fo.Y,u=y(t.modelUpAxis,c),f=y(t.modelForwardAxis,Fo.X);s._properties=o.properties,s._extensionsUsed=o.extensionsUsed,s._extensions=o.extensions,s._modelUpAxis=u,s._modelForwardAxis=f,s._root=s.loadTileset(n,o);let p=s._root.createBoundingVolume(o.root.boundingVolume,F.IDENTITY).boundingSphere.center,g=s._ellipsoid.cartesianToCartographic(p);return l(g)&&g.height>fi._defaultMinTerrainHeight&&(s._initialClippingPlanesOriginMatrix=Lt.eastNorthUpToFixedFrame(p)),s._clippingPlanesOriginMatrix=F.clone(s._initialClippingPlanesOriginMatrix),s};cr.loadJson=function(e){return Ae.createIfNeeded(e).fetchJson()};cr.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};cr.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!l(i))throw new se("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new se("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");l(t.extensionsRequired)&&cr.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;l(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=nfe(this,e,t.root,n);l(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===Xo.ADD;let u=c._header.children;if(l(u))for(let f=0;f<u.length;++f){let d=u[f],p=nfe(this,e,d,c);c.children.push(p),p._depth=c._depth+1,a.push(p)}this._cullWithChildrenBounds&&bL.checkChildrenWithinParent(c)}return s};function nfe(e,t,n,i){if(!(l(n.implicitTiling)||si(n,"3DTILES_implicit_tiling")))return new Wf(e,t,n,i);let r=e.schema,s=new jb(t,n,r),a=new qb({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:0,x:0,y:0,z:0}),c=s.subtreeUriTemplate.getDerivedResource({templateValues:a.getTemplateValues()}).url,f=He(n,!0);f.contents=[{uri:c}],delete f.content,delete f.extensions;let d=new Wf(e,t,f,i);return d.implicitTileset=s,d.implicitCoordinates=a,d}async function bXe(e,t){let n=si(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t,i;if(l(n.schemaUri))e=e.getDerivedResource({url:n.schemaUri}),i=wi.getSchemaLoader({resource:e});else if(l(n.schema))i=wi.getSchemaLoader({schema:n.schema});else return;await i.load();let o=new Gb({schema:i.schema,metadataJson:n});return wi.unload(i),o}var ife=new h,TXe=new fe,CXe=new F,AXe=new h,EXe=new h,SXe=new h,vXe=new h;function wXe(e,t){let n,i,o,r,s,a=t.camera,c=e._root,u=c.contentBoundingVolume;if(u instanceof Hf)n=h.normalize(a.positionWC,ife),i=a.directionWC,o=a.positionCartographic.height,r=u.minimumHeight,s=u.maximumHeight;else{let x=F.inverseTransformation(c.computedTransform,CXe),b=t.mapProjection.ellipsoid,T=u.boundingVolume,A=F.multiplyByPoint(x,T.center,AXe);if(h.magnitude(A)>b.minimumRadius){let C=fe.fromCartesian(A,b,TXe);n=h.normalize(a.positionWC,ife),i=a.directionWC,o=a.positionCartographic.height,r=0,s=C.height*2}else{let C=F.multiplyByPoint(x,a.positionWC,EXe);if(n=h.UNIT_Z,i=F.multiplyByPointAsVector(x,a.directionWC,SXe),i=h.normalize(i,i),o=C.z,u instanceof Du){let E=$.getColumn(T.halfAxes,2,vXe),v=h.magnitude(E);r=A.z-v,s=A.z+v}else if(u instanceof w_){let E=T.radius;r=A.z-E,s=A.z+E}}}let f=e.dynamicScreenSpaceErrorHeightFalloff,d=r+(s-r)*f,p=s,g=P.clamp((o-d)/(p-d),0,1),m=1-Math.abs(h.dot(i,n));m=m*(1-g),e._dynamicScreenSpaceErrorComputedDensity=e.dynamicScreenSpaceErrorDensity*m}function DXe(e,t){if(t.hasEmptyContent)return;let{statistics:n}=e,i=t.contentExpired,o=t.requestContent();l(o)&&(o.then(r=>{!l(r)||t.isDestroyed()||e.isDestroyed()||(e._processingQueue.push(t),++n.numberOfTilesProcessing)}).catch(r=>{sfe(r,e,t)}),i&&(t.hasTilesetContent||t.hasImplicitContent?HXe(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t))}function rfe(e,t){return e._priority-t._priority}cr.prototype.postPassesUpdate=function(e){l(this._root)&&(IXe(this,e),WXe(this,e),this._cache.unloadTiles(this,cfe),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};cr.prototype.prePassesUpdate=function(e){if(!l(this._root))return;FXe(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,l(t)&&t.enabled&&t.update(e);let n=this._clippingPolygons;l(n)&&n.enabled&&n.update(e),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time)),this._timeSinceLoad=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&wXe(this,e),e.newFrame&&this._cache.reset()};function IXe(e,t){let n=e._requestedTilesInFlight,i=0;for(let o=0;o<n.length;++o){let r=n[o],s=t.frameNumber-r._touchedFrame>=1;if(r._contentState!==Zo.LOADING){++i;continue}else if(s){r.cancelRequests(),++i;continue}i>0&&(n[o-i]=r)}n.length-=i}function PXe(e){let t=e._requestedTiles;t.sort(rfe);for(let n=0;n<t.length;++n)DXe(e,t[n])}function sfe(e,t,n){if(t.isDestroyed())return;let i;n.isDestroyed()||(i=n._contentResource.url);let o=l(e.message)?e.message:e.toString();t.tileFailed.numberOfListeners>0?t.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`),console.log(e.stack))}function RXe(e){let t=e._processingQueue,n=0;for(let i=0;i<t.length;++i){let o=t[i];if(o.isDestroyed()||o._contentState!==Zo.PROCESSING){++n;continue}n>0&&(t[i-n]=o)}t.length-=n}var OXe=new fe,MXe=new fe,LXe=new h;function NXe(e,t,n){if(!e.enableCollision||!e.show)return;let i=e._addHeightCallbacks,o=t.boundingSphere;for(let r of i){if(r.invoked||t._wasSelectedLastFrame)continue;let s=r.ellipsoid,a=fe.clone(r.positionCartographic,OXe),c=fe.fromCartesian(o.center,s,MXe);l(c)&&(a.height=c.height);let u=fe.toCartesian(a,s,LXe);h.distance(u,o.center)<=o.radius&&n.afterRender.push(()=>{l(r.callback)&&r.callback(a),r.invoked=!1})}}function FXe(e,t){RXe(e);let n=e._processingQueue,{cacheBytes:i,maximumCacheOverflowBytes:o,statistics:r}=e,s=i+o,a=!1;for(let c=0;c<n.length;++c){if(e.totalMemoryUsageInBytes>s){a=!0;break}let u=n[c];try{u.process(e,t),u.contentReady&&(--r.numberOfTilesProcessing,e.tileLoad.raiseEvent(u))}catch(f){--r.numberOfTilesProcessing,sfe(f,e,u)}}e.totalMemoryUsageInBytes<i?kXe(e):a&&n.length>0&&BXe(e)}function BXe(e){e._memoryAdjustedScreenSpaceError*=1.02;let t=e._processingQueue;for(let n=0;n<t.length;++n)t[n].updatePriority();t.sort(rfe)}function kXe(e){e._memoryAdjustedScreenSpaceError=Math.max(e.memoryAdjustedScreenSpaceError/1.02,e.maximumScreenSpaceError)}var Fz=new h,VXe={maximumFractionDigits:3};function ofe(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,VXe):Math.round(t).toLocaleString()}function i7(e){let{halfAxes:t,radius:n,center:i}=e.boundingVolume.boundingVolume,o=h.clone(i,Fz);if(l(t))o.x+=.75*(t[0]+t[3]+t[6]),o.y+=.75*(t[1]+t[4]+t[7]),o.z+=.75*(t[2]+t[5]+t[8]);else if(l(n)){let r=h.normalize(i,Fz);r=h.multiplyByScalar(r,.75*n,Fz),o=h.add(r,i,Fz)}return o}function o7(e,t,n){let i="",o=0;if(t.debugShowGeometricError&&(i+=` +Geometric error: ${e.geometricError}`,o++),t.debugShowRenderingStatistics&&(i+=` +Commands: ${e.commandsLength}`,o++,e.content.pointsLength>0&&(i+=` +Points: ${e.content.pointsLength}`,o++),e.content.trianglesLength>0&&(i+=` +Triangles: ${e.content.trianglesLength}`,o++),i+=` +Features: ${e.content.featuresLength}`,o++),t.debugShowMemoryUsage&&(i+=` +Texture Memory: ${ofe(e.content.texturesByteLength)}`,i+=` +Geometry Memory: ${ofe(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=` +Urls:`;let s=e.content.innerContentUrls;for(let a=0;a<s.length;a++)i+=` +- ${s[a]}`;o+=s.length}else i+=` +Url: ${e._contentHeader.uri}`,o++;let r={text:i.substring(1),position:n,font:`${19-o}px sans-serif`,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function UXe(e,t){let n=e._selectedTiles,i=n.length,o=e._emptyTiles,r=o.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(l(e.debugPickedTile)){let s=l(e.debugPickPosition)?e.debugPickPosition:i7(e.debugPickedTile),a=o7(e.debugPickedTile,e,s);a.pixelOffset=new z(15,-15)}}else{for(let s=0;s<i;++s){let a=n[s];o7(a,e,i7(a))}for(let s=0;s<r;++s){let a=o[s];(a.hasTilesetContent||a.hasImplicitContent)&&o7(a,e,i7(a))}}e._tileDebugLabels.update(t)}function zXe(e,t,n){e._styleEngine.applyStyle(e),e._styleApplied=!0;let{commandList:i,context:o}=t,r=i.length,s=e._selectedTiles,a=e.isSkippingLevelOfDetail&&e._hasMixedContent&&o.stencilBuffer&&s.length>0;e._backfaceCommands.length=0,a&&(l(e._stencilClearCommand)||(e._stencilClearCommand=new ni({stencil:0,pass:ve.CESIUM_3D_TILE,renderState:Ve.fromCache({stencilMask:zt.SKIP_LOD_MASK})})),i.push(e._stencilClearCommand));let{statistics:c,tileVisible:u}=e,f=n.isRender,d=i.length;for(let m=0;m<s.length;++m){let x=s[m];f&&u.raiseEvent(x),NXe(e,x,t),x.update(e,t,n),c.incrementSelectionCounts(x.content),++c.selected}let p=e._emptyTiles;for(let m=0;m<p.length;++m)p[m].update(e,t,n);let g=i.length-d;if(e._backfaceCommands.trim(),a){let m=e._backfaceCommands.values,x=m.length;i.length+=x;for(let b=g-1;b>=0;--b)i[d+x+b]=i[d+b];for(let b=0;b<x;++b)i[d+b]=m[b]}g=i.length-r,c.numberOfCommands=g,f&&(e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&g>0&&e._pointCloudEyeDomeLighting.update(t,r,e.pointCloudShading,e.boundingSphere),e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(l(e._tileDebugLabels)||(e._tileDebugLabels=new xm),UXe(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var afe=[];function HXe(e,t){let n=t,i=afe;for(i.push(t);i.length>0;){t=i.pop();let o=t.children;for(let r=0;r<o.length;++r)i.push(o[r]);t!==n&&(GXe(e,t),--e._statistics.numberOfTilesTotal)}n.children=[]}function cfe(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function GXe(e,t){e._cache.unloadTile(e,t,cfe),t.destroy()}cr.prototype.trimLoadedTiles=function(){this._cache.trim()};function WXe(e,t){let n=e._statistics,i=e._statisticsLast,o=n.numberOfPendingRequests,r=n.numberOfTilesProcessing,s=i.numberOfPendingRequests,a=i.numberOfTilesProcessing;P_.clone(n,i);let c=o!==s||r!==a;c&&t.afterRender.push(function(){return e.loadProgress.raiseEvent(o,r),!0}),e._tilesLoaded=n.numberOfPendingRequests===0&&n.numberOfTilesProcessing===0&&n.numberOfAttemptedRequests===0,c&&e._tilesLoaded&&(t.afterRender.push(function(){return e.allTilesLoaded.raiseEvent(),!0}),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push(function(){return e.initialTilesLoaded.raiseEvent(),!0})))}function jXe(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function qXe(e,t){t.frameNumber===e._updatedModelMatrixFrame&&l(e._previousModelMatrix)||(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!F.equals(e.modelMatrix,e._previousModelMatrix),e._modelMatrixChanged&&(e._previousModelMatrix=F.clone(e.modelMatrix,e._previousModelMatrix)))}function YXe(e,t,n,i){if(t.mode===ne.MORPHING||!l(e._root))return!1;let o=e._statistics;o.clear(),++e._updatedVisibilityFrame,jXe(e),qXe(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;let r=e.getTraversal(i).selectTiles(e,t);if(i.requestTiles&&PXe(e),zXe(e,t,i),P_.clone(o,n),i.isRender){let s=e._credits;if(l(s)&&o.selected!==0)for(let a=0;a<s.length;++a){let c=s[a];t.creditDisplay.addCreditToNextFrame(c)}}return r}function lfe(e){let t=e._credits;l(t)||(t=[]),t.length=0,l(e.resource.credits)&&e.resource.credits.forEach(i=>{t.push(At.clone(i))});let n=e.asset.extras;if(l(n)&&l(n.cesium)&&l(n.cesium.credits)){let i=n.cesium.credits;for(let o=0;o<i.length;++o){let r=i[o];t.push(new At(r.html))}}t.forEach(i=>i.showOnScreen=i.showOnScreen||e._showCreditsOnScreen),e._credits=t}cr.prototype.getTraversal=function(e){let{pass:t}=e;return t===zo.MOST_DETAILED_PRELOAD||t===zo.MOST_DETAILED_PICK?IL:this.isSkippingLevelOfDetail?NL:OL};cr.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};cr.prototype.updateForPass=function(e,t){let n=t.pass;if(n===zo.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===zo.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===zo.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=zo.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),u=c.length;if(e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r),s.isRender){let p=this._environmentMapManager;l(this._root)&&(p.position=this.boundingSphere.center),p.update(e)}let f=this._clippingPolygons;l(f)&&f.enabled&&f.queueCommands(e);let d=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=YXe(this,e,d,s)),a&&(c.length=u),e.commandList=i,e.camera=o,e.cullingVolume=r};cr.prototype.hasExtension=function(e){return l(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};cr.prototype.isDestroyed=function(){return!1};cr.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),l(this._root)){let e=afe;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children;for(let i=0;i<n.length;++i)e.push(n[i])}}return this._root=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,this._environmentMapManager.isDestroyed()||this._environmentMapManager.destroy(),this._environmentMapManager=void 0,ue(this)};cr.supportedExtensions={"3DTILES_metadata":!0,"3DTILES_implicit_tiling":!0,"3DTILES_content_gltf":!0,"3DTILES_multiple_contents":!0,"3DTILES_bounding_volume_S2":!0,"3DTILES_batch_table_hierarchy":!0,"3DTILES_draco_point_compression":!0,MAXAR_content_geojson:!0};cr.checkSupportedExtensions=function(e){for(let t=0;t<e.length;t++)if(!cr.supportedExtensions[e[t]])throw new se(`Unsupported 3D Tiles Extension: ${e[t]}`)};var XXe=new yn,KXe=new h,ZXe=new fe;cr.prototype.getHeight=function(e,t){let n=t.ellipsoid;l(n)||(n=ee.WGS84);let i=XXe,o=n.cartographicToCartesian(e,i.direction);h.normalize(i.direction,i.direction),i.direction=h.normalize(o,i.direction),i.direction=h.negate(o,i.direction),i.origin=h.multiplyByScalar(i.direction,-2*n.maximumRadius,i.origin);let r=this.pick(i,t.frameState,KXe);if(l(r))return n.cartesianToCartographic(r,ZXe)?.height};cr.prototype.updateHeight=function(e,t,n){n=y(n,ee.WGS84);let i={positionCartographic:e,ellipsoid:n,callback:t,invoked:!1},o=()=>{let r=this._addHeightCallbacks,s=r.length;for(let a=0;a<s;++a)if(r[a]===i){r.splice(a,1);break}i.callback&&(i.callback=void 0)};return this._addHeightCallbacks.push(i),o};var $Xe=new Pa,QXe=new h;cr.prototype.pick=function(e,t,n){if(!t.context.webgl2&&!this._enablePick)return;let i=this._selectedTiles,o=i.length,r=[];for(let c=0;c<o;++c){let u=i[c],f=ei.raySphere(e,u.contentBoundingVolume.boundingSphere,$Xe);!l(f)||!l(u.content)||r.push(u)}let s=r.length;r.sort((c,u)=>{let f=ce.distanceSquaredTo(c.contentBoundingVolume.boundingSphere,e.origin),d=ce.distanceSquaredTo(u.contentBoundingVolume.boundingSphere,e.origin);return f-d});let a;for(let c=0;c<s;++c){let f=r[c].content.pick(e,t,QXe);if(l(f))return a=h.clone(f,n),a}};var Es=cr;var JXe=new F;function Gy(e,t){t.collectionChanged.addEventListener(Gy.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new Dt,this._onCollectionChanged(t,t.values,[],[])}Gy.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._tilesetHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._tileset,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;f&&(d=s.computeModelMatrix(e,JXe),c=Ae.createIfNeeded(q.getValueOrUndefined(a._uri,e)));let p=l(u)?u.tilesetPrimitive:void 0;if(!f){l(p)&&(p.show=!1);continue}(!l(u)||c.url!==u.url)&&(l(p)&&i.removeAndDestroy(p),delete n[s.id],eKe(c,n,s,i)),l(p)&&(p.show=!0,l(d)&&(p.modelMatrix=d),p.maximumScreenSpaceError=q.getValueOrDefault(a.maximumScreenSpaceError,e,p.maximumScreenSpaceError))}return!0};Gy.prototype.isDestroyed=function(){return!1};Gy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Gy.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._tilesetHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)r7(this,e[i],t,n);return ue(this)};Gy.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!l(n)||n.loadFail)return ct.FAILED;let i=n.tilesetPrimitive;return l(i)?i.show?(ce.clone(i.boundingSphere,t),ct.DONE):ct.FAILED:ct.PENDING};Gy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._tileset)?s.set(r.id,r):(r7(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],r7(this,r,a,c),s.remove(r.id)};function r7(e,t,n,i){let o=n[t.id];l(o)&&(l(o.tilesetPrimitive)&&i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}async function eKe(e,t,n,i){t[n.id]={url:e.url,loadFail:!1};try{let o=await Es.fromUrl(e);if(o.id=n,i.add(o),!l(t[n.id]))return;t[n.id].tilesetPrimitive=o}catch(o){console.error(o),t[n.id].loadFail=!0}}var FL=Gy;var tKe=H.WHITE,nKe=H.BLACK,iKe=new z(2,2);function EE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(EE.prototype,{isConstant:{get:function(){return q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:le("evenColor"),oddColor:le("oddColor"),repeat:le("repeat")});EE.prototype.getType=function(e){return"Checkerboard"};var oKe=new K;EE.prototype.getValue=function(e,t){return l(e)||(e=K.now(oKe)),l(t)||(t={}),t.lightColor=q.getValueOrClonedDefault(this._evenColor,e,tKe,t.lightColor),t.darkColor=q.getValueOrClonedDefault(this._oddColor,e,nKe,t.darkColor),t.repeat=q.getValueOrDefault(this._repeat,e,iKe),t};EE.prototype.equals=function(e){return this===e||e instanceof EE&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._repeat,e._repeat)};var SE=EE;var ufe={id:void 0};function BL(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function gc(e){this._owner=e,this._entities=new Dt,this._addedEntities=new Dt,this._removedEntities=new Dt,this._changedEntities=new Dt,this._suspendCount=0,this._collectionChanged=new me,this._id=Wn(),this._show=!0,this._firing=!1,this._refire=!1}gc.prototype.suspendEvents=function(){this._suspendCount++};gc.prototype.resumeEvents=function(){this._suspendCount--,BL(this)};Object.defineProperties(gc.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t<o;t++)n.push(i[t].isShowing);for(this._show=e,t=0;t<o;t++){let r=n[t],s=i[t];r!==s.isShowing&&s.definitionChanged.raiseEvent(s,"isShowing",s.isShowing,r)}this.resumeEvents()}},owner:{get:function(){return this._owner}}});gc.prototype.computeAvailability=function(){let e=ze.MAXIMUM_VALUE,t=ze.MINIMUM_VALUE,n=this._entities.values;for(let i=0,o=n.length;i<o;i++){let s=n[i].availability;if(l(s)){let a=s.start,c=s.stop;K.lessThan(a,e)&&!a.equals(ze.MINIMUM_VALUE)&&(e=a),K.greaterThan(c,t)&&!c.equals(ze.MAXIMUM_VALUE)&&(t=c)}}return ze.MAXIMUM_VALUE.equals(e)&&(e=ze.MINIMUM_VALUE),ze.MINIMUM_VALUE.equals(t)&&(t=ze.MAXIMUM_VALUE),new Sn({start:e,stop:t})};gc.prototype.add=function(e){e instanceof rr||(e=new rr(e));let t=e.id,n=this._entities;if(n.contains(t))throw new de(`An entity with id ${t} already exists in this collection.`);return e.entityCollection=this,n.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(gc.prototype._onEntityDefinitionChanged,this),BL(this),e};gc.prototype.remove=function(e){return l(e)?this.removeById(e.id):!1};gc.prototype.contains=function(e){return this._entities.get(e.id)===e};gc.prototype.removeById=function(e){if(!l(e))return!1;let n=this._entities.get(e);return this._entities.remove(e)?(this._addedEntities.remove(e)||(this._removedEntities.set(e,n),this._changedEntities.remove(e)),this._entities.remove(e),n.definitionChanged.removeEventListener(gc.prototype._onEntityDefinitionChanged,this),BL(this),!0):!1};gc.prototype.removeAll=function(){let e=this._entities,t=e.length,n=e.values,i=this._addedEntities,o=this._removedEntities;for(let r=0;r<t;r++){let s=n[r],a=s.id,c=i.get(a);l(c)||(s.definitionChanged.removeEventListener(gc.prototype._onEntityDefinitionChanged,this),o.set(a,s))}e.removeAll(),i.removeAll(),this._changedEntities.removeAll(),BL(this)};gc.prototype.getById=function(e){return this._entities.get(e)};gc.prototype.getOrCreateEntity=function(e){let t=this._entities.get(e);return l(t)||(ufe.id=e,t=new rr(ufe),this.add(t)),t};gc.prototype._onEntityDefinitionChanged=function(e){let t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),BL(this)};var na=gc;var Bz={id:void 0},vE=new Array(2);function s7(e){let t=e.propertyNames,n=t.length;for(let i=0;i<n;i++)e[t[i]]=void 0;e._name=void 0,e._availability=void 0}function ffe(e,t,n,i){vE[0]=n,vE[1]=i.id,t[JSON.stringify(vE)]=i.definitionChanged.addEventListener(Yr.prototype._onDefinitionChanged,e)}function dfe(e,t,n,i){vE[0]=n,vE[1]=i.id;let o=JSON.stringify(vE);t[o](),t[o]=void 0}function Wy(e){if(e._shouldRecomposite=!0,e._suspendCount!==0)return;let t=e._collections,n=t.length,i=e._collectionsCopy,o=i.length,r,s,a,c,u,f=e._composite,d=new na(e),p=e._eventHash,g;for(r=0;r<o;r++)for(u=i[r],u.collectionChanged.removeEventListener(Yr.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--)s=a[c],dfe(e,p,g,s);for(r=n-1;r>=0;r--)for(u=t[r],u.collectionChanged.addEventListener(Yr.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--){s=a[c],ffe(e,p,g,s);let x=d.getById(s.id);l(x)||(x=f.getById(s.id),l(x)?s7(x):(Bz.id=s.id,x=new rr(Bz)),d.add(x)),x.merge(s)}e._collectionsCopy=t.slice(0),f.suspendEvents(),f.removeAll();let m=d.values;for(r=0;r<m.length;r++)f.add(m[r]);f.resumeEvents()}function Yr(e,t){this._owner=t,this._composite=new na(this),this._suspendCount=0,this._collections=l(e)?e.slice():[],this._collectionsCopy=[],this._id=Wn(),this._eventHash={},Wy(this),this._shouldRecomposite=!1}Object.defineProperties(Yr.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}});Yr.prototype.addCollection=function(e,t){l(t)?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),Wy(this)};Yr.prototype.removeCollection=function(e){let t=this._collections.indexOf(e);return t!==-1?(this._collections.splice(t,1),Wy(this),!0):!1};Yr.prototype.removeAllCollections=function(){this._collections.length=0,Wy(this)};Yr.prototype.containsCollection=function(e){return this._collections.indexOf(e)!==-1};Yr.prototype.contains=function(e){return this._composite.contains(e)};Yr.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)};Yr.prototype.getCollection=function(e){return this._collections[e]};Yr.prototype.getCollectionsLength=function(){return this._collections.length};function kz(e,t){return e.indexOf(t)}function hfe(e,t,n){let i=e._collections;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,Wy(e)}Yr.prototype.raiseCollection=function(e){let t=kz(this._collections,e);hfe(this,t,t+1)};Yr.prototype.lowerCollection=function(e){let t=kz(this._collections,e);hfe(this,t,t-1)};Yr.prototype.raiseCollectionToTop=function(e){let t=kz(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),Wy(this))};Yr.prototype.lowerCollectionToBottom=function(e){let t=kz(this._collections,e);t!==0&&(this._collections.splice(t,1),this._collections.splice(0,0,e),Wy(this))};Yr.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()};Yr.prototype.resumeEvents=function(){this._suspendCount--,this._shouldRecomposite&&this._suspendCount===0&&(Wy(this),this._shouldRecomposite=!1),this._composite.resumeEvents()};Yr.prototype.computeAvailability=function(){return this._composite.computeAvailability()};Yr.prototype.getById=function(e){return this._composite.getById(e)};Yr.prototype._onCollectionChanged=function(e,t,n){let i=this._collectionsCopy,o=i.length,r=this._composite;r.suspendEvents();let s,a,c,u,f=n.length,d=this._eventHash,p=e.id;for(s=0;s<f;s++){let m=n[s];dfe(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),s7(u)),u.merge(c));l(u)||r.removeById(x),u=void 0}let g=t.length;for(s=0;s<g;s++){let m=t[s];ffe(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),l(u)?s7(u):(Bz.id=x,u=new rr(Bz),r.add(u))),u.merge(c));u=void 0}r.resumeEvents()};Yr.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),u=c[t],f=!l(u),d=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(l(g)){let m=g[t];if(l(m)){if(d)if(d=!1,l(m.merge)&&l(m.clone))u=m.clone(u);else{u=m;break}u.merge(m)}}}f&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=u};var a7=Yr;function c7(){this._removalFunctions=[]}c7.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};c7.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t<n;++t)e[t]();e.length=0};var gr=c7;function f7(e,t){return K.compare(e.start,t.start)}function Xr(e){if(this._intervals=[],this._changedEvent=new me,l(e)){let t=e.length;for(let n=0;n<t;n++)this.addInterval(e[n])}}Object.defineProperties(Xr.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){let e=this._intervals;return e.length===0?void 0:e[0].start}},isStartIncluded:{get:function(){let e=this._intervals;return e.length===0?!1:e[0].isStartIncluded}},stop:{get:function(){let e=this._intervals,t=e.length;return t===0?void 0:e[t-1].stop}},isStopIncluded:{get:function(){let e=this._intervals,t=e.length;return t===0?!1:e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return this._intervals.length===0}}});Xr.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof Xr))return!1;let n=this._intervals,i=e._intervals,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;r++)if(!Sn.equals(n[r],i[r],t))return!1;return!0};Xr.prototype.get=function(e){return this._intervals[e]};Xr.prototype.removeAll=function(){this._intervals.length>0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};Xr.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};Xr.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};Xr.prototype.contains=function(e){return this.indexOf(e)>=0};var l7=new Sn;Xr.prototype.indexOf=function(e){let t=this._intervals;l7.start=e,l7.stop=e;let n=Lo(t,l7,f7);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-1<t.length&&Sn.contains(t[n-1],e)?n-1:~n)};Xr.prototype.findInterval=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.start,n=e.stop,i=e.isStartIncluded,o=e.isStopIncluded,r=this._intervals;for(let s=0,a=r.length;s<a;s++){let c=r[s];if((!l(t)||c.start.equals(t))&&(!l(n)||c.stop.equals(n))&&(!l(i)||c.isStartIncluded===i)&&(!l(o)||c.isStopIncluded===o))return r[s]}};Xr.prototype.addInterval=function(e,t){if(e.isEmpty)return;let n=this._intervals;if(n.length===0||K.greaterThan(e.start,n[n.length-1].stop)){n.push(e),this._changedEvent.raiseEvent(this);return}let i=Lo(n,e,f7);i<0?i=~i:i>0&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i<n.length&&!e.isStartIncluded&&n[i].isStartIncluded&&n[i].start.equals(e.start)&&++i;let o;for(i>0&&(o=K.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((l(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?(K.greaterThan(e.stop,n[i-1].stop)?e=new Sn({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new Sn({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=K.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new Sn({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new Sn({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i<n.length&&(o=K.compare(e.stop,n[i].start),o>0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(l(t)?t(n[i].data,e.data):n[i].data===e.data)e=new Sn({start:e.start,stop:K.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:K.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new Sn({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};Xr.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=Lo(t,e,f7);n<0&&(n=~n);let i=!1;for(n>0&&(K.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(K.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new Sn({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new Sn({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n<t.length&&!e.isStartIncluded&&t[n].isStartIncluded&&e.start.equals(t[n].start)&&(i=!0,t.splice(n,0,new Sn({start:t[n].start,stop:t[n].start,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data})),++n);n<t.length&&K.greaterThan(e.stop,t[n].stop);)i=!0,t.splice(n,1);return n<t.length&&e.stop.equals(t[n].stop)&&(i=!0,!e.isStopIncluded&&t[n].isStopIncluded?n+1<t.length&&t[n+1].start.equals(e.stop)&&t[n].data===t[n+1].data?(t.splice(n,1),t[n]=new Sn({start:t[n].start,stop:t[n].stop,isStartIncluded:!0,isStopIncluded:t[n].isStopIncluded,data:t[n].data})):t[n]=new Sn({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data}):t.splice(n,1)),n<t.length&&(K.greaterThan(e.stop,t[n].start)||e.stop.equals(t[n].start)&&e.isStopIncluded&&t[n].isStartIncluded)&&(i=!0,t[n]=new Sn({start:e.stop,stop:t[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n].isStopIncluded,data:t[n].data})),i&&this._changedEvent.raiseEvent(this),i};Xr.prototype.intersect=function(e,t,n){let i=new Xr,o=0,r=0,s=this._intervals,a=e._intervals;for(;o<s.length&&r<a.length;){let c=s[o],u=a[r];if(K.lessThan(c.stop,u.start))++o;else if(K.lessThan(u.stop,c.start))++r;else{if(l(n)||l(t)&&t(c.data,u.data)||!l(t)&&u.data===c.data){let f=Sn.intersect(c,u,new Sn,n);f.isEmpty||i.addInterval(f,t)}K.lessThan(c.stop,u.stop)||c.stop.equals(u.stop)&&!c.isStopIncluded&&u.isStopIncluded?++o:++r}}return i};Xr.fromJulianDateArray=function(e,t){l(t)||(t=new Xr);let n=e.julianDates,i=n.length,o=e.dataCallback,r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=y(e.leadingInterval,!1),c=y(e.trailingInterval,!1),u,f=0;a&&(++f,u=new Sn({start:ze.MINIMUM_VALUE,stop:n[0],isStartIncluded:!0,isStopIncluded:!r}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u));for(let d=0;d<i-1;++d){let p=n[d],g=n[d+1];u=new Sn({start:p,stop:g,isStartIncluded:t.length===f?r:!0,isStopIncluded:d===i-2?s:!1}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u),p=g}return c&&(u=new Sn({start:n[i-1],stop:ze.MAXIMUM_VALUE,isStartIncluded:!s,isStopIncluded:!0}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u)),t};var yc=new gp,kL=[0,31,28,31,30,31,30,31,31,30,31,30,31];function u7(e,t,n){l(n)||(n=new K),K.toGregorianDate(e,yc);let i=yc.millisecond+t.millisecond,o=yc.second+t.second,r=yc.minute+t.minute,s=yc.hour+t.hour,a=yc.day+t.day,c=yc.month+t.month,u=yc.year+t.year;for(i>=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),kL[2]=bd(u)?29:28;a>kL[c]||c>=13;)a>kL[c]&&(a-=kL[c],++c),c>=13&&(--c,u+=Math.floor(c/12),c=c%12,++c),kL[2]=bd(u)?29:28;return yc.millisecond=i,yc.second=o,yc.minute=r,yc.hour=s,yc.day=a,yc.month=c,yc.year=u,K.fromGregorianDate(yc,n)}var rKe=new K,sKe=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function mfe(e,t){if(!l(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match(sKe);if(!l(n))return!1;if(l(n[1])&&(t.year=Number(n[1].replace(",","."))),l(n[2])&&(t.month=Number(n[2].replace(",","."))),l(n[3])&&(t.day=Number(n[3].replace(",","."))*7),l(n[4])&&(t.day+=Number(n[4].replace(",","."))),l(n[5])&&(t.hour=Number(n[5].replace(",","."))),l(n[6])&&(t.minute=Number(n[6].replace(",","."))),l(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),K.toGregorianDate(K.fromIso8601(e,rKe),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var VL=new gp;Xr.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=[];if(!mfe(n[2],VL))r.push(i,o);else{let s=K.clone(i);for(r.push(s);K.compare(s,o)<0;)s=u7(s,VL),K.compare(o,s)<=0&&K.clone(o,s),r.push(s)}return Xr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Xr.fromIso8601DateArray=function(e,t){return Xr.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return K.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Xr.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let u=0;u<c;++u)(mfe(i[u],VL)||u===0)&&(o&&l(a)?s=u7(a,VL):s=u7(n,VL),r.push(s),a=s);return Xr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var Kr=Xr;function aKe(e,t,n,i){function o(){n.raiseEvent(e)}let r=[];t.removeAll();let s=i.length;for(let a=0;a<s;a++){let c=i.get(a);l(c.data)&&r.indexOf(c.data)===-1&&t.add(c.data.definitionChanged,o)}}function Yb(){this._eventHelper=new gr,this._definitionChanged=new me,this._intervals=new Kr,this._intervals.changedEvent.addEventListener(Yb.prototype._intervalsChanged,this)}Object.defineProperties(Yb.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var cKe=new K;Yb.prototype.getValue=function(e,t){l(e)||(e=K.now(cKe));let n=this._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};Yb.prototype.equals=function(e){return this===e||e instanceof Yb&&this._intervals.equals(e._intervals,q.equals)};Yb.prototype._intervalsChanged=function(){aKe(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)};var xc=Yb;function jy(){this._definitionChanged=new me,this._composite=new xc,this._composite.definitionChanged.addEventListener(jy.prototype._raiseDefinitionChanged,this)}Object.defineProperties(jy.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});jy.prototype.getType=function(e){let t=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(t))return t.getType(e)};var lKe=new K;jy.prototype.getValue=function(e,t){l(e)||(e=K.now(lKe));let n=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};jy.prototype.equals=function(e){return this===e||e instanceof jy&&this._composite.equals(e._composite,q.equals)};jy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var wE=jy;function qy(e){this._referenceFrame=y(e,zi.FIXED),this._definitionChanged=new me,this._composite=new xc,this._composite.definitionChanged.addEventListener(qy.prototype._raiseDefinitionChanged,this)}Object.defineProperties(qy.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}});var uKe=new K;qy.prototype.getValue=function(e,t){return l(e)||(e=K.now(uKe)),this.getValueInReferenceFrame(e,zi.FIXED,t)};qy.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(i))return i.getValueInReferenceFrame(e,t,n)};qy.prototype.equals=function(e){return this===e||e instanceof qy&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,q.equals)};qy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var ga=qy;var fKe={ROUNDED:0,MITERED:1,BEVELED:2},Ni=Object.freeze(fKe);var ya=[new h,new h],dKe=new h,hKe=new h,mKe=new h,pKe=new h,_Ke=new h,gKe=new h,yKe=new h,xKe=new h,bKe=new h,DE=new h,Vz=new h,UL={},d7=new fe;function TKe(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++){let o=e[i];d7=t.cartesianToCartographic(o,d7),n[i]=d7.height,e[i]=t.scaleToGeodeticSurface(o,o)}return n}function h7(e,t,n,i){let o=e[0],r=e[1],s=h.angleBetween(o,r),a=Math.ceil(s/i),c=new Array(a),u;if(t===n){for(u=0;u<a;u++)c[u]=t;return c.push(n),c}let d=(n-t)/a;for(u=1;u<a;u++){let p=t+u*d;c[u]=p}return c[0]=t,c.push(n),c}var Uz=new h,zz=new h;function CKe(e,t,n,i){let o=new ns(n,i),r=o.projectPointOntoPlane(h.add(n,e,Uz),Uz),s=o.projectPointOntoPlane(h.add(n,t,zz),zz),a=z.angleBetween(r,s);return s.x*r.y-s.y*r.x>=0?-a:a}var AKe=new h(-1,0,0),Xb=new F,EKe=new F,m7=new $,SKe=$.IDENTITY.clone(),vKe=new h,wKe=new ie,pfe=new h;function M_(e,t,n,i,o,r,s,a){let c=vKe,u=wKe;Xb=Lt.eastNorthUpToFixedFrame(e,o,Xb),c=F.multiplyByPointAsVector(Xb,AKe,c),c=h.normalize(c,c);let f=CKe(c,t,e,o);m7=$.fromRotationZ(f,m7),pfe.z=r,Xb=F.multiplyTransformation(Xb,F.fromRotationTranslation(m7,pfe,EKe),Xb);let d=SKe;d[0]=s;for(let p=0;p<a;p++)for(let g=0;g<n.length;g+=3)u=h.fromArray(n,g,u),u=$.multiplyByVector(d,u,u),u=F.multiplyByPoint(Xb,u,u),i.push(u.x,u.y,u.z);return i}var DKe=new h;function p7(e,t,n,i,o,r,s){for(let a=0;a<e.length;a+=3){let c=h.fromArray(e,a,DKe);i=M_(c,t,n,i,o,r[a/3],s,1)}return i}function IKe(e,t){let n=e.length,i=new Array(n*6),o=0,r=t.x+t.width/2,s=t.y+t.height/2,a=e[0];i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s;for(let c=1;c<n;c++){a=e[c];let u=a.x-r,f=a.y-s;i[o++]=u,i[o++]=0,i[o++]=f,i[o++]=u,i[o++]=0,i[o++]=f}return a=e[0],i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s,i}function _fe(e,t){let n=e.length,i=new Array(n*3),o=0,r=t.x+t.width/2,s=t.y+t.height/2;for(let a=0;a<n;a++)i[o++]=e[a].x-r,i[o++]=0,i[o++]=e[a].y-s;return i}var gfe=new Le,yfe=new h,xfe=new $;function bfe(e,t,n,i,o,r,s,a,c,u){let f=h.angleBetween(h.subtract(t,e,DE),h.subtract(n,e,Vz)),d=i===Ni.BEVELED?0:Math.ceil(f/P.toRadians(5)),p;o?p=$.fromQuaternion(Le.fromAxisAngle(h.negate(e,DE),f/(d+1),gfe),xfe):p=$.fromQuaternion(Le.fromAxisAngle(e,f/(d+1),gfe),xfe);let g,m;if(t=h.clone(t,yfe),d>0){let x=u?2:1;for(let b=0;b<d;b++)t=$.multiplyByVector(p,t,t),g=h.subtract(t,e,DE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,Vz),s=M_(m,g,a,s,r,c,1,x)}else g=h.subtract(t,e,DE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,Vz),s=M_(m,g,a,s,r,c,1,1),n=h.clone(n,yfe),g=h.subtract(n,e,DE),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(n,Vz),s=M_(m,g,a,s,r,c,1,1);return s}UL.removeDuplicatesFromShape=function(e){let t=e.length,n=[];for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];z.equals(r,s)||n.push(s)}return n};UL.angleIsGreaterThanPi=function(e,t,n,i){let o=new ns(n,i),r=o.projectPointOntoPlane(h.add(n,e,Uz),Uz),s=o.projectPointOntoPlane(h.add(n,t,zz),zz);return s.x*r.y-s.y*r.x>=0};var PKe=new h,RKe=new h;UL.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=TKe(e,r),a=i._granularity,c=i._cornerType,u=o?IKe(t,n):_fe(t,n),f=o?_fe(t,n):void 0,d=n.height/2,p=n.width/2,g=e.length,m=[],x=o?[]:void 0,b=dKe,T=hKe,A=mKe,C=pKe,E=_Ke,v=gKe,D=yKe,O=xKe,R=bKe,M=e[0],N=e[1];C=r.geodeticSurfaceNormal(M,C),b=h.subtract(N,M,b),b=h.normalize(b,b),O=h.cross(C,b,O),O=h.normalize(O,O);let _=s[0],S=s[1];o&&(x=M_(M,O,f,x,r,_+d,1,1)),R=h.clone(M,R),M=N,T=h.negate(b,T);let w,I;for(let U=1;U<g-1;U++){let V=o?2:1;if(N=e[U+1],M.equals(N)){bt("Positions are too close and are considered equivalent with rounding error.");continue}b=h.subtract(N,M,b),b=h.normalize(b,b),C=r.geodeticSurfaceNormal(M,C);let G=h.multiplyByScalar(C,h.dot(b,C),PKe);h.subtract(b,G,G),h.normalize(G,G);let k=h.multiplyByScalar(C,h.dot(T,C),RKe);if(h.subtract(T,k,k),h.normalize(k,k),!P.equalsEpsilon(Math.abs(h.dot(G,k)),1,P.EPSILON7)){A=h.add(b,T,A),A=h.normalize(A,A),A=h.cross(A,C,A),A=h.cross(C,A,A),A=h.normalize(A,A);let Y=1/Math.max(.25,h.magnitude(h.cross(A,T,DE))),Q=UL.angleIsGreaterThanPi(b,T,M,r);Q?(E=h.add(M,h.multiplyByScalar(A,Y*p,A),E),v=h.add(E,h.multiplyByScalar(O,p,v),v),ya[0]=h.clone(R,ya[0]),ya[1]=h.clone(v,ya[1]),w=h7(ya,_+d,S+d,a),I=Li.generateArc({positions:ya,granularity:a,ellipsoid:r}),m=p7(I,O,u,m,r,w,1),O=h.cross(C,b,O),O=h.normalize(O,O),D=h.add(E,h.multiplyByScalar(O,p,D),D),c===Ni.ROUNDED||c===Ni.BEVELED?bfe(E,v,D,c,Q,r,m,u,S+d,o):(A=h.negate(A,A),m=M_(M,A,u,m,r,S+d,Y,V)),R=h.clone(D,R)):(E=h.add(M,h.multiplyByScalar(A,Y*p,A),E),v=h.add(E,h.multiplyByScalar(O,-p,v),v),ya[0]=h.clone(R,ya[0]),ya[1]=h.clone(v,ya[1]),w=h7(ya,_+d,S+d,a),I=Li.generateArc({positions:ya,granularity:a,ellipsoid:r}),m=p7(I,O,u,m,r,w,1),O=h.cross(C,b,O),O=h.normalize(O,O),D=h.add(E,h.multiplyByScalar(O,-p,D),D),c===Ni.ROUNDED||c===Ni.BEVELED?bfe(E,v,D,c,Q,r,m,u,S+d,o):m=M_(M,A,u,m,r,S+d,Y,V),R=h.clone(D,R)),T=h.negate(b,T)}else m=M_(R,O,u,m,r,_+d,1,1),R=M;_=S,S=s[U+1],M=N}ya[0]=h.clone(R,ya[0]),ya[1]=h.clone(M,ya[1]),w=h7(ya,_+d,S+d,a),I=Li.generateArc({positions:ya,granularity:a,ellipsoid:r}),m=p7(I,O,u,m,r,w,1),o&&(x=M_(M,O,f,x,r,S+d,1,1)),g=m.length;let L=o?g+x.length:g,B=new Float64Array(L);return B.set(m),o&&B.set(x,g),B};var ah=UL;var g7={},IE=new h,Sfe=new h,OKe=new h,Tfe=new h,nl=[new h,new h],vfe=new h,wfe=new h,Dfe=new h,MKe=new h,LKe=new h,NKe=new h,FKe=new h,BKe=new h,kKe=new h,VKe=new h,Cfe=new Le,Afe=new $;function Hz(e,t,n,i,o){let r=h.angleBetween(h.subtract(t,e,IE),h.subtract(n,e,Sfe)),s=i===Ni.BEVELED?1:Math.ceil(r/P.toRadians(5))+1,a=s*3,c=new Array(a);c[a-3]=n.x,c[a-2]=n.y,c[a-1]=n.z;let u;o?u=$.fromQuaternion(Le.fromAxisAngle(h.negate(e,IE),r/s,Cfe),Afe):u=$.fromQuaternion(Le.fromAxisAngle(e,r/s,Cfe),Afe);let f=0;t=h.clone(t,IE);for(let d=0;d<s;d++)t=$.multiplyByVector(u,t,t),c[f++]=t.x,c[f++]=t.y,c[f++]=t.z;return c}function UKe(e){let t=vfe,n=wfe,i=Dfe,o=e[1];n=h.fromArray(e[1],o.length-3,n),i=h.fromArray(e[0],0,i),t=h.midpoint(n,i,t);let r=Hz(t,n,i,Ni.ROUNDED,!1),s=e.length-1,a=e[s-1];o=e[s],n=h.fromArray(a,a.length-3,n),i=h.fromArray(o,0,i),t=h.midpoint(n,i,t);let c=Hz(t,n,i,Ni.ROUNDED,!1);return[r,c]}function Efe(e,t,n,i){let o=IE;return i?o=h.add(e,t,o):(t=h.negate(t,t),o=h.add(e,t,o)),[o.x,o.y,o.z,n.x,n.y,n.z]}function _7(e,t,n,i){let o=new Array(e.length),r=new Array(e.length),s=h.multiplyByScalar(t,n,IE),a=h.negate(s,Sfe),c=0,u=e.length-1;for(let f=0;f<e.length;f+=3){let d=h.fromArray(e,f,OKe),p=h.add(d,a,Tfe);o[c++]=p.x,o[c++]=p.y,o[c++]=p.z;let g=h.add(d,s,Tfe);r[u--]=g.z,r[u--]=g.y,r[u--]=g.x}return i.push(o,r),i}g7.addAttribute=function(e,t,n,i){let o=t.x,r=t.y,s=t.z;l(n)&&(e[n]=o,e[n+1]=r,e[n+2]=s),l(i)&&(e[i]=s,e[i-1]=r,e[i-2]=o)};var zKe=new h,HKe=new h;g7.computePositions=function(e){let t=e.granularity,n=e.positions,i=e.ellipsoid,o=e.width/2,r=e.cornerType,s=e.saveAttributes,a=vfe,c=wfe,u=Dfe,f=MKe,d=LKe,p=NKe,g=FKe,m=BKe,x=kKe,b=VKe,T=[],A=s?[]:void 0,C=s?[]:void 0,E=n[0],v=n[1];c=h.normalize(h.subtract(v,E,c),c),a=i.geodeticSurfaceNormal(E,a),f=h.normalize(h.cross(a,c,f),f),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z)),g=h.clone(E,g),E=v,u=h.negate(c,u);let D,O=[],R,M=n.length;for(R=1;R<M-1;R++){a=i.geodeticSurfaceNormal(E,a),v=n[R+1],c=h.normalize(h.subtract(v,E,c),c);let _=h.multiplyByScalar(a,h.dot(c,a),zKe);h.subtract(c,_,_),h.normalize(_,_);let S=h.multiplyByScalar(a,h.dot(u,a),HKe);if(h.subtract(u,S,S),h.normalize(S,S),!P.equalsEpsilon(Math.abs(h.dot(_,S)),1,P.EPSILON7)){d=h.normalize(h.add(c,u,d),d),d=h.cross(d,a,d),d=h.cross(a,d,d),d=h.normalize(d,d);let I=o/Math.max(.25,h.magnitude(h.cross(d,u,IE))),L=ah.angleIsGreaterThanPi(c,u,E,i);d=h.multiplyByScalar(d,I,d),L?(m=h.add(E,d,m),b=h.add(m,h.multiplyByScalar(f,o,b),b),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),nl[0]=h.clone(g,nl[0]),nl[1]=h.clone(b,nl[1]),D=Li.generateArc({positions:nl,granularity:t,ellipsoid:i}),T=_7(D,f,o,T),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z)),p=h.clone(x,p),f=h.normalize(h.cross(a,c,f),f),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),g=h.add(m,h.multiplyByScalar(f,o,g),g),r===Ni.ROUNDED||r===Ni.BEVELED?O.push({leftPositions:Hz(m,p,x,r,L)}):O.push({leftPositions:Efe(E,h.negate(d,d),x,L)})):(x=h.add(E,d,x),b=h.add(x,h.negate(h.multiplyByScalar(f,o,b),b),b),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),nl[0]=h.clone(g,nl[0]),nl[1]=h.clone(b,nl[1]),D=Li.generateArc({positions:nl,granularity:t,ellipsoid:i}),T=_7(D,f,o,T),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z)),p=h.clone(m,p),f=h.normalize(h.cross(a,c,f),f),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),g=h.add(x,h.negate(h.multiplyByScalar(f,o,g),g),g),r===Ni.ROUNDED||r===Ni.BEVELED?O.push({rightPositions:Hz(x,p,m,r,L)}):O.push({rightPositions:Efe(E,d,m,L)})),u=h.negate(c,u)}E=v}a=i.geodeticSurfaceNormal(E,a),nl[0]=h.clone(g,nl[0]),nl[1]=h.clone(E,nl[1]),D=Li.generateArc({positions:nl,granularity:t,ellipsoid:i}),T=_7(D,f,o,T),s&&(A.push(f.x,f.y,f.z),C.push(a.x,a.y,a.z));let N;return r===Ni.ROUNDED&&(N=UKe(T)),{positions:T,corners:O,lefts:A,normals:C,endPositions:N}};var Wi=g7;var Rfe=new h,Ofe=new h,Gz=new h,Wz=new h,GKe=new h,Mfe=new h,Yy=new h,PE=new h;function Lfe(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function ch(e,t,n,i,o,r){let s=e.normals,a=e.tangents,c=e.bitangents,u=h.normalize(h.cross(n,t,Yy),Yy);r.normal&&Wi.addAttribute(s,t,i,o),r.tangent&&Wi.addAttribute(a,u,i,o),r.bitangent&&Wi.addAttribute(c,n,i,o)}function Nfe(e,t,n){let i=e.positions,o=e.corners,r=e.endPositions,s=e.lefts,a=e.normals,c=new pn,u,f=0,d=0,p,g=0,m;for(p=0;p<i.length;p+=2)m=i[p].length-3,f+=m,g+=m*2,d+=i[p+1].length-3;for(f+=3,d+=3,p=0;p<o.length;p++){u=o[p];let J=o[p].leftPositions;l(J)?(m=J.length,f+=m,g+=m):(m=o[p].rightPositions.length,d+=m,g+=m)}let x=l(r),b;x&&(b=r[0].length-3,f+=b,d+=b,b/=3,g+=b*6);let T=f+d,A=new Float64Array(T),C=t.normal?new Float32Array(T):void 0,E=t.tangent?new Float32Array(T):void 0,v=t.bitangent?new Float32Array(T):void 0,D={normals:C,tangents:E,bitangents:v},O=0,R=T-1,M,N,_,S,w=Rfe,I=Ofe,L,B,U=b/2,V=Fe.createTypedArray(T/3,g),G=0;if(x){B=Gz,L=Wz;let J=r[0];for(w=h.fromArray(a,0,w),I=h.fromArray(s,0,I),p=0;p<U;p++)B=h.fromArray(J,(U-1-p)*3,B),L=h.fromArray(J,(U+p)*3,L),Wi.addAttribute(A,L,O),Wi.addAttribute(A,B,void 0,R),ch(D,w,I,O,R,t),N=O/3,S=N+1,M=(R-2)/3,_=M-1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3}let k=0,W=0,Y=i[k++],Q=i[k++];A.set(Y,O),A.set(Q,R-Q.length+1),I=h.fromArray(s,W,I);let j,Z;for(m=Q.length-3,p=0;p<m;p+=3)j=n.geodeticSurfaceNormal(h.fromArray(Y,p,Yy),Yy),Z=n.geodeticSurfaceNormal(h.fromArray(Q,m-p,PE),PE),w=h.normalize(h.add(j,Z,w),w),ch(D,w,I,O,R,t),N=O/3,S=N+1,M=(R-2)/3,_=M-1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3;for(j=n.geodeticSurfaceNormal(h.fromArray(Y,m,Yy),Yy),Z=n.geodeticSurfaceNormal(h.fromArray(Q,m,PE),PE),w=h.normalize(h.add(j,Z,w),w),W+=3,p=0;p<o.length;p++){let J;u=o[p];let he=u.leftPositions,xe=u.rightPositions,re,_e,ye=Mfe,De=Gz,we=Wz;if(w=h.fromArray(a,W,w),l(he)){for(ch(D,w,I,void 0,R,t),R-=3,re=S,_e=_,J=0;J<he.length/3;J++)ye=h.fromArray(he,J*3,ye),V[G++]=re,V[G++]=_e-J-1,V[G++]=_e-J,Wi.addAttribute(A,ye,void 0,R),De=h.fromArray(A,(_e-J-1)*3,De),we=h.fromArray(A,re*3,we),I=h.normalize(h.subtract(De,we,I),I),ch(D,w,I,void 0,R,t),R-=3;ye=h.fromArray(A,re*3,ye),De=h.subtract(h.fromArray(A,_e*3,De),ye,De),we=h.subtract(h.fromArray(A,(_e-J)*3,we),ye,we),I=h.normalize(h.add(De,we,I),I),ch(D,w,I,O,void 0,t),O+=3}else{for(ch(D,w,I,O,void 0,t),O+=3,re=_,_e=S,J=0;J<xe.length/3;J++)ye=h.fromArray(xe,J*3,ye),V[G++]=re,V[G++]=_e+J,V[G++]=_e+J+1,Wi.addAttribute(A,ye,O),De=h.fromArray(A,re*3,De),we=h.fromArray(A,(_e+J)*3,we),I=h.normalize(h.subtract(De,we,I),I),ch(D,w,I,O,void 0,t),O+=3;ye=h.fromArray(A,re*3,ye),De=h.subtract(h.fromArray(A,(_e+J)*3,De),ye,De),we=h.subtract(h.fromArray(A,_e*3,we),ye,we),I=h.normalize(h.negate(h.add(we,De,I),I),I),ch(D,w,I,void 0,R,t),R-=3}for(Y=i[k++],Q=i[k++],Y.splice(0,3),Q.splice(Q.length-3,3),A.set(Y,O),A.set(Q,R-Q.length+1),m=Q.length-3,W+=3,I=h.fromArray(s,W,I),J=0;J<Q.length;J+=3)j=n.geodeticSurfaceNormal(h.fromArray(Y,J,Yy),Yy),Z=n.geodeticSurfaceNormal(h.fromArray(Q,m-J,PE),PE),w=h.normalize(h.add(j,Z,w),w),ch(D,w,I,O,R,t),S=O/3,N=S-1,_=(R-2)/3,M=_+1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3;O-=3,R+=3}if(w=h.fromArray(a,a.length-3,w),ch(D,w,I,O,R,t),x){O+=3,R-=3,B=Gz,L=Wz;let J=r[1];for(p=0;p<U;p++)B=h.fromArray(J,(b-p-1)*3,B),L=h.fromArray(J,p*3,L),Wi.addAttribute(A,B,void 0,R),Wi.addAttribute(A,L,O),ch(D,w,I,O,R,t),S=O/3,N=S-1,_=(R-2)/3,M=_+1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=S,O+=3,R-=3}if(c.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:A}),t.st){let J=new Float32Array(T/3*2),he,xe,re=0;if(x){f/=3,d/=3;let _e=Math.PI/(b+1);xe=1/(f-b+1),he=1/(d-b+1);let ye,De=b/2;for(p=De+1;p<b+1;p++)ye=P.PI_OVER_TWO+_e*p,J[re++]=he*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye));for(p=1;p<d-b+1;p++)J[re++]=p*he,J[re++]=0;for(p=b;p>De;p--)ye=P.PI_OVER_TWO-p*_e,J[re++]=1-he*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye));for(p=De;p>0;p--)ye=P.PI_OVER_TWO-_e*p,J[re++]=1-xe*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye));for(p=f-b;p>0;p--)J[re++]=p*xe,J[re++]=1;for(p=1;p<De+1;p++)ye=P.PI_OVER_TWO+_e*p,J[re++]=xe*(1+Math.cos(ye)),J[re++]=.5*(1+Math.sin(ye))}else{for(f/=3,d/=3,xe=1/(f-1),he=1/(d-1),p=0;p<d;p++)J[re++]=p*he,J[re++]=0;for(p=f;p>0;p--)J[re++]=(p-1)*xe,J[re++]=1}c.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:J})}return t.normal&&(c.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.normals})),t.tangent&&(c.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.tangents})),t.bitangent&&(c.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.bitangents})),{attributes:c,indices:V}}function WKe(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,u;if(t.normal||t.bitangent||t.tangent){let f=t.normal?new Float32Array(s*6):void 0,d=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=Rfe,m=Ofe,x=Gz,b=Wz,T=GKe,A=Mfe,C=c;for(u=0;u<s;u+=3){let E=C+c;g=h.fromArray(n,u,g),m=h.fromArray(n,u+s,m),x=h.fromArray(n,(u+3)%s,x),m=h.subtract(m,g,m),x=h.subtract(x,g,x),b=h.normalize(h.cross(m,x,b),b),t.normal&&(Wi.addAttribute(f,b,E),Wi.addAttribute(f,b,E+3),Wi.addAttribute(f,b,C),Wi.addAttribute(f,b,C+3)),(t.tangent||t.bitangent)&&(A=h.fromArray(i,u,A),t.bitangent&&(Wi.addAttribute(p,A,E),Wi.addAttribute(p,A,E+3),Wi.addAttribute(p,A,C),Wi.addAttribute(p,A,C+3)),t.tangent&&(T=h.normalize(h.cross(A,b,T),T),Wi.addAttribute(d,T,E),Wi.addAttribute(d,T,E+3),Wi.addAttribute(d,T,C),Wi.addAttribute(d,T,C+3))),C+=6}if(t.normal){for(f.set(i),u=0;u<s;u+=3)f[u+s]=-i[u],f[u+s+1]=-i[u+1],f[u+s+2]=-i[u+2];e.normal.values=f}else e.normal=void 0;if(t.bitangent?(p.set(o),p.set(o,s),e.bitangent.values=p):e.bitangent=void 0,t.tangent){let E=e.tangent.values;d.set(E),d.set(E,s),e.tangent.values=d}}if(t.st){let f=e.st.values,d=new Float32Array(a*6);d.set(f),d.set(f,a);let p=a*2;for(let g=0;g<2;g++){for(d[p++]=f[0],d[p++]=f[1],u=2;u<a;u+=2){let m=f[u],x=f[u+1];d[p++]=m,d[p++]=x,d[p++]=m,d[p++]=x}d[p++]=f[0],d[p++]=f[1]}e.st.values=d}return e}function y7(e,t,n){n[t++]=e[0],n[t++]=e[1],n[t++]=e[2];for(let i=3;i<e.length;i+=3){let o=e[i],r=e[i+1],s=e[i+2];n[t++]=o,n[t++]=r,n[t++]=s,n[t++]=o,n[t++]=r,n[t++]=s}return n[t++]=e[0],n[t++]=e[1],n[t++]=e[2],n}function jKe(e,t){let n=new Ie({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),i=e.ellipsoid,o=Wi.computePositions(e),r=Nfe(o,n,i),s=e.height,a=e.extrudedHeight,c=r.attributes,u=r.indices,f=c.position.values,d=f.length,p=new Float64Array(d*6),g=new Float64Array(d);g.set(f);let m=new Float64Array(d*4);f=ci.scaleToGeodeticHeight(f,s,i),m=y7(f,0,m),g=ci.scaleToGeodeticHeight(g,a,i),m=y7(g,d*2,m),p.set(f),p.set(g,d),p.set(m,d*2),c.position.values=p,c=WKe(c,t);let x,b=d/3;if(e.shadowVolume){let M=c.normal.values;d=M.length;let N=new Float32Array(d*6);for(x=0;x<d;x++)M[x]=-M[x];N.set(M,d),N=y7(M,d*4,N),c.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:N}),t.normal||(c.normal=void 0)}if(l(e.offsetAttribute)){let M=new Uint8Array(b*6);if(e.offsetAttribute===ln.TOP)M=M.fill(1,0,b).fill(1,b*2,b*4);else{let N=e.offsetAttribute===ln.NONE?0:1;M=M.fill(N)}c.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:M})}let T=u.length,A=b+b,C=Fe.createTypedArray(p.length/3,T*2+A*3);C.set(u);let E=T;for(x=0;x<T;x+=3){let M=u[x],N=u[x+1],_=u[x+2];C[E++]=_+b,C[E++]=N+b,C[E++]=M+b}let v,D,O,R;for(x=0;x<A;x+=2)v=x+A,D=v+A,O=v+1,R=D+1,C[E++]=v,C[E++]=D,C[E++]=O,C[E++]=O,C[E++]=D,C[E++]=R;return{attributes:c,indices:C}}var Ife=new h,zL=new h,qf=new fe;function Pfe(e,t,n,i,o,r){let s=h.subtract(t,e,Ife);h.normalize(s,s);let a=n.geodeticSurfaceNormal(e,zL),c=h.cross(s,a,Ife);h.multiplyByScalar(c,i,c);let u=o.latitude,f=o.longitude,d=r.latitude,p=r.longitude;h.add(e,c,zL),n.cartesianToCartographic(zL,qf);let g=qf.latitude,m=qf.longitude;u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),h.subtract(e,c,zL),n.cartesianToCartographic(zL,qf),g=qf.latitude,m=qf.longitude,u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),o.latitude=u,o.longitude=f,r.latitude=d,r.longitude=p}var jf=new h,HL=new h,kl=new fe,Vl=new fe;function Ffe(e,t,n,i,o){e=Lfe(e,t);let r=So(e,h.equalsEpsilon),s=r.length;if(s<2||n<=0)return new ae;let a=n*.5;kl.latitude=Number.POSITIVE_INFINITY,kl.longitude=Number.POSITIVE_INFINITY,Vl.latitude=Number.NEGATIVE_INFINITY,Vl.longitude=Number.NEGATIVE_INFINITY;let c,u;if(i===Ni.ROUNDED){let p=r[0];h.subtract(p,r[1],jf),h.normalize(jf,jf),h.multiplyByScalar(jf,a,jf),h.add(p,jf,HL),t.cartesianToCartographic(HL,qf),c=qf.latitude,u=qf.longitude,kl.latitude=Math.min(kl.latitude,c),kl.longitude=Math.min(kl.longitude,u),Vl.latitude=Math.max(Vl.latitude,c),Vl.longitude=Math.max(Vl.longitude,u)}for(let p=0;p<s-1;++p)Pfe(r[p],r[p+1],t,a,kl,Vl);let f=r[s-1];h.subtract(f,r[s-2],jf),h.normalize(jf,jf),h.multiplyByScalar(jf,a,jf),h.add(f,jf,HL),Pfe(f,HL,t,a,kl,Vl),i===Ni.ROUNDED&&(t.cartesianToCartographic(HL,qf),c=qf.latitude,u=qf.longitude,kl.latitude=Math.min(kl.latitude,c),kl.longitude=Math.min(kl.longitude,u),Vl.latitude=Math.max(Vl.latitude,c),Vl.longitude=Math.max(Vl.longitude,u));let d=l(o)?o:new ae;return d.north=Vl.latitude,d.south=kl.latitude,d.east=Vl.longitude,d.west=kl.longitude,d}function N_(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*h.packedLength+ee.packedLength+Ie.packedLength+7}N_.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var Bfe=ee.clone(ee.UNIT_SPHERE),kfe=new Ie,L_={positions:void 0,ellipsoid:Bfe,vertexFormat:kfe,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};N_.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let m=0;m<i;++m,t+=h.packedLength)o[m]=h.unpack(e,t);let r=ee.unpack(e,t,Bfe);t+=ee.packedLength;let s=Ie.unpack(e,t,kfe);t+=Ie.packedLength;let a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++]===1,g=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._vertexFormat=Ie.clone(s,n._vertexFormat),n._width=a,n._height=c,n._extrudedHeight=u,n._cornerType=f,n._granularity=d,n._shadowVolume=p,n._offsetAttribute=g===-1?void 0:g,n):(L_.positions=o,L_.width=a,L_.height=c,L_.extrudedHeight=u,L_.cornerType=f,L_.granularity=d,L_.shadowVolume=p,L_.offsetAttribute=g===-1?void 0:g,new N_(L_))};N_.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.positions,i=e.width,o=y(e.ellipsoid,ee.default),r=y(e.cornerType,Ni.ROUNDED);return Ffe(n,o,i,r,t)};N_.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=Lfe(t,i);let o=So(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c=e._vertexFormat,u={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0},f;if(a)u.height=r,u.extrudedHeight=s,u.shadowVolume=e._shadowVolume,u.offsetAttribute=e._offsetAttribute,f=jKe(u,c);else{let g=Wi.computePositions(u);if(f=Nfe(g,c,i),f.attributes.position.values=ci.scaleToGeodeticHeight(f.attributes.position.values,r,i),l(e._offsetAttribute)){let m=e._offsetAttribute===ln.NONE?0:1,x=f.attributes.position.values.length,b=new Uint8Array(x/3).fill(m);f.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}}let d=f.attributes,p=ce.fromVertices(d.position.values,void 0,3);return c.position||(f.attributes.position.values=void 0),new ft({attributes:d,indices:f.indices,primitiveType:Ne.TRIANGLES,boundingSphere:p,offsetAttribute:e._offsetAttribute})};N_.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new N_({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:o,granularity:i,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(N_.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=Ffe(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var Kb=N_;var Vfe=new h,Ufe=new h,qKe=new h;function YKe(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function zfe(e,t){let n=[],i=e.positions,o=e.corners,r=e.endPositions,s=new pn,a,c=0,u=0,f,d=0,p;for(f=0;f<i.length;f+=2)p=i[f].length-3,c+=p,d+=p/3*4,u+=i[f+1].length-3;for(c+=3,u+=3,f=0;f<o.length;f++){a=o[f];let L=o[f].leftPositions;l(L)?(p=L.length,c+=p,d+=p/3*2):(p=o[f].rightPositions.length,u+=p,d+=p/3*2)}let g=l(r),m;g&&(m=r[0].length-3,c+=m,u+=m,m/=3,d+=m*4);let x=c+u,b=new Float64Array(x),T=0,A=x-1,C,E,v,D,O,R,M=m/2,N=Fe.createTypedArray(x/3,d+4),_=0;if(N[_++]=T/3,N[_++]=(A-2)/3,g){n.push(T/3),R=Vfe,O=Ufe;let L=r[0];for(f=0;f<M;f++)R=h.fromArray(L,(M-1-f)*3,R),O=h.fromArray(L,(M+f)*3,O),Wi.addAttribute(b,O,T),Wi.addAttribute(b,R,void 0,A),E=T/3,D=E+1,C=(A-2)/3,v=C-1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3}let S=0,w=i[S++],I=i[S++];for(b.set(w,T),b.set(I,A-I.length+1),p=I.length-3,n.push(T/3,(A-2)/3),f=0;f<p;f+=3)E=T/3,D=E+1,C=(A-2)/3,v=C-1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3;for(f=0;f<o.length;f++){let L;a=o[f];let B=a.leftPositions,U=a.rightPositions,V,G=qKe;if(l(B)){for(A-=3,V=v,n.push(D),L=0;L<B.length/3;L++)G=h.fromArray(B,L*3,G),N[_++]=V-L-1,N[_++]=V-L,Wi.addAttribute(b,G,void 0,A),A-=3;n.push(V-Math.floor(B.length/6)),t===Ni.BEVELED&&n.push((A-2)/3+1),T+=3}else{for(T+=3,V=D,n.push(v),L=0;L<U.length/3;L++)G=h.fromArray(U,L*3,G),N[_++]=V+L,N[_++]=V+L+1,Wi.addAttribute(b,G,T),T+=3;n.push(V+Math.floor(U.length/6)),t===Ni.BEVELED&&n.push(T/3-1),A-=3}for(w=i[S++],I=i[S++],w.splice(0,3),I.splice(I.length-3,3),b.set(w,T),b.set(I,A-I.length+1),p=I.length-3,L=0;L<I.length;L+=3)D=T/3,E=D-1,v=(A-2)/3,C=v+1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3;T-=3,A+=3,n.push(T/3,(A-2)/3)}if(g){T+=3,A-=3,R=Vfe,O=Ufe;let L=r[1];for(f=0;f<M;f++)R=h.fromArray(L,(m-f-1)*3,R),O=h.fromArray(L,f*3,O),Wi.addAttribute(b,R,void 0,A),Wi.addAttribute(b,O,T),D=T/3,E=D-1,v=(A-2)/3,C=v+1,N[_++]=C,N[_++]=v,N[_++]=E,N[_++]=D,T+=3,A-=3;n.push(T/3)}else n.push(T/3,(A-2)/3);return N[_++]=T/3,N[_++]=(A-2)/3,s.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),{attributes:s,indices:N,wallIndices:n}}function XKe(e){let t=e.ellipsoid,n=Wi.computePositions(e),i=zfe(n,e.cornerType),o=i.wallIndices,r=e.height,s=e.extrudedHeight,a=i.attributes,c=i.indices,u=a.position.values,f=u.length,d=new Float64Array(f);d.set(u);let p=new Float64Array(f*2);if(u=ci.scaleToGeodeticHeight(u,r,t),d=ci.scaleToGeodeticHeight(d,s,t),p.set(u),p.set(d,f),a.position.values=p,f/=3,l(e.offsetAttribute)){let C=new Uint8Array(f*2);if(e.offsetAttribute===ln.TOP)C=C.fill(1,0,f);else{let E=e.offsetAttribute===ln.NONE?0:1;C=C.fill(E)}a.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}let g,m=c.length,x=Fe.createTypedArray(p.length/3,(m+o.length)*2);x.set(c);let b=m;for(g=0;g<m;g+=2){let C=c[g],E=c[g+1];x[b++]=C+f,x[b++]=E+f}let T,A;for(g=0;g<o.length;g++)T=o[g],A=T+f,x[b++]=T,x[b++]=A;return{attributes:a,indices:x}}function GL(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*h.packedLength+ee.packedLength+6}GL.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n]=y(e._offsetAttribute,-1),t};var Hfe=ee.clone(ee.UNIT_SPHERE),Xy={positions:void 0,ellipsoid:Hfe,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};GL.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let p=0;p<i;++p,t+=h.packedLength)o[p]=h.unpack(e,t);let r=ee.unpack(e,t,Hfe);t+=ee.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._width=s,n._height=a,n._extrudedHeight=c,n._cornerType=u,n._granularity=f,n._offsetAttribute=d===-1?void 0:d,n):(Xy.positions=o,Xy.width=s,Xy.height=a,Xy.extrudedHeight=c,Xy.cornerType=u,Xy.granularity=f,Xy.offsetAttribute=d===-1?void 0:d,new GL(Xy))};GL.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=YKe(t,i);let o=So(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1},u;if(a)c.height=r,c.extrudedHeight=s,c.offsetAttribute=e._offsetAttribute,u=XKe(c);else{let p=Wi.computePositions(c);if(u=zfe(p,c.cornerType),u.attributes.position.values=ci.scaleToGeodeticHeight(u.attributes.position.values,r,i),l(e._offsetAttribute)){let g=u.attributes.position.values.length,m=e._offsetAttribute===ln.NONE?0:1,x=new Uint8Array(g/3).fill(m);u.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}}let f=u.attributes,d=ce.fromVertices(f.position.values,void 0,3);return new ft({attributes:f,indices:u.indices,primitiveType:Ne.LINES,boundingSphere:d,offsetAttribute:e._offsetAttribute})};var WL=GL;var KKe=new $n(0);function il(e){ri.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}l(Object.create)&&(il.prototype=Object.create(ri.prototype),il.prototype.constructor=il);Object.defineProperties(il.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});il.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!l(t.height)&&!l(t.extrudedHeight)&&Hc.isSupported(this._scene)};il.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight;return t===0||l(n)&&n!==t};il.prototype._computeCenter=de.throwInstantiationError;il.prototype._onEntityPropertyChanged=function(e,t,n,i){if(ri.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(o.zIndex)&&(l(o.height)||l(o.extrudedHeight))&&bt(bt.geometryZIndex),this._zIndex=y(o.zIndex,KKe),l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference,s=o.extrudedHeightReference;if(l(r)||l(s)){let a=new Fd(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new qx(this._scene,a,r,s)}};il.prototype.destroy=function(){l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),ri.prototype.destroy.call(this)};il.getGeometryHeight=function(e,t){if(!l(e)){t!==qe.NONE&&bt(bt.geometryHeightReference);return}return xf(t)?0:e};il.getGeometryExtrudedHeight=function(e,t){if(!l(e)){t!==qe.NONE&&bt(bt.geometryExtrudedHeightReference);return}return xf(t)?il.CLAMP_TO_GROUND:e};il.CLAMP_TO_GROUND="clamp";il.computeGeometryOffsetAttribute=function(e,t,n,i){(!l(e)||!l(t))&&(t=qe.NONE),(!l(n)||!l(i))&&(i=qe.NONE);let o=0;if(t!==qe.NONE&&o++,i===qe.RELATIVE_TO_GROUND&&o++,o===2)return ln.ALL;if(o===1)return ln.TOP};var qn=il;var Gfe=new H,Wfe=h.ZERO,jfe=new h,qfe=new ae;function ZKe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function lh(e,t){qn.call(this,{entity:e,scene:t,geometryOptions:new ZKe(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}l(Object.create)&&(lh.prototype=Object.create(qn.prototype),lh.prototype.constructor=lh);lh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Un.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Gfe)),l(o)||(o=H.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Wfe,jfe))),new It({id:t,geometry:new Kb(this._options),attributes:i})};lh.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Gfe),o={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return l(this._options.offsetAttribute)&&(o.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Wfe,jfe))),new It({id:t,geometry:new WL(this._options),attributes:o})};lh.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.corridor.positions,e);if(!(!l(n)||n.length===0))return h.clone(n[Math.floor(n.length/2)],t)};lh.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.width)||ri.prototype._isHidden.call(this,e,t)};lh.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.width)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};lh.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,qe.NONE),o=q.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,qe.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ht?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(ze.MINIMUM_VALUE,s.positions),s.width=t.width.getValue(ze.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),s.cornerType=q.getValueOrUndefined(t.cornerType,ze.MINIMUM_VALUE),s.offsetAttribute=qn.computeGeometryOffsetAttribute(n,i,o,r),s.height=qn.getGeometryHeight(n,i),o=qn.getGeometryExtrudedHeight(o,r),o===qn.CLAMP_TO_GROUND&&(o=fi.getMinimumMaximumHeights(Kb.computeRectangle(s,qfe)).minimumTerrainHeight),s.extrudedHeight=o};lh.DynamicGeometryUpdater=RE;function RE(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(RE.prototype=Object.create(oi.prototype),RE.prototype.constructor=RE);RE.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.positions)||!l(i.width)||oi.prototype._isHidden.call(this,e,t,n)};RE.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,qe.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,qe.NONE);l(s)&&!l(o)&&(o=0),i.positions=q.getValueOrUndefined(t.positions,n),i.width=q.getValueOrUndefined(t.width,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n),i.offsetAttribute=qn.computeGeometryOffsetAttribute(o,r,s,a),i.height=qn.getGeometryHeight(o,r),s=qn.getGeometryExtrudedHeight(s,a),s===qn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(Kb.computeRectangle(i,qfe)).minimumTerrainHeight),i.extrudedHeight=s};var jL=lh;function jz(){de.throwInstantiationError()}Object.defineProperties(jz.prototype,{name:{get:de.throwInstantiationError},clock:{get:de.throwInstantiationError},entities:{get:de.throwInstantiationError},isLoading:{get:de.throwInstantiationError},changedEvent:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},loadingEvent:{get:de.throwInstantiationError},show:{get:de.throwInstantiationError},clustering:{get:de.throwInstantiationError}});jz.prototype.update=function(e){de.throwInstantiationError()};jz.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var Zr=jz;function Em(e,t){this._ellipsoid=e,this._cameraPosition=new h,this._cameraPositionInScaledSpace=new h,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(Em.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=h.magnitudeSquared(n)-1;h.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=i}}});var Yfe=new h;Em.prototype.isPointVisible=function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,Yfe);return b7(n,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};Em.prototype.isScaledSpacePointVisible=function(e){return b7(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var $Ke=new h;Em.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){let n=this._ellipsoid,i,o;return l(t)&&t<0&&n.minimumRadius>-t?(o=$Ke,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),b7(e,o,i)};Em.prototype.computeHorizonCullingPoint=function(e,t,n){return Zfe(this._ellipsoid,e,t,n)};var Xfe=ee.clone(ee.UNIT_SPHERE);Em.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=Kfe(this._ellipsoid,n,Xfe);return Zfe(o,e,t,i)};Em.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return $fe(this._ellipsoid,e,t,n,i,o)};Em.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=Kfe(this._ellipsoid,o,Xfe);return $fe(s,e,t,n,i,r)};var QKe=[];Em.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=ae.subsample(e,t,0,QKe),o=ce.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var JKe=new h;function Kfe(e,t,n){if(l(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,JKe);e=ee.fromCartesian3(i,n)}return e}function Zfe(e,t,n,i){l(i)||(i=new h);let o=ede(e,t),r=0;for(let s=0,a=n.length;s<a;++s){let c=n[s],u=Qfe(e,c,o);if(u<0)return;r=Math.max(r,u)}return Jfe(o,r,i)}var qz=new h;function $fe(e,t,n,i,o,r){l(r)||(r=new h),i=y(i,3),o=y(o,h.ZERO);let s=ede(e,t),a=0;for(let c=0,u=n.length;c<u;c+=i){qz.x=n[c]+o.x,qz.y=n[c+1]+o.y,qz.z=n[c+2]+o.z;let f=Qfe(e,qz,s);if(f<0)return;a=Math.max(a,f)}return Jfe(s,a,r)}function b7(e,t,n){let i=t,o=n,r=h.subtract(e,i,Yfe),s=-h.dot(r,i);return!(o<0?s>0:s>o&&s*s/h.magnitudeSquared(r)>o)}var eZe=new h,tZe=new h;function Qfe(e,t,n){let i=e.transformPositionToScaledSpace(t,eZe),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,tZe);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),u=1/r,f=Math.sqrt(o-1)*u;return 1/(a*u-c*f)}function Jfe(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var x7=new h;function ede(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,x7),h.normalize(x7,x7))}var F_=Em;function Or(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;l(n)&&(n=Vt.clone(n)),l(i)&&(i=Vt.clone(i)),l(o)&&(o=Nt.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=H.clone(y(e.color,H.WHITE)),this._outlineColor=H.clone(y(e.outlineColor,H.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1,this._splitDirection=y(e.splitDirection,zr.NONE)}var tde=Or.SHOW_INDEX=0,ode=Or.POSITION_INDEX=1,nZe=Or.COLOR_INDEX=2,iZe=Or.OUTLINE_COLOR_INDEX=3,oZe=Or.OUTLINE_WIDTH_INDEX=4,rZe=Or.PIXEL_SIZE_INDEX=5,sZe=Or.SCALE_BY_DISTANCE_INDEX=6,aZe=Or.TRANSLUCENCY_BY_DISTANCE_INDEX=7,cZe=Or.DISTANCE_DISPLAY_CONDITION_INDEX=8,lZe=Or.DISABLE_DEPTH_DISTANCE_INDEX=9,uZe=Or.SPLIT_DIRECTION_INDEX=10;Or.NUMBER_OF_PROPERTIES=11;function Iu(e,t){let n=e._pointPrimitiveCollection;l(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(Or.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Iu(this,tde))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),Iu(this,ode))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Vt.equals(t,e)||(this._scaleByDistance=Vt.clone(e,t),Iu(this,sZe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Vt.equals(t,e)||(this._translucencyByDistance=Vt.clone(e,t),Iu(this,aZe))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,Iu(this,rZe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),Iu(this,nZe))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),Iu(this,iZe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Iu(this,oZe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Nt.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=Nt.clone(e,this._distanceDisplayCondition),Iu(this,cZe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,Iu(this,lZe))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,Iu(this,tde))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,Iu(this,uZe))}}});Or.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};Or.prototype._getActualPosition=function(){return this._actualPosition};Or.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),Iu(this,ode)};var nde=new ie;Or._computeActualPosition=function(e,t,n){return t.mode===ne.SCENE3D?e:(F.multiplyByPoint(n,e,nde),Hi.computeActualEllipsoidPosition(t,nde))};var ide=new ie;Or._computeScreenSpacePosition=function(e,t,n,i){let o=F.multiplyByVector(e,ie.fromElements(t.x,t.y,t.z,1,ide),ide);return Hi.worldToWindowCoordinates(n,o,i)};Or.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;l(t)||(t=new z);let i=n.modelMatrix,o=Or._computeScreenSpacePosition(i,this._actualPosition,e,t);if(l(o))return o.y=e.canvas.clientHeight-o.y,o};Or.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return l(n)||(n=new We),n.x=r,n.y=s,n.width=a,n.height=c,n};Or.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&H.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&H.equals(this._outlineColor,e._outlineColor)&&Vt.equals(this._scaleByDistance,e._scaleByDistance)&&Vt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Nt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};Or.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var Ns=Or;var Ky=`in vec4 v_color; +in vec4 v_outlineColor; +in float v_innerPercent; +in float v_pixelDistance; +in vec4 v_pickColor; +in float v_splitDirection; - // Run the custom shader - czm_modelMaterial materialOutput; - fragmentMain(fragmentInput, materialOutput); - - // Sanitize the custom shader output - vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); - color.rgb = max(color.rgb, vec3(0.0)); - color.a = clamp(color.a, 0.0, 1.0); - - // Pre-multiplied alpha blend - colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); - - // Stop traversing if the alpha has been fully saturated - if (colorAccum.a > ALPHA_ACCUM_MAX) { - colorAccum.a = ALPHA_ACCUM_MAX; - break; - } - - if (step.w == 0.0) { - // Shape is infinitely thin. The ray may have hit the edge of a - // foreground voxel. Step ahead slightly to check for more voxels - step.w == 0.00001; - } +void main() +{ + if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; - // Keep raymarching - currentT += step.w; - positionUv = viewPosUv + currentT * viewDirUv; + // The distance in UV space from this fragment to the center of the point, at most 0.5. + float distanceToCenter = length(gl_PointCoord - vec2(0.5)); + // The max distance stops one pixel shy of the edge to leave space for anti-aliasing. + float maxDistance = max(0.0, 0.5 - v_pixelDistance); + float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter); + float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter); - // Check if there's more intersections. - if (currentT > endT) { - #if (INTERSECTION_COUNT == 1) - break; - #else - shapeIntersection = nextIntersection(ix); - if (shapeIntersection.entry.w == NO_HIT) { - break; - } else { - // Found another intersection. Resume raymarching there - currentT = shapeIntersection.entry.w; - endT = shapeIntersection.exit.w; - positionUv = viewPosUv + currentT * viewDirUv; - } - #endif - } + vec4 color = mix(v_outlineColor, v_color, innerAlpha); + color.a *= wholeAlpha; - // Traverse the tree from the current ray position. - // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. - pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); - traverseOctreeFromExisting(pointJacobian.point, traversalData, sampleDatas); - step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); +// Fully transparent parts of the billboard are not pickable. +#if !defined(OPAQUE) && !defined(TRANSLUCENT) + if (color.a < 0.005) // matches 0/255 and 1/255 + { + discard; } +#else +// The billboard is rendered twice. The opaque pass discards translucent fragments +// and the translucent pass discards opaque fragments. +#ifdef OPAQUE + if (color.a < 0.995) // matches < 254/255 + { + discard; + } +#else + if (color.a >= 0.995) // matches 254/255 and 255/255 + { + discard; + } +#endif +#endif - // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] - colorAccum.a /= ALPHA_ACCUM_MAX; - - #if defined(PICKING) - // If alpha is 0.0 there is nothing to pick - if (colorAccum.a == 0.0) { - discard; - } - out_FragColor = u_pickColor; - #elif defined(PICKING_VOXEL) - // If alpha is 0.0 there is nothing to pick - if (colorAccum.a == 0.0) { - discard; - } - vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex); - vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv)); - out_FragColor = vec4(megatextureId, sampleIndex); - #else - out_FragColor = colorAccum; - #endif + out_FragColor = czm_gammaCorrect(color); + czm_writeLogDepth(); } -`;var RF=`in vec2 position; - -uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; +`;var qL=`uniform float u_maxTotalPointSize; -void main() { - vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; - vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; - vec2 translation = 0.5 * (aabbMax + aabbMin); - vec2 scale = 0.5 * (aabbMax - aabbMin); - gl_Position = vec4(position * scale + translation, 0.0, 1.0); -} -`;var OF=`/* Intersection defines -#define INTERSECTION_COUNT ### -*/ +in vec4 positionHighAndSize; +in vec4 positionLowAndOutline; +in vec4 compressedAttribute0; // color, outlineColor, pick color +in vec4 compressedAttribute1; // show, translucency by distance, some free space +in vec4 scaleByDistance; // near, nearScale, far, farScale +in vec4 distanceDisplayConditionAndDisableDepthAndSplitDirection; // near, far, disableDepthTestDistance, splitDirection -#define NO_HIT (-czm_infinity) -#define INF_HIT (czm_infinity * 0.5) +out vec4 v_color; +out vec4 v_outlineColor; +out float v_innerPercent; +out float v_pixelDistance; +out vec4 v_pickColor; +out float v_splitDirection; -struct RayShapeIntersection { - vec4 entry; - vec4 exit; -}; +const float SHIFT_LEFT8 = 256.0; +const float SHIFT_RIGHT8 = 1.0 / 256.0; -vec4 intersectionMin(in vec4 intersect0, in vec4 intersect1) +void main() { - if (intersect0.w == NO_HIT) { - return intersect1; - } else if (intersect1.w == NO_HIT) { - return intersect0; - } - return (intersect0.w <= intersect1.w) ? intersect0 : intersect1; -} + // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition -vec4 intersectionMax(in vec4 intersect0, in vec4 intersect1) -{ - return (intersect0.w >= intersect1.w) ? intersect0 : intersect1; -} + // unpack attributes + vec3 positionHigh = positionHighAndSize.xyz; + vec3 positionLow = positionLowAndOutline.xyz; + float outlineWidthBothSides = 2.0 * positionLowAndOutline.w; + float totalSize = positionHighAndSize.w + outlineWidthBothSides; + float outlinePercent = outlineWidthBothSides / totalSize; + // Scale in response to browser-zoom. + totalSize *= czm_pixelRatio; -RayShapeIntersection intersectIntersections(in Ray ray, in RayShapeIntersection intersect0, in RayShapeIntersection intersect1) -{ - bool missed = (intersect0.entry.w == NO_HIT) || - (intersect1.entry.w == NO_HIT) || - (intersect0.exit.w < intersect1.entry.w) || - (intersect0.entry.w > intersect1.exit.w); - if (missed) { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - return RayShapeIntersection(miss, miss); - } + float temp = compressedAttribute1.x * SHIFT_RIGHT8; + float show = floor(temp); - vec4 entry = intersectionMax(intersect0.entry, intersect1.entry); - vec4 exit = intersectionMin(intersect0.exit, intersect1.exit); +#ifdef EYE_DISTANCE_TRANSLUCENCY + vec4 translucencyByDistance; + translucencyByDistance.x = compressedAttribute1.z; + translucencyByDistance.z = compressedAttribute1.w; - return RayShapeIntersection(entry, exit); -} + translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; -struct Intersections { - // Don't access these member variables directly - call the functions instead. + temp = compressedAttribute1.y * SHIFT_RIGHT8; + translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; +#endif - // Store an array of ray-surface intersections. Each intersection is composed of: - // .xyz for the surface normal at the intersection point - // .w for the T value - // The scale of the normal encodes the shape intersection type: - // length(intersection.xyz) = 1: positive shape entry - // length(intersection.xyz) = 2: positive shape exit - // length(intersection.xyz) = 3: negative shape entry - // length(intersection.xyz) = 4: negative shape exit - // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, - // so we need twice as many to track ray-*surface* intersections - vec4 intersections[INTERSECTION_COUNT * 2]; + /////////////////////////////////////////////////////////////////////////// - #if (INTERSECTION_COUNT > 1) - // Maintain state for future nextIntersection calls - int index; - int surroundCount; - bool surroundIsPositive; - #endif -}; + vec4 color; + vec4 outlineColor; + vec4 pickColor; -RayShapeIntersection getFirstIntersection(in Intersections ix) -{ - return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); -} + // compressedAttribute0.z => pickColor.rgb -vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) -{ - float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; - return vec4(intersection.xyz * scale, intersection.w); -} + temp = compressedAttribute0.z * SHIFT_RIGHT8; + pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor.r = floor(temp); -// Use defines instead of real functions because WebGL1 cannot access array with non-constant index. -#define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) -#define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) -#define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = encodeIntersectionType((intersection), int(!positive), (enter)) -#define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) + // compressedAttribute0.x => color.rgb -#if (INTERSECTION_COUNT > 1) -void initializeIntersections(inout Intersections ix) { - // Sort the intersections from min T to max T with bubble sort. - // Note: If this sorting function changes, some of the intersection test may - // need to be updated. Search for "bubble sort" to find those areas. - const int sortPasses = INTERSECTION_COUNT * 2 - 1; - for (int n = sortPasses; n > 0; --n) { - for (int i = 0; i < sortPasses; ++i) { - // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (i >= n) { break; } + temp = compressedAttribute0.x * SHIFT_RIGHT8; + color.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + color.g = (temp - floor(temp)) * SHIFT_LEFT8; + color.r = floor(temp); - vec4 intersect0 = ix.intersections[i + 0]; - vec4 intersect1 = ix.intersections[i + 1]; + // compressedAttribute0.y => outlineColor.rgb - bool inOrder = intersect0.w <= intersect1.w; + temp = compressedAttribute0.y * SHIFT_RIGHT8; + outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.r = floor(temp); - ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; - ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; - } - } + // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a - // Prepare initial state for nextIntersection - ix.index = 0; - ix.surroundCount = 0; - ix.surroundIsPositive = false; -} -#endif + temp = compressedAttribute0.w * SHIFT_RIGHT8; + pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor = pickColor / 255.0; -#if (INTERSECTION_COUNT > 1) -RayShapeIntersection nextIntersection(inout Intersections ix) { - vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); - RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor /= 255.0; + color.a = floor(temp); + color /= 255.0; - const int passCount = INTERSECTION_COUNT * 2; + /////////////////////////////////////////////////////////////////////////// - if (ix.index == passCount) { - return shapeIntersection; + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + + /////////////////////////////////////////////////////////////////////////// + +#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) + float lengthSq; + if (czm_sceneMode == czm_sceneMode2D) + { + // 2D camera distance is a special case + // treat all billboards as flattened to the z=0.0 plane + lengthSq = czm_eyeHeight2D.y; + } + else + { + lengthSq = dot(positionEC.xyz, positionEC.xyz); } +#endif - for (int i = 0; i < passCount; ++i) { - // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to continue instead. - if (i < ix.index) { - continue; - } +#ifdef EYE_DISTANCE_SCALING + totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq); +#endif + if (totalSize > 0.0) { + // Add padding for anti-aliasing on both sides. + totalSize += 3.0; + } - ix.index = i + 1; + // Clamp to max point size. + totalSize = min(totalSize, u_maxTotalPointSize); + // If size is too small, push vertex behind near plane for clipping. + // Note that context.minimumAliasedPointSize "will be at most 1.0". + if (totalSize < 1.0) + { + positionEC.xyz = vec3(0.0); + totalSize = 1.0; + } - surfaceIntersection = ix.intersections[i]; - int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); - bool currShapeIsPositive = intersectionType < 2; - bool enter = intMod(intersectionType, 2) == 0; + float translucency = 1.0; +#ifdef EYE_DISTANCE_TRANSLUCENCY + translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); + // push vertex behind near plane for clipping + if (translucency < 0.004) + { + positionEC.xyz = vec3(0.0); + } +#endif - ix.surroundCount += enter ? +1 : -1; - ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; +#ifdef DISTANCE_DISPLAY_CONDITION + float nearSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.x; + float farSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.y; + if (lengthSq < nearSq || lengthSq > farSq) { + // push vertex behind camera to force it to be clipped + positionEC.xyz = vec3(0.0, 0.0, 1.0); + } +#endif - // entering positive or exiting negative - if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { - shapeIntersection.entry = surfaceIntersection; - } + gl_Position = czm_projection * positionEC; + czm_vertexLogDepth(); - // exiting positive or entering negative after being inside positive - bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; - bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; - if (exitPositive || enterNegativeFromPositive) { - shapeIntersection.exit = surfaceIntersection; +#ifdef DISABLE_DEPTH_DISTANCE + float disableDepthTestDistance = distanceDisplayConditionAndDisableDepthAndSplitDirection.z; + if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) + { + disableDepthTestDistance = czm_minimumDisableDepthTestDistance; + } - // entry and exit have been found, so the loop can stop - if (exitPositive) { - // After exiting positive shape there is nothing left to intersect, so jump to the end index. - ix.index = passCount; - } - break; + if (disableDepthTestDistance != 0.0) + { + // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. + float zclip = gl_Position.z / gl_Position.w; + bool clipped = (zclip < -1.0 || zclip > 1.0); + if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) + { + // Position z on the near plane. + gl_Position.z = -gl_Position.w; +#ifdef LOG_DEPTH + czm_vertexLogDepth(vec4(czm_currentFrustum.x)); +#endif } } +#endif - return shapeIntersection; + v_color = color; + v_color.a *= translucency * show; + v_outlineColor = outlineColor; + v_outlineColor.a *= translucency * show; + + v_innerPercent = 1.0 - outlinePercent; + v_pixelDistance = 2.0 / totalSize; + gl_PointSize = totalSize * show; + gl_Position *= show; + + v_pickColor = pickColor; + v_splitDirection = distanceDisplayConditionAndDisableDepthAndSplitDirection.w; } +`;var fZe=Ns.SHOW_INDEX,A7=Ns.POSITION_INDEX,rde=Ns.COLOR_INDEX,dZe=Ns.OUTLINE_COLOR_INDEX,hZe=Ns.OUTLINE_WIDTH_INDEX,mZe=Ns.PIXEL_SIZE_INDEX,sde=Ns.SCALE_BY_DISTANCE_INDEX,ade=Ns.TRANSLUCENCY_BY_DISTANCE_INDEX,cde=Ns.DISTANCE_DISPLAY_CONDITION_INDEX,pZe=Ns.DISABLE_DEPTH_DISTANCE_INDEX,_Ze=Ns.SPLIT_DIRECTION_INDEX,E7=Ns.NUMBER_OF_PROPERTIES,bc={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepthAndSplitDirection:5};function Yf(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(E7),this._maxPixelSize=1,this._baseVolume=new ce,this._baseVolumeWC=new ce,this._baseVolume2D=new ce,this._boundingVolume=new ce,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,Io.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW,Be.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(Yf.prototype,{length:{get:function(){return S7(this),this._pointPrimitives.length}}});function lde(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Yf.prototype.add=function(e){let t=new Ns(e,this);return t._index=this._pointPrimitives.length,this._pointPrimitives.push(t),this._createVertexArray=!0,t};Yf.prototype.remove=function(e){return this.contains(e)?(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Yf.prototype.removeAll=function(){lde(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0};function S7(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;let t=[],n=e._pointPrimitives,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._pointPrimitives=t}}Yf.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]};Yf.prototype.contains=function(e){return l(e)&&e._pointPrimitiveCollection===this};Yf.prototype.get=function(e){return S7(this),this._pointPrimitives[e]};Yf.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<E7;++i){let o=n[i]===0?Be.STATIC_DRAW:Be.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function gZe(e,t,n){return new wp(e,[{index:bc.positionHighAndSize,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[A7]},{index:bc.positionLowAndShow,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[A7]},{index:bc.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[rde]},{index:bc.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[ade]},{index:bc.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[sde]},{index:bc.distanceDisplayConditionAndDisableDepthAndSplitDirection,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[cde]}],t)}var T7=new jn;function ude(e,t,n,i){let o=i._index,r=i._getActualPosition();e._mode===ne.SCENE3D&&(ce.expand(e._baseVolume,r,e._baseVolume),e._boundingVolumeDirty=!0),jn.fromCartesian(r,T7);let s=i.pixelSize,a=i.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,s+a);let c=n[bc.positionHighAndSize],u=T7.high;c(o,u.x,u.y,u.z,s);let f=n[bc.positionLowAndOutline],d=T7.low;f(o,d.x,d.y,d.z,a)}var Yz=65536,YL=256;function fde(e,t,n,i){let o=i._index,r=i.color,s=i.getPickId(t).color,a=i.outlineColor,c=H.floatToByte(r.red),u=H.floatToByte(r.green),f=H.floatToByte(r.blue),d=c*Yz+u*YL+f;c=H.floatToByte(a.red),u=H.floatToByte(a.green),f=H.floatToByte(a.blue);let p=c*Yz+u*YL+f;c=H.floatToByte(s.red),u=H.floatToByte(s.green),f=H.floatToByte(s.blue);let g=c*Yz+u*YL+f,m=H.floatToByte(r.alpha)*Yz+H.floatToByte(a.alpha)*YL+H.floatToByte(s.alpha),x=n[bc.compressedAttribute0];x(o,d,p,g,m)}function dde(e,t,n,i){let o=i._index,r=0,s=1,a=1,c=1,u=i.translucencyByDistance;l(u)&&(r=u.near,s=u.nearValue,a=u.far,c=u.farValue,(s!==1||c!==1)&&(e._shaderTranslucencyByDistance=!0));let f=i.show&&i.clusterShow;i.color.alpha===0&&i.outlineColor.alpha===0&&(f=!1),s=P.clamp(s,0,1),s=s===1?255:s*255|0;let d=(f?1:0)*YL+s;c=P.clamp(c,0,1),c=c===1?255:c*255|0;let p=c,g=n[bc.compressedAttribute1];g(o,d,p,r,a)}function hde(e,t,n,i){let o=i._index,r=n[bc.scaleByDistance],s=0,a=1,c=1,u=1,f=i.scaleByDistance;l(f)&&(s=f.near,a=f.nearValue,c=f.far,u=f.farValue,(a!==1||u!==1)&&(e._shaderScaleByDistance=!0)),r(o,s,a,c,u)}function mde(e,t,n,i){let o=i._index,r=n[bc.distanceDisplayConditionAndDisableDepthAndSplitDirection],s=0,a=Number.MAX_VALUE,c=i.distanceDisplayCondition;l(c)&&(s=c.near,a=c.far,s*=s,a*=a,e._shaderDistanceDisplayCondition=!0);let u=i.disableDepthTestDistance;u*=u,u>0&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1));let f=0,d=i.splitDirection;l(d)&&(f=d),r(o,s,a,u,f)}function yZe(e,t,n,i){ude(e,t,n,i),fde(e,t,n,i),dde(e,t,n,i),hde(e,t,n,i),mde(e,t,n,i)}function C7(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=Ns._computeActualPosition(f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ce.expand(s,d,s))}r&&ce.fromPoints(a,s)}function xZe(e,t){let n=t.mode,i=e._pointPrimitives,o=e._pointPrimitivesToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&C7(e,i,i.length,t,r,!0)):n===ne.MORPHING?C7(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&C7(e,o,e._pointPrimitivesToUpdateIndex,t,r,!1)}function bZe(e,t,n){let o=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*e._maxPixelSize;n.radius+=o}var TZe=[];Yf.prototype.update=function(e){if(S7(this),!this.show)return;this._maxTotalPointSize=Ft.maximumAliasedPointSize,xZe(this,e);let n=this._pointPrimitives.length,i=this._pointPrimitivesToUpdate,o=this._pointPrimitivesToUpdateIndex,r=this._propertiesChanged,s=this._createVertexArray,a,c=e.context,u=e.passes,f=u.pick;if(s||!f&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let v=0;v<E7;++v)r[v]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=gZe(c,n,this._buffersUsage),a=this._vaf.writers;for(let v=0;v<n;++v){let D=this._pointPrimitives[v];D._dirty=!1,yZe(this,c,a,D)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(o>0){let v=TZe;v.length=0,(r[A7]||r[hZe]||r[mZe])&&v.push(ude),(r[rde]||r[dZe])&&v.push(fde),(r[fZe]||r[ade])&&v.push(dde),r[sde]&&v.push(hde),(r[cde]||r[pZe]||r[_Ze])&&v.push(mde);let D=v.length;if(a=this._vaf.writers,o/n>.1){for(let O=0;O<o;++O){let R=i[O];R._dirty=!1;for(let M=0;M<D;++M)v[M](this,c,a,R)}this._vaf.commit()}else{for(let O=0;O<o;++O){let R=i[O];R._dirty=!1;for(let M=0;M<D;++M)v[M](this,c,a,R);this._vaf.subCommit(R._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(o>n*1.5&&(i.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ce.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let d,p=F.IDENTITY;e.mode===ne.SCENE3D?(p=this.modelMatrix,d=ce.clone(this._baseVolumeWC,this._boundingVolume)):d=ce.clone(this._baseVolume2D,this._boundingVolume),bZe(this,e,d);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===Io.OPAQUE||this._blendOption===Io.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=Ve.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===Io.TRANSLUCENT||this._blendOption===Io.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=Ve.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!1,blending:dn.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let m,x;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(m=new Ue({sources:[qL]}),this._shaderScaleByDistance&&m.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&m.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&m.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&m.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===Io.OPAQUE_AND_TRANSLUCENT&&(x=new Ue({defines:["OPAQUE"],sources:[Ky]}),this._sp=tn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc}),x=new Ue({defines:["TRANSLUCENT"],sources:[Ky]}),this._spTranslucent=tn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc})),this._blendOption===Io.OPAQUE&&(x=new Ue({sources:[Ky]}),this._sp=tn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc})),this._blendOption===Io.TRANSLUCENT&&(x=new Ue({sources:[Ky]}),this._spTranslucent=tn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:bc})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let b,T,A,C,E=e.commandList;if(u.render||f){let v=this._colorCommands,D=this._blendOption===Io.OPAQUE,O=this._blendOption===Io.OPAQUE_AND_TRANSLUCENT;b=this._vaf.va,T=b.length,v.length=T;let R=O?T*2:T;for(C=0;C<R;++C){let M=D||O&&C%2===0;A=v[C],l(A)||(A=v[C]=new Ze),A.primitiveType=Ne.POINTS,A.pass=M||!O?ve.OPAQUE:ve.TRANSLUCENT,A.owner=this;let N=O?Math.floor(C/2):C;A.boundingVolume=d,A.modelMatrix=p,A.shaderProgram=M?this._sp:this._spTranslucent,A.uniformMap=this._uniforms,A.vertexArray=b[N].va,A.renderState=M?this._rsOpaque:this._rsTranslucent,A.debugShowBoundingVolume=this.debugShowBoundingVolume,A.pickId="v_pickColor",E.push(A)}}};Yf.prototype.isDestroyed=function(){return!1};Yf.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),lde(this._pointPrimitives),ue(this)};var OE=Yf;function uh(e){e=y(e,y.EMPTY_OBJECT),this._enabled=y(e.enabled,!1),this._pixelRange=y(e.pixelRange,80),this._minimumClusterSize=y(e.minimumClusterSize,2),this._clusterBillboards=y(e.clusterBillboards,!0),this._clusterLabels=y(e.clusterLabels,!0),this._clusterPoints=y(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new me,this.show=y(e.show,!0)}function pde(e,t){e.x-=t,e.y-=t,e.width+=t*2,e.height+=t*2}var CZe=new We;function _de(e,t,n,i,o){if(l(e._labelCollection)&&i._clusterLabels?o=Fy.getScreenSpaceBoundingBox(e,t,o):l(e._billboardCollection)&&i._clusterBillboards?o=_o.getScreenSpaceBoundingBox(e,t,o):l(e._pointPrimitiveCollection)&&i._clusterPoints&&(o=Ns.getScreenSpaceBoundingBox(e,t,o)),pde(o,n),i._clusterLabels&&!l(e._labelCollection)&&l(e.id)&&yde(i,e.id.id)&&l(e.id._label)){let r=i._collectionIndicesByEntity[e.id.id].labelIndex,s=i._labelCollection.get(r),a=Fy.getScreenSpaceBoundingBox(s,t,CZe);pde(a,n),o=We.union(o,a,o)}return o}function AZe(e,t){if(e.clusterShow=!0,!l(e._labelCollection)&&l(e.id)&&yde(t,e.id.id)&&l(e.id._label)){let n=t._collectionIndicesByEntity[e.id.id].labelIndex,i=t._labelCollection.get(n);i.clusterShow=!0}}function gde(e,t,n,i){let o={billboard:i._clusterBillboardCollection.add(),label:i._clusterLabelCollection.add(),point:i._clusterPointCollection.add()};o.billboard.show=!1,o.point.show=!1,o.label.show=!0,o.label.text=t.toLocaleString(),o.label.id=n,o.billboard.position=o.label.position=o.point.position=e,i._clusterEvent.raiseEvent(n,o)}function yde(e,t){return l(e)&&l(e._collectionIndicesByEntity[t])&&l(e._collectionIndicesByEntity[t].labelIndex)}function v7(e,t,n,i,o){if(!l(e))return;let r=e.length;for(let s=0;s<r;++s){let a=e.get(s);if(a.clusterShow=!1,!a.show||o._scene.mode===ne.SCENE3D&&!i.isPointVisible(a.position))continue;let c=o._clusterLabels&&l(a._labelCollection),u=o._clusterBillboards&&l(a.id._billboard),f=o._clusterPoints&&l(a.id._point);if(c&&(f||u))continue;let d=a.computeScreenSpacePosition(n);l(d)&&t.push({index:s,collection:e,clustered:!1,coord:d})}}var EZe=new We,SZe=new We,vZe=new We;function wZe(e){return function(t){if(l(t)&&t<.05||!e.enabled)return;let n=e._scene,i=e._labelCollection,o=e._billboardCollection,r=e._pointCollection;if(!l(i)&&!l(o)&&!l(r)||!e._clusterBillboards&&!e._clusterLabels&&!e._clusterPoints)return;let s=e._clusterLabelCollection,a=e._clusterBillboardCollection,c=e._clusterPointCollection;l(s)?s.removeAll():s=e._clusterLabelCollection=new xm({scene:n}),l(a)?a.removeAll():a=e._clusterBillboardCollection=new Su({scene:n}),l(c)?c.removeAll():c=e._clusterPointCollection=new OE;let u=e._pixelRange,f=e._minimumClusterSize,d=e._previousClusters,p=[],g=e._previousHeight,m=n.camera.positionCartographic.height,x=n.ellipsoid,b=n.camera.positionWC,T=new F_(x,b),A=[];e._clusterLabels&&v7(i,A,n,T,e),e._clusterBillboards&&v7(o,A,n,T,e),e._clusterPoints&&v7(r,A,n,T,e);let C,E,v,D,O,R,M,N,_,S,w,I;if(A.length>0){let L=new Ax(A.length,64,Uint32Array);for(let B=0;B<A.length;++B)L.add(A[B].coord.x,A[B].coord.y);if(L.finish(),m<g)for(v=d.length,C=0;C<v;++C){let B=d[C];if(!T.isPointVisible(B.position))continue;let U=_o._computeScreenSpacePosition(F.IDENTITY,B.position,h.ZERO,z.ZERO,n);if(!l(U))continue;let V=1-m/g,G=B.width=B.width*V,k=B.height=B.height*V;G=Math.max(G,B.minimumWidth),k=Math.max(k,B.minimumHeight);let W=U.x-G*.5,Y=U.y-k*.5,Q=U.x+G,j=U.y+k;for(O=L.range(W,Y,Q,j),R=O.length,S=0,_=[],E=0;E<R;++E)M=O[E],N=A[M],N.clustered||(++S,w=N.collection,I=N.index,_.push(w.get(I).id));if(S>=f)for(gde(B.position,S,_,e),p.push(B),E=0;E<R;++E)A[O[E]].clustered=!0}for(v=A.length,C=0;C<v;++C){let B=A[C];if(B.clustered)continue;B.clustered=!0,w=B.collection,I=B.index;let U=w.get(I);D=_de(U,B.coord,u,e,EZe);let V=We.clone(D,SZe);O=L.range(D.x,D.y,D.x+D.width,D.y+D.height),R=O.length;let G=h.clone(U.position);for(S=1,_=[U.id],E=0;E<R;++E)if(M=O[E],N=A[M],!N.clustered){let k=N.collection.get(N.index),W=_de(k,N.coord,u,e,vZe);h.add(k.position,G,G),We.union(V,W,V),++S,_.push(k.id)}if(S>=f){let k=h.multiplyByScalar(G,1/S,G);for(gde(k,S,_,e),p.push({position:k,width:V.width,height:V.height,minimumWidth:D.width,minimumHeight:D.height}),E=0;E<R;++E)A[O[E]].clustered=!0}else AZe(U,e)}}s.length===0&&(s.destroy(),e._clusterLabelCollection=void 0),a.length===0&&(a.destroy(),e._clusterBillboardCollection=void 0),c.length===0&&(c.destroy(),e._clusterPointCollection=void 0),e._previousClusters=p,e._previousHeight=m}}uh.prototype._initialize=function(e){this._scene=e;let t=wZe(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)};Object.defineProperties(uh.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}});function D7(e,t,n,i){return function(o){let r=this[e];l(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});let s=this._collectionIndicesByEntity[o.id];if(l(s)||(s=this._collectionIndicesByEntity[o.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),l(r)&&l(s[i]))return r.get(s[i]);l(r)||(r=this[e]=new t({scene:this._scene}));let a,c,u=this[n];u.length>0?(a=u.shift(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let f=this;return Promise.resolve().then(function(){f._clusterDirty=!0}),c}}function I7(e,t){let n=e._collectionIndicesByEntity[t];!l(n.billboardIndex)&&!l(n.labelIndex)&&!l(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}uh.prototype.getLabel=D7("_labelCollection",xm,"_unusedLabelIndices","labelIndex");uh.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._labelCollection)||!l(t)||!l(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,I7(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};uh.prototype.getBillboard=D7("_billboardCollection",Su,"_unusedBillboardIndices","billboardIndex");uh.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._billboardCollection)||!l(t)||!l(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,I7(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};uh.prototype.getPoint=D7("_pointCollection",OE,"_unusedPointIndices","pointIndex");uh.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._pointCollection)||!l(t)||!l(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,I7(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function w7(e){if(!l(e))return;let t=e.length;for(let n=0;n<t;++n)e.get(n).clusterShow=!0}function DZe(e){e.enabled||(l(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),l(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),l(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,w7(e._labelCollection),w7(e._billboardCollection),w7(e._pointCollection))}uh.prototype.update=function(e){if(!this.show)return;let t;l(this._labelCollection)&&this._labelCollection.length>0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),l(this._billboardCollection)&&this._billboardCollection.length>0&&!l(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,DZe(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),l(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),l(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),l(this._clusterPointCollection)&&this._clusterPointCollection.update(e),l(this._labelCollection)&&this._labelCollection.update(e),l(this._billboardCollection)&&this._billboardCollection.update(e),l(this._pointCollection)&&this._pointCollection.update(e)};uh.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),l(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var Pu=uh;function P7(e){this._name=e,this._clock=void 0,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new na(this),this._entityCluster=new Pu}Object.defineProperties(P7.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Zr.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});P7.prototype.update=function(e){return!0};var XL=P7;var xde={};xde.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,u=new Float64Array(c*3),f,d=0,p=0,g=o?a*3:0,m=o?(a+i)*3:i*3;for(f=0;f<i;f++){let x=f/i*P.TWO_PI,b=Math.cos(x),T=Math.sin(x),A=b*n,C=T*n,E=b*t,v=T*t;u[p+g]=A,u[p+g+1]=C,u[p+g+2]=s,u[p+m]=E,u[p+m+1]=v,u[p+m+2]=r,p+=3,o&&(u[d++]=A,u[d++]=C,u[d++]=s,u[d++]=E,u[d++]=v,u[d++]=r)}return u};var Zb=xde;var R7=new z,IZe=new h,PZe=new h,RZe=new h,OZe=new h;function B_(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.vertexFormat,Ie.DEFAULT),r=y(e.slices,128);this._length=t,this._topRadius=n,this._bottomRadius=i,this._vertexFormat=Ie.clone(o),this._slices=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}B_.packedLength=Ie.packedLength+5;B_.pack=function(e,t,n){return n=y(n,0),Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n]=y(e._offsetAttribute,-1),t};var bde=new Ie,ME={vertexFormat:bde,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};B_.unpack=function(e,t,n){t=y(t,0);let i=Ie.unpack(e,t,bde);t+=Ie.packedLength;let o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._vertexFormat=Ie.clone(i,n._vertexFormat),n._length=o,n._topRadius=r,n._bottomRadius=s,n._slices=a,n._offsetAttribute=c===-1?void 0:c,n):(ME.length=o,ME.topRadius=r,ME.bottomRadius=s,ME.slices=a,ME.offsetAttribute=c===-1?void 0:c,new B_(ME))};B_.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._vertexFormat,r=e._slices;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=r+r,a=r+s,c=s+s,u=Zb.computePositions(t,n,i,r,!0),f=o.st?new Float32Array(c*2):void 0,d=o.normal?new Float32Array(c*3):void 0,p=o.tangent?new Float32Array(c*3):void 0,g=o.bitangent?new Float32Array(c*3):void 0,m,x=o.normal||o.tangent||o.bitangent;if(x){let O=o.tangent||o.bitangent,R=0,M=0,N=0,_=Math.atan2(i-n,t),S=IZe;S.z=Math.sin(_);let w=Math.cos(_),I=RZe,L=PZe;for(m=0;m<r;m++){let B=m/r*P.TWO_PI,U=w*Math.cos(B),V=w*Math.sin(B);x&&(S.x=U,S.y=V,O&&(I=h.normalize(h.cross(h.UNIT_Z,S,I),I)),o.normal&&(d[R++]=S.x,d[R++]=S.y,d[R++]=S.z,d[R++]=S.x,d[R++]=S.y,d[R++]=S.z),o.tangent&&(p[M++]=I.x,p[M++]=I.y,p[M++]=I.z,p[M++]=I.x,p[M++]=I.y,p[M++]=I.z),o.bitangent&&(L=h.normalize(h.cross(S,I,L),L),g[N++]=L.x,g[N++]=L.y,g[N++]=L.z,g[N++]=L.x,g[N++]=L.y,g[N++]=L.z))}for(m=0;m<r;m++)o.normal&&(d[R++]=0,d[R++]=0,d[R++]=-1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[N++]=0,g[N++]=-1,g[N++]=0);for(m=0;m<r;m++)o.normal&&(d[R++]=0,d[R++]=0,d[R++]=1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[N++]=0,g[N++]=1,g[N++]=0)}let b=12*r-12,T=Fe.createTypedArray(c,b),A=0,C=0;for(m=0;m<r-1;m++)T[A++]=C,T[A++]=C+2,T[A++]=C+3,T[A++]=C,T[A++]=C+3,T[A++]=C+1,C+=2;for(T[A++]=s-2,T[A++]=0,T[A++]=1,T[A++]=s-2,T[A++]=1,T[A++]=s-1,m=1;m<r-1;m++)T[A++]=s+m+1,T[A++]=s+m,T[A++]=s;for(m=1;m<r-1;m++)T[A++]=a,T[A++]=a+m,T[A++]=a+m+1;let E=0;if(o.st){let O=Math.max(n,i);for(m=0;m<c;m++){let R=h.fromArray(u,m*3,OZe);f[E++]=(R.x+O)/(2*O),f[E++]=(R.y+O)/(2*O)}}let v=new pn;o.position&&(v.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})),o.normal&&(v.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:d})),o.tangent&&(v.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),o.bitangent&&(v.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),o.st&&(v.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),R7.x=t*.5,R7.y=Math.max(i,n);let D=new ce(h.ZERO,z.magnitude(R7));if(l(e._offsetAttribute)){t=u.length;let O=e._offsetAttribute===ln.NONE?0:1,R=new Uint8Array(t/3).fill(O);v.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:R})}return new ft({attributes:v,indices:T,primitiveType:Ne.TRIANGLES,boundingSphere:D,offsetAttribute:e._offsetAttribute})};var O7;B_.getUnitCylinder=function(){return l(O7)||(O7=B_.createGeometry(new B_({topRadius:1,bottomRadius:1,length:1,vertexFormat:Ie.POSITION_ONLY}))),O7};var KL=B_;var M7=new z;function LE(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.slices,128),r=Math.max(y(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=n,this._bottomRadius=i,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}LE.packedLength=6;LE.pack=function(e,t,n){return n=y(n,0),t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var $b={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};LE.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._length=i,n._topRadius=o,n._bottomRadius=r,n._slices=s,n._numberOfVerticalLines=a,n._offsetAttribute=c===-1?void 0:c,n):($b.length=i,$b.topRadius=o,$b.bottomRadius=r,$b.slices=s,$b.numberOfVerticalLines=a,$b.offsetAttribute=c===-1?void 0:c,new LE($b))};LE.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._slices,r=e._numberOfVerticalLines;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=o*2,a=Zb.computePositions(t,n,i,o,!1),c=o*2,u;if(r>0){let x=Math.min(r,o);u=Math.round(o/x),c+=x}let f=Fe.createTypedArray(s,c*2),d=0,p;for(p=0;p<o-1;p++)f[d++]=p,f[d++]=p+1,f[d++]=p+o,f[d++]=p+1+o;if(f[d++]=o-1,f[d++]=0,f[d++]=o+o-1,f[d++]=o,r>0)for(p=0;p<o;p+=u)f[d++]=p,f[d++]=p+o;let g=new pn;g.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:a}),M7.x=t*.5,M7.y=Math.max(i,n);let m=new ce(h.ZERO,z.magnitude(M7));if(l(e._offsetAttribute)){t=a.length;let x=e._offsetAttribute===ln.NONE?0:1,b=new Uint8Array(t/3).fill(x);g.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}return new ft({attributes:g,indices:f,primitiveType:Ne.LINES,boundingSphere:m,offsetAttribute:e._offsetAttribute})};var ZL=LE;var Tde=h.ZERO,Cde=new h,MZe=new h,Ade=new H;function LZe(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function Ru(e,t){ri.call(this,{entity:e,scene:t,geometryOptions:new LZe(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}l(Object.create)&&(Ru.prototype=Object.create(ri.prototype),Ru.prototype.constructor=Ru);Object.defineProperties(Ru.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Ru.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Un.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Ade)),l(a)||(a=H.WHITE),s.color=Wt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Tde,Cde))),new It({id:t,geometry:new KL(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:s})};Ru.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Ade),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Tde,Cde))),new It({id:t,geometry:new ZL(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:r})};Ru.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};Ru.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.length)||!l(t.topRadius)||!l(t.bottomRadius)||ri.prototype._isHidden.call(this,e,t)};Ru.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.length.isConstant||!t.topRadius.isConstant||!t.bottomRadius.isConstant||!q.isConstant(t.slices)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)};Ru.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,qe.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,i.length=t.length.getValue(ze.MINIMUM_VALUE),i.topRadius=t.topRadius.getValue(ze.MINIMUM_VALUE),i.bottomRadius=t.bottomRadius.getValue(ze.MINIMUM_VALUE),i.slices=q.getValueOrUndefined(t.slices,ze.MINIMUM_VALUE),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,ze.MINIMUM_VALUE),i.offsetAttribute=n!==qe.NONE?ln.ALL:void 0};Ru.prototype._onEntityPropertyChanged=zp;Ru.DynamicGeometryUpdater=NE;function NE(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(NE.prototype=Object.create(oi.prototype),NE.prototype.constructor=NE);NE.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,MZe);return!l(o)||!l(i.length)||!l(i.topRadius)||!l(i.bottomRadius)||oi.prototype._isHidden.call(this,e,t,n)};NE.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,qe.NONE),o=this._options;o.length=q.getValueOrUndefined(t.length,n),o.topRadius=q.getValueOrUndefined(t.topRadius,n),o.bottomRadius=q.getValueOrUndefined(t.bottomRadius,n),o.slices=q.getValueOrUndefined(t.slices,n),o.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),o.offsetAttribute=i!==qe.NONE?ln.ALL:void 0};var $L=Ru;var NZe={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2},$r=Object.freeze(NZe);var FZe={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2},To=Object.freeze(FZe);var BZe={NONE:0,HOLD:1,EXTRAPOLATE:2},Ou=Object.freeze(BZe);var Ede=Wo(ou(),1);function kZe(e){let t=new Ede.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),n}var k_=kZe;var VZe=P.factorial;function L7(e,t,n,i,o,r){let s=0,a,c,u;if(i>0){for(c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(r.push(c),s+=L7(e,t,n,i-1,o,r),r.splice(r.length-1,1))}return s}for(s=1,c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(s*=e-n[t[c]])}return s}var Xz={type:"Hermite"};Xz.getRequiredDataPoints=function(e,t){return t=y(t,0),Math.max(Math.floor((e+1)/(t+1)),2)};Xz.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c,u,f,d=t.length,p=new Array(i);for(r=0;r<i;r++){o[r]=0;let b=new Array(d);for(p[r]=b,s=0;s<d;s++)b[s]=[]}let g=d,m=new Array(g);for(r=0;r<g;r++)m[r]=r;let x=d-1;for(c=0;c<i;c++){for(s=0;s<g;s++)f=m[s]*i+c,p[c][0].push(n[f]);for(r=1;r<g;r++){let b=!1;for(s=0;s<g-r;s++){let T=t[m[s]],A=t[m[s+r]],C;A-T<=0?(f=m[s]*i+i*r+c,C=n[f],p[c][r].push(C/VZe(r))):(C=p[c][r-1][s+1]-p[c][r-1][s],p[c][r].push(C/(A-T))),b=b||C!==0}b||(x=r-1)}}for(a=0,u=0;a<=u;a++)for(r=a;r<=x;r++){let b=L7(e,m,t,a,r,[]);for(c=0;c<i;c++){let T=p[c][r][0];o[c+a*i]+=T*b}}return o};var UZe=[];Xz.interpolate=function(e,t,n,i,o,r,s){let a=i*(r+1);l(s)||(s=new Array(a));for(let T=0;T<a;T++)s[T]=0;let c=t.length,u=new Array(c*(o+1)),f;for(f=0;f<c;f++)for(let T=0;T<o+1;T++)u[f*(o+1)+T]=f;let d=u.length,p=UZe,g=zZe(p,u,t,n,i,o),m=[],x=d*(d+1)/2,b=Math.min(g,r);for(let T=0;T<=b;T++)for(f=T;f<=g;f++){m.length=0;let A=L7(e,u,t,T,f,m),C=Math.floor(f*(1-f)/2)+d*f;for(let E=0;E<i;E++){let v=Math.floor(E*x),D=p[v+C];s[E+T*i]+=D*A}}return s};function zZe(e,t,n,i,o,r){let s,a,c=-1,u=t.length,f=u*(u+1)/2;for(let d=0;d<o;d++){let p=Math.floor(d*f);for(s=0;s<u;s++)a=t[s]*o*(r+1)+d,e[p+s]=i[a];for(let g=1;g<u;g++){let m=0,x=Math.floor(g*(1-g)/2)+u*g,b=!1;for(s=0;s<u-g;s++){let T=n[t[s]],A=n[t[s+g]],C,E;if(A-T<=0)a=t[s]*o*(r+1)+o*g+d,C=i[a],E=C/P.factorial(g),e[p+x+m]=E,m++;else{let v=Math.floor((g-1)*(2-g)/2)+u*(g-1);C=e[p+v+s+1]-e[p+v+s],E=C/(A-T),e[p+x+m]=E,m++}b=b||C!==0}b&&(c=Math.max(c,g))}}return c}var QL=Xz;var N7={type:"Lagrange"};N7.getRequiredDataPoints=function(e){return Math.max(e+1,2)};N7.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a=t.length;for(r=0;r<i;r++)o[r]=0;for(r=0;r<a;r++){let c=1;for(s=0;s<a;s++)if(s!==r){let u=t[r]-t[s];c*=(e-t[s])/u}for(s=0;s<i;s++)o[s]+=c*n[r*i+s]}return o};var JL=N7;var F7={type:"Linear"};F7.getRequiredDataPoints=function(e){return 2};F7.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c=t[0],u=t[1];for(r=0;r<i;r++)s=n[r],a=n[r+i],o[r]=((a-s)*e+u*s-c*a)/(u-c);return o};var Qb=F7;function Tc(e,t,n){this.clock=y(e,0),this.cone=y(t,0),this.magnitude=y(n,1)}Tc.fromCartesian3=function(e,t){let n=e.x,i=e.y,o=e.z,r=n*n+i*i;return l(t)||(t=new Tc),t.clock=Math.atan2(i,n),t.cone=Math.atan2(Math.sqrt(r),o),t.magnitude=Math.sqrt(r+o*o),t};Tc.clone=function(e,t){if(l(e))return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new Tc(e.clock,e.cone,e.magnitude)};Tc.normalize=function(e,t){return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new Tc(e.clock,e.cone,1)};Tc.equals=function(e,t){return e===t||l(e)&&l(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude};Tc.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.clock-t.clock)<=n&&Math.abs(e.cone-t.cone)<=n&&Math.abs(e.magnitude-t.magnitude)<=n};Tc.prototype.equals=function(e){return Tc.equals(this,e)};Tc.prototype.clone=function(e){return Tc.clone(this,e)};Tc.prototype.equalsEpsilon=function(e,t){return Tc.equalsEpsilon(this,e,t)};Tc.prototype.toString=function(){return`(${this.clock}, ${this.cone}, ${this.magnitude})`};var eN=Tc;var rN=Wo(ou(),1);var B7;typeof performance<"u"&&typeof performance.now=="function"&&isFinite(performance.now())?B7=function(){return performance.now()}:B7=function(){return Date.now()};var Ei=B7;function k7(e){e=y(e,y.EMPTY_OBJECT);let t=e.currentTime,n=e.startTime,i=e.stopTime;l(t)?t=K.clone(t):l(n)?t=K.clone(n):l(i)?t=K.addDays(i,-1,new K):t=K.now(),l(n)?n=K.clone(n):n=K.clone(t),l(i)?i=K.clone(i):i=K.addDays(n,1,new K),this.startTime=n,this.stopTime=i,this.clockRange=y(e.clockRange,$r.UNBOUNDED),this.canAnimate=y(e.canAnimate,!0),this.onTick=new me,this.onStop=new me,this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=Ei(),this.currentTime=t,this.multiplier=y(e.multiplier,1),this.shouldAnimate=y(e.shouldAnimate,!1),this.clockStep=y(e.clockStep,To.SYSTEM_CLOCK_MULTIPLIER)}Object.defineProperties(k7.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){K.equals(this._currentTime,e)||(this._clockStep===To.SYSTEM_CLOCK&&(this._clockStep=To.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===To.SYSTEM_CLOCK&&(this._clockStep=To.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===To.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=K.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===To.SYSTEM_CLOCK&&(this._clockStep=To.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}});k7.prototype.tick=function(){let e=Ei(),t=K.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){let n=this._clockStep;if(n===To.SYSTEM_CLOCK)t=K.now(t);else{let i=this._multiplier;if(n===To.TICK_DEPENDENT)t=K.addSeconds(t,i,t);else{let a=e-this._lastSystemTime;t=K.addSeconds(t,i*(a/1e3),t)}let o=this.clockRange,r=this.startTime,s=this.stopTime;if(o===$r.CLAMPED)K.lessThan(t,r)?t=K.clone(r,t):K.greaterThan(t,s)&&(t=K.clone(s,t),this.onStop.raiseEvent(this));else if(o===$r.LOOP_STOP)for(K.lessThan(t,r)&&(t=K.clone(r,t));K.greaterThan(t,s);)t=K.addSeconds(r,K.secondsDifference(t,s),t),this.onStop.raiseEvent(this)}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t};var fh=k7;function Jb(){this._definitionChanged=new me,this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}Object.defineProperties(Jb.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:jc("startTime"),stopTime:jc("stopTime"),currentTime:jc("currentTime"),clockRange:jc("clockRange"),clockStep:jc("clockStep"),multiplier:jc("multiplier")});Jb.prototype.clone=function(e){return l(e)||(e=new Jb),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e};Jb.prototype.equals=function(e){return this===e||l(e)&&K.equals(this.startTime,e.startTime)&&K.equals(this.stopTime,e.stopTime)&&K.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier};Jb.prototype.merge=function(e){this.startTime=y(this.startTime,e.startTime),this.stopTime=y(this.stopTime,e.stopTime),this.currentTime=y(this.currentTime,e.currentTime),this.clockRange=y(this.clockRange,e.clockRange),this.clockStep=y(this.clockStep,e.clockStep),this.multiplier=y(this.multiplier,e.multiplier)};Jb.prototype.getValue=function(e){return l(e)||(e=new fh),e.startTime=y(this.startTime,e.startTime),e.stopTime=y(this.stopTime,e.stopTime),e.currentTime=y(this.currentTime,e.currentTime),e.clockRange=y(this.clockRange,e.clockRange),e.multiplier=y(this.multiplier,e.multiplier),e.clockStep=y(this.clockStep,e.clockStep),e};var dh=Jb;var HZe=H.WHITE,GZe=.1,WZe=new z(8,8),jZe=new z(0,0),qZe=new z(1,1);function FE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}Object.defineProperties(FE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._cellAlpha)&&q.isConstant(this._lineCount)&&q.isConstant(this._lineThickness)&&q.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),cellAlpha:le("cellAlpha"),lineCount:le("lineCount"),lineThickness:le("lineThickness"),lineOffset:le("lineOffset")});FE.prototype.getType=function(e){return"Grid"};var YZe=new K;FE.prototype.getValue=function(e,t){return l(e)||(e=K.now(YZe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,HZe,t.color),t.cellAlpha=q.getValueOrDefault(this._cellAlpha,e,GZe),t.lineCount=q.getValueOrClonedDefault(this._lineCount,e,WZe,t.lineCount),t.lineThickness=q.getValueOrClonedDefault(this._lineThickness,e,qZe,t.lineThickness),t.lineOffset=q.getValueOrClonedDefault(this._lineOffset,e,jZe,t.lineOffset),t};FE.prototype.equals=function(e){return this===e||e instanceof FE&&q.equals(this._color,e._color)&&q.equals(this._cellAlpha,e._cellAlpha)&&q.equals(this._lineCount,e._lineCount)&&q.equals(this._lineThickness,e._lineThickness)&&q.equals(this._lineOffset,e._lineOffset)};var BE=FE;function kE(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(kE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});kE.prototype.getType=function(e){return"PolylineArrow"};var XZe=new K;kE.prototype.getValue=function(e,t){return l(e)||(e=K.now(XZe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,H.WHITE,t.color),t};kE.prototype.equals=function(e){return this===e||e instanceof kE&&q.equals(this._color,e._color)};var VE=kE;var KZe=H.WHITE,ZZe=H.TRANSPARENT,$Ze=16,QZe=255;function UE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(UE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._gapColor)&&q.isConstant(this._dashLength)&&q.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),gapColor:le("gapColor"),dashLength:le("dashLength"),dashPattern:le("dashPattern")});UE.prototype.getType=function(e){return"PolylineDash"};var JZe=new K;UE.prototype.getValue=function(e,t){return l(e)||(e=K.now(JZe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,KZe,t.color),t.gapColor=q.getValueOrClonedDefault(this._gapColor,e,ZZe,t.gapColor),t.dashLength=q.getValueOrDefault(this._dashLength,e,$Ze,t.dashLength),t.dashPattern=q.getValueOrDefault(this._dashPattern,e,QZe,t.dashPattern),t};UE.prototype.equals=function(e){return this===e||e instanceof UE&&q.equals(this._color,e._color)&&q.equals(this._gapColor,e._gapColor)&&q.equals(this._dashLength,e._dashLength)&&q.equals(this._dashPattern,e._dashPattern)};var zE=UE;var e$e=H.WHITE,t$e=.25,n$e=1;function HE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(HE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),glowPower:le("glowPower"),taperPower:le("taperPower")});HE.prototype.getType=function(e){return"PolylineGlow"};var i$e=new K;HE.prototype.getValue=function(e,t){return l(e)||(e=K.now(i$e)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,e$e,t.color),t.glowPower=q.getValueOrDefault(this._glowPower,e,t$e,t.glowPower),t.taperPower=q.getValueOrDefault(this._taperPower,e,n$e,t.taperPower),t};HE.prototype.equals=function(e){return this===e||e instanceof HE&&q.equals(this._color,e._color)&&q.equals(this._glowPower,e._glowPower)&&q.equals(this._taperPower,e._taperPower)};var GE=HE;var o$e=H.WHITE,r$e=H.BLACK,s$e=1;function WE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}Object.defineProperties(WE.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._outlineColor)&&q.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth")});WE.prototype.getType=function(e){return"PolylineOutline"};var a$e=new K;WE.prototype.getValue=function(e,t){return l(e)||(e=K.now(a$e)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,o$e,t.color),t.outlineColor=q.getValueOrClonedDefault(this._outlineColor,e,r$e,t.outlineColor),t.outlineWidth=q.getValueOrDefault(this._outlineWidth,e,s$e),t};WE.prototype.equals=function(e){return this===e||e instanceof WE&&q.equals(this._color,e._color)&&q.equals(this._outlineColor,e._outlineColor)&&q.equals(this._outlineWidth,e._outlineWidth)};var Zy=WE;function V_(e,t){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new gr,this._referenceFrame=y(t,zi.FIXED),this.setValue(e)}Object.defineProperties(V_.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var c$e=new K;V_.prototype.getValue=function(e,t){return l(e)||(e=K.now(c$e)),this.getValueInReferenceFrame(e,zi.FIXED,t)};V_.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._value;if(!l(i))return;let o=i.length;l(n)||(n=new Array(o));let r=0,s=0;for(;r<o;){let c=i[r].getValueInReferenceFrame(e,t,n[r]);l(c)&&(n[s]=c,s++),r++}return n.length=s,n};V_.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,V_.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};V_.prototype.equals=function(e){return this===e||e instanceof V_&&this._referenceFrame===e._referenceFrame&&q.arrayEquals(this._value,e._value)};V_.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var U_=V_;function $y(e){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new gr,this.setValue(e)}Object.defineProperties($y.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});var l$e=new K;$y.prototype.getValue=function(e,t){l(e)||(e=K.now(l$e));let n=this._value;if(!l(n))return;let i=n.length;l(t)||(t=new Array(i));let o=0,r=0;for(;o<i;){let a=this._value[o].getValue(e,t[o]);l(a)&&(t[r]=a,r++),o++}return t.length=r,t};$y.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,$y.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};$y.prototype.equals=function(e){return this===e||e instanceof $y&&q.arrayEquals(this._value,e._value)};$y.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var jE=$y;function eT(e){let t=e._targetProperty;if(!l(t)){let n=e._targetEntity;if(!l(n)){if(n=e._targetCollection.getById(e._targetId),!l(n)){e._targetEntity=e._targetProperty=void 0;return}n.definitionChanged.addEventListener(Mu.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=n}let i=e._targetPropertyNames;t=e._targetEntity;for(let o=0,r=i.length;o<r&&l(t);++o)t=t[i[o]];e._targetProperty=t}return t}function Mu(e,t,n){this._targetCollection=e,this._targetId=t,this._targetPropertyNames=n,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new me,e.collectionChanged.addEventListener(Mu.prototype._onCollectionChanged,this)}Object.defineProperties(Mu.prototype,{isConstant:{get:function(){return q.isConstant(eT(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){let e=eT(this);return l(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return eT(this)}}});Mu.fromString=function(e,t){let n,i=[],o=!0,r=!1,s="";for(let a=0;a<t.length;++a){let c=t.charAt(a);r?(s+=c,r=!1):c==="\\"?r=!0:o&&c==="#"?(n=s,o=!1,s=""):!o&&c==="."?(i.push(s),s=""):s+=c}return i.push(s),new Mu(e,n,i)};var u$e=new K;Mu.prototype.getValue=function(e,t){let n=eT(this);return l(e)||(e=K.now(u$e)),l(n)?n.getValue(e,t):void 0};Mu.prototype.getValueInReferenceFrame=function(e,t,n){let i=eT(this);return l(i)?i.getValueInReferenceFrame(e,t,n):void 0};Mu.prototype.getType=function(e){let t=eT(this);return l(t)?t.getType(e):void 0};Mu.prototype.equals=function(e){if(this===e)return!0;let t=this._targetPropertyNames,n=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==n.length)return!1;let i=this._targetPropertyNames.length;for(let o=0;o<i;o++)if(t[o]!==n[o])return!1;return!0};Mu.prototype._onTargetEntityDefinitionChanged=function(e,t,n,i){l(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))};Mu.prototype._onCollectionChanged=function(e,t,n){let i=this._targetEntity;l(i)&&n.indexOf(i)!==-1?(i.definitionChanged.removeEventListener(Mu.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):l(i)||(i=eT(this),l(i)&&this._definitionChanged.raiseEvent(this))};var z_=Mu;var f$e={packedLength:1,pack:function(e,t,n){return n=y(n,0),t[n]=e,t},unpack:function(e,t,n){return t=y(t,0),e[t]},convertPackedArrayForInterpolation:function(e,t,n,i){l(i)||(i=[]),t=y(t,0),n=y(n,e.length);let o;for(let r=0,s=n-t+1;r<s;r++){let a=e[t+r];r===0||Math.abs(o-a)<Math.PI?i[r]=a:i[r]=a-P.TWO_PI,o=a}},unpackInterpolationResult:function(e,t,n,i,o){return o=e[0],o<0?o+P.TWO_PI:o}},Xf=f$e;var Sde={packedLength:1,pack:function(e,t,n){n=y(n,0),t[n]=e},unpack:function(e,t,n){return t=y(t,0),e[t]}};function vde(e,t,n){let i,o=e.length,r=n.length,s=o+r;if(e.length=s,o!==t){let a=o-1;for(i=s-1;i>=t;i--)e[i]=e[a--]}for(i=0;i<r;i++)e[t++]=n[i]}function wde(e,t){return e instanceof K?e:typeof e=="string"?K.fromIso8601(e):K.addSeconds(t,e,new K)}var V7=[],U7=[];function Kz(e,t,n,i,o){let r=0,s,a,c,u,f,d;for(;r<i.length;){f=wde(i[r],e),c=Lo(t,f,K.compare);let p=0,g=0;if(c<0){for(c=~c,u=c*o,a=void 0,d=t[c];r<i.length&&(f=wde(i[r],e),!(l(a)&&K.compare(a,f)>=0||l(d)&&K.compare(f,d)>=0));){for(V7[p++]=f,r=r+1,s=0;s<o;s++)U7[g++]=i[r],r=r+1;a=f}p>0&&(U7.length=g,vde(n,u,U7),V7.length=p,vde(t,c,V7))}else{for(s=0;s<o;s++)r++,n[c*o+s]=i[r];r++}}}function Kf(e,t){let n=e;n===Number&&(n=Sde);let i=n.packedLength,o=y(n.packedInterpolationLength,i),r=0,s;if(l(t)){let a=t.length;s=new Array(a);for(let c=0;c<a;c++){let u=t[c];u===Number&&(u=Sde);let f=u.packedLength;i+=f,o+=y(u.packedInterpolationLength,f),s[c]=u}r=a}this._type=e,this._innerType=n,this._interpolationDegree=1,this._interpolationAlgorithm=Qb,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=i,this._packedInterpolationLength=o,this._updateTableLength=!0,this._interpolationResult=new Array(o),this._definitionChanged=new me,this._derivativeTypes=t,this._innerDerivativeTypes=s,this._inputOrder=r,this._forwardExtrapolationType=Ou.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=Ou.NONE,this._backwardExtrapolationDuration=0}Object.defineProperties(Kf.prototype,{isConstant:{get:function(){return this._values.length===0}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}});var d$e=new K;Kf.prototype.getValue=function(e,t){l(e)||(e=K.now(d$e));let n=this._times,i=n.length;if(i===0)return;let o,r=this._innerType,s=this._values,a=Lo(n,e,K.compare);if(a<0){if(a=~a,a===0){let E=n[a];if(o=this._backwardExtrapolationDuration,this._backwardExtrapolationType===Ou.NONE||o!==0&&K.secondsDifference(E,e)>o)return;if(this._backwardExtrapolationType===Ou.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let E=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===Ou.NONE||o!==0&&K.secondsDifference(e,E)>o)return;if(this._forwardExtrapolationType===Ou.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,u=this._yTable,f=this._interpolationAlgorithm,d=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let E=Math.min(f.getRequiredDataPoints(this._interpolationDegree,p),i);E!==this._numberOfPoints&&(this._numberOfPoints=E,c.length=E,u.length=E*d)}let g=this._numberOfPoints-1;if(g<1)return;let m=0,x=i-1;if(x-m+1>=g+1){let E=a-(g/2|0)-1;E<m&&(E=m);let v=E+g;v>x&&(v=x,E=v-g,E<m&&(E=m)),m=E,x=v}let T=x-m+1;for(let E=0;E<T;++E)c[E]=K.secondsDifference(n[m+E],n[x]);if(l(r.convertPackedArrayForInterpolation))r.convertPackedArrayForInterpolation(s,m,x,u);else{let E=0,v=this._packedLength,D=m*v,O=(x+1)*v;for(;D<O;)u[E]=s[D],D++,E++}let A=K.secondsDifference(e,n[x]),C;if(p===0||!l(f.interpolate))C=f.interpolateOrderZero(A,c,u,d,this._interpolationResult);else{let E=Math.floor(d/(p+1));C=f.interpolate(A,c,u,E,p,p,this._interpolationResult)}return l(r.unpackInterpolationResult)?r.unpackInterpolationResult(C,s,m,x,t):r.unpack(C,0,t)}return r.unpack(s,a*this._packedLength,t)};Kf.prototype.setInterpolationOptions=function(e){if(!l(e))return;let t=!1,n=e.interpolationAlgorithm,i=e.interpolationDegree;l(n)&&this._interpolationAlgorithm!==n&&(this._interpolationAlgorithm=n,t=!0),l(i)&&this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))};Kf.prototype.addSample=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=[];if(s.push(e),r.pack(t,s,s.length),o){let a=i.length;for(let c=0;c<a;c++)i[c].pack(n[c],s,s.length)}Kz(void 0,this._times,this._values,s,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Kf.prototype.addSamples=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=e.length,a=[];for(let c=0;c<s;c++)if(a.push(e[c]),r.pack(t[c],a,a.length),o){let u=n[c],f=i.length;for(let d=0;d<f;d++)i[d].pack(u[d],a,a.length)}Kz(void 0,this._times,this._values,a,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Kf.prototype.getSample=function(e){let t=this._times,n=t.length;if(l(n))return e<0&&(e+=n),t[e]};Kf.prototype.addSamplesPackedArray=function(e,t){Kz(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Kf.prototype.removeSample=function(e){let t=Lo(this._times,e,K.compare);return t<0?!1:(Dde(this,t,1),!0)};function Dde(e,t,n){let i=e._packedLength;e._times.splice(t,n),e._values.splice(t*i,n*i),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}Kf.prototype.removeSamples=function(e){let t=this._times,n=Lo(t,e.start,K.compare);n<0?n=~n:e.isStartIncluded||++n;let i=Lo(t,e.stop,K.compare);i<0?i=~i:e.isStopIncluded&&++i,Dde(this,n,i-n)};Kf.prototype.equals=function(e){if(this===e)return!0;if(!l(e)||this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;let t=this._derivativeTypes,n=l(t),i=e._derivativeTypes,o=l(i);if(n!==o)return!1;let r,s;if(n){if(s=t.length,s!==i.length)return!1;for(r=0;r<s;r++)if(t[r]!==i[r])return!1}let a=this._times,c=e._times;if(s=a.length,s!==c.length)return!1;for(r=0;r<s;r++)if(!K.equals(a[r],c[r]))return!1;let u=this._values,f=e._values;for(s=u.length,r=0;r<s;r++)if(u[r]!==f[r])return!1;return!0};Kf._mergeNewSamples=Kz;var Lu=Kf;function Zf(e,t){t=y(t,0);let n;if(t>0){n=new Array(t);for(let i=0;i<t;i++)n[i]=h}this._numberOfDerivatives=t,this._property=new Lu(h,n),this._definitionChanged=new me,this._referenceFrame=y(e,zi.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)}Object.defineProperties(Zf.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}});var h$e=new K;Zf.prototype.getValue=function(e,t){return l(e)||(e=K.now(h$e)),this.getValueInReferenceFrame(e,zi.FIXED,t)};Zf.prototype.getValueInReferenceFrame=function(e,t,n){if(n=this._property.getValue(e,n),l(n))return Od.convertToReferenceFrame(e,n,this._referenceFrame,t,n)};Zf.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)};Zf.prototype.addSample=function(e,t,n){let i=this._numberOfDerivatives;this._property.addSample(e,t,n)};Zf.prototype.addSamples=function(e,t,n){this._property.addSamples(e,t,n)};Zf.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)};Zf.prototype.removeSample=function(e){return this._property.removeSample(e)};Zf.prototype.removeSamples=function(e){this._property.removeSamples(e)};Zf.prototype.equals=function(e){return this===e||e instanceof Zf&&q.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var xa=Zf;var m$e={HORIZONTAL:0,VERTICAL:1},hh=Object.freeze(m$e);var p$e=hh.HORIZONTAL,_$e=H.WHITE,g$e=H.BLACK,y$e=0,x$e=1;function qE(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}Object.defineProperties(qE.prototype,{isConstant:{get:function(){return q.isConstant(this._orientation)&&q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._offset)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:le("orientation"),evenColor:le("evenColor"),oddColor:le("oddColor"),offset:le("offset"),repeat:le("repeat")});qE.prototype.getType=function(e){return"Stripe"};var b$e=new K;qE.prototype.getValue=function(e,t){return l(e)||(e=K.now(b$e)),l(t)||(t={}),t.horizontal=q.getValueOrDefault(this._orientation,e,p$e)===hh.HORIZONTAL,t.evenColor=q.getValueOrClonedDefault(this._evenColor,e,_$e,t.evenColor),t.oddColor=q.getValueOrClonedDefault(this._oddColor,e,g$e,t.oddColor),t.offset=q.getValueOrDefault(this._offset,e,y$e),t.repeat=q.getValueOrDefault(this._repeat,e,x$e),t};qE.prototype.equals=function(e){return this===e||e instanceof qE&&q.equals(this._orientation,e._orientation)&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._offset,e._offset)&&q.equals(this._repeat,e._repeat)};var YE=qE;function Qy(e){this._definitionChanged=new me,this._intervals=new Kr,this._intervals.changedEvent.addEventListener(Qy.prototype._intervalsChanged,this),this._referenceFrame=y(e,zi.FIXED)}Object.defineProperties(Qy.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}});var T$e=new K;Qy.prototype.getValue=function(e,t){return l(e)||(e=K.now(T$e)),this.getValueInReferenceFrame(e,zi.FIXED,t)};Qy.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._intervals.findDataForIntervalContainingDate(e);if(l(i))return Od.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};Qy.prototype.equals=function(e){return this===e||e instanceof Qy&&this._intervals.equals(e._intervals,q.equals)&&this._referenceFrame===e._referenceFrame};Qy.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var H_=Qy;function tT(){this._definitionChanged=new me,this._intervals=new Kr,this._intervals.changedEvent.addEventListener(tT.prototype._intervalsChanged,this)}Object.defineProperties(tT.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var C$e=new K;tT.prototype.getValue=function(e,t){l(e)||(e=K.now(C$e));let n=this._intervals.findDataForIntervalContainingDate(e);return l(n)&&typeof n.clone=="function"?n.clone(t):n};tT.prototype.equals=function(e){return this===e||e instanceof tT&&this._intervals.equals(e._intervals,q.equals)};tT.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var G_=tT;function XE(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new me,this._normalize=y(t,!0),this.position=e}Object.defineProperties(XE.prototype,{isConstant:{get:function(){return q.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){let t=this._position;t!==e&&(l(t)&&this._subscription(),this._position=e,l(e)&&(this._subscription=e._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});var A$e=new h,Ide=new h,Pde=new K,E$e=new K,z7=1/60;XE.prototype.getValue=function(e,t){return this._getValue(e,t)};XE.prototype._getValue=function(e,t,n){l(e)||(e=K.now(E$e)),l(t)||(t=new h);let i=this._position;if(q.isConstant(i))return this._normalize?void 0:h.clone(h.ZERO,t);let o=i.getValue(e,A$e),r=i.getValue(K.addSeconds(e,z7,Pde),Ide);if(!l(o)||!l(r)&&(r=o,o=i.getValue(K.addSeconds(e,-z7,Pde),Ide),!l(o)))return;if(h.equals(o,r))return this._normalize?void 0:h.clone(h.ZERO,t);l(n)&&o.clone(n);let s=h.subtract(r,o,t);return this._normalize?h.normalize(s,t):h.divideByScalar(s,z7,t)};XE.prototype.equals=function(e){return this===e||e instanceof XE&&q.equals(this._position,e._position)};var W_=XE;function tN(e,t){this._velocityVectorProperty=new W_(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new me,this.ellipsoid=y(t,ee.default);let n=this;this._velocityVectorProperty.definitionChanged.addEventListener(function(){n._definitionChanged.raiseEvent(n)})}Object.defineProperties(tN.prototype,{isConstant:{get:function(){return q.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){this._ellipsoid!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});var Rde=new h,S$e=new h,Ode=new $,v$e=new K;tN.prototype.getValue=function(e,t){l(e)||(e=K.now(v$e));let n=this._velocityVectorProperty._getValue(e,S$e,Rde);if(l(n))return Lt.rotationMatrixFromPositionVelocity(Rde,n,this._ellipsoid,Ode),Le.fromRotationMatrix(Ode,t)};tN.prototype.equals=function(e){return this===e||e instanceof tN&&q.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))};var nN=tN;var j_={COMPLETE:0,BELOW_ELLIPSOID_HORIZON:1,ABOVE_ELLIPSOID_HORIZON:2};j_.validate=function(e){return e===j_.COMPLETE||e===j_.BELOW_ELLIPSOID_HORIZON||e===j_.ABOVE_ELLIPSOID_HORIZON};j_.toString=function(e){switch(e){case j_.COMPLETE:return"COMPLETE";case j_.BELOW_ELLIPSOID_HORIZON:return"BELOW_ELLIPSOID_HORIZON";case j_.ABOVE_ELLIPSOID_HORIZON:return"ABOVE_ELLIPSOID_HORIZON";default:throw new de("SensorVolumePortionToDisplay value is not valid and cannot be converted to a String.")}};var KE=j_;function Jy(){}Jy.packedLength=h.packedLength;Jy.unpack=h.unpack;Jy.pack=h.pack;var H7;function iN(e,t){return t[0]==="#"&&(t=H7+t),z_.fromString(e,t)}function Mde(e,t,n){if(l(n.reference))return iN(t,n.reference);if(l(n.velocityReference)){let i=iN(t,n.velocityReference);switch(e){case h:case Jy:return new W_(i,e===Jy);case Le:return new nN(i)}}throw new se(`${JSON.stringify(n)} is not valid CZML.`)}function w$e(e,t){return new Fd(function(n,i){return t(e.getValue(n,i))},e.isConstant)}var ji=new h,ol=new eN,Cc=new fe,nT=new Sn,Zz=new Le;function D$e(e){let t=e.rgbaf;if(l(t))return t;let n=e.rgba;if(!l(n))return;let i=n.length;if(i===H.packedLength)return[H.byteToFloat(n[0]),H.byteToFloat(n[1]),H.byteToFloat(n[2]),H.byteToFloat(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=H.byteToFloat(n[o+1]),t[o+2]=H.byteToFloat(n[o+2]),t[o+3]=H.byteToFloat(n[o+3]),t[o+4]=H.byteToFloat(n[o+4]);return t}function Lde(e,t){let n=y(e.uri,e);return l(t)?t.getDerivedResource({url:n}):Ae.createIfNeeded(n)}function I$e(e){let t=e.wsen;if(l(t))return t;let n=e.wsenDegrees;if(!l(n))return;let i=n.length;if(i===ae.packedLength)return[P.toRadians(n[0]),P.toRadians(n[1]),P.toRadians(n[2]),P.toRadians(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=P.toRadians(n[o+1]),t[o+2]=P.toRadians(n[o+2]),t[o+3]=P.toRadians(n[o+3]),t[o+4]=P.toRadians(n[o+4]);return t}function P$e(e){let t=e.length;if(ol.magnitude=1,t===2)return ol.clock=e[0],ol.cone=e[1],h.fromSpherical(ol,ji),[ji.x,ji.y,ji.z];let n=new Array(t/3*4);for(let i=0,o=0;i<t;i+=3,o+=4)n[o]=e[i],ol.clock=e[i+1],ol.cone=e[i+2],h.fromSpherical(ol,ji),n[o+1]=ji.x,n[o+2]=ji.y,n[o+3]=ji.z;return n}function R$e(e){let t=e.length;if(t===3)return ol.clock=e[0],ol.cone=e[1],ol.magnitude=e[2],h.fromSpherical(ol,ji),[ji.x,ji.y,ji.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],ol.clock=e[i+1],ol.cone=e[i+2],ol.magnitude=e[i+3],h.fromSpherical(ol,ji),n[i+1]=ji.x,n[i+2]=ji.y,n[i+3]=ji.z;return n}function O$e(e){let t=e.length;if(t===3)return Cc.longitude=e[0],Cc.latitude=e[1],Cc.height=e[2],ee.default.cartographicToCartesian(Cc,ji),[ji.x,ji.y,ji.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Cc.longitude=e[i+1],Cc.latitude=e[i+2],Cc.height=e[i+3],ee.default.cartographicToCartesian(Cc,ji),n[i+1]=ji.x,n[i+2]=ji.y,n[i+3]=ji.z;return n}function M$e(e){let t=e.length;if(t===3)return Cc.longitude=P.toRadians(e[0]),Cc.latitude=P.toRadians(e[1]),Cc.height=e[2],ee.default.cartographicToCartesian(Cc,ji),[ji.x,ji.y,ji.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Cc.longitude=P.toRadians(e[i+1]),Cc.latitude=P.toRadians(e[i+2]),Cc.height=e[i+3],ee.default.cartographicToCartesian(Cc,ji),n[i+1]=ji.x,n[i+2]=ji.y,n[i+3]=ji.z;return n}function G7(e){let t=e.cartesian;if(l(t))return t;let n=e.cartesianVelocity;if(l(n))return n;let i=e.unitCartesian;if(l(i))return i;let o=e.unitSpherical;if(l(o))return P$e(o);let r=e.spherical;if(l(r))return R$e(r);let s=e.cartographicRadians;if(l(s))return O$e(s);let a=e.cartographicDegrees;if(l(a))return M$e(a);throw new se(`${JSON.stringify(e)} is not a valid CZML interval.`)}function Nde(e,t){h.unpack(e,t,ji),h.normalize(ji,ji),h.pack(ji,e,t)}function L$e(e){let t=G7(e);if(t.length===3)return Nde(t,0),t;for(let n=1;n<t.length;n+=4)Nde(t,n);return t}function Fde(e,t){Le.unpack(e,t,Zz),Le.normalize(Zz,Zz),Le.pack(Zz,e,t)}function N$e(e){let t=e.unitQuaternion;if(l(t)){if(t.length===4)return Fde(t,0),t;for(let n=1;n<t.length;n+=5)Fde(t,n)}return t}function Bde(e){return typeof e=="boolean"?Boolean:typeof e=="number"?Number:typeof e=="string"?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?We:e.hasOwnProperty("cartesian2")?z:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?h:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?Jy:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?H:e.hasOwnProperty("arcType")?nn:e.hasOwnProperty("classificationType")?zn:e.hasOwnProperty("colorBlendMode")?hc:e.hasOwnProperty("cornerType")?Ni:e.hasOwnProperty("heightReference")?qe:e.hasOwnProperty("horizontalOrigin")?Ti:e.hasOwnProperty("date")?K:e.hasOwnProperty("labelStyle")?Ko:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?Vt:e.hasOwnProperty("distanceDisplayCondition")?Nt:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?Le:e.hasOwnProperty("shadowMode")?Tn:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?hh:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?ae:e.hasOwnProperty("uri")?rN.default:e.hasOwnProperty("verticalOrigin")?Mn:Object}function F$e(e,t,n){switch(e){case nn:return nn[y(t.arcType,t)];case Array:return t.array;case Boolean:return y(t.boolean,t);case We:return t.boundingRectangle;case z:return t.cartesian2;case h:return G7(t);case Jy:return L$e(t);case H:return D$e(t);case zn:return zn[y(t.classificationType,t)];case hc:return hc[y(t.colorBlendMode,t)];case Ni:return Ni[y(t.cornerType,t)];case qe:return qe[y(t.heightReference,t)];case Ti:return Ti[y(t.horizontalOrigin,t)];case Image:return Lde(t,n);case K:return K.fromIso8601(y(t.date,t));case Ko:return Ko[y(t.labelStyle,t)];case Number:return y(t.number,t);case Vt:return t.nearFarScalar;case Nt:return t.distanceDisplayCondition;case Object:return y(y(t.object,t.value),t);case Le:return N$e(t);case Xf:return y(t.number,t);case KE:return KE[y(t.portionToDisplay,t)];case Tn:return Tn[y(y(t.shadowMode,t.shadows),t)];case String:return y(t.string,t);case hh:return hh[y(t.stripeOrientation,t)];case ae:return I$e(t);case rN.default:return Lde(t,n);case Mn:return Mn[y(t.verticalOrigin,t)];default:throw new se(`Unknown CzmlDataSource interval type: ${e}`)}}var B$e={HERMITE:QL,LAGRANGE:JL,LINEAR:Qb};function $z(e,t){let n=e.interpolationAlgorithm,i=e.interpolationDegree;(l(n)||l(i))&&t.setInterpolationOptions({interpolationAlgorithm:B$e[n],interpolationDegree:i});let o=e.forwardExtrapolationType;l(o)&&(t.forwardExtrapolationType=Ou[o]);let r=e.forwardExtrapolationDuration;l(r)&&(t.forwardExtrapolationDuration=r);let s=e.backwardExtrapolationType;l(s)&&(t.backwardExtrapolationType=Ou[s]);let a=e.backwardExtrapolationDuration;l(a)&&(t.backwardExtrapolationDuration=a)}var kde={iso8601:void 0};function yr(e){if(l(e))return kde.iso8601=e,Sn.fromIso8601(kde)}function W7(e){let t=ze.MAXIMUM_INTERVAL.clone();return t.data=e,t}function Vde(e){let t=new xc;return t.intervals.addInterval(W7(e)),t}function Ude(e){let t=new ga(e.referenceFrame);return t.intervals.addInterval(W7(e)),t}function Qz(e,t,n,i,o,r,s){let a=yr(i.interval);l(o)&&(l(a)?a=Sn.intersect(a,o,nT):a=o);let c,u,f,d=!l(i.reference)&&!l(i.velocityReference),p=l(a)&&!a.equals(ze.MAXIMUM_INTERVAL);if(i.delete===!0){if(!p){t[n]=void 0;return}return $de(t[n],a)}let g=!1;if(d){if(u=F$e(e,i,r),!l(u))return;c=y(e.packedLength,1),f=y(u.length,1),g=!l(i.array)&&typeof u!="string"&&f>c&&e!==Object}let m=typeof e.unpack=="function"&&e!==Xf;if(!g&&!p){d?t[n]=new $n(m?e.unpack(u,0):u):t[n]=Mde(e,s,i);return}let x=t[n],b,T=i.epoch;if(l(T)&&(b=K.fromIso8601(T)),g&&!p){x instanceof Lu||(t[n]=x=new Lu(e)),x.addSamplesPackedArray(u,b),$z(i,x);return}let A;if(!g&&p){a=a.clone(),d?a.data=m?e.unpack(u,0):u:a.data=Mde(e,s,i),l(x)||(t[n]=x=d?new G_:new xc),d&&x instanceof G_?x.intervals.addInterval(a):x instanceof xc?(d&&(a.data=new $n(a.data)),x.intervals.addInterval(a)):(t[n]=x=Vde(x),d&&(a.data=new $n(a.data)),x.intervals.addInterval(a));return}l(x)||(t[n]=x=new xc),x instanceof xc||(t[n]=x=Vde(x));let C=x.intervals;A=C.findInterval(a),(!l(A)||!(A.data instanceof Lu))&&(A=a.clone(),A.data=new Lu(e),C.addInterval(A)),A.data.addSamplesPackedArray(u,b),$z(i,A.data)}function $de(e,t){if(e instanceof Lu){e.removeSamples(t);return}else if(e instanceof G_){e.intervals.removeInterval(t);return}else if(e instanceof xc){let n=e.intervals;for(let i=0;i<n.length;++i){let o=Sn.intersect(n.get(i),t,nT);o.isEmpty||$de(o.data,t)}n.removeInterval(t);return}}function ge(e,t,n,i,o,r,s){if(l(i))if(Array.isArray(i))for(let a=0,c=i.length;a<c;++a)Qz(e,t,n,i[a],o,r,s);else Qz(e,t,n,i,o,r,s)}function zde(e,t,n,i,o,r){let s=yr(n.interval);l(i)&&(l(s)?s=Sn.intersect(s,i,nT):s=i);let a=l(n.cartesianVelocity)?1:0,c=h.packedLength*(a+1),u,f,d=!l(n.reference),p=l(s)&&!s.equals(ze.MAXIMUM_INTERVAL);if(n.delete===!0){if(!p){e[t]=void 0;return}return Qde(e[t],s)}let g,m=!1;if(d&&(l(n.referenceFrame)&&(g=zi[n.referenceFrame]),g=y(g,zi.FIXED),u=G7(n),f=y(u.length,1),m=f>c),!m&&!p){d?e[t]=new Wc(h.unpack(u),g):e[t]=iN(r,n.reference);return}let x=e[t],b,T=n.epoch;if(l(T)&&(b=K.fromIso8601(T)),m&&!p){(!(x instanceof xa)||l(g)&&x.referenceFrame!==g)&&(e[t]=x=new xa(g,a)),x.addSamplesPackedArray(u,b),$z(n,x);return}let A;if(!m&&p){s=s.clone(),d?s.data=h.unpack(u):s.data=iN(r,n.reference),l(x)||(d?x=new H_(g):x=new ga(g),e[t]=x),d&&x instanceof H_&&l(g)&&x.referenceFrame===g?x.intervals.addInterval(s):x instanceof ga?(d&&(s.data=new Wc(s.data,g)),x.intervals.addInterval(s)):(e[t]=x=Ude(x),d&&(s.data=new Wc(s.data,g)),x.intervals.addInterval(s));return}l(x)?x instanceof ga||(e[t]=x=Ude(x)):e[t]=x=new ga(g);let C=x.intervals;A=C.findInterval(s),(!l(A)||!(A.data instanceof xa)||l(g)&&A.data.referenceFrame!==g)&&(A=s.clone(),A.data=new xa(g,a),C.addInterval(A)),A.data.addSamplesPackedArray(u,b),$z(n,A.data)}function Qde(e,t){if(e instanceof xa){e.removeSamples(t);return}else if(e instanceof H_){e.intervals.removeInterval(t);return}else if(e instanceof ga){let n=e.intervals;for(let i=0;i<n.length;++i){let o=Sn.intersect(n.get(i),t,nT);o.isEmpty||Qde(o.data,t)}n.removeInterval(t);return}}function Jde(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)zde(e,t,n[s],i,o,r);else zde(e,t,n,i,o,r)}function Hde(e,t,n,i){l(n.references)?Jz(e,t,n.references,n.interval,i,jE,xc):(l(n.cartesian2)?n.array=z.unpackArray(n.cartesian2):l(n.cartesian)&&(n.array=z.unpackArray(n.cartesian)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function Gde(e,t,n,i,o,r){let s=yr(n.interval);l(i)&&(l(s)?s=Sn.intersect(s,i,nT):s=i);let a=e[t],c,u;if(l(s)){a instanceof wE||(a=new wE,e[t]=a);let d=a.intervals;u=d.findInterval({start:s.start,stop:s.stop}),l(u)?c=u.data:(u=s.clone(),d.addInterval(u))}else c=a;let f;l(n.solidColor)?(c instanceof Ht||(c=new Ht),f=n.solidColor,ge(H,c,"color",f.color,void 0,void 0,r)):l(n.grid)?(c instanceof BE||(c=new BE),f=n.grid,ge(H,c,"color",f.color,void 0,o,r),ge(Number,c,"cellAlpha",f.cellAlpha,void 0,o,r),ge(z,c,"lineCount",f.lineCount,void 0,o,r),ge(z,c,"lineThickness",f.lineThickness,void 0,o,r),ge(z,c,"lineOffset",f.lineOffset,void 0,o,r)):l(n.image)?(c instanceof $g||(c=new $g),f=n.image,ge(Image,c,"image",f.image,void 0,o,r),ge(z,c,"repeat",f.repeat,void 0,o,r),ge(H,c,"color",f.color,void 0,o,r),ge(Boolean,c,"transparent",f.transparent,void 0,o,r)):l(n.stripe)?(c instanceof YE||(c=new YE),f=n.stripe,ge(hh,c,"orientation",f.orientation,void 0,o,r),ge(H,c,"evenColor",f.evenColor,void 0,o,r),ge(H,c,"oddColor",f.oddColor,void 0,o,r),ge(Number,c,"offset",f.offset,void 0,o,r),ge(Number,c,"repeat",f.repeat,void 0,o,r)):l(n.polylineOutline)?(c instanceof Zy||(c=new Zy),f=n.polylineOutline,ge(H,c,"color",f.color,void 0,o,r),ge(H,c,"outlineColor",f.outlineColor,void 0,o,r),ge(Number,c,"outlineWidth",f.outlineWidth,void 0,o,r)):l(n.polylineGlow)?(c instanceof GE||(c=new GE),f=n.polylineGlow,ge(H,c,"color",f.color,void 0,o,r),ge(Number,c,"glowPower",f.glowPower,void 0,o,r),ge(Number,c,"taperPower",f.taperPower,void 0,o,r)):l(n.polylineArrow)?(c instanceof VE||(c=new VE),f=n.polylineArrow,ge(H,c,"color",f.color,void 0,void 0,r)):l(n.polylineDash)?(c instanceof zE||(c=new zE),f=n.polylineDash,ge(H,c,"color",f.color,void 0,void 0,r),ge(H,c,"gapColor",f.gapColor,void 0,void 0,r),ge(Number,c,"dashLength",f.dashLength,void 0,o,r),ge(Number,c,"dashPattern",f.dashPattern,void 0,o,r)):l(n.checkerboard)&&(c instanceof SE||(c=new SE),f=n.checkerboard,ge(H,c,"evenColor",f.evenColor,void 0,o,r),ge(H,c,"oddColor",f.oddColor,void 0,o,r),ge(z,c,"repeat",f.repeat,void 0,o,r)),l(u)?u.data=c:e[t]=c}function Nu(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Gde(e,t,n[s],i,o,r);else Gde(e,t,n,i,o,r)}function k$e(e,t,n,i){let o=t.name;l(o)&&(e.name=t.name)}function V$e(e,t,n,i){let o=t.description;l(o)&&ge(String,e,"description",o,void 0,i,n)}function U$e(e,t,n,i){let o=t.position;l(o)&&Jde(e,"position",o,void 0,i,n)}function z$e(e,t,n,i){let o=t.viewFrom;l(o)&&ge(h,e,"viewFrom",o,void 0,i,n)}function H$e(e,t,n,i){let o=t.orientation;l(o)&&ge(Le,e,"orientation",o,void 0,i,n)}function G$e(e,t,n,i){let o=t.properties;if(l(o)){l(e.properties)||(e.properties=new vl);for(let r in o)if(o.hasOwnProperty(r)){e.properties.hasProperty(r)||e.properties.addProperty(r);let s=o[r];if(Array.isArray(s))for(let a=0,c=s.length;a<c;++a)Qz(Bde(s[a]),e.properties,r,s[a],void 0,i,n);else Qz(Bde(s),e.properties,r,s,void 0,i,n)}}}function Jz(e,t,n,i,o,r,s){let a=n.map(function(c){return iN(o,c)});if(l(i)){i=yr(i);let c=e[t];if(!(c instanceof s)){let u=new s;u.intervals.addInterval(W7(c)),e[t]=c=u}i.data=new r(a),c.intervals.addInterval(i)}else e[t]=new r(a)}function Wde(e,t,n,i){let o=n.references;l(o)?Jz(e,t,o,n.interval,i,jE,xc):ge(Array,e,t,n,void 0,void 0,i)}function jde(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Wde(e,t,n[o],i);else Wde(e,t,n,i)}function qde(e,t,n,i){let o=n.references;l(o)?Jz(e,t,o,n.interval,i,U_,ga):(l(n.cartesian)?n.array=h.unpackArray(n.cartesian):l(n.cartographicRadians)?n.array=h.fromRadiansArrayHeights(n.cartographicRadians,ee.default):l(n.cartographicDegrees)&&(n.array=h.fromDegreesArrayHeights(n.cartographicDegrees,ee.default)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function sN(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)qde(e,t,n[o],i);else qde(e,t,n,i)}function W$e(e){return h.unpackArray(e)}function j$e(e){return h.fromRadiansArrayHeights(e,ee.default)}function q$e(e){return h.fromDegreesArrayHeights(e,ee.default)}function Yde(e,t,n,i){let o=n.references;if(l(o)){let r=o.map(function(s){let a={};return Jz(a,"positions",s,n.interval,i,U_,ga),a.positions});e[t]=new U_(r)}else l(n.cartesian)?n.array=n.cartesian.map(W$e):l(n.cartographicRadians)?n.array=n.cartographicRadians.map(j$e):l(n.cartographicDegrees)&&(n.array=n.cartographicDegrees.map(q$e)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i)}function Y$e(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Yde(e,t,n[o],i);else Yde(e,t,n,i)}function X$e(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;o++)Hde(e,t,n[o],i);else Hde(e,t,n,i)}function K$e(e,t,n,i){let o=t.availability;if(!l(o))return;let r;if(Array.isArray(o))for(let s=0,a=o.length;s<a;++s)l(r)||(r=new Kr),r.addInterval(yr(o[s]));else r=new Kr,r.addInterval(yr(o));e.availability=r}function Z$e(e,t,n,i,o){l(t)&&ge(Jy,e,"alignedAxis",t,n,i,o)}function $$e(e,t,n,i){let o=t.billboard;if(!l(o))return;let r=yr(o.interval),s=e.billboard;l(s)||(e.billboard=s=new rc),ge(Boolean,s,"show",o.show,r,i,n),ge(Image,s,"image",o.image,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(z,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(Ti,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Mn,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(Xf,s,"rotation",o.rotation,r,i,n),Z$e(s,o.alignedAxis,r,i,n),ge(Boolean,s,"sizeInMeters",o.sizeInMeters,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Vt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Vt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Vt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(We,s,"imageSubRegion",o.imageSubRegion,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function Q$e(e,t,n,i){let o=t.box;if(!l(o))return;let r=yr(o.interval),s=e.box;l(s)||(e.box=s=new Fx),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"dimensions",o.dimensions,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function J$e(e,t,n,i){let o=t.corridor;if(!l(o))return;let r=yr(o.interval),s=e.corridor;l(s)||(e.corridor=s=new kx),ge(Boolean,s,"show",o.show,r,i,n),sN(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(qe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Ni,s,"cornerType",o.cornerType,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(zn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function eQe(e,t,n,i){let o=t.cylinder;if(!l(o))return;let r=yr(o.interval),s=e.cylinder;l(s)||(e.cylinder=s=new Vx),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"length",o.length,r,i,n),ge(Number,s,"topRadius",o.topRadius,r,i,n),ge(Number,s,"bottomRadius",o.bottomRadius,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(Number,s,"slices",o.slices,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function tQe(e,t){let n=e.version;if(l(n)&&typeof n=="string"){let r=n.split(".");if(r.length===2){if(r[0]!=="1")throw new se("Cesium only supports CZML version 1.");t._version=n}}if(!l(t._version))throw new se("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");let i=t._documentPacket;l(e.name)&&(i.name=e.name);let o=e.clock;if(l(o)){let r=i.clock;l(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function nQe(e,t,n,i){let o=t.ellipse;if(!l(o))return;let r=yr(o.interval),s=e.ellipse;l(s)||(e.ellipse=s=new Ux),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),ge(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(qe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Xf,s,"rotation",o.rotation,r,i,n),ge(Xf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(zn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function iQe(e,t,n,i){let o=t.ellipsoid;if(!l(o))return;let r=yr(o.interval),s=e.ellipsoid;l(s)||(e.ellipsoid=s=new zx),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"radii",o.radii,r,i,n),ge(h,s,"innerRadii",o.innerRadii,r,i,n),ge(Number,s,"minimumClock",o.minimumClock,r,i,n),ge(Number,s,"maximumClock",o.maximumClock,r,i,n),ge(Number,s,"minimumCone",o.minimumCone,r,i,n),ge(Number,s,"maximumCone",o.maximumCone,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"stackPartitions",o.stackPartitions,r,i,n),ge(Number,s,"slicePartitions",o.slicePartitions,r,i,n),ge(Number,s,"subdivisions",o.subdivisions,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function oQe(e,t,n,i){let o=t.label;if(!l(o))return;let r=yr(o.interval),s=e.label;l(s)||(e.label=s=new Md),ge(Boolean,s,"show",o.show,r,i,n),ge(String,s,"text",o.text,r,i,n),ge(String,s,"font",o.font,r,i,n),ge(Ko,s,"style",o.style,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Boolean,s,"showBackground",o.showBackground,r,i,n),ge(H,s,"backgroundColor",o.backgroundColor,r,i,n),ge(z,s,"backgroundPadding",o.backgroundPadding,r,i,n),ge(z,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(Ti,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Mn,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"fillColor",o.fillColor,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Vt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Vt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(Vt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function rQe(e,t,n,i){let o=t.model;if(!l(o))return;let r=yr(o.interval),s=e.model;l(s)||(e.model=s=new kp),ge(Boolean,s,"show",o.show,r,i,n),ge(rN.default,s,"uri",o.gltf,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),ge(Number,s,"maximumScale",o.maximumScale,r,i,n),ge(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),ge(Boolean,s,"runAnimations",o.runAnimations,r,i,n),ge(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"silhouetteColor",o.silhouetteColor,r,i,n),ge(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(hc,s,"colorBlendMode",o.colorBlendMode,r,i,n),ge(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,u=o.nodeTransformations;if(l(u))if(Array.isArray(u))for(a=0,c=u.length;a<c;++a)Xde(s,u[a],r,i,n);else Xde(s,u,r,i,n);let f=o.articulations;if(l(f))if(Array.isArray(f))for(a=0,c=f.length;a<c;++a)Kde(s,f[a],r,i,n);else Kde(s,f,r,i,n)}function Xde(e,t,n,i,o){let r=yr(t.interval);l(n)&&(l(r)?r=Sn.intersect(r,n,nT):r=n);let s=e.nodeTransformations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];if(!l(d))continue;l(s)||(e.nodeTransformations=s=new vl),s.hasProperty(f)||s.addProperty(f);let p=s[f];l(p)||(s[f]=p=new Hx),ge(h,p,"translation",d.translation,r,i,o),ge(Le,p,"rotation",d.rotation,r,i,o),ge(h,p,"scale",d.scale,r,i,o)}}function Kde(e,t,n,i,o){let r=yr(t.interval);l(n)&&(l(r)?r=Sn.intersect(r,n,nT):r=n);let s=e.articulations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];l(d)&&(l(s)||(e.articulations=s=new vl),s.hasProperty(f)||s.addProperty(f),ge(Number,s,f,d,r,i,o))}}function sQe(e,t,n,i){let o=t.path;if(!l(o))return;let r=yr(o.interval),s=e.path;l(s)||(e.path=s=new Vp),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"leadTime",o.leadTime,r,i,n),ge(Number,s,"trailTime",o.trailTime,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"resolution",o.resolution,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function aQe(e,t,n,i){let o=t.point;if(!l(o))return;let r=yr(o.interval),s=e.point;l(s)||(e.point=s=new Wx),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"pixelSize",o.pixelSize,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Vt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Vt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function oN(e){this.polygon=e,this._definitionChanged=new me}Object.defineProperties(oN.prototype,{isConstant:{get:function(){let e=this.polygon._positions,t=this.polygon._holes;return(!l(e)||e.isConstant)&&(!l(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}});oN.prototype.getValue=function(e,t){let n;l(this.polygon._positions)&&(n=this.polygon._positions.getValue(e));let i;return l(this.polygon._holes)&&(i=this.polygon._holes.getValue(e),l(i)&&(i=i.map(function(o){return new Na(o)}))),l(t)?(t.positions=n,t.holes=i,t):new Na(n,i)};oN.prototype.equals=function(e){return this===e||e instanceof oN&&q.equals(this.polygon._positions,e.polygon._positions)&&q.equals(this.polygon._holes,e.polygon._holes)};function cQe(e,t,n,i){let o=t.polygon;if(!l(o))return;let r=yr(o.interval),s=e.polygon;l(s)||(e.polygon=s=new Ld),ge(Boolean,s,"show",o.show,r,i,n),sN(s,"_positions",o.positions,n),Y$e(s,"_holes",o.holes,n),(l(s._positions)||l(s._holes))&&(s.hierarchy=new oN(s)),ge(Number,s,"height",o.height,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(qe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Xf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Boolean,s,"perPositionHeight",o.perPositionHeight,r,i,n),ge(Boolean,s,"closeTop",o.closeTop,r,i,n),ge(Boolean,s,"closeBottom",o.closeBottom,r,i,n),ge(nn,s,"arcType",o.arcType,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(zn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function lQe(e){return e?nn.GEODESIC:nn.NONE}function uQe(e,t,n,i){let o=t.polyline;if(!l(o))return;let r=yr(o.interval),s=e.polyline;if(l(s)||(e.polyline=s=new cc),ge(Boolean,s,"show",o.show,r,i,n),sN(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),Nu(s,"material",o.material,r,i,n),Nu(s,"depthFailMaterial",o.depthFailMaterial,r,i,n),ge(nn,s,"arcType",o.arcType,r,i,n),ge(Boolean,s,"clampToGround",o.clampToGround,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(zn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n),l(o.followSurface)&&!l(o.arcType)){let a={};ge(Boolean,a,"followSurface",o.followSurface,r,i,n),s.arcType=w$e(a.followSurface,lQe)}}function fQe(e,t,n,i){let o=t.polylineVolume;if(!l(o))return;let r=yr(o.interval),s=e.polylineVolume;l(s)||(e.polylineVolume=s=new jx),sN(s,"positions",o.positions,n),X$e(s,"shape",o.shape,n),ge(Boolean,s,"show",o.show,r,i,n),ge(Ni,s,"cornerType",o.cornerType,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function dQe(e,t,n,i){let o=t.rectangle;if(!l(o))return;let r=yr(o.interval),s=e.rectangle;l(s)||(e.rectangle=s=new Nd),ge(Boolean,s,"show",o.show,r,i,n),ge(ae,s,"coordinates",o.coordinates,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(qe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(qe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Xf,s,"rotation",o.rotation,r,i,n),ge(Xf,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(zn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function hQe(e,t,n,i){let o=t.tileset;if(!l(o))return;let r=yr(o.interval),s=e.tileset;l(s)||(e.tileset=s=new Gx),ge(Boolean,s,"show",o.show,r,i,n),ge(rN.default,s,"uri",o.uri,r,i,n),ge(Number,s,"maximumScreenSpaceError",o.maximumScreenSpaceError,r,i,n)}function mQe(e,t,n,i){let o=t.wall;if(!l(o))return;let r=yr(o.interval),s=e.wall;l(s)||(e.wall=s=new Up),ge(Boolean,s,"show",o.show,r,i,n),sN(s,"positions",o.positions,n),jde(s,"minimumHeights",o.minimumHeights,n),jde(s,"maximumHeights",o.maximumHeights,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),Nu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Tn,s,"shadows",o.shadows,r,i,n),ge(Nt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function Zde(e,t,n,i,o){let r=e.id;if(l(r)||(r=Wn()),H7=r,!l(o._version)&&r!=="document")throw new se("The first CZML packet is required to be the document object.");if(e.delete===!0)t.removeById(r);else if(r==="document")tQe(e,o);else{let s=t.getOrCreateEntity(r),a=e.parent;l(a)&&(s.parent=t.getOrCreateEntity(a));for(let c=n.length-1;c>-1;c--)n[c](s,e,t,i)}H7=void 0}function pQe(e){let t,n=e._documentPacket.clock;if(!l(n)){if(!l(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(ze.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=K.secondsDifference(s,r),c=Math.round(a/120);return t=new dh,t.startTime=K.clone(r),t.stopTime=K.clone(s),t.clockRange=$r.LOOP_STOP,t.multiplier=c,t.currentTime=K.clone(r),t.clockStep=To.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}l(e._clock)?t=e._clock.clone():(t=new dh,t.startTime=ze.MINIMUM_VALUE.clone(),t.stopTime=ze.MAXIMUM_VALUE.clone(),t.currentTime=ze.MINIMUM_VALUE.clone(),t.clockRange=$r.LOOP_STOP,t.clockStep=To.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=yr(n.interval);return l(i)&&(t.startTime=i.start,t.stopTime=i.stop),l(n.currentTime)&&(t.currentTime=K.fromIso8601(n.currentTime)),l(n.range)&&(t.clockRange=y($r[n.range],$r.LOOP_STOP)),l(n.step)&&(t.clockStep=y(To[n.step],To.SYSTEM_CLOCK_MULTIPLIER)),l(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function ehe(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new At(s)),e._credit=s,typeof t=="string"||t instanceof Ae){t=Ae.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return r=Ae.createIfNeeded(r),Zr.setLoading(e,!0),Promise.resolve(o).then(function(a){return _Qe(e,a,r,i)}).catch(function(a){return Zr.setLoading(e,!1),e._error.raiseEvent(e,a),console.log(a),Promise.reject(a)})}function _Qe(e,t,n,i){Zr.setLoading(e,!0);let o=e._entityCollection;i&&(e._version=void 0,e._documentPacket=new the,o.removeAll()),Ss._processCzml(t,o,n,void 0,e);let r=pQe(e),s=e._documentPacket;return l(s.name)&&e._name!==s.name?(e._name=s.name,r=!0):!l(e._name)&&l(n)&&(e._name=k_(n.getUrlComponent()),r=!0),Zr.setLoading(e,!1),r&&e._changed.raiseEvent(e),e}function the(){this.name=void 0,this.clock=void 0}function Ss(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._clock=void 0,this._documentPacket=new the,this._version=void 0,this._entityCollection=new na(this),this._entityCluster=new Pu,this._credit=void 0,this._resourceCredits=[]}Ss.load=function(e,t){return new Ss().load(e,t)};Object.defineProperties(Ss.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});Ss.updaters=[$$e,Q$e,J$e,eQe,nQe,iQe,oQe,rQe,k$e,V$e,sQe,aQe,cQe,uQe,fQe,G$e,dQe,U$e,hQe,z$e,mQe,H$e,K$e];Ss.registerUpdater=function(e){Ss.updaters.includes(e)||Ss.updaters.push(e)};Ss.unregisterUpdater=function(e){if(Ss.updaters.includes(e)){let t=Ss.updaters.indexOf(e);Ss.updaters.splice(t,1)}};Ss.prototype.process=function(e,t){return ehe(this,e,t,!1)};Ss.prototype.load=function(e,t){return ehe(this,e,t,!0)};Ss.prototype.update=function(e){return!0};Ss.processPacketData=ge;Ss.processPositionPacketData=Jde;Ss.processMaterialPacketData=Nu;Ss._processCzml=function(e,t,n,i,o){if(i=y(i,Ss.updaters),Array.isArray(e))for(let r=0,s=e.length;r<s;++r)Zde(e[r],t,i,n,o);else Zde(e,t,i,n,o)};var aN=Ss;function rl(){this._dataSources=[],this._dataSourceAdded=new me,this._dataSourceRemoved=new me,this._dataSourceMoved=new me}Object.defineProperties(rl.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}});rl.prototype.add=function(e){let t=this,n=this._dataSources;return Promise.resolve(e).then(function(i){return n===t._dataSources&&(t._dataSources.push(i),t._dataSourceAdded.raiseEvent(t,i)),i})};rl.prototype.remove=function(e,t){t=y(t,!1);let n=this._dataSources.indexOf(e);return n!==-1?(this._dataSources.splice(n,1),this._dataSourceRemoved.raiseEvent(this,e),t&&typeof e.destroy=="function"&&e.destroy(),!0):!1};rl.prototype.removeAll=function(e){e=y(e,!1);let t=this._dataSources;for(let n=0,i=t.length;n<i;++n){let o=t[n];this._dataSourceRemoved.raiseEvent(this,o),e&&typeof o.destroy=="function"&&o.destroy()}this._dataSources=[]};rl.prototype.contains=function(e){return this.indexOf(e)!==-1};rl.prototype.indexOf=function(e){return this._dataSources.indexOf(e)};rl.prototype.get=function(e){return this._dataSources[e]};rl.prototype.getByName=function(e){return this._dataSources.filter(function(t){return t.name===e})};function e4(e,t){return e.indexOf(t)}function nhe(e,t,n){let i=e._dataSources,o=i.length-1;if(t=P.clamp(t,0,o),n=P.clamp(n,0,o),t===n)return;let r=i[t];i[t]=i[n],i[n]=r,e.dataSourceMoved.raiseEvent(r,n,t)}rl.prototype.raise=function(e){let t=e4(this._dataSources,e);nhe(this,t,t+1)};rl.prototype.lower=function(e){let t=e4(this._dataSources,e);nhe(this,t,t-1)};rl.prototype.raiseToTop=function(e){let t=e4(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))};rl.prototype.lowerToBottom=function(e){let t=e4(this._dataSources,e);t!==0&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))};rl.prototype.isDestroyed=function(){return!1};rl.prototype.destroy=function(){return this.removeAll(!0),ue(this)};var cN=rl;function ba(e){e=y(e,y.EMPTY_OBJECT),this._primitives=[],this._guid=Wn(),this._primitiveAdded=new me,this._primitiveRemoved=new me,this._zIndex=void 0,this.show=y(e.show,!0),this.destroyPrimitives=y(e.destroyPrimitives,!0)}Object.defineProperties(ba.prototype,{length:{get:function(){return this._primitives.length}},primitiveAdded:{get:function(){return this._primitiveAdded}},primitiveRemoved:{get:function(){return this._primitiveRemoved}}});ba.prototype.add=function(e,t){let n=l(t),i=e._external=e._external||{},o=i._composites=i._composites||{};return o[this._guid]={collection:this},n?this._primitives.splice(t,0,e):this._primitives.push(e),this._primitiveAdded.raiseEvent(e),e};ba.prototype.remove=function(e){if(this.contains(e)){let t=this._primitives.indexOf(e);if(t!==-1)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),this._primitiveRemoved.raiseEvent(e),!0}return!1};ba.prototype.removeAndDestroy=function(e){let t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t};ba.prototype.removeAll=function(){let e=this._primitives,t=e.length;for(let n=0;n<t;++n)delete e[n]._external._composites[this._guid],this.destroyPrimitives&&e[n].destroy(),this._primitiveRemoved.raiseEvent(e[n]);this._primitives=[]};ba.prototype.contains=function(e){return!!(l(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])};function t4(e,t){return e._primitives.indexOf(t)}ba.prototype.raise=function(e){if(l(e)){let t=t4(this,e),n=this._primitives;if(t!==n.length-1){let i=n[t];n[t]=n[t+1],n[t+1]=i}}};ba.prototype.raiseToTop=function(e){if(l(e)){let t=t4(this,e),n=this._primitives;t!==n.length-1&&(n.splice(t,1),n.push(e))}};ba.prototype.lower=function(e){if(l(e)){let t=t4(this,e),n=this._primitives;if(t!==0){let i=n[t];n[t]=n[t-1],n[t-1]=i}}};ba.prototype.lowerToBottom=function(e){if(l(e)){let t=t4(this,e),n=this._primitives;t!==0&&(n.splice(t,1),n.unshift(e))}};ba.prototype.get=function(e){return this._primitives[e]};ba.prototype.update=function(e){if(!this.show)return;let t=this._primitives;for(let n=0;n<t.length;++n)t[n].update(e)};ba.prototype.prePassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.prePassesUpdate)&&i.prePassesUpdate(e)}};ba.prototype.updateForPass=function(e,t){let n=this._primitives;for(let i=0;i<n.length;++i){let o=n[i];l(o.updateForPass)&&o.updateForPass(e,t)}};ba.prototype.postPassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.postPassesUpdate)&&i.postPassesUpdate(e)}};ba.prototype.isDestroyed=function(){return!1};ba.prototype.destroy=function(){return this.removeAll(),ue(this)};var Ul=ba;function Sm(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}Object.defineProperties(Sm.prototype,{length:{get:function(){return this._length}}});Sm.prototype.add=function(e,t){t=y(t,0);let n=this._collections[t];if(!l(n)){n=new Ul({destroyPrimitives:!1}),n._zIndex=t,this._collections[t]=n;let i=this._collectionsArray,o=0;for(;o<i.length&&i[o]._zIndex<t;)o++;i.splice(o,0,n)}return n.add(e),this._length++,e._zIndex=t,e};Sm.prototype.set=function(e,t){return t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e};Sm.prototype.remove=function(e,t){if(this.contains(e)){let n=e._zIndex,i=this._collections[n],o;return t?o=i.remove(e):o=i.removeAndDestroy(e),o&&this._length--,i.length===0&&(this._collectionsArray.splice(this._collectionsArray.indexOf(i),1),this._collections[n]=void 0,i.destroy()),o}return!1};Sm.prototype.removeAll=function(){let e=this._collectionsArray;for(let t=0;t<e.length;t++){let n=e[t];n.destroyPrimitives=!0,n.destroy()}this._collections={},this._collectionsArray=[],this._length=0};Sm.prototype.contains=function(e){if(!l(e))return!1;let t=this._collections[e._zIndex];return l(t)&&t.contains(e)};Sm.prototype.update=function(e){if(!this.show)return;let t=this._collectionsArray;for(let n=0;n<t.length;n++)t[n].update(e)};Sm.prototype.isDestroyed=function(){return!1};Sm.prototype.destroy=function(){return this.removeAll(),ue(this)};var lN=Sm;function ZE(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new Dt}ZE.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))};ZE.prototype.remove=function(e){let t=e.id,n=this._dynamicUpdaters.get(t);l(n)&&(this._dynamicUpdaters.remove(t),n.destroy())};ZE.prototype.update=function(e){let t=this._dynamicUpdaters.values;for(let n=0,i=t.length;n<i;n++)t[n].update(e);return!0};ZE.prototype.removeAllPrimitives=function(){let e=this._dynamicUpdaters.values;for(let t=0,n=e.length;t<n;t++)e[t].destroy();this._dynamicUpdaters.removeAll()};ZE.prototype.getBoundingSphere=function(e,t){return e=this._dynamicUpdaters.get(e.id),l(e)&&l(e.getBoundingSphere)?e.getBoundingSphere(t):ct.FAILED};var iT=ZE;var q7={},n4=new h,ihe=new h,ohe=new Le,rhe=new $;function $E(e,t,n,i,o,r,s,a,c,u){let f=e+t;h.multiplyByScalar(i,Math.cos(f),n4),h.multiplyByScalar(n,Math.sin(f),ihe),h.add(n4,ihe,n4);let d=Math.cos(e);d=d*d;let p=Math.sin(e);p=p*p;let m=r/Math.sqrt(s*d+o*p)/a;return Le.fromAxisAngle(n4,m,ohe),$.fromQuaternion(ohe,rhe),$.multiplyByVector(rhe,c,u),h.normalize(u,u),h.multiplyByScalar(u,a,u),u}var she=new h,ahe=new h,j7=new h,gQe=new h;q7.raisePositionsToHeight=function(e,t,n){let i=t.ellipsoid,o=t.height,r=t.extrudedHeight,s=n?e.length/3*2:e.length/3,a=new Float64Array(s*3),c=e.length,u=n?c:0;for(let f=0;f<c;f+=3){let d=f+1,p=f+2,g=h.fromArray(e,f,she);i.scaleToGeodeticSurface(g,g);let m=h.clone(g,ahe),x=i.geodeticSurfaceNormal(g,gQe),b=h.multiplyByScalar(x,o,j7);h.add(g,b,g),n&&(h.multiplyByScalar(x,r,b),h.add(m,b,m),a[f+u]=m.x,a[d+u]=m.y,a[p+u]=m.z),a[f]=g.x,a[d]=g.y,a[p]=g.z}return a};var yQe=new h,xQe=new h,bQe=new h;q7.computeEllipsePositions=function(e,t,n){let i=e.semiMinorAxis,o=e.semiMajorAxis,r=e.rotation,s=e.center,a=e.granularity*8,c=i*i,u=o*o,f=o*i,d=h.magnitude(s),p=h.normalize(s,yQe),g=h.cross(h.UNIT_Z,s,xQe);g=h.normalize(g,g);let m=h.cross(p,g,bQe),x=1+Math.ceil(P.PI_OVER_TWO/a),b=P.PI_OVER_TWO/(x-1),T=P.PI_OVER_TWO-x*b;T<0&&(x-=Math.ceil(Math.abs(T)/b));let A=2*(x*(x+2)),C=t?new Array(A*3):void 0,E=0,v=she,D=ahe,O=x*4*3,R=O-1,M=0,N=n?new Array(O):void 0,_,S,w,I,L;for(T=P.PI_OVER_TWO,v=$E(T,r,m,g,c,f,u,d,p,v),t&&(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z),n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x),T=P.PI_OVER_TWO-b,_=1;_<x+1;++_){if(v=$E(T,r,m,g,c,f,u,d,p,v),D=$E(Math.PI-T,r,m,g,c,f,u,d,p,D),t){for(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z,w=2*_+2,S=1;S<w-1;++S)I=S/(w-1),L=h.lerp(v,D,I,j7),C[E++]=L.x,C[E++]=L.y,C[E++]=L.z;C[E++]=D.x,C[E++]=D.y,C[E++]=D.z}n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x,N[M++]=D.x,N[M++]=D.y,N[M++]=D.z),T=P.PI_OVER_TWO-(_+1)*b}for(_=x;_>1;--_){if(T=P.PI_OVER_TWO-(_-1)*b,v=$E(-T,r,m,g,c,f,u,d,p,v),D=$E(T+Math.PI,r,m,g,c,f,u,d,p,D),t){for(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z,w=2*(_-1)+2,S=1;S<w-1;++S)I=S/(w-1),L=h.lerp(v,D,I,j7),C[E++]=L.x,C[E++]=L.y,C[E++]=L.z;C[E++]=D.x,C[E++]=D.y,C[E++]=D.z}n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x,N[M++]=D.x,N[M++]=D.y,N[M++]=D.z)}T=P.PI_OVER_TWO,v=$E(-T,r,m,g,c,f,u,d,p,v);let B={};return t&&(C[E++]=v.x,C[E++]=v.y,C[E++]=v.z,B.positions=C,B.numPts=x),n&&(N[R--]=v.z,N[R--]=v.y,N[R--]=v.x,B.outerPositions=N),B};var zl=q7;var QE=new h,Y7=new h,X7=new h,che=new h,Fs=new z,lhe=new $,TQe=new $,K7=new Le,uhe=new h,fhe=new h,dhe=new h,r4=new fe,hhe=new h,mhe=new z,phe=new z;function _he(e,t,n){let i=t.vertexFormat,o=t.center,r=t.semiMajorAxis,s=t.semiMinorAxis,a=t.ellipsoid,c=t.stRotation,u=n?e.length/3*2:e.length/3,f=t.shadowVolume,d=i.st?new Float32Array(u*2):void 0,p=i.normal?new Float32Array(u*3):void 0,g=i.tangent?new Float32Array(u*3):void 0,m=i.bitangent?new Float32Array(u*3):void 0,x=f?new Float32Array(u*3):void 0,b=0,T=uhe,A=fhe,C=dhe,E=new Ri(a),v=E.project(a.cartesianToCartographic(o,r4),hhe),D=a.scaleToGeodeticSurface(o,QE);a.geodeticSurfaceNormal(D,D);let O=lhe,R=TQe;if(c!==0){let L=Le.fromAxisAngle(D,c,K7);O=$.fromQuaternion(L,O),L=Le.fromAxisAngle(D,-c,K7),R=$.fromQuaternion(L,R)}else O=$.clone($.IDENTITY,O),R=$.clone($.IDENTITY,R);let M=z.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,mhe),N=z.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,phe),_=e.length,S=n?_:0,w=S/3*2;for(let L=0;L<_;L+=3){let B=L+1,U=L+2,V=h.fromArray(e,L,QE);if(i.st){let G=$.multiplyByVector(O,V,Y7),k=E.project(a.cartesianToCartographic(G,r4),X7);h.subtract(k,v,k),Fs.x=(k.x+r)/(2*r),Fs.y=(k.y+s)/(2*s),M.x=Math.min(Fs.x,M.x),M.y=Math.min(Fs.y,M.y),N.x=Math.max(Fs.x,N.x),N.y=Math.max(Fs.y,N.y),n&&(d[b+w]=Fs.x,d[b+1+w]=Fs.y),d[b++]=Fs.x,d[b++]=Fs.y}(i.normal||i.tangent||i.bitangent||f)&&(T=a.geodeticSurfaceNormal(V,T),f&&(x[L+S]=-T.x,x[B+S]=-T.y,x[U+S]=-T.z),(i.normal||i.tangent||i.bitangent)&&((i.tangent||i.bitangent)&&(A=h.normalize(h.cross(h.UNIT_Z,T,A),A),$.multiplyByVector(R,A,A)),i.normal&&(p[L]=T.x,p[B]=T.y,p[U]=T.z,n&&(p[L+S]=-T.x,p[B+S]=-T.y,p[U+S]=-T.z)),i.tangent&&(g[L]=A.x,g[B]=A.y,g[U]=A.z,n&&(g[L+S]=-A.x,g[B+S]=-A.y,g[U+S]=-A.z)),i.bitangent&&(C=h.normalize(h.cross(T,A,C),C),m[L]=C.x,m[B]=C.y,m[U]=C.z,n&&(m[L+S]=C.x,m[B+S]=C.y,m[U+S]=C.z))))}if(i.st){_=d.length;for(let L=0;L<_;L+=2)d[L]=(d[L]-M.x)/(N.x-M.x),d[L+1]=(d[L+1]-M.y)/(N.y-M.y)}let I=new pn;if(i.position){let L=zl.raisePositionsToHeight(e,t,n);I.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:L})}if(i.st&&(I.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:d})),i.normal&&(I.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(I.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),i.bitangent&&(I.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),f&&(I.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),n&&l(t.offsetAttribute)){let L=new Uint8Array(u);if(t.offsetAttribute===ln.TOP)L=L.fill(1,0,u/2);else{let B=t.offsetAttribute===ln.NONE?0:1;L=L.fill(B)}I.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:L})}return I}function ghe(e){let t=new Array(12*(e*(e+1))-6),n=0,i,o,r,s,a;for(i=0,r=1,s=0;s<3;s++)t[n++]=r++,t[n++]=i,t[n++]=r;for(s=2;s<e+1;++s){for(r=s*(s+1)-1,i=(s-1)*s-1,t[n++]=r++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=r++,t[n++]=i,t[n++]=r}for(o=e*2,++r,++i,s=0;s<o-1;++s)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;for(t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i++,t[n++]=i,++i,s=e-1;s>1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=i++,t[n++]=i++,t[n++]=r++}for(s=0;s<3;s++)t[n++]=i++,t[n++]=i,t[n++]=r;return t}var oT=new h;function CQe(e){let t=e.center;oT=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,oT),e.height,oT),oT=h.add(t,oT,oT);let n=new ce(oT,e.semiMajorAxis),i=zl.computeEllipsePositions(e,!0,!1),o=i.positions,r=i.numPts,s=_he(o,e,!1),a=ghe(r);return a=Fe.createTypedArray(o.length/3,a),{boundingSphere:n,attributes:s,indices:a}}function AQe(e,t){let n=t.vertexFormat,i=t.center,o=t.semiMajorAxis,r=t.semiMinorAxis,s=t.ellipsoid,a=t.height,c=t.extrudedHeight,u=t.stRotation,f=e.length/3*2,d=new Float64Array(f*3),p=n.st?new Float32Array(f*2):void 0,g=n.normal?new Float32Array(f*3):void 0,m=n.tangent?new Float32Array(f*3):void 0,x=n.bitangent?new Float32Array(f*3):void 0,b=t.shadowVolume,T=b?new Float32Array(f*3):void 0,A=0,C=uhe,E=fhe,v=dhe,D=new Ri(s),O=D.project(s.cartesianToCartographic(i,r4),hhe),R=s.scaleToGeodeticSurface(i,QE);s.geodeticSurfaceNormal(R,R);let M=Le.fromAxisAngle(R,u,K7),N=$.fromQuaternion(M,lhe),_=z.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,mhe),S=z.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,phe),w=e.length,I=w/3*2;for(let B=0;B<w;B+=3){let U=B+1,V=B+2,G=h.fromArray(e,B,QE),k;if(n.st){let Y=$.multiplyByVector(N,G,Y7),Q=D.project(s.cartesianToCartographic(Y,r4),X7);h.subtract(Q,O,Q),Fs.x=(Q.x+o)/(2*o),Fs.y=(Q.y+r)/(2*r),_.x=Math.min(Fs.x,_.x),_.y=Math.min(Fs.y,_.y),S.x=Math.max(Fs.x,S.x),S.y=Math.max(Fs.y,S.y),p[A+I]=Fs.x,p[A+1+I]=Fs.y,p[A++]=Fs.x,p[A++]=Fs.y}G=s.scaleToGeodeticSurface(G,G),k=h.clone(G,Y7),C=s.geodeticSurfaceNormal(G,C),b&&(T[B+w]=-C.x,T[U+w]=-C.y,T[V+w]=-C.z);let W=h.multiplyByScalar(C,a,che);if(G=h.add(G,W,G),W=h.multiplyByScalar(C,c,W),k=h.add(k,W,k),n.position&&(d[B+w]=k.x,d[U+w]=k.y,d[V+w]=k.z,d[B]=G.x,d[U]=G.y,d[V]=G.z),n.normal||n.tangent||n.bitangent){v=h.clone(C,v);let Y=h.fromArray(e,(B+3)%w,che);h.subtract(Y,G,Y);let Q=h.subtract(k,G,X7);C=h.normalize(h.cross(Q,Y,C),C),n.normal&&(g[B]=C.x,g[U]=C.y,g[V]=C.z,g[B+w]=C.x,g[U+w]=C.y,g[V+w]=C.z),n.tangent&&(E=h.normalize(h.cross(v,C,E),E),m[B]=E.x,m[U]=E.y,m[V]=E.z,m[B+w]=E.x,m[B+1+w]=E.y,m[B+2+w]=E.z),n.bitangent&&(x[B]=v.x,x[U]=v.y,x[V]=v.z,x[B+w]=v.x,x[U+w]=v.y,x[V+w]=v.z)}}if(n.st){w=p.length;for(let B=0;B<w;B+=2)p[B]=(p[B]-_.x)/(S.x-_.x),p[B+1]=(p[B+1]-_.y)/(S.y-_.y)}let L=new pn;if(n.position&&(L.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})),n.st&&(L.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:p})),n.normal&&(L.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),n.tangent&&(L.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),n.bitangent&&(L.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),b&&(L.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),l(t.offsetAttribute)){let B=new Uint8Array(f);if(t.offsetAttribute===ln.TOP)B=B.fill(1,0,f/2);else{let U=t.offsetAttribute===ln.NONE?0:1;B=B.fill(U)}L.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}return L}function EQe(e){let t=e.length/3,n=Fe.createTypedArray(t,t*6),i=0;for(let o=0;o<t;o++){let r=o,s=o+t,a=(r+1)%t,c=a+t;n[i++]=r,n[i++]=s,n[i++]=a,n[i++]=a,n[i++]=s,n[i++]=c}return n}var i4=new ce,o4=new ce;function SQe(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,QE),e.height,QE);i4.center=h.add(t,o,i4.center),i4.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),o4.center=h.add(t,o,o4.center),o4.radius=i;let r=zl.computeEllipsePositions(e,!0,!0),s=r.positions,a=r.numPts,c=r.outerPositions,u=ce.union(i4,o4),f=_he(s,e,!0),d=ghe(a),p=d.length;d.length=p*2;let g=s.length/3;for(let E=0;E<p;E+=3)d[E+p]=d[E+2]+g,d[E+1+p]=d[E+1]+g,d[E+2+p]=d[E]+g;let m=Fe.createTypedArray(g*2/3,d),x=new ft({attributes:f,indices:m,primitiveType:Ne.TRIANGLES}),b=AQe(c,e);d=EQe(c);let T=Fe.createTypedArray(c.length*2/3,d),A=new ft({attributes:b,indices:T,primitiveType:Ne.TRIANGLES}),C=Fn.combineInstances([new It({geometry:x}),new It({geometry:A})]);return{boundingSphere:u,attributes:C[0].attributes,indices:C[0].indices}}function yhe(e,t,n,i,o,r,s){let c=zl.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:n,rotation:i,granularity:o},!1,!0).outerPositions,u=c.length/3,f=new Array(u);for(let p=0;p<u;++p)f[p]=h.fromArray(c,p*3);let d=ae.fromCartesianArray(f,r,s);return d.width>P.PI&&(d.north=d.north>0?P.PI_OVER_TWO-P.EPSILON7:d.north,d.south=d.south<0?P.EPSILON7-P.PI_OVER_TWO:d.south,d.east=P.PI,d.west=-P.PI),d}function wm(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.vertexFormat,Ie.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=Ie.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}wm.packedLength=h.packedLength+ee.packedLength+Ie.packedLength+9;wm.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var xhe=new h,bhe=new ee,The=new Ie,vm={center:xhe,ellipsoid:bhe,vertexFormat:The,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};wm.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,xhe);t+=h.packedLength;let o=ee.unpack(e,t,bhe);t+=ee.packedLength;let r=Ie.unpack(e,t,The);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++],g=e[t++]===1,m=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=u,n._height=f,n._granularity=d,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=m===-1?void 0:m,n):(vm.height=f,vm.extrudedHeight=p,vm.granularity=d,vm.stRotation=u,vm.rotation=c,vm.semiMajorAxis=s,vm.semiMinorAxis=a,vm.shadowVolume=g,vm.offsetAttribute=m===-1?void 0:m,new wm(vm))};wm.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,ee.default),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,P.RADIANS_PER_DEGREE),a=y(e.rotation,0);return yhe(n,o,r,a,s,i,t)};wm.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=SQe(o);else if(r=CQe(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===ln.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ft({attributes:r.attributes,indices:r.indices,primitiveType:Ne.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};wm.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new wm({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};function vQe(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=zl.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c<o;++c)r[c]=h.fromArray(i,c*3);let s=e._ellipsoid,a=e.rectangle;return ft._textureCoordinateRotationPoints(r,t,s,a)}Object.defineProperties(wm.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=yhe(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=vQe(this)),this._textureCoordinateRotationPoints}}});var sl=wm;var Che=new h,rT=new h;function wQe(e){let t=e.center;rT=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,rT),e.height,rT),rT=h.add(t,rT,rT);let n=new ce(rT,e.semiMajorAxis),i=zl.computeEllipsePositions(e,!1,!0).outerPositions,o=new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:zl.raisePositionsToHeight(i,e,!1)})}),r=i.length/3,s=Fe.createTypedArray(r,r*2),a=0;for(let c=0;c<r;++c)s[a++]=c,s[a++]=(c+1)%r;return{boundingSphere:n,attributes:o,indices:s}}var s4=new ce,a4=new ce;function DQe(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,Che),e.height,Che);s4.center=h.add(t,o,s4.center),s4.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),a4.center=h.add(t,o,a4.center),a4.radius=i;let r=zl.computeEllipsePositions(e,!1,!0).outerPositions,s=new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:zl.raisePositionsToHeight(r,e,!0)})});r=s.position.values;let a=ce.union(s4,a4),c=r.length/3;if(l(e.offsetAttribute)){let m=new Uint8Array(c);if(e.offsetAttribute===ln.TOP)m=m.fill(1,0,c/2);else{let x=e.offsetAttribute===ln.NONE?0:1;m=m.fill(x)}s.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}let u=y(e.numberOfVerticalLines,16);u=P.clamp(u,0,c/2);let f=Fe.createTypedArray(c,c*2+u*2);c/=2;let d=0,p;for(p=0;p<c;++p)f[d++]=p,f[d++]=(p+1)%c,f[d++]=p+c,f[d++]=(p+1)%c+c;let g;if(u>0){let m=Math.min(u,c);g=Math.round(c/m);let x=Math.min(g*u,c);for(p=0;p<x;p+=g)f[d++]=p,f[d++]=p+c}return{boundingSphere:a,attributes:s,indices:f}}function JE(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.height,0),a=y(e.extrudedHeight,s);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._height=Math.max(a,s),this._granularity=r,this._extrudedHeight=Math.min(a,s),this._numberOfVerticalLines=Math.max(y(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}JE.packedLength=h.packedLength+ee.packedLength+8;JE.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var Ahe=new h,Ehe=new ee,q_={center:Ahe,ellipsoid:Ehe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};JE.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Ahe);t+=h.packedLength;let o=ee.unpack(e,t,Ehe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._semiMajorAxis=r,n._semiMinorAxis=s,n._rotation=a,n._height=c,n._granularity=u,n._extrudedHeight=f,n._numberOfVerticalLines=d,n._offsetAttribute=p===-1?void 0:p,n):(q_.height=c,q_.extrudedHeight=f,q_.granularity=u,q_.rotation=a,q_.semiMajorAxis=r,q_.semiMinorAxis=s,q_.numberOfVerticalLines=d,q_.offsetAttribute=p===-1?void 0:p,new JE(q_))};JE.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(i)o.extrudedHeight=n,o.offsetAttribute=e._offsetAttribute,r=DQe(o);else if(r=wQe(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===ln.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ft({attributes:r.attributes,indices:r.indices,primitiveType:Ne.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var Fu=JE;var She=new H,vhe=h.ZERO,whe=new h,Dhe=new ae;function IQe(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function mh(e,t){qn.call(this,{entity:e,scene:t,geometryOptions:new IQe(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}l(Object.create)&&(mh.prototype=Object.create(qn.prototype),mh.prototype.constructor=mh);mh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Un.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,She)),l(o)||(o=H.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,vhe,whe))),new It({id:t,geometry:new sl(this._options),attributes:i})};mh.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,She),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,vhe,whe))),new It({id:t,geometry:new Fu(this._options),attributes:r})};mh.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};mh.prototype._isHidden=function(e,t){let n=e.position;return!l(n)||!l(t.semiMajorAxis)||!l(t.semiMinorAxis)||ri.prototype._isHidden.call(this,e,t)};mh.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!q.isConstant(t.rotation)||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};mh.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,qe.NONE),o=q.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,qe.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ht?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,s.center=e.position.getValue(ze.MINIMUM_VALUE,s.center),s.semiMajorAxis=t.semiMajorAxis.getValue(ze.MINIMUM_VALUE,s.semiMajorAxis),s.semiMinorAxis=t.semiMinorAxis.getValue(ze.MINIMUM_VALUE,s.semiMinorAxis),s.rotation=q.getValueOrUndefined(t.rotation,ze.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),s.stRotation=q.getValueOrUndefined(t.stRotation,ze.MINIMUM_VALUE),s.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,ze.MINIMUM_VALUE),s.offsetAttribute=qn.computeGeometryOffsetAttribute(n,i,o,r),s.height=qn.getGeometryHeight(n,i),o=qn.getGeometryExtrudedHeight(o,r),o===qn.CLAMP_TO_GROUND&&(o=fi.getMinimumMaximumHeights(sl.computeRectangle(s,Dhe)).minimumTerrainHeight),s.extrudedHeight=o};mh.DynamicGeometryUpdater=eS;function eS(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(eS.prototype=Object.create(oi.prototype),eS.prototype.constructor=eS);eS.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.center)||!l(i.semiMajorAxis)||!l(i.semiMinorAxis)||oi.prototype._isHidden.call(this,e,t,n)};eS.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,qe.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,qe.NONE);l(s)&&!l(o)&&(o=0),i.center=q.getValueOrUndefined(e.position,n,i.center),i.semiMajorAxis=q.getValueOrUndefined(t.semiMajorAxis,n),i.semiMinorAxis=q.getValueOrUndefined(t.semiMinorAxis,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),i.offsetAttribute=qn.computeGeometryOffsetAttribute(o,r,s,a),i.height=qn.getGeometryHeight(o,r),s=qn.getGeometryExtrudedHeight(s,a),s===qn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(sl.computeRectangle(i,Dhe)).minimumTerrainHeight),i.extrudedHeight=s};var uN=mh;var PQe=new h,RQe=new h,OQe=new h,MQe=new h,LQe=new h,NQe=new h(1,1,1),Ihe=Math.cos,Phe=Math.sin;function Y_(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,NQe),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,64)),c=Math.round(y(e.slicePartitions,64)),u=y(e.vertexFormat,Ie.DEFAULT);this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._vertexFormat=Ie.clone(u),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}Y_.packedLength=2*h.packedLength+Ie.packedLength+7;Y_.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n]=y(e._offsetAttribute,-1),t};var Rhe=new h,Ohe=new h,Mhe=new Ie,e0={radii:Rhe,innerRadii:Ohe,vertexFormat:Mhe,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};Y_.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Rhe);t+=h.packedLength;let o=h.unpack(e,t,Ohe);t+=h.packedLength;let r=Ie.unpack(e,t,Mhe);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._minimumClock=s,n._maximumClock=a,n._minimumCone=c,n._maximumCone=u,n._stackPartitions=f,n._slicePartitions=d,n._offsetAttribute=p===-1?void 0:p,n):(e0.minimumClock=s,e0.maximumClock=a,e0.minimumCone=c,e0.maximumCone=u,e0.stackPartitions=f,e0.slicePartitions=d,e0.offsetAttribute=p===-1?void 0:p,new Y_(e0))};Y_.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._vertexFormat,c=e._slicePartitions+1,u=e._stackPartitions+1;c=Math.round(c*Math.abs(o-i)/P.TWO_PI),u=Math.round(u*Math.abs(s-r)/P.PI),c<2&&(c=2),u<2&&(u=2);let f,d,p=0,g=[r],m=[i];for(f=0;f<u;f++)g.push(r+f*(s-r)/(u-1));for(g.push(s),d=0;d<c;d++)m.push(i+d*(o-i)/(c-1));m.push(o);let x=g.length,b=m.length,T=0,A=1,C=n.x!==t.x||n.y!==t.y||n.z!==t.z,E=!1,v=!1,D=!1;C&&(A=2,r>0&&(E=!0,T+=c-1),s<Math.PI&&(v=!0,T+=c-1),(o-i)%P.TWO_PI?(D=!0,T+=(u-1)*2+1):T+=1);let O=b*x*A,R=new Float64Array(O*3),M=new Array(O).fill(!1),N=new Array(O).fill(!1),_=c*u*A,S=6*(_+T+1-(c+u)*A),w=Fe.createTypedArray(_,S),I=a.normal?new Float32Array(O*3):void 0,L=a.tangent?new Float32Array(O*3):void 0,B=a.bitangent?new Float32Array(O*3):void 0,U=a.st?new Float32Array(O*2):void 0,V=new Array(x),G=new Array(x);for(f=0;f<x;f++)V[f]=Phe(g[f]),G[f]=Ihe(g[f]);let k=new Array(b),W=new Array(b);for(d=0;d<b;d++)W[d]=Ihe(m[d]),k[d]=Phe(m[d]);for(f=0;f<x;f++)for(d=0;d<b;d++)R[p++]=t.x*V[f]*W[d],R[p++]=t.y*V[f]*k[d],R[p++]=t.z*G[f];let Y=O/2;if(C)for(f=0;f<x;f++)for(d=0;d<b;d++)R[p++]=n.x*V[f]*W[d],R[p++]=n.y*V[f]*k[d],R[p++]=n.z*G[f],M[Y]=!0,f>0&&f!==x-1&&d!==0&&d!==b-1&&(N[Y]=!0),Y++;p=0;let Q,j;for(f=1;f<x-2;f++)for(Q=f*b,j=(f+1)*b,d=1;d<b-2;d++)w[p++]=j+d,w[p++]=j+d+1,w[p++]=Q+d+1,w[p++]=j+d,w[p++]=Q+d+1,w[p++]=Q+d;if(C){let lt=x*b;for(f=1;f<x-2;f++)for(Q=lt+f*b,j=lt+(f+1)*b,d=1;d<b-2;d++)w[p++]=j+d,w[p++]=Q+d,w[p++]=Q+d+1,w[p++]=j+d,w[p++]=Q+d+1,w[p++]=j+d+1}let Z,J;if(C){if(E)for(J=x*b,f=1;f<b-2;f++)w[p++]=f,w[p++]=f+1,w[p++]=J+f+1,w[p++]=f,w[p++]=J+f+1,w[p++]=J+f;if(v)for(Z=x*b-b,J=x*b*A-b,f=1;f<b-2;f++)w[p++]=Z+f+1,w[p++]=Z+f,w[p++]=J+f,w[p++]=Z+f+1,w[p++]=J+f,w[p++]=J+f+1}if(D){for(f=1;f<x-2;f++)J=b*x+b*f,Z=b*f,w[p++]=J,w[p++]=Z+b,w[p++]=Z,w[p++]=J,w[p++]=J+b,w[p++]=Z+b;for(f=1;f<x-2;f++)J=b*x+b*(f+1)-1,Z=b*(f+1)-1,w[p++]=Z+b,w[p++]=J,w[p++]=Z,w[p++]=Z+b,w[p++]=J+b,w[p++]=J}let he=new pn;a.position&&(he.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:R}));let xe=0,re=0,_e=0,ye=0,De=O/2,we,Me=ee.fromCartesian3(t),Oe=ee.fromCartesian3(n);if(a.st||a.normal||a.tangent||a.bitangent){for(f=0;f<O;f++){we=M[f]?Oe:Me;let lt=h.fromArray(R,f*3,PQe),et=we.geodeticSurfaceNormal(lt,RQe);if(N[f]&&h.negate(et,et),a.st){let vt=z.negate(et,LQe);U[xe++]=Math.atan2(vt.y,vt.x)/P.TWO_PI+.5,U[xe++]=Math.asin(et.z)/Math.PI+.5}if(a.normal&&(I[re++]=et.x,I[re++]=et.y,I[re++]=et.z),a.tangent||a.bitangent){let vt=OQe,Qe=0,wt;if(M[f]&&(Qe=De),!E&&f>=Qe&&f<Qe+b*2?wt=h.UNIT_X:wt=h.UNIT_Z,h.cross(wt,et,vt),h.normalize(vt,vt),a.tangent&&(L[_e++]=vt.x,L[_e++]=vt.y,L[_e++]=vt.z),a.bitangent){let mt=h.cross(et,vt,MQe);h.normalize(mt,mt),B[ye++]=mt.x,B[ye++]=mt.y,B[ye++]=mt.z}}}a.st&&(he.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:U})),a.normal&&(he.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:I})),a.tangent&&(he.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:L})),a.bitangent&&(he.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:B}))}if(l(e._offsetAttribute)){let lt=R.length,et=e._offsetAttribute===ln.NONE?0:1,vt=new Uint8Array(lt/3).fill(et);he.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:vt})}return new ft({attributes:he,indices:w,primitiveType:Ne.TRIANGLES,boundingSphere:ce.fromEllipsoid(Me),offsetAttribute:e._offsetAttribute})};var Z7;Y_.getUnitEllipsoid=function(){return l(Z7)||(Z7=Y_.createGeometry(new Y_({radii:new h(1,1,1),vertexFormat:Ie.POSITION_ONLY}))),Z7};var ia=Y_;var FQe=new Ht(H.WHITE),$7=h.ZERO,Q7=new h,BQe=new h,kQe=new h,J7=new H,VQe=new h(1,1,1);function UQe(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function Bu(e,t){ri.call(this,{entity:e,scene:t,geometryOptions:new UQe(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}l(Object.create)&&(Bu.prototype=Object.create(ri.prototype),Bu.prototype.constructor=Bu);Object.defineProperties(Bu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Bu.prototype.createFillGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r,s=new bn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),c=Un.fromDistanceDisplayCondition(a),u={show:s,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let f;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||o)&&(f=this._materialProperty.color.getValue(e,J7)),l(f)||(f=H.WHITE),r=Wt.fromColor(f),u.color=r}return l(this._options.offsetAttribute)&&(u.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,$7,Q7))),new It({id:i,geometry:new ia(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:u})};Bu.prototype.createOutlineGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,J7),s=this._distanceDisplayConditionProperty.getValue(e),a={show:new bn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(r),distanceDisplayCondition:Un.fromDistanceDisplayCondition(s),offset:void 0};return l(this._options.offsetAttribute)&&(a.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,$7,Q7))),new It({id:i,geometry:new wu(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:a})};Bu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};Bu.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.radii)||ri.prototype._isHidden.call(this,e,t)};Bu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.radii.isConstant||!q.isConstant(t.innerRadii)||!q.isConstant(t.stackPartitions)||!q.isConstant(t.slicePartitions)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.minimumClock)||!q.isConstant(t.maximumClock)||!q.isConstant(t.minimumCone)||!q.isConstant(t.maximumCone)||!q.isConstant(t.subdivisions)};Bu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,qe.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,i.radii=t.radii.getValue(ze.MINIMUM_VALUE,i.radii),i.innerRadii=q.getValueOrUndefined(t.innerRadii,i.radii),i.minimumClock=q.getValueOrUndefined(t.minimumClock,ze.MINIMUM_VALUE),i.maximumClock=q.getValueOrUndefined(t.maximumClock,ze.MINIMUM_VALUE),i.minimumCone=q.getValueOrUndefined(t.minimumCone,ze.MINIMUM_VALUE),i.maximumCone=q.getValueOrUndefined(t.maximumCone,ze.MINIMUM_VALUE),i.stackPartitions=q.getValueOrUndefined(t.stackPartitions,ze.MINIMUM_VALUE),i.slicePartitions=q.getValueOrUndefined(t.slicePartitions,ze.MINIMUM_VALUE),i.subdivisions=q.getValueOrUndefined(t.subdivisions,ze.MINIMUM_VALUE),i.offsetAttribute=n!==qe.NONE?ln.ALL:void 0};Bu.prototype._onEntityPropertyChanged=zp;Bu.DynamicGeometryUpdater=fN;function fN(e,t,n){oi.call(this,e,t,n),this._scene=e._scene,this._modelMatrix=new F,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new h,this._material={}}l(Object.create)&&(fN.prototype=Object.create(oi.prototype),fN.prototype.constructor=fN);fN.prototype.update=function(e){let t=this._entity,n=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!q.getValueOrDefault(n.show,e,!0)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let i=q.getValueOrUndefined(n.radii,e,BQe),o=l(i)?t.computeModelMatrixForHeightReference(e,n.heightReference,i.z*.5,this._scene.ellipsoid,this._modelMatrix):void 0;if(!l(o)||!l(i)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let r=q.getValueOrDefault(n.fill,e,!0),s=q.getValueOrDefault(n.outline,e,!1),a=q.getValueOrClonedDefault(n.outlineColor,e,H.BLACK,J7),c=or.getValue(e,y(n.material,FQe),this._material),u=q.getValueOrUndefined(n.innerRadii,e,kQe),f=q.getValueOrUndefined(n.minimumClock,e),d=q.getValueOrUndefined(n.maximumClock,e),p=q.getValueOrUndefined(n.minimumCone,e),g=q.getValueOrUndefined(n.maximumCone,e),m=q.getValueOrUndefined(n.stackPartitions,e),x=q.getValueOrUndefined(n.slicePartitions,e),b=q.getValueOrUndefined(n.subdivisions,e),T=q.getValueOrDefault(n.outlineWidth,e,1),A=q.getValueOrDefault(n.heightReference,e,qe.NONE),C=A!==qe.NONE?ln.ALL:void 0,E=this._scene.mode,v=E===ne.SCENE3D&&A===qe.NONE,D=this._options,O=this._geometryUpdater.shadowsProperty.getValue(e),M=this._geometryUpdater.distanceDisplayConditionProperty.getValue(e),N=q.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,$7,Q7);if(!v||this._lastSceneMode!==E||!l(this._primitive)||D.stackPartitions!==m||D.slicePartitions!==x||l(u)&&!h.equals(D.innerRadii!==u)||D.minimumClock!==f||D.maximumClock!==d||D.minimumCone!==p||D.maximumCone!==g||D.subdivisions!==b||this._lastOutlineWidth!==T||D.offsetAttribute!==C){let S=this._primitives;S.removeAndDestroy(this._primitive),S.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=E,this._lastOutlineWidth=T,D.stackPartitions=m,D.slicePartitions=x,D.subdivisions=b,D.offsetAttribute=C,D.radii=h.clone(v?VQe:i,D.radii),l(u)?v?D.innerRadii=h.fromElements(u.x/i.x,u.y/i.y,u.z/i.z,D.innerRadii):D.innerRadii=h.clone(u,D.innerRadii):D.innerRadii=void 0,D.minimumClock=f,D.maximumClock=d,D.minimumCone=p,D.maximumCone=g;let w=new mo({material:c,translucent:c.isTranslucent(),closed:!0});D.vertexFormat=w.vertexFormat;let I=this._geometryUpdater.createFillGeometryInstance(e,v,this._modelMatrix);this._primitive=S.add(new Pn({geometryInstances:I,appearance:w,asynchronous:!1,shadows:O}));let L=this._geometryUpdater.createOutlineGeometryInstance(e,v,this._modelMatrix);this._outlinePrimitive=S.add(new Pn({geometryInstances:L,appearance:new fn({flat:!0,translucent:L.attributes.color.value[3]!==255,renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(T)}}),asynchronous:!1,shadows:O})),this._lastShow=r,this._lastOutlineShow=s,this._lastOutlineColor=H.clone(a,this._lastOutlineColor),this._lastDistanceDisplayCondition=M,this._lastOffset=h.clone(N,this._lastOffset)}else if(this._primitive.ready){let S=this._primitive,w=this._outlinePrimitive;S.show=!0,w.show=!0,S.appearance.material=c;let I=this._attributes;l(I)||(I=S.getGeometryInstanceAttributes(t),this._attributes=I),r!==this._lastShow&&(I.show=bn.toValue(r,I.show),this._lastShow=r);let L=this._outlineAttributes;l(L)||(L=w.getGeometryInstanceAttributes(t),this._outlineAttributes=L),s!==this._lastOutlineShow&&(L.show=bn.toValue(s,L.show),this._lastOutlineShow=s),H.equals(a,this._lastOutlineColor)||(L.color=Wt.toValue(a,L.color),H.clone(a,this._lastOutlineColor)),Nt.equals(M,this._lastDistanceDisplayCondition)||(I.distanceDisplayCondition=Un.toValue(M,I.distanceDisplayCondition),L.distanceDisplayCondition=Un.toValue(M,L.distanceDisplayCondition),Nt.clone(M,this._lastDistanceDisplayCondition)),h.equals(N,this._lastOffset)||(I.offset=to.toValue(N,I.offset),L.offset=to.toValue(N,I.offset),h.clone(N,this._lastOffset))}v&&(i.x=Math.max(i.x,.001),i.y=Math.max(i.y,.001),i.z=Math.max(i.z,.001),o=F.multiplyByScale(o,i,o),this._primitive.modelMatrix=o,this._outlinePrimitive.modelMatrix=o)};var dN=Bu;function tS(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.vertexFormat,Ie.DEFAULT);this._vertexFormat=t,this._workerName="createPlaneGeometry"}tS.packedLength=Ie.packedLength;tS.pack=function(e,t,n){return n=y(n,0),Ie.pack(e._vertexFormat,t,n),t};var Lhe=new Ie,zQe={vertexFormat:Lhe};tS.unpack=function(e,t,n){t=y(t,0);let i=Ie.unpack(e,t,Lhe);return l(n)?(n._vertexFormat=Ie.clone(i,n._vertexFormat),n):new tS(zQe)};var c4=new h(-.5,-.5,0),l4=new h(.5,.5,0);tS.createGeometry=function(e){let t=e._vertexFormat,n=new pn,i,o;if(t.position){if(o=new Float64Array(4*3),o[0]=c4.x,o[1]=c4.y,o[2]=0,o[3]=l4.x,o[4]=c4.y,o[5]=0,o[6]=l4.x,o[7]=l4.y,o[8]=0,o[9]=c4.x,o[10]=l4.y,o[11]=0,n.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:o}),t.normal){let r=new Float32Array(12);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=1,r[9]=0,r[10]=0,r[11]=1,n.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.st){let r=new Float32Array(8);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=1,r[5]=1,r[6]=0,r[7]=1,n.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:r})}if(t.tangent){let r=new Float32Array(12);r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r[6]=1,r[7]=0,r[8]=0,r[9]=1,r[10]=0,r[11]=0,n.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.bitangent){let r=new Float32Array(12);r[0]=0,r[1]=1,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=1,r[8]=0,r[9]=0,r[10]=1,r[11]=0,n.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}i=new Uint16Array(2*3),i[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3}return new ft({attributes:n,indices:i,primitiveType:Ne.TRIANGLES,boundingSphere:new ce(h.ZERO,Math.sqrt(2))})};var hN=tS;function nS(){this._workerName="createPlaneOutlineGeometry"}nS.packedLength=0;nS.pack=function(e,t){return t};nS.unpack=function(e,t,n){return l(n)?n:new nS};var t0=new h(-.5,-.5,0),u4=new h(.5,.5,0);nS.createGeometry=function(){let e=new pn,t=new Uint16Array(4*2),n=new Float64Array(4*3);return n[0]=t0.x,n[1]=t0.y,n[2]=t0.z,n[3]=u4.x,n[4]=t0.y,n[5]=t0.z,n[6]=u4.x,n[7]=u4.y,n[8]=t0.z,n[9]=t0.x,n[10]=u4.y,n[11]=t0.z,e.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new ft({attributes:e,indices:t,primitiveType:Ne.LINES,boundingSphere:new ce(h.ZERO,Math.sqrt(2))})};var mN=nS;var HQe=new h,Nhe=new H;function GQe(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function $f(e,t){ri.call(this,{entity:e,scene:t,geometryOptions:new GQe(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}l(Object.create)&&($f.prototype=Object.create(ri.prototype),$f.prototype.constructor=$f);$f.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Un.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let g;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(g=this._materialProperty.color.getValue(e,Nhe)),l(g)||(g=H.WHITE),o=Wt.fromColor(g),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};let c=t.plane,u=this._options,f=t.computeModelMatrix(e),d=q.getValueOrDefault(c.plane,e,u.plane),p=q.getValueOrUndefined(c.dimensions,e,u.dimensions);return u.plane=d,u.dimensions=p,f=eq(d,p,f,f),new It({id:t,geometry:new hN(this._options),modelMatrix:f,attributes:i})};$f.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Nhe),o=this._distanceDisplayConditionProperty.getValue(e),r=t.plane,s=this._options,a=t.computeModelMatrix(e),c=q.getValueOrDefault(r.plane,e,s.plane),u=q.getValueOrUndefined(r.dimensions,e,s.dimensions);return s.plane=c,s.dimensions=u,a=eq(c,u,a,a),new It({id:t,geometry:new mN,modelMatrix:a,attributes:{show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o)}})};$f.prototype._isHidden=function(e,t){return!l(t.plane)||!l(t.dimensions)||!l(e.position)||ri.prototype._isHidden.call(this,e,t)};$f.prototype._getIsClosed=function(e){return!1};$f.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.plane.isConstant||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};$f.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=this._options;i.vertexFormat=n?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,i.plane=t.plane.getValue(ze.MINIMUM_VALUE,i.plane),i.dimensions=t.dimensions.getValue(ze.MINIMUM_VALUE,i.dimensions)};$f.DynamicGeometryUpdater=iS;function iS(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(iS.prototype=Object.create(oi.prototype),iS.prototype.constructor=iS);iS.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,HQe);return!l(o)||!l(i.plane)||!l(i.dimensions)||oi.prototype._isHidden.call(this,e,t,n)};iS.prototype._setOptions=function(e,t,n){let i=this._options;i.plane=q.getValueOrDefault(t.plane,n,i.plane),i.dimensions=q.getValueOrUndefined(t.dimensions,n,i.dimensions)};var WQe=new h,jQe=new h,qQe=new h,YQe=new h,XQe=new $,KQe=new $,ZQe=new F;function eq(e,t,n,i){let o=e.normal,r=e.distance,s=h.multiplyByScalar(o,-r,qQe),a=h.clone(h.UNIT_Z,jQe);P.equalsEpsilon(Math.abs(h.dot(a,o)),1,P.EPSILON8)&&(a=h.clone(h.UNIT_Y,a));let c=h.cross(a,o,WQe);a=h.cross(o,c,a),h.normalize(c,c),h.normalize(a,a);let u=XQe;$.setColumn(u,0,c,u),$.setColumn(u,1,a,u),$.setColumn(u,2,o,u);let f=h.fromElements(t.x,t.y,1,YQe),d=$.multiplyByScale(u,f,KQe),p=F.fromRotationTranslation(d,s,ZQe);return F.multiplyTransformation(n,p,i)}$f.createPrimitiveMatrix=eq;var pN=$f;var $Qe=new h,QQe=new We,JQe=new z,eJe=new z,tJe=new h,nJe=new h,iJe=new h,_N=new h,oJe=new h,rJe=new h,Fhe=new Le,sJe=new $,aJe=new $,cJe=new h;function lJe(e,t,n,i,o,r,s,a,c){let u=e.positions,f=ci.triangulate(e.positions2D,e.holes);f.length<3&&(f=[0,1,2]);let d=Fe.createTypedArray(u.length,f.length);d.set(f);let p=sJe;if(i!==0){let _=Le.fromAxisAngle(s,i,Fhe);if(p=$.fromQuaternion(_,p),t.tangent||t.bitangent){_=Le.fromAxisAngle(s,-i,Fhe);let S=$.fromQuaternion(_,aJe);a=h.normalize($.multiplyByVector(S,a,a),a),t.bitangent&&(c=h.normalize(h.cross(s,a,c),c))}}else p=$.clone($.IDENTITY,p);let g=eJe;t.st&&(g.x=n.x,g.y=n.y);let m=u.length,x=m*3,b=new Float64Array(x),T=t.normal?new Float32Array(x):void 0,A=t.tangent?new Float32Array(x):void 0,C=t.bitangent?new Float32Array(x):void 0,E=t.st?new Float32Array(m*2):void 0,v=0,D=0,O=0,R=0,M=0;for(let _=0;_<m;_++){let S=u[_];if(b[v++]=S.x,b[v++]=S.y,b[v++]=S.z,t.st)if(l(o)&&o.positions.length===m)E[M++]=o.positions[_].x,E[M++]=o.positions[_].y;else{let w=$.multiplyByVector(p,S,$Qe),I=r(w,JQe);z.subtract(I,g,I);let L=P.clamp(I.x/n.width,0,1),B=P.clamp(I.y/n.height,0,1);E[M++]=L,E[M++]=B}t.normal&&(T[D++]=s.x,T[D++]=s.y,T[D++]=s.z),t.tangent&&(A[R++]=a.x,A[R++]=a.y,A[R++]=a.z),t.bitangent&&(C[O++]=c.x,C[O++]=c.y,C[O++]=c.z)}let N=new pn;return t.position&&(N.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b})),t.normal&&(N.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),t.tangent&&(N.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.bitangent&&(N.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.st&&(N.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:E})),new ft({attributes:N,indices:d,primitiveType:Ne.TRIANGLES})}function sT(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy,n=e.textureCoordinates,i=y(e.vertexFormat,Ie.DEFAULT);this._vertexFormat=Ie.clone(i),this._polygonHierarchy=t,this._stRotation=y(e.stRotation,0),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=n,this.packedLength=Gn.computeHierarchyPackedLength(t,h)+Ie.packedLength+ee.packedLength+(l(n)?Gn.computeHierarchyPackedLength(n,z):1)+2}sT.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new sT(t)};sT.pack=function(e,t,n){return n=y(n,0),n=Gn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._stRotation,l(e._textureCoordinates)?n=Gn.packPolygonHierarchy(e._textureCoordinates,t,n,z):t[n++]=-1,t[n++]=e.packedLength,t};var uJe=ee.clone(ee.UNIT_SPHERE),fJe=new Ie,dJe={polygonHierarchy:{}};sT.unpack=function(e,t,n){t=y(t,0);let i=Gn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,uJe);t+=ee.packedLength;let r=Ie.unpack(e,t,fJe);t+=Ie.packedLength;let s=e[t++],a=e[t]===-1?void 0:Gn.unpackPolygonHierarchy(e,t,z);l(a)?(t=a.startingIndex,delete a.startingIndex):t++;let c=e[t++];return l(n)||(n=new sT(dJe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._stRotation=s,n._textureCoordinates=a,n.packedLength=c,n};sT.createGeometry=function(e){let t=e._vertexFormat,n=e._polygonHierarchy,i=e._stRotation,o=e._textureCoordinates,r=l(o),s=n.positions;if(s=So(s,h.equalsEpsilon,!0),s.length<3)return;let a=tJe,c=nJe,u=iJe,f=oJe,d=rJe;if(!E_.computeProjectTo2DArguments(s,_N,f,d))return;if(a=h.cross(f,d,a),a=h.normalize(a,a),!h.equalsEpsilon(_N,h.ZERO,P.EPSILON6)){let M=e._ellipsoid.geodeticSurfaceNormal(_N,cJe);h.dot(a,M)<0&&(a=h.negate(a,a),f=h.negate(f,f))}let g=E_.createProjectPointsTo2DFunction(_N,f,d),m=E_.createProjectPointTo2DFunction(_N,f,d);t.tangent&&(c=h.clone(f,c)),t.bitangent&&(u=h.clone(d,u));let x=Gn.polygonsFromHierarchy(n,r,g,!1),b=x.hierarchy,T=x.polygons,A=function(M){return M},C=r?Gn.polygonsFromHierarchy(o,!0,A,!1).polygons:void 0;if(b.length===0)return;s=b[0].outerRing;let E=ce.fromPoints(s),v=Gn.computeBoundingRectangle(a,m,s,i,QQe),D=[];for(let M=0;M<T.length;M++){let N=new It({geometry:lJe(T[M],t,v,i,r?C[M]:void 0,m,a,c,u)});D.push(N)}let O=Fn.combineInstances(D)[0];O.attributes.position.values=new Float64Array(O.attributes.position.values),O.indices=Fe.createTypedArray(O.attributes.position.values.length/3,O.indices);let R=O.attributes;return t.position||delete R.position,new ft({attributes:R,indices:O.indices,primitiveType:O.primitiveType,boundingSphere:E})};var gN=sT;var Bhe=[],f4=[];function hJe(e,t,n,i,o){let s=ns.fromPoints(t,e).projectPointsOntoPlane(t,Bhe);ci.computeWindingOrder2D(s)===gs.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=0;if(i)for(c=new Float64Array(f*2*3),u=0;u<f;u++){let m=t[u],x=t[(u+1)%f];c[d++]=m.x,c[d++]=m.y,c[d++]=m.z,c[d++]=x.x,c[d++]=x.y,c[d++]=x.z}else{let m=0;if(o===nn.GEODESIC)for(u=0;u<f;u++)m+=Gn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===nn.RHUMB)for(u=0;u<f;u++)m+=Gn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(m*3),u=0;u<f;u++){let x;o===nn.GEODESIC?x=Gn.subdivideLine(t[u],t[(u+1)%f],n,f4):o===nn.RHUMB&&(x=Gn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,f4));let b=x.length;for(let T=0;T<b;++T)c[d++]=x[T]}}f=c.length/3;let p=f*2,g=Fe.createTypedArray(f,p);for(d=0,u=0;u<f-1;u++)g[d++]=u,g[d++]=u+1;return g[d++]=f-1,g[d++]=0,new It({geometry:new ft({attributes:new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:g,primitiveType:Ne.LINES})})}function mJe(e,t,n,i,o){let s=ns.fromPoints(t,e).projectPointsOntoPlane(t,Bhe);ci.computeWindingOrder2D(s)===gs.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=new Array(f),p=0;if(i)for(c=new Float64Array(f*2*3*2),u=0;u<f;++u){d[u]=p/3;let b=t[u],T=t[(u+1)%f];c[p++]=b.x,c[p++]=b.y,c[p++]=b.z,c[p++]=T.x,c[p++]=T.y,c[p++]=T.z}else{let b=0;if(o===nn.GEODESIC)for(u=0;u<f;u++)b+=Gn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===nn.RHUMB)for(u=0;u<f;u++)b+=Gn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(b*3*2),u=0;u<f;++u){d[u]=p/3;let T;o===nn.GEODESIC?T=Gn.subdivideLine(t[u],t[(u+1)%f],n,f4):o===nn.RHUMB&&(T=Gn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,f4));let A=T.length;for(let C=0;C<A;++C)c[p++]=T[C]}}f=c.length/(3*2);let g=d.length,m=(f*2+g)*2,x=Fe.createTypedArray(f+g,m);for(p=0,u=0;u<f;++u)x[p++]=u,x[p++]=(u+1)%f,x[p++]=u+f,x[p++]=(u+1)%f+f;for(u=0;u<g;u++){let b=d[u];x[p++]=b,x[p++]=b+f}return new It({geometry:new ft({attributes:new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:x,primitiveType:Ne.LINES})})}function aT(e){let t=e.polygonHierarchy,n=y(e.ellipsoid,ee.default),i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.perPositionHeight,!1),r=o&&l(e.extrudedHeight),s=y(e.arcType,nn.GEODESIC),a=y(e.height,0),c=y(e.extrudedHeight,a);if(!r){let u=Math.max(a,c);c=Math.min(a,c),a=u}this._ellipsoid=ee.clone(n),this._granularity=i,this._height=a,this._extrudedHeight=c,this._arcType=s,this._polygonHierarchy=t,this._perPositionHeight=o,this._perPositionHeightExtrude=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=Gn.computeHierarchyPackedLength(t,h)+ee.packedLength+8}aT.pack=function(e,t,n){return n=y(n,0),n=Gn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._arcType,t[n++]=y(e._offsetAttribute,-1),t[n]=e.packedLength,t};var pJe=ee.clone(ee.UNIT_SPHERE),_Je={polygonHierarchy:{}};aT.unpack=function(e,t,n){t=y(t,0);let i=Gn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,pJe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++]===1,u=e[t++]===1,f=e[t++],d=e[t++],p=e[t];return l(n)||(n=new aT(_Je)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._height=r,n._extrudedHeight=s,n._granularity=a,n._perPositionHeight=u,n._perPositionHeightExtrude=c,n._arcType=f,n._offsetAttribute=d===-1?void 0:d,n.packedLength=p,n};aT.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new aT(t)};aT.createGeometry=function(e){let t=e._ellipsoid,n=e._granularity,i=e._polygonHierarchy,o=e._perPositionHeight,r=e._arcType,s=Gn.polygonOutlinesFromHierarchy(i,!o,t);if(s.length===0)return;let a,c=[],u=P.chordLength(n,t.maximumRadius),f=e._height,d=e._extrudedHeight,p=e._perPositionHeightExtrude||!P.equalsEpsilon(f,d,0,P.EPSILON2),g,m;if(p)for(m=0;m<s.length;m++){if(a=mJe(t,s[m],u,o,r),a.geometry=Gn.scaleToGeodeticHeightExtruded(a.geometry,f,d,t,o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length/3,A=new Uint8Array(T);e._offsetAttribute===ln.TOP?A=A.fill(1,0,T/2):(g=e._offsetAttribute===ln.NONE?0:1,A=A.fill(g)),a.geometry.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}c.push(a)}else for(m=0;m<s.length;m++){if(a=hJe(t,s[m],u,o,r),a.geometry.attributes.position.values=ci.scaleToGeodeticHeight(a.geometry.attributes.position.values,f,t,!o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length;g=e._offsetAttribute===ln.NONE?0:1;let A=new Uint8Array(T/3).fill(g);a.geometry.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}c.push(a)}let x=Fn.combineInstances(c)[0],b=ce.fromVertices(x.attributes.position.values);return new ft({attributes:x.attributes,indices:x.indices,primitiveType:x.primitiveType,boundingSphere:b,offsetAttribute:e._offsetAttribute})};var yN=aT;var khe="Entity polygons cannot have both height and perPositionHeight. height will be ignored",Vhe="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",Uhe=new H,zhe=h.ZERO,Hhe=new h,Ghe=new ae,gJe=[],yJe=new z;function xJe(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0,this.textureCoordinates=void 0}function ku(e,t){qn.call(this,{entity:e,scene:t,geometryOptions:new xJe(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}l(Object.create)&&(ku.prototype=Object.create(qn.prototype),ku.prototype.constructor=ku);ku.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Un.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let s;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(s=this._materialProperty.color.getValue(e,Uhe)),l(s)||(s=H.WHITE),o.color=Wt.fromColor(s)}l(i.offsetAttribute)&&(o.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,zhe,Hhe)));let r;return i.perPositionHeight&&!l(i.extrudedHeight)?r=new gN(i):r=new t_(i),new It({id:t,geometry:r,attributes:o})};ku.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Uhe),r=this._distanceDisplayConditionProperty.getValue(e),s={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(o),distanceDisplayCondition:Un.fromDistanceDisplayCondition(r),offset:void 0};l(i.offsetAttribute)&&(s.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,zhe,Hhe)));let a;return i.perPositionHeight&&!l(i.extrudedHeight)?a=new Gf(i):a=new yN(i),new It({id:t,geometry:a,attributes:s})};ku.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(!l(n))return;let i=n.positions;if(i.length===0)return;let o=this._scene.ellipsoid,r=ns.fromPoints(i,o),s=r.projectPointsOntoPlane(i,gJe),a=s.length,c=0,u=a-1,f=new z;for(let p=0;p<a;u=p++){let g=s[p],m=s[u],x=g.x*m.y-m.x*g.y,b=z.add(g,m,yJe);b=z.multiplyByScalar(b,x,b),f=z.add(f,b,f),c+=x}let d=1/(c*3);return f=z.multiplyByScalar(f,d,f),r.projectPointOntoEllipsoid(f,t)};ku.prototype._isHidden=function(e,t){return!l(t.hierarchy)||ri.prototype._isHidden.call(this,e,t)};ku.prototype._isOnTerrain=function(e,t){let n=qn.prototype._isOnTerrain.call(this,e,t),i=t.perPositionHeight,o=l(i)&&(i.isConstant?i.getValue(ze.MINIMUM_VALUE):!0);return n&&!o};ku.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.textureCoordinates)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.perPositionHeight)||!q.isConstant(t.closeTop)||!q.isConstant(t.closeBottom)||!q.isConstant(t.zIndex)||!q.isConstant(t.arcType)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};ku.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=this._options;i.vertexFormat=n?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat;let o=t.hierarchy.getValue(ze.MINIMUM_VALUE),r=q.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),s=q.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,qe.NONE),a=q.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),c=q.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,qe.NONE),u=q.getValueOrDefault(t.perPositionHeight,ze.MINIMUM_VALUE,!1);r=qn.getGeometryHeight(r,s);let f;if(u?(l(r)&&(r=void 0,bt(khe)),s!==qe.NONE&&u&&(r=void 0,bt(Vhe))):(l(a)&&!l(r)&&(r=0),f=qn.computeGeometryOffsetAttribute(r,s,a,c)),i.polygonHierarchy=o,i.granularity=q.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),i.stRotation=q.getValueOrUndefined(t.stRotation,ze.MINIMUM_VALUE),i.perPositionHeight=u,i.closeTop=q.getValueOrDefault(t.closeTop,ze.MINIMUM_VALUE,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,ze.MINIMUM_VALUE,!0),i.offsetAttribute=f,i.height=r,i.arcType=q.getValueOrDefault(t.arcType,ze.MINIMUM_VALUE,nn.GEODESIC),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,ze.MINIMUM_VALUE),a=qn.getGeometryExtrudedHeight(a,c),a===qn.CLAMP_TO_GROUND){let d=t_.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Ghe);a=fi.getMinimumMaximumHeights(d).minimumTerrainHeight}i.extrudedHeight=a};ku.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight,i=l(n)&&n!==t;return!e.perPositionHeight&&(!i&&t===0||i&&e.closeTop&&e.closeBottom)};ku.DynamicGeometryUpdater=oS;function oS(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(oS.prototype=Object.create(oi.prototype),oS.prototype.constructor=oS);oS.prototype._isHidden=function(e,t,n){return!l(this._options.polygonHierarchy)||oi.prototype._isHidden.call(this,e,t,n)};oS.prototype._setOptions=function(e,t,n){let i=this._options;i.polygonHierarchy=q.getValueOrUndefined(t.hierarchy,n);let o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,qe.NONE),s=q.getValueOrDefault(t.extrudedHeightReference,n,qe.NONE),a=q.getValueOrUndefined(t.extrudedHeight,n),c=q.getValueOrUndefined(t.perPositionHeight,n);o=qn.getGeometryHeight(o,s);let u;if(c?(l(o)&&(o=void 0,bt(khe)),r!==qe.NONE&&c&&(o=void 0,bt(Vhe))):(l(a)&&!l(o)&&(o=0),u=qn.computeGeometryOffsetAttribute(o,r,a,s)),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,n),i.perPositionHeight=q.getValueOrUndefined(t.perPositionHeight,n),i.closeTop=q.getValueOrDefault(t.closeTop,n,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,n,!0),i.offsetAttribute=u,i.height=o,i.arcType=q.getValueOrDefault(t.arcType,n,nn.GEODESIC),a=qn.getGeometryExtrudedHeight(a,s),a===qn.CLAMP_TO_GROUND){let f=t_.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Ghe);a=fi.getMinimumMaximumHeights(f).minimumTerrainHeight}i.extrudedHeight=a};var xN=ku;function bJe(e,t,n,i){let o=new pn;i.position&&(o.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e}));let r=t.length,s=e.length/3,a=(s-r*2)/(r*2),c=ci.triangulate(t),u=(a-1)*r*6+c.length*2,f=Fe.createTypedArray(s,u),d,p,g,m,x,b,T=r*2,A=0;for(d=0;d<a-1;d++){for(p=0;p<r-1;p++)g=p*2+d*r*2,b=g+T,m=g+1,x=m+T,f[A++]=m,f[A++]=g,f[A++]=x,f[A++]=x,f[A++]=g,f[A++]=b;g=r*2-2+d*r*2,m=g+1,x=m+T,b=g+T,f[A++]=m,f[A++]=g,f[A++]=x,f[A++]=x,f[A++]=g,f[A++]=b}if(i.st||i.tangent||i.bitangent){let v=new Float32Array(s*2),D=1/(a-1),O=1/n.height,R=n.height/2,M,N,_=0;for(d=0;d<a;d++){for(M=d*D,N=O*(t[0].y+R),v[_++]=M,v[_++]=N,p=1;p<r;p++)N=O*(t[p].y+R),v[_++]=M,v[_++]=N,v[_++]=M,v[_++]=N;N=O*(t[0].y+R),v[_++]=M,v[_++]=N}for(p=0;p<r;p++)M=0,N=O*(t[p].y+R),v[_++]=M,v[_++]=N;for(p=0;p<r;p++)M=(a-1)*D,N=O*(t[p].y+R),v[_++]=M,v[_++]=N;o.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:new Float32Array(v)})}let C=s-r*2;for(d=0;d<c.length;d+=3){let v=c[d]+C,D=c[d+1]+C,O=c[d+2]+C;f[A++]=v,f[A++]=D,f[A++]=O,f[A++]=O+r,f[A++]=D+r,f[A++]=v+r}let E=new ft({attributes:o,indices:f,boundingSphere:ce.fromVertices(e),primitiveType:Ne.TRIANGLES});if(i.normal&&(E=Fn.computeNormal(E)),i.tangent||i.bitangent){try{E=Fn.computeTangentAndBitangent(E)}catch{bt("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(E.attributes.tangent=void 0),i.bitangent||(E.attributes.bitangent=void 0),i.st||(E.attributes.st=void 0)}return E}function TN(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*z.packedLength,this.packedLength=i+ee.packedLength+Ie.packedLength+2}TN.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var Whe=ee.clone(ee.UNIT_SPHERE),jhe=new Ie,bN={polylinePositions:void 0,shapePositions:void 0,ellipsoid:Whe,vertexFormat:jhe,cornerType:void 0,granularity:void 0};TN.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ee.unpack(e,t,Whe);t+=ee.packedLength;let c=Ie.unpack(e,t,jhe);t+=Ie.packedLength;let u=e[t++],f=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Ie.clone(c,n._vertexFormat),n._cornerType=u,n._granularity=f,n):(bN.polylinePositions=r,bN.shapePositions=s,bN.cornerType=u,bN.granularity=f,new TN(bN))};var TJe=new We;TN.createGeometry=function(e){let t=e._positions,n=So(t,h.equalsEpsilon),i=e._shape;if(i=ah.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ci.computeWindingOrder2D(i)===gs.CLOCKWISE&&i.reverse();let o=We.fromPoints(i,TJe),r=ah.computePositions(n,i,o,e,!0);return bJe(r,i,o,e._vertexFormat)};var CN=TN;function CJe(e,t){let n=new pn;n.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e});let i=t.length,o=n.position.values.length/3,s=e.length/3/i,a=Fe.createTypedArray(o,2*i*(s+1)),c,u,f=0;c=0;let d=c*i;for(u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=s-1,d=c*i,u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=0;c<s-1;c++){let g=i*c,m=g+i;for(u=0;u<i;u++)a[f++]=u+g,a[f++]=u+m}return new ft({attributes:n,indices:Fe.createTypedArray(o,a),boundingSphere:ce.fromVertices(e),primitiveType:Ne.LINES})}function EN(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*z.packedLength,this.packedLength=i+ee.packedLength+2}EN.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var qhe=ee.clone(ee.UNIT_SPHERE),AN={polylinePositions:void 0,shapePositions:void 0,ellipsoid:qhe,height:void 0,cornerType:void 0,granularity:void 0};EN.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ee.unpack(e,t,qhe);t+=ee.packedLength;let c=e[t++],u=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._cornerType=c,n._granularity=u,n):(AN.polylinePositions=r,AN.shapePositions=s,AN.cornerType=c,AN.granularity=u,new EN(AN))};var AJe=new We;EN.createGeometry=function(e){let t=e._positions,n=So(t,h.equalsEpsilon),i=e._shape;if(i=ah.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ci.computeWindingOrder2D(i)===gs.CLOCKWISE&&i.reverse();let o=We.fromPoints(i,AJe),r=ah.computePositions(n,i,o,e,!1);return CJe(r,i)};var SN=EN;var Yhe=new H;function EJe(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function Dm(e,t){ri.call(this,{entity:e,scene:t,geometryOptions:new EJe(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}l(Object.create)&&(Dm.prototype=Object.create(ri.prototype),Dm.prototype.constructor=Dm);Dm.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Un.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Yhe)),l(c)||(c=H.WHITE),o=Wt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new It({id:t,geometry:new CN(this._options),attributes:i})};Dm.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Yhe),o=this._distanceDisplayConditionProperty.getValue(e);return new It({id:t,geometry:new SN(this._options),attributes:{show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o)}})};Dm.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.shape)||ri.prototype._isHidden.call(this,e,t)};Dm.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!t.shape.isConstant||!q.isConstant(t.granularity)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)};Dm.prototype._setStaticOptions=function(e,t){let n=t.granularity,i=t.cornerType,o=this._options,r=this._materialProperty instanceof Ht;o.vertexFormat=r?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,o.polylinePositions=t.positions.getValue(ze.MINIMUM_VALUE,o.polylinePositions),o.shapePositions=t.shape.getValue(ze.MINIMUM_VALUE,o.shape),o.granularity=l(n)?n.getValue(ze.MINIMUM_VALUE):void 0,o.cornerType=l(i)?i.getValue(ze.MINIMUM_VALUE):void 0};Dm.DynamicGeometryUpdater=rS;function rS(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(rS.prototype=Object.create(oi.prototype),rS.prototype.constructor=rS);rS.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.polylinePositions)||!l(i.shapePositions)||oi.prototype._isHidden.call(this,e,t,n)};rS.prototype._setOptions=function(e,t,n){let i=this._options;i.polylinePositions=q.getValueOrUndefined(t.positions,n,i.polylinePositions),i.shapePositions=q.getValueOrUndefined(t.shape,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n)};var vN=Dm;var tq=new h,Zhe=new h,$he=new h,Qhe=new h,Jhe=new ae,SJe=new z,vJe=new ce,wJe=new ce;function eme(e,t){let n=new ft({attributes:new pn,primitiveType:Ne.TRIANGLES});return n.attributes.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(n.attributes.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(n.attributes.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(n.attributes.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.bitangents})),n}function DJe(e,t,n,i){let o=e.length,r=t.normal?new Float32Array(o):void 0,s=t.tangent?new Float32Array(o):void 0,a=t.bitangent?new Float32Array(o):void 0,c=0,u=Qhe,f=$he,d=Zhe;if(t.normal||t.tangent||t.bitangent)for(let p=0;p<o;p+=3){let g=h.fromArray(e,p,tq),m=c+1,x=c+2;d=n.geodeticSurfaceNormal(g,d),(t.tangent||t.bitangent)&&(h.cross(h.UNIT_Z,d,f),$.multiplyByVector(i,f,f),h.normalize(f,f),t.bitangent&&h.normalize(h.cross(d,f,u),u)),t.normal&&(r[c]=d.x,r[m]=d.y,r[x]=d.z),t.tangent&&(s[c]=f.x,s[m]=f.y,s[x]=f.z),t.bitangent&&(a[c]=u.x,a[m]=u.y,a[x]=u.z),c+=3}return eme(t,{positions:e,normals:r,tangents:s,bitangents:a})}var nq=new h,tme=new h;function IJe(e,t,n){let i=e.length,o=t.normal?new Float32Array(i):void 0,r=t.tangent?new Float32Array(i):void 0,s=t.bitangent?new Float32Array(i):void 0,a=0,c=0,u=0,f=!0,d=Qhe,p=$he,g=Zhe;if(t.normal||t.tangent||t.bitangent)for(let m=0;m<i;m+=6){let x=h.fromArray(e,m,tq),b=h.fromArray(e,(m+6)%i,nq);if(f){let T=h.fromArray(e,(m+3)%i,tme);h.subtract(b,x,b),h.subtract(T,x,T),g=h.normalize(h.cross(T,b,g),g),f=!1}h.equalsEpsilon(b,x,P.EPSILON10)&&(f=!0),(t.tangent||t.bitangent)&&(d=n.geodeticSurfaceNormal(x,d),t.tangent&&(p=h.normalize(h.cross(d,g,p),p))),t.normal&&(o[a++]=g.x,o[a++]=g.y,o[a++]=g.z,o[a++]=g.x,o[a++]=g.y,o[a++]=g.z),t.tangent&&(r[c++]=p.x,r[c++]=p.y,r[c++]=p.z,r[c++]=p.x,r[c++]=p.y,r[c++]=p.z),t.bitangent&&(s[u++]=d.x,s[u++]=d.y,s[u++]=d.z,s[u++]=d.x,s[u++]=d.y,s[u++]=d.z)}return eme(t,{positions:e,normals:o,tangents:r,bitangents:s})}function nme(e,t){let n=e._vertexFormat,i=e._ellipsoid,o=t.height,r=t.width,s=t.northCap,a=t.southCap,c=0,u=o,f=o,d=0;s&&(c=1,f-=1,d+=1),a&&(u-=1,f-=1,d+=1),d+=r*f;let p=n.position?new Float64Array(d*3):void 0,g=n.st?new Float32Array(d*2):void 0,m=0,x=0,b=tq,T=SJe,A=Number.MAX_VALUE,C=Number.MAX_VALUE,E=-Number.MAX_VALUE,v=-Number.MAX_VALUE;for(let S=c;S<u;++S)for(let w=0;w<r;++w)Ls.computePosition(t,i,n.st,S,w,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,A=Math.min(A,T.x),C=Math.min(C,T.y),E=Math.max(E,T.x),v=Math.max(v,T.y));if(s&&(Ls.computePosition(t,i,n.st,0,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,A=T.x,C=T.y,E=T.x,v=T.y)),a&&(Ls.computePosition(t,i,n.st,o-1,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m]=b.z,n.st&&(g[x++]=T.x,g[x]=T.y,A=Math.min(A,T.x),C=Math.min(C,T.y),E=Math.max(E,T.x),v=Math.max(v,T.y))),n.st&&(A<0||C<0||E>1||v>1))for(let S=0;S<g.length;S+=2)g[S]=(g[S]-A)/(E-A),g[S+1]=(g[S+1]-C)/(v-C);let D=DJe(p,n,i,t.tangentRotationMatrix),O=6*(r-1)*(f-1);s&&(O+=3*(r-1)),a&&(O+=3*(r-1));let R=Fe.createTypedArray(d,O),M=0,N=0,_;for(_=0;_<f-1;++_){for(let S=0;S<r-1;++S){let w=M,I=w+r,L=I+1,B=w+1;R[N++]=w,R[N++]=I,R[N++]=B,R[N++]=B,R[N++]=I,R[N++]=L,++M}++M}if(s||a){let S=d-1,w=d-1;s&&a&&(S=d-2);let I,L;if(M=0,s)for(_=0;_<r-1;_++)I=M,L=I+1,R[N++]=S,R[N++]=I,R[N++]=L,++M;if(a)for(M=(f-1)*r,_=0;_<r-1;_++)I=M,L=I+1,R[N++]=I,R[N++]=w,R[N++]=L,++M}return D.indices=R,n.st&&(D.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),D}function sS(e,t,n,i,o){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],e[t++]=o[n],e[t++]=o[n+1],e[t]=o[n+2],e}function aS(e,t,n,i){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n],e[t]=i[n+1],e}var iq=new Ie;function PJe(e,t){let n=e._shadowVolume,i=e._offsetAttribute,o=e._vertexFormat,r=e._extrudedHeight,s=e._surfaceHeight,a=e._ellipsoid,c=t.height,u=t.width,f;if(n){let Qe=Ie.clone(o,iq);Qe.normal=!0,e._vertexFormat=Qe}let d=nme(e,t);n&&(e._vertexFormat=o);let p=ci.scaleToGeodeticHeight(d.attributes.position.values,s,a,!1);p=new Float64Array(p);let g=p.length,m=g*2,x=new Float64Array(m);x.set(p);let b=ci.scaleToGeodeticHeight(d.attributes.position.values,r,a);x.set(b,g),d.attributes.position.values=x;let T=o.normal?new Float32Array(m):void 0,A=o.tangent?new Float32Array(m):void 0,C=o.bitangent?new Float32Array(m):void 0,E=o.st?new Float32Array(m/3*2):void 0,v,D;if(o.normal){for(D=d.attributes.normal.values,T.set(D),f=0;f<g;f++)D[f]=-D[f];T.set(D,g),d.attributes.normal.values=T}if(n){D=d.attributes.normal.values,o.normal||(d.attributes.normal=void 0);let Qe=new Float32Array(m);for(f=0;f<g;f++)D[f]=-D[f];Qe.set(D,g),d.attributes.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:Qe})}let O,R=l(i);if(R){let Qe=g/3*2,wt=new Uint8Array(Qe);i===ln.TOP?wt=wt.fill(1,0,Qe/2):(O=i===ln.NONE?0:1,wt=wt.fill(O)),d.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:wt})}if(o.tangent){let Qe=d.attributes.tangent.values;for(A.set(Qe),f=0;f<g;f++)Qe[f]=-Qe[f];A.set(Qe,g),d.attributes.tangent.values=A}if(o.bitangent){let Qe=d.attributes.bitangent.values;C.set(Qe),C.set(Qe,g),d.attributes.bitangent.values=C}o.st&&(v=d.attributes.st.values,E.set(v),E.set(v,g/3*2),d.attributes.st.values=E);let M=d.indices,N=M.length,_=g/3,S=Fe.createTypedArray(m/3,N*2);for(S.set(M),f=0;f<N;f+=3)S[f+N]=M[f+2]+_,S[f+1+N]=M[f+1]+_,S[f+2+N]=M[f]+_;d.indices=S;let w=t.northCap,I=t.southCap,L=c,B=2,U=0,V=4,G=4;w&&(B-=1,L-=1,U+=1,V-=2,G-=1),I&&(B-=1,L-=1,U+=1,V-=2,G-=1),U+=B*u+2*L-V;let k=(U+G)*2,W=new Float64Array(k*3),Y=n?new Float32Array(k*3):void 0,Q=R?new Uint8Array(k):void 0,j=o.st?new Float32Array(k*2):void 0,Z=i===ln.TOP;R&&!Z&&(O=i===ln.ALL?1:0,Q=Q.fill(O));let J=0,he=0,xe=0,re=0,_e=u*L,ye;for(f=0;f<_e;f+=u)ye=f*3,W=sS(W,J,ye,p,b),J+=6,o.st&&(j=aS(j,he,f*2,v),he+=4),n&&(xe+=3,Y[xe++]=D[ye],Y[xe++]=D[ye+1],Y[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);if(I){let Qe=w?_e+1:_e;for(ye=Qe*3,f=0;f<2;f++)W=sS(W,J,ye,p,b),J+=6,o.st&&(j=aS(j,he,Qe*2,v),he+=4),n&&(xe+=3,Y[xe++]=D[ye],Y[xe++]=D[ye+1],Y[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1)}else for(f=_e-u;f<_e;f++)ye=f*3,W=sS(W,J,ye,p,b),J+=6,o.st&&(j=aS(j,he,f*2,v),he+=4),n&&(xe+=3,Y[xe++]=D[ye],Y[xe++]=D[ye+1],Y[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);for(f=_e-1;f>0;f-=u)ye=f*3,W=sS(W,J,ye,p,b),J+=6,o.st&&(j=aS(j,he,f*2,v),he+=4),n&&(xe+=3,Y[xe++]=D[ye],Y[xe++]=D[ye+1],Y[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);if(w){let Qe=_e;for(ye=Qe*3,f=0;f<2;f++)W=sS(W,J,ye,p,b),J+=6,o.st&&(j=aS(j,he,Qe*2,v),he+=4),n&&(xe+=3,Y[xe++]=D[ye],Y[xe++]=D[ye+1],Y[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1)}else for(f=u-1;f>=0;f--)ye=f*3,W=sS(W,J,ye,p,b),J+=6,o.st&&(j=aS(j,he,f*2,v),he+=4),n&&(xe+=3,Y[xe++]=D[ye],Y[xe++]=D[ye+1],Y[xe++]=D[ye+2]),Z&&(Q[re++]=1,re+=1);let De=IJe(W,o,a);o.st&&(De.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:j})),n&&(De.attributes.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:Y})),R&&(De.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:Q}));let we=Fe.createTypedArray(k,U*6),Me,Oe,lt,et;g=W.length/3;let vt=0;for(f=0;f<g-1;f+=2){Me=f,et=(Me+2)%g;let Qe=h.fromArray(W,Me*3,nq),wt=h.fromArray(W,et*3,tme);h.equalsEpsilon(Qe,wt,P.EPSILON10)||(Oe=(Me+1)%g,lt=(Oe+2)%g,we[vt++]=Me,we[vt++]=Oe,we[vt++]=et,we[vt++]=et,we[vt++]=Oe,we[vt++]=lt)}return De.indices=we,De=Fn.combineInstances([new It({geometry:d}),new It({geometry:De})]),De[0]}var RJe=[new h,new h,new h,new h],ime=new fe,OJe=new fe;function oq(e,t,n,i,o){if(n===0)return ae.clone(e,o);let r=Ls.computeOptions(e,t,n,0,Jhe,ime),s=r.height,a=r.width,c=RJe;return Ls.computePosition(r,i,!1,0,0,c[0]),Ls.computePosition(r,i,!1,0,a-1,c[1]),Ls.computePosition(r,i,!1,s-1,0,c[2]),Ls.computePosition(r,i,!1,s-1,a-1,c[3]),ae.fromCartesianArray(c,i,o)}function Im(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.height,0),i=y(e.extrudedHeight,n);this._rectangle=ae.clone(t),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._surfaceHeight=Math.max(n,i),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._extrudedHeight=Math.min(n,i),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}Im.packedLength=ae.packedLength+ee.packedLength+Ie.packedLength+7;Im.pack=function(e,t,n){return n=y(n,0),ae.pack(e._rectangle,t,n),n+=ae.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var ome=new ae,rme=ee.clone(ee.UNIT_SPHERE),n0={rectangle:ome,ellipsoid:rme,vertexFormat:iq,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};Im.unpack=function(e,t,n){t=y(t,0);let i=ae.unpack(e,t,ome);t+=ae.packedLength;let o=ee.unpack(e,t,rme);t+=ee.packedLength;let r=Ie.unpack(e,t,iq);t+=Ie.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++]===1,p=e[t];return l(n)?(n._rectangle=ae.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Ie.clone(r,n._vertexFormat),n._granularity=s,n._surfaceHeight=a,n._rotation=c,n._stRotation=u,n._extrudedHeight=f,n._shadowVolume=d,n._offsetAttribute=p===-1?void 0:p,n):(n0.granularity=s,n0.height=a,n0.rotation=c,n0.stRotation=u,n0.extrudedHeight=f,n0.shadowVolume=d,n0.offsetAttribute=p===-1?void 0:p,new Im(n0))};Im.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.rectangle,i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.ellipsoid,ee.default),r=y(e.rotation,0);return oq(n,i,r,o,t)};var MJe=new $,Xhe=new Le,LJe=new fe;Im.createGeometry=function(e){if(P.equalsEpsilon(e._rectangle.north,e._rectangle.south,P.EPSILON10)||P.equalsEpsilon(e._rectangle.east,e._rectangle.west,P.EPSILON10))return;let t=e._rectangle,n=e._ellipsoid,i=e._rotation,o=e._stRotation,r=e._vertexFormat,s=Ls.computeOptions(t,e._granularity,i,o,Jhe,ime,OJe),a=MJe;if(o!==0||i!==0){let g=ae.center(t,LJe),m=n.geodeticSurfaceNormalCartographic(g,nq);Le.fromAxisAngle(m,-o,Xhe),$.fromQuaternion(Xhe,a)}else $.clone($.IDENTITY,a);let c=e._surfaceHeight,u=e._extrudedHeight,f=!P.equalsEpsilon(c,u,0,P.EPSILON2);s.lonScalar=1/e._rectangle.width,s.latScalar=1/e._rectangle.height,s.tangentRotationMatrix=a;let d,p;if(t=e._rectangle,f){d=PJe(e,s);let g=ce.fromRectangle3D(t,n,c,wJe),m=ce.fromRectangle3D(t,n,u,vJe);p=ce.union(g,m)}else{if(d=nme(e,s),d.attributes.position.values=ci.scaleToGeodeticHeight(d.attributes.position.values,c,n,!1),l(e._offsetAttribute)){let g=d.attributes.position.values.length,m=e._offsetAttribute===ln.NONE?0:1,x=new Uint8Array(g/3).fill(m);d.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}p=ce.fromRectangle3D(t,n,c)}return r.position||delete d.attributes.position,new ft({attributes:d.attributes,indices:d.indices,primitiveType:d.primitiveType,boundingSphere:p,offsetAttribute:e._offsetAttribute})};Im.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Im({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:o,stRotation:e._stRotation,granularity:i,extrudedHeight:s,height:r,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};var Khe=new ae,NJe=[new z,new z,new z],FJe=new Oi,BJe=new fe;function kJe(e){if(e._stRotation===0)return[0,0,0,1,1,0];let t=ae.clone(e._rectangle,Khe),n=e._granularity,i=e._ellipsoid,o=e._rotation-e._stRotation,r=oq(t,n,o,i,Khe),s=NJe;s[0].x=r.west,s[0].y=r.south,s[1].x=r.west,s[1].y=r.north,s[2].x=r.east,s[2].y=r.south;let a=e.rectangle,c=Oi.fromRotation(e._stRotation,FJe),u=ae.center(a,BJe);for(let m=0;m<3;++m){let x=s[m];x.x-=u.longitude,x.y-=u.latitude,Oi.multiplyByVector(c,x,x),x.x+=u.longitude,x.y+=u.latitude,x.x=(x.x-a.west)/a.width,x.y=(x.y-a.south)/a.height}let f=s[0],d=s[1],p=s[2],g=new Array(6);return z.pack(f,g),z.pack(d,g,2),z.pack(p,g,4),g}Object.defineProperties(Im.prototype,{rectangle:{get:function(){return l(this._rotatedRectangle)||(this._rotatedRectangle=oq(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=kJe(this)),this._textureCoordinateRotationPoints}}});var cT=Im;var sme=new H,ame=h.ZERO,cme=new h,lme=new ae,VJe=new ae,UJe=new fe;function zJe(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function ph(e,t){qn.call(this,{entity:e,scene:t,geometryOptions:new zJe(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}l(Object.create)&&(ph.prototype=Object.create(qn.prototype),ph.prototype.constructor=ph);ph.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Un.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,sme)),l(o)||(o=H.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ame,cme))),new It({id:t,geometry:new cT(this._options),attributes:i})};ph.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,sme),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=to.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ame,cme))),new It({id:t,geometry:new Fb(this._options),attributes:r})};ph.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.rectangle.coordinates,e,VJe);if(!l(n))return;let i=ae.center(n,UJe);return fe.toCartesian(i,ee.default,t)};ph.prototype._isHidden=function(e,t){return!l(t.coordinates)||ri.prototype._isHidden.call(this,e,t)};ph.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.rotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};ph.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=q.getValueOrUndefined(t.height,ze.MINIMUM_VALUE),o=q.getValueOrDefault(t.heightReference,ze.MINIMUM_VALUE,qe.NONE),r=q.getValueOrUndefined(t.extrudedHeight,ze.MINIMUM_VALUE),s=q.getValueOrDefault(t.extrudedHeightReference,ze.MINIMUM_VALUE,qe.NONE);l(r)&&!l(i)&&(i=0);let a=this._options;a.vertexFormat=n?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,a.rectangle=t.coordinates.getValue(ze.MINIMUM_VALUE,a.rectangle),a.granularity=q.getValueOrUndefined(t.granularity,ze.MINIMUM_VALUE),a.stRotation=q.getValueOrUndefined(t.stRotation,ze.MINIMUM_VALUE),a.rotation=q.getValueOrUndefined(t.rotation,ze.MINIMUM_VALUE),a.offsetAttribute=qn.computeGeometryOffsetAttribute(i,o,r,s),a.height=qn.getGeometryHeight(i,o),r=qn.getGeometryExtrudedHeight(r,s),r===qn.CLAMP_TO_GROUND&&(r=fi.getMinimumMaximumHeights(cT.computeRectangle(a,lme)).minimumTerrainHeight),a.extrudedHeight=r};ph.DynamicGeometryUpdater=cS;function cS(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(cS.prototype=Object.create(oi.prototype),cS.prototype.constructor=cS);cS.prototype._isHidden=function(e,t,n){return!l(this._options.rectangle)||oi.prototype._isHidden.call(this,e,t,n)};cS.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,qe.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,qe.NONE);l(s)&&!l(o)&&(o=0),i.rectangle=q.getValueOrUndefined(t.coordinates,n,i.rectangle),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.offsetAttribute=qn.computeGeometryOffsetAttribute(o,r,s,a),i.height=qn.getGeometryHeight(o,r),s=qn.getGeometryExtrudedHeight(s,a),s===qn.CLAMP_TO_GROUND&&(s=fi.getMinimumMaximumHeights(cT.computeRectangle(i,lme)).minimumTerrainHeight),i.extrudedHeight=s};var wN=ph;var ume={};function HJe(e,t){return P.equalsEpsilon(e.latitude,t.latitude,P.EPSILON10)&&P.equalsEpsilon(e.longitude,t.longitude,P.EPSILON10)}var GJe=new fe,WJe=new fe;function jJe(e,t,n,i){t=So(t,h.equalsEpsilon);let o=t.length;if(o<2)return;let r=l(i),s=l(n),a=new Array(o),c=new Array(o),u=new Array(o),f=t[0];a[0]=f;let d=e.cartesianToCartographic(f,GJe);s&&(d.height=n[0]),c[0]=d.height,r?u[0]=i[0]:u[0]=0;let p=c[0],g=u[0],m=p===g,x=1;for(let b=1;b<o;++b){let T=t[b],A=e.cartesianToCartographic(T,WJe);s&&(A.height=n[b]),m=m&&A.height===0,HJe(d,A)?d.height<A.height&&(c[x-1]=A.height):(a[x]=T,c[x]=A.height,r?u[x]=i[b]:u[x]=0,m=m&&c[x]===u[x],fe.clone(A,d),++x)}if(!(m||x<2))return a.length=x,c.length=x,u.length=x,{positions:a,topHeights:c,bottomHeights:u}}var qJe=new Array(2),YJe=new Array(2),XJe={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};ume.computePositions=function(e,t,n,i,o,r){let s=jJe(e,t,n,i);if(!l(s))return;t=s.positions,n=s.topHeights,i=s.bottomHeights;let a=t.length,c=a-2,u,f,d=P.chordLength(o,e.maximumRadius),p=XJe;if(p.minDistance=d,p.ellipsoid=e,r){let g=0,m;for(m=0;m<a-1;m++)g+=Li.numberOfPoints(t[m],t[m+1],d)+1;u=new Float64Array(g*3),f=new Float64Array(g*3);let x=qJe,b=YJe;p.positions=x,p.height=b;let T=0;for(m=0;m<a-1;m++){x[0]=t[m],x[1]=t[m+1],b[0]=n[m],b[1]=n[m+1];let A=Li.generateArc(p);u.set(A,T),b[0]=i[m],b[1]=i[m+1],f.set(Li.generateArc(p),T),T+=A.length}}else p.positions=t,p.height=n,u=new Float64Array(Li.generateArc(p)),p.height=i,f=new Float64Array(Li.generateArc(p));return{bottomPositions:f,topPositions:u,numCorners:c}};var lT=ume;var rq=new h,d4=new h,KJe=new h,fme=new h,ZJe=new h,$Je=new h,QJe=new h;function uT(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.vertexFormat,Ie.DEFAULT),r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=Ie.clone(o),this._granularity=r,this._ellipsoid=ee.clone(s),this._workerName="createWallGeometry";let a=1+t.length*h.packedLength+2;l(i)&&(a+=i.length),l(n)&&(a+=n.length),this.packedLength=a+ee.packedLength+Ie.packedLength+1}uT.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n]=e._granularity,t};var dme=ee.clone(ee.UNIT_SPHERE),hme=new Ie,DN={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:dme,vertexFormat:hme,granularity:void 0};uT.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,dme);t+=ee.packedLength;let u=Ie.unpack(e,t,hme);t+=Ie.packedLength;let f=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._vertexFormat=Ie.clone(u,n._vertexFormat),n._granularity=f,n):(DN.positions=r,DN.minimumHeights=s,DN.maximumHeights=a,DN.granularity=f,new uT(DN))};uT.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat};return new uT(c)};uT.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._vertexFormat,r=e._granularity,s=e._ellipsoid,a=lT.computePositions(s,t,i,n,r,!0);if(!l(a))return;let c=a.bottomPositions,u=a.topPositions,f=a.numCorners,d=u.length,p=d*2,g=o.position?new Float64Array(p):void 0,m=o.normal?new Float32Array(p):void 0,x=o.tangent?new Float32Array(p):void 0,b=o.bitangent?new Float32Array(p):void 0,T=o.st?new Float32Array(p/3*2):void 0,A=0,C=0,E=0,v=0,D=0,O=QJe,R=$Je,M=ZJe,N=!0;d/=3;let _,S=0,w=1/(d-f-1);for(_=0;_<d;++_){let V=_*3,G=h.fromArray(u,V,rq),k=h.fromArray(c,V,d4);if(o.position&&(g[A++]=k.x,g[A++]=k.y,g[A++]=k.z,g[A++]=G.x,g[A++]=G.y,g[A++]=G.z),o.st&&(T[D++]=S,T[D++]=0,T[D++]=S,T[D++]=1),o.normal||o.tangent||o.bitangent){let W=h.clone(h.ZERO,fme),Y=h.subtract(G,s.geodeticSurfaceNormal(G,d4),d4);if(_+1<d&&(W=h.fromArray(u,V+3,fme)),N){let Q=h.subtract(W,G,KJe),j=h.subtract(Y,G,rq);O=h.normalize(h.cross(j,Q,O),O),N=!1}h.equalsEpsilon(G,W,P.EPSILON10)?N=!0:(S+=w,o.tangent&&(R=h.normalize(h.subtract(W,G,R),R)),o.bitangent&&(M=h.normalize(h.cross(O,R,M),M))),o.normal&&(m[C++]=O.x,m[C++]=O.y,m[C++]=O.z,m[C++]=O.x,m[C++]=O.y,m[C++]=O.z),o.tangent&&(x[v++]=R.x,x[v++]=R.y,x[v++]=R.z,x[v++]=R.x,x[v++]=R.y,x[v++]=R.z),o.bitangent&&(b[E++]=M.x,b[E++]=M.y,b[E++]=M.z,b[E++]=M.x,b[E++]=M.y,b[E++]=M.z)}}let I=new pn;o.position&&(I.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:g})),o.normal&&(I.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),o.tangent&&(I.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),o.bitangent&&(I.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:b})),o.st&&(I.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T}));let L=p/3;p-=6*(f+1);let B=Fe.createTypedArray(L,p),U=0;for(_=0;_<L-2;_+=2){let V=_,G=_+2,k=h.fromArray(g,V*3,rq),W=h.fromArray(g,G*3,d4);if(h.equalsEpsilon(k,W,P.EPSILON10))continue;let Y=_+1,Q=_+3;B[U++]=Y,B[U++]=V,B[U++]=Q,B[U++]=Q,B[U++]=V,B[U++]=G}return new ft({attributes:I,indices:B,primitiveType:Ne.TRIANGLES,boundingSphere:new ce.fromVertices(g)})};var IN=uT;var mme=new h,pme=new h;function fT(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._granularity=o,this._ellipsoid=ee.clone(r),this._workerName="createWallOutlineGeometry";let s=1+t.length*h.packedLength+2;l(i)&&(s+=i.length),l(n)&&(s+=n.length),this.packedLength=s+ee.packedLength+1}fT.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n]=e._granularity,t};var _me=ee.clone(ee.UNIT_SPHERE),PN={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:_me,granularity:void 0};fT.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,_me);t+=ee.packedLength;let u=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._granularity=u,n):(PN.positions=r,PN.minimumHeights=s,PN.maximumHeights=a,PN.granularity=u,new fT(PN))};fT.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid};return new fT(c)};fT.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._granularity,r=e._ellipsoid,s=lT.computePositions(r,t,i,n,o,!1);if(!l(s))return;let a=s.bottomPositions,c=s.topPositions,u=c.length,f=u*2,d=new Float64Array(f),p=0;u/=3;let g;for(g=0;g<u;++g){let A=g*3,C=h.fromArray(c,A,mme),E=h.fromArray(a,A,pme);d[p++]=E.x,d[p++]=E.y,d[p++]=E.z,d[p++]=C.x,d[p++]=C.y,d[p++]=C.z}let m=new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})}),x=f/3;f=2*x-4+x;let b=Fe.createTypedArray(x,f),T=0;for(g=0;g<x-2;g+=2){let A=g,C=g+2,E=h.fromArray(d,A*3,mme),v=h.fromArray(d,C*3,pme);if(h.equalsEpsilon(E,v,P.EPSILON10))continue;let D=g+1,O=g+3;b[T++]=D,b[T++]=A,b[T++]=D,b[T++]=O,b[T++]=A,b[T++]=C}return b[T++]=x-2,b[T++]=x-1,new ft({attributes:m,indices:b,primitiveType:Ne.LINES,boundingSphere:new ce.fromVertices(d)})};var RN=fT;var gme=new H;function JJe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function _h(e,t){ri.call(this,{entity:e,scene:t,geometryOptions:new JJe(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}l(Object.create)&&(_h.prototype=Object.create(ri.prototype),_h.prototype.constructor=_h);_h.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Un.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,gme)),l(c)||(c=H.WHITE),o=Wt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new It({id:t,geometry:new IN(this._options),attributes:i})};_h.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,gme),o=this._distanceDisplayConditionProperty.getValue(e);return new It({id:t,geometry:new RN(this._options),attributes:{show:new bn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Un.fromDistanceDisplayCondition(o)}})};_h.prototype._isHidden=function(e,t){return!l(t.positions)||ri.prototype._isHidden.call(this,e,t)};_h.prototype._getIsClosed=function(e){return!1};_h.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.minimumHeights)||!q.isConstant(t.maximumHeights)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.granularity)};_h.prototype._setStaticOptions=function(e,t){let n=t.minimumHeights,i=t.maximumHeights,o=t.granularity,r=this._materialProperty instanceof Ht,s=this._options;s.vertexFormat=r?fn.VERTEX_FORMAT:mo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(ze.MINIMUM_VALUE,s.positions),s.minimumHeights=l(n)?n.getValue(ze.MINIMUM_VALUE,s.minimumHeights):void 0,s.maximumHeights=l(i)?i.getValue(ze.MINIMUM_VALUE,s.maximumHeights):void 0,s.granularity=l(o)?o.getValue(ze.MINIMUM_VALUE):void 0};_h.DynamicGeometryUpdater=lS;function lS(e,t,n){oi.call(this,e,t,n)}l(Object.create)&&(lS.prototype=Object.create(oi.prototype),lS.prototype.constructor=lS);lS.prototype._isHidden=function(e,t,n){return!l(this._options.positions)||oi.prototype._isHidden.call(this,e,t,n)};lS.prototype._setOptions=function(e,t,n){let i=this._options;i.positions=q.getValueOrUndefined(t.positions,n,i.positions),i.minimumHeights=q.getValueOrUndefined(t.minimumHeights,n,i.minimumHeights),i.maximumHeights=q.getValueOrUndefined(t.maximumHeights,n,i.maximumHeights),i.granularity=q.getValueOrUndefined(t.granularity,n)};var ON=_h;var dT=[O1,$L,jL,uN,dN,pN,xN,vN,wN,ON];function hT(e,t){this.entity=e,this.scene=t;let n=new Array(dT.length),i=new me,o=new gr;for(let r=0;r<n.length;r++){let s=new dT[r](e,t);o.add(s.geometryChanged,a=>{i.raiseEvent(a)}),n[r]=s}this.updaters=n,this.geometryChanged=i,this.eventHelper=o,this._removeEntitySubscription=e.definitionChanged.addEventListener(hT.prototype._onEntityPropertyChanged,this)}hT.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r<o.length;r++)o[r]._onEntityPropertyChanged(e,t,n,i)};hT.prototype.forEach=function(e){let t=this.updaters;for(let n=0;n<t.length;n++)e(t[n])};hT.prototype.destroy=function(){this.eventHelper.removeAll();let e=this.updaters;for(let t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),ue(this)};hT.registerUpdater=function(e){dT.includes(e)||dT.push(e)};hT.unregisterUpdater=function(e){if(dT.includes(e)){let t=dT.indexOf(e);dT.splice(t,1)}};var mT=hT;var yme=new H,eet=new Nt,tet=new Nt,net=h.ZERO,iet=new h;function gh(e,t,n,i,o,r,s){this.translucent=t,this.appearanceType=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.depthFailMaterial=void 0,this.closed=r,this.shadows=s,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Dt,this.updaters=new Dt,this.updatersWithAttributes=new Dt,this.attributes=new Dt,this.subscriptions=new Dt,this.showsUpdated=new Dt,this.itemsToRemove=[],this.invalidated=!1;let a;l(o)&&(a=o.definitionChanged.addEventListener(gh.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=a}gh.prototype.onMaterialChanged=function(){this.invalidated=!0};gh.prototype.isMaterial=function(e){let t=this.depthFailMaterialProperty,n=e.depthFailMaterialProperty;return n===t?!0:l(t)?t.equals(n):!1};gh.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};gh.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};gh.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0){l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;l(this.depthFailAppearanceType)&&(l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=or.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new Pn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ht)&&(this.depthFailMaterial=or.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let b=u.fillMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,yme);H.equals(d._lastColor,T)||(d._lastColor=H.clone(T,d._lastColor),d.color=Wt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}if(l(this.depthFailAppearanceType)&&u.depthFailMaterialProperty instanceof Ht&&(!u.depthFailMaterialProperty.isConstant||c)){let b=u.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,yme);H.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=H.clone(T,d._lastDepthFailColor),d.depthFailColor=Wt.toValue(T,d.depthFailColor))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=bn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,tet,eet);Nt.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Nt.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Un.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,net,iet);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=to.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};gh.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=bn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};gh.prototype.contains=function(e){return this.updaters.contains(e.id)};gh.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ct.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ct.FAILED:(i.boundingSphere.clone(t),ct.DONE)};gh.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),l(this.removeMaterialSubscription)&&this.removeMaterialSubscription()};function uS(e,t,n,i,o){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}uS.prototype.add=function(e,t){let n,i,o=t.createFillGeometryInstance(e);o.attributes.color.value[3]===255?(n=this._solidItems,i=!1):(n=this._translucentItems,i=!0);let r=n.length;for(let a=0;a<r;a++){let c=n[a];if(c.isMaterial(t)){c.add(t,o);return}}let s=new gh(this._primitives,i,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);s.add(t,o),n.push(s)};function xme(e,t){let n=e.length;for(let i=n-1;i>=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}uS.prototype.remove=function(e){xme(this._solidItems,e)||xme(this._translucentItems,e)};function bme(e,t,n){let i=!1,o=t.length;for(let r=0;r<o;++r){let s=t[r],a=s.itemsToRemove,c=a.length;if(c>0)for(r=0;r<c;r++){let u=a[r];s.remove(u),e.add(n,u),i=!0}}return i}function h4(e,t,n,i){let o=t.length,r;for(r=o-1;r>=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let u=0;u<c;u++)e.add(n,a[u]);s.destroy()}}for(o=t.length,r=0;r<o;++r)i=t[r].update(n)&&i;return i}uS.prototype.update=function(e){let t=h4(this,this._solidItems,e,!0);t=h4(this,this._translucentItems,e,t)&&t;let n=bme(this,this._solidItems,e),i=bme(this,this._translucentItems,e);return(n||i)&&(t=h4(this,this._solidItems,e,t)&&t,t=h4(this,this._translucentItems,e,t)&&t),t};function Tme(e,t,n){let i=e.length;for(let o=0;o<i;o++){let r=e[o];if(r.contains(t))return r.getBoundingSphere(t,n)}return ct.FAILED}uS.prototype.getBoundingSphere=function(e,t){let n=Tme(this._solidItems,e,t);return n===ct.FAILED?Tme(this._translucentItems,e,t):n};function Cme(e){let t=e.length;for(let n=0;n<t;n++)e[n].destroy();e.length=0}uS.prototype.removeAllPrimitives=function(){Cme(this._solidItems),Cme(this._translucentItems)};var Qf=uS;var oet=new Nt,ret=new Nt,set=h.ZERO,aet=new h;function yh(e,t,n,i,o,r,s){this.primitives=e,this.appearanceType=t,this.materialProperty=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.closed=r,this.shadows=s,this.updaters=new Dt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Dt,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new Dt,this.attributes=new Dt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(yh.prototype.onMaterialChanged,this),this.subscriptions=new Dt,this.showsUpdated=new Dt}yh.prototype.onMaterialChanged=function(){this.invalidated=!0};yh.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty,i=this.depthFailMaterialProperty,o=e.depthFailMaterialProperty;if(n===t&&o===i)return!0;let r=l(t)&&t.equals(n);return r=(!l(i)&&!l(o)||l(i)&&i.equals(o))&&r,r};yh.prototype.add=function(e,t){let n=t.id;if(this.updaters.set(n,t),this.geometry.set(n,t.createFillGeometryInstance(e)),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty)||!q.isConstant(t.terrainOffsetProperty))this.updatersWithAttributes.set(n,t);else{let i=this;this.subscriptions.set(n,t.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};yh.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};var cet=new H;yh.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0){l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=or.getValue(e,this.materialProperty,this.material);let a;l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=or.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new Pn({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=or.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ht)&&(this.depthFailMaterial=or.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),l(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof Ht&&!c.depthFailMaterialProperty.isConstant){let b=c.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,cet);H.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=H.clone(T,d._lastDepthFailColor),d.depthFailColor=Wt.toValue(T,d.depthFailColor))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=bn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,ret,oet);Nt.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Nt.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Un.toValue(b,d.distanceDisplayCondition))}let x=c.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,set,aet);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=to.toValue(b,d.offset))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};yh.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=bn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};yh.prototype.contains=function(e){return this.updaters.contains(e.id)};yh.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ct.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ct.FAILED:(i.boundingSphere.clone(t),ct.DONE)};yh.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function fS(e,t,n,i,o){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}fS.prototype.add=function(e,t){let n=this._items,i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s.isMaterial(t)){s.add(e,t);return}}let o=new yh(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),n.push(o)};fS.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};fS.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};fS.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ct.FAILED};fS.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var Jf=fS;var Eme=Wo(Ame(),1);function m4(){this._tree=new Eme.default}function pT(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}pT.fromRectangleAndId=function(e,t,n){return n.minX=t.west,n.minY=t.south,n.maxX=t.east,n.maxY=t.north,n.id=e,n};m4.prototype.insert=function(e,t){let n=pT.fromRectangleAndId(e,t,new pT);this._tree.insert(n)};function uet(e,t){return e.id===t.id}var fet=new pT;m4.prototype.remove=function(e,t){let n=pT.fromRectangleAndId(e,t,fet);this._tree.remove(n,uet)};var det=new pT;m4.prototype.collides=function(e){let t=pT.fromRectangleAndId("",e,det);return this._tree.collides(t)};var _T=m4;var het=new H,met=new Nt,pet=new Nt;function X_(e,t,n,i){this.primitives=e,this.zIndex=i,this.classificationType=t,this.color=n,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Dt,this.updaters=new Dt,this.updatersWithAttributes=new Dt,this.attributes=new Dt,this.subscriptions=new Dt,this.showsUpdated=new Dt,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new _T}X_.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};X_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),this.rectangleCollisionCheck.insert(n,t.geometry.rectangle),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};X_.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};X_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Hc({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let x=u.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,H.WHITE,het);H.equals(d._lastColor,b)||(d._lastColor=H.clone(b,d._lastColor),d.color=Wt.toValue(b,d.color))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=bn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,pet,met);Nt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Nt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Un.toValue(x,d.distanceDisplayCondition))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};X_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=bn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};X_.prototype.contains=function(e){return this.updaters.contains(e.id)};X_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ct.PENDING;let i=n.getBoundingSphere(e.entity);return l(i)?(i.clone(t),ct.DONE):ct.FAILED};X_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function dS(e,t){this._batches=[],this._primitives=e,this._classificationType=t}dS.prototype.add=function(e,t){let n=t.createFillGeometryInstance(e),i=this._batches,o=q.getValueOrDefault(t.zIndex,0),r,s=i.length;for(let a=0;a<s;++a){let c=i[a];if(c.zIndex===o&&!c.overlapping(n.geometry.rectangle)){r=c;break}}return l(r)||(r=new X_(this._primitives,this._classificationType,n.attributes.color.value,o),i.push(r)),r.add(t,n),r};dS.prototype.remove=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;++i)if(t[i].remove(e))return};dS.prototype.update=function(e){let t,n,i=!0,o=this._batches,r=o.length;for(t=0;t<r;++t)i=o[t].update(e)&&i;for(t=0;t<r;++t){let s=o[t],a=s.itemsToRemove,c=a.length;for(let u=0;u<c;u++){n=a[u],s.remove(n);let f=this.add(e,n);s.isDirty=!0,f.isDirty=!0}}for(t=r-1;t>=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};dS.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ct.FAILED};dS.prototype.removeAllPrimitives=function(){let e=this._batches,t=e.length;for(let n=0;n<t;++n)e[n].removeAllPrimitives()};var hS=dS;var _et=new Nt,get=new Nt;function ed(e,t,n,i,o,r){this.primitives=e,this.classificationType=t,this.appearanceType=n,this.materialProperty=i,this.updaters=new Dt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Dt,this.material=void 0,this.updatersWithAttributes=new Dt,this.attributes=new Dt,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(ed.prototype.onMaterialChanged,this),this.subscriptions=new Dt,this.showsUpdated=new Dt,this.usingSphericalTextureCoordinates=o,this.zIndex=r,this.rectangleCollisionCheck=new _T}ed.prototype.onMaterialChanged=function(){this.invalidated=!0};ed.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};ed.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ht&&t instanceof Ht?!0:l(t)&&t.equals(n)};ed.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),this.rectangleCollisionCheck.insert(i,n.geometry.rectangle),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};ed.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t)),!0}return!1};ed.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=or.getValue(e,this.materialProperty,this.material),n=new Hc({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=or.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d));let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=bn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,get,_et);Nt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Nt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Un.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};ed.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=bn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};ed.prototype.contains=function(e){return this.updaters.contains(e.id)};ed.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ct.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ct.FAILED:(i.boundingSphere.clone(t),ct.DONE)};ed.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function mS(e,t,n){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=n}mS.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=du.shouldUseSphericalCoordinates(o.geometry.rectangle),s=q.getValueOrDefault(t.zIndex,0);for(let c=0;c<i;++c){let u=n[c];if(u.isMaterial(t)&&u.usingSphericalTextureCoordinates===r&&u.zIndex===s&&!u.overlapping(o.geometry.rectangle)){u.add(e,t,o);return}}let a=new ed(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,r,s);a.add(e,t,o),n.push(a)};mS.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};mS.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};mS.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ct.FAILED};mS.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var MN=mS;var yet=new H,xet=new Nt,bet=new Nt,Tet=h.ZERO,Cet=new h;function K_(e,t,n,i){this.translucent=t,this.width=n,this.shadows=i,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Dt,this.updaters=new Dt,this.updatersWithAttributes=new Dt,this.attributes=new Dt,this.itemsToRemove=[],this.subscriptions=new Dt,this.showsUpdated=new Dt}K_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantOutline||!e.outlineColorProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};K_.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};K_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Pn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new fn({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.outlineColorProperty.isConstant||c){let b=u.outlineColorProperty,T=q.getValueOrDefault(b,e,H.WHITE,yet);H.equals(d._lastColor,T)||(d._lastColor=H.clone(T,d._lastColor),d.color=Wt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}let p=u.entity.isShowing&&(u.hasConstantOutline||u.isOutlineVisible(e)),g=d.show[0]===1;p!==g&&(d.show=bn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,bet,xet);Nt.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Nt.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Un.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,Tet,Cet);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=to.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};K_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=bn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};K_.prototype.contains=function(e){return this.updaters.contains(e.id)};K_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ct.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ct.FAILED:(i.boundingSphere.clone(t),ct.DONE)};K_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function pS(e,t,n){this._primitives=e,this._scene=t,this._shadows=n,this._solidBatches=new Dt,this._translucentBatches=new Dt}pS.prototype.add=function(e,t){let n=t.createOutlineGeometryInstance(e),i=this._scene.clampLineWidth(t.outlineWidth),o,r;n.attributes.color.value[3]===255?(o=this._solidBatches,r=o.get(i),l(r)||(r=new K_(this._primitives,!1,i,this._shadows),o.set(i,r)),r.add(t,n)):(o=this._translucentBatches,r=o.get(i),l(r)||(r=new K_(this._primitives,!0,i,this._shadows),o.set(i,r)),r.add(t,n))};pS.prototype.remove=function(e){let t,n=this._solidBatches.values,i=n.length;for(t=0;t<i;t++)if(n[t].remove(e))return;let o=this._translucentBatches.values,r=o.length;for(t=0;t<r;t++)if(o[t].remove(e))return};pS.prototype.update=function(e){let t,n,i,o,r=this._solidBatches.values,s=r.length,a=this._translucentBatches.values,c=a.length,u,f=!0,d=!1;do{for(d=!1,n=0;n<s;n++){o=r[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}for(n=0;n<c;n++){o=a[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}}while(d);return f};pS.prototype.getBoundingSphere=function(e,t){let n,i=this._solidBatches.values,o=i.length;for(n=0;n<o;n++){let a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}let r=this._translucentBatches.values,s=r.length;for(n=0;n<s;n++){let a=r[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return ct.FAILED};pS.prototype.removeAllPrimitives=function(){let e,t=this._solidBatches.values,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._translucentBatches.values,o=i.length;for(e=0;e<o;e++)i[e].removeAllPrimitives()};var _S=pS;var Aet=[];function Hl(e,t,n,i){n=y(n,e.primitives),i=y(i,e.groundPrimitives),this._scene=e,this._primitives=n,this._groundPrimitives=i,this._entityCollection=void 0,this._addedObjects=new Dt,this._removedObjects=new Dt,this._changedObjects=new Dt;let o=Tn.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(o*2),this._closedColorBatches=new Array(o*2),this._closedMaterialBatches=new Array(o*2),this._openColorBatches=new Array(o*2),this._openMaterialBatches=new Array(o*2);let r=rr.supportsMaterialsforEntitiesOnTerrain(e);this._supportsMaterialsforEntitiesOnTerrain=r;let s;for(s=0;s<o;++s)this._outlineBatches[s]=new _S(n,e,s,!1),this._outlineBatches[o+s]=new _S(n,e,s,!0),this._closedColorBatches[s]=new Qf(n,fn,void 0,!0,s,!0),this._closedColorBatches[o+s]=new Qf(n,fn,void 0,!0,s,!1),this._closedMaterialBatches[s]=new Jf(n,mo,void 0,!0,s,!0),this._closedMaterialBatches[o+s]=new Jf(n,mo,void 0,!0,s,!1),this._openColorBatches[s]=new Qf(n,fn,void 0,!1,s,!0),this._openColorBatches[o+s]=new Qf(n,fn,void 0,!1,s,!1),this._openMaterialBatches[s]=new Jf(n,mo,void 0,!1,s,!0),this._openMaterialBatches[o+s]=new Jf(n,mo,void 0,!1,s,!1);let a=zn.NUMBER_OF_CLASSIFICATION_TYPES,c=new Array(a),u=[];if(r)for(s=0;s<a;++s)u.push(new MN(i,s,mo)),c[s]=new hS(i,s);else for(s=0;s<a;++s)c[s]=new hS(i,s);this._groundColorBatches=c,this._groundMaterialBatches=u,this._dynamicBatch=new iT(n,i),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new Dt,this._updaterSets=new Dt,this._entityCollection=t,t.collectionChanged.addEventListener(Hl.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,Aet)}Hl.registerUpdater=function(e){mT.registerUpdater(e)};Hl.unregisterUpdater=function(e){mT.unregisterUpdater(e)};Hl.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f,d=this;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaterSets.get(u),f.entity===c?f.forEach(function(x){d._removeUpdater(x),d._insertUpdaterIntoBatch(e,x)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaterSets.get(u),f.forEach(this._removeUpdater.bind(this)),f.destroy(),this._updaterSets.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new mT(c,this._scene),this._updaterSets.set(u,f),f.forEach(function(x){d._insertUpdaterIntoBatch(e,x)}),this._subscriptions.set(u,f.geometryChanged.addEventListener(Hl._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,m=g.length;for(a=0;a<m;a++)p=g[a].update(e)&&p;return p};var Eet=[],vet=new ce;Hl.prototype.getBoundingSphere=function(e,t){let n=Eet,i=vet,o=0,r=ct.DONE,s=this._batches,a=s.length,c=e.id;if(!this._updaterSets.get(c))return ct.FAILED;let u=this._updaterSets.get(c).updaters;for(let f=0;f<u.length;f++){let d=u[f];for(let p=0;p<a;p++){if(r=s[p].getBoundingSphere(d,i),r===ct.PENDING)return ct.PENDING;r===ct.DONE&&(n[o]=ce.clone(i,n[o]),o++)}}return o===0?ct.FAILED:(n.length=o,ce.fromBoundingSpheres(n,t),ct.DONE)};Hl.prototype.isDestroyed=function(){return!1};Hl.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Hl.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();this._subscriptions.removeAll();let o=this._updaterSets.values;for(n=o.length,e=0;e<n;e++)o[e].destroy();return this._updaterSets.removeAll(),ue(this)};Hl.prototype._removeUpdater=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;i++)t[i].remove(e)};Hl.prototype._insertUpdaterIntoBatch=function(e,t){if(t.isDynamic){this._dynamicBatch.add(e,t);return}let n;(t.outlineEnabled||t.fillEnabled)&&(n=t.shadowsProperty.getValue(e));let i=Tn.NUMBER_OF_SHADOW_MODES;if(t.outlineEnabled&&(l(t.terrainOffsetProperty)?this._outlineBatches[i+n].add(e,t):this._outlineBatches[n].add(e,t)),t.fillEnabled)if(t.onTerrain){let o=t.classificationTypeProperty.getValue(e);t.fillMaterialProperty instanceof Ht?this._groundColorBatches[o].add(e,t):this._groundMaterialBatches[o].add(e,t)}else t.isClosed?t.fillMaterialProperty instanceof Ht?l(t.terrainOffsetProperty)?this._closedColorBatches[i+n].add(e,t):this._closedColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._closedMaterialBatches[i+n].add(e,t):this._closedMaterialBatches[n].add(e,t):t.fillMaterialProperty instanceof Ht?l(t.terrainOffsetProperty)?this._openColorBatches[i+n].add(e,t):this._openColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._openMaterialBatches[i+n].add(e,t):this._openMaterialBatches[n].add(e,t)};Hl._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};Hl.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var LN=Hl;var wet=1,Det="30px sans-serif",Iet=Ko.FILL,Pet=H.WHITE,Ret=H.BLACK,Oet=1,Met=!1,Let=new H(.165,.165,.165,.8),Net=new z(7,5),Fet=z.ZERO,Bet=h.ZERO,ket=qe.NONE,Vet=Ti.CENTER,Uet=Mn.CENTER,zet=new h,Het=new H,Get=new H,Wet=new H,jet=new z,qet=new h,Yet=new z,Xet=new Vt,Ket=new Vt,Zet=new Vt,$et=new Nt;function Sme(e){this.entity=e,this.label=void 0,this.index=void 0}function i0(e,t){t.collectionChanged.addEventListener(i0.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new Dt,this._onCollectionChanged(t,t.values,[],[])}i0.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._label,c,u=r.label,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,zet),c=q.getValueOrUndefined(a._text,e),f=l(d)&&l(c)),!f){cq(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let p=!1,g=q.getValueOrDefault(a._heightReference,e,ket);l(u)||(u=n.getLabel(s),u.id=s,r.label=u,p=h.equals(u.position,d)&&u.heightReference===g),u.show=!0,u.position=d,u.text=c,u.scale=q.getValueOrDefault(a._scale,e,wet),u.font=q.getValueOrDefault(a._font,e,Det),u.style=q.getValueOrDefault(a._style,e,Iet),u.fillColor=q.getValueOrDefault(a._fillColor,e,Pet,Het),u.outlineColor=q.getValueOrDefault(a._outlineColor,e,Ret,Get),u.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,Oet),u.showBackground=q.getValueOrDefault(a._showBackground,e,Met),u.backgroundColor=q.getValueOrDefault(a._backgroundColor,e,Let,Wet),u.backgroundPadding=q.getValueOrDefault(a._backgroundPadding,e,Net,jet),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,Fet,Yet),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,Bet,qet),u.heightReference=g,u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,Vet),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,Uet),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,Xet),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,Ket),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Zet),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,$et),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),p&&u._updateClamping()}return!0};i0.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.label))return ct.FAILED;let i=n.label;return t.center=h.clone(y(i._clampedPosition,i.position),t.center),t.radius=0,ct.DONE};i0.prototype.isDestroyed=function(){return!1};i0.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(i0.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return ue(this)};i0.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._label)&&l(r._position)&&s.set(r.id,new Sme(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._label)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Sme(r)):(cq(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],cq(s.get(r.id),r,a),s.remove(r.id)};function cq(e,t,n){l(e)&&(e.label=void 0,n.removeLabel(t))}var NN=i0;var Qet=1,Jet=!0,ett=0,ttt=!0,ntt=!0,itt=Tn.ENABLED,ott=qe.NONE,rtt=H.RED,stt=0,att=H.WHITE,ctt=hc.HIGHLIGHT,ltt=.5,utt=new z(1,1),ftt=new F,dtt=new F,vme=new H,wme=new Array(4),htt=new h;function o0(e,t){t.collectionChanged.addEventListener(o0.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new Dt,this._onCollectionChanged(t,t.values,[],[])}async function mtt(e,t,n,i){let o=e._primitives,r=e._modelHash;try{let s=await Jd.fromGltfAsync({url:n,incrementallyLoadTextures:i,scene:e._scene});if(e.isDestroyed()||!l(r[t.id]))return;s.id=t,o.add(s),r[t.id].modelPrimitive=s,s.errorEvent.addEventListener(a=>{l(r[t.id])&&(console.log(a),a.name!=="TextureError"&&s.incrementallyLoadTextures&&(r[t.id].loadFailed=!0))})}catch(s){if(e.isDestroyed()||!l(r[t.id]))return;console.log(s),r[t.id].loadFailed=!0}}o0.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._model,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,ftt),c=Ae.createIfNeeded(q.getValueOrUndefined(a._uri,e)),f=l(d)&&l(c)),!f){l(u)&&u.modelPrimitive&&(u.modelPrimitive.show=!1);continue}if(!l(u)||c.url!==u.url){l(u?.modelPrimitive)&&(i.removeAndDestroy(u.modelPrimitive),delete n[s.id]),u={modelPrimitive:void 0,url:c.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFailed:!1,modelUpdated:!1},n[s.id]=u;let m=q.getValueOrDefault(a._incrementallyLoadTextures,e,ttt);mtt(this,s,c,m)}let p=u.modelPrimitive;if(!l(p))continue;p.show=!0,p.scale=q.getValueOrDefault(a._scale,e,Qet),p.enableVerticalExaggeration=q.getValueOrDefault(a._enableVerticalExaggeration,e,Jet),p.minimumPixelSize=q.getValueOrDefault(a._minimumPixelSize,e,ett),p.maximumScale=q.getValueOrUndefined(a._maximumScale,e),p.modelMatrix=F.clone(d,p.modelMatrix),p.shadows=q.getValueOrDefault(a._shadows,e,itt),p.heightReference=q.getValueOrDefault(a._heightReference,e,ott),p.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e),p.silhouetteColor=q.getValueOrDefault(a._silhouetteColor,e,rtt,vme),p.silhouetteSize=q.getValueOrDefault(a._silhouetteSize,e,stt),p.color=q.getValueOrDefault(a._color,e,att,vme),p.colorBlendMode=q.getValueOrDefault(a._colorBlendMode,e,ctt),p.colorBlendAmount=q.getValueOrDefault(a._colorBlendAmount,e,ltt),p.clippingPlanes=q.getValueOrUndefined(a._clippingPlanes,e),p.clampAnimations=q.getValueOrDefault(a._clampAnimations,e,ntt),p.imageBasedLighting.imageBasedLightingFactor=q.getValueOrDefault(a._imageBasedLightingFactor,e,utt);let g=q.getValueOrUndefined(a._lightColor,e);if(l(g)&&(H.pack(g,wme,0),g=h.unpack(wme,0,htt)),p.lightColor=g,p.customShader=q.getValueOrUndefined(a._customShader,e),n[s.id].modelUpdated=!0,p.ready){!a._readyOk&&a._marsOptions&&a._marsOptions.callback&&(a._marsOptions.callback(s,p),a._readyOk=!0);let m=q.getValueOrDefault(a._runAnimations,e,!0);u.animationsRunning!==m&&(m?p.activeAnimations.addAll({loop:Ll.REPEAT}):p.activeAnimations.removeAll(),u.animationsRunning=m);let x=q.getValueOrUndefined(a._nodeTransformations,e,u.nodeTransformationsScratch);if(l(x)){let A=Object.keys(x);for(let C=0,E=A.length;C<E;++C){let v=A[C],D=x[v];if(!l(D))continue;let O=p.getNode(v);if(!l(O))continue;let R=F.fromTranslationRotationScale(D,dtt);O.matrix=F.multiply(O.originalMatrix,R,R)}}let b=!1,T=q.getValueOrUndefined(a._articulations,e,u.articulationsScratch);if(l(T)){let A=Object.keys(T);for(let C=0,E=A.length;C<E;++C){let v=A[C],D=T[v];l(D)&&(b=!0,p.setArticulationStage(v,D))}}b&&p.applyArticulations()}}return!0};o0.prototype.isDestroyed=function(){return!1};o0.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(o0.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._modelHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)lq(this,e[i],t,n);return ue(this)};var p4=new h,ptt=new fe;o0.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!l(n))return ct.FAILED;if(n.loadFailed)return ct.FAILED;let i=n.modelPrimitive;if(!l(i)||!i.show)return ct.PENDING;if(!i.ready||!n.modelUpdated)return ct.PENDING;let o=this._scene,r=y(o.ellipsoid,ee.default);if(i.heightReference!==qe.NONE){let a=i.modelMatrix;p4.x=a[12],p4.y=a[13],p4.z=a[14];let c=r.cartesianToCartographic(p4,ptt),u=o.getHeight(c,i.heightReference);return l(u)&&(xf(i.heightReference)?c.height=u:c.height+=u),ce.clone(i.boundingSphere,t),t.center=r.cartographicToCartesian(c),ct.DONE}return ce.clone(i.boundingSphere,t),ct.DONE};o0.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._model)&&l(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._model)&&l(r._position)?(_tt(r,a),s.set(r.id,r)):(lq(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],lq(this,r,a,c),s.remove(r.id)};function lq(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function _tt(e,t){let n=t[e.id];l(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}var FN=o0;function r0(e){this._definitionChanged=new me,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(r0.prototype,{isConstant:{get:function(){return q.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return l(this._value)?this._value.referenceFrame:zi.FIXED}}});var gtt=new K;r0.prototype.getValue=function(e,t){return l(e)||(e=K.now(gtt)),this.getValueInReferenceFrame(e,zi.FIXED,t)};r0.prototype.setValue=function(e){this._value!==e&&(this._value=e,l(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),l(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};r0.prototype.getValueInReferenceFrame=function(e,t,n){if(l(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),l(n)?ee.default.scaleToGeodeticSurface(n,n):void 0};r0.prototype.equals=function(e){return this===e||e instanceof r0&&this._value===e._value};r0.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Pm=r0;var ytt=60,xtt=1,Ime=new Sn,uq=new Sn,fq=new Sn;function Dme(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function btt(e,t,n,i,o,r,s,a,c){let u=a,f;f=e.getValueInReferenceFrame(t,r,c[u]),l(f)&&(c[u++]=f);let d=!l(o)||K.lessThanOrEquals(o,t)||K.greaterThanOrEquals(o,n),p=0,g=i.length,m=i[p],x=n,b=!1,T,A,C;for(;p<g;){if(!d&&K.greaterThanOrEquals(m,o)&&(f=e.getValueInReferenceFrame(o,r,c[u]),l(f)&&(c[u++]=f),d=!0),K.greaterThan(m,t)&&K.lessThan(m,x)&&!m.equals(o)&&(f=e.getValueInReferenceFrame(m,r,c[u]),l(f)&&(c[u++]=f)),p<g-1){if(s>0&&!b){let E=i[p+1],v=K.secondsDifference(E,m);b=v>s,b&&(T=Math.ceil(v/s),A=0,C=v/Math.max(T,2),T=Math.max(T-1,1))}if(b&&A<T){m=K.addSeconds(m,C,new K),A++;continue}}b=!1,p++,m=i[p]}return f=e.getValueInReferenceFrame(n,r,c[u]),l(f)&&(c[u++]=f),u}function Ttt(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!p&&K.greaterThanOrEquals(d,i)&&(p=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,r*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function Ctt(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=Math.max(r,60),g=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!g&&K.greaterThanOrEquals(d,i)&&(g=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,p*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function Att(e,t,n,i,o,r,s,a){fq.start=t,fq.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!Sn.intersect(d,fq,Ime).isEmpty){let p=d.start;d.isStartIncluded||(d.isStopIncluded?p=d.stop:p=K.addSeconds(d.start,K.secondsDifference(d.stop,d.start)/2,new K));let g=e.getValueInReferenceFrame(p,o,a[c]);l(g)&&(a[c]=g,c++)}}return c}function Ett(e,t,n,i,o,r,s,a){let c=e.getValueInReferenceFrame(t,o,a[s]);return l(c)&&(a[s++]=c),s}function Stt(e,t,n,i,o,r,s,a){uq.start=t,uq.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!Sn.intersect(d,uq,Ime).isEmpty){let p=d.start,g=d.stop,m=t;K.greaterThan(p,m)&&(m=p);let x=n;K.lessThan(g,x)&&(x=g),c=Pme(d.data,m,x,i,o,r,c,a)}}return c}function Pme(e,t,n,i,o,r,s,a){for(;e instanceof z_;)e=e.resolvedProperty;if(e instanceof xa){let c=e._property._times;s=btt(e,t,n,c,i,o,r,s,a)}else e instanceof M1?s=Ttt(e,t,n,i,o,r,s,a):e instanceof ga?s=Stt(e,t,n,i,o,r,s,a):e instanceof H_?s=Att(e,t,n,i,o,r,s,a):e instanceof Wc||e instanceof Pm&&q.isConstant(e)?s=Ett(e,t,n,i,o,r,s,a):s=Ctt(e,t,n,i,o,r,s,a);return s}function Rme(e,t,n,i,o,r,s){l(s)||(s=[]);let a=Pme(e,t,n,i,o,r,0,s);return s.length=a,s}var vtt=new $;function BN(e,t){this._unusedIndexes=[],this._polylineCollection=new nh,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}BN.prototype.update=function(e){if(this._referenceFrame===zi.INERTIAL){let t=Lt.computeIcrfToCentralBodyFixedMatrix(e,vtt);F.fromRotationTranslation(t,h.ZERO,this._polylineCollection.modelMatrix)}};BN.prototype.updateObject=function(e,t){let n=t.entity,i=n._path,o=n._position,r,s,a=i._show,c=t.polyline,u=n.isShowing&&n.isAvailable(e)&&(!l(a)||a.getValue(e));if(u){let d=q.getValueOrUndefined(i._leadTime,e),p=q.getValueOrUndefined(i._trailTime,e),g=n._availability,m=l(g),x=l(d),b=l(p);if(u=m||x&&b,u){if(b&&(r=K.addSeconds(e,-p,new K)),x&&(s=K.addSeconds(e,d,new K)),m){let T=g.start,A=g.stop;(!b||K.greaterThan(T,r))&&(r=T),(!x||K.lessThan(A,s))&&(s=A)}u=K.lessThan(r,s)}}if(!u){l(c)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,c.show=!1,t.index=void 0);return}if(!l(c)){let d=this._unusedIndexes;if(d.length>0){let g=d.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let f=q.getValueOrDefault(i._resolution,e,ytt);c.show=!0,c.positions=Rme(o,r,s,e,this._referenceFrame,f,c.positions.slice()),c.material=or.getValue(e,i._material,c.material),c.width=q.getValueOrDefault(i._width,e,xtt),c.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};BN.prototype.removeObject=function(e){let t=e.polyline;l(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};BN.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),ue(this)};function s0(e,t){t.collectionChanged.addEventListener(s0.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new Dt,this._onCollectionChanged(t,t.values,[],[])}s0.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&l(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i<o;i++){let r=n[i],a=r.entity._position,c=r.updater,u=zi.FIXED;this._scene.mode===ne.SCENE3D&&(u=a.referenceFrame);let f=this._updaters[u];if(c===f&&l(f)){f.updateObject(e,r);continue}l(c)&&c.removeObject(r),l(f)||(f=new BN(this._scene,u),f.update(e),this._updaters[u]=f),r.updater=f,l(f)&&f.updateObject(e,r)}return!0};s0.prototype.isDestroyed=function(){return!1};s0.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(s0.prototype._onCollectionChanged,this);let e=this._updaters;for(let t in e)e.hasOwnProperty(t)&&e[t].destroy();return ue(this)};s0.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s,a=this._items;for(o=t.length-1;o>-1;o--)r=t[o],l(r._path)&&l(r._position)&&a.set(r.id,new Dme(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._path)&&l(r._position)?a.contains(r.id)||a.set(r.id,new Dme(r)):(s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};s0._subSample=Rme;var kN=s0;var Ome=H.WHITE,Mme=H.BLACK,Lme=0,Nme=1,Fme=0,Bme=zr.NONE,kme=new H,wtt=new h,Vme=new H,Ume=new Vt,zme=new Vt,Hme=new Nt;function Gme(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function a0(e,t){t.collectionChanged.addEventListener(a0.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new Dt,this._onCollectionChanged(t,t.values,[],[])}a0.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._point,c=r.pointPrimitive,u=r.billboard,f=q.getValueOrDefault(a._heightReference,e,qe.NONE),d=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),p;if(d&&(p=q.getValueOrUndefined(s._position,e,wtt),d=l(p)),!d){VN(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let g=!1,m=!1;if(f!==qe.NONE&&!l(u)?(l(c)&&(VN(r,s,n),c=void 0),u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u,g=!0,m=h.equals(u.position,p)&&u.heightReference===f):f===qe.NONE&&!l(c)&&(l(u)&&(VN(r,s,n),u=void 0),c=n.getPoint(s),c.id=s,r.pointPrimitive=c),l(c))c.show=!0,c.position=p,c.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Ume),c.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,zme),c.color=q.getValueOrDefault(a._color,e,Ome,kme),c.outlineColor=q.getValueOrDefault(a._outlineColor,e,Mme,Vme),c.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,Lme),c.pixelSize=q.getValueOrDefault(a._pixelSize,e,Nme),c.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,Hme),c.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,Fme),c.splitDirection=q.getValueOrDefault(a._splitDirection,e,Bme);else if(l(u)){u.show=!0,u.position=p,u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Ume),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,zme),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,Hme),u.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,Fme),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,Bme),u.heightReference=f;let x=q.getValueOrDefault(a._color,e,Ome,kme),b=q.getValueOrDefault(a._outlineColor,e,Mme,Vme),T=Math.round(q.getValueOrDefault(a._outlineWidth,e,Lme)),A=Math.max(1,Math.round(q.getValueOrDefault(a._pixelSize,e,Nme)));if(T>0?(u.scale=1,g=g||T!==r.outlineWidth||A!==r.pixelSize||!H.equals(x,r.color)||!H.equals(b,r.outlineColor)):(u.scale=A/50,A=50,g=g||T!==r.outlineWidth||!H.equals(x,r.color)||!H.equals(b,r.outlineColor)),g){r.color=H.clone(x,r.color),r.outlineColor=H.clone(b,r.outlineColor),r.pixelSize=A,r.outlineWidth=T;let C=x.alpha,E=x.toCssColorString(),v=b.toCssColorString(),D=JSON.stringify([E,A,v,T]);u.setImage(D,Db(C,E,v,T,A))}m&&u._updateClamping()}}return!0};a0.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!(l(n.pointPrimitive)||l(n.billboard)))return ct.FAILED;if(l(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!l(i._clampedPosition))return ct.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,ct.DONE};a0.prototype.isDestroyed=function(){return!1};a0.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(a0.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return ue(this)};a0.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._point)&&l(r._position)&&s.set(r.id,new Gme(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._point)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Gme(r)):(VN(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],VN(s.get(r.id),r,a),s.remove(r.id)};function VN(e,t,n){if(l(e)){let i=e.pointPrimitive;if(l(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;l(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var UN=a0;var Xme=[];function Dtt(e,t,n,i,o){let r=Xme;r.length=o;let s,a=n.red,c=n.green,u=n.blue,f=n.alpha,d=i.red,p=i.green,g=i.blue,m=i.alpha;if(H.equals(n,i)){for(s=0;s<o;s++)r[s]=H.clone(n);return r}let x=(d-a)/o,b=(p-c)/o,T=(g-u)/o,A=(m-f)/o;for(s=0;s<o;s++)r[s]=new H(a+s*x,c+s*b,u+s*T,f+s*A);return r}function zN(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.width,1),o=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._width=i,this._colorsPerVertex=o,this._vertexFormat=Ie.clone(y(e.vertexFormat,Ie.DEFAULT)),this._arcType=y(e.arcType,nn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createPolylineGeometry";let r=1+t.length*h.packedLength;r+=l(n)?1+n.length*H.packedLength:1,this.packedLength=r+ee.packedLength+Ie.packedLength+4}zN.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n++]=e._width,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};var Kme=ee.clone(ee.UNIT_SPHERE),Zme=new Ie,gT={positions:void 0,colors:void 0,ellipsoid:Kme,vertexFormat:Zme,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};zN.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ee.unpack(e,t,Kme);t+=ee.packedLength;let c=Ie.unpack(e,t,Zme);t+=Ie.packedLength;let u=e[t++],f=e[t++]===1,d=e[t++],p=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Ie.clone(c,n._vertexFormat),n._width=u,n._colorsPerVertex=f,n._arcType=d,n._granularity=p,n):(gT.positions=r,gT.colors=s,gT.width=u,gT.colorsPerVertex=f,gT.arcType=d,gT.granularity=p,new zN(gT))};var Wme=new h,jme=new h,qme=new h,Yme=new h;zN.createGeometry=function(e){let t=e._width,n=e._vertexFormat,i=e._colors,o=e._colorsPerVertex,r=e._arcType,s=e._granularity,a=e._ellipsoid,c,u,f,d=[],p=So(e._positions,h.equalsEpsilon,!1,d);if(l(i)&&d.length>0){let L=0,B=d[0];i=i.filter(function(U,V){let G=!1;return o?G=V===B||V===0&&B===1:G=V+1===B,G?(L++,B=d[L],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===nn.GEODESIC||r===nn.RHUMB){let L,B;r===nn.GEODESIC?(L=P.chordLength(s,a.maximumRadius),B=Li.numberOfPoints):(L=s,B=Li.numberOfPointsRhumbLine);let U=Li.extractHeights(p,a);if(l(i)){let V=1;for(c=0;c<g-1;++c)V+=B(p[c],p[c+1],L);let G=new Array(V),k=0;for(c=0;c<g-1;++c){let W=p[c],Y=p[c+1],Q=i[c],j=B(W,Y,L);if(o&&c<V){let Z=i[c+1],J=Dtt(W,Y,Q,Z,j),he=J.length;for(u=0;u<he;++u)G[k++]=J[u]}else for(u=0;u<j;++u)G[k++]=H.clone(Q)}G[k]=H.clone(i[i.length-1]),i=G,Xme.length=0}r===nn.GEODESIC?p=Li.generateCartesianArc({positions:p,minDistance:L,ellipsoid:a,height:U}):p=Li.generateCartesianRhumbArc({positions:p,granularity:L,ellipsoid:a,height:U})}g=p.length;let m=g*4-4,x=new Float64Array(m*3),b=new Float64Array(m*3),T=new Float64Array(m*3),A=new Float32Array(m*2),C=n.st?new Float32Array(m*2):void 0,E=l(i)?new Uint8Array(m*4):void 0,v=0,D=0,O=0,R=0,M;for(u=0;u<g;++u){u===0?(M=Wme,h.subtract(p[0],p[1],M),h.add(p[0],M,M)):M=p[u-1],h.clone(M,qme),h.clone(p[u],jme),u===g-1?(M=Wme,h.subtract(p[g-1],p[g-2],M),h.add(p[g-1],M,M)):M=p[u+1],h.clone(M,Yme);let L,B;l(E)&&(u!==0&&!o?L=i[u-1]:L=i[u],u!==g-1&&(B=i[u]));let U=u===0?2:0,V=u===g-1?2:4;for(f=U;f<V;++f){h.pack(jme,x,v),h.pack(qme,b,v),h.pack(Yme,T,v),v+=3;let G=f-2<0?-1:1;if(A[D++]=2*(f%2)-1,A[D++]=G*t,n.st&&(C[O++]=u/(g-1),C[O++]=Math.max(A[D-2],0)),l(E)){let k=f<2?L:B;E[R++]=H.floatToByte(k.red),E[R++]=H.floatToByte(k.green),E[R++]=H.floatToByte(k.blue),E[R++]=H.floatToByte(k.alpha)}}}let N=new pn;N.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:x}),N.prevPosition=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),N.nextPosition=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T}),N.expandAndWidth=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:A}),n.st&&(N.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:C})),l(E)&&(N.color=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:E,normalize:!0}));let _=Fe.createTypedArray(m,g*6-6),S=0,w=0,I=g-1;for(u=0;u<I;++u)_[w++]=S,_[w++]=S+2,_[w++]=S+1,_[w++]=S+1,_[w++]=S+2,_[w++]=S+3,S+=4;return new ft({attributes:N,indices:_,primitiveType:Ne.TRIANGLES,boundingSphere:ce.fromPoints(p),geometryType:hf.POLYLINES})};var Z_=zN;var Itt=new $n(0),_4={},$me=new H,Ptt=new Ht(H.WHITE),Rtt=new $n(!0),Ott=new $n(Tn.DISABLED),Mtt=new $n(new Nt),Ltt=new $n(zn.BOTH);function Ntt(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function Ftt(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function xh(e,t){this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(xh.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new Ntt,this._groundGeometryOptions=new Ftt,this._id=`polyline-${e.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=rr.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(xh.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});xh.prototype.isOutlineVisible=function(e){return!1};xh.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e);return y(n,!1)};xh.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new bn(n&&t.isShowing&&this._showProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Un.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r},a;return this._materialProperty instanceof Ht&&(l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,$me)),l(a)||(a=H.WHITE),s.color=Wt.fromColor(a)),this.clampToGround?new It({id:t,geometry:new Ox(this._groundGeometryOptions),attributes:s}):(l(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof Ht&&(l(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||n)&&(a=this._depthFailMaterialProperty.color.getValue(e,$me)),l(a)||(a=H.WHITE),s.depthFailColor=Wt.fromColor(a)),new It({id:t,geometry:new Z_(this._geometryOptions),attributes:s}))};xh.prototype.createOutlineGeometryInstance=function(e){};xh.prototype.isDestroyed=function(){return!1};xh.prototype.destroy=function(){this._entitySubscription(),ue(this)};xh.prototype._onEntityPropertyChanged=function(e,t,n,i){if(!(t==="availability"||t==="polyline"))return;let o=this._entity.polyline;if(!l(o)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.positions,s=o.show;if(l(s)&&s.isConstant&&!s.getValue(ze.MINIMUM_VALUE)||!l(r)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let a=o.zIndex,c=y(o.material,Ptt),u=c instanceof Ht;this._materialProperty=c,this._depthFailMaterialProperty=o.depthFailMaterial,this._showProperty=y(s,Rtt),this._shadowsProperty=y(o.shadows,Ott),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,Mtt),this._classificationTypeProperty=y(o.classificationType,Ltt),this._fillEnabled=!0,this._zIndex=y(a,Itt);let f=o.width,d=o.arcType,p=o.clampToGround,g=o.granularity;if(!r.isConstant||!q.isConstant(f)||!q.isConstant(d)||!q.isConstant(g)||!q.isConstant(p)||!q.isConstant(a))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let m=this._geometryOptions,x=r.getValue(ze.MINIMUM_VALUE,m.positions);if(!l(x)||x.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let b;u&&(!l(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof Ht)?b=is.VERTEX_FORMAT:b=ha.VERTEX_FORMAT,m.vertexFormat=b,m.positions=x,m.width=l(f)?f.getValue(ze.MINIMUM_VALUE):void 0,m.arcType=l(d)?d.getValue(ze.MINIMUM_VALUE):void 0,m.granularity=l(g)?g.getValue(ze.MINIMUM_VALUE):void 0;let T=this._groundGeometryOptions;T.positions=x,T.width=m.width,T.arcType=m.arcType,T.granularity=m.granularity,this._clampToGround=l(p)?p.getValue(ze.MINIMUM_VALUE):!1,!this._clampToGround&&l(a)&&bt("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};xh.prototype.createDynamicUpdater=function(e,t){return new HN(e,t,this)};var gS={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function HN(e,t,n){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=n,this._positions=[]}function Qme(e){if(l(e._line))return e._line;let t=e._primitives,n=e._geometryUpdater._scene.id+t._guid,i=_4[n];!l(i)||i.isDestroyed()?(i=new nh,_4[n]=i,t.add(i)):t.contains(i)||t.add(i);let o=i.add();return o.id=e._geometryUpdater._entity,e._line=o,o}HN.prototype.update=function(e){let t=this._geometryUpdater,n=t._entity,i=n.polyline,o=i.positions,r=q.getValueOrUndefined(o,e,this._positions);t._clampToGround=q.getValueOrDefault(i._clampToGround,e,!1),t._groundGeometryOptions.positions=r,t._groundGeometryOptions.width=q.getValueOrDefault(i._width,e,1),t._groundGeometryOptions.arcType=q.getValueOrDefault(i._arcType,e,nn.GEODESIC),t._groundGeometryOptions.granularity=q.getValueOrDefault(i._granularity,e,9999);let s=this._groundPrimitives;if(l(this._groundPolylinePrimitive)&&(s.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)||!l(r)||r.length<2)return;let d=t.fillMaterialProperty,p;if(d instanceof Ht)p=new is;else{let g=or.getValue(e,d,this._material);p=new ha({material:g,translucent:g.isTranslucent()}),this._material=g}this._groundPolylinePrimitive=s.add(new Rd({geometryInstances:t.createFillGeometryInstance(e),appearance:p,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),q.getValueOrUndefined(t.zIndex,e)),l(this._line)&&(this._line.show=!1);return}let a=Qme(this);if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)){a.show=!1;return}if(!l(r)||r.length<2){a.show=!1;return}let c=nn.GEODESIC;c=q.getValueOrDefault(i._arcType,e,c);let u=t._scene.globe,f=t._scene.ellipsoid;c!==nn.NONE&&l(u)&&(gS.ellipsoid=f,gS.positions=r,gS.granularity=q.getValueOrUndefined(i._granularity,e),gS.height=Li.extractHeights(r,f),c===nn.GEODESIC?r=Li.generateCartesianArc(gS):r=Li.generateCartesianRhumbArc(gS)),a.show=!0,a.positions=r.slice(),a.material=or.getValue(e,t.fillMaterialProperty,a.material),a.width=q.getValueOrDefault(i._width,e,1),a.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,a.distanceDisplayCondition)};HN.prototype.getBoundingSphere=function(e){if(this._geometryUpdater.clampToGround){let t=this._groundPolylinePrimitive;if(l(t)&&t.show&&t.ready){let n=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(l(n)&&l(n.boundingSphere))return ce.clone(n.boundingSphere,e),ct.DONE}return l(t)&&!t.ready?ct.PENDING:ct.DONE}else{let t=Qme(this);if(t.show&&t.positions.length>0)return ce.fromPoints(t.positions,e),ct.DONE}return ct.FAILED};HN.prototype.isDestroyed=function(){return!1};HN.prototype.destroy=function(){let t=this._geometryUpdater._scene.id+this._primitives._guid,n=_4[t];l(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete _4[t])),l(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),ue(this)};var GN=xh;var Btt=new H,ktt=new Nt,Vtt=new Nt;function bh(e,t,n,i,o){let r;n instanceof Ht?r=is:r=ha,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new Dt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new Dt,this.material=void 0,this.updatersWithAttributes=new Dt,this.attributes=new Dt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(bh.prototype.onMaterialChanged,this),this.subscriptions=new Dt,this.showsUpdated=new Dt,this.zIndex=i,this._asynchronous=o}bh.prototype.onMaterialChanged=function(){this.invalidated=!0};bh.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ht&&t instanceof Ht?!0:l(t)&&t.equals(n)};bh.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};bh.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};bh.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new Rd({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===ha&&(this.material=or.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===ha&&(this.material=or.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!c.fillMaterialProperty.isConstant){let x=c.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,H.WHITE,Btt);H.equals(d._lastColor,b)||(d._lastColor=H.clone(b,d._lastColor),d.color=Wt.toValue(b,d.color))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=bn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,Vtt,ktt);Nt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Nt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Un.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};bh.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id);if(!s)continue;let a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=bn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};bh.prototype.contains=function(e){return this.updaters.contains(e.id)};bh.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ct.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ct.FAILED:(i.boundingSphere.clone(t),ct.DONE)};bh.prototype.destroy=function(){let e=this.primitive,t=this.orderedGroundPrimitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function yS(e,t,n){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=y(n,!0)}yS.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=q.getValueOrDefault(t.zIndex,0);for(let a=0;a<i;++a){let c=n[a];if(c.isMaterial(t)&&c.zIndex===r){c.add(e,t,o);return}}let s=new bh(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,r,this._asynchronous);s.add(e,t,o),n.push(s)};yS.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};yS.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};yS.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ct.FAILED};yS.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var WN=yS;var Utt=[];function Jme(e,t){let n=e._batches,i=n.length;for(let o=0;o<i;o++)n[o].remove(t)}function epe(e,t,n){if(n.isDynamic){e._dynamicBatch.add(t,n);return}if(n.clampToGround&&n.fillEnabled){let s=n.classificationTypeProperty.getValue(t);e._groundBatches[s].add(t,n);return}let i;n.fillEnabled&&(i=n.shadowsProperty.getValue(t));let o=0;l(n.depthFailMaterialProperty)&&(o=n.depthFailMaterialProperty instanceof Ht?1:2);let r;l(i)&&(r=i+o*Tn.NUMBER_OF_SHADOW_MODES),n.fillEnabled&&(n.fillMaterialProperty instanceof Ht?e._colorBatches[r].add(t,n):e._materialBatches[r].add(t,n))}function Rm(e,t,n,i){i=y(i,e.groundPrimitives),n=y(n,e.primitives),this._scene=e,this._primitives=n,this._entityCollection=void 0,this._addedObjects=new Dt,this._removedObjects=new Dt,this._changedObjects=new Dt;let o,r=Tn.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(r*3),this._materialBatches=new Array(r*3),o=0;o<r;++o)this._colorBatches[o]=new Qf(n,is,void 0,!1,o),this._materialBatches[o]=new Jf(n,ha,void 0,!1,o),this._colorBatches[o+r]=new Qf(n,is,is,!1,o),this._materialBatches[o+r]=new Jf(n,ha,is,!1,o),this._colorBatches[o+r*2]=new Qf(n,is,ha,!1,o),this._materialBatches[o+r*2]=new Jf(n,ha,ha,!1,o);this._dynamicBatch=new iT(n,i);let s=zn.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(s),o=0;o<s;++o)this._groundBatches[o]=new WN(i,o);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new Dt,this._updaters=new Dt,this._entityCollection=t,t.collectionChanged.addEventListener(Rm.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,Utt)}Rm.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaters.get(u),f.entity===c?(Jme(this,f),epe(this,e,f)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaters.get(u),Jme(this,f),f.destroy(),this._updaters.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new GN(c,this._scene),this._updaters.set(u,f),epe(this,e,f),this._subscriptions.set(u,f.geometryChanged.addEventListener(Rm._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let d=!0,p=this._batches,g=p.length;for(a=0;a<g;a++)d=p[a].update(e)&&d;return d};var ztt=[],Htt=new ce;Rm.prototype.getBoundingSphere=function(e,t){let n=ztt,i=Htt,o=0,r=ct.DONE,s=this._batches,a=s.length,c=this._updaters.get(e.id);if(!c)return ct.FAILED;for(let u=0;u<a;u++){if(r=s[u].getBoundingSphere(c,i),r===ct.PENDING)return ct.PENDING;r===ct.DONE&&(n[o]=ce.clone(i,n[o]),o++)}return o===0?ct.FAILED:(n.length=o,ce.fromBoundingSpheres(n,t),ct.DONE)};Rm.prototype.isDestroyed=function(){return!1};Rm.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Rm.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();return this._subscriptions.removeAll(),ue(this)};Rm._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};Rm.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var jN=Rm;function Gl(e){Hc.initializeTerrainHeights(),Rd.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new gr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,Gl.defaultVisualizersCallback);let i=!1,o=new Ul,r=new Ul;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let u=0,f=n.length;u<f;u++)this._onDataSourceAdded(n,n.get(u));let s=new XL;this._onDataSourceAdded(void 0,s),this._defaultDataSource=s;let a,c;if(!i){let u=this,f=function(){t.primitives.add(o),t.groundPrimitives.add(r),a(),c(),u._removeDefaultDataSourceListener=void 0,u._removeDataSourceCollectionListener=void 0};a=s.entities.collectionChanged.addEventListener(f),c=n.dataSourceAdded.addEventListener(f)}this._removeDefaultDataSourceListener=a,this._removeDataSourceCollectionListener=c,this._ready=!1}var xS=[];Gl.registerVisualizer=function(e){xS.includes(e)||xS.push(e)};Gl.unregisterVisualizer=function(e){if(xS.includes(e)){let t=xS.indexOf(e);xS.splice(t,1)}};Gl.defaultVisualizersCallback=function(e,t,n){let i=n.entities;return[new TP(t,i),new LN(e,i,n._primitives,n._groundPrimitives),new NN(t,i),new FN(e,i),new FL(e,i),new UN(t,i),new kN(e,i),new jN(e,i,n._primitives,n._groundPrimitives),...xS.map(o=>new o(e,i))]};Object.defineProperties(Gl.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});Gl.prototype.isDestroyed=function(){return!1};Gl.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;t<n;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),l(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),ue(this)};Gl.prototype.update=function(e){if(!fi.initialized)return this._ready=!1,!1;let t=!0,n,i,o,r,s=this._dataSourceCollection,a=s.length;for(n=0;n<a;n++){let c=s.get(n);for(l(c.update)&&(t=c.update(e)&&t),o=c._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t}for(o=this._defaultDataSource._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t;return!this._ready&&t&&this._scene.requestRender(),this._ready=t,t};Gl.prototype._postRender=function(){let e=this._scene.frameState,t=this._dataSourceCollection,n=t.length;for(let i=0;i<n;i++){let o=t.get(i),r=o.credit;l(r)&&e.creditDisplay.addCreditToNextFrame(r);let s=o._resourceCredits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)e.creditDisplay.addCreditToNextFrame(s[c])}}};var Gtt=[],Wtt=new ce;Gl.prototype.getBoundingSphere=function(e,t,n){if(!this._ready&&!t)return ct.PENDING;let i,o,r=this._defaultDataSource;if(!r.entities.contains(e)){r=void 0;let p=this._dataSourceCollection;for(o=p.length,i=0;i<o;i++){let g=p.get(i);if(g.entities.contains(e)){r=g;break}}}if(!l(r))return ct.FAILED;let s=Gtt,a=Wtt,c=0,u=ct.DONE,f=r._visualizers,d=f.length;for(i=0;i<d;i++){let p=f[i];if(l(p.getBoundingSphere)){if(u=f[i].getBoundingSphere(e,a),!t&&u===ct.PENDING)return ct.PENDING;u===ct.DONE&&(s[c]=ce.clone(a,s[c]),c++)}}return c===0?ct.FAILED:(s.length=c,ce.fromBoundingSpheres(s,n),ct.DONE)};Gl.prototype._onDataSourceAdded=function(e,t){let n=this._scene,i=this._primitives,o=this._groundPrimitives,r=i.add(new Ul),s=o.add(new lN);t._primitives=r,t._groundPrimitives=s;let a=t.clustering;a._initialize(n),r.add(a),t._visualizers=this._visualizersCallback(n,a,t)};Gl.prototype._onDataSourceRemoved=function(e,t){let n=this._primitives,i=this._groundPrimitives,o=t._primitives,r=t._groundPrimitives,s=t.clustering;o.remove(s);let a=t._visualizers,c=a.length;for(let u=0;u<c;u++)a[u].destroy();n.remove(o),i.remove(r),t._visualizers=void 0};Gl.prototype._onDataSourceMoved=function(e,t,n){let i=this._primitives,o=this._groundPrimitives,r=e._primitives,s=e._groundPrimitives;t===n+1?(i.raise(r),o.raise(s)):t===n-1?(i.lower(r),o.lower(s)):t===0?(i.lowerToBottom(r),o.lowerToBottom(s),i.raise(r),o.raise(s)):(i.raiseToTop(r),o.raiseToTop(s))};var qN=Gl;function dq(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.range=y(n,0)}dq.clone=function(e,t){if(l(e))return l(t)||(t=new dq),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var td=dq;var tpe=new $,npe=new $,ipe=new $,jtt=new F,g4=new h,ope=new h,hq=new h,mq=new h,rpe=new h,spe=new h,qtt=new Le,Ytt=new h,Xtt=new $,bS=new K,Ktt=1.25;function Ztt(e,t,n,i,o,r,s,a,c,u){let f=e.scene.mode,d=o.getValue(c,e._lastCartesian);if(l(d)){let p=!1,g=!1,m,x,b;if(f===ne.SCENE3D){K.addSeconds(c,.001,bS);let O=o.getValue(bS,g4);if(l(O)||(K.addSeconds(c,-.001,bS),O=o.getValue(bS,g4),g=!0),l(O)){let R=Lt.computeFixedToIcrfMatrix(c,tpe),M=Lt.computeFixedToIcrfMatrix(bS,npe),N;!l(R)||!l(M)?(N=Lt.computeTemeToPseudoFixedMatrix(c,ipe),R=$.transpose(N,tpe),M=Lt.computeTemeToPseudoFixedMatrix(bS,npe),$.transpose(M,M)):N=$.transpose(R,ipe);let _=$.multiplyByVector(R,d,rpe),S=$.multiplyByVector(M,O,spe);h.subtract(_,S,mq);let w=h.magnitude(mq)*1e3,I=P.GRAVITATIONALPARAMETER,L=-I/(w*w-2*I/h.magnitude(_));L<0||L>Ktt*u.maximumRadius?(m=ope,h.normalize(d,m),h.negate(m,m),b=h.clone(h.UNIT_Z,hq),x=h.cross(b,m,g4),h.magnitude(x)>P.EPSILON7&&(h.normalize(m,m),h.normalize(x,x),b=h.cross(m,x,hq),h.normalize(b,b),p=!0)):h.equalsEpsilon(d,O,P.EPSILON7)||(b=ope,h.normalize(_,b),h.normalize(S,S),x=h.cross(b,S,hq),g&&(x=h.multiplyByScalar(x,-1,x)),h.equalsEpsilon(x,h.ZERO,P.EPSILON7)||(m=h.cross(x,b,g4),$.multiplyByVector(N,m,m),$.multiplyByVector(N,x,x),$.multiplyByVector(N,b,b),h.normalize(m,m),h.normalize(x,x),h.normalize(b,b),p=!0))}}l(e.boundingSphere)&&(d=e.boundingSphere.center);let T,A,C;i&&(T=h.clone(t.position,mq),A=h.clone(t.direction,rpe),C=h.clone(t.up,spe));let E=jtt,v;l(s)&&(v=s.getValue(c,qtt));let D=r.getValue(c,Ytt);if(a===Op.INERTIAL&&l(v))F.fromTranslationQuaternionRotationScale(d,v,h.ONE,E);else if(a===Op.VELOCITY&&l(D)){let O=Lt.rotationMatrixFromPositionVelocity(d,D,u,Xtt);F.fromRotationTranslation(O,d,E)}else a===Op.ENU||!p?Lt.eastNorthUpToFixedFrame(d,u,E):(E[0]=m.x,E[1]=m.y,E[2]=m.z,E[3]=0,E[4]=x.x,E[5]=x.y,E[6]=x.z,E[7]=0,E[8]=b.x,E[9]=b.y,E[10]=b.z,E[11]=0,E[12]=d.x,E[13]=d.y,E[14]=d.z,E[15]=0);t._setTransform(E),i&&(h.clone(T,t.position),h.clone(A,t.direction),h.clone(C,t.up),h.cross(A,C,t.right))}if(n){let p=f===ne.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,p)}}function YN(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,ee.default),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._velocityProperty=new W_(e.position,!0),this._offset3D=new h}Object.defineProperties(YN,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});YN.defaultOffset3D=new h(-14e3,3500,3500);var y4=new td,$tt=new h;YN.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===ne.MORPHING)return;let r=this.entity,s=r.trackingReferenceFrame,a=r.position;if(!l(a))return;let c=this._velocityProperty,u=r.orientation,f=r!==this._lastEntity,d=o!==this._mode,p=n.camera,g=f||d,m=!0;if(f){let x=r.viewFrom,b=l(x);if(!b&&l(t)){y4.pitch=-P.PI_OVER_FOUR,y4.range=0;let T=a.getValue(e,$tt);if(l(T)){let A=2-1/Math.max(1,h.magnitude(T)/i.maximumRadius);y4.pitch*=A}p.viewBoundingSphere(t,y4),this.boundingSphere=t,g=!1,m=!1}else(!b||!l(x.getValue(e,this._offset3D)))&&h.clone(YN._defaultOffset3D,this._offset3D)}else!d&&this._mode!==ne.SCENE2D&&h.clone(p.position,this._offset3D);this._lastEntity=r,this._mode=o,Ztt(this,p,g,m,a,c,u,s,e,i)};var XN=YN;function S4(e){return v4(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function v4(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?v4(n):n),[])}var ape=[0,1,2,3].concat(...S4([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function xr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,u=e.stat_desc.max_length,f,d,p,g,m,x,b=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,f=o.heap_max+1;f<573;f++)d=o.heap[f],g=r[r[d*2+1]*2+1]+1,g>u&&(g=u,b++),r[d*2+1]=g,!(d>e.max_code)&&(o.bl_count[g]++,m=0,d>=c&&(m=a[d-c]),x=r[d*2],o.opt_len+=x*(g+m),s&&(o.static_len+=x*(s[d*2+1]+m)));if(b!==0){do{for(g=u-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[u]--,b-=2}while(b>0);for(g=u;g!==0;g--)for(d=o.bl_count[g];d!==0;)p=o.heap[--f],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),d--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,u,f,d;for(u=1;u<=15;u++)a[u]=c=c+s[u-1]<<1;for(f=0;f<=r;f++)d=o[f*2+1],d!==0&&(o[f*2]=n(a[d]++,d))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,u,f=-1,d;for(o.heap_len=0,o.heap_max=573,c=0;c<a;c++)r[c*2]!==0?(o.heap[++o.heap_len]=f=c,o.depth[c]=0):r[c*2+1]=0;for(;o.heap_len<2;)d=o.heap[++o.heap_len]=f<2?++f:0,r[d*2]=1,o.depth[d]=0,o.opt_len--,s&&(o.static_len-=s[d*2+1]);for(e.max_code=f,c=Math.floor(o.heap_len/2);c>=1;c--)o.pqdownheap(r,c);d=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),u=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=u,r[d*2]=r[c*2]+r[u*2],o.depth[d]=Math.max(o.depth[c],o.depth[u])+1,r[c*2+1]=r[u*2+1]=d,o.heap[1]=d++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}xr._length_code=[0,1,2,3,4,5,6,7].concat(...S4([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));xr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];xr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];xr.d_code=function(e){return e<256?ape[e]:ape[256+(e>>>7)]};xr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];xr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];xr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];xr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function Ua(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var Qtt=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],Jtt=S4([[144,8],[112,9],[24,7],[8,8]]);Ua.static_ltree=v4(Qtt.map((e,t)=>[e,Jtt[t]]));var ent=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],tnt=S4([[30,5]]);Ua.static_dtree=v4(ent.map((e,t)=>[e,tnt[t]]));Ua.static_l_desc=new Ua(Ua.static_ltree,xr.extra_lbits,257,286,15);Ua.static_d_desc=new Ua(Ua.static_dtree,xr.extra_dbits,0,30,15);Ua.static_bl_desc=new Ua(null,xr.extra_blbits,0,19,7);var nnt=9,int=8;function Om(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var lpe=0,A4=1,yT=2,Th=[new Om(0,0,0,0,lpe),new Om(4,4,8,4,A4),new Om(4,5,16,8,A4),new Om(4,6,32,32,A4),new Om(4,4,16,16,yT),new Om(8,16,32,32,yT),new Om(8,16,128,128,yT),new Om(8,32,128,256,yT),new Om(32,128,258,1024,yT),new Om(32,258,258,4096,yT)],x4=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],nd=0,b4=1,KN=2,T4=3,ont=32,pq=42,C4=113,ZN=666,_q=8,rnt=0,gq=1,snt=2,Mr=3,E4=258,Vu=E4+Mr+1;function cpe(e,t,n,i){let o=e[t*2],r=e[n*2];return o<r||o==r&&i[t]<=i[n]}function ant(){let e=this,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x,b,T,A,C,E,v,D,O,R,M,N,_,S,w,I,L,B,U,V=new xr,G=new xr,k=new xr;e.depth=[];let W,Y,Q,j,Z,J;e.bl_count=[],e.heap=[],L=[],B=[],U=[];function he(){u=2*r,d[g-1]=0;for(let ke=0;ke<g-1;ke++)d[ke]=0;N=Th[_].max_lazy,w=Th[_].good_length,I=Th[_].nice_length,M=Th[_].max_chain,v=0,T=0,O=0,A=R=Mr-1,E=0,p=0}function xe(){let ke;for(ke=0;ke<286;ke++)L[ke*2]=0;for(ke=0;ke<30;ke++)B[ke*2]=0;for(ke=0;ke<19;ke++)U[ke*2]=0;L[256*2]=1,e.opt_len=e.static_len=0,Y=Q=0}function re(){V.dyn_tree=L,V.stat_desc=Ua.static_l_desc,G.dyn_tree=B,G.stat_desc=Ua.static_d_desc,k.dyn_tree=U,k.stat_desc=Ua.static_bl_desc,Z=0,J=0,j=8,xe()}e.pqdownheap=function(ke,at){let Xe=e.heap,Ke=Xe[at],rt=at<<1;for(;rt<=e.heap_len&&(rt<e.heap_len&&cpe(ke,Xe[rt+1],Xe[rt],e.depth)&&rt++,!cpe(ke,Ke,Xe[rt],e.depth));)Xe[at]=Xe[rt],at=rt,rt<<=1;Xe[at]=Ke};function _e(ke,at){let Xe=-1,Ke,rt=ke[0*2+1],_t=0,hn=7,eo=4;rt===0&&(hn=138,eo=3),ke[(at+1)*2+1]=65535;for(let fo=0;fo<=at;fo++)Ke=rt,rt=ke[(fo+1)*2+1],!(++_t<hn&&Ke==rt)&&(_t<eo?U[Ke*2]+=_t:Ke!==0?(Ke!=Xe&&U[Ke*2]++,U[16*2]++):_t<=10?U[17*2]++:U[18*2]++,_t=0,Xe=Ke,rt===0?(hn=138,eo=3):Ke==rt?(hn=6,eo=3):(hn=7,eo=4))}function ye(){let ke;for(_e(L,V.max_code),_e(B,G.max_code),k.build_tree(e),ke=18;ke>=3&&U[xr.bl_order[ke]*2+1]===0;ke--);return e.opt_len+=3*(ke+1)+5+5+4,ke}function De(ke){e.pending_buf[e.pending++]=ke}function we(ke){De(ke&255),De(ke>>>8&255)}function Me(ke){De(ke>>8&255),De(ke&255&255)}function Oe(ke,at){let Xe,Ke=at;J>16-Ke?(Xe=ke,Z|=Xe<<J&65535,we(Z),Z=Xe>>>16-J,J+=Ke-16):(Z|=ke<<J&65535,J+=Ke)}function lt(ke,at){let Xe=ke*2;Oe(at[Xe]&65535,at[Xe+1]&65535)}function et(ke,at){let Xe,Ke=-1,rt,_t=ke[0*2+1],hn=0,eo=7,fo=4;for(_t===0&&(eo=138,fo=3),Xe=0;Xe<=at;Xe++)if(rt=_t,_t=ke[(Xe+1)*2+1],!(++hn<eo&&rt==_t)){if(hn<fo)do lt(rt,U);while(--hn!==0);else rt!==0?(rt!=Ke&&(lt(rt,U),hn--),lt(16,U),Oe(hn-3,2)):hn<=10?(lt(17,U),Oe(hn-3,3)):(lt(18,U),Oe(hn-11,7));hn=0,Ke=rt,_t===0?(eo=138,fo=3):rt==_t?(eo=6,fo=3):(eo=7,fo=4)}}function vt(ke,at,Xe){let Ke;for(Oe(ke-257,5),Oe(at-1,5),Oe(Xe-4,4),Ke=0;Ke<Xe;Ke++)Oe(U[xr.bl_order[Ke]*2+1],3);et(L,ke-1),et(B,at-1)}function Qe(){J==16?(we(Z),Z=0,J=0):J>=8&&(De(Z&255),Z>>>=8,J-=8)}function wt(){Oe(gq<<1,3),lt(256,Ua.static_ltree),Qe(),1+j+10-J<9&&(Oe(gq<<1,3),lt(256,Ua.static_ltree),Qe()),j=7}function mt(ke,at){let Xe,Ke,rt;if(e.dist_buf[Y]=ke,e.lc_buf[Y]=at&255,Y++,ke===0?L[at*2]++:(Q++,ke--,L[(xr._length_code[at]+256+1)*2]++,B[xr.d_code(ke)*2]++),!(Y&8191)&&_>2){for(Xe=Y*8,Ke=v-T,rt=0;rt<30;rt++)Xe+=B[rt*2]*(5+xr.extra_dbits[rt]);if(Xe>>>=3,Q<Math.floor(Y/2)&&Xe<Math.floor(Ke/2))return!0}return Y==W-1}function pt(ke,at){let Xe,Ke,rt=0,_t,hn;if(Y!==0)do Xe=e.dist_buf[rt],Ke=e.lc_buf[rt],rt++,Xe===0?lt(Ke,ke):(_t=xr._length_code[Ke],lt(_t+256+1,ke),hn=xr.extra_lbits[_t],hn!==0&&(Ke-=xr.base_length[_t],Oe(Ke,hn)),Xe--,_t=xr.d_code(Xe),lt(_t,at),hn=xr.extra_dbits[_t],hn!==0&&(Xe-=xr.base_dist[_t],Oe(Xe,hn)));while(rt<Y);lt(256,ke),j=ke[256*2+1]}function Xt(){J>8?we(Z):J>0&&De(Z&255),Z=0,J=0}function Te(ke,at,Xe){Xt(),j=8,Xe&&(we(at),we(~at)),e.pending_buf.set(c.subarray(ke,ke+at),e.pending),e.pending+=at}function Ee(ke,at,Xe){Oe((rnt<<1)+(Xe?1:0),3),Te(ke,at,!0)}function rn(ke,at,Xe){let Ke,rt,_t=0;_>0?(V.build_tree(e),G.build_tree(e),_t=ye(),Ke=e.opt_len+3+7>>>3,rt=e.static_len+3+7>>>3,rt<=Ke&&(Ke=rt)):Ke=rt=at+5,at+4<=Ke&&ke!=-1?Ee(ke,at,Xe):rt==Ke?(Oe((gq<<1)+(Xe?1:0),3),pt(Ua.static_ltree,Ua.static_dtree)):(Oe((snt<<1)+(Xe?1:0),3),vt(V.max_code+1,G.max_code+1,_t+1),pt(L,B)),xe(),Xe&&Xt()}function Jt(ke){rn(T>=0?T:-1,v-T,ke),T=v,t.flush_pending()}function en(){let ke,at,Xe,Ke;do{if(Ke=u-O-v,Ke===0&&v===0&&O===0)Ke=r;else if(Ke==-1)Ke--;else if(v>=r+r-Vu){c.set(c.subarray(r,r+r),0),D-=r,v-=r,T-=r,ke=g,Xe=ke;do at=d[--Xe]&65535,d[Xe]=at>=r?at-r:0;while(--ke!==0);ke=r,Xe=ke;do at=f[--Xe]&65535,f[Xe]=at>=r?at-r:0;while(--ke!==0);Ke+=r}if(t.avail_in===0)return;ke=t.read_buf(c,v+O,Ke),O+=ke,O>=Mr&&(p=c[v]&255,p=(p<<b^c[v+1]&255)&x)}while(O<Vu&&t.avail_in!==0)}function Ji(ke){let at=65535,Xe;for(at>i-5&&(at=i-5);;){if(O<=1){if(en(),O===0&&ke==0)return nd;if(O===0)break}if(v+=O,O=0,Xe=T+at,(v===0||v>=Xe)&&(O=v-Xe,v=Xe,Jt(!1),t.avail_out===0)||v-T>=r-Vu&&(Jt(!1),t.avail_out===0))return nd}return Jt(ke==4),t.avail_out===0?ke==4?KN:nd:ke==4?T4:b4}function je(ke){let at=M,Xe=v,Ke,rt,_t=R,hn=v>r-Vu?v-(r-Vu):0,eo=I,fo=a,Nr=v+E4,Jo=c[Xe+_t-1],ms=c[Xe+_t];R>=w&&(at>>=2),eo>O&&(eo=O);do if(Ke=ke,!(c[Ke+_t]!=ms||c[Ke+_t-1]!=Jo||c[Ke]!=c[Xe]||c[++Ke]!=c[Xe+1])){Xe+=2,Ke++;do;while(c[++Xe]==c[++Ke]&&c[++Xe]==c[++Ke]&&c[++Xe]==c[++Ke]&&c[++Xe]==c[++Ke]&&c[++Xe]==c[++Ke]&&c[++Xe]==c[++Ke]&&c[++Xe]==c[++Ke]&&c[++Xe]==c[++Ke]&&Xe<Nr);if(rt=E4-(Nr-Xe),Xe=Nr-E4,rt>_t){if(D=ke,_t=rt,rt>=eo)break;Jo=c[Xe+_t-1],ms=c[Xe+_t]}}while((ke=f[ke&fo]&65535)>hn&&--at!==0);return _t<=O?_t:O}function vo(ke){let at=0,Xe;for(;;){if(O<Vu){if(en(),O<Vu&&ke==0)return nd;if(O===0)break}if(O>=Mr&&(p=(p<<b^c[v+(Mr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v),at!==0&&(v-at&65535)<=r-Vu&&S!=2&&(A=je(at)),A>=Mr)if(Xe=mt(v-D,A-Mr),O-=A,A<=N&&O>=Mr){A--;do v++,p=(p<<b^c[v+(Mr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v;while(--A!==0);v++}else v+=A,A=0,p=c[v]&255,p=(p<<b^c[v+1]&255)&x;else Xe=mt(0,c[v]&255),O--,v++;if(Xe&&(Jt(!1),t.avail_out===0))return nd}return Jt(ke==4),t.avail_out===0?ke==4?KN:nd:ke==4?T4:b4}function Ho(ke){let at=0,Xe,Ke;for(;;){if(O<Vu){if(en(),O<Vu&&ke==0)return nd;if(O===0)break}if(O>=Mr&&(p=(p<<b^c[v+(Mr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v),R=A,C=D,A=Mr-1,at!==0&&R<N&&(v-at&65535)<=r-Vu&&(S!=2&&(A=je(at)),A<=5&&(S==1||A==Mr&&v-D>4096)&&(A=Mr-1)),R>=Mr&&A<=R){Ke=v+O-Mr,Xe=mt(v-1-C,R-Mr),O-=R-1,R-=2;do++v<=Ke&&(p=(p<<b^c[v+(Mr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v);while(--R!==0);if(E=0,A=Mr-1,v++,Xe&&(Jt(!1),t.avail_out===0))return nd}else if(E!==0){if(Xe=mt(0,c[v-1]&255),Xe&&Jt(!1),v++,O--,t.avail_out===0)return nd}else E=1,v++,O--}return E!==0&&(Xe=mt(0,c[v-1]&255),E=0),Jt(ke==4),t.avail_out===0?ke==4?KN:nd:ke==4?T4:b4}function wa(ke){return ke.total_in=ke.total_out=0,ke.msg=null,e.pending=0,e.pending_out=0,n=C4,o=0,re(),he(),0}e.deflateInit=function(ke,at,Xe,Ke,rt,_t){return Ke||(Ke=_q),rt||(rt=int),_t||(_t=0),ke.msg=null,at==-1&&(at=6),rt<1||rt>nnt||Ke!=_q||Xe<9||Xe>15||at<0||at>9||_t<0||_t>2?-2:(ke.dstate=e,s=Xe,r=1<<s,a=r-1,m=rt+7,g=1<<m,x=g-1,b=Math.floor((m+Mr-1)/Mr),c=new Uint8Array(r*2),f=[],d=[],W=1<<rt+6,e.pending_buf=new Uint8Array(W*4),i=W*4,e.dist_buf=new Uint16Array(W),e.lc_buf=new Uint8Array(W),_=at,S=_t,wa(ke))},e.deflateEnd=function(){return n!=pq&&n!=C4&&n!=ZN?-2:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,d=null,f=null,c=null,e.dstate=null,n==C4?-3:0)},e.deflateParams=function(ke,at,Xe){let Ke=0;return at==-1&&(at=6),at<0||at>9||Xe<0||Xe>2?-2:(Th[_].func!=Th[at].func&&ke.total_in!==0&&(Ke=ke.deflate(1)),_!=at&&(_=at,N=Th[_].max_lazy,w=Th[_].good_length,I=Th[_].nice_length,M=Th[_].max_chain),S=Xe,Ke)},e.deflateSetDictionary=function(ke,at,Xe){let Ke=Xe,rt,_t=0;if(!at||n!=pq)return-2;if(Ke<Mr)return 0;for(Ke>r-Vu&&(Ke=r-Vu,_t=Xe-Ke),c.set(at.subarray(_t,_t+Ke),0),v=Ke,T=Ke,p=c[0]&255,p=(p<<b^c[1]&255)&x,rt=0;rt<=Ke-Mr;rt++)p=(p<<b^c[rt+(Mr-1)]&255)&x,f[rt&a]=d[p],d[p]=rt;return 0},e.deflate=function(ke,at){let Xe,Ke,rt,_t,hn;if(at>4||at<0)return-2;if(!ke.next_out||!ke.next_in&&ke.avail_in!==0||n==ZN&&at!=4)return ke.msg=x4[4],-2;if(ke.avail_out===0)return ke.msg=x4[7],-5;if(t=ke,_t=o,o=at,n==pq&&(Ke=_q+(s-8<<4)<<8,rt=(_-1&255)>>1,rt>3&&(rt=3),Ke|=rt<<6,v!==0&&(Ke|=ont),Ke+=31-Ke%31,n=C4,Me(Ke)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&&at<=_t&&at!=4)return t.msg=x4[7],-5;if(n==ZN&&t.avail_in!==0)return ke.msg=x4[7],-5;if(t.avail_in!==0||O!==0||at!=0&&n!=ZN){switch(hn=-1,Th[_].func){case lpe:hn=Ji(at);break;case A4:hn=vo(at);break;case yT:hn=Ho(at);break;default:}if((hn==KN||hn==T4)&&(n=ZN),hn==nd||hn==KN)return t.avail_out===0&&(o=-1),0;if(hn==b4){if(at==1)wt();else if(Ee(0,0,!1),at==3)for(Xe=0;Xe<g;Xe++)d[Xe]=0;if(t.flush_pending(),t.avail_out===0)return o=-1,0}}return at!=4?0:1}}function upe(){let e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}upe.prototype={deflateInit(e,t){let n=this;return n.dstate=new ant,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){let t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd(){let e=this;if(!e.dstate)return-2;let t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){let n=this;return n.dstate?n.dstate.deflateParams(n,e,t):-2},deflateSetDictionary(e,t){let n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf(e,t,n){let i=this,o=i.avail_in;return o>n&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function fpe(e){let t=this,n=new upe,i=cnt(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let u,f,d=0,p=0,g=0,m=[];if(a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,u=n.deflate(o),u!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?m.push(new Uint8Array(r)):m.push(r.subarray(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=d&&(c(n.next_in_index),d=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return m.length>1?(f=new Uint8Array(g),m.forEach(function(x){f.set(x,p),p+=x.length})):f=m[0]?new Uint8Array(m[0]):new Uint8Array,f}},t.flush=function(){let a,c,u=0,f=0,d=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&d.push(r.slice(0,n.next_out_index)),f+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(f),d.forEach(function(p){c.set(p,u),u+=p.length}),c}}function cnt(e){return e+5*(Math.floor(e/16383)+1)}var Uu=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],Rpe=1440,lnt=0,unt=4,fnt=9,dnt=5,hnt=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],mnt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],pnt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],_nt=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],gnt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],ynt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],c0=15;function Tq(){let e=this,t,n,i,o,r,s;function a(u,f,d,p,g,m,x,b,T,A,C){let E,v,D,O,R,M,N,_,S,w,I,L,B,U,V;w=0,R=d;do i[u[f+w]]++,w++,R--;while(R!==0);if(i[0]==d)return x[0]=-1,b[0]=0,0;for(_=b[0],M=1;M<=c0&&i[M]===0;M++);for(N=M,_<M&&(_=M),R=c0;R!==0&&i[R]===0;R--);for(D=R,_>R&&(_=R),b[0]=_,U=1<<M;M<R;M++,U<<=1)if((U-=i[M])<0)return-3;if((U-=i[R])<0)return-3;for(i[R]+=U,s[1]=M=0,w=1,B=2;--R!==0;)s[B]=M+=i[w],B++,w++;R=0,w=0;do(M=u[f+w])!==0&&(C[s[M]++]=R),w++;while(++R<d);for(d=s[D],s[0]=R=0,w=0,O=-1,L=-_,r[0]=0,I=0,V=0;N<=D;N++)for(E=i[N];E--!==0;){for(;N>L+_;){if(O++,L+=_,V=D-L,V=V>_?_:V,(v=1<<(M=N-L))>E+1&&(v-=E+1,B=N,M<V))for(;++M<V&&!((v<<=1)<=i[++B]);)v-=i[B];if(V=1<<M,A[0]+V>Rpe)return-3;r[O]=I=A[0],A[0]+=V,O!==0?(s[O]=R,o[0]=M,o[1]=_,M=R>>>L-_,o[2]=I-r[O-1]-M,T.set(o,(r[O-1]+M)*3)):x[0]=I}for(o[1]=N-L,w>=d?o[0]=192:C[w]<p?(o[0]=C[w]<256?0:96,o[2]=C[w++]):(o[0]=m[C[w]-p]+16+64,o[2]=g[C[w++]-p]),v=1<<N-L,M=R>>>L;M<V;M+=v)T.set(o,(I+M)*3);for(M=1<<N-1;R&M;M>>>=1)R^=M;for(R^=M,S=(1<<L)-1;(R&S)!=s[O];)O--,L-=_,S=(1<<L)-1}return U!==0&&D!=1?-5:0}function c(u){let f;for(t||(t=[],n=[],i=new Int32Array(c0+1),o=[],r=new Int32Array(c0),s=new Int32Array(c0+1)),n.length<u&&(n=[]),f=0;f<u;f++)n[f]=0;for(f=0;f<c0+1;f++)i[f]=0;for(f=0;f<3;f++)o[f]=0;r.set(i.subarray(0,c0),0),s.set(i.subarray(0,c0+1),0)}e.inflate_trees_bits=function(u,f,d,p,g){let m;return c(19),t[0]=0,m=a(u,0,19,19,null,null,d,f,p,t,n),m==-3?g.msg="oversubscribed dynamic bit lengths tree":(m==-5||f[0]===0)&&(g.msg="incomplete dynamic bit lengths tree",m=-3),m},e.inflate_trees_dynamic=function(u,f,d,p,g,m,x,b,T){let A;return c(288),t[0]=0,A=a(d,0,u,257,pnt,_nt,m,p,b,t,n),A!=0||p[0]===0?(A==-3?T.msg="oversubscribed literal/length tree":A!=-4&&(T.msg="incomplete literal/length tree",A=-3),A):(c(288),A=a(d,u,f,0,gnt,ynt,x,g,b,t,n),A!=0||g[0]===0&&u>257?(A==-3?T.msg="oversubscribed distance tree":A==-5?(T.msg="incomplete distance tree",A=-3):A!=-4&&(T.msg="empty distance tree with lengths",A=-3),A):0)}}Tq.inflate_trees_fixed=function(e,t,n,i){return e[0]=fnt,t[0]=dnt,n[0]=hnt,i[0]=mnt,0};var w4=0,dpe=1,hpe=2,mpe=3,ppe=4,_pe=5,gpe=6,yq=7,ype=8,D4=9;function xnt(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,u=0,f=0,d,p=0,g,m=0;function x(b,T,A,C,E,v,D,O){let R,M,N,_,S,w,I,L,B,U,V,G,k,W,Y,Q;I=O.next_in_index,L=O.avail_in,S=D.bitb,w=D.bitk,B=D.write,U=B<D.read?D.read-B-1:D.end-B,V=Uu[b],G=Uu[T];do{for(;w<20;)L--,S|=(O.read_byte(I++)&255)<<w,w+=8;if(R=S&V,M=A,N=C,Q=(N+R)*3,(_=M[Q])===0){S>>=M[Q+1],w-=M[Q+1],D.win[B++]=M[Q+2],U--;continue}do{if(S>>=M[Q+1],w-=M[Q+1],_&16){for(_&=15,k=M[Q+2]+(S&Uu[_]),S>>=_,w-=_;w<15;)L--,S|=(O.read_byte(I++)&255)<<w,w+=8;R=S&G,M=E,N=v,Q=(N+R)*3,_=M[Q];do if(S>>=M[Q+1],w-=M[Q+1],_&16){for(_&=15;w<_;)L--,S|=(O.read_byte(I++)&255)<<w,w+=8;if(W=M[Q+2]+(S&Uu[_]),S>>=_,w-=_,U-=k,B>=W)Y=B-W,B-Y>0&&2>B-Y?(D.win[B++]=D.win[Y++],D.win[B++]=D.win[Y++],k-=2):(D.win.set(D.win.subarray(Y,Y+2),B),B+=2,Y+=2,k-=2);else{Y=B-W;do Y+=D.end;while(Y<0);if(_=D.end-Y,k>_){if(k-=_,B-Y>0&&_>B-Y)do D.win[B++]=D.win[Y++];while(--_!==0);else D.win.set(D.win.subarray(Y,Y+_),B),B+=_,Y+=_,_=0;Y=0}}if(B-Y>0&&k>B-Y)do D.win[B++]=D.win[Y++];while(--k!==0);else D.win.set(D.win.subarray(Y,Y+k),B),B+=k,Y+=k,k=0;break}else if(!(_&64))R+=M[Q+2],R+=S&Uu[_],Q=(N+R)*3,_=M[Q];else return O.msg="invalid distance code",k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,-3;while(!0);break}if(_&64)return _&32?(k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,1):(O.msg="invalid literal/length code",k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,-3);if(R+=M[Q+2],R+=S&Uu[_],Q=(N+R)*3,(_=M[Q])===0){S>>=M[Q+1],w-=M[Q+1],D.win[B++]=M[Q+2],U--;break}}while(!0)}while(U>=258&&L>=10);return k=O.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=S,D.bitk=w,O.avail_in=L,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,0}e.init=function(b,T,A,C,E,v){t=w4,u=b,f=T,d=A,p=C,g=E,m=v,i=null},e.proc=function(b,T,A){let C,E,v,D=0,O=0,R=0,M,N,_,S;for(R=T.next_in_index,M=T.avail_in,D=b.bitb,O=b.bitk,N=b.write,_=N<b.read?b.read-N-1:b.end-N;;)switch(t){case w4:if(_>=258&&M>=10&&(b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,A=x(u,f,d,p,g,m,b,T),R=T.next_in_index,M=T.avail_in,D=b.bitb,O=b.bitk,N=b.write,_=N<b.read?b.read-N-1:b.end-N,A!=0)){t=A==1?yq:D4;break}r=u,i=d,o=p,t=dpe;case dpe:for(C=r;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}if(E=(o+(D&Uu[C]))*3,D>>>=i[E+1],O-=i[E+1],v=i[E],v===0){s=i[E+2],t=gpe;break}if(v&16){a=v&15,n=i[E+2],t=hpe;break}if(!(v&64)){r=v,o=E/3+i[E+2];break}if(v&32){t=yq;break}return t=D4,T.msg="invalid literal/length code",A=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);case hpe:for(C=a;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}n+=D&Uu[C],D>>=C,O-=C,r=f,i=g,o=m,t=mpe;case mpe:for(C=r;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}if(E=(o+(D&Uu[C]))*3,D>>=i[E+1],O-=i[E+1],v=i[E],v&16){a=v&15,c=i[E+2],t=ppe;break}if(!(v&64)){r=v,o=E/3+i[E+2];break}return t=D4,T.msg="invalid distance code",A=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);case ppe:for(C=a;O<C;){if(M!==0)A=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}c+=D&Uu[C],D>>=C,O-=C,t=_pe;case _pe:for(S=N-c;S<0;)S+=b.end;for(;n!==0;){if(_===0&&(N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0&&(b.write=N,A=b.inflate_flush(T,A),N=b.write,_=N<b.read?b.read-N-1:b.end-N,N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0)))return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);b.win[N++]=b.win[S++],_--,S==b.end&&(S=0),n--}t=w4;break;case gpe:if(_===0&&(N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0&&(b.write=N,A=b.inflate_flush(T,A),N=b.write,_=N<b.read?b.read-N-1:b.end-N,N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0)))return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);A=0,b.win[N++]=s,_--,t=w4;break;case yq:if(O>7&&(O-=8,M++,R--),b.write=N,A=b.inflate_flush(T,A),N=b.write,_=N<b.read?b.read-N-1:b.end-N,b.read!=b.write)return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);t=ype;case ype:return A=1,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);case D4:return A=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A);default:return A=-2,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=N,b.inflate_flush(T,A)}},e.free=function(){}}var xpe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],TS=0,xq=1,bpe=2,Tpe=3,Cpe=4,Ape=5,I4=6,P4=7,Epe=8,xT=9;function bnt(e,t){let n=this,i=TS,o=0,r=0,s=0,a,c=[0],u=[0],f=new xnt,d=0,p=new Int32Array(Rpe*3),g=0,m=new Tq;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(x,b){b&&(b[0]=g),i==I4&&f.free(x),i=TS,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(x,b){let T,A,C;return A=x.next_out_index,C=n.read,T=(C<=n.write?n.write:n.end)-C,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(C,C+T),A),A+=T,C+=T,C==n.end&&(C=0,n.write==n.end&&(n.write=0),T=n.write-C,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(C,C+T),A),A+=T,C+=T),x.next_out_index=A,n.read=C,b},n.proc=function(x,b){let T,A,C,E,v,D,O,R;for(E=x.next_in_index,v=x.avail_in,A=n.bitb,C=n.bitk,D=n.write,O=D<n.read?n.read-D-1:n.end-D;;){let M,N,_,S,w,I,L,B;switch(i){case TS:for(;C<3;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}switch(T=A&7,d=T&1,T>>>1){case 0:A>>>=3,C-=3,T=C&7,A>>>=T,C-=T,i=xq;break;case 1:M=[],N=[],_=[[]],S=[[]],Tq.inflate_trees_fixed(M,N,_,S),f.init(M[0],N[0],_[0],0,S[0],0),A>>>=3,C-=3,i=I4;break;case 2:A>>>=3,C-=3,i=Tpe;break;case 3:return A>>>=3,C-=3,i=xT,x.msg="invalid block type",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b)}break;case xq:for(;C<32;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if((~A>>>16&65535)!=(A&65535))return i=xT,x.msg="invalid stored block lengths",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);o=A&65535,A=C=0,i=o!==0?bpe:d!==0?P4:TS;break;case bpe:if(v===0||O===0&&(D==n.end&&n.read!==0&&(D=0,O=D<n.read?n.read-D-1:n.end-D),O===0&&(n.write=D,b=n.inflate_flush(x,b),D=n.write,O=D<n.read?n.read-D-1:n.end-D,D==n.end&&n.read!==0&&(D=0,O=D<n.read?n.read-D-1:n.end-D),O===0)))return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);if(b=0,T=o,T>v&&(T=v),T>O&&(T=O),n.win.set(x.read_buf(E,T),D),E+=T,v-=T,D+=T,O-=T,(o-=T)!==0)break;i=d!==0?P4:TS;break;case Tpe:for(;C<14;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if(r=T=A&16383,(T&31)>29||(T>>5&31)>29)return i=xT,x.msg="too many length or distance symbols",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);if(T=258+(T&31)+(T>>5&31),!a||a.length<T)a=[];else for(R=0;R<T;R++)a[R]=0;A>>>=14,C-=14,s=0,i=Cpe;case Cpe:for(;s<4+(r>>>10);){for(;C<3;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}a[xpe[s++]]=A&7,A>>>=3,C-=3}for(;s<19;)a[xpe[s++]]=0;if(c[0]=7,T=m.inflate_trees_bits(a,c,u,p,x),T!=0)return b=T,b==-3&&(a=null,i=xT),n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);s=0,i=Ape;case Ape:for(;T=r,!(s>=258+(T&31)+(T>>5&31));){let U,V;for(T=c[0];C<T;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if(T=p[(u[0]+(A&Uu[T]))*3+1],V=p[(u[0]+(A&Uu[T]))*3+2],V<16)A>>>=T,C-=T,a[s++]=V;else{for(R=V==18?7:V-14,U=V==18?11:3;C<T+R;){if(v!==0)b=0;else return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);v--,A|=(x.read_byte(E++)&255)<<C,C+=8}if(A>>>=T,C-=T,U+=A&Uu[R],A>>>=R,C-=R,R=s,T=r,R+U>258+(T&31)+(T>>5&31)||V==16&&R<1)return a=null,i=xT,x.msg="invalid bit length repeat",b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);V=V==16?a[R-1]:0;do a[R++]=V;while(--U!==0);s=R}}if(u[0]=-1,w=[],I=[],L=[],B=[],w[0]=9,I[0]=6,T=r,T=m.inflate_trees_dynamic(257+(T&31),1+(T>>5&31),a,w,I,L,B,p,x),T!=0)return T==-3&&(a=null,i=xT),b=T,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);f.init(w[0],I[0],p,L[0],p,B[0]),i=I4;case I4:if(n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,(b=f.proc(n,x,b))!=1)return n.inflate_flush(x,b);if(b=0,f.free(x),E=x.next_in_index,v=x.avail_in,A=n.bitb,C=n.bitk,D=n.write,O=D<n.read?n.read-D-1:n.end-D,d===0){i=TS;break}i=P4;case P4:if(n.write=D,b=n.inflate_flush(x,b),D=n.write,O=D<n.read?n.read-D-1:n.end-D,n.read!=n.write)return n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);i=Epe;case Epe:return b=1,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);case xT:return b=-3,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b);default:return b=-2,n.bitb=A,n.bitk=C,x.avail_in=v,x.total_in+=E-x.next_in_index,x.next_in_index=E,n.write=D,n.inflate_flush(x,b)}}},n.free=function(x){n.reset(x,null),n.win=null,p=null},n.set_dictionary=function(x,b,T){n.win.set(x.subarray(b,b+T),0),n.read=n.write=T},n.sync_point=function(){return i==xq?1:0}}var Tnt=32,Cnt=8,Ant=0,Spe=1,vpe=2,wpe=3,Dpe=4,Ipe=5,bq=6,$N=7,Ppe=12,l0=13,Ent=[0,0,255,255];function Snt(){let e=this;e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0;function t(n){return!n||!n.istate?-2:(n.total_in=n.total_out=0,n.msg=null,n.istate.mode=$N,n.istate.blocks.reset(n,null),0)}e.inflateEnd=function(n){return e.blocks&&e.blocks.free(n),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new bnt(n,1<<i),t(n),0)},e.inflate=function(n,i){let o,r;if(!n||!n.istate||!n.next_in)return-2;let s=n.istate;for(i=i==unt?-5:0,o=-5;;)switch(s.mode){case Ant:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,((s.method=n.read_byte(n.next_in_index++))&15)!=Cnt){s.mode=l0,n.msg="unknown compression method",s.marker=5;break}if((s.method>>4)+8>s.wbits){s.mode=l0,n.msg="invalid win size",s.marker=5;break}s.mode=Spe;case Spe:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=l0,n.msg="incorrect header check",s.marker=5;break}if(!(r&Tnt)){s.mode=$N;break}s.mode=vpe;case vpe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=wpe;case wpe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=Dpe;case Dpe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=Ipe;case Ipe:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=bq,2);case bq:return s.mode=l0,n.msg="need dictionary",s.marker=0,-2;case $N:if(o=s.blocks.proc(n,o),o==-3){s.mode=l0,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=Ppe;case Ppe:return n.avail_in=0,1;case l0:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=bq)return-2;let a=n.istate;return s>=1<<a.wbits&&(s=(1<<a.wbits)-1,r=o-s),a.blocks.set_dictionary(i,r,s),a.mode=$N,0},e.inflateSync=function(n){let i,o,r,s,a;if(!n||!n.istate)return-2;let c=n.istate;if(c.mode!=l0&&(c.mode=l0,c.marker=0),(i=n.avail_in)===0)return-5;for(o=n.next_in_index,r=c.marker;i!==0&&r<4;)n.read_byte(o)==Ent[r]?r++:n.read_byte(o)!==0?r=0:r=4-r,o++,i--;return n.total_in+=o-n.next_in_index,n.next_in_index=o,n.avail_in=i,c.marker=r,r!=4?-3:(s=n.total_in,a=n.total_out,t(n),n.total_in=s,n.total_out=a,c.mode=$N,0)},e.inflateSyncPoint=function(n){return!n||!n.istate||!n.istate.blocks?-2:n.istate.blocks.sync_point()}}function Ope(){}Ope.prototype={inflateInit(e){let t=this;return t.istate=new Snt,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){let t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd(){let e=this;if(!e.istate)return-2;let t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){let e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary(e,t){let n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};function Mpe(e){let t=this,n=new Ope,i=e&&e.chunkSize?Math.floor(e.chunkSize*2):128*1024,o=lnt,r=new Uint8Array(i),s=!1;n.inflateInit(),n.next_out=r,t.append=function(a,c){let u=[],f,d,p=0,g=0,m=0;if(a.length!==0){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,n.avail_in===0&&!s&&(n.next_in_index=0,s=!0),f=n.inflate(o),s&&f===-5){if(n.avail_in!==0)throw new Error("inflating: bad input")}else if(f!==0&&f!==1)throw new Error("inflating: "+n.msg);if((s||f===1)&&n.avail_in===a.length)throw new Error("inflating: bad input");n.next_out_index&&(n.next_out_index===i?u.push(new Uint8Array(r)):u.push(r.subarray(0,n.next_out_index))),m+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return u.length>1?(d=new Uint8Array(m),u.forEach(function(x){d.set(x,g),g+=x.length})):d=u[0]?new Uint8Array(u[0]):new Uint8Array,d}},t.flush=function(){n.inflateEnd()}}var CS="/",Cq=new Date(2107,11,31),Aq=new Date(1980,0,1),no=void 0,zu="undefined",$_="function";var QN=class{constructor(t){return class extends null{constructor(n,i){let o=new t(i);super({transform(r,s){s.enqueue(o.append(r))},flush(r){let s=o.flush();s&&r.enqueue(s)}})}}}};var vnt=64,Lpe=2;try{typeof navigator!=zu&&navigator.hardwareConcurrency&&(Lpe=navigator.hardwareConcurrency)}catch{}var wnt={chunkSize:512*1024,maxWorkers:Lpe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:no,CompressionStreamNative:typeof CompressionStream!=zu&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=zu&&DecompressionStream},f0=Object.assign({},wnt);function JN(){return f0}function R4(e){return Math.max(e.chunkSize,vnt)}function AS(e){let{baseURL:t,chunkSize:n,maxWorkers:i,terminateWorkerTimeout:o,useCompressionStream:r,useWebWorkers:s,Deflate:a,Inflate:c,CompressionStream:u,DecompressionStream:f,workerScripts:d}=e;if(u0("baseURL",t),u0("chunkSize",n),u0("maxWorkers",i),u0("terminateWorkerTimeout",o),u0("useCompressionStream",r),u0("useWebWorkers",s),a&&(f0.CompressionStream=new QN(a)),c&&(f0.DecompressionStream=new QN(c)),u0("CompressionStream",u),u0("DecompressionStream",f),d!==no){let{deflate:p,inflate:g}=d;if((p||g)&&(f0.workerScripts||(f0.workerScripts={})),p){if(!Array.isArray(p))throw new Error("workerScripts.deflate must be an array");f0.workerScripts.deflate=p}if(g){if(!Array.isArray(g))throw new Error("workerScripts.inflate must be an array");f0.workerScripts.inflate=g}}}function u0(e,t){t!==no&&(f0[e]=t)}var Npe=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;Npe[e]=t}var Q_=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i<o;i++)n=n>>>8^Npe[(n^t[i])&255];this.crc=n}get(){return~this.crc}};var eF=class extends null{constructor(){let t,n=new Q_;super({transform(i,o){n.append(i),o.enqueue(i)},flush(){let i=new Uint8Array(4);new DataView(i.buffer).setUint32(0,n.get()),t.value=i}}),t=this}};function ES(e){if(typeof TextEncoder==zu){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}else return new TextEncoder().encode(e)}var al={concat(e,t){if(e.length===0||t.length===0)return e.concat(t);let n=e[e.length-1],i=al.getPartial(n);return i===32?e.concat(t):al._shiftRight(t,i,n|0,e.slice(0,e.length-1))},bitLength(e){let t=e.length;if(t===0)return 0;let n=e[t-1];return(t-1)*32+al.getPartial(n)},clamp(e,t){if(e.length*32<t)return e;e=e.slice(0,Math.ceil(t/32));let n=e.length;return t=t&31,n>0&&t&&(e[n-1]=al.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s<e.length;s++)i.push(n|e[s]>>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=al.getPartial(o);return i.push(al.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},tF={bytes:{fromBits(e){let n=al.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r<n;r++)r&3||(o=e[r/4]),i[r]=o>>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],(n&3)===3&&(t.push(i),i=0);return n&3&&t.push(al.partial(8*(n&3),i)),t}}},Fpe={};Fpe.sha1=class{constructor(e){let t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){let e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){let t=this;typeof e=="string"&&(e=tF.utf8String.toBits(e));let n=t._buffer=al.concat(t._buffer,e),i=t._length,o=t._length=i+al.bitLength(e);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){let e=this,t=e._buffer,n=e._h;t=al.concat(t,[al.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i}_S(e,t){return t<<e|t>>>32-e}_block(e){let t=this,n=t._h,i=Array(80);for(let u=0;u<16;u++)i[u]=e[u];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let u=0;u<=79;u++){u>=16&&(i[u]=t._S(1,i[u-3]^i[u-8]^i[u-14]^i[u-16]));let f=t._S(5,o)+t._f(u,r,s,a)+c+i[u]+t._key[Math.floor(u/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=f}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var Eq={};Eq.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let u=s[r-1];(r%o===0||o===8&&r%o===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[u&255],r%o===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^u}for(let u=0;r;u++,r--){let f=s[u&3?r:r-4];r<=4||u<4?a[u]=f:a[u]=i[0][n[f>>>24]]^i[1][n[f>>16&255]]^i[2][n[f>>8&255]]^i[3][n[f&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,u;for(let f=0;f<256;f++)r[(o[f]=f<<1^(f>>7)*283)^f]=f;for(let f=s=0;!n[f];f^=a||1,s=r[s]||1){let d=s^s<<1^s<<2^s<<3^s<<4;d=d>>8^d&255^99,n[f]=d,i[d]=f,u=o[c=o[a=o[f]]];let p=u*16843009^c*65537^a*257^f*16843008,g=o[d]*257^d*16843008;for(let m=0;m<4;m++)e[m][f]=g=g<<24^g>>>8,t[m][d]=p=p<<24^p>>>8}for(let f=0;f<5;f++)e[f]=e[f].slice(0),t[f]=t[f].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],u=r[3],f=r[4],d=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],m=e[t?1:3]^n[3],x=4,b,T,A;for(let C=0;C<i;C++)b=s[d>>>24]^a[p>>16&255]^c[g>>8&255]^u[m&255]^n[x],T=s[p>>>24]^a[g>>16&255]^c[m>>8&255]^u[d&255]^n[x+1],A=s[g>>>24]^a[m>>16&255]^c[d>>8&255]^u[p&255]^n[x+2],m=s[m>>>24]^a[d>>16&255]^c[p>>8&255]^u[g&255]^n[x+3],x+=4,d=b,p=T,g=A;for(let C=0;C<4;C++)o[t?3&-C:C]=f[d>>>24]<<24^f[p>>16&255]<<16^f[g>>8&255]<<8^f[m&255]^n[x++],b=d,d=p,p=g,g=m,m=b;return o}};var Bpe={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i<e.length;i+=4){let r=n((o||Math.random())*4294967296);o=r()*987654071,t[i/4]=r()*4294967296|0}return e}},Sq={};Sq.ctrGladman=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if((e>>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=al.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);let s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return al.clamp(t,o)}};var d0={importKey(e){return new d0.hmacSha1(tF.bytes.toBits(e))},pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");let o=(i>>5)+1<<2,r,s,a,c,u,f=new ArrayBuffer(o),d=new DataView(f),p=0,g=al;for(t=tF.bytes.toBits(t),u=1;p<(o||1);u++){for(r=s=e.encrypt(g.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)r[c]^=s[c];for(a=0;p<(o||1)&&a<r.length;a++)d.setInt32(p,r[a]),p+=4}return f.slice(0,i/8)}};d0.hmacSha1=class{constructor(e){let t=this,n=t._hash=Fpe.sha1,i=[[],[]];t._baseHash=[new n,new n];let o=t._baseHash[0].blockSize/32;e.length>o&&(e=new n().update(e).finalize());for(let r=0;r<o;r++)i[0][r]=e[r]^909522486,i[1][r]=e[r]^1549556828;t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){let e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){let t=this;t._updated=!0,t._resultHash.update(e)}digest(){let e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}};var Dnt=typeof crypto!=zu&&typeof crypto.getRandomValues==$_,h0="Invalid password",bT="Invalid signature",J_="zipjs-abort-check-password";function O4(e){return Dnt?crypto.getRandomValues(e):Bpe.getRandomValues(e)}var SS=16,Int="raw",Upe={name:"PBKDF2"},Pnt={name:"HMAC"},Rnt="SHA-1",Ont=Object.assign({hash:Pnt},Upe),vq=Object.assign({iterations:1e3,hash:{name:Rnt}},Upe),Mnt=["deriveBits"],iF=[8,12,16],nF=[16,24,32],m0=10,Lnt=[0,0,0,0],N4=typeof crypto!=zu,sF=N4&&crypto.subtle,zpe=N4&&typeof sF!=zu,Mm=tF.bytes,Nnt=Eq.aes,Fnt=Sq.ctrGladman,Bnt=d0.hmacSha1,kpe=N4&&zpe&&typeof sF.importKey==$_,Vpe=N4&&zpe&&typeof sF.deriveBits==$_,M4=class extends null{constructor({password:t,rawPassword:n,signed:i,encryptionStrength:o,checkPasswordOnly:r}){super({start(){Object.assign(this,{ready:new Promise(s=>this.resolveReady=s),password:Wpe(t,n),signed:i,strength:o-1,pending:new Uint8Array})},async transform(s,a){let c=this,{password:u,strength:f,resolveReady:d,ready:p}=c;u?(await knt(c,f,u,id(s,0,iF[f]+2)),s=id(s,iF[f]+2),r?a.error(new Error(J_)):d()):await p;let g=new Uint8Array(s.length-m0-(s.length-m0)%SS);a.enqueue(Hpe(c,s,g,0,m0,!0))},async flush(s){let{signed:a,ctr:c,hmac:u,pending:f,ready:d}=this;if(u&&c){await d;let p=id(f,0,f.length-m0),g=id(f,f.length-m0),m=new Uint8Array;if(p.length){let x=rF(Mm,p);u.update(x);let b=c.update(x);m=oF(Mm,b)}if(a){let x=id(oF(Mm,u.digest()),0,m0);for(let b=0;b<m0;b++)if(x[b]!=g[b])throw new Error(bT)}s.enqueue(m)}}})}},L4=class extends null{constructor({password:t,rawPassword:n,encryptionStrength:i}){let o;super({start(){Object.assign(this,{ready:new Promise(r=>this.resolveReady=r),password:Wpe(t,n),strength:i-1,pending:new Uint8Array})},async transform(r,s){let a=this,{password:c,strength:u,resolveReady:f,ready:d}=a,p=new Uint8Array;c?(p=await Vnt(a,u,c),f()):await d;let g=new Uint8Array(p.length+r.length-r.length%SS);g.set(p,0),s.enqueue(Hpe(a,r,g,p.length,0))},async flush(r){let{ctr:s,hmac:a,pending:c,ready:u}=this;if(a&&s){await u;let f=new Uint8Array;if(c.length){let d=s.update(rF(Mm,c));a.update(d),f=oF(Mm,d)}o.signature=oF(Mm,a.digest()).slice(0,m0),r.enqueue(wq(f,o.signature))}}}),o=this}};function Hpe(e,t,n,i,o,r){let{ctr:s,hmac:a,pending:c}=e,u=t.length-o;c.length&&(t=wq(c,t),n=Hnt(n,u-u%SS));let f;for(f=0;f<=u-SS;f+=SS){let d=rF(Mm,id(t,f,f+SS));r&&a.update(d);let p=s.update(d);r||a.update(p),n.set(oF(Mm,p),f+i)}return e.pending=id(t,f),n}async function knt(e,t,n,i){let o=await Gpe(e,t,n,id(i,0,iF[t])),r=id(i,iF[t]);if(o[0]!=r[0]||o[1]!=r[1])throw new Error(h0)}async function Vnt(e,t,n){let i=O4(new Uint8Array(iF[t])),o=await Gpe(e,t,n,i);return wq(i,o)}async function Gpe(e,t,n,i){e.password=null;let o=await Unt(Int,n,Ont,!1,Mnt),r=await znt(Object.assign({salt:i},vq),o,8*(nF[t]*2+2)),s=new Uint8Array(r),a=rF(Mm,id(s,0,nF[t])),c=rF(Mm,id(s,nF[t],nF[t]*2)),u=id(s,nF[t]*2);return Object.assign(e,{keys:{key:a,authentication:c,passwordVerification:u},ctr:new Fnt(new Nnt(a),Array.from(Lnt)),hmac:new Bnt(c)}),u}async function Unt(e,t,n,i,o){if(kpe)try{return await sF.importKey(e,t,n,i,o)}catch{return kpe=!1,d0.importKey(t)}else return d0.importKey(t)}async function znt(e,t,n){if(Vpe)try{return await sF.deriveBits(e,t,n)}catch{return Vpe=!1,d0.pbkdf2(t,e.salt,vq.iterations,n)}else return d0.pbkdf2(t,e.salt,vq.iterations,n)}function Wpe(e,t){return t===no?ES(e):t}function wq(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Hnt(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function id(e,t,n){return e.subarray(t,n)}function oF(e,t){return e.fromBits(t)}function rF(e,t){return e.toBits(t)}var vS=12,F4=class extends null{constructor({password:t,passwordVerification:n,checkPasswordOnly:i}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Xpe(this,t)},transform(o,r){let s=this;if(s.password){let a=jpe(s,o.subarray(0,vS));if(s.password=null,a[vS-1]!=s.passwordVerification)throw new Error(h0);o=o.subarray(vS)}i?r.error(new Error(J_)):r.enqueue(jpe(s,o))}})}},B4=class extends null{constructor({password:t,passwordVerification:n}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Xpe(this,t)},transform(i,o){let r=this,s,a;if(r.password){r.password=null;let c=O4(new Uint8Array(vS));c[vS-1]=r.passwordVerification,s=new Uint8Array(i.length+c.length),s.set(qpe(r,c),0),a=vS}else s=new Uint8Array(i.length),a=0;s.set(qpe(r,i),a),o.enqueue(s)}})}};function jpe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Kpe(e)^t[i],Dq(e,n[i]);return n}function qpe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Kpe(e)^t[i],Dq(e,t[i]);return n}function Xpe(e,t){let n=[305419896,591751049,878082192];Object.assign(e,{keys:n,crcKey0:new Q_(n[0]),crcKey2:new Q_(n[2])});for(let i=0;i<t.length;i++)Dq(e,t.charCodeAt(i))}function Dq(e,t){let[n,i,o]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Ype(Math.imul(Ype(i+Zpe(n)),134775813)+1),e.crcKey2.append([i>>>24]),o=~e.crcKey2.get(),e.keys=[n,i,o]}function Kpe(e){let t=e.keys[2]|2;return Zpe(Math.imul(t,t^1)>>>8)}function Zpe(e){return e&255}function Ype(e){return e&4294967295}var $pe="deflate-raw",k4=class extends null{constructor(t,{chunkSize:n,CompressionStream:i,CompressionStreamNative:o}){super({});let{compressed:r,encrypted:s,useCompressionStream:a,zipCrypto:c,signed:u,level:f}=t,d=this,p,g,m=Qpe(super.readable);(!s||c)&&u&&(p=new eF,m=Lm(m,p)),r&&(m=e_e(m,a,{level:f,chunkSize:n},o,i)),s&&(c?m=Lm(m,new B4(t)):(g=new L4(t),m=Lm(m,g))),Jpe(d,m,()=>{let x;s&&!c&&(x=g.signature),(!s||c)&&u&&(x=new DataView(p.value.buffer).getUint32(0)),d.signature=x})}},V4=class extends null{constructor(t,{chunkSize:n,DecompressionStream:i,DecompressionStreamNative:o}){super({});let{zipCrypto:r,encrypted:s,signed:a,signature:c,compressed:u,useCompressionStream:f}=t,d,p,g=Qpe(super.readable);s&&(r?g=Lm(g,new F4(t)):(p=new M4(t),g=Lm(g,p))),u&&(g=e_e(g,f,{chunkSize:n},o,i)),(!s||r)&&a&&(d=new eF,g=Lm(g,d)),Jpe(this,g,()=>{if((!s||r)&&a){let m=new DataView(d.value.buffer);if(c!=m.getUint32(0,!1))throw new Error(bT)}})}};function Qpe(e){return Lm(e,new null({transform(t,n){t&&t.length&&n.enqueue(t)}}))}function Jpe(e,t,n){t=Lm(t,new null({flush:n})),Object.defineProperty(e,"readable",{get(){return t}})}function e_e(e,t,n,i,o){try{let r=t&&i?i:o;e=Lm(e,new r($pe,n))}catch{if(t)try{e=Lm(e,new o($pe,n))}catch{return e}else return e}return e}function Lm(e,t){return e.pipeThrough(t)}var t_e="message",n_e="start",i_e="pull",Iq="data",o_e="ack",Pq="close",H4="deflate",G4="inflate";var U4=class extends null{constructor(t,n){super({});let i=this,{codecType:o}=t,r;o.startsWith(H4)?r=k4:o.startsWith(G4)&&(r=V4);let s=0,a=0,c=new r(t,n),u=super.readable,f=new null({transform(p,g){p&&p.length&&(a+=p.length,g.enqueue(p))},flush(){Object.assign(i,{inputSize:a})}}),d=new null({transform(p,g){p&&p.length&&(s+=p.length,g.enqueue(p))},flush(){let{signature:p}=c;Object.assign(i,{signature:p,outputSize:s,inputSize:a})}});Object.defineProperty(i,"readable",{get(){return u.pipeThrough(f).pipeThrough(c).pipeThrough(d)}})}},z4=class extends null{constructor(t){let n;super({transform:i,flush(o){n&&n.length&&o.enqueue(n)}});function i(o,r){if(n){let s=new Uint8Array(n.length+o.length);s.set(n),s.set(o,n.length),o=s,n=null}o.length>t?(r.enqueue(o.slice(0,t)),i(o.slice(t),r)):n=o}}};var a_e=typeof Worker!=zu;var wS=class{constructor(t,{readable:n,writable:i},{options:o,config:r,streamOptions:s,useWebWorkers:a,transferStreams:c,scripts:u},f){let{signal:d}=s;return Object.assign(t,{busy:!0,readable:n.pipeThrough(new z4(r.chunkSize)).pipeThrough(new Oq(n,s),{signal:d}),writable:i,options:Object.assign({},o),scripts:u,transferStreams:c,terminate(){return new Promise(p=>{let{worker:g,busy:m}=t;g?(m?t.resolveTerminated=p:(g.terminate(),p()),t.interface=null):p()})},onTaskFinished(){let{resolveTerminated:p}=t;p&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),p()),t.busy=!1,f(t)}}),(a&&a_e?Gnt:c_e)(t,r)}},Oq=class extends null{constructor(t,{onstart:n,onprogress:i,size:o,onend:r}){let s=0;super({async start(){n&&await Rq(n,o)},async transform(a,c){s+=a.length,i&&await Rq(i,s,o),c.enqueue(a)},async flush(){t.size=s,r&&await Rq(r,s)}})}};async function Rq(e,...t){try{await e(...t)}catch{}}function c_e(e,t){return{run:()=>Wnt(e,t)}}function Gnt(e,t){let{baseURL:n,chunkSize:i}=t;if(!e.interface){let o;try{o=Ynt(e.scripts[0],n,e)}catch{return a_e=!1,c_e(e,t)}Object.assign(e,{worker:o,interface:{run:()=>jnt(e,{chunkSize:i})}})}return e.interface}async function Wnt({options:e,readable:t,writable:n,onTaskFinished:i},o){try{let r=new U4(e,o);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});let{signature:s,inputSize:a,outputSize:c}=r;return{signature:s,inputSize:a,outputSize:c}}finally{i()}}async function jnt(e,t){let n,i,o=new Promise((p,g)=>{n=p,i=g});Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:o});let{readable:r,options:s,scripts:a}=e,{writable:c,closed:u}=qnt(e.writable),f=W4({type:n_e,scripts:a.slice(1),options:s,config:t,readable:r,writable:c},e);f||Object.assign(e,{reader:r.getReader(),writer:c.getWriter()});let d=await o;return f||await c.getWriter().close(),await u,d}function qnt(e){let t,n=new Promise(o=>t=o);return{writable:new WritableStream({async write(o){let r=e.getWriter();await r.ready,await r.write(o),r.releaseLock()},close(){t()},abort(o){return e.getWriter().abort(o)}}),closed:n}}var r_e=!0,s_e=!0;function Ynt(e,t,n){let i={type:"module"},o,r;typeof e==$_&&(e=e());try{o=new URL(e,t)}catch{o=e}if(r_e)try{r=new Worker(o)}catch{r_e=!1,r=new Worker(o,i)}else r=new Worker(o,i);return r.addEventListener(t_e,s=>Xnt(s,n)),r}function W4(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:o}){try{let{value:r,readable:s,writable:a}=e,c=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,c.push(e.value)),o&&s_e?(s&&c.push(s),a&&c.push(a)):e.readable=e.writable=null,c.length)try{return t.postMessage(e,c),!0}catch{s_e=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(r){throw n&&n.releaseLock(),i(),r}}async function Xnt({data:e},t){let{type:n,value:i,messageId:o,result:r,error:s}=e,{reader:a,writer:c,resolveResult:u,rejectResult:f,onTaskFinished:d}=t;try{if(s){let{message:g,stack:m,code:x,name:b}=s,T=new Error(g);Object.assign(T,{stack:m,code:x,name:b}),p(T)}else{if(n==i_e){let{value:g,done:m}=await a.read();W4({type:Iq,value:g,done:m,messageId:o},t)}n==Iq&&(await c.ready,await c.write(new Uint8Array(i)),W4({type:o_e,messageId:o},t)),n==Pq&&p(null,r)}}catch(g){W4({type:Pq,messageId:o},t),p(g)}function p(g,m){g?f(g):u(m),c&&c.releaseLock(),d()}}var TT=[],Mq=[];var l_e=0;async function j4(e,t){let{options:n,config:i}=t,{transferStreams:o,useWebWorkers:r,useCompressionStream:s,codecType:a,compressed:c,signed:u,encrypted:f}=n,{workerScripts:d,maxWorkers:p}=i;t.transferStreams=o||o===no;let g=!c&&!u&&!f&&!t.transferStreams;return t.useWebWorkers=!g&&(r||r===no&&i.useWebWorkers),t.scripts=t.useWebWorkers&&d?d[a]:[],n.useCompressionStream=s||s===no&&i.useCompressionStream,(await m()).run();async function m(){let b=TT.find(T=>!T.busy);if(b)return u_e(b),new wS(b,e,t,x);if(TT.length<p){let T={indexWorker:l_e};return l_e++,TT.push(T),new wS(T,e,t,x)}else return new Promise(T=>Mq.push({resolve:T,stream:e,workerOptions:t}))}function x(b){if(Mq.length){let[{resolve:T,stream:A,workerOptions:C}]=Mq.splice(0,1);T(new wS(b,A,C,x))}else b.worker?(u_e(b),Knt(b,t)):TT=TT.filter(T=>T!=b)}}function Knt(e,t){let{config:n}=t,{terminateWorkerTimeout:i}=n;Number.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{TT=TT.filter(o=>o!=e);try{await e.terminate()}catch{}},i))}function u_e(e){let{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}var Znt="Writer iterator completed too soon",$nt="text/plain";var Qnt="Content-Type";var Jnt=64*1024,Fq="writable",DS=class{constructor(){this.size=0}init(){this.initialized=!0}},q4=class extends DS{get readable(){let t=this,{chunkSize:n=Jnt}=t,i=new ReadableStream({start(){this.chunkOffset=0},async pull(o){let{offset:r=0,size:s,diskNumberStart:a}=i,{chunkOffset:c}=this;o.enqueue(await za(t,r+c,Math.min(n,s-c),a)),c+n>s?o.close():this.chunkOffset+=n}});return i}},Lq=class extends DS{constructor(){super();let t=this,n=new WritableStream({write(i){return t.writeUint8Array(i)}});Object.defineProperty(t,Fq,{get(){return n}})}writeUint8Array(){}};var Y4=class extends Lq{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){let n=this,i=0,o=n.pending,r=n.pending.length;for(n.pending="",i=0;i<Math.floor((r+t.length)/3)*3-r;i++)o+=String.fromCharCode(t[i]);for(;i<t.length;i++)n.pending+=String.fromCharCode(t[i]);o.length>2?n.data+=btoa(o):n.pending=o}getData(){return this.data+btoa(this.pending)}},eg=class extends q4{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,n){let i=this,o=t+n,s=await(t||o<i.size?i.blob.slice(t,o):i.blob).arrayBuffer();return s.byteLength>n&&(s=s.slice(t,o)),new Uint8Array(s)}},aF=class extends DS{constructor(t){super();let n=this,i=new null,o=[];t&&o.push([Qnt,t]),Object.defineProperty(n,Fq,{get(){return i.writable}}),n.blob=new Response(i.readable,{headers:o}).blob()}getData(){return this.blob}},X4=class extends eg{constructor(t){super(new Blob([t],{type:$nt}))}},K4=class extends aF{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,utf8:n}=this,i=await super.getData();if(i.text&&n)return i.text();{let o=new FileReader;return new Promise((r,s)=>{Object.assign(o,{onload:({target:a})=>r(a.result),onerror:()=>s(o.error)}),o.readAsText(i,t)})}}};var Nq=class extends q4{constructor(t){super(),this.readers=t}async init(){let t=this,{readers:n}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(n.map(async(i,o)=>{await i.init(),o!=n.length-1&&(t.lastDiskOffset+=i.size),t.size+=i.size})),super.init()}async readUint8Array(t,n,i=0){let o=this,{readers:r}=this,s,a=i;a==-1&&(a=r.length-1);let c=t;for(;c>=r[a].size;)c-=r[a].size,a++;let u=r[a],f=u.size;if(c+n<=f)s=await za(u,c,n);else{let d=f-c;s=new Uint8Array(n),s.set(await za(u,c,d)),s.set(await o.readUint8Array(t+d,n-d,i),d)}return o.lastDiskNumber=Math.max(a,o.lastDiskNumber),s}},Z4=class extends DS{constructor(t,n=4294967295){super();let i=this;Object.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o,r,s,a=new WritableStream({async write(f){let{availableSize:d}=i;if(s)f.length>=d?(await c(f.slice(0,d)),await u(),i.diskOffset+=o.size,i.diskNumber++,s=null,await this.write(f.slice(d))):await c(f);else{let{value:p,done:g}=await t.next();if(g&&!p)throw new Error(Znt);o=p,o.size=0,o.maxSize&&(i.maxSize=o.maxSize),i.availableSize=i.maxSize,await Fm(o),r=p.writable,s=r.getWriter(),await this.write(f)}},async close(){await s.ready,await u()}});Object.defineProperty(i,Fq,{get(){return a}});async function c(f){let d=f.length;d&&(await s.ready,await s.write(f),o.size+=d,i.size+=d,i.availableSize-=d)}async function u(){r.size=o.size,await s.close()}}};async function Fm(e,t){if(e.init&&!e.initialized)await e.init(t);else return Promise.resolve()}function $4(e){return Array.isArray(e)&&(e=new Nq(e)),e instanceof ReadableStream&&(e={readable:e}),e}function Q4(e){e.writable===no&&typeof e.next==$_&&(e=new Z4(e)),e instanceof WritableStream&&(e={writable:e});let{writable:t}=e;return t.size===no&&(t.size=0),e instanceof Z4||Object.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function za(e,t,n,i){return e.readUint8Array(t,n,i)}var f_e="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),eit=f_e.length==256;function d_e(e){if(eit){let t="";for(let n=0;n<e.length;n++)t+=f_e[e[n]];return t}else return new TextDecoder().decode(e)}function cF(e,t){return t&&t.trim().toLowerCase()=="cp437"?d_e(e):new TextDecoder(t).decode(e)}var Bq="filename",kq="rawFilename",Vq="comment",Uq="rawComment",zq="uncompressedSize",Hq="compressedSize",Gq="offset",J4="diskNumberStart",IS="lastModDate",eH="rawLastModDate",lF="lastAccessDate",h_e="rawLastAccessDate",uF="creationDate",m_e="rawCreationDate",Wq="internalFileAttribute",jq="externalFileAttribute",qq="msDosCompatible",Yq="zip64",tit=[Bq,kq,Hq,zq,IS,eH,Vq,Uq,lF,uF,Gq,J4,J4,Wq,jq,qq,Yq,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"],p0=class{constructor(t){tit.forEach(n=>this[n]=t[n])}};var Xq="File format is not recognized",rit="End of central directory not found",sit="End of Zip64 central directory locator not found",ait="Central directory header not found",cit="Local file header not found",lit="Zip64 extra field not found",uit="File contains encrypted entry",fit="Encryption method not supported",p_e="Compression method not supported",__e="Split zip file",g_e="utf-8",y_e="cp437",dit=[[zq,4294967295],[Hq,4294967295],[Gq,4294967295],[J4,65535]],hit={[65535]:{getValue:vs,bytes:4},[4294967295]:{getValue:tH,bytes:8}},cH=class{constructor(t,n={}){Object.assign(this,{reader:$4(t),options:n,config:JN()})}async*getEntriesGenerator(t={}){let n=this,{reader:i}=n,{config:o}=n;if(await Fm(i),(i.size===no||!i.readUint8Array)&&(i=new eg(await new Response(i.readable).blob()),await Fm(i)),i.size<22)throw new Error(Xq);i.chunkSize=R4(o);let r=await yit(i,101010256,i.size,22,65535*16);if(!r){let N=await za(i,0,4),_=Ca(N);throw vs(_)==134695760?new Error(__e):new Error(rit)}let s=Ca(r),a=vs(s,12),c=vs(s,16),u=r.offset,f=Ta(s,20),d=u+22+f,p=Ta(s,4),g=i.lastDiskNumber||0,m=Ta(s,6),x=Ta(s,8),b=0,T=0;if(c==4294967295||a==4294967295||x==65535||m==65535){let N=await za(i,r.offset-20,20),_=Ca(N);if(vs(_,0)==117853008){c=tH(_,8);let S=await za(i,c,56,-1),w=Ca(S),I=r.offset-20-56;if(vs(w,0)!=101075792&&c!=I){let L=c;c=I,b=c-L,S=await za(i,c,56,-1),w=Ca(S)}if(vs(w,0)!=101075792)throw new Error(sit);p==65535&&(p=vs(w,16)),m==65535&&(m=vs(w,20)),x==65535&&(x=tH(w,32)),a==4294967295&&(a=tH(w,40)),c-=a}}if(c>=i.size&&(b=i.size-c-a-22,c=i.size-a-22),g!=p)throw new Error(__e);if(c<0)throw new Error(Xq);let A=0,C=await za(i,c,a,m),E=Ca(C);if(a){let N=r.offset-a;if(vs(E,A)!=33639248&&c!=N){let _=c;c=N,b+=c-_,C=await za(i,c,a,m),E=Ca(C)}}let v=r.offset-c-(i.lastDiskOffset||0);if(a!=v&&v>=0&&(a=v,C=await za(i,c,a,m),E=Ca(C)),c<0||c>=i.size)throw new Error(Xq);let D=Wl(n,t,"filenameEncoding"),O=Wl(n,t,"commentEncoding");for(let N=0;N<x;N++){let _=new Zq(i,o,n.options);if(vs(E,A)!=33639248)throw new Error(ait);b_e(_,E,A+6);let S=!!_.bitFlag.languageEncodingFlag,w=A+46,I=w+_.filenameLength,L=I+_.extraFieldLength,B=Ta(E,A+4),U=(B&0)==0,V=C.subarray(w,I),G=Ta(E,A+32),k=L+G,W=C.subarray(L,k),Y=S,Q=S,j=U&&(PS(E,A+38)&16)==16,Z=vs(E,A+42)+b;Object.assign(_,{versionMadeBy:B,msDosCompatible:U,compressedSize:0,uncompressedSize:0,commentLength:G,directory:j,offset:Z,diskNumberStart:Ta(E,A+34),internalFileAttribute:Ta(E,A+36),externalFileAttribute:vs(E,A+38),rawFilename:V,filenameUTF8:Y,commentUTF8:Q,rawExtraField:C.subarray(I,L)});let J=Wl(n,t,"decodeText")||cF,he=Y?g_e:D||y_e,xe=Q?g_e:O||y_e,re=J(V,he);re===no&&(re=cF(V,he));let _e=J(W,xe);_e===no&&(_e=cF(W,xe)),Object.assign(_,{rawComment:W,filename:re,comment:_e,directory:j||re.endsWith(CS)}),T=Math.max(Z,T),await T_e(_,_,E,A+6);let ye=new p0(_);ye.getData=(we,Me)=>_.getData(we,ye,Me),A=k;let{onprogress:De}=t;if(De)try{await De(N+1,x,new p0(_))}catch{}yield ye}let R=Wl(n,t,"extractPrependedData"),M=Wl(n,t,"extractAppendedData");return R&&(n.prependedData=T>0?await za(i,0,T):new Uint8Array),n.comment=f?await za(i,u+22,f):new Uint8Array,M&&(n.appendedData=d<i.size?await za(i,d,i.size-d):new Uint8Array),!0}async getEntries(t={}){let n=[];for await(let i of this.getEntriesGenerator(t))n.push(i);return n}async close(){}};var Zq=class{constructor(t,n,i){Object.assign(this,{reader:t,config:n,options:i})}async getData(t,n,i={}){let o=this,{reader:r,offset:s,diskNumberStart:a,extraFieldAES:c,compressionMethod:u,config:f,bitFlag:d,signature:p,rawLastModDate:g,uncompressedSize:m,compressedSize:x}=o,b=n.localDirectory={},T=await za(r,s,30,a),A=Ca(T),C=Wl(o,i,"password"),E=Wl(o,i,"rawPassword");if(C=C&&C.length&&C,E=E&&E.length&&E,c&&c.originalCompressionMethod!=99)throw new Error(p_e);if(u!=0&&u!=8)throw new Error(p_e);if(vs(A,0)!=67324752)throw new Error(cit);b_e(b,A,4),b.rawExtraField=b.extraFieldLength?await za(r,s+30+b.filenameLength,b.extraFieldLength,a):new Uint8Array,await T_e(o,b,A,4,!0),Object.assign(n,{lastAccessDate:b.lastAccessDate,creationDate:b.creationDate});let v=o.encrypted&&b.encrypted,D=v&&!c;if(v){if(!D&&c.strength===no)throw new Error(fit);if(!C&&!E)throw new Error(uit)}let O=s+30+b.filenameLength+b.extraFieldLength,R=x,M=r.readable;Object.assign(M,{diskNumberStart:a,offset:O,size:R});let N=Wl(o,i,"signal"),_=Wl(o,i,"checkPasswordOnly");_&&(t=new WritableStream),t=Q4(t),await Fm(t,m);let{writable:S}=t,{onstart:w,onprogress:I,onend:L}=i,B={options:{codecType:G4,password:C,rawPassword:E,zipCrypto:D,encryptionStrength:c&&c.strength,signed:Wl(o,i,"checkSignature"),passwordVerification:D&&(d.dataDescriptor?g>>>8&255:p>>>24&255),signature:p,compressed:u!=0,encrypted:v,useWebWorkers:Wl(o,i,"useWebWorkers"),useCompressionStream:Wl(o,i,"useCompressionStream"),transferStreams:Wl(o,i,"transferStreams"),checkPasswordOnly:_},config:f,streamOptions:{signal:N,size:R,onstart:w,onprogress:I,onend:L}},U=0;try{({outputSize:U}=await j4({readable:M,writable:S},B))}catch(V){if(!_||V.message!=J_)throw V}finally{let V=Wl(o,i,"preventClose");S.size+=U,!V&&!S.locked&&await S.getWriter().close()}return _?no:t.getData?t.getData():S}};function b_e(e,t,n){let i=e.rawBitFlag=Ta(t,n+2),o=(i&1)==1,r=vs(t,n+6);Object.assign(e,{encrypted:o,version:Ta(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:xit(r),filenameLength:Ta(t,n+22),extraFieldLength:Ta(t,n+24)})}async function T_e(e,t,n,i,o){let{rawExtraField:r}=t,s=t.extraField=new Map,a=Ca(new Uint8Array(r)),c=0;try{for(;c<r.length;){let T=Ta(a,c),A=Ta(a,c+2);s.set(T,{type:T,data:r.slice(c+4,c+4+A)}),c+=4+A}}catch{}let u=Ta(n,i+4);Object.assign(t,{signature:vs(n,i+10),uncompressedSize:vs(n,i+18),compressedSize:vs(n,i+14)});let f=s.get(1);f&&(mit(f,t),t.extraFieldZip64=f);let d=s.get(28789);d&&(await x_e(d,Bq,kq,t,e),t.extraFieldUnicodePath=d);let p=s.get(25461);p&&(await x_e(p,Vq,Uq,t,e),t.extraFieldUnicodeComment=p);let g=s.get(39169);g?(pit(g,t,u),t.extraFieldAES=g):t.compressionMethod=u;let m=s.get(10);m&&(_it(m,t),t.extraFieldNTFS=m);let x=s.get(21589);x&&(git(x,t,o),t.extraFieldExtendedTimestamp=x);let b=s.get(6534);b&&(t.extraFieldUSDZ=b)}function mit(e,t){t.zip64=!0;let n=Ca(e.data),i=dit.filter(([o,r])=>t[o]==r);for(let o=0,r=0;o<i.length;o++){let[s,a]=i[o];if(t[s]==a){let c=hit[a];t[s]=e[s]=c.getValue(n,r),r+=c.bytes}else if(e[s])throw new Error(lit)}}async function x_e(e,t,n,i,o){let r=Ca(e.data),s=new Q_;s.append(o[n]);let a=Ca(new Uint8Array(4));a.setUint32(0,s.get(),!0);let c=vs(r,1);Object.assign(e,{version:PS(r,0),[t]:cF(e.data.subarray(5)),valid:!o.bitFlag.languageEncodingFlag&&c==vs(a,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function pit(e,t,n){let i=Ca(e.data),o=PS(i,4);Object.assign(e,{vendorVersion:PS(i,0),vendorId:PS(i,2),strength:o,originalCompressionMethod:n,compressionMethod:Ta(i,5)}),t.compressionMethod=e.compressionMethod}function _it(e,t){let n=Ca(e.data),i=4,o;try{for(;i<e.data.length&&!o;){let r=Ta(n,i),s=Ta(n,i+2);r==1&&(o=e.data.slice(i+4,i+4+s)),i+=4+s}}catch{}try{if(o&&o.length==24){let r=Ca(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),c=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:c});let u=Kq(s),f=Kq(a),d=Kq(c),p={lastModDate:u,lastAccessDate:f,creationDate:d};Object.assign(e,p),Object.assign(t,p)}}catch{}}function git(e,t,n){let i=Ca(e.data),o=PS(i,0),r=[],s=[];n?((o&1)==1&&(r.push(IS),s.push(eH)),(o&2)==2&&(r.push(lF),s.push(h_e)),(o&4)==4&&(r.push(uF),s.push(m_e))):e.data.length>=5&&(r.push(IS),s.push(eH));let a=1;r.forEach((c,u)=>{if(e.data.length>=a+4){let f=vs(i,a);t[c]=e[c]=new Date(f*1e3);let d=s[u];e[d]=f}a+=4})}async function yit(e,t,n,i,o){let r=new Uint8Array(4),s=Ca(r);bit(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(u){let f=n-u,d=await za(e,f,u);for(let p=d.length-i;p>=0;p--)if(d[p]==r[0]&&d[p+1]==r[1]&&d[p+2]==r[2]&&d[p+3]==r[3])return{offset:f+p,buffer:d.slice(p,p+i).buffer}}}function Wl(e,t,n){return t[n]===no?e.options[n]:t[n]}function xit(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function Kq(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function PS(e,t){return e.getUint8(t)}function Ta(e,t){return e.getUint16(t,!0)}function vs(e,t){return e.getUint32(t,!0)}function tH(e,t){return Number(e.getBigUint64(t,!0))}function bit(e,t,n){e.setUint32(t,n,!0)}function Ca(e){return new DataView(e.buffer)}var Eit="File already exists",Sit="Zip file comment exceeds 64KB",vit="File entry comment exceeds 64KB",wit="File entry name exceeds 64KB",E_e="Version exceeds 65535",Dit="The strength must equal 1, 2, or 3",Iit="Extra field type exceeds 65535",Pit="Extra field data exceeds 64KB",uY="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",S_e=new Uint8Array([7,0,2,0,65,69,3,0,0]),cY=0,v_e=[],fH=class{constructor(t,n={}){t=Q4(t);let i=t.availableSize!==no&&t.availableSize>0&&t.availableSize!==1/0&&t.maxSize!==no&&t.maxSize>0&&t.maxSize!==1/0;Object.assign(this,{writer:t,addSplitZipSignature:i,options:n,config:JN(),files:new Map,filenames:new Set,offset:t.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new Set,bufferedWrites:0})}async add(t="",n,i={}){let o=this,{pendingAddFileCalls:r,config:s}=o;cY<s.maxWorkers?cY++:await new Promise(c=>v_e.push(c));let a;try{if(t=t.trim(),o.filenames.has(t))throw new Error(Eit);return o.filenames.add(t),a=Rit(o,t,n,i),r.add(a),await a}catch(c){throw o.filenames.delete(t),c}finally{r.delete(a);let c=v_e.shift();c?c():cY--}}async close(t=new Uint8Array,n={}){let i=this,{pendingAddFileCalls:o,writer:r}=this,{writable:s}=r;for(;o.size;)await Promise.allSettled(Array.from(o));return await Uit(this,t,n),Qo(i,n,"preventClose")||await s.getWriter().close(),r.getData?r.getData():s}};async function Rit(e,t,n,i){t=t.trim(),i.directory&&!t.endsWith(CS)?t+=CS:i.directory=t.endsWith(CS);let o=Qo(e,i,"encodeText",ES),r=o(t);if(r===no&&(r=ES(t)),$i(r)>65535)throw new Error(wit);let s=i.comment||"",a=o(s);if(a===no&&(a=ES(s)),$i(a)>65535)throw new Error(vit);let c=Qo(e,i,"version",20);if(c>65535)throw new Error(E_e);let u=Qo(e,i,"versionMadeBy",20);if(u>65535)throw new Error(E_e);let f=Qo(e,i,IS,new Date),d=Qo(e,i,lF),p=Qo(e,i,uF),g=Qo(e,i,qq,!0),m=Qo(e,i,Wq,0),x=Qo(e,i,jq,0),b=Qo(e,i,"password"),T=Qo(e,i,"rawPassword"),A=Qo(e,i,"encryptionStrength",3),C=Qo(e,i,"zipCrypto"),E=Qo(e,i,"extendedTimestamp",!0),v=Qo(e,i,"keepOrder",!0),D=Qo(e,i,"level"),O=Qo(e,i,"useWebWorkers"),R=Qo(e,i,"bufferedWrite"),M=Qo(e,i,"dataDescriptorSignature",!1),N=Qo(e,i,"signal"),_=Qo(e,i,"useCompressionStream"),S=Qo(e,i,"dataDescriptor",!0),w=Qo(e,i,Yq);if(b!==no&&A!==no&&(A<1||A>3))throw new Error(Dit);let I=new Uint8Array,{extraField:L}=i;if(L){let De=0,we=0;L.forEach(Me=>De+=4+$i(Me)),I=new Uint8Array(De),L.forEach((Me,Oe)=>{if(Oe>65535)throw new Error(Iit);if($i(Me)>65535)throw new Error(Pit);Bs(I,new Uint16Array([Oe]),we),Bs(I,new Uint16Array([$i(Me)]),we+2),Bs(I,Me,we+4),we+=4+$i(Me)})}let B=0,U=0,V=0,G=w===!0;n&&(n=$4(n),await Fm(n),n.size===no?(S=!0,(w||w===no)&&(w=!0,V=B=4294967296)):(V=n.size,B=zit(V)));let{diskOffset:k,diskNumber:W,maxSize:Y}=e.writer,Q=G||V>4294967295,j=G||B>4294967295,Z=G||e.offset+e.pendingEntriesSize-k>4294967295,he=Qo(e,i,"supportZip64SplitFile",!0)&&G||W+Math.ceil(e.pendingEntriesSize/Y)>65535;if(Z||Q||j||he){if(w===!1||!v)throw new Error(uY);w=!0}w=w||!1,i=Object.assign({},i,{rawFilename:r,rawComment:a,version:c,versionMadeBy:u,lastModDate:f,lastAccessDate:d,creationDate:p,rawExtraField:I,zip64:w,zip64UncompressedSize:Q,zip64CompressedSize:j,zip64Offset:Z,zip64DiskNumberStart:he,password:b,rawPassword:T,level:!_&&e.config.CompressionStream===no&&e.config.CompressionStreamNative===no?0:D,useWebWorkers:O,encryptionStrength:A,extendedTimestamp:E,zipCrypto:C,bufferedWrite:R,keepOrder:v,dataDescriptor:S,dataDescriptorSignature:M,signal:N,msDosCompatible:g,internalFileAttribute:m,externalFileAttribute:x,useCompressionStream:_});let xe=Lit(i),re=Fit(i),_e=$i(xe.localHeaderArray,re.dataDescriptorArray);U=_e+B,e.options.usdz&&(U+=U+64),e.pendingEntriesSize+=U;let ye;try{ye=await Oit(e,t,n,{headerInfo:xe,dataDescriptorInfo:re,metadataSize:_e},i)}finally{e.pendingEntriesSize-=U}return Object.assign(ye,{name:t,comment:s,extraField:L}),new p0(ye)}async function Oit(e,t,n,i,o){let{files:r,writer:s}=e,{keepOrder:a,dataDescriptor:c,signal:u}=o,{headerInfo:f}=i,{usdz:d}=e.options,p=Array.from(r.values()).pop(),g={},m,x,b,T,A,C,E;r.set(t,g);try{let R;a&&(R=p&&p.lock,v()),(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&a||!c)&&!d?(C=new null,E=new Response(C.readable).blob(),C.writable.size=0,m=!0,e.bufferedWrites++,await Fm(s)):(C=s,await D()),await Fm(C);let{writable:M}=s,{diskOffset:N}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;let S=new Uint8Array(4),w=Ha(S);Zi(w,0,134695760),await Bm(M,S),e.offset+=4}d&&Nit(i,e.offset-N),m||(await R,await O(M));let{diskNumber:_}=s;if(A=!0,g.diskNumberStart=_,g=await Mit(n,C,g,i,e.config,o),A=!1,r.set(t,g),g.filename=t,m){await C.writable.getWriter().close();let S=await E;await R,await D(),T=!0,c||(S=await kit(g,S,M,o)),await O(M),g.diskNumberStart=s.diskNumber,N=s.diskOffset,await S.stream().pipeTo(M,{preventClose:!0,preventAbort:!0,signal:u}),M.size+=S.size,T=!1}if(g.offset=e.offset-N,g.zip64)Vit(g,o);else if(g.offset>4294967295)throw new Error(uY);return e.offset+=g.size,g}catch(R){if(m&&T||!m&&A){if(e.hasCorruptedEntries=!0,R)try{R.corruptedEntry=!0}catch{}m?e.offset+=C.writable.size:e.offset=C.writable.size}throw r.delete(t),R}finally{m&&e.bufferedWrites--,b&&b(),x&&x()}function v(){g.lock=new Promise(R=>b=R)}async function D(){e.writerLocked=!0;let{lockWriter:R}=e;e.lockWriter=new Promise(M=>x=()=>{e.writerLocked=!1,M()}),await R}async function O(R){$i(f.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Bm(R,new Uint8Array))}}async function Mit(e,t,{diskNumberStart:n,lock:i},o,r,s){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:u}=o,{localHeaderArray:f,headerArray:d,lastModDate:p,rawLastModDate:g,encrypted:m,compressed:x,version:b,compressionMethod:T,rawExtraFieldExtendedTimestamp:A,extraFieldExtendedTimestampFlag:C,rawExtraFieldNTFS:E,rawExtraFieldAES:v}=a,{dataDescriptorArray:D}=c,{rawFilename:O,lastAccessDate:R,creationDate:M,password:N,rawPassword:_,level:S,zip64:w,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:B,zip64DiskNumberStart:U,zipCrypto:V,dataDescriptor:G,directory:k,versionMadeBy:W,rawComment:Y,rawExtraField:Q,useWebWorkers:j,onstart:Z,onprogress:J,onend:he,signal:xe,encryptionStrength:re,extendedTimestamp:_e,msDosCompatible:ye,internalFileAttribute:De,externalFileAttribute:we,useCompressionStream:Me}=s,Oe={lock:i,versionMadeBy:W,zip64:w,directory:!!k,filenameUTF8:!0,rawFilename:O,commentUTF8:!0,rawComment:Y,rawExtraFieldExtendedTimestamp:A,rawExtraFieldNTFS:E,rawExtraFieldAES:v,rawExtraField:Q,extendedTimestamp:_e,msDosCompatible:ye,internalFileAttribute:De,externalFileAttribute:we,diskNumberStart:n},lt=0,et=0,vt,{writable:Qe}=t;if(e){e.chunkSize=R4(r),await Bm(Qe,f);let mt=e.readable,pt=mt.size=e.size,Xt={options:{codecType:H4,level:S,rawPassword:_,password:N,encryptionStrength:re,zipCrypto:m&&V,passwordVerification:m&&V&&g>>8&255,signed:!0,compressed:x,encrypted:m,useWebWorkers:j,useCompressionStream:Me,transferStreams:!1},config:r,streamOptions:{signal:xe,size:pt,onstart:Z,onprogress:J,onend:he}},Te=await j4({readable:mt,writable:Qe},Xt);et=Te.inputSize,lt=Te.outputSize,vt=Te.signature,Qe.size+=et}else await Bm(Qe,f);let wt;if(w){let mt=4;I&&(mt+=8),L&&(mt+=8),B&&(mt+=8),U&&(mt+=4),wt=new Uint8Array(mt)}else wt=new Uint8Array;return Bit({signature:vt,rawExtraFieldZip64:wt,compressedSize:lt,uncompressedSize:et,headerInfo:a,dataDescriptorInfo:c},s),G&&await Bm(Qe,D),Object.assign(Oe,{uncompressedSize:et,compressedSize:lt,lastModDate:p,rawLastModDate:g,creationDate:M,lastAccessDate:R,encrypted:m,size:u+lt,compressionMethod:T,version:b,headerArray:d,signature:vt,rawExtraFieldZip64:wt,extraFieldExtendedTimestampFlag:C,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:B,zip64DiskNumberStart:U}),Oe}function Lit(e){let{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:o,rawPassword:r,password:s,level:a,zip64:c,zipCrypto:u,dataDescriptor:f,directory:d,rawExtraField:p,encryptionStrength:g,extendedTimestamp:m}=e,x=a!==0&&!d,b=!!(s&&$i(s)||r&&$i(r)),T=e.version,A;if(b&&!u){A=new Uint8Array($i(S_e)+2);let U=Ha(A);lo(U,0,39169),Bs(A,S_e,2),dH(U,8,g)}else A=new Uint8Array;let C,E,v;if(m){E=new Uint8Array(9+(i?4:0)+(o?4:0));let U=Ha(E);lo(U,0,21589),lo(U,2,$i(E)-4),v=1+(i?2:0)+(o?4:0),dH(U,4,v);let V=5;Zi(U,V,Math.floor(n.getTime()/1e3)),V+=4,i&&(Zi(U,V,Math.floor(i.getTime()/1e3)),V+=4),o&&Zi(U,V,Math.floor(o.getTime()/1e3));try{C=new Uint8Array(36);let G=Ha(C),k=lY(n);lo(G,0,10),lo(G,2,32),lo(G,8,1),lo(G,10,24),jl(G,12,k),jl(G,20,lY(i)||k),jl(G,28,lY(o)||k)}catch{C=new Uint8Array}}else C=E=new Uint8Array;let D=2048;f&&(D=D|8);let O=0;x&&(O=8),c&&(T=T>45?T:45),b&&(D=D|1,u||(T=T>51?T:51,O=99,x&&(A[9]=8)));let R=new Uint8Array(26),M=Ha(R);lo(M,0,T),lo(M,2,D),lo(M,4,O);let N=new Uint32Array(1),_=Ha(N),S;n<Aq?S=Aq:n>Cq?S=Cq:S=n,lo(_,0,(S.getHours()<<6|S.getMinutes())<<5|S.getSeconds()/2),lo(_,2,(S.getFullYear()-1980<<4|S.getMonth()+1)<<5|S.getDate());let w=N[0];Zi(M,6,w),lo(M,22,$i(t));let I=$i(A,E,C,p);lo(M,24,I);let L=new Uint8Array(30+$i(t)+I),B=Ha(L);return Zi(B,0,67324752),Bs(L,R,4),Bs(L,t,30),Bs(L,A,30+$i(t)),Bs(L,E,30+$i(t,A)),Bs(L,C,30+$i(t,A,E)),Bs(L,p,30+$i(t,A,E,C)),{localHeaderArray:L,headerArray:R,headerView:M,lastModDate:n,rawLastModDate:w,encrypted:b,compressed:x,version:T,compressionMethod:O,extraFieldExtendedTimestampFlag:v,rawExtraFieldExtendedTimestamp:E,rawExtraFieldNTFS:C,rawExtraFieldAES:A,extraFieldLength:I}}function Nit(e,t){let{headerInfo:n}=e,{localHeaderArray:i,extraFieldLength:o}=n,r=Ha(i),s=64-(t+$i(i))%64;s<4&&(s+=64);let a=new Uint8Array(s),c=Ha(a);lo(c,0,6534),lo(c,2,s-2);let u=i;n.localHeaderArray=i=new Uint8Array($i(u)+s),Bs(i,u),Bs(i,a,$i(u)),r=Ha(i),lo(r,28,o+s),e.metadataSize+=s}function Fit(e){let{zip64:t,dataDescriptor:n,dataDescriptorSignature:i}=e,o=new Uint8Array,r,s=0;return n&&(o=new Uint8Array(t?i?24:20:i?16:12),r=Ha(o),i&&(s=4,Zi(r,0,134695760))),{dataDescriptorArray:o,dataDescriptorView:r,dataDescriptorOffset:s}}function Bit(e,t){let{signature:n,rawExtraFieldZip64:i,compressedSize:o,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:a}=e,{headerView:c,encrypted:u}=s,{dataDescriptorView:f,dataDescriptorOffset:d}=a,{zip64:p,zip64UncompressedSize:g,zip64CompressedSize:m,zipCrypto:x,dataDescriptor:b}=t;if((!u||x)&&n!==no&&(Zi(c,10,n),b&&Zi(f,d,n)),p){let T=Ha(i);lo(T,0,1),lo(T,2,$i(i)-4);let A=4;g&&(Zi(c,18,4294967295),jl(T,A,BigInt(r)),A+=8),m&&(Zi(c,14,4294967295),jl(T,A,BigInt(o))),b&&(jl(f,d+4,BigInt(o)),jl(f,d+12,BigInt(r)))}else Zi(c,14,o),Zi(c,18,r),b&&(Zi(f,d+4,o),Zi(f,d+8,r))}async function kit(e,t,n,{zipCrypto:i}){let o;o=await t.slice(0,26).arrayBuffer(),o.byteLength!=26&&(o=o.slice(0,26));let r=new DataView(o);return(!e.encrypted||i)&&Zi(r,14,e.signature),e.zip64?(Zi(r,18,4294967295),Zi(r,22,4294967295)):(Zi(r,18,e.compressedSize),Zi(r,22,e.uncompressedSize)),await Bm(n,new Uint8Array(o)),t.slice(o.byteLength)}function Vit(e,t){let{rawExtraFieldZip64:n,offset:i,diskNumberStart:o}=e,{zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:a,zip64DiskNumberStart:c}=t,u=Ha(n),f=4;r&&(f+=8),s&&(f+=8),a&&(jl(u,f,BigInt(i)),f+=8),c&&Zi(u,f,o)}async function Uit(e,t,n){let{files:i,writer:o}=e,{diskOffset:r,writable:s}=o,{diskNumber:a}=o,c=0,u=0,f=e.offset-r,d=i.size;for(let[,v]of i){let{rawFilename:D,rawExtraFieldZip64:O,rawExtraFieldAES:R,rawComment:M,rawExtraFieldNTFS:N,rawExtraField:_,extendedTimestamp:S,extraFieldExtendedTimestampFlag:w,lastModDate:I}=v,L;if(S){L=new Uint8Array(9);let B=Ha(L);lo(B,0,21589),lo(B,2,5),dH(B,4,w),Zi(B,5,Math.floor(I.getTime()/1e3))}else L=new Uint8Array;v.rawExtraFieldCDExtendedTimestamp=L,u+=46+$i(D,M,O,R,N,L,_)}let p=new Uint8Array(u),g=Ha(p);await Fm(o);let m=0;for(let[v,D]of Array.from(i.values()).entries()){let{offset:O,rawFilename:R,rawExtraFieldZip64:M,rawExtraFieldAES:N,rawExtraFieldCDExtendedTimestamp:_,rawExtraFieldNTFS:S,rawExtraField:w,rawComment:I,versionMadeBy:L,headerArray:B,directory:U,zip64:V,zip64UncompressedSize:G,zip64CompressedSize:k,zip64DiskNumberStart:W,zip64Offset:Y,msDosCompatible:Q,internalFileAttribute:j,externalFileAttribute:Z,diskNumberStart:J,uncompressedSize:he,compressedSize:xe}=D,re=$i(M,N,_,S,w);Zi(g,c,33639248),lo(g,c+4,L);let _e=Ha(B);G||Zi(_e,18,he),k||Zi(_e,14,xe),Bs(p,B,c+6),lo(g,c+30,re),lo(g,c+32,$i(I)),lo(g,c+34,V&&W?65535:J),lo(g,c+36,j),Z?Zi(g,c+38,Z):U&&Q&&dH(g,c+38,16),Zi(g,c+42,V&&Y?4294967295:O),Bs(p,R,c+46),Bs(p,M,c+46+$i(R)),Bs(p,N,c+46+$i(R,M)),Bs(p,_,c+46+$i(R,M,N)),Bs(p,S,c+46+$i(R,M,N,_)),Bs(p,w,c+46+$i(R,M,N,_,S)),Bs(p,I,c+46+$i(R)+re);let ye=46+$i(R,I)+re;if(c-m>o.availableSize&&(o.availableSize=0,await Bm(s,p.slice(m,c)),m=c),c+=ye,n.onprogress)try{await n.onprogress(v+1,i.size,new p0(D))}catch{}}await Bm(s,m?p.slice(m):p);let x=o.diskNumber,{availableSize:b}=o;b<22&&x++;let T=Qo(e,n,"zip64");if(f>4294967295||u>4294967295||d>65535||x>65535){if(T===!1)throw new Error(uY);T=!0}let A=new Uint8Array(T?98:22),C=Ha(A);c=0,T&&(Zi(C,0,101075792),jl(C,4,BigInt(44)),lo(C,12,45),lo(C,14,45),Zi(C,16,x),Zi(C,20,a),jl(C,24,BigInt(d)),jl(C,32,BigInt(d)),jl(C,40,BigInt(u)),jl(C,48,BigInt(f)),Zi(C,56,117853008),jl(C,64,BigInt(f)+BigInt(u)),Zi(C,72,x+1),Qo(e,n,"supportZip64SplitFile",!0)&&(x=65535,a=65535),d=65535,f=4294967295,u=4294967295,c+=76),Zi(C,c,101010256),lo(C,c+4,x),lo(C,c+6,a),lo(C,c+8,d),lo(C,c+10,d),Zi(C,c+12,u),Zi(C,c+16,f);let E=$i(t);if(E)if(E<=65535)lo(C,c+20,E);else throw new Error(Sit);await Bm(s,A),E&&await Bm(s,t)}async function Bm(e,t){let n=e.getWriter();try{await n.ready,e.size+=$i(t),await n.write(t)}finally{n.releaseLock()}}function lY(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function Qo(e,t,n,i){let o=t[n]===no?e.options[n]:t[n];return o===no?i:o}function zit(e){return e+5*(Math.floor(e/16383)+1)}function dH(e,t,n){e.setUint8(t,n)}function lo(e,t,n){e.setUint16(t,n,!0)}function Zi(e,t,n){e.setUint32(t,n,!0)}function jl(e,t,n){e.setBigUint64(t,n,!0)}function Bs(e,t,n){e.set(t,n)}function Ha(e){return new DataView(e.buffer)}function $i(...e){let t=0;return e.forEach(n=>n&&(t+=n.length)),t}AS({Deflate:fpe,Inflate:Mpe});var fY=32,Hit="http://www.opengis.net/kml/2.2",Ah="http://www.google.com/kml/ext/2.2",Git="http://www.w3.org/2000/xmlns/";function hH(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var Wit=/^data:image\/([^,;]+)/;hH.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof Ae){if(e=Ae.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(Wit);n=`texture_${++this._count}`,l(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function jit(e,t){return function(n){e._files[t]=n}}hH.prototype.model=function(e,t){let n=this._modelCallback;if(!l(n))throw new se("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(jit(this,r))}return o};Object.defineProperties(hH.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function mH(e){this._time=e}mH.prototype.get=function(e,t,n){let i;return l(e)&&(i=l(e.getValue)?e.getValue(this._time,n):e),y(i,t)};mH.prototype.getColor=function(e,t){let n=this.get(e,t);if(l(n))return AT(n)};mH.prototype.getMaterialType=function(e){if(l(e))return e.getType(this._time)};function dY(){this._ids={},this._styles={},this._count=0}dY.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(l(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};dY.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function P_e(){this._ids={}}P_e.prototype.get=function(e){if(!l(e))return this.get(Wn());let t=this._ids;return l(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function hY(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=hY._createState(e),o=t.values.filter(function(u){return!l(u.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(Git,"xmlns:gx",Ah);let a=r.createElement("Document");s.appendChild(a),O_e(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let f=new XMLSerializer().serializeToString(i.kmlDoc);return n?qit(f,c.files):{kml:f,externalFiles:c.files}})}function qit(e,t){let n=sn("ThirdParty/Workers/z-worker-pako.js");AS({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new aF,o=new fH(i);return o.add("doc.kml",new X4(e)).then(function(){let r=Object.keys(t);return R_e(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function R_e(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new eg(n[o])).then(function(){return R_e(e,t,n,i+1)})}hY._createState=function(e){let t=e.entities,n=new dY,i=t.computeAvailability(),o=l(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===ze.MINIMUM_VALUE?r.stop===ze.MAXIMUM_VALUE?r=new Sn:K.addSeconds(r.stop,-10*s,r.start):r.stop===ze.MAXIMUM_VALUE&&K.addSeconds(r.start,10*s,r.stop);let a=new hH(e.modelCallback);return{kmlDoc:document.implementation.createDocument(Hit,"kml"),ellipsoid:y(e.ellipsoid,ee.default),idManager:new P_e,styleCache:n,externalFileHandler:a,time:o,valueGetter:new mH(o),sampleDuration:s,defaultAvailability:new Kr([r])}};function O_e(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,u,f;for(let d=0;d<a;++d){let p=n[d];c=[],u=[],f=[],Yit(e,p,u,f),Xit(e,p.polyline,u,f),I_e(e,p.rectangle,u,f,c),I_e(e,p.polygon,u,f,c),Qit(e,p,p.model,u,f);let g,m=p.availability;l(m)&&(g=i.createElement("TimeSpan"),K.equals(m.start,ze.MINIMUM_VALUE)||g.appendChild(_n(i,"begin",K.toIso8601(m.start))),K.equals(m.stop,ze.MAXIMUM_VALUE)||g.appendChild(_n(i,"end",K.toIso8601(m.stop))));for(let T=0;T<c.length;++T){let A=c[T];A.setAttribute("id",s.get(p.id)),A.appendChild(_n(i,"name",p.name)),A.appendChild(_n(i,"visibility",p.show)),A.appendChild(_n(i,"description",p.description)),l(g)&&A.appendChild(g),t.appendChild(A)}let x=u.length;if(x>0){let T=i.createElement("Placemark");T.setAttribute("id",s.get(p.id));let A=p.name,C=p.label;if(l(C)){let v=i.createElement("LabelStyle"),D=r.get(C.text);A=l(D)&&D.length>0?D:A;let O=r.getColor(C.fillColor);l(O)&&(v.appendChild(_n(i,"color",O)),v.appendChild(_n(i,"colorMode","normal")));let R=r.get(C.scale);l(R)&&v.appendChild(_n(i,"scale",R)),f.push(v)}T.appendChild(_n(i,"name",A)),T.appendChild(_n(i,"visibility",p.show)),T.appendChild(_n(i,"description",p.description)),l(g)&&T.appendChild(g),t.appendChild(T);let E=f.length;if(E>0){let v=i.createElement("Style");for(let D=0;D<E;++D)v.appendChild(f[D]);T.appendChild(_n(i,"styleUrl",o.get(v)))}if(u.length===1)T.appendChild(u[0]);else if(u.length>1){let v=i.createElement("MultiGeometry");for(let D=0;D<x;++D)v.appendChild(u[D]);T.appendChild(v)}}let b=p._children;if(b.length>0){let T=i.createElement("Folder");T.setAttribute("id",s.get(p.id)),T.appendChild(_n(i,"name",p.name)),T.appendChild(_n(i,"visibility",p.show)),T.appendChild(_n(i,"description",p.description)),t.appendChild(T),O_e(e,T,b)}}}var ql=new h,cl=new fe,Ch=new K;function Yit(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!l(a)&&!l(t.path))return;let c=t.position;if(!c.isConstant){M_e(e,t,a,n,i);return}s.get(c,void 0,ql);let u=_n(o,"coordinates",CT(ql,r)),f=o.createElement("Point"),d=o.createElement("altitudeMode");d.appendChild(ET(e,a.heightReference)),f.appendChild(d),f.appendChild(u),n.push(f);let p=a instanceof rc?N_e(e,a):L_e(e,a);i.push(p)}function M_e(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,u=t.position,f=!0;u instanceof ga?(c=u.intervals,f=!1):c=y(t.availability,e.defaultAvailability);let d=n instanceof kp,p,g,m,x=[];for(p=0;p<c.length;++p){let T=c.get(p),A=f?u:T.data,C=r.createElement("altitudeMode");A instanceof Pm?(A=A._value,C.appendChild(ET(e,qe.CLAMP_TO_GROUND))):l(n)?C.appendChild(ET(e,n.heightReference)):C.appendChild(ET(e,qe.NONE));let E=[],v=[];if(A.isConstant){a.get(A,void 0,ql);let O=_n(r,"coordinates",CT(ql,s));E.push(K.toIso8601(T.start)),v.push(O),E.push(K.toIso8601(T.stop)),v.push(O)}else if(A instanceof xa)for(m=A._property._times,g=0;g<m.length;++g)E.push(K.toIso8601(m[g])),A.getValueInReferenceFrame(m[g],zi.FIXED,ql),v.push(CT(ql,s));else if(A instanceof Lu){m=A._times;let O=A._values;for(g=0;g<m.length;++g)E.push(K.toIso8601(m[g])),h.fromArray(O,g*3,ql),v.push(CT(ql,s))}else{let O=e.sampleDuration;T.start.clone(Ch),T.isStartIncluded||K.addSeconds(Ch,O,Ch);let R=T.stop;for(;K.lessThan(Ch,R);)A.getValue(Ch,ql),E.push(K.toIso8601(Ch)),v.push(CT(ql,s)),K.addSeconds(Ch,O,Ch);T.isStopIncluded&&K.equals(Ch,R)&&(A.getValue(Ch,ql),E.push(K.toIso8601(Ch)),v.push(CT(ql,s)))}let D=r.createElementNS(Ah,"Track");D.appendChild(C);for(let O=0;O<E.length;++O){let R=_n(r,"when",E[O]),M=_n(r,"coord",v[O],Ah);D.appendChild(R),D.appendChild(M)}d&&D.appendChild(F_e(e,n)),x.push(D)}if(x.length===1)i.push(x[0]);else if(x.length>1){let T=r.createElementNS(Ah,"MultiTrack");for(p=0;p<x.length;++p)T.appendChild(x[p]);i.push(T)}if(l(n)&&!d){let T=n instanceof rc?N_e(e,n):L_e(e,n);o.push(T)}let b=t.path;if(l(b)){let T=a.get(b.width),A=b.material;if(l(A)||l(T)){let C=r.createElement("LineStyle");l(T)&&C.appendChild(_n(r,"width",T)),mY(e,A,C),o.push(C)}}}function L_e(e,t){let n=e.kmlDoc,i=e.valueGetter,o=n.createElement("IconStyle"),r=i.getColor(t.color);l(r)&&(o.appendChild(_n(n,"color",r)),o.appendChild(_n(n,"colorMode","normal")));let s=i.get(t.pixelSize);return l(s)&&o.appendChild(_n(n,"scale",s/fY)),o}function N_e(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("IconStyle"),s=i.get(t.image);if(l(s)){s=o.texture(s);let p=n.createElement("Icon");p.appendChild(_n(n,"href",s));let g=i.get(t.imageSubRegion);l(g)&&(p.appendChild(_n(n,"x",g.x,Ah)),p.appendChild(_n(n,"y",g.y,Ah)),p.appendChild(_n(n,"w",g.width,Ah)),p.appendChild(_n(n,"h",g.height,Ah))),r.appendChild(p)}let a=i.getColor(t.color);l(a)&&(r.appendChild(_n(n,"color",a)),r.appendChild(_n(n,"colorMode","normal")));let c=i.get(t.scale);l(c)&&r.appendChild(_n(n,"scale",c));let u=i.get(t.pixelOffset);if(l(u)){c=y(c,1),z.divideByScalar(u,c,u);let p=i.get(t.width,fY),g=i.get(t.height,fY),m=i.get(t.horizontalOrigin,Ti.CENTER);m===Ti.CENTER?u.x-=p*.5:m===Ti.RIGHT&&(u.x-=p);let x=i.get(t.verticalOrigin,Mn.CENTER);x===Mn.TOP?u.y+=g:x===Mn.CENTER&&(u.y+=g*.5);let b=n.createElement("hotSpot");b.setAttribute("x",-u.x),b.setAttribute("y",u.y),b.setAttribute("xunits","pixels"),b.setAttribute("yunits","pixels"),r.appendChild(b)}let f=i.get(t.rotation),d=i.get(t.alignedAxis);return l(f)&&h.equals(h.UNIT_Z,d)&&(f=P.toDegrees(-f),f===0&&(f=360),r.appendChild(_n(n,"heading",f))),r}function Xit(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter;if(!l(t))return;let a=o.createElement("LineString"),c=o.createElement("altitudeMode"),u=s.get(t.clampToGround,!1),f;u?(a.appendChild(_n(o,"tessellate",!0)),f=o.createTextNode("clampToGround")):f=o.createTextNode("absolute"),c.appendChild(f),a.appendChild(c);let d=t.positions,p=s.get(d),g=_n(o,"coordinates",CT(p,r));a.appendChild(g);let m=s.get(t.zIndex);u&&l(m)&&a.appendChild(_n(o,"drawOrder",m,Ah)),n.push(a);let x=o.createElement("LineStyle"),b=s.get(t.width);l(b)&&x.appendChild(_n(o,"width",b)),mY(e,t.material,x),i.push(x)}function Kit(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0);n>0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],u=[ae.northeast,ae.southeast,ae.southwest,ae.northwest];for(let g=0;g<4;++g)u[g](a,cl),c.push(`${P.toDegrees(cl.longitude)},${P.toDegrees(cl.latitude)},${r}`);let f=_n(i,"coordinates",c.join(" ")),d=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(f),d.appendChild(p),[d]}function D_e(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let f=0;f<a;++f)fe.fromCartesian(t[f],r,cl),s.push(`${P.toDegrees(cl.longitude)},${P.toDegrees(cl.latitude)},${i?cl.height:n}`);let c=_n(o,"coordinates",s.join(" ")),u=o.createElement("LinearRing");return u.appendChild(c),u}function Zit(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0),s=o.get(t.perPositionHeight,!1);!s&&n>0&&(r=n);let a=[],c=t.hierarchy,u=o.get(c),f=Array.isArray(u)?u:u.positions,d=i.createElement("outerBoundaryIs");d.appendChild(D_e(e,f,r,s)),a.push(d);let p=u.holes;if(l(p)){let g=p.length;for(let m=0;m<g;++m){let x=i.createElement("innerBoundaryIs");x.appendChild(D_e(e,p[m].positions,r,s)),a.push(x)}}return a}function I_e(e,t,n,i,o){let r=e.kmlDoc,s=e.valueGetter;if(!l(t))return;let a=t instanceof Nd;if(a&&s.getMaterialType(t.material)==="Image"){$it(e,t,o);return}let c=r.createElement("Polygon"),u=s.get(t.extrudedHeight,0);u>0&&c.appendChild(_n(r,"extrude",!0));let f=a?Kit(e,t,u):Zit(e,t,u),d=f.length;for(let b=0;b<d;++b)c.appendChild(f[b]);let p=r.createElement("altitudeMode");p.appendChild(ET(e,t.heightReference)),c.appendChild(p),n.push(c);let g=r.createElement("PolyStyle"),m=s.get(t.fill,!1);m&&g.appendChild(_n(r,"fill",m)),mY(e,t.material,g);let x=s.get(t.outline,!1);if(x){g.appendChild(_n(r,"outline",x));let b=r.createElement("LineStyle"),T=s.get(t.outlineWidth,1);b.appendChild(_n(r,"width",T));let A=s.getColor(t.outlineColor,H.BLACK);b.appendChild(_n(r,"color",A)),b.appendChild(_n(r,"colorMode","normal")),i.push(b)}i.push(g)}function $it(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=e.externalFileHandler,s=i.createElement("GroundOverlay"),a=i.createElement("altitudeMode");a.appendChild(ET(e,t.heightReference)),s.appendChild(a);let c=o.get(t.height);l(c)&&s.appendChild(_n(i,"altitude",c));let u=o.get(t.coordinates),f=i.createElement("LatLonBox");f.appendChild(_n(i,"north",P.toDegrees(u.north))),f.appendChild(_n(i,"south",P.toDegrees(u.south))),f.appendChild(_n(i,"east",P.toDegrees(u.east))),f.appendChild(_n(i,"west",P.toDegrees(u.west))),s.appendChild(f);let d=o.get(t.material),p=r.texture(d.image),g=i.createElement("Icon");g.appendChild(_n(i,"href",p)),s.appendChild(g);let m=d.color;l(m)&&s.appendChild(_n(i,"color",AT(d.color))),n.push(s)}function F_e(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("Model"),s=i.get(t.scale);if(l(s)){let u=n.createElement("scale");u.appendChild(_n(n,"x",s)),u.appendChild(_n(n,"y",s)),u.appendChild(_n(n,"z",s)),r.appendChild(u)}let a=n.createElement("Link"),c=o.model(t,e.time);return a.appendChild(_n(n,"href",c)),r.appendChild(a),r}function Qit(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter;if(!l(n))return;let c=t.position;if(!c.isConstant){M_e(e,t,n,i,o);return}let u=F_e(e,n),f=r.createElement("altitudeMode");f.appendChild(ET(e,n.heightReference)),u.appendChild(f),a.get(c,void 0,ql),fe.fromCartesian(ql,s,cl);let d=r.createElement("Location");d.appendChild(_n(r,"longitude",P.toDegrees(cl.longitude))),d.appendChild(_n(r,"latitude",P.toDegrees(cl.latitude))),d.appendChild(_n(r,"altitude",cl.height)),u.appendChild(d),i.push(u)}function mY(e,t,n){let i=e.kmlDoc,o=e.valueGetter;if(!l(t))return;let r=o.get(t);if(!l(r))return;let s,a=o.getMaterialType(t),c,u;switch(a){case"Image":s=AT(H.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":s=AT(r.color);break;case"PolylineOutline":s=AT(r.color),c=AT(r.outlineColor),u=r.outlineWidth,n.appendChild(_n(i,"outerColor",c,Ah)),n.appendChild(_n(i,"outerWidth",u,Ah));break;case"Stripe":s=AT(r.oddColor);break}l(s)&&(n.appendChild(_n(i,"color",s)),n.appendChild(_n(i,"colorMode","normal")))}function ET(e,t){let n=e.kmlDoc,o=e.valueGetter.get(t,qe.NONE),r;switch(o){case qe.NONE:r=n.createTextNode("absolute");break;case qe.CLAMP_TO_GROUND:r=n.createTextNode("clampToGround");break;case qe.RELATIVE_TO_GROUND:r=n.createTextNode("relativeToGround");break}return r}function CT(e,t){Array.isArray(e)||(e=[e]);let n=e.length,i=[];for(let o=0;o<n;++o)fe.fromCartesian(e[o],t,cl),i.push(`${P.toDegrees(cl.longitude)},${P.toDegrees(cl.latitude)},${cl.height}`);return i.join(" ")}function _n(e,t,n,i){n=y(n,""),typeof n=="boolean"&&(n=n?"1":"0");let o=l(i)?e.createElementNS(i,t):e.createElement(t),r=n==="string"&&n.indexOf("<")!==-1?e.createCDATASection(n):e.createTextNode(n);return o.appendChild(r),o}function AT(e){let t="",n=e.toBytes();for(let i=3;i>=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var pY=hY;function mF(){this._cache={}}mF.prototype.fromColor=function(e,t){return pH(void 0,void 0,e,t,this._cache)};mF.prototype.fromUrl=function(e,t,n){return pH(e,void 0,t,n,this._cache)};mF.prototype.fromMakiIconId=function(e,t,n){return pH(sn(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};mF.prototype.fromText=function(e,t,n){return pH(void 0,e,t,n,this._cache)};var Jit=new H;function eot(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,Jit).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function B_e(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width<t.height&&(o=i*(t.width/t.height));let s=Math.round((n-o)/2),a=Math.round(7/24*n-r/2);e.globalCompositeOperation="destination-out",e.drawImage(t,s-1,a,o,r),e.drawImage(t,s,a-1,o,r),e.drawImage(t,s+1,a,o,r),e.drawImage(t,s,a+1,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=H.BLACK.toCssColorString(),e.fillRect(s-1,a-1,o+2,r+2),e.globalCompositeOperation="destination-out",e.drawImage(t,s,a,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=H.WHITE.toCssColorString(),e.fillRect(s-1,a-2,o+2,r+2)}var hF=new Array(4);function pH(e,t,n,i,o){hF[0]=e,hF[1]=t,hF[2]=n,hF[3]=i;let r=JSON.stringify(hF),s=o[r];if(l(s))return s;let a=document.createElement("canvas");a.width=i,a.height=i;let c=a.getContext("2d");if(eot(c,n,i),l(e)){let f=Ae.createIfNeeded(e).fetchImage().then(function(d){return B_e(c,d,i),o[r]=a,a});return o[r]=f,f}else if(l(t)){let u=Pb(t,{font:`bold ${i}px sans-serif`});B_e(c,u,i)}return o[r]=a,a}var tg=mF;var U_e=Wo(V_e(),1);function gH(e){return h.fromDegrees(e[0],e[1],e[2])}var _Y={"urn:ogc:def:crs:OGC:1.3:CRS84":gH,"EPSG:4326":gH,"urn:ogc:def:crs:EPSG::4326":gH},z_e={},H_e={},gY=48,yY,xY=H.ROYALBLUE,bY=H.YELLOW,TY=2,CY=H.fromBytes(255,255,0,100),AY=!1,tot={small:24,medium:48,large:64},not=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function G_e(e,t){let n="";for(let i in e)if(e.hasOwnProperty(i)){if(i===t||not.indexOf(i)!==-1)continue;let o=e[i];l(o)&&(typeof o=="object"?n+=`<tr><th>${i}</th><td>${G_e(o)}</td></tr>`:n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}return n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function iot(e,t,n){let i;return function(o,r){return l(i)||(i=e(t,n)),i}}function oot(e,t){return new Fd(iot(G_e,e,t),!0)}function yH(e,t,n){let i=e.id;if(!l(i)||e.type!=="Feature")i=Wn();else{let s=2,a=i;for(;l(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(l(r)){o.properties=r;let s,a=r.title;if(l(a))o.name=a,s="title";else{let u=Number.MAX_VALUE;for(let f in r)if(r.hasOwnProperty(f)&&r[f]){let d=f.toLowerCase();if(u>1&&d==="title"){u=1,s=f;break}else u>2&&d==="name"?(u=2,s=f):u>3&&/title/i.test(f)?(u=3,s=f):u>4&&/name/i.test(f)&&(u=4,s=f)}l(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=l(c)?new $n(c):n(r,s))}return o}function EY(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=t(e[i]);return n}var W_e={Feature:q_e,FeatureCollection:rot,GeometryCollection:Y_e,LineString:Q_e,MultiLineString:J_e,MultiPoint:Z_e,MultiPolygon:nge,Point:K_e,Polygon:tge,Topology:ige},j_e={GeometryCollection:Y_e,LineString:Q_e,MultiLineString:J_e,MultiPoint:Z_e,MultiPolygon:nge,Point:K_e,Polygon:tge,Topology:ige};function q_e(e,t,n,i,o){if(t.geometry===null){yH(t,e._entityCollection,o.describe);return}if(!l(t.geometry))throw new se("feature.geometry is required.");let r=t.geometry.type,s=j_e[r];if(!l(s))throw new se(`Unknown geometry type: ${r}`);s(e,t,t.geometry,i,o)}function rot(e,t,n,i,o){let r=t.features;for(let s=0,a=r.length;s<a;s++)q_e(e,r[s],void 0,i,o)}function Y_e(e,t,n,i,o){let r=n.geometries;for(let s=0,a=r.length;s<a;s++){let c=r[s],u=c.type,f=j_e[u];if(!l(f))throw new se(`Unknown geometry type: ${u}`);f(e,t,c,i,o)}}function X_e(e,t,n,i,o){let r=o.markerSymbol,s=o.markerColor,a=o.markerSize,c=t.properties;if(l(c)){let g=c["marker-color"];l(g)&&(s=H.fromCssColorString(g)),a=y(tot[c["marker-size"]],a);let m=c["marker-symbol"];l(m)&&(r=m)}let u;l(r)?r.length===1?u=e._pinBuilder.fromText(r.toUpperCase(),s,a):u=e._pinBuilder.fromMakiIconId(r,s,a):u=e._pinBuilder.fromColor(s,a);let f=new rc;f.verticalOrigin=new $n(Mn.BOTTOM),i.length===2&&o.clampToGround&&(f.heightReference=qe.CLAMP_TO_GROUND);let d=yH(t,e._entityCollection,o.describe);d.billboard=f,d.position=new Wc(n(i));let p=Promise.resolve(u).then(function(g){f.image=new $n(g)}).catch(function(){f.image=new $n(e._pinBuilder.fromColor(s,a))});e._promises.push(p)}function K_e(e,t,n,i,o){X_e(e,t,i,n.coordinates,o)}function Z_e(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)X_e(e,t,i,r[s],o)}function $_e(e,t,n,i,o){let r=o.strokeMaterialProperty,s=o.strokeWidthProperty,a=t.properties;if(l(a)){let f=a["stroke-width"];l(f)&&(s=new $n(f));let d,p=a.stroke;l(p)&&(d=H.fromCssColorString(p));let g=a["stroke-opacity"];l(g)&&g!==1&&(l(d)||(d=r.color.getValue().clone()),d.alpha=g),l(d)&&(r=new Ht(d))}let c=yH(t,e._entityCollection,o.describe),u=new cc;c.polyline=u,u.clampToGround=o.clampToGround,u.material=r,u.width=s,u.positions=new $n(EY(i,n)),u.arcType=nn.RHUMB}function Q_e(e,t,n,i,o){$_e(e,t,i,n.coordinates,o)}function J_e(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)$_e(e,t,i,r[s],o)}function ege(e,t,n,i,o){if(i.length===0||i[0].length===0)return;let r=o.strokeMaterialProperty.color,s=o.fillMaterialProperty,a=o.strokeWidthProperty,c=t.properties;if(l(c)){let g=c["stroke-width"];l(g)&&(a=new $n(g));let m,x=c.stroke;l(x)&&(m=H.fromCssColorString(x));let b=c["stroke-opacity"];l(b)&&b!==1&&(l(m)||(m=r.getValue().clone()),m.alpha=b),l(m)&&(r=new $n(m));let T,A=c.fill,C=s.color.getValue();l(A)&&(T=H.fromCssColorString(A),T.alpha=C.alpha),b=c["fill-opacity"],l(b)&&b!==C.alpha&&(l(T)||(T=C.clone()),T.alpha=b),l(T)&&(s=new Ht(T))}let u=new Ld;u.outline=new $n(!0),u.outlineColor=r,u.outlineWidth=a,u.material=s,u.arcType=nn.RHUMB;let f=[];for(let g=1,m=i.length;g<m;g++)f.push(new Na(EY(i[g],n)));let d=i[0];u.hierarchy=new $n(new Na(EY(d,n),f)),d[0].length>2?u.perPositionHeight=new $n(!0):o.clampToGround||(u.height=0);let p=yH(t,e._entityCollection,o.describe);p.polygon=u}function tge(e,t,n,i,o){ege(e,t,i,n.coordinates,o)}function nge(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)ege(e,t,i,r[s],o)}function ige(e,t,n,i,o){for(let r in n.objects)if(n.objects.hasOwnProperty(r)){let s=U_e.feature(n,n.objects[r]),a=W_e[s.type];a(e,s,s,i,o)}}function _0(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new na(this),this._promises=[],this._pinBuilder=new tg,this._entityCluster=new Pu,this._credit=void 0,this._resourceCredits=[]}_0.load=function(e,t){return new _0().load(e,t)};Object.defineProperties(_0,{markerSize:{get:function(){return gY},set:function(e){gY=e}},markerSymbol:{get:function(){return yY},set:function(e){yY=e}},markerColor:{get:function(){return xY},set:function(e){xY=e}},stroke:{get:function(){return bY},set:function(e){bY=e}},strokeWidth:{get:function(){return TY},set:function(e){TY=e}},fill:{get:function(){return CY},set:function(e){CY=e}},clampToGround:{get:function(){return AY},set:function(e){AY=e}},crsNames:{get:function(){return _Y}},crsLinkHrefs:{get:function(){return z_e}},crsLinkTypes:{get:function(){return H_e}}});Object.defineProperties(_0.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});_0.prototype.load=function(e,t){return oge(this,e,t,!0)};_0.prototype.process=function(e,t){return oge(this,e,t,!1)};function oge(e,t,n,i){Zr.setLoading(e,!0),n=y(n,y.EMPTY_OBJECT);let o=n.credit;typeof o=="string"&&(o=new At(o)),e._credit=o;let r=t,s=n.sourceUri;if(typeof t=="string"||t instanceof Ae){t=Ae.createIfNeeded(t),r=t.fetchJson(),s=y(s,t.getUrlComponent());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return n={describe:y(n.describe,oot),markerSize:y(n.markerSize,gY),markerSymbol:y(n.markerSymbol,yY),markerColor:y(n.markerColor,xY),strokeWidthProperty:new $n(y(n.strokeWidth,TY)),strokeMaterialProperty:new Ht(y(n.stroke,bY)),fillMaterialProperty:new Ht(y(n.fill,CY)),clampToGround:y(n.clampToGround,AY)},Promise.resolve(r).then(function(a){return sot(e,a,n,s,i)}).catch(function(a){throw Zr.setLoading(e,!1),e._error.raiseEvent(e,a),a})}_0.prototype.update=function(e){return!0};function sot(e,t,n,i,o){let r;l(i)&&(r=k_(i)),l(r)&&e._name!==r&&(e._name=r,e._changed.raiseEvent(e));let s=W_e[t.type];if(!l(s))throw new se(`Unsupported GeoJSON object type: ${t.type}`);let a=t.crs,c=a!==null?gH:null;if(l(a)){if(!l(a.properties))throw new se("crs.properties is undefined.");let u=a.properties;if(a.type==="name"){if(c=_Y[u.name],!l(c))throw new se(`Unknown crs name: ${u.name}`)}else if(a.type==="link"){let f=z_e[u.href];if(l(f)||(f=H_e[u.type]),!l(f))throw new se(`Unable to resolve crs link: ${JSON.stringify(u)}`);c=f(u)}else if(a.type==="EPSG"){if(c=_Y[`EPSG:${u.code}`],!l(c))throw new se(`Unknown crs EPSG code: ${u.code}`)}else throw new se(`Unknown crs type: ${a.type}`)}return Promise.resolve(c).then(function(u){return o&&e._entityCollection.removeAll(),u!==null&&s(e,t,t,u,n),Promise.all(e._promises).then(function(){return e._promises.length=0,Zr.setLoading(e,!1),e})})}var pF=_0;function aot(e){return typeof e=="string"&&(e=document.getElementById(e)),e}var Rn=aot;var nye=Wo(GY(),1);var iye;typeof DOMParser<"u"&&(iye=new DOMParser);var rst=new nye.default({stripPrefix:!1,email:!1,replaceFn:function(e,t){return t.urlMatchType==="scheme"||t.urlMatchType==="www"}}),VH=32,Xge=2414016,Kge=1,Zge=16093e3,$ge=.1,sst=[null,void 0,"http://www.topografix.com/GPX/1/1"],Ro={gpx:sst};function ast(e){return new Promise((t,n)=>{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function WY(e,t){let n=yF(e,"id");return n=l(n)?n:Wn(),t.getOrCreateEntity(n)}function jY(e){let t=Qge(e,"lon"),n=Qge(e,"lat"),i=_F(e,"ele",Ro.gpx);return h.fromDegrees(t,n,i)}function Qge(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function yF(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function b0(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function qY(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagName(t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function _F(e,t,n){let i=b0(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Yl(e,t,n){let i=b0(e,t,n);if(l(i))return i.textContent.trim()}function oye(e){let t=new rc;return t.width=VH,t.height=VH,t.scaleByDistance=new Vt(Xge,Kge,Zge,$ge),t.pixelOffsetScaleByDistance=new Vt(Xge,Kge,Zge,$ge),t.verticalOrigin=new $n(Mn.BOTTOM),t.image=e,t}function cst(){let e=new Md;return e.translucencyByDistance=new Vt(3e6,1,5e6,0),e.pixelOffset=new z(17,0),e.horizontalOrigin=Ti.LEFT,e.font="16px sans-serif",e.style=Ko.FILL_AND_OUTLINE,e}function rye(e){let t=new cc;return t.width=4,t.material=new Zy,t.material.color=l(e)?e:H.RED,t.material.outlineWidth=2,t.material.outlineColor=H.BLACK,t}var Jge={time:{text:"Time",tag:"time"},comment:{text:"Comment",tag:"cmt"},description:{text:"Description",tag:"desc"},source:{text:"Source",tag:"src"},number:{text:"GPS track/route number",tag:"number"},type:{text:"Type",tag:"type"}},gF;typeof document<"u"&&(gF=document.createElement("div"));function YY(e,t){let n,i="",o=Object.keys(Jge),r=o.length;for(n=0;n<r;n++){let f=o[n],d=Jge[f];d.value=y(Yl(e,d.tag,Ro.gpx),""),l(d.value)&&d.value!==""&&(i=`${i}<p>${d.text}: ${d.value}</p>`)}if(!l(i)||i==="")return;i=rst.link(i),gF.innerHTML=i;let s=gF.querySelectorAll("a");for(n=0;n<s.length;n++)s[n].setAttribute("target","_blank");let a=H.WHITE,c=H.BLACK,u='<div class="cesium-infoBox-description-lighter" style="';return u+="overflow:auto;",u+="word-wrap:break-word;",u+=`background-color:${a.toCssColorString()};`,u+=`color:${c.toCssColorString()};`,u+='">',u+=`${gF.innerHTML}</div>`,gF.innerHTML="",u}function sye(e,t,n,i){let o=jY(t),r=WY(t,n);r.position=o;let s=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",H.RED,VH);r.billboard=oye(s);let a=Yl(t,"name",Ro.gpx);r.name=a,r.label=cst(),r.label.text=a,r.description=YY(t,r),i.clampToGround&&(r.billboard.heightReference=qe.CLAMP_TO_GROUND,r.label.heightReference=qe.CLAMP_TO_GROUND)}function lst(e,t,n,i){let o=WY(t,n);o.description=YY(t,o);let r=qY(t,"rtept",Ro.gpx),s=new Array(r.length);for(let a=0;a<r.length;a++)sye(e,r[a],n,i),s[a]=jY(r[a]);o.polyline=rye(i.routeColor),i.clampToGround&&(o.polyline.clampToGround=!0),o.polyline.positions=s}function ust(e,t,n,i){let o=WY(t,n);o.description=YY(t,o);let r=qY(t,"trkseg",Ro.gpx),s=[],a=[],c,u=!0,f=new xa;for(let d=0;d<r.length;d++)c=fst(r[d]),s=s.concat(c.positions),c.times.length>0?(a=a.concat(c.times),f.addSamples(a,s),u=u&&!0):u=!1;if(u){let d=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",H.RED,VH);o.billboard=oye(d),o.position=f,i.clampToGround&&(o.billboard.heightReference=qe.CLAMP_TO_GROUND),o.availability=new Kr,o.availability.addInterval(new Sn({start:a[0],stop:a[a.length-1]}))}o.polyline=rye(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function fst(e){let t={positions:[],times:[]},n=qY(e,"trkpt",Ro.gpx),i;for(let o=0;o<n.length;o++){let r=jY(n[o]);t.positions.push(r),i=Yl(n[o],"time",Ro.gpx),l(i)&&t.times.push(K.fromIso8601(i))}return t}function dst(e){let t=b0(e,"metadata",Ro.gpx);if(l(t)){let n={name:Yl(t,"name",Ro.gpx),desc:Yl(t,"desc",Ro.gpx),author:hst(t),copyright:pst(t),link:aye(t),time:Yl(t,"time",Ro.gpx),keywords:Yl(t,"keywords",Ro.gpx),bounds:_st(t)};if(l(n.name)||l(n.desc)||l(n.author)||l(n.copyright)||l(n.link)||l(n.time)||l(n.keywords)||l(n.bounds))return n}}function hst(e){let t=b0(e,"author",Ro.gpx);if(l(t)){let n={name:Yl(t,"name",Ro.gpx),email:mst(t),link:aye(t)};if(l(n.name)||l(n.email)||l(n.link))return n}}function mst(e){let t=b0(e,"email",Ro.gpx);if(l(t)){let n=Yl(t,"id",Ro.gpx),i=Yl(t,"domain",Ro.gpx);return`${n}@${i}`}}function aye(e){let t=b0(e,"link",Ro.gpx);if(l(t)){let n={href:yF(t,"href"),text:Yl(t,"text",Ro.gpx),mimeType:Yl(t,"type",Ro.gpx)};if(l(n.href)||l(n.text)||l(n.mimeType))return n}}function pst(e){let t=b0(e,"copyright",Ro.gpx);if(l(t)){let n={author:yF(t,"author"),year:Yl(t,"year",Ro.gpx),license:Yl(t,"license",Ro.gpx)};if(l(n.author)||l(n.year)||l(n.license))return n}}function _st(e){let t=b0(e,"bounds",Ro.gpx);if(l(t)){let n={minLat:_F(t,"minlat",Ro.gpx),maxLat:_F(t,"maxlat",Ro.gpx),minLon:_F(t,"minlon",Ro.gpx),maxLon:_F(t,"maxlon",Ro.gpx)};if(l(n.minLat)||l(n.maxLat)||l(n.minLon)||l(n.maxLon))return n}}var eye={wpt:sye,rte:lst,trk:ust};function gst(e,t,n,i){let o=Object.keys(eye),r=o.length;for(let s=0;s<r;s++){let a=o[s],c=eye[a],u=t.childNodes,f=u.length;for(let d=0;d<f;d++){let p=u[d];p.localName===a&&Ro.gpx.indexOf(p.namespaceURI)!==-1&&c(e,p,n,i)}}}function tye(e,t,n){let i=e._entityCollection;i.removeAll();let o=t.documentElement,r=yF(o,"version"),s=yF(o,"creator"),a,c=dst(o);l(c)&&(a=c.name),o.localName==="gpx"?gst(e,o,i,n):console.log(`GPX - Unsupported node: ${o.localName}`);let u,f=i.computeAvailability(),d=f.start,p=f.stop,g=K.equals(d,ze.MINIMUM_VALUE),m=K.equals(p,ze.MAXIMUM_VALUE);if(!g||!m){let b;g&&(b=new Date,b.setHours(0,0,0,0),d=K.fromDate(b)),m&&(b=new Date,b.setHours(24,0,0,0),p=K.fromDate(b)),u=new dh,u.startTime=d,u.stopTime=p,u.currentTime=K.clone(d),u.clockRange=$r.LOOP_STOP,u.clockStep=To.SYSTEM_CLOCK_MULTIPLIER,u.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(p,d)/60,1),31556900))}let x=!1;return e._name!==a&&(e._name=a,x=!0),e._creator!==s&&(e._creator=s,x=!0),yst(e._metadata,c)&&(e._metadata=c,x=!0),e._version!==r&&(e._version=r,x=!0),u!==e._clock&&(x=!0,e._clock=u),x&&e._changed.raiseEvent(e),Zr.setLoading(e,!1),e}function yst(e,t){return!l(e)&&!l(t)?!1:l(e)&&l(t)?e.name!==t.name||e.dec!==t.desc||e.src!==t.src||e.author!==t.author||e.copyright!==t.copyright||e.link!==t.link||e.time!==t.time||e.bounds!==t.bounds:!0}function xst(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=n;if(typeof n=="string"||n instanceof Ae){n=Ae.createIfNeeded(n),o=n.fetchBlob();let r=e._resourceCredits,s=n.credits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)r.push(s[c])}}return Promise.resolve(o).then(function(r){return r instanceof Blob?ast(r).then(function(s){let a,c;try{a=iye.parseFromString(s,"application/xml")}catch(u){c=u.toString()}if(l(c)||a.body||a.documentElement.tagName==="parsererror"){let u=l(c)?c:a.documentElement.firstChild.nodeValue;throw u||(u=a.body.innerText),new se(u)}return tye(e,a,i)}):tye(e,r,i)}).catch(function(r){return e._error.raiseEvent(e,r),console.log(r),Promise.reject(r)})}function BS(){this._changed=new me,this._error=new me,this._loading=new me,this._clock=void 0,this._entityCollection=new na(this),this._entityCluster=new Pu,this._name=void 0,this._version=void 0,this._creator=void 0,this._metadata=void 0,this._isLoading=!1,this._pinBuilder=new tg}BS.load=function(e,t){return new BS().load(e,t)};Object.defineProperties(BS.prototype,{name:{get:function(){return this._name}},version:{get:function(){return this._version}},creator:{get:function(){return this._creator}},metadata:{get:function(){return this._metadata}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});BS.prototype.update=function(e){return!0};BS.prototype.load=function(e,t){if(!l(e))throw new de("data is required.");t=y(t,y.EMPTY_OBJECT),Zr.setLoading(this,!0);let n=this._name,i=this;return xst(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,ze.MINIMUM_VALUE),u=K.equals(a,ze.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new dh,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=$r.LOOP_STOP,o.clockStep=To.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Zr.setLoading(i,!1),i}).catch(function(o){return Zr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};var xF=BS;function bst(e,t){this.position=e,this.headingPitchRoll=t}var bF=bst;var Tye=Wo(GY(),1),vF=Wo(ou(),1);function Tst(e,t){this.position=e,this.headingPitchRange=t}var TF=Tst;function UH(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new me,this.tourEnd=new me,this.entryStart=new me,this.entryEnd=new me,this._activeEntries=[]}UH.prototype.addPlaylistEntry=function(e){this.playlist.push(e)};UH.prototype.play=function(e,t){this.tourStart.raiseEvent();let n=this;lye.call(this,e,t,function(i){n.playlistIndex=0,i||cye(n._activeEntries),n.tourEnd.raiseEvent(i)})};UH.prototype.stop=function(){cye(this._activeEntries)};function cye(e){for(let t=e.pop();t!==void 0;t=e.pop())t.stop()}function lye(e,t,n){let i=this.playlist[this.playlistIndex];if(i){let o=Cst.bind(this,e,t,n);if(this._activeEntries.push(i),this.entryStart.raiseEvent(i),i.blocking)i.play(o,e.scene.camera,t);else{let r=this;i.play(function(){r.entryEnd.raiseEvent(i);let s=r._activeEntries.indexOf(i);s>=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else l(n)&&n(!1)}function Cst(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,lye.call(this,e,t,n)}}var CF=UH;var Fi=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var t=1.70158;return e===1?1:e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return e===0?0:--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Fi.Bounce.Out(1-e)},Out:function(e){return e<.36363636363636365?7.5625*e*e:e<.7272727272727273?7.5625*(e-=.5454545454545454)*e+.75:e<.9090909090909091?7.5625*(e-=.8181818181818182)*e+.9375:7.5625*(e-=.9545454545454546)*e+.984375},InOut:function(e){return e<.5?Fi.Bounce.In(e*2)*.5:Fi.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e<Number.EPSILON?Number.EPSILON:e,e=e>1e4?1e4:e,{In:function(t){return Math.pow(t,e)},Out:function(t){return 1-Math.pow(1-t,e)},InOut:function(t){return t<.5?Math.pow(t*2,e)/2:(1-Math.pow(2-t*2,e))/2+.5}}}}),AF=function(){return performance.now()},Ast=function(){function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._tweens={},this._tweensAddedDuringUpdate={},this.add.apply(this,t)}return e.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map(function(n){return t._tweens[n]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(){for(var t,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];for(var o=0,r=n;o<r.length;o++){var s=r[o];(t=s._group)===null||t===void 0||t.remove(s),s._group=this,this._tweens[s.getId()]=s,this._tweensAddedDuringUpdate[s.getId()]=s}},e.prototype.remove=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var i=0,o=t;i<o.length;i++){var r=o[i];r._group=void 0,delete this._tweens[r.getId()],delete this._tweensAddedDuringUpdate[r.getId()]}},e.prototype.allStopped=function(){return this.getAll().every(function(t){return!t.isPlaying()})},e.prototype.update=function(t,n){t===void 0&&(t=AF()),n===void 0&&(n=!0);var i=Object.keys(this._tweens);if(i.length!==0)for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<i.length;o++){var r=this._tweens[i[o]],s=!n;r&&r.update(t,s)===!1&&!n&&this.remove(r)}i=Object.keys(this._tweensAddedDuringUpdate)}},e}(),kS={Linear:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=kS.Utils.Linear;return t<0?r(e[0],e[1],i):t>1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=kS.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=kS.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],i-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=kS.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var i=t;i>1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},uye=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),XY=new Ast,fye=function(){function e(t,n){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Fi.Linear.None,this._interpolationFunction=kS.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=uye.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=t,typeof n=="object"?(this._group=n,n.add(this)):n===!0&&(this._group=XY,XY.add(this))}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(t,n){if(n===void 0&&(n=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=t,this._propertiesAreSetUp=!1,this._duration=n<0?0:n,this},e.prototype.duration=function(t){return t===void 0&&(t=1e3),this._duration=t<0?0:t,this},e.prototype.dynamic=function(t){return t===void 0&&(t=!1),this._isDynamic=t,this},e.prototype.start=function(t,n){if(t===void 0&&(t=AF()),n===void 0&&(n=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t,this._startTime+=this._delayTime,!this._propertiesAreSetUp||n){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var r in this._valuesEnd)o[r]=this._valuesEnd[r];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,n)}return this},e.prototype.startFromCurrentValues=function(t){return this.start(t,!0)},e.prototype._setupProperties=function(t,n,i,o,r){for(var s in i){var a=t[s],c=Array.isArray(a),u=c?"array":typeof a,f=!c&&Array.isArray(i[s]);if(!(u==="undefined"||u==="function")){if(f){var d=i[s];if(d.length===0)continue;for(var p=[a],g=0,m=d.length;g<m;g+=1){var x=this._handleRelativeValue(a,d[g]);if(isNaN(x)){f=!1,console.warn("Found invalid interpolation list. Skipping.");break}p.push(x)}f&&(i[s]=p)}if((u==="object"||c)&&a&&!f){n[s]=c?[]:{};var b=a;for(var T in b)n[s][T]=b[T];o[s]=c?[]:{};var d=i[s];if(!this._isDynamic){var A={};for(var T in d)A[T]=d[T];i[s]=d=A}this._setupProperties(b,n[s],d,o[s],r)}else(typeof n[s]>"u"||r)&&(n[s]=a),c||(n[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=n[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},e.prototype.pause=function(t){return t===void 0&&(t=AF()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this)},e.prototype.resume=function(t){return t===void 0&&(t=AF()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;t<n;t++)this._chainedTweens[t].stop();return this},e.prototype.group=function(t){return t?(t.add(this),this):(console.warn("tween.group() without args has been removed, use group.add(tween) instead."),this)},e.prototype.remove=function(){var t;return(t=this._group)===null||t===void 0||t.remove(this),this},e.prototype.delay=function(t){return t===void 0&&(t=0),this._delayTime=t,this},e.prototype.repeat=function(t){return t===void 0&&(t=0),this._initialRepeat=t,this._repeat=t,this},e.prototype.repeatDelay=function(t){return this._repeatDelayTime=t,this},e.prototype.yoyo=function(t){return t===void 0&&(t=!1),this._yoyo=t,this},e.prototype.easing=function(t){return t===void 0&&(t=Fi.Linear.None),this._easingFunction=t,this},e.prototype.interpolation=function(t){return t===void 0&&(t=kS.Linear),this._interpolationFunction=t,this},e.prototype.chain=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this._chainedTweens=t,this},e.prototype.onStart=function(t){return this._onStartCallback=t,this},e.prototype.onEveryStart=function(t){return this._onEveryStartCallback=t,this},e.prototype.onUpdate=function(t){return this._onUpdateCallback=t,this},e.prototype.onRepeat=function(t){return this._onRepeatCallback=t,this},e.prototype.onComplete=function(t){return this._onCompleteCallback=t,this},e.prototype.onStop=function(t){return this._onStopCallback=t,this},e.prototype.update=function(t,n){var i=this,o;if(t===void 0&&(t=AF()),n===void 0&&(n=e.autoStartOnUpdate),this._isPaused)return!0;var r;if(!this._goToEnd&&!this._isPlaying)if(n)this.start(t,!0);else return!1;if(this._goToEnd=!1,t<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),this._onEveryStartCallbackFired===!1&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0);var s=t-this._startTime,a=this._duration+((o=this._repeatDelayTime)!==null&&o!==void 0?o:this._delayTime),c=this._duration+this._repeat*a,u=function(){if(i._duration===0||s>c)return 1;var x=Math.trunc(s/a),b=s-x*a,T=Math.min(b/i._duration,1);return T===0&&s===i._duration?1:T},f=u(),d=this._easingFunction(f);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,f),this._duration===0||s>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((s-this._duration)/a)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(r in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[r]=="string"&&(this._valuesStartRepeat[r]=this._valuesStartRepeat[r]+parseFloat(this._valuesEnd[r])),this._yoyo&&this._swapEndStartRepeatValues(r),this._valuesStart[r]=this._valuesStartRepeat[r];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=a*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var g=0,m=this._chainedTweens.length;g<m;g++)this._chainedTweens[g].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(t,n,i,o){for(var r in i)if(n[r]!==void 0){var s=n[r]||0,a=i[r],c=Array.isArray(t[r]),u=Array.isArray(a),f=!c&&u;f?t[r]=this._interpolationFunction(a,o):typeof a=="object"&&a?this._updateProperties(t[r],s,a,o):(a=this._handleRelativeValue(s,a),typeof a=="number"&&(t[r]=s+(a-s)*o))}},e.prototype._handleRelativeValue=function(t,n){return typeof n!="string"?n:n.charAt(0)==="+"||n.charAt(0)==="-"?t+parseFloat(n):parseFloat(n)},e.prototype._swapEndStartRepeatValues=function(t){var n=this._valuesStartRepeat[t],i=this._valuesEnd[t];typeof i=="string"?this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(i):this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=n},e.autoStartOnUpdate=!1,e}();var lni=uye.nextId,Hm=XY,uni=Hm.getAll.bind(Hm),fni=Hm.removeAll.bind(Hm),dni=Hm.add.bind(Hm),hni=Hm.remove.bind(Hm),mni=Hm.update.bind(Hm);var Est={LINEAR_NONE:Fi.Linear.None,QUADRATIC_IN:Fi.Quadratic.In,QUADRATIC_OUT:Fi.Quadratic.Out,QUADRATIC_IN_OUT:Fi.Quadratic.InOut,CUBIC_IN:Fi.Cubic.In,CUBIC_OUT:Fi.Cubic.Out,CUBIC_IN_OUT:Fi.Cubic.InOut,QUARTIC_IN:Fi.Quartic.In,QUARTIC_OUT:Fi.Quartic.Out,QUARTIC_IN_OUT:Fi.Quartic.InOut,QUINTIC_IN:Fi.Quintic.In,QUINTIC_OUT:Fi.Quintic.Out,QUINTIC_IN_OUT:Fi.Quintic.InOut,SINUSOIDAL_IN:Fi.Sinusoidal.In,SINUSOIDAL_OUT:Fi.Sinusoidal.Out,SINUSOIDAL_IN_OUT:Fi.Sinusoidal.InOut,EXPONENTIAL_IN:Fi.Exponential.In,EXPONENTIAL_OUT:Fi.Exponential.Out,EXPONENTIAL_IN_OUT:Fi.Exponential.InOut,CIRCULAR_IN:Fi.Circular.In,CIRCULAR_OUT:Fi.Circular.Out,CIRCULAR_IN_OUT:Fi.Circular.InOut,ELASTIC_IN:Fi.Elastic.In,ELASTIC_OUT:Fi.Elastic.Out,ELASTIC_IN_OUT:Fi.Elastic.InOut,BACK_IN:Fi.Back.In,BACK_OUT:Fi.Back.Out,BACK_IN_OUT:Fi.Back.InOut,BOUNCE_IN:Fi.Bounce.In,BOUNCE_OUT:Fi.Bounce.Out,BOUNCE_IN_OUT:Fi.Bounce.InOut},Jr=Object.freeze(Est);function zH(e,t,n){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=n,this.flyToMode=t}zH.prototype.play=function(e,t,n){if(this.activeCamera=t,l(e)&&e!==null){let o=this;this.activeCallback=function(r){delete o.activeCallback,delete o.activeCamera,e(l(r)?!1:r)}}let i=this.getCameraOptions(n);if(this.view.headingPitchRoll)t.flyTo(i);else if(this.view.headingPitchRange){let o=new ce(this.view.position);t.flyToBoundingSphere(o,i)}};zH.prototype.stop=function(){l(this.activeCamera)&&this.activeCamera.cancelFlight(),l(this.activeCallback)&&this.activeCallback(!0)};zH.prototype.getCameraOptions=function(e){let t={duration:this.duration};return l(this.activeCallback)&&(t.complete=this.activeCallback),this.flyToMode==="smooth"&&(t.easingFunction=Jr.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),l(e)&&(t=Ct(t,e)),t};var EF=zH;function KY(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}KY.prototype.play=function(e){let t=this;this.activeCallback=e,this.timeout=setTimeout(function(){delete t.activeCallback,e(!1)},this.duration*1e3)};KY.prototype.stop=function(){clearTimeout(this.timeout),l(this.activeCallback)&&this.activeCallback(!0)};var SF=KY;var Cye={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){let t=e.toLowerCase();return t=tx(t),Cye[t]}},nX;typeof DOMParser<"u"&&(nX=new DOMParser);var Sst=new Tye.default({stripPrefix:!1,email:!1,replaceFn:function(e){return e.urlMatchType==="scheme"||e.urlMatchType==="www"}}),T0=32,dye=2414016,hye=1,mye=16093e3,pye=.1,_ye=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],gye=["http://www.google.com/kml/ext/2.2"],vst=["http://www.w3.org/2005/Atom"],Re={kml:_ye,gx:gye,atom:vst,kmlgx:_ye.concat(gye)},iX={Document:Oye,Folder:jst,Placemark:qst,NetworkLink:tat,GroundOverlay:Qst,PhotoOverlay:Nye,ScreenOverlay:$st,Tour:Xst};function Gm(e){this._dataSource=e,this._deferred=xl(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}Object.defineProperties(Gm.prototype,{dataSource:{get:function(){return this._dataSource}}});Gm.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0};Gm.prototype.addPromise=function(e){this._promises.push(e)};Gm.prototype.wait=function(){let e=this._deferred;return this._used||e.resolve(),Promise.all([e.promise,Promise.all(this._promises)])};Gm.prototype.process=function(){let e=this._stack.length===1;return e&&(this._started=Wu._getTimestamp()),this._process(e)};Gm.prototype._giveUpTime=function(){if(this._timeoutSet)return;this._timeoutSet=!0,this._timeThreshold=50;let e=this;setTimeout(function(){e._timeoutSet=!1,e._started=Wu._getTimestamp(),e._process(!0)},0)};Gm.prototype._nextNode=function(){let e=this._stack,t=e[e.length-1],n=t.index,i=t.nodes;if(n!==i.length)return++t.index,i[n]};Gm.prototype._pop=function(){let e=this._stack;return e.pop(),e.length===0?(this._deferred.resolve(),!1):!0};Gm.prototype._process=function(e){let t=this.dataSource,n=this._stack[this._stack.length-1].processingData,i=this._nextNode();for(;l(i);){let o=iX[i.localName];if(l(o)&&(Re.kml.indexOf(i.namespaceURI)!==-1||Re.gx.indexOf(i.namespaceURI)!==-1)&&(o(t,i,n,this),this._timeoutSet||Wu._getTimestamp()>this._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function wst(e){let t=e.slice(0,Math.min(4,e.size)),n=xl(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function Dst(e){let t=xl(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function Aye(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(l(n)||(n=e.substr(0,e.indexOf("<kml")+4),i=e.substr(n.length)),n+=` ${r}"${t[s]}"`));return l(n)&&(e=n+i),e}function Eye(e){let t=e.indexOf("xmlns:"),n=e.indexOf(">",t),i,o,r;for(;t!==-1&&t<n;)i=e.slice(t,e.indexOf('"',t)),o=t,t=e.indexOf(i,t+1),t!==-1?(r=e.indexOf('"',e.indexOf('"',t)+1),e=e.slice(0,t-1)+e.slice(r+1,e.length),t=e.indexOf("xmlns:",o-1)):t=e.indexOf("xmlns:",o+1);return e}function Ist(e,t){return Promise.resolve(e.getData(new K4)).then(function(n){n=Aye(n),n=Eye(n),t.kml=nX.parseFromString(n,"application/xml")})}function ZY(e,t){let n=y(Cye.detectFromFilename(e.filename),"application/octet-stream");return Promise.resolve(e.getData(new Y4(n))).then(function(i){t[e.filename]=i})}function Hu(e,t,n,i){let o=i.keys,r=new vF.default("."),s=e.querySelectorAll(t);for(let a=0;a<s.length;a++){let c=s[a],u=c.getAttribute(n);if(l(u)){let d=new vF.default(u).absoluteTo(r).toString(),p=o.indexOf(d);if(p!==-1){let g=o[p];c.setAttribute(n,i[g]),t==="a"&&c.getAttribute("download")===null&&c.setAttribute("download",g)}}}}function Gu(e,t,n,i){let o=e.querySelectorAll(t);for(let r=0;r<o.length;r++){let s=o[r],a=s.getAttribute(n),c=oX(a,i);l(c)&&s.setAttribute(n,c.url)}}function Sye(e,t,n){let i=Vs(e,"id");i=l(i)&&i.length!==0?i:Wn(),l(n)&&(i=n+i);let o=t.getById(i);return l(o)&&(i=Wn(),l(n)&&(i=n+i)),o=t.add(new rr({id:i})),l(o.kml)||(o.addProperty("kml"),o.kml=new rat),o}function wF(e,t){return e==="absolute"||e==="relativeToGround"||t==="relativeToSeaFloor"}function jH(e,t){if(!l(e))return h.fromDegrees(0,0,0,t);let n=e.match(/[^\s,\n]+/g);if(!l(n))return h.fromDegrees(0,0,0,t);let i=parseFloat(n[0]),o=parseFloat(n[1]),r=parseFloat(n[2]);return i=isNaN(i)?0:i,o=isNaN(o)?0:o,r=isNaN(r)?0:r,h.fromDegrees(i,o,r,t)}function HH(e,t){if(!l(e))return;let n=e.textContent.match(/[^\s\n]+/g);if(!l(n))return;let i=n.length,o=new Array(i),r=0;for(let s=0;s<i;s++)o[r++]=jH(n[s],t);return o}function C0(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function Vs(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Bi(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function yye(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagNameNS("*",t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function Sh(e,t,n){if(!l(e))return[];let i=[],o=e.childNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function ti(e,t,n){let i=Bi(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function On(e,t,n){let i=Bi(e,t,n);if(l(i))return i.textContent.trim()}function vh(e,t,n){let i=Bi(e,t,n);if(l(i)){let o=i.textContent.trim();return o==="1"||/^true$/i.test(o)}}function oX(e,t,n){if(!l(e))return;let i;if(l(n)){e=e.replace(/\\/g,"/");let o=n[e];if(l(o))i=new Ae({url:o});else{let r=new vF.default(t.getUrlComponent()),s=new vF.default(e);o=n[s.absoluteTo(r)],l(o)&&(i=new Ae({url:o}))}}return l(i)||(i=t.getDerivedResource({url:e})),i}var Xl={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function eX(e,t){if(!l(e)||/^\s*$/gm.test(e))return;e[0]==="#"&&(e=e.substring(1));let n=parseInt(e.substring(0,2),16)/255,i=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255,r=parseInt(e.substring(6,8),16)/255;return t?(r>0?(Xl.maximumRed=r,Xl.red=void 0):(Xl.maximumRed=void 0,Xl.red=0),o>0?(Xl.maximumGreen=o,Xl.green=void 0):(Xl.maximumGreen=void 0,Xl.green=0),i>0?(Xl.maximumBlue=i,Xl.blue=void 0):(Xl.maximumBlue=void 0,Xl.blue=0),Xl.alpha=n,H.fromRandom(Xl)):new H(r,o,i,n)}function PT(e,t,n){let i=On(e,t,n);if(l(i))return eX(i,On(e,"colorMode",n)==="random")}function Pst(e){let t=Bi(e,"TimeStamp",Re.kmlgx),n=On(t,"when",Re.kmlgx);if(!l(t)||!l(n)||n.length===0)return;let i=K.fromIso8601(n),o=new Kr;return o.addInterval(new Sn({start:i,stop:ze.MAXIMUM_VALUE})),o}function Rst(e){let t=Bi(e,"TimeSpan",Re.kmlgx);if(!l(t))return;let n,i=Bi(t,"begin",Re.kmlgx),o=l(i)?K.fromIso8601(i.textContent):void 0,r=Bi(t,"end",Re.kmlgx),s=l(r)?K.fromIso8601(r.textContent):void 0;if(l(o)&&l(s)){if(K.lessThan(s,o)){let a=o;o=s,s=a}n=new Kr,n.addInterval(new Sn({start:o,stop:s}))}else l(o)?(n=new Kr,n.addInterval(new Sn({start:o,stop:ze.MAXIMUM_VALUE}))):l(s)&&(n=new Kr,n.addInterval(new Sn({start:ze.MINIMUM_VALUE,stop:s})));return n}function vye(){let e=new rc;return e.width=T0,e.height=T0,e.scaleByDistance=new Vt(dye,hye,mye,pye),e.pixelOffsetScaleByDistance=new Vt(dye,hye,mye,pye),e}function rX(){let e=new Ld;return e.outline=!0,e.outlineColor=H.WHITE,e}function wye(){let e=new Md;return e.translucencyByDistance=new Vt(3e6,1,5e6,0),e.pixelOffset=new z(17,0),e.horizontalOrigin=Ti.LEFT,e.font="16px sans-serif",e.style=Ko.FILL_AND_OUTLINE,e}function sX(e,t,n,i,o){let r=On(e,"href",Re.kml);if(!l(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y(ti(e,"x",Re.gx),0),u=y(ti(e,"y",Re.gx),0);c=Math.min(c/32,7),u=7-Math.min(u/32,7);let f=8*u+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${f}.png`}let s=oX(r,n,i);if(o){let a=On(e,"refreshMode",Re.kml),c=On(e,"viewRefreshMode",Re.kml);a==="onInterval"||a==="onExpire"?bt(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&bt(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let u=y(On(e,"viewBoundScale",Re.kml),1),f=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",d=y(On(e,"viewFormat",Re.kml),f),p=On(e,"httpQuery",Re.kml);l(d)&&s.setQueryParameters(ru(WH(d))),l(p)&&s.setQueryParameters(ru(WH(p)));let g=t._ellipsoid;return cX(s,t.camera,t.canvas,u,t._lastCameraView.bbox,g),s}return s}function Ost(e,t,n,i,o){let r=ti(t,"scale",Re.kml),s=ti(t,"heading",Re.kml),a=PT(t,"color",Re.kml),c=Bi(t,"Icon",Re.kml),u=sX(c,e,i,o,!1);l(c)&&!l(u)&&(u=!1);let f=ti(c,"x",Re.gx),d=ti(c,"y",Re.gx),p=ti(c,"w",Re.gx),g=ti(c,"h",Re.gx),m=Bi(t,"hotSpot",Re.kml),x=C0(m,"x"),b=C0(m,"y"),T=Vs(m,"xunits"),A=Vs(m,"yunits"),C=n.billboard;l(C)||(C=vye(),n.billboard=C),C.image=u,C.scale=r,C.color=a,(l(f)||l(d)||l(p)||l(g))&&(C.imageSubRegion=new We(f,d,p,g)),l(s)&&s!==0&&(C.rotation=P.toRadians(-s),C.alignedAxis=h.UNIT_Z),r=y(r,1);let E,v;l(x)&&(T==="pixels"?E=-x*r:T==="insetPixels"?E=(x-T0)*r:T==="fraction"&&(E=-x*T0*r),E+=T0*.5*r),l(b)&&(A==="pixels"?v=b*r:A==="insetPixels"?v=(-b+T0)*r:A==="fraction"&&(v=b*T0*r),v-=T0*.5*r),(l(E)||l(v))&&(C.pixelOffset=new z(E,v))}function GH(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r<s;r++){let a=t.childNodes.item(r);if(a.localName==="IconStyle")Ost(e,a,n,i,o);else if(a.localName==="LabelStyle"){let c=n.label;l(c)||(c=wye(),n.label=c),c.scale=y(ti(a,"scale",Re.kml),c.scale),c.fillColor=y(PT(a,"color",Re.kml),c.fillColor),c.text=n.name}else if(a.localName==="LineStyle"){let c=n.polyline;l(c)||(c=new cc,n.polyline=c),c.width=ti(a,"width",Re.kml),c.material=PT(a,"color",Re.kml),l(PT(a,"outerColor",Re.gx))&&bt("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),l(ti(a,"outerWidth",Re.gx))&&bt("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),l(ti(a,"physicalWidth",Re.gx))&&bt("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),l(vh(a,"labelVisibility",Re.gx))&&bt("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")}else if(a.localName==="PolyStyle"){let c=n.polygon;l(c)||(c=rX(),n.polygon=c),c.material=y(PT(a,"color",Re.kml),c.material),c.fill=y(vh(a,"fill",Re.kml),c.fill),c.outline=y(vh(a,"outline",Re.kml),c.outline)}else if(a.localName==="BalloonStyle"){let c=y(eX(On(a,"bgColor",Re.kml)),H.WHITE),u=y(eX(On(a,"textColor",Re.kml)),H.BLACK),f=On(a,"text",Re.kml);n.addProperty("balloonStyle"),n.balloonStyle={bgColor:c,textColor:u,text:f}}else if(a.localName==="ListStyle"){let c=On(a,"listItemType",Re.kml);(c==="radioFolder"||c==="checkOffOnly")&&bt(`kml-listStyle-${c}`,`KML - Unsupported ListStyle with listItemType: ${c}`)}}}function Mst(e,t,n,i,o){let r=new rr,s,a=-1,c=t.childNodes,u=c.length;for(let d=0;d<u;d++){let p=c[d];(p.localName==="Style"||p.localName==="StyleMap")&&(a=d)}if(a!==-1){let d=c[a];if(d.localName==="Style")GH(e,d,r,i,o);else{let p=Sh(d,"Pair",Re.kml);for(let g=0;g<p.length;g++){let m=p[g],x=On(m,"key",Re.kml);if(x==="normal"){let b=On(m,"styleUrl",Re.kml);if(l(b))s=n.getById(b),l(s)||(s=n.getById(`#${b}`)),l(s)&&r.merge(s);else{let T=Bi(m,"Style",Re.kml);GH(e,T,r,i,o)}}else bt(`kml-styleMap-${x}`,`KML - Unsupported StyleMap key: ${x}`)}}}let f=On(t,"styleUrl",Re.kml);if(l(f)){let d=f;if(f[0]!=="#"&&f.indexOf("#")!==-1){let p=f.split("#"),g=p[0];d=`${i.getDerivedResource({url:g}).getUrlComponent()}#${p[1]}`}s=n.getById(d),l(s)||(s=n.getById(`#${d}`)),l(s)&&r.merge(s)}return r}function Lst(e,t,n){return t.fetchXML().then(function(i){return Dye(e,i,n,t,!0)})}function Dye(e,t,n,i,o,r){let s,a,c,u,f=yye(t,"Style",Re.kml);if(l(f)){let x=f.length;for(s=0;s<x;s++)u=f[s],a=Vs(u,"id"),l(a)&&(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),l(n.getById(a))||(c=new rr({id:a}),n.add(c),GH(e,u,c,i,r)))}let d=yye(t,"StyleMap",Re.kml);if(l(d)){let x=d.length;for(s=0;s<x;s++){let b=d[s];if(a=Vs(b,"id"),l(a)){let T=Sh(b,"Pair",Re.kml);for(let A=0;A<T.length;A++){let C=T[A],E=On(C,"key",Re.kml);if(E==="normal"){if(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),!l(n.getById(a))){c=n.getOrCreateEntity(a);let v=On(C,"styleUrl",Re.kml);if(l(v)){v[0]!=="#"&&(v=`#${v}`),o&&l(i)&&(v=i.getUrlComponent()+v);let D=n.getById(v);l(D)&&c.merge(D)}else u=Bi(C,"Style",Re.kml),GH(e,u,c,i,r)}}else bt(`kml-styleMap-${E}`,`KML - Unsupported StyleMap key: ${E}`)}}}}let p=[],g=t.getElementsByTagName("styleUrl"),m=g.length;for(s=0;s<m;s++){let x=g[s].textContent;if(x[0]!=="#"){let b=x.split("#");if(b.length===2){let T=b[0],A=i.getDerivedResource({url:T});p.push(Lst(e,A,n))}}}return p}function aX(e,t,n){let i=new z_(e,t.id,["position"]),o=new Pm(t.position);t.polyline=l(n.polyline)?n.polyline.clone():new cc,t.polyline.positions=new U_([i,o])}function Iye(e,t){return!l(e)&&!l(t)||e==="clampToGround"?qe.CLAMP_TO_GROUND:e==="relativeToGround"?qe.RELATIVE_TO_GROUND:e==="absolute"?qe.NONE:t==="clampToSeaFloor"?(bt("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),qe.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(bt("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),qe.RELATIVE_TO_GROUND):(l(e)?bt("kml-altitudeMode-unknown",`KML - Unknown <kml:altitudeMode>:${e}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`):bt("kml-gx:altitudeMode-unknown",`KML - Unknown <gx:altitudeMode>:${t}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`),qe.CLAMP_TO_GROUND)}function Nst(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new Pm(e))}function Fst(e,t,n,i){if(!l(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r<o;r++){let s=e[r];i.scaleToGeodeticSurface(s,s)}return e}function qH(e,t,n,i){let o=t.label;l(o)||(o=l(n.label)?n.label.clone():wye(),t.label=o),o.text=t.name;let r=t.billboard;l(r)||(r=l(n.billboard)?n.billboard.clone():vye(),t.billboard=r),l(r.image)?r.image.getValue()||(r.image=void 0):r.image=e._pinBuilder.fromColor(H.YELLOW,64);let s=1;l(r.scale)&&(s=r.scale.getValue(),s!==0?o.pixelOffset=new z(s*16+1,0):(o.pixelOffset=void 0,o.horizontalOrigin=void 0)),l(i)&&e._clampToGround&&(r.heightReference=i,o.heightReference=i)}function Pye(e,t){let n=e.path;l(n)||(n=new Vp,n.leadTime=0,e.path=n);let i=t.polyline;l(i)&&(n.material=i.material,n.width=i.width)}function Bst(e,t,n,i,o){let r=On(n,"coordinates",Re.kml),s=On(n,"altitudeMode",Re.kml),a=On(n,"altitudeMode",Re.gx),c=vh(n,"extrude",Re.kml),u=e._ellipsoid,f=jH(r,u);return i.position=f,qH(e,i,o,Iye(s,a)),c&&wF(s,a)&&aX(t,i,o),!0}function xye(e,t,n,i,o){let r=Bi(n,"coordinates",Re.kml),s=On(n,"altitudeMode",Re.kml),a=On(n,"altitudeMode",Re.gx),c=vh(n,"extrude",Re.kml),u=vh(n,"tessellate",Re.kml),f=wF(s,a),d=ti(n,"drawOrder",Re.gx),p=e._ellipsoid,g=HH(r,p),m=o.polyline;if(f&&c){let x=new Up;i.wall=x,x.positions=g;let b=o.polygon;l(b)&&(x.fill=b.fill,x.material=b.material),x.outline=!0,l(m)?(x.outlineColor=l(m.material)?m.material.color:H.WHITE,x.outlineWidth=m.width):l(b)&&(x.outlineColor=l(b.material)?b.material.color:H.WHITE)}else if(e._clampToGround&&!f&&u){let x=new cc;x.clampToGround=!0,i.polyline=x,x.positions=g,l(m)?(x.material=l(m.material)?m.material.color.getValue(ze.MINIMUM_VALUE):H.WHITE,x.width=y(m.width,1)):(x.material=H.WHITE,x.width=1),x.zIndex=d}else l(d)&&bt("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!u&&bt("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),m=l(m)?m.clone():new cc,i.polyline=m,m.positions=Fst(g,s,a,p),(!u||f)&&(m.arcType=nn.NONE);return!0}function kst(e,t,n,i,o){let r=Bi(n,"outerBoundaryIs",Re.kml),s=Bi(r,"LinearRing",Re.kml),a=Bi(s,"coordinates",Re.kml),c=e._ellipsoid,u=HH(a,c),f=vh(n,"extrude",Re.kml),d=On(n,"altitudeMode",Re.kml),p=On(n,"altitudeMode",Re.gx),g=wF(d,p),m=l(o.polygon)?o.polygon.clone():rX(),x=o.polyline;if(l(x)&&(m.outlineColor=l(x.material)?x.material.color:H.WHITE,m.outlineWidth=x.width),i.polygon=m,g?(m.perPositionHeight=!0,m.extrudedHeight=f?0:void 0):e._clampToGround||(m.height=0),l(u)){let b=new Na(u),T=Sh(n,"innerBoundaryIs",Re.kml);for(let A=0;A<T.length;A++){s=Sh(T[A],"LinearRing",Re.kml);for(let C=0;C<s.length;C++)a=Bi(s[C],"coordinates",Re.kml),u=HH(a,c),l(u)&&b.holes.push(new Na(u))}m.hierarchy=b}return!0}function Vst(e,t,n,i,o){let r=On(n,"altitudeMode",Re.kml),s=On(n,"altitudeMode",Re.gx),a=Sh(n,"coord",Re.gx),c=Sh(n,"angles",Re.gx),u=Sh(n,"when",Re.kml),f=vh(n,"extrude",Re.kml),d=wF(r,s),p=e._ellipsoid;c.length>0&&bt("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,u.length),m=[],x=[];for(let T=0;T<g;T++){let A=jH(a[T].textContent,p);m.push(A),x.push(K.fromIso8601(u[T].textContent))}let b=new xa;return b.addSamples(x,m),i.position=b,qH(e,i,o,Iye(r,s)),Pye(i,o),i.availability=new Kr,u.length>0&&i.availability.addInterval(new Sn({start:x[0],stop:x[x.length-1]})),d&&f&&aX(t,i,o),!0}function bye(e,t,n,i,o,r,s,a,c){let u=e[0],f=e[e.length-1],d=new xa;d.addSamples(e,t),n.intervals.addInterval(new Sn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:Nst(d,s,a)})),i.addInterval(new Sn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new Sn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:r}))}function Ust(e,t,n,i,o){let r=vh(n,"interpolate",Re.gx),s=Sh(n,"Track",Re.gx),a,c,u,f=!1,d=new G_,p=new Kr,g=new ga,m=e._ellipsoid;for(let x=0,b=s.length;x<b;x++){let T=s[x],A=Sh(T,"when",Re.kml),C=Sh(T,"coord",Re.gx),E=On(T,"altitudeMode",Re.kml),v=On(T,"altitudeMode",Re.gx),D=wF(E,v),O=vh(T,"extrude",Re.kml),R=Math.min(C.length,A.length),M=[];a=[];for(let N=0;N<R;N++){let _=jH(C[N].textContent,m);M.push(_),a.push(K.fromIso8601(A[N].textContent))}r&&(l(c)&&bye([c,a[0]],[u,M[0]],g,p,d,!1,"absolute",void 0,!1),c=a[R-1],u=M[M.length-1]),bye(a,M,g,p,d,D&&O,E,v,!0),f=f||D&&O}return i.availability=p,i.position=g,qH(e,i,o),Pye(i,o),f&&(aX(t,i,o),i.polyline.show=d),!0}var Rye={Point:Bst,LineString:xye,LinearRing:xye,Polygon:kst,Track:Vst,MultiTrack:Ust,MultiGeometry:zst,Model:Hst};function zst(e,t,n,i,o,r){let s=n.childNodes,a=!1;for(let c=0,u=s.length;c<u;c++){let f=s.item(c),d=Rye[f.localName];if(l(d)){let p=Sye(f,t,r);p.parent=i,p.name=i.name,p.availability=i.availability,p.description=i.description,p.kml=i.kml,d(e,t,f,p,o)&&(a=!0)}}return a}function Hst(e,t,n,i,o){return bt("kml-unsupportedGeometry",`KML - Unsupported geometry: ${n.localName}`),!1}function Gst(e,t){let n=Bi(e,"ExtendedData",Re.kml);if(!l(n))return;l(Bi(n,"SchemaData",Re.kml))&&bt("kml-schemaData","KML - SchemaData is unsupported"),l(Vs(n,"xmlns:prefix"))&&bt("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");let i={},o=Sh(n,"Data",Re.kml);if(l(o)){let r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Vs(a,"name");l(c)&&(i[c]={displayName:On(a,"displayName",Re.kml),value:On(a,"value",Re.kml)})}}t.kml.extendedData=i}var Co;typeof document<"u"&&(Co=document.createElement("div"));function Wst(e,t,n,i,o){let r,s,a,c=t.kml,u=c.extendedData,f=On(e,"description",Re.kml),d=y(t.balloonStyle,n.balloonStyle),p=H.WHITE,g=H.BLACK,m=f;l(d)&&(p=y(d.bgColor,H.WHITE),g=y(d.textColor,H.BLACK),m=y(d.text,f));let x;if(l(m)){if(m=m.replace("$[name]",y(t.name,"")),m=m.replace("$[description]",y(f,"")),m=m.replace("$[address]",y(c.address,"")),m=m.replace("$[Snippet]",y(c.snippet,"")),m=m.replace("$[id]",t.id),m=m.replace("$[geDirections]",""),l(u)){let A=m.match(/\$\[.+?\]/g);if(A!==null)for(r=0;r<A.length;r++){let C=A[r],E=C.substr(2,C.length-3),v=/\/displayName$/.test(E);E=E.replace(/\/displayName$/,""),x=u[E],l(x)&&(x=v?x.displayName:x.value),l(x)&&(m=m.replace(C,y(x,"")))}}}else if(l(u)&&(a=Object.keys(u),a.length>0)){for(m='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',r=0;r<a.length;r++)s=a[r],x=u[s],m+=`<tr><th>${y(x.displayName,s)}</th><td>${y(x.value,"")}</td></tr>`;m+="</tbody></table>"}if(!l(m))return;m=Sst.link(m),Co.innerHTML=m;let b=Co.querySelectorAll("a");for(r=0;r<b.length;r++)b[r].setAttribute("target","_blank");l(i)&&i.keys.length>1&&(Hu(Co,"a","href",i),Hu(Co,"link","href",i),Hu(Co,"area","href",i),Hu(Co,"img","src",i),Hu(Co,"iframe","src",i),Hu(Co,"video","src",i),Hu(Co,"audio","src",i),Hu(Co,"source","src",i),Hu(Co,"track","src",i),Hu(Co,"input","src",i),Hu(Co,"embed","src",i),Hu(Co,"script","src",i),Hu(Co,"video","poster",i)),Gu(Co,"a","href",o),Gu(Co,"link","href",o),Gu(Co,"area","href",o),Gu(Co,"img","src",o),Gu(Co,"iframe","src",o),Gu(Co,"video","src",o),Gu(Co,"audio","src",o),Gu(Co,"source","src",o),Gu(Co,"track","src",o),Gu(Co,"input","src",o),Gu(Co,"embed","src",o),Gu(Co,"script","src",o),Gu(Co,"video","poster",o);let T='<div class="cesium-infoBox-description-lighter" style="';T+="overflow:auto;",T+="word-wrap:break-word;",T+=`background-color:${p.toCssColorString()};`,T+=`color:${g.toCssColorString()};`,T+='">',T+=`${Co.innerHTML}</div>`,Co.innerHTML="",t.description=T}function YH(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=Sye(t,i,n.context),c=a.kml,u=Mst(e,t,n.styleCollection,r,s),f=On(t,"name",Re.kml);a.name=f,a.parent=o;let d=Rst(t);l(d)||(d=Pst(t)),a.availability=d,uX(a);function p(C){return C?C.show&&p(C.parent):!0}let g=vh(t,"visibility",Re.kml);a.show=p(o)&&y(g,!0);let m=Bi(t,"author",Re.atom),x=c.author;x.name=On(m,"name",Re.atom),x.uri=On(m,"uri",Re.atom),x.email=On(m,"email",Re.atom);let b=Bi(t,"link",Re.atom),T=c.link;T.href=Vs(b,"href"),T.hreflang=Vs(b,"hreflang"),T.rel=Vs(b,"rel"),T.type=Vs(b,"type"),T.title=Vs(b,"title"),T.length=Vs(b,"length"),c.address=On(t,"address",Re.kml),c.phoneNumber=On(t,"phoneNumber",Re.kml),c.snippet=On(t,"Snippet",Re.kml),Gst(t,a),Wst(t,a,u,s,r);let A=e._ellipsoid;return Lye(t,a,A),Mye(t,a,A),l(Bi(t,"Region",Re.kml))&&bt("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:u}}function Oye(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function jst(e,t,n,i){let o=YH(e,t,n),r=He(n);r.parentEntity=o.entity,Oye(e,t,r,i)}function qst(e,t,n,i){let o=YH(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let u=0,f=c.length;u<f&&!a;u++){let d=c.item(u),p=Rye[d.localName];l(p)&&(p(e,n.entityCollection,d,r,s,r.id),a=!0)}a||(r.merge(s),qH(e,r,s))}var Yst={FlyTo:Zst,Wait:Kst,SoundCue:$Y,AnimatedUpdate:$Y,TourControl:$Y};function Xst(e,t,n,i){let o=On(t,"name",Re.kml),r=Vs(t,"id"),s=new CF(o,r),a=Bi(t,"Playlist",Re.gx);if(a){let c=e._ellipsoid,u=a.childNodes;for(let f=0;f<u.length;f++){let d=u[f];if(d.localName){let p=Yst[d.localName];p?p(s,d,c):console.log(`Unknown KML Tour playlist entry type ${d.localName}`)}}}e._kmlTours.push(s)}function $Y(e,t){bt(`KML Tour unsupported node ${t.localName}`)}function Kst(e,t){let n=ti(t,"duration",Re.gx);e.addPlaylistEntry(new SF(n))}function Zst(e,t,n){let i=ti(t,"duration",Re.gx),o=On(t,"flyToMode",Re.gx),r={kml:{}};Lye(t,r,n),Mye(t,r,n);let s=r.kml.lookAt||r.kml.camera,a=new EF(i,o,s);e.addPlaylistEntry(a)}function Mye(e,t,n){let i=Bi(e,"Camera",Re.kml);if(l(i)){let o=y(ti(i,"longitude",Re.kml),0),r=y(ti(i,"latitude",Re.kml),0),s=y(ti(i,"altitude",Re.kml),0),a=y(ti(i,"heading",Re.kml),0),c=y(ti(i,"tilt",Re.kml),0),u=y(ti(i,"roll",Re.kml),0),f=h.fromDegrees(o,r,s,n),d=Da.fromDegrees(a,c-90,u);t.kml.camera=new bF(f,d)}}function Lye(e,t,n){let i=Bi(e,"LookAt",Re.kml);if(l(i)){let o=y(ti(i,"longitude",Re.kml),0),r=y(ti(i,"latitude",Re.kml),0),s=y(ti(i,"altitude",Re.kml),0),a=ti(i,"heading",Re.kml),c=ti(i,"tilt",Re.kml),u=y(ti(i,"range",Re.kml),0);c=P.toRadians(y(c,0)),a=P.toRadians(y(a,0));let f=new td(a,c-P.PI_OVER_TWO,u),d=h.fromDegrees(o,r,s,n);t.kml.lookAt=new TF(d,f)}}function $st(e,t,n,i){let o=n.screenOverlayContainer;if(!l(o))return;let r=n.sourceResource,s=n.uriResolver,a=Bi(t,"Icon",Re.kml),c=sX(a,e,r,s,!1);if(!l(c))return;let u=document.createElement("img");e._screenOverlays.push(u),u.src=c.url,u.onload=function(){let f=["position: absolute"],d=Bi(t,"screenXY",Re.kml),p=Bi(t,"overlayXY",Re.kml),g=Bi(t,"size",Re.kml),m,x,b,T,A,C;l(g)&&(m=C0(g,"x"),x=C0(g,"y"),b=Vs(g,"xunits"),T=Vs(g,"yunits"),l(m)&&m!==-1&&m!==0&&(b==="fraction"?A=`width: ${Math.floor(m*100)}%`:b==="pixels"&&(A=`width: ${m}px`),f.push(A)),l(x)&&x!==-1&&x!==0&&(T==="fraction"?C=`height: ${Math.floor(x*100)}%`:T==="pixels"&&(C=`height: ${x}px`),f.push(C))),u.style=f.join(";");let E=0,v=u.height;l(p)&&(m=C0(p,"x"),x=C0(p,"y"),b=Vs(p,"xunits"),T=Vs(p,"yunits"),l(m)&&(b==="fraction"?E=m*u.width:(b==="pixels"||b==="insetPixels")&&(E=m)),l(x)&&(T==="fraction"?v=x*u.height:(T==="pixels"||T==="insetPixels")&&(v=x))),l(d)&&(m=C0(d,"x"),x=C0(d,"y"),b=Vs(d,"xunits"),T=Vs(d,"yunits"),l(m)&&(b==="fraction"?A=`left: calc(${Math.floor(m*100)}% - ${E}px)`:b==="pixels"?A=`left: ${m-E}px`:b==="insetPixels"&&(A=`right: ${m-E}px`),f.push(A)),l(x)&&(T==="fraction"?C=`bottom: calc(${Math.floor(x*100)}% - ${v}px)`:T==="pixels"?C=`bottom: ${x-v}px`:T==="insetPixels"&&(C=`top: ${x-v}px`),f.push(C))),u.style=f.join(";")},o.appendChild(u)}function Qst(e,t,n,i){let r=YH(e,t,n).entity,s,a=!1,c=e._ellipsoid,u=HH(Bi(t,"LatLonQuad",Re.gx),c),f=ti(t,"drawOrder",Re.kml);if(l(u))s=rX(),s.hierarchy=new Na(u),s.zIndex=f,r.polygon=s,a=!0;else{s=new Nd,s.zIndex=f,r.rectangle=s;let m=Bi(t,"LatLonBox",Re.kml);if(l(m)){let x=ti(m,"west",Re.kml),b=ti(m,"south",Re.kml),T=ti(m,"east",Re.kml),A=ti(m,"north",Re.kml);l(x)&&(x=P.negativePiToPi(P.toRadians(x))),l(b)&&(b=P.clampToLatitudeRange(P.toRadians(b))),l(T)&&(T=P.negativePiToPi(P.toRadians(T))),l(A)&&(A=P.clampToLatitudeRange(P.toRadians(A))),s.coordinates=new ae(x,b,T,A);let C=ti(m,"rotation",Re.kml);if(l(C)){let E=P.toRadians(C);s.rotation=E,s.stRotation=E}}}let d=Bi(t,"Icon",Re.kml),p=sX(d,e,n.sourceResource,n.uriResolver,!0);if(l(p)){a&&bt("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection.");let m=ti(d,"x",Re.gx),x=ti(d,"y",Re.gx),b=ti(d,"w",Re.gx),T=ti(d,"h",Re.gx);(l(m)||l(x)||l(b)||l(T))&&bt("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),s.material=p,s.material.color=PT(t,"color",Re.kml),s.material.transparent=!0}else s.material=PT(t,"color",Re.kml);let g=On(t,"altitudeMode",Re.kml);l(g)?g==="absolute"?(s.height=ti(t,"altitude",Re.kml),s.zIndex=void 0):g!=="clampToGround"&&bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`):(g=On(t,"altitudeMode",Re.gx),g==="relativeToSeaFloor"?(bt("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),s.height=ti(t,"altitude",Re.kml),s.zIndex=void 0):g==="clampToSeaFloor"?bt("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):l(g)&&bt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`))}function Nye(e,t,n,i){e._unsupportedNode.raiseEvent(e,n.parentEntity,t,n.entityCollection,n.styleCollection,n.sourceResource,n.uriResolver),bt(`kml-unsupportedFeature-${t.nodeName}`,`KML - Unsupported feature: ${t.nodeName}`)}var A0={INTERVAL:0,EXPIRE:1,STOP:2};function WH(e){if(!l(e)||e.length===0)return"";let t=e[0];return(t==="&"||t==="?")&&(e=e.substring(1)),e}var Jst=new ae,VS=new fe,QY=new z,eat=new h;function cX(e,t,n,i,o,r){function s(u){return u<-P.PI_OVER_TWO?-P.PI_OVER_TWO:u>P.PI_OVER_TWO?P.PI_OVER_TWO:u}function a(u){return u>P.PI?u-P.TWO_PI:u<-P.PI?u+P.TWO_PI:u}let c=ox(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),l(t)&&t._mode!==ne.MORPHING){let u,f;if(o=y(o,Jst),l(n)&&(QY.x=n.clientWidth*.5,QY.y=n.clientHeight*.5,u=t.pickEllipsoid(QY,r,eat)),l(u)?f=r.cartesianToCartographic(u,VS):(f=ae.center(o,VS),u=r.cartographicToCartesian(f)),l(i)&&!P.equalsEpsilon(i,1,P.EPSILON9)){let T=o.width*i*.5,A=o.height*i*.5;o=new ae(a(f.longitude-T),s(f.latitude-A),a(f.longitude+T),s(f.latitude+A))}c=c.replace("[bboxWest]",P.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",P.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",P.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",P.toDegrees(o.north).toString());let d=P.toDegrees(f.longitude).toString(),p=P.toDegrees(f.latitude).toString();c=c.replace("[lookatLon]",d),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",P.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",P.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,u)),c=c.replace("[lookatTerrainLon]",d),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",f.height.toString()),r.cartesianToCartographic(t.positionWC,VS),c=c.replace("[cameraLon]",P.toDegrees(VS.longitude).toString()),c=c.replace("[cameraLat]",P.toDegrees(VS.latitude).toString()),c=c.replace("[cameraAlt]",P.toDegrees(VS.height).toString());let g=t.frustum,m=g.aspectRatio,x="",b="";if(l(m)){let T=P.toDegrees(g.fov);m>1?(x=T,b=T/m):(b=T,x=T*m)}c=c.replace("[horizFov]",x.toString()),c=c.replace("[vertFov]",b.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");l(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(ru(c))}function tat(e,t,n,i){let r=YH(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=Bi(t,"Link",Re.kml);if(l(c)||(c=Bi(t,"Url",Re.kml)),l(c)){let u=On(c,"href",Re.kml),f,d;if(l(u)){let p=u;if(u=oX(u,s,n.uriResolver),/^data:/.test(u.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{if(p=u.clone(),f=On(c,"viewRefreshMode",Re.kml),f==="onRegion"){bt("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}d=y(On(c,"viewBoundScale",Re.kml),1);let b=f==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",T=y(On(c,"viewFormat",Re.kml),b),A=On(c,"httpQuery",Re.kml);l(T)&&u.setQueryParameters(ru(WH(T))),l(A)&&u.setQueryParameters(ru(WH(A)));let C=e._ellipsoid;cX(u,e.camera,e.canvas,d,e._lastCameraView.bbox,C)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},m=new na,x=lX(e,m,u,g).then(function(b){let T=e._entityCollection,A=m.values;T.suspendEvents();for(let v=0;v<A.length;v++){let D=A[v];l(D.parent)||(D.parent=r,uX(D)),T.add(D)}T.resumeEvents();let C=On(c,"refreshMode",Re.kml),E=y(ti(c,"refreshInterval",Re.kml),0);if(C==="onInterval"&&E>0||C==="onExpire"||f==="onStop"){let v=Bi(b,"NetworkLinkControl",Re.kml),D=l(v),O=K.now(),R={id:Wn(),href:u,cookie:{},lastUpdated:O,updating:!1,entity:r,viewBoundScale:d,needsUpdate:!1,cameraUpdateTime:O},M=0;if(D&&(R.cookie=ru(y(On(v,"cookie",Re.kml),"")),M=y(ti(v,"minRefreshPeriod",Re.kml),0)),C==="onInterval")D&&(E=Math.max(M,E)),R.refreshMode=A0.INTERVAL,R.time=E;else if(C==="onExpire"){let N;if(D&&(N=On(v,"expires",Re.kml)),l(N))try{let _=K.fromIso8601(N),S=K.secondsDifference(_,O);S>0&&S<M&&K.addSeconds(O,M,_),R.refreshMode=A0.EXPIRE,R.time=_}catch{bt("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else bt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element")}else l(e.camera)?(R.refreshMode=A0.STOP,R.time=y(ti(c,"viewRefreshTime",Re.kml),0)):bt("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires the `camera` property to be defined.");l(R.refreshMode)&&e._networkLinks.set(R.id,R)}}).catch(function(b){bt(`An error occured during loading ${u.url}`),e._error.raiseEvent(e,b)});i.addPromise(x)}}}function nat(e,t,n,i){let o=iX[t.localName];return l(o)?o(e,t,n,i):Nye(e,t,n,i)}function tX(e,t,n,i,o,r,s){t.removeAll();let a=n.documentElement,c=a.localName==="Document"?a:Bi(a,"Document",Re.kml),u=On(c,"name",Re.kml);l(u)||(u=k_(i.getUrlComponent())),l(e._name)||(e._name=u);let f=new Wu._DeferredLoading(e),d=new na(e);return Promise.all(Dye(e,n,d,i,!1,o)).then(function(){let p=n.documentElement;if(p.localName==="kml"){let m=p.childNodes;for(let x=0;x<m.length;x++){let b=m[x];if(l(iX[b.localName])){p=b;break}}}let g={parentEntity:void 0,entityCollection:t,styleCollection:d,sourceResource:i,uriResolver:o,context:s,screenOverlayContainer:r};return t.suspendEvents(),nat(e,p,g,f),t.resumeEvents(),f.wait().then(function(){return n.documentElement})})}function iat(e,t,n,i,o){let r=sn("ThirdParty/Workers/z-worker-pako.js");AS({workerScripts:{deflate:[r,"./pako_deflate.min.js"],inflate:[r,"./pako_inflate.min.js"]}});let s=new cH(new eg(n));return Promise.resolve(s.getEntries()).then(function(a){let c=[],u={},f;for(let d=0;d<a.length;d++){let p=a[d];p.directory||(/\.kml$/i.test(p.filename)&&(!l(f)||!/\//i.test(p.filename))?(l(f)&&c.push(ZY(f,u)),f=p):c.push(ZY(p,u)))}return l(f)&&c.push(Ist(f,u)),Promise.all(c).then(function(){if(s.close(),!l(u.kml))throw new se("KMZ file does not contain a KML document.");return u.keys=Object.keys(u),tX(e,t,u.kml,i,u,o)})})}function lX(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=i.sourceUri,r=i.uriResolver,s=i.context,a=i.screenOverlayContainer,c=n;if(typeof n=="string"||n instanceof Ae){n=Ae.createIfNeeded(n),c=n.fetchBlob(),o=y(o,n.clone());let u=e._resourceCredits,f=n.credits;if(l(f)){let d=f.length;for(let p=0;p<d;p++)u.push(f[p])}}else o=y(o,Ae.DEFAULT.clone());return o=Ae.createIfNeeded(o),l(a)&&(a=Rn(a)),Promise.resolve(c).then(function(u){return u instanceof Blob?wst(u).then(function(f){return f?iat(e,t,u,o,a):Dst(u).then(function(d){d=Aye(d),d=Eye(d);let p,g;try{p=nX.parseFromString(d,"application/xml")}catch(m){g=m.toString()}if(l(g)||p.body||p.documentElement.tagName==="parsererror"){let m=l(g)?g:p.documentElement.firstChild.nodeValue;throw m||(m=p.body.innerText),new se(m)}return tX(e,t,p,o,r,a,s)})}):tX(e,t,u,o,r,a,s)}).catch(function(u){return e._error.raiseEvent(e,u),console.log(u),Promise.reject(u)})}function Wu(e){e=y(e,y.EMPTY_OBJECT);let t=e.camera,n=e.canvas;this._changed=new me,this._error=new me,this._loading=new me,this._refresh=new me,this._unsupportedNode=new me,this._clock=void 0,this._entityCollection=new na(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new tg,this._networkLinks=new Dt,this._entityCluster=new Pu,this.canvas=n,this.camera=t,this._lastCameraView={position:l(t)?h.clone(t.positionWC):void 0,direction:l(t)?h.clone(t.directionWC):void 0,up:l(t)?h.clone(t.upWC):void 0,bbox:l(t)?t.computeViewRectangle():ae.clone(ae.MAX_VALUE)},this._ellipsoid=y(e.ellipsoid,ee.default);let i=e.credit;typeof i=="string"&&(i=new At(i)),this._credit=i,this._resourceCredits=[],this._kmlTours=[],this._screenOverlays=[]}Wu.load=function(e,t){return t=y(t,y.EMPTY_OBJECT),new Wu(t).load(e,t)};Object.defineProperties(Wu.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}},kmlTours:{get:function(){return this._kmlTours}}});Wu.prototype.load=function(e,t){t=y(t,y.EMPTY_OBJECT),Zr.setLoading(this,!0);let n=this._name;this._name=void 0,this._clampToGround=y(t.clampToGround,!1);let i=this;return lX(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,ze.MINIMUM_VALUE),u=K.equals(a,ze.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new dh,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=$r.LOOP_STOP,o.clockStep=To.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Zr.setLoading(i,!1),i}).catch(function(o){return Zr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};Wu.prototype.destroy=function(){for(;this._screenOverlays.length>0;)this._screenOverlays.pop().remove()};function uX(e){let t=e.parent;if(l(t)){let n=t.availability;if(l(n)){let i=e.availability;l(i)?i.intersect(n):e.availability=n}}}function oat(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=Bi(r,"NetworkLinkControl",Re.kml),c=l(a),u=0;if(c){if(l(Bi(a,"Update",Re.kml))){bt("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=ru(y(On(a,"cookie",Re.kml),"")),u=y(ti(a,"minRefreshPeriod",Re.kml),0)}let f=K.now(),d=t.refreshMode;if(d===A0.INTERVAL)l(a)&&(t.time=Math.max(u,t.time));else if(d===A0.EXPIRE){let O;if(l(a)&&(O=On(a,"expires",Re.kml)),l(O))try{let R=K.fromIso8601(O),M=K.secondsDifference(R,f);M>0&&M<u&&K.addSeconds(f,u,R),t.time=R}catch{bt("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),s=!0}else bt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),s=!0}let p=t.entity,g=e._entityCollection,m=n.values;function x(O){g.remove(O);let R=O._children,M=R.length;for(let N=0;N<M;++N)x(R[N])}g.suspendEvents();let b=g.values.slice(),T;for(T=0;T<b.length;++T){let O=b[T];O.parent===p&&(O.parent=void 0,x(O))}for(g.resumeEvents(),g.suspendEvents(),T=0;T<m.length;T++){let O=m[T];l(O.parent)||(O.parent=p,uX(O)),g.add(O)}g.resumeEvents(),s?i.remove(t.id):t.lastUpdated=f;let A=g.computeAvailability(),C=A.start,E=A.stop,v=K.equals(C,ze.MINIMUM_VALUE),D=K.equals(E,ze.MAXIMUM_VALUE);if(!v||!D){let O=e._clock;(O.startTime!==C||O.stopTime!==E)&&(O.startTime=C,O.stopTime=E,e._changed.raiseEvent(e))}t.updating=!1,t.needsUpdate=!1,e._refresh.raiseEvent(e,o.getUrlComponent(!0))}}var JY=new Dt;Wu.prototype.update=function(e){let t=this._networkLinks;if(t.length===0)return!0;let n=K.now(),i=this;JY.removeAll();function o(f){let d=f._children,p=d.length;for(let g=0;g<p;++g){let m=d[g];JY.set(m.id,m),o(m)}}let r=!1,s=this._lastCameraView,a=this.camera;l(a)&&!(a.positionWC.equalsEpsilon(s.position,P.EPSILON7)&&a.directionWC.equalsEpsilon(s.direction,P.EPSILON7)&&a.upWC.equalsEpsilon(s.up,P.EPSILON7))&&(s.position=h.clone(a.positionWC),s.direction=h.clone(a.directionWC),s.up=h.clone(a.upWC),s.bbox=a.computeViewRectangle(),r=!0);let c=new Dt,u=!1;return t.values.forEach(function(f){let d=f.entity;if(!JY.contains(d.id)){if(!f.updating){let p=!1;if(f.refreshMode===A0.INTERVAL?K.secondsDifference(n,f.lastUpdated)>f.time&&(p=!0):f.refreshMode===A0.EXPIRE?K.greaterThan(n,f.time)&&(p=!0):f.refreshMode===A0.STOP&&(r&&(f.needsUpdate=!0,f.cameraUpdateTime=n),f.needsUpdate&&K.secondsDifference(n,f.cameraUpdateTime)>=f.time&&(p=!0)),p){o(d),f.updating=!0;let g=new na,m=f.href.clone();m.setQueryParameters(f.cookie);let x=y(i._ellipsoid,ee.default);cX(m,i.camera,i.canvas,f.viewBoundScale,s.bbox,x),lX(i,g,m,{context:d.id}).then(oat(i,f,g,c,m)).catch(function(b){let T=`NetworkLink ${f.href} refresh failed: ${b}`;console.log(T),i._error.raiseEvent(i,T)}),u=!0}}c.set(f.id,f)}}),u&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function rat(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}Wu._DeferredLoading=Gm;Wu._getTimestamp=Ei;var DF=Wu;function IF(){de.throwInstantiationError()}IF.prototype.update=de.throwInstantiationError;IF.prototype.getBoundingSphere=de.throwInstantiationError;IF.prototype.isDestroyed=de.throwInstantiationError;IF.prototype.destroy=de.throwInstantiationError;var fX=IF;var sat={NONE:0,LERC:1},od=Object.freeze(sat);var aat={NONE:0,BITS12:1},oa=Object.freeze(aat);var RT=new h,cat=new h,rd=new z,XH=new F,lat=new F,uat=Math.pow(2,12);function Sc(e,t,n,i,o,r,s,a,c,u){let f=oa.NONE,d,p;if(l(t)&&l(n)&&l(i)&&l(o)){let g=t.minimum,m=t.maximum,x=h.subtract(m,g,cat),b=i-n;Math.max(h.maximumComponent(x),b)<uat-1?f=oa.BITS12:f=oa.NONE,d=F.inverseTransformation(o,new F);let A=h.negate(g,RT);F.multiply(F.fromTranslation(A,XH),d,d);let C=RT;C.x=1/x.x,C.y=1/x.y,C.z=1/x.z,F.multiply(F.fromScale(C,XH),d,d),p=F.clone(o),F.setTranslation(p,h.ZERO,p),o=F.clone(o,new F);let E=F.fromTranslation(g,XH),v=F.fromScale(x,lat),D=F.multiply(E,v,XH);F.multiply(o,D,o),F.multiply(p,D,p)}this.quantization=f,this.minimumHeight=n,this.maximumHeight=i,this.center=h.clone(e),this.toScaledENU=d,this.fromScaledENU=o,this.matrix=p,this.hasVertexNormals=r,this.hasWebMercatorT=y(s,!1),this.hasGeodeticSurfaceNormals=y(a,!1),this.exaggeration=y(c,1),this.exaggerationRelativeHeight=y(u,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}Sc.prototype.encode=function(e,t,n,i,o,r,s,a){let c=i.x,u=i.y;if(this.quantization===oa.BITS12){n=F.multiplyByPoint(this.toScaledENU,n,RT),n.x=P.clamp(n.x,0,1),n.y=P.clamp(n.y,0,1),n.z=P.clamp(n.z,0,1);let f=this.maximumHeight-this.minimumHeight,d=P.clamp((o-this.minimumHeight)/f,0,1);z.fromElements(n.x,n.y,rd);let p=Nn.compressTextureCoordinates(rd);z.fromElements(n.z,d,rd);let g=Nn.compressTextureCoordinates(rd);z.fromElements(c,u,rd);let m=Nn.compressTextureCoordinates(rd);if(e[t++]=p,e[t++]=g,e[t++]=m,this.hasWebMercatorT){z.fromElements(s,0,rd);let x=Nn.compressTextureCoordinates(rd);e[t++]=x}}else h.subtract(n,this.center,RT),e[t++]=RT.x,e[t++]=RT.y,e[t++]=RT.z,e[t++]=o,e[t++]=c,e[t++]=u,this.hasWebMercatorT&&(e[t++]=s);return this.hasVertexNormals&&(e[t++]=Nn.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=a.x,e[t++]=a.y,e[t++]=a.z),t};var fat=new h,Fye=new h;Sc.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;let i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let r=this.stride;for(let s=0;s<o;s++){for(let f=0;f<i;f++){let d=s*i+f,p=s*r+f;t[p]=e[d]}let a=this.decodePosition(t,s,fat),c=n.geodeticSurfaceNormal(a,Fye),u=s*r+this._offsetGeodeticSurfaceNormal;t[u]=c.x,t[u+1]=c.y,t[u+2]=c.z}};Sc.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;let n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let o=this.stride;for(let r=0;r<i;r++)for(let s=0;s<o;s++){let a=r*n+s,c=r*o+s;t[c]=e[a]}};Sc.prototype.decodePosition=function(e,t,n){if(l(n)||(n=new h),t*=this.stride,this.quantization===oa.BITS12){let i=Nn.decompressTextureCoordinates(e[t],rd);n.x=i.x,n.y=i.y;let o=Nn.decompressTextureCoordinates(e[t+1],rd);return n.z=o.x,F.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],h.add(n,this.center,n)};Sc.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);let i=this.exaggeration,o=this.exaggerationRelativeHeight;if(i!==1&&this.hasGeodeticSurfaceNormals){let s=this.decodeGeodeticSurfaceNormal(e,t,Fye),a=this.decodeHeight(e,t),c=Dr.getHeight(a,i,o)-a;n.x+=s.x*c,n.y+=s.y*c,n.z+=s.z*c}return n};Sc.prototype.decodeTextureCoordinates=function(e,t,n){return l(n)||(n=new z),t*=this.stride,this.quantization===oa.BITS12?Nn.decompressTextureCoordinates(e[t+2],n):z.fromElements(e[t+4],e[t+5],n)};Sc.prototype.decodeHeight=function(e,t){return t*=this.stride,this.quantization===oa.BITS12?Nn.decompressTextureCoordinates(e[t+1],rd).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:e[t+3]};Sc.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===oa.BITS12?Nn.decompressTextureCoordinates(e[t+3],rd).x:e[t+6]};Sc.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;let i=e[t]/256,o=Math.floor(i),r=(i-o)*256;return z.fromElements(o,r,n)};Sc.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n};Sc.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case oa.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};var KH={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},ZH={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};Sc.prototype.getAttributes=function(e){let t=X.FLOAT,n=X.getSizeInBytes(t),i=this.stride*n,o=0,r=[];function s(a,c){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:c,offsetInBytes:o,strideInBytes:i}),o+=c*n}if(this.quantization===oa.NONE){s(KH.position3DAndHeight,4);let a=2;a+=this.hasWebMercatorT?1:0,a+=this.hasVertexNormals?1:0,s(KH.textureCoordAndEncodedNormals,a),this.hasGeodeticSurfaceNormals&&s(KH.geodeticSurfaceNormal,3)}else{let a=this.hasWebMercatorT||this.hasVertexNormals,c=this.hasWebMercatorT&&this.hasVertexNormals;s(ZH.compressed0,a?4:3),c&&s(ZH.compressed1,1),this.hasGeodeticSurfaceNormals&&s(ZH.geodeticSurfaceNormal,3)}return r};Sc.prototype.getAttributeLocations=function(){return this.quantization===oa.NONE?KH:ZH};Sc.clone=function(e,t){if(l(e))return l(t)||(t=new Sc),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=h.clone(e.center),t.toScaledENU=F.clone(e.toScaledENU),t.fromScaledENU=F.clone(e.fromScaledENU),t.matrix=F.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var vc=Sc;var Wm={};Wm.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var dX=new h,dat=new F,hat=new h,mat=new h;Wm.computeVertices=function(e){let t=Math.cos,n=Math.sin,i=Math.sqrt,o=Math.atan,r=Math.exp,s=P.PI_OVER_TWO,a=P.toRadians,c=e.heightmap,u=e.width,f=e.height,d=e.skirtHeight,p=d>0,g=y(e.isGeographic,!0),m=y(e.ellipsoid,ee.default),x=1/m.maximumRadius,b=ae.clone(e.nativeRectangle),T=ae.clone(e.rectangle),A,C,E,v;l(T)?(A=T.west,C=T.south,E=T.east,v=T.north):g?(A=a(b.west),C=a(b.south),E=a(b.east),v=a(b.north)):(A=b.west*x,C=s-2*o(r(-b.south*x)),E=b.east*x,v=s-2*o(r(-b.north*x)));let D=e.relativeToCenter,O=l(D);D=O?D:h.ZERO;let R=y(e.includeWebMercatorT,!1),M=y(e.exaggeration,1),N=y(e.exaggerationRelativeHeight,0),S=M!==1,w=y(e.structure,Wm.DEFAULT_STRUCTURE),I=y(w.heightScale,Wm.DEFAULT_STRUCTURE.heightScale),L=y(w.heightOffset,Wm.DEFAULT_STRUCTURE.heightOffset),B=y(w.elementsPerHeight,Wm.DEFAULT_STRUCTURE.elementsPerHeight),U=y(w.stride,Wm.DEFAULT_STRUCTURE.stride),V=y(w.elementMultiplier,Wm.DEFAULT_STRUCTURE.elementMultiplier),G=y(w.isBigEndian,Wm.DEFAULT_STRUCTURE.isBigEndian),k=ae.computeWidth(b),W=ae.computeHeight(b),Y=k/(u-1),Q=W/(f-1);g||(k*=x,W*=x);let j=m.radiiSquared,Z=j.x,J=j.y,he=j.z,xe=65536,re=-65536,_e=Lt.eastNorthUpToFixedFrame(D,m),ye=F.inverseTransformation(_e,dat),De,we;R&&(De=Mi.geodeticLatitudeToMercatorAngle(C),we=1/(Mi.geodeticLatitudeToMercatorAngle(v)-De));let Me=hat;Me.x=Number.POSITIVE_INFINITY,Me.y=Number.POSITIVE_INFINITY,Me.z=Number.POSITIVE_INFINITY;let Oe=mat;Oe.x=Number.NEGATIVE_INFINITY,Oe.y=Number.NEGATIVE_INFINITY,Oe.z=Number.NEGATIVE_INFINITY;let lt=Number.POSITIVE_INFINITY,et=u*f,vt=d>0?u*2+f*2:0,Qe=et+vt,wt=new Array(Qe),mt=new Array(Qe),pt=new Array(Qe),Xt=R?new Array(Qe):[],Te=S?new Array(Qe):[],Ee=0,rn=f,Jt=0,en=u;p&&(--Ee,++rn,--Jt,++en);let Ji=1e-5;for(let Ke=Ee;Ke<rn;++Ke){let rt=Ke;rt<0&&(rt=0),rt>=f&&(rt=f-1);let _t=b.north-Q*rt;g?_t=a(_t):_t=s-2*o(r(-_t*x));let hn=(_t-C)/(v-C);hn=P.clamp(hn,0,1);let eo=Ke===Ee,fo=Ke===rn-1;d>0&&(eo?_t+=Ji*W:fo&&(_t-=Ji*W));let Nr=t(_t),Jo=n(_t),ms=he*Jo,ho;R&&(ho=(Mi.geodeticLatitudeToMercatorAngle(_t)-De)*we);for(let ps=Jt;ps<en;++ps){let Fr=ps;Fr<0&&(Fr=0),Fr>=u&&(Fr=u-1);let cf=rt*(u*U)+Fr*U,oo;if(B===1)oo=c[cf];else{oo=0;let ut;if(G)for(ut=0;ut<B;++ut)oo=oo*V+c[cf+ut];else for(ut=B-1;ut>=0;--ut)oo=oo*V+c[cf+ut]}oo=oo*I+L,re=Math.max(re,oo),xe=Math.min(xe,oo);let hr=b.west+Y*Fr;g?hr=a(hr):hr=hr*x;let lf=(hr-A)/(E-A);lf=P.clamp(lf,0,1);let Za=rt*u+Fr;if(d>0){let ut=ps===Jt,jt=ps===en-1,yi=eo||fo||ut||jt;if((eo||fo)&&(ut||jt))continue;yi&&(oo-=d,ut?(Za=et+(f-rt-1),hr-=Ji*k):fo?Za=et+f+(u-Fr-1):jt?(Za=et+f+u+rt,hr+=Ji*k):eo&&(Za=et+f+u+f+Fr))}let up=Nr*t(hr),Wh=Nr*n(hr),$a=Z*up,fp=J*Wh,hp=1/i($a*up+fp*Wh+ms*Jo),Dg=$a*hp,Qv=fp*hp,mn=ms*hp,Ce=new h;Ce.x=Dg+up*oo,Ce.y=Qv+Wh*oo,Ce.z=mn+Jo*oo,F.multiplyByPoint(ye,Ce,dX),h.minimumByComponent(dX,Me,Me),h.maximumByComponent(dX,Oe,Oe),lt=Math.min(lt,oo),wt[Za]=Ce,pt[Za]=new z(lf,hn),mt[Za]=oo,R&&(Xt[Za]=ho),S&&(Te[Za]=m.geodeticSurfaceNormal(Ce))}}let je=ce.fromPoints(wt),vo;l(T)&&(vo=Dn.fromRectangle(T,xe,re,m));let Ho;O&&(Ho=new F_(m).computeHorizonCullingPointPossiblyUnderEllipsoid(D,wt,xe));let wa=new Yg(Me,Oe,D),ke=new vc(D,wa,lt,re,_e,!1,R,S,M,N),at=new Float32Array(Qe*ke.stride),Xe=0;for(let Ke=0;Ke<Qe;++Ke)Xe=ke.encode(at,Xe,wt[Ke],pt[Ke],mt[Ke],void 0,Xt[Ke],Te[Ke]);return{vertices:at,maximumHeight:re,minimumHeight:xe,encoding:ke,boundingSphere3D:je,orientedBoundingBox:vo,occludeePointInScaledSpace:Ho}};var US=Wm;function E0(){de.throwInstantiationError()}Object.defineProperties(E0.prototype,{credits:{get:de.throwInstantiationError},waterMask:{get:de.throwInstantiationError}});E0.prototype.interpolateHeight=de.throwInstantiationError;E0.prototype.isChildAvailable=de.throwInstantiationError;E0.prototype.createMesh=de.throwInstantiationError;E0.prototype.upsample=de.throwInstantiationError;E0.prototype.wasCreatedByUpsampling=de.throwInstantiationError;E0.maximumAsynchronousTasks=5;var wh=E0;function pat(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this.center=e,this.vertices=t,this.stride=y(u,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=o,this.minimumHeight=r,this.maximumHeight=s,this.boundingSphere3D=a,this.occludeePointInScaledSpace=c,this.orientedBoundingBox=f,this.encoding=d,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=g,this.eastIndicesNorthToSouth=m,this.northIndicesWestToEast=x}var sd=pat;function ul(){de.throwInstantiationError()}Object.defineProperties(ul.prototype,{errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},hasWaterMask:{get:de.throwInstantiationError},hasVertexNormals:{get:de.throwInstantiationError},availability:{get:de.throwInstantiationError}});var Bye=[];ul.getRegularGridIndices=function(e,t){let n=Bye[e];l(n)||(Bye[e]=n=[]);let i=n[t];return l(i)||(e*t<P.SIXTY_FOUR_KILOBYTES?i=n[t]=new Uint16Array((e-1)*(t-1)*6):i=n[t]=new Uint32Array((e-1)*(t-1)*6),zye(e,t,i,0)),i};var kye=[];ul.getRegularGridIndicesAndEdgeIndices=function(e,t){let n=kye[e];l(n)||(kye[e]=n=[]);let i=n[t];if(!l(i)){let o=ul.getRegularGridIndices(e,t),r=Uye(e,t),s=r.westIndicesSouthToNorth,a=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,u=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:s,southIndicesEastToWest:a,eastIndicesNorthToSouth:c,northIndicesWestToEast:u}}return i};var Vye=[];ul.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){let n=Vye[e];l(n)||(Vye[e]=n=[]);let i=n[t];if(!l(i)){let o=e*t,r=(e-1)*(t-1)*6,s=e*2+t*2,a=Math.max(0,s-4)*6,c=o+s,u=r+a,f=Uye(e,t),d=f.westIndicesSouthToNorth,p=f.southIndicesEastToWest,g=f.eastIndicesNorthToSouth,m=f.northIndicesWestToEast,x=Fe.createTypedArray(c,u);zye(e,t,x,0),ul.addSkirtIndices(d,p,g,m,o,x,r),i=n[t]={indices:x,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:g,northIndicesWestToEast:m,indexCountWithoutSkirts:r}}return i};ul.addSkirtIndices=function(e,t,n,i,o,r,s){let a=o;s=$H(e,a,r,s),a+=e.length,s=$H(t,a,r,s),a+=t.length,s=$H(n,a,r,s),a+=n.length,$H(i,a,r,s)};function Uye(e,t){let n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e),s;for(s=0;s<e;++s)r[s]=s,i[s]=e*t-1-s;for(s=0;s<t;++s)o[s]=(s+1)*e-1,n[s]=(t-s-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function zye(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let s=0;s<e-1;++s){let a=o,c=a+e,u=c+1,f=a+1;n[i++]=a,n[i++]=c,n[i++]=f,n[i++]=f,n[i++]=c,n[i++]=u,++o}++o}}function $H(e,t,n,i){let o=e[0],r=e.length;for(let s=1;s<r;++s){let a=e[s];n[i++]=o,n[i++]=a,n[i++]=t,n[i++]=t,n[i++]=a,n[i++]=t+1,o=a,++t}return i}ul.heightmapTerrainQuality=.25;ul.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return e.maximumRadius*2*Math.PI*ul.heightmapTerrainQuality/(t*n)};ul.prototype.requestTileGeometry=de.throwInstantiationError;ul.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;ul.prototype.getTileDataAvailable=de.throwInstantiationError;ul.prototype.loadTileDataAvailability=de.throwInstantiationError;var ls=ul;function ig(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=y(e.childTileMask,15),this._encoding=y(e.encoding,od.NONE);let t=US.DEFAULT_STRUCTURE,n=e.structure;l(n)?n!==t&&(n.heightScale=y(n.heightScale,t.heightScale),n.heightOffset=y(n.heightOffset,t.heightOffset),n.elementsPerHeight=y(n.elementsPerHeight,t.elementsPerHeight),n.stride=y(n.stride,t.stride),n.elementMultiplier=y(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=y(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===od.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(ig.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var Hye="createVerticesFromHeightmap",_at=new bi(Hye),gat=new bi(Hye,wh.maximumAsynchronousTasks);ig.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToNativeRectangle(n,i,o),f=t.tileXYToRectangle(n,i,o),d=c.cartographicToCartesian(ae.center(f)),p=this._structure,m=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(m*4,1e3);let b=(a?gat:_at).scheduleTask({heightmap:this._buffer,structure:p,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:u,rectangle:f,relativeToCenter:d,ellipsoid:c,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ri,exaggeration:r,exaggerationRelativeHeight:s,encoding:this._encoding});if(!l(b))return;let T=this;return Promise.resolve(b).then(function(A){let C;T._skirtHeight>0?C=ls.getRegularGridAndSkirtIndicesAndEdgeIndices(A.gridWidth,A.gridHeight):C=ls.getRegularGridIndicesAndEdgeIndices(A.gridWidth,A.gridHeight);let E=A.gridWidth*A.gridHeight;return T._mesh=new sd(d,new Float32Array(A.vertices),C.indices,C.indexCountWithoutSkirts,E,A.minimumHeight,A.maximumHeight,ce.clone(A.boundingSphere3D),h.clone(A.occludeePointInScaledSpace),A.numberOfAttributes,Dn.clone(A.orientedBoundingBox),vc.clone(A.encoding),C.westIndicesSouthToNorth,C.southIndicesEastToWest,C.eastIndicesNorthToSouth,C.northIndicesWestToEast),T._buffer=void 0,T._mesh})};ig.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),u=t.tileXYToRectangle(n,i,o),f=a.cartographicToCartesian(ae.center(u)),d=this._structure,g=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(g*4,1e3);let m=US.computeVertices({heightmap:this._buffer,structure:d,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:c,rectangle:u,relativeToCenter:f,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ri,exaggeration:r,exaggerationRelativeHeight:s});this._buffer=void 0;let x;this._skirtHeight>0?x=ls.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):x=ls.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let b=m.gridWidth*m.gridHeight;return this._mesh=new sd(f,m.vertices,x.indices,x.indexCountWithoutSkirts,b,m.minimumHeight,m.maximumHeight,m.boundingSphere3D,m.occludeePointInScaledSpace,m.encoding.stride,m.orientedBoundingBox,m.encoding,x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),this._mesh};ig.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,u=r.isBigEndian,f=r.heightOffset,d=r.heightScale,p=l(this._mesh),g=this._encoding===od.LERC;if(!p&&g)return;let x;if(p){let b=this._mesh.vertices,T=this._mesh.encoding;x=Gye(b,T,f,d,e,i,o,t,n)}else x=yat(this._buffer,a,c,s,u,e,i,o,t,n),x=x*d+f;return x};ig.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(a))return;let c=this._width,u=this._height,f=this._structure,d=f.stride,p=new this._bufferType(c*u*d),g=a.vertices,m=a.encoding,x=e.tileXYToRectangle(t,n,i),b=e.tileXYToRectangle(o,r,s),T=f.heightOffset,A=f.heightScale,C=f.elementsPerHeight,E=f.elementMultiplier,v=f.isBigEndian,D=Math.pow(E,C-1);for(let O=0;O<u;++O){let R=P.lerp(b.north,b.south,O/(u-1));for(let M=0;M<c;++M){let N=P.lerp(b.west,b.east,M/(c-1)),_=Gye(g,m,T,A,x,c,u,N,R);_=_<f.lowestEncodedHeight?f.lowestEncodedHeight:_,_=_>f.highestEncodedHeight?f.highestEncodedHeight:_,xat(p,C,E,D,d,v,O*c+M,_)}}return Promise.resolve(new ig({buffer:p,width:c,height:u,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};ig.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};ig.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};function yat(e,t,n,i,o,r,s,a,c,u){let f=(c-r.west)*(s-1)/(r.east-r.west),d=(u-r.south)*(a-1)/(r.north-r.south),p=f|0,g=p+1;g>=s&&(g=s-1,p=s-2);let m=d|0,x=m+1;x>=a&&(x=a-1,m=a-2);let b=f-p,T=d-m;m=a-1-m,x=a-1-x;let A=QH(e,t,n,i,o,m*s+p),C=QH(e,t,n,i,o,m*s+g),E=QH(e,t,n,i,o,x*s+p),v=QH(e,t,n,i,o,x*s+g);return Wye(b,T,A,C,E,v)}function Gye(e,t,n,i,o,r,s,a,c){let u=(a-o.west)*(r-1)/(o.east-o.west),f=(c-o.south)*(s-1)/(o.north-o.south),d=u|0,p=d+1;p>=r&&(p=r-1,d=r-2);let g=f|0,m=g+1;m>=s&&(m=s-1,g=s-2);let x=u-d,b=f-g;g=s-1-g,m=s-1-m;let T=(t.decodeHeight(e,g*r+d)-n)/i,A=(t.decodeHeight(e,g*r+p)-n)/i,C=(t.decodeHeight(e,m*r+d)-n)/i,E=(t.decodeHeight(e,m*r+p)-n)/i;return Wye(x,b,T,A,C,E)}function Wye(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function QH(e,t,n,i,o,r){r*=i;let s=0,a;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function xat(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c<t-1;++c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;else for(c=t-1;c>0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var Wa=ig;function GS(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var OT=new ae;function bat(e,t,n,i){let o=i.length;for(let r=0;r<o;++r){let s=i[r];if(s.x===t&&s.y===n&&s.level===e)return!0}return!1}GS.prototype.addAvailableTileRange=function(e,t,n,i,o){let r=this._tilingScheme,s=this._rootNodes;if(e===0)for(let p=n;p<=o;++p)for(let g=t;g<=i;++g)bat(e,g,p,s)||s.push(new zS(r,void 0,0,g,p));r.tileXYToRectangle(t,n,e,OT);let a=OT.west,c=OT.north;r.tileXYToRectangle(i,o,e,OT);let u=OT.east,f=OT.south,d=new Sat(e,a,f,u,c);for(let p=0;p<s.length;++p){let g=s[p];hX(g.extent,d)&&vat(this._maximumLevel,g,d)}};GS.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){let i=this._rootNodes[n];if(HS(i.extent,e)){t=i;break}}return l(t)?PF(void 0,t,e):-1};var Tat=[],Cat=[],Aat=new ae,Eat=new ae;GS.prototype.computeBestAvailableLevelOverRectangle=function(e){let t=Tat;t.length=0,e.east<e.west?(t.push(ae.fromRadians(-Math.PI,e.south,e.east,e.north,Aat)),t.push(ae.fromRadians(e.west,e.south,Math.PI,e.north,Eat))):t.push(e);let n=Cat;n.length=0;let i;for(i=0;i<this._rootNodes.length;++i)RF(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(l(n[i])&&n[i].length===0)return i;return 0};var jye=new fe;GS.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,OT);return ae.center(i,jye),this.computeMaximumLevelAtPosition(jye)>=e};GS.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function zS(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(zS.prototype,{nw:{get:function(){return this._nw||(this._nw=new zS(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new zS(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new zS(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new zS(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function Sat(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function hX(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function vat(e,t,n){for(;t.level<e;)if(JH(t.nw.extent,n))t=t.nw;else if(JH(t.ne.extent,n))t=t.ne;else if(JH(t.sw.extent,n))t=t.sw;else if(JH(t.se.extent,n))t=t.se;else break;if(t.rectangles.length===0||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let i=Lo(t.rectangles,n.level,wat);i<0&&(i=~i),t.rectangles.splice(i,0,n)}}function wat(e,t){return e.level-t}function JH(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function HS(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function PF(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&HS(t._nw.extent,n),s=t._ne&&HS(t._ne.extent,n),a=t._sw&&HS(t._sw.extent,n),c=t._se&&HS(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,PF(t,t._nw,n))),s&&(i=Math.max(i,PF(t,t._ne,n))),a&&(i=Math.max(i,PF(t,t._sw,n))),c&&(i=Math.max(i,PF(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];HS(a,n)&&(i=a.level)}t=t.parent}return i}function RF(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||hX(t.extent,n[i]);if(!o)return;let r=t.rectangles;for(i=0;i<r.length;++i){let s=r[i];e[s.level]||(e[s.level]=n),e[s.level]=Dat(e[s.level],s)}RF(e,t._nw,n),RF(e,t._ne,n),RF(e,t._sw,n),RF(e,t._se,n)}function Dat(e,t){let n=[];for(let i=0;i<e.length;++i){let o=e[i];hX(o,t)?(o.west<t.west&&n.push(new ae(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new ae(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new ae(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new ae(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var Dh=GS;function Iat(e){let t,n=e.name,i=e.message;l(n)&&l(i)?t=`${n}: ${i}`:t=e.toString();let o=e.stack;return l(o)&&(t+=` +${o}`),t}var jm=Iat;function e8(e,t,n,i,o,r,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=o,this.timesRetried=y(r,0),this.retry=!1,this.error=s}e8.reportError=function(e,t,n,i,o,r,s,a){let c=e;return l(e)?(c.provider=t,c.message=i,c.x=o,c.y=r,c.level=s,c.retry=!1,c.error=a,++c.timesRetried):c=new e8(t,i,o,r,s,0,a),l(n)&&n.numberOfListeners>0?n.raiseEvent(c):l(t)&&console.log(`An error occurred in "${t.constructor.name}": ${jm(i)}`),c};e8.reportSuccess=function(e){l(e)&&(e.timesRetried=-1)};var Oo=e8;function S0(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Mi(this._ellipsoid),l(e.rectangleSouthwestInMeters)&&l(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new z(-i,-i),this._rectangleNortheastInMeters=new z(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new ae(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(S0.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});S0.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};S0.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};S0.prototype.rectangleToNativeRectangle=function(e,t){let n=this._projection,i=n.project(ae.southwest(e)),o=n.project(ae.northeast(e));return l(t)?(t.west=i.x,t.south=i.y,t.east=o.x,t.north=o.y,t):new ae(i.x,i.y,o.x,o.y)};S0.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.getNumberOfXTilesAtLevel(n),r=this.getNumberOfYTilesAtLevel(n),s=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,a=this._rectangleSouthwestInMeters.x+e*s,c=this._rectangleSouthwestInMeters.x+(e+1)*s,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,f=this._rectangleNortheastInMeters.y-t*u,d=this._rectangleNortheastInMeters.y-(t+1)*u;return l(i)?(i.west=a,i.south=d,i.east=c,i.north=f,i):new ae(a,d,c,f)};S0.prototype.tileXYToRectangle=function(e,t,n,i){let o=this.tileXYToNativeRectangle(e,t,n,i),r=this._projection,s=r.unproject(new z(o.west,o.south)),a=r.unproject(new z(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o};S0.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ae.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),a=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,d=this._projection.project(e),p=d.x-this._rectangleSouthwestInMeters.x,g=this._rectangleNortheastInMeters.y-d.y,m=p/a|0;m>=o&&(m=o-1);let x=g/u|0;return x>=r&&(x=r-1),l(n)?(n.x=m,n.y=x,n):new z(m,x)};var us=S0;var Pat=15;function qye(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}qye.prototype.build=function(e){e._credit=this.credit,e._tilingScheme=this.tilingScheme,e._height=this.height,e._width=this.width,e._encoding=this.encoding,e._lodCount=this.lodCount,e._hasAvailability=this.hasAvailability,e._tilesAvailable=this.tilesAvailable,e._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._terrainDataStructure=this.terrainDataStructure};function Rat(e,t){let n=t.copyrightText;l(n)&&(e.credit=new At(n));let i=t.spatialReference,o=y(i.latestWkid,i.wkid),r=t.extent,s={ellipsoid:e.ellipsoid};if(o===4326)s.rectangle=ae.fromDegrees(r.xmin,r.ymin,r.xmax,r.ymax),e.tilingScheme=new Xi(s);else if(o===3857){let u=Math.PI*e.ellipsoid.maximumRadius;t.extent.xmax>u&&(t.extent.xmax=u),t.extent.ymax>u&&(t.extent.ymax=u),t.extent.xmin<-u&&(t.extent.xmin=-u),t.extent.ymin<-u&&(t.extent.ymin=-u),s.rectangleSouthwestInMeters=new z(r.xmin,r.ymin),s.rectangleNortheastInMeters=new z(r.xmax,r.ymax),e.tilingScheme=new us(s)}else throw new se("Invalid spatial reference");let a=t.tileInfo;if(!l(a))throw new se("tileInfo is required");e.width=a.rows+1,e.height=a.cols+1,e.encoding=a.format==="LERC"?od.LERC:od.NONE,e.lodCount=a.lods.length-1,(e.hasAvailability=t.capabilities.indexOf("Tilemap")!==-1)&&(e.tilesAvailable=new Dh(e.tilingScheme,e.lodCount),e.tilesAvailable.addAvailableTileRange(0,0,0,e.tilingScheme.getNumberOfXTilesAtLevel(0),e.tilingScheme.getNumberOfYTilesAtLevel(0)),e.tilesAvailabilityLoaded=new Dh(e.tilingScheme,e.lodCount)),e.levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.width,e.tilingScheme.getNumberOfXTilesAtLevel(0)),t.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),l(t.minValues)&&l(t.maxValues)?e.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:t.minValues[0],highestEncodedHeight:t.maxValues[0]}:e.terrainDataStructure={elementMultiplier:1}}async function Oat(e,t,n){try{let i=await t.fetchJson();Rat(e,i)}catch(i){let o=`An error occurred while accessing ${t}.`;throw Oo.reportError(void 0,n,l(n)?n._errorEvent:void 0,o),i}}function v0(e){e=y(e,y.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0,this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._errorEvent=new me}Object.defineProperties(v0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});v0.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=Ae.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&(n=n.getDerivedResource({queryParameters:{token:t.token}}));let i=n.getDerivedResource({queryParameters:{f:"pjson"}}),o=new qye(t);await Oat(o,i);let r=new v0(t);return o.build(r),r._resource=n,r};v0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!l(mX(this,n+1,e*2,t*2))){let d=Yye(this,n+1,e*2,t*2);s=d.promise,a=d.request}let c=o.fetchArrayBuffer();if(!l(c)||!l(s))return;let u=this,f=this._tilesAvailable;return Promise.all([c,s]).then(function(d){return new Wa({buffer:d[0],width:u._width,height:u._height,childTileMask:r?f.computeChildMaskForTile(n,e,t):Pat,structure:u._terrainDataStructure,encoding:u._encoding})}).catch(async function(d){if(l(a)&&a.state===Jn.CANCELLED){i.cancel();try{await i.deferred?.promise}catch{}return i.state=Jn.CANCELLED,Promise.reject(d)}return Promise.reject(d)})};function mX(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailabilityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}v0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};v0.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;let i=mX(this,n,e,t);if(l(i))return i;Yye(this,n,e,t)};v0.prototype.loadTileDataAvailability=function(e,t,n){};function Mat(e,t,n,i){let o=t-1,r=n-1,s=i[e.y*t+e.x],a=[],c={startX:e.x,startY:e.y,endX:0,endY:0},u=new z(e.x+1,e.y+1),f=!1,d=!1;for(;!(f&&d);){let p=u.x,g=d?u.y+1:u.y;if(!f){for(let m=e.y;m<g;++m)if(i[m*t+u.x]!==s){f=!0;break}f?(a.push(new z(u.x,e.y)),--u.x,--p,c.endX=u.x):u.x===o?(c.endX=u.x,f=!0):++u.x}if(!d){let m=u.y*t;for(let x=e.x;x<=p;++x)if(i[m+x]!==s){d=!0;break}d?(a.push(new z(e.x,u.y)),--u.y,c.endY=u.y):u.y===r?(c.endY=u.y,d=!0):++u.y}}return{endingIndices:a,range:c,value:s}}function Lat(e,t,n,i,o){let r=[];if(o.every(function(c){return c===o[0]}))return o[0]===1&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let a=[new z(0,0)];for(;a.length>0;){let c=a.pop(),u=Mat(c,n,i,o);if(u.value===1){let d=u.range;d.startX+=e,d.endX+=e,d.startY+=t,d.endY+=t,r.push(d)}let f=u.endingIndices;f.length>0&&(a=a.concat(f))}return r}function Yye(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<<t,128),a=`tilemap/${t}/${r}/${o}/${s}/${s}`,c=e._availableCache;if(l(c[a]))return c[a];let u=new er({throttle:!1,throttleByServer:!0,type:_s.TERRAIN}),d=e._resource.getDerivedResource({url:a,request:u}).fetchJson();return l(d)?(d=d.then(function(p){let g=Lat(o,r,s,s,p.data);e._tilesAvailabilityLoaded.addAvailableTileRange(t,o,r,o+s,r+s);let m=e._tilesAvailable;for(let x=0;x<g.length;++x){let b=g[x];m.addAvailableTileRange(t,b.startX,b.startY,b.endX,b.endY)}return mX(e,t,n,i)}),c[a]={promise:d,request:u},d=d.finally(function(p){return delete c[a],p}),{promise:d,request:u}):{}}var pX=v0;var Xye="https://dev.virtualearth.net/REST/v1/Locations";function _X(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._key=t;let n={key:t};l(e.culture)&&(n.culture=e.culture),this._resource=new Ae({url:Xye,queryParameters:n}),this._credit=new At('<img src="http://dev.virtualearth.net/Branding/logo_powered_by.png"/>',!1)}Object.defineProperties(_X.prototype,{url:{get:function(){return Xye}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});_X.prototype.geocode=async function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],u=r[3];return{displayName:o.name,destination:ae.fromDegrees(a,s,u,c)}})})};var gX=_X;function yX(){}Object.defineProperties(yX.prototype,{credit:{get:function(){}}});yX.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s<t.length;++s){let a=t[s].match(r);r.test(t[s])&&a.length===3&&(/^[ns]/i.test(a[2])?i=/^[n]/i.test(a[2])?+a[1]:-a[1]:/^[ew]/i.test(a[2])&&(n=/^[e]/i.test(a[2])?+a[1]:-a[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){let r={displayName:e,destination:h.fromDegrees(n,i,o)};return Promise.resolve([r])}}return Promise.resolve([])};var xX=yX;var Nat=new ie,Kye=new h,WS=new h;function Fat(e){let t=e.points,n=e.times;if(t.length<3){let i=n[0],o=1/(n[1]-i),r=t[0],s=t[1];return function(a,c){l(c)||(c=new h);let u=(a-i)*o;return h.lerp(r,s,u,c)}}return function(i,o){l(o)||(o=new h);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=Nat;a.z=s,a.y=s*s,a.x=a.y*s,a.w=1;let c,u,f,d,p;return r===0?(c=t[0],u=t[1],f=e.firstTangent,d=h.subtract(t[2],c,Kye),h.multiplyByScalar(d,.5,d),p=F.multiplyByVector(Sy.hermiteCoefficientMatrix,a,a)):r===t.length-2?(c=t[r],u=t[r+1],d=e.lastTangent,f=h.subtract(u,t[r-1],Kye),h.multiplyByScalar(f,.5,f),p=F.multiplyByVector(Sy.hermiteCoefficientMatrix,a,a)):(c=t[r-1],u=t[r],f=t[r+1],d=t[r+2],p=F.multiplyByVector(w0.catmullRomCoefficientMatrix,a,a)),o=h.multiplyByScalar(c,p.x,o),h.multiplyByScalar(u,p.y,WS),h.add(o,WS,o),h.multiplyByScalar(f,p.z,WS),h.add(o,WS,o),h.multiplyByScalar(d,p.w,WS),h.add(o,WS,o)}}var Bat=new h,kat=new h;function w0(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.firstTangent,o=e.lastTangent;if(t.length>2&&(l(i)||(i=Bat,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!l(o))){let r=t.length-1;o=kat,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=Fat(this),this._lastTimeIndex=0}Object.defineProperties(w0.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});w0.catmullRomCoefficientMatrix=new F(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);w0.prototype.findTimeInterval=co.prototype.findTimeInterval;w0.prototype.wrapTime=co.prototype.wrapTime;w0.prototype.clampTime=co.prototype.clampTime;w0.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var bX=w0;var t8={};t8.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){l(r)?r.length=0:r=[];let s,a,c;t?(s=n<e,a=i<e,c=o<e):(s=n>e,a=i>e,c=o>e);let u=s+a+c,f,d,p,g,m,x;return u===1?s?(f=(e-n)/(i-n),d=(e-n)/(o-n),r.push(1),r.push(2),d!==1&&(r.push(-1),r.push(0),r.push(2),r.push(d)),f!==1&&(r.push(-1),r.push(0),r.push(1),r.push(f))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(m=(e-o)/(n-o),x=(e-o)/(i-o),r.push(0),r.push(1),x!==1&&(r.push(-1),r.push(2),r.push(1),r.push(x)),m!==1&&(r.push(-1),r.push(2),r.push(0),r.push(m))):u===2?!s&&n!==e?(g=(e-i)/(n-i),m=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(m)):!a&&i!==e?(x=(e-o)/(i-o),f=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(x),r.push(-1),r.push(0),r.push(1),r.push(f)):!c&&o!==e&&(d=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(d),r.push(-1),r.push(1),r.push(2),r.push(p)):u!==3&&(r.push(0),r.push(1),r.push(2)),r};t8.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let u=n-s,f=s-o,d=r-a,p=i-a,g=1/(d*u+f*p),m=t-a,x=e-s,b=(d*x+f*m)*g,T=(-p*x+u*m)*g,A=1-b-T;return l(c)?(c.x=b,c.y=T,c.z=A,c):new h(b,T,A)};t8.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let u=(s-o)*(t-r)-(a-r)*(e-o),f=(n-e)*(t-r)-(i-t)*(e-o),d=(a-r)*(n-e)-(s-o)*(i-t);if(d===0)return;let p=u/d,g=f/d;if(p>=0&&p<=1&&g>=0&&g<=1)return l(c)||(c=new z),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var og=t8;function D0(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=i8(e.westIndices,o,t),this._southIndices=i8(e.southIndices,r,t),this._eastIndices=i8(e.eastIndices,o,t),this._northIndices=i8(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(D0.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return l(this._mesh)}}});var n8=[];function i8(e,t,n){n8.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)n8[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(n8.sort(t),Fe.createTypedArray(n,n8)):e}var Zye="createVerticesFromQuantizedTerrainMesh",Vat=new bi(Zye),Uat=new bi(Zye,wh.maximumAsynchronousTasks);D0.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToRectangle(n,i,o),d=(a?Uat:Vat).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:u,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!l(d))return;let p=this;return Promise.resolve(d).then(function(g){let m=p._quantizedVertices.length/3,x=m+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,b=Fe.createTypedArray(x,g.indices),T=new Float32Array(g.vertices),A=g.center,C=g.minimumHeight,E=g.maximumHeight,v=p._boundingSphere,D=p._orientedBoundingBox,O=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),R=g.vertexStride,M=vc.clone(g.encoding);return p._mesh=new sd(A,T,b,g.indexCountWithoutSkirts,m,C,E,v,O,R,D,M,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var zat=new bi("upsampleQuantizedTerrainMesh",wh.maximumAsynchronousTasks);D0.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=zat.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let m=c?g*.5:this._westSkirtHeight,x=u?g*.5:this._southSkirtHeight,b=c?this._eastSkirtHeight:g*.5,T=u?this._northSkirtHeight:g*.5,A=this._credits;return Promise.resolve(p).then(function(C){let E=new Uint16Array(C.vertices),v=Fe.createTypedArray(E.length/3,C.indices),D;return l(C.encodedNormals)&&(D=new Uint8Array(C.encodedNormals)),new D0({quantizedVertices:E,indices:v,encodedNormals:D,minimumHeight:C.minimumHeight,maximumHeight:C.maximumHeight,boundingSphere:ce.clone(C.boundingSphere),orientedBoundingBox:Dn.clone(C.orientedBoundingBox),horizonOcclusionPoint:h.clone(C.horizonOcclusionPoint),westIndices:C.westIndices,southIndices:C.southIndices,eastIndices:C.eastIndices,northIndices:C.northIndices,westSkirtHeight:m,southSkirtHeight:x,eastSkirtHeight:b,northSkirtHeight:T,childTileMask:0,credits:A,createdByUpsampling:!0})})};var TX=32767,$ye=new h;D0.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1);i*=TX;let o=P.clamp((n-e.south)/e.height,0,1);return o*=TX,l(this._mesh)?jat(this,i,o):qat(this,i,o)};function Qye(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),u=Math.max(n,o,s),f=Math.min(i,r,a),d=Math.max(i,r,a);return e>=c&&e<=u&&t>=f&&t<=d}var Hat=new z,Gat=new z,Wat=new z;function jat(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,Hat),g=r.decodeTextureCoordinates(o,f,Gat),m=r.decodeTextureCoordinates(o,d,Wat);if(Qye(t,n,p.x,p.y,g.x,g.y,m.x,m.y)){let x=og.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,$ye);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),A=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*A}}}}function qat(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=i[u],g=i[f],m=i[d],x=o[u],b=o[f],T=o[d];if(Qye(t,n,p,x,g,b,m,T)){let A=og.computeBarycentricCoordinates(t,n,p,x,g,b,m,T,$ye);if(A.x>=-1e-15&&A.y>=-1e-15&&A.z>=-1e-15){let C=A.x*r[u]+A.y*r[f]+A.z*r[d];return P.lerp(e._minimumHeight,e._maximumHeight,C/TX)}}}}D0.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};D0.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var MT=D0;function Yat(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function e0e(e){this.requestVertexNormals=y(e.requestVertexNormals,!1),this.requestWaterMask=y(e.requestWaterMask,!1),this.requestMetadata=y(e.requestMetadata,!0),this.ellipsoid=y(e.ellipsoid,ee.default),this.heightmapWidth=65,this.heightmapStructure=void 0,this.hasWaterMask=!1,this.hasMetadata=!1,this.hasVertexNormals=!1,this.scheme=void 0,this.lastResource=void 0,this.layerJsonResource=void 0,this.previousError=void 0,this.availability=void 0,this.tilingScheme=void 0,this.levelZeroMaximumGeometricError=void 0,this.heightmapStructure=void 0,this.layers=[],this.attribution="",this.overallAvailability=[],this.overallMaxZoom=0,this.tileCredits=[]}e0e.prototype.build=function(e){e._heightmapWidth=this.heightmapWidth,e._scheme=this.scheme;let t=l(this.lastResource.credits)?this.lastResource.credits:[];e._tileCredits=t.concat(this.tileCredits),e._availability=this.availability,e._tilingScheme=this.tilingScheme,e._requestWaterMask=this.requestWaterMask,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._heightmapStructure=this.heightmapStructure,e._layers=this.layers,e._hasWaterMask=this.hasWaterMask,e._hasVertexNormals=this.hasVertexNormals,e._hasMetadata=this.hasMetadata};async function t0e(e,t,n){if(!t.format){let x="The tile format is not specified in the layer.json file.";throw e.previousError=Oo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}if(!t.tiles||t.tiles.length===0){let x="The layer.json file does not specify any tile URL templates.";throw e.previousError=Oo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}let i=!1,o=!1,r=!1,s=!0,a=!1;if(t.format==="heightmap-1.0")a=!0,l(e.heightmapStructure)||(e.heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),o=!0,e.requestWaterMask=!0;else if(t.format.indexOf("quantized-mesh-1.")!==0){let x=`The tile format "${t.format}" is invalid or not supported.`;throw e.previousError=Oo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}let c=t.tiles,u=t.maxzoom;if(e.overallMaxZoom=Math.max(e.overallMaxZoom,u),!t.projection||t.projection==="EPSG:4326")e.tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else if(t.projection==="EPSG:3857")e.tilingScheme=new us({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else{let x=`The projection "${t.projection}" is invalid or not supported.`;throw e.previousError=Oo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}if(e.levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.heightmapWidth,e.tilingScheme.getNumberOfXTilesAtLevel(0)),!t.scheme||t.scheme==="tms"||t.scheme==="slippyMap")e.scheme=t.scheme;else{let x=`The scheme "${t.scheme}" is invalid or not supported.`;throw e.previousError=Oo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}let f;l(t.extensions)&&t.extensions.indexOf("octvertexnormals")!==-1?i=!0:l(t.extensions)&&t.extensions.indexOf("vertexnormals")!==-1&&(i=!0,s=!1),l(t.extensions)&&t.extensions.indexOf("watermask")!==-1&&(o=!0),l(t.extensions)&&t.extensions.indexOf("metadata")!==-1&&(r=!0);let d=t.metadataAvailability,p=t.available,g;if(l(p)&&!l(d)){g=new Dh(e.tilingScheme,p.length);for(let x=0;x<p.length;++x){let b=p[x],T=e.tilingScheme.getNumberOfYTilesAtLevel(x);l(e.overallAvailability[x])||(e.overallAvailability[x]=[]);for(let A=0;A<b.length;++A){let C=b[A],E=T-C.endY-1,v=T-C.startY-1;e.overallAvailability[x].push([C.startX,E,C.endX,v]),g.addAvailableTileRange(x,C.startX,E,C.endX,v)}}}else l(d)&&(f=new Dh(e.tilingScheme,u),g=new Dh(e.tilingScheme,u),e.overallAvailability[0]=[[0,0,1,0]],g.addAvailableTileRange(0,0,0,1,0));e.hasWaterMask=e.hasWaterMask||o,e.hasVertexNormals=e.hasVertexNormals||i,e.hasMetadata=e.hasMetadata||r,l(t.attribution)&&(e.attribution.length>0&&(e.attribution+=" "),e.attribution+=t.attribution),e.layers.push(new Yat({resource:e.lastResource,version:t.version,isHeightmap:a,tileUrlTemplates:c,availability:g,hasVertexNormals:i,hasWaterMask:o,hasMetadata:r,availabilityLevels:d,availabilityTilesLoaded:f,littleEndianExtensionSize:s}));let m=t.parentUrl;return l(m)?l(g)?(e.lastResource=e.lastResource.getDerivedResource({url:m}),e.lastResource.appendForwardSlash(),e.layerJsonResource=e.lastResource.getDerivedResource({url:"layer.json"}),await EX(e),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function Xat(e,t,n){let i=`An error occurred while accessing ${e.layerJsonResource.url}.`;if(l(t)&&(i+=` +${t.message}`),e.previousError=Oo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,i),e.previousError.retry)return EX(e,n);throw new se(i)}async function Kat(e,t,n){await t0e(e,t,n);let i=e.overallAvailability.length;if(i>0){let o=e.availability=new Dh(e.tilingScheme,e.overallMaxZoom);for(let r=0;r<i;++r){let s=e.overallAvailability[r];for(let a=0;a<s.length;++a){let c=s[a];o.addAvailableTileRange(r,c[0],c[1],c[2],c[3])}}}if(e.attribution.length>0){let o=new At(e.attribution);e.tileCredits.push(o)}return!0}async function EX(e,t){try{let n=await e.layerJsonResource.fetchJson();return Kat(e,n,t)}catch(n){return l(n)&&n.statusCode===404?(await t0e(e,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},t),!0):Xat(e,n,t)}}function Ih(e){e=y(e,y.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new me;let t=e.credit;typeof t=="string"&&(t=new At(t)),this._credit=t,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._tileCredits=void 0}var CX={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function Jye(e){return!l(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function Zat(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new Wa({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function $at(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,u=c+1,f=Float64Array.BYTES_PER_ELEMENT*c,d=Float64Array.BYTES_PER_ELEMENT*u,g=Uint16Array.BYTES_PER_ELEMENT*3,m=3,x=Uint16Array.BYTES_PER_ELEMENT,b=x*m,T=new DataView(t),A=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let C=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let E=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let v=new ce(new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0)),T.getFloat64(a+f,!0));a+=d;let D=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let O=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let R=new Uint16Array(t,a,O*3);a+=O*g,O>64*1024&&(x=Uint32Array.BYTES_PER_ELEMENT,b=x*m);let M=R.subarray(0,O),N=R.subarray(O,2*O),_=R.subarray(O*2,3*O);Nn.zigZagDeltaDecode(M,N,_),a%x!==0&&(a+=x-a%x);let S=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let w=Fe.createTypedArrayFromArrayBuffer(O,t,a,S*m);a+=S*b;let I=0,L=w.length;for(let re=0;re<L;++re){let _e=w[re];w[re]=I-_e,_e===0&&++I}let B=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let U=Fe.createTypedArrayFromArrayBuffer(O,t,a,B);a+=B*x;let V=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let G=Fe.createTypedArrayFromArrayBuffer(O,t,a,V);a+=V*x;let k=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let W=Fe.createTypedArrayFromArrayBuffer(O,t,a,k);a+=k*x;let Y=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let Q=Fe.createTypedArrayFromArrayBuffer(O,t,a,Y);a+=Y*x;let j,Z;for(;a<T.byteLength;){let re=T.getUint8(a,!0);a+=Uint8Array.BYTES_PER_ELEMENT;let _e=T.getUint32(a,s);if(a+=Uint32Array.BYTES_PER_ELEMENT,re===CX.OCT_VERTEX_NORMALS&&e._requestVertexNormals)j=new Uint8Array(t,a,O*2);else if(re===CX.WATER_MASK&&e._requestWaterMask)Z=new Uint8Array(t,a,_e);else if(re===CX.METADATA&&e._requestMetadata){let ye=T.getUint32(a,!0);if(ye>0){let we=Bo(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,ye).available;if(l(we))for(let Me=0;Me<we.length;++Me){let Oe=n+Me+1,lt=we[Me],et=e._tilingScheme.getNumberOfYTilesAtLevel(Oe);for(let vt=0;vt<lt.length;++vt){let Qe=lt[vt],wt=et-Qe.endY-1,mt=et-Qe.startY-1;e.availability.addAvailableTileRange(Oe,Qe.startX,wt,Qe.endX,mt),r.availability.addAvailableTileRange(Oe,Qe.startX,wt,Qe.endX,mt)}}}r.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}a+=_e}let J=e.getLevelMaximumGeometricError(n)*5,he=e._tilingScheme.tileXYToRectangle(i,o,n),xe=Dn.fromRectangle(he,C,E,e._tilingScheme.ellipsoid);return new MT({center:A,minimumHeight:C,maximumHeight:E,boundingSphere:v,orientedBoundingBox:xe,horizonOcclusionPoint:D,quantizedVertices:R,encodedNormals:j,indices:w,westIndices:U,southIndices:G,eastIndices:W,northIndices:Q,westSkirtHeight:J,southSkirtHeight:J,eastSkirtHeight:J,northSkirtHeight:J,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:Z,credits:e._tileCredits})}Ih.prototype.requestTileGeometry=function(e,t,n,i){let o=this._layers,r,s=o.length,a=!1,c=Promise.resolve();if(s===1)r=o[0];else for(let u=0;u<s;++u){let f=o[u];if(!l(f.availability)||f.availability.isTileAvailable(n,e,t)){r=f;break}let d=SX(this,e,t,n,f,u===0);d.result&&(a=!0,c=c.then(()=>d.promise))}return!l(r)&&a?c.then(()=>new Promise(u=>{setTimeout(()=>{let f=this.requestTileGeometry(e,t,n,i);u(f)},0)})):n0e(this,e,t,n,r,i)};function n0e(e,t,n,i,o,r){if(!l(o))return Promise.reject(new se("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let u,f,d=s[(t+a+i)%s.length],p=o.resource;l(p._ionEndpoint)&&!l(p._ionEndpoint.externalType)?(c.length!==0&&(f={extensions:c.join("-")}),u=Jye(void 0)):u=Jye(c);let g=p.getDerivedResource({url:d,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:f,headers:u,request:r}).fetchArrayBuffer();if(l(g))return g.then(function(m){return l(m)?l(e._heightmapStructure)?Zat(e,m,i,t,n):$at(e,m,i,t,n,o):Promise.reject(new se("Mesh buffer doesn't exist."))})}Object.defineProperties(Ih.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Ih.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Ih.fromIonAssetId=async function(e,t){let n=await _u.fromAssetId(e);return Ih.fromUrl(n,t)};Ih.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=Ae.createIfNeeded(e);n.appendForwardSlash();let i=new e0e(t);i.lastResource=n,i.layerJsonResource=i.lastResource.getDerivedResource({url:"layer.json"}),await EX(i);let o=new Ih(t);return i.build(o),o};Ih.prototype.getTileDataAvailable=function(e,t,n){if(!l(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;r<o;++r)if(SX(this,e,t,n,i[r],r===0).result)return;return!1};Ih.prototype.loadTileDataAvailability=function(e,t,n){if(!l(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r<o;++r){let s=SX(this,e,t,n,i[r],r===0);if(l(s.promise))return s.promise}};function AX(e,t,n,i){if(i===0)return;let o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,s=1<<i-r,a=t/s|0,c=n/s|0;return{level:r,x:a,y:c}}function SX(e,t,n,i,o,r){if(!l(o.availabilityLevels))return{result:!1};let s,a=function(){delete o.availabilityPromiseCache[s]},c=o.availabilityTilesLoaded,u=o.availability,f=AX(o,t,n,i);for(;l(f);){if(u.isTileAvailable(f.level,f.x,f.y)&&!c.isTileAvailable(f.level,f.x,f.y)){let d;if(!r&&(s=`${f.level}-${f.x}-${f.y}`,d=o.availabilityPromiseCache[s],!l(d))){let p=new er({throttle:!1,throttleByServer:!0,type:_s.TERRAIN});d=n0e(e,f.x,f.y,f.level,o,p),l(d)&&(o.availabilityPromiseCache[s]=d,d.then(a))}return{result:!0,promise:d}}f=AX(o,f.x,f.y,f.level)}return{result:!1}}Ih._getAvailabilityTile=AX;var LT=Ih;function rg(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new sl(n),this._workerName="createCircleGeometry"}rg.packedLength=sl.packedLength;rg.pack=function(e,t,n){return sl.pack(e._ellipseGeometry,t,n)};var i0e=new sl({center:new h,semiMajorAxis:1,semiMinorAxis:1}),ja={center:new h,radius:void 0,ellipsoid:ee.clone(ee.default),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new Ie,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};rg.unpack=function(e,t,n){let i=sl.unpack(e,t,i0e);return ja.center=h.clone(i._center,ja.center),ja.ellipsoid=ee.clone(i._ellipsoid,ja.ellipsoid),ja.ellipsoid=ee.clone(i._ellipsoid,i0e._ellipsoid),ja.height=i._height,ja.extrudedHeight=i._extrudedHeight,ja.granularity=i._granularity,ja.vertexFormat=Ie.clone(i._vertexFormat,ja.vertexFormat),ja.stRotation=i._stRotation,ja.shadowVolume=i._shadowVolume,l(n)?(ja.semiMajorAxis=i._semiMajorAxis,ja.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new sl(ja),n):(ja.radius=i._semiMajorAxis,new rg(ja))};rg.createGeometry=function(e){return sl.createGeometry(e._ellipseGeometry)};rg.createShadowVolume=function(e,t,n){let i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),s=n(i,o);return new rg({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Ie.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(rg.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var vX=rg;function jS(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new Fu(n),this._workerName="createCircleOutlineGeometry"}jS.packedLength=Fu.packedLength;jS.pack=function(e,t,n){return Fu.pack(e._ellipseGeometry,t,n)};var Qat=new Fu({center:new h,semiMajorAxis:1,semiMinorAxis:1}),ju={center:new h,radius:void 0,ellipsoid:ee.clone(ee.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};jS.unpack=function(e,t,n){let i=Fu.unpack(e,t,Qat);return ju.center=h.clone(i._center,ju.center),ju.ellipsoid=ee.clone(i._ellipsoid,ju.ellipsoid),ju.height=i._height,ju.extrudedHeight=i._extrudedHeight,ju.granularity=i._granularity,ju.numberOfVerticalLines=i._numberOfVerticalLines,l(n)?(ju.semiMajorAxis=i._semiMajorAxis,ju.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Fu(ju),n):(ju.radius=i._semiMajorAxis,new jS(ju))};jS.createGeometry=function(e){return Fu.createGeometry(e._ellipseGeometry)};var wX=jS;function Jat(e){return e=y(e,y.EMPTY_OBJECT),LT.fromIonAssetId(2426648,{requestVertexNormals:y(e.requestVertexNormals,!1)})}var OF=Jat;function ect(e){return e=y(e,y.EMPTY_OBJECT),LT.fromIonAssetId(1,{requestVertexNormals:y(e.requestVertexNormals,!1),requestWaterMask:y(e.requestWaterMask,!1),ellipsoid:ee.WGS84})}var NT=ect;function qS(e){e=y(e,y.EMPTY_OBJECT),this._callback=e.callback,this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Xi({ellipsoid:y(e.ellipsoid,ee.default)})),this._width=e.width,this._height=e.height;let t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me;let n=e.credit;typeof n=="string"&&(n=new At(n)),this._credit=n}Object.defineProperties(qS.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});qS.prototype.requestTileGeometry=function(e,t,n,i){let o=this._callback(e,t,n);if(!l(o))return;let r=this._width,s=this._height;return Promise.resolve(o).then(function(a){let c=a;return Array.isArray(c)&&(c=new Float64Array(c)),new Wa({buffer:c,width:r,height:s})})};qS.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};qS.prototype.getTileDataAvailable=function(e,t,n){};qS.prototype.loadTileDataAvailability=function(e,t,n){};var DX=qS;var tct=1953029805,nct=2917034100;function IX(e,t){if(IX.passThroughDataForTesting)return t;let n=e.byteLength;if(n===0||n%4!==0)throw new se("The length of key must be greater than 0 and a multiple of 4.");let i=new DataView(t),o=i.getUint32(0,!0);if(o===tct||o===nct)return t;let r=new DataView(e),s=0,a=t.byteLength,c=a-a%8,u=n,f,d=8;for(;s<c;)for(d=(d+8)%24,f=d;s<c&&f<u;)i.setUint32(s,i.getUint32(s,!0)^r.getUint32(f,!0),!0),i.setUint32(s+4,i.getUint32(s+4,!0)^r.getUint32(f+4,!0),!0),s+=8,f+=24;if(s<a)for(f>=u&&(d=(d+8)%24,f=d);s<a;)i.setUint8(s,i.getUint8(s)^r.getUint8(f)),s++,f++}IX.passThroughDataForTesting=!1;var MF=IX;function o0e(e){this.proxy=e}o0e.prototype.getURL=function(e){let t=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+t+encodeURIComponent(e)};var PX=o0e;function Ph(e){this._comparator=e.comparator,this._maximumLength=e.maximumLength,this._array=l(e.maximumLength)?new Array(e.maximumLength):[],this._length=0}Object.defineProperties(Ph.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(e){if(l(e)){for(;this._length>e;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});Ph.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new Ph({comparator:t,maximumLength:e});o._length=i;for(let r=0;r<i;r++)o._array[r]=n[r];return o};Ph.prototype.reset=function(){this._length=0;let e=this._maximumLength;if(l(e))for(let t=0;t<e;t++)this._array[t]=void 0;else this._array.length=0};Ph.prototype.resort=function(){let e=this._length;for(let t=0;t<e;t++)r0e(this,t)};Ph.prototype.insert=function(e){let t,n=this._maximumLength;if(l(n)){if(n===0)return;if(this._length===n){let o=this._array[0];if(this._comparator(e,o)<=0)return e;t=this.removeMinimum()}}let i=this._length;return this._array[i]=e,this._length++,r0e(this,i),t};Ph.prototype.removeMinimum=function(){let e=this._length;if(e===0)return;this._length--;let t=this._array[0];return e>=2&&(this._array[0]=this._array[e-1],s0e(this,0)),this._array[e-1]=void 0,t};Ph.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=RX(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&s0e(this,n)}return this._array[e-1]=void 0,t};Ph.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};Ph.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[RX(this,1,2)?1:2]};function o8(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function LF(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function RX(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function r0e(e,t){if(t===0)return;let n=Math.floor(P.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=LF(e,t,i);for(o!==n&&(o8(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(LF(e,t,r)!==o)break;o8(e,t,r),t=r}}function s0e(e,t){let n=e._length,i=Math.floor(P.log2(t+1))%2===0,o;for(;(o=2*t+1)<n;){let r=o,s=o+1;if(s<n){LF(e,s,r)===i&&(r=s);let a=2*o+1,c=Math.max(Math.min(n-a,4),0);for(let u=0;u<c;u++){let f=a+u;LF(e,f,r)===i&&(r=f)}}if(LF(e,r,t)===i&&(o8(e,r,t),r!==o&&r!==s)){let a=Math.floor((r-1)/2);RX(e,r,a)===i&&o8(e,r,a)}t=r}}var FT=Ph;function YS(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Xi({ellipsoid:y(e.ellipsoid,ee.default)})),this._levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me}Object.defineProperties(YS.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});YS.prototype.requestTileGeometry=function(e,t,n,i){return Promise.resolve(new Wa({buffer:new Uint8Array(16*16),width:16,height:16}))};YS.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};YS.prototype.getTileDataAvailable=function(e,t,n){};YS.prototype.loadTileDataAvailability=function(e,t,n){};var BT=YS;function qm(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new bs,this._perspectiveMatrix=new F,this._infinitePerspective=new F}function OX(e){let{top:t,bottom:n,right:i,left:o,near:r,far:s}=e;(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||r!==e._near||s!==e._far)&&(e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=r,e._far=s,e._perspectiveMatrix=F.computePerspectiveOffCenter(o,i,n,t,r,s,e._perspectiveMatrix),e._infinitePerspective=F.computeInfinitePerspectiveOffCenter(o,i,n,t,r,e._infinitePerspective))}Object.defineProperties(qm.prototype,{projectionMatrix:{get:function(){return OX(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return OX(this),this._infinitePerspective}}});var ict=new h,oct=new h,rct=new h,sct=new h;qm.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,ict),d=oct;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=rct;h.multiplyByScalar(t,u,p),h.add(e,p,p);let g=sct;h.multiplyByScalar(f,a,g),h.add(d,g,g),h.subtract(g,e,g),h.normalize(g,g),h.cross(g,n,g),h.normalize(g,g);let m=i[0];return l(m)||(m=i[0]=new ie),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(f,s,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(n,g,g),h.normalize(g,g),m=i[1],l(m)||(m=i[1]=new ie),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,r,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(f,g,g),h.normalize(g,g),m=i[2],l(m)||(m=i[2]=new ie),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,o,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(g,f,g),h.normalize(g,g),m=i[3],l(m)||(m=i[3]=new ie),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),m=i[4],l(m)||(m=i[4]=new ie),m.x=t.x,m.y=t.y,m.z=t.z,m.w=-h.dot(t,d),h.negate(t,g),m=i[5],l(m)||(m=i[5]=new ie),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,p),this._cullingVolume};qm.prototype.getPixelDimensions=function(e,t,n,i,o){OX(this);let r=1/this.near,s=this.top*r,a=2*i*n*s/t;s=this.right*r;let c=2*i*n*s/e;return o.x=c,o.y=a,o};qm.prototype.clone=function(e){return l(e)||(e=new qm),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};qm.prototype.equals=function(e){return l(e)&&e instanceof qm&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};qm.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof qm&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var fl=qm;function Kl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new fl,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this.xOffset=y(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=y(e.yOffset,0),this._yOffset=this.yOffset}Kl.packedLength=6;Kl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};Kl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Kl),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function Rh(e){if(!(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset))return;e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset;let n=e._offCenterFrustum;n.top=e.near*Math.tan(.5*e._fovy),n.bottom=-n.top,n.right=e.aspectRatio*n.top,n.left=-n.right,n.near=e.near,n.far=e.far,n.right+=e.xOffset,n.left+=e.xOffset,n.top+=e.yOffset,n.bottom+=e.yOffset}Object.defineProperties(Kl.prototype,{projectionMatrix:{get:function(){return Rh(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return Rh(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return Rh(this),this._fovy}},sseDenominator:{get:function(){return Rh(this),this._sseDenominator}},offCenterFrustum:{get:function(){return Rh(this),this._offCenterFrustum}}});Kl.prototype.computeCullingVolume=function(e,t,n){return Rh(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Kl.prototype.getPixelDimensions=function(e,t,n,i,o){return Rh(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Kl.prototype.clone=function(e){return l(e)||(e=new Kl),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Kl.prototype.equals=function(e){return!l(e)||!(e instanceof Kl)?!1:(Rh(this),Rh(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Kl.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Kl)?!1:(Rh(this),Rh(e),P.equalsEpsilon(this.fov,e.fov,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var Pi=Kl;var r8=0,act=1;function kT(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e.vertexFormat,Ie.DEFAULT),r=y(e._drawNearPlane,!0),s,a;t instanceof Pi?(s=r8,a=Pi.packedLength):t instanceof cn&&(s=act,a=cn.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=r,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+h.packedLength+Le.packedLength+Ie.packedLength}kT.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===r8?(Pi.pack(o,t,n),n+=Pi.packedLength):(cn.pack(o,t,n),n+=cn.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,Ie.pack(e._vertexFormat,t,n),n+=Ie.packedLength,t[n]=e._drawNearPlane?1:0,t};var cct=new Pi,lct=new cn,uct=new Le,fct=new h,dct=new Ie;kT.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===r8?(o=Pi.unpack(e,t,cct),t+=Pi.packedLength):(o=cn.unpack(e,t,lct),t+=cn.packedLength);let r=h.unpack(e,t,fct);t+=h.packedLength;let s=Le.unpack(e,t,uct);t+=Le.packedLength;let a=Ie.unpack(e,t,dct);t+=Ie.packedLength;let c=e[t]===1;if(!l(n))return new kT({frustum:o,origin:r,orientation:s,vertexFormat:a,_drawNearPlane:c});let u=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(u),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._vertexFormat=Ie.clone(a,n._vertexFormat),n._drawNearPlane=c,n};function XS(e,t,n,i,o,r,s,a){let c=e/3*2;for(let u=0;u<4;++u)l(t)&&(t[e]=r.x,t[e+1]=r.y,t[e+2]=r.z),l(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),l(i)&&(i[e]=a.x,i[e+1]=a.y,i[e+2]=a.z),e+=3;o[c]=0,o[c+1]=0,o[c+2]=1,o[c+3]=0,o[c+4]=1,o[c+5]=1,o[c+6]=0,o[c+7]=1}var hct=new $,mct=new F,MX=new F,a0e=new h,c0e=new h,l0e=new h,pct=new h,_ct=new h,gct=new h,I0=new Array(3),NF=new Array(4);NF[0]=new ie(-1,-1,1,1);NF[1]=new ie(1,-1,1,1);NF[2]=new ie(1,1,1,1);NF[3]=new ie(-1,1,1,1);var u0e=new Array(4);for(let e=0;e<4;++e)u0e[e]=new ie;kT._computeNearFarPlanes=function(e,t,n,i,o,r,s,a){let c=$.fromQuaternion(t,hct),u=y(r,a0e),f=y(s,c0e),d=y(a,l0e);u=$.getColumn(c,0,u),f=$.getColumn(c,1,f),d=$.getColumn(c,2,d),h.normalize(u,u),h.normalize(f,f),h.normalize(d,d),h.negate(u,u);let p=F.computeView(e,d,f,u,mct),g,m,x=i.projectionMatrix;if(n===r8){let b=F.multiply(x,p,MX);m=F.inverse(b,MX)}else g=F.inverseTransformation(p,MX);l(m)?(I0[0]=i.near,I0[1]=i.far):(I0[0]=0,I0[1]=i.near,I0[2]=i.far);for(let b=0;b<2;++b)for(let T=0;T<4;++T){let A=ie.clone(NF[T],u0e[T]);if(l(m)){A=F.multiplyByVector(m,A,A);let C=1/A.w;h.multiplyByScalar(A,C,A),h.subtract(A,e,A),h.normalize(A,A);let E=h.dot(d,A);h.multiplyByScalar(A,I0[b]/E,A),h.add(A,e,A)}else{let C=i.offCenterFrustum;l(C)&&(i=C);let E=I0[b],v=I0[b+1];A.x=(A.x*(i.right-i.left)+i.left+i.right)*.5,A.y=(A.y*(i.top-i.bottom)+i.bottom+i.top)*.5,A.z=(A.z*(E-v)-E-v)*.5,A.w=1,F.multiplyByVector(g,A,A)}o[12*b+T*3]=A.x,o[12*b+T*3+1]=A.y,o[12*b+T*3+2]=A.z}};kT.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=e._vertexFormat,a=r?6:5,c=new Float64Array(3*4*6);kT._computeNearFarPlanes(i,o,t,n,c);let u=3*4*2;c[u]=c[3*4],c[u+1]=c[3*4+1],c[u+2]=c[3*4+2],c[u+3]=c[0],c[u+4]=c[1],c[u+5]=c[2],c[u+6]=c[3*3],c[u+7]=c[3*3+1],c[u+8]=c[3*3+2],c[u+9]=c[3*7],c[u+10]=c[3*7+1],c[u+11]=c[3*7+2],u+=3*4,c[u]=c[3*5],c[u+1]=c[3*5+1],c[u+2]=c[3*5+2],c[u+3]=c[3],c[u+4]=c[4],c[u+5]=c[5],c[u+6]=c[0],c[u+7]=c[1],c[u+8]=c[2],c[u+9]=c[3*4],c[u+10]=c[3*4+1],c[u+11]=c[3*4+2],u+=3*4,c[u]=c[3],c[u+1]=c[4],c[u+2]=c[5],c[u+3]=c[3*5],c[u+4]=c[3*5+1],c[u+5]=c[3*5+2],c[u+6]=c[3*6],c[u+7]=c[3*6+1],c[u+8]=c[3*6+2],c[u+9]=c[3*2],c[u+10]=c[3*2+1],c[u+11]=c[3*2+2],u+=3*4,c[u]=c[3*2],c[u+1]=c[3*2+1],c[u+2]=c[3*2+2],c[u+3]=c[3*6],c[u+4]=c[3*6+1],c[u+5]=c[3*6+2],c[u+6]=c[3*7],c[u+7]=c[3*7+1],c[u+8]=c[3*7+2],c[u+9]=c[3*3],c[u+10]=c[3*3+1],c[u+11]=c[3*3+2],r||(c=c.subarray(3*4));let f=new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})});if(l(s.normal)||l(s.tangent)||l(s.bitangent)||l(s.st)){let p=l(s.normal)?new Float32Array(12*a):void 0,g=l(s.tangent)?new Float32Array(3*4*a):void 0,m=l(s.bitangent)?new Float32Array(3*4*a):void 0,x=l(s.st)?new Float32Array(2*4*a):void 0,b=a0e,T=c0e,A=l0e,C=h.negate(b,pct),E=h.negate(T,_ct),v=h.negate(A,gct);u=0,r&&(XS(u,p,g,m,x,v,b,T),u+=3*4),XS(u,p,g,m,x,A,C,T),u+=3*4,XS(u,p,g,m,x,C,v,T),u+=3*4,XS(u,p,g,m,x,E,v,C),u+=3*4,XS(u,p,g,m,x,b,A,T),u+=3*4,XS(u,p,g,m,x,T,A,C),l(p)&&(f.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),l(g)&&(f.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),l(m)&&(f.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),l(x)&&(f.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:x}))}let d=new Uint16Array(6*a);for(let p=0;p<a;++p){let g=p*6,m=p*4;d[g]=m,d[g+1]=m+1,d[g+2]=m+2,d[g+3]=m,d[g+4]=m+2,d[g+5]=m+3}return new ft({attributes:f,indices:d,primitiveType:Ne.TRIANGLES,boundingSphere:ce.fromVertices(c)})};var VT=kT;var LX=0,yct=1;function FF(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e._drawNearPlane,!0),r,s;t instanceof Pi?(r=LX,s=Pi.packedLength):t instanceof cn&&(r=yct,s=cn.packedLength),this._frustumType=r,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=o,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+s+h.packedLength+Le.packedLength}FF.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===LX?(Pi.pack(o,t,n),n+=Pi.packedLength):(cn.pack(o,t,n),n+=cn.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,t[n]=e._drawNearPlane?1:0,t};var xct=new Pi,bct=new cn,Tct=new Le,Cct=new h;FF.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===LX?(o=Pi.unpack(e,t,xct),t+=Pi.packedLength):(o=cn.unpack(e,t,bct),t+=cn.packedLength);let r=h.unpack(e,t,Cct);t+=h.packedLength;let s=Le.unpack(e,t,Tct);t+=Le.packedLength;let a=e[t]===1;if(!l(n))return new FF({frustum:o,origin:r,orientation:s,_drawNearPlane:a});let c=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(c),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._drawNearPlane=a,n};FF.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=new Float64Array(3*4*2);VT._computeNearFarPlanes(i,o,t,n,s);let a=new pn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),c,u,f=r?2:1,d=new Uint16Array(8*(f+1)),p=r?0:1;for(;p<2;++p)c=r?p*8:0,u=p*4,d[c]=u,d[c+1]=u+1,d[c+2]=u+1,d[c+3]=u+2,d[c+4]=u+2,d[c+5]=u+3,d[c+6]=u+3,d[c+7]=u;for(p=0;p<2;++p)c=(f+p)*8,u=p*4,d[c]=u,d[c+1]=u+4,d[c+2]=u+1,d[c+3]=u+5,d[c+4]=u+2,d[c+5]=u+6,d[c+6]=u+3,d[c+7]=u+7;return new ft({attributes:a,indices:d,primitiveType:Ne.LINES,boundingSphere:ce.fromVertices(s)})};var BF=FF;function s8(){de.throwInstantiationError()}Object.defineProperties(s8.prototype,{credit:{get:de.throwInstantiationError}});s8.getCreditsFromResult=function(e){if(l(e.attributions))return e.attributions.map(At.getIonCredit)};s8.prototype.geocode=de.throwInstantiationError;var KS=s8;var Act={SEARCH:0,AUTOCOMPLETE:1},P0=Object.freeze(Act);function f0e(){de.throwInstantiationError()}f0e.createGeometry=function(e){de.throwInstantiationError()};var NX=f0e;function Ect(e,t,n){let i=new Uint8ClampedArray(e.buffer),o=new ImageData(i,t,n),r=document.createElement("canvas");return r.width=t,r.height=n,r.getContext("2d").putImageData(o,0,0),r}var kF=Ect;var Pct=Wo(FX(),1);function Sct(e,t){return(e&t)!==0}var wc=Sct;var vct=[1,2,4,8],d0e=15,wct=16,Dct=64,Ict=128;function Ym(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}Ym.clone=function(e,t){return l(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new Ym(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t};Ym.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()};Ym.prototype.hasSubtree=function(){return wc(this._bits,wct)};Ym.prototype.hasImagery=function(){return wc(this._bits,Dct)};Ym.prototype.hasTerrain=function(){return wc(this._bits,Ict)};Ym.prototype.hasChildren=function(){return wc(this._bits,d0e)};Ym.prototype.hasChild=function(e){return wc(this._bits,vct[e])};Ym.prototype.getChildBitmask=function(){return this._bits&d0e};var VF=Ym;function Rct(e){let t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}var Oct=Rct(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y +wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB +\f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 +\xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 +ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS +>\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 +\x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function qu(e){this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=P.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={}}Object.defineProperties(qu.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}}});qu.fromUrl=async function(e){let t=e;typeof t!="string"&&!(t instanceof Ae)&&(t=e.url);let n=Ae.createIfNeeded(t);n.appendForwardSlash();let i=new qu;i._resource=n;try{await Mct(i),await i.getQuadTreePacket("",i._quadPacketVersion)}catch(o){let r=`An error occurred while accessing ${m0e(i,"",1).url}: ${o}`;throw new se(r)}return i};qu.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;wc(t,r)?wc(e,r)&&(s|=1):(s|=2,wc(e,r)||(s|=1)),i+=s}return i};qu.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];wc(s,2)?wc(s,1)||(t|=r):(n|=r,wc(s,1)&&(t|=r))}return{x:t,y:n,level:i}};qu.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(l(t))return t!==null;let n=!0,i=e,o;for(;i.length>1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),l(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var h0e=new bi("decodeGoogleEarthEnterprisePacket");qu.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=m0e(this,e,t,n).fetchArrayBuffer();if(!l(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return h0e.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(u){let f,d=-1;if(e!==""){d=e.length+1;let m=u[e];f=r[e],f._bits|=m._bits,delete u[e]}let p=Object.keys(u);p.sort(function(m,x){return m.length-x.length});let g=p.length;for(let m=0;m<g;++m){let x=p[m];if(u[x]!==null){let T=VF.clone(u[x]),A=x.length;if(A===d)T.setParent(f);else if(A>1){let C=r[x.substring(0,x.length-1)];T.setParent(C)}r[x]=T}else r[x]=null}})})};qu.prototype.populateSubtree=function(e,t,n,i){let o=qu.tileXYToQuadKey(e,t,n);return VX(this,o,i)};function VX(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(l(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(l(c))return c.then(function(){return s=new er({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),VX(e,t,s)});if(!l(r)||!r.hasSubtree())return Promise.reject(new se(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!l(c))return a[o]=c,c.then(function(){return s=new er({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),VX(e,t,s)}).finally(function(){delete a[o]})}qu.prototype.getTileInformation=function(e,t,n){let i=qu.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};qu.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function m0e(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var BX,kX;function Mct(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!l(kX)){let n=sn("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;kX=ix(n).then(function(){BX=window.cesiumGoogleEarthDbRootParser(Pct),l(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return kX.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=BX.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return h0e.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=BX.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),l(i.endSnippet)&&l(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}l(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a<s;++a){let c=r[a],u=c.copyrightString;l(u)&&(o[c.providerId]=new At(u.value))}}).catch(function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=Oct})}var sg=qu;function UT(e){e=y(e,y.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;let t=y(e.childTileMask,15),n=t&3;n|=t&4?8:0,n|=t&8?4:0,this._childTileMask=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(UT.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var g0e="createVerticesFromGoogleEarthEnterpriseBuffer",Lct=new bi(g0e),Nct=new bi(g0e,wh.maximumAsynchronousTasks),p0e=new ae,UX=new ae;UT.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid;t.tileXYToNativeRectangle(n,i,o,p0e),t.tileXYToRectangle(n,i,o,UX);let u=c.cartographicToCartesian(ae.center(UX)),d=40075.16/(1<<o);this._skirtHeight=Math.min(d*8,1e3);let g=(a?Nct:Lct).scheduleTask({buffer:this._buffer,nativeRectangle:p0e,rectangle:UX,relativeToCenter:u,ellipsoid:c,skirtHeight:this._skirtHeight,exaggeration:r,exaggerationRelativeHeight:s,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!l(g))return;let m=this;return g.then(function(x){return m._mesh=new sd(u,new Float32Array(x.vertices),new Uint16Array(x.indices),x.indexCountWithoutSkirts,x.vertexCountWithoutSkirts,x.minimumHeight,x.maximumHeight,ce.clone(x.boundingSphere3D),h.clone(x.occludeePointInScaledSpace),x.numberOfAttributes,Dn.clone(x.orientedBoundingBox),vc.clone(x.encoding),x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),m._minimumHeight=x.minimumHeight,m._maximumHeight=x.maximumHeight,m._buffer=void 0,m._mesh})};UT.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1),o=P.clamp((n-e.south)/e.height,0,1);return l(this._mesh)?Uct(this,i,o):Gct(this,i,o,e)};var Fct=new bi("upsampleQuantizedTerrainMesh",wh.maximumAsynchronousTasks);UT.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=Fct.scheduleTask({vertices:a.vertices,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=this;return p.then(function(m){let x=new Uint16Array(m.vertices),b=Fe.createTypedArray(x.length/3,m.indices),T=g._skirtHeight;return new MT({quantizedVertices:x,indices:b,minimumHeight:m.minimumHeight,maximumHeight:m.maximumHeight,boundingSphere:ce.clone(m.boundingSphere),orientedBoundingBox:Dn.clone(m.orientedBoundingBox),horizonOcclusionPoint:h.clone(m.horizonOcclusionPoint),westIndices:m.westIndices,southIndices:m.southIndices,eastIndices:m.eastIndices,northIndices:m.northIndices,westSkirtHeight:T,southSkirtHeight:T,eastSkirtHeight:T,northSkirtHeight:T,childTileMask:0,createdByUpsampling:!0,credits:g._credits})})};UT.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};UT.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var Bct=new z,kct=new z,Vct=new z,y0e=new h;function Uct(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,Bct),g=r.decodeTextureCoordinates(o,f,kct),m=r.decodeTextureCoordinates(o,d,Vct),x=og.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,y0e);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),A=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*A}}}var zct=Uint16Array.BYTES_PER_ELEMENT,_0e=Uint32Array.BYTES_PER_ELEMENT,zX=Int32Array.BYTES_PER_ELEMENT,Hct=Float32Array.BYTES_PER_ELEMENT,HX=Float64Array.BYTES_PER_ELEMENT;function Gct(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),u=0;for(let v=0;v<r;++v)u+=c.getUint32(u,!0),u+=_0e;u+=_0e,u+=2*HX;let f=P.toRadians(c.getFloat64(u,!0)*180);u+=HX;let d=P.toRadians(c.getFloat64(u,!0)*180);u+=HX;let p=i.width/f/2,g=i.height/d/2,m=c.getInt32(u,!0);u+=zX;let x=c.getInt32(u,!0)*3;u+=zX,u+=zX;let b=new Array(m),T=new Array(m),A=new Array(m),C;for(C=0;C<m;++C)b[C]=s+c.getUint8(u++)*p,T[C]=a+c.getUint8(u++)*g,A[C]=c.getFloat32(u,!0)*6371010,u+=Hct;let E=new Array(x);for(C=0;C<x;++C)E[C]=c.getUint16(u,!0),u+=zct;for(C=0;C<x;C+=3){let v=E[C],D=E[C+1],O=E[C+2],R=b[v],M=b[D],N=b[O],_=T[v],S=T[D],w=T[O],I=og.computeBarycentricCoordinates(t,n,R,_,M,S,N,w,y0e);if(I.x>=-1e-15&&I.y>=-1e-15&&I.z>=-1e-15)return I.x*A[v]+I.y*A[D]+I.z*A[O]}}var ZS=UT;var ad={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},a8=new K;function c8(){this._terrainCache={},this._lastTidy=K.now()}c8.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:K.now()}};c8.prototype.get=function(e){let n=this._terrainCache[e];if(l(n))return delete this._terrainCache[e],n.buffer};c8.prototype.tidy=function(){if(K.now(a8),K.secondsDifference(a8,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){let o=t[i],r=e[o];K.secondsDifference(a8,r.timestamp)>10&&delete e[o]}K.clone(a8,this._lastTidy)}};function R0(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ae(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new At(t)),this._credit=t,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new c8,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new me}Object.defineProperties(R0.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});R0.fromMetadata=function(e,t){if(!e.terrainPresent)throw new se(`The server ${e.url} doesn't have terrain`);let n=new R0(t);return n._metadata=e,n};var Wct=new bi("decodeGoogleEarthEnterprisePacket");function x0e(e,t,n){let i=t.getChildBitmask();if(t.terrainState===ad.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());l(r)&&r.hasTerrain()&&(i|=1<<o)}}return i}R0.prototype.requestTileGeometry=function(e,t,n,i){let o=sg.tileXYToQuadKey(e,t,n),r=this._terrainCache,s=this._metadata,a=s.getTileInformationFromQuadKey(o);if(!l(a))return Promise.reject(new se("Terrain tile doesn't exist"));let c=a.terrainState;l(c)||(c=a.terrainState=ad.UNKNOWN);let u=r.get(o);if(l(u)){let T=s.providers[a.terrainProvider];return Promise.resolve(new ZS({buffer:u,childTileMask:x0e(o,a,s),credits:l(T)?[T]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold}))}if(r.tidy(),a.ancestorHasTerrain){if(c===ad.NONE)return Promise.reject(new se("Terrain tile doesn't exist"))}else return Promise.resolve(new Wa({buffer:new Uint8Array(16*16),width:16,height:16}));let f,d=o,p=-1;switch(c){case ad.SELF:p=a.terrainVersion;break;case ad.PARENT:d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),p=f.terrainVersion;break;case ad.UNKNOWN:a.hasTerrain()?p=a.terrainVersion:(d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),l(f)&&f.hasTerrain()&&(p=f.terrainVersion));break}if(p<0)return Promise.reject(new se("Terrain tile doesn't exist"));let g=this._terrainPromises,m=this._terrainRequests,x,b;if(l(g[d]))x=g[d],b=m[d];else{b=i;let T=jct(this,d,p,b).fetchArrayBuffer();if(!l(T))return;x=T.then(function(A){return l(A)?Wct.scheduleTask({buffer:A,type:"Terrain",key:s.key},[A]).then(function(C){let E=s.getTileInformationFromQuadKey(d);E.terrainState=ad.SELF,r.add(d,C[0]);let v=E.terrainProvider,D=C.length-1;for(let O=0;O<D;++O){let R=d+O.toString(),M=s.getTileInformationFromQuadKey(R);l(M)&&(r.add(R,C[O+1]),M.terrainState=ad.PARENT,M.terrainProvider===0&&(M.terrainProvider=v))}}):Promise.reject(new se("Failed to load terrain."))}),g[d]=x,m[d]=b,x=x.finally(function(){delete g[d],delete m[d]})}return x.then(function(){let T=r.get(o);if(l(T)){let A=s.providers[a.terrainProvider];return new ZS({buffer:T,childTileMask:x0e(o,a,s),credits:l(A)?[A]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold})}return Promise.reject(new se("Failed to load terrain."))}).catch(function(T){return b.state===Jn.CANCELLED?(i.state=b.state,Promise.reject(T)):(a.terrainState=ad.NONE,Promise.reject(T))})};R0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};R0.prototype.getTileDataAvailable=function(e,t,n){let i=this._metadata,o=sg.tileXYToQuadKey(e,t,n),r=i.getTileInformation(e,t,n);if(r===null)return!1;if(l(r)){if(!r.ancestorHasTerrain)return!0;let s=r.terrainState;if(s===ad.NONE)return!1;if((!l(s)||s===ad.UNKNOWN)&&(r.terrainState=ad.UNKNOWN,!r.hasTerrain())){o=o.substring(0,o.length-1);let a=i.getTileInformationFromQuadKey(o);if(!l(a)||!a.hasTerrain())return!1}return!0}if(i.isValid(o)){let s=new er({throttle:!1,throttleByServer:!0,type:_s.TERRAIN});i.populateSubtree(e,t,n,s)}return!1};R0.prototype.loadTileDataAvailability=function(e,t,n){};function jct(e,t,n,i){return n=l(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var GX=R0;var qct="https://maps.googleapis.com/maps/api/geocode/json",b0e='<img alt="Google" src="https://assets.ion.cesium.com/google-credit.png" style="vertical-align:-5px">';function WX(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._resource=new Ae({url:qct,queryParameters:{key:t}}),this._credit=new At(b0e,!0)}Object.defineProperties(WX.prototype,{credit:{get:function(){return this._credit}}});WX.prototype.geocode=async function(e){let n=await this._resource.getDerivedResource({queryParameters:{address:e}}).fetchJson();if(n.status==="ZERO_RESULTS")return[];if(n.status!=="OK")throw new se(`GoogleGeocoderService got a bad response ${n.status}: ${n.error_message}`);return n.results.map(o=>{let r=o.geometry.viewport.southwest,s=o.geometry.viewport.northeast;return{displayName:o.formatted_address,destination:ae.fromDegrees(r.lng,r.lat,s.lng,s.lat),attribution:{html:b0e,collapsible:!1}}})};var jX=WX;var l8={};l8.defaultApiKey=void 0;l8.mapTilesApiEndpoint=new Ae({url:"https://tile.googleapis.com/v1/"});l8.getDefaultCredit=function(){return new At('<img src="https://assets.ion.cesium.com/google-credit.png" style="vertical-align: -5px" alt="Google">',!0)};var zT=l8;function Yct(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var UF=Yct;var L0e={},Xct=32.184,Kct=2451545,T0e=-.0529921,C0e=-.1059842,A0e=13.0120009,E0e=13.3407154,S0e=.9856003,v0e=26.4057084,w0e=13.064993,D0e=.3287146,I0e=1.7484877,P0e=-.1589763,R0e=.0036096,O0e=.1643573,M0e=12.9590088,qX=new K;L0e.ComputeMoon=function(e,t){l(e)||(e=K.now()),qX=K.addSeconds(e,Xct,qX);let n=K.totalDays(qX)-Kct,i=n/Kn.DAYS_PER_JULIAN_CENTURY,o=(125.045+T0e*n)*P.RADIANS_PER_DEGREE,r=(250.089+C0e*n)*P.RADIANS_PER_DEGREE,s=(260.008+A0e*n)*P.RADIANS_PER_DEGREE,a=(176.625+E0e*n)*P.RADIANS_PER_DEGREE,c=(357.529+S0e*n)*P.RADIANS_PER_DEGREE,u=(311.589+v0e*n)*P.RADIANS_PER_DEGREE,f=(134.963+w0e*n)*P.RADIANS_PER_DEGREE,d=(276.617+D0e*n)*P.RADIANS_PER_DEGREE,p=(34.226+I0e*n)*P.RADIANS_PER_DEGREE,g=(15.134+P0e*n)*P.RADIANS_PER_DEGREE,m=(119.743+R0e*n)*P.RADIANS_PER_DEGREE,x=(239.961+O0e*n)*P.RADIANS_PER_DEGREE,b=(25.053+M0e*n)*P.RADIANS_PER_DEGREE,T=Math.sin(o),A=Math.sin(r),C=Math.sin(s),E=Math.sin(a),v=Math.sin(c),D=Math.sin(u),O=Math.sin(f),R=Math.sin(d),M=Math.sin(p),N=Math.sin(g),_=Math.sin(m),S=Math.sin(x),w=Math.sin(b),I=Math.cos(o),L=Math.cos(r),B=Math.cos(s),U=Math.cos(a),V=Math.cos(c),G=Math.cos(u),k=Math.cos(f),W=Math.cos(d),Y=Math.cos(p),Q=Math.cos(g),j=Math.cos(m),Z=Math.cos(x),J=Math.cos(b),he=(269.9949+.0031*i-3.8787*T-.1204*A+.07*C-.0172*E+.0072*D-.0052*N+.0043*w)*P.RADIANS_PER_DEGREE,xe=(66.5392+.013*i+1.5419*I+.0239*L-.0278*B+.0068*U-.0029*G+9e-4*k+8e-4*Q-9e-4*J)*P.RADIANS_PER_DEGREE,re=(38.3213+13.17635815*n-14e-13*n*n+3.561*T+.1208*A-.0642*C+.0158*E+.0252*v-.0066*D-.0047*O-.0046*R+.0028*M+.0052*N+.004*_+.0019*S-.0044*w)*P.RADIANS_PER_DEGREE,_e=(13.17635815-14e-13*(2*n)+3.561*I*T0e+.1208*L*C0e-.0642*B*A0e+.0158*U*E0e+.0252*V*S0e-.0066*G*v0e-.0047*k*w0e-.0046*W*D0e+.0028*Y*I0e+.0052*Q*P0e+.004*j*R0e+.0019*Z*O0e-.0044*J*M0e)/86400*P.RADIANS_PER_DEGREE;return l(t)||(t=new UF),t.rightAscension=he,t.declination=xe,t.rotation=re,t.rotationRate=_e,t};var zF=L0e;function N0e(e){(!l(e)||typeof e!="function")&&(e=zF.ComputeMoon),this._computeFunction=e}var Zct=new h,$ct=new h,Qct=new h;function Jct(e,t,n){let i=Zct;i.x=Math.cos(e+P.PI_OVER_TWO),i.y=Math.sin(e+P.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=Qct;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,$ct);return l(n)||(n=new $),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var elt=new $,tlt=new Le;N0e.prototype.evaluate=function(e,t){l(e)||(e=K.now());let n=this._computeFunction(e),i=Jct(n.rightAscension,n.declination,t),o=P.zeroToTwoPi(n.rotation),r=Le.fromAxisAngle(h.UNIT_Z,o,tlt),s=$.fromQuaternion(Le.conjugate(r,r),elt);return $.multiply(s,i,i)};var HF=N0e;var GF={};GF.type=void 0;GF.getRequiredDataPoints=de.throwInstantiationError;GF.interpolateOrderZero=de.throwInstantiationError;GF.interpolate=de.throwInstantiationError;var YX=GF;var nlt={GOOGLE:"GOOGLE",BING:"BING",DEFAULT:"DEFAULT"},ag=Object.freeze(nlt);function XX(e){this._url=Ae.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(XX.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});XX.prototype.geocode=async function(e,t){return this._url.getDerivedResource({url:t===P0.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(l(s))r=ae.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r,attributions:i.attributions}})})};var WF=XX;function ilt(e){if(!Object.values(ag).some(t=>t===e))throw new de(`Invalid geocodeProviderType: "${e}"`)}var F0e=Object.freeze({[ag.GOOGLE]:"google",[ag.BING]:"bing",[ag.DEFAULT]:void 0});function olt(e){return F0e[e]}function rlt(e){return Object.entries(F0e).find(t=>t[1]===e)[0]}function KX(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.geocodeProviderType,ag.DEFAULT),n=y(e.accessToken,Vd.defaultAccessToken),i=Ae.createIfNeeded(y(e.server,Vd.defaultServer));i.appendForwardSlash();let o=Vd.getDefaultTokenCredit(n);l(o)&&e.scene.frameState.creditDisplay.addStaticCredit(At.clone(o));let r=i.getDerivedResource({url:"v1/geocode"});l(n)&&r.appendQueryParameters({access_token:n}),this._accessToken=n,this._server=i,this._pelias=new WF(r),this.geocodeProviderType=t}Object.defineProperties(KX.prototype,{credit:{get:function(){}},geocodeProviderType:{get:function(){return rlt(this._pelias.url.queryParameters.geocoder)},set:function(e){ilt(e);let t={...this._pelias.url.queryParameters,geocoder:olt(e)};l(t.geocoder)||delete t.geocoder,this._pelias.url.setQueryParameters(t)}}});KX.prototype.geocode=async function(e,t){return this._pelias.geocode(e,t)};var HT=KX;var Dc={};Dc.ExportStatus=Object.freeze({NotStarted:"NotStarted",InProgress:"InProgress",Complete:"Complete",Invalid:"Invalid"});Dc.ExportType=Object.freeze({IMODEL:"IMODEL",CESIUM:"CESIUM","3DTILES":"3DTILES"});Dc.RealityDataType=Object.freeze({Cesium3DTiles:"Cesium3DTiles",PNTS:"PNTS",OPC:"OPC",RealityMesh3DTiles:"RealityMesh3DTiles",Terrain3DTiles:"Terrain3DTiles","3MX":"3MX","3SM":"3SM",CCCloudProject:"CCCloudProject",CCImageCollection:"CCImageCollection",CCOrientations:"CCOrientations",ContextCaptureInputs:"ContextCaptureInputs",ContextDetector:"ContextDetector",ContextScene:"ContextScene",DAE:"DAE",DGN:"DGN",DSM:"DSM",FBX:"FBX",GLB:"GLB",GLTF:"GLTF",KML:"KML",LAS:"LAS",LAZ:"LAZ",LOD:"LOD",LodTree:"LodTree",OBJ:"OBJ",OMI:"OMI",OMR:"OMR",Orthophoto:"Orthophoto",OrthophotoDSM:"OrthophotoDSM",OSGB:"OSGB",OVF:"OVF",OBT:"OBT",PLY:"PLY",PointCloud:"PointCloud",S3C:"S3C",ScanCollection:"ScanCollection",SHP:"SHP",SLPK:"SLPK",SpaceEyes3D:"SpaceEyes3D",STL:"STL",TSM:"TSM",Unstructured:"Unstructured",Other:"Other"});Dc.defaultAccessToken=void 0;Dc.apiEndpoint=new Ae({url:"https://api.bentley.com"});Dc.getExports=async function(e){let t=new Ae({url:`${Dc.apiEndpoint}mesh-export`,headers:{Authorization:`Bearer ${Dc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json",Prefer:"return=representation"},queryParameters:{iModelId:e,exportType:Dc.ExportType["3DTILES"],$top:"5",client:"CesiumJS"}});typeof CESIUM_VERSION<"u"&&t.appendQueryParameters({clientVersion:CESIUM_VERSION});try{return await t.fetchJson()}catch(n){let i=JSON.parse(n.response);throw n.statusCode===401?new se(`Unauthorized, bad token, wrong scopes or headers bad. ${i.error.details[0].code}`):n.statusCode===403?(console.error(i.error.code,i.error.message),new se("Not allowed, forbidden")):n.statusCode===422?new se(`Unprocessable Entity:${i.error.code} ${i.error.message}`):n.statusCode===429?new se("Too many requests"):new se(`Unknown request failure ${n.statusCode}`)}};Dc.getRealityDataMetadata=async function(e,t){let n=new Ae({url:`${Dc.apiEndpoint}reality-management/reality-data/${t}`,headers:{Authorization:`Bearer ${Dc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json"},queryParameters:{iTwinId:e}});try{return(await n.fetchJson()).realityData}catch(i){let o=JSON.parse(i.response);throw i.statusCode===401?new se(`Unauthorized, bad token, wrong scopes or headers bad. ${o.error.details[0].code}`):i.statusCode===403?(console.error(o.error.code,o.error.message),new se("Not allowed, forbidden")):i.statusCode===404?new se(`Reality data not found: ${e}, ${t}`):i.statusCode===422?new se(`Unprocessable Entity:${o.error.code} ${o.error.message}`):i.statusCode===429?new se("Too many requests"):new se(`Unknown request failure ${i.statusCode}`)}};Dc.getRealityDataURL=async function(e,t,n){let i=new Ae({url:`${Dc.apiEndpoint}reality-management/reality-data/${t}/readaccess`,headers:{Authorization:`Bearer ${Dc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json"},queryParameters:{iTwinId:e}});try{let r=(await i.fetchJson())._links.containerUrl.href,s=new URL(r);return s.pathname=`${s.pathname}/${n}`,s.toString()}catch(o){let r=JSON.parse(o.response);throw o.statusCode===401?new se(`Unauthorized, bad token, wrong scopes or headers bad. ${r.error.details[0].code}`):o.statusCode===403?(console.error(r.error.code,r.error.message),new se("Not allowed, forbidden")):o.statusCode===404?new se(`Reality data not found: ${e}, ${t}`):o.statusCode===422?new se(`Unprocessable Entity:${r.error.code} ${r.error.message}`):o.statusCode===429?new se("Too many requests"):new se(`Unknown request failure ${o.statusCode}`)}};var Yu=Dc;var slt={SHIFT:0,CTRL:1,ALT:2},ra=Object.freeze(slt);function u8(){de.throwInstantiationError()}Object.defineProperties(u8.prototype,{ellipsoid:{get:de.throwInstantiationError}});u8.prototype.project=de.throwInstantiationError;u8.prototype.unproject=de.throwInstantiationError;var ZX=u8;var $X=[],QX=[];function alt(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=$X,u=QX,f,d;for(f=0;f<s;++f)c[f]=e[i+f];for(d=0;d<a;++d)u[d]=e[o+d+1];f=0,d=0;for(let p=i;p<=r;++p){let g=c[f],m=u[d];f<s&&(d>=a||t(g,m,n)<=0)?(e[p]=g,++f):d<a&&(e[p]=m,++d)}}function JX(e,t,n,i,o){if(i>=o)return;let r=Math.floor((i+o)*.5);JX(e,t,n,i,r),JX(e,t,n,r+1,o),alt(e,t,n,i,r,o)}function clt(e,t,n){let i=e.length,o=Math.ceil(i*.5);$X.length=o,QX.length=o,JX(e,t,n,0,i-1),$X.length=0,QX.length=0}var cg=clt;function $S(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties($S.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});$S.prototype.findTimeInterval=co.prototype.findTimeInterval;$S.prototype.wrapTime=co.prototype.wrapTime;$S.prototype.clampTime=co.prototype.clampTime;$S.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);l(t)||(t=new Array(this._count));for(let s=0;s<this._count;s++){let a=o*this._count+s;t[s]=n[a]*(1-r)+n[a+this._count]*r}return t};var eK=$S;var llt={NONE:-1,PARTIAL:0,FULL:1},Tr=Object.freeze(llt);function Ic(e,t){this._occluderPosition=h.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var f8=new h;Object.defineProperties(Ic.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=h.clone(e,this._cameraPosition);let t=h.subtract(this._occluderPosition,e,f8),n=h.magnitudeSquared(t),i=this._occluderRadius*this._occluderRadius,o,r,s;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,f8);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,f8),f8)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});Ic.fromBoundingSphere=function(e,t,n){return l(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new Ic(e,t)};var k0e=new h;Ic.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,k0e),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var ult=new h;Ic.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,ult),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,k0e),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n<this._occluderRadius)return o>0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var flt=new h;Ic.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return Tr.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,flt),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n<s?Tr.NONE:(o=this._occluderRadius+n,o=r-o*o,o>0?(o=Math.sqrt(o)+this._horizonDistance,s<o*o+n*n?Tr.FULL:Tr.PARTIAL):(i=h.subtract(t,this._horizonPlanePosition,i),h.dot(i,this._horizonPlaneNormal)>-n?Tr.PARTIAL:Tr.FULL))}}return Tr.NONE};var d8=new h;Ic.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,d8),d8),c=-h.dot(a,o),u=Ic._anyRotationVector(o,a,c),f=Ic._horizonToPlaneNormalDotProduct(e,a,c,u,n[0]);if(!f)return;let d;for(let g=1;g<s;++g){if(d=Ic._horizonToPlaneNormalDotProduct(e,a,c,u,n[g]),!d)return;d<f&&(f=d)}if(f<.0017453283658983088)return;let p=r/f;return h.add(o,h.multiplyByScalar(a,p,d8),d8)};var dlt=[];Ic.computeOccludeePointFromRectangle=function(e,t){t=y(t,ee.default);let n=ae.subsample(e,t,0,dlt),i=ce.fromPoints(n),o=h.ZERO;if(!h.equals(o,i.center))return Ic.computeOccludeePoint(new ce(o,t.minimumRadius),i.center,n)};var hlt=new h;Ic._anyRotationVector=function(e,t,n){let i=h.abs(t,hlt),o=i.x>i.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var mlt=new h;Ic._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,mlt);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>P.EPSILON13)return h.normalize(s,new h)}return o};var tK=new h,plt=new h,h8=new h,B0e=new h;Ic._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,tK),s=h.clone(e.center,plt),a=e.radius,c=h.subtract(s,r,h8),u=h.magnitudeSquared(c),f=a*a;if(u<f)return!1;let d=u-f,p=Math.sqrt(d),m=1/Math.sqrt(u),b=p*m*p;c=h.normalize(c,c);let T=h.add(r,h.multiplyByScalar(c,b,B0e),B0e),A=Math.sqrt(d-b*b),C=this._rotationVector(s,t,n,r,i),E=h.fromElements(C.x*C.x*c.x+(C.x*C.y-C.z)*c.y+(C.x*C.z+C.y)*c.z,(C.x*C.y+C.z)*c.x+C.y*C.y*c.y+(C.y*C.z-C.x)*c.z,(C.x*C.z-C.y)*c.x+(C.y*C.z+C.x)*c.y+C.z*C.z*c.z,tK);E=h.normalize(E,E);let v=h.multiplyByScalar(E,A,tK);C=h.normalize(h.subtract(h.add(T,v,h8),s,h8),h8);let D=h.dot(t,C);C=h.normalize(h.subtract(h.subtract(T,v,C),s,C),C);let O=h.dot(t,C);return D<O?D:O};var jF=Ic;function nK(e,t,n){e=Ae.createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=y(n,{}),this._credit=new At('Geodata copyright <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',!1)}Object.defineProperties(nK.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});nK.prototype.geocode=async function(e){return this._url.getDerivedResource({url:"json",queryParameters:Ct(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(l(r))o=ae.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var iK=nK;var _lt={packedLength:void 0,pack:de.throwInstantiationError,unpack:de.throwInstantiationError},oK=_lt;var glt={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:de.throwInstantiationError,unpackInterpolationResult:de.throwInstantiationError},rK=glt;var ylt=new h;function xlt(e,t,n,i){let o=dx(e,t,n,i,ylt);return l(o)?o.x>0&&o.y>0&&o.z>0:!1}var sK=xlt;function V0e(){de.throwInstantiationError()}V0e.prototype.getURL=de.throwInstantiationError;var aK=V0e;async function blt(e,t,n,i){return l(i)||(i=!1),Alt(e,t,n,i)}function Tlt(e,t,n){let i=e[0],o=i.terrainProvider.requestTileGeometry(i.x,i.y,i.level);if(!o)return!1;let r;return n?r=o.then(z0e(i)):r=o.then(z0e(i)).catch(Elt(i)),e.shift(),t.push(r),!0}function Clt(e){return new Promise(function(t){setTimeout(t,e)})}function cK(e,t,n){return e.length?Tlt(e,t,n)?cK(e,t,n):Clt(100).then(()=>cK(e,t,n)):Promise.resolve()}function Alt(e,t,n,i){let o=e.tilingScheme,r,s=[],a={};for(r=0;r<n.length;++r){let u=o.positionToTileXY(n[r],t);if(!l(u))continue;let f=u.toString();if(!a.hasOwnProperty(f)){let d={x:u.x,y:u.y,level:t,tilingScheme:o,terrainProvider:e,positions:[]};a[f]=d,s.push(d)}a[f].positions.push(n[r])}let c=[];return cK(s,c,i).then(function(){return Promise.all(c).then(function(){return n})})}function U0e(e,t,n){let i=t.interpolateHeight(n,e.longitude,e.latitude);return i===void 0?!1:(e.height=i,!0)}function z0e(e){let t=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(i){let o=!1;for(let r=0;r<t.length;++r){let s=t[r];if(!U0e(s,i,n)){o=!0;break}}return o?i.createMesh({tilingScheme:e.tilingScheme,x:e.x,y:e.y,level:e.level,throttle:!1}).then(function(){for(let r=0;r<t.length;++r){let s=t[r];U0e(s,i,n)}}):Promise.resolve()}}function Elt(e){let t=e.positions;return function(){for(let n=0;n<t.length;++n){let i=t[n];i.height=void 0}}}var qF=blt;var lK=new z;async function H0e(e,t,n){l(n)||(n=!1);let i=[],o=[],r=e.availability,s=[];for(let c=0;c<t.length;++c){let u=t[c],f=r.computeMaximumLevelAtPosition(u);if(o[c]=f,f===0){e.tilingScheme.positionToTileXY(u,1,lK);let p=e.loadTileDataAvailability(lK.x,lK.y,1);l(p)&&s.push(p)}let d=i[f];l(d)||(i[f]=d=[]),d.push(u)}await Promise.all(s),await Promise.all(i.map(function(c,u){if(l(c))return qF(e,u,c,n)}));let a=[];for(let c=0;c<t.length;++c){let u=t[c];r.computeMaximumLevelAtPosition(u)!==o[c]&&a.push(u)}return a.length>0&&await H0e(e,a,n),t}var GT=H0e;var Slt={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},An=Object.freeze(Slt);function O0(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=(t.clientX-o.left)*(i.offsetWidth/o.width),n.y=(t.clientY-o.top)*(i.offsetHeight/o.height),n}function pK(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function WT(e){if(e.shiftKey)return ra.SHIFT;if(e.ctrlKey)return ra.CTRL;if(e.altKey)return ra.ALT}var Us={LEFT:0,MIDDLE:1,RIGHT:2};function Xu(e,t,n,i){function o(r){i(e,r)}Gt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function vlt(e){let t=e._element,n=l(t.disableRootEvents)?t:document;Gt.supportsPointerEvents()?(Xu(e,"pointerdown",t,Olt),Xu(e,"pointerup",t,Q0e),Xu(e,"pointermove",t,Mlt),Xu(e,"pointercancel",t,Q0e)):(Xu(e,"mousedown",t,J0e),Xu(e,"mouseup",n,exe),Xu(e,"mousemove",n,txe),Xu(e,"touchstart",t,Plt),Xu(e,"touchend",n,Y0e),Xu(e,"touchmove",n,Rlt),Xu(e,"touchcancel",n,Y0e)),Xu(e,"dblclick",t,Dlt);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",Xu(e,i,t,Ilt)}function wlt(e){let t=e._removalFunctions;for(let n=0;n<t.length;++n)t[n]()}var G0e={position:new z};function _K(e){e._lastSeenTouchEvent=Ei()}function gK(e){return Ei()-e._lastSeenTouchEvent>Oh.mouseEmulationIgnoreMilliseconds}function mK(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)<n}function J0e(e,t){if(!gK(e))return;let n=t.button;e._buttonDown[n]=!0;let i;if(n===Us.LEFT)i=An.LEFT_DOWN;else if(n===Us.MIDDLE)i=An.MIDDLE_DOWN;else if(n===Us.RIGHT)i=An.RIGHT_DOWN;else return;let o=O0(e,t,e._primaryPosition);z.clone(o,e._primaryStartPosition),z.clone(o,e._primaryPreviousPosition);let r=WT(t),s=e.getInputAction(i,r);l(s)&&(z.clone(o,G0e.position),s(G0e),t.preventDefault())}var W0e={position:new z},j0e={position:new z};function uK(e,t,n,i){let o=WT(i),r=e.getInputAction(t,o),s=e.getInputAction(n,o);if(l(r)||l(s)){let a=O0(e,i,e._primaryPosition);if(l(r)&&(z.clone(a,W0e.position),r(W0e)),l(s)){let c=e._primaryStartPosition;mK(c,a,e._clickPixelTolerance)&&(z.clone(a,j0e.position),s(j0e))}}}function exe(e,t){if(!gK(e))return;let n=t.button;n!==Us.LEFT&&n!==Us.MIDDLE&&n!==Us.RIGHT||(e._buttonDown[Us.LEFT]&&(uK(e,An.LEFT_UP,An.LEFT_CLICK,t),e._buttonDown[Us.LEFT]=!1),e._buttonDown[Us.MIDDLE]&&(uK(e,An.MIDDLE_UP,An.MIDDLE_CLICK,t),e._buttonDown[Us.MIDDLE]=!1),e._buttonDown[Us.RIGHT]&&(uK(e,An.RIGHT_UP,An.RIGHT_CLICK,t),e._buttonDown[Us.RIGHT]=!1))}var fK={startPosition:new z,endPosition:new z};function txe(e,t){if(!gK(e))return;let n=WT(t),i=O0(e,t,e._primaryPosition),o=e._primaryPreviousPosition,r=e.getInputAction(An.MOUSE_MOVE,n);l(r)&&(z.clone(o,fK.startPosition),z.clone(i,fK.endPosition),r(fK)),z.clone(i,o),(e._buttonDown[Us.LEFT]||e._buttonDown[Us.MIDDLE]||e._buttonDown[Us.RIGHT])&&t.preventDefault()}var q0e={position:new z};function Dlt(e,t){let n=t.button,i;if(n===Us.LEFT)i=An.LEFT_DOUBLE_CLICK;else return;let o=WT(t),r=e.getInputAction(i,o);l(r)&&(O0(e,t,q0e.position),r(q0e))}function Ilt(e,t){let n;if(l(t.deltaY)){let r=t.deltaMode;r===t.DOM_DELTA_PIXEL?n=-t.deltaY:r===t.DOM_DELTA_LINE?n=-t.deltaY*40:n=-t.deltaY*120}else t.detail>0?n=t.detail*-120:n=t.wheelDelta;if(!l(n))return;let i=WT(t),o=e.getInputAction(An.WHEEL,i);l(o)&&(o(n),t.preventDefault())}function Plt(e,t){_K(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.set(s,O0(e,r,new z));m8(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.set(s,z.clone(a.get(s)))}function Y0e(e,t){_K(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.remove(s);m8(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.remove(s)}var X0e={position:new z},dK={position1:new z,position2:new z},K0e={position:new z},Z0e={position:new z},$0e={position:new z};function m8(e,t){let n=WT(t),i=e._positions,o=i.length,r,s,a=e._isPinching;if(o!==1&&e._buttonDown[Us.LEFT]){if(e._buttonDown[Us.LEFT]=!1,l(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),r=e.getInputAction(An.LEFT_UP,n),l(r)&&(z.clone(e._primaryPosition,K0e.position),r(K0e)),o===0&&!e._isTouchHolding&&(s=e.getInputAction(An.LEFT_CLICK,n),l(s))){let c=e._primaryStartPosition,u=e._previousPositions.values[0];mK(c,u,e._clickPixelTolerance)&&(z.clone(e._primaryPosition,Z0e.position),s(Z0e))}e._isTouchHolding=!1}if(o===0&&a&&(e._isPinching=!1,r=e.getInputAction(An.PINCH_END,n),l(r)&&r()),o===1&&!a){let c=i.values[0];z.clone(c,e._primaryPosition),z.clone(c,e._primaryStartPosition),z.clone(c,e._primaryPreviousPosition),e._buttonDown[Us.LEFT]=!0,r=e.getInputAction(An.LEFT_DOWN,n),l(r)&&(z.clone(c,X0e.position),r(X0e)),e._touchHoldTimer=setTimeout(function(){if(!e.isDestroyed()&&(e._touchHoldTimer=void 0,e._isTouchHolding=!0,s=e.getInputAction(An.RIGHT_CLICK,n),l(s))){let u=e._primaryStartPosition,f=e._previousPositions.values[0];mK(u,f,e._holdPixelTolerance)&&(z.clone(e._primaryPosition,$0e.position),s($0e))}},Oh.touchHoldDelayMilliseconds),t.preventDefault()}o===2&&!a&&(e._isPinching=!0,r=e.getInputAction(An.PINCH_START,n),l(r)&&(z.clone(i.values[0],dK.position1),z.clone(i.values[1],dK.position2),r(dK),t.preventDefault()))}function Rlt(e,t){_K(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i){r=n[i],s=r.identifier;let u=a.get(s);l(u)&&O0(e,r,u)}nxe(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,z.clone(a.get(s),c.get(s))}var hK={startPosition:new z,endPosition:new z},YF={distance:{startPosition:new z,endPosition:new z},angleAndHeight:{startPosition:new z,endPosition:new z}};function nxe(e,t){let n=WT(t),i=e._positions,o=e._previousPositions,r=i.length,s;if(r===1&&e._buttonDown[Us.LEFT]){let a=i.values[0];z.clone(a,e._primaryPosition);let c=e._primaryPreviousPosition;s=e.getInputAction(An.MOUSE_MOVE,n),l(s)&&(z.clone(c,hK.startPosition),z.clone(a,hK.endPosition),s(hK)),z.clone(a,c),t.preventDefault()}else if(r===2&&e._isPinching&&(s=e.getInputAction(An.PINCH_MOVE,n),l(s))){let a=i.values[0],c=i.values[1],u=o.values[0],f=o.values[1],d=c.x-a.x,p=c.y-a.y,g=Math.sqrt(d*d+p*p)*.25,m=f.x-u.x,x=f.y-u.y,b=Math.sqrt(m*m+x*x)*.25,T=(c.y+a.y)*.125,A=(f.y+u.y)*.125,C=Math.atan2(p,d),E=Math.atan2(x,m);z.fromElements(0,b,YF.distance.startPosition),z.fromElements(0,g,YF.distance.endPosition),z.fromElements(E,A,YF.angleAndHeight.startPosition),z.fromElements(C,T,YF.angleAndHeight.endPosition),s(YF)}}function Olt(e,t){if(t.target.setPointerCapture(t.pointerId),t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.set(i,O0(e,t,new z)),m8(e,t),e._previousPositions.set(i,z.clone(n.get(i)))}else J0e(e,t)}function Q0e(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.remove(i),m8(e,t),e._previousPositions.remove(i)}else exe(e,t)}function Mlt(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId,o=n.get(i);if(!l(o))return;O0(e,t,o),nxe(e,t);let r=e._previousPositions;z.clone(n.get(i),r.get(i))}else txe(e,t)}function Oh(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-Oh.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new z,this._primaryPosition=new z,this._primaryPreviousPosition=new z,this._positions=new Dt,this._previousPositions=new Dt,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=y(e,document),vlt(this)}Oh.prototype.setInputAction=function(e,t,n){let i=pK(t,n);this._inputEvents[i]=e};Oh.prototype.getInputAction=function(e,t){let n=pK(e,t);return this._inputEvents[n]};Oh.prototype.removeInputAction=function(e,t){let n=pK(e,t);delete this._inputEvents[n]};Oh.prototype.isDestroyed=function(){return!1};Oh.prototype.destroy=function(){return wlt(this),ue(this)};Oh.mouseEmulationIgnoreMilliseconds=800;Oh.touchHoldDelayMilliseconds=1500;var Ku=Oh;function Llt(e,t,n,i,o,r,s){let a=Li.numberOfPoints(e,t,o),c,u=n.red,f=n.green,d=n.blue,p=n.alpha,g=i.red,m=i.green,x=i.blue,b=i.alpha;if(H.equals(n,i)){for(c=0;c<a;c++)r[s++]=H.floatToByte(u),r[s++]=H.floatToByte(f),r[s++]=H.floatToByte(d),r[s++]=H.floatToByte(p);return s}let T=(g-u)/a,A=(m-f)/a,C=(x-d)/a,E=(b-p)/a,v=s;for(c=0;c<a;c++)r[v++]=H.floatToByte(u+c*T),r[v++]=H.floatToByte(f+c*A),r[v++]=H.floatToByte(d+c*C),r[v++]=H.floatToByte(p+c*E);return v}function XF(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=y(e.arcType,nn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=y(e.ellipsoid,ee.default),this._workerName="createSimplePolylineGeometry";let o=1+t.length*h.packedLength;o+=l(n)?1+n.length*H.packedLength:1,this.packedLength=o+ee.packedLength+3}XF.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};XF.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ee.unpack(e,t);t+=ee.packedLength;let c=e[t++]===1,u=e[t++],f=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=a,n._colorsPerVertex=c,n._arcType=u,n._granularity=f,n):new XF({positions:r,colors:s,ellipsoid:a,colorsPerVertex:c,arcType:u,granularity:f})};var p8=new Array(2),_8=new Array(2),Nlt={positions:p8,height:_8,ellipsoid:void 0,minDistance:void 0,granularity:void 0};XF.createGeometry=function(e){let t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,r=e._granularity,s=e._ellipsoid,a=P.chordLength(r,s.maximumRadius),c=l(n)&&!i,u,f=t.length,d,p,g,m,x=0;if(o===nn.GEODESIC||o===nn.RHUMB){let E,v,D;o===nn.GEODESIC?(E=P.chordLength(r,s.maximumRadius),v=Li.numberOfPoints,D=Li.generateArc):(E=r,v=Li.numberOfPointsRhumbLine,D=Li.generateRhumbArc);let O=Li.extractHeights(t,s),R=Nlt;if(o===nn.GEODESIC?R.minDistance=a:R.granularity=r,R.ellipsoid=s,c){let M=0;for(u=0;u<f-1;u++)M+=v(t[u],t[u+1],E)+1;d=new Float64Array(M*3),g=new Uint8Array(M*4),R.positions=p8,R.height=_8;let N=0;for(u=0;u<f-1;++u){p8[0]=t[u],p8[1]=t[u+1],_8[0]=O[u],_8[1]=O[u+1];let _=D(R);if(l(n)){let S=_.length/3;m=n[u];for(let w=0;w<S;++w)g[N++]=H.floatToByte(m.red),g[N++]=H.floatToByte(m.green),g[N++]=H.floatToByte(m.blue),g[N++]=H.floatToByte(m.alpha)}d.set(_,x),x+=_.length}}else if(R.positions=t,R.height=O,d=new Float64Array(D(R)),l(n)){for(g=new Uint8Array(d.length/3*4),u=0;u<f-1;++u){let N=t[u],_=t[u+1],S=n[u],w=n[u+1];x=Llt(N,_,S,w,a,g,x)}let M=n[f-1];g[x++]=H.floatToByte(M.red),g[x++]=H.floatToByte(M.green),g[x++]=H.floatToByte(M.blue),g[x++]=H.floatToByte(M.alpha)}}else{p=c?f*2-2:f,d=new Float64Array(p*3),g=l(n)?new Uint8Array(p*4):void 0;let E=0,v=0;for(u=0;u<f;++u){let D=t[u];if(c&&u>0&&(h.pack(D,d,E),E+=3,m=n[u-1],g[v++]=H.floatToByte(m.red),g[v++]=H.floatToByte(m.green),g[v++]=H.floatToByte(m.blue),g[v++]=H.floatToByte(m.alpha)),c&&u===f-1)break;h.pack(D,d,E),E+=3,l(n)&&(m=n[u],g[v++]=H.floatToByte(m.red),g[v++]=H.floatToByte(m.green),g[v++]=H.floatToByte(m.blue),g[v++]=H.floatToByte(m.alpha))}}let b=new pn;b.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),l(n)&&(b.color=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=d.length/3;let T=(p-1)*2,A=Fe.createTypedArray(p,T),C=0;for(u=0;u<p-1;++u)A[C++]=u,A[C++]=u+1;return new ft({attributes:b,indices:A,primitiveType:Ne.LINES,boundingSphere:ce.fromPoints(t)})};var yK=XF;function QS(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new ia(i),this._workerName="createSphereGeometry"}QS.packedLength=ia.packedLength;QS.pack=function(e,t,n){return ia.pack(e._ellipsoidGeometry,t,n)};var Flt=new ia,M0={radius:void 0,radii:new h,vertexFormat:new Ie,stackPartitions:void 0,slicePartitions:void 0};QS.unpack=function(e,t,n){let i=ia.unpack(e,t,Flt);return M0.vertexFormat=Ie.clone(i._vertexFormat,M0.vertexFormat),M0.stackPartitions=i._stackPartitions,M0.slicePartitions=i._slicePartitions,l(n)?(h.clone(i._radii,M0.radii),n._ellipsoidGeometry=new ia(M0),n):(M0.radius=i._radii.x,new QS(M0))};QS.createGeometry=function(e){return ia.createGeometry(e._ellipsoidGeometry)};var xK=QS;function Blt(e){return e<=.04045?e*.07739938080495357:Math.pow((e+.055)*.9478672985781991,2.4)}var jT=Blt;var klt={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},xn=klt;function L0(e){}Object.defineProperties(L0.prototype,{ellipsoid:{get:de.throwInstantiationError},rectangle:{get:de.throwInstantiationError},projection:{get:de.throwInstantiationError}});L0.prototype.getNumberOfXTilesAtLevel=de.throwInstantiationError;L0.prototype.getNumberOfYTilesAtLevel=de.throwInstantiationError;L0.prototype.rectangleToNativeRectangle=de.throwInstantiationError;L0.prototype.tileXYToNativeRectangle=de.throwInstantiationError;L0.prototype.tileXYToRectangle=de.throwInstantiationError;L0.prototype.positionToTileXY=de.throwInstantiationError;var bK=L0;function qT(e){e=y(e,y.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=y(e.epoch,ze.MINIMUM_VALUE),this.tolerance=y(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(qT.prototype,{clock:{get:function(){return this._clock},set:function(e){let t=this._clock;t!==e&&(l(t)&&(this._clockSubscription(),this._clockSubscription=void 0),l(e)&&(this._clockSubscription=e.onTick.addEventListener(qT.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){let t=this._element;t!==e&&(l(t)&&t.removeEventListener("seeked",this._seekFunction,!1),l(e)&&(this._seeking=!1,this._seekFunction=Vlt(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}});qT.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,ue(this)};qT.prototype.isDestroyed=function(){return!1};qT.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;let t=this._element;try{t.playbackRate=e.multiplier}catch{t.playbackRate=0}this._lastPlaybackRate=e.multiplier};qT.prototype._onTick=function(e){let t=this._element;if(!l(t)||t.readyState<2)return;let n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(e);let o=e.currentTime,r=y(this.epoch,ze.MINIMUM_VALUE),s=K.secondsDifference(o,r),a=t.duration,c,u=t.currentTime;t.loop?(s=s%a,s<0&&(s=a-s),c=s):s>a?c=a:s<0?c=0:c=s;let f=i?y(this.tolerance,1):.001;Math.abs(c-u)>f&&(this._seeking=!0,t.currentTime=c)};function Vlt(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var TK=qT;function Ult(e,t){this.rectangle=e,this.maxLevel=t}function ixe(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}ixe.prototype.build=function(e){e._tilingScheme=this.tilingScheme,e._heightmapWidth=this.heightmapWidth,e._heightmapHeight=this.heightmapHeight,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._rectangles=this.rectangles};function zlt(e,t){let n=t.getElementsByTagName("SRS")[0].textContent;if(n==="EPSG:4326")e.tilingScheme=new Xi({ellipsoid:e.ellipsoid});else throw new se(`SRS ${n} is not supported`);let i=t.getElementsByTagName("TileFormat")[0];e.heightmapWidth=parseInt(i.getAttribute("width"),10),e.heightmapHeight=parseInt(i.getAttribute("height"),10),e.levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.ellipsoid,Math.min(e.heightmapWidth,e.heightmapHeight),e.tilingScheme.getNumberOfXTilesAtLevel(0));let o=t.getElementsByTagName("DataExtent");for(let r=0;r<o.length;++r){let s=o[r],a=P.toRadians(parseFloat(s.getAttribute("minx"))),c=P.toRadians(parseFloat(s.getAttribute("miny"))),u=P.toRadians(parseFloat(s.getAttribute("maxx"))),f=P.toRadians(parseFloat(s.getAttribute("maxy"))),d=parseInt(s.getAttribute("maxlevel"),10);e.rectangles.push(new Ult(new ae(a,c,u,f),d))}}function Hlt(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i=`${i}: ${t.message}`),Oo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new se(i)}async function Glt(e,t,n){try{let i=await t.fetchXML();zlt(e,i)}catch(i){Hlt(t,i,n)}}function N0(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let t=e.credit;typeof t=="string"&&(t=new At(t)),this._credit=t,this._tilingScheme=void 0,this._rectangles=[]}Object.defineProperties(N0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});N0.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=new ixe(t),i=Ae.createIfNeeded(e);await Glt(n,i);let o=new N0(t);return n.build(o),o._resource=i,o};N0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}).fetchImage({preferImageBitmap:!0});if(!l(s))return;let a=this;return Promise.resolve(s).then(function(c){return new Wa({buffer:Td(c),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:Wlt(a,e,t,n),structure:a._terrainDataStructure})})};N0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var oxe=new ae;function Wlt(e,t,n,i){let o=e._tilingScheme,r=e._rectangles,s=o.tileXYToRectangle(t,n,i),a=0;for(let c=0;c<r.length&&a!==15;++c){let u=r[c];if(u.maxLevel<=i)continue;let f=u.rectangle,d=ae.intersection(f,s,oxe);l(d)&&(g8(o,f,t*2,n*2,i+1)&&(a|=4),g8(o,f,t*2+1,n*2,i+1)&&(a|=8),g8(o,f,t*2,n*2+1,i+1)&&(a|=1),g8(o,f,t*2+1,n*2+1,i+1)&&(a|=2))}return a}function g8(e,t,n,i,o){let r=e.tileXYToRectangle(n,i,o);return l(ae.intersection(r,t,oxe))}N0.prototype.getTileDataAvailable=function(e,t,n){};N0.prototype.loadTileDataAvailability=function(e,t,n){};var CK=N0;var jlt={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},AK=Object.freeze(jlt);function qlt(e){switch(e){case te.FLOAT:return"float";case te.FLOAT_VEC2:return"vec2";case te.FLOAT_VEC3:return"vec3";case te.FLOAT_VEC4:return"vec4";case te.FLOAT_MAT2:return"mat2";case te.FLOAT_MAT3:return"mat3";case te.FLOAT_MAT4:return"mat4";case te.SAMPLER_2D:return"sampler2D";case te.BOOL:return"bool"}}var EK=qlt;function Ylt(e,t,n){return function(){n.apply(e,arguments),t.apply(e,arguments)}}var KF=Ylt;var JS=`#ifdef MRT +layout (location = 0) out vec4 out_FragData_0; +layout (location = 1) out vec4 out_FragData_1; +#else +layout (location = 0) out vec4 out_FragColor; #endif -// NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 -`;var MF=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, -// setIntersectionPair, INF_HIT, NO_HIT +uniform vec4 u_bgColor; +uniform sampler2D u_depthTexture; -/* intersectDepth defines (set in Scene/VoxelRenderResources.js) -#define DEPTH_INTERSECTION_INDEX ### -*/ +in vec2 v_textureCoordinates; -uniform mat4 u_transformPositionViewToUv; +void main() +{ + if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) + { +#ifdef MRT + out_FragData_0 = u_bgColor; + out_FragData_1 = vec4(u_bgColor.a); +#else + out_FragColor = u_bgColor; +#endif + return; + } + + discard; +} +`;var ZF=`in vec2 v_textureCoordinates; +const float M_PI = 3.141592653589793; -void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); - if (logDepthOrDepth != 0.0) { - // Calculate how far the ray must travel before it hits the depth buffer. - vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); - eyeCoordinateDepth /= eyeCoordinateDepth.w; - vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); - float t = dot(depthPositionUv - ray.pos, ray.dir); - setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); - } else { - // There's no depth at this location. - setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); +float vdcRadicalInverse(int i) +{ + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) + { + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); } + return value; } -`;var LF=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, -// NO_HIT, setShapeIntersection -/* Clipping plane defines (set in Scene/VoxelRenderResources.js) -#define CLIPPING_PLANES_UNION -#define CLIPPING_PLANES_COUNT -#define CLIPPING_PLANES_INTERSECTION_INDEX -*/ +vec2 hammersley2D(int i, int N) +{ + return vec2(float(i) / float(N), vdcRadicalInverse(i)); +} -uniform sampler2D u_clippingPlanesTexture; -uniform mat4 u_clippingPlanesMatrix; +vec3 importanceSampleGGX(vec2 xi, float alphaRoughness, vec3 N) +{ + float alphaRoughnessSquared = alphaRoughness * alphaRoughness; + float phi = 2.0 * M_PI * xi.x; + float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (alphaRoughnessSquared - 1.0) * xi.y)); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); + vec3 tangentX = normalize(cross(upVector, N)); + vec3 tangentY = cross(N, tangentX); + return tangentX * H.x + tangentY * H.y + N * H.z; +} -// Plane is in Hessian Normal Form -vec4 intersectPlane(in Ray ray, in vec4 plane) { - vec3 n = plane.xyz; // normal - float w = plane.w; // -dot(pointOnPlane, normal) +/** + * Estimate the geometric self-shadowing of the microfacets in a surface, + * using the Smith Joint GGX visibility function. + * Note: Vis = G / (4 * NdotL * NdotV) + * see Eric Heitz. 2014. Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs. Journal of Computer Graphics Techniques, 3 + * see Real-Time Rendering. Page 331 to 336. + * see https://google.github.io/filament/Filament.md.html#materialsystem/specularbrdf/geometricshadowing(specularg) + * + * @param {float} alphaRoughness The roughness of the material, expressed as the square of perceptual roughness. + * @param {float} NdotL The cosine of the angle between the surface normal and the direction to the light source. + * @param {float} NdotV The cosine of the angle between the surface normal and the direction to the camera. + */ +float smithVisibilityGGX(float alphaRoughness, float NdotL, float NdotV) +{ + float alphaRoughnessSq = alphaRoughness * alphaRoughness; - float a = dot(ray.pos, n); - float b = dot(ray.dir, n); - float t = -(w + a) / b; + float GGXV = NdotL * sqrt(NdotV * NdotV * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); + float GGXL = NdotV * sqrt(NdotL * NdotL * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); - return vec4(n, t); + float GGX = GGXV + GGXL; // 2.0 if NdotL = NdotV = 1.0 + if (GGX > 0.0) + { + return 0.5 / GGX; // 1/4 if NdotL = NdotV = 1.0 + } + return 0.0; } -void intersectClippingPlanes(in Ray ray, inout Intersections ix) { - vec4 backSide = vec4(-ray.dir, -INF_HIT); - vec4 farSide = vec4(ray.dir, +INF_HIT); - RayShapeIntersection clippingVolume; - - #if (CLIPPING_PLANES_COUNT == 1) - // Union and intersection are the same when there's one clipping plane, and the code - // is more simplified. - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - bool reflects = dot(ray.dir, intersection.xyz) < 0.0; - clippingVolume.entry = reflects ? backSide : intersection; - clippingVolume.exit = reflects ? intersection : farSide; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); - #elif defined(CLIPPING_PLANES_UNION) - vec4 firstTransmission = vec4(ray.dir, +INF_HIT); - vec4 lastReflection = vec4(-ray.dir, -INF_HIT); - for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - if (dot(ray.dir, planeUv.xyz) > 0.0) { - firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; - } else { - lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; - } - } - clippingVolume.entry = backSide; - clippingVolume.exit = lastReflection; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); - clippingVolume.entry = firstTransmission; - clippingVolume.exit = farSide; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); - #else // intersection - vec4 lastTransmission = vec4(ray.dir, -INF_HIT); - vec4 firstReflection = vec4(-ray.dir, +INF_HIT); - for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - if (dot(ray.dir, planeUv.xyz) > 0.0) { - lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; - } else { - firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; - } - } - if (lastTransmission.w < firstReflection.w) { - clippingVolume.entry = lastTransmission; - clippingVolume.exit = firstReflection; - } else { - clippingVolume.entry = vec4(-ray.dir, NO_HIT); - clippingVolume.exit = vec4(ray.dir, NO_HIT); +vec2 integrateBrdf(float roughness, float NdotV) +{ + vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV); + float A = 0.0; + float B = 0.0; + const int NumSamples = 1024; + float alphaRoughness = roughness * roughness; + for (int i = 0; i < NumSamples; i++) + { + vec2 xi = hammersley2D(i, NumSamples); + vec3 H = importanceSampleGGX(xi, alphaRoughness, vec3(0.0, 0.0, 1.0)); + vec3 L = 2.0 * dot(V, H) * H - V; + float NdotL = clamp(L.z, 0.0, 1.0); + float NdotH = clamp(H.z, 0.0, 1.0); + float VdotH = clamp(dot(V, H), 0.0, 1.0); + if (NdotL > 0.0) + { + float G = smithVisibilityGGX(alphaRoughness, NdotL, NdotV); + float G_Vis = 4.0 * G * VdotH * NdotL / NdotH; + float Fc = pow(1.0 - VdotH, 5.0); + A += (1.0 - Fc) * G_Vis; + B += Fc * G_Vis; } - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); - #endif + } + return vec2(A, B) / float(NumSamples); } -`;var HS=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, -// RayShapeIntersection - -vec4 intersectLongitude(in Ray ray, in float angle, in bool positiveNormal) { - float normalSign = positiveNormal ? 1.0 : -1.0; - vec2 planeNormal = vec2(-sin(angle), cos(angle)) * normalSign; - vec2 position = ray.pos.xy; - vec2 direction = ray.dir.xy; - float approachRate = dot(direction, planeNormal); - float distance = -dot(position, planeNormal); +void main() +{ + out_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0); +} +`;var $F=`uniform sampler2D u_noiseTexture; +uniform vec3 u_noiseTextureDimensions; +uniform float u_noiseDetail; +in vec2 v_offset; +in vec3 v_maximumSize; +in vec4 v_color; +in float v_slice; +in float v_brightness; - float t = (approachRate == 0.0) - ? NO_HIT - : distance / approachRate; +float wrap(float value, float rangeLength) { + if(value < 0.0) { + float absValue = abs(value); + float modValue = mod(absValue, rangeLength); + return mod(rangeLength - modValue, rangeLength); + } + return mod(value, rangeLength); +} - return vec4(planeNormal, 0.0, t); +vec3 wrapVec(vec3 value, float rangeLength) { + return vec3(wrap(value.x, rangeLength), + wrap(value.y, rangeLength), + wrap(value.z, rangeLength)); } -RayShapeIntersection intersectHalfSpace(in Ray ray, in float angle, in bool positiveNormal) -{ - vec4 intersection = intersectLongitude(ray, angle, positiveNormal); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); +vec2 voxelToUV(vec3 voxelIndex) { + float textureSliceWidth = u_noiseTextureDimensions.x; + float noiseTextureRows = u_noiseTextureDimensions.y; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - bool hitFront = (intersection.w > 0.0) == (dot(ray.pos.xy, intersection.xy) > 0.0); - if (!hitFront) { - return RayShapeIntersection(intersection, farSide); - } else { - return RayShapeIntersection(-1.0 * farSide, intersection); - } -} + float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; + vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, + inverseNoiseTextureRows / textureSliceWidth); + vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); + float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); + float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); -void intersectFlippedWedge(in Ray ray, in vec2 minMaxAngle, out RayShapeIntersection intersections[2]) -{ - intersections[0] = intersectHalfSpace(ray, minMaxAngle.x, false); - intersections[1] = intersectHalfSpace(ray, minMaxAngle.y, true); + float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; + float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; + return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; } -bool hitPositiveHalfPlane(in Ray ray, in vec4 intersection, in bool positiveNormal) { - float normalSign = positiveNormal ? 1.0 : -1.0; - vec2 planeDirection = vec2(intersection.y, -intersection.x) * normalSign; - vec2 hit = ray.pos.xy + intersection.w * ray.dir.xy; - return dot(hit, planeDirection) > 0.0; +// Interpolate a voxel with its neighbor (along the positive X-axis) +vec4 lerpSamplesX(vec3 voxelIndex, float x) { + vec2 uv0 = voxelToUV(voxelIndex); + vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); + vec4 sample0 = texture(u_noiseTexture, uv0); + vec4 sample1 = texture(u_noiseTexture, uv1); + return mix(sample0, sample1, x); } -void intersectHalfPlane(in Ray ray, in float angle, out RayShapeIntersection intersections[2]) { - vec4 intersection = intersectLongitude(ray, angle, true); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); +vec4 sampleNoiseTexture(vec3 position) { + float textureSliceWidth = u_noiseTextureDimensions.x; + vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); + vec3 lerpValue = fract(recenteredPos); + vec3 voxelIndex = floor(recenteredPos); - if (hitPositiveHalfPlane(ray, intersection, true)) { - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = vec4(-1.0 * intersection.xy, 0.0, intersection.w); - intersections[1].entry = intersection; - intersections[1].exit = farSide; - } else { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = farSide; - intersections[1].entry = miss; - intersections[1].exit = miss; - } + vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); + vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); + vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); + vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); + + vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); + vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); + return mix(yLerp0, yLerp1, lerpValue.z); } -RayShapeIntersection intersectRegularWedge(in Ray ray, in vec2 minMaxAngle) -{ - // Note: works for maxAngle > minAngle + pi, where the "regular wedge" - // is actually a negative volume. - // Compute intersections with the two planes. - // Normals will point toward the "outside" (negative space) - vec4 intersect1 = intersectLongitude(ray, minMaxAngle.x, false); - vec4 intersect2 = intersectLongitude(ray, minMaxAngle.y, true); +// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). +bool intersectSphere(vec3 origin, vec3 dir, float slice, + out vec3 point, out vec3 normal) { + float A = dot(dir, dir); + float B = dot(origin, dir); + float C = dot(origin, origin) - 0.25; + float discriminant = (B * B) - (A * C); + if(discriminant < 0.0) { + return false; + } + float root = sqrt(discriminant); + float t = (-B - root) / A; + if(t < 0.0) { + t = (-B + root) / A; + } + point = origin + t * dir; - // Choose intersection with smallest T as the "first", the other as "last" - // Note: first or last could be in the "shadow" wedge, beyond the tip - bool inOrder = intersect1.w <= intersect2.w; - vec4 first = inOrder ? intersect1 : intersect2; - vec4 last = inOrder ? intersect2 : intersect1; + if(slice >= 0.0) { + point.z = (slice / 2.0) - 0.5; + if(length(point) > 0.5) { + return false; + } + } - bool firstIsAhead = first.w >= 0.0; - bool startedInsideFirst = dot(ray.pos.xy, first.xy) < 0.0; - bool exitFromInside = firstIsAhead == startedInsideFirst; - bool lastIsAhead = last.w > 0.0; - bool startedOutsideLast = dot(ray.pos.xy, last.xy) >= 0.0; - bool enterFromOutside = lastIsAhead == startedOutsideLast; + normal = normalize(point); + point -= czm_epsilon2 * normal; + return true; +} - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); - vec4 miss = vec4(normalize(ray.dir), NO_HIT); +// Transforms the ray origin and direction into unit sphere space, +// then transforms the result back into the ellipsoid's space. +bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, + out vec3 point, out vec3 normal) { + if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { + return false; + } - if (exitFromInside && enterFromOutside) { - // Ray crosses both faces of negative wedge, exiting then entering the positive shape - return RayShapeIntersection(first, last); - } else if (!exitFromInside && enterFromOutside) { - // Ray starts inside wedge. last is in shadow wedge, and first is actually the entry - return RayShapeIntersection(-1.0 * farSide, first); - } else if (exitFromInside && !enterFromOutside) { - // First intersection was in the shadow wedge, so last is actually the exit - return RayShapeIntersection(last, farSide); - } else { // !exitFromInside && !enterFromOutside - // Both intersections were in the shadow wedge - return RayShapeIntersection(miss, miss); + vec3 o = (origin - center) / scale; + vec3 d = dir / scale; + vec3 p, n; + bool intersected = intersectSphere(o, d, slice, p, n); + if(intersected) { + point = (p * scale) + center; + normal = n; } + return intersected; } -`;var NF=`// See IntersectionUtils.glsl for the definitions of Ray, RayShapeIntersection, -// NO_HIT, Intersections -/* Box defines (set in Scene/VoxelBoxShape.js) -#define BOX_INTERSECTION_INDEX ### // always 0 -*/ +// Assume that if phase shift is being called for octave i, +// the frequency is of i - 1. This saves us from doing extra +// division / multiplication operations. +vec2 phaseShift2D(vec2 p, vec2 freq) { + return (czm_pi / 2.0) * sin(freq.yx * p.yx); +} -uniform vec3 u_renderMinBounds; -uniform vec3 u_renderMaxBounds; +vec2 phaseShift3D(vec3 p, vec2 freq) { + return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); +} -RayShapeIntersection intersectBox(in Ray ray, in vec3 minBound, in vec3 maxBound) -{ - // Consider the box as the intersection of the space between 3 pairs of parallel planes - // Compute the distance along the ray to each plane - vec3 t0 = (minBound - ray.pos) / ray.dir; - vec3 t1 = (maxBound - ray.pos) / ray.dir; +// The cloud texture function derived from Gardner's 1985 paper, +// "Visual Simulation of Clouds." +// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf +const float T0 = 0.6; // contrast of the texture pattern +const float k = 0.1; // computed to produce a maximum value of 1 +const float C0 = 0.8; // coefficient +const float FX0 = 0.6; // frequency X +const float FY0 = 0.6; // frequency Y +const int octaves = 5; - // Identify candidate entries/exits based on distance from ray.pos - vec3 entries = min(t0, t1); - vec3 exits = max(t0, t1); +float T(vec3 point) { + vec2 sum = vec2(0.0); + float Ci = C0; + vec2 FXY = vec2(FX0, FY0); + vec2 PXY = vec2(0.0); + for(int i = 1; i <= octaves; i++) { + PXY = phaseShift3D(point, FXY); + Ci *= 0.707; + FXY *= 2.0; + vec2 sinTerm = sin(FXY * point.xy + PXY); + sum += Ci * sinTerm + vec2(T0); + } + return k * sum.x * sum.y; +} - vec3 directions = sign(ray.dir); +const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, +const float t = 0.4; // fraction of texture shading +const float s = 0.25; // fraction of specular reflection - // The actual intersection points are the furthest entry and the closest exit - float lastEntry = maxComponent(entries); - bvec3 isLastEntry = equal(entries, vec3(lastEntry)); - vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; - vec4 entry = vec4(entryNormal, lastEntry); +float I(float Id, float Is, float It) { + return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; +} - float firstExit = minComponent(exits); - bvec3 isFirstExit = equal(exits, vec3(firstExit)); - vec3 exitNormal = vec3(isLastEntry) * directions; - vec4 exit = vec4(exitNormal, firstExit); +const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); - if (entry.w > exit.w) { - entry.w = NO_HIT; - exit.w = NO_HIT; +vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, + float brightness) { + vec3 cloudPoint, cloudNormal; + if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, + cloudPoint, cloudNormal)) { + return vec4(0.0); } - return RayShapeIntersection(entry, exit); -} + float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection + float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection + float It = T(cloudPoint); // texture function + float intensity = I(Id, Is, It); + vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); -void intersectShape(in Ray ray, inout Intersections ix) -{ - RayShapeIntersection intersection = intersectBox(ray, u_renderMinBounds, u_renderMaxBounds); - setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); -} -`;var FF=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, Intersections, -// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection, -// intersectIntersections -// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, -// intersectFlippedWedge, intersectRegularWedge + vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); + float W = noise.x; + float W2 = noise.y; + float W3 = noise.z; -/* Cylinder defines (set in Scene/VoxelCylinderShape.js) -#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN -#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO + // The dot product between the cloud's normal and the ray's direction is greatest + // in the center of the ellipsoid's surface. It decreases towards the edge. + // Thus, it is used to blur the areas leading to the edges of the ellipsoid, + // so that no harsh lines appear. -#define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX -#define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN -#define CYLINDER_INTERSECTION_INDEX_ANGLE -*/ + // The first (and biggest) layer of worley noise is then subtracted from this. + // The final result is scaled up so that the base cloud is not too translucent. + float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); + float TR = pow(ndDot, 3.0) - W; // translucency + TR *= 1.3; -// Cylinder uniforms -uniform vec2 u_cylinderRenderRadiusMinMax; -uniform vec2 u_cylinderRenderHeightMinMax; -#if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) - uniform vec2 u_cylinderRenderAngleMinMax; -#endif + // Subtracting the second and third layers of worley noise is more complicated. + // If these layers of noise were simply subtracted from the current translucency, + // the shape derived from the first layer of noise would be completely deleted. + // The erosion of this noise should thus be constricted to the edges of the cloud. + // However, because the edges of the ellipsoid were already blurred away, mapping + // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. + // The value of (0.5 - ndDot) provides the best compromise. + float minusDot = 0.5 - ndDot; -/** - * Find the intersection of a ray with the volume defined by two planes of constant z - */ -RayShapeIntersection intersectHeightBounds(in Ray ray, in vec2 minMaxHeight, in bool convex) -{ - float zPosition = ray.pos.z; - float zDirection = ray.dir.z; + // Even with the previous calculation, subtracting the second layer of wnoise + // erode too much of the cloud. The addition of it, however, will detailed + // volume to the cloud. As long as the noise is only added and not subtracted, + // the results are aesthetically pleasing. - float tmin = (minMaxHeight.x - zPosition) / zDirection; - float tmax = (minMaxHeight.y - zPosition) / zDirection; + // The minusDot product is mapped in a way that it is larger at the edges of + // the ellipsoid, so a subtraction and min operation are used instead of + // an addition and max one. + TR -= min(minusDot * W2, 0.0); - // Normals point outside the volume - float signFlip = convex ? 1.0 : -1.0; - vec4 intersectMin = vec4(0.0, 0.0, -1.0 * signFlip, tmin); - vec4 intersectMax = vec4(0.0, 0.0, 1.0 * signFlip, tmax); + // The third level of worley noise is subtracted from the result, with some + // modifications. First, a scalar is added to minusDot so that the noise + // starts affecting the shape farther away from the center of the ellipsoid's + // surface. Then, it is scaled down so its impact is not too intense. + TR -= 0.8 * (minusDot + 0.25) * W3; - bool topEntry = zDirection < 0.0; - vec4 entry = topEntry ? intersectMax : intersectMin; - vec4 exit = topEntry ? intersectMin : intersectMax; + // The texture function's shading does not correlate with the shape of the cloud + // produced by the layers of noise, so an extra shading scalar is calculated. + // The darkest areas of the cloud are assigned to be where the noise erodes + // the cloud the most. This is then interpolated based on the translucency + // and the diffuse shading term of that point in the cloud. + float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); - return RayShapeIntersection(entry, exit); + // To avoid values that are too dark, this scalar is increased by a small amount + // and clamped so it never goes to zero. + shading = clamp(shading + 0.2, 0.3, 1.0); + + // Finally, the contrast of the cloud's color is increased. + vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); + return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; } -/** - * Find the intersection of a ray with a right cylindrical surface of a given radius - * about the z-axis. - */ -RayShapeIntersection intersectCylinder(in Ray ray, in float radius, in bool convex) -{ - vec2 position = ray.pos.xy; - vec2 direction = ray.dir.xy; +void main() { +#ifdef DEBUG_BILLBOARDS + out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); +#endif + // To avoid calculations with high values, + // we raycast from an arbitrarily smaller space. + vec2 coordinate = v_maximumSize.xy * v_offset; - float a = dot(direction, direction); - float b = dot(position, direction); - float c = dot(position, position) - radius * radius; - float determinant = b * b - a * c; + vec3 ellipsoidScale = 0.82 * v_maximumSize; + vec3 ellipsoidCenter = vec3(0.0); - if (determinant < 0.0) { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - return RayShapeIntersection(miss, miss); + float zOffset = max(ellipsoidScale.z - 10.0, 0.0); + vec3 eye = vec3(0, 0, -10.0 - zOffset); + vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); + vec3 rayOrigin = eye; +#ifdef DEBUG_ELLIPSOIDS + vec3 point, normal; + if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, + point, normal)) { + out_FragColor = v_brightness * v_color; } - - determinant = sqrt(determinant); - float t1 = (-b - determinant) / a; - float t2 = (-b + determinant) / a; - float signFlip = convex ? 1.0 : -1.0; - vec4 intersect1 = vec4(normalize(position + t1 * direction) * signFlip, 0.0, t1); - vec4 intersect2 = vec4(normalize(position + t2 * direction) * signFlip, 0.0, t2); - - return RayShapeIntersection(intersect1, intersect2); -} - -/** - * Find the intersection of a ray with a right cylindrical solid of given - * radius and height bounds. NOTE: The shape is assumed to be convex. - */ -RayShapeIntersection intersectBoundedCylinder(in Ray ray, in float radius, in vec2 minMaxHeight) -{ - RayShapeIntersection cylinderIntersection = intersectCylinder(ray, radius, true); - RayShapeIntersection heightBoundsIntersection = intersectHeightBounds(ray, minMaxHeight, true); - return intersectIntersections(ray, cylinderIntersection, heightBoundsIntersection); +#else +#ifndef DEBUG_BILLBOARDS + vec4 cloud = drawCloud(rayOrigin, rayDir, + ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); + if(cloud.w < 0.01) { + discard; + } + out_FragColor = cloud; +#endif +#endif } +`;var QF=`#ifdef INSTANCED +in vec2 direction; +#endif +in vec4 positionHighAndScaleX; +in vec4 positionLowAndScaleY; +in vec4 packedAttribute0; +in vec4 packedAttribute1; +in vec4 color; -void intersectShape(Ray ray, inout Intersections ix) -{ - // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. - // Direction is scaled as well to be in sync with position. - ray.pos = ray.pos * 2.0 - 1.0; - ray.dir *= 2.0; +out vec2 v_offset; +out vec3 v_maximumSize; +out vec4 v_color; +out float v_slice; +out float v_brightness; - RayShapeIntersection outerIntersect = intersectBoundedCylinder(ray, u_cylinderRenderRadiusMinMax.y, u_cylinderRenderHeightMinMax); +void main() { + // Unpack attributes. + vec3 positionHigh = positionHighAndScaleX.xyz; + vec3 positionLow = positionLowAndScaleY.xyz; + vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); + float show = packedAttribute0.x; + float brightness = packedAttribute0.y; + vec2 coordinates = packedAttribute0.wz; + vec3 maximumSize = packedAttribute1.xyz; + float slice = packedAttribute1.w; - if (outerIntersect.entry.w == NO_HIT) { - return; - } - - #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) - // When the cylinder is perfectly thin it's necessary to sandwich the - // inner cylinder intersection inside the outer cylinder intersection. - - // Without this special case, - // [outerMin, outerMax, innerMin, innerMax] will bubble sort to - // [outerMin, innerMin, outerMax, innerMax] which will cause the back - // side of the cylinder to be invisible because it will think the ray - // is still inside the inner (negative) cylinder after exiting the - // outer (positive) cylinder. +#ifdef INSTANCED + vec2 dir = direction; +#else + vec2 dir = coordinates; +#endif - // With this special case, - // [outerMin, innerMin, innerMax, outerMax] will bubble sort to - // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + vec2 offset = dir - vec2(0.5, 0.5); + vec2 scaledOffset = scale * offset; + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + positionEC.xy += scaledOffset; + + positionEC.xyz *= show; + gl_Position = czm_projection * positionEC; - // Note: If initializeIntersections() changes its sorting function - // from bubble sort to something else, this code may need to change. - RayShapeIntersection innerIntersect = intersectCylinder(ray, 1.0, false); - setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter - setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter - setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit - setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) - RayShapeIntersection innerIntersect = intersectCylinder(ray, u_cylinderRenderRadiusMinMax.x, false); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); - #endif + v_offset = offset; + v_maximumSize = maximumSize; + v_color = color; + v_slice = slice; + v_brightness = brightness; +} +`;var JF=`uniform vec3 u_noiseTextureDimensions; +uniform float u_noiseDetail; +uniform vec3 u_noiseOffset; +in vec2 v_position; - #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) - RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) - RayShapeIntersection wedgeIntersects[2]; - intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax, wedgeIntersects); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) - RayShapeIntersection wedgeIntersects[2]; - intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x, wedgeIntersects); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); - #endif +float wrap(float value, float rangeLength) { + if(value < 0.0) { + float absValue = abs(value); + float modValue = mod(absValue, rangeLength); + return mod(rangeLength - modValue, rangeLength); + } + return mod(value, rangeLength); } -`;var BF=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, Intersections, -// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection -// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, -// intersectFlippedWedge, intersectRegularWedge -/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF -#define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE -#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX -#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN -#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX -#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN -*/ +vec3 wrapVec(vec3 value, float rangeLength) { + return vec3(wrap(value.x, rangeLength), + wrap(value.y, rangeLength), + wrap(value.z, rangeLength)); +} -#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) - uniform vec2 u_ellipsoidRenderLongitudeMinMax; -#endif -uniform float u_eccentricitySquared; -uniform vec2 u_ellipsoidRenderLatitudeSinMinMax; -uniform vec2 u_clipMinMaxHeight; +vec3 random3(vec3 p) { + float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); + float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); + return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); +} -RayShapeIntersection intersectZPlane(in Ray ray, in float z) { - float t = -ray.pos.z / ray.dir.z; +// Frequency corresponds to cell size. +// The higher the frequency, the smaller the cell size. +vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { + float textureSliceWidth = u_noiseTextureDimensions.x; + vec3 cell = centerCell + offset; + cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); + cell += floor(u_noiseOffset / u_noiseDetail); + vec3 p = offset + random3(cell); + return p; +} - bool startsOutside = sign(ray.pos.z) == sign(z); - bool entry = (t >= 0.0) != startsOutside; +float worleyNoise(vec3 p, float freq) { + vec3 centerCell = floor(p * freq); + vec3 pointInCell = fract(p * freq); + float shortestDistance = 1000.0; - vec4 intersect = vec4(0.0, 0.0, z, t); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + for(float z = -1.0; z <= 1.0; z++) { + for(float y = -1.0; y <= 1.0; y++) { + for(float x = -1.0; x <= 1.0; x++) { + vec3 offset = vec3(x, y, z); + vec3 point = getWorleyCellPoint(centerCell, offset, freq); - if (entry) { - return RayShapeIntersection(intersect, farSide); - } else { - return RayShapeIntersection(-1.0 * farSide, intersect); + float distance = length(pointInCell - point); + if(distance < shortestDistance) { + shortestDistance = distance; + } + } + } } + + return shortestDistance; } -RayShapeIntersection intersectHeight(in Ray ray, in float relativeHeight, in bool convex) -{ - // Scale the ray by the ellipsoid axes to make it a unit sphere - // Note: approximating ellipsoid + height as an ellipsoid - vec3 radiiCorrection = u_ellipsoidRadiiUv / (u_ellipsoidRadiiUv + relativeHeight); - vec3 position = ray.pos * radiiCorrection; - vec3 direction = ray.dir * radiiCorrection; +const float MAX_FBM_ITERATIONS = 10.0; - float a = dot(direction, direction); // ~ 1.0 (or maybe 4.0 if ray is scaled) - float b = dot(direction, position); // roughly inside [-1.0, 1.0] when zoomed in - float c = dot(position, position) - 1.0; // ~ 0.0 when zoomed in. - float determinant = b * b - a * c; // ~ b * b when zoomed in +float worleyFBMNoise(vec3 p, float octaves, float scale) { + float noise = 0.0; + float freq = 1.0; + float persistence = 0.625; + for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { + if(i >= octaves) { + break; + } - if (determinant < 0.0) { - vec4 miss = vec4(normalize(direction), NO_HIT); - return RayShapeIntersection(miss, miss); + noise += worleyNoise(p * scale, freq * scale) * persistence; + persistence *= 0.5; + freq *= 2.0; } + return noise; +} - determinant = sqrt(determinant); +void main() { + float textureSliceWidth = u_noiseTextureDimensions.x; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + float x = mod(v_position.x, textureSliceWidth); + float y = mod(v_position.y, textureSliceWidth); + float sliceRow = floor(v_position.y / textureSliceWidth); + float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; - // Compute larger root using standard formula - float signB = b < 0.0 ? -1.0 : 1.0; - // The other root may suffer from subtractive cancellation in the standard formula. - // Compute it from the first root instead. - float t1 = (-b - signB * determinant) / a; - float t2 = c / (a * t1); - float tmin = min(t1, t2); - float tmax = max(t1, t2); + vec3 position = vec3(x, y, z); + position /= u_noiseDetail; + float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); + float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); + float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); + out_FragColor = vec4(worley0, worley1, worley2, 1.0); +} +`;var e2=`uniform vec3 u_noiseTextureDimensions; +in vec2 position; - float directionScale = convex ? 1.0 : -1.0; - vec3 d1 = directionScale * normalize(position + tmin * direction); - vec3 d2 = directionScale * normalize(position + tmax * direction); +out vec2 v_position; - return RayShapeIntersection(vec4(d1, tmin), vec4(d2, tmax)); +void main() +{ + gl_Position = vec4(position, 0.1, 1.0); + + float textureSliceWidth = u_noiseTextureDimensions.x; + float noiseTextureRows = u_noiseTextureDimensions.y; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + vec2 transformedPos = (position * 0.5) + vec2(0.5); + transformedPos *= textureSliceWidth; + transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; + transformedPos.y *= noiseTextureRows; + v_position = transformedPos; } +`;var t2=`uniform sampler2D u_opaqueDepthTexture; +uniform sampler2D u_translucentDepthTexture; -/** - * Given a circular cone around the z-axis, with apex at the origin, - * find the parametric distance(s) along a ray where that ray intersects - * the cone. - * The cone opening angle is described by the squared cosine of - * its half-angle (the angle between the Z-axis and the surface) - */ -vec2 intersectDoubleEndedCone(in Ray ray, in float cosSqrHalfAngle) +in vec2 v_textureCoordinates; + +void main() { - vec3 o = ray.pos; - vec3 d = ray.dir; - float sinSqrHalfAngle = 1.0 - cosSqrHalfAngle; + float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; + float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; + translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); + out_FragColor = czm_packDepth(translucentDepth); +} +`;var n2=`/** + * Compositing for Weighted Blended Order-Independent Transparency. See: + * - http://jcgt.org/published/0002/02/09/ + * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html + */ - float aSin = d.z * d.z * sinSqrHalfAngle; - float aCos = -dot(d.xy, d.xy) * cosSqrHalfAngle; - float a = aSin + aCos; +uniform sampler2D u_opaque; +uniform sampler2D u_accumulation; +uniform sampler2D u_revealage; - float bSin = d.z * o.z * sinSqrHalfAngle; - float bCos = -dot(o.xy, d.xy) * cosSqrHalfAngle; - float b = bSin + bCos; +in vec2 v_textureCoordinates; - float cSin = o.z * o.z * sinSqrHalfAngle; - float cCos = -dot(o.xy, o.xy) * cosSqrHalfAngle; - float c = cSin + cCos; - // determinant = b * b - a * c. But bSin * bSin = aSin * cSin. - // Avoid subtractive cancellation by expanding to eliminate these terms - float determinant = 2.0 * bSin * bCos + bCos * bCos - aSin * cCos - aCos * cSin - aCos * cCos; +void main() +{ + vec4 opaque = texture(u_opaque, v_textureCoordinates); + vec4 accum = texture(u_accumulation, v_textureCoordinates); + float r = texture(u_revealage, v_textureCoordinates).r; - if (determinant < 0.0) { - return vec2(NO_HIT); - } else if (a == 0.0) { - // Ray is parallel to cone surface - return (b == 0.0) - ? vec2(NO_HIT) // Ray is on cone surface - : vec2(-0.5 * c / b, NO_HIT); - } - - determinant = sqrt(determinant); - - // Compute larger root using standard formula - float signB = b < 0.0 ? -1.0 : 1.0; - float t1 = (-b - signB * determinant) / a; - // The other root may suffer from subtractive cancellation in the standard formula. - // Compute it from the first root instead. - float t2 = c / (a * t1); - float tmin = min(t1, t2); - float tmax = max(t1, t2); - return vec2(tmin, tmax); -} - -/** - * Given a point on a conical surface, find the surface normal at that point. - */ -vec3 getConeNormal(in vec3 p, in bool convex) { - // Start with radial component pointing toward z-axis - vec2 radial = -abs(p.z) * normalize(p.xy); - // Z component points toward opening of cone - float zSign = (p.z < 0.0) ? -1.0 : 1.0; - float z = length(p.xy) * zSign; - // Flip normal if shape is convex - float flip = (convex) ? -1.0 : 1.0; - return normalize(vec3(radial, z) * flip); -} +#ifdef MRT + vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); +#else + vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); +#endif -/** - * Compute the shift between the ellipsoid origin and the apex of a cone of latitude - */ -float getLatitudeConeShift(in float sinLatitude) { - // Find prime vertical radius of curvature: - // the distance along the ellipsoid normal to the intersection with the z-axis - float x2 = u_eccentricitySquared * sinLatitude * sinLatitude; - float primeVerticalRadius = inversesqrt(1.0 - x2); + out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; - // Compute a shift from the origin to the intersection of the cone with the z-axis - return primeVerticalRadius * u_eccentricitySquared * sinLatitude; + if (opaque != czm_backgroundColor) + { + out_FragColor.a = 1.0; + } } +`;var i2=`in vec4 positionEC; -void intersectFlippedCone(in Ray ray, in float cosHalfAngle, out RayShapeIntersection intersections[2]) { - // Undo the scaling from ellipsoid to sphere - ray.pos = ray.pos * u_ellipsoidRadiiUv; - ray.dir = ray.dir * u_ellipsoidRadiiUv; - // Shift the ray to account for the latitude cone not being centered at the Earth center - ray.pos.z += getLatitudeConeShift(cosHalfAngle); - - float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; - vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); +void main() +{ + vec3 position; + vec3 direction; + if (czm_orthographicIn3D == 1.0) + { + vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; + vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom + vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top + position = vec3(mix(minPlane, maxPlane, uv), 0.0); + direction = vec3(0.0, 0.0, -1.0); + } + else + { + position = vec3(0.0); + direction = normalize(positionEC.xyz); + } - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + czm_ray ray = czm_ray(position, direction); - // Initialize output with no intersections - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = farSide; - intersections[1].entry = miss; - intersections[1].exit = miss; + vec3 ellipsoid_center = czm_view[3].xyz; - if (intersect.x == NO_HIT) { - return; + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + if (!czm_isEmpty(intersection)) + { + out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); + } + else + { + discard; } - // Find the points of intersection - float tmin = intersect.x; - float tmax = intersect.y; - vec3 p0 = ray.pos + tmin * ray.dir; - vec3 p1 = ray.pos + tmax * ray.dir; + czm_writeLogDepth(); +} +`;var o2=`in vec4 position; - vec4 intersect0 = vec4(getConeNormal(p0, true), tmin); - vec4 intersect1 = vec4(getConeNormal(p1, true), tmax); +out vec4 positionEC; - bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); - bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); +void main() +{ + positionEC = czm_modelView * position; + gl_Position = czm_modelViewProjection * position; - if (p0InShadowCone && p1InShadowCone) { - // no valid intersections - } else if (p0InShadowCone) { - intersections[0].exit = intersect1; - } else if (p1InShadowCone) { - intersections[0].entry = intersect0; - } else { - intersections[0].exit = intersect0; - intersections[1].entry = intersect1; - intersections[1].exit = farSide; - } + czm_vertexLogDepth(); } +`;var ev=`uniform vec3 u_radii; +uniform vec3 u_oneOverEllipsoidRadiiSquared; -RayShapeIntersection intersectRegularCone(in Ray ray, in float cosHalfAngle, in bool convex) { - // Undo the scaling from ellipsoid to sphere - ray.pos = ray.pos * u_ellipsoidRadiiUv; - ray.dir = ray.dir * u_ellipsoidRadiiUv; - // Shift the ray to account for the latitude cone not being centered at the Earth center - ray.pos.z += getLatitudeConeShift(cosHalfAngle); +in vec3 v_positionEC; - float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; - vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); +vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) +{ + vec3 positionEC = czm_pointAlongRay(ray, intersection); + vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; + vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); + vec3 sphericalNormal = normalize(positionMC / u_radii); + vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates + vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordinates - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + vec2 st = czm_ellipsoidTextureCoordinates(sphericalNormal); + vec3 positionToEyeEC = -positionEC; - if (intersect.x == NO_HIT) { - return RayShapeIntersection(miss, miss); - } + czm_materialInput materialInput; + materialInput.s = st.s; + materialInput.st = st; + materialInput.str = (positionMC + u_radii) / u_radii; + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); + materialInput.positionToEyeEC = positionToEyeEC; + czm_material material = czm_getMaterial(materialInput); - // Find the points of intersection - float tmin = intersect.x; - float tmax = intersect.y; - vec3 p0 = ray.pos + tmin * ray.dir; - vec3 p1 = ray.pos + tmax * ray.dir; +#ifdef ONLY_SUN_LIGHTING + return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); +#else + return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif +} - vec4 intersect0 = vec4(getConeNormal(p0, convex), tmin); - vec4 intersect1 = vec4(getConeNormal(p1, convex), tmax); +void main() +{ + // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii + // in the vertex shader. Only when it is larger than some constant, march along the ray. + // Otherwise perform one intersection test which will be the common case. - bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); - bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + // Test if the ray intersects a sphere with the ellipsoid's maximum radius. + // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test + // may cause false negatives. This will discard fragments before marching the ray forward. + float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; + vec3 direction = normalize(v_positionEC); + vec3 ellipsoidCenter = czm_modelView[3].xyz; - if (p0InShadowCone && p1InShadowCone) { - return RayShapeIntersection(miss, miss); - } else if (p0InShadowCone) { - return RayShapeIntersection(intersect1, farSide); - } else if (p1InShadowCone) { - return RayShapeIntersection(-1.0 * farSide, intersect0); - } else { - return RayShapeIntersection(intersect0, intersect1); - } -} + float t1 = -1.0; + float t2 = -1.0; -void intersectShape(in Ray ray, inout Intersections ix) { - // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. - // Direction is scaled as well to be in sync with position. - ray.pos = ray.pos * 2.0 - 1.0; - ray.dir *= 2.0; + float b = -2.0 * dot(direction, ellipsoidCenter); + float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; - // Outer ellipsoid - RayShapeIntersection outerIntersect = intersectHeight(ray, u_clipMinMaxHeight.y, true); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); + float discriminant = b * b - 4.0 * c; + if (discriminant >= 0.0) { + t1 = (-b - sqrt(discriminant)) * 0.5; + t2 = (-b + sqrt(discriminant)) * 0.5; + } - // Exit early if the outer ellipsoid was missed. - if (outerIntersect.entry.w == NO_HIT) { - return; + if (t1 < 0.0 && t2 < 0.0) { + discard; } - // Inner ellipsoid - RayShapeIntersection innerIntersect = intersectHeight(ray, u_clipMinMaxHeight.x, false); + float t = min(t1, t2); + if (t < 0.0) { + t = 0.0; + } - if (innerIntersect.entry.w == NO_HIT) { - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); - } else { - // When the ellipsoid is large and thin it's possible for floating point math - // to cause the ray to intersect the inner ellipsoid before the outer ellipsoid. - // To prevent this from happening, clamp innerIntersect to outerIntersect and - // sandwich the inner ellipsoid intersection inside the outer ellipsoid intersection. + // March ray forward to intersection with larger sphere and find + czm_ray ray = czm_ray(t * direction, direction); - // Without this special case, - // [outerMin, outerMax, innerMin, innerMax] will bubble sort to - // [outerMin, innerMin, outerMax, innerMax] which will cause the back - // side of the ellipsoid to be invisible because it will think the ray - // is still inside the inner (negative) ellipsoid after exiting the - // outer (positive) ellipsoid. + vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); - // With this special case, - // [outerMin, innerMin, innerMax, outerMax] will bubble sort to - // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); - // Note: If initializeIntersections() changes its sorting function - // from bubble sort to something else, this code may need to change. - innerIntersect.entry.w = max(innerIntersect.entry.w, outerIntersect.entry.w); - innerIntersect.exit.w = min(innerIntersect.exit.w, outerIntersect.exit.w); - setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter - setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter - setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit - setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + if (czm_isEmpty(intersection)) + { + discard; } - // Bottom cone - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) - RayShapeIntersection bottomConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, false); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) - RayShapeIntersection bottomConeIntersection = intersectZPlane(ray, -1.0); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) - RayShapeIntersection bottomConeIntersections[2]; - intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, bottomConeIntersections); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersections[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersections[1]); - #endif - - // Top cone - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) - RayShapeIntersection topConeIntersections[2]; - intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, topConeIntersections); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersections[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersections[1]); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) - RayShapeIntersection topConeIntersection = intersectZPlane(ray, 1.0); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) - RayShapeIntersection topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, false); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); - #endif - - // Wedge - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) - RayShapeIntersection wedgeIntersects[2]; - intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x, wedgeIntersects); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) - RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) - RayShapeIntersection wedgeIntersects[2]; - intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax, wedgeIntersects); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); - #endif -} -`;var IT=`// Main intersection function for Voxel scenes. -// See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl -// for the definition of intersectShape. The appropriate function is selected -// based on the VoxelPrimitive shape type, and added to the shader in -// Scene/VoxelRenderResources.js. -// See also IntersectClippingPlane.glsl and IntersectDepth.glsl. -// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, -// getFirstIntersection, initializeIntersections, nextIntersection. - -/* Intersection defines (set in Scene/VoxelRenderResources.js) -#define INTERSECTION_COUNT ### -*/ - -RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { - // Do a ray-shape intersection to find the exact starting and ending points. - intersectShape(ray, ix); - - // Exit early if the positive shape was completely missed or behind the ray. - RayShapeIntersection intersection = getFirstIntersection(ix); - if (intersection.entry.w == NO_HIT) { - // Positive shape was completely missed - so exit early. - return intersection; - } - - // Clipping planes - #if defined(CLIPPING_PLANES) - intersectClippingPlanes(ray, ix); - #endif - - // Depth - #if defined(DEPTH_TEST) - intersectDepth(screenCoord, ray, ix); - #endif - - // Find the first intersection that's in front of the ray - #if (INTERSECTION_COUNT > 1) - initializeIntersections(ix); - for (int i = 0; i < INTERSECTION_COUNT; ++i) { - intersection = nextIntersection(ix); - if (intersection.exit.w > 0.0) { - // Set start to 0.0 when ray is inside the shape. - intersection.entry.w = max(intersection.entry.w, 0.0); - break; - } - } - #else - // Set start to 0.0 when ray is inside the shape. - intersection.entry.w = max(intersection.entry.w, 0.0); - #endif - - return intersection; -} -`;var kF=`/* Box defines (set in Scene/VoxelBoxShape.js) -#define BOX_HAS_SHAPE_BOUNDS -*/ - -#if defined(BOX_HAS_SHAPE_BOUNDS) - uniform vec3 u_boxUvToShapeUvScale; - uniform vec3 u_boxUvToShapeUvTranslate; -#endif - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // For BOX, UV space = shape space, so we can use positionUv as-is, - // and the Jacobian is the identity matrix, except that a step of 1 - // only spans half the shape space [-1, 1], so the identity is scaled. - return PointJacobianT(positionUv, mat3(0.5)); -} + // If the viewer is outside, compute outsideFaceColor, with normals facing outward. + vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return positionShape * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; -#else - return positionShape; -#endif -} + // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. + vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} + out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); + out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); -vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; +#if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) + t = (intersection.start != 0.0) ? intersection.start : intersection.stop; + vec3 positionEC = czm_pointAlongRay(ray, t); + vec4 positionCC = czm_projection * vec4(positionEC, 1.0); +#ifdef LOG_DEPTH + czm_writeLogDepth(1.0 + positionCC.w); #else - return shapeUv; -#endif -} + float z = positionCC.z / positionCC.w; -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return shapeUv / u_boxUvToShapeUvScale; -#else - return shapeUv; -#endif -}`;var VF=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) -#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS -#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED -*/ + float n = czm_depthRange.near; + float f = czm_depthRange.far; -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) - uniform vec2 u_cylinderShapeUvAngleMinMax; + gl_FragDepth = (z * (f - n) + f + n) * 0.5; #endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) - uniform float u_cylinderShapeUvAngleRangeZeroMid; #endif - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // Convert from Cartesian UV space [0, 1] to Cartesian local space [-1, 1] - vec3 position = positionUv * 2.0 - 1.0; - - float radius = length(position.xy); // [0, 1] - vec3 radial = normalize(vec3(position.xy, 0.0)); - - // Shape space height is defined within [0, 1] - float height = positionUv.z; // [0, 1] - vec3 z = vec3(0.0, 0.0, 1.0); - - float angle = atan(position.y, position.x); - vec3 east = normalize(vec3(-position.y, position.x, 0.0)); - - vec3 point = vec3(radius, height, angle); - mat3 jacobianT = mat3(radial, z, east / length(position.xy)); - return PointJacobianT(point, jacobianT); } +`;var tv=`in vec3 position; -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { - float radius = positionShape.x; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; - #endif - - float height = positionShape.y; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; - #endif - - float angle = (positionShape.z + czm_pi) / czm_twoPi; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) - // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. - angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); - #endif - - // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) - angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; - #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) - angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; - #endif - - angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; - #endif - - return vec3(radius, height, angle); -} +uniform vec3 u_radii; -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} +out vec3 v_positionEC; -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { - float radius = shapeUv.x; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - radius /= u_cylinderUvToShapeUvRadius.x; - #endif +void main() +{ + // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. + // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, + // but doing it here allows us to change the radii without rewriting the vertex data, and + // allows all ellipsoids to reuse the same vertex data. + vec4 p = vec4(u_radii * position, 1.0); - float height = shapeUv.y; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - height /= u_cylinderUvToShapeUvHeight.x; - #endif + v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates + gl_Position = czm_modelViewProjection * p; // position in clip coordinates - float angle = shapeUv.z * czm_twoPi; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - angle /= u_cylinderUvToShapeUvAngle.x; - #endif + // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums + // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the + // ellipsoid (does not write depth) that was rendered in the farther frustum. + // + // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates + // artifacts since some fragments can be alpha blended twice. This is solved by only rendering + // the ellipsoid in the closest frustum to the viewer. + gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); - return vec3(radius, height, angle); + czm_vertexLogDepth(); } -`;var UF=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE -*/ - -uniform vec3 u_ellipsoidRadiiUv; // [0,1] -uniform vec2 u_evoluteScale; // (radiiUv.x ^ 2 - radiiUv.z ^ 2) * vec2(1.0, -1.0) / radiiUv; -uniform vec3 u_ellipsoidInverseRadiiSquaredUv; -#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) - uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; -#endif -#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset -#endif -#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset -#endif -uniform float u_ellipsoidInverseHeightDifferenceUv; - -// robust iterative solution without trig functions -// https://github.com/0xfaded/ellipse_demo/issues/1 -// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse -// Extended to return radius of curvature along with the point -vec3 nearestPointAndRadiusOnEllipse(vec2 pos, vec2 radii) { - vec2 p = abs(pos); - vec2 inverseRadii = 1.0 / radii; - - // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) - // but store the cos and sin of t in a vec2 for efficiency. - // Initial guess: t = pi/4 - vec2 tTrigs = vec2(0.7071067811865476); - // Initial guess of point on ellipsoid - vec2 v = radii * tTrigs; - // Center of curvature of the ellipse at v - vec2 evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; - - const int iterations = 3; - for (int i = 0; i < iterations; ++i) { - // Find the (approximate) intersection of p - evolute with the ellipsoid. - vec2 q = normalize(p - evolute) * length(v - evolute); - // Update the estimate of t. - tTrigs = (q + evolute) * inverseRadii; - tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); - v = radii * tTrigs; - evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; - } - - return vec3(v * sign(pos), length(v - evolute)); -} - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // Convert from UV space [0, 1] to local space [-1, 1] - vec3 position = positionUv * 2.0 - 1.0; - // Undo the scaling from ellipsoid to sphere - position = position * u_ellipsoidRadiiUv; - - float longitude = atan(position.y, position.x); - vec3 east = normalize(vec3(-position.y, position.x, 0.0)); - - // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) - // (assume radii.y == radii.x) and find the nearest point on the ellipse and its normal - float distanceFromZAxis = length(position.xy); - vec2 posEllipse = vec2(distanceFromZAxis, position.z); - vec3 surfacePointAndRadius = nearestPointAndRadiusOnEllipse(posEllipse, u_ellipsoidRadiiUv.xz); - vec2 surfacePoint = surfacePointAndRadius.xy; - - vec2 normal2d = normalize(surfacePoint * u_ellipsoidInverseRadiiSquaredUv.xz); - float latitude = atan(normal2d.y, normal2d.x); - vec3 north = vec3(-normal2d.y * normalize(position.xy), abs(normal2d.x)); - - float heightSign = length(posEllipse) < length(surfacePoint) ? -1.0 : 1.0; - float height = heightSign * length(posEllipse - surfacePoint); - vec3 up = normalize(cross(east, north)); - - vec3 point = vec3(longitude, latitude, height); - mat3 jacobianT = mat3(east / distanceFromZAxis, north / (surfacePointAndRadius.z + height), up); - return PointJacobianT(point, jacobianT); -} - -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { - // Longitude: shift & scale to [0, 1] - float longitude = (positionShape.x + czm_pi) / czm_twoPi; - - // Correct the angle when max < min - // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) - longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); - #endif - - // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) - longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; - #endif - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) - longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; - #endif - - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; - #endif - - // Latitude: shift and scale to [0, 1] - float latitude = (positionShape.y + czm_piOverTwo) / czm_pi; - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; - #endif - - // Height: scale to the range [0, 1] - float height = 1.0 + positionShape.z * u_ellipsoidInverseHeightDifferenceUv; - - return vec3(longitude, latitude, height); -} - -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} - -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { - // Convert from [0, 1] to radians [-pi, pi] - float longitude = shapeUv.x * czm_twoPi; - #if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - longitude /= u_ellipsoidUvToShapeUvLongitude.x; - #endif +`;/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */var r2=`/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ - // Convert from [0, 1] to radians [-pi/2, pi/2] - float latitude = shapeUv.y * czm_pi; - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - latitude /= u_ellipsoidUvToShapeUvLatitude.x; - #endif - - float height = shapeUv.z / u_ellipsoidInverseHeightDifferenceUv; +// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples +// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h - return vec3(longitude, latitude, height); -} -`;var zF=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js -#define OCTREE_FLAG_INTERNAL 0 -#define OCTREE_FLAG_LEAF 1 -#define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 +// Steps used to integrate into Cesium: +// * The following defines are set: +// #define FXAA_PC 1 +// #define FXAA_WEBGL_1 1 +// #define FXAA_GREEN_AS_LUMA 1 +// #define FXAA_EARLY_EXIT 1 +// #define FXAA_GLSL_120 1 +// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. +// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace +// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. +// * There are no implicit conversions from ivec* to vec* so replace: +// #define FxaaInt2 ivec2 +// with +// #define FxaaInt2 vec2 +// * The texture2DLod function is only available in vertex shaders so replace: +// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) +// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) +// with +// #define FxaaTexTop(t, p) texture(t, p) +// #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) +// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. +// * The following parameters to FxaaPixelShader are unused and can be removed: +// fxaaConsolePosPos +// fxaaConsoleRcpFrameOpt +// fxaaConsoleRcpFrameOpt2 +// fxaaConsole360RcpFrameOpt2 +// fxaaConsoleEdgeSharpness +// fxaaConsoleEdgeThreshold +// fxaaConsoleEdgeThresholdMi +// fxaaConsole360ConstDir -#define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops +// +// Choose the quality preset. +// This needs to be compiled into the shader as it effects code. +// Best option to include multiple presets is to +// in each shader define the preset, then include this file. +// +// OPTIONS +// ----------------------------------------------------------------------- +// 10 to 15 - default medium dither (10=fastest, 15=highest quality) +// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) +// 39 - no dither, very expensive +// +// NOTES +// ----------------------------------------------------------------------- +// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) +// 13 = about same speed as FXAA 3.9 and better than 12 +// 23 = closest to FXAA 3.9 visually and performance wise +// _ = the lowest digit is directly related to performance +// _ = the highest digit is directly related to style +// +//#define FXAA_QUALITY_PRESET 12 -uniform sampler2D u_octreeInternalNodeTexture; -uniform vec2 u_octreeInternalNodeTexelSizeUv; -uniform int u_octreeInternalNodeTilesPerRow; -#if (SAMPLE_COUNT > 1) -uniform sampler2D u_octreeLeafNodeTexture; -uniform vec2 u_octreeLeafNodeTexelSizeUv; -uniform int u_octreeLeafNodeTilesPerRow; -#endif -struct OctreeNodeData { - int data; - int flag; -}; - -struct TraversalData { - ivec4 octreeCoords; - int parentOctreeIndex; -}; - -struct SampleData { - int megatextureIndex; - ivec4 tileCoords; - vec3 tileUv; - #if (SAMPLE_COUNT > 1) - float weight; - #endif -}; - -// Integer mod: For WebGL1 only -int intMod(in int a, in int b) { - return a - (b * (a / b)); -} -int normU8_toInt(in float value) { - return int(value * 255.0); -} -int normU8x2_toInt(in vec2 value) { - return int(value.x * 255.0) + 256 * int(value.y * 255.0); -} -float normU8x2_toFloat(in vec2 value) { - return float(normU8x2_toInt(value)) / 65535.0; -} - -OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { - vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); - - OctreeNodeData data; - data.data = normU8x2_toInt(texData.xy); - data.flag = normU8x2_toInt(texData.zw); - return data; -} - -OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { - int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; - int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; - int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; - vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); - return getOctreeNodeData(octreeUv); -} +#if (FXAA_QUALITY_PRESET == 10) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 3.0 + #define FXAA_QUALITY_P2 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 11) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 3.0 + #define FXAA_QUALITY_P3 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 12) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 4.0 + #define FXAA_QUALITY_P4 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 13) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 4.0 + #define FXAA_QUALITY_P5 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 14) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 4.0 + #define FXAA_QUALITY_P6 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 15) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 20) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 2.0 + #define FXAA_QUALITY_P2 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 21) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 22) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 23) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 24) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 3.0 + #define FXAA_QUALITY_P6 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 25) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 26) + #define FXAA_QUALITY_PS 9 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 4.0 + #define FXAA_QUALITY_P8 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 27) + #define FXAA_QUALITY_PS 10 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 4.0 + #define FXAA_QUALITY_P9 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 28) + #define FXAA_QUALITY_PS 11 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 4.0 + #define FXAA_QUALITY_P10 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 29) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 39) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.0 + #define FXAA_QUALITY_P2 1.0 + #define FXAA_QUALITY_P3 1.0 + #define FXAA_QUALITY_P4 1.0 + #define FXAA_QUALITY_P5 1.5 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 +#endif -int getOctreeParentIndex(in int octreeIndex) { - int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; - int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; - vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); - vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); - int parentOctreeIndex = normU8x2_toInt(parentData.xy); - return parentOctreeIndex; -} +#define FxaaBool bool +#define FxaaFloat float +#define FxaaFloat2 vec2 +#define FxaaFloat3 vec3 +#define FxaaFloat4 vec4 +#define FxaaHalf float +#define FxaaHalf2 vec2 +#define FxaaHalf3 vec3 +#define FxaaHalf4 vec4 +#define FxaaInt2 vec2 +#define FxaaTex sampler2D -/** -* Convert a position in the uv-space of the tileset bounding shape -* into the uv-space of a tile within the tileset -*/ -vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { - // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) - float dimAtLevel = exp2(float(octreeCoords.w)); - return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); -} +#define FxaaSat(x) clamp(x, 0.0, 1.0) +#define FxaaTexTop(t, p) texture(t, p) +#define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) -vec3 getClampedTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { - vec3 tileUv = getTileUv(shapePosition, octreeCoords); - return clamp(tileUv, vec3(0.0), vec3(1.0)); -} - -void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { - sampleData.megatextureIndex = data.data; - sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; -} - -#if (SAMPLE_COUNT > 1) -void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { - int leafIndex = data.data; - int leafNodeTexelCount = 2; - // Adding 0.5 moves to the center of the texel - float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; - float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; - - // Get an interpolation weight and a flag to determine whether to read the parent texture - vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); - vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); - float lerp = normU8x2_toFloat(leafData0.xy); - sampleDatas[0].weight = 1.0 - lerp; - sampleDatas[1].weight = lerp; - // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT - sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; - sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; - - // Get megatexture indices for both samples - vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); - vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); - sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); - sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); -} -#endif - -OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { - float sizeAtLevel = exp2(-1.0 * float(traversalData.octreeCoords.w)); - vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; - vec3 end = start + vec3(sizeAtLevel); - OctreeNodeData childData; - - for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { - // Find out which octree child contains the position - // 0 if before center, 1 if after - vec3 center = 0.5 * (start + end); - vec3 childCoord = step(center, shapePosition); - - // Get octree coords for the next level down - ivec4 octreeCoords = traversalData.octreeCoords; - traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); - - childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); - - if (childData.flag != OCTREE_FLAG_INTERNAL) { - // leaf tile - stop traversing - break; - } - - // interior tile - keep going deeper - start = mix(start, center, childCoord); - end = mix(center, end, childCoord); - traversalData.parentOctreeIndex = childData.data; - } - - return childData; -} - -/** -* Transform a given position to an octree tile coordinate and a position within that tile, -* and find the corresponding megatexture index and texture coordinates -*/ -void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { - traversalData.octreeCoords = ivec4(0); - traversalData.parentOctreeIndex = 0; - - OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); - if (nodeData.flag != OCTREE_FLAG_LEAF) { - nodeData = traverseOctreeDownwards(shapePosition, traversalData); - } - - #if (SAMPLE_COUNT == 1) - getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - #else - getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); - #endif -} - -bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { - return clamp(v, minVal, maxVal) == v; -} - -bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { - vec3 tileUv = getTileUv(shapePosition, octreeCoords); - bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); - // Assume (!) the position is always inside the root tile. - return inside || octreeCoords.w == 0; -} - -void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { - if (insideTile(shapePosition, traversalData.octreeCoords)) { - for (int i = 0; i < SAMPLE_COUNT; i++) { - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - } - return; - } - - // Go up tree until we find a parent tile containing shapePosition - for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { - traversalData.octreeCoords.xyz /= 2; - traversalData.octreeCoords.w -= 1; - - if (insideTile(shapePosition, traversalData.octreeCoords)) { - break; - } - - traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); - } - - // Go down tree - OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); - - #if (SAMPLE_COUNT == 1) - getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - #else - getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); - #endif -} -`;var HF=`// See Octree.glsl for the definitions of SampleData and intMod - -/* Megatexture defines (set in Scene/VoxelRenderResources.js) -#define SAMPLE_COUNT ### -#define NEAREST_SAMPLING -#define PADDING -*/ - -uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions -uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions -uniform vec2 u_megatextureVoxelSizeUv; -uniform vec2 u_megatextureSliceSizeUv; -uniform vec2 u_megatextureTileSizeUv; - -uniform ivec3 u_dimensions; // does not include padding -#if defined(PADDING) - uniform ivec3 u_paddingBefore; - uniform ivec3 u_paddingAfter; -#endif - -// Integer min, max, clamp: For WebGL1 only -int intMin(int a, int b) { - return a <= b ? a : b; -} -int intMax(int a, int b) { - return a >= b ? a : b; -} -int intClamp(int v, int minVal, int maxVal) { - return intMin(intMax(v, minVal), maxVal); -} - -vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) -{ - int indexX = intMod(index, dimensions.x); - int indexY = index / dimensions.x; - return vec2(indexX, indexY) * uvScale; -} - -/* - How is 3D data stored in a 2D megatexture? - - In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). - The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and - the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). - Note that there could be empty space in the megatexture because it's a power of two. - - 0 1 2 3 - +---+---+---+---+ - | | | | | 3 - +---+---+---+---+ - | | | | | 2 - +-------+-------+ - |010|110|011|111| 1 - |--- ---|--- ---| - |000|100|001|101| 0 - +-------+-------+ - - When doing linear interpolation the megatexture needs to be sampled twice: once for - the Z slice above the voxel coordinate and once for the slice below. The two slices - are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is - halfway between two Z slices so the interpolation factor is 0.5. Below is a side view - of the 3D voxel grid with voxel coordinates on the left side. - - 2 +---+ - |001| - 1 +-z-+ - |000| - 0 +---+ - - When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. -*/ - -Properties getPropertiesFromMegatexture(in SampleData sampleData) { - int tileIndex = sampleData.megatextureIndex; - vec3 voxelCoord = sampleData.tileUv * vec3(u_dimensions); - ivec3 voxelDimensions = u_dimensions; - - #if defined(PADDING) - voxelDimensions += u_paddingBefore + u_paddingAfter; - voxelCoord += vec3(u_paddingBefore); - #endif - - #if defined(NEAREST_SAMPLING) - // Round to the center of the nearest voxel - voxelCoord = floor(voxelCoord) + vec3(0.5); - #endif - - // Tile location - vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); - - // Slice location - float slice = voxelCoord.z - 0.5; - int sliceIndex = int(floor(slice)); - int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); - vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); - - // Voxel location - vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; - - // Final location in the megatexture - vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; - - #if defined(NEAREST_SAMPLING) - return getPropertiesFromMegatextureAtUv(uv0); - #else - float sliceLerp = fract(slice); - int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); - vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); - vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; - Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); - Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); - return mixProperties(properties0, properties1, sliceLerp); - #endif -} - -// Convert an array of sample datas to a final weighted properties. -Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { - #if (SAMPLE_COUNT == 1) - return getPropertiesFromMegatexture(sampleDatas[0]); - #else - // When more than one sample is taken the accumulator needs to start at 0 - Properties properties = clearProperties(); - for (int i = 0; i < SAMPLE_COUNT; ++i) { - float weight = sampleDatas[i].weight; - - // Avoid reading the megatexture when the weight is 0 as it can be costly. - if (weight > 0.0) { - Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); - tempProperties = scaleProperties(tempProperties, weight); - properties = sumProperties(properties, tempProperties); - } - } - return properties; - #endif -} -`;function Jst(e){let t=new ux;this.shaderBuilder=t;let n=e._customShader,i=bt(e._uniformMap,n.uniformMap);e._uniformMap=i;let o=n.uniforms;for(let p in o)if(o.hasOwnProperty(p)){let g=o[p];t.addUniform(g.type,p,pe.FRAGMENT)}t.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",pe.FRAGMENT),this.uniformMap=i;let r=e._clippingPlanes,s=l(r)&&r.enabled?r.length:0;this.clippingPlanes=r,this.clippingPlanesLength=s,t.addVertexLines([RF]),t.addFragmentLines([n.fragmentShaderText,"#line 0",zF,IF,OF,HF]),s>0&&(t.addDefine("CLIPPING_PLANES",void 0,pe.FRAGMENT),t.addDefine("CLIPPING_PLANES_COUNT",s,pe.FRAGMENT),r.unionClippingRegions&&t.addDefine("CLIPPING_PLANES_UNION",void 0,pe.FRAGMENT),t.addFragmentLines([LF])),e._depthTest&&(t.addDefine("DEPTH_TEST",void 0,pe.FRAGMENT),t.addFragmentLines([MF]));let a=e._provider.shape;a==="BOX"?t.addFragmentLines([kF,NF,IT]):a==="CYLINDER"?t.addFragmentLines([VF,HS,FF,IT]):a==="ELLIPSOID"&&(t.addDefine("SHAPE_ELLIPSOID",void 0,pe.FRAGMENT),t.addFragmentLines([UF,HS,BF,IT])),t.addFragmentLines([PF]);let c=e._shape,u=c.shaderDefines;for(let p in u)if(u.hasOwnProperty(p)){let g=u[p];l(g)&&(g=g===!0?void 0:g,t.addDefine(p,g,pe.FRAGMENT))}let f=c.shaderMaximumIntersectionsLength;s>0&&(t.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",f,pe.FRAGMENT),s===1?f+=1:r.unionClippingRegions?f+=2:f+=1),e._depthTest&&(t.addDefine("DEPTH_INTERSECTION_INDEX",f,pe.FRAGMENT),f+=1),t.addDefine("INTERSECTION_COUNT",f,pe.FRAGMENT),(!h.equals(e.paddingBefore,h.ZERO)||!h.equals(e.paddingAfter,h.ZERO))&&t.addDefine("PADDING",void 0,pe.FRAGMENT),e._useLogDepth&&t.addDefine("LOG_DEPTH_READ_ONLY",void 0,pe.FRAGMENT),e._nearestSampling&&t.addDefine("NEAREST_SAMPLING",void 0,pe.FRAGMENT);let d=e._traversal;t.addDefine("SAMPLE_COUNT",`${d._sampleCount}`,pe.FRAGMENT)}var GF=Jst;function eat(e,t){let{shaderBuilder:n}=e,{names:i,types:o,componentTypes:r,minimumValues:s,maximumValues:a}=t._provider,c=o.length,u=l(s)&&l(a);n.addDefine("METADATA_COUNT",c,pe.FRAGMENT),u&&n.addDefine("STATISTICS",void 0,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=o[R],_=`PropertyStatistics_${M}`,S=`PropertyStatistics_${M}`;n.addStruct(_,S,pe.FRAGMENT);let w=HH(N);n.addStructField(_,w,"min"),n.addStructField(_,w,"max")}let f="Statistics",d="Statistics",p="statistics";n.addStruct(f,d,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=`PropertyStatistics_${M}`,_=M;n.addStructField(f,N,_)}let g="Metadata",m="Metadata",x="metadata";n.addStruct(g,m,pe.FRAGMENT),n.addStructField(g,d,p);for(let R=0;R<c;R++){let M=i[R],N=o[R],_=HH(N);n.addStructField(g,_,M)}for(let R=0;R<c;R++){let M=i[R],N=o[R],_=nat(N),S=`VoxelProperty_${M}`,w=`VoxelProperty_${M}`;n.addStruct(S,w,pe.FRAGMENT),n.addStructField(S,_,"partialDerivativeLocal"),n.addStructField(S,_,"partialDerivativeWorld"),n.addStructField(S,_,"partialDerivativeView"),n.addStructField(S,_,"partialDerivativeValid")}let b="Voxel",T="Voxel",A="voxel";n.addStruct(b,T,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=`VoxelProperty_${M}`;n.addStructField(b,N,M)}n.addStructField(b,"vec3","positionEC"),n.addStructField(b,"vec3","positionUv"),n.addStructField(b,"vec3","positionShapeUv"),n.addStructField(b,"vec3","positionUvLocal"),n.addStructField(b,"vec3","viewDirUv"),n.addStructField(b,"vec3","viewDirWorld"),n.addStructField(b,"vec3","surfaceNormal"),n.addStructField(b,"float","travelDistance"),n.addStructField(b,"int","stepCount"),n.addStructField(b,"int","tileIndex"),n.addStructField(b,"int","sampleIndex");let C="FragmentInput";n.addStruct(C,"FragmentInput",pe.FRAGMENT),n.addStructField(C,m,x),n.addStructField(C,T,A);let v="Properties",D="Properties",O="properties";n.addStruct(v,D,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=o[R],_=HH(N);n.addStructField(v,_,M)}{let R="clearProperties";n.addFunction(R,`${D} clearProperties()`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M],_=o[M],S=r[M],w=HH(_,S);n.addFunctionLines(R,[`${O}.${N} = ${w}(0.0);`])}n.addFunctionLines(R,[`return ${O};`])}{let R="sumProperties";n.addFunction(R,`${D} sumProperties(${D} propertiesA, ${D} propertiesB)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`${O}.${N} = propertiesA.${N} + propertiesB.${N};`])}n.addFunctionLines(R,[`return ${O};`])}{let R="scaleProperties";n.addFunction(R,`${D} scaleProperties(${D} ${O}, float scale)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} scaledProperties = ${O};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`scaledProperties.${N} *= scale;`])}n.addFunctionLines(R,["return scaledProperties;"])}{let R="mixProperties";n.addFunction(R,`${D} mixProperties(${D} propertiesA, ${D} propertiesB, float mixFactor)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`${O}.${N} = mix(propertiesA.${N}, propertiesB.${N}, mixFactor);`])}n.addFunctionLines(R,[`return ${O};`])}{let R="copyPropertiesToMetadata";n.addFunction(R,`void copyPropertiesToMetadata(in ${D} ${O}, inout ${m} ${x})`,pe.FRAGMENT);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`${x}.${N} = ${O}.${N};`])}}if(u){let R="setStatistics";n.addFunction(R,`void setStatistics(inout ${d} ${p})`,pe.FRAGMENT);for(let M=0;M<c;M++){let N=i[M],_=o[M],S=Et.getComponentCount(_);for(let w=0;w<S;w++){let I=iat(_,w),L=s[M][w],B=a[M][w];n.addFunctionLines(R,[`${p}.${N}.min${I} = ${Aye(L)};`,`${p}.${N}.max${I} = ${Aye(B)};`])}}}{let R="getPropertiesFromMegatextureAtUv";n.addFunction(R,`${D} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M],_=o[M],S=r[M],w=tat(_,S);n.addFunctionLines(R,[`properties.${N} = texture(u_megatextureTextures[${M}], texcoord)${w};`])}n.addFunctionLines(R,[`return ${O};`])}}function HH(e){if(e===Et.SCALAR)return"float";if(e===Et.VEC2)return"vec2";if(e===Et.VEC3)return"vec3";if(e===Et.VEC4)return"vec4"}function tat(e){if(e===Et.SCALAR)return".r";if(e===Et.VEC2)return".ra";if(e===Et.VEC3)return".rgb";if(e===Et.VEC4)return""}function nat(e){if(e===Et.SCALAR)return"vec3";if(e===Et.VEC2)return"mat2";if(e===Et.VEC3)return"mat3";if(e===Et.VEC4)return"mat4"}function Aye(e){let t=e.toString();return t.indexOf(".")===-1&&(t=`${e}.0`),t}function iat(e,t){return e===Et.SCALAR?"":`[${t}]`}var WF=eat;function oat(e,t){let n=new GF(e);WF(n,e);let{shaderBuilder:i,clippingPlanes:o,clippingPlanesLength:r}=n;if(r>0){let T="getClippingPlane",A=J_(o,t),C=0,E=A.indexOf(")")+1,v=A.indexOf("{",E)+1,D=A.indexOf("}",v),O=A.slice(C,E),R=A.slice(v,D);i.addFunction(T,O,pe.FRAGMENT),i.addFunctionLines(T,[R])}let s=i.clone();s.addDefine("PICKING",void 0,pe.FRAGMENT);let a=i.clone();a.addDefine("PICKING_VOXEL",void 0,pe.FRAGMENT);let c=i.buildShaderProgram(t),u=s.buildShaderProgram(t),f=a.buildShaderProgram(t),d=Ve.fromCache({cull:{enabled:!0,face:bi.BACK},depthTest:{enabled:!1},depthMask:!1,blending:hn.PRE_MULTIPLIED_ALPHA_BLEND}),p=t.getViewportQuadVertexArray(),g=e._depthTest,m=new Xe({vertexArray:p,primitiveType:Ne.TRIANGLES,renderState:d,shaderProgram:c,uniformMap:n.uniformMap,modelMatrix:e._compoundModelMatrix,pass:Se.VOXELS,executeInClosestFrustum:!0,owner:this,cull:g,occlude:g}),x=Xe.shallowClone(m,new Xe);x.shaderProgram=u,x.pickOnly=!0;let b=Xe.shallowClone(m,new Xe);if(b.shaderProgram=f,b.pickOnly=!0,l(e._drawCommand)){let T=e._drawCommand;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPick)){let T=e._drawCommandPick;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPickVoxel)){let T=e._drawCommandPickVoxel;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}e._drawCommand=m,e._drawCommandPick=x,e._drawCommandPickVoxel=b}var jF=oat;function Wm(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new hs,this._perspectiveMatrix=new F,this._infinitePerspective=new F}function lX(e){let{top:t,bottom:n,right:i,left:o,near:r,far:s}=e;(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||r!==e._near||s!==e._far)&&(e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=r,e._far=s,e._perspectiveMatrix=F.computePerspectiveOffCenter(o,i,n,t,r,s,e._perspectiveMatrix),e._infinitePerspective=F.computeInfinitePerspectiveOffCenter(o,i,n,t,r,e._infinitePerspective))}Object.defineProperties(Wm.prototype,{projectionMatrix:{get:function(){return lX(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return lX(this),this._infinitePerspective}}});var rat=new h,sat=new h,aat=new h,cat=new h;Wm.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,rat),d=sat;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=aat;h.multiplyByScalar(t,u,p),h.add(e,p,p);let g=cat;h.multiplyByScalar(f,a,g),h.add(d,g,g),h.subtract(g,e,g),h.normalize(g,g),h.cross(g,n,g),h.normalize(g,g);let m=i[0];return l(m)||(m=i[0]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(f,s,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(n,g,g),h.normalize(g,g),m=i[1],l(m)||(m=i[1]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,r,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(f,g,g),h.normalize(g,g),m=i[2],l(m)||(m=i[2]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,o,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(g,f,g),h.normalize(g,g),m=i[3],l(m)||(m=i[3]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),m=i[4],l(m)||(m=i[4]=new oe),m.x=t.x,m.y=t.y,m.z=t.z,m.w=-h.dot(t,d),h.negate(t,g),m=i[5],l(m)||(m=i[5]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,p),this._cullingVolume};Wm.prototype.getPixelDimensions=function(e,t,n,i,o){lX(this);let r=1/this.near,s=this.top*r,a=2*i*n*s/t;s=this.right*r;let c=2*i*n*s/e;return o.x=c,o.y=a,o};Wm.prototype.clone=function(e){return l(e)||(e=new Wm),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};Wm.prototype.equals=function(e){return l(e)&&e instanceof Wm&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Wm.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof Wm&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var cl=Wm;function Zl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new cl,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this.xOffset=y(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=y(e.yOffset,0),this._yOffset=this.yOffset}Zl.packedLength=6;Zl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};Zl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Zl),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function vh(e){if(!(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset))return;e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset;let n=e._offCenterFrustum;n.top=e.near*Math.tan(.5*e._fovy),n.bottom=-n.top,n.right=e.aspectRatio*n.top,n.left=-n.right,n.near=e.near,n.far=e.far,n.right+=e.xOffset,n.left+=e.xOffset,n.top+=e.yOffset,n.bottom+=e.yOffset}Object.defineProperties(Zl.prototype,{projectionMatrix:{get:function(){return vh(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return vh(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return vh(this),this._fovy}},sseDenominator:{get:function(){return vh(this),this._sseDenominator}},offCenterFrustum:{get:function(){return vh(this),this._offCenterFrustum}}});Zl.prototype.computeCullingVolume=function(e,t,n){return vh(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Zl.prototype.getPixelDimensions=function(e,t,n,i,o){return vh(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Zl.prototype.clone=function(e){return l(e)||(e=new Zl),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Zl.prototype.equals=function(e){return!l(e)||!(e instanceof Zl)?!1:(vh(this),vh(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Zl.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Zl)?!1:(vh(this),vh(e),P.equalsEpsilon(this.fov,e.fov,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var Di=Zl;var wye={};function lat(e,t,n){let i,o,r;if(e instanceof Di){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof cl)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var uat=new h,Eye=new h;function Dye(e,t,n,i){if(l(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(u){let f=n(u);if(u<=.5){let p=(f-o)/a;return P.lerp(e,-P.PI_OVER_TWO,p)}let d=(f-r)/c;return P.lerp(-P.PI_OVER_TWO,t,1-d)}}return function(o){return P.lerp(e,t,o)}}function fX(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!l(r)){let a=e.position,c=t,u=e.up,f=e.right,d=e.frustum,p=h.subtract(a,c,uat),g=h.magnitude(h.multiplyByScalar(u,h.dot(p,u),Eye)),m=h.magnitude(h.multiplyByScalar(f,h.dot(p,f),Eye));r=Math.min(lat(d,g,m)*.2,1e9)}if(s<r){let u=-Math.pow((r-n)*1e6,.125),f=Math.pow((r-i)*1e6,1/8);return function(d){let p=d*(f-u)+u;return-Math.pow(p,8)/1e6+r}}return function(a){return P.lerp(n,i,a)}}function qF(e,t){return P.equalsEpsilon(e,P.TWO_PI,P.EPSILON11)&&(e=0),t>e+Math.PI?e+=P.TWO_PI:t<e-Math.PI&&(e-=P.TWO_PI),e}var Iye=new h;function fat(e,t,n,i,o,r,s,a){let c=e.camera,u=h.clone(c.position,Iye),f=c.pitch,d=qF(c.heading,i),p=qF(c.roll,r),g=fX(c,n,u.z,n.z,s),m=Dye(f,o,g,a);function x(b){let T=b.time/t;c.setView({orientation:{heading:P.lerp(d,i,T),pitch:m(T),roll:P.lerp(p,r,T)}}),z.lerp(u,n,T,c.position),c.position.z=g(T)}return x}function dat(e,t){e.longitude<t.longitude?e.longitude+=P.TWO_PI:t.longitude+=P.TWO_PI}function hat(e,t){let n=e.longitude-t.longitude;n<-P.PI?e.longitude+=P.TWO_PI:n>P.PI&&(t.longitude+=P.TWO_PI)}var mat=new fe,pat=new fe;function _at(e,t,n,i,o,r,s,a,c,u){let f=e.camera,p=e.mapProjection.ellipsoid,g=fe.clone(f.positionCartographic,mat),m=f.pitch,x=qF(f.heading,i),b=qF(f.roll,r),T=p.cartesianToCartographic(n,pat);g.longitude=P.zeroToTwoPi(g.longitude),T.longitude=P.zeroToTwoPi(T.longitude);let A=!1;if(l(a)){let D=P.zeroToTwoPi(a),O=Math.min(g.longitude,T.longitude),R=Math.max(g.longitude,T.longitude),M=D>=O&&D<=R;if(l(c)){let N=Math.abs(g.longitude-T.longitude),_=P.TWO_PI-N;(M?N:_)<(M?_:N)*c&&!M&&(A=!0)}else M||(A=!0)}A?dat(g,T):hat(g,T);let C=fX(f,n,g.height,T.height,s),E=Dye(m,o,C,u);function v(){let D=g.longitude,O=T.longitude,R=g.latitude,M=T.latitude;return function(_){let S=_.time/t,w=h.fromRadians(P.lerp(D,O,S),P.lerp(R,M,S),C(S),p);f.setView({destination:w,orientation:{heading:P.lerp(x,i,S),pitch:E(S),roll:P.lerp(b,r,S)}})}}return v()}function gat(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,Iye),u=qF(a.heading,i),f=a.frustum.right-a.frustum.left,d=fX(a,n,f,n.z,s);function p(g){let m=g.time/t;a.setView({orientation:{heading:P.lerp(u,i,m)}}),z.lerp(c,n,m,a.position);let x=d(m),b=a.frustum,T=b.top/b.right,A=(x-(b.right-b.left))*.5;b.right+=A,b.left-=A,b.top=T*b.right,b.bottom=-b.top}return p}var Sye=new fe,yat=new h;function uX(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function vye(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}wye.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===ne.MORPHING)return uX();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,u=t.flyOverLongitudeWeight,f=t.pitchAdjustHeight,d=t.easingFunction;o&&i!==ne.SCENE3D&&(s.cartesianToCartographic(n,Sye),n=r.project(Sye,yat));let p=e.camera,g=t.endTransform;l(g)&&p._setTransform(g);let m=t.duration;l(m)||(m=Math.ceil(h.distance(p.position,n)/1e6)+2,m=Math.min(m,3));let x=y(t.heading,0),b=y(t.pitch,-P.PI_OVER_TWO),T=y(t.roll,0),A=e.screenSpaceCameraController;A.enableInputs=!1;let C=vye(A,t.complete),E=vye(A,t.cancel),v=p.frustum,D=e.mode===ne.SCENE2D;if(D=D&&z.equalsEpsilon(p.position,n,P.EPSILON6),D=D&&P.equalsEpsilon(Math.max(v.right-v.left,v.top-v.bottom),n.z,P.EPSILON6),D=D||e.mode!==ne.SCENE2D&&h.equalsEpsilon(n,p.position,P.EPSILON10),D=D&&P.equalsEpsilon(P.negativePiToPi(x),P.negativePiToPi(p.heading),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(b),P.negativePiToPi(p.pitch),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(T),P.negativePiToPi(p.roll),P.EPSILON10),D)return uX(C,E);let O=new Array(4);if(O[ne.SCENE2D]=gat,O[ne.SCENE3D]=_at,O[ne.COLUMBUS_VIEW]=fat,m<=0)return uX(function(){O[i](e,1,n,x,b,T,a,c,u,f)({time:1}),typeof C=="function"&&C()},E);let R=O[i](e,m,n,x,b,T,a,c,u,f);if(!l(d)){let M=p.positionCartographic.height,N=i===ne.SCENE3D?s.cartesianToCartographic(n).height:n.z;M>N&&M>11500?d=Yr.CUBIC_OUT:d=Yr.QUINTIC_IN_OUT}return{duration:m,easingFunction:d,startObject:{time:0},stopObject:{time:m},update:R,complete:C,cancel:E}};var YF=wye;var xat={ROTATE:0,INFINITE_SCROLL:1},$l=Object.freeze(xat);function nn(e){this._scene=e,this._transform=F.clone(F.IDENTITY),this._invTransform=F.clone(F.IDENTITY),this._actualTransform=F.clone(F.IDENTITY),this._actualInvTransform=F.clone(F.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new fe,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new Di,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new me,this._moveEnd=new me,this._changed=new me,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this._changedRoll=void 0,this.percentageChanged=.5,this._viewMatrix=new F,this._invViewMatrix=new F,Bye(this),this._mode=ne.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new fe(Math.PI,P.PI_OVER_TWO)),this._max2Dfrustum=void 0,Kye(this,nn.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*nn.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}nn.TRANSFORM_2D=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);nn.TRANSFORM_2D_INVERSE=F.inverseTransformation(nn.TRANSFORM_2D,new F);nn.DEFAULT_VIEW_RECTANGLE=se.fromDegrees(-95,-20,-70,90);nn.DEFAULT_VIEW_FACTOR=.5;nn.DEFAULT_OFFSET=new $f(0,-P.PI_OVER_FOUR,0);function Bye(e){F.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),F.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),F.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function bat(e){if(!l(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=Ci()):e.timeSinceMoved=Math.max(Ci()-e._lastMovedTimestamp,0)/1e3}}nn.prototype.canPreloadFlight=function(){return l(this._currentFlight)&&this._mode!==ne.SCENE2D};nn.prototype._updateCameraChanged=function(){let e=this;if(bat(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;l(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%P.TWO_PI;i=i>P.PI?P.TWO_PI-i:i;let o=i/Math.PI;o>t&&(e._changedHeading=n);let r=e.roll;l(e._changedRoll)||(e._changedRoll=r);let s=Math.abs(e._changedRoll-r)%P.TWO_PI;s=s>P.PI?P.TWO_PI-s:s;let a=s/Math.PI;if(a>t&&(e._changedRoll=r),(a>t||o>t)&&e._changed.raiseEvent(Math.max(a,o)),e._mode===ne.SCENE2D){if(!l(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let p=e.position,g=e._changedPosition,m=e.frustum,x=e._changedFrustum,b=p.x+m.left,T=p.x+m.right,A=g.x+x.left,C=g.x+x.right,E=p.y+m.bottom,v=p.y+m.top,D=g.y+x.bottom,O=g.y+x.top,R=Math.max(b,A),M=Math.min(T,C),N=Math.max(E,D),_=Math.min(v,O),S;if(R>=M||N>=v)S=1;else{let w=x;b<A&&T>C&&E<D&&v>O&&(w=m),S=1-(M-R)*(_-N)/((w.right-w.left)*(w.top-w.bottom))}S>t&&(e._changed.raiseEvent(S),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!l(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let c=P.acosClamped(h.dot(e.directionWC,e._changedDirection)),u;l(e.frustum.fovy)?u=c/(e.frustum.fovy*.5):u=c;let d=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(u>t||d>t)&&(e._changed.raiseEvent(Math.max(u,d)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function Tat(e){Lt.basisTo2D(e._projection,e._transform,e._actualTransform)}var Cat=new fe,Aat=new h,GH=new h,Eat=new oe,Sat=new oe,vat=new oe,wat=new oe,Dat=new oe;function Iat(e){let t=e._projection,n=t.ellipsoid,i=F.getColumn(e._transform,3,Eat),o=n.cartesianToCartographic(i,Cat),r=t.project(o,Aat),s=Sat;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=oe.clone(oe.UNIT_X,Dat),c=oe.add(F.getColumn(e._transform,0,GH),i,GH);n.cartesianToCartographic(c,o),t.project(o,r);let u=vat;u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,h.subtract(u,s,u),u.x=0;let f=wat;if(h.magnitudeSquared(u)>P.EPSILON10)h.cross(a,u,f);else{let d=oe.add(F.getColumn(e._transform,1,GH),i,GH);n.cartesianToCartographic(d,o),t.project(o,r),f.x=r.z,f.y=r.x,f.z=r.y,f.w=0,h.subtract(f,s,f),f.x=0,h.magnitudeSquared(f)<P.EPSILON10&&(oe.clone(oe.UNIT_Y,u),oe.clone(oe.UNIT_Z,f))}h.cross(f,a,u),h.normalize(u,u),h.cross(a,u,f),h.normalize(f,f),F.setColumn(e._actualTransform,0,u,e._actualTransform),F.setColumn(e._actualTransform,1,f,e._actualTransform),F.setColumn(e._actualTransform,2,a,e._actualTransform),F.setColumn(e._actualTransform,3,s,e._actualTransform)}var dX=new h;function vc(e){let t=e._mode,n=!1,i=0;t===ne.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position,r=!h.equals(o,e.position)||n;r&&(o=h.clone(e.position,e._position));let s=e._direction,a=!h.equals(s,e.direction);a&&(h.normalize(e.direction,e.direction),s=h.clone(e.direction,e._direction));let c=e._up,u=!h.equals(c,e.up);u&&(h.normalize(e.up,e.up),c=h.clone(e.up,e._up));let f=e._right,d=!h.equals(f,e.right);d&&(h.normalize(e.right,e.right),f=h.clone(e.right,e._right));let p=e._transformChanged||e._modeChanged;e._transformChanged=!1,p&&(F.inverseTransformation(e._transform,e._invTransform),e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D?F.equals(F.IDENTITY,e._transform)?F.clone(nn.TRANSFORM_2D,e._actualTransform):e._mode===ne.COLUMBUS_VIEW?Tat(e):Iat(e):F.clone(e._transform,e._actualTransform),F.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);let g=e._actualTransform;if(r||p)if(e._positionWC=F.multiplyByPoint(g,o,e._positionWC),t===ne.SCENE3D||t===ne.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{let m=dX;m.x=e._positionWC.y,m.y=e._positionWC.z,m.z=e._positionWC.x,t===ne.SCENE2D&&(m.z=i),e._projection.unproject(m,e._positionCartographic)}if(a||u||d){let m=h.dot(s,h.cross(c,f,dX));if(Math.abs(1-m)>P.EPSILON2){let x=1/h.magnitudeSquared(c),b=h.dot(c,s)*x,T=h.multiplyByScalar(s,b,dX);c=h.normalize(h.subtract(c,T,e._up),e._up),h.clone(c,e.up),f=h.cross(s,c,e._right),h.clone(f,e.right)}}(a||p)&&(e._directionWC=F.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(u||p)&&(e._upWC=F.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(d||p)&&(e._rightWC=F.multiplyByPointAsVector(g,f,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||u||d||p)&&Bye(e)}function kye(e,t){let n;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)?n=Math.atan2(t.y,t.x)-P.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-P.PI_OVER_TWO,P.TWO_PI-P.zeroToTwoPi(n)}function Vye(e){return P.PI_OVER_TWO-P.acosClamped(e.z)}function Uye(e,t,n){let i=0;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=P.zeroToTwoPi(i+P.TWO_PI)),i}var qH=new F,YH=new F;Object.defineProperties(nn.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return vc(this),this._invTransform}},viewMatrix:{get:function(){return vc(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return vc(this),this._invViewMatrix}},positionCartographic:{get:function(){return vc(this),this._positionCartographic}},positionWC:{get:function(){return vc(this),this._positionWC}},directionWC:{get:function(){return vc(this),this._directionWC}},upWC:{get:function(){return vc(this),this._upWC}},rightWC:{get:function(){return vc(this),this._rightWC}},heading:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,qH),n=Lt.eastNorthUpToFixedFrame(this.positionWC,e,YH);this._setTransform(n);let i=kye(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,qH),n=Lt.eastNorthUpToFixedFrame(this.positionWC,e,YH);this._setTransform(n);let i=Vye(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,qH),n=Lt.eastNorthUpToFixedFrame(this.positionWC,e,YH);this._setTransform(n);let i=Uye(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});nn.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==ne.MORPHING,t=this._mode===ne.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===ne.SCENE2D&&Wye(this,this.position)};var Pat=new h,Rat=new h,Oat=new h;nn.prototype._setTransform=function(e){let t=h.clone(this.positionWC,Pat),n=h.clone(this.upWC,Rat),i=h.clone(this.directionWC,Oat);F.clone(e,this._transform),this._transformChanged=!0,vc(this);let o=this._actualInvTransform;F.multiplyByPoint(o,t,this.position),F.multiplyByPointAsVector(o,i,this.direction),F.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),vc(this)};var Mat=new z,Lat=new gn,Nat=new h,Fat=new h;function zye(e){if(!F.equals(F.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=Mat;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(l(n)){let a=e.getPickRay(i,Lat);o=n.pickWorldCoordinates(a,t,!0,Nat)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,Fat));let s;if(l(o)||l(r)){let a=l(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=l(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}nn.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof cn&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=zye(this)))};var XH=new h,gX=new F,Bat=new F,yX=new Le,xX=new $,Hye=new fe;function kat(e,t,n){let i=F.clone(e.transform,gX),o=Lt.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,Bat);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,yX),s=$.fromQuaternion(r,xX);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function Vat(e,t,n,i){let o=F.clone(e.transform,gX);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,Hye);t=a.project(c,XH)}h.clone(t,e.position)}n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,yX),s=$.fromQuaternion(r,xX);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function Uat(e,t,n,i){let o=F.clone(e.transform,gX);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,u=c.ellipsoid.cartesianToCartographic(t,Hye);t=c.project(u,XH)}z.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===$l.ROTATE){n.heading=n.heading-P.PI_OVER_TWO,n.pitch=-P.PI_OVER_TWO,n.roll=0;let r=Le.fromHeadingPitchRoll(n,yX),s=$.fromQuaternion(r,xX);$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var zat=new h,Hat=new h,Gat=new h;function Gye(e,t,n,i){let o=h.clone(n.direction,zat),r=h.clone(n.up,Hat);if(e._scene.mode===ne.SCENE3D){let a=e._projection.ellipsoid,c=Lt.eastNorthUpToFixedFrame(t,a,qH),u=F.inverseTransformation(c,YH);F.multiplyByPointAsVector(u,o,o),F.multiplyByPointAsVector(u,r,r)}let s=h.cross(o,r,Gat);return i.heading=kye(o,r),i.pitch=Vye(o),i.roll=Uye(o,r,s),i}var _X={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},GS=new Ia;nn.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===ne.MORPHING)return;l(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,XH));l(o)&&l(o.west)&&(o=this.getRectangleCameraCoordinates(o,XH),i=!1),l(t.direction)&&(t=Gye(this,o,t,_X.orientation)),GS.heading=y(t.heading,0),GS.pitch=y(t.pitch,-P.PI_OVER_TWO),GS.roll=y(t.roll,0),n===ne.SCENE3D?kat(this,o,GS):n===ne.SCENE2D?Uat(this,o,GS,i):Vat(this,o,GS,i)};var Wat=new h;nn.prototype.flyHome=function(e){let t=this._mode;if(t===ne.MORPHING&&this._scene.completeMorph(),t===ne.SCENE2D)this.flyTo({destination:nn.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:F.IDENTITY});else if(t===ne.SCENE3D){let n=this.getRectangleCameraCoordinates(nn.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*nn.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:F.IDENTITY})}else if(t===ne.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,Wat).z),roll:0},endTransform:F.IDENTITY,convert:!1})}};nn.prototype.worldToCameraCoordinates=function(e,t){return l(t)||(t=new oe),vc(this),F.multiplyByVector(this._actualInvTransform,e,t)};nn.prototype.worldToCameraCoordinatesPoint=function(e,t){return l(t)||(t=new h),vc(this),F.multiplyByPoint(this._actualInvTransform,e,t)};nn.prototype.worldToCameraCoordinatesVector=function(e,t){return l(t)||(t=new h),vc(this),F.multiplyByPointAsVector(this._actualInvTransform,e,t)};nn.prototype.cameraToWorldCoordinates=function(e,t){return l(t)||(t=new oe),vc(this),F.multiplyByVector(this._actualTransform,e,t)};nn.prototype.cameraToWorldCoordinatesPoint=function(e,t){return l(t)||(t=new h),vc(this),F.multiplyByPoint(this._actualTransform,e,t)};nn.prototype.cameraToWorldCoordinatesVector=function(e,t){return l(t)||(t=new h),vc(this),F.multiplyByPointAsVector(this._actualTransform,e,t)};function Wye(e,t){let n=e._scene.mapMode2D===$l.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var Pye=new h;nn.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,Pye),h.add(n,Pye,n),this._mode===ne.SCENE2D&&Wye(this,n),this._adjustOrthographicFrustum(!0)};nn.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?KH(this,e):this.move(this.direction,e)};nn.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?KH(this,-e):this.move(this.direction,-e)};nn.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};nn.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};nn.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};nn.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};nn.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,-e)};nn.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,e)};nn.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,-e)};nn.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,e)};var jat=new Le,qat=new $;nn.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Le.fromAxisAngle(e,-n,jat),o=$.fromQuaternion(i,qat),r=this.direction,s=this.up,a=this.right;$.multiplyByVector(o,r,r),$.multiplyByVector(o,s,s),$.multiplyByVector(o,a,a)};nn.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};nn.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var Yat=new Le,Xat=new $;nn.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Le.fromAxisAngle(e,-n,Yat),o=$.fromQuaternion(i,Xat);$.multiplyByVector(o,this.position,this.position),$.multiplyByVector(o,this.direction,this.direction),$.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};nn.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),jye(this,e)};nn.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),jye(this,-e)};var Kat=new h,Zat=new h,$at=new h,Rye=new h;function jye(e,t){let n=e.position;if(l(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,P.EPSILON2)){let i=h.normalize(n,Kat),o=h.equalsEpsilon(i,e.constrainedAxis,P.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,Rye),P.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,Zat),a=h.dot(i,s),c=P.acosClamped(a);t>0&&t>c&&(t=c-P.EPSILON4),a=h.dot(i,h.negate(s,Rye)),c=P.acosClamped(a),t<0&&-t>c&&(t=-c+P.EPSILON4);let u=h.cross(s,i,$at);e.rotate(u,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}nn.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),qye(this,-e)};nn.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),qye(this,e)};function qye(e,t){l(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function KH(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===$l.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===$l.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function Yye(e,t){e.move(e.direction,t)}nn.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?KH(this,e):Yye(this,e)};nn.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?KH(this,-e):Yye(this,-e)};nn.prototype.getMagnitude=function(){if(this._mode===ne.SCENE3D)return h.magnitude(this.position);if(this._mode===ne.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===ne.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var Qat=new F;nn.prototype.lookAt=function(e,t){let n=this._scene,i=y(n.ellipsoid,ee.default),o=Lt.eastNorthUpToFixedFrame(e,i,Qat);this.lookAtTransform(o,t)};var Jat=new h,ect=new Le,tct=new Le,nct=new $;function Xye(e,t,n){t=P.clamp(t,-P.PI_OVER_TWO,P.PI_OVER_TWO),e=P.zeroToTwoPi(e)-P.PI_OVER_TWO;let i=Le.fromAxisAngle(h.UNIT_Y,-t,ect),o=Le.fromAxisAngle(h.UNIT_Z,-e,tct),r=Le.multiply(o,i,o),s=$.fromQuaternion(r,nct),a=h.clone(h.UNIT_X,Jat);return $.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}nn.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!l(t))return;let n;if(l(t.heading)?n=Xye(t.heading,t.pitch,t.range):n=t,this._mode===ne.SCENE2D){z.clone(z.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)<P.EPSILON10&&h.clone(h.UNIT_Y,this.up),h.normalize(this.up,this.up),this._setTransform(F.IDENTITY),h.negate(h.UNIT_Z,this.direction),h.cross(this.direction,this.up,this.right),h.normalize(this.right,this.right);let i=this.frustum,o=i.top/i.right;i.right=h.magnitude(n)*.5,i.left=-i.right,i.top=o*i.right,i.bottom=-i.top,this._setTransform(e);return}h.clone(n,this.position),h.negate(this.position,this.direction),h.normalize(this.direction,this.direction),h.cross(this.direction,h.UNIT_Z,this.right),h.magnitudeSquared(this.right)<P.EPSILON10&&h.clone(h.UNIT_X,this.right),h.normalize(this.right,this.right),h.cross(this.right,this.direction,this.up),h.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};var XF=new fe,ict=new fe,oct=new h,rct=new h,sct=new h,act=new h,cct=new h,lct=new h,uct=new h,hX=new h,fct={direction:new h,right:new h,up:new h},Oye;function Sc(e,t,n,i){return Math.abs(h.dot(t,n))/i-h.dot(e,n)}function Kye(e,t,n,i){let o=e._projection.ellipsoid,r=i?e:fct,{north:s,south:a,west:c}=t,{east:u}=t;c>u&&(u+=P.TWO_PI);let f=(c+u)*.5,d;if(a<-P.PI_OVER_TWO+P.RADIANS_PER_DEGREE&&s>P.PI_OVER_TWO-P.RADIANS_PER_DEGREE)d=0;else{let M=XF;M.longitude=f,M.latitude=s,M.height=0;let N=ict;N.longitude=f,N.latitude=a,N.height=0;let _=Oye;(!l(_)||_.ellipsoid!==o)&&(Oye=_=new Ip(void 0,void 0,o)),_.setEndPoints(M,N),d=_.interpolateUsingFraction(.5,XF).latitude}let p=XF;p.longitude=f,p.latitude=d,p.height=0;let g=o.cartographicToCartesian(p,uct),m=XF;m.longitude=u,m.latitude=s;let x=o.cartographicToCartesian(m,oct);m.longitude=c;let b=o.cartographicToCartesian(m,sct);m.longitude=f;let T=o.cartographicToCartesian(m,cct);m.latitude=a;let A=o.cartographicToCartesian(m,lct);m.longitude=u;let C=o.cartographicToCartesian(m,act);m.longitude=c;let E=o.cartographicToCartesian(m,rct);h.subtract(b,g,b),h.subtract(C,g,C),h.subtract(x,g,x),h.subtract(E,g,E),h.subtract(T,g,T),h.subtract(A,g,A);let v=o.geodeticSurfaceNormal(g,r.direction);h.negate(v,v);let D=h.cross(v,h.UNIT_Z,r.right);h.normalize(D,D);let O=h.cross(D,v,r.up),R;if(e.frustum instanceof cn){let M=Math.max(h.distance(x,b),h.distance(C,E)),N=Math.max(h.distance(x,C),h.distance(b,E)),_,S,w=e.frustum._offCenterFrustum,I=w.right/w.top,L=N*I;M>L?(_=M,S=_/I):(S=N,_=L),R=Math.max(_,S)}else{let M=Math.tan(e.frustum.fovy*.5),N=e.frustum.aspectRatio*M;if(R=Math.max(Sc(v,O,b,M),Sc(v,O,C,M),Sc(v,O,x,M),Sc(v,O,E,M),Sc(v,O,T,M),Sc(v,O,A,M),Sc(v,D,b,N),Sc(v,D,C,N),Sc(v,D,x,N),Sc(v,D,E,N),Sc(v,D,T,N),Sc(v,D,A,N)),a<0&&s>0){let _=XF;_.longitude=c,_.latitude=0,_.height=0;let S=o.cartographicToCartesian(_,hX);h.subtract(S,g,S),R=Math.max(R,Sc(v,O,S,M),Sc(v,D,S,N)),_.longitude=u,S=o.cartographicToCartesian(_,hX),h.subtract(S,g,S),R=Math.max(R,Sc(v,O,S,M),Sc(v,D,S,N))}}return h.add(g,h.multiplyByScalar(v,-R,hX),n)}var dct=new fe,hct=new h,mct=new h;function pct(e,t,n){let i=e._projection;t.west>t.east&&(t=se.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=dct;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,hct);F.multiplyByPoint(o,a,a),F.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,mct);if(F.multiplyByPoint(o,c,c),F.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,l(e.frustum.fovy)){let u=Math.tan(e.frustum.fovy*.5),f=e.frustum.aspectRatio*u;n.z=Math.max((a.x-c.x)/f,(a.y-c.y)/u)*.5}else{let u=a.x-c.x,f=a.y-c.y;n.z=Math.max(u,f)}return n}var _ct=new fe,gct=new h,yct=new h;function xct(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===$l.INFINITE_SCROLL?o+=P.TWO_PI:(t=se.MAX_VALUE,o=t.east));let r=_ct;r.longitude=o,r.latitude=t.north;let s=i.project(r,gct);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,yct),c=Math.abs(s.x-a.x)*.5,u=Math.abs(s.y-a.y)*.5,f,d,p=e.frustum.right/e.frustum.top,g=u*p;return c>g?(f=c,d=f/p):(d=u,f=g),u=Math.max(2*f,2*d),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=u,n=i.project(r,n),n}nn.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(l(t)||(t=new h),n===ne.SCENE3D)return Kye(this,e,t);if(n===ne.COLUMBUS_VIEW)return pct(this,e,t);if(n===ne.SCENE2D)return xct(this,e,t)};var bct=new gn;function Tct(e,t,n,i){n=y(n,ee.default);let o=e.getPickRay(t,bct),r=ni.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return gn.getPoint(o,s,i)}var Cct=new gn;function Act(e,t,n,i){let r=e.getPickRay(t,Cct).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var Ect=new gn;function Sct(e,t,n,i){let o=e.getPickRay(t,Ect),r=-o.origin.x/o.direction.x;gn.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}nn.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(l(n)||(n=new h),t=y(t,ee.default),this._mode===ne.SCENE3D)n=Tct(this,e,t,n);else if(this._mode===ne.SCENE2D)n=Act(this,e,this._projection,n);else if(this._mode===ne.COLUMBUS_VIEW)n=Sct(this,e,this._projection,n);else return;return n}};var vct=new h,wct=new h,Dct=new h;function Ict(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,u=2/o*t.x-1,f=2/r*(r-t.y)-1,d=e.positionWC;h.clone(d,n.origin);let p=h.multiplyByScalar(e.directionWC,c,vct);h.add(d,p,p);let g=h.multiplyByScalar(e.rightWC,u*c*a,wct),m=h.multiplyByScalar(e.upWC,f*c*s,Dct),x=h.add(p,g,n.direction);return h.add(x,m,x),h.subtract(x,d,x),h.normalize(x,x),n}var WH=new h;function Pct(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2/o*t.x-1;c*=(s.right-s.left)*.5;let u=2/r*(r-t.y)-1;u*=(s.top-s.bottom)*.5;let f=n.origin;return h.clone(e.position,f),h.multiplyByScalar(e.right,c,WH),h.add(WH,f,f),h.multiplyByScalar(e.up,u,WH),h.add(WH,f,f),h.clone(e.directionWC,n.direction),(e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}nn.prototype.getPickRay=function(e,t){l(t)||(t=new gn);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return l(i.aspectRatio)&&l(i.fov)&&l(i.near)?Ict(this,e,t):Pct(this,e,t)};var Rct=new h,Oct=new h;nn.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,Rct),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),Oct);return Math.max(0,h.magnitude(n)-e.radius)};var Mct=new z;nn.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,Mct);return Math.max(o.x,o.y)};function Lct(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let u=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(u,e.position)}return{easingFunction:Yr.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var Nct=new h,Mye=new h,Fct=new h,Bct=new h;function kct(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,Nct),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,Mye),Mye);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,Fct);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,u=h.magnitude(h.subtract(n,s,Bct)),f=c*u,d=a*u,p=e._maxCoord.x,g=e._maxCoord.y,m=Math.max(f-p,p),x=Math.max(d-g,g);if(n.z<-m||n.z>m||n.y<-x||n.y>x){let b=s.y<-m||s.y>m,T=s.z<-x||s.z>x;if(b||T)return Lct(e,n,s,m,x,t)}}nn.prototype.createCorrectPositionTween=function(e){if(this._mode===ne.COLUMBUS_VIEW)return kct(this,e)};var Vct=new h,Js={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};nn.prototype.cancelFlight=function(){l(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};nn.prototype.completeFlight=function(){if(l(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=Js.destination,e.orientation.heading=Js.heading,e.orientation.pitch=Js.pitch,e.orientation.roll=Js.roll,this.setView(e),l(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};nn.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===ne.MORPHING)return;this.cancelFlight();let i=t instanceof se;i&&(t=this.getRectangleCameraCoordinates(t,Vct));let o=y(e.orientation,y.EMPTY_OBJECT);if(l(o.direction)&&(o=Gye(this,t,o,_X.orientation)),l(e.duration)&&e.duration<=0){let f=_X;f.destination=e.destination,f.orientation.heading=o.heading,f.orientation.pitch=o.pitch,f.orientation.roll=o.roll,f.convert=e.convert,f.endTransform=e.endTransform,this.setView(f),typeof e.complete=="function"&&e.complete();return}let r=this,s;Js.destination=t,Js.heading=o.heading,Js.pitch=o.pitch,Js.roll=o.roll,Js.duration=e.duration,Js.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),l(e.complete)&&e.complete()},Js.cancel=e.cancel,Js.endTransform=e.endTransform,Js.convert=i?!1:e.convert,Js.maximumHeight=e.maximumHeight,Js.pitchAdjustHeight=e.pitchAdjustHeight,Js.flyOverLongitude=e.flyOverLongitude,Js.flyOverLongitudeWeight=e.flyOverLongitudeWeight,Js.easingFunction=e.easingFunction;let a=this._scene,c=YF.createTween(a,Js);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let u=this._scene.preloadFlightCamera;this._mode!==ne.SCENE2D&&(l(u)||(u=nn.clone(this)),u.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=u.frustum.computeCullingVolume(u.positionWC,u.directionWC,u.upWC))};function Uct(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function zct(e,t){let n=e.frustum,i=n.offCenterFrustum;l(i)&&(n=i);let o,r,s=n.right/n.top,a=t*s;return t>a?(o=t,r=o/s):(r=t,o=a),Math.max(o,r)*1.5}var Hct=100;function Zye(e,t,n){n=$f.clone(l(n)?n:nn.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!l(r)||r===0){let s=t.radius;s===0?n.range=Hct:e.frustum instanceof cn||e._mode===ne.SCENE2D?n.range=zct(e,s):n.range=Uct(e,s),n.range=P.clamp(n.range,i,o)}return n}nn.prototype.viewBoundingSphere=function(e,t){t=Zye(this,e,t),this.lookAt(e.center,t)};var Gct=new F,Wct=new h,jct=new h,qct=new h,Yct=new h,Xct=new oe,Kct=new Le,Zct=new $;nn.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===ne.SCENE2D||this._mode===ne.COLUMBUS_VIEW;this._setTransform(F.IDENTITY);let i=Zye(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,Wct):o=Xye(i.heading,i.pitch,i.range);let r=this._scene,s=y(r.ellipsoid,ee.default),a=Lt.eastNorthUpToFixedFrame(e.center,s,Gct);F.multiplyByPoint(a,o,o);let c,u;if(!n){if(c=h.subtract(e.center,o,jct),h.normalize(c,c),u=F.multiplyByPointAsVector(a,h.UNIT_Z,qct),1-Math.abs(h.dot(c,u))<P.EPSILON6){let d=Le.fromAxisAngle(c,i.heading,Kct),p=$.fromQuaternion(d,Zct);h.fromCartesian4(F.getColumn(a,1,Xct),u),$.multiplyByVector(p,u,u)}let f=h.cross(c,u,Yct);h.cross(f,c,u),h.normalize(u,u)}this.flyTo({destination:o,orientation:{direction:c,up:u},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var Lye=new h,Nye=new h,mX=new h,Fye=new h,KF=[new h,new h,new h,new h];function $ct(e,t){let n=t.radii,i=e.positionWC,o=h.multiplyComponents(t.oneOverRadii,i,Lye),r=h.magnitude(o),s=h.normalize(o,Nye),a,c;h.equalsEpsilon(s,h.UNIT_Z,P.EPSILON10)?(a=new h(0,1,0),c=new h(0,0,1)):(a=h.normalize(h.cross(h.UNIT_Z,s,mX),mX),c=h.normalize(h.cross(s,a,Fye),Fye));let u=Math.sqrt(h.magnitudeSquared(o)-1),f=h.multiplyByScalar(s,1/r,Lye),d=u/r,p=h.multiplyByScalar(a,d,Nye),g=h.multiplyByScalar(c,d,mX),m=h.add(f,g,KF[0]);h.subtract(m,p,m),h.multiplyComponents(n,m,m);let x=h.subtract(f,g,KF[1]);h.subtract(x,p,x),h.multiplyComponents(n,x,x);let b=h.subtract(f,g,KF[2]);h.add(b,p,b),h.multiplyComponents(n,b,b);let T=h.add(f,g,KF[3]);return h.add(T,p,T),h.multiplyComponents(n,T,T),KF}var pX=new z,Qct=new h,x0=[new fe,new fe,new fe,new fe];function jH(e,t,n,i,o,r){pX.x=e,pX.y=t;let s=i.pickEllipsoid(pX,o,Qct);return l(s)?(x0[n]=o.cartesianToCartographic(s,x0[n]),1):(x0[n]=o.cartesianToCartographic(r[n],x0[n]),0)}nn.prototype.computeViewRectangle=function(e,t){e=y(e,ee.default);let n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new ae(h.ZERO,e.maximumRadius);if(n.computeVisibility(i)===jt.OUTSIDE)return;let r=this._scene.canvas,s=r.clientWidth,a=r.clientHeight,c=0,u=$ct(this,e);if(c+=jH(0,0,0,this,e,u),c+=jH(0,a,1,this,e,u),c+=jH(s,a,2,this,e,u),c+=jH(s,0,3,this,e,u),c<2)return se.MAX_VALUE;t=se.fromCartographicArray(x0,t);let f=0,d=x0[3].longitude;for(let p=0;p<4;++p){let g=x0[p].longitude,m=Math.abs(g-d);m>P.PI?f+=P.TWO_PI-m:f+=m,d=g}return P.equalsEpsilon(Math.abs(f),P.TWO_PI,P.EPSILON9)&&(t.west=-P.PI,t.east=P.PI,x0[0].latitude>=0?t.north=P.PI_OVER_TWO:t.south=-P.PI_OVER_TWO),t};nn.prototype.switchToPerspectiveFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof Di)return;let e=this._scene;this.frustum=new Di,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60)};nn.prototype.switchToOrthographicFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof cn)return;let e=zye(this),t=this._scene;this.frustum=new cn,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};nn.clone=function(e,t){return l(t)||(t=new nn(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),F.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var lo=nn;var Jct={SHIFT:0,CTRL:1,ALT:2},ea=Object.freeze(Jct);var elt={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},Cn=Object.freeze(elt);function b0(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=(t.clientX-o.left)*(i.offsetWidth/o.width),n.y=(t.clientY-o.top)*(i.offsetHeight/o.height),n}function SX(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function PT(e){if(e.shiftKey)return ea.SHIFT;if(e.ctrlKey)return ea.CTRL;if(e.altKey)return ea.ALT}var Ns={LEFT:0,MIDDLE:1,RIGHT:2};function qu(e,t,n,i){function o(r){i(e,r)}Gt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function tlt(e){let t=e._element,n=l(t.disableRootEvents)?t:document;Gt.supportsPointerEvents()?(qu(e,"pointerdown",t,alt),qu(e,"pointerup",t,s0e),qu(e,"pointermove",t,clt),qu(e,"pointercancel",t,s0e)):(qu(e,"mousedown",t,a0e),qu(e,"mouseup",n,c0e),qu(e,"mousemove",n,l0e),qu(e,"touchstart",t,rlt),qu(e,"touchend",n,t0e),qu(e,"touchmove",n,slt),qu(e,"touchcancel",n,t0e)),qu(e,"dblclick",t,ilt);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",qu(e,i,t,olt)}function nlt(e){let t=e._removalFunctions;for(let n=0;n<t.length;++n)t[n]()}var $ye={position:new z};function vX(e){e._lastSeenTouchEvent=Ci()}function wX(e){return Ci()-e._lastSeenTouchEvent>wh.mouseEmulationIgnoreMilliseconds}function EX(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)<n}function a0e(e,t){if(!wX(e))return;let n=t.button;e._buttonDown[n]=!0;let i;if(n===Ns.LEFT)i=Cn.LEFT_DOWN;else if(n===Ns.MIDDLE)i=Cn.MIDDLE_DOWN;else if(n===Ns.RIGHT)i=Cn.RIGHT_DOWN;else return;let o=b0(e,t,e._primaryPosition);z.clone(o,e._primaryStartPosition),z.clone(o,e._primaryPreviousPosition);let r=PT(t),s=e.getInputAction(i,r);l(s)&&(z.clone(o,$ye.position),s($ye),t.preventDefault())}var Qye={position:new z},Jye={position:new z};function bX(e,t,n,i){let o=PT(i),r=e.getInputAction(t,o),s=e.getInputAction(n,o);if(l(r)||l(s)){let a=b0(e,i,e._primaryPosition);if(l(r)&&(z.clone(a,Qye.position),r(Qye)),l(s)){let c=e._primaryStartPosition;EX(c,a,e._clickPixelTolerance)&&(z.clone(a,Jye.position),s(Jye))}}}function c0e(e,t){if(!wX(e))return;let n=t.button;n!==Ns.LEFT&&n!==Ns.MIDDLE&&n!==Ns.RIGHT||(e._buttonDown[Ns.LEFT]&&(bX(e,Cn.LEFT_UP,Cn.LEFT_CLICK,t),e._buttonDown[Ns.LEFT]=!1),e._buttonDown[Ns.MIDDLE]&&(bX(e,Cn.MIDDLE_UP,Cn.MIDDLE_CLICK,t),e._buttonDown[Ns.MIDDLE]=!1),e._buttonDown[Ns.RIGHT]&&(bX(e,Cn.RIGHT_UP,Cn.RIGHT_CLICK,t),e._buttonDown[Ns.RIGHT]=!1))}var TX={startPosition:new z,endPosition:new z};function l0e(e,t){if(!wX(e))return;let n=PT(t),i=b0(e,t,e._primaryPosition),o=e._primaryPreviousPosition,r=e.getInputAction(Cn.MOUSE_MOVE,n);l(r)&&(z.clone(o,TX.startPosition),z.clone(i,TX.endPosition),r(TX)),z.clone(i,o),(e._buttonDown[Ns.LEFT]||e._buttonDown[Ns.MIDDLE]||e._buttonDown[Ns.RIGHT])&&t.preventDefault()}var e0e={position:new z};function ilt(e,t){let n=t.button,i;if(n===Ns.LEFT)i=Cn.LEFT_DOUBLE_CLICK;else return;let o=PT(t),r=e.getInputAction(i,o);l(r)&&(b0(e,t,e0e.position),r(e0e))}function olt(e,t){let n;if(l(t.deltaY)){let r=t.deltaMode;r===t.DOM_DELTA_PIXEL?n=-t.deltaY:r===t.DOM_DELTA_LINE?n=-t.deltaY*40:n=-t.deltaY*120}else t.detail>0?n=t.detail*-120:n=t.wheelDelta;if(!l(n))return;let i=PT(t),o=e.getInputAction(Cn.WHEEL,i);l(o)&&(o(n),t.preventDefault())}function rlt(e,t){vX(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.set(s,b0(e,r,new z));ZH(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.set(s,z.clone(a.get(s)))}function t0e(e,t){vX(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.remove(s);ZH(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.remove(s)}var n0e={position:new z},CX={position1:new z,position2:new z},i0e={position:new z},o0e={position:new z},r0e={position:new z};function ZH(e,t){let n=PT(t),i=e._positions,o=i.length,r,s,a=e._isPinching;if(o!==1&&e._buttonDown[Ns.LEFT]){if(e._buttonDown[Ns.LEFT]=!1,l(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),r=e.getInputAction(Cn.LEFT_UP,n),l(r)&&(z.clone(e._primaryPosition,i0e.position),r(i0e)),o===0&&!e._isTouchHolding&&(s=e.getInputAction(Cn.LEFT_CLICK,n),l(s))){let c=e._primaryStartPosition,u=e._previousPositions.values[0];EX(c,u,e._clickPixelTolerance)&&(z.clone(e._primaryPosition,o0e.position),s(o0e))}e._isTouchHolding=!1}if(o===0&&a&&(e._isPinching=!1,r=e.getInputAction(Cn.PINCH_END,n),l(r)&&r()),o===1&&!a){let c=i.values[0];z.clone(c,e._primaryPosition),z.clone(c,e._primaryStartPosition),z.clone(c,e._primaryPreviousPosition),e._buttonDown[Ns.LEFT]=!0,r=e.getInputAction(Cn.LEFT_DOWN,n),l(r)&&(z.clone(c,n0e.position),r(n0e)),e._touchHoldTimer=setTimeout(function(){if(!e.isDestroyed()&&(e._touchHoldTimer=void 0,e._isTouchHolding=!0,s=e.getInputAction(Cn.RIGHT_CLICK,n),l(s))){let u=e._primaryStartPosition,f=e._previousPositions.values[0];EX(u,f,e._holdPixelTolerance)&&(z.clone(e._primaryPosition,r0e.position),s(r0e))}},wh.touchHoldDelayMilliseconds),t.preventDefault()}o===2&&!a&&(e._isPinching=!0,r=e.getInputAction(Cn.PINCH_START,n),l(r)&&(z.clone(i.values[0],CX.position1),z.clone(i.values[1],CX.position2),r(CX),t.preventDefault()))}function slt(e,t){vX(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i){r=n[i],s=r.identifier;let u=a.get(s);l(u)&&b0(e,r,u)}u0e(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,z.clone(a.get(s),c.get(s))}var AX={startPosition:new z,endPosition:new z},ZF={distance:{startPosition:new z,endPosition:new z},angleAndHeight:{startPosition:new z,endPosition:new z}};function u0e(e,t){let n=PT(t),i=e._positions,o=e._previousPositions,r=i.length,s;if(r===1&&e._buttonDown[Ns.LEFT]){let a=i.values[0];z.clone(a,e._primaryPosition);let c=e._primaryPreviousPosition;s=e.getInputAction(Cn.MOUSE_MOVE,n),l(s)&&(z.clone(c,AX.startPosition),z.clone(a,AX.endPosition),s(AX)),z.clone(a,c),t.preventDefault()}else if(r===2&&e._isPinching&&(s=e.getInputAction(Cn.PINCH_MOVE,n),l(s))){let a=i.values[0],c=i.values[1],u=o.values[0],f=o.values[1],d=c.x-a.x,p=c.y-a.y,g=Math.sqrt(d*d+p*p)*.25,m=f.x-u.x,x=f.y-u.y,b=Math.sqrt(m*m+x*x)*.25,T=(c.y+a.y)*.125,A=(f.y+u.y)*.125,C=Math.atan2(p,d),E=Math.atan2(x,m);z.fromElements(0,b,ZF.distance.startPosition),z.fromElements(0,g,ZF.distance.endPosition),z.fromElements(E,A,ZF.angleAndHeight.startPosition),z.fromElements(C,T,ZF.angleAndHeight.endPosition),s(ZF)}}function alt(e,t){if(t.target.setPointerCapture(t.pointerId),t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.set(i,b0(e,t,new z)),ZH(e,t),e._previousPositions.set(i,z.clone(n.get(i)))}else a0e(e,t)}function s0e(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.remove(i),ZH(e,t),e._previousPositions.remove(i)}else c0e(e,t)}function clt(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId,o=n.get(i);if(!l(o))return;b0(e,t,o),u0e(e,t);let r=e._previousPositions;z.clone(n.get(i),r.get(i))}else l0e(e,t)}function wh(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-wh.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new z,this._primaryPosition=new z,this._primaryPreviousPosition=new z,this._positions=new St,this._previousPositions=new St,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=y(e,document),tlt(this)}wh.prototype.setInputAction=function(e,t,n){let i=SX(t,n);this._inputEvents[i]=e};wh.prototype.getInputAction=function(e,t){let n=SX(e,t);return this._inputEvents[n]};wh.prototype.removeInputAction=function(e,t){let n=SX(e,t);delete this._inputEvents[n]};wh.prototype.isDestroyed=function(){return!1};wh.prototype.destroy=function(){return nlt(this),ue(this)};wh.mouseEmulationIgnoreMilliseconds=800;wh.touchHoldDelayMilliseconds=1500;var Yu=wh;var llt={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},Fi=Object.freeze(llt);function ta(e,t){let n=`${e}`;return l(t)&&(n+=`+${t}`),n}function ult(e,t){z.clone(e.distance.startPosition,t.distance.startPosition),z.clone(e.distance.endPosition,t.distance.endPosition),z.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),z.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function f0e(e,t,n){let i=ta(Fi.PINCH,t),o=e._update,r=e._isDown,s=e._eventStartPosition,a=e._pressTime,c=e._releaseTime;o[i]=!0,r[i]=!1,s[i]=new z;let u=e._movement[i];l(u)||(u=e._movement[i]={}),u.distance={startPosition:new z,endPosition:new z},u.angleAndHeight={startPosition:new z,endPosition:new z},u.prevAngle=0,e._eventHandler.setInputAction(function(f){e._buttonsDown++,r[i]=!0,a[i]=new Date,z.lerp(f.position1,f.position2,.5,s[i])},Cn.PINCH_START,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),r[i]=!1,c[i]=new Date},Cn.PINCH_END,t),e._eventHandler.setInputAction(function(f){if(r[i]){o[i]?(ult(f,u),o[i]=!1,u.prevAngle=u.angleAndHeight.startPosition.x):(z.clone(f.distance.endPosition,u.distance.endPosition),z.clone(f.angleAndHeight.endPosition,u.angleAndHeight.endPosition));let d=u.angleAndHeight.endPosition.x,p=u.prevAngle,g=Math.PI*2;for(;d>=p+Math.PI;)d-=g;for(;d<p-Math.PI;)d+=g;u.angleAndHeight.endPosition.x=-d*n.clientWidth/12,u.angleAndHeight.startPosition.x=-p*n.clientWidth/12}},Cn.PINCH_MOVE,t)}function d0e(e,t){let n=ta(Fi.WHEEL,t),i=e._pressTime,o=e._releaseTime,r=e._update;r[n]=!0;let s=e._movement[n];l(s)||(s=e._movement[n]={});let a=e._lastMovement[n];l(a)||(a=e._lastMovement[n]={startPosition:new z,endPosition:new z,valid:!1}),s.startPosition=new z,z.clone(z.ZERO,s.startPosition),s.endPosition=new z,e._eventHandler.setInputAction(function(c){let u=7.5*P.toRadians(c);i[n]=o[n]=new Date,s.endPosition.x=0,s.endPosition.y=u,z.clone(s.endPosition,a.endPosition),a.valid=!0,r[n]=!1},Cn.WHEEL,t)}function WS(e,t,n){let i=ta(n,t),o=e._isDown,r=e._eventStartPosition,s=e._pressTime;o[i]=!1,r[i]=new z;let a=e._lastMovement[i];l(a)||(a=e._lastMovement[i]={startPosition:new z,endPosition:new z,valid:!1});let c,u;n===Fi.LEFT_DRAG?(c=Cn.LEFT_DOWN,u=Cn.LEFT_UP):n===Fi.RIGHT_DRAG?(c=Cn.RIGHT_DOWN,u=Cn.RIGHT_UP):n===Fi.MIDDLE_DRAG&&(c=Cn.MIDDLE_DOWN,u=Cn.MIDDLE_UP),e._eventHandler.setInputAction(function(f){e._buttonsDown++,a.valid=!1,o[i]=!0,s[i]=new Date,z.clone(f.position,r[i])},c,t),e._eventHandler.setInputAction(function(){DX(ta(n,void 0),e);for(let f of Object.values(ea)){let d=ta(n,f);DX(d,e)}},u,t)}function DX(e,t){let n=t._releaseTime,i=t._isDown;i[e]&&(t._buttonsDown=Math.max(t._buttonsDown-1,0)),i[e]=!1,n[e]=new Date}function h0e(e,t){z.clone(e.startPosition,t.startPosition),z.clone(e.endPosition,t.endPosition)}function flt(e,t,n){let i=n._isDown,o=!1,r=ta(e,t);for(let[c,u]of Object.entries(i))c.startsWith(e)&&u&&c!==r&&(o=!0,DX(c,n));if(!o)return;let s=n._pressTime,a=n._lastMovement[r];l(a)||(a=n._lastMovement[r]={startPosition:new z,endPosition:new z,valid:!1}),n._buttonsDown++,a.valid=!1,i[r]=!0,s[r]=new Date}function m0e(e,t){let n=e._update,i=e._movement,o=e._lastMovement,r=e._isDown;for(let s in Fi)if(Fi.hasOwnProperty(s)){let a=Fi[s];if(l(a)){let c=ta(a,t);n[c]=!0,l(e._lastMovement[c])||(e._lastMovement[c]={startPosition:new z,endPosition:new z,valid:!1}),l(e._movement[c])||(e._movement[c]={startPosition:new z,endPosition:new z})}}e._eventHandler.setInputAction(function(s){for(let a in Fi)if(Fi.hasOwnProperty(a)){let c=Fi[a];if(l(c)){let u=ta(c,t);flt(c,t,e),r[u]&&(n[u]?(h0e(i[u],o[u]),o[u].valid=!0,h0e(s,i[u]),n[u]=!1):z.clone(s.endPosition,i[u].endPosition))}}z.clone(s.endPosition,e._currentMousePosition)},Cn.MOUSE_MOVE,t)}function ed(e){this._eventHandler=new Yu(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new z,d0e(this,void 0),f0e(this,void 0,e),WS(this,void 0,Fi.LEFT_DRAG),WS(this,void 0,Fi.RIGHT_DRAG),WS(this,void 0,Fi.MIDDLE_DRAG),m0e(this,void 0);for(let t in ea)if(ea.hasOwnProperty(t)){let n=ea[t];l(n)&&(d0e(this,n),f0e(this,n,e),WS(this,n,Fi.LEFT_DRAG),WS(this,n,Fi.RIGHT_DRAG),WS(this,n,Fi.MIDDLE_DRAG),m0e(this,n))}}Object.defineProperties(ed.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let e=!this._update[ta(Fi.WHEEL)]||!this._update[ta(Fi.WHEEL,ea.SHIFT)]||!this._update[ta(Fi.WHEEL,ea.CTRL)]||!this._update[ta(Fi.WHEEL,ea.ALT)];return this._buttonsDown>0||e}}});ed.prototype.isMoving=function(e,t){let n=ta(e,t);return!this._update[n]};ed.prototype.getMovement=function(e,t){let n=ta(e,t);return this._movement[n]};ed.prototype.getLastMovement=function(e,t){let n=ta(e,t),i=this._lastMovement[n];if(i.valid)return i};ed.prototype.isButtonDown=function(e,t){let n=ta(e,t);return this._isDown[n]};ed.prototype.getStartMousePosition=function(e,t){if(e===Fi.WHEEL)return this._currentMousePosition;let n=ta(e,t);return this._eventStartPosition[n]};ed.prototype.getButtonPressTime=function(e,t){let n=ta(e,t);return this._pressTime[n]};ed.prototype.getButtonReleaseTime=function(e,t){let n=ta(e,t);return this._releaseTime[n]};ed.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};ed.prototype.isDestroyed=function(){return!1};ed.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),ue(this)};var $F=ed;function jm(){this.featurePropertiesDirty=!1}Object.defineProperties(jm.prototype,{featuresLength:{get:function(){de.throwInstantiationError()}},pointsLength:{get:function(){de.throwInstantiationError()}},trianglesLength:{get:function(){de.throwInstantiationError()}},geometryByteLength:{get:function(){de.throwInstantiationError()}},texturesByteLength:{get:function(){de.throwInstantiationError()}},batchTableByteLength:{get:function(){de.throwInstantiationError()}},innerContents:{get:function(){de.throwInstantiationError()}},ready:{get:function(){de.throwInstantiationError()}},tileset:{get:function(){de.throwInstantiationError()}},tile:{get:function(){de.throwInstantiationError()}},url:{get:function(){de.throwInstantiationError()}},batchTable:{get:function(){de.throwInstantiationError()}},metadata:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}},group:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}}});jm.prototype.hasProperty=function(e,t){de.throwInstantiationError()};jm.prototype.getFeature=function(e){de.throwInstantiationError()};jm.prototype.applyDebugSettings=function(e,t){de.throwInstantiationError()};jm.prototype.applyStyle=function(e){de.throwInstantiationError()};jm.prototype.update=function(e,t){de.throwInstantiationError()};jm.prototype.pick=function(e,t,n){de.throwInstantiationError()};jm.prototype.isDestroyed=function(){de.throwInstantiationError()};jm.prototype.destroy=function(){de.throwInstantiationError()};var IX=jm;function dlt(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var td=dlt;function jS(e,t){this._conditionsExpression=He(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,mlt(this,t)}Object.defineProperties(jS.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function hlt(e,t){this.condition=e,this.expression=t}function mlt(e,t){let n=[],i=e._conditions;if(!l(i))return;let o=i.length;for(let r=0;r<o;++r){let s=i[r],a=String(s[0]),c=String(s[1]);n.push(new hlt(new Cf(a,t),new Cf(c,t)))}e._runtimeConditions=n}jS.prototype.evaluate=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluate(e,t)}};jS.prototype.evaluateColor=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluateColor(e,t)}};jS.prototype.getShaderFunction=function(e,t,n,i){let o=this._runtimeConditions;if(!l(o)||o.length===0)return;let r="",s=o.length;for(let a=0;a<s;++a){let c=o[a],u=c.condition.getShaderExpression(t,n),f=c.expression.getShaderExpression(t,n);r+=` ${a===0?"if":"else if"} (${u}) - { - return ${f}; - } -`}return r=`${i} ${e} -{ -${r} return ${i}(1.0); -} -`,r};jS.prototype.getVariables=function(){let e=[],t=this._runtimeConditions;if(!l(t)||t.length===0)return e;let n=t.length;for(let i=0;i<n;++i){let o=t[i];e.push.apply(e,o.condition.getVariables()),e.push.apply(e,o.expression.getVariables())}return e=e.filter(function(i,o,r){return r.indexOf(i)===o}),e};var QF=jS;function T0(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,plt(this,e)}function plt(e,t){t=y(He(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;let n={};if(l(t.meta)){let i=t.defines,o=y(t.meta,y.EMPTY_OBJECT);for(let r in o)o.hasOwnProperty(r)&&(n[r]=new Cf(o[r],i))}e._meta=n,e._ready=!0}function nr(e,t){let n=y(e._style,y.EMPTY_OBJECT).defines;if(l(t)){if(typeof t=="boolean"||typeof t=="number")return new Cf(String(t));if(typeof t=="string")return new Cf(t,n);if(l(t.conditions))return new QF(t,n)}else return;return t}function ir(e){if(l(e)){if(l(e.expression))return e.expression;if(l(e.conditionsExpression))return He(e.conditionsExpression,!0)}else return;return e}Object.defineProperties(T0.prototype,{style:{get:function(){return this._style}},show:{get:function(){return this._show},set:function(e){this._show=nr(this,e),this._style.show=ir(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=nr(this,e),this._style.color=ir(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=nr(this,e),this._style.pointSize=ir(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=nr(this,e),this._style.pointOutlineColor=ir(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=nr(this,e),this._style.pointOutlineWidth=ir(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=nr(this,e),this._style.labelColor=ir(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=nr(this,e),this._style.labelOutlineColor=ir(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=nr(this,e),this._style.labelOutlineWidth=ir(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=nr(this,e),this._style.font=ir(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=nr(this,e),this._style.labelStyle=ir(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=nr(this,e),this._style.labelText=ir(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=nr(this,e),this._style.backgroundColor=ir(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=nr(this,e),this._style.backgroundPadding=ir(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=nr(this,e),this._style.backgroundEnabled=ir(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=nr(this,e),this._style.scaleByDistance=ir(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=nr(this,e),this._style.translucencyByDistance=ir(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=nr(this,e),this._style.distanceDisplayCondition=ir(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=nr(this,e),this._style.heightOffset=ir(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=nr(this,e),this._style.anchorLineEnabled=ir(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=nr(this,e),this._style.anchorLineColor=ir(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=nr(this,e),this._style.image=ir(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=nr(this,e),this._style.disableDepthTestDistance=ir(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=nr(this,e),this._style.horizontalOrigin=ir(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=nr(this,e),this._style.verticalOrigin=ir(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=nr(this,e),this._style.labelHorizontalOrigin=ir(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=nr(this,e),this._style.labelVerticalOrigin=ir(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}});T0.fromUrl=function(e){return we.createIfNeeded(e).fetchJson(e).then(function(n){return new T0(n)})};T0.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,l(this.color)&&l(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)};T0.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady?this._showShaderFunction:(this._showShaderFunctionReady=!0,l(this.show)&&l(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0,this._showShaderFunction)};T0.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady?this._pointSizeShaderFunction:(this._pointSizeShaderFunctionReady=!0,l(this.pointSize)&&l(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0,this._pointSizeShaderFunction)};T0.prototype.getVariables=function(){let e=[];return l(this.color)&&l(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),l(this.show)&&l(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),l(this.pointSize)&&l(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var RT=T0;function Dh(e){this._comparator=e.comparator,this._maximumLength=e.maximumLength,this._array=l(e.maximumLength)?new Array(e.maximumLength):[],this._length=0}Object.defineProperties(Dh.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(e){if(l(e)){for(;this._length>e;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});Dh.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new Dh({comparator:t,maximumLength:e});o._length=i;for(let r=0;r<i;r++)o._array[r]=n[r];return o};Dh.prototype.reset=function(){this._length=0;let e=this._maximumLength;if(l(e))for(let t=0;t<e;t++)this._array[t]=void 0;else this._array.length=0};Dh.prototype.resort=function(){let e=this._length;for(let t=0;t<e;t++)p0e(this,t)};Dh.prototype.insert=function(e){let t,n=this._maximumLength;if(l(n)){if(n===0)return;if(this._length===n){let o=this._array[0];if(this._comparator(e,o)<=0)return e;t=this.removeMinimum()}}let i=this._length;return this._array[i]=e,this._length++,p0e(this,i),t};Dh.prototype.removeMinimum=function(){let e=this._length;if(e===0)return;this._length--;let t=this._array[0];return e>=2&&(this._array[0]=this._array[e-1],_0e(this,0)),this._array[e-1]=void 0,t};Dh.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=PX(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&_0e(this,n)}return this._array[e-1]=void 0,t};Dh.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};Dh.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[PX(this,1,2)?1:2]};function $H(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function JF(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function PX(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function p0e(e,t){if(t===0)return;let n=Math.floor(P.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=JF(e,t,i);for(o!==n&&($H(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(JF(e,t,r)!==o)break;$H(e,t,r),t=r}}function _0e(e,t){let n=e._length,i=Math.floor(P.log2(t+1))%2===0,o;for(;(o=2*t+1)<n;){let r=o,s=o+1;if(s<n){JF(e,s,r)===i&&(r=s);let a=2*o+1,c=Math.max(Math.min(n-a,4),0);for(let u=0;u<c;u++){let f=a+u;JF(e,f,r)===i&&(r=f)}}if(JF(e,r,t)===i&&($H(e,r,t),r!==o&&r!==s)){let a=Math.floor((r-1)/2);PX(e,r,a)===i&&$H(e,r,a)}t=r}}var OT=Dh;function e2(e){e=y(e,y.EMPTY_OBJECT),this._maximumSubtreeCount=y(e.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new OT({comparator:e2.comparator})}e2.prototype.addSubtree=function(e){let t=new _lt(e,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(t);let n=e.implicitCoordinates;if(n.level>0){let i=n.getParentSubtreeCoordinates(),o=this.find(i)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==t;)this._queue.removeMinimum()};e2.prototype.find=function(e){let t=this._queue,n=t.internalArray,i=t.length;for(let o=0;o<i;o++){let r=n[o],a=r.subtree.implicitCoordinates;if(e.isEqual(a))return r.subtree}};e2.comparator=function(e,t){let n=e.subtree.implicitCoordinates,i=t.subtree.implicitCoordinates;return n.isAncestor(i)?1:i.isAncestor(n)?-1:e.stamp-t.stamp};function _lt(e,t){this.subtree=e,this.stamp=t}var t2=e2;function Ql(){this.orientedBoundingBox=new In,this.boundingSphere=new ae,this.boundTransform=new F,this.shapeTransform=new F,this._minBounds=h.clone(Ql.DefaultMinBounds,new h),this._maxBounds=h.clone(Ql.DefaultMaxBounds,new h),this.shaderUniforms={renderMinBounds:new h,renderMaxBounds:new h,boxUvToShapeUvScale:new h,boxUvToShapeUvTranslate:new h},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_SHAPE_BOUNDS:void 0},this.shaderMaximumIntersectionsLength=0}var glt=new h,RX=new h,ylt=new $,xlt=new h,blt=new h,Tlt=new h,Clt=new h,g0e=F.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new F);Ql.prototype.update=function(e,t,n,i,o){i=y(i,Ql.DefaultMinBounds),o=y(o,Ql.DefaultMaxBounds);let r=Ql.DefaultMinBounds,s=Ql.DefaultMaxBounds;t=this._minBounds=h.clamp(t,r,s,this._minBounds),n=this._maxBounds=h.clamp(n,r,s,this._maxBounds),i=h.clamp(i,r,s,xlt),o=h.clamp(o,r,s,blt);let a=h.clamp(t,i,o,Tlt),c=h.clamp(n,i,o,Clt),u=F.getScale(e,RX);if(a.x>c.x||a.y>c.y||a.z>c.z||(a.x===c.x)+(a.y===c.y)+(a.z===c.z)>=2||i.x>o.x||i.y>o.y||i.z>o.z||u.x===0||u.y===0||u.z===0)return!1;this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=MX(a,c,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ae.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:f,shaderDefines:d}=this;for(let m in d)d.hasOwnProperty(m)&&(d[m]=void 0);let p=!h.equals(t,r)||!h.equals(n,s),g=0;if(d.BOX_INTERSECTION_INDEX=g,g+=1,f.renderMinBounds=F.multiplyByPoint(g0e,a,f.renderMinBounds),f.renderMaxBounds=F.multiplyByPoint(g0e,c,f.renderMaxBounds),p){d.BOX_HAS_SHAPE_BOUNDS=!0;let m=t,x=n;f.boxUvToShapeUvScale=h.fromElements(2/(m.x===x.x?1:x.x-m.x),2/(m.y===x.y?1:x.y-m.y),2/(m.z===x.z?1:x.z-m.z),f.boxUvToShapeUvScale),f.boxUvToShapeUvTranslate=h.fromElements(-f.boxUvToShapeUvScale.x*(m.x*.5+.5),-f.boxUvToShapeUvScale.y*(m.y*.5+.5),-f.boxUvToShapeUvScale.z*(m.z*.5+.5),f.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=g,!0};var QH=new h,OX=new h;Ql.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minBounds,s=this._maxBounds,a=1/Math.pow(2,e),c=h.fromElements(P.lerp(r.x,s.x,a*t),P.lerp(r.y,s.y,a*n),P.lerp(r.z,s.z,a*i),QH),u=h.fromElements(P.lerp(r.x,s.x,a*(t+1)),P.lerp(r.y,s.y,a*(n+1)),P.lerp(r.z,s.z,a*(i+1)),OX);return MX(c,u,this.shapeTransform,o)};var y0e=new h;Ql.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,y0e),s=h.multiplyByScalar(r,o,y0e),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,QH),o,QH),c=h.add(a,s,OX),u=this._minBounds,f=this._maxBounds,d=h.fromElements(P.lerp(u.x,f.x,a.x),P.lerp(u.y,f.y,a.y),P.lerp(u.z,f.z,a.z),QH),p=h.fromElements(P.lerp(u.x,f.x,c.x),P.lerp(u.y,f.y,c.y),P.lerp(u.z,f.z,c.z),OX);return MX(d,p,this.shapeTransform,i)};Ql.DefaultMinBounds=Object.freeze(new h(-1,-1,-1));Ql.DefaultMaxBounds=Object.freeze(new h(1,1,1));function MX(e,t,n,i){let o=Ql.DefaultMinBounds,r=Ql.DefaultMaxBounds;if(h.equals(e,o)&&h.equals(t,r))i.center=F.getTranslation(n,i.center),i.halfAxes=F.getMatrix3(n,i.halfAxes);else{let a=F.getScale(n,RX),c=h.midpoint(e,t,glt);i.center=F.multiplyByPoint(n,c,i.center),a=h.fromElements(a.x*.5*(t.x-e.x),a.y*.5*(t.y-e.y),a.z*.5*(t.z-e.z),RX);let u=F.getRotation(n,ylt);i.halfAxes=$.setScale(u,a,i.halfAxes)}return i}var qm=Ql;function JH(e){this._resource=e,this._metadataTable=void 0}Object.defineProperties(JH.prototype,{metadataTable:{get:function(){return this._metadataTable}}});JH.fromJson=async function(e,t,n,i){let o;l(t)?o={json:t,binary:void 0}:o=Elt(n);let r=await Alt(e,o.json,o.binary),s={},a=o.json.bufferViews.length;for(let d=0;d<a;++d){let p=o.json.bufferViews[d],g=p.byteOffset,m=g+p.byteLength,b=r[p.buffer].subarray(g,m);s[d]=b}let c=o.json.voxelTable,u=o.json.propertyTables[c],f=new JH(e);return f._metadataTable=new Rl({count:u.count,properties:u.properties,class:i.classes[u.class],bufferViews:s}),f};function Alt(e,t,n){let i=t.buffers.length,o=new Array(i);for(let r=0;r<i;r++){let s=t.buffers[r];if(l(s.uri)){let c=e.getDerivedResource({url:s.uri});o[r]=c.fetchArrayBuffer().then(function(u){return new Uint8Array(u)})}else o[r]=Promise.resolve(n)}return Promise.all(o)}function Elt(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Mo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}var n2=JH;function os(){this.orientedBoundingBox=new In,this.boundingSphere=new ae,this.boundTransform=new F,this.shapeTransform=new F,this._minimumRadius=os.DefaultMinBounds.x,this._maximumRadius=os.DefaultMaxBounds.x,this._minimumHeight=os.DefaultMinBounds.y,this._maximumHeight=os.DefaultMaxBounds.y,this._minimumAngle=os.DefaultMinBounds.z,this._maximumAngle=os.DefaultMaxBounds.z,this.shaderUniforms={cylinderRenderHeightMinMax:new z,cylinderRenderRadiusMinMax:new z,cylinderRenderAngleMinMax:new z,cylinderUvToShapeUvRadius:new z,cylinderUvToShapeUvHeight:new z,cylinderUvToShapeUvAngle:new z,cylinderShapeUvAngleMinMax:new z,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var C0e=new h;os.prototype.update=function(e,t,n,i,o){i=y(i,os.DefaultMinBounds),o=y(o,os.DefaultMaxBounds);let r=os.DefaultMinBounds.x,s=os.DefaultMaxBounds.x,a=os.DefaultMinBounds.y,c=os.DefaultMaxBounds.y,u=os.DefaultMinBounds.z,f=os.DefaultMaxBounds.z,d=f-u,p=.5*d,g=P.EPSILON10,m=P.EPSILON3,x=P.EPSILON10,b=P.clamp(t.x,r,s),T=P.clamp(n.x,r,s),A=P.clamp(i.x,r,s),C=P.clamp(o.x,r,s),E=Math.max(b,A),v=Math.min(T,C),D=P.clamp(t.y,a,c),O=P.clamp(n.y,a,c),R=P.clamp(i.y,a,c),M=P.clamp(o.y,a,c),N=Math.max(D,R),_=Math.min(O,M),S=P.negativePiToPi(t.z),w=P.negativePiToPi(n.z),I=P.negativePiToPi(i.z),L=P.negativePiToPi(o.z),B=Math.max(S,I),U=Math.min(w,L),V=F.getScale(e,C0e);if(v===0||E>v||N>_||P.equalsEpsilon(V.x,0,void 0,g)||P.equalsEpsilon(V.y,0,void 0,g)||P.equalsEpsilon(V.z,0,void 0,g))return!1;this._minimumRadius=b,this._maximumRadius=T,this._minimumHeight=D,this._maximumHeight=O,this._minimumAngle=S,this._maximumAngle=w,this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=NX(E,v,N,_,B,U,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ae.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let Y=b===r&&T===s,W=D===a&&O===c,Q=w<S,j=w-S+Q*d,Z=j>p+x&&j<d-x,J=j<p-x,he=j>=p-x&&j<=p+x,xe=Z||J||he,re=P.equalsEpsilon(S,u,void 0,m),_e=P.equalsEpsilon(w,f,void 0,m),ye=E===r,De=U<B,ve=U-B+De*d,Me=ve>=p-x&&ve<d-x,Oe=ve>x&&ve<p-x,ct=ve<=x,Ke=Me||Oe||ct,{shaderUniforms:_t,shaderDefines:Ze}=this;for(let gt in Ze)Ze.hasOwnProperty(gt)&&(Ze[gt]=void 0);let Dt=0;if(Ze.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=Dt,Dt+=1,ye||(Ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,Ze.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=Dt,Dt+=1),_t.cylinderRenderRadiusMinMax=z.fromElements(E,v,_t.cylinderRenderRadiusMinMax),E===v&&(Ze.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),!Y){Ze.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let gt=T-b,yt=0,Kt=1;gt!==0&&(yt=1/gt,Kt=-b/gt),_t.cylinderUvToShapeUvRadius=z.fromElements(yt,Kt,_t.cylinderUvToShapeUvRadius)}if(!W){Ze.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let gt=O-D,yt=0,Kt=1;gt!==0&&(yt=2/gt,Kt=-(D+1)/gt),_t.cylinderUvToShapeUvHeight=z.fromElements(yt,Kt,_t.cylinderUvToShapeUvHeight)}if(_t.cylinderRenderHeightMinMax=z.fromElements(N,_,_t.cylinderRenderHeightMinMax),Q&&(Ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),Ke&&(Ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,Ze.CYLINDER_INTERSECTION_INDEX_ANGLE=Dt,Me?(Ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,Dt+=1):Oe?(Ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,Dt+=2):ct&&(Ze.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,Dt+=2),_t.cylinderRenderAngleMinMax=z.fromElements(B,U,_t.cylinderRenderAngleMinMax)),xe){Ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,re&&(Ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),_e&&(Ze.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let gt=(S-u)/d,yt=(w-u)/d,Kt=1-j/d;if(_t.cylinderShapeUvAngleMinMax=z.fromElements(gt,yt,_t.cylinderShapeUvAngleMinMax),_t.cylinderShapeUvAngleRangeZeroMid=(yt+.5*Kt)%1,j<=x)_t.cylinderUvToShapeUvAngle=z.fromElements(0,1,_t.cylinderUvToShapeUvAngle);else{let Te=d/j,Ae=-(S-u)/j;_t.cylinderUvToShapeUvAngle=z.fromElements(Te,Ae,_t.cylinderUvToShapeUvAngle)}}return this.shaderMaximumIntersectionsLength=Dt,!0};os.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minimumRadius,s=this._maximumRadius,a=this._minimumHeight,c=this._maximumHeight,u=this._minimumAngle,f=this._maximumAngle,d=1/Math.pow(2,e),p=P.lerp(r,s,t*d),g=P.lerp(r,s,(t+1)*d),m=P.lerp(a,c,n*d),x=P.lerp(a,c,(n+1)*d),b=P.lerp(u,f,i*d),T=P.lerp(u,f,(i+1)*d);return NX(p,g,m,x,b,T,this.shapeTransform,o)};var x0e=new h,b0e=new h,Slt=new h;os.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,x0e),s=h.multiplyByScalar(r,o,x0e),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,b0e),o,b0e),c=h.add(a,s,Slt),u=this._minimumRadius,f=this._maximumRadius,d=this._minimumHeight,p=this._maximumHeight,g=this._minimumAngle,m=this._maximumAngle,x=P.lerp(u,f,a.x),b=P.lerp(u,f,c.x),T=P.lerp(d,p,a.y),A=P.lerp(d,p,c.y),C=P.lerp(g,m,a.z),E=P.lerp(g,m,c.z);return NX(x,b,T,A,C,E,this.shapeTransform,i)};os.DefaultMinBounds=Object.freeze(new h(0,-1,-P.PI));os.DefaultMaxBounds=Object.freeze(new h(1,1,+P.PI));var vlt=5,wlt=new Array(vlt),Dlt=new h,Ilt=new $,Plt=new F,Rlt=new F,Olt=new F,LX=new F,Mlt=new h,Llt=new h,Nlt=new h,A0e=new Array(8);for(let e=0;e<8;e++)A0e[e]=new h;function T0e(e,t,n){return Math.abs(oe.dot(e,t))<n}function Flt(e){let t=F.getColumn(e,0,Mlt),n=F.getColumn(e,1,Llt),i=F.getColumn(e,2,Nlt),o=P.EPSILON4;return T0e(t,n,o)&&T0e(n,i,o)}function Blt(e,t){let n=A0e;h.fromElements(-.5,-.5,-.5,n[0]),h.fromElements(-.5,-.5,.5,n[1]),h.fromElements(-.5,.5,-.5,n[2]),h.fromElements(-.5,.5,.5,n[3]),h.fromElements(.5,-.5,-.5,n[4]),h.fromElements(.5,-.5,.5,n[5]),h.fromElements(.5,.5,-.5,n[6]),h.fromElements(.5,.5,.5,n[7]);for(let i=0;i<8;++i)F.multiplyByPoint(e,n[i],n[i]);return In.fromPoints(n,t)}function NX(e,t,n,i,o,r,s,a){let c=os.DefaultMinBounds,u=os.DefaultMaxBounds,f=c.x,d=u.x,p=c.y,g=u.y,m=c.z,x=u.z;if(e===f&&t===d&&n===p&&i===g&&o===m&&r===x)return a.center=F.getTranslation(s,a.center),a.halfAxes=F.getMatrix3(s,a.halfAxes),a;r<o&&(r+=P.TWO_PI);let T=r-o,A=o+T*.5,C=wlt,E=0;C[E++]=o,C[E++]=r,C[E++]=A,T>P.PI&&(C[E++]=A-P.PI_OVER_TWO,C[E++]=A+P.PI_OVER_TWO);let v=1,D=1,O=-1,R=-1;for(let Q=0;Q<E;++Q){let j=C[Q]-A,Z=Math.cos(j),J=Math.sin(j),he=Z*e,xe=J*e,re=Z*t,_e=J*t;v=Math.min(v,he),D=Math.min(D,xe),v=Math.min(v,re),D=Math.min(D,_e),O=Math.max(O,he),R=Math.max(R,xe),O=Math.max(O,re),R=Math.max(R,_e)}let M=O-v,N=R-D,_=i-n,S=(v+O)*.5,w=(D+R)*.5,I=(n+i)*.5,L=h.fromElements(S,w,I,Dlt),B=$.fromRotationZ(A,Ilt),U=h.fromElements(M,N,_,C0e),V=F.fromScale(U,Olt),G=F.fromRotation(B,Rlt),k=F.fromTranslation(L,Plt),Y=F.multiplyTransformation(G,F.multiplyTransformation(k,V,LX),LX),W=F.multiplyTransformation(s,Y,LX);return Flt(W)?In.fromTransformation(W,a):Blt(W,a)}var Ym=os;function eg(){this.orientedBoundingBox=new In,this.boundingSphere=new ae,this.boundTransform=new F,this.shapeTransform=new F,this._rectangle=new se,this._minimumHeight=eg.DefaultMinBounds.z,this._maximumHeight=eg.DefaultMaxBounds.z,this._ellipsoid=new ee,this._translation=new h,this._rotation=new $,this.shaderUniforms={ellipsoidRadiiUv:new h,eccentricitySquared:0,evoluteScale:new z,ellipsoidInverseRadiiSquaredUv:new h,ellipsoidRenderLongitudeMinMax:new z,ellipsoidShapeUvLongitudeMinMaxMid:new h,ellipsoidUvToShapeUvLongitude:new z,ellipsoidUvToShapeUvLatitude:new z,ellipsoidRenderLatitudeSinMinMax:new z,ellipsoidInverseHeightDifferenceUv:0,clipMinMaxHeight:new z},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var klt=new h,Vlt=new h,Ult=new h,zlt=new h,Hlt=new h,Glt=new h,Wlt=new h,jlt=new h,qlt=new $,E0e=new h,S0e=new h,Ylt=new se;eg.prototype.update=function(e,t,n,i,o){let{DefaultMinBounds:r,DefaultMaxBounds:s}=eg;i=y(i,r),o=y(o,s);let a=P.EPSILON10,c=P.EPSILON3,u=P.EPSILON10,f=P.EPSILON10,d=P.EPSILON3,p=F.getScale(e,jlt),g=h.clone(r,klt);g.z=-h.minimumComponent(p);let m=h.clamp(t,g,s,Vlt),x=h.clamp(n,g,s,Ult),b=h.clamp(i,g,s,zlt),T=h.clamp(o,g,s,Hlt),A=h.maximumByComponent(m,b,Glt),C=h.minimumByComponent(x,T,Wlt),E=h.add(p,h.fromElements(x.z,x.z,x.z,E0e),E0e),v=h.maximumComponent(E),D=h.add(p,h.fromElements(C.z,C.z,C.z,S0e),S0e);if(A.y>C.y||A.y===s.y||C.y===r.y||A.z>C.z||P.equalsEpsilon(D,h.ZERO,void 0,a))return!1;this._rectangle=se.fromRadians(m.x,m.y,x.x,x.y),this._translation=F.getTranslation(e,this._translation),this._rotation=F.getRotation(e,this._rotation),this._ellipsoid=ee.fromCartesian3(p,this._ellipsoid),this._minimumHeight=m.z,this._maximumHeight=x.z;let O=se.fromRadians(A.x,A.y,C.x,C.y,Ylt);this.orientedBoundingBox=FX(O,A.z,C.z,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=F.fromRotationTranslation($.setScale(this._rotation,E,qlt),this._translation,this.shapeTransform),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ae.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let R=s.x-r.x,M=.5*R,N=C.x<A.x,_=C.x-A.x+N*R,S=_<=u,w=_>=M-u&&_<R-u,I=_>u&&_<M-u,L=S||w||I,B=x.x<m.x,U=x.x-m.x+B*R,V=U>M+u&&U<R-u,G=U>=M-u&&U<=M+u,k=U<M-u,Y=V||G||k,W=C.y<-d,Q=C.y>=-d&&C.y<=+d,j=C.y>+d&&C.y<s.y-f,Z=W||Q||j,J=A.y>r.y+f&&A.y<-d,he=A.y>=-d&&A.y<=+d,xe=A.y>+d,re=J||he||xe,_e=Z||re,ye=x.y-m.y,De=x.y<-d,ve=x.y>=-d&&x.y<=+d,Me=x.y>+d&&x.y<s.y-f,Oe=De||ve||Me,ct=m.y>r.y+f&&m.y<-d,Ke=m.y>=-d&&m.y<=+d,_t=m.y>+d,Dt=Oe||(ct||Ke||_t),{shaderUniforms:gt,shaderDefines:yt}=this;for(let Qt in yt)yt.hasOwnProperty(Qt)&&(yt[Qt]=void 0);gt.ellipsoidRadiiUv=h.divideByScalar(E,v,gt.ellipsoidRadiiUv);let{x:Kt,z:Te}=gt.ellipsoidRadiiUv,Ae=Te/Kt;gt.eccentricitySquared=1-Ae*Ae,gt.evoluteScale=z.fromElements((Kt*Kt-Te*Te)/Kt,(Te*Te-Kt*Kt)/Te,gt.evoluteScale),gt.ellipsoidInverseRadiiSquaredUv=h.divideComponents(h.ONE,h.multiplyComponents(gt.ellipsoidRadiiUv,gt.ellipsoidRadiiUv,gt.ellipsoidInverseRadiiSquaredUv),gt.ellipsoidInverseRadiiSquaredUv);let on=0;yt.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=on,on+=1,yt.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=on,on+=1,gt.clipMinMaxHeight=z.fromElements((A.z-x.z)/v,(C.z-x.z)/v,gt.clipMinMaxHeight);let $t=(x.z-m.z)/v;if(gt.ellipsoidInverseHeightDifferenceUv=1/$t,m.z===x.z&&(gt.ellipsoidInverseHeightDifferenceUv=0),L&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,yt.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=on,w?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,on+=1):I?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,on+=2):S&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,on+=2),gt.ellipsoidRenderLongitudeMinMax=z.fromElements(A.x,C.x,gt.ellipsoidRenderLongitudeMinMax)),Y)if(yt.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,x.x<m.x&&(yt.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0),U<=u)gt.ellipsoidUvToShapeUvLongitude=z.fromElements(0,1,gt.ellipsoidUvToShapeUvLongitude);else{let no=R/U,qe=-(m.x-r.x)/U;gt.ellipsoidUvToShapeUvLongitude=z.fromElements(no,qe,gt.ellipsoidUvToShapeUvLongitude)}if(L){let Qt=P.equalsEpsilon(A.x,r.x,void 0,c),no=P.equalsEpsilon(C.x,s.x,void 0,c);Qt&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),no&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let qe=(m.x-r.x)/R,_r=(x.x-r.x)/R,sr=(C.x-r.x)/R,Ir=1-_/R,Be=(sr+.5*Ir)%1;gt.ellipsoidShapeUvLongitudeMinMaxMid=h.fromElements(qe,_r,Be,gt.ellipsoidShapeUvLongitudeMinMaxMid)}if(_e&&(re&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,yt.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=on,J?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,on+=1):he?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,on+=1):xe&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,on+=2)),Z&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,yt.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=on,W?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,on+=2):Q?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,on+=1):j&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,on+=1)),gt.ellipsoidRenderLatitudeSinMinMax=z.fromElements(Math.sin(A.y),Math.sin(C.y),gt.ellipsoidRenderLatitudeSinMinMax)),Dt)if(yt.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,ye<f)gt.ellipsoidUvToShapeUvLatitude=z.fromElements(0,1,gt.ellipsoidUvToShapeUvLatitude);else{let no=(s.y-r.y)/ye,qe=(r.y-m.y)/ye;gt.ellipsoidUvToShapeUvLatitude=z.fromElements(no,qe,gt.ellipsoidUvToShapeUvLatitude)}return this.shaderMaximumIntersectionsLength=on,!0};var D0e=new se;eg.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=1/Math.pow(2,e),s=t*r,a=(t+1)*r,c=n*r,u=(n+1)*r,f=i*r,d=(i+1)*r,p=se.subsection(this._rectangle,s,c,a,u,D0e),g=P.lerp(this._minimumHeight,this._maximumHeight,f),m=P.lerp(this._minimumHeight,this._maximumHeight,d);return FX(p,g,m,this._ellipsoid,this._translation,this._rotation,o)};var v0e=new h,w0e=new h,Xlt=new h;eg.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,v0e),s=h.multiplyByScalar(r,o,v0e),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,w0e),o,w0e),c=h.add(a,s,Xlt),u=se.subsection(this._rectangle,a.x,a.y,c.x,c.y,D0e),f=P.lerp(this._minimumHeight,this._maximumHeight,a.z),d=P.lerp(this._minimumHeight,this._maximumHeight,c.z);return FX(u,f,d,this._ellipsoid,this._translation,this._rotation,i)};function FX(e,t,n,i,o,r,s){return s=In.fromRectangle(e,t,n,i,s),s.center=h.add(s.center,o,s.center),s.halfAxes=$.multiply(s.halfAxes,r,s.halfAxes),s}eg.DefaultMinBounds=Object.freeze(new h(-P.PI,-P.PI_OVER_TWO,-ee.WGS84.minimumRadius));eg.DefaultMaxBounds=Object.freeze(new h(P.PI,P.PI_OVER_TWO,10*ee.WGS84.maximumRadius));var MT=eg;var Xu={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};Xu.getMinBounds=function(e){switch(e){case Xu.BOX:return qm.DefaultMinBounds;case Xu.ELLIPSOID:return MT.DefaultMinBounds;case Xu.CYLINDER:return Ym.DefaultMinBounds}};Xu.getMaxBounds=function(e){switch(e){case Xu.BOX:return qm.DefaultMaxBounds;case Xu.ELLIPSOID:return MT.DefaultMaxBounds;case Xu.CYLINDER:return Ym.DefaultMaxBounds}};Xu.getShapeConstructor=function(e){switch(e){case Xu.BOX:return qm;case Xu.ELLIPSOID:return MT;case Xu.CYLINDER:return Ym}};var Bi=Object.freeze(Xu);function e8(e){e=y(e,y.EMPTY_OBJECT),this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new t2}e8.fromUrl=async function(e){let t=we.createIfNeeded(e),n=await t.fetchJson();Zlt(n);let i=tut(n,t);await i.load();let o=n.root,r=o.content.extensions["3DTILES_content_voxels"],s=r.class,a=ai(n,"3DTILES_metadata")?n.extensions["3DTILES_metadata"]:n,c=i.schema,u=new kb({metadataJson:a,schema:c}),f=new e8;nut(f,u,s);let d=new Ub(t,o,c),{shape:p,minBounds:g,maxBounds:m,shapeTransform:x,globalTransform:b}=$lt(o);f.shape=p,f.minBounds=g,f.maxBounds=m,f.dimensions=h.unpack(r.dimensions),f.shapeTransform=x,f.globalTransform=b,f.maximumTileCount=Klt(u);let T,A;return l(r.padding)&&(T=h.unpack(r.padding.before),A=h.unpack(r.padding.after)),f.paddingBefore=T,f.paddingAfter=A,f._implicitTileset=d,Si.unload(i),f};function Klt(e){if(l(e.tileset))return e.tileset.getPropertyBySemantic(cb.TILESET_TILE_COUNT)}function Zlt(e){let t=e.root;if(!l(t.content))throw new ce("Root must have content");if(!ai(t.content,"3DTILES_content_voxels"))throw new ce("Root tile content must have 3DTILES_content_voxels extension");if(!ai(t,"3DTILES_implicit_tiling")&&!l(t.implicitTiling))throw new ce("Root tile must have implicit tiling");if(!l(e.schema)&&!l(e.schemaUri)&&!ai(e,"3DTILES_metadata"))throw new ce("Tileset must have a metadata schema")}function $lt(e){let t=e.boundingVolume,n;if(l(e.transform)?n=F.unpack(e.transform):n=F.clone(F.IDENTITY),l(t.box))return Jlt(t.box,n);if(l(t.region))return Qlt(t.region);if(ai(t,"3DTILES_bounding_volume_cylinder"))return eut(t.extensions["3DTILES_bounding_volume_cylinder"].cylinder,n);throw new ce("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function Qlt(e){let t=e[0],n=e[1],i=e[2],o=e[3],r=e[4],s=e[5],a=F.fromScale(ee.WGS84.radii),c=new h(t,n,r),u=new h(i,o,s);return{shape:Bi.ELLIPSOID,minBounds:c,maxBounds:u,shapeTransform:a,globalTransform:F.clone(F.IDENTITY)}}function Jlt(e,t){let n=In.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:Bi.BOX,minBounds:h.clone(qm.DefaultMinBounds),maxBounds:h.clone(qm.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function eut(e,t){let n=In.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:Bi.CYLINDER,minBounds:h.clone(Ym.DefaultMinBounds),maxBounds:h.clone(Ym.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function tut(e,t){let{schemaUri:n,schema:i}=e;return l(n)?Si.getSchemaLoader({resource:t.getDerivedResource({url:n})}):Si.getSchemaLoader({schema:i})}function nut(e,t,n){let{schema:i,statistics:o}=t,r=o?.classes[n],s=i.classes[n].properties,a=Object.entries(s).map(([d,p])=>{let{type:g,componentType:m}=p,x=r?.properties[d].min,b=r?.properties[d].max,T=Et.getComponentCount(g),A=I0e(x,T),C=I0e(b,T);return{id:d,type:g,componentType:m,minValue:A,maxValue:C}});e.names=a.map(d=>d.id),e.types=a.map(d=>d.type),e.componentTypes=a.map(d=>d.componentType);let c=a.map(d=>d.minValue),u=a.map(d=>d.maxValue),f=c.some(l);e.minimumValues=f?c:void 0,e.maximumValues=f?u:void 0}function I0e(e,t){if(!l(e))return;let n=Array.isArray(e)?e:[e];return Array.from({length:t},(i,o)=>n[o])}async function iut(e,t){let n=e.contentUriTemplates[0].getDerivedResource({templateValues:t.getTemplateValues()}),i=e.baseResource.getDerivedResource({url:n.url}),o=await i.fetchArrayBuffer(),r=bm(o);return await n2.fromJson(i,r.jsonPayload,r.binaryPayload,e.metadataSchema)}async function out(e,t){let n=e._implicitTileset,i=e._subtreeCache,o=i.find(t);if(l(o))return o;let r=n.subtreeUriTemplate.getDerivedResource({templateValues:t.getTemplateValues()}),s=n.baseResource.getDerivedResource({url:r.url}),a=await s.fetchArrayBuffer();if(o=i.find(t),l(o))return o;let c=bm(a);return o=await ab.fromSubtreeJson(s,c.jsonPayload,c.binaryPayload,n,t),i.addSubtree(o),o}e8.prototype.requestData=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.tileLevel,0),n=y(e.tileX,0),i=y(e.tileY,0),o=y(e.tileZ,0);if(y(e.keyframe,0)!==0)return;let s=this._implicitTileset,a=this.names,c=new zb({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:t,x:n,y:i,z:o}),u=c.isSubtreeRoot()&&c.level>0,f=u?c.getParentSubtreeCoordinates():c.getSubtreeCoordinates();return out(this,f).then(function(p){return(u?p.childSubtreeIsAvailableAtCoordinates(c):p.tileIsAvailableAtCoordinates(c))?iut(s,c):Promise.reject("Tile is not available")}).then(function(p){return a.map(function(g){return p.metadataTable.getPropertyTypedArray(g)})})};var BX=e8;function kX(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(kX.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});kX.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var i2=kX;var VX={CUMULUS:0};VX.validate=function(e){return e===VX.CUMULUS};var qS=Object.freeze(VX);var o2=`uniform sampler2D u_noiseTexture; -uniform vec3 u_noiseTextureDimensions; -uniform float u_noiseDetail; -in vec2 v_offset; -in vec3 v_maximumSize; -in vec4 v_color; -in float v_slice; -in float v_brightness; - -float wrap(float value, float rangeLength) { - if(value < 0.0) { - float absValue = abs(value); - float modValue = mod(absValue, rangeLength); - return mod(rangeLength - modValue, rangeLength); - } - return mod(value, rangeLength); -} - -vec3 wrapVec(vec3 value, float rangeLength) { - return vec3(wrap(value.x, rangeLength), - wrap(value.y, rangeLength), - wrap(value.z, rangeLength)); -} - -vec2 voxelToUV(vec3 voxelIndex) { - float textureSliceWidth = u_noiseTextureDimensions.x; - float noiseTextureRows = u_noiseTextureDimensions.y; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - - float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; - vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, - inverseNoiseTextureRows / textureSliceWidth); - vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); - float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); - float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); - - float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; - float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; - return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; -} - -// Interpolate a voxel with its neighbor (along the positive X-axis) -vec4 lerpSamplesX(vec3 voxelIndex, float x) { - vec2 uv0 = voxelToUV(voxelIndex); - vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); - vec4 sample0 = texture(u_noiseTexture, uv0); - vec4 sample1 = texture(u_noiseTexture, uv1); - return mix(sample0, sample1, x); -} - -vec4 sampleNoiseTexture(vec3 position) { - float textureSliceWidth = u_noiseTextureDimensions.x; - vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); - vec3 lerpValue = fract(recenteredPos); - vec3 voxelIndex = floor(recenteredPos); - - vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); - vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); - vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); - vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); - - vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); - vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); - return mix(yLerp0, yLerp1, lerpValue.z); -} - -// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). -bool intersectSphere(vec3 origin, vec3 dir, float slice, - out vec3 point, out vec3 normal) { - float A = dot(dir, dir); - float B = dot(origin, dir); - float C = dot(origin, origin) - 0.25; - float discriminant = (B * B) - (A * C); - if(discriminant < 0.0) { - return false; - } - float root = sqrt(discriminant); - float t = (-B - root) / A; - if(t < 0.0) { - t = (-B + root) / A; - } - point = origin + t * dir; - - if(slice >= 0.0) { - point.z = (slice / 2.0) - 0.5; - if(length(point) > 0.5) { - return false; - } - } - - normal = normalize(point); - point -= czm_epsilon2 * normal; - return true; -} - -// Transforms the ray origin and direction into unit sphere space, -// then transforms the result back into the ellipsoid's space. -bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, - out vec3 point, out vec3 normal) { - if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { - return false; - } - - vec3 o = (origin - center) / scale; - vec3 d = dir / scale; - vec3 p, n; - bool intersected = intersectSphere(o, d, slice, p, n); - if(intersected) { - point = (p * scale) + center; - normal = n; - } - return intersected; -} - -// Assume that if phase shift is being called for octave i, -// the frequency is of i - 1. This saves us from doing extra -// division / multiplication operations. -vec2 phaseShift2D(vec2 p, vec2 freq) { - return (czm_pi / 2.0) * sin(freq.yx * p.yx); -} - -vec2 phaseShift3D(vec3 p, vec2 freq) { - return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); -} - -// The cloud texture function derived from Gardner's 1985 paper, -// "Visual Simulation of Clouds." -// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf -const float T0 = 0.6; // contrast of the texture pattern -const float k = 0.1; // computed to produce a maximum value of 1 -const float C0 = 0.8; // coefficient -const float FX0 = 0.6; // frequency X -const float FY0 = 0.6; // frequency Y -const int octaves = 5; - -float T(vec3 point) { - vec2 sum = vec2(0.0); - float Ci = C0; - vec2 FXY = vec2(FX0, FY0); - vec2 PXY = vec2(0.0); - for(int i = 1; i <= octaves; i++) { - PXY = phaseShift3D(point, FXY); - Ci *= 0.707; - FXY *= 2.0; - vec2 sinTerm = sin(FXY * point.xy + PXY); - sum += Ci * sinTerm + vec2(T0); - } - return k * sum.x * sum.y; -} - -const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, -const float t = 0.4; // fraction of texture shading -const float s = 0.25; // fraction of specular reflection - -float I(float Id, float Is, float It) { - return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; -} - -const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); - -vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, - float brightness) { - vec3 cloudPoint, cloudNormal; - if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, - cloudPoint, cloudNormal)) { - return vec4(0.0); - } - - float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection - float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection - float It = T(cloudPoint); // texture function - float intensity = I(Id, Is, It); - vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); - - vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); - float W = noise.x; - float W2 = noise.y; - float W3 = noise.z; - - // The dot product between the cloud's normal and the ray's direction is greatest - // in the center of the ellipsoid's surface. It decreases towards the edge. - // Thus, it is used to blur the areas leading to the edges of the ellipsoid, - // so that no harsh lines appear. - - // The first (and biggest) layer of worley noise is then subtracted from this. - // The final result is scaled up so that the base cloud is not too translucent. - float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); - float TR = pow(ndDot, 3.0) - W; // translucency - TR *= 1.3; - - // Subtracting the second and third layers of worley noise is more complicated. - // If these layers of noise were simply subtracted from the current translucency, - // the shape derived from the first layer of noise would be completely deleted. - // The erosion of this noise should thus be constricted to the edges of the cloud. - // However, because the edges of the ellipsoid were already blurred away, mapping - // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. - // The value of (0.5 - ndDot) provides the best compromise. - float minusDot = 0.5 - ndDot; - - // Even with the previous calculation, subtracting the second layer of wnoise - // erode too much of the cloud. The addition of it, however, will detailed - // volume to the cloud. As long as the noise is only added and not subtracted, - // the results are aesthetically pleasing. - - // The minusDot product is mapped in a way that it is larger at the edges of - // the ellipsoid, so a subtraction and min operation are used instead of - // an addition and max one. - TR -= min(minusDot * W2, 0.0); - - // The third level of worley noise is subtracted from the result, with some - // modifications. First, a scalar is added to minusDot so that the noise - // starts affecting the shape farther away from the center of the ellipsoid's - // surface. Then, it is scaled down so its impact is not too intense. - TR -= 0.8 * (minusDot + 0.25) * W3; - - // The texture function's shading does not correlate with the shape of the cloud - // produced by the layers of noise, so an extra shading scalar is calculated. - // The darkest areas of the cloud are assigned to be where the noise erodes - // the cloud the most. This is then interpolated based on the translucency - // and the diffuse shading term of that point in the cloud. - float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); - - // To avoid values that are too dark, this scalar is increased by a small amount - // and clamped so it never goes to zero. - shading = clamp(shading + 0.2, 0.3, 1.0); - - // Finally, the contrast of the cloud's color is increased. - vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); - return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; -} - -void main() { -#ifdef DEBUG_BILLBOARDS - out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); -#endif - // To avoid calculations with high values, - // we raycast from an arbitrarily smaller space. - vec2 coordinate = v_maximumSize.xy * v_offset; - - vec3 ellipsoidScale = 0.82 * v_maximumSize; - vec3 ellipsoidCenter = vec3(0.0); - - float zOffset = max(ellipsoidScale.z - 10.0, 0.0); - vec3 eye = vec3(0, 0, -10.0 - zOffset); - vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); - vec3 rayOrigin = eye; -#ifdef DEBUG_ELLIPSOIDS - vec3 point, normal; - if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, - point, normal)) { - out_FragColor = v_brightness * v_color; - } -#else -#ifndef DEBUG_BILLBOARDS - vec4 cloud = drawCloud(rayOrigin, rayDir, - ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); - if(cloud.w < 0.01) { - discard; - } - out_FragColor = cloud; -#endif -#endif -} -`;var r2=`#ifdef INSTANCED -in vec2 direction; -#endif -in vec4 positionHighAndScaleX; -in vec4 positionLowAndScaleY; -in vec4 packedAttribute0; -in vec4 packedAttribute1; -in vec4 color; - -out vec2 v_offset; -out vec3 v_maximumSize; -out vec4 v_color; -out float v_slice; -out float v_brightness; - -void main() { - // Unpack attributes. - vec3 positionHigh = positionHighAndScaleX.xyz; - vec3 positionLow = positionLowAndScaleY.xyz; - vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); - - float show = packedAttribute0.x; - float brightness = packedAttribute0.y; - vec2 coordinates = packedAttribute0.wz; - vec3 maximumSize = packedAttribute1.xyz; - float slice = packedAttribute1.w; - -#ifdef INSTANCED - vec2 dir = direction; -#else - vec2 dir = coordinates; -#endif - - vec2 offset = dir - vec2(0.5, 0.5); - vec2 scaledOffset = scale * offset; - vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); - vec4 positionEC = czm_modelViewRelativeToEye * p; - positionEC.xy += scaledOffset; - - positionEC.xyz *= show; - gl_Position = czm_projection * positionEC; - - v_offset = offset; - v_maximumSize = maximumSize; - v_color = color; - v_slice = slice; - v_brightness = brightness; -} -`;var s2=`uniform vec3 u_noiseTextureDimensions; -uniform float u_noiseDetail; -uniform vec3 u_noiseOffset; -in vec2 v_position; - -float wrap(float value, float rangeLength) { - if(value < 0.0) { - float absValue = abs(value); - float modValue = mod(absValue, rangeLength); - return mod(rangeLength - modValue, rangeLength); - } - return mod(value, rangeLength); -} - -vec3 wrapVec(vec3 value, float rangeLength) { - return vec3(wrap(value.x, rangeLength), - wrap(value.y, rangeLength), - wrap(value.z, rangeLength)); -} - -vec3 random3(vec3 p) { - float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); - float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); - return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); -} - -// Frequency corresponds to cell size. -// The higher the frequency, the smaller the cell size. -vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { - float textureSliceWidth = u_noiseTextureDimensions.x; - vec3 cell = centerCell + offset; - cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); - cell += floor(u_noiseOffset / u_noiseDetail); - vec3 p = offset + random3(cell); - return p; -} - -float worleyNoise(vec3 p, float freq) { - vec3 centerCell = floor(p * freq); - vec3 pointInCell = fract(p * freq); - float shortestDistance = 1000.0; - - for(float z = -1.0; z <= 1.0; z++) { - for(float y = -1.0; y <= 1.0; y++) { - for(float x = -1.0; x <= 1.0; x++) { - vec3 offset = vec3(x, y, z); - vec3 point = getWorleyCellPoint(centerCell, offset, freq); - - float distance = length(pointInCell - point); - if(distance < shortestDistance) { - shortestDistance = distance; - } - } - } - } - - return shortestDistance; -} - -const float MAX_FBM_ITERATIONS = 10.0; - -float worleyFBMNoise(vec3 p, float octaves, float scale) { - float noise = 0.0; - float freq = 1.0; - float persistence = 0.625; - for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { - if(i >= octaves) { - break; - } - - noise += worleyNoise(p * scale, freq * scale) * persistence; - persistence *= 0.5; - freq *= 2.0; - } - return noise; -} - -void main() { - float textureSliceWidth = u_noiseTextureDimensions.x; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - float x = mod(v_position.x, textureSliceWidth); - float y = mod(v_position.y, textureSliceWidth); - float sliceRow = floor(v_position.y / textureSliceWidth); - float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; - - vec3 position = vec3(x, y, z); - position /= u_noiseDetail; - float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); - float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); - float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); - out_FragColor = vec4(worley0, worley1, worley2, 1.0); -} -`;var a2=`uniform vec3 u_noiseTextureDimensions; -in vec2 position; - -out vec2 v_position; - -void main() -{ - gl_Position = vec4(position, 0.1, 1.0); - - float textureSliceWidth = u_noiseTextureDimensions.x; - float noiseTextureRows = u_noiseTextureDimensions.y; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - vec2 transformedPos = (position * 0.5) + vec2(0.5); - transformedPos *= textureSliceWidth; - transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; - transformedPos.y *= noiseTextureRows; - v_position = transformedPos; -} -`;function Ih(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!l(e.scale)&&l(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new z(this._maximumSize.x,this._maximumSize.y);else{this._scale=z.clone(y(e.scale,new z(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=H.clone(y(e.color,H.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var rut=Ih.SHOW_INDEX=0,sut=Ih.POSITION_INDEX=1,aut=Ih.SCALE_INDEX=2,cut=Ih.MAXIMUM_SIZE_INDEX=3,lut=Ih.SLICE_INDEX=4,uut=Ih.BRIGHTNESS_INDEX=5,fut=Ih.COLOR_INDEX=6;Ih.NUMBER_OF_PROPERTIES=7;function LT(e,t){let n=e._cloudCollection;l(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(Ih.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,LT(this,rut))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),LT(this,sut))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;z.equals(t,e)||(z.clone(e,t),LT(this,aut))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),LT(this,cut))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),LT(this,fut))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,LT(this,lut))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,LT(this,uut))}}});Ih.prototype._destroy=function(){this._cloudCollection=void 0};var Ku=Ih;var Zu,t8=new h,dut={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},hut={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},mut=Ku.SHOW_INDEX,put=Ku.POSITION_INDEX,_ut=Ku.SCALE_INDEX,gut=Ku.MAXIMUM_SIZE_INDEX,yut=Ku.SLICE_INDEX,xut=Ku.BRIGHTNESS_INDEX,but=Ku.NUMBER_OF_PROPERTIES,Tut=Ku.COLOR_INDEX;function Ph(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(but),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:P0e(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function P0e(e){return function(){return t8.x=e._textureSliceWidth,t8.y=e._noiseTextureRows,t8.z=1/e._noiseTextureRows,t8}}Object.defineProperties(Ph.prototype,{length:{get:function(){return zX(this),this._clouds.length}}});function R0e(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Ph.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.cloudType,qS.CUMULUS),n;return t===qS.CUMULUS&&(n=new Ku(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n};Ph.prototype.remove=function(e){return this.contains(e)?(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Ph.prototype.removeAll=function(){R0e(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function zX(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;let t=[],n=e._clouds,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(n._index=r++,t.push(s))}e._clouds=t}}Ph.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]};Ph.prototype.contains=function(e){return l(e)&&e._cloudCollection===this};Ph.prototype.get=function(e){return zX(this),this._clouds[e]};var Cut=new Float32Array([-1,-1,1,-1,1,1,-1,1]),Aut=new Uint16Array([0,1,2,0,2,3]);function Eut(e){let t=pt.createVertexBuffer({context:e,typedArray:Cut,usage:ke.STATIC_DRAW}),n=pt.createIndexBuffer({context:e,typedArray:Aut,usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:X.FLOAT}];return new pi({context:e,attributes:i,indexBuffer:n})}var HX;function Sut(e){let n=e.cache.cloudCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s,o[r+4]=s+2,o[r+5]=s+3;return n=pt.createIndexBuffer({context:e,typedArray:o,usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function vut(e){let t=e.cache.cloudCollection_indexBufferInstanced;return l(t)||(t=pt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function wut(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return l(t)||(t=pt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:ke.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function Dut(e,t,n){let i=[{index:Zu.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:ke.STATIC_DRAW},{index:Zu.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:ke.STATIC_DRAW},{index:Zu.packedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:ke.STATIC_DRAW},{index:Zu.packedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:ke.STATIC_DRAW},{index:Zu.color,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,usage:ke.STATIC_DRAW}];n&&i.push({index:Zu.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:wut(e)});let o=n?t:4*t;return new Sp(e,i,o,n)}var UX=new Yn;function O0e(e,t,n,i){let o,r=n[Zu.positionHighAndScaleX],s=n[Zu.positionLowAndScaleY],a=i.position;Yn.fromCartesian(a,UX);let c=i.scale,u=UX.high,f=UX.low;e._instanced?(o=i._index,r(o,u.x,u.y,u.z,c.x),s(o,f.x,f.y,f.z,c.y)):(o=i._index*4,r(o+0,u.x,u.y,u.z,c.x),r(o+1,u.x,u.y,u.z,c.x),r(o+2,u.x,u.y,u.z,c.x),r(o+3,u.x,u.y,u.z,c.x),s(o+0,f.x,f.y,f.z,c.y),s(o+1,f.x,f.y,f.z,c.y),s(o+2,f.x,f.y,f.z,c.y),s(o+3,f.x,f.y,f.z,c.y))}function M0e(e,t,n,i){let o,r=n[Zu.packedAttribute0],s=i.show,a=i.brightness;e._instanced?(o=i._index,r(o,s,a,0,0)):(o=i._index*4,r(o+0,s,a,0,0),r(o+1,s,a,1,0),r(o+2,s,a,1,1),r(o+3,s,a,0,1))}function L0e(e,t,n,i){let o,r=n[Zu.packedAttribute1],s=i.maximumSize,a=i.slice;e._instanced?(o=i._index,r(o,s.x,s.y,s.z,a)):(o=i._index*4,r(o+0,s.x,s.y,s.z,a),r(o+1,s.x,s.y,s.z,a),r(o+2,s.x,s.y,s.z,a),r(o+3,s.x,s.y,s.z,a))}function N0e(e,t,n,i){let o,r=n[Zu.color],s=i.color,a=H.floatToByte(s.red),c=H.floatToByte(s.green),u=H.floatToByte(s.blue),f=H.floatToByte(s.alpha);e._instanced?(o=i._index,r(o,a,c,u,f)):(o=i._index*4,r(o+0,a,c,u,f),r(o+1,a,c,u,f),r(o+2,a,c,u,f),r(o+3,a,c,u,f))}function Iut(e,t,n,i){O0e(e,t,n,i),M0e(e,t,n,i),L0e(e,t,n,i),N0e(e,t,n,i)}function Put(e,t,n,i){let o=e,r=o._textureSliceWidth,s=o._noiseTextureRows,a=t.context;o._vaNoise=Eut(a),o._spNoise=an.fromCache({context:a,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});let c=o.noiseDetail,u=o.noiseOffset;o._noiseTexture=new Mt({context:a,width:r*r/s,height:r*s,pixelDatatype:Je.UNSIGNED_BYTE,pixelFormat:ot.RGBA,sampler:new en({wrapS:En.REPEAT,wrapT:En.REPEAT,minificationFilter:Jt.NEAREST,magnificationFilter:mi.NEAREST})});let f=new gd({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:P0e(o),u_noiseDetail:function(){return c},u_noiseOffset:function(){return u}},persists:!1,owner:e,postExecute:function(d){o._ready=!0,o._loading=!1}});t.commandList.push(f),o._loading=!0}function Rut(e,t){let n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();let o=e._clouds,r=o.length;if(r>0){n._vaf=Dut(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a<r;++a){let c=o[a];Iut(e,t,s,c)}n._vaf.commit(HX(i))}}var Out=[];function Mut(e,t){let n=t.context,i=e,r=i._clouds.length,s=i._cloudsToUpdate,a=i._cloudsToUpdateIndex,c=i._propertiesChanged,u=Out;u.length=0,(c[put]||c[_ut])&&u.push(O0e),(c[mut]||c[xut])&&u.push(M0e),(c[gut]||c[yut])&&u.push(L0e),c[Tut]&&u.push(N0e);let f=u.length,d=i._vaf.writers,p,g,m;if(a/r>.1){for(p=0;p<a;++p)for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._vaf.commit(HX(n))}else{for(p=0;p<a;++p){for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._instanced?i._vaf.subCommit(g._index,1):i._vaf.subCommit(g._index*4,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function Lut(e,t,n,i){let o=t.context,r=e,s=new ze({defines:[],sources:[n]});r._instanced&&s.defines.push("INSTANCED");let a=new ze({defines:[],sources:[i]});r.debugBillboards&&a.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&a.defines.push("DEBUG_ELLIPSOIDS"),r._sp=an.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:Zu}),r._rs=Ve.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!1,blending:hn.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function Nut(e,t){let n=e,i=t.passes,o=n._uniforms,r=t.commandList;if(i.render){let s=n._colorCommands,a=n._vaf.va,c=a.length;s.length=c;for(let u=0;u<c;u++){let f=s[u];l(f)||(f=s[u]=new Xe),f.pass=Se.TRANSLUCENT,f.owner=e,f.uniformMap=o,f.count=a[u].indicesCount,f.vertexArray=a[u].va,f.shaderProgram=n._sp,f.renderState=n._rs,n._instanced&&(f.count=6,f.instanceCount=n._clouds.length),r.push(f)}}}Ph.prototype.update=function(e){if(zX(this),!this.show)return;let t=this.debugBillboards||this.debugEllipsoids;this._ready=t?!0:l(this._noiseTexture),!this._ready&&!this._loading&&!t&&Put(this,e,a2,s2),this._instanced=e.context.instancedArrays,Zu=this._instanced?hut:dut,HX=this._instanced?vut:Sut;let i=this._clouds.length,o=this._cloudsToUpdate,r=this._cloudsToUpdateIndex;this._createVertexArray?Rut(this,e):r>0&&Mut(this,e),r>i*1.5&&(o.length=i),!(!l(this._vaf)||!l(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&Lut(this,e,r2,o2),Nut(this,e))};Ph.prototype.isDestroyed=function(){return!1};Ph.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),R0e(this._clouds),ue(this)};var GX=Ph;async function Fut(e,t,n,i){return l(i)||(i=!1),Vut(e,t,n,i)}function But(e,t,n){let i=e[0],o=i.terrainProvider.requestTileGeometry(i.x,i.y,i.level);if(!o)return!1;let r;return n?r=o.then(B0e(i)):r=o.then(B0e(i)).catch(Uut(i)),e.shift(),t.push(r),!0}function kut(e){return new Promise(function(t){setTimeout(t,e)})}function WX(e,t,n){return e.length?But(e,t,n)?WX(e,t,n):kut(100).then(()=>WX(e,t,n)):Promise.resolve()}function Vut(e,t,n,i){let o=e.tilingScheme,r,s=[],a={};for(r=0;r<n.length;++r){let u=o.positionToTileXY(n[r],t);if(!l(u))continue;let f=u.toString();if(!a.hasOwnProperty(f)){let d={x:u.x,y:u.y,level:t,tilingScheme:o,terrainProvider:e,positions:[]};a[f]=d,s.push(d)}a[f].positions.push(n[r])}let c=[];return WX(s,c,i).then(function(){return Promise.all(c).then(function(){return n})})}function F0e(e,t,n){let i=t.interpolateHeight(n,e.longitude,e.latitude);return i===void 0?!1:(e.height=i,!0)}function B0e(e){let t=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(i){let o=!1;for(let r=0;r<t.length;++r){let s=t[r];if(!F0e(s,i,n)){o=!0;break}}return o?i.createMesh({tilingScheme:e.tilingScheme,x:e.x,y:e.y,level:e.level,throttle:!1}).then(function(){for(let r=0;r<t.length;++r){let s=t[r];F0e(s,i,n)}}):Promise.resolve()}}function Uut(e){let t=e.positions;return function(){for(let n=0;n<t.length;++n){let i=t[n];i.height=void 0}}}var c2=Fut;var jX=new z;async function k0e(e,t,n){l(n)||(n=!1);let i=[],o=[],r=e.availability,s=[];for(let c=0;c<t.length;++c){let u=t[c],f=r.computeMaximumLevelAtPosition(u);if(o[c]=f,f===0){e.tilingScheme.positionToTileXY(u,1,jX);let p=e.loadTileDataAvailability(jX.x,jX.y,1);l(p)&&s.push(p)}let d=i[f];l(d)||(i[f]=d=[]),d.push(u)}await Promise.all(s),await Promise.all(i.map(function(c,u){if(l(c))return c2(e,u,c,n)}));let a=[];for(let c=0;c<t.length;++c){let u=t[c];r.computeMaximumLevelAtPosition(u)!==o[c]&&a.push(u)}return a.length>0&&await k0e(e,a,n),t}var NT=k0e;async function qX(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);if(t.mode===ne.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),!l(n))return r;let a=n.availability;if(!l(a)||t.mode===ne.SCENE2D)return r;let c=[se.center(e),se.southeast(e),se.southwest(e),se.northeast(e),se.northwest(e)],u=await qX._sampleTerrainMostDetailed(n,c),f=!1,d=u.reduce(function(g,m){return l(m.height)?(f=!0,Math.max(m.height,g)):g},-Number.MAX_VALUE),p=r;return f&&(p.height+=d),p}qX._sampleTerrainMostDetailed=NT;var FT=qX;var zut=P.toRadians(30);function YX(e){this._angle=y(e,zut)}Object.defineProperties(YX.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});YX.prototype.emit=function(e){let t=Math.tan(this._angle),n=P.randomBetween(0,P.TWO_PI),i=P.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var XX=YX;var KX=[],ZX=[];function Hut(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=KX,u=ZX,f,d;for(f=0;f<s;++f)c[f]=e[i+f];for(d=0;d<a;++d)u[d]=e[o+d+1];f=0,d=0;for(let p=i;p<=r;++p){let g=c[f],m=u[d];f<s&&(d>=a||t(g,m,n)<=0)?(e[p]=g,++f):d<a&&(e[p]=m,++d)}}function $X(e,t,n,i,o){if(i>=o)return;let r=Math.floor((i+o)*.5);$X(e,t,n,i,r),$X(e,t,n,r+1,o),Hut(e,t,n,i,r,o)}function Gut(e,t,n){let i=e.length,o=Math.ceil(i*.5);KX.length=o,ZX.length=o,$X(e,t,n,0,i-1),KX.length=0,ZX.length=0}var tg=Gut;var Wut=new H,jut=new H,qut=new H,Yut=new H,V0e=new oe,l2=new Uint8Array(4);function U0e(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return H.lerp(t.color,n.color,o,i)}function n8(e,t){return{height:e,color:H.clone(t)}}function z0e(e){return e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?t.height===i[n-1].height:!0,a=r?t.height===i[n+1].height:!0;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?H.equals(t.color,i[n-1].color):!1,a=r?H.equals(t.color,i[n+1].color):!1;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=o?H.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function Xut(e){let t,n,i=[],o=e.length;for(t=0;t<o;t++){let r=e[t],s=r.entries,a=s.length,c=[];for(n=0;n<a;n++){let g=s[n],m=P.clamp(g.height,Jl._minimumHeight,Jl._maximumHeight),x=H.clone(g.color,Wut);x.red*=x.alpha,x.green*=x.alpha,x.blue*=x.alpha,c.push(n8(m,x))}let u=!0,f=!0;for(n=0;n<a-1;n++){let g=c[n+0],m=c[n+1];u=u&&g.height<=m.height,f=f&&g.height>=m.height}f?c=c.reverse():u||tg(c,function(g,m){return P.sign(g.height-m.height)});let d=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!d&&!p&&(d=!0,p=!0),d&&c.splice(0,0,n8(Jl._minimumHeight,c[0].color)),p&&c.splice(c.length,0,n8(Jl._maximumHeight,c[c.length-1].color)),c=z0e(c),i.push(c)}return i}function Kut(e){let t=Xut(e),n=[],i=[],o;function r(u,f){n.push(n8(u,f))}function s(u,f,d){let p=H.multiplyByScalar(d,1-f.alpha,Yut);p=H.add(p,f,p),r(u,p)}let a=t.length;for(o=0;o<a;o++){let u=t[o],f=0,d=0;i=n,n=[];let p=u.length,g=i.length;for(;f<p||d<g;){let m=f<p?u[f]:void 0,x=f>0?u[f-1]:void 0,b=f<p-1?u[f+1]:void 0,T=d<g?i[d]:void 0,A=d>0?i[d-1]:void 0,C=d<g-1?i[d+1]:void 0;if(l(m)&&l(T)&&m.height===T.height){let E=l(C)&&T.height===C.height,v=!l(A),D=!l(C),O=l(b)&&m.height===b.height,R=!l(x),M=!l(b);E?O?(s(m.height,m.color,T.color),s(m.height,b.color,C.color)):R?(r(m.height,T.color),s(m.height,m.color,C.color)):M?(s(m.height,m.color,T.color),r(m.height,C.color)):(s(m.height,m.color,T.color),s(m.height,m.color,C.color)):v?O?(r(m.height,m.color),s(m.height,b.color,T.color)):M?(r(m.height,m.color),r(m.height,T.color)):(R||r(m.height,m.color),s(m.height,m.color,T.color)):D?O?(s(m.height,m.color,T.color),r(m.height,b.color)):R?(r(m.height,T.color),r(m.height,m.color)):M?s(m.height,m.color,T.color):(s(m.height,m.color,T.color),r(m.height,m.color)):O?(s(m.height,m.color,T.color),s(m.height,b.color,T.color)):R?(r(m.height,T.color),s(m.height,m.color,T.color)):M?(s(m.height,m.color,T.color),r(m.height,T.color)):s(m.height,m.color,T.color),f+=O?2:1,d+=E?2:1}else if(l(m)&&l(T)&&l(A)&&m.height<T.height){let E=U0e(m.height,A,T,qut);l(x)?l(b)?s(m.height,m.color,E):(s(m.height,m.color,E),r(m.height,E)):(r(m.height,E),s(m.height,m.color,E)),f++}else if(l(T)&&l(m)&&l(x)&&T.height<m.height){let E=U0e(T.height,x,m,jut);l(A)?l(C)?s(T.height,E,T.color):(s(T.height,E,T.color),r(T.height,E)):(r(T.height,E),s(T.height,E,T.color)),d++}else l(m)&&(!l(T)||m.height<T.height)?(l(T)&&!l(A)&&!l(b)?(r(m.height,m.color),r(m.height,Jl._emptyColor),r(T.height,Jl._emptyColor)):(!l(T)&&l(A)&&!l(x)&&(r(A.height,Jl._emptyColor),r(m.height,Jl._emptyColor)),r(m.height,m.color)),f++):l(T)&&(!l(m)||T.height<m.height)&&(r(T.height,T.color),d++)}}return z0e(n)}function Jl(e){let{scene:t,layers:n}=y(e,y.EMPTY_OBJECT),{context:i}=t,o=Kut(n),r=o.length,s,a,c;if(!Jl._useFloatTexture(i)){a=Je.UNSIGNED_BYTE,c=ot.RGBA,s=new Uint8Array(r*4);for(let g=0;g<r;g++)oe.packFloat(o[g].height,V0e),oe.pack(V0e,s,g*4)}else{a=Je.FLOAT,c=i.webgl2?ot.RED:ot.LUMINANCE,s=new Float32Array(r);for(let g=0;g<r;g++)s[g]=o[g].height}let f=Mt.create({context:i,pixelFormat:c,pixelDatatype:a,source:{arrayBufferView:s,width:r,height:1},sampler:new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.NEAREST,magnificationFilter:mi.NEAREST})}),d=new Uint8Array(r*4);for(let g=0;g<r;g++)o[g].color.toBytes(l2),d[g*4+0]=l2[0],d[g*4+1]=l2[1],d[g*4+2]=l2[2],d[g*4+3]=l2[3];let p=Mt.create({context:i,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,source:{arrayBufferView:d,width:r,height:1},sampler:new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.LINEAR,magnificationFilter:mi.LINEAR})});return Xi.fromType("ElevationBand",{heights:f,colors:p})}Jl._useFloatTexture=function(e){return e.floatingPointTexture};Jl._maximumHeight=5906376425472;Jl._minimumHeight=-5906376425472;Jl._emptyColor=new H(0,0,0,0);var QX=Jl;var i8={};i8.defaultApiKey=void 0;i8.mapTilesApiEndpoint=new we({url:"https://tile.googleapis.com/v1/"});i8.getDefaultCredit=function(){return new wt('<img src="https://assets.ion.cesium.com/google-credit.png" style="vertical-align: -5px" alt="Google">',!0)};var BT=i8;async function Zut(e,t){if(t=y(t,{}),t.cacheBytes=y(t.cacheBytes,1536*1024*1024),t.maximumCacheOverflowBytes=y(t.maximumCacheOverflowBytes,1024*1024*1024),t.enableCollision=y(t.enableCollision,!0),e=y(e,BT.defaultApiKey),!l(e))return $ut(t);let n,i=BT.getDefaultCredit();l(i)&&(n=[i]);let o=new we({url:`${BT.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:e},credits:n});return pa.fromUrl(o,t)}var H0e={};async function $ut(e){let i=H0e[2275207];l(i)||(i=gu.fromAssetId(2275207),H0e[2275207]=i);let o=await i;return pa.fromUrl(o,e)}var JX=Zut;async function Qut(e){let t=await pa.fromIonAssetId(96188,e);e=y(e,y.EMPTY_OBJECT);let n=e.style;if(!l(n)){let i=y(e.defaultColor,H.WHITE).toCssColorString();n=new RT({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var eK=Qut;function Jut(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!l(n.attributes)||!l(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=F.clone(y(e.modelMatrix,F.IDENTITY)),r=y(e.length,1e4);if(l(i.normal)&&t.push(new vt({geometry:Gn.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new Wt(1,0,0,1)},modelMatrix:o})),l(i.tangent)&&t.push(new vt({geometry:Gn.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new Wt(0,1,0,1)},modelMatrix:o})),l(i.bitangent)&&t.push(new vt({geometry:Gn.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new Wt(0,0,1,1)},modelMatrix:o})),t.length>0)return new Pn({asynchronous:!1,geometryInstances:t,appearance:new fn({flat:!0,translucent:!1})})}var tK=Jut;var G0e=/{[^}]+}/g,W0e={x:ift,y:rft,z:cft,s:lft,reverseX:oft,reverseY:sft,reverseZ:aft,westDegrees:uft,southDegrees:fft,eastDegrees:dft,northDegrees:hft,westProjected:mft,southProjected:pft,eastProjected:_ft,northProjected:gft,width:yft,height:xft},eft=bt(W0e,{i:bft,j:Tft,reverseI:Cft,reverseJ:Aft,longitudeDegrees:Sft,latitudeDegrees:vft,longitudeProjected:wft,latitudeProjected:Dft,format:Pft});function u2(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me;let t=we.createIfNeeded(e.url),n=we.createIfNeeded(e.pickFeaturesUrl);this._resource=t,this._urlSchemeZeroPadding=e.urlSchemeZeroPadding,this._getFeatureInfoFormats=e.getFeatureInfoFormats,this._pickFeaturesResource=n;let i=e.subdomains;Array.isArray(i)?i=i.slice():l(i)&&i.length>0?i=i.split(""):i=["a","b","c"],this._subdomains=i,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new is({ellipsoid:e.ellipsoid})),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._rectangle=se.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=e.tileDiscardPolicy;let o=e.credit;typeof o=="string"&&(o=new wt(o)),this._credit=o,this._hasAlphaChannel=y(e.hasAlphaChannel,!0);let r=e.customTags,s=bt(W0e,r),a=bt(eft,r);this._tags=s,this._pickFeaturesTags=a,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=y(e.enablePickFeatures,!0)}Object.defineProperties(u2.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});u2.prototype.getTileCredits=function(e,t,n){};u2.prototype.requestImage=function(e,t,n,i){return al.loadImage(this,tft(this,e,t,n,i))};u2.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!l(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(u,f){return u.callback(f)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let u=s._getFeatureInfoFormats[r],f=nft(s,e,t,n,i,o,u.format);return++r,u.type==="json"?f.fetchJson().then(u.callback).catch(c):u.type==="xml"?f.fetchXML().then(u.callback).catch(c):u.type==="text"||u.type==="html"?f.fetchText().then(u.callback).catch(c):f.fetch({responseType:u.format}).then(a.bind(void 0,u)).catch(c)}return c()};var o8=!1,$u=new se,r8=!1,f2=new se;function tft(e,t,n,i,o){o8=!1,r8=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},u=s.match(G0e);return l(u)&&u.forEach(function(f){let d=f.substring(1,f.length-1);l(a[d])&&(c[d]=a[d](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var nK=!1,XS=new z,iK=!1;function nft(e,t,n,i,o,r,s){o8=!1,r8=!1,nK=!1,iK=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),u=e._pickFeaturesTags,f={},d=c.match(G0e);return l(d)&&d.forEach(function(p){let g=p.substring(1,p.length-1);l(u[g])&&(f[g]=u[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:f})}function KS(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function ift(e,t,n,i){return KS(e,"{x}",t)}function oft(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return KS(e,"{reverseX}",o)}function rft(e,t,n,i){return KS(e,"{y}",n)}function sft(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return KS(e,"{reverseY}",o)}function aft(e,t,n,i){let o=e.maximumLevel,r=l(o)&&i<o?o-i-1:i;return KS(e,"{reverseZ}",r)}function cft(e,t,n,i){return KS(e,"{z}",i)}function lft(e,t,n,i){let o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function s8(e,t,n,i){o8||(e.tilingScheme.tileXYToRectangle(t,n,i,$u),$u.west=P.toDegrees($u.west),$u.south=P.toDegrees($u.south),$u.east=P.toDegrees($u.east),$u.north=P.toDegrees($u.north),o8=!0)}function uft(e,t,n,i){return s8(e,t,n,i),$u.west}function fft(e,t,n,i){return s8(e,t,n,i),$u.south}function dft(e,t,n,i){return s8(e,t,n,i),$u.east}function hft(e,t,n,i){return s8(e,t,n,i),$u.north}function a8(e,t,n,i){r8||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,f2),r8=!0)}function mft(e,t,n,i){return a8(e,t,n,i),f2.west}function pft(e,t,n,i){return a8(e,t,n,i),f2.south}function _ft(e,t,n,i){return a8(e,t,n,i),f2.east}function gft(e,t,n,i){return a8(e,t,n,i),f2.north}function yft(e,t,n,i){return e.tileWidth}function xft(e,t,n,i){return e.tileHeight}function bft(e,t,n,i,o,r,s){return c8(e,t,n,i,o,r),XS.x}function Tft(e,t,n,i,o,r,s){return c8(e,t,n,i,o,r),XS.y}function Cft(e,t,n,i,o,r,s){return c8(e,t,n,i,o,r),e.tileWidth-XS.x-1}function Aft(e,t,n,i,o,r,s){return c8(e,t,n,i,o,r),e.tileHeight-XS.y-1}var Eft=new se,YS=new h;function c8(e,t,n,i,o,r,s){if(nK)return;oK(e,t,n,i,o,r);let a=YS,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,Eft);XS.x=e.tileWidth*(a.x-c.west)/c.width|0,XS.y=e.tileHeight*(c.north-a.y)/c.height|0,nK=!0}function Sft(e,t,n,i,o,r,s){return P.toDegrees(o)}function vft(e,t,n,i,o,r,s){return P.toDegrees(r)}function wft(e,t,n,i,o,r,s){return oK(e,t,n,i,o,r),YS.x}function Dft(e,t,n,i,o,r,s){return oK(e,t,n,i,o,r),YS.y}var Ift=new fe;function oK(e,t,n,i,o,r,s){if(!iK){if(e.tilingScheme.projection instanceof Ii)YS.x=P.toDegrees(o),YS.y=P.toDegrees(r);else{let a=Ift;a.longitude=o,a.latitude=r,e.tilingScheme.projection.project(a,YS)}iK=!0}}function Pft(e,t,n,i,o,r,s){return s}var ja=u2;function nd(e){ja.call(this,e)}nd._requestMetadata=async function(e,t,n,i){try{let o=await n.fetchXML();return nd._metadataSuccess(o,e,t,n,i)}catch(o){if(o instanceof qh)return nd._metadataFailure(e,t);throw o}};nd.fromUrl=async function(e,t){let n=we.createIfNeeded(e);n.appendForwardSlash();let i=n,o=n.getDerivedResource({url:"tilemapresource.xml"});t=y(t,y.EMPTY_OBJECT);let r=await nd._requestMetadata(t,i,o);return new nd(r)};l(Object.create)&&(nd.prototype=Object.create(ja.prototype),nd.prototype.constructor=nd);function j0e(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function q0e(e,t,n){let i=e.positionToTileXY(se.southwest(t),n),o=e.positionToTileXY(se.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}nd._metadataSuccess=function(e,t,n,i,o){let r=/tileformat/i,s=/tileset/i,a=/tilesets/i,c=/boundingbox/i,u,f,d,p=[],g=e.childNodes[0].childNodes;for(let R=0;R<g.length;R++)if(r.test(g.item(R).nodeName))u=g.item(R);else if(a.test(g.item(R).nodeName)){d=g.item(R);let M=g.item(R).childNodes;for(let N=0;N<M.length;N++)s.test(M.item(N).nodeName)&&p.push(M.item(N))}else c.test(g.item(R).nodeName)&&(f=g.item(R));let m;if(!l(d)||!l(f))throw m=`Unable to find expected tilesets or bbox attributes in ${i.url}.`,l(o)&&Do.reportError(void 0,o,o.errorEvent,m),new ce(m);let x=y(t.fileExtension,u.getAttribute("extension")),b=y(t.tileWidth,parseInt(u.getAttribute("width"),10)),T=y(t.tileHeight,parseInt(u.getAttribute("height"),10)),A=y(t.minimumLevel,parseInt(p[0].getAttribute("order"),10)),C=y(t.maximumLevel,parseInt(p[p.length-1].getAttribute("order"),10)),E=d.getAttribute("profile"),v=t.tilingScheme;if(!l(v))if(E==="geodetic"||E==="global-geodetic")v=new Ki({ellipsoid:t.ellipsoid});else if(E==="mercator"||E==="global-mercator")v=new is({ellipsoid:t.ellipsoid});else throw m=`${i.url} specifies an unsupported profile attribute, ${E}.`,l(o)&&Do.reportError(void 0,o,o.errorEvent,m),new ce(m);let D=se.clone(t.rectangle);if(!l(D)){let R,M,N,_;y(t.flipXY,!1)?(N=new z(parseFloat(f.getAttribute("miny")),parseFloat(f.getAttribute("minx"))),_=new z(parseFloat(f.getAttribute("maxy")),parseFloat(f.getAttribute("maxx")))):(N=new z(parseFloat(f.getAttribute("minx")),parseFloat(f.getAttribute("miny"))),_=new z(parseFloat(f.getAttribute("maxx")),parseFloat(f.getAttribute("maxy"))));let w=E==="geodetic"||E==="mercator";if(v.projection instanceof Ii||w)R=fe.fromDegrees(N.x,N.y),M=fe.fromDegrees(_.x,_.y);else{let I=v.projection;R=I.unproject(N),M=I.unproject(_)}D=new se(R.longitude,R.latitude,M.longitude,M.latitude)}return D=j0e(D,v),A=q0e(v,D,A),{url:n.getDerivedResource({url:`{z}/{x}/{reverseY}.${x}`}),tilingScheme:v,rectangle:D,tileWidth:b,tileHeight:T,minimumLevel:A,maximumLevel:C,tileDiscardPolicy:t.tileDiscardPolicy,credit:t.credit}};nd._metadataFailure=function(e,t){let n=y(e.fileExtension,"png"),i=y(e.tileWidth,256),o=y(e.tileHeight,256),r=e.maximumLevel,s=l(e.tilingScheme)?e.tilingScheme:new is({ellipsoid:e.ellipsoid}),a=y(e.rectangle,s.rectangle);a=j0e(a,s);let c=q0e(s,a,e.minimumLevel);return{url:t.getDerivedResource({url:`{z}/{x}/{reverseY}.${n}`}),tilingScheme:s,rectangle:a,tileWidth:i,tileHeight:o,minimumLevel:c,maximumLevel:r,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit}};var C0=nd;function Y0e(e){this.channel=e.channel,this.ellipsoid=e.ellipsoid,this.tilingScheme=void 0,this.version=void 0}Y0e.prototype.build=function(e){e._channel=this.channel,e._version=this.version,e._tilingScheme=this.tilingScheme};function Rft(e,t){let n;try{n=JSON.parse(e)}catch{n=JSON.parse(e.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}let i;for(let o=0;o<n.layers.length;o++)if(n.layers[o].id===t.channel){i=n.layers[o];break}if(!l(i)){let o=`Could not find layer with channel (id) of ${t.channel}.`;throw new ce(o)}if(!l(i.version)){let o=`Could not find a version in channel (id) ${t.channel}.`;throw new ce(o)}if(t.version=i.version,l(n.projection)&&n.projection==="flat")t.tilingScheme=new Ki({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new se(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:t.ellipsoid});else if(!l(n.projection)||n.projection==="mercator")t.tilingScheme=new is({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:t.ellipsoid});else{let o=`Unsupported projection ${n.projection}.`;throw new ce(o)}return!0}function Oft(e,t,n){let i=`An error occurred while accessing ${t.url}.`;throw l(e)&&l(e.message)&&(i+=`: ${e.message}`),Do.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new ce(i)}async function Mft(e,t,n){try{let i=await e.fetchText();Rft(i,t)}catch(i){Oft(i,e,n)}}function eu(e){e=y(e,{}),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1.9,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new wt(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${eu.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new me}Object.defineProperties(eu.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});eu.fromUrl=async function(e,t,n){n=y(n,{});let i=y(n.path,"/default_map"),o=we.createIfNeeded(e).getDerivedResource({url:i[0]==="/"?i.substring(1):i});o.appendForwardSlash();let r=o.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),s=new Y0e(n);s.channel=t,await Mft(r,s);let a=new eu(n);return s.build(a),a._resource=o,a._url=e,a._path=i,a};eu.prototype.getTileCredits=function(e,t,n){};eu.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return al.loadImage(this,o)};eu.prototype.pickFeatures=function(e,t,n,i,o){};eu._logoUrl=void 0;Object.defineProperties(eu,{logoUrl:{get:function(){return l(eu._logoUrl)||(eu._logoUrl=rn("Assets/Images/google_earth_credit.png")),eu._logoUrl},set:function(e){eu._logoUrl=e}}});var d2=eu;var Lft=/\/$/,X0e=new wt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function ZS(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=we.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();Lft.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;l(e.credit)?(s=e.credit,typeof s=="string"&&(s=new wt(s))):s=X0e,this._resource=i,this._imageryProvider=new ja({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(ZS.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});ZS.prototype.getTileCredits=function(e,t,n){};ZS.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};ZS.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};ZS._defaultCredit=X0e;var h2=ZS;function kT(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=y(e.rectangle,se.MAX_VALUE),n=new Ki({rectangle:t,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=n,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new me;let i=e.credit;typeof i=="string"&&(i=new wt(i)),this._credit=i;let o=we.createIfNeeded(e.url);this._resource=o,this._tileWidth=e.tileWidth,this._tileHeight=e.tileHeight}Object.defineProperties(kT.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});function Nft(e,t,n,i){let o=`Failed to load image ${e.url}`;l(t)&&l(t.message)&&(o+=`: ${t.message}`);let r=Do.reportError(i,n,l(n)?n._errorEvent:void 0,o,0,0,0,t);if(r.retry)return rK(e,n,r);throw l(n)&&(n._hasError=!0),new ce(o)}async function rK(e,t,n){try{return await al.loadImage(null,e)}catch(i){return Nft(e,i,t,n)}}kT.fromUrl=async function(e,t){let n=we.createIfNeeded(e),i=await rK(n);t=y(t,y.EMPTY_OBJECT);let o=new kT({...t,url:e,tileWidth:i.width,tileHeight:i.height});return o._image=i,o};kT.prototype.getTileCredits=function(e,t,n){};kT.prototype.requestImage=async function(e,t,n,i){if(!this._hasError&&!l(this._image)){let o=await rK(this._resource,this);return this._image=o,Do.reportSuccess(this._errorEvent),o}return this._image};kT.prototype.pickFeatures=function(e,t,n,i,o){};var m2=kT;function Fft(e,t,n){this.type=e,l(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,l(n)||(e==="json"?n=Bft:e==="xml"?n=zft:(e==="html"||e==="text")&&(n=K0e)),this.callback=n}function Bft(e){let t=[],n=e.features;for(let i=0;i<n.length;++i){let o=n[i],r=new Sh;if(r.data=o,r.properties=o.properties,r.configureNameFromProperties(o.properties),r.configureDescriptionFromProperties(o.properties),l(o.geometry)&&o.geometry.type==="Point"){let s=o.geometry.coordinates[0],a=o.geometry.coordinates[1];r.position=fe.fromDegrees(s,a)}t.push(r)}return t}var sK="http://www.mapinfo.com/mxp",kft="http://www.esri.com/wms",Vft="http://www.opengis.net/wfs",Uft="http://www.opengis.net/gml";function zft(e){let t=e.documentElement;if(t.localName==="MultiFeatureCollection"&&t.namespaceURI===sK)return Hft(e);if(t.localName==="FeatureInfoResponse"&&t.namespaceURI===kft)return Gft(e);if(t.localName==="FeatureCollection"&&t.namespaceURI===Vft)return Wft(e);if(t.localName==="ServiceExceptionReport")throw new ce(new XMLSerializer().serializeToString(t));return t.localName==="msGMLOutput"?jft(e):qft(e)}function Hft(e){let t=[],i=e.documentElement.getElementsByTagNameNS(sK,"Feature");for(let o=0;o<i.length;++o){let r=i[o],s={},a=r.getElementsByTagNameNS(sK,"Val");for(let u=0;u<a.length;++u){let f=a[u];if(f.hasAttribute("ref")){let d=f.getAttribute("ref"),p=f.textContent.trim();s[d]=p}}let c=new Sh;c.data=r,c.properties=s,c.configureNameFromProperties(s),c.configureDescriptionFromProperties(s),t.push(c)}return t}function Gft(e){let t=e.documentElement,n=[],i,o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){let s=o[r];i={};let a=s.attributes;for(let c=0;c<a.length;++c){let u=a[c];i[u.name]=u.value}n.push(l8(s,i))}else{let r=t.getElementsByTagNameNS("*","FeatureInfo");for(let s=0;s<r.length;++s){let a=r[s];i={};let c=a.childNodes;for(let u=0;u<c.length;++u){let f=c[u];f.nodeType===Node.ELEMENT_NODE&&(i[f.localName]=f.textContent)}n.push(l8(a,i))}}return n}function Wft(e){let t=[],i=e.documentElement.getElementsByTagNameNS(Uft,"featureMember");for(let o=0;o<i.length;++o){let r=i[o],s={};aK(r,s),t.push(l8(r,s))}return t}function jft(e){let t=[],n,i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!l(n))throw new ce("Unable to find first child of the feature info xml document");let o=n.childNodes;for(let r=0;r<o.length;++r){let s=o[r];if(s.nodeType===Node.ELEMENT_NODE){let a={};aK(s,a),t.push(l8(s,a))}}return t}function aK(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){let o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),!(o.localName==="Point"||o.localName==="LineString"||o.localName==="Polygon"||o.localName==="boundedBy")&&o.hasChildNodes()&&aK(o,t)&&(t[o.localName]=o.textContent)}return n}function l8(e,t){let n=new Sh;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function qft(e){let t=new XMLSerializer().serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);let o=new Sh;return o.data=e,o.description=n.innerHTML,[o]}var Yft=/<body>\s*<\/body>/im,Xft=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,Kft=/<title>([\s\S]*)<\/title>/im;function K0e(e){if(Yft.test(e)||Xft.test(e))return;let t,n=Kft.exec(e);n&&n.length>1&&(t=n[1]);let i=new Sh;return i.name=t,i.description=e,i.data=e,[i]}var VT=Fft;function p2(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(p2.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});p2.prototype.getFromCache=function(e,t,n,i){let o=Z0e(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(l(s)&&l(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};p2.prototype.checkApproachingInterval=function(e,t,n,i){let o=Z0e(e,t,n),r=this._tilesRequestedForInterval,s=$0e(this),a={key:o,priorityFunction:i.priorityFunction};(!l(s)||!Q0e(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};p2.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=$0e(this);if(l(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=Q0e(this,c,r),a||s.push(c)}}};function Z0e(e,t,n){return`${e}-${t}-${n}`}function Zft(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function $0e(e){let t=e._times;if(!l(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=K.secondsDifference(c.stop,i),++a):(s=K.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function Q0e(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];l(r)||(r=o[i]={});let s=t.key;if(l(r[s]))return!0;let a=Zft(s),c=new Xo({throttle:!1,throttleByServer:!0,type:us.IMAGERY,priorityFunction:t.priorityFunction}),u=e._requestImageFunction(a.x,a.y,a.level,c,n);return l(u)?(r[s]={promise:u,request:c},!0):!1}var UT=p2;var $ft=[3034,3035,3042,3043,3044],Qft=[4471,4559];function Rh(e){if(e=y(e,y.EMPTY_OBJECT),l(e.times)&&!l(e.clock))throw new de("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=we.createIfNeeded(e.url),n=we.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(Rh.DefaultParameters,!0),n.setQueryParameters(Rh.GetFeatureInfoDefaultParameters,!0),l(e.parameters)&&t.setQueryParameters(J0e(e.parameters,e.toLowerCase)),l(e.getFeatureInfoParameters)&&n.setQueryParameters(J0e(e.getFeatureInfoParameters,e.toLowerCase));let i=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new UT({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,u,f){return exe(i,s,a,c,u,f)},reloadFunction:function(){l(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Pi?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!Qft.includes(a)||$ft.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Pi?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new ja({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new Ki({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,Rh.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function exe(e,t,n,i,o,r){let s=l(r)?r.data:void 0,a=e._tileProvider;return l(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function Jft(e,t,n,i,o,r,s){let a=l(s)?s.data:void 0,c=e._tileProvider;return l(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(Rh.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});Rh.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};Rh.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=exe(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};Rh.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=l(r)?r.currentInterval:void 0;return Jft(this,e,t,n,i,o,s)};Rh.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});Rh.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});Rh.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new VT("json","application/json")),Object.freeze(new VT("xml","text/xml")),Object.freeze(new VT("text","text/html"))]);function J0e(e,t=!0){if(t){let n={};for(let i in e)e.hasOwnProperty(i)&&(n[i.toLowerCase()]=e[i]);return n}return e}var _2=Rh;var edt=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function g2(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=we.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!l(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(edt),this._useKvp=!0;else{let d={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(d),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new is({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new UT({clock:e.clock,times:e.times,requestImageFunction:function(d,p,g,m,x){return txe(s,d,p,g,m,x)},reloadFunction:function(){l(s._reload)&&s._reload()}}));let a=this._tilingScheme.positionToTileXY(se.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(se.northeast(this._rectangle),this._minimumLevel),u=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new me;let f=e.credit;this._credit=typeof f=="string"?new wt(f):f,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():l(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function txe(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=l(s)?s[i]:i.toString(),c=e._subdomains,u=e._dimensions,f=l(r)?r.data:void 0,d,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({request:o}),d.setTemplateValues(p),l(u)&&d.setTemplateValues(u),l(f)&&d.setTemplateValues(f);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,l(u)&&(g=bt(g,u)),l(f)&&(g=bt(g,f)),p={s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({queryParameters:g,request:o}),d.setTemplateValues(p)}return al.loadImage(e,d)}Object.defineProperties(g2.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,l(this._reload)&&this._reload())}}});g2.prototype.getTileCredits=function(e,t,n){};g2.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=txe(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};g2.prototype.pickFeatures=function(e,t,n,i,o){};var y2=g2;var tdt={ARCGIS_MAPSERVER:Q_.fromUrl,BING:async(e,t)=>SF.fromUrl(e,t),GOOGLE_EARTH:async(e,t)=>{let n=t.channel;return delete t.channel,d2.fromUrl(e,n,t)},MAPBOX:(e,t)=>new h2({url:e,...t}),SINGLE_TILE:m2.fromUrl,TMS:C0.fromUrl,URL_TEMPLATE:(e,t)=>new ja({url:e,...t}),WMS:(e,t)=>new _2({url:e,...t}),WMTS:(e,t)=>new y2({url:e,...t})};function Xm(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileCredits=void 0,this._errorEvent=new me}Object.defineProperties(Xm.prototype,{rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}}});Xm.fromAssetId=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=gu._createEndpointResource(e,t),i=e.toString()+t.accessToken+t.server,o=Xm._endpointCache[i];l(o)||(o=n.fetchJson(),Xm._endpointCache[i]=o);let r=await o;if(r.type!=="IMAGERY")throw new ce(`Cesium ion asset ${e} is not an imagery asset.`);let s,a=r.externalType;if(!l(a))s=await C0.fromUrl(new gu(r,n));else{let u=tdt[a];if(!l(u))throw new ce(`Unrecognized Cesium ion imagery type: ${a}`);let f={...r.options},d=f.url;delete f.url,s=await u(d,f)}let c=new Xm(t);return s.errorEvent.addEventListener(function(u){u.provider=c,c._errorEvent.raiseEvent(u)}),c._tileCredits=gu.getCreditsFromEndpoint(r,n),c._imageryProvider=s,c};Xm.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return l(i)?this._tileCredits.concat(i):this._tileCredits};Xm.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};Xm.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};Xm._endpointCache={};var ng=Xm;var ndt={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},ig=Object.freeze(ndt);function idt(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,ig.AERIAL);return ng.fromAssetId(t)}var og=idt;var sxe=Bo(ru(),1),nxe=576,odt=100,x2="#ffffff",u8="#48b";function axe(e,t){this.credit=e,this.count=y(t,1)}function rdt(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(wt.equals(o,t))return!0}return!1}function sdt(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;wt.equals(n,t)||(l(t)&&e._cesiumCreditContainer.removeChild(t.element),l(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var cxe="cesium-credit-delimiter";function ixe(e){let t=document.createElement("span");return t.textContent=e,t.className=cxe,t}function oxe(e,t){if(l(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function rxe(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(l(a)){if(r=s,l(n)&&(r*=2,s>0)){let u=r-1;if(o.length<=u)e.appendChild(ixe(n));else{let f=o[u];f.className!==cxe&&e.replaceChild(ixe(n),f)}}let c=a.element;if(o.length<=r)e.appendChild(oxe(c,i));else{let u=o[r];u._creditId!==a._id&&e.replaceChild(oxe(c,i),u)}}}for(++r;r<o.length;)e.removeChild(o[r])}function adt(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<nxe?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=nxe&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function cdt(e){let t=` -.cesium-credit-lightbox-overlay { - display: none; - z-index: 1; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(80, 80, 80, 0.8); -} - -.cesium-credit-lightbox { - background-color: #303336; - color: ${x2}; - position: relative; - min-height: ${odt}px; - margin: auto; -} -.cesium-credit-lightbox > ul > li a, -.cesium-credit-lightbox > ul > li a:visited, -.cesium-credit-wrapper a, -.cesium-credit-wrapper a:visited { - color: ${x2}; -} -.cesium-credit-lightbox > ul > li a:hover { - color: ${u8}; -} -.cesium-credit-lightbox.cesium-credit-lightbox-expanded { - border: 1px solid #444; - border-radius: 5px; - max-width: 370px; -} -.cesium-credit-lightbox.cesium-credit-lightbox-mobile { - height: 100%; - width: 100%; -} -.cesium-credit-lightbox-title { - padding: 20px 20px 0 20px; -} -.cesium-credit-lightbox-close { - font-size: 18pt; - cursor: pointer; - position: absolute; - top: 0; - right: 6px; - color: ${x2}; -} -.cesium-credit-lightbox-close:hover { - color: ${u8}; -} -.cesium-credit-lightbox > ul { - margin: 0; - padding: 12px 20px 12px 40px; - font-size: 13px; -} -.cesium-credit-lightbox > ul > li { - padding-bottom: 6px; -} -.cesium-credit-lightbox > ul > li * { - padding: 0; - margin: 0; -} - -.cesium-credit-expand-link { - padding-left: 5px; - cursor: pointer; - text-decoration: underline; - color: ${x2}; -} -.cesium-credit-expand-link:hover { - color: ${u8}; -} - -.cesium-credit-text { - color: ${x2}; -} - -.cesium-credit-delimiter { - padding: 0 5px; -} - -.cesium-credit-textContainer *, -.cesium-credit-logoContainer * { - display: inline; -} - -.cesium-credit-textContainer a:hover { - color: ${u8} -} - -.cesium-credit-textContainer .cesium-credit-wrapper:first-of-type { - padding-left: 5px; -} -`;function n(r){if(r.shadowRoot)return r.shadowRoot;if(r.getRootNode){let s=r.getRootNode();if(s instanceof ShadowRoot)return s}}let i=y(n(e),document.head),o=document.createElement("style");o.innerHTML=t,i.appendChild(o)}function mr(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(m){r.contains(m.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="×",c.className="cesium-credit-lightbox-close",r.appendChild(c);let u=document.createElement("ul");r.appendChild(u);let f=document.createElement("div");f.className="cesium-credit-logoContainer",f.style.display="inline",e.appendChild(f);let d=document.createElement("div");d.className="cesium-credit-textContainer",d.style.display="inline",e.appendChild(d);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),cdt(e);let g=wt.clone(mr.cesiumCredit);this._delimiter=y(t,"\u2022"),this._screenContainer=d,this._cesiumCreditContainer=f,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=u,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new St,lightboxCredits:new St},this._defaultCredit=void 0,this.viewport=n,this.container=e}function lxe(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(l(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new axe(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}mr.prototype.addCreditToNextFrame=function(e){if(e.isIon()){l(this._defaultCredit)||(this._defaultCredit=wt.clone(uxe())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,lxe(this,t,e)};mr.prototype.addStaticCredit=function(e){let t=this._staticCredits;rdt(t,e)||t.push(e)};mr.prototype.removeStaticCredit=function(e){let t=this._staticCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};mr.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};mr.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};mr.prototype.update=function(){this._expanded&&adt(this)};mr.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits,n=e.lightboxCredits;t.removeAll(),n.removeAll();let i=this._staticCredits;for(let o=0;o<i.length;++o){let r=i[o],s=r.showOnScreen?t:n;r.isIon()&&wt.equals(mr.cesiumCredit,this._cesiumCredit)||lxe(this,s,r,Number.MAX_VALUE)}wt.equals(mr.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=wt.clone(mr.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};mr.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;rxe(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",rxe(this._creditList,t,void 0,"li"),sdt(this)};mr.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),ue(this)};mr.prototype.isDestroyed=function(){return!1};mr._cesiumCredit=void 0;mr._cesiumCreditInitialized=!1;var f8;function uxe(){if(!l(f8)){let e=rn("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new sxe.default(e).path()),f8=new wt(`<a href="https://cesium.com/" target="_blank"><img src="${e}" style="vertical-align: -7px" title="Cesium ion"/></a>`,!0)}return mr._cesiumCreditInitialized||(mr._cesiumCredit=f8,mr._cesiumCreditInitialized=!0),f8}Object.defineProperties(mr,{cesiumCredit:{get:function(){return uxe(),mr._cesiumCredit},set:function(e){mr._cesiumCredit=e,mr._cesiumCreditInitialized=!0}}});mr.CreditDisplayElement=axe;var b2=mr;function T2(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;l(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); } -`;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); } -`;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); } -`;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); } -`;break;case"vec4":r=`vec4 getColor() { return ${o}; } -`;break}let s=`in vec3 position3DHigh; -in vec3 position3DLow; -in float batchId; -${n?"":`in ${i} ${t}; -`}out ${i} ${o}; -void main() -{ -vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); -${n?`${o} = czm_batchTable_${t}(batchId); -`:`${o} = ${t}; -`}gl_Position = czm_modelViewProjectionRelativeToEye * p; -}`,a=`in ${i} ${o}; -${r} -void main() -{ -out_FragColor = getColor(); -}`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=ro.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(T2.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});T2.prototype.getFragmentShaderSource=ro.prototype.getFragmentShaderSource;T2.prototype.isTranslucent=ro.prototype.isTranslucent;T2.prototype.getRenderState=ro.prototype.getRenderState;var cK=T2;var d8=0,ldt=1;function zT(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e._drawNearPlane,!0),s,a;t instanceof Di?(s=d8,a=Di.packedLength):t instanceof cn&&(s=ldt,a=cn.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=r,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+h.packedLength+Le.packedLength+Pe.packedLength}zT.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===d8?(Di.pack(o,t,n),n+=Di.packedLength):(cn.pack(o,t,n),n+=cn.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n]=e._drawNearPlane?1:0,t};var udt=new Di,fdt=new cn,ddt=new Le,hdt=new h,mdt=new Pe;zT.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===d8?(o=Di.unpack(e,t,udt),t+=Di.packedLength):(o=cn.unpack(e,t,fdt),t+=cn.packedLength);let r=h.unpack(e,t,hdt);t+=h.packedLength;let s=Le.unpack(e,t,ddt);t+=Le.packedLength;let a=Pe.unpack(e,t,mdt);t+=Pe.packedLength;let c=e[t]===1;if(!l(n))return new zT({frustum:o,origin:r,orientation:s,vertexFormat:a,_drawNearPlane:c});let u=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(u),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._vertexFormat=Pe.clone(a,n._vertexFormat),n._drawNearPlane=c,n};function $S(e,t,n,i,o,r,s,a){let c=e/3*2;for(let u=0;u<4;++u)l(t)&&(t[e]=r.x,t[e+1]=r.y,t[e+2]=r.z),l(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),l(i)&&(i[e]=a.x,i[e+1]=a.y,i[e+2]=a.z),e+=3;o[c]=0,o[c+1]=0,o[c+2]=1,o[c+3]=0,o[c+4]=1,o[c+5]=1,o[c+6]=0,o[c+7]=1}var pdt=new $,_dt=new F,lK=new F,fxe=new h,dxe=new h,hxe=new h,gdt=new h,ydt=new h,xdt=new h,A0=new Array(3),C2=new Array(4);C2[0]=new oe(-1,-1,1,1);C2[1]=new oe(1,-1,1,1);C2[2]=new oe(1,1,1,1);C2[3]=new oe(-1,1,1,1);var mxe=new Array(4);for(let e=0;e<4;++e)mxe[e]=new oe;zT._computeNearFarPlanes=function(e,t,n,i,o,r,s,a){let c=$.fromQuaternion(t,pdt),u=y(r,fxe),f=y(s,dxe),d=y(a,hxe);u=$.getColumn(c,0,u),f=$.getColumn(c,1,f),d=$.getColumn(c,2,d),h.normalize(u,u),h.normalize(f,f),h.normalize(d,d),h.negate(u,u);let p=F.computeView(e,d,f,u,_dt),g,m,x=i.projectionMatrix;if(n===d8){let b=F.multiply(x,p,lK);m=F.inverse(b,lK)}else g=F.inverseTransformation(p,lK);l(m)?(A0[0]=i.near,A0[1]=i.far):(A0[0]=0,A0[1]=i.near,A0[2]=i.far);for(let b=0;b<2;++b)for(let T=0;T<4;++T){let A=oe.clone(C2[T],mxe[T]);if(l(m)){A=F.multiplyByVector(m,A,A);let C=1/A.w;h.multiplyByScalar(A,C,A),h.subtract(A,e,A),h.normalize(A,A);let E=h.dot(d,A);h.multiplyByScalar(A,A0[b]/E,A),h.add(A,e,A)}else{let C=i.offCenterFrustum;l(C)&&(i=C);let E=A0[b],v=A0[b+1];A.x=(A.x*(i.right-i.left)+i.left+i.right)*.5,A.y=(A.y*(i.top-i.bottom)+i.bottom+i.top)*.5,A.z=(A.z*(E-v)-E-v)*.5,A.w=1,F.multiplyByVector(g,A,A)}o[12*b+T*3]=A.x,o[12*b+T*3+1]=A.y,o[12*b+T*3+2]=A.z}};zT.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=e._vertexFormat,a=r?6:5,c=new Float64Array(3*4*6);zT._computeNearFarPlanes(i,o,t,n,c);let u=3*4*2;c[u]=c[3*4],c[u+1]=c[3*4+1],c[u+2]=c[3*4+2],c[u+3]=c[0],c[u+4]=c[1],c[u+5]=c[2],c[u+6]=c[3*3],c[u+7]=c[3*3+1],c[u+8]=c[3*3+2],c[u+9]=c[3*7],c[u+10]=c[3*7+1],c[u+11]=c[3*7+2],u+=3*4,c[u]=c[3*5],c[u+1]=c[3*5+1],c[u+2]=c[3*5+2],c[u+3]=c[3],c[u+4]=c[4],c[u+5]=c[5],c[u+6]=c[0],c[u+7]=c[1],c[u+8]=c[2],c[u+9]=c[3*4],c[u+10]=c[3*4+1],c[u+11]=c[3*4+2],u+=3*4,c[u]=c[3],c[u+1]=c[4],c[u+2]=c[5],c[u+3]=c[3*5],c[u+4]=c[3*5+1],c[u+5]=c[3*5+2],c[u+6]=c[3*6],c[u+7]=c[3*6+1],c[u+8]=c[3*6+2],c[u+9]=c[3*2],c[u+10]=c[3*2+1],c[u+11]=c[3*2+2],u+=3*4,c[u]=c[3*2],c[u+1]=c[3*2+1],c[u+2]=c[3*2+2],c[u+3]=c[3*6],c[u+4]=c[3*6+1],c[u+5]=c[3*6+2],c[u+6]=c[3*7],c[u+7]=c[3*7+1],c[u+8]=c[3*7+2],c[u+9]=c[3*3],c[u+10]=c[3*3+1],c[u+11]=c[3*3+2],r||(c=c.subarray(3*4));let f=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})});if(l(s.normal)||l(s.tangent)||l(s.bitangent)||l(s.st)){let p=l(s.normal)?new Float32Array(12*a):void 0,g=l(s.tangent)?new Float32Array(3*4*a):void 0,m=l(s.bitangent)?new Float32Array(3*4*a):void 0,x=l(s.st)?new Float32Array(2*4*a):void 0,b=fxe,T=dxe,A=hxe,C=h.negate(b,gdt),E=h.negate(T,ydt),v=h.negate(A,xdt);u=0,r&&($S(u,p,g,m,x,v,b,T),u+=3*4),$S(u,p,g,m,x,A,C,T),u+=3*4,$S(u,p,g,m,x,C,v,T),u+=3*4,$S(u,p,g,m,x,E,v,C),u+=3*4,$S(u,p,g,m,x,b,A,T),u+=3*4,$S(u,p,g,m,x,T,A,C),l(p)&&(f.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),l(g)&&(f.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),l(m)&&(f.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),l(x)&&(f.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:x}))}let d=new Uint16Array(6*a);for(let p=0;p<a;++p){let g=p*6,m=p*4;d[g]=m,d[g+1]=m+1,d[g+2]=m+2,d[g+3]=m,d[g+4]=m+2,d[g+5]=m+3}return new ut({attributes:f,indices:d,primitiveType:Ne.TRIANGLES,boundingSphere:ae.fromVertices(c)})};var HT=zT;var uK=0,bdt=1;function A2(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e._drawNearPlane,!0),r,s;t instanceof Di?(r=uK,s=Di.packedLength):t instanceof cn&&(r=bdt,s=cn.packedLength),this._frustumType=r,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=o,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+s+h.packedLength+Le.packedLength}A2.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===uK?(Di.pack(o,t,n),n+=Di.packedLength):(cn.pack(o,t,n),n+=cn.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,t[n]=e._drawNearPlane?1:0,t};var Tdt=new Di,Cdt=new cn,Adt=new Le,Edt=new h;A2.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===uK?(o=Di.unpack(e,t,Tdt),t+=Di.packedLength):(o=cn.unpack(e,t,Cdt),t+=cn.packedLength);let r=h.unpack(e,t,Edt);t+=h.packedLength;let s=Le.unpack(e,t,Adt);t+=Le.packedLength;let a=e[t]===1;if(!l(n))return new A2({frustum:o,origin:r,orientation:s,_drawNearPlane:a});let c=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(c),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._drawNearPlane=a,n};A2.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=new Float64Array(3*4*2);HT._computeNearFarPlanes(i,o,t,n,s);let a=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),c,u,f=r?2:1,d=new Uint16Array(8*(f+1)),p=r?0:1;for(;p<2;++p)c=r?p*8:0,u=p*4,d[c]=u,d[c+1]=u+1,d[c+2]=u+1,d[c+3]=u+2,d[c+4]=u+2,d[c+5]=u+3,d[c+6]=u+3,d[c+7]=u;for(p=0;p<2;++p)c=(f+p)*8,u=p*4,d[c]=u,d[c+1]=u+4,d[c+2]=u+1,d[c+3]=u+5,d[c+4]=u+2,d[c+5]=u+6,d[c+6]=u+3,d[c+7]=u+7;return new ut({attributes:a,indices:d,primitiveType:Ne.LINES,boundingSphere:ae.fromVertices(s)})};var E2=A2;function h8(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,H.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var Sdt=new h,vdt=new $,wdt=new Le,Ddt=new Di,Idt=new cl,Pdt=new cn,Rdt=new Lr,Odt=new H,Mdt=[1,1e5];h8.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof Di?a=Ddt:s instanceof cl?a=Idt:s instanceof cn?a=Pdt:a=Rdt,a=s.clone(a);let c,u=this._frustumSplits;!l(u)||u.length<=1?(u=Mdt,u[0]=this._camera.frustum.near,u[1]=this._camera.frustum.far,c=1):c=u.length-1;let f=r.positionWC,d=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,Sdt);let m=vdt;$.setColumn(m,0,g,m),$.setColumn(m,1,p,m),$.setColumn(m,2,d,m);let x=Le.fromRotationMatrix(m,wdt);for(t.length=n.length=c,i=0;i<c;++i)a.near=u[i],a.far=u[i+1],t[i]=new Pn({geometryInstances:new vt({geometry:new HT({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Wt.fromColor(H.fromAlpha(this._color,.1,Odt))},id:this.id,pickPrimitive:this}),appearance:new fn({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new Pn({geometryInstances:new vt({geometry:new E2({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Wt.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};h8.prototype.isDestroyed=function(){return!1};h8.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return ue(this)};var Km=h8;function pxe(){this._cachedShowFrustumsShaders={}}function Ldt(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Ndt(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(f){f=ze.replaceMain(f,"czm_Debug_main");let d=/out_FragData_(\d+)/g,p;for(;(p=d.exec(f))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return f});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor; -`,a+=`uniform vec3 debugShowFrustumsColor; -`,a+=`void main() -{ - czm_Debug_main(); -`;let c;if(s>0)for(c=0;c<s;++c)a+=` out_FragData_${r[c]}.rgb *= debugShowCommandsColor; -`,a+=` out_FragData_${r[c]}.rgb *= debugShowFrustumsColor; -`;else a+=` out_FragColor.rgb *= debugShowCommandsColor; -`,a+=` out_FragColor.rgb *= debugShowFrustumsColor; -`;a+="}",o.sources.push(a);let u=Ldt(i);return an.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:u})}var S2=new H;function Fdt(e,t){let n;return l(t.uniformMap)?n=t.uniformMap:n={},l(n.debugShowCommandsColor)||l(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(l(t._debugColor)||(t._debugColor=H.fromRandom()),t._debugColor):H.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(S2.red=t.debugOverlappingFrustums&1?1:0,S2.green=t.debugOverlappingFrustums&2?1:0,S2.blue=t.debugOverlappingFrustums&4?1:0,S2.alpha=1,S2):H.WHITE}),n}var Bdt=new Xe;pxe.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];l(o)||(o=Ndt(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=Xe.shallowClone(t,Bdt);r.shaderProgram=o,r.uniformMap=Fdt(e,t),r.execute(e.context,n)};var v2=pxe;function m8(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.id=e.id,this._id=void 0,this._primitive=void 0}m8.prototype.update=function(e){if(this.show){if(!l(this._primitive)||!F.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=F.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,l(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new vt({geometry:new j_({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:$r.VERTEX_FORMAT,colors:[H.RED,H.RED],arcType:tn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),n=new vt({geometry:new j_({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:$r.VERTEX_FORMAT,colors:[H.GREEN,H.GREEN],arcType:tn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),i=new vt({geometry:new j_({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:$r.VERTEX_FORMAT,colors:[H.BLUE,H.BLUE],arcType:tn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this});this._primitive=new Pn({geometryInstances:[t,n,i],appearance:new $r,asynchronous:!1})}this._primitive.update(e)}};m8.prototype.isDestroyed=function(){return!1};m8.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var w2=m8;var D2=`in vec4 positionEC; - -void main() -{ - vec3 position; - vec3 direction; - if (czm_orthographicIn3D == 1.0) - { - vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; - vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom - vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top - position = vec3(mix(minPlane, maxPlane, uv), 0.0); - direction = vec3(0.0, 0.0, -1.0); - } - else - { - position = vec3(0.0); - direction = normalize(positionEC.xyz); - } - - czm_ray ray = czm_ray(position, direction); - - vec3 ellipsoid_center = czm_view[3].xyz; - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); - if (!czm_isEmpty(intersection)) - { - out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); - } - else - { - discard; - } - - czm_writeLogDepth(); -} -`;var I2=`in vec4 position; - -out vec4 positionEC; - -void main() -{ - positionEC = czm_modelView * position; - gl_Position = czm_modelViewProjection * position; - - czm_vertexLogDepth(); -} -`;function R2(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var P2=Gt.supportsTypedArrays()?new Float32Array(12):[],_xe=new h,gxe=new h,fK=new h,yxe=new h,p8=new h;function kdt(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof cn)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let d=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,d,_xe),g=h.normalize(p,gxe),m=h.normalize(h.cross(h.UNIT_Z,p,fK),fK),x=h.normalize(h.cross(g,m,yxe),yxe),b=h.magnitude(p),T=Math.sqrt(b*b-1);o=h.multiplyByScalar(g,1/b,_xe);let A=T/b;r=h.multiplyByScalar(m,A,gxe),s=h.multiplyByScalar(x,A,fK)}let a=h.add(o,s,p8);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,P2,0);let c=h.subtract(o,s,p8);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,P2,3);let u=h.add(o,s,p8);h.add(u,r,u),h.multiplyComponents(n,u,u),h.pack(u,P2,6);let f=h.subtract(o,s,p8);return h.add(f,r,f),h.multiplyComponents(n,f,f),h.pack(f,P2,9),P2}R2.prototype.update=function(e){if(this._mode=e.mode,e.mode!==ne.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new ee(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(l(this._command)||(this._rs=Ve.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new Xe({renderState:this._rs,boundingVolume:new ae(h.ZERO,i.maximumRadius),pass:Se.OPAQUE,owner:this})),!l(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new ze({sources:[I2]}),a=new ze({sources:[D2]});o&&(a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")),this._sp=an.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=kdt(i,e);if(l(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new ut({attributes:{position:new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Ne.TRIANGLES});this._va=pi.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:ke.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};R2.prototype.execute=function(e,t){this._mode===ne.SCENE3D&&this._command.execute(e,t)};R2.prototype.isDestroyed=function(){return!1};R2.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var O2=R2;function JS(){}var Vdt=/\bgl_FragDepth\b/,Udt=/\bdiscard\b/;function zdt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(l(n))return n;let i=t.fragmentShaderSource,o=!1,r=i.sources;for(let a=0;a<r.length;++a)if(Vdt.test(r[a])||Udt.test(r[a])){o=!0;break}let s=i.defines.indexOf("LOG_DEPTH")>=0;if(!o&&!s){let a=`void main() -{ - out_FragColor = vec4(1.0); -} -`;i=new ze({sources:[a]})}else if(!o&&s){let a=`void main() -{ - out_FragColor = vec4(1.0); - czm_writeLogDepth(); -} -`;i=new ze({defines:["LOG_DEPTH"],sources:[a]})}return e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}function Hdt(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(l(i))return i;let o=Ve.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1};let r=Ve.fromCache(o);return n[t.id]=r,r}JS.createDepthOnlyDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.depthOnlyCommand?.shaderProgram,r=i.depthOnlyCommand?.renderState;return i.depthOnlyCommand=Xe.shallowClone(t,i.depthOnlyCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=zdt(n,t.shaderProgram),i.depthOnlyCommand.renderState=Hdt(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var Gdt=/\s+czm_writeLogDepth\(/,Wdt=/\s+czm_vertexLogDepth\(/;function jdt(e,t){if(t.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return t;let i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(l(i))return i;let o=t._attributeLocations,r=t.vertexShaderSource.clone(),s=t.fragmentShaderSource.clone();r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH"),s.defines=l(s.defines)?s.defines.slice(0):[],s.defines.push("LOG_DEPTH");let a=!1,c=r.sources;for(let f=0;f<c.length;++f)if(Wdt.test(c[f])){a=!0;break}if(!a){for(let d=0;d<c.length;++d)c[d]=ze.replaceMain(c[d],"czm_log_depth_main");c.push(` - -void main() -{ - czm_log_depth_main(); - czm_vertexLogDepth(); -} -`)}c=s.sources,a=!1;for(let f=0;f<c.length;++f)Gdt.test(c[f])&&(a=!0);s.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(a=!0);let u="";if(!a){for(let f=0;f<c.length;f++)c[f]=ze.replaceMain(c[f],"czm_log_depth_main");u=` -void main() -{ - czm_log_depth_main(); - czm_writeLogDepth(); -} -`}return c.push(u),e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o})}JS.createLogDepthCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=Xe.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=jdt(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function qdt(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(l(i))return i;Object.prototype.toString.call(n)==="[object Object]"&&(n.color?n=`vec4(${H.floatToByte(n.color.red)}, ${H.floatToByte(n.color.green)}, ${H.floatToByte(n.color.blue)}, ${H.floatToByte(n.color.alpha)})`:n="vec4(1.0)");let o=t._attributeLocations,{sources:r,defines:s}=t.fragmentShaderSource,c=r.some(g=>g.includes("out_FragData"))?"out_FragData_0":"out_FragColor",u=`void main () -{ - czm_non_pick_main(); - if (${c}.a == 0.0) { - discard; - } - ${c} = ${n}; -} `,f=r.length,d=new Array(f+1);for(let g=0;g<f;++g)d[g]=ze.replaceMain(r[g],"czm_non_pick_main");d[f]=u;let p=new ze({sources:d,defines:s});return e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:p,attributeLocations:o})}function xxe(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(l(i))return i;let o=Ve.getState(t);o.blending.enabled=!1,o.depthMask=!0;let r=Ve.fromCache(o);return n[t.id]=r,r}JS.createPickDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.pickCommand?.shaderProgram,r=i.pickCommand?.renderState;return i.pickCommand=Xe.shallowClone(t,i.pickCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=qdt(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=xxe(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function QS(e,t,n){let i=e.length;for(let o=0;o<i;o++)e[o].trimStart().split(/\s+/)[0]===t&&(e[o]=`${t} ${n}`)}function bxe(e){return e.isArray?e.arrayLength:Et.getComponentCount(e.type)}function Ydt(e){let t=bxe(e);return e.normalized?t===1?"float":`vec${t}`:t===1?"int":`ivec${t}`}function Xdt(e,t,n){let i=n.schemaId,o=n.className,r=n.propertyName,s=`pickMetadata-${i}-${o}-${r}`,a=e.shaderCache.getDerivedShaderProgram(t,s);if(l(a))return a;let c=n.classProperty,u=Ydt(c),f=["0.0","0.0","0.0","0.0"],d=bxe(c);if(d===1)f[0]="float(value)";else{let x=["x","y","z","w"];for(let b=0;b<d;b++){let A=`value.${x[b]}`;f[b]=`float(${A})`}}if(!c.normalized)for(let x=0;x<d;x++)f[x]+=" / 255.0";let p=t.fragmentShaderSource.defines.slice();p.push(Au.METADATA_PICKING_ENABLED),QS(p,Au.METADATA_PICKING_VALUE_TYPE,u),QS(p,Au.METADATA_PICKING_VALUE_STRING,`metadata.${r}`),QS(p,Au.METADATA_PICKING_VALUE_COMPONENT_X,f[0]),QS(p,Au.METADATA_PICKING_VALUE_COMPONENT_Y,f[1]),QS(p,Au.METADATA_PICKING_VALUE_COMPONENT_Z,f[2]),QS(p,Au.METADATA_PICKING_VALUE_COMPONENT_W,f[3]);let g=new ze({sources:t.fragmentShaderSource.sources,defines:p});return e.shaderCache.createDerivedShaderProgram(t,s,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:g,attributeLocations:t._attributeLocations})}JS.createPickMetadataDerivedCommand=function(e,t,n,i){return l(i)||(i={}),i.pickMetadataCommand=Xe.shallowClone(t,i.pickMetadataCommand),i.pickMetadataCommand.shaderProgram=Xdt(n,t.shaderProgram,t.pickedMetadataInfo),i.pickMetadataCommand.renderState=xxe(e,t.renderState),i.shaderProgramId=t.shaderProgram.id,i};function Kdt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(l(n))return n;let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();return o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}JS.createHdrCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=Xe.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=Kdt(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var Zm=JS;function _8(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!l(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=P.toRadians(o),t._beta=P.toRadians(i.beta),t._gamma=P.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var Zdt=new Le,Txe=new Le,$dt=new $;function Qdt(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Le.fromAxisAngle(o,n,Txe),c=Le.fromAxisAngle(r,i,Zdt),u=Le.multiply(c,a,c),f=Le.fromAxisAngle(s,t,Txe);Le.multiply(f,u,u);let d=$.fromQuaternion(u,$dt);$.multiplyByVector(d,r,r),$.multiplyByVector(d,s,s),$.multiplyByVector(d,o,o)}_8.prototype.update=function(){if(!l(this._alpha))return;l(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;Qdt(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};_8.prototype.isDestroyed=function(){return!1};_8.prototype.destroy=function(){return this._removeListener(),ue(this)};var M2=_8;function Jdt(e){this.direction=h.clone(e.direction),this.color=H.clone(y(e.color,H.WHITE)),this.intensity=y(e.intensity,1)}var dK=Jdt;var ev=`uniform vec3 u_radii; -uniform vec3 u_oneOverEllipsoidRadiiSquared; - -in vec3 v_positionEC; - -vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) -{ - vec3 positionEC = czm_pointAlongRay(ray, intersection); - vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; - vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); - vec3 sphericalNormal = normalize(positionMC / u_radii); - vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates - vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordinates - - vec2 st = czm_ellipsoidTextureCoordinates(sphericalNormal); - vec3 positionToEyeEC = -positionEC; - - czm_materialInput materialInput; - materialInput.s = st.s; - materialInput.st = st; - materialInput.str = (positionMC + u_radii) / u_radii; - materialInput.normalEC = normalEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); - materialInput.positionToEyeEC = positionToEyeEC; - czm_material material = czm_getMaterial(materialInput); - -#ifdef ONLY_SUN_LIGHTING - return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); -#else - return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); -#endif -} - -void main() -{ - // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii - // in the vertex shader. Only when it is larger than some constant, march along the ray. - // Otherwise perform one intersection test which will be the common case. - - // Test if the ray intersects a sphere with the ellipsoid's maximum radius. - // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test - // may cause false negatives. This will discard fragments before marching the ray forward. - float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; - vec3 direction = normalize(v_positionEC); - vec3 ellipsoidCenter = czm_modelView[3].xyz; - - float t1 = -1.0; - float t2 = -1.0; - - float b = -2.0 * dot(direction, ellipsoidCenter); - float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; - - float discriminant = b * b - 4.0 * c; - if (discriminant >= 0.0) { - t1 = (-b - sqrt(discriminant)) * 0.5; - t2 = (-b + sqrt(discriminant)) * 0.5; - } - - if (t1 < 0.0 && t2 < 0.0) { - discard; - } - - float t = min(t1, t2); - if (t < 0.0) { - t = 0.0; - } - - // March ray forward to intersection with larger sphere and find - czm_ray ray = czm_ray(t * direction, direction); - - vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); - - if (czm_isEmpty(intersection)) - { - discard; - } - - // If the viewer is outside, compute outsideFaceColor, with normals facing outward. - vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); - - // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. - vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); - - out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); - out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); - -#if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) - t = (intersection.start != 0.0) ? intersection.start : intersection.stop; - vec3 positionEC = czm_pointAlongRay(ray, t); - vec4 positionCC = czm_projection * vec4(positionEC, 1.0); -#ifdef LOG_DEPTH - czm_writeLogDepth(1.0 + positionCC.w); -#else - float z = positionCC.z / positionCC.w; - - float n = czm_depthRange.near; - float f = czm_depthRange.far; - - gl_FragDepth = (z * (f - n) + f + n) * 0.5; -#endif -#endif -} -`;var tv=`in vec3 position; - -uniform vec3 u_radii; - -out vec3 v_positionEC; - -void main() -{ - // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. - // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, - // but doing it here allows us to change the radii without rewriting the vertex data, and - // allows all ellipsoids to reuse the same vertex data. - vec4 p = vec4(u_radii * position, 1.0); - - v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates - gl_Position = czm_modelViewProjection * p; // position in clip coordinates - - // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums - // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the - // ellipsoid (does not write depth) that was rendered in the farther frustum. - // - // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates - // artifacts since some fragments can be alpha blended twice. This is solved by only rendering - // the ellipsoid in the closest frustum to the viewer. - gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); - - czm_vertexLogDepth(); -} -`;var hK={position:0};function g8(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new ae,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this._computedModelMatrix=new F,this.show=y(e.show,!0),this.material=y(e.material,Xi.fromType(Xi.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new Xe({owner:y(e._owner,this)}),this._pickCommand=new Xe({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function eht(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(l(t))return t;let n=Al.createGeometry(Al.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Pe.POSITION_ONLY}));return t=pi.fromGeometry({context:e,geometry:n,attributeLocations:hK,bufferUsage:ke.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}g8.prototype.update=function(e){if(!this.show||e.mode!==ne.SCENE3D||!l(this.center)||!l(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!l(this._rs)||i)&&(this._translucent=n,this._rs=Ve.fromCache({cull:{enabled:!0,face:bi.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?hn.ALPHA_BLEND:void 0})),l(this._va)||(this._va=eht(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let x=this._oneOverEllipsoidRadiiSquared;x.x=1/(r.x*r.x),x.y=1/(r.y*r.y),x.z=1/(r.z*r.z),o=!0}(!F.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(F.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),F.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),ae.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,u=this._useLogDepth!==c;this._useLogDepth=c;let f=this._colorCommand,d,p;(s||a||i||u)&&(d=new ze({sources:[tv]}),p=new ze({sources:[this.material.shaderSource,ev]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._sp=an.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:hK}),f.vertexArray=this._va,f.renderState=this._rs,f.shaderProgram=this._sp,f.uniformMap=bt(this._uniforms,this.material._uniforms),f.executeInClosestFrustum=n);let g=e.commandList,m=e.passes;if(m.render&&(f.boundingVolume=this._boundingSphere,f.debugShowBoundingVolume=this.debugShowBoundingVolume,f.modelMatrix=this._computedModelMatrix,f.pass=n?Se.TRANSLUCENT:Se.OPAQUE,g.push(f)),m.pick){let x=this._pickCommand;(!l(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(s||a||!l(this._pickSP)||u)&&(d=new ze({sources:[tv]}),p=new ze({sources:[this.material.shaderSource,ev],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._pickSP=an.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:hK}),x.vertexArray=this._va,x.renderState=this._rs,x.shaderProgram=this._pickSP,x.uniformMap=bt(bt(this._uniforms,this._pickUniforms),this.material._uniforms),x.executeInClosestFrustum=n),x.boundingVolume=this._boundingSphere,x.modelMatrix=this._computedModelMatrix,x.pass=n?Se.TRANSLUCENT:Se.OPAQUE,g.push(x)}};g8.prototype.isDestroyed=function(){return!1};g8.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var L2=g8;var N2=`in vec3 v_positionMC; -in vec3 v_positionEC; -in vec2 v_st; - -void main() -{ - czm_materialInput materialInput; - - vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); -#ifdef FACE_FORWARD - normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); -#endif - - materialInput.s = v_st.s; - materialInput.st = v_st; - materialInput.str = vec3(v_st, 0.0); - - // Convert tangent space material normal to eye space - materialInput.normalEC = normalEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); - - // Convert view vector to world space - vec3 positionToEyeEC = -v_positionEC; - materialInput.positionToEyeEC = positionToEyeEC; - - czm_material material = czm_getMaterial(materialInput); - -#ifdef FLAT - out_FragColor = vec4(material.diffuse + material.emission, material.alpha); -#else - out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); -#endif -} -`;var F2=`in vec3 position3DHigh; -in vec3 position3DLow; -in vec2 st; -in float batchId; - -out vec3 v_positionMC; -out vec3 v_positionEC; -out vec2 v_st; - -void main() -{ - vec4 p = czm_computePosition(); - - v_positionMC = position3DHigh + position3DLow; // position in model coordinates - v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates - v_st = st; - - gl_Position = czm_modelViewProjectionRelativeToEye * p; -} -`;function GT(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=l(e.material)?e.material:Xi.fromType(Xi.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,F2),this._fragmentShaderSource=y(e.fragmentShaderSource,N2),this._renderState=ro.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(GT.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return GT.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});GT.VERTEX_FORMAT=Pe.POSITION_AND_ST;GT.prototype.getFragmentShaderSource=ro.prototype.getFragmentShaderSource;GT.prototype.isTranslucent=ro.prototype.isTranslucent;GT.prototype.getRenderState=ro.prototype.getRenderState;var mK=GT;function Cxe(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}var y8=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],$m=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let e=0;e<$m.length;++e)$m[e]*=1e6;var Axe=$m[1],pK=$m[$m.length-1];for(let e=0;e<$m.length;++e)$m[e]=($m[e]-pK)/(Axe-pK);var Ca=0;function tht(e){let t=y8,n=t.length;if(e<t[0])return Ca=0,Ca;if(e>t[n-1])return Ca=n-2,Ca;if(e>=t[Ca]){if(Ca+1<n&&e<t[Ca+1])return Ca;if(Ca+2<n&&e<t[Ca+2])return++Ca,Ca}else if(Ca-1>=0&&e>=t[Ca-1])return--Ca,Ca;let i;for(i=0;i<n-2&&!(e>=t[i]&&e<t[i+1]);++i);return Ca=i,Ca}var nht=new h;Cxe.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!l(i)||i.height>8e5||e.mode!==ne.SCENE3D){e.fog.enabled=!1,e.fog.density=0;return}let o=i.height,r=tht(o),s=P.clamp((o-y8[r])/(y8[r+1]-y8[r]),0,1),a=P.lerp($m[r],$m[r+1],s),c=this.density*1e6,u=c/Axe*pK;a=a*(c-u)*1e-6;let f=h.normalize(n.positionWC,nht),d=Math.abs(h.dot(n.directionWC,f));a*=1-d,e.fog.density=a,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var B2=Cxe;function tu(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,tu.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,tu.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,tu.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,tu.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,tu.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new me,this._nominalFrameRate=new me,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){iht(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){oht(t)}this._visibilityChangeRemoveListener=void 0,l(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}tu.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};tu.fromScene=function(e){return(!l(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new tu({scene:e})),e._frameRateMonitor};Object.defineProperties(tu.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});tu.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};tu.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};tu.prototype.isDestroyed=function(){return!1};tu.prototype.destroy=function(){return this._preUpdateRemoveListener(),l(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),ue(this)};function iht(e,t){if(e._pauseCount>0)return;let n=Ci();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Zn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Zn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Zn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function oht(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var k2=tu;function rht(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=ne.SCENE3D,this.morphTime=ne.getMorphTime(ne.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,pickVoxel:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,renderable:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.atmosphere=void 0,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0,this.pickingMetadata=!1,this.pickedMetadataInfo=void 0}var V2=rht;function sht(e,t){this.near=y(e,0),this.far=y(t,0);let n=Se.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var U2=sht;function aht(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = ${n}.rgb; - float clippingPlanesEdgeWidth = ${n}.a; - if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) - { - out_FragColor = clippingPlanesEdgeColor; - } -`}var z2=aht;function cht(e,t,n,i){if(!l(e)||l(t)&&e.id!==t)return;let r=(e.classes||{})[n];if(!l(r))return;let a=(r.properties||{})[i];if(l(a))return a}var H2=cht;var lht={NONE:0,LERC:1},id=Object.freeze(lht);var uht={NONE:0,BITS12:1},na=Object.freeze(uht);var WT=new h,fht=new h,od=new z,x8=new F,dht=new F,hht=Math.pow(2,12);function wc(e,t,n,i,o,r,s,a,c,u){let f=na.NONE,d,p;if(l(t)&&l(n)&&l(i)&&l(o)){let g=t.minimum,m=t.maximum,x=h.subtract(m,g,fht),b=i-n;Math.max(h.maximumComponent(x),b)<hht-1?f=na.BITS12:f=na.NONE,d=F.inverseTransformation(o,new F);let A=h.negate(g,WT);F.multiply(F.fromTranslation(A,x8),d,d);let C=WT;C.x=1/x.x,C.y=1/x.y,C.z=1/x.z,F.multiply(F.fromScale(C,x8),d,d),p=F.clone(o),F.setTranslation(p,h.ZERO,p),o=F.clone(o,new F);let E=F.fromTranslation(g,x8),v=F.fromScale(x,dht),D=F.multiply(E,v,x8);F.multiply(o,D,o),F.multiply(p,D,p)}this.quantization=f,this.minimumHeight=n,this.maximumHeight=i,this.center=h.clone(e),this.toScaledENU=d,this.fromScaledENU=o,this.matrix=p,this.hasVertexNormals=r,this.hasWebMercatorT=y(s,!1),this.hasGeodeticSurfaceNormals=y(a,!1),this.exaggeration=y(c,1),this.exaggerationRelativeHeight=y(u,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}wc.prototype.encode=function(e,t,n,i,o,r,s,a){let c=i.x,u=i.y;if(this.quantization===na.BITS12){n=F.multiplyByPoint(this.toScaledENU,n,WT),n.x=P.clamp(n.x,0,1),n.y=P.clamp(n.y,0,1),n.z=P.clamp(n.z,0,1);let f=this.maximumHeight-this.minimumHeight,d=P.clamp((o-this.minimumHeight)/f,0,1);z.fromElements(n.x,n.y,od);let p=Fn.compressTextureCoordinates(od);z.fromElements(n.z,d,od);let g=Fn.compressTextureCoordinates(od);z.fromElements(c,u,od);let m=Fn.compressTextureCoordinates(od);if(e[t++]=p,e[t++]=g,e[t++]=m,this.hasWebMercatorT){z.fromElements(s,0,od);let x=Fn.compressTextureCoordinates(od);e[t++]=x}}else h.subtract(n,this.center,WT),e[t++]=WT.x,e[t++]=WT.y,e[t++]=WT.z,e[t++]=o,e[t++]=c,e[t++]=u,this.hasWebMercatorT&&(e[t++]=s);return this.hasVertexNormals&&(e[t++]=Fn.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=a.x,e[t++]=a.y,e[t++]=a.z),t};var mht=new h,Exe=new h;wc.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;let i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let r=this.stride;for(let s=0;s<o;s++){for(let f=0;f<i;f++){let d=s*i+f,p=s*r+f;t[p]=e[d]}let a=this.decodePosition(t,s,mht),c=n.geodeticSurfaceNormal(a,Exe),u=s*r+this._offsetGeodeticSurfaceNormal;t[u]=c.x,t[u+1]=c.y,t[u+2]=c.z}};wc.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;let n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let o=this.stride;for(let r=0;r<i;r++)for(let s=0;s<o;s++){let a=r*n+s,c=r*o+s;t[c]=e[a]}};wc.prototype.decodePosition=function(e,t,n){if(l(n)||(n=new h),t*=this.stride,this.quantization===na.BITS12){let i=Fn.decompressTextureCoordinates(e[t],od);n.x=i.x,n.y=i.y;let o=Fn.decompressTextureCoordinates(e[t+1],od);return n.z=o.x,F.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],h.add(n,this.center,n)};wc.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);let i=this.exaggeration,o=this.exaggerationRelativeHeight;if(i!==1&&this.hasGeodeticSurfaceNormals){let s=this.decodeGeodeticSurfaceNormal(e,t,Exe),a=this.decodeHeight(e,t),c=Cr.getHeight(a,i,o)-a;n.x+=s.x*c,n.y+=s.y*c,n.z+=s.z*c}return n};wc.prototype.decodeTextureCoordinates=function(e,t,n){return l(n)||(n=new z),t*=this.stride,this.quantization===na.BITS12?Fn.decompressTextureCoordinates(e[t+2],n):z.fromElements(e[t+4],e[t+5],n)};wc.prototype.decodeHeight=function(e,t){return t*=this.stride,this.quantization===na.BITS12?Fn.decompressTextureCoordinates(e[t+1],od).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:e[t+3]};wc.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===na.BITS12?Fn.decompressTextureCoordinates(e[t+3],od).x:e[t+6]};wc.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;let i=e[t]/256,o=Math.floor(i),r=(i-o)*256;return z.fromElements(o,r,n)};wc.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n};wc.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case na.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};var b8={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},T8={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};wc.prototype.getAttributes=function(e){let t=X.FLOAT,n=X.getSizeInBytes(t),i=this.stride*n,o=0,r=[];function s(a,c){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:c,offsetInBytes:o,strideInBytes:i}),o+=c*n}if(this.quantization===na.NONE){s(b8.position3DAndHeight,4);let a=2;a+=this.hasWebMercatorT?1:0,a+=this.hasVertexNormals?1:0,s(b8.textureCoordAndEncodedNormals,a),this.hasGeodeticSurfaceNormals&&s(b8.geodeticSurfaceNormal,3)}else{let a=this.hasWebMercatorT||this.hasVertexNormals,c=this.hasWebMercatorT&&this.hasVertexNormals;s(T8.compressed0,a?4:3),c&&s(T8.compressed1,1),this.hasGeodeticSurfaceNormals&&s(T8.geodeticSurfaceNormal,3)}return r};wc.prototype.getAttributeLocations=function(){return this.quantization===na.NONE?b8:T8};wc.clone=function(e,t){if(l(e))return l(t)||(t=new wc),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=h.clone(e.center),t.toScaledENU=F.clone(e.toScaledENU),t.fromScaledENU=F.clone(e.fromScaledENU),t.matrix=F.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var Dc=wc;var Qm={};Qm.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var _K=new h,pht=new F,_ht=new h,ght=new h;Qm.computeVertices=function(e){let t=Math.cos,n=Math.sin,i=Math.sqrt,o=Math.atan,r=Math.exp,s=P.PI_OVER_TWO,a=P.toRadians,c=e.heightmap,u=e.width,f=e.height,d=e.skirtHeight,p=d>0,g=y(e.isGeographic,!0),m=y(e.ellipsoid,ee.default),x=1/m.maximumRadius,b=se.clone(e.nativeRectangle),T=se.clone(e.rectangle),A,C,E,v;l(T)?(A=T.west,C=T.south,E=T.east,v=T.north):g?(A=a(b.west),C=a(b.south),E=a(b.east),v=a(b.north)):(A=b.west*x,C=s-2*o(r(-b.south*x)),E=b.east*x,v=s-2*o(r(-b.north*x)));let D=e.relativeToCenter,O=l(D);D=O?D:h.ZERO;let R=y(e.includeWebMercatorT,!1),M=y(e.exaggeration,1),N=y(e.exaggerationRelativeHeight,0),S=M!==1,w=y(e.structure,Qm.DEFAULT_STRUCTURE),I=y(w.heightScale,Qm.DEFAULT_STRUCTURE.heightScale),L=y(w.heightOffset,Qm.DEFAULT_STRUCTURE.heightOffset),B=y(w.elementsPerHeight,Qm.DEFAULT_STRUCTURE.elementsPerHeight),U=y(w.stride,Qm.DEFAULT_STRUCTURE.stride),V=y(w.elementMultiplier,Qm.DEFAULT_STRUCTURE.elementMultiplier),G=y(w.isBigEndian,Qm.DEFAULT_STRUCTURE.isBigEndian),k=se.computeWidth(b),Y=se.computeHeight(b),W=k/(u-1),Q=Y/(f-1);g||(k*=x,Y*=x);let j=m.radiiSquared,Z=j.x,J=j.y,he=j.z,xe=65536,re=-65536,_e=Lt.eastNorthUpToFixedFrame(D,m),ye=F.inverseTransformation(_e,pht),De,ve;R&&(De=Pi.geodeticLatitudeToMercatorAngle(C),ve=1/(Pi.geodeticLatitudeToMercatorAngle(v)-De));let Me=_ht;Me.x=Number.POSITIVE_INFINITY,Me.y=Number.POSITIVE_INFINITY,Me.z=Number.POSITIVE_INFINITY;let Oe=ght;Oe.x=Number.NEGATIVE_INFINITY,Oe.y=Number.NEGATIVE_INFINITY,Oe.z=Number.NEGATIVE_INFINITY;let ct=Number.POSITIVE_INFINITY,Ke=u*f,_t=d>0?u*2+f*2:0,Ze=Ke+_t,Dt=new Array(Ze),gt=new Array(Ze),yt=new Array(Ze),Kt=R?new Array(Ze):[],Te=S?new Array(Ze):[],Ae=0,on=f,$t=0,Qt=u;p&&(--Ae,++on,--$t,++Qt);let no=1e-5;for(let Ye=Ae;Ye<on;++Ye){let rt=Ye;rt<0&&(rt=0),rt>=f&&(rt=f-1);let Ht=b.north-Q*rt;g?Ht=a(Ht):Ht=s-2*o(r(-Ht*x));let An=(Ht-C)/(v-C);An=P.clamp(An,0,1);let Nn=Ye===Ae,Vi=Ye===on-1;d>0&&(Nn?Ht+=no*Y:Vi&&(Ht-=no*Y));let cs=t(Ht),Yo=n(Ht),Xr=he*Yo,io;R&&(io=(Pi.geodeticLatitudeToMercatorAngle(Ht)-De)*ve);for(let ks=$t;ks<Qt;++ks){let ls=ks;ls<0&&(ls=0),ls>=u&&(ls=u-1);let ou=rt*(u*U)+ls*U,Io;if(B===1)Io=c[ou];else{Io=0;let Zt;if(G)for(Zt=0;Zt<B;++Zt)Io=Io*V+c[ou+Zt];else for(Zt=B-1;Zt>=0;--Zt)Io=Io*V+c[ou+Zt]}Io=Io*I+L,re=Math.max(re,Io),xe=Math.min(xe,Io);let Pr=b.west+W*ls;g?Pr=a(Pr):Pr=Pr*x;let Cs=(Pr-A)/(E-A);Cs=P.clamp(Cs,0,1);let ra=rt*u+ls;if(d>0){let Zt=ks===$t,Ce=ks===Qt-1,ft=Nn||Vi||Zt||Ce;if((Nn||Vi)&&(Zt||Ce))continue;ft&&(Io-=d,Zt?(ra=Ke+(f-rt-1),Pr-=no*k):Vi?ra=Ke+f+(u-ls-1):Ce?(ra=Ke+f+u+rt,Pr+=no*k):Nn&&(ra=Ke+f+u+f+ls))}let zh=cs*t(Pr),Hh=cs*n(Pr),lp=Z*zh,up=J*Hh,fp=1/i(lp*zh+up*Hh+Xr*Yo),Ag=lp*fp,OC=up*fp,Eg=Xr*fp,sa=new h;sa.x=Ag+zh*Io,sa.y=OC+Hh*Io,sa.z=Eg+Yo*Io,F.multiplyByPoint(ye,sa,_K),h.minimumByComponent(_K,Me,Me),h.maximumByComponent(_K,Oe,Oe),ct=Math.min(ct,Io),Dt[ra]=sa,yt[ra]=new z(Cs,An),gt[ra]=Io,R&&(Kt[ra]=io),S&&(Te[ra]=m.geodeticSurfaceNormal(sa))}}let qe=ae.fromPoints(Dt),_r;l(T)&&(_r=In.fromRectangle(T,xe,re,m));let sr;O&&(sr=new O_(m).computeHorizonCullingPointPossiblyUnderEllipsoid(D,Dt,xe));let Ir=new Ug(Me,Oe,D),Be=new Dc(D,Ir,ct,re,_e,!1,R,S,M,N),st=new Float32Array(Ze*Be.stride),$e=0;for(let Ye=0;Ye<Ze;++Ye)$e=Be.encode(st,$e,Dt[Ye],yt[Ye],gt[Ye],void 0,Kt[Ye],Te[Ye]);return{vertices:st,maximumHeight:re,minimumHeight:xe,encoding:Be,boundingSphere3D:qe,orientedBoundingBox:_r,occludeePointInScaledSpace:sr}};var nv=Qm;function E0(){de.throwInstantiationError()}Object.defineProperties(E0.prototype,{credits:{get:de.throwInstantiationError},waterMask:{get:de.throwInstantiationError}});E0.prototype.interpolateHeight=de.throwInstantiationError;E0.prototype.isChildAvailable=de.throwInstantiationError;E0.prototype.createMesh=de.throwInstantiationError;E0.prototype.upsample=de.throwInstantiationError;E0.prototype.wasCreatedByUpsampling=de.throwInstantiationError;E0.maximumAsynchronousTasks=5;var Oh=E0;function yht(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this.center=e,this.vertices=t,this.stride=y(u,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=o,this.minimumHeight=r,this.maximumHeight=s,this.boundingSphere3D=a,this.occludeePointInScaledSpace=c,this.orientedBoundingBox=f,this.encoding=d,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=g,this.eastIndicesNorthToSouth=m,this.northIndicesWestToEast=x}var rd=yht;function ll(){de.throwInstantiationError()}Object.defineProperties(ll.prototype,{errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},hasWaterMask:{get:de.throwInstantiationError},hasVertexNormals:{get:de.throwInstantiationError},availability:{get:de.throwInstantiationError}});var Sxe=[];ll.getRegularGridIndices=function(e,t){let n=Sxe[e];l(n)||(Sxe[e]=n=[]);let i=n[t];return l(i)||(e*t<P.SIXTY_FOUR_KILOBYTES?i=n[t]=new Uint16Array((e-1)*(t-1)*6):i=n[t]=new Uint32Array((e-1)*(t-1)*6),Ixe(e,t,i,0)),i};var vxe=[];ll.getRegularGridIndicesAndEdgeIndices=function(e,t){let n=vxe[e];l(n)||(vxe[e]=n=[]);let i=n[t];if(!l(i)){let o=ll.getRegularGridIndices(e,t),r=Dxe(e,t),s=r.westIndicesSouthToNorth,a=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,u=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:s,southIndicesEastToWest:a,eastIndicesNorthToSouth:c,northIndicesWestToEast:u}}return i};var wxe=[];ll.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){let n=wxe[e];l(n)||(wxe[e]=n=[]);let i=n[t];if(!l(i)){let o=e*t,r=(e-1)*(t-1)*6,s=e*2+t*2,a=Math.max(0,s-4)*6,c=o+s,u=r+a,f=Dxe(e,t),d=f.westIndicesSouthToNorth,p=f.southIndicesEastToWest,g=f.eastIndicesNorthToSouth,m=f.northIndicesWestToEast,x=Fe.createTypedArray(c,u);Ixe(e,t,x,0),ll.addSkirtIndices(d,p,g,m,o,x,r),i=n[t]={indices:x,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:g,northIndicesWestToEast:m,indexCountWithoutSkirts:r}}return i};ll.addSkirtIndices=function(e,t,n,i,o,r,s){let a=o;s=C8(e,a,r,s),a+=e.length,s=C8(t,a,r,s),a+=t.length,s=C8(n,a,r,s),a+=n.length,C8(i,a,r,s)};function Dxe(e,t){let n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e),s;for(s=0;s<e;++s)r[s]=s,i[s]=e*t-1-s;for(s=0;s<t;++s)o[s]=(s+1)*e-1,n[s]=(t-s-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function Ixe(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let s=0;s<e-1;++s){let a=o,c=a+e,u=c+1,f=a+1;n[i++]=a,n[i++]=c,n[i++]=f,n[i++]=f,n[i++]=c,n[i++]=u,++o}++o}}function C8(e,t,n,i){let o=e[0],r=e.length;for(let s=1;s<r;++s){let a=e[s];n[i++]=o,n[i++]=a,n[i++]=t,n[i++]=t,n[i++]=a,n[i++]=t+1,o=a,++t}return i}ll.heightmapTerrainQuality=.25;ll.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return e.maximumRadius*2*Math.PI*ll.heightmapTerrainQuality/(t*n)};ll.prototype.requestTileGeometry=de.throwInstantiationError;ll.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;ll.prototype.getTileDataAvailable=de.throwInstantiationError;ll.prototype.loadTileDataAvailability=de.throwInstantiationError;var rs=ll;function rg(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=y(e.childTileMask,15),this._encoding=y(e.encoding,id.NONE);let t=nv.DEFAULT_STRUCTURE,n=e.structure;l(n)?n!==t&&(n.heightScale=y(n.heightScale,t.heightScale),n.heightOffset=y(n.heightOffset,t.heightOffset),n.elementsPerHeight=y(n.elementsPerHeight,t.elementsPerHeight),n.stride=y(n.stride,t.stride),n.elementMultiplier=y(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=y(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===id.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(rg.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var Pxe="createVerticesFromHeightmap",xht=new yi(Pxe),bht=new yi(Pxe,Oh.maximumAsynchronousTasks);rg.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToNativeRectangle(n,i,o),f=t.tileXYToRectangle(n,i,o),d=c.cartographicToCartesian(se.center(f)),p=this._structure,m=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(m*4,1e3);let b=(a?bht:xht).scheduleTask({heightmap:this._buffer,structure:p,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:u,rectangle:f,relativeToCenter:d,ellipsoid:c,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ii,exaggeration:r,exaggerationRelativeHeight:s,encoding:this._encoding});if(!l(b))return;let T=this;return Promise.resolve(b).then(function(A){let C;T._skirtHeight>0?C=rs.getRegularGridAndSkirtIndicesAndEdgeIndices(A.gridWidth,A.gridHeight):C=rs.getRegularGridIndicesAndEdgeIndices(A.gridWidth,A.gridHeight);let E=A.gridWidth*A.gridHeight;return T._mesh=new rd(d,new Float32Array(A.vertices),C.indices,C.indexCountWithoutSkirts,E,A.minimumHeight,A.maximumHeight,ae.clone(A.boundingSphere3D),h.clone(A.occludeePointInScaledSpace),A.numberOfAttributes,In.clone(A.orientedBoundingBox),Dc.clone(A.encoding),C.westIndicesSouthToNorth,C.southIndicesEastToWest,C.eastIndicesNorthToSouth,C.northIndicesWestToEast),T._buffer=void 0,T._mesh})};rg.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),u=t.tileXYToRectangle(n,i,o),f=a.cartographicToCartesian(se.center(u)),d=this._structure,g=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(g*4,1e3);let m=nv.computeVertices({heightmap:this._buffer,structure:d,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:c,rectangle:u,relativeToCenter:f,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ii,exaggeration:r,exaggerationRelativeHeight:s});this._buffer=void 0;let x;this._skirtHeight>0?x=rs.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):x=rs.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let b=m.gridWidth*m.gridHeight;return this._mesh=new rd(f,m.vertices,x.indices,x.indexCountWithoutSkirts,b,m.minimumHeight,m.maximumHeight,m.boundingSphere3D,m.occludeePointInScaledSpace,m.encoding.stride,m.orientedBoundingBox,m.encoding,x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),this._mesh};rg.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,u=r.isBigEndian,f=r.heightOffset,d=r.heightScale,p=l(this._mesh),g=this._encoding===id.LERC;if(!p&&g)return;let x;if(p){let b=this._mesh.vertices,T=this._mesh.encoding;x=Rxe(b,T,f,d,e,i,o,t,n)}else x=Tht(this._buffer,a,c,s,u,e,i,o,t,n),x=x*d+f;return x};rg.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(a))return;let c=this._width,u=this._height,f=this._structure,d=f.stride,p=new this._bufferType(c*u*d),g=a.vertices,m=a.encoding,x=e.tileXYToRectangle(t,n,i),b=e.tileXYToRectangle(o,r,s),T=f.heightOffset,A=f.heightScale,C=f.elementsPerHeight,E=f.elementMultiplier,v=f.isBigEndian,D=Math.pow(E,C-1);for(let O=0;O<u;++O){let R=P.lerp(b.north,b.south,O/(u-1));for(let M=0;M<c;++M){let N=P.lerp(b.west,b.east,M/(c-1)),_=Rxe(g,m,T,A,x,c,u,N,R);_=_<f.lowestEncodedHeight?f.lowestEncodedHeight:_,_=_>f.highestEncodedHeight?f.highestEncodedHeight:_,Cht(p,C,E,D,d,v,O*c+M,_)}}return Promise.resolve(new rg({buffer:p,width:c,height:u,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};rg.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};rg.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};function Tht(e,t,n,i,o,r,s,a,c,u){let f=(c-r.west)*(s-1)/(r.east-r.west),d=(u-r.south)*(a-1)/(r.north-r.south),p=f|0,g=p+1;g>=s&&(g=s-1,p=s-2);let m=d|0,x=m+1;x>=a&&(x=a-1,m=a-2);let b=f-p,T=d-m;m=a-1-m,x=a-1-x;let A=A8(e,t,n,i,o,m*s+p),C=A8(e,t,n,i,o,m*s+g),E=A8(e,t,n,i,o,x*s+p),v=A8(e,t,n,i,o,x*s+g);return Oxe(b,T,A,C,E,v)}function Rxe(e,t,n,i,o,r,s,a,c){let u=(a-o.west)*(r-1)/(o.east-o.west),f=(c-o.south)*(s-1)/(o.north-o.south),d=u|0,p=d+1;p>=r&&(p=r-1,d=r-2);let g=f|0,m=g+1;m>=s&&(m=s-1,g=s-2);let x=u-d,b=f-g;g=s-1-g,m=s-1-m;let T=(t.decodeHeight(e,g*r+d)-n)/i,A=(t.decodeHeight(e,g*r+p)-n)/i,C=(t.decodeHeight(e,m*r+d)-n)/i,E=(t.decodeHeight(e,m*r+p)-n)/i;return Oxe(x,b,T,A,C,E)}function Oxe(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function A8(e,t,n,i,o,r){r*=i;let s=0,a;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function Cht(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c<t-1;++c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;else for(c=t-1;c>0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var qa=rg;function iv(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Ki({ellipsoid:y(e.ellipsoid,ee.default)})),this._levelZeroMaximumGeometricError=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me}Object.defineProperties(iv.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});iv.prototype.requestTileGeometry=function(e,t,n,i){return Promise.resolve(new qa({buffer:new Uint8Array(16*16),width:16,height:16}))};iv.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};iv.prototype.getTileDataAvailable=function(e,t,n){};iv.prototype.loadTileDataAvailability=function(e,t,n){};var jT=iv;var G2=`uniform vec4 u_initialColor; - -#if TEXTURE_UNITS > 0 -uniform sampler2D u_dayTextures[TEXTURE_UNITS]; -uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; -uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; - -#ifdef APPLY_ALPHA -uniform float u_dayTextureAlpha[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_DAY_NIGHT_ALPHA -uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; -uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_SPLIT -uniform float u_dayTextureSplit[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_BRIGHTNESS -uniform float u_dayTextureBrightness[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_CONTRAST -uniform float u_dayTextureContrast[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_HUE -uniform float u_dayTextureHue[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_SATURATION -uniform float u_dayTextureSaturation[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_GAMMA -uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C -#ifdef APPLY_INVERT_COLOR_MARS3D -uniform bool u_mars3dTextureInvertColor[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_FILTER_COLOR_MARS3D -uniform vec3 u_mars3dTextureFilterColor[TEXTURE_UNITS]; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - -#ifdef APPLY_IMAGERY_CUTOUT -uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_COLOR_TO_ALPHA -uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; -#endif - -uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; -#endif - -#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) -uniform sampler2D u_waterMask; -uniform vec4 u_waterMaskTranslationAndScale; -uniform float u_zoomedOutOceanSpecularIntensity; -#endif - -#ifdef SHOW_OCEAN_WAVES -uniform sampler2D u_oceanNormalMap; -#endif - -#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) -uniform vec2 u_lightingFadeDistance; -#endif - -#ifdef TILE_LIMIT_RECTANGLE -uniform vec4 u_cartographicLimitRectangle; -#endif - -#ifdef GROUND_ATMOSPHERE -uniform vec2 u_nightFadeDistance; -#endif - -#ifdef ENABLE_CLIPPING_PLANES -uniform highp sampler2D u_clippingPlanes; -uniform mat4 u_clippingPlanesMatrix; -uniform vec4 u_clippingPlanesEdgeStyle; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS -uniform highp sampler2D u_clippingDistance; -in vec2 v_clippingPosition; -flat in int v_regionIndex; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) -uniform float u_minimumBrightness; -#endif - -#ifdef COLOR_CORRECT -uniform vec3 u_hsbShift; // Hue, saturation, brightness -#endif - -#ifdef HIGHLIGHT_FILL_TILE -uniform vec4 u_fillHighlightColor; -#endif - -#ifdef TRANSLUCENT -uniform vec4 u_frontFaceAlphaByDistance; -uniform vec4 u_backFaceAlphaByDistance; -uniform vec4 u_translucencyRectangle; -#endif - -#ifdef UNDERGROUND_COLOR -uniform vec4 u_undergroundColor; -uniform vec4 u_undergroundColorAlphaByDistance; -#endif - -#ifdef ENABLE_VERTEX_LIGHTING -uniform float u_lambertDiffuseMultiplier; -uniform float u_vertexShadowDarkness; -#endif - -in vec3 v_positionMC; -in vec3 v_positionEC; -in vec3 v_textureCoordinates; -in vec3 v_normalMC; -in vec3 v_normalEC; - -#ifdef APPLY_MATERIAL -in float v_height; -in float v_slope; -in float v_aspect; -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) -#ifdef APPLY_MARS3D_FLOOD -uniform bool u_mars_flood_enabled; -uniform bool u_mars_flood_only; -uniform vec4 u_mars_flood_rectangle; -uniform highp sampler2D u_mars_flood_texture; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 -#ifdef APPLY_MARS3D_CLIP -uniform bool u_mars_clip_enabled; -uniform bool u_mars_clip_only; -uniform vec4 u_mars_clip_rectangle; -uniform highp sampler2D u_mars_clip_texture; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 -uniform highp float u_mars_inverseTileWidth; -uniform highp vec2 u_mars_cartographicTileRectangle; - -bool inAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture) { - float lo = v_textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; - float la = v_textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; - - float newX = (lo - rectangle.x) / rectangle.z; - float newY = (la - rectangle.y) / rectangle.w; - - if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ - vec4 point = texture(rangeTexture, vec2(newX, newY)); - return point.r > 0.0; - } - - return false; -} -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -in float v_distance; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) -in vec3 v_atmosphereRayleighColor; -in vec3 v_atmosphereMieColor; -in float v_atmosphereOpacity; -#endif - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 -#ifdef APPLY_MARS3D_UPLIFT -uniform vec4 u_mars_uplift_rectangle; -uniform highp sampler2D u_mars_uplift_texture; -uniform bool u_mars_uplift_enabled; -uniform bool u_mars_uplift_hideInsideOrOutside; -#endif -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 - -#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -float interpolateByDistance(vec4 nearFarScalar, float distance) -{ - float startDistance = nearFarScalar.x; - float startValue = nearFarScalar.y; - float endDistance = nearFarScalar.z; - float endValue = nearFarScalar.w; - float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); - return mix(startValue, endValue, t); -} -#endif - -#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) -vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) -{ - return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); -} -#endif - -#ifdef TRANSLUCENT -bool inTranslucencyRectangle() -{ - return - v_textureCoordinates.x > u_translucencyRectangle.x && - v_textureCoordinates.x < u_translucencyRectangle.z && - v_textureCoordinates.y > u_translucencyRectangle.y && - v_textureCoordinates.y < u_translucencyRectangle.w; -} -#endif - -vec4 sampleAndBlend( - vec4 previousColor, - sampler2D textureToSample, - vec2 tileTextureCoordinates, - vec4 textureCoordinateRectangle, - vec4 textureCoordinateTranslationAndScale, - float textureAlpha, - float textureNightAlpha, - float textureDayAlpha, - float textureBrightness, - float textureContrast, - float textureHue, - float textureSaturation, - float textureOneOverGamma, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - bool textureInvertColor, - vec3 texturefilterColor, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - float split, - vec4 colorToAlpha, - float nightBlend) -{ - // This crazy step stuff sets the alpha to 0.0 if this following condition is true: - // tileTextureCoordinates.s < textureCoordinateRectangle.s || - // tileTextureCoordinates.s > textureCoordinateRectangle.p || - // tileTextureCoordinates.t < textureCoordinateRectangle.t || - // tileTextureCoordinates.t > textureCoordinateRectangle.q - // In other words, the alpha is zero if the fragment is outside the rectangle - // covered by this texture. Would an actual 'if' yield better performance? - vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); - textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; - - alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); - textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; - -#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) - textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); -#endif - - vec2 translation = textureCoordinateTranslationAndScale.xy; - vec2 scale = textureCoordinateTranslationAndScale.zw; - vec2 textureCoordinates = tileTextureCoordinates * scale + translation; - vec4 value = texture(textureToSample, textureCoordinates); - vec3 color = value.rgb; - float alpha = value.a; - -#ifdef APPLY_COLOR_TO_ALPHA - vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); - colorDiff.r = czm_maximumComponent(colorDiff); - alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); -#endif - -#if !defined(APPLY_GAMMA) - vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); - color = tempColor.rgb; - alpha = tempColor.a; -#else - color = pow(color, vec3(textureOneOverGamma)); -#endif - -#ifdef APPLY_SPLIT - float splitPosition = czm_splitPosition; - // Split to the left - if (split < 0.0 && gl_FragCoord.x > splitPosition) { - alpha = 0.0; - } - // Split to the right - else if (split > 0.0 && gl_FragCoord.x < splitPosition) { - alpha = 0.0; - } -#endif - -#ifdef APPLY_BRIGHTNESS - color = mix(vec3(0.0), color, textureBrightness); -#endif - -#ifdef APPLY_CONTRAST - color = mix(vec3(0.5), color, textureContrast); -#endif - -#ifdef APPLY_HUE - color = czm_hue(color, textureHue); -#endif - -#ifdef APPLY_SATURATION - color = czm_saturation(color, textureSaturation); -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C -#ifdef APPLY_INVERT_COLOR_MARS3D - if(textureInvertColor) { - color = vec3(1.0 - color.r, 1.0 - color.g, 1.0 - color.b); - } -#endif - -#ifdef APPLY_FILTER_COLOR_MARS3D - if(texturefilterColor.x != 1.0 || texturefilterColor.y != 1.0 || texturefilterColor.z != 1.0) { - color = vec3(color.r * texturefilterColor.x, color.g * texturefilterColor.y, color.b * texturefilterColor.z); - } -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - - float sourceAlpha = alpha * textureAlpha; - float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); - outAlpha += sign(outAlpha) - 1.0; - - vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; - - // When rendering imagery for a tile in multiple passes, - // some GPU/WebGL implementation combinations will not blend fragments in - // additional passes correctly if their computation includes an unmasked - // divide-by-zero operation, - // even if it's not in the output or if the output has alpha zero. - // - // For example, without sanitization for outAlpha, - // this renders without artifacts: - // if (outAlpha == 0.0) { outColor = vec3(0.0); } - // - // but using czm_branchFreeTernary will cause portions of the tile that are - // alpha-zero in the additional pass to render as black instead of blending - // with the previous pass: - // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); - // - // So instead, sanitize against divide-by-zero, - // store this state on the sign of outAlpha, and correct on return. - - return vec4(outColor, max(outAlpha, 0.0)); -} - -vec3 colorCorrect(vec3 rgb) { -#ifdef COLOR_CORRECT - // Convert rgb color to hsb - vec3 hsb = czm_RGBToHSB(rgb); - // Perform hsb shift - hsb.x += u_hsbShift.x; // hue - hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation - hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness - // Convert shifted hsb back to rgb - rgb = czm_HSBToRGB(hsb); -#endif - return rgb; -} - -vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); -vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); - -const float fExposure = 2.0; - -vec3 computeEllipsoidPosition() -{ - float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); - vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); - xy *= czm_viewport.zw * mpp * 0.5; - - vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); - czm_ray ray = czm_ray(vec3(0.0), direction); - - vec3 ellipsoid_center = czm_view[3].xyz; - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); - - vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); - return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; -} - -void main() -{ - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 -#ifdef APPLY_MARS3D_CLIP - if(u_mars_clip_enabled) { - if(u_mars_clip_only) { - if(!inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { - discard; - } - } else { - if(inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { - discard; - } - } - } -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 - -#ifdef TILE_LIMIT_RECTANGLE - if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || - v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) - { - discard; - } -#endif - -#ifdef ENABLE_CLIPPING_PLANES - float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); -#endif - -#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) - vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates - vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordinates -#endif - -#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) - float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); -#else - float nightBlend = 0.0; -#endif - - // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 - // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the - // fragments on the edges of tiles even though the vertex shader is outputting - // coordinates strictly in the 0-1 range. - vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); - -#ifdef SHOW_TILE_BOUNDARIES - if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || - v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) - { - color = vec4(1.0, 0.0, 0.0, 1.0); - } -#endif - -#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) - float cameraDist; - if (czm_sceneMode == czm_sceneMode2D) - { - cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; - } - else if (czm_sceneMode == czm_sceneModeColumbusView) - { - cameraDist = -czm_view[3].z; - } - else - { - cameraDist = length(czm_view[3]); - } - float fadeOutDist = u_lightingFadeDistance.x; - float fadeInDist = u_lightingFadeDistance.y; - if (czm_sceneMode != czm_sceneMode3D) { - vec3 radii = czm_ellipsoidRadii; - float maxRadii = max(radii.x, max(radii.y, radii.z)); - fadeOutDist -= maxRadii; - fadeInDist -= maxRadii; - } - float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); -#else - float fade = 0.0; -#endif - -#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) - vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; - vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; - vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; - waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; - - float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; - - #ifdef SHOW_REFLECTIVE_OCEAN - if (mask > 0.0) - { - mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); - - vec2 ellipsoidTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC); - vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC.zyx); - - vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); - - color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); - } - #endif -#endif - -#ifdef APPLY_MATERIAL - czm_materialInput materialInput; - materialInput.st = v_textureCoordinates.st; - materialInput.normalEC = normalize(v_normalEC); - materialInput.positionToEyeEC = -v_positionEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); - materialInput.slope = v_slope; - materialInput.height = v_height; - materialInput.aspect = v_aspect; - #ifdef HAS_WATER_MASK - materialInput.waterMask = mask; - #endif - - czm_material material = czm_getMaterial(materialInput); - - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - bool hasAlphaBlend = true; - #ifdef APPLY_MARS3D_FLOOD - hasAlphaBlend = !u_mars_flood_enabled || (u_mars_flood_enabled && inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)); - if(u_mars_flood_enabled) { - if(u_mars_flood_only) { - if(! inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)) { - discard; - } - } - } - #endif - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - - if(hasAlphaBlend) { - vec4 materialColor = vec4(material.diffuse, material.alpha); - color = alphaBlend(materialColor, color); - } - -#endif - -#ifdef ENABLE_VERTEX_LIGHTING - float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); - vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); -#elif defined(ENABLE_DAYNIGHT_SHADING) - float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); - diffuseIntensity = mix(1.0, diffuseIntensity, fade); - vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); -#else - vec4 finalColor = color; -#endif - -#ifdef ENABLE_CLIPPING_PLANES - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; - float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; - - if (clipDistance < clippingPlanesEdgeWidth) - { - finalColor = clippingPlanesEdgeColor; - } -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS - vec2 clippingPosition = v_clippingPosition; - int regionIndex = v_regionIndex; - clipPolygons(u_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); -#endif - -#ifdef HIGHLIGHT_FILL_TILE - finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); -#endif - -#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) - vec3 atmosphereLightDirection = czm_sunDirectionWC; -#else - vec3 atmosphereLightDirection = czm_lightDirectionWC; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) - if (!czm_backFacing()) - { - bool dynamicLighting = false; - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) - dynamicLighting = true; - #endif - - vec3 rayleighColor; - vec3 mieColor; - float opacity; - - vec3 positionWC; - vec3 lightDirection; - - // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. - // Otherwise, the scattering is computed in the vertex shader. - #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE - positionWC = computeEllipsoidPosition(); - lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); - computeAtmosphereScattering( - positionWC, - lightDirection, - rayleighColor, - mieColor, - opacity - ); - #else - positionWC = v_positionMC; - lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); - rayleighColor = v_atmosphereRayleighColor; - mieColor = v_atmosphereMieColor; - opacity = v_atmosphereOpacity; - #endif - - #ifdef COLOR_CORRECT - const bool ignoreBlackPixels = true; - rayleighColor = czm_applyHSBShift(rayleighColor, u_hsbShift, ignoreBlackPixels); - mieColor = czm_applyHSBShift(mieColor, u_hsbShift, ignoreBlackPixels); - #endif - - vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); - - // Fog is applied to tiles selected for fog, close to the Earth. - #ifdef FOG - vec3 fogColor = groundAtmosphereColor.rgb; - - // If there is lighting, apply that to the fog. - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) - float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); - fogColor *= darken; - #endif - - #ifndef HDR - fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); - fogColor.rgb = czm_inverseGamma(fogColor.rgb); - #endif - - const float modifier = 0.15; - finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a); - - #else - // Apply ground atmosphere. This happens when the camera is far away from the earth. - - // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. - // This value is larger near the "circumference", as it is further away from the camera. We use it to - // brighten up that area of the ground atmosphere. - const float transmittanceModifier = 0.5; - float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); - - vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; - - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) - float fadeInDist = u_nightFadeDistance.x; - float fadeOutDist = u_nightFadeDistance.y; - - float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); - float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); - vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); - - finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); - #endif - - #ifndef HDR - finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); - #else - finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); - #endif - - finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); - #endif - } -#endif - -#ifdef UNDERGROUND_COLOR - if (czm_backFacing()) - { - float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); - float distance = max(v_distance - distanceFromEllipsoid, 0.0); - float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); - vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); - finalColor = alphaBlend(undergroundColor, finalColor); - } -#endif - -#ifdef TRANSLUCENT - if (inTranslucencyRectangle()) - { - vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; - finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); - } -#endif - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 -#ifdef APPLY_MARS3D_UPLIFT - if(u_mars_uplift_enabled) { - bool isInSlopeRampRectangle = inAreaMars3DRange(u_mars_uplift_rectangle, u_mars_uplift_texture); - if(isInSlopeRampRectangle == u_mars_uplift_hideInsideOrOutside) { - discard; - } - } -#endif - - out_FragColor = finalColor; -} - - -#ifdef SHOW_REFLECTIVE_OCEAN - -float waveFade(float edge0, float edge1, float x) -{ - float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); - return pow(1.0 - y, 5.0); -} - -float linearFade(float edge0, float edge1, float x) -{ - return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); -} - -// Based on water rendering by Jonas Wagner: -// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog - -// low altitude wave settings -const float oceanFrequencyLowAltitude = 825000.0; -const float oceanAnimationSpeedLowAltitude = 0.004; -const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; -const float oceanSpecularIntensity = 0.5; - -// high altitude wave settings -const float oceanFrequencyHighAltitude = 125000.0; -const float oceanAnimationSpeedHighAltitude = 0.008; -const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; - -vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) -{ - vec3 positionToEyeEC = -positionEyeCoordinates; - float positionToEyeECLength = length(positionToEyeEC); - - // The double normalize below works around a bug in Firefox on Android devices. - vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); - - // Fade out the waves as the camera moves far from the surface. - float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); - -#ifdef SHOW_OCEAN_WAVES - // high altitude waves - float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; - vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); - vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); - - // low altitude waves - time = czm_frameNumber * oceanAnimationSpeedLowAltitude; - noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); - vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); - - // blend the 2 wave layers based on distance to surface - float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); - float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); - vec3 normalTangentSpace = - (highAltitudeFade * normalTangentSpaceHighAltitude) + - (lowAltitudeFade * normalTangentSpaceLowAltitude); - normalTangentSpace = normalize(normalTangentSpace); - - // fade out the normal perturbation as we move farther from the water surface - normalTangentSpace.xy *= waveIntensity; - normalTangentSpace = normalize(normalTangentSpace); -#else - vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); -#endif - - vec3 normalEC = enuToEye * normalTangentSpace; - - const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); - - // Use diffuse light to highlight the waves - float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; - vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); - -#ifdef SHOW_OCEAN_WAVES - // Where diffuse light is low or non-existent, use wave highlights based solely on - // the wave bumpiness and no particular light direction. - float tsPerturbationRatio = normalTangentSpace.z; - vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); -#else - vec3 nonDiffuseHighlight = vec3(0.0); -#endif - - // Add specular highlights in 3D, and in all modes when zoomed in. - float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); - float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); - float specular = specularIntensity * surfaceReflectance; - -#ifdef HDR - specular *= 1.4; - - float e = 0.2; - float d = 3.3; - float c = 1.7; - - vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); -#else - vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; -#endif - - return vec4(color, imageryColor.a); -} - -#endif // #ifdef SHOW_REFLECTIVE_OCEAN -`;var W2=`#ifdef QUANTIZATION_BITS12 -in vec4 compressed0; -in float compressed1; -#else -in vec4 position3DAndHeight; -in vec4 textureCoordAndEncodedNormals; -#endif - -#ifdef GEODETIC_SURFACE_NORMALS -in vec3 geodeticSurfaceNormal; -#endif - -#ifdef EXAGGERATION -uniform vec2 u_verticalExaggerationAndRelativeHeight; -#endif - -uniform vec3 u_center3D; -uniform mat4 u_modifiedModelView; -uniform mat4 u_modifiedModelViewProjection; -uniform vec4 u_tileRectangle; - -// Uniforms for 2D Mercator projection -uniform vec2 u_southAndNorthLatitude; -uniform vec2 u_southMercatorYAndOneOverHeight; - -out vec3 v_positionMC; -out vec3 v_positionEC; - -out vec3 v_textureCoordinates; -out vec3 v_normalMC; -out vec3 v_normalEC; - -#ifdef APPLY_MATERIAL -out float v_slope; -out float v_aspect; -out float v_height; -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -out float v_distance; -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) -out vec3 v_atmosphereRayleighColor; -out vec3 v_atmosphereMieColor; -out float v_atmosphereOpacity; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS -uniform highp sampler2D u_clippingExtents; -out vec2 v_clippingPosition; -flat out int v_regionIndex; -#endif - -// These functions are generated at runtime. -vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); -float get2DYPositionFraction(vec2 textureCoordinates); - -vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) -{ - return u_modifiedModelViewProjection * vec4(position, 1.0); -} - -float get2DMercatorYPositionFraction(vec2 textureCoordinates) -{ - // The width of a tile at level 11, in radians and assuming a single root tile, is - // 2.0 * czm_pi / pow(2.0, 11.0) - // We want to just linearly interpolate the 2D position from the texture coordinates - // when we're at this level or higher. The constant below is the expression - // above evaluated and then rounded up at the 4th significant digit. - const float maxTileWidth = 0.003068; - float positionFraction = textureCoordinates.y; - float southLatitude = u_southAndNorthLatitude.x; - float northLatitude = u_southAndNorthLatitude.y; - if (northLatitude - southLatitude > maxTileWidth) - { - float southMercatorY = u_southMercatorYAndOneOverHeight.x; - float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; - - float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); - currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); - positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); - } - return positionFraction; -} - -float get2DGeographicYPositionFraction(vec2 textureCoordinates) -{ - return textureCoordinates.y; -} - -vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) -{ - float yPositionFraction = get2DYPositionFraction(textureCoordinates); - vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); - return u_modifiedModelViewProjection * rtcPosition2D; -} - -vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) -{ - return getPositionPlanarEarth(position, 0.0, textureCoordinates); -} - -vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) -{ - return getPositionPlanarEarth(position, height, textureCoordinates); -} - -vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) -{ - // We do not do RTC while morphing, so there is potential for jitter. - // This is unlikely to be noticeable, though. - vec3 position3DWC = position + u_center3D; - float yPositionFraction = get2DYPositionFraction(textureCoordinates); - vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); - vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); - return czm_modelViewProjection * morphPosition; -} - -#ifdef QUANTIZATION_BITS12 -uniform vec2 u_minMaxHeight; -uniform mat4 u_scaleAndBias; -#endif - - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 -#ifdef APPLY_MARS3D_FLAT -uniform bool u_mars_flat_enabled; -uniform vec4 u_mars_flat_rectangle; -uniform highp sampler2D u_mars_flat_texture; - -uniform highp float u_mars_inverseTileWidth; -uniform highp vec2 u_mars_cartographicTileRectangle; - -vec4 getAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture, vec2 textureCoordinates) { - float lo = textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; - float la = textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; - - float newX = (lo - rectangle.x) / rectangle.z; - float newY = (la - rectangle.y) / rectangle.w; - - vec4 point; - if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ - vec4 point = texture(rangeTexture, vec2(newX, newY)); - return point; - }else{ - return vec4(0.0); - } -} -#endif -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 - - -void main() -{ -#ifdef QUANTIZATION_BITS12 - vec2 xy = czm_decompressTextureCoordinates(compressed0.x); - vec2 zh = czm_decompressTextureCoordinates(compressed0.y); - vec3 position = vec3(xy, zh.x); - float height = zh.y; - vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); - - height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; - position = (u_scaleAndBias * vec4(position, 1.0)).xyz; - -#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y) || defined(APPLY_MATERIAL) - float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; - float encodedNormal = compressed1; -#elif defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; - float encodedNormal = 0.0; -#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) - float webMercatorT = textureCoordinates.y; - float encodedNormal = compressed0.w; -#else - float webMercatorT = textureCoordinates.y; - float encodedNormal = 0.0; -#endif - -#else - // A single float per element - vec3 position = position3DAndHeight.xyz; - float height = position3DAndHeight.w; - vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; - -#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = textureCoordAndEncodedNormals.z; - float encodedNormal = textureCoordAndEncodedNormals.w; -#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) - float webMercatorT = textureCoordinates.y; - float encodedNormal = textureCoordAndEncodedNormals.z; -#elif defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = textureCoordAndEncodedNormals.z; - float encodedNormal = 0.0; -#else - float webMercatorT = textureCoordinates.y; - float encodedNormal = 0.0; -#endif - -#endif - - vec3 position3DWC = position + u_center3D; - -#ifdef GEODETIC_SURFACE_NORMALS - vec3 ellipsoidNormal = geodeticSurfaceNormal; -#else - vec3 ellipsoidNormal = normalize(position3DWC); -#endif - -#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) - float exaggeration = u_verticalExaggerationAndRelativeHeight.x; - float relativeHeight = u_verticalExaggerationAndRelativeHeight.y; - float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; - - // stop from going through center of earth - float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); - newHeight = max(newHeight, -minRadius); - - vec3 offset = ellipsoidNormal * (newHeight - height); - position += offset; - position3DWC += offset; - height = newHeight; -#endif - - // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 -#ifdef APPLY_MARS3D_FLAT - if(u_mars_flat_enabled) { - vec4 isInside = getAreaMars3DRange(u_mars_flat_rectangle,u_mars_flat_texture,textureCoordinates); - if(isInside.r>0.0 || isInside.g>0.0 || isInside.b>0.0 || isInside.a>0.0){ - float newHeight = czm_unpackFloat(isInside); - if(newHeight>-9999.0 && newHeight<9999.0){ - vec3 offset = (newHeight - height) * ellipsoidNormal; - position += offset; - position3DWC += offset; - height = newHeight; - // vec3 newPosition = (position3DWC + offset) - u_center3D; - } - } - } -#endif - // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 - - gl_Position = getPosition(position, height, textureCoordinates); - - v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; - v_positionMC = position3DWC; // position in model coordinates - - v_textureCoordinates = vec3(textureCoordinates, webMercatorT); - -#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) - vec3 normalMC = czm_octDecode(encodedNormal); - -#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) - vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; - vec3 rejection = normalMC - projection; - normalMC = normalize(projection + rejection * exaggeration); -#endif - - v_normalMC = normalMC; - v_normalEC = czm_normal3D * v_normalMC; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS - vec2 sphericalLatLong = czm_approximateSphericalCoordinates(position3DWC); - sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); - - vec2 minDistance = vec2(czm_infinity); - v_clippingPosition = vec2(czm_infinity); - v_regionIndex = -1; - - for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { - vec4 extents = unpackClippingExtents(u_clippingExtents, regionIndex); - vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; - - vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); - vec2 distance = abs(rectUv - clamped) * extents.wz; - - float threshold = 0.01; - if (minDistance.x > distance.x || minDistance.y > distance.y) { - minDistance = distance; - v_clippingPosition = rectUv; - if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { - v_regionIndex = regionIndex; - } - } - } -#endif - -#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) - - bool dynamicLighting = false; - - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) - dynamicLighting = true; - #endif - -#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) - vec3 atmosphereLightDirection = czm_sunDirectionWC; -#else - vec3 atmosphereLightDirection = czm_lightDirectionWC; -#endif - - vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); - - computeAtmosphereScattering( - position3DWC, - lightDirection, - v_atmosphereRayleighColor, - v_atmosphereMieColor, - v_atmosphereOpacity - ); -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) - v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); -#endif - -#ifdef APPLY_MATERIAL - float northPoleZ = czm_ellipsoidRadii.z; - vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); - vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); - float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); - v_slope = acos(dotProd); - vec3 normalRejected = ellipsoidNormal * dotProd; - vec3 normalProjected = v_normalMC - normalRejected; - vec3 aspectVector = normalize(normalProjected); - v_aspect = acos(dot(aspectVector, vectorEastMC)); - float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); - v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); - v_height = height; -#endif -} -`;var sg=`uniform vec3 u_radiiAndDynamicAtmosphereColor; - -uniform float u_atmosphereLightIntensity; -uniform float u_atmosphereRayleighScaleHeight; -uniform float u_atmosphereMieScaleHeight; -uniform float u_atmosphereMieAnisotropy; -uniform vec3 u_atmosphereRayleighCoefficient; -uniform vec3 u_atmosphereMieCoefficient; - -const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. -const int PRIMARY_STEPS_MAX = 16; // Maximum number of times the ray from the camera to the world position (primary ray) is sampled. -const int LIGHT_STEPS_MAX = 4; // Maximum number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - -/** - * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as - * the transmittance value for the ray. - * - * @param {czm_ray} primaryRay The ray from the camera to the position. - * @param {float} primaryRayLength The length of the primary ray. - * @param {vec3} lightDirection The direction of the light to calculate the scattering from. - * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. - * @param {vec3} mieColor The variable the Mie scattering will be written to. - * @param {float} opacity The variable the transmittance will be written to. - * @glslFunction - */ -void computeScattering( - czm_ray primaryRay, - float primaryRayLength, - vec3 lightDirection, - float atmosphereInnerRadius, - out vec3 rayleighColor, - out vec3 mieColor, - out float opacity -) { - - // Initialize the default scattering amounts to 0. - rayleighColor = vec3(0.0); - mieColor = vec3(0.0); - opacity = 0.0; - - float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - - vec3 origin = vec3(0.0); - - // Calculate intersection from the camera to the outer ring of the atmosphere. - czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); - - // Return empty colors if no intersection with the atmosphere geometry. - if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { - return; - } - - // To deal with smaller values of PRIMARY_STEPS (e.g. 4) - // we implement a split strategy: sky or horizon. - // For performance reasons, instead of a if/else branch - // a soft choice is implemented through a weight 0.0 <= w_stop_gt_lprl <= 1.0 - float x = 1e-7 * primaryRayAtmosphereIntersect.stop / length(primaryRayLength); - // Value close to 0.0: close to the horizon - // Value close to 1.0: above in the sky - float w_stop_gt_lprl = 0.5 * (1.0 + czm_approximateTanh(x)); - - // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. - float start_0 = primaryRayAtmosphereIntersect.start; - primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); - // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. - primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); - - // For the number of ray steps, distinguish inside or outside atmosphere (outer space) - // (1) from outer space we have to use more ray steps to get a realistic rendering - // (2) within atmosphere we need fewer steps for faster rendering - float x_o_a = start_0 - ATMOSPHERE_THICKNESS; // ATMOSPHERE_THICKNESS used as an ad-hoc constant, no precise meaning here, only the order of magnitude matters - float w_inside_atmosphere = 1.0 - 0.5 * (1.0 + czm_approximateTanh(x_o_a)); - int PRIMARY_STEPS = PRIMARY_STEPS_MAX - int(w_inside_atmosphere * 12.0); // Number of times the ray from the camera to the world position (primary ray) is sampled. - int LIGHT_STEPS = LIGHT_STEPS_MAX - int(w_inside_atmosphere * 2.0); // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - - // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. - float rayPositionLength = primaryRayAtmosphereIntersect.start; - // (1) Outside the atmosphere: constant rayStepLength - // (2) Inside atmosphere: variable rayStepLength to compensate the rough rendering of the smaller number of ray steps - float totalRayLength = primaryRayAtmosphereIntersect.stop - rayPositionLength; - float rayStepLengthIncrease = w_inside_atmosphere * ((1.0 - w_stop_gt_lprl) * totalRayLength / (float(PRIMARY_STEPS * (PRIMARY_STEPS + 1)) / 2.0)); - float rayStepLength = max(1.0 - w_inside_atmosphere, w_stop_gt_lprl) * totalRayLength / max(7.0 * w_inside_atmosphere, float(PRIMARY_STEPS)); - - vec3 rayleighAccumulation = vec3(0.0); - vec3 mieAccumulation = vec3(0.0); - vec2 opticalDepth = vec2(0.0); - vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); - - // Sample positions on the primary ray. - for (int i = 0; i < PRIMARY_STEPS_MAX; ++i) { - - // The loop should be: for (int i = 0; i < PRIMARY_STEPS; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (i >= PRIMARY_STEPS) { - break; - } - - // Calculate sample position along viewpoint ray. - vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); - - // Calculate height of sample position above ellipsoid. - float sampleHeight = length(samplePosition) - atmosphereInnerRadius; - - // Calculate and accumulate density of particles at the sample position. - vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; - opticalDepth += sampleDensity; - - // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. - czm_ray lightRay = czm_ray(samplePosition, lightDirection); - czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); - - float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); - float lightPositionLength = 0.0; - - vec2 lightOpticalDepth = vec2(0.0); - - // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. - for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { - - // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (j >= LIGHT_STEPS) { - break; - } - - // Calculate sample position along light ray. - vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); - - // Calculate height of the light sample position above ellipsoid. - float lightHeight = length(lightPosition) - atmosphereInnerRadius; - - // Calculate density of photons at the light sample position. - lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; - - // Increment distance on light ray. - lightPositionLength += lightStepLength; - } - - // Compute attenuation via the primary ray and the light ray. - vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); - - // Accumulate the scattering. - rayleighAccumulation += sampleDensity.x * attenuation; - mieAccumulation += sampleDensity.y * attenuation; - - // Increment distance on primary ray. - rayPositionLength += (rayStepLength += rayStepLengthIncrease); - } - - // Compute the scattering amount. - rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; - mieColor = u_atmosphereMieCoefficient * mieAccumulation; - - // Compute the transmittance i.e. how much light is passing through the atmosphere. - opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); -} - -vec4 computeAtmosphereColor( - vec3 positionWC, - vec3 lightDirection, - vec3 rayleighColor, - vec3 mieColor, - float opacity -) { - // Setup the primary ray: from the camera position to the vertex position. - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - - float cosAngle = dot(cameraToPositionWCDirection, lightDirection); - float cosAngleSq = cosAngle * cosAngle; - - float G = u_atmosphereMieAnisotropy; - float GSq = G * G; - - // The Rayleigh phase function. - float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); - // The Mie phase function. - float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); - - // The final color is generated by combining the effects of the Rayleigh and Mie scattering. - vec3 rayleigh = rayleighPhase * rayleighColor; - vec3 mie = miePhase * mieColor; - - vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; - - return vec4(color, opacity); -} -`;var ov=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { - - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); - - float atmosphereInnerRadius = length(positionWC); - - computeScattering( - primaryRay, - length(cameraToPositionWC), - lightDirection, - atmosphereInnerRadius, - rayleighColor, - mieColor, - opacity - ); -} -`;function Aht(e,t,n,i,o,r){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o,this.clippingPolygonShaderState=r}function gK(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function Eht(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case ne.SCENE3D:o=t;break;case ne.SCENE2D:case ne.COLUMBUS_VIEW:o=n;break;case ne.MORPHING:o=i;break}return o}function Sht(e){return e.webgl2?`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { - czm_clipPolygons(clippingDistance, regionsLength, clippingPosition, regionIndex); - }`:`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { - }`}function vht(e){return e.webgl2?`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { - return czm_unpackClippingExtents(extentsTexture, index); - }`:`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { - return vec4(); - }`}function wht(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}gK.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,u=e.applyAlpha,f=e.applyDayNightAlpha,d=e.applySplit,p=e.hasWaterMask,g=e.showReflectiveOcean,m=e.showOceanWaves,x=e.enableLighting,b=e.dynamicAtmosphereLighting,T=e.dynamicAtmosphereLightingFromSun,A=e.showGroundAtmosphere,C=e.perFragmentGroundAtmosphere,E=e.hasVertexNormals,v=e.useWebMercatorProjection,D=e.enableFog,O=e.enableClippingPlanes,R=e.clippingPlanes,M=e.enableClippingPolygons,N=e.clippingPolygons,_=e.clippedByBoundaries,S=e.hasImageryLayerCutout,w=e.colorCorrect,I=e.highlightFillTile,L=e.colorToAlpha,B=e.hasGeodeticSurfaceNormals,U=e.hasExaggeration,V=e.showUndergroundColor,G=e.translucent,k=e.marsOptions||{},Y=0,W="",j=n.renderedMesh.encoding;j.quantization===na.BITS12&&(Y=1,W="QUANTIZATION_BITS12");let J=0,he="";_&&(J=1,he="TILE_LIMIT_RECTANGLE");let xe=0,re="";S&&(xe=1,re="APPLY_IMAGERY_CUTOUT");let _e=t.mode,ye=_e|o<<2|r<<3|s<<4|a<<5|c<<6|u<<7|p<<8|g<<9|m<<10|x<<11|b<<12|T<<13|A<<14|C<<15|E<<16|v<<17|D<<18|Y<<19|d<<20|O<<21|M<<22|J<<23|xe<<24|w<<25|I<<26|L<<27|B<<28|U<<29|V<<30|G<<31|f<<32,De=0;l(R)&&R.length>0&&(De=O?R.clippingPlanesState:0);let ve=0;l(N)&&N.length>0&&(ve=M?N.clippingPolygonsState:0);let Me=n.surfaceShader;if(l(Me)&&Me.numberOfDayTextures===i&&Me.flags===ye&&Me.material===this.material&&Me.clippingShaderState===De&&Me.clippingPolygonShaderState===ve)return Me.shaderProgram;let Oe=this._shadersByTexturesFlags[i];if(l(Oe)||(Oe=this._shadersByTexturesFlags[i]=[]),Me=Oe[ye],!l(Me)||Me.material!==this.material||Me.clippingShaderState!==De||Me.clippingPolygonShaderState!==ve){let ct=this.baseVertexShaderSource.clone(),Ke=this.baseFragmentShaderSource.clone();De!==0&&Ke.sources.unshift(J_(R,t.context)),ve!==0&&(Ke.sources.unshift(Sht(t.context)),ct.sources.unshift(vht(t.context))),k.enableUplift&&Ke.defines.push("APPLY_MARS3D_UPLIFT"),k.enableFlat&&ct.defines.push("APPLY_MARS3D_FLAT"),k.enableClip&&Ke.defines.push("APPLY_MARS3D_CLIP"),k.enableFlood&&Ke.defines.push("APPLY_MARS3D_FLOOD"),ct.defines.push(W),Ke.defines.push(`TEXTURE_UNITS ${i}`,he,re),o&&Ke.defines.push("APPLY_BRIGHTNESS"),r&&Ke.defines.push("APPLY_CONTRAST"),s&&Ke.defines.push("APPLY_HUE"),a&&Ke.defines.push("APPLY_SATURATION"),c&&Ke.defines.push("APPLY_GAMMA"),k.invertColor&&Ke.defines.push("APPLY_INVERT_COLOR_MARS3D"),k.filterColor&&Ke.defines.push("APPLY_FILTER_COLOR_MARS3D"),u&&Ke.defines.push("APPLY_ALPHA"),f&&Ke.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&Ke.defines.push("HAS_WATER_MASK"),g&&(Ke.defines.push("SHOW_REFLECTIVE_OCEAN"),ct.defines.push("SHOW_REFLECTIVE_OCEAN")),m&&Ke.defines.push("SHOW_OCEAN_WAVES"),L&&Ke.defines.push("APPLY_COLOR_TO_ALPHA"),V&&(ct.defines.push("UNDERGROUND_COLOR"),Ke.defines.push("UNDERGROUND_COLOR")),G&&(ct.defines.push("TRANSLUCENT"),Ke.defines.push("TRANSLUCENT")),x&&(E?(ct.defines.push("ENABLE_VERTEX_LIGHTING"),Ke.defines.push("ENABLE_VERTEX_LIGHTING")):(ct.defines.push("ENABLE_DAYNIGHT_SHADING"),Ke.defines.push("ENABLE_DAYNIGHT_SHADING"))),b&&(ct.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),Ke.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),T&&(ct.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),Ke.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),A&&(ct.defines.push("GROUND_ATMOSPHERE"),Ke.defines.push("GROUND_ATMOSPHERE"),C&&(ct.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),Ke.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),ct.defines.push("INCLUDE_WEB_MERCATOR_Y"),Ke.defines.push("INCLUDE_WEB_MERCATOR_Y"),D&&(ct.defines.push("FOG"),Ke.defines.push("FOG")),d&&Ke.defines.push("APPLY_SPLIT"),O&&Ke.defines.push("ENABLE_CLIPPING_PLANES"),M&&(Ke.defines.push("ENABLE_CLIPPING_POLYGONS"),ct.defines.push("ENABLE_CLIPPING_POLYGONS"),N.inverse&&Ke.defines.push("CLIPPING_INVERSE"),Ke.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${N.extentsCount}`),ct.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${N.extentsCount}`)),w&&Ke.defines.push("COLOR_CORRECT"),I&&Ke.defines.push("HIGHLIGHT_FILL_TILE"),B&&ct.defines.push("GEODETIC_SURFACE_NORMALS"),U&&ct.defines.push("EXAGGERATION");let _t=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) - { - vec4 color = initialColor; -`;S&&(_t+=` vec4 cutoutAndColorResult; - bool texelUnclipped; -`);for(let Dt=0;Dt<i;++Dt)S?_t+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${Dt}]; - texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y; - cutoutAndColorResult = sampleAndBlend( -`:_t+=` color = sampleAndBlend( -`,_t+=` color, - u_dayTextures[${Dt}], - u_dayTextureUseWebMercatorT[${Dt}] ? textureCoordinates.xz : textureCoordinates.xy, - u_dayTextureTexCoordsRectangle[${Dt}], - u_dayTextureTranslationAndScale[${Dt}], - ${u?`u_dayTextureAlpha[${Dt}]`:"1.0"}, - ${f?`u_dayTextureNightAlpha[${Dt}]`:"1.0"}, -${f?`u_dayTextureDayAlpha[${Dt}]`:"1.0"}, -${o?`u_dayTextureBrightness[${Dt}]`:"0.0"}, - ${r?`u_dayTextureContrast[${Dt}]`:"0.0"}, - ${s?`u_dayTextureHue[${Dt}]`:"0.0"}, - ${a?`u_dayTextureSaturation[${Dt}]`:"0.0"}, - ${c?`u_dayTextureOneOverGamma[${Dt}]`:"0.0"}, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - ${k.invertColor?`u_mars3dTextureInvertColor[${Dt}]`:"false"}, - ${k.filterColor?`u_mars3dTextureFilterColor[${Dt}]`:"vec3(1.0)"}, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - ${d?`u_dayTextureSplit[${Dt}]`:"0.0"}, - ${L?`u_colorsToAlpha[${Dt}]`:"vec4(0.0)"}, - nightBlend ); -`,S&&(_t+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color); -`);_t+=` return color; - }`,Ke.sources.push(_t),ct.sources.push(Eht(_e)),ct.sources.push(wht(v));let Ze=an.fromCache({context:t.context,vertexShaderSource:ct,fragmentShaderSource:Ke,attributeLocations:j.getAttributeLocations()});Me=Oe[ye]=new Aht(i,ye,this.material,Ze,De,ve)}return n.surfaceShader=Me,Me.shaderProgram};gK.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!l(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],l(t)&&t.shaderProgram.destroy())}return ue(this)};var j2=gK;var Dht={NONE:-1,PARTIAL:0,FULL:1},pr=Object.freeze(Dht);var Iht={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},ei=Object.freeze(Iht);var Pht={START:0,LOADING:1,DONE:2,FAILED:3},ia=Object.freeze(Pht);var Rht={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},po=Object.freeze(Rht);function or(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=po.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new ae,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(or.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===po.RECEIVING||e===po.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!l(s.loadingImagery)||s.loadingImagery.state!==ei.TRANSITIONING}return n}},renderedMesh:{get:function(){if(l(this.vertexArray))return this.mesh;if(l(this.fill))return this.fill.mesh}}});var Oht=new fe;function yK(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(l(t)&&t!==ne.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,Oht);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var Mht=new h,Lht=new h,Nht=new h;or.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!l(r))return;let s=r.vertices,a=r.indices,c=r.encoding,u=a.length,f=Number.MAX_VALUE;for(let d=0;d<u;d+=3){let p=a[d],g=a[d+1],m=a[d+2],x=yK(c,t,n,s,p,Mht),b=yK(c,t,n,s,g,Lht),T=yK(c,t,n,s,m,Nht),A=ni.rayTriangleParametric(e,x,b,T,i);l(A)&&A<f&&A>=0&&(f=A)}return f!==Number.MAX_VALUE?gn.getPoint(e,f,o):void 0};or.prototype.freeResources=function(){l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=po.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};or.prototype.freeVertexArray=function(){or._freeVertexArray(this.vertexArray),this.vertexArray=void 0,or._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};or.initialize=function(e,t,n){let i=e.data;l(i)||(i=e.data=new or),e.state===ia.START&&(Fht(e,t,n),e.state=ia.LOADING)};or.processStateMachine=function(e,t,n,i,o,r,s){or.initialize(e,n,i);let a=e.data;if(e.state===ia.LOADING&&Bht(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=l(a.vertexArray);let u=a.terrainState===po.READY;e.upsampledFromParent=l(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let f=a.processImagery(e,n,t);if(u&&f){let d=e._loadedCallbacks,p={};for(let g in d)d.hasOwnProperty(g)&&(d[g](e)||(p[g]=d[g]));e._loadedCallbacks=p,e.state=ia.DONE}c&&(e.renderable=!0)};or.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,u,f;for(u=0,f=c.length;u<f;++u){let d=c[u];if(!l(d.loadingImagery)){r=!1;continue}if(d.loadingImagery.state===ei.PLACEHOLDER){let g=d.loadingImagery.imageryLayer;if(g.ready){d.freeResources(),c.splice(u,1),g._createTileImagerySkeletons(e,t,u),--u,f=c.length;continue}else r=!1}let p=d.processStateMachine(e,n,i);a=a&&p,s=s||p||l(d.readyImagery),r=r&&l(d.loadingImagery)&&(d.loadingImagery.state===ei.FAILED||d.loadingImagery.state===ei.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function Mxe(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=Dc.clone(s);c.hasGeodeticSurfaceNormals=t,c=Dc.clone(c);let u=c.stride,f=new Float32Array(a*u);t?s.addGeodeticSurfaceNormals(r,f,n):s.removeGeodeticSurfaceNormals(r,f),o.vertices=f,o.stride=u,o!==e.mesh?(or._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=or._createVertexArrayForMesh(i.context,o)):(or._freeVertexArray(e.vertexArray),e.vertexArray=or._createVertexArrayForMesh(i.context,o)),or._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}or.prototype.addGeodeticSurfaceNormals=function(e,t){Mxe(this,!0,e,t)};or.prototype.removeGeodeticSurfaceNormals=function(e){Mxe(this,!1,void 0,e)};or.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.verticalExaggeration,s=t.verticalExaggerationRelativeHeight,a=r!==1,c=o.encoding,u=c.exaggeration!==r,f=c.exaggerationRelativeHeight!==s;if(u||f){if(u)if(a&&!c.hasGeodeticSurfaceNormals){let d=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(d,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let d=e.customData,p=d.length;for(let g=0;g<p;g++){let m=d[g];m.level=-1}}}};function Fht(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!l(i)&&l(e.parent)){let o=e.parent,r=o.data;l(r)&&l(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=po.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function Bht(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===po.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||or.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===po.FAILED&&kht(s,e,t,n,e.x,e.y,e.level),s.terrainState===po.UNLOADED&&Vht(s,n,e.x,e.y,e.level),s.terrainState===po.RECEIVED&&zht(s,t,n,e.x,e.y,e.level),s.terrainState===po.TRANSFORMED&&(Hht(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=po.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)Wht(t.context,s);else{let u=s._findAncestorTileWithTerrainData(e);l(u)&&l(u.data.waterMaskTexture)&&(s.waterMaskTexture=u.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,u,s.waterMaskTranslationAndScale))}}function kht(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=ia.FAILED;return}let c=a.data.terrainData,u=a.x,f=a.y,d=a.level;if(!l(c))return;let p=c.upsample(i.tilingScheme,u,f,d,o,r,s);l(p)&&(e.terrainState=po.RECEIVING,Promise.resolve(p).then(function(g){l(g)&&(e.terrainData=g,e.terrainState=po.RECEIVED)}).catch(function(){e.terrainState=po.FAILED}))}function Vht(e,t,n,i,o){function r(c){if(!l(c)){e.terrainState=po.UNLOADED,e.request=void 0;return}e.terrainData=c,e.terrainState=po.RECEIVED,e.request=void 0}function s(c){if(e.request.state===ti.CANCELLED){e.terrainData=void 0,e.terrainState=po.UNLOADED,e.request=void 0;return}e.terrainState=po.FAILED,e.request=void 0;let u=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=Do.reportError(t._requestError,t,t.errorEvent,u,n,i,o),t._requestError.retry&&a()}function a(){let c=new Xo({throttle:!1,throttleByServer:!0,type:us.TERRAIN});e.request=c;let u=t.requestTileGeometry(n,i,o,c);l(u)?(e.terrainState=po.RECEIVING,Promise.resolve(u).then(function(f){r(f)}).catch(function(f){s(f)})):(e.terrainState=po.UNLOADED,e.request=void 0)}a()}var Uht={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function zht(e,t,n,i,o,r){let s=n.tilingScheme,a=Uht;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.verticalExaggeration,a.exaggerationRelativeHeight=t.verticalExaggerationRelativeHeight,a.throttle=!0;let u=e.terrainData.createMesh(a);l(u)&&(e.terrainState=po.TRANSFORMING,Promise.resolve(u).then(function(f){e.mesh=f,e.terrainState=po.TRANSFORMED}).catch(function(){e.terrainState=po.FAILED}))}or._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=pt.createVertexBuffer({context:e,typedArray:n,usage:ke.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!l(s)||s.isDestroyed()){let a=t.indices;s=pt.createIndexBuffer({context:e,typedArray:a,usage:ke.STATIC_DRAW,indexDatatype:Fe.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new pi({context:e,attributes:o,indexBuffer:s})};or._freeVertexArray=function(e){if(l(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),l(t)&&!t.isDestroyed()&&l(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function Hht(e,t,n,i,o,r,s){e.vertexArray=or._createVertexArrayForMesh(t,e.mesh),e.terrainState=po.READY,e.fill=e.fill&&e.fill.destroy(s)}function Ght(e){let t=e.cache.tile_waterMaskData;if(!l(t)){let n=Mt.create({context:e,pixelFormat:ot.LUMINANCE,pixelDatatype:Je.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.LINEAR,magnificationFilter:mi.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function Wht(e,t){let n=t.terrainData.waterMask,i=Ght(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=Mt.create({context:e,pixelFormat:ot.LUMINANCE,pixelDatatype:Je.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,oe.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}or.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;l(t)&&(!l(t.data)||!l(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};or.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var sd=or;var q2=`uniform sampler2D u_texture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = texture(u_texture, v_textureCoordinates); -} -`;var Y2=`in vec4 position; -in float webMercatorT; - -uniform vec2 u_textureDimensions; - -out vec2 v_textureCoordinates; - -void main() -{ - v_textureCoordinates = vec2(position.x, webMercatorT); - gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); -} -`;function rv(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=ei.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!l(o)&&e.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}rv.createPlaceholder=function(e){let t=new rv(e,0,0,0);return t.addReference(),t.state=ei.PLACEHOLDER,t};rv.prototype.addReference=function(){++this.referenceCount};rv.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),l(this.parent)&&this.parent.releaseReference(),l(this.image)&&l(this.image.destroy)&&this.image.destroy(),l(this.texture)&&this.texture.destroy(),l(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),ue(this),0):this.referenceCount};rv.prototype.processStateMachine=function(e,t,n){this.state===ei.UNLOADED&&!n&&(this.state=ei.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===ei.RECEIVED&&(this.state=ei.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===ei.READY&&t&&!this.texture;(this.state===ei.TEXTURE_LOADED||i)&&(this.state=ei.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var sv=rv;function xK(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}xK.prototype.freeResources=function(){l(this.readyImagery)&&this.readyImagery.releaseReference(),l(this.loadingImagery)&&this.loadingImagery.releaseReference()};xK.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===ei.READY)return l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;l(r)&&(r.state!==ei.READY||!this.useWebMercatorT&&!l(r.texture));)r.state!==ei.FAILED&&r.state!==ei.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,l(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===ei.FAILED||i.state===ei.INVALID?l(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var av=xK;function Ai(e,t){this._imageryProvider=e,this._readyEvent=new me,this._errorEvent=new me,t=y(t,y.EMPTY_OBJECT),e=y(e,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e._defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e._defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e._defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e._defaultBrightness,Ai.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e._defaultContrast,Ai.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e._defaultHue,Ai.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e._defaultSaturation,Ai.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e._defaultGamma,Ai.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,Ai.DEFAULT_SPLIT),this.minificationFilter=y(t.minificationFilter,y(e._defaultMinificationFilter,Ai.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e._defaultMagnificationFilter,Ai.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,se.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new av(sv.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,Ai.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD),this._marsOptions=y(t.marsOptions,{}),this._initByMars3D&&this._initByMars3D(e,t)}Object.defineProperties(Ai.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return l(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});Ai.DEFAULT_BRIGHTNESS=1;Ai.DEFAULT_CONTRAST=1;Ai.DEFAULT_HUE=0;Ai.DEFAULT_SATURATION=1;Ai.DEFAULT_GAMMA=1;Ai.DEFAULT_SPLIT=Nr.NONE;Ai.DEFAULT_MINIFICATION_FILTER=Jt.LINEAR;Ai.DEFAULT_MAGNIFICATION_FILTER=mi.LINEAR;Ai.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;Ai.fromProviderAsync=function(e,t){let n=new Ai(void 0,t);return Kht(n,Promise.resolve(e)),n};Ai.fromWorldImagery=function(e){return e=y(e,y.EMPTY_OBJECT),Ai.fromProviderAsync(og({style:e.style}),e)};Ai.prototype.isBaseLayer=function(){return this._isBaseLayer};Ai.prototype.isDestroyed=function(){return!1};Ai.prototype.destroy=function(){return ue(this)};var Fxe=new se,Lxe=new se,bK=new se,Bxe=new se;Ai.prototype.getImageryRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return se.intersection(e.rectangle,t)};Ai.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(!l(t)||l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;l(n)||(n=i.imagery.length);let o=this._imageryProvider;if(!this.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Pi&&e.rectangle.north<Pi.MaximumLatitude&&e.rectangle.south>-Pi.MaximumLatitude,s=se.intersection(o.rectangle,this._rectangle,Fxe),a=se.intersection(e.rectangle,s,Lxe);if(!l(a)){if(!this.isBaseLayer())return!1;let w=s,I=e.rectangle;a=Lxe,I.south>=w.north?a.north=a.south=w.north:I.north<=w.south?a.north=a.south=w.south:(a.south=Math.max(I.south,w.south),a.north=Math.min(I.north,w.north)),I.west>=w.east?a.west=a.east=w.east:I.east<=w.west?a.west=a.east=w.west:(a.west=Math.max(I.west,w.west),a.east=Math.min(I.east,w.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let f=1*t.getLevelMaximumGeometricError(e.level),d=Yht(this,f,c);d=Math.max(0,d);let p=o.maximumLevel;if(d>p&&(d=p),l(o.minimumLevel)){let w=o.minimumLevel;d<w&&(d=w)}let g=o.tilingScheme,m=g.positionToTileXY(se.northwest(a),d),x=g.positionToTileXY(se.southeast(a),d),b=e.rectangle.width/512,T=e.rectangle.height/512,A=g.tileXYToRectangle(m.x,m.y,d);Math.abs(A.south-e.rectangle.north)<T&&m.y<x.y&&++m.y,Math.abs(A.east-e.rectangle.west)<b&&m.x<x.x&&++m.x;let C=g.tileXYToRectangle(x.x,x.y,d);Math.abs(C.north-e.rectangle.south)<T&&x.y>m.y&&--x.y,Math.abs(C.west-e.rectangle.east)<b&&x.x>m.x&&--x.x;let E=se.clone(e.rectangle,Bxe),v=g.tileXYToRectangle(m.x,m.y,d),D=se.intersection(v,s,bK),O;r?(g.rectangleToNativeRectangle(E,E),g.rectangleToNativeRectangle(v,v),g.rectangleToNativeRectangle(D,D),g.rectangleToNativeRectangle(s,s),O=g.tileXYToNativeRectangle.bind(g),b=E.width/512,T=E.height/512):O=g.tileXYToRectangle.bind(g);let R,M=0,N=1,_;!this.isBaseLayer()&&Math.abs(D.west-E.west)>=b&&(M=Math.min(1,(D.west-E.west)/E.width)),!this.isBaseLayer()&&Math.abs(D.north-E.north)>=T&&(N=Math.max(0,(D.north-E.south)/E.height));let S=N;for(let w=m.x;w<=x.x;w++)if(R=M,v=O(w,m.y,d),D=se.simpleIntersection(v,s,bK),!!l(D)){M=Math.min(1,(D.east-E.west)/E.width),w===x.x&&(this.isBaseLayer()||Math.abs(D.east-E.east)<b)&&(M=1),N=S;for(let I=m.y;I<=x.y;I++){if(_=N,v=O(w,I,d),D=se.simpleIntersection(v,s,bK),!l(D))continue;N=Math.max(0,(D.south-E.south)/E.height),I===x.y&&(this.isBaseLayer()||Math.abs(D.south-E.south)<T)&&(N=0);let L=new oe(R,N,M,_),B=this.getImageryFromCache(w,I,d);i.imagery.splice(n,0,new av(B,L,r)),++n}}return!0};Ai.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,Fxe),i=c.rectangleToNativeRectangle(i,Bxe)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new oe(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};Ai.prototype._requestImagery=function(e){if(l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return e.state=ei.FAILED,e.request=void 0,!1;if(l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return e.state=ei.FAILED,e.request=void 0,!1;let t=this._imageryProvider,n=this;function i(s){if(!l(s))return o();e.image=s,e.state=ei.RECEIVED,e.request=void 0,Do.reportSuccess(n._requestImageError),n._marsOptions.onAddTileSuccess&&n._marsOptions.onAddTileSuccess(e)}function o(s){if(e.request.state===ti.CANCELLED){e.state=ei.UNLOADED,e.request=void 0;return}e.state=ei.FAILED,e.request=void 0;let a=`\u65E0\u6CD5\u83B7\u5F97\u56FE\u5757 x:${e.x},y: ${e.y},z:${e.level}. `;t._resource&&t._resource._last_url&&(a+=t._resource._last_url),n._requestImageError=Do.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r(),n._marsOptions.onAddTileError&&n._marsOptions.onAddTileError(e)}function r(){let s=new Xo({throttle:!1,throttleByServer:!0,type:us.IMAGERY});e.request=s,e.state=ei.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!l(a)){e.state=ei.UNLOADED,e.request=void 0;return}l(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),n._marsOptions.onAddTile&&n._marsOptions.onAddTile(e),a.then?a.then(function(c){i(c)}).catch(function(c){o(c)}):i(a)}r()};Ai.prototype._createTextureWebGL=function(e,t){let n=new en({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return l(i.internalFormat)?new Mt({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new Mt({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?ot.RGBA:ot.RGB,sampler:n})};Ai.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(l(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(l(r)){if(!r.isReady()){t.state=ei.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=ei.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Pi?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=ei.TEXTURE_LOADED};function Nxe(e,t,n){return`${e}:${t}:${n}`}Ai.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===Jt.LINEAR&&i===mi.LINEAR&&!ot.isCompressedFormat(t.pixelFormat)&&P.isPowerOfTwo(t.width)&&P.isPowerOfTwo(t.height)){n=Jt.LINEAR_MIPMAP_LINEAR;let r=kt.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=Nxe(n,i,s),c=e.cache.imageryLayerMipmapSamplers;l(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let u=c[a];l(u)||(u=c[a]=new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(Qh.NICEST),t.sampler=u}else{let r=Nxe(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;l(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];l(a)||(a=s[r]=new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};Ai.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof Ii)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new gd({persists:!0,owner:this,preExecute:function(c){qht(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=ei.READY,t.releaseReference()},canceled:function(){t.state=ei.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=ei.READY};Ai.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};Ai.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){l(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};Ai.prototype.getImageryFromCache=function(e,t,n,i){let o=kxe(e,t,n),r=this._imageryCache[o];return l(r)||(r=new sv(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};Ai.prototype.removeImageryFromCache=function(e){this._marsOptions.onRemoveTile&&this._marsOptions.onRemoveTile(e);let t=kxe(e.x,e.y,e.level);delete this._imageryCache[t]};function kxe(e,t,n){return JSON.stringify([e,t,n])}var E8={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new z,texture:void 0},jht=Gt.supportsTypedArrays()?new Float32Array(2*64):void 0;function qht(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!l(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){l(this.framebuffer)&&this.framebuffer.destroy(),l(this.vertexArray)&&this.vertexArray.destroy(),l(this.shaderProgram)&&this.shaderProgram.destroy()}};let b=new Float32Array(2*64*2),T=0;for(let D=0;D<64;++D){let O=D/63;b[T++]=0,b[T++]=O,b[T++]=1,b[T++]=O}let A={position:0,webMercatorT:1},C=rs.getRegularGridIndices(2,64),E=pt.createIndexBuffer({context:t,typedArray:C,usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});o.vertexArray=new pi({context:t,attributes:[{index:A.position,vertexBuffer:pt.createVertexBuffer({context:t,typedArray:b,usage:ke.STATIC_DRAW}),componentsPerAttribute:2},{index:A.webMercatorT,vertexBuffer:pt.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:ke.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:E});let v=new ze({sources:[Y2]});o.shaderProgram=an.fromCache({context:t,vertexShaderSource:v,fragmentShaderSource:q2,attributeLocations:A}),o.sampler=new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.LINEAR,magnificationFilter:mi.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;E8.textureDimensions.x=r,E8.textureDimensions.y=s,E8.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let f=1/(.5*Math.log((1+a)/(1-a))-c),d=new Mt({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});P.isPowerOfTwo(r)&&P.isPowerOfTwo(s)&&d.generateMipmap(Qh.NICEST);let p=i.south,g=i.north,m=jht,x=0;for(let b=0;b<64;++b){let T=b/63,A=P.lerp(p,g,T);a=Math.sin(A);let E=(.5*Math.log((1+a)/(1-a))-c)*f;m[x++]=E,m[x++]=E}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(m),e.shaderProgram=o.shaderProgram,e.outputTexture=d,e.uniformMap=E8,e.vertexArray=o.vertexArray}function Yht(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof Ii?1:Math.cos(n),a=o.rectangle,u=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,f=Math.log(u)/Math.log(2);return Math.round(f)|0}function Xht(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function Kht(e,t){let n;try{if(n=await Promise.resolve(t),e.isDestroyed())return;e._imageryProvider=n,e._readyEvent.raiseEvent(n)}catch(i){Xht(e._errorEvent,i)}}var Aa=Ai;var Zht={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},yn=Zht;var Vxe={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=Vxe.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},$n=Vxe;function lv(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe}lv.prototype.update=function(e,t,n){this.changedThisFrame&&(qxe(e,t,this.tile,n),this.changedThisFrame=!1)};lv.prototype.destroy=function(e){this._destroyVertexArray(e),l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};lv.prototype._destroyVertexArray=function(e){l(this.vertexArray)&&(l(e)?e.push(this.vertexArray):sd._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var $ht=new dy;lv.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=$ht;a.clear();for(let u=0;u<t.length;++u){let f=t[u];l(f.data.vertexArray)&&a.enqueue(t[u])}let c=a.dequeue();for(;c!==void 0;){let u=c.findTileToWest(r),f=c.findTileToSouth(r),d=c.findTileToEast(r),p=c.findTileToNorth(r);Fs(e,n,c,u,s,yn.EAST,!1,a,i),Fs(e,n,c,f,s,yn.NORTH,!1,a,i),Fs(e,n,c,d,s,yn.WEST,!1,a,i),Fs(e,n,c,p,s,yn.SOUTH,!1,a,i);let g=u.findTileToNorth(r),m=u.findTileToSouth(r),x=d.findTileToNorth(r),b=d.findTileToSouth(r);Fs(e,n,c,g,s,yn.SOUTHEAST,!1,a,i),Fs(e,n,c,x,s,yn.SOUTHWEST,!1,a,i),Fs(e,n,c,m,s,yn.NORTHEAST,!1,a,i),Fs(e,n,c,b,s,yn.NORTHWEST,!1,a,i),c=a.dequeue()}};function Fs(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let u=i;for(;u&&(u._lastSelectionResultFrame!==o||$n.wasKicked(u._lastSelectionResult)||$n.originalResult(u._lastSelectionResult)===$n.CULLED);){if(s)return;let f=u.parent;if(r>=yn.NORTHWEST&&f!==void 0)switch(r){case yn.NORTHWEST:u=u===f.northwestChild?f:void 0;break;case yn.NORTHEAST:u=u===f.northeastChild?f:void 0;break;case yn.SOUTHWEST:u=u===f.southwestChild?f:void 0;break;case yn.SOUTHEAST:u=u===f.southeastChild?f:void 0;break}else u=f}if(u!==void 0){if(u._lastSelectionResult===$n.RENDERED){if(l(u.data.vertexArray))return;Qht(e,t,n,u,r,o,a,c);return}if($n.originalResult(i._lastSelectionResult)!==$n.CULLED)switch(r){case yn.WEST:Fs(e,t,n,i.northwestChild,o,r,!0,a,c),Fs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case yn.EAST:Fs(e,t,n,i.southeastChild,o,r,!0,a,c),Fs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case yn.SOUTH:Fs(e,t,n,i.southwestChild,o,r,!0,a,c),Fs(e,t,n,i.southeastChild,o,r,!0,a,c);break;case yn.NORTH:Fs(e,t,n,i.northeastChild,o,r,!0,a,c),Fs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case yn.NORTHWEST:Fs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case yn.NORTHEAST:Fs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case yn.SOUTHWEST:Fs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case yn.SOUTHEAST:Fs(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new de("Invalid edge")}}}function Qht(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new lv(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),Jht(e,t,n,i,o,a)}function Jht(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;l(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(qxe(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let u,f;switch(o){case yn.WEST:u=s.westMeshes,f=s.westTiles;break;case yn.SOUTH:u=s.southMeshes,f=s.southTiles;break;case yn.EAST:u=s.eastMeshes,f=s.eastTiles;break;case yn.NORTH:u=s.northMeshes,f=s.northTiles;break;case yn.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case yn.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case yn.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case yn.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||u[0]!==a||u.length!==1,u[0]=a,f[0]=n,u.length=1,f.length=1;return}let d,p,g,m,x=n.rectangle,b,T=i.rectangle;switch(o){case yn.WEST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.north,m.south,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.south,m.north,b));++p);break;case yn.SOUTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.west,m.east,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.east,m.west,b));++p);break;case yn.EAST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.south,m.north,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.north,m.south,b));++p);break;case yn.NORTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.east,m.west,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.west,m.east,b));++p);break}p-d===1?(s.changedThisFrame=s.changedThisFrame||u[d]!==a,u[d]=a,f[d]=n):(s.changedThisFrame=!0,u.splice(d,p-d,a),f.splice(d,p-d,n))}var qT=new fe,emt=new fe,cv=new h,EK=new h,TK=new z,CK=new z,Qu=new z;function R8(){this.height=0,this.encodedNormal=new z}function S8(e,t,n,i,o,r,s,a,c){if(l(o))return o;let u;if(l(r)&&l(s))u=(r.height+s.height)*.5;else if(l(r))u=r.height;else if(l(s))u=s.height;else if(l(a))u=a.height;else{let d=e.tile.data.tileBoundingRegion,p=0,g=0;l(d)&&(p=d.minimumHeight,g=d.maximumHeight),u=(p+g)*.5}return Yxe(e,t,n,i,u,c),c}var tmt={minimumHeight:0,maximumHeight:0},nmt=new h,Uxe=new R8,zxe=new R8,Hxe=new R8,Gxe=new R8,imt=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,omt={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function qxe(e,t,n,i){sd.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.verticalExaggeration,c=t.verticalExaggerationRelativeHeight,u=a!==1,f=n.tilingScheme.ellipsoid,d=w8(r,f,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,Hxe),p=w8(r,f,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,Uxe),g=w8(r,f,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,zxe),m=w8(r,f,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,Gxe);d=S8(r,f,0,1,d,p,m,g,Hxe),p=S8(r,f,0,0,p,d,g,m,Uxe),g=S8(r,f,1,1,g,p,m,d,zxe),m=S8(r,f,1,1,m,g,d,p,Gxe);let x=p.height,b=g.height,T=d.height,A=m.height,C=Math.min(x,b,T,A),E=Math.max(x,b,T,A),v=(C+E)*.5,D,O,R=e.getLevelMaximumGeometricError(n.level),M=f.maximumRadius-R,N=Math.acos(M/f.maximumRadius)*4;if(N*=1.5,s.width>N&&E-C<=R){let w=new qa({width:9,height:9,buffer:imt,structure:{heightOffset:E}}),I=omt;I.tilingScheme=n.tilingScheme,I.x=n.x,I.y=n.y,I.level=n.level,I.exaggeration=a,I.exaggerationRelativeHeight=c,r.mesh=w._createMeshSync(I)}else{let w=u,I=se.center(s,emt);I.height=v;let L=f.cartographicToCartesian(I,nmt),B=new Dc(L,void 0,void 0,void 0,void 0,!0,!0,w,a,c),U=5,V;for(V=r.westMeshes,D=0,O=V.length;D<O;++D)U+=V[D].eastIndicesNorthToSouth.length;for(V=r.southMeshes,D=0,O=V.length;D<O;++D)U+=V[D].northIndicesWestToEast.length;for(V=r.eastMeshes,D=0,O=V.length;D<O;++D)U+=V[D].westIndicesSouthToNorth.length;for(V=r.northMeshes,D=0,O=V.length;D<O;++D)U+=V[D].southIndicesEastToWest.length;let G=tmt;G.minimumHeight=C,G.maximumHeight=E;let k=B.stride,Y=new Float32Array(U*k),W=0,Q=W;W=v8(f,s,B,Y,W,0,1,d.height,d.encodedNormal,1,G),W=I8(r,f,B,Y,W,r.westTiles,r.westMeshes,yn.EAST,G);let j=W;W=v8(f,s,B,Y,W,0,0,p.height,p.encodedNormal,0,G),W=I8(r,f,B,Y,W,r.southTiles,r.southMeshes,yn.NORTH,G);let Z=W;W=v8(f,s,B,Y,W,1,0,g.height,g.encodedNormal,0,G),W=I8(r,f,B,Y,W,r.eastTiles,r.eastMeshes,yn.WEST,G);let J=W;W=v8(f,s,B,Y,W,1,1,m.height,m.encodedNormal,1,G),W=I8(r,f,B,Y,W,r.northTiles,r.northMeshes,yn.SOUTH,G),C=G.minimumHeight,E=G.maximumHeight;let he=In.fromRectangle(s,C,E,n.tilingScheme.ellipsoid),xe=Pi.geodeticLatitudeToMercatorAngle(s.south),re=1/(Pi.geodeticLatitudeToMercatorAngle(s.north)-xe),_e=(Pi.geodeticLatitudeToMercatorAngle(I.latitude)-xe)*re,ye=f.geodeticSurfaceNormalCartographic(qT,EK),De=Fn.octEncode(ye,TK),ve=W;B.encode(Y,W*k,he.center,z.fromElements(.5,.5,Qu),v,De,_e,ye),++W;let Me=W,Oe=Me<256?1:2,ct=(Me-1)*3,Ke=ct*Oe,_t=(Y.length-Me*k)*Float32Array.BYTES_PER_ELEMENT,Ze;if(_t>=Ke){let Ae=Me*k*Float32Array.BYTES_PER_ELEMENT;Ze=Me<256?new Uint8Array(Y.buffer,Ae,ct):new Uint16Array(Y.buffer,Ae,ct)}else Ze=Me<256?new Uint8Array(ct):new Uint16Array(ct);Y=new Float32Array(Y.buffer,0,Me*k);let Dt=0;for(D=0;D<Me-2;++D)Ze[Dt++]=ve,Ze[Dt++]=D,Ze[Dt++]=D+1;Ze[Dt++]=ve,Ze[Dt++]=D,Ze[Dt++]=0;let gt=[];for(D=j;D>=Q;--D)gt.push(D);let yt=[];for(D=Z;D>=j;--D)yt.push(D);let Kt=[];for(D=J;D>=Z;--D)Kt.push(D);let Te=[];for(Te.push(0),D=ve-1;D>=J;--D)Te.push(D);r.mesh=new rd(B.center,Y,Ze,ct,Me,C,E,ae.fromOrientedBoundingBox(he),fmt(e,he.center,s,C,E),B.stride,he,B,gt,yt,Kt,Te)}let _=t.context;r._destroyVertexArray(i),r.vertexArray=sd._createVertexArrayForMesh(_,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let S=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let w=o._findAncestorTileWithTerrainData(n);l(w)&&l(w.data.waterMaskTexture)&&(r.waterMaskTexture=w.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,w,r.waterMaskTranslationAndScale))}l(S)&&(--S.referenceCount,S.referenceCount===0&&S.destroy())}function v8(e,t,n,i,o,r,s,a,c,u,f){let d=qT;d.longitude=P.lerp(t.west,t.east,r),d.latitude=P.lerp(t.south,t.north,s),d.height=a;let p=e.cartographicToCartesian(d,cv),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,EK));let m=CK;return m.x=r,m.y=s,n.encode(i,o*n.stride,p,m,a,c,u,g),f.minimumHeight=Math.min(f.minimumHeight,a),f.maximumHeight=Math.max(f.maximumHeight,a),o+1}var P8=new se;function X2(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=se.clone(e.rectangle,P8),o.west-=P.TWO_PI,o.east-=P.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=se.clone(e.rectangle,P8),o.west+=P.TWO_PI,o.east+=P.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,u=o.north-o.south,f=(r.south-o.south)/u,d=(r.north-o.south)/u,p=(n.x-a)/(c-a),g=(n.y-f)/(d-f);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var rmt=new z;function AK(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var smt=new z,amt=new h;function cmt(e,t,n,i,o,r,s,a,c,u){let f=i.encoding,d=i.vertices,p=X2(t,n,f.decodeTextureCoordinates(d,o,Qu),Qu),g=X2(t,n,f.decodeTextureCoordinates(d,r,CK),CK),m;c?m=(s-p.x)/(g.x-p.x):m=(a-p.y)/(g.y-p.y);let x=f.decodeHeight(d,o),b=f.decodeHeight(d,r),T=n.rectangle;qT.longitude=P.lerp(T.west,T.east,s),qT.latitude=P.lerp(T.south,T.north,a),u.height=qT.height=P.lerp(x,b,m);let A;if(f.hasVertexNormals){let C=f.getOctEncodedNormal(d,o,rmt),E=f.getOctEncodedNormal(d,r,smt),v=Fn.octDecode(C.x,C.y,cv),D=Fn.octDecode(E.x,E.y,amt);A=h.lerp(v,D,m,cv),h.normalize(A,A),Fn.octEncode(A,u.encodedNormal)}else A=e.geodeticSurfaceNormalCartographic(qT,cv),Fn.octEncode(A,u.encodedNormal)}function Yxe(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic(qT,cv);Fn.octEncode(s,r.encodedNormal)}function w8(e,t,n,i,o,r,s,a,c,u,f){if(jxe(e,t,a,s,!1,n,i,f)||jxe(e,t,u,c,!0,n,i,f))return f;let p;if(SK(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],AK(r,p,n,i,f),f;let g;if(n===0?i===0?g=D8(e.westMeshes,e.westTiles,yn.EAST,e.southMeshes,e.southTiles,yn.NORTH,n,i):g=D8(e.northMeshes,e.northTiles,yn.SOUTH,e.westMeshes,e.westTiles,yn.EAST,n,i):i===0?g=D8(e.southMeshes,e.southTiles,yn.NORTH,e.eastMeshes,e.eastTiles,yn.WEST,n,i):g=D8(e.eastMeshes,e.eastTiles,yn.WEST,e.northMeshes,e.northTiles,yn.SOUTH,n,i),l(g))return Yxe(e,t,n,i,g,f),f}function D8(e,t,n,i,o,r,s,a){let c=Wxe(e,t,!1,n,s,a),u=Wxe(i,o,!0,r,s,a);return l(c)&&l(u)?(c+u)*.5:l(c)?c:u}function I8(e,t,n,i,o,r,s,a,c){for(let u=0;u<r.length;++u)o=lmt(e,t,n,i,o,r[u],s[u],a,c);return o}function lmt(e,t,n,i,o,r,s,a,c){let u=r.rectangle;a===yn.EAST&&e.tile.x===0?(u=se.clone(r.rectangle,P8),u.west-=P.TWO_PI,u.east-=P.TWO_PI):a===yn.WEST&&r.x===0&&(u=se.clone(r.rectangle,P8),u.west+=P.TWO_PI,u.east+=P.TWO_PI);let f=e.tile.rectangle,d,p;o>0&&(n.decodeTextureCoordinates(i,o-1,Qu),d=Qu.x,p=Qu.y);let g,m;switch(a){case yn.WEST:g=s.westIndicesSouthToNorth,m=!1;break;case yn.NORTH:g=s.northIndicesWestToEast,m=!0;break;case yn.EAST:g=s.eastIndicesNorthToSouth,m=!1;break;case yn.SOUTH:g=s.southIndicesEastToWest,m=!0;break}let x=r,b=e.tile,T=s.encoding,A=s.vertices,C=n.stride,E,v;T.hasWebMercatorT&&(E=Pi.geodeticLatitudeToMercatorAngle(f.south),v=1/(Pi.geodeticLatitudeToMercatorAngle(f.north)-E));for(let D=0;D<g.length;++D){let O=g[D],R=T.decodeTextureCoordinates(A,O,Qu);X2(x,b,R,R);let M=R.x,N=R.y,_=m?M:N;if(_<0||_>1||Math.abs(M-d)<P.EPSILON5&&Math.abs(N-p)<P.EPSILON5)continue;let S=Math.abs(M)<P.EPSILON5||Math.abs(M-1)<P.EPSILON5,w=Math.abs(N)<P.EPSILON5||Math.abs(N-1)<P.EPSILON5;if(S&&w)continue;let I=T.decodePosition(A,O,cv),L=T.decodeHeight(A,O),B;T.hasVertexNormals?B=T.getOctEncodedNormal(A,O,TK):(B=TK,B.x=0,B.y=0);let U=N;if(T.hasWebMercatorT){let G=P.lerp(f.south,f.north,N);U=(Pi.geodeticLatitudeToMercatorAngle(G)-E)*v}let V;n.hasGeodeticSurfaceNormals&&(V=t.geodeticSurfaceNormal(I,EK)),n.encode(i,o*C,I,R,L,B,U,V),c.minimumHeight=Math.min(c.minimumHeight,L),c.maximumHeight=Math.max(c.maximumHeight,L),++o}return o}function Wxe(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let u=s;u!==a;u+=c){let f=e[u],d=t[u];if(!SK(d,f))continue;let p;switch(i){case yn.WEST:p=f.westIndicesSouthToNorth;break;case yn.SOUTH:p=f.southIndicesEastToWest;break;case yn.EAST:p=f.eastIndicesNorthToSouth;break;case yn.NORTH:p=f.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(l(g))return f.encoding.decodeHeight(f.vertices,g)}}function SK(e,t){return l(t)&&(!l(e.data.fill)||!e.data.fill.changedThisFrame)}function jxe(e,t,n,i,o,r,s,a){let c,u,f,d,p,g=i[o?0:n.length-1],m=n[o?0:n.length-1];if(SK(g,m)&&(r===0?s===0?(c=o?m.northIndicesWestToEast:m.eastIndicesNorthToSouth,u=o,f=o):(c=o?m.eastIndicesNorthToSouth:m.southIndicesEastToWest,u=!o,f=!1):s===0?(c=o?m.westIndicesSouthToNorth:m.northIndicesWestToEast,u=!o,f=!0):(c=o?m.southIndicesEastToWest:m.westIndicesSouthToNorth,u=o,f=!o),c.length>0)){d=o?0:c.length-1,p=c[d],m.encoding.decodeTextureCoordinates(m.vertices,p,Qu);let x=X2(g,e.tile,Qu,Qu);if(x.x===r&&x.y===s)return AK(m,p,r,s,a),!0;if(d=Po(c,u?r:s,function(b,T){m.encoding.decodeTextureCoordinates(m.vertices,b,Qu);let A=X2(g,e.tile,Qu,Qu);return f?u?A.x-r:A.y-s:u?r-A.x:s-A.y}),d<0){if(d=~d,d>0&&d<c.length)return cmt(t,g,e.tile,m,c[d-1],c[d],r,s,u,a),!0}else return AK(m,c[d],r,s,a),!0}return!1}var umt=[new h,new h,new h,new h];function fmt(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=umt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var uv=lv;function rr(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.showWaterEffect=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=bn.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new me,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(rr.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(rr.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(rr.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(rr.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new me,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new H(0,0,.5,1),this._clippingPlanes=void 0,this._clippingPolygons=void 0,this.cartographicLimitRectangle=se.clone(se.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldVerticalExaggeration=void 0,this._oldVerticalExaggerationRelativeHeight=void 0,this._initByMars3D&&this._initByMars3D(e)}Object.defineProperties(rr.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=oe.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},tilingScheme:{get:function(){if(l(this._terrainProvider))return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,l(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ps.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){Wd.setOwner(e,this,"_clippingPolygons")}}});function dmt(e,t){let n=e.loadingImagery;l(n)||(n=e.readyImagery);let i=t.loadingImagery;return l(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}rr.prototype.update=function(e){this._imageryLayers._update()};function hmt(e,t){let n=t.creditDisplay,i=e._terrainProvider;l(i)&&l(i.credit)&&n.addCreditToNextFrame(i.credit);let o=e._imageryLayers;for(let r=0,s=o.length;r<s;++r){let a=o.get(r);a.ready&&a.show&&l(a.imageryProvider.credit)&&n.addCreditToNextFrame(a.imageryProvider.credit)}}rr.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(dmt)})),hmt(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)sd._freeVertexArray(t[i]);t.length=0};rr.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let o=0,r=t.length;o<r;++o){let s=t[o];l(s)&&(s.length=0)}let n=this._clippingPlanes;l(n)&&n.enabled&&n.update(e);let i=this._clippingPolygons;l(i)&&i.enabled&&(i.update(e),i.queueCommands(e)),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};rr.prototype.endUpdate=function(e){if(!l(this._renderState)){this._renderState=Ve.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:sc.LESS}}),this._blendRenderState=Ve.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},blending:hn.ALPHA_BLEND});let s=He(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=Ve.fromCache(s),s=He(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=Ve.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&uv.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.verticalExaggeration,i=e.verticalExaggerationRelativeHeight,o=this._oldVerticalExaggeration!==n||this._oldVerticalExaggerationRelativeHeight!==i;this._oldVerticalExaggeration=n,this._oldVerticalExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(l(c))for(let u=0,f=c.length;u<f;++u){let d=c[u],p=d.data.tileBoundingRegion;Qxe(this,d,e,!1);let g=this.marsOptions?.uplift;if(g&&g.enabled&&g.height!==0&&g.rectangles){for(let m=0;m<g.rectangles.length;m++)if(se.intersection(p.rectangle,g.rectangles[m])){Qxe(this,d,e,!0);break}}e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function Jxe(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}rr.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)Jxe(t[n],e)};rr.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};rr.prototype.getLevelMaximumGeometricError=function(e){return l(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(e):0};rr.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;l(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===$n.CULLED_BUT_NEEDED,o=n.terrainState),sd.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==pr.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,sd.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var mmt=new ae,ebe=new se,pmt=new se,_mt=new fe;function M8(e,t){if(t.west<t.east)return t;let n=se.clone(t,pmt);return se.center(e,_mt).longitude>0?n.east=P.PI:n.west=-P.PI,n}function tbe(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;if(l(n)&&n.enabled)return!0;let i=e._clippingPolygons;return!!(l(i)&&i.enabled||!se.equals(e.cartographicLimitRectangle,se.MAX_VALUE))}rr.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=tbe(this,t);if(t.fog.enabled&&!o&&P.fog(i,t.fog.density)>=1)return pr.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return pr.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;l(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let u=M8(e.rectangle,this.cartographicLimitRectangle),f=se.simpleIntersection(u,e.rectangle,ebe);if(!l(f))return pr.NONE;if(se.equals(f,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==ne.SCENE3D&&(c=mmt,ae.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===ne.MORPHING&&l(r.renderedMesh)&&(c=ae.union(s.boundingSphere,c,c))),!l(c))return pr.PARTIAL;let d=this._clippingPlanes;if(l(d)&&d.enabled){let b=d.computeIntersectionWithBoundingVolume(c);if(e.isClipped=b!==jt.INSIDE,b===jt.OUTSIDE)return pr.NONE}let p=this._clippingPolygons;if(l(p)&&p.enabled){let b=p.computeIntersectionWithBoundingVolume(s);e.isClipped=b!==jt.OUTSIDE}let g,m=a.computeVisibility(c);if(m===jt.OUTSIDE?g=pr.NONE:m===jt.INTERSECTING?g=pr.PARTIAL:m===jt.INSIDE&&(g=pr.FULL),g===pr.NONE)return g;let x=t.mode===ne.SCENE3D&&t.camera.frustum instanceof cn;if(t.mode===ne.SCENE3D&&!x&&l(n)&&!o){let b=r.occludeePointInScaledSpace;return!l(b)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(b,s.minimumHeight)?g:pr.NONE}return g};rr.prototype.canRefine=function(e){return l(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var gmt=[],ymt=[];rr.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=gmt;i.length=this._imageryLayers.length;let o=!1,r=!1,s;l(n)&&(o=n.terrainState===po.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(l(s))for(a=0,c=s.length;a<c;++a){let d=s[a],p=d.loadingImagery,g=!l(p)||p.state===ei.FAILED||p.state===ei.INVALID,m=(d.loadingImagery||d.readyImagery).imageryLayer._layerIndex;i[m]=g&&i[m]}let u=this.quadtree._lastSelectionFrameNumber,f=ymt;for(f.length=0,f.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);f.length>0;){let d=f.pop(),p=d._lastSelectionResultFrame===u?d._lastSelectionResult:$n.NONE;if(p===$n.RENDERED){let g=d.data;if(!l(g))continue;if(!o&&d.data.terrainState===po.READY)return!1;let m=d.data.imagery;for(a=0,c=m.length;a<c;++a){let x=m[a],b=x.loadingImagery,T=!l(b)||b.state===ei.FAILED||b.state===ei.INVALID,A=(x.loadingImagery||x.readyImagery).imageryLayer._layerIndex;if(T&&!i[A])return!1}}else p===$n.REFINED&&f.push(d.southwestChild,d.southeastChild,d.northwestChild,d.northeastChild)}return!0};var xmt=new h;rr.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,xmt),a=h.magnitude(s);return a<P.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var Xxe=new F,O8=new F,bmt=new oe,Tmt=new oe,Cmt=new oe,Amt=new h,Kxe=new h,Emt=new h,Smt=new h;rr.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let u=i[a];l(u.readyImagery)&&u.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];l(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;l(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var vmt=[new h,new h,new h,new h];function Zxe(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=vmt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}rr.prototype.computeDistanceToTile=function(e,t){wmt(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,u=Math.abs(c-r),f=Math.abs(c-s);u>f?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function wmt(e,t,n){let i=e.data;i===void 0&&(i=e.data=new sd);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new Vf({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,u=e,f=0,d=t.marsOptions?.flat;if(d&&d.enabled&&d.rectangles){for(let b=0;b<d.rectangles.length;b++)if(se.intersection(e.rectangle,d.rectangles[b])){f=d.rectangles[b]._flatHeight??d.heights[b];break}}let p=t.marsOptions?.uplift,g=0;if(p&&p.enabled&&p.height!==0&&p.rectangles){for(let b=0;b<p.rectangles.length;b++)if(se.intersection(r.rectangle,p.rectangles[b])){g=p.height;break}}let m=i.mesh,x=i.terrainData;if(m!==void 0&&m.minimumHeight!==void 0&&m.maximumHeight!==void 0)r.minimumHeight=m.minimumHeight,r.maximumHeight=m.maximumHeight,c=!0;else if(x!==void 0&&x._minimumHeight!==void 0&&x._maximumHeight!==void 0)r.minimumHeight=x._minimumHeight,r.maximumHeight=x._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let b=e.parent;for(;b!==void 0;){let T=b.data;if(T!==void 0){let A=T.mesh,C=T.terrainData;if(A!==void 0&&A.minimumHeight!==void 0&&A.maximumHeight!==void 0){r.minimumHeight=A.minimumHeight,r.maximumHeight=A.maximumHeight;break}else if(C!==void 0&&C._minimumHeight!==void 0&&C._maximumHeight!==void 0){r.minimumHeight=C._minimumHeight,r.maximumHeight=C._maximumHeight;break}}b=b.parent}u=b}if(r.maximumHeight+=g,r.minimumHeight-=f,u!==void 0){let b=n.verticalExaggeration,T=n.verticalExaggerationRelativeHeight;if((b!==1||f!==0)&&(c=!1,r.minimumHeight=Cr.getHeight(r.minimumHeight,b,T),r.maximumHeight=Cr.getHeight(r.maximumHeight,b,T)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=In.clone(m.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=ae.clone(m.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(m.occludeePointInScaledSpace,i.occludeePointInScaledSpace),l(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=Zxe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let C=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||C)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=Zxe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=u,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}rr.prototype.isDestroyed=function(){return!1};rr.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),ue(this)};function Dmt(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,u;for(u=0;u<c;++u)if(o=a[u],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=u;break}if(s!==-1){let f=s+e;if(o=a[f],r=l(o)?y(o.readyImagery,o.loadingImagery):void 0,!l(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,f);for(u=s;u<f;++u)a[u].freeResources();a.splice(s,e)}return!0}}rr.prototype._onLayerAdded=function(e,t){if(!this.isDestroyed()&&e.show){let n=this._terrainProvider,i=this,o=this._imageryLayersUpdatedEvent,r=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(l(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,u=c.length,f=-1,d=0;for(a=0;a<u;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)f===-1&&(f=a),++d;else if(f!==-1)break}if(f===-1)return;let p=f+d;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=Dmt(d,e,n),s.state=ia.LOADING)})};if(e.ready){let s=e.imageryProvider;s._reload=r}this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=ia.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==$n.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,o.raiseEvent()}};rr.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],u=c.loadingImagery;if(l(u)||(u=c.readyImagery),u.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),l(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};rr.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};rr.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var Imt=new F,Pmt=new F;function $xe(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_verticalExaggerationAndRelativeHeight:function(){return this.properties.verticalExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=F.multiplyByPoint(i,this.properties.rtc,Kxe);return F.setTranslation(i,o,Xxe),Xxe},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=F.multiplyByPoint(i,this.properties.rtc,Kxe);return F.setTranslation(i,r,O8),F.multiply(o,O8,O8),O8},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return l(i)&&l(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=l(i)?F.multiply(e.context.uniformState.view,i.modelMatrix,Imt):F.IDENTITY;return F.inverseTranspose(o,Pmt)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_clippingDistance:function(){let i=t._clippingPolygons.clippingTexture;return l(i)?i:e.context.defaultTexture},u_clippingExtents:function(){let i=t._clippingPolygons.extentsTexture;return l(i)?i:e.context.defaultTexture},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},u_mars3dTextureInvertColor:function(){return this.properties.mars3dTextureInvertColor},u_mars3dTextureFilterColor:function(){return this.properties.mars3dTextureFilterColor},u_mars_inverseTileWidth:function(){return this.properties.mars_inverseTileWidth},u_mars_cartographicTileRectangle:function(){return this.properties.mars_cartographicTileRectangle},u_mars_flat_enabled:function(){return this.properties.mars_flat_enabled},u_mars_flat_rectangle:function(){return this.properties.mars_flat_rectangle},u_mars_flat_texture:function(){return l(this.properties.mars_flat_texture)?this.properties.mars_flat_texture:e.context.defaultTexture},u_mars_uplift_enabled:function(){return this.properties.mars_uplift_enabled},u_mars_uplift_hideInsideOrOutside:function(){return this.properties.mars_uplift_hideInsideOrOutside},u_mars_uplift_rectangle:function(){return this.properties.mars_uplift_rectangle},u_mars_uplift_texture:function(){return l(this.properties.mars_uplift_texture)?this.properties.mars_uplift_texture:e.context.defaultTexture},u_mars_clip_enabled:function(){return this.properties.mars_clip_enabled},u_mars_clip_rectangle:function(){return this.properties.mars_clip_rectangle},u_mars_clip_texture:function(){return l(this.properties.mars_clip_texture)?this.properties.mars_clip_texture:e.context.defaultTexture},u_mars_clip_only:function(){return this.properties.mars_clip_only},u_mars_flood_enabled:function(){return this.properties.mars_flood_enabled},u_mars_flood_rectangle:function(){return this.properties.mars_flood_rectangle},u_mars_flood_texture:function(){return l(this.properties.mars_flood_texture)?this.properties.mars_flood_texture:e.context.defaultTexture},u_mars_flood_only:function(){return this.properties.mars_flood_only},properties:{initialColor:new oe(0,0,.5,1),fillHighlightColor:new H(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new z(65e5,9e6),nightFadeDistance:new z(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new F,tileRectangle:new oe,verticalExaggerationAndRelativeHeight:new z(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new z,southMercatorYAndOneOverHeight:new z,waterMask:void 0,waterMaskTranslationAndScale:new oe,minMaxHeight:new z,scaleAndBias:new F,clippingPlanesEdgeColor:H.clone(H.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new oe,frontFaceAlphaByDistance:new oe,backFaceAlphaByDistance:new oe,localizedTranslucencyRectangle:new oe,undergroundColor:H.clone(H.TRANSPARENT),undergroundColorAlphaByDistance:new oe,lambertDiffuseMultiplier:0,vertexShadowDarkness:0,mars3dTextureInvertColor:[],mars3dTextureFilterColor:[],mars_inverseTileWidth:0,mars_cartographicTileRectangle:void 0,mars_flat_enabled:!1,mars_flat_rectangle:new oe,mars_flat_texture:void 0,mars_uplift_enabled:!1,mars_uplift_hideInsideOrOutside:!1,mars_uplift_rectangle:new oe,mars_uplift_texture:void 0,mars_clip_enabled:!1,mars_clip_rectangle:new oe,mars_clip_texture:void 0,mars_clip_only:!1,mars_flood_enabled:!1,mars_flood_rectangle:new oe,mars_flood_texture:void 0,mars_flood_only:!1}};return l(t.materialUniformMap)?bt(n,t.materialUniformMap):n}function Rmt(e,t,n){let i=n.data,o,r;if(l(i.vertexArray)?(o=i.mesh,r=i.vertexArray):l(i.fill)&&l(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!l(o)||!l(r))){if(l(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=Omt(e,r,o),i.wireframeVertexArray.mesh=o}}function Omt(e,t,n){let o={indices:n.indices,primitiveType:Ne.TRIANGLES};Gn.toWireframe(o);let r=o.indices,s=pt.createIndexBuffer({context:e,typedArray:r,usage:ke.STATIC_DRAW,indexDatatype:Fe.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new pi({context:e,attributes:t._attributes,indexBuffer:s})}var nbe,ibe,L8;(function(){let e=new vt({geometry:Sd.fromDimensions({dimensions:new h(2,2,2)})}),t=new vt({geometry:new C_({radius:1})}),n=new F,i,o;function r(s){return new Pn({geometryInstances:s,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})}nbe=function(s,a){return s===i||(L8(),i=s,n=F.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=Wt.fromColor(a),o=r(e)),o},ibe=function(s,a){return s===i||(L8(),i=s,n=F.fromTranslation(s.center,n),n=F.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=Wt.fromColor(a),o=r(t)),o},L8=function(){l(o)&&(o.destroy(),o=void 0,i=void 0)}})();var Mmt=new oe(0,0,0,0),Lmt={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,enableClippingPolygons:void 0,clippingPolygons:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},Nmt=H.TRANSPARENT,Fmt=new Bt;function Qxe(e,t,n,i){let o=t.data;l(o.vertexArray)||(o.fill===void 0&&(o.fill=new uv(t)),o.fill.update(e,n));let r=n.creditDisplay,s=o.terrainData;if(l(s)&&l(s.credits)){let $t=s.credits;for(let Qt=0,no=$t.length;Qt<no;++Qt)r.addCreditToNextFrame($t[Qt])}let a=kt.maximumTextureImageUnits,c=o.waterMaskTexture,u=o.waterMaskTranslationAndScale;!l(c)&&l(o.fill)&&(c=o.fill.waterMaskTexture,u=o.fill.waterMaskTranslationAndScale);let f=n.cameraUnderground,d=n.globeTranslucencyState,p=d.translucent,g=d.frontFaceAlphaByDistance,m=d.backFaceAlphaByDistance,x=d.rectangle,b=y(e.undergroundColor,Nmt),T=y(e.undergroundColorAlphaByDistance,Fmt),A=tbe(e,n)&&n.mode===ne.SCENE3D&&b.alpha>0&&(T.nearValue>0||T.farValue>0),C=e.lambertDiffuseMultiplier,E=e.vertexShadowDarkness,v=e.hasWaterMask&&l(c),D=v&&e.showWaterEffect,O=e.oceanNormalMap,R=D&&l(O),M=e.terrainProvider,N=l(M)&&e.terrainProvider.hasVertexNormals,_=n.fog.enabled&&n.fog.renderable&&!f,S=e.showGroundAtmosphere&&n.mode===ne.SCENE3D,w=bn.castShadows(e.shadows)&&!p,I=bn.receiveShadows(e.shadows)&&!p,L=e.hueShift,B=e.saturationShift,U=e.brightnessShift,V=!(P.equalsEpsilon(L,0,P.EPSILON7)&&P.equalsEpsilon(B,0,P.EPSILON7)&&P.equalsEpsilon(U,0,P.EPSILON7)),G=!1;if(S){let $t=h.magnitude(n.camera.positionWC),Qt=e.nightFadeOutDistance;G=$t>Qt}v&&--a,R&&--a,l(n.shadowState)&&n.shadowState.shadowsEnabled&&--a,l(e.clippingPlanes)&&e.clippingPlanes.enabled&&--a,l(e.clippingPolygons)&&e.clippingPolygons.enabled&&(--a,--a),a-=d.numberOfTextureUniforms;let k=o.renderedMesh,Y=k.center,W=k.encoding,Q=o.tileBoundingRegion,j=n.verticalExaggeration,Z=n.verticalExaggerationRelativeHeight,J=e.marsOptions?.uplift;i&&J&&(Z=n.verticalExaggerationRelativeHeight-J.height/(j-1)),e.marsOptions?.uplift?.enabled&&--a,e.marsOptions?.clip?.enabled&&--a,e.marsOptions?.flat?.enabled&&--a,e.marsOptions?.flood?.enabled&&--a;let he=j!==1,xe=W.hasGeodeticSurfaceNormals,re=bmt,_e=0,ye=0,De=0,ve=0,Me=!1;if(n.mode!==ne.SCENE3D){let $t=n.mapProjection,Qt=$t.project(se.southwest(t.rectangle),Emt),no=$t.project(se.northeast(t.rectangle),Smt);if(re.x=Qt.x,re.y=Qt.y,re.z=no.x,re.w=no.y,n.mode!==ne.MORPHING&&(Y=Amt,Y.x=0,Y.y=(re.z+re.x)*.5,Y.z=(re.w+re.y)*.5,re.x-=Y.y,re.y-=Y.z,re.z-=Y.y,re.w-=Y.z),n.mode===ne.SCENE2D&&W.quantization===na.BITS12){let qe=1/(Math.pow(2,12)-1)*.5,_r=(re.z-re.x)*qe,sr=(re.w-re.y)*qe;re.x-=_r,re.y-=sr,re.z+=_r,re.w+=sr}$t instanceof Pi&&(_e=t.rectangle.south,ye=t.rectangle.north,De=Pi.geodeticLatitudeToMercatorAngle(_e),ve=1/(Pi.geodeticLatitudeToMercatorAngle(ye)-De),Me=!0)}let Oe=Lmt;Oe.frameState=n,Oe.surfaceTile=o,Oe.hasWaterMask=v,Oe.showReflectiveOcean=D,Oe.showOceanWaves=R,Oe.enableLighting=e.enableLighting,Oe.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,Oe.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,Oe.showGroundAtmosphere=S,Oe.atmosphereLightIntensity=e.atmosphereLightIntensity,Oe.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Oe.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Oe.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Oe.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Oe.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Oe.perFragmentGroundAtmosphere=G,Oe.hasVertexNormals=N,Oe.useWebMercatorProjection=Me,Oe.clippedByBoundaries=o.clippedByBoundaries,Oe.hasGeodeticSurfaceNormals=xe,Oe.hasExaggeration=he;let ct=o.imagery,Ke=0,_t=ct.length,Ze=e.showSkirts&&!f&&!p,Dt=e.backFaceCulling&&!f&&!p,gt=Dt?e._renderState:e._disableCullingRenderState,yt=Dt?e._blendRenderState:e._disableCullingBlendRenderState,Kt=gt,Te=e._firstPassInitialColor,Ae=n.context;if(l(e._debug.boundingSphereTile)||L8(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let $t=e._drawCommands.length;for(let Qt=0;Qt<$t;++Qt)e._uniformMaps[Qt]=$xe(n,e)}do{let $t=0,Qt,no;if(e._drawCommands.length<=e._usedDrawCommands?(Qt=new Xe,Qt.owner=t,Qt.cull=!1,Qt.boundingVolume=new ae,Qt.orientedBoundingBox=void 0,no=$xe(n,e),e._drawCommands.push(Qt),e._uniformMaps.push(no)):(Qt=e._drawCommands[e._usedDrawCommands],no=e._uniformMaps[e._usedDrawCommands]),Qt.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let Ce=Q.boundingVolume,ft=Q.boundingSphere;l(Ce)?nbe(Ce,H.RED).update(n):l(ft)&&ibe(ft,H.RED).update(n)}let qe=no.properties;oe.clone(Te,qe.initialColor),qe.oceanNormalMap=O,qe.lightingFadeDistance.x=e.lightingFadeOutDistance,qe.lightingFadeDistance.y=e.lightingFadeInDistance,qe.nightFadeDistance.x=e.nightFadeOutDistance,qe.nightFadeDistance.y=e.nightFadeInDistance,qe.atmosphereLightIntensity=e.atmosphereLightIntensity,qe.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,qe.atmosphereMieCoefficient=e.atmosphereMieCoefficient,qe.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,qe.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,qe.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,qe.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let _r=f?m:g,sr=f?g:m;l(_r)&&(oe.fromElements(_r.near,_r.nearValue,_r.far,_r.farValue,qe.frontFaceAlphaByDistance),oe.fromElements(sr.near,sr.nearValue,sr.far,sr.farValue,qe.backFaceAlphaByDistance)),oe.fromElements(T.near,T.nearValue,T.far,T.farValue,qe.undergroundColorAlphaByDistance),H.clone(b,qe.undergroundColor),qe.lambertDiffuseMultiplier=C,qe.vertexShadowDarkness=E;let Ir=!l(o.vertexArray)&&l(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;Ir&&H.clone(e.fillHighlightColor,qe.fillHighlightColor),qe.verticalExaggerationAndRelativeHeight.x=j,qe.verticalExaggerationAndRelativeHeight.y=Z,qe.center3D=k.center,h.clone(Y,qe.rtc),oe.clone(re,qe.tileRectangle),qe.southAndNorthLatitude.x=_e,qe.southAndNorthLatitude.y=ye,qe.southMercatorYAndOneOverHeight.x=De,qe.southMercatorYAndOneOverHeight.y=ve;let Be=Tmt,st=M8(t.rectangle,e.cartographicLimitRectangle),$e=Cmt,Ye=M8(t.rectangle,x);h.fromElements(L,B,U,qe.hsbShift);let rt=t.rectangle,Ht=1/rt.width,An=1/rt.height;Be.x=(st.west-rt.west)*Ht,Be.y=(st.south-rt.south)*An,Be.z=(st.east-rt.west)*Ht,Be.w=(st.north-rt.south)*An,oe.clone(Be,qe.localizedCartographicLimitRectangle),$e.x=(Ye.west-rt.west)*Ht,$e.y=(Ye.south-rt.south)*An,$e.z=(Ye.east-rt.west)*Ht,$e.w=(Ye.north-rt.south)*An,qe.mars_inverseTileWidth=Ht,qe.mars_cartographicTileRectangle=new z(rt.west,rt.south);let Nn=e.marsOptions?.clip;Nn?(Nn.rectangle?qe.mars_clip_rectangle=new oe(Nn.rectangle.west,Nn.rectangle.south,Nn.rectangle.width,Nn.rectangle.height):qe.mars_clip_rectangle=new oe,qe.mars_clip_texture=Nn.texture,qe.mars_clip_only=Nn.onlySelf,qe.mars_clip_enabled=Nn.enabled):(qe.mars_clip_enabled=!1,qe.mars_clip_rectangle=new oe,qe.mars_clip_texture=void 0,qe.mars_clip_only=!1);let Vi=e.marsOptions?.flood;Vi?(Vi.rectangle?qe.mars_flood_rectangle=new oe(Vi.rectangle.west,Vi.rectangle.south,Vi.rectangle.width,Vi.rectangle.height):qe.mars_flood_rectangle=new oe,qe.mars_flood_texture=Vi.texture,qe.mars_flood_only=Vi.onlySelf,qe.mars_flood_enabled=Vi.enabled):(qe.mars_flood_enabled=!1,qe.mars_flood_rectangle=new oe,qe.mars_flood_texture=void 0);let cs=e.marsOptions?.flat;cs?(cs.rectangle?qe.mars_flat_rectangle=new oe(cs.rectangle.west,cs.rectangle.south,cs.rectangle.width,cs.rectangle.height):qe.mars_flat_rectangle=new oe,qe.mars_flat_texture=cs.texture,qe.mars_flat_enabled=cs.enabled):(qe.mars_flat_enabled=!1,qe.mars_flat_rectangle=new oe,qe.mars_flat_texture=void 0);let Yo=e.marsOptions?.uplift;Yo?(Yo.rectangle?qe.mars_uplift_rectangle=new oe(Yo.rectangle.west,Yo.rectangle.south,Yo.rectangle.width,Yo.rectangle.height):qe.mars_uplift_rectangle=new oe,qe.mars_uplift_texture=Yo.texture,qe.mars_uplift_enabled=(!Yo.showUp||Yo.enabled&&Yo.height!==0)&&l(Yo.rectangles)&&Yo.rectangles.length>0,qe.mars_uplift_hideInsideOrOutside=!i):(qe.mars_uplift_enabled=!1,qe.mars_uplift_rectangle=new oe,qe.mars_uplift_texture=void 0,qe.mars_uplift_hideInsideOrOutside=!1),oe.clone($e,qe.localizedTranslucencyRectangle);let Xr=_&&P.fog(t._distance,n.fog.density)>P.EPSILON3;V=V&&(Xr||S);let io=!1,ks=!1,ls=!1,ou=!1,Io=!1,Pr=!1,Cs=!1,ra=!1,zh=!1,Hh=!1,lp=!1,up=!1;for(;$t<a&&Ke<_t;){let Ce=ct[Ke],ft=Ce.readyImagery;if(++Ke,!l(ft)||ft.imageryLayer.alpha===0)continue;let dn=Ce.useWebMercatorT?ft.textureWebMercator:ft.texture,kn=ft.imageryLayer;l(Ce.textureTranslationAndScale)||(Ce.textureTranslationAndScale=kn._calculateTextureTranslationAndScale(t,Ce)),qe.dayTextures[$t]=dn,qe.dayTextureTranslationAndScale[$t]=Ce.textureTranslationAndScale,qe.dayTextureTexCoordsRectangle[$t]=Ce.textureCoordinateRectangle,qe.dayTextureUseWebMercatorT[$t]=Ce.useWebMercatorT,qe.dayTextureAlpha[$t]=kn.alpha,Pr=Pr||qe.dayTextureAlpha[$t]!==1,qe.dayTextureNightAlpha[$t]=kn.nightAlpha,Cs=Cs||qe.dayTextureNightAlpha[$t]!==1,qe.dayTextureDayAlpha[$t]=kn.dayAlpha,Cs=Cs||qe.dayTextureDayAlpha[$t]!==1,qe.dayTextureBrightness[$t]=kn.brightness,io=io||qe.dayTextureBrightness[$t]!==Aa.DEFAULT_BRIGHTNESS,qe.dayTextureContrast[$t]=kn.contrast,ks=ks||qe.dayTextureContrast[$t]!==Aa.DEFAULT_CONTRAST,qe.dayTextureHue[$t]=kn.hue,ls=ls||qe.dayTextureHue[$t]!==Aa.DEFAULT_HUE,qe.dayTextureSaturation[$t]=kn.saturation,ou=ou||qe.dayTextureSaturation[$t]!==Aa.DEFAULT_SATURATION,qe.dayTextureOneOverGamma[$t]=1/kn.gamma,Io=Io||qe.dayTextureOneOverGamma[$t]!==1/Aa.DEFAULT_GAMMA,qe.dayTextureSplit[$t]=kn.splitDirection,ra=ra||qe.dayTextureSplit[$t]!==0,lp=lp||!!kn.invertColor,qe.mars3dTextureInvertColor[$t]=!!kn.invertColor,up=up||!!kn.filterColor,kn.filterColor?qe.mars3dTextureFilterColor[$t]=new h(kn.filterColor.red,kn.filterColor.green,kn.filterColor.blue):qe.mars3dTextureFilterColor[$t]=new h(1,1,1);let gr=qe.dayTextureCutoutRectangles[$t];if(l(gr)||(gr=qe.dayTextureCutoutRectangles[$t]=new oe),oe.clone(oe.ZERO,gr),l(kn.cutoutRectangle)){let Rr=M8(rt,kn.cutoutRectangle),_d=se.simpleIntersection(Rr,rt,ebe);zh=l(_d)||zh,gr.x=(Rr.west-rt.west)*Ht,gr.y=(Rr.south-rt.south)*An,gr.z=(Rr.east-rt.west)*Ht,gr.w=(Rr.north-rt.south)*An}let ar=qe.colorsToAlpha[$t];l(ar)||(ar=qe.colorsToAlpha[$t]=new oe);let wa=l(kn.colorToAlpha)&&kn.colorToAlphaThreshold>0;if(Hh=Hh||wa,wa){let Rr=kn.colorToAlpha;ar.x=Rr.red,ar.y=Rr.green,ar.z=Rr.blue,ar.w=kn.colorToAlphaThreshold}else ar.w=-1;if(l(ft.credits)){let Rr=ft.credits;for(let _d=0,Da=Rr.length;_d<Da;++_d)r.addCreditToNextFrame(Rr[_d])}++$t}qe.dayTextures.length=$t,qe.waterMask=c,oe.clone(u,qe.waterMaskTranslationAndScale),qe.minMaxHeight.x=W.minimumHeight,qe.minMaxHeight.y=W.maximumHeight,F.clone(W.matrix,qe.scaleAndBias);let Za=e._clippingPlanes,fp=l(Za)&&Za.enabled&&t.isClipped;fp&&(qe.clippingPlanesEdgeColor=H.clone(Za.edgeColor,qe.clippingPlanesEdgeColor),qe.clippingPlanesEdgeWidth=Za.edgeWidth);let Ag=e._clippingPolygons,OC=l(Ag)&&Ag.enabled&&t.isClipped;Oe.numberOfDayTextures=$t,Oe.applyBrightness=io,Oe.applyContrast=ks,Oe.applyHue=ls,Oe.applySaturation=ou,Oe.applyGamma=Io,Oe.applyAlpha=Pr,Oe.applyDayNightAlpha=Cs,Oe.applySplit=ra,Oe.enableFog=Xr,Oe.enableClippingPlanes=fp,Oe.clippingPlanes=Za,Oe.enableClippingPolygons=OC,Oe.clippingPolygons=Ag,Oe.hasImageryLayerCutout=zh,Oe.colorCorrect=V,Oe.highlightFillTile=Ir,Oe.colorToAlpha=Hh,Oe.showUndergroundColor=A,Oe.translucent=p,Oe.marsOptions={invertColor:lp,filterColor:up,enableUplift:e?._marsOptions?.uplift?.enabled,enableFlat:e?._marsOptions?.flat?.enabled,enableClip:e?._marsOptions?.clip?.enabled,enableFlood:e?._marsOptions?.flood?.enabled};let Eg=o.renderedMesh.indices.length;Ze||(Eg=o.renderedMesh.indexCountWithoutSkirts),Qt.shaderProgram=e._surfaceShaderSet.getShaderProgram(Oe),Qt.castShadows=w,Qt.receiveShadows=I,Qt.renderState=Kt,Qt.primitiveType=Ne.TRIANGLES,Qt.vertexArray=o.vertexArray||o.fill.vertexArray,Qt.count=Eg,Qt.uniformMap=no,Qt.pass=Se.GLOBE,e._debug.wireframe&&(Rmt(Ae,e,t),l(o.wireframeVertexArray)&&(Qt.vertexArray=o.wireframeVertexArray,Qt.primitiveType=Ne.LINES,Qt.count=Eg*2));let sa=Qt.boundingVolume,Zt=Qt.orientedBoundingBox;n.mode!==ne.SCENE3D?(ae.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,Q.minimumHeight,Q.maximumHeight,sa),h.fromElements(sa.center.z,sa.center.x,sa.center.y,sa.center),n.mode===ne.MORPHING&&(sa=ae.union(Q.boundingSphere,sa,sa))):(Qt.boundingVolume=ae.clone(Q.boundingSphere,sa),Qt.orientedBoundingBox=In.clone(Q.boundingVolume,Zt)),Qt.dirty=!0,p&&d.updateDerivedCommands(Qt,n),Jxe(Qt,n),Kt=yt,Te=Mmt}while(Ke<_t)}var K2=rr;function obe(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=se.clone(se.MAX_VALUE)}Object.defineProperties(obe.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=Bt.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=Bt.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){l(e)||(e=se.clone(se.MAX_VALUE)),se.clone(e,this._rectangle)}}});var Z2=obe;function Bs(){this._layers=[],this.layerAdded=new me,this.layerRemoved=new me,this.layerMoved=new me,this.layerShownOrHidden=new me}Object.defineProperties(Bs.prototype,{length:{get:function(){return this._layers.length}}});Bs.prototype.add=function(e,t){l(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t);let i=e.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(e,e._layerIndex,e.show),i()})};Bs.prototype.addImageryProvider=function(e,t){let n=new Aa(e);return this.add(n,t),n};Bs.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};Bs.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};Bs.prototype.contains=function(e){return this.indexOf(e)!==-1};Bs.prototype.indexOf=function(e){return this._layers.indexOf(e)};Bs.prototype.get=function(e){return this._layers[e]};function N8(e,t){return e.indexOf(t)}function rbe(e,t,n){let i=e._layers;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}Bs.prototype.raise=function(e){let t=N8(this._layers,e);rbe(this,t,t+1)};Bs.prototype.lower=function(e){let t=N8(this._layers,e);rbe(this,t,t-1)};Bs.prototype.raiseToTop=function(e){let t=N8(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))};Bs.prototype.lowerToBottom=function(e){let t=N8(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var Bmt=new se;function sbe(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!l(r)&&a<o.length;++a){let c=o[a];se.contains(c.rectangle,t)&&(r=c)}if(!l(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],u=c.readyImagery;if(!l(u)||!u.imageryLayer.ready)continue;let f=u.imageryLayer.imageryProvider;if(n&&!l(f.pickFeatures)||!se.contains(u.rectangle,t))continue;let d=Bmt,p=1/1024;d.west=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),d.east=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),d.south=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),d.north=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),se.contains(d,t)&&i(u)}}Bs.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[];if(sbe(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};Bs.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(sbe(t,i,!0,function(s){if(!s.imageryLayer.ready)return;let a=s.imageryLayer.imageryProvider;for(let u=0;u<r.length;u++)if(r[u]===s.imageryLayer)return;let c=a.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);l(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let u=s[c],f=r[c];if(l(u)&&u.length>0)for(let d=0;d<u.length;++d){let p=u[d];p.imageryLayer=f,l(p.position)||(p.position=i),a.push(p)}}return a})};Bs.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};Bs.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};Bs.prototype.isDestroyed=function(){return!1};Bs.prototype.destroy=function(){return this.removeAll(!0),ue(this)};Bs.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(l(i._show)&&(l(n)||(n=[]),n.push(i)),i._show=i.show);if(l(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var $2=Bs;function abe(e){this._ellipsoid=new O_(e.ellipsoid,h.ZERO)}Object.defineProperties(abe.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var Q2=abe;function ul(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=$n.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=ia.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}ul.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new ul({tilingScheme:e,x:s,y:r,level:0});return i};ul.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(l(t)&&l(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],se.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(l(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],se.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties(ul.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return l(this._southwestChild)||(this._southwestChild=new ul({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return l(this._southeastChild)||(this._southeastChild=new ul({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return l(this._northwestChild)||(this._northwestChild=new ul({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return l(this._northeastChild)||(this._northeastChild=new ul({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<ia.DONE}},eligibleForUnloading:{get:function(){let e=!0;return l(this.data)&&(e=this.data.eligibleForUnloading,l(e)||(e=!0)),e}}});ul.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};ul.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};ul.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};ul.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};ul.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};ul.prototype.freeResources=function(){this.state=ia.START,this.renderable=!1,this.upsampledFromParent=!1,l(this.data)&&l(this.data.freeResources)&&this.data.freeResources(),F8(this._southwestChild),this._southwestChild=void 0,F8(this._southeastChild),this._southeastChild=void 0,F8(this._northwestChild),this._northwestChild=void 0,F8(this._northeastChild),this._northeastChild=void 0};function F8(e){l(e)&&e.freeResources()}var J2=ul;function B8(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}B8.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};B8.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&l(this._lastBeforeStartOfFrame)&&this.count>e&&l(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),cbe(this,t)),t=i}};function cbe(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}B8.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!l(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(l(e.replacementPrevious)||l(e.replacementNext))&&cbe(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var eB=B8;function ad(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new eB,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new Q2({ellipsoid:n}),this._tileLoadProgressEvent=new me,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(ad.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});ad.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function kmt(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,ube(e);let n=e._levelZeroTiles;if(l(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}ad.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;l(t);)t.state!==ia.START&&e(t),t=t.replacementNext};ad.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};ad.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};ad.prototype.update=function(e){l(this._tileProvider.update)&&this._tileProvider.update(e)};function ube(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}ad.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(kmt(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),ube(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};ad.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),Hmt(this,e),Qmt(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function Vmt(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;if(n!==e._lastTileLoadQueueLength||e._tilesInvalidated){let o=me.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n);t.afterRender.push(()=>(o(),!0)),e._lastTileLoadQueueLength=n}let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}ad.prototype.endFrame=function(e){!e.passes.render||e.mode===ne.MORPHING||(Xmt(this,e),$mt(this,e),Vmt(this,e))};ad.prototype.isDestroyed=function(){return!1};ad.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var nB,lbe=new fe;function Umt(e,t){let n=se.center(e.rectangle,lbe),i=n.longitude-nB.longitude,o=n.latitude-nB.latitude;n=se.center(t.rectangle,lbe);let r=n.longitude-nB.longitude,s=n.latitude-nB.latitude;return i*i+o*o-(r*r+s*s)}var zmt=new h,tB=[];function Hmt(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!l(e._levelZeroTiles)){let x=r.tilingScheme;if(l(x)){let b=r.tilingScheme;e._levelZeroTiles=J2.createLevelZeroTiles(b);let T=e._levelZeroTiles.length;if(tB.length<T)for(tB=new Array(T),o=0;o<T;++o)tB[o]===void 0&&(tB[o]=new iB)}else return}e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;nB=t.camera.positionCartographic,a.sort(Umt);let u=e._addHeightCallbacks,f=e._removeHeightCallbacks,d=t.frameNumber,p;if(u.length>0||f.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(d,u,f);u.length=0,f.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let m=F.getTranslation(g.transform,zmt);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(m,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?Ya(e,s,r,t,c,!1,tB[o]):(ag(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=d}function ag(e,t,n,i){n.needsLoading&&(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function iB(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function fbe(){this.southwest=new iB,this.southeast=new iB,this.northwest=new iB,this.northeast=new iB}fbe.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var DK=new Array(31);for(let e=0;e<DK.length;++e)DK[e]=new fbe;function Gmt(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=qmt(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,u=n.northwestChild,f=n.northeastChild,d=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===d?n._lastSelectionResult:$n.NONE,g=e.tileProvider;if(s||i){let m=$n.originalResult(p)===$n.RENDERED,x=$n.originalResult(p)===$n.CULLED||p===$n.NONE,b=n.state===ia.DONE,T=m||x||b;if(T||l(g.canRenderWithoutLosingDetail)&&(T=g.canRenderWithoutLosingDetail(n)),T){s&&ag(e,e._tileLoadQueueMedium,n,t),k8(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===$n.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&ag(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&u.upsampledFromParent&&f.upsampledFromParent){k8(e,n),ag(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(u),e._tileReplacementQueue.markTileRendered(f),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===$n.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.REFINED;let x=e._tilesToRender.length,b=e._tileLoadQueueLow.length,T=e._tileLoadQueueMedium.length,A=e._tileLoadQueueHigh.length,C=e._tileToUpdateHeights.length;if(Wmt(e,a,c,u,f,t,i,o),x!==e._tilesToRender.length){let E=o.allAreRenderable,v=o.anyWereRenderedLastFrame,D=o.notYetRenderableCount,O=!1;if(!E&&!v){let R=e._tilesToRender;for(let N=x;N<R.length;++N){let _=R[N];for(;_!==void 0&&_._lastSelectionResult!==$n.KICKED&&_!==n;)_._lastSelectionResult=$n.kick(_._lastSelectionResult),_=_.parent}e._tilesToRender.length=x,e._tileToUpdateHeights.length=C,k8(e,n),n._lastSelectionResult=$n.RENDERED;let M=p===$n.RENDERED;!M&&D>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=b,e._tileLoadQueueMedium.length=T,e._tileLoadQueueHigh.length=A,ag(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,O=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=M,M||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!O&&ag(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=$n.RENDERED,k8(e,n),ag(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===$n.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function Wmt(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,u=e._tileProvider,f=e._occluders,d=DK[t.level],p=d.southwest,g=d.southeast,m=d.northwest,x=d.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(Ya(e,t,u,r,f,s,p),Ya(e,n,u,r,f,s,g),Ya(e,i,u,r,f,s,m),Ya(e,o,u,r,f,s,x)):(Ya(e,i,u,r,f,s,m),Ya(e,t,u,r,f,s,p),Ya(e,o,u,r,f,s,x),Ya(e,n,u,r,f,s,g)):c.latitude<t.rectangle.north?(Ya(e,n,u,r,f,s,g),Ya(e,t,u,r,f,s,p),Ya(e,o,u,r,f,s,x),Ya(e,i,u,r,f,s,m)):(Ya(e,o,u,r,f,s,x),Ya(e,i,u,r,f,s,m),Ya(e,n,u,r,f,s,g),Ya(e,t,u,r,f,s,p)),d.combine(a)}function jmt(e,t){let n=t.rectangle;return l(e._cameraPositionCartographic)&&se.contains(n,e._cameraPositionCartographic)||l(e._cameraReferenceFrameOriginCartographic)&&se.contains(n,e._cameraReferenceFrameOriginCartographic)}function Ya(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==pr.NONE)return Gmt(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,jmt(e,t)){(!l(t.data)||!l(t.data.vertexArray))&&ag(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:$n.NONE;c!==$n.CULLED_BUT_NEEDED&&c!==$n.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=$n.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(ag(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=$n.CULLED):t._lastSelectionResult=$n.CULLED;t._lastSelectionResultFrame=i.frameNumber}function qmt(e,t,n){if(t.mode===ne.SCENE2D||t.camera.frustum instanceof cn||t.camera.frustum instanceof Lr)return Ymt(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=P.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function Ymt(e,t,n){let o=t.camera.frustum,r=o.offCenterFrustum;l(r)&&(o=r);let s=t.context,a=s.drawingBufferWidth,c=s.drawingBufferHeight,u=e._tileProvider.getLevelMaximumGeometricError(n.level),f=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(a,c),d=u/f;return t.fog.enabled&&t.mode!==ne.SCENE2D&&(d-=P.fog(n._distance,t.fog.density)*t.fog.sse),d/=t.pixelRatio,d}function k8(e,t){e._tilesToRender.push(t)}function Xmt(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=Ci()+e._loadQueueTimeSlice,s=e._tileProvider,a=vK(e,t,s,r,n,!1);a=vK(e,t,s,r,i,a),vK(e,t,s,r,o,a)}function Kmt(e,t){return e._loadPriority-t._loadPriority}function vK(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(Kmt);for(let s=0,a=o.length;s<a&&(Ci()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var fv=new gn,wK=new fe,S0=new h,Zmt=[];function $mt(e,t){if(!l(e.tileProvider.tilingScheme))return;let n=Zmt;n.length=0;let i=e._tileToUpdateHeights,o=Ci(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,u=e.tileProvider.tilingScheme.ellipsoid,f;for(;i.length>0;){let d=i[0];if(!l(d.data)||!l(d.data.mesh)){let x=d._lastSelectionResultFrame===e._lastSelectionFrameNumber?d._lastSelectionResult:$n.NONE;(x===$n.RENDERED||x===$n.CULLED_BUT_NEEDED)&&n.push(d),i.shift(),e._lastTileIndex=0;continue}let p=d.customData,g=p.length,m=!1;for(f=e._lastTileIndex;f<g;++f){let x=p[f],b=d.data.terrainData,T=l(b)&&b.wasCreatedByUpsampling();if(d.level>x.level&&!T){if(l(x.positionOnEllipsoidSurface)||(x.positionOnEllipsoidSurface=h.fromRadians(x.positionCartographic.longitude,x.positionCartographic.latitude,0,u)),a===ne.SCENE3D){let C=u.geodeticSurfaceNormal(x.positionOnEllipsoidSurface,fv.direction),E=u.getSurfaceNormalIntersectionWithZAxis(x.positionOnEllipsoidSurface,11500,fv.origin);if(!l(E)){let v=0;l(d.data.tileBoundingRegion)&&(v=d.data.tileBoundingRegion.minimumHeight);let D=Math.min(v,-11500),O=h.multiplyByScalar(C,Math.abs(D)+1,S0);h.subtract(x.positionOnEllipsoidSurface,O,fv.origin)}}else fe.clone(x.positionCartographic,wK),wK.height=-11500,c.project(wK,S0),h.fromElements(S0.z,S0.x,S0.y,S0),h.clone(S0,fv.origin),h.clone(h.UNIT_X,fv.direction);let A=d.data.pick(fv,a,c,!1,S0);l(A)&&(l(x.callback)&&x.callback(A),x.level=d.level)}if(Ci()>=s){m=!0;break}}if(m){e._lastTileIndex=f;break}else e._lastTileIndex=0,i.shift()}for(f=0;f<n.length;f++)i.push(n[f])}function Qmt(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var oB=ad;function Mh(e){e=y(e,ee.default);let t=new jT({ellipsoid:e}),n=new $2;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new j2,this._material=void 0,this._surface=new oB({tileProvider:new K2({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new me,this._undergroundColor=H.clone(H.BLACK),this._undergroundColorAlphaByDistance=new Bt(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new Z2,PK(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new we({url:rn("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=ee.WGS84.equals(e),this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.lightingFadeInDistance=P.PI*e.minimumRadius,this.nightFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.nightFadeInDistance=5*P.PI_OVER_TWO*e.minimumRadius,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=bn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3}Object.defineProperties(Mh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return l(this._surface)?this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},clippingPolygons:{get:function(){return this._surface.tileProvider.clippingPolygons},set:function(e){this._surface.tileProvider.clippingPolygons=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){l(e)||(e=se.clone(se.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),l(this._material)&&PK(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,PK(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=H.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=Bt.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function PK(e){let t=[],n=l(e._material)&&(l(e._material.shaderSource.match(/slope/))||l(e._material.shaderSource.match("normalEC"))),i=[sg,ov];l(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(G2),e._surfaceShaderSet.baseVertexShaderSource=new ze({sources:[sg,ov,W2],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new ze({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function Jmt(e){return function(t,n){let i=ae.distanceSquaredTo(t.pickBoundingSphere,e),o=ae.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var ept=[],tpt={start:0,stop:0};Mh.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=ept;s.length=0;let a=this._surface._tilesToRender,c=a.length,u,f;for(f=0;f<c;++f){u=a[f];let p=u.data;if(!l(p))continue;let g=p.pickBoundingSphere;if(o!==ne.SCENE3D)p.pickBoundingSphere=g=ae.fromRectangleWithHeights2D(u.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(l(p.renderedMesh))ae.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let m=ni.raySphere(e,g,tpt);l(m)&&s.push(p)}s.sort(Jmt(e.origin));let d;for(c=s.length,f=0;f<c&&(d=s[f].pick(e,t.mode,t.mapProjection,n,i),!l(d));++f);return d};var npt=new fe;Mh.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),l(n)&&t.mode!==ne.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,npt);n=this._ellipsoid.cartographicToCartesian(i,n)}return n};var ipt=new h,dbe=new h,opt=new fe,rpt=new gn;function IK(e,t){return l(e)&&se.contains(e.rectangle,t)?e:void 0}Mh.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!l(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!se.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;l(n);)n=IK(n._southwestChild,e)||IK(n._southeastChild,e)||IK(n._northwestChild,e)||n._northeastChild,l(n)&&l(n.data)&&l(n.data.renderedMesh)&&(r=n);if(n=r,!l(n)||!l(n.data)||!l(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,ipt),u=rpt,f=a.geodeticSurfaceNormal(c,u.direction),d=a.getSurfaceNormalIntersectionWithZAxis(c,11500,u.origin);if(!l(d)){let g;l(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let m=Math.min(y(g,0),-11500),x=h.multiplyByScalar(f,Math.abs(m)+1,dbe);h.subtract(c,x,u.origin)}let p=n.data.pick(u,void 0,s,!1,dbe);if(l(p))return a.cartesianToCartographic(p,opt).height};Mh.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)};Mh.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=l(i)&&i.hasWaterMask&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(l(c)){let u=this;a.fetchImage().then(function(f){c===u._oceanNormalMapResource.url&&(u._oceanNormalMap=u._oceanNormalMap&&u._oceanNormalMap.destroy(),u._oceanNormalMap=new Mt({context:e.context,source:f}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===ne.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.showWaterEffect=this.showWaterEffect,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.vertexShadowDarkness=this.vertexShadowDarkness,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};Mh.prototype.render=function(e){this.show&&(l(this._material)&&this._material.update(e.context),this._surface.render(e))};Mh.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)};Mh.prototype.isDestroyed=function(){return!1};Mh.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),ue(this)};var rB=Mh;var nu=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = texture(colorTexture, v_textureCoordinates); -} -`;var v0=`uniform highp sampler2D u_depthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); -} -`;function Jm(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new _i,this._tempCopyDepthFramebuffer=new _i,this._updateDepthFramebuffer=new _i({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new We,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(Jm.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function hbe(e,t,n,i,o){let r=e._viewport;r.width=n,r.height=i;let s=!We.equals(r,o.viewport),a=s!==e._useScissorTest;e._useScissorTest=s,We.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=We.clone(o.viewport,e._scissorRectangle),a=!0),(!l(e._rs)||!We.equals(r,e._rs.viewport)||a)&&(e._rs=Ve.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=Ve.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:hn.ALPHA_BLEND}),e._rsUpdate=Ve.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Wn.EQUAL,frontOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.KEEP},backFunction:Wn.NEVER,reference:Vt.CESIUM_3D_TILE_MASK,mask:Vt.CESIUM_3D_TILE_MASK}})),l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(v0,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,l(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(nu,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,l(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(v0,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,l(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(nu,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,l(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new oi({color:new H(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}Jm.prototype.update=function(e,t,n,i,o,r){let{width:s,height:a}=n,c=o?e.halfFloatingPointTexture?Je.HALF_FLOAT:Je.FLOAT:Je.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),hbe(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._clearGlobeDepth=r};Jm.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};Jm.prototype.executeCopyDepth=function(e,t){l(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};Jm.prototype.executeUpdateDepth=function(e,t,n){let i=l(n)?n:t.framebuffer.depthStencilTexture;if(!this._clearGlobeDepth&&i===this.colorFramebufferManager.getDepthStencilTexture()){l(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t);return}if(!l(this._updateDepthCommand))return;let o=this._updateDepthFramebuffer;if(!l(o.framebuffer)||o.getDepthStencilTexture()!==i||o.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture(),{width:s,height:a}=r;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,s,a),o.setColorTexture(r,0),o.setDepthStencilTexture(i),o.update(e,s,a),hbe(this,e,s,a,t)}this._tempCopyDepthTexture=i,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)};Jm.prototype.executeCopyColor=function(e,t){l(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};Jm.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;l(i)&&(H.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};Jm.prototype.isDestroyed=function(){return!1};Jm.prototype.destroy=function(){return this._pickColorFramebuffer.destroy(),this._outputFramebuffer.destroy(),this._copyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.destroy(),this._updateDepthFramebuffer.destroy(),l(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),l(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),l(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),ue(this)};var sB=Jm;function YT(){this._framebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new _i,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new We,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(YT.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function spt(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function apt(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?Je.HALF_FLOAT:Je.FLOAT:Je.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function cpt(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!We.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,We.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=We.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._renderState)||!We.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(v0,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),l(e._clearCommand)||(e._clearCommand=new oi({color:new H(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}YT.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;apt(this,n,o,r,e),cpt(this,n,o,r,i),this._useHdr=e};YT.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};YT.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};YT.prototype.isDestroyed=function(){return!1};YT.prototype.destroy=function(){return spt(this),ue(this)};var aB=YT;var Ea={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},XT=Ea.DERIVED_COMMANDS_MAXIMUM_LENGTH,Abe=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function KT(){this._frontFaceAlphaByDistance=new Bt(0,1,0,1),this._backFaceAlphaByDistance=new Bt(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=se.clone(se.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(XT),this._derivedBlendCommandTypes=new Array(XT),this._derivedPickCommandTypes=new Array(XT),this._derivedCommandTypesToUpdate=new Array(XT),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(KT.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});KT.prototype.update=function(e){let t=e.globe;if(!l(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=mbe(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=mbe(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=pbe(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=pbe(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=dpt(this,e,t),this._sunVisibleThroughGlobe=lpt(this,e),this._environmentVisible=upt(this,e),this._useDepthPlane=fpt(this,e),this._numberOfTextureUniforms=hpt(this),this._rectangle=se.clone(t.translucency.rectangle,this._rectangle),mpt(this,e)};function mbe(e,t,n,i){return e?l(n)?(Bt.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function pbe(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function lpt(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function upt(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function fpt(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function dpt(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==ne.SCENE2D&&t.context.depthTexture}function hpt(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function mpt(e,t){e._derivedCommandsLength=RK(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=RK(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=RK(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<XT;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!l(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=Ipt())}function RK(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,u=e._requiresManualDepthTest,f=i?Ea.PICK_FRONT_FACE:u?Ea.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:Ea.TRANSLUCENT_FRONT_FACE,d=i?Ea.PICK_BACK_FACE:u?Ea.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:Ea.TRANSLUCENT_BACK_FACE;return t.mode===ne.SCENE2D?(o[r++]=Ea.DEPTH_ONLY_FRONT_FACE,o[r++]=f,r):(a?(n||(o[r++]=Ea.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=f,o[r++]=d):(o[r++]=d,o[r++]=f)):c?(n||(o[r++]=Ea.DEPTH_ONLY_BACK_FACE),o[r++]=Ea.OPAQUE_FRONT_FACE,o[r++]=d):(n||(o[r++]=Ea.DEPTH_ONLY_FRONT_FACE),o[r++]=Ea.OPAQUE_BACK_FACE,o[r++]=f),r)}function cd(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function _be(e,t){return e.indexOf(t)>-1}function ppt(e,t){cd(e.defines,"TRANSLUCENT"),cd(t.defines,"TRANSLUCENT")}function _pt(e,t){cd(e.defines,"GROUND_ATMOSPHERE"),cd(t.defines,"GROUND_ATMOSPHERE"),cd(e.defines,"FOG"),cd(t.defines,"FOG"),cd(e.defines,"TRANSLUCENT"),cd(t.defines,"TRANSLUCENT")}function OK(e,t){if(_be(t.defines,"TILE_LIMIT_RECTANGLE")||_be(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main() -{ - out_FragColor = vec4(1.0); -} -`;t.sources=[n]}function MK(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=ze.replaceMain(n[r],"czm_globe_translucency_main");n.push(` - -uniform sampler2D u_classificationTexture; -void main() -{ - vec2 st = gl_FragCoord.xy / czm_viewport.zw; -#ifdef MANUAL_DEPTH_TEST - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); - if (logDepthOrDepth != 0.0) - { - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); - float depthEC = eyeCoordinate.z / eyeCoordinate.w; - if (v_positionEC.z < depthEC) - { - discard; - } - } -#endif - czm_globe_translucency_main(); - vec4 classificationColor = texture(u_classificationTexture, st); - if (classificationColor.a > 0.0) - { - // Reverse premultiplication process to get the correct composited result of the classification primitives - classificationColor.rgb /= classificationColor.a; - } - out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); -} -`)}function Ebe(e,t){MK(e,t),cd(e.defines,"GROUND_ATMOSPHERE"),cd(t.defines,"GROUND_ATMOSPHERE"),cd(e.defines,"FOG"),cd(t.defines,"FOG")}function gpt(e,t){MK(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function ypt(e,t){Ebe(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function gbe(e,t){let n=`uniform sampler2D u_classificationTexture; -void main() -{ - vec2 st = gl_FragCoord.xy / czm_viewport.zw; - vec4 pickColor = texture(u_classificationTexture, st); - if (pickColor == vec4(0.0)) - { - discard; - } - out_FragColor = pickColor; -} -`;t.sources=[n]}function xpt(e,t,n,i,o,r){if(!l(o))return t;if(!i&&l(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!l(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),u=t.fragmentShaderSource.clone();c.defines=l(c.defines)?c.defines.slice(0):[],u.defines=l(u.defines)?u.defines.slice(0):[],o(c,u),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:a})}return s}function bpt(e){e.cull.face=bi.BACK,e.cull.enabled=!0}function Tpt(e){e.cull.face=bi.FRONT,e.cull.enabled=!0}function Cpt(e){e.cull.face=bi.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Apt(e){e.cull.face=bi.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Ept(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function ybe(e){e.cull.face=bi.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=hn.ALPHA_BLEND}function xbe(e){e.cull.face=bi.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=hn.ALPHA_BLEND}function Spt(e){e.cull.face=bi.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function vpt(e){e.cull.face=bi.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function wpt(e,t,n,i,o){if(!l(i))return e;if(!n&&l(t))return t;let r=o[e.id];if(!l(r)){let s=Ve.getState(e);i(s),r=Ve.fromCache(s),o[e.id]=r}return r}function dv(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function Dpt(e,t,n,i,o){return l(o)?!i&&l(n)?n:bt(t,o(e),!1):t}function Lh(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function Ipt(){return[new Lh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:ppt,getRenderStateFunction:bpt,getUniformMapFunction:void 0}),new Lh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:_pt,getRenderStateFunction:Tpt,getUniformMapFunction:void 0}),new Lh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:OK,getRenderStateFunction:Cpt,getUniformMapFunction:void 0}),new Lh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:OK,getRenderStateFunction:Apt,getUniformMapFunction:void 0}),new Lh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:OK,getRenderStateFunction:Ept,getUniformMapFunction:void 0}),new Lh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:MK,getRenderStateFunction:ybe,getUniformMapFunction:dv}),new Lh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Ebe,getRenderStateFunction:xbe,getUniformMapFunction:dv}),new Lh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:gpt,getRenderStateFunction:ybe,getUniformMapFunction:dv}),new Lh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:ypt,getRenderStateFunction:xbe,getUniformMapFunction:dv}),new Lh({pass:Se.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:gbe,getRenderStateFunction:Spt,getUniformMapFunction:dv}),new Lh({pass:Se.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:gbe,getRenderStateFunction:vpt,getUniformMapFunction:dv})]}var bbe=new Array(XT),Tbe=new Array(XT);KT.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)Tbe[o]=this._derivedCommandPacks[n[o]],bbe[o]=Abe[n[o]];Ppt(this,e,i,n,bbe,Tbe,t)}};function Ppt(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!l(a)||c){t.dirty=!1,l(a)||(a={},t.derivedCommands.globeTranslucency=a);let u=s.frameNumber,f=y(a.uniformMapDirtyFrame,0),d=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,m=a.shaderProgramId!==t.shaderProgram.id,x=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=u),m&&(a.shaderProgramDirtyFrame=u),x&&(a.renderStateDirtyFrame=u),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let b=0;b<n;++b){let T=r[b],A=i[b],C=o[b],E=a[C],v,D,O;l(E)?(v=E.uniformMap,D=E.shaderProgram,O=E.renderState):(v=void 0,D=void 0,O=void 0),E=Xe.shallowClone(t,E),a[C]=E;let R=y(E.derivedCommands.uniformMapDirtyFrame,0),M=y(E.derivedCommands.shaderProgramDirtyFrame,0),N=y(E.derivedCommands.renderStateDirtyFrame,0),_=g||R<f,S=m||M<d,w=x||N<p;_&&(E.derivedCommands.uniformMapDirtyFrame=u),S&&(E.derivedCommands.shaderProgramDirtyFrame=u),w&&(E.derivedCommands.renderStateDirtyFrame=u),E.derivedCommands.type=A,E.pass=T.pass,E.pickOnly=T.pickOnly,E.uniformMap=Dpt(e,t.uniformMap,v,_,T.getUniformMapFunction),E.shaderProgram=xpt(s.context,t.shaderProgram,D,S,T.getShaderProgramFunction,C),E.renderState=wpt(t.renderState,O,w,T.getRenderStateFunction,T.renderStateCache)}}}KT.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick||n.passes.pickVoxel;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=Abe[o[a]];n.commandList.push(s[c])}};function Sbe(e,t,n,i,o,r){for(let s=0;s<t;++s){let a=e[s],c=a.derivedCommands.type;(!l(r)||r.indexOf(c)>-1)&&n(a,i,o)}}function Cbe(e,t,n,i,o){for(let r=0;r<t;++r)n(e[r],i,o)}var Rpt=[Ea.OPAQUE_FRONT_FACE,Ea.OPAQUE_BACK_FACE],Opt=[Ea.DEPTH_ONLY_FRONT_FACE,Ea.DEPTH_ONLY_BACK_FACE,Ea.DEPTH_ONLY_FRONT_AND_BACK_FACE];KT.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[Se.GLOBE],a=e.indices[Se.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),Sbe(s,a,t,i,o,Rpt))};KT.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let{context:r}=i,{uniformState:s}=r,a=e.commands[Se.GLOBE],c=e.indices[Se.GLOBE],u=e.commands[Se.TERRAIN_CLASSIFICATION],f=e.indices[Se.TERRAIN_CLASSIFICATION];if(c===0||f===0)return;let d=this._frontFaceTranslucent,p=this._backFaceTranslucent;if((!d||!p)&&Cbe(u,f,t,i,o),!d&&!p)return;this._globeTranslucencyFramebuffer=n;let g=s.globeDepthTexture,m=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,Sbe(a,c,t,i,o,Opt),r.depthTexture){let x=n.packDepth(r,o);s.globeDepthTexture=x}Cbe(u,f,t,i,o),s.globeDepthTexture=g,o.framebuffer=m};var cB=KT;var Mpt=1953029805,Lpt=2917034100;function LK(e,t){if(LK.passThroughDataForTesting)return t;let n=e.byteLength;if(n===0||n%4!==0)throw new ce("The length of key must be greater than 0 and a multiple of 4.");let i=new DataView(t),o=i.getUint32(0,!0);if(o===Mpt||o===Lpt)return t;let r=new DataView(e),s=0,a=t.byteLength,c=a-a%8,u=n,f,d=8;for(;s<c;)for(d=(d+8)%24,f=d;s<c&&f<u;)i.setUint32(s,i.getUint32(s,!0)^r.getUint32(f,!0),!0),i.setUint32(s+4,i.getUint32(s+4,!0)^r.getUint32(f+4,!0),!0),s+=8,f+=24;if(s<a)for(f>=u&&(d=(d+8)%24,f=d);s<a;)i.setUint8(s,i.getUint8(s)^r.getUint8(f)),s++,f++}LK.passThroughDataForTesting=!1;var lB=LK;var Upt=Bo(NK(),1);function Npt(e,t){return(e&t)!==0}var Ic=Npt;var Fpt=[1,2,4,8],vbe=15,Bpt=16,kpt=64,Vpt=128;function ep(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}ep.clone=function(e,t){return l(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new ep(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t};ep.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()};ep.prototype.hasSubtree=function(){return Ic(this._bits,Bpt)};ep.prototype.hasImagery=function(){return Ic(this._bits,kpt)};ep.prototype.hasTerrain=function(){return Ic(this._bits,Vpt)};ep.prototype.hasChildren=function(){return Ic(this._bits,vbe)};ep.prototype.hasChild=function(e){return Ic(this._bits,Fpt[e])};ep.prototype.getChildBitmask=function(){return this._bits&vbe};var uB=ep;function zpt(e){let t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}var Hpt=zpt(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y -wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB -\f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 -\xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 -ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS ->\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 -\x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function Ju(e){this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=P.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={}}Object.defineProperties(Ju.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}}});Ju.fromUrl=async function(e){let t=e;typeof t!="string"&&!(t instanceof we)&&(t=e.url);let n=we.createIfNeeded(t);n.appendForwardSlash();let i=new Ju;i._resource=n;try{await Gpt(i),await i.getQuadTreePacket("",i._quadPacketVersion)}catch(o){let r=`An error occurred while accessing ${Dbe(i,"",1).url}: ${o}`;throw new ce(r)}return i};Ju.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;Ic(t,r)?Ic(e,r)&&(s|=1):(s|=2,Ic(e,r)||(s|=1)),i+=s}return i};Ju.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];Ic(s,2)?Ic(s,1)||(t|=r):(n|=r,Ic(s,1)&&(t|=r))}return{x:t,y:n,level:i}};Ju.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(l(t))return t!==null;let n=!0,i=e,o;for(;i.length>1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),l(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var wbe=new yi("decodeGoogleEarthEnterprisePacket");Ju.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=Dbe(this,e,t,n).fetchArrayBuffer();if(!l(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return wbe.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(u){let f,d=-1;if(e!==""){d=e.length+1;let m=u[e];f=r[e],f._bits|=m._bits,delete u[e]}let p=Object.keys(u);p.sort(function(m,x){return m.length-x.length});let g=p.length;for(let m=0;m<g;++m){let x=p[m];if(u[x]!==null){let T=uB.clone(u[x]),A=x.length;if(A===d)T.setParent(f);else if(A>1){let C=r[x.substring(0,x.length-1)];T.setParent(C)}r[x]=T}else r[x]=null}})})};Ju.prototype.populateSubtree=function(e,t,n,i){let o=Ju.tileXYToQuadKey(e,t,n);return kK(this,o,i)};function kK(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(l(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(l(c))return c.then(function(){return s=new Xo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),kK(e,t,s)});if(!l(r)||!r.hasSubtree())return Promise.reject(new ce(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!l(c))return a[o]=c,c.then(function(){return s=new Xo({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),kK(e,t,s)}).finally(function(){delete a[o]})}Ju.prototype.getTileInformation=function(e,t,n){let i=Ju.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};Ju.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function Dbe(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var FK,BK;function Gpt(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!l(BK)){let n=rn("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;BK=Q0(n).then(function(){FK=window.cesiumGoogleEarthDbRootParser(Upt),l(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return BK.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=FK.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return wbe.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=FK.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),l(i.endSnippet)&&l(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}l(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a<s;++a){let c=r[a],u=c.copyrightString;l(u)&&(o[c.providerId]=new wt(u.value))}}).catch(function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=Hpt})}var cg=Ju;var Ibe=Bo(NK(),1);function VK(){this._image=new Image}VK.prototype.isReady=function(){return!0};VK.prototype.shouldDiscardImage=function(e){return e===this._image};function ZT(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new Ki({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new se(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new wt(t)),this._credit=t,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new VK),this._errorEvent=new me}Object.defineProperties(ZT.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});ZT.fromMetadata=function(e,t){if(!e.imageryPresent)throw new ce(`The server ${e.url} doesn't have imagery`);let n=new ZT(t);return n._metadata=e,n};ZT.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(l(o)){let r=i.providers[o.imageryProvider];if(l(r))return[r]}};ZT.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=cg.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!l(a)){if(r.isValid(s)){let u=new Xo({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,u);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=Wpt(this,a,e,t,n,i).fetchArrayBuffer();if(l(c))return c.then(function(u){lB(r.key,u);let f=new Uint8Array(u),d,p=r.protoImagery;if((!l(p)||!p)&&(d=jpt(f)),!l(d)&&(!l(p)||p)){let g=qpt(f);d=g.imageType,f=g.imageData}return!l(d)||!l(f)?o:eb({uint8Array:f,format:d,flipY:!0})})};ZT.prototype.pickFeatures=function(e,t,n,i,o){};function Wpt(e,t,n,i,o,r){let s=cg.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=l(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function jpt(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function qpt(e){let t=Ibe.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,l(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(l(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new ce("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return l(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var UK=ZT;var Ypt=new H(1,1,1,.4),Xpt=new H(0,1,0,.05),Kpt=new H(0,.5,0,.2);function $T(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Ki({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,Ypt),this._glowColor=y(e.glowColor,Xpt),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,Kpt),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas()}Object.defineProperties($T.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});$T.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let r=1+i/this._cells*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};$T.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};$T.prototype.getTileCredits=function(e,t,n){};$T.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};$T.prototype.pickFeatures=function(e,t,n,i,o){};var zK=$T;function Nh(){}Nh._maxDecodingConcurrency=Math.max(Gt.hardwareConcurrency-1,1);Nh._decodeTaskProcessor=new yi("decodeI3S",Nh._maxDecodingConcurrency);Nh._promise=void 0;async function Zpt(){if(await Nh._decodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}))return Nh._decodeTaskProcessor;throw new ce("I3S decoder could not be initialized.")}Nh.decode=async function(e,t,n,i,o){return l(Nh._promise)||(Nh._promise=Zpt()),Nh._promise.then(function(r){let s=n._parent._data,a=n._parent._inverseRotationMatrix,c=0,u=0,f=0;l(s.obb)?(c=s.obb.center[0],u=s.obb.center[1],f=s.obb.center[2]):l(s.mbs)&&(c=s.mbs[0],u=s.mbs[1],f=s.mbs[2]);let d=$.fromRotationX(-P.PI_OVER_TWO),p=new $;$.multiply(d,a,p);let g=fe.fromDegrees(c,u,f),m=ee.WGS84.cartographicToCartesian(g),x={binaryData:n._data,featureData:l(i)&&l(i[0])?i[0].data:void 0,schema:t,bufferInfo:n._geometryBufferInfo,ellipsoidRadiiSquare:ee.WGS84.radiiSquared,url:e,geoidDataList:n._dataProvider._geoidDataList,cartographicCenter:g,cartesianCenter:m,parentRotation:p,enableFeatures:n._dataProvider.showFeatures,splitGeometryByColorTransparency:n._dataProvider.adjustMaterialAlphaMode,symbologyData:o,calculateNormals:n._dataProvider.calculateNormals};return r.scheduleTask(x)})};var fB=Nh;function HK(e,t){this._parent=e,this._dataProvider=e._dataProvider,this._layer=e._layer,l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${t}`}):this._resource=this._parent.resource.getDerivedResource({url:t})}Object.defineProperties(HK.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});HK.prototype.load=async function(){return this._data=await Fh.loadJson(this._resource),this._data};var dB=HK;function lg(e,t){this._storageInfo=t,this._parent=e,this._dataProvider=e._dataProvider,this._loadPromise=void 0;let n=`attributes/${t.key}/0`;l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${n}`}):this._resource=this._parent.resource.getDerivedResource({url:n})}Object.defineProperties(lg.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){if(l(this._values)){if(l(this._values.attributeValues))return this._values.attributeValues;if(l(this._values.objectIds))return this._values.objectIds}return[]}},name:{get:function(){return this._storageInfo.name}}});function V8(e){return e==="UInt8"||e==="Int8"?1:e==="UInt16"||e==="Int16"?2:e==="UInt32"||e==="Int32"||e==="Oid32"||e==="Float32"?4:e==="UInt64"||e==="Int64"||e==="Float64"?8:0}function $pt(e){return e==="String"?1:V8(e)}async function Qpt(e){let t=await e._dataProvider._loadBinary(e._resource),n=new DataView(t);e._data=t,e._validateHeader(n);let i=e._parseHeader(n),o=e._getBodyOffset(i);e._validateBody(n,o),e._parseBody(n,o)}lg.prototype.load=function(){return l(this._loadPromise)?this._loadPromise:(this._loadPromise=Qpt(this).catch(function(e){console.error(e)}),this._loadPromise)};lg.prototype._parseValue=function(e,t,n){let i;if(t==="UInt8")i=e.getUint8(n),n+=1;else if(t==="Int8")i=e.getInt8(n),n+=1;else if(t==="UInt16")i=e.getUint16(n,!0),n+=2;else if(t==="Int16")i=e.getInt16(n,!0),n+=2;else if(t==="UInt32")i=e.getUint32(n,!0),n+=4;else if(t==="Oid32")i=e.getUint32(n,!0),n+=4;else if(t==="Int32")i=e.getInt32(n,!0),n+=4;else if(t==="UInt64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);i=o+Math.pow(2,32)*r,n+=8}else if(t==="Int64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);r<Math.pow(2,31)?i=o+Math.pow(2,32)*r:i=o+Math.pow(2,32)*(r-Math.pow(2,32)),n+=8}else t==="Float32"?(i=e.getFloat32(n,!0),n+=4):t==="Float64"?(i=e.getFloat64(n,!0),n+=8):t==="String"&&(i=String.fromCharCode(e.getUint8(n)),n+=1);return{value:i,offset:n}};lg.prototype._parseHeader=function(e){let t=0;this._header={};for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n],o=this._parseValue(e,i.valueType,t);this._header[i.property]=o.value,t=o.offset}return t};lg.prototype._parseBody=function(e,t){this._values={};for(let n=0;n<this._storageInfo.ordering.length;n++){let i=this._storageInfo.ordering[n],o=i==="ObjectIds"?"objectIds":i,r=this._storageInfo[o];if(l(r)){this._values[o]=[];for(let s=0;s<this._header.count;++s)if(r.valueType!=="String"){let a=this._parseValue(e,r.valueType,t);this._values[o].push(a.value),t=a.offset}else{let a=this._values.attributeByteCounts[s],c="";for(let u=0;u<a;++u){let f=this._parseValue(e,r.valueType,t);f.value.charCodeAt(0)!==0&&(c+=f.value),t=f.offset}this._values[o].push(c)}}}};lg.prototype._getBodyOffset=function(e){let t=0;return l(this._storageInfo.attributeValues)?t=V8(this._storageInfo.attributeValues.valueType):l(this._storageInfo.objectIds)&&(t=V8(this._storageInfo.objectIds.valueType)),t>0?Math.ceil(e/t)*t:e};lg.prototype._validateHeader=function(e){let t=0;for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n];t+=$pt(i.valueType)}if(e.byteLength<t)throw new ce(`Invalid attribute buffer size (field: ${this.name}, header: ${t}, actual: ${e.byteLength})`)};lg.prototype._validateBody=function(e,t){if(!l(this._header.count))throw new ce(`Invalid attribute buffer (field: ${this.name}, count is missing)`);let n;for(let i=0;i<this._storageInfo.ordering.length&&t<e.byteLength;i++){let o=this._storageInfo.ordering[i],r=o==="ObjectIds"?"objectIds":o,s=this._storageInfo[r];if(l(s))if(s.valueType!=="String"){r==="attributeByteCounts"&&(n=t);let a=V8(s.valueType);t+=a*this._header.count}else{if(!l(n))throw new ce(`Invalid attribute buffer (field: ${this.name}, attributeByteCounts is missing)`);for(let a=0;a<this._header.count&&t<e.byteLength;++a){let c=this._parseValue(e,this._storageInfo.attributeByteCounts.valueType,n);t+=c.value,n=c.offset}}else throw new ce(`Invalid attribute buffer (field: ${this.name}, ${r} is missing)`)}if(e.byteLength<t)throw new ce(`Invalid attribute buffer size (field: ${this.name}, expected: ${t}, actual: ${e.byteLength})`)};var hB=lg;function Jpt(e){return e<=.04045?e*.07739938080495357:Math.pow((e+.055)*.9478672985781991,2.4)}var QT=Jpt;function mB(e,t){let n=e._dataProvider,i=e._layer,o;l(e._nodeIndex)?o=i.resource.getDerivedResource({url:`nodes/${e._data.mesh.geometry.resource}/${t}`}):o=e.resource.getDerivedResource({url:t}),this._parent=e,this._dataProvider=n,this._layer=i,this._resource=o,this._customAttributes=void 0}Object.defineProperties(mB.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});mB.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){return e._data=t,t})};var e_t=new h,t_t=new h,n_t=new h,i_t=new h,o_t=new h;function GK(e,t,n,i){let o=h.subtract(i,n,e_t),r=h.cross(o,h.subtract(e,n,t_t),i_t),s=h.cross(o,h.subtract(t,n,n_t),o_t);return h.dot(r,s)>=0}var r_t=new h,s_t=new h,a_t=new h,c_t=new h,l_t=new h,u_t=new h,f_t=new h,d_t=new h,h_t=new h,m_t=new h;mB.prototype.getClosestPointIndexOnTriangle=function(e,t,n){if(l(this._customAttributes)&&l(this._customAttributes.positions)){let i=new h(e,t,n);i.x-=this._customAttributes.cartesianCenter.x,i.y-=this._customAttributes.cartesianCenter.y,i.z-=this._customAttributes.cartesianCenter.z,$.multiplyByVector(this._customAttributes.parentRotation,i,i);let o=Number.MAX_VALUE,r,s,a,c,u=this._customAttributes.positions,f=this._customAttributes.indices,d;l(f)?d=f.length:d=u.length/3;for(let p=0;p<d;p++){let g,m,x;l(f)?(g=f[p],m=f[p+1],x=f[p+2]):(g=p*3,m=p*3+1,x=p*3+2);let b=h.fromElements(u[g*3],u[g*3+1],u[g*3+2],r_t),T=h.fromElements(u[m*3],u[m*3+1],u[m*3+2],s_t),A=new h(u[x*3],u[x*3+1],u[x*3+2],a_t);if(!GK(i,b,T,A)||!GK(i,T,b,A)||!GK(i,A,b,T))continue;let C=h.subtract(T,b,c_t),E=h.subtract(A,b,l_t),v=h.cross(C,E,u_t);if(h.magnitude(v)===0)continue;let D=h.normalize(v,f_t),O=h.subtract(i,b,d_t),R=Math.abs(h.dot(O,D));if(R<o){o=R,r=p;let M=h.magnitudeSquared(h.subtract(i,b,O)),N=h.magnitudeSquared(h.subtract(i,T,h_t)),_=h.magnitudeSquared(h.subtract(i,A,m_t));M<N&&M<_?(a=g,c=b,s=M):N<_?(a=m,c=T,s=N):(a=x,c=A,s=_)}}if(l(r))return{index:a,distanceSquared:s,distance:Math.sqrt(s),queriedPosition:i,closestPosition:h.clone(c)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};function Pbe(e){let t=[],n=e.length;for(let i=0;i<n;i++)i<3?t.push(QT(e[i])):t.push(e[i]);return t}mB.prototype._generateGltf=function(e,t,n,i,o,r,s,a){let c={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},u=!1,f,d="";if(l(this._parent._data.mesh)&&l(this._layer._data.materialDefinitions)){let C=this._parent._data.mesh.material.definition;if(C>=0&&C<this._layer._data.materialDefinitions.length){if(f=this._layer._data.materialDefinitions[C],c=f,l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorTexture)){u=!0,c.pbrMetallicRoughness.baseColorTexture.index=0;let E="0";if(l(this._layer._data.textureSetDefinitions))for(let v=0;v<this._layer._data.textureSetDefinitions.length;v++){let D=this._layer._data.textureSetDefinitions[v];for(let O=0;O<D.formats.length;O++){let R=D.formats[O];if(R.format==="jpg"){E=R.name;break}}}l(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(d=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${E}`}).url)}l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorFactor)&&(c.pbrMetallicRoughness.baseColorFactor=Pbe(c.pbrMetallicRoughness.baseColorFactor)),l(c.emissiveFactor)&&(c.emissiveFactor=Pbe(c.emissiveFactor))}}else l(this._parent._data.textureData)&&(u=!0,d=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,c.pbrMetallicRoughness.baseColorTexture={index:0});l(c.alphaMode)&&(c.alphaMode=c.alphaMode.toUpperCase());let p=[],g=[],m=[];u&&(p=[{sampler:0,source:0}],g=[{uri:d}],m=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]);let x=[],b=n.length;for(let A=0;A<b;A++){let C=n[A].primitives,E=C.length;for(let v=0;v<E;v++){let D=C[v];if(l(D.material)){for(;D.material>=x.length;){let R=He(c,!0);x.push(R)}let O=x[D.material];l(D.extra)&&D.extra.isTransparent?l(O.alphaMode)||(O.alphaMode="BLEND"):O.alphaMode==="BLEND"&&(O.alphaMode="OPAQUE")}}}return{scene:0,scenes:[{nodes:e}],nodes:t,meshes:n,buffers:i,bufferViews:o,accessors:r,materials:x,textures:p,images:g,samplers:m,asset:{version:"2.0"},extensions:s,extensionsUsed:a}};var hv=mB;function Pc(e,t,n){let i,o,r,s;n?(i=0,o=e):(i=e._level+1,o=e._layer),typeof t=="number"?r=t:s=e.resource.getDerivedResource({url:`${t}/`}),this._parent=e,this._dataProvider=e._dataProvider,this._isRoot=n,this._level=i,this._layer=o,this._nodeIndex=r,this._resource=s,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0,this._symbologyData=void 0}Object.defineProperties(Pc.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});Pc.prototype.load=async function(){let e=this;function t(){if(!e._isRoot){let o=e._create3DTileDefinition();e._tile=new zf(e._layer._tileset,e._dataProvider.resource,o,e._parent._tile),e._tile._i3sNode=e}}if(!l(this._nodeIndex)){let o=await Fh.loadJson(this._resource);e._data=o,t();return}let n=await this._layer._getNodeInNodePages(this._nodeIndex);e._data=n;let i;e._isRoot?i="nodes/root/":l(n.mesh)&&(i=`../${n.mesh.geometry.resource}/`),l(i)&&l(e._parent.resource)&&(e._resource=e._parent.resource.getDerivedResource({url:i})),t()};function Rbe(e,t){let n=new hB(e,t);return e._fields[t.name]=n,n.load()}Pc.prototype.loadFields=function(){let e=this._layer._data.attributeStorageInfo,t=[];if(l(e))for(let n=0;n<e.length;n++){let i=e[n],o=this._fields[i.name];l(o)?t.push(o.load()):t.push(Rbe(this,i))}return Promise.all(t)};Pc.prototype.loadField=function(e){let t=this._fields[e];if(l(t))return t.load();let n=this._layer._data.attributeStorageInfo;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];if(o.name===e)return Rbe(this,o)}return Promise.resolve()};Pc.prototype.getFieldsForPickedPosition=function(e){let t=this.geometryData[0];if(!l(t.customAttributes.featureIndex))return{};let n=t.getClosestPointIndexOnTriangle(e.x,e.y,e.z);if(n.index===-1||n.index>t.customAttributes.featureIndex.length)return{};let i=t.customAttributes.featureIndex[n.index];return this.getFieldsForFeature(i)};Pc.prototype.getFieldsForFeature=function(e){let t={};for(let n in this.fields)if(this.fields.hasOwnProperty(n)){let i=this.fields[n];e>=0&&e<i.values.length&&(t[i.name]=i.values[e])}return t};Pc.prototype._loadChildren=function(){let e=this;if(l(this._childrenReadyPromise))return this._childrenReadyPromise;let t=[];if(l(e._data.children))for(let n=0;n<e._data.children.length;n++){let i=e._data.children[n],o=new Pc(e,y(i.href,i),!1);e._children.push(o),t.push(o.load())}return this._childrenReadyPromise=Promise.all(t).then(function(){for(let n=0;n<e._children.length;n++)e._tile.children.push(e._children[n]._tile)}),this._childrenReadyPromise};Pc.prototype._loadGeometryData=function(){let e=[];if(l(this._data.geometryData))for(let t=0;t<this._data.geometryData.length;t++){let n=new hv(this,this._data.geometryData[t].href);this._geometryData.push(n),e.push(n.load())}else if(l(this._data.mesh)){let t=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),n=`./geometries/${t.bufferIndex}/`,i=new hv(this,n);i._geometryDefinitions=t.definition,i._geometryBufferInfo=t.geometryBufferInfo,this._geometryData.push(i),e.push(i.load())}return Promise.all(e)};Pc.prototype._loadFeatureData=function(){let e=[];if(l(this._data.featureData))for(let t=0;t<this._data.featureData.length;t++){let n=new dB(this,this._data.featureData[t].href);this._featureData.push(n),e.push(n.load())}return Promise.all(e)};Pc.prototype._clearGeometryData=function(){this._geometryData=[]};Pc.prototype._create3DTileDefinition=function(){let e=this._data.obb,t=this._data.mbs;if(!l(e)&&!l(t)){console.error("Failed to load I3S node. Bounding volume is required.");return}let n;if(l(e)?n=fe.fromDegrees(e.center[0],e.center[1],e.center[2]):n=fe.fromDegrees(t[0],t[1],t[2]),l(this._dataProvider._geoidDataList)&&l(n))for(let T=0;T<this._dataProvider._geoidDataList.length;T++){let A=this._dataProvider._geoidDataList[T],C=A.projection.project(n);if(C.x>A.nativeExtent.west&&C.x<A.nativeExtent.east&&C.y>A.nativeExtent.south&&C.y<A.nativeExtent.north){n.height+=y_t(C.x,C.y,A);break}}let i={},o,r=0;l(e)?(i={box:[0,0,0,e.halfSize[0],0,0,0,e.halfSize[1],0,0,0,e.halfSize[2]]},r=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),o=ee.WGS84.cartographicToCartesian(n)):(i={sphere:[0,0,0,t[3]]},o=ee.WGS84.cartographicToCartesian(n),r=this._data.mbs[3]),r*=2;let s=1/0;if(l(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let T=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));s=r/T}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let T=this._data.lodThreshold;s=r/T}else console.error("Invalid lodSelectionMetricType in Layer");else if(l(this._data.lodSelection))for(let T=0;T<this._data.lodSelection.length;T++)this._data.lodSelection[T].metricType==="maxScreenThreshold"&&(s=r/this._data.lodSelection[T].maxError);s===1/0&&(s=1e5);let a=s*16,c=new Ia(0,0,0),u=Lt.headingPitchRollQuaternion(o,c);l(this._data.obb)&&(u=new Le(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let f=$.fromQuaternion(u),d=$.inverse(f,new $),p=new F(f[0],f[1],f[2],0,f[3],f[4],f[5],0,f[6],f[7],f[8],0,o.x,o.y,o.z,1),g=F.inverse(p,new F),m=F.clone(p);l(this._parent._globalTransform)&&F.multiply(p,this._parent._inverseGlobalTransform,m),this._globalTransform=p,this._inverseGlobalTransform=g,this._inverseRotationMatrix=d;let x=[];for(let T=0;T<this._children.length;T++)x.push(this._children[T]._create3DTileDefinition());return{children:x,refine:"REPLACE",boundingVolume:i,transform:[m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]],content:{uri:l(this._resource)?this._resource.url:void 0},geometricError:a}};Pc.prototype._loadSymbology=async function(){!l(this._symbologyData)&&l(this._layer._symbology)&&(this._symbologyData=await this._layer._symbology._getSymbology(this))};Pc.prototype._createContentURL=async function(){let e={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},t=[this._loadGeometryData()];if(this._dataProvider.legacyVersion16&&t.push(this._loadFeatureData()),await Promise.all(t),l(this._geometryData)&&this._geometryData.length>0){this._dataProvider._applySymbology&&await this._loadSymbology();let o=this._geometryData[0].resource.url,r=this._layer._data.store.defaultGeometrySchema,s=this._geometryData[0],a=await fB.decode(o,r,s,this._featureData[0],this._symbologyData);if(!l(a))return;e=s._generateGltf(a.meshData.nodesInScene,a.meshData.nodes,a.meshData.meshes,a.meshData.buffers,a.meshData.bufferViews,a.meshData.accessors,a.meshData.rootExtensions,a.meshData.extensionsUsed),this._geometryData[0]._customAttributes=a.meshData._customAttributes}let n=this._dataProvider._binarizeGltf(e),i=new Blob([n],{type:"application/binary"});return URL.createObjectURL(i)};async function p_t(e){let t=e._layer._filters,n=[];for(let i=0;i<t.length;i++){let o=e.loadField(t[i].name);n.push(o)}return await Promise.all(n),t}function __t(e,t,n){if(!l(n.values)||n.values.length===0)return!1;let i=l(t)?t.values:[],o;e<i.length&&(o=i[e]);let r=!1;for(let s=0;s<n.values.length;s++)if(n.values[s]===o){r=!0;break}return r}async function Obe(e,t){let n=e._tile.content.batchTable;if(l(n)&&n.featuresLength>0){n.setAllShow(!0);let i=await p_t(e);if(i.length>0)for(let o=0;o<n.featuresLength;o++)for(let r=0;r<i.length;r++){let s=i[r];if(!__t(o,e._fields[s.name],s)){n.setShow(o,!1);break}}}t.show=!0}Pc.prototype._filterFeatures=function(){let e=[];for(let n=0;n<this._children.length;n++){let i=this._children[n]._filterFeatures();e.push(i)}let t=this._tile?.content?._model;if(l(this._geometryData)&&this._geometryData.length>0&&l(t)&&t.ready){t.show=!1;let n=Obe(this,t);e.push(n)}return Promise.all(e)};zf.prototype._hookedRequestContent=zf.prototype.requestContent;zf.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading){this._isLoading=!0;let e=this;return this._i3sNode._createContentURL().then(t=>{if(!l(t)){e._isLoading=!1;return}return e._contentResource=new we({url:t}),e._hookedRequestContent()}).then(t=>{let n=t?._model;return l(e._i3sNode._geometryData)&&e._i3sNode._geometryData.length>0&&l(n)&&(n.show=!1,n.readyEvent.addEventListener(()=>{Obe(e._i3sNode,n)})),e._isLoading=!1,t})}};function g_t(e,t,n,i,o,r){let s=n*(1-e)+i*e,a=o*(1-e)+r*e;return s*(1-t)+a*t}function U8(e,t,n,i){let o=e+t*n;return i[o]}function y_t(e,t,n){let i=n.nativeExtent,o=(e-i.west)/(i.east-i.west)*(n.width-1),r=(t-i.south)/(i.north-i.south)*(n.height-1),s=Math.floor(o),a=Math.floor(r);o-=s,r-=a;let c=s<n.width?s+1:s,u=a<n.height?a+1:a;a=n.height-1-a,u=n.height-1-u;let f=U8(s,a,n.width,n.buffer),d=U8(c,a,n.width,n.buffer),p=U8(s,u,n.width,n.buffer),g=U8(c,u,n.width,n.buffer),m=g_t(o,r,f,d,p,g);return m=m*n.scale+n.offset,m}Object.defineProperties(zf.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var mv=Pc;function z8(e){this._layer=e,this._defaultSymbology=void 0,this._valueFields=[],this._uniqueValueHash=void 0,this._classBreaksHash=void 0,this._parseLayerSymbology()}Object.defineProperties(z8.prototype,{defaultSymbology:{get:function(){return this._defaultSymbology}}});function WK(e,t){let n=[];for(let i=0;i<e.length;i++){let o=H.byteToFloat(e[i]);i<3?n.push(QT(o)):n.push(o)}return n.length===3&&(l(t)?n.push(1-t/100):n.push(1)),n}function pv(e,t){let n={edges:void 0,material:void 0};if(l(e)&&l(e.symbolLayers))for(let i=0;i<e.symbolLayers.length;i++){let o=e.symbolLayers[i];if(o.type==="Fill"){let r=o.edges,s=o.outline;if(l(r)?(n.edges={},l(r.color)&&(n.edges.color=WK(r.color,r.transparency))):l(s)&&(n.edges={},l(s.color)&&(n.edges.color=WK(s.color,s.transparency))),!t){let a=o.material;l(a)&&(n.material={colorMixMode:a.colorMixMode},l(a.color)&&(n.material.color=WK(a.color,a.transparency)))}break}}return n}function x_t(e,t){if(l(e.uniqueValueGroups)){let n={};for(let i=0;i<e.uniqueValueGroups.length;i++){let o=e.uniqueValueGroups[i].classes;if(l(o))for(let r=0;r<o.length;r++){let s=pv(o[r].symbol,t),a=o[r].values;for(let c=0;c<a.length;c++){let u=a[c],f=n;for(let d=0;d<u.length;d++){let p=u[d];d===u.length-1?f[p]=s:(l(f[p])||(f[p]={}),f=f[p])}}}}return n}if(l(e.uniqueValueInfos)){let n={};for(let i=0;i<e.uniqueValueInfos.length;i++){let o=e.uniqueValueInfos[i];n[o.value]=pv(o.symbol,t)}return n}}function b_t(e,t){if(l(e.classBreakInfos)){let n=[...e.classBreakInfos];n.sort(function(o,r){let s=y(o.classMaxValue,o.classMinValue),a=y(r.classMaxValue,r.classMinValue);return s-a});let i={ranges:[],symbols:[]};l(e.minValue)&&(i.ranges.push(e.minValue),i.symbols.push(void 0));for(let o=0;o<n.length;o++){let r=n[o];l(r.classMinValue)&&(i.ranges.length===0||r.classMinValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMinValue),i.symbols.push(void 0)),l(r.classMaxValue)&&(i.ranges.length===0||r.classMaxValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMaxValue),i.symbols.push(pv(r.symbol,t)))}return i.symbols.push(void 0),i}}z8.prototype._parseLayerSymbology=function(){let e=this._layer.data.drawingInfo;if(l(e)&&l(e.renderer)){let t=this._layer.data.cachedDrawingInfo,n=l(t)&&t.color===!0,i=e.renderer;i.type==="simple"?this._defaultSymbology=pv(i.symbol,n):i.type==="uniqueValue"?(this._defaultSymbology=pv(i.defaultSymbol,n),this._valueFields.push(i.field1),l(i.field2)&&this._valueFields.push(i.field2),l(i.field3)&&this._valueFields.push(i.field3),this._uniqueValueHash=x_t(i,n)):i.type==="classBreaks"&&(this._defaultSymbology=pv(i.defaultSymbol,n),this._valueFields.push(i.field),this._classBreaksHash=b_t(i,n))}};function Mbe(e,t,n,i){let o=t[n];if(i<o.length){let r=o[i],s=e[r];return l(s)&&++n<t.length?Mbe(s,t,n,i):s}}function T_t(e,t){let n=0,i=e.length;if(n<i)do{let o=n+i>>>1;e[o]<t?n=o+1:i=o}while(n<i);return n}function C_t(e,t,n){let i=t[n],o=T_t(e.ranges,i);return e.symbols[o]}z8.prototype._getSymbology=async function(e){let t={default:this._defaultSymbology};if(this._valueFields.length>0){let n=[];for(let r=0;r<this._valueFields.length;r++)n.push(e.loadField(this._valueFields[r]));await Promise.all(n);let i=[];for(let r=0;r<this._valueFields.length;r++)i.push(e.fields[this._valueFields[r]].values);let o;if(l(this._uniqueValueHash)?o=r=>Mbe(this._uniqueValueHash,i,0,r):l(this._classBreaksHash)&&(o=r=>C_t(this._classBreaksHash,i[0],r)),l(o)){let r=i[0];for(let s=0;s<r.length;s++){let a=o(s);l(a)&&(t[s]=a)}}}return t};var pB=z8;function iu(e,t,n){this._dataProvider=e,this._parent=n,!l(t.href)&&l(t.id)&&(t.href=`layers/${t.id}`);let i=this._parent.resource.getUrlComponent(),o="";i.match(/layers\/\d/)?o=`${i}`.replace(/\/+$/,""):o=`${i}`.replace(/\/?$/,"/").concat(`${t.href}`),this._version=t.store.version;let r=this._version.split(".");this._majorVersion=parseInt(r[0]),this._minorVersion=r.length>1?parseInt(r[1]):0,this._resource=new we({url:o}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=t,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._filters=[],this._symbology=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(iu.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(l(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});iu.prototype.load=async function(e){if(this._data.spatialReference.wkid!==4326)throw new ce(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(this._dataProvider.applySymbology&&(this._symbology=new pB(this)),await this._dataProvider.loadGeoidData(),await this._loadRootNode(e),await this._create3DTileset(e),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};iu.prototype._computeGeometryDefinitions=function(e){if(this._geometryDefinitions=[],l(this._data.geometryDefinitions))for(let t=0;t<this._data.geometryDefinitions.length;t++){let n=[],i=this._data.geometryDefinitions[t].geometryBuffers;for(let o=0;o<i.length;o++){let r=i[o],s=[],a=!1;if(l(r.compressedAttributes)&&e){a=!0;let c=r.compressedAttributes.attributes;for(let u=0;u<c.length;u++)s.push(c[u])}else for(let c in r)c!=="offset"&&s.push(c);n.push({compressed:a,attributes:s,index:i.indexOf(r)})}n.sort(function(o,r){return o.compressed&&!r.compressed?-1:!o.compressed&&r.compressed?1:o.attributes.length-r.attributes.length}),this._geometryDefinitions.push(n)}};iu.prototype._findBestGeometryBuffers=function(e,t){let n=this._geometryDefinitions[e];if(l(n)){for(let i=0;i<n.length;++i){let o=n[i],r=!1,s=o.attributes;for(let a=0;a<t.length;a++)if(!s.includes(t[a])){r=!0;break}if(!r)return{bufferIndex:o.index,definition:n,geometryBufferInfo:o}}if(l(n[0]))return{bufferIndex:0,definition:n,geometryBufferInfo:n[0]}}};iu.prototype._loadRootNode=function(e){if(l(this._data.nodePages)){let t=0;l(this._data.nodePages.rootIndex)&&(t=this._data.nodePages.rootIndex),this._rootNode=new mv(this,t,!0)}else this._rootNode=new mv(this,this._data.store.rootNode,!0);return this._rootNode.load(e)};iu.prototype._getNodeInNodePages=function(e){let t=Math.floor(e/this._data.nodePages.nodesPerPage),n=e%this._data.nodePages.nodesPerPage;return this._loadNodePage(t).then(function(i){return i.nodes[n]})};iu._fetchJson=function(e){return e.fetchJson()};iu.prototype._loadNodePage=function(e){let t=this;if(!l(this._nodePageFetches[e])){let n=this.resource.getDerivedResource({url:`nodepages/${e}/`}),i=iu._fetchJson(n).then(function(o){return l(o.error)&&o.error.code!==200?Promise.reject(o.error):(t._nodePages[e]=o.nodes,o)});this._nodePageFetches[e]=i}return this._nodePageFetches[e]};iu.prototype._computeExtent=function(){l(this._data.fullExtent)?this._extent=se.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):l(this._data.store.extent)&&(this._extent=se.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};iu.prototype._create3DTileset=async function(e){let t={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},n=new Blob([JSON.stringify(t)],{type:"application/json"}),i=URL.createObjectURL(n),o=this._symbology?.defaultSymbology?.edges?.color;l(o)&&!l(e?.outlineColor)&&(e=l(e)?He(e):{},e.outlineColor=H.fromCartesian4(oe.fromArray(o))),this._tileset=await pa.fromUrl(i,e),this._tileset.show=this._parent.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(r){r._i3sNode._clearGeometryData(),URL.revokeObjectURL(r._contentResource._url),r._contentResource=r._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(r){l(r._i3sNode)&&r._i3sNode._loadChildren()})};iu.prototype._updateVisibility=function(){l(this._tileset)&&(this._tileset.show=this._parent.show)};iu.prototype.filterByAttributes=function(e){this._filters=l(e)?He(e,!0):[];let t=this._rootNode;return l(t)?t._filterFeatures():Promise.resolve()};var JT=iu;function H8(e,t){this._dataProvider=e,this._resource=new we({url:t}),this._resource.setQueryParameters(e.resource.queryParameters),this._resource.appendForwardSlash()}Object.defineProperties(H8.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},names:{get:function(){let e=[],t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n)e.push(t[n].fieldName);return e}}});H8.prototype.load=async function(){return this._data=await Fh.loadJson(this._resource),this._data};H8.prototype._getValues=function(e){let t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n){let i=t[n];if(i.fieldName===e)return l(i.mostFrequentValues)?[...i.mostFrequentValues]:[]}};var _B=H8;function gB(e,t,n){this._dataProvider=e,this._parent=t,this._data=n,this._name=n.name,this._modelName=n.modelName,this._visibility=y(n.visibility,!0),this._resource=void 0,this._sublayers=[],this._i3sLayers=[]}Object.defineProperties(gB.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},name:{get:function(){return this._name}},modelName:{get:function(){return this._modelName}},sublayers:{get:function(){return this._sublayers}},visibility:{get:function(){return this._visibility},set:function(e){if(this._visibility!==e){this._visibility=e;for(let t=0;t<this._i3sLayers.length;t++)this._i3sLayers[t]._updateVisibility()}}},show:{get:function(){return this._visibility&&this._parent.show}}});gB._fromData=async function(e,t,n,i){let o=new gB(e,i,n);if(o._data.layerType==="group"){let r=o._data.sublayers;if(l(r)){let s=[];for(let c=0;c<r.length;c++){let u=gB._fromData(e,t,r[c],o);s.push(u)}let a=await Promise.all(s);for(let c=0;c<a.length;c++){let u=a[c];o._sublayers.push(u),o._i3sLayers.push(...u._i3sLayers)}}}else if(o._data.layerType==="3DObject"){let r=t.concat(`/sublayers/${o._data.id}`),s=new we({url:r});s.setQueryParameters(e.resource.queryParameters),s.appendForwardSlash(),o._resource=s;let a=await Fh.loadJson(o._resource),c=new JT(e,a,o);o._i3sLayers.push(c)}else console.log(`${o._data.layerType} layer ${o._data.name} is skipped as not supported.`);return o};var yB=gB;var Fbe=Bo(Lbe(),1);function Ts(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._show=y(e.show,!0),this._geoidTiledTerrainProvider=e.geoidTiledTerrainProvider,this._showFeatures=y(e.showFeatures,!1),this._adjustMaterialAlphaMode=y(e.adjustMaterialAlphaMode,!1),this._applySymbology=y(e.applySymbology,!1),this._calculateNormals=y(e.calculateNormals,!1),this._cesium3dTilesetOptions=y(e.cesium3dTilesetOptions,y.EMPTY_OBJECT),this._layers=[],this._sublayers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,this._attributeStatistics=[],this._layersExtent=[]}Object.defineProperties(Ts.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;for(let t=0;t<this._layers.length;t++)this._layers[t]._updateVisibility()}}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},sublayers:{get:function(){return this._sublayers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},resource:{get:function(){return this._resource}},showFeatures:{get:function(){return this._showFeatures}},adjustMaterialAlphaMode:{get:function(){return this._adjustMaterialAlphaMode}},applySymbology:{get:function(){return this._applySymbology}},calculateNormals:{get:function(){return this._calculateNormals}}});Ts.prototype.destroy=function(){for(let e=0;e<this._layers.length;e++)l(this._layers[e]._tileset)&&this._layers[e]._tileset.destroy();return ue(this)};Ts.prototype.isDestroyed=function(){return!1};Ts.prototype.update=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.update(e)};Ts.prototype.prePassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.prePassesUpdate(e)};Ts.prototype.postPassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.postPassesUpdate(e)};Ts.prototype.updateForPass=function(e,t){for(let n=0;n<this._layers.length;n++)l(this._layers[n]._tileset)&&this._layers[n]._tileset.updateForPass(e,t)};function A_t(e,t){let n=e.resource.getUrlComponent(),i="";return n.match(/layers\/\d/)?i=`${n}`.replace(/\/+$/,""):i=`${n}`.replace(/\/?$/,"/").concat(`layers/${t}`),i}async function Nbe(e,t,n){if(t.layerType==="Building"){l(n.showFeatures)||(e._showFeatures=!0),l(n.adjustMaterialAlphaMode)||(e._adjustMaterialAlphaMode=!0),l(n.applySymbology)||(e._applySymbology=!0),l(n.calculateNormals)||(e._calculateNormals=!0);let i=A_t(e,t.id);if(l(t.sublayers)){let o=[];for(let s=0;s<t.sublayers.length;s++){let a=yB._fromData(e,i,t.sublayers[s],e);o.push(a)}let r=await Promise.all(o);for(let s=0;s<r.length;s++){let a=r[s];e._sublayers.push(a),e._layers.push(...a._i3sLayers)}}if(l(t.statisticsHRef)){let o=i.concat(`/${t.statisticsHRef}`),r=new _B(e,o);await r.load(),e._attributeStatistics.push(r)}if(l(t.fullExtent)){let o=se.fromDegrees(t.fullExtent.xmin,t.fullExtent.ymin,t.fullExtent.xmax,t.fullExtent.ymax);e._layersExtent.push(o)}}else if(t.layerType==="3DObject"||t.layerType==="IntegratedMesh"){!l(n.calculateNormals)&&!l(t.textureSetDefinitions)&&(e._calculateNormals=!0);let i=new JT(e,t,e);e._layers.push(i),l(i._extent)&&e._layersExtent.push(i._extent)}else console.log(`${t.layerType} layer ${t.name} is skipped as not supported.`)}Ts.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=we.createIfNeeded(e);n.setQueryParameters({f:"pjson"},!0);let i=await Ts.loadJson(n),o=new Ts(t);if(o._resource=n,o._data=i,l(i.layers)){let s=[];for(let a=0;a<i.layers.length;a++){let c=Nbe(o,i.layers[a],t);s.push(c)}await Promise.all(s)}else await Nbe(o,i,t);o._computeExtent();let r=[];for(let s=0;s<o._layers.length;s++)r.push(o._layers[s].load(t.cesium3dTilesetOptions));return await Promise.all(r),o};Ts._fetchJson=function(e){return e.fetchJson()};Ts.loadJson=async function(e){let t=await Ts._fetchJson(e);if(l(t.error)){if(console.error("Failed to fetch I3S ",e.url),l(t.error.message)&&console.error(t.error.message),l(t.error.details))for(let n=0;n<t.error.details.length;n++)console.log(t.error.details[n]);throw new ce(t.error)}return t};Ts.prototype._loadBinary=async function(e){let t=await e.fetchArrayBuffer();if(t.byteLength>0&&new Uint8Array(t)[0]===123&&new TextDecoder().decode(t).includes("404"))throw new ce(`Failed to load binary: ${e.url}`);return t};Ts.prototype._binarizeGltf=function(e){let n=new TextEncoder().encode(JSON.stringify(e)),i=new Uint8Array(n.byteLength+20),o={magic:new Uint8Array(i.buffer,0,4),version:new Uint32Array(i.buffer,4,1),length:new Uint32Array(i.buffer,8,1),chunkLength:new Uint32Array(i.buffer,12,1),chunkType:new Uint32Array(i.buffer,16,1),chunkData:new Uint8Array(i.buffer,20,n.byteLength)};return o.magic[0]=103,o.magic[1]=108,o.magic[2]=84,o.magic[3]=70,o.version[0]=2,o.length[0]=i.byteLength,o.chunkLength[0]=n.byteLength,o.chunkType[0]=1313821514,o.chunkData.set(n),i};var E_t=new z;function S_t(e,t){let n=e.tilingScheme,i=[],o={},r=e._lodCount,s=fe.fromRadians(t.west,t.north),a=fe.fromRadians(t.east,t.south),c=n.positionToTileXY(s,r),u=n.positionToTileXY(a,r);for(let d=c.x;d<=u.x;d++)for(let p=c.y;p<=u.y;p++){let g=z.fromElements(d,p,E_t),m=g.toString();if(!o.hasOwnProperty(m)){let x={x:g.x,y:g.y,level:r,tilingScheme:n,terrainProvider:e,positions:[]};o[m]=x,i.push(x)}}let f=[];for(let d=0;d<i.length;++d){let p=i[d],g=p.terrainProvider.requestTileGeometry(p.x,p.y,p.level);f.push(g)}return Promise.all(f).then(function(d){let p=[];for(let g=0;g<d.length;g++){let m={tilingScheme:n,x:i[g].x,y:i[g].y,level:i[g].level},x=d[g],b="Geographic";n._projection instanceof Pi&&(b="WebMercator");let T={projectionType:b,projection:n._projection,nativeExtent:n.tileXYToNativeRectangle(m.x,m.y,m.level),height:x._height,width:x._width,scale:x._structure.heightScale,offset:x._structure.heightOffset};if(x._encoding===id.LERC){let A=Fbe.default.decode(x._buffer);T.buffer=A.pixels[0]}else T.buffer=x._buffer;p.push(T)}return p})}async function v_t(e){let t=e._geoidTiledTerrainProvider;if(l(t))try{let n=await S_t(t,e._extent);e._geoidDataList=n}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}Ts.prototype.loadGeoidData=async function(){return l(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=v_t(this),this._geoidDataPromise)};Ts.prototype._computeExtent=function(){let e;for(let t=0;t<this._layersExtent.length;t++){let n=this._layersExtent[t];l(e)?se.union(e,n,e):e=se.clone(n)}this._extent=e};Ts.prototype.getAttributeNames=function(){let e=[];for(let t=0;t<this._attributeStatistics.length;++t)e.push(...this._attributeStatistics[t].names);return e};Ts.prototype.getAttributeValues=function(e){for(let t=0;t<this._attributeStatistics.length;++t){let n=this._attributeStatistics[t]._getValues(e);if(l(n))return n}return[]};Ts.prototype.filterByAttributes=function(e){let t=[];for(let n=0;n<this._layers.length;n++){let i=this._layers[n].filterByAttributes(e);t.push(i)}return Promise.all(t)};var Fh=Ts;function tp(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new _i({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new _i({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new oi({color:new H(0,0,0,0),owner:this}),this._clearCommand=new oi({color:new H(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(tp.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});tp.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var w_t={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Wn.EQUAL,frontOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.KEEP},backFunction:Wn.NEVER,reference:0,mask:Vt.CLASSIFICATION_MASK},blending:hn.ALPHA_BLEND},D_t={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Wn.NOT_EQUAL,frontOperation:{fail:dt.KEEP,zFail:dt.KEEP,zPass:dt.KEEP},backFunction:Wn.NEVER,reference:0,mask:Vt.CLASSIFICATION_MASK},blending:hn.ALPHA_BLEND},I_t={depthMask:!0,depthTest:{enabled:!0},stencilTest:Vt.setCesium3DTileBit(),stencilMask:Vt.CESIUM_3D_TILE_MASK,blending:hn.ALPHA_BLEND},P_t=`uniform sampler2D colorTexture; -uniform sampler2D depthTexture; -uniform sampler2D classifiedTexture; -in vec2 v_textureCoordinates; -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - if (color.a == 0.0) - { - discard; - } - bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); -#ifdef UNCLASSIFIED - vec4 highlightColor = czm_invertClassificationColor; - if (isClassified) - { - discard; - } -#else - vec4 highlightColor = vec4(1.0); - if (!isClassified) - { - discard; - } -#endif - out_FragColor = color * highlightColor; - gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; -} -`,R_t=`uniform sampler2D colorTexture; -in vec2 v_textureCoordinates; -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - if (color.a == 0.0) - { - discard; - } -#ifdef UNCLASSIFIED - out_FragColor = color * czm_invertClassificationColor; -#else - out_FragColor = color; -#endif -} -`;tp.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!l(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._previousFramebuffer)||(this._depthStencilTexture=new Mt({context:e,width:s,height:a,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Je.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new lu({context:e,width:s,height:a,format:Lc.DEPTH24_STENCIL8,numSamples:t})))),!l(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let u,f;l(this._previousFramebuffer)?(u=n.getDepthStencilTexture(),f=n.getDepthStencilRenderbuffer()):(u=this._depthStencilTexture,f=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(u),l(f)&&this._fbo.setDepthStencilRenderbuffer(f),this._fbo.update(e,s,a,t),l(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(u),this._fboClassified.update(e,s,a))}if(l(this._rsUnclassified)||(this._rsUnclassified=Ve.fromCache(w_t),this._rsClassified=Ve.fromCache(D_t),this._rsDefault=Ve.fromCache(I_t)),!l(this._unclassifiedCommand)||o||r){l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let u=l(this._previousFramebuffer)?R_t:P_t,f=new ze({defines:["UNCLASSIFIED"],sources:[u]}),d=new ze({sources:[u]});this._unclassifiedCommand=e.createViewportQuadCommand(f,{renderState:l(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(d,{renderState:l(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),l(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),l(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(nu,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};tp.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};tp.prototype.clear=function(e,t){l(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};tp.prototype.executeClassified=function(e,t){if(!l(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};tp.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};tp.prototype.isDestroyed=function(){return!1};tp.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),ue(this)};var _v=tp;function W8(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(W8.prototype,{total:{get:function(){return this._total}}});function w0(e){let t=new Array(ka.NUMBER_OF_JOB_TYPES);t[ka.TEXTURE]=new W8(l(e)?e[ka.TEXTURE]:10),t[ka.PROGRAM]=new W8(l(e)?e[ka.PROGRAM]:10),t[ka.BUFFER]=new W8(l(e)?e[ka.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}w0.getTimestamp=Ci;Object.defineProperties(w0.prototype,{totalBudget:{get:function(){return this._totalBudget}}});w0.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};w0.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};w0.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,u;for(u=0;u<c&&(r=n[u],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++u);if(u===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=w0.getTimestamp();e.execute();let a=w0.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var xB=w0;var Bbe=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function j8(e,t){this.spatialNode=e,this.keyframe=t,this.state=Bbe.UNLOADED,this.metadata=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}j8.priorityComparator=function(e,t){return e.priority-t.priority};j8.searchComparator=function(e,t){return e.keyframe-t.keyframe};j8.LoadState=Bbe;var to=j8;function kbe(){}Object.defineProperties(kbe.prototype,{color:{get:de.throwInstantiationError},intensity:{get:de.throwInstantiationError}});var jK=kbe;var O_t=/\/$/,Vbe=new wt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function gv(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=we.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=l(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();O_t.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;l(e.credit)?(c=e.credit,typeof c=="string"&&(c=new wt(c))):c=Vbe,this._resource=i,this._imageryProvider=new ja({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(gv.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});gv.prototype.getTileCredits=function(e,t,n){};gv.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};gv.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};gv._defaultCredit=Vbe;var qK=gv;function D0(e,t,n,i,o){i===zt.UNSIGNED_SHORT&&(i=zt.FLOAT32);let r=e.floatingPointTexture;if(i===zt.FLOAT32&&!r)throw new ce("Floating point texture not supported");let s;i===zt.FLOAT32||i===zt.FLOAT64?s=Je.FLOAT:i===zt.UINT8&&(s=Je.UNSIGNED_BYTE);let a;n===1?a=e.webgl2?ot.RED:ot.LUMINANCE:n===2?a=e.webgl2?ot.RG:ot.LUMINANCE_ALPHA:n===3?a=ot.RGB:n===4&&(a=ot.RGBA);let c=512*1024*1024,u=128*1024*1024;o=Math.min(y(o,u),c);let f=kt.maximumTextureSize,d=zt.getSizeInBytes(i),p=Math.floor(o/(n*d)),g=Math.min(f,P.previousPowerOfTwo(Math.floor(Math.sqrt(p)))),m=Math.ceil(Math.sqrt(t.x)),x=Math.ceil(t.z/m),b=m*t.x,T=x*t.y,A=Math.floor(g/b),C=Math.floor(g/T);if(A===0||C===0)throw new ce("Tileset is too large to fit into megatexture");this.channelCount=n,this.componentType=i,this.voxelCountPerTile=h.clone(t,new h),this.maximumTileCount=A*C,this.regionCountPerMegatexture=new z(A,C),this.voxelCountPerRegion=new z(b,T),this.sliceCountPerRegion=new z(m,x),this.voxelSizeUv=new z(1/g,1/g),this.sliceSizeUv=new z(t.x/g,t.y/g),this.regionSizeUv=new z(b/g,T/g),this.texture=new Mt({context:e,pixelFormat:a,pixelDatatype:s,flipY:!1,width:g,height:g,sampler:new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:Jt.LINEAR,magnificationFilter:mi.LINEAR})});let E=zt.toComponentDatatype(i);this.tileVoxelDataTemp=X.createTypedArray(E,b*T*n),this.nodes=new Array(this.maximumTileCount);for(let v=0;v<this.maximumTileCount;v++)this.nodes[v]=new M_t(v);for(let v=0;v<this.maximumTileCount;v++){let D=this.nodes[v];D.previousNode=v>0?this.nodes[v-1]:void 0,D.nextNode=v<this.maximumTileCount-1?this.nodes[v+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function M_t(e){this.index=e,this.nextNode=void 0,this.previousNode=void 0}D0.prototype.add=function(e){if(this.isFull())throw new de("Trying to add when there are no empty spots");let t=this.emptyList;this.emptyList=this.emptyList.nextNode,l(this.emptyList)&&(this.emptyList.previousNode=void 0),t.nextNode=this.occupiedList,l(t.nextNode)&&(t.nextNode.previousNode=t),this.occupiedList=t;let n=t.index;return this.writeDataToTexture(n,e),this.occupiedCount++,n};D0.prototype.remove=function(e){if(e<0||e>=this.maximumTileCount)throw new de("Megatexture index out of bounds");let t=this.nodes[e];l(t.previousNode)&&(t.previousNode.nextNode=t.nextNode),l(t.nextNode)&&(t.nextNode.previousNode=t.previousNode),t.nextNode=this.emptyList,l(t.nextNode)&&(t.nextNode.previousNode=t),t.previousNode=void 0,this.emptyList=t,this.occupiedCount--};D0.prototype.isFull=function(){return this.emptyList===void 0};D0.getApproximateTextureMemoryByteLength=function(e,t,n,i){i===zt.UNSIGNED_SHORT&&(i=zt.FLOAT32);let o=zt.getSizeInBytes(i),r=e*t.x*t.y*t.z,s=Math.ceil(Math.sqrt(t.x)),a=Math.ceil(t.z/s),c=s*t.x,u=a*t.y,f=P.previousPowerOfTwo(Math.floor(Math.sqrt(r)));for(;;){let p=Math.floor(f/c),g=Math.floor(f/u);if(p*g>=e)break;f*=2}return f*f*n*o};D0.prototype.writeDataToTexture=function(e,t){let n=t.constructor===Uint16Array?new Float32Array(t):t,i=this.voxelCountPerTile,o=this.sliceCountPerRegion,r=this.voxelCountPerRegion,s=this.channelCount,a=this.tileVoxelDataTemp;for(let x=0;x<i.z;x++){let b=x%o.x*i.x,T=Math.floor(x/o.x)*i.y;for(let A=0;A<i.y;A++)for(let C=0;C<i.x;C++){let E=x*i.y*i.x+A*i.x+C,v=(T+A)*r.x+(b+C);for(let D=0;D<s;D++)a[v*s+D]=n[E*s+D]}}let c=this.regionCountPerMegatexture,u=r.x,f=r.y,d=e%c.x*r.x,p=Math.floor(e/c.x)*r.y,m={source:{arrayBufferView:a,width:u,height:f},xOffset:d,yOffset:p};this.texture.copyFrom(m)};D0.prototype.isDestroyed=function(){return!1};D0.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),ue(this)};var yv=D0;var fl={};fl.decodeRawMetadataValue=function(e,t,n){switch(e){case zt.INT8:return t.getInt8(n);case zt.UINT8:return t.getUint8(n);case zt.INT16:return t.getInt16(n);case zt.UINT16:return t.getUint16(n);case zt.INT32:return t.getInt32(n);case zt.UINT32:return t.getUint32(n);case zt.INT64:return t.getBigInt64(n);case zt.UINT64:return t.getBigUint64(n);case zt.FLOAT32:return t.getFloat32(n);case zt.FLOAT64:return t.getFloat64(n)}throw new ce(`Invalid component type: ${e}`)};fl.decodeRawMetadataValueComponent=function(e,t,n){let i=e.componentType,o=fl.decodeRawMetadataValue(i,t,n);return e.normalized?zt.normalize(o,i):o};fl.decodeRawMetadataValueElement=function(e,t,n){let i=e.componentType,o=zt.getSizeInBytes(i),r=e.type,s=Et.getComponentCount(r),a=o*s;if(s>1){let f=Array(s);for(let d=0;d<s;d++){let p=n*a+d*o,g=fl.decodeRawMetadataValueComponent(e,t,p);f[d]=g}return f}let c=n*a;return fl.decodeRawMetadataValueComponent(e,t,c)};fl.decodeRawMetadataValues=function(e,t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=fl.decodeRawMetadataValueElement(e,n,s);r[s]=a}return r}return fl.decodeRawMetadataValueElement(e,n,0)};fl.convertToObjectType=function(e,t){if(!l(t)||e===Et.SCALAR||e===Et.STRING||e===Et.BOOLEAN||e===Et.ENUM)return t;let n=t.map(i=>Number(i));switch(e){case Et.VEC2:return z.unpack(n,0,new z);case Et.VEC3:return h.unpack(n,0,new h);case Et.VEC4:return oe.unpack(n,0,new h);case Et.MAT2:return Ui.unpack(n,0,new Ui);case Et.MAT3:return $.unpack(n,0,new $);case Et.MAT4:return F.unpack(n,0,new F)}return t};fl.decodeMetadataValues=function(e,t){let n=fl.decodeRawMetadataValues(e,t);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=n[s],c=fl.convertToObjectType(e.type,a);r[s]=c}return r}return fl.convertToObjectType(e.type,n)};var bB=Object.freeze(fl);function L_t(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var TB=L_t;var Jbe={},N_t=32.184,F_t=2451545,Ube=-.0529921,zbe=-.1059842,Hbe=13.0120009,Gbe=13.3407154,Wbe=.9856003,jbe=26.4057084,qbe=13.064993,Ybe=.3287146,Xbe=1.7484877,Kbe=-.1589763,Zbe=.0036096,$be=.1643573,Qbe=12.9590088,YK=new K;Jbe.ComputeMoon=function(e,t){l(e)||(e=K.now()),YK=K.addSeconds(e,N_t,YK);let n=K.totalDays(YK)-F_t,i=n/Zn.DAYS_PER_JULIAN_CENTURY,o=(125.045+Ube*n)*P.RADIANS_PER_DEGREE,r=(250.089+zbe*n)*P.RADIANS_PER_DEGREE,s=(260.008+Hbe*n)*P.RADIANS_PER_DEGREE,a=(176.625+Gbe*n)*P.RADIANS_PER_DEGREE,c=(357.529+Wbe*n)*P.RADIANS_PER_DEGREE,u=(311.589+jbe*n)*P.RADIANS_PER_DEGREE,f=(134.963+qbe*n)*P.RADIANS_PER_DEGREE,d=(276.617+Ybe*n)*P.RADIANS_PER_DEGREE,p=(34.226+Xbe*n)*P.RADIANS_PER_DEGREE,g=(15.134+Kbe*n)*P.RADIANS_PER_DEGREE,m=(119.743+Zbe*n)*P.RADIANS_PER_DEGREE,x=(239.961+$be*n)*P.RADIANS_PER_DEGREE,b=(25.053+Qbe*n)*P.RADIANS_PER_DEGREE,T=Math.sin(o),A=Math.sin(r),C=Math.sin(s),E=Math.sin(a),v=Math.sin(c),D=Math.sin(u),O=Math.sin(f),R=Math.sin(d),M=Math.sin(p),N=Math.sin(g),_=Math.sin(m),S=Math.sin(x),w=Math.sin(b),I=Math.cos(o),L=Math.cos(r),B=Math.cos(s),U=Math.cos(a),V=Math.cos(c),G=Math.cos(u),k=Math.cos(f),Y=Math.cos(d),W=Math.cos(p),Q=Math.cos(g),j=Math.cos(m),Z=Math.cos(x),J=Math.cos(b),he=(269.9949+.0031*i-3.8787*T-.1204*A+.07*C-.0172*E+.0072*D-.0052*N+.0043*w)*P.RADIANS_PER_DEGREE,xe=(66.5392+.013*i+1.5419*I+.0239*L-.0278*B+.0068*U-.0029*G+9e-4*k+8e-4*Q-9e-4*J)*P.RADIANS_PER_DEGREE,re=(38.3213+13.17635815*n-14e-13*n*n+3.561*T+.1208*A-.0642*C+.0158*E+.0252*v-.0066*D-.0047*O-.0046*R+.0028*M+.0052*N+.004*_+.0019*S-.0044*w)*P.RADIANS_PER_DEGREE,_e=(13.17635815-14e-13*(2*n)+3.561*I*Ube+.1208*L*zbe-.0642*B*Hbe+.0158*U*Gbe+.0252*V*Wbe-.0066*G*jbe-.0047*k*qbe-.0046*Y*Ybe+.0028*W*Xbe+.0052*Q*Kbe+.004*j*Zbe+.0019*Z*$be-.0044*J*Qbe)/86400*P.RADIANS_PER_DEGREE;return l(t)||(t=new TB),t.rightAscension=he,t.declination=xe,t.rotation=re,t.rotationRate=_e,t};var CB=Jbe;function eTe(e){(!l(e)||typeof e!="function")&&(e=CB.ComputeMoon),this._computeFunction=e}var B_t=new h,k_t=new h,V_t=new h;function U_t(e,t,n){let i=B_t;i.x=Math.cos(e+P.PI_OVER_TWO),i.y=Math.sin(e+P.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=V_t;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,k_t);return l(n)||(n=new $),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var z_t=new $,H_t=new Le;eTe.prototype.evaluate=function(e,t){l(e)||(e=K.now());let n=this._computeFunction(e),i=U_t(n.rightAscension,n.declination,t),o=P.zeroToTwoPi(n.rotation),r=Le.fromAxisAngle(h.UNIT_Z,o,H_t),s=$.fromQuaternion(Le.conjugate(r,r),z_t);return $.multiply(s,i,i)};var AB=eTe;function EB(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;l(t)||(t=rn("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,ee.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new L2({radii:this.ellipsoid.radii,material:Xi.fromType(Xi.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new AB}Object.defineProperties(EB.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var q8=new $,G_t=new $,W_t=new h,Y8=[];EB.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;l(Lt.computeIcrfToFixedMatrix(n,q8))||Lt.computeTemeToPseudoFixedMatrix(n,q8);let i=this._axes.evaluate(n,G_t);$.transpose(i,i),$.multiply(q8,i,i);let o=Fg.computeMoonPositionInEarthInertialFrame(n,W_t);$.multiplyByVector(q8,o,o),F.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=Y8,Y8.length=0,t.update(e),e.commandList=r,Y8.length===1?Y8[0]:void 0};EB.prototype.isDestroyed=function(){return!1};EB.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),ue(this)};var SB=EB;function XK(e){}XK.prototype.isReady=function(){return!0};XK.prototype.shouldDiscardImage=function(e){return!1};var KK=XK;var xv=`#ifdef MRT -layout (location = 0) out vec4 out_FragData_0; -layout (location = 1) out vec4 out_FragData_1; -#else -layout (location = 0) out vec4 out_FragColor; -#endif - -uniform vec4 u_bgColor; -uniform sampler2D u_depthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) - { -#ifdef MRT - out_FragData_0 = u_bgColor; - out_FragData_1 = vec4(u_bgColor.a); -#else - out_FragColor = u_bgColor; -#endif - return; - } - - discard; -} -`;var vB=`/** - * Compositing for Weighted Blended Order-Independent Transparency. See: - * - http://jcgt.org/published/0002/02/09/ - * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html - */ - -uniform sampler2D u_opaque; -uniform sampler2D u_accumulation; -uniform sampler2D u_revealage; - -in vec2 v_textureCoordinates; - -void main() -{ - vec4 opaque = texture(u_opaque, v_textureCoordinates); - vec4 accum = texture(u_accumulation, v_textureCoordinates); - float r = texture(u_revealage, v_textureCoordinates).r; - -#ifdef MRT - vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); -#else - vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); -#endif - - out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; - - if (opaque != czm_backgroundColor) - { - out_FragColor.a = 1.0; - } -} -`;function ug(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new _i({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new _i({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new _i({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new _i({createColorAttachments:!1}),this._opaqueClearCommand=new oi({color:new H(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new oi({color:new H(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new oi({color:new H(0,0,0,0),owner:this}),this._alphaClearCommand=new oi({color:new H(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new We,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function tTe(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function ZK(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function nTe(e){tTe(e),ZK(e)}function j_t(e,t,n,i){tTe(e),e._accumulationTexture=new Mt({context:t,width:n,height:i,pixelFormat:ot.RGBA,pixelDatatype:Je.FLOAT}),e._revealageTexture=new Mt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Je.FLOAT,width:n,height:i,flipY:!1})}function q_t(e,t){ZK(e);let n=te.FRAMEBUFFER_COMPLETE,i=!0,{width:o,height:r}=e._accumulationTexture;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&(ZK(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,u=e._adjustAlphaFBO.status===n;(!s||!a||!c||!u)&&(nTe(e),e._translucentMultipassSupport=!1,i=!1)}return i}ug.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let{width:r,height:s}=this._opaqueTexture,a=this._accumulationTexture,c=!l(a)||a.width!==r||a.height!==s||i!==this._useHDR,u=this._numSamples!==o;if((c||u)&&(this._numSamples=o,j_t(this,e,r,s)),(!l(this._translucentFBO.framebuffer)||c||u)&&!q_t(this,e))return;this._useHDR=i;let f=this,d,p;l(this._compositeCommand)||(d=new ze({sources:[vB]}),this._translucentMRTSupport&&d.defines.push("MRT"),p={u_opaque:function(){return f._opaqueTexture},u_accumulation:function(){return f._accumulationTexture},u_revealage:function(){return f._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})),l(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(d=new ze({defines:["MRT"],sources:[xv]}),p={u_bgColor:function(){return f._translucentMRTClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(d=new ze({sources:[xv]}),p={u_bgColor:function(){return f._translucentMultipassClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}),p={u_bgColor:function(){return f._alphaClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!We.equals(this._viewport,t.viewport),m=g!==this._useScissorTest;this._useScissorTest=g,We.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=We.clone(t.viewport,this._scissorRectangle),m=!0),(!l(this._rs)||!We.equals(this._viewport,this._rs.viewport)||m)&&(this._rs=Ve.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),l(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var Y_t={enabled:!0,color:new H(0,0,0,0),equationRgb:La.ADD,equationAlpha:La.ADD,functionSourceRgb:Ao.ONE,functionDestinationRgb:Ao.ONE,functionSourceAlpha:Ao.ZERO,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA},X_t={enabled:!0,color:new H(0,0,0,0),equationRgb:La.ADD,equationAlpha:La.ADD,functionSourceRgb:Ao.ONE,functionDestinationRgb:Ao.ONE,functionSourceAlpha:Ao.ONE,functionDestinationAlpha:Ao.ONE},K_t={enabled:!0,color:new H(0,0,0,0),equationRgb:La.ADD,equationAlpha:La.ADD,functionSourceRgb:Ao.ZERO,functionDestinationRgb:Ao.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:Ao.ZERO,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA};function $K(e,t,n,i){let o=n[i.id];if(!l(o)){let r=Ve.getState(i);r.depthMask=!1,r.blending=t,o=Ve.fromCache(r),n[i.id]=o}return o}function Z_t(e,t,n){return $K(t,Y_t,e._translucentRenderStateCache,n)}function $_t(e,t,n){return $K(t,X_t,e._translucentRenderStateCache,n)}function Q_t(e,t,n){return $K(t,K_t,e._alphaRenderStateCache,n)}var J_t=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; - float ai = czm_out_FragColor.a; - float wzi = czm_alphaWeight(ai); - out_FragData_0 = vec4(Ci * wzi, ai); - out_FragData_1 = vec4(ai * wzi); -`,egt=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; - float ai = czm_out_FragColor.a; - float wzi = czm_alphaWeight(ai); - out_FragColor = vec4(Ci, ai) * wzi; -`,tgt=` float ai = czm_out_FragColor.a; - out_FragColor = vec4(ai); -`;function QK(e,t,n,i){let{shaderCache:o}=e,r=o.getDerivedShaderProgram(t,n);if(l(r))return r;let s=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map(function(f){return ze.replaceMain(f,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,`vec4 czm_out_FragColor; -bool czm_discard = false; -`);let c=[...i.matchAll(/out_FragData_(\d+)/g)],u="";for(let f=0;f<c.length;f++){let d=c[f];u=`layout (location = ${d[1]}) out vec4 ${d[0]}; -${u}`}return a.sources.push(u),a.sources.push(`void main() -{ - czm_translucent_main(); - if (czm_discard) - { - discard; - } -${i}} -`),o.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:s})}function ngt(e,t){return QK(e,t,"translucentMRT",J_t)}function igt(e,t){return QK(e,t,"translucentMultipass",egt)}function ogt(e,t){return QK(e,t,"alphaMultipass",tgt)}ug.prototype.createDerivedCommands=function(e,t,n){if(l(n)||(n={}),this._translucentMRTSupport){let a,c;return l(n.translucentCommand)&&(a=n.translucentCommand.shaderProgram,c=n.translucentCommand.renderState),n.translucentCommand=Xe.shallowClone(e,n.translucentCommand),!l(a)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=ngt(t,e.shaderProgram),n.translucentCommand.renderState=Z_t(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=a,n.translucentCommand.renderState=c),n}let i,o,r,s;return l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=Xe.shallowClone(e,n.translucentCommand),n.alphaCommand=Xe.shallowClone(e,n.alphaCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=igt(t,e.shaderProgram),n.translucentCommand.renderState=$_t(this,t,e.renderState),n.alphaCommand.shaderProgram=ogt(t,e.shaderProgram),n.alphaCommand.renderState=Q_t(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s),n};function rgt(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=e._alphaFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.alphaCommand:m.derivedCommands.oit.alphaCommand;n(x,t,i,g)}i.framebuffer=d}function sgt(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=d}ug.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){sgt(this,e,t,n,i,o);return}rgt(this,e,t,n,i,o)};ug.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};ug.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,H.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};ug.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};ug.prototype.isDestroyed=function(){return!1};ug.prototype.destroy=function(){return nTe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),ue(this)};var wB=ug;var agt=new wt("MapQuest, Open Street Map and contributors, CC-BY-SA");function X8(e){e=y(e,y.EMPTY_OBJECT);let t=we.createIfNeeded(y(e.url,"https://tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}${e.retinaTiles?"@2x":""}.${y(e.fileExtension,"png")}`;let n=new is({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(se.southwest(a),r),u=n.positionToTileXY(se.northeast(a),r),f=(Math.abs(u.x-c.x)+1)*(Math.abs(u.y-c.y)+1),d=y(e.credit,agt);typeof d=="string"&&(d=new wt(d)),ja.call(this,{url:t,credit:d,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}l(Object.create)&&(X8.prototype=Object.create(ja.prototype),X8.prototype.constructor=X8);var fg=X8;var cgt=new z(1,1);function JK(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=H.clone(y(e.startColor,H.WHITE)),this.endColor=H.clone(y(e.endColor,H.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=z.clone(y(e.imageSize,cgt)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(JK.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var iTe=new h;JK.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,iTe),h.add(this.position,iTe,this.position),l(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var bv=JK;function oTe(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(oTe.prototype,{complete:{get:function(){return this._complete}}});var eZ=oTe;function rTe(e){}rTe.prototype.emit=function(e){de.throwInstantiationError()};var tZ=rTe;var sTe=new z(1,1);function DB(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;l(t)||(t=new i2(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._emitterModelMatrix=F.clone(y(e.emitterModelMatrix,F.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new F,this._startColor=H.clone(y(e.color,y(e.startColor,H.WHITE))),this._endColor=H.clone(y(e.color,y(e.endColor,H.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=z.clone(y(e.imageSize,y(e.minimumImageSize,sTe))),this._maximumImageSize=z.clone(y(e.imageSize,y(e.maximumImageSize,sTe))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new me,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(DB.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._modelMatrix,e),F.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._emitterModelMatrix,e),F.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){H.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){H.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function lgt(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(l(o)){let d=o.length;for(let p=0;p<d;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,u=e._particlePool,f=Math.max(a-c.length-u.length,0);for(let d=0;d<f;++d){let p=new bv;p._billboard=r.add({image:s,show:!1}),u.push(p)}e._particleEstimate=a}function ugt(e){let t=e._particlePool.pop();return l(t)||(t=new bv),t}function fgt(e,t){e._particlePool.push(t)}function dgt(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let u=n[c];i.remove(u._billboard)}n.length=a}function hgt(e){l(e._billboard)&&(e._billboard.show=!1)}function aTe(e,t){let n=t._billboard;l(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=P.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=P.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=P.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=P.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new H(i,o,r,s),n.scale=P.lerp(t.startScale,t.endScale,t.normalizedAge)}function mgt(e,t){t.startColor=H.clone(e._startColor,t.startColor),t.endColor=H.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=P.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=P.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=P.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=P.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=P.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function pgt(e,t){if(e._isComplete)return 0;t=P.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),l(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;l(s)&&!s._complete&&a>s.time&&(i+=P.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var K8=new h;DB.prototype.update=function(e){if(!this.show)return;l(this._billboardCollection)||(this._billboardCollection=new Su),this._updateParticlePool&&(lgt(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=K.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?aTe(this,s):(hgt(s),fgt(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=pgt(this,t);if(c>0&&l(i)){this._matrixDirty&&(this._combinedMatrix=F.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let u=this._combinedMatrix;for(r=0;r<c;r++)s=ugt(this),this._emitter.emit(s),h.add(s.position,s.velocity,K8),F.multiplyByPoint(u,K8,K8),s.position=F.multiplyByPoint(u,s.position,s.position),h.subtract(K8,s.position,s.velocity),h.normalize(s.velocity,s.velocity),mgt(this,s),aTe(this,s)}if(this._billboardCollection.update(e),this._previousTime=K.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=P.mod(this._currentTime,this._lifetime),this.bursts){let u=this.bursts.length;for(r=0;r<u;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&dgt(this)};DB.prototype.isDestroyed=function(){return!1};DB.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),ue(this)};var nZ=DB;function Z8(e){e=y(e,y.EMPTY_OBJECT);let t=Rn(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=Ci(),this._lastMsSampleTime=Ci(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(Z8.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});Z8.prototype.update=function(e){let t=Ci(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};Z8.prototype.destroy=function(){return ue(this)};var dg=Z8;function eC(){this._framebuffer=new _i,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(eC.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function _gt(e,t,n){let{width:i,height:o}=n;e._framebuffer.update(t,i,o)}function ggt(e,t,n){l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(`uniform highp sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - vec4 globeDepthPacked = texture(czm_globeDepthTexture, v_textureCoordinates); - float globeDepth = czm_unpackDepth(globeDepthPacked); - float depth = texture(colorTexture, v_textureCoordinates).r; - out_FragColor = czm_branchFreeTernary(globeDepth <= 0.0 || globeDepth >= 1.0 || depth < globeDepth && depth > 0.0 && depth < 1.0, - czm_packDepth(depth), globeDepthPacked); -} -`,{renderState:Ve.fromCache(),uniformMap:{colorTexture:function(){return e._textureToCopy}},owner:e})),e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}eC.prototype.update=function(e,t){_gt(this,e,t),ggt(this,e,t)};var ygt=new oe,xgt=new oe(1,1/255,1/65025,1/16581375);eC.prototype.getDepth=function(e,t,n){if(!l(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=oe.unpack(i,0,ygt);return oe.divideByScalar(o,255,o),oe.dot(o,xgt)};eC.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};eC.prototype.isDestroyed=function(){return!1};eC.prototype.destroy=function(){return this._framebuffer.destroy(),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=l(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),ue(this)};var IB=eC;function PB(){this._framebuffer=new _i({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(PB.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function bgt(e){e._framebuffer.destroy()}function Tgt(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new oc(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new We},o.viewport=new We,e._passState=o}PB.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&Tgt(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};PB.prototype.isDestroyed=function(){return!1};PB.prototype.destroy=function(){return bgt(this),ue(this)};var RB=PB;function Cgt(e,t,n,i){this.schemaId=e,this.className=t,this.propertyName=n,this.classProperty=i}var OB=Cgt;function Tv(e){let t=new oc(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new We},t.viewport=new We,this._context=e,this._fb=new _i({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}Tv.prototype.begin=function(e,t){let n=this._context,{width:i,height:o}=t;return We.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var MB=new H;Tv.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),u=0,f=0,d=0,p=-1;for(let g=0;g<s;++g){if(-a<=u&&u<=a&&-c<=f&&f<=c){let m=4*((c-f)*t+u+a);MB.red=H.byteToFloat(o[m]),MB.green=H.byteToFloat(o[m+1]),MB.blue=H.byteToFloat(o[m+2]),MB.alpha=H.byteToFloat(o[m+3]);let x=i.getObjectByPickColor(MB);if(l(x))return x}if(u===f||u<0&&-u===f||u>0&&u===1-f){let m=d;d=-p,p=m}u+=d,f+=p}};Tv.prototype.readCenterPixel=function(e){let t=y(e.width,1),n=y(e.height,1),o=this._context.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.floor(t*.5),a=4*(Math.floor(n*.5)*t+r);return o.slice(a,a+4)};Tv.prototype.isDestroyed=function(){return!1};Tv.prototype.destroy=function(){return this._fb.destroy(),ue(this)};var LB=Tv;function hg(){this._numSamples=1,this._colorFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new H(0,0,0,0),this._clearCommand=new oi({color:new H(0,0,0,0),depth:1,owner:this})}function Agt(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(hg.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});hg.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?Je.HALF_FLOAT:Je.FLOAT:Je.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};hg.prototype.clear=function(e,t,n){H.clone(n,this._clearCommand.color),H.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};hg.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};hg.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};hg.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};hg.prototype.isDestroyed=function(){return!1};hg.prototype.destroy=function(){return Agt(this),ue(this)};var tC=hg;function nC(){}nC.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};nC.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=ze.findPositionVarying(e),s=l(r);if(t&&!s){let a=o.length;for(let u=0;u<a;++u)o[u]=ze.replaceMain(o[u],"czm_shadow_cast_main");o.push(`out vec3 v_positionEC; -void main() -{ - czm_shadow_cast_main(); - v_positionEC = (czm_inverseProjection * gl_Position).xyz; -}`)}return new ze({defines:i,sources:o})};nC.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=ze.findPositionVarying(e),a=l(s);a||(s="v_positionEC");let c=r.length;for(let f=0;f<c;++f)r[f]=ze.replaceMain(r[f],"czm_shadow_cast_main");let u="";return t&&(a||(u+=`in vec3 v_positionEC; -`),u+=`uniform vec4 shadowMap_lightPositionEC; -`),i?u+=`void main() -{ -`:u+=`void main() -{ - czm_shadow_cast_main(); - if (out_FragColor.a == 0.0) - { - discard; - } -`,t?u+=` float distance = length(${s}); - if (distance >= shadowMap_lightPositionEC.w) - { - discard; - } - distance /= shadowMap_lightPositionEC.w; // radius - out_FragColor = czm_packDepth(distance); -`:n?u+=` out_FragColor = vec4(1.0); -`:u+=` out_FragColor = czm_packDepth(gl_FragCoord.z); -`,u+=`} -`,r.push(u),new ze({defines:o,sources:r})};nC.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,u=e.debugCascadeColors,f=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${u}${f}${t}${n}${i}`};nC.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new ze({defines:i,sources:o})};nC.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=ze.findNormalVarying(e),s=!i&&l(r)||i&&o,a=ze.findPositionVarying(e),c=l(a),u=t._usesDepthTexture,f=t._polygonOffsetSupported,d=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,m=t.debugCascadeColors,x=t.softShadows,b=d?t._pointBias:i?t._terrainBias:t._primitiveBias,T=e.defines.slice(0),A=e.sources.slice(0),C=A.length;for(let D=0;D<C;++D)A[D]=ze.replaceMain(A[D],"czm_shadow_receive_main");d?T.push("USE_CUBE_MAP_SHADOW"):u&&T.push("USE_SHADOW_DEPTH_TEXTURE"),x&&!d&&T.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?T.push("ENABLE_VERTEX_LIGHTING"):T.push("ENABLE_DAYNIGHT_SHADING")),n&&b.normalShading&&s&&(T.push("USE_NORMAL_SHADING"),b.normalShadingSmooth>0&&T.push("USE_NORMAL_SHADING_SMOOTH"));let E="";d?E+=`uniform samplerCube shadowMap_textureCube; -`:E+=`uniform sampler2D shadowMap_texture; -`;let v;return c?v=` return vec4(${a}, 1.0); -`:v=`#ifndef LOG_DEPTH - return czm_windowToEyeCoordinates(gl_FragCoord); -#else - return vec4(v_logPositionEC, 1.0); -#endif -`,E+=`uniform mat4 shadowMap_matrix; -uniform vec3 shadowMap_lightDirectionEC; -uniform vec4 shadowMap_lightPositionEC; -uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; -uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; -#ifdef LOG_DEPTH -in vec3 v_logPositionEC; -#endif -vec4 getPositionEC() -{ -${v}} -vec3 getNormalEC() -{ -${s?` return normalize(${r}); -`:` return vec3(1.0); -`}} -void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) -{ -${b.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; - float normalOffsetScale = 1.0 - nDotL; - vec3 offset = normalOffset * normalOffsetScale * normalEC; - positionEC.xyz += offset; -`:""}} -`,E+=`void main() -{ - czm_shadow_receive_main(); - vec4 positionEC = getPositionEC(); - vec3 normalEC = getNormalEC(); - float depth = -positionEC.z; -`,E+=` czm_shadowParameters shadowParameters; - shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; - shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; - shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; - shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; -`,i?E+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); -`:f||(E+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); -`),d?E+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; - float distance = length(directionEC); - directionEC = normalize(directionEC); - float radius = shadowMap_lightPositionEC.w; - // Stop early if the fragment is beyond the point light radius - if (distance > radius) - { - return; - } - vec3 directionWC = czm_inverseViewRotation * directionEC; - shadowParameters.depth = distance / radius; - shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); - shadowParameters.texCoords = directionWC; - float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); -`:p?E+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); - float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - vec4 shadowPosition = shadowMap_matrix * positionEC; - // Spot light uses a perspective projection, so perform the perspective divide - shadowPosition /= shadowPosition.w; - // Stop early if the fragment is not in the shadow bounds - if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) - { - return; - } - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); -`:g?E+=` float maxDepth = shadowMap_cascadeSplits[1].w; - // Stop early if the eye depth exceeds the last cascade - if (depth > maxDepth) - { - return; - } - // Get the cascade based on the eye-space depth - vec4 weights = czm_cascadeWeights(depth); - // Apply normal offset - float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - // Transform position into the cascade - vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; - // Get visibility - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); - // Fade out shadows that are far away - float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; - float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); - visibility = mix(visibility, 1.0, fade); -${m?` // Draw cascade colors for debugging - out_FragColor *= czm_cascadeColor(weights); -`:""}`:E+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - vec4 shadowPosition = shadowMap_matrix * positionEC; - // Stop early if the fragment is not in the shadow bounds - if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) - { - return; - } - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); -`,E+=` out_FragColor.rgb *= visibility; -} -`,A.push(E),new ze({defines:T,sources:A})};var np=nC;function ip(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(Gt.isInternetExplorer()||Gt.isEdge()||(Gt.isChrome()||Gt.isFirefox())&&Gt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n;let i=y(e.depthBiasStep,1);this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4*i},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*i},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4*i},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new F,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new oe,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new $8,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new ae,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new z,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Lr:l(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new oe,new oe],this._cascadeMatrices=[new F,new F,new F,new F],this._cascadeDistances=new oe;let o;this._isPointLight?o=6:this._cascadesEnabled?o=this._numberOfCascades:o=1,this._passes=new Array(o);for(let r=0;r<o;++r)this._passes[r]=new Egt(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,oZ(this),this._clearCommand=new oi({depth:1,color:new H}),this._clearPassState=new oc(t),this._size=y(e.size,2048),this.size=this._size}ip.MAXIMUM_DISTANCE=2e4;function Egt(e){this.camera=new $8,this.passState=new oc(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function iZ(e,t){return Ve.fromCache({cull:{enabled:!0,face:bi.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function oZ(e){let t=!e._usesDepthTexture;e._primitiveRenderState=iZ(t,e._primitiveBias),e._terrainRenderState=iZ(t,e._terrainBias),e._pointRenderState=iZ(t,e._pointBias)}ip.prototype.debugCreateRenderStates=function(){oZ(this)};Object.defineProperties(ip.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){Pgt(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function rZ(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;l(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function Sgt(e,t){let n=new lu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Lc.DEPTH_COMPONENT16}),i=new Mt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,sampler:en.NEAREST}),o=new ca({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function vgt(e,t){let n=new Mt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Je.UNSIGNED_INT_24_8,sampler:en.NEAREST}),i=new ca({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function wgt(e,t){let n=new lu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Lc.DEPTH_COMPONENT16}),i=new Ra({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,sampler:en.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new ca({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function uTe(e,t){e._isPointLight?wgt(e,t):e._usesDepthTexture?vgt(e,t):Sgt(e,t)}function Dgt(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==te.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,oZ(e),rZ(e),uTe(e,t))}function Igt(e,t){(!l(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(rZ(e),uTe(e,t),Dgt(e,t),fTe(e,t))}function fTe(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function Pgt(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=kt.maximumCubeMapSize>=t?t:kt.maximumCubeMapSize,o.x=t,o.y=t;let r=new We(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=kt.maximumTextureSize>=t?t:kt.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new We(0,0,t,t)):i===4&&(t=kt.maximumTextureSize>=t*2?t:kt.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new We(0,0,t,t),n[1].passState.viewport=new We(t,0,t,t),n[2].passState.viewport=new We(0,t,t,t),n[3].passState.viewport=new We(t,t,t,t));e._clearPassState.viewport=new We(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,u=a.y/o.y,f=a.width/o.x,d=a.height/o.y;s.textureOffsets=new F(f,0,0,c,0,d,0,u,0,0,1,0,0,0,0,1)}}var Rgt=new We;function Ogt(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube; -in vec2 v_textureCoordinates; -void main() -{ - vec2 uv = v_textureCoordinates; - vec3 dir; - - if (uv.y < 0.5) - { - if (uv.x < 0.333) - { - dir.x = -1.0; - dir.y = uv.x * 6.0 - 1.0; - dir.z = uv.y * 4.0 - 1.0; - } - else if (uv.x < 0.666) - { - dir.y = -1.0; - dir.x = uv.x * 6.0 - 3.0; - dir.z = uv.y * 4.0 - 1.0; - } - else - { - dir.z = -1.0; - dir.x = uv.x * 6.0 - 5.0; - dir.y = uv.y * 4.0 - 1.0; - } - } - else - { - if (uv.x < 0.333) - { - dir.x = 1.0; - dir.y = uv.x * 6.0 - 1.0; - dir.z = uv.y * 4.0 - 3.0; - } - else if (uv.x < 0.666) - { - dir.y = 1.0; - dir.x = uv.x * 6.0 - 3.0; - dir.z = uv.y * 4.0 - 3.0; - } - else - { - dir.z = 1.0; - dir.x = uv.x * 6.0 - 5.0; - dir.y = uv.y * 4.0 - 3.0; - } - } - - float shadow = czm_unpackDepth(czm_textureCube(shadowMap_textureCube, dir)); - out_FragColor = vec4(vec3(shadow), 1.0); -} -`:n=`uniform sampler2D shadowMap_texture; -in vec2 v_textureCoordinates; -void main() -{ -${e._usesDepthTexture?` float shadow = texture(shadowMap_texture, v_textureCoordinates).r; -`:` float shadow = czm_unpackDepth(texture(shadowMap_texture, v_textureCoordinates)); -`} out_FragColor = vec4(vec3(shadow), 1.0); -} -`;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=Se.OVERLAY,i}function Mgt(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=Rgt;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;l(a)||(a=Ogt(e,n),e._debugShadowViewCommand=a),(!l(a.renderState)||!We.equals(a.renderState.viewport,s))&&(a.renderState=Ve.fromCache({viewport:We.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var op=new Array(8);op[0]=new oe(-1,-1,-1,1);op[1]=new oe(1,-1,-1,1);op[2]=new oe(1,1,-1,1);op[3]=new oe(-1,1,-1,1);op[4]=new oe(-1,-1,1,1);op[5]=new oe(1,-1,1,1);op[6]=new oe(1,1,1,1);op[7]=new oe(-1,1,1,1);var I0=new F,sZ=new Array(8);for(let e=0;e<8;++e)sZ[e]=new oe;function Lgt(e,t){let n=new vt({geometry:new Sd({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:Wt.fromColor(t)}}),i=new vt({geometry:new C_({radius:.5}),attributes:{color:Wt.fromColor(t)}});return new Pn({geometryInstances:[n,i],appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var Ngt=[H.RED,H.GREEN,H.BLUE,H.MAGENTA],Fgt=new h;function Bgt(e,t){Mgt(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new Km({camera:e._sceneCamera,color:H.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new Km({camera:e._shadowMapCamera,color:H.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new Km({camera:e._passes[i].camera,color:Ngt[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!l(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Le.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,Fgt),a=F.fromTranslationQuaternionRotationScale(i,o,s,I0);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=Lgt(a,H.YELLOW)}e._debugLightFrustum.update(t)}else(!l(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new Km({camera:e._shadowMapCamera,color:H.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function $8(){this.viewMatrix=new F,this.inverseViewMatrix=new F,this.frustum=void 0,this.positionCartographic=new fe,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new F}$8.prototype.clone=function(e){F.clone(e.viewMatrix,this.viewMatrix),F.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),fe.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var kgt=new F(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);$8.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return F.multiply(t,e,this.viewProjectionMatrix),F.multiply(kgt,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var Vgt=new Array(5),Ugt=new Di,zgt=new Array(4),dTe=new h,hTe=new h;function Hgt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,u=r/o,f=.9,d=!1;t.shadowState.closestObjectSize<200&&(d=!0,f=.9);let p=zgt,g=Vgt;for(g[0]=o,g[s]=r,a=0;a<s;++a){let N=(a+1)/s,_=o*Math.pow(u,N),S=o+c*N,w=P.lerp(S,_,f);g[a+1]=w,p[a]=w-g[a]}if(d){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let N=g[0];for(a=0;a<s-1;++a)N+=p[a],g[a+1]=N}oe.unpack(g,0,e._cascadeSplits[0]),oe.unpack(g,1,e._cascadeSplits[1]),oe.unpack(p,0,e._cascadeDistances);let m=n.frustum,x=m.left,b=m.right,T=m.bottom,A=m.top,C=m.near,E=m.far,v=n.positionWC,D=n.directionWC,O=n.upWC,R=i.frustum.clone(Ugt),M=n.getViewProjection();for(a=0;a<s;++a){R.near=g[a],R.far=g[a+1];let N=F.multiply(R.projectionMatrix,i.viewMatrix,I0),_=F.inverse(N,I0),S=F.multiply(M,_,I0),w=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,dTe),I=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,hTe);for(let G=0;G<8;++G){let k=oe.clone(op[G],sZ[G]);F.multiplyByVector(S,k,k),h.divideByScalar(k,k.w,k),h.minimumByComponent(k,w,w),h.maximumByComponent(k,I,I)}w.x=Math.max(w.x,0),w.y=Math.max(w.y,0),w.z=0,I.x=Math.min(I.x,1),I.y=Math.min(I.y,1),I.z=Math.min(I.z,1);let L=e._passes[a],B=L.camera;B.clone(n);let U=B.frustum;U.left=x+w.x*(b-x),U.right=x+I.x*(b-x),U.bottom=T+w.y*(A-T),U.top=T+I.y*(A-T),U.near=C+w.z*(E-C),U.far=C+I.z*(E-C),L.cullingVolume=B.frustum.computeCullingVolume(v,D,O);let V=e._cascadeMatrices[a];F.multiply(B.getViewProjection(),i.inverseViewMatrix,V),F.multiply(L.textureOffsets,V,V)}}var Ggt=new F,Wgt=new h,jgt=new h,cTe=new h;function qgt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=F.multiply(i.frustum.projectionMatrix,i.viewMatrix,I0),r=F.inverse(o,I0),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,P.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,Wgt);a=h.cross(c,s,jgt),h.normalize(a,a),h.normalize(c,c);let u=h.fromElements(0,0,0,cTe),f=F.computeView(u,s,a,c,Ggt),d=F.multiply(f,r,I0),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,dTe),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,hTe);for(let E=0;E<8;++E){let v=oe.clone(op[E],sZ[E]);F.multiplyByVector(d,v,v),h.divideByScalar(v,v.w,v),h.minimumByComponent(v,p,p),h.maximumByComponent(v,g,g)}g.z+=1e3,p.z-=10;let m=cTe;m.x=-(.5*(p.x+g.x)),m.y=-(.5*(p.y+g.y)),m.z=-g.z;let x=F.fromTranslation(m,I0);f=F.multiply(x,f,f);let b=.5*(g.x-p.x),T=.5*(g.y-p.y),A=g.z-p.z,C=n.frustum;C.left=-b,C.right=b,C.bottom=-T,C.top=T,C.near=.01,C.far=A,F.clone(f,n.viewMatrix),F.inverse(f,n.inverseViewMatrix),F.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var Ygt=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],Xgt=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],Kgt=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function Zgt(e,t){let n=new Di;n.fov=P.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=Ygt[i],o.upWC=Xgt[i],o.rightWC=Kgt[i],F.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),F.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var $gt=new h,Qgt=new h,mTe=new ae,lTe=mTe.center;function Jgt(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=mTe;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,$gt),s=h.negate(i.directionWC,Qgt),a=h.dot(r,s);if(e.fadingEnabled){let c=P.clamp(a/.1,0,1);e._darkness=P.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===jt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ae.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,lTe),lTe);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===jt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ae.clone(o,e._boundingSphere)}}function eyt(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;F.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),F.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=lo.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,Jgt(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}ip.prototype.update=function(e){if(eyt(this,e),this._needsUpdate)if(Igt(this,e.context),this._isPointLight&&Zgt(this,e),this._cascadesEnabled&&(qgt(this,e),this._numberOfCascades>1&&Hgt(this,e)),this._isPointLight)this._shadowMapCullingVolume=hs.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;F.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&Bgt(this,e)};ip.prototype.updatePass=function(e,t){fTe(this,e,t)};var tyt=new z;function pTe(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=tyt;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,oe.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return oe.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new oe,combinedUniforms2:new oe};return bt(t,o,!1)}function nyt(e,t,n,i,o,r){let s,a,c;if(l(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=Xe.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!l(s)||o!==n.shaderProgram.id||t){let u=n.shaderProgram,f=n.pass===Se.GLOBE,d=n.pass!==Se.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,m=np.getShadowCastShaderKeyword(p,f,g,d);if(s=i.shaderCache.getDerivedShaderProgram(u,m),!l(s)){let b=u.vertexShaderSource,T=u.fragmentShaderSource,A=np.createShadowCastVertexShader(b,p,f),C=np.createShadowCastFragmentShader(T,p,g,d);s=i.shaderCache.createDerivedShaderProgram(u,m,{vertexShaderSource:A,fragmentShaderSource:C,attributeLocations:u._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:f&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=He(a,!1),a.cull=He(a.cull,!1),a.cull.enabled=!1,a=Ve.fromCache(a)),c=pTe(e,n.uniformMap,f)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}ip.createReceiveDerivedCommand=function(e,t,n,i,o){l(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,u=t.pass===Se.GLOBE,f=!1;if(u&&(f=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let d,p;l(o.receiveCommand)&&(d=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=Xe.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,m=o.receiveShaderProgramId!==t.shaderProgram.id;if(!l(d)||m||n||g){let x=np.getShadowReceiveShaderKeyword(e[0],t.castShadows,u,f);if(d=i.shaderCache.getDerivedShaderProgram(s,x),!l(d)){let b=np.createShadowReceiveVertexShader(a,u,f),T=np.createShadowReceiveFragmentShader(c,e[0],t.castShadows,u,f);d=i.shaderCache.createDerivedShaderProgram(s,x,{vertexShaderSource:b,fragmentShaderSource:T,attributeLocations:s._attributeLocations})}p=pTe(e[0],t.uniformMap,u)}o.receiveCommand.shaderProgram=d,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};ip.createCastDerivedCommand=function(e,t,n,i,o){if(l(o)||(o={}),t.castShadows){let r=o.castCommands;l(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=nyt(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};ip.prototype.isDestroyed=function(){return!1};ip.prototype.destroy=function(){rZ(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return ue(this)};var mg=ip;var NB=`uniform sampler2D u_opaqueDepthTexture; -uniform sampler2D u_translucentDepthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; - float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; - translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); - out_FragColor = czm_packDepth(translucentDepth); -} -`;var iC=`uniform sampler2D colorTexture; - -#ifdef DEBUG_SHOW_DEPTH -uniform sampler2D u_packedTranslucentDepth; -#endif - -in vec2 v_textureCoordinates; - -void main() -{ -#ifdef DEBUG_SHOW_DEPTH - if (v_textureCoordinates.x < 0.5) - { - out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); - out_FragColor.a = 1.0; - } -#else - vec4 color = texture(colorTexture, v_textureCoordinates); - -#ifdef PICK - if (color == vec4(0.0)) - { - discard; - } -#else - // Reverse premultiplication process to get the correct composited result of the classification primitives - color.rgb /= color.a; -#endif - out_FragColor = color; -#endif -} -`;var iyt=!1;function P0(e){this._drawClassificationFBO=new _i({createDepthAttachments:!1}),this._accumulationFBO=new _i({createDepthAttachments:!1}),this._packFBO=new _i,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new oi({color:new H(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new oi({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new We,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(P0.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function _Te(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function gTe(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function oyt(e,t,n,i){_Te(e),e._translucentDepthStencilTexture=new Mt({context:t,width:n,height:i,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Je.UNSIGNED_INT_24_8,sampler:en.NEAREST})}function ryt(e,t,n,i){gTe(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function syt(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(oyt(e,t,o,r),ryt(e,t,o,r));let s,a;if(l(e._packDepthCommand)||(s=new ze({sources:[NB]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!l(e._compositeCommand)){s=new ze({sources:[iC]}),a={colorTexture:function(){return e._textureToComposite}},iyt&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let f=e._compositeCommand,d=f.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(d,"pick",{vertexShaderSource:d.vertexShaderSource,fragmentShaderSource:new ze({sources:s.sources,defines:["PICK"]}),attributeLocations:d._attributeLocations}),g=Xe.shallowClone(f);g.shaderProgram=p,f.derivedCommands.pick=g}l(e._copyCommand)||(s=new ze({sources:[iC]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),l(e._accumulateCommand)||(s=new ze({sources:[iC]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!We.equals(e._viewport,n.viewport),u=c!==e._useScissorTest;e._useScissorTest=c,We.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=We.clone(n.viewport,e._scissorRectangle),u=!0),(!l(e._rsDepth)||!We.equals(e._viewport,e._rsDepth.viewport)||u)&&(e._rsDepth=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!l(e._rsAccumulate)||!We.equals(e._viewport,e._rsAccumulate.viewport)||u)&&(e._rsAccumulate=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Wn.EQUAL,reference:Vt.CESIUM_3D_TILE_MASK}})),l(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!l(e._rsComp)||!We.equals(e._viewport,e._rsComp.viewport)||u)&&(e._rsComp=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:hn.ALPHA_BLEND})),l(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}P0.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=e.frameState.useLogDepth,s=e.context,a=n.framebuffer;for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,u.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}}if(this._hasTranslucentDepth){syt(this,s,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(s,n);for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,!u.depthForTranslucentClassification)continue;let f=u.derivedCommands.depth.depthOnlyCommand;t(f,e,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(s,n)),n.framebuffer=a}};P0.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(Se.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[Se.CESIUM_3D_TILE_CLASSIFICATION],u=i.indices[Se.CESIUM_3D_TILE_CLASSIFICATION];for(let f=0;f<u;++f)t(c[f],e,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};P0.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),ayt(this,e,t)};function ayt(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}P0.prototype.isSupported=function(){return this._supported};P0.prototype.isDestroyed=function(){return!1};P0.prototype.destroy=function(){return _Te(this),gTe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),ue(this)};var FB=P0;function cyt(){this.command=void 0,this.near=void 0,this.far=void 0}function Q8(e,t,n){let i=e.context,o;i.depthTexture&&(o=new sB);let r;e._useOIT&&i.depthTexture&&(r=new wB(i));let s=new oc(i);s.viewport=We.clone(n),this.camera=t,this._cameraClone=lo.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new LB(i),this.pickDepthFramebuffer=new RB,this.sceneFramebuffer=new tC,this.globeDepth=o,this.globeTranslucencyFramebuffer=new aB,this.oit=r,this.translucentTileClassification=new FB(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var aZ=new h,cZ=new h;function lyt(e,t,n){let i=Math.max(h.maximumComponent(h.abs(e.position,aZ)),h.maximumComponent(h.abs(t.position,cZ))),o=1/Math.max(1,i);return h.multiplyByScalar(e.position,o,aZ),h.multiplyByScalar(t.position,o,cZ),h.equalsEpsilon(aZ,cZ,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&F.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}Q8.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return lyt(t,n,P.EPSILON15)?(this._cameraStartFired&&Ci()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=Ci(),lo.clone(t,n),!0)};function uyt(e,t,n,i){let{frameState:o}=t,{camera:r,useLogDepth:s}=o,a=s?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,c=t.mode===ne.SCENE2D,u=t.nearToFarDistance2D;i*=1+P.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n),isNaN(n)&&(n=r.frustum.near),isNaN(i)&&(i=r.frustum.far);let f;c?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),f=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):f=Math.ceil(Math.log(i/n)/Math.log(a));let{frustumCommandsList:d}=e;d.length=f;for(let p=0;p<f;++p){let g,m;c?(g=Math.min(i-u,n+p*u),m=Math.min(i,g+u)):(g=Math.max(n,Math.pow(a,p)*n),m=Math.min(i,a*g));let x=d[p];l(x)?(x.near=g,x.far=m):x=d[p]=new U2(g,m)}}function fyt(e,t,n){let{command:i,near:o,far:r}=n;t.debugShowFrustums&&(i.debugOverlappingFrustums=0);let{frustumCommandsList:s}=e;for(let a=0;a<s.length;++a){let c=s[a];if(o>c.far)continue;if(r<c.near)break;let u=i.pass,f=c.indices[u]++;if(c.commands[u][f]=i,t.debugShowFrustums&&(i.debugOverlappingFrustums|=1<<a),i.executeInClosestFrustum)break}if(t.debugShowFrustums){let{debugFrustumStatistics:a}=e,{debugOverlappingFrustums:c}=i,u=a.commandsInFrustums;u[c]=l(u[c])?u[c]+1:1,++a.totalCommands}t.updateDerivedCommands(i)}var yTe=new hs,dyt=new Ma;Q8.prototype.createPotentiallyVisibleSet=function(e){let{frameState:t}=e,{camera:n,commandList:i,shadowState:o}=t,{positionWC:r,directionWC:s,frustum:a}=n,c=e._computeCommandList,u=e._overlayCommandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let f=this.frustumCommandsList;for(let M=0;M<f.length;++M)for(let N=0;N<Se.NUMBER_OF_PASSES;++N)f[M].indices[N]=0;c.length=0,u.length=0;let d=this._commandExtents,p=d.length,g=0,m=+Number.MAX_VALUE,x=-Number.MAX_VALUE,{shadowsEnabled:b}=o,T=+Number.MAX_VALUE,A=-Number.MAX_VALUE,C=Number.MAX_VALUE,E=t.mode===ne.SCENE3D?t.occluder:void 0,{cullingVolume:v}=t,D=yTe.planes;for(let M=0;M<5;++M)D[M]=v.planes[M];v=yTe;for(let M=0;M<i.length;++M){let N=i[M],{pass:_,boundingVolume:S}=N;if(_===Se.COMPUTE)c.push(N);else if(_===Se.OVERLAY)u.push(N);else{let w,I;if(l(S)){if(!e.isVisible(v,N,E))continue;let B=S.computePlaneDistances(r,s,dyt);if(w=B.start,I=B.stop,m=Math.min(m,w),x=Math.max(x,I),b&&N.receiveShadows&&w<mg.MAXIMUM_DISTANCE&&!(_===Se.GLOBE&&w<-100&&I>100)){let U=I-w;_!==Se.GLOBE&&w<100&&(C=Math.min(C,U)),T=Math.min(T,w),A=Math.max(A,I)}}else N instanceof oi?(w=a.near,I=a.far):(w=a.near,I=a.far,m=Math.min(m,w),x=Math.max(x,I));let L=d[g];l(L)||(L=d[g]=new cyt),L.command=N,L.near=w,L.far=I,g++}}b&&(T=Math.min(Math.max(T,a.near),a.far),A=Math.max(Math.min(A,a.far),T),o.nearPlane=T,o.farPlane=A,o.closestObjectSize=C),uyt(this,e,m,x);for(let M=0;M<g;M++)fyt(this,e,d[M]);if(g<p)for(let M=g;M<p;M++){let N=d[M];if(!l(N.command))break;N.command=void 0}let O=f.length,{frustumSplits:R}=t;R.length=O+1;for(let M=0;M<O;++M)R[M]=f[M].near,M===O-1&&(R[M+1]=f[M].far)};Q8.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e=this.pickDepths;for(let t=0;t<e.length;++t)e[t].destroy()};var oC=Q8;var bTe=.1,hyt=new td({pass:Fo.MOST_DETAILED_PRELOAD}),myt=new td({pass:Fo.MOST_DETAILED_PICK}),BB=new td({pass:Fo.PICK});function oa(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new We(0,0,1,1),n=new lo(e);n.frustum=new cn({width:bTe,aspectRatio:1,near:.1}),this._pickOffscreenView=new oC(e,n,t)}oa.prototype.update=function(){this._pickPositionCacheDirty=!0};oa.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return l(i)||(i=new IB,n[t]=i),i};var pyt=new Lr,_yt=new h,J8=new h,gyt=new z,yyt=new F;function xyt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2*(t.x-o.x)/o.width-1;c*=(s.right-s.left)*.5;let u=2*(o.height-t.y-o.y)/o.height-1;u*=(s.top-s.bottom)*.5;let f=F.clone(r.transform,yyt);r._setTransform(F.IDENTITY);let d=h.clone(r.position,_yt);h.multiplyByScalar(r.right,c,J8),h.add(J8,d,d),h.multiplyByScalar(r.up,u,J8),h.add(J8,d,d),r._setTransform(f),e.mode===ne.SCENE2D&&h.fromElements(d.z,d.x,d.y,d);let p=s.getPixelDimensions(o.width,o.height,1,1,gyt),g=pyt;return g.right=p.x*.5,g.left=-g.right,g.top=p.y*.5,g.bottom=-g.top,g.near=s.near,g.far=s.far,g.computeCullingVolume(d,r.directionWC,r.upWC)}var byt=new cl,Tyt=new z;function Cyt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),u=s.aspectRatio*c,f=2*(t.x-o.x)/o.width-1,d=2*(o.height-t.y-o.y)/o.height-1,p=f*a*u,g=d*a*c,m=s.getPixelDimensions(o.width,o.height,1,1,Tyt),x=m.x*n*.5,b=m.y*i*.5,T=byt;return T.top=g+b,T.bottom=g-b,T.right=p+x,T.left=p-x,T.near=a,T.far=s.far,T.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function eG(e,t,n,i,o){let r=e.camera.frustum;return r instanceof cn||r instanceof Lr?xyt(e,t,n,i,o):Cyt(e,t,n,i,o)}var tG=new We(0,0,3,3),nG=new z,kB=new H(0,0,0,0);function lZ(e,t,n,i,o){return o.width=y(n,3),o.height=y(i,o.width),o.x=t.x-(o.width-1)*.5,o.y=e-t.y-(o.height-1)*.5,o}oa.prototype.pick=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=We.clone(a,u.viewport);let f=Gi.transformWindowToDrawingBuffer(e,t,nG),d=lZ(o.drawingBufferHeight,f,n,i,tG);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=eG(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pick=!0,r.tilesetPassState=BB,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,kB),e.resolveFramebuffers(u);let p=c.end(d);return o.endFrame(),p};oa.prototype.pickVoxelCoordinate=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=We.clone(a,u.viewport);let f=Gi.transformWindowToDrawingBuffer(e,t,nG),d=lZ(o.drawingBufferHeight,f,n,i,tG);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=eG(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pickVoxel=!0,r.tilesetPassState=BB,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,kB),e.resolveFramebuffers(u);let p=c.readCenterPixel(d);return o.endFrame(),p};oa.prototype.pickMetadata=function(e,t,n){let{context:i,frameState:o,defaultView:r}=e,{viewport:s,pickFramebuffer:a}=r;e.view=r,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=r.passState;c.viewport=We.clone(s,c.viewport);let u=Gi.transformWindowToDrawingBuffer(e,t,nG),f=lZ(i.drawingBufferHeight,u,1,1,tG);e.jobScheduler.disableThisFrame(),e.updateFrameState(),o.cullingVolume=eG(e,u,f.width,f.height,s),o.invertClassification=!1,o.passes.pick=!0,o.tilesetPassState=BB,o.pickingMetadata=!0,o.pickedMetadataInfo=n,i.uniformState.update(o),e.updateEnvironment(),c=a.begin(f,s),e.updateAndExecuteCommands(c,kB);let d=e._environmentState.useOIT;e._environmentState.useOIT=!1,e.resolveFramebuffers(c),e._environmentState.useOIT=d;let p=a.readCenterPixel(f);return i.endFrame(),o.pickingMetadata=!1,bB.decodeMetadataValues(n.classProperty,p)};function Ayt(e,t){let{defaultView:n,context:i,frameState:o,environmentState:r}=e,{viewport:s,pickDepthFramebuffer:a}=n;e.view=n,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=n.passState;c.viewport=We.clone(s,c.viewport),e.clearPasses(o.passes),o.passes.pick=!0,o.passes.depth=!0,o.cullingVolume=eG(e,t,1,1,s),o.tilesetPassState=BB,e.updateEnvironment(),r.renderTranslucentDepthForPick=!0,c=a.update(i,t,s),e.updateAndExecuteCommands(c,kB),e.resolveFramebuffers(c),i.endFrame()}var Eyt=new Di,Syt=new cl,vyt=new cn,wyt=new Lr;oa.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let{context:o,frameState:r,camera:s,defaultView:a}=e,{uniformState:c}=o;e.view=a;let u=Gi.transformWindowToDrawingBuffer(e,t,nG);e.pickTranslucentDepth?Ayt(e,u):(e.updateFrameState(),c.update(r),e.updateEnvironment()),u.y=e.drawingBufferHeight-u.y;let f;l(s.frustum.fov)?f=s.frustum.clone(Eyt):l(s.frustum.infiniteProjectionMatrix)?f=s.frustum.clone(Syt):l(s.frustum.width)?f=s.frustum.clone(vyt):f=s.frustum.clone(wyt);let{frustumCommandsList:d}=a,p=d.length;for(let g=0;g<p;++g){let x=this.getPickDepth(e,g).getDepth(o,u.x,u.y);if(l(x)&&x>0&&x<1){let b=d[g],T;return e.mode===ne.SCENE2D?(T=s.position.z,s.position.z=T-b.near+1,f.far=Math.max(1,b.far-b.near),f.near=1,c.update(r),c.updateFrustum(f)):(f.near=b.near*(g!==0?e.opaqueFrustumNearOffset:1),f.far=b.far,c.updateFrustum(f)),n=Gi.drawingBufferToWorldCoordinates(e,u,x,n),e.mode===ne.SCENE2D&&(s.position.z=T,c.update(r)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var Dyt=new fe;oa.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),l(n)&&e.mode!==ne.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,Dyt);o.cartographicToCartesian(r,n)}return n};function TTe(e,t){let n,i,o=[],r=[],s=[],a=[];l(e)||(e=Number.MAX_VALUE);let c=t();for(;l(c);){let u=c.object,f=c.position,d=c.exclude;if(l(f)&&!l(u)){o.push(c);break}if(!l(u)||!l(u.primitive)||!d&&(o.push(c),0>=--e))break;let p=u.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&l(u.id)&&(i=p.getGeometryInstanceAttributes(u.id),l(i)&&l(i.show)&&(g=!0,i.show=xn.toValue(!1,i.show),s.push(i))),u instanceof Ws&&(g=!0,u.show=!1,a.push(u)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=xn.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}oa.prototype.drillPick=function(e,t,n,i,o){let r=this;return TTe(n,function(){let c=r.pick(e,t,i,o);if(l(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var xTe=new h,Iyt=new h;function Pyt(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function CTe(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,xTe),s=h.cross(o,r,xTe),a=h.cross(o,s,Iyt);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,bTe),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function Ryt(e,t,n){let i=t.frameState,{ray:o,width:r,tilesets:s}=n,a=e._pickOffscreenView.camera,c=CTe(e,o,r,a),u=hyt;u.camera=a,u.cullingVolume=c;let f=!0,d=s.length;for(let p=0;p<d;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,u),f=f&&u.ready)}return f&&n._completePick(),f}oa.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)Ryt(this,e,t[n])&&t.splice(n--,1)};function ATe(e,t,n){for(let i=0;i<e.length;++i){let o=e.get(i);o.show&&(l(o.isCesium3DTileset)?(!l(t)||t.indexOf(o)===-1)&&n.push(o):o instanceof zl&&ATe(o,t,n))}}function iG(e,t,n,i,o,r){let s=[];if(ATe(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new Pyt(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function Oyt(e,t){return!l(e)||!l(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function Myt(e,t,n,i,o,r,s){let{context:a,frameState:c}=t,u=a.uniformState,f=e._pickOffscreenView;t.view=f,CTe(e,n,o,f.camera);let d=We.clone(f.viewport,tG),p=f.pickFramebuffer.begin(d,f.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),c.invertClassification=!1,c.passes.pick=!0,c.passes.offscreen=!0,s?c.tilesetPassState=myt:c.tilesetPassState=BB,u.update(c),t.updateEnvironment(),t.updateAndExecuteCommands(p,kB),t.resolveFramebuffers(p);let g,m=f.pickFramebuffer.end(d);if(t.context.depthTexture){let{frustumCommandsList:x}=f,b=x.length;for(let T=0;T<b;++T){let C=e.getPickDepth(t,T).getDepth(a,0,0);if(l(C)&&C>0&&C<1){let E=x[T],v=E.near*(T!==0?t.opaqueFrustumNearOffset:1),D=E.far,O=v+C*(D-v);g=gn.getPoint(n,O);break}}}if(t.view=t.defaultView,a.endFrame(),l(m)||l(g))return{object:m,position:g,exclude:!l(g)&&r||Oyt(m,i)}}function ETe(e,t,n,i,o,r,s,a){return TTe(i,function(){return Myt(e,t,n,o,r,s,a)})}function Cv(e,t,n,i,o,r,s){let a=ETe(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function STe(e,t,n,i,o,r,s,a){return ETe(e,t,n,i,o,r,s,a)}function oG(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}oa.prototype.pickFromRay=function(e,t,n,i){return Cv(this,e,t,n,i,!1,!1)};oa.prototype.drillPickFromRay=function(e,t,n,i,o){return STe(this,e,t,n,i,o,!1,!1)};oa.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=gn.clone(t),n=l(n)?n.slice():n,oG(e,iG(o,e,t,n,i,function(){return Cv(o,e,t,n,i,!1,!0)}))};oa.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=gn.clone(t),i=l(i)?i.slice():i,oG(e,iG(r,e,t,i,o,function(){return STe(r,e,t,n,i,o,!1,!0)}))};var Lyt=new h,Nyt=new h,Fyt=new gn,vTe=new fe;function uZ(e,t){let n=e.ellipsoid,i=fi._defaultMaxTerrainHeight,o=n.geodeticSurfaceNormalCartographic(t,Nyt),r=fe.toCartesian(t,n,Lyt),s=Fyt;s.origin=r,s.direction=o;let a=new gn;return gn.getPoint(s,i,a.origin),h.negate(o,a.direction),a}function wTe(e,t){let n=e.ellipsoid,i=fe.fromCartesian(t,n,vTe);return uZ(e,i)}function DTe(e,t){let n=e.ellipsoid;return fe.fromCartesian(t,n,vTe).height}function Byt(e,t,n,i,o){let r=uZ(t,n);return iG(e,t,r,i,o,function(){let s=Cv(e,t,r,i,o,!0,!0);if(l(s))return DTe(t,s.position)})}function kyt(e,t,n,i,o,r){let s=wTe(t,n);return iG(e,t,s,i,o,function(){let a=Cv(e,t,s,i,o,!0,!0);if(l(a))return h.clone(a.position,r)})}oa.prototype.sampleHeight=function(e,t,n,i){let o=uZ(e,t),r=Cv(this,e,o,n,i,!0,!1);if(l(r))return DTe(e,r.position)};oa.prototype.clampToHeight=function(e,t,n,i,o){let r=wTe(e,t),s=Cv(this,e,r,n,i,!0,!1);if(l(s))return h.clone(s.position,o)};oa.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Byt(this,e,t[s],n,i);return oG(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};oa.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=kyt(this,e,t[s],n,i,t[s]);return oG(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};oa.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var VB=oa;var RTe=Bo(Kk(),1);var Vyt={modifyFragmentShader:function(t){return t=ze.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection; -void main() -{ -#ifndef SHADOW_MAP - if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; -#endif - czm_splitter_main(); -} -`,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},Av=Vyt;var rC={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function UB(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=H.clone(H.DARKGRAY),this._highlightColor=H.clone(H.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=rC.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,Se.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=F.clone(F.IDENTITY),this._modelMatrix=F.clone(F.IDENTITY),this.time=0,this.shadows=bn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,Nr.NONE),this._splittingEnabled=!1,this._error=void 0,Uyt(this,e)}Object.defineProperties(UB.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return H.clone(this._highlightColor)},set:function(e){this._highlightColor=H.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(l(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=ae.clone(e,this._boundingSphere)}}});function Uyt(e,t){let n=Cb.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&l(n.batchTableBinary)&&(n.styleableProperties=Up.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),l(n.draco)){let a=n.draco;e._decodingState=rC.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;l(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;l(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;l(r)&&(l(r.constantColor)&&(e._constantColor=H.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;l(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength}var zyt=new h,Hyt=new h,Gyt=new h,ITe,rG;function Wyt(e){if(!l(rG)){ITe=new RTe.default(0),rG=new Array(e);for(let t=0;t<e;++t)rG[t]=ITe.random()}return rG}function jyt(e){let n=e.length/3,i=Math.min(n,20),o=Wyt(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,zyt),c=h.fromElements(s,s,s,Hyt);for(let f=0;f<i;++f){let d=Math.floor(o[f]*n),p=h.unpack(e,d*3,Gyt);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let u=ae.fromCornerPoints(a,c);return u.radius+=P.EPSILON2,u}function PTe(e,t){let n=X.fromTypedArray(e);return n===X.INT||n===X.UNSIGNED_INT||n===X.DOUBLE?(Tt("Cast pnts property to floats",`Point cloud property "${t}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var qyt=new oe,Yyt=new oe,Xyt=new H,OTe=0,sG=1,pZ=2,MTe=3,Kyt=4,fZ=new F,Zyt=new F;function $yt(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,u=i.styleableProperties,f=l(u),d=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,m=e._isOctEncodedDraco,x=e._quantizedRange,b=e._octEncodedRange,T=e._isRGB565,A=e._isTranslucent,C=e._hasColors,E=e._hasNormals,v=e._hasBatchIds,D,O,R=[],M={};if(e._styleableShaderAttributes=M,f){let V=Kyt;for(let G in u)if(u.hasOwnProperty(G)){let k=u[G],Y=PTe(k.typedArray,G);D=k.componentCount,O=X.fromTypedArray(Y);let W=pt.createVertexBuffer({context:n,typedArray:Y,usage:ke.STATIC_DRAW});e._geometryByteLength+=W.sizeInBytes;let Q={index:V,vertexBuffer:W,componentsPerAttribute:D,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0};R.push(Q),M[G]={location:V,componentCount:D},++V}}let N=pt.createVertexBuffer({context:n,typedArray:r.typedArray,usage:ke.STATIC_DRAW});e._geometryByteLength+=N.sizeInBytes;let _;C&&(_=pt.createVertexBuffer({context:n,typedArray:s.typedArray,usage:ke.STATIC_DRAW}),e._geometryByteLength+=_.sizeInBytes);let S;E&&(S=pt.createVertexBuffer({context:n,typedArray:a.typedArray,usage:ke.STATIC_DRAW}),e._geometryByteLength+=S.sizeInBytes);let w;v&&(c.typedArray=PTe(c.typedArray,"batchIds"),w=pt.createVertexBuffer({context:n,typedArray:c.typedArray,usage:ke.STATIC_DRAW}),e._geometryByteLength+=w.sizeInBytes);let I=[];if(d?O=X.UNSIGNED_SHORT:p?O=x<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT:O=X.FLOAT,I.push({index:OTe,vertexBuffer:N,componentsPerAttribute:3,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(d||p?e._boundingSphere=ae.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=jyt(r.typedArray)),C)if(T)I.push({index:sG,vertexBuffer:_,componentsPerAttribute:1,componentDatatype:X.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let V=A?4:3;I.push({index:sG,vertexBuffer:_,componentsPerAttribute:V,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}E&&(g?(D=2,O=X.UNSIGNED_BYTE):m?(D=2,O=b<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT):(D=3,O=X.FLOAT),I.push({index:pZ,vertexBuffer:S,componentsPerAttribute:D,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0})),v&&I.push({index:MTe,vertexBuffer:w,componentsPerAttribute:1,componentDatatype:X.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),f&&(I=I.concat(R));let L=new pi({context:n,attributes:I}),B={depthTest:{enabled:!0}},U={depthTest:{enabled:!0},depthMask:!1,blending:hn.ALPHA_BLEND};e._opaquePass===Se.CESIUM_3D_TILE&&(B.stencilTest=Vt.setCesium3DTileBit(),B.stencilMask=Vt.CESIUM_3D_TILE_MASK,U.stencilTest=Vt.setCesium3DTileBit(),U.stencilMask=Vt.CESIUM_3D_TILE_MASK),e._opaqueRenderState=Ve.fromCache(B),e._translucentRenderState=Ve.fromCache(U),e._drawCommand=new Xe({boundingVolume:new ae,cull:e._cull,modelMatrix:new F,primitiveType:Ne.POINTS,vertexArray:L,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:A?e._translucentRenderState:e._opaqueRenderState,pass:A?Se.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function Qyt(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=qyt;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,u;t.mode===ne.SCENE2D||c instanceof cn?u=Number.POSITIVE_INFINITY:u=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=u}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!l(a))return H.TRANSPARENT;let c=H.clone(a.edgeColor,Xyt);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!l(a))return F.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);F.multiply(n.uniformState.view3D,c,fZ);let u=F.multiply(fZ,a.modelMatrix,fZ);return F.inverseTranspose(u,Zyt)}};Av.addUniforms(e,s),(i||o||r)&&(s=bt(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=Yyt;if(l(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),l(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function dZ(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function hZ(e,t){e=e.slice(e.indexOf(` -`));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function mZ(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var Jyt={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function e0t(e,t,n){let i,o,r,s=t.context,a=l(n),c=e._isQuantized,u=e._isQuantizedDraco,f=e._isOctEncoded16P,d=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,m=e._hasColors,x=e._hasNormals,b=e._hasBatchIds,T=e._backFaceCulling,A=e._normalShading,C=e._drawCommand.vertexArray,E=e.clippingPlanes,v=e._attenuation,D,O,R,M=g,N=He(Jyt),_={},S=e._styleableShaderAttributes;for(o in S)S.hasOwnProperty(o)&&(r=S[o],N[o]=`czm_3dtiles_property_${r.location}`,_[r.location]=r);if(a){let re={translucent:!1},_e="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";D=n.getColorShaderFunction(`getColorFromStyle${_e}`,N,re),O=n.getShowShaderFunction(`getShowFromStyle${_e}`,N,re),R=n.getPointSizeShaderFunction(`getPointSizeFromStyle${_e}`,N,re),l(D)&&re.translucent&&(M=!0)}e._styleTranslucent=M;let w=l(D),I=l(O),L=l(R),B=e.isClipped,U=[],V=[];w&&(dZ(D,U),hZ(D,V)),I&&(dZ(O,U),hZ(O,V)),L&&(dZ(R,U),hZ(R,V));let G=V.indexOf("COLOR")>=0,k=V.indexOf("NORMAL")>=0;if(k&&!x)throw new ce("Style references the NORMAL semantic but the point cloud does not have normals");for(o in S)if(S.hasOwnProperty(o)){r=S[o];let re=U.indexOf(r.location)>=0,_e=mZ(C,r.location);_e.enabled=re}let Y=m&&(!w||G);if(m){let re=mZ(C,sG);re.enabled=Y}let W=x&&(A||T||k);if(x){let re=mZ(C,pZ);re.enabled=W}let Q={a_position:OTe};Y&&(Q.a_color=sG),W&&(Q.a_normal=pZ),b&&(Q.a_batchId=MTe);let j="",Z=U.length;for(i=0;i<Z;++i){let re=U[i];r=_[re];let _e=r.componentCount,ye=`czm_3dtiles_property_${re}`,De;_e===1?De="float":De=`vec${_e}`,j+=`in ${De} ${ye}; -`,Q[ye]=r.location}Qyt(e,t);let J=`in vec3 a_position; -out vec4 v_color; -uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; -uniform vec4 u_constantColor; -uniform vec4 u_highlightColor; -`;J+=`float u_pointSize; -float tiles3d_tileset_time; -`,v&&(J+=`float u_geometricError; -float u_depthMultiplier; -`),J+=j,Y&&(g?J+=`in vec4 a_color; -`:p?J+=`in float a_color; -const float SHIFT_RIGHT_11 = 1.0 / 2048.0; -const float SHIFT_RIGHT_5 = 1.0 / 32.0; -const float SHIFT_LEFT_11 = 2048.0; -const float SHIFT_LEFT_5 = 32.0; -const float NORMALIZE_6 = 1.0 / 64.0; -const float NORMALIZE_5 = 1.0 / 32.0; -`:J+=`in vec3 a_color; -`),W&&(f||d?J+=`in vec2 a_normal; -`:J+=`in vec3 a_normal; -`),b&&(J+=`in float a_batchId; -`),(c||u||d)&&(J+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; -`),w&&(J+=D),I&&(J+=O),L&&(J+=R),J+=`void main() -{ - u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; - tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; -`,v&&(J+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; - u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; -`),Y?g?J+=` vec4 color = a_color; -`:p?J+=` float compressed = a_color; - float r = floor(compressed * SHIFT_RIGHT_11); - compressed -= r * SHIFT_LEFT_11; - float g = floor(compressed * SHIFT_RIGHT_5); - compressed -= g * SHIFT_LEFT_5; - float b = compressed; - vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); - vec4 color = vec4(rgb, 1.0); -`:J+=` vec4 color = vec4(a_color, 1.0); -`:J+=` vec4 color = u_constantColor; -`,c||u?J+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; -`:J+=` vec3 position = a_position; -`,J+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); -`,W?(f?J+=` vec3 normal = czm_octDecode(a_normal); -`:d?J+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; -`:J+=` vec3 normal = a_normal; -`,J+=` vec3 normalEC = czm_normal * normal; -`):J+=` vec3 normal = vec3(1.0); -`,w&&(J+=` color = getColorFromStyle(position, position_absolute, color, normal); -`),I&&(J+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); -`),L?J+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; -`:v?J+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); - float depth = -positionEC.z; - gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); -`:J+=` gl_PointSize = u_pointSize; -`,J+=` color = color * u_highlightColor; -`,W&&A&&(J+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); - diffuseStrength = max(diffuseStrength, 0.4); - color.xyz *= diffuseStrength * czm_lightColor; -`),J+=` v_color = color; - gl_Position = czm_modelViewProjection * vec4(position, 1.0); -`,W&&T&&(J+=` float visible = step(-normalEC.z, 0.0); - gl_Position *= visible; - gl_PointSize *= visible; -`),I&&(J+=` gl_Position.w *= float(show); - gl_PointSize *= float(show); -`),J+=`} -`;let he=`in vec4 v_color; -`;B&&(he+=`uniform highp sampler2D u_clippingPlanes; -uniform mat4 u_clippingPlanesMatrix; -uniform vec4 u_clippingPlanesEdgeStyle; -`,he+=` -`,he+=J_(E,s),he+=` -`),he+=`void main() -{ - out_FragColor = czm_gammaCorrect(v_color); -`,B&&(he+=z2("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),he+=`} -`,e.splitDirection!==Nr.NONE&&(he=Av.modifyFragmentShader(he)),l(e._vertexShaderLoaded)&&(J=e._vertexShaderLoaded(J)),l(e._fragmentShaderLoaded)&&(he=e._fragmentShaderLoaded(he));let xe=e._drawCommand;l(xe.shaderProgram)&&xe.shaderProgram.destroy(),xe.shaderProgram=an.fromCache({context:s,vertexShaderSource:J,fragmentShaderSource:he,attributeLocations:Q});try{xe.shaderProgram._bind()}catch{throw new ce("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function t0t(e,t){if(e._decodingState===rC.READY)return!1;if(e._decodingState===rC.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=Yp.decodePointCloud(i,t);l(o)&&(e._decodingState=rC.DECODING,o.then(function(r){e._decodingState=rC.READY;let s=l(r.POSITION)?r.POSITION.array:void 0,a=l(r.RGB)?r.RGB.array:void 0,c=l(r.RGBA)?r.RGBA.array:void 0,u=l(r.NORMAL)?r.NORMAL.array:void 0,f=l(r.BATCH_ID)?r.BATCH_ID.array:void 0,d=l(s)&&l(r.POSITION.data.quantization),p=l(u)&&l(r.NORMAL.data.quantization);if(d){let b=r.POSITION.data.quantization,T=b.range;e._quantizedVolumeScale=h.fromElements(T,T,T),e._quantizedVolumeOffset=h.unpack(b.minValues),e._quantizedRange=(1<<b.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,m=i.batchTableProperties;for(let b in m)if(m.hasOwnProperty(b)){let T=r[b];l(g)||(g={}),g[b]={typedArray:T.array,componentCount:T.data.componentsPerAttribute}}l(s)&&(n.positions={typedArray:s});let x=y(c,a);l(x)&&(n.colors={typedArray:x}),l(u)&&(n.normals={typedArray:u}),l(f)&&(n.batchIds={typedArray:f}),n.styleableProperties=g}).catch(function(r){e._decodingState=rC.FAILED,e._error=r}))}return!0}var n0t=new oe,i0t=new h;UB.prototype.update=function(e){let t=e.context;if(l(this._error)){let u=this._error;throw this._error=void 0,u}if(t0t(this,t))return;let i=!1,o=!F.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),l(this._drawCommand)||($yt(this,e),o=!0,i=!0,this._ready=!0,this._parsedContent=void 0),o){F.clone(this.modelMatrix,this._modelMatrix);let u=this._drawCommand.modelMatrix;if(F.clone(this._modelMatrix,u),l(this._rtcCenter)&&F.multiplyByTranslation(u,this._rtcCenter,u),l(this._quantizedVolumeOffset)&&F.multiplyByTranslation(u,this._quantizedVolumeOffset,u),e.mode!==ne.SCENE3D){let d=e.mapProjection,p=F.getColumn(u,3,n0t);oe.equals(p,oe.UNIT_W)||Lt.basisTo2D(d,u,u)}let f=this._drawCommand.boundingVolume;if(ae.clone(this._boundingSphere,f),this._cull){let d=f.center;F.multiplyByPoint(u,d,d);let p=F.getScale(u,i0t);f.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==Nr.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&e0t(this,e,this._style),this._drawCommand.castShadows=bn.castShadows(this.shadows),this._drawCommand.receiveShadows=bn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?Se.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};UB.prototype.isDestroyed=function(){return!1};UB.prototype.destroy=function(){let e=this._drawCommand;return l(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),ue(this)};var zB=UB;var o0t={NEAREST:0,LINEAR:1},ef=o0t;function sC(e){e=y(e,y.EMPTY_OBJECT);let{fragmentShader:t,textureScale:n=1,pixelFormat:i=ot.RGBA}=e;this._fragmentShader=t,this._uniforms=e.uniforms,this._textureScale=n,this._forcePowerOfTwo=y(e.forcePowerOfTwo,!1),this._sampleMode=y(e.sampleMode,ef.NEAREST),this._pixelFormat=i,this._pixelDatatype=y(e.pixelDatatype,Je.UNSIGNED_BYTE),this._clearColor=y(e.clearColor,H.BLACK),this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let o=new oc;o.scissorTest={enabled:!0,rectangle:l(e.scissorRectangle)?We.clone(e.scissorRectangle):new We},this._passState=o,this._ready=!1;let r=e.name;l(r)||(r=qn()),this._name=r,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(sC.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(l(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(l(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var r0t=/uniform\s+sampler2D\s+depthTexture/g;sC.prototype._isSupported=function(e){return!r0t.test(this._fragmentShader)||e.depthTexture};function s0t(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];l(a)&&a!==r&&a instanceof Mt&&!l(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof Mt&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function a0t(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function c0t(e,t){return function(){let n=e[t]();if(l(n))return n.dimensions}}function l0t(e){if(l(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i){if(!i.hasOwnProperty(r))continue;typeof i[r]!="function"?(t[r]=a0t(e,r),n[r]=s0t(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof Mt||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=c0t(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=bt(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function u0t(e,t){return e=e.replace(/in\s+vec2\s+v_textureCoordinates;/g,""),`#define CZM_SELECTED_FEATURE -uniform sampler2D czm_idTexture; -uniform sampler2D czm_selectedIdTexture; -uniform float czm_selectedIdTextureStep; -in vec2 v_textureCoordinates; -bool czm_selected(vec2 offset) -{ - bool selected = false; - vec4 id = texture(czm_idTexture, v_textureCoordinates + offset); - for (int i = 0; i < ${t}; ++i) - { - vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); - if (all(equal(id, selectedId))) - { - return true; - } - } - return false; -} -bool czm_selected() -{ - return czm_selected(vec2(0.0)); -} - -${e}`}function f0t(e,t){if(l(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(l(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=u0t(n,o)}let i=new ze({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function d0t(e){let t=e._sampleMode,n,i;t===ef.LINEAR?(n=Jt.LINEAR,i=mi.LINEAR):(n=Jt.NEAREST,i=mi.NEAREST);let o=e._sampler;(!l(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new en({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function h0t(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function m0t(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function p0t(e,t){let n=e._texturesToRelease;for(let a=0;a<n.length;++a){let c=n[a];c=c&&c.destroy()}n.length=0;let i=e._texturesToCreate;for(let a=0;a<i.length;++a){let{name:c,source:u}=i[a];e._actualUniforms[c]=new Mt({context:t,source:u})}i.length=0;let o=e._dirtyUniforms;if(o.length===0&&!l(e._texturePromise)){e._ready=!0;return}if(o.length===0||l(e._texturePromise))return;let r=e._uniforms,s=[];for(let a=0;a<o.length;++a){let c=o[a],u=r[c],f=e._textureCache.getStageByName(u);if(l(f))e._actualUniforms[c]=m0t(e,u);else if(typeof u=="string"){let d=new we({url:u});s.push(d.fetchImage().then(h0t(e,c)))}else e._texturesToCreate.push({name:c,source:u})}o.length=0,s.length>0?(e._ready=!1,e._texturePromise=Promise.all(s).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function LTe(e){l(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!l(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i){if(!i.hasOwnProperty(o))continue;let r=i[o];r instanceof Mt&&(l(t.getStageByName(n[o]))||r.destroy(),e._dirtyUniforms.push(o))}}function _0t(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength;if(l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;for(let o=0;o<e._combinedSelected.length;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function g0t(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!l(n))return;let i=0;for(let s=0;s<n.length;++s){let a=n[s];l(a.pickIds)?i+=a.pickIds.length:l(a.pickId)&&++i}if(n.length===0||i===0){let s=new Uint8Array([255,255,255,255]);e._selectedIdTexture=new Mt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,source:{arrayBufferView:s,width:1,height:1},sampler:en.NEAREST});return}let o=0,r=new Uint8Array(i*4);for(let s=0;s<n.length;++s){let a=n[s];if(l(a.pickIds)){let c=a.pickIds,u=c.length;for(let f=0;f<u;++f){let d=c[f].color;r[o]=H.floatToByte(d.red),r[o+1]=H.floatToByte(d.green),r[o+2]=H.floatToByte(d.blue),r[o+3]=H.floatToByte(d.alpha),o+=4}}else if(l(a.pickId)){let c=a.pickId.color;r[o]=H.floatToByte(c.red),r[o+1]=H.floatToByte(c.green),r[o+2]=H.floatToByte(c.blue),r[o+3]=H.floatToByte(c.alpha),o+=4}}e._selectedIdTexture=new Mt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,source:{arrayBufferView:r,width:i,height:1},sampler:en.NEAREST})}sC.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&<e(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=_0t(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0,g0t(this,e),l0t(this),p0t(this,e),f0t(this,e),d0t(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!l(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!l(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=Ve.fromCache({viewport:new We(0,0,i.width,i.height)}))),this._command.renderState=o};sC.prototype.execute=function(e,t,n,i){if(!l(this._command)||!l(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,en.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;l(o)&&(o.context=e),this._command.execute(e,o)};sC.prototype.isDestroyed=function(){return!1};sC.prototype.destroy=function(){return LTe(this),ue(this)};var _o=sC;var HB=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - color /= texture(autoExposure, vec2(0.5)).r; -#else - color *= vec3(exposure); -#endif - color = czm_acesTonemapping(color); - color = czm_inverseGamma(color); - - out_FragColor = vec4(color, fragmentColor.a); -} -`;var GB=`precision highp float; - -uniform sampler2D randomTexture; -uniform sampler2D depthTexture; -uniform float intensity; -uniform float bias; -uniform float lengthCap; -uniform float stepSize; -uniform float frustumLength; - -vec3 pixelToEye(vec2 screenCoordinate) -{ - vec2 uv = screenCoordinate / czm_viewport.zw; - float depth = czm_readDepth(depthTexture, uv); - vec2 xy = 2.0 * uv - vec2(1.0); - vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); - return posEC.xyz / posEC.w; -} - -// Reconstruct surface normal in eye coordinates, avoiding edges -vec3 getNormalXEdge(vec3 positionEC) -{ - // Find the 3D surface positions at adjacent screen pixels - vec2 centerCoord = gl_FragCoord.xy; - vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0)); - vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0)); - vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0)); - vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0)); - - // Compute potential tangent vectors - vec3 dx0 = positionEC - positionLeft; - vec3 dx1 = positionRight - positionEC; - vec3 dy0 = positionEC - positionDown; - vec3 dy1 = positionUp - positionEC; - - // The shorter tangent is more likely to be on the same surface - vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1; - vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1; - - return normalize(cross(dx, dy)); -} - -void main(void) -{ - vec3 positionEC = pixelToEye(gl_FragCoord.xy); - - if (positionEC.z > frustumLength) - { - out_FragColor = vec4(1.0); - return; - } - - vec3 normalEC = getNormalXEdge(positionEC); - - float ao = 0.0; - - const int ANGLE_STEPS = 4; - float angleStepScale = 1.0 / float(ANGLE_STEPS); - float angleStep = angleStepScale * czm_twoPi; - float cosStep = cos(angleStep); - float sinStep = sin(angleStep); - mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep); - - // Initial sampling direction (different for each pixel) - const float randomTextureSize = 255.0; - vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize); - float randomVal = texture(randomTexture, randomTexCoord).x; - vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal)); - - // Loop over sampling directions - for (int i = 0; i < ANGLE_STEPS; i++) - { - sampleDirection = rotateStep * sampleDirection; - - float localAO = 0.0; - vec2 radialStep = stepSize * sampleDirection; - - for (int j = 0; j < 6; j++) - { - // Step along sampling direction, away from output pixel - vec2 newCoords = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5); - - // Exit if we stepped off the screen - if (clamp(newCoords, vec2(0.0), czm_viewport.zw) != newCoords) - { - break; - } - - vec3 stepPositionEC = pixelToEye(newCoords); - vec3 stepVector = stepPositionEC - positionEC; - float stepLength = length(stepVector); - - if (stepLength > lengthCap) - { - break; - } - - float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0); - if (dotVal < bias) - { - dotVal = 0.0; - } - - float weight = stepLength / lengthCap; - weight = 1.0 - weight * weight; - localAO = max(localAO, dotVal * weight); - } - ao += localAO; - } - - ao *= angleStepScale; - ao = 1.0 - clamp(ao, 0.0, 1.0); - ao = pow(ao, intensity); - out_FragColor = vec4(vec3(ao), 1.0); -} -`;var WB=`uniform sampler2D colorTexture; -uniform sampler2D ambientOcclusionTexture; -uniform bool ambientOcclusionOnly; -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); - out_FragColor = ambientOcclusionOnly ? ao : ao * color; -} -`;var jB=`uniform sampler2D colorTexture; -uniform float gradations; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; -#ifdef CZM_SELECTED_FEATURE - if (czm_selected()) { - out_FragColor = vec4(rgb, 1.0); - return; - } -#endif - float luminance = czm_luminance(rgb); - float darkness = luminance * gradations; - darkness = (darkness - fract(darkness)) / gradations; - out_FragColor = vec4(vec3(darkness), 1.0); -} -`;var qB=`uniform sampler2D colorTexture; -uniform sampler2D bloomTexture; -uniform bool glowOnly; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - -#ifdef CZM_SELECTED_FEATURE - if (czm_selected()) { - out_FragColor = color; - return; - } -#endif - - vec4 bloom = texture(bloomTexture, v_textureCoordinates); - out_FragColor = glowOnly ? bloom : bloom + color; -} -`;var YB=`uniform sampler2D colorTexture; -uniform float brightness; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; - vec3 target = vec3(0.0); - out_FragColor = vec4(mix(target, rgb, brightness), 1.0); -} -`;var XB=`uniform sampler2D colorTexture; -uniform float contrast; -uniform float brightness; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; - sceneColor = czm_RGBToHSB(sceneColor); - sceneColor.z += brightness; - sceneColor = czm_HSBToRGB(sceneColor); - - float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); - sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); - out_FragColor = vec4(sceneColor, 1.0); -} -`;var KB=`uniform sampler2D colorTexture; -uniform sampler2D blurTexture; -uniform sampler2D depthTexture; -uniform float focalDistance; - -in vec2 v_textureCoordinates; - -vec4 toEye(vec2 uv, float depth) -{ - vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); - vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); - posInCamera = posInCamera / posInCamera.w; - return posInCamera; -} - -float computeDepthBlur(float depth) -{ - float f; - if (depth < focalDistance) - { - f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); - } - else - { - f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); - f = pow(f, 0.1); - } - f *= f; - f = clamp(f, 0.0, 1.0); - return pow(f, 0.5); -} - -void main(void) -{ - float depth = czm_readDepth(depthTexture, v_textureCoordinates); - vec4 posInCamera = toEye(v_textureCoordinates, depth); - float d = computeDepthBlur(-posInCamera.z); - out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); -} -`;var ZB=`uniform sampler2D depthTexture; - -in vec2 v_textureCoordinates; - -void main(void) -{ - float depth = czm_readDepth(depthTexture, v_textureCoordinates); - out_FragColor = vec4(vec3(depth), 1.0); -} -`;var $B=`uniform sampler2D depthTexture; -uniform float length; -uniform vec4 color; - -in vec2 v_textureCoordinates; - -void main(void) -{ - float directions[3]; - directions[0] = -1.0; - directions[1] = 0.0; - directions[2] = 1.0; - - float scalars[3]; - scalars[0] = 3.0; - scalars[1] = 10.0; - scalars[2] = 3.0; - - float padx = czm_pixelRatio / czm_viewport.z; - float pady = czm_pixelRatio / czm_viewport.w; - -#ifdef CZM_SELECTED_FEATURE - bool selected = false; - for (int i = 0; i < 3; ++i) - { - float dir = directions[i]; - selected = selected || czm_selected(vec2(-padx, dir * pady)); - selected = selected || czm_selected(vec2(padx, dir * pady)); - selected = selected || czm_selected(vec2(dir * padx, -pady)); - selected = selected || czm_selected(vec2(dir * padx, pady)); - if (selected) - { - break; - } - } - if (!selected) - { - out_FragColor = vec4(color.rgb, 0.0); - return; - } -#endif - - float horizEdge = 0.0; - float vertEdge = 0.0; - - for (int i = 0; i < 3; ++i) - { - float dir = directions[i]; - float scale = scalars[i]; - - horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; - horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; - - vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; - vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; - } - - float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); - out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); -} -`;var QB=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See slides 142 and 143: -// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - - const float A = 0.22; // shoulder strength - const float B = 0.30; // linear strength - const float C = 0.10; // linear angle - const float D = 0.20; // toe strength - const float E = 0.01; // toe numerator - const float F = 0.30; // toe denominator - - const float white = 11.2; // linear white point value - - vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; - float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; - - c = czm_inverseGamma(c / w); - out_FragColor = vec4(c, fragmentColor.a); -} -`;var JB=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - color /= texture(autoExposure, vec2(0.5)).r; -#else - color *= vec3(exposure); -#endif - color = czm_pbrNeutralTonemapping(color); - color = czm_inverseGamma(color); - - out_FragColor = vec4(color, fragmentColor.a); -} -`;var e3=`in vec2 v_textureCoordinates; - -uniform sampler2D colorTexture; - -const float fxaaQualitySubpix = 0.5; -const float fxaaQualityEdgeThreshold = 0.125; -const float fxaaQualityEdgeThresholdMin = 0.0833; - -void main() -{ - vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; - vec4 color = FxaaPixelShader( - v_textureCoordinates, - colorTexture, - fxaaQualityRcpFrame, - fxaaQualitySubpix, - fxaaQualityEdgeThreshold, - fxaaQualityEdgeThresholdMin); - float alpha = texture(colorTexture, v_textureCoordinates).a; - out_FragColor = vec4(color.rgb, alpha); -} -`;var R0=`#define SAMPLES 8 - -uniform float delta; -uniform float sigma; -uniform float direction; // 0.0 for x direction, 1.0 for y direction - -uniform sampler2D colorTexture; - -#ifdef USE_STEP_SIZE -uniform float stepSize; -#else -uniform vec2 step; -#endif - -in vec2 v_textureCoordinates; - -// Incremental Computation of the Gaussian: -// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html - -void main() -{ - vec2 st = v_textureCoordinates; - vec2 dir = vec2(1.0 - direction, direction); - -#ifdef USE_STEP_SIZE - vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); -#else - vec2 step = step; -#endif - - vec3 g; - g.x = 1.0 / (sqrt(czm_twoPi) * sigma); - g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); - g.z = g.y * g.y; - - vec4 result = texture(colorTexture, st) * g.x; - for (int i = 1; i < SAMPLES; ++i) - { - g.xy *= g.yz; - - vec2 offset = float(i) * dir * step; - result += texture(colorTexture, st - offset) * g.x; - result += texture(colorTexture, st + offset) * g.x; - } - - out_FragColor = result; -} -`;var t3=`uniform sampler2D colorTexture; -uniform sampler2D dirtTexture; -uniform sampler2D starTexture; -uniform vec2 dirtTextureDimensions; -uniform float distortion; -uniform float ghostDispersal; -uniform float haloWidth; -uniform float dirtAmount; -uniform float earthRadius; -uniform float intensity; - -in vec2 v_textureCoordinates; - -// whether it is in space or not -// 6500000.0 is empirical value -#define DISTANCE_TO_SPACE 6500000.0 - -// return ndc from world coordinate biased earthRadius -vec4 getNDCFromWC(vec3 WC, float earthRadius) -{ - vec4 positionEC = czm_view * vec4(WC, 1.0); - positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); - vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); - return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); -} - -// Check if current pixel is included Earth -// if then mask it gradually -float isInEarth(vec2 texcoord, vec2 sceneSize) -{ - vec2 NDC = texcoord * 2.0 - 1.0; - vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); - vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); - NDC.xy -= earthPosSC.xy; - - float X = abs(NDC.x) * sceneSize.x; - float Y = abs(NDC.y) * sceneSize.y; - - return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); -} - -// For Chromatic effect -vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) -{ - vec2 sceneSize = czm_viewport.zw; - vec3 color; - if(isSpace) - { - color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; - color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; - color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; - } - else - { - color.r = texture(tex, texcoord + direction * distortion.r).r; - color.g = texture(tex, texcoord + direction * distortion.g).g; - color.b = texture(tex, texcoord + direction * distortion.b).b; - } - return vec4(clamp(color, 0.0, 1.0), 0.0); -} - -void main(void) -{ - vec4 originalColor = texture(colorTexture, v_textureCoordinates); - vec3 rgb = originalColor.rgb; - bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; - - // Sun position - vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); - vec4 sunPositionEC = czm_view * sunPos; - vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); - sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); - - // If sun is not in the screen space, use original color. - if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) - { - // Lens flare is disabled when not in space until #5932 is fixed. - // https://github.com/CesiumGS/cesium/issues/5932 - out_FragColor = originalColor; - return; - } - - vec2 texcoord = vec2(1.0) - v_textureCoordinates; - vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; - vec2 invPixelSize = 1.0 / pixelSize; - vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); - - // ghost vector to image centre: - vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; - vec3 direction = normalize(vec3(ghostVec, 0.0)); - - // sample ghosts: - vec4 result = vec4(0.0); - vec4 ghost = vec4(0.0); - for (int i = 0; i < 4; ++i) - { - vec2 offset = fract(texcoord + ghostVec * float(i)); - // Only bright spots from the centre of the source image - ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); - } - result += ghost; - - // sample halo - vec2 haloVec = normalize(ghostVec) * haloWidth; - float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); - weightForHalo = pow(1.0 - weightForHalo, 5.0); - - result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; - - // dirt on lens - vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; - if (dirtTexCoords.x > 1.0) - { - dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); - } - if (dirtTexCoords.y > 1.0) - { - dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); - } - result += dirtAmount * texture(dirtTexture, dirtTexCoords); - - // Rotating starburst texture's coordinate - // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) - float camrot = czm_view[0].z + czm_view[1].y; - float cosValue = cos(camrot); - float sinValue = sin(camrot); - mat3 rotation = mat3( - cosValue, -sinValue, 0.0, - sinValue, cosValue, 0.0, - 0.0, 0.0, 1.0 - ); - - vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); - vec3 st2 = vec3((rotation * st1).xy, 1.0); - vec3 st3 = st2 * 0.5 + vec3(0.5); - vec2 lensStarTexcoord = st3.xy; - float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); - float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); - - if (!isSpace) - { - result *= oneMinusWeightForLensFlare * intensity * 0.2; - } - else - { - result *= oneMinusWeightForLensFlare * intensity; - result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; - } - - result += texture(colorTexture, v_textureCoordinates); - - out_FragColor = result; -} -`;var n3=`uniform sampler2D colorTexture; -uniform vec3 white; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See equation 4: -// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - color = (color * (1.0 + color / white)) / (1.0 + color); - color = czm_inverseGamma(color); - out_FragColor = vec4(color, fragmentColor.a); -} -`;var i3=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -float rand(vec2 co) -{ - return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); -} - -void main(void) -{ - float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; - vec3 green = vec3(0.0, 1.0, 0.0); - out_FragColor = vec4((noiseValue + rgb) * green, 1.0); -} -`;var o3=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See equation 3: -// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - color = color / (1.0 + color); - color = czm_inverseGamma(color); - out_FragColor = vec4(color, fragmentColor.a); -} -`;var r3=`uniform sampler2D colorTexture; -uniform sampler2D silhouetteTexture; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); - vec4 color = texture(colorTexture, v_textureCoordinates); - out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); -} -`;/** - * @license - * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of NVIDIA CORPORATION nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */var s3=`/** - * @license - * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of NVIDIA CORPORATION nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples -// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h - -// Steps used to integrate into Cesium: -// * The following defines are set: -// #define FXAA_PC 1 -// #define FXAA_WEBGL_1 1 -// #define FXAA_GREEN_AS_LUMA 1 -// #define FXAA_EARLY_EXIT 1 -// #define FXAA_GLSL_120 1 -// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. -// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace -// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. -// * There are no implicit conversions from ivec* to vec* so replace: -// #define FxaaInt2 ivec2 -// with -// #define FxaaInt2 vec2 -// * The texture2DLod function is only available in vertex shaders so replace: -// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) -// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) -// with -// #define FxaaTexTop(t, p) texture(t, p) -// #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) -// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. -// * The following parameters to FxaaPixelShader are unused and can be removed: -// fxaaConsolePosPos -// fxaaConsoleRcpFrameOpt -// fxaaConsoleRcpFrameOpt2 -// fxaaConsole360RcpFrameOpt2 -// fxaaConsoleEdgeSharpness -// fxaaConsoleEdgeThreshold -// fxaaConsoleEdgeThresholdMi -// fxaaConsole360ConstDir - -// -// Choose the quality preset. -// This needs to be compiled into the shader as it effects code. -// Best option to include multiple presets is to -// in each shader define the preset, then include this file. -// -// OPTIONS -// ----------------------------------------------------------------------- -// 10 to 15 - default medium dither (10=fastest, 15=highest quality) -// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) -// 39 - no dither, very expensive -// -// NOTES -// ----------------------------------------------------------------------- -// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) -// 13 = about same speed as FXAA 3.9 and better than 12 -// 23 = closest to FXAA 3.9 visually and performance wise -// _ = the lowest digit is directly related to performance -// _ = the highest digit is directly related to style -// -//#define FXAA_QUALITY_PRESET 12 - - -#if (FXAA_QUALITY_PRESET == 10) - #define FXAA_QUALITY_PS 3 - #define FXAA_QUALITY_P0 1.5 - #define FXAA_QUALITY_P1 3.0 - #define FXAA_QUALITY_P2 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 11) - #define FXAA_QUALITY_PS 4 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 3.0 - #define FXAA_QUALITY_P3 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 12) - #define FXAA_QUALITY_PS 5 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 4.0 - #define FXAA_QUALITY_P4 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 13) - #define FXAA_QUALITY_PS 6 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 4.0 - #define FXAA_QUALITY_P5 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 14) - #define FXAA_QUALITY_PS 7 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 4.0 - #define FXAA_QUALITY_P6 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 15) - #define FXAA_QUALITY_PS 8 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 4.0 - #define FXAA_QUALITY_P7 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 20) - #define FXAA_QUALITY_PS 3 - #define FXAA_QUALITY_P0 1.5 - #define FXAA_QUALITY_P1 2.0 - #define FXAA_QUALITY_P2 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 21) - #define FXAA_QUALITY_PS 4 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 22) - #define FXAA_QUALITY_PS 5 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 23) - #define FXAA_QUALITY_PS 6 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 24) - #define FXAA_QUALITY_PS 7 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 3.0 - #define FXAA_QUALITY_P6 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 25) - #define FXAA_QUALITY_PS 8 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 4.0 - #define FXAA_QUALITY_P7 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 26) - #define FXAA_QUALITY_PS 9 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 4.0 - #define FXAA_QUALITY_P8 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 27) - #define FXAA_QUALITY_PS 10 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 4.0 - #define FXAA_QUALITY_P9 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 28) - #define FXAA_QUALITY_PS 11 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 4.0 - #define FXAA_QUALITY_P10 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 29) - #define FXAA_QUALITY_PS 12 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 2.0 - #define FXAA_QUALITY_P10 4.0 - #define FXAA_QUALITY_P11 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 39) - #define FXAA_QUALITY_PS 12 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.0 - #define FXAA_QUALITY_P2 1.0 - #define FXAA_QUALITY_P3 1.0 - #define FXAA_QUALITY_P4 1.0 - #define FXAA_QUALITY_P5 1.5 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 2.0 - #define FXAA_QUALITY_P10 4.0 - #define FXAA_QUALITY_P11 8.0 -#endif - -#define FxaaBool bool -#define FxaaFloat float -#define FxaaFloat2 vec2 -#define FxaaFloat3 vec3 -#define FxaaFloat4 vec4 -#define FxaaHalf float -#define FxaaHalf2 vec2 -#define FxaaHalf3 vec3 -#define FxaaHalf4 vec4 -#define FxaaInt2 vec2 -#define FxaaTex sampler2D - -#define FxaaSat(x) clamp(x, 0.0, 1.0) -#define FxaaTexTop(t, p) texture(t, p) -#define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) - -FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } +FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } FxaaFloat4 FxaaPixelShader( // @@ -15508,434 +11100,5058 @@ FxaaFloat4 FxaaPixelShader( #endif /*--------------------------------------------------------------------------*/ } - #endif -/*--------------------------------------------------------------------------*/ + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } +/*--------------------------------------------------------------------------*/ + FxaaFloat dstN = posM.x - posN.x; + FxaaFloat dstP = posP.x - posM.x; + if(!horzSpan) dstN = posM.y - posN.y; + if(!horzSpan) dstP = posP.y - posM.y; +/*--------------------------------------------------------------------------*/ + FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; + FxaaFloat spanLength = (dstP + dstN); + FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; + FxaaFloat spanLengthRcp = 1.0/spanLength; +/*--------------------------------------------------------------------------*/ + FxaaBool directionN = dstN < dstP; + FxaaFloat dst = min(dstN, dstP); + FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; + FxaaFloat subpixG = subpixF * subpixF; + FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; + FxaaFloat subpixH = subpixG * fxaaQualitySubpix; +/*--------------------------------------------------------------------------*/ + FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; + FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); + if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; + if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; + return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); +} +`;var s2=`uniform vec4 u_initialColor; + +#if TEXTURE_UNITS > 0 +uniform sampler2D u_dayTextures[TEXTURE_UNITS]; +uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; +uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; + +#ifdef APPLY_ALPHA +uniform float u_dayTextureAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_DAY_NIGHT_ALPHA +uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; +uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SPLIT +uniform float u_dayTextureSplit[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_BRIGHTNESS +uniform float u_dayTextureBrightness[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_CONTRAST +uniform float u_dayTextureContrast[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_HUE +uniform float u_dayTextureHue[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SATURATION +uniform float u_dayTextureSaturation[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_GAMMA +uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C +#ifdef APPLY_INVERT_COLOR_MARS3D +uniform bool u_mars3dTextureInvertColor[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_FILTER_COLOR_MARS3D +uniform vec3 u_mars3dTextureFilterColor[TEXTURE_UNITS]; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + +#ifdef APPLY_IMAGERY_CUTOUT +uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_COLOR_TO_ALPHA +uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; +#endif + +uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; +#endif + +#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) +uniform sampler2D u_waterMask; +uniform vec4 u_waterMaskTranslationAndScale; +uniform float u_zoomedOutOceanSpecularIntensity; +#endif + +#ifdef SHOW_OCEAN_WAVES +uniform sampler2D u_oceanNormalMap; +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) +uniform vec2 u_lightingFadeDistance; +#endif + +#ifdef TILE_LIMIT_RECTANGLE +uniform vec4 u_cartographicLimitRectangle; +#endif + +#ifdef GROUND_ATMOSPHERE +uniform vec2 u_nightFadeDistance; +#endif + +#ifdef ENABLE_CLIPPING_PLANES +uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS +uniform highp sampler2D u_clippingDistance; +in vec2 v_clippingPosition; +flat in int v_regionIndex; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) +uniform float u_minimumBrightness; +#endif + +#ifdef COLOR_CORRECT +uniform vec3 u_hsbShift; // Hue, saturation, brightness +#endif + +#ifdef HIGHLIGHT_FILL_TILE +uniform vec4 u_fillHighlightColor; +#endif + +#ifdef TRANSLUCENT +uniform vec4 u_frontFaceAlphaByDistance; +uniform vec4 u_backFaceAlphaByDistance; +uniform vec4 u_translucencyRectangle; +#endif + +#ifdef UNDERGROUND_COLOR +uniform vec4 u_undergroundColor; +uniform vec4 u_undergroundColorAlphaByDistance; +#endif + +#ifdef ENABLE_VERTEX_LIGHTING +uniform float u_lambertDiffuseMultiplier; +uniform float u_vertexShadowDarkness; +#endif + +in vec3 v_positionMC; +in vec3 v_positionEC; +in vec3 v_textureCoordinates; +in vec3 v_normalMC; +in vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +in float v_height; +in float v_slope; +in float v_aspect; +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) +#ifdef APPLY_MARS3D_FLOOD +uniform bool u_mars_flood_enabled; +uniform bool u_mars_flood_only; +uniform vec4 u_mars_flood_rectangle; +uniform highp sampler2D u_mars_flood_texture; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 +#ifdef APPLY_MARS3D_CLIP +uniform bool u_mars_clip_enabled; +uniform bool u_mars_clip_only; +uniform vec4 u_mars_clip_rectangle; +uniform highp sampler2D u_mars_clip_texture; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 +uniform highp float u_mars_inverseTileWidth; +uniform highp vec2 u_mars_cartographicTileRectangle; + +bool inAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture) { + float lo = v_textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; + float la = v_textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; + + float newX = (lo - rectangle.x) / rectangle.z; + float newY = (la - rectangle.y) / rectangle.w; + + if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ + vec4 point = texture(rangeTexture, vec2(newX, newY)); + return point.r > 0.0; + } + + return false; +} +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +in float v_distance; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) +in vec3 v_atmosphereRayleighColor; +in vec3 v_atmosphereMieColor; +in float v_atmosphereOpacity; +#endif + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 +#ifdef APPLY_MARS3D_UPLIFT +uniform vec4 u_mars_uplift_rectangle; +uniform highp sampler2D u_mars_uplift_texture; +uniform bool u_mars_uplift_enabled; +uniform bool u_mars_uplift_hideInsideOrOutside; +#endif +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} +#endif + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) +vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) +{ + return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); +} +#endif + +#ifdef TRANSLUCENT +bool inTranslucencyRectangle() +{ + return + v_textureCoordinates.x > u_translucencyRectangle.x && + v_textureCoordinates.x < u_translucencyRectangle.z && + v_textureCoordinates.y > u_translucencyRectangle.y && + v_textureCoordinates.y < u_translucencyRectangle.w; +} +#endif + +vec4 sampleAndBlend( + vec4 previousColor, + sampler2D textureToSample, + vec2 tileTextureCoordinates, + vec4 textureCoordinateRectangle, + vec4 textureCoordinateTranslationAndScale, + float textureAlpha, + float textureNightAlpha, + float textureDayAlpha, + float textureBrightness, + float textureContrast, + float textureHue, + float textureSaturation, + float textureOneOverGamma, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + bool textureInvertColor, + vec3 texturefilterColor, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + float split, + vec4 colorToAlpha, + float nightBlend) +{ + // This crazy step stuff sets the alpha to 0.0 if this following condition is true: + // tileTextureCoordinates.s < textureCoordinateRectangle.s || + // tileTextureCoordinates.s > textureCoordinateRectangle.p || + // tileTextureCoordinates.t < textureCoordinateRectangle.t || + // tileTextureCoordinates.t > textureCoordinateRectangle.q + // In other words, the alpha is zero if the fragment is outside the rectangle + // covered by this texture. Would an actual 'if' yield better performance? + vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + + alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); +#endif + + vec2 translation = textureCoordinateTranslationAndScale.xy; + vec2 scale = textureCoordinateTranslationAndScale.zw; + vec2 textureCoordinates = tileTextureCoordinates * scale + translation; + vec4 value = texture(textureToSample, textureCoordinates); + vec3 color = value.rgb; + float alpha = value.a; + +#ifdef APPLY_COLOR_TO_ALPHA + vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); + colorDiff.r = czm_maximumComponent(colorDiff); + alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); +#endif + +#if !defined(APPLY_GAMMA) + vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); + color = tempColor.rgb; + alpha = tempColor.a; +#else + color = pow(color, vec3(textureOneOverGamma)); +#endif + +#ifdef APPLY_SPLIT + float splitPosition = czm_splitPosition; + // Split to the left + if (split < 0.0 && gl_FragCoord.x > splitPosition) { + alpha = 0.0; + } + // Split to the right + else if (split > 0.0 && gl_FragCoord.x < splitPosition) { + alpha = 0.0; + } +#endif + +#ifdef APPLY_BRIGHTNESS + color = mix(vec3(0.0), color, textureBrightness); +#endif + +#ifdef APPLY_CONTRAST + color = mix(vec3(0.5), color, textureContrast); +#endif + +#ifdef APPLY_HUE + color = czm_hue(color, textureHue); +#endif + +#ifdef APPLY_SATURATION + color = czm_saturation(color, textureSaturation); +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C +#ifdef APPLY_INVERT_COLOR_MARS3D + if(textureInvertColor) { + color = vec3(1.0 - color.r, 1.0 - color.g, 1.0 - color.b); + } +#endif + +#ifdef APPLY_FILTER_COLOR_MARS3D + if(texturefilterColor.x != 1.0 || texturefilterColor.y != 1.0 || texturefilterColor.z != 1.0) { + color = vec3(color.r * texturefilterColor.x, color.g * texturefilterColor.y, color.b * texturefilterColor.z); + } +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + + float sourceAlpha = alpha * textureAlpha; + float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); + outAlpha += sign(outAlpha) - 1.0; + + vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; + + // When rendering imagery for a tile in multiple passes, + // some GPU/WebGL implementation combinations will not blend fragments in + // additional passes correctly if their computation includes an unmasked + // divide-by-zero operation, + // even if it's not in the output or if the output has alpha zero. + // + // For example, without sanitization for outAlpha, + // this renders without artifacts: + // if (outAlpha == 0.0) { outColor = vec3(0.0); } + // + // but using czm_branchFreeTernary will cause portions of the tile that are + // alpha-zero in the additional pass to render as black instead of blending + // with the previous pass: + // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); + // + // So instead, sanitize against divide-by-zero, + // store this state on the sign of outAlpha, and correct on return. + + return vec4(outColor, max(outAlpha, 0.0)); +} + +vec3 colorCorrect(vec3 rgb) { +#ifdef COLOR_CORRECT + // Convert rgb color to hsb + vec3 hsb = czm_RGBToHSB(rgb); + // Perform hsb shift + hsb.x += u_hsbShift.x; // hue + hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation + hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness + // Convert shifted hsb back to rgb + rgb = czm_HSBToRGB(hsb); +#endif + return rgb; +} + +vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); + +const float fExposure = 2.0; + +vec3 computeEllipsoidPosition() +{ + float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); + vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); + xy *= czm_viewport.zw * mpp * 0.5; + + vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); + czm_ray ray = czm_ray(vec3(0.0), direction); + + vec3 ellipsoid_center = czm_view[3].xyz; + + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + + vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); + return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; +} + +void main() +{ + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 +#ifdef APPLY_MARS3D_CLIP + if(u_mars_clip_enabled) { + if(u_mars_clip_only) { + if(!inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { + discard; + } + } else { + if(inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { + discard; + } + } + } +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 + +#ifdef TILE_LIMIT_RECTANGLE + if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || + v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) + { + discard; + } +#endif + +#ifdef ENABLE_CLIPPING_PLANES + float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); +#endif + +#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) + vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates + vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordinates +#endif + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); +#else + float nightBlend = 0.0; +#endif + + // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 + // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the + // fragments on the edges of tiles even though the vertex shader is outputting + // coordinates strictly in the 0-1 range. + vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); + +#ifdef SHOW_TILE_BOUNDARIES + if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || + v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) + { + color = vec4(1.0, 0.0, 0.0, 1.0); + } +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) + float cameraDist; + if (czm_sceneMode == czm_sceneMode2D) + { + cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; + } + else if (czm_sceneMode == czm_sceneModeColumbusView) + { + cameraDist = -czm_view[3].z; + } + else + { + cameraDist = length(czm_view[3]); + } + float fadeOutDist = u_lightingFadeDistance.x; + float fadeInDist = u_lightingFadeDistance.y; + if (czm_sceneMode != czm_sceneMode3D) { + vec3 radii = czm_ellipsoidRadii; + float maxRadii = max(radii.x, max(radii.y, radii.z)); + fadeOutDist -= maxRadii; + fadeInDist -= maxRadii; + } + float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); +#else + float fade = 0.0; +#endif + +#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) + vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; + vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; + vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; + waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; + + float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; + + #ifdef SHOW_REFLECTIVE_OCEAN + if (mask > 0.0) + { + mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); + + vec2 ellipsoidTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC); + vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC.zyx); + + vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); + + color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); + } + #endif +#endif + +#ifdef APPLY_MATERIAL + czm_materialInput materialInput; + materialInput.st = v_textureCoordinates.st; + materialInput.normalEC = normalize(v_normalEC); + materialInput.positionToEyeEC = -v_positionEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); + materialInput.slope = v_slope; + materialInput.height = v_height; + materialInput.aspect = v_aspect; + #ifdef HAS_WATER_MASK + materialInput.waterMask = mask; + #endif + + czm_material material = czm_getMaterial(materialInput); + + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + bool hasAlphaBlend = true; + #ifdef APPLY_MARS3D_FLOOD + hasAlphaBlend = !u_mars_flood_enabled || (u_mars_flood_enabled && inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)); + if(u_mars_flood_enabled) { + if(u_mars_flood_only) { + if(! inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)) { + discard; + } + } + } + #endif + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + + if(hasAlphaBlend) { + vec4 materialColor = vec4(material.diffuse, material.alpha); + color = alphaBlend(materialColor, color); + } + +#endif + +#ifdef ENABLE_VERTEX_LIGHTING + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#elif defined(ENABLE_DAYNIGHT_SHADING) + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); + diffuseIntensity = mix(1.0, diffuseIntensity, fade); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#else + vec4 finalColor = color; +#endif + +#ifdef ENABLE_CLIPPING_PLANES + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; + float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; + + if (clipDistance < clippingPlanesEdgeWidth) + { + finalColor = clippingPlanesEdgeColor; + } +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS + vec2 clippingPosition = v_clippingPosition; + int regionIndex = v_regionIndex; + clipPolygons(u_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); +#endif + +#ifdef HIGHLIGHT_FILL_TILE + finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); +#endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) + if (!czm_backFacing()) + { + bool dynamicLighting = false; + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + + vec3 rayleighColor; + vec3 mieColor; + float opacity; + + vec3 positionWC; + vec3 lightDirection; + + // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. + // Otherwise, the scattering is computed in the vertex shader. + #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE + positionWC = computeEllipsoidPosition(); + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + computeAtmosphereScattering( + positionWC, + lightDirection, + rayleighColor, + mieColor, + opacity + ); + #else + positionWC = v_positionMC; + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + rayleighColor = v_atmosphereRayleighColor; + mieColor = v_atmosphereMieColor; + opacity = v_atmosphereOpacity; + #endif + + #ifdef COLOR_CORRECT + const bool ignoreBlackPixels = true; + rayleighColor = czm_applyHSBShift(rayleighColor, u_hsbShift, ignoreBlackPixels); + mieColor = czm_applyHSBShift(mieColor, u_hsbShift, ignoreBlackPixels); + #endif + + vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + + // Fog is applied to tiles selected for fog, close to the Earth. + #ifdef FOG + vec3 fogColor = groundAtmosphereColor.rgb; + + // If there is lighting, apply that to the fog. + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); + fogColor *= darken; + #endif + + #ifndef HDR + fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); + fogColor.rgb = czm_inverseGamma(fogColor.rgb); + #endif + + finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, czm_fogVisualDensityScalar), finalColor.a); + + #else + // Apply ground atmosphere. This happens when the camera is far away from the earth. + + // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. + // This value is larger near the "circumference", as it is further away from the camera. We use it to + // brighten up that area of the ground atmosphere. + const float transmittanceModifier = 0.5; + float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); + + vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float fadeInDist = u_nightFadeDistance.x; + float fadeOutDist = u_nightFadeDistance.y; + + float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); + float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); + vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); + + finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); + #endif + + #ifndef HDR + finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); + #else + finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); + #endif + + finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); + #endif + } +#endif + +#ifdef UNDERGROUND_COLOR + if (czm_backFacing()) + { + float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); + float distance = max(v_distance - distanceFromEllipsoid, 0.0); + float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); + vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); + finalColor = alphaBlend(undergroundColor, finalColor); + } +#endif + +#ifdef TRANSLUCENT + if (inTranslucencyRectangle()) + { + vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; + finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); + } +#endif + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 +#ifdef APPLY_MARS3D_UPLIFT + if(u_mars_uplift_enabled) { + bool isInSlopeRampRectangle = inAreaMars3DRange(u_mars_uplift_rectangle, u_mars_uplift_texture); + if(isInSlopeRampRectangle == u_mars_uplift_hideInsideOrOutside) { + discard; + } + } +#endif + + out_FragColor = finalColor; +} + + +#ifdef SHOW_REFLECTIVE_OCEAN + +float waveFade(float edge0, float edge1, float x) +{ + float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return pow(1.0 - y, 5.0); +} + +float linearFade(float edge0, float edge1, float x) +{ + return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); +} + +// Based on water rendering by Jonas Wagner: +// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog + +// low altitude wave settings +const float oceanFrequencyLowAltitude = 825000.0; +const float oceanAnimationSpeedLowAltitude = 0.004; +const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; +const float oceanSpecularIntensity = 0.5; + +// high altitude wave settings +const float oceanFrequencyHighAltitude = 125000.0; +const float oceanAnimationSpeedHighAltitude = 0.008; +const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; + +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) +{ + vec3 positionToEyeEC = -positionEyeCoordinates; + float positionToEyeECLength = length(positionToEyeEC); + + // The double normalize below works around a bug in Firefox on Android devices. + vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); + + // Fade out the waves as the camera moves far from the surface. + float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); + +#ifdef SHOW_OCEAN_WAVES + // high altitude waves + float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; + vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); + vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); + + // low altitude waves + time = czm_frameNumber * oceanAnimationSpeedLowAltitude; + noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); + vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); + + // blend the 2 wave layers based on distance to surface + float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); + float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); + vec3 normalTangentSpace = + (highAltitudeFade * normalTangentSpaceHighAltitude) + + (lowAltitudeFade * normalTangentSpaceLowAltitude); + normalTangentSpace = normalize(normalTangentSpace); + + // fade out the normal perturbation as we move farther from the water surface + normalTangentSpace.xy *= waveIntensity; + normalTangentSpace = normalize(normalTangentSpace); +#else + vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); +#endif + + vec3 normalEC = enuToEye * normalTangentSpace; + + const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); + + // Use diffuse light to highlight the waves + float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; + vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); + +#ifdef SHOW_OCEAN_WAVES + // Where diffuse light is low or non-existent, use wave highlights based solely on + // the wave bumpiness and no particular light direction. + float tsPerturbationRatio = normalTangentSpace.z; + vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); +#else + vec3 nonDiffuseHighlight = vec3(0.0); +#endif + + // Add specular highlights in 3D, and in all modes when zoomed in. + float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); + float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); + float specular = specularIntensity * surfaceReflectance; + +#ifdef HDR + specular *= 1.4; + + float e = 0.2; + float d = 3.3; + float c = 1.7; + + vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); +#else + vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; +#endif + + return vec4(color, imageryColor.a); +} + +#endif // #ifdef SHOW_REFLECTIVE_OCEAN +`;var a2=`#ifdef QUANTIZATION_BITS12 +in vec4 compressed0; +in float compressed1; +#else +in vec4 position3DAndHeight; +in vec4 textureCoordAndEncodedNormals; +#endif + +#ifdef GEODETIC_SURFACE_NORMALS +in vec3 geodeticSurfaceNormal; +#endif + +#ifdef EXAGGERATION +uniform vec2 u_verticalExaggerationAndRelativeHeight; +#endif + +uniform vec3 u_center3D; +uniform mat4 u_modifiedModelView; +uniform mat4 u_modifiedModelViewProjection; +uniform vec4 u_tileRectangle; + +// Uniforms for 2D Mercator projection +uniform vec2 u_southAndNorthLatitude; +uniform vec2 u_southMercatorYAndOneOverHeight; + +out vec3 v_positionMC; +out vec3 v_positionEC; + +out vec3 v_textureCoordinates; +out vec3 v_normalMC; +out vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +out float v_slope; +out float v_aspect; +out float v_height; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +out float v_distance; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) +out vec3 v_atmosphereRayleighColor; +out vec3 v_atmosphereMieColor; +out float v_atmosphereOpacity; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS +uniform highp sampler2D u_clippingExtents; +out vec2 v_clippingPosition; +flat out int v_regionIndex; +#endif + +// These functions are generated at runtime. +vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); +float get2DYPositionFraction(vec2 textureCoordinates); + +vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return u_modifiedModelViewProjection * vec4(position, 1.0); +} + +float get2DMercatorYPositionFraction(vec2 textureCoordinates) +{ + // The width of a tile at level 11, in radians and assuming a single root tile, is + // 2.0 * czm_pi / pow(2.0, 11.0) + // We want to just linearly interpolate the 2D position from the texture coordinates + // when we're at this level or higher. The constant below is the expression + // above evaluated and then rounded up at the 4th significant digit. + const float maxTileWidth = 0.003068; + float positionFraction = textureCoordinates.y; + float southLatitude = u_southAndNorthLatitude.x; + float northLatitude = u_southAndNorthLatitude.y; + if (northLatitude - southLatitude > maxTileWidth) + { + float southMercatorY = u_southMercatorYAndOneOverHeight.x; + float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; + + float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); + currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); + positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); + } + return positionFraction; +} + +float get2DGeographicYPositionFraction(vec2 textureCoordinates) +{ + return textureCoordinates.y; +} + +vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) +{ + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + return u_modifiedModelViewProjection * rtcPosition2D; +} + +vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, 0.0, textureCoordinates); +} + +vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, height, textureCoordinates); +} + +vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) +{ + // We do not do RTC while morphing, so there is potential for jitter. + // This is unlikely to be noticeable, though. + vec3 position3DWC = position + u_center3D; + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); + return czm_modelViewProjection * morphPosition; +} + +#ifdef QUANTIZATION_BITS12 +uniform vec2 u_minMaxHeight; +uniform mat4 u_scaleAndBias; +#endif + + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 +#ifdef APPLY_MARS3D_FLAT +uniform bool u_mars_flat_enabled; +uniform vec4 u_mars_flat_rectangle; +uniform highp sampler2D u_mars_flat_texture; + +uniform highp float u_mars_inverseTileWidth; +uniform highp vec2 u_mars_cartographicTileRectangle; + +vec4 getAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture, vec2 textureCoordinates) { + float lo = textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; + float la = textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; + + float newX = (lo - rectangle.x) / rectangle.z; + float newY = (la - rectangle.y) / rectangle.w; + + vec4 point; + if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ + vec4 point = texture(rangeTexture, vec2(newX, newY)); + return point; + }else{ + return vec4(0.0); + } +} +#endif +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 + + +void main() +{ +#ifdef QUANTIZATION_BITS12 + vec2 xy = czm_decompressTextureCoordinates(compressed0.x); + vec2 zh = czm_decompressTextureCoordinates(compressed0.y); + vec3 position = vec3(xy, zh.x); + float height = zh.y; + vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); + + height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; + position = (u_scaleAndBias * vec4(position, 1.0)).xyz; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y) || defined(APPLY_MATERIAL) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = compressed1; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = 0.0; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = compressed0.w; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#else + // A single float per element + vec3 position = position3DAndHeight.xyz; + float height = position3DAndHeight.w; + vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = textureCoordAndEncodedNormals.w; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = textureCoordAndEncodedNormals.z; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = 0.0; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#endif + + vec3 position3DWC = position + u_center3D; + +#ifdef GEODETIC_SURFACE_NORMALS + vec3 ellipsoidNormal = geodeticSurfaceNormal; +#else + vec3 ellipsoidNormal = normalize(position3DWC); +#endif + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + float exaggeration = u_verticalExaggerationAndRelativeHeight.x; + float relativeHeight = u_verticalExaggerationAndRelativeHeight.y; + float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; + + // stop from going through center of earth + float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); + newHeight = max(newHeight, -minRadius); + + vec3 offset = ellipsoidNormal * (newHeight - height); + position += offset; + position3DWC += offset; + height = newHeight; +#endif + + // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 +#ifdef APPLY_MARS3D_FLAT + if(u_mars_flat_enabled) { + vec4 isInside = getAreaMars3DRange(u_mars_flat_rectangle,u_mars_flat_texture,textureCoordinates); + if(isInside.r>0.0 || isInside.g>0.0 || isInside.b>0.0 || isInside.a>0.0){ + float newHeight = czm_unpackFloat(isInside); + if(newHeight>-9999.0 && newHeight<9999.0){ + vec3 offset = (newHeight - height) * ellipsoidNormal; + position += offset; + position3DWC += offset; + height = newHeight; + // vec3 newPosition = (position3DWC + offset) - u_center3D; + } + } + } +#endif + // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 + + gl_Position = getPosition(position, height, textureCoordinates); + + v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; + v_positionMC = position3DWC; // position in model coordinates + + v_textureCoordinates = vec3(textureCoordinates, webMercatorT); + +#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + vec3 normalMC = czm_octDecode(encodedNormal); + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; + vec3 rejection = normalMC - projection; + normalMC = normalize(projection + rejection * exaggeration); +#endif + + v_normalMC = normalMC; + v_normalEC = czm_normal3D * v_normalMC; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS + vec2 sphericalLatLong = czm_approximateSphericalCoordinates(position3DWC); + sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); + + vec2 minDistance = vec2(czm_infinity); + v_clippingPosition = vec2(czm_infinity); + v_regionIndex = -1; + + for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { + vec4 extents = unpackClippingExtents(u_clippingExtents, regionIndex); + vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; + + vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); + vec2 distance = abs(rectUv - clamped) * extents.wz; + + float threshold = 0.01; + if (minDistance.x > distance.x || minDistance.y > distance.y) { + minDistance = distance; + v_clippingPosition = rectUv; + if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { + v_regionIndex = regionIndex; + } + } + } +#endif + +#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) + + bool dynamicLighting = false; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + + vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); + + computeAtmosphereScattering( + position3DWC, + lightDirection, + v_atmosphereRayleighColor, + v_atmosphereMieColor, + v_atmosphereOpacity + ); +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) + v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); +#endif + +#ifdef APPLY_MATERIAL + float northPoleZ = czm_ellipsoidRadii.z; + vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); + vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); + float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); + v_slope = acos(dotProd); + vec3 normalRejected = ellipsoidNormal * dotProd; + vec3 normalProjected = v_normalMC - normalRejected; + vec3 aspectVector = normalize(normalProjected); + v_aspect = acos(dot(aspectVector, vectorEastMC)); + float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); + v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); + v_height = height; +#endif +} +`;var nv=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { + + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + float atmosphereInnerRadius = length(positionWC); + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); +} +`;var c2=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(u_texture, v_textureCoordinates); +} +`;var l2=`in vec4 position; +in float webMercatorT; + +uniform vec2 u_textureDimensions; + +out vec2 v_textureCoordinates; + +void main() +{ + v_textureCoordinates = vec2(position.x, webMercatorT); + gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); +} +`;var iv=`float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} + +void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) +{ + float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; + + // Adjustment to the atmosphere radius applied based on the camera height. + float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; + float distanceAdjustMax = czm_ellipsoidRadii.x; + float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; + float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); + + // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit + // for the position on the ellipsoid. + float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; + float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; + + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + underTranslucentGlobe = 0.0; + + // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. + #if defined(GLOBE_TRANSLUCENT) + + // Check for intersection with the inner radius of the atmopshere. + czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); + if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { + + // Compute position on globe. + vec3 direction = normalize(positionWC); + czm_ray ellipsoidRay = czm_ray(positionWC, -direction); + czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); + vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); + + // Control the color using the camera angle. + float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); + + // Control the opacity using the distance from Earth. + opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); + vec3 horizonColor = vec3(0.1, 0.2, 0.3); + vec3 nearColor = vec3(0.0); + + rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); + + // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. + underTranslucentGlobe = 1.0; + return; + } + #endif + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); + + // Alter the opacity based on how close the viewer is to the ground. + // (0.0 = At edge of atmosphere, 1.0 = On ground) + float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; + float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; + opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); + + // Alter alpha based on time of day (0.0 = night , 1.0 = day) + float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; + opacity *= pow(nightAlpha, 0.5); +} +`;var u2=`in vec3 v_outerPositionWC; + +uniform vec3 u_hsbShift; + +#ifndef PER_FRAGMENT_ATMOSPHERE +in vec3 v_mieColor; +in vec3 v_rayleighColor; +in float v_opacity; +in float v_translucent; +#endif + +void main (void) +{ + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_outerPositionWC, lightEnum); + + vec3 mieColor; + vec3 rayleighColor; + float opacity; + float translucent; + + #ifdef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + v_outerPositionWC, + lightDirection, + rayleighColor, + mieColor, + opacity, + translucent + ); + #else + mieColor = v_mieColor; + rayleighColor = v_rayleighColor; + opacity = v_opacity; + translucent = v_translucent; + #endif + + vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); + + #ifndef HDR + color.rgb = czm_pbrNeutralTonemapping(color.rgb); + color.rgb = czm_inverseGamma(color.rgb); + #endif + + #ifdef COLOR_CORRECT + const bool ignoreBlackPixels = true; + color.rgb = czm_applyHSBShift(color.rgb, u_hsbShift, ignoreBlackPixels); + #endif + + // For the parts of the sky atmosphere that are not behind a translucent globe, + // we mix in the default opacity so that the sky atmosphere still appears at distance. + // This is needed because the opacity in the sky atmosphere is initially adjusted based + // on the camera height. + if (translucent == 0.0) { + color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); + } + + out_FragColor = color; +} +`;var f2=`in vec4 position; + +out vec3 v_outerPositionWC; + +#ifndef PER_FRAGMENT_ATMOSPHERE +out vec3 v_mieColor; +out vec3 v_rayleighColor; +out float v_opacity; +out float v_translucent; +#endif + +void main(void) +{ + vec4 positionWC = czm_model * position; + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC.xyz, lightEnum); + + #ifndef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + positionWC.xyz, + lightDirection, + v_rayleighColor, + v_mieColor, + v_opacity, + v_translucent + ); + #endif + + v_outerPositionWC = positionWC.xyz; + gl_Position = czm_modelViewProjection * position; +} +`;var d2=`uniform samplerCube u_cubeMap; + +in vec3 v_texCoord; + +void main() +{ + vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); + out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); +} +`;var h2=`in vec3 position; +out vec3 v_texCoord; + +void main() +{ + vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); + gl_Position = czm_projection * vec4(p, 1.0); + v_texCoord = position.xyz; +} +`;var m2=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color = texture(u_texture, v_textureCoordinates); + out_FragColor = czm_gammaCorrect(color); +} +`;var p2=`uniform float u_radiusTS; + +in vec2 v_textureCoordinates; + +vec2 rotate(vec2 p, vec2 direction) +{ + return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); +} + +vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) +{ + vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); + float radius = length(rotatedPosition) * lengthScalar; + float burst = 1.0 - smoothstep(0.0, 0.55, radius); + return vec4(burst); +} + +void main() +{ + float lengthScalar = 2.0 / sqrt(2.0); + vec2 position = v_textureCoordinates - vec2(0.5); + float radius = length(position) * lengthScalar; + float surface = step(radius, u_radiusTS); + vec4 color = vec4(vec2(1.0), surface + 0.2, surface); + + float glow = 1.0 - smoothstep(0.0, 0.55, radius); + color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; + + vec4 burst = vec4(0.0); + + // The following loop has been manually unrolled for speed, to + // avoid sin() and cos(). + // + //for (float i = 0.4; i < 3.2; i += 1.047) { + // vec2 direction = vec2(sin(i), cos(i)); + // burst += 0.4 * addBurst(position, direction, lengthScalar); + // + // direction = vec2(sin(i - 0.08), cos(i - 0.08)); + // burst += 0.3 * addBurst(position, direction, lengthScalar); + //} + + burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 + burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 + burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 + + burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 + + // End of manual loop unrolling. + + color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; + + out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); +} +`;var _2=`in vec2 direction; + +uniform float u_size; + +out vec2 v_textureCoordinates; + +void main() +{ + vec4 position; + if (czm_morphTime == 1.0) + { + position = vec4(czm_sunPositionWC, 1.0); + } + else + { + position = vec4(czm_sunPositionColumbusView.zxy, 1.0); + } + + vec4 positionEC = czm_view * position; + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + + vec2 halfSize = vec2(u_size * 0.5); + halfSize *= ((direction * 2.0) - 1.0); + + gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); + + v_textureCoordinates = direction; +} +`;var g2=` +in vec2 v_textureCoordinates; + +void main() +{ + czm_materialInput materialInput; + + materialInput.s = v_textureCoordinates.s; + materialInput.st = v_textureCoordinates; + materialInput.str = vec3(v_textureCoordinates, 0.0); + materialInput.normalEC = vec3(0.0, 0.0, -1.0); + + czm_material material = czm_getMaterial(materialInput); + + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +} +`;async function SK(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);if(t.mode===ne.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),!l(n))return r;let a=n.availability;if(!l(a)||t.mode===ne.SCENE2D)return r;let c=[ae.center(e),ae.southeast(e),ae.southwest(e),ae.northeast(e),ae.northwest(e)],u=await SK._sampleTerrainMostDetailed(n,c),f=!1,d=u.reduce(function(g,m){return l(m.height)?(f=!0,Math.max(m.height,g)):g},-Number.MAX_VALUE),p=r;return f&&(p.height+=d),p}SK._sampleTerrainMostDetailed=GT;var YT=SK;var Xlt=new z;function Klt(e,t){let n=e.unionClippingRegions,i=e.length,o=Ts.useFloatTexture(t),r=Ts.getTextureResolution(e,t,Xlt),s=r.x,a=r.y,c=o?Qlt(s,a):Jlt(s,a);return c+=` +`,c+=n?Zlt(i):$lt(i),c}function Zlt(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount; + float pixelWidth = czm_metersPerPixel(position); + bool breakAndDiscard = false; + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); + if (amount <= 0.0) + { + breakAndDiscard = true; + break; + } + } + if (breakAndDiscard) { + discard; + } + return clipAmount; +} +`}function $lt(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + bool clipped = true; + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount = 0.0; + float pixelWidth = czm_metersPerPixel(position); + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = max(amount, clipAmount); + clipped = clipped && (amount <= 0.0); + } + if (clipped) + { + discard; + } + return clipAmount; +} +`}function Qlt(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int pixY = clippingPlaneNumber / ${e}; + int pixX = clippingPlaneNumber - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 plane = texture(packedClippingPlanes, vec2(u, v)); + return czm_transformPlane(plane, transform); +} +`}function Jlt(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int clippingPlaneStartIndex = clippingPlaneNumber * 2; + int pixY = clippingPlaneStartIndex / ${e}; + int pixX = clippingPlaneStartIndex - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; + vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); + vec4 plane; + plane.xyz = czm_octDecode(oct, 65535.0); + plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + ${o}, v))); + return czm_transformPlane(plane, transform); +} +`}var lg=Klt;function eut(e,t,n,i,o,r){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o,this.clippingPolygonShaderState=r}function vK(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function tut(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case ne.SCENE3D:o=t;break;case ne.SCENE2D:case ne.COLUMBUS_VIEW:o=n;break;case ne.MORPHING:o=i;break}return o}function nut(e){return e.webgl2?`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { + czm_clipPolygons(clippingDistance, regionsLength, clippingPosition, regionIndex); + }`:`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { + }`}function iut(e){return e.webgl2?`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { + return czm_unpackClippingExtents(extentsTexture, index); + }`:`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { + return vec4(); + }`}function out(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}vK.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,u=e.applyAlpha,f=e.applyDayNightAlpha,d=e.applySplit,p=e.hasWaterMask,g=e.showReflectiveOcean,m=e.showOceanWaves,x=e.enableLighting,b=e.dynamicAtmosphereLighting,T=e.dynamicAtmosphereLightingFromSun,A=e.showGroundAtmosphere,C=e.perFragmentGroundAtmosphere,E=e.hasVertexNormals,v=e.useWebMercatorProjection,D=e.enableFog,O=e.enableClippingPlanes,R=e.clippingPlanes,M=e.enableClippingPolygons,N=e.clippingPolygons,_=e.clippedByBoundaries,S=e.hasImageryLayerCutout,w=e.colorCorrect,I=e.highlightFillTile,L=e.colorToAlpha,B=e.hasGeodeticSurfaceNormals,U=e.hasExaggeration,V=e.showUndergroundColor,G=e.translucent,k=e.marsOptions||{},W=0,Y="",j=n.renderedMesh.encoding;j.quantization===oa.BITS12&&(W=1,Y="QUANTIZATION_BITS12");let J=0,he="";_&&(J=1,he="TILE_LIMIT_RECTANGLE");let xe=0,re="";S&&(xe=1,re="APPLY_IMAGERY_CUTOUT");let _e=t.mode,ye=_e|o<<2|r<<3|s<<4|a<<5|c<<6|u<<7|p<<8|g<<9|m<<10|x<<11|b<<12|T<<13|A<<14|C<<15|E<<16|v<<17|D<<18|W<<19|d<<20|O<<21|M<<22|J<<23|xe<<24|w<<25|I<<26|L<<27|B<<28|U<<29|V<<30|G<<31|f<<32,De=0;l(R)&&R.length>0&&(De=O?R.clippingPlanesState:0);let we=0;l(N)&&N.length>0&&(we=M?N.clippingPolygonsState:0);let Me=n.surfaceShader;if(l(Me)&&Me.numberOfDayTextures===i&&Me.flags===ye&&Me.material===this.material&&Me.clippingShaderState===De&&Me.clippingPolygonShaderState===we)return Me.shaderProgram;let Oe=this._shadersByTexturesFlags[i];if(l(Oe)||(Oe=this._shadersByTexturesFlags[i]=[]),Me=Oe[ye],!l(Me)||Me.material!==this.material||Me.clippingShaderState!==De||Me.clippingPolygonShaderState!==we){let lt=this.baseVertexShaderSource.clone(),et=this.baseFragmentShaderSource.clone();De!==0&&et.sources.unshift(lg(R,t.context)),we!==0&&(et.sources.unshift(nut(t.context)),lt.sources.unshift(iut(t.context))),k.enableUplift&&et.defines.push("APPLY_MARS3D_UPLIFT"),k.enableFlat&<.defines.push("APPLY_MARS3D_FLAT"),k.enableClip&&et.defines.push("APPLY_MARS3D_CLIP"),k.enableFlood&&et.defines.push("APPLY_MARS3D_FLOOD"),lt.defines.push(Y),et.defines.push(`TEXTURE_UNITS ${i}`,he,re),o&&et.defines.push("APPLY_BRIGHTNESS"),r&&et.defines.push("APPLY_CONTRAST"),s&&et.defines.push("APPLY_HUE"),a&&et.defines.push("APPLY_SATURATION"),c&&et.defines.push("APPLY_GAMMA"),k.invertColor&&et.defines.push("APPLY_INVERT_COLOR_MARS3D"),k.filterColor&&et.defines.push("APPLY_FILTER_COLOR_MARS3D"),u&&et.defines.push("APPLY_ALPHA"),f&&et.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&et.defines.push("HAS_WATER_MASK"),g&&(et.defines.push("SHOW_REFLECTIVE_OCEAN"),lt.defines.push("SHOW_REFLECTIVE_OCEAN")),m&&et.defines.push("SHOW_OCEAN_WAVES"),L&&et.defines.push("APPLY_COLOR_TO_ALPHA"),V&&(lt.defines.push("UNDERGROUND_COLOR"),et.defines.push("UNDERGROUND_COLOR")),G&&(lt.defines.push("TRANSLUCENT"),et.defines.push("TRANSLUCENT")),x&&(E?(lt.defines.push("ENABLE_VERTEX_LIGHTING"),et.defines.push("ENABLE_VERTEX_LIGHTING")):(lt.defines.push("ENABLE_DAYNIGHT_SHADING"),et.defines.push("ENABLE_DAYNIGHT_SHADING"))),b&&(lt.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),et.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),T&&(lt.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),et.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),A&&(lt.defines.push("GROUND_ATMOSPHERE"),et.defines.push("GROUND_ATMOSPHERE"),C&&(lt.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),et.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),lt.defines.push("INCLUDE_WEB_MERCATOR_Y"),et.defines.push("INCLUDE_WEB_MERCATOR_Y"),D&&(lt.defines.push("FOG"),et.defines.push("FOG")),d&&et.defines.push("APPLY_SPLIT"),O&&et.defines.push("ENABLE_CLIPPING_PLANES"),M&&(et.defines.push("ENABLE_CLIPPING_POLYGONS"),lt.defines.push("ENABLE_CLIPPING_POLYGONS"),N.inverse&&et.defines.push("CLIPPING_INVERSE"),et.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${N.extentsCount}`),lt.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${N.extentsCount}`)),w&&et.defines.push("COLOR_CORRECT"),I&&et.defines.push("HIGHLIGHT_FILL_TILE"),B&<.defines.push("GEODETIC_SURFACE_NORMALS"),U&<.defines.push("EXAGGERATION");let vt=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) + { + vec4 color = initialColor; +`;S&&(vt+=` vec4 cutoutAndColorResult; + bool texelUnclipped; +`);for(let wt=0;wt<i;++wt)S?vt+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${wt}]; + texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y; + cutoutAndColorResult = sampleAndBlend( +`:vt+=` color = sampleAndBlend( +`,vt+=` color, + u_dayTextures[${wt}], + u_dayTextureUseWebMercatorT[${wt}] ? textureCoordinates.xz : textureCoordinates.xy, + u_dayTextureTexCoordsRectangle[${wt}], + u_dayTextureTranslationAndScale[${wt}], + ${u?`u_dayTextureAlpha[${wt}]`:"1.0"}, + ${f?`u_dayTextureNightAlpha[${wt}]`:"1.0"}, +${f?`u_dayTextureDayAlpha[${wt}]`:"1.0"}, +${o?`u_dayTextureBrightness[${wt}]`:"0.0"}, + ${r?`u_dayTextureContrast[${wt}]`:"0.0"}, + ${s?`u_dayTextureHue[${wt}]`:"0.0"}, + ${a?`u_dayTextureSaturation[${wt}]`:"0.0"}, + ${c?`u_dayTextureOneOverGamma[${wt}]`:"0.0"}, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + ${k.invertColor?`u_mars3dTextureInvertColor[${wt}]`:"false"}, + ${k.filterColor?`u_mars3dTextureFilterColor[${wt}]`:"vec3(1.0)"}, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + ${d?`u_dayTextureSplit[${wt}]`:"0.0"}, + ${L?`u_colorsToAlpha[${wt}]`:"vec4(0.0)"}, + nightBlend ); +`,S&&(vt+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color); +`);vt+=` return color; + }`,et.sources.push(vt),lt.sources.push(tut(_e)),lt.sources.push(out(v));let Qe=tn.fromCache({context:t.context,vertexShaderSource:lt,fragmentShaderSource:et,attributeLocations:j.getAttributeLocations()});Me=Oe[ye]=new eut(i,ye,this.material,Qe,De,we)}return n.surfaceShader=Me,Me.shaderProgram};vK.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!l(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],l(t)&&t.shaderProgram.destroy())}return ue(this)};var y2=vK;var rut={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},Qn=Object.freeze(rut);var sut={START:0,LOADING:1,DONE:2,FAILED:3},sa=Object.freeze(sut);var aut={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},yo=Object.freeze(aut);function lr(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new ie(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=yo.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new ce,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(lr.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===yo.RECEIVING||e===yo.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!l(s.loadingImagery)||s.loadingImagery.state!==Qn.TRANSITIONING}return n}},renderedMesh:{get:function(){if(l(this.vertexArray))return this.mesh;if(l(this.fill))return this.fill.mesh}}});var cut=new fe;function wK(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(l(t)&&t!==ne.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,cut);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var lut=new h,uut=new h,fut=new h;lr.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!l(r))return;let s=r.vertices,a=r.indices,c=r.encoding,u=a.length,f=Number.MAX_VALUE;for(let d=0;d<u;d+=3){let p=a[d],g=a[d+1],m=a[d+2],x=wK(c,t,n,s,p,lut),b=wK(c,t,n,s,g,uut),T=wK(c,t,n,s,m,fut),A=ei.rayTriangleParametric(e,x,b,T,i);l(A)&&A<f&&A>=0&&(f=A)}return f!==Number.MAX_VALUE?yn.getPoint(e,f,o):void 0};lr.prototype.freeResources=function(){l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=yo.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};lr.prototype.freeVertexArray=function(){lr._freeVertexArray(this.vertexArray),this.vertexArray=void 0,lr._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};lr.initialize=function(e,t,n){let i=e.data;l(i)||(i=e.data=new lr),e.state===sa.START&&(dut(e,t,n),e.state=sa.LOADING)};lr.processStateMachine=function(e,t,n,i,o,r,s){lr.initialize(e,n,i);let a=e.data;if(e.state===sa.LOADING&&hut(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=l(a.vertexArray);let u=a.terrainState===yo.READY;e.upsampledFromParent=l(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let f=a.processImagery(e,n,t);if(u&&f){let d=e._loadedCallbacks,p={};for(let g in d)d.hasOwnProperty(g)&&(d[g](e)||(p[g]=d[g]));e._loadedCallbacks=p,e.state=sa.DONE}c&&(e.renderable=!0)};lr.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,u,f;for(u=0,f=c.length;u<f;++u){let d=c[u];if(!l(d.loadingImagery)){r=!1;continue}if(d.loadingImagery.state===Qn.PLACEHOLDER){let g=d.loadingImagery.imageryLayer;if(g.ready){d.freeResources(),c.splice(u,1),g._createTileImagerySkeletons(e,t,u),--u,f=c.length;continue}else r=!1}let p=d.processStateMachine(e,n,i);a=a&&p,s=s||p||l(d.readyImagery),r=r&&l(d.loadingImagery)&&(d.loadingImagery.state===Qn.FAILED||d.loadingImagery.state===Qn.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function rxe(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=vc.clone(s);c.hasGeodeticSurfaceNormals=t,c=vc.clone(c);let u=c.stride,f=new Float32Array(a*u);t?s.addGeodeticSurfaceNormals(r,f,n):s.removeGeodeticSurfaceNormals(r,f),o.vertices=f,o.stride=u,o!==e.mesh?(lr._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=lr._createVertexArrayForMesh(i.context,o)):(lr._freeVertexArray(e.vertexArray),e.vertexArray=lr._createVertexArrayForMesh(i.context,o)),lr._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}lr.prototype.addGeodeticSurfaceNormals=function(e,t){rxe(this,!0,e,t)};lr.prototype.removeGeodeticSurfaceNormals=function(e){rxe(this,!1,void 0,e)};lr.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.verticalExaggeration,s=t.verticalExaggerationRelativeHeight,a=r!==1,c=o.encoding,u=c.exaggeration!==r,f=c.exaggerationRelativeHeight!==s;if(u||f){if(u)if(a&&!c.hasGeodeticSurfaceNormals){let d=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(d,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let d=e.customData,p=d.length;for(let g=0;g<p;g++){let m=d[g];m.level=-1}}}};function dut(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!l(i)&&l(e.parent)){let o=e.parent,r=o.data;l(r)&&l(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=yo.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function hut(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===yo.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||lr.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===yo.FAILED&&mut(s,e,t,n,e.x,e.y,e.level),s.terrainState===yo.UNLOADED&&put(s,n,e.x,e.y,e.level),s.terrainState===yo.RECEIVED&&gut(s,t,n,e.x,e.y,e.level),s.terrainState===yo.TRANSFORMED&&(yut(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=yo.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)but(t.context,s);else{let u=s._findAncestorTileWithTerrainData(e);l(u)&&l(u.data.waterMaskTexture)&&(s.waterMaskTexture=u.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,u,s.waterMaskTranslationAndScale))}}function mut(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=sa.FAILED;return}let c=a.data.terrainData,u=a.x,f=a.y,d=a.level;if(!l(c))return;let p=c.upsample(i.tilingScheme,u,f,d,o,r,s);l(p)&&(e.terrainState=yo.RECEIVING,Promise.resolve(p).then(function(g){l(g)&&(e.terrainData=g,e.terrainState=yo.RECEIVED)}).catch(function(){e.terrainState=yo.FAILED}))}function put(e,t,n,i,o){function r(c){if(!l(c)){e.terrainState=yo.UNLOADED,e.request=void 0;return}e.terrainData=c,e.terrainState=yo.RECEIVED,e.request=void 0}function s(c){if(e.request.state===Jn.CANCELLED){e.terrainData=void 0,e.terrainState=yo.UNLOADED,e.request=void 0;return}e.terrainState=yo.FAILED,e.request=void 0;let u=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=Oo.reportError(t._requestError,t,t.errorEvent,u,n,i,o),t._requestError.retry&&a()}function a(){let c=new er({throttle:!1,throttleByServer:!0,type:_s.TERRAIN});e.request=c;let u=t.requestTileGeometry(n,i,o,c);l(u)?(e.terrainState=yo.RECEIVING,Promise.resolve(u).then(function(f){r(f)}).catch(function(f){s(f)})):(e.terrainState=yo.UNLOADED,e.request=void 0)}a()}var _ut={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function gut(e,t,n,i,o,r){let s=n.tilingScheme,a=_ut;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.verticalExaggeration,a.exaggerationRelativeHeight=t.verticalExaggerationRelativeHeight,a.throttle=!0;let u=e.terrainData.createMesh(a);l(u)&&(e.terrainState=yo.TRANSFORMING,Promise.resolve(u).then(function(f){e.mesh=f,e.terrainState=yo.TRANSFORMED}).catch(function(){e.terrainState=yo.FAILED}))}lr._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=xt.createVertexBuffer({context:e,typedArray:n,usage:Be.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!l(s)||s.isDestroyed()){let a=t.indices;s=xt.createIndexBuffer({context:e,typedArray:a,usage:Be.STATIC_DRAW,indexDatatype:Fe.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new ii({context:e,attributes:o,indexBuffer:s})};lr._freeVertexArray=function(e){if(l(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),l(t)&&!t.isDestroyed()&&l(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function yut(e,t,n,i,o,r,s){e.vertexArray=lr._createVertexArrayForMesh(t,e.mesh),e.terrainState=yo.READY,e.fill=e.fill&&e.fill.destroy(s)}function xut(e){let t=e.cache.tile_waterMaskData;if(!l(t)){let n=Pt.create({context:e,pixelFormat:nt.LUMINANCE,pixelDatatype:Ye.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.LINEAR,magnificationFilter:pi.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function but(e,t){let n=t.terrainData.waterMask,i=xut(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=Pt.create({context:e,pixelFormat:nt.LUMINANCE,pixelDatatype:Ye.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,ie.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}lr.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;l(t)&&(!l(t.data)||!l(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};lr.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var cd=lr;var DK,sxe="AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmSrZYLHFXe7j_lQcsSJKc8-7rwh0IFSNWLGZErkzXRnYjMjURTz-hGiKMEeAJIZBG7uiYEn0Mt1rrwlJGIpirZQC4iO428519DlO3QC9DnRBqLXGTBhirgoU7-Z2209sy87s49kw6NOC8_Eew6nCLf-pZ883DRPRyAYH7LC8cvRLInud0EdndtUFa4y83TamrA.AT1_ahjrWDrq",ov={};ov.defaultAccessToken=sxe;ov.defaultWorldImageryServer=new Ae({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});ov.defaultWorldHillshadeServer=new Ae({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});ov.defaultWorldOceanServer=new Ae({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});ov.getDefaultTokenCredit=function(e){if(e===sxe){if(!l(DK)){let t='<b> This application is using a default ArcGIS access token. Please assign <i>Cesium.ArcGisMapService.defaultAccessToken</i> with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at <a href="https://developers.arcgis.com/">https://developers.arcgis.com/</a>.</b>';DK=new At(t,!0)}return DK}};var Zu=ov;function IK(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=Ae.createIfNeeded(e.missingImageUrl),n=this;function i(r){l(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=Td(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,u=e.pixelsToCheck;for(let f=0,d=u.length;a&&f<d;++f){let p=u[f],g=p.x*4+p.y*c;s[g+3]>0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}IK.prototype.isReady=function(){return this._isReady};IK.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!l(n)||l(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=Td(e),o=e.width;for(let r=0,s=t.length;r<s;++r){let a=t[r],c=a.x*4+a.y*o;for(let u=0;u<4;++u){let f=c+u;if(i[f]!==n[f])return!1}}return!0};var x2=IK;function PK(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}PK.prototype.configureNameFromProperties=function(e){let t=10,n;for(let i in e)if(e.hasOwnProperty(i)&&e[i]){let o=i.toLowerCase();t>1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}l(n)&&(this.name=e[n])};PK.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='<table class="cesium-infoBox-defaultTable">';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r)&&(typeof r=="object"?i+=`<tr><td>${o}</td><td>${t(r)}</td></tr>`:i+=`<tr><td>${o}</td><td>${r}</td></tr>`)}return i+="</table>",i}this.description=t(e)};var Mh=PK;function rv(){de.throwInstantiationError()}Object.defineProperties(rv.prototype,{rectangle:{get:de.throwInstantiationError},tileWidth:{get:de.throwInstantiationError},tileHeight:{get:de.throwInstantiationError},maximumLevel:{get:de.throwInstantiationError},minimumLevel:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},tileDiscardPolicy:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},proxy:{get:de.throwInstantiationError},hasAlphaChannel:{get:de.throwInstantiationError}});rv.prototype.getTileCredits=function(e,t,n){de.throwInstantiationError()};rv.prototype.requestImage=function(e,t,n,i){de.throwInstantiationError()};rv.prototype.pickFeatures=function(e,t,n,i,o){de.throwInstantiationError()};var Tut=/\.ktx2$/i;rv.loadImage=function(e,t){let n=Ae.createIfNeeded(t);return Tut.test(n.url)?Tl(n):l(e)&&l(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var dl=rv;var Cut={SATELLITE:1,OCEANS:2,HILLSHADE:3},Lh=Object.freeze(Cut);function axe(e){this.useTiles=y(e.usePreCachedTilesIfAvailable,!0);let t=e.ellipsoid;this.tilingScheme=y(e.tilingScheme,new Xi({ellipsoid:t})),this.rectangle=y(e.rectangle,this.tilingScheme.rectangle),this.ellipsoid=t;let n=e.credit;typeof n=="string"&&(n=new At(n)),this.credit=n,this.tileCredits=void 0,this.tileDiscardPolicy=e.tileDiscardPolicy,this.tileWidth=y(e.tileWidth,256),this.tileHeight=y(e.tileHeight,256),this.maximumLevel=e.maximumLevel}axe.prototype.build=function(e){e._useTiles=this.useTiles,e._tilingScheme=this.tilingScheme,e._rectangle=this.rectangle,e._credit=this.credit,e._tileCredits=this.tileCredits,e._tileDiscardPolicy=this.tileDiscardPolicy,e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,this.useTiles&&!l(this.tileDiscardPolicy)&&(e._tileDiscardPolicy=new x2({missingImageUrl:cxe(e,0,0,this.maximumLevel).url,pixelsToCheck:[new z(0,0),new z(200,20),new z(20,200),new z(80,110),new z(160,130)],disableCheckIfAllPixelsAreTransparent:!0}))};function Aut(e,t){let n=e.tileInfo;if(!l(n))t.useTiles=!1;else{if(t.tileWidth=n.rows,t.tileHeight=n.cols,n.spatialReference.wkid===102100||n.spatialReference.wkid===102113)t.tilingScheme=new us({ellipsoid:t.ellipsoid});else if(e.tileInfo.spatialReference.wkid===4326)t.tilingScheme=new Xi({ellipsoid:t.ellipsoid});else{let i=`Tile spatial reference WKID ${e.tileInfo.spatialReference.wkid} is not supported.`;throw new se(i)}if(t.maximumLevel=e.tileInfo.lods.length-1,l(e.fullExtent)){if(l(e.fullExtent.spatialReference)&&l(e.fullExtent.spatialReference.wkid))if(e.fullExtent.spatialReference.wkid===102100||e.fullExtent.spatialReference.wkid===102113){let i=new Mi,o=e.fullExtent,r=i.unproject(new h(Math.max(o.xmin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(o.ymin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),s=i.unproject(new h(Math.min(o.xmax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(o.ymax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));t.rectangle=new ae(r.longitude,r.latitude,s.longitude,s.latitude)}else if(e.fullExtent.spatialReference.wkid===4326)t.rectangle=ae.fromDegrees(e.fullExtent.xmin,e.fullExtent.ymin,e.fullExtent.xmax,e.fullExtent.ymax);else{let i=`fullExtent.spatialReference WKID ${e.fullExtent.spatialReference.wkid} is not supported.`;throw new se(i)}}else t.rectangle=t.tilingScheme.rectangle;t.useTiles=!0}l(e.copyrightText)&&e.copyrightText.length>0&&(l(t.credit)?t.tileCredits=[new At(e.copyrightText)]:t.credit=new At(e.copyrightText))}function Eut(e,t){let n=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(n+=`: ${t.message}`),new se(n)}async function Sut(e,t){let n=e.getDerivedResource({queryParameters:{f:"json"}});try{let i=await n.fetchJson();Aut(i,t)}catch(i){Eut(e,i)}}function Xm(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new Xi({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers,this._credit=e.credit,this._tileCredits=void 0;let t=e.credit;typeof t=="string"&&(t=new At(t)),this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new me}Xm.fromBasemapType=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n,i,o;switch(e){case Lh.SATELLITE:{n=y(t.token,Zu.defaultAccessToken),i=Ae.createIfNeeded(Zu.defaultWorldImageryServer),i.appendForwardSlash();let r=Zu.getDefaultTokenCredit(n);l(r)&&(o=At.clone(r))}break;case Lh.OCEANS:{n=y(t.token,Zu.defaultAccessToken),i=Ae.createIfNeeded(Zu.defaultWorldOceanServer),i.appendForwardSlash();let r=Zu.getDefaultTokenCredit(n);l(r)&&(o=At.clone(r))}break;case Lh.HILLSHADE:{n=y(t.token,Zu.defaultAccessToken),i=Ae.createIfNeeded(Zu.defaultWorldHillshadeServer),i.appendForwardSlash();let r=Zu.getDefaultTokenCredit(n);l(r)&&(o=At.clone(r))}break;default:}return Xm.fromUrl(i,{...t,token:n,credit:o,usePreCachedTilesIfAvailable:!0})};function cxe(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof Ri?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(Xm.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});Xm.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&n.setQueryParameters({token:t.token});let i=new Xm(t);i._resource=n;let o=new axe(t);return y(t.usePreCachedTilesIfAvailable,!0)&&await Sut(n,o),o.build(i),i};Xm.prototype.getTileCredits=function(e,t,n){return this._tileCredits};Xm.prototype.requestImage=function(e,t,n,i){return dl.loadImage(this,cxe(this,e,t,n,i))};Xm.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof Ri)s=P.toDegrees(i),a=P.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new fe(i,o,0));s=p.x,a=p.y,c="3857"}let u="visible";l(this._layers)&&(u+=`:${this._layers}`);let f={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:u};return this._resource.getDerivedResource({url:"identify",queryParameters:f}).fetchJson().then(function(p){let g=[],m=p.results;if(!l(m))return g;for(let x=0;x<m.length;++x){let b=m[x],T=new Mh;if(T.data=b,T.name=b.value,T.properties=b.attributes,T.configureDescriptionFromProperties(b.attributes),b.geometryType==="esriGeometryPoint"&&b.geometry){let A=b.geometry.spatialReference&&b.geometry.spatialReference.wkid?b.geometry.spatialReference.wkid:4326;if(A===4326||A===4283)T.position=fe.fromDegrees(b.geometry.x,b.geometry.y,b.geometry.z);else if(A===102100||A===900913||A===3857){let C=new Mi;T.position=C.unproject(new h(b.geometry.x,b.geometry.y,b.geometry.z))}}g.push(T)}return g})};Xm._metadataCache={};var ug=Xm;var vut={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},sv=Object.freeze(vut);function b2(e){}b2.prototype.isReady=function(){return!0};b2.prototype.shouldDiscardImage=function(e){return b2.EMPTY_IMAGE===e};var y8;Object.defineProperties(b2,{EMPTY_IMAGE:{get:function(){return l(y8)||(y8=new Image,y8.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),y8}}});var av=b2;function lxe(e){this.tileWidth=void 0,this.tileHeight=void 0,this.maximumLevel=void 0,this.imageUrlSubdomains=void 0,this.imageUrlTemplate=void 0,this.attributionList=void 0}lxe.prototype.build=function(e){e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,e._imageUrlSubdomains=this.imageUrlSubdomains,e._imageUrlTemplate=this.imageUrlTemplate;let t=e._attributionList=this.attributionList;t||(t=[]),e._attributionList=t;for(let n=0,i=t.length;n<i;++n){let o=t[n];if(o.credit instanceof At)break;o.credit=new At(o.attribution);let r=o.coverageAreas;for(let s=0,a=o.coverageAreas.length;s<a;++s){let c=r[s],u=c.bbox;c.bbox=new ae(P.toRadians(u[1]),P.toRadians(u[0]),P.toRadians(u[3]),P.toRadians(u[2]))}}};function wut(e,t){if(e.resourceSets.length!==1)throw new se("metadata does not specify one resource in resourceSets");let n=e.resourceSets[0].resources[0];t.tileWidth=n.imageWidth,t.tileHeight=n.imageHeight,t.maximumLevel=n.zoomMax-1,t.imageUrlSubdomains=n.imageUrlSubdomains,t.imageUrlTemplate=n.imageUrl;let i=n.imageryProviders;l(n.imageryProviders)&&(i=n.imageryProviders.filter(o=>o.coverageAreas?.some(r=>l(r.bbox)))),t.attributionList=i}function Dut(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i+=`: ${t.message}`),Oo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i,void 0,void 0,void 0,t),new se(i)}async function Iut(e,t,n){let i=e.url,o=zs._metadataCache[i];l(o)||(o=e.fetchJsonp("jsonp"),zs._metadataCache[i]=o);try{let r=await o;return wut(r,t)}catch(r){Dut(e,r,n)}}function zs(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._mapStyle=y(e.mapStyle,sv.AERIAL),this._mapLayer=e.mapLayer,this._culture=y(e.culture,""),this._key=e.key,this._tileDiscardPolicy=e.tileDiscardPolicy,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new av),this._proxy=e.proxy,this._credit=new At(`<a href="https://www.microsoft.com/en-us/maps/bing-maps/product"><img src="${zs.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new us({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new me}Object.defineProperties(zs.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},mapLayer:{get:function(){return this._mapLayer}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return l(this.mapLayer)}}});zs.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.tileProtocol;l(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=y(t.mapStyle,sv.AERIAL),o=Ae.createIfNeeded(e);o.appendForwardSlash();let r={incl:"ImageryProviders",key:t.key,uriScheme:n};l(t.mapLayer)&&(r.mapLayer=t.mapLayer),l(t.culture)&&(r.culture=t.culture);let s=o.getDerivedResource({url:`REST/v1/Imagery/Metadata/${i}`,queryParameters:r}),a=new zs(t);a._resource=o;let c=new lxe(t);return await Iut(s,c),c.build(a),a};var Put=new ae;zs.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,Put);return Mut(this._attributionList,n,i)};zs.prototype.requestImage=function(e,t,n,i){let o=dl.loadImage(this,Rut(this,e,t,n,i));if(l(o))return o.catch(function(r){return l(r.blob)&&r.blob.size===0?av.EMPTY_IMAGE:Promise.reject(r)})};zs.prototype.pickFeatures=function(e,t,n,i,o){};zs.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;e&r&&(s|=1),t&r&&(s|=2),i+=s}return i};zs.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];s&1&&(t|=r),s&2&&(n|=r)}return{x:t,y:n,level:i}};zs._logoUrl=void 0;Object.defineProperties(zs,{logoUrl:{get:function(){return l(zs._logoUrl)||(zs._logoUrl=sn("Assets/Images/bing_maps_credit.png")),zs._logoUrl},set:function(e){zs._logoUrl=e}}});function Rut(e,t,n,i,o){let r=e._imageUrlTemplate,s=e._imageUrlSubdomains,a=(t+n+i)%s.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:zs.tileXYToQuadKey(t,n,i),subdomain:s[a],culture:e._culture},queryParameters:{n:"z"}})}var Out=new ae;function Mut(e,t,n){++t;let i=[];for(let o=0,r=e.length;o<r;++o){let s=e[o],a=s.coverageAreas,c=!1;for(let u=0,f=s.coverageAreas.length;!c&&u<f;++u){let d=a[u];if(t>=d.zoomMin&&t<=d.zoomMax){let p=ae.intersection(n,d.bbox,Out);l(p)&&(c=!0)}}c&&i.push(s.credit)}return i}zs._metadataCache={};var T2=zs;var uxe=/{[^}]+}/g,fxe={x:But,y:Vut,z:Hut,s:Gut,reverseX:kut,reverseY:Uut,reverseZ:zut,westDegrees:Wut,southDegrees:jut,eastDegrees:qut,northDegrees:Yut,westProjected:Xut,southProjected:Kut,eastProjected:Zut,northProjected:$ut,width:Qut,height:Jut},Lut=Ct(fxe,{i:eft,j:tft,reverseI:nft,reverseJ:ift,longitudeDegrees:rft,latitudeDegrees:sft,longitudeProjected:aft,latitudeProjected:cft,format:uft});function C2(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me;let t=Ae.createIfNeeded(e.url),n=Ae.createIfNeeded(e.pickFeaturesUrl);this._resource=t,this._urlSchemeZeroPadding=e.urlSchemeZeroPadding,this._getFeatureInfoFormats=e.getFeatureInfoFormats,this._pickFeaturesResource=n;let i=e.subdomains;Array.isArray(i)?i=i.slice():l(i)&&i.length>0?i=i.split(""):i=["a","b","c"],this._subdomains=i,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new us({ellipsoid:e.ellipsoid})),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._rectangle=ae.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=e.tileDiscardPolicy;let o=e.credit;typeof o=="string"&&(o=new At(o)),this._credit=o,this._hasAlphaChannel=y(e.hasAlphaChannel,!0);let r=e.customTags,s=Ct(fxe,r),a=Ct(Lut,r);this._tags=s,this._pickFeaturesTags=a,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=y(e.enablePickFeatures,!0)}Object.defineProperties(C2.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});C2.prototype.getTileCredits=function(e,t,n){};C2.prototype.requestImage=function(e,t,n,i){return dl.loadImage(this,Nut(this,e,t,n,i))};C2.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!l(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(u,f){return u.callback(f)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let u=s._getFeatureInfoFormats[r],f=Fut(s,e,t,n,i,o,u.format);return++r,u.type==="json"?f.fetchJson().then(u.callback).catch(c):u.type==="xml"?f.fetchXML().then(u.callback).catch(c):u.type==="text"||u.type==="html"?f.fetchText().then(u.callback).catch(c):f.fetch({responseType:u.format}).then(a.bind(void 0,u)).catch(c)}return c()};var x8=!1,$u=new ae,b8=!1,A2=new ae;function Nut(e,t,n,i,o){x8=!1,b8=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},u=s.match(uxe);return l(u)&&u.forEach(function(f){let d=f.substring(1,f.length-1);l(a[d])&&(c[d]=a[d](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var RK=!1,lv=new z,OK=!1;function Fut(e,t,n,i,o,r,s){x8=!1,b8=!1,RK=!1,OK=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),u=e._pickFeaturesTags,f={},d=c.match(uxe);return l(d)&&d.forEach(function(p){let g=p.substring(1,p.length-1);l(u[g])&&(f[g]=u[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:f})}function uv(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function But(e,t,n,i){return uv(e,"{x}",t)}function kut(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return uv(e,"{reverseX}",o)}function Vut(e,t,n,i){return uv(e,"{y}",n)}function Uut(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return uv(e,"{reverseY}",o)}function zut(e,t,n,i){let o=e.maximumLevel,r=l(o)&&i<o?o-i-1:i;return uv(e,"{reverseZ}",r)}function Hut(e,t,n,i){return uv(e,"{z}",i)}function Gut(e,t,n,i){let o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function T8(e,t,n,i){x8||(e.tilingScheme.tileXYToRectangle(t,n,i,$u),$u.west=P.toDegrees($u.west),$u.south=P.toDegrees($u.south),$u.east=P.toDegrees($u.east),$u.north=P.toDegrees($u.north),x8=!0)}function Wut(e,t,n,i){return T8(e,t,n,i),$u.west}function jut(e,t,n,i){return T8(e,t,n,i),$u.south}function qut(e,t,n,i){return T8(e,t,n,i),$u.east}function Yut(e,t,n,i){return T8(e,t,n,i),$u.north}function C8(e,t,n,i){b8||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,A2),b8=!0)}function Xut(e,t,n,i){return C8(e,t,n,i),A2.west}function Kut(e,t,n,i){return C8(e,t,n,i),A2.south}function Zut(e,t,n,i){return C8(e,t,n,i),A2.east}function $ut(e,t,n,i){return C8(e,t,n,i),A2.north}function Qut(e,t,n,i){return e.tileWidth}function Jut(e,t,n,i){return e.tileHeight}function eft(e,t,n,i,o,r,s){return A8(e,t,n,i,o,r),lv.x}function tft(e,t,n,i,o,r,s){return A8(e,t,n,i,o,r),lv.y}function nft(e,t,n,i,o,r,s){return A8(e,t,n,i,o,r),e.tileWidth-lv.x-1}function ift(e,t,n,i,o,r,s){return A8(e,t,n,i,o,r),e.tileHeight-lv.y-1}var oft=new ae,cv=new h;function A8(e,t,n,i,o,r,s){if(RK)return;MK(e,t,n,i,o,r);let a=cv,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,oft);lv.x=e.tileWidth*(a.x-c.west)/c.width|0,lv.y=e.tileHeight*(c.north-a.y)/c.height|0,RK=!0}function rft(e,t,n,i,o,r,s){return P.toDegrees(o)}function sft(e,t,n,i,o,r,s){return P.toDegrees(r)}function aft(e,t,n,i,o,r,s){return MK(e,t,n,i,o,r),cv.x}function cft(e,t,n,i,o,r,s){return MK(e,t,n,i,o,r),cv.y}var lft=new fe;function MK(e,t,n,i,o,r,s){if(!OK){if(e.tilingScheme.projection instanceof Ri)cv.x=P.toDegrees(o),cv.y=P.toDegrees(r);else{let a=lft;a.longitude=o,a.latitude=r,e.tilingScheme.projection.project(a,cv)}OK=!0}}function uft(e,t,n,i,o,r,s){return s}var qa=C2;function ld(e){qa.call(this,e)}ld._requestMetadata=async function(e,t,n,i){try{let o=await n.fetchXML();return ld._metadataSuccess(o,e,t,n,i)}catch(o){if(o instanceof Xh)return ld._metadataFailure(e,t);throw o}};ld.fromUrl=async function(e,t){let n=Ae.createIfNeeded(e);n.appendForwardSlash();let i=n,o=n.getDerivedResource({url:"tilemapresource.xml"});t=y(t,y.EMPTY_OBJECT);let r=await ld._requestMetadata(t,i,o);return new ld(r)};l(Object.create)&&(ld.prototype=Object.create(qa.prototype),ld.prototype.constructor=ld);function dxe(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function hxe(e,t,n){let i=e.positionToTileXY(ae.southwest(t),n),o=e.positionToTileXY(ae.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}ld._metadataSuccess=function(e,t,n,i,o){let r=/tileformat/i,s=/tileset/i,a=/tilesets/i,c=/boundingbox/i,u,f,d,p=[],g=e.childNodes[0].childNodes;for(let R=0;R<g.length;R++)if(r.test(g.item(R).nodeName))u=g.item(R);else if(a.test(g.item(R).nodeName)){d=g.item(R);let M=g.item(R).childNodes;for(let N=0;N<M.length;N++)s.test(M.item(N).nodeName)&&p.push(M.item(N))}else c.test(g.item(R).nodeName)&&(f=g.item(R));let m;if(!l(d)||!l(f))throw m=`Unable to find expected tilesets or bbox attributes in ${i.url}.`,l(o)&&Oo.reportError(void 0,o,o.errorEvent,m),new se(m);let x=y(t.fileExtension,u.getAttribute("extension")),b=y(t.tileWidth,parseInt(u.getAttribute("width"),10)),T=y(t.tileHeight,parseInt(u.getAttribute("height"),10)),A=y(t.minimumLevel,parseInt(p[0].getAttribute("order"),10)),C=y(t.maximumLevel,parseInt(p[p.length-1].getAttribute("order"),10)),E=d.getAttribute("profile"),v=t.tilingScheme;if(!l(v))if(E==="geodetic"||E==="global-geodetic")v=new Xi({ellipsoid:t.ellipsoid});else if(E==="mercator"||E==="global-mercator")v=new us({ellipsoid:t.ellipsoid});else throw m=`${i.url} specifies an unsupported profile attribute, ${E}.`,l(o)&&Oo.reportError(void 0,o,o.errorEvent,m),new se(m);let D=ae.clone(t.rectangle);if(!l(D)){let R,M,N,_;y(t.flipXY,!1)?(N=new z(parseFloat(f.getAttribute("miny")),parseFloat(f.getAttribute("minx"))),_=new z(parseFloat(f.getAttribute("maxy")),parseFloat(f.getAttribute("maxx")))):(N=new z(parseFloat(f.getAttribute("minx")),parseFloat(f.getAttribute("miny"))),_=new z(parseFloat(f.getAttribute("maxx")),parseFloat(f.getAttribute("maxy"))));let w=E==="geodetic"||E==="mercator";if(v.projection instanceof Ri||w)R=fe.fromDegrees(N.x,N.y),M=fe.fromDegrees(_.x,_.y);else{let I=v.projection;R=I.unproject(N),M=I.unproject(_)}D=new ae(R.longitude,R.latitude,M.longitude,M.latitude)}return D=dxe(D,v),A=hxe(v,D,A),{url:n.getDerivedResource({url:`{z}/{x}/{reverseY}.${x}`}),tilingScheme:v,rectangle:D,tileWidth:b,tileHeight:T,minimumLevel:A,maximumLevel:C,tileDiscardPolicy:t.tileDiscardPolicy,credit:t.credit}};ld._metadataFailure=function(e,t){let n=y(e.fileExtension,"png"),i=y(e.tileWidth,256),o=y(e.tileHeight,256),r=e.maximumLevel,s=l(e.tilingScheme)?e.tilingScheme:new us({ellipsoid:e.ellipsoid}),a=y(e.rectangle,s.rectangle);a=dxe(a,s);let c=hxe(s,a,e.minimumLevel);return{url:t.getDerivedResource({url:`{z}/{x}/{reverseY}.${n}`}),tilingScheme:s,rectangle:a,tileWidth:i,tileHeight:o,minimumLevel:c,maximumLevel:r,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit}};var F0=ld;function mxe(e){this.channel=e.channel,this.ellipsoid=e.ellipsoid,this.tilingScheme=void 0,this.version=void 0}mxe.prototype.build=function(e){e._channel=this.channel,e._version=this.version,e._tilingScheme=this.tilingScheme};function fft(e,t){let n;try{n=JSON.parse(e)}catch{n=JSON.parse(e.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}let i;for(let o=0;o<n.layers.length;o++)if(n.layers[o].id===t.channel){i=n.layers[o];break}if(!l(i)){let o=`Could not find layer with channel (id) of ${t.channel}.`;throw new se(o)}if(!l(i.version)){let o=`Could not find a version in channel (id) ${t.channel}.`;throw new se(o)}if(t.version=i.version,l(n.projection)&&n.projection==="flat")t.tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ae(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:t.ellipsoid});else if(!l(n.projection)||n.projection==="mercator")t.tilingScheme=new us({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:t.ellipsoid});else{let o=`Unsupported projection ${n.projection}.`;throw new se(o)}return!0}function dft(e,t,n){let i=`An error occurred while accessing ${t.url}.`;throw l(e)&&l(e.message)&&(i+=`: ${e.message}`),Oo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new se(i)}async function hft(e,t,n){try{let i=await e.fetchText();fft(i,t)}catch(i){dft(i,e,n)}}function Zl(e){e=y(e,{}),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1.9,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new At(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${Zl.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new me}Object.defineProperties(Zl.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});Zl.fromUrl=async function(e,t,n){n=y(n,{});let i=y(n.path,"/default_map"),o=Ae.createIfNeeded(e).getDerivedResource({url:i[0]==="/"?i.substring(1):i});o.appendForwardSlash();let r=o.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),s=new mxe(n);s.channel=t,await hft(r,s);let a=new Zl(n);return s.build(a),a._resource=o,a._url=e,a._path=i,a};Zl.prototype.getTileCredits=function(e,t,n){};Zl.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return dl.loadImage(this,o)};Zl.prototype.pickFeatures=function(e,t,n,i,o){};Zl._logoUrl=void 0;Object.defineProperties(Zl,{logoUrl:{get:function(){return l(Zl._logoUrl)||(Zl._logoUrl=sn("Assets/Images/google_earth_credit.png")),Zl._logoUrl},set:function(e){Zl._logoUrl=e}}});var E2=Zl;var mft=/\/$/,pxe=new At('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function fv(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Ae.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();mft.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;l(e.credit)?(s=e.credit,typeof s=="string"&&(s=new At(s))):s=pxe,this._resource=i,this._imageryProvider=new qa({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(fv.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});fv.prototype.getTileCredits=function(e,t,n){};fv.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};fv.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};fv._defaultCredit=pxe;var S2=fv;function XT(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=y(e.rectangle,ae.MAX_VALUE),n=new Xi({rectangle:t,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=n,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new me;let i=e.credit;typeof i=="string"&&(i=new At(i)),this._credit=i;let o=Ae.createIfNeeded(e.url);this._resource=o,this._tileWidth=e.tileWidth,this._tileHeight=e.tileHeight}Object.defineProperties(XT.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});function pft(e,t,n,i){let o=`Failed to load image ${e.url}`;l(t)&&l(t.message)&&(o+=`: ${t.message}`);let r=Oo.reportError(i,n,l(n)?n._errorEvent:void 0,o,0,0,0,t);if(r.retry)return LK(e,n,r);throw l(n)&&(n._hasError=!0),new se(o)}async function LK(e,t,n){try{return await dl.loadImage(null,e)}catch(i){return pft(e,i,t,n)}}XT.fromUrl=async function(e,t){let n=Ae.createIfNeeded(e),i=await LK(n);t=y(t,y.EMPTY_OBJECT);let o=new XT({...t,url:e,tileWidth:i.width,tileHeight:i.height});return o._image=i,o};XT.prototype.getTileCredits=function(e,t,n){};XT.prototype.requestImage=async function(e,t,n,i){if(!this._hasError&&!l(this._image)){let o=await LK(this._resource,this);return this._image=o,Oo.reportSuccess(this._errorEvent),o}return this._image};XT.prototype.pickFeatures=function(e,t,n,i,o){};var v2=XT;function _ft(e,t,n){this.type=e,l(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,l(n)||(e==="json"?n=gft:e==="xml"?n=Tft:(e==="html"||e==="text")&&(n=_xe)),this.callback=n}function gft(e){let t=[],n=e.features;for(let i=0;i<n.length;++i){let o=n[i],r=new Mh;if(r.data=o,r.properties=o.properties,r.configureNameFromProperties(o.properties),r.configureDescriptionFromProperties(o.properties),l(o.geometry)&&o.geometry.type==="Point"){let s=o.geometry.coordinates[0],a=o.geometry.coordinates[1];r.position=fe.fromDegrees(s,a)}t.push(r)}return t}var NK="http://www.mapinfo.com/mxp",yft="http://www.esri.com/wms",xft="http://www.opengis.net/wfs",bft="http://www.opengis.net/gml";function Tft(e){let t=e.documentElement;if(t.localName==="MultiFeatureCollection"&&t.namespaceURI===NK)return Cft(e);if(t.localName==="FeatureInfoResponse"&&t.namespaceURI===yft)return Aft(e);if(t.localName==="FeatureCollection"&&t.namespaceURI===xft)return Eft(e);if(t.localName==="ServiceExceptionReport")throw new se(new XMLSerializer().serializeToString(t));return t.localName==="msGMLOutput"?Sft(e):vft(e)}function Cft(e){let t=[],i=e.documentElement.getElementsByTagNameNS(NK,"Feature");for(let o=0;o<i.length;++o){let r=i[o],s={},a=r.getElementsByTagNameNS(NK,"Val");for(let u=0;u<a.length;++u){let f=a[u];if(f.hasAttribute("ref")){let d=f.getAttribute("ref"),p=f.textContent.trim();s[d]=p}}let c=new Mh;c.data=r,c.properties=s,c.configureNameFromProperties(s),c.configureDescriptionFromProperties(s),t.push(c)}return t}function Aft(e){let t=e.documentElement,n=[],i,o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){let s=o[r];i={};let a=s.attributes;for(let c=0;c<a.length;++c){let u=a[c];i[u.name]=u.value}n.push(E8(s,i))}else{let r=t.getElementsByTagNameNS("*","FeatureInfo");for(let s=0;s<r.length;++s){let a=r[s];i={};let c=a.childNodes;for(let u=0;u<c.length;++u){let f=c[u];f.nodeType===Node.ELEMENT_NODE&&(i[f.localName]=f.textContent)}n.push(E8(a,i))}}return n}function Eft(e){let t=[],i=e.documentElement.getElementsByTagNameNS(bft,"featureMember");for(let o=0;o<i.length;++o){let r=i[o],s={};FK(r,s),t.push(E8(r,s))}return t}function Sft(e){let t=[],n,i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!l(n))throw new se("Unable to find first child of the feature info xml document");let o=n.childNodes;for(let r=0;r<o.length;++r){let s=o[r];if(s.nodeType===Node.ELEMENT_NODE){let a={};FK(s,a),t.push(E8(s,a))}}return t}function FK(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){let o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),!(o.localName==="Point"||o.localName==="LineString"||o.localName==="Polygon"||o.localName==="boundedBy")&&o.hasChildNodes()&&FK(o,t)&&(t[o.localName]=o.textContent)}return n}function E8(e,t){let n=new Mh;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function vft(e){let t=new XMLSerializer().serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);let o=new Mh;return o.data=e,o.description=n.innerHTML,[o]}var wft=/<body>\s*<\/body>/im,Dft=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,Ift=/<title>([\s\S]*)<\/title>/im;function _xe(e){if(wft.test(e)||Dft.test(e))return;let t,n=Ift.exec(e);n&&n.length>1&&(t=n[1]);let i=new Mh;return i.name=t,i.description=e,i.data=e,[i]}var KT=_ft;function w2(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(w2.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});w2.prototype.getFromCache=function(e,t,n,i){let o=gxe(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(l(s)&&l(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};w2.prototype.checkApproachingInterval=function(e,t,n,i){let o=gxe(e,t,n),r=this._tilesRequestedForInterval,s=yxe(this),a={key:o,priorityFunction:i.priorityFunction};(!l(s)||!xxe(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};w2.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=yxe(this);if(l(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=xxe(this,c,r),a||s.push(c)}}};function gxe(e,t,n){return`${e}-${t}-${n}`}function Pft(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function yxe(e){let t=e._times;if(!l(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=K.secondsDifference(c.stop,i),++a):(s=K.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function xxe(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];l(r)||(r=o[i]={});let s=t.key;if(l(r[s]))return!0;let a=Pft(s),c=new er({throttle:!1,throttleByServer:!0,type:_s.IMAGERY,priorityFunction:t.priorityFunction}),u=e._requestImageFunction(a.x,a.y,a.level,c,n);return l(u)?(r[s]={promise:u,request:c},!0):!1}var ZT=w2;var Rft=[3034,3035,3042,3043,3044],Oft=[4471,4559];function Nh(e){if(e=y(e,y.EMPTY_OBJECT),l(e.times)&&!l(e.clock))throw new de("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=Ae.createIfNeeded(e.url),n=Ae.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(Nh.DefaultParameters,!0),n.setQueryParameters(Nh.GetFeatureInfoDefaultParameters,!0),l(e.parameters)&&t.setQueryParameters(bxe(e.parameters,e.toLowerCase)),l(e.getFeatureInfoParameters)&&n.setQueryParameters(bxe(e.getFeatureInfoParameters,e.toLowerCase));let i=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new ZT({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,u,f){return Txe(i,s,a,c,u,f)},reloadFunction:function(){l(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Mi?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!Oft.includes(a)||Rft.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Mi?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new qa({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new Xi({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,Nh.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function Txe(e,t,n,i,o,r){let s=l(r)?r.data:void 0,a=e._tileProvider;return l(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function Mft(e,t,n,i,o,r,s){let a=l(s)?s.data:void 0,c=e._tileProvider;return l(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(Nh.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});Nh.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};Nh.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=Txe(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};Nh.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=l(r)?r.currentInterval:void 0;return Mft(this,e,t,n,i,o,s)};Nh.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});Nh.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});Nh.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new KT("json","application/json")),Object.freeze(new KT("xml","text/xml")),Object.freeze(new KT("text","text/html"))]);function bxe(e,t=!0){if(t){let n={};for(let i in e)e.hasOwnProperty(i)&&(n[i.toLowerCase()]=e[i]);return n}return e}var D2=Nh;var Lft=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function I2(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=Ae.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!l(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(Lft),this._useKvp=!0;else{let d={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(d),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new us({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new ZT({clock:e.clock,times:e.times,requestImageFunction:function(d,p,g,m,x){return Cxe(s,d,p,g,m,x)},reloadFunction:function(){l(s._reload)&&s._reload()}}));let a=this._tilingScheme.positionToTileXY(ae.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(ae.northeast(this._rectangle),this._minimumLevel),u=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new me;let f=e.credit;this._credit=typeof f=="string"?new At(f):f,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():l(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function Cxe(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=l(s)?s[i]:i.toString(),c=e._subdomains,u=e._dimensions,f=l(r)?r.data:void 0,d,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({request:o}),d.setTemplateValues(p),l(u)&&d.setTemplateValues(u),l(f)&&d.setTemplateValues(f);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,l(u)&&(g=Ct(g,u)),l(f)&&(g=Ct(g,f)),p={s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({queryParameters:g,request:o}),d.setTemplateValues(p)}return dl.loadImage(e,d)}Object.defineProperties(I2.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,l(this._reload)&&this._reload())}}});I2.prototype.getTileCredits=function(e,t,n){};I2.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=Cxe(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};I2.prototype.pickFeatures=function(e,t,n,i,o){};var P2=I2;var Nft={ARCGIS_MAPSERVER:ug.fromUrl,BING:async(e,t)=>T2.fromUrl(e,t),GOOGLE_EARTH:async(e,t)=>{let n=t.channel;return delete t.channel,E2.fromUrl(e,n,t)},MAPBOX:(e,t)=>new S2({url:e,...t}),SINGLE_TILE:v2.fromUrl,TMS:F0.fromUrl,URL_TEMPLATE:(e,t)=>new qa({url:e,...t}),WMS:(e,t)=>new D2({url:e,...t}),WMTS:(e,t)=>new P2({url:e,...t})};function Km(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileCredits=void 0,this._errorEvent=new me}Object.defineProperties(Km.prototype,{rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}}});Km.fromAssetId=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=_u._createEndpointResource(e,t),i=e.toString()+t.accessToken+t.server,o=Km._endpointCache[i];l(o)||(o=n.fetchJson(),Km._endpointCache[i]=o);let r=await o;if(r.type!=="IMAGERY")throw new se(`Cesium ion asset ${e} is not an imagery asset.`);let s,a=r.externalType;if(!l(a))s=await F0.fromUrl(new _u(r,n));else{let u=Nft[a];if(!l(u))throw new se(`Unrecognized Cesium ion imagery type: ${a}`);let f={...r.options},d=f.url;delete f.url,s=await u(d,f)}let c=new Km(t);return s.errorEvent.addEventListener(function(u){u.provider=c,c._errorEvent.raiseEvent(u)}),c._tileCredits=_u.getCreditsFromEndpoint(r,n),c._imageryProvider=s,c};Km.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return l(i)?this._tileCredits.concat(i):this._tileCredits};Km.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};Km.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};Km._endpointCache={};var fg=Km;var Fft={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},dg=Object.freeze(Fft);function Bft(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,dg.AERIAL);return fg.fromAssetId(t)}var hg=Bft;function dv(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=Qn.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!l(o)&&e.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}dv.createPlaceholder=function(e){let t=new dv(e,0,0,0);return t.addReference(),t.state=Qn.PLACEHOLDER,t};dv.prototype.addReference=function(){++this.referenceCount};dv.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),l(this.parent)&&this.parent.releaseReference(),l(this.image)&&l(this.image.destroy)&&this.image.destroy(),l(this.texture)&&this.texture.destroy(),l(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),ue(this),0):this.referenceCount};dv.prototype.processStateMachine=function(e,t,n){this.state===Qn.UNLOADED&&!n&&(this.state=Qn.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===Qn.RECEIVED&&(this.state=Qn.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===Qn.READY&&t&&!this.texture;(this.state===Qn.TEXTURE_LOADED||i)&&(this.state=Qn.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var hv=dv;function BK(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}BK.prototype.freeResources=function(){l(this.readyImagery)&&this.readyImagery.releaseReference(),l(this.loadingImagery)&&this.loadingImagery.releaseReference()};BK.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===Qn.READY)return l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;l(r)&&(r.state!==Qn.READY||!this.useWebMercatorT&&!l(r.texture));)r.state!==Qn.FAILED&&r.state!==Qn.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,l(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===Qn.FAILED||i.state===Qn.INVALID?l(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var mv=BK;function Si(e,t){this._imageryProvider=e,this._readyEvent=new me,this._errorEvent=new me,t=y(t,y.EMPTY_OBJECT),e=y(e,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e._defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e._defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e._defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e._defaultBrightness,Si.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e._defaultContrast,Si.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e._defaultHue,Si.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e._defaultSaturation,Si.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e._defaultGamma,Si.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,Si.DEFAULT_SPLIT),this.minificationFilter=y(t.minificationFilter,y(e._defaultMinificationFilter,Si.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e._defaultMagnificationFilter,Si.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,ae.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new mv(hv.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,Si.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD),this._marsOptions=y(t.marsOptions,{}),this._initByMars3D&&this._initByMars3D(e,t)}Object.defineProperties(Si.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return l(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});Si.DEFAULT_BRIGHTNESS=1;Si.DEFAULT_CONTRAST=1;Si.DEFAULT_HUE=0;Si.DEFAULT_SATURATION=1;Si.DEFAULT_GAMMA=1;Si.DEFAULT_SPLIT=zr.NONE;Si.DEFAULT_MINIFICATION_FILTER=$t.LINEAR;Si.DEFAULT_MAGNIFICATION_FILTER=pi.LINEAR;Si.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;Si.fromProviderAsync=function(e,t){let n=new Si(void 0,t);return Hft(n,Promise.resolve(e)),n};Si.fromWorldImagery=function(e){return e=y(e,y.EMPTY_OBJECT),Si.fromProviderAsync(hg({style:e.style}),e)};Si.prototype.isBaseLayer=function(){return this._isBaseLayer};Si.prototype.isDestroyed=function(){return!1};Si.prototype.destroy=function(){return ue(this)};var Sxe=new ae,Axe=new ae,kK=new ae,vxe=new ae;Si.prototype.getImageryRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return ae.intersection(e.rectangle,t)};Si.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(!l(t)||l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;l(n)||(n=i.imagery.length);let o=this._imageryProvider;if(!this.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Mi&&e.rectangle.north<Mi.MaximumLatitude&&e.rectangle.south>-Mi.MaximumLatitude,s=ae.intersection(o.rectangle,this._rectangle,Sxe),a=ae.intersection(e.rectangle,s,Axe);if(!l(a)){if(!this.isBaseLayer())return!1;let w=s,I=e.rectangle;a=Axe,I.south>=w.north?a.north=a.south=w.north:I.north<=w.south?a.north=a.south=w.south:(a.south=Math.max(I.south,w.south),a.north=Math.min(I.north,w.north)),I.west>=w.east?a.west=a.east=w.east:I.east<=w.west?a.west=a.east=w.west:(a.west=Math.max(I.west,w.west),a.east=Math.min(I.east,w.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let f=1*t.getLevelMaximumGeometricError(e.level),d=Uft(this,f,c);d=Math.max(0,d);let p=o.maximumLevel;if(d>p&&(d=p),l(o.minimumLevel)){let w=o.minimumLevel;d<w&&(d=w)}let g=o.tilingScheme,m=g.positionToTileXY(ae.northwest(a),d),x=g.positionToTileXY(ae.southeast(a),d),b=e.rectangle.width/512,T=e.rectangle.height/512,A=g.tileXYToRectangle(m.x,m.y,d);Math.abs(A.south-e.rectangle.north)<T&&m.y<x.y&&++m.y,Math.abs(A.east-e.rectangle.west)<b&&m.x<x.x&&++m.x;let C=g.tileXYToRectangle(x.x,x.y,d);Math.abs(C.north-e.rectangle.south)<T&&x.y>m.y&&--x.y,Math.abs(C.west-e.rectangle.east)<b&&x.x>m.x&&--x.x;let E=ae.clone(e.rectangle,vxe),v=g.tileXYToRectangle(m.x,m.y,d),D=ae.intersection(v,s,kK),O;r?(g.rectangleToNativeRectangle(E,E),g.rectangleToNativeRectangle(v,v),g.rectangleToNativeRectangle(D,D),g.rectangleToNativeRectangle(s,s),O=g.tileXYToNativeRectangle.bind(g),b=E.width/512,T=E.height/512):O=g.tileXYToRectangle.bind(g);let R,M=0,N=1,_;!this.isBaseLayer()&&Math.abs(D.west-E.west)>=b&&(M=Math.min(1,(D.west-E.west)/E.width)),!this.isBaseLayer()&&Math.abs(D.north-E.north)>=T&&(N=Math.max(0,(D.north-E.south)/E.height));let S=N;for(let w=m.x;w<=x.x;w++)if(R=M,v=O(w,m.y,d),D=ae.simpleIntersection(v,s,kK),!!l(D)){M=Math.min(1,(D.east-E.west)/E.width),w===x.x&&(this.isBaseLayer()||Math.abs(D.east-E.east)<b)&&(M=1),N=S;for(let I=m.y;I<=x.y;I++){if(_=N,v=O(w,I,d),D=ae.simpleIntersection(v,s,kK),!l(D))continue;N=Math.max(0,(D.south-E.south)/E.height),I===x.y&&(this.isBaseLayer()||Math.abs(D.south-E.south)<T)&&(N=0);let L=new ie(R,N,M,_),B=this.getImageryFromCache(w,I,d);i.imagery.splice(n,0,new mv(B,L,r)),++n}}return!0};Si.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,Sxe),i=c.rectangleToNativeRectangle(i,vxe)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new ie(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};Si.prototype._requestImagery=function(e){if(l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return e.state=Qn.FAILED,e.request=void 0,!1;if(l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return e.state=Qn.FAILED,e.request=void 0,!1;let t=this._imageryProvider,n=this;function i(s){if(!l(s))return o();e.image=s,e.state=Qn.RECEIVED,e.request=void 0,Oo.reportSuccess(n._requestImageError),n._marsOptions.onAddTileSuccess&&n._marsOptions.onAddTileSuccess(e)}function o(s){if(e.request.state===Jn.CANCELLED){e.state=Qn.UNLOADED,e.request=void 0;return}e.state=Qn.FAILED,e.request=void 0;let a=`\u65E0\u6CD5\u83B7\u5F97\u56FE\u5757 x:${e.x},y: ${e.y},z:${e.level}. `;t._resource&&t._resource._last_url&&(a+=t._resource._last_url),n._requestImageError=Oo.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r(),n._marsOptions.onAddTileError&&n._marsOptions.onAddTileError(e)}function r(){let s=new er({throttle:!1,throttleByServer:!0,type:_s.IMAGERY});e.request=s,e.state=Qn.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!l(a)){e.state=Qn.UNLOADED,e.request=void 0;return}l(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),n._marsOptions.onAddTile&&n._marsOptions.onAddTile(e),a.then?a.then(function(c){i(c)}).catch(function(c){o(c)}):i(a)}r()};Si.prototype._createTextureWebGL=function(e,t){let n=new Qt({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return l(i.internalFormat)?new Pt({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new Pt({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?nt.RGBA:nt.RGB,sampler:n})};Si.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(l(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(l(r)){if(!r.isReady()){t.state=Qn.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=Qn.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Mi?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=Qn.TEXTURE_LOADED};function Exe(e,t,n){return`${e}:${t}:${n}`}Si.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===$t.LINEAR&&i===pi.LINEAR&&!nt.isCompressedFormat(t.pixelFormat)&&P.isPowerOfTwo(t.width)&&P.isPowerOfTwo(t.height)){n=$t.LINEAR_MIPMAP_LINEAR;let r=Ft.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=Exe(n,i,s),c=e.cache.imageryLayerMipmapSamplers;l(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let u=c[a];l(u)||(u=c[a]=new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(nm.NICEST),t.sampler=u}else{let r=Exe(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;l(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];l(a)||(a=s[r]=new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};Si.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof Ri)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new Fc({persists:!0,owner:this,preExecute:function(c){Vft(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=Qn.READY,t.releaseReference()},canceled:function(){t.state=Qn.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=Qn.READY};Si.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};Si.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){l(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};Si.prototype.getImageryFromCache=function(e,t,n,i){let o=wxe(e,t,n),r=this._imageryCache[o];return l(r)||(r=new hv(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};Si.prototype.removeImageryFromCache=function(e){this._marsOptions.onRemoveTile&&this._marsOptions.onRemoveTile(e);let t=wxe(e.x,e.y,e.level);delete this._imageryCache[t]};function wxe(e,t,n){return JSON.stringify([e,t,n])}var S8={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new z,texture:void 0},kft=Gt.supportsTypedArrays()?new Float32Array(2*64):void 0;function Vft(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!l(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){l(this.framebuffer)&&this.framebuffer.destroy(),l(this.vertexArray)&&this.vertexArray.destroy(),l(this.shaderProgram)&&this.shaderProgram.destroy()}};let b=new Float32Array(2*64*2),T=0;for(let D=0;D<64;++D){let O=D/63;b[T++]=0,b[T++]=O,b[T++]=1,b[T++]=O}let A={position:0,webMercatorT:1},C=ls.getRegularGridIndices(2,64),E=xt.createIndexBuffer({context:t,typedArray:C,usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});o.vertexArray=new ii({context:t,attributes:[{index:A.position,vertexBuffer:xt.createVertexBuffer({context:t,typedArray:b,usage:Be.STATIC_DRAW}),componentsPerAttribute:2},{index:A.webMercatorT,vertexBuffer:xt.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:Be.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:E});let v=new Ue({sources:[l2]});o.shaderProgram=tn.fromCache({context:t,vertexShaderSource:v,fragmentShaderSource:c2,attributeLocations:A}),o.sampler=new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.LINEAR,magnificationFilter:pi.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;S8.textureDimensions.x=r,S8.textureDimensions.y=s,S8.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let f=1/(.5*Math.log((1+a)/(1-a))-c),d=new Pt({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});P.isPowerOfTwo(r)&&P.isPowerOfTwo(s)&&d.generateMipmap(nm.NICEST);let p=i.south,g=i.north,m=kft,x=0;for(let b=0;b<64;++b){let T=b/63,A=P.lerp(p,g,T);a=Math.sin(A);let E=(.5*Math.log((1+a)/(1-a))-c)*f;m[x++]=E,m[x++]=E}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(m),e.shaderProgram=o.shaderProgram,e.outputTexture=d,e.uniformMap=S8,e.vertexArray=o.vertexArray}function Uft(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof Ri?1:Math.cos(n),a=o.rectangle,u=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,f=Math.log(u)/Math.log(2);return Math.round(f)|0}function zft(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function Hft(e,t){let n;try{if(n=await Promise.resolve(t),e.isDestroyed())return;e._imageryProvider=n,e._readyEvent.raiseEvent(n)}catch(i){zft(e._errorEvent,i)}}var Ya=Si;var Dxe={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=Dxe.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},Zn=Dxe;function _v(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new ie}_v.prototype.update=function(e,t,n){this.changedThisFrame&&(Nxe(e,t,this.tile,n),this.changedThisFrame=!1)};_v.prototype.destroy=function(e){this._destroyVertexArray(e),l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};_v.prototype._destroyVertexArray=function(e){l(this.vertexArray)&&(l(e)?e.push(this.vertexArray):cd._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var Gft=new gy;_v.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=Gft;a.clear();for(let u=0;u<t.length;++u){let f=t[u];l(f.data.vertexArray)&&a.enqueue(t[u])}let c=a.dequeue();for(;c!==void 0;){let u=c.findTileToWest(r),f=c.findTileToSouth(r),d=c.findTileToEast(r),p=c.findTileToNorth(r);Hs(e,n,c,u,s,xn.EAST,!1,a,i),Hs(e,n,c,f,s,xn.NORTH,!1,a,i),Hs(e,n,c,d,s,xn.WEST,!1,a,i),Hs(e,n,c,p,s,xn.SOUTH,!1,a,i);let g=u.findTileToNorth(r),m=u.findTileToSouth(r),x=d.findTileToNorth(r),b=d.findTileToSouth(r);Hs(e,n,c,g,s,xn.SOUTHEAST,!1,a,i),Hs(e,n,c,x,s,xn.SOUTHWEST,!1,a,i),Hs(e,n,c,m,s,xn.NORTHEAST,!1,a,i),Hs(e,n,c,b,s,xn.NORTHWEST,!1,a,i),c=a.dequeue()}};function Hs(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let u=i;for(;u&&(u._lastSelectionResultFrame!==o||Zn.wasKicked(u._lastSelectionResult)||Zn.originalResult(u._lastSelectionResult)===Zn.CULLED);){if(s)return;let f=u.parent;if(r>=xn.NORTHWEST&&f!==void 0)switch(r){case xn.NORTHWEST:u=u===f.northwestChild?f:void 0;break;case xn.NORTHEAST:u=u===f.northeastChild?f:void 0;break;case xn.SOUTHWEST:u=u===f.southwestChild?f:void 0;break;case xn.SOUTHEAST:u=u===f.southeastChild?f:void 0;break}else u=f}if(u!==void 0){if(u._lastSelectionResult===Zn.RENDERED){if(l(u.data.vertexArray))return;Wft(e,t,n,u,r,o,a,c);return}if(Zn.originalResult(i._lastSelectionResult)!==Zn.CULLED)switch(r){case xn.WEST:Hs(e,t,n,i.northwestChild,o,r,!0,a,c),Hs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case xn.EAST:Hs(e,t,n,i.southeastChild,o,r,!0,a,c),Hs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case xn.SOUTH:Hs(e,t,n,i.southwestChild,o,r,!0,a,c),Hs(e,t,n,i.southeastChild,o,r,!0,a,c);break;case xn.NORTH:Hs(e,t,n,i.northeastChild,o,r,!0,a,c),Hs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case xn.NORTHWEST:Hs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case xn.NORTHEAST:Hs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case xn.SOUTHWEST:Hs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case xn.SOUTHEAST:Hs(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new de("Invalid edge")}}}function Wft(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new _v(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),jft(e,t,n,i,o,a)}function jft(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;l(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(Nxe(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let u,f;switch(o){case xn.WEST:u=s.westMeshes,f=s.westTiles;break;case xn.SOUTH:u=s.southMeshes,f=s.southTiles;break;case xn.EAST:u=s.eastMeshes,f=s.eastTiles;break;case xn.NORTH:u=s.northMeshes,f=s.northTiles;break;case xn.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case xn.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case xn.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case xn.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||u[0]!==a||u.length!==1,u[0]=a,f[0]=n,u.length=1,f.length=1;return}let d,p,g,m,x=n.rectangle,b,T=i.rectangle;switch(o){case xn.WEST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.north,m.south,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.south,m.north,b));++p);break;case xn.SOUTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.west,m.east,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.east,m.west,b));++p);break;case xn.EAST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.south,m.north,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.north,m.south,b));++p);break;case xn.NORTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.east,m.west,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.west,m.east,b));++p);break}p-d===1?(s.changedThisFrame=s.changedThisFrame||u[d]!==a,u[d]=a,f[d]=n):(s.changedThisFrame=!0,u.splice(d,p-d,a),f.splice(d,p-d,n))}var $T=new fe,qft=new fe,pv=new h,HK=new h,VK=new z,UK=new z,Qu=new z;function O8(){this.height=0,this.encodedNormal=new z}function v8(e,t,n,i,o,r,s,a,c){if(l(o))return o;let u;if(l(r)&&l(s))u=(r.height+s.height)*.5;else if(l(r))u=r.height;else if(l(s))u=s.height;else if(l(a))u=a.height;else{let d=e.tile.data.tileBoundingRegion,p=0,g=0;l(d)&&(p=d.minimumHeight,g=d.maximumHeight),u=(p+g)*.5}return Fxe(e,t,n,i,u,c),c}var Yft={minimumHeight:0,maximumHeight:0},Xft=new h,Ixe=new O8,Pxe=new O8,Rxe=new O8,Oxe=new O8,Kft=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,Zft={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function Nxe(e,t,n,i){cd.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.verticalExaggeration,c=t.verticalExaggerationRelativeHeight,u=a!==1,f=n.tilingScheme.ellipsoid,d=D8(r,f,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,Rxe),p=D8(r,f,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,Ixe),g=D8(r,f,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,Pxe),m=D8(r,f,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,Oxe);d=v8(r,f,0,1,d,p,m,g,Rxe),p=v8(r,f,0,0,p,d,g,m,Ixe),g=v8(r,f,1,1,g,p,m,d,Pxe),m=v8(r,f,1,1,m,g,d,p,Oxe);let x=p.height,b=g.height,T=d.height,A=m.height,C=Math.min(x,b,T,A),E=Math.max(x,b,T,A),v=(C+E)*.5,D,O,R=e.getLevelMaximumGeometricError(n.level),M=f.maximumRadius-R,N=Math.acos(M/f.maximumRadius)*4;if(N*=1.5,s.width>N&&E-C<=R){let w=new Wa({width:9,height:9,buffer:Kft,structure:{heightOffset:E}}),I=Zft;I.tilingScheme=n.tilingScheme,I.x=n.x,I.y=n.y,I.level=n.level,I.exaggeration=a,I.exaggerationRelativeHeight=c,r.mesh=w._createMeshSync(I)}else{let w=u,I=ae.center(s,qft);I.height=v;let L=f.cartographicToCartesian(I,Xft),B=new vc(L,void 0,void 0,void 0,void 0,!0,!0,w,a,c),U=5,V;for(V=r.westMeshes,D=0,O=V.length;D<O;++D)U+=V[D].eastIndicesNorthToSouth.length;for(V=r.southMeshes,D=0,O=V.length;D<O;++D)U+=V[D].northIndicesWestToEast.length;for(V=r.eastMeshes,D=0,O=V.length;D<O;++D)U+=V[D].westIndicesSouthToNorth.length;for(V=r.northMeshes,D=0,O=V.length;D<O;++D)U+=V[D].southIndicesEastToWest.length;let G=Yft;G.minimumHeight=C,G.maximumHeight=E;let k=B.stride,W=new Float32Array(U*k),Y=0,Q=Y;Y=w8(f,s,B,W,Y,0,1,d.height,d.encodedNormal,1,G),Y=P8(r,f,B,W,Y,r.westTiles,r.westMeshes,xn.EAST,G);let j=Y;Y=w8(f,s,B,W,Y,0,0,p.height,p.encodedNormal,0,G),Y=P8(r,f,B,W,Y,r.southTiles,r.southMeshes,xn.NORTH,G);let Z=Y;Y=w8(f,s,B,W,Y,1,0,g.height,g.encodedNormal,0,G),Y=P8(r,f,B,W,Y,r.eastTiles,r.eastMeshes,xn.WEST,G);let J=Y;Y=w8(f,s,B,W,Y,1,1,m.height,m.encodedNormal,1,G),Y=P8(r,f,B,W,Y,r.northTiles,r.northMeshes,xn.SOUTH,G),C=G.minimumHeight,E=G.maximumHeight;let he=Dn.fromRectangle(s,C,E,n.tilingScheme.ellipsoid),xe=Mi.geodeticLatitudeToMercatorAngle(s.south),re=1/(Mi.geodeticLatitudeToMercatorAngle(s.north)-xe),_e=(Mi.geodeticLatitudeToMercatorAngle(I.latitude)-xe)*re,ye=f.geodeticSurfaceNormalCartographic($T,HK),De=Nn.octEncode(ye,VK),we=Y;B.encode(W,Y*k,he.center,z.fromElements(.5,.5,Qu),v,De,_e,ye),++Y;let Me=Y,Oe=Me<256?1:2,lt=(Me-1)*3,et=lt*Oe,vt=(W.length-Me*k)*Float32Array.BYTES_PER_ELEMENT,Qe;if(vt>=et){let Ee=Me*k*Float32Array.BYTES_PER_ELEMENT;Qe=Me<256?new Uint8Array(W.buffer,Ee,lt):new Uint16Array(W.buffer,Ee,lt)}else Qe=Me<256?new Uint8Array(lt):new Uint16Array(lt);W=new Float32Array(W.buffer,0,Me*k);let wt=0;for(D=0;D<Me-2;++D)Qe[wt++]=we,Qe[wt++]=D,Qe[wt++]=D+1;Qe[wt++]=we,Qe[wt++]=D,Qe[wt++]=0;let mt=[];for(D=j;D>=Q;--D)mt.push(D);let pt=[];for(D=Z;D>=j;--D)pt.push(D);let Xt=[];for(D=J;D>=Z;--D)Xt.push(D);let Te=[];for(Te.push(0),D=we-1;D>=J;--D)Te.push(D);r.mesh=new sd(B.center,W,Qe,lt,Me,C,E,ce.fromOrientedBoundingBox(he),idt(e,he.center,s,C,E),B.stride,he,B,mt,pt,Xt,Te)}let _=t.context;r._destroyVertexArray(i),r.vertexArray=cd._createVertexArrayForMesh(_,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let S=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let w=o._findAncestorTileWithTerrainData(n);l(w)&&l(w.data.waterMaskTexture)&&(r.waterMaskTexture=w.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,w,r.waterMaskTranslationAndScale))}l(S)&&(--S.referenceCount,S.referenceCount===0&&S.destroy())}function w8(e,t,n,i,o,r,s,a,c,u,f){let d=$T;d.longitude=P.lerp(t.west,t.east,r),d.latitude=P.lerp(t.south,t.north,s),d.height=a;let p=e.cartographicToCartesian(d,pv),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,HK));let m=UK;return m.x=r,m.y=s,n.encode(i,o*n.stride,p,m,a,c,u,g),f.minimumHeight=Math.min(f.minimumHeight,a),f.maximumHeight=Math.max(f.maximumHeight,a),o+1}var R8=new ae;function R2(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=ae.clone(e.rectangle,R8),o.west-=P.TWO_PI,o.east-=P.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=ae.clone(e.rectangle,R8),o.west+=P.TWO_PI,o.east+=P.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,u=o.north-o.south,f=(r.south-o.south)/u,d=(r.north-o.south)/u,p=(n.x-a)/(c-a),g=(n.y-f)/(d-f);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var $ft=new z;function zK(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var Qft=new z,Jft=new h;function edt(e,t,n,i,o,r,s,a,c,u){let f=i.encoding,d=i.vertices,p=R2(t,n,f.decodeTextureCoordinates(d,o,Qu),Qu),g=R2(t,n,f.decodeTextureCoordinates(d,r,UK),UK),m;c?m=(s-p.x)/(g.x-p.x):m=(a-p.y)/(g.y-p.y);let x=f.decodeHeight(d,o),b=f.decodeHeight(d,r),T=n.rectangle;$T.longitude=P.lerp(T.west,T.east,s),$T.latitude=P.lerp(T.south,T.north,a),u.height=$T.height=P.lerp(x,b,m);let A;if(f.hasVertexNormals){let C=f.getOctEncodedNormal(d,o,$ft),E=f.getOctEncodedNormal(d,r,Qft),v=Nn.octDecode(C.x,C.y,pv),D=Nn.octDecode(E.x,E.y,Jft);A=h.lerp(v,D,m,pv),h.normalize(A,A),Nn.octEncode(A,u.encodedNormal)}else A=e.geodeticSurfaceNormalCartographic($T,pv),Nn.octEncode(A,u.encodedNormal)}function Fxe(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic($T,pv);Nn.octEncode(s,r.encodedNormal)}function D8(e,t,n,i,o,r,s,a,c,u,f){if(Lxe(e,t,a,s,!1,n,i,f)||Lxe(e,t,u,c,!0,n,i,f))return f;let p;if(GK(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],zK(r,p,n,i,f),f;let g;if(n===0?i===0?g=I8(e.westMeshes,e.westTiles,xn.EAST,e.southMeshes,e.southTiles,xn.NORTH,n,i):g=I8(e.northMeshes,e.northTiles,xn.SOUTH,e.westMeshes,e.westTiles,xn.EAST,n,i):i===0?g=I8(e.southMeshes,e.southTiles,xn.NORTH,e.eastMeshes,e.eastTiles,xn.WEST,n,i):g=I8(e.eastMeshes,e.eastTiles,xn.WEST,e.northMeshes,e.northTiles,xn.SOUTH,n,i),l(g))return Fxe(e,t,n,i,g,f),f}function I8(e,t,n,i,o,r,s,a){let c=Mxe(e,t,!1,n,s,a),u=Mxe(i,o,!0,r,s,a);return l(c)&&l(u)?(c+u)*.5:l(c)?c:u}function P8(e,t,n,i,o,r,s,a,c){for(let u=0;u<r.length;++u)o=tdt(e,t,n,i,o,r[u],s[u],a,c);return o}function tdt(e,t,n,i,o,r,s,a,c){let u=r.rectangle;a===xn.EAST&&e.tile.x===0?(u=ae.clone(r.rectangle,R8),u.west-=P.TWO_PI,u.east-=P.TWO_PI):a===xn.WEST&&r.x===0&&(u=ae.clone(r.rectangle,R8),u.west+=P.TWO_PI,u.east+=P.TWO_PI);let f=e.tile.rectangle,d,p;o>0&&(n.decodeTextureCoordinates(i,o-1,Qu),d=Qu.x,p=Qu.y);let g,m;switch(a){case xn.WEST:g=s.westIndicesSouthToNorth,m=!1;break;case xn.NORTH:g=s.northIndicesWestToEast,m=!0;break;case xn.EAST:g=s.eastIndicesNorthToSouth,m=!1;break;case xn.SOUTH:g=s.southIndicesEastToWest,m=!0;break}let x=r,b=e.tile,T=s.encoding,A=s.vertices,C=n.stride,E,v;T.hasWebMercatorT&&(E=Mi.geodeticLatitudeToMercatorAngle(f.south),v=1/(Mi.geodeticLatitudeToMercatorAngle(f.north)-E));for(let D=0;D<g.length;++D){let O=g[D],R=T.decodeTextureCoordinates(A,O,Qu);R2(x,b,R,R);let M=R.x,N=R.y,_=m?M:N;if(_<0||_>1||Math.abs(M-d)<P.EPSILON5&&Math.abs(N-p)<P.EPSILON5)continue;let S=Math.abs(M)<P.EPSILON5||Math.abs(M-1)<P.EPSILON5,w=Math.abs(N)<P.EPSILON5||Math.abs(N-1)<P.EPSILON5;if(S&&w)continue;let I=T.decodePosition(A,O,pv),L=T.decodeHeight(A,O),B;T.hasVertexNormals?B=T.getOctEncodedNormal(A,O,VK):(B=VK,B.x=0,B.y=0);let U=N;if(T.hasWebMercatorT){let G=P.lerp(f.south,f.north,N);U=(Mi.geodeticLatitudeToMercatorAngle(G)-E)*v}let V;n.hasGeodeticSurfaceNormals&&(V=t.geodeticSurfaceNormal(I,HK)),n.encode(i,o*C,I,R,L,B,U,V),c.minimumHeight=Math.min(c.minimumHeight,L),c.maximumHeight=Math.max(c.maximumHeight,L),++o}return o}function Mxe(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let u=s;u!==a;u+=c){let f=e[u],d=t[u];if(!GK(d,f))continue;let p;switch(i){case xn.WEST:p=f.westIndicesSouthToNorth;break;case xn.SOUTH:p=f.southIndicesEastToWest;break;case xn.EAST:p=f.eastIndicesNorthToSouth;break;case xn.NORTH:p=f.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(l(g))return f.encoding.decodeHeight(f.vertices,g)}}function GK(e,t){return l(t)&&(!l(e.data.fill)||!e.data.fill.changedThisFrame)}function Lxe(e,t,n,i,o,r,s,a){let c,u,f,d,p,g=i[o?0:n.length-1],m=n[o?0:n.length-1];if(GK(g,m)&&(r===0?s===0?(c=o?m.northIndicesWestToEast:m.eastIndicesNorthToSouth,u=o,f=o):(c=o?m.eastIndicesNorthToSouth:m.southIndicesEastToWest,u=!o,f=!1):s===0?(c=o?m.westIndicesSouthToNorth:m.northIndicesWestToEast,u=!o,f=!0):(c=o?m.southIndicesEastToWest:m.westIndicesSouthToNorth,u=o,f=!o),c.length>0)){d=o?0:c.length-1,p=c[d],m.encoding.decodeTextureCoordinates(m.vertices,p,Qu);let x=R2(g,e.tile,Qu,Qu);if(x.x===r&&x.y===s)return zK(m,p,r,s,a),!0;if(d=Lo(c,u?r:s,function(b,T){m.encoding.decodeTextureCoordinates(m.vertices,b,Qu);let A=R2(g,e.tile,Qu,Qu);return f?u?A.x-r:A.y-s:u?r-A.x:s-A.y}),d<0){if(d=~d,d>0&&d<c.length)return edt(t,g,e.tile,m,c[d-1],c[d],r,s,u,a),!0}else return zK(m,c[d],r,s,a),!0}return!1}var ndt=[new h,new h,new h,new h];function idt(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=ndt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var gv=_v;function ur(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.showWaterEffect=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=Tn.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new me,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(ur.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(ur.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(ur.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(ur.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new me,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new H(0,0,.5,1),this._clippingPlanes=void 0,this._clippingPolygons=void 0,this.cartographicLimitRectangle=ae.clone(ae.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldVerticalExaggeration=void 0,this._oldVerticalExaggerationRelativeHeight=void 0,this._initByMars3D&&this._initByMars3D(e)}Object.defineProperties(ur.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=ie.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},tilingScheme:{get:function(){if(l(this._terrainProvider))return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,l(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ts.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){qd.setOwner(e,this,"_clippingPolygons")}}});function odt(e,t){let n=e.loadingImagery;l(n)||(n=e.readyImagery);let i=t.loadingImagery;return l(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}ur.prototype.update=function(e){this._imageryLayers._update()};function rdt(e,t){let n=t.creditDisplay,i=e._terrainProvider;l(i)&&l(i.credit)&&n.addCreditToNextFrame(i.credit);let o=e._imageryLayers;for(let r=0,s=o.length;r<s;++r){let a=o.get(r);a.ready&&a.show&&l(a.imageryProvider.credit)&&n.addCreditToNextFrame(a.imageryProvider.credit)}}ur.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(odt)})),rdt(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)cd._freeVertexArray(t[i]);t.length=0};ur.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let o=0,r=t.length;o<r;++o){let s=t[o];l(s)&&(s.length=0)}let n=this._clippingPlanes;l(n)&&n.enabled&&n.update(e);let i=this._clippingPolygons;l(i)&&i.enabled&&(i.update(e),i.queueCommands(e)),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};ur.prototype.endUpdate=function(e){if(!l(this._renderState)){this._renderState=Ve.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:sc.LESS}}),this._blendRenderState=Ve.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:sc.LESS_OR_EQUAL},blending:dn.ALPHA_BLEND});let s=He(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=Ve.fromCache(s),s=He(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=Ve.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&gv.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.verticalExaggeration,i=e.verticalExaggerationRelativeHeight,o=this._oldVerticalExaggeration!==n||this._oldVerticalExaggerationRelativeHeight!==i;this._oldVerticalExaggeration=n,this._oldVerticalExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(l(c))for(let u=0,f=c.length;u<f;++u){let d=c[u],p=d.data.tileBoundingRegion;zxe(this,d,e,!1);let g=this.marsOptions?.uplift;if(g&&g.enabled&&g.height!==0&&g.rectangles){for(let m=0;m<g.rectangles.length;m++)if(ae.intersection(p.rectangle,g.rectangles[m])){zxe(this,d,e,!0);break}}e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function Hxe(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}ur.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)Hxe(t[n],e)};ur.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};ur.prototype.getLevelMaximumGeometricError=function(e){return l(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(e):0};ur.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;l(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===Zn.CULLED_BUT_NEEDED,o=n.terrainState),cd.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==Tr.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,cd.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var sdt=new ce,Gxe=new ae,adt=new ae,cdt=new fe;function L8(e,t){if(t.west<t.east)return t;let n=ae.clone(t,adt);return ae.center(e,cdt).longitude>0?n.east=P.PI:n.west=-P.PI,n}function Wxe(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;if(l(n)&&n.enabled)return!0;let i=e._clippingPolygons;return!!(l(i)&&i.enabled||!ae.equals(e.cartographicLimitRectangle,ae.MAX_VALUE))}ur.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=Wxe(this,t);if(t.fog.enabled&&!o&&P.fog(i,t.fog.density)>=1)return Tr.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return Tr.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;l(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let u=L8(e.rectangle,this.cartographicLimitRectangle),f=ae.simpleIntersection(u,e.rectangle,Gxe);if(!l(f))return Tr.NONE;if(ae.equals(f,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==ne.SCENE3D&&(c=sdt,ce.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===ne.MORPHING&&l(r.renderedMesh)&&(c=ce.union(s.boundingSphere,c,c))),!l(c))return Tr.PARTIAL;let d=this._clippingPlanes;if(l(d)&&d.enabled){let b=d.computeIntersectionWithBoundingVolume(c);if(e.isClipped=b!==qt.INSIDE,b===qt.OUTSIDE)return Tr.NONE}let p=this._clippingPolygons;if(l(p)&&p.enabled){let b=p.computeIntersectionWithBoundingVolume(s);e.isClipped=b!==qt.OUTSIDE}let g,m=a.computeVisibility(c);if(m===qt.OUTSIDE?g=Tr.NONE:m===qt.INTERSECTING?g=Tr.PARTIAL:m===qt.INSIDE&&(g=Tr.FULL),g===Tr.NONE)return g;let x=t.mode===ne.SCENE3D&&t.camera.frustum instanceof cn;if(t.mode===ne.SCENE3D&&!x&&l(n)&&!o){let b=r.occludeePointInScaledSpace;return!l(b)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(b,s.minimumHeight)?g:Tr.NONE}return g};ur.prototype.canRefine=function(e){return l(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var ldt=[],udt=[];ur.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=ldt;i.length=this._imageryLayers.length;let o=!1,r=!1,s;l(n)&&(o=n.terrainState===yo.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(l(s))for(a=0,c=s.length;a<c;++a){let d=s[a],p=d.loadingImagery,g=!l(p)||p.state===Qn.FAILED||p.state===Qn.INVALID,m=(d.loadingImagery||d.readyImagery).imageryLayer._layerIndex;i[m]=g&&i[m]}let u=this.quadtree._lastSelectionFrameNumber,f=udt;for(f.length=0,f.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);f.length>0;){let d=f.pop(),p=d._lastSelectionResultFrame===u?d._lastSelectionResult:Zn.NONE;if(p===Zn.RENDERED){let g=d.data;if(!l(g))continue;if(!o&&d.data.terrainState===yo.READY)return!1;let m=d.data.imagery;for(a=0,c=m.length;a<c;++a){let x=m[a],b=x.loadingImagery,T=!l(b)||b.state===Qn.FAILED||b.state===Qn.INVALID,A=(x.loadingImagery||x.readyImagery).imageryLayer._layerIndex;if(T&&!i[A])return!1}}else p===Zn.REFINED&&f.push(d.southwestChild,d.southeastChild,d.northwestChild,d.northeastChild)}return!0};var fdt=new h;ur.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,fdt),a=h.magnitude(s);return a<P.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var Bxe=new F,M8=new F,ddt=new ie,hdt=new ie,mdt=new ie,pdt=new h,kxe=new h,_dt=new h,gdt=new h;ur.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let u=i[a];l(u.readyImagery)&&u.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];l(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;l(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var ydt=[new h,new h,new h,new h];function Vxe(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=ydt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}ur.prototype.computeDistanceToTile=function(e,t){xdt(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,u=Math.abs(c-r),f=Math.abs(c-s);u>f?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function xdt(e,t,n){let i=e.data;i===void 0&&(i=e.data=new cd);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new Hf({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,u=e,f=0,d=t.marsOptions?.flat;if(d&&d.enabled&&d.rectangles){for(let b=0;b<d.rectangles.length;b++)if(ae.intersection(e.rectangle,d.rectangles[b])){f=d.rectangles[b]._flatHeight??d.heights[b];break}}let p=t.marsOptions?.uplift,g=0;if(p&&p.enabled&&p.height!==0&&p.rectangles){for(let b=0;b<p.rectangles.length;b++)if(ae.intersection(r.rectangle,p.rectangles[b])){g=p.height;break}}let m=i.mesh,x=i.terrainData;if(m!==void 0&&m.minimumHeight!==void 0&&m.maximumHeight!==void 0)r.minimumHeight=m.minimumHeight,r.maximumHeight=m.maximumHeight,c=!0;else if(x!==void 0&&x._minimumHeight!==void 0&&x._maximumHeight!==void 0)r.minimumHeight=x._minimumHeight,r.maximumHeight=x._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let b=e.parent;for(;b!==void 0;){let T=b.data;if(T!==void 0){let A=T.mesh,C=T.terrainData;if(A!==void 0&&A.minimumHeight!==void 0&&A.maximumHeight!==void 0){r.minimumHeight=A.minimumHeight,r.maximumHeight=A.maximumHeight;break}else if(C!==void 0&&C._minimumHeight!==void 0&&C._maximumHeight!==void 0){r.minimumHeight=C._minimumHeight,r.maximumHeight=C._maximumHeight;break}}b=b.parent}u=b}if(r.maximumHeight+=g,r.minimumHeight-=f,u!==void 0){let b=n.verticalExaggeration,T=n.verticalExaggerationRelativeHeight;if((b!==1||f!==0)&&(c=!1,r.minimumHeight=Dr.getHeight(r.minimumHeight,b,T),r.maximumHeight=Dr.getHeight(r.maximumHeight,b,T)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=Dn.clone(m.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=ce.clone(m.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(m.occludeePointInScaledSpace,i.occludeePointInScaledSpace),l(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=Vxe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let C=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||C)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=Vxe(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=u,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}ur.prototype.isDestroyed=function(){return!1};ur.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),ue(this)};function bdt(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,u;for(u=0;u<c;++u)if(o=a[u],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=u;break}if(s!==-1){let f=s+e;if(o=a[f],r=l(o)?y(o.readyImagery,o.loadingImagery):void 0,!l(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,f);for(u=s;u<f;++u)a[u].freeResources();a.splice(s,e)}return!0}}ur.prototype._onLayerAdded=function(e,t){if(!this.isDestroyed()&&e.show){let n=this._terrainProvider,i=this,o=this._imageryLayersUpdatedEvent,r=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(l(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,u=c.length,f=-1,d=0;for(a=0;a<u;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)f===-1&&(f=a),++d;else if(f!==-1)break}if(f===-1)return;let p=f+d;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=bdt(d,e,n),s.state=sa.LOADING)})};if(e.ready){let s=e.imageryProvider;s._reload=r}this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=sa.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==Zn.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,o.raiseEvent()}};ur.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],u=c.loadingImagery;if(l(u)||(u=c.readyImagery),u.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),l(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};ur.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};ur.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var Tdt=new F,Cdt=new F;function Uxe(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_verticalExaggerationAndRelativeHeight:function(){return this.properties.verticalExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=F.multiplyByPoint(i,this.properties.rtc,kxe);return F.setTranslation(i,o,Bxe),Bxe},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=F.multiplyByPoint(i,this.properties.rtc,kxe);return F.setTranslation(i,r,M8),F.multiply(o,M8,M8),M8},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return l(i)&&l(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=l(i)?F.multiply(e.context.uniformState.view,i.modelMatrix,Tdt):F.IDENTITY;return F.inverseTranspose(o,Cdt)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_clippingDistance:function(){let i=t._clippingPolygons.clippingTexture;return l(i)?i:e.context.defaultTexture},u_clippingExtents:function(){let i=t._clippingPolygons.extentsTexture;return l(i)?i:e.context.defaultTexture},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},u_mars3dTextureInvertColor:function(){return this.properties.mars3dTextureInvertColor},u_mars3dTextureFilterColor:function(){return this.properties.mars3dTextureFilterColor},u_mars_inverseTileWidth:function(){return this.properties.mars_inverseTileWidth},u_mars_cartographicTileRectangle:function(){return this.properties.mars_cartographicTileRectangle},u_mars_flat_enabled:function(){return this.properties.mars_flat_enabled},u_mars_flat_rectangle:function(){return this.properties.mars_flat_rectangle},u_mars_flat_texture:function(){return l(this.properties.mars_flat_texture)?this.properties.mars_flat_texture:e.context.defaultTexture},u_mars_uplift_enabled:function(){return this.properties.mars_uplift_enabled},u_mars_uplift_hideInsideOrOutside:function(){return this.properties.mars_uplift_hideInsideOrOutside},u_mars_uplift_rectangle:function(){return this.properties.mars_uplift_rectangle},u_mars_uplift_texture:function(){return l(this.properties.mars_uplift_texture)?this.properties.mars_uplift_texture:e.context.defaultTexture},u_mars_clip_enabled:function(){return this.properties.mars_clip_enabled},u_mars_clip_rectangle:function(){return this.properties.mars_clip_rectangle},u_mars_clip_texture:function(){return l(this.properties.mars_clip_texture)?this.properties.mars_clip_texture:e.context.defaultTexture},u_mars_clip_only:function(){return this.properties.mars_clip_only},u_mars_flood_enabled:function(){return this.properties.mars_flood_enabled},u_mars_flood_rectangle:function(){return this.properties.mars_flood_rectangle},u_mars_flood_texture:function(){return l(this.properties.mars_flood_texture)?this.properties.mars_flood_texture:e.context.defaultTexture},u_mars_flood_only:function(){return this.properties.mars_flood_only},properties:{initialColor:new ie(0,0,.5,1),fillHighlightColor:new H(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new z(65e5,9e6),nightFadeDistance:new z(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new F,tileRectangle:new ie,verticalExaggerationAndRelativeHeight:new z(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new z,southMercatorYAndOneOverHeight:new z,waterMask:void 0,waterMaskTranslationAndScale:new ie,minMaxHeight:new z,scaleAndBias:new F,clippingPlanesEdgeColor:H.clone(H.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new ie,frontFaceAlphaByDistance:new ie,backFaceAlphaByDistance:new ie,localizedTranslucencyRectangle:new ie,undergroundColor:H.clone(H.TRANSPARENT),undergroundColorAlphaByDistance:new ie,lambertDiffuseMultiplier:0,vertexShadowDarkness:0,mars3dTextureInvertColor:[],mars3dTextureFilterColor:[],mars_inverseTileWidth:0,mars_cartographicTileRectangle:void 0,mars_flat_enabled:!1,mars_flat_rectangle:new ie,mars_flat_texture:void 0,mars_uplift_enabled:!1,mars_uplift_hideInsideOrOutside:!1,mars_uplift_rectangle:new ie,mars_uplift_texture:void 0,mars_clip_enabled:!1,mars_clip_rectangle:new ie,mars_clip_texture:void 0,mars_clip_only:!1,mars_flood_enabled:!1,mars_flood_rectangle:new ie,mars_flood_texture:void 0,mars_flood_only:!1}};return l(t.materialUniformMap)?Ct(n,t.materialUniformMap):n}function Adt(e,t,n){let i=n.data,o,r;if(l(i.vertexArray)?(o=i.mesh,r=i.vertexArray):l(i.fill)&&l(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!l(o)||!l(r))){if(l(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=Edt(e,r,o),i.wireframeVertexArray.mesh=o}}function Edt(e,t,n){let o={indices:n.indices,primitiveType:Ne.TRIANGLES};Fn.toWireframe(o);let r=o.indices,s=xt.createIndexBuffer({context:e,typedArray:r,usage:Be.STATIC_DRAW,indexDatatype:Fe.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new ii({context:e,attributes:t._attributes,indexBuffer:s})}var jxe,qxe,N8;(function(){let e=new It({geometry:Pd.fromDimensions({dimensions:new h(2,2,2)})}),t=new It({geometry:new v_({radius:1})}),n=new F,i,o;function r(s){return new Pn({geometryInstances:s,appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})}jxe=function(s,a){return s===i||(N8(),i=s,n=F.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=Wt.fromColor(a),o=r(e)),o},qxe=function(s,a){return s===i||(N8(),i=s,n=F.fromTranslation(s.center,n),n=F.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=Wt.fromColor(a),o=r(t)),o},N8=function(){l(o)&&(o.destroy(),o=void 0,i=void 0)}})();var Sdt=new ie(0,0,0,0),vdt={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,enableClippingPolygons:void 0,clippingPolygons:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},wdt=H.TRANSPARENT,Ddt=new Vt;function zxe(e,t,n,i){let o=t.data;l(o.vertexArray)||(o.fill===void 0&&(o.fill=new gv(t)),o.fill.update(e,n));let r=n.creditDisplay,s=o.terrainData;if(l(s)&&l(s.credits)){let Jt=s.credits;for(let en=0,Ji=Jt.length;en<Ji;++en)r.addCreditToNextFrame(Jt[en])}let a=Ft.maximumTextureImageUnits,c=o.waterMaskTexture,u=o.waterMaskTranslationAndScale;!l(c)&&l(o.fill)&&(c=o.fill.waterMaskTexture,u=o.fill.waterMaskTranslationAndScale);let f=n.cameraUnderground,d=n.globeTranslucencyState,p=d.translucent,g=d.frontFaceAlphaByDistance,m=d.backFaceAlphaByDistance,x=d.rectangle,b=y(e.undergroundColor,wdt),T=y(e.undergroundColorAlphaByDistance,Ddt),A=Wxe(e,n)&&n.mode===ne.SCENE3D&&b.alpha>0&&(T.nearValue>0||T.farValue>0),C=e.lambertDiffuseMultiplier,E=e.vertexShadowDarkness,v=e.hasWaterMask&&l(c),D=v&&e.showWaterEffect,O=e.oceanNormalMap,R=D&&l(O),M=e.terrainProvider,N=l(M)&&e.terrainProvider.hasVertexNormals,_=n.fog.enabled&&n.fog.renderable&&!f,S=e.showGroundAtmosphere&&n.mode===ne.SCENE3D,w=Tn.castShadows(e.shadows)&&!p,I=Tn.receiveShadows(e.shadows)&&!p,L=e.hueShift,B=e.saturationShift,U=e.brightnessShift,V=!(P.equalsEpsilon(L,0,P.EPSILON7)&&P.equalsEpsilon(B,0,P.EPSILON7)&&P.equalsEpsilon(U,0,P.EPSILON7)),G=!1;if(S){let Jt=h.magnitude(n.camera.positionWC),en=e.nightFadeOutDistance;G=Jt>en}v&&--a,R&&--a,l(n.shadowState)&&n.shadowState.shadowsEnabled&&--a,l(e.clippingPlanes)&&e.clippingPlanes.enabled&&--a,l(e.clippingPolygons)&&e.clippingPolygons.enabled&&(--a,--a),a-=d.numberOfTextureUniforms;let k=o.renderedMesh,W=k.center,Y=k.encoding,Q=o.tileBoundingRegion,j=n.verticalExaggeration,Z=n.verticalExaggerationRelativeHeight,J=e.marsOptions?.uplift;i&&J&&(Z=n.verticalExaggerationRelativeHeight-J.height/(j-1)),e.marsOptions?.uplift?.enabled&&--a,e.marsOptions?.clip?.enabled&&--a,e.marsOptions?.flat?.enabled&&--a,e.marsOptions?.flood?.enabled&&--a;let he=j!==1,xe=Y.hasGeodeticSurfaceNormals,re=ddt,_e=0,ye=0,De=0,we=0,Me=!1;if(n.mode!==ne.SCENE3D){let Jt=n.mapProjection,en=Jt.project(ae.southwest(t.rectangle),_dt),Ji=Jt.project(ae.northeast(t.rectangle),gdt);if(re.x=en.x,re.y=en.y,re.z=Ji.x,re.w=Ji.y,n.mode!==ne.MORPHING&&(W=pdt,W.x=0,W.y=(re.z+re.x)*.5,W.z=(re.w+re.y)*.5,re.x-=W.y,re.y-=W.z,re.z-=W.y,re.w-=W.z),n.mode===ne.SCENE2D&&Y.quantization===oa.BITS12){let je=1/(Math.pow(2,12)-1)*.5,vo=(re.z-re.x)*je,Ho=(re.w-re.y)*je;re.x-=vo,re.y-=Ho,re.z+=vo,re.w+=Ho}Jt instanceof Mi&&(_e=t.rectangle.south,ye=t.rectangle.north,De=Mi.geodeticLatitudeToMercatorAngle(_e),we=1/(Mi.geodeticLatitudeToMercatorAngle(ye)-De),Me=!0)}let Oe=vdt;Oe.frameState=n,Oe.surfaceTile=o,Oe.hasWaterMask=v,Oe.showReflectiveOcean=D,Oe.showOceanWaves=R,Oe.enableLighting=e.enableLighting,Oe.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,Oe.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,Oe.showGroundAtmosphere=S,Oe.atmosphereLightIntensity=e.atmosphereLightIntensity,Oe.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Oe.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Oe.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Oe.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Oe.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Oe.perFragmentGroundAtmosphere=G,Oe.hasVertexNormals=N,Oe.useWebMercatorProjection=Me,Oe.clippedByBoundaries=o.clippedByBoundaries,Oe.hasGeodeticSurfaceNormals=xe,Oe.hasExaggeration=he;let lt=o.imagery,et=0,vt=lt.length,Qe=e.showSkirts&&!f&&!p,wt=e.backFaceCulling&&!f&&!p,mt=wt?e._renderState:e._disableCullingRenderState,pt=wt?e._blendRenderState:e._disableCullingBlendRenderState,Xt=mt,Te=e._firstPassInitialColor,Ee=n.context;if(l(e._debug.boundingSphereTile)||N8(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let Jt=e._drawCommands.length;for(let en=0;en<Jt;++en)e._uniformMaps[en]=Uxe(n,e)}do{let Jt=0,en,Ji;if(e._drawCommands.length<=e._usedDrawCommands?(en=new Ze,en.owner=t,en.cull=!1,en.boundingVolume=new ce,en.orientedBoundingBox=void 0,Ji=Uxe(n,e),e._drawCommands.push(en),e._uniformMaps.push(Ji)):(en=e._drawCommands[e._usedDrawCommands],Ji=e._uniformMaps[e._usedDrawCommands]),en.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let jt=Q.boundingVolume,yi=Q.boundingSphere;l(jt)?jxe(jt,H.RED).update(n):l(yi)&&qxe(yi,H.RED).update(n)}let je=Ji.properties;ie.clone(Te,je.initialColor),je.oceanNormalMap=O,je.lightingFadeDistance.x=e.lightingFadeOutDistance,je.lightingFadeDistance.y=e.lightingFadeInDistance,je.nightFadeDistance.x=e.nightFadeOutDistance,je.nightFadeDistance.y=e.nightFadeInDistance,je.atmosphereLightIntensity=e.atmosphereLightIntensity,je.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,je.atmosphereMieCoefficient=e.atmosphereMieCoefficient,je.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,je.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,je.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,je.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let vo=f?m:g,Ho=f?g:m;l(vo)&&(ie.fromElements(vo.near,vo.nearValue,vo.far,vo.farValue,je.frontFaceAlphaByDistance),ie.fromElements(Ho.near,Ho.nearValue,Ho.far,Ho.farValue,je.backFaceAlphaByDistance)),ie.fromElements(T.near,T.nearValue,T.far,T.farValue,je.undergroundColorAlphaByDistance),H.clone(b,je.undergroundColor),je.lambertDiffuseMultiplier=C,je.vertexShadowDarkness=E;let wa=!l(o.vertexArray)&&l(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;wa&&H.clone(e.fillHighlightColor,je.fillHighlightColor),je.verticalExaggerationAndRelativeHeight.x=j,je.verticalExaggerationAndRelativeHeight.y=Z,je.center3D=k.center,h.clone(W,je.rtc),ie.clone(re,je.tileRectangle),je.southAndNorthLatitude.x=_e,je.southAndNorthLatitude.y=ye,je.southMercatorYAndOneOverHeight.x=De,je.southMercatorYAndOneOverHeight.y=we;let ke=hdt,at=L8(t.rectangle,e.cartographicLimitRectangle),Xe=mdt,Ke=L8(t.rectangle,x);h.fromElements(L,B,U,je.hsbShift);let rt=t.rectangle,_t=1/rt.width,hn=1/rt.height;ke.x=(at.west-rt.west)*_t,ke.y=(at.south-rt.south)*hn,ke.z=(at.east-rt.west)*_t,ke.w=(at.north-rt.south)*hn,ie.clone(ke,je.localizedCartographicLimitRectangle),Xe.x=(Ke.west-rt.west)*_t,Xe.y=(Ke.south-rt.south)*hn,Xe.z=(Ke.east-rt.west)*_t,Xe.w=(Ke.north-rt.south)*hn,je.mars_inverseTileWidth=_t,je.mars_cartographicTileRectangle=new z(rt.west,rt.south);let eo=e.marsOptions?.clip;eo?(eo.rectangle?je.mars_clip_rectangle=new ie(eo.rectangle.west,eo.rectangle.south,eo.rectangle.width,eo.rectangle.height):je.mars_clip_rectangle=new ie,je.mars_clip_texture=eo.texture,je.mars_clip_only=eo.onlySelf,je.mars_clip_enabled=eo.enabled):(je.mars_clip_enabled=!1,je.mars_clip_rectangle=new ie,je.mars_clip_texture=void 0,je.mars_clip_only=!1);let fo=e.marsOptions?.flood;fo?(fo.rectangle?je.mars_flood_rectangle=new ie(fo.rectangle.west,fo.rectangle.south,fo.rectangle.width,fo.rectangle.height):je.mars_flood_rectangle=new ie,je.mars_flood_texture=fo.texture,je.mars_flood_only=fo.onlySelf,je.mars_flood_enabled=fo.enabled):(je.mars_flood_enabled=!1,je.mars_flood_rectangle=new ie,je.mars_flood_texture=void 0);let Nr=e.marsOptions?.flat;Nr?(Nr.rectangle?je.mars_flat_rectangle=new ie(Nr.rectangle.west,Nr.rectangle.south,Nr.rectangle.width,Nr.rectangle.height):je.mars_flat_rectangle=new ie,je.mars_flat_texture=Nr.texture,je.mars_flat_enabled=Nr.enabled):(je.mars_flat_enabled=!1,je.mars_flat_rectangle=new ie,je.mars_flat_texture=void 0);let Jo=e.marsOptions?.uplift;Jo?(Jo.rectangle?je.mars_uplift_rectangle=new ie(Jo.rectangle.west,Jo.rectangle.south,Jo.rectangle.width,Jo.rectangle.height):je.mars_uplift_rectangle=new ie,je.mars_uplift_texture=Jo.texture,je.mars_uplift_enabled=(!Jo.showUp||Jo.enabled&&Jo.height!==0)&&l(Jo.rectangles)&&Jo.rectangles.length>0,je.mars_uplift_hideInsideOrOutside=!i):(je.mars_uplift_enabled=!1,je.mars_uplift_rectangle=new ie,je.mars_uplift_texture=void 0,je.mars_uplift_hideInsideOrOutside=!1),ie.clone(Xe,je.localizedTranslucencyRectangle);let ms=_&&P.fog(t._distance,n.fog.density)>P.EPSILON3;V=V&&(ms||S);let ho=!1,ps=!1,Fr=!1,cf=!1,oo=!1,hr=!1,lf=!1,Za=!1,up=!1,Wh=!1,$a=!1,fp=!1;for(;Jt<a&&et<vt;){let jt=lt[et],yi=jt.readyImagery;if(++et,!l(yi)||yi.imageryLayer.alpha===0)continue;let Gs=jt.useWebMercatorT?yi.textureWebMercator:yi.texture,di=yi.imageryLayer;l(jt.textureTranslationAndScale)||(jt.textureTranslationAndScale=di._calculateTextureTranslationAndScale(t,jt)),je.dayTextures[Jt]=Gs,je.dayTextureTranslationAndScale[Jt]=jt.textureTranslationAndScale,je.dayTextureTexCoordsRectangle[Jt]=jt.textureCoordinateRectangle,je.dayTextureUseWebMercatorT[Jt]=jt.useWebMercatorT,je.dayTextureAlpha[Jt]=di.alpha,hr=hr||je.dayTextureAlpha[Jt]!==1,je.dayTextureNightAlpha[Jt]=di.nightAlpha,lf=lf||je.dayTextureNightAlpha[Jt]!==1,je.dayTextureDayAlpha[Jt]=di.dayAlpha,lf=lf||je.dayTextureDayAlpha[Jt]!==1,je.dayTextureBrightness[Jt]=di.brightness,ho=ho||je.dayTextureBrightness[Jt]!==Ya.DEFAULT_BRIGHTNESS,je.dayTextureContrast[Jt]=di.contrast,ps=ps||je.dayTextureContrast[Jt]!==Ya.DEFAULT_CONTRAST,je.dayTextureHue[Jt]=di.hue,Fr=Fr||je.dayTextureHue[Jt]!==Ya.DEFAULT_HUE,je.dayTextureSaturation[Jt]=di.saturation,cf=cf||je.dayTextureSaturation[Jt]!==Ya.DEFAULT_SATURATION,je.dayTextureOneOverGamma[Jt]=1/di.gamma,oo=oo||je.dayTextureOneOverGamma[Jt]!==1/Ya.DEFAULT_GAMMA,je.dayTextureSplit[Jt]=di.splitDirection,Za=Za||je.dayTextureSplit[Jt]!==0,$a=$a||!!di.invertColor,je.mars3dTextureInvertColor[Jt]=!!di.invertColor,fp=fp||!!di.filterColor,di.filterColor?je.mars3dTextureFilterColor[Jt]=new h(di.filterColor.red,di.filterColor.green,di.filterColor.blue):je.mars3dTextureFilterColor[Jt]=new h(1,1,1);let es=je.dayTextureCutoutRectangles[Jt];if(l(es)||(es=je.dayTextureCutoutRectangles[Jt]=new ie),ie.clone(ie.ZERO,es),l(di.cutoutRectangle)){let Go=L8(rt,di.cutoutRectangle),Pg=ae.simpleIntersection(Go,rt,Gxe);up=l(Pg)||up,es.x=(Go.west-rt.west)*_t,es.y=(Go.south-rt.south)*hn,es.z=(Go.east-rt.west)*_t,es.w=(Go.north-rt.south)*hn}let Lc=je.colorsToAlpha[Jt];l(Lc)||(Lc=je.colorsToAlpha[Jt]=new ie);let Ig=l(di.colorToAlpha)&&di.colorToAlphaThreshold>0;if(Wh=Wh||Ig,Ig){let Go=di.colorToAlpha;Lc.x=Go.red,Lc.y=Go.green,Lc.z=Go.blue,Lc.w=di.colorToAlphaThreshold}else Lc.w=-1;if(l(yi.credits)){let Go=yi.credits;for(let Pg=0,nV=Go.length;Pg<nV;++Pg)r.addCreditToNextFrame(Go[Pg])}++Jt}je.dayTextures.length=Jt,je.waterMask=c,ie.clone(u,je.waterMaskTranslationAndScale),je.minMaxHeight.x=Y.minimumHeight,je.minMaxHeight.y=Y.maximumHeight,F.clone(Y.matrix,je.scaleAndBias);let dp=e._clippingPlanes,hp=l(dp)&&dp.enabled&&t.isClipped;hp&&(je.clippingPlanesEdgeColor=H.clone(dp.edgeColor,je.clippingPlanesEdgeColor),je.clippingPlanesEdgeWidth=dp.edgeWidth);let Dg=e._clippingPolygons,Qv=l(Dg)&&Dg.enabled&&t.isClipped;Oe.numberOfDayTextures=Jt,Oe.applyBrightness=ho,Oe.applyContrast=ps,Oe.applyHue=Fr,Oe.applySaturation=cf,Oe.applyGamma=oo,Oe.applyAlpha=hr,Oe.applyDayNightAlpha=lf,Oe.applySplit=Za,Oe.enableFog=ms,Oe.enableClippingPlanes=hp,Oe.clippingPlanes=dp,Oe.enableClippingPolygons=Qv,Oe.clippingPolygons=Dg,Oe.hasImageryLayerCutout=up,Oe.colorCorrect=V,Oe.highlightFillTile=wa,Oe.colorToAlpha=Wh,Oe.showUndergroundColor=A,Oe.translucent=p,Oe.marsOptions={invertColor:$a,filterColor:fp,enableUplift:e?._marsOptions?.uplift?.enabled,enableFlat:e?._marsOptions?.flat?.enabled,enableClip:e?._marsOptions?.clip?.enabled,enableFlood:e?._marsOptions?.flood?.enabled};let mn=o.renderedMesh.indices.length;Qe||(mn=o.renderedMesh.indexCountWithoutSkirts),en.shaderProgram=e._surfaceShaderSet.getShaderProgram(Oe),en.castShadows=w,en.receiveShadows=I,en.renderState=Xt,en.primitiveType=Ne.TRIANGLES,en.vertexArray=o.vertexArray||o.fill.vertexArray,en.count=mn,en.uniformMap=Ji,en.pass=ve.GLOBE,e._debug.wireframe&&(Adt(Ee,e,t),l(o.wireframeVertexArray)&&(en.vertexArray=o.wireframeVertexArray,en.primitiveType=Ne.LINES,en.count=mn*2));let Ce=en.boundingVolume,ut=en.orientedBoundingBox;n.mode!==ne.SCENE3D?(ce.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,Q.minimumHeight,Q.maximumHeight,Ce),h.fromElements(Ce.center.z,Ce.center.x,Ce.center.y,Ce.center),n.mode===ne.MORPHING&&(Ce=ce.union(Q.boundingSphere,Ce,Ce))):(en.boundingVolume=ce.clone(Q.boundingSphere,Ce),en.orientedBoundingBox=Dn.clone(Q.boundingVolume,ut)),en.dirty=!0,p&&d.updateDerivedCommands(en,n),Hxe(en,n),Xt=pt,Te=Sdt}while(et<vt)}var O2=ur;function Yxe(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=ae.clone(ae.MAX_VALUE)}Object.defineProperties(Yxe.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=Vt.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=Vt.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){l(e)||(e=ae.clone(ae.MAX_VALUE)),ae.clone(e,this._rectangle)}}});var M2=Yxe;function ws(){this._layers=[],this.layerAdded=new me,this.layerRemoved=new me,this.layerMoved=new me,this.layerShownOrHidden=new me}Object.defineProperties(ws.prototype,{length:{get:function(){return this._layers.length}}});ws.prototype.add=function(e,t){l(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t);let i=e.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(e,e._layerIndex,e.show),i()})};ws.prototype.addImageryProvider=function(e,t){let n=new Ya(e);return this.add(n,t),n};ws.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};ws.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};ws.prototype.contains=function(e){return this.indexOf(e)!==-1};ws.prototype.indexOf=function(e){return this._layers.indexOf(e)};ws.prototype.get=function(e){return this._layers[e]};function F8(e,t){return e.indexOf(t)}function Xxe(e,t,n){let i=e._layers;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}ws.prototype.raise=function(e){let t=F8(this._layers,e);Xxe(this,t,t+1)};ws.prototype.lower=function(e){let t=F8(this._layers,e);Xxe(this,t,t-1)};ws.prototype.raiseToTop=function(e){let t=F8(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))};ws.prototype.lowerToBottom=function(e){let t=F8(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var Idt=new ae;function WK(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!l(r)&&a<o.length;++a){let c=o[a];ae.contains(c.rectangle,t)&&(r=c)}if(!l(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],u=c.readyImagery;if(!l(u)||!u.imageryLayer.ready)continue;let f=u.imageryLayer.imageryProvider;if(n&&!l(f.pickFeatures)||!ae.contains(u.rectangle,t))continue;let d=Idt,p=1/1024;d.west=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),d.east=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),d.south=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),d.north=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),ae.contains(d,t)&&i(u)}}ws.pickImageryHelper=WK;ws.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[];if(WK(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};ws.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(WK(t,i,!0,function(s){if(!s.imageryLayer.ready)return;let a=s.imageryLayer.imageryProvider;for(let u=0;u<r.length;u++)if(r[u]===s.imageryLayer)return;let c=a.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);l(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let u=s[c],f=r[c];if(l(u)&&u.length>0)for(let d=0;d<u.length;++d){let p=u[d];p.imageryLayer=f,l(p.position)||(p.position=i),a.push(p)}}return a})};ws.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};ws.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};ws.prototype.isDestroyed=function(){return!1};ws.prototype.destroy=function(){return this.removeAll(!0),ue(this)};ws.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(l(i._show)&&(l(n)||(n=[]),n.push(i)),i._show=i.show);if(l(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var L2=ws;function Kxe(e){this._ellipsoid=new F_(e.ellipsoid,h.ZERO)}Object.defineProperties(Kxe.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var N2=Kxe;function hl(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=Zn.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=sa.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}hl.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new hl({tilingScheme:e,x:s,y:r,level:0});return i};hl.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(l(t)&&l(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],ae.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(l(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],ae.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties(hl.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return l(this._southwestChild)||(this._southwestChild=new hl({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return l(this._southeastChild)||(this._southeastChild=new hl({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return l(this._northwestChild)||(this._northwestChild=new hl({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return l(this._northeastChild)||(this._northeastChild=new hl({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<sa.DONE}},eligibleForUnloading:{get:function(){let e=!0;return l(this.data)&&(e=this.data.eligibleForUnloading,l(e)||(e=!0)),e}}});hl.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};hl.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};hl.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};hl.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};hl.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};hl.prototype.freeResources=function(){this.state=sa.START,this.renderable=!1,this.upsampledFromParent=!1,l(this.data)&&l(this.data.freeResources)&&this.data.freeResources(),B8(this._southwestChild),this._southwestChild=void 0,B8(this._southeastChild),this._southeastChild=void 0,B8(this._northwestChild),this._northwestChild=void 0,B8(this._northeastChild),this._northeastChild=void 0};function B8(e){l(e)&&e.freeResources()}var F2=hl;function k8(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}k8.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};k8.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&l(this._lastBeforeStartOfFrame)&&this.count>e&&l(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),Zxe(this,t)),t=i}};function Zxe(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}k8.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!l(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(l(e.replacementPrevious)||l(e.replacementNext))&&Zxe(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var B2=k8;function ud(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new B2,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new N2({ellipsoid:n}),this._tileLoadProgressEvent=new me,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(ud.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});ud.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function Pdt(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,Qxe(e);let n=e._levelZeroTiles;if(l(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}ud.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;l(t);)t.state!==sa.START&&e(t),t=t.replacementNext};ud.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};ud.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};ud.prototype.update=function(e){l(this._tileProvider.update)&&this._tileProvider.update(e)};function Qxe(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}ud.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(Pdt(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),Qxe(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};ud.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),Ldt(this,e),Wdt(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function Rdt(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;if(n!==e._lastTileLoadQueueLength||e._tilesInvalidated){let o=me.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n);t.afterRender.push(()=>(o(),!0)),e._lastTileLoadQueueLength=n}let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}ud.prototype.endFrame=function(e){!e.passes.render||e.mode===ne.MORPHING||(Udt(this,e),Gdt(this,e),Rdt(this,e))};ud.prototype.isDestroyed=function(){return!1};ud.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var V2,$xe=new fe;function Odt(e,t){let n=ae.center(e.rectangle,$xe),i=n.longitude-V2.longitude,o=n.latitude-V2.latitude;n=ae.center(t.rectangle,$xe);let r=n.longitude-V2.longitude,s=n.latitude-V2.latitude;return i*i+o*o-(r*r+s*s)}var Mdt=new h,k2=[];function Ldt(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!l(e._levelZeroTiles)){let x=r.tilingScheme;if(l(x)){let b=r.tilingScheme;e._levelZeroTiles=F2.createLevelZeroTiles(b);let T=e._levelZeroTiles.length;if(k2.length<T)for(k2=new Array(T),o=0;o<T;++o)k2[o]===void 0&&(k2[o]=new U2)}else return}e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;V2=t.camera.positionCartographic,a.sort(Odt);let u=e._addHeightCallbacks,f=e._removeHeightCallbacks,d=t.frameNumber,p;if(u.length>0||f.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(d,u,f);u.length=0,f.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let m=F.getTranslation(g.transform,Mdt);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(m,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?Xa(e,s,r,t,c,!1,k2[o]):(mg(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=d}function mg(e,t,n,i){n.needsLoading&&(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function U2(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function Jxe(){this.southwest=new U2,this.southeast=new U2,this.northwest=new U2,this.northeast=new U2}Jxe.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var YK=new Array(31);for(let e=0;e<YK.length;++e)YK[e]=new Jxe;function Ndt(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=kdt(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,u=n.northwestChild,f=n.northeastChild,d=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===d?n._lastSelectionResult:Zn.NONE,g=e.tileProvider;if(s||i){let m=Zn.originalResult(p)===Zn.RENDERED,x=Zn.originalResult(p)===Zn.CULLED||p===Zn.NONE,b=n.state===sa.DONE,T=m||x||b;if(T||l(g.canRenderWithoutLosingDetail)&&(T=g.canRenderWithoutLosingDetail(n)),T){s&&mg(e,e._tileLoadQueueMedium,n,t),V8(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Zn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Zn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&mg(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&u.upsampledFromParent&&f.upsampledFromParent){V8(e,n),mg(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(u),e._tileReplacementQueue.markTileRendered(f),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Zn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Zn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Zn.REFINED;let x=e._tilesToRender.length,b=e._tileLoadQueueLow.length,T=e._tileLoadQueueMedium.length,A=e._tileLoadQueueHigh.length,C=e._tileToUpdateHeights.length;if(Fdt(e,a,c,u,f,t,i,o),x!==e._tilesToRender.length){let E=o.allAreRenderable,v=o.anyWereRenderedLastFrame,D=o.notYetRenderableCount,O=!1;if(!E&&!v){let R=e._tilesToRender;for(let N=x;N<R.length;++N){let _=R[N];for(;_!==void 0&&_._lastSelectionResult!==Zn.KICKED&&_!==n;)_._lastSelectionResult=Zn.kick(_._lastSelectionResult),_=_.parent}e._tilesToRender.length=x,e._tileToUpdateHeights.length=C,V8(e,n),n._lastSelectionResult=Zn.RENDERED;let M=p===Zn.RENDERED;!M&&D>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=b,e._tileLoadQueueMedium.length=T,e._tileLoadQueueHigh.length=A,mg(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,O=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=M,M||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!O&&mg(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Zn.RENDERED,V8(e,n),mg(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Zn.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function Fdt(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,u=e._tileProvider,f=e._occluders,d=YK[t.level],p=d.southwest,g=d.southeast,m=d.northwest,x=d.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(Xa(e,t,u,r,f,s,p),Xa(e,n,u,r,f,s,g),Xa(e,i,u,r,f,s,m),Xa(e,o,u,r,f,s,x)):(Xa(e,i,u,r,f,s,m),Xa(e,t,u,r,f,s,p),Xa(e,o,u,r,f,s,x),Xa(e,n,u,r,f,s,g)):c.latitude<t.rectangle.north?(Xa(e,n,u,r,f,s,g),Xa(e,t,u,r,f,s,p),Xa(e,o,u,r,f,s,x),Xa(e,i,u,r,f,s,m)):(Xa(e,o,u,r,f,s,x),Xa(e,i,u,r,f,s,m),Xa(e,n,u,r,f,s,g),Xa(e,t,u,r,f,s,p)),d.combine(a)}function Bdt(e,t){let n=t.rectangle;return l(e._cameraPositionCartographic)&&ae.contains(n,e._cameraPositionCartographic)||l(e._cameraReferenceFrameOriginCartographic)&&ae.contains(n,e._cameraReferenceFrameOriginCartographic)}function Xa(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==Tr.NONE)return Ndt(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,Bdt(e,t)){(!l(t.data)||!l(t.data.vertexArray))&&mg(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:Zn.NONE;c!==Zn.CULLED_BUT_NEEDED&&c!==Zn.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=Zn.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(mg(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=Zn.CULLED):t._lastSelectionResult=Zn.CULLED;t._lastSelectionResultFrame=i.frameNumber}function kdt(e,t,n){if(t.mode===ne.SCENE2D||t.camera.frustum instanceof cn||t.camera.frustum instanceof Ur)return Vdt(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=P.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function Vdt(e,t,n){let o=t.camera.frustum,r=o.offCenterFrustum;l(r)&&(o=r);let s=t.context,a=s.drawingBufferWidth,c=s.drawingBufferHeight,u=e._tileProvider.getLevelMaximumGeometricError(n.level),f=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(a,c),d=u/f;return t.fog.enabled&&t.mode!==ne.SCENE2D&&(d-=P.fog(n._distance,t.fog.density)*t.fog.sse),d/=t.pixelRatio,d}function V8(e,t){e._tilesToRender.push(t)}function Udt(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=Ei()+e._loadQueueTimeSlice,s=e._tileProvider,a=jK(e,t,s,r,n,!1);a=jK(e,t,s,r,i,a),jK(e,t,s,r,o,a)}function zdt(e,t){return e._loadPriority-t._loadPriority}function jK(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(zdt);for(let s=0,a=o.length;s<a&&(Ei()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var yv=new yn,qK=new fe,B0=new h,Hdt=[];function Gdt(e,t){if(!l(e.tileProvider.tilingScheme))return;let n=Hdt;n.length=0;let i=e._tileToUpdateHeights,o=Ei(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,u=e.tileProvider.tilingScheme.ellipsoid,f;for(;i.length>0;){let d=i[0];if(!l(d.data)||!l(d.data.mesh)){let x=d._lastSelectionResultFrame===e._lastSelectionFrameNumber?d._lastSelectionResult:Zn.NONE;(x===Zn.RENDERED||x===Zn.CULLED_BUT_NEEDED)&&n.push(d),i.shift(),e._lastTileIndex=0;continue}let p=d.customData,g=p.length,m=!1;for(f=e._lastTileIndex;f<g;++f){let x=p[f],b=d.data.terrainData,T=l(b)&&b.wasCreatedByUpsampling();if(d.level>x.level&&!T){if(l(x.positionOnEllipsoidSurface)||(x.positionOnEllipsoidSurface=h.fromRadians(x.positionCartographic.longitude,x.positionCartographic.latitude,0,u)),a===ne.SCENE3D){let C=u.geodeticSurfaceNormal(x.positionOnEllipsoidSurface,yv.direction),E=u.getSurfaceNormalIntersectionWithZAxis(x.positionOnEllipsoidSurface,11500,yv.origin);if(!l(E)){let v=0;l(d.data.tileBoundingRegion)&&(v=d.data.tileBoundingRegion.minimumHeight);let D=Math.min(v,-11500),O=h.multiplyByScalar(C,Math.abs(D)+1,B0);h.subtract(x.positionOnEllipsoidSurface,O,yv.origin)}}else fe.clone(x.positionCartographic,qK),qK.height=-11500,c.project(qK,B0),h.fromElements(B0.z,B0.x,B0.y,B0),h.clone(B0,yv.origin),h.clone(h.UNIT_X,yv.direction);let A=d.data.pick(yv,a,c,!1,B0);l(A)&&(l(x.callback)&&x.callback(A),x.level=d.level)}if(Ei()>=s){m=!0;break}}if(m){e._lastTileIndex=f;break}else e._lastTileIndex=0,i.shift()}for(f=0;f<n.length;f++)i.push(n[f])}function Wdt(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var z2=ud;function Fh(e){e=y(e,ee.default);let t=new BT({ellipsoid:e}),n=new L2;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new y2,this._material=void 0,this._surface=new z2({tileProvider:new O2({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new me,this._undergroundColor=H.clone(H.BLACK),this._undergroundColorAlphaByDistance=new Vt(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new M2,KK(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Ae({url:sn("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=ee.WGS84.equals(e),this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.lightingFadeInDistance=P.PI*e.minimumRadius,this.nightFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.nightFadeInDistance=5*P.PI_OVER_TWO*e.minimumRadius,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=Tn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3}Object.defineProperties(Fh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return l(this._surface)?this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},clippingPolygons:{get:function(){return this._surface.tileProvider.clippingPolygons},set:function(e){this._surface.tileProvider.clippingPolygons=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){l(e)||(e=ae.clone(ae.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),l(this._material)&&KK(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,KK(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=H.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=Vt.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function KK(e){let t=[],n=l(e._material)&&(l(e._material.shaderSource.match(/slope/))||l(e._material.shaderSource.match("normalEC"))),i=[Yd,nv];l(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(s2),e._surfaceShaderSet.baseVertexShaderSource=new Ue({sources:[Yd,nv,a2],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new Ue({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function jdt(e){return function(t,n){let i=ce.distanceSquaredTo(t.pickBoundingSphere,e),o=ce.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var qdt=[],Ydt={start:0,stop:0};Fh.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=qdt;s.length=0;let a=this._surface._tilesToRender,c=a.length,u,f;for(f=0;f<c;++f){u=a[f];let p=u.data;if(!l(p))continue;let g=p.pickBoundingSphere;if(o!==ne.SCENE3D)p.pickBoundingSphere=g=ce.fromRectangleWithHeights2D(u.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(l(p.renderedMesh))ce.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let m=ei.raySphere(e,g,Ydt);l(m)&&s.push(p)}s.sort(jdt(e.origin));let d;for(c=s.length,f=0;f<c&&(d=s[f].pick(e,t.mode,t.mapProjection,n,i),!l(d));++f);return d};var Xdt=new fe;Fh.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),l(n)&&t.mode!==ne.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,Xdt);n=this._ellipsoid.cartographicToCartesian(i,n)}return n};var Kdt=new h,ebe=new h,Zdt=new fe,$dt=new yn;function XK(e,t){return l(e)&&ae.contains(e.rectangle,t)?e:void 0}Fh.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!l(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!ae.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;l(n);)n=XK(n._southwestChild,e)||XK(n._southeastChild,e)||XK(n._northwestChild,e)||n._northeastChild,l(n)&&l(n.data)&&l(n.data.renderedMesh)&&(r=n);if(n=r,!l(n)||!l(n.data)||!l(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,Kdt),u=$dt,f=a.geodeticSurfaceNormal(c,u.direction),d=a.getSurfaceNormalIntersectionWithZAxis(c,11500,u.origin);if(!l(d)){let g;l(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let m=Math.min(y(g,0),-11500),x=h.multiplyByScalar(f,Math.abs(m)+1,ebe);h.subtract(c,x,u.origin)}let p=n.data.pick(u,void 0,s,!1,ebe);if(l(p))return a.cartesianToCartographic(p,Zdt).height};Fh.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)};Fh.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=l(i)&&i.hasWaterMask&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(l(c)){let u=this;a.fetchImage().then(function(f){c===u._oceanNormalMapResource.url&&(u._oceanNormalMap=u._oceanNormalMap&&u._oceanNormalMap.destroy(),u._oceanNormalMap=new Pt({context:e.context,source:f}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===ne.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.showWaterEffect=this.showWaterEffect,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.vertexShadowDarkness=this.vertexShadowDarkness,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};Fh.prototype.render=function(e){this.show&&(l(this._material)&&this._material.update(e.context),this._surface.render(e))};Fh.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)};Fh.prototype.isDestroyed=function(){return!1};Fh.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),ue(this)};var H2=Fh;var ZK={position:0};function U8(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new ce,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this._computedModelMatrix=new F,this.show=y(e.show,!0),this.material=y(e.material,Yi.fromType(Yi.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new Ze({owner:y(e._owner,this)}),this._pickCommand=new Ze({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function Qdt(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(l(t))return t;let n=Ra.createGeometry(Ra.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Ie.POSITION_ONLY}));return t=ii.fromGeometry({context:e,geometry:n,attributeLocations:ZK,bufferUsage:Be.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}U8.prototype.update=function(e){if(!this.show||e.mode!==ne.SCENE3D||!l(this.center)||!l(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!l(this._rs)||i)&&(this._translucent=n,this._rs=Ve.fromCache({cull:{enabled:!0,face:Ci.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?dn.ALPHA_BLEND:void 0})),l(this._va)||(this._va=Qdt(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let x=this._oneOverEllipsoidRadiiSquared;x.x=1/(r.x*r.x),x.y=1/(r.y*r.y),x.z=1/(r.z*r.z),o=!0}(!F.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(F.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),F.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),ce.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,u=this._useLogDepth!==c;this._useLogDepth=c;let f=this._colorCommand,d,p;(s||a||i||u)&&(d=new Ue({sources:[tv]}),p=new Ue({sources:[this.material.shaderSource,ev]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._sp=tn.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:ZK}),f.vertexArray=this._va,f.renderState=this._rs,f.shaderProgram=this._sp,f.uniformMap=Ct(this._uniforms,this.material._uniforms),f.executeInClosestFrustum=n);let g=e.commandList,m=e.passes;if(m.render&&(f.boundingVolume=this._boundingSphere,f.debugShowBoundingVolume=this.debugShowBoundingVolume,f.modelMatrix=this._computedModelMatrix,f.pass=n?ve.TRANSLUCENT:ve.OPAQUE,g.push(f)),m.pick){let x=this._pickCommand;(!l(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(s||a||!l(this._pickSP)||u)&&(d=new Ue({sources:[tv]}),p=new Ue({sources:[this.material.shaderSource,ev],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._pickSP=tn.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:ZK}),x.vertexArray=this._va,x.renderState=this._rs,x.shaderProgram=this._pickSP,x.uniformMap=Ct(Ct(this._uniforms,this._pickUniforms),this.material._uniforms),x.executeInClosestFrustum=n),x.boundingVolume=this._boundingSphere,x.modelMatrix=this._computedModelMatrix,x.pass=n?ve.TRANSLUCENT:ve.OPAQUE,g.push(x)}};U8.prototype.isDestroyed=function(){return!1};U8.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var G2=U8;function W2(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;l(t)||(t=sn("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,ee.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new G2({radii:this.ellipsoid.radii,material:Yi.fromType(Yi.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new HF}Object.defineProperties(W2.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var z8=new $,Jdt=new $,eht=new h,H8=[];W2.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;l(Lt.computeIcrfToFixedMatrix(n,z8))||Lt.computeTemeToPseudoFixedMatrix(n,z8);let i=this._axes.evaluate(n,Jdt);$.transpose(i,i),$.multiply(z8,i,i);let o=Gg.computeMoonPositionInEarthInertialFrame(n,eht);$.multiplyByVector(z8,o,o),F.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=H8,H8.length=0,t.update(e),e.commandList=r,H8.length===1?H8[0]:void 0};W2.prototype.isDestroyed=function(){return!1};W2.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),ue(this)};var j2=W2;function q2(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(q2.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function tht(e,t,n){let i=t.createViewportQuadCommand(ZF,{framebuffer:n,renderState:Ve.fromCache({viewport:new We(0,0,256,256)})});e._drawCommand=i}q2.prototype.update=function(e){if(!l(this._colorTexture)){let t=e.context,n=new Pt({context:t,width:256,height:256,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,sampler:Qt.NEAREST});this._colorTexture=n;let i=new Vr({context:t,colorTextures:[n],destroyAttachments:!1});tht(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};q2.prototype.isDestroyed=function(){return!1};q2.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),ue(this)};var Y2=q2;var obe={};function nht(e,t,n){let i,o,r;if(e instanceof Pi){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof fl)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var iht=new h,tbe=new h;function rbe(e,t,n,i){if(l(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(u){let f=n(u);if(u<=.5){let p=(f-o)/a;return P.lerp(e,-P.PI_OVER_TWO,p)}let d=(f-r)/c;return P.lerp(-P.PI_OVER_TWO,t,1-d)}}return function(o){return P.lerp(e,t,o)}}function QK(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!l(r)){let a=e.position,c=t,u=e.up,f=e.right,d=e.frustum,p=h.subtract(a,c,iht),g=h.magnitude(h.multiplyByScalar(u,h.dot(p,u),tbe)),m=h.magnitude(h.multiplyByScalar(f,h.dot(p,f),tbe));r=Math.min(nht(d,g,m)*.2,1e9)}if(s<r){let u=-Math.pow((r-n)*1e6,.125),f=Math.pow((r-i)*1e6,1/8);return function(d){let p=d*(f-u)+u;return-Math.pow(p,8)/1e6+r}}return function(a){return P.lerp(n,i,a)}}function X2(e,t){return P.equalsEpsilon(e,P.TWO_PI,P.EPSILON11)&&(e=0),t>e+Math.PI?e+=P.TWO_PI:t<e-Math.PI&&(e-=P.TWO_PI),e}var sbe=new h;function oht(e,t,n,i,o,r,s,a){let c=e.camera,u=h.clone(c.position,sbe),f=c.pitch,d=X2(c.heading,i),p=X2(c.roll,r),g=QK(c,n,u.z,n.z,s),m=rbe(f,o,g,a);function x(b){let T=b.time/t;c.setView({orientation:{heading:P.lerp(d,i,T),pitch:m(T),roll:P.lerp(p,r,T)}}),z.lerp(u,n,T,c.position),c.position.z=g(T)}return x}function rht(e,t){e.longitude<t.longitude?e.longitude+=P.TWO_PI:t.longitude+=P.TWO_PI}function sht(e,t){let n=e.longitude-t.longitude;n<-P.PI?e.longitude+=P.TWO_PI:n>P.PI&&(t.longitude+=P.TWO_PI)}var aht=new fe,cht=new fe;function lht(e,t,n,i,o,r,s,a,c,u){let f=e.camera,p=e.mapProjection.ellipsoid,g=fe.clone(f.positionCartographic,aht),m=f.pitch,x=X2(f.heading,i),b=X2(f.roll,r),T=p.cartesianToCartographic(n,cht);g.longitude=P.zeroToTwoPi(g.longitude),T.longitude=P.zeroToTwoPi(T.longitude);let A=!1;if(l(a)){let D=P.zeroToTwoPi(a),O=Math.min(g.longitude,T.longitude),R=Math.max(g.longitude,T.longitude),M=D>=O&&D<=R;if(l(c)){let N=Math.abs(g.longitude-T.longitude),_=P.TWO_PI-N;(M?N:_)<(M?_:N)*c&&!M&&(A=!0)}else M||(A=!0)}A?rht(g,T):sht(g,T);let C=QK(f,n,g.height,T.height,s),E=rbe(m,o,C,u);function v(){let D=g.longitude,O=T.longitude,R=g.latitude,M=T.latitude;return function(_){let S=_.time/t,w=h.fromRadians(P.lerp(D,O,S),P.lerp(R,M,S),C(S),p);f.setView({destination:w,orientation:{heading:P.lerp(x,i,S),pitch:E(S),roll:P.lerp(b,r,S)}})}}return v()}function uht(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,sbe),u=X2(a.heading,i),f=a.frustum.right-a.frustum.left,d=QK(a,n,f,n.z,s);function p(g){let m=g.time/t;a.setView({orientation:{heading:P.lerp(u,i,m)}}),z.lerp(c,n,m,a.position);let x=d(m),b=a.frustum,T=b.top/b.right,A=(x-(b.right-b.left))*.5;b.right+=A,b.left-=A,b.top=T*b.right,b.bottom=-b.top}return p}var nbe=new fe,fht=new h;function $K(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function ibe(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}obe.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===ne.MORPHING)return $K();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,u=t.flyOverLongitudeWeight,f=t.pitchAdjustHeight,d=t.easingFunction;o&&i!==ne.SCENE3D&&(s.cartesianToCartographic(n,nbe),n=r.project(nbe,fht));let p=e.camera,g=t.endTransform;l(g)&&p._setTransform(g);let m=t.duration;l(m)||(m=Math.ceil(h.distance(p.position,n)/1e6)+2,m=Math.min(m,3));let x=y(t.heading,0),b=y(t.pitch,-P.PI_OVER_TWO),T=y(t.roll,0),A=e.screenSpaceCameraController;A.enableInputs=!1;let C=ibe(A,t.complete),E=ibe(A,t.cancel),v=p.frustum,D=e.mode===ne.SCENE2D;if(D=D&&z.equalsEpsilon(p.position,n,P.EPSILON6),D=D&&P.equalsEpsilon(Math.max(v.right-v.left,v.top-v.bottom),n.z,P.EPSILON6),D=D||e.mode!==ne.SCENE2D&&h.equalsEpsilon(n,p.position,P.EPSILON10),D=D&&P.equalsEpsilon(P.negativePiToPi(x),P.negativePiToPi(p.heading),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(b),P.negativePiToPi(p.pitch),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(T),P.negativePiToPi(p.roll),P.EPSILON10),D)return $K(C,E);let O=new Array(4);if(O[ne.SCENE2D]=uht,O[ne.SCENE3D]=lht,O[ne.COLUMBUS_VIEW]=oht,m<=0)return $K(function(){O[i](e,1,n,x,b,T,a,c,u,f)({time:1}),typeof C=="function"&&C()},E);let R=O[i](e,m,n,x,b,T,a,c,u,f);if(!l(d)){let M=p.positionCartographic.height,N=i===ne.SCENE3D?s.cartesianToCartographic(n).height:n.z;M>N&&M>11500?d=Jr.CUBIC_OUT:d=Jr.QUINTIC_IN_OUT}return{duration:m,easingFunction:d,startObject:{time:0},stopObject:{time:m},update:R,complete:C,cancel:E}};var K2=obe;var dht={ROTATE:0,INFINITE_SCROLL:1},$l=Object.freeze(dht);function on(e){this._scene=e,this._transform=F.clone(F.IDENTITY),this._invTransform=F.clone(F.IDENTITY),this._actualTransform=F.clone(F.IDENTITY),this._actualInvTransform=F.clone(F.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new fe,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new Pi,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new me,this._moveEnd=new me,this._changed=new me,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this._changedRoll=void 0,this.percentageChanged=.5,this._viewMatrix=new F,this._invViewMatrix=new F,mbe(this),this._mode=ne.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new fe(Math.PI,P.PI_OVER_TWO)),this._max2Dfrustum=void 0,vbe(this,on.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*on.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}on.TRANSFORM_2D=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);on.TRANSFORM_2D_INVERSE=F.inverseTransformation(on.TRANSFORM_2D,new F);on.DEFAULT_VIEW_RECTANGLE=ae.fromDegrees(-95,-20,-70,90);on.DEFAULT_VIEW_FACTOR=.5;on.DEFAULT_OFFSET=new td(0,-P.PI_OVER_FOUR,0);function mbe(e){F.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),F.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),F.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function hht(e){if(!l(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=Ei()):e.timeSinceMoved=Math.max(Ei()-e._lastMovedTimestamp,0)/1e3}}on.prototype.canPreloadFlight=function(){return l(this._currentFlight)&&this._mode!==ne.SCENE2D};on.prototype._updateCameraChanged=function(){let e=this;if(hht(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;l(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%P.TWO_PI;i=i>P.PI?P.TWO_PI-i:i;let o=i/Math.PI;o>t&&(e._changedHeading=n);let r=e.roll;l(e._changedRoll)||(e._changedRoll=r);let s=Math.abs(e._changedRoll-r)%P.TWO_PI;s=s>P.PI?P.TWO_PI-s:s;let a=s/Math.PI;if(a>t&&(e._changedRoll=r),(a>t||o>t)&&e._changed.raiseEvent(Math.max(a,o)),e._mode===ne.SCENE2D){if(!l(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let p=e.position,g=e._changedPosition,m=e.frustum,x=e._changedFrustum,b=p.x+m.left,T=p.x+m.right,A=g.x+x.left,C=g.x+x.right,E=p.y+m.bottom,v=p.y+m.top,D=g.y+x.bottom,O=g.y+x.top,R=Math.max(b,A),M=Math.min(T,C),N=Math.max(E,D),_=Math.min(v,O),S;if(R>=M||N>=v)S=1;else{let w=x;b<A&&T>C&&E<D&&v>O&&(w=m),S=1-(M-R)*(_-N)/((w.right-w.left)*(w.top-w.bottom))}S>t&&(e._changed.raiseEvent(S),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!l(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let c=P.acosClamped(h.dot(e.directionWC,e._changedDirection)),u;l(e.frustum.fovy)?u=c/(e.frustum.fovy*.5):u=c;let d=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(u>t||d>t)&&(e._changed.raiseEvent(Math.max(u,d)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function mht(e){Lt.basisTo2D(e._projection,e._transform,e._actualTransform)}var pht=new fe,_ht=new h,G8=new h,ght=new ie,yht=new ie,xht=new ie,bht=new ie,Tht=new ie;function Cht(e){let t=e._projection,n=t.ellipsoid,i=F.getColumn(e._transform,3,ght),o=n.cartesianToCartographic(i,pht),r=t.project(o,_ht),s=yht;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=ie.clone(ie.UNIT_X,Tht),c=ie.add(F.getColumn(e._transform,0,G8),i,G8);n.cartesianToCartographic(c,o),t.project(o,r);let u=xht;u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,h.subtract(u,s,u),u.x=0;let f=bht;if(h.magnitudeSquared(u)>P.EPSILON10)h.cross(a,u,f);else{let d=ie.add(F.getColumn(e._transform,1,G8),i,G8);n.cartesianToCartographic(d,o),t.project(o,r),f.x=r.z,f.y=r.x,f.z=r.y,f.w=0,h.subtract(f,s,f),f.x=0,h.magnitudeSquared(f)<P.EPSILON10&&(ie.clone(ie.UNIT_Y,u),ie.clone(ie.UNIT_Z,f))}h.cross(f,a,u),h.normalize(u,u),h.cross(a,u,f),h.normalize(f,f),F.setColumn(e._actualTransform,0,u,e._actualTransform),F.setColumn(e._actualTransform,1,f,e._actualTransform),F.setColumn(e._actualTransform,2,a,e._actualTransform),F.setColumn(e._actualTransform,3,s,e._actualTransform)}var JK=new h;function Rc(e){let t=e._mode,n=!1,i=0;t===ne.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position,r=!h.equals(o,e.position)||n;r&&(o=h.clone(e.position,e._position));let s=e._direction,a=!h.equals(s,e.direction);a&&(h.normalize(e.direction,e.direction),s=h.clone(e.direction,e._direction));let c=e._up,u=!h.equals(c,e.up);u&&(h.normalize(e.up,e.up),c=h.clone(e.up,e._up));let f=e._right,d=!h.equals(f,e.right);d&&(h.normalize(e.right,e.right),f=h.clone(e.right,e._right));let p=e._transformChanged||e._modeChanged;e._transformChanged=!1,p&&(F.inverseTransformation(e._transform,e._invTransform),e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D?F.equals(F.IDENTITY,e._transform)?F.clone(on.TRANSFORM_2D,e._actualTransform):e._mode===ne.COLUMBUS_VIEW?mht(e):Cht(e):F.clone(e._transform,e._actualTransform),F.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);let g=e._actualTransform;if(r||p)if(e._positionWC=F.multiplyByPoint(g,o,e._positionWC),t===ne.SCENE3D||t===ne.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{let m=JK;m.x=e._positionWC.y,m.y=e._positionWC.z,m.z=e._positionWC.x,t===ne.SCENE2D&&(m.z=i),e._projection.unproject(m,e._positionCartographic)}if(a||u||d){let m=h.dot(s,h.cross(c,f,JK));if(Math.abs(1-m)>P.EPSILON2){let x=1/h.magnitudeSquared(c),b=h.dot(c,s)*x,T=h.multiplyByScalar(s,b,JK);c=h.normalize(h.subtract(c,T,e._up),e._up),h.clone(c,e.up),f=h.cross(s,c,e._right),h.clone(f,e.right)}}(a||p)&&(e._directionWC=F.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(u||p)&&(e._upWC=F.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(d||p)&&(e._rightWC=F.multiplyByPointAsVector(g,f,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||u||d||p)&&mbe(e)}function pbe(e,t){let n;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)?n=Math.atan2(t.y,t.x)-P.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-P.PI_OVER_TWO,P.TWO_PI-P.zeroToTwoPi(n)}function _be(e){return P.PI_OVER_TWO-P.acosClamped(e.z)}function gbe(e,t,n){let i=0;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=P.zeroToTwoPi(i+P.TWO_PI)),i}var q8=new F,Y8=new F;Object.defineProperties(on.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return Rc(this),this._invTransform}},viewMatrix:{get:function(){return Rc(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return Rc(this),this._invViewMatrix}},positionCartographic:{get:function(){return Rc(this),this._positionCartographic}},positionWC:{get:function(){return Rc(this),this._positionWC}},directionWC:{get:function(){return Rc(this),this._directionWC}},upWC:{get:function(){return Rc(this),this._upWC}},rightWC:{get:function(){return Rc(this),this._rightWC}},heading:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,q8),n=Lt.eastNorthUpToFixedFrame(this.positionWC,e,Y8);this._setTransform(n);let i=pbe(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,q8),n=Lt.eastNorthUpToFixedFrame(this.positionWC,e,Y8);this._setTransform(n);let i=_be(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,q8),n=Lt.eastNorthUpToFixedFrame(this.positionWC,e,Y8);this._setTransform(n);let i=gbe(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});on.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==ne.MORPHING,t=this._mode===ne.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===ne.SCENE2D&&Tbe(this,this.position)};var Aht=new h,Eht=new h,Sht=new h;on.prototype._setTransform=function(e){let t=h.clone(this.positionWC,Aht),n=h.clone(this.upWC,Eht),i=h.clone(this.directionWC,Sht);F.clone(e,this._transform),this._transformChanged=!0,Rc(this);let o=this._actualInvTransform;F.multiplyByPoint(o,t,this.position),F.multiplyByPointAsVector(o,i,this.direction),F.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),Rc(this)};var vht=new z,wht=new yn,Dht=new h,Iht=new h;function ybe(e){if(!F.equals(F.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=vht;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(l(n)){let a=e.getPickRay(i,wht);o=n.pickWorldCoordinates(a,t,!0,Dht)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,Iht));let s;if(l(o)||l(r)){let a=l(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=l(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}on.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof cn&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=ybe(this)))};var X8=new h,oZ=new F,Pht=new F,rZ=new Le,sZ=new $,xbe=new fe;function Rht(e,t,n){let i=F.clone(e.transform,oZ),o=Lt.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,Pht);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,rZ),s=$.fromQuaternion(r,sZ);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function Oht(e,t,n,i){let o=F.clone(e.transform,oZ);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,xbe);t=a.project(c,X8)}h.clone(t,e.position)}n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,rZ),s=$.fromQuaternion(r,sZ);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function Mht(e,t,n,i){let o=F.clone(e.transform,oZ);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,u=c.ellipsoid.cartesianToCartographic(t,xbe);t=c.project(u,X8)}z.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===$l.ROTATE){n.heading=n.heading-P.PI_OVER_TWO,n.pitch=-P.PI_OVER_TWO,n.roll=0;let r=Le.fromHeadingPitchRoll(n,rZ),s=$.fromQuaternion(r,sZ);$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var Lht=new h,Nht=new h,Fht=new h;function bbe(e,t,n,i){let o=h.clone(n.direction,Lht),r=h.clone(n.up,Nht);if(e._scene.mode===ne.SCENE3D){let a=e._projection.ellipsoid,c=Lt.eastNorthUpToFixedFrame(t,a,q8),u=F.inverseTransformation(c,Y8);F.multiplyByPointAsVector(u,o,o),F.multiplyByPointAsVector(u,r,r)}let s=h.cross(o,r,Fht);return i.heading=pbe(o,r),i.pitch=_be(o),i.roll=gbe(o,r,s),i}var iZ={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},xv=new Da;on.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===ne.MORPHING)return;l(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,X8));l(o)&&l(o.west)&&(o=this.getRectangleCameraCoordinates(o,X8),i=!1),l(t.direction)&&(t=bbe(this,o,t,iZ.orientation)),xv.heading=y(t.heading,0),xv.pitch=y(t.pitch,-P.PI_OVER_TWO),xv.roll=y(t.roll,0),n===ne.SCENE3D?Rht(this,o,xv):n===ne.SCENE2D?Mht(this,o,xv,i):Oht(this,o,xv,i)};var Bht=new h;on.prototype.flyHome=function(e){let t=this._mode;if(t===ne.MORPHING&&this._scene.completeMorph(),t===ne.SCENE2D)this.flyTo({destination:on.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:F.IDENTITY});else if(t===ne.SCENE3D){let n=this.getRectangleCameraCoordinates(on.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*on.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:F.IDENTITY})}else if(t===ne.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,Bht).z),roll:0},endTransform:F.IDENTITY,convert:!1})}};on.prototype.worldToCameraCoordinates=function(e,t){return l(t)||(t=new ie),Rc(this),F.multiplyByVector(this._actualInvTransform,e,t)};on.prototype.worldToCameraCoordinatesPoint=function(e,t){return l(t)||(t=new h),Rc(this),F.multiplyByPoint(this._actualInvTransform,e,t)};on.prototype.worldToCameraCoordinatesVector=function(e,t){return l(t)||(t=new h),Rc(this),F.multiplyByPointAsVector(this._actualInvTransform,e,t)};on.prototype.cameraToWorldCoordinates=function(e,t){return l(t)||(t=new ie),Rc(this),F.multiplyByVector(this._actualTransform,e,t)};on.prototype.cameraToWorldCoordinatesPoint=function(e,t){return l(t)||(t=new h),Rc(this),F.multiplyByPoint(this._actualTransform,e,t)};on.prototype.cameraToWorldCoordinatesVector=function(e,t){return l(t)||(t=new h),Rc(this),F.multiplyByPointAsVector(this._actualTransform,e,t)};function Tbe(e,t){let n=e._scene.mapMode2D===$l.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var abe=new h;on.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,abe),h.add(n,abe,n),this._mode===ne.SCENE2D&&Tbe(this,n),this._adjustOrthographicFrustum(!0)};on.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?K8(this,e):this.move(this.direction,e)};on.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?K8(this,-e):this.move(this.direction,-e)};on.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};on.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};on.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};on.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};on.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,-e)};on.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,e)};on.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,-e)};on.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,e)};var kht=new Le,Vht=new $;on.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Le.fromAxisAngle(e,-n,kht),o=$.fromQuaternion(i,Vht),r=this.direction,s=this.up,a=this.right;$.multiplyByVector(o,r,r),$.multiplyByVector(o,s,s),$.multiplyByVector(o,a,a)};on.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};on.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var Uht=new Le,zht=new $;on.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Le.fromAxisAngle(e,-n,Uht),o=$.fromQuaternion(i,zht);$.multiplyByVector(o,this.position,this.position),$.multiplyByVector(o,this.direction,this.direction),$.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};on.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),Cbe(this,e)};on.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),Cbe(this,-e)};var Hht=new h,Ght=new h,Wht=new h,cbe=new h;function Cbe(e,t){let n=e.position;if(l(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,P.EPSILON2)){let i=h.normalize(n,Hht),o=h.equalsEpsilon(i,e.constrainedAxis,P.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,cbe),P.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,Ght),a=h.dot(i,s),c=P.acosClamped(a);t>0&&t>c&&(t=c-P.EPSILON4),a=h.dot(i,h.negate(s,cbe)),c=P.acosClamped(a),t<0&&-t>c&&(t=-c+P.EPSILON4);let u=h.cross(s,i,Wht);e.rotate(u,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}on.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),Abe(this,-e)};on.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),Abe(this,e)};function Abe(e,t){l(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function K8(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===$l.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===$l.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function Ebe(e,t){e.move(e.direction,t)}on.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?K8(this,e):Ebe(this,e)};on.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?K8(this,-e):Ebe(this,-e)};on.prototype.getMagnitude=function(){if(this._mode===ne.SCENE3D)return h.magnitude(this.position);if(this._mode===ne.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===ne.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var jht=new F;on.prototype.lookAt=function(e,t){let n=this._scene,i=y(n.ellipsoid,ee.default),o=Lt.eastNorthUpToFixedFrame(e,i,jht);this.lookAtTransform(o,t)};var qht=new h,Yht=new Le,Xht=new Le,Kht=new $;function Sbe(e,t,n){t=P.clamp(t,-P.PI_OVER_TWO,P.PI_OVER_TWO),e=P.zeroToTwoPi(e)-P.PI_OVER_TWO;let i=Le.fromAxisAngle(h.UNIT_Y,-t,Yht),o=Le.fromAxisAngle(h.UNIT_Z,-e,Xht),r=Le.multiply(o,i,o),s=$.fromQuaternion(r,Kht),a=h.clone(h.UNIT_X,qht);return $.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}on.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!l(t))return;let n;if(l(t.heading)?n=Sbe(t.heading,t.pitch,t.range):n=t,this._mode===ne.SCENE2D){z.clone(z.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)<P.EPSILON10&&h.clone(h.UNIT_Y,this.up),h.normalize(this.up,this.up),this._setTransform(F.IDENTITY),h.negate(h.UNIT_Z,this.direction),h.cross(this.direction,this.up,this.right),h.normalize(this.right,this.right);let i=this.frustum,o=i.top/i.right;i.right=h.magnitude(n)*.5,i.left=-i.right,i.top=o*i.right,i.bottom=-i.top,this._setTransform(e);return}h.clone(n,this.position),h.negate(this.position,this.direction),h.normalize(this.direction,this.direction),h.cross(this.direction,h.UNIT_Z,this.right),h.magnitudeSquared(this.right)<P.EPSILON10&&h.clone(h.UNIT_X,this.right),h.normalize(this.right,this.right),h.cross(this.right,this.direction,this.up),h.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};var Z2=new fe,Zht=new fe,$ht=new h,Qht=new h,Jht=new h,emt=new h,tmt=new h,nmt=new h,imt=new h,eZ=new h,omt={direction:new h,right:new h,up:new h},lbe;function Pc(e,t,n,i){return Math.abs(h.dot(t,n))/i-h.dot(e,n)}function vbe(e,t,n,i){let o=e._projection.ellipsoid,r=i?e:omt,{north:s,south:a,west:c}=t,{east:u}=t;c>u&&(u+=P.TWO_PI);let f=(c+u)*.5,d;if(a<-P.PI_OVER_TWO+P.RADIANS_PER_DEGREE&&s>P.PI_OVER_TWO-P.RADIANS_PER_DEGREE)d=0;else{let M=Z2;M.longitude=f,M.latitude=s,M.height=0;let N=Zht;N.longitude=f,N.latitude=a,N.height=0;let _=lbe;(!l(_)||_.ellipsoid!==o)&&(lbe=_=new Mp(void 0,void 0,o)),_.setEndPoints(M,N),d=_.interpolateUsingFraction(.5,Z2).latitude}let p=Z2;p.longitude=f,p.latitude=d,p.height=0;let g=o.cartographicToCartesian(p,imt),m=Z2;m.longitude=u,m.latitude=s;let x=o.cartographicToCartesian(m,$ht);m.longitude=c;let b=o.cartographicToCartesian(m,Jht);m.longitude=f;let T=o.cartographicToCartesian(m,tmt);m.latitude=a;let A=o.cartographicToCartesian(m,nmt);m.longitude=u;let C=o.cartographicToCartesian(m,emt);m.longitude=c;let E=o.cartographicToCartesian(m,Qht);h.subtract(b,g,b),h.subtract(C,g,C),h.subtract(x,g,x),h.subtract(E,g,E),h.subtract(T,g,T),h.subtract(A,g,A);let v=o.geodeticSurfaceNormal(g,r.direction);h.negate(v,v);let D=h.cross(v,h.UNIT_Z,r.right);h.normalize(D,D);let O=h.cross(D,v,r.up),R;if(e.frustum instanceof cn){let M=Math.max(h.distance(x,b),h.distance(C,E)),N=Math.max(h.distance(x,C),h.distance(b,E)),_,S,w=e.frustum._offCenterFrustum,I=w.right/w.top,L=N*I;M>L?(_=M,S=_/I):(S=N,_=L),R=Math.max(_,S)}else{let M=Math.tan(e.frustum.fovy*.5),N=e.frustum.aspectRatio*M;if(R=Math.max(Pc(v,O,b,M),Pc(v,O,C,M),Pc(v,O,x,M),Pc(v,O,E,M),Pc(v,O,T,M),Pc(v,O,A,M),Pc(v,D,b,N),Pc(v,D,C,N),Pc(v,D,x,N),Pc(v,D,E,N),Pc(v,D,T,N),Pc(v,D,A,N)),a<0&&s>0){let _=Z2;_.longitude=c,_.latitude=0,_.height=0;let S=o.cartographicToCartesian(_,eZ);h.subtract(S,g,S),R=Math.max(R,Pc(v,O,S,M),Pc(v,D,S,N)),_.longitude=u,S=o.cartographicToCartesian(_,eZ),h.subtract(S,g,S),R=Math.max(R,Pc(v,O,S,M),Pc(v,D,S,N))}}return h.add(g,h.multiplyByScalar(v,-R,eZ),n)}var rmt=new fe,smt=new h,amt=new h;function cmt(e,t,n){let i=e._projection;t.west>t.east&&(t=ae.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=rmt;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,smt);F.multiplyByPoint(o,a,a),F.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,amt);if(F.multiplyByPoint(o,c,c),F.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,l(e.frustum.fovy)){let u=Math.tan(e.frustum.fovy*.5),f=e.frustum.aspectRatio*u;n.z=Math.max((a.x-c.x)/f,(a.y-c.y)/u)*.5}else{let u=a.x-c.x,f=a.y-c.y;n.z=Math.max(u,f)}return n}var lmt=new fe,umt=new h,fmt=new h;function dmt(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===$l.INFINITE_SCROLL?o+=P.TWO_PI:(t=ae.MAX_VALUE,o=t.east));let r=lmt;r.longitude=o,r.latitude=t.north;let s=i.project(r,umt);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,fmt),c=Math.abs(s.x-a.x)*.5,u=Math.abs(s.y-a.y)*.5,f,d,p=e.frustum.right/e.frustum.top,g=u*p;return c>g?(f=c,d=f/p):(d=u,f=g),u=Math.max(2*f,2*d),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=u,n=i.project(r,n),n}on.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(l(t)||(t=new h),n===ne.SCENE3D)return vbe(this,e,t);if(n===ne.COLUMBUS_VIEW)return cmt(this,e,t);if(n===ne.SCENE2D)return dmt(this,e,t)};var hmt=new yn;function mmt(e,t,n,i){n=y(n,ee.default);let o=e.getPickRay(t,hmt),r=ei.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return yn.getPoint(o,s,i)}var pmt=new yn;function _mt(e,t,n,i){let r=e.getPickRay(t,pmt).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var gmt=new yn;function ymt(e,t,n,i){let o=e.getPickRay(t,gmt),r=-o.origin.x/o.direction.x;yn.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}on.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(l(n)||(n=new h),t=y(t,ee.default),this._mode===ne.SCENE3D)n=mmt(this,e,t,n);else if(this._mode===ne.SCENE2D)n=_mt(this,e,this._projection,n);else if(this._mode===ne.COLUMBUS_VIEW)n=ymt(this,e,this._projection,n);else return;return n}};var xmt=new h,bmt=new h,Tmt=new h;function Cmt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,u=2/o*t.x-1,f=2/r*(r-t.y)-1,d=e.positionWC;h.clone(d,n.origin);let p=h.multiplyByScalar(e.directionWC,c,xmt);h.add(d,p,p);let g=h.multiplyByScalar(e.rightWC,u*c*a,bmt),m=h.multiplyByScalar(e.upWC,f*c*s,Tmt),x=h.add(p,g,n.direction);return h.add(x,m,x),h.subtract(x,d,x),h.normalize(x,x),n}var W8=new h;function Amt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2/o*t.x-1;c*=(s.right-s.left)*.5;let u=2/r*(r-t.y)-1;u*=(s.top-s.bottom)*.5;let f=n.origin;return h.clone(e.position,f),h.multiplyByScalar(e.right,c,W8),h.add(W8,f,f),h.multiplyByScalar(e.up,u,W8),h.add(W8,f,f),h.clone(e.directionWC,n.direction),(e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}on.prototype.getPickRay=function(e,t){l(t)||(t=new yn);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return l(i.aspectRatio)&&l(i.fov)&&l(i.near)?Cmt(this,e,t):Amt(this,e,t)};var Emt=new h,Smt=new h;on.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,Emt),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),Smt);return Math.max(0,h.magnitude(n)-e.radius)};var vmt=new z;on.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,vmt);return Math.max(o.x,o.y)};function wmt(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let u=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(u,e.position)}return{easingFunction:Jr.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var Dmt=new h,ube=new h,Imt=new h,Pmt=new h;function Rmt(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,Dmt),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,ube),ube);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,Imt);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,u=h.magnitude(h.subtract(n,s,Pmt)),f=c*u,d=a*u,p=e._maxCoord.x,g=e._maxCoord.y,m=Math.max(f-p,p),x=Math.max(d-g,g);if(n.z<-m||n.z>m||n.y<-x||n.y>x){let b=s.y<-m||s.y>m,T=s.z<-x||s.z>x;if(b||T)return wmt(e,n,s,m,x,t)}}on.prototype.createCorrectPositionTween=function(e){if(this._mode===ne.COLUMBUS_VIEW)return Rmt(this,e)};var Omt=new h,aa={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};on.prototype.cancelFlight=function(){l(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};on.prototype.completeFlight=function(){if(l(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=aa.destination,e.orientation.heading=aa.heading,e.orientation.pitch=aa.pitch,e.orientation.roll=aa.roll,this.setView(e),l(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};on.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===ne.MORPHING)return;this.cancelFlight();let i=t instanceof ae;i&&(t=this.getRectangleCameraCoordinates(t,Omt));let o=y(e.orientation,y.EMPTY_OBJECT);if(l(o.direction)&&(o=bbe(this,t,o,iZ.orientation)),l(e.duration)&&e.duration<=0){let f=iZ;f.destination=e.destination,f.orientation.heading=o.heading,f.orientation.pitch=o.pitch,f.orientation.roll=o.roll,f.convert=e.convert,f.endTransform=e.endTransform,this.setView(f),typeof e.complete=="function"&&e.complete();return}let r=this,s;aa.destination=t,aa.heading=o.heading,aa.pitch=o.pitch,aa.roll=o.roll,aa.duration=e.duration,aa.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),l(e.complete)&&e.complete()},aa.cancel=e.cancel,aa.endTransform=e.endTransform,aa.convert=i?!1:e.convert,aa.maximumHeight=e.maximumHeight,aa.pitchAdjustHeight=e.pitchAdjustHeight,aa.flyOverLongitude=e.flyOverLongitude,aa.flyOverLongitudeWeight=e.flyOverLongitudeWeight,aa.easingFunction=e.easingFunction;let a=this._scene,c=K2.createTween(a,aa);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let u=this._scene.preloadFlightCamera;this._mode!==ne.SCENE2D&&(l(u)||(u=on.clone(this)),u.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=u.frustum.computeCullingVolume(u.positionWC,u.directionWC,u.upWC))};function Mmt(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function Lmt(e,t){let n=e.frustum,i=n.offCenterFrustum;l(i)&&(n=i);let o,r,s=n.right/n.top,a=t*s;return t>a?(o=t,r=o/s):(r=t,o=a),Math.max(o,r)*1.5}var Nmt=100;function wbe(e,t,n){n=td.clone(l(n)?n:on.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!l(r)||r===0){let s=t.radius;s===0?n.range=Nmt:e.frustum instanceof cn||e._mode===ne.SCENE2D?n.range=Lmt(e,s):n.range=Mmt(e,s),n.range=P.clamp(n.range,i,o)}return n}on.prototype.viewBoundingSphere=function(e,t){t=wbe(this,e,t),this.lookAt(e.center,t)};var Fmt=new F,Bmt=new h,kmt=new h,Vmt=new h,Umt=new h,zmt=new ie,Hmt=new Le,Gmt=new $;on.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===ne.SCENE2D||this._mode===ne.COLUMBUS_VIEW;this._setTransform(F.IDENTITY);let i=wbe(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,Bmt):o=Sbe(i.heading,i.pitch,i.range);let r=this._scene,s=y(r.ellipsoid,ee.default),a=Lt.eastNorthUpToFixedFrame(e.center,s,Fmt);F.multiplyByPoint(a,o,o);let c,u;if(!n){if(c=h.subtract(e.center,o,kmt),h.normalize(c,c),u=F.multiplyByPointAsVector(a,h.UNIT_Z,Vmt),1-Math.abs(h.dot(c,u))<P.EPSILON6){let d=Le.fromAxisAngle(c,i.heading,Hmt),p=$.fromQuaternion(d,Gmt);h.fromCartesian4(F.getColumn(a,1,zmt),u),$.multiplyByVector(p,u,u)}let f=h.cross(c,u,Umt);h.cross(f,c,u),h.normalize(u,u)}this.flyTo({destination:o,orientation:{direction:c,up:u},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var fbe=new h,dbe=new h,tZ=new h,hbe=new h,$2=[new h,new h,new h,new h];function Wmt(e,t){let n=t.radii,i=e.positionWC,o=h.multiplyComponents(t.oneOverRadii,i,fbe),r=h.magnitude(o),s=h.normalize(o,dbe),a,c;h.equalsEpsilon(s,h.UNIT_Z,P.EPSILON10)?(a=new h(0,1,0),c=new h(0,0,1)):(a=h.normalize(h.cross(h.UNIT_Z,s,tZ),tZ),c=h.normalize(h.cross(s,a,hbe),hbe));let u=Math.sqrt(h.magnitudeSquared(o)-1),f=h.multiplyByScalar(s,1/r,fbe),d=u/r,p=h.multiplyByScalar(a,d,dbe),g=h.multiplyByScalar(c,d,tZ),m=h.add(f,g,$2[0]);h.subtract(m,p,m),h.multiplyComponents(n,m,m);let x=h.subtract(f,g,$2[1]);h.subtract(x,p,x),h.multiplyComponents(n,x,x);let b=h.subtract(f,g,$2[2]);h.add(b,p,b),h.multiplyComponents(n,b,b);let T=h.add(f,g,$2[3]);return h.add(T,p,T),h.multiplyComponents(n,T,T),$2}var nZ=new z,jmt=new h,k0=[new fe,new fe,new fe,new fe];function j8(e,t,n,i,o,r){nZ.x=e,nZ.y=t;let s=i.pickEllipsoid(nZ,o,jmt);return l(s)?(k0[n]=o.cartesianToCartographic(s,k0[n]),1):(k0[n]=o.cartesianToCartographic(r[n],k0[n]),0)}on.prototype.computeViewRectangle=function(e,t){e=y(e,ee.default);let n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new ce(h.ZERO,e.maximumRadius);if(n.computeVisibility(i)===qt.OUTSIDE)return;let r=this._scene.canvas,s=r.clientWidth,a=r.clientHeight,c=0,u=Wmt(this,e);if(c+=j8(0,0,0,this,e,u),c+=j8(0,a,1,this,e,u),c+=j8(s,a,2,this,e,u),c+=j8(s,0,3,this,e,u),c<2)return ae.MAX_VALUE;t=ae.fromCartographicArray(k0,t);let f=0,d=k0[3].longitude;for(let p=0;p<4;++p){let g=k0[p].longitude,m=Math.abs(g-d);m>P.PI?f+=P.TWO_PI-m:f+=m,d=g}return P.equalsEpsilon(Math.abs(f),P.TWO_PI,P.EPSILON9)&&(t.west=-P.PI,t.east=P.PI,k0[0].latitude>=0?t.north=P.PI_OVER_TWO:t.south=-P.PI_OVER_TWO),t};on.prototype.switchToPerspectiveFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof Pi)return;let e=this._scene;this.frustum=new Pi,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60)};on.prototype.switchToOrthographicFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof cn)return;let e=ybe(this),t=this._scene;this.frustum=new cn,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};on.clone=function(e,t){return l(t)||(t=new on(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),F.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var uo=on;function qmt(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var fd=qmt;var Obe=Wo(ou(),1),Dbe=576,Ymt=100,Q2="#ffffff",Z8="#48b";function Mbe(e,t){this.credit=e,this.count=y(t,1)}function Xmt(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(At.equals(o,t))return!0}return!1}function Kmt(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;At.equals(n,t)||(l(t)&&e._cesiumCreditContainer.removeChild(t.element),l(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var Lbe="cesium-credit-delimiter";function Ibe(e){let t=document.createElement("span");return t.textContent=e,t.className=Lbe,t}function Pbe(e,t){if(l(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function Rbe(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(l(a)){if(r=s,l(n)&&(r*=2,s>0)){let u=r-1;if(o.length<=u)e.appendChild(Ibe(n));else{let f=o[u];f.className!==Lbe&&e.replaceChild(Ibe(n),f)}}let c=a.element;if(o.length<=r)e.appendChild(Pbe(c,i));else{let u=o[r];u._creditId!==a._id&&e.replaceChild(Pbe(c,i),u)}}}for(++r;r<o.length;)e.removeChild(o[r])}function Zmt(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<Dbe?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=Dbe&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function $mt(e){let t=` +.cesium-credit-lightbox-overlay { + display: none; + z-index: 1; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(80, 80, 80, 0.8); +} + +.cesium-credit-lightbox { + background-color: #303336; + color: ${Q2}; + position: relative; + min-height: ${Ymt}px; + margin: auto; +} +.cesium-credit-lightbox > ul > li a, +.cesium-credit-lightbox > ul > li a:visited, +.cesium-credit-wrapper a, +.cesium-credit-wrapper a:visited { + color: ${Q2}; +} +.cesium-credit-lightbox > ul > li a:hover { + color: ${Z8}; +} +.cesium-credit-lightbox.cesium-credit-lightbox-expanded { + border: 1px solid #444; + border-radius: 5px; + max-width: 370px; +} +.cesium-credit-lightbox.cesium-credit-lightbox-mobile { + height: 100%; + width: 100%; +} +.cesium-credit-lightbox-title { + padding: 20px 20px 0 20px; +} +.cesium-credit-lightbox-close { + font-size: 18pt; + cursor: pointer; + position: absolute; + top: 0; + right: 6px; + color: ${Q2}; +} +.cesium-credit-lightbox-close:hover { + color: ${Z8}; +} +.cesium-credit-lightbox > ul { + margin: 0; + padding: 12px 20px 12px 40px; + font-size: 13px; +} +.cesium-credit-lightbox > ul > li { + padding-bottom: 6px; +} +.cesium-credit-lightbox > ul > li * { + padding: 0; + margin: 0; +} + +.cesium-credit-expand-link { + padding-left: 5px; + cursor: pointer; + text-decoration: underline; + color: ${Q2}; +} +.cesium-credit-expand-link:hover { + color: ${Z8}; +} + +.cesium-credit-text { + color: ${Q2}; +} + +.cesium-credit-delimiter { + padding: 0 5px; +} + +.cesium-credit-textContainer *, +.cesium-credit-logoContainer * { + display: inline; +} + +.cesium-credit-textContainer a:hover { + color: ${Z8} +} + +.cesium-credit-textContainer .cesium-credit-wrapper:first-of-type { + padding-left: 5px; +} +`;function n(r){if(r.shadowRoot)return r.shadowRoot;if(r.getRootNode){let s=r.getRootNode();if(s instanceof ShadowRoot)return s}}let i=y(n(e),document.head),o=document.createElement("style");o.innerHTML=t,i.appendChild(o)}function Cr(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(m){r.contains(m.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="×",c.className="cesium-credit-lightbox-close",r.appendChild(c);let u=document.createElement("ul");r.appendChild(u);let f=document.createElement("div");f.className="cesium-credit-logoContainer",f.style.display="inline",e.appendChild(f);let d=document.createElement("div");d.className="cesium-credit-textContainer",d.style.display="inline",e.appendChild(d);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),$mt(e);let g=At.clone(Cr.cesiumCredit);this._delimiter=y(t,"\u2022"),this._screenContainer=d,this._cesiumCreditContainer=f,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=u,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new Dt,lightboxCredits:new Dt},this._defaultCredit=void 0,this.viewport=n,this.container=e}function Nbe(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(l(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new Mbe(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}Cr.prototype.addCreditToNextFrame=function(e){if(e.isIon()){l(this._defaultCredit)||(this._defaultCredit=At.clone(Fbe())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,Nbe(this,t,e)};Cr.prototype.addStaticCredit=function(e){let t=this._staticCredits;Xmt(t,e)||t.push(e)};Cr.prototype.removeStaticCredit=function(e){let t=this._staticCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};Cr.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};Cr.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};Cr.prototype.update=function(){this._expanded&&Zmt(this)};Cr.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits,n=e.lightboxCredits;t.removeAll(),n.removeAll();let i=this._staticCredits;for(let o=0;o<i.length;++o){let r=i[o],s=r.showOnScreen?t:n;r.isIon()&&At.equals(Cr.cesiumCredit,this._cesiumCredit)||Nbe(this,s,r,Number.MAX_VALUE)}At.equals(Cr.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=At.clone(Cr.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};Cr.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;Rbe(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",Rbe(this._creditList,t,void 0,"li"),Kmt(this)};Cr.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),ue(this)};Cr.prototype.isDestroyed=function(){return!1};Cr._cesiumCredit=void 0;Cr._cesiumCreditInitialized=!1;var $8;function Fbe(){if(!l($8)){let e=sn("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new Obe.default(e).path()),$8=new At(`<a href="https://cesium.com/" target="_blank"><img src="${e}" style="vertical-align: -7px" title="Cesium ion"/></a>`,!0)}return Cr._cesiumCreditInitialized||(Cr._cesiumCredit=$8,Cr._cesiumCreditInitialized=!0),$8}Object.defineProperties(Cr,{cesiumCredit:{get:function(){return Fbe(),Cr._cesiumCredit},set:function(e){Cr._cesiumCredit=e,Cr._cesiumCreditInitialized=!0}}});Cr.CreditDisplayElement=Mbe;var J2=Cr;function Q8(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,H.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var Qmt=new h,Jmt=new $,ept=new Le,tpt=new Pi,npt=new fl,ipt=new cn,opt=new Ur,rpt=new H,spt=[1,1e5];Q8.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof Pi?a=tpt:s instanceof fl?a=npt:s instanceof cn?a=ipt:a=opt,a=s.clone(a);let c,u=this._frustumSplits;!l(u)||u.length<=1?(u=spt,u[0]=this._camera.frustum.near,u[1]=this._camera.frustum.far,c=1):c=u.length-1;let f=r.positionWC,d=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,Qmt);let m=Jmt;$.setColumn(m,0,g,m),$.setColumn(m,1,p,m),$.setColumn(m,2,d,m);let x=Le.fromRotationMatrix(m,ept);for(t.length=n.length=c,i=0;i<c;++i)a.near=u[i],a.far=u[i+1],t[i]=new Pn({geometryInstances:new It({geometry:new VT({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Wt.fromColor(H.fromAlpha(this._color,.1,rpt))},id:this.id,pickPrimitive:this}),appearance:new fn({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new Pn({geometryInstances:new It({geometry:new BF({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Wt.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};Q8.prototype.isDestroyed=function(){return!1};Q8.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return ue(this)};var Zm=Q8;function tB(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var eB=Gt.supportsTypedArrays()?new Float32Array(12):[],Bbe=new h,kbe=new h,aZ=new h,Vbe=new h,J8=new h;function apt(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof cn)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let d=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,d,Bbe),g=h.normalize(p,kbe),m=h.normalize(h.cross(h.UNIT_Z,p,aZ),aZ),x=h.normalize(h.cross(g,m,Vbe),Vbe),b=h.magnitude(p),T=Math.sqrt(b*b-1);o=h.multiplyByScalar(g,1/b,Bbe);let A=T/b;r=h.multiplyByScalar(m,A,kbe),s=h.multiplyByScalar(x,A,aZ)}let a=h.add(o,s,J8);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,eB,0);let c=h.subtract(o,s,J8);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,eB,3);let u=h.add(o,s,J8);h.add(u,r,u),h.multiplyComponents(n,u,u),h.pack(u,eB,6);let f=h.subtract(o,s,J8);return h.add(f,r,f),h.multiplyComponents(n,f,f),h.pack(f,eB,9),eB}tB.prototype.update=function(e){if(this._mode=e.mode,e.mode!==ne.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new ee(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(l(this._command)||(this._rs=Ve.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new Ze({renderState:this._rs,boundingVolume:new ce(h.ZERO,i.maximumRadius),pass:ve.OPAQUE,owner:this})),!l(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new Ue({sources:[o2]}),a=new Ue({sources:[i2]});o&&(a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")),this._sp=tn.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=apt(i,e);if(l(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new ft({attributes:{position:new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Ne.TRIANGLES});this._va=ii.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:Be.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};tB.prototype.execute=function(e,t){this._mode===ne.SCENE3D&&this._command.execute(e,t)};tB.prototype.isDestroyed=function(){return!1};tB.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var nB=tB;function Tv(){}var cpt=/\bgl_FragDepth\b/,lpt=/\bdiscard\b/;function upt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(l(n))return n;let i=t.fragmentShaderSource,o=!1,r=i.sources;for(let a=0;a<r.length;++a)if(cpt.test(r[a])||lpt.test(r[a])){o=!0;break}let s=i.defines.indexOf("LOG_DEPTH")>=0;if(!o&&!s){let a=`void main() +{ + out_FragColor = vec4(1.0); +} +`;i=new Ue({sources:[a]})}else if(!o&&s){let a=`void main() +{ + out_FragColor = vec4(1.0); + czm_writeLogDepth(); +} +`;i=new Ue({defines:["LOG_DEPTH"],sources:[a]})}return e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}function fpt(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(l(i))return i;let o=Ve.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1};let r=Ve.fromCache(o);return n[t.id]=r,r}Tv.createDepthOnlyDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.depthOnlyCommand?.shaderProgram,r=i.depthOnlyCommand?.renderState;return i.depthOnlyCommand=Ze.shallowClone(t,i.depthOnlyCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=upt(n,t.shaderProgram),i.depthOnlyCommand.renderState=fpt(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var dpt=/\s+czm_writeLogDepth\(/,hpt=/\s+czm_vertexLogDepth\(/;function mpt(e,t){if(t.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return t;let i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(l(i))return i;let o=t._attributeLocations,r=t.vertexShaderSource.clone(),s=t.fragmentShaderSource.clone();r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH"),s.defines=l(s.defines)?s.defines.slice(0):[],s.defines.push("LOG_DEPTH");let a=!1,c=r.sources;for(let f=0;f<c.length;++f)if(hpt.test(c[f])){a=!0;break}if(!a){for(let d=0;d<c.length;++d)c[d]=Ue.replaceMain(c[d],"czm_log_depth_main");c.push(` + +void main() +{ + czm_log_depth_main(); + czm_vertexLogDepth(); +} +`)}c=s.sources,a=!1;for(let f=0;f<c.length;++f)dpt.test(c[f])&&(a=!0);s.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(a=!0);let u="";if(!a){for(let f=0;f<c.length;f++)c[f]=Ue.replaceMain(c[f],"czm_log_depth_main");u=` +void main() +{ + czm_log_depth_main(); + czm_writeLogDepth(); +} +`}return c.push(u),e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o})}Tv.createLogDepthCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=Ze.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=mpt(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function ppt(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(l(i))return i;Object.prototype.toString.call(n)==="[object Object]"&&(n.color?n=`vec4(${H.floatToByte(n.color.red)}, ${H.floatToByte(n.color.green)}, ${H.floatToByte(n.color.blue)}, ${H.floatToByte(n.color.alpha)})`:n="vec4(1.0)");let o=t._attributeLocations,{sources:r,defines:s}=t.fragmentShaderSource,c=r.some(g=>g.includes("out_FragData"))?"out_FragData_0":"out_FragColor",u=`void main () +{ + czm_non_pick_main(); + if (${c}.a == 0.0) { + discard; + } + ${c} = ${n}; +} `,f=r.length,d=new Array(f+1);for(let g=0;g<f;++g)d[g]=Ue.replaceMain(r[g],"czm_non_pick_main");d[f]=u;let p=new Ue({sources:d,defines:s});return e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:p,attributeLocations:o})}function Ube(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(l(i))return i;let o=Ve.getState(t);o.blending.enabled=!1,o.depthMask=!0;let r=Ve.fromCache(o);return n[t.id]=r,r}Tv.createPickDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.pickCommand?.shaderProgram,r=i.pickCommand?.renderState;return i.pickCommand=Ze.shallowClone(t,i.pickCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=ppt(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=Ube(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function bv(e,t,n){let i=e.length;for(let o=0;o<i;o++)e[o].trimStart().split(/\s+/)[0]===t&&(e[o]=`${t} ${n}`)}function zbe(e){return e.isArray?e.arrayLength:dt.getComponentCount(e.type)}function _pt(e){let t=zbe(e);return e.normalized?t===1?"float":`vec${t}`:t===1?"int":`ivec${t}`}function Hbe(e,t,n){return`((${e} - float(${t})) / float(${n}))`}function Gbe(e,t){let n=Ut.getMaximum(t);return`(${e}) / float(${n})`}function gpt(e,t){let n="float(value)";if(t.hasValueTransform){let i=t.offset,o=t.scale;n=Hbe(n,i,o)}return e.normalized||(n=Gbe(n,e.componentType)),n}function ypt(e,t,n){let o=`float(${`value.${n}`})`;if(t.hasValueTransform){let r=t.offset[n],s=t.scale[n];o=Hbe(o,r,s)}return e.normalized||(o=Gbe(o,e.componentType)),o}function xpt(e,t,n){let i=n.schemaId,o=n.className,r=n.propertyName,s=`pickMetadata-${i}-${o}-${r}`,a=e.shaderCache.getDerivedShaderProgram(t,s);if(l(a))return a;let c=n.metadataProperty,u=n.classProperty,f=_pt(u),d=["0.0","0.0","0.0","0.0"],p=zbe(u);if(p===1)d[0]=gpt(u,c);else{let b=["x","y","z","w"];for(let T=0;T<p;T++)d[T]=ypt(u,c,b[T])}let g=t.fragmentShaderSource.defines.slice();g.push(Cu.METADATA_PICKING_ENABLED),bv(g,Cu.METADATA_PICKING_VALUE_TYPE,f),bv(g,Cu.METADATA_PICKING_VALUE_STRING,`metadata.${r}`),bv(g,Cu.METADATA_PICKING_VALUE_COMPONENT_X,d[0]),bv(g,Cu.METADATA_PICKING_VALUE_COMPONENT_Y,d[1]),bv(g,Cu.METADATA_PICKING_VALUE_COMPONENT_Z,d[2]),bv(g,Cu.METADATA_PICKING_VALUE_COMPONENT_W,d[3]);let m=new Ue({sources:t.fragmentShaderSource.sources,defines:g});return e.shaderCache.createDerivedShaderProgram(t,s,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:m,attributeLocations:t._attributeLocations})}Tv.createPickMetadataDerivedCommand=function(e,t,n,i){return l(i)||(i={}),i.pickMetadataCommand=Ze.shallowClone(t,i.pickMetadataCommand),i.pickMetadataCommand.shaderProgram=xpt(n,t.shaderProgram,t.pickedMetadataInfo),i.pickMetadataCommand.renderState=Ube(e,t.renderState),i.shaderProgramId=t.shaderProgram.id,i};function bpt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(l(n))return n;let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();return o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}Tv.createHdrCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=Ze.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=bpt(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var $m=Tv;function eG(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!l(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=P.toRadians(o),t._beta=P.toRadians(i.beta),t._gamma=P.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var Tpt=new Le,Wbe=new Le,Cpt=new $;function Apt(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Le.fromAxisAngle(o,n,Wbe),c=Le.fromAxisAngle(r,i,Tpt),u=Le.multiply(c,a,c),f=Le.fromAxisAngle(s,t,Wbe);Le.multiply(f,u,u);let d=$.fromQuaternion(u,Cpt);$.multiplyByVector(d,r,r),$.multiplyByVector(d,s,s),$.multiplyByVector(d,o,o)}eG.prototype.update=function(){if(!l(this._alpha))return;l(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;Apt(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};eG.prototype.isDestroyed=function(){return!1};eG.prototype.destroy=function(){return this._removeListener(),ue(this)};var iB=eG;function cZ(){this.enabled=!0,this.renderable=!0,this.density=6e-4,this.heightScalar=.001,this._heightFalloff=.59,this.maxHeight=8e5,this.visualDensityScalar=.15,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}Object.defineProperties(cZ.prototype,{heightFalloff:{get:function(){return this._heightFalloff},set:function(e){this._heightFalloff=e}}});var Ept=new h;cZ.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!l(i)||i.height>this.maxHeight||e.mode!==ne.SCENE3D){e.fog.enabled=!1,e.fog.density=0;return}let o=i.height,r=this.density*this.heightScalar*Math.pow(Math.max(o/this.maxHeight,P.EPSILON4),-Math.max(this._heightFalloff,0)),s=h.normalize(n.positionWC,Ept),a=Math.abs(h.dot(n.directionWC,s));r*=1-a,e.fog.density=r,e.fog.visualDensityScalar=this.visualDensityScalar,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var oB=cZ;function Spt(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=ne.SCENE3D,this.morphTime=ne.getMorphTime(ne.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,pickVoxel:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,renderable:!1,density:void 0,visualDensityScalar:void 0,sse:void 0,minimumBrightness:void 0},this.atmosphere=void 0,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0,this.pickingMetadata=!1,this.pickedMetadataInfo=void 0}var rB=Spt;var Aa={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},QT=Aa.DERIVED_COMMANDS_MAXIMUM_LENGTH,eTe=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function JT(){this._frontFaceAlphaByDistance=new Vt(0,1,0,1),this._backFaceAlphaByDistance=new Vt(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=ae.clone(ae.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(QT),this._derivedBlendCommandTypes=new Array(QT),this._derivedPickCommandTypes=new Array(QT),this._derivedCommandTypesToUpdate=new Array(QT),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(JT.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});JT.prototype.update=function(e){let t=e.globe;if(!l(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=jbe(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=jbe(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=qbe(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=qbe(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=Ipt(this,e,t),this._sunVisibleThroughGlobe=vpt(this,e),this._environmentVisible=wpt(this,e),this._useDepthPlane=Dpt(this,e),this._numberOfTextureUniforms=Ppt(this),this._rectangle=ae.clone(t.translucency.rectangle,this._rectangle),Rpt(this,e)};function jbe(e,t,n,i){return e?l(n)?(Vt.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function qbe(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function vpt(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function wpt(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function Dpt(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function Ipt(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==ne.SCENE2D&&t.context.depthTexture}function Ppt(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function Rpt(e,t){e._derivedCommandsLength=lZ(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=lZ(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=lZ(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<QT;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!l(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=qpt())}function lZ(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,u=e._requiresManualDepthTest,f=i?Aa.PICK_FRONT_FACE:u?Aa.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:Aa.TRANSLUCENT_FRONT_FACE,d=i?Aa.PICK_BACK_FACE:u?Aa.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:Aa.TRANSLUCENT_BACK_FACE;return t.mode===ne.SCENE2D?(o[r++]=Aa.DEPTH_ONLY_FRONT_FACE,o[r++]=f,r):(a?(n||(o[r++]=Aa.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=f,o[r++]=d):(o[r++]=d,o[r++]=f)):c?(n||(o[r++]=Aa.DEPTH_ONLY_BACK_FACE),o[r++]=Aa.OPAQUE_FRONT_FACE,o[r++]=d):(n||(o[r++]=Aa.DEPTH_ONLY_FRONT_FACE),o[r++]=Aa.OPAQUE_BACK_FACE,o[r++]=f),r)}function dd(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Ybe(e,t){return e.indexOf(t)>-1}function Opt(e,t){dd(e.defines,"TRANSLUCENT"),dd(t.defines,"TRANSLUCENT")}function Mpt(e,t){dd(e.defines,"GROUND_ATMOSPHERE"),dd(t.defines,"GROUND_ATMOSPHERE"),dd(e.defines,"FOG"),dd(t.defines,"FOG"),dd(e.defines,"TRANSLUCENT"),dd(t.defines,"TRANSLUCENT")}function uZ(e,t){if(Ybe(t.defines,"TILE_LIMIT_RECTANGLE")||Ybe(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main() +{ + out_FragColor = vec4(1.0); +} +`;t.sources=[n]}function fZ(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=Ue.replaceMain(n[r],"czm_globe_translucency_main");n.push(` + +uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; +#ifdef MANUAL_DEPTH_TEST + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); + if (logDepthOrDepth != 0.0) + { + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + float depthEC = eyeCoordinate.z / eyeCoordinate.w; + if (v_positionEC.z < depthEC) + { + discard; + } + } +#endif + czm_globe_translucency_main(); + vec4 classificationColor = texture(u_classificationTexture, st); + if (classificationColor.a > 0.0) + { + // Reverse premultiplication process to get the correct composited result of the classification primitives + classificationColor.rgb /= classificationColor.a; + } + out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); +} +`)}function tTe(e,t){fZ(e,t),dd(e.defines,"GROUND_ATMOSPHERE"),dd(t.defines,"GROUND_ATMOSPHERE"),dd(e.defines,"FOG"),dd(t.defines,"FOG")}function Lpt(e,t){fZ(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Npt(e,t){tTe(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function Xbe(e,t){let n=`uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; + vec4 pickColor = texture(u_classificationTexture, st); + if (pickColor == vec4(0.0)) + { + discard; + } + out_FragColor = pickColor; +} +`;t.sources=[n]}function Fpt(e,t,n,i,o,r){if(!l(o))return t;if(!i&&l(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!l(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),u=t.fragmentShaderSource.clone();c.defines=l(c.defines)?c.defines.slice(0):[],u.defines=l(u.defines)?u.defines.slice(0):[],o(c,u),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:a})}return s}function Bpt(e){e.cull.face=Ci.BACK,e.cull.enabled=!0}function kpt(e){e.cull.face=Ci.FRONT,e.cull.enabled=!0}function Vpt(e){e.cull.face=Ci.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Upt(e){e.cull.face=Ci.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function zpt(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Kbe(e){e.cull.face=Ci.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=dn.ALPHA_BLEND}function Zbe(e){e.cull.face=Ci.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=dn.ALPHA_BLEND}function Hpt(e){e.cull.face=Ci.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function Gpt(e){e.cull.face=Ci.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function Wpt(e,t,n,i,o){if(!l(i))return e;if(!n&&l(t))return t;let r=o[e.id];if(!l(r)){let s=Ve.getState(e);i(s),r=Ve.fromCache(s),o[e.id]=r}return r}function Cv(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function jpt(e,t,n,i,o){return l(o)?!i&&l(n)?n:Ct(t,o(e),!1):t}function Bh(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function qpt(){return[new Bh({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:Opt,getRenderStateFunction:Bpt,getUniformMapFunction:void 0}),new Bh({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:Mpt,getRenderStateFunction:kpt,getUniformMapFunction:void 0}),new Bh({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:uZ,getRenderStateFunction:Vpt,getUniformMapFunction:void 0}),new Bh({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:uZ,getRenderStateFunction:Upt,getUniformMapFunction:void 0}),new Bh({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:uZ,getRenderStateFunction:zpt,getUniformMapFunction:void 0}),new Bh({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:fZ,getRenderStateFunction:Kbe,getUniformMapFunction:Cv}),new Bh({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:tTe,getRenderStateFunction:Zbe,getUniformMapFunction:Cv}),new Bh({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Lpt,getRenderStateFunction:Kbe,getUniformMapFunction:Cv}),new Bh({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:Npt,getRenderStateFunction:Zbe,getUniformMapFunction:Cv}),new Bh({pass:ve.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Xbe,getRenderStateFunction:Hpt,getUniformMapFunction:Cv}),new Bh({pass:ve.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:Xbe,getRenderStateFunction:Gpt,getUniformMapFunction:Cv})]}var $be=new Array(QT),Qbe=new Array(QT);JT.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)Qbe[o]=this._derivedCommandPacks[n[o]],$be[o]=eTe[n[o]];Ypt(this,e,i,n,$be,Qbe,t)}};function Ypt(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!l(a)||c){t.dirty=!1,l(a)||(a={},t.derivedCommands.globeTranslucency=a);let u=s.frameNumber,f=y(a.uniformMapDirtyFrame,0),d=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,m=a.shaderProgramId!==t.shaderProgram.id,x=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=u),m&&(a.shaderProgramDirtyFrame=u),x&&(a.renderStateDirtyFrame=u),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let b=0;b<n;++b){let T=r[b],A=i[b],C=o[b],E=a[C],v,D,O;l(E)?(v=E.uniformMap,D=E.shaderProgram,O=E.renderState):(v=void 0,D=void 0,O=void 0),E=Ze.shallowClone(t,E),a[C]=E;let R=y(E.derivedCommands.uniformMapDirtyFrame,0),M=y(E.derivedCommands.shaderProgramDirtyFrame,0),N=y(E.derivedCommands.renderStateDirtyFrame,0),_=g||R<f,S=m||M<d,w=x||N<p;_&&(E.derivedCommands.uniformMapDirtyFrame=u),S&&(E.derivedCommands.shaderProgramDirtyFrame=u),w&&(E.derivedCommands.renderStateDirtyFrame=u),E.derivedCommands.type=A,E.pass=T.pass,E.pickOnly=T.pickOnly,E.uniformMap=jpt(e,t.uniformMap,v,_,T.getUniformMapFunction),E.shaderProgram=Fpt(s.context,t.shaderProgram,D,S,T.getShaderProgramFunction,C),E.renderState=Wpt(t.renderState,O,w,T.getRenderStateFunction,T.renderStateCache)}}}JT.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick||n.passes.pickVoxel;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=eTe[o[a]];n.commandList.push(s[c])}};function nTe(e,t,n,i,o,r){for(let s=0;s<t;++s){let a=e[s],c=a.derivedCommands.type;(!l(r)||r.indexOf(c)>-1)&&n(a,i,o)}}function Jbe(e,t,n,i,o){for(let r=0;r<t;++r)n(e[r],i,o)}var Xpt=[Aa.OPAQUE_FRONT_FACE,Aa.OPAQUE_BACK_FACE],Kpt=[Aa.DEPTH_ONLY_FRONT_FACE,Aa.DEPTH_ONLY_BACK_FACE,Aa.DEPTH_ONLY_FRONT_AND_BACK_FACE];JT.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[ve.GLOBE],a=e.indices[ve.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),nTe(s,a,t,i,o,Xpt))};JT.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let{context:r}=i,{uniformState:s}=r,a=e.commands[ve.GLOBE],c=e.indices[ve.GLOBE],u=e.commands[ve.TERRAIN_CLASSIFICATION],f=e.indices[ve.TERRAIN_CLASSIFICATION];if(c===0||f===0)return;let d=this._frontFaceTranslucent,p=this._backFaceTranslucent;if((!d||!p)&&Jbe(u,f,t,i,o),!d&&!p)return;this._globeTranslucencyFramebuffer=n;let g=s.globeDepthTexture,m=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,nTe(a,c,t,i,o,Kpt),r.depthTexture){let x=n.packDepth(r,o);s.globeDepthTexture=x}Jbe(u,f,t,i,o),s.globeDepthTexture=g,o.framebuffer=m};var sB=JT;var Ql=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(colorTexture, v_textureCoordinates); +} +`;function Qm(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new _i({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new _i({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new ni({color:new H(0,0,0,0),owner:this}),this._clearCommand=new ni({color:new H(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(Qm.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});Qm.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var Zpt={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Hn.EQUAL,frontOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.KEEP},backFunction:Hn.NEVER,reference:0,mask:zt.CLASSIFICATION_MASK},blending:dn.ALPHA_BLEND},$pt={depthMask:!1,stencilTest:{enabled:!0,frontFunction:Hn.NOT_EQUAL,frontOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.KEEP},backFunction:Hn.NEVER,reference:0,mask:zt.CLASSIFICATION_MASK},blending:dn.ALPHA_BLEND},Qpt={depthMask:!0,depthTest:{enabled:!0},stencilTest:zt.setCesium3DTileBit(),stencilMask:zt.CESIUM_3D_TILE_MASK,blending:dn.ALPHA_BLEND},Jpt=`uniform sampler2D colorTexture; +uniform sampler2D depthTexture; +uniform sampler2D classifiedTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } + bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); +#ifdef UNCLASSIFIED + vec4 highlightColor = czm_invertClassificationColor; + if (isClassified) + { + discard; + } +#else + vec4 highlightColor = vec4(1.0); + if (!isClassified) + { + discard; + } +#endif + out_FragColor = color * highlightColor; + gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; +} +`,e_t=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } +#ifdef UNCLASSIFIED + out_FragColor = color * czm_invertClassificationColor; +#else + out_FragColor = color; +#endif +} +`;Qm.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!l(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._previousFramebuffer)||(this._depthStencilTexture=new Pt({context:e,width:s,height:a,pixelFormat:nt.DEPTH_STENCIL,pixelDatatype:Ye.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new lu({context:e,width:s,height:a,format:Vc.DEPTH24_STENCIL8,numSamples:t})))),!l(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let u,f;l(this._previousFramebuffer)?(u=n.getDepthStencilTexture(),f=n.getDepthStencilRenderbuffer()):(u=this._depthStencilTexture,f=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(u),l(f)&&this._fbo.setDepthStencilRenderbuffer(f),this._fbo.update(e,s,a,t),l(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(u),this._fboClassified.update(e,s,a))}if(l(this._rsUnclassified)||(this._rsUnclassified=Ve.fromCache(Zpt),this._rsClassified=Ve.fromCache($pt),this._rsDefault=Ve.fromCache(Qpt)),!l(this._unclassifiedCommand)||o||r){l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let u=l(this._previousFramebuffer)?e_t:Jpt,f=new Ue({defines:["UNCLASSIFIED"],sources:[u]}),d=new Ue({sources:[u]});this._unclassifiedCommand=e.createViewportQuadCommand(f,{renderState:l(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(d,{renderState:l(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),l(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),l(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(Ql,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};Qm.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};Qm.prototype.clear=function(e,t){l(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};Qm.prototype.executeClassified=function(e,t){if(!l(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};Qm.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};Qm.prototype.isDestroyed=function(){return!1};Qm.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),ue(this)};var Av=Qm;function tG(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(tG.prototype,{total:{get:function(){return this._total}}});function V0(e){let t=new Array(Ba.NUMBER_OF_JOB_TYPES);t[Ba.TEXTURE]=new tG(l(e)?e[Ba.TEXTURE]:10),t[Ba.PROGRAM]=new tG(l(e)?e[Ba.PROGRAM]:10),t[Ba.BUFFER]=new tG(l(e)?e[Ba.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}V0.getTimestamp=Ei;Object.defineProperties(V0.prototype,{totalBudget:{get:function(){return this._totalBudget}}});V0.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};V0.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};V0.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,u;for(u=0;u<c&&(r=n[u],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++u);if(u===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=V0.getTimestamp();e.execute();let a=V0.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var aB=V0;function nG(e){e=y(e,y.EMPTY_OBJECT);let t=Rn(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=Ei(),this._lastMsSampleTime=Ei(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(nG.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});nG.prototype.update=function(e){let t=Ei(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};nG.prototype.destroy=function(){return ue(this)};var pg=nG;var Ea={};Ea.decodeRawMetadataValue=function(e,t,n){switch(e){case Ut.INT8:return t.getInt8(n);case Ut.UINT8:return t.getUint8(n);case Ut.INT16:return t.getInt16(n,!0);case Ut.UINT16:return t.getUint16(n,!0);case Ut.INT32:return t.getInt32(n,!0);case Ut.UINT32:return t.getUint32(n,!0);case Ut.INT64:return t.getBigInt64(n,!0);case Ut.UINT64:return t.getBigUint64(n,!0);case Ut.FLOAT32:return t.getFloat32(n,!0);case Ut.FLOAT64:return t.getFloat64(n,!0)}throw new se(`Invalid component type: ${e}`)};Ea.decodeRawMetadataValueComponent=function(e,t,n){let i=e.componentType,o=Ea.decodeRawMetadataValue(i,t,n);return e.normalized?Ut.normalize(o,i):o};Ea.decodeRawMetadataValueElement=function(e,t,n){let i=e.componentType,o=Ut.getSizeInBytes(i),r=e.type,s=dt.getComponentCount(r),a=o*s;if(s>1){let f=Array(s);for(let d=0;d<s;d++){let p=n*a+d*o,g=Ea.decodeRawMetadataValueComponent(e,t,p);f[d]=g}return f}let c=n*a;return Ea.decodeRawMetadataValueComponent(e,t,c)};Ea.decodeRawMetadataValues=function(e,t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=Ea.decodeRawMetadataValueElement(e,n,s);r[s]=a}return r}return Ea.decodeRawMetadataValueElement(e,n,0)};Ea.convertToObjectType=function(e,t){if(!l(t)||e===dt.SCALAR||e===dt.STRING||e===dt.BOOLEAN||e===dt.ENUM)return t;let n=t.map(i=>Number(i));switch(e){case dt.VEC2:return z.unpack(n,0,new z);case dt.VEC3:return h.unpack(n,0,new h);case dt.VEC4:return ie.unpack(n,0,new ie);case dt.MAT2:return Oi.unpack(n,0,new Oi);case dt.MAT3:return $.unpack(n,0,new $);case dt.MAT4:return F.unpack(n,0,new F)}throw new se(`Invalid metadata object type: ${e}`)};Ea.convertFromObjectType=function(e,t){if(!l(t)||e===dt.SCALAR||e===dt.STRING||e===dt.BOOLEAN||e===dt.ENUM)return t;switch(e){case dt.VEC2:return z.pack(t,Array(2));case dt.VEC3:return h.pack(t,Array(3));case dt.VEC4:return ie.pack(t,Array(4));case dt.MAT2:return Oi.pack(t,Array(4));case dt.MAT3:return $.pack(t,Array(9));case dt.MAT4:return F.pack(t,Array(16))}throw new se(`Invalid metadata object type: ${e}`)};Ea.decodeMetadataValues=function(e,t,n){let i=Ea.decodeRawMetadataValues(e,n);if(t.hasValueTransform){let r=Ea.convertFromObjectType(e.type,t.offset),s=Ea.convertFromObjectType(e.type,t.scale);i=um.valueTransformInPlace(i,r,s,Ut.applyValueTransform)}if(e.isArray){let r=e.arrayLength,s=Array(r);for(let a=0;a<r;a++){let c=i[a],u=Ea.convertToObjectType(e.type,c);s[a]=u}return s}return Ea.convertToObjectType(e.type,i)};var cB=Object.freeze(Ea);function eC(){this._framebuffer=new _i,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(eC.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function t_t(e,t,n){let{width:i,height:o}=n;e._framebuffer.update(t,i,o)}function n_t(e,t,n){l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(`uniform highp sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 globeDepthPacked = texture(czm_globeDepthTexture, v_textureCoordinates); + float globeDepth = czm_unpackDepth(globeDepthPacked); + float depth = texture(colorTexture, v_textureCoordinates).r; + out_FragColor = czm_branchFreeTernary(globeDepth <= 0.0 || globeDepth >= 1.0 || depth < globeDepth && depth > 0.0 && depth < 1.0, + czm_packDepth(depth), globeDepthPacked); +} +`,{renderState:Ve.fromCache(),uniformMap:{colorTexture:function(){return e._textureToCopy}},owner:e})),e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}eC.prototype.update=function(e,t){t_t(this,e,t),n_t(this,e,t)};var i_t=new ie,o_t=new ie(1,1/255,1/65025,1/16581375);eC.prototype.getDepth=function(e,t,n){if(!l(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=ie.unpack(i,0,i_t);return ie.divideByScalar(o,255,o),ie.dot(o,o_t)};eC.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};eC.prototype.isDestroyed=function(){return!1};eC.prototype.destroy=function(){return this._framebuffer.destroy(),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=l(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),ue(this)};var lB=eC;function r_t(e,t){this.near=y(e,0),this.far=y(t,0);let n=ve.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var uB=r_t;var U0=`uniform highp sampler2D u_depthTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); +} +`;function Jm(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new _i,this._tempCopyDepthFramebuffer=new _i,this._updateDepthFramebuffer=new _i({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new We,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(Jm.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function iTe(e,t,n,i,o){let r=e._viewport;r.width=n,r.height=i;let s=!We.equals(r,o.viewport),a=s!==e._useScissorTest;e._useScissorTest=s,We.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=We.clone(o.viewport,e._scissorRectangle),a=!0),(!l(e._rs)||!We.equals(r,e._rs.viewport)||a)&&(e._rs=Ve.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=Ve.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:dn.ALPHA_BLEND}),e._rsUpdate=Ve.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Hn.EQUAL,frontOperation:{fail:ht.KEEP,zFail:ht.KEEP,zPass:ht.KEEP},backFunction:Hn.NEVER,reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK}})),l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(U0,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,l(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(Ql,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,l(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(U0,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,l(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(Ql,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,l(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new ni({color:new H(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}Jm.prototype.update=function(e,t,n,i,o,r){let{width:s,height:a}=n,c=o?e.halfFloatingPointTexture?Ye.HALF_FLOAT:Ye.FLOAT:Ye.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),iTe(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._clearGlobeDepth=r};Jm.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};Jm.prototype.executeCopyDepth=function(e,t){l(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};Jm.prototype.executeUpdateDepth=function(e,t,n){let i=l(n)?n:t.framebuffer.depthStencilTexture;if(!this._clearGlobeDepth&&i===this.colorFramebufferManager.getDepthStencilTexture()){l(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t);return}if(!l(this._updateDepthCommand))return;let o=this._updateDepthFramebuffer;if(!l(o.framebuffer)||o.getDepthStencilTexture()!==i||o.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture(),{width:s,height:a}=r;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,s,a),o.setColorTexture(r,0),o.setDepthStencilTexture(i),o.update(e,s,a),iTe(this,e,s,a,t)}this._tempCopyDepthTexture=i,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)};Jm.prototype.executeCopyColor=function(e,t){l(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};Jm.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;l(i)&&(H.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};Jm.prototype.isDestroyed=function(){return!1};Jm.prototype.destroy=function(){return this._pickColorFramebuffer.destroy(),this._outputFramebuffer.destroy(),this._copyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.destroy(),this._updateDepthFramebuffer.destroy(),l(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),l(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),l(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),ue(this)};var fB=Jm;function tC(){this._framebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new _i,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new We,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(tC.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function s_t(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function a_t(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?Ye.HALF_FLOAT:Ye.FLOAT:Ye.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function c_t(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!We.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,We.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=We.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._renderState)||!We.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(U0,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),l(e._clearCommand)||(e._clearCommand=new ni({color:new H(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}tC.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;a_t(this,n,o,r,e),c_t(this,n,o,r,i),this._useHdr=e};tC.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};tC.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};tC.prototype.isDestroyed=function(){return!1};tC.prototype.destroy=function(){return s_t(this),ue(this)};var dB=tC;function _g(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new _i({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new _i({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new _i({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new _i({createColorAttachments:!1}),this._opaqueClearCommand=new ni({color:new H(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new ni({color:new H(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new ni({color:new H(0,0,0,0),owner:this}),this._alphaClearCommand=new ni({color:new H(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new We,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function oTe(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function dZ(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function rTe(e){oTe(e),dZ(e)}function l_t(e,t,n,i){oTe(e),e._accumulationTexture=new Pt({context:t,width:n,height:i,pixelFormat:nt.RGBA,pixelDatatype:Ye.FLOAT}),e._revealageTexture=new Pt({context:t,pixelFormat:nt.RGBA,pixelDatatype:Ye.FLOAT,width:n,height:i,flipY:!1})}function u_t(e,t){dZ(e);let n=te.FRAMEBUFFER_COMPLETE,i=!0,{width:o,height:r}=e._accumulationTexture;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&(dZ(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,u=e._adjustAlphaFBO.status===n;(!s||!a||!c||!u)&&(rTe(e),e._translucentMultipassSupport=!1,i=!1)}return i}_g.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let{width:r,height:s}=this._opaqueTexture,a=this._accumulationTexture,c=!l(a)||a.width!==r||a.height!==s||i!==this._useHDR,u=this._numSamples!==o;if((c||u)&&(this._numSamples=o,l_t(this,e,r,s)),(!l(this._translucentFBO.framebuffer)||c||u)&&!u_t(this,e))return;this._useHDR=i;let f=this,d,p;l(this._compositeCommand)||(d=new Ue({sources:[n2]}),this._translucentMRTSupport&&d.defines.push("MRT"),p={u_opaque:function(){return f._opaqueTexture},u_accumulation:function(){return f._accumulationTexture},u_revealage:function(){return f._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})),l(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(d=new Ue({defines:["MRT"],sources:[JS]}),p={u_bgColor:function(){return f._translucentMRTClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(d=new Ue({sources:[JS]}),p={u_bgColor:function(){return f._translucentMultipassClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}),p={u_bgColor:function(){return f._alphaClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!We.equals(this._viewport,t.viewport),m=g!==this._useScissorTest;this._useScissorTest=g,We.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=We.clone(t.viewport,this._scissorRectangle),m=!0),(!l(this._rs)||!We.equals(this._viewport,this._rs.viewport)||m)&&(this._rs=Ve.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),l(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var f_t={enabled:!0,color:new H(0,0,0,0),equationRgb:Ma.ADD,equationAlpha:Ma.ADD,functionSourceRgb:wo.ONE,functionDestinationRgb:wo.ONE,functionSourceAlpha:wo.ZERO,functionDestinationAlpha:wo.ONE_MINUS_SOURCE_ALPHA},d_t={enabled:!0,color:new H(0,0,0,0),equationRgb:Ma.ADD,equationAlpha:Ma.ADD,functionSourceRgb:wo.ONE,functionDestinationRgb:wo.ONE,functionSourceAlpha:wo.ONE,functionDestinationAlpha:wo.ONE},h_t={enabled:!0,color:new H(0,0,0,0),equationRgb:Ma.ADD,equationAlpha:Ma.ADD,functionSourceRgb:wo.ZERO,functionDestinationRgb:wo.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:wo.ZERO,functionDestinationAlpha:wo.ONE_MINUS_SOURCE_ALPHA};function hZ(e,t,n,i){let o=n[i.id];if(!l(o)){let r=Ve.getState(i);r.depthMask=!1,r.blending=t,o=Ve.fromCache(r),n[i.id]=o}return o}function m_t(e,t,n){return hZ(t,f_t,e._translucentRenderStateCache,n)}function p_t(e,t,n){return hZ(t,d_t,e._translucentRenderStateCache,n)}function __t(e,t,n){return hZ(t,h_t,e._alphaRenderStateCache,n)}var g_t=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragData_0 = vec4(Ci * wzi, ai); + out_FragData_1 = vec4(ai * wzi); +`,y_t=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragColor = vec4(Ci, ai) * wzi; +`,x_t=` float ai = czm_out_FragColor.a; + out_FragColor = vec4(ai); +`;function mZ(e,t,n,i){let{shaderCache:o}=e,r=o.getDerivedShaderProgram(t,n);if(l(r))return r;let s=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map(function(f){return Ue.replaceMain(f,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,`vec4 czm_out_FragColor; +bool czm_discard = false; +`);let c=[...i.matchAll(/out_FragData_(\d+)/g)],u="";for(let f=0;f<c.length;f++){let d=c[f];u=`layout (location = ${d[1]}) out vec4 ${d[0]}; +${u}`}return a.sources.push(u),a.sources.push(`void main() +{ + czm_translucent_main(); + if (czm_discard) + { + discard; + } +${i}} +`),o.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:s})}function b_t(e,t){return mZ(e,t,"translucentMRT",g_t)}function T_t(e,t){return mZ(e,t,"translucentMultipass",y_t)}function C_t(e,t){return mZ(e,t,"alphaMultipass",x_t)}_g.prototype.createDerivedCommands=function(e,t,n){if(l(n)||(n={}),this._translucentMRTSupport){let a,c;return l(n.translucentCommand)&&(a=n.translucentCommand.shaderProgram,c=n.translucentCommand.renderState),n.translucentCommand=Ze.shallowClone(e,n.translucentCommand),!l(a)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=b_t(t,e.shaderProgram),n.translucentCommand.renderState=m_t(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=a,n.translucentCommand.renderState=c),n}let i,o,r,s;return l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=Ze.shallowClone(e,n.translucentCommand),n.alphaCommand=Ze.shallowClone(e,n.alphaCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=T_t(t,e.shaderProgram),n.translucentCommand.renderState=p_t(this,t,e.renderState),n.alphaCommand.shaderProgram=C_t(t,e.shaderProgram),n.alphaCommand.renderState=__t(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s),n};function A_t(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=e._alphaFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.alphaCommand:m.derivedCommands.oit.alphaCommand;n(x,t,i,g)}i.framebuffer=d}function E_t(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=d}_g.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){E_t(this,e,t,n,i,o);return}A_t(this,e,t,n,i,o)};_g.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};_g.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,H.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};_g.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};_g.prototype.isDestroyed=function(){return!1};_g.prototype.destroy=function(){return rTe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),ue(this)};var hB=_g;function mB(){this._framebuffer=new _i({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(mB.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function S_t(e){e._framebuffer.destroy()}function v_t(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new oc(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new We},o.viewport=new We,e._passState=o}mB.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&v_t(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};mB.prototype.isDestroyed=function(){return!1};mB.prototype.destroy=function(){return S_t(this),ue(this)};var pB=mB;function Ev(e){let t=new oc(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new We},t.viewport=new We,this._context=e,this._fb=new _i({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}Ev.prototype.begin=function(e,t){let n=this._context,{width:i,height:o}=t;return We.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var _B=new H;Ev.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),u=0,f=0,d=0,p=-1;for(let g=0;g<s;++g){if(-a<=u&&u<=a&&-c<=f&&f<=c){let m=4*((c-f)*t+u+a);_B.red=H.byteToFloat(o[m]),_B.green=H.byteToFloat(o[m+1]),_B.blue=H.byteToFloat(o[m+2]),_B.alpha=H.byteToFloat(o[m+3]);let x=i.getObjectByPickColor(_B);if(l(x))return x}if(u===f||u<0&&-u===f||u>0&&u===1-f){let m=d;d=-p,p=m}u+=d,f+=p}};Ev.prototype.readCenterPixel=function(e){let t=y(e.width,1),n=y(e.height,1),o=this._context.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.floor(t*.5),a=4*(Math.floor(n*.5)*t+r);return o.slice(a,a+4)};Ev.prototype.isDestroyed=function(){return!1};Ev.prototype.destroy=function(){return this._fb.destroy(),ue(this)};var gB=Ev;function gg(){this._numSamples=1,this._colorFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new H(0,0,0,0),this._clearCommand=new ni({color:new H(0,0,0,0),depth:1,owner:this})}function w_t(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(gg.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});gg.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?Ye.HALF_FLOAT:Ye.FLOAT:Ye.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};gg.prototype.clear=function(e,t,n){H.clone(n,this._clearCommand.color),H.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};gg.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};gg.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};gg.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};gg.prototype.isDestroyed=function(){return!1};gg.prototype.destroy=function(){return w_t(this),ue(this)};var nC=gg;function iC(){}iC.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};iC.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=Ue.findPositionVarying(e),s=l(r);if(t&&!s){let a=o.length;for(let u=0;u<a;++u)o[u]=Ue.replaceMain(o[u],"czm_shadow_cast_main");o.push(`out vec3 v_positionEC; +void main() +{ + czm_shadow_cast_main(); + v_positionEC = (czm_inverseProjection * gl_Position).xyz; +}`)}return new Ue({defines:i,sources:o})};iC.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=Ue.findPositionVarying(e),a=l(s);a||(s="v_positionEC");let c=r.length;for(let f=0;f<c;++f)r[f]=Ue.replaceMain(r[f],"czm_shadow_cast_main");let u="";return t&&(a||(u+=`in vec3 v_positionEC; +`),u+=`uniform vec4 shadowMap_lightPositionEC; +`),i?u+=`void main() +{ +`:u+=`void main() +{ + czm_shadow_cast_main(); + if (out_FragColor.a == 0.0) + { + discard; + } +`,t?u+=` float distance = length(${s}); + if (distance >= shadowMap_lightPositionEC.w) + { + discard; + } + distance /= shadowMap_lightPositionEC.w; // radius + out_FragColor = czm_packDepth(distance); +`:n?u+=` out_FragColor = vec4(1.0); +`:u+=` out_FragColor = czm_packDepth(gl_FragCoord.z); +`,u+=`} +`,r.push(u),new Ue({defines:o,sources:r})};iC.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,u=e.debugCascadeColors,f=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${u}${f}${t}${n}${i}`};iC.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new Ue({defines:i,sources:o})};iC.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=Ue.findNormalVarying(e),s=!i&&l(r)||i&&o,a=Ue.findPositionVarying(e),c=l(a),u=t._usesDepthTexture,f=t._polygonOffsetSupported,d=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,m=t.debugCascadeColors,x=t.softShadows,b=d?t._pointBias:i?t._terrainBias:t._primitiveBias,T=e.defines.slice(0),A=e.sources.slice(0),C=A.length;for(let D=0;D<C;++D)A[D]=Ue.replaceMain(A[D],"czm_shadow_receive_main");d?T.push("USE_CUBE_MAP_SHADOW"):u&&T.push("USE_SHADOW_DEPTH_TEXTURE"),x&&!d&&T.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?T.push("ENABLE_VERTEX_LIGHTING"):T.push("ENABLE_DAYNIGHT_SHADING")),n&&b.normalShading&&s&&(T.push("USE_NORMAL_SHADING"),b.normalShadingSmooth>0&&T.push("USE_NORMAL_SHADING_SMOOTH"));let E="";d?E+=`uniform samplerCube shadowMap_textureCube; +`:E+=`uniform sampler2D shadowMap_texture; +`;let v;return c?v=` return vec4(${a}, 1.0); +`:v=`#ifndef LOG_DEPTH + return czm_windowToEyeCoordinates(gl_FragCoord); +#else + return vec4(v_logPositionEC, 1.0); +#endif +`,E+=`uniform mat4 shadowMap_matrix; +uniform vec3 shadowMap_lightDirectionEC; +uniform vec4 shadowMap_lightPositionEC; +uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; +uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; +#ifdef LOG_DEPTH +in vec3 v_logPositionEC; +#endif +vec4 getPositionEC() +{ +${v}} +vec3 getNormalEC() +{ +${s?` return normalize(${r}); +`:` return vec3(1.0); +`}} +void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) +{ +${b.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; + float normalOffsetScale = 1.0 - nDotL; + vec3 offset = normalOffset * normalOffsetScale * normalEC; + positionEC.xyz += offset; +`:""}} +`,E+=`void main() +{ + czm_shadow_receive_main(); + vec4 positionEC = getPositionEC(); + vec3 normalEC = getNormalEC(); + float depth = -positionEC.z; +`,E+=` czm_shadowParameters shadowParameters; + shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; + shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; + shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; + shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; +`,i?E+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); +`:f||(E+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); +`),d?E+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; + float distance = length(directionEC); + directionEC = normalize(directionEC); + float radius = shadowMap_lightPositionEC.w; + // Stop early if the fragment is beyond the point light radius + if (distance > radius) + { + return; + } + vec3 directionWC = czm_inverseViewRotation * directionEC; + shadowParameters.depth = distance / radius; + shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + shadowParameters.texCoords = directionWC; + float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); +`:p?E+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); + float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Spot light uses a perspective projection, so perform the perspective divide + shadowPosition /= shadowPosition.w; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`:g?E+=` float maxDepth = shadowMap_cascadeSplits[1].w; + // Stop early if the eye depth exceeds the last cascade + if (depth > maxDepth) + { + return; + } + // Get the cascade based on the eye-space depth + vec4 weights = czm_cascadeWeights(depth); + // Apply normal offset + float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + // Transform position into the cascade + vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; + // Get visibility + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); + // Fade out shadows that are far away + float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; + float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); + visibility = mix(visibility, 1.0, fade); +${m?` // Draw cascade colors for debugging + out_FragColor *= czm_cascadeColor(weights); +`:""}`:E+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`,E+=` out_FragColor.rgb *= visibility; +} +`,A.push(E),new Ue({defines:T,sources:A})};var ep=iC;function tp(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(Gt.isInternetExplorer()||Gt.isEdge()||(Gt.isChrome()||Gt.isFirefox())&&Gt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n;let i=y(e.depthBiasStep,1);this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4*i},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*i},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4*i},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new F,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new ie,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new iG,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new ce,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new z,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Ur:l(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new ie,new ie],this._cascadeMatrices=[new F,new F,new F,new F],this._cascadeDistances=new ie;let o;this._isPointLight?o=6:this._cascadesEnabled?o=this._numberOfCascades:o=1,this._passes=new Array(o);for(let r=0;r<o;++r)this._passes[r]=new D_t(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,_Z(this),this._clearCommand=new ni({depth:1,color:new H}),this._clearPassState=new oc(t),this._size=y(e.size,2048),this.size=this._size}tp.MAXIMUM_DISTANCE=2e4;function D_t(e){this.camera=new iG,this.passState=new oc(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function pZ(e,t){return Ve.fromCache({cull:{enabled:!0,face:Ci.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function _Z(e){let t=!e._usesDepthTexture;e._primitiveRenderState=pZ(t,e._primitiveBias),e._terrainRenderState=pZ(t,e._terrainBias),e._pointRenderState=pZ(t,e._pointBias)}tp.prototype.debugCreateRenderStates=function(){_Z(this)};Object.defineProperties(tp.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){L_t(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function gZ(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;l(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function I_t(e,t){let n=new lu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Vc.DEPTH_COMPONENT16}),i=new Pt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,sampler:Qt.NEAREST}),o=new Vr({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function P_t(e,t){let n=new Pt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:nt.DEPTH_STENCIL,pixelDatatype:Ye.UNSIGNED_INT_24_8,sampler:Qt.NEAREST}),i=new Vr({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function R_t(e,t){let n=new lu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:Vc.DEPTH_COMPONENT16}),i=new vr({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,sampler:Qt.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new Vr({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function cTe(e,t){e._isPointLight?R_t(e,t):e._usesDepthTexture?P_t(e,t):I_t(e,t)}function O_t(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==te.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,_Z(e),gZ(e),cTe(e,t))}function M_t(e,t){(!l(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(gZ(e),cTe(e,t),O_t(e,t),lTe(e,t))}function lTe(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function L_t(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=Ft.maximumCubeMapSize>=t?t:Ft.maximumCubeMapSize,o.x=t,o.y=t;let r=new We(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=Ft.maximumTextureSize>=t?t:Ft.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new We(0,0,t,t)):i===4&&(t=Ft.maximumTextureSize>=t*2?t:Ft.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new We(0,0,t,t),n[1].passState.viewport=new We(t,0,t,t),n[2].passState.viewport=new We(0,t,t,t),n[3].passState.viewport=new We(t,t,t,t));e._clearPassState.viewport=new We(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,u=a.y/o.y,f=a.width/o.x,d=a.height/o.y;s.textureOffsets=new F(f,0,0,c,0,d,0,u,0,0,1,0,0,0,0,1)}}var N_t=new We;function F_t(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube; +in vec2 v_textureCoordinates; +void main() +{ + vec2 uv = v_textureCoordinates; + vec3 dir; + + if (uv.y < 0.5) + { + if (uv.x < 0.333) + { + dir.x = -1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 1.0; + } + else if (uv.x < 0.666) + { + dir.y = -1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 1.0; + } + else + { + dir.z = -1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 1.0; + } + } + else + { + if (uv.x < 0.333) + { + dir.x = 1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 3.0; + } + else if (uv.x < 0.666) + { + dir.y = 1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 3.0; + } + else + { + dir.z = 1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 3.0; + } + } + + float shadow = czm_unpackDepth(czm_textureCube(shadowMap_textureCube, dir)); + out_FragColor = vec4(vec3(shadow), 1.0); +} +`:n=`uniform sampler2D shadowMap_texture; +in vec2 v_textureCoordinates; +void main() +{ +${e._usesDepthTexture?` float shadow = texture(shadowMap_texture, v_textureCoordinates).r; +`:` float shadow = czm_unpackDepth(texture(shadowMap_texture, v_textureCoordinates)); +`} out_FragColor = vec4(vec3(shadow), 1.0); +} +`;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=ve.OVERLAY,i}function B_t(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=N_t;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;l(a)||(a=F_t(e,n),e._debugShadowViewCommand=a),(!l(a.renderState)||!We.equals(a.renderState.viewport,s))&&(a.renderState=Ve.fromCache({viewport:We.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var np=new Array(8);np[0]=new ie(-1,-1,-1,1);np[1]=new ie(1,-1,-1,1);np[2]=new ie(1,1,-1,1);np[3]=new ie(-1,1,-1,1);np[4]=new ie(-1,-1,1,1);np[5]=new ie(1,-1,1,1);np[6]=new ie(1,1,1,1);np[7]=new ie(-1,1,1,1);var z0=new F,yZ=new Array(8);for(let e=0;e<8;++e)yZ[e]=new ie;function k_t(e,t){let n=new It({geometry:new Pd({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:Wt.fromColor(t)}}),i=new It({geometry:new v_({radius:.5}),attributes:{color:Wt.fromColor(t)}});return new Pn({geometryInstances:[n,i],appearance:new fn({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var V_t=[H.RED,H.GREEN,H.BLUE,H.MAGENTA],U_t=new h;function z_t(e,t){B_t(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new Zm({camera:e._sceneCamera,color:H.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new Zm({camera:e._shadowMapCamera,color:H.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new Zm({camera:e._passes[i].camera,color:V_t[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!l(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Le.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,U_t),a=F.fromTranslationQuaternionRotationScale(i,o,s,z0);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=k_t(a,H.YELLOW)}e._debugLightFrustum.update(t)}else(!l(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new Zm({camera:e._shadowMapCamera,color:H.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function iG(){this.viewMatrix=new F,this.inverseViewMatrix=new F,this.frustum=void 0,this.positionCartographic=new fe,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new F}iG.prototype.clone=function(e){F.clone(e.viewMatrix,this.viewMatrix),F.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),fe.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var H_t=new F(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);iG.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return F.multiply(t,e,this.viewProjectionMatrix),F.multiply(H_t,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var G_t=new Array(5),W_t=new Pi,j_t=new Array(4),uTe=new h,fTe=new h;function q_t(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,u=r/o,f=.9,d=!1;t.shadowState.closestObjectSize<200&&(d=!0,f=.9);let p=j_t,g=G_t;for(g[0]=o,g[s]=r,a=0;a<s;++a){let N=(a+1)/s,_=o*Math.pow(u,N),S=o+c*N,w=P.lerp(S,_,f);g[a+1]=w,p[a]=w-g[a]}if(d){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let N=g[0];for(a=0;a<s-1;++a)N+=p[a],g[a+1]=N}ie.unpack(g,0,e._cascadeSplits[0]),ie.unpack(g,1,e._cascadeSplits[1]),ie.unpack(p,0,e._cascadeDistances);let m=n.frustum,x=m.left,b=m.right,T=m.bottom,A=m.top,C=m.near,E=m.far,v=n.positionWC,D=n.directionWC,O=n.upWC,R=i.frustum.clone(W_t),M=n.getViewProjection();for(a=0;a<s;++a){R.near=g[a],R.far=g[a+1];let N=F.multiply(R.projectionMatrix,i.viewMatrix,z0),_=F.inverse(N,z0),S=F.multiply(M,_,z0),w=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,uTe),I=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,fTe);for(let G=0;G<8;++G){let k=ie.clone(np[G],yZ[G]);F.multiplyByVector(S,k,k),h.divideByScalar(k,k.w,k),h.minimumByComponent(k,w,w),h.maximumByComponent(k,I,I)}w.x=Math.max(w.x,0),w.y=Math.max(w.y,0),w.z=0,I.x=Math.min(I.x,1),I.y=Math.min(I.y,1),I.z=Math.min(I.z,1);let L=e._passes[a],B=L.camera;B.clone(n);let U=B.frustum;U.left=x+w.x*(b-x),U.right=x+I.x*(b-x),U.bottom=T+w.y*(A-T),U.top=T+I.y*(A-T),U.near=C+w.z*(E-C),U.far=C+I.z*(E-C),L.cullingVolume=B.frustum.computeCullingVolume(v,D,O);let V=e._cascadeMatrices[a];F.multiply(B.getViewProjection(),i.inverseViewMatrix,V),F.multiply(L.textureOffsets,V,V)}}var Y_t=new F,X_t=new h,K_t=new h,sTe=new h;function Z_t(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=F.multiply(i.frustum.projectionMatrix,i.viewMatrix,z0),r=F.inverse(o,z0),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,P.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,X_t);a=h.cross(c,s,K_t),h.normalize(a,a),h.normalize(c,c);let u=h.fromElements(0,0,0,sTe),f=F.computeView(u,s,a,c,Y_t),d=F.multiply(f,r,z0),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,uTe),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,fTe);for(let E=0;E<8;++E){let v=ie.clone(np[E],yZ[E]);F.multiplyByVector(d,v,v),h.divideByScalar(v,v.w,v),h.minimumByComponent(v,p,p),h.maximumByComponent(v,g,g)}g.z+=1e3,p.z-=10;let m=sTe;m.x=-(.5*(p.x+g.x)),m.y=-(.5*(p.y+g.y)),m.z=-g.z;let x=F.fromTranslation(m,z0);f=F.multiply(x,f,f);let b=.5*(g.x-p.x),T=.5*(g.y-p.y),A=g.z-p.z,C=n.frustum;C.left=-b,C.right=b,C.bottom=-T,C.top=T,C.near=.01,C.far=A,F.clone(f,n.viewMatrix),F.inverse(f,n.inverseViewMatrix),F.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var $_t=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],Q_t=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],J_t=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function egt(e,t){let n=new Pi;n.fov=P.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=$_t[i],o.upWC=Q_t[i],o.rightWC=J_t[i],F.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),F.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var tgt=new h,ngt=new h,dTe=new ce,aTe=dTe.center;function igt(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=dTe;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,tgt),s=h.negate(i.directionWC,ngt),a=h.dot(r,s);if(e.fadingEnabled){let c=P.clamp(a/.1,0,1);e._darkness=P.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===qt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ce.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,aTe),aTe);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===qt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ce.clone(o,e._boundingSphere)}}function ogt(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;F.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),F.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=uo.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,igt(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}tp.prototype.update=function(e){if(ogt(this,e),this._needsUpdate)if(M_t(this,e.context),this._isPointLight&&egt(this,e),this._cascadesEnabled&&(Z_t(this,e),this._numberOfCascades>1&&q_t(this,e)),this._isPointLight)this._shadowMapCullingVolume=bs.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;F.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&z_t(this,e)};tp.prototype.updatePass=function(e,t){lTe(this,e,t)};var rgt=new z;function hTe(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=rgt;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,ie.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return ie.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new ie,combinedUniforms2:new ie};return Ct(t,o,!1)}function sgt(e,t,n,i,o,r){let s,a,c;if(l(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=Ze.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!l(s)||o!==n.shaderProgram.id||t){let u=n.shaderProgram,f=n.pass===ve.GLOBE,d=n.pass!==ve.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,m=ep.getShadowCastShaderKeyword(p,f,g,d);if(s=i.shaderCache.getDerivedShaderProgram(u,m),!l(s)){let b=u.vertexShaderSource,T=u.fragmentShaderSource,A=ep.createShadowCastVertexShader(b,p,f),C=ep.createShadowCastFragmentShader(T,p,g,d);s=i.shaderCache.createDerivedShaderProgram(u,m,{vertexShaderSource:A,fragmentShaderSource:C,attributeLocations:u._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:f&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=He(a,!1),a.cull=He(a.cull,!1),a.cull.enabled=!1,a=Ve.fromCache(a)),c=hTe(e,n.uniformMap,f)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}tp.createReceiveDerivedCommand=function(e,t,n,i,o){l(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,u=t.pass===ve.GLOBE,f=!1;if(u&&(f=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let d,p;l(o.receiveCommand)&&(d=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=Ze.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,m=o.receiveShaderProgramId!==t.shaderProgram.id;if(!l(d)||m||n||g){let x=ep.getShadowReceiveShaderKeyword(e[0],t.castShadows,u,f);if(d=i.shaderCache.getDerivedShaderProgram(s,x),!l(d)){let b=ep.createShadowReceiveVertexShader(a,u,f),T=ep.createShadowReceiveFragmentShader(c,e[0],t.castShadows,u,f);d=i.shaderCache.createDerivedShaderProgram(s,x,{vertexShaderSource:b,fragmentShaderSource:T,attributeLocations:s._attributeLocations})}p=hTe(e[0],t.uniformMap,u)}o.receiveCommand.shaderProgram=d,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};tp.createCastDerivedCommand=function(e,t,n,i,o){if(l(o)||(o={}),t.castShadows){let r=o.castCommands;l(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=sgt(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};tp.prototype.isDestroyed=function(){return!1};tp.prototype.destroy=function(){gZ(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return ue(this)};var yg=tp;var oC=`uniform sampler2D colorTexture; + +#ifdef DEBUG_SHOW_DEPTH +uniform sampler2D u_packedTranslucentDepth; +#endif + +in vec2 v_textureCoordinates; + +void main() +{ +#ifdef DEBUG_SHOW_DEPTH + if (v_textureCoordinates.x < 0.5) + { + out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); + out_FragColor.a = 1.0; + } +#else + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef PICK + if (color == vec4(0.0)) + { + discard; + } +#else + // Reverse premultiplication process to get the correct composited result of the classification primitives + color.rgb /= color.a; +#endif + out_FragColor = color; +#endif +} +`;var agt=!1;function H0(e){this._drawClassificationFBO=new _i({createDepthAttachments:!1}),this._accumulationFBO=new _i({createDepthAttachments:!1}),this._packFBO=new _i,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new ni({color:new H(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new ni({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new We,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(H0.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function mTe(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function pTe(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function cgt(e,t,n,i){mTe(e),e._translucentDepthStencilTexture=new Pt({context:t,width:n,height:i,pixelFormat:nt.DEPTH_STENCIL,pixelDatatype:Ye.UNSIGNED_INT_24_8,sampler:Qt.NEAREST})}function lgt(e,t,n,i){pTe(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function ugt(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(cgt(e,t,o,r),lgt(e,t,o,r));let s,a;if(l(e._packDepthCommand)||(s=new Ue({sources:[t2]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!l(e._compositeCommand)){s=new Ue({sources:[oC]}),a={colorTexture:function(){return e._textureToComposite}},agt&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let f=e._compositeCommand,d=f.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(d,"pick",{vertexShaderSource:d.vertexShaderSource,fragmentShaderSource:new Ue({sources:s.sources,defines:["PICK"]}),attributeLocations:d._attributeLocations}),g=Ze.shallowClone(f);g.shaderProgram=p,f.derivedCommands.pick=g}l(e._copyCommand)||(s=new Ue({sources:[oC]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),l(e._accumulateCommand)||(s=new Ue({sources:[oC]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!We.equals(e._viewport,n.viewport),u=c!==e._useScissorTest;e._useScissorTest=c,We.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=We.clone(n.viewport,e._scissorRectangle),u=!0),(!l(e._rsDepth)||!We.equals(e._viewport,e._rsDepth.viewport)||u)&&(e._rsDepth=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!l(e._rsAccumulate)||!We.equals(e._viewport,e._rsAccumulate.viewport)||u)&&(e._rsAccumulate=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:Hn.EQUAL,reference:zt.CESIUM_3D_TILE_MASK}})),l(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!l(e._rsComp)||!We.equals(e._viewport,e._rsComp.viewport)||u)&&(e._rsComp=Ve.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:dn.ALPHA_BLEND})),l(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}H0.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=e.frameState.useLogDepth,s=e.context,a=n.framebuffer;for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,u.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}}if(this._hasTranslucentDepth){ugt(this,s,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(s,n);for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,!u.depthForTranslucentClassification)continue;let f=u.derivedCommands.depth.depthOnlyCommand;t(f,e,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(s,n)),n.framebuffer=a}};H0.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(ve.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[ve.CESIUM_3D_TILE_CLASSIFICATION],u=i.indices[ve.CESIUM_3D_TILE_CLASSIFICATION];for(let f=0;f<u;++f)t(c[f],e,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};H0.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),fgt(this,e,t)};function fgt(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}H0.prototype.isSupported=function(){return this._supported};H0.prototype.isDestroyed=function(){return!1};H0.prototype.destroy=function(){return mTe(this),pTe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),ue(this)};var yB=H0;function dgt(){this.command=void 0,this.near=void 0,this.far=void 0}function oG(e,t,n){let i=e.context,o;i.depthTexture&&(o=new fB);let r;e._useOIT&&i.depthTexture&&(r=new hB(i));let s=new oc(i);s.viewport=We.clone(n),this.camera=t,this._cameraClone=uo.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new gB(i),this.pickDepthFramebuffer=new pB,this.sceneFramebuffer=new nC,this.globeDepth=o,this.globeTranslucencyFramebuffer=new dB,this.oit=r,this.translucentTileClassification=new yB(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var xZ=new h,bZ=new h;function hgt(e,t,n){let i=Math.max(h.maximumComponent(h.abs(e.position,xZ)),h.maximumComponent(h.abs(t.position,bZ))),o=1/Math.max(1,i);return h.multiplyByScalar(e.position,o,xZ),h.multiplyByScalar(t.position,o,bZ),h.equalsEpsilon(xZ,bZ,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&F.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}oG.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return hgt(t,n,P.EPSILON15)?(this._cameraStartFired&&Ei()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=Ei(),uo.clone(t,n),!0)};function mgt(e,t,n,i){let{frameState:o}=t,{camera:r,useLogDepth:s}=o,a=s?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,c=t.mode===ne.SCENE2D,u=t.nearToFarDistance2D;i*=1+P.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n),isNaN(n)&&(n=r.frustum.near),isNaN(i)&&(i=r.frustum.far);let f;c?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),f=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):f=Math.ceil(Math.log(i/n)/Math.log(a));let{frustumCommandsList:d}=e;d.length=f;for(let p=0;p<f;++p){let g,m;c?(g=Math.min(i-u,n+p*u),m=Math.min(i,g+u)):(g=Math.max(n,Math.pow(a,p)*n),m=Math.min(i,a*g));let x=d[p];l(x)?(x.near=g,x.far=m):x=d[p]=new uB(g,m)}}function pgt(e,t,n){let{command:i,near:o,far:r}=n;t.debugShowFrustums&&(i.debugOverlappingFrustums=0);let{frustumCommandsList:s}=e;for(let a=0;a<s.length;++a){let c=s[a];if(o>c.far)continue;if(r<c.near)break;let u=i.pass,f=c.indices[u]++;if(c.commands[u][f]=i,t.debugShowFrustums&&(i.debugOverlappingFrustums|=1<<a),i.executeInClosestFrustum)break}if(t.debugShowFrustums){let{debugFrustumStatistics:a}=e,{debugOverlappingFrustums:c}=i,u=a.commandsInFrustums;u[c]=l(u[c])?u[c]+1:1,++a.totalCommands}t.updateDerivedCommands(i)}var _Te=new bs,_gt=new Pa;oG.prototype.createPotentiallyVisibleSet=function(e){let{frameState:t}=e,{camera:n,commandList:i,shadowState:o}=t,{positionWC:r,directionWC:s,frustum:a}=n,c=e._computeCommandList,u=e._overlayCommandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let f=this.frustumCommandsList;for(let M=0;M<f.length;++M)for(let N=0;N<ve.NUMBER_OF_PASSES;++N)f[M].indices[N]=0;c.length=0,u.length=0;let d=this._commandExtents,p=d.length,g=0,m=+Number.MAX_VALUE,x=-Number.MAX_VALUE,{shadowsEnabled:b}=o,T=+Number.MAX_VALUE,A=-Number.MAX_VALUE,C=Number.MAX_VALUE,E=t.mode===ne.SCENE3D?t.occluder:void 0,{cullingVolume:v}=t,D=_Te.planes;for(let M=0;M<5;++M)D[M]=v.planes[M];v=_Te;for(let M=0;M<i.length;++M){let N=i[M],{pass:_,boundingVolume:S}=N;if(_===ve.COMPUTE)c.push(N);else if(_===ve.OVERLAY)u.push(N);else{let w,I;if(l(S)){if(!e.isVisible(v,N,E))continue;let B=S.computePlaneDistances(r,s,_gt);if(w=B.start,I=B.stop,m=Math.min(m,w),x=Math.max(x,I),b&&N.receiveShadows&&w<yg.MAXIMUM_DISTANCE&&!(_===ve.GLOBE&&w<-100&&I>100)){let U=I-w;_!==ve.GLOBE&&w<100&&(C=Math.min(C,U)),T=Math.min(T,w),A=Math.max(A,I)}}else N instanceof ni?(w=a.near,I=a.far):(w=a.near,I=a.far,m=Math.min(m,w),x=Math.max(x,I));let L=d[g];l(L)||(L=d[g]=new dgt),L.command=N,L.near=w,L.far=I,g++}}b&&(T=Math.min(Math.max(T,a.near),a.far),A=Math.max(Math.min(A,a.far),T),o.nearPlane=T,o.farPlane=A,o.closestObjectSize=C),mgt(this,e,m,x);for(let M=0;M<g;M++)pgt(this,e,d[M]);if(g<p)for(let M=g;M<p;M++){let N=d[M];if(!l(N.command))break;N.command=void 0}let O=f.length,{frustumSplits:R}=t;R.length=O+1;for(let M=0;M<O;++M)R[M]=f[M].near,M===O-1&&(R[M+1]=f[M].far)};oG.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e=this.pickDepths;for(let t=0;t<e.length;++t)e[t].destroy()};var rC=oG;var yTe=.1,ggt=new fd({pass:zo.MOST_DETAILED_PRELOAD}),ygt=new fd({pass:zo.MOST_DETAILED_PICK}),xB=new fd({pass:zo.PICK});function ca(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new We(0,0,1,1),n=new uo(e);n.frustum=new cn({width:yTe,aspectRatio:1,near:.1}),this._pickOffscreenView=new rC(e,n,t)}ca.prototype.update=function(){this._pickPositionCacheDirty=!0};ca.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return l(i)||(i=new lB,n[t]=i),i};var xgt=new Ur,bgt=new h,rG=new h,Tgt=new z,Cgt=new F;function Agt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2*(t.x-o.x)/o.width-1;c*=(s.right-s.left)*.5;let u=2*(o.height-t.y-o.y)/o.height-1;u*=(s.top-s.bottom)*.5;let f=F.clone(r.transform,Cgt);r._setTransform(F.IDENTITY);let d=h.clone(r.position,bgt);h.multiplyByScalar(r.right,c,rG),h.add(rG,d,d),h.multiplyByScalar(r.up,u,rG),h.add(rG,d,d),r._setTransform(f),e.mode===ne.SCENE2D&&h.fromElements(d.z,d.x,d.y,d);let p=s.getPixelDimensions(o.width,o.height,1,1,Tgt),g=xgt;return g.right=p.x*.5,g.left=-g.right,g.top=p.y*.5,g.bottom=-g.top,g.near=s.near,g.far=s.far,g.computeCullingVolume(d,r.directionWC,r.upWC)}var Egt=new fl,Sgt=new z;function vgt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),u=s.aspectRatio*c,f=2*(t.x-o.x)/o.width-1,d=2*(o.height-t.y-o.y)/o.height-1,p=f*a*u,g=d*a*c,m=s.getPixelDimensions(o.width,o.height,1,1,Sgt),x=m.x*n*.5,b=m.y*i*.5,T=Egt;return T.top=g+b,T.bottom=g-b,T.right=p+x,T.left=p-x,T.near=a,T.far=s.far,T.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function sG(e,t,n,i,o){let r=e.camera.frustum;return r instanceof cn||r instanceof Ur?Agt(e,t,n,i,o):vgt(e,t,n,i,o)}var aG=new We(0,0,3,3),cG=new z,bB=new H(0,0,0,0);function TZ(e,t,n,i,o){return o.width=y(n,3),o.height=y(i,o.width),o.x=t.x-(o.width-1)*.5,o.y=e-t.y-(o.height-1)*.5,o}ca.prototype.pick=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=We.clone(a,u.viewport);let f=Hi.transformWindowToDrawingBuffer(e,t,cG),d=TZ(o.drawingBufferHeight,f,n,i,aG);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=sG(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pick=!0,r.tilesetPassState=xB,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,bB),e.resolveFramebuffers(u);let p=c.end(d);return o.endFrame(),p};ca.prototype.pickVoxelCoordinate=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=We.clone(a,u.viewport);let f=Hi.transformWindowToDrawingBuffer(e,t,cG),d=TZ(o.drawingBufferHeight,f,n,i,aG);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=sG(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pickVoxel=!0,r.tilesetPassState=xB,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,bB),e.resolveFramebuffers(u);let p=c.readCenterPixel(d);return o.endFrame(),p};ca.prototype.pickMetadata=function(e,t,n){let{context:i,frameState:o,defaultView:r}=e,{viewport:s,pickFramebuffer:a}=r;e.view=r,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=r.passState;c.viewport=We.clone(s,c.viewport);let u=Hi.transformWindowToDrawingBuffer(e,t,cG),f=TZ(i.drawingBufferHeight,u,1,1,aG);e.jobScheduler.disableThisFrame(),e.updateFrameState(),o.cullingVolume=sG(e,u,f.width,f.height,s),o.invertClassification=!1,o.passes.pick=!0,o.tilesetPassState=xB,o.pickingMetadata=!0,o.pickedMetadataInfo=n,i.uniformState.update(o),e.updateEnvironment(),c=a.begin(f,s),e.updateAndExecuteCommands(c,bB);let d=e._environmentState.useOIT;e._environmentState.useOIT=!1,e.resolveFramebuffers(c),e._environmentState.useOIT=d;let p=a.readCenterPixel(f);return i.endFrame(),o.pickingMetadata=!1,cB.decodeMetadataValues(n.classProperty,n.metadataProperty,p)};function wgt(e,t){let{defaultView:n,context:i,frameState:o,environmentState:r}=e,{viewport:s,pickDepthFramebuffer:a}=n;e.view=n,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=n.passState;c.viewport=We.clone(s,c.viewport),e.clearPasses(o.passes),o.passes.pick=!0,o.passes.depth=!0,o.cullingVolume=sG(e,t,1,1,s),o.tilesetPassState=xB,e.updateEnvironment(),r.renderTranslucentDepthForPick=!0,c=a.update(i,t,s),e.updateAndExecuteCommands(c,bB),e.resolveFramebuffers(c),i.endFrame()}var Dgt=new Pi,Igt=new fl,Pgt=new cn,Rgt=new Ur;ca.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let{context:o,frameState:r,camera:s,defaultView:a}=e,{uniformState:c}=o;e.view=a;let u=Hi.transformWindowToDrawingBuffer(e,t,cG);e.pickTranslucentDepth?wgt(e,u):(e.updateFrameState(),c.update(r),e.updateEnvironment()),u.y=e.drawingBufferHeight-u.y;let f;l(s.frustum.fov)?f=s.frustum.clone(Dgt):l(s.frustum.infiniteProjectionMatrix)?f=s.frustum.clone(Igt):l(s.frustum.width)?f=s.frustum.clone(Pgt):f=s.frustum.clone(Rgt);let{frustumCommandsList:d}=a,p=d.length;for(let g=0;g<p;++g){let x=this.getPickDepth(e,g).getDepth(o,u.x,u.y);if(l(x)&&x>0&&x<1){let b=d[g],T;return e.mode===ne.SCENE2D?(T=s.position.z,s.position.z=T-b.near+1,f.far=Math.max(1,b.far-b.near),f.near=1,c.update(r),c.updateFrustum(f)):(f.near=b.near*(g!==0?e.opaqueFrustumNearOffset:1),f.far=b.far,c.updateFrustum(f)),n=Hi.drawingBufferToWorldCoordinates(e,u,x,n),e.mode===ne.SCENE2D&&(s.position.z=T,c.update(r)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var Ogt=new fe;ca.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),l(n)&&e.mode!==ne.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,Ogt);o.cartographicToCartesian(r,n)}return n};function xTe(e,t){let n,i,o=[],r=[],s=[],a=[];l(e)||(e=Number.MAX_VALUE);let c=t();for(;l(c);){let u=c.object,f=c.position,d=c.exclude;if(l(f)&&!l(u)){o.push(c);break}if(!l(u)||!l(u.primitive)||!d&&(o.push(c),0>=--e))break;let p=u.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&l(u.id)&&(i=p.getGeometryInstanceAttributes(u.id),l(i)&&l(i.show)&&(g=!0,i.show=bn.toValue(!1,i.show),s.push(i))),u instanceof Ks&&(g=!0,u.show=!1,a.push(u)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=bn.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}ca.prototype.drillPick=function(e,t,n,i,o){let r=this;return xTe(n,function(){let c=r.pick(e,t,i,o);if(l(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var gTe=new h,Mgt=new h;function Lgt(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function bTe(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,gTe),s=h.cross(o,r,gTe),a=h.cross(o,s,Mgt);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,yTe),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function Ngt(e,t,n){let i=t.frameState,{ray:o,width:r,tilesets:s}=n,a=e._pickOffscreenView.camera,c=bTe(e,o,r,a),u=ggt;u.camera=a,u.cullingVolume=c;let f=!0,d=s.length;for(let p=0;p<d;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,u),f=f&&u.ready)}return f&&n._completePick(),f}ca.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)Ngt(this,e,t[n])&&t.splice(n--,1)};function TTe(e,t,n){for(let i=0;i<e.length;++i){let o=e.get(i);o.show&&(l(o.isCesium3DTileset)?(!l(t)||t.indexOf(o)===-1)&&n.push(o):o instanceof Ul&&TTe(o,t,n))}}function lG(e,t,n,i,o,r){let s=[];if(TTe(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new Lgt(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function Fgt(e,t){return!l(e)||!l(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function Bgt(e,t,n,i,o,r,s){let{context:a,frameState:c}=t,u=a.uniformState,f=e._pickOffscreenView;t.view=f,bTe(e,n,o,f.camera);let d=We.clone(f.viewport,aG),p=f.pickFramebuffer.begin(d,f.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),c.invertClassification=!1,c.passes.pick=!0,c.passes.offscreen=!0,s?c.tilesetPassState=ygt:c.tilesetPassState=xB,u.update(c),t.updateEnvironment(),t.updateAndExecuteCommands(p,bB),t.resolveFramebuffers(p);let g,m=f.pickFramebuffer.end(d);if(t.context.depthTexture){let{frustumCommandsList:x}=f,b=x.length;for(let T=0;T<b;++T){let C=e.getPickDepth(t,T).getDepth(a,0,0);if(l(C)&&C>0&&C<1){let E=x[T],v=E.near*(T!==0?t.opaqueFrustumNearOffset:1),D=E.far,O=v+C*(D-v);g=yn.getPoint(n,O);break}}}if(t.view=t.defaultView,a.endFrame(),l(m)||l(g))return{object:m,position:g,exclude:!l(g)&&r||Fgt(m,i)}}function CTe(e,t,n,i,o,r,s,a){return xTe(i,function(){return Bgt(e,t,n,o,r,s,a)})}function Sv(e,t,n,i,o,r,s){let a=CTe(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function ATe(e,t,n,i,o,r,s,a){return CTe(e,t,n,i,o,r,s,a)}function uG(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}ca.prototype.pickFromRay=function(e,t,n,i){return Sv(this,e,t,n,i,!1,!1)};ca.prototype.drillPickFromRay=function(e,t,n,i,o){return ATe(this,e,t,n,i,o,!1,!1)};ca.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=yn.clone(t),n=l(n)?n.slice():n,uG(e,lG(o,e,t,n,i,function(){return Sv(o,e,t,n,i,!1,!0)}))};ca.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=yn.clone(t),i=l(i)?i.slice():i,uG(e,lG(r,e,t,i,o,function(){return ATe(r,e,t,n,i,o,!1,!0)}))};var kgt=new h,Vgt=new h,Ugt=new yn,ETe=new fe;function CZ(e,t){let n=e.ellipsoid,i=fi._defaultMaxTerrainHeight,o=n.geodeticSurfaceNormalCartographic(t,Vgt),r=fe.toCartesian(t,n,kgt),s=Ugt;s.origin=r,s.direction=o;let a=new yn;return yn.getPoint(s,i,a.origin),h.negate(o,a.direction),a}function STe(e,t){let n=e.ellipsoid,i=fe.fromCartesian(t,n,ETe);return CZ(e,i)}function vTe(e,t){let n=e.ellipsoid;return fe.fromCartesian(t,n,ETe).height}function zgt(e,t,n,i,o){let r=CZ(t,n);return lG(e,t,r,i,o,function(){let s=Sv(e,t,r,i,o,!0,!0);if(l(s))return vTe(t,s.position)})}function Hgt(e,t,n,i,o,r){let s=STe(t,n);return lG(e,t,s,i,o,function(){let a=Sv(e,t,s,i,o,!0,!0);if(l(a))return h.clone(a.position,r)})}ca.prototype.sampleHeight=function(e,t,n,i){let o=CZ(e,t),r=Sv(this,e,o,n,i,!0,!1);if(l(r))return vTe(e,r.position)};ca.prototype.clampToHeight=function(e,t,n,i,o){let r=STe(e,t),s=Sv(this,e,r,n,i,!0,!1);if(l(s))return h.clone(s.position,o)};ca.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=zgt(this,e,t[s],n,i);return uG(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};ca.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Hgt(this,e,t[s],n,i,t[s]);return uG(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};ca.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var TB=ca;var CB=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + color /= texture(autoExposure, vec2(0.5)).r; +#else + color *= vec3(exposure); +#endif + color = czm_acesTonemapping(color); + color = czm_inverseGamma(color); + + out_FragColor = vec4(color, fragmentColor.a); +} +`;var AB=`precision highp float; + +uniform sampler2D randomTexture; +uniform sampler2D depthTexture; +uniform float intensity; +uniform float bias; +uniform float lengthCap; +uniform int stepCount; +uniform int directionCount; + +vec4 pixelToEye(vec2 screenCoordinate) +{ + vec2 uv = screenCoordinate / czm_viewport.zw; + float depth = czm_readDepth(depthTexture, uv); + vec2 xy = 2.0 * uv - vec2(1.0); + vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); + posEC = posEC / posEC.w; + // Avoid numerical error at far plane + if (depth >= 1.0) { + posEC.z = czm_currentFrustum.y; + } + return posEC; +} + +// Reconstruct surface normal in eye coordinates, avoiding edges +vec3 getNormalXEdge(vec3 positionEC) +{ + // Find the 3D surface positions at adjacent screen pixels + vec2 centerCoord = gl_FragCoord.xy; + vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0)).xyz; + vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0)).xyz; + vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0)).xyz; + vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0)).xyz; + + // Compute potential tangent vectors + vec3 dx0 = positionEC - positionLeft; + vec3 dx1 = positionRight - positionEC; + vec3 dy0 = positionEC - positionDown; + vec3 dy1 = positionUp - positionEC; + + // The shorter tangent is more likely to be on the same surface + vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1; + vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1; + + return normalize(cross(dx, dy)); +} + +const float sqrtTwoPi = sqrt(czm_twoPi); + +float gaussian(float x, float standardDeviation) { + float argument = x / standardDeviation; + return exp(-0.5 * argument * argument) / (sqrtTwoPi * standardDeviation); +} + +void main(void) +{ + vec4 positionEC = pixelToEye(gl_FragCoord.xy); + + // Exit if we are too close to the back of the frustum, where the depth value is invalid. + float maxValidDepth = czm_currentFrustum.y - lengthCap; + if (-positionEC.z > maxValidDepth) + { + out_FragColor = vec4(1.0); + return; + } + + vec3 normalEC = getNormalXEdge(positionEC.xyz); + float gaussianVariance = lengthCap * sqrt(-positionEC.z); + // Choose a step length such that the marching stops just before 3 * variance. + float stepLength = 3.0 * gaussianVariance / (float(stepCount) + 1.0); + float metersPerPixel = czm_metersPerPixel(positionEC, 1.0); + // Minimum step is 1 pixel to avoid double sampling + float pixelsPerStep = max(stepLength / metersPerPixel, 1.0); + stepLength = pixelsPerStep * metersPerPixel; + + float angleStepScale = 1.0 / float(directionCount); + float angleStep = angleStepScale * czm_twoPi; + float cosStep = cos(angleStep); + float sinStep = sin(angleStep); + mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep); + + // Initial sampling direction (different for each pixel) + const float randomTextureSize = 255.0; + vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize); + float randomVal = texture(randomTexture, randomTexCoord).x; + vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal)); + + float ao = 0.0; + // Loop over sampling directions +#if __VERSION__ == 300 + for (int i = 0; i < directionCount; i++) + { +#else + for (int i = 0; i < 16; i++) + { + if (i >= directionCount) { + break; + } +#endif + sampleDirection = rotateStep * sampleDirection; + + float localAO = 0.0; + vec2 radialStep = pixelsPerStep * sampleDirection; + +#if __VERSION__ == 300 + for (int j = 0; j < stepCount; j++) + { +#else + for (int j = 0; j < 64; j++) + { + if (j >= stepCount) { + break; + } +#endif + // Step along sampling direction, away from output pixel + vec2 samplePixel = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5); + + // Exit if we stepped off the screen + if (clamp(samplePixel, vec2(0.0), czm_viewport.zw) != samplePixel) { + break; + } + + // Compute step vector from output point to sampled point + vec4 samplePositionEC = pixelToEye(samplePixel); + vec3 stepVector = samplePositionEC.xyz - positionEC.xyz; + + // Estimate the angle from the surface normal. + float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0); + dotVal = czm_branchFreeTernary(dotVal > bias, dotVal, 0.0); + dotVal = czm_branchFreeTernary(-samplePositionEC.z <= maxValidDepth, dotVal, 0.0); + + // Weight contribution based on the distance from the output point + float sampleDistance = length(stepVector); + float weight = gaussian(sampleDistance, gaussianVariance); + localAO += weight * dotVal; + } + ao += localAO; + } + + ao *= angleStepScale * stepLength; + ao = 1.0 - clamp(ao, 0.0, 1.0); + ao = pow(ao, intensity); + out_FragColor = vec4(vec3(ao), 1.0); +} +`;var EB=`uniform sampler2D colorTexture; +uniform sampler2D ambientOcclusionTexture; +uniform bool ambientOcclusionOnly; +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); + out_FragColor = ambientOcclusionOnly ? ao : ao * color; +} +`;var SB=`uniform sampler2D colorTexture; +uniform float gradations; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = vec4(rgb, 1.0); + return; + } +#endif + float luminance = czm_luminance(rgb); + float darkness = luminance * gradations; + darkness = (darkness - fract(darkness)) / gradations; + out_FragColor = vec4(vec3(darkness), 1.0); +} +`;var vB=`uniform sampler2D colorTexture; +uniform sampler2D bloomTexture; +uniform bool glowOnly; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = color; + return; + } +#endif + + vec4 bloom = texture(bloomTexture, v_textureCoordinates); + out_FragColor = glowOnly ? bloom : bloom + color; +} +`;var wB=`uniform sampler2D colorTexture; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 target = vec3(0.0); + out_FragColor = vec4(mix(target, rgb, brightness), 1.0); +} +`;var DB=`uniform sampler2D colorTexture; +uniform float contrast; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; + sceneColor = czm_RGBToHSB(sceneColor); + sceneColor.z += brightness; + sceneColor = czm_HSBToRGB(sceneColor); + + float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); + sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); + out_FragColor = vec4(sceneColor, 1.0); +} +`;var IB=`uniform sampler2D colorTexture; +uniform sampler2D blurTexture; +uniform sampler2D depthTexture; +uniform float focalDistance; + +in vec2 v_textureCoordinates; + +vec4 toEye(vec2 uv, float depth) +{ + vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); + vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); + posInCamera = posInCamera / posInCamera.w; + return posInCamera; +} + +float computeDepthBlur(float depth) +{ + float f; + if (depth < focalDistance) + { + f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); + } + else + { + f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); + f = pow(f, 0.1); + } + f *= f; + f = clamp(f, 0.0, 1.0); + return pow(f, 0.5); +} + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + vec4 posInCamera = toEye(v_textureCoordinates, depth); + float d = computeDepthBlur(-posInCamera.z); + out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); +} +`;var PB=`uniform sampler2D depthTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + out_FragColor = vec4(vec3(depth), 1.0); +} +`;var RB=`uniform sampler2D depthTexture; +uniform float length; +uniform vec4 color; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float directions[3]; + directions[0] = -1.0; + directions[1] = 0.0; + directions[2] = 1.0; + + float scalars[3]; + scalars[0] = 3.0; + scalars[1] = 10.0; + scalars[2] = 3.0; + + float padx = czm_pixelRatio / czm_viewport.z; + float pady = czm_pixelRatio / czm_viewport.w; + +#ifdef CZM_SELECTED_FEATURE + bool selected = false; + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + selected = selected || czm_selected(vec2(-padx, dir * pady)); + selected = selected || czm_selected(vec2(padx, dir * pady)); + selected = selected || czm_selected(vec2(dir * padx, -pady)); + selected = selected || czm_selected(vec2(dir * padx, pady)); + if (selected) + { + break; + } + } + if (!selected) + { + out_FragColor = vec4(color.rgb, 0.0); + return; + } +#endif + + float horizEdge = 0.0; + float vertEdge = 0.0; + + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + float scale = scalars[i]; + + horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; + horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; + + vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; + vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; + } + + float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); + out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); +} +`;var OB=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See slides 142 and 143: +// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + + const float A = 0.22; // shoulder strength + const float B = 0.30; // linear strength + const float C = 0.10; // linear angle + const float D = 0.20; // toe strength + const float E = 0.01; // toe numerator + const float F = 0.30; // toe denominator + + const float white = 11.2; // linear white point value + + vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; + float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; + + c = czm_inverseGamma(c / w); + out_FragColor = vec4(c, fragmentColor.a); +} +`;var MB=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + color /= texture(autoExposure, vec2(0.5)).r; +#else + color *= vec3(exposure); +#endif + color = czm_pbrNeutralTonemapping(color); + color = czm_inverseGamma(color); + + out_FragColor = vec4(color, fragmentColor.a); +} +`;var LB=`in vec2 v_textureCoordinates; + +uniform sampler2D colorTexture; + +const float fxaaQualitySubpix = 0.5; +const float fxaaQualityEdgeThreshold = 0.125; +const float fxaaQualityEdgeThresholdMin = 0.0833; + +void main() +{ + vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; + vec4 color = FxaaPixelShader( + v_textureCoordinates, + colorTexture, + fxaaQualityRcpFrame, + fxaaQualitySubpix, + fxaaQualityEdgeThreshold, + fxaaQualityEdgeThresholdMin); + float alpha = texture(colorTexture, v_textureCoordinates).a; + out_FragColor = vec4(color.rgb, alpha); +} +`;var G0=`#define SAMPLES 8 + +uniform float delta; +uniform float sigma; +uniform float direction; // 0.0 for x direction, 1.0 for y direction + +uniform sampler2D colorTexture; + +#ifdef USE_STEP_SIZE +uniform float stepSize; +#else +uniform vec2 step; +#endif + +in vec2 v_textureCoordinates; + +// Incremental Computation of the Gaussian: +// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html + +void main() +{ + vec2 st = v_textureCoordinates; + vec2 dir = vec2(1.0 - direction, direction); + +#ifdef USE_STEP_SIZE + vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); +#else + vec2 step = step; +#endif + + vec3 g; + g.x = 1.0 / (sqrt(czm_twoPi) * sigma); + g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); + g.z = g.y * g.y; + + vec4 result = texture(colorTexture, st) * g.x; + for (int i = 1; i < SAMPLES; ++i) + { + g.xy *= g.yz; + + vec2 offset = float(i) * dir * step; + result += texture(colorTexture, st - offset) * g.x; + result += texture(colorTexture, st + offset) * g.x; + } + + out_FragColor = result; +} +`;var NB=`uniform sampler2D colorTexture; +uniform sampler2D dirtTexture; +uniform sampler2D starTexture; +uniform vec2 dirtTextureDimensions; +uniform float distortion; +uniform float ghostDispersal; +uniform float haloWidth; +uniform float dirtAmount; +uniform float earthRadius; +uniform float intensity; + +in vec2 v_textureCoordinates; + +// whether it is in space or not +// 6500000.0 is empirical value +#define DISTANCE_TO_SPACE 6500000.0 + +// return ndc from world coordinate biased earthRadius +vec4 getNDCFromWC(vec3 WC, float earthRadius) +{ + vec4 positionEC = czm_view * vec4(WC, 1.0); + positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); +} + +// Check if current pixel is included Earth +// if then mask it gradually +float isInEarth(vec2 texcoord, vec2 sceneSize) +{ + vec2 NDC = texcoord * 2.0 - 1.0; + vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); + vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); + NDC.xy -= earthPosSC.xy; + + float X = abs(NDC.x) * sceneSize.x; + float Y = abs(NDC.y) * sceneSize.y; + + return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); +} + +// For Chromatic effect +vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) +{ + vec2 sceneSize = czm_viewport.zw; + vec3 color; + if(isSpace) + { + color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; + color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; + color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; + } + else + { + color.r = texture(tex, texcoord + direction * distortion.r).r; + color.g = texture(tex, texcoord + direction * distortion.g).g; + color.b = texture(tex, texcoord + direction * distortion.b).b; + } + return vec4(clamp(color, 0.0, 1.0), 0.0); +} + +void main(void) +{ + vec4 originalColor = texture(colorTexture, v_textureCoordinates); + vec3 rgb = originalColor.rgb; + bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; + + // Sun position + vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); + vec4 sunPositionEC = czm_view * sunPos; + vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); + sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); + + // If sun is not in the screen space, use original color. + if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) + { + // Lens flare is disabled when not in space until #5932 is fixed. + // https://github.com/CesiumGS/cesium/issues/5932 + out_FragColor = originalColor; + return; + } + + vec2 texcoord = vec2(1.0) - v_textureCoordinates; + vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; + vec2 invPixelSize = 1.0 / pixelSize; + vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); + + // ghost vector to image centre: + vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; + vec3 direction = normalize(vec3(ghostVec, 0.0)); + + // sample ghosts: + vec4 result = vec4(0.0); + vec4 ghost = vec4(0.0); + for (int i = 0; i < 4; ++i) + { + vec2 offset = fract(texcoord + ghostVec * float(i)); + // Only bright spots from the centre of the source image + ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); + } + result += ghost; + + // sample halo + vec2 haloVec = normalize(ghostVec) * haloWidth; + float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); + weightForHalo = pow(1.0 - weightForHalo, 5.0); + + result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; + + // dirt on lens + vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; + if (dirtTexCoords.x > 1.0) + { + dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); + } + if (dirtTexCoords.y > 1.0) + { + dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); + } + result += dirtAmount * texture(dirtTexture, dirtTexCoords); + + // Rotating starburst texture's coordinate + // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) + float camrot = czm_view[0].z + czm_view[1].y; + float cosValue = cos(camrot); + float sinValue = sin(camrot); + mat3 rotation = mat3( + cosValue, -sinValue, 0.0, + sinValue, cosValue, 0.0, + 0.0, 0.0, 1.0 + ); + + vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); + vec3 st2 = vec3((rotation * st1).xy, 1.0); + vec3 st3 = st2 * 0.5 + vec3(0.5); + vec2 lensStarTexcoord = st3.xy; + float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); + float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); + + if (!isSpace) + { + result *= oneMinusWeightForLensFlare * intensity * 0.2; + } + else + { + result *= oneMinusWeightForLensFlare * intensity; + result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; + } + + result += texture(colorTexture, v_textureCoordinates); + + out_FragColor = result; +} +`;var FB=`uniform sampler2D colorTexture; +uniform vec3 white; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See equation 4: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + color = (color * (1.0 + color / white)) / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var BB=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +float rand(vec2 co) +{ + return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 green = vec3(0.0, 1.0, 0.0); + out_FragColor = vec4((noiseValue + rgb) * green, 1.0); +} +`;var kB=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See equation 3: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + color = color / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var VB=`uniform sampler2D colorTexture; +uniform sampler2D silhouetteTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); + vec4 color = texture(colorTexture, v_textureCoordinates); + out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); +} +`;function sC(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new _i,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new z,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(sC.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let e=this._framebuffers;if(l(e))return e[e.length-1].getColorTexture(0)}}});function wTe(e){let t=e._framebuffers;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function Ggt(e,t){wTe(e);let n=e._width,i=e._height,o=t.halfFloatingPointTexture?Ye.HALF_FLOAT:Ye.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),s=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),s[c]=new _i,s[c].update(t,n,i,1,o);let a=s[r-1].getColorTexture(0);e._previousLuminance.update(t,a.width,a.height,1,o),e._framebuffers=s}function DTe(e){let t=e._commands;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function Wgt(e,t){let n;if(t===0)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{let i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function jgt(e,t){let n=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +float sampleTexture(vec2 offset) { +`;return e===0?n+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); + return czm_luminance(color.rgb); +`:n+=` return texture(colorTexture, v_textureCoordinates + offset).r; +`,n+=`} + +`,n+=`uniform vec2 colorTextureDimensions; +uniform vec2 minMaxLuminance; +uniform sampler2D previousLuminance; +void main() { + float color = 0.0; + float xStep = 1.0 / colorTextureDimensions.x; + float yStep = 1.0 / colorTextureDimensions.y; + int count = 0; + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + vec2 offset; + offset.x = -xStep + float(i) * xStep; + offset.y = -yStep + float(j) * yStep; + if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { + continue; + } + color += sampleTexture(offset); + ++count; + } + } + if (count > 0) { + color /= float(count); + } +`,e===t-1&&(n+=` float previous = texture(previousLuminance, vec2(0.5)).r; + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); + color = previous + (color - previous) / (60.0 * 1.5); + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); +`),n+=` out_FragColor = vec4(color); +} +`,n}function qgt(e,t){DTe(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(jgt(r,i),{framebuffer:n[r].framebuffer,uniformMap:Wgt(e,r)});e._commands=o}sC.prototype.clear=function(e){let t=this._framebuffers;if(!l(t))return;let n=this._clearCommand;l(n)||(n=this._clearCommand=new ni({color:new H(0,0,0,0),framebuffer:void 0}));let i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)};sC.prototype.update=function(e){let t=e.drawingBufferWidth,n=e.drawingBufferHeight;(t!==this._width||n!==this._height)&&(this._width=t,this._height=n,Ggt(this,e),qgt(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o};sC.prototype.execute=function(e,t){this._colorTexture=t;let n=this._commands;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o)n[o].execute(e)};sC.prototype.isDestroyed=function(){return!1};sC.prototype.destroy=function(){return wTe(this),DTe(this),ue(this)};var UB=sC;var Ygt={NEAREST:0,LINEAR:1},Ju=Ygt;function aC(e){e=y(e,y.EMPTY_OBJECT);let{name:t=Wn(),fragmentShader:n,uniforms:i,textureScale:o=1,forcePowerOfTwo:r=!1,sampleMode:s=Ju.NEAREST,pixelFormat:a=nt.RGBA,pixelDatatype:c=Ye.UNSIGNED_BYTE,clearColor:u=H.BLACK,scissorRectangle:f}=e;this._fragmentShader=n,this._uniforms=i,this._textureScale=o,this._forcePowerOfTwo=r,this._sampleMode=s,this._pixelFormat=a,this._pixelDatatype=c,this._clearColor=u,this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let d=new oc;d.scissorTest={enabled:!0,rectangle:l(f)?We.clone(f):new We},this._passState=d,this._ready=!1,this._name=t,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(aC.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(l(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(l(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var Xgt=/uniform\s+sampler2D\s+depthTexture/g;aC.prototype._isSupported=function(e){return!Xgt.test(this._fragmentShader)||e.depthTexture};function Kgt(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];l(a)&&a!==r&&a instanceof Pt&&!l(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof Pt&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function Zgt(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function $gt(e,t){return function(){let n=e[t]();if(l(n))return n.dimensions}}function Qgt(e){if(l(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i){if(!i.hasOwnProperty(r))continue;typeof i[r]!="function"?(t[r]=Zgt(e,r),n[r]=Kgt(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof Pt||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=$gt(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=Ct(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function Jgt(e,t){return e=e.replace(/in\s+vec2\s+v_textureCoordinates;/g,""),`#define CZM_SELECTED_FEATURE +uniform sampler2D czm_idTexture; +uniform sampler2D czm_selectedIdTexture; +uniform float czm_selectedIdTextureStep; +in vec2 v_textureCoordinates; +bool czm_selected(vec2 offset) +{ + bool selected = false; + vec4 id = texture(czm_idTexture, v_textureCoordinates + offset); + for (int i = 0; i < ${t}; ++i) + { + vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); + if (all(equal(id, selectedId))) + { + return true; + } + } + return false; +} +bool czm_selected() +{ + return czm_selected(vec2(0.0)); +} + +${e}`}function eyt(e,t){if(l(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(l(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=Jgt(n,o)}let i=new Ue({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function tyt(e){let t=e._sampleMode,n,i;t===Ju.LINEAR?(n=$t.LINEAR,i=pi.LINEAR):(n=$t.NEAREST,i=pi.NEAREST);let o=e._sampler;(!l(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function nyt(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function iyt(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function oyt(e,t){let n=e._texturesToRelease;for(let a=0;a<n.length;++a){let c=n[a];c=c&&c.destroy()}n.length=0;let i=e._texturesToCreate;for(let a=0;a<i.length;++a){let{name:c,source:u}=i[a];e._actualUniforms[c]=new Pt({context:t,source:u})}i.length=0;let o=e._dirtyUniforms;if(o.length===0&&!l(e._texturePromise)){e._ready=!0;return}if(o.length===0||l(e._texturePromise))return;let r=e._uniforms,s=[];for(let a=0;a<o.length;++a){let c=o[a],u=r[c],f=e._textureCache.getStageByName(u);if(l(f))e._actualUniforms[c]=iyt(e,u);else if(typeof u=="string"){let d=new Ae({url:u});s.push(d.fetchImage().then(nyt(e,c)))}else e._texturesToCreate.push({name:c,source:u})}o.length=0,s.length>0?(e._ready=!1,e._texturePromise=Promise.all(s).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function ITe(e){l(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!l(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i){if(!i.hasOwnProperty(o))continue;let r=i[o];r instanceof Pt&&(l(t.getStageByName(n[o]))||r.destroy(),e._dirtyUniforms.push(o))}}function ryt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength;if(l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;for(let o=0;o<e._combinedSelected.length;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function syt(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!l(n))return;let i=0;for(let s=0;s<n.length;++s){let a=n[s];l(a.pickIds)?i+=a.pickIds.length:l(a.pickId)&&++i}if(n.length===0||i===0){let s=new Uint8Array([255,255,255,255]);e._selectedIdTexture=new Pt({context:t,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,source:{arrayBufferView:s,width:1,height:1},sampler:Qt.NEAREST});return}let o=0,r=new Uint8Array(i*4);for(let s=0;s<n.length;++s){let a=n[s];if(l(a.pickIds)){let c=a.pickIds,u=c.length;for(let f=0;f<u;++f){let d=c[f].color;r[o]=H.floatToByte(d.red),r[o+1]=H.floatToByte(d.green),r[o+2]=H.floatToByte(d.blue),r[o+3]=H.floatToByte(d.alpha),o+=4}}else if(l(a.pickId)){let c=a.pickId.color;r[o]=H.floatToByte(c.red),r[o+1]=H.floatToByte(c.green),r[o+2]=H.floatToByte(c.blue),r[o+3]=H.floatToByte(c.alpha),o+=4}}e._selectedIdTexture=new Pt({context:t,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,source:{arrayBufferView:r,width:i,height:1},sampler:Qt.NEAREST})}aC.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&&ITe(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=ryt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0,syt(this,e),Qgt(this),oyt(this,e),eyt(this,e),tyt(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!l(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!l(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=Ve.fromCache({viewport:new We(0,0,i.width,i.height)}))),this._command.renderState=o};aC.prototype.execute=function(e,t,n,i){if(!l(this._command)||!l(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,Qt.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;l(o)&&(o.context=e),this._command.execute(e,o)};aC.prototype.isDestroyed=function(){return!1};aC.prototype.destroy=function(){return ITe(this),ue(this)};var xo=aC;function cC(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;l(t)||(t=Wn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(cC.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});cC.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};cC.prototype.get=function(e){return this._stages[e]};function ayt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}cC.prototype.update=function(e,t){this._selectedDirty=ayt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};cC.prototype.isDestroyed=function(){return!1};cC.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var Jl=cC;var Lr={};function AZ(e){let o=`#define USE_STEP_SIZE +${G0}`,r=new xo({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:Ju.LINEAR}),s=new xo({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:Ju.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let u=r.uniforms,f=s.uniforms;u.delta=f.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let u=r.uniforms,f=s.uniforms;u.sigma=f.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let u=r.uniforms,f=s.uniforms;u.stepSize=f.stepSize=c}}}),new Jl({name:e,stages:[r,s],uniforms:a})}Lr.createBlurStage=function(){return AZ("czm_blur")};Lr.createDepthOfFieldStage=function(){let e=AZ("czm_depth_of_field_blur"),t=new xo({name:"czm_depth_of_field_composite",fragmentShader:IB,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new Jl({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Lr.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Lr.createEdgeDetectionStage=function(){let e=Wn();return new xo({name:`czm_edge_detection_${e}`,fragmentShader:RB,uniforms:{length:.25,color:H.clone(H.BLACK)}})};Lr.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function cyt(e){if(!l(e))return Lr.createEdgeDetectionStage();let t=new Jl({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a}; +`,o+=` vec4 edge${a} = texture(edgeTexture${a}, v_textureCoordinates); + if (edge${a}.a > 0.0) + { + color = edge${a}; + break; + } +`,n[`edgeTexture${a}`]=e[a].name;let r=`${i}in vec2 v_textureCoordinates; +void main() { + vec4 color = vec4(0.0); + for (int i = 0; i < ${e.length}; i++) + { +${o} } + out_FragColor = color; +} +`,s=new xo({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new Jl({name:"czm_edge_detection_composite",stages:[t,s]})}Lr.createSilhouetteStage=function(e){let t=cyt(e),n=new xo({name:"czm_silhouette_color_edges",fragmentShader:VB,uniforms:{silhouetteTexture:t.name}});return new Jl({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Lr.isSilhouetteSupported=function(e){return e.context.depthTexture};Lr.createBloomStage=function(){let e=new xo({name:"czm_bloom_contrast_bias",fragmentShader:DB,uniforms:{contrast:128,brightness:-.3}}),t=AZ("czm_bloom_blur"),n=new Jl({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new xo({name:"czm_bloom_generate_composite",fragmentShader:vB,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new Jl({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Lr.createAmbientOcclusionStage=function(){let e=new xo({name:"czm_ambient_occlusion_generate",fragmentShader:AB,uniforms:{intensity:3,bias:.1,lengthCap:.26,directionCount:8,stepCount:32,randomTexture:void 0}}),t=new xo({name:"czm_ambient_occlusion_composite",fragmentShader:EB,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:e.name}}),n={};return Object.defineProperties(n,{intensity:{get:function(){return e.uniforms.intensity},set:function(i){e.uniforms.intensity=i}},bias:{get:function(){return e.uniforms.bias},set:function(i){e.uniforms.bias=i}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(i){e.uniforms.lengthCap=i}},directionCount:{get:function(){return e.uniforms.directionCount},set:function(i){e.uniforms.directionCount=i}},stepCount:{get:function(){return e.uniforms.stepCount},set:function(i){e.uniforms.stepCount=i}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(i){e.uniforms.randomTexture=i}},ambientOcclusionOnly:{get:function(){return t.uniforms.ambientOcclusionOnly},set:function(i){t.uniforms.ambientOcclusionOnly=i}}}),new Jl({name:"czm_ambient_occlusion",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Lr.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var lyt=`#define FXAA_QUALITY_PRESET 39 +${r2} +${LB}`;Lr.createFXAAStage=function(){return new xo({name:"czm_FXAA",fragmentShader:lyt,sampleMode:Ju.LINEAR})};Lr.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=CB,new xo({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Lr.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=OB,new xo({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Lr.createPbrNeutralTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=MB,new xo({name:"czm_pbr_neutral",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Lr.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=kB,new xo({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Lr.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=FB,new xo({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:H.WHITE,autoExposure:void 0,exposure:1}})};Lr.createAutoExposureStage=function(){return new UB};Lr.createBlackAndWhiteStage=function(){return new xo({name:"czm_black_and_white",fragmentShader:SB,uniforms:{gradations:5}})};Lr.createBrightnessStage=function(){return new xo({name:"czm_brightness",fragmentShader:wB,uniforms:{brightness:.5}})};Lr.createNightVisionStage=function(){return new xo({name:"czm_night_vision",fragmentShader:BB})};Lr.createDepthViewStage=function(){return new xo({name:"czm_depth_view",fragmentShader:PB})};Lr.createLensFlareStage=function(){return new xo({name:"czm_lens_flare",fragmentShader:NB,uniforms:{dirtTexture:sn("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:sn("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:ee.WGS84.maximumRadius}})};var ef=Lr;function xg(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function HB(e){for(;l(e.length);)e=e.get(e.length-1);return e.name}function EZ(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(l(o)){let a=e.getStageByName(o);r[HB(a)]=!0}let s=i.uniforms;if(l(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let u=0;u<c;++u){let f=s[a[u]];if(typeof f=="string"){let d=e.getStageByName(f);l(d)&&(r[HB(d)]=!0)}}}return i.name}function zB(e,t,n,i,o){if(l(i.enabled)&&!i.enabled||l(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!l(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let d=0;d<c;++d){let p=i.get(d);l(p.length)?a=zB(e,t,n,p,o):a=EZ(e,t,n,p,o),s&&(o=a)}let u,f;if(s)for(u=1;u<c;++u)f=HB(i.get(u)),l(n[f])||(n[f]={}),n[f][r]=!0;else for(u=1;u<c;++u){f=HB(i.get(u));let d=n[f];for(let p=0;p<u;++p)d[HB(i.get(p))]=!0}return a}function uyt(e,t){let n={};if(l(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=zB(e,t,n,i,void 0);a=zB(e,t,n,o,a),a=EZ(e,t,n,r,a),a=zB(e,t,n,e,a),EZ(e,t,n,s,a)}else zB(e,t,n,e,void 0);return n}function fyt(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,u=o._clearColor,f,d,p=e._framebuffers,g=p.length;for(f=0;f<g;++f){if(d=p[f],r!==d.textureScale||s!==d.forcePowerOfTwo||a!==d.pixelFormat||c!==d.pixelDatatype||!H.equals(u,d.clearColor))continue;let m=d.stages,x=m.length,b=!1;for(let T=0;T<x;++T)if(n[m[T]]){b=!0;break}if(!b)break}return l(d)&&f<g?(d.stages.push(t),d):(d={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:u,stages:[t],buffer:new _i({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(d),d)}function dyt(e,t){let n=uyt(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=fyt(e,i,n[i]))}function SZ(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function hyt(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,u=Math.ceil(n*c),f=Math.ceil(i*c),d=Math.min(u,f);a.forcePowerOfTwo&&(P.isPowerOfTwo(d)||(d=P.nextPowerOfTwo(d)),u=d,f=d),a.buffer.update(t,u,f),a.clear=new ni({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}xg.prototype.updateDependencies=function(){this._updateDependencies=!0};xg.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=l(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=l(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=l(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=l(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!l(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(SZ(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&dyt(this,e);let c=e.drawingBufferWidth,u=e.drawingBufferHeight,f=this._width!==c||this._height!==u;!n&&!f||(this._width=c,this._height=u,this._updateDependencies=!1,SZ(this),hyt(this,e))};xg.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};xg.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};xg.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};xg.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(l(t))return t.buffer.framebuffer};xg.prototype.isDestroyed=function(){return!1};xg.prototype.destroy=function(){return SZ(this),ue(this)};var lC=xg;var myt={REINHARD:"REINHARD",MODIFIED_REINHARD:"MODIFIED_REINHARD",FILMIC:"FILMIC",ACES:"ACES",PBR_NEUTRAL:"PBR_NEUTRAL"};var bg=Object.freeze(myt);var vZ=[];function ml(){let e=ef.createFXAAStage(),t=ef.createAmbientOcclusionStage(),n=ef.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=ef.createAutoExposureStage(),this._exposure=1,this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=bg.PBR_NEUTRAL;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new lC(this),r={},s=vZ;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let u=c.length;if(l(u))for(let f=0;f<u;++f)s.push(c.get(f))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(ml.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return wZ(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(l(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!l(t))continue;if(l(t.selected))return!0;let n=t.length;if(l(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;l(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case bg.REINHARD:n=ef.createReinhardTonemappingStage(t);break;case bg.MODIFIED_REINHARD:n=ef.createModifiedReinhardTonemappingStage(t);break;case bg.FILMIC:n=ef.createFilmicTonemappingStage(t);break;case bg.PBR_NEUTRAL:n=ef.createPbrNeutralTonemappingStage(t);break;default:n=ef.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}else n.uniforms.exposure=this._exposure;this._tonemapper=e,this._tonemapping=n,l(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}},exposure:{get:function(){return this._exposure},set:function(e){this._tonemapping.uniforms.exposure=e,this._exposure=e}}});function wZ(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages;for(let i=0,o=0;i<n.length;++i){let r=n[i];r&&(r._index=o++,t.push(r))}e._stages=t}ml.prototype.add=function(e){let t=this._stageNames,n=vZ;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(l(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};ml.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=vZ;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(l(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};ml.prototype.contains=function(e){return l(e)&&l(e._index)&&e._textureCache===this._textureCache};ml.prototype.get=function(e){return wZ(this),this._stages[e]};ml.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};ml.prototype.getStageByName=function(e){return this._stageNames[e]};ml.prototype.update=function(e,t,n){wZ(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages;o.length=r.length;let s=0;for(let T=0;T<r.length;++T){let A=r[T];A.ready&&A.enabled&&A._isSupported(e)&&(o[s++]=A)}o.length=s;let a=s!==i.length;if(!a){for(let T=0;T<s;++T)if(o[T]!==i[T]){a=!0;break}}let c=this._ao,u=this._bloom,f=this._autoExposure,d=this._tonemapping,p=this._fxaa;d.enabled=n;let g=c.enabled&&c._isSupported(e),m=u.enabled&&u._isSupported(e),x=d.enabled&&d._isSupported(e),b=p.enabled&&p._isSupported(e);if((a||this._textureCacheDirty||g!==this._aoEnabled||m!==this._bloomEnabled||x!==this._tonemappingEnabled||b!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=g,this._bloomEnabled=m,this._tonemappingEnabled=x,this._fxaaEnabled=b,this._textureCacheDirty=!1),l(this._randomTexture)&&!g&&(this._randomTexture.destroy(),this._randomTexture=void 0),!l(this._randomTexture)&&g){let A=new Uint8Array(196608);for(let C=0;C<196608;C+=3)A[C]=Math.floor(Math.random()*255);this._randomTexture=new Pt({context:e,pixelFormat:nt.RGB,pixelDatatype:Ye.UNSIGNED_BYTE,source:{arrayBufferView:A,width:256,height:256},sampler:new Qt({wrapS:En.REPEAT,wrapT:En.REPEAT,minificationFilter:$t.NEAREST,magnificationFilter:pi.NEAREST})})}this._textureCache.update(e),p.update(e,t),c.update(e,t),u.update(e,t),d.update(e,t),this._autoExposureEnabled&&f.update(e,t);for(let T=0;T<r.length;++T)r[T].update(e,t);s=0;for(let T=0;T<r.length;++T){let A=r[T];A.ready&&A.enabled&&A._isSupported(e)&&s++}a=s!==o.length,a&&this.update(e,t,n)};ml.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function uC(e){for(;l(e.length);)e=e.get(e.length-1);return e.outputTexture}ml.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(l(t))return uC(t)};function ip(e,t,n,i,o){if(l(e.execute)){e.execute(t,n,i,o);return}if(e.inputPreviousStageTexture){ip(e.get(0),t,n,i,o);for(let r=1;r<e.length;++r)ip(e.get(r),t,uC(e.get(r-1)),i,o)}else for(let r=0;r<e.length;++r)ip(e.get(r),t,n,i,o)}ml.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,u=this._autoExposure,f=this._tonemapping,d=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,m=f.enabled&&f._isSupported(e),x=s.enabled&&s._isSupported(e);if(!x&&!d&&!p&&!m&&r===0)return;let b=t;d&&a.ready&&(ip(a,e,b,n,i),b=uC(a)),p&&c.ready&&(ip(c,e,b,n,i),b=uC(c)),g&&u.ready&&ip(u,e,b,n,i),m&&f.ready&&(ip(f,e,b,n,i),b=uC(f));let T=b;if(r>0){ip(o[0],e,b,n,i);for(let A=1;A<r;++A)ip(o[A],e,uC(o[A-1]),n,i);T=uC(o[r-1])}x&&s.ready&&ip(s,e,T,n,i)};ml.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Ql,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};ml.prototype.isDestroyed=function(){return!1};ml.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),ue(this)};var GB=ml;function fC(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}fC.prototype.completeMorph=function(){l(this._completeMorph)&&this._completeMorph()};fC.prototype.morphTo2D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof cn,!(this._previousMode===ne.SCENE2D||this._previousMode===ne.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE2D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.COLUMBUS_VIEW?Yyt(this,e):e0t(this,e,t),e===0&&l(this._completeMorph)&&this._completeMorph())};var pyt=new h,_yt=new h,gyt=new h,yyt=new h,xyt=new h,byt=new h,Tyt=new h,Cyt=new fe,Ayt=new F,Eyt=new Pi,Syt=new cn,vyt={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};fC.prototype.morphToColumbusView=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===ne.COLUMBUS_VIEW||this._previousMode===ne.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,ne.COLUMBUS_VIEW,!0),n.camera._setTransform(F.IDENTITY);let i=pyt,o=_yt,r=gyt;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let u=n.camera;if(this._previousMode===ne.SCENE2D)h.clone(u.position,i),i.z=u.frustum.right-u.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(u.positionWC,i),h.clone(u.directionWC,o),h.clone(u.upWC,r);let f=t.scaleToGeodeticSurface(i,Tyt),d=Lt.eastNorthUpToFixedFrame(f,t,Ayt);F.inverseTransformation(d,d),n.mapProjection.project(t.cartesianToCartographic(i,Cyt),i),F.multiplyByPointAsVector(d,o,o),F.multiplyByPointAsVector(d,r,r)}}let s;this._morphToOrthographic?(s=Syt,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=Eyt,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=P.toRadians(60));let a=vyt;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=n0t(a);WB(this,c),this._previousMode===ne.SCENE2D?t0t(this,e,a,c):(a.position2D=F.multiplyByPoint(uo.TRANSFORM_2D,i,yyt),a.direction2D=F.multiplyByPointAsVector(uo.TRANSFORM_2D,o,xyt),a.up2D=F.multiplyByPointAsVector(uo.TRANSFORM_2D,r,byt),n._mode=ne.MORPHING,UTe(this,e,a,c)),e===0&&l(this._completeMorph)&&this._completeMorph()};var PZ={position:new h,direction:new h,up:new h,frustum:void 0},RTe=new Pi;fC.prototype.morphTo3D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===ne.SCENE3D||this._previousMode===ne.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE3D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.SCENE2D)Byt(this,e,t);else{let i;e>0?(i=PZ,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=OTe(this,t);let o,r=n.camera;r.frustum instanceof cn?o=r.frustum.clone():(o=RTe,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=P.toRadians(60)),i.frustum=o;let s=HTe(i);WB(this,s),IZ(this,e,i,s)}e===0&&l(this._completeMorph)&&this._completeMorph()}};fC.prototype.isDestroyed=function(){return!1};fC.prototype.destroy=function(){return fG(this),ue(this)};function WB(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new Ku(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,An.LEFT_DOWN),e._morphHandler.setInputAction(n,An.MIDDLE_DOWN),e._morphHandler.setInputAction(n,An.RIGHT_DOWN),e._morphHandler.setInputAction(n,An.WHEEL)}}function fG(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var wyt=new fe,Dyt=new h,Iyt=new F;function OTe(e,t){let n=e._scene,i=n.camera,o=PZ,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,wyt);t.cartographicToCartesian(c,r);let u=t.scaleToGeodeticSurface(r,Dyt),f=Lt.eastNorthUpToFixedFrame(u,t,Iyt);return F.multiplyByPointAsVector(f,i.direction,s),F.multiplyByPointAsVector(f,i.up,a),o}var Pyt=new h,Ryt=new h,Oyt=new h,Myt=new h,Lyt=new h,Nyt=new h;function IZ(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,Pyt),a=h.clone(r.direction,Ryt),c=h.clone(r.up,Oyt),u=F.multiplyByPoint(uo.TRANSFORM_2D_INVERSE,n.position,Myt),f=F.multiplyByPointAsVector(uo.TRANSFORM_2D_INVERSE,n.direction,Lyt),d=F.multiplyByPointAsVector(uo.TRANSFORM_2D_INVERSE,n.up,Nyt);function p(m){hd(s,u,m.time,r.position),hd(a,f,m.time,r.direction),hd(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){zTe(e,o,0,1,t,i)}});e._currentTweens.push(g)}var Fyt=new cn,MTe=new h,LTe=new h,NTe=new h,RZ=new h,FTe=new h,BTe=new h;function Byt(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=PZ,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=OTe(e,n));let s;e._morphToOrthographic?(s=Fyt,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=RTe,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=P.toRadians(60)),r.frustum=s;let a=HTe(r);WB(e,a);let c;e._morphToOrthographic?c=function(){IZ(e,t,r,a)}:c=function(){VTe(e,t,r,function(){IZ(e,t,r,a)})},t>0?(i._mode=ne.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,RZ),complete:function(){i._mode=ne.MORPHING,c()}})):c()}function hd(e,t,n,i){return h.lerp(e,t,n,i)}function kTe(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof cn)return;let a=s.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=n.position.z*Math.tan(a*.5);s.frustum.far=u/Math.tan(c*.5)+1e7;function f(p){s.frustum.fov=P.lerp(a,c,p.time);let g=u/Math.tan(s.frustum.fov*.5);i(s,g)}let d=r.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(d)}var kyt=new h,Vyt=new h,Uyt=new h,DZ=new h,zyt=new h,Hyt=new h,Gyt=new Ur,Wyt=new yn,jyt=new h,qyt={position:void 0,direction:void 0,up:void 0,frustum:void 0};function Yyt(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,kyt),r=h.clone(i.direction,Vyt),s=h.clone(i.up,Uyt),a=h.negate(h.UNIT_Z,zyt),c=h.clone(h.UNIT_Y,Hyt),u=DZ;if(t>0)h.clone(h.ZERO,DZ),u.z=5*n.ellipsoid.maximumRadius;else{h.clone(o,DZ);let b=Wyt;F.multiplyByPoint(uo.TRANSFORM_2D,o,b.origin),F.multiplyByPointAsVector(uo.TRANSFORM_2D,r,b.direction);let T=n.globe;if(l(T)){let A=T.pickWorldCoordinates(b,n,!0,jyt);l(A)&&(F.multiplyByPoint(uo.TRANSFORM_2D_INVERSE,A,u),u.z+=h.distance(o,u))}}let f=Gyt;f.right=u.z*.5,f.left=-f.right,f.top=f.right*(n.drawingBufferHeight/n.drawingBufferWidth),f.bottom=-f.top;let d=qyt;d.position=u,d.direction=a,d.up=c,d.frustum=f;let p=GTe(d);WB(e,p);function g(b){hd(o,u,b.time,i.position),hd(r,a,b.time,i.direction),hd(s,c,b.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function m(b,T){b.position.z=T}let x=n.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){kTe(e,t,d,m,p)}});e._currentTweens.push(x)}var PTe=new fe,Xyt={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new Ur},Kyt={position:new h,direction:new h,up:new h,frustum:void 0},Zyt=new h,$yt=new yn,Qyt=new F,Jyt=new h;function e0t(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=Xyt;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,PTe),i.mapProjection.project(PTe,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let d=$yt;h.clone(r.position2D,d.origin);let p=h.clone(o.directionWC,d.direction),g=n.scaleToGeodeticSurface(o.positionWC,Jyt),m=Lt.eastNorthUpToFixedFrame(g,n,Qyt);F.inverseTransformation(m,m),F.multiplyByPointAsVector(m,p,p),F.multiplyByPointAsVector(uo.TRANSFORM_2D,p,p);let x=i.globe;if(l(x)){let b=x.pickWorldCoordinates(d,i,!0,Zyt);if(l(b)){let T=h.distance(r.position2D,b);b.x+=T,h.clone(b,r.position2D)}}}function s(d,p){d.position.x=p}F.multiplyByPoint(uo.TRANSFORM_2D,r.position,r.position2D),F.multiplyByPointAsVector(uo.TRANSFORM_2D,r.direction,r.direction2D),F.multiplyByPointAsVector(uo.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=Kyt;F.multiplyByPoint(uo.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let u=GTe(c);WB(e,u);function f(){kTe(e,t,r,s,u)}UTe(e,t,r,f)}function VTe(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=s*Math.tan(a*.5);r.frustum.far=u/Math.tan(c*.5)+1e7,r.frustum.fov=c;function f(p){r.frustum.fov=P.lerp(c,a,p.time),r.position.z=u/Math.tan(r.frustum.fov*.5)}let d=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){i(e)}});e._currentTweens.push(d)}function t0t(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,RZ),a=h.clone(n.direction,FTe),c=h.clone(n.up,BTe);o._mode=ne.MORPHING;function u(){r.frustum=n.frustum.clone();let f=h.clone(r.position,MTe),d=h.clone(r.direction,LTe),p=h.clone(r.up,NTe);f.z=s.z;function g(x){hd(f,s,x.time,r.position),hd(d,a,x.time,r.direction),hd(p,c,x.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let m=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(m)}e._morphToOrthographic?u():VTe(e,0,n,u)}function UTe(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,MTe),a=h.clone(r.direction,LTe),c=h.clone(r.up,NTe),u=h.clone(n.position2D,RZ),f=h.clone(n.direction2D,FTe),d=h.clone(n.up2D,BTe);function p(m){hd(s,u,m.time,r.position),hd(a,f,m.time,r.direction),hd(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){zTe(e,o,1,0,t,i)}});e._currentTweens.push(g)}function zTe(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Jr.QUARTIC_OUT};l(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function HTe(e){return function(t){let n=t._scene;n._mode=ne.SCENE3D,n.morphTime=ne.getMorphTime(ne.SCENE3D),fG(t);let i=n.camera;(t._previousMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE3D,r)}}function GTe(e){return function(t){let n=t._scene;n._mode=ne.SCENE2D,n.morphTime=ne.getMorphTime(ne.SCENE2D),fG(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE2D,o)}}function n0t(e){return function(t){let n=t._scene;n._mode=ne.COLUMBUS_VIEW,n.morphTime=ne.getMorphTime(ne.COLUMBUS_VIEW),fG(t);let i=n.camera;(t._previousModeMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.COLUMBUS_VIEW,r)}}var jB=fC;var i0t={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},ki=Object.freeze(i0t);function la(e,t){let n=`${e}`;return l(t)&&(n+=`+${t}`),n}function o0t(e,t){z.clone(e.distance.startPosition,t.distance.startPosition),z.clone(e.distance.endPosition,t.distance.endPosition),z.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),z.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function WTe(e,t,n){let i=la(ki.PINCH,t),o=e._update,r=e._isDown,s=e._eventStartPosition,a=e._pressTime,c=e._releaseTime;o[i]=!0,r[i]=!1,s[i]=new z;let u=e._movement[i];l(u)||(u=e._movement[i]={}),u.distance={startPosition:new z,endPosition:new z},u.angleAndHeight={startPosition:new z,endPosition:new z},u.prevAngle=0,e._eventHandler.setInputAction(function(f){e._buttonsDown++,r[i]=!0,a[i]=new Date,z.lerp(f.position1,f.position2,.5,s[i])},An.PINCH_START,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),r[i]=!1,c[i]=new Date},An.PINCH_END,t),e._eventHandler.setInputAction(function(f){if(r[i]){o[i]?(o0t(f,u),o[i]=!1,u.prevAngle=u.angleAndHeight.startPosition.x):(z.clone(f.distance.endPosition,u.distance.endPosition),z.clone(f.angleAndHeight.endPosition,u.angleAndHeight.endPosition));let d=u.angleAndHeight.endPosition.x,p=u.prevAngle,g=Math.PI*2;for(;d>=p+Math.PI;)d-=g;for(;d<p-Math.PI;)d+=g;u.angleAndHeight.endPosition.x=-d*n.clientWidth/12,u.angleAndHeight.startPosition.x=-p*n.clientWidth/12}},An.PINCH_MOVE,t)}function jTe(e,t){let n=la(ki.WHEEL,t),i=e._pressTime,o=e._releaseTime,r=e._update;r[n]=!0;let s=e._movement[n];l(s)||(s=e._movement[n]={});let a=e._lastMovement[n];l(a)||(a=e._lastMovement[n]={startPosition:new z,endPosition:new z,valid:!1}),s.startPosition=new z,z.clone(z.ZERO,s.startPosition),s.endPosition=new z,e._eventHandler.setInputAction(function(c){let u=7.5*P.toRadians(c);i[n]=o[n]=new Date,s.endPosition.x=0,s.endPosition.y=u,z.clone(s.endPosition,a.endPosition),a.valid=!0,r[n]=!1},An.WHEEL,t)}function vv(e,t,n){let i=la(n,t),o=e._isDown,r=e._eventStartPosition,s=e._pressTime;o[i]=!1,r[i]=new z;let a=e._lastMovement[i];l(a)||(a=e._lastMovement[i]={startPosition:new z,endPosition:new z,valid:!1});let c,u;n===ki.LEFT_DRAG?(c=An.LEFT_DOWN,u=An.LEFT_UP):n===ki.RIGHT_DRAG?(c=An.RIGHT_DOWN,u=An.RIGHT_UP):n===ki.MIDDLE_DRAG&&(c=An.MIDDLE_DOWN,u=An.MIDDLE_UP),e._eventHandler.setInputAction(function(f){e._buttonsDown++,a.valid=!1,o[i]=!0,s[i]=new Date,z.clone(f.position,r[i])},c,t),e._eventHandler.setInputAction(function(){OZ(la(n,void 0),e);for(let f of Object.values(ra)){let d=la(n,f);OZ(d,e)}},u,t)}function OZ(e,t){let n=t._releaseTime,i=t._isDown;i[e]&&(t._buttonsDown=Math.max(t._buttonsDown-1,0)),i[e]=!1,n[e]=new Date}function qTe(e,t){z.clone(e.startPosition,t.startPosition),z.clone(e.endPosition,t.endPosition)}function r0t(e,t,n){let i=n._isDown,o=!1,r=la(e,t);for(let[c,u]of Object.entries(i))c.startsWith(e)&&u&&c!==r&&(o=!0,OZ(c,n));if(!o)return;let s=n._pressTime,a=n._lastMovement[r];l(a)||(a=n._lastMovement[r]={startPosition:new z,endPosition:new z,valid:!1}),n._buttonsDown++,a.valid=!1,i[r]=!0,s[r]=new Date}function YTe(e,t){let n=e._update,i=e._movement,o=e._lastMovement,r=e._isDown;for(let s in ki)if(ki.hasOwnProperty(s)){let a=ki[s];if(l(a)){let c=la(a,t);n[c]=!0,l(e._lastMovement[c])||(e._lastMovement[c]={startPosition:new z,endPosition:new z,valid:!1}),l(e._movement[c])||(e._movement[c]={startPosition:new z,endPosition:new z})}}e._eventHandler.setInputAction(function(s){for(let a in ki)if(ki.hasOwnProperty(a)){let c=ki[a];if(l(c)){let u=la(c,t);r0t(c,t,e),r[u]&&(n[u]?(qTe(i[u],o[u]),o[u].valid=!0,qTe(s,i[u]),n[u]=!1):z.clone(s.endPosition,i[u].endPosition))}}z.clone(s.endPosition,e._currentMousePosition)},An.MOUSE_MOVE,t)}function md(e){this._eventHandler=new Ku(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new z,jTe(this,void 0),WTe(this,void 0,e),vv(this,void 0,ki.LEFT_DRAG),vv(this,void 0,ki.RIGHT_DRAG),vv(this,void 0,ki.MIDDLE_DRAG),YTe(this,void 0);for(let t in ra)if(ra.hasOwnProperty(t)){let n=ra[t];l(n)&&(jTe(this,n),WTe(this,n,e),vv(this,n,ki.LEFT_DRAG),vv(this,n,ki.RIGHT_DRAG),vv(this,n,ki.MIDDLE_DRAG),YTe(this,n))}}Object.defineProperties(md.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let e=!this._update[la(ki.WHEEL)]||!this._update[la(ki.WHEEL,ra.SHIFT)]||!this._update[la(ki.WHEEL,ra.CTRL)]||!this._update[la(ki.WHEEL,ra.ALT)];return this._buttonsDown>0||e}}});md.prototype.isMoving=function(e,t){let n=la(e,t);return!this._update[n]};md.prototype.getMovement=function(e,t){let n=la(e,t);return this._movement[n]};md.prototype.getLastMovement=function(e,t){let n=la(e,t),i=this._lastMovement[n];if(i.valid)return i};md.prototype.isButtonDown=function(e,t){let n=la(e,t);return this._isDown[n]};md.prototype.getStartMousePosition=function(e,t){if(e===ki.WHEEL)return this._currentMousePosition;let n=la(e,t);return this._eventStartPosition[n]};md.prototype.getButtonPressTime=function(e,t){let n=la(e,t);return this._pressTime[n]};md.prototype.getButtonReleaseTime=function(e,t){let n=la(e,t);return this._releaseTime[n]};md.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};md.prototype.isDestroyed=function(){return!1};md.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),ue(this)};var qB=md;function dG(e,t,n,i,o,r,s,a,c,u){this._tweens=e,this._tweenjs=t,this._startObject=He(n),this._stopObject=He(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=u,this.needsStart=!0}Object.defineProperties(dG.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});dG.prototype.cancelTween=function(){this._tweens.remove(this)};function kh(){this._tweens=[]}Object.defineProperties(kh.prototype,{length:{get:function(){return this._tweens.length}}});kh.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return l(e.complete)&&e.complete(),new dG(this);let t=e.duration/Kn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Kn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,Jr.LINEAR_NONE),r=e.startObject,s=new fye(r);s.to(He(e.stopObject),t),s.delay(i),s.easing(o),l(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new dG(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};kh.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};kh.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&l(t.uniforms[o])&&l(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};kh.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};kh.prototype.remove=function(e){if(!l(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),l(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};kh.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),l(n.cancel)&&n.cancel()}e.length=0};kh.prototype.contains=function(e){return l(e)&&this._tweens.indexOf(e)!==-1};kh.prototype.get=function(e){return this._tweens[e]};kh.prototype.update=function(e){let t=this._tweens,n=0;for(e=l(e)?e/Kn.SECONDS_PER_MILLISECOND:Ei();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var dC=kh;function XB(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.zoomFactor=5,this.translateEventTypes=ki.LEFT_DRAG,this.zoomEventTypes=[ki.RIGHT_DRAG,ki.WHEEL,ki.PINCH],this.rotateEventTypes=ki.LEFT_DRAG,this.tiltEventTypes=[ki.MIDDLE_DRAG,ki.PINCH,{eventType:ki.LEFT_DRAG,modifier:ra.CTRL},{eventType:ki.RIGHT_DRAG,modifier:ra.CTRL}],this.lookEventTypes={eventType:ki.LEFT_DRAG,modifier:ra.SHIFT};let t=y(e.ellipsoid,ee.default);this.minimumPickingTerrainHeight=ee.WGS84.equals(t)?15e4:t.minimumRadius*.025,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=ee.WGS84.equals(t)?4e3:t.minimumRadius*63e-5,this.minimumCollisionTerrainHeight=ee.WGS84.equals(t)?15e3:t.minimumRadius*.0025,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=ee.WGS84.equals(t)?75e5:t.minimumRadius*1.175,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.maximumTiltAngle=void 0,this._scene=e,this._globe=void 0,this._ellipsoid=t,this._lastGlobeHeight=0,this._aggregator=new qB(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new dC,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new z(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new z(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new z,this._strafeEndMousePosition=new z,this._zoomMouseStart=new z(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._panLastMousePosition=new z,this._panLastWorldPosition=new h,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let n=e.mapProjection;this._maxCoord=n.project(new fe(Math.PI,P.PI_OVER_TWO)),this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function s0t(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function a0t(e){return z.equalsEpsilon(e.startPosition,e.endPosition,P.EPSILON14)}var c0t=.4;function l0t(e,t,n,i,o,r,s){let a=r[s];l(a)||(a=r[s]={startPosition:new z,endPosition:new z,motion:new z,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),u=e.getButtonReleaseTime(t,n),f=c&&u&&(u.getTime()-c.getTime())/1e3,p=u&&(new Date().getTime()-u.getTime())/1e3;if(c&&u&&f<c0t){let g=s0t(p,i),m=e.getLastMovement(t,n);if(!l(m)||a0t(m)||!a.inertiaEnabled||(a.motion.x=(m.endPosition.x-m.startPosition.x)*.5,a.motion.y=(m.endPosition.y-m.startPosition.y)*.5,a.startPosition=z.clone(m.startPosition,a.startPosition),a.endPosition=z.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=z.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||z.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let x=e.getStartMousePosition(t,n);o(r,x,a)}}}function u0t(e,t){if(l(t)){let n=e[t];l(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(l(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],l(n)&&(n.inertiaEnabled=!1)}}}var XTe=[];function pl(e,t,n,i,o,r){if(!l(n))return;let s=e._aggregator;Array.isArray(n)||(XTe[0]=n,n=XTe);let a=n.length;for(let c=0;c<a;++c){let u=n[c],f=l(u.eventType)?u.eventType:u,d=u.modifier,p=s.isMoving(f,d)&&s.getMovement(f,d),g=s.getStartMousePosition(f,d);e.enableInputs&&t&&(p?(i(e,g,p),u0t(e,r)):o<1&&l0t(s,f,d,o,i,e,r))}}var hG=new yn,f0t=new h,d0t=new z,h0t=new h,m0t=new z,p0t=new h,_0t=new h,g0t=new h,y0t=new h,sCe=new h,x0t=new h,b0t=new h,T0t=new h,C0t=new h,A0t=new h,E0t=new h,S0t=new h,v0t=new h,w0t=new h,D0t=new h,hC=new h,KTe=new h,ZTe=new h,MZ={orientation:new Da};function zZ(e,t,n,i,o,r){let s=1;l(r)&&(s=P.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,u=a>0?e.minimumZoomDistance*s:0,f=e.maximumZoomDistance,d=o-u,p=i*d;p=P.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let m=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!l(e._globe)){if(m>0&&Math.abs(o-u)<1||m<0&&Math.abs(o-f)<1)return;o-m<u?m=o-u-1:o-m>f&&(m=o-f)}let x=e._scene,b=x.camera,T=x.mode,A=MZ.orientation;if(A.heading=b.heading,A.pitch=b.pitch,A.roll=b.roll,b.frustum instanceof cn){Math.abs(m)>0&&(b.zoomIn(m),b._adjustOrthographicFrustum(!0));return}let C=y(n.inertiaEnabled,z.equals(t,e._zoomMouseStart)),E=e._zoomingOnVector,v=e._rotatingZoom,D;if(C||(e._zoomMouseStart=z.clone(t,e._zoomMouseStart),l(e._globe)&&T===ne.SCENE2D?(D=b.getPickRay(t,hG).origin,D=h.fromElements(D.y,D.z,D.x)):l(e._globe)&&(D=Tg(e,t,f0t)),l(D)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,E=e._zoomingOnVector=!1,v=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){b.zoomIn(m);return}let O=T===ne.COLUMBUS_VIEW;if(b.positionCartographic.height<2e6&&(v=!0),!C||v){if(T===ne.SCENE2D){let R=e._zoomWorldPosition,M=b.position;if(!h.equals(R,M)&&b.positionCartographic.height<e._maxCoord.x*2){let N=b.position.x,_=h.subtract(R,M,h0t);h.normalize(_,_);let S=h.distance(R,M)*m/(b.getMagnitude()*.5);b.move(_,S*.5),(b.position.x<0&&N>0||b.position.x>0&&N<0)&&(D=b.getPickRay(t,hG).origin,D=h.fromElements(D.y,D.z,D.x),e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition))}}else if(T===ne.SCENE3D){let R=h.normalize(b.position,sCe);if(e._cameraUnderground||e._zoomingUnderground||b.positionCartographic.height<3e3&&Math.abs(h.dot(b.direction,R))<.6)O=!0;else{let M=x.canvas,N=m0t;N.x=M.clientWidth/2,N.y=M.clientHeight/2;let _=Tg(e,N,p0t);if(!l(_))O=!0;else if(b.positionCartographic.height<1e6)if(h.dot(b.direction,R)>=-.5)O=!0;else{let S=b0t;h.clone(b.position,S);let w=e._zoomWorldPosition,I=x0t;if(I=h.normalize(w,I),h.dot(I,R)<0)return;let L=D0t,B=A0t;h.clone(b.direction,B),h.add(S,h.multiplyByScalar(B,1e3,hC),L);let U=E0t,V=S0t;h.subtract(w,S,U),h.normalize(U,V);let G=h.dot(R,V);if(G>=0){e._zoomMouseStart.x=-1;return}let k=Math.acos(-G),W=h.magnitude(S),Y=h.magnitude(w),Q=W-m,j=h.magnitude(U),Z=Math.asin(P.clamp(j/Y*Math.sin(k),-1,1)),J=Math.asin(P.clamp(Q/Y*Math.sin(k),-1,1)),he=Z-J+k,xe=T0t;h.normalize(S,xe);let re=C0t;re=h.cross(V,xe,re),re=h.normalize(re,re),h.normalize(h.cross(xe,re,hC),B),h.multiplyByScalar(h.normalize(L,hC),h.magnitude(L)-m,L),h.normalize(S,S),h.multiplyByScalar(S,Q,S);let _e=v0t;h.multiplyByScalar(h.add(h.multiplyByScalar(xe,Math.cos(he)-1,KTe),h.multiplyByScalar(B,Math.sin(he),ZTe),hC),Q,_e),h.add(S,_e,S),h.normalize(L,xe),h.normalize(h.cross(xe,re,hC),B);let ye=w0t;h.multiplyByScalar(h.add(h.multiplyByScalar(xe,Math.cos(he)-1,KTe),h.multiplyByScalar(B,Math.sin(he),ZTe),hC),h.magnitude(L),ye),h.add(L,ye,L),h.clone(S,b.position),h.normalize(h.subtract(L,S,hC),b.direction),h.clone(b.direction,b.direction),h.cross(b.direction,b.up,b.right),h.cross(b.right,b.direction,b.up),b.setView(MZ);return}else{let S=h.normalize(_,_0t),w=h.normalize(e._zoomWorldPosition,g0t),I=h.dot(w,S);if(I>0&&I<1){let L=P.acosClamped(I),B=h.cross(w,S,y0t),U=Math.abs(L)>P.toRadians(20)?b.positionCartographic.height*.75:b.positionCartographic.height-m,V=m/U;b.rotate(B,L*V)}}}}e._rotatingZoom=!O}if(!C&&O||E){let R,M=Hi.worldToWindowCoordinates(x,e._zoomWorldPosition,d0t);T!==ne.COLUMBUS_VIEW&&z.equals(t,e._zoomMouseStart)&&l(M)?R=b.getPickRay(M,hG):R=b.getPickRay(t,hG);let N=R.direction;(T===ne.COLUMBUS_VIEW||T===ne.SCENE2D)&&h.fromElements(N.y,N.z,N.x,N),b.move(N,m),e._zoomingOnVector=!0}else b.zoomIn(m);e._cameraUnderground||b.setView(MZ)}var I0t=new yn,P0t=new yn,R0t=new h;function O0t(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,I0t).origin,s=o.getPickRay(n.endPosition,P0t).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,R0t),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function $Te(e,t,n){l(n.distance)&&(n=n.distance);let o=e._scene.camera;zZ(e,t,n,e.zoomFactor,o.getMagnitude())}var M0t=new z,L0t=new z;function QTe(e,t,n){if(l(n.angleAndHeight)){N0t(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=M0t;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=z.normalize(c,c);let u=L0t;u.x=2/s*n.endPosition.x-1,u.y=2/a*(a-n.endPosition.y)-1,u=z.normalize(u,u);let f=P.acosClamped(c.x);c.y<0&&(f=P.TWO_PI-f);let d=P.acosClamped(u.x);u.y<0&&(d=P.TWO_PI-d);let p=d-f;o.twistRight(p)}function N0t(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function F0t(e){let t=e._scene.mapMode2D===$l.ROTATE;F.equals(F.IDENTITY,e._scene.camera.transform)?(pl(e,e.enableTranslate,e.translateEventTypes,O0t,e.inertiaTranslate,"_lastInertiaTranslateMovement"),pl(e,e.enableZoom,e.zoomEventTypes,$Te,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&pl(e,e.enableRotate,e.tiltEventTypes,QTe,e.inertiaSpin,"_lastInertiaTiltMovement")):(pl(e,e.enableZoom,e.zoomEventTypes,$Te,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&pl(e,e.enableRotate,e.translateEventTypes,QTe,e.inertiaSpin,"_lastInertiaSpinMovement"))}var aCe=new yn,B0t=new h,k0t=new h;function Tg(e,t,n){let i=e._scene,o=e._globe,r=i.camera,s;if(i.pickPositionSupported&&(s=i.pickPositionWorldCoordinates(t,B0t)),!l(o))return h.clone(s,n);let a=!e._cameraUnderground,c=r.getPickRay(t,aCe),u=o.pickWorldCoordinates(c,i,a,k0t),f=l(s)?h.distance(s,r.positionWC):Number.POSITIVE_INFINITY,d=l(u)?h.distance(u,r.positionWC):Number.POSITIVE_INFINITY;return f<d?h.clone(s,n):h.clone(u,n)}var V0t=new fe;function bG(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===ne.SCENE3D){let c=t.cartesianToCartographic(i.position,V0t);l(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var U0t=new h;function cCe(e,t){let n=t.origin,i=t.direction,o=bG(e),r=h.normalize(n,U0t),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function lCe(e,t,n,i){let o=h.distance(t.origin,n),r=bG(e),s=P.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),yn.getPoint(t,o,i)}function uCe(e,t,n,i){let o;return l(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=bG(e))):o=bG(e),yn.getPoint(t,o,i)}var z0t=new z;function fCe(e,t){let n=t.endPosition,i=z.subtract(t.endPosition,t.startPosition,z0t),o=e._strafeEndMousePosition;z.add(o,i,o),t.endPosition=o,HZ(e,t,e._strafeStartPosition),t.endPosition=n}var JTe=new yn,H0t=new yn,LZ=new h,G0t=new h,W0t=new h,j0t=new h,q0t=new un(h.UNIT_X,0),Y0t=new z,X0t=new z;function K0t(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){nf(e,t,n);return}if(e._strafing){fCe(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=z.clone(n.startPosition,Y0t),a=z.clone(n.endPosition,X0t),c=o.getPickRay(s,JTe),u=h.clone(h.ZERO,j0t),f=h.UNIT_X,d;if(o.position.z<e._minimumPickingTerrainHeight&&(d=Tg(e,s,LZ),l(d)&&(u.x=d.x)),r||u.x>o.position.z&&l(d)){let C=d;r&&(C=uCe(e,c,d,LZ)),z.clone(t,e._strafeMousePosition),z.clone(t,e._strafeEndMousePosition),h.clone(C,e._strafeStartPosition),e._strafing=!0,HZ(e,n,e._strafeStartPosition);return}let p=un.fromPointNormal(u,f,q0t);c=o.getPickRay(s,JTe);let g=ei.rayPlane(c,p,LZ),m=o.getPickRay(a,H0t),x=ei.rayPlane(m,p,G0t);if(!l(g)||!l(x)){e._looking=!0,nf(e,t,n),z.clone(t,e._translateMousePosition);return}let b=h.subtract(g,x,W0t),T=b.x;b.x=b.y,b.y=b.z,b.z=T;let A=h.magnitude(b);A>P.EPSILON6&&(h.normalize(b,b),o.move(b,A))}var dCe=new z,_G=new yn,gG=new h,Z0t=new h,hCe=new F,$0t=new F,Q0t=new h,J0t=new un(h.UNIT_X,0),NZ=new h,kZ=new fe,mCe=new F,ext=new Le,txt=new $,yG=new h;function nxt(e,t,n){if(l(n.angleAndHeight)&&(n=n.angleAndHeight),z.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){nf(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,ixt(e,t,n)):oxt(e,t,n)}function ixt(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=dCe;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,_G),c=h.UNIT_X,u=a.origin,f=a.direction,d,p=h.dot(c,f);if(Math.abs(p)>P.EPSILON6&&(d=-h.dot(c,u)/p),!l(d)||d<=0){e._looking=!0,nf(e,t,n),z.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(f,d,gG);h.add(u,g,g);let m=i.mapProjection,x=m.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let b=m.unproject(g,kZ);x.cartographicToCartesian(b,g);let T=Lt.eastNorthUpToFixedFrame(g,x,hCe),A=e._globe,C=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let E=F.clone(o.transform,mCe);o._setTransform(T),tf(e,t,n,h.UNIT_Z),o._setTransform(E),e._globe=A,e._ellipsoid=C;let v=C.maximumRadius;e._rotateFactor=1/v,e._rotateRateRangeAdjustment=v}function oxt(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(z.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,gG);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=Tg(e,t,gG)),!l(s)){a=o.getPickRay(t,_G);let _=a.origin,S=a.direction,w,I=h.dot(c,S);if(Math.abs(I)>P.EPSILON6&&(w=-h.dot(c,_)/I),!l(w)||w<=0){e._looking=!0,nf(e,t,n),z.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(S,w,gG),h.add(_,s,s)}r&&(l(a)||(a=o.getPickRay(t,_G)),lCe(e,a,s,s)),z.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let u=i.canvas,f=dCe;f.x=u.clientWidth/2,f.y=e._tiltCenterMousePosition.y,a=o.getPickRay(f,_G);let d=h.clone(h.ZERO,Q0t);d.x=s.x;let p=un.fromPointNormal(d,c,J0t),g=ei.rayPlane(a,p,Z0t),m=o._projection,x=m.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let b=m.unproject(s,kZ);x.cartographicToCartesian(b,s);let T=Lt.eastNorthUpToFixedFrame(s,x,hCe),A;l(g)?(h.fromElements(g.y,g.z,g.x,g),b=m.unproject(g,kZ),x.cartographicToCartesian(b,g),A=Lt.eastNorthUpToFixedFrame(g,x,$0t)):A=T;let C=e._globe,E=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,D=F.clone(o.transform,mCe);o._setTransform(T);let O=h.cross(h.UNIT_Z,h.normalize(o.position,NZ),NZ),R=h.dot(o.right,O);if(tf(e,t,n,v,!1,!0),o._setTransform(A),R<0){let _=n.startPosition.y-n.endPosition.y;(r&&_<0||!r&&_>0)&&(v=void 0);let S=o.constrainedAxis;o.constrainedAxis=void 0,tf(e,t,n,v,!0,!1),o.constrainedAxis=S}else tf(e,t,n,v,!0,!1);if(l(o.constrainedAxis)){let _=h.cross(o.direction,o.constrainedAxis,yG);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,o.right)<0&&h.negate(_,_),h.cross(_,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(D),e._globe=C,e._ellipsoid=E;let M=E.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let N=h.clone(o.positionWC,NZ);if(e.enableCollisionDetection&&jZ(e,!0),!h.equals(o.positionWC,N)){o._setTransform(A),o.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(o.position)>_&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(_),o.position));let S=h.angleBetween(N,o.position),w=h.cross(N,o.position,N);h.normalize(w,w);let I=Le.fromAxisAngle(w,S,ext),L=$.fromQuaternion(I,txt);$.multiplyByVector(L,o.direction,o.direction),$.multiplyByVector(L,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(D)}}var pCe=new z,_Ce=new yn,gCe=new h;function rxt(e,t,n){l(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=pCe,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,_Ce),u=c.origin,f=c.direction,d=o.position.z,p;d<e._minimumPickingTerrainHeight&&(p=Tg(e,a,gCe));let g;if(l(p)&&(g=h.distance(u,p)),s){let m=cCe(e,c,d);l(g)?g=Math.min(g,m):g=m}if(!l(g)){let m=h.UNIT_X;g=-h.dot(m,u)/h.dot(m,f)}zZ(e,t,n,e.zoomFactor,g)}function sxt(e){let n=e._scene.camera;if(!F.equals(F.IDENTITY,n.transform))pl(e,e.enableRotate,e.rotateEventTypes,tf,e.inertiaSpin,"_lastInertiaSpinMovement"),pl(e,e.enableZoom,e.zoomEventTypes,xCe,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),pl(e,e.enableTilt,e.tiltEventTypes,nxt,e.inertiaSpin,"_lastInertiaTiltMovement"),pl(e,e.enableTranslate,e.translateEventTypes,K0t,e.inertiaTranslate,"_lastInertiaTranslateMovement"),pl(e,e.enableZoom,e.zoomEventTypes,rxt,e.inertiaZoom,"_lastInertiaZoomMovement"),pl(e,e.enableLook,e.lookEventTypes,nf),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);l(o)&&(e._tween=i.add(o))}i.update()}}var axt=new yn,cxt=new un(h.UNIT_X,0),lxt=new h,uxt=new h;function HZ(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,axt),s=h.clone(o.direction,uxt);i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=un.fromPointNormal(n,s,cxt),c=ei.rayPlane(r,a,lxt);l(c)&&(s=h.subtract(n,c,s),i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var eCe=new h,yCe=new fe,VZ=new h,UZ=new ee,fxt=new h,dxt=new h,hxt=new h;function mxt(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!F.equals(o.transform,F.IDENTITY)){tf(e,t,n);return}let a,c,u=s.geodeticSurfaceNormal(o.position,fxt);if(z.equals(t,e._rotateMousePosition)){if(e._looking)nf(e,t,n,u);else if(e._rotating)tf(e,t,n);else if(e._strafing)fCe(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=VZ,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,UZ),BZ(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let f=s.cartesianToCartographic(o.positionWC,yCe).height,d=e._globe;if(l(d)&&f<e._minimumPickingTerrainHeight){let p=Tg(e,n.startPosition,hxt);if(l(p)){let g=!1,m=o.getPickRay(n.startPosition,aCe);if(r)g=!0,uCe(e,m,p,p);else{let x=s.geodeticSurfaceNormal(p,dxt);Math.abs(h.dot(m.direction,x))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(z.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,HZ(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=VZ,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,UZ),BZ(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,nf(e,t,n,u)}else l(o.pickEllipsoid(n.startPosition,e._ellipsoid,eCe))?(BZ(e,t,n,e._ellipsoid),h.clone(eCe,e._rotateStartPosition)):f>e._minimumTrackBallHeight?(e._rotating=!0,tf(e,t,n)):(e._looking=!0,nf(e,t,n,u));z.clone(t,e._rotateMousePosition)}function tf(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,u=a.constrainedAxis;l(i)&&(a.constrainedAxis=i);let f=h.magnitude(a.position),d=e._rotateFactor*(f-e._rotateRateRangeAdjustment);d>e._maximumRotateRate&&(d=e._maximumRotateRate),d<e._minimumRotateRate&&(d=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let m=d*p*Math.PI*2,x=d*g*Math.PI;if(l(i)&&l(e.maximumTiltAngle)){let b=e.maximumTiltAngle,T=h.dot(a.direction,i),A=Math.PI-Math.acos(T)+x;A>b&&(x-=A-b)}o||a.rotateRight(m),r||a.rotateUp(x),a.constrainedAxis=u}var FZ=ie.clone(ie.UNIT_W),tCe=ie.clone(ie.UNIT_W),mG=new h,wv=new h,pG=new h,nCe=new h,pxt=new z,_xt=new z,gxt=new z,yxt=new z,xxt=new yn;function BZ(e,t,n,i){let o=e._scene,r=o.camera,s=z.clone(n.startPosition,pxt),a=z.clone(n.endPosition,_xt),c=i.cartesianToCartographic(r.positionWC,yCe).height,u,f;if(!n.inertiaEnabled&&c<e._minimumPickingTerrainHeight&&(u=h.clone(e._panLastWorldPosition,FZ),!l(e._globe)&&!z.equalsEpsilon(s,e._panLastMousePosition)&&(u=Tg(e,s,FZ)),!l(e._globe)&&l(u))){let d=h.subtract(u,r.positionWC,wv),p=h.multiplyByScalar(r.directionWC,h.dot(r.directionWC,d),wv),g=h.magnitude(p),m=r.frustum.getPixelDimensions(o.drawingBufferWidth,o.drawingBufferHeight,g,o.pixelRatio,yxt),x=z.subtract(a,s,gxt),b=h.multiplyByScalar(r.rightWC,x.x*m.x,wv),T=h.normalize(r.positionWC,sCe),A=r.getPickRay(a,xxt).direction,C=h.subtract(A,h.projectVector(A,r.rightWC,pG),pG),E=h.angleBetween(C,r.directionWC),v=1;l(r.frustum.fov)&&(v=Math.max(Math.tan(E),.1));let D=Math.abs(h.dot(r.directionWC,T)),O=-x.y*m.y*2/Math.sqrt(v)*(1-D),R=h.multiplyByScalar(A,O,pG);D=Math.abs(h.dot(r.upWC,T));let M=h.multiplyByScalar(r.upWC,-x.y*(1-D)*m.y,nCe);f=h.add(u,b,tCe),f=h.add(f,R,f),f=h.add(f,M,f),h.clone(f,e._panLastWorldPosition),z.clone(a,e._panLastMousePosition)}if((!l(u)||!l(f))&&(u=r.pickEllipsoid(s,i,FZ),f=r.pickEllipsoid(a,i,tCe)),!l(u)||!l(f)){e._rotating=!0,tf(e,t,n);return}if(u=r.worldToCameraCoordinates(u,u),f=r.worldToCameraCoordinates(f,f),l(r.constrainedAxis)){let d=r.constrainedAxis,p=h.mostOrthogonalAxis(d,mG);h.cross(p,d,p),h.normalize(p,p);let g=h.cross(d,p,wv),m=h.magnitude(u),x=h.dot(d,u),b=Math.acos(x/m),T=h.multiplyByScalar(d,x,pG);h.subtract(u,T,T),h.normalize(T,T);let A=h.magnitude(f),C=h.dot(d,f),E=Math.acos(C/A),v=h.multiplyByScalar(d,C,nCe);h.subtract(f,v,v),h.normalize(v,v);let D=Math.acos(h.dot(T,p));h.dot(T,g)<0&&(D=P.TWO_PI-D);let O=Math.acos(h.dot(v,p));h.dot(v,g)<0&&(O=P.TWO_PI-O);let R=D-O,M;h.equalsEpsilon(d,r.position,P.EPSILON2)?M=r.right:M=h.cross(d,r.position,mG);let N=h.cross(d,M,mG),_=h.dot(N,h.subtract(u,d,wv)),S=h.dot(N,h.subtract(f,d,wv)),w;_>0&&S>0?w=E-b:_>0&&S<=0?h.dot(r.position,d)>0?w=-b-E:w=b+E:w=b-E,r.rotateRight(R),r.rotateUp(w)}else{h.normalize(u,u),h.normalize(f,f);let d=h.dot(u,f),p=h.cross(u,f,mG);if(d<1&&!h.equalsEpsilon(p,h.ZERO,P.EPSILON14)){let g=Math.acos(d);r.rotate(p,g)}}}var bxt=new h,Txt=new fe,iCe=0;function xCe(e,t,n){l(n.distance)&&(n=n.distance);let i=n.inertiaEnabled,o=e._ellipsoid,r=e._scene,s=r.camera,a=r.canvas,c=e._cameraUnderground,u;c?u=t:(u=pCe,u.x=a.clientWidth/2,u.y=a.clientHeight/2);let f=s.getPickRay(u,_Ce),d,p=o.cartesianToCartographic(s.position,Txt).height,g=Math.abs(iCe)<e.minimumPickingTerrainDistanceWithInertia;(i?g:p<e._minimumPickingTerrainHeight)&&(d=Tg(e,u,gCe));let x;if(l(d)&&(x=h.distance(f.origin,d),iCe=x),c){let T=cCe(e,f,p);l(x)?x=Math.min(x,T):x=T}l(x)||(x=p);let b=h.normalize(s.position,bxt);zZ(e,t,n,e.zoomFactor,x,h.dot(b,s.direction))}var bCe=new z,xG=new yn,YB=new h,Cxt=new h,TCe=new F,Axt=new F,CCe=new F,Ext=new Le,Sxt=new $,GZ=new fe,WZ=new h;function vxt(e,t,n){let o=e._scene.camera;if(!F.equals(o.transform,F.IDENTITY))return;if(l(n.angleAndHeight)&&(n=n.angleAndHeight),z.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,WZ);nf(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,GZ);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,Dxt(e,t,n)):Ixt(e,t,n)}var wxt=new fe;function Dxt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,wxt).height;if(a-s-1<P.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,u=bCe;u.x=c.clientWidth/2,u.y=c.clientHeight/2;let f=r.getPickRay(u,xG),d,p=ei.rayEllipsoid(f,i);if(l(p))d=yn.getPoint(f,p.start,YB);else if(a>e._minimumTrackBallHeight){let A=ei.grazingAltitudeLocation(f,i);if(!l(A))return;let C=i.cartesianToCartographic(A,GZ);C.height=0,d=i.cartographicToCartesian(C,YB)}else{e._looking=!0;let A=e._ellipsoid.geodeticSurfaceNormal(r.position,WZ);nf(e,t,n,A),z.clone(t,e._tiltCenterMousePosition);return}let g=Lt.eastNorthUpToFixedFrame(d,i,TCe),m=e._globe,x=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let b=F.clone(r.transform,CCe);r._setTransform(g),tf(e,t,n,h.UNIT_Z),r._setTransform(b),e._globe=m,e._ellipsoid=x;let T=x.maximumRadius;e._rotateFactor=1/T,e._rotateRateRangeAdjustment=T}function Ixt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,u;if(z.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,YB);else{if(a=Tg(e,t,YB),!l(a)){if(c=r.getPickRay(t,xG),u=ei.rayEllipsoid(c,i),!l(u)){if(i.cartesianToCartographic(r.position,GZ).height<=e._minimumTrackBallHeight){e._looking=!0;let S=e._ellipsoid.geodeticSurfaceNormal(r.position,WZ);nf(e,t,n,S),z.clone(t,e._tiltCenterMousePosition)}return}a=yn.getPoint(c,u.start,YB)}s&&(l(c)||(c=r.getPickRay(t,xG)),lCe(e,c,a,a)),z.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let f=o.canvas,d=bCe;d.x=f.clientWidth/2,d.y=e._tiltCenterMousePosition.y,c=r.getPickRay(d,xG);let p=h.magnitude(a),g=h.fromElements(p,p,p,VZ),m=ee.fromCartesian3(g,UZ);if(u=ei.rayEllipsoid(c,m),!l(u))return;let x=h.magnitude(c.origin)>p?u.start:u.stop,b=yn.getPoint(c,x,Cxt),T=Lt.eastNorthUpToFixedFrame(a,i,TCe),A=Lt.eastNorthUpToFixedFrame(b,m,Axt),C=e._globe,E=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,D=F.clone(r.transform,CCe);r._setTransform(A);let O=h.cross(b,r.positionWC,yG);if(h.dot(r.rightWC,O)<0){let _=n.startPosition.y-n.endPosition.y;(s&&_<0||!s&&_>0)&&(v=void 0);let S=r.constrainedAxis;r.constrainedAxis=void 0,tf(e,t,n,v,!0,!1),r.constrainedAxis=S}else tf(e,t,n,v,!0,!1);if(r._setTransform(T),tf(e,t,n,v,!1,!0),l(r.constrainedAxis)){let _=h.cross(r.direction,r.constrainedAxis,yG);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,r.right)<0&&h.negate(_,_),h.cross(_,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(D),e._globe=C,e._ellipsoid=E;let M=E.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let N=h.clone(r.positionWC,yG);if(e.enableCollisionDetection&&jZ(e,!0),!h.equals(r.positionWC,N)){r._setTransform(A),r.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(r.position)>_&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(_),r.position));let S=h.angleBetween(N,r.position),w=h.cross(N,r.position,N);h.normalize(w,w);let I=Le.fromAxisAngle(w,S,Ext),L=$.fromQuaternion(I,Sxt);$.multiplyByVector(L,r.direction,r.direction),$.multiplyByVector(L,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(D)}}var Pxt=new z,Rxt=new z,oCe=new yn,rCe=new yn,Oxt=new h,Mxt=new h;function nf(e,t,n,i){let r=e._scene.camera,s=Pxt;s.x=n.startPosition.x,s.y=0;let a=Rxt;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,oCe),u=r.getPickRay(a,rCe),f=0,d,p;r.frustum instanceof cn?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction);let g=h.dot(d,p);g<1&&(f=Math.acos(g)),f=n.startPosition.x>n.endPosition.x?-f:f;let m=e._horizontalRotationAxis;if(l(i)?r.look(i,-f):l(m)?r.look(m,-f):r.lookLeft(f),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,oCe),u=r.getPickRay(a,rCe),f=0,r.frustum instanceof cn?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction),g=h.dot(d,p),g<1&&(f=Math.acos(g)),f=n.startPosition.y>n.endPosition.y?-f:f,i=y(i,m),l(i)){let x=r.direction,b=h.negate(i,Oxt),T=h.equalsEpsilon(x,i,P.EPSILON2),A=h.equalsEpsilon(x,b,P.EPSILON2);if(!T&&!A){g=h.dot(x,i);let C=P.acosClamped(g);f>0&&f>C&&(f=C-P.EPSILON4),g=h.dot(x,b),C=P.acosClamped(g),f<0&&-f>C&&(f=-C+P.EPSILON4);let E=h.cross(i,x,Mxt);r.look(E,f)}else(T&&f<0||A&&f>0)&&r.look(r.right,-f)}else r.lookUp(f)}function Lxt(e){pl(e,e.enableRotate,e.rotateEventTypes,mxt,e.inertiaSpin,"_lastInertiaSpinMovement"),pl(e,e.enableZoom,e.zoomEventTypes,xCe,e.inertiaZoom,"_lastInertiaZoomMovement"),pl(e,e.enableTilt,e.tiltEventTypes,vxt,e.inertiaSpin,"_lastInertiaTiltMovement"),pl(e,e.enableLook,e.lookEventTypes,nf)}var Nxt=new F,Fxt=new fe;function jZ(e,t){e._adjustedHeightForTerrain=!0;let n=e._scene,i=n.mode;if(i===ne.SCENE2D||i===ne.MORPHING)return;let o=n.camera,r=y(n.ellipsoid,ee.WGS84),s=n.mapProjection,a,c;F.equals(o.transform,F.IDENTITY)||(a=F.clone(o.transform,Nxt),c=h.magnitude(o.position),o._setTransform(F.IDENTITY));let u=Fxt;i===ne.SCENE3D?r.cartesianToCartographic(o.position,u):s.unproject(o.position,u);let f=!1;if(u.height<e._minimumCollisionTerrainHeight){let d=e._scene.globeHeight;if(l(d)){let p=d+e.minimumZoomDistance,g=d-e._lastGlobeHeight,m=g/e._lastGlobeHeight;u.height<p&&(t||Math.abs(m)<=.1)&&(u.height=p,i===ne.SCENE3D?r.cartographicToCartesian(u,o.position):s.project(u,o.position),f=!0),t||Math.abs(m)<=.1?e._lastGlobeHeight=d:e._lastGlobeHeight+=g*.1}}l(a)&&(o._setTransform(a),f&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}XB.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===ne.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var Bxt=new h,kxt=new h;XB.prototype.update=function(){let e=this._scene,{camera:t,globe:n,mode:i}=e;F.equals(t.transform,F.IDENTITY)?(this._globe=n,this._ellipsoid=y(e.ellipsoid,ee.default)):(this._globe=void 0,this._ellipsoid=ee.UNIT_SPHERE);let{verticalExaggeration:o,verticalExaggerationRelativeHeight:r}=e;this._minimumCollisionTerrainHeight=Dr.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=Dr.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=Dr.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&l(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,Bxt),c=h.clone(t.directionWC,kxt);if(i===ne.SCENE2D?F0t(this):i===ne.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,sxt(this)):i===ne.SCENE3D&&(this._horizontalRotationAxis=void 0,Lxt(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain){let u=!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC);jZ(this,u)}this._aggregator.reset()};XB.prototype.isDestroyed=function(){return!1};XB.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),ue(this)};var KB=XB;var ZB=`uniform sampler2D colorTexture; +uniform sampler2D colorTexture2; + +uniform vec2 center; +uniform float radius; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color0 = texture(colorTexture, v_textureCoordinates); + vec4 color1 = texture(colorTexture2, v_textureCoordinates); + + float x = length(gl_FragCoord.xy - center) / radius; + float t = smoothstep(0.5, 0.8, x); + out_FragColor = mix(color0 + color1, color1, t); +} +`;var $B=`uniform sampler2D colorTexture; + +uniform float avgLuminance; +uniform float threshold; +uniform float offset; + +in vec2 v_textureCoordinates; + +float key(float avg) +{ + float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); + return max(0.0, guess) + 0.1; +} + +// See section 9. "The bright-pass filter" of Realtime HDR Rendering +// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf + +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + vec3 xyz = czm_RGBToXYZ(color.rgb); + float luminance = xyz.r; + + float scaledLum = key(avgLuminance) * luminance / avgLuminance; + float brightLum = max(scaledLum - threshold, 0.0); + float brightness = brightLum / (offset + brightLum); + + xyz.r = brightness; + out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); +} +`;function Cg(){this._sceneFramebuffer=new nC;let e=.125,t=new Array(6);t[0]=new xo({fragmentShader:Ql,textureScale:e,forcePowerOfTwo:!0,sampleMode:Ju.LINEAR});let n=t[1]=new xo({fragmentShader:$B,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new z,t[2]=new xo({fragmentShader:G0,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new xo({fragmentShader:G0,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new xo({fragmentShader:Ql,sampleMode:Ju.LINEAR}),this._uCenter=new z,this._uRadius=void 0,t[5]=new xo({fragmentShader:ZB,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new Jl({stages:t});let o=new lC(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}Cg.prototype.get=function(e){return this._stages.get(e)};Cg.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var Vxt=new ie,ACe=new z,Uxt=new z,ECe=new F;function zxt(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=F.computeViewportTransformation(n,0,1,ECe),u=F.multiplyByPoint(r,o,Vxt),f=Lt.pointToGLWindowCoordinates(s,c,o,ACe);u.x+=P.SOLAR_RADIUS;let d=Lt.pointToGLWindowCoordinates(a,c,u,u),p=z.magnitude(z.subtract(d,f,d))*30*2,g=Uxt;g.x=p,g.y=p,e._uCenter=z.clone(f,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let m=t.drawingBufferWidth,x=t.drawingBufferHeight,b=e._stages,T=b.get(0),A=T.outputTexture.width,C=T.outputTexture.height,E=new We;E.width=A,E.height=C,c=F.computeViewportTransformation(E,0,1,ECe),f=Lt.pointToGLWindowCoordinates(s,c,o,ACe),g.x*=A/m,g.y*=C/x;let v=T.scissorRectangle;v.x=Math.max(f.x-g.x*.5,0),v.y=Math.max(f.y-g.y*.5,0),v.width=Math.min(g.x,m),v.height=Math.min(g.y,x);for(let D=1;D<4;++D)We.clone(v,b.get(D).scissorRectangle)}Cg.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};Cg.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),zxt(this,t,n),o};Cg.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};Cg.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Ql,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};Cg.prototype.isDestroyed=function(){return!1};Cg.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),ue(this)};var QB=Cg;function SCe(){this._cachedShowFrustumsShaders={}}function Hxt(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Gxt(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(f){f=Ue.replaceMain(f,"czm_Debug_main");let d=/out_FragData_(\d+)/g,p;for(;(p=d.exec(f))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return f});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor; +`,a+=`uniform vec3 debugShowFrustumsColor; +`,a+=`void main() +{ + czm_Debug_main(); +`;let c;if(s>0)for(c=0;c<s;++c)a+=` out_FragData_${r[c]}.rgb *= debugShowCommandsColor; +`,a+=` out_FragData_${r[c]}.rgb *= debugShowFrustumsColor; +`;else a+=` out_FragColor.rgb *= debugShowCommandsColor; +`,a+=` out_FragColor.rgb *= debugShowFrustumsColor; +`;a+="}",o.sources.push(a);let u=Hxt(i);return tn.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:u})}var JB=new H;function Wxt(e,t){let n;return l(t.uniformMap)?n=t.uniformMap:n={},l(n.debugShowCommandsColor)||l(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(l(t._debugColor)||(t._debugColor=H.fromRandom()),t._debugColor):H.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(JB.red=t.debugOverlappingFrustums&1?1:0,JB.green=t.debugOverlappingFrustums&2?1:0,JB.blue=t.debugOverlappingFrustums&4?1:0,JB.alpha=1,JB):H.WHITE}),n}var jxt=new Ze;SCe.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];l(o)||(o=Gxt(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=Ze.shallowClone(t,jxt);r.shaderProgram=o,r.uniformMap=Wxt(e,t),r.execute(e.context,n)};var e3=SCe;function mC(e,t,n){this._primitive=e,this._tileIndex=t,this._sampleIndex=n,this._metadata={},this._orientedBoundingBox=new Dn}mC.fromKeyframeNode=function(e,t,n,i){let o=new mC(e,t,n),{spatialNode:r,metadata:s}=i;return o._metadata=qxt(e,s,n),o._orientedBoundingBox=Xxt(e,r,n,o._orientedBoundingBox),o};function qxt(e,t,n){if(!l(t))return;let{names:i,types:o}=e.provider,r={};for(let s=0;s<i.length;s++){let a=i[s],c=dt.getComponentCount(o[s]),u=t[s].slice(n*c,(n+1)*c);r[a]=u}return r}var vCe=new h,Yxt=new h;function Xxt(e,t,n,i){let o=t.dimensions,r=o.x*o.y,s=Math.floor(n/r),a=n-s*r,c=Math.floor(a/o.x),u=a-c*o.x,f=h.fromElements(u,c,s,vCe),d=h.divideComponents(h.subtract(f,e._paddingBefore,vCe),e.dimensions,Yxt);return e._shape.computeOrientedBoundingBoxForSample(t,e.dimensions,d,i)}Object.defineProperties(mC.prototype,{metadata:{get:function(){return this._metadata}},primitive:{get:function(){return this._primitive}},sampleIndex:{get:function(){return this._sampleIndex}},tileIndex:{get:function(){return this._tileIndex}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox.clone()}}});mC.prototype.hasProperty=function(e){return l(this._metadata[e])};mC.prototype.getNames=function(){return Object.keys(this._metadata)};mC.prototype.getProperty=function(e){return this._metadata[e]};var t3=mC;var n3=`struct Ray { + vec3 pos; + vec3 dir; + vec3 rawDir; +}; + +#if defined(JITTER) +/** + * Generate a pseudo-random value for a given 2D screen coordinate. + * Similar to https://www.shadertoy.com/view/4djSRW with a modified hashscale. + */ +float hash(vec2 p) +{ + vec3 p3 = fract(vec3(p.xyx) * 50.0); + p3 += dot(p3, p3.yzx + 19.19); + return fract((p3.x + p3.y) * p3.z); +} +#endif + +float minComponent(in vec3 v) { + return min(min(v.x, v.y), v.z); +} + +float maxComponent(in vec3 v) { + return max(max(v.x, v.y), v.z); +} + +struct PointJacobianT { + vec3 point; + mat3 jacobianT; +}; +`;var i3=`// See Intersection.glsl for the definition of intersectScene +// See IntersectionUtils.glsl for the definition of nextIntersection +// See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl +// for the definition of convertUvToShapeUvSpace. The appropriate function is +// selected based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See Octree.glsl for the definitions of TraversalData, SampleData, +// traverseOctreeFromBeginning, and traverseOctreeFromExisting +// See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture + +#define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops +#if defined(PICKING_VOXEL) + #define ALPHA_ACCUM_MAX 0.1 +#else + #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 +#endif + +uniform mat3 u_transformDirectionViewToLocal; +uniform vec3 u_cameraPositionUv; +uniform float u_stepSize; + +#if defined(PICKING) + uniform vec4 u_pickColor; +#endif + +vec3 getSampleSize(in int level) { + vec3 sampleCount = exp2(float(level)) * vec3(u_dimensions); + vec3 sampleSizeUv = 1.0 / sampleCount; + return scaleShapeUvToShapeSpace(sampleSizeUv); +} + +#define MINIMUM_STEP_SCALAR (0.02) +#define SHIFT_FRACTION (0.001) + +/** + * Given a coordinate within a tile, and sample spacings along a ray through + * the coordinate, find the distance to the points where the ray entered and + * exited the voxel cell, along with the surface normals at those points. + * The surface normals are returned in shape space coordinates. + */ +RayShapeIntersection getVoxelIntersection(in vec3 tileUv, in vec3 sampleSizeAlongRay) { + vec3 voxelCoord = tileUv * vec3(u_dimensions); + vec3 directions = sign(sampleSizeAlongRay); + vec3 positiveDirections = max(directions, 0.0); + vec3 entryCoord = mix(ceil(voxelCoord), floor(voxelCoord), positiveDirections); + vec3 exitCoord = entryCoord + directions; + + vec3 distanceFromEntry = -abs((entryCoord - voxelCoord) * sampleSizeAlongRay); + float lastEntry = maxComponent(distanceFromEntry); + bvec3 isLastEntry = equal(distanceFromEntry, vec3(lastEntry)); + vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; + vec4 entry = vec4(entryNormal, lastEntry); + + vec3 distanceToExit = abs((exitCoord - voxelCoord) * sampleSizeAlongRay); + float firstExit = minComponent(distanceToExit); + bvec3 isFirstExit = equal(distanceToExit, vec3(firstExit)); + vec3 exitNormal = vec3(isFirstExit) * directions; + vec4 exit = vec4(exitNormal, firstExit); + + return RayShapeIntersection(entry, exit); +} + +vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection, in mat3 jacobianT, in float currentT) { + // The Jacobian is computed in a space where the shape spans [-1, 1]. + // But the ray is marched in a space where the shape fills [0, 1]. + // So we need to scale the Jacobian by 2. + vec3 gradient = 2.0 * viewRay.rawDir * jacobianT; + vec3 sampleSizeAlongRay = getSampleSize(sampleData.tileCoords.w) / gradient; + + RayShapeIntersection voxelIntersection = getVoxelIntersection(sampleData.tileUv, sampleSizeAlongRay); + + // Transform normal from shape space to Cartesian space + vec3 voxelNormal = normalize(jacobianT * voxelIntersection.entry.xyz); + // Compare with the shape intersection, to choose the appropriate normal + vec4 voxelEntry = vec4(voxelNormal, currentT + voxelIntersection.entry.w); + vec4 entry = intersectionMax(shapeIntersection.entry, voxelEntry); + + float fixedStep = minComponent(abs(sampleSizeAlongRay)) * u_stepSize; + float shift = fixedStep * SHIFT_FRACTION; + float dt = voxelIntersection.exit.w + shift; + if ((currentT + dt) > shapeIntersection.exit.w) { + // Stop at end of shape + dt = shapeIntersection.exit.w - currentT + shift; + } + float stepSize = clamp(dt, fixedStep * MINIMUM_STEP_SCALAR, fixedStep + shift); + + return vec4(entry.xyz, stepSize); +} + +vec2 packIntToVec2(int value) { + float shifted = float(value) / 255.0; + float lowBits = fract(shifted); + float highBits = floor(shifted) / 255.0; + return vec2(highBits, lowBits); +} + +vec2 packFloatToVec2(float value) { + float lowBits = fract(value); + float highBits = floor(value) / 255.0; + return vec2(highBits, lowBits); +} + +int getSampleIndex(in vec3 tileUv) { + ivec3 voxelDimensions = u_dimensions; + vec3 sampleCoordinate = tileUv * vec3(voxelDimensions); + // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not. + // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1). + // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring + vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5); + sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate); + ivec3 sampleIndex = ivec3(floor(sampleCoordinate)); + #if defined(PADDING) + voxelDimensions += u_paddingBefore + u_paddingAfter; + sampleIndex += u_paddingBefore; + #endif + // Convert to a 1D index for lookup in a 1D data array + return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z); +} + +void main() +{ + vec4 fragCoord = gl_FragCoord; + vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] + vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); + vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case + vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case + vec3 viewPosUv = u_cameraPositionUv; + #if defined(SHAPE_ELLIPSOID) + // viewDirUv has been scaled to a space where the ellipsoid is a sphere. + // Undo this scaling to get the raw direction. + vec3 rawDir = viewDirUv * u_ellipsoidRadiiUv; + Ray viewRayUv = Ray(viewPosUv, viewDirUv, rawDir); + #else + Ray viewRayUv = Ray(viewPosUv, viewDirUv, viewDirUv); + #endif + + Intersections ix; + RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); + + // Exit early if the scene was completely missed. + if (shapeIntersection.entry.w == NO_HIT) { + discard; + } + + float currentT = shapeIntersection.entry.w; + float endT = shapeIntersection.exit.w; + vec3 positionUv = viewPosUv + currentT * viewDirUv; + PointJacobianT pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + + // Traverse the tree from the start position + TraversalData traversalData; + SampleData sampleDatas[SAMPLE_COUNT]; + traverseOctreeFromBeginning(pointJacobian.point, traversalData, sampleDatas); + vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + + #if defined(JITTER) + float noise = hash(screenCoord); // [0,1] + currentT += noise * step.w; + positionUv += noise * step.w * viewDirUv; + #endif + + FragmentInput fragmentInput; + #if defined(STATISTICS) + setStatistics(fragmentInput.metadata.statistics); + #endif + + vec4 colorAccum = vec4(0.0); + + for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { + // Read properties from the megatexture based on the traversal state + Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); + + // Prepare the custom shader inputs + copyPropertiesToMetadata(properties, fragmentInput.metadata); + fragmentInput.voxel.positionUv = positionUv; + fragmentInput.voxel.positionShapeUv = pointJacobian.point; + fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; + fragmentInput.voxel.viewDirUv = viewDirUv; + fragmentInput.voxel.viewDirWorld = viewDirWorld; + fragmentInput.voxel.surfaceNormal = step.xyz; + fragmentInput.voxel.travelDistance = step.w; + fragmentInput.voxel.stepCount = stepCount; + fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex; + fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv); + + // Run the custom shader + czm_modelMaterial materialOutput; + fragmentMain(fragmentInput, materialOutput); + + // Sanitize the custom shader output + vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); + color.rgb = max(color.rgb, vec3(0.0)); + color.a = clamp(color.a, 0.0, 1.0); + + // Pre-multiplied alpha blend + colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); + + // Stop traversing if the alpha has been fully saturated + if (colorAccum.a > ALPHA_ACCUM_MAX) { + colorAccum.a = ALPHA_ACCUM_MAX; + break; + } + + if (step.w == 0.0) { + // Shape is infinitely thin. The ray may have hit the edge of a + // foreground voxel. Step ahead slightly to check for more voxels + step.w == 0.00001; + } + + // Keep raymarching + currentT += step.w; + positionUv = viewPosUv + currentT * viewDirUv; + + // Check if there's more intersections. + if (currentT > endT) { + #if (INTERSECTION_COUNT == 1) + break; + #else + shapeIntersection = nextIntersection(ix); + if (shapeIntersection.entry.w == NO_HIT) { + break; + } else { + // Found another intersection. Resume raymarching there + currentT = shapeIntersection.entry.w; + endT = shapeIntersection.exit.w; + positionUv = viewPosUv + currentT * viewDirUv; + } + #endif + } + + // Traverse the tree from the current ray position. + // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. + pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + traverseOctreeFromExisting(pointJacobian.point, traversalData, sampleDatas); + step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + } + + // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] + colorAccum.a /= ALPHA_ACCUM_MAX; + + #if defined(PICKING) + // If alpha is 0.0 there is nothing to pick + if (colorAccum.a == 0.0) { + discard; + } + out_FragColor = u_pickColor; + #elif defined(PICKING_VOXEL) + // If alpha is 0.0 there is nothing to pick + if (colorAccum.a == 0.0) { + discard; + } + vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex); + vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv)); + out_FragColor = vec4(megatextureId, sampleIndex); + #else + out_FragColor = colorAccum; + #endif +} +`;var o3=`in vec2 position; + +uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; + +void main() { + vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; + vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; + vec2 translation = 0.5 * (aabbMax + aabbMin); + vec2 scale = 0.5 * (aabbMax - aabbMin); + gl_Position = vec4(position * scale + translation, 0.0, 1.0); +} +`;var r3=`/* Intersection defines +#define INTERSECTION_COUNT ### +*/ + +#define NO_HIT (-czm_infinity) +#define INF_HIT (czm_infinity * 0.5) + +struct RayShapeIntersection { + vec4 entry; + vec4 exit; +}; + +vec4 intersectionMin(in vec4 intersect0, in vec4 intersect1) +{ + if (intersect0.w == NO_HIT) { + return intersect1; + } else if (intersect1.w == NO_HIT) { + return intersect0; + } + return (intersect0.w <= intersect1.w) ? intersect0 : intersect1; +} + +vec4 intersectionMax(in vec4 intersect0, in vec4 intersect1) +{ + return (intersect0.w >= intersect1.w) ? intersect0 : intersect1; +} + +RayShapeIntersection intersectIntersections(in Ray ray, in RayShapeIntersection intersect0, in RayShapeIntersection intersect1) +{ + bool missed = (intersect0.entry.w == NO_HIT) || + (intersect1.entry.w == NO_HIT) || + (intersect0.exit.w < intersect1.entry.w) || + (intersect0.entry.w > intersect1.exit.w); + if (missed) { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + vec4 entry = intersectionMax(intersect0.entry, intersect1.entry); + vec4 exit = intersectionMin(intersect0.exit, intersect1.exit); + + return RayShapeIntersection(entry, exit); +} + +struct Intersections { + // Don't access these member variables directly - call the functions instead. + + // Store an array of ray-surface intersections. Each intersection is composed of: + // .xyz for the surface normal at the intersection point + // .w for the T value + // The scale of the normal encodes the shape intersection type: + // length(intersection.xyz) = 1: positive shape entry + // length(intersection.xyz) = 2: positive shape exit + // length(intersection.xyz) = 3: negative shape entry + // length(intersection.xyz) = 4: negative shape exit + // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, + // so we need twice as many to track ray-*surface* intersections + vec4 intersections[INTERSECTION_COUNT * 2]; + + #if (INTERSECTION_COUNT > 1) + // Maintain state for future nextIntersection calls + int index; + int surroundCount; + bool surroundIsPositive; + #endif +}; + +RayShapeIntersection getFirstIntersection(in Intersections ix) +{ + return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); +} + +vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) +{ + float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; + return vec4(intersection.xyz * scale, intersection.w); +} + +// Use defines instead of real functions because WebGL1 cannot access array with non-constant index. +#define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) +#define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) +#define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = encodeIntersectionType((intersection), int(!positive), (enter)) +#define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) + +#if (INTERSECTION_COUNT > 1) +void initializeIntersections(inout Intersections ix) { + // Sort the intersections from min T to max T with bubble sort. + // Note: If this sorting function changes, some of the intersection test may + // need to be updated. Search for "bubble sort" to find those areas. + const int sortPasses = INTERSECTION_COUNT * 2 - 1; + for (int n = sortPasses; n > 0; --n) { + for (int i = 0; i < sortPasses; ++i) { + // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (i >= n) { break; } + + vec4 intersect0 = ix.intersections[i + 0]; + vec4 intersect1 = ix.intersections[i + 1]; + + bool inOrder = intersect0.w <= intersect1.w; + + ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; + ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; + } + } + + // Prepare initial state for nextIntersection + ix.index = 0; + ix.surroundCount = 0; + ix.surroundIsPositive = false; +} +#endif + +#if (INTERSECTION_COUNT > 1) +RayShapeIntersection nextIntersection(inout Intersections ix) { + vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); + RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); + + const int passCount = INTERSECTION_COUNT * 2; + + if (ix.index == passCount) { + return shapeIntersection; + } + + for (int i = 0; i < passCount; ++i) { + // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to continue instead. + if (i < ix.index) { + continue; + } + + ix.index = i + 1; + + surfaceIntersection = ix.intersections[i]; + int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); + bool currShapeIsPositive = intersectionType < 2; + bool enter = intMod(intersectionType, 2) == 0; + + ix.surroundCount += enter ? +1 : -1; + ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; + + // entering positive or exiting negative + if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { + shapeIntersection.entry = surfaceIntersection; + } + + // exiting positive or entering negative after being inside positive + bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; + bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; + if (exitPositive || enterNegativeFromPositive) { + shapeIntersection.exit = surfaceIntersection; + + // entry and exit have been found, so the loop can stop + if (exitPositive) { + // After exiting positive shape there is nothing left to intersect, so jump to the end index. + ix.index = passCount; + } + break; + } + } + + return shapeIntersection; +} +#endif + +// NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 +`;var s3=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, +// setIntersectionPair, INF_HIT, NO_HIT + +/* intersectDepth defines (set in Scene/VoxelRenderResources.js) +#define DEPTH_INTERSECTION_INDEX ### +*/ + +uniform mat4 u_transformPositionViewToUv; + +void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); + if (logDepthOrDepth != 0.0) { + // Calculate how far the ray must travel before it hits the depth buffer. + vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); + eyeCoordinateDepth /= eyeCoordinateDepth.w; + vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); + float t = dot(depthPositionUv - ray.pos, ray.dir); + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); + } else { + // There's no depth at this location. + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); + } +} +`;var a3=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, +// NO_HIT, setShapeIntersection + +/* Clipping plane defines (set in Scene/VoxelRenderResources.js) +#define CLIPPING_PLANES_UNION +#define CLIPPING_PLANES_COUNT +#define CLIPPING_PLANES_INTERSECTION_INDEX +*/ + +uniform sampler2D u_clippingPlanesTexture; +uniform mat4 u_clippingPlanesMatrix; + +// Plane is in Hessian Normal Form +vec4 intersectPlane(in Ray ray, in vec4 plane) { + vec3 n = plane.xyz; // normal + float w = plane.w; // -dot(pointOnPlane, normal) + + float a = dot(ray.pos, n); + float b = dot(ray.dir, n); + float t = -(w + a) / b; + + return vec4(n, t); +} + +void intersectClippingPlanes(in Ray ray, inout Intersections ix) { + vec4 backSide = vec4(-ray.dir, -INF_HIT); + vec4 farSide = vec4(ray.dir, +INF_HIT); + RayShapeIntersection clippingVolume; + + #if (CLIPPING_PLANES_COUNT == 1) + // Union and intersection are the same when there's one clipping plane, and the code + // is more simplified. + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + bool reflects = dot(ray.dir, intersection.xyz) < 0.0; + clippingVolume.entry = reflects ? backSide : intersection; + clippingVolume.exit = reflects ? intersection : farSide; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); + #elif defined(CLIPPING_PLANES_UNION) + vec4 firstTransmission = vec4(ray.dir, +INF_HIT); + vec4 lastReflection = vec4(-ray.dir, -INF_HIT); + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + if (dot(ray.dir, planeUv.xyz) > 0.0) { + firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; + } else { + lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; + } + } + clippingVolume.entry = backSide; + clippingVolume.exit = lastReflection; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); + clippingVolume.entry = firstTransmission; + clippingVolume.exit = farSide; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); + #else // intersection + vec4 lastTransmission = vec4(ray.dir, -INF_HIT); + vec4 firstReflection = vec4(-ray.dir, +INF_HIT); + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + if (dot(ray.dir, planeUv.xyz) > 0.0) { + lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; + } else { + firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; + } + } + if (lastTransmission.w < firstReflection.w) { + clippingVolume.entry = lastTransmission; + clippingVolume.exit = firstReflection; + } else { + clippingVolume.entry = vec4(-ray.dir, NO_HIT); + clippingVolume.exit = vec4(ray.dir, NO_HIT); + } + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); + #endif +} +`;var Dv=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, +// RayShapeIntersection + +vec4 intersectLongitude(in Ray ray, in float angle, in bool positiveNormal) { + float normalSign = positiveNormal ? 1.0 : -1.0; + vec2 planeNormal = vec2(-sin(angle), cos(angle)) * normalSign; + + vec2 position = ray.pos.xy; + vec2 direction = ray.dir.xy; + float approachRate = dot(direction, planeNormal); + float distance = -dot(position, planeNormal); + + float t = (approachRate == 0.0) + ? NO_HIT + : distance / approachRate; + + return vec4(planeNormal, 0.0, t); +} + +RayShapeIntersection intersectHalfSpace(in Ray ray, in float angle, in bool positiveNormal) +{ + vec4 intersection = intersectLongitude(ray, angle, positiveNormal); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + bool hitFront = (intersection.w > 0.0) == (dot(ray.pos.xy, intersection.xy) > 0.0); + if (!hitFront) { + return RayShapeIntersection(intersection, farSide); + } else { + return RayShapeIntersection(-1.0 * farSide, intersection); + } +} + +void intersectFlippedWedge(in Ray ray, in vec2 minMaxAngle, out RayShapeIntersection intersections[2]) +{ + intersections[0] = intersectHalfSpace(ray, minMaxAngle.x, false); + intersections[1] = intersectHalfSpace(ray, minMaxAngle.y, true); +} + +bool hitPositiveHalfPlane(in Ray ray, in vec4 intersection, in bool positiveNormal) { + float normalSign = positiveNormal ? 1.0 : -1.0; + vec2 planeDirection = vec2(intersection.y, -intersection.x) * normalSign; + vec2 hit = ray.pos.xy + intersection.w * ray.dir.xy; + return dot(hit, planeDirection) > 0.0; +} + +void intersectHalfPlane(in Ray ray, in float angle, out RayShapeIntersection intersections[2]) { + vec4 intersection = intersectLongitude(ray, angle, true); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (hitPositiveHalfPlane(ray, intersection, true)) { + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = vec4(-1.0 * intersection.xy, 0.0, intersection.w); + intersections[1].entry = intersection; + intersections[1].exit = farSide; + } else { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = farSide; + intersections[1].entry = miss; + intersections[1].exit = miss; + } +} + +RayShapeIntersection intersectRegularWedge(in Ray ray, in vec2 minMaxAngle) +{ + // Note: works for maxAngle > minAngle + pi, where the "regular wedge" + // is actually a negative volume. + // Compute intersections with the two planes. + // Normals will point toward the "outside" (negative space) + vec4 intersect1 = intersectLongitude(ray, minMaxAngle.x, false); + vec4 intersect2 = intersectLongitude(ray, minMaxAngle.y, true); + + // Choose intersection with smallest T as the "first", the other as "last" + // Note: first or last could be in the "shadow" wedge, beyond the tip + bool inOrder = intersect1.w <= intersect2.w; + vec4 first = inOrder ? intersect1 : intersect2; + vec4 last = inOrder ? intersect2 : intersect1; + + bool firstIsAhead = first.w >= 0.0; + bool startedInsideFirst = dot(ray.pos.xy, first.xy) < 0.0; + bool exitFromInside = firstIsAhead == startedInsideFirst; + bool lastIsAhead = last.w > 0.0; + bool startedOutsideLast = dot(ray.pos.xy, last.xy) >= 0.0; + bool enterFromOutside = lastIsAhead == startedOutsideLast; + + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + + if (exitFromInside && enterFromOutside) { + // Ray crosses both faces of negative wedge, exiting then entering the positive shape + return RayShapeIntersection(first, last); + } else if (!exitFromInside && enterFromOutside) { + // Ray starts inside wedge. last is in shadow wedge, and first is actually the entry + return RayShapeIntersection(-1.0 * farSide, first); + } else if (exitFromInside && !enterFromOutside) { + // First intersection was in the shadow wedge, so last is actually the exit + return RayShapeIntersection(last, farSide); + } else { // !exitFromInside && !enterFromOutside + // Both intersections were in the shadow wedge + return RayShapeIntersection(miss, miss); + } +} +`;var c3=`// See IntersectionUtils.glsl for the definitions of Ray, RayShapeIntersection, +// NO_HIT, Intersections + +/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_INTERSECTION_INDEX ### // always 0 +*/ + +uniform vec3 u_renderMinBounds; +uniform vec3 u_renderMaxBounds; + +RayShapeIntersection intersectBox(in Ray ray, in vec3 minBound, in vec3 maxBound) +{ + // Consider the box as the intersection of the space between 3 pairs of parallel planes + // Compute the distance along the ray to each plane + vec3 t0 = (minBound - ray.pos) / ray.dir; + vec3 t1 = (maxBound - ray.pos) / ray.dir; + + // Identify candidate entries/exits based on distance from ray.pos + vec3 entries = min(t0, t1); + vec3 exits = max(t0, t1); + + vec3 directions = sign(ray.dir); + + // The actual intersection points are the furthest entry and the closest exit + float lastEntry = maxComponent(entries); + bvec3 isLastEntry = equal(entries, vec3(lastEntry)); + vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; + vec4 entry = vec4(entryNormal, lastEntry); + + float firstExit = minComponent(exits); + bvec3 isFirstExit = equal(exits, vec3(firstExit)); + vec3 exitNormal = vec3(isLastEntry) * directions; + vec4 exit = vec4(exitNormal, firstExit); + + if (entry.w > exit.w) { + entry.w = NO_HIT; + exit.w = NO_HIT; + } + + return RayShapeIntersection(entry, exit); +} + +void intersectShape(in Ray ray, inout Intersections ix) +{ + RayShapeIntersection intersection = intersectBox(ray, u_renderMinBounds, u_renderMaxBounds); + setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); +} +`;var l3=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, Intersections, +// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection, +// intersectIntersections +// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, +// intersectFlippedWedge, intersectRegularWedge + +/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO + +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN +#define CYLINDER_INTERSECTION_INDEX_ANGLE +*/ + +// Cylinder uniforms +uniform vec2 u_cylinderRenderRadiusMinMax; +uniform vec2 u_cylinderRenderHeightMinMax; +#if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) + uniform vec2 u_cylinderRenderAngleMinMax; +#endif + +/** + * Find the intersection of a ray with the volume defined by two planes of constant z + */ +RayShapeIntersection intersectHeightBounds(in Ray ray, in vec2 minMaxHeight, in bool convex) +{ + float zPosition = ray.pos.z; + float zDirection = ray.dir.z; + + float tmin = (minMaxHeight.x - zPosition) / zDirection; + float tmax = (minMaxHeight.y - zPosition) / zDirection; + + // Normals point outside the volume + float signFlip = convex ? 1.0 : -1.0; + vec4 intersectMin = vec4(0.0, 0.0, -1.0 * signFlip, tmin); + vec4 intersectMax = vec4(0.0, 0.0, 1.0 * signFlip, tmax); + + bool topEntry = zDirection < 0.0; + vec4 entry = topEntry ? intersectMax : intersectMin; + vec4 exit = topEntry ? intersectMin : intersectMax; + + return RayShapeIntersection(entry, exit); +} + +/** + * Find the intersection of a ray with a right cylindrical surface of a given radius + * about the z-axis. + */ +RayShapeIntersection intersectCylinder(in Ray ray, in float radius, in bool convex) +{ + vec2 position = ray.pos.xy; + vec2 direction = ray.dir.xy; + + float a = dot(direction, direction); + float b = dot(position, direction); + float c = dot(position, position) - radius * radius; + float determinant = b * b - a * c; + + if (determinant < 0.0) { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + determinant = sqrt(determinant); + float t1 = (-b - determinant) / a; + float t2 = (-b + determinant) / a; + float signFlip = convex ? 1.0 : -1.0; + vec4 intersect1 = vec4(normalize(position + t1 * direction) * signFlip, 0.0, t1); + vec4 intersect2 = vec4(normalize(position + t2 * direction) * signFlip, 0.0, t2); + + return RayShapeIntersection(intersect1, intersect2); +} + +/** + * Find the intersection of a ray with a right cylindrical solid of given + * radius and height bounds. NOTE: The shape is assumed to be convex. + */ +RayShapeIntersection intersectBoundedCylinder(in Ray ray, in float radius, in vec2 minMaxHeight) +{ + RayShapeIntersection cylinderIntersection = intersectCylinder(ray, radius, true); + RayShapeIntersection heightBoundsIntersection = intersectHeightBounds(ray, minMaxHeight, true); + return intersectIntersections(ray, cylinderIntersection, heightBoundsIntersection); +} + +void intersectShape(Ray ray, inout Intersections ix) +{ + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + + RayShapeIntersection outerIntersect = intersectBoundedCylinder(ray, u_cylinderRenderRadiusMinMax.y, u_cylinderRenderHeightMinMax); + + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); + + if (outerIntersect.entry.w == NO_HIT) { + return; + } + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) + // When the cylinder is perfectly thin it's necessary to sandwich the + // inner cylinder intersection inside the outer cylinder intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the cylinder to be invisible because it will think the ray + // is still inside the inner (negative) cylinder after exiting the + // outer (positive) cylinder. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + RayShapeIntersection innerIntersect = intersectCylinder(ray, 1.0, false); + setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter + setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter + setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit + setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) + RayShapeIntersection innerIntersect = intersectCylinder(ray, u_cylinderRenderRadiusMinMax.x, false); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); + #endif + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) + RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) + RayShapeIntersection wedgeIntersects[2]; + intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax, wedgeIntersects); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) + RayShapeIntersection wedgeIntersects[2]; + intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x, wedgeIntersects); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); + #endif +} +`;var u3=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, Intersections, +// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection +// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, +// intersectFlippedWedge, intersectRegularWedge + +/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF +#define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN +*/ + +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidRenderLongitudeMinMax; +#endif +uniform float u_eccentricitySquared; +uniform vec2 u_ellipsoidRenderLatitudeSinMinMax; +uniform vec2 u_clipMinMaxHeight; + +RayShapeIntersection intersectZPlane(in Ray ray, in float z) { + float t = -ray.pos.z / ray.dir.z; + + bool startsOutside = sign(ray.pos.z) == sign(z); + bool entry = (t >= 0.0) != startsOutside; + + vec4 intersect = vec4(0.0, 0.0, z, t); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (entry) { + return RayShapeIntersection(intersect, farSide); + } else { + return RayShapeIntersection(-1.0 * farSide, intersect); + } +} + +RayShapeIntersection intersectHeight(in Ray ray, in float relativeHeight, in bool convex) +{ + // Scale the ray by the ellipsoid axes to make it a unit sphere + // Note: approximating ellipsoid + height as an ellipsoid + vec3 radiiCorrection = u_ellipsoidRadiiUv / (u_ellipsoidRadiiUv + relativeHeight); + vec3 position = ray.pos * radiiCorrection; + vec3 direction = ray.dir * radiiCorrection; + + float a = dot(direction, direction); // ~ 1.0 (or maybe 4.0 if ray is scaled) + float b = dot(direction, position); // roughly inside [-1.0, 1.0] when zoomed in + float c = dot(position, position) - 1.0; // ~ 0.0 when zoomed in. + float determinant = b * b - a * c; // ~ b * b when zoomed in + + if (determinant < 0.0) { + vec4 miss = vec4(normalize(direction), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + determinant = sqrt(determinant); + + // Compute larger root using standard formula + float signB = b < 0.0 ? -1.0 : 1.0; + // The other root may suffer from subtractive cancellation in the standard formula. + // Compute it from the first root instead. + float t1 = (-b - signB * determinant) / a; + float t2 = c / (a * t1); + float tmin = min(t1, t2); + float tmax = max(t1, t2); + + float directionScale = convex ? 1.0 : -1.0; + vec3 d1 = directionScale * normalize(position + tmin * direction); + vec3 d2 = directionScale * normalize(position + tmax * direction); + + return RayShapeIntersection(vec4(d1, tmin), vec4(d2, tmax)); +} + +/** + * Given a circular cone around the z-axis, with apex at the origin, + * find the parametric distance(s) along a ray where that ray intersects + * the cone. + * The cone opening angle is described by the squared cosine of + * its half-angle (the angle between the Z-axis and the surface) + */ +vec2 intersectDoubleEndedCone(in Ray ray, in float cosSqrHalfAngle) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + float sinSqrHalfAngle = 1.0 - cosSqrHalfAngle; + + float aSin = d.z * d.z * sinSqrHalfAngle; + float aCos = -dot(d.xy, d.xy) * cosSqrHalfAngle; + float a = aSin + aCos; + + float bSin = d.z * o.z * sinSqrHalfAngle; + float bCos = -dot(o.xy, d.xy) * cosSqrHalfAngle; + float b = bSin + bCos; + + float cSin = o.z * o.z * sinSqrHalfAngle; + float cCos = -dot(o.xy, o.xy) * cosSqrHalfAngle; + float c = cSin + cCos; + // determinant = b * b - a * c. But bSin * bSin = aSin * cSin. + // Avoid subtractive cancellation by expanding to eliminate these terms + float determinant = 2.0 * bSin * bCos + bCos * bCos - aSin * cCos - aCos * cSin - aCos * cCos; + + if (determinant < 0.0) { + return vec2(NO_HIT); + } else if (a == 0.0) { + // Ray is parallel to cone surface + return (b == 0.0) + ? vec2(NO_HIT) // Ray is on cone surface + : vec2(-0.5 * c / b, NO_HIT); + } + + determinant = sqrt(determinant); + + // Compute larger root using standard formula + float signB = b < 0.0 ? -1.0 : 1.0; + float t1 = (-b - signB * determinant) / a; + // The other root may suffer from subtractive cancellation in the standard formula. + // Compute it from the first root instead. + float t2 = c / (a * t1); + float tmin = min(t1, t2); + float tmax = max(t1, t2); + return vec2(tmin, tmax); +} + +/** + * Given a point on a conical surface, find the surface normal at that point. + */ +vec3 getConeNormal(in vec3 p, in bool convex) { + // Start with radial component pointing toward z-axis + vec2 radial = -abs(p.z) * normalize(p.xy); + // Z component points toward opening of cone + float zSign = (p.z < 0.0) ? -1.0 : 1.0; + float z = length(p.xy) * zSign; + // Flip normal if shape is convex + float flip = (convex) ? -1.0 : 1.0; + return normalize(vec3(radial, z) * flip); +} + +/** + * Compute the shift between the ellipsoid origin and the apex of a cone of latitude + */ +float getLatitudeConeShift(in float sinLatitude) { + // Find prime vertical radius of curvature: + // the distance along the ellipsoid normal to the intersection with the z-axis + float x2 = u_eccentricitySquared * sinLatitude * sinLatitude; + float primeVerticalRadius = inversesqrt(1.0 - x2); + + // Compute a shift from the origin to the intersection of the cone with the z-axis + return primeVerticalRadius * u_eccentricitySquared * sinLatitude; +} + +void intersectFlippedCone(in Ray ray, in float cosHalfAngle, out RayShapeIntersection intersections[2]) { + // Undo the scaling from ellipsoid to sphere + ray.pos = ray.pos * u_ellipsoidRadiiUv; + ray.dir = ray.dir * u_ellipsoidRadiiUv; + // Shift the ray to account for the latitude cone not being centered at the Earth center + ray.pos.z += getLatitudeConeShift(cosHalfAngle); + + float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + // Initialize output with no intersections + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = farSide; + intersections[1].entry = miss; + intersections[1].exit = miss; + + if (intersect.x == NO_HIT) { + return; + } + + // Find the points of intersection + float tmin = intersect.x; + float tmax = intersect.y; + vec3 p0 = ray.pos + tmin * ray.dir; + vec3 p1 = ray.pos + tmax * ray.dir; + + vec4 intersect0 = vec4(getConeNormal(p0, true), tmin); + vec4 intersect1 = vec4(getConeNormal(p1, true), tmax); + + bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); + bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + + if (p0InShadowCone && p1InShadowCone) { + // no valid intersections + } else if (p0InShadowCone) { + intersections[0].exit = intersect1; + } else if (p1InShadowCone) { + intersections[0].entry = intersect0; + } else { + intersections[0].exit = intersect0; + intersections[1].entry = intersect1; + intersections[1].exit = farSide; + } +} + +RayShapeIntersection intersectRegularCone(in Ray ray, in float cosHalfAngle, in bool convex) { + // Undo the scaling from ellipsoid to sphere + ray.pos = ray.pos * u_ellipsoidRadiiUv; + ray.dir = ray.dir * u_ellipsoidRadiiUv; + // Shift the ray to account for the latitude cone not being centered at the Earth center + ray.pos.z += getLatitudeConeShift(cosHalfAngle); + + float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (intersect.x == NO_HIT) { + return RayShapeIntersection(miss, miss); + } + + // Find the points of intersection + float tmin = intersect.x; + float tmax = intersect.y; + vec3 p0 = ray.pos + tmin * ray.dir; + vec3 p1 = ray.pos + tmax * ray.dir; + + vec4 intersect0 = vec4(getConeNormal(p0, convex), tmin); + vec4 intersect1 = vec4(getConeNormal(p1, convex), tmax); + + bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); + bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + + if (p0InShadowCone && p1InShadowCone) { + return RayShapeIntersection(miss, miss); + } else if (p0InShadowCone) { + return RayShapeIntersection(intersect1, farSide); + } else if (p1InShadowCone) { + return RayShapeIntersection(-1.0 * farSide, intersect0); + } else { + return RayShapeIntersection(intersect0, intersect1); + } +} + +void intersectShape(in Ray ray, inout Intersections ix) { + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + + // Outer ellipsoid + RayShapeIntersection outerIntersect = intersectHeight(ray, u_clipMinMaxHeight.y, true); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); + + // Exit early if the outer ellipsoid was missed. + if (outerIntersect.entry.w == NO_HIT) { + return; + } + + // Inner ellipsoid + RayShapeIntersection innerIntersect = intersectHeight(ray, u_clipMinMaxHeight.x, false); + + if (innerIntersect.entry.w == NO_HIT) { + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); + } else { + // When the ellipsoid is large and thin it's possible for floating point math + // to cause the ray to intersect the inner ellipsoid before the outer ellipsoid. + // To prevent this from happening, clamp innerIntersect to outerIntersect and + // sandwich the inner ellipsoid intersection inside the outer ellipsoid intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the ellipsoid to be invisible because it will think the ray + // is still inside the inner (negative) ellipsoid after exiting the + // outer (positive) ellipsoid. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + innerIntersect.entry.w = max(innerIntersect.entry.w, outerIntersect.entry.w); + innerIntersect.exit.w = min(innerIntersect.exit.w, outerIntersect.exit.w); + setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter + setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter + setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit + setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + } + + // Bottom cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) + RayShapeIntersection bottomConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, false); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) + RayShapeIntersection bottomConeIntersection = intersectZPlane(ray, -1.0); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) + RayShapeIntersection bottomConeIntersections[2]; + intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, bottomConeIntersections); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersections[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersections[1]); + #endif + + // Top cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) + RayShapeIntersection topConeIntersections[2]; + intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, topConeIntersections); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersections[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersections[1]); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) + RayShapeIntersection topConeIntersection = intersectZPlane(ray, 1.0); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) + RayShapeIntersection topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, false); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #endif + + // Wedge + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) + RayShapeIntersection wedgeIntersects[2]; + intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x, wedgeIntersects); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) + RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) + RayShapeIntersection wedgeIntersects[2]; + intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax, wedgeIntersects); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); + #endif +} +`;var pC=`// Main intersection function for Voxel scenes. +// See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl +// for the definition of intersectShape. The appropriate function is selected +// based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See also IntersectClippingPlane.glsl and IntersectDepth.glsl. +// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, +// getFirstIntersection, initializeIntersections, nextIntersection. + +/* Intersection defines (set in Scene/VoxelRenderResources.js) +#define INTERSECTION_COUNT ### +*/ + +RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { + // Do a ray-shape intersection to find the exact starting and ending points. + intersectShape(ray, ix); + + // Exit early if the positive shape was completely missed or behind the ray. + RayShapeIntersection intersection = getFirstIntersection(ix); + if (intersection.entry.w == NO_HIT) { + // Positive shape was completely missed - so exit early. + return intersection; + } + + // Clipping planes + #if defined(CLIPPING_PLANES) + intersectClippingPlanes(ray, ix); + #endif + + // Depth + #if defined(DEPTH_TEST) + intersectDepth(screenCoord, ray, ix); + #endif + + // Find the first intersection that's in front of the ray + #if (INTERSECTION_COUNT > 1) + initializeIntersections(ix); + for (int i = 0; i < INTERSECTION_COUNT; ++i) { + intersection = nextIntersection(ix); + if (intersection.exit.w > 0.0) { + // Set start to 0.0 when ray is inside the shape. + intersection.entry.w = max(intersection.entry.w, 0.0); + break; } - #endif -/*--------------------------------------------------------------------------*/ } + #else + // Set start to 0.0 when ray is inside the shape. + intersection.entry.w = max(intersection.entry.w, 0.0); + #endif + + return intersection; +} +`;var f3=`/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_HAS_SHAPE_BOUNDS +*/ + +#if defined(BOX_HAS_SHAPE_BOUNDS) + uniform vec3 u_boxUvToShapeUvScale; + uniform vec3 u_boxUvToShapeUvTranslate; +#endif + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // For BOX, UV space = shape space, so we can use positionUv as-is, + // and the Jacobian is the identity matrix, except that a step of 1 + // only spans half the shape space [-1, 1], so the identity is scaled. + return PointJacobianT(positionUv, mat3(0.5)); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return positionShape * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; +#else + return positionShape; +#endif +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; +#else + return shapeUv; +#endif +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return shapeUv / u_boxUvToShapeUvScale; +#else + return shapeUv; +#endif +}`;var d3=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS +#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED +*/ + +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + uniform vec2 u_cylinderShapeUvAngleMinMax; +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + uniform float u_cylinderShapeUvAngleRangeZeroMid; +#endif + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // Convert from Cartesian UV space [0, 1] to Cartesian local space [-1, 1] + vec3 position = positionUv * 2.0 - 1.0; + + float radius = length(position.xy); // [0, 1] + vec3 radial = normalize(vec3(position.xy, 0.0)); + + // Shape space height is defined within [0, 1] + float height = positionUv.z; // [0, 1] + vec3 z = vec3(0.0, 0.0, 1.0); + + float angle = atan(position.y, position.x); + vec3 east = normalize(vec3(-position.y, position.x, 0.0)); + + vec3 point = vec3(radius, height, angle); + mat3 jacobianT = mat3(radial, z, east / length(position.xy)); + return PointJacobianT(point, jacobianT); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { + float radius = positionShape.x; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; + #endif + + float height = positionShape.y; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; + #endif + + float angle = (positionShape.z + czm_pi) / czm_twoPi; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. + angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); #endif -/*--------------------------------------------------------------------------*/ + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) + angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; + #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; + #endif + + angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; + #endif + + return vec3(radius, height, angle); +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { + float radius = shapeUv.x; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + radius /= u_cylinderUvToShapeUvRadius.x; + #endif + + float height = shapeUv.y; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + height /= u_cylinderUvToShapeUvHeight.x; + #endif + + float angle = shapeUv.z * czm_twoPi; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + angle /= u_cylinderUvToShapeUvAngle.x; + #endif + + return vec3(radius, height, angle); +} +`;var h3=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE +*/ + +uniform vec3 u_ellipsoidRadiiUv; // [0,1] +uniform vec2 u_evoluteScale; // (radiiUv.x ^ 2 - radiiUv.z ^ 2) * vec2(1.0, -1.0) / radiiUv; +uniform vec3 u_ellipsoidInverseRadiiSquaredUv; +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset +#endif +uniform float u_ellipsoidInverseHeightDifferenceUv; + +// robust iterative solution without trig functions +// https://github.com/0xfaded/ellipse_demo/issues/1 +// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse +// Extended to return radius of curvature along with the point +vec3 nearestPointAndRadiusOnEllipse(vec2 pos, vec2 radii) { + vec2 p = abs(pos); + vec2 inverseRadii = 1.0 / radii; + + // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) + // but store the cos and sin of t in a vec2 for efficiency. + // Initial guess: t = pi/4 + vec2 tTrigs = vec2(0.7071067811865476); + // Initial guess of point on ellipsoid + vec2 v = radii * tTrigs; + // Center of curvature of the ellipse at v + vec2 evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; + + const int iterations = 3; + for (int i = 0; i < iterations; ++i) { + // Find the (approximate) intersection of p - evolute with the ellipsoid. + vec2 q = normalize(p - evolute) * length(v - evolute); + // Update the estimate of t. + tTrigs = (q + evolute) * inverseRadii; + tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); + v = radii * tTrigs; + evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; } + + return vec3(v * sign(pos), length(v - evolute)); +} + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // Convert from UV space [0, 1] to local space [-1, 1] + vec3 position = positionUv * 2.0 - 1.0; + // Undo the scaling from ellipsoid to sphere + position = position * u_ellipsoidRadiiUv; + + float longitude = atan(position.y, position.x); + vec3 east = normalize(vec3(-position.y, position.x, 0.0)); + + // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) + // (assume radii.y == radii.x) and find the nearest point on the ellipse and its normal + float distanceFromZAxis = length(position.xy); + vec2 posEllipse = vec2(distanceFromZAxis, position.z); + vec3 surfacePointAndRadius = nearestPointAndRadiusOnEllipse(posEllipse, u_ellipsoidRadiiUv.xz); + vec2 surfacePoint = surfacePointAndRadius.xy; + + vec2 normal2d = normalize(surfacePoint * u_ellipsoidInverseRadiiSquaredUv.xz); + float latitude = atan(normal2d.y, normal2d.x); + vec3 north = vec3(-normal2d.y * normalize(position.xy), abs(normal2d.x)); + + float heightSign = length(posEllipse) < length(surfacePoint) ? -1.0 : 1.0; + float height = heightSign * length(posEllipse - surfacePoint); + vec3 up = normalize(cross(east, north)); + + vec3 point = vec3(longitude, latitude, height); + mat3 jacobianT = mat3(east / distanceFromZAxis, north / (surfacePointAndRadius.z + height), up); + return PointJacobianT(point, jacobianT); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { + // Longitude: shift & scale to [0, 1] + float longitude = (positionShape.x + czm_pi) / czm_twoPi; + + // Correct the angle when max < min + // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); + #endif + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) + longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; + #endif + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) + longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; + #endif + + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; + #endif + + // Latitude: shift and scale to [0, 1] + float latitude = (positionShape.y + czm_piOverTwo) / czm_pi; + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; + #endif + + // Height: scale to the range [0, 1] + float height = 1.0 + positionShape.z * u_ellipsoidInverseHeightDifferenceUv; + + return vec3(longitude, latitude, height); +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { + // Convert from [0, 1] to radians [-pi, pi] + float longitude = shapeUv.x * czm_twoPi; + #if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + longitude /= u_ellipsoidUvToShapeUvLongitude.x; + #endif + + // Convert from [0, 1] to radians [-pi/2, pi/2] + float latitude = shapeUv.y * czm_pi; + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + latitude /= u_ellipsoidUvToShapeUvLatitude.x; #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } -/*--------------------------------------------------------------------------*/ - FxaaFloat dstN = posM.x - posN.x; - FxaaFloat dstP = posP.x - posM.x; - if(!horzSpan) dstN = posM.y - posN.y; - if(!horzSpan) dstP = posP.y - posM.y; -/*--------------------------------------------------------------------------*/ - FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; - FxaaFloat spanLength = (dstP + dstN); - FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; - FxaaFloat spanLengthRcp = 1.0/spanLength; -/*--------------------------------------------------------------------------*/ - FxaaBool directionN = dstN < dstP; - FxaaFloat dst = min(dstN, dstP); - FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; - FxaaFloat subpixG = subpixF * subpixF; - FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; - FxaaFloat subpixH = subpixG * fxaaQualitySubpix; -/*--------------------------------------------------------------------------*/ - FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; - FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); - if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; - if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; - return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); + + float height = shapeUv.z / u_ellipsoidInverseHeightDifferenceUv; + + return vec3(longitude, latitude, height); } -`;function aC(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;l(t)||(t=qn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(aC.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});aC.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};aC.prototype.get=function(e){return this._stages[e]};function y0t(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}aC.prototype.update=function(e,t){this._selectedDirty=y0t(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};aC.prototype.isDestroyed=function(){return!1};aC.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var dl=aC;var Dr={};function aG(e){let o=`#define USE_STEP_SIZE -${R0}`,r=new _o({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:ef.LINEAR}),s=new _o({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:ef.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let u=r.uniforms,f=s.uniforms;u.delta=f.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let u=r.uniforms,f=s.uniforms;u.sigma=f.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let u=r.uniforms,f=s.uniforms;u.stepSize=f.stepSize=c}}}),new dl({name:e,stages:[r,s],uniforms:a})}Dr.createBlurStage=function(){return aG("czm_blur")};Dr.createDepthOfFieldStage=function(){let e=aG("czm_depth_of_field_blur"),t=new _o({name:"czm_depth_of_field_composite",fragmentShader:KB,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new dl({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Dr.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Dr.createEdgeDetectionStage=function(){let e=qn();return new _o({name:`czm_edge_detection_${e}`,fragmentShader:$B,uniforms:{length:.25,color:H.clone(H.BLACK)}})};Dr.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function x0t(e){if(!l(e))return Dr.createEdgeDetectionStage();let t=new dl({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a}; -`,o+=` vec4 edge${a} = texture(edgeTexture${a}, v_textureCoordinates); - if (edge${a}.a > 0.0) - { - color = edge${a}; - break; - } -`,n[`edgeTexture${a}`]=e[a].name;let r=`${i}in vec2 v_textureCoordinates; -void main() { - vec4 color = vec4(0.0); - for (int i = 0; i < ${e.length}; i++) - { -${o} } - out_FragColor = color; -} -`,s=new _o({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new dl({name:"czm_edge_detection_composite",stages:[t,s]})}Dr.createSilhouetteStage=function(e){let t=x0t(e),n=new _o({name:"czm_silhouette_color_edges",fragmentShader:r3,uniforms:{silhouetteTexture:t.name}});return new dl({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Dr.isSilhouetteSupported=function(e){return e.context.depthTexture};Dr.createBloomStage=function(){let e=new _o({name:"czm_bloom_contrast_bias",fragmentShader:XB,uniforms:{contrast:128,brightness:-.3}}),t=aG("czm_bloom_blur"),n=new dl({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new _o({name:"czm_bloom_generate_composite",fragmentShader:qB,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new dl({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Dr.createAmbientOcclusionStage=function(){let e=new _o({name:"czm_ambient_occlusion_generate",fragmentShader:GB,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),t=aG("czm_ambient_occlusion_blur");t.uniforms.stepSize=.86;let n=new dl({name:"czm_ambient_occlusion_generate_blur",stages:[e,t]}),i=new _o({name:"czm_ambient_occlusion_composite",fragmentShader:WB,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:n.name}}),o={};return Object.defineProperties(o,{intensity:{get:function(){return e.uniforms.intensity},set:function(r){e.uniforms.intensity=r}},bias:{get:function(){return e.uniforms.bias},set:function(r){e.uniforms.bias=r}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(r){e.uniforms.lengthCap=r}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(r){e.uniforms.stepSize=r}},frustumLength:{get:function(){return e.uniforms.frustumLength},set:function(r){e.uniforms.frustumLength=r}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(r){e.uniforms.randomTexture=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},blurStepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}},ambientOcclusionOnly:{get:function(){return i.uniforms.ambientOcclusionOnly},set:function(r){i.uniforms.ambientOcclusionOnly=r}}}),new dl({name:"czm_ambient_occlusion",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Dr.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var b0t=`#define FXAA_QUALITY_PRESET 39 -${s3} -${e3}`;Dr.createFXAAStage=function(){return new _o({name:"czm_FXAA",fragmentShader:b0t,sampleMode:ef.LINEAR})};Dr.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=HB,new _o({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Dr.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=QB,new _o({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Dr.createPbrNeutralTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=JB,new _o({name:"czm_pbr_neutral",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Dr.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=o3,new _o({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Dr.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=n3,new _o({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:H.WHITE,autoExposure:void 0,exposure:1}})};Dr.createAutoExposureStage=function(){return new AF};Dr.createBlackAndWhiteStage=function(){return new _o({name:"czm_black_and_white",fragmentShader:jB,uniforms:{gradations:5}})};Dr.createBrightnessStage=function(){return new _o({name:"czm_brightness",fragmentShader:YB,uniforms:{brightness:.5}})};Dr.createNightVisionStage=function(){return new _o({name:"czm_night_vision",fragmentShader:i3})};Dr.createDepthViewStage=function(){return new _o({name:"czm_depth_view",fragmentShader:ZB})};Dr.createLensFlareStage=function(){return new _o({name:"czm_lens_flare",fragmentShader:t3,uniforms:{dirtTexture:rn("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:rn("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:ee.WGS84.maximumRadius}})};var tf=Dr;function pg(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function c3(e){for(;l(e.length);)e=e.get(e.length-1);return e.name}function _Z(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(l(o)){let a=e.getStageByName(o);r[c3(a)]=!0}let s=i.uniforms;if(l(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let u=0;u<c;++u){let f=s[a[u]];if(typeof f=="string"){let d=e.getStageByName(f);l(d)&&(r[c3(d)]=!0)}}}return i.name}function a3(e,t,n,i,o){if(l(i.enabled)&&!i.enabled||l(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!l(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let d=0;d<c;++d){let p=i.get(d);l(p.length)?a=a3(e,t,n,p,o):a=_Z(e,t,n,p,o),s&&(o=a)}let u,f;if(s)for(u=1;u<c;++u)f=c3(i.get(u)),l(n[f])||(n[f]={}),n[f][r]=!0;else for(u=1;u<c;++u){f=c3(i.get(u));let d=n[f];for(let p=0;p<u;++p)d[c3(i.get(p))]=!0}return a}function T0t(e,t){let n={};if(l(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=a3(e,t,n,i,void 0);a=a3(e,t,n,o,a),a=_Z(e,t,n,r,a),a=a3(e,t,n,e,a),_Z(e,t,n,s,a)}else a3(e,t,n,e,void 0);return n}function C0t(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,u=o._clearColor,f,d,p=e._framebuffers,g=p.length;for(f=0;f<g;++f){if(d=p[f],r!==d.textureScale||s!==d.forcePowerOfTwo||a!==d.pixelFormat||c!==d.pixelDatatype||!H.equals(u,d.clearColor))continue;let m=d.stages,x=m.length,b=!1;for(let T=0;T<x;++T)if(n[m[T]]){b=!0;break}if(!b)break}return l(d)&&f<g?(d.stages.push(t),d):(d={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:u,stages:[t],buffer:new _i({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(d),d)}function A0t(e,t){let n=T0t(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=C0t(e,i,n[i]))}function gZ(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function E0t(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,u=Math.ceil(n*c),f=Math.ceil(i*c),d=Math.min(u,f);a.forcePowerOfTwo&&(P.isPowerOfTwo(d)||(d=P.nextPowerOfTwo(d)),u=d,f=d),a.buffer.update(t,u,f),a.clear=new oi({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}pg.prototype.updateDependencies=function(){this._updateDependencies=!0};pg.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=l(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=l(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=l(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=l(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!l(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(gZ(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&A0t(this,e);let c=e.drawingBufferWidth,u=e.drawingBufferHeight,f=this._width!==c||this._height!==u;!n&&!f||(this._width=c,this._height=u,this._updateDependencies=!1,gZ(this),E0t(this,e))};pg.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};pg.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};pg.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};pg.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(l(t))return t.buffer.framebuffer};pg.prototype.isDestroyed=function(){return!1};pg.prototype.destroy=function(){return gZ(this),ue(this)};var cC=pg;var S0t={REINHARD:"REINHARD",MODIFIED_REINHARD:"MODIFIED_REINHARD",FILMIC:"FILMIC",ACES:"ACES",PBR_NEUTRAL:"PBR_NEUTRAL"};var _g=Object.freeze(S0t);var yZ=[];function hl(){let e=tf.createFXAAStage(),t=tf.createAmbientOcclusionStage(),n=tf.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=tf.createAutoExposureStage(),this._exposure=1,this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=_g.PBR_NEUTRAL;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new cC(this),r={},s=yZ;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let u=c.length;if(l(u))for(let f=0;f<u;++f)s.push(c.get(f))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(hl.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return xZ(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(l(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!l(t))continue;if(l(t.selected))return!0;let n=t.length;if(l(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;l(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case _g.REINHARD:n=tf.createReinhardTonemappingStage(t);break;case _g.MODIFIED_REINHARD:n=tf.createModifiedReinhardTonemappingStage(t);break;case _g.FILMIC:n=tf.createFilmicTonemappingStage(t);break;case _g.PBR_NEUTRAL:n=tf.createPbrNeutralTonemappingStage(t);break;default:n=tf.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}else n.uniforms.exposure=this._exposure;this._tonemapper=e,this._tonemapping=n,l(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}},exposure:{get:function(){return this._exposure},set:function(e){this._tonemapping.uniforms.exposure=e,this._exposure=e}}});function xZ(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages;for(let i=0,o=0;i<n.length;++i){let r=n[i];r&&(r._index=o++,t.push(r))}e._stages=t}hl.prototype.add=function(e){let t=this._stageNames,n=yZ;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(l(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};hl.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=yZ;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(l(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};hl.prototype.contains=function(e){return l(e)&&l(e._index)&&e._textureCache===this._textureCache};hl.prototype.get=function(e){return xZ(this),this._stages[e]};hl.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};hl.prototype.getStageByName=function(e){return this._stageNames[e]};hl.prototype.update=function(e,t,n){xZ(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages;o.length=r.length;let s=0;for(let T=0;T<r.length;++T){let A=r[T];A.ready&&A.enabled&&A._isSupported(e)&&(o[s++]=A)}o.length=s;let a=s!==i.length;if(!a){for(let T=0;T<s;++T)if(o[T]!==i[T]){a=!0;break}}let c=this._ao,u=this._bloom,f=this._autoExposure,d=this._tonemapping,p=this._fxaa;d.enabled=n;let g=c.enabled&&c._isSupported(e),m=u.enabled&&u._isSupported(e),x=d.enabled&&d._isSupported(e),b=p.enabled&&p._isSupported(e);if((a||this._textureCacheDirty||g!==this._aoEnabled||m!==this._bloomEnabled||x!==this._tonemappingEnabled||b!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=g,this._bloomEnabled=m,this._tonemappingEnabled=x,this._fxaaEnabled=b,this._textureCacheDirty=!1),l(this._randomTexture)&&!g&&(this._randomTexture.destroy(),this._randomTexture=void 0),!l(this._randomTexture)&&g){let A=new Uint8Array(196608);for(let C=0;C<196608;C+=3)A[C]=Math.floor(Math.random()*255);this._randomTexture=new Mt({context:e,pixelFormat:ot.RGB,pixelDatatype:Je.UNSIGNED_BYTE,source:{arrayBufferView:A,width:256,height:256},sampler:new en({wrapS:En.REPEAT,wrapT:En.REPEAT,minificationFilter:Jt.NEAREST,magnificationFilter:mi.NEAREST})})}this._textureCache.update(e),p.update(e,t),c.update(e,t),u.update(e,t),d.update(e,t),this._autoExposureEnabled&&f.update(e,t);for(let T=0;T<r.length;++T)r[T].update(e,t);s=0;for(let T=0;T<r.length;++T){let A=r[T];A.ready&&A.enabled&&A._isSupported(e)&&s++}a=s!==o.length,a&&this.update(e,t,n)};hl.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function lC(e){for(;l(e.length);)e=e.get(e.length-1);return e.outputTexture}hl.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(l(t))return lC(t)};function rp(e,t,n,i,o){if(l(e.execute)){e.execute(t,n,i,o);return}if(e.inputPreviousStageTexture){rp(e.get(0),t,n,i,o);for(let r=1;r<e.length;++r)rp(e.get(r),t,lC(e.get(r-1)),i,o)}else for(let r=0;r<e.length;++r)rp(e.get(r),t,n,i,o)}hl.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,u=this._autoExposure,f=this._tonemapping,d=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,m=f.enabled&&f._isSupported(e),x=s.enabled&&s._isSupported(e);if(!x&&!d&&!p&&!m&&r===0)return;let b=t;d&&a.ready&&(rp(a,e,b,n,i),b=lC(a)),p&&c.ready&&(rp(c,e,b,n,i),b=lC(c)),g&&u.ready&&rp(u,e,b,n,i),m&&f.ready&&(rp(f,e,b,n,i),b=lC(f));let T=b;if(r>0){rp(o[0],e,b,n,i);for(let A=1;A<r;++A)rp(o[A],e,lC(o[A-1]),n,i);T=lC(o[r-1])}x&&s.ready&&rp(s,e,T,n,i)};hl.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(nu,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};hl.prototype.isDestroyed=function(){return!1};hl.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),ue(this)};var l3=hl;function nf(){de.throwInstantiationError()}nf.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties(nf.prototype,{quadtree:{get:de.throwInstantiationError,set:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError}});nf.prototype.update=de.throwInstantiationError;nf.prototype.beginUpdate=de.throwInstantiationError;nf.prototype.endUpdate=de.throwInstantiationError;nf.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;nf.prototype.loadTile=de.throwInstantiationError;nf.prototype.computeTileVisibility=de.throwInstantiationError;nf.prototype.showTileThisFrame=de.throwInstantiationError;nf.prototype.computeDistanceToTile=de.throwInstantiationError;nf.prototype.isDestroyed=de.throwInstantiationError;nf.prototype.destroy=de.throwInstantiationError;var bZ=nf;function Rc(e,t){this._occluderPosition=h.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var cG=new h;Object.defineProperties(Rc.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=h.clone(e,this._cameraPosition);let t=h.subtract(this._occluderPosition,e,cG),n=h.magnitudeSquared(t),i=this._occluderRadius*this._occluderRadius,o,r,s;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,cG);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,cG),cG)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});Rc.fromBoundingSphere=function(e,t,n){return l(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new Rc(e,t)};var FTe=new h;Rc.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,FTe),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var v0t=new h;Rc.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,v0t),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,FTe),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n<this._occluderRadius)return o>0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var w0t=new h;Rc.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return pr.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,w0t),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n<s?pr.NONE:(o=this._occluderRadius+n,o=r-o*o,o>0?(o=Math.sqrt(o)+this._horizonDistance,s<o*o+n*n?pr.FULL:pr.PARTIAL):(i=h.subtract(t,this._horizonPlanePosition,i),h.dot(i,this._horizonPlaneNormal)>-n?pr.PARTIAL:pr.FULL))}}return pr.NONE};var lG=new h;Rc.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,lG),lG),c=-h.dot(a,o),u=Rc._anyRotationVector(o,a,c),f=Rc._horizonToPlaneNormalDotProduct(e,a,c,u,n[0]);if(!f)return;let d;for(let g=1;g<s;++g){if(d=Rc._horizonToPlaneNormalDotProduct(e,a,c,u,n[g]),!d)return;d<f&&(f=d)}if(f<.0017453283658983088)return;let p=r/f;return h.add(o,h.multiplyByScalar(a,p,lG),lG)};var D0t=[];Rc.computeOccludeePointFromRectangle=function(e,t){t=y(t,ee.default);let n=se.subsample(e,t,0,D0t),i=ae.fromPoints(n),o=h.ZERO;if(!h.equals(o,i.center))return Rc.computeOccludeePoint(new ae(o,t.minimumRadius),i.center,n)};var I0t=new h;Rc._anyRotationVector=function(e,t,n){let i=h.abs(t,I0t),o=i.x>i.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var P0t=new h;Rc._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,P0t);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>P.EPSILON13)return h.normalize(s,new h)}return o};var TZ=new h,R0t=new h,uG=new h,NTe=new h;Rc._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,TZ),s=h.clone(e.center,R0t),a=e.radius,c=h.subtract(s,r,uG),u=h.magnitudeSquared(c),f=a*a;if(u<f)return!1;let d=u-f,p=Math.sqrt(d),m=1/Math.sqrt(u),b=p*m*p;c=h.normalize(c,c);let T=h.add(r,h.multiplyByScalar(c,b,NTe),NTe),A=Math.sqrt(d-b*b),C=this._rotationVector(s,t,n,r,i),E=h.fromElements(C.x*C.x*c.x+(C.x*C.y-C.z)*c.y+(C.x*C.z+C.y)*c.z,(C.x*C.y+C.z)*c.x+C.y*C.y*c.y+(C.y*C.z-C.x)*c.z,(C.x*C.z-C.y)*c.x+(C.y*C.z+C.x)*c.y+C.z*C.z*c.z,TZ);E=h.normalize(E,E);let v=h.multiplyByScalar(E,A,TZ);C=h.normalize(h.subtract(h.add(T,v,uG),s,uG),uG);let D=h.dot(t,C);C=h.normalize(h.subtract(h.subtract(T,v,C),s,C),C);let O=h.dot(t,C);return D<O?D:O};var u3=Rc;function uC(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}uC.prototype.completeMorph=function(){l(this._completeMorph)&&this._completeMorph()};uC.prototype.morphTo2D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof cn,!(this._previousMode===ne.SCENE2D||this._previousMode===ne.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE2D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.COLUMBUS_VIEW?uxt(this,e):gxt(this,e,t),e===0&&l(this._completeMorph)&&this._completeMorph())};var O0t=new h,M0t=new h,L0t=new h,N0t=new h,F0t=new h,B0t=new h,k0t=new h,V0t=new fe,U0t=new F,z0t=new Di,H0t=new cn,G0t={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};uC.prototype.morphToColumbusView=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===ne.COLUMBUS_VIEW||this._previousMode===ne.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,ne.COLUMBUS_VIEW,!0),n.camera._setTransform(F.IDENTITY);let i=O0t,o=M0t,r=L0t;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let u=n.camera;if(this._previousMode===ne.SCENE2D)h.clone(u.position,i),i.z=u.frustum.right-u.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(u.positionWC,i),h.clone(u.directionWC,o),h.clone(u.upWC,r);let f=t.scaleToGeodeticSurface(i,k0t),d=Lt.eastNorthUpToFixedFrame(f,t,U0t);F.inverseTransformation(d,d),n.mapProjection.project(t.cartesianToCartographic(i,V0t),i),F.multiplyByPointAsVector(d,o,o),F.multiplyByPointAsVector(d,r,r)}}let s;this._morphToOrthographic?(s=H0t,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=z0t,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=P.toRadians(60));let a=G0t;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=xxt(a);f3(this,c),this._previousMode===ne.SCENE2D?yxt(this,e,a,c):(a.position2D=F.multiplyByPoint(lo.TRANSFORM_2D,i,N0t),a.direction2D=F.multiplyByPointAsVector(lo.TRANSFORM_2D,o,F0t),a.up2D=F.multiplyByPointAsVector(lo.TRANSFORM_2D,r,B0t),n._mode=ne.MORPHING,YTe(this,e,a,c)),e===0&&l(this._completeMorph)&&this._completeMorph()};var EZ={position:new h,direction:new h,up:new h,frustum:void 0},kTe=new Di;uC.prototype.morphTo3D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===ne.SCENE3D||this._previousMode===ne.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE3D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.SCENE2D)ext(this,e,t);else{let i;e>0?(i=EZ,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=VTe(this,t);let o,r=n.camera;r.frustum instanceof cn?o=r.frustum.clone():(o=kTe,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=P.toRadians(60)),i.frustum=o;let s=KTe(i);f3(this,s),AZ(this,e,i,s)}e===0&&l(this._completeMorph)&&this._completeMorph()}};uC.prototype.isDestroyed=function(){return!1};uC.prototype.destroy=function(){return fG(this),ue(this)};function f3(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new Yu(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,Cn.LEFT_DOWN),e._morphHandler.setInputAction(n,Cn.MIDDLE_DOWN),e._morphHandler.setInputAction(n,Cn.RIGHT_DOWN),e._morphHandler.setInputAction(n,Cn.WHEEL)}}function fG(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var W0t=new fe,j0t=new h,q0t=new F;function VTe(e,t){let n=e._scene,i=n.camera,o=EZ,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,W0t);t.cartographicToCartesian(c,r);let u=t.scaleToGeodeticSurface(r,j0t),f=Lt.eastNorthUpToFixedFrame(u,t,q0t);return F.multiplyByPointAsVector(f,i.direction,s),F.multiplyByPointAsVector(f,i.up,a),o}var Y0t=new h,X0t=new h,K0t=new h,Z0t=new h,$0t=new h,Q0t=new h;function AZ(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,Y0t),a=h.clone(r.direction,X0t),c=h.clone(r.up,K0t),u=F.multiplyByPoint(lo.TRANSFORM_2D_INVERSE,n.position,Z0t),f=F.multiplyByPointAsVector(lo.TRANSFORM_2D_INVERSE,n.direction,$0t),d=F.multiplyByPointAsVector(lo.TRANSFORM_2D_INVERSE,n.up,Q0t);function p(m){ld(s,u,m.time,r.position),ld(a,f,m.time,r.direction),ld(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){XTe(e,o,0,1,t,i)}});e._currentTweens.push(g)}var J0t=new cn,UTe=new h,zTe=new h,HTe=new h,SZ=new h,GTe=new h,WTe=new h;function ext(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=EZ,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=VTe(e,n));let s;e._morphToOrthographic?(s=J0t,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=kTe,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=P.toRadians(60)),r.frustum=s;let a=KTe(r);f3(e,a);let c;e._morphToOrthographic?c=function(){AZ(e,t,r,a)}:c=function(){qTe(e,t,r,function(){AZ(e,t,r,a)})},t>0?(i._mode=ne.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,SZ),complete:function(){i._mode=ne.MORPHING,c()}})):c()}function ld(e,t,n,i){return h.lerp(e,t,n,i)}function jTe(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof cn)return;let a=s.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=n.position.z*Math.tan(a*.5);s.frustum.far=u/Math.tan(c*.5)+1e7;function f(p){s.frustum.fov=P.lerp(a,c,p.time);let g=u/Math.tan(s.frustum.fov*.5);i(s,g)}let d=r.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(d)}var txt=new h,nxt=new h,ixt=new h,CZ=new h,oxt=new h,rxt=new h,sxt=new Lr,axt=new gn,cxt=new h,lxt={position:void 0,direction:void 0,up:void 0,frustum:void 0};function uxt(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,txt),r=h.clone(i.direction,nxt),s=h.clone(i.up,ixt),a=h.negate(h.UNIT_Z,oxt),c=h.clone(h.UNIT_Y,rxt),u=CZ;if(t>0)h.clone(h.ZERO,CZ),u.z=5*n.ellipsoid.maximumRadius;else{h.clone(o,CZ);let b=axt;F.multiplyByPoint(lo.TRANSFORM_2D,o,b.origin),F.multiplyByPointAsVector(lo.TRANSFORM_2D,r,b.direction);let T=n.globe;if(l(T)){let A=T.pickWorldCoordinates(b,n,!0,cxt);l(A)&&(F.multiplyByPoint(lo.TRANSFORM_2D_INVERSE,A,u),u.z+=h.distance(o,u))}}let f=sxt;f.right=u.z*.5,f.left=-f.right,f.top=f.right*(n.drawingBufferHeight/n.drawingBufferWidth),f.bottom=-f.top;let d=lxt;d.position=u,d.direction=a,d.up=c,d.frustum=f;let p=ZTe(d);f3(e,p);function g(b){ld(o,u,b.time,i.position),ld(r,a,b.time,i.direction),ld(s,c,b.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function m(b,T){b.position.z=T}let x=n.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){jTe(e,t,d,m,p)}});e._currentTweens.push(x)}var BTe=new fe,fxt={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new Lr},dxt={position:new h,direction:new h,up:new h,frustum:void 0},hxt=new h,mxt=new gn,pxt=new F,_xt=new h;function gxt(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=fxt;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,BTe),i.mapProjection.project(BTe,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let d=mxt;h.clone(r.position2D,d.origin);let p=h.clone(o.directionWC,d.direction),g=n.scaleToGeodeticSurface(o.positionWC,_xt),m=Lt.eastNorthUpToFixedFrame(g,n,pxt);F.inverseTransformation(m,m),F.multiplyByPointAsVector(m,p,p),F.multiplyByPointAsVector(lo.TRANSFORM_2D,p,p);let x=i.globe;if(l(x)){let b=x.pickWorldCoordinates(d,i,!0,hxt);if(l(b)){let T=h.distance(r.position2D,b);b.x+=T,h.clone(b,r.position2D)}}}function s(d,p){d.position.x=p}F.multiplyByPoint(lo.TRANSFORM_2D,r.position,r.position2D),F.multiplyByPointAsVector(lo.TRANSFORM_2D,r.direction,r.direction2D),F.multiplyByPointAsVector(lo.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=dxt;F.multiplyByPoint(lo.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let u=ZTe(c);f3(e,u);function f(){jTe(e,t,r,s,u)}YTe(e,t,r,f)}function qTe(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=s*Math.tan(a*.5);r.frustum.far=u/Math.tan(c*.5)+1e7,r.frustum.fov=c;function f(p){r.frustum.fov=P.lerp(c,a,p.time),r.position.z=u/Math.tan(r.frustum.fov*.5)}let d=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){i(e)}});e._currentTweens.push(d)}function yxt(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,SZ),a=h.clone(n.direction,GTe),c=h.clone(n.up,WTe);o._mode=ne.MORPHING;function u(){r.frustum=n.frustum.clone();let f=h.clone(r.position,UTe),d=h.clone(r.direction,zTe),p=h.clone(r.up,HTe);f.z=s.z;function g(x){ld(f,s,x.time,r.position),ld(d,a,x.time,r.direction),ld(p,c,x.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let m=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(m)}e._morphToOrthographic?u():qTe(e,0,n,u)}function YTe(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,UTe),a=h.clone(r.direction,zTe),c=h.clone(r.up,HTe),u=h.clone(n.position2D,SZ),f=h.clone(n.direction2D,GTe),d=h.clone(n.up2D,WTe);function p(m){ld(s,u,m.time,r.position),ld(a,f,m.time,r.direction),ld(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){XTe(e,o,1,0,t,i)}});e._currentTweens.push(g)}function XTe(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Yr.QUARTIC_OUT};l(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function KTe(e){return function(t){let n=t._scene;n._mode=ne.SCENE3D,n.morphTime=ne.getMorphTime(ne.SCENE3D),fG(t);let i=n.camera;(t._previousMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE3D,r)}}function ZTe(e){return function(t){let n=t._scene;n._mode=ne.SCENE2D,n.morphTime=ne.getMorphTime(ne.SCENE2D),fG(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE2D,o)}}function xxt(e){return function(t){let n=t._scene;n._mode=ne.COLUMBUS_VIEW,n.morphTime=ne.getMorphTime(ne.COLUMBUS_VIEW),fG(t);let i=n.camera;(t._previousModeMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.COLUMBUS_VIEW,r)}}var d3=uC;function dG(e,t,n,i,o,r,s,a,c,u){this._tweens=e,this._tweenjs=t,this._startObject=He(n),this._stopObject=He(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=u,this.needsStart=!0}Object.defineProperties(dG.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});dG.prototype.cancelTween=function(){this._tweens.remove(this)};function Bh(){this._tweens=[]}Object.defineProperties(Bh.prototype,{length:{get:function(){return this._tweens.length}}});Bh.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return l(e.complete)&&e.complete(),new dG(this);let t=e.duration/Zn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Zn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,Yr.LINEAR_NONE),r=e.startObject,s=new qge(r);s.to(He(e.stopObject),t),s.delay(i),s.easing(o),l(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new dG(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};Bh.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};Bh.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&l(t.uniforms[o])&&l(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};Bh.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};Bh.prototype.remove=function(e){if(!l(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),l(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};Bh.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),l(n.cancel)&&n.cancel()}e.length=0};Bh.prototype.contains=function(e){return l(e)&&this._tweens.indexOf(e)!==-1};Bh.prototype.get=function(e){return this._tweens[e]};Bh.prototype.update=function(e){let t=this._tweens,n=0;for(e=l(e)?e/Zn.SECONDS_PER_MILLISECOND:Ci();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var fC=Bh;function m3(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.zoomFactor=5,this.translateEventTypes=Fi.LEFT_DRAG,this.zoomEventTypes=[Fi.RIGHT_DRAG,Fi.WHEEL,Fi.PINCH],this.rotateEventTypes=Fi.LEFT_DRAG,this.tiltEventTypes=[Fi.MIDDLE_DRAG,Fi.PINCH,{eventType:Fi.LEFT_DRAG,modifier:ea.CTRL},{eventType:Fi.RIGHT_DRAG,modifier:ea.CTRL}],this.lookEventTypes={eventType:Fi.LEFT_DRAG,modifier:ea.SHIFT};let t=y(e.ellipsoid,ee.default);this.minimumPickingTerrainHeight=ee.WGS84.equals(t)?15e4:t.minimumRadius*.025,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=ee.WGS84.equals(t)?4e3:t.minimumRadius*63e-5,this.minimumCollisionTerrainHeight=ee.WGS84.equals(t)?15e3:t.minimumRadius*.0025,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=ee.WGS84.equals(t)?75e5:t.minimumRadius*1.175,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.maximumTiltAngle=void 0,this._scene=e,this._globe=void 0,this._ellipsoid=t,this._lastGlobeHeight=0,this._aggregator=new $F(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new fC,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new z(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new z(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new z,this._strafeEndMousePosition=new z,this._zoomMouseStart=new z(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._panLastMousePosition=new z,this._panLastWorldPosition=new h,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let n=e.mapProjection;this._maxCoord=n.project(new fe(Math.PI,P.PI_OVER_TWO)),this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function bxt(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function Txt(e){return z.equalsEpsilon(e.startPosition,e.endPosition,P.EPSILON14)}var Cxt=.4;function Axt(e,t,n,i,o,r,s){let a=r[s];l(a)||(a=r[s]={startPosition:new z,endPosition:new z,motion:new z,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),u=e.getButtonReleaseTime(t,n),f=c&&u&&(u.getTime()-c.getTime())/1e3,p=u&&(new Date().getTime()-u.getTime())/1e3;if(c&&u&&f<Cxt){let g=bxt(p,i),m=e.getLastMovement(t,n);if(!l(m)||Txt(m)||!a.inertiaEnabled||(a.motion.x=(m.endPosition.x-m.startPosition.x)*.5,a.motion.y=(m.endPosition.y-m.startPosition.y)*.5,a.startPosition=z.clone(m.startPosition,a.startPosition),a.endPosition=z.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=z.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||z.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let x=e.getStartMousePosition(t,n);o(r,x,a)}}}function Ext(e,t){if(l(t)){let n=e[t];l(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(l(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],l(n)&&(n.inertiaEnabled=!1)}}}var $Te=[];function ml(e,t,n,i,o,r){if(!l(n))return;let s=e._aggregator;Array.isArray(n)||($Te[0]=n,n=$Te);let a=n.length;for(let c=0;c<a;++c){let u=n[c],f=l(u.eventType)?u.eventType:u,d=u.modifier,p=s.isMoving(f,d)&&s.getMovement(f,d),g=s.getStartMousePosition(f,d);e.enableInputs&&t&&(p?(i(e,g,p),Ext(e,r)):o<1&&Axt(s,f,d,o,i,e,r))}}var hG=new gn,Sxt=new h,vxt=new z,wxt=new h,Dxt=new z,Ixt=new h,Pxt=new h,Rxt=new h,Oxt=new h,lCe=new h,Mxt=new h,Lxt=new h,Nxt=new h,Fxt=new h,Bxt=new h,kxt=new h,Vxt=new h,Uxt=new h,zxt=new h,Hxt=new h,dC=new h,QTe=new h,JTe=new h,vZ={orientation:new Ia};function LZ(e,t,n,i,o,r){let s=1;l(r)&&(s=P.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,u=a>0?e.minimumZoomDistance*s:0,f=e.maximumZoomDistance,d=o-u,p=i*d;p=P.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let m=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!l(e._globe)){if(m>0&&Math.abs(o-u)<1||m<0&&Math.abs(o-f)<1)return;o-m<u?m=o-u-1:o-m>f&&(m=o-f)}let x=e._scene,b=x.camera,T=x.mode,A=vZ.orientation;if(A.heading=b.heading,A.pitch=b.pitch,A.roll=b.roll,b.frustum instanceof cn){Math.abs(m)>0&&(b.zoomIn(m),b._adjustOrthographicFrustum(!0));return}let C=y(n.inertiaEnabled,z.equals(t,e._zoomMouseStart)),E=e._zoomingOnVector,v=e._rotatingZoom,D;if(C||(e._zoomMouseStart=z.clone(t,e._zoomMouseStart),l(e._globe)&&T===ne.SCENE2D?(D=b.getPickRay(t,hG).origin,D=h.fromElements(D.y,D.z,D.x)):l(e._globe)&&(D=gg(e,t,Sxt)),l(D)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,E=e._zoomingOnVector=!1,v=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){b.zoomIn(m);return}let O=T===ne.COLUMBUS_VIEW;if(b.positionCartographic.height<2e6&&(v=!0),!C||v){if(T===ne.SCENE2D){let R=e._zoomWorldPosition,M=b.position;if(!h.equals(R,M)&&b.positionCartographic.height<e._maxCoord.x*2){let N=b.position.x,_=h.subtract(R,M,wxt);h.normalize(_,_);let S=h.distance(R,M)*m/(b.getMagnitude()*.5);b.move(_,S*.5),(b.position.x<0&&N>0||b.position.x>0&&N<0)&&(D=b.getPickRay(t,hG).origin,D=h.fromElements(D.y,D.z,D.x),e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition))}}else if(T===ne.SCENE3D){let R=h.normalize(b.position,lCe);if(e._cameraUnderground||e._zoomingUnderground||b.positionCartographic.height<3e3&&Math.abs(h.dot(b.direction,R))<.6)O=!0;else{let M=x.canvas,N=Dxt;N.x=M.clientWidth/2,N.y=M.clientHeight/2;let _=gg(e,N,Ixt);if(!l(_))O=!0;else if(b.positionCartographic.height<1e6)if(h.dot(b.direction,R)>=-.5)O=!0;else{let S=Lxt;h.clone(b.position,S);let w=e._zoomWorldPosition,I=Mxt;if(I=h.normalize(w,I),h.dot(I,R)<0)return;let L=Hxt,B=Bxt;h.clone(b.direction,B),h.add(S,h.multiplyByScalar(B,1e3,dC),L);let U=kxt,V=Vxt;h.subtract(w,S,U),h.normalize(U,V);let G=h.dot(R,V);if(G>=0){e._zoomMouseStart.x=-1;return}let k=Math.acos(-G),Y=h.magnitude(S),W=h.magnitude(w),Q=Y-m,j=h.magnitude(U),Z=Math.asin(P.clamp(j/W*Math.sin(k),-1,1)),J=Math.asin(P.clamp(Q/W*Math.sin(k),-1,1)),he=Z-J+k,xe=Nxt;h.normalize(S,xe);let re=Fxt;re=h.cross(V,xe,re),re=h.normalize(re,re),h.normalize(h.cross(xe,re,dC),B),h.multiplyByScalar(h.normalize(L,dC),h.magnitude(L)-m,L),h.normalize(S,S),h.multiplyByScalar(S,Q,S);let _e=Uxt;h.multiplyByScalar(h.add(h.multiplyByScalar(xe,Math.cos(he)-1,QTe),h.multiplyByScalar(B,Math.sin(he),JTe),dC),Q,_e),h.add(S,_e,S),h.normalize(L,xe),h.normalize(h.cross(xe,re,dC),B);let ye=zxt;h.multiplyByScalar(h.add(h.multiplyByScalar(xe,Math.cos(he)-1,QTe),h.multiplyByScalar(B,Math.sin(he),JTe),dC),h.magnitude(L),ye),h.add(L,ye,L),h.clone(S,b.position),h.normalize(h.subtract(L,S,dC),b.direction),h.clone(b.direction,b.direction),h.cross(b.direction,b.up,b.right),h.cross(b.right,b.direction,b.up),b.setView(vZ);return}else{let S=h.normalize(_,Pxt),w=h.normalize(e._zoomWorldPosition,Rxt),I=h.dot(w,S);if(I>0&&I<1){let L=P.acosClamped(I),B=h.cross(w,S,Oxt),U=Math.abs(L)>P.toRadians(20)?b.positionCartographic.height*.75:b.positionCartographic.height-m,V=m/U;b.rotate(B,L*V)}}}}e._rotatingZoom=!O}if(!C&&O||E){let R,M=Gi.worldToWindowCoordinates(x,e._zoomWorldPosition,vxt);T!==ne.COLUMBUS_VIEW&&z.equals(t,e._zoomMouseStart)&&l(M)?R=b.getPickRay(M,hG):R=b.getPickRay(t,hG);let N=R.direction;(T===ne.COLUMBUS_VIEW||T===ne.SCENE2D)&&h.fromElements(N.y,N.z,N.x,N),b.move(N,m),e._zoomingOnVector=!0}else b.zoomIn(m);e._cameraUnderground||b.setView(vZ)}var Gxt=new gn,Wxt=new gn,jxt=new h;function qxt(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,Gxt).origin,s=o.getPickRay(n.endPosition,Wxt).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,jxt),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function eCe(e,t,n){l(n.distance)&&(n=n.distance);let o=e._scene.camera;LZ(e,t,n,e.zoomFactor,o.getMagnitude())}var Yxt=new z,Xxt=new z;function tCe(e,t,n){if(l(n.angleAndHeight)){Kxt(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=Yxt;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=z.normalize(c,c);let u=Xxt;u.x=2/s*n.endPosition.x-1,u.y=2/a*(a-n.endPosition.y)-1,u=z.normalize(u,u);let f=P.acosClamped(c.x);c.y<0&&(f=P.TWO_PI-f);let d=P.acosClamped(u.x);u.y<0&&(d=P.TWO_PI-d);let p=d-f;o.twistRight(p)}function Kxt(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function Zxt(e){let t=e._scene.mapMode2D===$l.ROTATE;F.equals(F.IDENTITY,e._scene.camera.transform)?(ml(e,e.enableTranslate,e.translateEventTypes,qxt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),ml(e,e.enableZoom,e.zoomEventTypes,eCe,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&ml(e,e.enableRotate,e.tiltEventTypes,tCe,e.inertiaSpin,"_lastInertiaTiltMovement")):(ml(e,e.enableZoom,e.zoomEventTypes,eCe,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&ml(e,e.enableRotate,e.translateEventTypes,tCe,e.inertiaSpin,"_lastInertiaSpinMovement"))}var uCe=new gn,$xt=new h,Qxt=new h;function gg(e,t,n){let i=e._scene,o=e._globe,r=i.camera,s;if(i.pickPositionSupported&&(s=i.pickPositionWorldCoordinates(t,$xt)),!l(o))return h.clone(s,n);let a=!e._cameraUnderground,c=r.getPickRay(t,uCe),u=o.pickWorldCoordinates(c,i,a,Qxt),f=l(s)?h.distance(s,r.positionWC):Number.POSITIVE_INFINITY,d=l(u)?h.distance(u,r.positionWC):Number.POSITIVE_INFINITY;return f<d?h.clone(s,n):h.clone(u,n)}var Jxt=new fe;function bG(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===ne.SCENE3D){let c=t.cartesianToCartographic(i.position,Jxt);l(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var ebt=new h;function fCe(e,t){let n=t.origin,i=t.direction,o=bG(e),r=h.normalize(n,ebt),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function dCe(e,t,n,i){let o=h.distance(t.origin,n),r=bG(e),s=P.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),gn.getPoint(t,o,i)}function hCe(e,t,n,i){let o;return l(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=bG(e))):o=bG(e),gn.getPoint(t,o,i)}var tbt=new z;function mCe(e,t){let n=t.endPosition,i=z.subtract(t.endPosition,t.startPosition,tbt),o=e._strafeEndMousePosition;z.add(o,i,o),t.endPosition=o,NZ(e,t,e._strafeStartPosition),t.endPosition=n}var nCe=new gn,nbt=new gn,wZ=new h,ibt=new h,obt=new h,rbt=new h,sbt=new ln(h.UNIT_X,0),abt=new z,cbt=new z;function lbt(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){rf(e,t,n);return}if(e._strafing){mCe(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=z.clone(n.startPosition,abt),a=z.clone(n.endPosition,cbt),c=o.getPickRay(s,nCe),u=h.clone(h.ZERO,rbt),f=h.UNIT_X,d;if(o.position.z<e._minimumPickingTerrainHeight&&(d=gg(e,s,wZ),l(d)&&(u.x=d.x)),r||u.x>o.position.z&&l(d)){let C=d;r&&(C=hCe(e,c,d,wZ)),z.clone(t,e._strafeMousePosition),z.clone(t,e._strafeEndMousePosition),h.clone(C,e._strafeStartPosition),e._strafing=!0,NZ(e,n,e._strafeStartPosition);return}let p=ln.fromPointNormal(u,f,sbt);c=o.getPickRay(s,nCe);let g=ni.rayPlane(c,p,wZ),m=o.getPickRay(a,nbt),x=ni.rayPlane(m,p,ibt);if(!l(g)||!l(x)){e._looking=!0,rf(e,t,n),z.clone(t,e._translateMousePosition);return}let b=h.subtract(g,x,obt),T=b.x;b.x=b.y,b.y=b.z,b.z=T;let A=h.magnitude(b);A>P.EPSILON6&&(h.normalize(b,b),o.move(b,A))}var pCe=new z,_G=new gn,gG=new h,ubt=new h,_Ce=new F,fbt=new F,dbt=new h,hbt=new ln(h.UNIT_X,0),DZ=new h,RZ=new fe,gCe=new F,mbt=new Le,pbt=new $,yG=new h;function _bt(e,t,n){if(l(n.angleAndHeight)&&(n=n.angleAndHeight),z.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){rf(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,gbt(e,t,n)):ybt(e,t,n)}function gbt(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=pCe;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,_G),c=h.UNIT_X,u=a.origin,f=a.direction,d,p=h.dot(c,f);if(Math.abs(p)>P.EPSILON6&&(d=-h.dot(c,u)/p),!l(d)||d<=0){e._looking=!0,rf(e,t,n),z.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(f,d,gG);h.add(u,g,g);let m=i.mapProjection,x=m.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let b=m.unproject(g,RZ);x.cartographicToCartesian(b,g);let T=Lt.eastNorthUpToFixedFrame(g,x,_Ce),A=e._globe,C=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let E=F.clone(o.transform,gCe);o._setTransform(T),of(e,t,n,h.UNIT_Z),o._setTransform(E),e._globe=A,e._ellipsoid=C;let v=C.maximumRadius;e._rotateFactor=1/v,e._rotateRateRangeAdjustment=v}function ybt(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(z.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,gG);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=gg(e,t,gG)),!l(s)){a=o.getPickRay(t,_G);let _=a.origin,S=a.direction,w,I=h.dot(c,S);if(Math.abs(I)>P.EPSILON6&&(w=-h.dot(c,_)/I),!l(w)||w<=0){e._looking=!0,rf(e,t,n),z.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(S,w,gG),h.add(_,s,s)}r&&(l(a)||(a=o.getPickRay(t,_G)),dCe(e,a,s,s)),z.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let u=i.canvas,f=pCe;f.x=u.clientWidth/2,f.y=e._tiltCenterMousePosition.y,a=o.getPickRay(f,_G);let d=h.clone(h.ZERO,dbt);d.x=s.x;let p=ln.fromPointNormal(d,c,hbt),g=ni.rayPlane(a,p,ubt),m=o._projection,x=m.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let b=m.unproject(s,RZ);x.cartographicToCartesian(b,s);let T=Lt.eastNorthUpToFixedFrame(s,x,_Ce),A;l(g)?(h.fromElements(g.y,g.z,g.x,g),b=m.unproject(g,RZ),x.cartographicToCartesian(b,g),A=Lt.eastNorthUpToFixedFrame(g,x,fbt)):A=T;let C=e._globe,E=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,D=F.clone(o.transform,gCe);o._setTransform(T);let O=h.cross(h.UNIT_Z,h.normalize(o.position,DZ),DZ),R=h.dot(o.right,O);if(of(e,t,n,v,!1,!0),o._setTransform(A),R<0){let _=n.startPosition.y-n.endPosition.y;(r&&_<0||!r&&_>0)&&(v=void 0);let S=o.constrainedAxis;o.constrainedAxis=void 0,of(e,t,n,v,!0,!1),o.constrainedAxis=S}else of(e,t,n,v,!0,!1);if(l(o.constrainedAxis)){let _=h.cross(o.direction,o.constrainedAxis,yG);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,o.right)<0&&h.negate(_,_),h.cross(_,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(D),e._globe=C,e._ellipsoid=E;let M=E.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let N=h.clone(o.positionWC,DZ);if(e.enableCollisionDetection&&kZ(e,!0),!h.equals(o.positionWC,N)){o._setTransform(A),o.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(o.position)>_&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(_),o.position));let S=h.angleBetween(N,o.position),w=h.cross(N,o.position,N);h.normalize(w,w);let I=Le.fromAxisAngle(w,S,mbt),L=$.fromQuaternion(I,pbt);$.multiplyByVector(L,o.direction,o.direction),$.multiplyByVector(L,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(D)}}var yCe=new z,xCe=new gn,bCe=new h;function xbt(e,t,n){l(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=yCe,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,xCe),u=c.origin,f=c.direction,d=o.position.z,p;d<e._minimumPickingTerrainHeight&&(p=gg(e,a,bCe));let g;if(l(p)&&(g=h.distance(u,p)),s){let m=fCe(e,c,d);l(g)?g=Math.min(g,m):g=m}if(!l(g)){let m=h.UNIT_X;g=-h.dot(m,u)/h.dot(m,f)}LZ(e,t,n,e.zoomFactor,g)}function bbt(e){let n=e._scene.camera;if(!F.equals(F.IDENTITY,n.transform))ml(e,e.enableRotate,e.rotateEventTypes,of,e.inertiaSpin,"_lastInertiaSpinMovement"),ml(e,e.enableZoom,e.zoomEventTypes,CCe,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),ml(e,e.enableTilt,e.tiltEventTypes,_bt,e.inertiaSpin,"_lastInertiaTiltMovement"),ml(e,e.enableTranslate,e.translateEventTypes,lbt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),ml(e,e.enableZoom,e.zoomEventTypes,xbt,e.inertiaZoom,"_lastInertiaZoomMovement"),ml(e,e.enableLook,e.lookEventTypes,rf),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);l(o)&&(e._tween=i.add(o))}i.update()}}var Tbt=new gn,Cbt=new ln(h.UNIT_X,0),Abt=new h,Ebt=new h;function NZ(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,Tbt),s=h.clone(o.direction,Ebt);i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=ln.fromPointNormal(n,s,Cbt),c=ni.rayPlane(r,a,Abt);l(c)&&(s=h.subtract(n,c,s),i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var iCe=new h,TCe=new fe,OZ=new h,MZ=new ee,Sbt=new h,vbt=new h,wbt=new h;function Dbt(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!F.equals(o.transform,F.IDENTITY)){of(e,t,n);return}let a,c,u=s.geodeticSurfaceNormal(o.position,Sbt);if(z.equals(t,e._rotateMousePosition)){if(e._looking)rf(e,t,n,u);else if(e._rotating)of(e,t,n);else if(e._strafing)mCe(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=OZ,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,MZ),PZ(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let f=s.cartesianToCartographic(o.positionWC,TCe).height,d=e._globe;if(l(d)&&f<e._minimumPickingTerrainHeight){let p=gg(e,n.startPosition,wbt);if(l(p)){let g=!1,m=o.getPickRay(n.startPosition,uCe);if(r)g=!0,hCe(e,m,p,p);else{let x=s.geodeticSurfaceNormal(p,vbt);Math.abs(h.dot(m.direction,x))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(z.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,NZ(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=OZ,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,MZ),PZ(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,rf(e,t,n,u)}else l(o.pickEllipsoid(n.startPosition,e._ellipsoid,iCe))?(PZ(e,t,n,e._ellipsoid),h.clone(iCe,e._rotateStartPosition)):f>e._minimumTrackBallHeight?(e._rotating=!0,of(e,t,n)):(e._looking=!0,rf(e,t,n,u));z.clone(t,e._rotateMousePosition)}function of(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,u=a.constrainedAxis;l(i)&&(a.constrainedAxis=i);let f=h.magnitude(a.position),d=e._rotateFactor*(f-e._rotateRateRangeAdjustment);d>e._maximumRotateRate&&(d=e._maximumRotateRate),d<e._minimumRotateRate&&(d=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let m=d*p*Math.PI*2,x=d*g*Math.PI;if(l(i)&&l(e.maximumTiltAngle)){let b=e.maximumTiltAngle,T=h.dot(a.direction,i),A=Math.PI-Math.acos(T)+x;A>b&&(x-=A-b)}o||a.rotateRight(m),r||a.rotateUp(x),a.constrainedAxis=u}var IZ=oe.clone(oe.UNIT_W),oCe=oe.clone(oe.UNIT_W),mG=new h,Ev=new h,pG=new h,rCe=new h,Ibt=new z,Pbt=new z,Rbt=new z,Obt=new z,Mbt=new gn;function PZ(e,t,n,i){let o=e._scene,r=o.camera,s=z.clone(n.startPosition,Ibt),a=z.clone(n.endPosition,Pbt),c=i.cartesianToCartographic(r.positionWC,TCe).height,u,f;if(!n.inertiaEnabled&&c<e._minimumPickingTerrainHeight&&(u=h.clone(e._panLastWorldPosition,IZ),!l(e._globe)&&!z.equalsEpsilon(s,e._panLastMousePosition)&&(u=gg(e,s,IZ)),!l(e._globe)&&l(u))){let d=h.subtract(u,r.positionWC,Ev),p=h.multiplyByScalar(r.directionWC,h.dot(r.directionWC,d),Ev),g=h.magnitude(p),m=r.frustum.getPixelDimensions(o.drawingBufferWidth,o.drawingBufferHeight,g,o.pixelRatio,Obt),x=z.subtract(a,s,Rbt),b=h.multiplyByScalar(r.rightWC,x.x*m.x,Ev),T=h.normalize(r.positionWC,lCe),A=r.getPickRay(a,Mbt).direction,C=h.subtract(A,h.projectVector(A,r.rightWC,pG),pG),E=h.angleBetween(C,r.directionWC),v=1;l(r.frustum.fov)&&(v=Math.max(Math.tan(E),.1));let D=Math.abs(h.dot(r.directionWC,T)),O=-x.y*m.y*2/Math.sqrt(v)*(1-D),R=h.multiplyByScalar(A,O,pG);D=Math.abs(h.dot(r.upWC,T));let M=h.multiplyByScalar(r.upWC,-x.y*(1-D)*m.y,rCe);f=h.add(u,b,oCe),f=h.add(f,R,f),f=h.add(f,M,f),h.clone(f,e._panLastWorldPosition),z.clone(a,e._panLastMousePosition)}if((!l(u)||!l(f))&&(u=r.pickEllipsoid(s,i,IZ),f=r.pickEllipsoid(a,i,oCe)),!l(u)||!l(f)){e._rotating=!0,of(e,t,n);return}if(u=r.worldToCameraCoordinates(u,u),f=r.worldToCameraCoordinates(f,f),l(r.constrainedAxis)){let d=r.constrainedAxis,p=h.mostOrthogonalAxis(d,mG);h.cross(p,d,p),h.normalize(p,p);let g=h.cross(d,p,Ev),m=h.magnitude(u),x=h.dot(d,u),b=Math.acos(x/m),T=h.multiplyByScalar(d,x,pG);h.subtract(u,T,T),h.normalize(T,T);let A=h.magnitude(f),C=h.dot(d,f),E=Math.acos(C/A),v=h.multiplyByScalar(d,C,rCe);h.subtract(f,v,v),h.normalize(v,v);let D=Math.acos(h.dot(T,p));h.dot(T,g)<0&&(D=P.TWO_PI-D);let O=Math.acos(h.dot(v,p));h.dot(v,g)<0&&(O=P.TWO_PI-O);let R=D-O,M;h.equalsEpsilon(d,r.position,P.EPSILON2)?M=r.right:M=h.cross(d,r.position,mG);let N=h.cross(d,M,mG),_=h.dot(N,h.subtract(u,d,Ev)),S=h.dot(N,h.subtract(f,d,Ev)),w;_>0&&S>0?w=E-b:_>0&&S<=0?h.dot(r.position,d)>0?w=-b-E:w=b+E:w=b-E,r.rotateRight(R),r.rotateUp(w)}else{h.normalize(u,u),h.normalize(f,f);let d=h.dot(u,f),p=h.cross(u,f,mG);if(d<1&&!h.equalsEpsilon(p,h.ZERO,P.EPSILON14)){let g=Math.acos(d);r.rotate(p,g)}}}var Lbt=new h,Nbt=new fe,sCe=0;function CCe(e,t,n){l(n.distance)&&(n=n.distance);let i=n.inertiaEnabled,o=e._ellipsoid,r=e._scene,s=r.camera,a=r.canvas,c=e._cameraUnderground,u;c?u=t:(u=yCe,u.x=a.clientWidth/2,u.y=a.clientHeight/2);let f=s.getPickRay(u,xCe),d,p=o.cartesianToCartographic(s.position,Nbt).height,g=Math.abs(sCe)<e.minimumPickingTerrainDistanceWithInertia;(i?g:p<e._minimumPickingTerrainHeight)&&(d=gg(e,u,bCe));let x;if(l(d)&&(x=h.distance(f.origin,d),sCe=x),c){let T=fCe(e,f,p);l(x)?x=Math.min(x,T):x=T}l(x)||(x=p);let b=h.normalize(s.position,Lbt);LZ(e,t,n,e.zoomFactor,x,h.dot(b,s.direction))}var ACe=new z,xG=new gn,h3=new h,Fbt=new h,ECe=new F,Bbt=new F,SCe=new F,kbt=new Le,Vbt=new $,FZ=new fe,BZ=new h;function Ubt(e,t,n){let o=e._scene.camera;if(!F.equals(o.transform,F.IDENTITY))return;if(l(n.angleAndHeight)&&(n=n.angleAndHeight),z.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,BZ);rf(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,FZ);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,Hbt(e,t,n)):Gbt(e,t,n)}var zbt=new fe;function Hbt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,zbt).height;if(a-s-1<P.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,u=ACe;u.x=c.clientWidth/2,u.y=c.clientHeight/2;let f=r.getPickRay(u,xG),d,p=ni.rayEllipsoid(f,i);if(l(p))d=gn.getPoint(f,p.start,h3);else if(a>e._minimumTrackBallHeight){let A=ni.grazingAltitudeLocation(f,i);if(!l(A))return;let C=i.cartesianToCartographic(A,FZ);C.height=0,d=i.cartographicToCartesian(C,h3)}else{e._looking=!0;let A=e._ellipsoid.geodeticSurfaceNormal(r.position,BZ);rf(e,t,n,A),z.clone(t,e._tiltCenterMousePosition);return}let g=Lt.eastNorthUpToFixedFrame(d,i,ECe),m=e._globe,x=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let b=F.clone(r.transform,SCe);r._setTransform(g),of(e,t,n,h.UNIT_Z),r._setTransform(b),e._globe=m,e._ellipsoid=x;let T=x.maximumRadius;e._rotateFactor=1/T,e._rotateRateRangeAdjustment=T}function Gbt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,u;if(z.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,h3);else{if(a=gg(e,t,h3),!l(a)){if(c=r.getPickRay(t,xG),u=ni.rayEllipsoid(c,i),!l(u)){if(i.cartesianToCartographic(r.position,FZ).height<=e._minimumTrackBallHeight){e._looking=!0;let S=e._ellipsoid.geodeticSurfaceNormal(r.position,BZ);rf(e,t,n,S),z.clone(t,e._tiltCenterMousePosition)}return}a=gn.getPoint(c,u.start,h3)}s&&(l(c)||(c=r.getPickRay(t,xG)),dCe(e,c,a,a)),z.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let f=o.canvas,d=ACe;d.x=f.clientWidth/2,d.y=e._tiltCenterMousePosition.y,c=r.getPickRay(d,xG);let p=h.magnitude(a),g=h.fromElements(p,p,p,OZ),m=ee.fromCartesian3(g,MZ);if(u=ni.rayEllipsoid(c,m),!l(u))return;let x=h.magnitude(c.origin)>p?u.start:u.stop,b=gn.getPoint(c,x,Fbt),T=Lt.eastNorthUpToFixedFrame(a,i,ECe),A=Lt.eastNorthUpToFixedFrame(b,m,Bbt),C=e._globe,E=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,D=F.clone(r.transform,SCe);r._setTransform(A);let O=h.cross(b,r.positionWC,yG);if(h.dot(r.rightWC,O)<0){let _=n.startPosition.y-n.endPosition.y;(s&&_<0||!s&&_>0)&&(v=void 0);let S=r.constrainedAxis;r.constrainedAxis=void 0,of(e,t,n,v,!0,!1),r.constrainedAxis=S}else of(e,t,n,v,!0,!1);if(r._setTransform(T),of(e,t,n,v,!1,!0),l(r.constrainedAxis)){let _=h.cross(r.direction,r.constrainedAxis,yG);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,r.right)<0&&h.negate(_,_),h.cross(_,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(D),e._globe=C,e._ellipsoid=E;let M=E.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let N=h.clone(r.positionWC,yG);if(e.enableCollisionDetection&&kZ(e,!0),!h.equals(r.positionWC,N)){r._setTransform(A),r.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(r.position)>_&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(_),r.position));let S=h.angleBetween(N,r.position),w=h.cross(N,r.position,N);h.normalize(w,w);let I=Le.fromAxisAngle(w,S,kbt),L=$.fromQuaternion(I,Vbt);$.multiplyByVector(L,r.direction,r.direction),$.multiplyByVector(L,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(D)}}var Wbt=new z,jbt=new z,aCe=new gn,cCe=new gn,qbt=new h,Ybt=new h;function rf(e,t,n,i){let r=e._scene.camera,s=Wbt;s.x=n.startPosition.x,s.y=0;let a=jbt;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,aCe),u=r.getPickRay(a,cCe),f=0,d,p;r.frustum instanceof cn?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction);let g=h.dot(d,p);g<1&&(f=Math.acos(g)),f=n.startPosition.x>n.endPosition.x?-f:f;let m=e._horizontalRotationAxis;if(l(i)?r.look(i,-f):l(m)?r.look(m,-f):r.lookLeft(f),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,aCe),u=r.getPickRay(a,cCe),f=0,r.frustum instanceof cn?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction),g=h.dot(d,p),g<1&&(f=Math.acos(g)),f=n.startPosition.y>n.endPosition.y?-f:f,i=y(i,m),l(i)){let x=r.direction,b=h.negate(i,qbt),T=h.equalsEpsilon(x,i,P.EPSILON2),A=h.equalsEpsilon(x,b,P.EPSILON2);if(!T&&!A){g=h.dot(x,i);let C=P.acosClamped(g);f>0&&f>C&&(f=C-P.EPSILON4),g=h.dot(x,b),C=P.acosClamped(g),f<0&&-f>C&&(f=-C+P.EPSILON4);let E=h.cross(i,x,Ybt);r.look(E,f)}else(T&&f<0||A&&f>0)&&r.look(r.right,-f)}else r.lookUp(f)}function Xbt(e){ml(e,e.enableRotate,e.rotateEventTypes,Dbt,e.inertiaSpin,"_lastInertiaSpinMovement"),ml(e,e.enableZoom,e.zoomEventTypes,CCe,e.inertiaZoom,"_lastInertiaZoomMovement"),ml(e,e.enableTilt,e.tiltEventTypes,Ubt,e.inertiaSpin,"_lastInertiaTiltMovement"),ml(e,e.enableLook,e.lookEventTypes,rf)}var Kbt=new F,Zbt=new fe;function kZ(e,t){e._adjustedHeightForTerrain=!0;let n=e._scene,i=n.mode;if(i===ne.SCENE2D||i===ne.MORPHING)return;let o=n.camera,r=y(n.ellipsoid,ee.WGS84),s=n.mapProjection,a,c;F.equals(o.transform,F.IDENTITY)||(a=F.clone(o.transform,Kbt),c=h.magnitude(o.position),o._setTransform(F.IDENTITY));let u=Zbt;i===ne.SCENE3D?r.cartesianToCartographic(o.position,u):s.unproject(o.position,u);let f=!1;if(u.height<e._minimumCollisionTerrainHeight){let d=e._scene.globeHeight;if(l(d)){let p=d+e.minimumZoomDistance,g=d-e._lastGlobeHeight,m=g/e._lastGlobeHeight;u.height<p&&(t||Math.abs(m)<=.1)&&(u.height=p,i===ne.SCENE3D?r.cartographicToCartesian(u,o.position):s.project(u,o.position),f=!0),t||Math.abs(m)<=.1?e._lastGlobeHeight=d:e._lastGlobeHeight+=g*.1}}l(a)&&(o._setTransform(a),f&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}m3.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===ne.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var $bt=new h,Qbt=new h;m3.prototype.update=function(){let e=this._scene,{camera:t,globe:n,mode:i}=e;F.equals(t.transform,F.IDENTITY)?(this._globe=n,this._ellipsoid=y(e.ellipsoid,ee.default)):(this._globe=void 0,this._ellipsoid=ee.UNIT_SPHERE);let{verticalExaggeration:o,verticalExaggerationRelativeHeight:r}=e;this._minimumCollisionTerrainHeight=Cr.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=Cr.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=Cr.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&l(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,$bt),c=h.clone(t.directionWC,Qbt);if(i===ne.SCENE2D?Zxt(this):i===ne.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,bbt(this)):i===ne.SCENE3D&&(this._horizontalRotationAxis=void 0,Xbt(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain){let u=!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC);kZ(this,u)}this._aggregator.reset()};m3.prototype.isDestroyed=function(){return!1};m3.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),ue(this)};var p3=m3;var _3=`uniform sampler2D colorTexture; -uniform sampler2D colorTexture2; +`;var m3=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js +#define OCTREE_FLAG_INTERNAL 0 +#define OCTREE_FLAG_LEAF 1 +#define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 -uniform vec2 center; -uniform float radius; +#define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops -in vec2 v_textureCoordinates; +uniform sampler2D u_octreeInternalNodeTexture; +uniform vec2 u_octreeInternalNodeTexelSizeUv; +uniform int u_octreeInternalNodeTilesPerRow; +#if (SAMPLE_COUNT > 1) +uniform sampler2D u_octreeLeafNodeTexture; +uniform vec2 u_octreeLeafNodeTexelSizeUv; +uniform int u_octreeLeafNodeTilesPerRow; +#endif -void main() -{ - vec4 color0 = texture(colorTexture, v_textureCoordinates); - vec4 color1 = texture(colorTexture2, v_textureCoordinates); +struct OctreeNodeData { + int data; + int flag; +}; - float x = length(gl_FragCoord.xy - center) / radius; - float t = smoothstep(0.5, 0.8, x); - out_FragColor = mix(color0 + color1, color1, t); +struct TraversalData { + ivec4 octreeCoords; + int parentOctreeIndex; +}; + +struct SampleData { + int megatextureIndex; + ivec4 tileCoords; + vec3 tileUv; + #if (SAMPLE_COUNT > 1) + float weight; + #endif +}; + +// Integer mod: For WebGL1 only +int intMod(in int a, in int b) { + return a - (b * (a / b)); +} +int normU8_toInt(in float value) { + return int(value * 255.0); +} +int normU8x2_toInt(in vec2 value) { + return int(value.x * 255.0) + 256 * int(value.y * 255.0); +} +float normU8x2_toFloat(in vec2 value) { + return float(normU8x2_toInt(value)) / 65535.0; } -`;var g3=`uniform sampler2D colorTexture; -uniform float avgLuminance; -uniform float threshold; -uniform float offset; +OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { + vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); -in vec2 v_textureCoordinates; + OctreeNodeData data; + data.data = normU8x2_toInt(texData.xy); + data.flag = normU8x2_toInt(texData.zw); + return data; +} -float key(float avg) -{ - float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); - return max(0.0, guess) + 0.1; +OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { + int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; + int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; + int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + return getOctreeNodeData(octreeUv); } -// See section 9. "The bright-pass filter" of Realtime HDR Rendering -// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf +int getOctreeParentIndex(in int octreeIndex) { + int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; + int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); + int parentOctreeIndex = normU8x2_toInt(parentData.xy); + return parentOctreeIndex; +} -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - vec3 xyz = czm_RGBToXYZ(color.rgb); - float luminance = xyz.r; +/** +* Convert a position in the uv-space of the tileset bounding shape +* into the uv-space of a tile within the tileset +*/ +vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { + // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) + float dimAtLevel = exp2(float(octreeCoords.w)); + return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); +} - float scaledLum = key(avgLuminance) * luminance / avgLuminance; - float brightLum = max(scaledLum - threshold, 0.0); - float brightness = brightLum / (offset + brightLum); +vec3 getClampedTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { + vec3 tileUv = getTileUv(shapePosition, octreeCoords); + return clamp(tileUv, vec3(0.0), vec3(1.0)); +} - xyz.r = brightness; - out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); +void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { + sampleData.megatextureIndex = data.data; + sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; } -`;function yg(){this._sceneFramebuffer=new tC;let e=.125,t=new Array(6);t[0]=new _o({fragmentShader:nu,textureScale:e,forcePowerOfTwo:!0,sampleMode:ef.LINEAR});let n=t[1]=new _o({fragmentShader:g3,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new z,t[2]=new _o({fragmentShader:R0,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new _o({fragmentShader:R0,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new _o({fragmentShader:nu,sampleMode:ef.LINEAR}),this._uCenter=new z,this._uRadius=void 0,t[5]=new _o({fragmentShader:_3,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new dl({stages:t});let o=new cC(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}yg.prototype.get=function(e){return this._stages.get(e)};yg.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var Jbt=new oe,vCe=new z,eTt=new z,wCe=new F;function tTt(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=F.computeViewportTransformation(n,0,1,wCe),u=F.multiplyByPoint(r,o,Jbt),f=Lt.pointToGLWindowCoordinates(s,c,o,vCe);u.x+=P.SOLAR_RADIUS;let d=Lt.pointToGLWindowCoordinates(a,c,u,u),p=z.magnitude(z.subtract(d,f,d))*30*2,g=eTt;g.x=p,g.y=p,e._uCenter=z.clone(f,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let m=t.drawingBufferWidth,x=t.drawingBufferHeight,b=e._stages,T=b.get(0),A=T.outputTexture.width,C=T.outputTexture.height,E=new We;E.width=A,E.height=C,c=F.computeViewportTransformation(E,0,1,wCe),f=Lt.pointToGLWindowCoordinates(s,c,o,vCe),g.x*=A/m,g.y*=C/x;let v=T.scissorRectangle;v.x=Math.max(f.x-g.x*.5,0),v.y=Math.max(f.y-g.y*.5,0),v.width=Math.min(g.x,m),v.height=Math.min(g.y,x);for(let D=1;D<4;++D)We.clone(v,b.get(D).scissorRectangle)}yg.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};yg.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),tTt(this,t,n),o};yg.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};yg.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(nu,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};yg.prototype.isDestroyed=function(){return!1};yg.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),ue(this)};var y3=yg;function hC(e,t,n){this._primitive=e,this._tileIndex=t,this._sampleIndex=n,this._metadata={},this._orientedBoundingBox=new In}hC.fromKeyframeNode=function(e,t,n,i){let o=new hC(e,t,n),{spatialNode:r,metadata:s}=i;return o._metadata=nTt(e,s,n),o._orientedBoundingBox=oTt(e,r,n,o._orientedBoundingBox),o};function nTt(e,t,n){if(!l(t))return;let{names:i,types:o}=e.provider,r={};for(let s=0;s<i.length;s++){let a=i[s],c=Et.getComponentCount(o[s]),u=t[s].slice(n*c,(n+1)*c);r[a]=u}return r}var DCe=new h,iTt=new h;function oTt(e,t,n,i){let o=t.dimensions,r=o.x*o.y,s=Math.floor(n/r),a=n-s*r,c=Math.floor(a/o.x),u=a-c*o.x,f=h.fromElements(u,c,s,DCe),d=h.divideComponents(h.subtract(f,e._paddingBefore,DCe),e.dimensions,iTt);return e._shape.computeOrientedBoundingBoxForSample(t,e.dimensions,d,i)}Object.defineProperties(hC.prototype,{metadata:{get:function(){return this._metadata}},primitive:{get:function(){return this._primitive}},sampleIndex:{get:function(){return this._sampleIndex}},tileIndex:{get:function(){return this._tileIndex}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox.clone()}}});hC.prototype.hasProperty=function(e){return l(this._metadata[e])};hC.prototype.getNames=function(){return Object.keys(this._metadata)};hC.prototype.getProperty=function(e){return this._metadata[e]};var x3=hC;function ud(e,t,n,i,o,r,s){this.children=void 0,this.parent=o,this.level=e,this.x=t,this.y=n,this.z=i,this.dimensions=h.clone(s),this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new In,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(r)}var rTt=new h;ud.prototype.computeBoundingVolumes=function(e){this.orientedBoundingBox=e.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let t=$.getScale(this.orientedBoundingBox.halfAxes,rTt),n=2*h.maximumComponent(t);this.approximateVoxelSize=n/h.minimumComponent(this.dimensions)};ud.prototype.constructChildNodes=function(e){let{level:t,x:n,y:i,z:o}=this,r=n*2,s=i*2,a=o*2,c=s+1,u=r+1,f=a+1,d=t+1,p=[[d,r,s,a],[d,u,s,a],[d,r,c,a],[d,u,c,a],[d,r,s,f],[d,u,s,f],[d,r,c,f],[d,u,c,f]];this.children=p.map(([g,m,x,b])=>new ud(g,m,x,b,this,e,this.dimensions))};ud.prototype.visibility=function(e,t){let n=this.orientedBoundingBox;return e.cullingVolume.computeVisibilityWithPlaneMask(n,t)};ud.prototype.computeScreenSpaceError=function(e,t){let n=this.orientedBoundingBox,i=Math.sqrt(n.distanceSquaredTo(e));i=Math.max(i,P.EPSILON7);let o=this.approximateVoxelSize,r=t*(o/i);this.screenSpaceError=r};var ICe={keyframe:0};function b3(e,t){return ICe.keyframe=e,Po(t,ICe,to.searchComparator)}ud.prototype.computeSurroundingRenderableKeyframeNodes=function(e){let t=this,n=t.level,i=Math.floor(e),o=Math.ceil(e),r,s,a=+Number.MAX_VALUE,c=+Number.MAX_VALUE;for(;l(t);){let{renderableKeyframeNodes:d}=t;if(d.length>=1){let p=sTt(i,d),g=d[p],m=o===i||i<g.keyframe?p:Math.min(p+1,d.length-1),x=d[m],b=i-g.keyframe,T=PCe(n-t.level,b);T<a&&(a=T,r=g);let A=x.keyframe-o,C=PCe(n-t.level,A);if(C<c&&(c=C,s=x),b===0&&A===0)break}t=t.parent}if(this.renderableKeyframeNodePrevious=r,this.renderableKeyframeNodeNext=s,!l(r)||!l(s))return;let u=r.keyframe,f=s.keyframe;this.renderableKeyframeNodeLerp=u===f?0:P.clamp((e-u)/(f-u),0,1)};function sTt(e,t){let n=b3(e,t);return n<0?P.clamp(~n-1,0,t.length-1):n}function PCe(e,t){let n=Math.exp(e*4),i=t>=0?1:-200;return e*n+t*i}ud.prototype.isVisited=function(e){return this.visitedFrameNumber===e};ud.prototype.createKeyframeNode=function(e){let t=b3(e,this.keyframeNodes);if(t<0){t=~t;let n=new to(this,e);this.keyframeNodes.splice(t,0,n)}};ud.prototype.destroyKeyframeNode=function(e,t){let n=e.keyframe,i=b3(n,this.keyframeNodes);if(i<0)throw new de("Keyframe node does not exist.");if(this.keyframeNodes.splice(i,1),e.megatextureIndex!==-1){for(let r=0;r<t.length;r++)t[r].remove(e.megatextureIndex);let o=b3(n,this.renderableKeyframeNodes);if(o<0)throw new de("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(o,1)}e.spatialNode=void 0,e.state=to.LoadState.UNLOADED,e.metadata={},e.megatextureIndex=-1,e.priority=-Number.MAX_VALUE,e.highPriorityFrameNumber=-1};ud.prototype.addKeyframeNodeToMegatextures=function(e,t){if(e.state!==to.LoadState.RECEIVED||e.megatextureIndex!==-1||e.metadata.length!==t.length)throw new de("Keyframe node cannot be added to megatexture");for(let o=0;o<t.length;o++){let r=t[o];e.megatextureIndex=r.add(e.metadata[o])}e.state=to.LoadState.LOADED;let n=this.renderableKeyframeNodes,i=b3(e.keyframe,n);if(i>=0)throw new de("Keyframe already renderable");i=~i,n.splice(i,0,e)};ud.prototype.isRenderable=function(e){let t=this.renderableKeyframeNodePrevious,n=this.renderableKeyframeNodeNext,i=this.level;return l(t)&&l(n)&&(t.spatialNode.level===i||n.spatialNode.level===i)&&this.visitedFrameNumber===e};var T3=ud;function xg(e,t,n,i,o,r,s){this._primitive=e,this.megatextures=new Array(i.length);for(let m=0;m<i.length;m++){let x=i[m],b=Et.getComponentCount(x),T=o[m];this.megatextures[m]=new yv(t,n,b,T,s)}let a=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let c=e._shape;this.rootNode=new T3(0,0,0,0,void 0,c,n),this._priorityQueue=new OT({maximumLength:a,comparator:to.priorityComparator}),this._highPriorityKeyframeNodes=new Array(a),this._keyframeNodesInMegatexture=new Array(a),this._keyframeCount=r,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(r);let u=this._binaryTreeKeyframeWeighting;u[0]=0,u[r-1]=0,VZ(u,1,r-2,0);let f=9,d=2048,p=Math.floor(d/f),g=Math.ceil(a/p);this.internalNodeTexture=new Mt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,flipY:!1,width:d,height:g,sampler:new en({minificationFilter:Jt.NEAREST,magnificationFilter:mi.NEAREST})}),this.internalNodeTilesPerRow=p,this.internalNodeTexelSizeUv=new z(1/d,1/g),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new z}xg.prototype.findKeyframeNode=function(e){return this._keyframeNodesInMegatexture.find(function(t){return t.megatextureIndex===e})};function VZ(e,t,n,i){if(t>n)return;let o=Math.floor((t+n)/2);e[o]=i,VZ(e,t,o-1,i+1),VZ(e,o+1,n,i+1)}xg.simultaneousRequestCountMaximum=50;xg.prototype.update=function(e,t,n,i){let o=this._primitive,r=e.context,s=this.megatextures[0].maximumTileCount,a=this._keyframeCount,c=o._levelBlendFactor,u=c>0,f=a>1,d=(u?2:1)*(f?2:1);this._sampleCount=d;let p=d>=2;if(p&&!l(this.leafNodeTexture)){let A=Math.floor(512),C=Math.ceil(s/A);this.leafNodeTexture=new Mt({context:r,pixelFormat:ot.RGBA,pixelDatatype:Je.UNSIGNED_BYTE,flipY:!1,width:1024,height:C,sampler:new en({minificationFilter:Jt.NEAREST,magnificationFilter:mi.NEAREST})}),this.leafNodeTexelSizeUv=z.fromElements(1/1024,1/C,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=A}else!p&&l(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=P.clamp(t,0,a-1),n&&RCe(this,this.rootNode),i)return;this._frameNumber=e.frameNumber;let g=Ci();lTt(this,e);let m=Ci();dTt(this,d,c);let x=Ci();if(this._debugPrint){let b=m-g,T=x-m,A=x-g;fTt(this,b,T,A)}};xg.prototype.isRenderable=function(e){return e.isRenderable(this._frameNumber)};xg.prototype.isDestroyed=function(){return!1};xg.prototype.destroy=function(){let e=this.megatextures,t=e.length;for(let n=0;n<t;n++)e[n]=e[n]&&e[n].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),ue(this)};function RCe(e,t){if(t.computeBoundingVolumes(e._primitive._shape),l(t.children))for(let n=0;n<8;n++){let i=t.children[n];RCe(e,i)}}function aTt(e,t){if(e._simultaneousRequestCount>=xg.simultaneousRequestCountMaximum)return;let n=e._primitive._provider;function i(c){e._simultaneousRequestCount--;let u=n.types.length;if(!l(c))t.state=to.LoadState.UNAVAILABLE;else if(c===to.LoadState.FAILED)t.state=to.LoadState.FAILED;else if(!Array.isArray(c)||c.length!==u)t.state=to.LoadState.FAILED;else{let f=e.megatextures;for(let d=0;d<u;d++){let{voxelCountPerTile:p,channelCount:g}=f[d],{x:m,y:x,z:b}=p,T=m*x*b,A=c[d],C=T*g;if(A.length===C)t.metadata[d]=A,t.state=to.LoadState.RECEIVED;else{t.state=to.LoadState.FAILED;break}}}}function o(){e._simultaneousRequestCount--,t.state=to.LoadState.FAILED}let{keyframe:r,spatialNode:s}=t,a=n.requestData({tileLevel:s.level,tileX:s.x,tileY:s.y,tileZ:s.z,keyframe:r});l(a)?(e._simultaneousRequestCount++,t.state=to.LoadState.RECEIVING,a.then(i).catch(o)):t.state=to.LoadState.FAILED}function cTt(e){return e/(1+e)}function lTt(e,t){let n=e._frameNumber,i=e._primitive,o=i._shape,r=i.screenSpaceError,s=e._priorityQueue,a=e._keyframeCount,c=P.clamp(Math.floor(e._keyframeLocation),0,a-2),u=c+1,{camera:f,context:d,pixelRatio:p}=t,{positionWC:g,frustum:m}=f,b=d.drawingBufferHeight/p/m.sseDenominator;function T(N,_){if(N.computeScreenSpaceError(g,b),_=N.visibility(t,_),_===hs.MASK_OUTSIDE)return;if(N.visitedFrameNumber=n,a===1)N.createKeyframeNode(0);else if(N.keyframeNodes.length!==a)for(let B=0;B<a;B++)N.createKeyframeNode(B);let{screenSpaceError:S,keyframeNodes:w}=N,I=cTt(S),L=!1;for(let B=0;B<w.length;B++){let U=w[B];U.priority=10*I+uTt(c,U.keyframe,u,e),U.state!==to.LoadState.UNAVAILABLE&&U.state!==to.LoadState.FAILED&&U.priority!==-Number.MAX_VALUE&&s.insert(U),U.state===to.LoadState.LOADED&&(L=!0)}if(S<r||!L){N.children=void 0;return}l(N.children)||N.constructChildNodes(o);for(let B=0;B<8;B++){let U=N.children[B];T(U,_)}}s.reset(),T(e.rootNode,hs.MASK_INDETERMINATE);let A=e._highPriorityKeyframeNodes,C=0,E;for(;s.length>0;)E=s.removeMaximum(),E.highPriorityFrameNumber=n,A[C]=E,C++;let v=e._keyframeNodesInMegatexture,D=e.megatextures[0],O=D.occupiedCount;v.length=O,v.sort(function(N,_){return N.highPriorityFrameNumber===_.highPriorityFrameNumber?_.priority-N.priority:_.highPriorityFrameNumber-N.highPriorityFrameNumber});let R=0,M=0;for(let N=0;N<C;N++)if(E=A[N],!(E.state===to.LoadState.LOADED||E.spatialNode===void 0)&&(E.state===to.LoadState.UNLOADED&&aTt(e,E),E.state===to.LoadState.RECEIVED)){let _=0;if(D.isFull()){_=O-1-R,R++;let S=v[_];S.spatialNode.destroyKeyframeNode(S,e.megatextures)}else _=O+M,M++;E.spatialNode.addKeyframeNodeToMegatextures(E,e.megatextures),v[_]=E}}function uTt(e,t,n,i){let o=Math.min(Math.abs(t-e),Math.abs(t-n)),r=Math.max(e,i._keyframeCount-n-1,1),s=Math.pow(1-o/r,4),a=Math.exp(-i._binaryTreeKeyframeWeighting[t]);return P.lerp(a,s,.15+.85*s)}function fTt(e,t,n,i){let o=e._keyframeCount,r=e.rootNode,s=Object.keys(to.LoadState).length,a=new Array(s),c=new Array(s),u=0;for(let T=0;T<s;T++){let A=new Array(o);a[T]=A;for(let C=0;C<o;C++)A[C]=0;c[T]=0}function f(T){let A=T.keyframeNodes;for(let C=0;C<A.length;C++){let E=A[C],v=E.keyframe,D=E.state;a[D][v]+=1,c[D]+=1,u++}if(l(T.children))for(let C=0;C<8;C++){let E=T.children[C];f(E)}}f(r);let d=`KEYFRAMES: ${a[to.LoadState.LOADED]}`,p=`UNLOADED: ${c[to.LoadState.UNLOADED]} | RECEIVING: ${c[to.LoadState.RECEIVING]} | RECEIVED: ${c[to.LoadState.RECEIVED]} | LOADED: ${c[to.LoadState.LOADED]} | FAILED: ${c[to.LoadState.FAILED]} | UNAVAILABLE: ${c[to.LoadState.UNAVAILABLE]} | TOTAL: ${u}`,g=Math.round(t*100)/100,m=Math.round(n*100)/100,x=Math.round(i*100)/100,b=`LOAD: ${g} | OCT: ${m} | ALL: ${x}`;console.log(`${d} || ${p} || ${b}`)}var TG={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function dTt(e,t,n){let i=e._primitive._screenSpaceError,o=e._keyframeLocation,r=e._frameNumber,s=t>=2,a=0,c=0,u=[],f=[];function d(g,m,x,b,T){let A=!1;if(l(g.children))for(let C=0;C<8;C++){let E=g.children[C];E.computeSurroundingRenderableKeyframeNodes(o),E.isRenderable(r)&&(A=!0)}if(A){u[T]=TG.INTERNAL<<16|m,u[x]=b,a++,b=m,T=b*9+1;for(let C=0;C<8;C++){let E=g.children[C];m=a,x=m*9+0,d(E,m,x,b,T+C)}}else{if(s){let C=c*5,E=g.renderableKeyframeNodePrevious,v=g.level-E.spatialNode.level,D=E.spatialNode.parent,O=l(D)?D.renderableKeyframeNodePrevious:E,R=hTt(g,i,n),M=v,N=1,_=E.megatextureIndex,S=O.megatextureIndex;f[C+0]=R,f[C+1]=M,f[C+2]=N,f[C+3]=_,f[C+4]=S,u[T]=TG.LEAF<<16|c}else{let C=g.renderableKeyframeNodePrevious,v=g.level-C.spatialNode.level===0?TG.LEAF:TG.PACKED_LEAF_FROM_PARENT;u[T]=v<<16|C.megatextureIndex}c++}}let p=e.rootNode;p.computeSurroundingRenderableKeyframeNodes(o),p.isRenderable(r)&&d(p,0,0,0,0),mTt(u,9,e.internalNodeTilesPerRow,e.internalNodeTexture),s&&pTt(f,2,e.leafNodeTilesPerRow,e.leafNodeTexture)}function hTt(e,t,n){if(e.parent===void 0)return 0;let i=e.screenSpaceError,o=e.parent.screenSpaceError,s=((t-i)/(o-i)+n-1)/n;return P.clamp(s,0,1)}function mTt(e,t,n,i){let o=ot.componentsLength(i.pixelFormat),r=Math.ceil(e.length/t),s=Math.max(1,t*Math.min(r,n)),a=Math.max(1,Math.ceil(r/n)),c=new Uint8Array(s*a*o);for(let d=0;d<e.length;d++){let p=e[d],g=d*o;for(let m=0;m<o;m++)c[g+m]=p>>>m*8&255}let f={source:{arrayBufferView:c,width:s,height:a},xOffset:0,yOffset:0};i.copyFrom(f)}function pTt(e,t,n,i){let o=ot.componentsLength(i.pixelFormat),r=5,s=Math.ceil(e.length/r),a=Math.max(1,t*Math.min(s,n)),c=Math.max(1,Math.ceil(s/n)),u=new Uint8Array(a*c*o);for(let p=0;p<s;p++){let g=e[p*r+0],m=e[p*r+1],x=e[p*r+2],b=e[p*r+3],T=e[p*r+4],A=P.clamp(Math.floor(65536*g),0,65535);u[p*8+0]=A>>>0&255,u[p*8+1]=A>>>8&255,u[p*8+2]=m&255,u[p*8+3]=x&255,u[p*8+4]=b>>>0&255,u[p*8+5]=b>>>8&255,u[p*8+6]=T>>>0&255,u[p*8+7]=T>>>8&255}let d={source:{arrayBufferView:u,width:a,height:c},xOffset:0,yOffset:0};i.copyFrom(d)}xg.getApproximateTextureMemoryByteLength=function(e,t,n,i){let o=0,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=i[s],u=Et.getComponentCount(a);o+=yv.getApproximateTextureMemoryByteLength(e,t,u,c)}return o};var Sv=xg;var _Tt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},vv=Object.freeze(_Tt);function gTt(e,t,n){let i=new Uint8ClampedArray(e.buffer),o=new ImageData(i,t,n),r=document.createElement("canvas");return r.width=t,r.height=n,r.getContext("2d").putImageData(o,0,0),r}var C3=gTt;function wv(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}wv.prototype.getTexture=function(e){return this._textures[e]};function yTt(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];l(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}wv.prototype.loadTexture2D=function(e,t){l(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):yTt(this,e,t)};function xTt(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?CG(o,r,n):bTt(o,r,n),a=e._textures[i];l(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function CG(e,t,n){let{typedArray:i,sampler:o}=e,r=l(i)?MCe(e,n):new Mt({context:n,source:t,sampler:o});return OCe(o)&&r.generateMipmap(),r}function bTt(e,t,n){let{typedArray:i,sampler:o}=e,r=OCe(o),s=o.wrapS===En.REPEAT||o.wrapS===En.MIRRORED_REPEAT||o.wrapT===En.REPEAT||o.wrapT===En.MIRRORED_REPEAT,{width:a,height:c}=l(i)?e:t,u=[a,c].every(P.isPowerOfTwo);if((r||s)&&!u)if(l(i)){if(e.pixelDatatype===Je.UNSIGNED_BYTE){let d=C3(i,a,c),p=ay(d);return CG({sampler:o},p,n)}}else{let d=ay(t);return CG(e,d,n)}else return CG(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),MCe(e,n)}function OCe(e){return[Jt.NEAREST_MIPMAP_NEAREST,Jt.NEAREST_MIPMAP_LINEAR,Jt.LINEAR_MIPMAP_NEAREST,Jt.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function MCe(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new Mt({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}wv.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];xTt(this,o,t)}n.length=0};wv.prototype.isDestroyed=function(){return!1};wv.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return ue(this)};var A3=wv;function E3(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,c_.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,Ey.INHERIT),this._textureManager=new A3,this._defaultTexture=void 0,this.uniformMap=TTt(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},ETt(this),STt(this)}function TTt(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===vv.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=CTt(e,i)):n[i]=ATt(e,i)}return n}function CTt(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function ATt(e,t){return function(){return e.uniforms[t].value}}function mC(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function ETt(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;l(r)&&(o=e.usedVariablesVertex.attributeSet,mC(r,t,o),o=e.usedVariablesVertex.featureIdSet,mC(r,n,o),o=e.usedVariablesVertex.metadataSet,mC(r,i,o));let s=e.fragmentShaderText;if(l(s)){o=e.usedVariablesFragment.attributeSet,mC(s,t,o),o=e.usedVariablesFragment.featureIdSet,mC(s,n,o),o=e.usedVariablesFragment.metadataSet,mC(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;mC(s,a,c)}}function LCe(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function Oc(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${LCe(t)} is not available in the ${i} shader. Did you mean ${LCe(n)} instead?`;throw new de(o)}}function STt(e){let t=e.usedVariablesVertex.attributeSet;Oc(t,"position","positionMC","vertex"),Oc(t,"normal","normalMC","vertex"),Oc(t,"tangent","tangentMC","vertex"),Oc(t,"bitangent","bitangentMC","vertex"),Oc(t,"positionWC","positionMC","vertex"),Oc(t,"positionEC","positionMC","vertex"),Oc(t,"normalEC","normalMC","vertex"),Oc(t,"tangentEC","tangentMC","vertex"),Oc(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;Oc(n,"position","positionEC","fragment"),Oc(n,"normal","normalEC","fragment"),Oc(n,"tangent","tangentEC","fragment"),Oc(n,"bitangent","bitangentEC","fragment"),Oc(n,"normalMC","normalEC","fragment"),Oc(n,"tangentMC","tangentEC","fragment"),Oc(n,"bitangentMC","bitangentEC","fragment")}E3.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===vv.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):l(t.clone)?n.value=t.clone(n.value):n.value=t};E3.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};E3.prototype.isDestroyed=function(){return!1};E3.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),ue(this)};var pC=E3;function sp(e){e=y(e,y.EMPTY_OBJECT),this._ready=!1,this._provider=y(e.provider,sp.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new h,this._paddingAfter=new h,this._minBounds=new h,this._minBoundsOld=new h,this._maxBounds=new h,this._maxBoundsOld=new h,this._exaggeratedMinBounds=new h,this._exaggeratedMinBoundsOld=new h,this._exaggeratedMaxBounds=new h,this._exaggeratedMaxBoundsOld=new h,this._minClippingBounds=new h,this._minClippingBoundsOld=new h,this._maxClippingBounds=new h,this._maxClippingBoundsOld=new h,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._exaggeratedModelMatrix=F.clone(this._modelMatrix),this._compoundModelMatrix=new F,this._compoundModelMatrixOld=new F,this._customShader=y(e.customShader,sp.DefaultCustomShader),this._customShaderCompilationEvent=new me,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=e.clock,this._transformPositionWorldToUv=new F,this._transformPositionUvToWorld=new F,this._transformDirectionWorldToLocal=new $,this._transformNormalLocalToWorld=new $,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new Qd,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new z,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new z,megatextureTextures:[],megatextureSliceDimensions:new z,megatextureTileDimensions:new z,megatextureVoxelSizeUv:new z,megatextureSliceSizeUv:new z,megatextureTileSizeUv:new z,dimensions:new h,paddingBefore:new h,paddingAfter:new h,transformPositionViewToUv:new F,transformPositionUvToView:new F,transformDirectionViewToLocal:new $,transformNormalLocalToWorld:new $,cameraPositionUv:new h,ndcSpaceAxisAlignedBoundingBox:new oe,clippingPlanesTexture:void 0,clippingPlanesMatrix:new F,stepSize:0,pickColor:new H},this._shapeDefinesOld={},this._uniformMap={};let t=this._uniforms,n=this._uniformMap;for(let o in t)if(t.hasOwnProperty(o)){let r=`u_${o}`;n[r]=function(){return t[o]}}let i=this._provider;vTt(this,i)}function vTt(e,t){let{shape:n,minBounds:i=Bi.getMinBounds(n),maxBounds:o=Bi.getMaxBounds(n)}=t;e.minBounds=i,e.maxBounds=o,e.minClippingBounds=Bi.getMinBounds(n),e.maxClippingBounds=Bi.getMaxBounds(n),e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e._exaggeratedModelMatrix=F.clone(e._modelMatrix,e._exaggeratedModelMatrix),FCe(e,t);let r=Bi.getShapeConstructor(n);e._shape=new r,e._shapeVisible=BCe(e,e._shape,t)}Object.defineProperties(sp.prototype,{ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this._shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(e){this._disableRender=!e}},disableUpdate:{get:function(){return this._disableUpdate},set:function(e){this._disableUpdate=e}},debugDraw:{get:function(){return this._debugDraw},set:function(e){this._debugDraw=e}},depthTest:{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(e){this._nearestSampling!==e&&(this._nearestSampling=e,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(e){this._levelBlendFactor=P.clamp(e,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(e){this._screenSpaceError=e}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(e){this._stepSizeMultiplier=e}},minBounds:{get:function(){return this._minBounds},set:function(e){this._minBounds=h.clone(e,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(e){this._maxBounds=h.clone(e,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(e){this._minClippingBounds=h.clone(e,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(e){this._maxClippingBounds=h.clone(e,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ps.setOwner(e,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(e){if(this._customShader!==e){let t=this._uniformMap,i=this._customShader.uniformMap;for(let o in i)i.hasOwnProperty(o)&&delete t[o];l(e)?this._customShader=e:this._customShader=sp.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var wTt=new h,DTt=new oe,ITt=new oe,PTt=new h,RTt=new h,OTt=new $,MTt=new $,LTt=new F,NTt=new F,FTt=new F,BTt=F.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new F),kTt=F.fromRotationTranslation($.fromUniformScale(2,new $),new h(-1,-1,-1),new F);sp.prototype.update=function(e){let t=this._provider;this._customShader.update(e);let n=e.context;if(!this._ready){WTt(this,t,n),e.afterRender.push(()=>(this._ready=!0,!0));return}HTt(this,e);let i=FCe(this,t),o=this._shape;if(i&&(this._shapeVisible=BCe(this,o,t),YTt(this,o)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let r=XTt(t.timeIntervalCollection,this._clock),s=this._traversal,a=s._sampleCount;if(s.update(e,r,i,this._disableUpdate),a!==s._sampleCount&&(this._shaderDirty=!0),!s.isRenderable(s.rootNode)||(this._debugDraw&&nCt(this,e),this._disableRender))return;this._useLogDepth!==e.useLogDepth&&(this._useLogDepth=e.useLogDepth,this._shaderDirty=!0),KTt(this,e)&&(this._shaderDirty=!0);let u=s.leafNodeTexture,f=this._uniforms;l(u)&&(f.octreeLeafNodeTexture=s.leafNodeTexture,f.octreeLeafNodeTexelSizeUv=z.clone(s.leafNodeTexelSizeUv,f.octreeLeafNodeTexelSizeUv),f.octreeLeafNodeTilesPerRow=s.leafNodeTilesPerRow),this._shaderDirty&&(jF(this,n),this._shaderDirty=!1);let d=n.uniformState.viewProjection,p=o.orientedBoundingBox,g=QTt(p,d,ITt);if(g.x===1||g.y===1||g.z===-1||g.w===-1)return;f.ndcSpaceAxisAlignedBoundingBox=oe.clone(g,f.ndcSpaceAxisAlignedBoundingBox);let x=n.uniformState.inverseView;f.transformPositionViewToUv=F.multiplyTransformation(this._transformPositionWorldToUv,x,f.transformPositionViewToUv);let b=n.uniformState.view;f.transformPositionUvToView=F.multiplyTransformation(b,this._transformPositionUvToWorld,f.transformPositionUvToView);let T=n.uniformState.inverseViewRotation;f.transformDirectionViewToLocal=$.multiply(this._transformDirectionWorldToLocal,T,f.transformDirectionViewToLocal),f.transformNormalLocalToWorld=$.clone(this._transformNormalLocalToWorld,f.transformNormalLocalToWorld);let A=e.camera.positionWC;f.cameraPositionUv=F.multiplyByPoint(this._transformPositionWorldToUv,A,f.cameraPositionUv),f.stepSize=this._stepSizeMultiplier;let C=e.passes.pick?this._drawCommandPick:e.passes.pickVoxel?this._drawCommandPickVoxel:this._drawCommand;C.boundingVolume=o.boundingSphere,e.commandList.push(C)};var VTt=new h,UZ=new h,UTt=new fe,zTt=new h;function HTt(e,t){if(e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e.shape===Bi.ELLIPSOID){let n=t.verticalExaggerationRelativeHeight,i=t.verticalExaggeration;e._exaggeratedMinBounds.z=(e._minBounds.z-n)*i+n,e._exaggeratedMaxBounds.z=(e._maxBounds.z-n)*i+n}else if(e.shape===Bi.BOX){let n=h.fromElements(1,1,t.verticalExaggeration,VTt);e._exaggeratedModelMatrix=F.multiplyByScale(e._modelMatrix,n,e._exaggeratedModelMatrix),e._exaggeratedModelMatrix=F.multiplyByTranslation(e._exaggeratedModelMatrix,GTt(e,t),e._exaggeratedModelMatrix)}}function GTt(e,t){let{shapeTransform:n=F.IDENTITY,globalTransform:i=F.IDENTITY}=e._provider,o=F.getTranslation(n,UZ),r=F.multiplyByPoint(e._modelMatrix,o,UZ),s=F.multiplyByPoint(i,r,UZ),c=ee.WGS84.cartesianToCartographic(s,UTt),u=0;l(c)&&(u=c.height);let f=Cr.getHeight(u,t.verticalExaggeration,t.verticalExaggerationRelativeHeight);return h.fromElements(0,0,(f-u)/t.verticalExaggeration,zTt)}function WTt(e,t,n){let i=e._uniforms;e._pickId=n.createPickId({primitive:e}),i.pickColor=H.clone(e._pickId.color,i.pickColor);let{shaderDefines:o,shaderUniforms:r}=e._shape;e._shapeDefinesOld=He(o,!0);let s=e._uniformMap;for(let a in r)if(r.hasOwnProperty(a)){let c=`u_${a}`;s[c]=function(){return r[a]}}i.dimensions=h.clone(t.dimensions,i.dimensions),e._paddingBefore=h.clone(y(t.paddingBefore,h.ZERO),e._paddingBefore),i.paddingBefore=h.clone(e._paddingBefore,i.paddingBefore),e._paddingAfter=h.clone(y(t.paddingAfter,h.ZERO),e._paddingBefore),i.paddingAfter=h.clone(e._paddingAfter,i.paddingAfter),e._traversal=jTt(e,t,n),qTt(e._traversal,i)}function FCe(e,t){let n=y(t.shapeTransform,F.IDENTITY),i=y(t.globalTransform,F.IDENTITY);return F.multiplyTransformation(i,e._exaggeratedModelMatrix,e._compoundModelMatrix),F.multiplyTransformation(e._compoundModelMatrix,n,e._compoundModelMatrix),_C(e,"_compoundModelMatrix","_compoundModelMatrixOld")+_C(e,"_minBounds","_minBoundsOld")+_C(e,"_maxBounds","_maxBoundsOld")+_C(e,"_exaggeratedMinBounds","_exaggeratedMinBoundsOld")+_C(e,"_exaggeratedMaxBounds","_exaggeratedMaxBoundsOld")+_C(e,"_minClippingBounds","_minClippingBoundsOld")+_C(e,"_maxClippingBounds","_maxClippingBoundsOld")>0}function _C(e,t,n){let i=e[t],o=e[n],r=!i.equals(o);return r&&i.clone(o),r?1:0}function BCe(e,t,n){if(!t.update(e._compoundModelMatrix,e._exaggeratedMinBounds,e._exaggeratedMaxBounds,e.minClippingBounds,e.maxClippingBounds))return!1;let o=t.shapeTransform,r=F.inverse(o,LTt),s=F.getRotation(o,OTt),a=F.getScale(o,PTt),c=h.maximumComponent(a),u=h.divideByScalar(a,c,RTt),f=$.multiplyByScale(s,u,MTt);return e._transformPositionWorldToUv=F.multiplyTransformation(BTt,r,e._transformPositionWorldToUv),e._transformPositionUvToWorld=F.multiplyTransformation(o,kTt,e._transformPositionUvToWorld),e._transformDirectionWorldToLocal=F.getMatrix3(r,e._transformDirectionWorldToLocal),e._transformNormalLocalToWorld=$.inverseTranspose(f,e._transformNormalLocalToWorld),!0}function jTt(e,t,n){let i=h.clone(t.dimensions,wTt);h.add(i,e._paddingBefore,i),h.add(i,e._paddingAfter,i);let o=t.maximumTileCount,r=l(o)?Sv.getApproximateTextureMemoryByteLength(o,i,t.types,t.componentTypes):void 0,s=y(t.keyframeCount,1);return new Sv(e,n,i,t.types,t.componentTypes,s,r)}function qTt(e,t){t.octreeInternalNodeTexture=e.internalNodeTexture,t.octreeInternalNodeTexelSizeUv=z.clone(e.internalNodeTexelSizeUv,t.octreeInternalNodeTexelSizeUv),t.octreeInternalNodeTilesPerRow=e.internalNodeTilesPerRow;let n=e.megatextures,i=n[0],o=n.length;t.megatextureTextures=new Array(o);for(let r=0;r<o;r++)t.megatextureTextures[r]=n[r].texture;t.megatextureSliceDimensions=z.clone(i.sliceCountPerRegion,t.megatextureSliceDimensions),t.megatextureTileDimensions=z.clone(i.regionCountPerMegatexture,t.megatextureTileDimensions),t.megatextureVoxelSizeUv=z.clone(i.voxelSizeUv,t.megatextureVoxelSizeUv),t.megatextureSliceSizeUv=z.clone(i.sliceSizeUv,t.megatextureSliceSizeUv),t.megatextureTileSizeUv=z.clone(i.regionSizeUv,t.megatextureTileSizeUv)}function YTt(e,t){let n=t.shaderDefines,i=Object.keys(n).some(o=>n[o]!==e._shapeDefinesOld[o]);return i&&(e._shapeDefinesOld=He(n,!0)),i}function XTt(e,t){if(!l(e)||!l(t))return 0;let n=t.currentTime,i,o=e.indexOf(n);o>=0?i=e.get(o):(o=~o,o===e.length?(o=e.length-1,i=e.get(o),n=i.stop):(i=e.get(o),n=i.start));let r=K.secondsDifference(i.stop,i.start),a=K.secondsDifference(n,i.start)/r;return o+a}function KTt(e,t){let n=e.clippingPlanes;if(!l(n))return!1;n.update(t);let{clippingPlanesState:i,enabled:o}=n;if(o){let r=e._uniforms;r.clippingPlanesTexture=n.texture,r.clippingPlanesMatrix=F.transpose(F.multiplyTransformation(F.inverse(n.modelMatrix,r.clippingPlanesMatrix),e._transformPositionUvToWorld,r.clippingPlanesMatrix),r.clippingPlanesMatrix)}return e._clippingPlanesState===i&&e._clippingPlanesEnabled===o?!1:(e._clippingPlanesState=i,e._clippingPlanesEnabled=o,!0)}sp.prototype.isDestroyed=function(){return!1};sp.prototype.destroy=function(){let e=this._drawCommand;l(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy());let t=this._drawCommandPick;return l(t)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),ue(this)};var NCe=new Array(new oe(-1,-1,-1,1),new oe(1,-1,-1,1),new oe(-1,1,-1,1),new oe(1,1,-1,1),new oe(-1,-1,1,1),new oe(1,-1,1,1),new oe(-1,1,1,1),new oe(1,1,1,1)),ZTt=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),$Tt=new Array(new oe,new oe,new oe,new oe,new oe,new oe,new oe,new oe);function QTt(e,t,n){let i=F.fromRotationTranslation(e.halfAxes,e.center,NTt),o=F.multiply(t,i,FTt),r=+Number.MAX_VALUE,s=-Number.MAX_VALUE,a=+Number.MAX_VALUE,c=-Number.MAX_VALUE,u,f=$Tt,d=NCe.length;for(u=0;u<d;u++)F.multiplyByVector(o,NCe[u],f[u]);for(u=0;u<d;u++){let p=f[u];if(p.z>=-p.w){let g=p.x/p.w,m=p.y/p.w;r=Math.min(r,g),s=Math.max(s,g),a=Math.min(a,m),c=Math.max(c,m)}else for(let g=0;g<3;g++){let m=ZTt[u*3+g],x=f[m];if(x.z>=-x.w){let b=p.z+p.w,T=x.z+x.w,A=b/(b-T),C=oe.lerp(p,x,A,DTt),E=C.x/C.w,v=C.y/C.w;r=Math.min(r,E),s=Math.max(s,E),a=Math.min(a,v),c=Math.max(c,v)}}}return r=P.clamp(r,-1,1),a=P.clamp(a,-1,1),s=P.clamp(s,-1,1),c=P.clamp(c,-1,1),n=oe.fromElements(r,a,s,c,n),n}var zZ=3e7,JTt=new h(zZ,0,0),eCt=new h(0,zZ,0),tCt=new h(0,0,zZ);function nCt(e,t){let n=e._traversal,i=e._debugPolylines;i.removeAll();function o(c,u,f,d){i.add({positions:[c,u],width:d,material:Xi.fromType("Color",{color:f})})}function r(c,u,f){let d=c.computeCorners();o(d[0],d[1],u,f),o(d[2],d[3],u,f),o(d[4],d[5],u,f),o(d[6],d[7],u,f),o(d[0],d[2],u,f),o(d[4],d[6],u,f),o(d[1],d[3],u,f),o(d[5],d[7],u,f),o(d[0],d[4],u,f),o(d[2],d[6],u,f),o(d[1],d[5],u,f),o(d[3],d[7],u,f)}function s(c){if(!n.isRenderable(c))return;let u=c.level,d=Math.max(1,5/Math.pow(2,u)),g=[H.RED,H.LIME,H.BLUE][u%3];if(r(c.orientedBoundingBox,g,d),l(c.children))for(let m=0;m<8;m++)s(c.children[m])}r(e._shape.orientedBoundingBox,H.WHITE,5),s(n.rootNode);let a=10;o(h.ZERO,JTt,H.RED,a),o(h.ZERO,eCt,H.LIME,a),o(h.ZERO,tCt,H.BLUE,a),i.update(t)}sp.DefaultCustomShader=new pC({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) -{ - material.diffuse = vec3(1.0); - material.alpha = 1.0; -}`});function kCe(){this.ready=!0,this.shape=Bi.BOX,this.dimensions=new h(1,1,1),this.names=["data"],this.types=[Et.SCALAR],this.componentTypes=[zt.FLOAT32],this.maximumTileCount=1}kCe.prototype.requestData=function(e){if(!((l(e)?y(e.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};sp.DefaultProvider=new kCe;var O0=sp;var EG=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function ui(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=He(e.contextOptions),r=l(n),s=new eP(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),l(i)||(i=t.parentNode),this._id=qn(),this._jobScheduler=new xB,this._frameState=new V2(s,new b2(n,"\u2022",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new pw(s),this._ellipsoid=y(e.ellipsoid,ee.default),this._globe=void 0,this._globeTranslucencyState=new cB,this._primitives=new zl,this._groundPrimitives=new zl,this._globeHeight=void 0,this._globeHeightDirty=!0,this._cameraUnderground=!1,this._removeUpdateHeightCallback=void 0,this._logDepthBuffer=ui.defaultLogDepthBuffer&&s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new fC,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new O2(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new oi({color:new H,stencil:0,owner:this}),this._depthClearCommand=new oi({depth:1,owner:this}),this._stencilClearCommand=new oi({stencil:0}),this._classificationStencilClearCommand=new oi({stencil:0,renderState:Ve.fromCache({stencilMask:Vt.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new d3(this),this._preUpdate=new me,this._postUpdate=new me,this._renderError=new me,this._preRender=new me,this._postRender=new me,this._minimumDisableDepthTestDistance=0,this._debugInspector=new v2,this._msaaSamples=y(e.msaaSamples,4),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new me,this.morphComplete=new me,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=H.clone(H.BLACK),this._mode=ne.SCENE3D,this._mapProjection=l(e.mapProjection)?e.mapProjection:new Ii(this._ellipsoid),this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.atmosphere=new CF,this.fog=new B2,this.fog.enabled=ee.WGS84.equals(this._ellipsoid),ee.WGS84.equals(this._ellipsoid)||(lo.DEFAULT_VIEW_RECTANGLE=se.fromDegrees(-45,-45,45,45)),this._shadowMapCamera=new lo(this),this.shadowMap=new mg({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=H.clone(H.WHITE),this._actualInvertClassificationColor=H.clone(this._invertClassificationColor),this._invertClassification=new _v,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new l3,this._brdfLutGenerator=new DF,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new p3(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,$l.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=ec.requestCompletedEvent.addEventListener(EG(this)),this._removeTaskProcessorListenerCallback=yi.taskCompletedEvent.addEventListener(EG(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let a=new We(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new lo(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new lo(this),this.preloadFlightCullingVolume=void 0,this._picking=new VB(this),this._defaultView=new oC(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentCubeMap=void 0,this.light=new Ap,GCe(this,0,K.now()),this.updateFrameState(),this.initializeFrame()}ui.defaultLogDepthBuffer=!0;function iCt(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];l(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener(EG(e))),n.push(t.terrainProviderChanged.addEventListener(EG(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(ui.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return kt.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return kt.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return Fd.isSupported(this._context)}},ellipsoid:{get:function(){return this._ellipsoid}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,iCt(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(l(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(l(this.globe))return this.globe.terrainProvider},set:function(e){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),l(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(l(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===ne.SCENE2D?this.morphTo2D(0):e===ne.SCENE3D?this.morphTo3D(0):e===ne.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new lo(this),l(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new M2(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,kt.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});ui.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function oCt(e,t){let n=e.pickedMetadataInfo,i=t.pickedMetadataInfo;return n?.schemaId!==i?.schemaId||n?.className!==i?.className||n?.propertyName!==i?.propertyName}function VCe(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,{lightShadowMaps:s,lightShadowsEnabled:a}=i.shadowState,c=t.derivedCommands;l(t.pickId)&&(c.picking=Zm.createPickDerivedCommand(e,t,o,c.picking)),i.pickingMetadata&&t.pickMetadataAllowed&&(t.pickedMetadataInfo=i.pickedMetadataInfo,l(t.pickedMetadataInfo)&&(c.pickingMetadata=Zm.createPickMetadataDerivedCommand(e,t,o,c.pickingMetadata))),t.pickOnly||(c.depth=Zm.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=Zm.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=mg.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===Se.TRANSLUCENT&&l(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=l(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}ui.prototype.updateDerivedCommands=function(e){let{derivedCommands:t}=e;if(!l(t))return;let n=this._frameState,{shadowState:i,useLogDepth:o}=this._frameState,r=this._context,s=!1,a=i.lastDirtyTime;e.lastDirtyTime!==a&&(e.lastDirtyTime=a,e.dirty=!0,s=!0);let c=this._hdr,u=l(t.logDepth),f=l(t.hdr),d=l(t.originalCommand),p=o&&!u,g=c&&!f,m=(!o||!c)&&!d,x=n.pickingMetadata&&oCt(e,n);if(e.dirty=e.dirty||p||g||m||x,!e.dirty)return;e.dirty=!1;let{shadowsEnabled:b,shadowMaps:T}=i;b&&e.castShadows&&(t.shadows=mg.createCastDerivedCommand(T,e,s,r,t.shadows)),(u||p)&&(t.logDepth=Zm.createLogDepthCommand(e,r,t.logDepth),VCe(this,t.logDepth.command,s)),(d||m)&&VCe(this,e,s)};var rCt=new td({pass:Fo.RENDER}),HZ=new td({pass:Fo.PRELOAD}),GZ=new td({pass:Fo.PRELOAD_FLIGHT}),sCt=new td({pass:Fo.REQUEST_RENDER_MODE_DEFER_CHECK}),UCe=new ae,WZ;function aCt(e){if(!(e._mode!==ne.SCENE3D||!e.globe?.show||e._cameraUnderground||e._globeTranslucencyState.translucent))return UCe.radius=e.ellipsoid.minimumRadius+e.frameState.minimumTerrainHeight,WZ=u3.fromBoundingSphere(UCe,e.camera.positionWC,WZ),WZ}ui.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.pickVoxel=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function GCe(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=K.clone(n,i.time)}ui.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=aCt(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof cn||this.camera.frustum instanceof Lr),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState;let{globe:n}=this;l(n)&&n._terrainExaggerationChanged&&(this.verticalExaggeration=n._terrainExaggeration,this.verticalExaggerationRelativeHeight=n._terrainExaggerationRelativeHeight,n._terrainExaggerationChanged=!1),t.verticalExaggeration=this.verticalExaggeration,t.verticalExaggerationRelativeHeight=this.verticalExaggerationRelativeHeight,l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready?(t.specularEnvironmentMaps=this._specularEnvironmentCubeMap.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentCubeMap.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=H.clone(this.invertClassificationColor,this._actualInvertClassificationColor),_v.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,l(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};ui.prototype.isVisible=function(e,t,n){if(!l(t))return!1;let{boundingVolume:i}=t;return!l(i)||!t.cull?!0:e.computeVisibility(i)===jt.OUTSIDE?!1:!l(n)||!t.occlude||!i.isOccluded(n)};var AG=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);AG=F.inverseTransformation(AG,AG);function cCt(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;l(t._debugVolume)&&t._debugVolume.destroy();let a=h.clone(s.center);if(o.mode!==ne.SCENE3D){a=F.multiplyByPoint(AG,a,a);let m=o.mapProjection,x=m.unproject(a);a=m.ellipsoid.cartographicToCartesian(x)}let c,u,{radius:f}=s;l(f)?(c=Qs.createGeometry(new Qs({radii:new h(f,f,f),vertexFormat:fn.FLAT_VERTEX_FORMAT})),u=F.fromTranslation(a)):(c=Al.createGeometry(Al.fromDimensions({dimensions:new h(2,2,2),vertexFormat:fn.FLAT_VERTEX_FORMAT})),u=F.fromRotationTranslation(s.halfAxes,a,new F)),t._debugVolume=new Pn({geometryInstances:new vt({geometry:Gn.toWireframe(c),modelMatrix:u,attributes:{color:new Wt(1,0,0,1)}}),appearance:new fn({flat:!0,translucent:!1}),asynchronous:!1});let d=o.commandList,p=o.commandList=[];t._debugVolume.update(o),e=p[0],o.useLogDepth&&(e=Zm.createLogDepthCommand(e,r).command);let g;l(i)&&(g=n.framebuffer,n.framebuffer=i),e.execute(r,n),l(g)&&(n.framebuffer=g),o.commandList=d}function ap(e,t,n,i){let o=t._frameState,r=t._context;if(l(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof oi){e.execute(r,n);return}e.debugShowBoundingVolume&&l(e.boundingVolume)&&cCt(e,t,n,i),o.useLogDepth&&l(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=o.passes;if(!s.pick&&!s.pickVoxel&&!s.depth&&t._hdr&&l(e.derivedCommands)&&l(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth){if(o.pickingMetadata&&l(e.derivedCommands.pickingMetadata)){e=e.derivedCommands.pickingMetadata.pickMetadataCommand,e.execute(r,n);return}if(!o.pickingMetadata&&l(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(r,n);return}}else if(l(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(r,n);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,n);return}o.shadowState.lightShadowsEnabled&&e.receiveShadows&&l(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(r,n):e.execute(r,n)}function zCe(e,t,n){let{derivedCommands:i}=e;if(!l(i))return;let o=t._frameState,r=t._context;o.useLogDepth&&l(i.logDepth)&&(e=i.logDepth.command);let{picking:s,pickingMetadata:a,depth:c}=e.derivedCommands;l(a)&&(e=i.pickingMetadata.pickMetadataCommand,e.execute(r,n)),l(s)?(e=s.pickCommand,e.execute(r,n)):l(c)&&(e=c.depthOnlyCommand,e.execute(r,n))}function WCe(e,t,n){return t.boundingVolume?.distanceSquaredTo(n)-e.boundingVolume?.distanceSquaredTo(n)}function lCt(e,t,n){return e.boundingVolume?.distanceSquaredTo(n)-t.boundingVolume?.distanceSquaredTo(n)+P.EPSILON12}function uCt(e,t,n,i,o){tg(i,WCe,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function fCt(e,t,n,i,o){tg(i,lCt,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function dCt(e,t,n){e.context.uniformState.updatePass(Se.VOXELS);let i=n.commands[Se.VOXELS];i.length=n.indices[Se.VOXELS],tg(i,WCe,e.camera.positionWC);for(let o=0;o<i.length;++o)ap(i[o],e,t)}var hCt=new Di,mCt=new cl,pCt=new cn,_Ct=new Lr;function gCt(e){let{frustum:t}=e;return l(t.fov)?t.clone(hCt):l(t.infiniteProjectionMatrix)?t.clone(mCt):l(t.width)?t.clone(pCt):t.clone(_Ct)}function yCt(e){if(e._environmentState.useOIT){if(!l(e._executeOITFunction)){let{view:t,context:n}=e;e._executeOITFunction=function(i,o,r,s,a){t.globeDepth.prepareColorTextures(n),t.oit.executeCommands(i,o,r,s,a)}}return e._executeOITFunction}return e.frameState.passes.render?uCt:fCt}function xCt(e,t,n){let{frameState:i,context:o}=e,{pick:r,pickVoxel:s}=i.passes,a=r||s,c;!a&&e._environmentState.useInvertClassification&&i.invertClassificationColor.alpha<1&&(c=e._invertClassification);let u=yCt(e);o.uniformState.updatePass(Se.TRANSLUCENT);let f=n.commands[Se.TRANSLUCENT];f.length=n.indices[Se.TRANSLUCENT],u(e,ap,t,f,c)}function bCt(e,t,n){let{translucentTileClassification:i,globeDepth:o}=e._view;if(!(n.indices[Se.CESIUM_3D_TILE_CLASSIFICATION]>0)||!i.isSupported())return;let s=n.commands[Se.TRANSLUCENT];i.executeTranslucentCommands(e,ap,t,s,o.depthStencilTexture),i.executeClassificationCommands(e,ap,t,n)}function qZ(e,t){let{camera:n,context:i,frameState:o}=e,{uniformState:r}=i;r.updateCamera(n);let s=gCt(n);s.near=n.frustum.near,s.far=n.frustum.far;let a=o.passes,c=a.pick||a.pickVoxel;c||TCt(e,t);let{clearGlobeDepth:u,renderTranslucentDepthForPick:f,useDepthPlane:d,useGlobeDepthFramebuffer:p,useInvertClassification:g,usePostProcessSelected:m}=e._environmentState,{globeDepth:x,globeTranslucencyFramebuffer:b,sceneFramebuffer:T,frustumCommandsList:A}=e._view,C=A.length,E=e._globeTranslucencyState,v=e._depthClearCommand,D=e._stencilClearCommand,O=e._classificationStencilClearCommand,R=e._depthPlane,M=n.position.z;function N(S,w){r.updatePass(w);let I=S.commands[w],L=S.indices[w];for(let B=0;B<L;++B)ap(I[B],e,t);return L}function _(S,w){r.updatePass(w);let I=S.commands[w],L=S.indices[w];for(let B=0;B<L;++B)zCe(I[B],e,t)}for(let S=0;S<C;++S){let w=C-S-1,I=A[w];e.mode===ne.SCENE2D?(n.position.z=M-I.near+1,s.far=Math.max(1,I.far-I.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=w!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s)),v.execute(i,t),i.stencilBuffer&&D.execute(i,t),E.translucent?(r.updatePass(Se.GLOBE),E.executeGlobeCommands(I,ap,b,e,t)):N(I,Se.GLOBE),p&&x.executeCopyDepth(i,t),f||(E.translucent?(r.updatePass(Se.TERRAIN_CLASSIFICATION),E.executeGlobeClassificationCommands(I,ap,b,e,t)):N(I,Se.TERRAIN_CLASSIFICATION)),u&&(v.execute(i,t),d&&R.execute(i,t));let L;if(!g||c||f)L=N(I,Se.CESIUM_3D_TILE),L>0&&(p&&(x.prepareColorTextures(i,u),x.executeUpdateDepth(i,t,x.depthStencilTexture)),f||(L=N(I,Se.CESIUM_3D_TILE_CLASSIFICATION)));else{e._invertClassification.clear(i,t);let U=t.framebuffer;t.framebuffer=e._invertClassification._fbo.framebuffer,L=N(I,Se.CESIUM_3D_TILE),p&&(e._invertClassification.prepareTextures(i),x.executeUpdateDepth(i,t,e._invertClassification._fbo.getDepthStencilTexture())),L=N(I,Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),t.framebuffer=U,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),L>0&&i.stencilBuffer&&O.execute(i,t),L=N(I,Se.CESIUM_3D_TILE_CLASSIFICATION)}if(L>0&&i.stencilBuffer&&D.execute(i,t),dCt(e,t,I),N(I,Se.OPAQUE),w!==0&&e.mode!==ne.SCENE2D&&(s.near=I.near,r.updateFrustum(s)),xCt(e,t,I),bCt(e,t,I),i.depthTexture&&e.useDepthPicking&&(p||f)){let U=e._picking.getPickDepth(e,w);U.update(i,x.depthStencilTexture),U.executeCopyDepth(i,t)}if(c||!m)continue;let B=t.framebuffer;t.framebuffer=T.getIdFramebuffer(),s.near=w!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s),E.translucent?(r.updatePass(Se.GLOBE),E.executeGlobeCommands(I,zCe,b,e,t)):_(I,Se.GLOBE),u&&(v.framebuffer=t.framebuffer,v.execute(i,t),v.framebuffer=void 0),u&&d&&R.execute(i,t),_(I,Se.CESIUM_3D_TILE),_(I,Se.OPAQUE),_(I,Se.TRANSLUCENT),t.framebuffer=B}}function TCt(e,t){let{context:n,environmentState:i,view:o}=e;if(n.uniformState.updatePass(Se.ENVIRONMENT),l(i.skyBoxCommand)&&ap(i.skyBoxCommand,e,t),i.isSkyAtmosphereVisible&&ap(i.skyAtmosphereCommand,e,t),i.isSunVisible&&(i.sunDrawCommand.execute(n,t),e.sunBloom&&!i.useWebVR)){let r;i.useGlobeDepthFramebuffer?r=o.globeDepth.framebuffer:i.usePostProcess?r=o.sceneFramebuffer.framebuffer:r=i.originalFramebuffer,e._sunPostProcess.execute(n),e._sunPostProcess.copy(n,r),t.framebuffer=r}i.isMoonVisible&&i.moonCommand.execute(n,t)}function jCe(e){e.context.uniformState.updatePass(Se.COMPUTE);let t=e._environmentState.sunComputeCommand;l(t)&&t.execute(e._computeEngine);let n=e._computeCommandList;for(let i=0;i<n.length;++i)n[i].execute(e._computeEngine)}function CCt(e,t){e.context.uniformState.updatePass(Se.OVERLAY);let n=e.context,i=e._overlayCommandList;for(let o=0;o<i.length;++o)i[o].execute(n,t)}function ACt(e,t,n){let{shadowMapCullingVolume:i,isPointLight:o,passes:r}=n,s=r.length,a=[Se.GLOBE,Se.CESIUM_3D_TILE,Se.OPAQUE,Se.TRANSLUCENT];for(let c=0;c<t.length;++c){let u=t[c];if(e.updateDerivedCommands(u),!(!u.castShadows||a.indexOf(u.pass)<0||!e.isVisible(i,u)))if(o)for(let f=0;f<s;++f)r[f].commandList.push(u);else if(s===1)r[0].commandList.push(u);else{let f=!1;for(let d=s-1;d>=0;--d){let p=r[d].cullingVolume;if(e.isVisible(p,u))r[d].commandList.push(u),f=!0;else if(f)break}}}}function qCe(e){let{shadowState:t,commandList:n}=e.frameState,{shadowsEnabled:i,shadowMaps:o}=t;if(!i)return;let{context:r}=e,{uniformState:s}=r;for(let a=0;a<o.length;++a){let c=o[a];if(c.outOfView)continue;let{passes:u}=c;for(let f=0;f<u.length;++f)u[f].commandList.length=0;ACt(e,n,c);for(let f=0;f<u.length;++f){let d=c.passes[f],{camera:p,commandList:g}=d;s.updateCamera(p),c.updatePass(r,f);for(let m=0;m<g.length;++m){let x=g[m];s.updatePass(x.pass);let b=x.derivedCommands.shadows.castCommands[a];ap(b,e,d.passState)}}}}var ECt=new h;ui.prototype.updateAndExecuteCommands=function(e,t){BCt(this,e,t),this._environmentState.useWebVR?SCt(this,e,t):this._frameState.mode!==ne.SCENE2D||this._mapMode2D===$l.ROTATE?M0(!0,this,e):LCt(this,e)};function SCt(e,t){let n=e._view,i=n.camera,r=e._environmentState.renderTranslucentDepthForPick;YCe(e),n.createPotentiallyVisibleSet(e),jCe(e),r||qCe(e);let s=t.viewport;s.x=0,s.y=0,s.width=s.width*.5;let a=lo.clone(i,e._cameraVR);a.frustum=i.frustum;let c=i.frustum.near,u=c*y(e.focalLength,5),f=y(e.eyeSeparation,u/30),d=h.multiplyByScalar(a.right,f*.5,ECt);i.frustum.aspectRatio=s.width/s.height;let p=.5*f*c/u;h.add(a.position,d,i.position),i.frustum.xOffset=p,qZ(e,t),s.x=s.width,h.subtract(a.position,d,i.position),i.frustum.xOffset=-p,qZ(e,t),lo.clone(a,i)}var vCt=new fe(Math.PI,P.PI_OVER_TWO),wCt=new h,DCt=new h,ICt=new F,PCt=new F,RCt=new h,OCt=new h,MCt=new We;function LCt(e,t){let{frameState:n,camera:i}=e,{uniformState:o}=e.context,r=t.viewport,s=We.clone(r,MCt);t.viewport=s;let a=vCt,c=wCt;e.mapProjection.project(a,c);let f=h.clone(i.position,DCt),d=F.clone(i.transform,PCt),p=i.frustum.clone();i._setTransform(F.IDENTITY);let g=F.computeViewportTransformation(s,0,1,ICt),m=i.frustum.projectionMatrix,x=i.positionWC.y,b=h.fromElements(P.sign(x)*c.x-x,0,-i.positionWC.x,RCt),T=Lt.pointToGLWindowCoordinates(m,g,b,OCt);T.x=Math.floor(T.x);let A=s.x,C=s.width;if(x===0||T.x<=A||T.x>=A+C)M0(!0,e,t);else if(Math.abs(A+C*.5-T.x)<1)s.width=T.x-s.x,i.position.x*=P.sign(i.position.x),i.frustum.right=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),M0(!0,e,t),s.x=T.x,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),M0(!1,e,t);else if(T.x>A+C*.5){s.width=T.x-A;let E=i.frustum.right;i.frustum.right=c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),M0(!0,e,t),s.x=T.x,s.width=A+C-T.x,i.position.x=-i.position.x,i.frustum.left=-i.frustum.right,i.frustum.right=E-i.frustum.right*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),M0(!1,e,t)}else{s.x=T.x,s.width=A+C-T.x;let E=i.frustum.left;i.frustum.left=-c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),M0(!0,e,t),s.x=A,s.width=T.x-A,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=E-i.frustum.left*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),M0(!1,e,t)}i._setTransform(d),h.clone(f,i.position),i.frustum=p.clone(),t.viewport=r}function M0(e,t,n){let i=t._view,{renderTranslucentDepthForPick:o}=t._environmentState;e||(t.frameState.commandList.length=0),YCe(t),i.createPotentiallyVisibleSet(t),e&&(jCe(t),o||qCe(t)),qZ(t,n)}var HCe=new hs;ui.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.atmosphere,s=this.skyAtmosphere,a=this.globe,c=this._globeTranslucencyState;if(!i||this._mode!==ne.SCENE2D&&t.camera.frustum instanceof cn||!c.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{if(l(s)){if(l(a))s.setDynamicLighting(wT.fromGlobeFlags(a)),n.isReadyForAtmosphere=n.isReadyForAtmosphere||!a.show||a._surface._tilesToRender.length>0;else{let T=r.dynamicLighting;s.setDynamicLighting(T),n.isReadyForAtmosphere=!0}n.skyAtmosphereCommand=s.update(e,a),l(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)}else n.skyAtmosphereCommand=void 0;n.skyBoxCommand=l(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let b=l(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=l(b)?b.drawCommand:void 0,n.sunComputeCommand=l(b)?b.computeCommand:void 0,n.moonCommand=l(this.moon)?this.moon.update(e):void 0}let u=n.clearGlobeDepth=l(a)&&a.show&&(!a.depthTestAgainstTerrain||this.mode===ne.SCENE2D);(n.useDepthPlane=u&&this.mode===ne.SCENE3D&&c.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==ne.SCENE2D&&!o;let d=e.mode===ne.SCENE3D&&!c.sunVisibleThroughGlobe?e.occluder:void 0,p=e.cullingVolume,g=HCe.planes;for(let b=0;b<5;++b)g[b]=p.planes[b];p=HCe,n.isSkyAtmosphereVisible=l(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(p,n.sunDrawCommand,d),n.isMoonVisible=this.isVisible(p,n.moonCommand,d);let m=this.specularEnvironmentMaps,x=this._specularEnvironmentCubeMap;l(m)&&x?.url!==m?(x=x&&x.destroy(),this._specularEnvironmentCubeMap=new Fd(m)):!l(m)&&l(x)&&(x.destroy(),this._specularEnvironmentCubeMap=void 0),l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.update(e)};function NCt(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new Km({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),l(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function FCt(e){let t=e._frameState,{passes:n,shadowState:i,shadowMaps:o}=t,r=o.length,s=r>0&&!n.pick&&!n.pickVoxel&&e.mode===ne.SCENE3D;if(s!==i.shadowsEnabled&&(++i.lastDirtyTime,i.shadowsEnabled=s),i.lightShadowsEnabled=!1,!!s){for(let a=0;a<r;++a)if(o[a]!==i.shadowMaps[a]){++i.lastDirtyTime;break}i.shadowMaps.length=0,i.lightShadowMaps.length=0;for(let a=0;a<r;++a){let c=o[a];c.update(t),i.shadowMaps.push(c),c.fromLightSource&&(i.lightShadowMaps.push(c),i.lightShadowsEnabled=!0),c.dirty&&(++i.lastDirtyTime,c.dirty=!1)}}}function YCe(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),NCt(e),FCt(e),e._globe&&e._globe.render(t)}function BCt(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,a=o.passes,c=a.pick||a.pickVoxel;l(s.globeDepth)&&(s.globeDepth.picking=c);let u=r.useWebVR;r.originalFramebuffer=t.framebuffer,l(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!u?e._sunPostProcess=new y3:l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!l(e.sun)&&l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let f=e._clearColorCommand;H.clone(n,f.color),f.execute(i,t);let d=r.useGlobeDepthFramebuffer=l(s.globeDepth);d&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&l(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let m=e.postProcessStages,x=r.usePostProcess=!c&&(e._hdr||m.length>0||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);if(r.usePostProcessSelected=!1,x&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),m.update(i,o.useLogDepth,e._hdr),m.clear(i),x=r.usePostProcess=m.ready,r.usePostProcessSelected=x&&m.hasSelected),r.isSunVisible&&e.sunBloom&&!u?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):d?t.framebuffer=s.globeDepth.framebuffer:x&&(t.framebuffer=s.sceneFramebuffer.framebuffer),l(t.framebuffer)&&f.execute(i,t),r.useInvertClassification=!c&&l(t.framebuffer)&&e.invertClassification){let T;if(o.invertClassificationColor.alpha===1&&d&&(T=s.globeDepth.framebuffer),l(T)||i.depthTexture){if(e._invertClassification.previousFramebuffer=T,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),o.invertClassificationColor.alpha<1&&g){let A=e._invertClassification.unclassifiedCommand,C=A.derivedCommands;C.oit=p.createDerivedCommands(A,i,C.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}ui.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,{globeDepth:o,translucentTileClassification:r}=i;l(o)&&o.prepareColorTextures(t);let{useOIT:s,useGlobeDepthFramebuffer:a,usePostProcess:c,originalFramebuffer:u}=n,f=a?o.colorFramebufferManager:void 0,d=i.sceneFramebuffer._colorFramebuffer,p=i.sceneFramebuffer.idFramebuffer;if(s&&(e.framebuffer=c?d.framebuffer:u,i.oit.execute(t,e)),r.hasTranslucentDepth&&r.isSupported()&&r.execute(this,e),c){i.sceneFramebuffer.prepareColorTextures(t);let g=d;a&&!s&&(g=f);let m=this.postProcessStages,x=g.getColorTexture(0),b=p.getColorTexture(0),T=y(f,d).getDepthStencilTexture();m.execute(t,x,T,b),m.copy(t,u)}!s&&!c&&a&&(e.framebuffer=u,o.executeCopyColor(t,e))};function kCt(e){let t=e._frameState.afterRender;for(let n=0;n<t.length;++n)t[n]()&&e.requestRender();t.length=0}function VCt(e){if(e.mode===ne.MORPHING)return;let t=e.camera.positionCartographic;return e.getHeight(t)}ui.prototype.getHeight=function(e,t){if(!l(e))return;let n=t===je.CLAMP_TO_TERRAIN||t===je.RELATIVE_TO_TERRAIN,i=t===je.CLAMP_TO_3D_TILE||t===je.RELATIVE_TO_3D_TILE;if(!l(e))return;let o=Number.NEGATIVE_INFINITY;if(!n){let s=this.primitives.length;for(let a=0;a<s;++a){let c=this.primitives.get(a);if(!c.isCesium3DTileset||!c.show||!c.enableCollision)continue;let u=c.getHeight(e,this);l(u)&&u>o&&(o=u)}}let r=this._globe;if(!i&&l(r)&&r.show){let s=r.getHeight(e);s>o&&(o=s)}if(o>Number.NEGATIVE_INFINITY)return o};var jZ=new fe;ui.prototype.updateHeight=function(e,t,n){let i=()=>{fe.clone(e,jZ);let g=this.getHeight(e,n);l(g)&&(jZ.height=g,t(jZ))},o=n===je.CLAMP_TO_TERRAIN||n===je.RELATIVE_TO_TERRAIN,r=n===je.CLAMP_TO_3D_TILE||n===je.RELATIVE_TO_3D_TILE,s;!r&&l(this.globe)&&(s=this.globe._surface.updateHeight(e,i));let a={},c=this._ellipsoid,u=g=>{if(o||g.isDestroyed()||!g.isCesium3DTileset)return;let m=g.updateHeight(e,i,c);a[g.id]=m};if(!o){let g=this.primitives.length;for(let m=0;m<g;++m){let x=this.primitives.get(m);u(x)}}let f=this.primitives.primitiveAdded.addEventListener(u),d=this.primitives.primitiveRemoved.addEventListener(g=>{g.isDestroyed()||!g.isCesium3DTileset||(l(a[g.id])&&a[g.id](),delete a[g.id])});return()=>{s=s&&s(),Object.values(a).forEach(g=>g()),a={},f(),d()}};function UCt(e){let t=e.camera,n=e._mode,i=e._screenSpaceCameraController,o=t.positionCartographic;if(!l(o))return!1;if(!i.onMap()&&o.height<0)return!0;if(n===ne.SCENE2D||n===ne.MORPHING)return!1;let r=e._globeHeight;return l(r)&&o.height<r}ui.prototype.initializeFrame=function(){if(this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeightDirty){l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),this._globeHeight=VCt(this),this._globeHeightDirty=!1;let e=this.camera.positionCartographic;this._removeUpdateHeightCallback=this.updateHeight(e,t=>{this.isDestroyed()||(this._globeHeight=t.height)})}this._cameraUnderground=UCt(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),l(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function zCt(e,t){if(e.debugShowFramesPerSecond){if(!l(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new dg({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else l(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function HCt(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),l(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function GCt(e){e.primitives.postPassesUpdate(e._frameState),ec.update()}var WCt=new H;function jCt(e){let t=e._frameState,n=e.context,{uniformState:i}=n,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=rCt;let r=y(e.backgroundColor,H.BLACK);e._hdr&&(r=H.clone(r,WCt),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,t.atmosphere=e.atmosphere,e.fog.update(t),i.update(t);let s=e.shadowMap;l(s)&&s.enabled&&(!l(e.light)||e.light instanceof Ap?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=We.clone(a,c.viewport),l(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,CCt(e,c),l(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function gC(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function qCt(e){return e._picking.updateMostDetailedRayPicks(e)}ui.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,l(e)||(e=K.now());let n=this._view.checkForCameraUpdates(this);n&&(this._globeHeightDirty=!0);let i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===ne.MORPHING;if(!i&&l(this.maximumRenderTimeChange)&&l(this._lastRenderTime)){let o=Math.abs(K.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=K.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=P.incrementWrap(t.frameNumber,15e6,1);GCe(this,o,e),t.newFrame=!0}gC(this,HCt),this.primitives.show&&(gC(this,qCt),gC(this,YCt),gC(this,XCt),i||gC(this,KCt)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),gC(this,jCt)),zCt(this,i),gC(this,GCt),kCt(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};ui.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};ui.prototype.requestRender=function(){this._renderRequested=!0};ui.prototype.clampLineWidth=function(e){return Math.max(kt.minimumAliasedLineWidth,Math.min(e,kt.maximumAliasedLineWidth))};ui.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};ui.prototype.pickVoxel=function(e,t,n){let i=this.pick(e,t,n);if(!l(i))return;let o=i.primitive;if(!(o instanceof O0))return;let r=this._picking.pickVoxelCoordinate(this,e,t,n),s=255*r[0]+r[1],a=o._traversal.findKeyframeNode(s);if(!l(a))return;let c=255*r[2]+r[3];return x3.fromKeyframeNode(o,s,c,a)};ui.prototype.pickMetadata=function(e,t,n,i){let o=this.pick(e);if(!l(o))return;let r=o.detail?.model?.structuralMetadata?.schema,s=H2(r,t,n,i);if(!l(s))return;let a=new OB(t,n,i,s);return this._picking.pickMetadata(this,e,a)};ui.prototype.pickMetadataSchema=function(e){let t=this.pick(e);return l(t)?t.detail?.model?.structuralMetadata?.schema:void 0};ui.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};ui.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};ui.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function YCt(e){let t=e._frameState;HZ.camera=t.camera,HZ.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,HZ)}function XCt(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;GZ.camera=e.preloadFlightCamera,GZ.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,GZ)}function KCt(e){e.primitives.updateForPass(e._frameState,sCt)}ui.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};ui.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};ui.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};ui.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};ui.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};ui.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};ui.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};ui.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};ui.prototype.cartesianToCanvasCoordinates=function(e,t){return Gi.worldToWindowCoordinates(this,e,t)};ui.prototype.completeMorph=function(){this._transitioner.completeMorph()};ui.prototype.morphTo2D=function(e){e=y(e,2),this._transitioner.morphTo2D(e,this._ellipsoid)};ui.prototype.morphToColumbusView=function(e){e=y(e,2),this._transitioner.morphToColumbusView(e,this._ellipsoid)};ui.prototype.morphTo3D=function(e){e=y(e,2),this._transitioner.morphTo3D(e,this._ellipsoid)};function ZCt(e,t){if(e._removeTerrainProviderReadyListener=e._removeTerrainProviderReadyListener&&e._removeTerrainProviderReadyListener(),t.ready){l(e.globe)&&(e.globe.terrainProvider=t.provider);return}e.globe.terrainProvider=void 0,e._removeTerrainProviderReadyListener=t.readyEvent.addEventListener(n=>{l(e)&&l(e.globe)&&(e.globe.terrainProvider=n),e._removeTerrainProviderReadyListener()})}ui.prototype.setTerrain=function(e){return ZCt(this,e),e};ui.prototype.isDestroyed=function(){return!1};ui.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),l(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),ue(this)};var S3=ui;var Dv=`float interpolateByDistance(vec4 nearFarScalar, float distance) -{ - float startDistance = nearFarScalar.x; - float startValue = nearFarScalar.y; - float endDistance = nearFarScalar.z; - float endValue = nearFarScalar.w; - float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); - return mix(startValue, endValue, t); + +#if (SAMPLE_COUNT > 1) +void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { + int leafIndex = data.data; + int leafNodeTexelCount = 2; + // Adding 0.5 moves to the center of the texel + float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; + float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; + + // Get an interpolation weight and a flag to determine whether to read the parent texture + vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); + vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); + float lerp = normU8x2_toFloat(leafData0.xy); + sampleDatas[0].weight = 1.0 - lerp; + sampleDatas[1].weight = lerp; + // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT + sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; + sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; + + // Get megatexture indices for both samples + vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); + vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); + sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); + sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); } +#endif -void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) -{ - float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; +OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { + float sizeAtLevel = exp2(-1.0 * float(traversalData.octreeCoords.w)); + vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; + vec3 end = start + vec3(sizeAtLevel); + OctreeNodeData childData; - // Adjustment to the atmosphere radius applied based on the camera height. - float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; - float distanceAdjustMax = czm_ellipsoidRadii.x; - float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; - float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { + // Find out which octree child contains the position + // 0 if before center, 1 if after + vec3 center = 0.5 * (start + end); + vec3 childCoord = step(center, shapePosition); - // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit - // for the position on the ellipsoid. - float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; - float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; + // Get octree coords for the next level down + ivec4 octreeCoords = traversalData.octreeCoords; + traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); - // Setup the primary ray: from the camera position to the vertex position. - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); - underTranslucentGlobe = 0.0; + if (childData.flag != OCTREE_FLAG_INTERNAL) { + // leaf tile - stop traversing + break; + } + + // interior tile - keep going deeper + start = mix(start, center, childCoord); + end = mix(center, end, childCoord); + traversalData.parentOctreeIndex = childData.data; + } + + return childData; +} + +/** +* Transform a given position to an octree tile coordinate and a position within that tile, +* and find the corresponding megatexture index and texture coordinates +*/ +void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { + traversalData.octreeCoords = ivec4(0); + traversalData.parentOctreeIndex = 0; - // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. - #if defined(GLOBE_TRANSLUCENT) + OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); + if (nodeData.flag != OCTREE_FLAG_LEAF) { + nodeData = traverseOctreeDownwards(shapePosition, traversalData); + } - // Check for intersection with the inner radius of the atmopshere. - czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); - if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + #else + getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); + #endif +} - // Compute position on globe. - vec3 direction = normalize(positionWC); - czm_ray ellipsoidRay = czm_ray(positionWC, -direction); - czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); - vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); +bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { + return clamp(v, minVal, maxVal) == v; +} - // Control the color using the camera angle. - float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); +bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { + vec3 tileUv = getTileUv(shapePosition, octreeCoords); + bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); + // Assume (!) the position is always inside the root tile. + return inside || octreeCoords.w == 0; +} - // Control the opacity using the distance from Earth. - opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); - vec3 horizonColor = vec3(0.1, 0.2, 0.3); - vec3 nearColor = vec3(0.0); +void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { + if (insideTile(shapePosition, traversalData.octreeCoords)) { + for (int i = 0; i < SAMPLE_COUNT; i++) { + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + } + return; + } - rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); + // Go up tree until we find a parent tile containing shapePosition + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { + traversalData.octreeCoords.xyz /= 2; + traversalData.octreeCoords.w -= 1; - // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. - underTranslucentGlobe = 1.0; - return; + if (insideTile(shapePosition, traversalData.octreeCoords)) { + break; } - #endif - computeScattering( - primaryRay, - length(cameraToPositionWC), - lightDirection, - atmosphereInnerRadius, - rayleighColor, - mieColor, - opacity - ); + traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); + } - // Alter the opacity based on how close the viewer is to the ground. - // (0.0 = At edge of atmosphere, 1.0 = On ground) - float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; - float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); + // Go down tree + OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); - // Alter alpha based on time of day (0.0 = night , 1.0 = day) - float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; - opacity *= pow(nightAlpha, 0.5); + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + #else + getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); + #endif } -`;var v3=`in vec3 v_outerPositionWC; +`;var p3=`// See Octree.glsl for the definitions of SampleData and intMod -uniform vec3 u_hsbShift; +/* Megatexture defines (set in Scene/VoxelRenderResources.js) +#define SAMPLE_COUNT ### +#define NEAREST_SAMPLING +#define PADDING +*/ -#ifndef PER_FRAGMENT_ATMOSPHERE -in vec3 v_mieColor; -in vec3 v_rayleighColor; -in float v_opacity; -in float v_translucent; +uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions +uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions +uniform vec2 u_megatextureVoxelSizeUv; +uniform vec2 u_megatextureSliceSizeUv; +uniform vec2 u_megatextureTileSizeUv; + +uniform ivec3 u_dimensions; // does not include padding +#if defined(PADDING) + uniform ivec3 u_paddingBefore; + uniform ivec3 u_paddingAfter; #endif -void main (void) +// Integer min, max, clamp: For WebGL1 only +int intMin(int a, int b) { + return a <= b ? a : b; +} +int intMax(int a, int b) { + return a >= b ? a : b; +} +int intClamp(int v, int minVal, int maxVal) { + return intMin(intMax(v, minVal), maxVal); +} + +vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) { - float lightEnum = u_radiiAndDynamicAtmosphereColor.z; - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_outerPositionWC, lightEnum); + int indexX = intMod(index, dimensions.x); + int indexY = index / dimensions.x; + return vec2(indexX, indexY) * uvScale; +} - vec3 mieColor; - vec3 rayleighColor; - float opacity; - float translucent; +/* + How is 3D data stored in a 2D megatexture? - #ifdef PER_FRAGMENT_ATMOSPHERE - computeAtmosphereScattering( - v_outerPositionWC, - lightDirection, - rayleighColor, - mieColor, - opacity, - translucent - ); - #else - mieColor = v_mieColor; - rayleighColor = v_rayleighColor; - opacity = v_opacity; - translucent = v_translucent; - #endif + In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). + The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and + the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). + Note that there could be empty space in the megatexture because it's a power of two. - vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); + 0 1 2 3 + +---+---+---+---+ + | | | | | 3 + +---+---+---+---+ + | | | | | 2 + +-------+-------+ + |010|110|011|111| 1 + |--- ---|--- ---| + |000|100|001|101| 0 + +-------+-------+ - #ifndef HDR - color.rgb = czm_pbrNeutralTonemapping(color.rgb); - color.rgb = czm_inverseGamma(color.rgb); - #endif + When doing linear interpolation the megatexture needs to be sampled twice: once for + the Z slice above the voxel coordinate and once for the slice below. The two slices + are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is + halfway between two Z slices so the interpolation factor is 0.5. Below is a side view + of the 3D voxel grid with voxel coordinates on the left side. - #ifdef COLOR_CORRECT - const bool ignoreBlackPixels = true; - color.rgb = czm_applyHSBShift(color.rgb, u_hsbShift, ignoreBlackPixels); - #endif + 2 +---+ + |001| + 1 +-z-+ + |000| + 0 +---+ - // For the parts of the sky atmosphere that are not behind a translucent globe, - // we mix in the default opacity so that the sky atmosphere still appears at distance. - // This is needed because the opacity in the sky atmosphere is initially adjusted based - // on the camera height. - if (translucent == 0.0) { - color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); - } + When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. +*/ - out_FragColor = color; -} -`;var w3=`in vec4 position; +Properties getPropertiesFromMegatexture(in SampleData sampleData) { + int tileIndex = sampleData.megatextureIndex; + vec3 voxelCoord = sampleData.tileUv * vec3(u_dimensions); + ivec3 voxelDimensions = u_dimensions; -out vec3 v_outerPositionWC; + #if defined(PADDING) + voxelDimensions += u_paddingBefore + u_paddingAfter; + voxelCoord += vec3(u_paddingBefore); + #endif -#ifndef PER_FRAGMENT_ATMOSPHERE -out vec3 v_mieColor; -out vec3 v_rayleighColor; -out float v_opacity; -out float v_translucent; -#endif + #if defined(NEAREST_SAMPLING) + // Round to the center of the nearest voxel + voxelCoord = floor(voxelCoord) + vec3(0.5); + #endif -void main(void) -{ - vec4 positionWC = czm_model * position; - float lightEnum = u_radiiAndDynamicAtmosphereColor.z; - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC.xyz, lightEnum); + // Tile location + vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); - #ifndef PER_FRAGMENT_ATMOSPHERE - computeAtmosphereScattering( - positionWC.xyz, - lightDirection, - v_rayleighColor, - v_mieColor, - v_opacity, - v_translucent - ); - #endif + // Slice location + float slice = voxelCoord.z - 0.5; + int sliceIndex = int(floor(slice)); + int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); + vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); - v_outerPositionWC = positionWC.xyz; - gl_Position = czm_modelViewProjection * position; -} -`;function Iv(e){e=y(e,ee.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=F.fromScale(n),this._modelMatrix=new F,this._command=new Xe({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties(Iv.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});Iv.prototype.setDynamicLighting=function(e){this._radiiAndDynamicAtmosphereColor.z=e};var YZ=new F;Iv.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==ne.SCENE3D&&n!==ne.MORPHING||!e.passes.render)return;let i=F.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,YZ),o=F.multiplyTransformation(i,Oo.Y_UP_TO_Z_UP,YZ),r=F.multiply(this._scaleMatrix,o,YZ);F.clone(r,this._modelMatrix);let s=e.context,a=$Ct(this),c=e.globeTranslucencyState.translucent,u=this.perFragmentAtmosphere||c||!l(t)||!t.show,f=this._command;if(!l(f.vertexArray)){let p=Qs.createGeometry(new Qs({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:Pe.POSITION_ONLY}));f.vertexArray=pi.fromGeometry({context:s,geometry:p,attributeLocations:Gn.createAttributeLocations(p),bufferUsage:ke.STATIC_DRAW}),f.renderState=Ve.fromCache({cull:{enabled:!0,face:bi.FRONT},blending:hn.ALPHA_BLEND,depthMask:!1})}let d=a|u<<2|c<<3;if(d!==this._flags){this._flags=d;let p=[];a&&p.push("COLOR_CORRECT"),u&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new ze({defines:p,sources:[sg,Dv,w3]}),m=new ze({defines:p,sources:[sg,Dv,v3]});this._spSkyAtmosphere=an.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:m}),f.shaderProgram=this._spSkyAtmosphere}return f};function $Ct(e){return!(P.equalsEpsilon(e.hueShift,0,P.EPSILON7)&&P.equalsEpsilon(e.saturationShift,0,P.EPSILON7)&&P.equalsEpsilon(e.brightnessShift,0,P.EPSILON7))}Iv.prototype.isDestroyed=function(){return!1};Iv.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),ue(this)};var D3=Iv;var I3=`uniform samplerCube u_cubeMap; + // Voxel location + vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; -in vec3 v_texCoord; + // Final location in the megatexture + vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; -void main() -{ - vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); - out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); + #if defined(NEAREST_SAMPLING) + return getPropertiesFromMegatextureAtUv(uv0); + #else + float sliceLerp = fract(slice); + int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); + vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); + vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; + Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); + Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); + return mixProperties(properties0, properties1, sliceLerp); + #endif } -`;var P3=`in vec3 position; -out vec3 v_texCoord; +// Convert an array of sample datas to a final weighted properties. +Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { + #if (SAMPLE_COUNT == 1) + return getPropertiesFromMegatexture(sampleDatas[0]); + #else + // When more than one sample is taken the accumulator needs to start at 0 + Properties properties = clearProperties(); + for (int i = 0; i < SAMPLE_COUNT; ++i) { + float weight = sampleDatas[i].weight; -void main() -{ - vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); - gl_Position = czm_projection * vec4(p, 1.0); - v_texCoord = position.xyz; + // Avoid reading the megatexture when the weight is 0 as it can be costly. + if (weight > 0.0) { + Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); + tempProperties = scaleProperties(tempProperties, weight); + properties = sumProperties(properties, tempProperties); + } + } + return properties; + #endif } -`;function Rv(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new Xe({modelMatrix:F.clone(F.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}Rv.prototype.update=function(e,t){let n=this,{mode:i,passes:o,context:r}=e;if(!this.show||i!==ne.SCENE3D&&i!==ne.MORPHING||!o.render)return;if(this._sources!==this.sources){this._sources=this.sources;let a=this.sources;typeof a.positiveX=="string"?iP(r,this._sources).then(function(c){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=c}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new Ra({context:r,source:a}))}let s=this._command;if(!l(s.vertexArray)){s.uniformMap={u_cubeMap:function(){return n._cubeMap}};let a=Al.createGeometry(Al.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Pe.POSITION_ONLY})),c=this._attributeLocations=Gn.createAttributeLocations(a);s.vertexArray=pi.fromGeometry({context:r,geometry:a,attributeLocations:c,bufferUsage:ke.STATIC_DRAW}),s.renderState=Ve.fromCache({blending:hn.ALPHA_BLEND})}if(!l(s.shaderProgram)||this._useHdr!==t){let a=new ze({defines:[t?"HDR":""],sources:[I3]});s.shaderProgram=an.fromCache({context:r,vertexShaderSource:P3,fragmentShaderSource:a,attributeLocations:this._attributeLocations}),this._useHdr=t}if(l(this._cubeMap))return s};Rv.prototype.isDestroyed=function(){return!1};Rv.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),ue(this)};function Pv(e){return rn(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}Rv.createEarthSkyBox=function(){return new Rv({sources:{positiveX:Pv("px"),negativeX:Pv("mx"),positiveY:Pv("py"),negativeY:Pv("my"),positiveZ:Pv("pz"),negativeZ:Pv("mz")}})};var R3=Rv;function XZ(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(XZ.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});XZ.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,P.PI),i=P.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var KZ=XZ;function O3(){}O3.prototype.evaluate=function(e,t){de.throwInstantiationError()};O3.prototype.evaluateColor=function(e,t){de.throwInstantiationError()};O3.prototype.getShaderFunction=function(e,t,n,i){de.throwInstantiationError()};O3.prototype.getVariables=function(){de.throwInstantiationError()};var ZZ=O3;var M3=`uniform sampler2D u_texture; - -in vec2 v_textureCoordinates; - -void main() +`;function Kxt(e){let t=new Cx;this.shaderBuilder=t;let n=e._customShader,i=Ct(e._uniformMap,n.uniformMap);e._uniformMap=i;let o=n.uniforms;for(let p in o)if(o.hasOwnProperty(p)){let g=o[p];t.addUniform(g.type,p,pe.FRAGMENT)}t.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",pe.FRAGMENT),this.uniformMap=i;let r=e._clippingPlanes,s=l(r)&&r.enabled?r.length:0;this.clippingPlanes=r,this.clippingPlanesLength=s,t.addVertexLines([o3]),t.addFragmentLines([n.fragmentShaderText,"#line 0",m3,n3,r3,p3]),s>0&&(t.addDefine("CLIPPING_PLANES",void 0,pe.FRAGMENT),t.addDefine("CLIPPING_PLANES_COUNT",s,pe.FRAGMENT),r.unionClippingRegions&&t.addDefine("CLIPPING_PLANES_UNION",void 0,pe.FRAGMENT),t.addFragmentLines([a3])),e._depthTest&&(t.addDefine("DEPTH_TEST",void 0,pe.FRAGMENT),t.addFragmentLines([s3]));let a=e._provider.shape;a==="BOX"?t.addFragmentLines([f3,c3,pC]):a==="CYLINDER"?t.addFragmentLines([d3,Dv,l3,pC]):a==="ELLIPSOID"&&(t.addDefine("SHAPE_ELLIPSOID",void 0,pe.FRAGMENT),t.addFragmentLines([h3,Dv,u3,pC])),t.addFragmentLines([i3]);let c=e._shape,u=c.shaderDefines;for(let p in u)if(u.hasOwnProperty(p)){let g=u[p];l(g)&&(g=g===!0?void 0:g,t.addDefine(p,g,pe.FRAGMENT))}let f=c.shaderMaximumIntersectionsLength;s>0&&(t.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",f,pe.FRAGMENT),s===1?f+=1:r.unionClippingRegions?f+=2:f+=1),e._depthTest&&(t.addDefine("DEPTH_INTERSECTION_INDEX",f,pe.FRAGMENT),f+=1),t.addDefine("INTERSECTION_COUNT",f,pe.FRAGMENT),(!h.equals(e.paddingBefore,h.ZERO)||!h.equals(e.paddingAfter,h.ZERO))&&t.addDefine("PADDING",void 0,pe.FRAGMENT),e._useLogDepth&&t.addDefine("LOG_DEPTH_READ_ONLY",void 0,pe.FRAGMENT),e._nearestSampling&&t.addDefine("NEAREST_SAMPLING",void 0,pe.FRAGMENT);let d=e._traversal;t.addDefine("SAMPLE_COUNT",`${d._sampleCount}`,pe.FRAGMENT)}var _3=Kxt;function Zxt(e,t){let{shaderBuilder:n}=e,{names:i,types:o,componentTypes:r,minimumValues:s,maximumValues:a}=t._provider,c=o.length,u=l(s)&&l(a);n.addDefine("METADATA_COUNT",c,pe.FRAGMENT),u&&n.addDefine("STATISTICS",void 0,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=o[R],_=`PropertyStatistics_${M}`,S=`PropertyStatistics_${M}`;n.addStruct(_,S,pe.FRAGMENT);let w=TG(N);n.addStructField(_,w,"min"),n.addStructField(_,w,"max")}let f="Statistics",d="Statistics",p="statistics";n.addStruct(f,d,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=`PropertyStatistics_${M}`,_=M;n.addStructField(f,N,_)}let g="Metadata",m="Metadata",x="metadata";n.addStruct(g,m,pe.FRAGMENT),n.addStructField(g,d,p);for(let R=0;R<c;R++){let M=i[R],N=o[R],_=TG(N);n.addStructField(g,_,M)}for(let R=0;R<c;R++){let M=i[R],N=o[R],_=Qxt(N),S=`VoxelProperty_${M}`,w=`VoxelProperty_${M}`;n.addStruct(S,w,pe.FRAGMENT),n.addStructField(S,_,"partialDerivativeLocal"),n.addStructField(S,_,"partialDerivativeWorld"),n.addStructField(S,_,"partialDerivativeView"),n.addStructField(S,_,"partialDerivativeValid")}let b="Voxel",T="Voxel",A="voxel";n.addStruct(b,T,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=`VoxelProperty_${M}`;n.addStructField(b,N,M)}n.addStructField(b,"vec3","positionEC"),n.addStructField(b,"vec3","positionUv"),n.addStructField(b,"vec3","positionShapeUv"),n.addStructField(b,"vec3","positionUvLocal"),n.addStructField(b,"vec3","viewDirUv"),n.addStructField(b,"vec3","viewDirWorld"),n.addStructField(b,"vec3","surfaceNormal"),n.addStructField(b,"float","travelDistance"),n.addStructField(b,"int","stepCount"),n.addStructField(b,"int","tileIndex"),n.addStructField(b,"int","sampleIndex");let C="FragmentInput";n.addStruct(C,"FragmentInput",pe.FRAGMENT),n.addStructField(C,m,x),n.addStructField(C,T,A);let v="Properties",D="Properties",O="properties";n.addStruct(v,D,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],N=o[R],_=TG(N);n.addStructField(v,_,M)}{let R="clearProperties";n.addFunction(R,`${D} clearProperties()`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M],_=o[M],S=r[M],w=TG(_,S);n.addFunctionLines(R,[`${O}.${N} = ${w}(0.0);`])}n.addFunctionLines(R,[`return ${O};`])}{let R="sumProperties";n.addFunction(R,`${D} sumProperties(${D} propertiesA, ${D} propertiesB)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`${O}.${N} = propertiesA.${N} + propertiesB.${N};`])}n.addFunctionLines(R,[`return ${O};`])}{let R="scaleProperties";n.addFunction(R,`${D} scaleProperties(${D} ${O}, float scale)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} scaledProperties = ${O};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`scaledProperties.${N} *= scale;`])}n.addFunctionLines(R,["return scaledProperties;"])}{let R="mixProperties";n.addFunction(R,`${D} mixProperties(${D} propertiesA, ${D} propertiesB, float mixFactor)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`${O}.${N} = mix(propertiesA.${N}, propertiesB.${N}, mixFactor);`])}n.addFunctionLines(R,[`return ${O};`])}{let R="copyPropertiesToMetadata";n.addFunction(R,`void copyPropertiesToMetadata(in ${D} ${O}, inout ${m} ${x})`,pe.FRAGMENT);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(R,[`${x}.${N} = ${O}.${N};`])}}if(u){let R="setStatistics";n.addFunction(R,`void setStatistics(inout ${d} ${p})`,pe.FRAGMENT);for(let M=0;M<c;M++){let N=i[M],_=o[M],S=dt.getComponentCount(_);for(let w=0;w<S;w++){let I=Jxt(_,w),L=s[M][w],B=a[M][w];n.addFunctionLines(R,[`${p}.${N}.min${I} = ${wCe(L)};`,`${p}.${N}.max${I} = ${wCe(B)};`])}}}{let R="getPropertiesFromMegatextureAtUv";n.addFunction(R,`${D} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let N=i[M],_=o[M],S=r[M],w=$xt(_,S);n.addFunctionLines(R,[`properties.${N} = texture(u_megatextureTextures[${M}], texcoord)${w};`])}n.addFunctionLines(R,[`return ${O};`])}}function TG(e){if(e===dt.SCALAR)return"float";if(e===dt.VEC2)return"vec2";if(e===dt.VEC3)return"vec3";if(e===dt.VEC4)return"vec4"}function $xt(e){if(e===dt.SCALAR)return".r";if(e===dt.VEC2)return".ra";if(e===dt.VEC3)return".rgb";if(e===dt.VEC4)return""}function Qxt(e){if(e===dt.SCALAR)return"vec3";if(e===dt.VEC2)return"mat2";if(e===dt.VEC3)return"mat3";if(e===dt.VEC4)return"mat4"}function wCe(e){let t=e.toString();return t.indexOf(".")===-1&&(t=`${e}.0`),t}function Jxt(e,t){return e===dt.SCALAR?"":`[${t}]`}var g3=Zxt;function ebt(e,t){let n=new _3(e);g3(n,e);let{shaderBuilder:i,clippingPlanes:o,clippingPlanesLength:r}=n;if(r>0){let T="getClippingPlane",A=lg(o,t),C=0,E=A.indexOf(")")+1,v=A.indexOf("{",E)+1,D=A.indexOf("}",v),O=A.slice(C,E),R=A.slice(v,D);i.addFunction(T,O,pe.FRAGMENT),i.addFunctionLines(T,[R])}let s=i.clone();s.addDefine("PICKING",void 0,pe.FRAGMENT);let a=i.clone();a.addDefine("PICKING_VOXEL",void 0,pe.FRAGMENT);let c=i.buildShaderProgram(t),u=s.buildShaderProgram(t),f=a.buildShaderProgram(t),d=Ve.fromCache({cull:{enabled:!0,face:Ci.BACK},depthTest:{enabled:!1},depthMask:!1,blending:dn.PRE_MULTIPLIED_ALPHA_BLEND}),p=t.getViewportQuadVertexArray(),g=e._depthTest,m=new Ze({vertexArray:p,primitiveType:Ne.TRIANGLES,renderState:d,shaderProgram:c,uniformMap:n.uniformMap,modelMatrix:e._compoundModelMatrix,pass:ve.VOXELS,executeInClosestFrustum:!0,owner:this,cull:g,occlude:g}),x=Ze.shallowClone(m,new Ze);x.shaderProgram=u,x.pickOnly=!0;let b=Ze.shallowClone(m,new Ze);if(b.shaderProgram=f,b.pickOnly=!0,l(e._drawCommand)){let T=e._drawCommand;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPick)){let T=e._drawCommandPick;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPickVoxel)){let T=e._drawCommandPickVoxel;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}e._drawCommand=m,e._drawCommandPick=x,e._drawCommandPickVoxel=b}var y3=ebt;function eu(){this.orientedBoundingBox=new Dn,this.boundingSphere=new ce,this.boundTransform=new F,this.shapeTransform=new F,this._minBounds=h.clone(eu.DefaultMinBounds,new h),this._maxBounds=h.clone(eu.DefaultMaxBounds,new h),this.shaderUniforms={renderMinBounds:new h,renderMaxBounds:new h,boxUvToShapeUvScale:new h,boxUvToShapeUvTranslate:new h},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_SHAPE_BOUNDS:void 0},this.shaderMaximumIntersectionsLength=0}var tbt=new h,qZ=new h,nbt=new $,ibt=new h,obt=new h,rbt=new h,sbt=new h,DCe=F.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new F);eu.prototype.update=function(e,t,n,i,o){i=y(i,eu.DefaultMinBounds),o=y(o,eu.DefaultMaxBounds);let r=eu.DefaultMinBounds,s=eu.DefaultMaxBounds;t=this._minBounds=h.clamp(t,r,s,this._minBounds),n=this._maxBounds=h.clamp(n,r,s,this._maxBounds),i=h.clamp(i,r,s,ibt),o=h.clamp(o,r,s,obt);let a=h.clamp(t,i,o,rbt),c=h.clamp(n,i,o,sbt),u=F.getScale(e,qZ);if(a.x>c.x||a.y>c.y||a.z>c.z||(a.x===c.x)+(a.y===c.y)+(a.z===c.z)>=2||i.x>o.x||i.y>o.y||i.z>o.z||u.x===0||u.y===0||u.z===0)return!1;this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=XZ(a,c,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ce.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:f,shaderDefines:d}=this;for(let m in d)d.hasOwnProperty(m)&&(d[m]=void 0);let p=!h.equals(t,r)||!h.equals(n,s),g=0;if(d.BOX_INTERSECTION_INDEX=g,g+=1,f.renderMinBounds=F.multiplyByPoint(DCe,a,f.renderMinBounds),f.renderMaxBounds=F.multiplyByPoint(DCe,c,f.renderMaxBounds),p){d.BOX_HAS_SHAPE_BOUNDS=!0;let m=t,x=n;f.boxUvToShapeUvScale=h.fromElements(2/(m.x===x.x?1:x.x-m.x),2/(m.y===x.y?1:x.y-m.y),2/(m.z===x.z?1:x.z-m.z),f.boxUvToShapeUvScale),f.boxUvToShapeUvTranslate=h.fromElements(-f.boxUvToShapeUvScale.x*(m.x*.5+.5),-f.boxUvToShapeUvScale.y*(m.y*.5+.5),-f.boxUvToShapeUvScale.z*(m.z*.5+.5),f.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=g,!0};var CG=new h,YZ=new h;eu.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minBounds,s=this._maxBounds,a=1/Math.pow(2,e),c=h.fromElements(P.lerp(r.x,s.x,a*t),P.lerp(r.y,s.y,a*n),P.lerp(r.z,s.z,a*i),CG),u=h.fromElements(P.lerp(r.x,s.x,a*(t+1)),P.lerp(r.y,s.y,a*(n+1)),P.lerp(r.z,s.z,a*(i+1)),YZ);return XZ(c,u,this.shapeTransform,o)};var ICe=new h;eu.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,ICe),s=h.multiplyByScalar(r,o,ICe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,CG),o,CG),c=h.add(a,s,YZ),u=this._minBounds,f=this._maxBounds,d=h.fromElements(P.lerp(u.x,f.x,a.x),P.lerp(u.y,f.y,a.y),P.lerp(u.z,f.z,a.z),CG),p=h.fromElements(P.lerp(u.x,f.x,c.x),P.lerp(u.y,f.y,c.y),P.lerp(u.z,f.z,c.z),YZ);return XZ(d,p,this.shapeTransform,i)};eu.DefaultMinBounds=Object.freeze(new h(-1,-1,-1));eu.DefaultMaxBounds=Object.freeze(new h(1,1,1));function XZ(e,t,n,i){let o=eu.DefaultMinBounds,r=eu.DefaultMaxBounds;if(h.equals(e,o)&&h.equals(t,r))i.center=F.getTranslation(n,i.center),i.halfAxes=F.getMatrix3(n,i.halfAxes);else{let a=F.getScale(n,qZ),c=h.midpoint(e,t,tbt);i.center=F.multiplyByPoint(n,c,i.center),a=h.fromElements(a.x*.5*(t.x-e.x),a.y*.5*(t.y-e.y),a.z*.5*(t.z-e.z),qZ);let u=F.getRotation(n,nbt);i.halfAxes=$.setScale(u,a,i.halfAxes)}return i}var op=eu;function fs(){this.orientedBoundingBox=new Dn,this.boundingSphere=new ce,this.boundTransform=new F,this.shapeTransform=new F,this._minimumRadius=fs.DefaultMinBounds.x,this._maximumRadius=fs.DefaultMaxBounds.x,this._minimumHeight=fs.DefaultMinBounds.y,this._maximumHeight=fs.DefaultMaxBounds.y,this._minimumAngle=fs.DefaultMinBounds.z,this._maximumAngle=fs.DefaultMaxBounds.z,this.shaderUniforms={cylinderRenderHeightMinMax:new z,cylinderRenderRadiusMinMax:new z,cylinderRenderAngleMinMax:new z,cylinderUvToShapeUvRadius:new z,cylinderUvToShapeUvHeight:new z,cylinderUvToShapeUvAngle:new z,cylinderShapeUvAngleMinMax:new z,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var MCe=new h;fs.prototype.update=function(e,t,n,i,o){i=y(i,fs.DefaultMinBounds),o=y(o,fs.DefaultMaxBounds);let r=fs.DefaultMinBounds.x,s=fs.DefaultMaxBounds.x,a=fs.DefaultMinBounds.y,c=fs.DefaultMaxBounds.y,u=fs.DefaultMinBounds.z,f=fs.DefaultMaxBounds.z,d=f-u,p=.5*d,g=P.EPSILON10,m=P.EPSILON3,x=P.EPSILON10,b=P.clamp(t.x,r,s),T=P.clamp(n.x,r,s),A=P.clamp(i.x,r,s),C=P.clamp(o.x,r,s),E=Math.max(b,A),v=Math.min(T,C),D=P.clamp(t.y,a,c),O=P.clamp(n.y,a,c),R=P.clamp(i.y,a,c),M=P.clamp(o.y,a,c),N=Math.max(D,R),_=Math.min(O,M),S=P.negativePiToPi(t.z),w=P.negativePiToPi(n.z),I=P.negativePiToPi(i.z),L=P.negativePiToPi(o.z),B=Math.max(S,I),U=Math.min(w,L),V=F.getScale(e,MCe);if(v===0||E>v||N>_||P.equalsEpsilon(V.x,0,void 0,g)||P.equalsEpsilon(V.y,0,void 0,g)||P.equalsEpsilon(V.z,0,void 0,g))return!1;this._minimumRadius=b,this._maximumRadius=T,this._minimumHeight=D,this._maximumHeight=O,this._minimumAngle=S,this._maximumAngle=w,this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=ZZ(E,v,N,_,B,U,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ce.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let W=b===r&&T===s,Y=D===a&&O===c,Q=w<S,j=w-S+Q*d,Z=j>p+x&&j<d-x,J=j<p-x,he=j>=p-x&&j<=p+x,xe=Z||J||he,re=P.equalsEpsilon(S,u,void 0,m),_e=P.equalsEpsilon(w,f,void 0,m),ye=E===r,De=U<B,we=U-B+De*d,Me=we>=p-x&&we<d-x,Oe=we>x&&we<p-x,lt=we<=x,et=Me||Oe||lt,{shaderUniforms:vt,shaderDefines:Qe}=this;for(let mt in Qe)Qe.hasOwnProperty(mt)&&(Qe[mt]=void 0);let wt=0;if(Qe.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=wt,wt+=1,ye||(Qe.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,Qe.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=wt,wt+=1),vt.cylinderRenderRadiusMinMax=z.fromElements(E,v,vt.cylinderRenderRadiusMinMax),E===v&&(Qe.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),!W){Qe.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let mt=T-b,pt=0,Xt=1;mt!==0&&(pt=1/mt,Xt=-b/mt),vt.cylinderUvToShapeUvRadius=z.fromElements(pt,Xt,vt.cylinderUvToShapeUvRadius)}if(!Y){Qe.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let mt=O-D,pt=0,Xt=1;mt!==0&&(pt=2/mt,Xt=-(D+1)/mt),vt.cylinderUvToShapeUvHeight=z.fromElements(pt,Xt,vt.cylinderUvToShapeUvHeight)}if(vt.cylinderRenderHeightMinMax=z.fromElements(N,_,vt.cylinderRenderHeightMinMax),Q&&(Qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),et&&(Qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,Qe.CYLINDER_INTERSECTION_INDEX_ANGLE=wt,Me?(Qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,wt+=1):Oe?(Qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,wt+=2):lt&&(Qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,wt+=2),vt.cylinderRenderAngleMinMax=z.fromElements(B,U,vt.cylinderRenderAngleMinMax)),xe){Qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,re&&(Qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),_e&&(Qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let mt=(S-u)/d,pt=(w-u)/d,Xt=1-j/d;if(vt.cylinderShapeUvAngleMinMax=z.fromElements(mt,pt,vt.cylinderShapeUvAngleMinMax),vt.cylinderShapeUvAngleRangeZeroMid=(pt+.5*Xt)%1,j<=x)vt.cylinderUvToShapeUvAngle=z.fromElements(0,1,vt.cylinderUvToShapeUvAngle);else{let Te=d/j,Ee=-(S-u)/j;vt.cylinderUvToShapeUvAngle=z.fromElements(Te,Ee,vt.cylinderUvToShapeUvAngle)}}return this.shaderMaximumIntersectionsLength=wt,!0};fs.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minimumRadius,s=this._maximumRadius,a=this._minimumHeight,c=this._maximumHeight,u=this._minimumAngle,f=this._maximumAngle,d=1/Math.pow(2,e),p=P.lerp(r,s,t*d),g=P.lerp(r,s,(t+1)*d),m=P.lerp(a,c,n*d),x=P.lerp(a,c,(n+1)*d),b=P.lerp(u,f,i*d),T=P.lerp(u,f,(i+1)*d);return ZZ(p,g,m,x,b,T,this.shapeTransform,o)};var PCe=new h,RCe=new h,abt=new h;fs.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,PCe),s=h.multiplyByScalar(r,o,PCe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,RCe),o,RCe),c=h.add(a,s,abt),u=this._minimumRadius,f=this._maximumRadius,d=this._minimumHeight,p=this._maximumHeight,g=this._minimumAngle,m=this._maximumAngle,x=P.lerp(u,f,a.x),b=P.lerp(u,f,c.x),T=P.lerp(d,p,a.y),A=P.lerp(d,p,c.y),C=P.lerp(g,m,a.z),E=P.lerp(g,m,c.z);return ZZ(x,b,T,A,C,E,this.shapeTransform,i)};fs.DefaultMinBounds=Object.freeze(new h(0,-1,-P.PI));fs.DefaultMaxBounds=Object.freeze(new h(1,1,+P.PI));var cbt=5,lbt=new Array(cbt),ubt=new h,fbt=new $,dbt=new F,hbt=new F,mbt=new F,KZ=new F,pbt=new h,_bt=new h,gbt=new h,LCe=new Array(8);for(let e=0;e<8;e++)LCe[e]=new h;function OCe(e,t,n){return Math.abs(ie.dot(e,t))<n}function ybt(e){let t=F.getColumn(e,0,pbt),n=F.getColumn(e,1,_bt),i=F.getColumn(e,2,gbt),o=P.EPSILON4;return OCe(t,n,o)&&OCe(n,i,o)}function xbt(e,t){let n=LCe;h.fromElements(-.5,-.5,-.5,n[0]),h.fromElements(-.5,-.5,.5,n[1]),h.fromElements(-.5,.5,-.5,n[2]),h.fromElements(-.5,.5,.5,n[3]),h.fromElements(.5,-.5,-.5,n[4]),h.fromElements(.5,-.5,.5,n[5]),h.fromElements(.5,.5,-.5,n[6]),h.fromElements(.5,.5,.5,n[7]);for(let i=0;i<8;++i)F.multiplyByPoint(e,n[i],n[i]);return Dn.fromPoints(n,t)}function ZZ(e,t,n,i,o,r,s,a){let c=fs.DefaultMinBounds,u=fs.DefaultMaxBounds,f=c.x,d=u.x,p=c.y,g=u.y,m=c.z,x=u.z;if(e===f&&t===d&&n===p&&i===g&&o===m&&r===x)return a.center=F.getTranslation(s,a.center),a.halfAxes=F.getMatrix3(s,a.halfAxes),a;r<o&&(r+=P.TWO_PI);let T=r-o,A=o+T*.5,C=lbt,E=0;C[E++]=o,C[E++]=r,C[E++]=A,T>P.PI&&(C[E++]=A-P.PI_OVER_TWO,C[E++]=A+P.PI_OVER_TWO);let v=1,D=1,O=-1,R=-1;for(let Q=0;Q<E;++Q){let j=C[Q]-A,Z=Math.cos(j),J=Math.sin(j),he=Z*e,xe=J*e,re=Z*t,_e=J*t;v=Math.min(v,he),D=Math.min(D,xe),v=Math.min(v,re),D=Math.min(D,_e),O=Math.max(O,he),R=Math.max(R,xe),O=Math.max(O,re),R=Math.max(R,_e)}let M=O-v,N=R-D,_=i-n,S=(v+O)*.5,w=(D+R)*.5,I=(n+i)*.5,L=h.fromElements(S,w,I,ubt),B=$.fromRotationZ(A,fbt),U=h.fromElements(M,N,_,MCe),V=F.fromScale(U,mbt),G=F.fromRotation(B,hbt),k=F.fromTranslation(L,dbt),W=F.multiplyTransformation(G,F.multiplyTransformation(k,V,KZ),KZ),Y=F.multiplyTransformation(s,W,KZ);return ybt(Y)?Dn.fromTransformation(Y,a):xbt(Y,a)}var rp=fs;function Ag(){this.orientedBoundingBox=new Dn,this.boundingSphere=new ce,this.boundTransform=new F,this.shapeTransform=new F,this._rectangle=new ae,this._minimumHeight=Ag.DefaultMinBounds.z,this._maximumHeight=Ag.DefaultMaxBounds.z,this._ellipsoid=new ee,this._translation=new h,this._rotation=new $,this.shaderUniforms={ellipsoidRadiiUv:new h,eccentricitySquared:0,evoluteScale:new z,ellipsoidInverseRadiiSquaredUv:new h,ellipsoidRenderLongitudeMinMax:new z,ellipsoidShapeUvLongitudeMinMaxMid:new h,ellipsoidUvToShapeUvLongitude:new z,ellipsoidUvToShapeUvLatitude:new z,ellipsoidRenderLatitudeSinMinMax:new z,ellipsoidInverseHeightDifferenceUv:0,clipMinMaxHeight:new z},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var bbt=new h,Tbt=new h,Cbt=new h,Abt=new h,Ebt=new h,Sbt=new h,vbt=new h,wbt=new h,Dbt=new $,NCe=new h,FCe=new h,Ibt=new ae;Ag.prototype.update=function(e,t,n,i,o){let{DefaultMinBounds:r,DefaultMaxBounds:s}=Ag;i=y(i,r),o=y(o,s);let a=P.EPSILON10,c=P.EPSILON3,u=P.EPSILON10,f=P.EPSILON10,d=P.EPSILON3,p=F.getScale(e,wbt),g=h.clone(r,bbt);g.z=-h.minimumComponent(p);let m=h.clamp(t,g,s,Tbt),x=h.clamp(n,g,s,Cbt),b=h.clamp(i,g,s,Abt),T=h.clamp(o,g,s,Ebt),A=h.maximumByComponent(m,b,Sbt),C=h.minimumByComponent(x,T,vbt),E=h.add(p,h.fromElements(x.z,x.z,x.z,NCe),NCe),v=h.maximumComponent(E),D=h.add(p,h.fromElements(C.z,C.z,C.z,FCe),FCe);if(A.y>C.y||A.y===s.y||C.y===r.y||A.z>C.z||P.equalsEpsilon(D,h.ZERO,void 0,a))return!1;this._rectangle=ae.fromRadians(m.x,m.y,x.x,x.y),this._translation=F.getTranslation(e,this._translation),this._rotation=F.getRotation(e,this._rotation),this._ellipsoid=ee.fromCartesian3(p,this._ellipsoid),this._minimumHeight=m.z,this._maximumHeight=x.z;let O=ae.fromRadians(A.x,A.y,C.x,C.y,Ibt);this.orientedBoundingBox=$Z(O,A.z,C.z,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=F.fromRotationTranslation($.setScale(this._rotation,E,Dbt),this._translation,this.shapeTransform),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ce.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let R=s.x-r.x,M=.5*R,N=C.x<A.x,_=C.x-A.x+N*R,S=_<=u,w=_>=M-u&&_<R-u,I=_>u&&_<M-u,L=S||w||I,B=x.x<m.x,U=x.x-m.x+B*R,V=U>M+u&&U<R-u,G=U>=M-u&&U<=M+u,k=U<M-u,W=V||G||k,Y=C.y<-d,Q=C.y>=-d&&C.y<=+d,j=C.y>+d&&C.y<s.y-f,Z=Y||Q||j,J=A.y>r.y+f&&A.y<-d,he=A.y>=-d&&A.y<=+d,xe=A.y>+d,re=J||he||xe,_e=Z||re,ye=x.y-m.y,De=x.y<-d,we=x.y>=-d&&x.y<=+d,Me=x.y>+d&&x.y<s.y-f,Oe=De||we||Me,lt=m.y>r.y+f&&m.y<-d,et=m.y>=-d&&m.y<=+d,vt=m.y>+d,wt=Oe||(lt||et||vt),{shaderUniforms:mt,shaderDefines:pt}=this;for(let en in pt)pt.hasOwnProperty(en)&&(pt[en]=void 0);mt.ellipsoidRadiiUv=h.divideByScalar(E,v,mt.ellipsoidRadiiUv);let{x:Xt,z:Te}=mt.ellipsoidRadiiUv,Ee=Te/Xt;mt.eccentricitySquared=1-Ee*Ee,mt.evoluteScale=z.fromElements((Xt*Xt-Te*Te)/Xt,(Te*Te-Xt*Xt)/Te,mt.evoluteScale),mt.ellipsoidInverseRadiiSquaredUv=h.divideComponents(h.ONE,h.multiplyComponents(mt.ellipsoidRadiiUv,mt.ellipsoidRadiiUv,mt.ellipsoidInverseRadiiSquaredUv),mt.ellipsoidInverseRadiiSquaredUv);let rn=0;pt.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=rn,rn+=1,pt.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=rn,rn+=1,mt.clipMinMaxHeight=z.fromElements((A.z-x.z)/v,(C.z-x.z)/v,mt.clipMinMaxHeight);let Jt=(x.z-m.z)/v;if(mt.ellipsoidInverseHeightDifferenceUv=1/Jt,m.z===x.z&&(mt.ellipsoidInverseHeightDifferenceUv=0),L&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,pt.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=rn,w?(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,rn+=1):I?(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,rn+=2):S&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,rn+=2),mt.ellipsoidRenderLongitudeMinMax=z.fromElements(A.x,C.x,mt.ellipsoidRenderLongitudeMinMax)),W)if(pt.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,x.x<m.x&&(pt.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0),U<=u)mt.ellipsoidUvToShapeUvLongitude=z.fromElements(0,1,mt.ellipsoidUvToShapeUvLongitude);else{let Ji=R/U,je=-(m.x-r.x)/U;mt.ellipsoidUvToShapeUvLongitude=z.fromElements(Ji,je,mt.ellipsoidUvToShapeUvLongitude)}if(L){let en=P.equalsEpsilon(A.x,r.x,void 0,c),Ji=P.equalsEpsilon(C.x,s.x,void 0,c);en&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),Ji&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let je=(m.x-r.x)/R,vo=(x.x-r.x)/R,Ho=(C.x-r.x)/R,wa=1-_/R,ke=(Ho+.5*wa)%1;mt.ellipsoidShapeUvLongitudeMinMaxMid=h.fromElements(je,vo,ke,mt.ellipsoidShapeUvLongitudeMinMaxMid)}if(_e&&(re&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,pt.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=rn,J?(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,rn+=1):he?(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,rn+=1):xe&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,rn+=2)),Z&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,pt.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=rn,Y?(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,rn+=2):Q?(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,rn+=1):j&&(pt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,rn+=1)),mt.ellipsoidRenderLatitudeSinMinMax=z.fromElements(Math.sin(A.y),Math.sin(C.y),mt.ellipsoidRenderLatitudeSinMinMax)),wt)if(pt.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,ye<f)mt.ellipsoidUvToShapeUvLatitude=z.fromElements(0,1,mt.ellipsoidUvToShapeUvLatitude);else{let Ji=(s.y-r.y)/ye,je=(r.y-m.y)/ye;mt.ellipsoidUvToShapeUvLatitude=z.fromElements(Ji,je,mt.ellipsoidUvToShapeUvLatitude)}return this.shaderMaximumIntersectionsLength=rn,!0};var VCe=new ae;Ag.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=1/Math.pow(2,e),s=t*r,a=(t+1)*r,c=n*r,u=(n+1)*r,f=i*r,d=(i+1)*r,p=ae.subsection(this._rectangle,s,c,a,u,VCe),g=P.lerp(this._minimumHeight,this._maximumHeight,f),m=P.lerp(this._minimumHeight,this._maximumHeight,d);return $Z(p,g,m,this._ellipsoid,this._translation,this._rotation,o)};var BCe=new h,kCe=new h,Pbt=new h;Ag.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,BCe),s=h.multiplyByScalar(r,o,BCe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,kCe),o,kCe),c=h.add(a,s,Pbt),u=ae.subsection(this._rectangle,a.x,a.y,c.x,c.y,VCe),f=P.lerp(this._minimumHeight,this._maximumHeight,a.z),d=P.lerp(this._minimumHeight,this._maximumHeight,c.z);return $Z(u,f,d,this._ellipsoid,this._translation,this._rotation,i)};function $Z(e,t,n,i,o,r,s){return s=Dn.fromRectangle(e,t,n,i,s),s.center=h.add(s.center,o,s.center),s.halfAxes=$.multiply(s.halfAxes,r,s.halfAxes),s}Ag.DefaultMinBounds=Object.freeze(new h(-P.PI,-P.PI_OVER_TWO,-ee.WGS84.minimumRadius));Ag.DefaultMaxBounds=Object.freeze(new h(P.PI,P.PI_OVER_TWO,10*ee.WGS84.maximumRadius));var _C=Ag;var of={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};of.getMinBounds=function(e){switch(e){case of.BOX:return op.DefaultMinBounds;case of.ELLIPSOID:return _C.DefaultMinBounds;case of.CYLINDER:return rp.DefaultMinBounds}};of.getMaxBounds=function(e){switch(e){case of.BOX:return op.DefaultMaxBounds;case of.ELLIPSOID:return _C.DefaultMaxBounds;case of.CYLINDER:return rp.DefaultMaxBounds}};of.getShapeConstructor=function(e){switch(e){case of.BOX:return op;case of.ELLIPSOID:return _C;case of.CYLINDER:return rp}};var Vi=Object.freeze(of);var UCe=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function AG(e,t){this.spatialNode=e,this.keyframe=t,this.state=UCe.UNLOADED,this.metadata=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}AG.priorityComparator=function(e,t){return e.priority-t.priority};AG.searchComparator=function(e,t){return e.keyframe-t.keyframe};AG.LoadState=UCe;var io=AG;function W0(e,t,n,i,o){i===Ut.UNSIGNED_SHORT&&(i=Ut.FLOAT32);let r=e.floatingPointTexture;if(i===Ut.FLOAT32&&!r)throw new se("Floating point texture not supported");let s;i===Ut.FLOAT32||i===Ut.FLOAT64?s=Ye.FLOAT:i===Ut.UINT8&&(s=Ye.UNSIGNED_BYTE);let a;n===1?a=e.webgl2?nt.RED:nt.LUMINANCE:n===2?a=e.webgl2?nt.RG:nt.LUMINANCE_ALPHA:n===3?a=nt.RGB:n===4&&(a=nt.RGBA);let c=512*1024*1024,u=128*1024*1024;o=Math.min(y(o,u),c);let f=Ft.maximumTextureSize,d=Ut.getSizeInBytes(i),p=Math.floor(o/(n*d)),g=Math.min(f,P.previousPowerOfTwo(Math.floor(Math.sqrt(p)))),m=Math.ceil(Math.sqrt(t.x)),x=Math.ceil(t.z/m),b=m*t.x,T=x*t.y,A=Math.floor(g/b),C=Math.floor(g/T);if(A===0||C===0)throw new se("Tileset is too large to fit into megatexture");this.channelCount=n,this.componentType=i,this.voxelCountPerTile=h.clone(t,new h),this.maximumTileCount=A*C,this.regionCountPerMegatexture=new z(A,C),this.voxelCountPerRegion=new z(b,T),this.sliceCountPerRegion=new z(m,x),this.voxelSizeUv=new z(1/g,1/g),this.sliceSizeUv=new z(t.x/g,t.y/g),this.regionSizeUv=new z(b/g,T/g),this.texture=new Pt({context:e,pixelFormat:a,pixelDatatype:s,flipY:!1,width:g,height:g,sampler:new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.LINEAR,magnificationFilter:pi.LINEAR})});let E=Ut.toComponentDatatype(i);this.tileVoxelDataTemp=X.createTypedArray(E,b*T*n),this.nodes=new Array(this.maximumTileCount);for(let v=0;v<this.maximumTileCount;v++)this.nodes[v]=new Rbt(v);for(let v=0;v<this.maximumTileCount;v++){let D=this.nodes[v];D.previousNode=v>0?this.nodes[v-1]:void 0,D.nextNode=v<this.maximumTileCount-1?this.nodes[v+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function Rbt(e){this.index=e,this.nextNode=void 0,this.previousNode=void 0}W0.prototype.add=function(e){if(this.isFull())throw new de("Trying to add when there are no empty spots");let t=this.emptyList;this.emptyList=this.emptyList.nextNode,l(this.emptyList)&&(this.emptyList.previousNode=void 0),t.nextNode=this.occupiedList,l(t.nextNode)&&(t.nextNode.previousNode=t),this.occupiedList=t;let n=t.index;return this.writeDataToTexture(n,e),this.occupiedCount++,n};W0.prototype.remove=function(e){if(e<0||e>=this.maximumTileCount)throw new de("Megatexture index out of bounds");let t=this.nodes[e];l(t.previousNode)&&(t.previousNode.nextNode=t.nextNode),l(t.nextNode)&&(t.nextNode.previousNode=t.previousNode),t.nextNode=this.emptyList,l(t.nextNode)&&(t.nextNode.previousNode=t),t.previousNode=void 0,this.emptyList=t,this.occupiedCount--};W0.prototype.isFull=function(){return this.emptyList===void 0};W0.getApproximateTextureMemoryByteLength=function(e,t,n,i){i===Ut.UNSIGNED_SHORT&&(i=Ut.FLOAT32);let o=Ut.getSizeInBytes(i),r=e*t.x*t.y*t.z,s=Math.ceil(Math.sqrt(t.x)),a=Math.ceil(t.z/s),c=s*t.x,u=a*t.y,f=P.previousPowerOfTwo(Math.floor(Math.sqrt(r)));for(;;){let p=Math.floor(f/c),g=Math.floor(f/u);if(p*g>=e)break;f*=2}return f*f*n*o};W0.prototype.writeDataToTexture=function(e,t){let n=t.constructor===Uint16Array?new Float32Array(t):t,i=this.voxelCountPerTile,o=this.sliceCountPerRegion,r=this.voxelCountPerRegion,s=this.channelCount,a=this.tileVoxelDataTemp;for(let x=0;x<i.z;x++){let b=x%o.x*i.x,T=Math.floor(x/o.x)*i.y;for(let A=0;A<i.y;A++)for(let C=0;C<i.x;C++){let E=x*i.y*i.x+A*i.x+C,v=(T+A)*r.x+(b+C);for(let D=0;D<s;D++)a[v*s+D]=n[E*s+D]}}let c=this.regionCountPerMegatexture,u=r.x,f=r.y,d=e%c.x*r.x,p=Math.floor(e/c.x)*r.y,m={source:{arrayBufferView:a,width:u,height:f},xOffset:d,yOffset:p};this.texture.copyFrom(m)};W0.prototype.isDestroyed=function(){return!1};W0.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),ue(this)};var Iv=W0;function pd(e,t,n,i,o,r,s){this.children=void 0,this.parent=o,this.level=e,this.x=t,this.y=n,this.z=i,this.dimensions=h.clone(s),this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new Dn,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(r)}var Obt=new h;pd.prototype.computeBoundingVolumes=function(e){this.orientedBoundingBox=e.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let t=$.getScale(this.orientedBoundingBox.halfAxes,Obt),n=2*h.maximumComponent(t);this.approximateVoxelSize=n/h.minimumComponent(this.dimensions)};pd.prototype.constructChildNodes=function(e){let{level:t,x:n,y:i,z:o}=this,r=n*2,s=i*2,a=o*2,c=s+1,u=r+1,f=a+1,d=t+1,p=[[d,r,s,a],[d,u,s,a],[d,r,c,a],[d,u,c,a],[d,r,s,f],[d,u,s,f],[d,r,c,f],[d,u,c,f]];this.children=p.map(([g,m,x,b])=>new pd(g,m,x,b,this,e,this.dimensions))};pd.prototype.visibility=function(e,t){let n=this.orientedBoundingBox;return e.cullingVolume.computeVisibilityWithPlaneMask(n,t)};pd.prototype.computeScreenSpaceError=function(e,t){let n=this.orientedBoundingBox,i=Math.sqrt(n.distanceSquaredTo(e));i=Math.max(i,P.EPSILON7);let o=this.approximateVoxelSize,r=t*(o/i);this.screenSpaceError=r};var zCe={keyframe:0};function x3(e,t){return zCe.keyframe=e,Lo(t,zCe,io.searchComparator)}pd.prototype.computeSurroundingRenderableKeyframeNodes=function(e){let t=this,n=t.level,i=Math.floor(e),o=Math.ceil(e),r,s,a=+Number.MAX_VALUE,c=+Number.MAX_VALUE;for(;l(t);){let{renderableKeyframeNodes:d}=t;if(d.length>=1){let p=Mbt(i,d),g=d[p],m=o===i||i<g.keyframe?p:Math.min(p+1,d.length-1),x=d[m],b=i-g.keyframe,T=HCe(n-t.level,b);T<a&&(a=T,r=g);let A=x.keyframe-o,C=HCe(n-t.level,A);if(C<c&&(c=C,s=x),b===0&&A===0)break}t=t.parent}if(this.renderableKeyframeNodePrevious=r,this.renderableKeyframeNodeNext=s,!l(r)||!l(s))return;let u=r.keyframe,f=s.keyframe;this.renderableKeyframeNodeLerp=u===f?0:P.clamp((e-u)/(f-u),0,1)};function Mbt(e,t){let n=x3(e,t);return n<0?P.clamp(~n-1,0,t.length-1):n}function HCe(e,t){let n=Math.exp(e*4),i=t>=0?1:-200;return e*n+t*i}pd.prototype.isVisited=function(e){return this.visitedFrameNumber===e};pd.prototype.createKeyframeNode=function(e){let t=x3(e,this.keyframeNodes);if(t<0){t=~t;let n=new io(this,e);this.keyframeNodes.splice(t,0,n)}};pd.prototype.destroyKeyframeNode=function(e,t){let n=e.keyframe,i=x3(n,this.keyframeNodes);if(i<0)throw new de("Keyframe node does not exist.");if(this.keyframeNodes.splice(i,1),e.megatextureIndex!==-1){for(let r=0;r<t.length;r++)t[r].remove(e.megatextureIndex);let o=x3(n,this.renderableKeyframeNodes);if(o<0)throw new de("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(o,1)}e.spatialNode=void 0,e.state=io.LoadState.UNLOADED,e.metadata={},e.megatextureIndex=-1,e.priority=-Number.MAX_VALUE,e.highPriorityFrameNumber=-1};pd.prototype.addKeyframeNodeToMegatextures=function(e,t){if(e.state!==io.LoadState.RECEIVED||e.megatextureIndex!==-1||e.metadata.length!==t.length)throw new de("Keyframe node cannot be added to megatexture");for(let o=0;o<t.length;o++){let r=t[o];e.megatextureIndex=r.add(e.metadata[o])}e.state=io.LoadState.LOADED;let n=this.renderableKeyframeNodes,i=x3(e.keyframe,n);if(i>=0)throw new de("Keyframe already renderable");i=~i,n.splice(i,0,e)};pd.prototype.isRenderable=function(e){let t=this.renderableKeyframeNodePrevious,n=this.renderableKeyframeNodeNext,i=this.level;return l(t)&&l(n)&&(t.spatialNode.level===i||n.spatialNode.level===i)&&this.visitedFrameNumber===e};var b3=pd;function Eg(e,t,n,i,o,r,s){this._primitive=e,this.megatextures=new Array(i.length);for(let m=0;m<i.length;m++){let x=i[m],b=dt.getComponentCount(x),T=o[m];this.megatextures[m]=new Iv(t,n,b,T,s)}let a=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let c=e._shape;this.rootNode=new b3(0,0,0,0,void 0,c,n),this._priorityQueue=new FT({maximumLength:a,comparator:io.priorityComparator}),this._highPriorityKeyframeNodes=new Array(a),this._keyframeNodesInMegatexture=new Array(a),this._keyframeCount=r,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(r);let u=this._binaryTreeKeyframeWeighting;u[0]=0,u[r-1]=0,QZ(u,1,r-2,0);let f=9,d=2048,p=Math.floor(d/f),g=Math.ceil(a/p);this.internalNodeTexture=new Pt({context:t,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,flipY:!1,width:d,height:g,sampler:new Qt({minificationFilter:$t.NEAREST,magnificationFilter:pi.NEAREST})}),this.internalNodeTilesPerRow=p,this.internalNodeTexelSizeUv=new z(1/d,1/g),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new z}Eg.prototype.findKeyframeNode=function(e){return this._keyframeNodesInMegatexture.find(function(t){return t.megatextureIndex===e})};function QZ(e,t,n,i){if(t>n)return;let o=Math.floor((t+n)/2);e[o]=i,QZ(e,t,o-1,i+1),QZ(e,o+1,n,i+1)}Eg.simultaneousRequestCountMaximum=50;Eg.prototype.update=function(e,t,n,i){let o=this._primitive,r=e.context,s=this.megatextures[0].maximumTileCount,a=this._keyframeCount,c=o._levelBlendFactor,u=c>0,f=a>1,d=(u?2:1)*(f?2:1);this._sampleCount=d;let p=d>=2;if(p&&!l(this.leafNodeTexture)){let A=Math.floor(512),C=Math.ceil(s/A);this.leafNodeTexture=new Pt({context:r,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,flipY:!1,width:1024,height:C,sampler:new Qt({minificationFilter:$t.NEAREST,magnificationFilter:pi.NEAREST})}),this.leafNodeTexelSizeUv=z.fromElements(1/1024,1/C,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=A}else!p&&l(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=P.clamp(t,0,a-1),n&&GCe(this,this.rootNode),i)return;this._frameNumber=e.frameNumber;let g=Ei();Fbt(this,e);let m=Ei();Vbt(this,d,c);let x=Ei();if(this._debugPrint){let b=m-g,T=x-m,A=x-g;kbt(this,b,T,A)}};Eg.prototype.isRenderable=function(e){return e.isRenderable(this._frameNumber)};Eg.prototype.isDestroyed=function(){return!1};Eg.prototype.destroy=function(){let e=this.megatextures,t=e.length;for(let n=0;n<t;n++)e[n]=e[n]&&e[n].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),ue(this)};function GCe(e,t){if(t.computeBoundingVolumes(e._primitive._shape),l(t.children))for(let n=0;n<8;n++){let i=t.children[n];GCe(e,i)}}function Lbt(e,t){if(e._simultaneousRequestCount>=Eg.simultaneousRequestCountMaximum)return;let n=e._primitive._provider;function i(c){e._simultaneousRequestCount--;let u=n.types.length;if(!l(c))t.state=io.LoadState.UNAVAILABLE;else if(c===io.LoadState.FAILED)t.state=io.LoadState.FAILED;else if(!Array.isArray(c)||c.length!==u)t.state=io.LoadState.FAILED;else{let f=e.megatextures;for(let d=0;d<u;d++){let{voxelCountPerTile:p,channelCount:g}=f[d],{x:m,y:x,z:b}=p,T=m*x*b,A=c[d],C=T*g;if(A.length===C)t.metadata[d]=A,t.state=io.LoadState.RECEIVED;else{t.state=io.LoadState.FAILED;break}}}}function o(){e._simultaneousRequestCount--,t.state=io.LoadState.FAILED}let{keyframe:r,spatialNode:s}=t,a=n.requestData({tileLevel:s.level,tileX:s.x,tileY:s.y,tileZ:s.z,keyframe:r});l(a)?(e._simultaneousRequestCount++,t.state=io.LoadState.RECEIVING,a.then(i).catch(o)):t.state=io.LoadState.FAILED}function Nbt(e){return e/(1+e)}function Fbt(e,t){let n=e._frameNumber,i=e._primitive,o=i._shape,r=i.screenSpaceError,s=e._priorityQueue,a=e._keyframeCount,c=P.clamp(Math.floor(e._keyframeLocation),0,a-2),u=c+1,{camera:f,context:d,pixelRatio:p}=t,{positionWC:g,frustum:m}=f,b=d.drawingBufferHeight/p/m.sseDenominator;function T(N,_){if(N.computeScreenSpaceError(g,b),_=N.visibility(t,_),_===bs.MASK_OUTSIDE)return;if(N.visitedFrameNumber=n,a===1)N.createKeyframeNode(0);else if(N.keyframeNodes.length!==a)for(let B=0;B<a;B++)N.createKeyframeNode(B);let{screenSpaceError:S,keyframeNodes:w}=N,I=Nbt(S),L=!1;for(let B=0;B<w.length;B++){let U=w[B];U.priority=10*I+Bbt(c,U.keyframe,u,e),U.state!==io.LoadState.UNAVAILABLE&&U.state!==io.LoadState.FAILED&&U.priority!==-Number.MAX_VALUE&&s.insert(U),U.state===io.LoadState.LOADED&&(L=!0)}if(S<r||!L){N.children=void 0;return}l(N.children)||N.constructChildNodes(o);for(let B=0;B<8;B++){let U=N.children[B];T(U,_)}}s.reset(),T(e.rootNode,bs.MASK_INDETERMINATE);let A=e._highPriorityKeyframeNodes,C=0,E;for(;s.length>0;)E=s.removeMaximum(),E.highPriorityFrameNumber=n,A[C]=E,C++;let v=e._keyframeNodesInMegatexture,D=e.megatextures[0],O=D.occupiedCount;v.length=O,v.sort(function(N,_){return N.highPriorityFrameNumber===_.highPriorityFrameNumber?_.priority-N.priority:_.highPriorityFrameNumber-N.highPriorityFrameNumber});let R=0,M=0;for(let N=0;N<C;N++)if(E=A[N],!(E.state===io.LoadState.LOADED||E.spatialNode===void 0)&&(E.state===io.LoadState.UNLOADED&&Lbt(e,E),E.state===io.LoadState.RECEIVED)){let _=0;if(D.isFull()){_=O-1-R,R++;let S=v[_];S.spatialNode.destroyKeyframeNode(S,e.megatextures)}else _=O+M,M++;E.spatialNode.addKeyframeNodeToMegatextures(E,e.megatextures),v[_]=E}}function Bbt(e,t,n,i){let o=Math.min(Math.abs(t-e),Math.abs(t-n)),r=Math.max(e,i._keyframeCount-n-1,1),s=Math.pow(1-o/r,4),a=Math.exp(-i._binaryTreeKeyframeWeighting[t]);return P.lerp(a,s,.15+.85*s)}function kbt(e,t,n,i){let o=e._keyframeCount,r=e.rootNode,s=Object.keys(io.LoadState).length,a=new Array(s),c=new Array(s),u=0;for(let T=0;T<s;T++){let A=new Array(o);a[T]=A;for(let C=0;C<o;C++)A[C]=0;c[T]=0}function f(T){let A=T.keyframeNodes;for(let C=0;C<A.length;C++){let E=A[C],v=E.keyframe,D=E.state;a[D][v]+=1,c[D]+=1,u++}if(l(T.children))for(let C=0;C<8;C++){let E=T.children[C];f(E)}}f(r);let d=`KEYFRAMES: ${a[io.LoadState.LOADED]}`,p=`UNLOADED: ${c[io.LoadState.UNLOADED]} | RECEIVING: ${c[io.LoadState.RECEIVING]} | RECEIVED: ${c[io.LoadState.RECEIVED]} | LOADED: ${c[io.LoadState.LOADED]} | FAILED: ${c[io.LoadState.FAILED]} | UNAVAILABLE: ${c[io.LoadState.UNAVAILABLE]} | TOTAL: ${u}`,g=Math.round(t*100)/100,m=Math.round(n*100)/100,x=Math.round(i*100)/100,b=`LOAD: ${g} | OCT: ${m} | ALL: ${x}`;console.log(`${d} || ${p} || ${b}`)}var EG={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function Vbt(e,t,n){let i=e._primitive._screenSpaceError,o=e._keyframeLocation,r=e._frameNumber,s=t>=2,a=0,c=0,u=[],f=[];function d(g,m,x,b,T){let A=!1;if(l(g.children))for(let C=0;C<8;C++){let E=g.children[C];E.computeSurroundingRenderableKeyframeNodes(o),E.isRenderable(r)&&(A=!0)}if(A){u[T]=EG.INTERNAL<<16|m,u[x]=b,a++,b=m,T=b*9+1;for(let C=0;C<8;C++){let E=g.children[C];m=a,x=m*9+0,d(E,m,x,b,T+C)}}else{if(s){let C=c*5,E=g.renderableKeyframeNodePrevious,v=g.level-E.spatialNode.level,D=E.spatialNode.parent,O=l(D)?D.renderableKeyframeNodePrevious:E,R=Ubt(g,i,n),M=v,N=1,_=E.megatextureIndex,S=O.megatextureIndex;f[C+0]=R,f[C+1]=M,f[C+2]=N,f[C+3]=_,f[C+4]=S,u[T]=EG.LEAF<<16|c}else{let C=g.renderableKeyframeNodePrevious,v=g.level-C.spatialNode.level===0?EG.LEAF:EG.PACKED_LEAF_FROM_PARENT;u[T]=v<<16|C.megatextureIndex}c++}}let p=e.rootNode;p.computeSurroundingRenderableKeyframeNodes(o),p.isRenderable(r)&&d(p,0,0,0,0),zbt(u,9,e.internalNodeTilesPerRow,e.internalNodeTexture),s&&Hbt(f,2,e.leafNodeTilesPerRow,e.leafNodeTexture)}function Ubt(e,t,n){if(e.parent===void 0)return 0;let i=e.screenSpaceError,o=e.parent.screenSpaceError,s=((t-i)/(o-i)+n-1)/n;return P.clamp(s,0,1)}function zbt(e,t,n,i){let o=nt.componentsLength(i.pixelFormat),r=Math.ceil(e.length/t),s=Math.max(1,t*Math.min(r,n)),a=Math.max(1,Math.ceil(r/n)),c=new Uint8Array(s*a*o);for(let d=0;d<e.length;d++){let p=e[d],g=d*o;for(let m=0;m<o;m++)c[g+m]=p>>>m*8&255}let f={source:{arrayBufferView:c,width:s,height:a},xOffset:0,yOffset:0};i.copyFrom(f)}function Hbt(e,t,n,i){let o=nt.componentsLength(i.pixelFormat),r=5,s=Math.ceil(e.length/r),a=Math.max(1,t*Math.min(s,n)),c=Math.max(1,Math.ceil(s/n)),u=new Uint8Array(a*c*o);for(let p=0;p<s;p++){let g=e[p*r+0],m=e[p*r+1],x=e[p*r+2],b=e[p*r+3],T=e[p*r+4],A=P.clamp(Math.floor(65536*g),0,65535);u[p*8+0]=A>>>0&255,u[p*8+1]=A>>>8&255,u[p*8+2]=m&255,u[p*8+3]=x&255,u[p*8+4]=b>>>0&255,u[p*8+5]=b>>>8&255,u[p*8+6]=T>>>0&255,u[p*8+7]=T>>>8&255}let d={source:{arrayBufferView:u,width:a,height:c},xOffset:0,yOffset:0};i.copyFrom(d)}Eg.getApproximateTextureMemoryByteLength=function(e,t,n,i){let o=0,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=i[s],u=dt.getComponentCount(a);o+=Iv.getApproximateTextureMemoryByteLength(e,t,u,c)}return o};var Pv=Eg;var Gbt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},Rv=Object.freeze(Gbt);function Ov(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}Ov.prototype.getTexture=function(e){return this._textures[e]};function Wbt(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];l(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}Ov.prototype.loadTexture2D=function(e,t){l(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):Wbt(this,e,t)};function jbt(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?SG(o,r,n):qbt(o,r,n),a=e._textures[i];l(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function SG(e,t,n){let{typedArray:i,sampler:o}=e,r=l(i)?jCe(e,n):new Pt({context:n,source:t,sampler:o});return WCe(o)&&r.generateMipmap(),r}function qbt(e,t,n){let{typedArray:i,sampler:o}=e,r=WCe(o),s=o.wrapS===En.REPEAT||o.wrapS===En.MIRRORED_REPEAT||o.wrapT===En.REPEAT||o.wrapT===En.MIRRORED_REPEAT,{width:a,height:c}=l(i)?e:t,u=[a,c].every(P.isPowerOfTwo);if((r||s)&&!u)if(l(i)){if(e.pixelDatatype===Ye.UNSIGNED_BYTE){let d=kF(i,a,c),p=dy(d);return SG({sampler:o},p,n)}}else{let d=dy(t);return SG(e,d,n)}else return SG(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),jCe(e,n)}function WCe(e){return[$t.NEAREST_MIPMAP_NEAREST,$t.NEAREST_MIPMAP_LINEAR,$t.LINEAR_MIPMAP_NEAREST,$t.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function jCe(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new Pt({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}Ov.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];jbt(this,o,t)}n.length=0};Ov.prototype.isDestroyed=function(){return!1};Ov.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return ue(this)};var T3=Ov;function C3(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,m_.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,Iy.INHERIT),this._textureManager=new T3,this._defaultTexture=void 0,this.uniformMap=Ybt(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},Zbt(this),$bt(this)}function Ybt(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===Rv.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=Xbt(e,i)):n[i]=Kbt(e,i)}return n}function Xbt(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function Kbt(e,t){return function(){return e.uniforms[t].value}}function gC(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function Zbt(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;l(r)&&(o=e.usedVariablesVertex.attributeSet,gC(r,t,o),o=e.usedVariablesVertex.featureIdSet,gC(r,n,o),o=e.usedVariablesVertex.metadataSet,gC(r,i,o));let s=e.fragmentShaderText;if(l(s)){o=e.usedVariablesFragment.attributeSet,gC(s,t,o),o=e.usedVariablesFragment.featureIdSet,gC(s,n,o),o=e.usedVariablesFragment.metadataSet,gC(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;gC(s,a,c)}}function qCe(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function Oc(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${qCe(t)} is not available in the ${i} shader. Did you mean ${qCe(n)} instead?`;throw new de(o)}}function $bt(e){let t=e.usedVariablesVertex.attributeSet;Oc(t,"position","positionMC","vertex"),Oc(t,"normal","normalMC","vertex"),Oc(t,"tangent","tangentMC","vertex"),Oc(t,"bitangent","bitangentMC","vertex"),Oc(t,"positionWC","positionMC","vertex"),Oc(t,"positionEC","positionMC","vertex"),Oc(t,"normalEC","normalMC","vertex"),Oc(t,"tangentEC","tangentMC","vertex"),Oc(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;Oc(n,"position","positionEC","fragment"),Oc(n,"normal","normalEC","fragment"),Oc(n,"tangent","tangentEC","fragment"),Oc(n,"bitangent","bitangentEC","fragment"),Oc(n,"normalMC","normalEC","fragment"),Oc(n,"tangentMC","tangentEC","fragment"),Oc(n,"bitangentMC","bitangentEC","fragment")}C3.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===Rv.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):l(t.clone)?n.value=t.clone(n.value):n.value=t};C3.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};C3.prototype.isDestroyed=function(){return!1};C3.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),ue(this)};var yC=C3;function sp(e){e=y(e,y.EMPTY_OBJECT),this._ready=!1,this._provider=y(e.provider,sp.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new h,this._paddingAfter=new h,this._minBounds=new h,this._minBoundsOld=new h,this._maxBounds=new h,this._maxBoundsOld=new h,this._exaggeratedMinBounds=new h,this._exaggeratedMinBoundsOld=new h,this._exaggeratedMaxBounds=new h,this._exaggeratedMaxBoundsOld=new h,this._minClippingBounds=new h,this._minClippingBoundsOld=new h,this._maxClippingBounds=new h,this._maxClippingBoundsOld=new h,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._exaggeratedModelMatrix=F.clone(this._modelMatrix),this._compoundModelMatrix=new F,this._compoundModelMatrixOld=new F,this._customShader=y(e.customShader,sp.DefaultCustomShader),this._customShaderCompilationEvent=new me,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=e.clock,this._transformPositionWorldToUv=new F,this._transformPositionUvToWorld=new F,this._transformDirectionWorldToLocal=new $,this._transformNormalLocalToWorld=new $,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new nh,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new z,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new z,megatextureTextures:[],megatextureSliceDimensions:new z,megatextureTileDimensions:new z,megatextureVoxelSizeUv:new z,megatextureSliceSizeUv:new z,megatextureTileSizeUv:new z,dimensions:new h,paddingBefore:new h,paddingAfter:new h,transformPositionViewToUv:new F,transformPositionUvToView:new F,transformDirectionViewToLocal:new $,transformNormalLocalToWorld:new $,cameraPositionUv:new h,ndcSpaceAxisAlignedBoundingBox:new ie,clippingPlanesTexture:void 0,clippingPlanesMatrix:new F,stepSize:0,pickColor:new H},this._shapeDefinesOld={},this._uniformMap={};let t=this._uniforms,n=this._uniformMap;for(let o in t)if(t.hasOwnProperty(o)){let r=`u_${o}`;n[r]=function(){return t[o]}}let i=this._provider;Qbt(this,i)}function Qbt(e,t){let{shape:n,minBounds:i=Vi.getMinBounds(n),maxBounds:o=Vi.getMaxBounds(n)}=t;e.minBounds=i,e.maxBounds=o,e.minClippingBounds=Vi.getMinBounds(n),e.maxClippingBounds=Vi.getMaxBounds(n),e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e._exaggeratedModelMatrix=F.clone(e._modelMatrix,e._exaggeratedModelMatrix),XCe(e,t);let r=Vi.getShapeConstructor(n);e._shape=new r,e._shapeVisible=KCe(e,e._shape,t)}Object.defineProperties(sp.prototype,{ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this._shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(e){this._disableRender=!e}},disableUpdate:{get:function(){return this._disableUpdate},set:function(e){this._disableUpdate=e}},debugDraw:{get:function(){return this._debugDraw},set:function(e){this._debugDraw=e}},depthTest:{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(e){this._nearestSampling!==e&&(this._nearestSampling=e,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(e){this._levelBlendFactor=P.clamp(e,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(e){this._screenSpaceError=e}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(e){this._stepSizeMultiplier=e}},minBounds:{get:function(){return this._minBounds},set:function(e){this._minBounds=h.clone(e,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(e){this._maxBounds=h.clone(e,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(e){this._minClippingBounds=h.clone(e,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(e){this._maxClippingBounds=h.clone(e,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ts.setOwner(e,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(e){if(this._customShader!==e){let t=this._uniformMap,i=this._customShader.uniformMap;for(let o in i)i.hasOwnProperty(o)&&delete t[o];l(e)?this._customShader=e:this._customShader=sp.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var Jbt=new h,eTt=new ie,tTt=new ie,nTt=new h,iTt=new h,oTt=new $,rTt=new $,sTt=new F,aTt=new F,cTt=new F,lTt=F.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new F),uTt=F.fromRotationTranslation($.fromUniformScale(2,new $),new h(-1,-1,-1),new F);sp.prototype.update=function(e){let t=this._provider;this._customShader.update(e);let n=e.context;if(!this._ready){_Tt(this,t,n),e.afterRender.push(()=>(this._ready=!0,!0));return}mTt(this,e);let i=XCe(this,t),o=this._shape;if(i&&(this._shapeVisible=KCe(this,o,t),xTt(this,o)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let r=bTt(t.timeIntervalCollection,this._clock),s=this._traversal,a=s._sampleCount;if(s.update(e,r,i,this._disableUpdate),a!==s._sampleCount&&(this._shaderDirty=!0),!s.isRenderable(s.rootNode)||(this._debugDraw&&DTt(this,e),this._disableRender))return;this._useLogDepth!==e.useLogDepth&&(this._useLogDepth=e.useLogDepth,this._shaderDirty=!0),TTt(this,e)&&(this._shaderDirty=!0);let u=s.leafNodeTexture,f=this._uniforms;l(u)&&(f.octreeLeafNodeTexture=s.leafNodeTexture,f.octreeLeafNodeTexelSizeUv=z.clone(s.leafNodeTexelSizeUv,f.octreeLeafNodeTexelSizeUv),f.octreeLeafNodeTilesPerRow=s.leafNodeTilesPerRow),this._shaderDirty&&(y3(this,n),this._shaderDirty=!1);let d=n.uniformState.viewProjection,p=o.orientedBoundingBox,g=ETt(p,d,tTt);if(g.x===1||g.y===1||g.z===-1||g.w===-1)return;f.ndcSpaceAxisAlignedBoundingBox=ie.clone(g,f.ndcSpaceAxisAlignedBoundingBox);let x=n.uniformState.inverseView;f.transformPositionViewToUv=F.multiplyTransformation(this._transformPositionWorldToUv,x,f.transformPositionViewToUv);let b=n.uniformState.view;f.transformPositionUvToView=F.multiplyTransformation(b,this._transformPositionUvToWorld,f.transformPositionUvToView);let T=n.uniformState.inverseViewRotation;f.transformDirectionViewToLocal=$.multiply(this._transformDirectionWorldToLocal,T,f.transformDirectionViewToLocal),f.transformNormalLocalToWorld=$.clone(this._transformNormalLocalToWorld,f.transformNormalLocalToWorld);let A=e.camera.positionWC;f.cameraPositionUv=F.multiplyByPoint(this._transformPositionWorldToUv,A,f.cameraPositionUv),f.stepSize=this._stepSizeMultiplier;let C=e.passes.pick?this._drawCommandPick:e.passes.pickVoxel?this._drawCommandPickVoxel:this._drawCommand;C.boundingVolume=o.boundingSphere,e.commandList.push(C)};var fTt=new h,JZ=new h,dTt=new fe,hTt=new h;function mTt(e,t){if(e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e.shape===Vi.ELLIPSOID){let n=t.verticalExaggerationRelativeHeight,i=t.verticalExaggeration;e._exaggeratedMinBounds.z=(e._minBounds.z-n)*i+n,e._exaggeratedMaxBounds.z=(e._maxBounds.z-n)*i+n}else if(e.shape===Vi.BOX){let n=h.fromElements(1,1,t.verticalExaggeration,fTt);e._exaggeratedModelMatrix=F.multiplyByScale(e._modelMatrix,n,e._exaggeratedModelMatrix),e._exaggeratedModelMatrix=F.multiplyByTranslation(e._exaggeratedModelMatrix,pTt(e,t),e._exaggeratedModelMatrix)}}function pTt(e,t){let{shapeTransform:n=F.IDENTITY,globalTransform:i=F.IDENTITY}=e._provider,o=F.getTranslation(n,JZ),r=F.multiplyByPoint(e._modelMatrix,o,JZ),s=F.multiplyByPoint(i,r,JZ),c=ee.WGS84.cartesianToCartographic(s,dTt),u=0;l(c)&&(u=c.height);let f=Dr.getHeight(u,t.verticalExaggeration,t.verticalExaggerationRelativeHeight);return h.fromElements(0,0,(f-u)/t.verticalExaggeration,hTt)}function _Tt(e,t,n){let i=e._uniforms;e._pickId=n.createPickId({primitive:e}),i.pickColor=H.clone(e._pickId.color,i.pickColor);let{shaderDefines:o,shaderUniforms:r}=e._shape;e._shapeDefinesOld=He(o,!0);let s=e._uniformMap;for(let a in r)if(r.hasOwnProperty(a)){let c=`u_${a}`;s[c]=function(){return r[a]}}i.dimensions=h.clone(t.dimensions,i.dimensions),e._paddingBefore=h.clone(y(t.paddingBefore,h.ZERO),e._paddingBefore),i.paddingBefore=h.clone(e._paddingBefore,i.paddingBefore),e._paddingAfter=h.clone(y(t.paddingAfter,h.ZERO),e._paddingBefore),i.paddingAfter=h.clone(e._paddingAfter,i.paddingAfter),e._traversal=gTt(e,t,n),yTt(e._traversal,i)}function XCe(e,t){let n=y(t.shapeTransform,F.IDENTITY),i=y(t.globalTransform,F.IDENTITY);return F.multiplyTransformation(i,e._exaggeratedModelMatrix,e._compoundModelMatrix),F.multiplyTransformation(e._compoundModelMatrix,n,e._compoundModelMatrix),xC(e,"_compoundModelMatrix","_compoundModelMatrixOld")+xC(e,"_minBounds","_minBoundsOld")+xC(e,"_maxBounds","_maxBoundsOld")+xC(e,"_exaggeratedMinBounds","_exaggeratedMinBoundsOld")+xC(e,"_exaggeratedMaxBounds","_exaggeratedMaxBoundsOld")+xC(e,"_minClippingBounds","_minClippingBoundsOld")+xC(e,"_maxClippingBounds","_maxClippingBoundsOld")>0}function xC(e,t,n){let i=e[t],o=e[n],r=!i.equals(o);return r&&i.clone(o),r?1:0}function KCe(e,t,n){if(!t.update(e._compoundModelMatrix,e._exaggeratedMinBounds,e._exaggeratedMaxBounds,e.minClippingBounds,e.maxClippingBounds))return!1;let o=t.shapeTransform,r=F.inverse(o,sTt),s=F.getRotation(o,oTt),a=F.getScale(o,nTt),c=h.maximumComponent(a),u=h.divideByScalar(a,c,iTt),f=$.multiplyByScale(s,u,rTt);return e._transformPositionWorldToUv=F.multiplyTransformation(lTt,r,e._transformPositionWorldToUv),e._transformPositionUvToWorld=F.multiplyTransformation(o,uTt,e._transformPositionUvToWorld),e._transformDirectionWorldToLocal=F.getMatrix3(r,e._transformDirectionWorldToLocal),e._transformNormalLocalToWorld=$.inverseTranspose(f,e._transformNormalLocalToWorld),!0}function gTt(e,t,n){let i=h.clone(t.dimensions,Jbt);h.add(i,e._paddingBefore,i),h.add(i,e._paddingAfter,i);let o=t.maximumTileCount,r=l(o)?Pv.getApproximateTextureMemoryByteLength(o,i,t.types,t.componentTypes):void 0,s=y(t.keyframeCount,1);return new Pv(e,n,i,t.types,t.componentTypes,s,r)}function yTt(e,t){t.octreeInternalNodeTexture=e.internalNodeTexture,t.octreeInternalNodeTexelSizeUv=z.clone(e.internalNodeTexelSizeUv,t.octreeInternalNodeTexelSizeUv),t.octreeInternalNodeTilesPerRow=e.internalNodeTilesPerRow;let n=e.megatextures,i=n[0],o=n.length;t.megatextureTextures=new Array(o);for(let r=0;r<o;r++)t.megatextureTextures[r]=n[r].texture;t.megatextureSliceDimensions=z.clone(i.sliceCountPerRegion,t.megatextureSliceDimensions),t.megatextureTileDimensions=z.clone(i.regionCountPerMegatexture,t.megatextureTileDimensions),t.megatextureVoxelSizeUv=z.clone(i.voxelSizeUv,t.megatextureVoxelSizeUv),t.megatextureSliceSizeUv=z.clone(i.sliceSizeUv,t.megatextureSliceSizeUv),t.megatextureTileSizeUv=z.clone(i.regionSizeUv,t.megatextureTileSizeUv)}function xTt(e,t){let n=t.shaderDefines,i=Object.keys(n).some(o=>n[o]!==e._shapeDefinesOld[o]);return i&&(e._shapeDefinesOld=He(n,!0)),i}function bTt(e,t){if(!l(e)||!l(t))return 0;let n=t.currentTime,i,o=e.indexOf(n);o>=0?i=e.get(o):(o=~o,o===e.length?(o=e.length-1,i=e.get(o),n=i.stop):(i=e.get(o),n=i.start));let r=K.secondsDifference(i.stop,i.start),a=K.secondsDifference(n,i.start)/r;return o+a}function TTt(e,t){let n=e.clippingPlanes;if(!l(n))return!1;n.update(t);let{clippingPlanesState:i,enabled:o}=n;if(o){let r=e._uniforms;r.clippingPlanesTexture=n.texture,r.clippingPlanesMatrix=F.transpose(F.multiplyTransformation(F.inverse(n.modelMatrix,r.clippingPlanesMatrix),e._transformPositionUvToWorld,r.clippingPlanesMatrix),r.clippingPlanesMatrix)}return e._clippingPlanesState===i&&e._clippingPlanesEnabled===o?!1:(e._clippingPlanesState=i,e._clippingPlanesEnabled=o,!0)}sp.prototype.isDestroyed=function(){return!1};sp.prototype.destroy=function(){let e=this._drawCommand;l(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy());let t=this._drawCommandPick;return l(t)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),ue(this)};var YCe=new Array(new ie(-1,-1,-1,1),new ie(1,-1,-1,1),new ie(-1,1,-1,1),new ie(1,1,-1,1),new ie(-1,-1,1,1),new ie(1,-1,1,1),new ie(-1,1,1,1),new ie(1,1,1,1)),CTt=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),ATt=new Array(new ie,new ie,new ie,new ie,new ie,new ie,new ie,new ie);function ETt(e,t,n){let i=F.fromRotationTranslation(e.halfAxes,e.center,aTt),o=F.multiply(t,i,cTt),r=+Number.MAX_VALUE,s=-Number.MAX_VALUE,a=+Number.MAX_VALUE,c=-Number.MAX_VALUE,u,f=ATt,d=YCe.length;for(u=0;u<d;u++)F.multiplyByVector(o,YCe[u],f[u]);for(u=0;u<d;u++){let p=f[u];if(p.z>=-p.w){let g=p.x/p.w,m=p.y/p.w;r=Math.min(r,g),s=Math.max(s,g),a=Math.min(a,m),c=Math.max(c,m)}else for(let g=0;g<3;g++){let m=CTt[u*3+g],x=f[m];if(x.z>=-x.w){let b=p.z+p.w,T=x.z+x.w,A=b/(b-T),C=ie.lerp(p,x,A,eTt),E=C.x/C.w,v=C.y/C.w;r=Math.min(r,E),s=Math.max(s,E),a=Math.min(a,v),c=Math.max(c,v)}}}return r=P.clamp(r,-1,1),a=P.clamp(a,-1,1),s=P.clamp(s,-1,1),c=P.clamp(c,-1,1),n=ie.fromElements(r,a,s,c,n),n}var e$=3e7,STt=new h(e$,0,0),vTt=new h(0,e$,0),wTt=new h(0,0,e$);function DTt(e,t){let n=e._traversal,i=e._debugPolylines;i.removeAll();function o(c,u,f,d){i.add({positions:[c,u],width:d,material:Yi.fromType("Color",{color:f})})}function r(c,u,f){let d=c.computeCorners();o(d[0],d[1],u,f),o(d[2],d[3],u,f),o(d[4],d[5],u,f),o(d[6],d[7],u,f),o(d[0],d[2],u,f),o(d[4],d[6],u,f),o(d[1],d[3],u,f),o(d[5],d[7],u,f),o(d[0],d[4],u,f),o(d[2],d[6],u,f),o(d[1],d[5],u,f),o(d[3],d[7],u,f)}function s(c){if(!n.isRenderable(c))return;let u=c.level,d=Math.max(1,5/Math.pow(2,u)),g=[H.RED,H.LIME,H.BLUE][u%3];if(r(c.orientedBoundingBox,g,d),l(c.children))for(let m=0;m<8;m++)s(c.children[m])}r(e._shape.orientedBoundingBox,H.WHITE,5),s(n.rootNode);let a=10;o(h.ZERO,STt,H.RED,a),o(h.ZERO,vTt,H.LIME,a),o(h.ZERO,wTt,H.BLUE,a),i.update(t)}sp.DefaultCustomShader=new yC({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { - vec4 color = texture(u_texture, v_textureCoordinates); - out_FragColor = czm_gammaCorrect(color); -} -`;var L3=`uniform float u_radiusTS; - -in vec2 v_textureCoordinates; - -vec2 rotate(vec2 p, vec2 direction) + material.diffuse = vec3(1.0); + material.alpha = 1.0; +}`});function ZCe(){this.ready=!0,this.shape=Vi.BOX,this.dimensions=new h(1,1,1),this.names=["data"],this.types=[dt.SCALAR],this.componentTypes=[Ut.FLOAT32],this.maximumTileCount=1}ZCe.prototype.requestData=function(e){if(!((l(e)?y(e.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};sp.DefaultProvider=new ZCe;var j0=sp;function ITt(e,t,n,i){if(!l(e)||l(t)&&e.id!==t)return;let r=(e.classes||{})[n];if(!l(r))return;let a=(r.properties||{})[i];if(l(a))return a}var A3=ITt;function PTt(e,t,n,i,o){this.schemaId=e,this.className=t,this.propertyName=n,this.classProperty=i,this.metadataProperty=o}var E3=PTt;function RTt(e,t,n){if(!l(e))return;let i=e.propertyTextures;for(let o of i)if(o.class.id===t){let a=o.properties[n];if(l(a))return a}}var S3=RTt;var wG=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function ui(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=He(e.contextOptions),r=l(n),s=new dP(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),l(i)||(i=t.parentNode),this._id=Wn(),this._jobScheduler=new aB,this._frameState=new rB(s,new J2(n,"\u2022",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new yw(s),this._ellipsoid=y(e.ellipsoid,ee.default),this._globe=void 0,this._globeTranslucencyState=new sB,this._primitives=new Ul,this._groundPrimitives=new Ul,this._globeHeight=void 0,this._globeHeightDirty=!0,this._cameraUnderground=!1,this._removeUpdateHeightCallback=void 0,this._logDepthBuffer=ui.defaultLogDepthBuffer&&s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new dC,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new nB(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new ni({color:new H,stencil:0,owner:this}),this._depthClearCommand=new ni({depth:1,owner:this}),this._stencilClearCommand=new ni({stencil:0}),this._classificationStencilClearCommand=new ni({stencil:0,renderState:Ve.fromCache({stencilMask:zt.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new jB(this),this._preUpdate=new me,this._postUpdate=new me,this._renderError=new me,this._preRender=new me,this._postRender=new me,this._minimumDisableDepthTestDistance=0,this._debugInspector=new e3,this._msaaSamples=y(e.msaaSamples,4),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new me,this.morphComplete=new me,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=H.clone(H.BLACK),this._mode=ne.SCENE3D,this._mapProjection=l(e.mapProjection)?e.mapProjection:new Ri(this._ellipsoid),this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.atmosphere=new xb,this.fog=new oB,this.fog.enabled=ee.WGS84.equals(this._ellipsoid),ee.WGS84.equals(this._ellipsoid)||(uo.DEFAULT_VIEW_RECTANGLE=ae.fromDegrees(-45,-45,45,45)),this._shadowMapCamera=new uo(this),this.shadowMap=new yg({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=H.clone(H.WHITE),this._actualInvertClassificationColor=H.clone(this._invertClassificationColor),this._invertClassification=new Av,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new GB,this._brdfLutGenerator=new Y2,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new KB(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,$l.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=tc.requestCompletedEvent.addEventListener(wG(this)),this._removeTaskProcessorListenerCallback=bi.taskCompletedEvent.addEventListener(wG(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let a=new We(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new uo(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new uo(this),this.preloadFlightCullingVolume=void 0,this._picking=new TB(this),this._defaultView=new rC(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentCubeMap=void 0,this.light=new vp,tAe(this,0,K.now()),this.updateFrameState(),this.initializeFrame()}ui.defaultLogDepthBuffer=!0;function OTt(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];l(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener(wG(e))),n.push(t.terrainProviderChanged.addEventListener(wG(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(ui.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return Ft.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return Ft.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return kd.isSupported(this._context)}},ellipsoid:{get:function(){return this._ellipsoid}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,OTt(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(l(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(l(this.globe))return this.globe.terrainProvider},set:function(e){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),l(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(l(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===ne.SCENE2D?this.morphTo2D(0):e===ne.SCENE3D?this.morphTo3D(0):e===ne.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new uo(this),l(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new iB(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,Ft.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});ui.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function MTt(e,t){let n=e.pickedMetadataInfo,i=t.pickedMetadataInfo;return n?.schemaId!==i?.schemaId||n?.className!==i?.className||n?.propertyName!==i?.propertyName}function $Ce(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,{lightShadowMaps:s,lightShadowsEnabled:a}=i.shadowState,c=t.derivedCommands;l(t.pickId)&&(c.picking=$m.createPickDerivedCommand(e,t,o,c.picking)),i.pickingMetadata&&t.pickMetadataAllowed&&(t.pickedMetadataInfo=i.pickedMetadataInfo,l(t.pickedMetadataInfo)&&(c.pickingMetadata=$m.createPickMetadataDerivedCommand(e,t,o,c.pickingMetadata))),t.pickOnly||(c.depth=$m.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=$m.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=yg.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===ve.TRANSLUCENT&&l(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=l(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}ui.prototype.updateDerivedCommands=function(e){let{derivedCommands:t}=e;if(!l(t))return;let n=this._frameState,{shadowState:i,useLogDepth:o}=this._frameState,r=this._context,s=!1,a=i.lastDirtyTime;e.lastDirtyTime!==a&&(e.lastDirtyTime=a,e.dirty=!0,s=!0);let c=this._hdr,u=l(t.logDepth),f=l(t.hdr),d=l(t.originalCommand),p=o&&!u,g=c&&!f,m=(!o||!c)&&!d,x=n.pickingMetadata&&MTt(e,n);if(e.dirty=e.dirty||p||g||m||x,!e.dirty)return;e.dirty=!1;let{shadowsEnabled:b,shadowMaps:T}=i;b&&e.castShadows&&(t.shadows=yg.createCastDerivedCommand(T,e,s,r,t.shadows)),(u||p)&&(t.logDepth=$m.createLogDepthCommand(e,r,t.logDepth),$Ce(this,t.logDepth.command,s)),(d||m)&&$Ce(this,e,s)};var LTt=new fd({pass:zo.RENDER}),t$=new fd({pass:zo.PRELOAD}),n$=new fd({pass:zo.PRELOAD_FLIGHT}),NTt=new fd({pass:zo.REQUEST_RENDER_MODE_DEFER_CHECK}),QCe=new ce,i$;function FTt(e){if(!(e._mode!==ne.SCENE3D||!e.globe?.show||e._cameraUnderground||e._globeTranslucencyState.translucent))return QCe.radius=e.ellipsoid.minimumRadius+e.frameState.minimumTerrainHeight,i$=jF.fromBoundingSphere(QCe,e.camera.positionWC,i$),i$}ui.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.pickVoxel=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function tAe(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=K.clone(n,i.time)}ui.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=FTt(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof cn||this.camera.frustum instanceof Ur),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState;let{globe:n}=this;l(n)&&n._terrainExaggerationChanged&&(this.verticalExaggeration=n._terrainExaggeration,this.verticalExaggerationRelativeHeight=n._terrainExaggerationRelativeHeight,n._terrainExaggerationChanged=!1),t.verticalExaggeration=this.verticalExaggeration,t.verticalExaggerationRelativeHeight=this.verticalExaggerationRelativeHeight,l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready?(t.specularEnvironmentMaps=this._specularEnvironmentCubeMap.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentCubeMap.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=H.clone(this.invertClassificationColor,this._actualInvertClassificationColor),Av.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,l(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};ui.prototype.isVisible=function(e,t,n){if(!l(t))return!1;let{boundingVolume:i}=t;return!l(i)||!t.cull?!0:e.computeVisibility(i)===qt.OUTSIDE?!1:!l(n)||!t.occlude||!i.isOccluded(n)};var vG=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);vG=F.inverseTransformation(vG,vG);function BTt(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;l(t._debugVolume)&&t._debugVolume.destroy();let a=h.clone(s.center);if(o.mode!==ne.SCENE3D){a=F.multiplyByPoint(vG,a,a);let m=o.mapProjection,x=m.unproject(a);a=m.ellipsoid.cartographicToCartesian(x)}let c,u,{radius:f}=s;l(f)?(c=ia.createGeometry(new ia({radii:new h(f,f,f),vertexFormat:fn.FLAT_VERTEX_FORMAT})),u=F.fromTranslation(a)):(c=Ra.createGeometry(Ra.fromDimensions({dimensions:new h(2,2,2),vertexFormat:fn.FLAT_VERTEX_FORMAT})),u=F.fromRotationTranslation(s.halfAxes,a,new F)),t._debugVolume=new Pn({geometryInstances:new It({geometry:Fn.toWireframe(c),modelMatrix:u,attributes:{color:new Wt(1,0,0,1)}}),appearance:new fn({flat:!0,translucent:!1}),asynchronous:!1});let d=o.commandList,p=o.commandList=[];t._debugVolume.update(o),e=p[0],o.useLogDepth&&(e=$m.createLogDepthCommand(e,r).command);let g;l(i)&&(g=n.framebuffer,n.framebuffer=i),e.execute(r,n),l(g)&&(n.framebuffer=g),o.commandList=d}function ap(e,t,n,i){let o=t._frameState,r=t._context;if(l(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof ni){e.execute(r,n);return}e.debugShowBoundingVolume&&l(e.boundingVolume)&&BTt(e,t,n,i),o.useLogDepth&&l(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=o.passes;if(!s.pick&&!s.pickVoxel&&!s.depth&&t._hdr&&l(e.derivedCommands)&&l(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth){if(o.pickingMetadata&&l(e.derivedCommands.pickingMetadata)){e=e.derivedCommands.pickingMetadata.pickMetadataCommand,e.execute(r,n);return}if(!o.pickingMetadata&&l(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(r,n);return}}else if(l(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(r,n);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,n);return}o.shadowState.lightShadowsEnabled&&e.receiveShadows&&l(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(r,n):e.execute(r,n)}function JCe(e,t,n){let{derivedCommands:i}=e;if(!l(i))return;let o=t._frameState,r=t._context;o.useLogDepth&&l(i.logDepth)&&(e=i.logDepth.command);let{picking:s,pickingMetadata:a,depth:c}=e.derivedCommands;l(a)&&(e=i.pickingMetadata.pickMetadataCommand,e.execute(r,n)),l(s)?(e=s.pickCommand,e.execute(r,n)):l(c)&&(e=c.depthOnlyCommand,e.execute(r,n))}function nAe(e,t,n){return t.boundingVolume?.distanceSquaredTo(n)-e.boundingVolume?.distanceSquaredTo(n)}function kTt(e,t,n){return e.boundingVolume?.distanceSquaredTo(n)-t.boundingVolume?.distanceSquaredTo(n)+P.EPSILON12}function VTt(e,t,n,i,o){cg(i,nAe,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function UTt(e,t,n,i,o){cg(i,kTt,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function zTt(e,t,n){e.context.uniformState.updatePass(ve.VOXELS);let i=n.commands[ve.VOXELS];i.length=n.indices[ve.VOXELS],cg(i,nAe,e.camera.positionWC);for(let o=0;o<i.length;++o)ap(i[o],e,t)}var HTt=new Pi,GTt=new fl,WTt=new cn,jTt=new Ur;function qTt(e){let{frustum:t}=e;return l(t.fov)?t.clone(HTt):l(t.infiniteProjectionMatrix)?t.clone(GTt):l(t.width)?t.clone(WTt):t.clone(jTt)}function YTt(e){if(e._environmentState.useOIT){if(!l(e._executeOITFunction)){let{view:t,context:n}=e;e._executeOITFunction=function(i,o,r,s,a){t.globeDepth.prepareColorTextures(n),t.oit.executeCommands(i,o,r,s,a)}}return e._executeOITFunction}return e.frameState.passes.render?VTt:UTt}function XTt(e,t,n){let{frameState:i,context:o}=e,{pick:r,pickVoxel:s}=i.passes,a=r||s,c;!a&&e._environmentState.useInvertClassification&&i.invertClassificationColor.alpha<1&&(c=e._invertClassification);let u=YTt(e);o.uniformState.updatePass(ve.TRANSLUCENT);let f=n.commands[ve.TRANSLUCENT];f.length=n.indices[ve.TRANSLUCENT],u(e,ap,t,f,c)}function KTt(e,t,n){let{translucentTileClassification:i,globeDepth:o}=e._view;if(!(n.indices[ve.CESIUM_3D_TILE_CLASSIFICATION]>0)||!i.isSupported())return;let s=n.commands[ve.TRANSLUCENT];i.executeTranslucentCommands(e,ap,t,s,o.depthStencilTexture),i.executeClassificationCommands(e,ap,t,n)}function r$(e,t){let{camera:n,context:i,frameState:o}=e,{uniformState:r}=i;r.updateCamera(n);let s=qTt(n);s.near=n.frustum.near,s.far=n.frustum.far;let a=o.passes,c=a.pick||a.pickVoxel;c||ZTt(e,t);let{clearGlobeDepth:u,renderTranslucentDepthForPick:f,useDepthPlane:d,useGlobeDepthFramebuffer:p,useInvertClassification:g,usePostProcessSelected:m}=e._environmentState,{globeDepth:x,globeTranslucencyFramebuffer:b,sceneFramebuffer:T,frustumCommandsList:A}=e._view,C=A.length,E=e._globeTranslucencyState,v=e._depthClearCommand,D=e._stencilClearCommand,O=e._classificationStencilClearCommand,R=e._depthPlane,M=n.position.z;function N(S,w){r.updatePass(w);let I=S.commands[w],L=S.indices[w];for(let B=0;B<L;++B)ap(I[B],e,t);return L}function _(S,w){r.updatePass(w);let I=S.commands[w],L=S.indices[w];for(let B=0;B<L;++B)JCe(I[B],e,t)}for(let S=0;S<C;++S){let w=C-S-1,I=A[w];e.mode===ne.SCENE2D?(n.position.z=M-I.near+1,s.far=Math.max(1,I.far-I.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=w!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s)),v.execute(i,t),i.stencilBuffer&&D.execute(i,t),E.translucent?(r.updatePass(ve.GLOBE),E.executeGlobeCommands(I,ap,b,e,t)):N(I,ve.GLOBE),p&&x.executeCopyDepth(i,t),f||(E.translucent?(r.updatePass(ve.TERRAIN_CLASSIFICATION),E.executeGlobeClassificationCommands(I,ap,b,e,t)):N(I,ve.TERRAIN_CLASSIFICATION)),u&&(v.execute(i,t),d&&R.execute(i,t));let L;if(!g||c||f)L=N(I,ve.CESIUM_3D_TILE),L>0&&(p&&(x.prepareColorTextures(i,u),x.executeUpdateDepth(i,t,x.depthStencilTexture)),f||(L=N(I,ve.CESIUM_3D_TILE_CLASSIFICATION)));else{e._invertClassification.clear(i,t);let U=t.framebuffer;t.framebuffer=e._invertClassification._fbo.framebuffer,L=N(I,ve.CESIUM_3D_TILE),p&&(e._invertClassification.prepareTextures(i),x.executeUpdateDepth(i,t,e._invertClassification._fbo.getDepthStencilTexture())),L=N(I,ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),t.framebuffer=U,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),L>0&&i.stencilBuffer&&O.execute(i,t),L=N(I,ve.CESIUM_3D_TILE_CLASSIFICATION)}if(L>0&&i.stencilBuffer&&D.execute(i,t),zTt(e,t,I),N(I,ve.OPAQUE),w!==0&&e.mode!==ne.SCENE2D&&(s.near=I.near,r.updateFrustum(s)),XTt(e,t,I),KTt(e,t,I),i.depthTexture&&e.useDepthPicking&&(p||f)){let U=e._picking.getPickDepth(e,w);U.update(i,x.depthStencilTexture),U.executeCopyDepth(i,t)}if(c||!m)continue;let B=t.framebuffer;t.framebuffer=T.getIdFramebuffer(),s.near=w!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s),E.translucent?(r.updatePass(ve.GLOBE),E.executeGlobeCommands(I,JCe,b,e,t)):_(I,ve.GLOBE),u&&(v.framebuffer=t.framebuffer,v.execute(i,t),v.framebuffer=void 0),u&&d&&R.execute(i,t),_(I,ve.CESIUM_3D_TILE),_(I,ve.OPAQUE),_(I,ve.TRANSLUCENT),t.framebuffer=B}}function ZTt(e,t){let{context:n,environmentState:i,view:o}=e;if(n.uniformState.updatePass(ve.ENVIRONMENT),l(i.skyBoxCommand)&&ap(i.skyBoxCommand,e,t),i.isSkyAtmosphereVisible&&ap(i.skyAtmosphereCommand,e,t),i.isSunVisible&&(i.sunDrawCommand.execute(n,t),e.sunBloom&&!i.useWebVR)){let r;i.useGlobeDepthFramebuffer?r=o.globeDepth.framebuffer:i.usePostProcess?r=o.sceneFramebuffer.framebuffer:r=i.originalFramebuffer,e._sunPostProcess.execute(n),e._sunPostProcess.copy(n,r),t.framebuffer=r}i.isMoonVisible&&i.moonCommand.execute(n,t)}function iAe(e){e.context.uniformState.updatePass(ve.COMPUTE);let t=e._environmentState.sunComputeCommand;l(t)&&t.execute(e._computeEngine);let n=e._computeCommandList;for(let i=0;i<n.length;++i)n[i].execute(e._computeEngine)}function $Tt(e,t){e.context.uniformState.updatePass(ve.OVERLAY);let n=e.context,i=e._overlayCommandList;for(let o=0;o<i.length;++o)i[o].execute(n,t)}function QTt(e,t,n){let{shadowMapCullingVolume:i,isPointLight:o,passes:r}=n,s=r.length,a=[ve.GLOBE,ve.CESIUM_3D_TILE,ve.OPAQUE,ve.TRANSLUCENT];for(let c=0;c<t.length;++c){let u=t[c];if(e.updateDerivedCommands(u),!(!u.castShadows||a.indexOf(u.pass)<0||!e.isVisible(i,u)))if(o)for(let f=0;f<s;++f)r[f].commandList.push(u);else if(s===1)r[0].commandList.push(u);else{let f=!1;for(let d=s-1;d>=0;--d){let p=r[d].cullingVolume;if(e.isVisible(p,u))r[d].commandList.push(u),f=!0;else if(f)break}}}}function oAe(e){let{shadowState:t,commandList:n}=e.frameState,{shadowsEnabled:i,shadowMaps:o}=t;if(!i)return;let{context:r}=e,{uniformState:s}=r;for(let a=0;a<o.length;++a){let c=o[a];if(c.outOfView)continue;let{passes:u}=c;for(let f=0;f<u.length;++f)u[f].commandList.length=0;QTt(e,n,c);for(let f=0;f<u.length;++f){let d=c.passes[f],{camera:p,commandList:g}=d;s.updateCamera(p),c.updatePass(r,f);for(let m=0;m<g.length;++m){let x=g[m];s.updatePass(x.pass);let b=x.derivedCommands.shadows.castCommands[a];ap(b,e,d.passState)}}}}var JTt=new h;ui.prototype.updateAndExecuteCommands=function(e,t){dCt(this,e,t),this._environmentState.useWebVR?eCt(this,e,t):this._frameState.mode!==ne.SCENE2D||this._mapMode2D===$l.ROTATE?q0(!0,this,e):lCt(this,e)};function eCt(e,t){let n=e._view,i=n.camera,r=e._environmentState.renderTranslucentDepthForPick;rAe(e),n.createPotentiallyVisibleSet(e),iAe(e),r||oAe(e);let s=t.viewport;s.x=0,s.y=0,s.width=s.width*.5;let a=uo.clone(i,e._cameraVR);a.frustum=i.frustum;let c=i.frustum.near,u=c*y(e.focalLength,5),f=y(e.eyeSeparation,u/30),d=h.multiplyByScalar(a.right,f*.5,JTt);i.frustum.aspectRatio=s.width/s.height;let p=.5*f*c/u;h.add(a.position,d,i.position),i.frustum.xOffset=p,r$(e,t),s.x=s.width,h.subtract(a.position,d,i.position),i.frustum.xOffset=-p,r$(e,t),uo.clone(a,i)}var tCt=new fe(Math.PI,P.PI_OVER_TWO),nCt=new h,iCt=new h,oCt=new F,rCt=new F,sCt=new h,aCt=new h,cCt=new We;function lCt(e,t){let{frameState:n,camera:i}=e,{uniformState:o}=e.context,r=t.viewport,s=We.clone(r,cCt);t.viewport=s;let a=tCt,c=nCt;e.mapProjection.project(a,c);let f=h.clone(i.position,iCt),d=F.clone(i.transform,rCt),p=i.frustum.clone();i._setTransform(F.IDENTITY);let g=F.computeViewportTransformation(s,0,1,oCt),m=i.frustum.projectionMatrix,x=i.positionWC.y,b=h.fromElements(P.sign(x)*c.x-x,0,-i.positionWC.x,sCt),T=Lt.pointToGLWindowCoordinates(m,g,b,aCt);T.x=Math.floor(T.x);let A=s.x,C=s.width;if(x===0||T.x<=A||T.x>=A+C)q0(!0,e,t);else if(Math.abs(A+C*.5-T.x)<1)s.width=T.x-s.x,i.position.x*=P.sign(i.position.x),i.frustum.right=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),q0(!0,e,t),s.x=T.x,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),q0(!1,e,t);else if(T.x>A+C*.5){s.width=T.x-A;let E=i.frustum.right;i.frustum.right=c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),q0(!0,e,t),s.x=T.x,s.width=A+C-T.x,i.position.x=-i.position.x,i.frustum.left=-i.frustum.right,i.frustum.right=E-i.frustum.right*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),q0(!1,e,t)}else{s.x=T.x,s.width=A+C-T.x;let E=i.frustum.left;i.frustum.left=-c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),q0(!0,e,t),s.x=A,s.width=T.x-A,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=E-i.frustum.left*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),q0(!1,e,t)}i._setTransform(d),h.clone(f,i.position),i.frustum=p.clone(),t.viewport=r}function q0(e,t,n){let i=t._view,{renderTranslucentDepthForPick:o}=t._environmentState;e||(t.frameState.commandList.length=0),rAe(t),i.createPotentiallyVisibleSet(t),e&&(iAe(t),o||oAe(t)),r$(t,n)}var eAe=new bs;ui.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.atmosphere,s=this.skyAtmosphere,a=this.globe,c=this._globeTranslucencyState;if(!i||this._mode!==ne.SCENE2D&&t.camera.frustum instanceof cn||!c.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{if(l(s)){if(l(a))s.setDynamicLighting(n_.fromGlobeFlags(a)),n.isReadyForAtmosphere=n.isReadyForAtmosphere||!a.show||a._surface._tilesToRender.length>0;else{let T=r.dynamicLighting;s.setDynamicLighting(T),n.isReadyForAtmosphere=!0}n.skyAtmosphereCommand=s.update(e,a),l(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)}else n.skyAtmosphereCommand=void 0;n.skyBoxCommand=l(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let b=l(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=l(b)?b.drawCommand:void 0,n.sunComputeCommand=l(b)?b.computeCommand:void 0,n.moonCommand=l(this.moon)?this.moon.update(e):void 0}let u=n.clearGlobeDepth=l(a)&&a.show&&(!a.depthTestAgainstTerrain||this.mode===ne.SCENE2D);(n.useDepthPlane=u&&this.mode===ne.SCENE3D&&c.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==ne.SCENE2D&&!o;let d=e.mode===ne.SCENE3D&&!c.sunVisibleThroughGlobe?e.occluder:void 0,p=e.cullingVolume,g=eAe.planes;for(let b=0;b<5;++b)g[b]=p.planes[b];p=eAe,n.isSkyAtmosphereVisible=l(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(p,n.sunDrawCommand,d),n.isMoonVisible=this.isVisible(p,n.moonCommand,d);let m=this.specularEnvironmentMaps,x=this._specularEnvironmentCubeMap;l(m)&&x?.url!==m?(x=x&&x.destroy(),this._specularEnvironmentCubeMap=new kd(m)):!l(m)&&l(x)&&(x.destroy(),this._specularEnvironmentCubeMap=void 0),l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.update(e)};function uCt(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new Zm({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),l(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function fCt(e){let t=e._frameState,{passes:n,shadowState:i,shadowMaps:o}=t,r=o.length,s=r>0&&!n.pick&&!n.pickVoxel&&e.mode===ne.SCENE3D;if(s!==i.shadowsEnabled&&(++i.lastDirtyTime,i.shadowsEnabled=s),i.lightShadowsEnabled=!1,!!s){for(let a=0;a<r;++a)if(o[a]!==i.shadowMaps[a]){++i.lastDirtyTime;break}i.shadowMaps.length=0,i.lightShadowMaps.length=0;for(let a=0;a<r;++a){let c=o[a];c.update(t),i.shadowMaps.push(c),c.fromLightSource&&(i.lightShadowMaps.push(c),i.lightShadowsEnabled=!0),c.dirty&&(++i.lastDirtyTime,c.dirty=!1)}}}function rAe(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),uCt(e),fCt(e),e._globe&&e._globe.render(t)}function dCt(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,a=o.passes,c=a.pick||a.pickVoxel;l(s.globeDepth)&&(s.globeDepth.picking=c);let u=r.useWebVR;r.originalFramebuffer=t.framebuffer,l(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!u?e._sunPostProcess=new QB:l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!l(e.sun)&&l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let f=e._clearColorCommand;H.clone(n,f.color),f.execute(i,t);let d=r.useGlobeDepthFramebuffer=l(s.globeDepth);d&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&l(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let m=e.postProcessStages,x=r.usePostProcess=!c&&(e._hdr||m.length>0||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);if(r.usePostProcessSelected=!1,x&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),m.update(i,o.useLogDepth,e._hdr),m.clear(i),x=r.usePostProcess=m.ready,r.usePostProcessSelected=x&&m.hasSelected),r.isSunVisible&&e.sunBloom&&!u?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):d?t.framebuffer=s.globeDepth.framebuffer:x&&(t.framebuffer=s.sceneFramebuffer.framebuffer),l(t.framebuffer)&&f.execute(i,t),r.useInvertClassification=!c&&l(t.framebuffer)&&e.invertClassification){let T;if(o.invertClassificationColor.alpha===1&&d&&(T=s.globeDepth.framebuffer),l(T)||i.depthTexture){if(e._invertClassification.previousFramebuffer=T,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),o.invertClassificationColor.alpha<1&&g){let A=e._invertClassification.unclassifiedCommand,C=A.derivedCommands;C.oit=p.createDerivedCommands(A,i,C.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}ui.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,{globeDepth:o,translucentTileClassification:r}=i;l(o)&&o.prepareColorTextures(t);let{useOIT:s,useGlobeDepthFramebuffer:a,usePostProcess:c,originalFramebuffer:u}=n,f=a?o.colorFramebufferManager:void 0,d=i.sceneFramebuffer._colorFramebuffer,p=i.sceneFramebuffer.idFramebuffer;if(s&&(e.framebuffer=c?d.framebuffer:u,i.oit.execute(t,e)),r.hasTranslucentDepth&&r.isSupported()&&r.execute(this,e),c){i.sceneFramebuffer.prepareColorTextures(t);let g=d;a&&!s&&(g=f);let m=this.postProcessStages,x=g.getColorTexture(0),b=p.getColorTexture(0),T=y(f,d).getDepthStencilTexture();m.execute(t,x,T,b),m.copy(t,u)}!s&&!c&&a&&(e.framebuffer=u,o.executeCopyColor(t,e))};function hCt(e){let t=e._frameState.afterRender;for(let n=0;n<t.length;++n)t[n]()&&e.requestRender();t.length=0}function mCt(e){if(e.mode===ne.MORPHING)return;let t=e.camera.positionCartographic;return e.getHeight(t)}ui.prototype.getHeight=function(e,t){if(!l(e))return;let n=t===qe.CLAMP_TO_TERRAIN||t===qe.RELATIVE_TO_TERRAIN,i=t===qe.CLAMP_TO_3D_TILE||t===qe.RELATIVE_TO_3D_TILE;if(!l(e))return;let o=Number.NEGATIVE_INFINITY;if(!n){let s=this.primitives.length;for(let a=0;a<s;++a){let c=this.primitives.get(a);if(!c.isCesium3DTileset||!c.show||!c.enableCollision)continue;let u=c.getHeight(e,this);l(u)&&u>o&&(o=u)}}let r=this._globe;if(!i&&l(r)&&r.show){let s=r.getHeight(e);s>o&&(o=s)}if(o>Number.NEGATIVE_INFINITY)return o};var o$=new fe;ui.prototype.updateHeight=function(e,t,n){let i=()=>{fe.clone(e,o$);let g=this.getHeight(e,n);l(g)&&(o$.height=g,t(o$))},o=n===qe.CLAMP_TO_TERRAIN||n===qe.RELATIVE_TO_TERRAIN,r=n===qe.CLAMP_TO_3D_TILE||n===qe.RELATIVE_TO_3D_TILE,s;!r&&l(this.globe)&&(s=this.globe._surface.updateHeight(e,i));let a={},c=this._ellipsoid,u=g=>{if(o||g.isDestroyed()||!g.isCesium3DTileset)return;let m=g.updateHeight(e,i,c);a[g.id]=m};if(!o){let g=this.primitives.length;for(let m=0;m<g;++m){let x=this.primitives.get(m);u(x)}}let f=this.primitives.primitiveAdded.addEventListener(u),d=this.primitives.primitiveRemoved.addEventListener(g=>{g.isDestroyed()||!g.isCesium3DTileset||(l(a[g.id])&&a[g.id](),delete a[g.id])});return()=>{s=s&&s(),Object.values(a).forEach(g=>g()),a={},f(),d()}};function pCt(e){let t=e.camera,n=e._mode,i=e._screenSpaceCameraController,o=t.positionCartographic;if(!l(o))return!1;if(!i.onMap()&&o.height<0)return!0;if(n===ne.SCENE2D||n===ne.MORPHING)return!1;let r=e._globeHeight;return l(r)&&o.height<r}ui.prototype.initializeFrame=function(){if(this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeightDirty){l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),this._globeHeight=mCt(this),this._globeHeightDirty=!1;let e=this.camera.positionCartographic;this._removeUpdateHeightCallback=this.updateHeight(e,t=>{this.isDestroyed()||(this._globeHeight=t.height)})}this._cameraUnderground=pCt(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),l(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function _Ct(e,t){if(e.debugShowFramesPerSecond){if(!l(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new pg({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else l(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function gCt(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),l(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function yCt(e){e.primitives.postPassesUpdate(e._frameState),tc.update()}var xCt=new H;function bCt(e){let t=e._frameState,n=e.context,{uniformState:i}=n,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=LTt;let r=y(e.backgroundColor,H.BLACK);e._hdr&&(r=H.clone(r,xCt),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,t.atmosphere=e.atmosphere,e.fog.update(t),i.update(t);let s=e.shadowMap;l(s)&&s.enabled&&(!l(e.light)||e.light instanceof vp?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=We.clone(a,c.viewport),l(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,$Tt(e,c),l(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function bC(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function TCt(e){return e._picking.updateMostDetailedRayPicks(e)}ui.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,l(e)||(e=K.now());let n=this._view.checkForCameraUpdates(this);n&&(this._globeHeightDirty=!0);let i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===ne.MORPHING;if(!i&&l(this.maximumRenderTimeChange)&&l(this._lastRenderTime)){let o=Math.abs(K.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=K.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=P.incrementWrap(t.frameNumber,15e6,1);tAe(this,o,e),t.newFrame=!0}bC(this,gCt),this.primitives.show&&(bC(this,TCt),bC(this,CCt),bC(this,ACt),i||bC(this,ECt)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),bC(this,bCt)),_Ct(this,i),bC(this,yCt),hCt(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};ui.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};ui.prototype.requestRender=function(){this._renderRequested=!0};ui.prototype.clampLineWidth=function(e){return Math.max(Ft.minimumAliasedLineWidth,Math.min(e,Ft.maximumAliasedLineWidth))};ui.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};ui.prototype.pickVoxel=function(e,t,n){let i=this.pick(e,t,n);if(!l(i))return;let o=i.primitive;if(!(o instanceof j0))return;let r=this._picking.pickVoxelCoordinate(this,e,t,n),s=255*r[0]+r[1],a=o._traversal.findKeyframeNode(s);if(!l(a))return;let c=255*r[2]+r[3];return t3.fromKeyframeNode(o,s,c,a)};ui.prototype.pickMetadata=function(e,t,n,i){let o=this.pick(e);if(!l(o))return;let r=o.detail?.model?.structuralMetadata;if(!l(r))return;let s=r.schema,a=A3(s,t,n,i);if(!l(a))return;let c=S3(r,n,i);if(!l(c))return;let u=new E3(t,n,i,a,c);return this._picking.pickMetadata(this,e,u)};ui.prototype.pickMetadataSchema=function(e){let t=this.pick(e);return l(t)?t.detail?.model?.structuralMetadata?.schema:void 0};ui.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};ui.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};ui.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function CCt(e){let t=e._frameState;t$.camera=t.camera,t$.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,t$)}function ACt(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;n$.camera=e.preloadFlightCamera,n$.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,n$)}function ECt(e){e.primitives.updateForPass(e._frameState,NTt)}ui.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};ui.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};ui.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};ui.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};ui.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};ui.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};ui.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};ui.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};ui.prototype.cartesianToCanvasCoordinates=function(e,t){return Hi.worldToWindowCoordinates(this,e,t)};ui.prototype.completeMorph=function(){this._transitioner.completeMorph()};ui.prototype.morphTo2D=function(e){e=y(e,2),this._transitioner.morphTo2D(e,this._ellipsoid)};ui.prototype.morphToColumbusView=function(e){e=y(e,2),this._transitioner.morphToColumbusView(e,this._ellipsoid)};ui.prototype.morphTo3D=function(e){e=y(e,2),this._transitioner.morphTo3D(e,this._ellipsoid)};function SCt(e,t){if(e._removeTerrainProviderReadyListener=e._removeTerrainProviderReadyListener&&e._removeTerrainProviderReadyListener(),t.ready){l(e.globe)&&(e.globe.terrainProvider=t.provider);return}e.globe.terrainProvider=void 0,e._removeTerrainProviderReadyListener=t.readyEvent.addEventListener(n=>{l(e)&&l(e.globe)&&(e.globe.terrainProvider=n),e._removeTerrainProviderReadyListener()})}ui.prototype.setTerrain=function(e){return SCt(this,e),e};ui.prototype.isDestroyed=function(){return!1};ui.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),l(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),ue(this)};var v3=ui;function Mv(e){e=y(e,ee.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=F.fromScale(n),this._modelMatrix=new F,this._command=new Ze({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties(Mv.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});Mv.prototype.setDynamicLighting=function(e){this._radiiAndDynamicAtmosphereColor.z=e};var s$=new F;Mv.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==ne.SCENE3D&&n!==ne.MORPHING||!e.passes.render)return;let i=F.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,s$),o=F.multiplyTransformation(i,Fo.Y_UP_TO_Z_UP,s$),r=F.multiply(this._scaleMatrix,o,s$);F.clone(r,this._modelMatrix);let s=e.context,a=vCt(this),c=e.globeTranslucencyState.translucent,u=this.perFragmentAtmosphere||c||!l(t)||!t.show,f=this._command;if(!l(f.vertexArray)){let p=ia.createGeometry(new ia({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:Ie.POSITION_ONLY}));f.vertexArray=ii.fromGeometry({context:s,geometry:p,attributeLocations:Fn.createAttributeLocations(p),bufferUsage:Be.STATIC_DRAW}),f.renderState=Ve.fromCache({cull:{enabled:!0,face:Ci.FRONT},blending:dn.ALPHA_BLEND,depthMask:!1})}let d=a|u<<2|c<<3;if(d!==this._flags){this._flags=d;let p=[];a&&p.push("COLOR_CORRECT"),u&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new Ue({defines:p,sources:[Yd,iv,f2]}),m=new Ue({defines:p,sources:[Yd,iv,u2]});this._spSkyAtmosphere=tn.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:m}),f.shaderProgram=this._spSkyAtmosphere}return f};function vCt(e){return!(P.equalsEpsilon(e.hueShift,0,P.EPSILON7)&&P.equalsEpsilon(e.saturationShift,0,P.EPSILON7)&&P.equalsEpsilon(e.brightnessShift,0,P.EPSILON7))}Mv.prototype.isDestroyed=function(){return!1};Mv.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),ue(this)};var w3=Mv;function Nv(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new Ze({modelMatrix:F.clone(F.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0,this._hasError=!1,this._error=void 0}Nv.prototype.update=function(e,t){let n=this,{mode:i,passes:o,context:r}=e;if(!this.show||i!==ne.SCENE3D&&i!==ne.MORPHING||!o.render)return;if(this._hasError){let a=this._error;throw this._hasError=!1,this._error=void 0,a}if(this._sources!==this.sources){this._sources=this.sources;let a=this.sources;typeof a.positiveX=="string"?pP(r,this._sources).then(function(c){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=c}).catch(c=>{this._hasError=!0,this._error=c}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new vr({context:r,source:a}))}let s=this._command;if(!l(s.vertexArray)){s.uniformMap={u_cubeMap:function(){return n._cubeMap}};let a=Ra.createGeometry(Ra.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Ie.POSITION_ONLY})),c=this._attributeLocations=Fn.createAttributeLocations(a);s.vertexArray=ii.fromGeometry({context:r,geometry:a,attributeLocations:c,bufferUsage:Be.STATIC_DRAW}),s.renderState=Ve.fromCache({blending:dn.ALPHA_BLEND})}if(!l(s.shaderProgram)||this._useHdr!==t){let a=new Ue({defines:[t?"HDR":""],sources:[d2]});s.shaderProgram=tn.fromCache({context:r,vertexShaderSource:h2,fragmentShaderSource:a,attributeLocations:this._attributeLocations}),this._useHdr=t}if(l(this._cubeMap))return s};Nv.prototype.isDestroyed=function(){return!1};Nv.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),ue(this)};function Lv(e){return sn(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}Nv.createEarthSkyBox=function(){return new Nv({sources:{positiveX:Lv("px"),negativeX:Lv("mx"),positiveY:Lv("py"),negativeY:Lv("my"),positiveZ:Lv("pz"),negativeZ:Lv("mz")}})};var D3=Nv;function P3(){this.show=!0,this._drawCommand=new Ze({primitiveType:Ne.TRIANGLES,boundingVolume:new ce,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new ce,this._boundingVolume2D=new ce,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(P3.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var wCt=new z,DCt=new z,ICt=new ie,I3=new ie;P3.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===ne.SCENE2D||i===ne.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!l(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let E=Math.max(r,s);E=Math.pow(2,Math.ceil(Math.log(E)/Math.log(2))-2),E=Math.max(1,E);let v=n?o.halfFloatingPointTexture?Ye.HALF_FLOAT:Ye.FLOAT:Ye.UNSIGNED_BYTE;this._texture=new Pt({context:o,width:E,height:E,pixelFormat:nt.RGBA,pixelDatatype:v}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let D=this,O={u_radiusTS:function(){return D._radiusTS}};this._commands.computeCommand=new Fc({fragmentShaderSource:p2,outputTexture:this._texture,uniformMap:O,persists:!1,owner:this,postExecute:function(){D._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!l(a.vertexArray)){let E={direction:0},v=new Uint8Array(4*2);v[0]=0,v[1]=0,v[2]=255,v[3]=0,v[4]=255,v[5]=255,v[6]=0,v[7]=255;let D=xt.createVertexBuffer({context:o,typedArray:v,usage:Be.STATIC_DRAW}),O=[{index:E.direction,vertexBuffer:D,componentsPerAttribute:2,normalize:!0,componentDatatype:X.UNSIGNED_BYTE}],R=xt.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});a.vertexArray=new ii({context:o,attributes:O,indexBuffer:R}),a.shaderProgram=tn.fromCache({context:o,vertexShaderSource:_2,fragmentShaderSource:m2,attributeLocations:E}),a.renderState=Ve.fromCache({blending:dn.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,u=o.uniformState.sunPositionColumbusView,f=this._boundingVolume,d=this._boundingVolume2D;h.clone(c,f.center),d.center.x=u.z,d.center.y=u.x,d.center.z=u.y,f.radius=P.SOLAR_RADIUS+P.SOLAR_RADIUS*this._glowLengthTS,d.radius=f.radius,i===ne.SCENE3D?ce.clone(f,a.boundingVolume):i===ne.COLUMBUS_VIEW&&ce.clone(d,a.boundingVolume);let p=Hi.computeActualEllipsoidPosition(e,c,I3),g=h.magnitude(h.subtract(p,e.camera.position,I3)),m=o.uniformState.projection,x=ICt;x.x=0,x.y=0,x.z=-g,x.w=1;let b=F.multiplyByVector(m,x,I3),T=Hi.clipToGLWindowCoordinates(t.viewport,b,wCt);x.x=P.SOLAR_RADIUS;let A=F.multiplyByVector(m,x,I3),C=Hi.clipToGLWindowCoordinates(t.viewport,A,DCt);return this._size=z.magnitude(z.subtract(C,T,I3)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};P3.prototype.isDestroyed=function(){return!1};P3.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),ue(this)};var R3=P3;var cAe=Wo(oV(),1);function PCt(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = ${n}.rgb; + float clippingPlanesEdgeWidth = ${n}.a; + if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) + { + out_FragColor = clippingPlanesEdgeColor; + } +`}var O3=PCt;var RCt={modifyFragmentShader:function(t){return t=Ue.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection; +void main() +{ +#ifndef SHADOW_MAP + if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; +#endif + czm_splitter_main(); +} +`,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},Fv=RCt;var TC={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function M3(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=H.clone(H.DARKGRAY),this._highlightColor=H.clone(H.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=TC.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,ve.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=F.clone(F.IDENTITY),this._modelMatrix=F.clone(F.IDENTITY),this.time=0,this.shadows=Tn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,zr.NONE),this._splittingEnabled=!1,this._error=void 0,OCt(this,e)}Object.defineProperties(M3.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return H.clone(this._highlightColor)},set:function(e){this._highlightColor=H.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(l(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=ce.clone(e,this._boundingSphere)}}});function OCt(e,t){let n=wb.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&l(n.batchTableBinary)&&(n.styleableProperties=Wp.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),l(n.draco)){let a=n.draco;e._decodingState=TC.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;l(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;l(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;l(r)&&(l(r.constantColor)&&(e._constantColor=H.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;l(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength}var MCt=new h,LCt=new h,NCt=new h,sAe,DG;function FCt(e){if(!l(DG)){sAe=new cAe.default(0),DG=new Array(e);for(let t=0;t<e;++t)DG[t]=sAe.random()}return DG}function BCt(e){let n=e.length/3,i=Math.min(n,20),o=FCt(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,MCt),c=h.fromElements(s,s,s,LCt);for(let f=0;f<i;++f){let d=Math.floor(o[f]*n),p=h.unpack(e,d*3,NCt);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let u=ce.fromCornerPoints(a,c);return u.radius+=P.EPSILON2,u}function aAe(e,t){let n=X.fromTypedArray(e);return n===X.INT||n===X.UNSIGNED_INT||n===X.DOUBLE?(bt("Cast pnts property to floats",`Point cloud property "${t}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var kCt=new ie,VCt=new ie,UCt=new H,lAe=0,IG=1,f$=2,uAe=3,zCt=4,a$=new F,HCt=new F;function GCt(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,u=i.styleableProperties,f=l(u),d=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,m=e._isOctEncodedDraco,x=e._quantizedRange,b=e._octEncodedRange,T=e._isRGB565,A=e._isTranslucent,C=e._hasColors,E=e._hasNormals,v=e._hasBatchIds,D,O,R=[],M={};if(e._styleableShaderAttributes=M,f){let V=zCt;for(let G in u)if(u.hasOwnProperty(G)){let k=u[G],W=aAe(k.typedArray,G);D=k.componentCount,O=X.fromTypedArray(W);let Y=xt.createVertexBuffer({context:n,typedArray:W,usage:Be.STATIC_DRAW});e._geometryByteLength+=Y.sizeInBytes;let Q={index:V,vertexBuffer:Y,componentsPerAttribute:D,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0};R.push(Q),M[G]={location:V,componentCount:D},++V}}let N=xt.createVertexBuffer({context:n,typedArray:r.typedArray,usage:Be.STATIC_DRAW});e._geometryByteLength+=N.sizeInBytes;let _;C&&(_=xt.createVertexBuffer({context:n,typedArray:s.typedArray,usage:Be.STATIC_DRAW}),e._geometryByteLength+=_.sizeInBytes);let S;E&&(S=xt.createVertexBuffer({context:n,typedArray:a.typedArray,usage:Be.STATIC_DRAW}),e._geometryByteLength+=S.sizeInBytes);let w;v&&(c.typedArray=aAe(c.typedArray,"batchIds"),w=xt.createVertexBuffer({context:n,typedArray:c.typedArray,usage:Be.STATIC_DRAW}),e._geometryByteLength+=w.sizeInBytes);let I=[];if(d?O=X.UNSIGNED_SHORT:p?O=x<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT:O=X.FLOAT,I.push({index:lAe,vertexBuffer:N,componentsPerAttribute:3,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(d||p?e._boundingSphere=ce.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=BCt(r.typedArray)),C)if(T)I.push({index:IG,vertexBuffer:_,componentsPerAttribute:1,componentDatatype:X.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let V=A?4:3;I.push({index:IG,vertexBuffer:_,componentsPerAttribute:V,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}E&&(g?(D=2,O=X.UNSIGNED_BYTE):m?(D=2,O=b<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT):(D=3,O=X.FLOAT),I.push({index:f$,vertexBuffer:S,componentsPerAttribute:D,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0})),v&&I.push({index:uAe,vertexBuffer:w,componentsPerAttribute:1,componentDatatype:X.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),f&&(I=I.concat(R));let L=new ii({context:n,attributes:I}),B={depthTest:{enabled:!0}},U={depthTest:{enabled:!0},depthMask:!1,blending:dn.ALPHA_BLEND};e._opaquePass===ve.CESIUM_3D_TILE&&(B.stencilTest=zt.setCesium3DTileBit(),B.stencilMask=zt.CESIUM_3D_TILE_MASK,U.stencilTest=zt.setCesium3DTileBit(),U.stencilMask=zt.CESIUM_3D_TILE_MASK),e._opaqueRenderState=Ve.fromCache(B),e._translucentRenderState=Ve.fromCache(U),e._drawCommand=new Ze({boundingVolume:new ce,cull:e._cull,modelMatrix:new F,primitiveType:Ne.POINTS,vertexArray:L,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:A?e._translucentRenderState:e._opaqueRenderState,pass:A?ve.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function WCt(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=kCt;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,u;t.mode===ne.SCENE2D||c instanceof cn?u=Number.POSITIVE_INFINITY:u=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=u}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!l(a))return H.TRANSPARENT;let c=H.clone(a.edgeColor,UCt);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!l(a))return F.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);F.multiply(n.uniformState.view3D,c,a$);let u=F.multiply(a$,a.modelMatrix,a$);return F.inverseTranspose(u,HCt)}};Fv.addUniforms(e,s),(i||o||r)&&(s=Ct(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=VCt;if(l(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),l(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function c$(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function l$(e,t){e=e.slice(e.indexOf(` +`));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function u$(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var jCt={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function qCt(e,t,n){let i,o,r,s=t.context,a=l(n),c=e._isQuantized,u=e._isQuantizedDraco,f=e._isOctEncoded16P,d=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,m=e._hasColors,x=e._hasNormals,b=e._hasBatchIds,T=e._backFaceCulling,A=e._normalShading,C=e._drawCommand.vertexArray,E=e.clippingPlanes,v=e._attenuation,D,O,R,M=g,N=He(jCt),_={},S=e._styleableShaderAttributes;for(o in S)S.hasOwnProperty(o)&&(r=S[o],N[o]=`czm_3dtiles_property_${r.location}`,_[r.location]=r);if(a){let re={translucent:!1},_e="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";D=n.getColorShaderFunction(`getColorFromStyle${_e}`,N,re),O=n.getShowShaderFunction(`getShowFromStyle${_e}`,N,re),R=n.getPointSizeShaderFunction(`getPointSizeFromStyle${_e}`,N,re),l(D)&&re.translucent&&(M=!0)}e._styleTranslucent=M;let w=l(D),I=l(O),L=l(R),B=e.isClipped,U=[],V=[];w&&(c$(D,U),l$(D,V)),I&&(c$(O,U),l$(O,V)),L&&(c$(R,U),l$(R,V));let G=V.indexOf("COLOR")>=0,k=V.indexOf("NORMAL")>=0;if(k&&!x)throw new se("Style references the NORMAL semantic but the point cloud does not have normals");for(o in S)if(S.hasOwnProperty(o)){r=S[o];let re=U.indexOf(r.location)>=0,_e=u$(C,r.location);_e.enabled=re}let W=m&&(!w||G);if(m){let re=u$(C,IG);re.enabled=W}let Y=x&&(A||T||k);if(x){let re=u$(C,f$);re.enabled=Y}let Q={a_position:lAe};W&&(Q.a_color=IG),Y&&(Q.a_normal=f$),b&&(Q.a_batchId=uAe);let j="",Z=U.length;for(i=0;i<Z;++i){let re=U[i];r=_[re];let _e=r.componentCount,ye=`czm_3dtiles_property_${re}`,De;_e===1?De="float":De=`vec${_e}`,j+=`in ${De} ${ye}; +`,Q[ye]=r.location}WCt(e,t);let J=`in vec3 a_position; +out vec4 v_color; +uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; +uniform vec4 u_constantColor; +uniform vec4 u_highlightColor; +`;J+=`float u_pointSize; +float tiles3d_tileset_time; +`,v&&(J+=`float u_geometricError; +float u_depthMultiplier; +`),J+=j,W&&(g?J+=`in vec4 a_color; +`:p?J+=`in float a_color; +const float SHIFT_RIGHT_11 = 1.0 / 2048.0; +const float SHIFT_RIGHT_5 = 1.0 / 32.0; +const float SHIFT_LEFT_11 = 2048.0; +const float SHIFT_LEFT_5 = 32.0; +const float NORMALIZE_6 = 1.0 / 64.0; +const float NORMALIZE_5 = 1.0 / 32.0; +`:J+=`in vec3 a_color; +`),Y&&(f||d?J+=`in vec2 a_normal; +`:J+=`in vec3 a_normal; +`),b&&(J+=`in float a_batchId; +`),(c||u||d)&&(J+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; +`),w&&(J+=D),I&&(J+=O),L&&(J+=R),J+=`void main() +{ + u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; + tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; +`,v&&(J+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; + u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; +`),W?g?J+=` vec4 color = a_color; +`:p?J+=` float compressed = a_color; + float r = floor(compressed * SHIFT_RIGHT_11); + compressed -= r * SHIFT_LEFT_11; + float g = floor(compressed * SHIFT_RIGHT_5); + compressed -= g * SHIFT_LEFT_5; + float b = compressed; + vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); + vec4 color = vec4(rgb, 1.0); +`:J+=` vec4 color = vec4(a_color, 1.0); +`:J+=` vec4 color = u_constantColor; +`,c||u?J+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; +`:J+=` vec3 position = a_position; +`,J+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); +`,Y?(f?J+=` vec3 normal = czm_octDecode(a_normal); +`:d?J+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; +`:J+=` vec3 normal = a_normal; +`,J+=` vec3 normalEC = czm_normal * normal; +`):J+=` vec3 normal = vec3(1.0); +`,w&&(J+=` color = getColorFromStyle(position, position_absolute, color, normal); +`),I&&(J+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); +`),L?J+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; +`:v?J+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); + float depth = -positionEC.z; + gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); +`:J+=` gl_PointSize = u_pointSize; +`,J+=` color = color * u_highlightColor; +`,Y&&A&&(J+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); + diffuseStrength = max(diffuseStrength, 0.4); + color.xyz *= diffuseStrength * czm_lightColor; +`),J+=` v_color = color; + gl_Position = czm_modelViewProjection * vec4(position, 1.0); +`,Y&&T&&(J+=` float visible = step(-normalEC.z, 0.0); + gl_Position *= visible; + gl_PointSize *= visible; +`),I&&(J+=` gl_Position.w *= float(show); + gl_PointSize *= float(show); +`),J+=`} +`;let he=`in vec4 v_color; +`;B&&(he+=`uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +`,he+=` +`,he+=lg(E,s),he+=` +`),he+=`void main() +{ + out_FragColor = czm_gammaCorrect(v_color); +`,B&&(he+=O3("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),he+=`} +`,e.splitDirection!==zr.NONE&&(he=Fv.modifyFragmentShader(he)),l(e._vertexShaderLoaded)&&(J=e._vertexShaderLoaded(J)),l(e._fragmentShaderLoaded)&&(he=e._fragmentShaderLoaded(he));let xe=e._drawCommand;l(xe.shaderProgram)&&xe.shaderProgram.destroy(),xe.shaderProgram=tn.fromCache({context:s,vertexShaderSource:J,fragmentShaderSource:he,attributeLocations:Q});try{xe.shaderProgram._bind()}catch{throw new se("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function YCt(e,t){if(e._decodingState===TC.READY)return!1;if(e._decodingState===TC.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=$p.decodePointCloud(i,t);l(o)&&(e._decodingState=TC.DECODING,o.then(function(r){e._decodingState=TC.READY;let s=l(r.POSITION)?r.POSITION.array:void 0,a=l(r.RGB)?r.RGB.array:void 0,c=l(r.RGBA)?r.RGBA.array:void 0,u=l(r.NORMAL)?r.NORMAL.array:void 0,f=l(r.BATCH_ID)?r.BATCH_ID.array:void 0,d=l(s)&&l(r.POSITION.data.quantization),p=l(u)&&l(r.NORMAL.data.quantization);if(d){let b=r.POSITION.data.quantization,T=b.range;e._quantizedVolumeScale=h.fromElements(T,T,T),e._quantizedVolumeOffset=h.unpack(b.minValues),e._quantizedRange=(1<<b.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,m=i.batchTableProperties;for(let b in m)if(m.hasOwnProperty(b)){let T=r[b];l(g)||(g={}),g[b]={typedArray:T.array,componentCount:T.data.componentsPerAttribute}}l(s)&&(n.positions={typedArray:s});let x=y(c,a);l(x)&&(n.colors={typedArray:x}),l(u)&&(n.normals={typedArray:u}),l(f)&&(n.batchIds={typedArray:f}),n.styleableProperties=g}).catch(function(r){e._decodingState=TC.FAILED,e._error=r}))}return!0}var XCt=new ie,KCt=new h;M3.prototype.update=function(e){let t=e.context;if(l(this._error)){let u=this._error;throw this._error=void 0,u}if(YCt(this,t))return;let i=!1,o=!F.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),l(this._drawCommand)||(GCt(this,e),o=!0,i=!0,this._ready=!0,this._parsedContent=void 0),o){F.clone(this.modelMatrix,this._modelMatrix);let u=this._drawCommand.modelMatrix;if(F.clone(this._modelMatrix,u),l(this._rtcCenter)&&F.multiplyByTranslation(u,this._rtcCenter,u),l(this._quantizedVolumeOffset)&&F.multiplyByTranslation(u,this._quantizedVolumeOffset,u),e.mode!==ne.SCENE3D){let d=e.mapProjection,p=F.getColumn(u,3,XCt);ie.equals(p,ie.UNIT_W)||Lt.basisTo2D(d,u,u)}let f=this._drawCommand.boundingVolume;if(ce.clone(this._boundingSphere,f),this._cull){let d=f.center;F.multiplyByPoint(u,d,d);let p=F.getScale(u,KCt);f.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==zr.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&qCt(this,e,this._style),this._drawCommand.castShadows=Tn.castShadows(this.shadows),this._drawCommand.receiveShadows=Tn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?ve.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};M3.prototype.isDestroyed=function(){return!1};M3.prototype.destroy=function(){let e=this._drawCommand;return l(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),ue(this)};var L3=M3;function AC(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.shadows=y(e.shadows,Tn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new pm(e.shading),this.style=e.style,this.frameFailed=new me,this.frameChanged=new me,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new a_,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(AC.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ts.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(l(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}}});function ZCt(e){return`uniform vec4 czm_pickColor; +${e}`}function $Ct(e){return function(t){return Ct(t,{czm_pickColor:function(){return e._pickId.color}})}}function QCt(){return"czm_pickColor"}AC.prototype.makeStyleDirty=function(){this._styleDirty=!0};AC.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var JCt=new K;function h$(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function CC(e,t){return e._intervals.indexOf(t.start)}function eAt(e,t){let n=e._intervals,i=e._clock,o=h$(e);if(o===0)return;let r=e._getAverageLoadTime(),s=K.addSeconds(i.currentTime,r*o,JCt),a=n.indexOf(s),c=CC(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function tAt(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function nAt(e,t,n){let i=h$(e),o=CC(e,t),r=CC(e,n);return i>=0?o>=r:o<=r}function dAe(e,t){return function(n){let i=l(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function iAt(e,t,n){let i=CC(e,t),o=e._frames,r=o[i];if(!l(r)){let s=t.data.transform,a=l(s)?F.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:Ei(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber,uri:c},o[i]=r,Ae.fetchArrayBuffer({url:c}).then(function(u){r.pointCloud=new L3({arrayBuffer:u,cull:!0,fragmentShaderLoaded:ZCt,uniformMapLoaded:$Ct(e),pickIdLoaded:QCt})}).catch(dAe(e,c))}return r}function oAt(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function rAt(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(l(o)&&!t.ready){let r=i.commandList,s=r.length;if(hAe(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(Ei()-t.timestamp)/1e3;oAt(e,a)}}t.touchedFrameNumber=i.frameNumber}var sAt=new F;function aAt(e,t){let n=e.shading;return l(n)&&l(n.baseResolution)?n.baseResolution:l(t.boundingSphere)?P.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function cAt(e){let t=e.shading;return l(t)&&l(t.maximumAttenuation)?t.maximumAttenuation:10}var lAt=new pm;function hAe(e,t,n,i){let o=y(e.shading,lAt),r=t.pointCloud,s=y(t.transform,F.IDENTITY);r.modelMatrix=F.multiplyTransformation(e.modelMatrix,s,sAt),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=aAt(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=cAt(e);try{r.update(i)}catch(a){dAe(e,t.uri)(a)}t.touchedFrameNumber=i.frameNumber}function d$(e,t,n,i){let o=iAt(e,t,i);rAt(e,o,n,i)}function uAt(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function mAe(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(l(r)&&(!l(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),l(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function fAt(e,t){let n=CC(e,t),i=e._frames[n];if(l(i)&&i.ready)return i}function fAe(e,t,n,i,o){return l(n)?n.ready?!0:(d$(e,t,i,o),n.ready):!1}function dAt(e,t,n,i,o){let r,s,a,c=e._intervals,u=e._frames,f=CC(e,n),d=CC(e,t);if(f>=d){for(r=f;r>=d;--r)if(s=c.get(r),a=u[r],fAe(e,s,a,i,o))return s}else for(r=f;r<=d;++r)if(s=c.get(r),a=u[r],fAe(e,s,a,i,o))return s;return t}function hAt(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];l(s)&&l(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var Bv={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};AC.prototype.update=function(e){if(e.mode===ne.MORPHING||!this.show)return;l(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time));let t=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=l(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&hAt(this,o,s),Bv.timeSinceLoad=t,Bv.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,u=e.commandList,f=u.length,d=this._previousInterval,p=this._nextInterval,g=tAt(this);if(!l(g))return;let m=!1,x=h$(this),b=x===0;x!==this._clockMultiplier&&(m=!0,this._clockMultiplier=x),(!l(d)||b)&&(d=g),(!l(p)||m||nAt(this,g,p))&&(p=eAt(this,g)),d=dAt(this,d,g,Bv,e);let T=fAt(this,d);l(T)||(d$(this,d,Bv,e),T=this._lastRenderedFrame),l(T)&&hAe(this,T,Bv,e),l(p)&&d$(this,p,Bv,e);let A=this;l(T)&&!l(this._lastRenderedFrame)&&e.afterRender.push(function(){return!0}),l(T)&&T!==this._lastRenderedFrame&&A.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){return A.frameChanged.raiseEvent(A),!0}),this._previousInterval=d,this._nextInterval=p,this._lastRenderedFrame=T;let C=this._totalMemoryUsageInBytes,E=this.maximumMemoryUsage*1024*1024;C>E&&mAe(this,uAt(e));let D=u.length-f;l(a)&&a.attenuation&&a.eyeDomeLighting&&D>0&&c.update(e,f,a,this.boundingSphere)};AC.prototype.isDestroyed=function(){return!1};AC.prototype.destroy=function(){return mAe(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var kv=AC;function pAe(e,t){if(l(t)){let n=t.clock;l(n)&&n.getValue(e)}}function mAt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!l(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors&&e.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,o)}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function _Ae(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,l(e._scene)&&(e._scene.pixelRatio=t),t}function gAe(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=_Ae(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function yAe(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;l(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function Mo(e,t){e=Rn(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=Gt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=Gt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=l(t.creditContainer)?Rn(t.creditContainer):n;c.appendChild(a);let u=l(t.creditViewport)?Rn(t.creditViewport):n,f=y(t.showRenderLoopErrors,!0),d=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=u,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=f,this._resolutionScale=1,this._useBrowserRecommendedResolution=d,this._forceResize=!1,this._entityView=void 0,this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._trackedEntityChanged=new me,this._allowDataSourcesToSuspendAnimation=!0,this._clock=l(t.clock)?t.clock:new fh,l(t.shouldAnimate)&&(this._clock.shouldAnimate=t.shouldAnimate),gAe(this);try{let p=y(t.ellipsoid,ee.default),g=new v3({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:u,ellipsoid:p,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=g,g.camera.constrainedAxis=h.UNIT_Z,_Ae(this),yAe(this);let m=t.globe;l(m)||(m=new H2(p)),m!==!1&&(g.globe=m,g.globe.shadows=y(t.terrainShadows,Tn.RECEIVE_ONLY));let x=t.skyBox;!l(x)&&ee.WGS84.equals(p)&&(x=D3.createEarthSkyBox()),x!==!1&&(g.skyBox=x,g.sun=new R3,ee.WGS84.equals(p)&&(g.moon=new j2));let b=t.skyAtmosphere;!l(b)&&ee.WGS84.equals(p)&&(b=new w3(p),b.show=t.globe!==!1&&m.show),b!==!1&&(g.skyAtmosphere=b);let T=t.baseLayer;t.globe!==!1&&T!==!1&&(l(T)||(T=Ya.fromWorldImagery()),g.imageryLayers.add(T)),l(t.terrainProvider)&&t.globe!==!1&&(g.terrainProvider=t.terrainProvider),l(t.terrain)&&t.globe!==!1&&g.setTerrain(t.terrain),this._screenSpaceEventHandler=new Ku(i),l(t.sceneMode)&&(t.sceneMode===ne.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===ne.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let A=this;this._onRenderError=function(R,M){A._useDefaultRenderLoop=!1,A._renderLoopRunning=!1,A._showRenderLoopErrors&&A.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,M)},g.renderError.addEventListener(this._onRenderError);let C=t.dataSources,E=!1;l(C)||(C=new cN,E=!0);let v=new qN({scene:g,dataSourceCollection:C}),D=new gr;this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=t.automaticallyTrackDataSourceClocks??!0,this._dataSourceCollection=C,this._destroyDataSourceCollection=E,this._dataSourceDisplay=v,this._eventHelper=D,this._canAnimateUpdateCallback=this._updateCanAnimate,D.add(this._clock.onTick,Mo.prototype._onTick,this),D.add(g.morphStart,Mo.prototype._clearTrackedObject,this),D.add(C.dataSourceAdded,Mo.prototype._onDataSourceAdded,this),D.add(C.dataSourceRemoved,Mo.prototype._onDataSourceRemoved,this),D.add(g.postRender,Mo.prototype._postRender,this);let O=C.length;for(let R=0;R<O;R++)this._dataSourceAdded(C,C.get(R));this._dataSourceAdded(void 0,v.defaultDataSource),D.add(C.dataSourceAdded,Mo.prototype._dataSourceAdded,this),D.add(C.dataSourceRemoved,Mo.prototype._dataSourceRemoved,this)}catch(p){throw f&&this.showErrorPanel("Error constructing CesiumWidget.",'Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:',p),p}}Object.defineProperties(Mo.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},camera:{get:function(){return this._scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&mAt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,m$(this);let t=this.scene,n=t.mode;!l(e)||!l(e.position)?(this._needTrackedEntityUpdate=!1,(n===ne.COLUMBUS_VIEW||n===ne.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===ne.COLUMBUS_VIEW||n===ne.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(F.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,pAe(this.clock,e))}}});Mo.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),l(window.addEventListener)&&window.addEventListener("resize",c,!1);let u=l(t),f=l(n);if(u||f){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),f){let m=jm(n);u||(typeof n=="string"&&(n=new Error(n)),t=jm({name:n.name,message:n.message}),m=n.stack),typeof console<"u"&&console.error(`${e} +${t} +${m}`);let x=document.createElement("div");x.className="cesium-widget-errorPanel-message-details collapsed";let b=document.createElement("span");b.className="cesium-widget-errorPanel-more-details",b.appendChild(document.createTextNode("See more...")),x.appendChild(b),x.onclick=function(T){x.removeChild(b),x.appendChild(document.createTextNode(m)),x.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",x.onclick=void 0},a.appendChild(x)}g.innerHTML=`<p>${t}</p>`}let d=document.createElement("div");d.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(d);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){l(c)&&l(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},d.appendChild(p),i.appendChild(o)};Mo.prototype.isDestroyed=function(){return!1};Mo.prototype.destroy=function(){let e=this.dataSources,t=e.length;for(let n=0;n<t;n++)this._dataSourceRemoved(e,e.get(n));this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),l(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),this._eventHelper.removeAll(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),ue(this)};Mo.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,gAe(this),yAe(this),this._scene.requestRender())};Mo.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};Mo.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Mo.prototype._onEntityCollectionChanged,this)};Mo.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Mo.prototype._onEntityCollectionChanged,this),l(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0)};Mo.prototype._updateCanAnimate=function(e){this._clock.canAnimate=e};var Vv=new ce;Mo.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&this._canAnimateUpdateCallback(n);let i=this._entityView;if(l(i)){let o=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(o,!0,Vv)===ct.DONE&&i.update(t,Vv)}};Mo.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0)}};Mo.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Mo.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&pAe(this.clock,e)};Mo.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Mo.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Mo.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};Mo.prototype.zoomTo=function(e,t){return xAe(this,e,{offset:t},!1)};Mo.prototype.flyTo=function(e,t){return xAe(this,e,t,!0)};function xAe(e,t,n,i){m$(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof Ya){let s;l(r.imageryProvider)?s=Promise.resolve(r.getImageryRectangle()):s=new Promise(a=>{let c=r.readyEvent.addEventListener(()=>{c(),a(r.getImageryRectangle())})}),s.then(function(a){return YT(a,e.scene)}).then(function(a){e._zoomPromise===o&&(e._zoomTarget=a)});return}if(r instanceof Es||r instanceof kv||r instanceof j0){e._zoomTarget=r;return}if(r.isLoading&&l(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=r.values??r,l(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function N3(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function m$(e){let t=e._zoomPromise;l(t)&&(N3(e),e._completeZoom(!1))}Mo.prototype._postRender=function(){pAt(this),_At(this)};function pAt(e){let t=e._zoomTarget;if(!l(t)||e.scene.mode===ne.MORPHING)return;let n=e.scene,i=n.camera,o=e._zoomOptions??{},r;function s(f){l(o.offset)||(o.offset=new td(0,-.5,f.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(f,o.offset),i.lookAtTransform(F.IDENTITY),e._completeZoom(!0)),N3(e)}if(t instanceof kv){if(l(t.boundingSphere)){s(t.boundingSphere);return}let f=t.frameChanged.addEventListener(function(d){s(d.boundingSphere),f()});return}if(t instanceof Es||t instanceof j0){s(t.boundingSphere);return}if(t instanceof fe){r={destination:n.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),N3(e);return}let a=t,c=[];for(let f=0,d=a.length;f<d;f++){let p=e._dataSourceDisplay.getBoundingSphere(a[f],!1,Vv);if(p===ct.PENDING)return;p!==ct.FAILED&&c.push(ce.clone(Vv))}if(c.length===0){m$(e);return}e.trackedEntity=void 0;let u=ce.fromBoundingSpheres(c);e._zoomIsFlight?(N3(e),i.flyToBoundingSphere(u,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(F.IDENTITY),N3(e),e._completeZoom(!0))}function _At(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=q.getValueOrUndefined(t.position,n);if(!l(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,Vv);if(r===ct.PENDING)return;let s=o.mode;(s===ne.COLUMBUS_VIEW||s===ne.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===ne.COLUMBUS_VIEW||s===ne.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==ct.FAILED?Vv:void 0;e._entityView=new XN(t,o,o.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var F3=Mo;var gAt=new h(1,1,1);function p$(e){e=y(e,gAt),this._dimensions=h.clone(e)}Object.defineProperties(p$.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var yAt=new h;p$.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,yAt),i=P.randomBetween(-n.x,n.x),o=P.randomBetween(-n.y,n.y),r=P.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var _$=p$;function cp(){this.featurePropertiesDirty=!1}Object.defineProperties(cp.prototype,{featuresLength:{get:function(){de.throwInstantiationError()}},pointsLength:{get:function(){de.throwInstantiationError()}},trianglesLength:{get:function(){de.throwInstantiationError()}},geometryByteLength:{get:function(){de.throwInstantiationError()}},texturesByteLength:{get:function(){de.throwInstantiationError()}},batchTableByteLength:{get:function(){de.throwInstantiationError()}},innerContents:{get:function(){de.throwInstantiationError()}},ready:{get:function(){de.throwInstantiationError()}},tileset:{get:function(){de.throwInstantiationError()}},tile:{get:function(){de.throwInstantiationError()}},url:{get:function(){de.throwInstantiationError()}},batchTable:{get:function(){de.throwInstantiationError()}},metadata:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}},group:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}}});cp.prototype.hasProperty=function(e,t){de.throwInstantiationError()};cp.prototype.getFeature=function(e){de.throwInstantiationError()};cp.prototype.applyDebugSettings=function(e,t){de.throwInstantiationError()};cp.prototype.applyStyle=function(e){de.throwInstantiationError()};cp.prototype.update=function(e,t){de.throwInstantiationError()};cp.prototype.pick=function(e,t,n){de.throwInstantiationError()};cp.prototype.isDestroyed=function(){de.throwInstantiationError()};cp.prototype.destroy=function(){de.throwInstantiationError()};var g$=cp;function Uv(e,t){this._conditionsExpression=He(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,bAt(this,t)}Object.defineProperties(Uv.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function xAt(e,t){this.condition=e,this.expression=t}function bAt(e,t){let n=[],i=e._conditions;if(!l(i))return;let o=i.length;for(let r=0;r<o;++r){let s=i[r],a=String(s[0]),c=String(s[1]);n.push(new xAt(new Sf(a,t),new Sf(c,t)))}e._runtimeConditions=n}Uv.prototype.evaluate=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluate(e,t)}};Uv.prototype.evaluateColor=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluateColor(e,t)}};Uv.prototype.getShaderFunction=function(e,t,n,i){let o=this._runtimeConditions;if(!l(o)||o.length===0)return;let r="",s=o.length;for(let a=0;a<s;++a){let c=o[a],u=c.condition.getShaderExpression(t,n),f=c.expression.getShaderExpression(t,n);r+=` ${a===0?"if":"else if"} (${u}) + { + return ${f}; + } +`}return r=`${i} ${e} { - return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); +${r} return ${i}(1.0); } - -vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) +`,r};Uv.prototype.getVariables=function(){let e=[],t=this._runtimeConditions;if(!l(t)||t.length===0)return e;let n=t.length;for(let i=0;i<n;++i){let o=t[i];e.push.apply(e,o.condition.getVariables()),e.push.apply(e,o.expression.getVariables())}return e=e.filter(function(i,o,r){return r.indexOf(i)===o}),e};var B3=Uv;function Y0(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,TAt(this,e)}function TAt(e,t){t=y(He(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;let n={};if(l(t.meta)){let i=t.defines,o=y(t.meta,y.EMPTY_OBJECT);for(let r in o)o.hasOwnProperty(r)&&(n[r]=new Sf(o[r],i))}e._meta=n,e._ready=!0}function fr(e,t){let n=y(e._style,y.EMPTY_OBJECT).defines;if(l(t)){if(typeof t=="boolean"||typeof t=="number")return new Sf(String(t));if(typeof t=="string")return new Sf(t,n);if(l(t.conditions))return new B3(t,n)}else return;return t}function dr(e){if(l(e)){if(l(e.expression))return e.expression;if(l(e.conditionsExpression))return He(e.conditionsExpression,!0)}else return;return e}Object.defineProperties(Y0.prototype,{style:{get:function(){return this._style}},show:{get:function(){return this._show},set:function(e){this._show=fr(this,e),this._style.show=dr(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=fr(this,e),this._style.color=dr(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=fr(this,e),this._style.pointSize=dr(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=fr(this,e),this._style.pointOutlineColor=dr(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=fr(this,e),this._style.pointOutlineWidth=dr(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=fr(this,e),this._style.labelColor=dr(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=fr(this,e),this._style.labelOutlineColor=dr(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=fr(this,e),this._style.labelOutlineWidth=dr(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=fr(this,e),this._style.font=dr(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=fr(this,e),this._style.labelStyle=dr(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=fr(this,e),this._style.labelText=dr(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=fr(this,e),this._style.backgroundColor=dr(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=fr(this,e),this._style.backgroundPadding=dr(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=fr(this,e),this._style.backgroundEnabled=dr(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=fr(this,e),this._style.scaleByDistance=dr(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=fr(this,e),this._style.translucencyByDistance=dr(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=fr(this,e),this._style.distanceDisplayCondition=dr(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=fr(this,e),this._style.heightOffset=dr(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=fr(this,e),this._style.anchorLineEnabled=dr(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=fr(this,e),this._style.anchorLineColor=dr(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=fr(this,e),this._style.image=dr(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=fr(this,e),this._style.disableDepthTestDistance=dr(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=fr(this,e),this._style.horizontalOrigin=dr(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=fr(this,e),this._style.verticalOrigin=dr(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=fr(this,e),this._style.labelHorizontalOrigin=dr(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=fr(this,e),this._style.labelVerticalOrigin=dr(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}});Y0.fromUrl=function(e){return Ae.createIfNeeded(e).fetchJson(e).then(function(n){return new Y0(n)})};Y0.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,l(this.color)&&l(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)};Y0.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady?this._showShaderFunction:(this._showShaderFunctionReady=!0,l(this.show)&&l(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0,this._showShaderFunction)};Y0.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady?this._pointSizeShaderFunction:(this._pointSizeShaderFunctionReady=!0,l(this.pointSize)&&l(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0,this._pointSizeShaderFunction)};Y0.prototype.getVariables=function(){let e=[];return l(this.color)&&l(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),l(this.show)&&l(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),l(this.pointSize)&&l(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var EC=Y0;function k3(e){e=y(e,y.EMPTY_OBJECT),this._maximumSubtreeCount=y(e.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new FT({comparator:k3.comparator})}k3.prototype.addSubtree=function(e){let t=new CAt(e,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(t);let n=e.implicitCoordinates;if(n.level>0){let i=n.getParentSubtreeCoordinates(),o=this.find(i)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==t;)this._queue.removeMinimum()};k3.prototype.find=function(e){let t=this._queue,n=t.internalArray,i=t.length;for(let o=0;o<i;o++){let r=n[o],a=r.subtree.implicitCoordinates;if(e.isEqual(a))return r.subtree}};k3.comparator=function(e,t){let n=e.subtree.implicitCoordinates,i=t.subtree.implicitCoordinates;return n.isAncestor(i)?1:i.isAncestor(n)?-1:e.stamp-t.stamp};function CAt(e,t){this.subtree=e,this.stamp=t}var V3=k3;function PG(e){this._resource=e,this._metadataTable=void 0}Object.defineProperties(PG.prototype,{metadataTable:{get:function(){return this._metadataTable}}});PG.fromJson=async function(e,t,n,i){let o;l(t)?o={json:t,binary:void 0}:o=EAt(n);let r=await AAt(e,o.json,o.binary),s={},a=o.json.bufferViews.length;for(let d=0;d<a;++d){let p=o.json.bufferViews[d],g=p.byteOffset,m=g+p.byteLength,b=r[p.buffer].subarray(g,m);s[d]=b}let c=o.json.voxelTable,u=o.json.propertyTables[c],f=new PG(e);return f._metadataTable=new Pl({count:u.count,properties:u.properties,class:i.classes[u.class],bufferViews:s}),f};function AAt(e,t,n){let i=t.buffers.length,o=new Array(i);for(let r=0;r<i;r++){let s=t.buffers[r];if(l(s.uri)){let c=e.getDerivedResource({url:s.uri});o[r]=c.fetchArrayBuffer().then(function(u){return new Uint8Array(u)})}else o[r]=Promise.resolve(n)}return Promise.all(o)}function EAt(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Bo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}var U3=PG;function RG(e){e=y(e,y.EMPTY_OBJECT),this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new V3}RG.fromUrl=async function(e){let t=Ae.createIfNeeded(e),n=await t.fetchJson();vAt(n);let i=RAt(n,t);await i.load();let o=n.root,r=o.content.extensions["3DTILES_content_voxels"],s=r.class,a=si(n,"3DTILES_metadata")?n.extensions["3DTILES_metadata"]:n,c=i.schema,u=new Gb({metadataJson:a,schema:c}),f=new RG;OAt(f,u,s);let d=new jb(t,o,c),{shape:p,minBounds:g,maxBounds:m,shapeTransform:x,globalTransform:b}=wAt(o);f.shape=p,f.minBounds=g,f.maxBounds=m,f.dimensions=h.unpack(r.dimensions),f.shapeTransform=x,f.globalTransform=b,f.maximumTileCount=SAt(u);let T,A;return l(r.padding)&&(T=h.unpack(r.padding.before),A=h.unpack(r.padding.after)),f.paddingBefore=T,f.paddingAfter=A,f._implicitTileset=d,wi.unload(i),f};function SAt(e){if(l(e.tileset))return e.tileset.getPropertyBySemantic(hb.TILESET_TILE_COUNT)}function vAt(e){let t=e.root;if(!l(t.content))throw new se("Root must have content");if(!si(t.content,"3DTILES_content_voxels"))throw new se("Root tile content must have 3DTILES_content_voxels extension");if(!si(t,"3DTILES_implicit_tiling")&&!l(t.implicitTiling))throw new se("Root tile must have implicit tiling");if(!l(e.schema)&&!l(e.schemaUri)&&!si(e,"3DTILES_metadata"))throw new se("Tileset must have a metadata schema")}function wAt(e){let t=e.boundingVolume,n;if(l(e.transform)?n=F.unpack(e.transform):n=F.clone(F.IDENTITY),l(t.box))return IAt(t.box,n);if(l(t.region))return DAt(t.region);if(si(t,"3DTILES_bounding_volume_cylinder"))return PAt(t.extensions["3DTILES_bounding_volume_cylinder"].cylinder,n);throw new se("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function DAt(e){let t=e[0],n=e[1],i=e[2],o=e[3],r=e[4],s=e[5],a=F.fromScale(ee.WGS84.radii),c=new h(t,n,r),u=new h(i,o,s);return{shape:Vi.ELLIPSOID,minBounds:c,maxBounds:u,shapeTransform:a,globalTransform:F.clone(F.IDENTITY)}}function IAt(e,t){let n=Dn.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:Vi.BOX,minBounds:h.clone(op.DefaultMinBounds),maxBounds:h.clone(op.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function PAt(e,t){let n=Dn.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:Vi.CYLINDER,minBounds:h.clone(rp.DefaultMinBounds),maxBounds:h.clone(rp.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function RAt(e,t){let{schemaUri:n,schema:i}=e;return l(n)?wi.getSchemaLoader({resource:t.getDerivedResource({url:n})}):wi.getSchemaLoader({schema:i})}function OAt(e,t,n){let{schema:i,statistics:o}=t,r=o?.classes[n],s=i.classes[n].properties,a=Object.entries(s).map(([d,p])=>{let{type:g,componentType:m}=p,x=r?.properties[d].min,b=r?.properties[d].max,T=dt.getComponentCount(g),A=bAe(x,T),C=bAe(b,T);return{id:d,type:g,componentType:m,minValue:A,maxValue:C}});e.names=a.map(d=>d.id),e.types=a.map(d=>d.type),e.componentTypes=a.map(d=>d.componentType);let c=a.map(d=>d.minValue),u=a.map(d=>d.maxValue),f=c.some(l);e.minimumValues=f?c:void 0,e.maximumValues=f?u:void 0}function bAe(e,t){if(!l(e))return;let n=Array.isArray(e)?e:[e];return Array.from({length:t},(i,o)=>n[o])}async function MAt(e,t){let n=e.contentUriTemplates[0].getDerivedResource({templateValues:t.getTemplateValues()}),i=e.baseResource.getDerivedResource({url:n.url}),o=await i.fetchArrayBuffer(),r=Cm(o);return await U3.fromJson(i,r.jsonPayload,r.binaryPayload,e.metadataSchema)}async function LAt(e,t){let n=e._implicitTileset,i=e._subtreeCache,o=i.find(t);if(l(o))return o;let r=n.subtreeUriTemplate.getDerivedResource({templateValues:t.getTemplateValues()}),s=n.baseResource.getDerivedResource({url:r.url}),a=await s.fetchArrayBuffer();if(o=i.find(t),l(o))return o;let c=Cm(a);return o=await db.fromSubtreeJson(s,c.jsonPayload,c.binaryPayload,n,t),i.addSubtree(o),o}RG.prototype.requestData=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.tileLevel,0),n=y(e.tileX,0),i=y(e.tileY,0),o=y(e.tileZ,0);if(y(e.keyframe,0)!==0)return;let s=this._implicitTileset,a=this.names,c=new qb({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:t,x:n,y:i,z:o}),u=c.isSubtreeRoot()&&c.level>0,f=u?c.getParentSubtreeCoordinates():c.getSubtreeCoordinates();return LAt(this,f).then(function(p){return(u?p.childSubtreeIsAvailableAtCoordinates(c):p.tileIsAvailableAtCoordinates(c))?MAt(s,c):Promise.reject("Tile is not available")}).then(function(p){return a.map(function(g){return p.metadataTable.getPropertyTypedArray(g)})})};var y$=RG;function x$(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(x$.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});x$.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var z3=x$;var b$={CUMULUS:0};b$.validate=function(e){return e===b$.CUMULUS};var zv=Object.freeze(b$);function Vh(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!l(e.scale)&&l(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new z(this._maximumSize.x,this._maximumSize.y);else{this._scale=z.clone(y(e.scale,new z(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=H.clone(y(e.color,H.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var NAt=Vh.SHOW_INDEX=0,FAt=Vh.POSITION_INDEX=1,BAt=Vh.SCALE_INDEX=2,kAt=Vh.MAXIMUM_SIZE_INDEX=3,VAt=Vh.SLICE_INDEX=4,UAt=Vh.BRIGHTNESS_INDEX=5,zAt=Vh.COLOR_INDEX=6;Vh.NUMBER_OF_PROPERTIES=7;function SC(e,t){let n=e._cloudCollection;l(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(Vh.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,SC(this,NAt))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),SC(this,FAt))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;z.equals(t,e)||(z.clone(e,t),SC(this,BAt))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),SC(this,kAt))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),SC(this,zAt))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,SC(this,VAt))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,SC(this,UAt))}}});Vh.prototype._destroy=function(){this._cloudCollection=void 0};var rf=Vh;var sf,OG=new h,HAt={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},GAt={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},WAt=rf.SHOW_INDEX,jAt=rf.POSITION_INDEX,qAt=rf.SCALE_INDEX,YAt=rf.MAXIMUM_SIZE_INDEX,XAt=rf.SLICE_INDEX,KAt=rf.BRIGHTNESS_INDEX,ZAt=rf.NUMBER_OF_PROPERTIES,$At=rf.COLOR_INDEX;function Uh(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(ZAt),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:TAe(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function TAe(e){return function(){return OG.x=e._textureSliceWidth,OG.y=e._noiseTextureRows,OG.z=1/e._noiseTextureRows,OG}}Object.defineProperties(Uh.prototype,{length:{get:function(){return C$(this),this._clouds.length}}});function CAe(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Uh.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.cloudType,zv.CUMULUS),n;return t===zv.CUMULUS&&(n=new rf(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n};Uh.prototype.remove=function(e){return this.contains(e)?(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Uh.prototype.removeAll=function(){CAe(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function C$(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;let t=[],n=e._clouds,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(n._index=r++,t.push(s))}e._clouds=t}}Uh.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]};Uh.prototype.contains=function(e){return l(e)&&e._cloudCollection===this};Uh.prototype.get=function(e){return C$(this),this._clouds[e]};var QAt=new Float32Array([-1,-1,1,-1,1,1,-1,1]),JAt=new Uint16Array([0,1,2,0,2,3]);function eEt(e){let t=xt.createVertexBuffer({context:e,typedArray:QAt,usage:Be.STATIC_DRAW}),n=xt.createIndexBuffer({context:e,typedArray:JAt,usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:X.FLOAT}];return new ii({context:e,attributes:i,indexBuffer:n})}var A$;function tEt(e){let n=e.cache.cloudCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s,o[r+4]=s+2,o[r+5]=s+3;return n=xt.createIndexBuffer({context:e,typedArray:o,usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function nEt(e){let t=e.cache.cloudCollection_indexBufferInstanced;return l(t)||(t=xt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Be.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function iEt(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return l(t)||(t=xt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Be.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function oEt(e,t,n){let i=[{index:sf.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Be.STATIC_DRAW},{index:sf.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Be.STATIC_DRAW},{index:sf.packedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Be.STATIC_DRAW},{index:sf.packedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Be.STATIC_DRAW},{index:sf.color,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,usage:Be.STATIC_DRAW}];n&&i.push({index:sf.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:iEt(e)});let o=n?t:4*t;return new wp(e,i,o,n)}var T$=new jn;function AAe(e,t,n,i){let o,r=n[sf.positionHighAndScaleX],s=n[sf.positionLowAndScaleY],a=i.position;jn.fromCartesian(a,T$);let c=i.scale,u=T$.high,f=T$.low;e._instanced?(o=i._index,r(o,u.x,u.y,u.z,c.x),s(o,f.x,f.y,f.z,c.y)):(o=i._index*4,r(o+0,u.x,u.y,u.z,c.x),r(o+1,u.x,u.y,u.z,c.x),r(o+2,u.x,u.y,u.z,c.x),r(o+3,u.x,u.y,u.z,c.x),s(o+0,f.x,f.y,f.z,c.y),s(o+1,f.x,f.y,f.z,c.y),s(o+2,f.x,f.y,f.z,c.y),s(o+3,f.x,f.y,f.z,c.y))}function EAe(e,t,n,i){let o,r=n[sf.packedAttribute0],s=i.show,a=i.brightness;e._instanced?(o=i._index,r(o,s,a,0,0)):(o=i._index*4,r(o+0,s,a,0,0),r(o+1,s,a,1,0),r(o+2,s,a,1,1),r(o+3,s,a,0,1))}function SAe(e,t,n,i){let o,r=n[sf.packedAttribute1],s=i.maximumSize,a=i.slice;e._instanced?(o=i._index,r(o,s.x,s.y,s.z,a)):(o=i._index*4,r(o+0,s.x,s.y,s.z,a),r(o+1,s.x,s.y,s.z,a),r(o+2,s.x,s.y,s.z,a),r(o+3,s.x,s.y,s.z,a))}function vAe(e,t,n,i){let o,r=n[sf.color],s=i.color,a=H.floatToByte(s.red),c=H.floatToByte(s.green),u=H.floatToByte(s.blue),f=H.floatToByte(s.alpha);e._instanced?(o=i._index,r(o,a,c,u,f)):(o=i._index*4,r(o+0,a,c,u,f),r(o+1,a,c,u,f),r(o+2,a,c,u,f),r(o+3,a,c,u,f))}function rEt(e,t,n,i){AAe(e,t,n,i),EAe(e,t,n,i),SAe(e,t,n,i),vAe(e,t,n,i)}function sEt(e,t,n,i){let o=e,r=o._textureSliceWidth,s=o._noiseTextureRows,a=t.context;o._vaNoise=eEt(a),o._spNoise=tn.fromCache({context:a,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});let c=o.noiseDetail,u=o.noiseOffset;o._noiseTexture=new Pt({context:a,width:r*r/s,height:r*s,pixelDatatype:Ye.UNSIGNED_BYTE,pixelFormat:nt.RGBA,sampler:new Qt({wrapS:En.REPEAT,wrapT:En.REPEAT,minificationFilter:$t.NEAREST,magnificationFilter:pi.NEAREST})});let f=new Fc({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:TAe(o),u_noiseDetail:function(){return c},u_noiseOffset:function(){return u}},persists:!1,owner:e,postExecute:function(d){o._ready=!0,o._loading=!1}});t.commandList.push(f),o._loading=!0}function aEt(e,t){let n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();let o=e._clouds,r=o.length;if(r>0){n._vaf=oEt(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a<r;++a){let c=o[a];rEt(e,t,s,c)}n._vaf.commit(A$(i))}}var cEt=[];function lEt(e,t){let n=t.context,i=e,r=i._clouds.length,s=i._cloudsToUpdate,a=i._cloudsToUpdateIndex,c=i._propertiesChanged,u=cEt;u.length=0,(c[jAt]||c[qAt])&&u.push(AAe),(c[WAt]||c[KAt])&&u.push(EAe),(c[YAt]||c[XAt])&&u.push(SAe),c[$At]&&u.push(vAe);let f=u.length,d=i._vaf.writers,p,g,m;if(a/r>.1){for(p=0;p<a;++p)for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._vaf.commit(A$(n))}else{for(p=0;p<a;++p){for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._instanced?i._vaf.subCommit(g._index,1):i._vaf.subCommit(g._index*4,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function uEt(e,t,n,i){let o=t.context,r=e,s=new Ue({defines:[],sources:[n]});r._instanced&&s.defines.push("INSTANCED");let a=new Ue({defines:[],sources:[i]});r.debugBillboards&&a.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&a.defines.push("DEBUG_ELLIPSOIDS"),r._sp=tn.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:sf}),r._rs=Ve.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!1,blending:dn.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function fEt(e,t){let n=e,i=t.passes,o=n._uniforms,r=t.commandList;if(i.render){let s=n._colorCommands,a=n._vaf.va,c=a.length;s.length=c;for(let u=0;u<c;u++){let f=s[u];l(f)||(f=s[u]=new Ze),f.pass=ve.TRANSLUCENT,f.owner=e,f.uniformMap=o,f.count=a[u].indicesCount,f.vertexArray=a[u].va,f.shaderProgram=n._sp,f.renderState=n._rs,n._instanced&&(f.count=6,f.instanceCount=n._clouds.length),r.push(f)}}}Uh.prototype.update=function(e){if(C$(this),!this.show)return;let t=this.debugBillboards||this.debugEllipsoids;this._ready=t?!0:l(this._noiseTexture),!this._ready&&!this._loading&&!t&&sEt(this,e,e2,JF),this._instanced=e.context.instancedArrays,sf=this._instanced?GAt:HAt,A$=this._instanced?nEt:tEt;let i=this._clouds.length,o=this._cloudsToUpdate,r=this._cloudsToUpdateIndex;this._createVertexArray?aEt(this,e):r>0&&lEt(this,e),r>i*1.5&&(o.length=i),!(!l(this._vaf)||!l(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&uEt(this,e,QF,$F),fEt(this,e))};Uh.prototype.isDestroyed=function(){return!1};Uh.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),CAe(this._clouds),ue(this)};var E$=Uh;var dEt=P.toRadians(30);function S$(e){this._angle=y(e,dEt)}Object.defineProperties(S$.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});S$.prototype.emit=function(e){let t=Math.tan(this._angle),n=P.randomBetween(0,P.TWO_PI),i=P.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var v$=S$;var hEt=new H,mEt=new H,pEt=new H,_Et=new H,wAe=new ie,H3=new Uint8Array(4);function DAe(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return H.lerp(t.color,n.color,o,i)}function MG(e,t){return{height:e,color:H.clone(t)}}function IAe(e){return e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?t.height===i[n-1].height:!0,a=r?t.height===i[n+1].height:!0;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?H.equals(t.color,i[n-1].color):!1,a=r?H.equals(t.color,i[n+1].color):!1;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=o?H.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function gEt(e){let t,n,i=[],o=e.length;for(t=0;t<o;t++){let r=e[t],s=r.entries,a=s.length,c=[];for(n=0;n<a;n++){let g=s[n],m=P.clamp(g.height,tu._minimumHeight,tu._maximumHeight),x=H.clone(g.color,hEt);x.red*=x.alpha,x.green*=x.alpha,x.blue*=x.alpha,c.push(MG(m,x))}let u=!0,f=!0;for(n=0;n<a-1;n++){let g=c[n+0],m=c[n+1];u=u&&g.height<=m.height,f=f&&g.height>=m.height}f?c=c.reverse():u||cg(c,function(g,m){return P.sign(g.height-m.height)});let d=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!d&&!p&&(d=!0,p=!0),d&&c.splice(0,0,MG(tu._minimumHeight,c[0].color)),p&&c.splice(c.length,0,MG(tu._maximumHeight,c[c.length-1].color)),c=IAe(c),i.push(c)}return i}function yEt(e){let t=gEt(e),n=[],i=[],o;function r(u,f){n.push(MG(u,f))}function s(u,f,d){let p=H.multiplyByScalar(d,1-f.alpha,_Et);p=H.add(p,f,p),r(u,p)}let a=t.length;for(o=0;o<a;o++){let u=t[o],f=0,d=0;i=n,n=[];let p=u.length,g=i.length;for(;f<p||d<g;){let m=f<p?u[f]:void 0,x=f>0?u[f-1]:void 0,b=f<p-1?u[f+1]:void 0,T=d<g?i[d]:void 0,A=d>0?i[d-1]:void 0,C=d<g-1?i[d+1]:void 0;if(l(m)&&l(T)&&m.height===T.height){let E=l(C)&&T.height===C.height,v=!l(A),D=!l(C),O=l(b)&&m.height===b.height,R=!l(x),M=!l(b);E?O?(s(m.height,m.color,T.color),s(m.height,b.color,C.color)):R?(r(m.height,T.color),s(m.height,m.color,C.color)):M?(s(m.height,m.color,T.color),r(m.height,C.color)):(s(m.height,m.color,T.color),s(m.height,m.color,C.color)):v?O?(r(m.height,m.color),s(m.height,b.color,T.color)):M?(r(m.height,m.color),r(m.height,T.color)):(R||r(m.height,m.color),s(m.height,m.color,T.color)):D?O?(s(m.height,m.color,T.color),r(m.height,b.color)):R?(r(m.height,T.color),r(m.height,m.color)):M?s(m.height,m.color,T.color):(s(m.height,m.color,T.color),r(m.height,m.color)):O?(s(m.height,m.color,T.color),s(m.height,b.color,T.color)):R?(r(m.height,T.color),s(m.height,m.color,T.color)):M?(s(m.height,m.color,T.color),r(m.height,T.color)):s(m.height,m.color,T.color),f+=O?2:1,d+=E?2:1}else if(l(m)&&l(T)&&l(A)&&m.height<T.height){let E=DAe(m.height,A,T,pEt);l(x)?l(b)?s(m.height,m.color,E):(s(m.height,m.color,E),r(m.height,E)):(r(m.height,E),s(m.height,m.color,E)),f++}else if(l(T)&&l(m)&&l(x)&&T.height<m.height){let E=DAe(T.height,x,m,mEt);l(A)?l(C)?s(T.height,E,T.color):(s(T.height,E,T.color),r(T.height,E)):(r(T.height,E),s(T.height,E,T.color)),d++}else l(m)&&(!l(T)||m.height<T.height)?(l(T)&&!l(A)&&!l(b)?(r(m.height,m.color),r(m.height,tu._emptyColor),r(T.height,tu._emptyColor)):(!l(T)&&l(A)&&!l(x)&&(r(A.height,tu._emptyColor),r(m.height,tu._emptyColor)),r(m.height,m.color)),f++):l(T)&&(!l(m)||T.height<m.height)&&(r(T.height,T.color),d++)}}return IAe(n)}function tu(e){let{scene:t,layers:n}=y(e,y.EMPTY_OBJECT),{context:i}=t,o=yEt(n),r=o.length,s,a,c;if(!tu._useFloatTexture(i)){a=Ye.UNSIGNED_BYTE,c=nt.RGBA,s=new Uint8Array(r*4);for(let g=0;g<r;g++)ie.packFloat(o[g].height,wAe),ie.pack(wAe,s,g*4)}else{a=Ye.FLOAT,c=i.webgl2?nt.RED:nt.LUMINANCE,s=new Float32Array(r);for(let g=0;g<r;g++)s[g]=o[g].height}let f=Pt.create({context:i,pixelFormat:c,pixelDatatype:a,source:{arrayBufferView:s,width:r,height:1},sampler:new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.NEAREST,magnificationFilter:pi.NEAREST})}),d=new Uint8Array(r*4);for(let g=0;g<r;g++)o[g].color.toBytes(H3),d[g*4+0]=H3[0],d[g*4+1]=H3[1],d[g*4+2]=H3[2],d[g*4+3]=H3[3];let p=Pt.create({context:i,pixelFormat:nt.RGBA,pixelDatatype:Ye.UNSIGNED_BYTE,source:{arrayBufferView:d,width:r,height:1},sampler:new Qt({wrapS:En.CLAMP_TO_EDGE,wrapT:En.CLAMP_TO_EDGE,minificationFilter:$t.LINEAR,magnificationFilter:pi.LINEAR})});return Yi.fromType("ElevationBand",{heights:f,colors:p})}tu._useFloatTexture=function(e){return e.floatingPointTexture};tu._maximumHeight=5906376425472;tu._minimumHeight=-5906376425472;tu._emptyColor=new H(0,0,0,0);var w$=tu;async function xEt(e,t){t=y(t,{}),t.cacheBytes=y(t.cacheBytes,1536*1024*1024),t.maximumCacheOverflowBytes=y(t.maximumCacheOverflowBytes,1024*1024*1024),t.enableCollision=y(t.enableCollision,!0),e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(ys("createGooglePhotorealistic3DTileset(key)","createGooglePhotorealistic3DTileset(key) has been deprecated. It is replaced by createGooglePhotorealistic3DTileset({key}). It will be removed in Cesium 1.126."),e={key:e}),e.onlyUsingWithGoogleGeocoder||bt("google-tiles-with-google-geocoder","Only the Google geocoder can be used with Google Photorealistic 3D Tiles. Set the `geocode` property of Viewer constructor options. You can set additionalOptions.onlyUsingWithGoogleGeocoder to hide this warning once you have configured the geocoder.");let n=y(e.key,zT.defaultApiKey);if(!l(n))return bEt(t);let i,o=zT.getDefaultCredit();l(o)&&(i=[o]);let r=new Ae({url:`${zT.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:n},credits:i});return Es.fromUrl(r,t)}var PAe={};async function bEt(e){let i=PAe[2275207];l(i)||(i=_u.fromAssetId(2275207),PAe[2275207]=i);let o=await i;return Es.fromUrl(o,e)}var D$=xEt;async function TEt(e){let t=await Es.fromIonAssetId(96188,e);e=y(e,y.EMPTY_OBJECT);let n=e.style;if(!l(n)){let i=y(e.defaultColor,H.WHITE).toCssColorString();n=new EC({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var I$=TEt;function CEt(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!l(n.attributes)||!l(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=F.clone(y(e.modelMatrix,F.IDENTITY)),r=y(e.length,1e4);if(l(i.normal)&&t.push(new It({geometry:Fn.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new Wt(1,0,0,1)},modelMatrix:o})),l(i.tangent)&&t.push(new It({geometry:Fn.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new Wt(0,1,0,1)},modelMatrix:o})),l(i.bitangent)&&t.push(new It({geometry:Fn.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new Wt(0,0,1,1)},modelMatrix:o})),t.length>0)return new Pn({asynchronous:!1,geometryInstances:t,appearance:new fn({flat:!0,translucent:!1})})}var P$=CEt;function G3(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;l(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); } +`;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); } +`;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); } +`;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); } +`;break;case"vec4":r=`vec4 getColor() { return ${o}; } +`;break}let s=`in vec3 position3DHigh; +in vec3 position3DLow; +in float batchId; +${n?"":`in ${i} ${t}; +`}out ${i} ${o}; +void main() { - vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); - float radius = length(rotatedPosition) * lengthScalar; - float burst = 1.0 - smoothstep(0.0, 0.55, radius); - return vec4(burst); -} - +vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); +${n?`${o} = czm_batchTable_${t}(batchId); +`:`${o} = ${t}; +`}gl_Position = czm_modelViewProjectionRelativeToEye * p; +}`,a=`in ${i} ${o}; +${r} void main() { - float lengthScalar = 2.0 / sqrt(2.0); - vec2 position = v_textureCoordinates - vec2(0.5); - float radius = length(position) * lengthScalar; - float surface = step(radius, u_radiusTS); - vec4 color = vec4(vec2(1.0), surface + 0.2, surface); - - float glow = 1.0 - smoothstep(0.0, 0.55, radius); - color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; +out_FragColor = getColor(); +}`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=ao.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(G3.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});G3.prototype.getFragmentShaderSource=ao.prototype.getFragmentShaderSource;G3.prototype.isTranslucent=ao.prototype.isTranslucent;G3.prototype.getRenderState=ao.prototype.getRenderState;var R$=G3;function LG(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.id=e.id,this._id=void 0,this._primitive=void 0}LG.prototype.update=function(e){if(this.show){if(!l(this._primitive)||!F.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=F.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,l(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new It({geometry:new Z_({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:is.VERTEX_FORMAT,colors:[H.RED,H.RED],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),n=new It({geometry:new Z_({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:is.VERTEX_FORMAT,colors:[H.GREEN,H.GREEN],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),i=new It({geometry:new Z_({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:is.VERTEX_FORMAT,colors:[H.BLUE,H.BLUE],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this});this._primitive=new Pn({geometryInstances:[t,n,i],appearance:new is,asynchronous:!1})}this._primitive.update(e)}};LG.prototype.isDestroyed=function(){return!1};LG.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var W3=LG;function AEt(e){this.direction=h.clone(e.direction),this.color=H.clone(y(e.color,H.WHITE)),this.intensity=y(e.intensity,1)}var O$=AEt;var j3=`in vec3 v_positionMC; +in vec3 v_positionEC; +in vec2 v_st; - vec4 burst = vec4(0.0); +void main() +{ + czm_materialInput materialInput; - // The following loop has been manually unrolled for speed, to - // avoid sin() and cos(). - // - //for (float i = 0.4; i < 3.2; i += 1.047) { - // vec2 direction = vec2(sin(i), cos(i)); - // burst += 0.4 * addBurst(position, direction, lengthScalar); - // - // direction = vec2(sin(i - 0.08), cos(i - 0.08)); - // burst += 0.3 * addBurst(position, direction, lengthScalar); - //} + vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif - burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 - burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 - burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 + materialInput.s = v_st.s; + materialInput.st = v_st; + materialInput.str = vec3(v_st, 0.0); - burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 - burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 - burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 + // Convert tangent space material normal to eye space + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); - // End of manual loop unrolling. + // Convert view vector to world space + vec3 positionToEyeEC = -v_positionEC; + materialInput.positionToEyeEC = positionToEyeEC; - color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; + czm_material material = czm_getMaterial(materialInput); - out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif } -`;var N3=`in vec2 direction; - -uniform float u_size; - -out vec2 v_textureCoordinates; +`;var q3=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec2 st; +in float batchId; -void main() -{ - vec4 position; - if (czm_morphTime == 1.0) - { - position = vec4(czm_sunPositionWC, 1.0); - } - else - { - position = vec4(czm_sunPositionColumbusView.zxy, 1.0); - } - - vec4 positionEC = czm_view * position; - vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); - - vec2 halfSize = vec2(u_size * 0.5); - halfSize *= ((direction * 2.0) - 1.0); - - gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); - - v_textureCoordinates = direction; -} -`;function B3(){this.show=!0,this._drawCommand=new Xe({primitiveType:Ne.TRIANGLES,boundingVolume:new ae,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new ae,this._boundingVolume2D=new ae,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(B3.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var QCt=new z,JCt=new z,eAt=new oe,F3=new oe;B3.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===ne.SCENE2D||i===ne.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!l(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let E=Math.max(r,s);E=Math.pow(2,Math.ceil(Math.log(E)/Math.log(2))-2),E=Math.max(1,E);let v=n?o.halfFloatingPointTexture?Je.HALF_FLOAT:Je.FLOAT:Je.UNSIGNED_BYTE;this._texture=new Mt({context:o,width:E,height:E,pixelFormat:ot.RGBA,pixelDatatype:v}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let D=this,O={u_radiusTS:function(){return D._radiusTS}};this._commands.computeCommand=new gd({fragmentShaderSource:L3,outputTexture:this._texture,uniformMap:O,persists:!1,owner:this,postExecute:function(){D._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!l(a.vertexArray)){let E={direction:0},v=new Uint8Array(4*2);v[0]=0,v[1]=0,v[2]=255,v[3]=0,v[4]=255,v[5]=255,v[6]=0,v[7]=255;let D=pt.createVertexBuffer({context:o,typedArray:v,usage:ke.STATIC_DRAW}),O=[{index:E.direction,vertexBuffer:D,componentsPerAttribute:2,normalize:!0,componentDatatype:X.UNSIGNED_BYTE}],R=pt.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:ke.STATIC_DRAW,indexDatatype:Fe.UNSIGNED_SHORT});a.vertexArray=new pi({context:o,attributes:O,indexBuffer:R}),a.shaderProgram=an.fromCache({context:o,vertexShaderSource:N3,fragmentShaderSource:M3,attributeLocations:E}),a.renderState=Ve.fromCache({blending:hn.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,u=o.uniformState.sunPositionColumbusView,f=this._boundingVolume,d=this._boundingVolume2D;h.clone(c,f.center),d.center.x=u.z,d.center.y=u.x,d.center.z=u.y,f.radius=P.SOLAR_RADIUS+P.SOLAR_RADIUS*this._glowLengthTS,d.radius=f.radius,i===ne.SCENE3D?ae.clone(f,a.boundingVolume):i===ne.COLUMBUS_VIEW&&ae.clone(d,a.boundingVolume);let p=Gi.computeActualEllipsoidPosition(e,c,F3),g=h.magnitude(h.subtract(p,e.camera.position,F3)),m=o.uniformState.projection,x=eAt;x.x=0,x.y=0,x.z=-g,x.w=1;let b=F.multiplyByVector(m,x,F3),T=Gi.clipToGLWindowCoordinates(t.viewport,b,QCt);x.x=P.SOLAR_RADIUS;let A=F.multiplyByVector(m,x,F3),C=Gi.clipToGLWindowCoordinates(t.viewport,A,JCt);return this._size=z.magnitude(z.subtract(C,T,F3)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};B3.prototype.isDestroyed=function(){return!1};B3.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),ue(this)};var k3=B3;var SG={};SG.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){l(r)?r.length=0:r=[];let s,a,c;t?(s=n<e,a=i<e,c=o<e):(s=n>e,a=i>e,c=o>e);let u=s+a+c,f,d,p,g,m,x;return u===1?s?(f=(e-n)/(i-n),d=(e-n)/(o-n),r.push(1),r.push(2),d!==1&&(r.push(-1),r.push(0),r.push(2),r.push(d)),f!==1&&(r.push(-1),r.push(0),r.push(1),r.push(f))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(m=(e-o)/(n-o),x=(e-o)/(i-o),r.push(0),r.push(1),x!==1&&(r.push(-1),r.push(2),r.push(1),r.push(x)),m!==1&&(r.push(-1),r.push(2),r.push(0),r.push(m))):u===2?!s&&n!==e?(g=(e-i)/(n-i),m=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(m)):!a&&i!==e?(x=(e-o)/(i-o),f=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(x),r.push(-1),r.push(0),r.push(1),r.push(f)):!c&&o!==e&&(d=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(d),r.push(-1),r.push(1),r.push(2),r.push(p)):u!==3&&(r.push(0),r.push(1),r.push(2)),r};SG.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let u=n-s,f=s-o,d=r-a,p=i-a,g=1/(d*u+f*p),m=t-a,x=e-s,b=(d*x+f*m)*g,T=(-p*x+u*m)*g,A=1-b-T;return l(c)?(c.x=b,c.y=T,c.z=A,c):new h(b,T,A)};SG.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let u=(s-o)*(t-r)-(a-r)*(e-o),f=(n-e)*(t-r)-(i-t)*(e-o),d=(a-r)*(n-e)-(s-o)*(i-t);if(d===0)return;let p=u/d,g=f/d;if(p>=0&&p<=1&&g>=0&&g<=1)return l(c)||(c=new z),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var bg=SG;function L0(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=wG(e.westIndices,o,t),this._southIndices=wG(e.southIndices,r,t),this._eastIndices=wG(e.eastIndices,o,t),this._northIndices=wG(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(L0.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return l(this._mesh)}}});var vG=[];function wG(e,t,n){vG.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)vG[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(vG.sort(t),Fe.createTypedArray(n,vG)):e}var XCe="createVerticesFromQuantizedTerrainMesh",tAt=new yi(XCe),nAt=new yi(XCe,Oh.maximumAsynchronousTasks);L0.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToRectangle(n,i,o),d=(a?nAt:tAt).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:u,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!l(d))return;let p=this;return Promise.resolve(d).then(function(g){let m=p._quantizedVertices.length/3,x=m+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,b=Fe.createTypedArray(x,g.indices),T=new Float32Array(g.vertices),A=g.center,C=g.minimumHeight,E=g.maximumHeight,v=p._boundingSphere,D=p._orientedBoundingBox,O=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),R=g.vertexStride,M=Dc.clone(g.encoding);return p._mesh=new rd(A,T,b,g.indexCountWithoutSkirts,m,C,E,v,O,R,D,M,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var iAt=new yi("upsampleQuantizedTerrainMesh",Oh.maximumAsynchronousTasks);L0.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=iAt.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let m=c?g*.5:this._westSkirtHeight,x=u?g*.5:this._southSkirtHeight,b=c?this._eastSkirtHeight:g*.5,T=u?this._northSkirtHeight:g*.5,A=this._credits;return Promise.resolve(p).then(function(C){let E=new Uint16Array(C.vertices),v=Fe.createTypedArray(E.length/3,C.indices),D;return l(C.encodedNormals)&&(D=new Uint8Array(C.encodedNormals)),new L0({quantizedVertices:E,indices:v,encodedNormals:D,minimumHeight:C.minimumHeight,maximumHeight:C.maximumHeight,boundingSphere:ae.clone(C.boundingSphere),orientedBoundingBox:In.clone(C.orientedBoundingBox),horizonOcclusionPoint:h.clone(C.horizonOcclusionPoint),westIndices:C.westIndices,southIndices:C.southIndices,eastIndices:C.eastIndices,northIndices:C.northIndices,westSkirtHeight:m,southSkirtHeight:x,eastSkirtHeight:b,northSkirtHeight:T,childTileMask:0,credits:A,createdByUpsampling:!0})})};var $Z=32767,KCe=new h;L0.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1);i*=$Z;let o=P.clamp((n-e.south)/e.height,0,1);return o*=$Z,l(this._mesh)?aAt(this,i,o):cAt(this,i,o)};function ZCe(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),u=Math.max(n,o,s),f=Math.min(i,r,a),d=Math.max(i,r,a);return e>=c&&e<=u&&t>=f&&t<=d}var oAt=new z,rAt=new z,sAt=new z;function aAt(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,oAt),g=r.decodeTextureCoordinates(o,f,rAt),m=r.decodeTextureCoordinates(o,d,sAt);if(ZCe(t,n,p.x,p.y,g.x,g.y,m.x,m.y)){let x=bg.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,KCe);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),A=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*A}}}}function cAt(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=i[u],g=i[f],m=i[d],x=o[u],b=o[f],T=o[d];if(ZCe(t,n,p,x,g,b,m,T)){let A=bg.computeBarycentricCoordinates(t,n,p,x,g,b,m,T,KCe);if(A.x>=-1e-15&&A.y>=-1e-15&&A.z>=-1e-15){let C=A.x*r[u]+A.y*r[f]+A.z*r[d];return P.lerp(e._minimumHeight,e._maximumHeight,C/$Z)}}}}L0.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};L0.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var yC=L0;function Lv(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var xC=new se;function lAt(e,t,n,i){let o=i.length;for(let r=0;r<o;++r){let s=i[r];if(s.x===t&&s.y===n&&s.level===e)return!0}return!1}Lv.prototype.addAvailableTileRange=function(e,t,n,i,o){let r=this._tilingScheme,s=this._rootNodes;if(e===0)for(let p=n;p<=o;++p)for(let g=t;g<=i;++g)lAt(e,g,p,s)||s.push(new Ov(r,void 0,0,g,p));r.tileXYToRectangle(t,n,e,xC);let a=xC.west,c=xC.north;r.tileXYToRectangle(i,o,e,xC);let u=xC.east,f=xC.south,d=new mAt(e,a,f,u,c);for(let p=0;p<s.length;++p){let g=s[p];QZ(g.extent,d)&&pAt(this._maximumLevel,g,d)}};Lv.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){let i=this._rootNodes[n];if(Mv(i.extent,e)){t=i;break}}return l(t)?V3(void 0,t,e):-1};var uAt=[],fAt=[],dAt=new se,hAt=new se;Lv.prototype.computeBestAvailableLevelOverRectangle=function(e){let t=uAt;t.length=0,e.east<e.west?(t.push(se.fromRadians(-Math.PI,e.south,e.east,e.north,dAt)),t.push(se.fromRadians(e.west,e.south,Math.PI,e.north,hAt))):t.push(e);let n=fAt;n.length=0;let i;for(i=0;i<this._rootNodes.length;++i)U3(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(l(n[i])&&n[i].length===0)return i;return 0};var $Ce=new fe;Lv.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,xC);return se.center(i,$Ce),this.computeMaximumLevelAtPosition($Ce)>=e};Lv.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function Ov(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(Ov.prototype,{nw:{get:function(){return this._nw||(this._nw=new Ov(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new Ov(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new Ov(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new Ov(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function mAt(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function QZ(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function pAt(e,t,n){for(;t.level<e;)if(DG(t.nw.extent,n))t=t.nw;else if(DG(t.ne.extent,n))t=t.ne;else if(DG(t.sw.extent,n))t=t.sw;else if(DG(t.se.extent,n))t=t.se;else break;if(t.rectangles.length===0||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let i=Po(t.rectangles,n.level,_At);i<0&&(i=~i),t.rectangles.splice(i,0,n)}}function _At(e,t){return e.level-t}function DG(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function Mv(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function V3(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&Mv(t._nw.extent,n),s=t._ne&&Mv(t._ne.extent,n),a=t._sw&&Mv(t._sw.extent,n),c=t._se&&Mv(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,V3(t,t._nw,n))),s&&(i=Math.max(i,V3(t,t._ne,n))),a&&(i=Math.max(i,V3(t,t._sw,n))),c&&(i=Math.max(i,V3(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];Mv(a,n)&&(i=a.level)}t=t.parent}return i}function U3(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||QZ(t.extent,n[i]);if(!o)return;let r=t.rectangles;for(i=0;i<r.length;++i){let s=r[i];e[s.level]||(e[s.level]=n),e[s.level]=gAt(e[s.level],s)}U3(e,t._nw,n),U3(e,t._ne,n),U3(e,t._sw,n),U3(e,t._se,n)}function gAt(e,t){let n=[];for(let i=0;i<e.length;++i){let o=e[i];QZ(o,t)?(o.west<t.west&&n.push(new se(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new se(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new se(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new se(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var kh=Lv;function yAt(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function JCe(e){this.requestVertexNormals=y(e.requestVertexNormals,!1),this.requestWaterMask=y(e.requestWaterMask,!1),this.requestMetadata=y(e.requestMetadata,!0),this.ellipsoid=y(e.ellipsoid,ee.default),this.heightmapWidth=65,this.heightmapStructure=void 0,this.hasWaterMask=!1,this.hasMetadata=!1,this.hasVertexNormals=!1,this.scheme=void 0,this.lastResource=void 0,this.layerJsonResource=void 0,this.previousError=void 0,this.availability=void 0,this.tilingScheme=void 0,this.levelZeroMaximumGeometricError=void 0,this.heightmapStructure=void 0,this.layers=[],this.attribution="",this.overallAvailability=[],this.overallMaxZoom=0,this.tileCredits=[]}JCe.prototype.build=function(e){e._heightmapWidth=this.heightmapWidth,e._scheme=this.scheme;let t=l(this.lastResource.credits)?this.lastResource.credits:[];e._tileCredits=t.concat(this.tileCredits),e._availability=this.availability,e._tilingScheme=this.tilingScheme,e._requestWaterMask=this.requestWaterMask,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._heightmapStructure=this.heightmapStructure,e._layers=this.layers,e._hasWaterMask=this.hasWaterMask,e._hasVertexNormals=this.hasVertexNormals,e._hasMetadata=this.hasMetadata};async function eAe(e,t,n){if(!t.format){let x="The tile format is not specified in the layer.json file.";throw e.previousError=Do.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}if(!t.tiles||t.tiles.length===0){let x="The layer.json file does not specify any tile URL templates.";throw e.previousError=Do.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}let i=!1,o=!1,r=!1,s=!0,a=!1;if(t.format==="heightmap-1.0")a=!0,l(e.heightmapStructure)||(e.heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),o=!0,e.requestWaterMask=!0;else if(t.format.indexOf("quantized-mesh-1.")!==0){let x=`The tile format "${t.format}" is invalid or not supported.`;throw e.previousError=Do.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}let c=t.tiles,u=t.maxzoom;if(e.overallMaxZoom=Math.max(e.overallMaxZoom,u),!t.projection||t.projection==="EPSG:4326")e.tilingScheme=new Ki({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else if(t.projection==="EPSG:3857")e.tilingScheme=new is({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else{let x=`The projection "${t.projection}" is invalid or not supported.`;throw e.previousError=Do.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}if(e.levelZeroMaximumGeometricError=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.heightmapWidth,e.tilingScheme.getNumberOfXTilesAtLevel(0)),!t.scheme||t.scheme==="tms"||t.scheme==="slippyMap")e.scheme=t.scheme;else{let x=`The scheme "${t.scheme}" is invalid or not supported.`;throw e.previousError=Do.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}let f;l(t.extensions)&&t.extensions.indexOf("octvertexnormals")!==-1?i=!0:l(t.extensions)&&t.extensions.indexOf("vertexnormals")!==-1&&(i=!0,s=!1),l(t.extensions)&&t.extensions.indexOf("watermask")!==-1&&(o=!0),l(t.extensions)&&t.extensions.indexOf("metadata")!==-1&&(r=!0);let d=t.metadataAvailability,p=t.available,g;if(l(p)&&!l(d)){g=new kh(e.tilingScheme,p.length);for(let x=0;x<p.length;++x){let b=p[x],T=e.tilingScheme.getNumberOfYTilesAtLevel(x);l(e.overallAvailability[x])||(e.overallAvailability[x]=[]);for(let A=0;A<b.length;++A){let C=b[A],E=T-C.endY-1,v=T-C.startY-1;e.overallAvailability[x].push([C.startX,E,C.endX,v]),g.addAvailableTileRange(x,C.startX,E,C.endX,v)}}}else l(d)&&(f=new kh(e.tilingScheme,u),g=new kh(e.tilingScheme,u),e.overallAvailability[0]=[[0,0,1,0]],g.addAvailableTileRange(0,0,0,1,0));e.hasWaterMask=e.hasWaterMask||o,e.hasVertexNormals=e.hasVertexNormals||i,e.hasMetadata=e.hasMetadata||r,l(t.attribution)&&(e.attribution.length>0&&(e.attribution+=" "),e.attribution+=t.attribution),e.layers.push(new yAt({resource:e.lastResource,version:t.version,isHeightmap:a,tileUrlTemplates:c,availability:g,hasVertexNormals:i,hasWaterMask:o,hasMetadata:r,availabilityLevels:d,availabilityTilesLoaded:f,littleEndianExtensionSize:s}));let m=t.parentUrl;return l(m)?l(g)?(e.lastResource=e.lastResource.getDerivedResource({url:m}),e.lastResource.appendForwardSlash(),e.layerJsonResource=e.lastResource.getDerivedResource({url:"layer.json"}),await t$(e),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function xAt(e,t,n){let i=`An error occurred while accessing ${e.layerJsonResource.url}.`;if(l(t)&&(i+=` -${t.message}`),e.previousError=Do.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,i),e.previousError.retry)return t$(e,n);throw new ce(i)}async function bAt(e,t,n){await eAe(e,t,n);let i=e.overallAvailability.length;if(i>0){let o=e.availability=new kh(e.tilingScheme,e.overallMaxZoom);for(let r=0;r<i;++r){let s=e.overallAvailability[r];for(let a=0;a<s.length;++a){let c=s[a];o.addAvailableTileRange(r,c[0],c[1],c[2],c[3])}}}if(e.attribution.length>0){let o=new wt(e.attribution);e.tileCredits.push(o)}return!0}async function t$(e,t){try{let n=await e.layerJsonResource.fetchJson();return bAt(e,n,t)}catch(n){return l(n)&&n.statusCode===404?(await eAe(e,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},t),!0):xAt(e,n,t)}}function Vh(e){e=y(e,y.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new me;let t=e.credit;typeof t=="string"&&(t=new wt(t)),this._credit=t,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._tileCredits=void 0}var JZ={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function QCe(e){return!l(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function TAt(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new qa({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function CAt(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,u=c+1,f=Float64Array.BYTES_PER_ELEMENT*c,d=Float64Array.BYTES_PER_ELEMENT*u,g=Uint16Array.BYTES_PER_ELEMENT*3,m=3,x=Uint16Array.BYTES_PER_ELEMENT,b=x*m,T=new DataView(t),A=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let C=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let E=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let v=new ae(new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0)),T.getFloat64(a+f,!0));a+=d;let D=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let O=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let R=new Uint16Array(t,a,O*3);a+=O*g,O>64*1024&&(x=Uint32Array.BYTES_PER_ELEMENT,b=x*m);let M=R.subarray(0,O),N=R.subarray(O,2*O),_=R.subarray(O*2,3*O);Fn.zigZagDeltaDecode(M,N,_),a%x!==0&&(a+=x-a%x);let S=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let w=Fe.createTypedArrayFromArrayBuffer(O,t,a,S*m);a+=S*b;let I=0,L=w.length;for(let re=0;re<L;++re){let _e=w[re];w[re]=I-_e,_e===0&&++I}let B=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let U=Fe.createTypedArrayFromArrayBuffer(O,t,a,B);a+=B*x;let V=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let G=Fe.createTypedArrayFromArrayBuffer(O,t,a,V);a+=V*x;let k=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let Y=Fe.createTypedArrayFromArrayBuffer(O,t,a,k);a+=k*x;let W=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let Q=Fe.createTypedArrayFromArrayBuffer(O,t,a,W);a+=W*x;let j,Z;for(;a<T.byteLength;){let re=T.getUint8(a,!0);a+=Uint8Array.BYTES_PER_ELEMENT;let _e=T.getUint32(a,s);if(a+=Uint32Array.BYTES_PER_ELEMENT,re===JZ.OCT_VERTEX_NORMALS&&e._requestVertexNormals)j=new Uint8Array(t,a,O*2);else if(re===JZ.WATER_MASK&&e._requestWaterMask)Z=new Uint8Array(t,a,_e);else if(re===JZ.METADATA&&e._requestMetadata){let ye=T.getUint32(a,!0);if(ye>0){let ve=Mo(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,ye).available;if(l(ve))for(let Me=0;Me<ve.length;++Me){let Oe=n+Me+1,ct=ve[Me],Ke=e._tilingScheme.getNumberOfYTilesAtLevel(Oe);for(let _t=0;_t<ct.length;++_t){let Ze=ct[_t],Dt=Ke-Ze.endY-1,gt=Ke-Ze.startY-1;e.availability.addAvailableTileRange(Oe,Ze.startX,Dt,Ze.endX,gt),r.availability.addAvailableTileRange(Oe,Ze.startX,Dt,Ze.endX,gt)}}}r.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}a+=_e}let J=e.getLevelMaximumGeometricError(n)*5,he=e._tilingScheme.tileXYToRectangle(i,o,n),xe=In.fromRectangle(he,C,E,e._tilingScheme.ellipsoid);return new yC({center:A,minimumHeight:C,maximumHeight:E,boundingSphere:v,orientedBoundingBox:xe,horizonOcclusionPoint:D,quantizedVertices:R,encodedNormals:j,indices:w,westIndices:U,southIndices:G,eastIndices:Y,northIndices:Q,westSkirtHeight:J,southSkirtHeight:J,eastSkirtHeight:J,northSkirtHeight:J,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:Z,credits:e._tileCredits})}Vh.prototype.requestTileGeometry=function(e,t,n,i){let o=this._layers,r,s=o.length,a=!1,c=Promise.resolve();if(s===1)r=o[0];else for(let u=0;u<s;++u){let f=o[u];if(!l(f.availability)||f.availability.isTileAvailable(n,e,t)){r=f;break}let d=n$(this,e,t,n,f,u===0);d.result&&(a=!0,c=c.then(()=>d.promise))}return!l(r)&&a?c.then(()=>new Promise(u=>{setTimeout(()=>{let f=this.requestTileGeometry(e,t,n,i);u(f)},0)})):tAe(this,e,t,n,r,i)};function tAe(e,t,n,i,o,r){if(!l(o))return Promise.reject(new ce("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let u,f,d=s[(t+a+i)%s.length],p=o.resource;l(p._ionEndpoint)&&!l(p._ionEndpoint.externalType)?(c.length!==0&&(f={extensions:c.join("-")}),u=QCe(void 0)):u=QCe(c);let g=p.getDerivedResource({url:d,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:f,headers:u,request:r}).fetchArrayBuffer();if(l(g))return g.then(function(m){return l(m)?l(e._heightmapStructure)?TAt(e,m,i,t,n):CAt(e,m,i,t,n,o):Promise.reject(new ce("Mesh buffer doesn't exist."))})}Object.defineProperties(Vh.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});Vh.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Vh.fromIonAssetId=async function(e,t){let n=await gu.fromAssetId(e);return Vh.fromUrl(n,t)};Vh.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=we.createIfNeeded(e);n.appendForwardSlash();let i=new JCe(t);i.lastResource=n,i.layerJsonResource=i.lastResource.getDerivedResource({url:"layer.json"}),await t$(i);let o=new Vh(t);return i.build(o),o};Vh.prototype.getTileDataAvailable=function(e,t,n){if(!l(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;r<o;++r)if(n$(this,e,t,n,i[r],r===0).result)return;return!1};Vh.prototype.loadTileDataAvailability=function(e,t,n){if(!l(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r<o;++r){let s=n$(this,e,t,n,i[r],r===0);if(l(s.promise))return s.promise}};function e$(e,t,n,i){if(i===0)return;let o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,s=1<<i-r,a=t/s|0,c=n/s|0;return{level:r,x:a,y:c}}function n$(e,t,n,i,o,r){if(!l(o.availabilityLevels))return{result:!1};let s,a=function(){delete o.availabilityPromiseCache[s]},c=o.availabilityTilesLoaded,u=o.availability,f=e$(o,t,n,i);for(;l(f);){if(u.isTileAvailable(f.level,f.x,f.y)&&!c.isTileAvailable(f.level,f.x,f.y)){let d;if(!r&&(s=`${f.level}-${f.x}-${f.y}`,d=o.availabilityPromiseCache[s],!l(d))){let p=new Xo({throttle:!1,throttleByServer:!0,type:us.TERRAIN});d=tAe(e,f.x,f.y,f.level,o,p),l(d)&&(o.availabilityPromiseCache[s]=d,d.then(a))}return{result:!0,promise:d}}f=e$(o,f.x,f.y,f.level)}return{result:!1}}Vh._getAvailabilityTile=e$;var bC=Vh;function AAt(e){return e=y(e,y.EMPTY_OBJECT),bC.fromIonAssetId(2426648,{requestVertexNormals:y(e.requestVertexNormals,!1)})}var z3=AAt;function EAt(e){return e=y(e,y.EMPTY_OBJECT),bC.fromIonAssetId(1,{requestVertexNormals:y(e.requestVertexNormals,!1),requestWaterMask:y(e.requestWaterMask,!1),ellipsoid:ee.WGS84})}var TC=EAt;function Nv(e){this._ready=!1,this._provider=void 0,this._errorEvent=new me,this._readyEvent=new me,vAt(this,e)}Object.defineProperties(Nv.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});Nv.fromWorldTerrain=function(e){return new Nv(TC(e))};Nv.fromWorldBathymetry=function(e){return new Nv(z3(e))};function SAt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function vAt(e,t){let n;try{n=await Promise.resolve(t),e._provider=n,e._ready=!0,e._readyEvent.raiseEvent(n)}catch(i){SAt(e._errorEvent,i)}}var H3=Nv;function Fv(){}Fv.prototype.boundingVolume=void 0;Fv.prototype.boundingSphere=void 0;Fv.prototype.distanceToCamera=function(e){de.throwInstantiationError()};Fv.prototype.intersectPlane=function(e){de.throwInstantiationError()};Fv.prototype.createDebugVolume=function(e){de.throwInstantiationError()};var i$=Fv;function G3(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Ki({ellipsoid:e.ellipsoid}),this._color=y(e.color,H.YELLOW),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(G3.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});G3.prototype.getTileCredits=function(e,t,n){};G3.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};G3.prototype.pickFeatures=function(e,t,n,i,o){};var W3=G3;function o$(e){de.throwInstantiationError()}o$.prototype.isReady=de.throwInstantiationError;o$.prototype.shouldDiscardImage=de.throwInstantiationError;var r$=o$;var wAt={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},s$=Object.freeze(wAt);function AC(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.shadows=y(e.shadows,bn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new dm(e.shading),this.style=e.style,this.frameFailed=new me,this.frameChanged=new me,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new t_,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(AC.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){ps.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(l(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}}});function DAt(e){return`uniform vec4 czm_pickColor; -${e}`}function IAt(e){return function(t){return bt(t,{czm_pickColor:function(){return e._pickId.color}})}}function PAt(){return"czm_pickColor"}AC.prototype.makeStyleDirty=function(){this._styleDirty=!0};AC.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var RAt=new K;function c$(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function CC(e,t){return e._intervals.indexOf(t.start)}function OAt(e,t){let n=e._intervals,i=e._clock,o=c$(e);if(o===0)return;let r=e._getAverageLoadTime(),s=K.addSeconds(i.currentTime,r*o,RAt),a=n.indexOf(s),c=CC(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function MAt(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function LAt(e,t,n){let i=c$(e),o=CC(e,t),r=CC(e,n);return i>=0?o>=r:o<=r}function iAe(e,t){return function(n){let i=l(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function NAt(e,t,n){let i=CC(e,t),o=e._frames,r=o[i];if(!l(r)){let s=t.data.transform,a=l(s)?F.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:Ci(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber,uri:c},o[i]=r,we.fetchArrayBuffer({url:c}).then(function(u){r.pointCloud=new zB({arrayBuffer:u,cull:!0,fragmentShaderLoaded:DAt,uniformMapLoaded:IAt(e),pickIdLoaded:PAt})}).catch(iAe(e,c))}return r}function FAt(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function BAt(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(l(o)&&!t.ready){let r=i.commandList,s=r.length;if(oAe(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(Ci()-t.timestamp)/1e3;FAt(e,a)}}t.touchedFrameNumber=i.frameNumber}var kAt=new F;function VAt(e,t){let n=e.shading;return l(n)&&l(n.baseResolution)?n.baseResolution:l(t.boundingSphere)?P.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function UAt(e){let t=e.shading;return l(t)&&l(t.maximumAttenuation)?t.maximumAttenuation:10}var zAt=new dm;function oAe(e,t,n,i){let o=y(e.shading,zAt),r=t.pointCloud,s=y(t.transform,F.IDENTITY);r.modelMatrix=F.multiplyTransformation(e.modelMatrix,s,kAt),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=VAt(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=UAt(e);try{r.update(i)}catch(a){iAe(e,t.uri)(a)}t.touchedFrameNumber=i.frameNumber}function a$(e,t,n,i){let o=NAt(e,t,i);BAt(e,o,n,i)}function HAt(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function rAe(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(l(r)&&(!l(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),l(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function GAt(e,t){let n=CC(e,t),i=e._frames[n];if(l(i)&&i.ready)return i}function nAe(e,t,n,i,o){return l(n)?n.ready?!0:(a$(e,t,i,o),n.ready):!1}function WAt(e,t,n,i,o){let r,s,a,c=e._intervals,u=e._frames,f=CC(e,n),d=CC(e,t);if(f>=d){for(r=f;r>=d;--r)if(s=c.get(r),a=u[r],nAe(e,s,a,i,o))return s}else for(r=f;r<=d;++r)if(s=c.get(r),a=u[r],nAe(e,s,a,i,o))return s;return t}function jAt(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];l(s)&&l(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var Bv={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};AC.prototype.update=function(e){if(e.mode===ne.MORPHING||!this.show)return;l(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time));let t=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=l(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&jAt(this,o,s),Bv.timeSinceLoad=t,Bv.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,u=e.commandList,f=u.length,d=this._previousInterval,p=this._nextInterval,g=MAt(this);if(!l(g))return;let m=!1,x=c$(this),b=x===0;x!==this._clockMultiplier&&(m=!0,this._clockMultiplier=x),(!l(d)||b)&&(d=g),(!l(p)||m||LAt(this,g,p))&&(p=OAt(this,g)),d=WAt(this,d,g,Bv,e);let T=GAt(this,d);l(T)||(a$(this,d,Bv,e),T=this._lastRenderedFrame),l(T)&&oAe(this,T,Bv,e),l(p)&&a$(this,p,Bv,e);let A=this;l(T)&&!l(this._lastRenderedFrame)&&e.afterRender.push(function(){return!0}),l(T)&&T!==this._lastRenderedFrame&&A.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){return A.frameChanged.raiseEvent(A),!0}),this._previousInterval=d,this._nextInterval=p,this._lastRenderedFrame=T;let C=this._totalMemoryUsageInBytes,E=this.maximumMemoryUsage*1024*1024;C>E&&rAe(this,HAt(e));let D=u.length-f;l(a)&&a.attenuation&&a.eyeDomeLighting&&D>0&&c.update(e,f,a,this.boundingSphere)};AC.prototype.isDestroyed=function(){return!1};AC.prototype.destroy=function(){return rAe(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var kv=AC;var j3=` -in vec2 v_textureCoordinates; +out vec3 v_positionMC; +out vec3 v_positionEC; +out vec2 v_st; void main() { - czm_materialInput materialInput; - - materialInput.s = v_textureCoordinates.s; - materialInput.st = v_textureCoordinates; - materialInput.str = vec3(v_textureCoordinates, 0.0); - materialInput.normalEC = vec3(0.0, 0.0, -1.0); - - czm_material material = czm_getMaterial(materialInput); + vec4 p = czm_computePosition(); - out_FragColor = vec4(material.diffuse + material.emission, material.alpha); + v_positionMC = position3DHigh + position3DLow; // position in model coordinates + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_st = st; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;function IG(e,t){this.show=!0,l(e)||(e=new We),this.rectangle=We.clone(e),l(t)||(t=Xi.fromType(Xi.ColorType,{color:new H(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}IG.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!l(t)||!We.equals(t.viewport,this.rectangle))&&(this._rs=Ve.fromCache({blending:hn.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!l(this._overlayCommand)){this._material=this.material,l(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new ze({sources:[this._material.shaderSource,j3]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=Se.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};IG.prototype.isDestroyed=function(){return!1};IG.prototype.destroy=function(){return l(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),ue(this)};var l$=IG;function u$(){de.throwInstantiationError()}Object.defineProperties(u$.prototype,{globalTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shape:{get:de.throwInstantiationError},minBounds:{get:de.throwInstantiationError},maxBounds:{get:de.throwInstantiationError},dimensions:{get:de.throwInstantiationError},paddingBefore:{get:de.throwInstantiationError},paddingAfter:{get:de.throwInstantiationError},names:{get:de.throwInstantiationError},types:{get:de.throwInstantiationError},componentTypes:{get:de.throwInstantiationError},minimumValues:{get:de.throwInstantiationError},maximumValues:{get:de.throwInstantiationError},maximumTileCount:{get:de.throwInstantiationError},keyframeCount:{get:de.throwInstantiationError},timeIntervalCollection:{get:de.throwInstantiationError}});u$.prototype.requestData=de.throwInstantiationError;var f$=u$;function EC(){de.throwInstantiationError()}Object.defineProperties(EC.prototype,{orientedBoundingBox:{get:de.throwInstantiationError},boundingSphere:{get:de.throwInstantiationError},boundTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shaderUniforms:{get:de.throwInstantiationError},shaderDefines:{get:de.throwInstantiationError},shaderMaximumIntersectionsLength:{get:de.throwInstantiationError}});EC.prototype.update=de.throwInstantiationError;EC.prototype.computeOrientedBoundingBoxForTile=de.throwInstantiationError;EC.prototype.computeOrientedBoundingBoxForSample=de.throwInstantiationError;EC.DefaultMinBounds=de.throwInstantiationError;EC.DefaultMaxBounds=de.throwInstantiationError;var d$=EC;function qAt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!l(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors&&e.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,o)}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function sAe(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,l(e._scene)&&(e._scene.pixelRatio=t),t}function aAe(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=sAe(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function cAe(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;l(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function SC(e,t){e=Rn(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=Gt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=Gt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=l(t.creditContainer)?Rn(t.creditContainer):n;c.appendChild(a);let u=l(t.creditViewport)?Rn(t.creditViewport):n,f=y(t.showRenderLoopErrors,!0),d=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=u,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=f,this._resolutionScale=1,this._useBrowserRecommendedResolution=d,this._forceResize=!1,this._clock=l(t.clock)?t.clock:new ah,aAe(this);try{let p=y(t.ellipsoid,ee.default),g=new S3({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:u,ellipsoid:p,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=g,g.camera.constrainedAxis=h.UNIT_Z,sAe(this),cAe(this);let m=t.globe;l(m)||(m=new rB(p)),m!==!1&&(g.globe=m,g.globe.shadows=y(t.terrainShadows,bn.RECEIVE_ONLY));let x=t.skyBox;!l(x)&&ee.WGS84.equals(p)&&(x=R3.createEarthSkyBox()),x!==!1&&(g.skyBox=x,g.sun=new k3,ee.WGS84.equals(p)&&(g.moon=new SB));let b=t.skyAtmosphere;!l(b)&&ee.WGS84.equals(p)&&(b=new D3(p),b.show=t.globe!==!1&&m.show),b!==!1&&(g.skyAtmosphere=b);let T=t.baseLayer;t.globe!==!1&&T!==!1&&(l(T)||(T=Aa.fromWorldImagery()),g.imageryLayers.add(T)),l(t.terrainProvider)&&t.globe!==!1&&(g.terrainProvider=t.terrainProvider),l(t.terrain)&&t.globe!==!1&&g.setTerrain(t.terrain),this._screenSpaceEventHandler=new Yu(i),l(t.sceneMode)&&(t.sceneMode===ne.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===ne.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let A=this;this._onRenderError=function(C,E){A._useDefaultRenderLoop=!1,A._renderLoopRunning=!1,A._showRenderLoopErrors&&A.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,E)},g.renderError.addEventListener(this._onRenderError)}catch(p){throw f&&this.showErrorPanel("Error constructing CesiumWidget.",'Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:',p),p}}Object.defineProperties(SC.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},camera:{get:function(){return this._scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&qAt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}}});SC.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),l(window.addEventListener)&&window.addEventListener("resize",c,!1);let u=l(t),f=l(n);if(u||f){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),f){let m=Gm(n);u||(typeof n=="string"&&(n=new Error(n)),t=Gm({name:n.name,message:n.message}),m=n.stack),typeof console<"u"&&console.error(`${e} -${t} -${m}`);let x=document.createElement("div");x.className="cesium-widget-errorPanel-message-details collapsed";let b=document.createElement("span");b.className="cesium-widget-errorPanel-more-details",b.appendChild(document.createTextNode("See more...")),x.appendChild(b),x.onclick=function(T){x.removeChild(b),x.appendChild(document.createTextNode(m)),x.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",x.onclick=void 0},a.appendChild(x)}g.innerHTML=`<p>${t}</p>`}let d=document.createElement("div");d.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(d);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){l(c)&&l(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},d.appendChild(p),i.appendChild(o)};SC.prototype.isDestroyed=function(){return!1};SC.prototype.destroy=function(){l(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),ue(this)};SC.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,aAe(this),cAe(this),this._scene.requestRender())};SC.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};var q3=SC;var YAt=15;function lAe(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}lAe.prototype.build=function(e){e._credit=this.credit,e._tilingScheme=this.tilingScheme,e._height=this.height,e._width=this.width,e._encoding=this.encoding,e._lodCount=this.lodCount,e._hasAvailability=this.hasAvailability,e._tilesAvailable=this.tilesAvailable,e._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._terrainDataStructure=this.terrainDataStructure};function XAt(e,t){let n=t.copyrightText;l(n)&&(e.credit=new wt(n));let i=t.spatialReference,o=y(i.latestWkid,i.wkid),r=t.extent,s={ellipsoid:e.ellipsoid};if(o===4326)s.rectangle=se.fromDegrees(r.xmin,r.ymin,r.xmax,r.ymax),e.tilingScheme=new Ki(s);else if(o===3857){let u=Math.PI*e.ellipsoid.maximumRadius;t.extent.xmax>u&&(t.extent.xmax=u),t.extent.ymax>u&&(t.extent.ymax=u),t.extent.xmin<-u&&(t.extent.xmin=-u),t.extent.ymin<-u&&(t.extent.ymin=-u),s.rectangleSouthwestInMeters=new z(r.xmin,r.ymin),s.rectangleNortheastInMeters=new z(r.xmax,r.ymax),e.tilingScheme=new is(s)}else throw new ce("Invalid spatial reference");let a=t.tileInfo;if(!l(a))throw new ce("tileInfo is required");e.width=a.rows+1,e.height=a.cols+1,e.encoding=a.format==="LERC"?id.LERC:id.NONE,e.lodCount=a.lods.length-1,(e.hasAvailability=t.capabilities.indexOf("Tilemap")!==-1)&&(e.tilesAvailable=new kh(e.tilingScheme,e.lodCount),e.tilesAvailable.addAvailableTileRange(0,0,0,e.tilingScheme.getNumberOfXTilesAtLevel(0),e.tilingScheme.getNumberOfYTilesAtLevel(0)),e.tilesAvailabilityLoaded=new kh(e.tilingScheme,e.lodCount)),e.levelZeroMaximumGeometricError=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.width,e.tilingScheme.getNumberOfXTilesAtLevel(0)),t.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),l(t.minValues)&&l(t.maxValues)?e.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:t.minValues[0],highestEncodedHeight:t.maxValues[0]}:e.terrainDataStructure={elementMultiplier:1}}async function KAt(e,t,n){try{let i=await t.fetchJson();XAt(e,i)}catch(i){let o=`An error occurred while accessing ${t}.`;throw Do.reportError(void 0,n,l(n)?n._errorEvent:void 0,o),i}}function N0(e){e=y(e,y.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0,this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._errorEvent=new me}Object.defineProperties(N0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});N0.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=we.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&(n=n.getDerivedResource({queryParameters:{token:t.token}}));let i=n.getDerivedResource({queryParameters:{f:"pjson"}}),o=new lAe(t);await KAt(o,i);let r=new N0(t);return o.build(r),r._resource=n,r};N0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!l(h$(this,n+1,e*2,t*2))){let d=uAe(this,n+1,e*2,t*2);s=d.promise,a=d.request}let c=o.fetchArrayBuffer();if(!l(c)||!l(s))return;let u=this,f=this._tilesAvailable;return Promise.all([c,s]).then(function(d){return new qa({buffer:d[0],width:u._width,height:u._height,childTileMask:r?f.computeChildMaskForTile(n,e,t):YAt,structure:u._terrainDataStructure,encoding:u._encoding})}).catch(async function(d){if(l(a)&&a.state===ti.CANCELLED){i.cancel();try{await i.deferred?.promise}catch{}return i.state=ti.CANCELLED,Promise.reject(d)}return Promise.reject(d)})};function h$(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailabilityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}N0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};N0.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;let i=h$(this,n,e,t);if(l(i))return i;uAe(this,n,e,t)};N0.prototype.loadTileDataAvailability=function(e,t,n){};function ZAt(e,t,n,i){let o=t-1,r=n-1,s=i[e.y*t+e.x],a=[],c={startX:e.x,startY:e.y,endX:0,endY:0},u=new z(e.x+1,e.y+1),f=!1,d=!1;for(;!(f&&d);){let p=u.x,g=d?u.y+1:u.y;if(!f){for(let m=e.y;m<g;++m)if(i[m*t+u.x]!==s){f=!0;break}f?(a.push(new z(u.x,e.y)),--u.x,--p,c.endX=u.x):u.x===o?(c.endX=u.x,f=!0):++u.x}if(!d){let m=u.y*t;for(let x=e.x;x<=p;++x)if(i[m+x]!==s){d=!0;break}d?(a.push(new z(e.x,u.y)),--u.y,c.endY=u.y):u.y===r?(c.endY=u.y,d=!0):++u.y}}return{endingIndices:a,range:c,value:s}}function $At(e,t,n,i,o){let r=[];if(o.every(function(c){return c===o[0]}))return o[0]===1&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let a=[new z(0,0)];for(;a.length>0;){let c=a.pop(),u=ZAt(c,n,i,o);if(u.value===1){let d=u.range;d.startX+=e,d.endX+=e,d.startY+=t,d.endY+=t,r.push(d)}let f=u.endingIndices;f.length>0&&(a=a.concat(f))}return r}function uAe(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<<t,128),a=`tilemap/${t}/${r}/${o}/${s}/${s}`,c=e._availableCache;if(l(c[a]))return c[a];let u=new Xo({throttle:!1,throttleByServer:!0,type:us.TERRAIN}),d=e._resource.getDerivedResource({url:a,request:u}).fetchJson();return l(d)?(d=d.then(function(p){let g=$At(o,r,s,s,p.data);e._tilesAvailabilityLoaded.addAvailableTileRange(t,o,r,o+s,r+s);let m=e._tilesAvailable;for(let x=0;x<g.length;++x){let b=g[x];m.addAvailableTileRange(t,b.startX,b.startY,b.endX,b.endY)}return h$(e,t,n,i)}),c[a]={promise:d,request:u},d=d.finally(function(p){return delete c[a],p}),{promise:d,request:u}):{}}var m$=N0;var fAe="https://dev.virtualearth.net/REST/v1/Locations";function p$(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._key=t;let n={key:t};l(e.culture)&&(n.culture=e.culture),this._resource=new we({url:fAe,queryParameters:n}),this._credit=new wt('<img src="http://dev.virtualearth.net/Branding/logo_powered_by.png"/>',!1)}Object.defineProperties(p$.prototype,{url:{get:function(){return fAe}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});p$.prototype.geocode=async function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],u=r[3];return{displayName:o.name,destination:se.fromDegrees(a,s,u,c)}})})};var _$=p$;function g$(){}Object.defineProperties(g$.prototype,{credit:{get:function(){}}});g$.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s<t.length;++s){let a=t[s].match(r);r.test(t[s])&&a.length===3&&(/^[ns]/i.test(a[2])?i=/^[n]/i.test(a[2])?+a[1]:-a[1]:/^[ew]/i.test(a[2])&&(n=/^[e]/i.test(a[2])?+a[1]:-a[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){let r={displayName:e,destination:h.fromDegrees(n,i,o)};return Promise.resolve([r])}}return Promise.resolve([])};var y$=g$;var QAt=new oe,dAe=new h,Vv=new h;function JAt(e){let t=e.points,n=e.times;if(t.length<3){let i=n[0],o=1/(n[1]-i),r=t[0],s=t[1];return function(a,c){l(c)||(c=new h);let u=(a-i)*o;return h.lerp(r,s,u,c)}}return function(i,o){l(o)||(o=new h);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=QAt;a.z=s,a.y=s*s,a.x=a.y*s,a.w=1;let c,u,f,d,p;return r===0?(c=t[0],u=t[1],f=e.firstTangent,d=h.subtract(t[2],c,dAe),h.multiplyByScalar(d,.5,d),p=F.multiplyByVector(by.hermiteCoefficientMatrix,a,a)):r===t.length-2?(c=t[r],u=t[r+1],d=e.lastTangent,f=h.subtract(u,t[r-1],dAe),h.multiplyByScalar(f,.5,f),p=F.multiplyByVector(by.hermiteCoefficientMatrix,a,a)):(c=t[r-1],u=t[r],f=t[r+1],d=t[r+2],p=F.multiplyByVector(F0.catmullRomCoefficientMatrix,a,a)),o=h.multiplyByScalar(c,p.x,o),h.multiplyByScalar(u,p.y,Vv),h.add(o,Vv,o),h.multiplyByScalar(f,p.z,Vv),h.add(o,Vv,o),h.multiplyByScalar(d,p.w,Vv),h.add(o,Vv,o)}}var eEt=new h,tEt=new h;function F0(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.firstTangent,o=e.lastTangent;if(t.length>2&&(l(i)||(i=eEt,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!l(o))){let r=t.length-1;o=tEt,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=JAt(this),this._lastTimeIndex=0}Object.defineProperties(F0.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});F0.catmullRomCoefficientMatrix=new F(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);F0.prototype.findTimeInterval=ao.prototype.findTimeInterval;F0.prototype.wrapTime=ao.prototype.wrapTime;F0.prototype.clampTime=ao.prototype.clampTime;F0.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var x$=F0;function Tg(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new il(n),this._workerName="createCircleGeometry"}Tg.packedLength=il.packedLength;Tg.pack=function(e,t,n){return il.pack(e._ellipseGeometry,t,n)};var hAe=new il({center:new h,semiMajorAxis:1,semiMinorAxis:1}),Xa={center:new h,radius:void 0,ellipsoid:ee.clone(ee.default),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new Pe,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};Tg.unpack=function(e,t,n){let i=il.unpack(e,t,hAe);return Xa.center=h.clone(i._center,Xa.center),Xa.ellipsoid=ee.clone(i._ellipsoid,Xa.ellipsoid),Xa.ellipsoid=ee.clone(i._ellipsoid,hAe._ellipsoid),Xa.height=i._height,Xa.extrudedHeight=i._extrudedHeight,Xa.granularity=i._granularity,Xa.vertexFormat=Pe.clone(i._vertexFormat,Xa.vertexFormat),Xa.stRotation=i._stRotation,Xa.shadowVolume=i._shadowVolume,l(n)?(Xa.semiMajorAxis=i._semiMajorAxis,Xa.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new il(Xa),n):(Xa.radius=i._semiMajorAxis,new Tg(Xa))};Tg.createGeometry=function(e){return il.createGeometry(e._ellipseGeometry)};Tg.createShadowVolume=function(e,t,n){let i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),s=n(i,o);return new Tg({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(Tg.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var b$=Tg;function Uv(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new Fu(n),this._workerName="createCircleOutlineGeometry"}Uv.packedLength=Fu.packedLength;Uv.pack=function(e,t,n){return Fu.pack(e._ellipseGeometry,t,n)};var nEt=new Fu({center:new h,semiMajorAxis:1,semiMinorAxis:1}),sf={center:new h,radius:void 0,ellipsoid:ee.clone(ee.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};Uv.unpack=function(e,t,n){let i=Fu.unpack(e,t,nEt);return sf.center=h.clone(i._center,sf.center),sf.ellipsoid=ee.clone(i._ellipsoid,sf.ellipsoid),sf.height=i._height,sf.extrudedHeight=i._extrudedHeight,sf.granularity=i._granularity,sf.numberOfVerticalLines=i._numberOfVerticalLines,l(n)?(sf.semiMajorAxis=i._semiMajorAxis,sf.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Fu(sf),n):(sf.radius=i._semiMajorAxis,new Uv(sf))};Uv.createGeometry=function(e){return Fu.createGeometry(e._ellipseGeometry)};var T$=Uv;function zv(e){e=y(e,y.EMPTY_OBJECT),this._callback=e.callback,this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Ki({ellipsoid:y(e.ellipsoid,ee.default)})),this._width=e.width,this._height=e.height;let t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me;let n=e.credit;typeof n=="string"&&(n=new wt(n)),this._credit=n}Object.defineProperties(zv.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});zv.prototype.requestTileGeometry=function(e,t,n,i){let o=this._callback(e,t,n);if(!l(o))return;let r=this._width,s=this._height;return Promise.resolve(o).then(function(a){let c=a;return Array.isArray(c)&&(c=new Float64Array(c)),new qa({buffer:c,width:r,height:s})})};zv.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};zv.prototype.getTileDataAvailable=function(e,t,n){};zv.prototype.loadTileDataAvailability=function(e,t,n){};var C$=zv;function mAe(e){this.proxy=e}mAe.prototype.getURL=function(e){let t=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+t+encodeURIComponent(e)};var A$=mAe;function PG(){de.throwInstantiationError()}Object.defineProperties(PG.prototype,{credit:{get:de.throwInstantiationError}});PG.getCreditsFromResult=function(e){if(l(e.attributions))return e.attributions.map(wt.getIonCredit)};PG.prototype.geocode=de.throwInstantiationError;var Hv=PG;var iEt={SEARCH:0,AUTOCOMPLETE:1},B0=Object.freeze(iEt);function pAe(){de.throwInstantiationError()}pAe.createGeometry=function(e){de.throwInstantiationError()};var E$=pAe;function vC(e){e=y(e,y.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;let t=y(e.childTileMask,15),n=t&3;n|=t&4?8:0,n|=t&8?4:0,this._childTileMask=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(vC.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var yAe="createVerticesFromGoogleEarthEnterpriseBuffer",oEt=new yi(yAe),rEt=new yi(yAe,Oh.maximumAsynchronousTasks),_Ae=new se,S$=new se;vC.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid;t.tileXYToNativeRectangle(n,i,o,_Ae),t.tileXYToRectangle(n,i,o,S$);let u=c.cartographicToCartesian(se.center(S$)),d=40075.16/(1<<o);this._skirtHeight=Math.min(d*8,1e3);let g=(a?rEt:oEt).scheduleTask({buffer:this._buffer,nativeRectangle:_Ae,rectangle:S$,relativeToCenter:u,ellipsoid:c,skirtHeight:this._skirtHeight,exaggeration:r,exaggerationRelativeHeight:s,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!l(g))return;let m=this;return g.then(function(x){return m._mesh=new rd(u,new Float32Array(x.vertices),new Uint16Array(x.indices),x.indexCountWithoutSkirts,x.vertexCountWithoutSkirts,x.minimumHeight,x.maximumHeight,ae.clone(x.boundingSphere3D),h.clone(x.occludeePointInScaledSpace),x.numberOfAttributes,In.clone(x.orientedBoundingBox),Dc.clone(x.encoding),x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),m._minimumHeight=x.minimumHeight,m._maximumHeight=x.maximumHeight,m._buffer=void 0,m._mesh})};vC.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1),o=P.clamp((n-e.south)/e.height,0,1);return l(this._mesh)?uEt(this,i,o):hEt(this,i,o,e)};var sEt=new yi("upsampleQuantizedTerrainMesh",Oh.maximumAsynchronousTasks);vC.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=sEt.scheduleTask({vertices:a.vertices,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=this;return p.then(function(m){let x=new Uint16Array(m.vertices),b=Fe.createTypedArray(x.length/3,m.indices),T=g._skirtHeight;return new yC({quantizedVertices:x,indices:b,minimumHeight:m.minimumHeight,maximumHeight:m.maximumHeight,boundingSphere:ae.clone(m.boundingSphere),orientedBoundingBox:In.clone(m.orientedBoundingBox),horizonOcclusionPoint:h.clone(m.horizonOcclusionPoint),westIndices:m.westIndices,southIndices:m.southIndices,eastIndices:m.eastIndices,northIndices:m.northIndices,westSkirtHeight:T,southSkirtHeight:T,eastSkirtHeight:T,northSkirtHeight:T,childTileMask:0,createdByUpsampling:!0,credits:g._credits})})};vC.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};vC.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var aEt=new z,cEt=new z,lEt=new z,xAe=new h;function uEt(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,aEt),g=r.decodeTextureCoordinates(o,f,cEt),m=r.decodeTextureCoordinates(o,d,lEt),x=bg.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,xAe);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),A=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*A}}}var fEt=Uint16Array.BYTES_PER_ELEMENT,gAe=Uint32Array.BYTES_PER_ELEMENT,v$=Int32Array.BYTES_PER_ELEMENT,dEt=Float32Array.BYTES_PER_ELEMENT,w$=Float64Array.BYTES_PER_ELEMENT;function hEt(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),u=0;for(let v=0;v<r;++v)u+=c.getUint32(u,!0),u+=gAe;u+=gAe,u+=2*w$;let f=P.toRadians(c.getFloat64(u,!0)*180);u+=w$;let d=P.toRadians(c.getFloat64(u,!0)*180);u+=w$;let p=i.width/f/2,g=i.height/d/2,m=c.getInt32(u,!0);u+=v$;let x=c.getInt32(u,!0)*3;u+=v$,u+=v$;let b=new Array(m),T=new Array(m),A=new Array(m),C;for(C=0;C<m;++C)b[C]=s+c.getUint8(u++)*p,T[C]=a+c.getUint8(u++)*g,A[C]=c.getFloat32(u,!0)*6371010,u+=dEt;let E=new Array(x);for(C=0;C<x;++C)E[C]=c.getUint16(u,!0),u+=fEt;for(C=0;C<x;C+=3){let v=E[C],D=E[C+1],O=E[C+2],R=b[v],M=b[D],N=b[O],_=T[v],S=T[D],w=T[O],I=bg.computeBarycentricCoordinates(t,n,R,_,M,S,N,w,xAe);if(I.x>=-1e-15&&I.y>=-1e-15&&I.z>=-1e-15)return I.x*A[v]+I.y*A[D]+I.z*A[O]}}var Gv=vC;var fd={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},RG=new K;function OG(){this._terrainCache={},this._lastTidy=K.now()}OG.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:K.now()}};OG.prototype.get=function(e){let n=this._terrainCache[e];if(l(n))return delete this._terrainCache[e],n.buffer};OG.prototype.tidy=function(){if(K.now(RG),K.secondsDifference(RG,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){let o=t[i],r=e[o];K.secondsDifference(RG,r.timestamp)>10&&delete e[o]}K.clone(RG,this._lastTidy)}};function k0(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=new Ki({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new se(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new wt(t)),this._credit=t,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new OG,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new me}Object.defineProperties(k0.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});k0.fromMetadata=function(e,t){if(!e.terrainPresent)throw new ce(`The server ${e.url} doesn't have terrain`);let n=new k0(t);return n._metadata=e,n};var mEt=new yi("decodeGoogleEarthEnterprisePacket");function bAe(e,t,n){let i=t.getChildBitmask();if(t.terrainState===fd.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());l(r)&&r.hasTerrain()&&(i|=1<<o)}}return i}k0.prototype.requestTileGeometry=function(e,t,n,i){let o=cg.tileXYToQuadKey(e,t,n),r=this._terrainCache,s=this._metadata,a=s.getTileInformationFromQuadKey(o);if(!l(a))return Promise.reject(new ce("Terrain tile doesn't exist"));let c=a.terrainState;l(c)||(c=a.terrainState=fd.UNKNOWN);let u=r.get(o);if(l(u)){let T=s.providers[a.terrainProvider];return Promise.resolve(new Gv({buffer:u,childTileMask:bAe(o,a,s),credits:l(T)?[T]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold}))}if(r.tidy(),a.ancestorHasTerrain){if(c===fd.NONE)return Promise.reject(new ce("Terrain tile doesn't exist"))}else return Promise.resolve(new qa({buffer:new Uint8Array(16*16),width:16,height:16}));let f,d=o,p=-1;switch(c){case fd.SELF:p=a.terrainVersion;break;case fd.PARENT:d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),p=f.terrainVersion;break;case fd.UNKNOWN:a.hasTerrain()?p=a.terrainVersion:(d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),l(f)&&f.hasTerrain()&&(p=f.terrainVersion));break}if(p<0)return Promise.reject(new ce("Terrain tile doesn't exist"));let g=this._terrainPromises,m=this._terrainRequests,x,b;if(l(g[d]))x=g[d],b=m[d];else{b=i;let T=pEt(this,d,p,b).fetchArrayBuffer();if(!l(T))return;x=T.then(function(A){return l(A)?mEt.scheduleTask({buffer:A,type:"Terrain",key:s.key},[A]).then(function(C){let E=s.getTileInformationFromQuadKey(d);E.terrainState=fd.SELF,r.add(d,C[0]);let v=E.terrainProvider,D=C.length-1;for(let O=0;O<D;++O){let R=d+O.toString(),M=s.getTileInformationFromQuadKey(R);l(M)&&(r.add(R,C[O+1]),M.terrainState=fd.PARENT,M.terrainProvider===0&&(M.terrainProvider=v))}}):Promise.reject(new ce("Failed to load terrain."))}),g[d]=x,m[d]=b,x=x.finally(function(){delete g[d],delete m[d]})}return x.then(function(){let T=r.get(o);if(l(T)){let A=s.providers[a.terrainProvider];return new Gv({buffer:T,childTileMask:bAe(o,a,s),credits:l(A)?[A]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold})}return Promise.reject(new ce("Failed to load terrain."))}).catch(function(T){return b.state===ti.CANCELLED?(i.state=b.state,Promise.reject(T)):(a.terrainState=fd.NONE,Promise.reject(T))})};k0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};k0.prototype.getTileDataAvailable=function(e,t,n){let i=this._metadata,o=cg.tileXYToQuadKey(e,t,n),r=i.getTileInformation(e,t,n);if(r===null)return!1;if(l(r)){if(!r.ancestorHasTerrain)return!0;let s=r.terrainState;if(s===fd.NONE)return!1;if((!l(s)||s===fd.UNKNOWN)&&(r.terrainState=fd.UNKNOWN,!r.hasTerrain())){o=o.substring(0,o.length-1);let a=i.getTileInformationFromQuadKey(o);if(!l(a)||!a.hasTerrain())return!1}return!0}if(i.isValid(o)){let s=new Xo({throttle:!1,throttleByServer:!0,type:us.TERRAIN});i.populateSubtree(e,t,n,s)}return!1};k0.prototype.loadTileDataAvailability=function(e,t,n){};function pEt(e,t,n,i){return n=l(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var D$=k0;var Y3={};Y3.type=void 0;Y3.getRequiredDataPoints=de.throwInstantiationError;Y3.interpolateOrderZero=de.throwInstantiationError;Y3.interpolate=de.throwInstantiationError;var I$=Y3;function P$(e){this._url=we.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(P$.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});P$.prototype.geocode=async function(e,t){return this._url.getDerivedResource({url:t===B0.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(l(s))r=se.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r,attributions:i.attributions}})})};var X3=P$;function R$(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.accessToken,Bd.defaultAccessToken),n=we.createIfNeeded(y(e.server,Bd.defaultServer));n.appendForwardSlash();let i=Bd.getDefaultTokenCredit(t);l(i)&&e.scene.frameState.creditDisplay.addStaticCredit(wt.clone(i));let o=n.getDerivedResource({url:"v1/geocode"});l(t)&&o.appendQueryParameters({access_token:t}),this._accessToken=t,this._server=n,this._pelias=new X3(o)}Object.defineProperties(R$.prototype,{credit:{get:function(){}}});R$.prototype.geocode=async function(e,t){return this._pelias.geocode(e,t)};var K3=R$;function MG(){de.throwInstantiationError()}Object.defineProperties(MG.prototype,{ellipsoid:{get:de.throwInstantiationError}});MG.prototype.project=de.throwInstantiationError;MG.prototype.unproject=de.throwInstantiationError;var O$=MG;function Wv(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(Wv.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});Wv.prototype.findTimeInterval=ao.prototype.findTimeInterval;Wv.prototype.wrapTime=ao.prototype.wrapTime;Wv.prototype.clampTime=ao.prototype.clampTime;Wv.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);l(t)||(t=new Array(this._count));for(let s=0;s<this._count;s++){let a=o*this._count+s;t[s]=n[a]*(1-r)+n[a+this._count]*r}return t};var M$=Wv;function L$(e,t,n){e=we.createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=y(n,{}),this._credit=new wt('Geodata copyright <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',!1)}Object.defineProperties(L$.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});L$.prototype.geocode=async function(e){return this._url.getDerivedResource({url:"json",queryParameters:bt(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(l(r))o=se.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var N$=L$;var _Et={packedLength:void 0,pack:de.throwInstantiationError,unpack:de.throwInstantiationError},F$=_Et;var gEt={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:de.throwInstantiationError,unpackInterpolationResult:de.throwInstantiationError},B$=gEt;var yEt=new h;function xEt(e,t,n,i){let o=yx(e,t,n,i,yEt);return l(o)?o.x>0&&o.y>0&&o.z>0:!1}var k$=xEt;function TAe(){de.throwInstantiationError()}TAe.prototype.getURL=de.throwInstantiationError;var V$=TAe;function bEt(e,t,n,i,o,r,s){let a=Oi.numberOfPoints(e,t,o),c,u=n.red,f=n.green,d=n.blue,p=n.alpha,g=i.red,m=i.green,x=i.blue,b=i.alpha;if(H.equals(n,i)){for(c=0;c<a;c++)r[s++]=H.floatToByte(u),r[s++]=H.floatToByte(f),r[s++]=H.floatToByte(d),r[s++]=H.floatToByte(p);return s}let T=(g-u)/a,A=(m-f)/a,C=(x-d)/a,E=(b-p)/a,v=s;for(c=0;c<a;c++)r[v++]=H.floatToByte(u+c*T),r[v++]=H.floatToByte(f+c*A),r[v++]=H.floatToByte(d+c*C),r[v++]=H.floatToByte(p+c*E);return v}function Z3(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=y(e.arcType,tn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=y(e.ellipsoid,ee.default),this._workerName="createSimplePolylineGeometry";let o=1+t.length*h.packedLength;o+=l(n)?1+n.length*H.packedLength:1,this.packedLength=o+ee.packedLength+3}Z3.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};Z3.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ee.unpack(e,t);t+=ee.packedLength;let c=e[t++]===1,u=e[t++],f=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=a,n._colorsPerVertex=c,n._arcType=u,n._granularity=f,n):new Z3({positions:r,colors:s,ellipsoid:a,colorsPerVertex:c,arcType:u,granularity:f})};var LG=new Array(2),NG=new Array(2),TEt={positions:LG,height:NG,ellipsoid:void 0,minDistance:void 0,granularity:void 0};Z3.createGeometry=function(e){let t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,r=e._granularity,s=e._ellipsoid,a=P.chordLength(r,s.maximumRadius),c=l(n)&&!i,u,f=t.length,d,p,g,m,x=0;if(o===tn.GEODESIC||o===tn.RHUMB){let E,v,D;o===tn.GEODESIC?(E=P.chordLength(r,s.maximumRadius),v=Oi.numberOfPoints,D=Oi.generateArc):(E=r,v=Oi.numberOfPointsRhumbLine,D=Oi.generateRhumbArc);let O=Oi.extractHeights(t,s),R=TEt;if(o===tn.GEODESIC?R.minDistance=a:R.granularity=r,R.ellipsoid=s,c){let M=0;for(u=0;u<f-1;u++)M+=v(t[u],t[u+1],E)+1;d=new Float64Array(M*3),g=new Uint8Array(M*4),R.positions=LG,R.height=NG;let N=0;for(u=0;u<f-1;++u){LG[0]=t[u],LG[1]=t[u+1],NG[0]=O[u],NG[1]=O[u+1];let _=D(R);if(l(n)){let S=_.length/3;m=n[u];for(let w=0;w<S;++w)g[N++]=H.floatToByte(m.red),g[N++]=H.floatToByte(m.green),g[N++]=H.floatToByte(m.blue),g[N++]=H.floatToByte(m.alpha)}d.set(_,x),x+=_.length}}else if(R.positions=t,R.height=O,d=new Float64Array(D(R)),l(n)){for(g=new Uint8Array(d.length/3*4),u=0;u<f-1;++u){let N=t[u],_=t[u+1],S=n[u],w=n[u+1];x=bEt(N,_,S,w,a,g,x)}let M=n[f-1];g[x++]=H.floatToByte(M.red),g[x++]=H.floatToByte(M.green),g[x++]=H.floatToByte(M.blue),g[x++]=H.floatToByte(M.alpha)}}else{p=c?f*2-2:f,d=new Float64Array(p*3),g=l(n)?new Uint8Array(p*4):void 0;let E=0,v=0;for(u=0;u<f;++u){let D=t[u];if(c&&u>0&&(h.pack(D,d,E),E+=3,m=n[u-1],g[v++]=H.floatToByte(m.red),g[v++]=H.floatToByte(m.green),g[v++]=H.floatToByte(m.blue),g[v++]=H.floatToByte(m.alpha)),c&&u===f-1)break;h.pack(D,d,E),E+=3,l(n)&&(m=n[u],g[v++]=H.floatToByte(m.red),g[v++]=H.floatToByte(m.green),g[v++]=H.floatToByte(m.blue),g[v++]=H.floatToByte(m.alpha))}}let b=new mn;b.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),l(n)&&(b.color=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=d.length/3;let T=(p-1)*2,A=Fe.createTypedArray(p,T),C=0;for(u=0;u<p-1;++u)A[C++]=u,A[C++]=u+1;return new ut({attributes:b,indices:A,primitiveType:Ne.LINES,boundingSphere:ae.fromPoints(t)})};var U$=Z3;function jv(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new Qs(i),this._workerName="createSphereGeometry"}jv.packedLength=Qs.packedLength;jv.pack=function(e,t,n){return Qs.pack(e._ellipsoidGeometry,t,n)};var CEt=new Qs,V0={radius:void 0,radii:new h,vertexFormat:new Pe,stackPartitions:void 0,slicePartitions:void 0};jv.unpack=function(e,t,n){let i=Qs.unpack(e,t,CEt);return V0.vertexFormat=Pe.clone(i._vertexFormat,V0.vertexFormat),V0.stackPartitions=i._stackPartitions,V0.slicePartitions=i._slicePartitions,l(n)?(h.clone(i._radii,V0.radii),n._ellipsoidGeometry=new Qs(V0),n):(V0.radius=i._radii.x,new jv(V0))};jv.createGeometry=function(e){return Qs.createGeometry(e._ellipsoidGeometry)};var z$=jv;function U0(e){}Object.defineProperties(U0.prototype,{ellipsoid:{get:de.throwInstantiationError},rectangle:{get:de.throwInstantiationError},projection:{get:de.throwInstantiationError}});U0.prototype.getNumberOfXTilesAtLevel=de.throwInstantiationError;U0.prototype.getNumberOfYTilesAtLevel=de.throwInstantiationError;U0.prototype.rectangleToNativeRectangle=de.throwInstantiationError;U0.prototype.tileXYToNativeRectangle=de.throwInstantiationError;U0.prototype.tileXYToRectangle=de.throwInstantiationError;U0.prototype.positionToTileXY=de.throwInstantiationError;var H$=U0;function wC(e){e=y(e,y.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=y(e.epoch,Ue.MINIMUM_VALUE),this.tolerance=y(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(wC.prototype,{clock:{get:function(){return this._clock},set:function(e){let t=this._clock;t!==e&&(l(t)&&(this._clockSubscription(),this._clockSubscription=void 0),l(e)&&(this._clockSubscription=e.onTick.addEventListener(wC.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){let t=this._element;t!==e&&(l(t)&&t.removeEventListener("seeked",this._seekFunction,!1),l(e)&&(this._seeking=!1,this._seekFunction=AEt(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}});wC.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,ue(this)};wC.prototype.isDestroyed=function(){return!1};wC.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;let t=this._element;try{t.playbackRate=e.multiplier}catch{t.playbackRate=0}this._lastPlaybackRate=e.multiplier};wC.prototype._onTick=function(e){let t=this._element;if(!l(t)||t.readyState<2)return;let n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(e);let o=e.currentTime,r=y(this.epoch,Ue.MINIMUM_VALUE),s=K.secondsDifference(o,r),a=t.duration,c,u=t.currentTime;t.loop?(s=s%a,s<0&&(s=a-s),c=s):s>a?c=a:s<0?c=0:c=s;let f=i?y(this.tolerance,1):.001;Math.abs(c-u)>f&&(this._seeking=!0,t.currentTime=c)};function AEt(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var G$=wC;function EEt(e,t){this.rectangle=e,this.maxLevel=t}function CAe(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}CAe.prototype.build=function(e){e._tilingScheme=this.tilingScheme,e._heightmapWidth=this.heightmapWidth,e._heightmapHeight=this.heightmapHeight,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._rectangles=this.rectangles};function SEt(e,t){let n=t.getElementsByTagName("SRS")[0].textContent;if(n==="EPSG:4326")e.tilingScheme=new Ki({ellipsoid:e.ellipsoid});else throw new ce(`SRS ${n} is not supported`);let i=t.getElementsByTagName("TileFormat")[0];e.heightmapWidth=parseInt(i.getAttribute("width"),10),e.heightmapHeight=parseInt(i.getAttribute("height"),10),e.levelZeroMaximumGeometricError=rs.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.ellipsoid,Math.min(e.heightmapWidth,e.heightmapHeight),e.tilingScheme.getNumberOfXTilesAtLevel(0));let o=t.getElementsByTagName("DataExtent");for(let r=0;r<o.length;++r){let s=o[r],a=P.toRadians(parseFloat(s.getAttribute("minx"))),c=P.toRadians(parseFloat(s.getAttribute("miny"))),u=P.toRadians(parseFloat(s.getAttribute("maxx"))),f=P.toRadians(parseFloat(s.getAttribute("maxy"))),d=parseInt(s.getAttribute("maxlevel"),10);e.rectangles.push(new EEt(new se(a,c,u,f),d))}}function vEt(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i=`${i}: ${t.message}`),Do.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new ce(i)}async function wEt(e,t,n){try{let i=await t.fetchXML();SEt(e,i)}catch(i){vEt(t,i,n)}}function z0(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let t=e.credit;typeof t=="string"&&(t=new wt(t)),this._credit=t,this._tilingScheme=void 0,this._rectangles=[]}Object.defineProperties(z0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});z0.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=new CAe(t),i=we.createIfNeeded(e);await wEt(n,i);let o=new z0(t);return n.build(o),o._resource=i,o};z0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}).fetchImage({preferImageBitmap:!0});if(!l(s))return;let a=this;return Promise.resolve(s).then(function(c){return new qa({buffer:xd(c),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:DEt(a,e,t,n),structure:a._terrainDataStructure})})};z0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var AAe=new se;function DEt(e,t,n,i){let o=e._tilingScheme,r=e._rectangles,s=o.tileXYToRectangle(t,n,i),a=0;for(let c=0;c<r.length&&a!==15;++c){let u=r[c];if(u.maxLevel<=i)continue;let f=u.rectangle,d=se.intersection(f,s,AAe);l(d)&&(FG(o,f,t*2,n*2,i+1)&&(a|=4),FG(o,f,t*2+1,n*2,i+1)&&(a|=8),FG(o,f,t*2,n*2+1,i+1)&&(a|=1),FG(o,f,t*2+1,n*2+1,i+1)&&(a|=2))}return a}function FG(e,t,n,i,o){let r=e.tileXYToRectangle(n,i,o);return l(se.intersection(r,t,AAe))}z0.prototype.getTileDataAvailable=function(e,t,n){};z0.prototype.loadTileDataAvailability=function(e,t,n){};var W$=z0;var IEt={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},j$=Object.freeze(IEt);function PEt(e){switch(e){case te.FLOAT:return"float";case te.FLOAT_VEC2:return"vec2";case te.FLOAT_VEC3:return"vec3";case te.FLOAT_VEC4:return"vec4";case te.FLOAT_MAT2:return"mat2";case te.FLOAT_MAT3:return"mat3";case te.FLOAT_MAT4:return"mat4";case te.SAMPLER_2D:return"sampler2D";case te.BOOL:return"bool"}}var q$=PEt;function REt(e,t,n){return function(){n.apply(e,arguments),t.apply(e,arguments)}}var $3=REt;function OEt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,ot.RGBA),this.pixelDatatype=y(e.pixelDatatype,Je.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=we.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?En.REPEAT:En.CLAMP_TO_EDGE;this.sampler=new en({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var Y$=OEt;var MEt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},X$=Object.freeze(MEt);var K$=`uniform sampler2D u_depthTexture; +`;function vC(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,q3),this._fragmentShaderSource=y(e.fragmentShaderSource,j3),this._renderState=ao.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(vC.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return vC.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});vC.VERTEX_FORMAT=Ie.POSITION_AND_ST;vC.prototype.getFragmentShaderSource=ao.prototype.getFragmentShaderSource;vC.prototype.isTranslucent=ao.prototype.isTranslucent;vC.prototype.getRenderState=ao.prototype.getRenderState;var M$=vC;function nu(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,nu.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,nu.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,nu.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,nu.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,nu.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new me,this._nominalFrameRate=new me,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){EEt(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){SEt(t)}this._visibilityChangeRemoveListener=void 0,l(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}nu.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};nu.fromScene=function(e){return(!l(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new nu({scene:e})),e._frameRateMonitor};Object.defineProperties(nu.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});nu.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};nu.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};nu.prototype.isDestroyed=function(){return!1};nu.prototype.destroy=function(){return this._preUpdateRemoveListener(),l(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),ue(this)};function EEt(e,t){if(e._pauseCount>0)return;let n=Ei();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Kn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Kn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Kn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function SEt(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var Y3=nu;var RAe=Wo(FX(),1);function L$(){this._image=new Image}L$.prototype.isReady=function(){return!0};L$.prototype.shouldDiscardImage=function(e){return e===this._image};function wC(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ae(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new At(t)),this._credit=t,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new L$),this._errorEvent=new me}Object.defineProperties(wC.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});wC.fromMetadata=function(e,t){if(!e.imageryPresent)throw new se(`The server ${e.url} doesn't have imagery`);let n=new wC(t);return n._metadata=e,n};wC.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(l(o)){let r=i.providers[o.imageryProvider];if(l(r))return[r]}};wC.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=sg.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!l(a)){if(r.isValid(s)){let u=new er({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,u);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=vEt(this,a,e,t,n,i).fetchArrayBuffer();if(l(c))return c.then(function(u){MF(r.key,u);let f=new Uint8Array(u),d,p=r.protoImagery;if((!l(p)||!p)&&(d=wEt(f)),!l(d)&&(!l(p)||p)){let g=DEt(f);d=g.imageType,f=g.imageData}return!l(d)||!l(f)?o:rb({uint8Array:f,format:d,flipY:!0})})};wC.prototype.pickFeatures=function(e,t,n,i,o){};function vEt(e,t,n,i,o,r){let s=sg.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=l(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function wEt(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function DEt(e){let t=RAe.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,l(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(l(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new se("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return l(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var N$=wC;var IEt=new H(1,1,1,.4),PEt=new H(0,1,0,.05),REt=new H(0,.5,0,.2);function DC(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Xi({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,IEt),this._glowColor=y(e.glowColor,PEt),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,REt),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas()}Object.defineProperties(DC.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});DC.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let r=1+i/this._cells*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};DC.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};DC.prototype.getTileCredits=function(e,t,n){};DC.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};DC.prototype.pickFeatures=function(e,t,n,i,o){};var F$=DC;function zh(){}zh._maxDecodingConcurrency=Math.max(Gt.hardwareConcurrency-1,1);zh._decodeTaskProcessor=new bi("decodeI3S",zh._maxDecodingConcurrency);zh._promise=void 0;async function OEt(){if(await zh._decodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}))return zh._decodeTaskProcessor;throw new se("I3S decoder could not be initialized.")}zh.decode=async function(e,t,n,i,o){return l(zh._promise)||(zh._promise=OEt()),zh._promise.then(function(r){let s=n._parent._data,a=n._parent._inverseRotationMatrix,c=0,u=0,f=0;l(s.obb)?(c=s.obb.center[0],u=s.obb.center[1],f=s.obb.center[2]):l(s.mbs)&&(c=s.mbs[0],u=s.mbs[1],f=s.mbs[2]);let d=$.fromRotationX(-P.PI_OVER_TWO),p=new $;$.multiply(d,a,p);let g=fe.fromDegrees(c,u,f),m=ee.WGS84.cartographicToCartesian(g),x={binaryData:n._data,featureData:l(i)&&l(i[0])?i[0].data:void 0,schema:t,bufferInfo:n._geometryBufferInfo,ellipsoidRadiiSquare:ee.WGS84.radiiSquared,url:e,geoidDataList:n._dataProvider._geoidDataList,cartographicCenter:g,cartesianCenter:m,parentRotation:p,enableFeatures:n._dataProvider.showFeatures,splitGeometryByColorTransparency:n._dataProvider.adjustMaterialAlphaMode,symbologyData:o,calculateNormals:n._dataProvider.calculateNormals};return r.scheduleTask(x)})};var X3=zh;function B$(e,t){this._parent=e,this._dataProvider=e._dataProvider,this._layer=e._layer,l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${t}`}):this._resource=this._parent.resource.getDerivedResource({url:t})}Object.defineProperties(B$.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});B$.prototype.load=async function(){return this._data=await Hh.loadJson(this._resource),this._data};var K3=B$;function Sg(e,t){this._storageInfo=t,this._parent=e,this._dataProvider=e._dataProvider,this._loadPromise=void 0;let n=`attributes/${t.key}/0`;l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${n}`}):this._resource=this._parent.resource.getDerivedResource({url:n})}Object.defineProperties(Sg.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){if(l(this._values)){if(l(this._values.attributeValues))return this._values.attributeValues;if(l(this._values.objectIds))return this._values.objectIds}return[]}},name:{get:function(){return this._storageInfo.name}}});function NG(e){return e==="UInt8"||e==="Int8"?1:e==="UInt16"||e==="Int16"?2:e==="UInt32"||e==="Int32"||e==="Oid32"||e==="Float32"?4:e==="UInt64"||e==="Int64"||e==="Float64"?8:0}function MEt(e){return e==="String"?1:NG(e)}async function LEt(e){let t=await e._dataProvider._loadBinary(e._resource),n=new DataView(t);e._data=t,e._validateHeader(n);let i=e._parseHeader(n),o=e._getBodyOffset(i);e._validateBody(n,o),e._parseBody(n,o)}Sg.prototype.load=function(){return l(this._loadPromise)?this._loadPromise:(this._loadPromise=LEt(this).catch(function(e){console.error(e)}),this._loadPromise)};Sg.prototype._parseValue=function(e,t,n){let i;if(t==="UInt8")i=e.getUint8(n),n+=1;else if(t==="Int8")i=e.getInt8(n),n+=1;else if(t==="UInt16")i=e.getUint16(n,!0),n+=2;else if(t==="Int16")i=e.getInt16(n,!0),n+=2;else if(t==="UInt32")i=e.getUint32(n,!0),n+=4;else if(t==="Oid32")i=e.getUint32(n,!0),n+=4;else if(t==="Int32")i=e.getInt32(n,!0),n+=4;else if(t==="UInt64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);i=o+Math.pow(2,32)*r,n+=8}else if(t==="Int64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);r<Math.pow(2,31)?i=o+Math.pow(2,32)*r:i=o+Math.pow(2,32)*(r-Math.pow(2,32)),n+=8}else t==="Float32"?(i=e.getFloat32(n,!0),n+=4):t==="Float64"?(i=e.getFloat64(n,!0),n+=8):t==="String"&&(i=String.fromCharCode(e.getUint8(n)),n+=1);return{value:i,offset:n}};Sg.prototype._parseHeader=function(e){let t=0;this._header={};for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n],o=this._parseValue(e,i.valueType,t);this._header[i.property]=o.value,t=o.offset}return t};Sg.prototype._parseBody=function(e,t){this._values={};for(let n=0;n<this._storageInfo.ordering.length;n++){let i=this._storageInfo.ordering[n],o=i==="ObjectIds"?"objectIds":i,r=this._storageInfo[o];if(l(r)){this._values[o]=[];for(let s=0;s<this._header.count;++s)if(r.valueType!=="String"){let a=this._parseValue(e,r.valueType,t);this._values[o].push(a.value),t=a.offset}else{let a=this._values.attributeByteCounts[s],c="";for(let u=0;u<a;++u){let f=this._parseValue(e,r.valueType,t);f.value.charCodeAt(0)!==0&&(c+=f.value),t=f.offset}this._values[o].push(c)}}}};Sg.prototype._getBodyOffset=function(e){let t=0;return l(this._storageInfo.attributeValues)?t=NG(this._storageInfo.attributeValues.valueType):l(this._storageInfo.objectIds)&&(t=NG(this._storageInfo.objectIds.valueType)),t>0?Math.ceil(e/t)*t:e};Sg.prototype._validateHeader=function(e){let t=0;for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n];t+=MEt(i.valueType)}if(e.byteLength<t)throw new se(`Invalid attribute buffer size (field: ${this.name}, header: ${t}, actual: ${e.byteLength})`)};Sg.prototype._validateBody=function(e,t){if(!l(this._header.count))throw new se(`Invalid attribute buffer (field: ${this.name}, count is missing)`);let n;for(let i=0;i<this._storageInfo.ordering.length&&t<e.byteLength;i++){let o=this._storageInfo.ordering[i],r=o==="ObjectIds"?"objectIds":o,s=this._storageInfo[r];if(l(s))if(s.valueType!=="String"){r==="attributeByteCounts"&&(n=t);let a=NG(s.valueType);t+=a*this._header.count}else{if(!l(n))throw new se(`Invalid attribute buffer (field: ${this.name}, attributeByteCounts is missing)`);for(let a=0;a<this._header.count&&t<e.byteLength;++a){let c=this._parseValue(e,this._storageInfo.attributeByteCounts.valueType,n);t+=c.value,n=c.offset}}else throw new se(`Invalid attribute buffer (field: ${this.name}, ${r} is missing)`)}if(e.byteLength<t)throw new se(`Invalid attribute buffer size (field: ${this.name}, expected: ${t}, actual: ${e.byteLength})`)};var Z3=Sg;function $3(e,t){let n=e._dataProvider,i=e._layer,o;l(e._nodeIndex)?o=i.resource.getDerivedResource({url:`nodes/${e._data.mesh.geometry.resource}/${t}`}):o=e.resource.getDerivedResource({url:t}),this._parent=e,this._dataProvider=n,this._layer=i,this._resource=o,this._customAttributes=void 0}Object.defineProperties($3.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});$3.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){return e._data=t,t})};var NEt=new h,FEt=new h,BEt=new h,kEt=new h,VEt=new h;function k$(e,t,n,i){let o=h.subtract(i,n,NEt),r=h.cross(o,h.subtract(e,n,FEt),kEt),s=h.cross(o,h.subtract(t,n,BEt),VEt);return h.dot(r,s)>=0}var UEt=new h,zEt=new h,HEt=new h,GEt=new h,WEt=new h,jEt=new h,qEt=new h,YEt=new h,XEt=new h,KEt=new h;$3.prototype.getClosestPointIndexOnTriangle=function(e,t,n){if(l(this._customAttributes)&&l(this._customAttributes.positions)){let i=new h(e,t,n);i.x-=this._customAttributes.cartesianCenter.x,i.y-=this._customAttributes.cartesianCenter.y,i.z-=this._customAttributes.cartesianCenter.z,$.multiplyByVector(this._customAttributes.parentRotation,i,i);let o=Number.MAX_VALUE,r,s,a,c,u=this._customAttributes.positions,f=this._customAttributes.indices,d;l(f)?d=f.length:d=u.length/3;for(let p=0;p<d;p++){let g,m,x;l(f)?(g=f[p],m=f[p+1],x=f[p+2]):(g=p*3,m=p*3+1,x=p*3+2);let b=h.fromElements(u[g*3],u[g*3+1],u[g*3+2],UEt),T=h.fromElements(u[m*3],u[m*3+1],u[m*3+2],zEt),A=new h(u[x*3],u[x*3+1],u[x*3+2],HEt);if(!k$(i,b,T,A)||!k$(i,T,b,A)||!k$(i,A,b,T))continue;let C=h.subtract(T,b,GEt),E=h.subtract(A,b,WEt),v=h.cross(C,E,jEt);if(h.magnitude(v)===0)continue;let D=h.normalize(v,qEt),O=h.subtract(i,b,YEt),R=Math.abs(h.dot(O,D));if(R<o){o=R,r=p;let M=h.magnitudeSquared(h.subtract(i,b,O)),N=h.magnitudeSquared(h.subtract(i,T,XEt)),_=h.magnitudeSquared(h.subtract(i,A,KEt));M<N&&M<_?(a=g,c=b,s=M):N<_?(a=m,c=T,s=N):(a=x,c=A,s=_)}}if(l(r))return{index:a,distanceSquared:s,distance:Math.sqrt(s),queriedPosition:i,closestPosition:h.clone(c)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};function OAe(e){let t=[],n=e.length;for(let i=0;i<n;i++)i<3?t.push(jT(e[i])):t.push(e[i]);return t}$3.prototype._generateGltf=function(e,t,n,i,o,r,s,a){let c={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},u=!1,f,d="";if(l(this._parent._data.mesh)&&l(this._layer._data.materialDefinitions)){let C=this._parent._data.mesh.material.definition;if(C>=0&&C<this._layer._data.materialDefinitions.length){if(f=this._layer._data.materialDefinitions[C],c=f,l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorTexture)){u=!0,c.pbrMetallicRoughness.baseColorTexture.index=0;let E="0";if(l(this._layer._data.textureSetDefinitions))for(let v=0;v<this._layer._data.textureSetDefinitions.length;v++){let D=this._layer._data.textureSetDefinitions[v];for(let O=0;O<D.formats.length;O++){let R=D.formats[O];if(R.format==="jpg"){E=R.name;break}}}l(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(d=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${E}`}).url)}l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorFactor)&&(c.pbrMetallicRoughness.baseColorFactor=OAe(c.pbrMetallicRoughness.baseColorFactor)),l(c.emissiveFactor)&&(c.emissiveFactor=OAe(c.emissiveFactor))}}else l(this._parent._data.textureData)&&(u=!0,d=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,c.pbrMetallicRoughness.baseColorTexture={index:0});l(c.alphaMode)&&(c.alphaMode=c.alphaMode.toUpperCase());let p=[],g=[],m=[];u&&(p=[{sampler:0,source:0}],g=[{uri:d}],m=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]);let x=[],b=n.length;for(let A=0;A<b;A++){let C=n[A].primitives,E=C.length;for(let v=0;v<E;v++){let D=C[v];if(l(D.material)){for(;D.material>=x.length;){let R=He(c,!0);x.push(R)}let O=x[D.material];l(D.extra)&&D.extra.isTransparent?l(O.alphaMode)||(O.alphaMode="BLEND"):O.alphaMode==="BLEND"&&(O.alphaMode="OPAQUE")}}}return{scene:0,scenes:[{nodes:e}],nodes:t,meshes:n,buffers:i,bufferViews:o,accessors:r,materials:x,textures:p,images:g,samplers:m,asset:{version:"2.0"},extensions:s,extensionsUsed:a}};var Hv=$3;function Mc(e,t,n){let i,o,r,s;n?(i=0,o=e):(i=e._level+1,o=e._layer),typeof t=="number"?r=t:s=e.resource.getDerivedResource({url:`${t}/`}),this._parent=e,this._dataProvider=e._dataProvider,this._isRoot=n,this._level=i,this._layer=o,this._nodeIndex=r,this._resource=s,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0,this._symbologyData=void 0}Object.defineProperties(Mc.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});Mc.prototype.load=async function(){let e=this;function t(){if(!e._isRoot){let o=e._create3DTileDefinition();e._tile=new Wf(e._layer._tileset,e._dataProvider.resource,o,e._parent._tile),e._tile._i3sNode=e}}if(!l(this._nodeIndex)){let o=await Hh.loadJson(this._resource);e._data=o,t();return}let n=await this._layer._getNodeInNodePages(this._nodeIndex);e._data=n;let i;e._isRoot?i="nodes/root/":l(n.mesh)&&(i=`../${n.mesh.geometry.resource}/`),l(i)&&l(e._parent.resource)&&(e._resource=e._parent.resource.getDerivedResource({url:i})),t()};function MAe(e,t){let n=new Z3(e,t);return e._fields[t.name]=n,n.load()}Mc.prototype.loadFields=function(){let e=this._layer._data.attributeStorageInfo,t=[];if(l(e))for(let n=0;n<e.length;n++){let i=e[n],o=this._fields[i.name];l(o)?t.push(o.load()):t.push(MAe(this,i))}return Promise.all(t)};Mc.prototype.loadField=function(e){let t=this._fields[e];if(l(t))return t.load();let n=this._layer._data.attributeStorageInfo;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];if(o.name===e)return MAe(this,o)}return Promise.resolve()};Mc.prototype.getFieldsForPickedPosition=function(e){let t=this.geometryData[0];if(!l(t.customAttributes.featureIndex))return{};let n=t.getClosestPointIndexOnTriangle(e.x,e.y,e.z);if(n.index===-1||n.index>t.customAttributes.featureIndex.length)return{};let i=t.customAttributes.featureIndex[n.index];return this.getFieldsForFeature(i)};Mc.prototype.getFieldsForFeature=function(e){let t={};for(let n in this.fields)if(this.fields.hasOwnProperty(n)){let i=this.fields[n];e>=0&&e<i.values.length&&(t[i.name]=i.values[e])}return t};Mc.prototype._loadChildren=function(){let e=this;if(l(this._childrenReadyPromise))return this._childrenReadyPromise;let t=[];if(l(e._data.children))for(let n=0;n<e._data.children.length;n++){let i=e._data.children[n],o=new Mc(e,y(i.href,i),!1);e._children.push(o),t.push(o.load())}return this._childrenReadyPromise=Promise.all(t).then(function(){for(let n=0;n<e._children.length;n++)e._tile.children.push(e._children[n]._tile)}),this._childrenReadyPromise};Mc.prototype._loadGeometryData=function(){let e=[];if(l(this._data.geometryData))for(let t=0;t<this._data.geometryData.length;t++){let n=new Hv(this,this._data.geometryData[t].href);this._geometryData.push(n),e.push(n.load())}else if(l(this._data.mesh)){let t=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),n=`./geometries/${t.bufferIndex}/`,i=new Hv(this,n);i._geometryDefinitions=t.definition,i._geometryBufferInfo=t.geometryBufferInfo,this._geometryData.push(i),e.push(i.load())}return Promise.all(e)};Mc.prototype._loadFeatureData=function(){let e=[];if(l(this._data.featureData))for(let t=0;t<this._data.featureData.length;t++){let n=new K3(this,this._data.featureData[t].href);this._featureData.push(n),e.push(n.load())}return Promise.all(e)};Mc.prototype._clearGeometryData=function(){this._geometryData=[]};Mc.prototype._create3DTileDefinition=function(){let e=this._data.obb,t=this._data.mbs;if(!l(e)&&!l(t)){console.error("Failed to load I3S node. Bounding volume is required.");return}let n;if(l(e)?n=fe.fromDegrees(e.center[0],e.center[1],e.center[2]):n=fe.fromDegrees(t[0],t[1],t[2]),l(this._dataProvider._geoidDataList)&&l(n))for(let T=0;T<this._dataProvider._geoidDataList.length;T++){let A=this._dataProvider._geoidDataList[T],C=A.projection.project(n);if(C.x>A.nativeExtent.west&&C.x<A.nativeExtent.east&&C.y>A.nativeExtent.south&&C.y<A.nativeExtent.north){n.height+=JEt(C.x,C.y,A);break}}let i={},o,r=0;l(e)?(i={box:[0,0,0,e.halfSize[0],0,0,0,e.halfSize[1],0,0,0,e.halfSize[2]]},r=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),o=ee.WGS84.cartographicToCartesian(n)):(i={sphere:[0,0,0,t[3]]},o=ee.WGS84.cartographicToCartesian(n),r=this._data.mbs[3]),r*=2;let s=1/0;if(l(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let T=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));s=r/T}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let T=this._data.lodThreshold;s=r/T}else console.error("Invalid lodSelectionMetricType in Layer");else if(l(this._data.lodSelection))for(let T=0;T<this._data.lodSelection.length;T++)this._data.lodSelection[T].metricType==="maxScreenThreshold"&&(s=r/this._data.lodSelection[T].maxError);s===1/0&&(s=1e5);let a=s*16,c=new Da(0,0,0),u=Lt.headingPitchRollQuaternion(o,c);l(this._data.obb)&&(u=new Le(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let f=$.fromQuaternion(u),d=$.inverse(f,new $),p=new F(f[0],f[1],f[2],0,f[3],f[4],f[5],0,f[6],f[7],f[8],0,o.x,o.y,o.z,1),g=F.inverse(p,new F),m=F.clone(p);l(this._parent._globalTransform)&&F.multiply(p,this._parent._inverseGlobalTransform,m),this._globalTransform=p,this._inverseGlobalTransform=g,this._inverseRotationMatrix=d;let x=[];for(let T=0;T<this._children.length;T++)x.push(this._children[T]._create3DTileDefinition());return{children:x,refine:"REPLACE",boundingVolume:i,transform:[m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]],content:{uri:l(this._resource)?this._resource.url:void 0},geometricError:a}};Mc.prototype._loadSymbology=async function(){!l(this._symbologyData)&&l(this._layer._symbology)&&(this._symbologyData=await this._layer._symbology._getSymbology(this))};Mc.prototype._createContentURL=async function(){let e={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},t=[this._loadGeometryData()];if(this._dataProvider.legacyVersion16&&t.push(this._loadFeatureData()),await Promise.all(t),l(this._geometryData)&&this._geometryData.length>0){this._dataProvider._applySymbology&&await this._loadSymbology();let o=this._geometryData[0].resource.url,r=this._layer._data.store.defaultGeometrySchema,s=this._geometryData[0],a=await X3.decode(o,r,s,this._featureData[0],this._symbologyData);if(!l(a))return;e=s._generateGltf(a.meshData.nodesInScene,a.meshData.nodes,a.meshData.meshes,a.meshData.buffers,a.meshData.bufferViews,a.meshData.accessors,a.meshData.rootExtensions,a.meshData.extensionsUsed),this._geometryData[0]._customAttributes=a.meshData._customAttributes}let n=this._dataProvider._binarizeGltf(e),i=new Blob([n],{type:"application/binary"});return URL.createObjectURL(i)};async function ZEt(e){let t=e._layer._filters,n=[];for(let i=0;i<t.length;i++){let o=e.loadField(t[i].name);n.push(o)}return await Promise.all(n),t}function $Et(e,t,n){if(!l(n.values)||n.values.length===0)return!1;let i=l(t)?t.values:[],o;e<i.length&&(o=i[e]);let r=!1;for(let s=0;s<n.values.length;s++)if(n.values[s]===o){r=!0;break}return r}async function LAe(e,t){let n=e._tile.content.batchTable;if(l(n)&&n.featuresLength>0){n.setAllShow(!0);let i=await ZEt(e);if(i.length>0)for(let o=0;o<n.featuresLength;o++)for(let r=0;r<i.length;r++){let s=i[r];if(!$Et(o,e._fields[s.name],s)){n.setShow(o,!1);break}}}t.show=!0}Mc.prototype._filterFeatures=function(){let e=[];for(let n=0;n<this._children.length;n++){let i=this._children[n]._filterFeatures();e.push(i)}let t=this._tile?.content?._model;if(l(this._geometryData)&&this._geometryData.length>0&&l(t)&&t.ready){t.show=!1;let n=LAe(this,t);e.push(n)}return Promise.all(e)};Wf.prototype._hookedRequestContent=Wf.prototype.requestContent;Wf.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading){this._isLoading=!0;let e=this;return this._i3sNode._createContentURL().then(t=>{if(!l(t)){e._isLoading=!1;return}return e._contentResource=new Ae({url:t}),e._hookedRequestContent()}).then(t=>{let n=t?._model;return l(e._i3sNode._geometryData)&&e._i3sNode._geometryData.length>0&&l(n)&&(n.show=!1,n.readyEvent.addEventListener(()=>{LAe(e._i3sNode,n)})),e._isLoading=!1,t})}};function QEt(e,t,n,i,o,r){let s=n*(1-e)+i*e,a=o*(1-e)+r*e;return s*(1-t)+a*t}function FG(e,t,n,i){let o=e+t*n;return i[o]}function JEt(e,t,n){let i=n.nativeExtent,o=(e-i.west)/(i.east-i.west)*(n.width-1),r=(t-i.south)/(i.north-i.south)*(n.height-1),s=Math.floor(o),a=Math.floor(r);o-=s,r-=a;let c=s<n.width?s+1:s,u=a<n.height?a+1:a;a=n.height-1-a,u=n.height-1-u;let f=FG(s,a,n.width,n.buffer),d=FG(c,a,n.width,n.buffer),p=FG(s,u,n.width,n.buffer),g=FG(c,u,n.width,n.buffer),m=QEt(o,r,f,d,p,g);return m=m*n.scale+n.offset,m}Object.defineProperties(Wf.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var Gv=Mc;function BG(e){this._layer=e,this._defaultSymbology=void 0,this._valueFields=[],this._uniqueValueHash=void 0,this._classBreaksHash=void 0,this._parseLayerSymbology()}Object.defineProperties(BG.prototype,{defaultSymbology:{get:function(){return this._defaultSymbology}}});function V$(e,t){let n=[];for(let i=0;i<e.length;i++){let o=H.byteToFloat(e[i]);i<3?n.push(jT(o)):n.push(o)}return n.length===3&&(l(t)?n.push(1-t/100):n.push(1)),n}function Wv(e,t){let n={edges:void 0,material:void 0};if(l(e)&&l(e.symbolLayers))for(let i=0;i<e.symbolLayers.length;i++){let o=e.symbolLayers[i];if(o.type==="Fill"){let r=o.edges,s=o.outline;if(l(r)?(n.edges={},l(r.color)&&(n.edges.color=V$(r.color,r.transparency))):l(s)&&(n.edges={},l(s.color)&&(n.edges.color=V$(s.color,s.transparency))),!t){let a=o.material;l(a)&&(n.material={colorMixMode:a.colorMixMode},l(a.color)&&(n.material.color=V$(a.color,a.transparency)))}break}}return n}function eSt(e,t){if(l(e.uniqueValueGroups)){let n={};for(let i=0;i<e.uniqueValueGroups.length;i++){let o=e.uniqueValueGroups[i].classes;if(l(o))for(let r=0;r<o.length;r++){let s=Wv(o[r].symbol,t),a=o[r].values;for(let c=0;c<a.length;c++){let u=a[c],f=n;for(let d=0;d<u.length;d++){let p=u[d];d===u.length-1?f[p]=s:(l(f[p])||(f[p]={}),f=f[p])}}}}return n}if(l(e.uniqueValueInfos)){let n={};for(let i=0;i<e.uniqueValueInfos.length;i++){let o=e.uniqueValueInfos[i];n[o.value]=Wv(o.symbol,t)}return n}}function tSt(e,t){if(l(e.classBreakInfos)){let n=[...e.classBreakInfos];n.sort(function(o,r){let s=y(o.classMaxValue,o.classMinValue),a=y(r.classMaxValue,r.classMinValue);return s-a});let i={ranges:[],symbols:[]};l(e.minValue)&&(i.ranges.push(e.minValue),i.symbols.push(void 0));for(let o=0;o<n.length;o++){let r=n[o];l(r.classMinValue)&&(i.ranges.length===0||r.classMinValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMinValue),i.symbols.push(void 0)),l(r.classMaxValue)&&(i.ranges.length===0||r.classMaxValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMaxValue),i.symbols.push(Wv(r.symbol,t)))}return i.symbols.push(void 0),i}}BG.prototype._parseLayerSymbology=function(){let e=this._layer.data.drawingInfo;if(l(e)&&l(e.renderer)){let t=this._layer.data.cachedDrawingInfo,n=l(t)&&t.color===!0,i=e.renderer;i.type==="simple"?this._defaultSymbology=Wv(i.symbol,n):i.type==="uniqueValue"?(this._defaultSymbology=Wv(i.defaultSymbol,n),this._valueFields.push(i.field1),l(i.field2)&&this._valueFields.push(i.field2),l(i.field3)&&this._valueFields.push(i.field3),this._uniqueValueHash=eSt(i,n)):i.type==="classBreaks"&&(this._defaultSymbology=Wv(i.defaultSymbol,n),this._valueFields.push(i.field),this._classBreaksHash=tSt(i,n))}};function NAe(e,t,n,i){let o=t[n];if(i<o.length){let r=o[i],s=e[r];return l(s)&&++n<t.length?NAe(s,t,n,i):s}}function nSt(e,t){let n=0,i=e.length;if(n<i)do{let o=n+i>>>1;e[o]<t?n=o+1:i=o}while(n<i);return n}function iSt(e,t,n){let i=t[n],o=nSt(e.ranges,i);return e.symbols[o]}BG.prototype._getSymbology=async function(e){let t={default:this._defaultSymbology};if(this._valueFields.length>0){let n=[];for(let r=0;r<this._valueFields.length;r++)n.push(e.loadField(this._valueFields[r]));await Promise.all(n);let i=[];for(let r=0;r<this._valueFields.length;r++)i.push(e.fields[this._valueFields[r]].values);let o;if(l(this._uniqueValueHash)?o=r=>NAe(this._uniqueValueHash,i,0,r):l(this._classBreaksHash)&&(o=r=>iSt(this._classBreaksHash,i[0],r)),l(o)){let r=i[0];for(let s=0;s<r.length;s++){let a=o(s);l(a)&&(t[s]=a)}}}return t};var Q3=BG;function iu(e,t,n){this._dataProvider=e,this._parent=n,!l(t.href)&&l(t.id)&&(t.href=`layers/${t.id}`);let i=this._parent.resource.getUrlComponent(),o="";i.match(/layers\/\d/)?o=`${i}`.replace(/\/+$/,""):o=`${i}`.replace(/\/?$/,"/").concat(`${t.href}`),this._version=t.store.version;let r=this._version.split(".");this._majorVersion=parseInt(r[0]),this._minorVersion=r.length>1?parseInt(r[1]):0,this._resource=new Ae({url:o}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=t,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._filters=[],this._symbology=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(iu.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(l(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});iu.prototype.load=async function(e){if(this._data.spatialReference.wkid!==4326)throw new se(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(this._dataProvider.applySymbology&&(this._symbology=new Q3(this)),await this._dataProvider.loadGeoidData(),await this._loadRootNode(e),await this._create3DTileset(e),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};iu.prototype._computeGeometryDefinitions=function(e){if(this._geometryDefinitions=[],l(this._data.geometryDefinitions))for(let t=0;t<this._data.geometryDefinitions.length;t++){let n=[],i=this._data.geometryDefinitions[t].geometryBuffers;for(let o=0;o<i.length;o++){let r=i[o],s=[],a=!1;if(l(r.compressedAttributes)&&e){a=!0;let c=r.compressedAttributes.attributes;for(let u=0;u<c.length;u++)s.push(c[u])}else for(let c in r)c!=="offset"&&s.push(c);n.push({compressed:a,attributes:s,index:i.indexOf(r)})}n.sort(function(o,r){return o.compressed&&!r.compressed?-1:!o.compressed&&r.compressed?1:o.attributes.length-r.attributes.length}),this._geometryDefinitions.push(n)}};iu.prototype._findBestGeometryBuffers=function(e,t){let n=this._geometryDefinitions[e];if(l(n)){for(let i=0;i<n.length;++i){let o=n[i],r=!1,s=o.attributes;for(let a=0;a<t.length;a++)if(!s.includes(t[a])){r=!0;break}if(!r)return{bufferIndex:o.index,definition:n,geometryBufferInfo:o}}if(l(n[0]))return{bufferIndex:0,definition:n,geometryBufferInfo:n[0]}}};iu.prototype._loadRootNode=function(e){if(l(this._data.nodePages)){let t=0;l(this._data.nodePages.rootIndex)&&(t=this._data.nodePages.rootIndex),this._rootNode=new Gv(this,t,!0)}else this._rootNode=new Gv(this,this._data.store.rootNode,!0);return this._rootNode.load(e)};iu.prototype._getNodeInNodePages=function(e){let t=Math.floor(e/this._data.nodePages.nodesPerPage),n=e%this._data.nodePages.nodesPerPage;return this._loadNodePage(t).then(function(i){return i.nodes[n]})};iu._fetchJson=function(e){return e.fetchJson()};iu.prototype._loadNodePage=function(e){let t=this;if(!l(this._nodePageFetches[e])){let n=this.resource.getDerivedResource({url:`nodepages/${e}/`}),i=iu._fetchJson(n).then(function(o){return l(o.error)&&o.error.code!==200?Promise.reject(o.error):(t._nodePages[e]=o.nodes,o)});this._nodePageFetches[e]=i}return this._nodePageFetches[e]};iu.prototype._computeExtent=function(){l(this._data.fullExtent)?this._extent=ae.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):l(this._data.store.extent)&&(this._extent=ae.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};iu.prototype._create3DTileset=async function(e){let t={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},n=new Blob([JSON.stringify(t)],{type:"application/json"}),i=URL.createObjectURL(n),o=this._symbology?.defaultSymbology?.edges?.color;l(o)&&!l(e?.outlineColor)&&(e=l(e)?He(e):{},e.outlineColor=H.fromCartesian4(ie.fromArray(o))),this._tileset=await Es.fromUrl(i,e),this._tileset.show=this._parent.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(r){r._i3sNode._clearGeometryData(),URL.revokeObjectURL(r._contentResource._url),r._contentResource=r._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(r){l(r._i3sNode)&&r._i3sNode._loadChildren()})};iu.prototype._updateVisibility=function(){l(this._tileset)&&(this._tileset.show=this._parent.show)};iu.prototype.filterByAttributes=function(e){this._filters=l(e)?He(e,!0):[];let t=this._rootNode;return l(t)?t._filterFeatures():Promise.resolve()};var IC=iu;function kG(e,t){this._dataProvider=e,this._resource=new Ae({url:t}),this._resource.setQueryParameters(e.resource.queryParameters),this._resource.appendForwardSlash()}Object.defineProperties(kG.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},names:{get:function(){let e=[],t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n)e.push(t[n].fieldName);return e}}});kG.prototype.load=async function(){return this._data=await Hh.loadJson(this._resource),this._data};kG.prototype._getValues=function(e){let t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n){let i=t[n];if(i.fieldName===e)return l(i.mostFrequentValues)?[...i.mostFrequentValues]:[]}};var J3=kG;function ek(e,t,n){this._dataProvider=e,this._parent=t,this._data=n,this._name=n.name,this._modelName=n.modelName,this._visibility=y(n.visibility,!0),this._resource=void 0,this._sublayers=[],this._i3sLayers=[]}Object.defineProperties(ek.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},name:{get:function(){return this._name}},modelName:{get:function(){return this._modelName}},sublayers:{get:function(){return this._sublayers}},visibility:{get:function(){return this._visibility},set:function(e){if(this._visibility!==e){this._visibility=e;for(let t=0;t<this._i3sLayers.length;t++)this._i3sLayers[t]._updateVisibility()}}},show:{get:function(){return this._visibility&&this._parent.show}}});ek._fromData=async function(e,t,n,i){let o=new ek(e,i,n);if(o._data.layerType==="group"){let r=o._data.sublayers;if(l(r)){let s=[];for(let c=0;c<r.length;c++){let u=ek._fromData(e,t,r[c],o);s.push(u)}let a=await Promise.all(s);for(let c=0;c<a.length;c++){let u=a[c];o._sublayers.push(u),o._i3sLayers.push(...u._i3sLayers)}}}else if(o._data.layerType==="3DObject"){let r=t.concat(`/sublayers/${o._data.id}`),s=new Ae({url:r});s.setQueryParameters(e.resource.queryParameters),s.appendForwardSlash(),o._resource=s;let a=await Hh.loadJson(o._resource),c=new IC(e,a,o);o._i3sLayers.push(c)}else console.log(`${o._data.layerType} layer ${o._data.name} is skipped as not supported.`);return o};var tk=ek;var kAe=Wo(FAe(),1);function Ds(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._show=y(e.show,!0),this._geoidTiledTerrainProvider=e.geoidTiledTerrainProvider,this._showFeatures=y(e.showFeatures,!1),this._adjustMaterialAlphaMode=y(e.adjustMaterialAlphaMode,!1),this._applySymbology=y(e.applySymbology,!1),this._calculateNormals=y(e.calculateNormals,!1),this._cesium3dTilesetOptions=y(e.cesium3dTilesetOptions,y.EMPTY_OBJECT),this._layers=[],this._sublayers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,this._attributeStatistics=[],this._layersExtent=[]}Object.defineProperties(Ds.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;for(let t=0;t<this._layers.length;t++)this._layers[t]._updateVisibility()}}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},sublayers:{get:function(){return this._sublayers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},resource:{get:function(){return this._resource}},showFeatures:{get:function(){return this._showFeatures}},adjustMaterialAlphaMode:{get:function(){return this._adjustMaterialAlphaMode}},applySymbology:{get:function(){return this._applySymbology}},calculateNormals:{get:function(){return this._calculateNormals}}});Ds.prototype.destroy=function(){for(let e=0;e<this._layers.length;e++)l(this._layers[e]._tileset)&&this._layers[e]._tileset.destroy();return ue(this)};Ds.prototype.isDestroyed=function(){return!1};Ds.prototype.update=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.update(e)};Ds.prototype.prePassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.prePassesUpdate(e)};Ds.prototype.postPassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.postPassesUpdate(e)};Ds.prototype.updateForPass=function(e,t){for(let n=0;n<this._layers.length;n++)l(this._layers[n]._tileset)&&this._layers[n]._tileset.updateForPass(e,t)};function oSt(e,t){let n=e.resource.getUrlComponent(),i="";return n.match(/layers\/\d/)?i=`${n}`.replace(/\/+$/,""):i=`${n}`.replace(/\/?$/,"/").concat(`layers/${t}`),i}async function BAe(e,t,n){if(t.layerType==="Building"){l(n.showFeatures)||(e._showFeatures=!0),l(n.adjustMaterialAlphaMode)||(e._adjustMaterialAlphaMode=!0),l(n.applySymbology)||(e._applySymbology=!0),l(n.calculateNormals)||(e._calculateNormals=!0);let i=oSt(e,t.id);if(l(t.sublayers)){let o=[];for(let s=0;s<t.sublayers.length;s++){let a=tk._fromData(e,i,t.sublayers[s],e);o.push(a)}let r=await Promise.all(o);for(let s=0;s<r.length;s++){let a=r[s];e._sublayers.push(a),e._layers.push(...a._i3sLayers)}}if(l(t.statisticsHRef)){let o=i.concat(`/${t.statisticsHRef}`),r=new J3(e,o);await r.load(),e._attributeStatistics.push(r)}if(l(t.fullExtent)){let o=ae.fromDegrees(t.fullExtent.xmin,t.fullExtent.ymin,t.fullExtent.xmax,t.fullExtent.ymax);e._layersExtent.push(o)}}else if(t.layerType==="3DObject"||t.layerType==="IntegratedMesh"){!l(n.calculateNormals)&&!l(t.textureSetDefinitions)&&(e._calculateNormals=!0);let i=new IC(e,t,e);e._layers.push(i),l(i._extent)&&e._layersExtent.push(i._extent)}else console.log(`${t.layerType} layer ${t.name} is skipped as not supported.`)}Ds.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e);n.setQueryParameters({f:"pjson"},!0);let i=await Ds.loadJson(n),o=new Ds(t);if(o._resource=n,o._data=i,l(i.layers)){let s=[];for(let a=0;a<i.layers.length;a++){let c=BAe(o,i.layers[a],t);s.push(c)}await Promise.all(s)}else await BAe(o,i,t);o._computeExtent();let r=[];for(let s=0;s<o._layers.length;s++)r.push(o._layers[s].load(t.cesium3dTilesetOptions));return await Promise.all(r),o};Ds._fetchJson=function(e){return e.fetchJson()};Ds.loadJson=async function(e){let t=await Ds._fetchJson(e);if(l(t.error)){if(console.error("Failed to fetch I3S ",e.url),l(t.error.message)&&console.error(t.error.message),l(t.error.details))for(let n=0;n<t.error.details.length;n++)console.log(t.error.details[n]);throw new se(t.error)}return t};Ds.prototype._loadBinary=async function(e){let t=await e.fetchArrayBuffer();if(t.byteLength>0&&new Uint8Array(t)[0]===123&&new TextDecoder().decode(t).includes("404"))throw new se(`Failed to load binary: ${e.url}`);return t};Ds.prototype._binarizeGltf=function(e){let n=new TextEncoder().encode(JSON.stringify(e)),i=new Uint8Array(n.byteLength+20),o={magic:new Uint8Array(i.buffer,0,4),version:new Uint32Array(i.buffer,4,1),length:new Uint32Array(i.buffer,8,1),chunkLength:new Uint32Array(i.buffer,12,1),chunkType:new Uint32Array(i.buffer,16,1),chunkData:new Uint8Array(i.buffer,20,n.byteLength)};return o.magic[0]=103,o.magic[1]=108,o.magic[2]=84,o.magic[3]=70,o.version[0]=2,o.length[0]=i.byteLength,o.chunkLength[0]=n.byteLength,o.chunkType[0]=1313821514,o.chunkData.set(n),i};var rSt=new z;function sSt(e,t){let n=e.tilingScheme,i=[],o={},r=e._lodCount,s=fe.fromRadians(t.west,t.north),a=fe.fromRadians(t.east,t.south),c=n.positionToTileXY(s,r),u=n.positionToTileXY(a,r);for(let d=c.x;d<=u.x;d++)for(let p=c.y;p<=u.y;p++){let g=z.fromElements(d,p,rSt),m=g.toString();if(!o.hasOwnProperty(m)){let x={x:g.x,y:g.y,level:r,tilingScheme:n,terrainProvider:e,positions:[]};o[m]=x,i.push(x)}}let f=[];for(let d=0;d<i.length;++d){let p=i[d],g=p.terrainProvider.requestTileGeometry(p.x,p.y,p.level);f.push(g)}return Promise.all(f).then(function(d){let p=[];for(let g=0;g<d.length;g++){let m={tilingScheme:n,x:i[g].x,y:i[g].y,level:i[g].level},x=d[g],b="Geographic";n._projection instanceof Mi&&(b="WebMercator");let T={projectionType:b,projection:n._projection,nativeExtent:n.tileXYToNativeRectangle(m.x,m.y,m.level),height:x._height,width:x._width,scale:x._structure.heightScale,offset:x._structure.heightOffset};if(x._encoding===od.LERC){let A=kAe.default.decode(x._buffer);T.buffer=A.pixels[0]}else T.buffer=x._buffer;p.push(T)}return p})}async function aSt(e){let t=e._geoidTiledTerrainProvider;if(l(t))try{let n=await sSt(t,e._extent);e._geoidDataList=n}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}Ds.prototype.loadGeoidData=async function(){return l(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=aSt(this),this._geoidDataPromise)};Ds.prototype._computeExtent=function(){let e;for(let t=0;t<this._layersExtent.length;t++){let n=this._layersExtent[t];l(e)?ae.union(e,n,e):e=ae.clone(n)}this._extent=e};Ds.prototype.getAttributeNames=function(){let e=[];for(let t=0;t<this._attributeStatistics.length;++t)e.push(...this._attributeStatistics[t].names);return e};Ds.prototype.getAttributeValues=function(e){for(let t=0;t<this._attributeStatistics.length;++t){let n=this._attributeStatistics[t]._getValues(e);if(l(n))return n}return[]};Ds.prototype.filterByAttributes=function(e){let t=[];for(let n=0;n<this._layers.length;n++){let i=this._layers[n].filterByAttributes(e);t.push(i)}return Promise.all(t)};var Hh=Ds;var U$={};U$.createTilesetFromIModelId=async function(e,t){let{exports:n}=await Yu.getExports(e);if(n.length>0&&n.every(a=>a.status===Yu.ExportStatus.Invalid))throw new se(`All exports for this iModel are Invalid: ${e}`);let i=n.find(a=>a.status===Yu.ExportStatus.Complete);if(!l(i))return;let o=new URL(i._links.mesh.href);o.pathname=`${o.pathname}/tileset.json`;let r=o.toString(),s=new Ae({url:r});return Es.fromUrl(s,t)};U$.createTilesetForRealityDataId=async function(e,t,n,i){if(!l(n)||!l(i)){let s=await Yu.getRealityDataMetadata(e,t);i=s.rootDocument,n=s.type}if(![Yu.RealityDataType.Cesium3DTiles,Yu.RealityDataType.PNTS,Yu.RealityDataType.RealityMesh3DTiles,Yu.RealityDataType.Terrain3DTiles].includes(n))throw new se(`Reality data type is not a mesh type: ${n}`);let r=await Yu.getRealityDataURL(e,t,i);return Es.fromUrl(r,{maximumScreenSpaceError:4})};var z$=U$;function VAe(){}Object.defineProperties(VAe.prototype,{color:{get:de.throwInstantiationError},intensity:{get:de.throwInstantiationError}});var H$=VAe;var cSt=/\/$/,UAe=new At('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function jv(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Ae.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=l(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();cSt.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;l(e.credit)?(c=e.credit,typeof c=="string"&&(c=new At(c))):c=UAe,this._resource=i,this._imageryProvider=new qa({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(jv.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});jv.prototype.getTileCredits=function(e,t,n){};jv.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};jv.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};jv._defaultCredit=UAe;var G$=jv;function W$(e){}W$.prototype.isReady=function(){return!0};W$.prototype.shouldDiscardImage=function(e){return!1};var j$=W$;var lSt=new At("MapQuest, Open Street Map and contributors, CC-BY-SA");function UG(e){e=y(e,y.EMPTY_OBJECT);let t=Ae.createIfNeeded(y(e.url,"https://tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}${e.retinaTiles?"@2x":""}.${y(e.fileExtension,"png")}`;let n=new us({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(ae.southwest(a),r),u=n.positionToTileXY(ae.northeast(a),r),f=(Math.abs(u.x-c.x)+1)*(Math.abs(u.y-c.y)+1),d=y(e.credit,lSt);typeof d=="string"&&(d=new At(d)),qa.call(this,{url:t,credit:d,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}l(Object.create)&&(UG.prototype=Object.create(qa.prototype),UG.prototype.constructor=UG);var vg=UG;var uSt=new z(1,1);function q$(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=H.clone(y(e.startColor,H.WHITE)),this.endColor=H.clone(y(e.endColor,H.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=z.clone(y(e.imageSize,uSt)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(q$.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var zAe=new h;q$.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,zAe),h.add(this.position,zAe,this.position),l(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var qv=q$;function HAe(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(HAe.prototype,{complete:{get:function(){return this._complete}}});var Y$=HAe;function GAe(e){}GAe.prototype.emit=function(e){de.throwInstantiationError()};var X$=GAe;var WAe=new z(1,1);function nk(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;l(t)||(t=new z3(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._emitterModelMatrix=F.clone(y(e.emitterModelMatrix,F.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new F,this._startColor=H.clone(y(e.color,y(e.startColor,H.WHITE))),this._endColor=H.clone(y(e.color,y(e.endColor,H.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=z.clone(y(e.imageSize,y(e.minimumImageSize,WAe))),this._maximumImageSize=z.clone(y(e.imageSize,y(e.maximumImageSize,WAe))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new me,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(nk.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._modelMatrix,e),F.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._emitterModelMatrix,e),F.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){H.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){H.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function fSt(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(l(o)){let d=o.length;for(let p=0;p<d;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,u=e._particlePool,f=Math.max(a-c.length-u.length,0);for(let d=0;d<f;++d){let p=new qv;p._billboard=r.add({image:s,show:!1}),u.push(p)}e._particleEstimate=a}function dSt(e){let t=e._particlePool.pop();return l(t)||(t=new qv),t}function hSt(e,t){e._particlePool.push(t)}function mSt(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let u=n[c];i.remove(u._billboard)}n.length=a}function pSt(e){l(e._billboard)&&(e._billboard.show=!1)}function jAe(e,t){let n=t._billboard;l(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=P.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=P.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=P.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=P.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new H(i,o,r,s),n.scale=P.lerp(t.startScale,t.endScale,t.normalizedAge)}function _St(e,t){t.startColor=H.clone(e._startColor,t.startColor),t.endColor=H.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=P.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=P.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=P.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=P.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=P.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function gSt(e,t){if(e._isComplete)return 0;t=P.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),l(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;l(s)&&!s._complete&&a>s.time&&(i+=P.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var zG=new h;nk.prototype.update=function(e){if(!this.show)return;l(this._billboardCollection)||(this._billboardCollection=new Su),this._updateParticlePool&&(fSt(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=K.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?jAe(this,s):(pSt(s),hSt(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=gSt(this,t);if(c>0&&l(i)){this._matrixDirty&&(this._combinedMatrix=F.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let u=this._combinedMatrix;for(r=0;r<c;r++)s=dSt(this),this._emitter.emit(s),h.add(s.position,s.velocity,zG),F.multiplyByPoint(u,zG,zG),s.position=F.multiplyByPoint(u,s.position,s.position),h.subtract(zG,s.position,s.velocity),h.normalize(s.velocity,s.velocity),_St(this,s),jAe(this,s)}if(this._billboardCollection.update(e),this._previousTime=K.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=P.mod(this._currentTime,this._lifetime),this.bursts){let u=this.bursts.length;for(r=0;r<u;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&mSt(this)};nk.prototype.isDestroyed=function(){return!1};nk.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),ue(this)};var K$=nk;function af(){de.throwInstantiationError()}af.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties(af.prototype,{quadtree:{get:de.throwInstantiationError,set:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError}});af.prototype.update=de.throwInstantiationError;af.prototype.beginUpdate=de.throwInstantiationError;af.prototype.endUpdate=de.throwInstantiationError;af.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;af.prototype.loadTile=de.throwInstantiationError;af.prototype.computeTileVisibility=de.throwInstantiationError;af.prototype.showTileThisFrame=de.throwInstantiationError;af.prototype.computeDistanceToTile=de.throwInstantiationError;af.prototype.isDestroyed=de.throwInstantiationError;af.prototype.destroy=de.throwInstantiationError;var Z$=af;function $$(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties($$.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});$$.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,P.PI),i=P.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var Q$=$$;function ik(){}ik.prototype.evaluate=function(e,t){de.throwInstantiationError()};ik.prototype.evaluateColor=function(e,t){de.throwInstantiationError()};ik.prototype.getShaderFunction=function(e,t,n,i){de.throwInstantiationError()};ik.prototype.getVariables=function(){de.throwInstantiationError()};var J$=ik;function Yv(e){this._ready=!1,this._provider=void 0,this._errorEvent=new me,this._readyEvent=new me,xSt(this,e)}Object.defineProperties(Yv.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});Yv.fromWorldTerrain=function(e){return new Yv(NT(e))};Yv.fromWorldBathymetry=function(e){return new Yv(OF(e))};function ySt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function xSt(e,t){let n;try{n=await Promise.resolve(t),e._provider=n,e._ready=!0,e._readyEvent.raiseEvent(n)}catch(i){ySt(e._errorEvent,i)}}var ok=Yv;function Xv(){}Xv.prototype.boundingVolume=void 0;Xv.prototype.boundingSphere=void 0;Xv.prototype.distanceToCamera=function(e){de.throwInstantiationError()};Xv.prototype.intersectPlane=function(e){de.throwInstantiationError()};Xv.prototype.createDebugVolume=function(e){de.throwInstantiationError()};var eQ=Xv;function rk(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Xi({ellipsoid:e.ellipsoid}),this._color=y(e.color,H.YELLOW),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(rk.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});rk.prototype.getTileCredits=function(e,t,n){};rk.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};rk.prototype.pickFeatures=function(e,t,n,i,o){};var sk=rk;function tQ(e){de.throwInstantiationError()}tQ.prototype.isReady=de.throwInstantiationError;tQ.prototype.shouldDiscardImage=de.throwInstantiationError;var nQ=tQ;var bSt={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},iQ=Object.freeze(bSt);function HG(e,t){this.show=!0,l(e)||(e=new We),this.rectangle=We.clone(e),l(t)||(t=Yi.fromType(Yi.ColorType,{color:new H(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}HG.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!l(t)||!We.equals(t.viewport,this.rectangle))&&(this._rs=Ve.fromCache({blending:dn.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!l(this._overlayCommand)){this._material=this.material,l(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new Ue({sources:[this._material.shaderSource,g2]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=ve.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};HG.prototype.isDestroyed=function(){return!1};HG.prototype.destroy=function(){return l(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),ue(this)};var oQ=HG;function rQ(){de.throwInstantiationError()}Object.defineProperties(rQ.prototype,{globalTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shape:{get:de.throwInstantiationError},minBounds:{get:de.throwInstantiationError},maxBounds:{get:de.throwInstantiationError},dimensions:{get:de.throwInstantiationError},paddingBefore:{get:de.throwInstantiationError},paddingAfter:{get:de.throwInstantiationError},names:{get:de.throwInstantiationError},types:{get:de.throwInstantiationError},componentTypes:{get:de.throwInstantiationError},minimumValues:{get:de.throwInstantiationError},maximumValues:{get:de.throwInstantiationError},maximumTileCount:{get:de.throwInstantiationError},keyframeCount:{get:de.throwInstantiationError},timeIntervalCollection:{get:de.throwInstantiationError}});rQ.prototype.requestData=de.throwInstantiationError;var sQ=rQ;function PC(){de.throwInstantiationError()}Object.defineProperties(PC.prototype,{orientedBoundingBox:{get:de.throwInstantiationError},boundingSphere:{get:de.throwInstantiationError},boundTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shaderUniforms:{get:de.throwInstantiationError},shaderDefines:{get:de.throwInstantiationError},shaderMaximumIntersectionsLength:{get:de.throwInstantiationError}});PC.prototype.update=de.throwInstantiationError;PC.prototype.computeOrientedBoundingBoxForTile=de.throwInstantiationError;PC.prototype.computeOrientedBoundingBoxForSample=de.throwInstantiationError;PC.DefaultMinBounds=de.throwInstantiationError;PC.DefaultMaxBounds=de.throwInstantiationError;var aQ=PC;var cQ=`uniform sampler2D u_depthTexture; in vec2 v_textureCoordinates; @@ -15949,49 +16165,49 @@ void main() float scale = pow(z_ndc * 0.5 + 0.5, 8.0); out_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0); } -`;var LEt={SIGX:"SIGX",SIGY:"SIGY",SIGZ:"SIGZ",VARX:"VARX",VARY:"VARY",VARZ:"VARZ",SIGR:"VARZ"},Z$=Object.freeze(LEt);function NEt(e){async function t({data:i}){let o=[],r={id:i.id,result:void 0,error:void 0};self.CESIUM_BASE_URL=i.baseUrl;try{let s=await e(i.parameters,o);r.result=s}catch(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}i.canTransferArrayBuffer||(o.length=0);try{postMessage(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${Gm(s)} - with responseMessage: ${JSON.stringify(r)}`,postMessage(r)}}function n(i){postMessage({id:i.data?.id,error:`postMessage failed with error: ${JSON.stringify(i)}`})}return self.onmessage=t,self.onmessageerror=n,self}var $$=NEt;globalThis.CESIUM_VERSION="1.122";var Q3;typeof ko<"u"&&(Q3=ko);(function(){/*! +`;function TSt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,nt.RGBA),this.pixelDatatype=y(e.pixelDatatype,Ye.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=Ae.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?En.REPEAT:En.CLAMP_TO_EDGE;this.sampler=new Qt({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var lQ=TSt;var CSt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},uQ=Object.freeze(CSt);var ASt={SIGX:"SIGX",SIGY:"SIGY",SIGZ:"SIGZ",VARX:"VARX",VARY:"VARY",VARZ:"VARZ",SIGR:"VARZ"},fQ=Object.freeze(ASt);function ESt(e){async function t({data:i}){let o=[],r={id:i.id,result:void 0,error:void 0};self.CESIUM_BASE_URL=i.baseUrl;try{let s=await e(i.parameters,o);r.result=s}catch(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}i.canTransferArrayBuffer||(o.length=0);try{postMessage(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${jm(s)} + with responseMessage: ${JSON.stringify(r)}`,postMessage(r)}}function n(i){postMessage({id:i.data?.id,error:`postMessage failed with error: ${JSON.stringify(i)}`})}return self.onmessage=t,self.onmessageerror=n,self}var dQ=ESt;globalThis.CESIUM_VERSION="1.124";var ak;typeof ko<"u"&&(ak=ko);(function(){/*! * Knockout JavaScript library v3.5.1 * (c) The Knockout.js team - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) - */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(_,S){return _===null||typeof _ in x?_===S:!1}function u(_,S){var w;return function(){w||(w=m.a.setTimeout(function(){w=e,_()},S))}}function f(_,S){var w;return function(){clearTimeout(w),w=m.a.setTimeout(_,S)}}function d(_,S){S&&S!=="change"?S==="beforeChange"?this.pc(_):this.gb(_,S):this.qc(_)}function p(_,S){S!==null&&S.s&&S.s()}function g(_,S){var w=this.qd,I=w[E];I.ra||(this.Qb&&this.mb[S]?(w.uc(S,_,this.mb[S]),this.mb[S]=null,--this.Qb):I.I[S]||w.uc(S,_,I.J?{da:_}:w.$c(_)),_.Ja&&_.gd())}var m=typeof s<"u"?s:{};m.b=function(_,S){for(var w=_.split("."),I=m,L=0;L<w.length-1;L++)I=I[w[L]];I[w[w.length-1]]=S},m.L=function(_,S,w){_[S]=w},m.version="3.5.1",m.b("version",m.version),m.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},m.a=function(){function _(j,Z){for(var J in j)L.call(j,J)&&Z(J,j[J])}function S(j,Z){if(Z)for(var J in Z)L.call(Z,J)&&(j[J]=Z[J]);return j}function w(j,Z){return j.__proto__=Z,j}function I(j,Z,J,he){var xe=j[Z].match(W)||[];m.a.D(J.match(W),function(re){m.a.Na(xe,re,he)}),j[Z]=xe.join(" ")}var L=Object.prototype.hasOwnProperty,B={__proto__:[]}instanceof Array,U=typeof Symbol=="function",V={},G={};V[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],V.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),_(V,function(j,Z){if(Z.length)for(var J=0,he=Z.length;J<he;J++)G[Z[J]]=j});var k={propertychange:!0},Y=n&&function(){for(var j=3,Z=n.createElement("div"),J=Z.getElementsByTagName("i");Z.innerHTML="<!--[if gt IE "+ ++j+"]><i></i><![endif]-->",J[0];);return 4<j?j:e}(),W=/\S+/g,Q;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(j,Z,J){for(var he=0,xe=j.length;he<xe;he++)Z.call(J,j[he],he,j)},A:typeof Array.prototype.indexOf=="function"?function(j,Z){return Array.prototype.indexOf.call(j,Z)}:function(j,Z){for(var J=0,he=j.length;J<he;J++)if(j[J]===Z)return J;return-1},Lb:function(j,Z,J){for(var he=0,xe=j.length;he<xe;he++)if(Z.call(J,j[he],he,j))return j[he];return e},Pa:function(j,Z){var J=m.a.A(j,Z);0<J?j.splice(J,1):J===0&&j.shift()},wc:function(j){var Z=[];return j&&m.a.D(j,function(J){0>m.a.A(Z,J)&&Z.push(J)}),Z},Mb:function(j,Z,J){var he=[];if(j)for(var xe=0,re=j.length;xe<re;xe++)he.push(Z.call(J,j[xe],xe));return he},jb:function(j,Z,J){var he=[];if(j)for(var xe=0,re=j.length;xe<re;xe++)Z.call(J,j[xe],xe)&&he.push(j[xe]);return he},Nb:function(j,Z){if(Z instanceof Array)j.push.apply(j,Z);else for(var J=0,he=Z.length;J<he;J++)j.push(Z[J]);return j},Na:function(j,Z,J){var he=m.a.A(m.a.bc(j),Z);0>he?J&&j.push(Z):J||j.splice(he,1)},Ba:B,extend:S,setPrototypeOf:w,Ab:B?w:S,P:_,Ga:function(j,Z,J){if(!j)return j;var he={},xe;for(xe in j)L.call(j,xe)&&(he[xe]=Z.call(J,j[xe],xe,j));return he},Tb:function(j){for(;j.firstChild;)m.removeNode(j.firstChild)},Yb:function(j){j=m.a.la(j);for(var Z=(j[0]&&j[0].ownerDocument||n).createElement("div"),J=0,he=j.length;J<he;J++)Z.appendChild(m.oa(j[J]));return Z},Ca:function(j,Z){for(var J=0,he=j.length,xe=[];J<he;J++){var re=j[J].cloneNode(!0);xe.push(Z?m.oa(re):re)}return xe},va:function(j,Z){if(m.a.Tb(j),Z)for(var J=0,he=Z.length;J<he;J++)j.appendChild(Z[J])},Xc:function(j,Z){var J=j.nodeType?[j]:j;if(0<J.length){for(var he=J[0],xe=he.parentNode,re=0,_e=Z.length;re<_e;re++)xe.insertBefore(Z[re],he);for(re=0,_e=J.length;re<_e;re++)m.removeNode(J[re])}},Ua:function(j,Z){if(j.length){for(Z=Z.nodeType===8&&Z.parentNode||Z;j.length&&j[0].parentNode!==Z;)j.splice(0,1);for(;1<j.length&&j[j.length-1].parentNode!==Z;)j.length--;if(1<j.length){var J=j[0],he=j[j.length-1];for(j.length=0;J!==he;)j.push(J),J=J.nextSibling;j.push(he)}}return j},Zc:function(j,Z){7>Y?j.setAttribute("selected",Z):j.selected=Z},Db:function(j){return j===null||j===e?"":j.trim?j.trim():j.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(j,Z){return j=j||"",Z.length>j.length?!1:j.substring(0,Z.length)===Z},vd:function(j,Z){if(j===Z)return!0;if(j.nodeType===11)return!1;if(Z.contains)return Z.contains(j.nodeType!==1?j.parentNode:j);if(Z.compareDocumentPosition)return(Z.compareDocumentPosition(j)&16)==16;for(;j&&j!=Z;)j=j.parentNode;return!!j},Sb:function(j){return m.a.vd(j,j.ownerDocument.documentElement)},kd:function(j){return!!m.a.Lb(j,m.a.Sb)},R:function(j){return j&&j.tagName&&j.tagName.toLowerCase()},Ac:function(j){return m.onError?function(){try{return j.apply(this,arguments)}catch(Z){throw m.onError&&m.onError(Z),Z}}:j},setTimeout:function(j,Z){return setTimeout(m.a.Ac(j),Z)},Gc:function(j){setTimeout(function(){throw m.onError&&m.onError(j),j},0)},B:function(j,Z,J){var he=m.a.Ac(J);if(J=k[Z],m.options.useOnlyNativeEvents||J||!o)if(J||typeof j.addEventListener!="function")if(typeof j.attachEvent<"u"){var xe=function(_e){he.call(j,_e)},re="on"+Z;j.attachEvent(re,xe),m.a.K.za(j,function(){j.detachEvent(re,xe)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else j.addEventListener(Z,he,!1);else Q||(Q=typeof o(j).on=="function"?"on":"bind"),o(j)[Q](Z,he)},Fb:function(j,Z){if(!j||!j.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var J;if(m.a.R(j)==="input"&&j.type&&Z.toLowerCase()=="click"?(J=j.type,J=J=="checkbox"||J=="radio"):J=!1,m.options.useOnlyNativeEvents||!o||J)if(typeof n.createEvent=="function")if(typeof j.dispatchEvent=="function")J=n.createEvent(G[Z]||"HTMLEvents"),J.initEvent(Z,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,j),j.dispatchEvent(J);else throw Error("The supplied element doesn't support dispatchEvent");else if(J&&j.click)j.click();else if(typeof j.fireEvent<"u")j.fireEvent("on"+Z);else throw Error("Browser doesn't support triggering events");else o(j).trigger(Z)},f:function(j){return m.O(j)?j():j},bc:function(j){return m.O(j)?j.v():j},Eb:function(j,Z,J){var he;Z&&(typeof j.classList=="object"?(he=j.classList[J?"add":"remove"],m.a.D(Z.match(W),function(xe){he.call(j.classList,xe)})):typeof j.className.baseVal=="string"?I(j.className,"baseVal",Z,J):I(j,"className",Z,J))},Bb:function(j,Z){var J=m.a.f(Z);(J===null||J===e)&&(J="");var he=m.h.firstChild(j);!he||he.nodeType!=3||m.h.nextSibling(he)?m.h.va(j,[j.ownerDocument.createTextNode(J)]):he.data=J,m.a.Ad(j)},Yc:function(j,Z){if(j.name=Z,7>=Y)try{var J=j.name.replace(/[&<>'"]/g,function(he){return"&#"+he.charCodeAt(0)+";"});j.mergeAttributes(n.createElement("<input name='"+J+"'/>"),!1)}catch{}},Ad:function(j){9<=Y&&(j=j.nodeType==1?j:j.parentNode,j.style&&(j.style.zoom=j.style.zoom))},wd:function(j){if(Y){var Z=j.style.width;j.style.width=0,j.style.width=Z}},Pd:function(j,Z){j=m.a.f(j),Z=m.a.f(Z);for(var J=[],he=j;he<=Z;he++)J.push(he);return J},la:function(j){for(var Z=[],J=0,he=j.length;J<he;J++)Z.push(j[J]);return Z},Da:function(j){return U?Symbol(j):j},Zd:Y===6,$d:Y===7,W:Y,Lc:function(j,Z){for(var J=m.a.la(j.getElementsByTagName("input")).concat(m.a.la(j.getElementsByTagName("textarea"))),he=typeof Z=="string"?function(_e){return _e.name===Z}:function(_e){return Z.test(_e.name)},xe=[],re=J.length-1;0<=re;re--)he(J[re])&&xe.push(J[re]);return xe},Nd:function(j){return typeof j=="string"&&(j=m.a.Db(j))?r&&r.parse?r.parse(j):new Function("return "+j)():null},hc:function(j,Z,J){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(m.a.f(j),Z,J)},Od:function(j,Z,J){J=J||{};var he=J.params||{},xe=J.includeFields||this.Jc,re=j;if(typeof j=="object"&&m.a.R(j)==="form")for(var re=j.action,_e=xe.length-1;0<=_e;_e--)for(var ye=m.a.Lc(j,xe[_e]),De=ye.length-1;0<=De;De--)he[ye[De].name]=ye[De].value;Z=m.a.f(Z);var ve=n.createElement("form");ve.style.display="none",ve.action=re,ve.method="post";for(var Me in Z)j=n.createElement("input"),j.type="hidden",j.name=Me,j.value=m.a.hc(m.a.f(Z[Me])),ve.appendChild(j);_(he,function(Oe,ct){var Ke=n.createElement("input");Ke.type="hidden",Ke.name=Oe,Ke.value=ct,ve.appendChild(Ke)}),n.body.appendChild(ve),J.submitter?J.submitter(ve):ve.submit(),setTimeout(function(){ve.parentNode.removeChild(ve)},0)}}}(),m.b("utils",m.a),m.b("utils.arrayForEach",m.a.D),m.b("utils.arrayFirst",m.a.Lb),m.b("utils.arrayFilter",m.a.jb),m.b("utils.arrayGetDistinctValues",m.a.wc),m.b("utils.arrayIndexOf",m.a.A),m.b("utils.arrayMap",m.a.Mb),m.b("utils.arrayPushAll",m.a.Nb),m.b("utils.arrayRemoveItem",m.a.Pa),m.b("utils.cloneNodes",m.a.Ca),m.b("utils.createSymbolOrString",m.a.Da),m.b("utils.extend",m.a.extend),m.b("utils.fieldsIncludedWithJsonPost",m.a.Jc),m.b("utils.getFormFields",m.a.Lc),m.b("utils.objectMap",m.a.Ga),m.b("utils.peekObservable",m.a.bc),m.b("utils.postJson",m.a.Od),m.b("utils.parseJson",m.a.Nd),m.b("utils.registerEventHandler",m.a.B),m.b("utils.stringifyJson",m.a.hc),m.b("utils.range",m.a.Pd),m.b("utils.toggleDomNodeCssClass",m.a.Eb),m.b("utils.triggerEvent",m.a.Fb),m.b("utils.unwrapObservable",m.a.f),m.b("utils.objectForEach",m.a.P),m.b("utils.addOrRemoveItem",m.a.Na),m.b("utils.setTextContent",m.a.Bb),m.b("unwrap",m.a.f),Function.prototype.bind||(Function.prototype.bind=function(_){var S=this;if(arguments.length===1)return function(){return S.apply(_,arguments)};var w=Array.prototype.slice.call(arguments,1);return function(){var I=w.slice(0);return I.push.apply(I,arguments),S.apply(_,I)}}),m.a.g=new function(){var _=0,S="__ko__"+new Date().getTime(),w={},I,L;return m.a.W?(I=function(B,U){var V=B[S];if(!V||V==="null"||!w[V]){if(!U)return e;V=B[S]="ko"+_++,w[V]={}}return w[V]},L=function(B){var U=B[S];return U?(delete w[U],B[S]=null,!0):!1}):(I=function(B,U){var V=B[S];return!V&&U&&(V=B[S]={}),V},L=function(B){return B[S]?(delete B[S],!0):!1}),{get:function(B,U){var V=I(B,!1);return V&&V[U]},set:function(B,U,V){(B=I(B,V!==e))&&(B[U]=V)},Ub:function(B,U,V){return B=I(B,!0),B[U]||(B[U]=V)},clear:L,Z:function(){return _+++S}}},m.b("utils.domData",m.a.g),m.b("utils.domData.clear",m.a.g.clear),m.a.K=new function(){function _(U,V){var G=m.a.g.get(U,I);return G===e&&V&&(G=[],m.a.g.set(U,I,G)),G}function S(U){var V=_(U,!1);if(V)for(var V=V.slice(0),G=0;G<V.length;G++)V[G](U);m.a.g.clear(U),m.a.K.cleanExternalData(U),B[U.nodeType]&&w(U.childNodes,!0)}function w(U,V){for(var G=[],k,Y=0;Y<U.length;Y++)if((!V||U[Y].nodeType===8)&&(S(G[G.length]=k=U[Y]),U[Y]!==k))for(;Y--&&m.a.A(G,U[Y])==-1;);}var I=m.a.g.Z(),L={1:!0,8:!0,9:!0},B={1:!0,9:!0};return{za:function(U,V){if(typeof V!="function")throw Error("Callback must be a function");_(U,!0).push(V)},yb:function(U,V){var G=_(U,!1);G&&(m.a.Pa(G,V),G.length==0&&m.a.g.set(U,I,e))},oa:function(U){return m.u.G(function(){L[U.nodeType]&&(S(U),B[U.nodeType]&&w(U.getElementsByTagName("*")))}),U},removeNode:function(U){m.oa(U),U.parentNode&&U.parentNode.removeChild(U)},cleanExternalData:function(U){o&&typeof o.cleanData=="function"&&o.cleanData([U])}}},m.oa=m.a.K.oa,m.removeNode=m.a.K.removeNode,m.b("cleanNode",m.oa),m.b("removeNode",m.removeNode),m.b("utils.domNodeDisposal",m.a.K),m.b("utils.domNodeDisposal.addDisposeCallback",m.a.K.za),m.b("utils.domNodeDisposal.removeDisposeCallback",m.a.K.yb),function(){var _=[0,"",""],S=[1,"<table>","</table>"],w=[3,"<table><tbody><tr>","</tr></tbody></table>"],I=[1,"<select multiple='multiple'>","</select>"],L={thead:S,tbody:S,tfoot:S,tr:[2,"<table><tbody>","</tbody></table>"],td:w,th:w,option:I,optgroup:I},B=8>=m.a.W;m.a.ua=function(U,V){var G;if(o){if(o.parseHTML)G=o.parseHTML(U,V)||[];else if((G=o.clean([U],V))&&G[0]){for(var k=G[0];k.parentNode&&k.parentNode.nodeType!==11;)k=k.parentNode;k.parentNode&&k.parentNode.removeChild(k)}}else{(G=V)||(G=n);var k=G.parentWindow||G.defaultView||t,Y=m.a.Db(U).toLowerCase(),W=G.createElement("div"),Q;for(Q=(Y=Y.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&L[Y[1]]||_,Y=Q[0],Q="ignored<div>"+Q[1]+U+Q[2]+"</div>",typeof k.innerShiv=="function"?W.appendChild(k.innerShiv(Q)):(B&&G.body.appendChild(W),W.innerHTML=Q,B&&W.parentNode.removeChild(W));Y--;)W=W.lastChild;G=m.a.la(W.lastChild.childNodes)}return G},m.a.Md=function(U,V){var G=m.a.ua(U,V);return G.length&&G[0].parentElement||m.a.Yb(G)},m.a.fc=function(U,V){if(m.a.Tb(U),V=m.a.f(V),V!==null&&V!==e)if(typeof V!="string"&&(V=V.toString()),o)o(U).html(V);else for(var G=m.a.ua(V,U.ownerDocument),k=0;k<G.length;k++)U.appendChild(G[k])}}(),m.b("utils.parseHtmlFragment",m.a.ua),m.b("utils.setHtml",m.a.fc),m.aa=function(){function _(w,I){if(w){if(w.nodeType==8){var L=m.aa.Uc(w.nodeValue);L!=null&&I.push({ud:w,Kd:L})}else if(w.nodeType==1)for(var L=0,B=w.childNodes,U=B.length;L<U;L++)_(B[L],I)}}var S={};return{Xb:function(w){if(typeof w!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var I=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return S[I]=w,"<!--[ko_memo:"+I+"]-->"},bd:function(w,I){var L=S[w];if(L===e)throw Error("Couldn't find any memo with ID "+w+". Perhaps it's already been unmemoized.");try{return L.apply(null,I||[]),!0}finally{delete S[w]}},cd:function(w,I){var L=[];_(w,L);for(var B=0,U=L.length;B<U;B++){var V=L[B].ud,G=[V];I&&m.a.Nb(G,I),m.aa.bd(L[B].Kd,G),V.nodeValue="",V.parentNode&&V.parentNode.removeChild(V)}},Uc:function(w){return(w=w.match(/^\[ko_memo\:(.*?)\]$/))?w[1]:null}}}(),m.b("memoization",m.aa),m.b("memoization.memoize",m.aa.Xb),m.b("memoization.unmemoize",m.aa.bd),m.b("memoization.parseMemoText",m.aa.Uc),m.b("memoization.unmemoizeDomNodeAndDescendants",m.aa.cd),m.na=function(){function _(){if(L){for(var V=L,G=0,k;U<L;)if(k=I[U++]){if(U>V){if(5e3<=++G){U=L,m.a.Gc(Error("'Too much recursion' after processing "+G+" task groups."));break}V=L}try{k()}catch(Y){m.a.Gc(Y)}}}}function S(){_(),U=L=I.length=0}var w,I=[],L=0,B=1,U=0;return t.MutationObserver?w=function(V){var G=n.createElement("div");return new MutationObserver(V).observe(G,{attributes:!0}),function(){G.classList.toggle("foo")}}(S):w=n&&"onreadystatechange"in n.createElement("script")?function(V){var G=n.createElement("script");G.onreadystatechange=function(){G.onreadystatechange=null,n.documentElement.removeChild(G),G=null,V()},n.documentElement.appendChild(G)}:function(V){setTimeout(V,0)},{scheduler:w,zb:function(V){return L||m.na.scheduler(S),I[L++]=V,B++},cancel:function(V){V=V-(B-L),V>=U&&V<L&&(I[V]=null)},resetForTesting:function(){var V=L-U;return U=L=I.length=0,V},Sd:_}}(),m.b("tasks",m.na),m.b("tasks.schedule",m.na.zb),m.b("tasks.runEarly",m.na.Sd),m.Ta={throttle:function(_,S){_.throttleEvaluation=S;var w=null;return m.$({read:_,write:function(I){clearTimeout(w),w=m.a.setTimeout(function(){_(I)},S)}})},rateLimit:function(_,S){var w,I,L;typeof S=="number"?w=S:(w=S.timeout,I=S.method),_.Hb=!1,L=typeof I=="function"?I:I=="notifyWhenChangesStop"?f:u,_.ub(function(B){return L(B,w,S)})},deferred:function(_,S){if(S!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");_.Hb||(_.Hb=!0,_.ub(function(w){var I,L=!1;return function(){if(!L){m.na.cancel(I),I=m.na.zb(w);try{L=!0,_.notifySubscribers(e,"dirty")}finally{L=!1}}}}))},notify:function(_,S){_.equalityComparer=S=="always"?null:c}};var x={undefined:1,boolean:1,number:1,string:1};m.b("extenders",m.Ta),m.ic=function(_,S,w){this.da=_,this.lc=S,this.mc=w,this.Ib=!1,this.fb=this.Jb=null,m.L(this,"dispose",this.s),m.L(this,"disposeWhenNodeIsRemoved",this.l)},m.ic.prototype.s=function(){this.Ib||(this.fb&&m.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},m.ic.prototype.l=function(_){this.Jb=_,m.a.K.za(_,this.fb=this.s.bind(this))},m.T=function(){m.a.Ab(this,b),b.qb(this)};var b={qb:function(_){_.U={change:[]},_.sc=1},subscribe:function(_,S,w){var I=this;w=w||"change";var L=new m.ic(I,S?_.bind(S):_,function(){m.a.Pa(I.U[w],L),I.hb&&I.hb(w)});return I.Qa&&I.Qa(w),I.U[w]||(I.U[w]=[]),I.U[w].push(L),L},notifySubscribers:function(_,S){if(S=S||"change",S==="change"&&this.Gb(),this.Wa(S)){var w=S==="change"&&this.ed||this.U[S].slice(0);try{m.u.xc();for(var I=0,L;L=w[I];++I)L.Ib||L.lc(_)}finally{m.u.end()}}},ob:function(){return this.sc},Dd:function(_){return this.ob()!==_},Gb:function(){++this.sc},ub:function(_){var S=this,w=m.O(S),I,L,B,U,V;S.gb||(S.gb=S.notifySubscribers,S.notifySubscribers=d);var G=_(function(){S.Ja=!1,w&&U===S&&(U=S.nc?S.nc():S());var k=L||V&&S.sb(B,U);V=L=I=!1,k&&S.gb(B=U)});S.qc=function(k,Y){Y&&S.Ja||(V=!Y),S.ed=S.U.change.slice(0),S.Ja=I=!0,U=k,G()},S.pc=function(k){I||(B=k,S.gb(k,"beforeChange"))},S.rc=function(){V=!0},S.gd=function(){S.sb(B,S.v(!0))&&(L=!0)}},Wa:function(_){return this.U[_]&&this.U[_].length},Bd:function(_){if(_)return this.U[_]&&this.U[_].length||0;var S=0;return m.a.P(this.U,function(w,I){w!=="dirty"&&(S+=I.length)}),S},sb:function(_,S){return!this.equalityComparer||!this.equalityComparer(_,S)},toString:function(){return"[object Object]"},extend:function(_){var S=this;return _&&m.a.P(_,function(w,I){var L=m.Ta[w];typeof L=="function"&&(S=L(S,I)||S)}),S}};m.L(b,"init",b.qb),m.L(b,"subscribe",b.subscribe),m.L(b,"extend",b.extend),m.L(b,"getSubscriptionsCount",b.Bd),m.a.Ba&&m.a.setPrototypeOf(b,Function.prototype),m.T.fn=b,m.Qc=function(_){return _!=null&&typeof _.subscribe=="function"&&typeof _.notifySubscribers=="function"},m.b("subscribable",m.T),m.b("isSubscribable",m.Qc),m.S=m.u=function(){function _(B){w.push(I),I=B}function S(){I=w.pop()}var w=[],I,L=0;return{xc:_,end:S,cc:function(B){if(I){if(!m.Qc(B))throw Error("Only subscribable things can act as dependencies");I.od.call(I.pd,B,B.fd||(B.fd=++L))}},G:function(B,U,V){try{return _(),B.apply(U,V||[])}finally{S()}},qa:function(){if(I)return I.o.qa()},Va:function(){if(I)return I.o.Va()},Ya:function(){if(I)return I.Ya},o:function(){if(I)return I.o}}}(),m.b("computedContext",m.S),m.b("computedContext.getDependenciesCount",m.S.qa),m.b("computedContext.getDependencies",m.S.Va),m.b("computedContext.isInitial",m.S.Ya),m.b("computedContext.registerDependency",m.S.cc),m.b("ignoreDependencies",m.Yd=m.u.G);var T=m.a.Da("_latestValue");m.ta=function(_){function S(){return 0<arguments.length?(S.sb(S[T],arguments[0])&&(S.ya(),S[T]=arguments[0],S.xa()),this):(m.u.cc(S),S[T])}return S[T]=_,m.a.Ba||m.a.extend(S,m.T.fn),m.T.fn.qb(S),m.a.Ab(S,A),m.options.deferUpdates&&m.Ta.deferred(S,!0),S};var A={equalityComparer:c,v:function(){return this[T]},xa:function(){this.notifySubscribers(this[T],"spectate"),this.notifySubscribers(this[T])},ya:function(){this.notifySubscribers(this[T],"beforeChange")}};m.a.Ba&&m.a.setPrototypeOf(A,m.T.fn);var C=m.ta.Ma="__ko_proto__";A[C]=m.ta,m.O=function(_){if((_=typeof _=="function"&&_[C])&&_!==A[C]&&_!==m.o.fn[C])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!_},m.Za=function(_){return typeof _=="function"&&(_[C]===A[C]||_[C]===m.o.fn[C]&&_.Nc)},m.b("observable",m.ta),m.b("isObservable",m.O),m.b("isWriteableObservable",m.Za),m.b("isWritableObservable",m.Za),m.b("observable.fn",A),m.L(A,"peek",A.v),m.L(A,"valueHasMutated",A.xa),m.L(A,"valueWillMutate",A.ya),m.Ha=function(_){if(_=_||[],typeof _!="object"||!("length"in _))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return _=m.ta(_),m.a.Ab(_,m.Ha.fn),_.extend({trackArrayChanges:!0})},m.Ha.fn={remove:function(_){for(var S=this.v(),w=[],I=typeof _!="function"||m.O(_)?function(U){return U===_}:_,L=0;L<S.length;L++){var B=S[L];if(I(B)){if(w.length===0&&this.ya(),S[L]!==B)throw Error("Array modified during remove; cannot remove item");w.push(B),S.splice(L,1),L--}}return w.length&&this.xa(),w},removeAll:function(_){if(_===e){var S=this.v(),w=S.slice(0);return this.ya(),S.splice(0,S.length),this.xa(),w}return _?this.remove(function(I){return 0<=m.a.A(_,I)}):[]},destroy:function(_){var S=this.v(),w=typeof _!="function"||m.O(_)?function(B){return B===_}:_;this.ya();for(var I=S.length-1;0<=I;I--){var L=S[I];w(L)&&(L._destroy=!0)}this.xa()},destroyAll:function(_){return _===e?this.destroy(function(){return!0}):_?this.destroy(function(S){return 0<=m.a.A(_,S)}):[]},indexOf:function(_){var S=this();return m.a.A(S,_)},replace:function(_,S){var w=this.indexOf(_);0<=w&&(this.ya(),this.v()[w]=S,this.xa())},sorted:function(_){var S=this().slice(0);return _?S.sort(_):S.sort()},reversed:function(){return this().slice(0).reverse()}},m.a.Ba&&m.a.setPrototypeOf(m.Ha.fn,m.ta.fn),m.a.D("pop push reverse shift sort splice unshift".split(" "),function(_){m.Ha.fn[_]=function(){var S=this.v();this.ya(),this.zc(S,_,arguments);var w=S[_].apply(S,arguments);return this.xa(),w===S?this:w}}),m.a.D(["slice"],function(_){m.Ha.fn[_]=function(){var S=this();return S[_].apply(S,arguments)}}),m.Pc=function(_){return m.O(_)&&typeof _.remove=="function"&&typeof _.push=="function"},m.b("observableArray",m.Ha),m.b("isObservableArray",m.Pc),m.Ta.trackArrayChanges=function(_,S){function w(){function W(){if(V){var Q=[].concat(_.v()||[]),j;_.Wa("arrayChange")&&((!L||1<V)&&(L=m.a.Pb(G,Q,_.Ob)),j=L),G=Q,L=null,V=0,j&&j.length&&_.notifySubscribers(j,"arrayChange")}}I?W():(I=!0,U=_.subscribe(function(){++V},null,"spectate"),G=[].concat(_.v()||[]),L=null,B=_.subscribe(W))}if(_.Ob={},S&&typeof S=="object"&&m.a.extend(_.Ob,S),_.Ob.sparse=!0,!_.zc){var I=!1,L=null,B,U,V=0,G,k=_.Qa,Y=_.hb;_.Qa=function(W){k&&k.call(_,W),W==="arrayChange"&&w()},_.hb=function(W){Y&&Y.call(_,W),W!=="arrayChange"||_.Wa("arrayChange")||(B&&B.s(),U&&U.s(),U=B=null,I=!1,G=e)},_.zc=function(W,Q,j){function Z(ve,Me,Oe){return J[J.length]={status:ve,value:Me,index:Oe}}if(I&&!V){var J=[],he=W.length,xe=j.length,re=0;switch(Q){case"push":re=he;case"unshift":for(Q=0;Q<xe;Q++)Z("added",j[Q],re+Q);break;case"pop":re=he-1;case"shift":he&&Z("deleted",W[re],re);break;case"splice":Q=Math.min(Math.max(0,0>j[0]?he+j[0]:j[0]),he);for(var he=xe===1?he:Math.min(Q+(j[1]||0),he),xe=Q+xe-2,re=Math.max(he,xe),_e=[],ye=[],De=2;Q<re;++Q,++De)Q<he&&ye.push(Z("deleted",W[Q],Q)),Q<xe&&_e.push(Z("added",j[De],Q));m.a.Kc(ye,_e);break;default:return}L=J}}}};var E=m.a.Da("_state");m.o=m.$=function(_,S,w){function I(){if(0<arguments.length){if(typeof L=="function")L.apply(B.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return B.ra||m.u.cc(I),(B.ka||B.J&&I.Xa())&&I.ha(),B.X}if(typeof _=="object"?w=_:(w=w||{},_&&(w.read=_)),typeof w.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var L=w.write,B={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:w.read,nb:S||w.owner,l:w.disposeWhenNodeIsRemoved||w.l||null,Sa:w.disposeWhen||w.Sa,Rb:null,I:{},V:0,Ic:null};return I[E]=B,I.Nc=typeof L=="function",m.a.Ba||m.a.extend(I,m.T.fn),m.T.fn.qb(I),m.a.Ab(I,v),w.pure?(B.wb=!0,B.J=!0,m.a.extend(I,D)):w.deferEvaluation&&m.a.extend(I,O),m.options.deferUpdates&&m.Ta.deferred(I,!0),B.l&&(B.jc=!0,B.l.nodeType||(B.l=null)),B.J||w.deferEvaluation||I.ha(),B.l&&I.ja()&&m.a.K.za(B.l,B.Rb=function(){I.s()}),I};var v={equalityComparer:c,qa:function(){return this[E].V},Va:function(){var _=[];return m.a.P(this[E].I,function(S,w){_[w.Ka]=w.da}),_},Vb:function(_){if(!this[E].V)return!1;var S=this.Va();return m.a.A(S,_)!==-1?!0:!!m.a.Lb(S,function(w){return w.Vb&&w.Vb(_)})},uc:function(_,S,w){if(this[E].wb&&S===this)throw Error("A 'pure' computed must not be called recursively");this[E].I[_]=w,w.Ka=this[E].V++,w.La=S.ob()},Xa:function(){var _,S,w=this[E].I;for(_ in w)if(Object.prototype.hasOwnProperty.call(w,_)&&(S=w[_],this.Ia&&S.da.Ja||S.da.Dd(S.La)))return!0},Jd:function(){this.Ia&&!this[E].rb&&this.Ia(!1)},ja:function(){var _=this[E];return _.ka||0<_.V},Rd:function(){this.Ja?this[E].ka&&(this[E].sa=!0):this.Hc()},$c:function(_){if(_.Hb){var S=_.subscribe(this.Jd,this,"dirty"),w=_.subscribe(this.Rd,this);return{da:_,s:function(){S.s(),w.s()}}}return _.subscribe(this.Hc,this)},Hc:function(){var _=this,S=_.throttleEvaluation;S&&0<=S?(clearTimeout(this[E].Ic),this[E].Ic=m.a.setTimeout(function(){_.ha(!0)},S)):_.Ia?_.Ia(!0):_.ha(!0)},ha:function(_){var S=this[E],w=S.Sa,I=!1;if(!S.rb&&!S.ra){if(S.l&&!m.a.Sb(S.l)||w&&w()){if(!S.jc){this.s();return}}else S.jc=!1;S.rb=!0;try{I=this.zd(_)}finally{S.rb=!1}return I}},zd:function(_){var S=this[E],I=!1,w=S.wb?e:!S.V,I={qd:this,mb:S.I,Qb:S.V};m.u.xc({pd:I,od:g,o:this,Ya:w}),S.I={},S.V=0;var L=this.yd(S,I);return S.V?I=this.sb(S.X,L):(this.s(),I=!0),I&&(S.J?this.Gb():this.notifySubscribers(S.X,"beforeChange"),S.X=L,this.notifySubscribers(S.X,"spectate"),!S.J&&_&&this.notifySubscribers(S.X),this.rc&&this.rc()),w&&this.notifySubscribers(S.X,"awake"),I},yd:function(_,S){try{var w=_.Wc;return _.nb?w.call(_.nb):w()}finally{m.u.end(),S.Qb&&!_.J&&m.a.P(S.mb,p),_.sa=_.ka=!1}},v:function(_){var S=this[E];return(S.ka&&(_||!S.V)||S.J&&this.Xa())&&this.ha(),S.X},ub:function(_){m.T.fn.ub.call(this,_),this.nc=function(){return this[E].J||(this[E].sa?this.ha():this[E].ka=!1),this[E].X},this.Ia=function(S){this.pc(this[E].X),this[E].ka=!0,S&&(this[E].sa=!0),this.qc(this,!S)}},s:function(){var _=this[E];!_.J&&_.I&&m.a.P(_.I,function(S,w){w.s&&w.s()}),_.l&&_.Rb&&m.a.K.yb(_.l,_.Rb),_.I=e,_.V=0,_.ra=!0,_.sa=!1,_.ka=!1,_.J=!1,_.l=e,_.Sa=e,_.Wc=e,this.Nc||(_.nb=e)}},D={Qa:function(_){var S=this,w=S[E];if(!w.ra&&w.J&&_=="change"){if(w.J=!1,w.sa||S.Xa())w.I=null,w.V=0,S.ha()&&S.Gb();else{var I=[];m.a.P(w.I,function(L,B){I[B.Ka]=L}),m.a.D(I,function(L,B){var U=w.I[L],V=S.$c(U.da);V.Ka=B,V.La=U.La,w.I[L]=V}),S.Xa()&&S.ha()&&S.Gb()}w.ra||S.notifySubscribers(w.X,"awake")}},hb:function(_){var S=this[E];S.ra||_!="change"||this.Wa("change")||(m.a.P(S.I,function(w,I){I.s&&(S.I[w]={da:I.da,Ka:I.Ka,La:I.La},I.s())}),S.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var _=this[E];return _.J&&(_.sa||this.Xa())&&this.ha(),m.T.fn.ob.call(this)}},O={Qa:function(_){_!="change"&&_!="beforeChange"||this.v()}};m.a.Ba&&m.a.setPrototypeOf(v,m.T.fn);var R=m.ta.Ma;v[R]=m.o,m.Oc=function(_){return typeof _=="function"&&_[R]===v[R]},m.Fd=function(_){return m.Oc(_)&&_[E]&&_[E].wb},m.b("computed",m.o),m.b("dependentObservable",m.o),m.b("isComputed",m.Oc),m.b("isPureComputed",m.Fd),m.b("computed.fn",v),m.L(v,"peek",v.v),m.L(v,"dispose",v.s),m.L(v,"isActive",v.ja),m.L(v,"getDependenciesCount",v.qa),m.L(v,"getDependencies",v.Va),m.xb=function(_,S){return typeof _=="function"?m.o(_,S,{pure:!0}):(_=m.a.extend({},_),_.pure=!0,m.o(_,S))},m.b("pureComputed",m.xb),function(){function _(I,L,B){if(B=B||new w,I=L(I),typeof I!="object"||I===null||I===e||I instanceof RegExp||I instanceof Date||I instanceof String||I instanceof Number||I instanceof Boolean)return I;var U=I instanceof Array?[]:{};return B.save(I,U),S(I,function(V){var G=L(I[V]);switch(typeof G){case"boolean":case"number":case"string":case"function":U[V]=G;break;case"object":case"undefined":var k=B.get(G);U[V]=k!==e?k:_(G,L,B)}}),U}function S(I,L){if(I instanceof Array){for(var B=0;B<I.length;B++)L(B);typeof I.toJSON=="function"&&L("toJSON")}else for(B in I)L(B)}function w(){this.keys=[],this.values=[]}m.ad=function(I){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return _(I,function(L){for(var B=0;m.O(L)&&10>B;B++)L=L();return L})},m.toJSON=function(I,L,B){return I=m.ad(I),m.a.hc(I,L,B)},w.prototype={constructor:w,save:function(I,L){var B=m.a.A(this.keys,I);0<=B?this.values[B]=L:(this.keys.push(I),this.values.push(L))},get:function(I){return I=m.a.A(this.keys,I),0<=I?this.values[I]:e}}}(),m.b("toJS",m.ad),m.b("toJSON",m.toJSON),m.Wd=function(_,S,w){function I(L){var B=m.xb(_,w).extend({ma:"always"}),U=B.subscribe(function(V){V&&(U.s(),L(V))});return B.notifySubscribers(B.v()),U}return typeof Promise!="function"||S?I(S.bind(w)):new Promise(I)},m.b("when",m.Wd),function(){m.w={M:function(_){switch(m.a.R(_)){case"option":return _.__ko__hasDomDataOptionValue__===!0?m.a.g.get(_,m.c.options.$b):7>=m.a.W?_.getAttributeNode("value")&&_.getAttributeNode("value").specified?_.value:_.text:_.value;case"select":return 0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex]):e;default:return _.value}},cb:function(_,S,w){switch(m.a.R(_)){case"option":typeof S=="string"?(m.a.g.set(_,m.c.options.$b,e),"__ko__hasDomDataOptionValue__"in _&&delete _.__ko__hasDomDataOptionValue__,_.value=S):(m.a.g.set(_,m.c.options.$b,S),_.__ko__hasDomDataOptionValue__=!0,_.value=typeof S=="number"?S:"");break;case"select":(S===""||S===null)&&(S=e);for(var I=-1,L=0,B=_.options.length,U;L<B;++L)if(U=m.w.M(_.options[L]),U==S||U===""&&S===e){I=L;break}(w||0<=I||S===e&&1<_.size)&&(_.selectedIndex=I,m.a.W===6&&m.a.setTimeout(function(){_.selectedIndex=I},0));break;default:(S===null||S===e)&&(S=""),_.value=S}}}}(),m.b("selectExtensions",m.w),m.b("selectExtensions.readValue",m.w.M),m.b("selectExtensions.writeValue",m.w.cb),m.m=function(){function _(V){V=m.a.Db(V),V.charCodeAt(0)===123&&(V=V.slice(1,-1)),V+=` -,`;var G=[],k=V.match(I),Y,W=[],Q=0;if(1<k.length){for(var j=0,Z;Z=k[j];++j){var J=Z.charCodeAt(0);if(J===44){if(0>=Q){G.push(Y&&W.length?{key:Y,value:W.join("")}:{unknown:Y||W.join("")}),Y=Q=0,W=[];continue}}else if(J===58){if(!Q&&!Y&&W.length===1){Y=W.pop();continue}}else{if(J===47&&1<Z.length&&(Z.charCodeAt(1)===47||Z.charCodeAt(1)===42))continue;J===47&&j&&1<Z.length?(J=k[j-1].match(L))&&!B[J[0]]&&(V=V.substr(V.indexOf(Z)+1),k=V.match(I),j=-1,Z="/"):J===40||J===123||J===91?++Q:J===41||J===125||J===93?--Q:Y||W.length||J!==34&&J!==39||(Z=Z.slice(1,-1))}W.push(Z)}if(0<Q)throw Error("Unbalanced parentheses, braces, or brackets")}return G}var S=["true","false","null","undefined"],w=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,I=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* -|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),L=/[\])"'A-Za-z0-9_$]+$/,B={in:1,return:1,typeof:1},U={};return{Ra:[],wa:U,ac:_,vb:function(V,G){function k(J,he){var xe;if(!j){var re=m.getBindingHandler(J);if(re&&re.preprocess&&!(he=re.preprocess(he,J,k)))return;(re=U[J])&&(xe=he,0<=m.a.A(S,xe)?xe=!1:(re=xe.match(w),xe=re===null?!1:re[1]?"Object("+re[1]+")"+re[2]:xe),re=xe),re&&W.push("'"+(typeof U[J]=="string"?U[J]:J)+"':function(_z){"+xe+"=_z}")}Q&&(he="function(){return "+he+" }"),Y.push("'"+J+"':"+he)}G=G||{};var Y=[],W=[],Q=G.valueAccessors,j=G.bindingParams,Z=typeof V=="string"?_(V):V;return m.a.D(Z,function(J){k(J.key||J.unknown,J.value)}),W.length&&k("_ko_property_writers","{"+W.join(",")+" }"),Y.join(",")},Id:function(V,G){for(var k=0;k<V.length;k++)if(V[k].key==G)return!0;return!1},eb:function(V,G,k,Y,W){V&&m.O(V)?!m.Za(V)||W&&V.v()===Y||V(Y):(V=G.get("_ko_property_writers"))&&V[k]&&V[k](Y)}}}(),m.b("expressionRewriting",m.m),m.b("expressionRewriting.bindingRewriteValidators",m.m.Ra),m.b("expressionRewriting.parseObjectLiteral",m.m.ac),m.b("expressionRewriting.preProcessBindings",m.m.vb),m.b("expressionRewriting._twoWayBindings",m.m.wa),m.b("jsonExpressionRewriting",m.m),m.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",m.m.vb),function(){function _(k){return k.nodeType==8&&B.test(L?k.text:k.nodeValue)}function S(k){return k.nodeType==8&&U.test(L?k.text:k.nodeValue)}function w(k,Y){for(var W=k,Q=1,j=[];W=W.nextSibling;){if(S(W)&&(m.a.g.set(W,G,!0),Q--,Q===0))return j;j.push(W),_(W)&&Q++}if(!Y)throw Error("Cannot find closing comment tag to match: "+k.nodeValue);return null}function I(k,Y){var W=w(k,Y);return W?0<W.length?W[W.length-1].nextSibling:k.nextSibling:null}var L=n&&n.createComment("test").text==="<!--test-->",B=L?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,U=L?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,V={ul:!0,ol:!0},G="__ko_matchedEndComment__";m.h={ea:{},childNodes:function(k){return _(k)?w(k):k.childNodes},Ea:function(k){if(_(k)){k=m.h.childNodes(k);for(var Y=0,W=k.length;Y<W;Y++)m.removeNode(k[Y])}else m.a.Tb(k)},va:function(k,Y){if(_(k)){m.h.Ea(k);for(var W=k.nextSibling,Q=0,j=Y.length;Q<j;Q++)W.parentNode.insertBefore(Y[Q],W)}else m.a.va(k,Y)},Vc:function(k,Y){var W;_(k)?(W=k.nextSibling,k=k.parentNode):W=k.firstChild,W?Y!==W&&k.insertBefore(Y,W):k.appendChild(Y)},Wb:function(k,Y,W){W?(W=W.nextSibling,_(k)&&(k=k.parentNode),W?Y!==W&&k.insertBefore(Y,W):k.appendChild(Y)):m.h.Vc(k,Y)},firstChild:function(k){if(_(k))return!k.nextSibling||S(k.nextSibling)?null:k.nextSibling;if(k.firstChild&&S(k.firstChild))throw Error("Found invalid end comment, as the first child of "+k);return k.firstChild},nextSibling:function(k){if(_(k)&&(k=I(k)),k.nextSibling&&S(k.nextSibling)){var Y=k.nextSibling;if(S(Y)&&!m.a.g.get(Y,G))throw Error("Found end comment without a matching opening comment, as child of "+k);return null}return k.nextSibling},Cd:_,Vd:function(k){return(k=(L?k.text:k.nodeValue).match(B))?k[1]:null},Sc:function(k){if(V[m.a.R(k)]){var Y=k.firstChild;if(Y)do if(Y.nodeType===1){var W;W=Y.firstChild;var Q=null;if(W)do if(Q)Q.push(W);else if(_(W)){var j=I(W,!0);j?W=j:Q=[W]}else S(W)&&(Q=[W]);while(W=W.nextSibling);if(W=Q)for(Q=Y.nextSibling,j=0;j<W.length;j++)Q?k.insertBefore(W[j],Q):k.appendChild(W[j])}while(Y=Y.nextSibling)}}}}(),m.b("virtualElements",m.h),m.b("virtualElements.allowedBindings",m.h.ea),m.b("virtualElements.emptyNode",m.h.Ea),m.b("virtualElements.insertAfter",m.h.Wb),m.b("virtualElements.prepend",m.h.Vc),m.b("virtualElements.setDomNodeChildren",m.h.va),function(){m.ga=function(){this.nd={}},m.a.extend(m.ga.prototype,{nodeHasBindings:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind")!=null||m.j.getComponentNameForNode(_);case 8:return m.h.Cd(_);default:return!1}},getBindings:function(_,S){var w=this.getBindingsString(_,S),w=w?this.parseBindingsString(w,S,_):null;return m.j.tc(w,_,S,!1)},getBindingAccessors:function(_,S){var w=this.getBindingsString(_,S),w=w?this.parseBindingsString(w,S,_,{valueAccessors:!0}):null;return m.j.tc(w,_,S,!0)},getBindingsString:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind");case 8:return m.h.Vd(_);default:return null}},parseBindingsString:function(_,S,w,I){try{var L=this.nd,B=_+(I&&I.valueAccessors||""),U;if(!(U=L[B])){var V,G="with($context){with($data||{}){return{"+m.m.vb(_,I)+"}}}";V=new Function("$context","$element",G),U=L[B]=V}return U(S,w)}catch(k){throw k.message=`Unable to parse bindings. + */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(_,S){return _===null||typeof _ in x?_===S:!1}function u(_,S){var w;return function(){w||(w=m.a.setTimeout(function(){w=e,_()},S))}}function f(_,S){var w;return function(){clearTimeout(w),w=m.a.setTimeout(_,S)}}function d(_,S){S&&S!=="change"?S==="beforeChange"?this.pc(_):this.gb(_,S):this.qc(_)}function p(_,S){S!==null&&S.s&&S.s()}function g(_,S){var w=this.qd,I=w[E];I.ra||(this.Qb&&this.mb[S]?(w.uc(S,_,this.mb[S]),this.mb[S]=null,--this.Qb):I.I[S]||w.uc(S,_,I.J?{da:_}:w.$c(_)),_.Ja&&_.gd())}var m=typeof s<"u"?s:{};m.b=function(_,S){for(var w=_.split("."),I=m,L=0;L<w.length-1;L++)I=I[w[L]];I[w[w.length-1]]=S},m.L=function(_,S,w){_[S]=w},m.version="3.5.1",m.b("version",m.version),m.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},m.a=function(){function _(j,Z){for(var J in j)L.call(j,J)&&Z(J,j[J])}function S(j,Z){if(Z)for(var J in Z)L.call(Z,J)&&(j[J]=Z[J]);return j}function w(j,Z){return j.__proto__=Z,j}function I(j,Z,J,he){var xe=j[Z].match(Y)||[];m.a.D(J.match(Y),function(re){m.a.Na(xe,re,he)}),j[Z]=xe.join(" ")}var L=Object.prototype.hasOwnProperty,B={__proto__:[]}instanceof Array,U=typeof Symbol=="function",V={},G={};V[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],V.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),_(V,function(j,Z){if(Z.length)for(var J=0,he=Z.length;J<he;J++)G[Z[J]]=j});var k={propertychange:!0},W=n&&function(){for(var j=3,Z=n.createElement("div"),J=Z.getElementsByTagName("i");Z.innerHTML="<!--[if gt IE "+ ++j+"]><i></i><![endif]-->",J[0];);return 4<j?j:e}(),Y=/\S+/g,Q;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(j,Z,J){for(var he=0,xe=j.length;he<xe;he++)Z.call(J,j[he],he,j)},A:typeof Array.prototype.indexOf=="function"?function(j,Z){return Array.prototype.indexOf.call(j,Z)}:function(j,Z){for(var J=0,he=j.length;J<he;J++)if(j[J]===Z)return J;return-1},Lb:function(j,Z,J){for(var he=0,xe=j.length;he<xe;he++)if(Z.call(J,j[he],he,j))return j[he];return e},Pa:function(j,Z){var J=m.a.A(j,Z);0<J?j.splice(J,1):J===0&&j.shift()},wc:function(j){var Z=[];return j&&m.a.D(j,function(J){0>m.a.A(Z,J)&&Z.push(J)}),Z},Mb:function(j,Z,J){var he=[];if(j)for(var xe=0,re=j.length;xe<re;xe++)he.push(Z.call(J,j[xe],xe));return he},jb:function(j,Z,J){var he=[];if(j)for(var xe=0,re=j.length;xe<re;xe++)Z.call(J,j[xe],xe)&&he.push(j[xe]);return he},Nb:function(j,Z){if(Z instanceof Array)j.push.apply(j,Z);else for(var J=0,he=Z.length;J<he;J++)j.push(Z[J]);return j},Na:function(j,Z,J){var he=m.a.A(m.a.bc(j),Z);0>he?J&&j.push(Z):J||j.splice(he,1)},Ba:B,extend:S,setPrototypeOf:w,Ab:B?w:S,P:_,Ga:function(j,Z,J){if(!j)return j;var he={},xe;for(xe in j)L.call(j,xe)&&(he[xe]=Z.call(J,j[xe],xe,j));return he},Tb:function(j){for(;j.firstChild;)m.removeNode(j.firstChild)},Yb:function(j){j=m.a.la(j);for(var Z=(j[0]&&j[0].ownerDocument||n).createElement("div"),J=0,he=j.length;J<he;J++)Z.appendChild(m.oa(j[J]));return Z},Ca:function(j,Z){for(var J=0,he=j.length,xe=[];J<he;J++){var re=j[J].cloneNode(!0);xe.push(Z?m.oa(re):re)}return xe},va:function(j,Z){if(m.a.Tb(j),Z)for(var J=0,he=Z.length;J<he;J++)j.appendChild(Z[J])},Xc:function(j,Z){var J=j.nodeType?[j]:j;if(0<J.length){for(var he=J[0],xe=he.parentNode,re=0,_e=Z.length;re<_e;re++)xe.insertBefore(Z[re],he);for(re=0,_e=J.length;re<_e;re++)m.removeNode(J[re])}},Ua:function(j,Z){if(j.length){for(Z=Z.nodeType===8&&Z.parentNode||Z;j.length&&j[0].parentNode!==Z;)j.splice(0,1);for(;1<j.length&&j[j.length-1].parentNode!==Z;)j.length--;if(1<j.length){var J=j[0],he=j[j.length-1];for(j.length=0;J!==he;)j.push(J),J=J.nextSibling;j.push(he)}}return j},Zc:function(j,Z){7>W?j.setAttribute("selected",Z):j.selected=Z},Db:function(j){return j===null||j===e?"":j.trim?j.trim():j.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(j,Z){return j=j||"",Z.length>j.length?!1:j.substring(0,Z.length)===Z},vd:function(j,Z){if(j===Z)return!0;if(j.nodeType===11)return!1;if(Z.contains)return Z.contains(j.nodeType!==1?j.parentNode:j);if(Z.compareDocumentPosition)return(Z.compareDocumentPosition(j)&16)==16;for(;j&&j!=Z;)j=j.parentNode;return!!j},Sb:function(j){return m.a.vd(j,j.ownerDocument.documentElement)},kd:function(j){return!!m.a.Lb(j,m.a.Sb)},R:function(j){return j&&j.tagName&&j.tagName.toLowerCase()},Ac:function(j){return m.onError?function(){try{return j.apply(this,arguments)}catch(Z){throw m.onError&&m.onError(Z),Z}}:j},setTimeout:function(j,Z){return setTimeout(m.a.Ac(j),Z)},Gc:function(j){setTimeout(function(){throw m.onError&&m.onError(j),j},0)},B:function(j,Z,J){var he=m.a.Ac(J);if(J=k[Z],m.options.useOnlyNativeEvents||J||!o)if(J||typeof j.addEventListener!="function")if(typeof j.attachEvent<"u"){var xe=function(_e){he.call(j,_e)},re="on"+Z;j.attachEvent(re,xe),m.a.K.za(j,function(){j.detachEvent(re,xe)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else j.addEventListener(Z,he,!1);else Q||(Q=typeof o(j).on=="function"?"on":"bind"),o(j)[Q](Z,he)},Fb:function(j,Z){if(!j||!j.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var J;if(m.a.R(j)==="input"&&j.type&&Z.toLowerCase()=="click"?(J=j.type,J=J=="checkbox"||J=="radio"):J=!1,m.options.useOnlyNativeEvents||!o||J)if(typeof n.createEvent=="function")if(typeof j.dispatchEvent=="function")J=n.createEvent(G[Z]||"HTMLEvents"),J.initEvent(Z,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,j),j.dispatchEvent(J);else throw Error("The supplied element doesn't support dispatchEvent");else if(J&&j.click)j.click();else if(typeof j.fireEvent<"u")j.fireEvent("on"+Z);else throw Error("Browser doesn't support triggering events");else o(j).trigger(Z)},f:function(j){return m.O(j)?j():j},bc:function(j){return m.O(j)?j.v():j},Eb:function(j,Z,J){var he;Z&&(typeof j.classList=="object"?(he=j.classList[J?"add":"remove"],m.a.D(Z.match(Y),function(xe){he.call(j.classList,xe)})):typeof j.className.baseVal=="string"?I(j.className,"baseVal",Z,J):I(j,"className",Z,J))},Bb:function(j,Z){var J=m.a.f(Z);(J===null||J===e)&&(J="");var he=m.h.firstChild(j);!he||he.nodeType!=3||m.h.nextSibling(he)?m.h.va(j,[j.ownerDocument.createTextNode(J)]):he.data=J,m.a.Ad(j)},Yc:function(j,Z){if(j.name=Z,7>=W)try{var J=j.name.replace(/[&<>'"]/g,function(he){return"&#"+he.charCodeAt(0)+";"});j.mergeAttributes(n.createElement("<input name='"+J+"'/>"),!1)}catch{}},Ad:function(j){9<=W&&(j=j.nodeType==1?j:j.parentNode,j.style&&(j.style.zoom=j.style.zoom))},wd:function(j){if(W){var Z=j.style.width;j.style.width=0,j.style.width=Z}},Pd:function(j,Z){j=m.a.f(j),Z=m.a.f(Z);for(var J=[],he=j;he<=Z;he++)J.push(he);return J},la:function(j){for(var Z=[],J=0,he=j.length;J<he;J++)Z.push(j[J]);return Z},Da:function(j){return U?Symbol(j):j},Zd:W===6,$d:W===7,W,Lc:function(j,Z){for(var J=m.a.la(j.getElementsByTagName("input")).concat(m.a.la(j.getElementsByTagName("textarea"))),he=typeof Z=="string"?function(_e){return _e.name===Z}:function(_e){return Z.test(_e.name)},xe=[],re=J.length-1;0<=re;re--)he(J[re])&&xe.push(J[re]);return xe},Nd:function(j){return typeof j=="string"&&(j=m.a.Db(j))?r&&r.parse?r.parse(j):new Function("return "+j)():null},hc:function(j,Z,J){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(m.a.f(j),Z,J)},Od:function(j,Z,J){J=J||{};var he=J.params||{},xe=J.includeFields||this.Jc,re=j;if(typeof j=="object"&&m.a.R(j)==="form")for(var re=j.action,_e=xe.length-1;0<=_e;_e--)for(var ye=m.a.Lc(j,xe[_e]),De=ye.length-1;0<=De;De--)he[ye[De].name]=ye[De].value;Z=m.a.f(Z);var we=n.createElement("form");we.style.display="none",we.action=re,we.method="post";for(var Me in Z)j=n.createElement("input"),j.type="hidden",j.name=Me,j.value=m.a.hc(m.a.f(Z[Me])),we.appendChild(j);_(he,function(Oe,lt){var et=n.createElement("input");et.type="hidden",et.name=Oe,et.value=lt,we.appendChild(et)}),n.body.appendChild(we),J.submitter?J.submitter(we):we.submit(),setTimeout(function(){we.parentNode.removeChild(we)},0)}}}(),m.b("utils",m.a),m.b("utils.arrayForEach",m.a.D),m.b("utils.arrayFirst",m.a.Lb),m.b("utils.arrayFilter",m.a.jb),m.b("utils.arrayGetDistinctValues",m.a.wc),m.b("utils.arrayIndexOf",m.a.A),m.b("utils.arrayMap",m.a.Mb),m.b("utils.arrayPushAll",m.a.Nb),m.b("utils.arrayRemoveItem",m.a.Pa),m.b("utils.cloneNodes",m.a.Ca),m.b("utils.createSymbolOrString",m.a.Da),m.b("utils.extend",m.a.extend),m.b("utils.fieldsIncludedWithJsonPost",m.a.Jc),m.b("utils.getFormFields",m.a.Lc),m.b("utils.objectMap",m.a.Ga),m.b("utils.peekObservable",m.a.bc),m.b("utils.postJson",m.a.Od),m.b("utils.parseJson",m.a.Nd),m.b("utils.registerEventHandler",m.a.B),m.b("utils.stringifyJson",m.a.hc),m.b("utils.range",m.a.Pd),m.b("utils.toggleDomNodeCssClass",m.a.Eb),m.b("utils.triggerEvent",m.a.Fb),m.b("utils.unwrapObservable",m.a.f),m.b("utils.objectForEach",m.a.P),m.b("utils.addOrRemoveItem",m.a.Na),m.b("utils.setTextContent",m.a.Bb),m.b("unwrap",m.a.f),Function.prototype.bind||(Function.prototype.bind=function(_){var S=this;if(arguments.length===1)return function(){return S.apply(_,arguments)};var w=Array.prototype.slice.call(arguments,1);return function(){var I=w.slice(0);return I.push.apply(I,arguments),S.apply(_,I)}}),m.a.g=new function(){var _=0,S="__ko__"+new Date().getTime(),w={},I,L;return m.a.W?(I=function(B,U){var V=B[S];if(!V||V==="null"||!w[V]){if(!U)return e;V=B[S]="ko"+_++,w[V]={}}return w[V]},L=function(B){var U=B[S];return U?(delete w[U],B[S]=null,!0):!1}):(I=function(B,U){var V=B[S];return!V&&U&&(V=B[S]={}),V},L=function(B){return B[S]?(delete B[S],!0):!1}),{get:function(B,U){var V=I(B,!1);return V&&V[U]},set:function(B,U,V){(B=I(B,V!==e))&&(B[U]=V)},Ub:function(B,U,V){return B=I(B,!0),B[U]||(B[U]=V)},clear:L,Z:function(){return _+++S}}},m.b("utils.domData",m.a.g),m.b("utils.domData.clear",m.a.g.clear),m.a.K=new function(){function _(U,V){var G=m.a.g.get(U,I);return G===e&&V&&(G=[],m.a.g.set(U,I,G)),G}function S(U){var V=_(U,!1);if(V)for(var V=V.slice(0),G=0;G<V.length;G++)V[G](U);m.a.g.clear(U),m.a.K.cleanExternalData(U),B[U.nodeType]&&w(U.childNodes,!0)}function w(U,V){for(var G=[],k,W=0;W<U.length;W++)if((!V||U[W].nodeType===8)&&(S(G[G.length]=k=U[W]),U[W]!==k))for(;W--&&m.a.A(G,U[W])==-1;);}var I=m.a.g.Z(),L={1:!0,8:!0,9:!0},B={1:!0,9:!0};return{za:function(U,V){if(typeof V!="function")throw Error("Callback must be a function");_(U,!0).push(V)},yb:function(U,V){var G=_(U,!1);G&&(m.a.Pa(G,V),G.length==0&&m.a.g.set(U,I,e))},oa:function(U){return m.u.G(function(){L[U.nodeType]&&(S(U),B[U.nodeType]&&w(U.getElementsByTagName("*")))}),U},removeNode:function(U){m.oa(U),U.parentNode&&U.parentNode.removeChild(U)},cleanExternalData:function(U){o&&typeof o.cleanData=="function"&&o.cleanData([U])}}},m.oa=m.a.K.oa,m.removeNode=m.a.K.removeNode,m.b("cleanNode",m.oa),m.b("removeNode",m.removeNode),m.b("utils.domNodeDisposal",m.a.K),m.b("utils.domNodeDisposal.addDisposeCallback",m.a.K.za),m.b("utils.domNodeDisposal.removeDisposeCallback",m.a.K.yb),function(){var _=[0,"",""],S=[1,"<table>","</table>"],w=[3,"<table><tbody><tr>","</tr></tbody></table>"],I=[1,"<select multiple='multiple'>","</select>"],L={thead:S,tbody:S,tfoot:S,tr:[2,"<table><tbody>","</tbody></table>"],td:w,th:w,option:I,optgroup:I},B=8>=m.a.W;m.a.ua=function(U,V){var G;if(o){if(o.parseHTML)G=o.parseHTML(U,V)||[];else if((G=o.clean([U],V))&&G[0]){for(var k=G[0];k.parentNode&&k.parentNode.nodeType!==11;)k=k.parentNode;k.parentNode&&k.parentNode.removeChild(k)}}else{(G=V)||(G=n);var k=G.parentWindow||G.defaultView||t,W=m.a.Db(U).toLowerCase(),Y=G.createElement("div"),Q;for(Q=(W=W.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&L[W[1]]||_,W=Q[0],Q="ignored<div>"+Q[1]+U+Q[2]+"</div>",typeof k.innerShiv=="function"?Y.appendChild(k.innerShiv(Q)):(B&&G.body.appendChild(Y),Y.innerHTML=Q,B&&Y.parentNode.removeChild(Y));W--;)Y=Y.lastChild;G=m.a.la(Y.lastChild.childNodes)}return G},m.a.Md=function(U,V){var G=m.a.ua(U,V);return G.length&&G[0].parentElement||m.a.Yb(G)},m.a.fc=function(U,V){if(m.a.Tb(U),V=m.a.f(V),V!==null&&V!==e)if(typeof V!="string"&&(V=V.toString()),o)o(U).html(V);else for(var G=m.a.ua(V,U.ownerDocument),k=0;k<G.length;k++)U.appendChild(G[k])}}(),m.b("utils.parseHtmlFragment",m.a.ua),m.b("utils.setHtml",m.a.fc),m.aa=function(){function _(w,I){if(w){if(w.nodeType==8){var L=m.aa.Uc(w.nodeValue);L!=null&&I.push({ud:w,Kd:L})}else if(w.nodeType==1)for(var L=0,B=w.childNodes,U=B.length;L<U;L++)_(B[L],I)}}var S={};return{Xb:function(w){if(typeof w!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var I=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return S[I]=w,"<!--[ko_memo:"+I+"]-->"},bd:function(w,I){var L=S[w];if(L===e)throw Error("Couldn't find any memo with ID "+w+". Perhaps it's already been unmemoized.");try{return L.apply(null,I||[]),!0}finally{delete S[w]}},cd:function(w,I){var L=[];_(w,L);for(var B=0,U=L.length;B<U;B++){var V=L[B].ud,G=[V];I&&m.a.Nb(G,I),m.aa.bd(L[B].Kd,G),V.nodeValue="",V.parentNode&&V.parentNode.removeChild(V)}},Uc:function(w){return(w=w.match(/^\[ko_memo\:(.*?)\]$/))?w[1]:null}}}(),m.b("memoization",m.aa),m.b("memoization.memoize",m.aa.Xb),m.b("memoization.unmemoize",m.aa.bd),m.b("memoization.parseMemoText",m.aa.Uc),m.b("memoization.unmemoizeDomNodeAndDescendants",m.aa.cd),m.na=function(){function _(){if(L){for(var V=L,G=0,k;U<L;)if(k=I[U++]){if(U>V){if(5e3<=++G){U=L,m.a.Gc(Error("'Too much recursion' after processing "+G+" task groups."));break}V=L}try{k()}catch(W){m.a.Gc(W)}}}}function S(){_(),U=L=I.length=0}var w,I=[],L=0,B=1,U=0;return t.MutationObserver?w=function(V){var G=n.createElement("div");return new MutationObserver(V).observe(G,{attributes:!0}),function(){G.classList.toggle("foo")}}(S):w=n&&"onreadystatechange"in n.createElement("script")?function(V){var G=n.createElement("script");G.onreadystatechange=function(){G.onreadystatechange=null,n.documentElement.removeChild(G),G=null,V()},n.documentElement.appendChild(G)}:function(V){setTimeout(V,0)},{scheduler:w,zb:function(V){return L||m.na.scheduler(S),I[L++]=V,B++},cancel:function(V){V=V-(B-L),V>=U&&V<L&&(I[V]=null)},resetForTesting:function(){var V=L-U;return U=L=I.length=0,V},Sd:_}}(),m.b("tasks",m.na),m.b("tasks.schedule",m.na.zb),m.b("tasks.runEarly",m.na.Sd),m.Ta={throttle:function(_,S){_.throttleEvaluation=S;var w=null;return m.$({read:_,write:function(I){clearTimeout(w),w=m.a.setTimeout(function(){_(I)},S)}})},rateLimit:function(_,S){var w,I,L;typeof S=="number"?w=S:(w=S.timeout,I=S.method),_.Hb=!1,L=typeof I=="function"?I:I=="notifyWhenChangesStop"?f:u,_.ub(function(B){return L(B,w,S)})},deferred:function(_,S){if(S!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");_.Hb||(_.Hb=!0,_.ub(function(w){var I,L=!1;return function(){if(!L){m.na.cancel(I),I=m.na.zb(w);try{L=!0,_.notifySubscribers(e,"dirty")}finally{L=!1}}}}))},notify:function(_,S){_.equalityComparer=S=="always"?null:c}};var x={undefined:1,boolean:1,number:1,string:1};m.b("extenders",m.Ta),m.ic=function(_,S,w){this.da=_,this.lc=S,this.mc=w,this.Ib=!1,this.fb=this.Jb=null,m.L(this,"dispose",this.s),m.L(this,"disposeWhenNodeIsRemoved",this.l)},m.ic.prototype.s=function(){this.Ib||(this.fb&&m.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},m.ic.prototype.l=function(_){this.Jb=_,m.a.K.za(_,this.fb=this.s.bind(this))},m.T=function(){m.a.Ab(this,b),b.qb(this)};var b={qb:function(_){_.U={change:[]},_.sc=1},subscribe:function(_,S,w){var I=this;w=w||"change";var L=new m.ic(I,S?_.bind(S):_,function(){m.a.Pa(I.U[w],L),I.hb&&I.hb(w)});return I.Qa&&I.Qa(w),I.U[w]||(I.U[w]=[]),I.U[w].push(L),L},notifySubscribers:function(_,S){if(S=S||"change",S==="change"&&this.Gb(),this.Wa(S)){var w=S==="change"&&this.ed||this.U[S].slice(0);try{m.u.xc();for(var I=0,L;L=w[I];++I)L.Ib||L.lc(_)}finally{m.u.end()}}},ob:function(){return this.sc},Dd:function(_){return this.ob()!==_},Gb:function(){++this.sc},ub:function(_){var S=this,w=m.O(S),I,L,B,U,V;S.gb||(S.gb=S.notifySubscribers,S.notifySubscribers=d);var G=_(function(){S.Ja=!1,w&&U===S&&(U=S.nc?S.nc():S());var k=L||V&&S.sb(B,U);V=L=I=!1,k&&S.gb(B=U)});S.qc=function(k,W){W&&S.Ja||(V=!W),S.ed=S.U.change.slice(0),S.Ja=I=!0,U=k,G()},S.pc=function(k){I||(B=k,S.gb(k,"beforeChange"))},S.rc=function(){V=!0},S.gd=function(){S.sb(B,S.v(!0))&&(L=!0)}},Wa:function(_){return this.U[_]&&this.U[_].length},Bd:function(_){if(_)return this.U[_]&&this.U[_].length||0;var S=0;return m.a.P(this.U,function(w,I){w!=="dirty"&&(S+=I.length)}),S},sb:function(_,S){return!this.equalityComparer||!this.equalityComparer(_,S)},toString:function(){return"[object Object]"},extend:function(_){var S=this;return _&&m.a.P(_,function(w,I){var L=m.Ta[w];typeof L=="function"&&(S=L(S,I)||S)}),S}};m.L(b,"init",b.qb),m.L(b,"subscribe",b.subscribe),m.L(b,"extend",b.extend),m.L(b,"getSubscriptionsCount",b.Bd),m.a.Ba&&m.a.setPrototypeOf(b,Function.prototype),m.T.fn=b,m.Qc=function(_){return _!=null&&typeof _.subscribe=="function"&&typeof _.notifySubscribers=="function"},m.b("subscribable",m.T),m.b("isSubscribable",m.Qc),m.S=m.u=function(){function _(B){w.push(I),I=B}function S(){I=w.pop()}var w=[],I,L=0;return{xc:_,end:S,cc:function(B){if(I){if(!m.Qc(B))throw Error("Only subscribable things can act as dependencies");I.od.call(I.pd,B,B.fd||(B.fd=++L))}},G:function(B,U,V){try{return _(),B.apply(U,V||[])}finally{S()}},qa:function(){if(I)return I.o.qa()},Va:function(){if(I)return I.o.Va()},Ya:function(){if(I)return I.Ya},o:function(){if(I)return I.o}}}(),m.b("computedContext",m.S),m.b("computedContext.getDependenciesCount",m.S.qa),m.b("computedContext.getDependencies",m.S.Va),m.b("computedContext.isInitial",m.S.Ya),m.b("computedContext.registerDependency",m.S.cc),m.b("ignoreDependencies",m.Yd=m.u.G);var T=m.a.Da("_latestValue");m.ta=function(_){function S(){return 0<arguments.length?(S.sb(S[T],arguments[0])&&(S.ya(),S[T]=arguments[0],S.xa()),this):(m.u.cc(S),S[T])}return S[T]=_,m.a.Ba||m.a.extend(S,m.T.fn),m.T.fn.qb(S),m.a.Ab(S,A),m.options.deferUpdates&&m.Ta.deferred(S,!0),S};var A={equalityComparer:c,v:function(){return this[T]},xa:function(){this.notifySubscribers(this[T],"spectate"),this.notifySubscribers(this[T])},ya:function(){this.notifySubscribers(this[T],"beforeChange")}};m.a.Ba&&m.a.setPrototypeOf(A,m.T.fn);var C=m.ta.Ma="__ko_proto__";A[C]=m.ta,m.O=function(_){if((_=typeof _=="function"&&_[C])&&_!==A[C]&&_!==m.o.fn[C])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!_},m.Za=function(_){return typeof _=="function"&&(_[C]===A[C]||_[C]===m.o.fn[C]&&_.Nc)},m.b("observable",m.ta),m.b("isObservable",m.O),m.b("isWriteableObservable",m.Za),m.b("isWritableObservable",m.Za),m.b("observable.fn",A),m.L(A,"peek",A.v),m.L(A,"valueHasMutated",A.xa),m.L(A,"valueWillMutate",A.ya),m.Ha=function(_){if(_=_||[],typeof _!="object"||!("length"in _))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return _=m.ta(_),m.a.Ab(_,m.Ha.fn),_.extend({trackArrayChanges:!0})},m.Ha.fn={remove:function(_){for(var S=this.v(),w=[],I=typeof _!="function"||m.O(_)?function(U){return U===_}:_,L=0;L<S.length;L++){var B=S[L];if(I(B)){if(w.length===0&&this.ya(),S[L]!==B)throw Error("Array modified during remove; cannot remove item");w.push(B),S.splice(L,1),L--}}return w.length&&this.xa(),w},removeAll:function(_){if(_===e){var S=this.v(),w=S.slice(0);return this.ya(),S.splice(0,S.length),this.xa(),w}return _?this.remove(function(I){return 0<=m.a.A(_,I)}):[]},destroy:function(_){var S=this.v(),w=typeof _!="function"||m.O(_)?function(B){return B===_}:_;this.ya();for(var I=S.length-1;0<=I;I--){var L=S[I];w(L)&&(L._destroy=!0)}this.xa()},destroyAll:function(_){return _===e?this.destroy(function(){return!0}):_?this.destroy(function(S){return 0<=m.a.A(_,S)}):[]},indexOf:function(_){var S=this();return m.a.A(S,_)},replace:function(_,S){var w=this.indexOf(_);0<=w&&(this.ya(),this.v()[w]=S,this.xa())},sorted:function(_){var S=this().slice(0);return _?S.sort(_):S.sort()},reversed:function(){return this().slice(0).reverse()}},m.a.Ba&&m.a.setPrototypeOf(m.Ha.fn,m.ta.fn),m.a.D("pop push reverse shift sort splice unshift".split(" "),function(_){m.Ha.fn[_]=function(){var S=this.v();this.ya(),this.zc(S,_,arguments);var w=S[_].apply(S,arguments);return this.xa(),w===S?this:w}}),m.a.D(["slice"],function(_){m.Ha.fn[_]=function(){var S=this();return S[_].apply(S,arguments)}}),m.Pc=function(_){return m.O(_)&&typeof _.remove=="function"&&typeof _.push=="function"},m.b("observableArray",m.Ha),m.b("isObservableArray",m.Pc),m.Ta.trackArrayChanges=function(_,S){function w(){function Y(){if(V){var Q=[].concat(_.v()||[]),j;_.Wa("arrayChange")&&((!L||1<V)&&(L=m.a.Pb(G,Q,_.Ob)),j=L),G=Q,L=null,V=0,j&&j.length&&_.notifySubscribers(j,"arrayChange")}}I?Y():(I=!0,U=_.subscribe(function(){++V},null,"spectate"),G=[].concat(_.v()||[]),L=null,B=_.subscribe(Y))}if(_.Ob={},S&&typeof S=="object"&&m.a.extend(_.Ob,S),_.Ob.sparse=!0,!_.zc){var I=!1,L=null,B,U,V=0,G,k=_.Qa,W=_.hb;_.Qa=function(Y){k&&k.call(_,Y),Y==="arrayChange"&&w()},_.hb=function(Y){W&&W.call(_,Y),Y!=="arrayChange"||_.Wa("arrayChange")||(B&&B.s(),U&&U.s(),U=B=null,I=!1,G=e)},_.zc=function(Y,Q,j){function Z(we,Me,Oe){return J[J.length]={status:we,value:Me,index:Oe}}if(I&&!V){var J=[],he=Y.length,xe=j.length,re=0;switch(Q){case"push":re=he;case"unshift":for(Q=0;Q<xe;Q++)Z("added",j[Q],re+Q);break;case"pop":re=he-1;case"shift":he&&Z("deleted",Y[re],re);break;case"splice":Q=Math.min(Math.max(0,0>j[0]?he+j[0]:j[0]),he);for(var he=xe===1?he:Math.min(Q+(j[1]||0),he),xe=Q+xe-2,re=Math.max(he,xe),_e=[],ye=[],De=2;Q<re;++Q,++De)Q<he&&ye.push(Z("deleted",Y[Q],Q)),Q<xe&&_e.push(Z("added",j[De],Q));m.a.Kc(ye,_e);break;default:return}L=J}}}};var E=m.a.Da("_state");m.o=m.$=function(_,S,w){function I(){if(0<arguments.length){if(typeof L=="function")L.apply(B.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return B.ra||m.u.cc(I),(B.ka||B.J&&I.Xa())&&I.ha(),B.X}if(typeof _=="object"?w=_:(w=w||{},_&&(w.read=_)),typeof w.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var L=w.write,B={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:w.read,nb:S||w.owner,l:w.disposeWhenNodeIsRemoved||w.l||null,Sa:w.disposeWhen||w.Sa,Rb:null,I:{},V:0,Ic:null};return I[E]=B,I.Nc=typeof L=="function",m.a.Ba||m.a.extend(I,m.T.fn),m.T.fn.qb(I),m.a.Ab(I,v),w.pure?(B.wb=!0,B.J=!0,m.a.extend(I,D)):w.deferEvaluation&&m.a.extend(I,O),m.options.deferUpdates&&m.Ta.deferred(I,!0),B.l&&(B.jc=!0,B.l.nodeType||(B.l=null)),B.J||w.deferEvaluation||I.ha(),B.l&&I.ja()&&m.a.K.za(B.l,B.Rb=function(){I.s()}),I};var v={equalityComparer:c,qa:function(){return this[E].V},Va:function(){var _=[];return m.a.P(this[E].I,function(S,w){_[w.Ka]=w.da}),_},Vb:function(_){if(!this[E].V)return!1;var S=this.Va();return m.a.A(S,_)!==-1?!0:!!m.a.Lb(S,function(w){return w.Vb&&w.Vb(_)})},uc:function(_,S,w){if(this[E].wb&&S===this)throw Error("A 'pure' computed must not be called recursively");this[E].I[_]=w,w.Ka=this[E].V++,w.La=S.ob()},Xa:function(){var _,S,w=this[E].I;for(_ in w)if(Object.prototype.hasOwnProperty.call(w,_)&&(S=w[_],this.Ia&&S.da.Ja||S.da.Dd(S.La)))return!0},Jd:function(){this.Ia&&!this[E].rb&&this.Ia(!1)},ja:function(){var _=this[E];return _.ka||0<_.V},Rd:function(){this.Ja?this[E].ka&&(this[E].sa=!0):this.Hc()},$c:function(_){if(_.Hb){var S=_.subscribe(this.Jd,this,"dirty"),w=_.subscribe(this.Rd,this);return{da:_,s:function(){S.s(),w.s()}}}return _.subscribe(this.Hc,this)},Hc:function(){var _=this,S=_.throttleEvaluation;S&&0<=S?(clearTimeout(this[E].Ic),this[E].Ic=m.a.setTimeout(function(){_.ha(!0)},S)):_.Ia?_.Ia(!0):_.ha(!0)},ha:function(_){var S=this[E],w=S.Sa,I=!1;if(!S.rb&&!S.ra){if(S.l&&!m.a.Sb(S.l)||w&&w()){if(!S.jc){this.s();return}}else S.jc=!1;S.rb=!0;try{I=this.zd(_)}finally{S.rb=!1}return I}},zd:function(_){var S=this[E],I=!1,w=S.wb?e:!S.V,I={qd:this,mb:S.I,Qb:S.V};m.u.xc({pd:I,od:g,o:this,Ya:w}),S.I={},S.V=0;var L=this.yd(S,I);return S.V?I=this.sb(S.X,L):(this.s(),I=!0),I&&(S.J?this.Gb():this.notifySubscribers(S.X,"beforeChange"),S.X=L,this.notifySubscribers(S.X,"spectate"),!S.J&&_&&this.notifySubscribers(S.X),this.rc&&this.rc()),w&&this.notifySubscribers(S.X,"awake"),I},yd:function(_,S){try{var w=_.Wc;return _.nb?w.call(_.nb):w()}finally{m.u.end(),S.Qb&&!_.J&&m.a.P(S.mb,p),_.sa=_.ka=!1}},v:function(_){var S=this[E];return(S.ka&&(_||!S.V)||S.J&&this.Xa())&&this.ha(),S.X},ub:function(_){m.T.fn.ub.call(this,_),this.nc=function(){return this[E].J||(this[E].sa?this.ha():this[E].ka=!1),this[E].X},this.Ia=function(S){this.pc(this[E].X),this[E].ka=!0,S&&(this[E].sa=!0),this.qc(this,!S)}},s:function(){var _=this[E];!_.J&&_.I&&m.a.P(_.I,function(S,w){w.s&&w.s()}),_.l&&_.Rb&&m.a.K.yb(_.l,_.Rb),_.I=e,_.V=0,_.ra=!0,_.sa=!1,_.ka=!1,_.J=!1,_.l=e,_.Sa=e,_.Wc=e,this.Nc||(_.nb=e)}},D={Qa:function(_){var S=this,w=S[E];if(!w.ra&&w.J&&_=="change"){if(w.J=!1,w.sa||S.Xa())w.I=null,w.V=0,S.ha()&&S.Gb();else{var I=[];m.a.P(w.I,function(L,B){I[B.Ka]=L}),m.a.D(I,function(L,B){var U=w.I[L],V=S.$c(U.da);V.Ka=B,V.La=U.La,w.I[L]=V}),S.Xa()&&S.ha()&&S.Gb()}w.ra||S.notifySubscribers(w.X,"awake")}},hb:function(_){var S=this[E];S.ra||_!="change"||this.Wa("change")||(m.a.P(S.I,function(w,I){I.s&&(S.I[w]={da:I.da,Ka:I.Ka,La:I.La},I.s())}),S.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var _=this[E];return _.J&&(_.sa||this.Xa())&&this.ha(),m.T.fn.ob.call(this)}},O={Qa:function(_){_!="change"&&_!="beforeChange"||this.v()}};m.a.Ba&&m.a.setPrototypeOf(v,m.T.fn);var R=m.ta.Ma;v[R]=m.o,m.Oc=function(_){return typeof _=="function"&&_[R]===v[R]},m.Fd=function(_){return m.Oc(_)&&_[E]&&_[E].wb},m.b("computed",m.o),m.b("dependentObservable",m.o),m.b("isComputed",m.Oc),m.b("isPureComputed",m.Fd),m.b("computed.fn",v),m.L(v,"peek",v.v),m.L(v,"dispose",v.s),m.L(v,"isActive",v.ja),m.L(v,"getDependenciesCount",v.qa),m.L(v,"getDependencies",v.Va),m.xb=function(_,S){return typeof _=="function"?m.o(_,S,{pure:!0}):(_=m.a.extend({},_),_.pure=!0,m.o(_,S))},m.b("pureComputed",m.xb),function(){function _(I,L,B){if(B=B||new w,I=L(I),typeof I!="object"||I===null||I===e||I instanceof RegExp||I instanceof Date||I instanceof String||I instanceof Number||I instanceof Boolean)return I;var U=I instanceof Array?[]:{};return B.save(I,U),S(I,function(V){var G=L(I[V]);switch(typeof G){case"boolean":case"number":case"string":case"function":U[V]=G;break;case"object":case"undefined":var k=B.get(G);U[V]=k!==e?k:_(G,L,B)}}),U}function S(I,L){if(I instanceof Array){for(var B=0;B<I.length;B++)L(B);typeof I.toJSON=="function"&&L("toJSON")}else for(B in I)L(B)}function w(){this.keys=[],this.values=[]}m.ad=function(I){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return _(I,function(L){for(var B=0;m.O(L)&&10>B;B++)L=L();return L})},m.toJSON=function(I,L,B){return I=m.ad(I),m.a.hc(I,L,B)},w.prototype={constructor:w,save:function(I,L){var B=m.a.A(this.keys,I);0<=B?this.values[B]=L:(this.keys.push(I),this.values.push(L))},get:function(I){return I=m.a.A(this.keys,I),0<=I?this.values[I]:e}}}(),m.b("toJS",m.ad),m.b("toJSON",m.toJSON),m.Wd=function(_,S,w){function I(L){var B=m.xb(_,w).extend({ma:"always"}),U=B.subscribe(function(V){V&&(U.s(),L(V))});return B.notifySubscribers(B.v()),U}return typeof Promise!="function"||S?I(S.bind(w)):new Promise(I)},m.b("when",m.Wd),function(){m.w={M:function(_){switch(m.a.R(_)){case"option":return _.__ko__hasDomDataOptionValue__===!0?m.a.g.get(_,m.c.options.$b):7>=m.a.W?_.getAttributeNode("value")&&_.getAttributeNode("value").specified?_.value:_.text:_.value;case"select":return 0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex]):e;default:return _.value}},cb:function(_,S,w){switch(m.a.R(_)){case"option":typeof S=="string"?(m.a.g.set(_,m.c.options.$b,e),"__ko__hasDomDataOptionValue__"in _&&delete _.__ko__hasDomDataOptionValue__,_.value=S):(m.a.g.set(_,m.c.options.$b,S),_.__ko__hasDomDataOptionValue__=!0,_.value=typeof S=="number"?S:"");break;case"select":(S===""||S===null)&&(S=e);for(var I=-1,L=0,B=_.options.length,U;L<B;++L)if(U=m.w.M(_.options[L]),U==S||U===""&&S===e){I=L;break}(w||0<=I||S===e&&1<_.size)&&(_.selectedIndex=I,m.a.W===6&&m.a.setTimeout(function(){_.selectedIndex=I},0));break;default:(S===null||S===e)&&(S=""),_.value=S}}}}(),m.b("selectExtensions",m.w),m.b("selectExtensions.readValue",m.w.M),m.b("selectExtensions.writeValue",m.w.cb),m.m=function(){function _(V){V=m.a.Db(V),V.charCodeAt(0)===123&&(V=V.slice(1,-1)),V+=` +,`;var G=[],k=V.match(I),W,Y=[],Q=0;if(1<k.length){for(var j=0,Z;Z=k[j];++j){var J=Z.charCodeAt(0);if(J===44){if(0>=Q){G.push(W&&Y.length?{key:W,value:Y.join("")}:{unknown:W||Y.join("")}),W=Q=0,Y=[];continue}}else if(J===58){if(!Q&&!W&&Y.length===1){W=Y.pop();continue}}else{if(J===47&&1<Z.length&&(Z.charCodeAt(1)===47||Z.charCodeAt(1)===42))continue;J===47&&j&&1<Z.length?(J=k[j-1].match(L))&&!B[J[0]]&&(V=V.substr(V.indexOf(Z)+1),k=V.match(I),j=-1,Z="/"):J===40||J===123||J===91?++Q:J===41||J===125||J===93?--Q:W||Y.length||J!==34&&J!==39||(Z=Z.slice(1,-1))}Y.push(Z)}if(0<Q)throw Error("Unbalanced parentheses, braces, or brackets")}return G}var S=["true","false","null","undefined"],w=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,I=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* +|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),L=/[\])"'A-Za-z0-9_$]+$/,B={in:1,return:1,typeof:1},U={};return{Ra:[],wa:U,ac:_,vb:function(V,G){function k(J,he){var xe;if(!j){var re=m.getBindingHandler(J);if(re&&re.preprocess&&!(he=re.preprocess(he,J,k)))return;(re=U[J])&&(xe=he,0<=m.a.A(S,xe)?xe=!1:(re=xe.match(w),xe=re===null?!1:re[1]?"Object("+re[1]+")"+re[2]:xe),re=xe),re&&Y.push("'"+(typeof U[J]=="string"?U[J]:J)+"':function(_z){"+xe+"=_z}")}Q&&(he="function(){return "+he+" }"),W.push("'"+J+"':"+he)}G=G||{};var W=[],Y=[],Q=G.valueAccessors,j=G.bindingParams,Z=typeof V=="string"?_(V):V;return m.a.D(Z,function(J){k(J.key||J.unknown,J.value)}),Y.length&&k("_ko_property_writers","{"+Y.join(",")+" }"),W.join(",")},Id:function(V,G){for(var k=0;k<V.length;k++)if(V[k].key==G)return!0;return!1},eb:function(V,G,k,W,Y){V&&m.O(V)?!m.Za(V)||Y&&V.v()===W||V(W):(V=G.get("_ko_property_writers"))&&V[k]&&V[k](W)}}}(),m.b("expressionRewriting",m.m),m.b("expressionRewriting.bindingRewriteValidators",m.m.Ra),m.b("expressionRewriting.parseObjectLiteral",m.m.ac),m.b("expressionRewriting.preProcessBindings",m.m.vb),m.b("expressionRewriting._twoWayBindings",m.m.wa),m.b("jsonExpressionRewriting",m.m),m.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",m.m.vb),function(){function _(k){return k.nodeType==8&&B.test(L?k.text:k.nodeValue)}function S(k){return k.nodeType==8&&U.test(L?k.text:k.nodeValue)}function w(k,W){for(var Y=k,Q=1,j=[];Y=Y.nextSibling;){if(S(Y)&&(m.a.g.set(Y,G,!0),Q--,Q===0))return j;j.push(Y),_(Y)&&Q++}if(!W)throw Error("Cannot find closing comment tag to match: "+k.nodeValue);return null}function I(k,W){var Y=w(k,W);return Y?0<Y.length?Y[Y.length-1].nextSibling:k.nextSibling:null}var L=n&&n.createComment("test").text==="<!--test-->",B=L?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,U=L?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,V={ul:!0,ol:!0},G="__ko_matchedEndComment__";m.h={ea:{},childNodes:function(k){return _(k)?w(k):k.childNodes},Ea:function(k){if(_(k)){k=m.h.childNodes(k);for(var W=0,Y=k.length;W<Y;W++)m.removeNode(k[W])}else m.a.Tb(k)},va:function(k,W){if(_(k)){m.h.Ea(k);for(var Y=k.nextSibling,Q=0,j=W.length;Q<j;Q++)Y.parentNode.insertBefore(W[Q],Y)}else m.a.va(k,W)},Vc:function(k,W){var Y;_(k)?(Y=k.nextSibling,k=k.parentNode):Y=k.firstChild,Y?W!==Y&&k.insertBefore(W,Y):k.appendChild(W)},Wb:function(k,W,Y){Y?(Y=Y.nextSibling,_(k)&&(k=k.parentNode),Y?W!==Y&&k.insertBefore(W,Y):k.appendChild(W)):m.h.Vc(k,W)},firstChild:function(k){if(_(k))return!k.nextSibling||S(k.nextSibling)?null:k.nextSibling;if(k.firstChild&&S(k.firstChild))throw Error("Found invalid end comment, as the first child of "+k);return k.firstChild},nextSibling:function(k){if(_(k)&&(k=I(k)),k.nextSibling&&S(k.nextSibling)){var W=k.nextSibling;if(S(W)&&!m.a.g.get(W,G))throw Error("Found end comment without a matching opening comment, as child of "+k);return null}return k.nextSibling},Cd:_,Vd:function(k){return(k=(L?k.text:k.nodeValue).match(B))?k[1]:null},Sc:function(k){if(V[m.a.R(k)]){var W=k.firstChild;if(W)do if(W.nodeType===1){var Y;Y=W.firstChild;var Q=null;if(Y)do if(Q)Q.push(Y);else if(_(Y)){var j=I(Y,!0);j?Y=j:Q=[Y]}else S(Y)&&(Q=[Y]);while(Y=Y.nextSibling);if(Y=Q)for(Q=W.nextSibling,j=0;j<Y.length;j++)Q?k.insertBefore(Y[j],Q):k.appendChild(Y[j])}while(W=W.nextSibling)}}}}(),m.b("virtualElements",m.h),m.b("virtualElements.allowedBindings",m.h.ea),m.b("virtualElements.emptyNode",m.h.Ea),m.b("virtualElements.insertAfter",m.h.Wb),m.b("virtualElements.prepend",m.h.Vc),m.b("virtualElements.setDomNodeChildren",m.h.va),function(){m.ga=function(){this.nd={}},m.a.extend(m.ga.prototype,{nodeHasBindings:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind")!=null||m.j.getComponentNameForNode(_);case 8:return m.h.Cd(_);default:return!1}},getBindings:function(_,S){var w=this.getBindingsString(_,S),w=w?this.parseBindingsString(w,S,_):null;return m.j.tc(w,_,S,!1)},getBindingAccessors:function(_,S){var w=this.getBindingsString(_,S),w=w?this.parseBindingsString(w,S,_,{valueAccessors:!0}):null;return m.j.tc(w,_,S,!0)},getBindingsString:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind");case 8:return m.h.Vd(_);default:return null}},parseBindingsString:function(_,S,w,I){try{var L=this.nd,B=_+(I&&I.valueAccessors||""),U;if(!(U=L[B])){var V,G="with($context){with($data||{}){return{"+m.m.vb(_,I)+"}}}";V=new Function("$context","$element",G),U=L[B]=V}return U(S,w)}catch(k){throw k.message=`Unable to parse bindings. Bindings value: `+_+` -Message: `+k.message,k}}}),m.ga.instance=new m.ga}(),m.b("bindingProvider",m.ga),function(){function _(re){var _e=(re=m.a.g.get(re,xe))&&re.N;_e&&(re.N=null,_e.Tc())}function S(re,_e,ye){this.node=re,this.yc=_e,this.kb=[],this.H=!1,_e.N||m.a.K.za(re,_),ye&&ye.N&&(ye.N.kb.push(re),this.Kb=ye)}function w(re){return function(){return re}}function I(re){return re()}function L(re){return m.a.Ga(m.u.G(re),function(_e,ye){return function(){return re()[ye]}})}function B(re,_e,ye){return typeof re=="function"?L(re.bind(null,_e,ye)):m.a.Ga(re,w)}function U(re,_e){return L(this.getBindings.bind(this,re,_e))}function V(re,_e){var ye=m.h.firstChild(_e);if(ye){var De,ve=m.ga.instance,Me=ve.preprocessNode;if(Me){for(;De=ye;)ye=m.h.nextSibling(De),Me.call(ve,De);ye=m.h.firstChild(_e)}for(;De=ye;)ye=m.h.nextSibling(De),G(re,De)}m.i.ma(_e,m.i.H)}function G(re,_e){var ye=re,De=_e.nodeType===1;De&&m.h.Sc(_e),(De||m.ga.instance.nodeHasBindings(_e))&&(ye=Y(_e,null,re).bindingContextForDescendants),ye&&!J[m.a.R(_e)]&&V(ye,_e)}function k(re){var _e=[],ye={},De=[];return m.a.P(re,function ve(Me){if(!ye[Me]){var Oe=m.getBindingHandler(Me);Oe&&(Oe.after&&(De.push(Me),m.a.D(Oe.after,function(ct){if(re[ct]){if(m.a.A(De,ct)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+De.join(", "));ve(ct)}}),De.length--),_e.push({key:Me,Mc:Oe})),ye[Me]=!0}}),_e}function Y(re,_e,ye){var De=m.a.g.Ub(re,xe,{}),ve=De.hd;if(!_e){if(ve)throw Error("You cannot apply bindings multiple times to the same element.");De.hd=!0}ve||(De.context=ye),De.Zb||(De.Zb={});var Me;if(_e&&typeof _e!="function")Me=_e;else{var Oe=m.ga.instance,ct=Oe.getBindingAccessors||U,Ke=m.$(function(){return(Me=_e?_e(ye,re):ct.call(Oe,re,ye))&&(ye[Q]&&ye[Q](),ye[Z]&&ye[Z]()),Me},null,{l:re});Me&&Ke.ja()||(Ke=null)}var _t=ye,Ze;if(Me){var Dt=function(){return m.a.Ga(Ke?Ke():Me,I)},gt=Ke?function(yt){return function(){return I(Ke()[yt])}}:function(yt){return Me[yt]};Dt.get=function(yt){return Me[yt]&&I(gt(yt))},Dt.has=function(yt){return yt in Me},m.i.H in Me&&m.i.subscribe(re,m.i.H,function(){var yt=(0,Me[m.i.H])();if(yt){var Kt=m.h.childNodes(re);Kt.length&&yt(Kt,m.Ec(Kt[0]))}}),m.i.pa in Me&&(_t=m.i.Cb(re,ye),m.i.subscribe(re,m.i.pa,function(){var yt=(0,Me[m.i.pa])();yt&&m.h.firstChild(re)&&yt(re)})),De=k(Me),m.a.D(De,function(yt){var Kt=yt.Mc.init,Te=yt.Mc.update,Ae=yt.key;if(re.nodeType===8&&!m.h.ea[Ae])throw Error("The binding '"+Ae+"' cannot be used with virtual elements");try{typeof Kt=="function"&&m.u.G(function(){var on=Kt(re,gt(Ae),Dt,_t.$data,_t);if(on&&on.controlsDescendantBindings){if(Ze!==e)throw Error("Multiple bindings ("+Ze+" and "+Ae+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");Ze=Ae}}),typeof Te=="function"&&m.$(function(){Te(re,gt(Ae),Dt,_t.$data,_t)},null,{l:re})}catch(on){throw on.message='Unable to process binding "'+Ae+": "+Me[Ae]+`" -Message: `+on.message,on}})}return De=Ze===e,{shouldBindDescendants:De,bindingContextForDescendants:De&&_t}}function W(re,_e){return re&&re instanceof m.fa?re:new m.fa(re,e,e,_e)}var Q=m.a.Da("_subscribable"),j=m.a.Da("_ancestorBindingInfo"),Z=m.a.Da("_dataDependency");m.c={};var J={script:!0,textarea:!0,template:!0};m.getBindingHandler=function(re){return m.c[re]};var he={};m.fa=function(re,_e,ye,De,ve){function Me(){var gt=_t?Ke():Ke,yt=m.a.f(gt);return _e?(m.a.extend(Oe,_e),j in _e&&(Oe[j]=_e[j])):(Oe.$parents=[],Oe.$root=yt,Oe.ko=m),Oe[Q]=Ze,ct?yt=Oe.$data:(Oe.$rawData=gt,Oe.$data=yt),ye&&(Oe[ye]=yt),De&&De(Oe,_e,yt),_e&&_e[Q]&&!m.S.o().Vb(_e[Q])&&_e[Q](),Dt&&(Oe[Z]=Dt),Oe.$data}var Oe=this,ct=re===he,Ke=ct?e:re,_t=typeof Ke=="function"&&!m.O(Ke),Ze,Dt=ve&&ve.dataDependency;ve&&ve.exportDependencies?Me():(Ze=m.xb(Me),Ze.v(),Ze.ja()?Ze.equalityComparer=null:Oe[Q]=e)},m.fa.prototype.createChildContext=function(re,_e,ye,De){if(!De&&_e&&typeof _e=="object"&&(De=_e,_e=De.as,ye=De.extend),_e&&De&&De.noChildContext){var ve=typeof re=="function"&&!m.O(re);return new m.fa(he,this,null,function(Me){ye&&ye(Me),Me[_e]=ve?re():re},De)}return new m.fa(re,this,_e,function(Me,Oe){Me.$parentContext=Oe,Me.$parent=Oe.$data,Me.$parents=(Oe.$parents||[]).slice(0),Me.$parents.unshift(Me.$parent),ye&&ye(Me)},De)},m.fa.prototype.extend=function(re,_e){return new m.fa(he,this,null,function(ye){m.a.extend(ye,typeof re=="function"?re(ye):re)},_e)};var xe=m.a.g.Z();S.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},S.prototype.sd=function(re){m.a.Pa(this.kb,re),!this.kb.length&&this.H&&this.Cc()},S.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,m.a.K.yb(this.node,_),m.i.ma(this.node,m.i.pa),this.Tc())},m.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(re,_e,ye,De,ve){var Me=m.a.g.Ub(re,xe,{});return Me.Fa||(Me.Fa=new m.T),ve&&ve.notifyImmediately&&Me.Zb[_e]&&m.u.G(ye,De,[re]),Me.Fa.subscribe(ye,De,_e)},ma:function(re,_e){var ye=m.a.g.get(re,xe);if(ye&&(ye.Zb[_e]=!0,ye.Fa&&ye.Fa.notifySubscribers(re,_e),_e==m.i.H)){if(ye.N)ye.N.Cc();else if(ye.N===e&&ye.Fa&&ye.Fa.Wa(m.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(re,_e){var ye=m.a.g.Ub(re,xe,{});return ye.N||(ye.N=new S(re,ye,_e[j])),_e[j]==ye?_e:_e.extend(function(De){De[j]=ye})}},m.Td=function(re){return(re=m.a.g.get(re,xe))&&re.context},m.ib=function(re,_e,ye){return re.nodeType===1&&m.h.Sc(re),Y(re,_e,W(ye))},m.ld=function(re,_e,ye){return ye=W(ye),m.ib(re,B(_e,ye,re),ye)},m.Oa=function(re,_e){_e.nodeType!==1&&_e.nodeType!==8||V(W(re),_e)},m.vc=function(re,_e,ye){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(_e=n.body,!_e)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!_e||_e.nodeType!==1&&_e.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");G(W(re,ye),_e)},m.Dc=function(re){return!re||re.nodeType!==1&&re.nodeType!==8?e:m.Td(re)},m.Ec=function(re){return(re=m.Dc(re))?re.$data:e},m.b("bindingHandlers",m.c),m.b("bindingEvent",m.i),m.b("bindingEvent.subscribe",m.i.subscribe),m.b("bindingEvent.startPossiblyAsyncContentBinding",m.i.Cb),m.b("applyBindings",m.vc),m.b("applyBindingsToDescendants",m.Oa),m.b("applyBindingAccessorsToNode",m.ib),m.b("applyBindingsToNode",m.ld),m.b("contextFor",m.Dc),m.b("dataFor",m.Ec)}(),function(_){function S(U,V){var G=Object.prototype.hasOwnProperty.call(L,U)?L[U]:_,k;G?G.subscribe(V):(G=L[U]=new m.T,G.subscribe(V),w(U,function(Y,W){var Q=!(!W||!W.synchronous);B[U]={definition:Y,Gd:Q},delete L[U],k||Q?G.notifySubscribers(Y):m.na.zb(function(){G.notifySubscribers(Y)})}),k=!0)}function w(U,V){I("getConfig",[U],function(G){G?I("loadComponent",[U,G],function(k){V(k,G)}):V(null,null)})}function I(U,V,G,k){k||(k=m.j.loaders.slice(0));var Y=k.shift();if(Y){var W=Y[U];if(W){var Q=!1;if(W.apply(Y,V.concat(function(j){Q?G(null):j!==null?G(j):I(U,V,G,k)}))!==_&&(Q=!0,!Y.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else I(U,V,G,k)}else G(null)}var L={},B={};m.j={get:function(U,V){var G=Object.prototype.hasOwnProperty.call(B,U)?B[U]:_;G?G.Gd?m.u.G(function(){V(G.definition)}):m.na.zb(function(){V(G.definition)}):S(U,V)},Bc:function(U){delete B[U]},oc:I},m.j.loaders=[],m.b("components",m.j),m.b("components.get",m.j.get),m.b("components.clearCachedDefinition",m.j.Bc)}(),function(){function _(G,k,Y,W){function Q(){--Z===0&&W(j)}var j={},Z=2,J=Y.template;Y=Y.viewModel,J?L(k,J,function(he){m.j.oc("loadTemplate",[G,he],function(xe){j.template=xe,Q()})}):Q(),Y?L(k,Y,function(he){m.j.oc("loadViewModel",[G,he],function(xe){j[V]=xe,Q()})}):Q()}function S(G,k,Y){if(typeof k=="function")Y(function(Q){return new k(Q)});else if(typeof k[V]=="function")Y(k[V]);else if("instance"in k){var W=k.instance;Y(function(){return W})}else"viewModel"in k?S(G,k.viewModel,Y):G("Unknown viewModel value: "+k)}function w(G){switch(m.a.R(G)){case"script":return m.a.ua(G.text);case"textarea":return m.a.ua(G.value);case"template":if(I(G.content))return m.a.Ca(G.content.childNodes)}return m.a.Ca(G.childNodes)}function I(G){return t.DocumentFragment?G instanceof DocumentFragment:G&&G.nodeType===11}function L(G,k,Y){typeof k.require=="string"?a||t.require?(a||t.require)([k.require],function(W){W&&typeof W=="object"&&W.Xd&&W.default&&(W=W.default),Y(W)}):G("Uses require, but no AMD loader is present"):Y(k)}function B(G){return function(k){throw Error("Component '"+G+"': "+k)}}var U={};m.j.register=function(G,k){if(!k)throw Error("Invalid configuration for "+G);if(m.j.tb(G))throw Error("Component "+G+" is already registered");U[G]=k},m.j.tb=function(G){return Object.prototype.hasOwnProperty.call(U,G)},m.j.unregister=function(G){delete U[G],m.j.Bc(G)},m.j.Fc={getConfig:function(G,k){k(m.j.tb(G)?U[G]:null)},loadComponent:function(G,k,Y){var W=B(G);L(W,k,function(Q){_(G,W,Q,Y)})},loadTemplate:function(G,k,Y){if(G=B(G),typeof k=="string")Y(m.a.ua(k));else if(k instanceof Array)Y(k);else if(I(k))Y(m.a.la(k.childNodes));else if(k.element)if(k=k.element,t.HTMLElement?k instanceof HTMLElement:k&&k.tagName&&k.nodeType===1)Y(w(k));else if(typeof k=="string"){var W=n.getElementById(k);W?Y(w(W)):G("Cannot find element with ID "+k)}else G("Unknown element type: "+k);else G("Unknown template value: "+k)},loadViewModel:function(G,k,Y){S(B(G),k,Y)}};var V="createViewModel";m.b("components.register",m.j.register),m.b("components.isRegistered",m.j.tb),m.b("components.unregister",m.j.unregister),m.b("components.defaultLoader",m.j.Fc),m.j.loaders.push(m.j.Fc),m.j.dd=U}(),function(){function _(w,I){var L=w.getAttribute("params");if(L){var L=S.parseBindingsString(L,I,w,{valueAccessors:!0,bindingParams:!0}),L=m.a.Ga(L,function(V){return m.o(V,null,{l:w})}),B=m.a.Ga(L,function(V){var G=V.v();return V.ja()?m.o({read:function(){return m.a.f(V())},write:m.Za(G)&&function(k){V()(k)},l:w}):G});return Object.prototype.hasOwnProperty.call(B,"$raw")||(B.$raw=L),B}return{$raw:{}}}m.j.getComponentNameForNode=function(w){var I=m.a.R(w);if(m.j.tb(I)&&(I.indexOf("-")!=-1||""+w=="[object HTMLUnknownElement]"||8>=m.a.W&&w.tagName===I))return I},m.j.tc=function(w,I,L,B){if(I.nodeType===1){var U=m.j.getComponentNameForNode(I);if(U){if(w=w||{},w.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var V={name:U,params:_(I,L)};w.component=B?function(){return V}:V}}return w};var S=new m.ga;9>m.a.W&&(m.j.register=function(w){return function(I){return w.apply(this,arguments)}}(m.j.register),n.createDocumentFragment=function(w){return function(){var I=w(),L=m.j.dd,B;for(B in L);return I}}(n.createDocumentFragment))}(),function(){function _(I,L,B){if(L=L.template,!L)throw Error("Component '"+I+"' has no template");I=m.a.Ca(L),m.h.va(B,I)}function S(I,L,B){var U=I.createViewModel;return U?U.call(I,L,B):L}var w=0;m.c.component={init:function(I,L,B,U,V){function G(){var j=k&&k.dispose;typeof j=="function"&&j.call(k),W&&W.s(),Y=k=W=null}var k,Y,W,Q=m.a.la(m.h.childNodes(I));return m.h.Ea(I),m.a.K.za(I,G),m.o(function(){var j=m.a.f(L()),Z,J;if(typeof j=="string"?Z=j:(Z=m.a.f(j.name),J=m.a.f(j.params)),!Z)throw Error("No component name specified");var he=m.i.Cb(I,V),xe=Y=++w;m.j.get(Z,function(re){if(Y===xe){if(G(),!re)throw Error("Unknown component '"+Z+"'");_(Z,re,I);var _e=S(re,J,{element:I,templateNodes:Q});re=he.createChildContext(_e,{extend:function(ye){ye.$component=_e,ye.$componentTemplateNodes=Q}}),_e&&_e.koDescendantsComplete&&(W=m.i.subscribe(I,m.i.pa,_e.koDescendantsComplete,_e)),k=_e,m.Oa(re,I)}})},null,{l:I}),{controlsDescendantBindings:!0}}},m.h.ea.component=!0}();var M={class:"className",for:"htmlFor"};m.c.attr={update:function(_,S){var w=m.a.f(S())||{};m.a.P(w,function(I,L){L=m.a.f(L);var B=I.indexOf(":"),B="lookupNamespaceURI"in _&&0<B&&_.lookupNamespaceURI(I.substr(0,B)),U=L===!1||L===null||L===e;U?B?_.removeAttributeNS(B,I):_.removeAttribute(I):L=L.toString(),8>=m.a.W&&I in M?(I=M[I],U?_.removeAttribute(I):_[I]=L):U||(B?_.setAttributeNS(B,I,L):_.setAttribute(I,L)),I==="name"&&m.a.Yc(_,U?"":L)})}},function(){m.c.checked={after:["value","attr"],init:function(_,S,w){function I(){var j=_.checked,Z=B();if(!m.S.Ya()&&(j||!V&&!m.S.qa())){var J=m.u.G(S);if(k){var he=Y?J.v():J,xe=Q;Q=Z,xe!==Z?j&&(m.a.Na(he,Z,!0),m.a.Na(he,xe,!1)):m.a.Na(he,Z,j),Y&&m.Za(J)&&J(he)}else U&&(Z===e?Z=j:j||(Z=e)),m.m.eb(J,w,"checked",Z,!0)}}function L(){var j=m.a.f(S()),Z=B();k?(_.checked=0<=m.a.A(j,Z),Q=Z):_.checked=U&&Z===e?!!j:B()===j}var B=m.xb(function(){if(w.has("checkedValue"))return m.a.f(w.get("checkedValue"));if(W)return w.has("value")?m.a.f(w.get("value")):_.value}),U=_.type=="checkbox",V=_.type=="radio";if(U||V){var G=S(),k=U&&m.a.f(G)instanceof Array,Y=!(k&&G.push&&G.splice),W=V||k,Q=k?B():e;V&&!_.name&&m.c.uniqueName.init(_,function(){return!0}),m.o(I,null,{l:_}),m.a.B(_,"click",I),m.o(L,null,{l:_}),G=e}}},m.m.wa.checked=!0,m.c.checkedValue={update:function(_,S){_.value=m.a.f(S())}}}(),m.c.class={update:function(_,S){var w=m.a.Db(m.a.f(S()));m.a.Eb(_,_.__ko__cssValue,!1),_.__ko__cssValue=w,m.a.Eb(_,w,!0)}},m.c.css={update:function(_,S){var w=m.a.f(S());w!==null&&typeof w=="object"?m.a.P(w,function(I,L){L=m.a.f(L),m.a.Eb(_,I,L)}):m.c.class.update(_,S)}},m.c.enable={update:function(_,S){var w=m.a.f(S());w&&_.disabled?_.removeAttribute("disabled"):w||_.disabled||(_.disabled=!0)}},m.c.disable={update:function(_,S){m.c.enable.update(_,function(){return!m.a.f(S())})}},m.c.event={init:function(_,S,w,I,L){var B=S()||{};m.a.P(B,function(U){typeof U=="string"&&m.a.B(_,U,function(V){var G,k=S()[U];if(k){try{var Y=m.a.la(arguments);I=L.$data,Y.unshift(I),G=k.apply(I,Y)}finally{G!==!0&&(V.preventDefault?V.preventDefault():V.returnValue=!1)}w.get(U+"Bubble")===!1&&(V.cancelBubble=!0,V.stopPropagation&&V.stopPropagation())}})})}},m.c.foreach={Rc:function(_){return function(){var S=_(),w=m.a.bc(S);return!w||typeof w.length=="number"?{foreach:S,templateEngine:m.ba.Ma}:(m.a.f(S),{foreach:w.data,as:w.as,noChildContext:w.noChildContext,includeDestroyed:w.includeDestroyed,afterAdd:w.afterAdd,beforeRemove:w.beforeRemove,afterRender:w.afterRender,beforeMove:w.beforeMove,afterMove:w.afterMove,templateEngine:m.ba.Ma})}},init:function(_,S){return m.c.template.init(_,m.c.foreach.Rc(S))},update:function(_,S,w,I,L){return m.c.template.update(_,m.c.foreach.Rc(S),w,I,L)}},m.m.Ra.foreach=!1,m.h.ea.foreach=!0,m.c.hasfocus={init:function(_,S,w){function I(U){_.__ko_hasfocusUpdating=!0;var V=_.ownerDocument;if("activeElement"in V){var G;try{G=V.activeElement}catch{G=V.body}U=G===_}V=S(),m.m.eb(V,w,"hasfocus",U,!0),_.__ko_hasfocusLastValue=U,_.__ko_hasfocusUpdating=!1}var L=I.bind(null,!0),B=I.bind(null,!1);m.a.B(_,"focus",L),m.a.B(_,"focusin",L),m.a.B(_,"blur",B),m.a.B(_,"focusout",B),_.__ko_hasfocusLastValue=!1},update:function(_,S){var w=!!m.a.f(S());_.__ko_hasfocusUpdating||_.__ko_hasfocusLastValue===w||(w?_.focus():_.blur(),!w&&_.__ko_hasfocusLastValue&&_.ownerDocument.body.focus(),m.u.G(m.a.Fb,null,[_,w?"focusin":"focusout"]))}},m.m.wa.hasfocus=!0,m.c.hasFocus=m.c.hasfocus,m.m.wa.hasFocus="hasfocus",m.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(_,S){m.a.fc(_,S())}},function(){function _(S,w,I){m.c[S]={init:function(L,B,U,V,G){var k,Y,W={},Q,j,Z;if(w){V=U.get("as");var J=U.get("noChildContext");Z=!(V&&J),W={as:V,noChildContext:J,exportDependencies:Z}}return j=(Q=U.get("completeOn")=="render")||U.has(m.i.pa),m.o(function(){var he=m.a.f(B()),xe=!I!=!he,re=!Y,_e;(Z||xe!==k)&&(j&&(G=m.i.Cb(L,G)),xe&&((!w||Z)&&(W.dataDependency=m.S.o()),_e=w?G.createChildContext(typeof he=="function"?he:B,W):m.S.qa()?G.extend(null,W):G),re&&m.S.qa()&&(Y=m.a.Ca(m.h.childNodes(L),!0)),xe?(re||m.h.va(L,m.a.Ca(Y)),m.Oa(_e,L)):(m.h.Ea(L),Q||m.i.ma(L,m.i.H)),k=xe)},null,{l:L}),{controlsDescendantBindings:!0}}},m.m.Ra[S]=!1,m.h.ea[S]=!0}_("if"),_("ifnot",!1,!0),_("with",!0)}(),m.c.let={init:function(_,S,w,I,L){return S=L.extend(S),m.Oa(S,_),{controlsDescendantBindings:!0}}},m.h.ea.let=!0;var N={};m.c.options={init:function(_){if(m.a.R(_)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<_.length;)_.remove(0);return{controlsDescendantBindings:!0}},update:function(_,S,w){function I(){return m.a.jb(_.options,function(J){return J.selected})}function L(J,he,xe){var re=typeof he;return re=="function"?he(J):re=="string"?J[he]:xe}function B(J,he){if(j&&k)m.i.ma(_,m.i.H);else if(Q.length){var xe=0<=m.a.A(Q,m.w.M(he[0]));m.a.Zc(he[0],xe),j&&!xe&&m.u.G(m.a.Fb,null,[_,"change"])}}var U=_.multiple,V=_.length!=0&&U?_.scrollTop:null,G=m.a.f(S()),k=w.get("valueAllowUnset")&&w.has("value"),Y=w.get("optionsIncludeDestroyed");S={};var W,Q=[];k||(U?Q=m.a.Mb(I(),m.w.M):0<=_.selectedIndex&&Q.push(m.w.M(_.options[_.selectedIndex]))),G&&(typeof G.length>"u"&&(G=[G]),W=m.a.jb(G,function(J){return Y||J===e||J===null||!m.a.f(J._destroy)}),w.has("optionsCaption")&&(G=m.a.f(w.get("optionsCaption")),G!==null&&G!==e&&W.unshift(N)));var j=!1;if(S.beforeRemove=function(J){_.removeChild(J)},G=B,w.has("optionsAfterRender")&&typeof w.get("optionsAfterRender")=="function"&&(G=function(J,he){B(0,he),m.u.G(w.get("optionsAfterRender"),null,[he[0],J!==N?J:e])}),m.a.ec(_,W,function(J,he,xe){return xe.length&&(Q=!k&&xe[0].selected?[m.w.M(xe[0])]:[],j=!0),he=_.ownerDocument.createElement("option"),J===N?(m.a.Bb(he,w.get("optionsCaption")),m.w.cb(he,e)):(xe=L(J,w.get("optionsValue"),J),m.w.cb(he,m.a.f(xe)),J=L(J,w.get("optionsText"),xe),m.a.Bb(he,J)),[he]},S,G),!k){var Z;U?Z=Q.length&&I().length<Q.length:Z=Q.length&&0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex])!==Q[0]:Q.length||0<=_.selectedIndex,Z&&m.u.G(m.a.Fb,null,[_,"change"])}(k||m.S.Ya())&&m.i.ma(_,m.i.H),m.a.wd(_),V&&20<Math.abs(V-_.scrollTop)&&(_.scrollTop=V)}},m.c.options.$b=m.a.g.Z(),m.c.selectedOptions={init:function(_,S,w){function I(){var U=S(),V=[];m.a.D(_.getElementsByTagName("option"),function(G){G.selected&&V.push(m.w.M(G))}),m.m.eb(U,w,"selectedOptions",V)}function L(){var U=m.a.f(S()),V=_.scrollTop;U&&typeof U.length=="number"&&m.a.D(_.getElementsByTagName("option"),function(G){var k=0<=m.a.A(U,m.w.M(G));G.selected!=k&&m.a.Zc(G,k)}),_.scrollTop=V}if(m.a.R(_)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var B;m.i.subscribe(_,m.i.H,function(){B?I():(m.a.B(_,"change",I),B=m.o(L,null,{l:_}))},null,{notifyImmediately:!0})},update:function(){}},m.m.wa.selectedOptions=!0,m.c.style={update:function(_,S){var w=m.a.f(S()||{});m.a.P(w,function(I,L){if(L=m.a.f(L),(L===null||L===e||L===!1)&&(L=""),o)o(_).css(I,L);else if(/^--/.test(I))_.style.setProperty(I,L);else{I=I.replace(/-(\w)/g,function(U,V){return V.toUpperCase()});var B=_.style[I];_.style[I]=L,L===B||_.style[I]!=B||isNaN(L)||(_.style[I]=L+"px")}})}},m.c.submit={init:function(_,S,w,I,L){if(typeof S()!="function")throw Error("The value for a submit binding must be a function");m.a.B(_,"submit",function(B){var U,V=S();try{U=V.call(L.$data,_)}finally{U!==!0&&(B.preventDefault?B.preventDefault():B.returnValue=!1)}})}},m.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(_,S){m.a.Bb(_,S())}},m.h.ea.text=!0,function(){if(t&&t.navigator){var _=function(W){if(W)return parseFloat(W[1])},S=t.navigator.userAgent,w,I,L,B,U;(w=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(U=_(S.match(/Edge\/([^ ]+)$/)))||_(S.match(/Chrome\/([^ ]+)/))||(I=_(S.match(/Version\/([^ ]+) Safari/)))||(L=_(S.match(/Firefox\/([^ ]+)/)))||(B=m.a.W||_(S.match(/MSIE ([^ ]+)/)))||(B=_(S.match(/rv:([^ )]+)/)))}if(8<=B&&10>B)var V=m.a.g.Z(),G=m.a.g.Z(),k=function(W){var Q=this.activeElement;(Q=Q&&m.a.g.get(Q,G))&&Q(W)},Y=function(W,Q){var j=W.ownerDocument;m.a.g.get(j,V)||(m.a.g.set(j,V,!0),m.a.B(j,"selectionchange",k)),m.a.g.set(W,G,Q)};m.c.textInput={init:function(W,Q,j){function Z(Me,Oe){m.a.B(W,Me,Oe)}function J(){var Me=m.a.f(Q());(Me===null||Me===e)&&(Me=""),ye!==e&&Me===ye?m.a.setTimeout(J,4):W.value!==Me&&(ve=!0,W.value=Me,ve=!1,re=W.value)}function he(){_e||(ye=W.value,_e=m.a.setTimeout(xe,4))}function xe(){clearTimeout(_e),ye=_e=e;var Me=W.value;re!==Me&&(re=Me,m.m.eb(Q(),j,"textInput",Me))}var re=W.value,_e,ye,De=m.a.W==9?he:xe,ve=!1;B&&Z("keypress",xe),11>B&&Z("propertychange",function(Me){ve||Me.propertyName!=="value"||De(Me)}),B==8&&(Z("keyup",xe),Z("keydown",xe)),Y&&(Y(W,De),Z("dragend",he)),(!B||9<=B)&&Z("input",De),5>I&&m.a.R(W)==="textarea"?(Z("keydown",he),Z("paste",he),Z("cut",he)):11>w?Z("keydown",he):4>L?(Z("DOMAutoComplete",xe),Z("dragdrop",xe),Z("drop",xe)):U&&W.type==="number"&&Z("keydown",he),Z("change",xe),Z("blur",xe),m.o(J,null,{l:W})}},m.m.wa.textInput=!0,m.c.textinput={preprocess:function(W,Q,j){j("textInput",W)}}}(),m.c.uniqueName={init:function(_,S){if(S()){var w="ko_unique_"+ ++m.c.uniqueName.rd;m.a.Yc(_,w)}}},m.c.uniqueName.rd=0,m.c.using={init:function(_,S,w,I,L){var B;return w.has("as")&&(B={as:w.get("as"),noChildContext:w.get("noChildContext")}),S=L.createChildContext(S,B),m.Oa(S,_),{controlsDescendantBindings:!0}}},m.h.ea.using=!0,m.c.value={init:function(_,S,w){var I=m.a.R(_),L=I=="input";if(!L||_.type!="checkbox"&&_.type!="radio"){var B=[],U=w.get("valueUpdate"),V=!1,G=null;U&&(typeof U=="string"?B=[U]:B=m.a.wc(U),m.a.Pa(B,"change"));var k=function(){G=null,V=!1;var Q=S(),j=m.w.M(_);m.m.eb(Q,w,"value",j)};!m.a.W||!L||_.type!="text"||_.autocomplete=="off"||_.form&&_.form.autocomplete=="off"||m.a.A(B,"propertychange")!=-1||(m.a.B(_,"propertychange",function(){V=!0}),m.a.B(_,"focus",function(){V=!1}),m.a.B(_,"blur",function(){V&&k()})),m.a.D(B,function(Q){var j=k;m.a.Ud(Q,"after")&&(j=function(){G=m.w.M(_),m.a.setTimeout(k,0)},Q=Q.substring(5)),m.a.B(_,Q,j)});var Y;if(Y=L&&_.type=="file"?function(){var Q=m.a.f(S());Q===null||Q===e||Q===""?_.value="":m.u.G(k)}:function(){var Q=m.a.f(S()),j=m.w.M(_);G!==null&&Q===G?m.a.setTimeout(Y,0):(Q!==j||j===e)&&(I==="select"?(j=w.get("valueAllowUnset"),m.w.cb(_,Q,j),j||Q===m.w.M(_)||m.u.G(k)):m.w.cb(_,Q))},I==="select"){var W;m.i.subscribe(_,m.i.H,function(){W?w.get("valueAllowUnset")?Y():k():(m.a.B(_,"change",k),W=m.o(Y,null,{l:_}))},null,{notifyImmediately:!0})}else m.a.B(_,"change",k),m.o(Y,null,{l:_})}else m.ib(_,{checkedValue:S})},update:function(){}},m.m.wa.value=!0,m.c.visible={update:function(_,S){var w=m.a.f(S()),I=_.style.display!="none";w&&!I?_.style.display="":!w&&I&&(_.style.display="none")}},m.c.hidden={update:function(_,S){m.c.visible.update(_,function(){return!m.a.f(S())})}},function(_){m.c[_]={init:function(S,w,I,L,B){return m.c.event.init.call(this,S,function(){var U={};return U[_]=w(),U},I,L,B)}}}("click"),m.ca=function(){},m.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},m.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},m.ca.prototype.makeTemplateSource=function(_,S){if(typeof _=="string"){S=S||n;var w=S.getElementById(_);if(!w)throw Error("Cannot find template with ID "+_);return new m.C.F(w)}if(_.nodeType==1||_.nodeType==8)return new m.C.ia(_);throw Error("Unknown template type: "+_)},m.ca.prototype.renderTemplate=function(_,S,w,I){return _=this.makeTemplateSource(_,I),this.renderTemplateSource(_,S,w,I)},m.ca.prototype.isTemplateRewritten=function(_,S){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(_,S).data("isRewritten")},m.ca.prototype.rewriteTemplate=function(_,S,w){_=this.makeTemplateSource(_,w),S=S(_.text()),_.text(S),_.data("isRewritten",!0)},m.b("templateEngine",m.ca),m.kc=function(){function _(I,L,B,U){I=m.m.ac(I);for(var V=m.m.Ra,G=0;G<I.length;G++){var k=I[G].key;if(Object.prototype.hasOwnProperty.call(V,k)){var Y=V[k];if(typeof Y=="function"){if(k=Y(I[G].value))throw Error(k)}else if(!Y)throw Error("This template engine does not support the '"+k+"' binding within its templates")}}return B="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+m.m.vb(I,{valueAccessors:!0})+" } })()},'"+B.toLowerCase()+"')",U.createJavaScriptEvaluatorBlock(B)+L}var S=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,w=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(I,L,B){L.isTemplateRewritten(I,B)||L.rewriteTemplate(I,function(U){return m.kc.Ld(U,L)},B)},Ld:function(I,L){return I.replace(S,function(B,U,V,G,k){return _(k,U,V,L)}).replace(w,function(B,U){return _(U,"<!-- ko -->","#comment",L)})},md:function(I,L){return m.aa.Xb(function(B,U){var V=B.nextSibling;V&&V.nodeName.toLowerCase()===L&&m.ib(V,I,U)})}}}(),m.b("__tr_ambtns",m.kc.md),function(){m.C={},m.C.F=function(w){if(this.F=w){var I=m.a.R(w);this.ab=I==="script"?1:I==="textarea"?2:I=="template"&&w.content&&w.content.nodeType===11?3:4}},m.C.F.prototype.text=function(){var w=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[w];var I=arguments[0];w==="innerHTML"?m.a.fc(this.F,I):this.F[w]=I};var _=m.a.g.Z()+"_";m.C.F.prototype.data=function(w){if(arguments.length===1)return m.a.g.get(this.F,_+w);m.a.g.set(this.F,_+w,arguments[1])};var S=m.a.g.Z();m.C.F.prototype.nodes=function(){var w=this.F;if(arguments.length==0){var I=m.a.g.get(w,S)||{},L=I.lb||(this.ab===3?w.content:this.ab===4?w:e);if(!L||I.jd){var B=this.text();B&&B!==I.bb&&(L=m.a.Md(B,w.ownerDocument),m.a.g.set(w,S,{lb:L,bb:B,jd:!0}))}return L}I=arguments[0],this.ab!==e&&this.text(""),m.a.g.set(w,S,{lb:I})},m.C.ia=function(w){this.F=w},m.C.ia.prototype=new m.C.F,m.C.ia.prototype.constructor=m.C.ia,m.C.ia.prototype.text=function(){if(arguments.length==0){var w=m.a.g.get(this.F,S)||{};return w.bb===e&&w.lb&&(w.bb=w.lb.innerHTML),w.bb}m.a.g.set(this.F,S,{bb:arguments[0]})},m.b("templateSources",m.C),m.b("templateSources.domElement",m.C.F),m.b("templateSources.anonymousTemplate",m.C.ia)}(),function(){function _(G,k,Y){var W;for(k=m.h.nextSibling(k);G&&(W=G)!==k;)G=m.h.nextSibling(W),Y(W,G)}function S(G,k){if(G.length){var Y=G[0],W=G[G.length-1],Q=Y.parentNode,j=m.ga.instance,Z=j.preprocessNode;if(Z){if(_(Y,W,function(J,he){var xe=J.previousSibling,re=Z.call(j,J);re&&(J===Y&&(Y=re[0]||he),J===W&&(W=re[re.length-1]||xe))}),G.length=0,!Y)return;Y===W?G.push(Y):(G.push(Y,W),m.a.Ua(G,Q))}_(Y,W,function(J){J.nodeType!==1&&J.nodeType!==8||m.vc(k,J)}),_(Y,W,function(J){J.nodeType!==1&&J.nodeType!==8||m.aa.cd(J,[k])}),m.a.Ua(G,Q)}}function w(G){return G.nodeType?G:0<G.length?G[0]:null}function I(G,k,Y,W,Q){Q=Q||{};var j=(G&&w(G)||Y||{}).ownerDocument,Z=Q.templateEngine||B;if(m.kc.xd(Y,Z,j),Y=Z.renderTemplate(Y,W,Q,j),typeof Y.length!="number"||0<Y.length&&typeof Y[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(j=!1,k){case"replaceChildren":m.h.va(G,Y),j=!0;break;case"replaceNode":m.a.Xc(G,Y),j=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k)}return j&&(S(Y,W),Q.afterRender&&m.u.G(Q.afterRender,null,[Y,W[Q.as||"$data"]]),k=="replaceChildren"&&m.i.ma(G,m.i.H)),Y}function L(G,k,Y){return m.O(G)?G():typeof G=="function"?G(k,Y):G}var B;m.gc=function(G){if(G!=e&&!(G instanceof m.ca))throw Error("templateEngine must inherit from ko.templateEngine");B=G},m.dc=function(G,k,Y,W,Q){if(Y=Y||{},(Y.templateEngine||B)==e)throw Error("Set a template engine before calling renderTemplate");if(Q=Q||"replaceChildren",W){var j=w(W);return m.$(function(){var J=k&&k instanceof m.fa?k:new m.fa(k,null,null,null,{exportDependencies:!0}),Z=L(G,J.$data,J),J=I(W,Q,Z,J,Y);Q=="replaceNode"&&(W=J,j=w(W))},null,{Sa:function(){return!j||!m.a.Sb(j)},l:j&&Q=="replaceNode"?j.parentNode:j})}return m.aa.Xb(function(Z){m.dc(G,k,Y,Z,"replaceNode")})},m.Qd=function(G,k,Y,W,Q){function j(ye,De){m.u.G(m.a.ec,null,[W,ye,J,Y,Z,De]),m.i.ma(W,m.i.H)}function Z(ye,De){S(De,he),Y.afterRender&&Y.afterRender(De,ye),he=null}function J(ye,De){he=Q.createChildContext(ye,{as:xe,noChildContext:Y.noChildContext,extend:function(Me){Me.$index=De,xe&&(Me[xe+"Index"]=De)}});var ve=L(G,ye,he);return I(W,"ignoreTargetNode",ve,he,Y)}var he,xe=Y.as,re=Y.includeDestroyed===!1||m.options.foreachHidesDestroyed&&!Y.includeDestroyed;if(re||Y.beforeRemove||!m.Pc(k))return m.$(function(){var ye=m.a.f(k)||[];typeof ye.length>"u"&&(ye=[ye]),re&&(ye=m.a.jb(ye,function(De){return De===e||De===null||!m.a.f(De._destroy)})),j(ye)},null,{l:W});j(k.v());var _e=k.subscribe(function(ye){j(k(),ye)},null,"arrayChange");return _e.l(W),_e};var U=m.a.g.Z(),V=m.a.g.Z();m.c.template={init:function(G,k){var Y=m.a.f(k());if(typeof Y=="string"||"name"in Y)m.h.Ea(G);else if("nodes"in Y){if(Y=Y.nodes||[],m.O(Y))throw Error('The "nodes" option must be a plain, non-observable array.');var W=Y[0]&&Y[0].parentNode;W&&m.a.g.get(W,V)||(W=m.a.Yb(Y),m.a.g.set(W,V,!0)),new m.C.ia(G).nodes(W)}else if(Y=m.h.childNodes(G),0<Y.length)W=m.a.Yb(Y),new m.C.ia(G).nodes(W);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(G,k,Y,W,Q){var j=k();k=m.a.f(j),Y=!0,W=null,typeof k=="string"?k={}:(j="name"in k?k.name:G,"if"in k&&(Y=m.a.f(k.if)),Y&&"ifnot"in k&&(Y=!m.a.f(k.ifnot)),Y&&!j&&(Y=!1)),"foreach"in k?W=m.Qd(j,Y&&k.foreach||[],k,G,Q):Y?(Y=Q,"data"in k&&(Y=Q.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),W=m.dc(j,Y,k,G)):m.h.Ea(G),Q=W,(k=m.a.g.get(G,U))&&typeof k.s=="function"&&k.s(),m.a.g.set(G,U,!Q||Q.ja&&!Q.ja()?e:Q)}},m.m.Ra.template=function(G){return G=m.m.ac(G),G.length==1&&G[0].unknown||m.m.Id(G,"name")?null:"This template engine does not support anonymous templates nested within its templates"},m.h.ea.template=!0}(),m.b("setTemplateEngine",m.gc),m.b("renderTemplate",m.dc),m.a.Kc=function(_,S,w){if(_.length&&S.length){var I,L,B,U,V;for(I=L=0;(!w||I<w)&&(U=_[L]);++L){for(B=0;V=S[B];++B)if(U.value===V.value){U.moved=V.index,V.moved=U.index,S.splice(B,1),I=B=0;break}I+=B}}},m.a.Pb=function(){function _(S,w,I,L,B){var U=Math.min,V=Math.max,G=[],k,Y=S.length,W,Q=w.length,j=Q-Y||1,Z=Y+Q+1,J,he,xe;for(k=0;k<=Y;k++)for(he=J,G.push(J=[]),xe=U(Q,k+j),W=V(0,k-1);W<=xe;W++)J[W]=W?k?S[k-1]===w[W-1]?he[W-1]:U(he[W]||Z,J[W-1]||Z)+1:W+1:k+1;for(U=[],V=[],j=[],k=Y,W=Q;k||W;)Q=G[k][W]-1,W&&Q===G[k][W-1]?V.push(U[U.length]={status:I,value:w[--W],index:W}):k&&Q===G[k-1][W]?j.push(U[U.length]={status:L,value:S[--k],index:k}):(--W,--k,B.sparse||U.push({status:"retained",value:w[W]}));return m.a.Kc(j,V,!B.dontLimitMoves&&10*Y),U.reverse()}return function(S,w,I){return I=typeof I=="boolean"?{dontLimitMoves:I}:I||{},S=S||[],w=w||[],S.length<w.length?_(S,w,"added","deleted",I):_(w,S,"deleted","added",I)}}(),m.b("utils.compareArrays",m.a.Pb),function(){function _(I,L,B,U,V){var G=[],k=m.$(function(){var Y=L(B,V,m.a.Ua(G,I))||[];0<G.length&&(m.a.Xc(G,Y),U&&m.u.G(U,null,[B,Y,V])),G.length=0,m.a.Nb(G,Y)},null,{l:I,Sa:function(){return!m.a.kd(G)}});return{Y:G,$:k.ja()?k:e}}var S=m.a.g.Z(),w=m.a.g.Z();m.a.ec=function(I,L,B,U,V,G){function k(yt){ve={Aa:yt,pb:m.ta(he++)},Z.push(ve),j||De.push(ve)}function Y(yt){ve=Q[yt],he!==ve.pb.v()&&ye.push(ve),ve.pb(he++),m.a.Ua(ve.Y,I),Z.push(ve)}function W(yt,Kt){if(yt)for(var Te=0,Ae=Kt.length;Te<Ae;Te++)m.a.D(Kt[Te].Y,function(on){yt(on,Te,Kt[Te].Aa)})}L=L||[],typeof L.length>"u"&&(L=[L]),U=U||{};var Q=m.a.g.get(I,S),j=!Q,Z=[],J=0,he=0,xe=[],re=[],_e=[],ye=[],De=[],ve,Me=0;if(j)m.a.D(L,k);else{if(!G||Q&&Q._countWaitingForRemove){var Oe=m.a.Mb(Q,function(yt){return yt.Aa});G=m.a.Pb(Oe,L,{dontLimitMoves:U.dontLimitMoves,sparse:!0})}for(var Oe=0,ct,Ke,_t;ct=G[Oe];Oe++)switch(Ke=ct.moved,_t=ct.index,ct.status){case"deleted":for(;J<_t;)Y(J++);Ke===e&&(ve=Q[J],ve.$&&(ve.$.s(),ve.$=e),m.a.Ua(ve.Y,I).length&&(U.beforeRemove&&(Z.push(ve),Me++,ve.Aa===w?ve=null:_e.push(ve)),ve&&xe.push.apply(xe,ve.Y))),J++;break;case"added":for(;he<_t;)Y(J++);Ke!==e?(re.push(Z.length),Y(Ke)):k(ct.value)}for(;he<L.length;)Y(J++);Z._countWaitingForRemove=Me}m.a.g.set(I,S,Z),W(U.beforeMove,ye),m.a.D(xe,U.beforeRemove?m.oa:m.removeNode);var Ze,Dt,gt;try{gt=I.ownerDocument.activeElement}catch{}if(re.length)for(;(Oe=re.shift())!=e;){for(ve=Z[Oe],Ze=e;Oe;)if((Dt=Z[--Oe].Y)&&Dt.length){Ze=Dt[Dt.length-1];break}for(L=0;J=ve.Y[L];Ze=J,L++)m.h.Wb(I,J,Ze)}for(Oe=0;ve=Z[Oe];Oe++){for(ve.Y||m.a.extend(ve,_(I,B,ve.Aa,V,ve.pb)),L=0;J=ve.Y[L];Ze=J,L++)m.h.Wb(I,J,Ze);!ve.Ed&&V&&(V(ve.Aa,ve.Y,ve.pb),ve.Ed=!0,Ze=ve.Y[ve.Y.length-1])}for(gt&&I.ownerDocument.activeElement!=gt&>.focus(),W(U.beforeRemove,_e),Oe=0;Oe<_e.length;++Oe)_e[Oe].Aa=w;W(U.afterMove,ye),W(U.afterAdd,De)}}(),m.b("utils.setDomNodeChildrenFromArrayMapping",m.a.ec),m.ba=function(){this.allowTemplateRewriting=!1},m.ba.prototype=new m.ca,m.ba.prototype.constructor=m.ba,m.ba.prototype.renderTemplateSource=function(_,S,w,I){return(S=!(9>m.a.W)&&_.nodes?_.nodes():null)?m.a.la(S.cloneNode(!0).childNodes):(_=_.text(),m.a.ua(_,I))},m.ba.Ma=new m.ba,m.gc(m.ba.Ma),m.b("nativeTemplateEngine",m.ba),function(){m.$a=function(){var S=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(w,I,L,B){if(B=B||n,L=L||{},2>S)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var U=w.data("precompiled");return U||(U=w.text()||"",U=o.template(null,"{{ko_with $item.koBindingContext}}"+U+"{{/ko_with}}"),w.data("precompiled",U)),w=[I.$data],I=o.extend({koBindingContext:I},L.templateOptions),I=o.tmpl(U,w,I),I.appendTo(B.createElement("div")),o.fragments={},I},this.createJavaScriptEvaluatorBlock=function(w){return"{{ko_code ((function() { return "+w+" })()) }}"},this.addTemplate=function(w,I){n.write("<script type='text/html' id='"+w+"'>"+I+"</script>")},0<S&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},m.$a.prototype=new m.ca,m.$a.prototype.constructor=m.$a;var _=new m.$a;0<_.Hd&&m.gc(_),m.b("jqueryTmplTemplateEngine",m.$a)}()})})()})()})();var FEt=ko;typeof window<"u"?(ko=window.ko,typeof Q3<"u"?window.ko=Q3:delete window.ko):(ko=global.ko,typeof Q3<"u"?global.ko=Q3:delete global.ko);var DC=FEt;/** +Message: `+k.message,k}}}),m.ga.instance=new m.ga}(),m.b("bindingProvider",m.ga),function(){function _(re){var _e=(re=m.a.g.get(re,xe))&&re.N;_e&&(re.N=null,_e.Tc())}function S(re,_e,ye){this.node=re,this.yc=_e,this.kb=[],this.H=!1,_e.N||m.a.K.za(re,_),ye&&ye.N&&(ye.N.kb.push(re),this.Kb=ye)}function w(re){return function(){return re}}function I(re){return re()}function L(re){return m.a.Ga(m.u.G(re),function(_e,ye){return function(){return re()[ye]}})}function B(re,_e,ye){return typeof re=="function"?L(re.bind(null,_e,ye)):m.a.Ga(re,w)}function U(re,_e){return L(this.getBindings.bind(this,re,_e))}function V(re,_e){var ye=m.h.firstChild(_e);if(ye){var De,we=m.ga.instance,Me=we.preprocessNode;if(Me){for(;De=ye;)ye=m.h.nextSibling(De),Me.call(we,De);ye=m.h.firstChild(_e)}for(;De=ye;)ye=m.h.nextSibling(De),G(re,De)}m.i.ma(_e,m.i.H)}function G(re,_e){var ye=re,De=_e.nodeType===1;De&&m.h.Sc(_e),(De||m.ga.instance.nodeHasBindings(_e))&&(ye=W(_e,null,re).bindingContextForDescendants),ye&&!J[m.a.R(_e)]&&V(ye,_e)}function k(re){var _e=[],ye={},De=[];return m.a.P(re,function we(Me){if(!ye[Me]){var Oe=m.getBindingHandler(Me);Oe&&(Oe.after&&(De.push(Me),m.a.D(Oe.after,function(lt){if(re[lt]){if(m.a.A(De,lt)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+De.join(", "));we(lt)}}),De.length--),_e.push({key:Me,Mc:Oe})),ye[Me]=!0}}),_e}function W(re,_e,ye){var De=m.a.g.Ub(re,xe,{}),we=De.hd;if(!_e){if(we)throw Error("You cannot apply bindings multiple times to the same element.");De.hd=!0}we||(De.context=ye),De.Zb||(De.Zb={});var Me;if(_e&&typeof _e!="function")Me=_e;else{var Oe=m.ga.instance,lt=Oe.getBindingAccessors||U,et=m.$(function(){return(Me=_e?_e(ye,re):lt.call(Oe,re,ye))&&(ye[Q]&&ye[Q](),ye[Z]&&ye[Z]()),Me},null,{l:re});Me&&et.ja()||(et=null)}var vt=ye,Qe;if(Me){var wt=function(){return m.a.Ga(et?et():Me,I)},mt=et?function(pt){return function(){return I(et()[pt])}}:function(pt){return Me[pt]};wt.get=function(pt){return Me[pt]&&I(mt(pt))},wt.has=function(pt){return pt in Me},m.i.H in Me&&m.i.subscribe(re,m.i.H,function(){var pt=(0,Me[m.i.H])();if(pt){var Xt=m.h.childNodes(re);Xt.length&&pt(Xt,m.Ec(Xt[0]))}}),m.i.pa in Me&&(vt=m.i.Cb(re,ye),m.i.subscribe(re,m.i.pa,function(){var pt=(0,Me[m.i.pa])();pt&&m.h.firstChild(re)&&pt(re)})),De=k(Me),m.a.D(De,function(pt){var Xt=pt.Mc.init,Te=pt.Mc.update,Ee=pt.key;if(re.nodeType===8&&!m.h.ea[Ee])throw Error("The binding '"+Ee+"' cannot be used with virtual elements");try{typeof Xt=="function"&&m.u.G(function(){var rn=Xt(re,mt(Ee),wt,vt.$data,vt);if(rn&&rn.controlsDescendantBindings){if(Qe!==e)throw Error("Multiple bindings ("+Qe+" and "+Ee+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");Qe=Ee}}),typeof Te=="function"&&m.$(function(){Te(re,mt(Ee),wt,vt.$data,vt)},null,{l:re})}catch(rn){throw rn.message='Unable to process binding "'+Ee+": "+Me[Ee]+`" +Message: `+rn.message,rn}})}return De=Qe===e,{shouldBindDescendants:De,bindingContextForDescendants:De&&vt}}function Y(re,_e){return re&&re instanceof m.fa?re:new m.fa(re,e,e,_e)}var Q=m.a.Da("_subscribable"),j=m.a.Da("_ancestorBindingInfo"),Z=m.a.Da("_dataDependency");m.c={};var J={script:!0,textarea:!0,template:!0};m.getBindingHandler=function(re){return m.c[re]};var he={};m.fa=function(re,_e,ye,De,we){function Me(){var mt=vt?et():et,pt=m.a.f(mt);return _e?(m.a.extend(Oe,_e),j in _e&&(Oe[j]=_e[j])):(Oe.$parents=[],Oe.$root=pt,Oe.ko=m),Oe[Q]=Qe,lt?pt=Oe.$data:(Oe.$rawData=mt,Oe.$data=pt),ye&&(Oe[ye]=pt),De&&De(Oe,_e,pt),_e&&_e[Q]&&!m.S.o().Vb(_e[Q])&&_e[Q](),wt&&(Oe[Z]=wt),Oe.$data}var Oe=this,lt=re===he,et=lt?e:re,vt=typeof et=="function"&&!m.O(et),Qe,wt=we&&we.dataDependency;we&&we.exportDependencies?Me():(Qe=m.xb(Me),Qe.v(),Qe.ja()?Qe.equalityComparer=null:Oe[Q]=e)},m.fa.prototype.createChildContext=function(re,_e,ye,De){if(!De&&_e&&typeof _e=="object"&&(De=_e,_e=De.as,ye=De.extend),_e&&De&&De.noChildContext){var we=typeof re=="function"&&!m.O(re);return new m.fa(he,this,null,function(Me){ye&&ye(Me),Me[_e]=we?re():re},De)}return new m.fa(re,this,_e,function(Me,Oe){Me.$parentContext=Oe,Me.$parent=Oe.$data,Me.$parents=(Oe.$parents||[]).slice(0),Me.$parents.unshift(Me.$parent),ye&&ye(Me)},De)},m.fa.prototype.extend=function(re,_e){return new m.fa(he,this,null,function(ye){m.a.extend(ye,typeof re=="function"?re(ye):re)},_e)};var xe=m.a.g.Z();S.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},S.prototype.sd=function(re){m.a.Pa(this.kb,re),!this.kb.length&&this.H&&this.Cc()},S.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,m.a.K.yb(this.node,_),m.i.ma(this.node,m.i.pa),this.Tc())},m.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(re,_e,ye,De,we){var Me=m.a.g.Ub(re,xe,{});return Me.Fa||(Me.Fa=new m.T),we&&we.notifyImmediately&&Me.Zb[_e]&&m.u.G(ye,De,[re]),Me.Fa.subscribe(ye,De,_e)},ma:function(re,_e){var ye=m.a.g.get(re,xe);if(ye&&(ye.Zb[_e]=!0,ye.Fa&&ye.Fa.notifySubscribers(re,_e),_e==m.i.H)){if(ye.N)ye.N.Cc();else if(ye.N===e&&ye.Fa&&ye.Fa.Wa(m.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(re,_e){var ye=m.a.g.Ub(re,xe,{});return ye.N||(ye.N=new S(re,ye,_e[j])),_e[j]==ye?_e:_e.extend(function(De){De[j]=ye})}},m.Td=function(re){return(re=m.a.g.get(re,xe))&&re.context},m.ib=function(re,_e,ye){return re.nodeType===1&&m.h.Sc(re),W(re,_e,Y(ye))},m.ld=function(re,_e,ye){return ye=Y(ye),m.ib(re,B(_e,ye,re),ye)},m.Oa=function(re,_e){_e.nodeType!==1&&_e.nodeType!==8||V(Y(re),_e)},m.vc=function(re,_e,ye){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(_e=n.body,!_e)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!_e||_e.nodeType!==1&&_e.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");G(Y(re,ye),_e)},m.Dc=function(re){return!re||re.nodeType!==1&&re.nodeType!==8?e:m.Td(re)},m.Ec=function(re){return(re=m.Dc(re))?re.$data:e},m.b("bindingHandlers",m.c),m.b("bindingEvent",m.i),m.b("bindingEvent.subscribe",m.i.subscribe),m.b("bindingEvent.startPossiblyAsyncContentBinding",m.i.Cb),m.b("applyBindings",m.vc),m.b("applyBindingsToDescendants",m.Oa),m.b("applyBindingAccessorsToNode",m.ib),m.b("applyBindingsToNode",m.ld),m.b("contextFor",m.Dc),m.b("dataFor",m.Ec)}(),function(_){function S(U,V){var G=Object.prototype.hasOwnProperty.call(L,U)?L[U]:_,k;G?G.subscribe(V):(G=L[U]=new m.T,G.subscribe(V),w(U,function(W,Y){var Q=!(!Y||!Y.synchronous);B[U]={definition:W,Gd:Q},delete L[U],k||Q?G.notifySubscribers(W):m.na.zb(function(){G.notifySubscribers(W)})}),k=!0)}function w(U,V){I("getConfig",[U],function(G){G?I("loadComponent",[U,G],function(k){V(k,G)}):V(null,null)})}function I(U,V,G,k){k||(k=m.j.loaders.slice(0));var W=k.shift();if(W){var Y=W[U];if(Y){var Q=!1;if(Y.apply(W,V.concat(function(j){Q?G(null):j!==null?G(j):I(U,V,G,k)}))!==_&&(Q=!0,!W.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else I(U,V,G,k)}else G(null)}var L={},B={};m.j={get:function(U,V){var G=Object.prototype.hasOwnProperty.call(B,U)?B[U]:_;G?G.Gd?m.u.G(function(){V(G.definition)}):m.na.zb(function(){V(G.definition)}):S(U,V)},Bc:function(U){delete B[U]},oc:I},m.j.loaders=[],m.b("components",m.j),m.b("components.get",m.j.get),m.b("components.clearCachedDefinition",m.j.Bc)}(),function(){function _(G,k,W,Y){function Q(){--Z===0&&Y(j)}var j={},Z=2,J=W.template;W=W.viewModel,J?L(k,J,function(he){m.j.oc("loadTemplate",[G,he],function(xe){j.template=xe,Q()})}):Q(),W?L(k,W,function(he){m.j.oc("loadViewModel",[G,he],function(xe){j[V]=xe,Q()})}):Q()}function S(G,k,W){if(typeof k=="function")W(function(Q){return new k(Q)});else if(typeof k[V]=="function")W(k[V]);else if("instance"in k){var Y=k.instance;W(function(){return Y})}else"viewModel"in k?S(G,k.viewModel,W):G("Unknown viewModel value: "+k)}function w(G){switch(m.a.R(G)){case"script":return m.a.ua(G.text);case"textarea":return m.a.ua(G.value);case"template":if(I(G.content))return m.a.Ca(G.content.childNodes)}return m.a.Ca(G.childNodes)}function I(G){return t.DocumentFragment?G instanceof DocumentFragment:G&&G.nodeType===11}function L(G,k,W){typeof k.require=="string"?a||t.require?(a||t.require)([k.require],function(Y){Y&&typeof Y=="object"&&Y.Xd&&Y.default&&(Y=Y.default),W(Y)}):G("Uses require, but no AMD loader is present"):W(k)}function B(G){return function(k){throw Error("Component '"+G+"': "+k)}}var U={};m.j.register=function(G,k){if(!k)throw Error("Invalid configuration for "+G);if(m.j.tb(G))throw Error("Component "+G+" is already registered");U[G]=k},m.j.tb=function(G){return Object.prototype.hasOwnProperty.call(U,G)},m.j.unregister=function(G){delete U[G],m.j.Bc(G)},m.j.Fc={getConfig:function(G,k){k(m.j.tb(G)?U[G]:null)},loadComponent:function(G,k,W){var Y=B(G);L(Y,k,function(Q){_(G,Y,Q,W)})},loadTemplate:function(G,k,W){if(G=B(G),typeof k=="string")W(m.a.ua(k));else if(k instanceof Array)W(k);else if(I(k))W(m.a.la(k.childNodes));else if(k.element)if(k=k.element,t.HTMLElement?k instanceof HTMLElement:k&&k.tagName&&k.nodeType===1)W(w(k));else if(typeof k=="string"){var Y=n.getElementById(k);Y?W(w(Y)):G("Cannot find element with ID "+k)}else G("Unknown element type: "+k);else G("Unknown template value: "+k)},loadViewModel:function(G,k,W){S(B(G),k,W)}};var V="createViewModel";m.b("components.register",m.j.register),m.b("components.isRegistered",m.j.tb),m.b("components.unregister",m.j.unregister),m.b("components.defaultLoader",m.j.Fc),m.j.loaders.push(m.j.Fc),m.j.dd=U}(),function(){function _(w,I){var L=w.getAttribute("params");if(L){var L=S.parseBindingsString(L,I,w,{valueAccessors:!0,bindingParams:!0}),L=m.a.Ga(L,function(V){return m.o(V,null,{l:w})}),B=m.a.Ga(L,function(V){var G=V.v();return V.ja()?m.o({read:function(){return m.a.f(V())},write:m.Za(G)&&function(k){V()(k)},l:w}):G});return Object.prototype.hasOwnProperty.call(B,"$raw")||(B.$raw=L),B}return{$raw:{}}}m.j.getComponentNameForNode=function(w){var I=m.a.R(w);if(m.j.tb(I)&&(I.indexOf("-")!=-1||""+w=="[object HTMLUnknownElement]"||8>=m.a.W&&w.tagName===I))return I},m.j.tc=function(w,I,L,B){if(I.nodeType===1){var U=m.j.getComponentNameForNode(I);if(U){if(w=w||{},w.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var V={name:U,params:_(I,L)};w.component=B?function(){return V}:V}}return w};var S=new m.ga;9>m.a.W&&(m.j.register=function(w){return function(I){return w.apply(this,arguments)}}(m.j.register),n.createDocumentFragment=function(w){return function(){var I=w(),L=m.j.dd,B;for(B in L);return I}}(n.createDocumentFragment))}(),function(){function _(I,L,B){if(L=L.template,!L)throw Error("Component '"+I+"' has no template");I=m.a.Ca(L),m.h.va(B,I)}function S(I,L,B){var U=I.createViewModel;return U?U.call(I,L,B):L}var w=0;m.c.component={init:function(I,L,B,U,V){function G(){var j=k&&k.dispose;typeof j=="function"&&j.call(k),Y&&Y.s(),W=k=Y=null}var k,W,Y,Q=m.a.la(m.h.childNodes(I));return m.h.Ea(I),m.a.K.za(I,G),m.o(function(){var j=m.a.f(L()),Z,J;if(typeof j=="string"?Z=j:(Z=m.a.f(j.name),J=m.a.f(j.params)),!Z)throw Error("No component name specified");var he=m.i.Cb(I,V),xe=W=++w;m.j.get(Z,function(re){if(W===xe){if(G(),!re)throw Error("Unknown component '"+Z+"'");_(Z,re,I);var _e=S(re,J,{element:I,templateNodes:Q});re=he.createChildContext(_e,{extend:function(ye){ye.$component=_e,ye.$componentTemplateNodes=Q}}),_e&&_e.koDescendantsComplete&&(Y=m.i.subscribe(I,m.i.pa,_e.koDescendantsComplete,_e)),k=_e,m.Oa(re,I)}})},null,{l:I}),{controlsDescendantBindings:!0}}},m.h.ea.component=!0}();var M={class:"className",for:"htmlFor"};m.c.attr={update:function(_,S){var w=m.a.f(S())||{};m.a.P(w,function(I,L){L=m.a.f(L);var B=I.indexOf(":"),B="lookupNamespaceURI"in _&&0<B&&_.lookupNamespaceURI(I.substr(0,B)),U=L===!1||L===null||L===e;U?B?_.removeAttributeNS(B,I):_.removeAttribute(I):L=L.toString(),8>=m.a.W&&I in M?(I=M[I],U?_.removeAttribute(I):_[I]=L):U||(B?_.setAttributeNS(B,I,L):_.setAttribute(I,L)),I==="name"&&m.a.Yc(_,U?"":L)})}},function(){m.c.checked={after:["value","attr"],init:function(_,S,w){function I(){var j=_.checked,Z=B();if(!m.S.Ya()&&(j||!V&&!m.S.qa())){var J=m.u.G(S);if(k){var he=W?J.v():J,xe=Q;Q=Z,xe!==Z?j&&(m.a.Na(he,Z,!0),m.a.Na(he,xe,!1)):m.a.Na(he,Z,j),W&&m.Za(J)&&J(he)}else U&&(Z===e?Z=j:j||(Z=e)),m.m.eb(J,w,"checked",Z,!0)}}function L(){var j=m.a.f(S()),Z=B();k?(_.checked=0<=m.a.A(j,Z),Q=Z):_.checked=U&&Z===e?!!j:B()===j}var B=m.xb(function(){if(w.has("checkedValue"))return m.a.f(w.get("checkedValue"));if(Y)return w.has("value")?m.a.f(w.get("value")):_.value}),U=_.type=="checkbox",V=_.type=="radio";if(U||V){var G=S(),k=U&&m.a.f(G)instanceof Array,W=!(k&&G.push&&G.splice),Y=V||k,Q=k?B():e;V&&!_.name&&m.c.uniqueName.init(_,function(){return!0}),m.o(I,null,{l:_}),m.a.B(_,"click",I),m.o(L,null,{l:_}),G=e}}},m.m.wa.checked=!0,m.c.checkedValue={update:function(_,S){_.value=m.a.f(S())}}}(),m.c.class={update:function(_,S){var w=m.a.Db(m.a.f(S()));m.a.Eb(_,_.__ko__cssValue,!1),_.__ko__cssValue=w,m.a.Eb(_,w,!0)}},m.c.css={update:function(_,S){var w=m.a.f(S());w!==null&&typeof w=="object"?m.a.P(w,function(I,L){L=m.a.f(L),m.a.Eb(_,I,L)}):m.c.class.update(_,S)}},m.c.enable={update:function(_,S){var w=m.a.f(S());w&&_.disabled?_.removeAttribute("disabled"):w||_.disabled||(_.disabled=!0)}},m.c.disable={update:function(_,S){m.c.enable.update(_,function(){return!m.a.f(S())})}},m.c.event={init:function(_,S,w,I,L){var B=S()||{};m.a.P(B,function(U){typeof U=="string"&&m.a.B(_,U,function(V){var G,k=S()[U];if(k){try{var W=m.a.la(arguments);I=L.$data,W.unshift(I),G=k.apply(I,W)}finally{G!==!0&&(V.preventDefault?V.preventDefault():V.returnValue=!1)}w.get(U+"Bubble")===!1&&(V.cancelBubble=!0,V.stopPropagation&&V.stopPropagation())}})})}},m.c.foreach={Rc:function(_){return function(){var S=_(),w=m.a.bc(S);return!w||typeof w.length=="number"?{foreach:S,templateEngine:m.ba.Ma}:(m.a.f(S),{foreach:w.data,as:w.as,noChildContext:w.noChildContext,includeDestroyed:w.includeDestroyed,afterAdd:w.afterAdd,beforeRemove:w.beforeRemove,afterRender:w.afterRender,beforeMove:w.beforeMove,afterMove:w.afterMove,templateEngine:m.ba.Ma})}},init:function(_,S){return m.c.template.init(_,m.c.foreach.Rc(S))},update:function(_,S,w,I,L){return m.c.template.update(_,m.c.foreach.Rc(S),w,I,L)}},m.m.Ra.foreach=!1,m.h.ea.foreach=!0,m.c.hasfocus={init:function(_,S,w){function I(U){_.__ko_hasfocusUpdating=!0;var V=_.ownerDocument;if("activeElement"in V){var G;try{G=V.activeElement}catch{G=V.body}U=G===_}V=S(),m.m.eb(V,w,"hasfocus",U,!0),_.__ko_hasfocusLastValue=U,_.__ko_hasfocusUpdating=!1}var L=I.bind(null,!0),B=I.bind(null,!1);m.a.B(_,"focus",L),m.a.B(_,"focusin",L),m.a.B(_,"blur",B),m.a.B(_,"focusout",B),_.__ko_hasfocusLastValue=!1},update:function(_,S){var w=!!m.a.f(S());_.__ko_hasfocusUpdating||_.__ko_hasfocusLastValue===w||(w?_.focus():_.blur(),!w&&_.__ko_hasfocusLastValue&&_.ownerDocument.body.focus(),m.u.G(m.a.Fb,null,[_,w?"focusin":"focusout"]))}},m.m.wa.hasfocus=!0,m.c.hasFocus=m.c.hasfocus,m.m.wa.hasFocus="hasfocus",m.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(_,S){m.a.fc(_,S())}},function(){function _(S,w,I){m.c[S]={init:function(L,B,U,V,G){var k,W,Y={},Q,j,Z;if(w){V=U.get("as");var J=U.get("noChildContext");Z=!(V&&J),Y={as:V,noChildContext:J,exportDependencies:Z}}return j=(Q=U.get("completeOn")=="render")||U.has(m.i.pa),m.o(function(){var he=m.a.f(B()),xe=!I!=!he,re=!W,_e;(Z||xe!==k)&&(j&&(G=m.i.Cb(L,G)),xe&&((!w||Z)&&(Y.dataDependency=m.S.o()),_e=w?G.createChildContext(typeof he=="function"?he:B,Y):m.S.qa()?G.extend(null,Y):G),re&&m.S.qa()&&(W=m.a.Ca(m.h.childNodes(L),!0)),xe?(re||m.h.va(L,m.a.Ca(W)),m.Oa(_e,L)):(m.h.Ea(L),Q||m.i.ma(L,m.i.H)),k=xe)},null,{l:L}),{controlsDescendantBindings:!0}}},m.m.Ra[S]=!1,m.h.ea[S]=!0}_("if"),_("ifnot",!1,!0),_("with",!0)}(),m.c.let={init:function(_,S,w,I,L){return S=L.extend(S),m.Oa(S,_),{controlsDescendantBindings:!0}}},m.h.ea.let=!0;var N={};m.c.options={init:function(_){if(m.a.R(_)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<_.length;)_.remove(0);return{controlsDescendantBindings:!0}},update:function(_,S,w){function I(){return m.a.jb(_.options,function(J){return J.selected})}function L(J,he,xe){var re=typeof he;return re=="function"?he(J):re=="string"?J[he]:xe}function B(J,he){if(j&&k)m.i.ma(_,m.i.H);else if(Q.length){var xe=0<=m.a.A(Q,m.w.M(he[0]));m.a.Zc(he[0],xe),j&&!xe&&m.u.G(m.a.Fb,null,[_,"change"])}}var U=_.multiple,V=_.length!=0&&U?_.scrollTop:null,G=m.a.f(S()),k=w.get("valueAllowUnset")&&w.has("value"),W=w.get("optionsIncludeDestroyed");S={};var Y,Q=[];k||(U?Q=m.a.Mb(I(),m.w.M):0<=_.selectedIndex&&Q.push(m.w.M(_.options[_.selectedIndex]))),G&&(typeof G.length>"u"&&(G=[G]),Y=m.a.jb(G,function(J){return W||J===e||J===null||!m.a.f(J._destroy)}),w.has("optionsCaption")&&(G=m.a.f(w.get("optionsCaption")),G!==null&&G!==e&&Y.unshift(N)));var j=!1;if(S.beforeRemove=function(J){_.removeChild(J)},G=B,w.has("optionsAfterRender")&&typeof w.get("optionsAfterRender")=="function"&&(G=function(J,he){B(0,he),m.u.G(w.get("optionsAfterRender"),null,[he[0],J!==N?J:e])}),m.a.ec(_,Y,function(J,he,xe){return xe.length&&(Q=!k&&xe[0].selected?[m.w.M(xe[0])]:[],j=!0),he=_.ownerDocument.createElement("option"),J===N?(m.a.Bb(he,w.get("optionsCaption")),m.w.cb(he,e)):(xe=L(J,w.get("optionsValue"),J),m.w.cb(he,m.a.f(xe)),J=L(J,w.get("optionsText"),xe),m.a.Bb(he,J)),[he]},S,G),!k){var Z;U?Z=Q.length&&I().length<Q.length:Z=Q.length&&0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex])!==Q[0]:Q.length||0<=_.selectedIndex,Z&&m.u.G(m.a.Fb,null,[_,"change"])}(k||m.S.Ya())&&m.i.ma(_,m.i.H),m.a.wd(_),V&&20<Math.abs(V-_.scrollTop)&&(_.scrollTop=V)}},m.c.options.$b=m.a.g.Z(),m.c.selectedOptions={init:function(_,S,w){function I(){var U=S(),V=[];m.a.D(_.getElementsByTagName("option"),function(G){G.selected&&V.push(m.w.M(G))}),m.m.eb(U,w,"selectedOptions",V)}function L(){var U=m.a.f(S()),V=_.scrollTop;U&&typeof U.length=="number"&&m.a.D(_.getElementsByTagName("option"),function(G){var k=0<=m.a.A(U,m.w.M(G));G.selected!=k&&m.a.Zc(G,k)}),_.scrollTop=V}if(m.a.R(_)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var B;m.i.subscribe(_,m.i.H,function(){B?I():(m.a.B(_,"change",I),B=m.o(L,null,{l:_}))},null,{notifyImmediately:!0})},update:function(){}},m.m.wa.selectedOptions=!0,m.c.style={update:function(_,S){var w=m.a.f(S()||{});m.a.P(w,function(I,L){if(L=m.a.f(L),(L===null||L===e||L===!1)&&(L=""),o)o(_).css(I,L);else if(/^--/.test(I))_.style.setProperty(I,L);else{I=I.replace(/-(\w)/g,function(U,V){return V.toUpperCase()});var B=_.style[I];_.style[I]=L,L===B||_.style[I]!=B||isNaN(L)||(_.style[I]=L+"px")}})}},m.c.submit={init:function(_,S,w,I,L){if(typeof S()!="function")throw Error("The value for a submit binding must be a function");m.a.B(_,"submit",function(B){var U,V=S();try{U=V.call(L.$data,_)}finally{U!==!0&&(B.preventDefault?B.preventDefault():B.returnValue=!1)}})}},m.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(_,S){m.a.Bb(_,S())}},m.h.ea.text=!0,function(){if(t&&t.navigator){var _=function(Y){if(Y)return parseFloat(Y[1])},S=t.navigator.userAgent,w,I,L,B,U;(w=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(U=_(S.match(/Edge\/([^ ]+)$/)))||_(S.match(/Chrome\/([^ ]+)/))||(I=_(S.match(/Version\/([^ ]+) Safari/)))||(L=_(S.match(/Firefox\/([^ ]+)/)))||(B=m.a.W||_(S.match(/MSIE ([^ ]+)/)))||(B=_(S.match(/rv:([^ )]+)/)))}if(8<=B&&10>B)var V=m.a.g.Z(),G=m.a.g.Z(),k=function(Y){var Q=this.activeElement;(Q=Q&&m.a.g.get(Q,G))&&Q(Y)},W=function(Y,Q){var j=Y.ownerDocument;m.a.g.get(j,V)||(m.a.g.set(j,V,!0),m.a.B(j,"selectionchange",k)),m.a.g.set(Y,G,Q)};m.c.textInput={init:function(Y,Q,j){function Z(Me,Oe){m.a.B(Y,Me,Oe)}function J(){var Me=m.a.f(Q());(Me===null||Me===e)&&(Me=""),ye!==e&&Me===ye?m.a.setTimeout(J,4):Y.value!==Me&&(we=!0,Y.value=Me,we=!1,re=Y.value)}function he(){_e||(ye=Y.value,_e=m.a.setTimeout(xe,4))}function xe(){clearTimeout(_e),ye=_e=e;var Me=Y.value;re!==Me&&(re=Me,m.m.eb(Q(),j,"textInput",Me))}var re=Y.value,_e,ye,De=m.a.W==9?he:xe,we=!1;B&&Z("keypress",xe),11>B&&Z("propertychange",function(Me){we||Me.propertyName!=="value"||De(Me)}),B==8&&(Z("keyup",xe),Z("keydown",xe)),W&&(W(Y,De),Z("dragend",he)),(!B||9<=B)&&Z("input",De),5>I&&m.a.R(Y)==="textarea"?(Z("keydown",he),Z("paste",he),Z("cut",he)):11>w?Z("keydown",he):4>L?(Z("DOMAutoComplete",xe),Z("dragdrop",xe),Z("drop",xe)):U&&Y.type==="number"&&Z("keydown",he),Z("change",xe),Z("blur",xe),m.o(J,null,{l:Y})}},m.m.wa.textInput=!0,m.c.textinput={preprocess:function(Y,Q,j){j("textInput",Y)}}}(),m.c.uniqueName={init:function(_,S){if(S()){var w="ko_unique_"+ ++m.c.uniqueName.rd;m.a.Yc(_,w)}}},m.c.uniqueName.rd=0,m.c.using={init:function(_,S,w,I,L){var B;return w.has("as")&&(B={as:w.get("as"),noChildContext:w.get("noChildContext")}),S=L.createChildContext(S,B),m.Oa(S,_),{controlsDescendantBindings:!0}}},m.h.ea.using=!0,m.c.value={init:function(_,S,w){var I=m.a.R(_),L=I=="input";if(!L||_.type!="checkbox"&&_.type!="radio"){var B=[],U=w.get("valueUpdate"),V=!1,G=null;U&&(typeof U=="string"?B=[U]:B=m.a.wc(U),m.a.Pa(B,"change"));var k=function(){G=null,V=!1;var Q=S(),j=m.w.M(_);m.m.eb(Q,w,"value",j)};!m.a.W||!L||_.type!="text"||_.autocomplete=="off"||_.form&&_.form.autocomplete=="off"||m.a.A(B,"propertychange")!=-1||(m.a.B(_,"propertychange",function(){V=!0}),m.a.B(_,"focus",function(){V=!1}),m.a.B(_,"blur",function(){V&&k()})),m.a.D(B,function(Q){var j=k;m.a.Ud(Q,"after")&&(j=function(){G=m.w.M(_),m.a.setTimeout(k,0)},Q=Q.substring(5)),m.a.B(_,Q,j)});var W;if(W=L&&_.type=="file"?function(){var Q=m.a.f(S());Q===null||Q===e||Q===""?_.value="":m.u.G(k)}:function(){var Q=m.a.f(S()),j=m.w.M(_);G!==null&&Q===G?m.a.setTimeout(W,0):(Q!==j||j===e)&&(I==="select"?(j=w.get("valueAllowUnset"),m.w.cb(_,Q,j),j||Q===m.w.M(_)||m.u.G(k)):m.w.cb(_,Q))},I==="select"){var Y;m.i.subscribe(_,m.i.H,function(){Y?w.get("valueAllowUnset")?W():k():(m.a.B(_,"change",k),Y=m.o(W,null,{l:_}))},null,{notifyImmediately:!0})}else m.a.B(_,"change",k),m.o(W,null,{l:_})}else m.ib(_,{checkedValue:S})},update:function(){}},m.m.wa.value=!0,m.c.visible={update:function(_,S){var w=m.a.f(S()),I=_.style.display!="none";w&&!I?_.style.display="":!w&&I&&(_.style.display="none")}},m.c.hidden={update:function(_,S){m.c.visible.update(_,function(){return!m.a.f(S())})}},function(_){m.c[_]={init:function(S,w,I,L,B){return m.c.event.init.call(this,S,function(){var U={};return U[_]=w(),U},I,L,B)}}}("click"),m.ca=function(){},m.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},m.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},m.ca.prototype.makeTemplateSource=function(_,S){if(typeof _=="string"){S=S||n;var w=S.getElementById(_);if(!w)throw Error("Cannot find template with ID "+_);return new m.C.F(w)}if(_.nodeType==1||_.nodeType==8)return new m.C.ia(_);throw Error("Unknown template type: "+_)},m.ca.prototype.renderTemplate=function(_,S,w,I){return _=this.makeTemplateSource(_,I),this.renderTemplateSource(_,S,w,I)},m.ca.prototype.isTemplateRewritten=function(_,S){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(_,S).data("isRewritten")},m.ca.prototype.rewriteTemplate=function(_,S,w){_=this.makeTemplateSource(_,w),S=S(_.text()),_.text(S),_.data("isRewritten",!0)},m.b("templateEngine",m.ca),m.kc=function(){function _(I,L,B,U){I=m.m.ac(I);for(var V=m.m.Ra,G=0;G<I.length;G++){var k=I[G].key;if(Object.prototype.hasOwnProperty.call(V,k)){var W=V[k];if(typeof W=="function"){if(k=W(I[G].value))throw Error(k)}else if(!W)throw Error("This template engine does not support the '"+k+"' binding within its templates")}}return B="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+m.m.vb(I,{valueAccessors:!0})+" } })()},'"+B.toLowerCase()+"')",U.createJavaScriptEvaluatorBlock(B)+L}var S=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,w=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(I,L,B){L.isTemplateRewritten(I,B)||L.rewriteTemplate(I,function(U){return m.kc.Ld(U,L)},B)},Ld:function(I,L){return I.replace(S,function(B,U,V,G,k){return _(k,U,V,L)}).replace(w,function(B,U){return _(U,"<!-- ko -->","#comment",L)})},md:function(I,L){return m.aa.Xb(function(B,U){var V=B.nextSibling;V&&V.nodeName.toLowerCase()===L&&m.ib(V,I,U)})}}}(),m.b("__tr_ambtns",m.kc.md),function(){m.C={},m.C.F=function(w){if(this.F=w){var I=m.a.R(w);this.ab=I==="script"?1:I==="textarea"?2:I=="template"&&w.content&&w.content.nodeType===11?3:4}},m.C.F.prototype.text=function(){var w=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[w];var I=arguments[0];w==="innerHTML"?m.a.fc(this.F,I):this.F[w]=I};var _=m.a.g.Z()+"_";m.C.F.prototype.data=function(w){if(arguments.length===1)return m.a.g.get(this.F,_+w);m.a.g.set(this.F,_+w,arguments[1])};var S=m.a.g.Z();m.C.F.prototype.nodes=function(){var w=this.F;if(arguments.length==0){var I=m.a.g.get(w,S)||{},L=I.lb||(this.ab===3?w.content:this.ab===4?w:e);if(!L||I.jd){var B=this.text();B&&B!==I.bb&&(L=m.a.Md(B,w.ownerDocument),m.a.g.set(w,S,{lb:L,bb:B,jd:!0}))}return L}I=arguments[0],this.ab!==e&&this.text(""),m.a.g.set(w,S,{lb:I})},m.C.ia=function(w){this.F=w},m.C.ia.prototype=new m.C.F,m.C.ia.prototype.constructor=m.C.ia,m.C.ia.prototype.text=function(){if(arguments.length==0){var w=m.a.g.get(this.F,S)||{};return w.bb===e&&w.lb&&(w.bb=w.lb.innerHTML),w.bb}m.a.g.set(this.F,S,{bb:arguments[0]})},m.b("templateSources",m.C),m.b("templateSources.domElement",m.C.F),m.b("templateSources.anonymousTemplate",m.C.ia)}(),function(){function _(G,k,W){var Y;for(k=m.h.nextSibling(k);G&&(Y=G)!==k;)G=m.h.nextSibling(Y),W(Y,G)}function S(G,k){if(G.length){var W=G[0],Y=G[G.length-1],Q=W.parentNode,j=m.ga.instance,Z=j.preprocessNode;if(Z){if(_(W,Y,function(J,he){var xe=J.previousSibling,re=Z.call(j,J);re&&(J===W&&(W=re[0]||he),J===Y&&(Y=re[re.length-1]||xe))}),G.length=0,!W)return;W===Y?G.push(W):(G.push(W,Y),m.a.Ua(G,Q))}_(W,Y,function(J){J.nodeType!==1&&J.nodeType!==8||m.vc(k,J)}),_(W,Y,function(J){J.nodeType!==1&&J.nodeType!==8||m.aa.cd(J,[k])}),m.a.Ua(G,Q)}}function w(G){return G.nodeType?G:0<G.length?G[0]:null}function I(G,k,W,Y,Q){Q=Q||{};var j=(G&&w(G)||W||{}).ownerDocument,Z=Q.templateEngine||B;if(m.kc.xd(W,Z,j),W=Z.renderTemplate(W,Y,Q,j),typeof W.length!="number"||0<W.length&&typeof W[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(j=!1,k){case"replaceChildren":m.h.va(G,W),j=!0;break;case"replaceNode":m.a.Xc(G,W),j=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k)}return j&&(S(W,Y),Q.afterRender&&m.u.G(Q.afterRender,null,[W,Y[Q.as||"$data"]]),k=="replaceChildren"&&m.i.ma(G,m.i.H)),W}function L(G,k,W){return m.O(G)?G():typeof G=="function"?G(k,W):G}var B;m.gc=function(G){if(G!=e&&!(G instanceof m.ca))throw Error("templateEngine must inherit from ko.templateEngine");B=G},m.dc=function(G,k,W,Y,Q){if(W=W||{},(W.templateEngine||B)==e)throw Error("Set a template engine before calling renderTemplate");if(Q=Q||"replaceChildren",Y){var j=w(Y);return m.$(function(){var J=k&&k instanceof m.fa?k:new m.fa(k,null,null,null,{exportDependencies:!0}),Z=L(G,J.$data,J),J=I(Y,Q,Z,J,W);Q=="replaceNode"&&(Y=J,j=w(Y))},null,{Sa:function(){return!j||!m.a.Sb(j)},l:j&&Q=="replaceNode"?j.parentNode:j})}return m.aa.Xb(function(Z){m.dc(G,k,W,Z,"replaceNode")})},m.Qd=function(G,k,W,Y,Q){function j(ye,De){m.u.G(m.a.ec,null,[Y,ye,J,W,Z,De]),m.i.ma(Y,m.i.H)}function Z(ye,De){S(De,he),W.afterRender&&W.afterRender(De,ye),he=null}function J(ye,De){he=Q.createChildContext(ye,{as:xe,noChildContext:W.noChildContext,extend:function(Me){Me.$index=De,xe&&(Me[xe+"Index"]=De)}});var we=L(G,ye,he);return I(Y,"ignoreTargetNode",we,he,W)}var he,xe=W.as,re=W.includeDestroyed===!1||m.options.foreachHidesDestroyed&&!W.includeDestroyed;if(re||W.beforeRemove||!m.Pc(k))return m.$(function(){var ye=m.a.f(k)||[];typeof ye.length>"u"&&(ye=[ye]),re&&(ye=m.a.jb(ye,function(De){return De===e||De===null||!m.a.f(De._destroy)})),j(ye)},null,{l:Y});j(k.v());var _e=k.subscribe(function(ye){j(k(),ye)},null,"arrayChange");return _e.l(Y),_e};var U=m.a.g.Z(),V=m.a.g.Z();m.c.template={init:function(G,k){var W=m.a.f(k());if(typeof W=="string"||"name"in W)m.h.Ea(G);else if("nodes"in W){if(W=W.nodes||[],m.O(W))throw Error('The "nodes" option must be a plain, non-observable array.');var Y=W[0]&&W[0].parentNode;Y&&m.a.g.get(Y,V)||(Y=m.a.Yb(W),m.a.g.set(Y,V,!0)),new m.C.ia(G).nodes(Y)}else if(W=m.h.childNodes(G),0<W.length)Y=m.a.Yb(W),new m.C.ia(G).nodes(Y);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(G,k,W,Y,Q){var j=k();k=m.a.f(j),W=!0,Y=null,typeof k=="string"?k={}:(j="name"in k?k.name:G,"if"in k&&(W=m.a.f(k.if)),W&&"ifnot"in k&&(W=!m.a.f(k.ifnot)),W&&!j&&(W=!1)),"foreach"in k?Y=m.Qd(j,W&&k.foreach||[],k,G,Q):W?(W=Q,"data"in k&&(W=Q.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),Y=m.dc(j,W,k,G)):m.h.Ea(G),Q=Y,(k=m.a.g.get(G,U))&&typeof k.s=="function"&&k.s(),m.a.g.set(G,U,!Q||Q.ja&&!Q.ja()?e:Q)}},m.m.Ra.template=function(G){return G=m.m.ac(G),G.length==1&&G[0].unknown||m.m.Id(G,"name")?null:"This template engine does not support anonymous templates nested within its templates"},m.h.ea.template=!0}(),m.b("setTemplateEngine",m.gc),m.b("renderTemplate",m.dc),m.a.Kc=function(_,S,w){if(_.length&&S.length){var I,L,B,U,V;for(I=L=0;(!w||I<w)&&(U=_[L]);++L){for(B=0;V=S[B];++B)if(U.value===V.value){U.moved=V.index,V.moved=U.index,S.splice(B,1),I=B=0;break}I+=B}}},m.a.Pb=function(){function _(S,w,I,L,B){var U=Math.min,V=Math.max,G=[],k,W=S.length,Y,Q=w.length,j=Q-W||1,Z=W+Q+1,J,he,xe;for(k=0;k<=W;k++)for(he=J,G.push(J=[]),xe=U(Q,k+j),Y=V(0,k-1);Y<=xe;Y++)J[Y]=Y?k?S[k-1]===w[Y-1]?he[Y-1]:U(he[Y]||Z,J[Y-1]||Z)+1:Y+1:k+1;for(U=[],V=[],j=[],k=W,Y=Q;k||Y;)Q=G[k][Y]-1,Y&&Q===G[k][Y-1]?V.push(U[U.length]={status:I,value:w[--Y],index:Y}):k&&Q===G[k-1][Y]?j.push(U[U.length]={status:L,value:S[--k],index:k}):(--Y,--k,B.sparse||U.push({status:"retained",value:w[Y]}));return m.a.Kc(j,V,!B.dontLimitMoves&&10*W),U.reverse()}return function(S,w,I){return I=typeof I=="boolean"?{dontLimitMoves:I}:I||{},S=S||[],w=w||[],S.length<w.length?_(S,w,"added","deleted",I):_(w,S,"deleted","added",I)}}(),m.b("utils.compareArrays",m.a.Pb),function(){function _(I,L,B,U,V){var G=[],k=m.$(function(){var W=L(B,V,m.a.Ua(G,I))||[];0<G.length&&(m.a.Xc(G,W),U&&m.u.G(U,null,[B,W,V])),G.length=0,m.a.Nb(G,W)},null,{l:I,Sa:function(){return!m.a.kd(G)}});return{Y:G,$:k.ja()?k:e}}var S=m.a.g.Z(),w=m.a.g.Z();m.a.ec=function(I,L,B,U,V,G){function k(pt){we={Aa:pt,pb:m.ta(he++)},Z.push(we),j||De.push(we)}function W(pt){we=Q[pt],he!==we.pb.v()&&ye.push(we),we.pb(he++),m.a.Ua(we.Y,I),Z.push(we)}function Y(pt,Xt){if(pt)for(var Te=0,Ee=Xt.length;Te<Ee;Te++)m.a.D(Xt[Te].Y,function(rn){pt(rn,Te,Xt[Te].Aa)})}L=L||[],typeof L.length>"u"&&(L=[L]),U=U||{};var Q=m.a.g.get(I,S),j=!Q,Z=[],J=0,he=0,xe=[],re=[],_e=[],ye=[],De=[],we,Me=0;if(j)m.a.D(L,k);else{if(!G||Q&&Q._countWaitingForRemove){var Oe=m.a.Mb(Q,function(pt){return pt.Aa});G=m.a.Pb(Oe,L,{dontLimitMoves:U.dontLimitMoves,sparse:!0})}for(var Oe=0,lt,et,vt;lt=G[Oe];Oe++)switch(et=lt.moved,vt=lt.index,lt.status){case"deleted":for(;J<vt;)W(J++);et===e&&(we=Q[J],we.$&&(we.$.s(),we.$=e),m.a.Ua(we.Y,I).length&&(U.beforeRemove&&(Z.push(we),Me++,we.Aa===w?we=null:_e.push(we)),we&&xe.push.apply(xe,we.Y))),J++;break;case"added":for(;he<vt;)W(J++);et!==e?(re.push(Z.length),W(et)):k(lt.value)}for(;he<L.length;)W(J++);Z._countWaitingForRemove=Me}m.a.g.set(I,S,Z),Y(U.beforeMove,ye),m.a.D(xe,U.beforeRemove?m.oa:m.removeNode);var Qe,wt,mt;try{mt=I.ownerDocument.activeElement}catch{}if(re.length)for(;(Oe=re.shift())!=e;){for(we=Z[Oe],Qe=e;Oe;)if((wt=Z[--Oe].Y)&&wt.length){Qe=wt[wt.length-1];break}for(L=0;J=we.Y[L];Qe=J,L++)m.h.Wb(I,J,Qe)}for(Oe=0;we=Z[Oe];Oe++){for(we.Y||m.a.extend(we,_(I,B,we.Aa,V,we.pb)),L=0;J=we.Y[L];Qe=J,L++)m.h.Wb(I,J,Qe);!we.Ed&&V&&(V(we.Aa,we.Y,we.pb),we.Ed=!0,Qe=we.Y[we.Y.length-1])}for(mt&&I.ownerDocument.activeElement!=mt&&mt.focus(),Y(U.beforeRemove,_e),Oe=0;Oe<_e.length;++Oe)_e[Oe].Aa=w;Y(U.afterMove,ye),Y(U.afterAdd,De)}}(),m.b("utils.setDomNodeChildrenFromArrayMapping",m.a.ec),m.ba=function(){this.allowTemplateRewriting=!1},m.ba.prototype=new m.ca,m.ba.prototype.constructor=m.ba,m.ba.prototype.renderTemplateSource=function(_,S,w,I){return(S=!(9>m.a.W)&&_.nodes?_.nodes():null)?m.a.la(S.cloneNode(!0).childNodes):(_=_.text(),m.a.ua(_,I))},m.ba.Ma=new m.ba,m.gc(m.ba.Ma),m.b("nativeTemplateEngine",m.ba),function(){m.$a=function(){var S=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(w,I,L,B){if(B=B||n,L=L||{},2>S)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var U=w.data("precompiled");return U||(U=w.text()||"",U=o.template(null,"{{ko_with $item.koBindingContext}}"+U+"{{/ko_with}}"),w.data("precompiled",U)),w=[I.$data],I=o.extend({koBindingContext:I},L.templateOptions),I=o.tmpl(U,w,I),I.appendTo(B.createElement("div")),o.fragments={},I},this.createJavaScriptEvaluatorBlock=function(w){return"{{ko_code ((function() { return "+w+" })()) }}"},this.addTemplate=function(w,I){n.write("<script type='text/html' id='"+w+"'>"+I+"</script>")},0<S&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},m.$a.prototype=new m.ca,m.$a.prototype.constructor=m.$a;var _=new m.$a;0<_.Hd&&m.gc(_),m.b("jqueryTmplTemplateEngine",m.$a)}()})})()})()})();var SSt=ko;typeof window<"u"?(ko=window.ko,typeof ak<"u"?window.ko=ak:delete window.ko):(ko=global.ko,typeof ak<"u"?global.ko=ak:delete global.ko);var RC=SSt;/** * @license * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 * Copyright (c) Steve Sanderson * MIT license - */var Q$="__knockoutObservables",J$="__knockoutSubscribable";function EAe(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=SAe(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===Q$||o===J$)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&kEt(n,a)}}),e}function SAe(e,t){var n=e[Q$];return!n&&t&&(n={},Object.defineProperty(e,Q$,{value:n})),n}function BEt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),EAe.call(i,e,[t]),e}function kEt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=VEt(e,t,i))})}function VEt(e,t,n){var i=UEt(e,n);return i.subscribe(t)}function UEt(e,t){var n=t[J$];if(!n){n=new e.subscribable,Object.defineProperty(t,J$,{value:n});var i={};zEt(t,n,i),HEt(e,t,n,i)}return n}function zEt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function HEt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function vAe(e,t){if(!e)return null;var n=SAe(e,!1);return n&&n[t]||null}function GEt(e,t){var n=vAe(e,t);n&&n.valueHasMutated()}function WEt(e){e.track=EAe,e.getObservable=vAe,e.valueHasMutated=GEt,e.defineProperty=BEt}var J3={attachToKo:WEt};var wAe="http://www.w3.org/2000/svg",DAe="cesium-svgPath-svg",jEt={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(wAe,"svg:svg");i.setAttribute("class",DAe);let o=document.createElementNS(wAe,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${DAe} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},ek=jEt;J3.attachToKo(DC);ek.register(DC);var be=DC;function tk(e){l(e)||(e=new ah),this._clock=e,this._eventHelper=new zr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=be.observable(K.now()),this.systemTime.equalityComparer=K.equals,this.startTime=be.observable(e.startTime),this.startTime.equalityComparer=K.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=be.observable(e.stopTime),this.stopTime.equalityComparer=K.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=be.observable(e.currentTime),this.currentTime.equalityComparer=K.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=be.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=be.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=be.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=be.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=be.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),be.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(tk.prototype,{clock:{get:function(){return this._clock}}});tk.prototype.synchronize=function(){let e=this._clock;this.systemTime=K.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};tk.prototype.isDestroyed=function(){return!1};tk.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var nk=tk;function qEt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,de.throwInstantiationError()}var eQ=qEt;function YEt(e,t){t=y(t,!0);let n=new me,i=new me;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,be.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var vn=YEt;var ik={};ik.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return l(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};ik.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};ik.createRangeInput=function(e,t,n,i,o,r){r=y(r,t);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=n,a.max=i,a.step=y(o,"any"),a.setAttribute("data-bind",`valueUpdate: "input", value: ${t}`);let c=document.createElement("div");c.appendChild(a);let u=document.createElement("div");return u.className="cesium-cesiumInspector-slider",u.appendChild(document.createTextNode(e)),u.appendChild(s),u.appendChild(c),u};ik.createButton=function(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=e,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${t}`;return l(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i};var Ka=ik;function XEt(e,t,n,i,o){return n.call(i,e[t]),be.getObservable(e,t).subscribe(n,i,o)}var Sa=XEt;function IAe(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),be.track(this,["toggled","tooltip"])}Object.defineProperties(IAe.prototype,{command:{get:function(){return this._command}}});var H0=IAe;function PAe(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,be.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=be.getObservable(this,"imageryProviderViewModels"),r=be.pureComputed(function(){let d=o(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._imageryProviders=r;let s=be.getObservable(this,"terrainProviderViewModels"),a=be.pureComputed(function(){let d=s(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._terrainProviders=a,this.buttonTooltip=void 0,be.defineProperty(this,"buttonTooltip",function(){let d=this.selectedImagery,p=this.selectedTerrain,g=l(d)?d.name:void 0,m=l(p)?p.name:void 0;return l(g)&&l(m)?`${g} -${m}`:l(g)?g:m}),this.buttonImageUrl=void 0,be.defineProperty(this,"buttonImageUrl",function(){let d=this.selectedImagery;if(l(d))return d.iconUrl}),this.selectedImagery=void 0;let c=be.observable();this.updateSelectedImageryViewModel=d=>{c(d),this.dropDownVisible=!1},this._currentImageryLayers=[],be.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(d){if(c()===d){this.dropDownVisible=!1;return}let p=e.map,g,m=this._currentImageryLayers,x=m.length,b=this._globe.imageryLayers,T=!1;if(!p)for(g=0;g<x;g++){let A=b.length;for(let C=0;C<A;C++){let E=b.get(C);if(E===m[g]){b.remove(E),T=!0;break}}}if(l(d))if(p&&d.marsOptions)p.basemap=d.marsOptions.layerId;else if(p&&d.options&&d.isTile)p.basemap=d.options.id;else{let A=d.creationCommand();if(Array.isArray(A)){let C=A.length;for(this._currentImageryLayers=[],g=C-1;g>=0;g--){let E=Aa.fromProviderAsync(A[g]);b.add(E,0),this._currentImageryLayers.push(E)}}else{this._currentImageryLayers=[];let C=Aa.fromProviderAsync(A);if(C.name=d.name,T)b.add(C,0);else{let E=b.get(0);l(E)&&b.remove(E),b.add(C,0)}this._currentImageryLayers.push(C)}}else p&&(p.basemap=void 0);c(d),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let u=be.observable();this.updateSelectedTerrainViewModel=d=>{u(d),this.dropDownVisible=!1},be.defineProperty(this,"selectedTerrain",{get:function(){return u()},set:function(d){if(u()===d){this.dropDownVisible=!1;return}let p;if(l(d)&&(p=d.creationCommand()),l(p)&&!l(p.then)){if(e.map&&d.marsOptions){e.map.terrainProvider=p;return}this._globe.terrainProvider=p}else if(l(p)){let g=!1,m=this._globe.terrainProviderChanged.addEventListener(()=>{g=!0,m()}),b=new H3(p).readyEvent.addEventListener(T=>{if(!g){if(e.map&&d.marsOptions){e.map.terrainProvider=T;return}this._globe.terrainProvider=T,b()}})}u(d),this.dropDownVisible=!1}});let f=this;this._toggleDropDown=vn(function(){f.dropDownVisible=!f.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel),this.selectedTerrain=e.selectedTerrainProviderViewModel}Object.defineProperties(PAe.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var ok=PAe;function BG(e,t){e=Rn(e);let n=new ok(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let u=document.createElement("div");u.className="cesium-baseLayerPicker-categoryTitle",u.setAttribute("data-bind","text: name"),c.appendChild(u);let f=document.createElement("div");f.className="cesium-baseLayerPicker-choices",f.setAttribute("data-bind","foreach: providers"),c.appendChild(f);let d=document.createElement("div");d.className="cesium-baseLayerPicker-item",d.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),f.appendChild(d);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),d.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),d.appendChild(g);let m=document.createElement("div");m.className="cesium-baseLayerPicker-sectionTitle",m.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),m.innerHTML="Terrain",r.appendChild(m);let x=document.createElement("div");x.className="cesium-baseLayerPicker-section",x.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(x);let b=document.createElement("div");b.className="cesium-baseLayerPicker-category",x.appendChild(b);let T=document.createElement("div");T.className="cesium-baseLayerPicker-categoryTitle",T.setAttribute("data-bind","text: name"),b.appendChild(T);let A=document.createElement("div");A.className="cesium-baseLayerPicker-choices",A.setAttribute("data-bind","foreach: providers"),b.appendChild(A);let C=document.createElement("div");C.className="cesium-baseLayerPicker-item",C.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),A.appendChild(C);let E=document.createElement("img");E.className="cesium-baseLayerPicker-itemIcon",E.setAttribute("data-bind","attr: { src: iconUrl }"),E.setAttribute("draggable","false"),C.appendChild(E);let v=document.createElement("div");v.className="cesium-baseLayerPicker-itemLabel",v.setAttribute("data-bind","text: name"),C.appendChild(v),be.applyBindings(n,i),be.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(D){i.contains(D.target)||r.contains(D.target)||(n.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(BG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});BG.prototype.isDestroyed=function(){return!1};BG.prototype.destroy=function(){return Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._element),be.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),ue(this)};var rk=BG;function RAe(e){let t=e.creationFunction;l(t.canExecute)||(t=vn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),this.marsOptions=e.marsOptions,be.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(RAe.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var ss=RAe;function KEt(){let e=[],t=devicePixelRatio>=2;return e.push(new ss({name:"Bing Maps Aerial",iconUrl:rn("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return og({style:ig.AERIAL})}})),e.push(new ss({name:"Bing Maps Aerial with Labels",iconUrl:rn("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return og({style:ig.AERIAL_WITH_LABELS})}})),e.push(new ss({name:"Bing Maps Roads",iconUrl:rn("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return og({style:ig.ROAD})}})),e.push(new ss({name:"ArcGIS World Imagery",iconUrl:rn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return Q_.fromBasemapType(Eh.SATELLITE,{enablePickFeatures:!1})}})),e.push(new ss({name:"ArcGIS World Hillshade",iconUrl:rn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return Q_.fromBasemapType(Eh.HILLSHADE,{enablePickFeatures:!1})}})),e.push(new ss({name:"Esri World Ocean",iconUrl:rn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return Q_.fromBasemapType(Eh.OCEANS,{enablePickFeatures:!1})}})),e.push(new ss({name:"Open\xADStreet\xADMap",iconUrl:rn("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. -http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new fg({url:"https://tile.openstreetmap.org/"})}})),e.push(new ss({name:"Stadia x Stamen Watercolor",iconUrl:rn("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and reminiscent of hand drawn maps, the watercolor maps from Stamen Design apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. -https://docs.stadiamaps.com/map-styles/stamen-watercolor/`,category:"Other",creationFunction:function(){return new fg({url:"https://tiles.stadiamaps.com/tiles/stamen_watercolor/",fileExtension:"jpg",credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> + */var hQ="__knockoutObservables",mQ="__knockoutSubscribable";function qAe(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=YAe(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===hQ||o===mQ)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&wSt(n,a)}}),e}function YAe(e,t){var n=e[hQ];return!n&&t&&(n={},Object.defineProperty(e,hQ,{value:n})),n}function vSt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),qAe.call(i,e,[t]),e}function wSt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=DSt(e,t,i))})}function DSt(e,t,n){var i=ISt(e,n);return i.subscribe(t)}function ISt(e,t){var n=t[mQ];if(!n){n=new e.subscribable,Object.defineProperty(t,mQ,{value:n});var i={};PSt(t,n,i),RSt(e,t,n,i)}return n}function PSt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function RSt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function XAe(e,t){if(!e)return null;var n=YAe(e,!1);return n&&n[t]||null}function OSt(e,t){var n=XAe(e,t);n&&n.valueHasMutated()}function MSt(e){e.track=qAe,e.getObservable=XAe,e.valueHasMutated=OSt,e.defineProperty=vSt}var ck={attachToKo:MSt};var KAe="http://www.w3.org/2000/svg",ZAe="cesium-svgPath-svg",LSt={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(KAe,"svg:svg");i.setAttribute("class",ZAe);let o=document.createElementNS(KAe,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${ZAe} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},lk=LSt;ck.attachToKo(RC);lk.register(RC);var be=RC;function uk(e){l(e)||(e=new fh),this._clock=e,this._eventHelper=new gr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=be.observable(K.now()),this.systemTime.equalityComparer=K.equals,this.startTime=be.observable(e.startTime),this.startTime.equalityComparer=K.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=be.observable(e.stopTime),this.stopTime.equalityComparer=K.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=be.observable(e.currentTime),this.currentTime.equalityComparer=K.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=be.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=be.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=be.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=be.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=be.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),be.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(uk.prototype,{clock:{get:function(){return this._clock}}});uk.prototype.synchronize=function(){let e=this._clock;this.systemTime=K.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};uk.prototype.isDestroyed=function(){return!1};uk.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var fk=uk;function NSt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,de.throwInstantiationError()}var pQ=NSt;function FSt(e,t){t=y(t,!0);let n=new me,i=new me;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,be.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var vn=FSt;var dk={};dk.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return l(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};dk.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};dk.createRangeInput=function(e,t,n,i,o,r){r=y(r,t);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=n,a.max=i,a.step=y(o,"any"),a.setAttribute("data-bind",`valueUpdate: "input", value: ${t}`);let c=document.createElement("div");c.appendChild(a);let u=document.createElement("div");return u.className="cesium-cesiumInspector-slider",u.appendChild(document.createTextNode(e)),u.appendChild(s),u.appendChild(c),u};dk.createButton=function(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=e,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${t}`;return l(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i};var Ka=dk;function BSt(e,t,n,i,o){return n.call(i,e[t]),be.getObservable(e,t).subscribe(n,i,o)}var Sa=BSt;function $Ae(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),be.track(this,["toggled","tooltip"])}Object.defineProperties($Ae.prototype,{command:{get:function(){return this._command}}});var X0=$Ae;function kSt(e){let t;if(l(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>    ${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function _Q(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var VSt=new yn,USt=new h;function hk(e,t){let n=this,i=e.canvas,o=new Ku(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",be.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=vn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=vn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=vn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=vn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=be.getObservable(this,"frustums").subscribe(function(u){n._scene.debugShowFrustums=u,n._scene.requestRender()}),this._frustumPlanesSubscription=be.getObservable(this,"frustumPlanes").subscribe(function(u){n._scene.debugShowFrustumPlanes=u,n._scene.requestRender()}),this._performanceSubscription=be.getObservable(this,"performance").subscribe(function(u){u?n._performanceDisplay=new pg({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=vn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=be.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=vn(function(){if(n.primitiveReferenceFrame){let u=n._primitive.modelMatrix;n._modelMatrixPrimitive=new W3({modelMatrix:u}),n._scene.primitives.add(n._modelMatrixPrimitive)}else l(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=be.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=vn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(u){return l(n._modelMatrixPrimitive)&&u.owner===n._modelMatrixPrimitive._primitive?!0:l(n._primitive)?u.owner===n._primitive||u.owner===n._primitive._billboardCollection||u.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=be.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=be.getObservable(this,"wireframe").subscribe(function(u){r._surface.tileProvider._debug.wireframe=u,n._scene.requestRender()}),this._depthFrustumSubscription=be.getObservable(this,"depthFrustum").subscribe(function(u){n._scene.debugShowDepthFrustum=u,n._scene.requestRender()}),this._incrementDepthFrustum=vn(function(){let u=n.depthFrustum+1;return n.depthFrustum=_Q(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._decrementDepthFrustum=vn(function(){let u=n.depthFrustum-1;return n.depthFrustum=_Q(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=be.getObservable(this,"suspendUpdates").subscribe(function(u){r._surface._debug.suspendLodUpdate=u,u||(n.filterTile=!1)});let s;this._showTileCoordinates=vn(function(){return n.tileCoordinates&&!l(s)?s=e.imageryLayers.addImageryProvider(new sk({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&l(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=be.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=be.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=vn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=vn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],l(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=be.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(u){let f=n._scene.pick({x:u.position.x,y:u.position.y});l(f)&&(n.primitive=l(f.collection)?f.collection:f.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=vn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=be.getObservable(this,"pickPrimitiveActive").subscribe(function(u){u?o.setInputAction(a,An.LEFT_CLICK):o.removeInputAction(An.LEFT_CLICK)});function c(u){let f,d=r.ellipsoid,p=n._scene.camera.getPickRay(u.position,VSt),g=r.pick(p,n._scene,USt);if(l(g)){let m=d.cartesianToCartographic(g),x=r._surface.tileProvider._tilesToRenderByTextureCount;for(let b=0;!f&&b<x.length;++b){let T=x[b];if(l(T))for(let A=0;!f&&A<T.length;++A){let C=T[A];ae.contains(C.rectangle,m)&&(f=C)}}}n.tile=f,n.pickTileActive=!1}this._pickTile=vn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=be.getObservable(this,"pickTileActive").subscribe(function(u){u?o.setInputAction(c,An.LEFT_CLICK):o.removeInputAction(An.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(hk.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return vn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return vn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return vn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return vn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return vn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,l(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,l(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(l(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;l(n)&&l(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});hk.prototype._update=function(){this.frustums&&(this.frustumStatisticText=kSt(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=_Q(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};hk.prototype.isDestroyed=function(){return!1};hk.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),ue(this)};var mk=hk;function GG(e,t){e=Rn(e);let n=document.createElement("div"),i=new mk(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=Ka.createSection,c=Ka.createCheckbox,u=a(s,"General","generalVisible","toggleGeneral"),f=c("Show Frustums","frustums"),d=document.createElement("div");d.className="cesium-cesiumInspector-frustumStatistics",d.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),f.appendChild(d),u.appendChild(f),u.appendChild(c("Show Frustum Planes","frustumPlanes")),u.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",u.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),u.appendChild(p);let g=document.createElement("div");u.appendChild(g);let m=document.createElement("span");m.setAttribute("data-bind",'html: "     Frustum:"'),g.appendChild(m);let x=document.createElement("span");x.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(x);let b=document.createElement("input");b.type="button",b.value="-",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(b);let T=document.createElement("input");T.type="button",T.value="+",T.className="cesium-cesiumInspector-pickButton",T.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(T);let A=a(s,"Primitives","primitivesVisible","togglePrimitives"),C=document.createElement("div");C.className="cesium-cesiumInspector-pickSection",A.appendChild(C);let E=document.createElement("input");E.type="button",E.value="Pick a primitive",E.className="cesium-cesiumInspector-pickButton",E.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let v=document.createElement("div");v.className="cesium-cesiumInspector-center",v.appendChild(E),C.appendChild(v),C.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),C.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),C.appendChild(this._primitiveOnly);let D=a(s,"Terrain","terrainVisible","toggleTerrain"),O=document.createElement("div");O.className="cesium-cesiumInspector-pickSection",D.appendChild(O);let R=document.createElement("input");R.type="button",R.value="Pick a tile",R.className="cesium-cesiumInspector-pickButton",R.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),v=document.createElement("div"),v.appendChild(R),v.className="cesium-cesiumInspector-center",O.appendChild(v);let M=document.createElement("div");O.appendChild(M);let N=document.createElement("input");N.type="button",N.value="Parent",N.className="cesium-cesiumInspector-pickButton",N.setAttribute("data-bind","click: selectParent");let _=document.createElement("input");_.type="button",_.value="NW",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: selectNW");let S=document.createElement("input");S.type="button",S.value="NE",S.className="cesium-cesiumInspector-pickButton",S.setAttribute("data-bind","click: selectNE");let w=document.createElement("input");w.type="button",w.value="SW",w.className="cesium-cesiumInspector-pickButton",w.setAttribute("data-bind","click: selectSW");let I=document.createElement("input");I.type="button",I.value="SE",I.className="cesium-cesiumInspector-pickButton",I.setAttribute("data-bind","click: selectSE");let L=document.createElement("div");L.className="cesium-cesiumInspector-tileText",M.className="cesium-cesiumInspector-frustumStatistics",M.appendChild(L),M.setAttribute("data-bind","visible: hasPickedTile"),L.setAttribute("data-bind","html: tileText");let B=document.createElement("div");B.className="cesium-cesiumInspector-relativeText",B.textContent="Select relative:",M.appendChild(B);let U=document.createElement("table"),V=document.createElement("tr"),G=document.createElement("tr"),k=document.createElement("td");k.appendChild(N);let W=document.createElement("td");W.appendChild(_);let Y=document.createElement("td");Y.appendChild(S),V.appendChild(k),V.appendChild(W),V.appendChild(Y);let Q=document.createElement("td"),j=document.createElement("td");j.appendChild(w);let Z=document.createElement("td");Z.appendChild(I),G.appendChild(Q),G.appendChild(j),G.appendChild(Z),U.appendChild(V),U.appendChild(G),M.appendChild(U),O.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),O.appendChild(c("Show only selected","filterTile","hasPickedTile")),D.appendChild(c("Wireframe","wireframe")),D.appendChild(c("Suspend LOD update","suspendUpdates")),D.appendChild(c("Show tile coordinates","tileCoordinates")),be.applyBindings(i,this._element)}Object.defineProperties(GG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});GG.prototype.isDestroyed=function(){return!1};GG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var pk=GG;var OC="http://www.w3.org/2000/svg",eEe="http://www.w3.org/1999/xlink",WG,_k=H.fromCssColorString("rgba(247,250,255,0.384)"),jG=H.fromCssColorString("rgba(143,191,255,0.216)"),gQ=H.fromCssColorString("rgba(153,197,255,0.098)"),qG=H.fromCssColorString("rgba(255,255,255,0.086)"),zSt=H.fromCssColorString("rgba(255,255,255,0.267)"),HSt=H.fromCssColorString("rgba(255,255,255,0)"),QAe=H.fromCssColorString("rgba(66,67,68,0.3)"),JAe=H.fromCssColorString("rgba(0,0,0,0.5)");function K0(e){return H.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var gk={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function Gh(e){let t=document.createElementNS(OC,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(Gh(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(eEe,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function yQ(e,t,n){let i=document.createElementNS(OC,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(OC,"tspan");return o.textContent=n,i.appendChild(o),i}function GSt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var YG=new H;function ds(e,t){let n=t.alpha,i=1-n;return YG.red=e.red*i+t.red*n,YG.green=e.green*i+t.green*n,YG.blue=e.blue*i+t.blue*n,YG.toCssColorString()}function xQ(e,t,n){let i=gk[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Gh(o)}function WSt(e,t,n){let i=gk[n],o=gk.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Gh(r)}function jSt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&WG!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,u;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,u=t.touches[0].clientY):(c=t.clientX,u=t.clientY),!i&&(c>a.right||c<a.left||u<a.top||u>a.bottom))return;let f=e._shuttleRingPointer.getBoundingClientRect(),d=c-o-a.left,p=u-r-a.top,g=Math.atan2(p,d)*180/Math.PI+90;g>180&&(g-=360);let m=n.shuttleRingAngle;i||c<f.right&&c>f.left&&u>f.top&&u<f.bottom?(WG=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<m?n.slower():g>m&&n.faster(),t.preventDefault()}else e===WG&&(WG=void 0),n.shuttleRingDragging=!1}function wg(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[Sa(t,"toggled",this.setToggled,this),Sa(t,"tooltip",this.setTooltip,this),Sa(t.command,"canExecute",this.setEnabled,this)]}wg.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();ue(this)};wg.prototype.isDestroyed=function(){return!1};wg.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};wg.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};wg.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function Kv(e,t){e=Rn(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(OC,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",eEe);let s=document.createElementNS(OC,"g");this._topG=s,this._realtimeSVG=new wg(WSt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new wg(xQ(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new wg(xQ(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new wg(xQ(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(OC,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=Gh({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let u=gk.animation_pathSwooshFX,f=gk.animation_pathPointer,d=Gh({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:u.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:u.d},{tagName:u.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:u.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=d,this._shuttleRingPointer=Gh({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:f.tagName,d:f.d});let p=Gh({tagName:"g",transform:"translate(100,100)"});this._knobOuter=Gh({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,m=Gh({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=yQ(0,-24,""),this._knobTime=yQ(0,-7,""),this._knobStatus=yQ(0,-41,"");let x=Gh({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),b=document.createElementNS(OC,"g");b.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(b),s.appendChild(p),s.appendChild(a),b.appendChild(c),b.appendChild(d),b.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(m),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(x),r.appendChild(s),e.appendChild(r);let T=this;function A(O){jSt(T,O)}this._mouseCallback=A,c.addEventListener("mousedown",A,!0),c.addEventListener("touchstart",A,!0),d.addEventListener("mousedown",A,!0),d.addEventListener("touchstart",A,!0),n.addEventListener("mousemove",A,!0),n.addEventListener("touchmove",A,!0),n.addEventListener("mouseup",A,!0),n.addEventListener("touchend",A,!0),n.addEventListener("touchcancel",A,!0),this._shuttleRingPointer.addEventListener("mousedown",A,!0),this._shuttleRingPointer.addEventListener("touchstart",A,!0),this._knobOuter.addEventListener("mousedown",A,!0),this._knobOuter.addEventListener("touchstart",A,!0);let C=this._knobTime.childNodes[0],E=this._knobDate.childNodes[0],v=this._knobStatus.childNodes[0],D;this._subscriptions=[Sa(t.pauseViewModel,"toggled",function(O){D!==O&&(D=O,D?T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),Sa(t,"shuttleRingAngle",function(O){GSt(T._shuttleRingPointer,T._knobOuter,O)}),Sa(t,"dateLabel",function(O){E.textContent!==O&&(E.textContent=O)}),Sa(t,"timeLabel",function(O){C.textContent!==O&&(C.textContent=O)}),Sa(t,"multiplierLabel",function(O){v.textContent!==O&&(v.textContent=O)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(Kv.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Kv.prototype.isDestroyed=function(){return!1};Kv.prototype.destroy=function(){l(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return ue(this)};Kv.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};Kv.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(l(this._observer))return;let f=this;f._observer=new MutationObserver(function(){e.body.contains(f._container)&&(f._observer.disconnect(),f._observer=void 0,f.applyThemeChanges())}),f._observer.observe(e,{childList:!0,subtree:!0});return}let t=K0(this._themeNormal),n=K0(this._themeHover),i=K0(this._themeSelect),o=K0(this._themeDisabled),r=K0(this._themeKnob),s=K0(this._themePointer),a=K0(this._themeSwoosh),c=K0(this._themeSwooshHover),u=Gh({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ds(t,_k)},{tagName:"stop",offset:"12%","stop-color":ds(t,jG)},{tagName:"stop",offset:"46%","stop-color":ds(t,gQ)},{tagName:"stop",offset:"81%","stop-color":ds(t,qG)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ds(n,_k)},{tagName:"stop",offset:"12%","stop-color":ds(n,jG)},{tagName:"stop",offset:"46%","stop-color":ds(n,gQ)},{tagName:"stop",offset:"81%","stop-color":ds(n,qG)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ds(i,_k)},{tagName:"stop",offset:"12%","stop-color":ds(i,jG)},{tagName:"stop",offset:"46%","stop-color":ds(i,gQ)},{tagName:"stop",offset:"81%","stop-color":ds(i,qG)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ds(o,zSt)},{tagName:"stop",offset:"75%","stop-color":ds(o,HSt)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":ds(s,JAe)},{tagName:"stop",offset:"100%","stop-color":ds(s,JAe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":ds(r,_k)},{tagName:"stop",offset:"60%","stop-color":ds(r,QAe)},{tagName:"stop",offset:"85%","stop-color":ds(r,jG)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":ds(r,QAe)},{tagName:"stop",offset:"60%","stop-color":ds(r,_k)},{tagName:"stop",offset:"85%","stop-color":ds(r,qG)}]}]});l(this._defsElement)?this._svgNode.replaceChild(u,this._defsElement):this._svgNode.appendChild(u),this._defsElement=u};var yk=Kv;var qSt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],Z0=15,Zv=105;function tEe(e,t){return e-t}function bQ(e,t){let n=Lo(t,e,tEe);return n<0?~n:n}function YSt(e,t){if(Math.abs(e)<=Z0)return e/Z0;let n=Z0,i=Zv,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function XSt(e,t,n){if(n.clockStep===To.SYSTEM_CLOCK)return Z0;if(Math.abs(e)<=1)return e*Z0;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=Z0,r=Zv,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function _d(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=_d.defaultDateFormatter,this._timeFormatter=_d.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,be.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(_d.defaultTicks),this.timeLabel=void 0,be.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,be.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,be.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===To.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,be.defineProperty(this,"shuttleRingAngle",{get:function(){return XSt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,Zv),-Zv);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=To.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===Zv){c.multiplier=s>0?a[a.length-1]:a[0];return}let u=YSt(s,a);if(t.snapToTicks)u=a[bQ(u,a)];else if(u!==0){let f=Math.abs(u);if(f>100){let d=f.toFixed(0).length-2,p=Math.pow(10,d);u=Math.round(u/p)*p|0}else f>Z0?u=Math.round(u):f>1?u=+u.toFixed(1):f>0&&(u=+u.toFixed(2))}c.multiplier=u}}),this._canAnimate=void 0,be.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===$r.UNBOUNDED)return!0;let c=s.multiplier,u=s.currentTime,f=s.startTime,d=!1;if(a===$r.LOOP_STOP)d=K.greaterThan(u,f)||u.equals(f)&&c>0;else{let p=s.stopTime;d=K.greaterThan(u,f)&&K.lessThan(u,p)||u.equals(f)&&c>0||u.equals(p)&&c<0}return d||(s.shouldAnimate=!1),d}),this._isSystemTimeAvailable=void 0,be.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===$r.UNBOUNDED)return!0;let c=s.systemTime;return K.greaterThanOrEquals(c,s.startTime)&&K.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,be.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=vn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new X0(n,{toggled:be.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=vn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new X0(i,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=vn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new X0(o,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==To.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=vn(function(){t._clockViewModel.clockStep=To.SYSTEM_CLOCK},be.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new X0(r,{toggled:be.computed(function(){return e.clockStep===To.SYSTEM_CLOCK}),tooltip:be.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=vn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=bQ(c,a)-1;u>=0&&(s.multiplier=a[u])}),this._faster=vn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=bQ(c,a)+1;u<a.length&&(s.multiplier=a[u])})}_d.defaultDateFormatter=function(e,t){let n=K.toGregorianDate(e);return`${qSt[n.month-1]} ${n.day} ${n.year}`};_d.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];_d.defaultTimeFormatter=function(e,t){let n=K.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};_d.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};_d.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(tEe);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(_d.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}});_d._maxShuttleRingAngle=Zv;_d._realtimeShuttleRingAngle=Z0;var xk=_d;function nEe(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,be.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=be.getObservable(this,"imageryProviderViewModels"),r=be.pureComputed(function(){let d=o(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._imageryProviders=r;let s=be.getObservable(this,"terrainProviderViewModels"),a=be.pureComputed(function(){let d=s(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._terrainProviders=a,this.buttonTooltip=void 0,be.defineProperty(this,"buttonTooltip",function(){let d=this.selectedImagery,p=this.selectedTerrain,g=l(d)?d.name:void 0,m=l(p)?p.name:void 0;return l(g)&&l(m)?`${g} +${m}`:l(g)?g:m}),this.buttonImageUrl=void 0,be.defineProperty(this,"buttonImageUrl",function(){let d=this.selectedImagery;if(l(d))return d.iconUrl}),this.selectedImagery=void 0;let c=be.observable();this.updateSelectedImageryViewModel=d=>{c(d),this.dropDownVisible=!1},this._currentImageryLayers=[],be.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(d){if(c()===d){this.dropDownVisible=!1;return}let p=e.map,g,m=this._currentImageryLayers,x=m.length,b=this._globe.imageryLayers,T=!1;if(!p)for(g=0;g<x;g++){let A=b.length;for(let C=0;C<A;C++){let E=b.get(C);if(E===m[g]){b.remove(E),T=!0;break}}}if(l(d))if(p&&d.marsOptions)p.basemap=d.marsOptions.layerId;else if(p&&d.options&&d.isTile)p.basemap=d.options.id;else{let A=d.creationCommand();if(Array.isArray(A)){let C=A.length;for(this._currentImageryLayers=[],g=C-1;g>=0;g--){let E=Ya.fromProviderAsync(A[g]);b.add(E,0),this._currentImageryLayers.push(E)}}else{this._currentImageryLayers=[];let C=Ya.fromProviderAsync(A);if(C.name=d.name,T)b.add(C,0);else{let E=b.get(0);l(E)&&b.remove(E),b.add(C,0)}this._currentImageryLayers.push(C)}}else p&&(p.basemap=void 0);c(d),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let u=be.observable();this.updateSelectedTerrainViewModel=d=>{u(d),this.dropDownVisible=!1},be.defineProperty(this,"selectedTerrain",{get:function(){return u()},set:function(d){if(u()===d){this.dropDownVisible=!1;return}let p;if(l(d)&&(p=d.creationCommand()),l(p)&&!l(p.then)){if(e.map&&d.marsOptions){e.map.terrainProvider=p;return}this._globe.terrainProvider=p}else if(l(p)){let g=!1,m=this._globe.terrainProviderChanged.addEventListener(()=>{g=!0,m()}),b=new ok(p).readyEvent.addEventListener(T=>{if(!g){if(e.map&&d.marsOptions){e.map.terrainProvider=T;return}this._globe.terrainProvider=T,b()}})}u(d),this.dropDownVisible=!1}});let f=this;this._toggleDropDown=vn(function(){f.dropDownVisible=!f.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel),this.selectedTerrain=e.selectedTerrainProviderViewModel}Object.defineProperties(nEe.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var bk=nEe;function XG(e,t){e=Rn(e);let n=new bk(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let u=document.createElement("div");u.className="cesium-baseLayerPicker-categoryTitle",u.setAttribute("data-bind","text: name"),c.appendChild(u);let f=document.createElement("div");f.className="cesium-baseLayerPicker-choices",f.setAttribute("data-bind","foreach: providers"),c.appendChild(f);let d=document.createElement("div");d.className="cesium-baseLayerPicker-item",d.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),f.appendChild(d);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),d.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),d.appendChild(g);let m=document.createElement("div");m.className="cesium-baseLayerPicker-sectionTitle",m.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),m.innerHTML="Terrain",r.appendChild(m);let x=document.createElement("div");x.className="cesium-baseLayerPicker-section",x.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(x);let b=document.createElement("div");b.className="cesium-baseLayerPicker-category",x.appendChild(b);let T=document.createElement("div");T.className="cesium-baseLayerPicker-categoryTitle",T.setAttribute("data-bind","text: name"),b.appendChild(T);let A=document.createElement("div");A.className="cesium-baseLayerPicker-choices",A.setAttribute("data-bind","foreach: providers"),b.appendChild(A);let C=document.createElement("div");C.className="cesium-baseLayerPicker-item",C.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),A.appendChild(C);let E=document.createElement("img");E.className="cesium-baseLayerPicker-itemIcon",E.setAttribute("data-bind","attr: { src: iconUrl }"),E.setAttribute("draggable","false"),C.appendChild(E);let v=document.createElement("div");v.className="cesium-baseLayerPicker-itemLabel",v.setAttribute("data-bind","text: name"),C.appendChild(v),be.applyBindings(n,i),be.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(D){i.contains(D.target)||r.contains(D.target)||(n.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(XG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});XG.prototype.isDestroyed=function(){return!1};XG.prototype.destroy=function(){return Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._element),be.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),ue(this)};var Tk=XG;function iEe(e){let t=e.creationFunction;l(t.canExecute)||(t=vn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),this.marsOptions=e.marsOptions,be.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(iEe.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var hs=iEe;function KSt(){let e=[],t=devicePixelRatio>=2;return e.push(new hs({name:"Bing Maps Aerial",iconUrl:sn("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return hg({style:dg.AERIAL})}})),e.push(new hs({name:"Bing Maps Aerial with Labels",iconUrl:sn("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return hg({style:dg.AERIAL_WITH_LABELS})}})),e.push(new hs({name:"Bing Maps Roads",iconUrl:sn("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return hg({style:dg.ROAD})}})),e.push(new hs({name:"ArcGIS World Imagery",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return ug.fromBasemapType(Lh.SATELLITE,{enablePickFeatures:!1})}})),e.push(new hs({name:"ArcGIS World Hillshade",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return ug.fromBasemapType(Lh.HILLSHADE,{enablePickFeatures:!1})}})),e.push(new hs({name:"Esri World Ocean",iconUrl:sn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return ug.fromBasemapType(Lh.OCEANS,{enablePickFeatures:!1})}})),e.push(new hs({name:"Open\xADStreet\xADMap",iconUrl:sn("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. +http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new vg({url:"https://tile.openstreetmap.org/"})}})),e.push(new hs({name:"Stadia x Stamen Watercolor",iconUrl:sn("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and reminiscent of hand drawn maps, the watercolor maps from Stamen Design apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. +https://docs.stadiamaps.com/map-styles/stamen-watercolor/`,category:"Other",creationFunction:function(){return new vg({url:"https://tiles.stadiamaps.com/tiles/stamen_watercolor/",fileExtension:"jpg",credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> © <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ss({name:"Stadia x Stamen Toner",iconUrl:rn("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and the most popular of the excellent styles from Stamen Design, these high-contrast B+W (black and white) maps are the perfect backdrop for your colorful and eye-catching overlays. -https://docs.stadiamaps.com/map-styles/stamen-toner/`,category:"Other",creationFunction:function(){return new fg({url:"https://tiles.stadiamaps.com/tiles/stamen_toner/",retinaTiles:t,credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new hs({name:"Stadia x Stamen Toner",iconUrl:sn("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and the most popular of the excellent styles from Stamen Design, these high-contrast B+W (black and white) maps are the perfect backdrop for your colorful and eye-catching overlays. +https://docs.stadiamaps.com/map-styles/stamen-toner/`,category:"Other",creationFunction:function(){return new vg({url:"https://tiles.stadiamaps.com/tiles/stamen_toner/",retinaTiles:t,credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> © <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ss({name:"Stadia Alidade Smooth",iconUrl:rn("Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png"),tooltip:`Stadia's custom Alidade Smooth style is designed for maps that use a lot of markers or overlays. It features a muted color scheme and fewer points of interest to allow your added data to shine. -https://docs.stadiamaps.com/map-styles/alidade-smooth/`,category:"Other",creationFunction:function(){return new fg({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new hs({name:"Stadia Alidade Smooth",iconUrl:sn("Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png"),tooltip:`Stadia's custom Alidade Smooth style is designed for maps that use a lot of markers or overlays. It features a muted color scheme and fewer points of interest to allow your added data to shine. +https://docs.stadiamaps.com/map-styles/alidade-smooth/`,category:"Other",creationFunction:function(){return new vg({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ss({name:"Stadia Alidade Smooth Dark",iconUrl:rn("Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png"),tooltip:`Stadia Alidade Smooth Dark, like its lighter cousin, is also designed to stay out of the way. It just flips the dark mode switch on the color scheme. With the lights out, your data can now literally shine. -https://docs.stadiamaps.com/map-styles/alidade-smooth-dark/`,category:"Other",creationFunction:function(){return new fg({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new hs({name:"Stadia Alidade Smooth Dark",iconUrl:sn("Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png"),tooltip:`Stadia Alidade Smooth Dark, like its lighter cousin, is also designed to stay out of the way. It just flips the dark mode switch on the color scheme. With the lights out, your data can now literally shine. +https://docs.stadiamaps.com/map-styles/alidade-smooth-dark/`,category:"Other",creationFunction:function(){return new vg({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new ss({name:"Sentinel-2",iconUrl:rn("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return ng.fromAssetId(3954)}})),e.push(new ss({name:"Blue Marble",iconUrl:rn("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return ng.fromAssetId(3845)}})),e.push(new ss({name:"Earth at night",iconUrl:rn("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return ng.fromAssetId(3812)}})),e.push(new ss({name:"Natural Earth\xA0II",iconUrl:rn("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. -http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return C0.fromUrl(rn("Assets/Textures/NaturalEarthII"))}})),e}var sk=KEt;function ZEt(){let e=[];return e.push(new ss({name:"WGS84 Ellipsoid",iconUrl:rn("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new jT({ellipsoid:ee.WGS84})}})),e.push(new ss({name:"Cesium World Terrain",iconUrl:rn("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return TC({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var ak=ZEt;var IC="http://www.w3.org/2000/svg",LAe="http://www.w3.org/1999/xlink",kG,ck=H.fromCssColorString("rgba(247,250,255,0.384)"),VG=H.fromCssColorString("rgba(143,191,255,0.216)"),tQ=H.fromCssColorString("rgba(153,197,255,0.098)"),UG=H.fromCssColorString("rgba(255,255,255,0.086)"),$Et=H.fromCssColorString("rgba(255,255,255,0.267)"),QEt=H.fromCssColorString("rgba(255,255,255,0)"),OAe=H.fromCssColorString("rgba(66,67,68,0.3)"),MAe=H.fromCssColorString("rgba(0,0,0,0.5)");function G0(e){return H.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var lk={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function Uh(e){let t=document.createElementNS(IC,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(Uh(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(LAe,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function nQ(e,t,n){let i=document.createElementNS(IC,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(IC,"tspan");return o.textContent=n,i.appendChild(o),i}function JEt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var zG=new H;function as(e,t){let n=t.alpha,i=1-n;return zG.red=e.red*i+t.red*n,zG.green=e.green*i+t.green*n,zG.blue=e.blue*i+t.blue*n,zG.toCssColorString()}function iQ(e,t,n){let i=lk[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Uh(o)}function eSt(e,t,n){let i=lk[n],o=lk.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return Uh(r)}function tSt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&kG!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,u;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,u=t.touches[0].clientY):(c=t.clientX,u=t.clientY),!i&&(c>a.right||c<a.left||u<a.top||u>a.bottom))return;let f=e._shuttleRingPointer.getBoundingClientRect(),d=c-o-a.left,p=u-r-a.top,g=Math.atan2(p,d)*180/Math.PI+90;g>180&&(g-=360);let m=n.shuttleRingAngle;i||c<f.right&&c>f.left&&u>f.top&&u<f.bottom?(kG=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<m?n.slower():g>m&&n.faster(),t.preventDefault()}else e===kG&&(kG=void 0),n.shuttleRingDragging=!1}function Cg(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[Sa(t,"toggled",this.setToggled,this),Sa(t,"tooltip",this.setTooltip,this),Sa(t.command,"canExecute",this.setEnabled,this)]}Cg.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();ue(this)};Cg.prototype.isDestroyed=function(){return!1};Cg.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};Cg.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};Cg.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function qv(e,t){e=Rn(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(IC,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",LAe);let s=document.createElementNS(IC,"g");this._topG=s,this._realtimeSVG=new Cg(eSt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new Cg(iQ(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new Cg(iQ(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new Cg(iQ(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(IC,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=Uh({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let u=lk.animation_pathSwooshFX,f=lk.animation_pathPointer,d=Uh({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:u.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:u.d},{tagName:u.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:u.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=d,this._shuttleRingPointer=Uh({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:f.tagName,d:f.d});let p=Uh({tagName:"g",transform:"translate(100,100)"});this._knobOuter=Uh({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,m=Uh({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=nQ(0,-24,""),this._knobTime=nQ(0,-7,""),this._knobStatus=nQ(0,-41,"");let x=Uh({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),b=document.createElementNS(IC,"g");b.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(b),s.appendChild(p),s.appendChild(a),b.appendChild(c),b.appendChild(d),b.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(m),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(x),r.appendChild(s),e.appendChild(r);let T=this;function A(O){tSt(T,O)}this._mouseCallback=A,c.addEventListener("mousedown",A,!0),c.addEventListener("touchstart",A,!0),d.addEventListener("mousedown",A,!0),d.addEventListener("touchstart",A,!0),n.addEventListener("mousemove",A,!0),n.addEventListener("touchmove",A,!0),n.addEventListener("mouseup",A,!0),n.addEventListener("touchend",A,!0),n.addEventListener("touchcancel",A,!0),this._shuttleRingPointer.addEventListener("mousedown",A,!0),this._shuttleRingPointer.addEventListener("touchstart",A,!0),this._knobOuter.addEventListener("mousedown",A,!0),this._knobOuter.addEventListener("touchstart",A,!0);let C=this._knobTime.childNodes[0],E=this._knobDate.childNodes[0],v=this._knobStatus.childNodes[0],D;this._subscriptions=[Sa(t.pauseViewModel,"toggled",function(O){D!==O&&(D=O,D?T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),Sa(t,"shuttleRingAngle",function(O){JEt(T._shuttleRingPointer,T._knobOuter,O)}),Sa(t,"dateLabel",function(O){E.textContent!==O&&(E.textContent=O)}),Sa(t,"timeLabel",function(O){C.textContent!==O&&(C.textContent=O)}),Sa(t,"multiplierLabel",function(O){v.textContent!==O&&(v.textContent=O)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(qv.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});qv.prototype.isDestroyed=function(){return!1};qv.prototype.destroy=function(){l(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return ue(this)};qv.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};qv.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(l(this._observer))return;let f=this;f._observer=new MutationObserver(function(){e.body.contains(f._container)&&(f._observer.disconnect(),f._observer=void 0,f.applyThemeChanges())}),f._observer.observe(e,{childList:!0,subtree:!0});return}let t=G0(this._themeNormal),n=G0(this._themeHover),i=G0(this._themeSelect),o=G0(this._themeDisabled),r=G0(this._themeKnob),s=G0(this._themePointer),a=G0(this._themeSwoosh),c=G0(this._themeSwooshHover),u=Uh({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":as(t,ck)},{tagName:"stop",offset:"12%","stop-color":as(t,VG)},{tagName:"stop",offset:"46%","stop-color":as(t,tQ)},{tagName:"stop",offset:"81%","stop-color":as(t,UG)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":as(n,ck)},{tagName:"stop",offset:"12%","stop-color":as(n,VG)},{tagName:"stop",offset:"46%","stop-color":as(n,tQ)},{tagName:"stop",offset:"81%","stop-color":as(n,UG)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":as(i,ck)},{tagName:"stop",offset:"12%","stop-color":as(i,VG)},{tagName:"stop",offset:"46%","stop-color":as(i,tQ)},{tagName:"stop",offset:"81%","stop-color":as(i,UG)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":as(o,$Et)},{tagName:"stop",offset:"75%","stop-color":as(o,QEt)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":as(s,MAe)},{tagName:"stop",offset:"100%","stop-color":as(s,MAe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":as(r,ck)},{tagName:"stop",offset:"60%","stop-color":as(r,OAe)},{tagName:"stop",offset:"85%","stop-color":as(r,VG)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":as(r,OAe)},{tagName:"stop",offset:"60%","stop-color":as(r,ck)},{tagName:"stop",offset:"85%","stop-color":as(r,UG)}]}]});l(this._defsElement)?this._svgNode.replaceChild(u,this._defsElement):this._svgNode.appendChild(u),this._defsElement=u};var uk=qv;var nSt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],W0=15,Yv=105;function NAe(e,t){return e-t}function oQ(e,t){let n=Po(t,e,NAe);return n<0?~n:n}function iSt(e,t){if(Math.abs(e)<=W0)return e/W0;let n=W0,i=Yv,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function oSt(e,t,n){if(n.clockStep===yo.SYSTEM_CLOCK)return W0;if(Math.abs(e)<=1)return e*W0;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=W0,r=Yv,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function dd(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=dd.defaultDateFormatter,this._timeFormatter=dd.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,be.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(dd.defaultTicks),this.timeLabel=void 0,be.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,be.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,be.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===yo.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,be.defineProperty(this,"shuttleRingAngle",{get:function(){return oSt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,Yv),-Yv);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=yo.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===Yv){c.multiplier=s>0?a[a.length-1]:a[0];return}let u=iSt(s,a);if(t.snapToTicks)u=a[oQ(u,a)];else if(u!==0){let f=Math.abs(u);if(f>100){let d=f.toFixed(0).length-2,p=Math.pow(10,d);u=Math.round(u/p)*p|0}else f>W0?u=Math.round(u):f>1?u=+u.toFixed(1):f>0&&(u=+u.toFixed(2))}c.multiplier=u}}),this._canAnimate=void 0,be.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===jr.UNBOUNDED)return!0;let c=s.multiplier,u=s.currentTime,f=s.startTime,d=!1;if(a===jr.LOOP_STOP)d=K.greaterThan(u,f)||u.equals(f)&&c>0;else{let p=s.stopTime;d=K.greaterThan(u,f)&&K.lessThan(u,p)||u.equals(f)&&c>0||u.equals(p)&&c<0}return d||(s.shouldAnimate=!1),d}),this._isSystemTimeAvailable=void 0,be.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===jr.UNBOUNDED)return!0;let c=s.systemTime;return K.greaterThanOrEquals(c,s.startTime)&&K.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,be.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=vn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new H0(n,{toggled:be.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=vn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new H0(i,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=vn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new H0(o,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==yo.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=vn(function(){t._clockViewModel.clockStep=yo.SYSTEM_CLOCK},be.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new H0(r,{toggled:be.computed(function(){return e.clockStep===yo.SYSTEM_CLOCK}),tooltip:be.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=vn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=oQ(c,a)-1;u>=0&&(s.multiplier=a[u])}),this._faster=vn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=oQ(c,a)+1;u<a.length&&(s.multiplier=a[u])})}dd.defaultDateFormatter=function(e,t){let n=K.toGregorianDate(e);return`${nSt[n.month-1]} ${n.day} ${n.year}`};dd.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];dd.defaultTimeFormatter=function(e,t){let n=K.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};dd.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};dd.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(NAe);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(dd.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}});dd._maxShuttleRingAngle=Yv;dd._realtimeShuttleRingAngle=W0;var fk=dd;function rSt(e){return function(t){let n=e._scene.pick(t.position);l(n)&&n.primitive instanceof pa&&(e.tileset=n.primitive),e.pickActive=!1}}function BAe(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);l(i)&&i.primitive instanceof pa&&(e.tileset=i.primitive)},Cn.MOUSE_MOVE):(e._eventHandler.removeInputAction(Cn.MOUSE_MOVE),e.picking=e.picking)}var sSt={maximumFractionDigits:3};function dk(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,sSt):Math.round(t).toLocaleString()}function hk(e,t){if(!l(e))return"";let n=t?e._statisticsPerPass[Fo.PICK]:e._statisticsPerPass[Fo.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${dk(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${dk(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${dk(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function kAe(){let e=Si.statistics;return` + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new hs({name:"Sentinel-2",iconUrl:sn("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return fg.fromAssetId(3954)}})),e.push(new hs({name:"Blue Marble",iconUrl:sn("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return fg.fromAssetId(3845)}})),e.push(new hs({name:"Earth at night",iconUrl:sn("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return fg.fromAssetId(3812)}})),e.push(new hs({name:"Natural Earth\xA0II",iconUrl:sn("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. +http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return F0.fromUrl(sn("Assets/Textures/NaturalEarthII"))}})),e}var Ck=KSt;function ZSt(){let e=[];return e.push(new hs({name:"WGS84 Ellipsoid",iconUrl:sn("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new BT({ellipsoid:ee.WGS84})}})),e.push(new hs({name:"Cesium World Terrain",iconUrl:sn("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return NT({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var Ak=ZSt;function $St(e){return function(t){let n=e._scene.pick(t.position);l(n)&&n.primitive instanceof Es&&(e.tileset=n.primitive),e.pickActive=!1}}function rEe(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);l(i)&&i.primitive instanceof Es&&(e.tileset=i.primitive)},An.MOUSE_MOVE):(e._eventHandler.removeInputAction(An.MOUSE_MOVE),e.picking=e.picking)}var QSt={maximumFractionDigits:3};function Ek(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,QSt):Math.round(t).toLocaleString()}function Sk(e,t){if(!l(e))return"";let n=t?e._statisticsPerPass[zo.PICK]:e._statisticsPerPass[zo.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${Ek(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${Ek(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${Ek(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function sEe(){let e=wi.statistics;return` <ul class="cesium-cesiumInspector-statistics"> - <li><strong>Geometry Memory (MB): </strong>${dk(e.geometryByteLength)}</li> - <li><strong>Texture Memory (MB): </strong>${dk(e.texturesByteLength)}</li> + <li><strong>Geometry Memory (MB): </strong>${Ek(e.geometryByteLength)}</li> + <li><strong>Texture Memory (MB): </strong>${Ek(e.texturesByteLength)}</li> </ul> - `}var aSt=[{text:"Highlight",value:Il.HIGHLIGHT},{text:"Replace",value:Il.REPLACE},{text:"Mix",value:Il.MIX}],FAe=new H(1,1,0,.4),cSt=new H,HG=new H;function va(e,t){let n=this,i=e.canvas;this._eventHandler=new Yu(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new dg({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,be.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=be.observable({}),this.properties=[],be.defineProperty(this,"properties",function(){let k=[],Y=n._properties();for(let W in Y)Y.hasOwnProperty(W)&&k.push(W);return k});let o=be.observable();be.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(k){o(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceError=k)}}),this.dynamicScreenSpaceError=!1;let r=be.observable();be.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(k){r(k),l(n._tileset)&&(n._tileset.colorBlendMode=k,n._scene.requestRender())}}),this.colorBlendMode=Il.HIGHLIGHT;let s=be.observable(),a=be.observable();be.defineProperty(this,"picking",{get:function(){return a()},set:function(k){a(k),k?n._eventHandler.setInputAction(function(Y){let W=e.pick(Y.endPosition);if(W instanceof Ws?(n.feature=W,n.tile=W.content.tile):l(W)&&l(W.content)?(n.feature=void 0,n.tile=W.content.tile):(n.feature=void 0,n.tile=void 0),!!l(n._tileset)){if(s&&l(W)&&l(W.content)){let Q;e.pickPositionSupported&&(Q=e.pickPosition(Y.endPosition),l(Q)&&(n._tileset.debugPickPosition=Q)),n._tileset.debugPickedTile=W.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},Cn.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(Cn.MOUSE_MOVE))}}),this.picking=!0;let c=be.observable();be.defineProperty(this,"colorize",{get:function(){return c()},set:function(k){c(k),l(n._tileset)&&(n._tileset.debugColorizeTiles=k,n._scene.requestRender())}}),this.colorize=!1;let u=be.observable();be.defineProperty(this,"wireframe",{get:function(){return u()},set:function(k){u(k),l(n._tileset)&&(n._tileset.debugWireframe=k,n._scene.requestRender())}}),this.wireframe=!1;let f=be.observable();be.defineProperty(this,"showBoundingVolumes",{get:function(){return f()},set:function(k){f(k),l(n._tileset)&&(n._tileset.debugShowBoundingVolume=k,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let d=be.observable();be.defineProperty(this,"showContentBoundingVolumes",{get:function(){return d()},set:function(k){d(k),l(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=k,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=be.observable();be.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(k){p(k),l(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=k,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=be.observable();be.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(k){g(k),l(n._tileset)&&(n._tileset.debugFreezeFrame=k,n._scene.debugShowFrustumPlanes=k,n._scene.requestRender())}}),this.freezeFrame=!1,be.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(k){s(k),l(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=k,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let m=be.observable();be.defineProperty(this,"showGeometricError",{get:function(){return m()},set:function(k){m(k),l(n._tileset)&&(n._tileset.debugShowGeometricError=k,n._scene.requestRender())}}),this.showGeometricError=!1;let x=be.observable();be.defineProperty(this,"showRenderingStatistics",{get:function(){return x()},set:function(k){x(k),l(n._tileset)&&(n._tileset.debugShowRenderingStatistics=k,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let b=be.observable();be.defineProperty(this,"showMemoryUsage",{get:function(){return b()},set:function(k){b(k),l(n._tileset)&&(n._tileset.debugShowMemoryUsage=k,n._scene.requestRender())}}),this.showMemoryUsage=!1;let T=be.observable();be.defineProperty(this,"showUrl",{get:function(){return T()},set:function(k){T(k),l(n._tileset)&&(n._tileset.debugShowUrl=k,n._scene.requestRender())}}),this.showUrl=!1;let A=be.observable();be.defineProperty(this,"maximumScreenSpaceError",{get:function(){return A()},set:function(k){k=Number(k),isNaN(k)||(A(k),l(n._tileset)&&(n._tileset.maximumScreenSpaceError=k))}}),this.maximumScreenSpaceError=16;let C=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return C()},set:function(k){k=Number(k),isNaN(k)||(C(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=k))}}),this.dynamicScreenSpaceErrorDensity=2e-4,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,be.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(C(),1/6)},set:function(k){let Y=Math.pow(k,6);C(Y),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=Y)}});let E=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return E()},set:function(k){k=Number(k),isNaN(k)||(E(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=k))}}),this.dynamicScreenSpaceErrorFactor=24;let v=rSt(this),D=be.observable();be.defineProperty(this,"pickActive",{get:function(){return D()},set:function(k){D(k),k?n._eventHandler.setInputAction(v,Cn.LEFT_CLICK):n._eventHandler.removeInputAction(Cn.LEFT_CLICK)}});let O=be.observable();be.defineProperty(this,"pointCloudShading",{get:function(){return O()},set:function(k){O(k),l(n._tileset)&&(n._tileset.pointCloudShading.attenuation=k)}}),this.pointCloudShading=!1;let R=be.observable();be.defineProperty(this,"geometricErrorScale",{get:function(){return R()},set:function(k){k=Number(k),isNaN(k)||(R(k),l(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=k))}}),this.geometricErrorScale=1;let M=be.observable();be.defineProperty(this,"maximumAttenuation",{get:function(){return M()},set:function(k){k=Number(k),isNaN(k)||(M(k),l(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=k===0?void 0:k))}}),this.maximumAttenuation=0;let N=be.observable();be.defineProperty(this,"baseResolution",{get:function(){return N()},set:function(k){k=Number(k),isNaN(k)||(N(k),l(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=k===0?void 0:k))}}),this.baseResolution=0;let _=be.observable();be.defineProperty(this,"eyeDomeLighting",{get:function(){return _()},set:function(k){_(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=k)}}),this.eyeDomeLighting=!1;let S=be.observable();be.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return S()},set:function(k){k=Number(k),isNaN(k)||(S(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=k))}}),this.eyeDomeLightingStrength=1;let w=be.observable();be.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return w()},set:function(k){k=Number(k),isNaN(k)||(w(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=k))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let I=be.observable();be.defineProperty(this,"skipLevelOfDetail",{get:function(){return I()},set:function(k){I(k),l(n._tileset)&&(n._tileset.skipLevelOfDetail=k)}}),this.skipLevelOfDetail=!0;let L=be.observable();be.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return L()},set:function(k){k=Number(k),isNaN(k)||(L(k),l(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=k))}}),this.skipScreenSpaceErrorFactor=16;let B=be.observable();be.defineProperty(this,"baseScreenSpaceError",{get:function(){return B()},set:function(k){k=Number(k),isNaN(k)||(B(k),l(n._tileset)&&(n._tileset.baseScreenSpaceError=k))}}),this.baseScreenSpaceError=1024;let U=be.observable();be.defineProperty(this,"skipLevels",{get:function(){return U()},set:function(k){k=Number(k),isNaN(k)||(U(k),l(n._tileset)&&(n._tileset.skipLevels=k))}}),this.skipLevels=1;let V=be.observable();be.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return V()},set:function(k){V(k),l(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=k)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let G=be.observable();be.defineProperty(this,"loadSiblings",{get:function(){return G()},set:function(k){G(k),l(n._tileset)&&(n._tileset.loadSiblings=k)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),l(this._tileset)||BAe(this,!0)}Object.defineProperties(va.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return aSt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,l(e)){this._properties(e.properties);let t=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],n=t.length;for(let o=0;o<n;++o){let r=t[o];this[r]=this[r]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings,this.hasEnabledWireframe=e._enableDebugWireframe;let i=e.pointCloudShading;this.pointCloudShading=i.attenuation,this.geometricErrorScale=i.geometricErrorScale,this.maximumAttenuation=i.maximumAttenuation?i.maximumAttenuation:0,this.baseResolution=i.baseResolution?i.baseResolution:0,this.eyeDomeLighting=i.eyeDomeLighting,this.eyeDomeLightingStrength=i.eyeDomeLightingStrength,this.eyeDomeLightingRadius=i.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=hk(e,!1),this._pickStatisticsText=hk(e,!0),this._resourceCacheStatisticsText=kAe(),BAe(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;l(t)&&!t.content.isDestroyed()&&(!this.colorize&&l(this._style)?t.color=l(this._style.color)?this._style.color.evaluateColor(t,cSt):H.WHITE:t.color=HG,this._scene.requestRender()),l(e)&&(H.clone(e.color,HG),e.color=FAe,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;l(t)&&!t.isDestroyed()&&!rQ(t.content)&&(t.color=HG,this._scene.requestRender()),l(e)&&!rQ(e.content)&&(H.clone(e.color,HG),e.color=FAe,this._scene.requestRender()),this._tile=e}}});function rQ(e){if(!l(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)if(!rQ(t[i]))return!1;return!0}return!1}va.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};va.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};va.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};va.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};va.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};va.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};va.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};va.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};va.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};va.prototype.trimTilesCache=function(){l(this._tileset)&&this._tileset.trimLoadedTiles()};va.prototype.compileStyle=function(){let e=this._tileset;if(!(!l(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new RT(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};va.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` + `}var JSt=[{text:"Highlight",value:Dl.HIGHLIGHT},{text:"Replace",value:Dl.REPLACE},{text:"Mix",value:Dl.MIX}],oEe=new H(1,1,0,.4),evt=new H,KG=new H;function va(e,t){let n=this,i=e.canvas;this._eventHandler=new Ku(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new pg({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,be.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=be.observable({}),this.properties=[],be.defineProperty(this,"properties",function(){let k=[],W=n._properties();for(let Y in W)W.hasOwnProperty(Y)&&k.push(Y);return k});let o=be.observable();be.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(k){o(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceError=k)}}),this.dynamicScreenSpaceError=!1;let r=be.observable();be.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(k){r(k),l(n._tileset)&&(n._tileset.colorBlendMode=k,n._scene.requestRender())}}),this.colorBlendMode=Dl.HIGHLIGHT;let s=be.observable(),a=be.observable();be.defineProperty(this,"picking",{get:function(){return a()},set:function(k){a(k),k?n._eventHandler.setInputAction(function(W){let Y=e.pick(W.endPosition);if(Y instanceof Ks?(n.feature=Y,n.tile=Y.content.tile):l(Y)&&l(Y.content)?(n.feature=void 0,n.tile=Y.content.tile):(n.feature=void 0,n.tile=void 0),!!l(n._tileset)){if(s&&l(Y)&&l(Y.content)){let Q;e.pickPositionSupported&&(Q=e.pickPosition(W.endPosition),l(Q)&&(n._tileset.debugPickPosition=Q)),n._tileset.debugPickedTile=Y.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},An.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(An.MOUSE_MOVE))}}),this.picking=!0;let c=be.observable();be.defineProperty(this,"colorize",{get:function(){return c()},set:function(k){c(k),l(n._tileset)&&(n._tileset.debugColorizeTiles=k,n._scene.requestRender())}}),this.colorize=!1;let u=be.observable();be.defineProperty(this,"wireframe",{get:function(){return u()},set:function(k){u(k),l(n._tileset)&&(n._tileset.debugWireframe=k,n._scene.requestRender())}}),this.wireframe=!1;let f=be.observable();be.defineProperty(this,"showBoundingVolumes",{get:function(){return f()},set:function(k){f(k),l(n._tileset)&&(n._tileset.debugShowBoundingVolume=k,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let d=be.observable();be.defineProperty(this,"showContentBoundingVolumes",{get:function(){return d()},set:function(k){d(k),l(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=k,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=be.observable();be.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(k){p(k),l(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=k,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=be.observable();be.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(k){g(k),l(n._tileset)&&(n._tileset.debugFreezeFrame=k,n._scene.debugShowFrustumPlanes=k,n._scene.requestRender())}}),this.freezeFrame=!1,be.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(k){s(k),l(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=k,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let m=be.observable();be.defineProperty(this,"showGeometricError",{get:function(){return m()},set:function(k){m(k),l(n._tileset)&&(n._tileset.debugShowGeometricError=k,n._scene.requestRender())}}),this.showGeometricError=!1;let x=be.observable();be.defineProperty(this,"showRenderingStatistics",{get:function(){return x()},set:function(k){x(k),l(n._tileset)&&(n._tileset.debugShowRenderingStatistics=k,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let b=be.observable();be.defineProperty(this,"showMemoryUsage",{get:function(){return b()},set:function(k){b(k),l(n._tileset)&&(n._tileset.debugShowMemoryUsage=k,n._scene.requestRender())}}),this.showMemoryUsage=!1;let T=be.observable();be.defineProperty(this,"showUrl",{get:function(){return T()},set:function(k){T(k),l(n._tileset)&&(n._tileset.debugShowUrl=k,n._scene.requestRender())}}),this.showUrl=!1;let A=be.observable();be.defineProperty(this,"maximumScreenSpaceError",{get:function(){return A()},set:function(k){k=Number(k),isNaN(k)||(A(k),l(n._tileset)&&(n._tileset.maximumScreenSpaceError=k))}}),this.maximumScreenSpaceError=16;let C=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return C()},set:function(k){k=Number(k),isNaN(k)||(C(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=k))}}),this.dynamicScreenSpaceErrorDensity=2e-4,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,be.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(C(),1/6)},set:function(k){let W=Math.pow(k,6);C(W),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=W)}});let E=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return E()},set:function(k){k=Number(k),isNaN(k)||(E(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=k))}}),this.dynamicScreenSpaceErrorFactor=24;let v=$St(this),D=be.observable();be.defineProperty(this,"pickActive",{get:function(){return D()},set:function(k){D(k),k?n._eventHandler.setInputAction(v,An.LEFT_CLICK):n._eventHandler.removeInputAction(An.LEFT_CLICK)}});let O=be.observable();be.defineProperty(this,"pointCloudShading",{get:function(){return O()},set:function(k){O(k),l(n._tileset)&&(n._tileset.pointCloudShading.attenuation=k)}}),this.pointCloudShading=!1;let R=be.observable();be.defineProperty(this,"geometricErrorScale",{get:function(){return R()},set:function(k){k=Number(k),isNaN(k)||(R(k),l(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=k))}}),this.geometricErrorScale=1;let M=be.observable();be.defineProperty(this,"maximumAttenuation",{get:function(){return M()},set:function(k){k=Number(k),isNaN(k)||(M(k),l(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=k===0?void 0:k))}}),this.maximumAttenuation=0;let N=be.observable();be.defineProperty(this,"baseResolution",{get:function(){return N()},set:function(k){k=Number(k),isNaN(k)||(N(k),l(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=k===0?void 0:k))}}),this.baseResolution=0;let _=be.observable();be.defineProperty(this,"eyeDomeLighting",{get:function(){return _()},set:function(k){_(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=k)}}),this.eyeDomeLighting=!1;let S=be.observable();be.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return S()},set:function(k){k=Number(k),isNaN(k)||(S(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=k))}}),this.eyeDomeLightingStrength=1;let w=be.observable();be.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return w()},set:function(k){k=Number(k),isNaN(k)||(w(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=k))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let I=be.observable();be.defineProperty(this,"skipLevelOfDetail",{get:function(){return I()},set:function(k){I(k),l(n._tileset)&&(n._tileset.skipLevelOfDetail=k)}}),this.skipLevelOfDetail=!0;let L=be.observable();be.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return L()},set:function(k){k=Number(k),isNaN(k)||(L(k),l(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=k))}}),this.skipScreenSpaceErrorFactor=16;let B=be.observable();be.defineProperty(this,"baseScreenSpaceError",{get:function(){return B()},set:function(k){k=Number(k),isNaN(k)||(B(k),l(n._tileset)&&(n._tileset.baseScreenSpaceError=k))}}),this.baseScreenSpaceError=1024;let U=be.observable();be.defineProperty(this,"skipLevels",{get:function(){return U()},set:function(k){k=Number(k),isNaN(k)||(U(k),l(n._tileset)&&(n._tileset.skipLevels=k))}}),this.skipLevels=1;let V=be.observable();be.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return V()},set:function(k){V(k),l(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=k)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let G=be.observable();be.defineProperty(this,"loadSiblings",{get:function(){return G()},set:function(k){G(k),l(n._tileset)&&(n._tileset.loadSiblings=k)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),l(this._tileset)||rEe(this,!0)}Object.defineProperties(va.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return JSt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,l(e)){this._properties(e.properties);let t=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],n=t.length;for(let o=0;o<n;++o){let r=t[o];this[r]=this[r]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings,this.hasEnabledWireframe=e._enableDebugWireframe;let i=e.pointCloudShading;this.pointCloudShading=i.attenuation,this.geometricErrorScale=i.geometricErrorScale,this.maximumAttenuation=i.maximumAttenuation?i.maximumAttenuation:0,this.baseResolution=i.baseResolution?i.baseResolution:0,this.eyeDomeLighting=i.eyeDomeLighting,this.eyeDomeLightingStrength=i.eyeDomeLightingStrength,this.eyeDomeLightingRadius=i.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=Sk(e,!1),this._pickStatisticsText=Sk(e,!0),this._resourceCacheStatisticsText=sEe(),rEe(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;l(t)&&!t.content.isDestroyed()&&(!this.colorize&&l(this._style)?t.color=l(this._style.color)?this._style.color.evaluateColor(t,evt):H.WHITE:t.color=KG,this._scene.requestRender()),l(e)&&(H.clone(e.color,KG),e.color=oEe,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;l(t)&&!t.isDestroyed()&&!TQ(t.content)&&(t.color=KG,this._scene.requestRender()),l(e)&&!TQ(e.content)&&(H.clone(e.color,KG),e.color=oEe,this._scene.requestRender()),this._tile=e}}});function TQ(e){if(!l(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)if(!TQ(t[i]))return!1;return!0}return!1}va.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};va.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};va.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};va.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};va.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};va.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};va.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};va.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};va.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};va.prototype.trimTilesCache=function(){l(this._tileset)&&this._tileset.trimLoadedTiles()};va.prototype.compileStyle=function(){let e=this._tileset;if(!(!l(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new EC(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};va.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` `),c=a.length,u;if(t.shiftKey)for(u=0;u<c;++u)a[u][0]===" "&&(a[u][1]===" "?(a[u]=a[u].substr(2),r-=2):(a[u]=a[u].substr(1),r-=1));else for(u=0;u<c;++u)a[u]=` ${a[u]}`,r+=2;let f=a.join(` -`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};va.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),l(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=hk(e,!1),this._pickStatisticsText=hk(e,!0),this._resourceCacheStatisticsText=kAe())};va.prototype.isDestroyed=function(){return!1};va.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};va.getStatistics=hk;var mk=va;function GG(e,t){e=Rn(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new mk(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=Ka.createSection,c=Ka.createCheckbox,u=Ka.createRangeInput,f=Ka.createButton,d=a(s,"Tileset","tilesetVisible","toggleTileset"),p=a(s,"Display","displayVisible","toggleDisplay"),g=a(s,"Update","updateVisible","toggleUpdate"),m=a(s,"Logging","loggingVisible","toggleLogging"),x=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),b=a(s,"Style","styleVisible","toggleStyle"),T=a(s,"Optimization","optimizationVisible","toggleOptimization"),A=document.createElement("div");A.className="field-group";let C=document.createElement("label");C.className="field-label",C.appendChild(document.createTextNode("Properties: "));let E=document.createElement("div");E.setAttribute("data-bind","text: properties"),A.appendChild(C),A.appendChild(E),d.appendChild(A),d.appendChild(f("Pick Tileset","togglePickTileset","pickActive")),d.appendChild(f("Trim Tiles Cache","trimTilesCache")),d.appendChild(c("Enable Picking","picking")),p.appendChild(c("Colorize","colorize"));let v=p.appendChild(c("Wireframe","wireframe","_tileset === undefined || hasEnabledWireframe")),D=document.createElement("p");D.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),D.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),D.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",v.appendChild(D),p.appendChild(c("Bounding Volumes","showBoundingVolumes")),p.appendChild(c("Content Volumes","showContentBoundingVolumes")),p.appendChild(c("Request Volumes","showRequestVolumes")),p.appendChild(c("Point Cloud Shading","pointCloudShading"));let O=document.createElement("div");O.setAttribute("data-bind","visible: pointCloudShading"),O.appendChild(u("Geometric Error Scale","geometricErrorScale",0,2,.01)),O.appendChild(u("Maximum Attenuation","maximumAttenuation",0,32,1)),O.appendChild(u("Base Resolution","baseResolution",0,1,.01)),O.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),p.appendChild(O);let R=document.createElement("div");R.setAttribute("data-bind","visible: eyeDomeLighting"),R.appendChild(u("EDL Strength","eyeDomeLightingStrength",0,2,.1)),R.appendChild(u("EDL Radius","eyeDomeLightingRadius",0,4,.1)),O.appendChild(R),g.appendChild(c("Freeze Frame","freezeFrame")),g.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let M=document.createElement("div");M.appendChild(u("Maximum Screen Space Error","maximumScreenSpaceError",0,128,1)),g.appendChild(M);let N=document.createElement("div");N.setAttribute("data-bind","visible: dynamicScreenSpaceError"),N.appendChild(u("Screen Space Error Density","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),N.appendChild(u("Screen Space Error Factor","dynamicScreenSpaceErrorFactor",1,32,.1)),g.appendChild(N),m.appendChild(c("Performance","performance")),m.appendChild(i),m.appendChild(c("Statistics","showStatistics"));let _=document.createElement("div");_.className="cesium-3dTilesInspector-statistics",_.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),m.appendChild(_),m.appendChild(c("Pick Statistics","showPickStatistics"));let S=document.createElement("div");S.className="cesium-3dTilesInspector-statistics",S.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),m.appendChild(S),m.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let w=document.createElement("div");w.className="cesium-3dTilesInspector-statistics",w.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),m.appendChild(w);let I=document.createElement("div");b.appendChild(I),I.appendChild(document.createTextNode("Color Blend Mode: "));let L=document.createElement("select");L.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),I.appendChild(L);let B=document.createElement("textarea");B.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),I.className="cesium-cesiumInspector-styleEditor",I.appendChild(B);let U=f("Compile (Ctrl+Enter)","compileStyle");I.appendChild(U);let V=document.createElement("div");V.className="cesium-cesiumInspector-error",V.setAttribute("data-bind","text: editorError"),I.appendChild(V),x.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),x.appendChild(c("Geometric Error","showGeometricError")),x.appendChild(c("Rendering Statistics","showRenderingStatistics")),x.appendChild(c("Memory Usage (MB)","showMemoryUsage")),x.appendChild(c("Url","showUrl")),T.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let G=document.createElement("div");G.appendChild(u("Skip SSE Factor","skipScreenSpaceErrorFactor",1,50,1)),T.appendChild(G);let k=document.createElement("div");k.appendChild(u("SSE before skipping LOD","baseScreenSpaceError",0,4096,1)),T.appendChild(k);let Y=document.createElement("div");Y.appendChild(u("Min. levels to skip","skipLevels",0,10,1)),T.appendChild(Y),T.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),T.appendChild(c("Load siblings of visible tiles","loadSiblings")),be.applyBindings(o,n)}Object.defineProperties(GG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});GG.prototype.isDestroyed=function(){return!1};GG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var pk=GG;function lSt(e){let t;if(l(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>    ${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function sQ(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var uSt=new gn,fSt=new h;function _k(e,t){let n=this,i=e.canvas,o=new Yu(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",be.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=vn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=vn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=vn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=vn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=be.getObservable(this,"frustums").subscribe(function(u){n._scene.debugShowFrustums=u,n._scene.requestRender()}),this._frustumPlanesSubscription=be.getObservable(this,"frustumPlanes").subscribe(function(u){n._scene.debugShowFrustumPlanes=u,n._scene.requestRender()}),this._performanceSubscription=be.getObservable(this,"performance").subscribe(function(u){u?n._performanceDisplay=new dg({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=vn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=be.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=vn(function(){if(n.primitiveReferenceFrame){let u=n._primitive.modelMatrix;n._modelMatrixPrimitive=new w2({modelMatrix:u}),n._scene.primitives.add(n._modelMatrixPrimitive)}else l(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=be.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=vn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(u){return l(n._modelMatrixPrimitive)&&u.owner===n._modelMatrixPrimitive._primitive?!0:l(n._primitive)?u.owner===n._primitive||u.owner===n._primitive._billboardCollection||u.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=be.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=be.getObservable(this,"wireframe").subscribe(function(u){r._surface.tileProvider._debug.wireframe=u,n._scene.requestRender()}),this._depthFrustumSubscription=be.getObservable(this,"depthFrustum").subscribe(function(u){n._scene.debugShowDepthFrustum=u,n._scene.requestRender()}),this._incrementDepthFrustum=vn(function(){let u=n.depthFrustum+1;return n.depthFrustum=sQ(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._decrementDepthFrustum=vn(function(){let u=n.depthFrustum-1;return n.depthFrustum=sQ(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=be.getObservable(this,"suspendUpdates").subscribe(function(u){r._surface._debug.suspendLodUpdate=u,u||(n.filterTile=!1)});let s;this._showTileCoordinates=vn(function(){return n.tileCoordinates&&!l(s)?s=e.imageryLayers.addImageryProvider(new W3({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&l(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=be.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=be.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=vn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=vn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],l(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=be.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(u){let f=n._scene.pick({x:u.position.x,y:u.position.y});l(f)&&(n.primitive=l(f.collection)?f.collection:f.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=vn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=be.getObservable(this,"pickPrimitiveActive").subscribe(function(u){u?o.setInputAction(a,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)});function c(u){let f,d=r.ellipsoid,p=n._scene.camera.getPickRay(u.position,uSt),g=r.pick(p,n._scene,fSt);if(l(g)){let m=d.cartesianToCartographic(g),x=r._surface.tileProvider._tilesToRenderByTextureCount;for(let b=0;!f&&b<x.length;++b){let T=x[b];if(l(T))for(let A=0;!f&&A<T.length;++A){let C=T[A];se.contains(C.rectangle,m)&&(f=C)}}}n.tile=f,n.pickTileActive=!1}this._pickTile=vn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=be.getObservable(this,"pickTileActive").subscribe(function(u){u?o.setInputAction(c,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(_k.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return vn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return vn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return vn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return vn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return vn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,l(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,l(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(l(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;l(n)&&l(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});_k.prototype._update=function(){this.frustums&&(this.frustumStatisticText=lSt(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=sQ(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};_k.prototype.isDestroyed=function(){return!1};_k.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),ue(this)};var gk=_k;function WG(e,t){e=Rn(e);let n=document.createElement("div"),i=new gk(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=Ka.createSection,c=Ka.createCheckbox,u=a(s,"General","generalVisible","toggleGeneral"),f=c("Show Frustums","frustums"),d=document.createElement("div");d.className="cesium-cesiumInspector-frustumStatistics",d.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),f.appendChild(d),u.appendChild(f),u.appendChild(c("Show Frustum Planes","frustumPlanes")),u.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",u.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),u.appendChild(p);let g=document.createElement("div");u.appendChild(g);let m=document.createElement("span");m.setAttribute("data-bind",'html: "     Frustum:"'),g.appendChild(m);let x=document.createElement("span");x.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(x);let b=document.createElement("input");b.type="button",b.value="-",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(b);let T=document.createElement("input");T.type="button",T.value="+",T.className="cesium-cesiumInspector-pickButton",T.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(T);let A=a(s,"Primitives","primitivesVisible","togglePrimitives"),C=document.createElement("div");C.className="cesium-cesiumInspector-pickSection",A.appendChild(C);let E=document.createElement("input");E.type="button",E.value="Pick a primitive",E.className="cesium-cesiumInspector-pickButton",E.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let v=document.createElement("div");v.className="cesium-cesiumInspector-center",v.appendChild(E),C.appendChild(v),C.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),C.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),C.appendChild(this._primitiveOnly);let D=a(s,"Terrain","terrainVisible","toggleTerrain"),O=document.createElement("div");O.className="cesium-cesiumInspector-pickSection",D.appendChild(O);let R=document.createElement("input");R.type="button",R.value="Pick a tile",R.className="cesium-cesiumInspector-pickButton",R.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),v=document.createElement("div"),v.appendChild(R),v.className="cesium-cesiumInspector-center",O.appendChild(v);let M=document.createElement("div");O.appendChild(M);let N=document.createElement("input");N.type="button",N.value="Parent",N.className="cesium-cesiumInspector-pickButton",N.setAttribute("data-bind","click: selectParent");let _=document.createElement("input");_.type="button",_.value="NW",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: selectNW");let S=document.createElement("input");S.type="button",S.value="NE",S.className="cesium-cesiumInspector-pickButton",S.setAttribute("data-bind","click: selectNE");let w=document.createElement("input");w.type="button",w.value="SW",w.className="cesium-cesiumInspector-pickButton",w.setAttribute("data-bind","click: selectSW");let I=document.createElement("input");I.type="button",I.value="SE",I.className="cesium-cesiumInspector-pickButton",I.setAttribute("data-bind","click: selectSE");let L=document.createElement("div");L.className="cesium-cesiumInspector-tileText",M.className="cesium-cesiumInspector-frustumStatistics",M.appendChild(L),M.setAttribute("data-bind","visible: hasPickedTile"),L.setAttribute("data-bind","html: tileText");let B=document.createElement("div");B.className="cesium-cesiumInspector-relativeText",B.textContent="Select relative:",M.appendChild(B);let U=document.createElement("table"),V=document.createElement("tr"),G=document.createElement("tr"),k=document.createElement("td");k.appendChild(N);let Y=document.createElement("td");Y.appendChild(_);let W=document.createElement("td");W.appendChild(S),V.appendChild(k),V.appendChild(Y),V.appendChild(W);let Q=document.createElement("td"),j=document.createElement("td");j.appendChild(w);let Z=document.createElement("td");Z.appendChild(I),G.appendChild(Q),G.appendChild(j),G.appendChild(Z),U.appendChild(V),U.appendChild(G),M.appendChild(U),O.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),O.appendChild(c("Show only selected","filterTile","hasPickedTile")),D.appendChild(c("Wireframe","wireframe")),D.appendChild(c("Suspend LOD update","suspendUpdates")),D.appendChild(c("Show tile coordinates","tileCoordinates")),be.applyBindings(i,this._element)}Object.defineProperties(WG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});WG.prototype.isDestroyed=function(){return!1};WG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var yk=WG;function jG(e,t){l(t)||(t=document.body),t=Rn(t);let n=this,i=be.observable(yr.fullscreen),o=be.observable(yr.enabled),r=t.ownerDocument;this.isFullscreen=void 0,be.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,be.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&yr.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=vn(function(){yr.fullscreen?yr.exitFullscreen():yr.requestFullscreen(n._fullscreenElement)},be.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(Rn(e),r.body),this._callback=function(){i(yr.fullscreen)},r.addEventListener(yr.changeEventName,this._callback)}Object.defineProperties(jG.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});jG.prototype.isDestroyed=function(){return!1};jG.prototype.destroy=function(){document.removeEventListener(yr.changeEventName,this._callback),ue(this)};var xk=jG;var dSt="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",hSt="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function qG(e,t){e=Rn(e);let n=new xk(t,e);n._exitFullScreenPath=hSt,n._enterFullScreenPath=dSt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),be.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(qG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});qG.prototype.isDestroyed=function(){return!1};qG.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var bk=qG;var VAe=1e3;function hd(e){l(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new K3({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new me,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=zAe,this._handleArrowUp=UAe;let t=this;this._suggestionsVisible=be.pureComputed(function(){let o=be.getObservable(t,"_suggestions")().length>0,r=be.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=vn(function(i){if(i=y(i,B0.SEARCH),t._focusTextbox=!1,l(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;if(t.hideSuggestions(),t.isSearchInProgress)xSt(t);else return gSt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?UAe(t):r?zAe(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;WAe(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,hd.flyToDestination),this._focusTextbox=!1,be.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=be.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){hd._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,be.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,be.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,be.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(hd.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});hd.prototype.destroy=function(){this._suggestionSubscription.dispose()};function UAe(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],hd._adjustSuggestionsScroll(e,n)}function zAe(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],hd._adjustSuggestionsScroll(e,i)}function mSt(e,t){let n=l(t)?t.availability:void 0;return l(n)?NT(t,[e]).then(function(i){return e=i[0],e.height+=VAe,e}):(e.height+=VAe,Promise.resolve(e))}function pSt(e,t){let n=e._scene,i=n.ellipsoid,o=n.camera,r=n.terrainProvider,s=t,a;return t instanceof se?P.equalsEpsilon(t.south,t.north,P.EPSILON7)&&P.equalsEpsilon(t.east,t.west,P.EPSILON7)?t=se.center(t):a=FT(t,n):t=i.cartesianToCartographic(t),l(a)||(a=mSt(t,r)),a.then(function(c){s=i.cartographicToCartesian(c)}).finally(function(){o.flyTo({destination:s,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:F.IDENTITY})})}async function _St(e,t,n){try{return{state:"fulfilled",value:await e.geocode(t,n),credits:e.credit}}catch(i){return{state:"rejected",reason:i}}}async function gSt(e,t,n){let i=e._searchText;if(GAe(i)){e.showSuggestions();return}e._isSearchInProgress=!0,e._wasGeocodeCancelled=!1;let o,r;for(o=0;o<t.length;o++){if(e._wasGeocodeCancelled)return;if(r=await _St(t[o],i,n),l(r)&&r.state==="fulfilled"&&r.value.length>0)break}if(e._wasGeocodeCancelled)return;e._isSearchInProgress=!1,cQ(e);let s=r.value;if(r.state==="fulfilled"&&l(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);let a=HAe(e,Hv.getCreditsFromResult(s[0]));l(a)||aQ(e,t[o].credit);return}e._searchText=`${i} (not found)`}function aQ(e,t){l(t)&&!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&(e._scene.frameState.creditDisplay.addStaticCredit(t),e._previousCredits.push(t))}function HAe(e,t){return l(t)&&t.forEach(n=>aQ(e,n)),t}function cQ(e){!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&e._previousCredits.forEach(t=>{e._scene.frameState.creditDisplay.removeStaticCredit(t)}),e._previousCredits.length=0}function ySt(e,t){let n=Rn(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function xSt(e){e._isSearchInProgress&&(e._isSearchInProgress=!1,e._wasGeocodeCancelled=!0)}function GAe(e){return/^\s*$/.test(e)}function WAe(e){be.getObservable(e,"_suggestions").removeAll()}async function bSt(e){if(!e.autoComplete)return;let t=e._searchText;if(WAe(e),cQ(e),!GAe(t))for(let n of e._geocoderServices){let i=await n.geocode(t,B0.AUTOCOMPLETE);if(e._suggestions=e._suggestions.concat(i),i.length>0){let o=!0;i.forEach(r=>{let s=Hv.getCreditsFromResult(r);o=o&&!l(s),HAe(e,s)}),o&&aQ(e,n.credit)}if(e._suggestions.length>=5)return}}hd.flyToDestination=pSt;hd._updateSearchSuggestions=bSt;hd._adjustSuggestionsScroll=ySt;hd.prototype.isDestroyed=function(){return!1};hd.prototype.destroy=function(){return cQ(this),ue(this)};var Tk=hd;var TSt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",CSt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function YG(e){let t=Rn(e.container),n=new Tk(e);n._startSearchPath=TSt,n._stopSearchPath=CSt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),be.applyBindings(n,i),be.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(u){let f=u.target;typeof u.composedPath=="function"&&(f=u.composedPath()[0]),t.contains(f)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(u){n._focusTextbox=!0,n.showSuggestions()},Gt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(YG.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});YG.prototype.isDestroyed=function(){return!1};YG.prototype.destroy=function(){let e=this._container;return Gt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),be.cleanNode(this._form),be.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),ue(this)};var Ck=YG;function jAe(e,t){this._scene=e,this._duration=t;let n=this;this._command=vn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",be.track(this,["tooltip"])}Object.defineProperties(jAe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var Ak=jAe;function XG(e,t,n){e=Rn(e);let i=new Ak(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(XG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});XG.prototype.isDestroyed=function(){return!1};XG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Ek=XG;function ASt(e,t){t.currentTarget.parentElement.parentElement.querySelector(`#${e.name}-expander`).classList.toggle("active"),t.currentTarget.textContent=t.currentTarget.textContent==="+"?"-":"+"}function YAe(e,t){be.track(e);for(let n=0;n<e.sublayers.length;n++)YAe(e.sublayers[n],t)}function KG(e){return e.modelName==="FullModel"}function XAe(e){return e.modelName==="Overview"}function KAe(e){return XAe(e)||KG(e)}function qAe(e,t){if(KAe(e)){e.visibility=!1;for(let i=0;i<e.sublayers.length;i++)e.sublayers[i].visibility=!0;let n={name:e.name,modelName:e.modelName,disable:be.observable(!1),index:t.sublayers.length};return t.topLayers.push(n),t.sublayers.push(e),n}}function ESt(e,t){if(KAe(e)){t.sublayers.forEach(i=>i.visibility=!1),t.sublayers[e.index].visibility=!0;let n=document.getElementById("bsl-wrapper");KG(e)?(t.currentLevel=t.selectedLevel,n.style.display="block"):(t.selectedLevel=t.currentLevel,t.currentLevel="All",n.style.display="none")}}async function SSt(e,t){try{let n=e.getAttributeNames();for(let i=0;i<n.length;i++)if(n[i]==="BldgLevel"){let o=e.getAttributeValues(n[i]);for(let r=0;r<o.length;r++)t.push(o[r])}t.sort((i,o)=>i-o),t.unshift("All")}catch(n){console.log(`There was an error getting attributes: ${n}`)}}function vSt(e){let t=this;this.levels=[],this.viewModel={sublayers:[],levels:this.levels,currentLevel:be.observable(),selectedLevel:"All",topLayers:[{name:"Select a layer to explore...",disable:be.observable(!0),index:-1}],currentLayer:be.observable(),expandClickHandler:ASt,setOptionDisable:function(i,o){be.applyBindingsToNode(i,{disable:o.disable},o)},defaultLayer:void 0},this.viewModel.currentLayer.subscribe(function(i){ESt(i,t.viewModel)});let n=e.sublayers;for(let i=0;i<n.length;i++){YAe(n[i],this.viewModel);let o=qAe(n[i],this.viewModel);l(o)&&(XAe(o)||!l(this.viewModel.defaultLayer)&&KG(o))&&(this.viewModel.defaultLayer=o)}if(this.viewModel.topLayers.length===1&&n.length>0){e.show=!1;let i={name:"Full Model",modelName:"FullModel",visibility:e.show,sublayers:e.sublayers};this.viewModel.defaultLayer=qAe(i,this.viewModel),this.viewModel.currentLayer.subscribe(function(o){e.show=KG(o)})}else this.viewModel.topLayers.length===1&&(this.viewModel.topLayers[0].name="Building layers not found");return SSt(e,this.levels),this.viewModel.currentLevel.subscribe(function(i){i!=="All"?e.filterByAttributes([{name:"BldgLevel",values:[i]}]):e.filterByAttributes()}),this.viewModel}var Sk=vSt;function wSt(e,t){let n=document.getElementById(e),i=document.createElement("div");i.classList.add("cesium-viewer-i3s-explorer"),i.innerHTML=` +`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};va.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),l(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=Sk(e,!1),this._pickStatisticsText=Sk(e,!0),this._resourceCacheStatisticsText=sEe())};va.prototype.isDestroyed=function(){return!1};va.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};va.getStatistics=Sk;var vk=va;function ZG(e,t){e=Rn(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new vk(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=Ka.createSection,c=Ka.createCheckbox,u=Ka.createRangeInput,f=Ka.createButton,d=a(s,"Tileset","tilesetVisible","toggleTileset"),p=a(s,"Display","displayVisible","toggleDisplay"),g=a(s,"Update","updateVisible","toggleUpdate"),m=a(s,"Logging","loggingVisible","toggleLogging"),x=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),b=a(s,"Style","styleVisible","toggleStyle"),T=a(s,"Optimization","optimizationVisible","toggleOptimization"),A=document.createElement("div");A.className="field-group";let C=document.createElement("label");C.className="field-label",C.appendChild(document.createTextNode("Properties: "));let E=document.createElement("div");E.setAttribute("data-bind","text: properties"),A.appendChild(C),A.appendChild(E),d.appendChild(A),d.appendChild(f("Pick Tileset","togglePickTileset","pickActive")),d.appendChild(f("Trim Tiles Cache","trimTilesCache")),d.appendChild(c("Enable Picking","picking")),p.appendChild(c("Colorize","colorize"));let v=p.appendChild(c("Wireframe","wireframe","_tileset === undefined || hasEnabledWireframe")),D=document.createElement("p");D.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),D.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),D.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",v.appendChild(D),p.appendChild(c("Bounding Volumes","showBoundingVolumes")),p.appendChild(c("Content Volumes","showContentBoundingVolumes")),p.appendChild(c("Request Volumes","showRequestVolumes")),p.appendChild(c("Point Cloud Shading","pointCloudShading"));let O=document.createElement("div");O.setAttribute("data-bind","visible: pointCloudShading"),O.appendChild(u("Geometric Error Scale","geometricErrorScale",0,2,.01)),O.appendChild(u("Maximum Attenuation","maximumAttenuation",0,32,1)),O.appendChild(u("Base Resolution","baseResolution",0,1,.01)),O.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),p.appendChild(O);let R=document.createElement("div");R.setAttribute("data-bind","visible: eyeDomeLighting"),R.appendChild(u("EDL Strength","eyeDomeLightingStrength",0,2,.1)),R.appendChild(u("EDL Radius","eyeDomeLightingRadius",0,4,.1)),O.appendChild(R),g.appendChild(c("Freeze Frame","freezeFrame")),g.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let M=document.createElement("div");M.appendChild(u("Maximum Screen Space Error","maximumScreenSpaceError",0,128,1)),g.appendChild(M);let N=document.createElement("div");N.setAttribute("data-bind","visible: dynamicScreenSpaceError"),N.appendChild(u("Screen Space Error Density","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),N.appendChild(u("Screen Space Error Factor","dynamicScreenSpaceErrorFactor",1,32,.1)),g.appendChild(N),m.appendChild(c("Performance","performance")),m.appendChild(i),m.appendChild(c("Statistics","showStatistics"));let _=document.createElement("div");_.className="cesium-3dTilesInspector-statistics",_.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),m.appendChild(_),m.appendChild(c("Pick Statistics","showPickStatistics"));let S=document.createElement("div");S.className="cesium-3dTilesInspector-statistics",S.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),m.appendChild(S),m.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let w=document.createElement("div");w.className="cesium-3dTilesInspector-statistics",w.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),m.appendChild(w);let I=document.createElement("div");b.appendChild(I),I.appendChild(document.createTextNode("Color Blend Mode: "));let L=document.createElement("select");L.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),I.appendChild(L);let B=document.createElement("textarea");B.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),I.className="cesium-cesiumInspector-styleEditor",I.appendChild(B);let U=f("Compile (Ctrl+Enter)","compileStyle");I.appendChild(U);let V=document.createElement("div");V.className="cesium-cesiumInspector-error",V.setAttribute("data-bind","text: editorError"),I.appendChild(V),x.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),x.appendChild(c("Geometric Error","showGeometricError")),x.appendChild(c("Rendering Statistics","showRenderingStatistics")),x.appendChild(c("Memory Usage (MB)","showMemoryUsage")),x.appendChild(c("Url","showUrl")),T.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let G=document.createElement("div");G.appendChild(u("Skip SSE Factor","skipScreenSpaceErrorFactor",1,50,1)),T.appendChild(G);let k=document.createElement("div");k.appendChild(u("SSE before skipping LOD","baseScreenSpaceError",0,4096,1)),T.appendChild(k);let W=document.createElement("div");W.appendChild(u("Min. levels to skip","skipLevels",0,10,1)),T.appendChild(W),T.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),T.appendChild(c("Load siblings of visible tiles","loadSiblings")),be.applyBindings(o,n)}Object.defineProperties(ZG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});ZG.prototype.isDestroyed=function(){return!1};ZG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var wk=ZG;function $G(e,t){l(t)||(t=document.body),t=Rn(t);let n=this,i=be.observable(Ar.fullscreen),o=be.observable(Ar.enabled),r=t.ownerDocument;this.isFullscreen=void 0,be.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,be.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&Ar.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=vn(function(){Ar.fullscreen?Ar.exitFullscreen():Ar.requestFullscreen(n._fullscreenElement)},be.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(Rn(e),r.body),this._callback=function(){i(Ar.fullscreen)},r.addEventListener(Ar.changeEventName,this._callback)}Object.defineProperties($G.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});$G.prototype.isDestroyed=function(){return!1};$G.prototype.destroy=function(){document.removeEventListener(Ar.changeEventName,this._callback),ue(this)};var Dk=$G;var tvt="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",nvt="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function QG(e,t){e=Rn(e);let n=new Dk(t,e);n._exitFullScreenPath=nvt,n._enterFullScreenPath=tvt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),be.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(QG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});QG.prototype.isDestroyed=function(){return!1};QG.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Ik=QG;var aEe=1e3;function gd(e){l(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new HT({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new me,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=lEe,this._handleArrowUp=cEe;let t=this;this._suggestionsVisible=be.pureComputed(function(){let o=be.getObservable(t,"_suggestions")().length>0,r=be.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=vn(function(i){if(i=y(i,P0.SEARCH),t._focusTextbox=!1,l(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;if(t.hideSuggestions(),t.isSearchInProgress)cvt(t);else return svt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?cEe(t):r?lEe(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;dEe(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,gd.flyToDestination),this._focusTextbox=!1,be.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=be.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){gd._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,be.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,be.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,be.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(gd.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});gd.prototype.destroy=function(){this._suggestionSubscription.dispose()};function cEe(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],gd._adjustSuggestionsScroll(e,n)}function lEe(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],gd._adjustSuggestionsScroll(e,i)}function ivt(e,t){let n=l(t)?t.availability:void 0;return l(n)?GT(t,[e]).then(function(i){return e=i[0],e.height+=aEe,e}):(e.height+=aEe,Promise.resolve(e))}function ovt(e,t){let n=e._scene,i=n.ellipsoid,o=n.camera,r=n.terrainProvider,s=t,a;return t instanceof ae?P.equalsEpsilon(t.south,t.north,P.EPSILON7)&&P.equalsEpsilon(t.east,t.west,P.EPSILON7)?t=ae.center(t):a=YT(t,n):t=i.cartesianToCartographic(t),l(a)||(a=ivt(t,r)),a.then(function(c){s=i.cartographicToCartesian(c)}).finally(function(){o.flyTo({destination:s,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:F.IDENTITY})})}async function rvt(e,t,n){try{return{state:"fulfilled",value:await e.geocode(t,n),credits:e.credit}}catch(i){return{state:"rejected",reason:i}}}async function svt(e,t,n){let i=e._searchText;if(fEe(i)){e.showSuggestions();return}e._isSearchInProgress=!0,e._wasGeocodeCancelled=!1;let o,r;for(o=0;o<t.length;o++){if(e._wasGeocodeCancelled)return;if(r=await rvt(t[o],i,n),l(r)&&r.state==="fulfilled"&&r.value.length>0)break}if(e._wasGeocodeCancelled)return;e._isSearchInProgress=!1,AQ(e);let s=r.value;if(r.state==="fulfilled"&&l(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);let a=uEe(e,KS.getCreditsFromResult(s[0]));l(a)||CQ(e,t[o].credit);return}e._searchText=`${i} (not found)`}function CQ(e,t){l(t)&&!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&(e._scene.frameState.creditDisplay.addStaticCredit(t),e._previousCredits.push(t))}function uEe(e,t){return l(t)&&t.forEach(n=>CQ(e,n)),t}function AQ(e){!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&e._previousCredits.forEach(t=>{e._scene.frameState.creditDisplay.removeStaticCredit(t)}),e._previousCredits.length=0}function avt(e,t){let n=Rn(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function cvt(e){e._isSearchInProgress&&(e._isSearchInProgress=!1,e._wasGeocodeCancelled=!0)}function fEe(e){return/^\s*$/.test(e)}function dEe(e){be.getObservable(e,"_suggestions").removeAll()}async function lvt(e){if(!e.autoComplete)return;let t=e._searchText;if(dEe(e),AQ(e),!fEe(t))for(let n of e._geocoderServices){let i=await n.geocode(t,P0.AUTOCOMPLETE);if(e._suggestions=e._suggestions.concat(i),i.length>0){let o=!0;i.forEach(r=>{let s=KS.getCreditsFromResult(r);o=o&&!l(s),uEe(e,s)}),o&&CQ(e,n.credit)}if(e._suggestions.length>=5)return}}gd.flyToDestination=ovt;gd._updateSearchSuggestions=lvt;gd._adjustSuggestionsScroll=avt;gd.prototype.isDestroyed=function(){return!1};gd.prototype.destroy=function(){return AQ(this),ue(this)};var Pk=gd;var uvt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",fvt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function JG(e){let t=Rn(e.container),n=new Pk(e);n._startSearchPath=uvt,n._stopSearchPath=fvt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),be.applyBindings(n,i),be.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(u){let f=u.target;typeof u.composedPath=="function"&&(f=u.composedPath()[0]),t.contains(f)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(u){n._focusTextbox=!0,n.showSuggestions()},Gt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(JG.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});JG.prototype.isDestroyed=function(){return!1};JG.prototype.destroy=function(){let e=this._container;return Gt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),be.cleanNode(this._form),be.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),ue(this)};var Rk=JG;function hEe(e,t){this._scene=e,this._duration=t;let n=this;this._command=vn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",be.track(this,["tooltip"])}Object.defineProperties(hEe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var Ok=hEe;function e5(e,t,n){e=Rn(e);let i=new Ok(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(e5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});e5.prototype.isDestroyed=function(){return!1};e5.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Mk=e5;function dvt(e,t){t.currentTarget.parentElement.parentElement.querySelector(`#${e.name}-expander`).classList.toggle("active"),t.currentTarget.textContent=t.currentTarget.textContent==="+"?"-":"+"}function pEe(e,t){be.track(e);for(let n=0;n<e.sublayers.length;n++)pEe(e.sublayers[n],t)}function t5(e){return e.modelName==="FullModel"}function _Ee(e){return e.modelName==="Overview"}function gEe(e){return _Ee(e)||t5(e)}function mEe(e,t){if(gEe(e)){e.visibility=!1;for(let i=0;i<e.sublayers.length;i++)e.sublayers[i].visibility=!0;let n={name:e.name,modelName:e.modelName,disable:be.observable(!1),index:t.sublayers.length};return t.topLayers.push(n),t.sublayers.push(e),n}}function hvt(e,t){if(gEe(e)){t.sublayers.forEach(i=>i.visibility=!1),t.sublayers[e.index].visibility=!0;let n=document.getElementById("bsl-wrapper");t5(e)?(t.currentLevel=t.selectedLevel,n.style.display="block"):(t.selectedLevel=t.currentLevel,t.currentLevel="All",n.style.display="none")}}async function mvt(e,t){try{let n=e.getAttributeNames();for(let i=0;i<n.length;i++)if(n[i]==="BldgLevel"){let o=e.getAttributeValues(n[i]);for(let r=0;r<o.length;r++)t.push(o[r])}t.sort((i,o)=>i-o),t.unshift("All")}catch(n){console.log(`There was an error getting attributes: ${n}`)}}function pvt(e){let t=this;this.levels=[],this.viewModel={sublayers:[],levels:this.levels,currentLevel:be.observable(),selectedLevel:"All",topLayers:[{name:"Select a layer to explore...",disable:be.observable(!0),index:-1}],currentLayer:be.observable(),expandClickHandler:dvt,setOptionDisable:function(i,o){be.applyBindingsToNode(i,{disable:o.disable},o)},defaultLayer:void 0},this.viewModel.currentLayer.subscribe(function(i){hvt(i,t.viewModel)});let n=e.sublayers;for(let i=0;i<n.length;i++){pEe(n[i],this.viewModel);let o=mEe(n[i],this.viewModel);l(o)&&(_Ee(o)||!l(this.viewModel.defaultLayer)&&t5(o))&&(this.viewModel.defaultLayer=o)}if(this.viewModel.topLayers.length===1&&n.length>0){e.show=!1;let i={name:"Full Model",modelName:"FullModel",visibility:e.show,sublayers:e.sublayers};this.viewModel.defaultLayer=mEe(i,this.viewModel),this.viewModel.currentLayer.subscribe(function(o){e.show=t5(o)})}else this.viewModel.topLayers.length===1&&(this.viewModel.topLayers[0].name="Building layers not found");return mvt(e,this.levels),this.viewModel.currentLevel.subscribe(function(i){i!=="All"?e.filterByAttributes([{name:"BldgLevel",values:[i]}]):e.filterByAttributes()}),this.viewModel}var Lk=pvt;function _vt(e,t){let n=document.getElementById(e),i=document.createElement("div");i.classList.add("cesium-viewer-i3s-explorer"),i.innerHTML=` <h3>Building explorer</h3> <select data-bind="options: topLayers, optionsText: 'name', optionsAfterRender: setOptionDisable, value: currentLayer" @@ -16033,8 +16249,8 @@ http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:functio </li> </ul> </ul> - </div>`,n.appendChild(i);let o=new Sk(t);be.track(o),be.applyBindings(o,n),l(o.defaultLayer)&&(o.currentLayer=o.defaultLayer)}var lQ=wSt;var DSt="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",ISt="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function uQ(){this._cameraClicked=new me,this._closeClicked=new me,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",be.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,be.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?ISt:DSt}}),be.defineProperty(this,"_bodyless",{get:function(){return!l(this.description)||this.description.length===0}})}uQ.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(uQ.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var vk=uQ;function ZG(e){e=Rn(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="×",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new vk;be.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,u=c.createElement("link");u.href=rn("Widgets/InfoBox/InfoBoxDescription.css"),u.rel="stylesheet",u.type="text/css";let f=c.createElement("div");f.className="cesium-infoBox-description",c.head.appendChild(u),c.body.appendChild(f),a._descriptionSubscription=Sa(s,"description",function(d){r.style.height="5px",f.innerHTML=d;let p=null,g=f.firstElementChild;if(g!==null&&f.childNodes.length===1){let x=window.getComputedStyle(g);if(x!==null){let b=x["background-color"],T=H.fromCssColorString(b);l(T)&&T.alpha!==0&&(p=x["background-color"])}}t.style["background-color"]=p;let m=f.getBoundingClientRect().height;r.style.height=`${m}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(ZG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});ZG.prototype.isDestroyed=function(){return!1};ZG.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),l(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),ue(this)};var wk=ZG;function fQ(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,be.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=vn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=k2.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(fQ.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});fQ.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),ue(this)};var Dk=fQ;function $G(e){let t=Rn(e.container),n=new Dk(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="×",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),be.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties($G.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});$G.prototype.isDestroyed=function(){return!1};$G.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Ik=$G;function ZAe(){this.showInstructions=!1;let e=this;this._command=vn(function(){e.showInstructions=!e.showInstructions}),this._showClick=vn(function(){e._touch=!1}),this._showTouch=vn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",be.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(ZAe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var Pk=ZAe;function QG(e){let t=Rn(e.container),n=new Pk,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=rn("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let u=document.createElement("button");u.type="button",u.className="cesium-navigation-button cesium-navigation-button-right",u.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let f=document.createElement("img");f.src=rn("Widgets/Images/NavigationHelp/Touch.svg"),f.className="cesium-navigation-button-icon",f.style.width="25px",f.style.height="25px",u.appendChild(f),u.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(u);let d=document.createElement("div");d.className="cesium-click-navigation-help cesium-navigation-help-instructions",d.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),d.innerHTML=` <table> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(d);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),be.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(QG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});QG.prototype.isDestroyed=function(){return!1};QG.prototype.destroy=function(){return Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var Rk=QG;function JG(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new zr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",be.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,be.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===ne.SCENE2D?n.tooltip2D:o===ne.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=vn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=vn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=vn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=vn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=ne}Object.defineProperties(JG.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});JG.prototype.isDestroyed=function(){return!1};JG.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var Ok=JG;var PSt="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",RSt="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",OSt="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function e5(e,t,n){e=Rn(e);let i=new Ok(t,n);i._globePath=PSt,i._flatMapPath=RSt,i._columbusViewPath=OSt;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(c),be.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(u){o.contains(u.target)||(i.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(e5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});e5.prototype.isDestroyed=function(){return!1};e5.prototype.destroy=function(){return this._viewModel.destroy(),Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var Mk=e5;function t5(e){this._scene=e,this._orthographic=e.camera.frustum instanceof cn,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,be.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;be.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=vn(function(){t.sceneMode===ne.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new zr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===ne.SCENE2D||t._scene.camera.frustum instanceof cn}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=l(e.camera._currentFlight)}),this._switchToPerspective=vn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=vn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=ne}Object.defineProperties(t5.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});t5.prototype.isDestroyed=function(){return!1};t5.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var Lk=t5;var MSt="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",LSt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function n5(e,t){e=Rn(e);let n=new Lk(t);n._perspectivePath=MSt,n._orthographicPath=LSt;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),be.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(n5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});n5.prototype.isDestroyed=function(){return!1};n5.prototype.destroy=function(){return this._viewModel.destroy(),Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var Nk=n5;var NSt=new z,i5="-1000px";function Fk(e,t,n){this._scene=e,this._screenPositionX=i5,this._screenPositionY=i5,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,be.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,be.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&l(this.position)}}),be.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return Gi.worldToWindowCoordinates(e,i,o)}}Fk.prototype.update=function(){if(this.showSelection&&l(this.position)){let e=this.computeScreenSpacePosition(this.position,NSt);if(!l(e))this._screenPositionX=i5,this._screenPositionY=i5;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};Fk.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Yr.EXPONENTIAL_OUT})};Fk.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Yr.EXPONENTIAL_OUT})};Object.defineProperties(Fk.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var Bk=Fk;function o5(e,t){e=Rn(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new Bk(t,this._element,this._container);this._viewModel=c,be.applyBindings(this._viewModel,this._element)}Object.defineProperties(o5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});o5.prototype.isDestroyed=function(){return!1};o5.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),ue(this)};var kk=o5;function PC(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}PC.prototype.getHeight=function(){return this._height};PC.prototype.getBase=function(){return this._base};PC.prototype.getStartTime=function(){return this._start};PC.prototype.getStopTime=function(){return this._stop};PC.prototype.setRange=function(e,t){this._start=e,this._stop=t};PC.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=K.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=K.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var Vk=PC;function $Ae(e,t,n,i){this.interval=e,this.height=t,this.color=n||new H(.5,.5,.5,1),this.backgroundColor=i||new H(0,0,0,0)}$Ae.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=K.addSeconds(t.startJulian,t.duration,new K);if(K.lessThan(n,o)&&K.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(K.lessThanOrEquals(n,r)&&K.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let u=K.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new K);!l(a)&&K.greaterThanOrEquals(u,n)?a=s:!l(c)&&K.greaterThanOrEquals(u,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),l(a)&&(l(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var Uk=$Ae;var dQ=1e12,md={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},pl={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},j0=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],FSt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function _l(e,t){e=Rn(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=md.none,this._touchMode=pl.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=BSt(this),this._onMouseUp=kSt(this),this._onMouseMove=VSt(this),this._onMouseWheel=USt(this),this._onTouchStart=zSt(this),this._onTouchMove=GSt(this),this._onTouchEnd=HSt(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}_l.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};_l.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};_l.prototype.isDestroyed=function(){return!1};_l.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),ue(this)};_l.prototype.addHighlightRange=function(e,t,n){let i=new Vk(e,t,n);return this._highlightRanges.push(i),this.resize(),i};_l.prototype.addTrack=function(e,t,n,i){let o=new Uk(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};_l.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=K.secondsDifference(t,e),this._clock&&this._clock.clockRange!==jr.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=K.secondsDifference(o,i),s=K.secondsDifference(i,this._startJulian),a=K.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=K.addSeconds(this._endJulian,s,new K),this._startJulian=i,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=K.addSeconds(this._startJulian,a,new K),this._endJulian=o,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};_l.prototype.zoomFrom=function(e){let t=K.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo(K.addSeconds(this._startJulian,t-t*e,new K),K.addSeconds(this._endJulian,n*e-n,new K))};function hQ(e){return e<10?`0${e.toString()}`:e.toString()}_l.prototype.makeLabel=function(e){let t=K.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${FSt[t.month-1]} ${t.day} ${t.year} ${hQ(t.hour)}:${hQ(t.minute)}:${hQ(t.second)}${i}`};_l.prototype.smallestTicInPixels=7;_l.prototype._makeTics=function(){let e=this._timeBarEle,t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,u=1e-10,f=0,d=this._timeBarSecondsSpan;d<a?(d=a,this._timeBarSecondsSpan=a,this._endJulian=K.addSeconds(this._startJulian,a,new K)):d>c&&(d=c,this._timeBarSecondsSpan=c,this._endJulian=K.addSeconds(this._startJulian,c,new K));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,m=Math.min(d/p*1e-5,.4),x,b=K.toGregorianDate(g);d>31536e4?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/100)*100,0))):d>31536e3?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/10)*10,0))):d>86400?x=K.fromDate(new Date(Date.UTC(b.year,0))):x=K.fromDate(new Date(Date.UTC(b.year,b.month,b.day)));let T=K.secondsDifference(this._startJulian,K.addSeconds(x,m,new K)),A=T+d;this._epochJulian=x;function C(k){return Math.floor(T/k)*k}function E(k,Y){return Math.ceil(k/Y+.5)*Y}function v(k){return(k-T)/d}function D(k,Y){return k-Y*Math.round(k/Y)}this._rulerEle.innerHTML=this.makeLabel(K.addSeconds(this._endJulian,-a,new K));let O=this._rulerEle.offsetWidth+20;O<30&&(O=180);let R=f;f-=u;let M={startTime:T,startJulian:g,epochJulian:x,duration:d,timeBarWidth:p,getAlpha:v};this._highlightRanges.forEach(function(k){s+=k.render(M)});let N=0,_=0,S=0,w=O/p;w>1&&(w=1),w*=this._timeBarSecondsSpan;let I=-1,L=-1,B=j0.length,U;for(U=0;U<B;++U){let k=j0[U];if(++I,N=k,k>w&&k>f)break;L<0&&p*(k/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(L=I)}if(I>0){for(;I>0;)if(--I,Math.abs(D(N,j0[I]))<1e-5){j0[I]>=f&&(_=j0[I]);break}if(L>=0)for(;L<I;){if(Math.abs(D(_,j0[L]))<1e-5&&j0[L]>=f){S=j0[L];break}++L}}f=R,f>u&&S<1e-5&&Math.abs(f-N)>u&&(S=f,f<=N+u&&(_=0));let V=-999999,G;if(p*(S/this._timeBarSecondsSpan)>=3)for(o=C(S);o<=A;o=E(o,S))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(_/this._timeBarSecondsSpan)>=3)for(o=C(_);o<=A;o=E(o,_))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(N/this._timeBarSecondsSpan)>=2){this._mainTicSpan=N,A+=N,o=C(N);let k=K.computeTaiMinusUtc(x);for(;o<=A;){let Y=K.addSeconds(g,o-T,new K);if(N>2.1){let Z=K.computeTaiMinusUtc(Y);Math.abs(Z-k)>.1&&(o+=Z-k,Y=K.addSeconds(g,o-T,new K))}let W=Math.round(p*v(o)),Q=this.makeLabel(Y);this._rulerEle.innerHTML=Q,G=this._rulerEle.offsetWidth,G<10&&(G=O);let j=W-(G/2-1);j>V?(V=j+G+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${W.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${j.toString()}px;">${Q}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${W.toString()}px;"></span>`,o=E(o,N)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),M.y=0,this._trackList.forEach(function(k){k.render(r._context,M),M.y+=k.height})};_l.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(l(this._scrubElement)){let t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}l(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(K.addSeconds(this._startJulian,this._timelineDrag,new K),K.addSeconds(this._endJulian,this._timelineDrag,new K)))};_l.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=K.addSeconds(this._startJulian,t,new K),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function BSt(e){return function(t){e._mouseMode!==md.touchOnly&&(t.button===0?(e._mouseMode=md.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=md.zoom:e._mouseMode=md.slide)),t.preventDefault()}}function kSt(e){return function(t){e._mouseMode=md.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function VSt(e){return function(t){let n;if(e._mouseMode===md.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===md.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(K.addSeconds(e._startJulian,i,new K),K.addSeconds(e._endJulian,i,new K))}}else e._mouseMode===md.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function USt(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;dQ=Math.max(Math.min(Math.abs(n),dQ),1),n/=dQ,e.zoomFrom(Math.pow(1.05,-n))}}function zSt(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=md.touchOnly,n===1?(i=K.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=pl.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=pl.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=pl.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=pl.ignore}}function HSt(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===pl.singleTap?(e._touchMode=pl.scrub,e._onTouchMove(t)):e._touchMode===pl.scrub&&e._onTouchMove(t),e._mouseMode=md.touchOnly,n!==1?e._touchMode=n>0?pl.ignore:pl.none:e._touchMode===pl.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function GSt(e){return function(t){let n,i,o,r,s,a,c=1,u=e._topDiv.getBoundingClientRect().left;e._touchMode===pl.singleTap&&(e._touchMode=pl.slideZoom),e._mouseMode=md.touchOnly,e._touchMode===pl.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-u,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===pl.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-u,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-u,s=0),l(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=K.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new K)):(n=e._touchState.centerX-r,a=K.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new K)),e.zoomTo(a,K.addSeconds(a,e._timeBarSecondsSpan*c,new K)),e._touchState.centerX=r,e._touchState.spanX=s))}}_l.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var zk=_l;var JAe=Bo(QAe(),1);function WSt(e){let t=!1,n=window.screen;return l(n)&&(l(n.lockOrientation)?t=n.lockOrientation(e):l(n.mozLockOrientation)?t=n.mozLockOrientation(e):l(n.msLockOrientation)?t=n.msLockOrientation(e):l(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function eEe(){let e=window.screen;l(e)&&(l(e.unlockOrientation)?e.unlockOrientation():l(e.mozUnlockOrientation)?e.mozUnlockOrientation():l(e.msUnlockOrientation)?e.msUnlockOrientation():l(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function jSt(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(eEe(),e._locked=!1),e._noSleep.disable(),yr.exitFullscreen(),n(!1)):(yr.fullscreen||yr.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=WSt("landscape")),t.useWebVR=!0,n(!0)))}function r5(e,t){let n=this,i=be.observable(yr.enabled),o=be.observable(!1);this.isVRMode=void 0,be.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,be.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&yr.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=be.observable(!1);this._isOrthographic=void 0,be.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new zr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof cn)}),this._locked=!1,this._noSleep=new JAe.default,this._command=vn(function(){jSt(n,e,o,r)},be.getObservable(this,"isVREnabled")),this._vrElement=y(Rn(t),document.body),this._callback=function(){!yr.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(eEe(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(yr.changeEventName,this._callback)}Object.defineProperties(r5.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});r5.prototype.isDestroyed=function(){return!1};r5.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(yr.changeEventName,this._callback),ue(this)};var Gk=r5;var qSt="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",YSt="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function s5(e,t,n){e=Rn(e);let i=new Gk(t,n);i._exitVRPath=YSt,i._enterVRPath=qSt;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(s5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});s5.prototype.isDestroyed=function(){return!1};s5.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Wk=s5;var q0=new ae;function iEe(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function XSt(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);l(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function KSt(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(l(r)&&r!=="")return r}return"Unnamed Feature"}function tEe(e,t){let n=e.scene.pick(t.position);if(l(n)){let i=y(n.id,n.primitive.id);if(i instanceof Qo)return i;if(n instanceof Ws)return new Qo({name:KSt(n),description:XSt(n),feature:n})}if(l(e.scene.globe))return QSt(e,t.position)}var ZSt=new K;function oEe(e,t,n){if(l(n)){let i=n.clock;if(l(i)&&(i.getValue(t),l(e))){let o=i.startTime,r=i.stopTime;K.equals(o,r)&&(r=K.addSeconds(o,P.EPSILON2,ZSt)),e.updateFromClock(),e.zoomTo(o,r)}}}var $St=new h;function QSt(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!l(o))return;let r=new Qo({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!l(s)||s.length===0){e.selectedEntity=nEe();return}let a=s[0],c=new Qo({id:a.name,description:a.description});if(l(a.position)){let u=e.scene.ellipsoid.cartographicToCartesian(a.position,$St);c.position=new zc(u)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=nEe())}),r}function nEe(){return new Qo({id:"None",description:"No features found."})}function JSt(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,u=e._fullscreenButton,f=e._infoBox,d=e._selectionIndicator,p=t?"hidden":"visible";if(l(n)&&(n.container.style.visibility=p),l(i)&&(i.container.style.visibility=p),l(o)&&(o.container.style.visibility=p),l(r)&&(r.container.style.visibility=p),l(s)&&(s.container.style.visibility=p),l(a)&&(a.container.style.visibility=p),l(c)&&(c.container.style.visibility=p),l(u)&&u.viewModel.isFullscreenEnabled&&(u.container.style.visibility=p),l(f)&&(f.container.style.visibility=p),l(d)&&(d.container.style.visibility=p),e._container){let g=t||!l(u)?0:u.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function ki(e,t){e=Rn(e),t=y(t,y.EMPTY_OBJECT);let n=(!l(t.globe)||t.globe!==!1)&&(!l(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,u,f=!1;l(t.clockViewModel)?(u=t.clockViewModel,c=u.clock):(c=new ah,u=new nk(c),f=!0),l(t.shouldAnimate)&&(c.shouldAnimate=t.shouldAnimate);let d=new q3(r,{baseLayer:n&&l(t.selectedImageryProviderViewModel)||l(t.baseLayer)||l(t.imageryProvider)?!1:void 0,clock:c,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,ellipsoid:t.ellipsoid,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:l(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=t.dataSources,g=!1;l(p)||(p=new QL,g=!0);let m=d.scene,x=new FN({scene:m,dataSourceCollection:p}),b=new zr;b.add(c.onTick,ki.prototype._onTick,this),b.add(m.morphStart,ki.prototype._clearTrackedObject,this);let T;if(!l(t.selectionIndicator)||t.selectionIndicator!==!1){let W=document.createElement("div");W.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(W),T=new kk(W,m)}let A;if(!l(t.infoBox)||t.infoBox!==!1){let W=document.createElement("div");W.className="cesium-viewer-infoBoxContainer",o.appendChild(W),A=new wk(W);let Q=A.viewModel;b.add(Q.cameraClicked,ki.prototype._onInfoBoxCameraClicked,this),b.add(Q.closeClicked,ki.prototype._onInfoBoxClockClicked,this)}let C=document.createElement("div");C.className="cesium-viewer-toolbar",o.appendChild(C);let E;if(!l(t.geocoder)||t.geocoder!==!1){let W=document.createElement("div");W.className="cesium-viewer-geocoderContainer",C.appendChild(W);let Q;l(t.geocoder)&&typeof t.geocoder!="boolean"&&(Q=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),E=new Ck({container:W,geocoderServices:Q,scene:m}),b.add(E.viewModel.search.beforeExecute,ki.prototype._clearObjects,this)}let v;(!l(t.homeButton)||t.homeButton!==!1)&&(v=new Ek(C,m),l(E)&&b.add(v.viewModel.command.afterExecute,function(){let W=E.viewModel;W.searchText="",W.isSearchInProgress&&W.search()}),b.add(v.viewModel.command.beforeExecute,ki.prototype._clearTrackedObject,this));let D;!a&&(!l(t.sceneModePicker)||t.sceneModePicker!==!1)&&(D=new Mk(C,m));let O;t.projectionPicker&&(O=new Nk(C,m));let R,M;if(n){let W=y(t.imageryProviderViewModels,sk()),Q=y(t.terrainProviderViewModels,ak());R=new rk(C,{globe:m.globe,imageryProviderViewModels:W,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:Q,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),M=C.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}l(t.baseLayer)&&t.baseLayer!==!1&&(n&&(R.viewModel.selectedImagery=void 0),m.imageryLayers.removeAll(),m.imageryLayers.add(t.baseLayer)),l(t.terrainProvider)&&(n&&(R.viewModel.selectedTerrain=void 0),m.terrainProvider=t.terrainProvider),l(t.terrain)&&(n&&(m.globe.depthTestAgainstTerrain=!0),m.setTerrain(t.terrain));let N;if(!l(t.navigationHelpButton)||t.navigationHelpButton!==!1){let W=!0;try{if(l(window.localStorage)){let Q=window.localStorage.getItem("cesium-hasSeenNavHelp");l(Q)&&Q?W=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}N=new Rk({container:C,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,W)})}let _;if(!l(t.animation)||t.animation!==!1){let W=document.createElement("div");W.className="cesium-viewer-animationContainer",o.appendChild(W),_=new uk(W,new fk(u))}let S;if(!l(t.timeline)||t.timeline!==!1){let W=document.createElement("div");W.className="cesium-viewer-timelineContainer",o.appendChild(W),S=new zk(W,c),S.addEventListener("settime",iEe,!1),S.zoomTo(c.startTime,c.stopTime)}let w,I,L;(!l(t.fullscreenButton)||t.fullscreenButton!==!1)&&(L=document.createElement("div"),L.className="cesium-viewer-fullscreenContainer",o.appendChild(L),w=new bk(L,t.fullscreenElement),I=Sa(w.viewModel,"isFullscreenEnabled",function(W){L.style.display=W?"block":"none",l(S)&&(S.container.style.right=`${L.clientWidth}px`,S.resize())}));let B,U,V;if(t.vrButton){let W=document.createElement("div");W.className="cesium-viewer-vrContainer",o.appendChild(W),B=new Wk(W,m,t.fullScreenElement),U=Sa(B.viewModel,"isVREnabled",function(Q){W.style.display=Q?"block":"none",l(w)&&(W.style.right=`${L.clientWidth}px`),l(S)&&(S.container.style.right=`${W.clientWidth}px`,S.resize())}),V=Sa(B.viewModel,"isVRMode",function(Q){JSt(i,Q)})}this._baseLayerPickerDropDown=M,this._fullscreenSubscription=I,this._vrSubscription=U,this._vrModeSubscription=V,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=y(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=d,this._selectionIndicator=T,this._infoBox=A,this._dataSourceCollection=p,this._destroyDataSourceCollection=g,this._dataSourceDisplay=x,this._clockViewModel=u,this._destroyClockViewModel=f,this._toolbar=C,this._homeButton=v,this._sceneModePicker=D,this._projectionPicker=O,this._baseLayerPicker=R,this._navigationHelpButton=N,this._animation=_,this._timeline=S,this._fullscreenButton=w,this._vrButton=B,this._geocoder=E,this._eventHelper=b,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=l(A)||l(T),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new me,this._trackedEntityChanged=new me,be.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),b.add(p.dataSourceAdded,ki.prototype._onDataSourceAdded,this),b.add(p.dataSourceRemoved,ki.prototype._onDataSourceRemoved,this),b.add(m.postUpdate,ki.prototype.resize,this),b.add(m.postRender,ki.prototype._postRender,this);let G=p.length;for(let W=0;W<G;W++)this._dataSourceAdded(p,p.get(W));this._dataSourceAdded(void 0,x.defaultDataSource),b.add(p.dataSourceAdded,ki.prototype._dataSourceAdded,this),b.add(p.dataSourceRemoved,ki.prototype._dataSourceRemoved,this);function k(W){let Q=tEe(i,W);l(Q)?q.getValueOrUndefined(Q.position,i.clock.currentTime)?i.trackedEntity=Q:i.zoomTo(Q):l(i.trackedEntity)&&(i.trackedEntity=void 0)}function Y(W){i.selectedEntity=tEe(i,W)}d.screenSpaceEventHandler.setInputAction(Y,Cn.LEFT_CLICK),d.screenSpaceEventHandler.setInputAction(k,Cn.LEFT_DOUBLE_CLICK)}Object.defineProperties(ki.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,pQ(this);let t=this.scene,n=t.mode;!l(e)||!l(e.position)?(this._needTrackedEntityUpdate=!1,(n===ne.COLUMBUS_VIEW||n===ne.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===ne.COLUMBUS_VIEW||n===ne.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(F.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(e)?l(t)&&t.animateAppear():l(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,oEe(this._timeline,this.clock,e))}}});ki.prototype.extend=function(e,t){e(this,t)};ki.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=l(this._animation),r=l(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(l(a)&&(a.style.maxHeight=`${s}px`),l(this._geocoder)){let m=this._geocoder.searchSuggestionsContainer;m.style.maxHeight=`${s}px`}l(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,u,f=0,d=5,p=3,g=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let m=this._lastWidth;u=this._animation.container,n>900?(f=169,m<=900&&(u.style.width="169px",u.style.height="112px",this._animation.resize())):n>=600?(f=136,(m<600||m>900)&&(u.style.width="136px",u.style.height="90px",this._animation.resize())):(f=106,(m>600||m===0)&&(u.style.width="106px",u.style.height="70px",this._animation.resize())),d=f+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let m=this._fullscreenButton,x=this._vrButton,b=c.container,T=b.style;p=b.clientHeight+3,T.left=`${f}px`;let A=0;l(m)&&(A+=m.container.clientWidth),l(x)&&(A+=x.container.clientWidth),T.right=`${A}px`,c.resize()}!r&&l(this._fullscreenButton)&&(g=this._fullscreenButton.container.clientWidth),this._bottomContainer.style.left=`${d}px`,this._bottomContainer.style.bottom=`${p}px`,this._bottomContainer.style.right=`${g}px`,this._lastWidth=n,this._lastHeight=i};ki.prototype.forceResize=function(){this._lastWidth=0,this.resize()};ki.prototype.render=function(){this._cesiumWidget.render()};ki.prototype.isDestroyed=function(){return!1};ki.prototype.destroy=function(){let e;l(this.screenSpaceEventHandler)&&!this.screenSpaceEventHandler.isDestroyed()&&(this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_DOUBLE_CLICK));let t=this.dataSources,n=t.length;for(e=0;e<n;e++)this._dataSourceRemoved(t,t.get(e));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),l(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),l(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),l(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),l(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),l(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),l(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),l(this._timeline)&&(this._timeline.removeEventListener("settime",iEe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),l(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),l(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),l(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),l(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),ue(this)};ki.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(ki.prototype._onEntityCollectionChanged,this)};ki.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(ki.prototype._onEntityCollectionChanged,this),l(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),l(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};ki.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=n);let i=this._entityView;if(l(i)){let f=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(f,!1,q0)===lt.DONE&&i.update(t,q0)}let o,r=!1,s=this.selectedEntity,a=l(s)&&this._enableInfoOrSelection;a&&s.isShowing&&s.isAvailable(t)&&(this._dataSourceDisplay.getBoundingSphere(s,!0,q0)!==lt.FAILED?o=q0.center:l(s.position)&&(o=s.position.getValue(t,o)),r=l(o));let c=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(c)&&(c.position=h.clone(o,c.position),c.showSelection=a&&r,c.update());let u=l(this._infoBox)?this._infoBox.viewModel:void 0;l(u)&&(u.showInfo=a,u.enableCamera=r,u.isCameraTracking=this.trackedEntity===this.selectedEntity,a?(u.titleText=y(s.name,s.id),u.description=q.getValueOrDefault(s.description,t,"")):(u.titleText="",u.description=""))};ki.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0),this.selectedEntity===r&&(this.selectedEntity=void 0)}};ki.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;l(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};ki.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};ki.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};ki.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};ki.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&oEe(this.timeline,this.clock,e)};ki.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,ki.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};ki.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};ki.prototype.zoomTo=function(e,t){return rEe(this,e,{offset:t},!1)};ki.prototype.flyTo=function(e,t){return rEe(this,e,t,!0)};function rEe(e,t,n,i){pQ(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof Aa){let s;l(r.imageryProvider)?s=Promise.resolve(r.getImageryRectangle()):s=new Promise(a=>{let c=r.readyEvent.addEventListener(()=>{c(),a(r.getImageryRectangle())})}),s.then(function(a){return FT(a,e.scene)}).then(function(a){e._zoomPromise===o&&(e._zoomTarget=a)});return}if(r instanceof pa||r instanceof kv||r instanceof O0){e._zoomTarget=r;return}if(r.isLoading&&l(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=y(r.values,r),l(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function jk(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function pQ(e){let t=e._zoomPromise;l(t)&&(jk(e),e._completeZoom(!1))}ki.prototype._postRender=function(){evt(this),tvt(this)};function evt(e){let t=e._zoomTarget;if(!l(t)||e.scene.mode===ne.MORPHING)return;let n=e.scene,i=n.camera,o=y(e._zoomOptions,{}),r;function s(f){l(o.offset)||(o.offset=new $f(0,-.5,f.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(f,o.offset),i.lookAtTransform(F.IDENTITY),e._completeZoom(!0)),jk(e)}if(t instanceof kv){if(l(t.boundingSphere)){s(t.boundingSphere);return}let f=t.frameChanged.addEventListener(function(d){s(d.boundingSphere),f()});return}if(t instanceof pa||t instanceof O0){s(t.boundingSphere);return}if(t instanceof fe){r={destination:n.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),jk(e);return}let a=t,c=[];for(let f=0,d=a.length;f<d;f++){let p=e._dataSourceDisplay.getBoundingSphere(a[f],!1,q0);if(p===lt.PENDING)return;p!==lt.FAILED&&c.push(ae.clone(q0))}if(c.length===0){pQ(e);return}e.trackedEntity=void 0;let u=ae.fromBoundingSpheres(c);e._zoomIsFlight?(jk(e),i.flyToBoundingSphere(u,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(F.IDENTITY),jk(e),e._completeZoom(!0))}function tvt(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=q.getValueOrUndefined(t.position,n);if(!l(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,q0);if(r===lt.PENDING)return;let s=o.mode;(s===ne.COLUMBUS_VIEW||s===ne.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===ne.COLUMBUS_VIEW||s===ne.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==lt.FAILED?q0:void 0;e._entityView=new kN(t,o,o.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var _Q=ki;function nvt(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new pk(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var gQ=nvt;function ivt(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new yk(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var yQ=ivt;function ovt(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new me,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=Rn(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(f){sEe(s,u),s=f,xQ(s,u)}},dropEnabled:{get:function(){return n},set:function(f){f!==n&&(f?xQ(s,u):sEe(s,u),n=f)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(f){r=f}},flyToOnDrop:{get:function(){return i},set:function(f){i=f}},proxy:{get:function(){return c},set:function(f){c=f}},clampToGround:{get:function(){return a},set:function(f){a=f}}});function u(f){RC(f),r&&(e.entities.removeAll(),e.dataSources.removeAll());let d=f.dataTransfer.files,p=d.length;for(let g=0;g<p;g++){let m=d[g],x=new FileReader;x.onload=rvt(e,m,c,a),x.onerror=svt(e,m),x.readAsText(m)}}xQ(s,u),e.destroy=$3(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=u}function RC(e){e.stopPropagation(),e.preventDefault()}function sEe(e,t){let n=e;l(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",RC,!1),n.removeEventListener("dragover",RC,!1),n.removeEventListener("dragexit",RC,!1))}function xQ(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",RC,!1),e.addEventListener("dragover",RC,!1),e.addEventListener("dragexit",RC,!1)}function rvt(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=$L.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=rF.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=yF.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=lF.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}l(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function svt(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var bQ=ovt;function avt(e,t){t=y(t,y.EMPTY_OBJECT);let n=new Ik({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var TQ=avt;function aEe(e){let t=e.split(` + </div>`,n.appendChild(i);let o=new Lk(t);be.track(o),be.applyBindings(o,n),l(o.defaultLayer)&&(o.currentLayer=o.defaultLayer)}var EQ=_vt;var gvt="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",yvt="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function SQ(){this._cameraClicked=new me,this._closeClicked=new me,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",be.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,be.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?yvt:gvt}}),be.defineProperty(this,"_bodyless",{get:function(){return!l(this.description)||this.description.length===0}})}SQ.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(SQ.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var Nk=SQ;function n5(e){e=Rn(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="×",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new Nk;be.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,u=c.createElement("link");u.href=sn("Widgets/InfoBox/InfoBoxDescription.css"),u.rel="stylesheet",u.type="text/css";let f=c.createElement("div");f.className="cesium-infoBox-description",c.head.appendChild(u),c.body.appendChild(f),a._descriptionSubscription=Sa(s,"description",function(d){r.style.height="5px",f.innerHTML=d;let p=null,g=f.firstElementChild;if(g!==null&&f.childNodes.length===1){let x=window.getComputedStyle(g);if(x!==null){let b=x["background-color"],T=H.fromCssColorString(b);l(T)&&T.alpha!==0&&(p=x["background-color"])}}t.style["background-color"]=p;let m=f.getBoundingClientRect().height;r.style.height=`${m}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(n5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});n5.prototype.isDestroyed=function(){return!1};n5.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),l(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),ue(this)};var Fk=n5;function yEe(){this.showInstructions=!1;let e=this;this._command=vn(function(){e.showInstructions=!e.showInstructions}),this._showClick=vn(function(){e._touch=!1}),this._showTouch=vn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",be.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(yEe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var Bk=yEe;function i5(e){let t=Rn(e.container),n=new Bk,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=sn("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let u=document.createElement("button");u.type="button",u.className="cesium-navigation-button cesium-navigation-button-right",u.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let f=document.createElement("img");f.src=sn("Widgets/Images/NavigationHelp/Touch.svg"),f.className="cesium-navigation-button-icon",f.style.width="25px",f.style.height="25px",u.appendChild(f),u.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(u);let d=document.createElement("div");d.className="cesium-click-navigation-help cesium-navigation-help-instructions",d.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),d.innerHTML=` <table> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(d);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${sn("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),be.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(i5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});i5.prototype.isDestroyed=function(){return!1};i5.prototype.destroy=function(){return Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var kk=i5;function vQ(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,be.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=vn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=Y3.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(vQ.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});vQ.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),ue(this)};var Vk=vQ;function o5(e){let t=Rn(e.container),n=new Vk(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="×",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),be.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(o5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});o5.prototype.isDestroyed=function(){return!1};o5.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Uk=o5;function r5(e){this._scene=e,this._orthographic=e.camera.frustum instanceof cn,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,be.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;be.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=vn(function(){t.sceneMode===ne.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new gr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===ne.SCENE2D||t._scene.camera.frustum instanceof cn}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=l(e.camera._currentFlight)}),this._switchToPerspective=vn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=vn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=ne}Object.defineProperties(r5.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});r5.prototype.isDestroyed=function(){return!1};r5.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var zk=r5;var xvt="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",bvt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function s5(e,t){e=Rn(e);let n=new zk(t);n._perspectivePath=xvt,n._orthographicPath=bvt;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),be.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(s5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});s5.prototype.isDestroyed=function(){return!1};s5.prototype.destroy=function(){return this._viewModel.destroy(),Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var Hk=s5;function a5(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new gr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",be.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,be.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===ne.SCENE2D?n.tooltip2D:o===ne.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=vn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=vn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=vn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=vn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=ne}Object.defineProperties(a5.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});a5.prototype.isDestroyed=function(){return!1};a5.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var Gk=a5;var Tvt="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",Cvt="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",Avt="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function c5(e,t,n){e=Rn(e);let i=new Gk(t,n);i._globePath=Tvt,i._flatMapPath=Cvt,i._columbusViewPath=Avt;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(c),be.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(u){o.contains(u.target)||(i.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(c5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});c5.prototype.isDestroyed=function(){return!1};c5.prototype.destroy=function(){return this._viewModel.destroy(),Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var Wk=c5;var Evt=new z,l5="-1000px";function jk(e,t,n){this._scene=e,this._screenPositionX=l5,this._screenPositionY=l5,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,be.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,be.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&l(this.position)}}),be.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return Hi.worldToWindowCoordinates(e,i,o)}}jk.prototype.update=function(){if(this.showSelection&&l(this.position)){let e=this.computeScreenSpacePosition(this.position,Evt);if(!l(e))this._screenPositionX=l5,this._screenPositionY=l5;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};jk.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Jr.EXPONENTIAL_OUT})};jk.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Jr.EXPONENTIAL_OUT})};Object.defineProperties(jk.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var qk=jk;function u5(e,t){e=Rn(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new qk(t,this._element,this._container);this._viewModel=c,be.applyBindings(this._viewModel,this._element)}Object.defineProperties(u5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});u5.prototype.isDestroyed=function(){return!1};u5.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),ue(this)};var Yk=u5;function MC(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}MC.prototype.getHeight=function(){return this._height};MC.prototype.getBase=function(){return this._base};MC.prototype.getStartTime=function(){return this._start};MC.prototype.getStopTime=function(){return this._stop};MC.prototype.setRange=function(e,t){this._start=e,this._stop=t};MC.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=K.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=K.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var Xk=MC;function xEe(e,t,n,i){this.interval=e,this.height=t,this.color=n||new H(.5,.5,.5,1),this.backgroundColor=i||new H(0,0,0,0)}xEe.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=K.addSeconds(t.startJulian,t.duration,new K);if(K.lessThan(n,o)&&K.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(K.lessThanOrEquals(n,r)&&K.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let u=K.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new K);!l(a)&&K.greaterThanOrEquals(u,n)?a=s:!l(c)&&K.greaterThanOrEquals(u,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),l(a)&&(l(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var Kk=xEe;var wQ=1e12,yd={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},_l={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},$0=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],Svt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function gl(e,t){e=Rn(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=yd.none,this._touchMode=_l.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=vvt(this),this._onMouseUp=wvt(this),this._onMouseMove=Dvt(this),this._onMouseWheel=Ivt(this),this._onTouchStart=Pvt(this),this._onTouchMove=Ovt(this),this._onTouchEnd=Rvt(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}gl.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};gl.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};gl.prototype.isDestroyed=function(){return!1};gl.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),ue(this)};gl.prototype.addHighlightRange=function(e,t,n){let i=new Xk(e,t,n);return this._highlightRanges.push(i),this.resize(),i};gl.prototype.addTrack=function(e,t,n,i){let o=new Kk(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};gl.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=K.secondsDifference(t,e),this._clock&&this._clock.clockRange!==$r.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=K.secondsDifference(o,i),s=K.secondsDifference(i,this._startJulian),a=K.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=K.addSeconds(this._endJulian,s,new K),this._startJulian=i,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=K.addSeconds(this._startJulian,a,new K),this._endJulian=o,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};gl.prototype.zoomFrom=function(e){let t=K.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo(K.addSeconds(this._startJulian,t-t*e,new K),K.addSeconds(this._endJulian,n*e-n,new K))};function DQ(e){return e<10?`0${e.toString()}`:e.toString()}gl.prototype.makeLabel=function(e){let t=K.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${Svt[t.month-1]} ${t.day} ${t.year} ${DQ(t.hour)}:${DQ(t.minute)}:${DQ(t.second)}${i}`};gl.prototype.smallestTicInPixels=7;gl.prototype._makeTics=function(){let e=this._timeBarEle,t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,u=1e-10,f=0,d=this._timeBarSecondsSpan;d<a?(d=a,this._timeBarSecondsSpan=a,this._endJulian=K.addSeconds(this._startJulian,a,new K)):d>c&&(d=c,this._timeBarSecondsSpan=c,this._endJulian=K.addSeconds(this._startJulian,c,new K));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,m=Math.min(d/p*1e-5,.4),x,b=K.toGregorianDate(g);d>31536e4?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/100)*100,0))):d>31536e3?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/10)*10,0))):d>86400?x=K.fromDate(new Date(Date.UTC(b.year,0))):x=K.fromDate(new Date(Date.UTC(b.year,b.month,b.day)));let T=K.secondsDifference(this._startJulian,K.addSeconds(x,m,new K)),A=T+d;this._epochJulian=x;function C(k){return Math.floor(T/k)*k}function E(k,W){return Math.ceil(k/W+.5)*W}function v(k){return(k-T)/d}function D(k,W){return k-W*Math.round(k/W)}this._rulerEle.innerHTML=this.makeLabel(K.addSeconds(this._endJulian,-a,new K));let O=this._rulerEle.offsetWidth+20;O<30&&(O=180);let R=f;f-=u;let M={startTime:T,startJulian:g,epochJulian:x,duration:d,timeBarWidth:p,getAlpha:v};this._highlightRanges.forEach(function(k){s+=k.render(M)});let N=0,_=0,S=0,w=O/p;w>1&&(w=1),w*=this._timeBarSecondsSpan;let I=-1,L=-1,B=$0.length,U;for(U=0;U<B;++U){let k=$0[U];if(++I,N=k,k>w&&k>f)break;L<0&&p*(k/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(L=I)}if(I>0){for(;I>0;)if(--I,Math.abs(D(N,$0[I]))<1e-5){$0[I]>=f&&(_=$0[I]);break}if(L>=0)for(;L<I;){if(Math.abs(D(_,$0[L]))<1e-5&&$0[L]>=f){S=$0[L];break}++L}}f=R,f>u&&S<1e-5&&Math.abs(f-N)>u&&(S=f,f<=N+u&&(_=0));let V=-999999,G;if(p*(S/this._timeBarSecondsSpan)>=3)for(o=C(S);o<=A;o=E(o,S))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(_/this._timeBarSecondsSpan)>=3)for(o=C(_);o<=A;o=E(o,_))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(N/this._timeBarSecondsSpan)>=2){this._mainTicSpan=N,A+=N,o=C(N);let k=K.computeTaiMinusUtc(x);for(;o<=A;){let W=K.addSeconds(g,o-T,new K);if(N>2.1){let Z=K.computeTaiMinusUtc(W);Math.abs(Z-k)>.1&&(o+=Z-k,W=K.addSeconds(g,o-T,new K))}let Y=Math.round(p*v(o)),Q=this.makeLabel(W);this._rulerEle.innerHTML=Q,G=this._rulerEle.offsetWidth,G<10&&(G=O);let j=Y-(G/2-1);j>V?(V=j+G+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${Y.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${j.toString()}px;">${Q}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${Y.toString()}px;"></span>`,o=E(o,N)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),M.y=0,this._trackList.forEach(function(k){k.render(r._context,M),M.y+=k.height})};gl.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(l(this._scrubElement)){let t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}l(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(K.addSeconds(this._startJulian,this._timelineDrag,new K),K.addSeconds(this._endJulian,this._timelineDrag,new K)))};gl.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=K.addSeconds(this._startJulian,t,new K),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function vvt(e){return function(t){e._mouseMode!==yd.touchOnly&&(t.button===0?(e._mouseMode=yd.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=yd.zoom:e._mouseMode=yd.slide)),t.preventDefault()}}function wvt(e){return function(t){e._mouseMode=yd.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function Dvt(e){return function(t){let n;if(e._mouseMode===yd.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===yd.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(K.addSeconds(e._startJulian,i,new K),K.addSeconds(e._endJulian,i,new K))}}else e._mouseMode===yd.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function Ivt(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;wQ=Math.max(Math.min(Math.abs(n),wQ),1),n/=wQ,e.zoomFrom(Math.pow(1.05,-n))}}function Pvt(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=yd.touchOnly,n===1?(i=K.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=_l.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=_l.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=_l.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=_l.ignore}}function Rvt(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===_l.singleTap?(e._touchMode=_l.scrub,e._onTouchMove(t)):e._touchMode===_l.scrub&&e._onTouchMove(t),e._mouseMode=yd.touchOnly,n!==1?e._touchMode=n>0?_l.ignore:_l.none:e._touchMode===_l.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function Ovt(e){return function(t){let n,i,o,r,s,a,c=1,u=e._topDiv.getBoundingClientRect().left;e._touchMode===_l.singleTap&&(e._touchMode=_l.slideZoom),e._mouseMode=yd.touchOnly,e._touchMode===_l.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-u,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===_l.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-u,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-u,s=0),l(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=K.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new K)):(n=e._touchState.centerX-r,a=K.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new K)),e.zoomTo(a,K.addSeconds(a,e._timeBarSecondsSpan*c,new K)),e._touchState.centerX=r,e._touchState.spanX=s))}}gl.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var Zk=gl;var TEe=Wo(bEe(),1);function Mvt(e){let t=!1,n=window.screen;return l(n)&&(l(n.lockOrientation)?t=n.lockOrientation(e):l(n.mozLockOrientation)?t=n.mozLockOrientation(e):l(n.msLockOrientation)?t=n.msLockOrientation(e):l(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function CEe(){let e=window.screen;l(e)&&(l(e.unlockOrientation)?e.unlockOrientation():l(e.mozUnlockOrientation)?e.mozUnlockOrientation():l(e.msUnlockOrientation)?e.msUnlockOrientation():l(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function Lvt(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(CEe(),e._locked=!1),e._noSleep.disable(),Ar.exitFullscreen(),n(!1)):(Ar.fullscreen||Ar.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=Mvt("landscape")),t.useWebVR=!0,n(!0)))}function f5(e,t){let n=this,i=be.observable(Ar.enabled),o=be.observable(!1);this.isVRMode=void 0,be.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,be.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&Ar.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=be.observable(!1);this._isOrthographic=void 0,be.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new gr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof cn)}),this._locked=!1,this._noSleep=new TEe.default,this._command=vn(function(){Lvt(n,e,o,r)},be.getObservable(this,"isVREnabled")),this._vrElement=y(Rn(t),document.body),this._callback=function(){!Ar.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(CEe(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(Ar.changeEventName,this._callback)}Object.defineProperties(f5.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});f5.prototype.isDestroyed=function(){return!1};f5.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(Ar.changeEventName,this._callback),ue(this)};var Qk=f5;var Nvt="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",Fvt="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function d5(e,t,n){e=Rn(e);let i=new Qk(t,n);i._exitVRPath=Fvt,i._enterVRPath=Nvt;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(d5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});d5.prototype.isDestroyed=function(){return!1};d5.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Jk=d5;var AEe=new ce;function vEe(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function Bvt(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);l(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function kvt(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(l(r)&&r!=="")return r}return"Unnamed Feature"}function EEe(e,t){let n=e.scene.pick(t.position);if(l(n)){let i=y(n.id,n.primitive.id);if(i instanceof rr)return i;if(n instanceof Ks)return new rr({name:kvt(n),description:Bvt(n),feature:n})}if(l(e.scene.globe))return zvt(e,t.position)}var Vvt=new K;function PQ(e,t){if(l(t)){let n=t.clock;if(l(n)&&l(e)){let i=n.startTime,o=n.stopTime;K.equals(i,o)&&(o=K.addSeconds(i,P.EPSILON2,Vvt)),e.updateFromClock(),e.zoomTo(i,o)}}}var Uvt=new h;function zvt(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!l(o))return;let r=new rr({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!l(s)||s.length===0){e.selectedEntity=SEe();return}let a=s[0],c=new rr({id:a.name,description:a.description});if(l(a.position)){let u=e.scene.ellipsoid.cartographicToCartesian(a.position,Uvt);c.position=new Wc(u)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=SEe())}),r}function SEe(){return new rr({id:"None",description:"No features found."})}function Hvt(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,u=e._fullscreenButton,f=e._infoBox,d=e._selectionIndicator,p=t?"hidden":"visible";if(l(n)&&(n.container.style.visibility=p),l(i)&&(i.container.style.visibility=p),l(o)&&(o.container.style.visibility=p),l(r)&&(r.container.style.visibility=p),l(s)&&(s.container.style.visibility=p),l(a)&&(a.container.style.visibility=p),l(c)&&(c.container.style.visibility=p),l(u)&&u.viewModel.isFullscreenEnabled&&(u.container.style.visibility=p),l(f)&&(f.container.style.visibility=p),l(d)&&(d.container.style.visibility=p),e._container){let g=t||!l(u)?0:u.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function Qi(e,t){e=Rn(e),t=y(t,y.EMPTY_OBJECT);let n=(!l(t.globe)||t.globe!==!1)&&(!l(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,u,f=!1;l(t.clockViewModel)?(u=t.clockViewModel,c=u.clock):(c=new fh,u=new fk(c),f=!0);let d=new F3(r,{baseLayer:n&&l(t.selectedImageryProviderViewModel)||l(t.baseLayer)||l(t.imageryProvider)?!1:void 0,clock:c,shouldAnimate:t.shouldAnimate,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,ellipsoid:t.ellipsoid,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,automaticallyTrackDataSourceClocks:t.automaticallyTrackDataSourceClocks,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:l(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,dataSources:t.dataSources,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=d.scene,g=new gr;g.add(c.onTick,Qi.prototype._onTick,this);let m;if(!l(t.selectionIndicator)||t.selectionIndicator!==!1){let W=document.createElement("div");W.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(W),m=new Yk(W,p)}let x;if(!l(t.infoBox)||t.infoBox!==!1){let W=document.createElement("div");W.className="cesium-viewer-infoBoxContainer",o.appendChild(W),x=new Fk(W);let Y=x.viewModel;g.add(Y.cameraClicked,Qi.prototype._onInfoBoxCameraClicked,this),g.add(Y.closeClicked,Qi.prototype._onInfoBoxClockClicked,this)}let b=document.createElement("div");b.className="cesium-viewer-toolbar",o.appendChild(b);let T;if(!l(t.geocoder)||t.geocoder!==!1){let W=document.createElement("div");W.className="cesium-viewer-geocoderContainer",b.appendChild(W);let Y;typeof t.geocoder=="string"?Y=[new HT({scene:p,geocodeProviderType:t.geocoder})]:l(t.geocoder)&&typeof t.geocoder!="boolean"&&(Y=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),T=new Rk({container:W,geocoderServices:Y,scene:p}),g.add(T.viewModel.search.beforeExecute,Qi.prototype._clearObjects,this)}let A;(!l(t.homeButton)||t.homeButton!==!1)&&(A=new Mk(b,p),l(T)&&g.add(A.viewModel.command.afterExecute,function(){let W=T.viewModel;W.searchText="",W.isSearchInProgress&&W.search()}),g.add(A.viewModel.command.beforeExecute,Qi.prototype._clearTrackedObject,this));let C;!a&&(!l(t.sceneModePicker)||t.sceneModePicker!==!1)&&(C=new Wk(b,p));let E;t.projectionPicker&&(E=new Hk(b,p));let v,D;if(n){let W=y(t.imageryProviderViewModels,Ck()),Y=y(t.terrainProviderViewModels,Ak());v=new Tk(b,{globe:p.globe,imageryProviderViewModels:W,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:Y,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),D=b.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}l(t.baseLayer)&&t.baseLayer!==!1&&(n&&(v.viewModel.selectedImagery=void 0),p.imageryLayers.removeAll(),p.imageryLayers.add(t.baseLayer)),l(t.terrainProvider)&&(n&&(v.viewModel.selectedTerrain=void 0),p.terrainProvider=t.terrainProvider),l(t.terrain)&&(n&&(p.globe.depthTestAgainstTerrain=!0),p.setTerrain(t.terrain));let O;if(!l(t.navigationHelpButton)||t.navigationHelpButton!==!1){let W=!0;try{if(l(window.localStorage)){let Y=window.localStorage.getItem("cesium-hasSeenNavHelp");l(Y)&&Y?W=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}O=new kk({container:b,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,W)})}let R;if(!l(t.animation)||t.animation!==!1){let W=document.createElement("div");W.className="cesium-viewer-animationContainer",o.appendChild(W),R=new yk(W,new xk(u))}let M;if(!l(t.timeline)||t.timeline!==!1){let W=document.createElement("div");W.className="cesium-viewer-timelineContainer",o.appendChild(W),M=new Zk(W,c),M.addEventListener("settime",vEe,!1),M.zoomTo(c.startTime,c.stopTime)}let N,_,S;(!l(t.fullscreenButton)||t.fullscreenButton!==!1)&&(S=document.createElement("div"),S.className="cesium-viewer-fullscreenContainer",o.appendChild(S),N=new Ik(S,t.fullscreenElement),_=Sa(N.viewModel,"isFullscreenEnabled",function(W){S.style.display=W?"block":"none",l(M)&&(M.container.style.right=`${S.clientWidth}px`,M.resize())}));let w,I,L;if(t.vrButton){let W=document.createElement("div");W.className="cesium-viewer-vrContainer",o.appendChild(W),w=new Jk(W,p,t.fullScreenElement),I=Sa(w.viewModel,"isVREnabled",function(Y){W.style.display=Y?"block":"none",l(N)&&(W.style.right=`${S.clientWidth}px`),l(M)&&(M.container.style.right=`${W.clientWidth}px`,M.resize())}),L=Sa(w.viewModel,"isVRMode",function(Y){Hvt(i,Y)})}this._baseLayerPickerDropDown=D,this._fullscreenSubscription=_,this._vrSubscription=I,this._vrModeSubscription=L,this._dataSourceChangedListeners={},this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=d,this._selectionIndicator=m,this._infoBox=x,this._clockViewModel=u,this._destroyClockViewModel=f,this._toolbar=b,this._homeButton=A,this._sceneModePicker=C,this._projectionPicker=E,this._baseLayerPicker=v,this._navigationHelpButton=O,this._animation=R,this._timeline=M,this._fullscreenButton=N,this._vrButton=w,this._geocoder=T,this._eventHelper=g,this._lastWidth=0,this._lastHeight=0,this._enableInfoOrSelection=l(x)||l(m),this._selectedEntity=void 0,this._selectedEntityChanged=new me;let B=this._cesiumWidget.dataSources,U=this._cesiumWidget.dataSourceDisplay;g.add(B.dataSourceAdded,Qi.prototype._onDataSourceAdded,this),g.add(B.dataSourceRemoved,Qi.prototype._onDataSourceRemoved,this),g.add(p.postUpdate,Qi.prototype.resize,this);let V=B.length;for(let W=0;W<V;W++)this._dataSourceAdded(B,B.get(W));this._dataSourceAdded(void 0,U.defaultDataSource),g.add(B.dataSourceAdded,Qi.prototype._dataSourceAdded,this),g.add(B.dataSourceRemoved,Qi.prototype._dataSourceRemoved,this);function G(W){let Y=EEe(i,W);l(Y)?q.getValueOrUndefined(Y.position,i.clock.currentTime)?i.trackedEntity=Y:i.zoomTo(Y):l(i.trackedEntity)&&(i.trackedEntity=void 0)}function k(W){i.selectedEntity=EEe(i,W)}d.screenSpaceEventHandler.setInputAction(k,An.LEFT_CLICK),d.screenSpaceEventHandler.setInputAction(G,An.LEFT_DOUBLE_CLICK),d._canAnimateUpdateCallback=this._updateCanAnimate(this)}Object.defineProperties(Qi.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._cesiumWidget.dataSourceDisplay}},entities:{get:function(){return this._cesiumWidget.entities}},dataSources:{get:function(){return this._cesiumWidget.dataSources}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._cesiumWidget.allowDataSourcesToSuspendAnimation},set:function(e){this._cesiumWidget.allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._cesiumWidget.trackedEntity},set:function(e){this._cesiumWidget.trackedEntity=e}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(e)?l(t)&&t.animateAppear():l(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._cesiumWidget.trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._cesiumWidget.clockTrackedDataSource},set:function(e){this._cesiumWidget.clockTrackedDataSource!==e&&(this._cesiumWidget.clockTrackedDataSource=e,PQ(this._timeline,e))}}});Qi.prototype.extend=function(e,t){e(this,t)};Qi.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=l(this._animation),r=l(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(l(a)&&(a.style.maxHeight=`${s}px`),l(this._geocoder)){let m=this._geocoder.searchSuggestionsContainer;m.style.maxHeight=`${s}px`}l(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,u,f=0,d=5,p=3,g=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let m=this._lastWidth;u=this._animation.container,n>900?(f=169,m<=900&&(u.style.width="169px",u.style.height="112px",this._animation.resize())):n>=600?(f=136,(m<600||m>900)&&(u.style.width="136px",u.style.height="90px",this._animation.resize())):(f=106,(m>600||m===0)&&(u.style.width="106px",u.style.height="70px",this._animation.resize())),d=f+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let m=this._fullscreenButton,x=this._vrButton,b=c.container,T=b.style;p=b.clientHeight+3,T.left=`${f}px`;let A=0;l(m)&&(A+=m.container.clientWidth),l(x)&&(A+=x.container.clientWidth),T.right=`${A}px`,c.resize()}!r&&l(this._fullscreenButton)&&(g=this._fullscreenButton.container.clientWidth),this._bottomContainer.style.left=`${d}px`,this._bottomContainer.style.bottom=`${p}px`,this._bottomContainer.style.right=`${g}px`,this._lastWidth=n,this._lastHeight=i};Qi.prototype.forceResize=function(){this._lastWidth=0,this.resize()};Qi.prototype.render=function(){this._cesiumWidget.render()};Qi.prototype.isDestroyed=function(){return!1};Qi.prototype.destroy=function(){return l(this.screenSpaceEventHandler)&&!this.screenSpaceEventHandler.isDestroyed()&&(this.screenSpaceEventHandler.removeInputAction(An.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(An.LEFT_DOUBLE_CLICK)),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),l(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),l(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),l(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),l(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),l(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),l(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),l(this._timeline)&&(this._timeline.removeEventListener("settime",vEe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),l(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),l(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),l(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),l(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._cesiumWidget=this._cesiumWidget.destroy(),ue(this)};Qi.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Qi.prototype._onEntityCollectionChanged,this)};Qi.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Qi.prototype._onEntityCollectionChanged,this),l(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};Qi.prototype._updateCanAnimate=function(e){return function(t){e._clockViewModel.canAnimate=t}};Qi.prototype._onTick=function(e){let t=e.currentTime,n,i=!1,o=this.selectedEntity,r=l(o)&&this._enableInfoOrSelection;r&&o.isShowing&&o.isAvailable(t)&&(this._cesiumWidget.dataSourceDisplay.getBoundingSphere(o,!0,AEe)!==ct.FAILED?n=AEe.center:l(o.position)&&(n=o.position.getValue(t,n)),i=l(n));let s=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(s)&&(s.position=h.clone(n,s.position),s.showSelection=r&&i,s.update());let a=l(this._infoBox)?this._infoBox.viewModel:void 0;l(a)&&(a.showInfo=r,a.enableCamera=i,a.isCameraTracking=this.trackedEntity===this.selectedEntity,r?(a.titleText=y(o.name,o.id),a.description=q.getValueOrDefault(o.description,t,"")):(a.titleText="",a.description=""))};Qi.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.selectedEntity===r&&(this.selectedEntity=void 0)}};Qi.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;l(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};Qi.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Qi.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};Qi.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};Qi.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&PQ(this.timeline,e)};Qi.prototype._onDataSourceAdded=function(e,t){this._cesiumWidget._automaticallyTrackDataSourceClocks&&t===this.clockTrackedDataSource&&PQ(this._timeline,t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Qi.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Qi.prototype._onDataSourceRemoved=function(e,t){let n=t.entities.id;this._dataSourceChangedListeners[n](),this._dataSourceChangedListeners[n]=void 0};Qi.prototype.zoomTo=function(e,t){return this._cesiumWidget.zoomTo(e,t)};Qi.prototype.flyTo=function(e,t){return this._cesiumWidget.flyTo(e,t)};var RQ=Qi;function Gvt(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new wk(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var OQ=Gvt;function Wvt(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new pk(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var MQ=Wvt;function jvt(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new me,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=Rn(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(f){wEe(s,u),s=f,LQ(s,u)}},dropEnabled:{get:function(){return n},set:function(f){f!==n&&(f?LQ(s,u):wEe(s,u),n=f)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(f){r=f}},flyToOnDrop:{get:function(){return i},set:function(f){i=f}},proxy:{get:function(){return c},set:function(f){c=f}},clampToGround:{get:function(){return a},set:function(f){a=f}}});function u(f){LC(f),r&&(e.entities.removeAll(),e.dataSources.removeAll());let d=f.dataTransfer.files,p=d.length;for(let g=0;g<p;g++){let m=d[g],x=new FileReader;x.onload=qvt(e,m,c,a),x.onerror=Yvt(e,m),x.readAsText(m)}}LQ(s,u),e.destroy=KF(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=u}function LC(e){e.stopPropagation(),e.preventDefault()}function wEe(e,t){let n=e;l(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",LC,!1),n.removeEventListener("dragover",LC,!1),n.removeEventListener("dragexit",LC,!1))}function LQ(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",LC,!1),e.addEventListener("dragover",LC,!1),e.addEventListener("dragexit",LC,!1)}function qvt(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=aN.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=pF.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=DF.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=xF.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}l(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function Yvt(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var NQ=jvt;function Xvt(e,t){t=y(t,y.EMPTY_OBJECT);let n=new Uk({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var FQ=Xvt;function DEe(e){let t=e.split(` `),n;for(n=0;n<t.length&&!t[n].match(/\S/);n++);if(n===t.length)return"";let i="",o=/^\s*/,s=t[n].match(o)[0].length;for(let a=n;a<t.length;a++){let c=t[a];c.match(o)[0].length>=s&&(c=c.slice(s)),i+=`${c} -`}return i}function pd(e){this._scene=e,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let t=this;function n(o){let{name:r,initialValue:s}=o;t._definedProperties.push(r);let a=o.setPrimitiveFunction;a===!0&&(a=function(f){t._voxelPrimitive[r]=f});let c=o.getPrimitiveFunction;c===!0&&(c=function(){t[r]=t._voxelPrimitive[r]}),l(c)&&t._getPrimitiveFunctions.push(c);let u=be.observable();return be.defineProperty(t,r,{get:function(){return u()},set:function(f){typeof s=="number"&&typeof f=="string"&&(f=Number(f),isNaN(f)&&(f=s)),typeof s=="boolean"&&typeof f=="number"&&(f=f===1),u(f),l(a)&&l(t._voxelPrimitive)&&(a(f),e.requestRender())}}),t[r]=s,u}function i(o,r){return function(s){let a=t._voxelPrimitive[o].clone();a[r]=s,t._voxelPrimitive[o]=a}}n({name:"inspectorVisible",initialValue:!0}),n({name:"displayVisible",initialValue:!1}),n({name:"transformVisible",initialValue:!1}),n({name:"boundsVisible",initialValue:!1}),n({name:"clippingVisible",initialValue:!1}),n({name:"shaderVisible",initialValue:!1}),n({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let o=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=aEe(o)}}),n({name:"shaderCompilationMessage",initialValue:""}),n({name:"shaderCompilationSuccess",initialValue:!0}),n({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"shapeIsBox",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsBox=o===Bi.BOX}}),n({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsEllipsoid=o===Bi.ELLIPSOID}}),n({name:"shapeIsCylinder",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsCylinder=o===Bi.CYLINDER}}),n({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMaxX=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMinX=t._voxelPrimitive.minBounds.x}}),n({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMaxY=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMinY=t._voxelPrimitive.minBounds.y}}),n({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMaxZ=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMinZ=t._voxelPrimitive.minBounds.z}}),n({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLongitude=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLongitude=t._voxelPrimitive.minBounds.x}}),n({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLatitude=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLatitude=t._voxelPrimitive.minBounds.y}}),n({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxHeight=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMinHeight=t._voxelPrimitive.minBounds.z}}),n({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMaxRadius=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMinRadius=t._voxelPrimitive.minBounds.x}}),n({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMaxHeight=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMinHeight=t._voxelPrimitive.minBounds.y}}),n({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMaxAngle=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMinAngle=t._voxelPrimitive.minBounds.z}}),n({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMaxX=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMinX=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMaxY=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMinY=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMaxZ=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMinZ=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLongitude=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLongitude=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLatitude=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLatitude=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxHeight=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMinHeight=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMaxRadius=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMinRadius=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMaxHeight=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMinHeight=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMaxAngle=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMinAngle=t._voxelPrimitive.minClippingBounds.z}}),n({name:"translationX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.translationX=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"translationY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.translationY=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.translationZ=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.scaleX=F.getScale(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.scaleY=F.getScale(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)},getPrimitiveFunction:function(){t.scaleZ=F.getScale(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"angleX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)}}),n({name:"angleY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)}}),n({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&cp(t)}})}var cvt=new h,lvt=new h,uvt=new Ia,fvt=new $;function cp(e){let t=h.fromElements(e.translationX,e.translationY,e.translationZ,cvt),n=h.fromElements(e.scaleX,e.scaleY,e.scaleZ,lvt),i=uvt;i.heading=e.angleX,i.pitch=e.angleY,i.roll=e.angleZ;let o=$.fromHeadingPitchRoll(i,fvt),r=$.multiplyByScale(o,n,o);e._voxelPrimitive.modelMatrix=F.fromRotationTranslation(r,t,e._voxelPrimitive.modelMatrix)}Object.defineProperties(pd.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(e){if(l(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),l(e)){this._voxelPrimitive=e;let t=this;t._customShaderCompilationRemoveCallback=t._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(n){let i=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=aEe(i),l(n)?(t.shaderCompilationMessage=n.message,t.shaderCompilationSuccess=!1):(t.shaderCompilationMessage="Shader compiled successfully!",t.shaderCompilationSuccess=!0)}),t._modelMatrixReady=!1;for(let n=0;n<t._getPrimitiveFunctions.length;n++)t._getPrimitiveFunctions[n]();t._modelMatrixReady=!0,cp(t)}}}});pd.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};pd.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};pd.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};pd.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};pd.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};pd.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};pd.prototype.compileShader=function(){l(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new pC({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};pd.prototype.shaderEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` +`}return i}function xd(e){this._scene=e,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let t=this;function n(o){let{name:r,initialValue:s}=o;t._definedProperties.push(r);let a=o.setPrimitiveFunction;a===!0&&(a=function(f){t._voxelPrimitive[r]=f});let c=o.getPrimitiveFunction;c===!0&&(c=function(){t[r]=t._voxelPrimitive[r]}),l(c)&&t._getPrimitiveFunctions.push(c);let u=be.observable();return be.defineProperty(t,r,{get:function(){return u()},set:function(f){typeof s=="number"&&typeof f=="string"&&(f=Number(f),isNaN(f)&&(f=s)),typeof s=="boolean"&&typeof f=="number"&&(f=f===1),u(f),l(a)&&l(t._voxelPrimitive)&&(a(f),e.requestRender())}}),t[r]=s,u}function i(o,r){return function(s){let a=t._voxelPrimitive[o].clone();a[r]=s,t._voxelPrimitive[o]=a}}n({name:"inspectorVisible",initialValue:!0}),n({name:"displayVisible",initialValue:!1}),n({name:"transformVisible",initialValue:!1}),n({name:"boundsVisible",initialValue:!1}),n({name:"clippingVisible",initialValue:!1}),n({name:"shaderVisible",initialValue:!1}),n({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let o=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=DEe(o)}}),n({name:"shaderCompilationMessage",initialValue:""}),n({name:"shaderCompilationSuccess",initialValue:!0}),n({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"shapeIsBox",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsBox=o===Vi.BOX}}),n({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsEllipsoid=o===Vi.ELLIPSOID}}),n({name:"shapeIsCylinder",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsCylinder=o===Vi.CYLINDER}}),n({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMaxX=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMinX=t._voxelPrimitive.minBounds.x}}),n({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMaxY=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMinY=t._voxelPrimitive.minBounds.y}}),n({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMaxZ=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMinZ=t._voxelPrimitive.minBounds.z}}),n({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLongitude=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLongitude=t._voxelPrimitive.minBounds.x}}),n({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLatitude=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLatitude=t._voxelPrimitive.minBounds.y}}),n({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxHeight=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMinHeight=t._voxelPrimitive.minBounds.z}}),n({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMaxRadius=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMinRadius=t._voxelPrimitive.minBounds.x}}),n({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMaxHeight=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMinHeight=t._voxelPrimitive.minBounds.y}}),n({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMaxAngle=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMinAngle=t._voxelPrimitive.minBounds.z}}),n({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMaxX=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMinX=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMaxY=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMinY=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMaxZ=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMinZ=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLongitude=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLongitude=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLatitude=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLatitude=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxHeight=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMinHeight=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMaxRadius=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMinRadius=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMaxHeight=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMinHeight=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMaxAngle=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMinAngle=t._voxelPrimitive.minClippingBounds.z}}),n({name:"translationX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)},getPrimitiveFunction:function(){t.translationX=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"translationY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)},getPrimitiveFunction:function(){t.translationY=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)},getPrimitiveFunction:function(){t.translationZ=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)},getPrimitiveFunction:function(){t.scaleX=F.getScale(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)},getPrimitiveFunction:function(){t.scaleY=F.getScale(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)},getPrimitiveFunction:function(){t.scaleZ=F.getScale(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"angleX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)}}),n({name:"angleY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)}}),n({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&lp(t)}})}var Kvt=new h,Zvt=new h,$vt=new Da,Qvt=new $;function lp(e){let t=h.fromElements(e.translationX,e.translationY,e.translationZ,Kvt),n=h.fromElements(e.scaleX,e.scaleY,e.scaleZ,Zvt),i=$vt;i.heading=e.angleX,i.pitch=e.angleY,i.roll=e.angleZ;let o=$.fromHeadingPitchRoll(i,Qvt),r=$.multiplyByScale(o,n,o);e._voxelPrimitive.modelMatrix=F.fromRotationTranslation(r,t,e._voxelPrimitive.modelMatrix)}Object.defineProperties(xd.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(e){if(l(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),l(e)){this._voxelPrimitive=e;let t=this;t._customShaderCompilationRemoveCallback=t._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(n){let i=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=DEe(i),l(n)?(t.shaderCompilationMessage=n.message,t.shaderCompilationSuccess=!1):(t.shaderCompilationMessage="Shader compiled successfully!",t.shaderCompilationSuccess=!0)}),t._modelMatrixReady=!1;for(let n=0;n<t._getPrimitiveFunctions.length;n++)t._getPrimitiveFunctions[n]();t._modelMatrixReady=!0,lp(t)}}}});xd.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};xd.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};xd.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};xd.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};xd.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};xd.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};xd.prototype.compileShader=function(){l(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new yC({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};xd.prototype.shaderEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` `),c=a.length,u;if(t.shiftKey)for(u=0;u<c;++u)a[u][0]===" "&&(a[u][1]===" "?(a[u]=a[u].substr(2),r-=2):(a[u]=a[u].substr(1),r-=1));else for(u=0;u<c;++u)a[u]=` ${a[u]}`,r+=2;let f=a.join(` -`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileShader();return!0};pd.prototype.isDestroyed=function(){return!1};pd.prototype.destroy=function(){let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};var qk=pd;function a5(e,t){e=Rn(e);let n=document.createElement("div"),i=new qk(t);this._viewModel=i,this._container=e,this._element=n;let o=document.createElement("div");o.textContent="Voxel Inspector",o.className="cesium-cesiumInspector-button",o.setAttribute("data-bind","click: toggleInspector"),n.appendChild(o),n.className="cesium-cesiumInspector cesium-VoxelInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let r=document.createElement("div");r.className="cesium-cesiumInspector-dropDown",n.appendChild(r);let s=Ka.createSection,a=Ka.createCheckbox,c=Ka.createRangeInput,u=Ka.createButton,f=s(r,"Display","displayVisible","toggleDisplay"),d=s(r,"Transform","transformVisible","toggleTransform"),p=s(r,"Bounds","boundsVisible","toggleBounds"),g=s(r,"Clipping","clippingVisible","toggleClipping"),m=s(r,"Shader","shaderVisible","toggleShader");f.appendChild(a("Depth Test","depthTest")),f.appendChild(a("Show","show")),f.appendChild(a("Disable Update","disableUpdate")),f.appendChild(a("Debug Draw","debugDraw")),f.appendChild(a("Jitter","jitter")),f.appendChild(a("Nearest Sampling","nearestSampling")),f.appendChild(c("Screen Space Error","screenSpaceError",0,128)),f.appendChild(c("Step Size","stepSize",0,2));let x=10,b=10,T=P.PI;d.appendChild(c("Translation X","translationX",-x,+x)),d.appendChild(c("Translation Y","translationY",-x,+x)),d.appendChild(c("Translation Z","translationZ",-x,+x)),d.appendChild(c("Scale X","scaleX",0,+b)),d.appendChild(c("Scale Y","scaleY",0,+b)),d.appendChild(c("Scale Z","scaleZ",0,+b)),d.appendChild(c("Heading","angleX",-T,+T)),d.appendChild(c("Pitch","angleY",-T,+T)),d.appendChild(c("Roll","angleZ",-T,+T));let A=Bi.getMinBounds(Bi.BOX),C=Bi.getMaxBounds(Bi.BOX),E=h.fromElements(Bi.getMinBounds(Bi.ELLIPSOID).x,Bi.getMinBounds(Bi.ELLIPSOID).y,-ee.WGS84.maximumRadius,new h),v=h.fromElements(Bi.getMaxBounds(Bi.ELLIPSOID).x,Bi.getMaxBounds(Bi.ELLIPSOID).y,1e7,new h),D=Bi.getMinBounds(Bi.CYLINDER),O=Bi.getMaxBounds(Bi.CYLINDER);Xv("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",A,C,"shapeIsBox",p),Xv("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",E,v,"shapeIsEllipsoid",p),Xv("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",D,O,"shapeIsCylinder",p),Xv("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",A,C,"shapeIsBox",g),Xv("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",E,v,"shapeIsEllipsoid",g),Xv("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",D,O,"shapeIsCylinder",g);let R=document.createElement("div");m.appendChild(R);let M=document.createElement("textarea");M.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),R.className="cesium-cesiumInspector-styleEditor",R.appendChild(M);let N=u("Compile (Ctrl+Enter)","compileShader");R.appendChild(N);let _=document.createElement("label");_.style.display="block",_.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),R.appendChild(_),be.applyBindings(i,n)}Object.defineProperties(a5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});a5.prototype.isDestroyed=function(){return!1};a5.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};function Xv(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){let b=Ka.createRangeInput,T=p,A=g,C=x.appendChild(document.createElement("div"));C.setAttribute("data-bind",`if: ${m}`),C.appendChild(b(e,s,T.x,A.x)),C.appendChild(b(t,a,T.x,A.x)),C.appendChild(b(n,c,T.y,A.y)),C.appendChild(b(i,u,T.y,A.y)),C.appendChild(b(o,f,T.z,A.z)),C.appendChild(b(r,d,T.z,A.z))}var Yk=a5;function dvt(e){let t=document.createElement("div");t.className="cesium-viewer-voxelInspectorContainer",e.container.appendChild(t);let n=new Yk(t,e.scene);Object.defineProperties(e,{voxelInspector:{get:function(){return n}}})}var CQ=dvt;globalThis.CESIUM_VERSION="1.122";var hvt="1.122";0&&(module.exports={AlphaMode,AlphaPipelineStage,AnchorPointDirect,AnchorPointIndirect,Animation,AnimationViewModel,Appearance,ApproximateTerrainHeights,ArcGISTiledElevationTerrainProvider,ArcGisBaseMapType,ArcGisMapServerImageryProvider,ArcGisMapService,ArcType,ArticulationStageType,AssociativeArray,Atmosphere,AtmospherePipelineStage,AttributeCompression,AttributeType,AutoExposure,AutomaticUniforms,Axis,AxisAlignedBoundingBox,B3dmLoader,B3dmParser,BaseLayerPicker,BaseLayerPickerViewModel,BatchTable,BatchTableHierarchy,BatchTexture,BatchTexturePipelineStage,Billboard,BillboardCollection,BillboardGraphics,BillboardVisualizer,BingMapsGeocoderService,BingMapsImageryProvider,BingMapsStyle,BlendEquation,BlendFunction,BlendOption,BlendingState,BoundingRectangle,BoundingSphere,BoundingSphereState,BoundingVolumeSemantics,BoxEmitter,BoxGeometry,BoxGeometryUpdater,BoxGraphics,BoxOutlineGeometry,BrdfLutGenerator,Buffer,BufferLoader,BufferUsage,CPUStylingPipelineStage,CallbackPositionProperty,CallbackProperty,Camera,CameraEventAggregator,CameraEventType,CameraFlightPath,Cartesian2,Cartesian3,Cartesian4,Cartographic,CartographicGeocoderService,CatmullRomSpline,Cesium3DContentGroup,Cesium3DTile,Cesium3DTileBatchTable,Cesium3DTileColorBlendMode,Cesium3DTileContent,Cesium3DTileContentFactory,Cesium3DTileContentState,Cesium3DTileContentType,Cesium3DTileFeature,Cesium3DTileFeatureTable,Cesium3DTileOptimizationHint,Cesium3DTileOptimizations,Cesium3DTilePass,Cesium3DTilePassState,Cesium3DTilePointFeature,Cesium3DTileRefine,Cesium3DTileStyle,Cesium3DTileStyleEngine,Cesium3DTilesInspector,Cesium3DTilesInspectorViewModel,Cesium3DTilesVoxelProvider,Cesium3DTileset,Cesium3DTilesetBaseTraversal,Cesium3DTilesetCache,Cesium3DTilesetGraphics,Cesium3DTilesetHeatmap,Cesium3DTilesetMetadata,Cesium3DTilesetMostDetailedTraversal,Cesium3DTilesetSkipTraversal,Cesium3DTilesetStatistics,Cesium3DTilesetTraversal,Cesium3DTilesetVisualizer,CesiumInspector,CesiumInspectorViewModel,CesiumTerrainProvider,CesiumWidget,Check,CheckerboardMaterialProperty,CircleEmitter,CircleGeometry,CircleOutlineGeometry,ClassificationModelDrawCommand,ClassificationPipelineStage,ClassificationPrimitive,ClassificationType,ClearCommand,ClippingPlane,ClippingPlaneCollection,ClippingPolygon,ClippingPolygonCollection,Clock,ClockRange,ClockStep,ClockViewModel,CloudCollection,CloudType,Color,ColorBlendMode,ColorGeometryInstanceAttribute,ColorMaterialProperty,Command,ComponentDatatype,Composite3DTileContent,CompositeEntityCollection,CompositeMaterialProperty,CompositePositionProperty,CompositeProperty,CompressedTextureBuffer,ComputeCommand,ComputeEngine,ConditionsExpression,ConeEmitter,ConstantPositionProperty,ConstantProperty,ConstantSpline,ContentMetadata,Context,ContextLimits,CoplanarPolygonGeometry,CoplanarPolygonGeometryLibrary,CoplanarPolygonOutlineGeometry,CornerType,CorrelationGroup,CorridorGeometry,CorridorGeometryLibrary,CorridorGeometryUpdater,CorridorGraphics,CorridorOutlineGeometry,Credit,CreditDisplay,CubeMap,CubeMapFace,CubicRealPolynomial,CullFace,CullingVolume,CumulusCloud,CustomDataSource,CustomHeightmapTerrainProvider,CustomShader,CustomShaderMode,CustomShaderPipelineStage,CustomShaderTranslucencyMode,CylinderGeometry,CylinderGeometryLibrary,CylinderGeometryUpdater,CylinderGraphics,CylinderOutlineGeometry,CzmlDataSource,DataSource,DataSourceClock,DataSourceCollection,DataSourceDisplay,DebugAppearance,DebugCameraPrimitive,DebugInspector,DebugModelMatrixPrimitive,DefaultProxy,DepthFunction,DepthPlane,DequantizationPipelineStage,DerivedCommand,DeveloperError,DeviceOrientationCameraController,DirectionalLight,DiscardEmptyTileImagePolicy,DiscardMissingTileImagePolicy,DistanceDisplayCondition,DistanceDisplayConditionGeometryInstanceAttribute,DoubleEndedPriorityQueue,DoublyLinkedList,DracoLoader,DrawCommand,DynamicAtmosphereLightingType,DynamicGeometryBatch,DynamicGeometryUpdater,EarthOrientationParameters,EarthOrientationParametersSample,EasingFunction,EllipseGeometry,EllipseGeometryLibrary,EllipseGeometryUpdater,EllipseGraphics,EllipseOutlineGeometry,Ellipsoid,EllipsoidGeodesic,EllipsoidGeometry,EllipsoidGeometryUpdater,EllipsoidGraphics,EllipsoidOutlineGeometry,EllipsoidPrimitive,EllipsoidRhumbLine,EllipsoidSurfaceAppearance,EllipsoidTangentPlane,EllipsoidTerrainProvider,EllipsoidalOccluder,Empty3DTileContent,EncodedCartesian3,Entity,EntityCluster,EntityCollection,EntityView,Event,EventHelper,Expression,ExpressionNodeType,ExtrapolationType,FeatureDetection,FeatureIdPipelineStage,Fog,ForEach,FrameRateMonitor,FrameState,Framebuffer,FramebufferManager,FrustumCommands,FrustumGeometry,FrustumOutlineGeometry,Fullscreen,FullscreenButton,FullscreenButtonViewModel,GeoJsonDataSource,GeoJsonLoader,GeocodeType,Geocoder,GeocoderService,GeocoderViewModel,GeographicProjection,GeographicTilingScheme,Geometry,Geometry3DTileContent,GeometryAttribute,GeometryAttributes,GeometryFactory,GeometryInstance,GeometryInstanceAttribute,GeometryOffsetAttribute,GeometryPipeline,GeometryPipelineStage,GeometryType,GeometryUpdater,GeometryUpdaterSet,GeometryVisualizer,GetFeatureInfoFormat,Globe,GlobeDepth,GlobeSurfaceShaderSet,GlobeSurfaceTile,GlobeSurfaceTileProvider,GlobeTranslucency,GlobeTranslucencyFramebuffer,GlobeTranslucencyState,GltfBufferViewLoader,GltfDracoLoader,GltfGpmLoader,GltfGpmLocal,GltfImageLoader,GltfIndexBufferLoader,GltfJsonLoader,GltfLoader,GltfLoaderUtil,GltfMeshPrimitiveGpmLoader,GltfStructuralMetadataLoader,GltfTextureLoader,GltfVertexBufferLoader,GoogleEarthEnterpriseImageryProvider,GoogleEarthEnterpriseMapsProvider,GoogleEarthEnterpriseMetadata,GoogleEarthEnterpriseTerrainData,GoogleEarthEnterpriseTerrainProvider,GoogleEarthEnterpriseTileInformation,GoogleMaps,GpxDataSource,GregorianDate,GridImageryProvider,GridMaterialProperty,GroundGeometryUpdater,GroundPolylineGeometry,GroundPolylinePrimitive,GroundPrimitive,GroupMetadata,HeadingPitchRange,HeadingPitchRoll,Heap,HeightReference,HeightmapEncoding,HeightmapTerrainData,HeightmapTessellator,HermitePolynomialApproximation,HermiteSpline,HilbertOrder,HomeButton,HomeButtonViewModel,HorizontalOrigin,I3SBuildingSceneLayerExplorer,I3SBuildingSceneLayerExplorerViewModel,I3SDataProvider,I3SDecoder,I3SFeature,I3SField,I3SGeometry,I3SLayer,I3SNode,I3SStatistics,I3SSublayer,I3SSymbology,I3dmLoader,I3dmParser,Iau2000Orientation,Iau2006XysData,Iau2006XysSample,IauOrientationAxes,IauOrientationParameters,ImageBasedLighting,ImageBasedLightingPipelineStage,ImageMaterialProperty,Imagery,ImageryLayer,ImageryLayerCollection,ImageryLayerFeatureInfo,ImageryProvider,ImageryState,Implicit3DTileContent,ImplicitAvailabilityBitstream,ImplicitMetadataView,ImplicitSubdivisionScheme,ImplicitSubtree,ImplicitSubtreeCache,ImplicitSubtreeMetadata,ImplicitTileCoordinates,ImplicitTileset,IndexDatatype,InfoBox,InfoBoxViewModel,InspectorShared,InstanceAttributeSemantic,InstancingPipelineStage,InterpolationAlgorithm,InterpolationType,Intersect,IntersectionTests,Intersections2D,Interval,InvertClassification,Ion,IonGeocoderService,IonImageryProvider,IonResource,IonWorldImageryStyle,Iso8601,JobScheduler,JobType,JsonMetadataTable,JulianDate,KTX2Transcoder,KeyboardEventModifier,KeyframeNode,KmlCamera,KmlDataSource,KmlLookAt,KmlTour,KmlTourFlyTo,KmlTourWait,Label,LabelCollection,LabelGraphics,LabelStyle,LabelVisualizer,LagrangePolynomialApproximation,LeapSecond,Light,LightingModel,LightingPipelineStage,LinearApproximation,LinearSpline,ManagedArray,MapMode2D,MapProjection,MapboxImageryProvider,MapboxStyleImageryProvider,Mars3DEx,Material,MaterialAppearance,MaterialPipelineStage,MaterialProperty,Math,Matrix2,Matrix3,Matrix4,Megatexture,MeshPrimitiveGpmLocal,MetadataClass,MetadataClassProperty,MetadataComponentType,MetadataEntity,MetadataEnum,MetadataEnumValue,MetadataPicking,MetadataPickingPipelineStage,MetadataPipelineStage,MetadataSchema,MetadataSchemaLoader,MetadataSemantic,MetadataTable,MetadataTableProperty,MetadataType,MipmapHint,Model,Model3DTileContent,ModelAlphaOptions,ModelAnimation,ModelAnimationChannel,ModelAnimationCollection,ModelAnimationLoop,ModelAnimationState,ModelArticulation,ModelArticulationStage,ModelClippingPlanesPipelineStage,ModelClippingPolygonsPipelineStage,ModelColorPipelineStage,ModelComponents,ModelDrawCommand,ModelDrawCommands,ModelFeature,ModelFeatureTable,ModelGraphics,ModelLightingOptions,ModelMatrixUpdateStage,ModelNode,ModelRenderResources,ModelRuntimeNode,ModelRuntimePrimitive,ModelSceneGraph,ModelSilhouettePipelineStage,ModelSkin,ModelSplitterPipelineStage,ModelStatistics,ModelType,ModelUtility,ModelVisualizer,Moon,MorphTargetsPipelineStage,MorphWeightSpline,MortonOrder,Multiple3DTileContent,MultisampleFramebuffer,NavigationHelpButton,NavigationHelpButtonViewModel,NearFarScalar,NeverTileDiscardPolicy,NodeRenderResources,NodeStatisticsPipelineStage,NodeTransformationProperty,OIT,Occluder,OffsetGeometryInstanceAttribute,OpenCageGeocoderService,OpenStreetMapImageryProvider,OrderedGroundPrimitiveCollection,OrientedBoundingBox,OrthographicFrustum,OrthographicOffCenterFrustum,Packable,PackableForInterpolation,Particle,ParticleBurst,ParticleEmitter,ParticleSystem,Pass,PassState,PathGraphics,PathVisualizer,PeliasGeocoderService,PerInstanceColorAppearance,PerformanceDisplay,PerformanceWatchdog,PerformanceWatchdogViewModel,PerspectiveFrustum,PerspectiveOffCenterFrustum,PickDepth,PickDepthFramebuffer,PickFramebuffer,PickedMetadataInfo,Picking,PickingPipelineStage,PinBuilder,PixelDatatype,PixelFormat,Plane,PlaneGeometry,PlaneGeometryUpdater,PlaneGraphics,PlaneOutlineGeometry,PntsLoader,PntsParser,PointCloud,PointCloudEyeDomeLighting,PointCloudShading,PointCloudStylingPipelineStage,PointGraphics,PointPrimitive,PointPrimitiveCollection,PointVisualizer,PolygonGeometry,PolygonGeometryLibrary,PolygonGeometryUpdater,PolygonGraphics,PolygonHierarchy,PolygonOutlineGeometry,PolygonPipeline,Polyline,PolylineArrowMaterialProperty,PolylineCollection,PolylineColorAppearance,PolylineDashMaterialProperty,PolylineGeometry,PolylineGeometryUpdater,PolylineGlowMaterialProperty,PolylineGraphics,PolylineMaterialAppearance,PolylineOutlineMaterialProperty,PolylinePipeline,PolylineVisualizer,PolylineVolumeGeometry,PolylineVolumeGeometryLibrary,PolylineVolumeGeometryUpdater,PolylineVolumeGraphics,PolylineVolumeOutlineGeometry,PositionProperty,PositionPropertyArray,PostProcessStage,PostProcessStageCollection,PostProcessStageComposite,PostProcessStageLibrary,PostProcessStageSampleMode,PostProcessStageTextureCache,PpeMetadata,PpeSource,PpeTexture,Primitive,PrimitiveCollection,PrimitiveLoadPlan,PrimitiveOutlineGenerator,PrimitiveOutlinePipelineStage,PrimitivePipeline,PrimitiveRenderResources,PrimitiveState,PrimitiveStatisticsPipelineStage,PrimitiveType,ProjectionPicker,ProjectionPickerViewModel,Property,PropertyArray,PropertyAttribute,PropertyAttributeProperty,PropertyBag,PropertyTable,PropertyTexture,PropertyTextureProperty,ProviderViewModel,Proxy,QuadraticRealPolynomial,QuadtreeOccluders,QuadtreePrimitive,QuadtreeTile,QuadtreeTileLoadState,QuadtreeTileProvider,QuantizedMeshTerrainData,QuarticRealPolynomial,Quaternion,QuaternionSpline,Queue,Ray,Rectangle,RectangleCollisionChecker,RectangleGeometry,RectangleGeometryLibrary,RectangleGeometryUpdater,RectangleGraphics,RectangleOutlineGeometry,ReferenceFrame,ReferenceProperty,RenderState,Renderbuffer,RenderbufferFormat,Request,RequestErrorEvent,RequestScheduler,RequestState,RequestType,Resource,ResourceCache,ResourceCacheKey,ResourceCacheStatistics,ResourceLoader,ResourceLoaderState,Rotation,RuntimeError,S2Cell,SDFSettings,SampledPositionProperty,SampledProperty,Sampler,ScaledPositionProperty,Scene,SceneFramebuffer,SceneMode,SceneMode2DPipelineStage,SceneModePicker,SceneModePickerViewModel,SceneTransforms,SceneTransitioner,ScreenSpaceCameraController,ScreenSpaceEventHandler,ScreenSpaceEventType,SelectedFeatureIdPipelineStage,SelectionIndicator,SelectionIndicatorViewModel,SensorVolumePortionToDisplay,ShaderBuilder,ShaderCache,ShaderDestination,ShaderFunction,ShaderProgram,ShaderSource,ShaderStruct,ShadowMap,ShadowMapShader,ShadowMode,ShadowVolumeAppearance,ShowGeometryInstanceAttribute,Simon1994PlanetaryPositions,SimplePolylineGeometry,SingleTileImageryProvider,SkinningPipelineStage,SkyAtmosphere,SkyBox,SpatialNode,Spdcf,SpecularEnvironmentCubeMap,SphereEmitter,SphereGeometry,SphereOutlineGeometry,Spherical,Spline,SplitDirection,Splitter,StaticGeometryColorBatch,StaticGeometryPerMaterialBatch,StaticGroundGeometryColorBatch,StaticGroundGeometryPerMaterialBatch,StaticGroundPolylinePerMaterialBatch,StaticOutlineGeometryBatch,StencilConstants,StencilFunction,StencilOperation,SteppedSpline,Stereographic,StorageType,StripeMaterialProperty,StripeOrientation,StructuralMetadata,StyleCommandsNeeded,StyleExpression,Sun,SunLight,SunPostProcess,SupportedImageFormats,SvgPathBindingHandler,TaskProcessor,Terrain,TerrainData,TerrainEncoding,TerrainFillMesh,TerrainMesh,TerrainOffsetProperty,TerrainProvider,TerrainQuantization,TerrainState,Texture,TextureAtlas,TextureCache,TextureMagnificationFilter,TextureManager,TextureMinificationFilter,TextureUniform,TextureWrap,TileAvailability,TileBoundingRegion,TileBoundingS2Cell,TileBoundingSphere,TileBoundingVolume,TileCoordinatesImageryProvider,TileDiscardPolicy,TileEdge,TileImagery,TileMapServiceImageryProvider,TileMetadata,TileOrientedBoundingBox,TileProviderError,TileReplacementQueue,TileSelectionResult,TileState,Tileset3DTileContent,TilesetMetadata,TilesetPipelineStage,TilingScheme,TimeConstants,TimeDynamicImagery,TimeDynamicPointCloud,TimeInterval,TimeIntervalCollection,TimeIntervalCollectionPositionProperty,TimeIntervalCollectionProperty,TimeStandard,Timeline,TimelineHighlightRange,TimelineTrack,Tipsify,ToggleButtonViewModel,Tonemapper,Transforms,TranslationRotationScale,TranslucentTileClassification,TridiagonalSystemSolver,TrustedServers,TweenCollection,UniformState,UniformType,UrlTemplateImageryProvider,VERSION,VRButton,VRButtonViewModel,VRTheWorldTerrainProvider,VaryingType,Vector3DTileBatch,Vector3DTileClampedPolylines,Vector3DTileContent,Vector3DTileGeometry,Vector3DTilePoints,Vector3DTilePolygons,Vector3DTilePolylines,Vector3DTilePrimitive,VelocityOrientationProperty,VelocityVectorProperty,VertexArray,VertexArrayFacade,VertexAttributeSemantic,VertexFormat,VerticalExaggeration,VerticalExaggerationPipelineStage,VerticalOrigin,VideoSynchronizer,View,Viewer,ViewportQuad,Visibility,Visualizer,VoxelBoxShape,VoxelCell,VoxelContent,VoxelCylinderShape,VoxelEllipsoidShape,VoxelInspector,VoxelInspectorViewModel,VoxelPrimitive,VoxelProvider,VoxelRenderResources,VoxelShape,VoxelShapeType,VoxelTraversal,VulkanConstants,WallGeometry,WallGeometryLibrary,WallGeometryUpdater,WallGraphics,WallOutlineGeometry,WebGLConstants,WebMapServiceImageryProvider,WebMapTileServiceImageryProvider,WebMercatorProjection,WebMercatorTilingScheme,WindingOrder,WireframeIndexGenerator,WireframePipelineStage,_shadersAcesTonemappingStage,_shadersAdditiveBlend,_shadersAdjustTranslucentFS,_shadersAllMaterialAppearanceFS,_shadersAllMaterialAppearanceVS,_shadersAmbientOcclusionGenerate,_shadersAmbientOcclusionModulate,_shadersAspectRampMaterial,_shadersAtmosphereCommon,_shadersAtmosphereStageFS,_shadersAtmosphereStageVS,_shadersBasicMaterialAppearanceFS,_shadersBasicMaterialAppearanceVS,_shadersBillboardCollectionFS,_shadersBillboardCollectionVS,_shadersBlackAndWhite,_shadersBloomComposite,_shadersBrdfLutGeneratorFS,_shadersBrightPass,_shadersBrightness,_shadersBumpMapMaterial,_shadersCPUStylingStageFS,_shadersCPUStylingStageVS,_shadersCheckerboardMaterial,_shadersCloudCollectionFS,_shadersCloudCollectionVS,_shadersCloudNoiseFS,_shadersCloudNoiseVS,_shadersCompareAndPackTranslucentDepth,_shadersCompositeOITFS,_shadersCompositeTranslucentClassification,_shadersContrastBias,_shadersCustomShaderStageFS,_shadersCustomShaderStageVS,_shadersCzmBuiltins,_shadersDepthOfField,_shadersDepthPlaneFS,_shadersDepthPlaneVS,_shadersDepthView,_shadersDepthViewPacked,_shadersDotMaterial,_shadersEdgeDetection,_shadersElevationBandMaterial,_shadersElevationContourMaterial,_shadersElevationRampMaterial,_shadersEllipsoidFS,_shadersEllipsoidSurfaceAppearanceFS,_shadersEllipsoidSurfaceAppearanceVS,_shadersEllipsoidVS,_shadersFXAA,_shadersFXAA3_11,_shadersFadeMaterial,_shadersFeatureIdStageFS,_shadersFeatureIdStageVS,_shadersFilmicTonemapping,_shadersGaussianBlur1D,_shadersGeometryStageFS,_shadersGeometryStageVS,_shadersGlobeFS,_shadersGlobeVS,_shadersGridMaterial,_shadersGroundAtmosphere,_shadersHSBToRGB,_shadersHSLToRGB,_shadersImageBasedLightingStageFS,_shadersInstancingStageCommon,_shadersInstancingStageVS,_shadersIntersectBox,_shadersIntersectClippingPlanes,_shadersIntersectCylinder,_shadersIntersectDepth,_shadersIntersectEllipsoid,_shadersIntersectLongitude,_shadersIntersection,_shadersIntersectionUtils,_shadersLegacyInstancingStageVS,_shadersLensFlare,_shadersLightingStageFS,_shadersMaterialStageFS,_shadersMegatexture,_shadersMetadataStageFS,_shadersMetadataStageVS,_shadersModelClippingPlanesStageFS,_shadersModelClippingPolygonsStageFS,_shadersModelClippingPolygonsStageVS,_shadersModelColorStageFS,_shadersModelFS,_shadersModelSilhouetteStageFS,_shadersModelSilhouetteStageVS,_shadersModelSplitterStageFS,_shadersModelVS,_shadersModifiedReinhardTonemapping,_shadersMorphTargetsStageVS,_shadersNightVision,_shadersNormalMapMaterial,_shadersOctree,_shadersPassThrough,_shadersPassThroughDepth,_shadersPbrNeutralTonemapping,_shadersPerInstanceColorAppearanceFS,_shadersPerInstanceColorAppearanceVS,_shadersPerInstanceFlatColorAppearanceFS,_shadersPerInstanceFlatColorAppearanceVS,_shadersPointCloudEyeDomeLighting,_shadersPointCloudStylingStageVS,_shadersPointPrimitiveCollectionFS,_shadersPointPrimitiveCollectionVS,_shadersPolygonSignedDistanceFS,_shadersPolylineArrowMaterial,_shadersPolylineColorAppearanceVS,_shadersPolylineCommon,_shadersPolylineDashMaterial,_shadersPolylineFS,_shadersPolylineGlowMaterial,_shadersPolylineMaterialAppearanceVS,_shadersPolylineOutlineMaterial,_shadersPolylineShadowVolumeFS,_shadersPolylineShadowVolumeMorphFS,_shadersPolylineShadowVolumeMorphVS,_shadersPolylineShadowVolumeVS,_shadersPolylineVS,_shadersPrimitiveOutlineStageFS,_shadersPrimitiveOutlineStageVS,_shadersRGBToHSB,_shadersRGBToHSL,_shadersRGBToXYZ,_shadersReinhardTonemapping,_shadersReprojectWebMercatorFS,_shadersReprojectWebMercatorVS,_shadersRimLightingMaterial,_shadersSelectedFeatureIdStageCommon,_shadersShadowVolumeAppearanceFS,_shadersShadowVolumeAppearanceVS,_shadersShadowVolumeFS,_shadersSilhouette,_shadersSkinningStageVS,_shadersSkyAtmosphereCommon,_shadersSkyAtmosphereFS,_shadersSkyAtmosphereVS,_shadersSkyBoxFS,_shadersSkyBoxVS,_shadersSlopeRampMaterial,_shadersStripeMaterial,_shadersSunFS,_shadersSunTextureFS,_shadersSunVS,_shadersTexturedMaterialAppearanceFS,_shadersTexturedMaterialAppearanceVS,_shadersVector3DTileClampedPolylinesFS,_shadersVector3DTileClampedPolylinesVS,_shadersVector3DTilePolylinesVS,_shadersVectorTileVS,_shadersVerticalExaggerationStageVS,_shadersViewportQuadFS,_shadersViewportQuadVS,_shadersVoxelFS,_shadersVoxelUtils,_shadersVoxelVS,_shadersWater,_shadersWaterMaskMaterial,_shadersXYZToRGB,_shadersacesTonemapping,_shadersalphaWeight,_shadersantialias,_shadersapplyHSBShift,_shadersapproximateSphericalCoordinates,_shadersapproximateTanh,_shadersbackFacing,_shadersbranchFreeTernary,_shaderscascadeColor,_shaderscascadeDistance,_shaderscascadeMatrix,_shaderscascadeWeights,_shadersclipPolygons,_shaderscolumbusViewMorph,_shaderscomputeAtmosphereColor,_shaderscomputeGroundAtmosphereScattering,_shaderscomputePosition,_shaderscomputeScattering,_shadersconvertUvToBox,_shadersconvertUvToCylinder,_shadersconvertUvToEllipsoid,_shaderscosineAndSine,_shadersdecompressTextureCoordinates,_shadersdegreesPerRadian,_shadersdepthClamp,_shadersdepthRange,_shadersdepthRangeStruct,_shaderseastNorthUpToEyeCoordinates,_shadersellipsoidContainsPoint,_shadersellipsoidTextureCoordinates,_shadersepsilon1,_shadersepsilon2,_shadersepsilon3,_shadersepsilon4,_shadersepsilon5,_shadersepsilon6,_shadersepsilon7,_shadersequalsEpsilon,_shaderseyeOffset,_shaderseyeToWindowCoordinates,_shadersfastApproximateAtan,_shadersfog,_shadersgammaCorrect,_shadersgeodeticSurfaceNormal,_shadersgetDefaultMaterial,_shadersgetDynamicAtmosphereLightDirection,_shadersgetLambertDiffuse,_shadersgetSpecular,_shadersgetWaterNoise,_shadershue,_shadersinfinity,_shadersinverseGamma,_shadersisEmpty,_shadersisFull,_shaderslatitudeToWebMercatorFraction,_shaderslineDistance,_shaderslinearToSrgb,_shadersluminance,_shadersmaterial,_shadersmaterialInput,_shadersmaximumComponent,_shadersmetersPerPixel,_shadersmodelMaterial,_shadersmodelToWindowCoordinates,_shadersmodelVertexOutput,_shadersmultiplyWithColorBalance,_shadersnearFarScalar,_shadersoctDecode,_shadersoneOverPi,_shadersoneOverTwoPi,_shaderspackDepth,_shaderspassCesium3DTile,_shaderspassCesium3DTileClassification,_shaderspassCesium3DTileClassificationIgnoreShow,_shaderspassClassification,_shaderspassCompute,_shaderspassEnvironment,_shaderspassGlobe,_shaderspassOpaque,_shaderspassOverlay,_shaderspassTerrainClassification,_shaderspassTranslucent,_shaderspassVoxels,_shaderspbrLighting,_shaderspbrNeutralTonemapping,_shadersphong,_shaderspi,_shaderspiOverFour,_shaderspiOverSix,_shaderspiOverThree,_shaderspiOverTwo,_shadersplaneDistance,_shaderspointAlongRay,_shadersradiansPerDegree,_shadersray,_shadersrayEllipsoidIntersectionInterval,_shadersraySegment,_shadersraySphereIntersectionInterval,_shadersreadDepth,_shadersreadNonPerspective,_shadersreverseLogDepth,_shadersround,_shaderssaturation,_shaderssceneMode2D,_shaderssceneMode3D,_shaderssceneModeColumbusView,_shaderssceneModeMorphing,_shadersshadowDepthCompare,_shadersshadowParameters,_shadersshadowVisibility,_shaderssignNotZero,_shaderssolarRadius,_shaderssphericalHarmonics,_shaderssrgbToLinear,_shaderstangentToEyeSpaceMatrix,_shaderstextureCube,_shadersthreePiOver2,_shaderstransformPlane,_shaderstranslateRelativeToEye,_shaderstranslucentPhong,_shaderstranspose,_shaderstwoPi,_shadersunpackClippingExtents,_shadersunpackDepth,_shadersunpackFloat,_shadersunpackUint,_shadersvalueTransform,_shadersvertexLogDepth,_shaderswebMercatorMaxLatitude,_shaderswindowToEyeCoordinates,_shaderswriteDepthClamp,_shaderswriteLogDepth,_shaderswriteNonPerspective,addBuffer,addDefaults,addExtensionsRequired,addExtensionsUsed,addPipelineExtras,addToArray,appendForwardSlash,arrayRemoveDuplicates,barycentricCoordinates,binarySearch,buildModuleUrl,buildVoxelDrawCommands,clone,combine,computeFlyToLocationForRectangle,createBillboardPointCallback,createCommand,createDefaultImageryProviderViewModels,createDefaultTerrainProviderViewModels,createElevationBandMaterial,createGooglePhotorealistic3DTileset,createGuid,createMaterialPropertyDescriptor,createOsmBuildingsAsync,createPropertyDescriptor,createRawPropertyDescriptor,createTangentSpaceDebugPrimitive,createTaskProcessorWorker,createUniform,createUniformArray,createWorldBathymetryAsync,createWorldImageryAsync,createWorldTerrainAsync,decodeGoogleEarthEnterpriseData,decodeVectorPolylinePositions,defaultValue,defer,defined,demodernizeShader,deprecationWarning,destroyObject,exportKml,findAccessorMinMax,findContentMetadata,findGroupMetadata,findTileMetadata,forEachTextureInMaterial,formatError,freezeRenderState,getAbsoluteUri,getAccessorByteStride,getBaseUri,getBinaryAccessor,getClipAndStyleCode,getClippingFunction,getComponentReader,getElement,getExtensionFromUri,getFilenameFromUri,getImageFromTypedArray,getImagePixels,getJsonFromTypedArray,getMagic,getMetadataClassProperty,getStringFromTypedArray,getTimestamp,hasExtension,heightReferenceOnEntityPropertyChanged,isBitSet,isBlobUri,isCrossOriginUrl,isDataUri,isLeapYear,knockout,knockout_3_5_1,knockout_es5,loadAndExecuteScript,loadCubeMap,loadImageFromTypedArray,loadKTX2,mergeSort,moveTechniqueRenderStates,moveTechniquesToExtension,numberOfComponentsForType,objectToQuery,oneTimeWarning,parseBatchTable,parseFeatureMetadataLegacy,parseGlb,parseResponseHeaders,parseStructuralMetadata,pickModel,pointInsideTriangle,preprocess3DTileContent,processVoxelProperties,queryToObject,readAccessorPacked,removeExtension,removeExtensionsRequired,removeExtensionsUsed,removePipelineExtras,removeUnusedElements,resizeImageToNextPowerOfTwo,sampleTerrain,sampleTerrainMostDetailed,scaleToGeodeticSurface,srgbToLinear,subdivideArray,subscribeAndEvaluate,updateAccessorComponentTypes,updateVersion,usesExtension,viewerCesium3DTilesInspectorMixin,viewerCesiumInspectorMixin,viewerDragDropMixin,viewerPerformanceWatchdogMixin,viewerVoxelInspectorMixin,webGLConstantToGlslType,wrapFunction,writeTextToCanvas}); +`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileShader();return!0};xd.prototype.isDestroyed=function(){return!1};xd.prototype.destroy=function(){let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};var eV=xd;function h5(e,t){e=Rn(e);let n=document.createElement("div"),i=new eV(t);this._viewModel=i,this._container=e,this._element=n;let o=document.createElement("div");o.textContent="Voxel Inspector",o.className="cesium-cesiumInspector-button",o.setAttribute("data-bind","click: toggleInspector"),n.appendChild(o),n.className="cesium-cesiumInspector cesium-VoxelInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let r=document.createElement("div");r.className="cesium-cesiumInspector-dropDown",n.appendChild(r);let s=Ka.createSection,a=Ka.createCheckbox,c=Ka.createRangeInput,u=Ka.createButton,f=s(r,"Display","displayVisible","toggleDisplay"),d=s(r,"Transform","transformVisible","toggleTransform"),p=s(r,"Bounds","boundsVisible","toggleBounds"),g=s(r,"Clipping","clippingVisible","toggleClipping"),m=s(r,"Shader","shaderVisible","toggleShader");f.appendChild(a("Depth Test","depthTest")),f.appendChild(a("Show","show")),f.appendChild(a("Disable Update","disableUpdate")),f.appendChild(a("Debug Draw","debugDraw")),f.appendChild(a("Jitter","jitter")),f.appendChild(a("Nearest Sampling","nearestSampling")),f.appendChild(c("Screen Space Error","screenSpaceError",0,128)),f.appendChild(c("Step Size","stepSize",0,2));let x=10,b=10,T=P.PI;d.appendChild(c("Translation X","translationX",-x,+x)),d.appendChild(c("Translation Y","translationY",-x,+x)),d.appendChild(c("Translation Z","translationZ",-x,+x)),d.appendChild(c("Scale X","scaleX",0,+b)),d.appendChild(c("Scale Y","scaleY",0,+b)),d.appendChild(c("Scale Z","scaleZ",0,+b)),d.appendChild(c("Heading","angleX",-T,+T)),d.appendChild(c("Pitch","angleY",-T,+T)),d.appendChild(c("Roll","angleZ",-T,+T));let A=Vi.getMinBounds(Vi.BOX),C=Vi.getMaxBounds(Vi.BOX),E=h.fromElements(Vi.getMinBounds(Vi.ELLIPSOID).x,Vi.getMinBounds(Vi.ELLIPSOID).y,-ee.WGS84.maximumRadius,new h),v=h.fromElements(Vi.getMaxBounds(Vi.ELLIPSOID).x,Vi.getMaxBounds(Vi.ELLIPSOID).y,1e7,new h),D=Vi.getMinBounds(Vi.CYLINDER),O=Vi.getMaxBounds(Vi.CYLINDER);$v("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",A,C,"shapeIsBox",p),$v("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",E,v,"shapeIsEllipsoid",p),$v("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",D,O,"shapeIsCylinder",p),$v("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",A,C,"shapeIsBox",g),$v("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",E,v,"shapeIsEllipsoid",g),$v("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",D,O,"shapeIsCylinder",g);let R=document.createElement("div");m.appendChild(R);let M=document.createElement("textarea");M.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),R.className="cesium-cesiumInspector-styleEditor",R.appendChild(M);let N=u("Compile (Ctrl+Enter)","compileShader");R.appendChild(N);let _=document.createElement("label");_.style.display="block",_.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),R.appendChild(_),be.applyBindings(i,n)}Object.defineProperties(h5.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});h5.prototype.isDestroyed=function(){return!1};h5.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};function $v(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){let b=Ka.createRangeInput,T=p,A=g,C=x.appendChild(document.createElement("div"));C.setAttribute("data-bind",`if: ${m}`),C.appendChild(b(e,s,T.x,A.x)),C.appendChild(b(t,a,T.x,A.x)),C.appendChild(b(n,c,T.y,A.y)),C.appendChild(b(i,u,T.y,A.y)),C.appendChild(b(o,f,T.z,A.z)),C.appendChild(b(r,d,T.z,A.z))}var tV=h5;function Jvt(e){let t=document.createElement("div");t.className="cesium-viewer-voxelInspectorContainer",e.container.appendChild(t);let n=new tV(t,e.scene);Object.defineProperties(e,{voxelInspector:{get:function(){return n}}})}var BQ=Jvt;globalThis.CESIUM_VERSION="1.124";var ewt="1.124";0&&(module.exports={AlphaMode,AlphaPipelineStage,AnchorPointDirect,AnchorPointIndirect,Animation,AnimationViewModel,Appearance,ApproximateTerrainHeights,ArcGISTiledElevationTerrainProvider,ArcGisBaseMapType,ArcGisMapServerImageryProvider,ArcGisMapService,ArcType,ArticulationStageType,AssociativeArray,Atmosphere,AtmospherePipelineStage,AttributeCompression,AttributeType,AutoExposure,AutomaticUniforms,Axis,AxisAlignedBoundingBox,B3dmLoader,B3dmParser,BaseLayerPicker,BaseLayerPickerViewModel,BatchTable,BatchTableHierarchy,BatchTexture,BatchTexturePipelineStage,Billboard,BillboardCollection,BillboardGraphics,BillboardVisualizer,BingMapsGeocoderService,BingMapsImageryProvider,BingMapsStyle,BlendEquation,BlendFunction,BlendOption,BlendingState,BoundingRectangle,BoundingSphere,BoundingSphereState,BoundingVolumeSemantics,BoxEmitter,BoxGeometry,BoxGeometryUpdater,BoxGraphics,BoxOutlineGeometry,BrdfLutGenerator,Buffer,BufferLoader,BufferUsage,CPUStylingPipelineStage,CallbackPositionProperty,CallbackProperty,Camera,CameraEventAggregator,CameraEventType,CameraFlightPath,Cartesian2,Cartesian3,Cartesian4,Cartographic,CartographicGeocoderService,CatmullRomSpline,Cesium3DContentGroup,Cesium3DTile,Cesium3DTileBatchTable,Cesium3DTileColorBlendMode,Cesium3DTileContent,Cesium3DTileContentFactory,Cesium3DTileContentState,Cesium3DTileContentType,Cesium3DTileFeature,Cesium3DTileFeatureTable,Cesium3DTileOptimizationHint,Cesium3DTileOptimizations,Cesium3DTilePass,Cesium3DTilePassState,Cesium3DTilePointFeature,Cesium3DTileRefine,Cesium3DTileStyle,Cesium3DTileStyleEngine,Cesium3DTilesInspector,Cesium3DTilesInspectorViewModel,Cesium3DTilesVoxelProvider,Cesium3DTileset,Cesium3DTilesetBaseTraversal,Cesium3DTilesetCache,Cesium3DTilesetGraphics,Cesium3DTilesetHeatmap,Cesium3DTilesetMetadata,Cesium3DTilesetMostDetailedTraversal,Cesium3DTilesetSkipTraversal,Cesium3DTilesetStatistics,Cesium3DTilesetTraversal,Cesium3DTilesetVisualizer,CesiumInspector,CesiumInspectorViewModel,CesiumTerrainProvider,CesiumWidget,Check,CheckerboardMaterialProperty,CircleEmitter,CircleGeometry,CircleOutlineGeometry,ClassificationModelDrawCommand,ClassificationPipelineStage,ClassificationPrimitive,ClassificationType,ClearCommand,ClippingPlane,ClippingPlaneCollection,ClippingPolygon,ClippingPolygonCollection,Clock,ClockRange,ClockStep,ClockViewModel,CloudCollection,CloudType,Color,ColorBlendMode,ColorGeometryInstanceAttribute,ColorMaterialProperty,Command,ComponentDatatype,Composite3DTileContent,CompositeEntityCollection,CompositeMaterialProperty,CompositePositionProperty,CompositeProperty,CompressedTextureBuffer,ComputeCommand,ComputeEngine,ConditionsExpression,ConeEmitter,ConstantPositionProperty,ConstantProperty,ConstantSpline,ContentMetadata,Context,ContextLimits,CoplanarPolygonGeometry,CoplanarPolygonGeometryLibrary,CoplanarPolygonOutlineGeometry,CornerType,CorrelationGroup,CorridorGeometry,CorridorGeometryLibrary,CorridorGeometryUpdater,CorridorGraphics,CorridorOutlineGeometry,Credit,CreditDisplay,CubeMap,CubeMapFace,CubicRealPolynomial,CullFace,CullingVolume,CumulusCloud,CustomDataSource,CustomHeightmapTerrainProvider,CustomShader,CustomShaderMode,CustomShaderPipelineStage,CustomShaderTranslucencyMode,CylinderGeometry,CylinderGeometryLibrary,CylinderGeometryUpdater,CylinderGraphics,CylinderOutlineGeometry,CzmlDataSource,DataSource,DataSourceClock,DataSourceCollection,DataSourceDisplay,DebugAppearance,DebugCameraPrimitive,DebugInspector,DebugModelMatrixPrimitive,DefaultProxy,DepthFunction,DepthPlane,DequantizationPipelineStage,DerivedCommand,DeveloperError,DeviceOrientationCameraController,DirectionalLight,DiscardEmptyTileImagePolicy,DiscardMissingTileImagePolicy,DistanceDisplayCondition,DistanceDisplayConditionGeometryInstanceAttribute,DoubleEndedPriorityQueue,DoublyLinkedList,DracoLoader,DrawCommand,DynamicAtmosphereLightingType,DynamicEnvironmentMapManager,DynamicGeometryBatch,DynamicGeometryUpdater,EarthOrientationParameters,EarthOrientationParametersSample,EasingFunction,EllipseGeometry,EllipseGeometryLibrary,EllipseGeometryUpdater,EllipseGraphics,EllipseOutlineGeometry,Ellipsoid,EllipsoidGeodesic,EllipsoidGeometry,EllipsoidGeometryUpdater,EllipsoidGraphics,EllipsoidOutlineGeometry,EllipsoidPrimitive,EllipsoidRhumbLine,EllipsoidSurfaceAppearance,EllipsoidTangentPlane,EllipsoidTerrainProvider,EllipsoidalOccluder,Empty3DTileContent,EncodedCartesian3,Entity,EntityCluster,EntityCollection,EntityView,Event,EventHelper,Expression,ExpressionNodeType,ExtrapolationType,FeatureDetection,FeatureIdPipelineStage,Fog,ForEach,FrameRateMonitor,FrameState,Framebuffer,FramebufferManager,FrustumCommands,FrustumGeometry,FrustumOutlineGeometry,Fullscreen,FullscreenButton,FullscreenButtonViewModel,GeoJsonDataSource,GeoJsonLoader,GeocodeType,Geocoder,GeocoderService,GeocoderViewModel,GeographicProjection,GeographicTilingScheme,Geometry,Geometry3DTileContent,GeometryAttribute,GeometryAttributes,GeometryFactory,GeometryInstance,GeometryInstanceAttribute,GeometryOffsetAttribute,GeometryPipeline,GeometryPipelineStage,GeometryType,GeometryUpdater,GeometryUpdaterSet,GeometryVisualizer,GetFeatureInfoFormat,Globe,GlobeDepth,GlobeSurfaceShaderSet,GlobeSurfaceTile,GlobeSurfaceTileProvider,GlobeTranslucency,GlobeTranslucencyFramebuffer,GlobeTranslucencyState,GltfBufferViewLoader,GltfDracoLoader,GltfGpmLoader,GltfGpmLocal,GltfImageLoader,GltfIndexBufferLoader,GltfJsonLoader,GltfLoader,GltfLoaderUtil,GltfMeshPrimitiveGpmLoader,GltfStructuralMetadataLoader,GltfTextureLoader,GltfVertexBufferLoader,GoogleEarthEnterpriseImageryProvider,GoogleEarthEnterpriseMapsProvider,GoogleEarthEnterpriseMetadata,GoogleEarthEnterpriseTerrainData,GoogleEarthEnterpriseTerrainProvider,GoogleEarthEnterpriseTileInformation,GoogleGeocoderService,GoogleMaps,GpxDataSource,GregorianDate,GridImageryProvider,GridMaterialProperty,GroundGeometryUpdater,GroundPolylineGeometry,GroundPolylinePrimitive,GroundPrimitive,GroupMetadata,HeadingPitchRange,HeadingPitchRoll,Heap,HeightReference,HeightmapEncoding,HeightmapTerrainData,HeightmapTessellator,HermitePolynomialApproximation,HermiteSpline,HilbertOrder,HomeButton,HomeButtonViewModel,HorizontalOrigin,I3SBuildingSceneLayerExplorer,I3SBuildingSceneLayerExplorerViewModel,I3SDataProvider,I3SDecoder,I3SFeature,I3SField,I3SGeometry,I3SLayer,I3SNode,I3SStatistics,I3SSublayer,I3SSymbology,I3dmLoader,I3dmParser,ITwinData,ITwinPlatform,Iau2000Orientation,Iau2006XysData,Iau2006XysSample,IauOrientationAxes,IauOrientationParameters,ImageBasedLighting,ImageBasedLightingPipelineStage,ImageMaterialProperty,Imagery,ImageryLayer,ImageryLayerCollection,ImageryLayerFeatureInfo,ImageryProvider,ImageryState,Implicit3DTileContent,ImplicitAvailabilityBitstream,ImplicitMetadataView,ImplicitSubdivisionScheme,ImplicitSubtree,ImplicitSubtreeCache,ImplicitSubtreeMetadata,ImplicitTileCoordinates,ImplicitTileset,IndexDatatype,InfoBox,InfoBoxViewModel,InspectorShared,InstanceAttributeSemantic,InstancingPipelineStage,InterpolationAlgorithm,InterpolationType,Intersect,IntersectionTests,Intersections2D,Interval,InvertClassification,Ion,IonGeocodeProviderType,IonGeocoderService,IonImageryProvider,IonResource,IonWorldImageryStyle,Iso8601,JobScheduler,JobType,JsonMetadataTable,JulianDate,KTX2Transcoder,KeyboardEventModifier,KeyframeNode,KmlCamera,KmlDataSource,KmlLookAt,KmlTour,KmlTourFlyTo,KmlTourWait,Label,LabelCollection,LabelGraphics,LabelStyle,LabelVisualizer,LagrangePolynomialApproximation,LeapSecond,Light,LightingModel,LightingPipelineStage,LinearApproximation,LinearSpline,ManagedArray,MapMode2D,MapProjection,MapboxImageryProvider,MapboxStyleImageryProvider,Mars3DEx,Material,MaterialAppearance,MaterialPipelineStage,MaterialProperty,Math,Matrix2,Matrix3,Matrix4,Megatexture,MeshPrimitiveGpmLocal,MetadataClass,MetadataClassProperty,MetadataComponentType,MetadataEntity,MetadataEnum,MetadataEnumValue,MetadataPicking,MetadataPickingPipelineStage,MetadataPipelineStage,MetadataSchema,MetadataSchemaLoader,MetadataSemantic,MetadataTable,MetadataTableProperty,MetadataType,MipmapHint,Model,Model3DTileContent,ModelAlphaOptions,ModelAnimation,ModelAnimationChannel,ModelAnimationCollection,ModelAnimationLoop,ModelAnimationState,ModelArticulation,ModelArticulationStage,ModelClippingPlanesPipelineStage,ModelClippingPolygonsPipelineStage,ModelColorPipelineStage,ModelComponents,ModelDrawCommand,ModelDrawCommands,ModelFeature,ModelFeatureTable,ModelGraphics,ModelLightingOptions,ModelMatrixUpdateStage,ModelNode,ModelRenderResources,ModelRuntimeNode,ModelRuntimePrimitive,ModelSceneGraph,ModelSilhouettePipelineStage,ModelSkin,ModelSplitterPipelineStage,ModelStatistics,ModelType,ModelUtility,ModelVisualizer,Moon,MorphTargetsPipelineStage,MorphWeightSpline,MortonOrder,Multiple3DTileContent,MultisampleFramebuffer,NavigationHelpButton,NavigationHelpButtonViewModel,NearFarScalar,NeverTileDiscardPolicy,NodeRenderResources,NodeStatisticsPipelineStage,NodeTransformationProperty,OIT,Occluder,OffsetGeometryInstanceAttribute,OpenCageGeocoderService,OpenStreetMapImageryProvider,OrderedGroundPrimitiveCollection,OrientedBoundingBox,OrthographicFrustum,OrthographicOffCenterFrustum,Packable,PackableForInterpolation,Particle,ParticleBurst,ParticleEmitter,ParticleSystem,Pass,PassState,PathGraphics,PathVisualizer,PeliasGeocoderService,PerInstanceColorAppearance,PerformanceDisplay,PerformanceWatchdog,PerformanceWatchdogViewModel,PerspectiveFrustum,PerspectiveOffCenterFrustum,PickDepth,PickDepthFramebuffer,PickFramebuffer,PickedMetadataInfo,Picking,PickingPipelineStage,PinBuilder,PixelDatatype,PixelFormat,Plane,PlaneGeometry,PlaneGeometryUpdater,PlaneGraphics,PlaneOutlineGeometry,PntsLoader,PntsParser,PointCloud,PointCloudEyeDomeLighting,PointCloudShading,PointCloudStylingPipelineStage,PointGraphics,PointPrimitive,PointPrimitiveCollection,PointVisualizer,PolygonGeometry,PolygonGeometryLibrary,PolygonGeometryUpdater,PolygonGraphics,PolygonHierarchy,PolygonOutlineGeometry,PolygonPipeline,Polyline,PolylineArrowMaterialProperty,PolylineCollection,PolylineColorAppearance,PolylineDashMaterialProperty,PolylineGeometry,PolylineGeometryUpdater,PolylineGlowMaterialProperty,PolylineGraphics,PolylineMaterialAppearance,PolylineOutlineMaterialProperty,PolylinePipeline,PolylineVisualizer,PolylineVolumeGeometry,PolylineVolumeGeometryLibrary,PolylineVolumeGeometryUpdater,PolylineVolumeGraphics,PolylineVolumeOutlineGeometry,PositionProperty,PositionPropertyArray,PostProcessStage,PostProcessStageCollection,PostProcessStageComposite,PostProcessStageLibrary,PostProcessStageSampleMode,PostProcessStageTextureCache,PpeMetadata,PpeSource,PpeTexture,Primitive,PrimitiveCollection,PrimitiveLoadPlan,PrimitiveOutlineGenerator,PrimitiveOutlinePipelineStage,PrimitivePipeline,PrimitiveRenderResources,PrimitiveState,PrimitiveStatisticsPipelineStage,PrimitiveType,ProjectionPicker,ProjectionPickerViewModel,Property,PropertyArray,PropertyAttribute,PropertyAttributeProperty,PropertyBag,PropertyTable,PropertyTexture,PropertyTextureProperty,ProviderViewModel,Proxy,QuadraticRealPolynomial,QuadtreeOccluders,QuadtreePrimitive,QuadtreeTile,QuadtreeTileLoadState,QuadtreeTileProvider,QuantizedMeshTerrainData,QuarticRealPolynomial,Quaternion,QuaternionSpline,Queue,Ray,Rectangle,RectangleCollisionChecker,RectangleGeometry,RectangleGeometryLibrary,RectangleGeometryUpdater,RectangleGraphics,RectangleOutlineGeometry,ReferenceFrame,ReferenceProperty,RenderState,Renderbuffer,RenderbufferFormat,Request,RequestErrorEvent,RequestScheduler,RequestState,RequestType,Resource,ResourceCache,ResourceCacheKey,ResourceCacheStatistics,ResourceLoader,ResourceLoaderState,Rotation,RuntimeError,S2Cell,SDFSettings,SampledPositionProperty,SampledProperty,Sampler,ScaledPositionProperty,Scene,SceneFramebuffer,SceneMode,SceneMode2DPipelineStage,SceneModePicker,SceneModePickerViewModel,SceneTransforms,SceneTransitioner,ScreenSpaceCameraController,ScreenSpaceEventHandler,ScreenSpaceEventType,SelectedFeatureIdPipelineStage,SelectionIndicator,SelectionIndicatorViewModel,SensorVolumePortionToDisplay,ShaderBuilder,ShaderCache,ShaderDestination,ShaderFunction,ShaderProgram,ShaderSource,ShaderStruct,ShadowMap,ShadowMapShader,ShadowMode,ShadowVolumeAppearance,ShowGeometryInstanceAttribute,Simon1994PlanetaryPositions,SimplePolylineGeometry,SingleTileImageryProvider,SkinningPipelineStage,SkyAtmosphere,SkyBox,SpatialNode,Spdcf,SpecularEnvironmentCubeMap,SphereEmitter,SphereGeometry,SphereOutlineGeometry,Spherical,Spline,SplitDirection,Splitter,StaticGeometryColorBatch,StaticGeometryPerMaterialBatch,StaticGroundGeometryColorBatch,StaticGroundGeometryPerMaterialBatch,StaticGroundPolylinePerMaterialBatch,StaticOutlineGeometryBatch,StencilConstants,StencilFunction,StencilOperation,SteppedSpline,Stereographic,StorageType,StripeMaterialProperty,StripeOrientation,StructuralMetadata,StyleCommandsNeeded,StyleExpression,Sun,SunLight,SunPostProcess,SupportedImageFormats,SvgPathBindingHandler,TaskProcessor,Terrain,TerrainData,TerrainEncoding,TerrainFillMesh,TerrainMesh,TerrainOffsetProperty,TerrainProvider,TerrainQuantization,TerrainState,Texture,TextureAtlas,TextureCache,TextureMagnificationFilter,TextureManager,TextureMinificationFilter,TextureUniform,TextureWrap,TileAvailability,TileBoundingRegion,TileBoundingS2Cell,TileBoundingSphere,TileBoundingVolume,TileCoordinatesImageryProvider,TileDiscardPolicy,TileEdge,TileImagery,TileMapServiceImageryProvider,TileMetadata,TileOrientedBoundingBox,TileProviderError,TileReplacementQueue,TileSelectionResult,TileState,Tileset3DTileContent,TilesetMetadata,TilesetPipelineStage,TilingScheme,TimeConstants,TimeDynamicImagery,TimeDynamicPointCloud,TimeInterval,TimeIntervalCollection,TimeIntervalCollectionPositionProperty,TimeIntervalCollectionProperty,TimeStandard,Timeline,TimelineHighlightRange,TimelineTrack,Tipsify,ToggleButtonViewModel,Tonemapper,TrackingReferenceFrame,Transforms,TranslationRotationScale,TranslucentTileClassification,TridiagonalSystemSolver,TrustedServers,TweenCollection,UniformState,UniformType,UrlTemplateImageryProvider,VERSION,VRButton,VRButtonViewModel,VRTheWorldTerrainProvider,VaryingType,Vector3DTileBatch,Vector3DTileClampedPolylines,Vector3DTileContent,Vector3DTileGeometry,Vector3DTilePoints,Vector3DTilePolygons,Vector3DTilePolylines,Vector3DTilePrimitive,VelocityOrientationProperty,VelocityVectorProperty,VertexArray,VertexArrayFacade,VertexAttributeSemantic,VertexFormat,VerticalExaggeration,VerticalExaggerationPipelineStage,VerticalOrigin,VideoSynchronizer,View,Viewer,ViewportQuad,Visibility,Visualizer,VoxelBoxShape,VoxelCell,VoxelContent,VoxelCylinderShape,VoxelEllipsoidShape,VoxelInspector,VoxelInspectorViewModel,VoxelPrimitive,VoxelProvider,VoxelRenderResources,VoxelShape,VoxelShapeType,VoxelTraversal,VulkanConstants,WallGeometry,WallGeometryLibrary,WallGeometryUpdater,WallGraphics,WallOutlineGeometry,WebGLConstants,WebMapServiceImageryProvider,WebMapTileServiceImageryProvider,WebMercatorProjection,WebMercatorTilingScheme,WindingOrder,WireframeIndexGenerator,WireframePipelineStage,_shadersAcesTonemappingStage,_shadersAdditiveBlend,_shadersAdjustTranslucentFS,_shadersAllMaterialAppearanceFS,_shadersAllMaterialAppearanceVS,_shadersAmbientOcclusionGenerate,_shadersAmbientOcclusionModulate,_shadersAspectRampMaterial,_shadersAtmosphereCommon,_shadersAtmosphereStageFS,_shadersAtmosphereStageVS,_shadersBasicMaterialAppearanceFS,_shadersBasicMaterialAppearanceVS,_shadersBillboardCollectionFS,_shadersBillboardCollectionVS,_shadersBlackAndWhite,_shadersBloomComposite,_shadersBrdfLutGeneratorFS,_shadersBrightPass,_shadersBrightness,_shadersBumpMapMaterial,_shadersCPUStylingStageFS,_shadersCPUStylingStageVS,_shadersCheckerboardMaterial,_shadersCloudCollectionFS,_shadersCloudCollectionVS,_shadersCloudNoiseFS,_shadersCloudNoiseVS,_shadersCompareAndPackTranslucentDepth,_shadersCompositeOITFS,_shadersCompositeTranslucentClassification,_shadersComputeIrradianceFS,_shadersComputeRadianceMapFS,_shadersContrastBias,_shadersConvolveSpecularMapFS,_shadersConvolveSpecularMapVS,_shadersCustomShaderStageFS,_shadersCustomShaderStageVS,_shadersCzmBuiltins,_shadersDepthOfField,_shadersDepthPlaneFS,_shadersDepthPlaneVS,_shadersDepthView,_shadersDepthViewPacked,_shadersDotMaterial,_shadersEdgeDetection,_shadersElevationBandMaterial,_shadersElevationContourMaterial,_shadersElevationRampMaterial,_shadersEllipsoidFS,_shadersEllipsoidSurfaceAppearanceFS,_shadersEllipsoidSurfaceAppearanceVS,_shadersEllipsoidVS,_shadersFXAA,_shadersFXAA3_11,_shadersFadeMaterial,_shadersFeatureIdStageFS,_shadersFeatureIdStageVS,_shadersFilmicTonemapping,_shadersGaussianBlur1D,_shadersGeometryStageFS,_shadersGeometryStageVS,_shadersGlobeFS,_shadersGlobeVS,_shadersGridMaterial,_shadersGroundAtmosphere,_shadersHSBToRGB,_shadersHSLToRGB,_shadersImageBasedLightingStageFS,_shadersInstancingStageCommon,_shadersInstancingStageVS,_shadersIntersectBox,_shadersIntersectClippingPlanes,_shadersIntersectCylinder,_shadersIntersectDepth,_shadersIntersectEllipsoid,_shadersIntersectLongitude,_shadersIntersection,_shadersIntersectionUtils,_shadersLegacyInstancingStageVS,_shadersLensFlare,_shadersLightingStageFS,_shadersMaterialStageFS,_shadersMegatexture,_shadersMetadataStageFS,_shadersMetadataStageVS,_shadersModelClippingPlanesStageFS,_shadersModelClippingPolygonsStageFS,_shadersModelClippingPolygonsStageVS,_shadersModelColorStageFS,_shadersModelFS,_shadersModelSilhouetteStageFS,_shadersModelSilhouetteStageVS,_shadersModelSplitterStageFS,_shadersModelVS,_shadersModifiedReinhardTonemapping,_shadersMorphTargetsStageVS,_shadersNightVision,_shadersNormalMapMaterial,_shadersOctree,_shadersPassThrough,_shadersPassThroughDepth,_shadersPbrNeutralTonemapping,_shadersPerInstanceColorAppearanceFS,_shadersPerInstanceColorAppearanceVS,_shadersPerInstanceFlatColorAppearanceFS,_shadersPerInstanceFlatColorAppearanceVS,_shadersPointCloudEyeDomeLighting,_shadersPointCloudStylingStageVS,_shadersPointPrimitiveCollectionFS,_shadersPointPrimitiveCollectionVS,_shadersPolygonSignedDistanceFS,_shadersPolylineArrowMaterial,_shadersPolylineColorAppearanceVS,_shadersPolylineCommon,_shadersPolylineDashMaterial,_shadersPolylineFS,_shadersPolylineGlowMaterial,_shadersPolylineMaterialAppearanceVS,_shadersPolylineOutlineMaterial,_shadersPolylineShadowVolumeFS,_shadersPolylineShadowVolumeMorphFS,_shadersPolylineShadowVolumeMorphVS,_shadersPolylineShadowVolumeVS,_shadersPolylineVS,_shadersPrimitiveOutlineStageFS,_shadersPrimitiveOutlineStageVS,_shadersRGBToHSB,_shadersRGBToHSL,_shadersRGBToXYZ,_shadersReinhardTonemapping,_shadersReprojectWebMercatorFS,_shadersReprojectWebMercatorVS,_shadersRimLightingMaterial,_shadersSelectedFeatureIdStageCommon,_shadersShadowVolumeAppearanceFS,_shadersShadowVolumeAppearanceVS,_shadersShadowVolumeFS,_shadersSilhouette,_shadersSkinningStageVS,_shadersSkyAtmosphereCommon,_shadersSkyAtmosphereFS,_shadersSkyAtmosphereVS,_shadersSkyBoxFS,_shadersSkyBoxVS,_shadersSlopeRampMaterial,_shadersStripeMaterial,_shadersSunFS,_shadersSunTextureFS,_shadersSunVS,_shadersTexturedMaterialAppearanceFS,_shadersTexturedMaterialAppearanceVS,_shadersVector3DTileClampedPolylinesFS,_shadersVector3DTileClampedPolylinesVS,_shadersVector3DTilePolylinesVS,_shadersVectorTileVS,_shadersVerticalExaggerationStageVS,_shadersViewportQuadFS,_shadersViewportQuadVS,_shadersVoxelFS,_shadersVoxelUtils,_shadersVoxelVS,_shadersWater,_shadersWaterMaskMaterial,_shadersXYZToRGB,_shadersacesTonemapping,_shadersalphaWeight,_shadersantialias,_shadersapplyHSBShift,_shadersapproximateSphericalCoordinates,_shadersapproximateTanh,_shadersbackFacing,_shadersbranchFreeTernary,_shaderscascadeColor,_shaderscascadeDistance,_shaderscascadeMatrix,_shaderscascadeWeights,_shadersclipPolygons,_shaderscolumbusViewMorph,_shaderscomputeAtmosphereColor,_shaderscomputeGroundAtmosphereScattering,_shaderscomputePosition,_shaderscomputeScattering,_shadersconvertUvToBox,_shadersconvertUvToCylinder,_shadersconvertUvToEllipsoid,_shaderscosineAndSine,_shadersdecompressTextureCoordinates,_shadersdegreesPerRadian,_shadersdepthClamp,_shadersdepthRange,_shadersdepthRangeStruct,_shaderseastNorthUpToEyeCoordinates,_shadersellipsoidContainsPoint,_shadersellipsoidTextureCoordinates,_shadersepsilon1,_shadersepsilon2,_shadersepsilon3,_shadersepsilon4,_shadersepsilon5,_shadersepsilon6,_shadersepsilon7,_shadersequalsEpsilon,_shaderseyeOffset,_shaderseyeToWindowCoordinates,_shadersfastApproximateAtan,_shadersfog,_shadersgammaCorrect,_shadersgeodeticSurfaceNormal,_shadersgetDefaultMaterial,_shadersgetDynamicAtmosphereLightDirection,_shadersgetLambertDiffuse,_shadersgetSpecular,_shadersgetWaterNoise,_shadershue,_shadersinfinity,_shadersinverseGamma,_shadersisEmpty,_shadersisFull,_shaderslatitudeToWebMercatorFraction,_shaderslineDistance,_shaderslinearToSrgb,_shadersluminance,_shadersmaterial,_shadersmaterialInput,_shadersmaximumComponent,_shadersmetersPerPixel,_shadersmodelMaterial,_shadersmodelToWindowCoordinates,_shadersmodelVertexOutput,_shadersmultiplyWithColorBalance,_shadersnearFarScalar,_shadersoctDecode,_shadersoneOverPi,_shadersoneOverTwoPi,_shaderspackDepth,_shaderspassCesium3DTile,_shaderspassCesium3DTileClassification,_shaderspassCesium3DTileClassificationIgnoreShow,_shaderspassClassification,_shaderspassCompute,_shaderspassEnvironment,_shaderspassGlobe,_shaderspassOpaque,_shaderspassOverlay,_shaderspassTerrainClassification,_shaderspassTranslucent,_shaderspassVoxels,_shaderspbrLighting,_shaderspbrNeutralTonemapping,_shadersphong,_shaderspi,_shaderspiOverFour,_shaderspiOverSix,_shaderspiOverThree,_shaderspiOverTwo,_shadersplaneDistance,_shaderspointAlongRay,_shadersradiansPerDegree,_shadersray,_shadersrayEllipsoidIntersectionInterval,_shadersraySegment,_shadersraySphereIntersectionInterval,_shadersreadDepth,_shadersreadNonPerspective,_shadersreverseLogDepth,_shadersround,_shaderssaturation,_shaderssceneMode2D,_shaderssceneMode3D,_shaderssceneModeColumbusView,_shaderssceneModeMorphing,_shadersshadowDepthCompare,_shadersshadowParameters,_shadersshadowVisibility,_shaderssignNotZero,_shaderssolarRadius,_shaderssphericalHarmonics,_shaderssrgbToLinear,_shaderstangentToEyeSpaceMatrix,_shaderstextureCube,_shadersthreePiOver2,_shaderstransformPlane,_shaderstranslateRelativeToEye,_shaderstranslucentPhong,_shaderstranspose,_shaderstwoPi,_shadersunpackClippingExtents,_shadersunpackDepth,_shadersunpackFloat,_shadersunpackUint,_shadersvalueTransform,_shadersvertexLogDepth,_shaderswebMercatorMaxLatitude,_shaderswindowToEyeCoordinates,_shaderswriteDepthClamp,_shaderswriteLogDepth,_shaderswriteNonPerspective,addBuffer,addDefaults,addExtensionsRequired,addExtensionsUsed,addPipelineExtras,addToArray,appendForwardSlash,arrayRemoveDuplicates,barycentricCoordinates,binarySearch,buildModuleUrl,buildVoxelDrawCommands,clone,combine,computeFlyToLocationForRectangle,createBillboardPointCallback,createCommand,createDefaultImageryProviderViewModels,createDefaultTerrainProviderViewModels,createElevationBandMaterial,createGooglePhotorealistic3DTileset,createGuid,createMaterialPropertyDescriptor,createOsmBuildingsAsync,createPropertyDescriptor,createRawPropertyDescriptor,createTangentSpaceDebugPrimitive,createTaskProcessorWorker,createUniform,createUniformArray,createWorldBathymetryAsync,createWorldImageryAsync,createWorldTerrainAsync,decodeGoogleEarthEnterpriseData,decodeVectorPolylinePositions,defaultValue,defer,defined,demodernizeShader,deprecationWarning,destroyObject,exportKml,findAccessorMinMax,findContentMetadata,findGroupMetadata,findTileMetadata,forEachTextureInMaterial,formatError,freezeRenderState,getAbsoluteUri,getAccessorByteStride,getBaseUri,getBinaryAccessor,getClipAndStyleCode,getClippingFunction,getComponentReader,getElement,getExtensionFromUri,getFilenameFromUri,getImageFromTypedArray,getImagePixels,getJsonFromTypedArray,getMagic,getMetadataClassProperty,getMetadataProperty,getStringFromTypedArray,getTimestamp,hasExtension,heightReferenceOnEntityPropertyChanged,isBitSet,isBlobUri,isCrossOriginUrl,isDataUri,isLeapYear,knockout,knockout_3_5_1,knockout_es5,loadAndExecuteScript,loadCubeMap,loadImageFromTypedArray,loadKTX2,mergeSort,moveTechniqueRenderStates,moveTechniquesToExtension,numberOfComponentsForType,objectToQuery,oneTimeWarning,parseBatchTable,parseFeatureMetadataLegacy,parseGlb,parseResponseHeaders,parseStructuralMetadata,pickModel,pointInsideTriangle,preprocess3DTileContent,processVoxelProperties,queryToObject,readAccessorPacked,removeExtension,removeExtensionsRequired,removeExtensionsUsed,removePipelineExtras,removeUnusedElements,resizeImageToNextPowerOfTwo,sampleTerrain,sampleTerrainMostDetailed,scaleToGeodeticSurface,srgbToLinear,subdivideArray,subscribeAndEvaluate,updateAccessorComponentTypes,updateVersion,usesExtension,viewerCesium3DTilesInspectorMixin,viewerCesiumInspectorMixin,viewerDragDropMixin,viewerPerformanceWatchdogMixin,viewerVoxelInspectorMixin,webGLConstantToGlslType,wrapFunction,writeTextToCanvas}); diff --git a/public/lib/Cesium/index.js b/public/lib/Cesium/index.js index 56732d76a..7e4d63c97 100644 --- a/public/lib/Cesium/index.js +++ b/public/lib/Cesium/index.js @@ -1,7 +1,7 @@ /** * @license * Cesium - https://github.com/CesiumGS/cesium - * Version 1.122 + * Version 1.124 * * Copyright 2011-2022 Cesium Contributors * @@ -23,7 +23,7 @@ * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details. */ -var vAe=Object.create;var X$=Object.defineProperty;var DAe=Object.getOwnPropertyDescriptor;var IAe=Object.getOwnPropertyNames;var PAe=Object.getPrototypeOf,RAe=Object.prototype.hasOwnProperty;var KP=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var kl=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var OAe=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of IAe(t))!RAe.call(e,o)&&o!==n&&X$(e,o,{get:()=>t[o],enumerable:!(i=DAe(t,o))||i.enumerable});return e};var Er=(e,t,n)=>(n=e!=null?vAe(PAe(e)):{},OAe(t||!e||!e.__esModule?X$(n,"default",{value:e,enumerable:!0}):n,e));var $P=kl((uEt,$$)=>{var $m=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};$m.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};$m.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};$m.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n<this.N-this.M;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^e>>>1^t[e&1];for(;n<this.N-1;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^e>>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};$m.prototype.random_int31=function(){return this.random_int()>>>1};$m.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};$m.prototype.random=function(){return this.random_int()*(1/4294967296)};$m.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};$m.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};$$.exports=$m});var TZ=kl((aT,cT)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof aT=="object"&&aT&&!aT.nodeType&&aT,n=typeof cT=="object"&&cT&&!cT.nodeType&&cT,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,u=38,f=700,d=72,p=128,g="-",m=/^xn--/,x=/[^\x20-\x7E]/,b=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},C=s-a,A=Math.floor,S=String.fromCharCode,w;function D(V){throw new RangeError(T[V])}function O(V,G){for(var k=V.length,Y=[];k--;)Y[k]=G(V[k]);return Y}function R(V,G){var k=V.split("@"),Y="";k.length>1&&(Y=k[0]+"@",V=k[1]),V=V.replace(b,".");var W=V.split("."),J=O(W,G).join(".");return Y+J}function M(V){for(var G=[],k=0,Y=V.length,W,J;k<Y;)W=V.charCodeAt(k++),W>=55296&&W<=56319&&k<Y?(J=V.charCodeAt(k++),(J&64512)==56320?G.push(((W&1023)<<10)+(J&1023)+65536):(G.push(W),k--)):G.push(W);return G}function L(V){return O(V,function(G){var k="";return G>65535&&(G-=65536,k+=S(G>>>10&1023|55296),G=56320|G&1023),k+=S(G),k}).join("")}function _(V){return V-48<10?V-22:V-65<26?V-65:V-97<26?V-97:s}function E(V,G){return V+22+75*(V<26)-((G!=0)<<5)}function v(V,G,k){var Y=0;for(V=k?A(V/f):V>>1,V+=A(V/G);V>C*c>>1;Y+=s)V=A(V/C);return A(Y+(C+1)*V/(V+u))}function I(V){var G=[],k=V.length,Y,W=0,J=p,j=d,$,Q,he,ye,re,_e,xe,De,we;for($=V.lastIndexOf(g),$<0&&($=0),Q=0;Q<$;++Q)V.charCodeAt(Q)>=128&&D("not-basic"),G.push(V.charCodeAt(Q));for(he=$>0?$+1:0;he<k;){for(ye=W,re=1,_e=s;he>=k&&D("invalid-input"),xe=_(V.charCodeAt(he++)),(xe>=s||xe>A((r-W)/re))&&D("overflow"),W+=xe*re,De=_e<=j?a:_e>=j+c?c:_e-j,!(xe<De);_e+=s)we=s-De,re>A(r/we)&&D("overflow"),re*=we;Y=G.length+1,j=v(W-ye,Y,ye==0),A(W/Y)>r-J&&D("overflow"),J+=A(W/Y),W%=Y,G.splice(W++,0,J)}return L(G)}function N(V){var G,k,Y,W,J,j,$,Q,he,ye,re,_e=[],xe,De,we,Oe;for(V=M(V),xe=V.length,G=p,k=0,J=d,j=0;j<xe;++j)re=V[j],re<128&&_e.push(S(re));for(Y=W=_e.length,W&&_e.push(g);Y<xe;){for($=r,j=0;j<xe;++j)re=V[j],re>=G&&re<$&&($=re);for(De=Y+1,$-G>A((r-k)/De)&&D("overflow"),k+=($-G)*De,G=$,j=0;j<xe;++j)if(re=V[j],re<G&&++k>r&&D("overflow"),re==G){for(Q=k,he=s;ye=he<=J?a:he>=J+c?c:he-J,!(Q<ye);he+=s)Oe=Q-ye,we=s-ye,_e.push(S(E(ye+Oe%we,0))),Q=A(Oe/we);_e.push(S(E(Q,0))),J=v(k,De,Y==W),k=0,++Y}++k,++G}return _e.join("")}function B(V){return R(V,function(G){return m.test(G)?I(G.slice(4).toLowerCase()):G})}function z(V){return R(V,function(G){return x.test(G)?"xn--"+N(G):G})}if(o={version:"1.3.2",ucs2:{decode:M,encode:L},decode:I,encode:N,toASCII:z,toUnicode:B},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(cT.exports==t)n.exports=o;else for(w in o)o.hasOwnProperty(w)&&(t[w]=o[w]);else e.punycode=o})(aT)});var AZ=kl((CZ,_1)=>{/*! +var HAe=Object.create;var e$=Object.defineProperty;var GAe=Object.getOwnPropertyDescriptor;var WAe=Object.getOwnPropertyNames;var jAe=Object.getPrototypeOf,qAe=Object.prototype.hasOwnProperty;var JP=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,n)=>(typeof require<"u"?require:t)[n]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var Wl=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var YAe=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of WAe(t))!qAe.call(e,o)&&o!==n&&e$(e,o,{get:()=>t[o],enumerable:!(i=GAe(t,o))||i.enumerable});return e};var Sr=(e,t,n)=>(n=e!=null?HAe(jAe(e)):{},YAe(t||!e||!e.__esModule?e$(n,"default",{value:e,enumerable:!0}):n,e));var e1=Wl((qEt,n$)=>{var Jm=function(e){e==null&&(e=new Date().getTime()),this.N=624,this.M=397,this.MATRIX_A=2567483615,this.UPPER_MASK=2147483648,this.LOWER_MASK=2147483647,this.mt=new Array(this.N),this.mti=this.N+1,e.constructor==Array?this.init_by_array(e,e.length):this.init_seed(e)};Jm.prototype.init_seed=function(e){for(this.mt[0]=e>>>0,this.mti=1;this.mti<this.N;this.mti++){var e=this.mt[this.mti-1]^this.mt[this.mti-1]>>>30;this.mt[this.mti]=(((e&4294901760)>>>16)*1812433253<<16)+(e&65535)*1812433253+this.mti,this.mt[this.mti]>>>=0}};Jm.prototype.init_by_array=function(e,t){var n,i,o;for(this.init_seed(19650218),n=1,i=0,o=this.N>t?this.N:t;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1664525<<16)+(r&65535)*1664525)+e[i]+i,this.mt[n]>>>=0,n++,i++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1),i>=t&&(i=0)}for(o=this.N-1;o;o--){var r=this.mt[n-1]^this.mt[n-1]>>>30;this.mt[n]=(this.mt[n]^(((r&4294901760)>>>16)*1566083941<<16)+(r&65535)*1566083941)-n,this.mt[n]>>>=0,n++,n>=this.N&&(this.mt[0]=this.mt[this.N-1],n=1)}this.mt[0]=2147483648};Jm.prototype.random_int=function(){var e,t=new Array(0,this.MATRIX_A);if(this.mti>=this.N){var n;for(this.mti==this.N+1&&this.init_seed(5489),n=0;n<this.N-this.M;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+this.M]^e>>>1^t[e&1];for(;n<this.N-1;n++)e=this.mt[n]&this.UPPER_MASK|this.mt[n+1]&this.LOWER_MASK,this.mt[n]=this.mt[n+(this.M-this.N)]^e>>>1^t[e&1];e=this.mt[this.N-1]&this.UPPER_MASK|this.mt[0]&this.LOWER_MASK,this.mt[this.N-1]=this.mt[this.M-1]^e>>>1^t[e&1],this.mti=0}return e=this.mt[this.mti++],e^=e>>>11,e^=e<<7&2636928640,e^=e<<15&4022730752,e^=e>>>18,e>>>0};Jm.prototype.random_int31=function(){return this.random_int()>>>1};Jm.prototype.random_incl=function(){return this.random_int()*(1/4294967295)};Jm.prototype.random=function(){return this.random_int()*(1/4294967296)};Jm.prototype.random_excl=function(){return(this.random_int()+.5)*(1/4294967296)};Jm.prototype.random_long=function(){var e=this.random_int()>>>5,t=this.random_int()>>>6;return(e*67108864+t)*(1/9007199254740992)};n$.exports=Jm});var w$=Wl((hT,mT)=>{/*! https://mths.be/punycode v1.4.0 by @mathias */(function(e){var t=typeof hT=="object"&&hT&&!hT.nodeType&&hT,n=typeof mT=="object"&&mT&&!mT.nodeType&&mT,i=typeof global=="object"&&global;(i.global===i||i.window===i||i.self===i)&&(e=i);var o,r=2147483647,s=36,a=1,c=26,u=38,f=700,d=72,p=128,g="-",m=/^xn--/,x=/[^\x20-\x7E]/,b=/[\x2E\u3002\uFF0E\uFF61]/g,T={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},C=s-a,A=Math.floor,S=String.fromCharCode,v;function D(V){throw new RangeError(T[V])}function R(V,G){for(var k=V.length,W=[];k--;)W[k]=G(V[k]);return W}function O(V,G){var k=V.split("@"),W="";k.length>1&&(W=k[0]+"@",V=k[1]),V=V.replace(b,".");var Y=V.split("."),J=R(Y,G).join(".");return W+J}function M(V){for(var G=[],k=0,W=V.length,Y,J;k<W;)Y=V.charCodeAt(k++),Y>=55296&&Y<=56319&&k<W?(J=V.charCodeAt(k++),(J&64512)==56320?G.push(((Y&1023)<<10)+(J&1023)+65536):(G.push(Y),k--)):G.push(Y);return G}function N(V){return R(V,function(G){var k="";return G>65535&&(G-=65536,k+=S(G>>>10&1023|55296),G=56320|G&1023),k+=S(G),k}).join("")}function _(V){return V-48<10?V-22:V-65<26?V-65:V-97<26?V-97:s}function E(V,G){return V+22+75*(V<26)-((G!=0)<<5)}function w(V,G,k){var W=0;for(V=k?A(V/f):V>>1,V+=A(V/G);V>C*c>>1;W+=s)V=A(V/C);return A(W+(C+1)*V/(V+u))}function I(V){var G=[],k=V.length,W,Y=0,J=p,j=d,Z,Q,he,ye,re,_e,xe,Ie,De;for(Z=V.lastIndexOf(g),Z<0&&(Z=0),Q=0;Q<Z;++Q)V.charCodeAt(Q)>=128&&D("not-basic"),G.push(V.charCodeAt(Q));for(he=Z>0?Z+1:0;he<k;){for(ye=Y,re=1,_e=s;he>=k&&D("invalid-input"),xe=_(V.charCodeAt(he++)),(xe>=s||xe>A((r-Y)/re))&&D("overflow"),Y+=xe*re,Ie=_e<=j?a:_e>=j+c?c:_e-j,!(xe<Ie);_e+=s)De=s-Ie,re>A(r/De)&&D("overflow"),re*=De;W=G.length+1,j=w(Y-ye,W,ye==0),A(Y/W)>r-J&&D("overflow"),J+=A(Y/W),Y%=W,G.splice(Y++,0,J)}return N(G)}function L(V){var G,k,W,Y,J,j,Z,Q,he,ye,re,_e=[],xe,Ie,De,Ne;for(V=M(V),xe=V.length,G=p,k=0,J=d,j=0;j<xe;++j)re=V[j],re<128&&_e.push(S(re));for(W=Y=_e.length,Y&&_e.push(g);W<xe;){for(Z=r,j=0;j<xe;++j)re=V[j],re>=G&&re<Z&&(Z=re);for(Ie=W+1,Z-G>A((r-k)/Ie)&&D("overflow"),k+=(Z-G)*Ie,G=Z,j=0;j<xe;++j)if(re=V[j],re<G&&++k>r&&D("overflow"),re==G){for(Q=k,he=s;ye=he<=J?a:he>=J+c?c:he-J,!(Q<ye);he+=s)Ne=Q-ye,De=s-ye,_e.push(S(E(ye+Ne%De,0))),Q=A(Ne/De);_e.push(S(E(Q,0))),J=w(k,Ie,W==Y),k=0,++W}++k,++G}return _e.join("")}function B(V){return O(V,function(G){return m.test(G)?I(G.slice(4).toLowerCase()):G})}function H(V){return O(V,function(G){return x.test(G)?"xn--"+L(G):G})}if(o={version:"1.3.2",ucs2:{decode:M,encode:N},decode:I,encode:L,toASCII:H,toUnicode:B},typeof define=="function"&&typeof define.amd=="object"&&define.amd)define("punycode",function(){return o});else if(t&&n)if(mT.exports==t)n.exports=o;else for(v in o)o.hasOwnProperty(v)&&(t[v]=o[v]);else e.punycode=o})(hT)});var I$=Wl((D$,b1)=>{/*! * URI.js - Mutating URLs * IPv6 Support * @@ -35,7 +35,7 @@ var vAe=Object.create;var X$=Object.defineProperty;var DAe=Object.getOwnProperty * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof _1=="object"&&_1.exports?_1.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(CZ,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var u;for(u=0;u<a&&s[u]!=="";u++);if(u<c)for(s.splice(u,1,"0000");s.length<c;)s.splice(u,0,"0000");for(var f,d=0;d<c;d++){f=s[d].split("");for(var p=0;p<3&&(f[0]==="0"&&f.length>1);p++)f.splice(0,1);s[d]=f.join("")}var g=-1,m=0,x=0,b=-1,T=!1;for(d=0;d<c;d++)T?s[d]==="0"?x+=1:(T=!1,x>m&&(g=b,m=x)):s[d]==="0"&&(T=!0,b=d,x=1);x>m&&(g=b,m=x),m>1&&s.splice(g,m,""),a=s.length;var C="";for(s[0]===""&&(C=":"),d=0;d<a&&(C+=s[d],d!==a-1);d++)C+=":";return s[a-1]===""&&(C+=":"),C}function i(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:i}})});var SZ=kl((EZ,g1)=>{/*! + */(function(e,t){"use strict";typeof b1=="object"&&b1.exports?b1.exports=t():typeof define=="function"&&define.amd?define(t):e.IPv6=t(e)})(D$,function(e){"use strict";var t=e&&e.IPv6;function n(o){var r=o.toLowerCase(),s=r.split(":"),a=s.length,c=8;s[0]===""&&s[1]===""&&s[2]===""?(s.shift(),s.shift()):s[0]===""&&s[1]===""?s.shift():s[a-1]===""&&s[a-2]===""&&s.pop(),a=s.length,s[a-1].indexOf(".")!==-1&&(c=7);var u;for(u=0;u<a&&s[u]!=="";u++);if(u<c)for(s.splice(u,1,"0000");s.length<c;)s.splice(u,0,"0000");for(var f,d=0;d<c;d++){f=s[d].split("");for(var p=0;p<3&&(f[0]==="0"&&f.length>1);p++)f.splice(0,1);s[d]=f.join("")}var g=-1,m=0,x=0,b=-1,T=!1;for(d=0;d<c;d++)T?s[d]==="0"?x+=1:(T=!1,x>m&&(g=b,m=x)):s[d]==="0"&&(T=!0,b=d,x=1);x>m&&(g=b,m=x),m>1&&s.splice(g,m,""),a=s.length;var C="";for(s[0]===""&&(C=":"),d=0;d<a&&(C+=s[d],d!==a-1);d++)C+=":";return s[a-1]===""&&(C+=":"),C}function i(){return e.IPv6===this&&(e.IPv6=t),this}return{best:n,noConflict:i}})});var O$=Wl((P$,T1)=>{/*! * URI.js - Mutating URLs * Second Level Domain (SLD) Support * @@ -47,7 +47,7 @@ var vAe=Object.create;var X$=Object.defineProperty;var DAe=Object.getOwnProperty * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof g1=="object"&&g1.exports?g1.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(EZ,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var Vl=kl((wZ,y1)=>{/*! + */(function(e,t){"use strict";typeof T1=="object"&&T1.exports?T1.exports=t():typeof define=="function"&&define.amd?define(t):e.SecondLevelDomains=t(e)})(P$,function(e){"use strict";var t=e&&e.SecondLevelDomains,n={list:{ac:" com gov mil net org ",ae:" ac co gov mil name net org pro sch ",af:" com edu gov net org ",al:" com edu gov mil net org ",ao:" co ed gv it og pb ",ar:" com edu gob gov int mil net org tur ",at:" ac co gv or ",au:" asn com csiro edu gov id net org ",ba:" co com edu gov mil net org rs unbi unmo unsa untz unze ",bb:" biz co com edu gov info net org store tv ",bh:" biz cc com edu gov info net org ",bn:" com edu gov net org ",bo:" com edu gob gov int mil net org tv ",br:" adm adv agr am arq art ato b bio blog bmd cim cng cnt com coop ecn edu eng esp etc eti far flog fm fnd fot fst g12 ggf gov imb ind inf jor jus lel mat med mil mus net nom not ntr odo org ppg pro psc psi qsl rec slg srv tmp trd tur tv vet vlog wiki zlg ",bs:" com edu gov net org ",bz:" du et om ov rg ",ca:" ab bc mb nb nf nl ns nt nu on pe qc sk yk ",ck:" biz co edu gen gov info net org ",cn:" ac ah bj com cq edu fj gd gov gs gx gz ha hb he hi hl hn jl js jx ln mil net nm nx org qh sc sd sh sn sx tj tw xj xz yn zj ",co:" com edu gov mil net nom org ",cr:" ac c co ed fi go or sa ",cy:" ac biz com ekloges gov ltd name net org parliament press pro tm ",do:" art com edu gob gov mil net org sld web ",dz:" art asso com edu gov net org pol ",ec:" com edu fin gov info med mil net org pro ",eg:" com edu eun gov mil name net org sci ",er:" com edu gov ind mil net org rochest w ",es:" com edu gob nom org ",et:" biz com edu gov info name net org ",fj:" ac biz com info mil name net org pro ",fk:" ac co gov net nom org ",fr:" asso com f gouv nom prd presse tm ",gg:" co net org ",gh:" com edu gov mil org ",gn:" ac com gov net org ",gr:" com edu gov mil net org ",gt:" com edu gob ind mil net org ",gu:" com edu gov net org ",hk:" com edu gov idv net org ",hu:" 2000 agrar bolt casino city co erotica erotika film forum games hotel info ingatlan jogasz konyvelo lakas media news org priv reklam sex shop sport suli szex tm tozsde utazas video ",id:" ac co go mil net or sch web ",il:" ac co gov idf k12 muni net org ",in:" ac co edu ernet firm gen gov i ind mil net nic org res ",iq:" com edu gov i mil net org ",ir:" ac co dnssec gov i id net org sch ",it:" edu gov ",je:" co net org ",jo:" com edu gov mil name net org sch ",jp:" ac ad co ed go gr lg ne or ",ke:" ac co go info me mobi ne or sc ",kh:" com edu gov mil net org per ",ki:" biz com de edu gov info mob net org tel ",km:" asso com coop edu gouv k medecin mil nom notaires pharmaciens presse tm veterinaire ",kn:" edu gov net org ",kr:" ac busan chungbuk chungnam co daegu daejeon es gangwon go gwangju gyeongbuk gyeonggi gyeongnam hs incheon jeju jeonbuk jeonnam k kg mil ms ne or pe re sc seoul ulsan ",kw:" com edu gov net org ",ky:" com edu gov net org ",kz:" com edu gov mil net org ",lb:" com edu gov net org ",lk:" assn com edu gov grp hotel int ltd net ngo org sch soc web ",lr:" com edu gov net org ",lv:" asn com conf edu gov id mil net org ",ly:" com edu gov id med net org plc sch ",ma:" ac co gov m net org press ",mc:" asso tm ",me:" ac co edu gov its net org priv ",mg:" com edu gov mil nom org prd tm ",mk:" com edu gov inf name net org pro ",ml:" com edu gov net org presse ",mn:" edu gov org ",mo:" com edu gov net org ",mt:" com edu gov net org ",mv:" aero biz com coop edu gov info int mil museum name net org pro ",mw:" ac co com coop edu gov int museum net org ",mx:" com edu gob net org ",my:" com edu gov mil name net org sch ",nf:" arts com firm info net other per rec store web ",ng:" biz com edu gov mil mobi name net org sch ",ni:" ac co com edu gob mil net nom org ",np:" com edu gov mil net org ",nr:" biz com edu gov info net org ",om:" ac biz co com edu gov med mil museum net org pro sch ",pe:" com edu gob mil net nom org sld ",ph:" com edu gov i mil net ngo org ",pk:" biz com edu fam gob gok gon gop gos gov net org web ",pl:" art bialystok biz com edu gda gdansk gorzow gov info katowice krakow lodz lublin mil net ngo olsztyn org poznan pwr radom slupsk szczecin torun warszawa waw wroc wroclaw zgora ",pr:" ac biz com edu est gov info isla name net org pro prof ",ps:" com edu gov net org plo sec ",pw:" belau co ed go ne or ",ro:" arts com firm info nom nt org rec store tm www ",rs:" ac co edu gov in org ",sb:" com edu gov net org ",sc:" com edu gov net org ",sh:" co com edu gov net nom org ",sl:" com edu gov net org ",st:" co com consulado edu embaixada gov mil net org principe saotome store ",sv:" com edu gob org red ",sz:" ac co org ",tr:" av bbs bel biz com dr edu gen gov info k12 name net org pol tel tsk tv web ",tt:" aero biz cat co com coop edu gov info int jobs mil mobi museum name net org pro tel travel ",tw:" club com ebiz edu game gov idv mil net org ",mu:" ac co com gov net or org ",mz:" ac co edu gov org ",na:" co com ",nz:" ac co cri geek gen govt health iwi maori mil net org parliament school ",pa:" abo ac com edu gob ing med net nom org sld ",pt:" com edu gov int net nome org publ ",py:" com edu gov mil net org ",qa:" com edu gov mil net org ",re:" asso com nom ",ru:" ac adygeya altai amur arkhangelsk astrakhan bashkiria belgorod bir bryansk buryatia cbg chel chelyabinsk chita chukotka chuvashia com dagestan e-burg edu gov grozny int irkutsk ivanovo izhevsk jar joshkar-ola kalmykia kaluga kamchatka karelia kazan kchr kemerovo khabarovsk khakassia khv kirov koenig komi kostroma kranoyarsk kuban kurgan kursk lipetsk magadan mari mari-el marine mil mordovia mosreg msk murmansk nalchik net nnov nov novosibirsk nsk omsk orenburg org oryol penza perm pp pskov ptz rnd ryazan sakhalin samara saratov simbirsk smolensk spb stavropol stv surgut tambov tatarstan tom tomsk tsaritsyn tsk tula tuva tver tyumen udm udmurtia ulan-ude vladikavkaz vladimir vladivostok volgograd vologda voronezh vrn vyatka yakutia yamal yekaterinburg yuzhno-sakhalinsk ",rw:" ac co com edu gouv gov int mil net ",sa:" com edu gov med net org pub sch ",sd:" com edu gov info med net org tv ",se:" a ac b bd c d e f g h i k l m n o org p parti pp press r s t tm u w x y z ",sg:" com edu gov idn net org per ",sn:" art com edu gouv org perso univ ",sy:" com edu gov mil net news org ",th:" ac co go in mi net or ",tj:" ac biz co com edu go gov info int mil name net nic org test web ",tn:" agrinet com defense edunet ens fin gov ind info intl mincom nat net org perso rnrt rns rnu tourism ",tz:" ac co go ne or ",ua:" biz cherkassy chernigov chernovtsy ck cn co com crimea cv dn dnepropetrovsk donetsk dp edu gov if in ivano-frankivsk kh kharkov kherson khmelnitskiy kiev kirovograd km kr ks kv lg lugansk lutsk lviv me mk net nikolaev od odessa org pl poltava pp rovno rv sebastopol sumy te ternopil uzhgorod vinnica vn zaporizhzhe zhitomir zp zt ",ug:" ac co go ne or org sc ",uk:" ac bl british-library co cym gov govt icnet jet lea ltd me mil mod national-library-scotland nel net nhs nic nls org orgn parliament plc police sch scot soc ",us:" dni fed isa kids nsn ",uy:" com edu gub mil net org ",ve:" co com edu gob info mil net org web ",vi:" co com k12 net org ",vn:" ac biz com edu gov health info int name net org pro ",ye:" co com gov ltd me net org plc ",yu:" ac co edu gov org ",za:" ac agric alt bourse city co cybernet db edu gov grondar iaccess imt inca landesign law mil net ngo nis nom olivetti org pix school tm web ",zm:" ac co com edu gov net org sch ",com:"ar br cn de eu gb gr hu jpn kr no qc ru sa se uk us uy za ",net:"gb jp se uk ",org:"ae",de:"com "},has:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(r+1,o)+" ")>=0:!1},is:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return!1;var r=i.lastIndexOf(".",o-1);if(r>=0)return!1;var s=n.list[i.slice(o+1)];return s?s.indexOf(" "+i.slice(0,o)+" ")>=0:!1},get:function(i){var o=i.lastIndexOf(".");if(o<=0||o>=i.length-1)return null;var r=i.lastIndexOf(".",o-1);if(r<=0||r>=o-1)return null;var s=n.list[i.slice(o+1)];return!s||s.indexOf(" "+i.slice(r+1,o)+" ")<0?null:i.slice(r+1)},noConflict:function(){return e.SecondLevelDomains===this&&(e.SecondLevelDomains=t),this}};return n})});var jl=Wl((R$,C1)=>{/*! * URI.js - Mutating URLs * * Version: 1.19.11 @@ -58,27 +58,27 @@ var vAe=Object.create;var X$=Object.defineProperty;var DAe=Object.getOwnProperty * Licensed under * MIT License http://www.opensource.org/licenses/mit-license * - */(function(e,t){"use strict";typeof y1=="object"&&y1.exports?y1.exports=t(TZ(),AZ(),SZ()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(wZ,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(E,v){var I=arguments.length>=1,N=arguments.length>=2;if(!(this instanceof r))return I?N?new r(E,v):new r(E):new r;if(E===void 0){if(I)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?E=location.href+"":E=""}if(E===null&&I)throw new TypeError("null is not a valid argument for URI");return this.href(E),v!==void 0?this.absoluteTo(v):this}function s(E){return/^[0-9]+$/.test(E)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function u(E){return E.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function f(E){return E===void 0?"Undefined":String(Object.prototype.toString.call(E)).slice(8,-1)}function d(E){return f(E)==="Array"}function p(E,v){var I={},N,B;if(f(v)==="RegExp")I=null;else if(d(v))for(N=0,B=v.length;N<B;N++)I[v[N]]=!0;else I[v]=!0;for(N=0,B=E.length;N<B;N++){var z=I&&I[E[N]]!==void 0||!I&&v.test(E[N]);z&&(E.splice(N,1),B--,N--)}return E}function g(E,v){var I,N;if(d(v)){for(I=0,N=v.length;I<N;I++)if(!g(E,v[I]))return!1;return!0}var B=f(v);for(I=0,N=E.length;I<N;I++)if(B==="RegExp"){if(typeof E[I]=="string"&&E[I].match(v))return!0}else if(E[I]===v)return!0;return!1}function m(E,v){if(!d(E)||!d(v)||E.length!==v.length)return!1;E.sort(),v.sort();for(var I=0,N=E.length;I<N;I++)if(E[I]!==v[I])return!1;return!0}function x(E){var v=/^\/+|\/+$/g;return E.replace(v,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(E){if(!(!E||!E.nodeName)){var v=E.nodeName.toLowerCase();if(!(v==="input"&&E.type!=="image"))return r.domAttributes[v]}};function b(E){return escape(E)}function T(E){return encodeURIComponent(E).replace(/[!'()*]/g,b).replace(/\*/g,"%2A")}r.encode=T,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=T,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(E,v){var I=r.encode(E+"");return v===void 0&&(v=r.escapeQuerySpace),v?I.replace(/%20/g,"+"):I},r.decodeQuery=function(E,v){E+="",v===void 0&&(v=r.escapeQuerySpace);try{return r.decode(v?E.replace(/\+/g,"%20"):E)}catch{return E}};var C={encode:"encode",decode:"decode"},A,S=function(E,v){return function(I){try{return r[v](I+"").replace(r.characters[E][v].expression,function(N){return r.characters[E][v].map[N]})}catch{return I}}};for(A in C)r[A+"PathSegment"]=S("pathname",C[A]),r[A+"UrnPathSegment"]=S("urnpath",C[A]);var w=function(E,v,I){return function(N){var B;I?B=function(k){return r[v](r[I](k))}:B=r[v];for(var z=(N+"").split(E),V=0,G=z.length;V<G;V++)z[V]=B(z[V]);return z.join(E)}};r.decodePath=w("/","decodePathSegment"),r.decodeUrnPath=w(":","decodeUrnPathSegment"),r.recodePath=w("/","encodePathSegment","decode"),r.recodeUrnPath=w(":","encodeUrnPathSegment","decode"),r.encodeReserved=S("reserved","encode"),r.parse=function(E,v){var I;return v||(v={preventInvalidHostname:r.preventInvalidHostname}),E=E.replace(r.leading_whitespace_expression,""),E=E.replace(r.ascii_tab_whitespace,""),I=E.indexOf("#"),I>-1&&(v.fragment=E.substring(I+1)||null,E=E.substring(0,I)),I=E.indexOf("?"),I>-1&&(v.query=E.substring(I+1)||null,E=E.substring(0,I)),E=E.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),E=E.replace(/^[/\\]{2,}/i,"//"),E.substring(0,2)==="//"?(v.protocol=null,E=E.substring(2),E=r.parseAuthority(E,v)):(I=E.indexOf(":"),I>-1&&(v.protocol=E.substring(0,I)||null,v.protocol&&!v.protocol.match(r.protocol_expression)?v.protocol=void 0:E.substring(I+1,I+3).replace(/\\/g,"/")==="//"?(E=E.substring(I+3),E=r.parseAuthority(E,v)):(E=E.substring(I+1),v.urn=!0))),v.path=E,v},r.parseHost=function(E,v){E||(E=""),E=E.replace(/\\/g,"/");var I=E.indexOf("/"),N,B;if(I===-1&&(I=E.length),E.charAt(0)==="[")N=E.indexOf("]"),v.hostname=E.substring(1,N)||null,v.port=E.substring(N+2,I)||null,v.port==="/"&&(v.port=null);else{var z=E.indexOf(":"),V=E.indexOf("/"),G=E.indexOf(":",z+1);G!==-1&&(V===-1||G<V)?(v.hostname=E.substring(0,I)||null,v.port=null):(B=E.substring(0,I).split(":"),v.hostname=B[0]||null,v.port=B[1]||null)}return v.hostname&&E.substring(I).charAt(0)!=="/"&&(I++,E="/"+E),v.preventInvalidHostname&&r.ensureValidHostname(v.hostname,v.protocol),v.port&&r.ensureValidPort(v.port),E.substring(I)||"/"},r.parseAuthority=function(E,v){return E=r.parseUserinfo(E,v),r.parseHost(E,v)},r.parseUserinfo=function(E,v){var I=E,N=E.indexOf("\\");N!==-1&&(E=E.replace(/\\/g,"/"));var B=E.indexOf("/"),z=E.lastIndexOf("@",B>-1?B:E.length-1),V;return z>-1&&(B===-1||z<B)?(V=E.substring(0,z).split(":"),v.username=V[0]?r.decode(V[0]):null,V.shift(),v.password=V[0]?r.decode(V.join(":")):null,E=I.substring(z+1)):(v.username=null,v.password=null),E},r.parseQuery=function(E,v){if(!E)return{};if(E=E.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!E)return{};for(var I={},N=E.split("&"),B=N.length,z,V,G,k=0;k<B;k++)z=N[k].split("="),V=r.decodeQuery(z.shift(),v),G=z.length?r.decodeQuery(z.join("="),v):null,V!=="__proto__"&&(c.call(I,V)?((typeof I[V]=="string"||I[V]===null)&&(I[V]=[I[V]]),I[V].push(G)):I[V]=G);return I},r.build=function(E){var v="",I=!1;return E.protocol&&(v+=E.protocol+":"),!E.urn&&(v||E.hostname)&&(v+="//",I=!0),v+=r.buildAuthority(E)||"",typeof E.path=="string"&&(E.path.charAt(0)!=="/"&&I&&(v+="/"),v+=E.path),typeof E.query=="string"&&E.query&&(v+="?"+E.query),typeof E.fragment=="string"&&E.fragment&&(v+="#"+E.fragment),v},r.buildHost=function(E){var v="";if(E.hostname)r.ip6_expression.test(E.hostname)?v+="["+E.hostname+"]":v+=E.hostname;else return"";return E.port&&(v+=":"+E.port),v},r.buildAuthority=function(E){return r.buildUserinfo(E)+r.buildHost(E)},r.buildUserinfo=function(E){var v="";return E.username&&(v+=r.encode(E.username)),E.password&&(v+=":"+r.encode(E.password)),v&&(v+="@"),v},r.buildQuery=function(E,v,I){var N="",B,z,V,G;for(z in E)if(z!=="__proto__"&&c.call(E,z))if(d(E[z]))for(B={},V=0,G=E[z].length;V<G;V++)E[z][V]!==void 0&&B[E[z][V]+""]===void 0&&(N+="&"+r.buildQueryParameter(z,E[z][V],I),v!==!0&&(B[E[z][V]+""]=!0));else E[z]!==void 0&&(N+="&"+r.buildQueryParameter(z,E[z],I));return N.substring(1)},r.buildQueryParameter=function(E,v,I){return r.encodeQuery(E,I)+(v!==null?"="+r.encodeQuery(v,I):"")},r.addQuery=function(E,v,I){if(typeof v=="object")for(var N in v)c.call(v,N)&&r.addQuery(E,N,v[N]);else if(typeof v=="string"){if(E[v]===void 0){E[v]=I;return}else typeof E[v]=="string"&&(E[v]=[E[v]]);d(I)||(I=[I]),E[v]=(E[v]||[]).concat(I)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(E,v,I){if(typeof v=="object")for(var N in v)c.call(v,N)&&r.setQuery(E,N,v[N]);else if(typeof v=="string")E[v]=I===void 0?null:I;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(E,v,I){var N,B,z;if(d(v))for(N=0,B=v.length;N<B;N++)E[v[N]]=void 0;else if(f(v)==="RegExp")for(z in E)v.test(z)&&(E[z]=void 0);else if(typeof v=="object")for(z in v)c.call(v,z)&&r.removeQuery(E,z,v[z]);else if(typeof v=="string")I!==void 0?f(I)==="RegExp"?!d(E[v])&&I.test(E[v])?E[v]=void 0:E[v]=p(E[v],I):E[v]===String(I)&&(!d(I)||I.length===1)?E[v]=void 0:d(E[v])&&(E[v]=p(E[v],I)):E[v]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(E,v,I,N){switch(f(v)){case"String":break;case"RegExp":for(var B in E)if(c.call(E,B)&&v.test(B)&&(I===void 0||r.hasQuery(E,B,I)))return!0;return!1;case"Object":for(var z in v)if(c.call(v,z)&&!r.hasQuery(E,z,v[z]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(f(I)){case"Undefined":return v in E;case"Boolean":var V=!!(d(E[v])?E[v].length:E[v]);return I===V;case"Function":return!!I(E[v],v,E);case"Array":if(!d(E[v]))return!1;var G=N?g:m;return G(E[v],I);case"RegExp":return d(E[v])?N?g(E[v],I):!1:!!(E[v]&&E[v].match(I));case"Number":I=String(I);case"String":return d(E[v])?N?g(E[v],I):!1:E[v]===I;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var E=[],v=[],I=0,N=0;N<arguments.length;N++){var B=new r(arguments[N]);E.push(B);for(var z=B.segment(),V=0;V<z.length;V++)typeof z[V]=="string"&&v.push(z[V]),z[V]&&I++}if(!v.length||!I)return new r("");var G=new r("").segment(v);return(E[0].path()===""||E[0].path().slice(0,1)==="/")&&G.path("/"+G.path()),G.normalize()},r.commonPath=function(E,v){var I=Math.min(E.length,v.length),N;for(N=0;N<I;N++)if(E.charAt(N)!==v.charAt(N)){N--;break}return N<1?E.charAt(0)===v.charAt(0)&&E.charAt(0)==="/"?"/":"":((E.charAt(N)!=="/"||v.charAt(N)!=="/")&&(N=E.substring(0,N).lastIndexOf("/")),E.substring(0,N+1))},r.withinString=function(E,v,I){I||(I={});var N=I.start||r.findUri.start,B=I.end||r.findUri.end,z=I.trim||r.findUri.trim,V=I.parens||r.findUri.parens,G=/[a-z0-9-]=["']?$/i;for(N.lastIndex=0;;){var k=N.exec(E);if(!k)break;var Y=k.index;if(I.ignoreHtml){var W=E.slice(Math.max(Y-3,0),Y);if(W&&G.test(W))continue}for(var J=Y+E.slice(Y).search(B),j=E.slice(Y,J),$=-1;;){var Q=V.exec(j);if(!Q)break;var he=Q.index+Q[0].length;$=Math.max($,he)}if($>-1?j=j.slice(0,$)+j.slice($).replace(z,""):j=j.replace(z,""),!(j.length<=k[0].length)&&!(I.ignore&&I.ignore.test(j))){J=Y+j.length;var ye=v(j,Y,J,E);if(ye===void 0){N.lastIndex=J;continue}ye=String(ye),E=E.slice(0,Y)+ye+E.slice(J),N.lastIndex=Y+ye.length}}return N.lastIndex=0,E},r.ensureValidHostname=function(E,v){var I=!!E,N=!!v,B=!1;if(N&&(B=g(r.hostProtocols,v)),B&&!I)throw new TypeError("Hostname cannot be empty, if protocol is "+v);if(E&&E.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(E).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(E){if(E){var v=Number(E);if(!(s(v)&&v>0&&v<65536))throw new TypeError('Port "'+E+'" is not a valid port')}},r.noConflict=function(E){if(E){var v={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(v.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(v.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(v.SecondLevelDomains=i.SecondLevelDomains.noConflict()),v}else i.URI===this&&(i.URI=o);return this},a.build=function(E){return E===!0?this._deferred_build=!0:(E===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function D(E){return function(v,I){return v===void 0?this._parts[E]||"":(this._parts[E]=v||null,this.build(!I),this)}}function O(E,v){return function(I,N){return I===void 0?this._parts[E]||"":(I!==null&&(I=I+"",I.charAt(0)===v&&(I=I.substring(1))),this._parts[E]=I,this.build(!N),this)}}a.protocol=D("protocol"),a.username=D("username"),a.password=D("password"),a.hostname=D("hostname"),a.port=D("port"),a.query=O("query","?"),a.fragment=O("fragment","#"),a.search=function(E,v){var I=this.query(E,v);return typeof I=="string"&&I.length?"?"+I:I},a.hash=function(E,v){var I=this.fragment(E,v);return typeof I=="string"&&I.length?"#"+I:I},a.pathname=function(E,v){if(E===void 0||E===!0){var I=this._parts.path||(this._parts.hostname?"/":"");return E?(this._parts.urn?r.decodeUrnPath:r.decodePath)(I):I}else return this._parts.urn?this._parts.path=E?r.recodeUrnPath(E):"":this._parts.path=E?r.recodePath(E):"/",this.build(!v),this},a.path=a.pathname,a.href=function(E,v){var I;if(E===void 0)return this.toString();this._string="",this._parts=r._parts();var N=E instanceof r,B=typeof E=="object"&&(E.hostname||E.path||E.pathname);if(E.nodeName){var z=r.getDomAttribute(E);E=E[z]||"",B=!1}if(!N&&B&&E.pathname!==void 0&&(E=E.toString()),typeof E=="string"||E instanceof String)this._parts=r.parse(String(E),this._parts);else if(N||B){var V=N?E._parts:E;for(I in V)I!=="query"&&c.call(this._parts,I)&&(this._parts[I]=V[I]);V.query&&this.query(V.query,!1)}else throw new TypeError("invalid input");return this.build(!v),this},a.is=function(E){var v=!1,I=!1,N=!1,B=!1,z=!1,V=!1,G=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,I=r.ip4_expression.test(this._parts.hostname),N=r.ip6_expression.test(this._parts.hostname),v=I||N,B=!v,z=B&&n&&n.has(this._parts.hostname),V=B&&r.idn_expression.test(this._parts.hostname),G=B&&r.punycode_expression.test(this._parts.hostname)),E.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return B;case"sld":return z;case"ip":return v;case"ip4":case"ipv4":case"inet4":return I;case"ip6":case"ipv6":case"inet6":return N;case"idn":return V;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return G}return null};var R=a.protocol,M=a.port,L=a.hostname;a.protocol=function(E,v){if(E&&(E=E.replace(/:(\/\/)?$/,""),!E.match(r.protocol_expression)))throw new TypeError('Protocol "'+E+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return R.call(this,E,v)},a.scheme=a.protocol,a.port=function(E,v){return this._parts.urn?E===void 0?"":this:(E!==void 0&&(E===0&&(E=null),E&&(E+="",E.charAt(0)===":"&&(E=E.substring(1)),r.ensureValidPort(E))),M.call(this,E,v))},a.hostname=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E!==void 0){var I={preventInvalidHostname:this._parts.preventInvalidHostname},N=r.parseHost(E,I);if(N!=="/")throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-]');E=I.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(E,this._parts.protocol)}return L.call(this,E,v)},a.origin=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E===void 0){var I=this.protocol(),N=this.authority();return N?(I?I+"://":"")+this.authority():""}else{var B=r(E);return this.protocol(B.protocol()).authority(B.authority()).build(!v),this}},a.host=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var I=r.parseHost(E,this._parts);if(I!=="/")throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},a.authority=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var I=r.parseAuthority(E,this._parts);if(I!=="/")throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-]');return this.build(!v),this},a.userinfo=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E===void 0){var I=r.buildUserinfo(this._parts);return I&&I.substring(0,I.length-1)}else return E[E.length-1]!=="@"&&(E+="@"),r.parseUserinfo(E,this._parts),this.build(!v),this},a.resource=function(E,v){var I;return E===void 0?this.path()+this.search()+this.hash():(I=r.parse(E),this._parts.path=I.path,this._parts.query=I.query,this._parts.fragment=I.fragment,this.build(!v),this)},a.subdomain=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,I)||""}else{var N=this._parts.hostname.length-this.domain().length,B=this._parts.hostname.substring(0,N),z=new RegExp("^"+u(B));if(E&&E.charAt(E.length-1)!=="."&&(E+="."),E.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return E&&r.ensureValidHostname(E,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(z,E),this.build(!v),this}},a.domain=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(typeof E=="boolean"&&(v=E,E=void 0),E===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.match(/\./g);if(I&&I.length<2)return this._parts.hostname;var N=this._parts.hostname.length-this.tld(v).length-1;return N=this._parts.hostname.lastIndexOf(".",N-1)+1,this._parts.hostname.substring(N)||""}else{if(!E)throw new TypeError("cannot set domain empty");if(E.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(E,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=E;else{var B=new RegExp(u(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(B,E)}return this.build(!v),this}},a.tld=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(typeof E=="boolean"&&(v=E,E=void 0),E===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.lastIndexOf("."),N=this._parts.hostname.substring(I+1);return v!==!0&&n&&n.list[N.toLowerCase()]&&n.get(this._parts.hostname)||N}else{var B;if(E)if(E.match(/[^a-zA-Z0-9-]/))if(n&&n.is(E))B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,E);else throw new TypeError('TLD "'+E+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,E)}else throw new TypeError("cannot set TLD empty");return this.build(!v),this}},a.directory=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E===void 0||E===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var I=this._parts.path.length-this.filename().length-1,N=this._parts.path.substring(0,I)||(this._parts.hostname?"/":"");return E?r.decodePath(N):N}else{var B=this._parts.path.length-this.filename().length,z=this._parts.path.substring(0,B),V=new RegExp("^"+u(z));return this.is("relative")||(E||(E="/"),E.charAt(0)!=="/"&&(E="/"+E)),E&&E.charAt(E.length-1)!=="/"&&(E+="/"),E=r.recodePath(E),this._parts.path=this._parts.path.replace(V,E),this.build(!v),this}},a.filename=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(typeof E!="string"){if(!this._parts.path||this._parts.path==="/")return"";var I=this._parts.path.lastIndexOf("/"),N=this._parts.path.substring(I+1);return E?r.decodePathSegment(N):N}else{var B=!1;E.charAt(0)==="/"&&(E=E.substring(1)),E.match(/\.?\//)&&(B=!0);var z=new RegExp(u(this.filename())+"$");return E=r.recodePath(E),this._parts.path=this._parts.path.replace(z,E),B?this.normalizePath(v):this.build(!v),this}},a.suffix=function(E,v){if(this._parts.urn)return E===void 0?"":this;if(E===void 0||E===!0){if(!this._parts.path||this._parts.path==="/")return"";var I=this.filename(),N=I.lastIndexOf("."),B,z;return N===-1?"":(B=I.substring(N+1),z=/^[a-z0-9%]+$/i.test(B)?B:"",E?r.decodePathSegment(z):z)}else{E.charAt(0)==="."&&(E=E.substring(1));var V=this.suffix(),G;if(V)E?G=new RegExp(u(V)+"$"):G=new RegExp(u("."+V)+"$");else{if(!E)return this;this._parts.path+="."+r.recodePath(E)}return G&&(E=r.recodePath(E),this._parts.path=this._parts.path.replace(G,E)),this.build(!v),this}},a.segment=function(E,v,I){var N=this._parts.urn?":":"/",B=this.path(),z=B.substring(0,1)==="/",V=B.split(N);if(E!==void 0&&typeof E!="number"&&(I=v,v=E,E=void 0),E!==void 0&&typeof E!="number")throw new Error('Bad segment "'+E+'", must be 0-based integer');if(z&&V.shift(),E<0&&(E=Math.max(V.length+E,0)),v===void 0)return E===void 0?V:V[E];if(E===null||V[E]===void 0)if(d(v)){V=[];for(var G=0,k=v.length;G<k;G++)!v[G].length&&(!V.length||!V[V.length-1].length)||(V.length&&!V[V.length-1].length&&V.pop(),V.push(x(v[G])))}else(v||typeof v=="string")&&(v=x(v),V[V.length-1]===""?V[V.length-1]=v:V.push(v));else v?V[E]=x(v):V.splice(E,1);return z&&V.unshift(""),this.path(V.join(N),I)},a.segmentCoded=function(E,v,I){var N,B,z;if(typeof E!="number"&&(I=v,v=E,E=void 0),v===void 0){if(N=this.segment(E,v,I),!d(N))N=N!==void 0?r.decode(N):void 0;else for(B=0,z=N.length;B<z;B++)N[B]=r.decode(N[B]);return N}if(!d(v))v=typeof v=="string"||v instanceof String?r.encode(v):v;else for(B=0,z=v.length;B<z;B++)v[B]=r.encode(v[B]);return this.segment(E,v,I)};var _=a.query;return a.query=function(E,v){if(E===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof E=="function"){var I=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),N=E.call(this,I);return this._parts.query=r.buildQuery(N||I,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!v),this}else return E!==void 0&&typeof E!="string"?(this._parts.query=r.buildQuery(E,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!v),this):_.call(this,E,v)},a.setQuery=function(E,v,I){var N=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof E=="string"||E instanceof String)N[E]=v!==void 0?v:null;else if(typeof E=="object")for(var B in E)c.call(E,B)&&(N[B]=E[B]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(N,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof E!="string"&&(I=v),this.build(!I),this},a.addQuery=function(E,v,I){var N=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(N,E,v===void 0?null:v),this._parts.query=r.buildQuery(N,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof E!="string"&&(I=v),this.build(!I),this},a.removeQuery=function(E,v,I){var N=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(N,E,v),this._parts.query=r.buildQuery(N,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof E!="string"&&(I=v),this.build(!I),this},a.hasQuery=function(E,v,I){var N=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(N,E,v,I)},a.setSearch=a.setQuery,a.addSearch=a.addQuery,a.removeSearch=a.removeQuery,a.hasSearch=a.hasQuery,a.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},a.normalizeProtocol=function(E){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!E)),this},a.normalizeHostname=function(E){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!E)),this},a.normalizePort=function(E){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!E)),this},a.normalizePath=function(E){var v=this._parts.path;if(!v)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!E),this;if(this._parts.path==="/")return this;v=r.recodePath(v);var I,N="",B,z;for(v.charAt(0)!=="/"&&(I=!0,v="/"+v),(v.slice(-3)==="/.."||v.slice(-2)==="/.")&&(v+="/"),v=v.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),I&&(N=v.substring(1).match(/^(\.\.\/)+/)||"",N&&(N=N[0]));B=v.search(/\/\.\.(\/|$)/),B!==-1;){if(B===0){v=v.substring(3);continue}z=v.substring(0,B).lastIndexOf("/"),z===-1&&(z=B),v=v.substring(0,z)+v.substring(B+3)}return I&&this.is("relative")&&(v=N+v.substring(1)),this._parts.path=v,this.build(!E),this},a.normalizePathname=a.normalizePath,a.normalizeQuery=function(E){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!E)),this},a.normalizeFragment=function(E){return this._parts.fragment||(this._parts.fragment=null,this.build(!E)),this},a.normalizeSearch=a.normalizeQuery,a.normalizeHash=a.normalizeFragment,a.iso8859=function(){var E=r.encode,v=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=E,r.decode=v}return this},a.unicode=function(){var E=r.encode,v=r.decode;r.encode=T,r.decode=unescape;try{this.normalize()}finally{r.encode=E,r.decode=v}return this},a.readable=function(){var E=this.clone();E.username("").password("").normalize();var v="";if(E._parts.protocol&&(v+=E._parts.protocol+"://"),E._parts.hostname&&(E.is("punycode")&&e?(v+=e.toUnicode(E._parts.hostname),E._parts.port&&(v+=":"+E._parts.port)):v+=E.host()),E._parts.hostname&&E._parts.path&&E._parts.path.charAt(0)!=="/"&&(v+="/"),v+=E.path(!0),E._parts.query){for(var I="",N=0,B=E._parts.query.split("&"),z=B.length;N<z;N++){var V=(B[N]||"").split("=");I+="&"+r.decodeQuery(V[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),V[1]!==void 0&&(I+="="+r.decodeQuery(V[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}v+="?"+I.substring(1)}return v+=r.decodeQuery(E.hash(),!0),v},a.absoluteTo=function(E){var v=this.clone(),I=["protocol","username","password","hostname","port"],N,B,z;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(E instanceof r||(E=new r(E)),v._parts.protocol||(v._parts.protocol=E._parts.protocol,this._parts.hostname))return v;for(B=0;z=I[B];B++)v._parts[z]=E._parts[z];return v._parts.path?(v._parts.path.substring(-2)===".."&&(v._parts.path+="/"),v.path().charAt(0)!=="/"&&(N=E.directory(),N=N||(E.path().indexOf("/")===0?"/":""),v._parts.path=(N?N+"/":"")+v._parts.path,v.normalizePath())):(v._parts.path=E._parts.path,v._parts.query||(v._parts.query=E._parts.query)),v.build(),v},a.relativeTo=function(E){var v=this.clone().normalize(),I,N,B,z,V;if(v._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(E=new r(E).normalize(),I=v._parts,N=E._parts,z=v.path(),V=E.path(),z.charAt(0)!=="/")throw new Error("URI is already relative");if(V.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(I.protocol===N.protocol&&(I.protocol=null),I.username!==N.username||I.password!==N.password||I.protocol!==null||I.username!==null||I.password!==null)return v.build();if(I.hostname===N.hostname&&I.port===N.port)I.hostname=null,I.port=null;else return v.build();if(z===V)return I.path="",v.build();if(B=r.commonPath(z,V),!B)return v.build();var G=N.path.substring(B.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return I.path=G+I.path.substring(B.length)||"./",v.build()},a.equals=function(E){var v=this.clone(),I=new r(E),N={},B={},z={},V,G,k;if(v.normalize(),I.normalize(),v.toString()===I.toString())return!0;if(V=v.query(),G=I.query(),v.query(""),I.query(""),v.toString()!==I.toString()||V.length!==G.length)return!1;N=r.parseQuery(V,this._parts.escapeQuerySpace),B=r.parseQuery(G,this._parts.escapeQuerySpace);for(k in N)if(c.call(N,k)){if(d(N[k])){if(!m(N[k],B[k]))return!1}else if(N[k]!==B[k])return!1;z[k]=!0}for(k in B)if(c.call(B,k)&&!z[k])return!1;return!0},a.preventInvalidHostname=function(E){return this._parts.preventInvalidHostname=!!E,this},a.duplicateQueryParameters=function(E){return this._parts.duplicateQueryParameters=!!E,this},a.escapeQuerySpace=function(E){return this._parts.escapeQuerySpace=!!E,this},r})});var Ane=kl((e9,t9)=>{/*! @license DOMPurify 3.1.5 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.1.5/LICENSE */(function(e,t){typeof e9=="object"&&typeof t9<"u"?t9.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.DOMPurify=t())})(e9,function(){"use strict";let{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:o}=Object,{freeze:r,seal:s,create:a}=Object,{apply:c,construct:u}=typeof Reflect<"u"&&Reflect;r||(r=function(ke){return ke}),s||(s=function(ke){return ke}),c||(c=function(ke,$e,Xe){return ke.apply($e,Xe)}),u||(u=function(ke,$e){return new ke(...$e)});let f=D(Array.prototype.forEach),d=D(Array.prototype.pop),p=D(Array.prototype.push),g=D(String.prototype.toLowerCase),m=D(String.prototype.toString),x=D(String.prototype.match),b=D(String.prototype.replace),T=D(String.prototype.indexOf),C=D(String.prototype.trim),A=D(Object.prototype.hasOwnProperty),S=D(RegExp.prototype.test),w=O(TypeError);function D(Le){return function(ke){for(var $e=arguments.length,Xe=new Array($e>1?$e-1:0),kt=1;kt<$e;kt++)Xe[kt-1]=arguments[kt];return c(Le,ke,Xe)}}function O(Le){return function(){for(var ke=arguments.length,$e=new Array(ke),Xe=0;Xe<ke;Xe++)$e[Xe]=arguments[Xe];return u(Le,$e)}}function R(Le,ke){let $e=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g;t&&t(Le,null);let Xe=ke.length;for(;Xe--;){let kt=ke[Xe];if(typeof kt=="string"){let Te=$e(kt);Te!==kt&&(n(ke)||(ke[Xe]=Te),kt=Te)}Le[kt]=!0}return Le}function M(Le){for(let ke=0;ke<Le.length;ke++)A(Le,ke)||(Le[ke]=null);return Le}function L(Le){let ke=a(null);for(let[$e,Xe]of e(Le))A(Le,$e)&&(Array.isArray(Xe)?ke[$e]=M(Xe):Xe&&typeof Xe=="object"&&Xe.constructor===Object?ke[$e]=L(Xe):ke[$e]=Xe);return ke}function _(Le,ke){for(;Le!==null;){let Xe=o(Le,ke);if(Xe){if(Xe.get)return D(Xe.get);if(typeof Xe.value=="function")return D(Xe.value)}Le=i(Le)}function $e(){return null}return $e}let E=r(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),v=r(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),I=r(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),N=r(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),B=r(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),z=r(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),V=r(["#text"]),G=r(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),k=r(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Y=r(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),W=r(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),J=s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),j=s(/<%[\w\W]*|[\w\W]*%>/gm),$=s(/\${[\w\W]*}/gm),Q=s(/^data-[\-\w.\u00B7-\uFFFF]/),he=s(/^aria-[\-\w]+$/),ye=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),re=s(/^(?:\w+script|data):/i),_e=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),xe=s(/^html$/i),De=s(/^[a-z][.\w]*(-[.\w]+)+$/i);var we=Object.freeze({__proto__:null,MUSTACHE_EXPR:J,ERB_EXPR:j,TMPLIT_EXPR:$,DATA_ATTR:Q,ARIA_ATTR:he,IS_ALLOWED_URI:ye,IS_SCRIPT_OR_DATA:re,ATTR_WHITESPACE:_e,DOCTYPE_NAME:xe,CUSTOM_ELEMENT:De});let Oe={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Me=function(){return typeof window>"u"?null:window},ht=function(ke,$e){if(typeof ke!="object"||typeof ke.createPolicy!="function")return null;let Xe=null,kt="data-tt-policy-suffix";$e&&$e.hasAttribute(kt)&&(Xe=$e.getAttribute(kt));let Te="dompurify"+(Xe?"#"+Xe:"");try{return ke.createPolicy(Te,{createHTML(Ce){return Ce},createScriptURL(Ce){return Ce}})}catch{return console.warn("TrustedTypes policy "+Te+" could not be created."),null}};function it(){let Le=arguments.length>0&&arguments[0]!==void 0?arguments[0]:Me(),ke=An=>it(An);if(ke.version="3.1.5",ke.removed=[],!Le||!Le.document||Le.document.nodeType!==Oe.document)return ke.isSupported=!1,ke;let{document:$e}=Le,Xe=$e,kt=Xe.currentScript,{DocumentFragment:Te,HTMLTemplateElement:Ce,Node:Zt,Element:Qt,NodeFilter:Xt,NamedNodeMap:ro=Le.NamedNodeMap||Le.MozNamedAttrMap,HTMLFormElement:Ke,DOMParser:$r,trustedTypes:tr}=Le,Ys=Qt.prototype,Ue=_(Ys,"cloneNode"),ut=_(Ys,"nextSibling"),ot=_(Ys,"childNodes"),Ze=_(Ys,"parentNode");if(typeof Ce=="function"){let An=$e.createElement("template");An.content&&An.content.ownerDocument&&($e=An.content.ownerDocument)}let Qe,Nt="",{implementation:gn,createNodeIterator:Hi,createDocumentFragment:so,getElementsByTagName:Zr}=$e,{importNode:nr}=Xe,go={};ke.isSupported=typeof e=="function"&&typeof Ze=="function"&&gn&&gn.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:Gi,ERB_EXPR:ds,TMPLIT_EXPR:Cr,DATA_ATTR:Fu,ARIA_ATTR:Do,IS_SCRIPT_OR_DATA:Ar,ATTR_WHITESPACE:Bu,CUSTOM_ELEMENT:gc}=we,{IS_ALLOWED_URI:uh}=we,zo=null,jm=R({},[...E,...v,...I,...B,...V]),ir=null,qm=R({},[...G,...k,...Y,...W]),Co=Object.seal(a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Zf=null,y0=null,I_=!0,hs=!0,ya=!1,Xs=!0,Is=!1,Kb=!0,ao=!1,Qf=!1,Jf=!1,Ym=!1,xa=!1,fh=!1,jP=!0,D$=!1,xAe="user-content-",NG=!0,NS=!1,$b={},Zb=null,I$=R({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),P$=null,R$=R({},["audio","video","img","source","image","track"]),FG=null,O$=R({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),qP="http://www.w3.org/1998/Math/MathML",YP="http://www.w3.org/2000/svg",Xm="http://www.w3.org/1999/xhtml",Qb=Xm,BG=!1,kG=null,bAe=R({},[qP,YP,Xm],m),FS=null,TAe=["application/xhtml+xml","text/html"],CAe="text/html",Ks=null,Jb=null,AAe=$e.createElement("form"),M$=function(Ae){return Ae instanceof RegExp||Ae instanceof Function},VG=function(){let Ae=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(Jb&&Jb===Ae)){if((!Ae||typeof Ae!="object")&&(Ae={}),Ae=L(Ae),FS=TAe.indexOf(Ae.PARSER_MEDIA_TYPE)===-1?CAe:Ae.PARSER_MEDIA_TYPE,Ks=FS==="application/xhtml+xml"?m:g,zo=A(Ae,"ALLOWED_TAGS")?R({},Ae.ALLOWED_TAGS,Ks):jm,ir=A(Ae,"ALLOWED_ATTR")?R({},Ae.ALLOWED_ATTR,Ks):qm,kG=A(Ae,"ALLOWED_NAMESPACES")?R({},Ae.ALLOWED_NAMESPACES,m):bAe,FG=A(Ae,"ADD_URI_SAFE_ATTR")?R(L(O$),Ae.ADD_URI_SAFE_ATTR,Ks):O$,P$=A(Ae,"ADD_DATA_URI_TAGS")?R(L(R$),Ae.ADD_DATA_URI_TAGS,Ks):R$,Zb=A(Ae,"FORBID_CONTENTS")?R({},Ae.FORBID_CONTENTS,Ks):I$,Zf=A(Ae,"FORBID_TAGS")?R({},Ae.FORBID_TAGS,Ks):{},y0=A(Ae,"FORBID_ATTR")?R({},Ae.FORBID_ATTR,Ks):{},$b=A(Ae,"USE_PROFILES")?Ae.USE_PROFILES:!1,I_=Ae.ALLOW_ARIA_ATTR!==!1,hs=Ae.ALLOW_DATA_ATTR!==!1,ya=Ae.ALLOW_UNKNOWN_PROTOCOLS||!1,Xs=Ae.ALLOW_SELF_CLOSE_IN_ATTR!==!1,Is=Ae.SAFE_FOR_TEMPLATES||!1,Kb=Ae.SAFE_FOR_XML!==!1,ao=Ae.WHOLE_DOCUMENT||!1,Ym=Ae.RETURN_DOM||!1,xa=Ae.RETURN_DOM_FRAGMENT||!1,fh=Ae.RETURN_TRUSTED_TYPE||!1,Jf=Ae.FORCE_BODY||!1,jP=Ae.SANITIZE_DOM!==!1,D$=Ae.SANITIZE_NAMED_PROPS||!1,NG=Ae.KEEP_CONTENT!==!1,NS=Ae.IN_PLACE||!1,uh=Ae.ALLOWED_URI_REGEXP||ye,Qb=Ae.NAMESPACE||Xm,Co=Ae.CUSTOM_ELEMENT_HANDLING||{},Ae.CUSTOM_ELEMENT_HANDLING&&M$(Ae.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Co.tagNameCheck=Ae.CUSTOM_ELEMENT_HANDLING.tagNameCheck),Ae.CUSTOM_ELEMENT_HANDLING&&M$(Ae.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Co.attributeNameCheck=Ae.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),Ae.CUSTOM_ELEMENT_HANDLING&&typeof Ae.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(Co.allowCustomizedBuiltInElements=Ae.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Is&&(hs=!1),xa&&(Ym=!0),$b&&(zo=R({},V),ir=[],$b.html===!0&&(R(zo,E),R(ir,G)),$b.svg===!0&&(R(zo,v),R(ir,k),R(ir,W)),$b.svgFilters===!0&&(R(zo,I),R(ir,k),R(ir,W)),$b.mathMl===!0&&(R(zo,B),R(ir,Y),R(ir,W))),Ae.ADD_TAGS&&(zo===jm&&(zo=L(zo)),R(zo,Ae.ADD_TAGS,Ks)),Ae.ADD_ATTR&&(ir===qm&&(ir=L(ir)),R(ir,Ae.ADD_ATTR,Ks)),Ae.ADD_URI_SAFE_ATTR&&R(FG,Ae.ADD_URI_SAFE_ATTR,Ks),Ae.FORBID_CONTENTS&&(Zb===I$&&(Zb=L(Zb)),R(Zb,Ae.FORBID_CONTENTS,Ks)),NG&&(zo["#text"]=!0),ao&&R(zo,["html","head","body"]),zo.table&&(R(zo,["tbody"]),delete Zf.tbody),Ae.TRUSTED_TYPES_POLICY){if(typeof Ae.TRUSTED_TYPES_POLICY.createHTML!="function")throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof Ae.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw w('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Qe=Ae.TRUSTED_TYPES_POLICY,Nt=Qe.createHTML("")}else Qe===void 0&&(Qe=ht(tr,kt)),Qe!==null&&typeof Nt=="string"&&(Nt=Qe.createHTML(""));r&&r(Ae),Jb=Ae}},L$=R({},["mi","mo","mn","ms","mtext"]),N$=R({},["foreignobject","annotation-xml"]),EAe=R({},["title","style","font","a","script"]),F$=R({},[...v,...I,...N]),B$=R({},[...B,...z]),SAe=function(Ae){let Rt=Ze(Ae);(!Rt||!Rt.tagName)&&(Rt={namespaceURI:Qb,tagName:"template"});let pn=g(Ae.tagName),Ho=g(Rt.tagName);return kG[Ae.namespaceURI]?Ae.namespaceURI===YP?Rt.namespaceURI===Xm?pn==="svg":Rt.namespaceURI===qP?pn==="svg"&&(Ho==="annotation-xml"||L$[Ho]):!!F$[pn]:Ae.namespaceURI===qP?Rt.namespaceURI===Xm?pn==="math":Rt.namespaceURI===YP?pn==="math"&&N$[Ho]:!!B$[pn]:Ae.namespaceURI===Xm?Rt.namespaceURI===YP&&!N$[Ho]||Rt.namespaceURI===qP&&!L$[Ho]?!1:!B$[pn]&&(EAe[pn]||!F$[pn]):!!(FS==="application/xhtml+xml"&&kG[Ae.namespaceURI]):!1},dh=function(Ae){p(ke.removed,{element:Ae});try{Ae.parentNode.removeChild(Ae)}catch{Ae.remove()}},XP=function(Ae,Rt){try{p(ke.removed,{attribute:Rt.getAttributeNode(Ae),from:Rt})}catch{p(ke.removed,{attribute:null,from:Rt})}if(Rt.removeAttribute(Ae),Ae==="is"&&!ir[Ae])if(Ym||xa)try{dh(Rt)}catch{}else try{Rt.setAttribute(Ae,"")}catch{}},k$=function(Ae){let Rt=null,pn=null;if(Jf)Ae="<remove></remove>"+Ae;else{let ba=x(Ae,/^[\r\n\t ]+/);pn=ba&&ba[0]}FS==="application/xhtml+xml"&&Qb===Xm&&(Ae='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+Ae+"</body></html>");let Ho=Qe?Qe.createHTML(Ae):Ae;if(Qb===Xm)try{Rt=new $r().parseFromString(Ho,FS)}catch{}if(!Rt||!Rt.documentElement){Rt=gn.createDocument(Qb,"template",null);try{Rt.documentElement.innerHTML=BG?Nt:Ho}catch{}}let ka=Rt.body||Rt.documentElement;return Ae&&pn&&ka.insertBefore($e.createTextNode(pn),ka.childNodes[0]||null),Qb===Xm?Zr.call(Rt,ao?"html":"body")[0]:ao?Rt.documentElement:ka},V$=function(Ae){return Hi.call(Ae.ownerDocument||Ae,Ae,Xt.SHOW_ELEMENT|Xt.SHOW_COMMENT|Xt.SHOW_TEXT|Xt.SHOW_PROCESSING_INSTRUCTION|Xt.SHOW_CDATA_SECTION,null)},U$=function(Ae){return Ae instanceof Ke&&(typeof Ae.nodeName!="string"||typeof Ae.textContent!="string"||typeof Ae.removeChild!="function"||!(Ae.attributes instanceof ro)||typeof Ae.removeAttribute!="function"||typeof Ae.setAttribute!="function"||typeof Ae.namespaceURI!="string"||typeof Ae.insertBefore!="function"||typeof Ae.hasChildNodes!="function")},z$=function(Ae){return typeof Zt=="function"&&Ae instanceof Zt},Km=function(Ae,Rt,pn){go[Ae]&&f(go[Ae],Ho=>{Ho.call(ke,Rt,pn,Jb)})},H$=function(Ae){let Rt=null;if(Km("beforeSanitizeElements",Ae,null),U$(Ae))return dh(Ae),!0;let pn=Ks(Ae.nodeName);if(Km("uponSanitizeElement",Ae,{tagName:pn,allowedTags:zo}),Ae.hasChildNodes()&&!z$(Ae.firstElementChild)&&S(/<[/\w]/g,Ae.innerHTML)&&S(/<[/\w]/g,Ae.textContent)||Ae.nodeType===Oe.progressingInstruction||Kb&&Ae.nodeType===Oe.comment&&S(/<[/\w]/g,Ae.data))return dh(Ae),!0;if(!zo[pn]||Zf[pn]){if(!Zf[pn]&&W$(pn)&&(Co.tagNameCheck instanceof RegExp&&S(Co.tagNameCheck,pn)||Co.tagNameCheck instanceof Function&&Co.tagNameCheck(pn)))return!1;if(NG&&!Zb[pn]){let Ho=Ze(Ae)||Ae.parentNode,ka=ot(Ae)||Ae.childNodes;if(ka&&Ho){let ba=ka.length;for(let tl=ba-1;tl>=0;--tl){let hh=Ue(ka[tl],!0);hh.__removalCount=(Ae.__removalCount||0)+1,Ho.insertBefore(hh,ut(Ae))}}}return dh(Ae),!0}return Ae instanceof Qt&&!SAe(Ae)||(pn==="noscript"||pn==="noembed"||pn==="noframes")&&S(/<\/no(script|embed|frames)/i,Ae.innerHTML)?(dh(Ae),!0):(Is&&Ae.nodeType===Oe.text&&(Rt=Ae.textContent,f([Gi,ds,Cr],Ho=>{Rt=b(Rt,Ho," ")}),Ae.textContent!==Rt&&(p(ke.removed,{element:Ae.cloneNode()}),Ae.textContent=Rt)),Km("afterSanitizeElements",Ae,null),!1)},G$=function(Ae,Rt,pn){if(jP&&(Rt==="id"||Rt==="name")&&(pn in $e||pn in AAe))return!1;if(!(hs&&!y0[Rt]&&S(Fu,Rt))){if(!(I_&&S(Do,Rt))){if(!ir[Rt]||y0[Rt]){if(!(W$(Ae)&&(Co.tagNameCheck instanceof RegExp&&S(Co.tagNameCheck,Ae)||Co.tagNameCheck instanceof Function&&Co.tagNameCheck(Ae))&&(Co.attributeNameCheck instanceof RegExp&&S(Co.attributeNameCheck,Rt)||Co.attributeNameCheck instanceof Function&&Co.attributeNameCheck(Rt))||Rt==="is"&&Co.allowCustomizedBuiltInElements&&(Co.tagNameCheck instanceof RegExp&&S(Co.tagNameCheck,pn)||Co.tagNameCheck instanceof Function&&Co.tagNameCheck(pn))))return!1}else if(!FG[Rt]){if(!S(uh,b(pn,Bu,""))){if(!((Rt==="src"||Rt==="xlink:href"||Rt==="href")&&Ae!=="script"&&T(pn,"data:")===0&&P$[Ae])){if(!(ya&&!S(Ar,b(pn,Bu,"")))){if(pn)return!1}}}}}}return!0},W$=function(Ae){return Ae!=="annotation-xml"&&x(Ae,gc)},j$=function(Ae){Km("beforeSanitizeAttributes",Ae,null);let{attributes:Rt}=Ae;if(!Rt)return;let pn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ir},Ho=Rt.length;for(;Ho--;){let ka=Rt[Ho],{name:ba,namespaceURI:tl,value:hh}=ka,BS=Ks(ba),yc=ba==="value"?hh:C(hh);if(pn.attrName=BS,pn.attrValue=yc,pn.keepAttr=!0,pn.forceKeepAttr=void 0,Km("uponSanitizeAttribute",Ae,pn),yc=pn.attrValue,pn.forceKeepAttr||(XP(ba,Ae),!pn.keepAttr))continue;if(!Xs&&S(/\/>/i,yc)){XP(ba,Ae);continue}if(Kb&&S(/((--!?|])>)|<\/(style|title)/i,yc)){XP(ba,Ae);continue}Is&&f([Gi,ds,Cr],Y$=>{yc=b(yc,Y$," ")});let q$=Ks(Ae.nodeName);if(G$(q$,BS,yc)){if(D$&&(BS==="id"||BS==="name")&&(XP(ba,Ae),yc=xAe+yc),Qe&&typeof tr=="object"&&typeof tr.getAttributeType=="function"&&!tl)switch(tr.getAttributeType(q$,BS)){case"TrustedHTML":{yc=Qe.createHTML(yc);break}case"TrustedScriptURL":{yc=Qe.createScriptURL(yc);break}}try{tl?Ae.setAttributeNS(tl,ba,yc):Ae.setAttribute(ba,yc),U$(Ae)?dh(Ae):d(ke.removed)}catch{}}}Km("afterSanitizeAttributes",Ae,null)},wAe=function An(Ae){let Rt=null,pn=V$(Ae);for(Km("beforeSanitizeShadowDOM",Ae,null);Rt=pn.nextNode();)Km("uponSanitizeShadowNode",Rt,null),!H$(Rt)&&(Rt.content instanceof Te&&An(Rt.content),j$(Rt));Km("afterSanitizeShadowDOM",Ae,null)};return ke.sanitize=function(An){let Ae=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Rt=null,pn=null,Ho=null,ka=null;if(BG=!An,BG&&(An="<!-->"),typeof An!="string"&&!z$(An))if(typeof An.toString=="function"){if(An=An.toString(),typeof An!="string")throw w("dirty is not a string, aborting")}else throw w("toString is not a function");if(!ke.isSupported)return An;if(Qf||VG(Ae),ke.removed=[],typeof An=="string"&&(NS=!1),NS){if(An.nodeName){let hh=Ks(An.nodeName);if(!zo[hh]||Zf[hh])throw w("root node is forbidden and cannot be sanitized in-place")}}else if(An instanceof Zt)Rt=k$("<!---->"),pn=Rt.ownerDocument.importNode(An,!0),pn.nodeType===Oe.element&&pn.nodeName==="BODY"||pn.nodeName==="HTML"?Rt=pn:Rt.appendChild(pn);else{if(!Ym&&!Is&&!ao&&An.indexOf("<")===-1)return Qe&&fh?Qe.createHTML(An):An;if(Rt=k$(An),!Rt)return Ym?null:fh?Nt:""}Rt&&Jf&&dh(Rt.firstChild);let ba=V$(NS?An:Rt);for(;Ho=ba.nextNode();)H$(Ho)||(Ho.content instanceof Te&&wAe(Ho.content),j$(Ho));if(NS)return An;if(Ym){if(xa)for(ka=so.call(Rt.ownerDocument);Rt.firstChild;)ka.appendChild(Rt.firstChild);else ka=Rt;return(ir.shadowroot||ir.shadowrootmode)&&(ka=nr.call(Xe,ka,!0)),ka}let tl=ao?Rt.outerHTML:Rt.innerHTML;return ao&&zo["!doctype"]&&Rt.ownerDocument&&Rt.ownerDocument.doctype&&Rt.ownerDocument.doctype.name&&S(xe,Rt.ownerDocument.doctype.name)&&(tl="<!DOCTYPE "+Rt.ownerDocument.doctype.name+`> -`+tl),Is&&f([Gi,ds,Cr],hh=>{tl=b(tl,hh," ")}),Qe&&fh?Qe.createHTML(tl):tl},ke.setConfig=function(){let An=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};VG(An),Qf=!0},ke.clearConfig=function(){Jb=null,Qf=!1},ke.isValidAttribute=function(An,Ae,Rt){Jb||VG({});let pn=Ks(An),Ho=Ks(Ae);return G$(pn,Ho,Rt)},ke.addHook=function(An,Ae){typeof Ae=="function"&&(go[An]=go[An]||[],p(go[An],Ae))},ke.removeHook=function(An){if(go[An])return d(go[An])},ke.removeHooks=function(An){go[An]&&(go[An]=[])},ke.removeAllHooks=function(){go={}},ke}var At=it();return At})});var yae=kl((ZAn,gae)=>{"use strict";gae.exports=j9e;var Nv=1e20;function j9e(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,u,f,d,p,g,m,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?f=t.stride:f=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,d=p.getContext("2d"),r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,d=e,r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,f=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(u=c,c=Array(r*s),m=0,x=Math.floor(u.length/f);m<x;m++)c[m]=u[m*f+o]/255;else if(f!==1)throw Error("Raw data can have only 1 value per pixel");var b=Array(r*s),T=Array(r*s),C=Array(a),A=Array(a),S=Array(a+1),w=Array(a);for(m=0,x=r*s;m<x;m++){var D=c[m];b[m]=D===1?0:D===0?Nv:Math.pow(Math.max(0,.5-D),2),T[m]=D===1?Nv:D===0?0:Math.pow(Math.max(0,D-.5),2)}pae(b,r,s,C,A,w,S),pae(T,r,s,C,A,w,S);var O=window.Float32Array?new Float32Array(r*s):new Array(r*s);for(m=0,x=r*s;m<x;m++)O[m]=Math.min(Math.max(1-((b[m]-T[m])/i+n),0),1);return O}function pae(e,t,n,i,o,r,s){for(var a=0;a<t;a++){for(var c=0;c<n;c++)i[c]=e[c*t+a];for(_ae(i,o,r,s,n),c=0;c<n;c++)e[c*t+a]=o[c]}for(c=0;c<n;c++){for(a=0;a<t;a++)i[a]=e[c*t+a];for(_ae(i,o,r,s,t),a=0;a<t;a++)e[c*t+a]=Math.sqrt(o[a])}}function _ae(e,t,n,i,o){n[0]=0,i[0]=-Nv,i[1]=+Nv;for(var r=1,s=0;r<o;r++){for(var a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);a<=i[s];)s--,a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);s++,n[s]=r,i[s]=a,i[s+1]=+Nv}for(r=0,s=0;r<o;r++){for(;i[s+1]<r;)s++;t[r]=(r-n[s])*(r-n[s])+e[n[s]]}}});var Aae=kl((mEn,hB)=>{function nWe(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,u=9,f=10,d=11,p=12,g=13,m=14,x=15,b=16,T=17,C=0,A=1,S=2,w=3,D=4;function O(_,E){return 55296<=_.charCodeAt(E)&&_.charCodeAt(E)<=56319&&56320<=_.charCodeAt(E+1)&&_.charCodeAt(E+1)<=57343}function R(_,E){E===void 0&&(E=0);var v=_.charCodeAt(E);if(55296<=v&&v<=56319&&E<_.length-1){var I=v,N=_.charCodeAt(E+1);return 56320<=N&&N<=57343?(I-55296)*1024+(N-56320)+65536:I}if(56320<=v&&v<=57343&&E>=1){var I=_.charCodeAt(E-1),N=v;return 55296<=I&&I<=56319?(I-55296)*1024+(N-56320)+65536:N}return v}function M(_,E,v){var I=[_].concat(E).concat([v]),N=I[I.length-2],B=v,z=I.lastIndexOf(m);if(z>1&&I.slice(1,z).every(function(k){return k==i})&&[i,g,T].indexOf(_)==-1)return S;var V=I.lastIndexOf(o);if(V>0&&I.slice(1,V).every(function(k){return k==o})&&[p,o].indexOf(N)==-1)return I.filter(function(k){return k==o}).length%2==1?w:D;if(N==e&&B==t)return C;if(N==n||N==e||N==t)return B==m&&E.every(function(k){return k==i})?S:A;if(B==n||B==e||B==t)return A;if(N==s&&(B==s||B==a||B==u||B==f))return C;if((N==u||N==a)&&(B==a||B==c))return C;if((N==f||N==c)&&B==c)return C;if(B==i||B==x)return C;if(B==r)return C;if(N==p)return C;var G=I.indexOf(i)!=-1?I.lastIndexOf(i)-1:I.length-2;return[g,T].indexOf(I[G])!=-1&&I.slice(G+1,-1).every(function(k){return k==i})&&B==m||N==x&&[b,T].indexOf(B)!=-1?C:E.indexOf(o)!=-1?S:N==o&&B==o?C:A}this.nextBreak=function(_,E){if(E===void 0&&(E=0),E<0)return 0;if(E>=_.length-1)return _.length;for(var v=L(R(_,E)),I=[],N=E+1;N<_.length;N++)if(!O(_,N-1)){var B=L(R(_,N));if(M(v,I,B))return N;I.push(B)}return _.length},this.splitGraphemes=function(_){for(var E=[],v=0,I;(I=this.nextBreak(_,v))<_.length;)E.push(_.slice(v,I)),v=I;return v<_.length&&E.push(_.slice(v)),E},this.iterateGraphemes=function(_){var E=0,v={next:function(){var I,N;return(N=this.nextBreak(_,E))<_.length?(I=_.slice(E,N),E=N,{value:I,done:!1}):E<_.length?(I=_.slice(E),E=_.length,{value:I,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(v[Symbol.iterator]=function(){return v}),v},this.countGraphemes=function(_){for(var E=0,v=0,I;(I=this.nextBreak(_,v))<_.length;)v=I,E++;return v<_.length&&E++,E};function L(_){return 1536<=_&&_<=1541||_==1757||_==1807||_==2274||_==3406||_==69821||70082<=_&&_<=70083||_==72250||72326<=_&&_<=72329||_==73030?p:_==13?e:_==10?t:0<=_&&_<=9||11<=_&&_<=12||14<=_&&_<=31||127<=_&&_<=159||_==173||_==1564||_==6158||_==8203||8206<=_&&_<=8207||_==8232||_==8233||8234<=_&&_<=8238||8288<=_&&_<=8292||_==8293||8294<=_&&_<=8303||55296<=_&&_<=57343||_==65279||65520<=_&&_<=65528||65529<=_&&_<=65531||113824<=_&&_<=113827||119155<=_&&_<=119162||_==917504||_==917505||917506<=_&&_<=917535||917632<=_&&_<=917759||918e3<=_&&_<=921599?n:768<=_&&_<=879||1155<=_&&_<=1159||1160<=_&&_<=1161||1425<=_&&_<=1469||_==1471||1473<=_&&_<=1474||1476<=_&&_<=1477||_==1479||1552<=_&&_<=1562||1611<=_&&_<=1631||_==1648||1750<=_&&_<=1756||1759<=_&&_<=1764||1767<=_&&_<=1768||1770<=_&&_<=1773||_==1809||1840<=_&&_<=1866||1958<=_&&_<=1968||2027<=_&&_<=2035||2070<=_&&_<=2073||2075<=_&&_<=2083||2085<=_&&_<=2087||2089<=_&&_<=2093||2137<=_&&_<=2139||2260<=_&&_<=2273||2275<=_&&_<=2306||_==2362||_==2364||2369<=_&&_<=2376||_==2381||2385<=_&&_<=2391||2402<=_&&_<=2403||_==2433||_==2492||_==2494||2497<=_&&_<=2500||_==2509||_==2519||2530<=_&&_<=2531||2561<=_&&_<=2562||_==2620||2625<=_&&_<=2626||2631<=_&&_<=2632||2635<=_&&_<=2637||_==2641||2672<=_&&_<=2673||_==2677||2689<=_&&_<=2690||_==2748||2753<=_&&_<=2757||2759<=_&&_<=2760||_==2765||2786<=_&&_<=2787||2810<=_&&_<=2815||_==2817||_==2876||_==2878||_==2879||2881<=_&&_<=2884||_==2893||_==2902||_==2903||2914<=_&&_<=2915||_==2946||_==3006||_==3008||_==3021||_==3031||_==3072||3134<=_&&_<=3136||3142<=_&&_<=3144||3146<=_&&_<=3149||3157<=_&&_<=3158||3170<=_&&_<=3171||_==3201||_==3260||_==3263||_==3266||_==3270||3276<=_&&_<=3277||3285<=_&&_<=3286||3298<=_&&_<=3299||3328<=_&&_<=3329||3387<=_&&_<=3388||_==3390||3393<=_&&_<=3396||_==3405||_==3415||3426<=_&&_<=3427||_==3530||_==3535||3538<=_&&_<=3540||_==3542||_==3551||_==3633||3636<=_&&_<=3642||3655<=_&&_<=3662||_==3761||3764<=_&&_<=3769||3771<=_&&_<=3772||3784<=_&&_<=3789||3864<=_&&_<=3865||_==3893||_==3895||_==3897||3953<=_&&_<=3966||3968<=_&&_<=3972||3974<=_&&_<=3975||3981<=_&&_<=3991||3993<=_&&_<=4028||_==4038||4141<=_&&_<=4144||4146<=_&&_<=4151||4153<=_&&_<=4154||4157<=_&&_<=4158||4184<=_&&_<=4185||4190<=_&&_<=4192||4209<=_&&_<=4212||_==4226||4229<=_&&_<=4230||_==4237||_==4253||4957<=_&&_<=4959||5906<=_&&_<=5908||5938<=_&&_<=5940||5970<=_&&_<=5971||6002<=_&&_<=6003||6068<=_&&_<=6069||6071<=_&&_<=6077||_==6086||6089<=_&&_<=6099||_==6109||6155<=_&&_<=6157||6277<=_&&_<=6278||_==6313||6432<=_&&_<=6434||6439<=_&&_<=6440||_==6450||6457<=_&&_<=6459||6679<=_&&_<=6680||_==6683||_==6742||6744<=_&&_<=6750||_==6752||_==6754||6757<=_&&_<=6764||6771<=_&&_<=6780||_==6783||6832<=_&&_<=6845||_==6846||6912<=_&&_<=6915||_==6964||6966<=_&&_<=6970||_==6972||_==6978||7019<=_&&_<=7027||7040<=_&&_<=7041||7074<=_&&_<=7077||7080<=_&&_<=7081||7083<=_&&_<=7085||_==7142||7144<=_&&_<=7145||_==7149||7151<=_&&_<=7153||7212<=_&&_<=7219||7222<=_&&_<=7223||7376<=_&&_<=7378||7380<=_&&_<=7392||7394<=_&&_<=7400||_==7405||_==7412||7416<=_&&_<=7417||7616<=_&&_<=7673||7675<=_&&_<=7679||_==8204||8400<=_&&_<=8412||8413<=_&&_<=8416||_==8417||8418<=_&&_<=8420||8421<=_&&_<=8432||11503<=_&&_<=11505||_==11647||11744<=_&&_<=11775||12330<=_&&_<=12333||12334<=_&&_<=12335||12441<=_&&_<=12442||_==42607||42608<=_&&_<=42610||42612<=_&&_<=42621||42654<=_&&_<=42655||42736<=_&&_<=42737||_==43010||_==43014||_==43019||43045<=_&&_<=43046||43204<=_&&_<=43205||43232<=_&&_<=43249||43302<=_&&_<=43309||43335<=_&&_<=43345||43392<=_&&_<=43394||_==43443||43446<=_&&_<=43449||_==43452||_==43493||43561<=_&&_<=43566||43569<=_&&_<=43570||43573<=_&&_<=43574||_==43587||_==43596||_==43644||_==43696||43698<=_&&_<=43700||43703<=_&&_<=43704||43710<=_&&_<=43711||_==43713||43756<=_&&_<=43757||_==43766||_==44005||_==44008||_==44013||_==64286||65024<=_&&_<=65039||65056<=_&&_<=65071||65438<=_&&_<=65439||_==66045||_==66272||66422<=_&&_<=66426||68097<=_&&_<=68099||68101<=_&&_<=68102||68108<=_&&_<=68111||68152<=_&&_<=68154||_==68159||68325<=_&&_<=68326||_==69633||69688<=_&&_<=69702||69759<=_&&_<=69761||69811<=_&&_<=69814||69817<=_&&_<=69818||69888<=_&&_<=69890||69927<=_&&_<=69931||69933<=_&&_<=69940||_==70003||70016<=_&&_<=70017||70070<=_&&_<=70078||70090<=_&&_<=70092||70191<=_&&_<=70193||_==70196||70198<=_&&_<=70199||_==70206||_==70367||70371<=_&&_<=70378||70400<=_&&_<=70401||_==70460||_==70462||_==70464||_==70487||70502<=_&&_<=70508||70512<=_&&_<=70516||70712<=_&&_<=70719||70722<=_&&_<=70724||_==70726||_==70832||70835<=_&&_<=70840||_==70842||_==70845||70847<=_&&_<=70848||70850<=_&&_<=70851||_==71087||71090<=_&&_<=71093||71100<=_&&_<=71101||71103<=_&&_<=71104||71132<=_&&_<=71133||71219<=_&&_<=71226||_==71229||71231<=_&&_<=71232||_==71339||_==71341||71344<=_&&_<=71349||_==71351||71453<=_&&_<=71455||71458<=_&&_<=71461||71463<=_&&_<=71467||72193<=_&&_<=72198||72201<=_&&_<=72202||72243<=_&&_<=72248||72251<=_&&_<=72254||_==72263||72273<=_&&_<=72278||72281<=_&&_<=72283||72330<=_&&_<=72342||72344<=_&&_<=72345||72752<=_&&_<=72758||72760<=_&&_<=72765||_==72767||72850<=_&&_<=72871||72874<=_&&_<=72880||72882<=_&&_<=72883||72885<=_&&_<=72886||73009<=_&&_<=73014||_==73018||73020<=_&&_<=73021||73023<=_&&_<=73029||_==73031||92912<=_&&_<=92916||92976<=_&&_<=92982||94095<=_&&_<=94098||113821<=_&&_<=113822||_==119141||119143<=_&&_<=119145||119150<=_&&_<=119154||119163<=_&&_<=119170||119173<=_&&_<=119179||119210<=_&&_<=119213||119362<=_&&_<=119364||121344<=_&&_<=121398||121403<=_&&_<=121452||_==121461||_==121476||121499<=_&&_<=121503||121505<=_&&_<=121519||122880<=_&&_<=122886||122888<=_&&_<=122904||122907<=_&&_<=122913||122915<=_&&_<=122916||122918<=_&&_<=122922||125136<=_&&_<=125142||125252<=_&&_<=125258||917536<=_&&_<=917631||917760<=_&&_<=917999?i:127462<=_&&_<=127487?o:_==2307||_==2363||2366<=_&&_<=2368||2377<=_&&_<=2380||2382<=_&&_<=2383||2434<=_&&_<=2435||2495<=_&&_<=2496||2503<=_&&_<=2504||2507<=_&&_<=2508||_==2563||2622<=_&&_<=2624||_==2691||2750<=_&&_<=2752||_==2761||2763<=_&&_<=2764||2818<=_&&_<=2819||_==2880||2887<=_&&_<=2888||2891<=_&&_<=2892||_==3007||3009<=_&&_<=3010||3014<=_&&_<=3016||3018<=_&&_<=3020||3073<=_&&_<=3075||3137<=_&&_<=3140||3202<=_&&_<=3203||_==3262||3264<=_&&_<=3265||3267<=_&&_<=3268||3271<=_&&_<=3272||3274<=_&&_<=3275||3330<=_&&_<=3331||3391<=_&&_<=3392||3398<=_&&_<=3400||3402<=_&&_<=3404||3458<=_&&_<=3459||3536<=_&&_<=3537||3544<=_&&_<=3550||3570<=_&&_<=3571||_==3635||_==3763||3902<=_&&_<=3903||_==3967||_==4145||4155<=_&&_<=4156||4182<=_&&_<=4183||_==4228||_==6070||6078<=_&&_<=6085||6087<=_&&_<=6088||6435<=_&&_<=6438||6441<=_&&_<=6443||6448<=_&&_<=6449||6451<=_&&_<=6456||6681<=_&&_<=6682||_==6741||_==6743||6765<=_&&_<=6770||_==6916||_==6965||_==6971||6973<=_&&_<=6977||6979<=_&&_<=6980||_==7042||_==7073||7078<=_&&_<=7079||_==7082||_==7143||7146<=_&&_<=7148||_==7150||7154<=_&&_<=7155||7204<=_&&_<=7211||7220<=_&&_<=7221||_==7393||7410<=_&&_<=7411||_==7415||43043<=_&&_<=43044||_==43047||43136<=_&&_<=43137||43188<=_&&_<=43203||43346<=_&&_<=43347||_==43395||43444<=_&&_<=43445||43450<=_&&_<=43451||43453<=_&&_<=43456||43567<=_&&_<=43568||43571<=_&&_<=43572||_==43597||_==43755||43758<=_&&_<=43759||_==43765||44003<=_&&_<=44004||44006<=_&&_<=44007||44009<=_&&_<=44010||_==44012||_==69632||_==69634||_==69762||69808<=_&&_<=69810||69815<=_&&_<=69816||_==69932||_==70018||70067<=_&&_<=70069||70079<=_&&_<=70080||70188<=_&&_<=70190||70194<=_&&_<=70195||_==70197||70368<=_&&_<=70370||70402<=_&&_<=70403||_==70463||70465<=_&&_<=70468||70471<=_&&_<=70472||70475<=_&&_<=70477||70498<=_&&_<=70499||70709<=_&&_<=70711||70720<=_&&_<=70721||_==70725||70833<=_&&_<=70834||_==70841||70843<=_&&_<=70844||_==70846||_==70849||71088<=_&&_<=71089||71096<=_&&_<=71099||_==71102||71216<=_&&_<=71218||71227<=_&&_<=71228||_==71230||_==71340||71342<=_&&_<=71343||_==71350||71456<=_&&_<=71457||_==71462||72199<=_&&_<=72200||_==72249||72279<=_&&_<=72280||_==72343||_==72751||_==72766||_==72873||_==72881||_==72884||94033<=_&&_<=94078||_==119142||_==119149?r:4352<=_&&_<=4447||43360<=_&&_<=43388?s:4448<=_&&_<=4519||55216<=_&&_<=55238?a:4520<=_&&_<=4607||55243<=_&&_<=55291?c:_==44032||_==44060||_==44088||_==44116||_==44144||_==44172||_==44200||_==44228||_==44256||_==44284||_==44312||_==44340||_==44368||_==44396||_==44424||_==44452||_==44480||_==44508||_==44536||_==44564||_==44592||_==44620||_==44648||_==44676||_==44704||_==44732||_==44760||_==44788||_==44816||_==44844||_==44872||_==44900||_==44928||_==44956||_==44984||_==45012||_==45040||_==45068||_==45096||_==45124||_==45152||_==45180||_==45208||_==45236||_==45264||_==45292||_==45320||_==45348||_==45376||_==45404||_==45432||_==45460||_==45488||_==45516||_==45544||_==45572||_==45600||_==45628||_==45656||_==45684||_==45712||_==45740||_==45768||_==45796||_==45824||_==45852||_==45880||_==45908||_==45936||_==45964||_==45992||_==46020||_==46048||_==46076||_==46104||_==46132||_==46160||_==46188||_==46216||_==46244||_==46272||_==46300||_==46328||_==46356||_==46384||_==46412||_==46440||_==46468||_==46496||_==46524||_==46552||_==46580||_==46608||_==46636||_==46664||_==46692||_==46720||_==46748||_==46776||_==46804||_==46832||_==46860||_==46888||_==46916||_==46944||_==46972||_==47e3||_==47028||_==47056||_==47084||_==47112||_==47140||_==47168||_==47196||_==47224||_==47252||_==47280||_==47308||_==47336||_==47364||_==47392||_==47420||_==47448||_==47476||_==47504||_==47532||_==47560||_==47588||_==47616||_==47644||_==47672||_==47700||_==47728||_==47756||_==47784||_==47812||_==47840||_==47868||_==47896||_==47924||_==47952||_==47980||_==48008||_==48036||_==48064||_==48092||_==48120||_==48148||_==48176||_==48204||_==48232||_==48260||_==48288||_==48316||_==48344||_==48372||_==48400||_==48428||_==48456||_==48484||_==48512||_==48540||_==48568||_==48596||_==48624||_==48652||_==48680||_==48708||_==48736||_==48764||_==48792||_==48820||_==48848||_==48876||_==48904||_==48932||_==48960||_==48988||_==49016||_==49044||_==49072||_==49100||_==49128||_==49156||_==49184||_==49212||_==49240||_==49268||_==49296||_==49324||_==49352||_==49380||_==49408||_==49436||_==49464||_==49492||_==49520||_==49548||_==49576||_==49604||_==49632||_==49660||_==49688||_==49716||_==49744||_==49772||_==49800||_==49828||_==49856||_==49884||_==49912||_==49940||_==49968||_==49996||_==50024||_==50052||_==50080||_==50108||_==50136||_==50164||_==50192||_==50220||_==50248||_==50276||_==50304||_==50332||_==50360||_==50388||_==50416||_==50444||_==50472||_==50500||_==50528||_==50556||_==50584||_==50612||_==50640||_==50668||_==50696||_==50724||_==50752||_==50780||_==50808||_==50836||_==50864||_==50892||_==50920||_==50948||_==50976||_==51004||_==51032||_==51060||_==51088||_==51116||_==51144||_==51172||_==51200||_==51228||_==51256||_==51284||_==51312||_==51340||_==51368||_==51396||_==51424||_==51452||_==51480||_==51508||_==51536||_==51564||_==51592||_==51620||_==51648||_==51676||_==51704||_==51732||_==51760||_==51788||_==51816||_==51844||_==51872||_==51900||_==51928||_==51956||_==51984||_==52012||_==52040||_==52068||_==52096||_==52124||_==52152||_==52180||_==52208||_==52236||_==52264||_==52292||_==52320||_==52348||_==52376||_==52404||_==52432||_==52460||_==52488||_==52516||_==52544||_==52572||_==52600||_==52628||_==52656||_==52684||_==52712||_==52740||_==52768||_==52796||_==52824||_==52852||_==52880||_==52908||_==52936||_==52964||_==52992||_==53020||_==53048||_==53076||_==53104||_==53132||_==53160||_==53188||_==53216||_==53244||_==53272||_==53300||_==53328||_==53356||_==53384||_==53412||_==53440||_==53468||_==53496||_==53524||_==53552||_==53580||_==53608||_==53636||_==53664||_==53692||_==53720||_==53748||_==53776||_==53804||_==53832||_==53860||_==53888||_==53916||_==53944||_==53972||_==54e3||_==54028||_==54056||_==54084||_==54112||_==54140||_==54168||_==54196||_==54224||_==54252||_==54280||_==54308||_==54336||_==54364||_==54392||_==54420||_==54448||_==54476||_==54504||_==54532||_==54560||_==54588||_==54616||_==54644||_==54672||_==54700||_==54728||_==54756||_==54784||_==54812||_==54840||_==54868||_==54896||_==54924||_==54952||_==54980||_==55008||_==55036||_==55064||_==55092||_==55120||_==55148||_==55176?u:44033<=_&&_<=44059||44061<=_&&_<=44087||44089<=_&&_<=44115||44117<=_&&_<=44143||44145<=_&&_<=44171||44173<=_&&_<=44199||44201<=_&&_<=44227||44229<=_&&_<=44255||44257<=_&&_<=44283||44285<=_&&_<=44311||44313<=_&&_<=44339||44341<=_&&_<=44367||44369<=_&&_<=44395||44397<=_&&_<=44423||44425<=_&&_<=44451||44453<=_&&_<=44479||44481<=_&&_<=44507||44509<=_&&_<=44535||44537<=_&&_<=44563||44565<=_&&_<=44591||44593<=_&&_<=44619||44621<=_&&_<=44647||44649<=_&&_<=44675||44677<=_&&_<=44703||44705<=_&&_<=44731||44733<=_&&_<=44759||44761<=_&&_<=44787||44789<=_&&_<=44815||44817<=_&&_<=44843||44845<=_&&_<=44871||44873<=_&&_<=44899||44901<=_&&_<=44927||44929<=_&&_<=44955||44957<=_&&_<=44983||44985<=_&&_<=45011||45013<=_&&_<=45039||45041<=_&&_<=45067||45069<=_&&_<=45095||45097<=_&&_<=45123||45125<=_&&_<=45151||45153<=_&&_<=45179||45181<=_&&_<=45207||45209<=_&&_<=45235||45237<=_&&_<=45263||45265<=_&&_<=45291||45293<=_&&_<=45319||45321<=_&&_<=45347||45349<=_&&_<=45375||45377<=_&&_<=45403||45405<=_&&_<=45431||45433<=_&&_<=45459||45461<=_&&_<=45487||45489<=_&&_<=45515||45517<=_&&_<=45543||45545<=_&&_<=45571||45573<=_&&_<=45599||45601<=_&&_<=45627||45629<=_&&_<=45655||45657<=_&&_<=45683||45685<=_&&_<=45711||45713<=_&&_<=45739||45741<=_&&_<=45767||45769<=_&&_<=45795||45797<=_&&_<=45823||45825<=_&&_<=45851||45853<=_&&_<=45879||45881<=_&&_<=45907||45909<=_&&_<=45935||45937<=_&&_<=45963||45965<=_&&_<=45991||45993<=_&&_<=46019||46021<=_&&_<=46047||46049<=_&&_<=46075||46077<=_&&_<=46103||46105<=_&&_<=46131||46133<=_&&_<=46159||46161<=_&&_<=46187||46189<=_&&_<=46215||46217<=_&&_<=46243||46245<=_&&_<=46271||46273<=_&&_<=46299||46301<=_&&_<=46327||46329<=_&&_<=46355||46357<=_&&_<=46383||46385<=_&&_<=46411||46413<=_&&_<=46439||46441<=_&&_<=46467||46469<=_&&_<=46495||46497<=_&&_<=46523||46525<=_&&_<=46551||46553<=_&&_<=46579||46581<=_&&_<=46607||46609<=_&&_<=46635||46637<=_&&_<=46663||46665<=_&&_<=46691||46693<=_&&_<=46719||46721<=_&&_<=46747||46749<=_&&_<=46775||46777<=_&&_<=46803||46805<=_&&_<=46831||46833<=_&&_<=46859||46861<=_&&_<=46887||46889<=_&&_<=46915||46917<=_&&_<=46943||46945<=_&&_<=46971||46973<=_&&_<=46999||47001<=_&&_<=47027||47029<=_&&_<=47055||47057<=_&&_<=47083||47085<=_&&_<=47111||47113<=_&&_<=47139||47141<=_&&_<=47167||47169<=_&&_<=47195||47197<=_&&_<=47223||47225<=_&&_<=47251||47253<=_&&_<=47279||47281<=_&&_<=47307||47309<=_&&_<=47335||47337<=_&&_<=47363||47365<=_&&_<=47391||47393<=_&&_<=47419||47421<=_&&_<=47447||47449<=_&&_<=47475||47477<=_&&_<=47503||47505<=_&&_<=47531||47533<=_&&_<=47559||47561<=_&&_<=47587||47589<=_&&_<=47615||47617<=_&&_<=47643||47645<=_&&_<=47671||47673<=_&&_<=47699||47701<=_&&_<=47727||47729<=_&&_<=47755||47757<=_&&_<=47783||47785<=_&&_<=47811||47813<=_&&_<=47839||47841<=_&&_<=47867||47869<=_&&_<=47895||47897<=_&&_<=47923||47925<=_&&_<=47951||47953<=_&&_<=47979||47981<=_&&_<=48007||48009<=_&&_<=48035||48037<=_&&_<=48063||48065<=_&&_<=48091||48093<=_&&_<=48119||48121<=_&&_<=48147||48149<=_&&_<=48175||48177<=_&&_<=48203||48205<=_&&_<=48231||48233<=_&&_<=48259||48261<=_&&_<=48287||48289<=_&&_<=48315||48317<=_&&_<=48343||48345<=_&&_<=48371||48373<=_&&_<=48399||48401<=_&&_<=48427||48429<=_&&_<=48455||48457<=_&&_<=48483||48485<=_&&_<=48511||48513<=_&&_<=48539||48541<=_&&_<=48567||48569<=_&&_<=48595||48597<=_&&_<=48623||48625<=_&&_<=48651||48653<=_&&_<=48679||48681<=_&&_<=48707||48709<=_&&_<=48735||48737<=_&&_<=48763||48765<=_&&_<=48791||48793<=_&&_<=48819||48821<=_&&_<=48847||48849<=_&&_<=48875||48877<=_&&_<=48903||48905<=_&&_<=48931||48933<=_&&_<=48959||48961<=_&&_<=48987||48989<=_&&_<=49015||49017<=_&&_<=49043||49045<=_&&_<=49071||49073<=_&&_<=49099||49101<=_&&_<=49127||49129<=_&&_<=49155||49157<=_&&_<=49183||49185<=_&&_<=49211||49213<=_&&_<=49239||49241<=_&&_<=49267||49269<=_&&_<=49295||49297<=_&&_<=49323||49325<=_&&_<=49351||49353<=_&&_<=49379||49381<=_&&_<=49407||49409<=_&&_<=49435||49437<=_&&_<=49463||49465<=_&&_<=49491||49493<=_&&_<=49519||49521<=_&&_<=49547||49549<=_&&_<=49575||49577<=_&&_<=49603||49605<=_&&_<=49631||49633<=_&&_<=49659||49661<=_&&_<=49687||49689<=_&&_<=49715||49717<=_&&_<=49743||49745<=_&&_<=49771||49773<=_&&_<=49799||49801<=_&&_<=49827||49829<=_&&_<=49855||49857<=_&&_<=49883||49885<=_&&_<=49911||49913<=_&&_<=49939||49941<=_&&_<=49967||49969<=_&&_<=49995||49997<=_&&_<=50023||50025<=_&&_<=50051||50053<=_&&_<=50079||50081<=_&&_<=50107||50109<=_&&_<=50135||50137<=_&&_<=50163||50165<=_&&_<=50191||50193<=_&&_<=50219||50221<=_&&_<=50247||50249<=_&&_<=50275||50277<=_&&_<=50303||50305<=_&&_<=50331||50333<=_&&_<=50359||50361<=_&&_<=50387||50389<=_&&_<=50415||50417<=_&&_<=50443||50445<=_&&_<=50471||50473<=_&&_<=50499||50501<=_&&_<=50527||50529<=_&&_<=50555||50557<=_&&_<=50583||50585<=_&&_<=50611||50613<=_&&_<=50639||50641<=_&&_<=50667||50669<=_&&_<=50695||50697<=_&&_<=50723||50725<=_&&_<=50751||50753<=_&&_<=50779||50781<=_&&_<=50807||50809<=_&&_<=50835||50837<=_&&_<=50863||50865<=_&&_<=50891||50893<=_&&_<=50919||50921<=_&&_<=50947||50949<=_&&_<=50975||50977<=_&&_<=51003||51005<=_&&_<=51031||51033<=_&&_<=51059||51061<=_&&_<=51087||51089<=_&&_<=51115||51117<=_&&_<=51143||51145<=_&&_<=51171||51173<=_&&_<=51199||51201<=_&&_<=51227||51229<=_&&_<=51255||51257<=_&&_<=51283||51285<=_&&_<=51311||51313<=_&&_<=51339||51341<=_&&_<=51367||51369<=_&&_<=51395||51397<=_&&_<=51423||51425<=_&&_<=51451||51453<=_&&_<=51479||51481<=_&&_<=51507||51509<=_&&_<=51535||51537<=_&&_<=51563||51565<=_&&_<=51591||51593<=_&&_<=51619||51621<=_&&_<=51647||51649<=_&&_<=51675||51677<=_&&_<=51703||51705<=_&&_<=51731||51733<=_&&_<=51759||51761<=_&&_<=51787||51789<=_&&_<=51815||51817<=_&&_<=51843||51845<=_&&_<=51871||51873<=_&&_<=51899||51901<=_&&_<=51927||51929<=_&&_<=51955||51957<=_&&_<=51983||51985<=_&&_<=52011||52013<=_&&_<=52039||52041<=_&&_<=52067||52069<=_&&_<=52095||52097<=_&&_<=52123||52125<=_&&_<=52151||52153<=_&&_<=52179||52181<=_&&_<=52207||52209<=_&&_<=52235||52237<=_&&_<=52263||52265<=_&&_<=52291||52293<=_&&_<=52319||52321<=_&&_<=52347||52349<=_&&_<=52375||52377<=_&&_<=52403||52405<=_&&_<=52431||52433<=_&&_<=52459||52461<=_&&_<=52487||52489<=_&&_<=52515||52517<=_&&_<=52543||52545<=_&&_<=52571||52573<=_&&_<=52599||52601<=_&&_<=52627||52629<=_&&_<=52655||52657<=_&&_<=52683||52685<=_&&_<=52711||52713<=_&&_<=52739||52741<=_&&_<=52767||52769<=_&&_<=52795||52797<=_&&_<=52823||52825<=_&&_<=52851||52853<=_&&_<=52879||52881<=_&&_<=52907||52909<=_&&_<=52935||52937<=_&&_<=52963||52965<=_&&_<=52991||52993<=_&&_<=53019||53021<=_&&_<=53047||53049<=_&&_<=53075||53077<=_&&_<=53103||53105<=_&&_<=53131||53133<=_&&_<=53159||53161<=_&&_<=53187||53189<=_&&_<=53215||53217<=_&&_<=53243||53245<=_&&_<=53271||53273<=_&&_<=53299||53301<=_&&_<=53327||53329<=_&&_<=53355||53357<=_&&_<=53383||53385<=_&&_<=53411||53413<=_&&_<=53439||53441<=_&&_<=53467||53469<=_&&_<=53495||53497<=_&&_<=53523||53525<=_&&_<=53551||53553<=_&&_<=53579||53581<=_&&_<=53607||53609<=_&&_<=53635||53637<=_&&_<=53663||53665<=_&&_<=53691||53693<=_&&_<=53719||53721<=_&&_<=53747||53749<=_&&_<=53775||53777<=_&&_<=53803||53805<=_&&_<=53831||53833<=_&&_<=53859||53861<=_&&_<=53887||53889<=_&&_<=53915||53917<=_&&_<=53943||53945<=_&&_<=53971||53973<=_&&_<=53999||54001<=_&&_<=54027||54029<=_&&_<=54055||54057<=_&&_<=54083||54085<=_&&_<=54111||54113<=_&&_<=54139||54141<=_&&_<=54167||54169<=_&&_<=54195||54197<=_&&_<=54223||54225<=_&&_<=54251||54253<=_&&_<=54279||54281<=_&&_<=54307||54309<=_&&_<=54335||54337<=_&&_<=54363||54365<=_&&_<=54391||54393<=_&&_<=54419||54421<=_&&_<=54447||54449<=_&&_<=54475||54477<=_&&_<=54503||54505<=_&&_<=54531||54533<=_&&_<=54559||54561<=_&&_<=54587||54589<=_&&_<=54615||54617<=_&&_<=54643||54645<=_&&_<=54671||54673<=_&&_<=54699||54701<=_&&_<=54727||54729<=_&&_<=54755||54757<=_&&_<=54783||54785<=_&&_<=54811||54813<=_&&_<=54839||54841<=_&&_<=54867||54869<=_&&_<=54895||54897<=_&&_<=54923||54925<=_&&_<=54951||54953<=_&&_<=54979||54981<=_&&_<=55007||55009<=_&&_<=55035||55037<=_&&_<=55063||55065<=_&&_<=55091||55093<=_&&_<=55119||55121<=_&&_<=55147||55149<=_&&_<=55175||55177<=_&&_<=55203?f:_==9757||_==9977||9994<=_&&_<=9997||_==127877||127938<=_&&_<=127940||_==127943||127946<=_&&_<=127948||128066<=_&&_<=128067||128070<=_&&_<=128080||_==128110||128112<=_&&_<=128120||_==128124||128129<=_&&_<=128131||128133<=_&&_<=128135||_==128170||128372<=_&&_<=128373||_==128378||_==128400||128405<=_&&_<=128406||128581<=_&&_<=128583||128587<=_&&_<=128591||_==128675||128692<=_&&_<=128694||_==128704||_==128716||129304<=_&&_<=129308||129310<=_&&_<=129311||_==129318||129328<=_&&_<=129337||129341<=_&&_<=129342||129489<=_&&_<=129501?g:127995<=_&&_<=127999?m:_==8205?x:_==9792||_==9794||9877<=_&&_<=9878||_==9992||_==10084||_==127752||_==127806||_==127859||_==127891||_==127908||_==127912||_==127979||_==127981||_==128139||128187<=_&&_<=128188||_==128295||_==128300||_==128488||_==128640||_==128658?b:128102<=_&&_<=128105?T:d}return this}typeof hB<"u"&&hB.exports&&(hB.exports=nWe)});var cde=kl((b7,T7)=>{(function(e,t){typeof b7=="object"&&typeof T7<"u"?T7.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self).RBush=t()})(b7,function(){"use strict";function e(b,T,C,A,S){(function w(D,O,R,M,L){for(;M>R;){if(M-R>600){var _=M-R+1,E=O-R+1,v=Math.log(_),I=.5*Math.exp(2*v/3),N=.5*Math.sqrt(v*I*(_-I)/_)*(E-_/2<0?-1:1),B=Math.max(R,Math.floor(O-E*I/_+N)),z=Math.min(M,Math.floor(O+(_-E)*I/_+N));w(D,O,B,z,L)}var V=D[O],G=R,k=M;for(t(D,R,O),L(D[M],V)>0&&t(D,R,M);G<k;){for(t(D,G,k),G++,k--;L(D[G],V)<0;)G++;for(;L(D[k],V)>0;)k--}L(D[R],V)===0?t(D,R,k):t(D,++k,M),k<=O&&(R=k+1),O<=k&&(M=k-1)}})(b,T,C||0,A||b.length-1,S||n)}function t(b,T,C){var A=b[T];b[T]=b[C],b[C]=A}function n(b,T){return b<T?-1:b>T?1:0}var i=function(b){b===void 0&&(b=9),this._maxEntries=Math.max(4,b),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(b,T,C){if(!C)return T.indexOf(b);for(var A=0;A<T.length;A++)if(C(b,T[A]))return A;return-1}function r(b,T){s(b,0,b.children.length,T,b)}function s(b,T,C,A,S){S||(S=m(null)),S.minX=1/0,S.minY=1/0,S.maxX=-1/0,S.maxY=-1/0;for(var w=T;w<C;w++){var D=b.children[w];a(S,b.leaf?A(D):D)}return S}function a(b,T){return b.minX=Math.min(b.minX,T.minX),b.minY=Math.min(b.minY,T.minY),b.maxX=Math.max(b.maxX,T.maxX),b.maxY=Math.max(b.maxY,T.maxY),b}function c(b,T){return b.minX-T.minX}function u(b,T){return b.minY-T.minY}function f(b){return(b.maxX-b.minX)*(b.maxY-b.minY)}function d(b){return b.maxX-b.minX+(b.maxY-b.minY)}function p(b,T){return b.minX<=T.minX&&b.minY<=T.minY&&T.maxX<=b.maxX&&T.maxY<=b.maxY}function g(b,T){return T.minX<=b.maxX&&T.minY<=b.maxY&&T.maxX>=b.minX&&T.maxY>=b.minY}function m(b){return{children:b,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function x(b,T,C,A,S){for(var w=[T,C];w.length;)if(!((C=w.pop())-(T=w.pop())<=A)){var D=T+Math.ceil((C-T)/A/2)*A;e(b,D,T,C,S),w.push(T,D,D,C)}}return i.prototype.all=function(){return this._all(this.data,[])},i.prototype.search=function(b){var T=this.data,C=[];if(!g(b,T))return C;for(var A=this.toBBox,S=[];T;){for(var w=0;w<T.children.length;w++){var D=T.children[w],O=T.leaf?A(D):D;g(b,O)&&(T.leaf?C.push(D):p(b,O)?this._all(D,C):S.push(D))}T=S.pop()}return C},i.prototype.collides=function(b){var T=this.data;if(!g(b,T))return!1;for(var C=[];T;){for(var A=0;A<T.children.length;A++){var S=T.children[A],w=T.leaf?this.toBBox(S):S;if(g(b,w)){if(T.leaf||p(b,w))return!0;C.push(S)}}T=C.pop()}return!1},i.prototype.load=function(b){if(!b||!b.length)return this;if(b.length<this._minEntries){for(var T=0;T<b.length;T++)this.insert(b[T]);return this}var C=this._build(b.slice(),0,b.length-1,0);if(this.data.children.length)if(this.data.height===C.height)this._splitRoot(this.data,C);else{if(this.data.height<C.height){var A=this.data;this.data=C,C=A}this._insert(C,this.data.height-C.height-1,!0)}else this.data=C;return this},i.prototype.insert=function(b){return b&&this._insert(b,this.data.height-1),this},i.prototype.clear=function(){return this.data=m([]),this},i.prototype.remove=function(b,T){if(!b)return this;for(var C,A,S,w=this.data,D=this.toBBox(b),O=[],R=[];w||O.length;){if(w||(w=O.pop(),A=O[O.length-1],C=R.pop(),S=!0),w.leaf){var M=o(b,w.children,T);if(M!==-1)return w.children.splice(M,1),O.push(w),this._condense(O),this}S||w.leaf||!p(w,D)?A?(C++,w=A.children[C],S=!1):w=null:(O.push(w),R.push(C),C=0,A=w,w=w.children[0])}return this},i.prototype.toBBox=function(b){return b},i.prototype.compareMinX=function(b,T){return b.minX-T.minX},i.prototype.compareMinY=function(b,T){return b.minY-T.minY},i.prototype.toJSON=function(){return this.data},i.prototype.fromJSON=function(b){return this.data=b,this},i.prototype._all=function(b,T){for(var C=[];b;)b.leaf?T.push.apply(T,b.children):C.push.apply(C,b.children),b=C.pop();return T},i.prototype._build=function(b,T,C,A){var S,w=C-T+1,D=this._maxEntries;if(w<=D)return r(S=m(b.slice(T,C+1)),this.toBBox),S;A||(A=Math.ceil(Math.log(w)/Math.log(D)),D=Math.ceil(w/Math.pow(D,A-1))),(S=m([])).leaf=!1,S.height=A;var O=Math.ceil(w/D),R=O*Math.ceil(Math.sqrt(D));x(b,T,C,R,this.compareMinX);for(var M=T;M<=C;M+=R){var L=Math.min(M+R-1,C);x(b,M,L,O,this.compareMinY);for(var _=M;_<=L;_+=O){var E=Math.min(_+O-1,L);S.children.push(this._build(b,_,E,A-1))}}return r(S,this.toBBox),S},i.prototype._chooseSubtree=function(b,T,C,A){for(;A.push(T),!T.leaf&&A.length-1!==C;){for(var S=1/0,w=1/0,D=void 0,O=0;O<T.children.length;O++){var R=T.children[O],M=f(R),L=(_=b,E=R,(Math.max(E.maxX,_.maxX)-Math.min(E.minX,_.minX))*(Math.max(E.maxY,_.maxY)-Math.min(E.minY,_.minY))-M);L<w?(w=L,S=M<S?M:S,D=R):L===w&&M<S&&(S=M,D=R)}T=D||T.children[0]}var _,E;return T},i.prototype._insert=function(b,T,C){var A=C?b:this.toBBox(b),S=[],w=this._chooseSubtree(A,this.data,T,S);for(w.children.push(b),a(w,A);T>=0&&S[T].children.length>this._maxEntries;)this._split(S,T),T--;this._adjustParentBBoxes(A,S,T)},i.prototype._split=function(b,T){var C=b[T],A=C.children.length,S=this._minEntries;this._chooseSplitAxis(C,S,A);var w=this._chooseSplitIndex(C,S,A),D=m(C.children.splice(w,C.children.length-w));D.height=C.height,D.leaf=C.leaf,r(C,this.toBBox),r(D,this.toBBox),T?b[T-1].children.push(D):this._splitRoot(C,D)},i.prototype._splitRoot=function(b,T){this.data=m([b,T]),this.data.height=b.height+1,this.data.leaf=!1,r(this.data,this.toBBox)},i.prototype._chooseSplitIndex=function(b,T,C){for(var A,S,w,D,O,R,M,L=1/0,_=1/0,E=T;E<=C-T;E++){var v=s(b,0,E,this.toBBox),I=s(b,E,C,this.toBBox),N=(S=v,w=I,D=void 0,O=void 0,R=void 0,M=void 0,D=Math.max(S.minX,w.minX),O=Math.max(S.minY,w.minY),R=Math.min(S.maxX,w.maxX),M=Math.min(S.maxY,w.maxY),Math.max(0,R-D)*Math.max(0,M-O)),B=f(v)+f(I);N<L?(L=N,A=E,_=B<_?B:_):N===L&&B<_&&(_=B,A=E)}return A||C-T},i.prototype._chooseSplitAxis=function(b,T,C){var A=b.leaf?this.compareMinX:c,S=b.leaf?this.compareMinY:u;this._allDistMargin(b,T,C,A)<this._allDistMargin(b,T,C,S)&&b.children.sort(A)},i.prototype._allDistMargin=function(b,T,C,A){b.children.sort(A);for(var S=this.toBBox,w=s(b,0,T,S),D=s(b,C-T,C,S),O=d(w)+d(D),R=T;R<C-T;R++){var M=b.children[R];a(w,b.leaf?S(M):M),O+=d(w)}for(var L=C-T-1;L>=T;L--){var _=b.children[L];a(D,b.leaf?S(_):_),O+=d(D)}return O},i.prototype._adjustParentBBoxes=function(b,T,C){for(var A=C;A>=0;A--)a(T[A],b)},i.prototype._condense=function(b){for(var T=b.length-1,C=void 0;T>=0;T--)b[T].children.length===0?T>0?(C=b[T-1].children).splice(C.indexOf(b[T]),1):this.clear():r(b[T],this.toBBox)},i})});var VX=kl((exports,module)=>{/*! - * protobuf.js v7.3.2 (c) 2016, daniel wirtz - * compiled wed, 12 jun 2024 08:24:21 utc + */(function(e,t){"use strict";typeof C1=="object"&&C1.exports?C1.exports=t(w$(),I$(),O$()):typeof define=="function"&&define.amd?define(["./punycode","./IPv6","./SecondLevelDomains"],t):e.URI=t(e.punycode,e.IPv6,e.SecondLevelDomains,e)})(R$,function(e,t,n,i){"use strict";var o=i&&i.URI;function r(E,w){var I=arguments.length>=1,L=arguments.length>=2;if(!(this instanceof r))return I?L?new r(E,w):new r(E):new r;if(E===void 0){if(I)throw new TypeError("undefined is not a valid argument for URI");typeof location<"u"?E=location.href+"":E=""}if(E===null&&I)throw new TypeError("null is not a valid argument for URI");return this.href(E),w!==void 0?this.absoluteTo(w):this}function s(E){return/^[0-9]+$/.test(E)}r.version="1.19.11";var a=r.prototype,c=Object.prototype.hasOwnProperty;function u(E){return E.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function f(E){return E===void 0?"Undefined":String(Object.prototype.toString.call(E)).slice(8,-1)}function d(E){return f(E)==="Array"}function p(E,w){var I={},L,B;if(f(w)==="RegExp")I=null;else if(d(w))for(L=0,B=w.length;L<B;L++)I[w[L]]=!0;else I[w]=!0;for(L=0,B=E.length;L<B;L++){var H=I&&I[E[L]]!==void 0||!I&&w.test(E[L]);H&&(E.splice(L,1),B--,L--)}return E}function g(E,w){var I,L;if(d(w)){for(I=0,L=w.length;I<L;I++)if(!g(E,w[I]))return!1;return!0}var B=f(w);for(I=0,L=E.length;I<L;I++)if(B==="RegExp"){if(typeof E[I]=="string"&&E[I].match(w))return!0}else if(E[I]===w)return!0;return!1}function m(E,w){if(!d(E)||!d(w)||E.length!==w.length)return!1;E.sort(),w.sort();for(var I=0,L=E.length;I<L;I++)if(E[I]!==w[I])return!1;return!0}function x(E){var w=/^\/+|\/+$/g;return E.replace(w,"")}r._parts=function(){return{protocol:null,username:null,password:null,hostname:null,urn:null,port:null,path:null,query:null,fragment:null,preventInvalidHostname:r.preventInvalidHostname,duplicateQueryParameters:r.duplicateQueryParameters,escapeQuerySpace:r.escapeQuerySpace}},r.preventInvalidHostname=!1,r.duplicateQueryParameters=!1,r.escapeQuerySpace=!0,r.protocol_expression=/^[a-z][a-z0-9.+-]*$/i,r.idn_expression=/[^a-z0-9\._-]/i,r.punycode_expression=/(xn--)/i,r.ip4_expression=/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/,r.ip6_expression=/^\s*((([0-9A-Fa-f]{1,4}:){7}([0-9A-Fa-f]{1,4}|:))|(([0-9A-Fa-f]{1,4}:){6}(:[0-9A-Fa-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){5}(((:[0-9A-Fa-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9A-Fa-f]{1,4}:){4}(((:[0-9A-Fa-f]{1,4}){1,3})|((:[0-9A-Fa-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){3}(((:[0-9A-Fa-f]{1,4}){1,4})|((:[0-9A-Fa-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){2}(((:[0-9A-Fa-f]{1,4}){1,5})|((:[0-9A-Fa-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9A-Fa-f]{1,4}:){1}(((:[0-9A-Fa-f]{1,4}){1,6})|((:[0-9A-Fa-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9A-Fa-f]{1,4}){1,7})|((:[0-9A-Fa-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(%.+)?\s*$/,r.find_uri_expression=/\b((?:[a-z][\w-]+:(?:\/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}\/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'".,<>?«»“”‘’]))/ig,r.findUri={start:/\b(?:([a-z][a-z0-9.+-]*:\/\/)|www\.)/gi,end:/[\s\r\n]|$/,trim:/[`!()\[\]{};:'".,<>?«»“”„‘’]+$/,parens:/(\([^\)]*\)|\[[^\]]*\]|\{[^}]*\}|<[^>]*>)/g},r.leading_whitespace_expression=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,r.ascii_tab_whitespace=/[\u0009\u000A\u000D]+/g,r.defaultPorts={http:"80",https:"443",ftp:"21",gopher:"70",ws:"80",wss:"443"},r.hostProtocols=["http","https"],r.invalid_hostname_characters=/[^a-zA-Z0-9\.\-:_]/,r.domAttributes={a:"href",blockquote:"cite",link:"href",base:"href",script:"src",form:"action",img:"src",area:"href",iframe:"src",embed:"src",source:"src",track:"src",input:"src",audio:"src",video:"src"},r.getDomAttribute=function(E){if(!(!E||!E.nodeName)){var w=E.nodeName.toLowerCase();if(!(w==="input"&&E.type!=="image"))return r.domAttributes[w]}};function b(E){return escape(E)}function T(E){return encodeURIComponent(E).replace(/[!'()*]/g,b).replace(/\*/g,"%2A")}r.encode=T,r.decode=decodeURIComponent,r.iso8859=function(){r.encode=escape,r.decode=unescape},r.unicode=function(){r.encode=T,r.decode=decodeURIComponent},r.characters={pathname:{encode:{expression:/%(24|26|2B|2C|3B|3D|3A|40)/ig,map:{"%24":"$","%26":"&","%2B":"+","%2C":",","%3B":";","%3D":"=","%3A":":","%40":"@"}},decode:{expression:/[\/\?#]/g,map:{"/":"%2F","?":"%3F","#":"%23"}}},reserved:{encode:{expression:/%(21|23|24|26|27|28|29|2A|2B|2C|2F|3A|3B|3D|3F|40|5B|5D)/ig,map:{"%3A":":","%2F":"/","%3F":"?","%23":"#","%5B":"[","%5D":"]","%40":"@","%21":"!","%24":"$","%26":"&","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"="}}},urnpath:{encode:{expression:/%(21|24|27|28|29|2A|2B|2C|3B|3D|40)/ig,map:{"%21":"!","%24":"$","%27":"'","%28":"(","%29":")","%2A":"*","%2B":"+","%2C":",","%3B":";","%3D":"=","%40":"@"}},decode:{expression:/[\/\?#:]/g,map:{"/":"%2F","?":"%3F","#":"%23",":":"%3A"}}}},r.encodeQuery=function(E,w){var I=r.encode(E+"");return w===void 0&&(w=r.escapeQuerySpace),w?I.replace(/%20/g,"+"):I},r.decodeQuery=function(E,w){E+="",w===void 0&&(w=r.escapeQuerySpace);try{return r.decode(w?E.replace(/\+/g,"%20"):E)}catch{return E}};var C={encode:"encode",decode:"decode"},A,S=function(E,w){return function(I){try{return r[w](I+"").replace(r.characters[E][w].expression,function(L){return r.characters[E][w].map[L]})}catch{return I}}};for(A in C)r[A+"PathSegment"]=S("pathname",C[A]),r[A+"UrnPathSegment"]=S("urnpath",C[A]);var v=function(E,w,I){return function(L){var B;I?B=function(k){return r[w](r[I](k))}:B=r[w];for(var H=(L+"").split(E),V=0,G=H.length;V<G;V++)H[V]=B(H[V]);return H.join(E)}};r.decodePath=v("/","decodePathSegment"),r.decodeUrnPath=v(":","decodeUrnPathSegment"),r.recodePath=v("/","encodePathSegment","decode"),r.recodeUrnPath=v(":","encodeUrnPathSegment","decode"),r.encodeReserved=S("reserved","encode"),r.parse=function(E,w){var I;return w||(w={preventInvalidHostname:r.preventInvalidHostname}),E=E.replace(r.leading_whitespace_expression,""),E=E.replace(r.ascii_tab_whitespace,""),I=E.indexOf("#"),I>-1&&(w.fragment=E.substring(I+1)||null,E=E.substring(0,I)),I=E.indexOf("?"),I>-1&&(w.query=E.substring(I+1)||null,E=E.substring(0,I)),E=E.replace(/^(https?|ftp|wss?)?:+[/\\]*/i,"$1://"),E=E.replace(/^[/\\]{2,}/i,"//"),E.substring(0,2)==="//"?(w.protocol=null,E=E.substring(2),E=r.parseAuthority(E,w)):(I=E.indexOf(":"),I>-1&&(w.protocol=E.substring(0,I)||null,w.protocol&&!w.protocol.match(r.protocol_expression)?w.protocol=void 0:E.substring(I+1,I+3).replace(/\\/g,"/")==="//"?(E=E.substring(I+3),E=r.parseAuthority(E,w)):(E=E.substring(I+1),w.urn=!0))),w.path=E,w},r.parseHost=function(E,w){E||(E=""),E=E.replace(/\\/g,"/");var I=E.indexOf("/"),L,B;if(I===-1&&(I=E.length),E.charAt(0)==="[")L=E.indexOf("]"),w.hostname=E.substring(1,L)||null,w.port=E.substring(L+2,I)||null,w.port==="/"&&(w.port=null);else{var H=E.indexOf(":"),V=E.indexOf("/"),G=E.indexOf(":",H+1);G!==-1&&(V===-1||G<V)?(w.hostname=E.substring(0,I)||null,w.port=null):(B=E.substring(0,I).split(":"),w.hostname=B[0]||null,w.port=B[1]||null)}return w.hostname&&E.substring(I).charAt(0)!=="/"&&(I++,E="/"+E),w.preventInvalidHostname&&r.ensureValidHostname(w.hostname,w.protocol),w.port&&r.ensureValidPort(w.port),E.substring(I)||"/"},r.parseAuthority=function(E,w){return E=r.parseUserinfo(E,w),r.parseHost(E,w)},r.parseUserinfo=function(E,w){var I=E,L=E.indexOf("\\");L!==-1&&(E=E.replace(/\\/g,"/"));var B=E.indexOf("/"),H=E.lastIndexOf("@",B>-1?B:E.length-1),V;return H>-1&&(B===-1||H<B)?(V=E.substring(0,H).split(":"),w.username=V[0]?r.decode(V[0]):null,V.shift(),w.password=V[0]?r.decode(V.join(":")):null,E=I.substring(H+1)):(w.username=null,w.password=null),E},r.parseQuery=function(E,w){if(!E)return{};if(E=E.replace(/&+/g,"&").replace(/^\?*&*|&+$/g,""),!E)return{};for(var I={},L=E.split("&"),B=L.length,H,V,G,k=0;k<B;k++)H=L[k].split("="),V=r.decodeQuery(H.shift(),w),G=H.length?r.decodeQuery(H.join("="),w):null,V!=="__proto__"&&(c.call(I,V)?((typeof I[V]=="string"||I[V]===null)&&(I[V]=[I[V]]),I[V].push(G)):I[V]=G);return I},r.build=function(E){var w="",I=!1;return E.protocol&&(w+=E.protocol+":"),!E.urn&&(w||E.hostname)&&(w+="//",I=!0),w+=r.buildAuthority(E)||"",typeof E.path=="string"&&(E.path.charAt(0)!=="/"&&I&&(w+="/"),w+=E.path),typeof E.query=="string"&&E.query&&(w+="?"+E.query),typeof E.fragment=="string"&&E.fragment&&(w+="#"+E.fragment),w},r.buildHost=function(E){var w="";if(E.hostname)r.ip6_expression.test(E.hostname)?w+="["+E.hostname+"]":w+=E.hostname;else return"";return E.port&&(w+=":"+E.port),w},r.buildAuthority=function(E){return r.buildUserinfo(E)+r.buildHost(E)},r.buildUserinfo=function(E){var w="";return E.username&&(w+=r.encode(E.username)),E.password&&(w+=":"+r.encode(E.password)),w&&(w+="@"),w},r.buildQuery=function(E,w,I){var L="",B,H,V,G;for(H in E)if(H!=="__proto__"&&c.call(E,H))if(d(E[H]))for(B={},V=0,G=E[H].length;V<G;V++)E[H][V]!==void 0&&B[E[H][V]+""]===void 0&&(L+="&"+r.buildQueryParameter(H,E[H][V],I),w!==!0&&(B[E[H][V]+""]=!0));else E[H]!==void 0&&(L+="&"+r.buildQueryParameter(H,E[H],I));return L.substring(1)},r.buildQueryParameter=function(E,w,I){return r.encodeQuery(E,I)+(w!==null?"="+r.encodeQuery(w,I):"")},r.addQuery=function(E,w,I){if(typeof w=="object")for(var L in w)c.call(w,L)&&r.addQuery(E,L,w[L]);else if(typeof w=="string"){if(E[w]===void 0){E[w]=I;return}else typeof E[w]=="string"&&(E[w]=[E[w]]);d(I)||(I=[I]),E[w]=(E[w]||[]).concat(I)}else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter")},r.setQuery=function(E,w,I){if(typeof w=="object")for(var L in w)c.call(w,L)&&r.setQuery(E,L,w[L]);else if(typeof w=="string")E[w]=I===void 0?null:I;else throw new TypeError("URI.setQuery() accepts an object, string as the name parameter")},r.removeQuery=function(E,w,I){var L,B,H;if(d(w))for(L=0,B=w.length;L<B;L++)E[w[L]]=void 0;else if(f(w)==="RegExp")for(H in E)w.test(H)&&(E[H]=void 0);else if(typeof w=="object")for(H in w)c.call(w,H)&&r.removeQuery(E,H,w[H]);else if(typeof w=="string")I!==void 0?f(I)==="RegExp"?!d(E[w])&&I.test(E[w])?E[w]=void 0:E[w]=p(E[w],I):E[w]===String(I)&&(!d(I)||I.length===1)?E[w]=void 0:d(E[w])&&(E[w]=p(E[w],I)):E[w]=void 0;else throw new TypeError("URI.removeQuery() accepts an object, string, RegExp as the first parameter")},r.hasQuery=function(E,w,I,L){switch(f(w)){case"String":break;case"RegExp":for(var B in E)if(c.call(E,B)&&w.test(B)&&(I===void 0||r.hasQuery(E,B,I)))return!0;return!1;case"Object":for(var H in w)if(c.call(w,H)&&!r.hasQuery(E,H,w[H]))return!1;return!0;default:throw new TypeError("URI.hasQuery() accepts a string, regular expression or object as the name parameter")}switch(f(I)){case"Undefined":return w in E;case"Boolean":var V=!!(d(E[w])?E[w].length:E[w]);return I===V;case"Function":return!!I(E[w],w,E);case"Array":if(!d(E[w]))return!1;var G=L?g:m;return G(E[w],I);case"RegExp":return d(E[w])?L?g(E[w],I):!1:!!(E[w]&&E[w].match(I));case"Number":I=String(I);case"String":return d(E[w])?L?g(E[w],I):!1:E[w]===I;default:throw new TypeError("URI.hasQuery() accepts undefined, boolean, string, number, RegExp, Function as the value parameter")}},r.joinPaths=function(){for(var E=[],w=[],I=0,L=0;L<arguments.length;L++){var B=new r(arguments[L]);E.push(B);for(var H=B.segment(),V=0;V<H.length;V++)typeof H[V]=="string"&&w.push(H[V]),H[V]&&I++}if(!w.length||!I)return new r("");var G=new r("").segment(w);return(E[0].path()===""||E[0].path().slice(0,1)==="/")&&G.path("/"+G.path()),G.normalize()},r.commonPath=function(E,w){var I=Math.min(E.length,w.length),L;for(L=0;L<I;L++)if(E.charAt(L)!==w.charAt(L)){L--;break}return L<1?E.charAt(0)===w.charAt(0)&&E.charAt(0)==="/"?"/":"":((E.charAt(L)!=="/"||w.charAt(L)!=="/")&&(L=E.substring(0,L).lastIndexOf("/")),E.substring(0,L+1))},r.withinString=function(E,w,I){I||(I={});var L=I.start||r.findUri.start,B=I.end||r.findUri.end,H=I.trim||r.findUri.trim,V=I.parens||r.findUri.parens,G=/[a-z0-9-]=["']?$/i;for(L.lastIndex=0;;){var k=L.exec(E);if(!k)break;var W=k.index;if(I.ignoreHtml){var Y=E.slice(Math.max(W-3,0),W);if(Y&&G.test(Y))continue}for(var J=W+E.slice(W).search(B),j=E.slice(W,J),Z=-1;;){var Q=V.exec(j);if(!Q)break;var he=Q.index+Q[0].length;Z=Math.max(Z,he)}if(Z>-1?j=j.slice(0,Z)+j.slice(Z).replace(H,""):j=j.replace(H,""),!(j.length<=k[0].length)&&!(I.ignore&&I.ignore.test(j))){J=W+j.length;var ye=w(j,W,J,E);if(ye===void 0){L.lastIndex=J;continue}ye=String(ye),E=E.slice(0,W)+ye+E.slice(J),L.lastIndex=W+ye.length}}return L.lastIndex=0,E},r.ensureValidHostname=function(E,w){var I=!!E,L=!!w,B=!1;if(L&&(B=g(r.hostProtocols,w)),B&&!I)throw new TypeError("Hostname cannot be empty, if protocol is "+w);if(E&&E.match(r.invalid_hostname_characters)){if(!e)throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-:_] and Punycode.js is not available');if(e.toASCII(E).match(r.invalid_hostname_characters))throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-:_]')}},r.ensureValidPort=function(E){if(E){var w=Number(E);if(!(s(w)&&w>0&&w<65536))throw new TypeError('Port "'+E+'" is not a valid port')}},r.noConflict=function(E){if(E){var w={URI:this.noConflict()};return i.URITemplate&&typeof i.URITemplate.noConflict=="function"&&(w.URITemplate=i.URITemplate.noConflict()),i.IPv6&&typeof i.IPv6.noConflict=="function"&&(w.IPv6=i.IPv6.noConflict()),i.SecondLevelDomains&&typeof i.SecondLevelDomains.noConflict=="function"&&(w.SecondLevelDomains=i.SecondLevelDomains.noConflict()),w}else i.URI===this&&(i.URI=o);return this},a.build=function(E){return E===!0?this._deferred_build=!0:(E===void 0||this._deferred_build)&&(this._string=r.build(this._parts),this._deferred_build=!1),this},a.clone=function(){return new r(this)},a.valueOf=a.toString=function(){return this.build(!1)._string};function D(E){return function(w,I){return w===void 0?this._parts[E]||"":(this._parts[E]=w||null,this.build(!I),this)}}function R(E,w){return function(I,L){return I===void 0?this._parts[E]||"":(I!==null&&(I=I+"",I.charAt(0)===w&&(I=I.substring(1))),this._parts[E]=I,this.build(!L),this)}}a.protocol=D("protocol"),a.username=D("username"),a.password=D("password"),a.hostname=D("hostname"),a.port=D("port"),a.query=R("query","?"),a.fragment=R("fragment","#"),a.search=function(E,w){var I=this.query(E,w);return typeof I=="string"&&I.length?"?"+I:I},a.hash=function(E,w){var I=this.fragment(E,w);return typeof I=="string"&&I.length?"#"+I:I},a.pathname=function(E,w){if(E===void 0||E===!0){var I=this._parts.path||(this._parts.hostname?"/":"");return E?(this._parts.urn?r.decodeUrnPath:r.decodePath)(I):I}else return this._parts.urn?this._parts.path=E?r.recodeUrnPath(E):"":this._parts.path=E?r.recodePath(E):"/",this.build(!w),this},a.path=a.pathname,a.href=function(E,w){var I;if(E===void 0)return this.toString();this._string="",this._parts=r._parts();var L=E instanceof r,B=typeof E=="object"&&(E.hostname||E.path||E.pathname);if(E.nodeName){var H=r.getDomAttribute(E);E=E[H]||"",B=!1}if(!L&&B&&E.pathname!==void 0&&(E=E.toString()),typeof E=="string"||E instanceof String)this._parts=r.parse(String(E),this._parts);else if(L||B){var V=L?E._parts:E;for(I in V)I!=="query"&&c.call(this._parts,I)&&(this._parts[I]=V[I]);V.query&&this.query(V.query,!1)}else throw new TypeError("invalid input");return this.build(!w),this},a.is=function(E){var w=!1,I=!1,L=!1,B=!1,H=!1,V=!1,G=!1,k=!this._parts.urn;switch(this._parts.hostname&&(k=!1,I=r.ip4_expression.test(this._parts.hostname),L=r.ip6_expression.test(this._parts.hostname),w=I||L,B=!w,H=B&&n&&n.has(this._parts.hostname),V=B&&r.idn_expression.test(this._parts.hostname),G=B&&r.punycode_expression.test(this._parts.hostname)),E.toLowerCase()){case"relative":return k;case"absolute":return!k;case"domain":case"name":return B;case"sld":return H;case"ip":return w;case"ip4":case"ipv4":case"inet4":return I;case"ip6":case"ipv6":case"inet6":return L;case"idn":return V;case"url":return!this._parts.urn;case"urn":return!!this._parts.urn;case"punycode":return G}return null};var O=a.protocol,M=a.port,N=a.hostname;a.protocol=function(E,w){if(E&&(E=E.replace(/:(\/\/)?$/,""),!E.match(r.protocol_expression)))throw new TypeError('Protocol "'+E+`" contains characters other than [A-Z0-9.+-] or doesn't start with [A-Z]`);return O.call(this,E,w)},a.scheme=a.protocol,a.port=function(E,w){return this._parts.urn?E===void 0?"":this:(E!==void 0&&(E===0&&(E=null),E&&(E+="",E.charAt(0)===":"&&(E=E.substring(1)),r.ensureValidPort(E))),M.call(this,E,w))},a.hostname=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E!==void 0){var I={preventInvalidHostname:this._parts.preventInvalidHostname},L=r.parseHost(E,I);if(L!=="/")throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-]');E=I.hostname,this._parts.preventInvalidHostname&&r.ensureValidHostname(E,this._parts.protocol)}return N.call(this,E,w)},a.origin=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E===void 0){var I=this.protocol(),L=this.authority();return L?(I?I+"://":"")+this.authority():""}else{var B=r(E);return this.protocol(B.protocol()).authority(B.authority()).build(!w),this}},a.host=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E===void 0)return this._parts.hostname?r.buildHost(this._parts):"";var I=r.parseHost(E,this._parts);if(I!=="/")throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.authority=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E===void 0)return this._parts.hostname?r.buildAuthority(this._parts):"";var I=r.parseAuthority(E,this._parts);if(I!=="/")throw new TypeError('Hostname "'+E+'" contains characters other than [A-Z0-9.-]');return this.build(!w),this},a.userinfo=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E===void 0){var I=r.buildUserinfo(this._parts);return I&&I.substring(0,I.length-1)}else return E[E.length-1]!=="@"&&(E+="@"),r.parseUserinfo(E,this._parts),this.build(!w),this},a.resource=function(E,w){var I;return E===void 0?this.path()+this.search()+this.hash():(I=r.parse(E),this._parts.path=I.path,this._parts.query=I.query,this._parts.fragment=I.fragment,this.build(!w),this)},a.subdomain=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.length-this.domain().length-1;return this._parts.hostname.substring(0,I)||""}else{var L=this._parts.hostname.length-this.domain().length,B=this._parts.hostname.substring(0,L),H=new RegExp("^"+u(B));if(E&&E.charAt(E.length-1)!=="."&&(E+="."),E.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");return E&&r.ensureValidHostname(E,this._parts.protocol),this._parts.hostname=this._parts.hostname.replace(H,E),this.build(!w),this}},a.domain=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(typeof E=="boolean"&&(w=E,E=void 0),E===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.match(/\./g);if(I&&I.length<2)return this._parts.hostname;var L=this._parts.hostname.length-this.tld(w).length-1;return L=this._parts.hostname.lastIndexOf(".",L-1)+1,this._parts.hostname.substring(L)||""}else{if(!E)throw new TypeError("cannot set domain empty");if(E.indexOf(":")!==-1)throw new TypeError("Domains cannot contain colons");if(r.ensureValidHostname(E,this._parts.protocol),!this._parts.hostname||this.is("IP"))this._parts.hostname=E;else{var B=new RegExp(u(this.domain())+"$");this._parts.hostname=this._parts.hostname.replace(B,E)}return this.build(!w),this}},a.tld=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(typeof E=="boolean"&&(w=E,E=void 0),E===void 0){if(!this._parts.hostname||this.is("IP"))return"";var I=this._parts.hostname.lastIndexOf("."),L=this._parts.hostname.substring(I+1);return w!==!0&&n&&n.list[L.toLowerCase()]&&n.get(this._parts.hostname)||L}else{var B;if(E)if(E.match(/[^a-zA-Z0-9-]/))if(n&&n.is(E))B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,E);else throw new TypeError('TLD "'+E+'" contains characters other than [A-Z0-9]');else{if(!this._parts.hostname||this.is("IP"))throw new ReferenceError("cannot set TLD on non-domain host");B=new RegExp(u(this.tld())+"$"),this._parts.hostname=this._parts.hostname.replace(B,E)}else throw new TypeError("cannot set TLD empty");return this.build(!w),this}},a.directory=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E===void 0||E===!0){if(!this._parts.path&&!this._parts.hostname)return"";if(this._parts.path==="/")return"/";var I=this._parts.path.length-this.filename().length-1,L=this._parts.path.substring(0,I)||(this._parts.hostname?"/":"");return E?r.decodePath(L):L}else{var B=this._parts.path.length-this.filename().length,H=this._parts.path.substring(0,B),V=new RegExp("^"+u(H));return this.is("relative")||(E||(E="/"),E.charAt(0)!=="/"&&(E="/"+E)),E&&E.charAt(E.length-1)!=="/"&&(E+="/"),E=r.recodePath(E),this._parts.path=this._parts.path.replace(V,E),this.build(!w),this}},a.filename=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(typeof E!="string"){if(!this._parts.path||this._parts.path==="/")return"";var I=this._parts.path.lastIndexOf("/"),L=this._parts.path.substring(I+1);return E?r.decodePathSegment(L):L}else{var B=!1;E.charAt(0)==="/"&&(E=E.substring(1)),E.match(/\.?\//)&&(B=!0);var H=new RegExp(u(this.filename())+"$");return E=r.recodePath(E),this._parts.path=this._parts.path.replace(H,E),B?this.normalizePath(w):this.build(!w),this}},a.suffix=function(E,w){if(this._parts.urn)return E===void 0?"":this;if(E===void 0||E===!0){if(!this._parts.path||this._parts.path==="/")return"";var I=this.filename(),L=I.lastIndexOf("."),B,H;return L===-1?"":(B=I.substring(L+1),H=/^[a-z0-9%]+$/i.test(B)?B:"",E?r.decodePathSegment(H):H)}else{E.charAt(0)==="."&&(E=E.substring(1));var V=this.suffix(),G;if(V)E?G=new RegExp(u(V)+"$"):G=new RegExp(u("."+V)+"$");else{if(!E)return this;this._parts.path+="."+r.recodePath(E)}return G&&(E=r.recodePath(E),this._parts.path=this._parts.path.replace(G,E)),this.build(!w),this}},a.segment=function(E,w,I){var L=this._parts.urn?":":"/",B=this.path(),H=B.substring(0,1)==="/",V=B.split(L);if(E!==void 0&&typeof E!="number"&&(I=w,w=E,E=void 0),E!==void 0&&typeof E!="number")throw new Error('Bad segment "'+E+'", must be 0-based integer');if(H&&V.shift(),E<0&&(E=Math.max(V.length+E,0)),w===void 0)return E===void 0?V:V[E];if(E===null||V[E]===void 0)if(d(w)){V=[];for(var G=0,k=w.length;G<k;G++)!w[G].length&&(!V.length||!V[V.length-1].length)||(V.length&&!V[V.length-1].length&&V.pop(),V.push(x(w[G])))}else(w||typeof w=="string")&&(w=x(w),V[V.length-1]===""?V[V.length-1]=w:V.push(w));else w?V[E]=x(w):V.splice(E,1);return H&&V.unshift(""),this.path(V.join(L),I)},a.segmentCoded=function(E,w,I){var L,B,H;if(typeof E!="number"&&(I=w,w=E,E=void 0),w===void 0){if(L=this.segment(E,w,I),!d(L))L=L!==void 0?r.decode(L):void 0;else for(B=0,H=L.length;B<H;B++)L[B]=r.decode(L[B]);return L}if(!d(w))w=typeof w=="string"||w instanceof String?r.encode(w):w;else for(B=0,H=w.length;B<H;B++)w[B]=r.encode(w[B]);return this.segment(E,w,I)};var _=a.query;return a.query=function(E,w){if(E===!0)return r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof E=="function"){var I=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace),L=E.call(this,I);return this._parts.query=r.buildQuery(L||I,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this}else return E!==void 0&&typeof E!="string"?(this._parts.query=r.buildQuery(E,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),this.build(!w),this):_.call(this,E,w)},a.setQuery=function(E,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);if(typeof E=="string"||E instanceof String)L[E]=w!==void 0?w:null;else if(typeof E=="object")for(var B in E)c.call(E,B)&&(L[B]=E[B]);else throw new TypeError("URI.addQuery() accepts an object, string as the name parameter");return this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof E!="string"&&(I=w),this.build(!I),this},a.addQuery=function(E,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.addQuery(L,E,w===void 0?null:w),this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof E!="string"&&(I=w),this.build(!I),this},a.removeQuery=function(E,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.removeQuery(L,E,w),this._parts.query=r.buildQuery(L,this._parts.duplicateQueryParameters,this._parts.escapeQuerySpace),typeof E!="string"&&(I=w),this.build(!I),this},a.hasQuery=function(E,w,I){var L=r.parseQuery(this._parts.query,this._parts.escapeQuerySpace);return r.hasQuery(L,E,w,I)},a.setSearch=a.setQuery,a.addSearch=a.addQuery,a.removeSearch=a.removeQuery,a.hasSearch=a.hasQuery,a.normalize=function(){return this._parts.urn?this.normalizeProtocol(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build():this.normalizeProtocol(!1).normalizeHostname(!1).normalizePort(!1).normalizePath(!1).normalizeQuery(!1).normalizeFragment(!1).build()},a.normalizeProtocol=function(E){return typeof this._parts.protocol=="string"&&(this._parts.protocol=this._parts.protocol.toLowerCase(),this.build(!E)),this},a.normalizeHostname=function(E){return this._parts.hostname&&(this.is("IDN")&&e?this._parts.hostname=e.toASCII(this._parts.hostname):this.is("IPv6")&&t&&(this._parts.hostname=t.best(this._parts.hostname)),this._parts.hostname=this._parts.hostname.toLowerCase(),this.build(!E)),this},a.normalizePort=function(E){return typeof this._parts.protocol=="string"&&this._parts.port===r.defaultPorts[this._parts.protocol]&&(this._parts.port=null,this.build(!E)),this},a.normalizePath=function(E){var w=this._parts.path;if(!w)return this;if(this._parts.urn)return this._parts.path=r.recodeUrnPath(this._parts.path),this.build(!E),this;if(this._parts.path==="/")return this;w=r.recodePath(w);var I,L="",B,H;for(w.charAt(0)!=="/"&&(I=!0,w="/"+w),(w.slice(-3)==="/.."||w.slice(-2)==="/.")&&(w+="/"),w=w.replace(/(\/(\.\/)+)|(\/\.$)/g,"/").replace(/\/{2,}/g,"/"),I&&(L=w.substring(1).match(/^(\.\.\/)+/)||"",L&&(L=L[0]));B=w.search(/\/\.\.(\/|$)/),B!==-1;){if(B===0){w=w.substring(3);continue}H=w.substring(0,B).lastIndexOf("/"),H===-1&&(H=B),w=w.substring(0,H)+w.substring(B+3)}return I&&this.is("relative")&&(w=L+w.substring(1)),this._parts.path=w,this.build(!E),this},a.normalizePathname=a.normalizePath,a.normalizeQuery=function(E){return typeof this._parts.query=="string"&&(this._parts.query.length?this.query(r.parseQuery(this._parts.query,this._parts.escapeQuerySpace)):this._parts.query=null,this.build(!E)),this},a.normalizeFragment=function(E){return this._parts.fragment||(this._parts.fragment=null,this.build(!E)),this},a.normalizeSearch=a.normalizeQuery,a.normalizeHash=a.normalizeFragment,a.iso8859=function(){var E=r.encode,w=r.decode;r.encode=escape,r.decode=decodeURIComponent;try{this.normalize()}finally{r.encode=E,r.decode=w}return this},a.unicode=function(){var E=r.encode,w=r.decode;r.encode=T,r.decode=unescape;try{this.normalize()}finally{r.encode=E,r.decode=w}return this},a.readable=function(){var E=this.clone();E.username("").password("").normalize();var w="";if(E._parts.protocol&&(w+=E._parts.protocol+"://"),E._parts.hostname&&(E.is("punycode")&&e?(w+=e.toUnicode(E._parts.hostname),E._parts.port&&(w+=":"+E._parts.port)):w+=E.host()),E._parts.hostname&&E._parts.path&&E._parts.path.charAt(0)!=="/"&&(w+="/"),w+=E.path(!0),E._parts.query){for(var I="",L=0,B=E._parts.query.split("&"),H=B.length;L<H;L++){var V=(B[L]||"").split("=");I+="&"+r.decodeQuery(V[0],this._parts.escapeQuerySpace).replace(/&/g,"%26"),V[1]!==void 0&&(I+="="+r.decodeQuery(V[1],this._parts.escapeQuerySpace).replace(/&/g,"%26"))}w+="?"+I.substring(1)}return w+=r.decodeQuery(E.hash(),!0),w},a.absoluteTo=function(E){var w=this.clone(),I=["protocol","username","password","hostname","port"],L,B,H;if(this._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(E instanceof r||(E=new r(E)),w._parts.protocol||(w._parts.protocol=E._parts.protocol,this._parts.hostname))return w;for(B=0;H=I[B];B++)w._parts[H]=E._parts[H];return w._parts.path?(w._parts.path.substring(-2)===".."&&(w._parts.path+="/"),w.path().charAt(0)!=="/"&&(L=E.directory(),L=L||(E.path().indexOf("/")===0?"/":""),w._parts.path=(L?L+"/":"")+w._parts.path,w.normalizePath())):(w._parts.path=E._parts.path,w._parts.query||(w._parts.query=E._parts.query)),w.build(),w},a.relativeTo=function(E){var w=this.clone().normalize(),I,L,B,H,V;if(w._parts.urn)throw new Error("URNs do not have any generally defined hierarchical components");if(E=new r(E).normalize(),I=w._parts,L=E._parts,H=w.path(),V=E.path(),H.charAt(0)!=="/")throw new Error("URI is already relative");if(V.charAt(0)!=="/")throw new Error("Cannot calculate a URI relative to another relative URI");if(I.protocol===L.protocol&&(I.protocol=null),I.username!==L.username||I.password!==L.password||I.protocol!==null||I.username!==null||I.password!==null)return w.build();if(I.hostname===L.hostname&&I.port===L.port)I.hostname=null,I.port=null;else return w.build();if(H===V)return I.path="",w.build();if(B=r.commonPath(H,V),!B)return w.build();var G=L.path.substring(B.length).replace(/[^\/]*$/,"").replace(/.*?\//g,"../");return I.path=G+I.path.substring(B.length)||"./",w.build()},a.equals=function(E){var w=this.clone(),I=new r(E),L={},B={},H={},V,G,k;if(w.normalize(),I.normalize(),w.toString()===I.toString())return!0;if(V=w.query(),G=I.query(),w.query(""),I.query(""),w.toString()!==I.toString()||V.length!==G.length)return!1;L=r.parseQuery(V,this._parts.escapeQuerySpace),B=r.parseQuery(G,this._parts.escapeQuerySpace);for(k in L)if(c.call(L,k)){if(d(L[k])){if(!m(L[k],B[k]))return!1}else if(L[k]!==B[k])return!1;H[k]=!0}for(k in B)if(c.call(B,k)&&!H[k])return!1;return!0},a.preventInvalidHostname=function(E){return this._parts.preventInvalidHostname=!!E,this},a.duplicateQueryParameters=function(E){return this._parts.duplicateQueryParameters=!!E,this},a.escapeQuerySpace=function(E){return this._parts.escapeQuerySpace=!!E,this},r})});var Lne=Wl((c9,l9)=>{/*! @license DOMPurify 3.0.6 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.0.6/LICENSE */(function(e,t){typeof c9=="object"&&typeof l9<"u"?l9.exports=t():typeof define=="function"&&define.amd?define(t):(e=typeof globalThis<"u"?globalThis:e||self,e.DOMPurify=t())})(c9,function(){"use strict";let{entries:e,setPrototypeOf:t,isFrozen:n,getPrototypeOf:i,getOwnPropertyDescriptor:o}=Object,{freeze:r,seal:s,create:a}=Object,{apply:c,construct:u}=typeof Reflect<"u"&&Reflect;r||(r=function(Be){return Be}),s||(s=function(Be){return Be}),c||(c=function(Be,Ve,$e){return Be.apply(Ve,$e)}),u||(u=function(Be,Ve){return new Be(...Ve)});let f=v(Array.prototype.forEach),d=v(Array.prototype.pop),p=v(Array.prototype.push),g=v(String.prototype.toLowerCase),m=v(String.prototype.toString),x=v(String.prototype.match),b=v(String.prototype.replace),T=v(String.prototype.indexOf),C=v(String.prototype.trim),A=v(RegExp.prototype.test),S=D(TypeError);function v(Ce){return function(Be){for(var Ve=arguments.length,$e=new Array(Ve>1?Ve-1:0),qe=1;qe<Ve;qe++)$e[qe-1]=arguments[qe];return c(Ce,Be,$e)}}function D(Ce){return function(){for(var Be=arguments.length,Ve=new Array(Be),$e=0;$e<Be;$e++)Ve[$e]=arguments[$e];return u(Ce,Ve)}}function R(Ce,Be){let Ve=arguments.length>2&&arguments[2]!==void 0?arguments[2]:g;t&&t(Ce,null);let $e=Be.length;for(;$e--;){let qe=Be[$e];if(typeof qe=="string"){let pt=Ve(qe);pt!==qe&&(n(Be)||(Be[$e]=pt),qe=pt)}Ce[qe]=!0}return Ce}function O(Ce){let Be=a(null);for(let[Ve,$e]of e(Ce))o(Ce,Ve)!==void 0&&(Be[Ve]=$e);return Be}function M(Ce,Be){for(;Ce!==null;){let $e=o(Ce,Be);if($e){if($e.get)return v($e.get);if(typeof $e.value=="function")return v($e.value)}Ce=i(Ce)}function Ve($e){return console.warn("fallback value for",$e),null}return Ve}let N=r(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","section","select","shadow","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),_=r(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","filter","font","g","glyph","glyphref","hkern","image","line","lineargradient","marker","mask","metadata","mpath","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),E=r(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),w=r(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),I=r(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),L=r(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),B=r(["#text"]),H=r(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","face","for","headers","height","hidden","high","href","hreflang","id","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","pattern","placeholder","playsinline","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","xmlns","slot"]),V=r(["accent-height","accumulate","additive","alignment-baseline","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),G=r(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),k=r(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),W=s(/\{\{[\w\W]*|[\w\W]*\}\}/gm),Y=s(/<%[\w\W]*|[\w\W]*%>/gm),J=s(/\${[\w\W]*}/gm),j=s(/^data-[\-\w.\u00B7-\uFFFF]/),Z=s(/^aria-[\-\w]+$/),Q=s(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),he=s(/^(?:\w+script|data):/i),ye=s(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),re=s(/^html$/i);var _e=Object.freeze({__proto__:null,MUSTACHE_EXPR:W,ERB_EXPR:Y,TMPLIT_EXPR:J,DATA_ATTR:j,ARIA_ATTR:Z,IS_ALLOWED_URI:Q,IS_SCRIPT_OR_DATA:he,ATTR_WHITESPACE:ye,DOCTYPE_NAME:re});let xe=function(){return typeof window>"u"?null:window},Ie=function(Be,Ve){if(typeof Be!="object"||typeof Be.createPolicy!="function")return null;let $e=null,qe="data-tt-policy-suffix";Ve&&Ve.hasAttribute(qe)&&($e=Ve.getAttribute(qe));let pt="dompurify"+($e?"#"+$e:"");try{return Be.createPolicy(pt,{createHTML(ht){return ht},createScriptURL(ht){return ht}})}catch{return console.warn("TrustedTypes policy "+pt+" could not be created."),null}};function De(){let Ce=arguments.length>0&&arguments[0]!==void 0?arguments[0]:xe(),Be=An=>De(An);if(Be.version="3.0.6",Be.removed=[],!Ce||!Ce.document||Ce.document.nodeType!==9)return Be.isSupported=!1,Be;let{document:Ve}=Ce,$e=Ve,qe=$e.currentScript,{DocumentFragment:pt,HTMLTemplateElement:ht,Node:yt,Element:Jt,NodeFilter:Te,NamedNodeMap:Ee=Ce.NamedNodeMap||Ce.MozNamedAttrMap,HTMLFormElement:on,DOMParser:en,trustedTypes:Xt}=Ce,ji=Jt.prototype,Ke=M(ji,"cloneNode"),ns=M(ji,"nextSibling"),Ur=M(ji,"childNodes"),Aa=M(ji,"parentNode");if(typeof ht=="function"){let An=Ve.createElement("template");An.content&&An.content.ownerDocument&&(Ve=An.content.ownerDocument)}let Me,at="",{implementation:Je,createNodeIterator:Qe,createDocumentFragment:ct,getElementsByTagName:zt}=Ve,{importNode:yn}=$e,Zn={};Be.isSupported=typeof e=="function"&&typeof Aa=="function"&&Je&&Je.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:$i,ERB_EXPR:Er,TMPLIT_EXPR:Po,DATA_ATTR:gs,ARIA_ATTR:io,IS_SCRIPT_OR_DATA:$s,ATTR_WHITESPACE:zr}=_e,{IS_ALLOWED_URI:zl}=_e,Yn=null,fr=R({},[...N,..._,...E,...I,...B]),Eo=null,Va=R({},[...H,...V,...G,...k]),yo=Object.seal(a(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Hl=null,mh=null,Xm=!0,ph=!0,Km=!1,O_=!0,_h=!1,Gl=!1,ys=!1,Qs=!1,Hr=!1,Ea=!1,S0=!1,Go=!0,gh=!1,Zm="user-content-",iT=!0,Js=!1,zu={},R_=null,kZ=R({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),VZ=null,UZ=R({},["audio","video","img","source","image","track"]),kG=null,zZ=R({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),ZP="http://www.w3.org/1998/Math/MathML",$P="http://www.w3.org/2000/svg",$m="http://www.w3.org/1999/xhtml",oT=$m,VG=!1,UG=null,LAe=R({},[ZP,$P,$m],m),v0=null,NAe=["application/xhtml+xml","text/html"],FAe="text/html",ea=null,rT=null,BAe=Ve.createElement("form"),HZ=function(we){return we instanceof RegExp||we instanceof Function},zG=function(){let we=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(rT&&rT===we)){if((!we||typeof we!="object")&&(we={}),we=O(we),v0=NAe.indexOf(we.PARSER_MEDIA_TYPE)===-1?v0=FAe:v0=we.PARSER_MEDIA_TYPE,ea=v0==="application/xhtml+xml"?m:g,Yn="ALLOWED_TAGS"in we?R({},we.ALLOWED_TAGS,ea):fr,Eo="ALLOWED_ATTR"in we?R({},we.ALLOWED_ATTR,ea):Va,UG="ALLOWED_NAMESPACES"in we?R({},we.ALLOWED_NAMESPACES,m):LAe,kG="ADD_URI_SAFE_ATTR"in we?R(O(zZ),we.ADD_URI_SAFE_ATTR,ea):zZ,VZ="ADD_DATA_URI_TAGS"in we?R(O(UZ),we.ADD_DATA_URI_TAGS,ea):UZ,R_="FORBID_CONTENTS"in we?R({},we.FORBID_CONTENTS,ea):kZ,Hl="FORBID_TAGS"in we?R({},we.FORBID_TAGS,ea):{},mh="FORBID_ATTR"in we?R({},we.FORBID_ATTR,ea):{},zu="USE_PROFILES"in we?we.USE_PROFILES:!1,Xm=we.ALLOW_ARIA_ATTR!==!1,ph=we.ALLOW_DATA_ATTR!==!1,Km=we.ALLOW_UNKNOWN_PROTOCOLS||!1,O_=we.ALLOW_SELF_CLOSE_IN_ATTR!==!1,_h=we.SAFE_FOR_TEMPLATES||!1,Gl=we.WHOLE_DOCUMENT||!1,Hr=we.RETURN_DOM||!1,Ea=we.RETURN_DOM_FRAGMENT||!1,S0=we.RETURN_TRUSTED_TYPE||!1,Qs=we.FORCE_BODY||!1,Go=we.SANITIZE_DOM!==!1,gh=we.SANITIZE_NAMED_PROPS||!1,iT=we.KEEP_CONTENT!==!1,Js=we.IN_PLACE||!1,zl=we.ALLOWED_URI_REGEXP||Q,oT=we.NAMESPACE||$m,yo=we.CUSTOM_ELEMENT_HANDLING||{},we.CUSTOM_ELEMENT_HANDLING&&HZ(we.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(yo.tagNameCheck=we.CUSTOM_ELEMENT_HANDLING.tagNameCheck),we.CUSTOM_ELEMENT_HANDLING&&HZ(we.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(yo.attributeNameCheck=we.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),we.CUSTOM_ELEMENT_HANDLING&&typeof we.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(yo.allowCustomizedBuiltInElements=we.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),_h&&(ph=!1),Ea&&(Hr=!0),zu&&(Yn=R({},[...B]),Eo=[],zu.html===!0&&(R(Yn,N),R(Eo,H)),zu.svg===!0&&(R(Yn,_),R(Eo,V),R(Eo,k)),zu.svgFilters===!0&&(R(Yn,E),R(Eo,V),R(Eo,k)),zu.mathMl===!0&&(R(Yn,I),R(Eo,G),R(Eo,k))),we.ADD_TAGS&&(Yn===fr&&(Yn=O(Yn)),R(Yn,we.ADD_TAGS,ea)),we.ADD_ATTR&&(Eo===Va&&(Eo=O(Eo)),R(Eo,we.ADD_ATTR,ea)),we.ADD_URI_SAFE_ATTR&&R(kG,we.ADD_URI_SAFE_ATTR,ea),we.FORBID_CONTENTS&&(R_===kZ&&(R_=O(R_)),R(R_,we.FORBID_CONTENTS,ea)),iT&&(Yn["#text"]=!0),Gl&&R(Yn,["html","head","body"]),Yn.table&&(R(Yn,["tbody"]),delete Hl.tbody),we.TRUSTED_TYPES_POLICY){if(typeof we.TRUSTED_TYPES_POLICY.createHTML!="function")throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof we.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw S('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');Me=we.TRUSTED_TYPES_POLICY,at=Me.createHTML("")}else Me===void 0&&(Me=Ie(Xt,qe)),Me!==null&&typeof at=="string"&&(at=Me.createHTML(""));r&&r(we),rT=we}},GZ=R({},["mi","mo","mn","ms","mtext"]),WZ=R({},["foreignobject","desc","title","annotation-xml"]),kAe=R({},["title","style","font","a","script"]),QP=R({},_);R(QP,E),R(QP,w);let HG=R({},I);R(HG,L);let VAe=function(we){let Rt=Aa(we);(!Rt||!Rt.tagName)&&(Rt={namespaceURI:oT,tagName:"template"});let pn=g(we.tagName),Wo=g(Rt.tagName);return UG[we.namespaceURI]?we.namespaceURI===$P?Rt.namespaceURI===$m?pn==="svg":Rt.namespaceURI===ZP?pn==="svg"&&(Wo==="annotation-xml"||GZ[Wo]):!!QP[pn]:we.namespaceURI===ZP?Rt.namespaceURI===$m?pn==="math":Rt.namespaceURI===$P?pn==="math"&&WZ[Wo]:!!HG[pn]:we.namespaceURI===$m?Rt.namespaceURI===$P&&!WZ[Wo]||Rt.namespaceURI===ZP&&!GZ[Wo]?!1:!HG[pn]&&(kAe[pn]||!QP[pn]):!!(v0==="application/xhtml+xml"&&UG[we.namespaceURI]):!1},w0=function(we){p(Be.removed,{element:we});try{we.parentNode.removeChild(we)}catch{we.remove()}},GG=function(we,Rt){try{p(Be.removed,{attribute:Rt.getAttributeNode(we),from:Rt})}catch{p(Be.removed,{attribute:null,from:Rt})}if(Rt.removeAttribute(we),we==="is"&&!Eo[we])if(Hr||Ea)try{w0(Rt)}catch{}else try{Rt.setAttribute(we,"")}catch{}},jZ=function(we){let Rt=null,pn=null;if(Qs)we="<remove></remove>"+we;else{let za=x(we,/^[\r\n\t ]+/);pn=za&&za[0]}v0==="application/xhtml+xml"&&oT===$m&&(we='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+we+"</body></html>");let Wo=Me?Me.createHTML(we):we;if(oT===$m)try{Rt=new en().parseFromString(Wo,v0)}catch{}if(!Rt||!Rt.documentElement){Rt=Je.createDocument(oT,"template",null);try{Rt.documentElement.innerHTML=VG?at:Wo}catch{}}let Ua=Rt.body||Rt.documentElement;return we&&pn&&Ua.insertBefore(Ve.createTextNode(pn),Ua.childNodes[0]||null),oT===$m?zt.call(Rt,Gl?"html":"body")[0]:Gl?Rt.documentElement:Ua},qZ=function(we){return Qe.call(we.ownerDocument||we,we,Te.SHOW_ELEMENT|Te.SHOW_COMMENT|Te.SHOW_TEXT,null)},UAe=function(we){return we instanceof on&&(typeof we.nodeName!="string"||typeof we.textContent!="string"||typeof we.removeChild!="function"||!(we.attributes instanceof Ee)||typeof we.removeAttribute!="function"||typeof we.setAttribute!="function"||typeof we.namespaceURI!="string"||typeof we.insertBefore!="function"||typeof we.hasChildNodes!="function")},YZ=function(we){return typeof yt=="function"&&we instanceof yt},Qm=function(we,Rt,pn){Zn[we]&&f(Zn[we],Wo=>{Wo.call(Be,Rt,pn,rT)})},XZ=function(we){let Rt=null;if(Qm("beforeSanitizeElements",we,null),UAe(we))return w0(we),!0;let pn=ea(we.nodeName);if(Qm("uponSanitizeElement",we,{tagName:pn,allowedTags:Yn}),we.hasChildNodes()&&!YZ(we.firstElementChild)&&A(/<[/\w]/g,we.innerHTML)&&A(/<[/\w]/g,we.textContent))return w0(we),!0;if(!Yn[pn]||Hl[pn]){if(!Hl[pn]&&ZZ(pn)&&(yo.tagNameCheck instanceof RegExp&&A(yo.tagNameCheck,pn)||yo.tagNameCheck instanceof Function&&yo.tagNameCheck(pn)))return!1;if(iT&&!R_[pn]){let Wo=Aa(we)||we.parentNode,Ua=Ur(we)||we.childNodes;if(Ua&&Wo){let za=Ua.length;for(let nl=za-1;nl>=0;--nl)Wo.insertBefore(Ke(Ua[nl],!0),ns(we))}}return w0(we),!0}return we instanceof Jt&&!VAe(we)||(pn==="noscript"||pn==="noembed"||pn==="noframes")&&A(/<\/no(script|embed|frames)/i,we.innerHTML)?(w0(we),!0):(_h&&we.nodeType===3&&(Rt=we.textContent,f([$i,Er,Po],Wo=>{Rt=b(Rt,Wo," ")}),we.textContent!==Rt&&(p(Be.removed,{element:we.cloneNode()}),we.textContent=Rt)),Qm("afterSanitizeElements",we,null),!1)},KZ=function(we,Rt,pn){if(Go&&(Rt==="id"||Rt==="name")&&(pn in Ve||pn in BAe))return!1;if(!(ph&&!mh[Rt]&&A(gs,Rt))){if(!(Xm&&A(io,Rt))){if(!Eo[Rt]||mh[Rt]){if(!(ZZ(we)&&(yo.tagNameCheck instanceof RegExp&&A(yo.tagNameCheck,we)||yo.tagNameCheck instanceof Function&&yo.tagNameCheck(we))&&(yo.attributeNameCheck instanceof RegExp&&A(yo.attributeNameCheck,Rt)||yo.attributeNameCheck instanceof Function&&yo.attributeNameCheck(Rt))||Rt==="is"&&yo.allowCustomizedBuiltInElements&&(yo.tagNameCheck instanceof RegExp&&A(yo.tagNameCheck,pn)||yo.tagNameCheck instanceof Function&&yo.tagNameCheck(pn))))return!1}else if(!kG[Rt]){if(!A(zl,b(pn,zr,""))){if(!((Rt==="src"||Rt==="xlink:href"||Rt==="href")&&we!=="script"&&T(pn,"data:")===0&&VZ[we])){if(!(Km&&!A($s,b(pn,zr,"")))){if(pn)return!1}}}}}}return!0},ZZ=function(we){return we.indexOf("-")>0},$Z=function(we){Qm("beforeSanitizeAttributes",we,null);let{attributes:Rt}=we;if(!Rt)return;let pn={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:Eo},Wo=Rt.length;for(;Wo--;){let Ua=Rt[Wo],{name:za,namespaceURI:nl,value:D0}=Ua,zS=ea(za),il=za==="value"?D0:C(D0);if(pn.attrName=zS,pn.attrValue=il,pn.keepAttr=!0,pn.forceKeepAttr=void 0,Qm("uponSanitizeAttribute",we,pn),il=pn.attrValue,pn.forceKeepAttr||(GG(za,we),!pn.keepAttr))continue;if(!O_&&A(/\/>/i,il)){GG(za,we);continue}_h&&f([$i,Er,Po],JZ=>{il=b(il,JZ," ")});let QZ=ea(we.nodeName);if(KZ(QZ,zS,il)){if(gh&&(zS==="id"||zS==="name")&&(GG(za,we),il=Zm+il),Me&&typeof Xt=="object"&&typeof Xt.getAttributeType=="function"&&!nl)switch(Xt.getAttributeType(QZ,zS)){case"TrustedHTML":{il=Me.createHTML(il);break}case"TrustedScriptURL":{il=Me.createScriptURL(il);break}}try{nl?we.setAttributeNS(nl,za,il):we.setAttribute(za,il),d(Be.removed)}catch{}}}Qm("afterSanitizeAttributes",we,null)},zAe=function An(we){let Rt=null,pn=qZ(we);for(Qm("beforeSanitizeShadowDOM",we,null);Rt=pn.nextNode();)Qm("uponSanitizeShadowNode",Rt,null),!XZ(Rt)&&(Rt.content instanceof pt&&An(Rt.content),$Z(Rt));Qm("afterSanitizeShadowDOM",we,null)};return Be.sanitize=function(An){let we=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Rt=null,pn=null,Wo=null,Ua=null;if(VG=!An,VG&&(An="<!-->"),typeof An!="string"&&!YZ(An))if(typeof An.toString=="function"){if(An=An.toString(),typeof An!="string")throw S("dirty is not a string, aborting")}else throw S("toString is not a function");if(!Be.isSupported)return An;if(ys||zG(we),Be.removed=[],typeof An=="string"&&(Js=!1),Js){if(An.nodeName){let D0=ea(An.nodeName);if(!Yn[D0]||Hl[D0])throw S("root node is forbidden and cannot be sanitized in-place")}}else if(An instanceof yt)Rt=jZ("<!---->"),pn=Rt.ownerDocument.importNode(An,!0),pn.nodeType===1&&pn.nodeName==="BODY"||pn.nodeName==="HTML"?Rt=pn:Rt.appendChild(pn);else{if(!Hr&&!_h&&!Gl&&An.indexOf("<")===-1)return Me&&S0?Me.createHTML(An):An;if(Rt=jZ(An),!Rt)return Hr?null:S0?at:""}Rt&&Qs&&w0(Rt.firstChild);let za=qZ(Js?An:Rt);for(;Wo=za.nextNode();)XZ(Wo)||(Wo.content instanceof pt&&zAe(Wo.content),$Z(Wo));if(Js)return An;if(Hr){if(Ea)for(Ua=ct.call(Rt.ownerDocument);Rt.firstChild;)Ua.appendChild(Rt.firstChild);else Ua=Rt;return(Eo.shadowroot||Eo.shadowrootmode)&&(Ua=yn.call($e,Ua,!0)),Ua}let nl=Gl?Rt.outerHTML:Rt.innerHTML;return Gl&&Yn["!doctype"]&&Rt.ownerDocument&&Rt.ownerDocument.doctype&&Rt.ownerDocument.doctype.name&&A(re,Rt.ownerDocument.doctype.name)&&(nl="<!DOCTYPE "+Rt.ownerDocument.doctype.name+`> +`+nl),_h&&f([$i,Er,Po],D0=>{nl=b(nl,D0," ")}),Me&&S0?Me.createHTML(nl):nl},Be.setConfig=function(){let An=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};zG(An),ys=!0},Be.clearConfig=function(){rT=null,ys=!1},Be.isValidAttribute=function(An,we,Rt){rT||zG({});let pn=ea(An),Wo=ea(we);return KZ(pn,Wo,Rt)},Be.addHook=function(An,we){typeof we=="function"&&(Zn[An]=Zn[An]||[],p(Zn[An],we))},Be.removeHook=function(An){if(Zn[An])return d(Zn[An])},Be.removeHooks=function(An){Zn[An]&&(Zn[An]=[])},Be.removeAllHooks=function(){Zn={}},Be}var Ne=De();return Ne})});var Iae=Wl((RSn,Dae)=>{"use strict";Dae.exports=yWe;var zw=1e20;function yWe(e,t){t||(t={});var n=t.cutoff==null?.25:t.cutoff,i=t.radius==null?8:t.radius,o=t.channel||0,r,s,a,c,u,f,d,p,g,m,x;if(ArrayBuffer.isView(e)||Array.isArray(e)){if(!t.width||!t.height)throw Error("For raw data width and height should be provided by options");r=t.width,s=t.height,c=e,t.stride?f=t.stride:f=Math.floor(e.length/r/s)}else window.HTMLCanvasElement&&e instanceof window.HTMLCanvasElement?(p=e,d=p.getContext("2d"),r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.CanvasRenderingContext2D&&e instanceof window.CanvasRenderingContext2D?(p=e.canvas,d=e,r=p.width,s=p.height,g=d.getImageData(0,0,r,s),c=g.data,f=4):window.ImageData&&e instanceof window.ImageData&&(g=e,r=e.width,s=e.height,c=g.data,f=4);if(a=Math.max(r,s),window.Uint8ClampedArray&&c instanceof window.Uint8ClampedArray||window.Uint8Array&&c instanceof window.Uint8Array)for(u=c,c=Array(r*s),m=0,x=Math.floor(u.length/f);m<x;m++)c[m]=u[m*f+o]/255;else if(f!==1)throw Error("Raw data can have only 1 value per pixel");var b=Array(r*s),T=Array(r*s),C=Array(a),A=Array(a),S=Array(a+1),v=Array(a);for(m=0,x=r*s;m<x;m++){var D=c[m];b[m]=D===1?0:D===0?zw:Math.pow(Math.max(0,.5-D),2),T[m]=D===1?zw:D===0?0:Math.pow(Math.max(0,D-.5),2)}vae(b,r,s,C,A,v,S),vae(T,r,s,C,A,v,S);var R=window.Float32Array?new Float32Array(r*s):new Array(r*s);for(m=0,x=r*s;m<x;m++)R[m]=Math.min(Math.max(1-((b[m]-T[m])/i+n),0),1);return R}function vae(e,t,n,i,o,r,s){for(var a=0;a<t;a++){for(var c=0;c<n;c++)i[c]=e[c*t+a];for(wae(i,o,r,s,n),c=0;c<n;c++)e[c*t+a]=o[c]}for(c=0;c<n;c++){for(a=0;a<t;a++)i[a]=e[c*t+a];for(wae(i,o,r,s,t),a=0;a<t;a++)e[c*t+a]=Math.sqrt(o[a])}}function wae(e,t,n,i,o){n[0]=0,i[0]=-zw,i[1]=+zw;for(var r=1,s=0;r<o;r++){for(var a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);a<=i[s];)s--,a=(e[r]+r*r-(e[n[s]]+n[s]*n[s]))/(2*r-2*n[s]);s++,n[s]=r,i[s]=a,i[s+1]=+zw}for(r=0,s=0;r<o;r++){for(;i[s+1]<r;)s++;t[r]=(r-n[s])*(r-n[s])+e[n[s]]}}});var Lae=Wl((KSn,bB)=>{function IWe(){var e=0,t=1,n=2,i=3,o=4,r=5,s=6,a=7,c=8,u=9,f=10,d=11,p=12,g=13,m=14,x=15,b=16,T=17,C=0,A=1,S=2,v=3,D=4;function R(_,E){return 55296<=_.charCodeAt(E)&&_.charCodeAt(E)<=56319&&56320<=_.charCodeAt(E+1)&&_.charCodeAt(E+1)<=57343}function O(_,E){E===void 0&&(E=0);var w=_.charCodeAt(E);if(55296<=w&&w<=56319&&E<_.length-1){var I=w,L=_.charCodeAt(E+1);return 56320<=L&&L<=57343?(I-55296)*1024+(L-56320)+65536:I}if(56320<=w&&w<=57343&&E>=1){var I=_.charCodeAt(E-1),L=w;return 55296<=I&&I<=56319?(I-55296)*1024+(L-56320)+65536:L}return w}function M(_,E,w){var I=[_].concat(E).concat([w]),L=I[I.length-2],B=w,H=I.lastIndexOf(m);if(H>1&&I.slice(1,H).every(function(k){return k==i})&&[i,g,T].indexOf(_)==-1)return S;var V=I.lastIndexOf(o);if(V>0&&I.slice(1,V).every(function(k){return k==o})&&[p,o].indexOf(L)==-1)return I.filter(function(k){return k==o}).length%2==1?v:D;if(L==e&&B==t)return C;if(L==n||L==e||L==t)return B==m&&E.every(function(k){return k==i})?S:A;if(B==n||B==e||B==t)return A;if(L==s&&(B==s||B==a||B==u||B==f))return C;if((L==u||L==a)&&(B==a||B==c))return C;if((L==f||L==c)&&B==c)return C;if(B==i||B==x)return C;if(B==r)return C;if(L==p)return C;var G=I.indexOf(i)!=-1?I.lastIndexOf(i)-1:I.length-2;return[g,T].indexOf(I[G])!=-1&&I.slice(G+1,-1).every(function(k){return k==i})&&B==m||L==x&&[b,T].indexOf(B)!=-1?C:E.indexOf(o)!=-1?S:L==o&&B==o?C:A}this.nextBreak=function(_,E){if(E===void 0&&(E=0),E<0)return 0;if(E>=_.length-1)return _.length;for(var w=N(O(_,E)),I=[],L=E+1;L<_.length;L++)if(!R(_,L-1)){var B=N(O(_,L));if(M(w,I,B))return L;I.push(B)}return _.length},this.splitGraphemes=function(_){for(var E=[],w=0,I;(I=this.nextBreak(_,w))<_.length;)E.push(_.slice(w,I)),w=I;return w<_.length&&E.push(_.slice(w)),E},this.iterateGraphemes=function(_){var E=0,w={next:function(){var I,L;return(L=this.nextBreak(_,E))<_.length?(I=_.slice(E,L),E=L,{value:I,done:!1}):E<_.length?(I=_.slice(E),E=_.length,{value:I,done:!1}):{value:void 0,done:!0}}.bind(this)};return typeof Symbol<"u"&&Symbol.iterator&&(w[Symbol.iterator]=function(){return w}),w},this.countGraphemes=function(_){for(var E=0,w=0,I;(I=this.nextBreak(_,w))<_.length;)w=I,E++;return w<_.length&&E++,E};function N(_){return 1536<=_&&_<=1541||_==1757||_==1807||_==2274||_==3406||_==69821||70082<=_&&_<=70083||_==72250||72326<=_&&_<=72329||_==73030?p:_==13?e:_==10?t:0<=_&&_<=9||11<=_&&_<=12||14<=_&&_<=31||127<=_&&_<=159||_==173||_==1564||_==6158||_==8203||8206<=_&&_<=8207||_==8232||_==8233||8234<=_&&_<=8238||8288<=_&&_<=8292||_==8293||8294<=_&&_<=8303||55296<=_&&_<=57343||_==65279||65520<=_&&_<=65528||65529<=_&&_<=65531||113824<=_&&_<=113827||119155<=_&&_<=119162||_==917504||_==917505||917506<=_&&_<=917535||917632<=_&&_<=917759||918e3<=_&&_<=921599?n:768<=_&&_<=879||1155<=_&&_<=1159||1160<=_&&_<=1161||1425<=_&&_<=1469||_==1471||1473<=_&&_<=1474||1476<=_&&_<=1477||_==1479||1552<=_&&_<=1562||1611<=_&&_<=1631||_==1648||1750<=_&&_<=1756||1759<=_&&_<=1764||1767<=_&&_<=1768||1770<=_&&_<=1773||_==1809||1840<=_&&_<=1866||1958<=_&&_<=1968||2027<=_&&_<=2035||2070<=_&&_<=2073||2075<=_&&_<=2083||2085<=_&&_<=2087||2089<=_&&_<=2093||2137<=_&&_<=2139||2260<=_&&_<=2273||2275<=_&&_<=2306||_==2362||_==2364||2369<=_&&_<=2376||_==2381||2385<=_&&_<=2391||2402<=_&&_<=2403||_==2433||_==2492||_==2494||2497<=_&&_<=2500||_==2509||_==2519||2530<=_&&_<=2531||2561<=_&&_<=2562||_==2620||2625<=_&&_<=2626||2631<=_&&_<=2632||2635<=_&&_<=2637||_==2641||2672<=_&&_<=2673||_==2677||2689<=_&&_<=2690||_==2748||2753<=_&&_<=2757||2759<=_&&_<=2760||_==2765||2786<=_&&_<=2787||2810<=_&&_<=2815||_==2817||_==2876||_==2878||_==2879||2881<=_&&_<=2884||_==2893||_==2902||_==2903||2914<=_&&_<=2915||_==2946||_==3006||_==3008||_==3021||_==3031||_==3072||3134<=_&&_<=3136||3142<=_&&_<=3144||3146<=_&&_<=3149||3157<=_&&_<=3158||3170<=_&&_<=3171||_==3201||_==3260||_==3263||_==3266||_==3270||3276<=_&&_<=3277||3285<=_&&_<=3286||3298<=_&&_<=3299||3328<=_&&_<=3329||3387<=_&&_<=3388||_==3390||3393<=_&&_<=3396||_==3405||_==3415||3426<=_&&_<=3427||_==3530||_==3535||3538<=_&&_<=3540||_==3542||_==3551||_==3633||3636<=_&&_<=3642||3655<=_&&_<=3662||_==3761||3764<=_&&_<=3769||3771<=_&&_<=3772||3784<=_&&_<=3789||3864<=_&&_<=3865||_==3893||_==3895||_==3897||3953<=_&&_<=3966||3968<=_&&_<=3972||3974<=_&&_<=3975||3981<=_&&_<=3991||3993<=_&&_<=4028||_==4038||4141<=_&&_<=4144||4146<=_&&_<=4151||4153<=_&&_<=4154||4157<=_&&_<=4158||4184<=_&&_<=4185||4190<=_&&_<=4192||4209<=_&&_<=4212||_==4226||4229<=_&&_<=4230||_==4237||_==4253||4957<=_&&_<=4959||5906<=_&&_<=5908||5938<=_&&_<=5940||5970<=_&&_<=5971||6002<=_&&_<=6003||6068<=_&&_<=6069||6071<=_&&_<=6077||_==6086||6089<=_&&_<=6099||_==6109||6155<=_&&_<=6157||6277<=_&&_<=6278||_==6313||6432<=_&&_<=6434||6439<=_&&_<=6440||_==6450||6457<=_&&_<=6459||6679<=_&&_<=6680||_==6683||_==6742||6744<=_&&_<=6750||_==6752||_==6754||6757<=_&&_<=6764||6771<=_&&_<=6780||_==6783||6832<=_&&_<=6845||_==6846||6912<=_&&_<=6915||_==6964||6966<=_&&_<=6970||_==6972||_==6978||7019<=_&&_<=7027||7040<=_&&_<=7041||7074<=_&&_<=7077||7080<=_&&_<=7081||7083<=_&&_<=7085||_==7142||7144<=_&&_<=7145||_==7149||7151<=_&&_<=7153||7212<=_&&_<=7219||7222<=_&&_<=7223||7376<=_&&_<=7378||7380<=_&&_<=7392||7394<=_&&_<=7400||_==7405||_==7412||7416<=_&&_<=7417||7616<=_&&_<=7673||7675<=_&&_<=7679||_==8204||8400<=_&&_<=8412||8413<=_&&_<=8416||_==8417||8418<=_&&_<=8420||8421<=_&&_<=8432||11503<=_&&_<=11505||_==11647||11744<=_&&_<=11775||12330<=_&&_<=12333||12334<=_&&_<=12335||12441<=_&&_<=12442||_==42607||42608<=_&&_<=42610||42612<=_&&_<=42621||42654<=_&&_<=42655||42736<=_&&_<=42737||_==43010||_==43014||_==43019||43045<=_&&_<=43046||43204<=_&&_<=43205||43232<=_&&_<=43249||43302<=_&&_<=43309||43335<=_&&_<=43345||43392<=_&&_<=43394||_==43443||43446<=_&&_<=43449||_==43452||_==43493||43561<=_&&_<=43566||43569<=_&&_<=43570||43573<=_&&_<=43574||_==43587||_==43596||_==43644||_==43696||43698<=_&&_<=43700||43703<=_&&_<=43704||43710<=_&&_<=43711||_==43713||43756<=_&&_<=43757||_==43766||_==44005||_==44008||_==44013||_==64286||65024<=_&&_<=65039||65056<=_&&_<=65071||65438<=_&&_<=65439||_==66045||_==66272||66422<=_&&_<=66426||68097<=_&&_<=68099||68101<=_&&_<=68102||68108<=_&&_<=68111||68152<=_&&_<=68154||_==68159||68325<=_&&_<=68326||_==69633||69688<=_&&_<=69702||69759<=_&&_<=69761||69811<=_&&_<=69814||69817<=_&&_<=69818||69888<=_&&_<=69890||69927<=_&&_<=69931||69933<=_&&_<=69940||_==70003||70016<=_&&_<=70017||70070<=_&&_<=70078||70090<=_&&_<=70092||70191<=_&&_<=70193||_==70196||70198<=_&&_<=70199||_==70206||_==70367||70371<=_&&_<=70378||70400<=_&&_<=70401||_==70460||_==70462||_==70464||_==70487||70502<=_&&_<=70508||70512<=_&&_<=70516||70712<=_&&_<=70719||70722<=_&&_<=70724||_==70726||_==70832||70835<=_&&_<=70840||_==70842||_==70845||70847<=_&&_<=70848||70850<=_&&_<=70851||_==71087||71090<=_&&_<=71093||71100<=_&&_<=71101||71103<=_&&_<=71104||71132<=_&&_<=71133||71219<=_&&_<=71226||_==71229||71231<=_&&_<=71232||_==71339||_==71341||71344<=_&&_<=71349||_==71351||71453<=_&&_<=71455||71458<=_&&_<=71461||71463<=_&&_<=71467||72193<=_&&_<=72198||72201<=_&&_<=72202||72243<=_&&_<=72248||72251<=_&&_<=72254||_==72263||72273<=_&&_<=72278||72281<=_&&_<=72283||72330<=_&&_<=72342||72344<=_&&_<=72345||72752<=_&&_<=72758||72760<=_&&_<=72765||_==72767||72850<=_&&_<=72871||72874<=_&&_<=72880||72882<=_&&_<=72883||72885<=_&&_<=72886||73009<=_&&_<=73014||_==73018||73020<=_&&_<=73021||73023<=_&&_<=73029||_==73031||92912<=_&&_<=92916||92976<=_&&_<=92982||94095<=_&&_<=94098||113821<=_&&_<=113822||_==119141||119143<=_&&_<=119145||119150<=_&&_<=119154||119163<=_&&_<=119170||119173<=_&&_<=119179||119210<=_&&_<=119213||119362<=_&&_<=119364||121344<=_&&_<=121398||121403<=_&&_<=121452||_==121461||_==121476||121499<=_&&_<=121503||121505<=_&&_<=121519||122880<=_&&_<=122886||122888<=_&&_<=122904||122907<=_&&_<=122913||122915<=_&&_<=122916||122918<=_&&_<=122922||125136<=_&&_<=125142||125252<=_&&_<=125258||917536<=_&&_<=917631||917760<=_&&_<=917999?i:127462<=_&&_<=127487?o:_==2307||_==2363||2366<=_&&_<=2368||2377<=_&&_<=2380||2382<=_&&_<=2383||2434<=_&&_<=2435||2495<=_&&_<=2496||2503<=_&&_<=2504||2507<=_&&_<=2508||_==2563||2622<=_&&_<=2624||_==2691||2750<=_&&_<=2752||_==2761||2763<=_&&_<=2764||2818<=_&&_<=2819||_==2880||2887<=_&&_<=2888||2891<=_&&_<=2892||_==3007||3009<=_&&_<=3010||3014<=_&&_<=3016||3018<=_&&_<=3020||3073<=_&&_<=3075||3137<=_&&_<=3140||3202<=_&&_<=3203||_==3262||3264<=_&&_<=3265||3267<=_&&_<=3268||3271<=_&&_<=3272||3274<=_&&_<=3275||3330<=_&&_<=3331||3391<=_&&_<=3392||3398<=_&&_<=3400||3402<=_&&_<=3404||3458<=_&&_<=3459||3536<=_&&_<=3537||3544<=_&&_<=3550||3570<=_&&_<=3571||_==3635||_==3763||3902<=_&&_<=3903||_==3967||_==4145||4155<=_&&_<=4156||4182<=_&&_<=4183||_==4228||_==6070||6078<=_&&_<=6085||6087<=_&&_<=6088||6435<=_&&_<=6438||6441<=_&&_<=6443||6448<=_&&_<=6449||6451<=_&&_<=6456||6681<=_&&_<=6682||_==6741||_==6743||6765<=_&&_<=6770||_==6916||_==6965||_==6971||6973<=_&&_<=6977||6979<=_&&_<=6980||_==7042||_==7073||7078<=_&&_<=7079||_==7082||_==7143||7146<=_&&_<=7148||_==7150||7154<=_&&_<=7155||7204<=_&&_<=7211||7220<=_&&_<=7221||_==7393||7410<=_&&_<=7411||_==7415||43043<=_&&_<=43044||_==43047||43136<=_&&_<=43137||43188<=_&&_<=43203||43346<=_&&_<=43347||_==43395||43444<=_&&_<=43445||43450<=_&&_<=43451||43453<=_&&_<=43456||43567<=_&&_<=43568||43571<=_&&_<=43572||_==43597||_==43755||43758<=_&&_<=43759||_==43765||44003<=_&&_<=44004||44006<=_&&_<=44007||44009<=_&&_<=44010||_==44012||_==69632||_==69634||_==69762||69808<=_&&_<=69810||69815<=_&&_<=69816||_==69932||_==70018||70067<=_&&_<=70069||70079<=_&&_<=70080||70188<=_&&_<=70190||70194<=_&&_<=70195||_==70197||70368<=_&&_<=70370||70402<=_&&_<=70403||_==70463||70465<=_&&_<=70468||70471<=_&&_<=70472||70475<=_&&_<=70477||70498<=_&&_<=70499||70709<=_&&_<=70711||70720<=_&&_<=70721||_==70725||70833<=_&&_<=70834||_==70841||70843<=_&&_<=70844||_==70846||_==70849||71088<=_&&_<=71089||71096<=_&&_<=71099||_==71102||71216<=_&&_<=71218||71227<=_&&_<=71228||_==71230||_==71340||71342<=_&&_<=71343||_==71350||71456<=_&&_<=71457||_==71462||72199<=_&&_<=72200||_==72249||72279<=_&&_<=72280||_==72343||_==72751||_==72766||_==72873||_==72881||_==72884||94033<=_&&_<=94078||_==119142||_==119149?r:4352<=_&&_<=4447||43360<=_&&_<=43388?s:4448<=_&&_<=4519||55216<=_&&_<=55238?a:4520<=_&&_<=4607||55243<=_&&_<=55291?c:_==44032||_==44060||_==44088||_==44116||_==44144||_==44172||_==44200||_==44228||_==44256||_==44284||_==44312||_==44340||_==44368||_==44396||_==44424||_==44452||_==44480||_==44508||_==44536||_==44564||_==44592||_==44620||_==44648||_==44676||_==44704||_==44732||_==44760||_==44788||_==44816||_==44844||_==44872||_==44900||_==44928||_==44956||_==44984||_==45012||_==45040||_==45068||_==45096||_==45124||_==45152||_==45180||_==45208||_==45236||_==45264||_==45292||_==45320||_==45348||_==45376||_==45404||_==45432||_==45460||_==45488||_==45516||_==45544||_==45572||_==45600||_==45628||_==45656||_==45684||_==45712||_==45740||_==45768||_==45796||_==45824||_==45852||_==45880||_==45908||_==45936||_==45964||_==45992||_==46020||_==46048||_==46076||_==46104||_==46132||_==46160||_==46188||_==46216||_==46244||_==46272||_==46300||_==46328||_==46356||_==46384||_==46412||_==46440||_==46468||_==46496||_==46524||_==46552||_==46580||_==46608||_==46636||_==46664||_==46692||_==46720||_==46748||_==46776||_==46804||_==46832||_==46860||_==46888||_==46916||_==46944||_==46972||_==47e3||_==47028||_==47056||_==47084||_==47112||_==47140||_==47168||_==47196||_==47224||_==47252||_==47280||_==47308||_==47336||_==47364||_==47392||_==47420||_==47448||_==47476||_==47504||_==47532||_==47560||_==47588||_==47616||_==47644||_==47672||_==47700||_==47728||_==47756||_==47784||_==47812||_==47840||_==47868||_==47896||_==47924||_==47952||_==47980||_==48008||_==48036||_==48064||_==48092||_==48120||_==48148||_==48176||_==48204||_==48232||_==48260||_==48288||_==48316||_==48344||_==48372||_==48400||_==48428||_==48456||_==48484||_==48512||_==48540||_==48568||_==48596||_==48624||_==48652||_==48680||_==48708||_==48736||_==48764||_==48792||_==48820||_==48848||_==48876||_==48904||_==48932||_==48960||_==48988||_==49016||_==49044||_==49072||_==49100||_==49128||_==49156||_==49184||_==49212||_==49240||_==49268||_==49296||_==49324||_==49352||_==49380||_==49408||_==49436||_==49464||_==49492||_==49520||_==49548||_==49576||_==49604||_==49632||_==49660||_==49688||_==49716||_==49744||_==49772||_==49800||_==49828||_==49856||_==49884||_==49912||_==49940||_==49968||_==49996||_==50024||_==50052||_==50080||_==50108||_==50136||_==50164||_==50192||_==50220||_==50248||_==50276||_==50304||_==50332||_==50360||_==50388||_==50416||_==50444||_==50472||_==50500||_==50528||_==50556||_==50584||_==50612||_==50640||_==50668||_==50696||_==50724||_==50752||_==50780||_==50808||_==50836||_==50864||_==50892||_==50920||_==50948||_==50976||_==51004||_==51032||_==51060||_==51088||_==51116||_==51144||_==51172||_==51200||_==51228||_==51256||_==51284||_==51312||_==51340||_==51368||_==51396||_==51424||_==51452||_==51480||_==51508||_==51536||_==51564||_==51592||_==51620||_==51648||_==51676||_==51704||_==51732||_==51760||_==51788||_==51816||_==51844||_==51872||_==51900||_==51928||_==51956||_==51984||_==52012||_==52040||_==52068||_==52096||_==52124||_==52152||_==52180||_==52208||_==52236||_==52264||_==52292||_==52320||_==52348||_==52376||_==52404||_==52432||_==52460||_==52488||_==52516||_==52544||_==52572||_==52600||_==52628||_==52656||_==52684||_==52712||_==52740||_==52768||_==52796||_==52824||_==52852||_==52880||_==52908||_==52936||_==52964||_==52992||_==53020||_==53048||_==53076||_==53104||_==53132||_==53160||_==53188||_==53216||_==53244||_==53272||_==53300||_==53328||_==53356||_==53384||_==53412||_==53440||_==53468||_==53496||_==53524||_==53552||_==53580||_==53608||_==53636||_==53664||_==53692||_==53720||_==53748||_==53776||_==53804||_==53832||_==53860||_==53888||_==53916||_==53944||_==53972||_==54e3||_==54028||_==54056||_==54084||_==54112||_==54140||_==54168||_==54196||_==54224||_==54252||_==54280||_==54308||_==54336||_==54364||_==54392||_==54420||_==54448||_==54476||_==54504||_==54532||_==54560||_==54588||_==54616||_==54644||_==54672||_==54700||_==54728||_==54756||_==54784||_==54812||_==54840||_==54868||_==54896||_==54924||_==54952||_==54980||_==55008||_==55036||_==55064||_==55092||_==55120||_==55148||_==55176?u:44033<=_&&_<=44059||44061<=_&&_<=44087||44089<=_&&_<=44115||44117<=_&&_<=44143||44145<=_&&_<=44171||44173<=_&&_<=44199||44201<=_&&_<=44227||44229<=_&&_<=44255||44257<=_&&_<=44283||44285<=_&&_<=44311||44313<=_&&_<=44339||44341<=_&&_<=44367||44369<=_&&_<=44395||44397<=_&&_<=44423||44425<=_&&_<=44451||44453<=_&&_<=44479||44481<=_&&_<=44507||44509<=_&&_<=44535||44537<=_&&_<=44563||44565<=_&&_<=44591||44593<=_&&_<=44619||44621<=_&&_<=44647||44649<=_&&_<=44675||44677<=_&&_<=44703||44705<=_&&_<=44731||44733<=_&&_<=44759||44761<=_&&_<=44787||44789<=_&&_<=44815||44817<=_&&_<=44843||44845<=_&&_<=44871||44873<=_&&_<=44899||44901<=_&&_<=44927||44929<=_&&_<=44955||44957<=_&&_<=44983||44985<=_&&_<=45011||45013<=_&&_<=45039||45041<=_&&_<=45067||45069<=_&&_<=45095||45097<=_&&_<=45123||45125<=_&&_<=45151||45153<=_&&_<=45179||45181<=_&&_<=45207||45209<=_&&_<=45235||45237<=_&&_<=45263||45265<=_&&_<=45291||45293<=_&&_<=45319||45321<=_&&_<=45347||45349<=_&&_<=45375||45377<=_&&_<=45403||45405<=_&&_<=45431||45433<=_&&_<=45459||45461<=_&&_<=45487||45489<=_&&_<=45515||45517<=_&&_<=45543||45545<=_&&_<=45571||45573<=_&&_<=45599||45601<=_&&_<=45627||45629<=_&&_<=45655||45657<=_&&_<=45683||45685<=_&&_<=45711||45713<=_&&_<=45739||45741<=_&&_<=45767||45769<=_&&_<=45795||45797<=_&&_<=45823||45825<=_&&_<=45851||45853<=_&&_<=45879||45881<=_&&_<=45907||45909<=_&&_<=45935||45937<=_&&_<=45963||45965<=_&&_<=45991||45993<=_&&_<=46019||46021<=_&&_<=46047||46049<=_&&_<=46075||46077<=_&&_<=46103||46105<=_&&_<=46131||46133<=_&&_<=46159||46161<=_&&_<=46187||46189<=_&&_<=46215||46217<=_&&_<=46243||46245<=_&&_<=46271||46273<=_&&_<=46299||46301<=_&&_<=46327||46329<=_&&_<=46355||46357<=_&&_<=46383||46385<=_&&_<=46411||46413<=_&&_<=46439||46441<=_&&_<=46467||46469<=_&&_<=46495||46497<=_&&_<=46523||46525<=_&&_<=46551||46553<=_&&_<=46579||46581<=_&&_<=46607||46609<=_&&_<=46635||46637<=_&&_<=46663||46665<=_&&_<=46691||46693<=_&&_<=46719||46721<=_&&_<=46747||46749<=_&&_<=46775||46777<=_&&_<=46803||46805<=_&&_<=46831||46833<=_&&_<=46859||46861<=_&&_<=46887||46889<=_&&_<=46915||46917<=_&&_<=46943||46945<=_&&_<=46971||46973<=_&&_<=46999||47001<=_&&_<=47027||47029<=_&&_<=47055||47057<=_&&_<=47083||47085<=_&&_<=47111||47113<=_&&_<=47139||47141<=_&&_<=47167||47169<=_&&_<=47195||47197<=_&&_<=47223||47225<=_&&_<=47251||47253<=_&&_<=47279||47281<=_&&_<=47307||47309<=_&&_<=47335||47337<=_&&_<=47363||47365<=_&&_<=47391||47393<=_&&_<=47419||47421<=_&&_<=47447||47449<=_&&_<=47475||47477<=_&&_<=47503||47505<=_&&_<=47531||47533<=_&&_<=47559||47561<=_&&_<=47587||47589<=_&&_<=47615||47617<=_&&_<=47643||47645<=_&&_<=47671||47673<=_&&_<=47699||47701<=_&&_<=47727||47729<=_&&_<=47755||47757<=_&&_<=47783||47785<=_&&_<=47811||47813<=_&&_<=47839||47841<=_&&_<=47867||47869<=_&&_<=47895||47897<=_&&_<=47923||47925<=_&&_<=47951||47953<=_&&_<=47979||47981<=_&&_<=48007||48009<=_&&_<=48035||48037<=_&&_<=48063||48065<=_&&_<=48091||48093<=_&&_<=48119||48121<=_&&_<=48147||48149<=_&&_<=48175||48177<=_&&_<=48203||48205<=_&&_<=48231||48233<=_&&_<=48259||48261<=_&&_<=48287||48289<=_&&_<=48315||48317<=_&&_<=48343||48345<=_&&_<=48371||48373<=_&&_<=48399||48401<=_&&_<=48427||48429<=_&&_<=48455||48457<=_&&_<=48483||48485<=_&&_<=48511||48513<=_&&_<=48539||48541<=_&&_<=48567||48569<=_&&_<=48595||48597<=_&&_<=48623||48625<=_&&_<=48651||48653<=_&&_<=48679||48681<=_&&_<=48707||48709<=_&&_<=48735||48737<=_&&_<=48763||48765<=_&&_<=48791||48793<=_&&_<=48819||48821<=_&&_<=48847||48849<=_&&_<=48875||48877<=_&&_<=48903||48905<=_&&_<=48931||48933<=_&&_<=48959||48961<=_&&_<=48987||48989<=_&&_<=49015||49017<=_&&_<=49043||49045<=_&&_<=49071||49073<=_&&_<=49099||49101<=_&&_<=49127||49129<=_&&_<=49155||49157<=_&&_<=49183||49185<=_&&_<=49211||49213<=_&&_<=49239||49241<=_&&_<=49267||49269<=_&&_<=49295||49297<=_&&_<=49323||49325<=_&&_<=49351||49353<=_&&_<=49379||49381<=_&&_<=49407||49409<=_&&_<=49435||49437<=_&&_<=49463||49465<=_&&_<=49491||49493<=_&&_<=49519||49521<=_&&_<=49547||49549<=_&&_<=49575||49577<=_&&_<=49603||49605<=_&&_<=49631||49633<=_&&_<=49659||49661<=_&&_<=49687||49689<=_&&_<=49715||49717<=_&&_<=49743||49745<=_&&_<=49771||49773<=_&&_<=49799||49801<=_&&_<=49827||49829<=_&&_<=49855||49857<=_&&_<=49883||49885<=_&&_<=49911||49913<=_&&_<=49939||49941<=_&&_<=49967||49969<=_&&_<=49995||49997<=_&&_<=50023||50025<=_&&_<=50051||50053<=_&&_<=50079||50081<=_&&_<=50107||50109<=_&&_<=50135||50137<=_&&_<=50163||50165<=_&&_<=50191||50193<=_&&_<=50219||50221<=_&&_<=50247||50249<=_&&_<=50275||50277<=_&&_<=50303||50305<=_&&_<=50331||50333<=_&&_<=50359||50361<=_&&_<=50387||50389<=_&&_<=50415||50417<=_&&_<=50443||50445<=_&&_<=50471||50473<=_&&_<=50499||50501<=_&&_<=50527||50529<=_&&_<=50555||50557<=_&&_<=50583||50585<=_&&_<=50611||50613<=_&&_<=50639||50641<=_&&_<=50667||50669<=_&&_<=50695||50697<=_&&_<=50723||50725<=_&&_<=50751||50753<=_&&_<=50779||50781<=_&&_<=50807||50809<=_&&_<=50835||50837<=_&&_<=50863||50865<=_&&_<=50891||50893<=_&&_<=50919||50921<=_&&_<=50947||50949<=_&&_<=50975||50977<=_&&_<=51003||51005<=_&&_<=51031||51033<=_&&_<=51059||51061<=_&&_<=51087||51089<=_&&_<=51115||51117<=_&&_<=51143||51145<=_&&_<=51171||51173<=_&&_<=51199||51201<=_&&_<=51227||51229<=_&&_<=51255||51257<=_&&_<=51283||51285<=_&&_<=51311||51313<=_&&_<=51339||51341<=_&&_<=51367||51369<=_&&_<=51395||51397<=_&&_<=51423||51425<=_&&_<=51451||51453<=_&&_<=51479||51481<=_&&_<=51507||51509<=_&&_<=51535||51537<=_&&_<=51563||51565<=_&&_<=51591||51593<=_&&_<=51619||51621<=_&&_<=51647||51649<=_&&_<=51675||51677<=_&&_<=51703||51705<=_&&_<=51731||51733<=_&&_<=51759||51761<=_&&_<=51787||51789<=_&&_<=51815||51817<=_&&_<=51843||51845<=_&&_<=51871||51873<=_&&_<=51899||51901<=_&&_<=51927||51929<=_&&_<=51955||51957<=_&&_<=51983||51985<=_&&_<=52011||52013<=_&&_<=52039||52041<=_&&_<=52067||52069<=_&&_<=52095||52097<=_&&_<=52123||52125<=_&&_<=52151||52153<=_&&_<=52179||52181<=_&&_<=52207||52209<=_&&_<=52235||52237<=_&&_<=52263||52265<=_&&_<=52291||52293<=_&&_<=52319||52321<=_&&_<=52347||52349<=_&&_<=52375||52377<=_&&_<=52403||52405<=_&&_<=52431||52433<=_&&_<=52459||52461<=_&&_<=52487||52489<=_&&_<=52515||52517<=_&&_<=52543||52545<=_&&_<=52571||52573<=_&&_<=52599||52601<=_&&_<=52627||52629<=_&&_<=52655||52657<=_&&_<=52683||52685<=_&&_<=52711||52713<=_&&_<=52739||52741<=_&&_<=52767||52769<=_&&_<=52795||52797<=_&&_<=52823||52825<=_&&_<=52851||52853<=_&&_<=52879||52881<=_&&_<=52907||52909<=_&&_<=52935||52937<=_&&_<=52963||52965<=_&&_<=52991||52993<=_&&_<=53019||53021<=_&&_<=53047||53049<=_&&_<=53075||53077<=_&&_<=53103||53105<=_&&_<=53131||53133<=_&&_<=53159||53161<=_&&_<=53187||53189<=_&&_<=53215||53217<=_&&_<=53243||53245<=_&&_<=53271||53273<=_&&_<=53299||53301<=_&&_<=53327||53329<=_&&_<=53355||53357<=_&&_<=53383||53385<=_&&_<=53411||53413<=_&&_<=53439||53441<=_&&_<=53467||53469<=_&&_<=53495||53497<=_&&_<=53523||53525<=_&&_<=53551||53553<=_&&_<=53579||53581<=_&&_<=53607||53609<=_&&_<=53635||53637<=_&&_<=53663||53665<=_&&_<=53691||53693<=_&&_<=53719||53721<=_&&_<=53747||53749<=_&&_<=53775||53777<=_&&_<=53803||53805<=_&&_<=53831||53833<=_&&_<=53859||53861<=_&&_<=53887||53889<=_&&_<=53915||53917<=_&&_<=53943||53945<=_&&_<=53971||53973<=_&&_<=53999||54001<=_&&_<=54027||54029<=_&&_<=54055||54057<=_&&_<=54083||54085<=_&&_<=54111||54113<=_&&_<=54139||54141<=_&&_<=54167||54169<=_&&_<=54195||54197<=_&&_<=54223||54225<=_&&_<=54251||54253<=_&&_<=54279||54281<=_&&_<=54307||54309<=_&&_<=54335||54337<=_&&_<=54363||54365<=_&&_<=54391||54393<=_&&_<=54419||54421<=_&&_<=54447||54449<=_&&_<=54475||54477<=_&&_<=54503||54505<=_&&_<=54531||54533<=_&&_<=54559||54561<=_&&_<=54587||54589<=_&&_<=54615||54617<=_&&_<=54643||54645<=_&&_<=54671||54673<=_&&_<=54699||54701<=_&&_<=54727||54729<=_&&_<=54755||54757<=_&&_<=54783||54785<=_&&_<=54811||54813<=_&&_<=54839||54841<=_&&_<=54867||54869<=_&&_<=54895||54897<=_&&_<=54923||54925<=_&&_<=54951||54953<=_&&_<=54979||54981<=_&&_<=55007||55009<=_&&_<=55035||55037<=_&&_<=55063||55065<=_&&_<=55091||55093<=_&&_<=55119||55121<=_&&_<=55147||55149<=_&&_<=55175||55177<=_&&_<=55203?f:_==9757||_==9977||9994<=_&&_<=9997||_==127877||127938<=_&&_<=127940||_==127943||127946<=_&&_<=127948||128066<=_&&_<=128067||128070<=_&&_<=128080||_==128110||128112<=_&&_<=128120||_==128124||128129<=_&&_<=128131||128133<=_&&_<=128135||_==128170||128372<=_&&_<=128373||_==128378||_==128400||128405<=_&&_<=128406||128581<=_&&_<=128583||128587<=_&&_<=128591||_==128675||128692<=_&&_<=128694||_==128704||_==128716||129304<=_&&_<=129308||129310<=_&&_<=129311||_==129318||129328<=_&&_<=129337||129341<=_&&_<=129342||129489<=_&&_<=129501?g:127995<=_&&_<=127999?m:_==8205?x:_==9792||_==9794||9877<=_&&_<=9878||_==9992||_==10084||_==127752||_==127806||_==127859||_==127891||_==127908||_==127912||_==127979||_==127981||_==128139||128187<=_&&_<=128188||_==128295||_==128300||_==128488||_==128640||_==128658?b:128102<=_&&_<=128105?T:d}return this}typeof bB<"u"&&bB.exports&&(bB.exports=IWe)});var xde=Wl((S7,v7)=>{(function(e,t){typeof S7=="object"&&typeof v7<"u"?v7.exports=t():typeof define=="function"&&define.amd?define(t):(e=e||self).RBush=t()})(S7,function(){"use strict";function e(b,T,C,A,S){(function v(D,R,O,M,N){for(;M>O;){if(M-O>600){var _=M-O+1,E=R-O+1,w=Math.log(_),I=.5*Math.exp(2*w/3),L=.5*Math.sqrt(w*I*(_-I)/_)*(E-_/2<0?-1:1),B=Math.max(O,Math.floor(R-E*I/_+L)),H=Math.min(M,Math.floor(R+(_-E)*I/_+L));v(D,R,B,H,N)}var V=D[R],G=O,k=M;for(t(D,O,R),N(D[M],V)>0&&t(D,O,M);G<k;){for(t(D,G,k),G++,k--;N(D[G],V)<0;)G++;for(;N(D[k],V)>0;)k--}N(D[O],V)===0?t(D,O,k):t(D,++k,M),k<=R&&(O=k+1),R<=k&&(M=k-1)}})(b,T,C||0,A||b.length-1,S||n)}function t(b,T,C){var A=b[T];b[T]=b[C],b[C]=A}function n(b,T){return b<T?-1:b>T?1:0}var i=function(b){b===void 0&&(b=9),this._maxEntries=Math.max(4,b),this._minEntries=Math.max(2,Math.ceil(.4*this._maxEntries)),this.clear()};function o(b,T,C){if(!C)return T.indexOf(b);for(var A=0;A<T.length;A++)if(C(b,T[A]))return A;return-1}function r(b,T){s(b,0,b.children.length,T,b)}function s(b,T,C,A,S){S||(S=m(null)),S.minX=1/0,S.minY=1/0,S.maxX=-1/0,S.maxY=-1/0;for(var v=T;v<C;v++){var D=b.children[v];a(S,b.leaf?A(D):D)}return S}function a(b,T){return b.minX=Math.min(b.minX,T.minX),b.minY=Math.min(b.minY,T.minY),b.maxX=Math.max(b.maxX,T.maxX),b.maxY=Math.max(b.maxY,T.maxY),b}function c(b,T){return b.minX-T.minX}function u(b,T){return b.minY-T.minY}function f(b){return(b.maxX-b.minX)*(b.maxY-b.minY)}function d(b){return b.maxX-b.minX+(b.maxY-b.minY)}function p(b,T){return b.minX<=T.minX&&b.minY<=T.minY&&T.maxX<=b.maxX&&T.maxY<=b.maxY}function g(b,T){return T.minX<=b.maxX&&T.minY<=b.maxY&&T.maxX>=b.minX&&T.maxY>=b.minY}function m(b){return{children:b,height:1,leaf:!0,minX:1/0,minY:1/0,maxX:-1/0,maxY:-1/0}}function x(b,T,C,A,S){for(var v=[T,C];v.length;)if(!((C=v.pop())-(T=v.pop())<=A)){var D=T+Math.ceil((C-T)/A/2)*A;e(b,D,T,C,S),v.push(T,D,D,C)}}return i.prototype.all=function(){return this._all(this.data,[])},i.prototype.search=function(b){var T=this.data,C=[];if(!g(b,T))return C;for(var A=this.toBBox,S=[];T;){for(var v=0;v<T.children.length;v++){var D=T.children[v],R=T.leaf?A(D):D;g(b,R)&&(T.leaf?C.push(D):p(b,R)?this._all(D,C):S.push(D))}T=S.pop()}return C},i.prototype.collides=function(b){var T=this.data;if(!g(b,T))return!1;for(var C=[];T;){for(var A=0;A<T.children.length;A++){var S=T.children[A],v=T.leaf?this.toBBox(S):S;if(g(b,v)){if(T.leaf||p(b,v))return!0;C.push(S)}}T=C.pop()}return!1},i.prototype.load=function(b){if(!b||!b.length)return this;if(b.length<this._minEntries){for(var T=0;T<b.length;T++)this.insert(b[T]);return this}var C=this._build(b.slice(),0,b.length-1,0);if(this.data.children.length)if(this.data.height===C.height)this._splitRoot(this.data,C);else{if(this.data.height<C.height){var A=this.data;this.data=C,C=A}this._insert(C,this.data.height-C.height-1,!0)}else this.data=C;return this},i.prototype.insert=function(b){return b&&this._insert(b,this.data.height-1),this},i.prototype.clear=function(){return this.data=m([]),this},i.prototype.remove=function(b,T){if(!b)return this;for(var C,A,S,v=this.data,D=this.toBBox(b),R=[],O=[];v||R.length;){if(v||(v=R.pop(),A=R[R.length-1],C=O.pop(),S=!0),v.leaf){var M=o(b,v.children,T);if(M!==-1)return v.children.splice(M,1),R.push(v),this._condense(R),this}S||v.leaf||!p(v,D)?A?(C++,v=A.children[C],S=!1):v=null:(R.push(v),O.push(C),C=0,A=v,v=v.children[0])}return this},i.prototype.toBBox=function(b){return b},i.prototype.compareMinX=function(b,T){return b.minX-T.minX},i.prototype.compareMinY=function(b,T){return b.minY-T.minY},i.prototype.toJSON=function(){return this.data},i.prototype.fromJSON=function(b){return this.data=b,this},i.prototype._all=function(b,T){for(var C=[];b;)b.leaf?T.push.apply(T,b.children):C.push.apply(C,b.children),b=C.pop();return T},i.prototype._build=function(b,T,C,A){var S,v=C-T+1,D=this._maxEntries;if(v<=D)return r(S=m(b.slice(T,C+1)),this.toBBox),S;A||(A=Math.ceil(Math.log(v)/Math.log(D)),D=Math.ceil(v/Math.pow(D,A-1))),(S=m([])).leaf=!1,S.height=A;var R=Math.ceil(v/D),O=R*Math.ceil(Math.sqrt(D));x(b,T,C,O,this.compareMinX);for(var M=T;M<=C;M+=O){var N=Math.min(M+O-1,C);x(b,M,N,R,this.compareMinY);for(var _=M;_<=N;_+=R){var E=Math.min(_+R-1,N);S.children.push(this._build(b,_,E,A-1))}}return r(S,this.toBBox),S},i.prototype._chooseSubtree=function(b,T,C,A){for(;A.push(T),!T.leaf&&A.length-1!==C;){for(var S=1/0,v=1/0,D=void 0,R=0;R<T.children.length;R++){var O=T.children[R],M=f(O),N=(_=b,E=O,(Math.max(E.maxX,_.maxX)-Math.min(E.minX,_.minX))*(Math.max(E.maxY,_.maxY)-Math.min(E.minY,_.minY))-M);N<v?(v=N,S=M<S?M:S,D=O):N===v&&M<S&&(S=M,D=O)}T=D||T.children[0]}var _,E;return T},i.prototype._insert=function(b,T,C){var A=C?b:this.toBBox(b),S=[],v=this._chooseSubtree(A,this.data,T,S);for(v.children.push(b),a(v,A);T>=0&&S[T].children.length>this._maxEntries;)this._split(S,T),T--;this._adjustParentBBoxes(A,S,T)},i.prototype._split=function(b,T){var C=b[T],A=C.children.length,S=this._minEntries;this._chooseSplitAxis(C,S,A);var v=this._chooseSplitIndex(C,S,A),D=m(C.children.splice(v,C.children.length-v));D.height=C.height,D.leaf=C.leaf,r(C,this.toBBox),r(D,this.toBBox),T?b[T-1].children.push(D):this._splitRoot(C,D)},i.prototype._splitRoot=function(b,T){this.data=m([b,T]),this.data.height=b.height+1,this.data.leaf=!1,r(this.data,this.toBBox)},i.prototype._chooseSplitIndex=function(b,T,C){for(var A,S,v,D,R,O,M,N=1/0,_=1/0,E=T;E<=C-T;E++){var w=s(b,0,E,this.toBBox),I=s(b,E,C,this.toBBox),L=(S=w,v=I,D=void 0,R=void 0,O=void 0,M=void 0,D=Math.max(S.minX,v.minX),R=Math.max(S.minY,v.minY),O=Math.min(S.maxX,v.maxX),M=Math.min(S.maxY,v.maxY),Math.max(0,O-D)*Math.max(0,M-R)),B=f(w)+f(I);L<N?(N=L,A=E,_=B<_?B:_):L===N&&B<_&&(_=B,A=E)}return A||C-T},i.prototype._chooseSplitAxis=function(b,T,C){var A=b.leaf?this.compareMinX:c,S=b.leaf?this.compareMinY:u;this._allDistMargin(b,T,C,A)<this._allDistMargin(b,T,C,S)&&b.children.sort(A)},i.prototype._allDistMargin=function(b,T,C,A){b.children.sort(A);for(var S=this.toBBox,v=s(b,0,T,S),D=s(b,C-T,C,S),R=d(v)+d(D),O=T;O<C-T;O++){var M=b.children[O];a(v,b.leaf?S(M):M),R+=d(v)}for(var N=C-T-1;N>=T;N--){var _=b.children[N];a(D,b.leaf?S(_):_),R+=d(D)}return R},i.prototype._adjustParentBBoxes=function(b,T,C){for(var A=C;A>=0;A--)a(T[A],b)},i.prototype._condense=function(b){for(var T=b.length-1,C=void 0;T>=0;T--)b[T].children.length===0?T>0?(C=b[T-1].children).splice(C.indexOf(b[T]),1):this.clear():r(b[T],this.toBBox)},i})});var UY=Wl((exports,module)=>{/*! + * protobuf.js v7.2.5 (c) 2016, daniel wirtz + * compiled tue, 22 aug 2023 00:04:28 utc * licensed under the bsd-3-clause license * see: https://github.com/dcodeio/protobuf.js for details - */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,u=!0;c<arguments.length;)s[a++]=arguments[c++];return new Promise(function(d,p){s[a]=function(m){if(u)if(u=!1,m)p(m);else{for(var x=new Array(arguments.length-1),b=0;b<x.length;)x[b++]=arguments[b];d.apply(null,x)}};try{o.apply(r||null,s)}catch(g){u&&(u=!1,p(g))}})}},{}],2:[function(e,t,n){"use strict";var i=n;i.length=function(u){var f=u.length;if(!f)return 0;for(var d=0;--f%4>1&&u.charAt(f)==="=";)++d;return Math.ceil(u.length*3)/4-d};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(u,f,d){for(var p=null,g=[],m=0,x=0,b;f<d;){var T=u[f++];switch(x){case 0:g[m++]=o[T>>2],b=(T&3)<<4,x=1;break;case 1:g[m++]=o[b|T>>4],b=(T&15)<<2,x=2;break;case 2:g[m++]=o[b|T>>6],g[m++]=o[T&63],x=0;break}m>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),m=0)}return x&&(g[m++]=o[b],g[m++]=61,x===1&&(g[m++]=61)),p?(m&&p.push(String.fromCharCode.apply(String,g.slice(0,m))),p.join("")):String.fromCharCode.apply(String,g.slice(0,m))};var a="invalid encoding";i.decode=function(u,f,d){for(var p=d,g=0,m,x=0;x<u.length;){var b=u.charCodeAt(x++);if(b===61&&g>1)break;if((b=r[b])===undefined)throw Error(a);switch(g){case 0:m=b,g=1;break;case 1:f[d++]=m<<2|(b&48)>>4,m=b,g=2;break;case 2:f[d++]=(m&15)<<4|(b&60)>>2,m=b,g=3;break;case 3:f[d++]=(m&3)<<6|b,g=0;break}}if(g===1)throw Error(a);return d-p},i.test=function(u){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(u)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c<a.length;)a[c].fn===s?a.splice(c,1):++c;return this},i.prototype.emit=function(r){var s=this._listeners[r];if(s){for(var a=[],c=1;c<arguments.length;)a.push(arguments[c++]);for(c=0;c<s.length;)s[c].fn.apply(s[c++].ctx,a)}return this}},{}],4:[function(e,t,n){"use strict";t.exports=i(i);function i(c){return typeof Float32Array<"u"?function(){var u=new Float32Array([-0]),f=new Uint8Array(u.buffer),d=f[3]===128;function p(b,T,C){u[0]=b,T[C]=f[0],T[C+1]=f[1],T[C+2]=f[2],T[C+3]=f[3]}function g(b,T,C){u[0]=b,T[C]=f[3],T[C+1]=f[2],T[C+2]=f[1],T[C+3]=f[0]}c.writeFloatLE=d?p:g,c.writeFloatBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],u[0]}function x(b,T){return f[3]=b[T],f[2]=b[T+1],f[1]=b[T+2],f[0]=b[T+3],u[0]}c.readFloatLE=d?m:x,c.readFloatBE=d?x:m}():function(){function u(d,p,g,m){var x=p<0?1:0;if(x&&(p=-p),p===0)d(1/p>0?0:2147483648,g,m);else if(isNaN(p))d(2143289344,g,m);else if(p>34028234663852886e22)d((x<<31|2139095040)>>>0,g,m);else if(p<11754943508222875e-54)d((x<<31|Math.round(p/1401298464324817e-60))>>>0,g,m);else{var b=Math.floor(Math.log(p)/Math.LN2),T=Math.round(p*Math.pow(2,-b)*8388608)&8388607;d((x<<31|b+127<<23|T)>>>0,g,m)}}c.writeFloatLE=u.bind(null,o),c.writeFloatBE=u.bind(null,r);function f(d,p,g){var m=d(p,g),x=(m>>31)*2+1,b=m>>>23&255,T=m&8388607;return b===255?T?NaN:x*(1/0):b===0?x*1401298464324817e-60*T:x*Math.pow(2,b-150)*(T+8388608)}c.readFloatLE=f.bind(null,s),c.readFloatBE=f.bind(null,a)}(),typeof Float64Array<"u"?function(){var u=new Float64Array([-0]),f=new Uint8Array(u.buffer),d=f[7]===128;function p(b,T,C){u[0]=b,T[C]=f[0],T[C+1]=f[1],T[C+2]=f[2],T[C+3]=f[3],T[C+4]=f[4],T[C+5]=f[5],T[C+6]=f[6],T[C+7]=f[7]}function g(b,T,C){u[0]=b,T[C]=f[7],T[C+1]=f[6],T[C+2]=f[5],T[C+3]=f[4],T[C+4]=f[3],T[C+5]=f[2],T[C+6]=f[1],T[C+7]=f[0]}c.writeDoubleLE=d?p:g,c.writeDoubleBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],f[4]=b[T+4],f[5]=b[T+5],f[6]=b[T+6],f[7]=b[T+7],u[0]}function x(b,T){return f[7]=b[T],f[6]=b[T+1],f[5]=b[T+2],f[4]=b[T+3],f[3]=b[T+4],f[2]=b[T+5],f[1]=b[T+6],f[0]=b[T+7],u[0]}c.readDoubleLE=d?m:x,c.readDoubleBE=d?x:m}():function(){function u(d,p,g,m,x,b){var T=m<0?1:0;if(T&&(m=-m),m===0)d(0,x,b+p),d(1/m>0?0:2147483648,x,b+g);else if(isNaN(m))d(0,x,b+p),d(2146959360,x,b+g);else if(m>17976931348623157e292)d(0,x,b+p),d((T<<31|2146435072)>>>0,x,b+g);else{var C;if(m<22250738585072014e-324)C=m/5e-324,d(C>>>0,x,b+p),d((T<<31|C/4294967296)>>>0,x,b+g);else{var A=Math.floor(Math.log(m)/Math.LN2);A===1024&&(A=1023),C=m*Math.pow(2,-A),d(C*4503599627370496>>>0,x,b+p),d((T<<31|A+1023<<20|C*1048576&1048575)>>>0,x,b+g)}}}c.writeDoubleLE=u.bind(null,o,0,4),c.writeDoubleBE=u.bind(null,r,4,0);function f(d,p,g,m,x){var b=d(m,x+p),T=d(m,x+g),C=(T>>31)*2+1,A=T>>>20&2047,S=4294967296*(T&1048575)+b;return A===2047?S?NaN:C*(1/0):A===0?C*5e-324*S:C*Math.pow(2,A-1075)*(S+4503599627370496)}c.readDoubleLE=f.bind(null,s,0,4),c.readDoubleBE=f.bind(null,a,4,0)}(),c}function o(c,u,f){u[f]=c&255,u[f+1]=c>>>8&255,u[f+2]=c>>>16&255,u[f+3]=c>>>24}function r(c,u,f){u[f]=c>>>24,u[f+1]=c>>>16&255,u[f+2]=c>>>8&255,u[f+3]=c&255}function s(c,u){return(c[u]|c[u+1]<<8|c[u+2]<<16|c[u+3]<<24)>>>0}function a(c,u){return(c[u]<<24|c[u+1]<<16|c[u+2]<<8|c[u+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,u=null,f=a;return function(p){if(p<1||p>c)return o(p);f+p>a&&(u=o(a),f=0);var g=r.call(u,f,f+=p);return f&7&&(f=(f|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c<r.length;++c)a=r.charCodeAt(c),a<128?s+=1:a<2048?s+=2:(a&64512)===55296&&(r.charCodeAt(c+1)&64512)===56320?(++c,s+=4):s+=3;return s},i.read=function(r,s,a){var c=a-s;if(c<1)return"";for(var u=null,f=[],d=0,p;s<a;)p=r[s++],p<128?f[d++]=p:p>191&&p<224?f[d++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,f[d++]=55296+(p>>10),f[d++]=56320+(p&1023)):f[d++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,d>8191&&((u||(u=[])).push(String.fromCharCode.apply(String,f)),d=0);return u?(d&&u.push(String.fromCharCode.apply(String,f.slice(0,d))),u.join("")):String.fromCharCode.apply(String,f.slice(0,d))},i.write=function(r,s,a){for(var c=a,u,f,d=0;d<r.length;++d)u=r.charCodeAt(d),u<128?s[a++]=u:u<2048?(s[a++]=u>>6|192,s[a++]=u&63|128):(u&64512)===55296&&((f=r.charCodeAt(d+1))&64512)===56320?(u=65536+((u&1023)<<10)+(f&1023),++d,s[a++]=u>>18|240,s[a++]=u>>12&63|128,s[a++]=u>>6&63|128,s[a++]=u&63|128):(s[a++]=u>>12|224,s[a++]=u>>6&63|128,s[a++]=u&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(m,x){return RangeError("index out of range: "+m.pos+" + "+(x||1)+" > "+m.len)}function c(m){this.buf=m,this.pos=0,this.len=m.length}var u=typeof Uint8Array<"u"?function(x){if(x instanceof Uint8Array||Array.isArray(x))return new c(x);throw Error("illegal buffer")}:function(x){if(Array.isArray(x))return new c(x);throw Error("illegal buffer")},f=function(){return i.Buffer?function(b){return(c.create=function(C){return i.Buffer.isBuffer(C)?new o(C):u(C)})(b)}:u};c.create=f(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var x=4294967295;return function(){if(x=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(x=(x|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return x;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return x}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var x=this.uint32();return x>>>1^-(x&1)|0};function d(){var m=new r(0,0),x=0;if(this.len-this.pos>4){for(;x<4;++x)if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m;if(m.lo=(m.lo|(this.buf[this.pos]&127)<<28)>>>0,m.hi=(m.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return m;x=0}else{for(;x<3;++x){if(this.pos>=this.len)throw a(this);if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m}return m.lo=(m.lo|(this.buf[this.pos++]&127)<<x*7)>>>0,m}if(this.len-this.pos>4){for(;x<5;++x)if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}else for(;x<5;++x){if(this.pos>=this.len)throw a(this);if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(m,x){return(m[x-4]|m[x-3]<<8|m[x-2]<<16|m[x-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var x=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,x},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var x=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,x},c.prototype.bytes=function(){var x=this.uint32(),b=this.pos,T=this.pos+x;if(T>this.len)throw a(this,x);if(this.pos+=x,Array.isArray(this.buf))return this.buf.slice(b,T);if(b===T){var C=i.Buffer;return C?C.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,b,T)},c.prototype.string=function(){var x=this.bytes();return s.read(x,0,x.length)},c.prototype.skip=function(x){if(typeof x=="number"){if(this.pos+x>this.len)throw a(this,x);this.pos+=x}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(m){switch(m){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(m=this.uint32()&7)!==4;)this.skipType(m);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+m+" at offset "+this.pos)}return this},c._configure=function(m){o=m,c.create=f(),o._configure();var x=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return d.call(this)[x](!1)},uint64:function(){return d.call(this)[x](!0)},sint64:function(){return d.call(this).zzDecode()[x](!1)},fixed64:function(){return g.call(this)[x](!0)},sfixed64:function(){return g.call(this)[x](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=!!s,this.responseDelimited=!!a}o.prototype.rpcCall=function r(s,a,c,u,f){if(!u)throw TypeError("request must be specified");var d=this;if(!f)return i.asPromise(r,d,s,a,c,u);if(!d.rpcImpl)return setTimeout(function(){f(Error("already ended"))},0),undefined;try{return d.rpcImpl(s,a[d.requestDelimited?"encodeDelimited":"encode"](u).finish(),function(g,m){if(g)return d.emit("error",g,s),f(g);if(m===null)return d.end(!0),undefined;if(!(m instanceof c))try{m=c[d.responseDelimited?"decodeDelimited":"decode"](m)}catch(x){return d.emit("error",x,s),f(x)}return d.emit("data",m,s),f(null,m)})}catch(p){return d.emit("error",p,s),setTimeout(function(){f(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,u){this.lo=c>>>0,this.hi=u>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(u){if(u===0)return r;var f=u<0;f&&(u=-u);var d=u>>>0,p=(u-d)/4294967296>>>0;return f&&(p=~p>>>0,d=~d>>>0,++d>4294967295&&(d=0,++p>4294967295&&(p=0))),new o(d,p)},o.from=function(u){if(typeof u=="number")return o.fromNumber(u);if(i.isString(u))if(i.Long)u=i.Long.fromString(u);else return o.fromNumber(parseInt(u,10));return u.low||u.high?new o(u.low>>>0,u.high>>>0):r},o.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var f=~this.lo+1>>>0,d=~this.hi>>>0;return f||(d=d+1>>>0),-(f+d*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(u){return i.Long?new i.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var a=String.prototype.charCodeAt;o.fromHash=function(u){return u===s?r:new o((a.call(u,0)|a.call(u,1)<<8|a.call(u,2)<<16|a.call(u,3)<<24)>>>0,(a.call(u,4)|a.call(u,5)<<8|a.call(u,6)<<16|a.call(u,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},o.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},o.prototype.length=function(){var u=this.lo,f=(this.lo>>>28|this.hi<<4)>>>0,d=this.hi>>>24;return d===0?f===0?u<16384?u<128?1:2:u<2097152?3:4:f<16384?f<128?5:6:f<2097152?7:8:d<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var u=a[c];return u!=null&&a.hasOwnProperty(c)?typeof u!="object"||(Array.isArray(u)?u.length:Object.keys(u).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var u=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(u.lo,u.hi,c):u.toNumber(!!c)};function o(s,a,c){for(var u=Object.keys(a),f=0;f<u.length;++f)(s[u[f]]===undefined||!c)&&(s[u[f]]=a[u[f]]);return s}i.merge=o,i.lcFirst=function(a){return a.charAt(0).toLowerCase()+a.substring(1)};function r(s){function a(c,u){if(!(this instanceof a))return new a(c,u);Object.defineProperty(this,"message",{get:function(){return c}}),Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:new Error().stack||""}),u&&o(this,u)}return a.prototype=Object.create(Error.prototype,{constructor:{value:a,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return s},set:undefined,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),a}i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(a){for(var c={},u=0;u<a.length;++u)c[a[u]]=1;return function(){for(var f=Object.keys(this),d=f.length-1;d>-1;--d)if(c[f[d]]===1&&this[f[d]]!==undefined&&this[f[d]]!==null)return f[d]}},i.oneOfSetter=function(a){return function(c){for(var u=0;u<a.length;++u)a[u]!==c&&delete this[a[u]]}},i.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},i._configure=function(){var s=i.Buffer;if(!s){i._Buffer_from=i._Buffer_allocUnsafe=null;return}i._Buffer_from=s.from!==Uint8Array.from&&s.from||function(c,u){return new s(c,u)},i._Buffer_allocUnsafe=s.allocUnsafe||function(c){return new s(c)}}},{1:1,14:14,2:2,3:3,4:4,5:5,6:6,7:7}],16:[function(e,t,n){"use strict";t.exports=d;var i=e(15),o,r=i.LongBits,s=i.base64,a=i.utf8;function c(A,S,w){this.fn=A,this.len=S,this.next=undefined,this.val=w}function u(){}function f(A){this.head=A.head,this.tail=A.tail,this.len=A.len,this.next=A.states}function d(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return i.Buffer?function(){return(d.create=function(){return new o})()}:function(){return new d}};d.create=p(),d.alloc=function(S){return new i.Array(S)},i.Array!==Array&&(d.alloc=i.pool(d.alloc,i.Array.prototype.subarray)),d.prototype._push=function(S,w,D){return this.tail=this.tail.next=new c(S,w,D),this.len+=w,this};function g(A,S,w){S[w]=A&255}function m(A,S,w){for(;A>127;)S[w++]=A&127|128,A>>>=7;S[w]=A}function x(A,S){this.len=A,this.next=undefined,this.val=S}x.prototype=Object.create(c.prototype),x.prototype.fn=m,d.prototype.uint32=function(S){return this.len+=(this.tail=this.tail.next=new x((S=S>>>0)<128?1:S<16384?2:S<2097152?3:S<268435456?4:5,S)).len,this},d.prototype.int32=function(S){return S<0?this._push(b,10,r.fromNumber(S)):this.uint32(S)},d.prototype.sint32=function(S){return this.uint32((S<<1^S>>31)>>>0)};function b(A,S,w){for(;A.hi;)S[w++]=A.lo&127|128,A.lo=(A.lo>>>7|A.hi<<25)>>>0,A.hi>>>=7;for(;A.lo>127;)S[w++]=A.lo&127|128,A.lo=A.lo>>>7;S[w++]=A.lo}d.prototype.uint64=function(S){var w=r.from(S);return this._push(b,w.length(),w)},d.prototype.int64=d.prototype.uint64,d.prototype.sint64=function(S){var w=r.from(S).zzEncode();return this._push(b,w.length(),w)},d.prototype.bool=function(S){return this._push(g,1,S?1:0)};function T(A,S,w){S[w]=A&255,S[w+1]=A>>>8&255,S[w+2]=A>>>16&255,S[w+3]=A>>>24}d.prototype.fixed32=function(S){return this._push(T,4,S>>>0)},d.prototype.sfixed32=d.prototype.fixed32,d.prototype.fixed64=function(S){var w=r.from(S);return this._push(T,4,w.lo)._push(T,4,w.hi)},d.prototype.sfixed64=d.prototype.fixed64,d.prototype.float=function(S){return this._push(i.float.writeFloatLE,4,S)},d.prototype.double=function(S){return this._push(i.float.writeDoubleLE,8,S)};var C=i.Array.prototype.set?function(S,w,D){w.set(S,D)}:function(S,w,D){for(var O=0;O<S.length;++O)w[D+O]=S[O]};d.prototype.bytes=function(S){var w=S.length>>>0;if(!w)return this._push(g,1,0);if(i.isString(S)){var D=d.alloc(w=s.length(S));s.decode(S,D,0),S=D}return this.uint32(w)._push(C,w,S)},d.prototype.string=function(S){var w=a.length(S);return w?this.uint32(w)._push(a.write,w,S):this._push(g,1,0)},d.prototype.fork=function(){return this.states=new f(this),this.head=this.tail=new c(u,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},d.prototype.ldelim=function(){var S=this.head,w=this.tail,D=this.len;return this.reset().uint32(D),D&&(this.tail.next=S.next,this.tail=w,this.len+=D),this},d.prototype.finish=function(){for(var S=this.head.next,w=this.constructor.alloc(this.len),D=0;S;)S.fn(S.val,w,D),D+=S.len,S=S.next;return w},d._configure=function(A){o=A,d.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,u,f){u.set(c,f)}:function(c,u,f){if(c.copy)c.copy(u,f,0,c.length);else for(var d=0;d<c.length;)u[f++]=c[d++]}},r.prototype.bytes=function(c){o.isString(c)&&(c=o._Buffer_from(c,"base64"));var u=c.length>>>0;return this.uint32(u),u&&this._push(r.writeBytesBuffer,u,c),this};function s(a,c,u){a.length<40?o.utf8.write(a,c,u):c.utf8Write?c.utf8Write(a,u):c.write(a,u)}r.prototype.string=function(c){var u=o.Buffer.byteLength(c);return this.uint32(u),u&&this._push(s,u,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var G0e=kl((tCi,b4)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var e=function(){var o={};o.defaultNoDataValue=-34027999387901484e22,o.decode=function(f,d){d=d||{};var p=d.encodedMaskData||d.encodedMaskData===null,g=c(f,d.inputOffset||0,p),m=d.noDataValue!==null?d.noDataValue:o.defaultNoDataValue,x=r(g,d.pixelType||Float32Array,d.encodedMaskData,m,d.returnMask),b={width:g.width,height:g.height,pixelData:x.resultPixels,minValue:x.minValue,maxValue:g.pixels.maxValue,noDataValue:m};return x.resultMask&&(b.maskData=x.resultMask),d.returnEncodedMask&&g.mask&&(b.encodedMaskData=g.mask.bitset?g.mask.bitset:null),d.returnFileInfo&&(b.fileInfo=s(g),d.computeUsedBitDepths&&(b.fileInfo.bitDepths=a(g))),b};var r=function(f,d,p,g,m){var x=0,b=f.pixels.numBlocksX,T=f.pixels.numBlocksY,C=Math.floor(f.width/b),A=Math.floor(f.height/T),S=2*f.maxZError,w=Number.MAX_VALUE,D;p=p||(f.mask?f.mask.bitset:null);var O,R;O=new d(f.width*f.height),m&&p&&(R=new Uint8Array(f.width*f.height));for(var M=new Float32Array(C*A),L,_,E=0;E<=T;E++){var v=E!==T?A:f.height%T;if(v!==0)for(var I=0;I<=b;I++){var N=I!==b?C:f.width%b;if(N!==0){var B=E*f.width*A+I*C,z=f.width-N,V=f.pixels.blocks[x],G,k,Y;V.encoding<2?(V.encoding===0?G=V.rawData:(u(V.stuffedData,V.bitsPerPixel,V.numValidPixels,V.offset,S,M,f.pixels.maxValue),G=M),k=0):V.encoding===2?Y=0:Y=V.offset;var W;if(p)for(_=0;_<v;_++){for(B&7&&(W=p[B>>3],W<<=B&7),L=0;L<N;L++)B&7||(W=p[B>>3]),W&128?(R&&(R[B]=1),D=V.encoding<2?G[k++]:Y,w=w>D?D:w,O[B++]=D):(R&&(R[B]=0),O[B++]=g),W<<=1;B+=z}else if(V.encoding<2)for(_=0;_<v;_++){for(L=0;L<N;L++)D=G[k++],w=w>D?D:w,O[B++]=D;B+=z}else for(w=w>Y?Y:w,_=0;_<v;_++){for(L=0;L<N;L++)O[B++]=Y;B+=z}if(V.encoding===1&&k!==V.numValidPixels)throw"Block and Mask do not match";x++}}}return{resultPixels:O,resultMask:R,minValue:w}},s=function(f){return{fileIdentifierString:f.fileIdentifierString,fileVersion:f.fileVersion,imageType:f.imageType,height:f.height,width:f.width,maxZError:f.maxZError,eofOffset:f.eofOffset,mask:f.mask?{numBlocksX:f.mask.numBlocksX,numBlocksY:f.mask.numBlocksY,numBytes:f.mask.numBytes,maxValue:f.mask.maxValue}:null,pixels:{numBlocksX:f.pixels.numBlocksX,numBlocksY:f.pixels.numBlocksY,numBytes:f.pixels.numBytes,maxValue:f.pixels.maxValue,noDataValue:f.noDataValue}}},a=function(f){for(var d=f.pixels.numBlocksX*f.pixels.numBlocksY,p={},g=0;g<d;g++){var m=f.pixels.blocks[g];m.encoding===0?p.float32=!0:m.encoding===1?p[m.bitsPerPixel]=!0:p[0]=!0}return Object.keys(p)},c=function(f,d,p){var g={},m=new Uint8Array(f,d,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,m),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;d+=10;var x=new DataView(f,d,24);if(g.fileVersion=x.getInt32(0,!0),g.imageType=x.getInt32(4,!0),g.height=x.getUint32(8,!0),g.width=x.getUint32(12,!0),g.maxZError=x.getFloat64(16,!0),d+=24,!p)if(x=new DataView(f,d,16),g.mask={},g.mask.numBlocksY=x.getUint32(0,!0),g.mask.numBlocksX=x.getUint32(4,!0),g.mask.numBytes=x.getUint32(8,!0),g.mask.maxValue=x.getFloat32(12,!0),d+=16,g.mask.numBytes>0){var b=new Uint8Array(Math.ceil(g.width*g.height/8));x=new DataView(f,d,g.mask.numBytes);var T=x.getInt16(0,!0),C=2,A=0;do{if(T>0)for(;T--;)b[A++]=x.getUint8(C++);else{var S=x.getUint8(C++);for(T=-T;T--;)b[A++]=S}T=x.getInt16(C,!0),C+=2}while(C<g.mask.numBytes);if(T!==-32768||A<b.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=b,d+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));x=new DataView(f,d,16),g.pixels={},g.pixels.numBlocksY=x.getUint32(0,!0),g.pixels.numBlocksX=x.getUint32(4,!0),g.pixels.numBytes=x.getUint32(8,!0),g.pixels.maxValue=x.getFloat32(12,!0),d+=16;var w=g.pixels.numBlocksX,D=g.pixels.numBlocksY,O=w+(g.width%w>0?1:0),R=D+(g.height%D>0?1:0);g.pixels.blocks=new Array(O*R);for(var M=0,L=0;L<R;L++)for(var _=0;_<O;_++){var E=0,v=f.byteLength-d;x=new DataView(f,d,Math.min(10,v));var I={};g.pixels.blocks[M++]=I;var N=x.getUint8(0);if(E++,I.encoding=N&63,I.encoding>3)throw"Invalid block encoding ("+I.encoding+")";if(I.encoding===2){d++;continue}if(N!==0&&N!==2){if(N>>=6,I.offsetType=N,N===2)I.offset=x.getInt8(1),E++;else if(N===1)I.offset=x.getInt16(1,!0),E+=2;else if(N===0)I.offset=x.getFloat32(1,!0),E+=4;else throw"Invalid block offset type";if(I.encoding===1)if(N=x.getUint8(E),E++,I.bitsPerPixel=N&63,N>>=6,I.numValidPixelsType=N,N===2)I.numValidPixels=x.getUint8(E),E++;else if(N===1)I.numValidPixels=x.getUint16(E,!0),E+=2;else if(N===0)I.numValidPixels=x.getUint32(E,!0),E+=4;else throw"Invalid valid pixel count type"}if(d+=E,I.encoding!==3){var B,z;if(I.encoding===0){var V=(g.pixels.numBytes-1)/4;if(V!==Math.floor(V))throw"uncompressed block has invalid length";B=new ArrayBuffer(V*4),z=new Uint8Array(B),z.set(new Uint8Array(f,d,V*4));var G=new Float32Array(B);I.rawData=G,d+=V*4}else if(I.encoding===1){var k=Math.ceil(I.numValidPixels*I.bitsPerPixel/8),Y=Math.ceil(k/4);B=new ArrayBuffer(Y*4),z=new Uint8Array(B),z.set(new Uint8Array(f,d,k)),I.stuffedData=new Uint32Array(B),d+=k}}}return g.eofOffset=d,g},u=function(f,d,p,g,m,x,b){var T=(1<<d)-1,C=0,A,S=0,w,D,O=Math.ceil((b-g)/m),R=f.length*4-Math.ceil(d*p/8);for(f[f.length-1]<<=8*R,A=0;A<p;A++){if(S===0&&(D=f[C++],S=32),S>=d)w=D>>>S-d&T,S-=d;else{var M=d-S;w=(D&T)<<M&T,D=f[C++],S=32-M,w+=D>>>S}x[A]=w<O?g+w*m:b}return x};return o}(),t=function(){"use strict";var o={unstuff:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,C,A=0,S,w,D,O,R=c.length*4-Math.ceil(f*d/8);if(c[c.length-1]<<=8*R,p)for(C=0;C<d;C++)A===0&&(w=c[T++],A=32),A>=f?(S=w>>>A-f&b,A-=f):(D=f-A,S=(w&b)<<D&b,w=c[T++],A=32-D,S+=w>>>A),u[C]=p[S];else for(O=Math.ceil((x-g)/m),C=0;C<d;C++)A===0&&(w=c[T++],A=32),A>=f?(S=w>>>A-f&b,A-=f):(D=f-A,S=(w&b)<<D&b,w=c[T++],A=32-D,S+=w>>>A),u[C]=S<O?g+S*m:x},unstuffLUT:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,C=0,A=0,S,w=[],D=c.length*4-Math.ceil(u*f/8);c[c.length-1]<<=8*D;var O=Math.ceil((g-d)/p);for(b=0;b<f;b++)C===0&&(S=c[x++],C=32),C>=u?(A=S>>>C-u&m,C-=u):(T=u-C,A=(S&m)<<T&m,S=c[x++],C=32-T,A+=S>>>C),w[b]=A<O?d+A*p:g;return w.unshift(d),w},unstuff2:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,C,A=0,S=0,w,D,O;if(p)for(C=0;C<d;C++)A===0&&(D=c[T++],A=32,S=0),A>=f?(w=D>>>S&b,A-=f,S+=f):(O=f-A,w=D>>>S&b,D=c[T++],A=32-O,w|=(D&(1<<O)-1)<<f-O,S=O),u[C]=p[w];else{var R=Math.ceil((x-g)/m);for(C=0;C<d;C++)A===0&&(D=c[T++],A=32,S=0),A>=f?(w=D>>>S&b,A-=f,S+=f):(O=f-A,w=D>>>S&b,D=c[T++],A=32-O,w|=(D&(1<<O)-1)<<f-O,S=O),u[C]=w<R?g+w*m:x}return u},unstuffLUT2:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,C=0,A=0,S=0,w,D=[],O=Math.ceil((g-d)/p);for(b=0;b<f;b++)C===0&&(w=c[x++],C=32,S=0),C>=u?(A=w>>>S&m,C-=u,S+=u):(T=u-C,A=w>>>S&m,w=c[x++],C=32-T,A|=(w&(1<<T)-1)<<u-T,S=T),D[b]=A<O?d+A*p:g;return D.unshift(d),D},originalUnstuff:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b,T,C,A=c.length*4-Math.ceil(f*d/8);for(c[c.length-1]<<=8*A,m=0;m<d;m++)x===0&&(T=c[g++],x=32),x>=f?(b=T>>>x-f&p,x-=f):(C=f-x,b=(T&p)<<C&p,T=c[g++],x=32-C,b+=T>>>x),u[m]=b;return u},originalUnstuff2:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b=0,T,C,A;for(m=0;m<d;m++)x===0&&(C=c[g++],x=32,b=0),x>=f?(T=C>>>b&p,x-=f,b+=f):(A=f-x,T=C>>>b&p,C=c[g++],x=32-A,T|=(C&(1<<A)-1)<<f-A,b=A),u[m]=T;return u}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(c){for(var u=65535,f=65535,d=c.length,p=Math.floor(d/2),g=0;p;){var m=p>=359?359:p;p-=m;do u+=c[g++]<<8,f+=u+=c[g++];while(--m);u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16)}return d&1&&(f+=u+=c[g]<<8),u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16),(f<<16|u)>>>0},readHeaderInfo:function(c,u){var f=u.ptr,d=new Uint8Array(c,f,6),p={};if(p.fileIdentifierString=String.fromCharCode.apply(null,d),p.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+p.fileIdentifierString;f+=6;var g=new DataView(c,f,8),m=g.getInt32(0,!0);p.fileVersion=m,f+=4,m>=3&&(p.checksum=g.getUint32(4,!0),f+=4),g=new DataView(c,f,12),p.height=g.getUint32(0,!0),p.width=g.getUint32(4,!0),f+=8,m>=4?(p.numDims=g.getUint32(8,!0),f+=4):p.numDims=1,g=new DataView(c,f,40),p.numValidPixel=g.getUint32(0,!0),p.microBlockSize=g.getInt32(4,!0),p.blobSize=g.getInt32(8,!0),p.imageType=g.getInt32(12,!0),p.maxZError=g.getFloat64(16,!0),p.zMin=g.getFloat64(24,!0),p.zMax=g.getFloat64(32,!0),f+=40,u.headerInfo=p,u.ptr=f;var x,b;if(m>=3&&(b=m>=4?52:48,x=this.computeChecksumFletcher32(new Uint8Array(c,f-b,p.blobSize-14)),x!==p.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(c,u){var f=u.headerInfo,d=this.getDataTypeArray(f.imageType),p=f.numDims*this.getDataTypeSize(f.imageType),g=this.readSubArray(c,u.ptr,d,p),m=this.readSubArray(c,u.ptr+p,d,p);u.ptr+=2*p;var x,b=!0;for(x=0;x<f.numDims;x++)if(g[x]!==m[x]){b=!1;break}return f.minValues=g,f.maxValues=m,b},readSubArray:function(c,u,f,d){var p;if(f===Uint8Array)p=new Uint8Array(c,u,d);else{var g=new ArrayBuffer(d),m=new Uint8Array(g);m.set(new Uint8Array(c,u,d)),p=new f(g)}return p},readMask:function(c,u){var f=u.ptr,d=u.headerInfo,p=d.width*d.height,g=d.numValidPixel,m=new DataView(c,f,4),x={};if(x.numBytes=m.getUint32(0,!0),f+=4,(g===0||p===g)&&x.numBytes!==0)throw"invalid mask";var b,T;if(g===0)b=new Uint8Array(Math.ceil(p/8)),x.bitset=b,T=new Uint8Array(p),u.pixels.resultMask=T,f+=x.numBytes;else if(x.numBytes>0){b=new Uint8Array(Math.ceil(p/8)),m=new DataView(c,f,x.numBytes);var C=m.getInt16(0,!0),A=2,S=0,w=0;do{if(C>0)for(;C--;)b[S++]=m.getUint8(A++);else for(w=m.getUint8(A++),C=-C;C--;)b[S++]=w;C=m.getInt16(A,!0),A+=2}while(A<x.numBytes);if(C!==-32768||S<b.length)throw"Unexpected end of mask RLE encoding";T=new Uint8Array(p);var D=0,O=0;for(O=0;O<p;O++)O&7?(D=b[O>>3],D<<=O&7):D=b[O>>3],D&128&&(T[O]=1);u.pixels.resultMask=T,x.bitset=b,f+=x.numBytes}return u.ptr=f,u.mask=x,!0},readDataOneSweep:function(c,u,f){var d=u.ptr,p=u.headerInfo,g=p.numDims,m=p.width*p.height,x=p.imageType,b=p.numValidPixel*r.getDataTypeSize(x)*g,T,C=u.pixels.resultMask;if(f===Uint8Array)T=new Uint8Array(c,d,b);else{var A=new ArrayBuffer(b),S=new Uint8Array(A);S.set(new Uint8Array(c,d,b)),T=new f(A)}if(T.length===m*g)u.pixels.resultPixels=T;else{u.pixels.resultPixels=new f(m*g);var w=0,D=0,O=0,R=0;if(g>1)for(O=0;O<g;O++)for(R=O*m,D=0;D<m;D++)C[D]&&(u.pixels.resultPixels[R+D]=T[w++]);else for(D=0;D<m;D++)C[D]&&(u.pixels.resultPixels[D]=T[w++])}return d+=b,u.ptr=d,!0},readHuffmanTree:function(c,u){var f=this.HUFFMAN_LUT_BITS_MAX,d=new DataView(c,u.ptr,16);u.ptr+=16;var p=d.getInt32(0,!0);if(p<2)throw"unsupported Huffman version";var g=d.getInt32(4,!0),m=d.getInt32(8,!0),x=d.getInt32(12,!0);if(m>=x)return!1;var b=new Uint32Array(x-m);r.decodeBits(c,u,b);var T=[],C,A,S,w;for(C=m;C<x;C++)A=C-(C<g?0:g),T[A]={first:b[C-m],second:null};var D=c.byteLength-u.ptr,O=Math.ceil(D/4),R=new ArrayBuffer(O*4),M=new Uint8Array(R);M.set(new Uint8Array(c,u.ptr,D));var L=new Uint32Array(R),_=0,E,v=0;for(E=L[0],C=m;C<x;C++)A=C-(C<g?0:g),w=T[A].first,w>0&&(T[A].second=E<<_>>>32-w,32-_>=w?(_+=w,_===32&&(_=0,v++,E=L[v])):(_+=w-32,v++,E=L[v],T[A].second|=E>>>32-_));var I=0,N=0,B=new s;for(C=0;C<T.length;C++)T[C]!==void 0&&(I=Math.max(I,T[C].first));I>=f?N=f:N=I,I>=30&&console.log("WARning, large NUM LUT BITS IS "+I);var z=[],V,G,k,Y,W,J;for(C=m;C<x;C++)if(A=C-(C<g?0:g),w=T[A].first,w>0)if(V=[w,A],w<=N)for(G=T[A].second<<N-w,k=1<<N-w,S=0;S<k;S++)z[G|S]=V;else for(G=T[A].second,J=B,Y=w-1;Y>=0;Y--)W=G>>>Y&1,W?(J.right||(J.right=new s),J=J.right):(J.left||(J.left=new s),J=J.left),Y===0&&!J.val&&(J.val=V[1]);return{decodeLut:z,numBitsLUTQick:N,numBitsLUT:I,tree:B,stuffedData:L,srcPtr:v,bitPos:_}},readHuffman:function(c,u,f){var d=u.headerInfo,p=d.numDims,g=u.headerInfo.height,m=u.headerInfo.width,x=m*g,b=this.readHuffmanTree(c,u),T=b.decodeLut,C=b.tree,A=b.stuffedData,S=b.srcPtr,w=b.bitPos,D=b.numBitsLUTQick,O=b.numBitsLUT,R=u.headerInfo.imageType===0?128:0,M,L,_,E=u.pixels.resultMask,v,I,N,B,z,V,G,k=0;w>0&&(S++,w=0);var Y=A[S],W=u.encodeMode===1,J=new f(x*p),j=J,$;for($=0;$<d.numDims;$++){if(p>1&&(j=new f(J.buffer,x*$,x),k=0),u.headerInfo.numValidPixel===m*g)for(V=0,B=0;B<g;B++)for(z=0;z<m;z++,V++){if(L=0,v=Y<<w>>>32-D,I=v,32-w<D&&(v|=A[S+1]>>>64-w-D,I=v),T[I])L=T[I][1],w+=T[I][0];else for(v=Y<<w>>>32-O,I=v,32-w<O&&(v|=A[S+1]>>>64-w-O,I=v),M=C,G=0;G<O;G++)if(N=v>>>O-G-1&1,M=N?M.right:M.left,!(M.left||M.right)){L=M.val,w=w+G+1;break}w>=32&&(w-=32,S++,Y=A[S]),_=L-R,W?(z>0?_+=k:B>0?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}else for(V=0,B=0;B<g;B++)for(z=0;z<m;z++,V++)if(E[V]){if(L=0,v=Y<<w>>>32-D,I=v,32-w<D&&(v|=A[S+1]>>>64-w-D,I=v),T[I])L=T[I][1],w+=T[I][0];else for(v=Y<<w>>>32-O,I=v,32-w<O&&(v|=A[S+1]>>>64-w-O,I=v),M=C,G=0;G<O;G++)if(N=v>>>O-G-1&1,M=N?M.right:M.left,!(M.left||M.right)){L=M.val,w=w+G+1;break}w>=32&&(w-=32,S++,Y=A[S]),_=L-R,W?(z>0&&E[V-1]?_+=k:B>0&&E[V-m]?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}u.ptr=u.ptr+(S+1)*4+(w>0?4:0)}u.pixels.resultPixels=J},decodeBits:function(c,u,f,d,p){{var g=u.headerInfo,m=g.fileVersion,x=0,b=new DataView(c,u.ptr,5),T=b.getUint8(0);x++;var C=T>>6,A=C===0?4:3-C,S=(T&32)>0,w=T&31,D=0;if(A===1)D=b.getUint8(x),x++;else if(A===2)D=b.getUint16(x,!0),x+=2;else if(A===4)D=b.getUint32(x,!0),x+=4;else throw"Invalid valid pixel count type";var O=2*g.maxZError,R,M,L,_,E,v,I,N,B,z,V=g.numDims>1?g.maxValues[p]:g.zMax;if(S){for(u.counter.lut++,N=b.getUint8(x),B=w,x++,_=Math.ceil((N-1)*w/8),E=Math.ceil(_/4),M=new ArrayBuffer(E*4),L=new Uint8Array(M),u.ptr+=x,L.set(new Uint8Array(c,u.ptr,_)),I=new Uint32Array(M),u.ptr+=_,z=0;N-1>>>z;)z++;_=Math.ceil(D*z/8),E=Math.ceil(_/4),M=new ArrayBuffer(E*4),L=new Uint8Array(M),L.set(new Uint8Array(c,u.ptr,_)),R=new Uint32Array(M),u.ptr+=_,m>=3?v=o.unstuffLUT2(I,w,N-1,d,O,V):v=o.unstuffLUT(I,w,N-1,d,O,V),m>=3?o.unstuff2(R,f,z,D,v):o.unstuff(R,f,z,D,v)}else u.counter.bitstuffer++,z=w,u.ptr+=x,z>0&&(_=Math.ceil(D*z/8),E=Math.ceil(_/4),M=new ArrayBuffer(E*4),L=new Uint8Array(M),L.set(new Uint8Array(c,u.ptr,_)),R=new Uint32Array(M),u.ptr+=_,m>=3?d==null?o.originalUnstuff2(R,f,z,D):o.unstuff2(R,f,z,D,!1,d,O,V):d==null?o.originalUnstuff(R,f,z,D):o.unstuff(R,f,z,D,!1,d,O,V))}},readTiles:function(c,u,f){var d=u.headerInfo,p=d.width,g=d.height,m=d.microBlockSize,x=d.imageType,b=r.getDataTypeSize(x),T=Math.ceil(p/m),C=Math.ceil(g/m);u.pixels.numBlocksY=C,u.pixels.numBlocksX=T,u.pixels.ptr=0;var A=0,S=0,w=0,D=0,O=0,R=0,M=0,L=0,_=0,E=0,v=0,I=0,N=0,B=0,z=0,V=0,G,k,Y,W,J,j,$=new f(m*m),Q=g%m||m,he=p%m||m,ye,re,_e=d.numDims,xe,De=u.pixels.resultMask,we=u.pixels.resultPixels;for(w=0;w<C;w++)for(O=w!==C-1?m:Q,D=0;D<T;D++)for(R=D!==T-1?m:he,v=w*p*m+D*m,I=p-R,xe=0;xe<_e;xe++){if(_e>1&&(we=new f(u.pixels.resultPixels.buffer,p*g*xe*b,p*g)),M=c.byteLength-u.ptr,G=new DataView(c,u.ptr,Math.min(10,M)),k={},V=0,L=G.getUint8(0),V++,_=L>>6&255,E=L>>2&15,E!==(D*m>>3&15))throw"integrity issue";if(j=L&3,j>3)throw u.ptr+=V,"Invalid block encoding ("+j+")";if(j===2){u.counter.constant++,u.ptr+=V;continue}else if(j===0){if(u.counter.uncompressed++,u.ptr+=V,N=O*R*b,B=c.byteLength-u.ptr,N=N<B?N:B,Y=new ArrayBuffer(N%b===0?N:N+b-N%b),W=new Uint8Array(Y),W.set(new Uint8Array(c,u.ptr,N)),J=new f(Y),z=0,De)for(A=0;A<O;A++){for(S=0;S<R;S++)De[v]&&(we[v]=J[z++]),v++;v+=I}else for(A=0;A<O;A++){for(S=0;S<R;S++)we[v++]=J[z++];v+=I}u.ptr+=z*b}else if(ye=r.getDataTypeUsed(x,_),re=r.getOnePixel(k,V,ye,G),V+=r.getDataTypeSize(ye),j===3)if(u.ptr+=V,u.counter.constantoffset++,De)for(A=0;A<O;A++){for(S=0;S<R;S++)De[v]&&(we[v]=re),v++;v+=I}else for(A=0;A<O;A++){for(S=0;S<R;S++)we[v++]=re;v+=I}else if(u.ptr+=V,r.decodeBits(c,u,$,re,xe),V=0,De)for(A=0;A<O;A++){for(S=0;S<R;S++)De[v]&&(we[v]=$[V++]),v++;v+=I}else for(A=0;A<O;A++){for(S=0;S<R;S++)we[v++]=$[V++];v+=I}}},formatFileInfo:function(c){return{fileIdentifierString:c.headerInfo.fileIdentifierString,fileVersion:c.headerInfo.fileVersion,imageType:c.headerInfo.imageType,height:c.headerInfo.height,width:c.headerInfo.width,numValidPixel:c.headerInfo.numValidPixel,microBlockSize:c.headerInfo.microBlockSize,blobSize:c.headerInfo.blobSize,maxZError:c.headerInfo.maxZError,pixelType:r.getPixelType(c.headerInfo.imageType),eofOffset:c.eofOffset,mask:c.mask?{numBytes:c.mask.numBytes}:null,pixels:{numBlocksX:c.pixels.numBlocksX,numBlocksY:c.pixels.numBlocksY,maxValue:c.headerInfo.zMax,minValue:c.headerInfo.zMin,noDataValue:c.noDataValue}}},constructConstantSurface:function(c){var u=c.headerInfo.zMax,f=c.headerInfo.numDims,d=c.headerInfo.height*c.headerInfo.width,p=d*f,g=0,m=0,x=0,b=c.pixels.resultMask;if(b)if(f>1)for(g=0;g<f;g++)for(x=g*d,m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[x+m]=u);else for(m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[m]=u);else if(c.pixels.resultPixels.fill)c.pixels.resultPixels.fill(u);else for(m=0;m<p;m++)c.pixels.resultPixels[m]=u},getDataTypeArray:function(c){var u;switch(c){case 0:u=Int8Array;break;case 1:u=Uint8Array;break;case 2:u=Int16Array;break;case 3:u=Uint16Array;break;case 4:u=Int32Array;break;case 5:u=Uint32Array;break;case 6:u=Float32Array;break;case 7:u=Float64Array;break;default:u=Float32Array}return u},getPixelType:function(c){var u;switch(c){case 0:u="S8";break;case 1:u="U8";break;case 2:u="S16";break;case 3:u="U16";break;case 4:u="S32";break;case 5:u="U32";break;case 6:u="F32";break;case 7:u="F64";break;default:u="F32"}return u},isValidPixelValue:function(c,u){if(u==null)return!1;var f;switch(c){case 0:f=u>=-128&&u<=127;break;case 1:f=u>=0&&u<=255;break;case 2:f=u>=-32768&&u<=32767;break;case 3:f=u>=0&&u<=65536;break;case 4:f=u>=-2147483648&&u<=2147483647;break;case 5:f=u>=0&&u<=4294967296;break;case 6:f=u>=-34027999387901484e22&&u<=34027999387901484e22;break;case 7:f=u>=5e-324&&u<=17976931348623157e292;break;default:f=!1}return f},getDataTypeSize:function(c){var u=0;switch(c){case 0:case 1:u=1;break;case 2:case 3:u=2;break;case 4:case 5:case 6:u=4;break;case 7:u=8;break;default:u=c}return u},getDataTypeUsed:function(c,u){var f=c;switch(c){case 2:case 4:f=c-u;break;case 3:case 5:f=c-2*u;break;case 6:u===0?f=c:u===1?f=2:f=1;break;case 7:u===0?f=c:f=c-2*u+1;break;default:f=c;break}return f},getOnePixel:function(c,u,f,d){var p=0;switch(f){case 0:p=d.getInt8(u);break;case 1:p=d.getUint8(u);break;case 2:p=d.getInt16(u,!0);break;case 3:p=d.getUint16(u,!0);break;case 4:p=d.getInt32(u,!0);break;case 5:p=d.getUInt32(u,!0);break;case 6:p=d.getFloat32(u,!0);break;case 7:p=d.getFloat64(u,!0);break;default:throw"the decoder does not understand this pixel type"}return p}},s=function(c,u,f){this.val=c,this.left=u,this.right=f},a={decode:function(c,u){u=u||{};var f=u.noDataValue,d=0,p={};if(p.ptr=u.inputOffset||0,p.pixels={},!!r.readHeaderInfo(c,p)){var g=p.headerInfo,m=g.fileVersion,x=r.getDataTypeArray(g.imageType);r.readMask(c,p),g.numValidPixel!==g.width*g.height&&!p.pixels.resultMask&&(p.pixels.resultMask=u.maskData);var b=g.width*g.height;if(p.pixels.resultPixels=new x(b*g.numDims),p.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},g.numValidPixel!==0)if(g.zMax===g.zMin)r.constructConstantSurface(p);else if(m>=4&&r.checkMinMaxRanges(c,p))r.constructConstantSurface(p);else{var T=new DataView(c,p.ptr,2),C=T.getUint8(0);if(p.ptr++,C)r.readDataOneSweep(c,p,x);else if(m>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var A=T.getUint8(1);if(p.ptr++,p.encodeMode=A,A>2||m<4&&A>1)throw"Invalid Huffman flag "+A;A?r.readHuffman(c,p,x):r.readTiles(c,p,x)}else r.readTiles(c,p,x)}p.eofOffset=p.ptr;var S;u.inputOffset?(S=p.headerInfo.blobSize+u.inputOffset-p.ptr,Math.abs(S)>=1&&(p.eofOffset=u.inputOffset+p.headerInfo.blobSize)):(S=p.headerInfo.blobSize-p.ptr,Math.abs(S)>=1&&(p.eofOffset=p.headerInfo.blobSize));var w={width:g.width,height:g.height,pixelData:p.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:p.pixels.resultMask};if(p.pixels.resultMask&&r.isValidPixelValue(g.imageType,f)){var D=p.pixels.resultMask;for(d=0;d<b;d++)D[d]||(w.pixelData[d]=f);w.noDataValue=f}return p.noDataValue=f,u.returnFileInfo&&(w.fileInfo=r.formatFileInfo(p)),w}},getBandCount:function(c){var u=0,f=0,d={};for(d.ptr=0,d.pixels={};f<c.byteLength-58;)r.readHeaderInfo(c,d),f+=d.headerInfo.blobSize,u++,d.ptr=f;return u}};return a}(),n=function(){var o=new ArrayBuffer(4),r=new Uint8Array(o),s=new Uint32Array(o);return s[0]=1,r[0]===1}(),i={decode:function(o,r){if(!n)throw"Big endian system is not supported.";r=r||{};var s=r.inputOffset||0,a=new Uint8Array(o,s,10),c=String.fromCharCode.apply(null,a),u,f;if(c.trim()==="CntZImage")u=e,f=1;else if(c.substring(0,5)==="Lerc2")u=t,f=2;else throw"Unexpected file identifier string: "+c;for(var d=0,p=o.byteLength-10,g,m=[],x,b,T={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]};s<p;){var C=u.decode(o,{inputOffset:s,encodedMaskData:g,maskData:b,returnMask:d===0,returnEncodedMask:d===0,returnFileInfo:!0,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});s=C.fileInfo.eofOffset,d===0&&(g=C.encodedMaskData,b=C.maskData,T.width=C.width,T.height=C.height,T.dimCount=C.dimCount||1,T.pixelType=C.pixelType||C.fileInfo.pixelType,T.mask=C.maskData),f>1&&C.fileInfo.mask&&C.fileInfo.mask.numBytes>0&&m.push(C.maskData),d++,T.pixels.push(C.pixelData),T.statistics.push({minValue:C.minValue,maxValue:C.maxValue,noDataValue:C.noDataValue,dimStats:C.dimStats})}var A,S,w;if(f>1&&m.length>1){for(w=T.width*T.height,T.bandMasks=m,b=new Uint8Array(w),b.set(m[0]),A=1;A<m.length;A++)for(x=m[A],S=0;S<w;S++)b[S]=b[S]&x[S];T.maskData=b}return T}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof b4<"u"&&b4.exports?b4.exports=i:this.Lerc=i})()});var tAe=kl((Loo,eAe)=>{eAe.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}});var iAe=kl((Noo,nAe)=>{var{webm:RAt,mp4:OAt}=tAe(),A$=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,E$=()=>"wakeLock"in navigator,S$=class{constructor(){if(this.enabled=!1,E$()){this._wakeLock=null;let t=()=>{this._wakeLock!==null&&document.visibilityState==="visible"&&this.enable()};document.addEventListener("visibilitychange",t),document.addEventListener("fullscreenchange",t)}else A$()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",RAt),this._addSourceToVideo(this.noSleepVideo,"mp4",OAt),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(t,n,i){var o=document.createElement("source");o.src=i,o.type=`video/${n}`,t.appendChild(o)}get isEnabled(){return this.enabled}enable(){return E$()?navigator.wakeLock.request("screen").then(t=>{this._wakeLock=t,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(t=>{throw this.enabled=!1,console.error(`${t.name}, ${t.message}`),t}):A$()?(this.disable(),console.warn(` + */(function(undefined){"use strict";(function(t,n,i){function o(s){var a=n[s];return a||t[s][0].call(a=n[s]={exports:{}},o,a,a.exports),a.exports}var r=o(i[0]);r.util.global.protobuf=r,typeof define=="function"&&define.amd&&define(["long"],function(s){return s&&s.isLong&&(r.util.Long=s,r.configure()),r}),typeof module=="object"&&module&&module.exports&&(module.exports=r)})({1:[function(e,t,n){"use strict";t.exports=i;function i(o,r){for(var s=new Array(arguments.length-1),a=0,c=2,u=!0;c<arguments.length;)s[a++]=arguments[c++];return new Promise(function(d,p){s[a]=function(m){if(u)if(u=!1,m)p(m);else{for(var x=new Array(arguments.length-1),b=0;b<x.length;)x[b++]=arguments[b];d.apply(null,x)}};try{o.apply(r||null,s)}catch(g){u&&(u=!1,p(g))}})}},{}],2:[function(e,t,n){"use strict";var i=n;i.length=function(u){var f=u.length;if(!f)return 0;for(var d=0;--f%4>1&&u.charAt(f)==="=";)++d;return Math.ceil(u.length*3)/4-d};for(var o=new Array(64),r=new Array(123),s=0;s<64;)r[o[s]=s<26?s+65:s<52?s+71:s<62?s-4:s-59|43]=s++;i.encode=function(u,f,d){for(var p=null,g=[],m=0,x=0,b;f<d;){var T=u[f++];switch(x){case 0:g[m++]=o[T>>2],b=(T&3)<<4,x=1;break;case 1:g[m++]=o[b|T>>4],b=(T&15)<<2,x=2;break;case 2:g[m++]=o[b|T>>6],g[m++]=o[T&63],x=0;break}m>8191&&((p||(p=[])).push(String.fromCharCode.apply(String,g)),m=0)}return x&&(g[m++]=o[b],g[m++]=61,x===1&&(g[m++]=61)),p?(m&&p.push(String.fromCharCode.apply(String,g.slice(0,m))),p.join("")):String.fromCharCode.apply(String,g.slice(0,m))};var a="invalid encoding";i.decode=function(u,f,d){for(var p=d,g=0,m,x=0;x<u.length;){var b=u.charCodeAt(x++);if(b===61&&g>1)break;if((b=r[b])===undefined)throw Error(a);switch(g){case 0:m=b,g=1;break;case 1:f[d++]=m<<2|(b&48)>>4,m=b,g=2;break;case 2:f[d++]=(m&15)<<4|(b&60)>>2,m=b,g=3;break;case 3:f[d++]=(m&3)<<6|b,g=0;break}}if(g===1)throw Error(a);return d-p},i.test=function(u){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(u)}},{}],3:[function(e,t,n){"use strict";t.exports=i;function i(){this._listeners={}}i.prototype.on=function(r,s,a){return(this._listeners[r]||(this._listeners[r]=[])).push({fn:s,ctx:a||this}),this},i.prototype.off=function(r,s){if(r===undefined)this._listeners={};else if(s===undefined)this._listeners[r]=[];else for(var a=this._listeners[r],c=0;c<a.length;)a[c].fn===s?a.splice(c,1):++c;return this},i.prototype.emit=function(r){var s=this._listeners[r];if(s){for(var a=[],c=1;c<arguments.length;)a.push(arguments[c++]);for(c=0;c<s.length;)s[c].fn.apply(s[c++].ctx,a)}return this}},{}],4:[function(e,t,n){"use strict";t.exports=i(i);function i(c){return typeof Float32Array<"u"?function(){var u=new Float32Array([-0]),f=new Uint8Array(u.buffer),d=f[3]===128;function p(b,T,C){u[0]=b,T[C]=f[0],T[C+1]=f[1],T[C+2]=f[2],T[C+3]=f[3]}function g(b,T,C){u[0]=b,T[C]=f[3],T[C+1]=f[2],T[C+2]=f[1],T[C+3]=f[0]}c.writeFloatLE=d?p:g,c.writeFloatBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],u[0]}function x(b,T){return f[3]=b[T],f[2]=b[T+1],f[1]=b[T+2],f[0]=b[T+3],u[0]}c.readFloatLE=d?m:x,c.readFloatBE=d?x:m}():function(){function u(d,p,g,m){var x=p<0?1:0;if(x&&(p=-p),p===0)d(1/p>0?0:2147483648,g,m);else if(isNaN(p))d(2143289344,g,m);else if(p>34028234663852886e22)d((x<<31|2139095040)>>>0,g,m);else if(p<11754943508222875e-54)d((x<<31|Math.round(p/1401298464324817e-60))>>>0,g,m);else{var b=Math.floor(Math.log(p)/Math.LN2),T=Math.round(p*Math.pow(2,-b)*8388608)&8388607;d((x<<31|b+127<<23|T)>>>0,g,m)}}c.writeFloatLE=u.bind(null,o),c.writeFloatBE=u.bind(null,r);function f(d,p,g){var m=d(p,g),x=(m>>31)*2+1,b=m>>>23&255,T=m&8388607;return b===255?T?NaN:x*(1/0):b===0?x*1401298464324817e-60*T:x*Math.pow(2,b-150)*(T+8388608)}c.readFloatLE=f.bind(null,s),c.readFloatBE=f.bind(null,a)}(),typeof Float64Array<"u"?function(){var u=new Float64Array([-0]),f=new Uint8Array(u.buffer),d=f[7]===128;function p(b,T,C){u[0]=b,T[C]=f[0],T[C+1]=f[1],T[C+2]=f[2],T[C+3]=f[3],T[C+4]=f[4],T[C+5]=f[5],T[C+6]=f[6],T[C+7]=f[7]}function g(b,T,C){u[0]=b,T[C]=f[7],T[C+1]=f[6],T[C+2]=f[5],T[C+3]=f[4],T[C+4]=f[3],T[C+5]=f[2],T[C+6]=f[1],T[C+7]=f[0]}c.writeDoubleLE=d?p:g,c.writeDoubleBE=d?g:p;function m(b,T){return f[0]=b[T],f[1]=b[T+1],f[2]=b[T+2],f[3]=b[T+3],f[4]=b[T+4],f[5]=b[T+5],f[6]=b[T+6],f[7]=b[T+7],u[0]}function x(b,T){return f[7]=b[T],f[6]=b[T+1],f[5]=b[T+2],f[4]=b[T+3],f[3]=b[T+4],f[2]=b[T+5],f[1]=b[T+6],f[0]=b[T+7],u[0]}c.readDoubleLE=d?m:x,c.readDoubleBE=d?x:m}():function(){function u(d,p,g,m,x,b){var T=m<0?1:0;if(T&&(m=-m),m===0)d(0,x,b+p),d(1/m>0?0:2147483648,x,b+g);else if(isNaN(m))d(0,x,b+p),d(2146959360,x,b+g);else if(m>17976931348623157e292)d(0,x,b+p),d((T<<31|2146435072)>>>0,x,b+g);else{var C;if(m<22250738585072014e-324)C=m/5e-324,d(C>>>0,x,b+p),d((T<<31|C/4294967296)>>>0,x,b+g);else{var A=Math.floor(Math.log(m)/Math.LN2);A===1024&&(A=1023),C=m*Math.pow(2,-A),d(C*4503599627370496>>>0,x,b+p),d((T<<31|A+1023<<20|C*1048576&1048575)>>>0,x,b+g)}}}c.writeDoubleLE=u.bind(null,o,0,4),c.writeDoubleBE=u.bind(null,r,4,0);function f(d,p,g,m,x){var b=d(m,x+p),T=d(m,x+g),C=(T>>31)*2+1,A=T>>>20&2047,S=4294967296*(T&1048575)+b;return A===2047?S?NaN:C*(1/0):A===0?C*5e-324*S:C*Math.pow(2,A-1075)*(S+4503599627370496)}c.readDoubleLE=f.bind(null,s,0,4),c.readDoubleBE=f.bind(null,a,4,0)}(),c}function o(c,u,f){u[f]=c&255,u[f+1]=c>>>8&255,u[f+2]=c>>>16&255,u[f+3]=c>>>24}function r(c,u,f){u[f]=c>>>24,u[f+1]=c>>>16&255,u[f+2]=c>>>8&255,u[f+3]=c&255}function s(c,u){return(c[u]|c[u+1]<<8|c[u+2]<<16|c[u+3]<<24)>>>0}function a(c,u){return(c[u]<<24|c[u+1]<<16|c[u+2]<<8|c[u+3])>>>0}},{}],5:[function(require,module,exports){"use strict";module.exports=inquire;function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(e){}return null}},{}],6:[function(e,t,n){"use strict";t.exports=i;function i(o,r,s){var a=s||8192,c=a>>>1,u=null,f=a;return function(p){if(p<1||p>c)return o(p);f+p>a&&(u=o(a),f=0);var g=r.call(u,f,f+=p);return f&7&&(f=(f|7)+1),g}}},{}],7:[function(e,t,n){"use strict";var i=n;i.length=function(r){for(var s=0,a=0,c=0;c<r.length;++c)a=r.charCodeAt(c),a<128?s+=1:a<2048?s+=2:(a&64512)===55296&&(r.charCodeAt(c+1)&64512)===56320?(++c,s+=4):s+=3;return s},i.read=function(r,s,a){var c=a-s;if(c<1)return"";for(var u=null,f=[],d=0,p;s<a;)p=r[s++],p<128?f[d++]=p:p>191&&p<224?f[d++]=(p&31)<<6|r[s++]&63:p>239&&p<365?(p=((p&7)<<18|(r[s++]&63)<<12|(r[s++]&63)<<6|r[s++]&63)-65536,f[d++]=55296+(p>>10),f[d++]=56320+(p&1023)):f[d++]=(p&15)<<12|(r[s++]&63)<<6|r[s++]&63,d>8191&&((u||(u=[])).push(String.fromCharCode.apply(String,f)),d=0);return u?(d&&u.push(String.fromCharCode.apply(String,f.slice(0,d))),u.join("")):String.fromCharCode.apply(String,f.slice(0,d))},i.write=function(r,s,a){for(var c=a,u,f,d=0;d<r.length;++d)u=r.charCodeAt(d),u<128?s[a++]=u:u<2048?(s[a++]=u>>6|192,s[a++]=u&63|128):(u&64512)===55296&&((f=r.charCodeAt(d+1))&64512)===56320?(u=65536+((u&1023)<<10)+(f&1023),++d,s[a++]=u>>18|240,s[a++]=u>>12&63|128,s[a++]=u>>6&63|128,s[a++]=u&63|128):(s[a++]=u>>12|224,s[a++]=u>>6&63|128,s[a++]=u&63|128);return a-c}},{}],8:[function(e,t,n){"use strict";var i=n;i.build="minimal",i.Writer=e(16),i.BufferWriter=e(17),i.Reader=e(9),i.BufferReader=e(10),i.util=e(15),i.rpc=e(12),i.roots=e(11),i.configure=o;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}o()},{10:10,11:11,12:12,15:15,16:16,17:17,9:9}],9:[function(e,t,n){"use strict";t.exports=c;var i=e(15),o,r=i.LongBits,s=i.utf8;function a(m,x){return RangeError("index out of range: "+m.pos+" + "+(x||1)+" > "+m.len)}function c(m){this.buf=m,this.pos=0,this.len=m.length}var u=typeof Uint8Array<"u"?function(x){if(x instanceof Uint8Array||Array.isArray(x))return new c(x);throw Error("illegal buffer")}:function(x){if(Array.isArray(x))return new c(x);throw Error("illegal buffer")},f=function(){return i.Buffer?function(b){return(c.create=function(C){return i.Buffer.isBuffer(C)?new o(C):u(C)})(b)}:u};c.create=f(),c.prototype._slice=i.Array.prototype.subarray||i.Array.prototype.slice,c.prototype.uint32=function(){var x=4294967295;return function(){if(x=(this.buf[this.pos]&127)>>>0,this.buf[this.pos++]<128||(x=(x|(this.buf[this.pos]&127)<<7)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<14)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&127)<<21)>>>0,this.buf[this.pos++]<128)||(x=(x|(this.buf[this.pos]&15)<<28)>>>0,this.buf[this.pos++]<128))return x;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return x}}(),c.prototype.int32=function(){return this.uint32()|0},c.prototype.sint32=function(){var x=this.uint32();return x>>>1^-(x&1)|0};function d(){var m=new r(0,0),x=0;if(this.len-this.pos>4){for(;x<4;++x)if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m;if(m.lo=(m.lo|(this.buf[this.pos]&127)<<28)>>>0,m.hi=(m.hi|(this.buf[this.pos]&127)>>4)>>>0,this.buf[this.pos++]<128)return m;x=0}else{for(;x<3;++x){if(this.pos>=this.len)throw a(this);if(m.lo=(m.lo|(this.buf[this.pos]&127)<<x*7)>>>0,this.buf[this.pos++]<128)return m}return m.lo=(m.lo|(this.buf[this.pos++]&127)<<x*7)>>>0,m}if(this.len-this.pos>4){for(;x<5;++x)if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}else for(;x<5;++x){if(this.pos>=this.len)throw a(this);if(m.hi=(m.hi|(this.buf[this.pos]&127)<<x*7+3)>>>0,this.buf[this.pos++]<128)return m}throw Error("invalid varint encoding")}c.prototype.bool=function(){return this.uint32()!==0};function p(m,x){return(m[x-4]|m[x-3]<<8|m[x-2]<<16|m[x-1]<<24)>>>0}c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return p(this.buf,this.pos+=4)|0};function g(){if(this.pos+8>this.len)throw a(this,8);return new r(p(this.buf,this.pos+=4),p(this.buf,this.pos+=4))}c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var x=i.float.readFloatLE(this.buf,this.pos);return this.pos+=4,x},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var x=i.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,x},c.prototype.bytes=function(){var x=this.uint32(),b=this.pos,T=this.pos+x;if(T>this.len)throw a(this,x);if(this.pos+=x,Array.isArray(this.buf))return this.buf.slice(b,T);if(b===T){var C=i.Buffer;return C?C.alloc(0):new this.buf.constructor(0)}return this._slice.call(this.buf,b,T)},c.prototype.string=function(){var x=this.bytes();return s.read(x,0,x.length)},c.prototype.skip=function(x){if(typeof x=="number"){if(this.pos+x>this.len)throw a(this,x);this.pos+=x}else do if(this.pos>=this.len)throw a(this);while(this.buf[this.pos++]&128);return this},c.prototype.skipType=function(m){switch(m){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;(m=this.uint32()&7)!==4;)this.skipType(m);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+m+" at offset "+this.pos)}return this},c._configure=function(m){o=m,c.create=f(),o._configure();var x=i.Long?"toLong":"toNumber";i.merge(c.prototype,{int64:function(){return d.call(this)[x](!1)},uint64:function(){return d.call(this)[x](!0)},sint64:function(){return d.call(this).zzDecode()[x](!1)},fixed64:function(){return g.call(this)[x](!0)},sfixed64:function(){return g.call(this)[x](!1)}})}},{15:15}],10:[function(e,t,n){"use strict";t.exports=r;var i=e(9);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(s){i.call(this,s)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var a=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+a,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+a,this.len))},r._configure()},{15:15,9:9}],11:[function(e,t,n){"use strict";t.exports={}},{}],12:[function(e,t,n){"use strict";var i=n;i.Service=e(13)},{13:13}],13:[function(e,t,n){"use strict";t.exports=o;var i=e(15);(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o;function o(r,s,a){if(typeof r!="function")throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=r,this.requestDelimited=!!s,this.responseDelimited=!!a}o.prototype.rpcCall=function r(s,a,c,u,f){if(!u)throw TypeError("request must be specified");var d=this;if(!f)return i.asPromise(r,d,s,a,c,u);if(!d.rpcImpl)return setTimeout(function(){f(Error("already ended"))},0),undefined;try{return d.rpcImpl(s,a[d.requestDelimited?"encodeDelimited":"encode"](u).finish(),function(g,m){if(g)return d.emit("error",g,s),f(g);if(m===null)return d.end(!0),undefined;if(!(m instanceof c))try{m=c[d.responseDelimited?"decodeDelimited":"decode"](m)}catch(x){return d.emit("error",x,s),f(x)}return d.emit("data",m,s),f(null,m)})}catch(p){return d.emit("error",p,s),setTimeout(function(){f(p)},0),undefined}},o.prototype.end=function(s){return this.rpcImpl&&(s||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},{15:15}],14:[function(e,t,n){"use strict";t.exports=o;var i=e(15);function o(c,u){this.lo=c>>>0,this.hi=u>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(u){if(u===0)return r;var f=u<0;f&&(u=-u);var d=u>>>0,p=(u-d)/4294967296>>>0;return f&&(p=~p>>>0,d=~d>>>0,++d>4294967295&&(d=0,++p>4294967295&&(p=0))),new o(d,p)},o.from=function(u){if(typeof u=="number")return o.fromNumber(u);if(i.isString(u))if(i.Long)u=i.Long.fromString(u);else return o.fromNumber(parseInt(u,10));return u.low||u.high?new o(u.low>>>0,u.high>>>0):r},o.prototype.toNumber=function(u){if(!u&&this.hi>>>31){var f=~this.lo+1>>>0,d=~this.hi>>>0;return f||(d=d+1>>>0),-(f+d*4294967296)}return this.lo+this.hi*4294967296},o.prototype.toLong=function(u){return i.Long?new i.Long(this.lo|0,this.hi|0,!!u):{low:this.lo|0,high:this.hi|0,unsigned:!!u}};var a=String.prototype.charCodeAt;o.fromHash=function(u){return u===s?r:new o((a.call(u,0)|a.call(u,1)<<8|a.call(u,2)<<16|a.call(u,3)<<24)>>>0,(a.call(u,4)|a.call(u,5)<<8|a.call(u,6)<<16|a.call(u,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(this.lo&255,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,this.hi&255,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var u=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^u)>>>0,this.lo=(this.lo<<1^u)>>>0,this},o.prototype.zzDecode=function(){var u=-(this.lo&1);return this.lo=((this.lo>>>1|this.hi<<31)^u)>>>0,this.hi=(this.hi>>>1^u)>>>0,this},o.prototype.length=function(){var u=this.lo,f=(this.lo>>>28|this.hi<<4)>>>0,d=this.hi>>>24;return d===0?f===0?u<16384?u<128?1:2:u<2097152?3:4:f<16384?f<128?5:6:f<2097152?7:8:d<128?9:10}},{15:15}],15:[function(e,t,n){"use strict";var i=n;i.asPromise=e(1),i.base64=e(2),i.EventEmitter=e(3),i.float=e(4),i.inquire=e(5),i.utf8=e(7),i.pool=e(6),i.LongBits=e(14),i.isNode=!!(typeof global<"u"&&global&&global.process&&global.process.versions&&global.process.versions.node),i.global=i.isNode&&global||typeof window<"u"&&window||typeof self<"u"&&self||this,i.emptyArray=Object.freeze?Object.freeze([]):[],i.emptyObject=Object.freeze?Object.freeze({}):{},i.isInteger=Number.isInteger||function(a){return typeof a=="number"&&isFinite(a)&&Math.floor(a)===a},i.isString=function(a){return typeof a=="string"||a instanceof String},i.isObject=function(a){return a&&typeof a=="object"},i.isset=i.isSet=function(a,c){var u=a[c];return u!=null&&a.hasOwnProperty(c)?typeof u!="object"||(Array.isArray(u)?u.length:Object.keys(u).length)>0:!1},i.Buffer=function(){try{var s=i.inquire("buffer").Buffer;return s.prototype.utf8Write?s:null}catch{return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(a){return typeof a=="number"?i.Buffer?i._Buffer_allocUnsafe(a):new i.Array(a):i.Buffer?i._Buffer_from(a):typeof Uint8Array>"u"?a:new Uint8Array(a)},i.Array=typeof Uint8Array<"u"?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(a){return a?i.LongBits.from(a).toHash():i.LongBits.zeroHash},i.longFromHash=function(a,c){var u=i.LongBits.fromHash(a);return i.Long?i.Long.fromBits(u.lo,u.hi,c):u.toNumber(!!c)};function o(s,a,c){for(var u=Object.keys(a),f=0;f<u.length;++f)(s[u[f]]===undefined||!c)&&(s[u[f]]=a[u[f]]);return s}i.merge=o,i.lcFirst=function(a){return a.charAt(0).toLowerCase()+a.substring(1)};function r(s){function a(c,u){if(!(this instanceof a))return new a(c,u);Object.defineProperty(this,"message",{get:function(){return c}}),Error.captureStackTrace?Error.captureStackTrace(this,a):Object.defineProperty(this,"stack",{value:new Error().stack||""}),u&&o(this,u)}return a.prototype=Object.create(Error.prototype,{constructor:{value:a,writable:!0,enumerable:!1,configurable:!0},name:{get:function(){return s},set:undefined,enumerable:!1,configurable:!0},toString:{value:function(){return this.name+": "+this.message},writable:!0,enumerable:!1,configurable:!0}}),a}i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(a){for(var c={},u=0;u<a.length;++u)c[a[u]]=1;return function(){for(var f=Object.keys(this),d=f.length-1;d>-1;--d)if(c[f[d]]===1&&this[f[d]]!==undefined&&this[f[d]]!==null)return f[d]}},i.oneOfSetter=function(a){return function(c){for(var u=0;u<a.length;++u)a[u]!==c&&delete this[a[u]]}},i.toJSONOptions={longs:String,enums:String,bytes:String,json:!0},i._configure=function(){var s=i.Buffer;if(!s){i._Buffer_from=i._Buffer_allocUnsafe=null;return}i._Buffer_from=s.from!==Uint8Array.from&&s.from||function(c,u){return new s(c,u)},i._Buffer_allocUnsafe=s.allocUnsafe||function(c){return new s(c)}}},{1:1,14:14,2:2,3:3,4:4,5:5,6:6,7:7}],16:[function(e,t,n){"use strict";t.exports=d;var i=e(15),o,r=i.LongBits,s=i.base64,a=i.utf8;function c(A,S,v){this.fn=A,this.len=S,this.next=undefined,this.val=v}function u(){}function f(A){this.head=A.head,this.tail=A.tail,this.len=A.len,this.next=A.states}function d(){this.len=0,this.head=new c(u,0,0),this.tail=this.head,this.states=null}var p=function(){return i.Buffer?function(){return(d.create=function(){return new o})()}:function(){return new d}};d.create=p(),d.alloc=function(S){return new i.Array(S)},i.Array!==Array&&(d.alloc=i.pool(d.alloc,i.Array.prototype.subarray)),d.prototype._push=function(S,v,D){return this.tail=this.tail.next=new c(S,v,D),this.len+=v,this};function g(A,S,v){S[v]=A&255}function m(A,S,v){for(;A>127;)S[v++]=A&127|128,A>>>=7;S[v]=A}function x(A,S){this.len=A,this.next=undefined,this.val=S}x.prototype=Object.create(c.prototype),x.prototype.fn=m,d.prototype.uint32=function(S){return this.len+=(this.tail=this.tail.next=new x((S=S>>>0)<128?1:S<16384?2:S<2097152?3:S<268435456?4:5,S)).len,this},d.prototype.int32=function(S){return S<0?this._push(b,10,r.fromNumber(S)):this.uint32(S)},d.prototype.sint32=function(S){return this.uint32((S<<1^S>>31)>>>0)};function b(A,S,v){for(;A.hi;)S[v++]=A.lo&127|128,A.lo=(A.lo>>>7|A.hi<<25)>>>0,A.hi>>>=7;for(;A.lo>127;)S[v++]=A.lo&127|128,A.lo=A.lo>>>7;S[v++]=A.lo}d.prototype.uint64=function(S){var v=r.from(S);return this._push(b,v.length(),v)},d.prototype.int64=d.prototype.uint64,d.prototype.sint64=function(S){var v=r.from(S).zzEncode();return this._push(b,v.length(),v)},d.prototype.bool=function(S){return this._push(g,1,S?1:0)};function T(A,S,v){S[v]=A&255,S[v+1]=A>>>8&255,S[v+2]=A>>>16&255,S[v+3]=A>>>24}d.prototype.fixed32=function(S){return this._push(T,4,S>>>0)},d.prototype.sfixed32=d.prototype.fixed32,d.prototype.fixed64=function(S){var v=r.from(S);return this._push(T,4,v.lo)._push(T,4,v.hi)},d.prototype.sfixed64=d.prototype.fixed64,d.prototype.float=function(S){return this._push(i.float.writeFloatLE,4,S)},d.prototype.double=function(S){return this._push(i.float.writeDoubleLE,8,S)};var C=i.Array.prototype.set?function(S,v,D){v.set(S,D)}:function(S,v,D){for(var R=0;R<S.length;++R)v[D+R]=S[R]};d.prototype.bytes=function(S){var v=S.length>>>0;if(!v)return this._push(g,1,0);if(i.isString(S)){var D=d.alloc(v=s.length(S));s.decode(S,D,0),S=D}return this.uint32(v)._push(C,v,S)},d.prototype.string=function(S){var v=a.length(S);return v?this.uint32(v)._push(a.write,v,S):this._push(g,1,0)},d.prototype.fork=function(){return this.states=new f(this),this.head=this.tail=new c(u,0,0),this.len=0,this},d.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(u,0,0),this.len=0),this},d.prototype.ldelim=function(){var S=this.head,v=this.tail,D=this.len;return this.reset().uint32(D),D&&(this.tail.next=S.next,this.tail=v,this.len+=D),this},d.prototype.finish=function(){for(var S=this.head.next,v=this.constructor.alloc(this.len),D=0;S;)S.fn(S.val,v,D),D+=S.len,S=S.next;return v},d._configure=function(A){o=A,d.create=p(),o._configure()}},{15:15}],17:[function(e,t,n){"use strict";t.exports=r;var i=e(16);(r.prototype=Object.create(i.prototype)).constructor=r;var o=e(15);function r(){i.call(this)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&o.Buffer.prototype.set.name==="set"?function(c,u,f){u.set(c,f)}:function(c,u,f){if(c.copy)c.copy(u,f,0,c.length);else for(var d=0;d<c.length;)u[f++]=c[d++]}},r.prototype.bytes=function(c){o.isString(c)&&(c=o._Buffer_from(c,"base64"));var u=c.length>>>0;return this.uint32(u),u&&this._push(r.writeBytesBuffer,u,c),this};function s(a,c,u){a.length<40?o.utf8.write(a,c,u):c.utf8Write?c.utf8Write(a,u):c.write(a,u)}r.prototype.string=function(c){var u=o.Buffer.byteLength(c);return this.uint32(u),u&&this._push(s,u,c),this},r._configure()},{15:15,16:16}]},{},[8])})()});var lCe=Wl((FVi,C8)=>{/* Copyright 2015-2018 Esri. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 @preserve */(function(){var e=function(){var o={};o.defaultNoDataValue=-34027999387901484e22,o.decode=function(f,d){d=d||{};var p=d.encodedMaskData||d.encodedMaskData===null,g=c(f,d.inputOffset||0,p),m=d.noDataValue!==null?d.noDataValue:o.defaultNoDataValue,x=r(g,d.pixelType||Float32Array,d.encodedMaskData,m,d.returnMask),b={width:g.width,height:g.height,pixelData:x.resultPixels,minValue:x.minValue,maxValue:g.pixels.maxValue,noDataValue:m};return x.resultMask&&(b.maskData=x.resultMask),d.returnEncodedMask&&g.mask&&(b.encodedMaskData=g.mask.bitset?g.mask.bitset:null),d.returnFileInfo&&(b.fileInfo=s(g),d.computeUsedBitDepths&&(b.fileInfo.bitDepths=a(g))),b};var r=function(f,d,p,g,m){var x=0,b=f.pixels.numBlocksX,T=f.pixels.numBlocksY,C=Math.floor(f.width/b),A=Math.floor(f.height/T),S=2*f.maxZError,v=Number.MAX_VALUE,D;p=p||(f.mask?f.mask.bitset:null);var R,O;R=new d(f.width*f.height),m&&p&&(O=new Uint8Array(f.width*f.height));for(var M=new Float32Array(C*A),N,_,E=0;E<=T;E++){var w=E!==T?A:f.height%T;if(w!==0)for(var I=0;I<=b;I++){var L=I!==b?C:f.width%b;if(L!==0){var B=E*f.width*A+I*C,H=f.width-L,V=f.pixels.blocks[x],G,k,W;V.encoding<2?(V.encoding===0?G=V.rawData:(u(V.stuffedData,V.bitsPerPixel,V.numValidPixels,V.offset,S,M,f.pixels.maxValue),G=M),k=0):V.encoding===2?W=0:W=V.offset;var Y;if(p)for(_=0;_<w;_++){for(B&7&&(Y=p[B>>3],Y<<=B&7),N=0;N<L;N++)B&7||(Y=p[B>>3]),Y&128?(O&&(O[B]=1),D=V.encoding<2?G[k++]:W,v=v>D?D:v,R[B++]=D):(O&&(O[B]=0),R[B++]=g),Y<<=1;B+=H}else if(V.encoding<2)for(_=0;_<w;_++){for(N=0;N<L;N++)D=G[k++],v=v>D?D:v,R[B++]=D;B+=H}else for(v=v>W?W:v,_=0;_<w;_++){for(N=0;N<L;N++)R[B++]=W;B+=H}if(V.encoding===1&&k!==V.numValidPixels)throw"Block and Mask do not match";x++}}}return{resultPixels:R,resultMask:O,minValue:v}},s=function(f){return{fileIdentifierString:f.fileIdentifierString,fileVersion:f.fileVersion,imageType:f.imageType,height:f.height,width:f.width,maxZError:f.maxZError,eofOffset:f.eofOffset,mask:f.mask?{numBlocksX:f.mask.numBlocksX,numBlocksY:f.mask.numBlocksY,numBytes:f.mask.numBytes,maxValue:f.mask.maxValue}:null,pixels:{numBlocksX:f.pixels.numBlocksX,numBlocksY:f.pixels.numBlocksY,numBytes:f.pixels.numBytes,maxValue:f.pixels.maxValue,noDataValue:f.noDataValue}}},a=function(f){for(var d=f.pixels.numBlocksX*f.pixels.numBlocksY,p={},g=0;g<d;g++){var m=f.pixels.blocks[g];m.encoding===0?p.float32=!0:m.encoding===1?p[m.bitsPerPixel]=!0:p[0]=!0}return Object.keys(p)},c=function(f,d,p){var g={},m=new Uint8Array(f,d,10);if(g.fileIdentifierString=String.fromCharCode.apply(null,m),g.fileIdentifierString.trim()!=="CntZImage")throw"Unexpected file identifier string: "+g.fileIdentifierString;d+=10;var x=new DataView(f,d,24);if(g.fileVersion=x.getInt32(0,!0),g.imageType=x.getInt32(4,!0),g.height=x.getUint32(8,!0),g.width=x.getUint32(12,!0),g.maxZError=x.getFloat64(16,!0),d+=24,!p)if(x=new DataView(f,d,16),g.mask={},g.mask.numBlocksY=x.getUint32(0,!0),g.mask.numBlocksX=x.getUint32(4,!0),g.mask.numBytes=x.getUint32(8,!0),g.mask.maxValue=x.getFloat32(12,!0),d+=16,g.mask.numBytes>0){var b=new Uint8Array(Math.ceil(g.width*g.height/8));x=new DataView(f,d,g.mask.numBytes);var T=x.getInt16(0,!0),C=2,A=0;do{if(T>0)for(;T--;)b[A++]=x.getUint8(C++);else{var S=x.getUint8(C++);for(T=-T;T--;)b[A++]=S}T=x.getInt16(C,!0),C+=2}while(C<g.mask.numBytes);if(T!==-32768||A<b.length)throw"Unexpected end of mask RLE encoding";g.mask.bitset=b,d+=g.mask.numBytes}else g.mask.numBytes|g.mask.numBlocksY|g.mask.maxValue||(g.mask.bitset=new Uint8Array(Math.ceil(g.width*g.height/8)));x=new DataView(f,d,16),g.pixels={},g.pixels.numBlocksY=x.getUint32(0,!0),g.pixels.numBlocksX=x.getUint32(4,!0),g.pixels.numBytes=x.getUint32(8,!0),g.pixels.maxValue=x.getFloat32(12,!0),d+=16;var v=g.pixels.numBlocksX,D=g.pixels.numBlocksY,R=v+(g.width%v>0?1:0),O=D+(g.height%D>0?1:0);g.pixels.blocks=new Array(R*O);for(var M=0,N=0;N<O;N++)for(var _=0;_<R;_++){var E=0,w=f.byteLength-d;x=new DataView(f,d,Math.min(10,w));var I={};g.pixels.blocks[M++]=I;var L=x.getUint8(0);if(E++,I.encoding=L&63,I.encoding>3)throw"Invalid block encoding ("+I.encoding+")";if(I.encoding===2){d++;continue}if(L!==0&&L!==2){if(L>>=6,I.offsetType=L,L===2)I.offset=x.getInt8(1),E++;else if(L===1)I.offset=x.getInt16(1,!0),E+=2;else if(L===0)I.offset=x.getFloat32(1,!0),E+=4;else throw"Invalid block offset type";if(I.encoding===1)if(L=x.getUint8(E),E++,I.bitsPerPixel=L&63,L>>=6,I.numValidPixelsType=L,L===2)I.numValidPixels=x.getUint8(E),E++;else if(L===1)I.numValidPixels=x.getUint16(E,!0),E+=2;else if(L===0)I.numValidPixels=x.getUint32(E,!0),E+=4;else throw"Invalid valid pixel count type"}if(d+=E,I.encoding!==3){var B,H;if(I.encoding===0){var V=(g.pixels.numBytes-1)/4;if(V!==Math.floor(V))throw"uncompressed block has invalid length";B=new ArrayBuffer(V*4),H=new Uint8Array(B),H.set(new Uint8Array(f,d,V*4));var G=new Float32Array(B);I.rawData=G,d+=V*4}else if(I.encoding===1){var k=Math.ceil(I.numValidPixels*I.bitsPerPixel/8),W=Math.ceil(k/4);B=new ArrayBuffer(W*4),H=new Uint8Array(B),H.set(new Uint8Array(f,d,k)),I.stuffedData=new Uint32Array(B),d+=k}}}return g.eofOffset=d,g},u=function(f,d,p,g,m,x,b){var T=(1<<d)-1,C=0,A,S=0,v,D,R=Math.ceil((b-g)/m),O=f.length*4-Math.ceil(d*p/8);for(f[f.length-1]<<=8*O,A=0;A<p;A++){if(S===0&&(D=f[C++],S=32),S>=d)v=D>>>S-d&T,S-=d;else{var M=d-S;v=(D&T)<<M&T,D=f[C++],S=32-M,v+=D>>>S}x[A]=v<R?g+v*m:b}return x};return o}(),t=function(){"use strict";var o={unstuff:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,C,A=0,S,v,D,R,O=c.length*4-Math.ceil(f*d/8);if(c[c.length-1]<<=8*O,p)for(C=0;C<d;C++)A===0&&(v=c[T++],A=32),A>=f?(S=v>>>A-f&b,A-=f):(D=f-A,S=(v&b)<<D&b,v=c[T++],A=32-D,S+=v>>>A),u[C]=p[S];else for(R=Math.ceil((x-g)/m),C=0;C<d;C++)A===0&&(v=c[T++],A=32),A>=f?(S=v>>>A-f&b,A-=f):(D=f-A,S=(v&b)<<D&b,v=c[T++],A=32-D,S+=v>>>A),u[C]=S<R?g+S*m:x},unstuffLUT:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,C=0,A=0,S,v=[],D=c.length*4-Math.ceil(u*f/8);c[c.length-1]<<=8*D;var R=Math.ceil((g-d)/p);for(b=0;b<f;b++)C===0&&(S=c[x++],C=32),C>=u?(A=S>>>C-u&m,C-=u):(T=u-C,A=(S&m)<<T&m,S=c[x++],C=32-T,A+=S>>>C),v[b]=A<R?d+A*p:g;return v.unshift(d),v},unstuff2:function(c,u,f,d,p,g,m,x){var b=(1<<f)-1,T=0,C,A=0,S=0,v,D,R;if(p)for(C=0;C<d;C++)A===0&&(D=c[T++],A=32,S=0),A>=f?(v=D>>>S&b,A-=f,S+=f):(R=f-A,v=D>>>S&b,D=c[T++],A=32-R,v|=(D&(1<<R)-1)<<f-R,S=R),u[C]=p[v];else{var O=Math.ceil((x-g)/m);for(C=0;C<d;C++)A===0&&(D=c[T++],A=32,S=0),A>=f?(v=D>>>S&b,A-=f,S+=f):(R=f-A,v=D>>>S&b,D=c[T++],A=32-R,v|=(D&(1<<R)-1)<<f-R,S=R),u[C]=v<O?g+v*m:x}return u},unstuffLUT2:function(c,u,f,d,p,g){var m=(1<<u)-1,x=0,b=0,T=0,C=0,A=0,S=0,v,D=[],R=Math.ceil((g-d)/p);for(b=0;b<f;b++)C===0&&(v=c[x++],C=32,S=0),C>=u?(A=v>>>S&m,C-=u,S+=u):(T=u-C,A=v>>>S&m,v=c[x++],C=32-T,A|=(v&(1<<T)-1)<<u-T,S=T),D[b]=A<R?d+A*p:g;return D.unshift(d),D},originalUnstuff:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b,T,C,A=c.length*4-Math.ceil(f*d/8);for(c[c.length-1]<<=8*A,m=0;m<d;m++)x===0&&(T=c[g++],x=32),x>=f?(b=T>>>x-f&p,x-=f):(C=f-x,b=(T&p)<<C&p,T=c[g++],x=32-C,b+=T>>>x),u[m]=b;return u},originalUnstuff2:function(c,u,f,d){var p=(1<<f)-1,g=0,m,x=0,b=0,T,C,A;for(m=0;m<d;m++)x===0&&(C=c[g++],x=32,b=0),x>=f?(T=C>>>b&p,x-=f,b+=f):(A=f-x,T=C>>>b&p,C=c[g++],x=32-A,T|=(C&(1<<A)-1)<<f-A,b=A),u[m]=T;return u}},r={HUFFMAN_LUT_BITS_MAX:12,computeChecksumFletcher32:function(c){for(var u=65535,f=65535,d=c.length,p=Math.floor(d/2),g=0;p;){var m=p>=359?359:p;p-=m;do u+=c[g++]<<8,f+=u+=c[g++];while(--m);u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16)}return d&1&&(f+=u+=c[g]<<8),u=(u&65535)+(u>>>16),f=(f&65535)+(f>>>16),(f<<16|u)>>>0},readHeaderInfo:function(c,u){var f=u.ptr,d=new Uint8Array(c,f,6),p={};if(p.fileIdentifierString=String.fromCharCode.apply(null,d),p.fileIdentifierString.lastIndexOf("Lerc2",0)!==0)throw"Unexpected file identifier string (expect Lerc2 ): "+p.fileIdentifierString;f+=6;var g=new DataView(c,f,8),m=g.getInt32(0,!0);p.fileVersion=m,f+=4,m>=3&&(p.checksum=g.getUint32(4,!0),f+=4),g=new DataView(c,f,12),p.height=g.getUint32(0,!0),p.width=g.getUint32(4,!0),f+=8,m>=4?(p.numDims=g.getUint32(8,!0),f+=4):p.numDims=1,g=new DataView(c,f,40),p.numValidPixel=g.getUint32(0,!0),p.microBlockSize=g.getInt32(4,!0),p.blobSize=g.getInt32(8,!0),p.imageType=g.getInt32(12,!0),p.maxZError=g.getFloat64(16,!0),p.zMin=g.getFloat64(24,!0),p.zMax=g.getFloat64(32,!0),f+=40,u.headerInfo=p,u.ptr=f;var x,b;if(m>=3&&(b=m>=4?52:48,x=this.computeChecksumFletcher32(new Uint8Array(c,f-b,p.blobSize-14)),x!==p.checksum))throw"Checksum failed.";return!0},checkMinMaxRanges:function(c,u){var f=u.headerInfo,d=this.getDataTypeArray(f.imageType),p=f.numDims*this.getDataTypeSize(f.imageType),g=this.readSubArray(c,u.ptr,d,p),m=this.readSubArray(c,u.ptr+p,d,p);u.ptr+=2*p;var x,b=!0;for(x=0;x<f.numDims;x++)if(g[x]!==m[x]){b=!1;break}return f.minValues=g,f.maxValues=m,b},readSubArray:function(c,u,f,d){var p;if(f===Uint8Array)p=new Uint8Array(c,u,d);else{var g=new ArrayBuffer(d),m=new Uint8Array(g);m.set(new Uint8Array(c,u,d)),p=new f(g)}return p},readMask:function(c,u){var f=u.ptr,d=u.headerInfo,p=d.width*d.height,g=d.numValidPixel,m=new DataView(c,f,4),x={};if(x.numBytes=m.getUint32(0,!0),f+=4,(g===0||p===g)&&x.numBytes!==0)throw"invalid mask";var b,T;if(g===0)b=new Uint8Array(Math.ceil(p/8)),x.bitset=b,T=new Uint8Array(p),u.pixels.resultMask=T,f+=x.numBytes;else if(x.numBytes>0){b=new Uint8Array(Math.ceil(p/8)),m=new DataView(c,f,x.numBytes);var C=m.getInt16(0,!0),A=2,S=0,v=0;do{if(C>0)for(;C--;)b[S++]=m.getUint8(A++);else for(v=m.getUint8(A++),C=-C;C--;)b[S++]=v;C=m.getInt16(A,!0),A+=2}while(A<x.numBytes);if(C!==-32768||S<b.length)throw"Unexpected end of mask RLE encoding";T=new Uint8Array(p);var D=0,R=0;for(R=0;R<p;R++)R&7?(D=b[R>>3],D<<=R&7):D=b[R>>3],D&128&&(T[R]=1);u.pixels.resultMask=T,x.bitset=b,f+=x.numBytes}return u.ptr=f,u.mask=x,!0},readDataOneSweep:function(c,u,f){var d=u.ptr,p=u.headerInfo,g=p.numDims,m=p.width*p.height,x=p.imageType,b=p.numValidPixel*r.getDataTypeSize(x)*g,T,C=u.pixels.resultMask;if(f===Uint8Array)T=new Uint8Array(c,d,b);else{var A=new ArrayBuffer(b),S=new Uint8Array(A);S.set(new Uint8Array(c,d,b)),T=new f(A)}if(T.length===m*g)u.pixels.resultPixels=T;else{u.pixels.resultPixels=new f(m*g);var v=0,D=0,R=0,O=0;if(g>1)for(R=0;R<g;R++)for(O=R*m,D=0;D<m;D++)C[D]&&(u.pixels.resultPixels[O+D]=T[v++]);else for(D=0;D<m;D++)C[D]&&(u.pixels.resultPixels[D]=T[v++])}return d+=b,u.ptr=d,!0},readHuffmanTree:function(c,u){var f=this.HUFFMAN_LUT_BITS_MAX,d=new DataView(c,u.ptr,16);u.ptr+=16;var p=d.getInt32(0,!0);if(p<2)throw"unsupported Huffman version";var g=d.getInt32(4,!0),m=d.getInt32(8,!0),x=d.getInt32(12,!0);if(m>=x)return!1;var b=new Uint32Array(x-m);r.decodeBits(c,u,b);var T=[],C,A,S,v;for(C=m;C<x;C++)A=C-(C<g?0:g),T[A]={first:b[C-m],second:null};var D=c.byteLength-u.ptr,R=Math.ceil(D/4),O=new ArrayBuffer(R*4),M=new Uint8Array(O);M.set(new Uint8Array(c,u.ptr,D));var N=new Uint32Array(O),_=0,E,w=0;for(E=N[0],C=m;C<x;C++)A=C-(C<g?0:g),v=T[A].first,v>0&&(T[A].second=E<<_>>>32-v,32-_>=v?(_+=v,_===32&&(_=0,w++,E=N[w])):(_+=v-32,w++,E=N[w],T[A].second|=E>>>32-_));var I=0,L=0,B=new s;for(C=0;C<T.length;C++)T[C]!==void 0&&(I=Math.max(I,T[C].first));I>=f?L=f:L=I,I>=30&&console.log("WARning, large NUM LUT BITS IS "+I);var H=[],V,G,k,W,Y,J;for(C=m;C<x;C++)if(A=C-(C<g?0:g),v=T[A].first,v>0)if(V=[v,A],v<=L)for(G=T[A].second<<L-v,k=1<<L-v,S=0;S<k;S++)H[G|S]=V;else for(G=T[A].second,J=B,W=v-1;W>=0;W--)Y=G>>>W&1,Y?(J.right||(J.right=new s),J=J.right):(J.left||(J.left=new s),J=J.left),W===0&&!J.val&&(J.val=V[1]);return{decodeLut:H,numBitsLUTQick:L,numBitsLUT:I,tree:B,stuffedData:N,srcPtr:w,bitPos:_}},readHuffman:function(c,u,f){var d=u.headerInfo,p=d.numDims,g=u.headerInfo.height,m=u.headerInfo.width,x=m*g,b=this.readHuffmanTree(c,u),T=b.decodeLut,C=b.tree,A=b.stuffedData,S=b.srcPtr,v=b.bitPos,D=b.numBitsLUTQick,R=b.numBitsLUT,O=u.headerInfo.imageType===0?128:0,M,N,_,E=u.pixels.resultMask,w,I,L,B,H,V,G,k=0;v>0&&(S++,v=0);var W=A[S],Y=u.encodeMode===1,J=new f(x*p),j=J,Z;for(Z=0;Z<d.numDims;Z++){if(p>1&&(j=new f(J.buffer,x*Z,x),k=0),u.headerInfo.numValidPixel===m*g)for(V=0,B=0;B<g;B++)for(H=0;H<m;H++,V++){if(N=0,w=W<<v>>>32-D,I=w,32-v<D&&(w|=A[S+1]>>>64-v-D,I=w),T[I])N=T[I][1],v+=T[I][0];else for(w=W<<v>>>32-R,I=w,32-v<R&&(w|=A[S+1]>>>64-v-R,I=w),M=C,G=0;G<R;G++)if(L=w>>>R-G-1&1,M=L?M.right:M.left,!(M.left||M.right)){N=M.val,v=v+G+1;break}v>=32&&(v-=32,S++,W=A[S]),_=N-O,Y?(H>0?_+=k:B>0?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}else for(V=0,B=0;B<g;B++)for(H=0;H<m;H++,V++)if(E[V]){if(N=0,w=W<<v>>>32-D,I=w,32-v<D&&(w|=A[S+1]>>>64-v-D,I=w),T[I])N=T[I][1],v+=T[I][0];else for(w=W<<v>>>32-R,I=w,32-v<R&&(w|=A[S+1]>>>64-v-R,I=w),M=C,G=0;G<R;G++)if(L=w>>>R-G-1&1,M=L?M.right:M.left,!(M.left||M.right)){N=M.val,v=v+G+1;break}v>=32&&(v-=32,S++,W=A[S]),_=N-O,Y?(H>0&&E[V-1]?_+=k:B>0&&E[V-m]?_+=j[V-m]:_+=k,_&=255,j[V]=_,k=_):j[V]=_}u.ptr=u.ptr+(S+1)*4+(v>0?4:0)}u.pixels.resultPixels=J},decodeBits:function(c,u,f,d,p){{var g=u.headerInfo,m=g.fileVersion,x=0,b=new DataView(c,u.ptr,5),T=b.getUint8(0);x++;var C=T>>6,A=C===0?4:3-C,S=(T&32)>0,v=T&31,D=0;if(A===1)D=b.getUint8(x),x++;else if(A===2)D=b.getUint16(x,!0),x+=2;else if(A===4)D=b.getUint32(x,!0),x+=4;else throw"Invalid valid pixel count type";var R=2*g.maxZError,O,M,N,_,E,w,I,L,B,H,V=g.numDims>1?g.maxValues[p]:g.zMax;if(S){for(u.counter.lut++,L=b.getUint8(x),B=v,x++,_=Math.ceil((L-1)*v/8),E=Math.ceil(_/4),M=new ArrayBuffer(E*4),N=new Uint8Array(M),u.ptr+=x,N.set(new Uint8Array(c,u.ptr,_)),I=new Uint32Array(M),u.ptr+=_,H=0;L-1>>>H;)H++;_=Math.ceil(D*H/8),E=Math.ceil(_/4),M=new ArrayBuffer(E*4),N=new Uint8Array(M),N.set(new Uint8Array(c,u.ptr,_)),O=new Uint32Array(M),u.ptr+=_,m>=3?w=o.unstuffLUT2(I,v,L-1,d,R,V):w=o.unstuffLUT(I,v,L-1,d,R,V),m>=3?o.unstuff2(O,f,H,D,w):o.unstuff(O,f,H,D,w)}else u.counter.bitstuffer++,H=v,u.ptr+=x,H>0&&(_=Math.ceil(D*H/8),E=Math.ceil(_/4),M=new ArrayBuffer(E*4),N=new Uint8Array(M),N.set(new Uint8Array(c,u.ptr,_)),O=new Uint32Array(M),u.ptr+=_,m>=3?d==null?o.originalUnstuff2(O,f,H,D):o.unstuff2(O,f,H,D,!1,d,R,V):d==null?o.originalUnstuff(O,f,H,D):o.unstuff(O,f,H,D,!1,d,R,V))}},readTiles:function(c,u,f){var d=u.headerInfo,p=d.width,g=d.height,m=d.microBlockSize,x=d.imageType,b=r.getDataTypeSize(x),T=Math.ceil(p/m),C=Math.ceil(g/m);u.pixels.numBlocksY=C,u.pixels.numBlocksX=T,u.pixels.ptr=0;var A=0,S=0,v=0,D=0,R=0,O=0,M=0,N=0,_=0,E=0,w=0,I=0,L=0,B=0,H=0,V=0,G,k,W,Y,J,j,Z=new f(m*m),Q=g%m||m,he=p%m||m,ye,re,_e=d.numDims,xe,Ie=u.pixels.resultMask,De=u.pixels.resultPixels;for(v=0;v<C;v++)for(R=v!==C-1?m:Q,D=0;D<T;D++)for(O=D!==T-1?m:he,w=v*p*m+D*m,I=p-O,xe=0;xe<_e;xe++){if(_e>1&&(De=new f(u.pixels.resultPixels.buffer,p*g*xe*b,p*g)),M=c.byteLength-u.ptr,G=new DataView(c,u.ptr,Math.min(10,M)),k={},V=0,N=G.getUint8(0),V++,_=N>>6&255,E=N>>2&15,E!==(D*m>>3&15))throw"integrity issue";if(j=N&3,j>3)throw u.ptr+=V,"Invalid block encoding ("+j+")";if(j===2){u.counter.constant++,u.ptr+=V;continue}else if(j===0){if(u.counter.uncompressed++,u.ptr+=V,L=R*O*b,B=c.byteLength-u.ptr,L=L<B?L:B,W=new ArrayBuffer(L%b===0?L:L+b-L%b),Y=new Uint8Array(W),Y.set(new Uint8Array(c,u.ptr,L)),J=new f(W),H=0,Ie)for(A=0;A<R;A++){for(S=0;S<O;S++)Ie[w]&&(De[w]=J[H++]),w++;w+=I}else for(A=0;A<R;A++){for(S=0;S<O;S++)De[w++]=J[H++];w+=I}u.ptr+=H*b}else if(ye=r.getDataTypeUsed(x,_),re=r.getOnePixel(k,V,ye,G),V+=r.getDataTypeSize(ye),j===3)if(u.ptr+=V,u.counter.constantoffset++,Ie)for(A=0;A<R;A++){for(S=0;S<O;S++)Ie[w]&&(De[w]=re),w++;w+=I}else for(A=0;A<R;A++){for(S=0;S<O;S++)De[w++]=re;w+=I}else if(u.ptr+=V,r.decodeBits(c,u,Z,re,xe),V=0,Ie)for(A=0;A<R;A++){for(S=0;S<O;S++)Ie[w]&&(De[w]=Z[V++]),w++;w+=I}else for(A=0;A<R;A++){for(S=0;S<O;S++)De[w++]=Z[V++];w+=I}}},formatFileInfo:function(c){return{fileIdentifierString:c.headerInfo.fileIdentifierString,fileVersion:c.headerInfo.fileVersion,imageType:c.headerInfo.imageType,height:c.headerInfo.height,width:c.headerInfo.width,numValidPixel:c.headerInfo.numValidPixel,microBlockSize:c.headerInfo.microBlockSize,blobSize:c.headerInfo.blobSize,maxZError:c.headerInfo.maxZError,pixelType:r.getPixelType(c.headerInfo.imageType),eofOffset:c.eofOffset,mask:c.mask?{numBytes:c.mask.numBytes}:null,pixels:{numBlocksX:c.pixels.numBlocksX,numBlocksY:c.pixels.numBlocksY,maxValue:c.headerInfo.zMax,minValue:c.headerInfo.zMin,noDataValue:c.noDataValue}}},constructConstantSurface:function(c){var u=c.headerInfo.zMax,f=c.headerInfo.numDims,d=c.headerInfo.height*c.headerInfo.width,p=d*f,g=0,m=0,x=0,b=c.pixels.resultMask;if(b)if(f>1)for(g=0;g<f;g++)for(x=g*d,m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[x+m]=u);else for(m=0;m<d;m++)b[m]&&(c.pixels.resultPixels[m]=u);else if(c.pixels.resultPixels.fill)c.pixels.resultPixels.fill(u);else for(m=0;m<p;m++)c.pixels.resultPixels[m]=u},getDataTypeArray:function(c){var u;switch(c){case 0:u=Int8Array;break;case 1:u=Uint8Array;break;case 2:u=Int16Array;break;case 3:u=Uint16Array;break;case 4:u=Int32Array;break;case 5:u=Uint32Array;break;case 6:u=Float32Array;break;case 7:u=Float64Array;break;default:u=Float32Array}return u},getPixelType:function(c){var u;switch(c){case 0:u="S8";break;case 1:u="U8";break;case 2:u="S16";break;case 3:u="U16";break;case 4:u="S32";break;case 5:u="U32";break;case 6:u="F32";break;case 7:u="F64";break;default:u="F32"}return u},isValidPixelValue:function(c,u){if(u==null)return!1;var f;switch(c){case 0:f=u>=-128&&u<=127;break;case 1:f=u>=0&&u<=255;break;case 2:f=u>=-32768&&u<=32767;break;case 3:f=u>=0&&u<=65536;break;case 4:f=u>=-2147483648&&u<=2147483647;break;case 5:f=u>=0&&u<=4294967296;break;case 6:f=u>=-34027999387901484e22&&u<=34027999387901484e22;break;case 7:f=u>=5e-324&&u<=17976931348623157e292;break;default:f=!1}return f},getDataTypeSize:function(c){var u=0;switch(c){case 0:case 1:u=1;break;case 2:case 3:u=2;break;case 4:case 5:case 6:u=4;break;case 7:u=8;break;default:u=c}return u},getDataTypeUsed:function(c,u){var f=c;switch(c){case 2:case 4:f=c-u;break;case 3:case 5:f=c-2*u;break;case 6:u===0?f=c:u===1?f=2:f=1;break;case 7:u===0?f=c:f=c-2*u+1;break;default:f=c;break}return f},getOnePixel:function(c,u,f,d){var p=0;switch(f){case 0:p=d.getInt8(u);break;case 1:p=d.getUint8(u);break;case 2:p=d.getInt16(u,!0);break;case 3:p=d.getUint16(u,!0);break;case 4:p=d.getInt32(u,!0);break;case 5:p=d.getUInt32(u,!0);break;case 6:p=d.getFloat32(u,!0);break;case 7:p=d.getFloat64(u,!0);break;default:throw"the decoder does not understand this pixel type"}return p}},s=function(c,u,f){this.val=c,this.left=u,this.right=f},a={decode:function(c,u){u=u||{};var f=u.noDataValue,d=0,p={};if(p.ptr=u.inputOffset||0,p.pixels={},!!r.readHeaderInfo(c,p)){var g=p.headerInfo,m=g.fileVersion,x=r.getDataTypeArray(g.imageType);r.readMask(c,p),g.numValidPixel!==g.width*g.height&&!p.pixels.resultMask&&(p.pixels.resultMask=u.maskData);var b=g.width*g.height;if(p.pixels.resultPixels=new x(b*g.numDims),p.counter={onesweep:0,uncompressed:0,lut:0,bitstuffer:0,constant:0,constantoffset:0},g.numValidPixel!==0)if(g.zMax===g.zMin)r.constructConstantSurface(p);else if(m>=4&&r.checkMinMaxRanges(c,p))r.constructConstantSurface(p);else{var T=new DataView(c,p.ptr,2),C=T.getUint8(0);if(p.ptr++,C)r.readDataOneSweep(c,p,x);else if(m>1&&g.imageType<=1&&Math.abs(g.maxZError-.5)<1e-5){var A=T.getUint8(1);if(p.ptr++,p.encodeMode=A,A>2||m<4&&A>1)throw"Invalid Huffman flag "+A;A?r.readHuffman(c,p,x):r.readTiles(c,p,x)}else r.readTiles(c,p,x)}p.eofOffset=p.ptr;var S;u.inputOffset?(S=p.headerInfo.blobSize+u.inputOffset-p.ptr,Math.abs(S)>=1&&(p.eofOffset=u.inputOffset+p.headerInfo.blobSize)):(S=p.headerInfo.blobSize-p.ptr,Math.abs(S)>=1&&(p.eofOffset=p.headerInfo.blobSize));var v={width:g.width,height:g.height,pixelData:p.pixels.resultPixels,minValue:g.zMin,maxValue:g.zMax,validPixelCount:g.numValidPixel,dimCount:g.numDims,dimStats:{minValues:g.minValues,maxValues:g.maxValues},maskData:p.pixels.resultMask};if(p.pixels.resultMask&&r.isValidPixelValue(g.imageType,f)){var D=p.pixels.resultMask;for(d=0;d<b;d++)D[d]||(v.pixelData[d]=f);v.noDataValue=f}return p.noDataValue=f,u.returnFileInfo&&(v.fileInfo=r.formatFileInfo(p)),v}},getBandCount:function(c){var u=0,f=0,d={};for(d.ptr=0,d.pixels={};f<c.byteLength-58;)r.readHeaderInfo(c,d),f+=d.headerInfo.blobSize,u++,d.ptr=f;return u}};return a}(),n=function(){var o=new ArrayBuffer(4),r=new Uint8Array(o),s=new Uint32Array(o);return s[0]=1,r[0]===1}(),i={decode:function(o,r){if(!n)throw"Big endian system is not supported.";r=r||{};var s=r.inputOffset||0,a=new Uint8Array(o,s,10),c=String.fromCharCode.apply(null,a),u,f;if(c.trim()==="CntZImage")u=e,f=1;else if(c.substring(0,5)==="Lerc2")u=t,f=2;else throw"Unexpected file identifier string: "+c;for(var d=0,p=o.byteLength-10,g,m=[],x,b,T={width:0,height:0,pixels:[],pixelType:r.pixelType,mask:null,statistics:[]};s<p;){var C=u.decode(o,{inputOffset:s,encodedMaskData:g,maskData:b,returnMask:d===0,returnEncodedMask:d===0,returnFileInfo:!0,pixelType:r.pixelType||null,noDataValue:r.noDataValue||null});s=C.fileInfo.eofOffset,d===0&&(g=C.encodedMaskData,b=C.maskData,T.width=C.width,T.height=C.height,T.dimCount=C.dimCount||1,T.pixelType=C.pixelType||C.fileInfo.pixelType,T.mask=C.maskData),f>1&&C.fileInfo.mask&&C.fileInfo.mask.numBytes>0&&m.push(C.maskData),d++,T.pixels.push(C.pixelData),T.statistics.push({minValue:C.minValue,maxValue:C.maxValue,noDataValue:C.noDataValue,dimStats:C.dimStats})}var A,S,v;if(f>1&&m.length>1){for(v=T.width*T.height,T.bandMasks=m,b=new Uint8Array(v),b.set(m[0]),A=1;A<m.length;A++)for(x=m[A],S=0;S<v;S++)b[S]=b[S]&x[S];T.maskData=b}return T}};typeof define=="function"&&define.amd?define([],function(){return i}):typeof C8<"u"&&C8.exports?C8.exports=i:this.Lerc=i})()});var gAe=Wl((dao,_Ae)=>{_Ae.exports={webm:"data:video/webm;base64,GkXfowEAAAAAAAAfQoaBAUL3gQFC8oEEQvOBCEKChHdlYm1Ch4EEQoWBAhhTgGcBAAAAAAAVkhFNm3RALE27i1OrhBVJqWZTrIHfTbuMU6uEFlSua1OsggEwTbuMU6uEHFO7a1OsghV17AEAAAAAAACkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVSalmAQAAAAAAAEUq17GDD0JATYCNTGF2ZjU1LjMzLjEwMFdBjUxhdmY1NS4zMy4xMDBzpJBlrrXf3DCDVB8KcgbMpcr+RImIQJBgAAAAAAAWVK5rAQAAAAAAD++uAQAAAAAAADLXgQFzxYEBnIEAIrWcg3VuZIaFVl9WUDiDgQEj44OEAmJaAOABAAAAAAAABrCBsLqBkK4BAAAAAAAPq9eBAnPFgQKcgQAitZyDdW5khohBX1ZPUkJJU4OBAuEBAAAAAAAAEZ+BArWIQOdwAAAAAABiZIEgY6JPbwIeVgF2b3JiaXMAAAAAAoC7AAAAAAAAgLUBAAAAAAC4AQN2b3JiaXMtAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAxMDExMDEgKFNjaGF1ZmVudWdnZXQpAQAAABUAAABlbmNvZGVyPUxhdmM1NS41Mi4xMDIBBXZvcmJpcyVCQ1YBAEAAACRzGCpGpXMWhBAaQlAZ4xxCzmvsGUJMEYIcMkxbyyVzkCGkoEKIWyiB0JBVAABAAACHQXgUhIpBCCGEJT1YkoMnPQghhIg5eBSEaUEIIYQQQgghhBBCCCGERTlokoMnQQgdhOMwOAyD5Tj4HIRFOVgQgydB6CCED0K4moOsOQghhCQ1SFCDBjnoHITCLCiKgsQwuBaEBDUojILkMMjUgwtCiJqDSTX4GoRnQXgWhGlBCCGEJEFIkIMGQcgYhEZBWJKDBjm4FITLQagahCo5CB+EIDRkFQCQAACgoiiKoigKEBqyCgDIAAAQQFEUx3EcyZEcybEcCwgNWQUAAAEACAAAoEiKpEiO5EiSJFmSJVmSJVmS5omqLMuyLMuyLMsyEBqyCgBIAABQUQxFcRQHCA1ZBQBkAAAIoDiKpViKpWiK54iOCISGrAIAgAAABAAAEDRDUzxHlETPVFXXtm3btm3btm3btm3btm1blmUZCA1ZBQBAAAAQ0mlmqQaIMAMZBkJDVgEACAAAgBGKMMSA0JBVAABAAACAGEoOogmtOd+c46BZDppKsTkdnEi1eZKbirk555xzzsnmnDHOOeecopxZDJoJrTnnnMSgWQqaCa0555wnsXnQmiqtOeeccc7pYJwRxjnnnCateZCajbU555wFrWmOmkuxOeecSLl5UptLtTnnnHPOOeecc84555zqxekcnBPOOeecqL25lpvQxTnnnE/G6d6cEM4555xzzjnnnHPOOeecIDRkFQAABABAEIaNYdwpCNLnaCBGEWIaMulB9+gwCRqDnELq0ehopJQ6CCWVcVJKJwgNWQUAAAIAQAghhRRSSCGFFFJIIYUUYoghhhhyyimnoIJKKqmooowyyyyzzDLLLLPMOuyssw47DDHEEEMrrcRSU2011lhr7jnnmoO0VlprrbVSSimllFIKQkNWAQAgAAAEQgYZZJBRSCGFFGKIKaeccgoqqIDQkFUAACAAgAAAAABP8hzRER3RER3RER3RER3R8RzPESVREiVREi3TMjXTU0VVdWXXlnVZt31b2IVd933d933d+HVhWJZlWZZlWZZlWZZlWZZlWZYgNGQVAAACAAAghBBCSCGFFFJIKcYYc8w56CSUEAgNWQUAAAIACAAAAHAUR3EcyZEcSbIkS9IkzdIsT/M0TxM9URRF0zRV0RVdUTdtUTZl0zVdUzZdVVZtV5ZtW7Z125dl2/d93/d93/d93/d93/d9XQdCQ1YBABIAADqSIymSIimS4ziOJElAaMgqAEAGAEAAAIriKI7jOJIkSZIlaZJneZaomZrpmZ4qqkBoyCoAABAAQAAAAAAAAIqmeIqpeIqoeI7oiJJomZaoqZoryqbsuq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq4LhIasAgAkAAB0JEdyJEdSJEVSJEdygNCQVQCADACAAAAcwzEkRXIsy9I0T/M0TxM90RM901NFV3SB0JBVAAAgAIAAAAAAAAAMybAUy9EcTRIl1VItVVMt1VJF1VNVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVN0zRNEwgNWQkAkAEAkBBTLS3GmgmLJGLSaqugYwxS7KWxSCpntbfKMYUYtV4ah5RREHupJGOKQcwtpNApJq3WVEKFFKSYYyoVUg5SIDRkhQAQmgHgcBxAsixAsiwAAAAAAAAAkDQN0DwPsDQPAAAAAAAAACRNAyxPAzTPAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAA0DwP8DwR8EQRAAAAAAAAACzPAzTRAzxRBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABA0jRA8zxA8zwAAAAAAAAAsDwP8EQR0DwRAAAAAAAAACzPAzxRBDzRAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAEOAAABBgIRQasiIAiBMAcEgSJAmSBM0DSJYFTYOmwTQBkmVB06BpME0AAAAAAAAAAAAAJE2DpkHTIIoASdOgadA0iCIAAAAAAAAAAAAAkqZB06BpEEWApGnQNGgaRBEAAAAAAAAAAAAAzzQhihBFmCbAM02IIkQRpgkAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAGHAAAAgwoQwUGrIiAIgTAHA4imUBAIDjOJYFAACO41gWAABYliWKAABgWZooAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAAYcAAACDChDBQashIAiAIAcCiKZQHHsSzgOJYFJMmyAJYF0DyApgFEEQAIAAAocAAACLBBU2JxgEJDVgIAUQAABsWxLE0TRZKkaZoniiRJ0zxPFGma53meacLzPM80IYqiaJoQRVE0TZimaaoqME1VFQAAUOAAABBgg6bE4gCFhqwEAEICAByKYlma5nmeJ4qmqZokSdM8TxRF0TRNU1VJkqZ5niiKommapqqyLE3zPFEURdNUVVWFpnmeKIqiaaqq6sLzPE8URdE0VdV14XmeJ4qiaJqq6roQRVE0TdNUTVV1XSCKpmmaqqqqrgtETxRNU1Vd13WB54miaaqqq7ouEE3TVFVVdV1ZBpimaaqq68oyQFVV1XVdV5YBqqqqruu6sgxQVdd1XVmWZQCu67qyLMsCAAAOHAAAAoygk4wqi7DRhAsPQKEhKwKAKAAAwBimFFPKMCYhpBAaxiSEFEImJaXSUqogpFJSKRWEVEoqJaOUUmopVRBSKamUCkIqJZVSAADYgQMA2IGFUGjISgAgDwCAMEYpxhhzTiKkFGPOOScRUoox55yTSjHmnHPOSSkZc8w556SUzjnnnHNSSuacc845KaVzzjnnnJRSSuecc05KKSWEzkEnpZTSOeecEwAAVOAAABBgo8jmBCNBhYasBABSAQAMjmNZmuZ5omialiRpmud5niiapiZJmuZ5nieKqsnzPE8URdE0VZXneZ4oiqJpqirXFUXTNE1VVV2yLIqmaZqq6rowTdNUVdd1XZimaaqq67oubFtVVdV1ZRm2raqq6rqyDFzXdWXZloEsu67s2rIAAPAEBwCgAhtWRzgpGgssNGQlAJABAEAYg5BCCCFlEEIKIYSUUggJAAAYcAAACDChDBQashIASAUAAIyx1lprrbXWQGettdZaa62AzFprrbXWWmuttdZaa6211lJrrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmuttdZaa6211lprrbXWWmstpZRSSimllFJKKaWUUkoppZRSSgUA+lU4APg/2LA6wknRWGChISsBgHAAAMAYpRhzDEIppVQIMeacdFRai7FCiDHnJKTUWmzFc85BKCGV1mIsnnMOQikpxVZjUSmEUlJKLbZYi0qho5JSSq3VWIwxqaTWWoutxmKMSSm01FqLMRYjbE2ptdhqq7EYY2sqLbQYY4zFCF9kbC2m2moNxggjWywt1VprMMYY3VuLpbaaizE++NpSLDHWXAAAd4MDAESCjTOsJJ0VjgYXGrISAAgJACAQUooxxhhzzjnnpFKMOeaccw5CCKFUijHGnHMOQgghlIwx5pxzEEIIIYRSSsaccxBCCCGEkFLqnHMQQgghhBBKKZ1zDkIIIYQQQimlgxBCCCGEEEoopaQUQgghhBBCCKmklEIIIYRSQighlZRSCCGEEEIpJaSUUgohhFJCCKGElFJKKYUQQgillJJSSimlEkoJJYQSUikppRRKCCGUUkpKKaVUSgmhhBJKKSWllFJKIYQQSikFAAAcOAAABBhBJxlVFmGjCRcegEJDVgIAZAAAkKKUUiktRYIipRikGEtGFXNQWoqocgxSzalSziDmJJaIMYSUk1Qy5hRCDELqHHVMKQYtlRhCxhik2HJLoXMOAAAAQQCAgJAAAAMEBTMAwOAA4XMQdAIERxsAgCBEZohEw0JweFAJEBFTAUBigkIuAFRYXKRdXECXAS7o4q4DIQQhCEEsDqCABByccMMTb3jCDU7QKSp1IAAAAAAADADwAACQXAAREdHMYWRobHB0eHyAhIiMkAgAAAAAABcAfAAAJCVAREQ0cxgZGhscHR4fICEiIyQBAIAAAgAAAAAggAAEBAQAAAAAAAIAAAAEBB9DtnUBAAAAAAAEPueBAKOFggAAgACjzoEAA4BwBwCdASqwAJAAAEcIhYWIhYSIAgIABhwJ7kPfbJyHvtk5D32ych77ZOQ99snIe+2TkPfbJyHvtk5D32ych77ZOQ99YAD+/6tQgKOFggADgAqjhYIAD4AOo4WCACSADqOZgQArADECAAEQEAAYABhYL/QACIBDmAYAAKOFggA6gA6jhYIAT4AOo5mBAFMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAGSADqOFggB6gA6jmYEAewAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAj4AOo5mBAKMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAKSADqOFggC6gA6jmYEAywAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIAz4AOo4WCAOSADqOZgQDzADECAAEQEAAYABhYL/QACIBDmAYAAKOFggD6gA6jhYIBD4AOo5iBARsAEQIAARAQFGAAYWC/0AAiAQ5gGACjhYIBJIAOo4WCATqADqOZgQFDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggFPgA6jhYIBZIAOo5mBAWsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAXqADqOFggGPgA6jmYEBkwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIBpIAOo4WCAbqADqOZgQG7ADECAAEQEAAYABhYL/QACIBDmAYAAKOFggHPgA6jmYEB4wAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIB5IAOo4WCAfqADqOZgQILADECAAEQEAAYABhYL/QACIBDmAYAAKOFggIPgA6jhYICJIAOo5mBAjMAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAjqADqOFggJPgA6jmYECWwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYICZIAOo4WCAnqADqOZgQKDADECAAEQEAAYABhYL/QACIBDmAYAAKOFggKPgA6jhYICpIAOo5mBAqsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCArqADqOFggLPgA6jmIEC0wARAgABEBAUYABhYL/QACIBDmAYAKOFggLkgA6jhYIC+oAOo5mBAvsAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCAw+ADqOZgQMjADECAAEQEAAYABhYL/QACIBDmAYAAKOFggMkgA6jhYIDOoAOo5mBA0sAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA0+ADqOFggNkgA6jmYEDcwAxAgABEBAAGAAYWC/0AAiAQ5gGAACjhYIDeoAOo4WCA4+ADqOZgQObADECAAEQEAAYABhYL/QACIBDmAYAAKOFggOkgA6jhYIDuoAOo5mBA8MAMQIAARAQABgAGFgv9AAIgEOYBgAAo4WCA8+ADqOFggPkgA6jhYID+oAOo4WCBA+ADhxTu2sBAAAAAAAAEbuPs4EDt4r3gQHxghEr8IEK",mp4:"data:video/mp4;base64,AAAAHGZ0eXBNNFYgAAACAGlzb21pc28yYXZjMQAAAAhmcmVlAAAGF21kYXTeBAAAbGliZmFhYyAxLjI4AABCAJMgBDIARwAAArEGBf//rdxF6b3m2Ui3lizYINkj7u94MjY0IC0gY29yZSAxNDIgcjIgOTU2YzhkOCAtIEguMjY0L01QRUctNCBBVkMgY29kZWMgLSBDb3B5bGVmdCAyMDAzLTIwMTQgLSBodHRwOi8vd3d3LnZpZGVvbGFuLm9yZy94MjY0Lmh0bWwgLSBvcHRpb25zOiBjYWJhYz0wIHJlZj0zIGRlYmxvY2s9MTowOjAgYW5hbHlzZT0weDE6MHgxMTEgbWU9aGV4IHN1Ym1lPTcgcHN5PTEgcHN5X3JkPTEuMDA6MC4wMCBtaXhlZF9yZWY9MSBtZV9yYW5nZT0xNiBjaHJvbWFfbWU9MSB0cmVsbGlzPTEgOHg4ZGN0PTAgY3FtPTAgZGVhZHpvbmU9MjEsMTEgZmFzdF9wc2tpcD0xIGNocm9tYV9xcF9vZmZzZXQ9LTIgdGhyZWFkcz02IGxvb2thaGVhZF90aHJlYWRzPTEgc2xpY2VkX3RocmVhZHM9MCBucj0wIGRlY2ltYXRlPTEgaW50ZXJsYWNlZD0wIGJsdXJheV9jb21wYXQ9MCBjb25zdHJhaW5lZF9pbnRyYT0wIGJmcmFtZXM9MCB3ZWlnaHRwPTAga2V5aW50PTI1MCBrZXlpbnRfbWluPTI1IHNjZW5lY3V0PTQwIGludHJhX3JlZnJlc2g9MCByY19sb29rYWhlYWQ9NDAgcmM9Y3JmIG1idHJlZT0xIGNyZj0yMy4wIHFjb21wPTAuNjAgcXBtaW49MCBxcG1heD02OSBxcHN0ZXA9NCB2YnZfbWF4cmF0ZT03NjggdmJ2X2J1ZnNpemU9MzAwMCBjcmZfbWF4PTAuMCBuYWxfaHJkPW5vbmUgZmlsbGVyPTAgaXBfcmF0aW89MS40MCBhcT0xOjEuMDAAgAAAAFZliIQL8mKAAKvMnJycnJycnJycnXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXiEASZACGQAjgCEASZACGQAjgAAAAAdBmjgX4GSAIQBJkAIZACOAAAAAB0GaVAX4GSAhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGagC/AySEASZACGQAjgAAAAAZBmqAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZrAL8DJIQBJkAIZACOAAAAABkGa4C/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmwAvwMkhAEmQAhkAI4AAAAAGQZsgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGbQC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm2AvwMkhAEmQAhkAI4AAAAAGQZuAL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGboC/AySEASZACGQAjgAAAAAZBm8AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZvgL8DJIQBJkAIZACOAAAAABkGaAC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmiAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZpAL8DJIQBJkAIZACOAAAAABkGaYC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBmoAvwMkhAEmQAhkAI4AAAAAGQZqgL8DJIQBJkAIZACOAIQBJkAIZACOAAAAABkGawC/AySEASZACGQAjgAAAAAZBmuAvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZsAL8DJIQBJkAIZACOAAAAABkGbIC/AySEASZACGQAjgCEASZACGQAjgAAAAAZBm0AvwMkhAEmQAhkAI4AhAEmQAhkAI4AAAAAGQZtgL8DJIQBJkAIZACOAAAAABkGbgCvAySEASZACGQAjgCEASZACGQAjgAAAAAZBm6AnwMkhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AhAEmQAhkAI4AAAAhubW9vdgAAAGxtdmhkAAAAAAAAAAAAAAAAAAAD6AAABDcAAQAAAQAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAzB0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAABAAAAAAAAA+kAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAALAAAACQAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAPpAAAAAAABAAAAAAKobWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAB1MAAAdU5VxAAAAAAALWhkbHIAAAAAAAAAAHZpZGUAAAAAAAAAAAAAAABWaWRlb0hhbmRsZXIAAAACU21pbmYAAAAUdm1oZAAAAAEAAAAAAAAAAAAAACRkaW5mAAAAHGRyZWYAAAAAAAAAAQAAAAx1cmwgAAAAAQAAAhNzdGJsAAAAr3N0c2QAAAAAAAAAAQAAAJ9hdmMxAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAALAAkABIAAAASAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGP//AAAALWF2Y0MBQsAN/+EAFWdCwA3ZAsTsBEAAAPpAADqYA8UKkgEABWjLg8sgAAAAHHV1aWRraEDyXyRPxbo5pRvPAyPzAAAAAAAAABhzdHRzAAAAAAAAAAEAAAAeAAAD6QAAABRzdHNzAAAAAAAAAAEAAAABAAAAHHN0c2MAAAAAAAAAAQAAAAEAAAABAAAAAQAAAIxzdHN6AAAAAAAAAAAAAAAeAAADDwAAAAsAAAALAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAACgAAAAoAAAAKAAAAiHN0Y28AAAAAAAAAHgAAAEYAAANnAAADewAAA5gAAAO0AAADxwAAA+MAAAP2AAAEEgAABCUAAARBAAAEXQAABHAAAASMAAAEnwAABLsAAATOAAAE6gAABQYAAAUZAAAFNQAABUgAAAVkAAAFdwAABZMAAAWmAAAFwgAABd4AAAXxAAAGDQAABGh0cmFrAAAAXHRraGQAAAADAAAAAAAAAAAAAAACAAAAAAAABDcAAAAAAAAAAAAAAAEBAAAAAAEAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAkZWR0cwAAABxlbHN0AAAAAAAAAAEAAAQkAAADcAABAAAAAAPgbWRpYQAAACBtZGhkAAAAAAAAAAAAAAAAAAC7gAAAykBVxAAAAAAALWhkbHIAAAAAAAAAAHNvdW4AAAAAAAAAAAAAAABTb3VuZEhhbmRsZXIAAAADi21pbmYAAAAQc21oZAAAAAAAAAAAAAAAJGRpbmYAAAAcZHJlZgAAAAAAAAABAAAADHVybCAAAAABAAADT3N0YmwAAABnc3RzZAAAAAAAAAABAAAAV21wNGEAAAAAAAAAAQAAAAAAAAAAAAIAEAAAAAC7gAAAAAAAM2VzZHMAAAAAA4CAgCIAAgAEgICAFEAVBbjYAAu4AAAADcoFgICAAhGQBoCAgAECAAAAIHN0dHMAAAAAAAAAAgAAADIAAAQAAAAAAQAAAkAAAAFUc3RzYwAAAAAAAAAbAAAAAQAAAAEAAAABAAAAAgAAAAIAAAABAAAAAwAAAAEAAAABAAAABAAAAAIAAAABAAAABgAAAAEAAAABAAAABwAAAAIAAAABAAAACAAAAAEAAAABAAAACQAAAAIAAAABAAAACgAAAAEAAAABAAAACwAAAAIAAAABAAAADQAAAAEAAAABAAAADgAAAAIAAAABAAAADwAAAAEAAAABAAAAEAAAAAIAAAABAAAAEQAAAAEAAAABAAAAEgAAAAIAAAABAAAAFAAAAAEAAAABAAAAFQAAAAIAAAABAAAAFgAAAAEAAAABAAAAFwAAAAIAAAABAAAAGAAAAAEAAAABAAAAGQAAAAIAAAABAAAAGgAAAAEAAAABAAAAGwAAAAIAAAABAAAAHQAAAAEAAAABAAAAHgAAAAIAAAABAAAAHwAAAAQAAAABAAAA4HN0c3oAAAAAAAAAAAAAADMAAAAaAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAAAJAAAACQAAAAkAAACMc3RjbwAAAAAAAAAfAAAALAAAA1UAAANyAAADhgAAA6IAAAO+AAAD0QAAA+0AAAQAAAAEHAAABC8AAARLAAAEZwAABHoAAASWAAAEqQAABMUAAATYAAAE9AAABRAAAAUjAAAFPwAABVIAAAVuAAAFgQAABZ0AAAWwAAAFzAAABegAAAX7AAAGFwAAAGJ1ZHRhAAAAWm1ldGEAAAAAAAAAIWhkbHIAAAAAAAAAAG1kaXJhcHBsAAAAAAAAAAAAAAAALWlsc3QAAAAlqXRvbwAAAB1kYXRhAAAAAQAAAABMYXZmNTUuMzMuMTAw"}});var xAe=Wl((hao,yAe)=>{var{webm:pEt,mp4:_Et}=gAe(),MZ=()=>typeof navigator<"u"&&parseFloat((""+(/CPU.*OS ([0-9_]{3,4})[0-9_]{0,1}|(CPU like).*AppleWebKit.*Mobile/i.exec(navigator.userAgent)||[0,""])[1]).replace("undefined","3_2").replace("_",".").replace("_",""))<10&&!window.MSStream,LZ=()=>"wakeLock"in navigator,NZ=class{constructor(){if(this.enabled=!1,LZ()){this._wakeLock=null;let t=()=>{this._wakeLock!==null&&document.visibilityState==="visible"&&this.enable()};document.addEventListener("visibilitychange",t),document.addEventListener("fullscreenchange",t)}else MZ()?this.noSleepTimer=null:(this.noSleepVideo=document.createElement("video"),this.noSleepVideo.setAttribute("title","No Sleep"),this.noSleepVideo.setAttribute("playsinline",""),this._addSourceToVideo(this.noSleepVideo,"webm",pEt),this._addSourceToVideo(this.noSleepVideo,"mp4",_Et),this.noSleepVideo.addEventListener("loadedmetadata",()=>{this.noSleepVideo.duration<=1?this.noSleepVideo.setAttribute("loop",""):this.noSleepVideo.addEventListener("timeupdate",()=>{this.noSleepVideo.currentTime>.5&&(this.noSleepVideo.currentTime=Math.random())})}))}_addSourceToVideo(t,n,i){var o=document.createElement("source");o.src=i,o.type=`video/${n}`,t.appendChild(o)}get isEnabled(){return this.enabled}enable(){return LZ()?navigator.wakeLock.request("screen").then(t=>{this._wakeLock=t,this.enabled=!0,console.log("Wake Lock active."),this._wakeLock.addEventListener("release",()=>{console.log("Wake Lock released.")})}).catch(t=>{throw this.enabled=!1,console.error(`${t.name}, ${t.message}`),t}):MZ()?(this.disable(),console.warn(` NoSleep enabled for older iOS devices. This can interrupt active or long-running network requests from completing successfully. See https://github.com/richtr/NoSleep.js/issues/15 for more details. - `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(n=>(this.enabled=!0,n)).catch(n=>{throw this.enabled=!1,n})}disable(){E$()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):A$()?this.noSleepTimer&&(console.warn(` + `),this.noSleepTimer=window.setInterval(()=>{document.hidden||(window.location.href=window.location.href.split("#")[0],window.setTimeout(window.stop,0))},15e3),this.enabled=!0,Promise.resolve()):this.noSleepVideo.play().then(n=>(this.enabled=!0,n)).catch(n=>{throw this.enabled=!1,n})}disable(){LZ()?(this._wakeLock&&this._wakeLock.release(),this._wakeLock=null):MZ()?this.noSleepTimer&&(console.warn(` NoSleep now disabled for older iOS devices. - `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};nAe.exports=S$});function MAe(e){return e!=null}var l=MAe;function x0(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(x0.prototype=Object.create(Error.prototype),x0.prototype.constructor=x0);x0.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` -${this.stack.toString()}`),e};x0.throwInstantiationError=function(){throw new x0("This function defines an interface and should not be called directly.")};var de=x0;var ms={};ms.typeOf={};function LAe(e){return`${e} is required, actual value was undefined`}function eT(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}ms.defined=function(e,t){if(!l(t))throw new de(LAe(e))};ms.typeOf.func=function(e,t){if(typeof t!="function")throw new de(eT(typeof t,"function",e))};ms.typeOf.string=function(e,t){if(typeof t!="string")throw new de(eT(typeof t,"string",e))};ms.typeOf.number=function(e,t){if(typeof t!="number")throw new de(eT(typeof t,"number",e))};ms.typeOf.number.lessThan=function(e,t,n){if(ms.typeOf.number(e,t),t>=n)throw new de(`Expected ${e} to be less than ${n}, actual value was ${t}`)};ms.typeOf.number.lessThanOrEquals=function(e,t,n){if(ms.typeOf.number(e,t),t>n)throw new de(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};ms.typeOf.number.greaterThan=function(e,t,n){if(ms.typeOf.number(e,t),t<=n)throw new de(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};ms.typeOf.number.greaterThanOrEquals=function(e,t,n){if(ms.typeOf.number(e,t),t<n)throw new de(`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)};ms.typeOf.object=function(e,t){if(typeof t!="object")throw new de(eT(typeof t,"object",e))};ms.typeOf.bool=function(e,t){if(typeof t!="boolean")throw new de(eT(typeof t,"boolean",e))};ms.typeOf.bigint=function(e,t){if(typeof t!="bigint")throw new de(eT(typeof t,"bigint",e))};ms.typeOf.number.equals=function(e,t,n,i){if(ms.typeOf.number(e,n),ms.typeOf.number(t,i),n!==i)throw new de(`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)};var yo=ms;function K$(e,t){return e??t}K$.EMPTY_OBJECT=Object.freeze({});var y=K$;var UG=Er($P(),1);var lt={};lt.EPSILON1=.1;lt.EPSILON2=.01;lt.EPSILON3=.001;lt.EPSILON4=1e-4;lt.EPSILON5=1e-5;lt.EPSILON6=1e-6;lt.EPSILON7=1e-7;lt.EPSILON8=1e-8;lt.EPSILON9=1e-9;lt.EPSILON10=1e-10;lt.EPSILON11=1e-11;lt.EPSILON12=1e-12;lt.EPSILON13=1e-13;lt.EPSILON14=1e-14;lt.EPSILON15=1e-15;lt.EPSILON16=1e-16;lt.EPSILON17=1e-17;lt.EPSILON18=1e-18;lt.EPSILON19=1e-19;lt.EPSILON20=1e-20;lt.EPSILON21=1e-21;lt.GRAVITATIONALPARAMETER=3986004418e5;lt.SOLAR_RADIUS=6955e5;lt.LUNAR_RADIUS=1737400;lt.SIXTY_FOUR_KILOBYTES=64*1024;lt.FOUR_GIGABYTES=4*1024*1024*1024;lt.sign=y(Math.sign,function(t){return t=+t,t===0||t!==t?t:t>0?1:-1});lt.signNotZero=function(e){return e<0?-1:1};lt.toSNorm=function(e,t){return t=y(t,255),Math.round((lt.clamp(e,-1,1)*.5+.5)*t)};lt.fromSNorm=function(e,t){return t=y(t,255),lt.clamp(e,0,t)/t*2-1};lt.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:lt.clamp((e-t)/n,0,1)};lt.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});lt.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});lt.lerp=function(e,t,n){return(1-n)*e+n*t};lt.PI=Math.PI;lt.ONE_OVER_PI=1/Math.PI;lt.PI_OVER_TWO=Math.PI/2;lt.PI_OVER_THREE=Math.PI/3;lt.PI_OVER_FOUR=Math.PI/4;lt.PI_OVER_SIX=Math.PI/6;lt.THREE_PI_OVER_TWO=3*Math.PI/2;lt.TWO_PI=2*Math.PI;lt.ONE_OVER_TWO_PI=1/(2*Math.PI);lt.RADIANS_PER_DEGREE=Math.PI/180;lt.DEGREES_PER_RADIAN=180/Math.PI;lt.RADIANS_PER_ARCSECOND=lt.RADIANS_PER_DEGREE/3600;lt.toRadians=function(e){return e*lt.RADIANS_PER_DEGREE};lt.toDegrees=function(e){return e*lt.DEGREES_PER_RADIAN};lt.convertLongitudeRange=function(e){let t=lt.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};lt.clampToLatitudeRange=function(e){return lt.clamp(e,-1*lt.PI_OVER_TWO,lt.PI_OVER_TWO)};lt.negativePiToPi=function(e){return e>=-lt.PI&&e<=lt.PI?e:lt.zeroToTwoPi(e+lt.PI)-lt.PI};lt.zeroToTwoPi=function(e){if(e>=0&&e<=lt.TWO_PI)return e;let t=lt.mod(e,lt.TWO_PI);return Math.abs(t)<lt.EPSILON14&&Math.abs(e)>lt.EPSILON14?lt.TWO_PI:t};lt.mod=function(e,t){return lt.sign(e)===lt.sign(t)&&Math.abs(e)<Math.abs(t)?e:(e%t+t)%t};lt.equalsEpsilon=function(e,t,n,i){n=y(n,0),i=y(i,n);let o=Math.abs(e-t);return o<=i||o<=n*Math.max(Math.abs(e),Math.abs(t))};lt.lessThan=function(e,t,n){return e-t<-n};lt.lessThanOrEquals=function(e,t,n){return e-t<n};lt.greaterThan=function(e,t,n){return e-t>n};lt.greaterThanOrEquals=function(e,t,n){return e-t>-n};var ZP=[1];lt.factorial=function(e){let t=ZP.length;if(e>=t){let n=ZP[t-1];for(let i=t;i<=e;i++){let o=n*i;ZP.push(o),n=o}}return ZP[e]};lt.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};lt.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};lt.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};lt.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};lt.clamp=function(e,t,n){return e<t?t:e>n?n:e};var Z$=new UG.default;lt.setRandomNumberSeed=function(e){Z$=new UG.default(e)};lt.nextRandomNumber=function(){return Z$.random()};lt.randomBetween=function(e,t){return lt.nextRandomNumber()*(t-e)+e};lt.acosClamped=function(e){return Math.acos(lt.clamp(e,-1,1))};lt.asinClamped=function(e){return Math.asin(lt.clamp(e,-1,1))};lt.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};lt.logBase=function(e,t){return Math.log(e)/Math.log(t)};lt.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});lt.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});lt.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};lt.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};lt.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=lt.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?lt.PI_OVER_TWO-i:i,i=e<0?lt.PI-i:i,i=t<0?-i:i,i};var P=lt;function Je(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}Je.fromSpherical=function(e,t){l(t)||(t=new Je);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};Je.fromElements=function(e,t,n,i){return l(i)?(i.x=e,i.y=t,i.z=n,i):new Je(e,t,n)};Je.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new Je(e.x,e.y,e.z)};Je.fromCartesian4=Je.clone;Je.packedLength=3;Je.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};Je.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Je),n.x=e[t++],n.y=e[t++],n.z=e[t],n};Je.packArray=function(e,t){let n=e.length,i=n*3;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Je.pack(e[o],t,o*3);return t};Je.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/3:t=new Array(n/3);for(let i=0;i<n;i+=3){let o=i/3;t[o]=Je.unpack(e,i,t[o])}return t};Je.fromArray=Je.unpack;Je.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)};Je.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)};Je.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n};Je.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n};Je.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z);return i.x=o,i.y=r,i.z=s,i};Je.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z};Je.magnitude=function(e){return Math.sqrt(Je.magnitudeSquared(e))};var JP=new Je;Je.distance=function(e,t){return Je.subtract(e,t,JP),Je.magnitude(JP)};Je.distanceSquared=function(e,t){return Je.subtract(e,t,JP),Je.magnitudeSquared(JP)};Je.normalize=function(e,t){let n=Je.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t};Je.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z};Je.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n};Je.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n};Je.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n};Je.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n};Je.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n};Je.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n};Je.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t};Je.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};var Q$=new Je;Je.lerp=function(e,t,n,i){return Je.multiplyByScalar(t,n,Q$),i=Je.multiplyByScalar(e,1-n,i),Je.add(Q$,i,i)};var QP=new Je,zG=new Je;Je.angleBetween=function(e,t){Je.normalize(e,QP),Je.normalize(t,zG);let n=Je.dot(QP,zG),i=Je.magnitude(Je.cross(QP,zG,QP));return Math.atan2(i,n)};var NAe=new Je;Je.mostOrthogonalAxis=function(e,t){let n=Je.normalize(e,NAe);return Je.abs(n,n),n.x<=n.y?n.x<=n.z?t=Je.clone(Je.UNIT_X,t):t=Je.clone(Je.UNIT_Z,t):n.y<=n.z?t=Je.clone(Je.UNIT_Y,t):t=Je.clone(Je.UNIT_Z,t),t};Je.projectVector=function(e,t,n){let i=Je.dot(e,t)/Je.dot(t,t);return Je.multiplyByScalar(t,i,n)};Je.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z};Je.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]};Je.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)};Je.cross=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=t.x,a=t.y,c=t.z,u=o*c-r*a,f=r*s-i*c,d=i*a-o*s;return n.x=u,n.y=f,n.z=d,n};Je.midpoint=function(e,t,n){return n.x=(e.x+t.x)*.5,n.y=(e.y+t.y)*.5,n.z=(e.z+t.z)*.5,n};Je.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(e),t=P.toRadians(t),Je.fromRadians(e,t,n,i,o)};var ku=new Je,tT=new Je;Je._ellipsoidRadiiSquared=new Je(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);Je.fromRadians=function(e,t,n,i,o){n=y(n,0);let r=l(i)?i.radiiSquared:Je._ellipsoidRadiiSquared,s=Math.cos(t);ku.x=s*Math.cos(e),ku.y=s*Math.sin(e),ku.z=Math.sin(t),ku=Je.normalize(ku,ku),Je.multiplyComponents(r,ku,tT);let a=Math.sqrt(Je.dot(ku,tT));return tT=Je.divideByScalar(tT,a,tT),ku=Je.multiplyByScalar(ku,n,ku),l(o)||(o=new Je),Je.add(tT,ku,o)};Je.fromDegreesArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=Je.fromDegrees(r,s,0,t,n[a])}return n};Je.fromRadiansArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=Je.fromRadians(r,s,0,t,n[a])}return n};Je.fromDegreesArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=Je.fromDegrees(r,s,a,t,n[c])}return n};Je.fromRadiansArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=Je.fromRadians(r,s,a,t,n[c])}return n};Je.ZERO=Object.freeze(new Je(0,0,0));Je.ONE=Object.freeze(new Je(1,1,1));Je.UNIT_X=Object.freeze(new Je(1,0,0));Je.UNIT_Y=Object.freeze(new Je(0,1,0));Je.UNIT_Z=Object.freeze(new Je(0,0,1));Je.prototype.clone=function(e){return Je.clone(this,e)};Je.prototype.equals=function(e){return Je.equals(this,e)};Je.prototype.equalsEpsilon=function(e,t,n){return Je.equalsEpsilon(this,e,t,n)};Je.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var h=Je;function gt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}gt.fromElements=function(e,t,n,i,o){return l(o)?(o.x=e,o.y=t,o.z=n,o.w=i,o):new gt(e,t,n,i)};gt.fromColor=function(e,t){return l(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new gt(e.red,e.green,e.blue,e.alpha)};gt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new gt(e.x,e.y,e.z,e.w)};gt.packedLength=4;gt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};gt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new gt),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};gt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)gt.pack(e[o],t,o*4);return t};gt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=gt.unpack(e,i,t[o])}return t};gt.fromArray=gt.unpack;gt.maximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)};gt.minimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)};gt.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n};gt.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n};gt.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z),a=P.clamp(e.w,t.w,n.w);return i.x=o,i.y=r,i.z=s,i.w=a,i};gt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};gt.magnitude=function(e){return Math.sqrt(gt.magnitudeSquared(e))};var e1=new gt;gt.distance=function(e,t){return gt.subtract(e,t,e1),gt.magnitude(e1)};gt.distanceSquared=function(e,t){return gt.subtract(e,t,e1),gt.magnitudeSquared(e1)};gt.normalize=function(e,t){let n=gt.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t};gt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};gt.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n};gt.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n};gt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};gt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};gt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};gt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};gt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};gt.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var J$=new gt;gt.lerp=function(e,t,n,i){return gt.multiplyByScalar(t,n,J$),i=gt.multiplyByScalar(e,1-n,i),gt.add(J$,i,i)};var FAe=new gt;gt.mostOrthogonalAxis=function(e,t){let n=gt.normalize(e,FAe);return gt.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=gt.clone(gt.UNIT_X,t):t=gt.clone(gt.UNIT_W,t):n.z<=n.w?t=gt.clone(gt.UNIT_Z,t):t=gt.clone(gt.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=gt.clone(gt.UNIT_Y,t):t=gt.clone(gt.UNIT_W,t):n.z<=n.w?t=gt.clone(gt.UNIT_Z,t):t=gt.clone(gt.UNIT_W,t),t};gt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};gt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};gt.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)&&P.equalsEpsilon(e.w,t.w,n,i)};gt.ZERO=Object.freeze(new gt(0,0,0,0));gt.ONE=Object.freeze(new gt(1,1,1,1));gt.UNIT_X=Object.freeze(new gt(1,0,0,0));gt.UNIT_Y=Object.freeze(new gt(0,1,0,0));gt.UNIT_Z=Object.freeze(new gt(0,0,1,0));gt.UNIT_W=Object.freeze(new gt(0,0,0,1));gt.prototype.clone=function(e){return gt.clone(this,e)};gt.prototype.equals=function(e){return gt.equals(this,e)};gt.prototype.equalsEpsilon=function(e,t,n){return gt.equalsEpsilon(this,e,t,n)};gt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var HG=new Float32Array(1),Va=new Uint8Array(HG.buffer),BAe=new Uint32Array([287454020]),kAe=new Uint8Array(BAe.buffer),eZ=kAe[0]===68;gt.packFloat=function(e,t){return l(t)||(t=new gt),HG[0]=e,eZ?(t.x=Va[0],t.y=Va[1],t.z=Va[2],t.w=Va[3]):(t.x=Va[3],t.y=Va[2],t.z=Va[1],t.w=Va[0]),t};gt.unpackFloat=function(e){return eZ?(Va[0]=e.x,Va[1]=e.y,Va[2]=e.z,Va[3]=e.w):(Va[0]=e.w,Va[1]=e.z,Va[2]=e.y,Va[3]=e.x),HG[0]};var oe=gt;function rt(e,t,n,i,o,r,s,a,c){this[0]=y(e,0),this[1]=y(i,0),this[2]=y(s,0),this[3]=y(t,0),this[4]=y(o,0),this[5]=y(a,0),this[6]=y(n,0),this[7]=y(r,0),this[8]=y(c,0)}rt.packedLength=9;rt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t};rt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new rt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n};rt.packArray=function(e,t){let n=e.length,i=n*9;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)rt.pack(e[o],t,o*9);return t};rt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/9:t=new Array(n/9);for(let i=0;i<n;i+=9){let o=i/9;t[o]=rt.unpack(e,i,t[o])}return t};rt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new rt(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])};rt.fromArray=rt.unpack;rt.fromColumnMajorArray=function(e,t){return rt.clone(e,t)};rt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new rt(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};rt.fromQuaternion=function(e,t){let n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,r=e.x*e.w,s=e.y*e.y,a=e.y*e.z,c=e.y*e.w,u=e.z*e.z,f=e.z*e.w,d=e.w*e.w,p=n-s-u+d,g=2*(i-f),m=2*(o+c),x=2*(i+f),b=-n+s-u+d,T=2*(a-r),C=2*(o-c),A=2*(a+r),S=-n-s+u+d;return l(t)?(t[0]=p,t[1]=x,t[2]=C,t[3]=g,t[4]=b,t[5]=A,t[6]=m,t[7]=T,t[8]=S,t):new rt(p,g,m,x,b,T,C,A,S)};rt.fromHeadingPitchRoll=function(e,t){let n=Math.cos(-e.pitch),i=Math.cos(-e.heading),o=Math.cos(e.roll),r=Math.sin(-e.pitch),s=Math.sin(-e.heading),a=Math.sin(e.roll),c=n*i,u=-o*s+a*r*i,f=a*s+o*r*i,d=n*s,p=o*i+a*r*s,g=-a*i+o*r*s,m=-r,x=a*n,b=o*n;return l(t)?(t[0]=c,t[1]=d,t[2]=m,t[3]=u,t[4]=p,t[5]=x,t[6]=f,t[7]=g,t[8]=b,t):new rt(c,u,f,d,p,g,m,x,b)};rt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new rt(e.x,0,0,0,e.y,0,0,0,e.z)};rt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new rt(e,0,0,0,e,0,0,0,e)};rt.fromCrossProduct=function(e,t){return l(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new rt(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)};rt.fromRotationX=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new rt(1,0,0,0,n,-i,0,i,n)};rt.fromRotationY=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new rt(n,0,i,0,1,0,-i,0,n)};rt.fromRotationZ=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new rt(n,-i,0,i,n,0,0,0,1)};rt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]};rt.getElementIndex=function(e,t){return e*3+t};rt.getColumn=function(e,t,n){let i=t*3,o=e[i],r=e[i+1],s=e[i+2];return n.x=o,n.y=r,n.z=s,n};rt.setColumn=function(e,t,n,i){i=rt.clone(e,i);let o=t*3;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i};rt.getRow=function(e,t,n){let i=e[t],o=e[t+3],r=e[t+6];return n.x=i,n.y=o,n.z=r,n};rt.setRow=function(e,t,n,i){return i=rt.clone(e,i),i[t]=n.x,i[t+3]=n.y,i[t+6]=n.z,i};var VAe=new h;rt.setScale=function(e,t,n){let i=rt.getScale(e,VAe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var UAe=new h;rt.setUniformScale=function(e,t,n){let i=rt.getScale(e,UAe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var GG=new h;rt.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],GG)),t.y=h.magnitude(h.fromElements(e[3],e[4],e[5],GG)),t.z=h.magnitude(h.fromElements(e[6],e[7],e[8],GG)),t};var tZ=new h;rt.getMaximumScale=function(e){return rt.getScale(e,tZ),h.maximumComponent(tZ)};var zAe=new h;rt.setRotation=function(e,t,n){let i=rt.getScale(e,zAe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=t[3]*i.y,n[4]=t[4]*i.y,n[5]=t[5]*i.y,n[6]=t[6]*i.z,n[7]=t[7]*i.z,n[8]=t[8]*i.z,n};var HAe=new h;rt.getRotation=function(e,t){let n=rt.getScale(e,HAe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t};rt.multiply=function(e,t,n){let i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],r=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],a=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],u=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],f=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=i,n[1]=o,n[2]=r,n[3]=s,n[4]=a,n[5]=c,n[6]=u,n[7]=f,n[8]=d,n};rt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n};rt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n};rt.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[3]*o+e[6]*r,a=e[1]*i+e[4]*o+e[7]*r,c=e[2]*i+e[5]*o+e[8]*r;return n.x=s,n.y=a,n.z=c,n};rt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};rt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n};rt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};rt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t};rt.transpose=function(e,t){let n=e[0],i=e[3],o=e[6],r=e[1],s=e[4],a=e[7],c=e[2],u=e[5],f=e[8];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=s,t[5]=a,t[6]=c,t[7]=u,t[8]=f,t};function GAe(e){let t=0;for(let n=0;n<9;++n){let i=e[n];t+=i*i}return Math.sqrt(t)}var WG=[1,0,0],jG=[2,2,1];function WAe(e){let t=0;for(let n=0;n<3;++n){let i=e[rt.getElementIndex(jG[n],WG[n])];t+=2*i*i}return Math.sqrt(t)}function jAe(e,t){let n=P.EPSILON15,i=0,o=1;for(let u=0;u<3;++u){let f=Math.abs(e[rt.getElementIndex(jG[u],WG[u])]);f>i&&(o=u,i=f)}let r=1,s=0,a=WG[o],c=jG[o];if(Math.abs(e[rt.getElementIndex(c,a)])>n){let u=e[rt.getElementIndex(c,c)],f=e[rt.getElementIndex(a,a)],d=e[rt.getElementIndex(c,a)],p=(u-f)/2/d,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=rt.clone(rt.IDENTITY,t),t[rt.getElementIndex(a,a)]=t[rt.getElementIndex(c,c)]=r,t[rt.getElementIndex(c,a)]=s,t[rt.getElementIndex(a,c)]=-s,t}var t1=new rt,nZ=new rt;rt.computeEigenDecomposition=function(e,t){let n=P.EPSILON20,i=10,o=0,r=0;l(t)||(t={});let s=t.unitary=rt.clone(rt.IDENTITY,t.unitary),a=t.diagonal=rt.clone(e,t.diagonal),c=n*GAe(a);for(;r<i&&WAe(a)>c;)jAe(a,t1),rt.transpose(t1,nZ),rt.multiply(a,t1,a),rt.multiply(nZ,a,a),rt.multiply(s,t1,s),++o>2&&(++r,o=0);return t};rt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t};rt.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],u=e[8];return t*(r*u-c*s)+o*(c*i-n*u)+a*(n*s-r*i)};rt.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],u=e[7],f=e[8],d=rt.determinant(e);t[0]=s*f-u*a,t[1]=u*o-i*f,t[2]=i*a-s*o,t[3]=c*a-r*f,t[4]=n*f-c*o,t[5]=r*o-n*a,t[6]=r*u-c*s,t[7]=c*i-n*u,t[8]=n*s-r*i;let p=1/d;return rt.multiplyByScalar(t,p,t)};var qAe=new rt;rt.inverseTranspose=function(e,t){return rt.inverse(rt.transpose(e,qAe),t)};rt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]};rt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n};rt.IDENTITY=Object.freeze(new rt(1,0,0,0,1,0,0,0,1));rt.ZERO=Object.freeze(new rt(0,0,0,0,0,0,0,0,0));rt.COLUMN0ROW0=0;rt.COLUMN0ROW1=1;rt.COLUMN0ROW2=2;rt.COLUMN1ROW0=3;rt.COLUMN1ROW1=4;rt.COLUMN1ROW2=5;rt.COLUMN2ROW0=6;rt.COLUMN2ROW1=7;rt.COLUMN2ROW2=8;Object.defineProperties(rt.prototype,{length:{get:function(){return rt.packedLength}}});rt.prototype.clone=function(e){return rt.clone(this,e)};rt.prototype.equals=function(e){return rt.equals(this,e)};rt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};rt.prototype.equalsEpsilon=function(e,t){return rt.equalsEpsilon(this,e,t)};rt.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) + `),window.clearInterval(this.noSleepTimer),this.noSleepTimer=null):this.noSleepVideo.pause(),this.enabled=!1}};yAe.exports=NZ});function XAe(e){return e!=null}var l=XAe;function I0(e){this.name="DeveloperError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(I0.prototype=Object.create(Error.prototype),I0.prototype.constructor=I0);I0.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` +${this.stack.toString()}`),e};I0.throwInstantiationError=function(){throw new I0("This function defines an interface and should not be called directly.")};var de=I0;var xs={};xs.typeOf={};function KAe(e){return`${e} is required, actual value was undefined`}function sT(e,t,n){return`Expected ${n} to be typeof ${t}, actual typeof was ${e}`}xs.defined=function(e,t){if(!l(t))throw new de(KAe(e))};xs.typeOf.func=function(e,t){if(typeof t!="function")throw new de(sT(typeof t,"function",e))};xs.typeOf.string=function(e,t){if(typeof t!="string")throw new de(sT(typeof t,"string",e))};xs.typeOf.number=function(e,t){if(typeof t!="number")throw new de(sT(typeof t,"number",e))};xs.typeOf.number.lessThan=function(e,t,n){if(xs.typeOf.number(e,t),t>=n)throw new de(`Expected ${e} to be less than ${n}, actual value was ${t}`)};xs.typeOf.number.lessThanOrEquals=function(e,t,n){if(xs.typeOf.number(e,t),t>n)throw new de(`Expected ${e} to be less than or equal to ${n}, actual value was ${t}`)};xs.typeOf.number.greaterThan=function(e,t,n){if(xs.typeOf.number(e,t),t<=n)throw new de(`Expected ${e} to be greater than ${n}, actual value was ${t}`)};xs.typeOf.number.greaterThanOrEquals=function(e,t,n){if(xs.typeOf.number(e,t),t<n)throw new de(`Expected ${e} to be greater than or equal to ${n}, actual value was ${t}`)};xs.typeOf.object=function(e,t){if(typeof t!="object")throw new de(sT(typeof t,"object",e))};xs.typeOf.bool=function(e,t){if(typeof t!="boolean")throw new de(sT(typeof t,"boolean",e))};xs.typeOf.bigint=function(e,t){if(typeof t!="bigint")throw new de(sT(typeof t,"bigint",e))};xs.typeOf.number.equals=function(e,t,n,i){if(xs.typeOf.number(e,n),xs.typeOf.number(t,i),n!==i)throw new de(`${e} must be equal to ${t}, the actual values are ${n} and ${i}`)};var xo=xs;function t$(e,t){return e??t}t$.EMPTY_OBJECT=Object.freeze({});var y=t$;var WG=Sr(e1(),1);var lt={};lt.EPSILON1=.1;lt.EPSILON2=.01;lt.EPSILON3=.001;lt.EPSILON4=1e-4;lt.EPSILON5=1e-5;lt.EPSILON6=1e-6;lt.EPSILON7=1e-7;lt.EPSILON8=1e-8;lt.EPSILON9=1e-9;lt.EPSILON10=1e-10;lt.EPSILON11=1e-11;lt.EPSILON12=1e-12;lt.EPSILON13=1e-13;lt.EPSILON14=1e-14;lt.EPSILON15=1e-15;lt.EPSILON16=1e-16;lt.EPSILON17=1e-17;lt.EPSILON18=1e-18;lt.EPSILON19=1e-19;lt.EPSILON20=1e-20;lt.EPSILON21=1e-21;lt.GRAVITATIONALPARAMETER=3986004418e5;lt.SOLAR_RADIUS=6955e5;lt.LUNAR_RADIUS=1737400;lt.SIXTY_FOUR_KILOBYTES=64*1024;lt.FOUR_GIGABYTES=4*1024*1024*1024;lt.sign=y(Math.sign,function(t){return t=+t,t===0||t!==t?t:t>0?1:-1});lt.signNotZero=function(e){return e<0?-1:1};lt.toSNorm=function(e,t){return t=y(t,255),Math.round((lt.clamp(e,-1,1)*.5+.5)*t)};lt.fromSNorm=function(e,t){return t=y(t,255),lt.clamp(e,0,t)/t*2-1};lt.normalize=function(e,t,n){return n=Math.max(n-t,0),n===0?0:lt.clamp((e-t)/n,0,1)};lt.sinh=y(Math.sinh,function(t){return(Math.exp(t)-Math.exp(-t))/2});lt.cosh=y(Math.cosh,function(t){return(Math.exp(t)+Math.exp(-t))/2});lt.lerp=function(e,t,n){return(1-n)*e+n*t};lt.PI=Math.PI;lt.ONE_OVER_PI=1/Math.PI;lt.PI_OVER_TWO=Math.PI/2;lt.PI_OVER_THREE=Math.PI/3;lt.PI_OVER_FOUR=Math.PI/4;lt.PI_OVER_SIX=Math.PI/6;lt.THREE_PI_OVER_TWO=3*Math.PI/2;lt.TWO_PI=2*Math.PI;lt.ONE_OVER_TWO_PI=1/(2*Math.PI);lt.RADIANS_PER_DEGREE=Math.PI/180;lt.DEGREES_PER_RADIAN=180/Math.PI;lt.RADIANS_PER_ARCSECOND=lt.RADIANS_PER_DEGREE/3600;lt.toRadians=function(e){return e*lt.RADIANS_PER_DEGREE};lt.toDegrees=function(e){return e*lt.DEGREES_PER_RADIAN};lt.convertLongitudeRange=function(e){let t=lt.TWO_PI,n=e-Math.floor(e/t)*t;return n<-Math.PI?n+t:n>=Math.PI?n-t:n};lt.clampToLatitudeRange=function(e){return lt.clamp(e,-1*lt.PI_OVER_TWO,lt.PI_OVER_TWO)};lt.negativePiToPi=function(e){return e>=-lt.PI&&e<=lt.PI?e:lt.zeroToTwoPi(e+lt.PI)-lt.PI};lt.zeroToTwoPi=function(e){if(e>=0&&e<=lt.TWO_PI)return e;let t=lt.mod(e,lt.TWO_PI);return Math.abs(t)<lt.EPSILON14&&Math.abs(e)>lt.EPSILON14?lt.TWO_PI:t};lt.mod=function(e,t){return lt.sign(e)===lt.sign(t)&&Math.abs(e)<Math.abs(t)?e:(e%t+t)%t};lt.equalsEpsilon=function(e,t,n,i){n=y(n,0),i=y(i,n);let o=Math.abs(e-t);return o<=i||o<=n*Math.max(Math.abs(e),Math.abs(t))};lt.lessThan=function(e,t,n){return e-t<-n};lt.lessThanOrEquals=function(e,t,n){return e-t<n};lt.greaterThan=function(e,t,n){return e-t>n};lt.greaterThanOrEquals=function(e,t,n){return e-t>-n};var t1=[1];lt.factorial=function(e){let t=t1.length;if(e>=t){let n=t1[t-1];for(let i=t;i<=e;i++){let o=n*i;t1.push(o),n=o}}return t1[e]};lt.incrementWrap=function(e,t,n){return n=y(n,0),++e,e>t&&(e=n),e};lt.isPowerOfTwo=function(e){return e!==0&&(e&e-1)===0};lt.nextPowerOfTwo=function(e){return--e,e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e,e};lt.previousPowerOfTwo=function(e){return e|=e>>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,e|=e>>32,e=(e>>>0)-(e>>>1),e};lt.clamp=function(e,t,n){return e<t?t:e>n?n:e};var i$=new WG.default;lt.setRandomNumberSeed=function(e){i$=new WG.default(e)};lt.nextRandomNumber=function(){return i$.random()};lt.randomBetween=function(e,t){return lt.nextRandomNumber()*(t-e)+e};lt.acosClamped=function(e){return Math.acos(lt.clamp(e,-1,1))};lt.asinClamped=function(e){return Math.asin(lt.clamp(e,-1,1))};lt.chordLength=function(e,t){return 2*t*Math.sin(e*.5)};lt.logBase=function(e,t){return Math.log(e)/Math.log(t)};lt.cbrt=y(Math.cbrt,function(t){let n=Math.pow(Math.abs(t),.3333333333333333);return t<0?-n:n});lt.log2=y(Math.log2,function(t){return Math.log(t)*Math.LOG2E});lt.fog=function(e,t){let n=e*t;return 1-Math.exp(-(n*n))};lt.fastApproximateAtan=function(e){return e*(-.1784*Math.abs(e)-.0663*e*e+1.0301)};lt.fastApproximateAtan2=function(e,t){let n,i=Math.abs(e);n=Math.abs(t);let o=Math.max(i,n);n=Math.min(i,n);let r=n/o;return i=lt.fastApproximateAtan(r),i=Math.abs(t)>Math.abs(e)?lt.PI_OVER_TWO-i:i,i=e<0?lt.PI-i:i,i=t<0?-i:i,i};var P=lt;function et(e,t,n){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0)}et.fromSpherical=function(e,t){l(t)||(t=new et);let n=e.clock,i=e.cone,o=y(e.magnitude,1),r=o*Math.sin(i);return t.x=r*Math.cos(n),t.y=r*Math.sin(n),t.z=o*Math.cos(i),t};et.fromElements=function(e,t,n,i){return l(i)?(i.x=e,i.y=t,i.z=n,i):new et(e,t,n)};et.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t):new et(e.x,e.y,e.z)};et.fromCartesian4=et.clone;et.packedLength=3;et.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n]=e.z,t};et.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new et),n.x=e[t++],n.y=e[t++],n.z=e[t],n};et.packArray=function(e,t){let n=e.length,i=n*3;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)et.pack(e[o],t,o*3);return t};et.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/3:t=new Array(n/3);for(let i=0;i<n;i+=3){let o=i/3;t[o]=et.unpack(e,i,t[o])}return t};et.fromArray=et.unpack;et.maximumComponent=function(e){return Math.max(e.x,e.y,e.z)};et.minimumComponent=function(e){return Math.min(e.x,e.y,e.z)};et.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n};et.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n};et.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z);return i.x=o,i.y=r,i.z=s,i};et.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z};et.magnitude=function(e){return Math.sqrt(et.magnitudeSquared(e))};var i1=new et;et.distance=function(e,t){return et.subtract(e,t,i1),et.magnitude(i1)};et.distanceSquared=function(e,t){return et.subtract(e,t,i1),et.magnitudeSquared(i1)};et.normalize=function(e,t){let n=et.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t};et.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z};et.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n};et.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n};et.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n};et.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n};et.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n};et.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n};et.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t};et.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t};var o$=new et;et.lerp=function(e,t,n,i){return et.multiplyByScalar(t,n,o$),i=et.multiplyByScalar(e,1-n,i),et.add(o$,i,i)};var n1=new et,jG=new et;et.angleBetween=function(e,t){et.normalize(e,n1),et.normalize(t,jG);let n=et.dot(n1,jG),i=et.magnitude(et.cross(n1,jG,n1));return Math.atan2(i,n)};var ZAe=new et;et.mostOrthogonalAxis=function(e,t){let n=et.normalize(e,ZAe);return et.abs(n,n),n.x<=n.y?n.x<=n.z?t=et.clone(et.UNIT_X,t):t=et.clone(et.UNIT_Z,t):n.y<=n.z?t=et.clone(et.UNIT_Y,t):t=et.clone(et.UNIT_Z,t),t};et.projectVector=function(e,t,n){let i=et.dot(e,t)/et.dot(t,t);return et.multiplyByScalar(t,i,n)};et.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z};et.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]};et.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)};et.cross=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=t.x,a=t.y,c=t.z,u=o*c-r*a,f=r*s-i*c,d=i*a-o*s;return n.x=u,n.y=f,n.z=d,n};et.midpoint=function(e,t,n){return n.x=(e.x+t.x)*.5,n.y=(e.y+t.y)*.5,n.z=(e.z+t.z)*.5,n};et.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(e),t=P.toRadians(t),et.fromRadians(e,t,n,i,o)};var Hu=new et,aT=new et;et._ellipsoidRadiiSquared=new et(6378137*6378137,6378137*6378137,6356752314245179e-9*6356752314245179e-9);et.fromRadians=function(e,t,n,i,o){n=y(n,0);let r=l(i)?i.radiiSquared:et._ellipsoidRadiiSquared,s=Math.cos(t);Hu.x=s*Math.cos(e),Hu.y=s*Math.sin(e),Hu.z=Math.sin(t),Hu=et.normalize(Hu,Hu),et.multiplyComponents(r,Hu,aT);let a=Math.sqrt(et.dot(Hu,aT));return aT=et.divideByScalar(aT,a,aT),Hu=et.multiplyByScalar(Hu,n,Hu),l(o)||(o=new et),et.add(aT,Hu,o)};et.fromDegreesArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=et.fromDegrees(r,s,0,t,n[a])}return n};et.fromRadiansArray=function(e,t,n){let i=e.length;l(n)?n.length=i/2:n=new Array(i/2);for(let o=0;o<i;o+=2){let r=e[o],s=e[o+1],a=o/2;n[a]=et.fromRadians(r,s,0,t,n[a])}return n};et.fromDegreesArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=et.fromDegrees(r,s,a,t,n[c])}return n};et.fromRadiansArrayHeights=function(e,t,n){let i=e.length;l(n)?n.length=i/3:n=new Array(i/3);for(let o=0;o<i;o+=3){let r=e[o],s=e[o+1],a=e[o+2],c=o/3;n[c]=et.fromRadians(r,s,a,t,n[c])}return n};et.ZERO=Object.freeze(new et(0,0,0));et.ONE=Object.freeze(new et(1,1,1));et.UNIT_X=Object.freeze(new et(1,0,0));et.UNIT_Y=Object.freeze(new et(0,1,0));et.UNIT_Z=Object.freeze(new et(0,0,1));et.prototype.clone=function(e){return et.clone(this,e)};et.prototype.equals=function(e){return et.equals(this,e)};et.prototype.equalsEpsilon=function(e,t,n){return et.equalsEpsilon(this,e,t,n)};et.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z})`};var h=et;function xt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}xt.fromElements=function(e,t,n,i,o){return l(o)?(o.x=e,o.y=t,o.z=n,o.w=i,o):new xt(e,t,n,i)};xt.fromColor=function(e,t){return l(t)?(t.x=e.red,t.y=e.green,t.z=e.blue,t.w=e.alpha,t):new xt(e.red,e.green,e.blue,e.alpha)};xt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new xt(e.x,e.y,e.z,e.w)};xt.packedLength=4;xt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};xt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new xt),n.x=e[t++],n.y=e[t++],n.z=e[t++],n.w=e[t],n};xt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)xt.pack(e[o],t,o*4);return t};xt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=xt.unpack(e,i,t[o])}return t};xt.fromArray=xt.unpack;xt.maximumComponent=function(e){return Math.max(e.x,e.y,e.z,e.w)};xt.minimumComponent=function(e){return Math.min(e.x,e.y,e.z,e.w)};xt.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n.z=Math.min(e.z,t.z),n.w=Math.min(e.w,t.w),n};xt.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n.z=Math.max(e.z,t.z),n.w=Math.max(e.w,t.w),n};xt.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y),s=P.clamp(e.z,t.z,n.z),a=P.clamp(e.w,t.w,n.w);return i.x=o,i.y=r,i.z=s,i.w=a,i};xt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};xt.magnitude=function(e){return Math.sqrt(xt.magnitudeSquared(e))};var o1=new xt;xt.distance=function(e,t){return xt.subtract(e,t,o1),xt.magnitude(o1)};xt.distanceSquared=function(e,t){return xt.subtract(e,t,o1),xt.magnitudeSquared(o1)};xt.normalize=function(e,t){let n=xt.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t.z=e.z/n,t.w=e.w/n,t};xt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};xt.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n.z=e.z*t.z,n.w=e.w*t.w,n};xt.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n.z=e.z/t.z,n.w=e.w/t.w,n};xt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};xt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};xt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};xt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};xt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};xt.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t.z=Math.abs(e.z),t.w=Math.abs(e.w),t};var r$=new xt;xt.lerp=function(e,t,n,i){return xt.multiplyByScalar(t,n,r$),i=xt.multiplyByScalar(e,1-n,i),xt.add(r$,i,i)};var $Ae=new xt;xt.mostOrthogonalAxis=function(e,t){let n=xt.normalize(e,$Ae);return xt.abs(n,n),n.x<=n.y?n.x<=n.z?n.x<=n.w?t=xt.clone(xt.UNIT_X,t):t=xt.clone(xt.UNIT_W,t):n.z<=n.w?t=xt.clone(xt.UNIT_Z,t):t=xt.clone(xt.UNIT_W,t):n.y<=n.z?n.y<=n.w?t=xt.clone(xt.UNIT_Y,t):t=xt.clone(xt.UNIT_W,t):n.z<=n.w?t=xt.clone(xt.UNIT_Z,t):t=xt.clone(xt.UNIT_W,t),t};xt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};xt.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]&&e.z===t[n+2]&&e.w===t[n+3]};xt.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)&&P.equalsEpsilon(e.z,t.z,n,i)&&P.equalsEpsilon(e.w,t.w,n,i)};xt.ZERO=Object.freeze(new xt(0,0,0,0));xt.ONE=Object.freeze(new xt(1,1,1,1));xt.UNIT_X=Object.freeze(new xt(1,0,0,0));xt.UNIT_Y=Object.freeze(new xt(0,1,0,0));xt.UNIT_Z=Object.freeze(new xt(0,0,1,0));xt.UNIT_W=Object.freeze(new xt(0,0,0,1));xt.prototype.clone=function(e){return xt.clone(this,e)};xt.prototype.equals=function(e){return xt.equals(this,e)};xt.prototype.equalsEpsilon=function(e,t,n){return xt.equalsEpsilon(this,e,t,n)};xt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var qG=new Float32Array(1),Ha=new Uint8Array(qG.buffer),QAe=new Uint32Array([287454020]),JAe=new Uint8Array(QAe.buffer),s$=JAe[0]===68;xt.packFloat=function(e,t){return l(t)||(t=new xt),qG[0]=e,s$?(t.x=Ha[0],t.y=Ha[1],t.z=Ha[2],t.w=Ha[3]):(t.x=Ha[3],t.y=Ha[2],t.z=Ha[1],t.w=Ha[0]),t};xt.unpackFloat=function(e){return s$?(Ha[0]=e.x,Ha[1]=e.y,Ha[2]=e.z,Ha[3]=e.w):(Ha[0]=e.w,Ha[1]=e.z,Ha[2]=e.y,Ha[3]=e.x),qG[0]};var oe=xt;function it(e,t,n,i,o,r,s,a,c){this[0]=y(e,0),this[1]=y(i,0),this[2]=y(s,0),this[3]=y(t,0),this[4]=y(o,0),this[5]=y(a,0),this[6]=y(n,0),this[7]=y(r,0),this[8]=y(c,0)}it.packedLength=9;it.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t};it.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new it),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n};it.packArray=function(e,t){let n=e.length,i=n*9;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)it.pack(e[o],t,o*9);return t};it.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/9:t=new Array(n/9);for(let i=0;i<n;i+=9){let o=i/9;t[o]=it.unpack(e,i,t[o])}return t};it.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):new it(e[0],e[3],e[6],e[1],e[4],e[7],e[2],e[5],e[8])};it.fromArray=it.unpack;it.fromColumnMajorArray=function(e,t){return it.clone(e,t)};it.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8],t):new it(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8])};it.fromQuaternion=function(e,t){let n=e.x*e.x,i=e.x*e.y,o=e.x*e.z,r=e.x*e.w,s=e.y*e.y,a=e.y*e.z,c=e.y*e.w,u=e.z*e.z,f=e.z*e.w,d=e.w*e.w,p=n-s-u+d,g=2*(i-f),m=2*(o+c),x=2*(i+f),b=-n+s-u+d,T=2*(a-r),C=2*(o-c),A=2*(a+r),S=-n-s+u+d;return l(t)?(t[0]=p,t[1]=x,t[2]=C,t[3]=g,t[4]=b,t[5]=A,t[6]=m,t[7]=T,t[8]=S,t):new it(p,g,m,x,b,T,C,A,S)};it.fromHeadingPitchRoll=function(e,t){let n=Math.cos(-e.pitch),i=Math.cos(-e.heading),o=Math.cos(e.roll),r=Math.sin(-e.pitch),s=Math.sin(-e.heading),a=Math.sin(e.roll),c=n*i,u=-o*s+a*r*i,f=a*s+o*r*i,d=n*s,p=o*i+a*r*s,g=-a*i+o*r*s,m=-r,x=a*n,b=o*n;return l(t)?(t[0]=c,t[1]=d,t[2]=m,t[3]=u,t[4]=p,t[5]=x,t[6]=f,t[7]=g,t[8]=b,t):new it(c,u,f,d,p,g,m,x,b)};it.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=e.y,t[5]=0,t[6]=0,t[7]=0,t[8]=e.z,t):new it(e.x,0,0,0,e.y,0,0,0,e.z)};it.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=e,t[5]=0,t[6]=0,t[7]=0,t[8]=e,t):new it(e,0,0,0,e,0,0,0,e)};it.fromCrossProduct=function(e,t){return l(t)?(t[0]=0,t[1]=e.z,t[2]=-e.y,t[3]=-e.z,t[4]=0,t[5]=e.x,t[6]=e.y,t[7]=-e.x,t[8]=0,t):new it(0,-e.z,e.y,e.z,0,-e.x,-e.y,e.x,0)};it.fromRotationX=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=n,t[5]=i,t[6]=0,t[7]=-i,t[8]=n,t):new it(1,0,0,0,n,-i,0,i,n)};it.fromRotationY=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=0,t[2]=-i,t[3]=0,t[4]=1,t[5]=0,t[6]=i,t[7]=0,t[8]=n,t):new it(n,0,i,0,1,0,-i,0,n)};it.fromRotationZ=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=0,t[3]=-i,t[4]=n,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new it(n,-i,0,i,n,0,0,0,1)};it.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8]]};it.getElementIndex=function(e,t){return e*3+t};it.getColumn=function(e,t,n){let i=t*3,o=e[i],r=e[i+1],s=e[i+2];return n.x=o,n.y=r,n.z=s,n};it.setColumn=function(e,t,n,i){i=it.clone(e,i);let o=t*3;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i};it.getRow=function(e,t,n){let i=e[t],o=e[t+3],r=e[t+6];return n.x=i,n.y=o,n.z=r,n};it.setRow=function(e,t,n,i){return i=it.clone(e,i),i[t]=n.x,i[t+3]=n.y,i[t+6]=n.z,i};var eEe=new h;it.setScale=function(e,t,n){let i=it.getScale(e,eEe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var tEe=new h;it.setUniformScale=function(e,t,n){let i=it.getScale(e,tEe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3]*r,n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*s,n[7]=e[7]*s,n[8]=e[8]*s,n};var YG=new h;it.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],YG)),t.y=h.magnitude(h.fromElements(e[3],e[4],e[5],YG)),t.z=h.magnitude(h.fromElements(e[6],e[7],e[8],YG)),t};var a$=new h;it.getMaximumScale=function(e){return it.getScale(e,a$),h.maximumComponent(a$)};var nEe=new h;it.setRotation=function(e,t,n){let i=it.getScale(e,nEe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=t[3]*i.y,n[4]=t[4]*i.y,n[5]=t[5]*i.y,n[6]=t[6]*i.z,n[7]=t[7]*i.z,n[8]=t[8]*i.z,n};var iEe=new h;it.getRotation=function(e,t){let n=it.getScale(e,iEe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[3]/n.y,t[4]=e[4]/n.y,t[5]=e[5]/n.y,t[6]=e[6]/n.z,t[7]=e[7]/n.z,t[8]=e[8]/n.z,t};it.multiply=function(e,t,n){let i=e[0]*t[0]+e[3]*t[1]+e[6]*t[2],o=e[1]*t[0]+e[4]*t[1]+e[7]*t[2],r=e[2]*t[0]+e[5]*t[1]+e[8]*t[2],s=e[0]*t[3]+e[3]*t[4]+e[6]*t[5],a=e[1]*t[3]+e[4]*t[4]+e[7]*t[5],c=e[2]*t[3]+e[5]*t[4]+e[8]*t[5],u=e[0]*t[6]+e[3]*t[7]+e[6]*t[8],f=e[1]*t[6]+e[4]*t[7]+e[7]*t[8],d=e[2]*t[6]+e[5]*t[7]+e[8]*t[8];return n[0]=i,n[1]=o,n[2]=r,n[3]=s,n[4]=a,n[5]=c,n[6]=u,n[7]=f,n[8]=d,n};it.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n};it.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n};it.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[3]*o+e[6]*r,a=e[1]*i+e[4]*o+e[7]*r,c=e[2]*i+e[5]*o+e[8]*r;return n.x=s,n.y=a,n.z=c,n};it.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};it.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.x,n[3]=e[3]*t.y,n[4]=e[4]*t.y,n[5]=e[5]*t.y,n[6]=e[6]*t.z,n[7]=e[7]*t.z,n[8]=e[8]*t.z,n};it.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n};it.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t};it.transpose=function(e,t){let n=e[0],i=e[3],o=e[6],r=e[1],s=e[4],a=e[7],c=e[2],u=e[5],f=e[8];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t[4]=s,t[5]=a,t[6]=c,t[7]=u,t[8]=f,t};function oEe(e){let t=0;for(let n=0;n<9;++n){let i=e[n];t+=i*i}return Math.sqrt(t)}var XG=[1,0,0],KG=[2,2,1];function rEe(e){let t=0;for(let n=0;n<3;++n){let i=e[it.getElementIndex(KG[n],XG[n])];t+=2*i*i}return Math.sqrt(t)}function sEe(e,t){let n=P.EPSILON15,i=0,o=1;for(let u=0;u<3;++u){let f=Math.abs(e[it.getElementIndex(KG[u],XG[u])]);f>i&&(o=u,i=f)}let r=1,s=0,a=XG[o],c=KG[o];if(Math.abs(e[it.getElementIndex(c,a)])>n){let u=e[it.getElementIndex(c,c)],f=e[it.getElementIndex(a,a)],d=e[it.getElementIndex(c,a)],p=(u-f)/2/d,g;p<0?g=-1/(-p+Math.sqrt(1+p*p)):g=1/(p+Math.sqrt(1+p*p)),r=1/Math.sqrt(1+g*g),s=g*r}return t=it.clone(it.IDENTITY,t),t[it.getElementIndex(a,a)]=t[it.getElementIndex(c,c)]=r,t[it.getElementIndex(c,a)]=s,t[it.getElementIndex(a,c)]=-s,t}var r1=new it,c$=new it;it.computeEigenDecomposition=function(e,t){let n=P.EPSILON20,i=10,o=0,r=0;l(t)||(t={});let s=t.unitary=it.clone(it.IDENTITY,t.unitary),a=t.diagonal=it.clone(e,t.diagonal),c=n*oEe(a);for(;r<i&&rEe(a)>c;)sEe(a,r1),it.transpose(r1,c$),it.multiply(a,r1,a),it.multiply(c$,a,a),it.multiply(s,r1,s),++o>2&&(++r,o=0);return t};it.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t};it.determinant=function(e){let t=e[0],n=e[3],i=e[6],o=e[1],r=e[4],s=e[7],a=e[2],c=e[5],u=e[8];return t*(r*u-c*s)+o*(c*i-n*u)+a*(n*s-r*i)};it.inverse=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[3],s=e[4],a=e[5],c=e[6],u=e[7],f=e[8],d=it.determinant(e);t[0]=s*f-u*a,t[1]=u*o-i*f,t[2]=i*a-s*o,t[3]=c*a-r*f,t[4]=n*f-c*o,t[5]=r*o-n*a,t[6]=r*u-c*s,t[7]=c*i-n*u,t[8]=n*s-r*i;let p=1/d;return it.multiplyByScalar(t,p,t)};var aEe=new it;it.inverseTranspose=function(e,t){return it.inverse(it.transpose(e,aEe),t)};it.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[7]===t[7]&&e[8]===t[8]};it.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n};it.IDENTITY=Object.freeze(new it(1,0,0,0,1,0,0,0,1));it.ZERO=Object.freeze(new it(0,0,0,0,0,0,0,0,0));it.COLUMN0ROW0=0;it.COLUMN0ROW1=1;it.COLUMN0ROW2=2;it.COLUMN1ROW0=3;it.COLUMN1ROW1=4;it.COLUMN1ROW2=5;it.COLUMN2ROW0=6;it.COLUMN2ROW1=7;it.COLUMN2ROW2=8;Object.defineProperties(it.prototype,{length:{get:function(){return it.packedLength}}});it.prototype.clone=function(e){return it.clone(this,e)};it.prototype.equals=function(e){return it.equals(this,e)};it.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]};it.prototype.equalsEpsilon=function(e,t){return it.equalsEpsilon(this,e,t)};it.prototype.toString=function(){return`(${this[0]}, ${this[3]}, ${this[6]}) (${this[1]}, ${this[4]}, ${this[7]}) -(${this[2]}, ${this[5]}, ${this[8]})`};var Z=rt;function kS(e){this.name="RuntimeError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(kS.prototype=Object.create(Error.prototype),kS.prototype.constructor=kS);kS.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` -${this.stack.toString()}`),e};var ce=kS;function tt(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this[0]=y(e,0),this[1]=y(o,0),this[2]=y(c,0),this[3]=y(p,0),this[4]=y(t,0),this[5]=y(r,0),this[6]=y(u,0),this[7]=y(g,0),this[8]=y(n,0),this[9]=y(s,0),this[10]=y(f,0),this[11]=y(m,0),this[12]=y(i,0),this[13]=y(a,0),this[14]=y(d,0),this[15]=y(x,0)}tt.packedLength=16;tt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};tt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new tt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};tt.packArray=function(e,t){let n=e.length,i=n*16;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)tt.pack(e[o],t,o*16);return t};tt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/16:t=new Array(n/16);for(let i=0;i<n;i+=16){let o=i/16;t[o]=tt.unpack(e,i,t[o])}return t};tt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new tt(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])};tt.fromArray=tt.unpack;tt.fromColumnMajorArray=function(e,t){return tt.clone(e,t)};tt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new tt(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])};tt.fromRotationTranslation=function(e,t,n){return t=y(t,h.ZERO),l(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new tt(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)};tt.fromTranslationQuaternionRotationScale=function(e,t,n,i){l(i)||(i=new tt);let o=n.x,r=n.y,s=n.z,a=t.x*t.x,c=t.x*t.y,u=t.x*t.z,f=t.x*t.w,d=t.y*t.y,p=t.y*t.z,g=t.y*t.w,m=t.z*t.z,x=t.z*t.w,b=t.w*t.w,T=a-d-m+b,C=2*(c-x),A=2*(u+g),S=2*(c+x),w=-a+d-m+b,D=2*(p-f),O=2*(u-g),R=2*(p+f),M=-a-d+m+b;return i[0]=T*o,i[1]=S*o,i[2]=O*o,i[3]=0,i[4]=C*r,i[5]=w*r,i[6]=R*r,i[7]=0,i[8]=A*s,i[9]=D*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i};tt.fromTranslationRotationScale=function(e,t){return tt.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};tt.fromTranslation=function(e,t){return tt.fromRotationTranslation(Z.IDENTITY,e,t)};tt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new tt(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};tt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new tt(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};tt.fromRotation=function(e,t){return l(t)||(t=new tt),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var nT=new h,iT=new h,VS=new h;tt.fromCamera=function(e,t){let n=e.position,i=e.direction,o=e.up;h.normalize(i,nT),h.normalize(h.cross(nT,o,iT),iT),h.normalize(h.cross(iT,nT,VS),VS);let r=iT.x,s=iT.y,a=iT.z,c=nT.x,u=nT.y,f=nT.z,d=VS.x,p=VS.y,g=VS.z,m=n.x,x=n.y,b=n.z,T=r*-m+s*-x+a*-b,C=d*-m+p*-x+g*-b,A=c*m+u*x+f*b;return l(t)?(t[0]=r,t[1]=d,t[2]=-c,t[3]=0,t[4]=s,t[5]=p,t[6]=-u,t[7]=0,t[8]=a,t[9]=g,t[10]=-f,t[11]=0,t[12]=T,t[13]=C,t[14]=A,t[15]=1,t):new tt(r,s,a,T,d,p,g,C,-c,-u,-f,A,0,0,0,1)};tt.computePerspectiveFieldOfView=function(e,t,n,i,o){let s=1/Math.tan(e*.5),a=s/t,c=(i+n)/(n-i),u=2*i*n/(n-i);return o[0]=a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=u,o[15]=0,o};tt.computeOrthographicOffCenter=function(e,t,n,i,o,r,s){let a=1/(t-e),c=1/(i-n),u=1/(r-o),f=-(t+e)*a,d=-(i+n)*c,p=-(r+o)*u;return a*=2,c*=2,u*=-2,s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=u,s[11]=0,s[12]=f,s[13]=d,s[14]=p,s[15]=1,s};tt.computePerspectiveOffCenter=function(e,t,n,i,o,r,s){let a=2*o/(t-e),c=2*o/(i-n),u=(t+e)/(t-e),f=(i+n)/(i-n),d=-(r+o)/(r-o),p=-1,g=-2*r*o/(r-o);return s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=u,s[9]=f,s[10]=d,s[11]=p,s[12]=0,s[13]=0,s[14]=g,s[15]=0,s};tt.computeInfinitePerspectiveOffCenter=function(e,t,n,i,o,r){let s=2*o/(t-e),a=2*o/(i-n),c=(t+e)/(t-e),u=(i+n)/(i-n),f=-1,d=-1,p=-2*o;return r[0]=s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=c,r[9]=u,r[10]=f,r[11]=d,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r};tt.computeViewportTransformation=function(e,t,n,i){l(i)||(i=new tt),e=y(e,y.EMPTY_OBJECT);let o=y(e.x,0),r=y(e.y,0),s=y(e.width,0),a=y(e.height,0);t=y(t,0),n=y(n,1);let c=s*.5,u=a*.5,f=(n-t)*.5,d=c,p=u,g=f,m=o+c,x=r+u,b=t+f,T=1;return i[0]=d,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g,i[11]=0,i[12]=m,i[13]=x,i[14]=b,i[15]=T,i};tt.computeView=function(e,t,n,i,o){return o[0]=i.x,o[1]=n.x,o[2]=-t.x,o[3]=0,o[4]=i.y,o[5]=n.y,o[6]=-t.y,o[7]=0,o[8]=i.z,o[9]=n.z,o[10]=-t.z,o[11]=0,o[12]=-h.dot(i,e),o[13]=-h.dot(n,e),o[14]=h.dot(t,e),o[15]=1,o};tt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]};tt.getElementIndex=function(e,t){return e*4+t};tt.getColumn=function(e,t,n){let i=t*4,o=e[i],r=e[i+1],s=e[i+2],a=e[i+3];return n.x=o,n.y=r,n.z=s,n.w=a,n};tt.setColumn=function(e,t,n,i){i=tt.clone(e,i);let o=t*4;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i[o+3]=n.w,i};tt.getRow=function(e,t,n){let i=e[t],o=e[t+4],r=e[t+8],s=e[t+12];return n.x=i,n.y=o,n.z=r,n.w=s,n};tt.setRow=function(e,t,n,i){return i=tt.clone(e,i),i[t]=n.x,i[t+4]=n.y,i[t+8]=n.z,i[t+12]=n.w,i};tt.setTranslation=function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var YAe=new h;tt.setScale=function(e,t,n){let i=tt.getScale(e,YAe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var XAe=new h;tt.setUniformScale=function(e,t,n){let i=tt.getScale(e,XAe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var qG=new h;tt.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],qG)),t.y=h.magnitude(h.fromElements(e[4],e[5],e[6],qG)),t.z=h.magnitude(h.fromElements(e[8],e[9],e[10],qG)),t};var iZ=new h;tt.getMaximumScale=function(e){return tt.getScale(e,iZ),h.maximumComponent(iZ)};var KAe=new h;tt.setRotation=function(e,t,n){let i=tt.getScale(e,KAe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=e[3],n[4]=t[3]*i.y,n[5]=t[4]*i.y,n[6]=t[5]*i.y,n[7]=e[7],n[8]=t[6]*i.z,n[9]=t[7]*i.z,n[10]=t[8]*i.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var $Ae=new h;tt.getRotation=function(e,t){let n=tt.getScale(e,$Ae);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};tt.multiply=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[3],a=e[4],c=e[5],u=e[6],f=e[7],d=e[8],p=e[9],g=e[10],m=e[11],x=e[12],b=e[13],T=e[14],C=e[15],A=t[0],S=t[1],w=t[2],D=t[3],O=t[4],R=t[5],M=t[6],L=t[7],_=t[8],E=t[9],v=t[10],I=t[11],N=t[12],B=t[13],z=t[14],V=t[15],G=i*A+a*S+d*w+x*D,k=o*A+c*S+p*w+b*D,Y=r*A+u*S+g*w+T*D,W=s*A+f*S+m*w+C*D,J=i*O+a*R+d*M+x*L,j=o*O+c*R+p*M+b*L,$=r*O+u*R+g*M+T*L,Q=s*O+f*R+m*M+C*L,he=i*_+a*E+d*v+x*I,ye=o*_+c*E+p*v+b*I,re=r*_+u*E+g*v+T*I,_e=s*_+f*E+m*v+C*I,xe=i*N+a*B+d*z+x*V,De=o*N+c*B+p*z+b*V,we=r*N+u*B+g*z+T*V,Oe=s*N+f*B+m*z+C*V;return n[0]=G,n[1]=k,n[2]=Y,n[3]=W,n[4]=J,n[5]=j,n[6]=$,n[7]=Q,n[8]=he,n[9]=ye,n[10]=re,n[11]=_e,n[12]=xe,n[13]=De,n[14]=we,n[15]=Oe,n};tt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};tt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};tt.multiplyTransformation=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=e[12],g=e[13],m=e[14],x=t[0],b=t[1],T=t[2],C=t[4],A=t[5],S=t[6],w=t[8],D=t[9],O=t[10],R=t[12],M=t[13],L=t[14],_=i*x+s*b+u*T,E=o*x+a*b+f*T,v=r*x+c*b+d*T,I=i*C+s*A+u*S,N=o*C+a*A+f*S,B=r*C+c*A+d*S,z=i*w+s*D+u*O,V=o*w+a*D+f*O,G=r*w+c*D+d*O,k=i*R+s*M+u*L+p,Y=o*R+a*M+f*L+g,W=r*R+c*M+d*L+m;return n[0]=_,n[1]=E,n[2]=v,n[3]=0,n[4]=I,n[5]=N,n[6]=B,n[7]=0,n[8]=z,n[9]=V,n[10]=G,n[11]=0,n[12]=k,n[13]=Y,n[14]=W,n[15]=1,n};tt.multiplyByMatrix3=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=t[0],g=t[1],m=t[2],x=t[3],b=t[4],T=t[5],C=t[6],A=t[7],S=t[8],w=i*p+s*g+u*m,D=o*p+a*g+f*m,O=r*p+c*g+d*m,R=i*x+s*b+u*T,M=o*x+a*b+f*T,L=r*x+c*b+d*T,_=i*C+s*A+u*S,E=o*C+a*A+f*S,v=r*C+c*A+d*S;return n[0]=w,n[1]=D,n[2]=O,n[3]=0,n[4]=R,n[5]=M,n[6]=L,n[7]=0,n[8]=_,n[9]=E,n[10]=v,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};tt.multiplyByTranslation=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=i*e[0]+o*e[4]+r*e[8]+e[12],a=i*e[1]+o*e[5]+r*e[9]+e[13],c=i*e[2]+o*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=s,n[13]=a,n[14]=c,n[15]=e[15],n};tt.multiplyByScale=function(e,t,n){let i=t.x,o=t.y,r=t.z;return i===1&&o===1&&r===1?tt.clone(e,n):(n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};tt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};tt.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=t.w,a=e[0]*i+e[4]*o+e[8]*r+e[12]*s,c=e[1]*i+e[5]*o+e[9]*r+e[13]*s,u=e[2]*i+e[6]*o+e[10]*r+e[14]*s,f=e[3]*i+e[7]*o+e[11]*r+e[15]*s;return n.x=a,n.y=c,n.z=u,n.w=f,n};tt.multiplyByPointAsVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r,a=e[1]*i+e[5]*o+e[9]*r,c=e[2]*i+e[6]*o+e[10]*r;return n.x=s,n.y=a,n.z=c,n};tt.multiplyByPoint=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r+e[12],a=e[1]*i+e[5]*o+e[9]*r+e[13],c=e[2]*i+e[6]*o+e[10]*r+e[14];return n.x=s,n.y=a,n.z=c,n};tt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n};tt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t};tt.transpose=function(e,t){let n=e[1],i=e[2],o=e[3],r=e[6],s=e[7],a=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=r,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=a,t[15]=e[15],t};tt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t};tt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};tt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n};tt.getTranslation=function(e,t){return t.x=e[12],t.y=e[13],t.z=e[14],t};tt.getMatrix3=function(e,t){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var ZAe=new Z,QAe=new Z,JAe=new oe,eEe=new oe(0,0,0,1);tt.inverse=function(e,t){let n=e[0],i=e[4],o=e[8],r=e[12],s=e[1],a=e[5],c=e[9],u=e[13],f=e[2],d=e[6],p=e[10],g=e[14],m=e[3],x=e[7],b=e[11],T=e[15],C=p*T,A=g*b,S=d*T,w=g*x,D=d*b,O=p*x,R=f*T,M=g*m,L=f*b,_=p*m,E=f*x,v=d*m,I=C*a+w*c+D*u-(A*a+S*c+O*u),N=A*s+R*c+_*u-(C*s+M*c+L*u),B=S*s+M*a+E*u-(w*s+R*a+v*u),z=O*s+L*a+v*c-(D*s+_*a+E*c),V=A*i+S*o+O*r-(C*i+w*o+D*r),G=C*n+M*o+L*r-(A*n+R*o+_*r),k=w*n+R*i+v*r-(S*n+M*i+E*r),Y=D*n+_*i+E*o-(O*n+L*i+v*o);C=o*u,A=r*c,S=i*u,w=r*a,D=i*c,O=o*a,R=n*u,M=r*s,L=n*c,_=o*s,E=n*a,v=i*s;let W=C*x+w*b+D*T-(A*x+S*b+O*T),J=A*m+R*b+_*T-(C*m+M*b+L*T),j=S*m+M*x+E*T-(w*m+R*x+v*T),$=O*m+L*x+v*b-(D*m+_*x+E*b),Q=S*p+O*g+A*d-(D*g+C*d+w*p),he=L*g+C*f+M*p-(R*p+_*g+A*f),ye=R*d+v*g+w*f-(E*g+S*f+M*d),re=E*p+D*f+_*d-(L*d+v*p+O*f),_e=n*I+i*N+o*B+r*z;if(Math.abs(_e)<P.EPSILON21){if(Z.equalsEpsilon(tt.getMatrix3(e,ZAe),QAe,P.EPSILON7)&&oe.equals(tt.getRow(e,3,JAe),eEe))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new ce("matrix is not invertible because its determinate is zero.")}return _e=1/_e,t[0]=I*_e,t[1]=N*_e,t[2]=B*_e,t[3]=z*_e,t[4]=V*_e,t[5]=G*_e,t[6]=k*_e,t[7]=Y*_e,t[8]=W*_e,t[9]=J*_e,t[10]=j*_e,t[11]=$*_e,t[12]=Q*_e,t[13]=he*_e,t[14]=ye*_e,t[15]=re*_e,t};tt.inverseTransformation=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[4],s=e[5],a=e[6],c=e[8],u=e[9],f=e[10],d=e[12],p=e[13],g=e[14],m=-n*d-i*p-o*g,x=-r*d-s*p-a*g,b=-c*d-u*p-f*g;return t[0]=n,t[1]=r,t[2]=c,t[3]=0,t[4]=i,t[5]=s,t[6]=u,t[7]=0,t[8]=o,t[9]=a,t[10]=f,t[11]=0,t[12]=m,t[13]=x,t[14]=b,t[15]=1,t};var tEe=new tt;tt.inverseTranspose=function(e,t){return tt.inverse(tt.transpose(e,tEe),t)};tt.IDENTITY=Object.freeze(new tt(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));tt.ZERO=Object.freeze(new tt(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));tt.COLUMN0ROW0=0;tt.COLUMN0ROW1=1;tt.COLUMN0ROW2=2;tt.COLUMN0ROW3=3;tt.COLUMN1ROW0=4;tt.COLUMN1ROW1=5;tt.COLUMN1ROW2=6;tt.COLUMN1ROW3=7;tt.COLUMN2ROW0=8;tt.COLUMN2ROW1=9;tt.COLUMN2ROW2=10;tt.COLUMN2ROW3=11;tt.COLUMN3ROW0=12;tt.COLUMN3ROW1=13;tt.COLUMN3ROW2=14;tt.COLUMN3ROW3=15;Object.defineProperties(tt.prototype,{length:{get:function(){return tt.packedLength}}});tt.prototype.clone=function(e){return tt.clone(this,e)};tt.prototype.equals=function(e){return tt.equals(this,e)};tt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};tt.prototype.equalsEpsilon=function(e,t){return tt.equalsEpsilon(this,e,t)};tt.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]}) +(${this[2]}, ${this[5]}, ${this[8]})`};var $=it;function HS(e){this.name="RuntimeError",this.message=e;let t;try{throw new Error}catch(n){t=n.stack}this.stack=t}l(Object.create)&&(HS.prototype=Object.create(Error.prototype),HS.prototype.constructor=HS);HS.prototype.toString=function(){let e=`${this.name}: ${this.message}`;return l(this.stack)&&(e+=` +${this.stack.toString()}`),e};var se=HS;function nt(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this[0]=y(e,0),this[1]=y(o,0),this[2]=y(c,0),this[3]=y(p,0),this[4]=y(t,0),this[5]=y(r,0),this[6]=y(u,0),this[7]=y(g,0),this[8]=y(n,0),this[9]=y(s,0),this[10]=y(f,0),this[11]=y(m,0),this[12]=y(i,0),this[13]=y(a,0),this[14]=y(d,0),this[15]=y(x,0)}nt.packedLength=16;nt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t[n++]=e[4],t[n++]=e[5],t[n++]=e[6],t[n++]=e[7],t[n++]=e[8],t[n++]=e[9],t[n++]=e[10],t[n++]=e[11],t[n++]=e[12],t[n++]=e[13],t[n++]=e[14],t[n]=e[15],t};nt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new nt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n[4]=e[t++],n[5]=e[t++],n[6]=e[t++],n[7]=e[t++],n[8]=e[t++],n[9]=e[t++],n[10]=e[t++],n[11]=e[t++],n[12]=e[t++],n[13]=e[t++],n[14]=e[t++],n[15]=e[t],n};nt.packArray=function(e,t){let n=e.length,i=n*16;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)nt.pack(e[o],t,o*16);return t};nt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/16:t=new Array(n/16);for(let i=0;i<n;i+=16){let o=i/16;t[o]=nt.unpack(e,i,t[o])}return t};nt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):new nt(e[0],e[4],e[8],e[12],e[1],e[5],e[9],e[13],e[2],e[6],e[10],e[14],e[3],e[7],e[11],e[15])};nt.fromArray=nt.unpack;nt.fromColumnMajorArray=function(e,t){return nt.clone(e,t)};nt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15],t):new nt(e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15])};nt.fromRotationTranslation=function(e,t,n){return t=y(t,h.ZERO),l(n)?(n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=0,n[4]=e[3],n[5]=e[4],n[6]=e[5],n[7]=0,n[8]=e[6],n[9]=e[7],n[10]=e[8],n[11]=0,n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=1,n):new nt(e[0],e[3],e[6],t.x,e[1],e[4],e[7],t.y,e[2],e[5],e[8],t.z,0,0,0,1)};nt.fromTranslationQuaternionRotationScale=function(e,t,n,i){l(i)||(i=new nt);let o=n.x,r=n.y,s=n.z,a=t.x*t.x,c=t.x*t.y,u=t.x*t.z,f=t.x*t.w,d=t.y*t.y,p=t.y*t.z,g=t.y*t.w,m=t.z*t.z,x=t.z*t.w,b=t.w*t.w,T=a-d-m+b,C=2*(c-x),A=2*(u+g),S=2*(c+x),v=-a+d-m+b,D=2*(p-f),R=2*(u-g),O=2*(p+f),M=-a-d+m+b;return i[0]=T*o,i[1]=S*o,i[2]=R*o,i[3]=0,i[4]=C*r,i[5]=v*r,i[6]=O*r,i[7]=0,i[8]=A*s,i[9]=D*s,i[10]=M*s,i[11]=0,i[12]=e.x,i[13]=e.y,i[14]=e.z,i[15]=1,i};nt.fromTranslationRotationScale=function(e,t){return nt.fromTranslationQuaternionRotationScale(e.translation,e.rotation,e.scale,t)};nt.fromTranslation=function(e,t){return nt.fromRotationTranslation($.IDENTITY,e,t)};nt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e.y,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e.z,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new nt(e.x,0,0,0,0,e.y,0,0,0,0,e.z,0,0,0,0,1)};nt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=e,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=e,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t):new nt(e,0,0,0,0,e,0,0,0,0,e,0,0,0,0,1)};nt.fromRotation=function(e,t){return l(t)||(t=new nt),t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=0,t[4]=e[3],t[5]=e[4],t[6]=e[5],t[7]=0,t[8]=e[6],t[9]=e[7],t[10]=e[8],t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t};var cT=new h,lT=new h,GS=new h;nt.fromCamera=function(e,t){let n=e.position,i=e.direction,o=e.up;h.normalize(i,cT),h.normalize(h.cross(cT,o,lT),lT),h.normalize(h.cross(lT,cT,GS),GS);let r=lT.x,s=lT.y,a=lT.z,c=cT.x,u=cT.y,f=cT.z,d=GS.x,p=GS.y,g=GS.z,m=n.x,x=n.y,b=n.z,T=r*-m+s*-x+a*-b,C=d*-m+p*-x+g*-b,A=c*m+u*x+f*b;return l(t)?(t[0]=r,t[1]=d,t[2]=-c,t[3]=0,t[4]=s,t[5]=p,t[6]=-u,t[7]=0,t[8]=a,t[9]=g,t[10]=-f,t[11]=0,t[12]=T,t[13]=C,t[14]=A,t[15]=1,t):new nt(r,s,a,T,d,p,g,C,-c,-u,-f,A,0,0,0,1)};nt.computePerspectiveFieldOfView=function(e,t,n,i,o){let s=1/Math.tan(e*.5),a=s/t,c=(i+n)/(n-i),u=2*i*n/(n-i);return o[0]=a,o[1]=0,o[2]=0,o[3]=0,o[4]=0,o[5]=s,o[6]=0,o[7]=0,o[8]=0,o[9]=0,o[10]=c,o[11]=-1,o[12]=0,o[13]=0,o[14]=u,o[15]=0,o};nt.computeOrthographicOffCenter=function(e,t,n,i,o,r,s){let a=1/(t-e),c=1/(i-n),u=1/(r-o),f=-(t+e)*a,d=-(i+n)*c,p=-(r+o)*u;return a*=2,c*=2,u*=-2,s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=0,s[9]=0,s[10]=u,s[11]=0,s[12]=f,s[13]=d,s[14]=p,s[15]=1,s};nt.computePerspectiveOffCenter=function(e,t,n,i,o,r,s){let a=2*o/(t-e),c=2*o/(i-n),u=(t+e)/(t-e),f=(i+n)/(i-n),d=-(r+o)/(r-o),p=-1,g=-2*r*o/(r-o);return s[0]=a,s[1]=0,s[2]=0,s[3]=0,s[4]=0,s[5]=c,s[6]=0,s[7]=0,s[8]=u,s[9]=f,s[10]=d,s[11]=p,s[12]=0,s[13]=0,s[14]=g,s[15]=0,s};nt.computeInfinitePerspectiveOffCenter=function(e,t,n,i,o,r){let s=2*o/(t-e),a=2*o/(i-n),c=(t+e)/(t-e),u=(i+n)/(i-n),f=-1,d=-1,p=-2*o;return r[0]=s,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r[5]=a,r[6]=0,r[7]=0,r[8]=c,r[9]=u,r[10]=f,r[11]=d,r[12]=0,r[13]=0,r[14]=p,r[15]=0,r};nt.computeViewportTransformation=function(e,t,n,i){l(i)||(i=new nt),e=y(e,y.EMPTY_OBJECT);let o=y(e.x,0),r=y(e.y,0),s=y(e.width,0),a=y(e.height,0);t=y(t,0),n=y(n,1);let c=s*.5,u=a*.5,f=(n-t)*.5,d=c,p=u,g=f,m=o+c,x=r+u,b=t+f,T=1;return i[0]=d,i[1]=0,i[2]=0,i[3]=0,i[4]=0,i[5]=p,i[6]=0,i[7]=0,i[8]=0,i[9]=0,i[10]=g,i[11]=0,i[12]=m,i[13]=x,i[14]=b,i[15]=T,i};nt.computeView=function(e,t,n,i,o){return o[0]=i.x,o[1]=n.x,o[2]=-t.x,o[3]=0,o[4]=i.y,o[5]=n.y,o[6]=-t.y,o[7]=0,o[8]=i.z,o[9]=n.z,o[10]=-t.z,o[11]=0,o[12]=-h.dot(i,e),o[13]=-h.dot(n,e),o[14]=h.dot(t,e),o[15]=1,o};nt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t):[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7],e[8],e[9],e[10],e[11],e[12],e[13],e[14],e[15]]};nt.getElementIndex=function(e,t){return e*4+t};nt.getColumn=function(e,t,n){let i=t*4,o=e[i],r=e[i+1],s=e[i+2],a=e[i+3];return n.x=o,n.y=r,n.z=s,n.w=a,n};nt.setColumn=function(e,t,n,i){i=nt.clone(e,i);let o=t*4;return i[o]=n.x,i[o+1]=n.y,i[o+2]=n.z,i[o+3]=n.w,i};nt.getRow=function(e,t,n){let i=e[t],o=e[t+4],r=e[t+8],s=e[t+12];return n.x=i,n.y=o,n.z=r,n.w=s,n};nt.setRow=function(e,t,n,i){return i=nt.clone(e,i),i[t]=n.x,i[t+4]=n.y,i[t+8]=n.z,i[t+12]=n.w,i};nt.setTranslation=function(e,t,n){return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=t.x,n[13]=t.y,n[14]=t.z,n[15]=e[15],n};var cEe=new h;nt.setScale=function(e,t,n){let i=nt.getScale(e,cEe),o=t.x/i.x,r=t.y/i.y,s=t.z/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var lEe=new h;nt.setUniformScale=function(e,t,n){let i=nt.getScale(e,lEe),o=t/i.x,r=t/i.y,s=t/i.z;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*o,n[3]=e[3],n[4]=e[4]*r,n[5]=e[5]*r,n[6]=e[6]*r,n[7]=e[7],n[8]=e[8]*s,n[9]=e[9]*s,n[10]=e[10]*s,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var ZG=new h;nt.getScale=function(e,t){return t.x=h.magnitude(h.fromElements(e[0],e[1],e[2],ZG)),t.y=h.magnitude(h.fromElements(e[4],e[5],e[6],ZG)),t.z=h.magnitude(h.fromElements(e[8],e[9],e[10],ZG)),t};var l$=new h;nt.getMaximumScale=function(e){return nt.getScale(e,l$),h.maximumComponent(l$)};var uEe=new h;nt.setRotation=function(e,t,n){let i=nt.getScale(e,uEe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.x,n[3]=e[3],n[4]=t[3]*i.y,n[5]=t[4]*i.y,n[6]=t[5]*i.y,n[7]=e[7],n[8]=t[6]*i.z,n[9]=t[7]*i.z,n[10]=t[8]*i.z,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};var fEe=new h;nt.getRotation=function(e,t){let n=nt.getScale(e,fEe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.x,t[3]=e[4]/n.y,t[4]=e[5]/n.y,t[5]=e[6]/n.y,t[6]=e[8]/n.z,t[7]=e[9]/n.z,t[8]=e[10]/n.z,t};nt.multiply=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[3],a=e[4],c=e[5],u=e[6],f=e[7],d=e[8],p=e[9],g=e[10],m=e[11],x=e[12],b=e[13],T=e[14],C=e[15],A=t[0],S=t[1],v=t[2],D=t[3],R=t[4],O=t[5],M=t[6],N=t[7],_=t[8],E=t[9],w=t[10],I=t[11],L=t[12],B=t[13],H=t[14],V=t[15],G=i*A+a*S+d*v+x*D,k=o*A+c*S+p*v+b*D,W=r*A+u*S+g*v+T*D,Y=s*A+f*S+m*v+C*D,J=i*R+a*O+d*M+x*N,j=o*R+c*O+p*M+b*N,Z=r*R+u*O+g*M+T*N,Q=s*R+f*O+m*M+C*N,he=i*_+a*E+d*w+x*I,ye=o*_+c*E+p*w+b*I,re=r*_+u*E+g*w+T*I,_e=s*_+f*E+m*w+C*I,xe=i*L+a*B+d*H+x*V,Ie=o*L+c*B+p*H+b*V,De=r*L+u*B+g*H+T*V,Ne=s*L+f*B+m*H+C*V;return n[0]=G,n[1]=k,n[2]=W,n[3]=Y,n[4]=J,n[5]=j,n[6]=Z,n[7]=Q,n[8]=he,n[9]=ye,n[10]=re,n[11]=_e,n[12]=xe,n[13]=Ie,n[14]=De,n[15]=Ne,n};nt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n[4]=e[4]+t[4],n[5]=e[5]+t[5],n[6]=e[6]+t[6],n[7]=e[7]+t[7],n[8]=e[8]+t[8],n[9]=e[9]+t[9],n[10]=e[10]+t[10],n[11]=e[11]+t[11],n[12]=e[12]+t[12],n[13]=e[13]+t[13],n[14]=e[14]+t[14],n[15]=e[15]+t[15],n};nt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n[4]=e[4]-t[4],n[5]=e[5]-t[5],n[6]=e[6]-t[6],n[7]=e[7]-t[7],n[8]=e[8]-t[8],n[9]=e[9]-t[9],n[10]=e[10]-t[10],n[11]=e[11]-t[11],n[12]=e[12]-t[12],n[13]=e[13]-t[13],n[14]=e[14]-t[14],n[15]=e[15]-t[15],n};nt.multiplyTransformation=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=e[12],g=e[13],m=e[14],x=t[0],b=t[1],T=t[2],C=t[4],A=t[5],S=t[6],v=t[8],D=t[9],R=t[10],O=t[12],M=t[13],N=t[14],_=i*x+s*b+u*T,E=o*x+a*b+f*T,w=r*x+c*b+d*T,I=i*C+s*A+u*S,L=o*C+a*A+f*S,B=r*C+c*A+d*S,H=i*v+s*D+u*R,V=o*v+a*D+f*R,G=r*v+c*D+d*R,k=i*O+s*M+u*N+p,W=o*O+a*M+f*N+g,Y=r*O+c*M+d*N+m;return n[0]=_,n[1]=E,n[2]=w,n[3]=0,n[4]=I,n[5]=L,n[6]=B,n[7]=0,n[8]=H,n[9]=V,n[10]=G,n[11]=0,n[12]=k,n[13]=W,n[14]=Y,n[15]=1,n};nt.multiplyByMatrix3=function(e,t,n){let i=e[0],o=e[1],r=e[2],s=e[4],a=e[5],c=e[6],u=e[8],f=e[9],d=e[10],p=t[0],g=t[1],m=t[2],x=t[3],b=t[4],T=t[5],C=t[6],A=t[7],S=t[8],v=i*p+s*g+u*m,D=o*p+a*g+f*m,R=r*p+c*g+d*m,O=i*x+s*b+u*T,M=o*x+a*b+f*T,N=r*x+c*b+d*T,_=i*C+s*A+u*S,E=o*C+a*A+f*S,w=r*C+c*A+d*S;return n[0]=v,n[1]=D,n[2]=R,n[3]=0,n[4]=O,n[5]=M,n[6]=N,n[7]=0,n[8]=_,n[9]=E,n[10]=w,n[11]=0,n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};nt.multiplyByTranslation=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=i*e[0]+o*e[4]+r*e[8]+e[12],a=i*e[1]+o*e[5]+r*e[9]+e[13],c=i*e[2]+o*e[6]+r*e[10]+e[14];return n[0]=e[0],n[1]=e[1],n[2]=e[2],n[3]=e[3],n[4]=e[4],n[5]=e[5],n[6]=e[6],n[7]=e[7],n[8]=e[8],n[9]=e[9],n[10]=e[10],n[11]=e[11],n[12]=s,n[13]=a,n[14]=c,n[15]=e[15],n};nt.multiplyByScale=function(e,t,n){let i=t.x,o=t.y,r=t.z;return i===1&&o===1&&r===1?nt.clone(e,n):(n[0]=i*e[0],n[1]=i*e[1],n[2]=i*e[2],n[3]=e[3],n[4]=o*e[4],n[5]=o*e[5],n[6]=o*e[6],n[7]=e[7],n[8]=r*e[8],n[9]=r*e[9],n[10]=r*e[10],n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n)};nt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3],n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7],n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11],n[12]=e[12],n[13]=e[13],n[14]=e[14],n[15]=e[15],n};nt.multiplyByVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=t.w,a=e[0]*i+e[4]*o+e[8]*r+e[12]*s,c=e[1]*i+e[5]*o+e[9]*r+e[13]*s,u=e[2]*i+e[6]*o+e[10]*r+e[14]*s,f=e[3]*i+e[7]*o+e[11]*r+e[15]*s;return n.x=a,n.y=c,n.z=u,n.w=f,n};nt.multiplyByPointAsVector=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r,a=e[1]*i+e[5]*o+e[9]*r,c=e[2]*i+e[6]*o+e[10]*r;return n.x=s,n.y=a,n.z=c,n};nt.multiplyByPoint=function(e,t,n){let i=t.x,o=t.y,r=t.z,s=e[0]*i+e[4]*o+e[8]*r+e[12],a=e[1]*i+e[5]*o+e[9]*r+e[13],c=e[2]*i+e[6]*o+e[10]*r+e[14];return n.x=s,n.y=a,n.z=c,n};nt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n[4]=e[4]*t,n[5]=e[5]*t,n[6]=e[6]*t,n[7]=e[7]*t,n[8]=e[8]*t,n[9]=e[9]*t,n[10]=e[10]*t,n[11]=e[11]*t,n[12]=e[12]*t,n[13]=e[13]*t,n[14]=e[14]*t,n[15]=e[15]*t,n};nt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t[4]=-e[4],t[5]=-e[5],t[6]=-e[6],t[7]=-e[7],t[8]=-e[8],t[9]=-e[9],t[10]=-e[10],t[11]=-e[11],t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=-e[15],t};nt.transpose=function(e,t){let n=e[1],i=e[2],o=e[3],r=e[6],s=e[7],a=e[11];return t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=n,t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=i,t[9]=r,t[10]=e[10],t[11]=e[14],t[12]=o,t[13]=s,t[14]=a,t[15]=e[15],t};nt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t[4]=Math.abs(e[4]),t[5]=Math.abs(e[5]),t[6]=Math.abs(e[6]),t[7]=Math.abs(e[7]),t[8]=Math.abs(e[8]),t[9]=Math.abs(e[9]),t[10]=Math.abs(e[10]),t[11]=Math.abs(e[11]),t[12]=Math.abs(e[12]),t[13]=Math.abs(e[13]),t[14]=Math.abs(e[14]),t[15]=Math.abs(e[15]),t};nt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[12]===t[12]&&e[13]===t[13]&&e[14]===t[14]&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[4]===t[4]&&e[5]===t[5]&&e[6]===t[6]&&e[8]===t[8]&&e[9]===t[9]&&e[10]===t[10]&&e[3]===t[3]&&e[7]===t[7]&&e[11]===t[11]&&e[15]===t[15]};nt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n&&Math.abs(e[4]-t[4])<=n&&Math.abs(e[5]-t[5])<=n&&Math.abs(e[6]-t[6])<=n&&Math.abs(e[7]-t[7])<=n&&Math.abs(e[8]-t[8])<=n&&Math.abs(e[9]-t[9])<=n&&Math.abs(e[10]-t[10])<=n&&Math.abs(e[11]-t[11])<=n&&Math.abs(e[12]-t[12])<=n&&Math.abs(e[13]-t[13])<=n&&Math.abs(e[14]-t[14])<=n&&Math.abs(e[15]-t[15])<=n};nt.getTranslation=function(e,t){return t.x=e[12],t.y=e[13],t.z=e[14],t};nt.getMatrix3=function(e,t){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t};var dEe=new $,hEe=new $,mEe=new oe,pEe=new oe(0,0,0,1);nt.inverse=function(e,t){let n=e[0],i=e[4],o=e[8],r=e[12],s=e[1],a=e[5],c=e[9],u=e[13],f=e[2],d=e[6],p=e[10],g=e[14],m=e[3],x=e[7],b=e[11],T=e[15],C=p*T,A=g*b,S=d*T,v=g*x,D=d*b,R=p*x,O=f*T,M=g*m,N=f*b,_=p*m,E=f*x,w=d*m,I=C*a+v*c+D*u-(A*a+S*c+R*u),L=A*s+O*c+_*u-(C*s+M*c+N*u),B=S*s+M*a+E*u-(v*s+O*a+w*u),H=R*s+N*a+w*c-(D*s+_*a+E*c),V=A*i+S*o+R*r-(C*i+v*o+D*r),G=C*n+M*o+N*r-(A*n+O*o+_*r),k=v*n+O*i+w*r-(S*n+M*i+E*r),W=D*n+_*i+E*o-(R*n+N*i+w*o);C=o*u,A=r*c,S=i*u,v=r*a,D=i*c,R=o*a,O=n*u,M=r*s,N=n*c,_=o*s,E=n*a,w=i*s;let Y=C*x+v*b+D*T-(A*x+S*b+R*T),J=A*m+O*b+_*T-(C*m+M*b+N*T),j=S*m+M*x+E*T-(v*m+O*x+w*T),Z=R*m+N*x+w*b-(D*m+_*x+E*b),Q=S*p+R*g+A*d-(D*g+C*d+v*p),he=N*g+C*f+M*p-(O*p+_*g+A*f),ye=O*d+w*g+v*f-(E*g+S*f+M*d),re=E*p+D*f+_*d-(N*d+w*p+R*f),_e=n*I+i*L+o*B+r*H;if(Math.abs(_e)<P.EPSILON21){if($.equalsEpsilon(nt.getMatrix3(e,dEe),hEe,P.EPSILON7)&&oe.equals(nt.getRow(e,3,mEe),pEe))return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=0,t[11]=0,t[12]=-e[12],t[13]=-e[13],t[14]=-e[14],t[15]=1,t;throw new se("matrix is not invertible because its determinate is zero.")}return _e=1/_e,t[0]=I*_e,t[1]=L*_e,t[2]=B*_e,t[3]=H*_e,t[4]=V*_e,t[5]=G*_e,t[6]=k*_e,t[7]=W*_e,t[8]=Y*_e,t[9]=J*_e,t[10]=j*_e,t[11]=Z*_e,t[12]=Q*_e,t[13]=he*_e,t[14]=ye*_e,t[15]=re*_e,t};nt.inverseTransformation=function(e,t){let n=e[0],i=e[1],o=e[2],r=e[4],s=e[5],a=e[6],c=e[8],u=e[9],f=e[10],d=e[12],p=e[13],g=e[14],m=-n*d-i*p-o*g,x=-r*d-s*p-a*g,b=-c*d-u*p-f*g;return t[0]=n,t[1]=r,t[2]=c,t[3]=0,t[4]=i,t[5]=s,t[6]=u,t[7]=0,t[8]=o,t[9]=a,t[10]=f,t[11]=0,t[12]=m,t[13]=x,t[14]=b,t[15]=1,t};var _Ee=new nt;nt.inverseTranspose=function(e,t){return nt.inverse(nt.transpose(e,_Ee),t)};nt.IDENTITY=Object.freeze(new nt(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1));nt.ZERO=Object.freeze(new nt(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0));nt.COLUMN0ROW0=0;nt.COLUMN0ROW1=1;nt.COLUMN0ROW2=2;nt.COLUMN0ROW3=3;nt.COLUMN1ROW0=4;nt.COLUMN1ROW1=5;nt.COLUMN1ROW2=6;nt.COLUMN1ROW3=7;nt.COLUMN2ROW0=8;nt.COLUMN2ROW1=9;nt.COLUMN2ROW2=10;nt.COLUMN2ROW3=11;nt.COLUMN3ROW0=12;nt.COLUMN3ROW1=13;nt.COLUMN3ROW2=14;nt.COLUMN3ROW3=15;Object.defineProperties(nt.prototype,{length:{get:function(){return nt.packedLength}}});nt.prototype.clone=function(e){return nt.clone(this,e)};nt.prototype.equals=function(e){return nt.equals(this,e)};nt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]&&e[4]===t[n+4]&&e[5]===t[n+5]&&e[6]===t[n+6]&&e[7]===t[n+7]&&e[8]===t[n+8]&&e[9]===t[n+9]&&e[10]===t[n+10]&&e[11]===t[n+11]&&e[12]===t[n+12]&&e[13]===t[n+13]&&e[14]===t[n+14]&&e[15]===t[n+15]};nt.prototype.equalsEpsilon=function(e,t){return nt.equalsEpsilon(this,e,t)};nt.prototype.toString=function(){return`(${this[0]}, ${this[4]}, ${this[8]}, ${this[12]}) (${this[1]}, ${this[5]}, ${this[9]}, ${this[13]}) (${this[2]}, ${this[6]}, ${this[10]}, ${this[14]}) -(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var F=tt;var nEe={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},te=Object.freeze(nEe);var iEe=new h;function It(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var $s={};$s[te.FLOAT]="float";$s[te.FLOAT_VEC2]="vec2";$s[te.FLOAT_VEC3]="vec3";$s[te.FLOAT_VEC4]="vec4";$s[te.INT]="int";$s[te.INT_VEC2]="ivec2";$s[te.INT_VEC3]="ivec3";$s[te.INT_VEC4]="ivec4";$s[te.BOOL]="bool";$s[te.BOOL_VEC2]="bvec2";$s[te.BOOL_VEC3]="bvec3";$s[te.BOOL_VEC4]="bvec4";$s[te.FLOAT_MAT2]="mat2";$s[te.FLOAT_MAT3]="mat3";$s[te.FLOAT_MAT4]="mat4";$s[te.SAMPLER_2D]="sampler2D";$s[te.SAMPLER_CUBE]="samplerCube";It.prototype.getDeclaration=function(e){let t=`uniform ${$s[this._datatype]} ${e}`,n=this._size;return n===1?t+=";":t+=`[${n.toString()}];`,t};var oEe={czm_viewport:new It({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new It({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new It({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_eyeEllipsoidNormalEC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.eyeEllipsoidNormalEC}}),czm_eyeEllipsoidCurvature:new It({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeEllipsoidCurvature}}),czm_modelToEnu:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelToEnu}}),czm_enuToModel:new It({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.enuToModel}}),czm_entireFrustum:new It({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new It({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new It({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return F.getTranslation(e.inverseView,iEe)}}),czm_frameNumber:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new It({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new It({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new It({size:1,datatype:te.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new It({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapsMaximumLOD:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new It({size:9,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new It({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogDensity}}),czm_fogMinimumBrightness:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogMinimumBrightness}}),czm_atmosphereHsbShift:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereHsbShift}}),czm_atmosphereLightIntensity:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereLightIntensity}}),czm_atmosphereRayleighCoefficient:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereRayleighCoefficient}}),czm_atmosphereRayleighScaleHeight:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereRayleighScaleHeight}}),czm_atmosphereMieCoefficient:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereMieCoefficient}}),czm_atmosphereMieScaleHeight:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieScaleHeight}}),czm_atmosphereMieAnisotropy:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieAnisotropy}}),czm_atmosphereDynamicLighting:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereDynamicLighting}}),czm_splitPosition:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new It({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new It({size:1,datatype:te.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new It({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})},P_=oEe;function rEe(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var Gn=rEe;function sEe(){return!0}function aEe(e,t){t=y(t,"This object was destroyed, i.e., destroy() was called.");function n(){}for(let i in e)typeof e[i]=="function"&&(e[i]=n);e.isDestroyed=sEe}var ue=aEe;var Ps={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT};Ps.getSizeInBytes=function(e){switch(e){case Ps.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Ps.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Ps.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};Ps.fromSizeInBytes=function(e){switch(e){case 2:return Ps.UNSIGNED_SHORT;case 4:return Ps.UNSIGNED_INT;case 1:return Ps.UNSIGNED_BYTE}};Ps.validate=function(e){return l(e)&&(e===Ps.UNSIGNED_BYTE||e===Ps.UNSIGNED_SHORT||e===Ps.UNSIGNED_INT)};Ps.createTypedArray=function(e,t){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};Ps.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};Ps.fromTypedArray=function(e){if(e instanceof Uint8Array)return Ps.UNSIGNED_BYTE;if(e instanceof Uint16Array)return Ps.UNSIGNED_SHORT;if(e instanceof Uint32Array)return Ps.UNSIGNED_INT};var Be=Object.freeze(Ps);var n1={STREAM_DRAW:te.STREAM_DRAW,STATIC_DRAW:te.STATIC_DRAW,DYNAMIC_DRAW:te.DYNAMIC_DRAW,validate:function(e){return e===n1.STREAM_DRAW||e===n1.STATIC_DRAW||e===n1.DYNAMIC_DRAW}},Ve=Object.freeze(n1);function Vu(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=l(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=Gn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}Vu.createVertexBuffer=function(e){return new Vu({context:e.context,bufferTarget:te.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};Vu.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=Be.getSizeInBytes(n),o=new Vu({context:t,bufferTarget:te.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(Vu.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});Vu.prototype._getBuffer=function(){return this._buffer};Vu.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};Vu.prototype.copyFromBuffer=function(e,t,n,i){let o=te.COPY_READ_BUFFER,r=te.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};Vu.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=te.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};Vu.prototype.isDestroyed=function(){return!1};Vu.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),ue(this)};var yt=Vu;var R_,Sr={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},nl={};Object.defineProperties(nl,{element:{get:function(){if(nl.supportsFullscreen())return document[Sr.fullscreenElement]}},changeEventName:{get:function(){if(nl.supportsFullscreen())return Sr.fullscreenchange}},errorEventName:{get:function(){if(nl.supportsFullscreen())return Sr.fullscreenerror}},enabled:{get:function(){if(nl.supportsFullscreen())return document[Sr.fullscreenEnabled]}},fullscreen:{get:function(){if(nl.supportsFullscreen())return nl.element!==null}}});nl.supportsFullscreen=function(){if(l(R_))return R_;R_=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return Sr.requestFullscreen="requestFullscreen",Sr.exitFullscreen="exitFullscreen",Sr.fullscreenEnabled="fullscreenEnabled",Sr.fullscreenElement="fullscreenElement",Sr.fullscreenchange="fullscreenchange",Sr.fullscreenerror="fullscreenerror",R_=!0,R_;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i<o;++i){let r=t[i];n=`${r}RequestFullscreen`,typeof e[n]=="function"?(Sr.requestFullscreen=n,R_=!0):(n=`${r}RequestFullScreen`,typeof e[n]=="function"&&(Sr.requestFullscreen=n,R_=!0)),n=`${r}ExitFullscreen`,typeof document[n]=="function"?Sr.exitFullscreen=n:(n=`${r}CancelFullScreen`,typeof document[n]=="function"&&(Sr.exitFullscreen=n)),n=`${r}FullscreenEnabled`,document[n]!==void 0?Sr.fullscreenEnabled=n:(n=`${r}FullScreenEnabled`,document[n]!==void 0&&(Sr.fullscreenEnabled=n)),n=`${r}FullscreenElement`,document[n]!==void 0?Sr.fullscreenElement=n:(n=`${r}FullScreenElement`,document[n]!==void 0&&(Sr.fullscreenElement=n)),n=`${r}fullscreenchange`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenChange"),Sr.fullscreenchange=n),n=`${r}fullscreenerror`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenError"),Sr.fullscreenerror=n)}return R_};nl.requestFullscreen=function(e,t){nl.supportsFullscreen()&&e[Sr.requestFullscreen]({vrDisplay:t})};nl.exitFullscreen=function(){nl.supportsFullscreen()&&document[Sr.exitFullscreen]()};nl._names=Sr;var wr=nl;var Ua;typeof navigator<"u"?Ua=navigator:Ua={};function b0(e){let t=e.split(".");for(let n=0,i=t.length;n<i;++n)t[n]=parseInt(t[n],10);return t}var i1,oZ;function QG(){if(!l(i1)&&(i1=!1,!l1())){let e=/ Chrome\/([\.0-9]+)/.exec(Ua.userAgent);e!==null&&(i1=!0,oZ=b0(e[1]))}return i1}function cEe(){return QG()&&oZ}var o1,rZ;function sZ(){if(!l(o1)&&(o1=!1,!QG()&&!l1()&&/ Safari\/[\.0-9]+/.test(Ua.userAgent))){let e=/ Version\/([\.0-9]+)/.exec(Ua.userAgent);e!==null&&(o1=!0,rZ=b0(e[1]))}return o1}function lEe(){return sZ()&&rZ}var r1,$G;function aZ(){if(!l(r1)){r1=!1;let e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(Ua.userAgent);e!==null&&(r1=!0,$G=b0(e[1]),$G.isNightly=!!e[2])}return r1}function uEe(){return aZ()&&$G}var US,ZG;function cZ(){if(!l(US)){US=!1;let e;Ua.appName==="Microsoft Internet Explorer"?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Ua.userAgent),e!==null&&(US=!0,ZG=b0(e[1]))):Ua.appName==="Netscape"&&(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Ua.userAgent),e!==null&&(US=!0,ZG=b0(e[1])))}return US}function fEe(){return cZ()&&ZG}var s1,lZ;function l1(){if(!l(s1)){s1=!1;let e=/ Edg\/([\.0-9]+)/.exec(Ua.userAgent);e!==null&&(s1=!0,lZ=b0(e[1]))}return s1}function dEe(){return l1()&&lZ}var a1,JG;function u1(){if(!l(a1)){a1=!1;let e=/Firefox\/([\.0-9]+)/.exec(Ua.userAgent);e!==null&&(a1=!0,JG=b0(e[1]))}return a1}var YG;function hEe(){return l(YG)||(YG=/Windows/i.test(Ua.appVersion)),YG}var XG;function mEe(){return l(XG)||(XG=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),XG}function pEe(){return u1()&&JG}var KG;function _Ee(){return l(KG)||(KG=!u1()&&typeof PointerEvent<"u"&&(!l(Ua.pointerEnabled)||Ua.pointerEnabled)),KG}var uZ,c1;function fZ(){if(!l(c1)){let e=document.createElement("canvas");e.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");let t=e.style.imageRendering;c1=l(t)&&t!=="",c1&&(uZ=t)}return c1}function gEe(){return fZ()?uZ:void 0}function xc(){return xc._result}xc._promise=void 0;xc._result=void 0;xc.initialize=function(){return l(xc._promise)||(xc._promise=new Promise(e=>{let t=new Image;t.onload=function(){xc._result=t.width>0&&t.height>0,e(xc._result)},t.onerror=function(){xc._result=!1,e(xc._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),xc._promise};Object.defineProperties(xc,{initialized:{get:function(){return l(xc._result)}}});var oT=[];typeof ArrayBuffer<"u"&&(oT.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&oT.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&oT.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&oT.push(BigInt64Array),typeof BigUint64Array<"u"&&oT.push(BigUint64Array));var Uu={isChrome:QG,chromeVersion:cEe,isSafari:sZ,safariVersion:lEe,isWebkit:aZ,webkitVersion:uEe,isInternetExplorer:cZ,internetExplorerVersion:fEe,isEdge:l1,edgeVersion:dEe,isFirefox:u1,firefoxVersion:pEe,isWindows:hEe,isIPadOrIOS:mEe,hardwareConcurrency:y(Ua.hardwareConcurrency,3),supportsPointerEvents:_Ee,supportsImageRenderingPixelated:fZ,supportsWebP:xc,imageRenderingValue:gEe,typedArrayTypes:oT};Uu.supportsBasis=function(e){return Uu.supportsWebAssembly()&&e.context.supportsBasis};Uu.supportsFullscreen=function(){return wr.supportsFullscreen()};Uu.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};Uu.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};Uu.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};Uu.supportsBigInt=function(){return typeof BigInt<"u"};Uu.supportsWebWorkers=function(){return typeof Worker<"u"};Uu.supportsWebAssembly=function(){return typeof WebAssembly<"u"};Uu.supportsWebgl2=function(e){return e.context.webgl2};Uu.supportsEsmWebWorkers=function(){return!u1()||parseInt(JG)>=114};var Wt=Uu;function e5(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function ie(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}ie.fromCartesian4=function(e,t){return l(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new ie(e.x,e.y,e.z,e.w)};ie.fromBytes=function(e,t,n,i,o){return e=ie.byteToFloat(y(e,255)),t=ie.byteToFloat(y(t,255)),n=ie.byteToFloat(y(n,255)),i=ie.byteToFloat(y(i,255)),l(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new ie(e,t,n,i)};ie.fromAlpha=function(e,t,n){return l(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new ie(e.red,e.green,e.blue,t)};var t5,n5,Zm;Wt.supportsTypedArrays()&&(t5=new ArrayBuffer(4),n5=new Uint32Array(t5),Zm=new Uint8Array(t5));ie.fromRgba=function(e,t){return n5[0]=e,ie.fromBytes(Zm[0],Zm[1],Zm[2],Zm[3],t)};ie.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let u=2*n-c;r=e5(u,c,e+1/3),s=e5(u,c,e),a=e5(u,c,e-1/3)}return l(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new ie(r,s,a,i)};ie.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!l(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+P.nextRandomNumber()*(a-s)}let i=e.green;if(!l(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+P.nextRandomNumber()*(a-s)}let o=e.blue;if(!l(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+P.nextRandomNumber()*(a-s)}let r=e.alpha;if(!l(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+P.nextRandomNumber()*(a-s)}return l(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new ie(n,i,o,r)};var yEe=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,xEe=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,bEe=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,TEe=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;ie.fromCssColorString=function(e,t){l(t)||(t=new ie),e=e.trim();let n=ie[e.toUpperCase()];if(l(n))return ie.clone(n,t),t;let i=yEe.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=xEe.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=bEe.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=TEe.exec(e),i!==null?ie.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};ie.packedLength=4;ie.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};ie.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ie),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};ie.byteToFloat=function(e){return e/255};ie.floatToByte=function(e){return e===1?255:e*256|0};ie.clone=function(e,t){if(l(e))return l(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new ie(e.red,e.green,e.blue,e.alpha)};ie.equals=function(e,t){return e===t||l(e)&&l(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};ie.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};ie.prototype.clone=function(e){return ie.clone(this,e)};ie.prototype.equals=function(e){return ie.equals(this,e)};ie.prototype.equalsEpsilon=function(e,t){return this===e||l(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t};ie.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};ie.prototype.toCssColorString=function(){let e=ie.floatToByte(this.red),t=ie.floatToByte(this.green),n=ie.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};ie.prototype.toCssHexString=function(){let e=ie.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=ie.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=ie.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=ie.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};ie.prototype.toBytes=function(e){let t=ie.floatToByte(this.red),n=ie.floatToByte(this.green),i=ie.floatToByte(this.blue),o=ie.floatToByte(this.alpha);return l(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};ie.prototype.toRgba=function(){return Zm[0]=ie.floatToByte(this.red),Zm[1]=ie.floatToByte(this.green),Zm[2]=ie.floatToByte(this.blue),Zm[3]=ie.floatToByte(this.alpha),n5[0]};ie.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};ie.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};ie.prototype.withAlpha=function(e,t){return ie.fromAlpha(this,e,t)};ie.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};ie.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};ie.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};ie.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};ie.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};ie.lerp=function(e,t,n,i){return i.red=P.lerp(e.red,t.red,n),i.green=P.lerp(e.green,t.green,n),i.blue=P.lerp(e.blue,t.blue,n),i.alpha=P.lerp(e.alpha,t.alpha,n),i};ie.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};ie.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};ie.ALICEBLUE=Object.freeze(ie.fromCssColorString("#F0F8FF"));ie.ANTIQUEWHITE=Object.freeze(ie.fromCssColorString("#FAEBD7"));ie.AQUA=Object.freeze(ie.fromCssColorString("#00FFFF"));ie.AQUAMARINE=Object.freeze(ie.fromCssColorString("#7FFFD4"));ie.AZURE=Object.freeze(ie.fromCssColorString("#F0FFFF"));ie.BEIGE=Object.freeze(ie.fromCssColorString("#F5F5DC"));ie.BISQUE=Object.freeze(ie.fromCssColorString("#FFE4C4"));ie.BLACK=Object.freeze(ie.fromCssColorString("#000000"));ie.BLANCHEDALMOND=Object.freeze(ie.fromCssColorString("#FFEBCD"));ie.BLUE=Object.freeze(ie.fromCssColorString("#0000FF"));ie.BLUEVIOLET=Object.freeze(ie.fromCssColorString("#8A2BE2"));ie.BROWN=Object.freeze(ie.fromCssColorString("#A52A2A"));ie.BURLYWOOD=Object.freeze(ie.fromCssColorString("#DEB887"));ie.CADETBLUE=Object.freeze(ie.fromCssColorString("#5F9EA0"));ie.CHARTREUSE=Object.freeze(ie.fromCssColorString("#7FFF00"));ie.CHOCOLATE=Object.freeze(ie.fromCssColorString("#D2691E"));ie.CORAL=Object.freeze(ie.fromCssColorString("#FF7F50"));ie.CORNFLOWERBLUE=Object.freeze(ie.fromCssColorString("#6495ED"));ie.CORNSILK=Object.freeze(ie.fromCssColorString("#FFF8DC"));ie.CRIMSON=Object.freeze(ie.fromCssColorString("#DC143C"));ie.CYAN=Object.freeze(ie.fromCssColorString("#00FFFF"));ie.DARKBLUE=Object.freeze(ie.fromCssColorString("#00008B"));ie.DARKCYAN=Object.freeze(ie.fromCssColorString("#008B8B"));ie.DARKGOLDENROD=Object.freeze(ie.fromCssColorString("#B8860B"));ie.DARKGRAY=Object.freeze(ie.fromCssColorString("#A9A9A9"));ie.DARKGREEN=Object.freeze(ie.fromCssColorString("#006400"));ie.DARKGREY=ie.DARKGRAY;ie.DARKKHAKI=Object.freeze(ie.fromCssColorString("#BDB76B"));ie.DARKMAGENTA=Object.freeze(ie.fromCssColorString("#8B008B"));ie.DARKOLIVEGREEN=Object.freeze(ie.fromCssColorString("#556B2F"));ie.DARKORANGE=Object.freeze(ie.fromCssColorString("#FF8C00"));ie.DARKORCHID=Object.freeze(ie.fromCssColorString("#9932CC"));ie.DARKRED=Object.freeze(ie.fromCssColorString("#8B0000"));ie.DARKSALMON=Object.freeze(ie.fromCssColorString("#E9967A"));ie.DARKSEAGREEN=Object.freeze(ie.fromCssColorString("#8FBC8F"));ie.DARKSLATEBLUE=Object.freeze(ie.fromCssColorString("#483D8B"));ie.DARKSLATEGRAY=Object.freeze(ie.fromCssColorString("#2F4F4F"));ie.DARKSLATEGREY=ie.DARKSLATEGRAY;ie.DARKTURQUOISE=Object.freeze(ie.fromCssColorString("#00CED1"));ie.DARKVIOLET=Object.freeze(ie.fromCssColorString("#9400D3"));ie.DEEPPINK=Object.freeze(ie.fromCssColorString("#FF1493"));ie.DEEPSKYBLUE=Object.freeze(ie.fromCssColorString("#00BFFF"));ie.DIMGRAY=Object.freeze(ie.fromCssColorString("#696969"));ie.DIMGREY=ie.DIMGRAY;ie.DODGERBLUE=Object.freeze(ie.fromCssColorString("#1E90FF"));ie.FIREBRICK=Object.freeze(ie.fromCssColorString("#B22222"));ie.FLORALWHITE=Object.freeze(ie.fromCssColorString("#FFFAF0"));ie.FORESTGREEN=Object.freeze(ie.fromCssColorString("#228B22"));ie.FUCHSIA=Object.freeze(ie.fromCssColorString("#FF00FF"));ie.GAINSBORO=Object.freeze(ie.fromCssColorString("#DCDCDC"));ie.GHOSTWHITE=Object.freeze(ie.fromCssColorString("#F8F8FF"));ie.GOLD=Object.freeze(ie.fromCssColorString("#FFD700"));ie.GOLDENROD=Object.freeze(ie.fromCssColorString("#DAA520"));ie.GRAY=Object.freeze(ie.fromCssColorString("#808080"));ie.GREEN=Object.freeze(ie.fromCssColorString("#008000"));ie.GREENYELLOW=Object.freeze(ie.fromCssColorString("#ADFF2F"));ie.GREY=ie.GRAY;ie.HONEYDEW=Object.freeze(ie.fromCssColorString("#F0FFF0"));ie.HOTPINK=Object.freeze(ie.fromCssColorString("#FF69B4"));ie.INDIANRED=Object.freeze(ie.fromCssColorString("#CD5C5C"));ie.INDIGO=Object.freeze(ie.fromCssColorString("#4B0082"));ie.IVORY=Object.freeze(ie.fromCssColorString("#FFFFF0"));ie.KHAKI=Object.freeze(ie.fromCssColorString("#F0E68C"));ie.LAVENDER=Object.freeze(ie.fromCssColorString("#E6E6FA"));ie.LAVENDAR_BLUSH=Object.freeze(ie.fromCssColorString("#FFF0F5"));ie.LAWNGREEN=Object.freeze(ie.fromCssColorString("#7CFC00"));ie.LEMONCHIFFON=Object.freeze(ie.fromCssColorString("#FFFACD"));ie.LIGHTBLUE=Object.freeze(ie.fromCssColorString("#ADD8E6"));ie.LIGHTCORAL=Object.freeze(ie.fromCssColorString("#F08080"));ie.LIGHTCYAN=Object.freeze(ie.fromCssColorString("#E0FFFF"));ie.LIGHTGOLDENRODYELLOW=Object.freeze(ie.fromCssColorString("#FAFAD2"));ie.LIGHTGRAY=Object.freeze(ie.fromCssColorString("#D3D3D3"));ie.LIGHTGREEN=Object.freeze(ie.fromCssColorString("#90EE90"));ie.LIGHTGREY=ie.LIGHTGRAY;ie.LIGHTPINK=Object.freeze(ie.fromCssColorString("#FFB6C1"));ie.LIGHTSEAGREEN=Object.freeze(ie.fromCssColorString("#20B2AA"));ie.LIGHTSKYBLUE=Object.freeze(ie.fromCssColorString("#87CEFA"));ie.LIGHTSLATEGRAY=Object.freeze(ie.fromCssColorString("#778899"));ie.LIGHTSLATEGREY=ie.LIGHTSLATEGRAY;ie.LIGHTSTEELBLUE=Object.freeze(ie.fromCssColorString("#B0C4DE"));ie.LIGHTYELLOW=Object.freeze(ie.fromCssColorString("#FFFFE0"));ie.LIME=Object.freeze(ie.fromCssColorString("#00FF00"));ie.LIMEGREEN=Object.freeze(ie.fromCssColorString("#32CD32"));ie.LINEN=Object.freeze(ie.fromCssColorString("#FAF0E6"));ie.MAGENTA=Object.freeze(ie.fromCssColorString("#FF00FF"));ie.MAROON=Object.freeze(ie.fromCssColorString("#800000"));ie.MEDIUMAQUAMARINE=Object.freeze(ie.fromCssColorString("#66CDAA"));ie.MEDIUMBLUE=Object.freeze(ie.fromCssColorString("#0000CD"));ie.MEDIUMORCHID=Object.freeze(ie.fromCssColorString("#BA55D3"));ie.MEDIUMPURPLE=Object.freeze(ie.fromCssColorString("#9370DB"));ie.MEDIUMSEAGREEN=Object.freeze(ie.fromCssColorString("#3CB371"));ie.MEDIUMSLATEBLUE=Object.freeze(ie.fromCssColorString("#7B68EE"));ie.MEDIUMSPRINGGREEN=Object.freeze(ie.fromCssColorString("#00FA9A"));ie.MEDIUMTURQUOISE=Object.freeze(ie.fromCssColorString("#48D1CC"));ie.MEDIUMVIOLETRED=Object.freeze(ie.fromCssColorString("#C71585"));ie.MIDNIGHTBLUE=Object.freeze(ie.fromCssColorString("#191970"));ie.MINTCREAM=Object.freeze(ie.fromCssColorString("#F5FFFA"));ie.MISTYROSE=Object.freeze(ie.fromCssColorString("#FFE4E1"));ie.MOCCASIN=Object.freeze(ie.fromCssColorString("#FFE4B5"));ie.NAVAJOWHITE=Object.freeze(ie.fromCssColorString("#FFDEAD"));ie.NAVY=Object.freeze(ie.fromCssColorString("#000080"));ie.OLDLACE=Object.freeze(ie.fromCssColorString("#FDF5E6"));ie.OLIVE=Object.freeze(ie.fromCssColorString("#808000"));ie.OLIVEDRAB=Object.freeze(ie.fromCssColorString("#6B8E23"));ie.ORANGE=Object.freeze(ie.fromCssColorString("#FFA500"));ie.ORANGERED=Object.freeze(ie.fromCssColorString("#FF4500"));ie.ORCHID=Object.freeze(ie.fromCssColorString("#DA70D6"));ie.PALEGOLDENROD=Object.freeze(ie.fromCssColorString("#EEE8AA"));ie.PALEGREEN=Object.freeze(ie.fromCssColorString("#98FB98"));ie.PALETURQUOISE=Object.freeze(ie.fromCssColorString("#AFEEEE"));ie.PALEVIOLETRED=Object.freeze(ie.fromCssColorString("#DB7093"));ie.PAPAYAWHIP=Object.freeze(ie.fromCssColorString("#FFEFD5"));ie.PEACHPUFF=Object.freeze(ie.fromCssColorString("#FFDAB9"));ie.PERU=Object.freeze(ie.fromCssColorString("#CD853F"));ie.PINK=Object.freeze(ie.fromCssColorString("#FFC0CB"));ie.PLUM=Object.freeze(ie.fromCssColorString("#DDA0DD"));ie.POWDERBLUE=Object.freeze(ie.fromCssColorString("#B0E0E6"));ie.PURPLE=Object.freeze(ie.fromCssColorString("#800080"));ie.RED=Object.freeze(ie.fromCssColorString("#FF0000"));ie.ROSYBROWN=Object.freeze(ie.fromCssColorString("#BC8F8F"));ie.ROYALBLUE=Object.freeze(ie.fromCssColorString("#4169E1"));ie.SADDLEBROWN=Object.freeze(ie.fromCssColorString("#8B4513"));ie.SALMON=Object.freeze(ie.fromCssColorString("#FA8072"));ie.SANDYBROWN=Object.freeze(ie.fromCssColorString("#F4A460"));ie.SEAGREEN=Object.freeze(ie.fromCssColorString("#2E8B57"));ie.SEASHELL=Object.freeze(ie.fromCssColorString("#FFF5EE"));ie.SIENNA=Object.freeze(ie.fromCssColorString("#A0522D"));ie.SILVER=Object.freeze(ie.fromCssColorString("#C0C0C0"));ie.SKYBLUE=Object.freeze(ie.fromCssColorString("#87CEEB"));ie.SLATEBLUE=Object.freeze(ie.fromCssColorString("#6A5ACD"));ie.SLATEGRAY=Object.freeze(ie.fromCssColorString("#708090"));ie.SLATEGREY=ie.SLATEGRAY;ie.SNOW=Object.freeze(ie.fromCssColorString("#FFFAFA"));ie.SPRINGGREEN=Object.freeze(ie.fromCssColorString("#00FF7F"));ie.STEELBLUE=Object.freeze(ie.fromCssColorString("#4682B4"));ie.TAN=Object.freeze(ie.fromCssColorString("#D2B48C"));ie.TEAL=Object.freeze(ie.fromCssColorString("#008080"));ie.THISTLE=Object.freeze(ie.fromCssColorString("#D8BFD8"));ie.TOMATO=Object.freeze(ie.fromCssColorString("#FF6347"));ie.TURQUOISE=Object.freeze(ie.fromCssColorString("#40E0D0"));ie.VIOLET=Object.freeze(ie.fromCssColorString("#EE82EE"));ie.WHEAT=Object.freeze(ie.fromCssColorString("#F5DEB3"));ie.WHITE=Object.freeze(ie.fromCssColorString("#FFFFFF"));ie.WHITESMOKE=Object.freeze(ie.fromCssColorString("#F5F5F5"));ie.YELLOW=Object.freeze(ie.fromCssColorString("#FFFF00"));ie.YELLOWGREEN=Object.freeze(ie.fromCssColorString("#9ACD32"));ie.TRANSPARENT=Object.freeze(new ie(0,0,0,0));var H=ie;function f1(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}f1.ALL=Object.freeze(new f1({color:new H(0,0,0,0),depth:1,stencil:0}));f1.prototype.execute=function(e,t){e.clear(this,t)};var ni=f1;var CEe={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},Se=Object.freeze(CEe);function dZ(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=Se.COMPUTE,this.owner=e.owner}dZ.prototype.execute=function(e){e.execute(this)};var mh=dZ;function Ft(e,t){this.x=y(e,0),this.y=y(t,0)}Ft.fromElements=function(e,t,n){return l(n)?(n.x=e,n.y=t,n):new Ft(e,t)};Ft.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t):new Ft(e.x,e.y)};Ft.fromCartesian3=Ft.clone;Ft.fromCartesian4=Ft.clone;Ft.packedLength=2;Ft.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};Ft.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ft),n.x=e[t++],n.y=e[t],n};Ft.packArray=function(e,t){let n=e.length,i=n*2;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Ft.pack(e[o],t,o*2);return t};Ft.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/2:t=new Array(n/2);for(let i=0;i<n;i+=2){let o=i/2;t[o]=Ft.unpack(e,i,t[o])}return t};Ft.fromArray=Ft.unpack;Ft.maximumComponent=function(e){return Math.max(e.x,e.y)};Ft.minimumComponent=function(e){return Math.min(e.x,e.y)};Ft.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n};Ft.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n};Ft.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y);return i.x=o,i.y=r,i};Ft.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y};Ft.magnitude=function(e){return Math.sqrt(Ft.magnitudeSquared(e))};var d1=new Ft;Ft.distance=function(e,t){return Ft.subtract(e,t,d1),Ft.magnitude(d1)};Ft.distanceSquared=function(e,t){return Ft.subtract(e,t,d1),Ft.magnitudeSquared(d1)};Ft.normalize=function(e,t){let n=Ft.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t};Ft.dot=function(e,t){return e.x*t.x+e.y*t.y};Ft.cross=function(e,t){return e.x*t.y-e.y*t.x};Ft.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n};Ft.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n};Ft.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n};Ft.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n};Ft.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n};Ft.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n};Ft.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t};Ft.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};var hZ=new Ft;Ft.lerp=function(e,t,n,i){return Ft.multiplyByScalar(t,n,hZ),i=Ft.multiplyByScalar(e,1-n,i),Ft.add(hZ,i,i)};var mZ=new Ft,pZ=new Ft;Ft.angleBetween=function(e,t){return Ft.normalize(e,mZ),Ft.normalize(t,pZ),P.acosClamped(Ft.dot(mZ,pZ))};var AEe=new Ft;Ft.mostOrthogonalAxis=function(e,t){let n=Ft.normalize(e,AEe);return Ft.abs(n,n),n.x<=n.y?t=Ft.clone(Ft.UNIT_X,t):t=Ft.clone(Ft.UNIT_Y,t),t};Ft.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y};Ft.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]};Ft.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)};Ft.ZERO=Object.freeze(new Ft(0,0));Ft.ONE=Object.freeze(new Ft(1,1));Ft.UNIT_X=Object.freeze(new Ft(1,0));Ft.UNIT_Y=Object.freeze(new Ft(0,1));Ft.prototype.clone=function(e){return Ft.clone(this,e)};Ft.prototype.equals=function(e){return Ft.equals(this,e)};Ft.prototype.equalsEpsilon=function(e,t,n){return Ft.equalsEpsilon(this,e,t,n)};Ft.prototype.toString=function(){return`(${this.x}, ${this.y})`};var U=Ft;var EEe=new h,SEe=new h;function wEe(e,t,n,i,o){let r=e.x,s=e.y,a=e.z,c=t.x,u=t.y,f=t.z,d=r*r*c*c,p=s*s*u*u,g=a*a*f*f,m=d+p+g,x=Math.sqrt(1/m),b=h.multiplyByScalar(e,x,EEe);if(m<i)return isFinite(x)?h.clone(b,o):void 0;let T=n.x,C=n.y,A=n.z,S=SEe;S.x=b.x*T*2,S.y=b.y*C*2,S.z=b.z*A*2;let w=(1-x)*h.magnitude(e)/(.5*h.magnitude(S)),D=0,O,R,M,L,_,E,v,I,N,B,z;do{w-=D,M=1/(1+w*T),L=1/(1+w*C),_=1/(1+w*A),E=M*M,v=L*L,I=_*_,N=E*M,B=v*L,z=I*_,O=d*E+p*v+g*I-1,R=d*N*T+p*B*C+g*z*A;let V=-2*R;D=O/V}while(Math.abs(O)>P.EPSILON12);return l(o)?(o.x=r*M,o.y=s*L,o.z=a*_,o):new h(r*M,s*L,a*_)}var rT=wEe;function Io(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}Io.fromRadians=function(e,t,n,i){return n=y(n,0),l(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new Io(e,t,n)};Io.fromDegrees=function(e,t,n,i){return e=P.toRadians(e),t=P.toRadians(t),Io.fromRadians(e,t,n,i)};var vEe=new h,DEe=new h,IEe=new h;Io._ellipsoidOneOverRadii=new h(1/6378137,1/6378137,1/6356752314245179e-9);Io._ellipsoidOneOverRadiiSquared=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));Io._ellipsoidCenterToleranceSquared=P.EPSILON1;Io.fromCartesian=function(e,t,n){let i=l(t)?t.oneOverRadii:Io._ellipsoidOneOverRadii,o=l(t)?t.oneOverRadiiSquared:Io._ellipsoidOneOverRadiiSquared,r=l(t)?t._centerToleranceSquared:Io._ellipsoidCenterToleranceSquared,s=rT(e,i,o,r,DEe);if(!l(s))return;let a=h.multiplyComponents(s,o,vEe);a=h.normalize(a,a);let c=h.subtract(e,s,IEe),u=Math.atan2(a.y,a.x),f=Math.asin(a.z),d=P.sign(h.dot(c,e))*h.magnitude(c);return l(n)?(n.longitude=u,n.latitude=f,n.height=d,n):new Io(u,f,d)};Io.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};Io.clone=function(e,t){if(l(e))return l(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Io(e.longitude,e.latitude,e.height)};Io.equals=function(e,t){return e===t||l(e)&&l(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};Io.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};Io.ZERO=Object.freeze(new Io(0,0,0));Io.prototype.clone=function(e){return Io.clone(this,e)};Io.prototype.equals=function(e){return Io.equals(this,e)};Io.prototype.equalsEpsilon=function(e,t){return Io.equalsEpsilon(this,e,t)};Io.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var fe=Io;function gZ(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=P.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function ui(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,gZ(this,e,t,n)}Object.defineProperties(ui.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});ui.clone=function(e,t){if(!l(e))return;let n=e._radii;return l(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new ui(n.x,n.y,n.z)};ui.fromCartesian3=function(e,t){return l(t)||(t=new ui),l(e)&&gZ(t,e.x,e.y,e.z),t};ui.WGS84=Object.freeze(new ui(6378137,6378137,6356752314245179e-9));ui.UNIT_SPHERE=Object.freeze(new ui(1,1,1));ui.MOON=Object.freeze(new ui(P.LUNAR_RADIUS,P.LUNAR_RADIUS,P.LUNAR_RADIUS));ui._default=ui.WGS84;Object.defineProperties(ui,{default:{get:function(){return ui._default},set:function(e){ui._default=e,h._ellipsoidRadiiSquared=e.radiiSquared,fe._ellipsoidOneOverRadii=e.oneOverRadii,fe._ellipsoidOneOverRadiiSquared=e.oneOverRadiiSquared,fe._ellipsoidCenterToleranceSquared=e._centerToleranceSquared}}});ui.prototype.clone=function(e){return ui.clone(this,e)};ui.packedLength=h.packedLength;ui.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};ui.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return ui.fromCartesian3(i,n)};ui.prototype.geocentricSurfaceNormal=h.normalize;ui.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return l(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};ui.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,P.EPSILON14))return l(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var PEe=new h,REe=new h;ui.prototype.cartographicToCartesian=function(e,t){let n=PEe,i=REe;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),l(t)||(t=new h),h.add(i,n,t)};ui.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var OEe=new h,MEe=new h,LEe=new h;ui.prototype.cartesianToCartographic=function(e,t){let n=this.scaleToGeodeticSurface(e,MEe);if(!l(n))return;let i=this.geodeticSurfaceNormal(n,OEe),o=h.subtract(e,n,LEe),r=Math.atan2(i.y,i.x),s=Math.asin(i.z),a=P.sign(h.dot(o,e))*h.magnitude(o);return l(t)?(t.longitude=r,t.latitude=s,t.height=a,t):new fe(r,s,a)};ui.prototype.cartesianArrayToCartographicArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};ui.prototype.scaleToGeodeticSurface=function(e,t){return rT(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)};ui.prototype.scaleToGeocentricSurface=function(e,t){l(t)||(t=new h);let n=e.x,i=e.y,o=e.z,r=this._oneOverRadiiSquared,s=1/Math.sqrt(n*n*r.x+i*i*r.y+o*o*r.z);return h.multiplyByScalar(e,s,t)};ui.prototype.transformPositionToScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._oneOverRadii,t)};ui.prototype.transformPositionFromScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._radii,t)};ui.prototype.equals=function(e){return this===e||l(e)&&h.equals(this._radii,e._radii)};ui.prototype.toString=function(){return this._radii.toString()};ui.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){t=y(t,0);let i=this._squaredXOverSquaredZ;if(l(n)||(n=new h),n.x=0,n.y=0,n.z=e.z*(1-i),!(Math.abs(n.z)>=this._radii.z-t))return n};var NEe=new h;ui.prototype.getLocalCurvature=function(e,t){l(t)||(t=new U);let n=this.getSurfaceNormalIntersectionWithZAxis(e,0,NEe),i=h.distance(e,n),o=this.minimumRadius*i/this.maximumRadius**2,r=i*o**2;return U.fromElements(1/i,1/r,t)};var FEe=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],BEe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function _Z(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*FEe[s];r+=BEe[s]*(n(i+a)+n(i-a))}return r*=o,r}ui.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n<t;)n+=P.TWO_PI;let r=this._radiiSquared,s=r.x,a=r.y,c=r.z,u=s*a;return _Z(i,o,function(f){let d=Math.cos(f),p=Math.sin(f);return Math.cos(f)*_Z(t,n,function(g){let m=Math.cos(g),x=Math.sin(g);return Math.sqrt(u*p*p+c*(a*m*m+s*x*x)*d*d)})})};var ee=ui;function h1(e){this._ellipsoid=y(e,ee.default),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(h1.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});h1.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=e.latitude*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};h1.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var vi=h1;var kEe={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},qt=Object.freeze(kEe);function VEe(e,t,n){let i=0,o=e.length-1,r,s;for(;i<=o;){if(r=~~((i+o)/2),s=n(e[r],t),s<0){i=r+1;continue}if(s>0){o=r-1;continue}return r}return~(o+1)}var Po=VEe;function UEe(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var T0=UEe;function zEe(e){return e%4===0&&e%100!==0||e%400===0}var ph=zEe;var yZ=[31,28,31,30,31,30,31,31,30,31,30,31];function HEe(e,t,n,i,o,r,s,a){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,0),o=y(o,0),r=y(r,0),s=y(s,0),a=y(a,!1),this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a;function x(){yo.typeOf.number.greaterThanOrEquals("Year",e,1),yo.typeOf.number.lessThanOrEquals("Year",e,9999),yo.typeOf.number.greaterThanOrEquals("Month",t,1),yo.typeOf.number.lessThanOrEquals("Month",t,12),yo.typeOf.number.greaterThanOrEquals("Day",n,1),yo.typeOf.number.lessThanOrEquals("Day",n,31),yo.typeOf.number.greaterThanOrEquals("Hour",i,0),yo.typeOf.number.lessThanOrEquals("Hour",i,23),yo.typeOf.number.greaterThanOrEquals("Minute",o,0),yo.typeOf.number.lessThanOrEquals("Minute",o,59),yo.typeOf.bool("IsLeapSecond",a),yo.typeOf.number.greaterThanOrEquals("Second",r,0),yo.typeOf.number.lessThanOrEquals("Second",r,a?60:59),yo.typeOf.number.greaterThanOrEquals("Millisecond",s,0),yo.typeOf.number.lessThan("Millisecond",s,1e3)}function b(){let T=t===2&&ph(e)?yZ[t-1]+1:yZ[t-1];if(n>T)throw new de("Month and Day represents invalid date")}}var O_=HEe;function GEe(e,t){this.julianDate=e,this.offset=t}var Wi=GEe;var WEe={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},Yn=Object.freeze(WEe);var jEe={UTC:0,TAI:1},qn=Object.freeze(jEe);var bZ=new O_,i5=[31,28,31,30,31,30,31,31,30,31,30,31],o5=29;function r5(e,t){return Pt.compare(e.julianDate,t.julianDate)}var sT=new Wi;function p1(e){sT.julianDate=e;let t=Pt.leapSeconds,n=Po(t,sT,r5);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Pt.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Pt.addSeconds(e,i,e)}function xZ(e,t){sT.julianDate=e;let n=Pt.leapSeconds,i=Po(n,sT,r5);if(i<0&&(i=~i),i===0)return Pt.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Pt.addSeconds(e,-n[i-1].offset,t);let o=Pt.secondsDifference(n[i].julianDate,e);if(o===0)return Pt.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Pt.addSeconds(e,-n[--i].offset,t)}function M_(e,t,n){let i=t/Yn.SECONDS_PER_DAY|0;return e+=i,t-=Yn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Yn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function s5(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,u=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let f=r+(i*Yn.SECONDS_PER_HOUR+o*Yn.SECONDS_PER_MINUTE+s*Yn.SECONDS_PER_MILLISECOND);return f>=43200&&(u-=1),[u,f]}var qEe=/^(\d{4})$/,YEe=/^(\d{4})-(\d{2})$/,XEe=/^(\d{4})-?(\d{3})$/,KEe=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,$Ee=/^(\d{4})-?(\d{2})-?(\d{2})$/,a5=/([Z+\-])?(\d{2})?:?(\d{2})?$/,ZEe=/^(\d{2})(\.\d+)?/.source+a5.source,QEe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+a5.source,JEe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+a5.source;function Pt(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,qn.UTC);let i=e|0;t=t+(e-i)*Yn.SECONDS_PER_DAY,M_(i,t,this),n===qn.UTC&&p1(this)}Pt.fromGregorianDate=function(e,t){let n=s5(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(M_(n[0],n[1],t),p1(t),t):new Pt(n[0],n[1],qn.UTC)};Pt.fromDate=function(e,t){let n=s5(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(M_(n[0],n[1],t),p1(t),t):new Pt(n[0],n[1],qn.UTC)};Pt.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,u=0,f=n[0],d=n[1],p,g;if(n=f.match($Ee),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=f.match(YEe),n!==null)i=+n[1],o=+n[2];else if(n=f.match(qEe),n!==null)i=+n[1];else{let T;if(n=f.match(XEe),n!==null)i=+n[1],T=+n[2],g=ph(i);else if(n=f.match(KEe),n!==null){i=+n[1];let C=+n[2],A=+n[3]||0,S=new Date(Date.UTC(i,0,4));T=C*7+A-S.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(T),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=ph(i);let m;if(l(d)){n=d.match(JEe),n!==null?(s=+n[1],a=+n[2],c=+n[3],u=+(n[4]||0)*1e3,m=5):(n=d.match(QEe),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,m=4):(n=d.match(ZEe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,m=3)));let T=n[m],C=+n[m+1],A=+(n[m+2]||0);switch(T){case"+":s=s-C,a=a-A;break;case"-":s=s+C,a=a+A;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let x=c===60;for(x&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?o5:i5[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?o5:i5[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?o5:i5[o-1],r+=p;let b=s5(i,o,r,s,a,c,u);return l(t)?(M_(b[0],b[1],t),p1(t)):t=new Pt(b[0],b[1],qn.UTC),x&&Pt.addSeconds(t,1,t),t};Pt.now=function(e){return Pt.fromDate(new Date,e)};var m1=new Pt(0,0,qn.TAI);Pt.toGregorianDate=function(e,t){let n=!1,i=xZ(e,m1);l(i)||(Pt.addSeconds(e,-1,m1),i=xZ(m1,m1),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let u=80*s/2447|0,f=s-(2447*u/80|0)|0;s=u/11|0;let d=u+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Yn.SECONDS_PER_HOUR|0,m=r-g*Yn.SECONDS_PER_HOUR,x=m/Yn.SECONDS_PER_MINUTE|0;m=m-x*Yn.SECONDS_PER_MINUTE;let b=m|0,T=(m-b)/Yn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(b+=1),l(t)?(t.year=p,t.month=d,t.day=f,t.hour=g,t.minute=x,t.second=b,t.millisecond=T,t.isLeapSecond=n,t):new O_(p,d,f,g,x,b,T,n)};Pt.toDate=function(e){let t=Pt.toGregorianDate(e,bZ),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Pt.toIso8601=function(e,t){let n=Pt.toGregorianDate(e,bZ),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,u=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&u===0&&(i=9999,o=12,r=31,s=24);let f;return!l(t)&&u!==0?(f=(u*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(f=(u*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`)};Pt.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Pt(e.dayNumber,e.secondsOfDay,qn.TAI)};Pt.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Pt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Pt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(Pt.secondsDifference(e,t))<=n};Pt.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Yn.SECONDS_PER_DAY};Pt.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Yn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Pt.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Yn.SECONDS_PER_DAY;return n+i};Pt.computeTaiMinusUtc=function(e){sT.julianDate=e;let t=Pt.leapSeconds,n=Po(t,sT,r5);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Pt.addSeconds=function(e,t,n){return M_(e.dayNumber,e.secondsOfDay+t,n)};Pt.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Yn.SECONDS_PER_MINUTE;return M_(e.dayNumber,i,n)};Pt.addHours=function(e,t,n){let i=e.secondsOfDay+t*Yn.SECONDS_PER_HOUR;return M_(e.dayNumber,i,n)};Pt.addDays=function(e,t,n){let i=e.dayNumber+t;return M_(i,e.secondsOfDay,n)};Pt.lessThan=function(e,t){return Pt.compare(e,t)<0};Pt.lessThanOrEquals=function(e,t){return Pt.compare(e,t)<=0};Pt.greaterThan=function(e,t){return Pt.compare(e,t)>0};Pt.greaterThanOrEquals=function(e,t){return Pt.compare(e,t)>=0};Pt.prototype.clone=function(e){return Pt.clone(this,e)};Pt.prototype.equals=function(e){return Pt.equals(this,e)};Pt.prototype.equalsEpsilon=function(e,t){return Pt.equalsEpsilon(this,e,t)};Pt.prototype.toString=function(){return Pt.toIso8601(this)};Pt.leapSeconds=[new Wi(new Pt(2441317,43210,qn.TAI),10),new Wi(new Pt(2441499,43211,qn.TAI),11),new Wi(new Pt(2441683,43212,qn.TAI),12),new Wi(new Pt(2442048,43213,qn.TAI),13),new Wi(new Pt(2442413,43214,qn.TAI),14),new Wi(new Pt(2442778,43215,qn.TAI),15),new Wi(new Pt(2443144,43216,qn.TAI),16),new Wi(new Pt(2443509,43217,qn.TAI),17),new Wi(new Pt(2443874,43218,qn.TAI),18),new Wi(new Pt(2444239,43219,qn.TAI),19),new Wi(new Pt(2444786,43220,qn.TAI),20),new Wi(new Pt(2445151,43221,qn.TAI),21),new Wi(new Pt(2445516,43222,qn.TAI),22),new Wi(new Pt(2446247,43223,qn.TAI),23),new Wi(new Pt(2447161,43224,qn.TAI),24),new Wi(new Pt(2447892,43225,qn.TAI),25),new Wi(new Pt(2448257,43226,qn.TAI),26),new Wi(new Pt(2448804,43227,qn.TAI),27),new Wi(new Pt(2449169,43228,qn.TAI),28),new Wi(new Pt(2449534,43229,qn.TAI),29),new Wi(new Pt(2450083,43230,qn.TAI),30),new Wi(new Pt(2450630,43231,qn.TAI),31),new Wi(new Pt(2451179,43232,qn.TAI),32),new Wi(new Pt(2453736,43233,qn.TAI),33),new Wi(new Pt(2454832,43234,qn.TAI),34),new Wi(new Pt(2456109,43235,qn.TAI),35),new Wi(new Pt(2457204,43236,qn.TAI),36),new Wi(new Pt(2457754,43237,qn.TAI),37)];var K=Pt;var VZ=Er(Vl(),1);function eSe(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var x1=eSe;function vZ(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=vZ(o,t)),n[i]=o}return n}var We=vZ;function DZ(e,t,n){n=y(n,!1);let i={},o=l(e),r=l(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=DZ(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var xt=DZ;function tSe(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var Ul=tSe;var IZ=Er(Vl(),1);function c5(e,t){let n;return typeof document<"u"&&(n=document),c5._implementation(e,t,n)}c5._implementation=function(e,t,n){if(!l(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new IZ.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var Qm=c5;var PZ=Er(Vl(),1);function nSe(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new PZ.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var b1=nSe;var RZ=Er(Vl(),1);function iSe(e){let t=new RZ.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var lT=iSe;var OZ={};function oSe(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=OZ[t];l(i)||(i={},OZ[t]=i);let o=i[n];if(!l(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d",{willReadFrequently:!0}),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var _h=oSe;var rSe=/^blob:/i;function sSe(e){return rSe.test(e)}var uT=sSe;var gh;function aSe(e){l(gh)||(gh=document.createElement("a")),gh.href=window.location.href;let t=gh.host,n=gh.protocol;return gh.href=e,gh.href=gh.href,n!==gh.protocol||t!==gh.host}var C0=aSe;var cSe=/^data:/i;function lSe(e){return cSe.test(e)}var L_=lSe;function uSe(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var fT=uSe;function fSe(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r<s;++r)t+=`${o+encodeURIComponent(i[r])}&`;else t+=`${o+encodeURIComponent(i)}&`}return t=t.slice(0,-1),t}var dT=fSe;function dSe(e){let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let i=0,o=n.length;i<o;++i){let r=n[i].split("="),s=decodeURIComponent(r[0]),a=r[1];l(a)?a=decodeURIComponent(a):a="";let c=t[s];typeof c=="string"?t[s]=[c,a]:Array.isArray(c)?c.push(a):t[s]=a}return t}var zu=dSe;var hSe={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},Qn=Object.freeze(hSe);var mSe={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},ps=Object.freeze(mSe);function T1(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.throttleByServer,!1),n=y(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=y(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=y(e.type,ps.OTHER),this.serverKey=e.serverKey,this.state=Qn.UNISSUED,this.deferred=void 0,this.cancelled=!1}T1.prototype.cancel=function(){this.cancelled=!0};T1.prototype.clone=function(e){return l(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=Qn.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new T1(this)};var or=T1;function pSe(e){let t={};if(!e)return t;let n=e.split(`\r -`);for(let i=0;i<n.length;++i){let o=n[i],r=o.indexOf(": ");if(r>0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var C1=pSe;function MZ(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=C1(this.responseHeaders))}MZ.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var Jm=MZ;var E1=Er(Vl(),1);function zS(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(zS.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});zS.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};zS.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&i[r]===t){o=r;break}return o!==-1?(this._insideRaiseEvent?(this._toRemove.push(o),n[o]=void 0,i[o]=void 0):(n.splice(o,1),i.splice(o,1)),!0):!1};function _Se(e,t){return t-e}zS.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,i=t.length;for(e=0;e<i;e++){let r=t[e];l(r)&&t[e].apply(n[e],arguments)}let o=this._toRemove;if(i=o.length,i>0){for(o.sort(_Se),e=0;e<i;e++){let r=o[e];t.splice(r,1),n.splice(r,1)}o.length=0}this._insideRaiseEvent=!1};var me=zS;function A0(e){this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(A0.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){let t=this._length;if(e<t){let n=this._array;for(let i=e;i<t;++i)n[i]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function l5(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}A0.prototype.reserve=function(e){e=y(e,this._length),this._array.length=e};A0.prototype.heapify=function(e){e=y(e,0);let t=this._length,n=this._comparator,i=this._array,o=-1,r=!0;for(;r;){let s=2*(e+1),a=s-1;a<t&&n(i[a],i[e])<0?o=a:o=e,s<t&&n(i[s],i[o])<0&&(o=s),o!==e?(l5(i,o,e),e=o):r=!1}};A0.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};A0.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(o<t.length?t[o]=e:t.push(e);o!==0;){let s=Math.floor((o-1)/2);if(n(t[o],t[s])<0)l5(t,o,s),o=s;else break}let r;return l(i)&&this._length>i&&(r=t[i],this._length=i),r};A0.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return l5(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var A1=A0;function gSe(e,t){return e.priority-t.priority}var Ki={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},hT=20,za=new A1({comparator:gSe});za.maximumLength=hT;za.reserve(hT);var yh=[],ep={},ySe=typeof document<"u"?new E1.default(document.location.href):new E1.default,S1=new me;function Go(){}Go.maximumRequests=50;Go.maximumRequestsPerServer=18;Go.requestsByServer={};Go.throttleRequests=!0;Go.debugShowStatistics=!1;Go.requestCompletedEvent=S1;Object.defineProperties(Go,{statistics:{get:function(){return Ki}},priorityHeapLength:{get:function(){return hT},set:function(e){if(e<hT)for(;za.length>e;){let t=za.pop();E0(t)}hT=e,za.maximumLength=e,za.reserve(e)}}});function LZ(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}Go.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(Go.requestsByServer[e],Go.maximumRequestsPerServer);return ep[e]+t<=n};Go.heapHasOpenSlots=function(e){return za.length+e<=hT};function NZ(e){return e.state===Qn.UNISSUED&&(e.state=Qn.ISSUED,e.deferred=Ul()),e.deferred.promise}function xSe(e){return function(t){if(e.state===Qn.CANCELLED)return;let n=e.deferred;--Ki.numberOfActiveRequests,--ep[e.serverKey],S1.raiseEvent(),e.state=Qn.RECEIVED,e.deferred=void 0,n.resolve(t)}}function bSe(e){return function(t){e.state!==Qn.CANCELLED&&(++Ki.numberOfFailedRequests,--Ki.numberOfActiveRequests,--ep[e.serverKey],S1.raiseEvent(t),e.state=Qn.FAILED,e.deferred.reject(t))}}function FZ(e){let t=NZ(e);return e.state=Qn.ACTIVE,yh.push(e),++Ki.numberOfActiveRequests,++Ki.numberOfActiveRequestsEver,++ep[e.serverKey],e.requestFunction().then(xSe(e)).catch(bSe(e)),t}function E0(e){let t=e.state===Qn.ACTIVE;if(e.state=Qn.CANCELLED,++Ki.numberOfCancelledRequests,l(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--Ki.numberOfActiveRequests,--ep[e.serverKey],++Ki.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}Go.update=function(){let e,t,n=0,i=yh.length;for(e=0;e<i;++e){if(t=yh[e],t.cancelled&&E0(t),t.state!==Qn.ACTIVE){++n;continue}n>0&&(yh[e-n]=t)}yh.length-=n;let o=za.internalArray,r=za.length;for(e=0;e<r;++e)LZ(o[e]);za.resort();let s=Math.max(Go.maximumRequests-yh.length,0),a=0;for(;a<s&&za.length>0;){if(t=za.pop(),t.cancelled){E0(t);continue}if(t.throttleByServer&&!Go.serverHasOpenSlots(t.serverKey)){E0(t);continue}FZ(t),++a}TSe()};Go.getServerKey=function(e){let t=new E1.default(e);t.scheme()===""&&(t=t.absoluteTo(ySe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=ep[n];return l(i)||(ep[n]=0),n};Go.request=function(e){if(L_(e.url)||uT(e.url))return S1.raiseEvent(),e.state=Qn.RECEIVED,e.requestFunction();if(++Ki.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=Go.getServerKey(e.url)),Go.throttleRequests&&e.throttleByServer&&!Go.serverHasOpenSlots(e.serverKey))return;if(!Go.throttleRequests||!e.throttle)return FZ(e);if(yh.length>=Go.maximumRequests)return;LZ(e);let t=za.insert(e);if(l(t)){if(t===e)return;E0(t)}return NZ(e)};function TSe(){Go.debugShowStatistics&&(Ki.numberOfActiveRequests===0&&Ki.lastNumberOfActiveRequests>0&&(Ki.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${Ki.numberOfAttemptedRequests}`),Ki.numberOfAttemptedRequests=0),Ki.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${Ki.numberOfCancelledRequests}`),Ki.numberOfCancelledRequests=0),Ki.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${Ki.numberOfCancelledActiveRequests}`),Ki.numberOfCancelledActiveRequests=0),Ki.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${Ki.numberOfFailedRequests}`),Ki.numberOfFailedRequests=0)),Ki.lastNumberOfActiveRequests=Ki.numberOfActiveRequests)}Go.clearForSpecs=function(){for(;za.length>0;){let t=za.pop();E0(t)}let e=yh.length;for(let t=0;t<e;++t)E0(yh[t]);yh.length=0,ep={},Ki.numberOfAttemptedRequests=0,Ki.numberOfActiveRequests=0,Ki.numberOfCancelledRequests=0,Ki.numberOfCancelledActiveRequests=0,Ki.numberOfFailedRequests=0,Ki.numberOfActiveRequestsEver=0,Ki.lastNumberOfActiveRequests=0};Go.numberOfActiveRequestsByServer=function(e){return ep[e]};Go.requestHeap=za;var bc=Go;var BZ=Er(Vl(),1);var HS={},mT={};HS.add=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(mT[n])||(mT[n]=!0)};HS.remove=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(mT[n])&&delete mT[n]};function CSe(e){let t=new BZ.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let i=t.scheme();if(i.length===0&&(i=window.location.protocol,i=i.substring(0,i.length-1)),i==="http")n+=":80";else if(i==="https")n+=":443";else return}return n}}HS.contains=function(e){let t=CSe(e);return!!(l(t)&&l(mT[t]))};HS.clear=function(){mT={}};var GS=HS;var UZ=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function Dt(e){e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),this._url=void 0,this._templateValues=xh(e.templateValues,{}),this._queryParameters=xh(e.queryParameters,{}),this.headers=xh(e.headers,{}),this.request=y(e.request,new or),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=y(e.retryAttempts,0),this._retryCount=0,y(e.parseUrl,!0)?this.parseUrl(e.url,!0,!0):this._url=e.url,this._credits=e.credits}function xh(e,t){return l(e)?We(e):t}Dt.createIfNeeded=function(e){return e instanceof Dt?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new Dt({url:e})};var pT;Dt.supportsImageBitmapOptions=function(){return l(pT)?pT:typeof createImageBitmap!="function"?(pT=Promise.resolve(!1),pT):(pT=Dt.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC"}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=_h(t[0]),i=_h(t[1]);return n[1]!==i[1]}).catch(function(){return!1}),pT)};Object.defineProperties(Dt,{isBlobSupported:{get:function(){return UZ}}});Object.defineProperties(Dt.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){this.parseUrl(e,!1,!1)}},extension:{get:function(){return lT(this._url)}},isDataUri:{get:function(){return L_(this._url)}},isBlobUri:{get:function(){return uT(this._url)}},isCrossOriginUrl:{get:function(){return C0(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}},credits:{get:function(){return this._credits}}});Dt.prototype.toString=function(){return this.getUrlComponent(!0,!0)};Dt.prototype.parseUrl=function(e,t,n,i){let o=new VZ.default(e),r=ASe(o.query());this._queryParameters=t?v1(r,this.queryParameters,n):r,o.search(""),o.fragment(""),l(i)&&o.scheme()===""&&(o=o.absoluteTo(Qm(i))),this._url=o.toString()};function ASe(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:zu(e)}function v1(e,t,n){if(!n)return xt(e,t);let i=We(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];l(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}Dt.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${ESe(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let i=this._templateValues;return Object.keys(i).length>0&&(n=n.replace(/{(.*?)}/g,function(o,r){let s=i[r];return l(s)?encodeURIComponent(s):o})),t&&l(this.proxy)&&(n=this.proxy.getURL(n)),n};function ESe(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!l(e[t[0]])?`?${t[0]}`:`?${dT(e)}`}Dt.prototype.setQueryParameters=function(e,t){t?this._queryParameters=v1(this._queryParameters,e,!1):this._queryParameters=v1(e,this._queryParameters,!1)};Dt.prototype.appendQueryParameters=function(e){this._queryParameters=v1(e,this._queryParameters,!0)};Dt.prototype.setTemplateValues=function(e,t){t?this._templateValues=xt(this._templateValues,e):this._templateValues=xt(e,this._templateValues)};Dt.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,l(e.url)){let n=y(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return l(e.queryParameters)&&(t._queryParameters=xt(e.queryParameters,t.queryParameters)),l(e.templateValues)&&(t._templateValues=xt(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=xt(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};Dt.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};Dt.prototype.clone=function(e){return l(e)?(e._url=this._url,e._queryParameters=We(this._queryParameters),e._templateValues=We(this._templateValues),e.headers=We(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new Dt({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:l(this.credits)?this.credits.slice():void 0})};Dt.prototype.getBaseUri=function(e){return b1(this.getUrlComponent(e),e)};Dt.prototype.appendForwardSlash=function(){this._url=x1(this._url)};Dt.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};Dt.fetchArrayBuffer=function(e){return new Dt(e).fetchArrayBuffer()};Dt.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};Dt.fetchBlob=function(e){return new Dt(e).fetchBlob()};Dt.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(f5(this.request),!UZ||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return u5({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!l(r))return;let s,a,c,u;return Dt.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!l(f))return;if(u=f,a)return Dt.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let d=window.URL.createObjectURL(f);return c=new Dt({url:d}),u5({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(l(f))return f.blob=u,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return l(c)&&window.URL.revokeObjectURL(c.url),f.blob=u,Promise.reject(f)})};function u5(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=Ul();return Dt._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=bc.request(r);if(l(s))return s.catch(function(a){return r.state!==Qn.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=Qn.UNISSUED,r.deferred=void 0,u5({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}Dt.fetchImage=function(e){return new Dt(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};Dt.prototype.fetchText=function(){return this.fetch({responseType:"text"})};Dt.fetchText=function(e){return new Dt(e).fetchText()};Dt.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};Dt.fetchJson=function(e){return new Dt(e).fetchJson()};Dt.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};Dt.fetchXML=function(e){return new Dt(e).fetchXML()};Dt.prototype.fetchJsonp=function(e){e=y(e,"callback"),f5(this.request);let t;do t=`loadJsonp${P.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return zZ(this,e,t)};function zZ(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request,r=e.url;o.url=r,o.requestFunction=function(){let a=Ul();return window[n]=function(c){a.resolve(c);try{delete window[n]}catch{window[n]=void 0}},Dt._Implementations.loadAndExecuteScript(r,n,a),a.promise};let s=bc.request(o);if(l(s))return s.catch(function(a){return o.state!==Qn.FAILED?Promise.reject(a):e.retryOnError(a).then(function(c){return c?(o.state=Qn.UNISSUED,o.deferred=void 0,zZ(e,t,n)):Promise.reject(a)})})}Dt.fetchJsonp=function(e){return new Dt(e).fetchJsonp(e.callbackParameterName)};Dt.prototype._makeRequest=function(e){let t=this;f5(t.request);let n=t.request,i=t.url;n.url=i,n.requestFunction=function(){let r=e.responseType,s=xt(e.headers,t.headers),a=e.overrideMimeType,c=e.method,u=e.data,f=Ul(),d=Dt._Implementations.loadWithXhr(i,r,c,u,s,f,a);return l(d)&&l(d.abort)&&(n.cancelFunction=function(){d.abort()}),f.promise};let o=bc.request(n);if(l(o))return o.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==Qn.FAILED?Promise.reject(r):t.retryOnError(r).then(function(s){return s?(n.state=Qn.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function f5(e){if(e.state===Qn.ISSUED||e.state===Qn.ACTIVE)throw new ce("The Resource is already being fetched.");e.state=Qn.UNISSUED,e.deferred=void 0}var SSe=/^data:(.*?)(;base64)?,(.*)$/;function w1(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function kZ(e,t){let n=w1(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return i}function wSe(e,t){t=y(t,"");let n=e[1],i=!!e[2],o=e[3],r,s;switch(t){case"":case"text":return w1(i,o);case"arraybuffer":return kZ(i,o);case"blob":return r=kZ(i,o),new Blob([r],{type:n});case"document":return s=new DOMParser,s.parseFromString(w1(i,o),n);case"json":return JSON.parse(w1(i,o));default:}}Dt.prototype.fetch=function(e){return e=xh(e,{}),e.method="GET",this._makeRequest(e)};Dt.fetch=function(e){return new Dt(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Dt.prototype.delete=function(e){return e=xh(e,{}),e.method="DELETE",this._makeRequest(e)};Dt.delete=function(e){return new Dt(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};Dt.prototype.head=function(e){return e=xh(e,{}),e.method="HEAD",this._makeRequest(e)};Dt.head=function(e){return new Dt(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Dt.prototype.options=function(e){return e=xh(e,{}),e.method="OPTIONS",this._makeRequest(e)};Dt.options=function(e){return new Dt(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Dt.prototype.post=function(e,t){return yo.defined("data",e),t=xh(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};Dt.post=function(e){return new Dt(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Dt.prototype.put=function(e,t){return yo.defined("data",e),t=xh(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};Dt.put=function(e){return new Dt(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Dt.prototype.patch=function(e,t){return yo.defined("data",e),t=xh(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};Dt.patch=function(e){return new Dt(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};Dt._Implementations={};Dt._Implementations.loadImageElement=function(e,t,n){let i=new Image;i.onload=function(){i.naturalWidth===0&&i.naturalHeight===0&&i.width===0&&i.height===0&&(i.width=300,i.height=150),n.resolve(i)},i.onerror=function(o){n.reject(o)},t&&(GS.contains(e)?i.crossOrigin="use-credentials":i.crossOrigin=""),i.src=e};Dt._Implementations.createImage=function(e,t,n,i,o,r){let s=e.url;Dt.supportsImageBitmapOptions().then(function(a){if(!(a&&r)){Dt._Implementations.loadImageElement(s,t,n);return}let c="blob",u="GET",f=Ul(),d=Dt._Implementations.loadWithXhr(s,c,u,void 0,void 0,f,void 0,void 0,void 0);return l(d)&&l(d.abort)&&(e.cancelFunction=function(){d.abort()}),f.promise.then(function(p){if(!l(p)){n.reject(new ce(`Successfully retrieved ${s} but it contained no content.`));return}return Dt.createImageBitmapFromBlob(p,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o})}).then(function(p){n.resolve(p)})}).catch(function(a){n.reject(a)})};Dt.createImageBitmapFromBlob=function(e,t){return yo.defined("options",t),yo.typeOf.bool("options.flipY",t.flipY),yo.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),yo.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function vSe(e,t,n,i,o,r,s){fetch(e,{method:n,headers:o}).then(async a=>{if(!a.ok){let c={};a.headers.forEach((u,f)=>{c[f]=u}),r.reject(new Jm(a.status,a,c));return}switch(t){case"text":r.resolve(a.text());break;case"json":r.resolve(a.json());break;default:r.resolve(new Uint8Array(await a.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new Jm)})}var DSe=typeof XMLHttpRequest>"u";Dt._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=SSe.exec(e);if(a!==null){r.resolve(wSe(a,t));return}if(DSe){vSe(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(GS.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(let f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);l(t)&&(c.responseType=t);let u=!1;return typeof e=="string"&&(u=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(u&&c.status===0)){r.reject(new Jm(c.status,c.response,c.getAllResponseHeaders()));return}let f=c.response,d=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),m={};g.forEach(function(x){let b=x.split(": "),T=b.shift();m[T]=b.join(": ")}),r.resolve(m);return}if(c.status===204)r.resolve(void 0);else if(l(f)&&(!l(t)||d===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(p){r.reject(p)}else(d===""||d==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(d===""||d==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new ce("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new Jm)},c.send(i),c};Dt._Implementations.loadAndExecuteScript=function(e,t,n){return fT(e,t).catch(function(i){n.reject(i)})};Dt._DefaultImplementations={};Dt._DefaultImplementations.createImage=Dt._Implementations.createImage;Dt._DefaultImplementations.loadWithXhr=Dt._Implementations.loadWithXhr;Dt._DefaultImplementations.loadAndExecuteScript=Dt._Implementations.loadAndExecuteScript;Dt.DEFAULT=Object.freeze(new Dt({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var ve=Dt;function jS(e){e=y(e,y.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=y(e.addNewLeapSeconds,!0),l(e.data)?HZ(this,e.data):HZ(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}jS.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=ve.createIfNeeded(e),i;try{i=await n.fetchJson()}catch{throw new ce(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new jS({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};jS.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new T0(0,0,0,0,0),t}});jS.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new T0(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(l(i)){let a=n[i],c=n[i+1],u=K.lessThanOrEquals(a,e),f=!l(c),d=f||K.greaterThanOrEquals(c,e);if(u&&d)return o=i,!f&&c.equals(e)&&++o,r=o+1,WZ(this,n,this._samples,e,o,r,t),t}let s=Po(n,e,K.compare,this._dateColumn);return s>=0?(s<n.length-1&&n[s+1].equals(e)&&++s,o=s,r=s):(r=~s,o=r-1,o<0&&(o=0)),this._lastIndex=o,WZ(this,n,this._samples,e,o,r,t),t};function ISe(e,t){return K.compare(e.julianDate,t)}function HZ(e,t){if(!l(t.columnNames))throw new ce("Error in loaded EOP data: The columnNames property is required.");if(!l(t.samples))throw new ce("Error in loaded EOP data: The samples property is required.");let n=t.columnNames.indexOf("modifiedJulianDateUtc"),i=t.columnNames.indexOf("xPoleWanderRadians"),o=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),a=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),c=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||i<0||o<0||r<0||s<0||a<0||c<0)throw new ce("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");let u=e._samples=t.samples,f=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=i,e._yPoleWanderRadiansColumn=o,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=a,e._taiMinusUtcSecondsColumn=c,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let d,p=e._addNewLeapSeconds;for(let g=0,m=u.length;g<m;g+=e._columnCount){let x=u[g+n],b=u[g+c],T=x+Yn.MODIFIED_JULIAN_DATE_DIFFERENCE,C=new K(T,b,qn.TAI);if(f.push(C),p){if(b!==d&&l(d)){let A=K.leapSeconds,S=Po(A,C,ISe);if(S<0){let w=new Wi(C,b);A.splice(~S,0,w)}}d=b}}}function GZ(e,t,n,i,o){let r=n*i;o.xPoleWander=t[r+e._xPoleWanderRadiansColumn],o.yPoleWander=t[r+e._yPoleWanderRadiansColumn],o.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function WS(e,t,n){return t+e*(n-t)}function WZ(e,t,n,i,o,r,s){let a=e._columnCount;if(r>t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],u=t[r];if(c.equals(u)||i.equals(c))return GZ(e,n,o,a,s),s;if(i.equals(u))return GZ(e,n,r,a,s),s;let f=K.secondsDifference(i,c)/K.secondsDifference(u,c),d=o*a,p=r*a,g=n[d+e._ut1MinusUtcSecondsColumn],m=n[p+e._ut1MinusUtcSecondsColumn],x=m-g;if(x>.5||x<-.5){let b=n[d+e._taiMinusUtcSecondsColumn],T=n[p+e._taiMinusUtcSecondsColumn];b!==T&&(u.equals(i)?g=m:m-=T-b)}return s.xPoleWander=WS(f,n[d+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=WS(f,n[d+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=WS(f,n[d+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=WS(f,n[d+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=WS(f,g,m),s}var D1=jS;function Ha(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}Ha.fromQuaternion=function(e,t){l(t)||(t=new Ha);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-P.asinClamped(n),t};Ha.fromDegrees=function(e,t,n,i){return l(i)||(i=new Ha),i.heading=e*P.RADIANS_PER_DEGREE,i.pitch=t*P.RADIANS_PER_DEGREE,i.roll=n*P.RADIANS_PER_DEGREE,i};Ha.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new Ha(e.heading,e.pitch,e.roll)};Ha.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};Ha.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.heading,t.heading,n,i)&&P.equalsEpsilon(e.pitch,t.pitch,n,i)&&P.equalsEpsilon(e.roll,t.roll,n,i)};Ha.prototype.clone=function(e){return Ha.clone(this,e)};Ha.prototype.equals=function(e){return Ha.equals(this,e)};Ha.prototype.equalsEpsilon=function(e,t,n){return Ha.equalsEpsilon(this,e,t,n)};Ha.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var Ga=Ha;var jZ=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function PSe(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let i=e[t].getAttribute("src"),o=jZ.exec(i);if(o!==null)return o[1]}}var I1;function qZ(e){return typeof document>"u"?e:(l(I1)||(I1=document.createElement("a")),I1.href=e,I1.href)}var S0;function YZ(){if(l(S0))return S0;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:l(import.meta?.url)?e=Qm(".",import.meta.url):typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(KP.toUrl)?e=Qm("..",w0("Core/buildModuleUrl.js")):e=PSe(),S0=new ve({url:qZ(e)}),S0.appendForwardSlash(),S0}function RSe(e){return qZ(KP.toUrl(`../${e}`))}function XZ(e){return YZ().getDerivedResource({url:e}).url}var P1;function w0(e){return l(P1)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(KP.toUrl)?P1=RSe:P1=XZ),P1(e)}w0._cesiumScriptRegex=jZ;w0._buildModuleUrlFromBaseUrl=XZ;w0._clearBaseResource=function(){S0=void 0};w0.setBaseUrl=function(e){S0=ve.DEFAULT.getDerivedResource({url:e})};w0.getCesiumBaseUrl=YZ;var on=w0;function OSe(e,t,n){this.x=e,this.y=t,this.s=n}var _T=OSe;function m5(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=ve.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new K(this._sampleZeroJulianEphemerisDate,0,qn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var MSe=new K(0,0,qn.TAI);function d5(e,t,n){let i=MSe;return i.dayNumber=t,i.secondsOfDay=n,K.daysDifference(i,e._sampleZeroDateTT)}m5.prototype.preload=function(e,t,n,i){let o=d5(this,e,t),r=d5(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,u=a/this._samplesPerXysFile|0,f=[];for(let d=c;d<=u;++d)f.push(h5(this,d));return Promise.all(f)};m5.prototype.computeXysRadians=function(e,t,n){let i=d5(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,u=this._samples;if(l(u[s*3])||(h5(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(h5(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new _T(0,0,0);let f=i-s*this._stepSizeDays,d=this._work,p=this._denominators,g=this._coef,m=this._xTable,x,b;for(x=0;x<=r;++x)d[x]=f-m[x];for(x=0;x<=r;++x){for(g[x]=1,b=0;b<=r;++b)b!==x&&(g[x]*=d[b]);g[x]*=p[x];let T=(s+x)*3;n.x+=g[x]*u[T++],n.y+=g[x]*u[T++],n.s+=g[x]*u[T]}return n};function h5(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new ve({url:on(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let u=0,f=a.length;u<f;++u)s[c+u]=a[u]});return e._chunkDownloadsInProgress[t]=o,o}var R1=m5;function st(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}var qS=new h;st.fromAxisAngle=function(e,t,n){let i=t/2,o=Math.sin(i);qS=h.normalize(e,qS);let r=qS.x*o,s=qS.y*o,a=qS.z*o,c=Math.cos(i);return l(n)?(n.x=r,n.y=s,n.z=a,n.w=c,n):new st(r,s,a,c)};var LSe=[1,2,0],NSe=new Array(3);st.fromRotationMatrix=function(e,t){let n,i,o,r,s,a=e[Z.COLUMN0ROW0],c=e[Z.COLUMN1ROW1],u=e[Z.COLUMN2ROW2],f=a+c+u;if(f>0)n=Math.sqrt(f+1),s=.5*n,n=.5/n,i=(e[Z.COLUMN1ROW2]-e[Z.COLUMN2ROW1])*n,o=(e[Z.COLUMN2ROW0]-e[Z.COLUMN0ROW2])*n,r=(e[Z.COLUMN0ROW1]-e[Z.COLUMN1ROW0])*n;else{let d=LSe,p=0;c>a&&(p=1),u>a&&u>c&&(p=2);let g=d[p],m=d[g];n=Math.sqrt(e[Z.getElementIndex(p,p)]-e[Z.getElementIndex(g,g)]-e[Z.getElementIndex(m,m)]+1);let x=NSe;x[p]=.5*n,n=.5/n,s=(e[Z.getElementIndex(m,g)]-e[Z.getElementIndex(g,m)])*n,x[g]=(e[Z.getElementIndex(g,p)]+e[Z.getElementIndex(p,g)])*n,x[m]=(e[Z.getElementIndex(m,p)]+e[Z.getElementIndex(p,m)])*n,i=-x[0],o=-x[1],r=-x[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new st(i,o,r,s)};var KZ=new st,$Z=new st,p5=new st,ZZ=new st;st.fromHeadingPitchRoll=function(e,t){return ZZ=st.fromAxisAngle(h.UNIT_X,e.roll,KZ),p5=st.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=st.multiply(p5,ZZ,p5),$Z=st.fromAxisAngle(h.UNIT_Z,-e.heading,KZ),st.multiply($Z,t,t)};var O1=new h,_5=new h,ed=new st,QZ=new st,M1=new st;st.packedLength=4;st.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};st.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new st),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};st.packedInterpolationLength=3;st.convertPackedArrayForInterpolation=function(e,t,n,i){st.unpack(e,n*4,M1),st.conjugate(M1,M1);for(let o=0,r=n-t+1;o<r;o++){let s=o*3;st.unpack(e,(t+o)*4,ed),st.multiply(ed,M1,ed),ed.w<0&&st.negate(ed,ed),st.computeAxis(ed,O1);let a=st.computeAngle(ed);l(i)||(i=[]),i[s]=O1.x*a,i[s+1]=O1.y*a,i[s+2]=O1.z*a}};st.unpackInterpolationResult=function(e,t,n,i,o){l(o)||(o=new st),h.fromArray(e,0,_5);let r=h.magnitude(_5);return st.unpack(t,i*4,QZ),r===0?st.clone(st.IDENTITY,ed):st.fromAxisAngle(_5,r,ed),st.multiply(ed,QZ,o)};st.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new st(e.x,e.y,e.z,e.w)};st.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};st.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};st.magnitude=function(e){return Math.sqrt(st.magnitudeSquared(e))};st.normalize=function(e,t){let n=1/st.magnitude(e),i=e.x*n,o=e.y*n,r=e.z*n,s=e.w*n;return t.x=i,t.y=o,t.z=r,t.w=s,t};st.inverse=function(e,t){let n=st.magnitudeSquared(e);return t=st.conjugate(e,t),st.multiplyByScalar(t,1/n,t)};st.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};st.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};st.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};st.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};st.multiply=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=e.w,a=t.x,c=t.y,u=t.z,f=t.w,d=s*a+i*f+o*u-r*c,p=s*c-i*u+o*f+r*a,g=s*u+i*c-o*a+r*f,m=s*f-i*a-o*c-r*u;return n.x=d,n.y=p,n.z=g,n.w=m,n};st.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};st.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};st.computeAxis=function(e,t){let n=e.w;if(Math.abs(n-1)<P.EPSILON6||Math.abs(n+1)<P.EPSILON6)return t.x=1,t.y=t.z=0,t;let i=1/Math.sqrt(1-n*n);return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t};st.computeAngle=function(e){return Math.abs(e.w-1)<P.EPSILON6?0:2*Math.acos(e.w)};var g5=new st;st.lerp=function(e,t,n,i){return g5=st.multiplyByScalar(t,n,g5),i=st.multiplyByScalar(e,1-n,i),st.add(g5,i,i)};var JZ=new st,y5=new st,x5=new st;st.slerp=function(e,t,n,i){let o=st.dot(e,t),r=t;if(o<0&&(o=-o,r=JZ=st.negate(t,JZ)),1-o<P.EPSILON6)return st.lerp(e,r,n,i);let s=Math.acos(o);return y5=st.multiplyByScalar(e,Math.sin((1-n)*s),y5),x5=st.multiplyByScalar(r,Math.sin(n*s),x5),i=st.add(y5,x5,i),st.multiplyByScalar(i,1/Math.sin(s),i)};st.log=function(e,t){let n=P.acosClamped(e.w),i=0;return n!==0&&(i=n/Math.sin(n)),h.multiplyByScalar(e,i,t)};st.exp=function(e,t){let n=h.magnitude(e),i=0;return n!==0&&(i=Math.sin(n)/n),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=Math.cos(n),t};var FSe=new h,BSe=new h,YS=new st,gT=new st;st.computeInnerQuadrangle=function(e,t,n,i){let o=st.conjugate(t,YS);st.multiply(o,n,gT);let r=st.log(gT,FSe);st.multiply(o,e,gT);let s=st.log(gT,BSe);return h.add(r,s,r),h.multiplyByScalar(r,.25,r),h.negate(r,r),st.exp(r,YS),st.multiply(t,YS,i)};st.squad=function(e,t,n,i,o,r){let s=st.slerp(e,t,o,YS),a=st.slerp(n,i,o,gT);return st.slerp(s,a,2*o*(1-o),r)};var kSe=new st,eQ=1.9011074535173003,L1=Wt.supportsTypedArrays()?new Float32Array(8):[],N1=Wt.supportsTypedArrays()?new Float32Array(8):[],tp=Wt.supportsTypedArrays()?new Float32Array(8):[],np=Wt.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;L1[e]=1/(t*n),N1[e]=t/n}L1[7]=eQ/(8*17);N1[7]=eQ*8/17;st.fastSlerp=function(e,t,n,i){let o=st.dot(e,t),r;o>=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,u=a*a;for(let g=7;g>=0;--g)tp[g]=(L1[g]*c-N1[g])*s,np[g]=(L1[g]*u-N1[g])*s;let f=r*n*(1+tp[0]*(1+tp[1]*(1+tp[2]*(1+tp[3]*(1+tp[4]*(1+tp[5]*(1+tp[6]*(1+tp[7])))))))),d=a*(1+np[0]*(1+np[1]*(1+np[2]*(1+np[3]*(1+np[4]*(1+np[5]*(1+np[6]*(1+np[7])))))))),p=st.multiplyByScalar(e,d,kSe);return st.multiplyByScalar(t,f,i),st.add(p,i,i)};st.fastSquad=function(e,t,n,i,o,r){let s=st.fastSlerp(e,t,o,YS),a=st.fastSlerp(n,i,o,gT);return st.fastSlerp(s,a,2*o*(1-o),r)};st.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};st.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};st.ZERO=Object.freeze(new st(0,0,0,0));st.IDENTITY=Object.freeze(new st(0,0,0,1));st.prototype.clone=function(e){return st.clone(this,e)};st.prototype.equals=function(e){return st.equals(this,e)};st.prototype.equalsEpsilon=function(e,t){return st.equalsEpsilon(this,e,t)};st.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Ne=st;var ai={},b5={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},yT={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},T5={},il={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},N_=new h,F_=new h,B_=new h;ai.localFrameToFixedFrameGenerator=function(e,t){if(!b5.hasOwnProperty(e)||!b5[e].hasOwnProperty(t))throw new de("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=b5[e][t],i,o=e+t;return l(T5[o])?i=T5[o]:(i=function(r,s,a){if(l(a)||(a=new F),h.equalsEpsilon(r,h.ZERO,P.EPSILON14))h.unpack(yT[e],0,N_),h.unpack(yT[t],0,F_),h.unpack(yT[n],0,B_);else if(P.equalsEpsilon(r.x,0,P.EPSILON14)&&P.equalsEpsilon(r.y,0,P.EPSILON14)){let c=P.sign(r.z);h.unpack(yT[e],0,N_),e!=="east"&&e!=="west"&&h.multiplyByScalar(N_,c,N_),h.unpack(yT[t],0,F_),t!=="east"&&t!=="west"&&h.multiplyByScalar(F_,c,F_),h.unpack(yT[n],0,B_),n!=="east"&&n!=="west"&&h.multiplyByScalar(B_,c,B_)}else{s=y(s,ee.default),s.geodeticSurfaceNormal(r,il.up);let c=il.up,u=il.east;u.x=-r.y,u.y=r.x,u.z=0,h.normalize(u,il.east),h.cross(c,u,il.north),h.multiplyByScalar(il.up,-1,il.down),h.multiplyByScalar(il.east,-1,il.west),h.multiplyByScalar(il.north,-1,il.south),N_=il[e],F_=il[t],B_=il[n]}return a[0]=N_.x,a[1]=N_.y,a[2]=N_.z,a[3]=0,a[4]=F_.x,a[5]=F_.y,a[6]=F_.z,a[7]=0,a[8]=B_.x,a[9]=B_.y,a[10]=B_.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},T5[o]=i),i};ai.eastNorthUpToFixedFrame=ai.localFrameToFixedFrameGenerator("east","north");ai.northEastDownToFixedFrame=ai.localFrameToFixedFrameGenerator("north","east");ai.northUpEastToFixedFrame=ai.localFrameToFixedFrameGenerator("north","up");ai.northWestUpToFixedFrame=ai.localFrameToFixedFrameGenerator("north","west");var VSe=new Ne,USe=new h(1,1,1),zSe=new F;ai.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,ai.eastNorthUpToFixedFrame);let r=Ne.fromHeadingPitchRoll(t,VSe),s=F.fromTranslationQuaternionRotationScale(h.ZERO,r,USe,zSe);return o=i(e,n,o),F.multiply(o,s,o)};var HSe=new F,GSe=new Z;ai.headingPitchRollQuaternion=function(e,t,n,i,o){let r=ai.headingPitchRollToFixedFrame(e,t,n,i,HSe),s=F.getMatrix3(r,GSe);return Ne.fromRotationMatrix(s,o)};var WSe=new h(1,1,1),jSe=new h,tQ=new F,qSe=new F,YSe=new Z,XSe=new Ne;ai.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,ee.default),n=y(n,ai.eastNorthUpToFixedFrame),l(i)||(i=new Ga);let o=F.getTranslation(e,jSe);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=F.inverseTransformation(n(o,t,tQ),tQ),s=F.setScale(e,WSe,qSe);s=F.setTranslation(s,h.ZERO,s),r=F.multiply(r,s,r);let a=Ne.fromRotationMatrix(F.getMatrix3(r,YSe),XSe);return a=Ne.normalize(a,a),Ga.fromQuaternion(a,i)};var KSe=6*3600+41*60+50.54841,$Se=8640184812866e-6,ZSe=.093104,QSe=-62e-7,JSe=11772758384668e-32,ewe=72921158553e-15,twe=P.TWO_PI/86400,F1=new K;ai.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=ai.computeIcrfToFixedMatrix(e,t);return l(n)||(n=ai.computeTemeToPseudoFixedMatrix(e,t)),n};ai.computeTemeToPseudoFixedMatrix=function(e,t){F1=K.addSeconds(e,-K.computeTaiMinusUtc(e),F1);let n=F1.dayNumber,i=F1.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Yn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Yn.DAYS_PER_JULIAN_CENTURY;let a=(KSe+o*($Se+o*(ZSe+o*QSe)))*twe%P.TWO_PI,c=ewe+JSe*(n-24515455e-1),u=(i+Yn.SECONDS_PER_DAY*.5)%Yn.SECONDS_PER_DAY,f=a+c*u,d=Math.cos(f),p=Math.sin(f);return l(t)?(t[0]=d,t[1]=-p,t[2]=0,t[3]=p,t[4]=d,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new Z(d,p,0,-p,d,0,0,0,1)};ai.iau2006XysData=new R1;ai.earthOrientationParameters=D1.NONE;var E5=32.184,nwe=2451545;ai.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+E5,i=e.stop.dayNumber,o=e.stop.secondsOfDay+E5;return ai.iau2006XysData.preload(t,n,i,o)};ai.computeIcrfToFixedMatrix=function(e,t){l(t)||(t=new Z);let n=ai.computeFixedToIcrfMatrix(e,t);if(l(n))return Z.transpose(n,t)};var iwe=32.184,owe=2451545,B1=new Ga,rwe=new Z,swe=new K;ai.computeMoonFixedToIcrfMatrix=function(e,t){l(t)||(t=new Z);let n=K.addSeconds(e,iwe,swe),i=K.totalDays(n)-owe,o=P.toRadians(12.112)-P.toRadians(.052992)*i,r=P.toRadians(24.224)-P.toRadians(.105984)*i,s=P.toRadians(227.645)+P.toRadians(13.012)*i,a=P.toRadians(261.105)+P.toRadians(13.340716)*i,c=P.toRadians(358)+P.toRadians(.9856)*i;return B1.pitch=P.toRadians(180)-P.toRadians(3.878)*Math.sin(o)-P.toRadians(.12)*Math.sin(r)+P.toRadians(.07)*Math.sin(s)-P.toRadians(.017)*Math.sin(a),B1.roll=P.toRadians(66.53-90)+P.toRadians(1.543)*Math.cos(o)+P.toRadians(.24)*Math.cos(r)-P.toRadians(.028)*Math.cos(s)+P.toRadians(.007)*Math.cos(a),B1.heading=P.toRadians(244.375-90)+P.toRadians(13.17635831)*i+P.toRadians(3.558)*Math.sin(o)+P.toRadians(.121)*Math.sin(r)-P.toRadians(.064)*Math.sin(s)+P.toRadians(.016)*Math.sin(a)+P.toRadians(.025)*Math.sin(c),Z.fromHeadingPitchRoll(B1,rwe)};ai.computeIcrfToMoonFixedMatrix=function(e,t){l(t)||(t=new Z);let n=ai.computeMoonFixedToIcrfMatrix(e,t);if(l(n))return Z.transpose(n,t)};var awe=new _T(0,0,0),cwe=new T0(0,0,0,0,0,0),C5=new Z,A5=new Z;ai.computeFixedToIcrfMatrix=function(e,t){l(t)||(t=new Z);let n=ai.earthOrientationParameters.compute(e,cwe);if(!l(n))return;let i=e.dayNumber,o=e.secondsOfDay+E5,r=ai.iau2006XysData.computeXysRadians(i,o,awe);if(!l(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),u=C5;u[0]=1-c*s*s,u[3]=-c*s*a,u[6]=s,u[1]=-c*s*a,u[4]=1-c*a*a,u[7]=a,u[2]=-s,u[5]=-a,u[8]=1-c*(s*s+a*a);let f=Z.fromRotationZ(-r.s,A5),d=Z.multiply(u,f,C5),p=e.dayNumber,g=e.secondsOfDay-K.computeTaiMinusUtc(e)+n.ut1MinusUtc,m=p-2451545,x=g/Yn.SECONDS_PER_DAY,b=.779057273264+x+.00273781191135448*(m+x);b=b%1*P.TWO_PI;let T=Z.fromRotationZ(b,A5),C=Z.multiply(d,T,C5),A=Math.cos(n.xPoleWander),S=Math.cos(n.yPoleWander),w=Math.sin(n.xPoleWander),D=Math.sin(n.yPoleWander),O=i-nwe+o/Yn.SECONDS_PER_DAY;O/=36525;let R=-47e-6*O*P.RADIANS_PER_DEGREE/3600,M=Math.cos(R),L=Math.sin(R),_=A5;return _[0]=A*M,_[1]=A*L,_[2]=w,_[3]=-S*L+D*w*M,_[4]=S*M+D*w*L,_[5]=-D*A,_[6]=-D*L-S*w*M,_[7]=D*M-S*w*L,_[8]=S*A,Z.multiply(C,_,t)};var lwe=new oe;ai.pointToWindowCoordinates=function(e,t,n,i){return i=ai.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};ai.pointToGLWindowCoordinates=function(e,t,n,i){l(i)||(i=new U);let o=lwe;return F.multiplyByVector(e,oe.fromElements(n.x,n.y,n.z,1,o),o),oe.multiplyByScalar(o,1/o.w,o),F.multiplyByVector(t,o,o),U.fromCartesian4(o,i)};var uwe=new h,fwe=new h,dwe=new h;ai.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,ee.default).geodeticSurfaceNormal(e,uwe),r=h.cross(t,o,fwe);h.equalsEpsilon(r,h.ZERO,P.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,dwe);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),l(i)||(i=new Z),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var nQ=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),iQ=new fe,S5=new h,hwe=new h,mwe=new Z,w5=new F,oQ=new F;ai.basisTo2D=function(e,t,n){let i=F.getTranslation(t,hwe),o=e.ellipsoid,r;if(h.equals(i,h.ZERO))r=h.clone(h.ZERO,S5);else{let f=o.cartesianToCartographic(i,iQ);r=e.project(f,S5),h.fromElements(r.z,r.x,r.y,r)}let s=ai.eastNorthUpToFixedFrame(i,o,w5),a=F.inverseTransformation(s,oQ),c=F.getMatrix3(t,mwe),u=F.multiplyByMatrix3(a,c,n);return F.multiply(nQ,u,n),F.setTranslation(n,r,n),n};ai.ellipsoidTo2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=ai.eastNorthUpToFixedFrame(t,i,w5),r=F.inverseTransformation(o,oQ),s=i.cartesianToCartographic(t,iQ),a=e.project(s,S5);h.fromElements(a.z,a.x,a.y,a);let c=F.fromTranslation(a,w5);return F.multiply(nQ,r,n),F.multiply(c,n,n),n};var Bt=ai;var rQ={};function XS(e,t){l(rQ[e])||(rQ[e]=!0,console.warn(y(t,e)))}XS.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";XS.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";XS.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";XS.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var Tt=XS;function pwe(e,t){Tt(e,t)}var _s=pwe;function En(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(En.prototype,{width:{get:function(){return En.computeWidth(this)}},height:{get:function(){return En.computeHeight(this)}}});En.packedLength=4;En.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};En.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new En),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};En.computeWidth=function(e){let t=e.east,n=e.west;return t<n&&(t+=P.TWO_PI),t-n};En.computeHeight=function(e){return e.north-e.south};En.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(y(e,0)),t=P.toRadians(y(t,0)),n=P.toRadians(y(n,0)),i=P.toRadians(y(i,0)),l(o)?(o.west=e,o.south=t,o.east=n,o.north=i,o):new En(e,t,n,i)};En.fromRadians=function(e,t,n,i,o){return l(o)?(o.west=y(e,0),o.south=y(t,0),o.east=y(n,0),o.north=y(i,0),o):new En(e,t,n,i)};En.fromCartographicArray=function(e,t){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,s=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let c=0,u=e.length;c<u;c++){let f=e[c];n=Math.min(n,f.longitude),i=Math.max(i,f.longitude),s=Math.min(s,f.latitude),a=Math.max(a,f.latitude);let d=f.longitude>=0?f.longitude:f.longitude+P.TWO_PI;o=Math.min(o,d),r=Math.max(r,d)}return i-n>r-o&&(n=o,i=r,i>P.PI&&(i=i-P.TWO_PI),n>P.PI&&(n=n-P.TWO_PI)),l(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new En(n,s,i,a)};En.fromCartesianArray=function(e,t,n){t=y(t,ee.default);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let u=0,f=e.length;u<f;u++){let d=t.cartesianToCartographic(e[u]);i=Math.min(i,d.longitude),o=Math.max(o,d.longitude),a=Math.min(a,d.latitude),c=Math.max(c,d.latitude);let p=d.longitude>=0?d.longitude:d.longitude+P.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>P.PI&&(o=o-P.TWO_PI),i>P.PI&&(i=i-P.TWO_PI)),l(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new En(i,a,o,c)};var _we=new h,gwe=new h,ywe=new h,xwe=new h,bwe=new h,v5=new Array(5);for(let e=0;e<v5.length;++e)v5[e]=new h;En.fromBoundingSphere=function(e,t,n){let i=e.center,o=e.radius;if(l(t)||(t=ee.default),l(n)||(n=new En),h.equals(i,h.ZERO))return En.clone(En.MAX_VALUE,n),n;let r=Bt.eastNorthUpToFixedFrame(i,t,_we),s=F.multiplyByPointAsVector(r,h.UNIT_X,gwe);h.normalize(s,s);let a=F.multiplyByPointAsVector(r,h.UNIT_Y,ywe);h.normalize(a,a),h.multiplyByScalar(a,o,a),h.multiplyByScalar(s,o,s);let c=h.negate(a,bwe),u=h.negate(s,xwe),f=v5,d=f[0];return h.add(i,a,d),d=f[1],h.add(i,u,d),d=f[2],h.add(i,c,d),d=f[3],h.add(i,s,d),f[4]=i,En.fromCartesianArray(f,t,n)};En.clone=function(e,t){if(l(e))return l(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new En(e.west,e.south,e.east,e.north)};En.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};En.prototype.clone=function(e){return En.clone(this,e)};En.prototype.equals=function(e){return En.equals(this,e)};En.equals=function(e,t){return e===t||l(e)&&l(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};En.prototype.equalsEpsilon=function(e,t){return En.equalsEpsilon(this,e,t)};En.validate=function(e){return _s("Rectangle.validate","Rectangle.validate is a no-op and has been deprecated. It will be removed in Cesium 1.124."),En._validate(e)};En._validate=function(e){};En.southwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new fe(e.west,e.south)};En.northwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new fe(e.west,e.north)};En.northeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new fe(e.east,e.north)};En.southeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new fe(e.east,e.south)};En.center=function(e,t){let n=e.east,i=e.west;n<i&&(n+=P.TWO_PI);let o=P.negativePiToPi((i+n)*.5),r=(e.south+e.north)*.5;return l(t)?(t.longitude=o,t.latitude=r,t.height=0,t):new fe(o,r)};En.intersection=function(e,t,n){let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.max(o,s)),c=P.negativePiToPi(Math.min(i,r));if((e.west<e.east||t.west<t.east)&&c<=a)return;let u=Math.max(e.south,t.south),f=Math.min(e.north,t.north);if(!(u>=f))return l(n)?(n.west=a,n.south=u,n.east=c,n.north=f,n):new En(a,u,c,f)};En.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return l(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new En(i,o,r,s)};En.union=function(e,t,n){l(n)||(n=new En);let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.min(o,s)),c=P.negativePiToPi(Math.max(i,r));return n.west=a,n.south=Math.min(e.south,t.south),n.east=c,n.north=Math.max(e.north,t.north),n};En.expand=function(e,t,n){return l(n)||(n=new En),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};En.contains=function(e,t){let n=t.longitude,i=t.latitude,o=e.west,r=e.east;return r<o&&(r+=P.TWO_PI,n<0&&(n+=P.TWO_PI)),(n>o||P.equalsEpsilon(n,o,P.EPSILON14))&&(n<r||P.equalsEpsilon(n,r,P.EPSILON14))&&i>=e.south&&i<=e.north};var Twe=new fe;En.subsample=function(e,t,n,i){t=y(t,ee.default),n=y(n,0),l(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,u=Twe;u.height=n,u.longitude=c,u.latitude=r,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.latitude=s,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,r<0?u.latitude=r:s>0?u.latitude=s:u.latitude=0;for(let f=1;f<8;++f)u.longitude=-Math.PI+f*P.PI_OVER_TWO,En.contains(e,u)&&(i[o]=t.cartographicToCartesian(u,i[o]),o++);return u.latitude===0&&(u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++),i.length=o,i};En.subsection=function(e,t,n,i,o,r){if(l(r)||(r=new En),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=P.TWO_PI+e.east-e.west;r.west=P.negativePiToPi(e.west+t*a),r.east=P.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};En.MAX_VALUE=Object.freeze(new En(-Math.PI,-P.PI_OVER_TWO,Math.PI,P.PI_OVER_TWO));var se=En;function vr(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}vr.packedLength=4;vr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};vr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new vr),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};vr.fromPoints=function(e,t){if(l(t)||(t=new vr),!l(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;a<n;a++){let c=e[a],u=c.x,f=c.y;i=Math.min(u,i),r=Math.max(u,r),o=Math.min(f,o),s=Math.max(f,s)}return t.x=i,t.y=o,t.width=r-i,t.height=s-o,t};var sQ=new vi,Cwe=new fe,Awe=new fe;vr.fromRectangle=function(e,t,n){if(l(n)||(n=new vr),!l(e))return n.x=0,n.y=0,n.width=0,n.height=0,n;sQ._ellipsoid=ee.default,t=y(t,sQ);let i=t.project(se.southwest(e,Cwe)),o=t.project(se.northeast(e,Awe));return U.subtract(o,i,o),n.x=i.x,n.y=i.y,n.width=o.x,n.height=o.y,n};vr.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new vr(e.x,e.y,e.width,e.height)};vr.union=function(e,t,n){l(n)||(n=new vr);let i=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width),s=Math.max(e.y+e.height,t.y+t.height);return n.x=i,n.y=o,n.width=r-i,n.height=s-o,n};vr.expand=function(e,t,n){n=vr.clone(e,n);let i=t.x-n.x,o=t.y-n.y;return i>n.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};vr.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.width<o||i+e.height<r||i>r+t.height?qt.OUTSIDE:qt.INTERSECTING};vr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};vr.prototype.clone=function(e){return vr.clone(this,e)};vr.prototype.intersect=function(e){return vr.intersect(this,e)};vr.prototype.equals=function(e){return vr.equals(this,e)};var qe=vr;var Ta={POINTS:te.POINTS,LINES:te.LINES,LINE_LOOP:te.LINE_LOOP,LINE_STRIP:te.LINE_STRIP,TRIANGLES:te.TRIANGLES,TRIANGLE_STRIP:te.TRIANGLE_STRIP,TRIANGLE_FAN:te.TRIANGLE_FAN};Ta.isLines=function(e){return e===Ta.LINES||e===Ta.LINE_LOOP||e===Ta.LINE_STRIP};Ta.isTriangles=function(e){return e===Ta.TRIANGLES||e===Ta.TRIANGLE_STRIP||e===Ta.TRIANGLE_FAN};Ta.validate=function(e){return e===Ta.POINTS||e===Ta.LINES||e===Ta.LINE_LOOP||e===Ta.LINE_STRIP||e===Ta.TRIANGLES||e===Ta.TRIANGLE_STRIP||e===Ta.TRIANGLE_FAN};var Fe=Object.freeze(Ta);var xT=`in vec4 position; +(${this[3]}, ${this[7]}, ${this[11]}, ${this[15]})`};var F=nt;var gEe={DEPTH_BUFFER_BIT:256,STENCIL_BUFFER_BIT:1024,COLOR_BUFFER_BIT:16384,POINTS:0,LINES:1,LINE_LOOP:2,LINE_STRIP:3,TRIANGLES:4,TRIANGLE_STRIP:5,TRIANGLE_FAN:6,ZERO:0,ONE:1,SRC_COLOR:768,ONE_MINUS_SRC_COLOR:769,SRC_ALPHA:770,ONE_MINUS_SRC_ALPHA:771,DST_ALPHA:772,ONE_MINUS_DST_ALPHA:773,DST_COLOR:774,ONE_MINUS_DST_COLOR:775,SRC_ALPHA_SATURATE:776,FUNC_ADD:32774,BLEND_EQUATION:32777,BLEND_EQUATION_RGB:32777,BLEND_EQUATION_ALPHA:34877,FUNC_SUBTRACT:32778,FUNC_REVERSE_SUBTRACT:32779,BLEND_DST_RGB:32968,BLEND_SRC_RGB:32969,BLEND_DST_ALPHA:32970,BLEND_SRC_ALPHA:32971,CONSTANT_COLOR:32769,ONE_MINUS_CONSTANT_COLOR:32770,CONSTANT_ALPHA:32771,ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_COLOR:32773,ARRAY_BUFFER:34962,ELEMENT_ARRAY_BUFFER:34963,ARRAY_BUFFER_BINDING:34964,ELEMENT_ARRAY_BUFFER_BINDING:34965,STREAM_DRAW:35040,STATIC_DRAW:35044,DYNAMIC_DRAW:35048,BUFFER_SIZE:34660,BUFFER_USAGE:34661,CURRENT_VERTEX_ATTRIB:34342,FRONT:1028,BACK:1029,FRONT_AND_BACK:1032,CULL_FACE:2884,BLEND:3042,DITHER:3024,STENCIL_TEST:2960,DEPTH_TEST:2929,SCISSOR_TEST:3089,POLYGON_OFFSET_FILL:32823,SAMPLE_ALPHA_TO_COVERAGE:32926,SAMPLE_COVERAGE:32928,NO_ERROR:0,INVALID_ENUM:1280,INVALID_VALUE:1281,INVALID_OPERATION:1282,OUT_OF_MEMORY:1285,CW:2304,CCW:2305,LINE_WIDTH:2849,ALIASED_POINT_SIZE_RANGE:33901,ALIASED_LINE_WIDTH_RANGE:33902,CULL_FACE_MODE:2885,FRONT_FACE:2886,DEPTH_RANGE:2928,DEPTH_WRITEMASK:2930,DEPTH_CLEAR_VALUE:2931,DEPTH_FUNC:2932,STENCIL_CLEAR_VALUE:2961,STENCIL_FUNC:2962,STENCIL_FAIL:2964,STENCIL_PASS_DEPTH_FAIL:2965,STENCIL_PASS_DEPTH_PASS:2966,STENCIL_REF:2967,STENCIL_VALUE_MASK:2963,STENCIL_WRITEMASK:2968,STENCIL_BACK_FUNC:34816,STENCIL_BACK_FAIL:34817,STENCIL_BACK_PASS_DEPTH_FAIL:34818,STENCIL_BACK_PASS_DEPTH_PASS:34819,STENCIL_BACK_REF:36003,STENCIL_BACK_VALUE_MASK:36004,STENCIL_BACK_WRITEMASK:36005,VIEWPORT:2978,SCISSOR_BOX:3088,COLOR_CLEAR_VALUE:3106,COLOR_WRITEMASK:3107,UNPACK_ALIGNMENT:3317,PACK_ALIGNMENT:3333,MAX_TEXTURE_SIZE:3379,MAX_VIEWPORT_DIMS:3386,SUBPIXEL_BITS:3408,RED_BITS:3410,GREEN_BITS:3411,BLUE_BITS:3412,ALPHA_BITS:3413,DEPTH_BITS:3414,STENCIL_BITS:3415,POLYGON_OFFSET_UNITS:10752,POLYGON_OFFSET_FACTOR:32824,TEXTURE_BINDING_2D:32873,SAMPLE_BUFFERS:32936,SAMPLES:32937,SAMPLE_COVERAGE_VALUE:32938,SAMPLE_COVERAGE_INVERT:32939,COMPRESSED_TEXTURE_FORMATS:34467,DONT_CARE:4352,FASTEST:4353,NICEST:4354,GENERATE_MIPMAP_HINT:33170,BYTE:5120,UNSIGNED_BYTE:5121,SHORT:5122,UNSIGNED_SHORT:5123,INT:5124,UNSIGNED_INT:5125,FLOAT:5126,DEPTH_COMPONENT:6402,ALPHA:6406,RGB:6407,RGBA:6408,LUMINANCE:6409,LUMINANCE_ALPHA:6410,UNSIGNED_SHORT_4_4_4_4:32819,UNSIGNED_SHORT_5_5_5_1:32820,UNSIGNED_SHORT_5_6_5:33635,FRAGMENT_SHADER:35632,VERTEX_SHADER:35633,MAX_VERTEX_ATTRIBS:34921,MAX_VERTEX_UNIFORM_VECTORS:36347,MAX_VARYING_VECTORS:36348,MAX_COMBINED_TEXTURE_IMAGE_UNITS:35661,MAX_VERTEX_TEXTURE_IMAGE_UNITS:35660,MAX_TEXTURE_IMAGE_UNITS:34930,MAX_FRAGMENT_UNIFORM_VECTORS:36349,SHADER_TYPE:35663,DELETE_STATUS:35712,LINK_STATUS:35714,VALIDATE_STATUS:35715,ATTACHED_SHADERS:35717,ACTIVE_UNIFORMS:35718,ACTIVE_ATTRIBUTES:35721,SHADING_LANGUAGE_VERSION:35724,CURRENT_PROGRAM:35725,NEVER:512,LESS:513,EQUAL:514,LEQUAL:515,GREATER:516,NOTEQUAL:517,GEQUAL:518,ALWAYS:519,KEEP:7680,REPLACE:7681,INCR:7682,DECR:7683,INVERT:5386,INCR_WRAP:34055,DECR_WRAP:34056,VENDOR:7936,RENDERER:7937,VERSION:7938,NEAREST:9728,LINEAR:9729,NEAREST_MIPMAP_NEAREST:9984,LINEAR_MIPMAP_NEAREST:9985,NEAREST_MIPMAP_LINEAR:9986,LINEAR_MIPMAP_LINEAR:9987,TEXTURE_MAG_FILTER:10240,TEXTURE_MIN_FILTER:10241,TEXTURE_WRAP_S:10242,TEXTURE_WRAP_T:10243,TEXTURE_2D:3553,TEXTURE:5890,TEXTURE_CUBE_MAP:34067,TEXTURE_BINDING_CUBE_MAP:34068,TEXTURE_CUBE_MAP_POSITIVE_X:34069,TEXTURE_CUBE_MAP_NEGATIVE_X:34070,TEXTURE_CUBE_MAP_POSITIVE_Y:34071,TEXTURE_CUBE_MAP_NEGATIVE_Y:34072,TEXTURE_CUBE_MAP_POSITIVE_Z:34073,TEXTURE_CUBE_MAP_NEGATIVE_Z:34074,MAX_CUBE_MAP_TEXTURE_SIZE:34076,TEXTURE0:33984,TEXTURE1:33985,TEXTURE2:33986,TEXTURE3:33987,TEXTURE4:33988,TEXTURE5:33989,TEXTURE6:33990,TEXTURE7:33991,TEXTURE8:33992,TEXTURE9:33993,TEXTURE10:33994,TEXTURE11:33995,TEXTURE12:33996,TEXTURE13:33997,TEXTURE14:33998,TEXTURE15:33999,TEXTURE16:34e3,TEXTURE17:34001,TEXTURE18:34002,TEXTURE19:34003,TEXTURE20:34004,TEXTURE21:34005,TEXTURE22:34006,TEXTURE23:34007,TEXTURE24:34008,TEXTURE25:34009,TEXTURE26:34010,TEXTURE27:34011,TEXTURE28:34012,TEXTURE29:34013,TEXTURE30:34014,TEXTURE31:34015,ACTIVE_TEXTURE:34016,REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648,FLOAT_VEC2:35664,FLOAT_VEC3:35665,FLOAT_VEC4:35666,INT_VEC2:35667,INT_VEC3:35668,INT_VEC4:35669,BOOL:35670,BOOL_VEC2:35671,BOOL_VEC3:35672,BOOL_VEC4:35673,FLOAT_MAT2:35674,FLOAT_MAT3:35675,FLOAT_MAT4:35676,SAMPLER_2D:35678,SAMPLER_CUBE:35680,VERTEX_ATTRIB_ARRAY_ENABLED:34338,VERTEX_ATTRIB_ARRAY_SIZE:34339,VERTEX_ATTRIB_ARRAY_STRIDE:34340,VERTEX_ATTRIB_ARRAY_TYPE:34341,VERTEX_ATTRIB_ARRAY_NORMALIZED:34922,VERTEX_ATTRIB_ARRAY_POINTER:34373,VERTEX_ATTRIB_ARRAY_BUFFER_BINDING:34975,IMPLEMENTATION_COLOR_READ_TYPE:35738,IMPLEMENTATION_COLOR_READ_FORMAT:35739,COMPILE_STATUS:35713,LOW_FLOAT:36336,MEDIUM_FLOAT:36337,HIGH_FLOAT:36338,LOW_INT:36339,MEDIUM_INT:36340,HIGH_INT:36341,FRAMEBUFFER:36160,RENDERBUFFER:36161,RGBA4:32854,RGB5_A1:32855,RGB565:36194,DEPTH_COMPONENT16:33189,STENCIL_INDEX:6401,STENCIL_INDEX8:36168,DEPTH_STENCIL:34041,RENDERBUFFER_WIDTH:36162,RENDERBUFFER_HEIGHT:36163,RENDERBUFFER_INTERNAL_FORMAT:36164,RENDERBUFFER_RED_SIZE:36176,RENDERBUFFER_GREEN_SIZE:36177,RENDERBUFFER_BLUE_SIZE:36178,RENDERBUFFER_ALPHA_SIZE:36179,RENDERBUFFER_DEPTH_SIZE:36180,RENDERBUFFER_STENCIL_SIZE:36181,FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE:36048,FRAMEBUFFER_ATTACHMENT_OBJECT_NAME:36049,FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL:36050,FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE:36051,COLOR_ATTACHMENT0:36064,DEPTH_ATTACHMENT:36096,STENCIL_ATTACHMENT:36128,DEPTH_STENCIL_ATTACHMENT:33306,NONE:0,FRAMEBUFFER_COMPLETE:36053,FRAMEBUFFER_INCOMPLETE_ATTACHMENT:36054,FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:36055,FRAMEBUFFER_INCOMPLETE_DIMENSIONS:36057,FRAMEBUFFER_UNSUPPORTED:36061,FRAMEBUFFER_BINDING:36006,RENDERBUFFER_BINDING:36007,MAX_RENDERBUFFER_SIZE:34024,INVALID_FRAMEBUFFER_OPERATION:1286,UNPACK_FLIP_Y_WEBGL:37440,UNPACK_PREMULTIPLY_ALPHA_WEBGL:37441,CONTEXT_LOST_WEBGL:37442,UNPACK_COLORSPACE_CONVERSION_WEBGL:37443,BROWSER_DEFAULT_WEBGL:37444,COMPRESSED_RGB_S3TC_DXT1_EXT:33776,COMPRESSED_RGBA_S3TC_DXT1_EXT:33777,COMPRESSED_RGBA_S3TC_DXT3_EXT:33778,COMPRESSED_RGBA_S3TC_DXT5_EXT:33779,COMPRESSED_RGB_PVRTC_4BPPV1_IMG:35840,COMPRESSED_RGB_PVRTC_2BPPV1_IMG:35841,COMPRESSED_RGBA_PVRTC_4BPPV1_IMG:35842,COMPRESSED_RGBA_PVRTC_2BPPV1_IMG:35843,COMPRESSED_RGBA_ASTC_4x4_WEBGL:37808,COMPRESSED_RGB_ETC1_WEBGL:36196,COMPRESSED_RGBA_BPTC_UNORM:36492,HALF_FLOAT_OES:36193,DOUBLE:5130,READ_BUFFER:3074,UNPACK_ROW_LENGTH:3314,UNPACK_SKIP_ROWS:3315,UNPACK_SKIP_PIXELS:3316,PACK_ROW_LENGTH:3330,PACK_SKIP_ROWS:3331,PACK_SKIP_PIXELS:3332,COLOR:6144,DEPTH:6145,STENCIL:6146,RED:6403,RGB8:32849,RGBA8:32856,RGB10_A2:32857,TEXTURE_BINDING_3D:32874,UNPACK_SKIP_IMAGES:32877,UNPACK_IMAGE_HEIGHT:32878,TEXTURE_3D:32879,TEXTURE_WRAP_R:32882,MAX_3D_TEXTURE_SIZE:32883,UNSIGNED_INT_2_10_10_10_REV:33640,MAX_ELEMENTS_VERTICES:33e3,MAX_ELEMENTS_INDICES:33001,TEXTURE_MIN_LOD:33082,TEXTURE_MAX_LOD:33083,TEXTURE_BASE_LEVEL:33084,TEXTURE_MAX_LEVEL:33085,MIN:32775,MAX:32776,DEPTH_COMPONENT24:33190,MAX_TEXTURE_LOD_BIAS:34045,TEXTURE_COMPARE_MODE:34892,TEXTURE_COMPARE_FUNC:34893,CURRENT_QUERY:34917,QUERY_RESULT:34918,QUERY_RESULT_AVAILABLE:34919,STREAM_READ:35041,STREAM_COPY:35042,STATIC_READ:35045,STATIC_COPY:35046,DYNAMIC_READ:35049,DYNAMIC_COPY:35050,MAX_DRAW_BUFFERS:34852,DRAW_BUFFER0:34853,DRAW_BUFFER1:34854,DRAW_BUFFER2:34855,DRAW_BUFFER3:34856,DRAW_BUFFER4:34857,DRAW_BUFFER5:34858,DRAW_BUFFER6:34859,DRAW_BUFFER7:34860,DRAW_BUFFER8:34861,DRAW_BUFFER9:34862,DRAW_BUFFER10:34863,DRAW_BUFFER11:34864,DRAW_BUFFER12:34865,DRAW_BUFFER13:34866,DRAW_BUFFER14:34867,DRAW_BUFFER15:34868,MAX_FRAGMENT_UNIFORM_COMPONENTS:35657,MAX_VERTEX_UNIFORM_COMPONENTS:35658,SAMPLER_3D:35679,SAMPLER_2D_SHADOW:35682,FRAGMENT_SHADER_DERIVATIVE_HINT:35723,PIXEL_PACK_BUFFER:35051,PIXEL_UNPACK_BUFFER:35052,PIXEL_PACK_BUFFER_BINDING:35053,PIXEL_UNPACK_BUFFER_BINDING:35055,FLOAT_MAT2x3:35685,FLOAT_MAT2x4:35686,FLOAT_MAT3x2:35687,FLOAT_MAT3x4:35688,FLOAT_MAT4x2:35689,FLOAT_MAT4x3:35690,SRGB:35904,SRGB8:35905,SRGB8_ALPHA8:35907,COMPARE_REF_TO_TEXTURE:34894,RGBA32F:34836,RGB32F:34837,RGBA16F:34842,RGB16F:34843,VERTEX_ATTRIB_ARRAY_INTEGER:35069,MAX_ARRAY_TEXTURE_LAYERS:35071,MIN_PROGRAM_TEXEL_OFFSET:35076,MAX_PROGRAM_TEXEL_OFFSET:35077,MAX_VARYING_COMPONENTS:35659,TEXTURE_2D_ARRAY:35866,TEXTURE_BINDING_2D_ARRAY:35869,R11F_G11F_B10F:35898,UNSIGNED_INT_10F_11F_11F_REV:35899,RGB9_E5:35901,UNSIGNED_INT_5_9_9_9_REV:35902,TRANSFORM_FEEDBACK_BUFFER_MODE:35967,MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS:35968,TRANSFORM_FEEDBACK_VARYINGS:35971,TRANSFORM_FEEDBACK_BUFFER_START:35972,TRANSFORM_FEEDBACK_BUFFER_SIZE:35973,TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN:35976,RASTERIZER_DISCARD:35977,MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS:35978,MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS:35979,INTERLEAVED_ATTRIBS:35980,SEPARATE_ATTRIBS:35981,TRANSFORM_FEEDBACK_BUFFER:35982,TRANSFORM_FEEDBACK_BUFFER_BINDING:35983,RGBA32UI:36208,RGB32UI:36209,RGBA16UI:36214,RGB16UI:36215,RGBA8UI:36220,RGB8UI:36221,RGBA32I:36226,RGB32I:36227,RGBA16I:36232,RGB16I:36233,RGBA8I:36238,RGB8I:36239,RED_INTEGER:36244,RGB_INTEGER:36248,RGBA_INTEGER:36249,SAMPLER_2D_ARRAY:36289,SAMPLER_2D_ARRAY_SHADOW:36292,SAMPLER_CUBE_SHADOW:36293,UNSIGNED_INT_VEC2:36294,UNSIGNED_INT_VEC3:36295,UNSIGNED_INT_VEC4:36296,INT_SAMPLER_2D:36298,INT_SAMPLER_3D:36299,INT_SAMPLER_CUBE:36300,INT_SAMPLER_2D_ARRAY:36303,UNSIGNED_INT_SAMPLER_2D:36306,UNSIGNED_INT_SAMPLER_3D:36307,UNSIGNED_INT_SAMPLER_CUBE:36308,UNSIGNED_INT_SAMPLER_2D_ARRAY:36311,DEPTH_COMPONENT32F:36012,DEPTH32F_STENCIL8:36013,FLOAT_32_UNSIGNED_INT_24_8_REV:36269,FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING:33296,FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE:33297,FRAMEBUFFER_ATTACHMENT_RED_SIZE:33298,FRAMEBUFFER_ATTACHMENT_GREEN_SIZE:33299,FRAMEBUFFER_ATTACHMENT_BLUE_SIZE:33300,FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE:33301,FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE:33302,FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE:33303,FRAMEBUFFER_DEFAULT:33304,UNSIGNED_INT_24_8:34042,DEPTH24_STENCIL8:35056,UNSIGNED_NORMALIZED:35863,DRAW_FRAMEBUFFER_BINDING:36006,READ_FRAMEBUFFER:36008,DRAW_FRAMEBUFFER:36009,READ_FRAMEBUFFER_BINDING:36010,RENDERBUFFER_SAMPLES:36011,FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER:36052,MAX_COLOR_ATTACHMENTS:36063,COLOR_ATTACHMENT1:36065,COLOR_ATTACHMENT2:36066,COLOR_ATTACHMENT3:36067,COLOR_ATTACHMENT4:36068,COLOR_ATTACHMENT5:36069,COLOR_ATTACHMENT6:36070,COLOR_ATTACHMENT7:36071,COLOR_ATTACHMENT8:36072,COLOR_ATTACHMENT9:36073,COLOR_ATTACHMENT10:36074,COLOR_ATTACHMENT11:36075,COLOR_ATTACHMENT12:36076,COLOR_ATTACHMENT13:36077,COLOR_ATTACHMENT14:36078,COLOR_ATTACHMENT15:36079,FRAMEBUFFER_INCOMPLETE_MULTISAMPLE:36182,MAX_SAMPLES:36183,HALF_FLOAT:5131,RG:33319,RG_INTEGER:33320,R8:33321,RG8:33323,R16F:33325,R32F:33326,RG16F:33327,RG32F:33328,R8I:33329,R8UI:33330,R16I:33331,R16UI:33332,R32I:33333,R32UI:33334,RG8I:33335,RG8UI:33336,RG16I:33337,RG16UI:33338,RG32I:33339,RG32UI:33340,VERTEX_ARRAY_BINDING:34229,R8_SNORM:36756,RG8_SNORM:36757,RGB8_SNORM:36758,RGBA8_SNORM:36759,SIGNED_NORMALIZED:36764,COPY_READ_BUFFER:36662,COPY_WRITE_BUFFER:36663,COPY_READ_BUFFER_BINDING:36662,COPY_WRITE_BUFFER_BINDING:36663,UNIFORM_BUFFER:35345,UNIFORM_BUFFER_BINDING:35368,UNIFORM_BUFFER_START:35369,UNIFORM_BUFFER_SIZE:35370,MAX_VERTEX_UNIFORM_BLOCKS:35371,MAX_FRAGMENT_UNIFORM_BLOCKS:35373,MAX_COMBINED_UNIFORM_BLOCKS:35374,MAX_UNIFORM_BUFFER_BINDINGS:35375,MAX_UNIFORM_BLOCK_SIZE:35376,MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS:35377,MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS:35379,UNIFORM_BUFFER_OFFSET_ALIGNMENT:35380,ACTIVE_UNIFORM_BLOCKS:35382,UNIFORM_TYPE:35383,UNIFORM_SIZE:35384,UNIFORM_BLOCK_INDEX:35386,UNIFORM_OFFSET:35387,UNIFORM_ARRAY_STRIDE:35388,UNIFORM_MATRIX_STRIDE:35389,UNIFORM_IS_ROW_MAJOR:35390,UNIFORM_BLOCK_BINDING:35391,UNIFORM_BLOCK_DATA_SIZE:35392,UNIFORM_BLOCK_ACTIVE_UNIFORMS:35394,UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES:35395,UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER:35396,UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER:35398,INVALID_INDEX:4294967295,MAX_VERTEX_OUTPUT_COMPONENTS:37154,MAX_FRAGMENT_INPUT_COMPONENTS:37157,MAX_SERVER_WAIT_TIMEOUT:37137,OBJECT_TYPE:37138,SYNC_CONDITION:37139,SYNC_STATUS:37140,SYNC_FLAGS:37141,SYNC_FENCE:37142,SYNC_GPU_COMMANDS_COMPLETE:37143,UNSIGNALED:37144,SIGNALED:37145,ALREADY_SIGNALED:37146,TIMEOUT_EXPIRED:37147,CONDITION_SATISFIED:37148,WAIT_FAILED:37149,SYNC_FLUSH_COMMANDS_BIT:1,VERTEX_ATTRIB_ARRAY_DIVISOR:35070,ANY_SAMPLES_PASSED:35887,ANY_SAMPLES_PASSED_CONSERVATIVE:36202,SAMPLER_BINDING:35097,RGB10_A2UI:36975,INT_2_10_10_10_REV:36255,TRANSFORM_FEEDBACK:36386,TRANSFORM_FEEDBACK_PAUSED:36387,TRANSFORM_FEEDBACK_ACTIVE:36388,TRANSFORM_FEEDBACK_BINDING:36389,COMPRESSED_R11_EAC:37488,COMPRESSED_SIGNED_R11_EAC:37489,COMPRESSED_RG11_EAC:37490,COMPRESSED_SIGNED_RG11_EAC:37491,COMPRESSED_RGB8_ETC2:37492,COMPRESSED_SRGB8_ETC2:37493,COMPRESSED_RGB8_PUNCHTHROUGH_ALPHA1_ETC2:37494,COMPRESSED_SRGB8_PUNCHTHROUGH_ALPHA1_ETC2:37495,COMPRESSED_RGBA8_ETC2_EAC:37496,COMPRESSED_SRGB8_ALPHA8_ETC2_EAC:37497,TEXTURE_IMMUTABLE_FORMAT:37167,MAX_ELEMENT_INDEX:36203,TEXTURE_IMMUTABLE_LEVELS:33503,MAX_TEXTURE_MAX_ANISOTROPY_EXT:34047},te=Object.freeze(gEe);var yEe=new h;function Dt(e){this._size=e.size,this._datatype=e.datatype,this.getValue=e.getValue}var ta={};ta[te.FLOAT]="float";ta[te.FLOAT_VEC2]="vec2";ta[te.FLOAT_VEC3]="vec3";ta[te.FLOAT_VEC4]="vec4";ta[te.INT]="int";ta[te.INT_VEC2]="ivec2";ta[te.INT_VEC3]="ivec3";ta[te.INT_VEC4]="ivec4";ta[te.BOOL]="bool";ta[te.BOOL_VEC2]="bvec2";ta[te.BOOL_VEC3]="bvec3";ta[te.BOOL_VEC4]="bvec4";ta[te.FLOAT_MAT2]="mat2";ta[te.FLOAT_MAT3]="mat3";ta[te.FLOAT_MAT4]="mat4";ta[te.SAMPLER_2D]="sampler2D";ta[te.SAMPLER_CUBE]="samplerCube";Dt.prototype.getDeclaration=function(e){let t=`uniform ${ta[this._datatype]} ${e}`,n=this._size;return n===1?t+=";":t+=`[${n.toString()}];`,t};var xEe={czm_viewport:new Dt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.viewportCartesian4}}),czm_viewportOrthographic:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportOrthographic}}),czm_viewportTransformation:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewportTransformation}}),czm_globeDepthTexture:new Dt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.globeDepthTexture}}),czm_model:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.model}}),czm_inverseModel:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModel}}),czm_view:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view}}),czm_view3D:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.view3D}}),czm_viewRotation:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation}}),czm_viewRotation3D:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.viewRotation3D}}),czm_inverseView:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView}}),czm_inverseView3D:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseView3D}}),czm_inverseViewRotation:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation}}),czm_inverseViewRotation3D:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseViewRotation3D}}),czm_projection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.projection}}),czm_inverseProjection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseProjection}}),czm_infiniteProjection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.infiniteProjection}}),czm_modelView:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView}}),czm_modelView3D:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelView3D}}),czm_modelViewRelativeToEye:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewRelativeToEye}}),czm_inverseModelView:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView}}),czm_inverseModelView3D:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelView3D}}),czm_viewProjection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.viewProjection}}),czm_inverseViewProjection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseViewProjection}}),czm_modelViewProjection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjection}}),czm_inverseModelViewProjection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.inverseModelViewProjection}}),czm_modelViewProjectionRelativeToEye:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewProjectionRelativeToEye}}),czm_modelViewInfiniteProjection:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelViewInfiniteProjection}}),czm_orthographicIn3D:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.orthographicIn3D?1:0}}),czm_normal:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal}}),czm_normal3D:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.normal3D}}),czm_inverseNormal:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal}}),czm_inverseNormal3D:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.inverseNormal3D}}),czm_eyeHeight:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.eyeHeight}}),czm_eyeHeight2D:new Dt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeHeight2D}}),czm_eyeEllipsoidNormalEC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.eyeEllipsoidNormalEC}}),czm_eyeEllipsoidCurvature:new Dt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.eyeEllipsoidCurvature}}),czm_modelToEnu:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.modelToEnu}}),czm_enuToModel:new Dt({size:1,datatype:te.FLOAT_MAT4,getValue:function(e){return e.enuToModel}}),czm_entireFrustum:new Dt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.entireFrustum}}),czm_currentFrustum:new Dt({size:1,datatype:te.FLOAT_VEC2,getValue:function(e){return e.currentFrustum}}),czm_frustumPlanes:new Dt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.frustumPlanes}}),czm_farDepthFromNearPlusOne:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.farDepthFromNearPlusOne}}),czm_log2FarDepthFromNearPlusOne:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.log2FarDepthFromNearPlusOne}}),czm_oneOverLog2FarDepthFromNearPlusOne:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.oneOverLog2FarDepthFromNearPlusOne}}),czm_sunPositionWC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionWC}}),czm_sunPositionColumbusView:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunPositionColumbusView}}),czm_sunDirectionEC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionEC}}),czm_sunDirectionWC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sunDirectionWC}}),czm_moonDirectionEC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.moonDirectionEC}}),czm_lightDirectionEC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionEC}}),czm_lightDirectionWC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightDirectionWC}}),czm_lightColor:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColor}}),czm_lightColorHdr:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.lightColorHdr}}),czm_encodedCameraPositionMCHigh:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCHigh}}),czm_encodedCameraPositionMCLow:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.encodedCameraPositionMCLow}}),czm_viewerPositionWC:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return F.getTranslation(e.inverseView,yEe)}}),czm_frameNumber:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.frameNumber}}),czm_morphTime:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.morphTime}}),czm_sceneMode:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.frameState.mode}}),czm_pass:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pass}}),czm_backgroundColor:new Dt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.backgroundColor}}),czm_brdfLut:new Dt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.brdfLut}}),czm_environmentMap:new Dt({size:1,datatype:te.SAMPLER_CUBE,getValue:function(e){return e.environmentMap}}),czm_specularEnvironmentMaps:new Dt({size:1,datatype:te.SAMPLER_2D,getValue:function(e){return e.specularEnvironmentMaps}}),czm_specularEnvironmentMapsMaximumLOD:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.specularEnvironmentMapsMaximumLOD}}),czm_sphericalHarmonicCoefficients:new Dt({size:9,datatype:te.FLOAT_VEC3,getValue:function(e){return e.sphericalHarmonicCoefficients}}),czm_temeToPseudoFixed:new Dt({size:1,datatype:te.FLOAT_MAT3,getValue:function(e){return e.temeToPseudoFixedMatrix}}),czm_pixelRatio:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.pixelRatio}}),czm_fogDensity:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogDensity}}),czm_fogVisualDensityScalar:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogVisualDensityScalar}}),czm_fogMinimumBrightness:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.fogMinimumBrightness}}),czm_atmosphereHsbShift:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereHsbShift}}),czm_atmosphereLightIntensity:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereLightIntensity}}),czm_atmosphereRayleighCoefficient:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereRayleighCoefficient}}),czm_atmosphereRayleighScaleHeight:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereRayleighScaleHeight}}),czm_atmosphereMieCoefficient:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.atmosphereMieCoefficient}}),czm_atmosphereMieScaleHeight:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieScaleHeight}}),czm_atmosphereMieAnisotropy:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereMieAnisotropy}}),czm_atmosphereDynamicLighting:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.atmosphereDynamicLighting}}),czm_splitPosition:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.splitPosition}}),czm_geometricToleranceOverMeter:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.geometricToleranceOverMeter}}),czm_minimumDisableDepthTestDistance:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.minimumDisableDepthTestDistance}}),czm_invertClassificationColor:new Dt({size:1,datatype:te.FLOAT_VEC4,getValue:function(e){return e.invertClassificationColor}}),czm_gamma:new Dt({size:1,datatype:te.FLOAT,getValue:function(e){return e.gamma}}),czm_ellipsoidRadii:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.radii}}),czm_ellipsoidInverseRadii:new Dt({size:1,datatype:te.FLOAT_VEC3,getValue:function(e){return e.ellipsoid.oneOverRadii}})},M_=xEe;function bEe(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)})}var Gn=bEe;function TEe(){return!0}function CEe(e,t){t=y(t,"This object was destroyed, i.e., destroy() was called.");function n(){}for(let i in e)typeof e[i]=="function"&&(e[i]=n);e.isDestroyed=TEe}var ue=CEe;var Ls={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT};Ls.getSizeInBytes=function(e){switch(e){case Ls.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Ls.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Ls.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT}};Ls.fromSizeInBytes=function(e){switch(e){case 2:return Ls.UNSIGNED_SHORT;case 4:return Ls.UNSIGNED_INT;case 1:return Ls.UNSIGNED_BYTE}};Ls.validate=function(e){return l(e)&&(e===Ls.UNSIGNED_BYTE||e===Ls.UNSIGNED_SHORT||e===Ls.UNSIGNED_INT)};Ls.createTypedArray=function(e,t){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t):new Uint16Array(t)};Ls.createTypedArrayFromArrayBuffer=function(e,t,n,i){return e>=P.SIXTY_FOUR_KILOBYTES?new Uint32Array(t,n,i):new Uint16Array(t,n,i)};Ls.fromTypedArray=function(e){if(e instanceof Uint8Array)return Ls.UNSIGNED_BYTE;if(e instanceof Uint16Array)return Ls.UNSIGNED_SHORT;if(e instanceof Uint32Array)return Ls.UNSIGNED_INT};var ke=Object.freeze(Ls);var s1={STREAM_DRAW:te.STREAM_DRAW,STATIC_DRAW:te.STATIC_DRAW,DYNAMIC_DRAW:te.DYNAMIC_DRAW,validate:function(e){return e===s1.STREAM_DRAW||e===s1.STATIC_DRAW||e===s1.DYNAMIC_DRAW}},Ue=Object.freeze(s1);function Gu(e){e=y(e,y.EMPTY_OBJECT);let t=e.context._gl,n=e.bufferTarget,i=e.typedArray,o=e.sizeInBytes,r=e.usage,s=l(i);s&&(o=i.byteLength);let a=t.createBuffer();t.bindBuffer(n,a),t.bufferData(n,s?i:o,r),t.bindBuffer(n,null),this._id=Gn(),this._gl=t,this._webgl2=e.context._webgl2,this._bufferTarget=n,this._sizeInBytes=o,this._usage=r,this._buffer=a,this.vertexArrayDestroyable=!0}Gu.createVertexBuffer=function(e){return new Gu({context:e.context,bufferTarget:te.ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage})};Gu.createIndexBuffer=function(e){let t=e.context,n=e.indexDatatype,i=ke.getSizeInBytes(n),o=new Gu({context:t,bufferTarget:te.ELEMENT_ARRAY_BUFFER,typedArray:e.typedArray,sizeInBytes:e.sizeInBytes,usage:e.usage}),r=o.sizeInBytes/i;return Object.defineProperties(o,{indexDatatype:{get:function(){return n}},bytesPerIndex:{get:function(){return i}},numberOfIndices:{get:function(){return r}}}),o};Object.defineProperties(Gu.prototype,{sizeInBytes:{get:function(){return this._sizeInBytes}},usage:{get:function(){return this._usage}}});Gu.prototype._getBuffer=function(){return this._buffer};Gu.prototype.copyFromArrayView=function(e,t){t=y(t,0);let n=this._gl,i=this._bufferTarget;n.bindBuffer(i,this._buffer),n.bufferSubData(i,t,e),n.bindBuffer(i,null)};Gu.prototype.copyFromBuffer=function(e,t,n,i){let o=te.COPY_READ_BUFFER,r=te.COPY_WRITE_BUFFER,s=this._gl;s.bindBuffer(r,this._buffer),s.bindBuffer(o,e._buffer),s.copyBufferSubData(o,r,t,n,i),s.bindBuffer(r,null),s.bindBuffer(o,null)};Gu.prototype.getBufferData=function(e,t,n,i){t=y(t,0),n=y(n,0);let o=this._gl,r=te.COPY_READ_BUFFER;o.bindBuffer(r,this._buffer),o.getBufferSubData(r,t,e,n,i),o.bindBuffer(r,null)};Gu.prototype.isDestroyed=function(){return!1};Gu.prototype.destroy=function(){return this._gl.deleteBuffer(this._buffer),ue(this)};var bt=Gu;var L_,vr={requestFullscreen:void 0,exitFullscreen:void 0,fullscreenEnabled:void 0,fullscreenElement:void 0,fullscreenchange:void 0,fullscreenerror:void 0},ol={};Object.defineProperties(ol,{element:{get:function(){if(ol.supportsFullscreen())return document[vr.fullscreenElement]}},changeEventName:{get:function(){if(ol.supportsFullscreen())return vr.fullscreenchange}},errorEventName:{get:function(){if(ol.supportsFullscreen())return vr.fullscreenerror}},enabled:{get:function(){if(ol.supportsFullscreen())return document[vr.fullscreenEnabled]}},fullscreen:{get:function(){if(ol.supportsFullscreen())return ol.element!==null}}});ol.supportsFullscreen=function(){if(l(L_))return L_;L_=!1;let e=document.body;if(typeof e.requestFullscreen=="function")return vr.requestFullscreen="requestFullscreen",vr.exitFullscreen="exitFullscreen",vr.fullscreenEnabled="fullscreenEnabled",vr.fullscreenElement="fullscreenElement",vr.fullscreenchange="fullscreenchange",vr.fullscreenerror="fullscreenerror",L_=!0,L_;let t=["webkit","moz","o","ms","khtml"],n;for(let i=0,o=t.length;i<o;++i){let r=t[i];n=`${r}RequestFullscreen`,typeof e[n]=="function"?(vr.requestFullscreen=n,L_=!0):(n=`${r}RequestFullScreen`,typeof e[n]=="function"&&(vr.requestFullscreen=n,L_=!0)),n=`${r}ExitFullscreen`,typeof document[n]=="function"?vr.exitFullscreen=n:(n=`${r}CancelFullScreen`,typeof document[n]=="function"&&(vr.exitFullscreen=n)),n=`${r}FullscreenEnabled`,document[n]!==void 0?vr.fullscreenEnabled=n:(n=`${r}FullScreenEnabled`,document[n]!==void 0&&(vr.fullscreenEnabled=n)),n=`${r}FullscreenElement`,document[n]!==void 0?vr.fullscreenElement=n:(n=`${r}FullScreenElement`,document[n]!==void 0&&(vr.fullscreenElement=n)),n=`${r}fullscreenchange`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenChange"),vr.fullscreenchange=n),n=`${r}fullscreenerror`,document[`on${n}`]!==void 0&&(r==="ms"&&(n="MSFullscreenError"),vr.fullscreenerror=n)}return L_};ol.requestFullscreen=function(e,t){ol.supportsFullscreen()&&e[vr.requestFullscreen]({vrDisplay:t})};ol.exitFullscreen=function(){ol.supportsFullscreen()&&document[vr.exitFullscreen]()};ol._names=vr;var wr=ol;var Ga;typeof navigator<"u"?Ga=navigator:Ga={};function P0(e){let t=e.split(".");for(let n=0,i=t.length;n<i;++n)t[n]=parseInt(t[n],10);return t}var a1,u$;function n5(){if(!l(a1)&&(a1=!1,!h1())){let e=/ Chrome\/([\.0-9]+)/.exec(Ga.userAgent);e!==null&&(a1=!0,u$=P0(e[1]))}return a1}function AEe(){return n5()&&u$}var c1,f$;function d$(){if(!l(c1)&&(c1=!1,!n5()&&!h1()&&/ Safari\/[\.0-9]+/.test(Ga.userAgent))){let e=/ Version\/([\.0-9]+)/.exec(Ga.userAgent);e!==null&&(c1=!0,f$=P0(e[1]))}return c1}function EEe(){return d$()&&f$}var l1,e5;function h$(){if(!l(l1)){l1=!1;let e=/ AppleWebKit\/([\.0-9]+)(\+?)/.exec(Ga.userAgent);e!==null&&(l1=!0,e5=P0(e[1]),e5.isNightly=!!e[2])}return l1}function SEe(){return h$()&&e5}var WS,t5;function m$(){if(!l(WS)){WS=!1;let e;Ga.appName==="Microsoft Internet Explorer"?(e=/MSIE ([0-9]{1,}[\.0-9]{0,})/.exec(Ga.userAgent),e!==null&&(WS=!0,t5=P0(e[1]))):Ga.appName==="Netscape"&&(e=/Trident\/.*rv:([0-9]{1,}[\.0-9]{0,})/.exec(Ga.userAgent),e!==null&&(WS=!0,t5=P0(e[1])))}return WS}function vEe(){return m$()&&t5}var u1,p$;function h1(){if(!l(u1)){u1=!1;let e=/ Edg\/([\.0-9]+)/.exec(Ga.userAgent);e!==null&&(u1=!0,p$=P0(e[1]))}return u1}function wEe(){return h1()&&p$}var f1,i5;function m1(){if(!l(f1)){f1=!1;let e=/Firefox\/([\.0-9]+)/.exec(Ga.userAgent);e!==null&&(f1=!0,i5=P0(e[1]))}return f1}var $G;function DEe(){return l($G)||($G=/Windows/i.test(Ga.appVersion)),$G}var QG;function IEe(){return l(QG)||(QG=navigator.platform==="iPhone"||navigator.platform==="iPod"||navigator.platform==="iPad"),QG}function PEe(){return m1()&&i5}var JG;function OEe(){return l(JG)||(JG=!m1()&&typeof PointerEvent<"u"&&(!l(Ga.pointerEnabled)||Ga.pointerEnabled)),JG}var _$,d1;function g$(){if(!l(d1)){let e=document.createElement("canvas");e.setAttribute("style","image-rendering: -moz-crisp-edges;image-rendering: pixelated;");let t=e.style.imageRendering;d1=l(t)&&t!=="",d1&&(_$=t)}return d1}function REe(){return g$()?_$:void 0}function Tc(){return Tc._result}Tc._promise=void 0;Tc._result=void 0;Tc.initialize=function(){return l(Tc._promise)||(Tc._promise=new Promise(e=>{let t=new Image;t.onload=function(){Tc._result=t.width>0&&t.height>0,e(Tc._result)},t.onerror=function(){Tc._result=!1,e(Tc._result)},t.src="data:image/webp;base64,UklGRiIAAABXRUJQVlA4IBYAAAAwAQCdASoBAAEADsD+JaQAA3AAAAAA"})),Tc._promise};Object.defineProperties(Tc,{initialized:{get:function(){return l(Tc._result)}}});var uT=[];typeof ArrayBuffer<"u"&&(uT.push(Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array),typeof Uint8ClampedArray<"u"&&uT.push(Uint8ClampedArray),typeof Uint8ClampedArray<"u"&&uT.push(Uint8ClampedArray),typeof BigInt64Array<"u"&&uT.push(BigInt64Array),typeof BigUint64Array<"u"&&uT.push(BigUint64Array));var Wu={isChrome:n5,chromeVersion:AEe,isSafari:d$,safariVersion:EEe,isWebkit:h$,webkitVersion:SEe,isInternetExplorer:m$,internetExplorerVersion:vEe,isEdge:h1,edgeVersion:wEe,isFirefox:m1,firefoxVersion:PEe,isWindows:DEe,isIPadOrIOS:IEe,hardwareConcurrency:y(Ga.hardwareConcurrency,3),supportsPointerEvents:OEe,supportsImageRenderingPixelated:g$,supportsWebP:Tc,imageRenderingValue:REe,typedArrayTypes:uT};Wu.supportsBasis=function(e){return Wu.supportsWebAssembly()&&e.context.supportsBasis};Wu.supportsFullscreen=function(){return wr.supportsFullscreen()};Wu.supportsTypedArrays=function(){return typeof ArrayBuffer<"u"};Wu.supportsBigInt64Array=function(){return typeof BigInt64Array<"u"};Wu.supportsBigUint64Array=function(){return typeof BigUint64Array<"u"};Wu.supportsBigInt=function(){return typeof BigInt<"u"};Wu.supportsWebWorkers=function(){return typeof Worker<"u"};Wu.supportsWebAssembly=function(){return typeof WebAssembly<"u"};Wu.supportsWebgl2=function(e){return e.context.webgl2};Wu.supportsEsmWebWorkers=function(){return!m1()||parseInt(i5)>=114};var Gt=Wu;function o5(e,t,n){return n<0&&(n+=1),n>1&&(n-=1),n*6<1?e+(t-e)*6*n:n*2<1?t:n*3<2?e+(t-e)*(2/3-n)*6:e}function ie(e,t,n,i){this.red=y(e,1),this.green=y(t,1),this.blue=y(n,1),this.alpha=y(i,1)}ie.fromCartesian4=function(e,t){return l(t)?(t.red=e.x,t.green=e.y,t.blue=e.z,t.alpha=e.w,t):new ie(e.x,e.y,e.z,e.w)};ie.fromBytes=function(e,t,n,i,o){return e=ie.byteToFloat(y(e,255)),t=ie.byteToFloat(y(t,255)),n=ie.byteToFloat(y(n,255)),i=ie.byteToFloat(y(i,255)),l(o)?(o.red=e,o.green=t,o.blue=n,o.alpha=i,o):new ie(e,t,n,i)};ie.fromAlpha=function(e,t,n){return l(n)?(n.red=e.red,n.green=e.green,n.blue=e.blue,n.alpha=t,n):new ie(e.red,e.green,e.blue,t)};var r5,s5,ep;Gt.supportsTypedArrays()&&(r5=new ArrayBuffer(4),s5=new Uint32Array(r5),ep=new Uint8Array(r5));ie.fromRgba=function(e,t){return s5[0]=e,ie.fromBytes(ep[0],ep[1],ep[2],ep[3],t)};ie.fromHsl=function(e,t,n,i,o){e=y(e,0)%1,t=y(t,0),n=y(n,0),i=y(i,1);let r=n,s=n,a=n;if(t!==0){let c;n<.5?c=n*(1+t):c=n+t-n*t;let u=2*n-c;r=o5(u,c,e+1/3),s=o5(u,c,e),a=o5(u,c,e-1/3)}return l(o)?(o.red=r,o.green=s,o.blue=a,o.alpha=i,o):new ie(r,s,a,i)};ie.fromRandom=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.red;if(!l(n)){let s=y(e.minimumRed,0),a=y(e.maximumRed,1);n=s+P.nextRandomNumber()*(a-s)}let i=e.green;if(!l(i)){let s=y(e.minimumGreen,0),a=y(e.maximumGreen,1);i=s+P.nextRandomNumber()*(a-s)}let o=e.blue;if(!l(o)){let s=y(e.minimumBlue,0),a=y(e.maximumBlue,1);o=s+P.nextRandomNumber()*(a-s)}let r=e.alpha;if(!l(r)){let s=y(e.minimumAlpha,0),a=y(e.maximumAlpha,1);r=s+P.nextRandomNumber()*(a-s)}return l(t)?(t.red=n,t.green=i,t.blue=o,t.alpha=r,t):new ie(n,i,o,r)};var MEe=/^#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])?$/i,LEe=/^#([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})?$/i,NEe=/^rgba?\s*\(\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)\s*[,\s]+\s*([0-9.]+%?)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i,FEe=/^hsla?\s*\(\s*([0-9.]+)\s*[,\s]+\s*([0-9.]+%)\s*[,\s]+\s*([0-9.]+%)(?:\s*[,\s/]+\s*([0-9.]+))?\s*\)$/i;ie.fromCssColorString=function(e,t){l(t)||(t=new ie),e=e.trim();let n=ie[e.toUpperCase()];if(l(n))return ie.clone(n,t),t;let i=MEe.exec(e);return i!==null?(t.red=parseInt(i[1],16)/15,t.green=parseInt(i[2],16)/15,t.blue=parseInt(i[3],16)/15,t.alpha=parseInt(y(i[4],"f"),16)/15,t):(i=LEe.exec(e),i!==null?(t.red=parseInt(i[1],16)/255,t.green=parseInt(i[2],16)/255,t.blue=parseInt(i[3],16)/255,t.alpha=parseInt(y(i[4],"ff"),16)/255,t):(i=NEe.exec(e),i!==null?(t.red=parseFloat(i[1])/(i[1].substr(-1)==="%"?100:255),t.green=parseFloat(i[2])/(i[2].substr(-1)==="%"?100:255),t.blue=parseFloat(i[3])/(i[3].substr(-1)==="%"?100:255),t.alpha=parseFloat(y(i[4],"1.0")),t):(i=FEe.exec(e),i!==null?ie.fromHsl(parseFloat(i[1])/360,parseFloat(i[2])/100,parseFloat(i[3])/100,parseFloat(y(i[4],"1.0")),t):(t=void 0,t))))};ie.packedLength=4;ie.pack=function(e,t,n){return n=y(n,0),t[n++]=e.red,t[n++]=e.green,t[n++]=e.blue,t[n]=e.alpha,t};ie.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ie),n.red=e[t++],n.green=e[t++],n.blue=e[t++],n.alpha=e[t],n};ie.byteToFloat=function(e){return e/255};ie.floatToByte=function(e){return e===1?255:e*256|0};ie.clone=function(e,t){if(l(e))return l(t)?(t.red=e.red,t.green=e.green,t.blue=e.blue,t.alpha=e.alpha,t):new ie(e.red,e.green,e.blue,e.alpha)};ie.equals=function(e,t){return e===t||l(e)&&l(t)&&e.red===t.red&&e.green===t.green&&e.blue===t.blue&&e.alpha===t.alpha};ie.equalsArray=function(e,t,n){return e.red===t[n]&&e.green===t[n+1]&&e.blue===t[n+2]&&e.alpha===t[n+3]};ie.prototype.clone=function(e){return ie.clone(this,e)};ie.prototype.equals=function(e){return ie.equals(this,e)};ie.prototype.equalsEpsilon=function(e,t){return this===e||l(e)&&Math.abs(this.red-e.red)<=t&&Math.abs(this.green-e.green)<=t&&Math.abs(this.blue-e.blue)<=t&&Math.abs(this.alpha-e.alpha)<=t};ie.prototype.toString=function(){return`(${this.red}, ${this.green}, ${this.blue}, ${this.alpha})`};ie.prototype.toCssColorString=function(){let e=ie.floatToByte(this.red),t=ie.floatToByte(this.green),n=ie.floatToByte(this.blue);return this.alpha===1?`rgb(${e},${t},${n})`:`rgba(${e},${t},${n},${this.alpha})`};ie.prototype.toCssHexString=function(){let e=ie.floatToByte(this.red).toString(16);e.length<2&&(e=`0${e}`);let t=ie.floatToByte(this.green).toString(16);t.length<2&&(t=`0${t}`);let n=ie.floatToByte(this.blue).toString(16);if(n.length<2&&(n=`0${n}`),this.alpha<1){let i=ie.floatToByte(this.alpha).toString(16);return i.length<2&&(i=`0${i}`),`#${e}${t}${n}${i}`}return`#${e}${t}${n}`};ie.prototype.toBytes=function(e){let t=ie.floatToByte(this.red),n=ie.floatToByte(this.green),i=ie.floatToByte(this.blue),o=ie.floatToByte(this.alpha);return l(e)?(e[0]=t,e[1]=n,e[2]=i,e[3]=o,e):[t,n,i,o]};ie.prototype.toRgba=function(){return ep[0]=ie.floatToByte(this.red),ep[1]=ie.floatToByte(this.green),ep[2]=ie.floatToByte(this.blue),ep[3]=ie.floatToByte(this.alpha),s5[0]};ie.prototype.brighten=function(e,t){return e=1-e,t.red=1-(1-this.red)*e,t.green=1-(1-this.green)*e,t.blue=1-(1-this.blue)*e,t.alpha=this.alpha,t};ie.prototype.darken=function(e,t){return e=1-e,t.red=this.red*e,t.green=this.green*e,t.blue=this.blue*e,t.alpha=this.alpha,t};ie.prototype.withAlpha=function(e,t){return ie.fromAlpha(this,e,t)};ie.add=function(e,t,n){return n.red=e.red+t.red,n.green=e.green+t.green,n.blue=e.blue+t.blue,n.alpha=e.alpha+t.alpha,n};ie.subtract=function(e,t,n){return n.red=e.red-t.red,n.green=e.green-t.green,n.blue=e.blue-t.blue,n.alpha=e.alpha-t.alpha,n};ie.multiply=function(e,t,n){return n.red=e.red*t.red,n.green=e.green*t.green,n.blue=e.blue*t.blue,n.alpha=e.alpha*t.alpha,n};ie.divide=function(e,t,n){return n.red=e.red/t.red,n.green=e.green/t.green,n.blue=e.blue/t.blue,n.alpha=e.alpha/t.alpha,n};ie.mod=function(e,t,n){return n.red=e.red%t.red,n.green=e.green%t.green,n.blue=e.blue%t.blue,n.alpha=e.alpha%t.alpha,n};ie.lerp=function(e,t,n,i){return i.red=P.lerp(e.red,t.red,n),i.green=P.lerp(e.green,t.green,n),i.blue=P.lerp(e.blue,t.blue,n),i.alpha=P.lerp(e.alpha,t.alpha,n),i};ie.multiplyByScalar=function(e,t,n){return n.red=e.red*t,n.green=e.green*t,n.blue=e.blue*t,n.alpha=e.alpha*t,n};ie.divideByScalar=function(e,t,n){return n.red=e.red/t,n.green=e.green/t,n.blue=e.blue/t,n.alpha=e.alpha/t,n};ie.ALICEBLUE=Object.freeze(ie.fromCssColorString("#F0F8FF"));ie.ANTIQUEWHITE=Object.freeze(ie.fromCssColorString("#FAEBD7"));ie.AQUA=Object.freeze(ie.fromCssColorString("#00FFFF"));ie.AQUAMARINE=Object.freeze(ie.fromCssColorString("#7FFFD4"));ie.AZURE=Object.freeze(ie.fromCssColorString("#F0FFFF"));ie.BEIGE=Object.freeze(ie.fromCssColorString("#F5F5DC"));ie.BISQUE=Object.freeze(ie.fromCssColorString("#FFE4C4"));ie.BLACK=Object.freeze(ie.fromCssColorString("#000000"));ie.BLANCHEDALMOND=Object.freeze(ie.fromCssColorString("#FFEBCD"));ie.BLUE=Object.freeze(ie.fromCssColorString("#0000FF"));ie.BLUEVIOLET=Object.freeze(ie.fromCssColorString("#8A2BE2"));ie.BROWN=Object.freeze(ie.fromCssColorString("#A52A2A"));ie.BURLYWOOD=Object.freeze(ie.fromCssColorString("#DEB887"));ie.CADETBLUE=Object.freeze(ie.fromCssColorString("#5F9EA0"));ie.CHARTREUSE=Object.freeze(ie.fromCssColorString("#7FFF00"));ie.CHOCOLATE=Object.freeze(ie.fromCssColorString("#D2691E"));ie.CORAL=Object.freeze(ie.fromCssColorString("#FF7F50"));ie.CORNFLOWERBLUE=Object.freeze(ie.fromCssColorString("#6495ED"));ie.CORNSILK=Object.freeze(ie.fromCssColorString("#FFF8DC"));ie.CRIMSON=Object.freeze(ie.fromCssColorString("#DC143C"));ie.CYAN=Object.freeze(ie.fromCssColorString("#00FFFF"));ie.DARKBLUE=Object.freeze(ie.fromCssColorString("#00008B"));ie.DARKCYAN=Object.freeze(ie.fromCssColorString("#008B8B"));ie.DARKGOLDENROD=Object.freeze(ie.fromCssColorString("#B8860B"));ie.DARKGRAY=Object.freeze(ie.fromCssColorString("#A9A9A9"));ie.DARKGREEN=Object.freeze(ie.fromCssColorString("#006400"));ie.DARKGREY=ie.DARKGRAY;ie.DARKKHAKI=Object.freeze(ie.fromCssColorString("#BDB76B"));ie.DARKMAGENTA=Object.freeze(ie.fromCssColorString("#8B008B"));ie.DARKOLIVEGREEN=Object.freeze(ie.fromCssColorString("#556B2F"));ie.DARKORANGE=Object.freeze(ie.fromCssColorString("#FF8C00"));ie.DARKORCHID=Object.freeze(ie.fromCssColorString("#9932CC"));ie.DARKRED=Object.freeze(ie.fromCssColorString("#8B0000"));ie.DARKSALMON=Object.freeze(ie.fromCssColorString("#E9967A"));ie.DARKSEAGREEN=Object.freeze(ie.fromCssColorString("#8FBC8F"));ie.DARKSLATEBLUE=Object.freeze(ie.fromCssColorString("#483D8B"));ie.DARKSLATEGRAY=Object.freeze(ie.fromCssColorString("#2F4F4F"));ie.DARKSLATEGREY=ie.DARKSLATEGRAY;ie.DARKTURQUOISE=Object.freeze(ie.fromCssColorString("#00CED1"));ie.DARKVIOLET=Object.freeze(ie.fromCssColorString("#9400D3"));ie.DEEPPINK=Object.freeze(ie.fromCssColorString("#FF1493"));ie.DEEPSKYBLUE=Object.freeze(ie.fromCssColorString("#00BFFF"));ie.DIMGRAY=Object.freeze(ie.fromCssColorString("#696969"));ie.DIMGREY=ie.DIMGRAY;ie.DODGERBLUE=Object.freeze(ie.fromCssColorString("#1E90FF"));ie.FIREBRICK=Object.freeze(ie.fromCssColorString("#B22222"));ie.FLORALWHITE=Object.freeze(ie.fromCssColorString("#FFFAF0"));ie.FORESTGREEN=Object.freeze(ie.fromCssColorString("#228B22"));ie.FUCHSIA=Object.freeze(ie.fromCssColorString("#FF00FF"));ie.GAINSBORO=Object.freeze(ie.fromCssColorString("#DCDCDC"));ie.GHOSTWHITE=Object.freeze(ie.fromCssColorString("#F8F8FF"));ie.GOLD=Object.freeze(ie.fromCssColorString("#FFD700"));ie.GOLDENROD=Object.freeze(ie.fromCssColorString("#DAA520"));ie.GRAY=Object.freeze(ie.fromCssColorString("#808080"));ie.GREEN=Object.freeze(ie.fromCssColorString("#008000"));ie.GREENYELLOW=Object.freeze(ie.fromCssColorString("#ADFF2F"));ie.GREY=ie.GRAY;ie.HONEYDEW=Object.freeze(ie.fromCssColorString("#F0FFF0"));ie.HOTPINK=Object.freeze(ie.fromCssColorString("#FF69B4"));ie.INDIANRED=Object.freeze(ie.fromCssColorString("#CD5C5C"));ie.INDIGO=Object.freeze(ie.fromCssColorString("#4B0082"));ie.IVORY=Object.freeze(ie.fromCssColorString("#FFFFF0"));ie.KHAKI=Object.freeze(ie.fromCssColorString("#F0E68C"));ie.LAVENDER=Object.freeze(ie.fromCssColorString("#E6E6FA"));ie.LAVENDAR_BLUSH=Object.freeze(ie.fromCssColorString("#FFF0F5"));ie.LAWNGREEN=Object.freeze(ie.fromCssColorString("#7CFC00"));ie.LEMONCHIFFON=Object.freeze(ie.fromCssColorString("#FFFACD"));ie.LIGHTBLUE=Object.freeze(ie.fromCssColorString("#ADD8E6"));ie.LIGHTCORAL=Object.freeze(ie.fromCssColorString("#F08080"));ie.LIGHTCYAN=Object.freeze(ie.fromCssColorString("#E0FFFF"));ie.LIGHTGOLDENRODYELLOW=Object.freeze(ie.fromCssColorString("#FAFAD2"));ie.LIGHTGRAY=Object.freeze(ie.fromCssColorString("#D3D3D3"));ie.LIGHTGREEN=Object.freeze(ie.fromCssColorString("#90EE90"));ie.LIGHTGREY=ie.LIGHTGRAY;ie.LIGHTPINK=Object.freeze(ie.fromCssColorString("#FFB6C1"));ie.LIGHTSEAGREEN=Object.freeze(ie.fromCssColorString("#20B2AA"));ie.LIGHTSKYBLUE=Object.freeze(ie.fromCssColorString("#87CEFA"));ie.LIGHTSLATEGRAY=Object.freeze(ie.fromCssColorString("#778899"));ie.LIGHTSLATEGREY=ie.LIGHTSLATEGRAY;ie.LIGHTSTEELBLUE=Object.freeze(ie.fromCssColorString("#B0C4DE"));ie.LIGHTYELLOW=Object.freeze(ie.fromCssColorString("#FFFFE0"));ie.LIME=Object.freeze(ie.fromCssColorString("#00FF00"));ie.LIMEGREEN=Object.freeze(ie.fromCssColorString("#32CD32"));ie.LINEN=Object.freeze(ie.fromCssColorString("#FAF0E6"));ie.MAGENTA=Object.freeze(ie.fromCssColorString("#FF00FF"));ie.MAROON=Object.freeze(ie.fromCssColorString("#800000"));ie.MEDIUMAQUAMARINE=Object.freeze(ie.fromCssColorString("#66CDAA"));ie.MEDIUMBLUE=Object.freeze(ie.fromCssColorString("#0000CD"));ie.MEDIUMORCHID=Object.freeze(ie.fromCssColorString("#BA55D3"));ie.MEDIUMPURPLE=Object.freeze(ie.fromCssColorString("#9370DB"));ie.MEDIUMSEAGREEN=Object.freeze(ie.fromCssColorString("#3CB371"));ie.MEDIUMSLATEBLUE=Object.freeze(ie.fromCssColorString("#7B68EE"));ie.MEDIUMSPRINGGREEN=Object.freeze(ie.fromCssColorString("#00FA9A"));ie.MEDIUMTURQUOISE=Object.freeze(ie.fromCssColorString("#48D1CC"));ie.MEDIUMVIOLETRED=Object.freeze(ie.fromCssColorString("#C71585"));ie.MIDNIGHTBLUE=Object.freeze(ie.fromCssColorString("#191970"));ie.MINTCREAM=Object.freeze(ie.fromCssColorString("#F5FFFA"));ie.MISTYROSE=Object.freeze(ie.fromCssColorString("#FFE4E1"));ie.MOCCASIN=Object.freeze(ie.fromCssColorString("#FFE4B5"));ie.NAVAJOWHITE=Object.freeze(ie.fromCssColorString("#FFDEAD"));ie.NAVY=Object.freeze(ie.fromCssColorString("#000080"));ie.OLDLACE=Object.freeze(ie.fromCssColorString("#FDF5E6"));ie.OLIVE=Object.freeze(ie.fromCssColorString("#808000"));ie.OLIVEDRAB=Object.freeze(ie.fromCssColorString("#6B8E23"));ie.ORANGE=Object.freeze(ie.fromCssColorString("#FFA500"));ie.ORANGERED=Object.freeze(ie.fromCssColorString("#FF4500"));ie.ORCHID=Object.freeze(ie.fromCssColorString("#DA70D6"));ie.PALEGOLDENROD=Object.freeze(ie.fromCssColorString("#EEE8AA"));ie.PALEGREEN=Object.freeze(ie.fromCssColorString("#98FB98"));ie.PALETURQUOISE=Object.freeze(ie.fromCssColorString("#AFEEEE"));ie.PALEVIOLETRED=Object.freeze(ie.fromCssColorString("#DB7093"));ie.PAPAYAWHIP=Object.freeze(ie.fromCssColorString("#FFEFD5"));ie.PEACHPUFF=Object.freeze(ie.fromCssColorString("#FFDAB9"));ie.PERU=Object.freeze(ie.fromCssColorString("#CD853F"));ie.PINK=Object.freeze(ie.fromCssColorString("#FFC0CB"));ie.PLUM=Object.freeze(ie.fromCssColorString("#DDA0DD"));ie.POWDERBLUE=Object.freeze(ie.fromCssColorString("#B0E0E6"));ie.PURPLE=Object.freeze(ie.fromCssColorString("#800080"));ie.RED=Object.freeze(ie.fromCssColorString("#FF0000"));ie.ROSYBROWN=Object.freeze(ie.fromCssColorString("#BC8F8F"));ie.ROYALBLUE=Object.freeze(ie.fromCssColorString("#4169E1"));ie.SADDLEBROWN=Object.freeze(ie.fromCssColorString("#8B4513"));ie.SALMON=Object.freeze(ie.fromCssColorString("#FA8072"));ie.SANDYBROWN=Object.freeze(ie.fromCssColorString("#F4A460"));ie.SEAGREEN=Object.freeze(ie.fromCssColorString("#2E8B57"));ie.SEASHELL=Object.freeze(ie.fromCssColorString("#FFF5EE"));ie.SIENNA=Object.freeze(ie.fromCssColorString("#A0522D"));ie.SILVER=Object.freeze(ie.fromCssColorString("#C0C0C0"));ie.SKYBLUE=Object.freeze(ie.fromCssColorString("#87CEEB"));ie.SLATEBLUE=Object.freeze(ie.fromCssColorString("#6A5ACD"));ie.SLATEGRAY=Object.freeze(ie.fromCssColorString("#708090"));ie.SLATEGREY=ie.SLATEGRAY;ie.SNOW=Object.freeze(ie.fromCssColorString("#FFFAFA"));ie.SPRINGGREEN=Object.freeze(ie.fromCssColorString("#00FF7F"));ie.STEELBLUE=Object.freeze(ie.fromCssColorString("#4682B4"));ie.TAN=Object.freeze(ie.fromCssColorString("#D2B48C"));ie.TEAL=Object.freeze(ie.fromCssColorString("#008080"));ie.THISTLE=Object.freeze(ie.fromCssColorString("#D8BFD8"));ie.TOMATO=Object.freeze(ie.fromCssColorString("#FF6347"));ie.TURQUOISE=Object.freeze(ie.fromCssColorString("#40E0D0"));ie.VIOLET=Object.freeze(ie.fromCssColorString("#EE82EE"));ie.WHEAT=Object.freeze(ie.fromCssColorString("#F5DEB3"));ie.WHITE=Object.freeze(ie.fromCssColorString("#FFFFFF"));ie.WHITESMOKE=Object.freeze(ie.fromCssColorString("#F5F5F5"));ie.YELLOW=Object.freeze(ie.fromCssColorString("#FFFF00"));ie.YELLOWGREEN=Object.freeze(ie.fromCssColorString("#9ACD32"));ie.TRANSPARENT=Object.freeze(new ie(0,0,0,0));var z=ie;function p1(e){e=y(e,y.EMPTY_OBJECT),this.color=e.color,this.depth=e.depth,this.stencil=e.stencil,this.renderState=e.renderState,this.framebuffer=e.framebuffer,this.owner=e.owner,this.pass=e.pass}p1.ALL=Object.freeze(new p1({color:new z(0,0,0,0),depth:1,stencil:0}));p1.prototype.execute=function(e,t){e.clear(this,t)};var ri=p1;var BEe={ENVIRONMENT:0,COMPUTE:1,GLOBE:2,TERRAIN_CLASSIFICATION:3,CESIUM_3D_TILE:4,CESIUM_3D_TILE_CLASSIFICATION:5,CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW:6,OPAQUE:7,TRANSLUCENT:8,VOXELS:9,OVERLAY:10,NUMBER_OF_PASSES:11},ve=Object.freeze(BEe);function y$(e){e=y(e,y.EMPTY_OBJECT),this.vertexArray=e.vertexArray,this.fragmentShaderSource=e.fragmentShaderSource,this.shaderProgram=e.shaderProgram,this.uniformMap=e.uniformMap,this.outputTexture=e.outputTexture,this.preExecute=e.preExecute,this.postExecute=e.postExecute,this.canceled=e.canceled,this.persists=y(e.persists,!1),this.pass=ve.COMPUTE,this.owner=e.owner}y$.prototype.execute=function(e){e.execute(this)};var rl=y$;function Ft(e,t){this.x=y(e,0),this.y=y(t,0)}Ft.fromElements=function(e,t,n){return l(n)?(n.x=e,n.y=t,n):new Ft(e,t)};Ft.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t):new Ft(e.x,e.y)};Ft.fromCartesian3=Ft.clone;Ft.fromCartesian4=Ft.clone;Ft.packedLength=2;Ft.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n]=e.y,t};Ft.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ft),n.x=e[t++],n.y=e[t],n};Ft.packArray=function(e,t){let n=e.length,i=n*2;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Ft.pack(e[o],t,o*2);return t};Ft.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/2:t=new Array(n/2);for(let i=0;i<n;i+=2){let o=i/2;t[o]=Ft.unpack(e,i,t[o])}return t};Ft.fromArray=Ft.unpack;Ft.maximumComponent=function(e){return Math.max(e.x,e.y)};Ft.minimumComponent=function(e){return Math.min(e.x,e.y)};Ft.minimumByComponent=function(e,t,n){return n.x=Math.min(e.x,t.x),n.y=Math.min(e.y,t.y),n};Ft.maximumByComponent=function(e,t,n){return n.x=Math.max(e.x,t.x),n.y=Math.max(e.y,t.y),n};Ft.clamp=function(e,t,n,i){let o=P.clamp(e.x,t.x,n.x),r=P.clamp(e.y,t.y,n.y);return i.x=o,i.y=r,i};Ft.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y};Ft.magnitude=function(e){return Math.sqrt(Ft.magnitudeSquared(e))};var _1=new Ft;Ft.distance=function(e,t){return Ft.subtract(e,t,_1),Ft.magnitude(_1)};Ft.distanceSquared=function(e,t){return Ft.subtract(e,t,_1),Ft.magnitudeSquared(_1)};Ft.normalize=function(e,t){let n=Ft.magnitude(e);return t.x=e.x/n,t.y=e.y/n,t};Ft.dot=function(e,t){return e.x*t.x+e.y*t.y};Ft.cross=function(e,t){return e.x*t.y-e.y*t.x};Ft.multiplyComponents=function(e,t,n){return n.x=e.x*t.x,n.y=e.y*t.y,n};Ft.divideComponents=function(e,t,n){return n.x=e.x/t.x,n.y=e.y/t.y,n};Ft.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n};Ft.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n};Ft.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n};Ft.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n};Ft.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t};Ft.abs=function(e,t){return t.x=Math.abs(e.x),t.y=Math.abs(e.y),t};var x$=new Ft;Ft.lerp=function(e,t,n,i){return Ft.multiplyByScalar(t,n,x$),i=Ft.multiplyByScalar(e,1-n,i),Ft.add(x$,i,i)};var b$=new Ft,T$=new Ft;Ft.angleBetween=function(e,t){return Ft.normalize(e,b$),Ft.normalize(t,T$),P.acosClamped(Ft.dot(b$,T$))};var kEe=new Ft;Ft.mostOrthogonalAxis=function(e,t){let n=Ft.normalize(e,kEe);return Ft.abs(n,n),n.x<=n.y?t=Ft.clone(Ft.UNIT_X,t):t=Ft.clone(Ft.UNIT_Y,t),t};Ft.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y};Ft.equalsArray=function(e,t,n){return e.x===t[n]&&e.y===t[n+1]};Ft.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.x,t.x,n,i)&&P.equalsEpsilon(e.y,t.y,n,i)};Ft.ZERO=Object.freeze(new Ft(0,0));Ft.ONE=Object.freeze(new Ft(1,1));Ft.UNIT_X=Object.freeze(new Ft(1,0));Ft.UNIT_Y=Object.freeze(new Ft(0,1));Ft.prototype.clone=function(e){return Ft.clone(this,e)};Ft.prototype.equals=function(e){return Ft.equals(this,e)};Ft.prototype.equalsEpsilon=function(e,t,n){return Ft.equalsEpsilon(this,e,t,n)};Ft.prototype.toString=function(){return`(${this.x}, ${this.y})`};var U=Ft;var VEe=new h,UEe=new h;function zEe(e,t,n,i,o){let r=e.x,s=e.y,a=e.z,c=t.x,u=t.y,f=t.z,d=r*r*c*c,p=s*s*u*u,g=a*a*f*f,m=d+p+g,x=Math.sqrt(1/m),b=h.multiplyByScalar(e,x,VEe);if(m<i)return isFinite(x)?h.clone(b,o):void 0;let T=n.x,C=n.y,A=n.z,S=UEe;S.x=b.x*T*2,S.y=b.y*C*2,S.z=b.z*A*2;let v=(1-x)*h.magnitude(e)/(.5*h.magnitude(S)),D=0,R,O,M,N,_,E,w,I,L,B,H;do{v-=D,M=1/(1+v*T),N=1/(1+v*C),_=1/(1+v*A),E=M*M,w=N*N,I=_*_,L=E*M,B=w*N,H=I*_,R=d*E+p*w+g*I-1,O=d*L*T+p*B*C+g*H*A;let V=-2*O;D=R/V}while(Math.abs(R)>P.EPSILON12);return l(o)?(o.x=r*M,o.y=s*N,o.z=a*_,o):new h(r*M,s*N,a*_)}var fT=zEe;function Oo(e,t,n){this.longitude=y(e,0),this.latitude=y(t,0),this.height=y(n,0)}Oo.fromRadians=function(e,t,n,i){return n=y(n,0),l(i)?(i.longitude=e,i.latitude=t,i.height=n,i):new Oo(e,t,n)};Oo.fromDegrees=function(e,t,n,i){return e=P.toRadians(e),t=P.toRadians(t),Oo.fromRadians(e,t,n,i)};var HEe=new h,GEe=new h,WEe=new h;Oo._ellipsoidOneOverRadii=new h(1/6378137,1/6378137,1/6356752314245179e-9);Oo._ellipsoidOneOverRadiiSquared=new h(1/(6378137*6378137),1/(6378137*6378137),1/(6356752314245179e-9*6356752314245179e-9));Oo._ellipsoidCenterToleranceSquared=P.EPSILON1;Oo.fromCartesian=function(e,t,n){let i=l(t)?t.oneOverRadii:Oo._ellipsoidOneOverRadii,o=l(t)?t.oneOverRadiiSquared:Oo._ellipsoidOneOverRadiiSquared,r=l(t)?t._centerToleranceSquared:Oo._ellipsoidCenterToleranceSquared,s=fT(e,i,o,r,GEe);if(!l(s))return;let a=h.multiplyComponents(s,o,HEe);a=h.normalize(a,a);let c=h.subtract(e,s,WEe),u=Math.atan2(a.y,a.x),f=Math.asin(a.z),d=P.sign(h.dot(c,e))*h.magnitude(c);return l(n)?(n.longitude=u,n.latitude=f,n.height=d,n):new Oo(u,f,d)};Oo.toCartesian=function(e,t,n){return h.fromRadians(e.longitude,e.latitude,e.height,t,n)};Oo.clone=function(e,t){if(l(e))return l(t)?(t.longitude=e.longitude,t.latitude=e.latitude,t.height=e.height,t):new Oo(e.longitude,e.latitude,e.height)};Oo.equals=function(e,t){return e===t||l(e)&&l(t)&&e.longitude===t.longitude&&e.latitude===t.latitude&&e.height===t.height};Oo.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.longitude-t.longitude)<=n&&Math.abs(e.latitude-t.latitude)<=n&&Math.abs(e.height-t.height)<=n};Oo.ZERO=Object.freeze(new Oo(0,0,0));Oo.prototype.clone=function(e){return Oo.clone(this,e)};Oo.prototype.equals=function(e){return Oo.equals(this,e)};Oo.prototype.equalsEpsilon=function(e,t){return Oo.equalsEpsilon(this,e,t)};Oo.prototype.toString=function(){return`(${this.longitude}, ${this.latitude}, ${this.height})`};var fe=Oo;function A$(e,t,n,i){t=y(t,0),n=y(n,0),i=y(i,0),e._radii=new h(t,n,i),e._radiiSquared=new h(t*t,n*n,i*i),e._radiiToTheFourth=new h(t*t*t*t,n*n*n*n,i*i*i*i),e._oneOverRadii=new h(t===0?0:1/t,n===0?0:1/n,i===0?0:1/i),e._oneOverRadiiSquared=new h(t===0?0:1/(t*t),n===0?0:1/(n*n),i===0?0:1/(i*i)),e._minimumRadius=Math.min(t,n,i),e._maximumRadius=Math.max(t,n,i),e._centerToleranceSquared=P.EPSILON1,e._radiiSquared.z!==0&&(e._squaredXOverSquaredZ=e._radiiSquared.x/e._radiiSquared.z)}function mi(e,t,n){this._radii=void 0,this._radiiSquared=void 0,this._radiiToTheFourth=void 0,this._oneOverRadii=void 0,this._oneOverRadiiSquared=void 0,this._minimumRadius=void 0,this._maximumRadius=void 0,this._centerToleranceSquared=void 0,this._squaredXOverSquaredZ=void 0,A$(this,e,t,n)}Object.defineProperties(mi.prototype,{radii:{get:function(){return this._radii}},radiiSquared:{get:function(){return this._radiiSquared}},radiiToTheFourth:{get:function(){return this._radiiToTheFourth}},oneOverRadii:{get:function(){return this._oneOverRadii}},oneOverRadiiSquared:{get:function(){return this._oneOverRadiiSquared}},minimumRadius:{get:function(){return this._minimumRadius}},maximumRadius:{get:function(){return this._maximumRadius}}});mi.clone=function(e,t){if(!l(e))return;let n=e._radii;return l(t)?(h.clone(n,t._radii),h.clone(e._radiiSquared,t._radiiSquared),h.clone(e._radiiToTheFourth,t._radiiToTheFourth),h.clone(e._oneOverRadii,t._oneOverRadii),h.clone(e._oneOverRadiiSquared,t._oneOverRadiiSquared),t._minimumRadius=e._minimumRadius,t._maximumRadius=e._maximumRadius,t._centerToleranceSquared=e._centerToleranceSquared,t):new mi(n.x,n.y,n.z)};mi.fromCartesian3=function(e,t){return l(t)||(t=new mi),l(e)&&A$(t,e.x,e.y,e.z),t};mi.WGS84=Object.freeze(new mi(6378137,6378137,6356752314245179e-9));mi.UNIT_SPHERE=Object.freeze(new mi(1,1,1));mi.MOON=Object.freeze(new mi(P.LUNAR_RADIUS,P.LUNAR_RADIUS,P.LUNAR_RADIUS));mi._default=mi.WGS84;Object.defineProperties(mi,{default:{get:function(){return mi._default},set:function(e){mi._default=e,h._ellipsoidRadiiSquared=e.radiiSquared,fe._ellipsoidOneOverRadii=e.oneOverRadii,fe._ellipsoidOneOverRadiiSquared=e.oneOverRadiiSquared,fe._ellipsoidCenterToleranceSquared=e._centerToleranceSquared}}});mi.prototype.clone=function(e){return mi.clone(this,e)};mi.packedLength=h.packedLength;mi.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),t};mi.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t);return mi.fromCartesian3(i,n)};mi.prototype.geocentricSurfaceNormal=h.normalize;mi.prototype.geodeticSurfaceNormalCartographic=function(e,t){let n=e.longitude,i=e.latitude,o=Math.cos(i),r=o*Math.cos(n),s=o*Math.sin(n),a=Math.sin(i);return l(t)||(t=new h),t.x=r,t.y=s,t.z=a,h.normalize(t,t)};mi.prototype.geodeticSurfaceNormal=function(e,t){if(!h.equalsEpsilon(e,h.ZERO,P.EPSILON14))return l(t)||(t=new h),t=h.multiplyComponents(e,this._oneOverRadiiSquared,t),h.normalize(t,t)};var jEe=new h,qEe=new h;mi.prototype.cartographicToCartesian=function(e,t){let n=jEe,i=qEe;this.geodeticSurfaceNormalCartographic(e,n),h.multiplyComponents(this._radiiSquared,n,i);let o=Math.sqrt(h.dot(n,i));return h.divideByScalar(i,o,i),h.multiplyByScalar(n,e.height,n),l(t)||(t=new h),h.add(i,n,t)};mi.prototype.cartographicArrayToCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=this.cartographicToCartesian(e[i],t[i]);return t};var YEe=new h,XEe=new h,KEe=new h;mi.prototype.cartesianToCartographic=function(e,t){let n=this.scaleToGeodeticSurface(e,XEe);if(!l(n))return;let i=this.geodeticSurfaceNormal(n,YEe),o=h.subtract(e,n,KEe),r=Math.atan2(i.y,i.x),s=Math.asin(i.z),a=P.sign(h.dot(o,e))*h.magnitude(o);return l(t)?(t.longitude=r,t.latitude=s,t.height=a,t):new fe(r,s,a)};mi.prototype.cartesianArrayToCartographicArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.cartesianToCartographic(e[i],t[i]);return t};mi.prototype.scaleToGeodeticSurface=function(e,t){return fT(e,this._oneOverRadii,this._oneOverRadiiSquared,this._centerToleranceSquared,t)};mi.prototype.scaleToGeocentricSurface=function(e,t){l(t)||(t=new h);let n=e.x,i=e.y,o=e.z,r=this._oneOverRadiiSquared,s=1/Math.sqrt(n*n*r.x+i*i*r.y+o*o*r.z);return h.multiplyByScalar(e,s,t)};mi.prototype.transformPositionToScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._oneOverRadii,t)};mi.prototype.transformPositionFromScaledSpace=function(e,t){return l(t)||(t=new h),h.multiplyComponents(e,this._radii,t)};mi.prototype.equals=function(e){return this===e||l(e)&&h.equals(this._radii,e._radii)};mi.prototype.toString=function(){return this._radii.toString()};mi.prototype.getSurfaceNormalIntersectionWithZAxis=function(e,t,n){t=y(t,0);let i=this._squaredXOverSquaredZ;if(l(n)||(n=new h),n.x=0,n.y=0,n.z=e.z*(1-i),!(Math.abs(n.z)>=this._radii.z-t))return n};var ZEe=new h;mi.prototype.getLocalCurvature=function(e,t){l(t)||(t=new U);let n=this.getSurfaceNormalIntersectionWithZAxis(e,0,ZEe),i=h.distance(e,n),o=this.minimumRadius*i/this.maximumRadius**2,r=i*o**2;return U.fromElements(1/i,1/r,t)};var $Ee=[.14887433898163,.43339539412925,.67940956829902,.86506336668898,.97390652851717,0],QEe=[.29552422471475,.26926671930999,.21908636251598,.14945134915058,.066671344308684,0];function C$(e,t,n){let i=.5*(t+e),o=.5*(t-e),r=0;for(let s=0;s<5;s++){let a=o*$Ee[s];r+=QEe[s]*(n(i+a)+n(i-a))}return r*=o,r}mi.prototype.surfaceArea=function(e){let t=e.west,n=e.east,i=e.south,o=e.north;for(;n<t;)n+=P.TWO_PI;let r=this._radiiSquared,s=r.x,a=r.y,c=r.z,u=s*a;return C$(i,o,function(f){let d=Math.cos(f),p=Math.sin(f);return Math.cos(f)*C$(t,n,function(g){let m=Math.cos(g),x=Math.sin(g);return Math.sqrt(u*p*p+c*(a*m*m+s*x*x)*d*d)})})};var ee=mi;function g1(e){this._ellipsoid=y(e,ee.default),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(g1.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});g1.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=e.latitude*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};g1.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=e.y*n,r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var Ii=g1;var JEe={OUTSIDE:-1,INTERSECTING:0,INSIDE:1},jt=Object.freeze(JEe);function eSe(e,t,n){let i=0,o=e.length-1,r,s;for(;i<=o;){if(r=~~((i+o)/2),s=n(e[r],t),s<0){i=r+1;continue}if(s>0){o=r-1;continue}return r}return~(o+1)}var Ro=eSe;function tSe(e,t,n,i,o){this.xPoleWander=e,this.yPoleWander=t,this.xPoleOffset=n,this.yPoleOffset=i,this.ut1MinusUtc=o}var O0=tSe;function nSe(e){return e%4===0&&e%100!==0||e%400===0}var yh=nSe;var E$=[31,28,31,30,31,30,31,31,30,31,30,31];function iSe(e,t,n,i,o,r,s,a){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,0),o=y(o,0),r=y(r,0),s=y(s,0),a=y(a,!1),this.year=e,this.month=t,this.day=n,this.hour=i,this.minute=o,this.second=r,this.millisecond=s,this.isLeapSecond=a;function x(){xo.typeOf.number.greaterThanOrEquals("Year",e,1),xo.typeOf.number.lessThanOrEquals("Year",e,9999),xo.typeOf.number.greaterThanOrEquals("Month",t,1),xo.typeOf.number.lessThanOrEquals("Month",t,12),xo.typeOf.number.greaterThanOrEquals("Day",n,1),xo.typeOf.number.lessThanOrEquals("Day",n,31),xo.typeOf.number.greaterThanOrEquals("Hour",i,0),xo.typeOf.number.lessThanOrEquals("Hour",i,23),xo.typeOf.number.greaterThanOrEquals("Minute",o,0),xo.typeOf.number.lessThanOrEquals("Minute",o,59),xo.typeOf.bool("IsLeapSecond",a),xo.typeOf.number.greaterThanOrEquals("Second",r,0),xo.typeOf.number.lessThanOrEquals("Second",r,a?60:59),xo.typeOf.number.greaterThanOrEquals("Millisecond",s,0),xo.typeOf.number.lessThan("Millisecond",s,1e3)}function b(){let T=t===2&&yh(e)?E$[t-1]+1:E$[t-1];if(n>T)throw new de("Month and Day represents invalid date")}}var N_=iSe;function oSe(e,t){this.julianDate=e,this.offset=t}var qi=oSe;var rSe={SECONDS_PER_MILLISECOND:.001,SECONDS_PER_MINUTE:60,MINUTES_PER_HOUR:60,HOURS_PER_DAY:24,SECONDS_PER_HOUR:3600,MINUTES_PER_DAY:1440,SECONDS_PER_DAY:86400,DAYS_PER_JULIAN_CENTURY:36525,PICOSECOND:1e-9,MODIFIED_JULIAN_DATE_DIFFERENCE:24000005e-1},Xn=Object.freeze(rSe);var sSe={UTC:0,TAI:1},qn=Object.freeze(sSe);var v$=new N_,a5=[31,28,31,30,31,30,31,31,30,31,30,31],c5=29;function l5(e,t){return Ot.compare(e.julianDate,t.julianDate)}var dT=new qi;function x1(e){dT.julianDate=e;let t=Ot.leapSeconds,n=Ro(t,dT,l5);n<0&&(n=~n),n>=t.length&&(n=t.length-1);let i=t[n].offset;n>0&&Ot.secondsDifference(t[n].julianDate,e)>i&&(n--,i=t[n].offset),Ot.addSeconds(e,i,e)}function S$(e,t){dT.julianDate=e;let n=Ot.leapSeconds,i=Ro(n,dT,l5);if(i<0&&(i=~i),i===0)return Ot.addSeconds(e,-n[0].offset,t);if(i>=n.length)return Ot.addSeconds(e,-n[i-1].offset,t);let o=Ot.secondsDifference(n[i].julianDate,e);if(o===0)return Ot.addSeconds(e,-n[i].offset,t);if(!(o<=1))return Ot.addSeconds(e,-n[--i].offset,t)}function F_(e,t,n){let i=t/Xn.SECONDS_PER_DAY|0;return e+=i,t-=Xn.SECONDS_PER_DAY*i,t<0&&(e--,t+=Xn.SECONDS_PER_DAY),n.dayNumber=e,n.secondsOfDay=t,n}function u5(e,t,n,i,o,r,s){let a=(t-14)/12|0,c=e+4800+a,u=(1461*c/4|0)+(367*(t-2-12*a)/12|0)-(3*((c+100)/100|0)/4|0)+n-32075;i=i-12,i<0&&(i+=24);let f=r+(i*Xn.SECONDS_PER_HOUR+o*Xn.SECONDS_PER_MINUTE+s*Xn.SECONDS_PER_MILLISECOND);return f>=43200&&(u-=1),[u,f]}var aSe=/^(\d{4})$/,cSe=/^(\d{4})-(\d{2})$/,lSe=/^(\d{4})-?(\d{3})$/,uSe=/^(\d{4})-?W(\d{2})-?(\d{1})?$/,fSe=/^(\d{4})-?(\d{2})-?(\d{2})$/,f5=/([Z+\-])?(\d{2})?:?(\d{2})?$/,dSe=/^(\d{2})(\.\d+)?/.source+f5.source,hSe=/^(\d{2}):?(\d{2})(\.\d+)?/.source+f5.source,mSe=/^(\d{2}):?(\d{2}):?(\d{2})(\.\d+)?/.source+f5.source;function Ot(e,t,n){this.dayNumber=void 0,this.secondsOfDay=void 0,e=y(e,0),t=y(t,0),n=y(n,qn.UTC);let i=e|0;t=t+(e-i)*Xn.SECONDS_PER_DAY,F_(i,t,this),n===qn.UTC&&x1(this)}Ot.fromGregorianDate=function(e,t){let n=u5(e.year,e.month,e.day,e.hour,e.minute,e.second,e.millisecond);return l(t)?(F_(n[0],n[1],t),x1(t),t):new Ot(n[0],n[1],qn.UTC)};Ot.fromDate=function(e,t){let n=u5(e.getUTCFullYear(),e.getUTCMonth()+1,e.getUTCDate(),e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds());return l(t)?(F_(n[0],n[1],t),x1(t),t):new Ot(n[0],n[1],qn.UTC)};Ot.fromIso8601=function(e,t){e=e.replace(",",".");let n=e.split("T"),i,o=1,r=1,s=0,a=0,c=0,u=0,f=n[0],d=n[1],p,g;if(n=f.match(fSe),n!==null)i=+n[1],o=+n[2],r=+n[3];else if(n=f.match(cSe),n!==null)i=+n[1],o=+n[2];else if(n=f.match(aSe),n!==null)i=+n[1];else{let T;if(n=f.match(lSe),n!==null)i=+n[1],T=+n[2],g=yh(i);else if(n=f.match(uSe),n!==null){i=+n[1];let C=+n[2],A=+n[3]||0,S=new Date(Date.UTC(i,0,4));T=C*7+A-S.getUTCDay()-3}p=new Date(Date.UTC(i,0,1)),p.setUTCDate(T),o=p.getUTCMonth()+1,r=p.getUTCDate()}g=yh(i);let m;if(l(d)){n=d.match(mSe),n!==null?(s=+n[1],a=+n[2],c=+n[3],u=+(n[4]||0)*1e3,m=5):(n=d.match(hSe),n!==null?(s=+n[1],a=+n[2],c=+(n[3]||0)*60,m=4):(n=d.match(dSe),n!==null&&(s=+n[1],a=+(n[2]||0)*60,m=3)));let T=n[m],C=+n[m+1],A=+(n[m+2]||0);switch(T){case"+":s=s-C,a=a-A;break;case"-":s=s+C,a=a+A;break;case"Z":break;default:a=a+new Date(Date.UTC(i,o-1,r,s,a)).getTimezoneOffset();break}}let x=c===60;for(x&&c--;a>=60;)a-=60,s++;for(;s>=24;)s-=24,r++;for(p=g&&o===2?c5:a5[o-1];r>p;)r-=p,o++,o>12&&(o-=12,i++),p=g&&o===2?c5:a5[o-1];for(;a<0;)a+=60,s--;for(;s<0;)s+=24,r--;for(;r<1;)o--,o<1&&(o+=12,i--),p=g&&o===2?c5:a5[o-1],r+=p;let b=u5(i,o,r,s,a,c,u);return l(t)?(F_(b[0],b[1],t),x1(t)):t=new Ot(b[0],b[1],qn.UTC),x&&Ot.addSeconds(t,1,t),t};Ot.now=function(e){return Ot.fromDate(new Date,e)};var y1=new Ot(0,0,qn.TAI);Ot.toGregorianDate=function(e,t){let n=!1,i=S$(e,y1);l(i)||(Ot.addSeconds(e,-1,y1),i=S$(y1,y1),n=!0);let o=i.dayNumber,r=i.secondsOfDay;r>=43200&&(o+=1);let s=o+68569|0,a=4*s/146097|0;s=s-((146097*a+3)/4|0)|0;let c=4e3*(s+1)/1461001|0;s=s-(1461*c/4|0)+31|0;let u=80*s/2447|0,f=s-(2447*u/80|0)|0;s=u/11|0;let d=u+2-12*s|0,p=100*(a-49)+c+s|0,g=r/Xn.SECONDS_PER_HOUR|0,m=r-g*Xn.SECONDS_PER_HOUR,x=m/Xn.SECONDS_PER_MINUTE|0;m=m-x*Xn.SECONDS_PER_MINUTE;let b=m|0,T=(m-b)/Xn.SECONDS_PER_MILLISECOND;return g+=12,g>23&&(g-=24),n&&(b+=1),l(t)?(t.year=p,t.month=d,t.day=f,t.hour=g,t.minute=x,t.second=b,t.millisecond=T,t.isLeapSecond=n,t):new N_(p,d,f,g,x,b,T,n)};Ot.toDate=function(e){let t=Ot.toGregorianDate(e,v$),n=t.second;return t.isLeapSecond&&(n-=1),new Date(Date.UTC(t.year,t.month-1,t.day,t.hour,t.minute,n,t.millisecond))};Ot.toIso8601=function(e,t){let n=Ot.toGregorianDate(e,v$),i=n.year,o=n.month,r=n.day,s=n.hour,a=n.minute,c=n.second,u=n.millisecond;i===1e4&&o===1&&r===1&&s===0&&a===0&&c===0&&u===0&&(i=9999,o=12,r=31,s=24);let f;return!l(t)&&u!==0?(f=(u*.01).toString().replace(".",""),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`):!l(t)||t===0?`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}Z`:(f=(u*.01).toFixed(t).replace(".","").slice(0,t),`${i.toString().padStart(4,"0")}-${o.toString().padStart(2,"0")}-${r.toString().padStart(2,"0")}T${s.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}:${c.toString().padStart(2,"0")}.${f}Z`)};Ot.clone=function(e,t){if(l(e))return l(t)?(t.dayNumber=e.dayNumber,t.secondsOfDay=e.secondsOfDay,t):new Ot(e.dayNumber,e.secondsOfDay,qn.TAI)};Ot.compare=function(e,t){let n=e.dayNumber-t.dayNumber;return n!==0?n:e.secondsOfDay-t.secondsOfDay};Ot.equals=function(e,t){return e===t||l(e)&&l(t)&&e.dayNumber===t.dayNumber&&e.secondsOfDay===t.secondsOfDay};Ot.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(Ot.secondsDifference(e,t))<=n};Ot.totalDays=function(e){return e.dayNumber+e.secondsOfDay/Xn.SECONDS_PER_DAY};Ot.secondsDifference=function(e,t){return(e.dayNumber-t.dayNumber)*Xn.SECONDS_PER_DAY+(e.secondsOfDay-t.secondsOfDay)};Ot.daysDifference=function(e,t){let n=e.dayNumber-t.dayNumber,i=(e.secondsOfDay-t.secondsOfDay)/Xn.SECONDS_PER_DAY;return n+i};Ot.computeTaiMinusUtc=function(e){dT.julianDate=e;let t=Ot.leapSeconds,n=Ro(t,dT,l5);return n<0&&(n=~n,--n,n<0&&(n=0)),t[n].offset};Ot.addSeconds=function(e,t,n){return F_(e.dayNumber,e.secondsOfDay+t,n)};Ot.addMinutes=function(e,t,n){let i=e.secondsOfDay+t*Xn.SECONDS_PER_MINUTE;return F_(e.dayNumber,i,n)};Ot.addHours=function(e,t,n){let i=e.secondsOfDay+t*Xn.SECONDS_PER_HOUR;return F_(e.dayNumber,i,n)};Ot.addDays=function(e,t,n){let i=e.dayNumber+t;return F_(i,e.secondsOfDay,n)};Ot.lessThan=function(e,t){return Ot.compare(e,t)<0};Ot.lessThanOrEquals=function(e,t){return Ot.compare(e,t)<=0};Ot.greaterThan=function(e,t){return Ot.compare(e,t)>0};Ot.greaterThanOrEquals=function(e,t){return Ot.compare(e,t)>=0};Ot.prototype.clone=function(e){return Ot.clone(this,e)};Ot.prototype.equals=function(e){return Ot.equals(this,e)};Ot.prototype.equalsEpsilon=function(e,t){return Ot.equalsEpsilon(this,e,t)};Ot.prototype.toString=function(){return Ot.toIso8601(this)};Ot.leapSeconds=[new qi(new Ot(2441317,43210,qn.TAI),10),new qi(new Ot(2441499,43211,qn.TAI),11),new qi(new Ot(2441683,43212,qn.TAI),12),new qi(new Ot(2442048,43213,qn.TAI),13),new qi(new Ot(2442413,43214,qn.TAI),14),new qi(new Ot(2442778,43215,qn.TAI),15),new qi(new Ot(2443144,43216,qn.TAI),16),new qi(new Ot(2443509,43217,qn.TAI),17),new qi(new Ot(2443874,43218,qn.TAI),18),new qi(new Ot(2444239,43219,qn.TAI),19),new qi(new Ot(2444786,43220,qn.TAI),20),new qi(new Ot(2445151,43221,qn.TAI),21),new qi(new Ot(2445516,43222,qn.TAI),22),new qi(new Ot(2446247,43223,qn.TAI),23),new qi(new Ot(2447161,43224,qn.TAI),24),new qi(new Ot(2447892,43225,qn.TAI),25),new qi(new Ot(2448257,43226,qn.TAI),26),new qi(new Ot(2448804,43227,qn.TAI),27),new qi(new Ot(2449169,43228,qn.TAI),28),new qi(new Ot(2449534,43229,qn.TAI),29),new qi(new Ot(2450083,43230,qn.TAI),30),new qi(new Ot(2450630,43231,qn.TAI),31),new qi(new Ot(2451179,43232,qn.TAI),32),new qi(new Ot(2453736,43233,qn.TAI),33),new qi(new Ot(2454832,43234,qn.TAI),34),new qi(new Ot(2456109,43235,qn.TAI),35),new qi(new Ot(2457204,43236,qn.TAI),36),new qi(new Ot(2457754,43237,qn.TAI),37)];var K=Ot;var j$=Sr(jl(),1);function pSe(e){return(e.length===0||e[e.length-1]!=="/")&&(e=`${e}/`),e}var A1=pSe;function M$(e,t){if(e===null||typeof e!="object")return e;t=y(t,!1);let n=new e.constructor;for(let i in e)if(e.hasOwnProperty(i)){let o=e[i];t&&(o=M$(o,t)),n[i]=o}return n}var We=M$;function L$(e,t,n){n=y(n,!1);let i={},o=l(e),r=l(t),s,a,c;if(o)for(s in e)e.hasOwnProperty(s)&&(a=e[s],r&&n&&typeof a=="object"&&t.hasOwnProperty(s)?(c=t[s],typeof c=="object"?i[s]=L$(a,c,n):i[s]=a):i[s]=a);if(r)for(s in t)t.hasOwnProperty(s)&&!i.hasOwnProperty(s)&&(c=t[s],i[s]=c);return i}var Ct=L$;function _Se(){let e,t,n=new Promise(function(i,o){e=i,t=o});return{resolve:e,reject:t,promise:n}}var ql=_Se;var N$=Sr(jl(),1);function d5(e,t){let n;return typeof document<"u"&&(n=document),d5._implementation(e,t,n)}d5._implementation=function(e,t,n){if(!l(t)){if(typeof n>"u")return e;t=y(n.baseURI,n.location.href)}let i=new N$.default(e);return i.scheme()!==""?i.toString():i.absoluteTo(t).toString()};var tp=d5;var F$=Sr(jl(),1);function gSe(e,t){let n="",i=e.lastIndexOf("/");return i!==-1&&(n=e.substring(0,i+1)),t&&(e=new F$.default(e),e.query().length!==0&&(n+=`?${e.query()}`),e.fragment().length!==0&&(n+=`#${e.fragment()}`)),n}var E1=gSe;var B$=Sr(jl(),1);function ySe(e){let t=new B$.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),i=n.lastIndexOf("."),i===-1?n="":n=n.substr(i+1),n}var pT=ySe;var k$={};function xSe(e,t,n){l(t)||(t=e.width),l(n)||(n=e.height);let i=k$[t];l(i)||(i={},k$[t]=i);let o=i[n];if(!l(o)){let r=document.createElement("canvas");r.width=t,r.height=n,o=r.getContext("2d",{willReadFrequently:!0}),o.globalCompositeOperation="copy",i[n]=o}return o.drawImage(e,0,0,t,n),o.getImageData(0,0,t,n).data}var xh=xSe;var bSe=/^blob:/i;function TSe(e){return bSe.test(e)}var _T=TSe;var bh;function CSe(e){l(bh)||(bh=document.createElement("a")),bh.href=window.location.href;let t=bh.host,n=bh.protocol;return bh.href=e,bh.href=bh.href,n!==bh.protocol||t!==bh.host}var R0=CSe;var ASe=/^data:/i;function ESe(e){return ASe.test(e)}var B_=ESe;function SSe(e){let t=document.createElement("script");return t.async=!0,t.src=e,new Promise((n,i)=>{window.crossOriginIsolated&&t.setAttribute("crossorigin","anonymous");let o=document.getElementsByTagName("head")[0];t.onload=function(){t.onload=void 0,o.removeChild(t),n()},t.onerror=function(r){i(r)},o.appendChild(t)})}var gT=SSe;function vSe(e){let t="";for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=`${encodeURIComponent(n)}=`;if(Array.isArray(i))for(let r=0,s=i.length;r<s;++r)t+=`${o+encodeURIComponent(i[r])}&`;else t+=`${o+encodeURIComponent(i)}&`}return t=t.slice(0,-1),t}var yT=vSe;function wSe(e){let t={};if(e==="")return t;let n=e.replace(/\+/g,"%20").split(/[&;]/);for(let i=0,o=n.length;i<o;++i){let r=n[i].split("="),s=decodeURIComponent(r[0]),a=r[1];l(a)?a=decodeURIComponent(a):a="";let c=t[s];typeof c=="string"?t[s]=[c,a]:Array.isArray(c)?c.push(a):t[s]=a}return t}var ju=wSe;var DSe={UNISSUED:0,ISSUED:1,ACTIVE:2,RECEIVED:3,CANCELLED:4,FAILED:5},ei=Object.freeze(DSe);var ISe={TERRAIN:0,IMAGERY:1,TILES3D:2,OTHER:3},bs=Object.freeze(ISe);function S1(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.throttleByServer,!1),n=y(e.throttle,!1);this.url=e.url,this.requestFunction=e.requestFunction,this.cancelFunction=e.cancelFunction,this.priorityFunction=e.priorityFunction,this.priority=y(e.priority,0),this.throttle=n,this.throttleByServer=t,this.type=y(e.type,bs.OTHER),this.serverKey=e.serverKey,this.state=ei.UNISSUED,this.deferred=void 0,this.cancelled=!1}S1.prototype.cancel=function(){this.cancelled=!0};S1.prototype.clone=function(e){return l(e)?(e.url=this.url,e.requestFunction=this.requestFunction,e.cancelFunction=this.cancelFunction,e.priorityFunction=this.priorityFunction,e.priority=this.priority,e.throttle=this.throttle,e.throttleByServer=this.throttleByServer,e.type=this.type,e.serverKey=this.serverKey,e.state=ei.UNISSUED,e.deferred=void 0,e.cancelled=!1,e):new S1(this)};var or=S1;function PSe(e){let t={};if(!e)return t;let n=e.split(`\r +`);for(let i=0;i<n.length;++i){let o=n[i],r=o.indexOf(": ");if(r>0){let s=o.substring(0,r),a=o.substring(r+2);t[s]=a}}return t}var v1=PSe;function V$(e,t,n){this.statusCode=e,this.response=t,this.responseHeaders=n,typeof this.responseHeaders=="string"&&(this.responseHeaders=v1(this.responseHeaders))}V$.prototype.toString=function(){let e="Request has failed.";return l(this.statusCode)&&(e+=` Status Code: ${this.statusCode}`),e};var np=V$;var D1=Sr(jl(),1);function jS(){this._listeners=[],this._scopes=[],this._toRemove=[],this._insideRaiseEvent=!1}Object.defineProperties(jS.prototype,{numberOfListeners:{get:function(){return this._listeners.length-this._toRemove.length}}});jS.prototype.addEventListener=function(e,t){this._listeners.push(e),this._scopes.push(t);let n=this;return function(){n.removeEventListener(e,t)}};jS.prototype.removeEventListener=function(e,t){let n=this._listeners,i=this._scopes,o=-1;for(let r=0;r<n.length;r++)if(n[r]===e&&i[r]===t){o=r;break}return o!==-1?(this._insideRaiseEvent?(this._toRemove.push(o),n[o]=void 0,i[o]=void 0):(n.splice(o,1),i.splice(o,1)),!0):!1};function OSe(e,t){return t-e}jS.prototype.raiseEvent=function(){this._insideRaiseEvent=!0;let e,t=this._listeners,n=this._scopes,i=t.length;for(e=0;e<i;e++){let r=t[e];l(r)&&t[e].apply(n[e],arguments)}let o=this._toRemove;if(i=o.length,i>0){for(o.sort(OSe),e=0;e<i;e++){let r=o[e];t.splice(r,1),n.splice(r,1)}o.length=0}this._insideRaiseEvent=!1};var me=jS;function M0(e){this._comparator=e.comparator,this._array=[],this._length=0,this._maximumLength=void 0}Object.defineProperties(M0.prototype,{length:{get:function(){return this._length}},internalArray:{get:function(){return this._array}},maximumLength:{get:function(){return this._maximumLength},set:function(e){let t=this._length;if(e<t){let n=this._array;for(let i=e;i<t;++i)n[i]=void 0;this._length=e,n.length=e}this._maximumLength=e}},comparator:{get:function(){return this._comparator}}});function h5(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}M0.prototype.reserve=function(e){e=y(e,this._length),this._array.length=e};M0.prototype.heapify=function(e){e=y(e,0);let t=this._length,n=this._comparator,i=this._array,o=-1,r=!0;for(;r;){let s=2*(e+1),a=s-1;a<t&&n(i[a],i[e])<0?o=a:o=e,s<t&&n(i[s],i[o])<0&&(o=s),o!==e?(h5(i,o,e),e=o):r=!1}};M0.prototype.resort=function(){let e=this._length;for(let t=Math.ceil(e/2);t>=0;--t)this.heapify(t)};M0.prototype.insert=function(e){let t=this._array,n=this._comparator,i=this._maximumLength,o=this._length++;for(o<t.length?t[o]=e:t.push(e);o!==0;){let s=Math.floor((o-1)/2);if(n(t[o],t[s])<0)h5(t,o,s),o=s;else break}let r;return l(i)&&this._length>i&&(r=t[i],this._length=i),r};M0.prototype.pop=function(e){if(e=y(e,0),this._length===0)return;let t=this._array,n=t[e];return h5(t,e,--this._length),this.heapify(e),t[this._length]=void 0,n};var w1=M0;function RSe(e,t){return e.priority-t.priority}var Qi={numberOfAttemptedRequests:0,numberOfActiveRequests:0,numberOfCancelledRequests:0,numberOfCancelledActiveRequests:0,numberOfFailedRequests:0,numberOfActiveRequestsEver:0,lastNumberOfActiveRequests:0},xT=20,Wa=new w1({comparator:RSe});Wa.maximumLength=xT;Wa.reserve(xT);var Th=[],ip={},MSe=typeof document<"u"?new D1.default(document.location.href):new D1.default,I1=new me;function jo(){}jo.maximumRequests=50;jo.maximumRequestsPerServer=18;jo.requestsByServer={};jo.throttleRequests=!0;jo.debugShowStatistics=!1;jo.requestCompletedEvent=I1;Object.defineProperties(jo,{statistics:{get:function(){return Qi}},priorityHeapLength:{get:function(){return xT},set:function(e){if(e<xT)for(;Wa.length>e;){let t=Wa.pop();L0(t)}xT=e,Wa.maximumLength=e,Wa.reserve(e)}}});function U$(e){l(e.priorityFunction)&&(e.priority=e.priorityFunction())}jo.serverHasOpenSlots=function(e,t){t=y(t,1);let n=y(jo.requestsByServer[e],jo.maximumRequestsPerServer);return ip[e]+t<=n};jo.heapHasOpenSlots=function(e){return Wa.length+e<=xT};function z$(e){return e.state===ei.UNISSUED&&(e.state=ei.ISSUED,e.deferred=ql()),e.deferred.promise}function LSe(e){return function(t){if(e.state===ei.CANCELLED)return;let n=e.deferred;--Qi.numberOfActiveRequests,--ip[e.serverKey],I1.raiseEvent(),e.state=ei.RECEIVED,e.deferred=void 0,n.resolve(t)}}function NSe(e){return function(t){e.state!==ei.CANCELLED&&(++Qi.numberOfFailedRequests,--Qi.numberOfActiveRequests,--ip[e.serverKey],I1.raiseEvent(t),e.state=ei.FAILED,e.deferred.reject(t))}}function H$(e){let t=z$(e);return e.state=ei.ACTIVE,Th.push(e),++Qi.numberOfActiveRequests,++Qi.numberOfActiveRequestsEver,++ip[e.serverKey],e.requestFunction().then(LSe(e)).catch(NSe(e)),t}function L0(e){let t=e.state===ei.ACTIVE;if(e.state=ei.CANCELLED,++Qi.numberOfCancelledRequests,l(e.deferred)){let n=e.deferred;e.deferred=void 0,n.reject()}t&&(--Qi.numberOfActiveRequests,--ip[e.serverKey],++Qi.numberOfCancelledActiveRequests),l(e.cancelFunction)&&e.cancelFunction()}jo.update=function(){let e,t,n=0,i=Th.length;for(e=0;e<i;++e){if(t=Th[e],t.cancelled&&L0(t),t.state!==ei.ACTIVE){++n;continue}n>0&&(Th[e-n]=t)}Th.length-=n;let o=Wa.internalArray,r=Wa.length;for(e=0;e<r;++e)U$(o[e]);Wa.resort();let s=Math.max(jo.maximumRequests-Th.length,0),a=0;for(;a<s&&Wa.length>0;){if(t=Wa.pop(),t.cancelled){L0(t);continue}if(t.throttleByServer&&!jo.serverHasOpenSlots(t.serverKey)){L0(t);continue}H$(t),++a}FSe()};jo.getServerKey=function(e){let t=new D1.default(e);t.scheme()===""&&(t=t.absoluteTo(MSe),t.normalize());let n=t.authority();/:/.test(n)||(n=`${n}:${t.scheme()==="https"?"443":"80"}`);let i=ip[n];return l(i)||(ip[n]=0),n};jo.request=function(e){if(B_(e.url)||_T(e.url))return I1.raiseEvent(),e.state=ei.RECEIVED,e.requestFunction();if(++Qi.numberOfAttemptedRequests,l(e.serverKey)||(e.serverKey=jo.getServerKey(e.url)),jo.throttleRequests&&e.throttleByServer&&!jo.serverHasOpenSlots(e.serverKey))return;if(!jo.throttleRequests||!e.throttle)return H$(e);if(Th.length>=jo.maximumRequests)return;U$(e);let t=Wa.insert(e);if(l(t)){if(t===e)return;L0(t)}return z$(e)};function FSe(){jo.debugShowStatistics&&(Qi.numberOfActiveRequests===0&&Qi.lastNumberOfActiveRequests>0&&(Qi.numberOfAttemptedRequests>0&&(console.log(`Number of attempted requests: ${Qi.numberOfAttemptedRequests}`),Qi.numberOfAttemptedRequests=0),Qi.numberOfCancelledRequests>0&&(console.log(`Number of cancelled requests: ${Qi.numberOfCancelledRequests}`),Qi.numberOfCancelledRequests=0),Qi.numberOfCancelledActiveRequests>0&&(console.log(`Number of cancelled active requests: ${Qi.numberOfCancelledActiveRequests}`),Qi.numberOfCancelledActiveRequests=0),Qi.numberOfFailedRequests>0&&(console.log(`Number of failed requests: ${Qi.numberOfFailedRequests}`),Qi.numberOfFailedRequests=0)),Qi.lastNumberOfActiveRequests=Qi.numberOfActiveRequests)}jo.clearForSpecs=function(){for(;Wa.length>0;){let t=Wa.pop();L0(t)}let e=Th.length;for(let t=0;t<e;++t)L0(Th[t]);Th.length=0,ip={},Qi.numberOfAttemptedRequests=0,Qi.numberOfActiveRequests=0,Qi.numberOfCancelledRequests=0,Qi.numberOfCancelledActiveRequests=0,Qi.numberOfFailedRequests=0,Qi.numberOfActiveRequestsEver=0,Qi.lastNumberOfActiveRequests=0};jo.numberOfActiveRequestsByServer=function(e){return ip[e]};jo.requestHeap=Wa;var Cc=jo;var G$=Sr(jl(),1);var qS={},bT={};qS.add=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(bT[n])||(bT[n]=!0)};qS.remove=function(e,t){let n=`${e.toLowerCase()}:${t}`;l(bT[n])&&delete bT[n]};function BSe(e){let t=new G$.default(e);t.normalize();let n=t.authority();if(n.length!==0){if(t.authority(n),n.indexOf("@")!==-1&&(n=n.split("@")[1]),n.indexOf(":")===-1){let i=t.scheme();if(i.length===0&&(i=window.location.protocol,i=i.substring(0,i.length-1)),i==="http")n+=":80";else if(i==="https")n+=":443";else return}return n}}qS.contains=function(e){let t=BSe(e);return!!(l(t)&&l(bT[t]))};qS.clear=function(){bT={}};var YS=qS;var q$=function(){try{let e=new XMLHttpRequest;return e.open("GET","#",!0),e.responseType="blob",e.responseType==="blob"}catch{return!1}}();function It(e){e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(e={url:e}),this._url=void 0,this._templateValues=Ch(e.templateValues,{}),this._queryParameters=Ch(e.queryParameters,{}),this.headers=Ch(e.headers,{}),this.request=y(e.request,new or),this.proxy=e.proxy,this.retryCallback=e.retryCallback,this.retryAttempts=y(e.retryAttempts,0),this._retryCount=0,y(e.parseUrl,!0)?this.parseUrl(e.url,!0,!0):this._url=e.url,this._credits=e.credits}function Ch(e,t){return l(e)?We(e):t}It.createIfNeeded=function(e){return e instanceof It?e.getDerivedResource({request:e.request}):typeof e!="string"?e:new It({url:e})};var TT;It.supportsImageBitmapOptions=function(){return l(TT)?TT:typeof createImageBitmap!="function"?(TT=Promise.resolve(!1),TT):(TT=It.fetchBlob({url:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAABGdBTUEAAE4g3rEiDgAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAADElEQVQI12Ng6GAAAAEUAIngE3ZiAAAAAElFTkSuQmCC"}).then(function(t){let n={imageOrientation:"flipY",premultiplyAlpha:"none",colorSpaceConversion:"none"};return Promise.all([createImageBitmap(t,n),createImageBitmap(t)])}).then(function(t){let n=xh(t[0]),i=xh(t[1]);return n[1]!==i[1]}).catch(function(){return!1}),TT)};Object.defineProperties(It,{isBlobSupported:{get:function(){return q$}}});Object.defineProperties(It.prototype,{queryParameters:{get:function(){return this._queryParameters}},templateValues:{get:function(){return this._templateValues}},url:{get:function(){return this.getUrlComponent(!0,!0)},set:function(e){this.parseUrl(e,!1,!1)}},extension:{get:function(){return pT(this._url)}},isDataUri:{get:function(){return B_(this._url)}},isBlobUri:{get:function(){return _T(this._url)}},isCrossOriginUrl:{get:function(){return R0(this._url)}},hasHeaders:{get:function(){return Object.keys(this.headers).length>0}},credits:{get:function(){return this._credits}}});It.prototype.toString=function(){return this.getUrlComponent(!0,!0)};It.prototype.parseUrl=function(e,t,n,i){let o=new j$.default(e),r=kSe(o.query());this._queryParameters=t?O1(r,this.queryParameters,n):r,o.search(""),o.fragment(""),l(i)&&o.scheme()===""&&(o=o.absoluteTo(tp(i))),this._url=o.toString()};function kSe(e){return e.length===0?{}:e.indexOf("=")===-1?{[e]:void 0}:ju(e)}function O1(e,t,n){if(!n)return Ct(e,t);let i=We(e,!0);for(let o in t)if(t.hasOwnProperty(o)){let r=i[o],s=t[o];l(r)?(Array.isArray(r)||(r=i[o]=[r]),i[o]=r.concat(s)):i[o]=Array.isArray(s)?s.slice():s}return i}It.prototype.getUrlComponent=function(e,t){if(this.isDataUri)return this._url;let n=this._url;e&&(n=`${n}${VSe(this.queryParameters)}`),n=n.replace(/%7B/g,"{").replace(/%7D/g,"}");let i=this._templateValues;return Object.keys(i).length>0&&(n=n.replace(/{(.*?)}/g,function(o,r){let s=i[r];return l(s)?encodeURIComponent(s):o})),t&&l(this.proxy)&&(n=this.proxy.getURL(n)),n};function VSe(e){let t=Object.keys(e);return t.length===0?"":t.length===1&&!l(e[t[0]])?`?${t[0]}`:`?${yT(e)}`}It.prototype.setQueryParameters=function(e,t){t?this._queryParameters=O1(this._queryParameters,e,!1):this._queryParameters=O1(e,this._queryParameters,!1)};It.prototype.appendQueryParameters=function(e){this._queryParameters=O1(e,this._queryParameters,!0)};It.prototype.setTemplateValues=function(e,t){t?this._templateValues=Ct(this._templateValues,e):this._templateValues=Ct(e,this._templateValues)};It.prototype.getDerivedResource=function(e){let t=this.clone();if(t._retryCount=0,l(e.url)){let n=y(e.preserveQueryParameters,!1);t.parseUrl(e.url,!0,n,this._url)}return l(e.queryParameters)&&(t._queryParameters=Ct(e.queryParameters,t.queryParameters)),l(e.templateValues)&&(t._templateValues=Ct(e.templateValues,t.templateValues)),l(e.headers)&&(t.headers=Ct(e.headers,t.headers)),l(e.proxy)&&(t.proxy=e.proxy),l(e.request)&&(t.request=e.request),l(e.retryCallback)&&(t.retryCallback=e.retryCallback),l(e.retryAttempts)&&(t.retryAttempts=e.retryAttempts),t};It.prototype.retryOnError=function(e){let t=this.retryCallback;if(typeof t!="function"||this._retryCount>=this.retryAttempts)return Promise.resolve(!1);let n=this;return Promise.resolve(t(this,e)).then(function(i){return++n._retryCount,i})};It.prototype.clone=function(e){return l(e)?(e._url=this._url,e._queryParameters=We(this._queryParameters),e._templateValues=We(this._templateValues),e.headers=We(this.headers),e.proxy=this.proxy,e.retryCallback=this.retryCallback,e.retryAttempts=this.retryAttempts,e._retryCount=0,e.request=this.request.clone(),e):new It({url:this._url,queryParameters:this.queryParameters,templateValues:this.templateValues,headers:this.headers,proxy:this.proxy,retryCallback:this.retryCallback,retryAttempts:this.retryAttempts,request:this.request.clone(),parseUrl:!1,credits:l(this.credits)?this.credits.slice():void 0})};It.prototype.getBaseUri=function(e){return E1(this.getUrlComponent(e),e)};It.prototype.appendForwardSlash=function(){this._url=A1(this._url)};It.prototype.fetchArrayBuffer=function(){return this.fetch({responseType:"arraybuffer"})};It.fetchArrayBuffer=function(e){return new It(e).fetchArrayBuffer()};It.prototype.fetchBlob=function(){return this.fetch({responseType:"blob"})};It.fetchBlob=function(e){return new It(e).fetchBlob()};It.prototype.fetchImage=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.preferImageBitmap,!1),n=y(e.preferBlob,!1),i=y(e.flipY,!1),o=y(e.skipColorSpaceConversion,!1);if(p5(this.request),!q$||this.isDataUri||this.isBlobUri||!this.hasHeaders&&!n)return m5({resource:this,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:t});let r=this.fetchBlob();if(!l(r))return;let s,a,c,u;return It.supportsImageBitmapOptions().then(function(f){return s=f,a=s&&t,r}).then(function(f){if(!l(f))return;if(u=f,a)return It.createImageBitmapFromBlob(f,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o});let d=window.URL.createObjectURL(f);return c=new It({url:d}),m5({resource:c,flipY:i,skipColorSpaceConversion:o,preferImageBitmap:!1})}).then(function(f){if(l(f))return f.blob=u,a||window.URL.revokeObjectURL(c.url),f}).catch(function(f){return l(c)&&window.URL.revokeObjectURL(c.url),f.blob=u,Promise.reject(f)})};function m5(e){let t=e.resource,n=e.flipY,i=e.skipColorSpaceConversion,o=e.preferImageBitmap,r=t.request;r.url=t.url,r.requestFunction=function(){let a=!1;!t.isDataUri&&!t.isBlobUri&&(a=t.isCrossOriginUrl);let c=ql();return It._Implementations.createImage(r,a,c,n,i,o),c.promise};let s=Cc.request(r);if(l(s))return s.catch(function(a){return r.state!==ei.FAILED?Promise.reject(a):t.retryOnError(a).then(function(c){return c?(r.state=ei.UNISSUED,r.deferred=void 0,m5({resource:t,flipY:n,skipColorSpaceConversion:i,preferImageBitmap:o})):Promise.reject(a)})})}It.fetchImage=function(e){return new It(e).fetchImage({flipY:e.flipY,skipColorSpaceConversion:e.skipColorSpaceConversion,preferBlob:e.preferBlob,preferImageBitmap:e.preferImageBitmap})};It.prototype.fetchText=function(){return this.fetch({responseType:"text"})};It.fetchText=function(e){return new It(e).fetchText()};It.prototype.fetchJson=function(){let e=this.fetch({responseType:"text",headers:{Accept:"application/json,*/*;q=0.01"}});if(l(e))return e.then(function(t){if(l(t))return JSON.parse(t)})};It.fetchJson=function(e){return new It(e).fetchJson()};It.prototype.fetchXML=function(){return this.fetch({responseType:"document",overrideMimeType:"text/xml"})};It.fetchXML=function(e){return new It(e).fetchXML()};It.prototype.fetchJsonp=function(e){e=y(e,"callback"),p5(this.request);let t;do t=`loadJsonp${P.nextRandomNumber().toString().substring(2,8)}`;while(l(window[t]));return Y$(this,e,t)};function Y$(e,t,n){let i={};i[t]=n,e.setQueryParameters(i);let o=e.request,r=e.url;o.url=r,o.requestFunction=function(){let a=ql();return window[n]=function(c){a.resolve(c);try{delete window[n]}catch{window[n]=void 0}},It._Implementations.loadAndExecuteScript(r,n,a),a.promise};let s=Cc.request(o);if(l(s))return s.catch(function(a){return o.state!==ei.FAILED?Promise.reject(a):e.retryOnError(a).then(function(c){return c?(o.state=ei.UNISSUED,o.deferred=void 0,Y$(e,t,n)):Promise.reject(a)})})}It.fetchJsonp=function(e){return new It(e).fetchJsonp(e.callbackParameterName)};It.prototype._makeRequest=function(e){let t=this;p5(t.request);let n=t.request,i=t.url;n.url=i,n.requestFunction=function(){let r=e.responseType,s=Ct(e.headers,t.headers),a=e.overrideMimeType,c=e.method,u=e.data,f=ql(),d=It._Implementations.loadWithXhr(i,r,c,u,s,f,a);return l(d)&&l(d.abort)&&(n.cancelFunction=function(){d.abort()}),f.promise};let o=Cc.request(n);if(l(o))return o.then(function(r){return n.cancelFunction=void 0,r}).catch(function(r){return n.cancelFunction=void 0,n.state!==ei.FAILED?Promise.reject(r):t.retryOnError(r).then(function(s){return s?(n.state=ei.UNISSUED,n.deferred=void 0,t.fetch(e)):Promise.reject(r)})})};function p5(e){if(e.state===ei.ISSUED||e.state===ei.ACTIVE)throw new se("The Resource is already being fetched.");e.state=ei.UNISSUED,e.deferred=void 0}var USe=/^data:(.*?)(;base64)?,(.*)$/;function P1(e,t){let n=decodeURIComponent(t);return e?atob(n):n}function W$(e,t){let n=P1(e,t),i=new ArrayBuffer(n.length),o=new Uint8Array(i);for(let r=0;r<n.length;r++)o[r]=n.charCodeAt(r);return i}function zSe(e,t){t=y(t,"");let n=e[1],i=!!e[2],o=e[3],r,s;switch(t){case"":case"text":return P1(i,o);case"arraybuffer":return W$(i,o);case"blob":return r=W$(i,o),new Blob([r],{type:n});case"document":return s=new DOMParser,s.parseFromString(P1(i,o),n);case"json":return JSON.parse(P1(i,o));default:}}It.prototype.fetch=function(e){return e=Ch(e,{}),e.method="GET",this._makeRequest(e)};It.fetch=function(e){return new It(e).fetch({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.delete=function(e){return e=Ch(e,{}),e.method="DELETE",this._makeRequest(e)};It.delete=function(e){return new It(e).delete({responseType:e.responseType,overrideMimeType:e.overrideMimeType,data:e.data})};It.prototype.head=function(e){return e=Ch(e,{}),e.method="HEAD",this._makeRequest(e)};It.head=function(e){return new It(e).head({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.options=function(e){return e=Ch(e,{}),e.method="OPTIONS",this._makeRequest(e)};It.options=function(e){return new It(e).options({responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.post=function(e,t){return xo.defined("data",e),t=Ch(t,{}),t.method="POST",t.data=e,this._makeRequest(t)};It.post=function(e){return new It(e).post(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.put=function(e,t){return xo.defined("data",e),t=Ch(t,{}),t.method="PUT",t.data=e,this._makeRequest(t)};It.put=function(e){return new It(e).put(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It.prototype.patch=function(e,t){return xo.defined("data",e),t=Ch(t,{}),t.method="PATCH",t.data=e,this._makeRequest(t)};It.patch=function(e){return new It(e).patch(e.data,{responseType:e.responseType,overrideMimeType:e.overrideMimeType})};It._Implementations={};It._Implementations.loadImageElement=function(e,t,n){let i=new Image;i.onload=function(){i.naturalWidth===0&&i.naturalHeight===0&&i.width===0&&i.height===0&&(i.width=300,i.height=150),n.resolve(i)},i.onerror=function(o){n.reject(o)},t&&(YS.contains(e)?i.crossOrigin="use-credentials":i.crossOrigin=""),i.src=e};It._Implementations.createImage=function(e,t,n,i,o,r){let s=e.url;It.supportsImageBitmapOptions().then(function(a){if(!(a&&r)){It._Implementations.loadImageElement(s,t,n);return}let c="blob",u="GET",f=ql(),d=It._Implementations.loadWithXhr(s,c,u,void 0,void 0,f,void 0,void 0,void 0);return l(d)&&l(d.abort)&&(e.cancelFunction=function(){d.abort()}),f.promise.then(function(p){if(!l(p)){n.reject(new se(`Successfully retrieved ${s} but it contained no content.`));return}return It.createImageBitmapFromBlob(p,{flipY:i,premultiplyAlpha:!1,skipColorSpaceConversion:o})}).then(function(p){n.resolve(p)})}).catch(function(a){n.reject(a)})};It.createImageBitmapFromBlob=function(e,t){return xo.defined("options",t),xo.typeOf.bool("options.flipY",t.flipY),xo.typeOf.bool("options.premultiplyAlpha",t.premultiplyAlpha),xo.typeOf.bool("options.skipColorSpaceConversion",t.skipColorSpaceConversion),createImageBitmap(e,{imageOrientation:t.flipY?"flipY":"none",premultiplyAlpha:t.premultiplyAlpha?"premultiply":"none",colorSpaceConversion:t.skipColorSpaceConversion?"none":"default"})};function HSe(e,t,n,i,o,r,s){fetch(e,{method:n,headers:o}).then(async a=>{if(!a.ok){let c={};a.headers.forEach((u,f)=>{c[f]=u}),r.reject(new np(a.status,a,c));return}switch(t){case"text":r.resolve(a.text());break;case"json":r.resolve(a.json());break;default:r.resolve(new Uint8Array(await a.arrayBuffer()).buffer);break}}).catch(()=>{r.reject(new np)})}var GSe=typeof XMLHttpRequest>"u";It._Implementations.loadWithXhr=function(e,t,n,i,o,r,s){let a=USe.exec(e);if(a!==null){r.resolve(zSe(a,t));return}if(GSe){HSe(e,t,n,i,o,r,s);return}let c=new XMLHttpRequest;if(YS.contains(e)&&(c.withCredentials=!0),c.open(n,e,!0),l(s)&&l(c.overrideMimeType)&&c.overrideMimeType(s),l(o))for(let f in o)o.hasOwnProperty(f)&&c.setRequestHeader(f,o[f]);l(t)&&(c.responseType=t);let u=!1;return typeof e=="string"&&(u=e.indexOf("file://")===0||typeof window<"u"&&window.location.origin==="file://"),c.onload=function(){if((c.status<200||c.status>=300)&&!(u&&c.status===0)){r.reject(new np(c.status,c.response,c.getAllResponseHeaders()));return}let f=c.response,d=c.responseType;if(n==="HEAD"||n==="OPTIONS"){let g=c.getAllResponseHeaders().trim().split(/[\r\n]+/),m={};g.forEach(function(x){let b=x.split(": "),T=b.shift();m[T]=b.join(": ")}),r.resolve(m);return}if(c.status===204)r.resolve(void 0);else if(l(f)&&(!l(t)||d===t))r.resolve(f);else if(t==="json"&&typeof f=="string")try{r.resolve(JSON.parse(f))}catch(p){r.reject(p)}else(d===""||d==="document")&&l(c.responseXML)&&c.responseXML.hasChildNodes()?r.resolve(c.responseXML):(d===""||d==="text")&&l(c.responseText)?r.resolve(c.responseText):r.reject(new se("Invalid XMLHttpRequest response type."))},c.onerror=function(f){r.reject(new np)},c.send(i),c};It._Implementations.loadAndExecuteScript=function(e,t,n){return gT(e,t).catch(function(i){n.reject(i)})};It._DefaultImplementations={};It._DefaultImplementations.createImage=It._Implementations.createImage;It._DefaultImplementations.loadWithXhr=It._Implementations.loadWithXhr;It._DefaultImplementations.loadAndExecuteScript=It._Implementations.loadAndExecuteScript;It.DEFAULT=Object.freeze(new It({url:typeof document>"u"?"":document.location.href.split("?")[0]}));var Ae=It;function KS(e){e=y(e,y.EMPTY_OBJECT),this._dates=void 0,this._samples=void 0,this._dateColumn=-1,this._xPoleWanderRadiansColumn=-1,this._yPoleWanderRadiansColumn=-1,this._ut1MinusUtcSecondsColumn=-1,this._xCelestialPoleOffsetRadiansColumn=-1,this._yCelestialPoleOffsetRadiansColumn=-1,this._taiMinusUtcSecondsColumn=-1,this._columnCount=0,this._lastIndex=-1,this._addNewLeapSeconds=y(e.addNewLeapSeconds,!0),l(e.data)?X$(this,e.data):X$(this,{columnNames:["dateIso8601","modifiedJulianDateUtc","xPoleWanderRadians","yPoleWanderRadians","ut1MinusUtcSeconds","lengthOfDayCorrectionSeconds","xCelestialPoleOffsetRadians","yCelestialPoleOffsetRadians","taiMinusUtcSeconds"],samples:[]})}KS.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e),i;try{i=await n.fetchJson()}catch{throw new se(`An error occurred while retrieving the EOP data from the URL ${n.url}.`)}return new KS({addNewLeapSeconds:t.addNewLeapSeconds,data:i})};KS.NONE=Object.freeze({compute:function(e,t){return l(t)?(t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0):t=new O0(0,0,0,0,0),t}});KS.prototype.compute=function(e,t){if(!l(this._samples))return;if(l(t)||(t=new O0(0,0,0,0,0)),this._samples.length===0)return t.xPoleWander=0,t.yPoleWander=0,t.xPoleOffset=0,t.yPoleOffset=0,t.ut1MinusUtc=0,t;let n=this._dates,i=this._lastIndex,o=0,r=0;if(l(i)){let a=n[i],c=n[i+1],u=K.lessThanOrEquals(a,e),f=!l(c),d=f||K.greaterThanOrEquals(c,e);if(u&&d)return o=i,!f&&c.equals(e)&&++o,r=o+1,Z$(this,n,this._samples,e,o,r,t),t}let s=Ro(n,e,K.compare,this._dateColumn);return s>=0?(s<n.length-1&&n[s+1].equals(e)&&++s,o=s,r=s):(r=~s,o=r-1,o<0&&(o=0)),this._lastIndex=o,Z$(this,n,this._samples,e,o,r,t),t};function WSe(e,t){return K.compare(e.julianDate,t)}function X$(e,t){if(!l(t.columnNames))throw new se("Error in loaded EOP data: The columnNames property is required.");if(!l(t.samples))throw new se("Error in loaded EOP data: The samples property is required.");let n=t.columnNames.indexOf("modifiedJulianDateUtc"),i=t.columnNames.indexOf("xPoleWanderRadians"),o=t.columnNames.indexOf("yPoleWanderRadians"),r=t.columnNames.indexOf("ut1MinusUtcSeconds"),s=t.columnNames.indexOf("xCelestialPoleOffsetRadians"),a=t.columnNames.indexOf("yCelestialPoleOffsetRadians"),c=t.columnNames.indexOf("taiMinusUtcSeconds");if(n<0||i<0||o<0||r<0||s<0||a<0||c<0)throw new se("Error in loaded EOP data: The columnNames property must include modifiedJulianDateUtc, xPoleWanderRadians, yPoleWanderRadians, ut1MinusUtcSeconds, xCelestialPoleOffsetRadians, yCelestialPoleOffsetRadians, and taiMinusUtcSeconds columns");let u=e._samples=t.samples,f=e._dates=[];e._dateColumn=n,e._xPoleWanderRadiansColumn=i,e._yPoleWanderRadiansColumn=o,e._ut1MinusUtcSecondsColumn=r,e._xCelestialPoleOffsetRadiansColumn=s,e._yCelestialPoleOffsetRadiansColumn=a,e._taiMinusUtcSecondsColumn=c,e._columnCount=t.columnNames.length,e._lastIndex=void 0;let d,p=e._addNewLeapSeconds;for(let g=0,m=u.length;g<m;g+=e._columnCount){let x=u[g+n],b=u[g+c],T=x+Xn.MODIFIED_JULIAN_DATE_DIFFERENCE,C=new K(T,b,qn.TAI);if(f.push(C),p){if(b!==d&&l(d)){let A=K.leapSeconds,S=Ro(A,C,WSe);if(S<0){let v=new qi(C,b);A.splice(~S,0,v)}}d=b}}}function K$(e,t,n,i,o){let r=n*i;o.xPoleWander=t[r+e._xPoleWanderRadiansColumn],o.yPoleWander=t[r+e._yPoleWanderRadiansColumn],o.xPoleOffset=t[r+e._xCelestialPoleOffsetRadiansColumn],o.yPoleOffset=t[r+e._yCelestialPoleOffsetRadiansColumn],o.ut1MinusUtc=t[r+e._ut1MinusUtcSecondsColumn]}function XS(e,t,n){return t+e*(n-t)}function Z$(e,t,n,i,o,r,s){let a=e._columnCount;if(r>t.length-1)return s.xPoleWander=0,s.yPoleWander=0,s.xPoleOffset=0,s.yPoleOffset=0,s.ut1MinusUtc=0,s;let c=t[o],u=t[r];if(c.equals(u)||i.equals(c))return K$(e,n,o,a,s),s;if(i.equals(u))return K$(e,n,r,a,s),s;let f=K.secondsDifference(i,c)/K.secondsDifference(u,c),d=o*a,p=r*a,g=n[d+e._ut1MinusUtcSecondsColumn],m=n[p+e._ut1MinusUtcSecondsColumn],x=m-g;if(x>.5||x<-.5){let b=n[d+e._taiMinusUtcSecondsColumn],T=n[p+e._taiMinusUtcSecondsColumn];b!==T&&(u.equals(i)?g=m:m-=T-b)}return s.xPoleWander=XS(f,n[d+e._xPoleWanderRadiansColumn],n[p+e._xPoleWanderRadiansColumn]),s.yPoleWander=XS(f,n[d+e._yPoleWanderRadiansColumn],n[p+e._yPoleWanderRadiansColumn]),s.xPoleOffset=XS(f,n[d+e._xCelestialPoleOffsetRadiansColumn],n[p+e._xCelestialPoleOffsetRadiansColumn]),s.yPoleOffset=XS(f,n[d+e._yCelestialPoleOffsetRadiansColumn],n[p+e._yCelestialPoleOffsetRadiansColumn]),s.ut1MinusUtc=XS(f,g,m),s}var R1=KS;function ja(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.roll=y(n,0)}ja.fromQuaternion=function(e,t){l(t)||(t=new ja);let n=2*(e.w*e.y-e.z*e.x),i=1-2*(e.x*e.x+e.y*e.y),o=2*(e.w*e.x+e.y*e.z),r=1-2*(e.y*e.y+e.z*e.z),s=2*(e.w*e.z+e.x*e.y);return t.heading=-Math.atan2(s,r),t.roll=Math.atan2(o,i),t.pitch=-P.asinClamped(n),t};ja.fromDegrees=function(e,t,n,i){return l(i)||(i=new ja),i.heading=e*P.RADIANS_PER_DEGREE,i.pitch=t*P.RADIANS_PER_DEGREE,i.roll=n*P.RADIANS_PER_DEGREE,i};ja.clone=function(e,t){if(l(e))return l(t)?(t.heading=e.heading,t.pitch=e.pitch,t.roll=e.roll,t):new ja(e.heading,e.pitch,e.roll)};ja.equals=function(e,t){return e===t||l(e)&&l(t)&&e.heading===t.heading&&e.pitch===t.pitch&&e.roll===t.roll};ja.equalsEpsilon=function(e,t,n,i){return e===t||l(e)&&l(t)&&P.equalsEpsilon(e.heading,t.heading,n,i)&&P.equalsEpsilon(e.pitch,t.pitch,n,i)&&P.equalsEpsilon(e.roll,t.roll,n,i)};ja.prototype.clone=function(e){return ja.clone(this,e)};ja.prototype.equals=function(e){return ja.equals(this,e)};ja.prototype.equalsEpsilon=function(e,t,n){return ja.equalsEpsilon(this,e,t,n)};ja.prototype.toString=function(){return`(${this.heading}, ${this.pitch}, ${this.roll})`};var qa=ja;var $$=/((?:.*\/)|^)Cesium\.js(?:\?|\#|$)/;function jSe(){let e=document.getElementsByTagName("script");for(let t=0,n=e.length;t<n;++t){let i=e[t].getAttribute("src"),o=$$.exec(i);if(o!==null)return o[1]}}var M1;function Q$(e){return typeof document>"u"?e:(l(M1)||(M1=document.createElement("a")),M1.href=e,M1.href)}var N0;function J$(){if(l(N0))return N0;let e;return typeof CESIUM_BASE_URL<"u"?e=CESIUM_BASE_URL:l(import.meta?.url)?e=tp(".",import.meta.url):typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(JP.toUrl)?e=tp("..",F0("Core/buildModuleUrl.js")):e=jSe(),N0=new Ae({url:Q$(e)}),N0.appendForwardSlash(),N0}function qSe(e){return Q$(JP.toUrl(`../${e}`))}function eQ(e){return J$().getDerivedResource({url:e}).url}var L1;function F0(e){return l(L1)||(typeof define=="object"&&l(define.amd)&&!define.amd.toUrlUndefined&&l(JP.toUrl)?L1=qSe:L1=eQ),L1(e)}F0._cesiumScriptRegex=$$;F0._buildModuleUrlFromBaseUrl=eQ;F0._clearBaseResource=function(){N0=void 0};F0.setBaseUrl=function(e){N0=Ae.DEFAULT.getDerivedResource({url:e})};F0.getCesiumBaseUrl=J$;var rn=F0;function YSe(e,t,n){this.x=e,this.y=t,this.s=n}var CT=YSe;function y5(e){e=y(e,y.EMPTY_OBJECT),this._xysFileUrlTemplate=Ae.createIfNeeded(e.xysFileUrlTemplate),this._interpolationOrder=y(e.interpolationOrder,9),this._sampleZeroJulianEphemerisDate=y(e.sampleZeroJulianEphemerisDate,24423965e-1),this._sampleZeroDateTT=new K(this._sampleZeroJulianEphemerisDate,0,qn.TAI),this._stepSizeDays=y(e.stepSizeDays,1),this._samplesPerXysFile=y(e.samplesPerXysFile,1e3),this._totalSamples=y(e.totalSamples,27426),this._samples=new Array(this._totalSamples*3),this._chunkDownloadsInProgress=[];let t=this._interpolationOrder,n=this._denominators=new Array(t+1),i=this._xTable=new Array(t+1),o=Math.pow(this._stepSizeDays,t);for(let r=0;r<=t;++r){n[r]=o,i[r]=r*this._stepSizeDays;for(let s=0;s<=t;++s)s!==r&&(n[r]*=r-s);n[r]=1/n[r]}this._work=new Array(t+1),this._coef=new Array(t+1)}var XSe=new K(0,0,qn.TAI);function _5(e,t,n){let i=XSe;return i.dayNumber=t,i.secondsOfDay=n,K.daysDifference(i,e._sampleZeroDateTT)}y5.prototype.preload=function(e,t,n,i){let o=_5(this,e,t),r=_5(this,n,i),s=o/this._stepSizeDays-this._interpolationOrder/2|0;s<0&&(s=0);let a=r/this._stepSizeDays-this._interpolationOrder/2|0+this._interpolationOrder;a>=this._totalSamples&&(a=this._totalSamples-1);let c=s/this._samplesPerXysFile|0,u=a/this._samplesPerXysFile|0,f=[];for(let d=c;d<=u;++d)f.push(g5(this,d));return Promise.all(f)};y5.prototype.computeXysRadians=function(e,t,n){let i=_5(this,e,t);if(i<0)return;let o=i/this._stepSizeDays|0;if(o>=this._totalSamples)return;let r=this._interpolationOrder,s=o-(r/2|0);s<0&&(s=0);let a=s+r;a>=this._totalSamples&&(a=this._totalSamples-1,s=a-r,s<0&&(s=0));let c=!1,u=this._samples;if(l(u[s*3])||(g5(this,s/this._samplesPerXysFile|0),c=!0),l(u[a*3])||(g5(this,a/this._samplesPerXysFile|0),c=!0),c)return;l(n)?(n.x=0,n.y=0,n.s=0):n=new CT(0,0,0);let f=i-s*this._stepSizeDays,d=this._work,p=this._denominators,g=this._coef,m=this._xTable,x,b;for(x=0;x<=r;++x)d[x]=f-m[x];for(x=0;x<=r;++x){for(g[x]=1,b=0;b<=r;++b)b!==x&&(g[x]*=d[b]);g[x]*=p[x];let T=(s+x)*3;n.x+=g[x]*u[T++],n.y+=g[x]*u[T++],n.s+=g[x]*u[T]}return n};function g5(e,t){if(e._chunkDownloadsInProgress[t])return e._chunkDownloadsInProgress[t];let n,i=e._xysFileUrlTemplate;l(i)?n=i.getDerivedResource({templateValues:{0:t}}):n=new Ae({url:rn(`Assets/IAU2006_XYS/IAU2006_XYS_${t}.json`)});let o=n.fetchJson().then(function(r){e._chunkDownloadsInProgress[t]=!1;let s=e._samples,a=r.samples,c=t*e._samplesPerXysFile*3;for(let u=0,f=a.length;u<f;++u)s[c+u]=a[u]});return e._chunkDownloadsInProgress[t]=o,o}var N1=y5;function rt(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.z=y(n,0),this.w=y(i,0)}var ZS=new h;rt.fromAxisAngle=function(e,t,n){let i=t/2,o=Math.sin(i);ZS=h.normalize(e,ZS);let r=ZS.x*o,s=ZS.y*o,a=ZS.z*o,c=Math.cos(i);return l(n)?(n.x=r,n.y=s,n.z=a,n.w=c,n):new rt(r,s,a,c)};var KSe=[1,2,0],ZSe=new Array(3);rt.fromRotationMatrix=function(e,t){let n,i,o,r,s,a=e[$.COLUMN0ROW0],c=e[$.COLUMN1ROW1],u=e[$.COLUMN2ROW2],f=a+c+u;if(f>0)n=Math.sqrt(f+1),s=.5*n,n=.5/n,i=(e[$.COLUMN1ROW2]-e[$.COLUMN2ROW1])*n,o=(e[$.COLUMN2ROW0]-e[$.COLUMN0ROW2])*n,r=(e[$.COLUMN0ROW1]-e[$.COLUMN1ROW0])*n;else{let d=KSe,p=0;c>a&&(p=1),u>a&&u>c&&(p=2);let g=d[p],m=d[g];n=Math.sqrt(e[$.getElementIndex(p,p)]-e[$.getElementIndex(g,g)]-e[$.getElementIndex(m,m)]+1);let x=ZSe;x[p]=.5*n,n=.5/n,s=(e[$.getElementIndex(m,g)]-e[$.getElementIndex(g,m)])*n,x[g]=(e[$.getElementIndex(g,p)]+e[$.getElementIndex(p,g)])*n,x[m]=(e[$.getElementIndex(m,p)]+e[$.getElementIndex(p,m)])*n,i=-x[0],o=-x[1],r=-x[2]}return l(t)?(t.x=i,t.y=o,t.z=r,t.w=s,t):new rt(i,o,r,s)};var tQ=new rt,nQ=new rt,x5=new rt,iQ=new rt;rt.fromHeadingPitchRoll=function(e,t){return iQ=rt.fromAxisAngle(h.UNIT_X,e.roll,tQ),x5=rt.fromAxisAngle(h.UNIT_Y,-e.pitch,t),t=rt.multiply(x5,iQ,x5),nQ=rt.fromAxisAngle(h.UNIT_Z,-e.heading,tQ),rt.multiply(nQ,t,t)};var F1=new h,b5=new h,od=new rt,oQ=new rt,B1=new rt;rt.packedLength=4;rt.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.z,t[n]=e.w,t};rt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new rt),n.x=e[t],n.y=e[t+1],n.z=e[t+2],n.w=e[t+3],n};rt.packedInterpolationLength=3;rt.convertPackedArrayForInterpolation=function(e,t,n,i){rt.unpack(e,n*4,B1),rt.conjugate(B1,B1);for(let o=0,r=n-t+1;o<r;o++){let s=o*3;rt.unpack(e,(t+o)*4,od),rt.multiply(od,B1,od),od.w<0&&rt.negate(od,od),rt.computeAxis(od,F1);let a=rt.computeAngle(od);l(i)||(i=[]),i[s]=F1.x*a,i[s+1]=F1.y*a,i[s+2]=F1.z*a}};rt.unpackInterpolationResult=function(e,t,n,i,o){l(o)||(o=new rt),h.fromArray(e,0,b5);let r=h.magnitude(b5);return rt.unpack(t,i*4,oQ),r===0?rt.clone(rt.IDENTITY,od):rt.fromAxisAngle(b5,r,od),rt.multiply(od,oQ,o)};rt.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t):new rt(e.x,e.y,e.z,e.w)};rt.conjugate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t};rt.magnitudeSquared=function(e){return e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w};rt.magnitude=function(e){return Math.sqrt(rt.magnitudeSquared(e))};rt.normalize=function(e,t){let n=1/rt.magnitude(e),i=e.x*n,o=e.y*n,r=e.z*n,s=e.w*n;return t.x=i,t.y=o,t.z=r,t.w=s,t};rt.inverse=function(e,t){let n=rt.magnitudeSquared(e);return t=rt.conjugate(e,t),rt.multiplyByScalar(t,1/n,t)};rt.add=function(e,t,n){return n.x=e.x+t.x,n.y=e.y+t.y,n.z=e.z+t.z,n.w=e.w+t.w,n};rt.subtract=function(e,t,n){return n.x=e.x-t.x,n.y=e.y-t.y,n.z=e.z-t.z,n.w=e.w-t.w,n};rt.negate=function(e,t){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t};rt.dot=function(e,t){return e.x*t.x+e.y*t.y+e.z*t.z+e.w*t.w};rt.multiply=function(e,t,n){let i=e.x,o=e.y,r=e.z,s=e.w,a=t.x,c=t.y,u=t.z,f=t.w,d=s*a+i*f+o*u-r*c,p=s*c-i*u+o*f+r*a,g=s*u+i*c-o*a+r*f,m=s*f-i*a-o*c-r*u;return n.x=d,n.y=p,n.z=g,n.w=m,n};rt.multiplyByScalar=function(e,t,n){return n.x=e.x*t,n.y=e.y*t,n.z=e.z*t,n.w=e.w*t,n};rt.divideByScalar=function(e,t,n){return n.x=e.x/t,n.y=e.y/t,n.z=e.z/t,n.w=e.w/t,n};rt.computeAxis=function(e,t){let n=e.w;if(Math.abs(n-1)<P.EPSILON6||Math.abs(n+1)<P.EPSILON6)return t.x=1,t.y=t.z=0,t;let i=1/Math.sqrt(1-n*n);return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t};rt.computeAngle=function(e){return Math.abs(e.w-1)<P.EPSILON6?0:2*Math.acos(e.w)};var T5=new rt;rt.lerp=function(e,t,n,i){return T5=rt.multiplyByScalar(t,n,T5),i=rt.multiplyByScalar(e,1-n,i),rt.add(T5,i,i)};var rQ=new rt,C5=new rt,A5=new rt;rt.slerp=function(e,t,n,i){let o=rt.dot(e,t),r=t;if(o<0&&(o=-o,r=rQ=rt.negate(t,rQ)),1-o<P.EPSILON6)return rt.lerp(e,r,n,i);let s=Math.acos(o);return C5=rt.multiplyByScalar(e,Math.sin((1-n)*s),C5),A5=rt.multiplyByScalar(r,Math.sin(n*s),A5),i=rt.add(C5,A5,i),rt.multiplyByScalar(i,1/Math.sin(s),i)};rt.log=function(e,t){let n=P.acosClamped(e.w),i=0;return n!==0&&(i=n/Math.sin(n)),h.multiplyByScalar(e,i,t)};rt.exp=function(e,t){let n=h.magnitude(e),i=0;return n!==0&&(i=Math.sin(n)/n),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=Math.cos(n),t};var $Se=new h,QSe=new h,$S=new rt,AT=new rt;rt.computeInnerQuadrangle=function(e,t,n,i){let o=rt.conjugate(t,$S);rt.multiply(o,n,AT);let r=rt.log(AT,$Se);rt.multiply(o,e,AT);let s=rt.log(AT,QSe);return h.add(r,s,r),h.multiplyByScalar(r,.25,r),h.negate(r,r),rt.exp(r,$S),rt.multiply(t,$S,i)};rt.squad=function(e,t,n,i,o,r){let s=rt.slerp(e,t,o,$S),a=rt.slerp(n,i,o,AT);return rt.slerp(s,a,2*o*(1-o),r)};var JSe=new rt,sQ=1.9011074535173003,k1=Gt.supportsTypedArrays()?new Float32Array(8):[],V1=Gt.supportsTypedArrays()?new Float32Array(8):[],op=Gt.supportsTypedArrays()?new Float32Array(8):[],rp=Gt.supportsTypedArrays()?new Float32Array(8):[];for(let e=0;e<7;++e){let t=e+1,n=2*t+1;k1[e]=1/(t*n),V1[e]=t/n}k1[7]=sQ/(8*17);V1[7]=sQ*8/17;rt.fastSlerp=function(e,t,n,i){let o=rt.dot(e,t),r;o>=0?r=1:(r=-1,o=-o);let s=o-1,a=1-n,c=n*n,u=a*a;for(let g=7;g>=0;--g)op[g]=(k1[g]*c-V1[g])*s,rp[g]=(k1[g]*u-V1[g])*s;let f=r*n*(1+op[0]*(1+op[1]*(1+op[2]*(1+op[3]*(1+op[4]*(1+op[5]*(1+op[6]*(1+op[7])))))))),d=a*(1+rp[0]*(1+rp[1]*(1+rp[2]*(1+rp[3]*(1+rp[4]*(1+rp[5]*(1+rp[6]*(1+rp[7])))))))),p=rt.multiplyByScalar(e,d,JSe);return rt.multiplyByScalar(t,f,i),rt.add(p,i,i)};rt.fastSquad=function(e,t,n,i,o,r){let s=rt.fastSlerp(e,t,o,$S),a=rt.fastSlerp(n,i,o,AT);return rt.fastSlerp(s,a,2*o*(1-o),r)};rt.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.z===t.z&&e.w===t.w};rt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.x-t.x)<=n&&Math.abs(e.y-t.y)<=n&&Math.abs(e.z-t.z)<=n&&Math.abs(e.w-t.w)<=n};rt.ZERO=Object.freeze(new rt(0,0,0,0));rt.IDENTITY=Object.freeze(new rt(0,0,0,1));rt.prototype.clone=function(e){return rt.clone(this,e)};rt.prototype.equals=function(e){return rt.equals(this,e)};rt.prototype.equalsEpsilon=function(e,t){return rt.equalsEpsilon(this,e,t)};rt.prototype.toString=function(){return`(${this.x}, ${this.y}, ${this.z}, ${this.w})`};var Le=rt;var fi={},E5={up:{south:"east",north:"west",west:"south",east:"north"},down:{south:"west",north:"east",west:"north",east:"south"},south:{up:"west",down:"east",west:"down",east:"up"},north:{up:"east",down:"west",west:"up",east:"down"},west:{up:"north",down:"south",north:"down",south:"up"},east:{up:"south",down:"north",north:"up",south:"down"}},ET={north:[-1,0,0],east:[0,1,0],up:[0,0,1],south:[1,0,0],west:[0,-1,0],down:[0,0,-1]},S5={},sl={east:new h,north:new h,up:new h,west:new h,south:new h,down:new h},k_=new h,V_=new h,U_=new h;fi.localFrameToFixedFrameGenerator=function(e,t){if(!E5.hasOwnProperty(e)||!E5[e].hasOwnProperty(t))throw new de("firstAxis and secondAxis must be east, north, up, west, south or down.");let n=E5[e][t],i,o=e+t;return l(S5[o])?i=S5[o]:(i=function(r,s,a){if(l(a)||(a=new F),h.equalsEpsilon(r,h.ZERO,P.EPSILON14))h.unpack(ET[e],0,k_),h.unpack(ET[t],0,V_),h.unpack(ET[n],0,U_);else if(P.equalsEpsilon(r.x,0,P.EPSILON14)&&P.equalsEpsilon(r.y,0,P.EPSILON14)){let c=P.sign(r.z);h.unpack(ET[e],0,k_),e!=="east"&&e!=="west"&&h.multiplyByScalar(k_,c,k_),h.unpack(ET[t],0,V_),t!=="east"&&t!=="west"&&h.multiplyByScalar(V_,c,V_),h.unpack(ET[n],0,U_),n!=="east"&&n!=="west"&&h.multiplyByScalar(U_,c,U_)}else{s=y(s,ee.default),s.geodeticSurfaceNormal(r,sl.up);let c=sl.up,u=sl.east;u.x=-r.y,u.y=r.x,u.z=0,h.normalize(u,sl.east),h.cross(c,u,sl.north),h.multiplyByScalar(sl.up,-1,sl.down),h.multiplyByScalar(sl.east,-1,sl.west),h.multiplyByScalar(sl.north,-1,sl.south),k_=sl[e],V_=sl[t],U_=sl[n]}return a[0]=k_.x,a[1]=k_.y,a[2]=k_.z,a[3]=0,a[4]=V_.x,a[5]=V_.y,a[6]=V_.z,a[7]=0,a[8]=U_.x,a[9]=U_.y,a[10]=U_.z,a[11]=0,a[12]=r.x,a[13]=r.y,a[14]=r.z,a[15]=1,a},S5[o]=i),i};fi.eastNorthUpToFixedFrame=fi.localFrameToFixedFrameGenerator("east","north");fi.northEastDownToFixedFrame=fi.localFrameToFixedFrameGenerator("north","east");fi.northUpEastToFixedFrame=fi.localFrameToFixedFrameGenerator("north","up");fi.northWestUpToFixedFrame=fi.localFrameToFixedFrameGenerator("north","west");var eve=new Le,tve=new h(1,1,1),nve=new F;fi.headingPitchRollToFixedFrame=function(e,t,n,i,o){i=y(i,fi.eastNorthUpToFixedFrame);let r=Le.fromHeadingPitchRoll(t,eve),s=F.fromTranslationQuaternionRotationScale(h.ZERO,r,tve,nve);return o=i(e,n,o),F.multiply(o,s,o)};var ive=new F,ove=new $;fi.headingPitchRollQuaternion=function(e,t,n,i,o){let r=fi.headingPitchRollToFixedFrame(e,t,n,i,ive),s=F.getMatrix3(r,ove);return Le.fromRotationMatrix(s,o)};var rve=new h(1,1,1),sve=new h,aQ=new F,ave=new F,cve=new $,lve=new Le;fi.fixedFrameToHeadingPitchRoll=function(e,t,n,i){t=y(t,ee.default),n=y(n,fi.eastNorthUpToFixedFrame),l(i)||(i=new qa);let o=F.getTranslation(e,sve);if(h.equals(o,h.ZERO))return i.heading=0,i.pitch=0,i.roll=0,i;let r=F.inverseTransformation(n(o,t,aQ),aQ),s=F.setScale(e,rve,ave);s=F.setTranslation(s,h.ZERO,s),r=F.multiply(r,s,r);let a=Le.fromRotationMatrix(F.getMatrix3(r,cve),lve);return a=Le.normalize(a,a),qa.fromQuaternion(a,i)};var uve=6*3600+41*60+50.54841,fve=8640184812866e-6,dve=.093104,hve=-62e-7,mve=11772758384668e-32,pve=72921158553e-15,_ve=P.TWO_PI/86400,U1=new K;fi.computeIcrfToCentralBodyFixedMatrix=function(e,t){let n=fi.computeIcrfToFixedMatrix(e,t);return l(n)||(n=fi.computeTemeToPseudoFixedMatrix(e,t)),n};fi.computeTemeToPseudoFixedMatrix=function(e,t){U1=K.addSeconds(e,-K.computeTaiMinusUtc(e),U1);let n=U1.dayNumber,i=U1.secondsOfDay,o,r=n-2451545;i>=43200?o=(r+.5)/Xn.DAYS_PER_JULIAN_CENTURY:o=(r-.5)/Xn.DAYS_PER_JULIAN_CENTURY;let a=(uve+o*(fve+o*(dve+o*hve)))*_ve%P.TWO_PI,c=pve+mve*(n-24515455e-1),u=(i+Xn.SECONDS_PER_DAY*.5)%Xn.SECONDS_PER_DAY,f=a+c*u,d=Math.cos(f),p=Math.sin(f);return l(t)?(t[0]=d,t[1]=-p,t[2]=0,t[3]=p,t[4]=d,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t):new $(d,p,0,-p,d,0,0,0,1)};fi.iau2006XysData=new N1;fi.earthOrientationParameters=R1.NONE;var D5=32.184,gve=2451545;fi.preloadIcrfFixed=function(e){let t=e.start.dayNumber,n=e.start.secondsOfDay+D5,i=e.stop.dayNumber,o=e.stop.secondsOfDay+D5;return fi.iau2006XysData.preload(t,n,i,o)};fi.computeIcrfToFixedMatrix=function(e,t){l(t)||(t=new $);let n=fi.computeFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var yve=32.184,xve=2451545,z1=new qa,bve=new $,Tve=new K;fi.computeMoonFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=K.addSeconds(e,yve,Tve),i=K.totalDays(n)-xve,o=P.toRadians(12.112)-P.toRadians(.052992)*i,r=P.toRadians(24.224)-P.toRadians(.105984)*i,s=P.toRadians(227.645)+P.toRadians(13.012)*i,a=P.toRadians(261.105)+P.toRadians(13.340716)*i,c=P.toRadians(358)+P.toRadians(.9856)*i;return z1.pitch=P.toRadians(180)-P.toRadians(3.878)*Math.sin(o)-P.toRadians(.12)*Math.sin(r)+P.toRadians(.07)*Math.sin(s)-P.toRadians(.017)*Math.sin(a),z1.roll=P.toRadians(66.53-90)+P.toRadians(1.543)*Math.cos(o)+P.toRadians(.24)*Math.cos(r)-P.toRadians(.028)*Math.cos(s)+P.toRadians(.007)*Math.cos(a),z1.heading=P.toRadians(244.375-90)+P.toRadians(13.17635831)*i+P.toRadians(3.558)*Math.sin(o)+P.toRadians(.121)*Math.sin(r)-P.toRadians(.064)*Math.sin(s)+P.toRadians(.016)*Math.sin(a)+P.toRadians(.025)*Math.sin(c),$.fromHeadingPitchRoll(z1,bve)};fi.computeIcrfToMoonFixedMatrix=function(e,t){l(t)||(t=new $);let n=fi.computeMoonFixedToIcrfMatrix(e,t);if(l(n))return $.transpose(n,t)};var Cve=new CT(0,0,0),Ave=new O0(0,0,0,0,0,0),v5=new $,w5=new $;fi.computeFixedToIcrfMatrix=function(e,t){l(t)||(t=new $);let n=fi.earthOrientationParameters.compute(e,Ave);if(!l(n))return;let i=e.dayNumber,o=e.secondsOfDay+D5,r=fi.iau2006XysData.computeXysRadians(i,o,Cve);if(!l(r))return;let s=r.x+n.xPoleOffset,a=r.y+n.yPoleOffset,c=1/(1+Math.sqrt(1-s*s-a*a)),u=v5;u[0]=1-c*s*s,u[3]=-c*s*a,u[6]=s,u[1]=-c*s*a,u[4]=1-c*a*a,u[7]=a,u[2]=-s,u[5]=-a,u[8]=1-c*(s*s+a*a);let f=$.fromRotationZ(-r.s,w5),d=$.multiply(u,f,v5),p=e.dayNumber,g=e.secondsOfDay-K.computeTaiMinusUtc(e)+n.ut1MinusUtc,m=p-2451545,x=g/Xn.SECONDS_PER_DAY,b=.779057273264+x+.00273781191135448*(m+x);b=b%1*P.TWO_PI;let T=$.fromRotationZ(b,w5),C=$.multiply(d,T,v5),A=Math.cos(n.xPoleWander),S=Math.cos(n.yPoleWander),v=Math.sin(n.xPoleWander),D=Math.sin(n.yPoleWander),R=i-gve+o/Xn.SECONDS_PER_DAY;R/=36525;let O=-47e-6*R*P.RADIANS_PER_DEGREE/3600,M=Math.cos(O),N=Math.sin(O),_=w5;return _[0]=A*M,_[1]=A*N,_[2]=v,_[3]=-S*N+D*v*M,_[4]=S*M+D*v*N,_[5]=-D*A,_[6]=-D*N-S*v*M,_[7]=D*M-S*v*N,_[8]=S*A,$.multiply(C,_,t)};var Eve=new oe;fi.pointToWindowCoordinates=function(e,t,n,i){return i=fi.pointToGLWindowCoordinates(e,t,n,i),i.y=2*t[5]-i.y,i};fi.pointToGLWindowCoordinates=function(e,t,n,i){l(i)||(i=new U);let o=Eve;return F.multiplyByVector(e,oe.fromElements(n.x,n.y,n.z,1,o),o),oe.multiplyByScalar(o,1/o.w,o),F.multiplyByVector(t,o,o),U.fromCartesian4(o,i)};var Sve=new h,vve=new h,wve=new h;fi.rotationMatrixFromPositionVelocity=function(e,t,n,i){let o=y(n,ee.default).geodeticSurfaceNormal(e,Sve),r=h.cross(t,o,vve);h.equalsEpsilon(r,h.ZERO,P.EPSILON6)&&(r=h.clone(h.UNIT_X,r));let s=h.cross(r,t,wve);return h.normalize(s,s),h.cross(t,s,r),h.negate(r,r),h.normalize(r,r),l(i)||(i=new $),i[0]=t.x,i[1]=t.y,i[2]=t.z,i[3]=r.x,i[4]=r.y,i[5]=r.z,i[6]=s.x,i[7]=s.y,i[8]=s.z,i};var cQ=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1),lQ=new fe,I5=new h,Dve=new h,Ive=new $,P5=new F,uQ=new F;fi.basisTo2D=function(e,t,n){let i=F.getTranslation(t,Dve),o=e.ellipsoid,r;if(h.equals(i,h.ZERO))r=h.clone(h.ZERO,I5);else{let f=o.cartesianToCartographic(i,lQ);r=e.project(f,I5),h.fromElements(r.z,r.x,r.y,r)}let s=fi.eastNorthUpToFixedFrame(i,o,P5),a=F.inverseTransformation(s,uQ),c=F.getMatrix3(t,Ive),u=F.multiplyByMatrix3(a,c,n);return F.multiply(cQ,u,n),F.setTranslation(n,r,n),n};fi.ellipsoidTo2DModelMatrix=function(e,t,n){let i=e.ellipsoid,o=fi.eastNorthUpToFixedFrame(t,i,P5),r=F.inverseTransformation(o,uQ),s=i.cartesianToCartographic(t,lQ),a=e.project(s,I5);h.fromElements(a.z,a.x,a.y,a);let c=F.fromTranslation(a,P5);return F.multiply(cQ,r,n),F.multiply(c,n,n),n};var Mt=fi;function Dn(e,t,n,i){this.west=y(e,0),this.south=y(t,0),this.east=y(n,0),this.north=y(i,0)}Object.defineProperties(Dn.prototype,{width:{get:function(){return Dn.computeWidth(this)}},height:{get:function(){return Dn.computeHeight(this)}}});Dn.packedLength=4;Dn.pack=function(e,t,n){return n=y(n,0),t[n++]=e.west,t[n++]=e.south,t[n++]=e.east,t[n]=e.north,t};Dn.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Dn),n.west=e[t++],n.south=e[t++],n.east=e[t++],n.north=e[t],n};Dn.computeWidth=function(e){let t=e.east,n=e.west;return t<n&&(t+=P.TWO_PI),t-n};Dn.computeHeight=function(e){return e.north-e.south};Dn.fromDegrees=function(e,t,n,i,o){return e=P.toRadians(y(e,0)),t=P.toRadians(y(t,0)),n=P.toRadians(y(n,0)),i=P.toRadians(y(i,0)),l(o)?(o.west=e,o.south=t,o.east=n,o.north=i,o):new Dn(e,t,n,i)};Dn.fromRadians=function(e,t,n,i,o){return l(o)?(o.west=y(e,0),o.south=y(t,0),o.east=y(n,0),o.north=y(i,0),o):new Dn(e,t,n,i)};Dn.fromCartographicArray=function(e,t){let n=Number.MAX_VALUE,i=-Number.MAX_VALUE,o=Number.MAX_VALUE,r=-Number.MAX_VALUE,s=Number.MAX_VALUE,a=-Number.MAX_VALUE;for(let c=0,u=e.length;c<u;c++){let f=e[c];n=Math.min(n,f.longitude),i=Math.max(i,f.longitude),s=Math.min(s,f.latitude),a=Math.max(a,f.latitude);let d=f.longitude>=0?f.longitude:f.longitude+P.TWO_PI;o=Math.min(o,d),r=Math.max(r,d)}return i-n>r-o&&(n=o,i=r,i>P.PI&&(i=i-P.TWO_PI),n>P.PI&&(n=n-P.TWO_PI)),l(t)?(t.west=n,t.south=s,t.east=i,t.north=a,t):new Dn(n,s,i,a)};Dn.fromCartesianArray=function(e,t,n){t=y(t,ee.default);let i=Number.MAX_VALUE,o=-Number.MAX_VALUE,r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=Number.MAX_VALUE,c=-Number.MAX_VALUE;for(let u=0,f=e.length;u<f;u++){let d=t.cartesianToCartographic(e[u]);i=Math.min(i,d.longitude),o=Math.max(o,d.longitude),a=Math.min(a,d.latitude),c=Math.max(c,d.latitude);let p=d.longitude>=0?d.longitude:d.longitude+P.TWO_PI;r=Math.min(r,p),s=Math.max(s,p)}return o-i>s-r&&(i=r,o=s,o>P.PI&&(o=o-P.TWO_PI),i>P.PI&&(i=i-P.TWO_PI)),l(n)?(n.west=i,n.south=a,n.east=o,n.north=c,n):new Dn(i,a,o,c)};var Pve=new h,Ove=new h,Rve=new h,Mve=new h,Lve=new h,O5=new Array(5);for(let e=0;e<O5.length;++e)O5[e]=new h;Dn.fromBoundingSphere=function(e,t,n){let i=e.center,o=e.radius;if(l(t)||(t=ee.default),l(n)||(n=new Dn),h.equals(i,h.ZERO))return Dn.clone(Dn.MAX_VALUE,n),n;let r=Mt.eastNorthUpToFixedFrame(i,t,Pve),s=F.multiplyByPointAsVector(r,h.UNIT_X,Ove);h.normalize(s,s);let a=F.multiplyByPointAsVector(r,h.UNIT_Y,Rve);h.normalize(a,a),h.multiplyByScalar(a,o,a),h.multiplyByScalar(s,o,s);let c=h.negate(a,Lve),u=h.negate(s,Mve),f=O5,d=f[0];return h.add(i,a,d),d=f[1],h.add(i,u,d),d=f[2],h.add(i,c,d),d=f[3],h.add(i,s,d),f[4]=i,Dn.fromCartesianArray(f,t,n)};Dn.clone=function(e,t){if(l(e))return l(t)?(t.west=e.west,t.south=e.south,t.east=e.east,t.north=e.north,t):new Dn(e.west,e.south,e.east,e.north)};Dn.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.west-t.west)<=n&&Math.abs(e.south-t.south)<=n&&Math.abs(e.east-t.east)<=n&&Math.abs(e.north-t.north)<=n};Dn.prototype.clone=function(e){return Dn.clone(this,e)};Dn.prototype.equals=function(e){return Dn.equals(this,e)};Dn.equals=function(e,t){return e===t||l(e)&&l(t)&&e.west===t.west&&e.south===t.south&&e.east===t.east&&e.north===t.north};Dn.prototype.equalsEpsilon=function(e,t){return Dn.equalsEpsilon(this,e,t)};Dn._validate=function(e){};Dn.southwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.south,t.height=0,t):new fe(e.west,e.south)};Dn.northwest=function(e,t){return l(t)?(t.longitude=e.west,t.latitude=e.north,t.height=0,t):new fe(e.west,e.north)};Dn.northeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.north,t.height=0,t):new fe(e.east,e.north)};Dn.southeast=function(e,t){return l(t)?(t.longitude=e.east,t.latitude=e.south,t.height=0,t):new fe(e.east,e.south)};Dn.center=function(e,t){let n=e.east,i=e.west;n<i&&(n+=P.TWO_PI);let o=P.negativePiToPi((i+n)*.5),r=(e.south+e.north)*.5;return l(t)?(t.longitude=o,t.latitude=r,t.height=0,t):new fe(o,r)};Dn.intersection=function(e,t,n){let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.max(o,s)),c=P.negativePiToPi(Math.min(i,r));if((e.west<e.east||t.west<t.east)&&c<=a)return;let u=Math.max(e.south,t.south),f=Math.min(e.north,t.north);if(!(u>=f))return l(n)?(n.west=a,n.south=u,n.east=c,n.north=f,n):new Dn(a,u,c,f)};Dn.simpleIntersection=function(e,t,n){let i=Math.max(e.west,t.west),o=Math.max(e.south,t.south),r=Math.min(e.east,t.east),s=Math.min(e.north,t.north);if(!(o>=s||i>=r))return l(n)?(n.west=i,n.south=o,n.east=r,n.north=s,n):new Dn(i,o,r,s)};Dn.union=function(e,t,n){l(n)||(n=new Dn);let i=e.east,o=e.west,r=t.east,s=t.west;i<o&&r>0?i+=P.TWO_PI:r<s&&i>0&&(r+=P.TWO_PI),i<o&&s<0?s+=P.TWO_PI:r<s&&o<0&&(o+=P.TWO_PI);let a=P.negativePiToPi(Math.min(o,s)),c=P.negativePiToPi(Math.max(i,r));return n.west=a,n.south=Math.min(e.south,t.south),n.east=c,n.north=Math.max(e.north,t.north),n};Dn.expand=function(e,t,n){return l(n)||(n=new Dn),n.west=Math.min(e.west,t.longitude),n.south=Math.min(e.south,t.latitude),n.east=Math.max(e.east,t.longitude),n.north=Math.max(e.north,t.latitude),n};Dn.contains=function(e,t){let n=t.longitude,i=t.latitude,o=e.west,r=e.east;return r<o&&(r+=P.TWO_PI,n<0&&(n+=P.TWO_PI)),(n>o||P.equalsEpsilon(n,o,P.EPSILON14))&&(n<r||P.equalsEpsilon(n,r,P.EPSILON14))&&i>=e.south&&i<=e.north};var Nve=new fe;Dn.subsample=function(e,t,n,i){t=y(t,ee.default),n=y(n,0),l(i)||(i=[]);let o=0,r=e.north,s=e.south,a=e.east,c=e.west,u=Nve;u.height=n,u.longitude=c,u.latitude=r,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.latitude=s,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,r<0?u.latitude=r:s>0?u.latitude=s:u.latitude=0;for(let f=1;f<8;++f)u.longitude=-Math.PI+f*P.PI_OVER_TWO,Dn.contains(e,u)&&(i[o]=t.cartographicToCartesian(u,i[o]),o++);return u.latitude===0&&(u.longitude=c,i[o]=t.cartographicToCartesian(u,i[o]),o++,u.longitude=a,i[o]=t.cartographicToCartesian(u,i[o]),o++),i.length=o,i};Dn.subsection=function(e,t,n,i,o,r){if(l(r)||(r=new Dn),e.west<=e.east){let a=e.east-e.west;r.west=e.west+t*a,r.east=e.west+i*a}else{let a=P.TWO_PI+e.east-e.west;r.west=P.negativePiToPi(e.west+t*a),r.east=P.negativePiToPi(e.west+i*a)}let s=e.north-e.south;return r.south=e.south+n*s,r.north=e.south+o*s,t===1&&(r.west=e.east),i===1&&(r.east=e.east),n===1&&(r.south=e.north),o===1&&(r.north=e.north),r};Dn.MAX_VALUE=Object.freeze(new Dn(-Math.PI,-P.PI_OVER_TWO,Math.PI,P.PI_OVER_TWO));var ae=Dn;function Dr(e,t,n,i){this.x=y(e,0),this.y=y(t,0),this.width=y(n,0),this.height=y(i,0)}Dr.packedLength=4;Dr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.x,t[n++]=e.y,t[n++]=e.width,t[n]=e.height,t};Dr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Dr),n.x=e[t++],n.y=e[t++],n.width=e[t++],n.height=e[t],n};Dr.fromPoints=function(e,t){if(l(t)||(t=new Dr),!l(e)||e.length===0)return t.x=0,t.y=0,t.width=0,t.height=0,t;let n=e.length,i=e[0].x,o=e[0].y,r=e[0].x,s=e[0].y;for(let a=1;a<n;a++){let c=e[a],u=c.x,f=c.y;i=Math.min(u,i),r=Math.max(u,r),o=Math.min(f,o),s=Math.max(f,s)}return t.x=i,t.y=o,t.width=r-i,t.height=s-o,t};var fQ=new Ii,Fve=new fe,Bve=new fe;Dr.fromRectangle=function(e,t,n){if(l(n)||(n=new Dr),!l(e))return n.x=0,n.y=0,n.width=0,n.height=0,n;fQ._ellipsoid=ee.default,t=y(t,fQ);let i=t.project(ae.southwest(e,Fve)),o=t.project(ae.northeast(e,Bve));return U.subtract(o,i,o),n.x=i.x,n.y=i.y,n.width=o.x,n.height=o.y,n};Dr.clone=function(e,t){if(l(e))return l(t)?(t.x=e.x,t.y=e.y,t.width=e.width,t.height=e.height,t):new Dr(e.x,e.y,e.width,e.height)};Dr.union=function(e,t,n){l(n)||(n=new Dr);let i=Math.min(e.x,t.x),o=Math.min(e.y,t.y),r=Math.max(e.x+e.width,t.x+t.width),s=Math.max(e.y+e.height,t.y+t.height);return n.x=i,n.y=o,n.width=r-i,n.height=s-o,n};Dr.expand=function(e,t,n){n=Dr.clone(e,n);let i=t.x-n.x,o=t.y-n.y;return i>n.width?n.width=i:i<0&&(n.width-=i,n.x=t.x),o>n.height?n.height=o:o<0&&(n.height-=o,n.y=t.y),n};Dr.intersect=function(e,t){let n=e.x,i=e.y,o=t.x,r=t.y;return n>o+t.width||n+e.width<o||i+e.height<r||i>r+t.height?jt.OUTSIDE:jt.INTERSECTING};Dr.equals=function(e,t){return e===t||l(e)&&l(t)&&e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height};Dr.prototype.clone=function(e){return Dr.clone(this,e)};Dr.prototype.intersect=function(e){return Dr.intersect(this,e)};Dr.prototype.equals=function(e){return Dr.equals(this,e)};var Ye=Dr;var Sa={POINTS:te.POINTS,LINES:te.LINES,LINE_LOOP:te.LINE_LOOP,LINE_STRIP:te.LINE_STRIP,TRIANGLES:te.TRIANGLES,TRIANGLE_STRIP:te.TRIANGLE_STRIP,TRIANGLE_FAN:te.TRIANGLE_FAN};Sa.isLines=function(e){return e===Sa.LINES||e===Sa.LINE_LOOP||e===Sa.LINE_STRIP};Sa.isTriangles=function(e){return e===Sa.TRIANGLES||e===Sa.TRIANGLE_STRIP||e===Sa.TRIANGLE_FAN};Sa.validate=function(e){return e===Sa.POINTS||e===Sa.LINES||e===Sa.LINE_LOOP||e===Sa.LINE_STRIP||e===Sa.TRIANGLES||e===Sa.TRIANGLE_STRIP||e===Sa.TRIANGLE_FAN};var Fe=Object.freeze(Sa);var ST=`in vec4 position; in vec2 textureCoordinates; out vec2 v_textureCoordinates; @@ -88,14 +88,14 @@ void main() gl_Position = position; v_textureCoordinates = textureCoordinates; } -`;var fr={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function KS(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Fe.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._pickMetadataAllowed=e.pickMetadataAllowed===!0,this._pickedMetadataInfo=void 0,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function Wa(e,t){return(e._flags&t)===t}function k_(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(KS.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return Wa(this,fr.CULL)},set:function(e){Wa(this,fr.CULL)!==e&&(k_(this,fr.CULL,e),this.dirty=!0)}},occlude:{get:function(){return Wa(this,fr.OCCLUDE)},set:function(e){Wa(this,fr.OCCLUDE)!==e&&(k_(this,fr.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return Wa(this,fr.CAST_SHADOWS)},set:function(e){Wa(this,fr.CAST_SHADOWS)!==e&&(k_(this,fr.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return Wa(this,fr.RECEIVE_SHADOWS)},set:function(e){Wa(this,fr.RECEIVE_SHADOWS)!==e&&(k_(this,fr.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return Wa(this,fr.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){Wa(this,fr.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(k_(this,fr.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return Wa(this,fr.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){Wa(this,fr.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(k_(this,fr.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickMetadataAllowed:{get:function(){return this._pickMetadataAllowed}},pickedMetadataInfo:{get:function(){return this._pickedMetadataInfo},set:function(e){this._pickedMetadataInfo!==e&&(this._pickedMetadataInfo=e,this.dirty=!0)}},pickOnly:{get:function(){return Wa(this,fr.PICK_ONLY)},set:function(e){Wa(this,fr.PICK_ONLY)!==e&&(k_(this,fr.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return Wa(this,fr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){Wa(this,fr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(k_(this,fr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});KS.shallowClone=function(e,t){if(l(e))return l(t)||(t=new KS),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._pickMetadataAllowed=e._pickMetadataAllowed,t._pickedMetadataInfo=e._pickedMetadataInfo,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};KS.prototype.execute=function(e,t){e.draw(this,t)};var et=KS;var ci={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,HALF_FLOAT:te.HALF_FLOAT_OES,UNSIGNED_INT_24_8:te.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:te.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:te.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:te.UNSIGNED_SHORT_5_6_5};ci.toWebGLConstant=function(e,t){switch(e){case ci.UNSIGNED_BYTE:return te.UNSIGNED_BYTE;case ci.UNSIGNED_SHORT:return te.UNSIGNED_SHORT;case ci.UNSIGNED_INT:return te.UNSIGNED_INT;case ci.FLOAT:return te.FLOAT;case ci.HALF_FLOAT:return t.webgl2?te.HALF_FLOAT:te.HALF_FLOAT_OES;case ci.UNSIGNED_INT_24_8:return te.UNSIGNED_INT_24_8;case ci.UNSIGNED_SHORT_4_4_4_4:return te.UNSIGNED_SHORT_4_4_4_4;case ci.UNSIGNED_SHORT_5_5_5_1:return te.UNSIGNED_SHORT_5_5_5_1;case ci.UNSIGNED_SHORT_5_6_5:return ci.UNSIGNED_SHORT_5_6_5}};ci.isPacked=function(e){return e===ci.UNSIGNED_INT_24_8||e===ci.UNSIGNED_SHORT_4_4_4_4||e===ci.UNSIGNED_SHORT_5_5_5_1||e===ci.UNSIGNED_SHORT_5_6_5};ci.sizeInBytes=function(e){switch(e){case ci.UNSIGNED_BYTE:return 1;case ci.UNSIGNED_SHORT:case ci.UNSIGNED_SHORT_4_4_4_4:case ci.UNSIGNED_SHORT_5_5_5_1:case ci.UNSIGNED_SHORT_5_6_5:case ci.HALF_FLOAT:return 2;case ci.UNSIGNED_INT:case ci.FLOAT:case ci.UNSIGNED_INT_24_8:return 4}};ci.validate=function(e){return e===ci.UNSIGNED_BYTE||e===ci.UNSIGNED_SHORT||e===ci.UNSIGNED_INT||e===ci.FLOAT||e===ci.HALF_FLOAT||e===ci.UNSIGNED_INT_24_8||e===ci.UNSIGNED_SHORT_4_4_4_4||e===ci.UNSIGNED_SHORT_5_5_5_1||e===ci.UNSIGNED_SHORT_5_6_5};ci.getTypedArrayConstructor=function(e){let t=ci.sizeInBytes(e);return t===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:t===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:t===Float32Array.BYTES_PER_ELEMENT&&e===ci.FLOAT?Float32Array:Uint32Array};var nt=Object.freeze(ci);var at={DEPTH_COMPONENT:te.DEPTH_COMPONENT,DEPTH_STENCIL:te.DEPTH_STENCIL,ALPHA:te.ALPHA,RED:te.RED,R:te.RED,RG:te.RG,RGB:te.RGB,RGBA:te.RGBA,LUMINANCE:te.LUMINANCE,LUMINANCE_ALPHA:te.LUMINANCE_ALPHA,RGB_DXT1:te.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:te.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:te.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:te.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:te.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:te.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:te.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:te.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:te.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:te.COMPRESSED_RGBA_BPTC_UNORM};at.componentsLength=function(e){switch(e){case at.RGB:return 3;case at.RGBA:return 4;case at.LUMINANCE_ALPHA:case at.RG:return 2;case at.ALPHA:case at.RED:case at.LUMINANCE:return 1;case at.R:return 4;default:return 1}};at.validate=function(e){return e===at.DEPTH_COMPONENT||e===at.DEPTH_STENCIL||e===at.ALPHA||e===at.RED||e===at.RG||e===at.RGB||e===at.RGBA||e===at.LUMINANCE||e===at.LUMINANCE_ALPHA||e===at.RGB_DXT1||e===at.RGBA_DXT1||e===at.RGBA_DXT3||e===at.RGBA_DXT5||e===at.RGB_PVRTC_4BPPV1||e===at.RGB_PVRTC_2BPPV1||e===at.RGBA_PVRTC_4BPPV1||e===at.RGBA_PVRTC_2BPPV1||e===at.RGBA_ASTC||e===at.RGB_ETC1||e===at.RGB8_ETC2||e===at.RGBA8_ETC2_EAC||e===at.RGBA_BC7||e===at.R};at.isColorFormat=function(e){return e===at.RED||e===at.ALPHA||e===at.RGB||e===at.RGBA||e===at.LUMINANCE||e===at.LUMINANCE_ALPHA||e===at.R};at.isDepthFormat=function(e){return e===at.DEPTH_COMPONENT||e===at.DEPTH_STENCIL};at.isCompressedFormat=function(e){return e===at.RGB_DXT1||e===at.RGBA_DXT1||e===at.RGBA_DXT3||e===at.RGBA_DXT5||e===at.RGB_PVRTC_4BPPV1||e===at.RGB_PVRTC_2BPPV1||e===at.RGBA_PVRTC_4BPPV1||e===at.RGBA_PVRTC_2BPPV1||e===at.RGBA_ASTC||e===at.RGB_ETC1||e===at.RGB8_ETC2||e===at.RGBA8_ETC2_EAC||e===at.RGBA_BC7};at.isDXTFormat=function(e){return e===at.RGB_DXT1||e===at.RGBA_DXT1||e===at.RGBA_DXT3||e===at.RGBA_DXT5};at.isPVRTCFormat=function(e){return e===at.RGB_PVRTC_4BPPV1||e===at.RGB_PVRTC_2BPPV1||e===at.RGBA_PVRTC_4BPPV1||e===at.RGBA_PVRTC_2BPPV1};at.isASTCFormat=function(e){return e===at.RGBA_ASTC};at.isETC1Format=function(e){return e===at.RGB_ETC1};at.isETC2Format=function(e){return e===at.RGB8_ETC2||e===at.RGBA8_ETC2_EAC};at.isBC7Format=function(e){return e===at.RGBA_BC7};at.compressedTextureSizeInBytes=function(e,t,n){switch(e){case at.RGB_DXT1:case at.RGBA_DXT1:case at.RGB_ETC1:case at.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case at.RGBA_DXT3:case at.RGBA_DXT5:case at.RGBA_ASTC:case at.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case at.RGB_PVRTC_4BPPV1:case at.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case at.RGB_PVRTC_2BPPV1:case at.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case at.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};at.textureSizeInBytes=function(e,t,n,i){let o=at.componentsLength(e);return nt.isPacked(t)&&(o=1),o*nt.sizeInBytes(t)*n*i};at.alignmentInBytes=function(e,t,n){let i=at.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};at.createTypedArray=function(e,t,n,i){let o=nt.getTypedArrayConstructor(t),r=at.componentsLength(e)*n*i;return new o(r)};at.flipY=function(e,t,n,i,o){if(o===1)return e;let r=at.createTypedArray(t,n,i,o),s=at.componentsLength(t),a=i*s;for(let c=0;c<o;++c){let u=c*i*s,f=(o-c-1)*i*s;for(let d=0;d<a;++d)r[f+d]=e[u+d]}return r};at.toInternalFormat=function(e,t,n){if(!n.webgl2)return e;if(e===at.DEPTH_STENCIL)return te.DEPTH24_STENCIL8;if(e===at.DEPTH_COMPONENT){if(t===nt.UNSIGNED_SHORT)return te.DEPTH_COMPONENT16;if(t===nt.UNSIGNED_INT)return te.DEPTH_COMPONENT24}if(t===nt.FLOAT)switch(e){case at.RGBA:return te.RGBA32F;case at.RGB:return te.RGB32F;case at.RG:return te.RG32F;case at.RED:case at.R:return te.R32F}if(t===nt.HALF_FLOAT)switch(e){case at.RGBA:return te.RGBA16F;case at.RGB:return te.RGB16F;case at.RG:return te.RG16F;case at.RED:case at.R:return te.R16F}return e};var ct=Object.freeze(at);var dr={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_maximumSamples:0,_highpFloatSupported:!1,_highpIntSupported:!1};Object.defineProperties(dr,{maximumCombinedTextureImageUnits:{get:function(){return dr._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return dr._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return dr._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return dr._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return dr._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return dr._maximumTextureSize}},maximumVaryingVectors:{get:function(){return dr._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return dr._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return dr._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return dr._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return dr._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return dr._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return dr._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return dr._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return dr._maximumViewportWidth}},maximumViewportHeight:{get:function(){return dr._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return dr._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return dr._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return dr._maximumColorAttachments}},maximumSamples:{get:function(){return dr._maximumSamples}},highpFloatSupported:{get:function(){return dr._highpFloatSupported}},highpIntSupported:{get:function(){return dr._highpIntSupported}}});var Ut=dr;function D5(e,t,n){let i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,n._target,n._texture,0)}function k1(e,t,n){let i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,n._getRenderbuffer())}function td(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Ut.maximumColorAttachments;if(this._gl=n,this._framebuffer=n.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=y(e.destroyAttachments,!0),this._bind(),l(e.colorTextures)){let o=e.colorTextures,r=this._colorTextures.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;D5(this,c,a),this._activeColorAttachments[s]=c,this._colorTextures[s]=a}}if(l(e.colorRenderbuffers)){let o=e.colorRenderbuffers,r=this._colorRenderbuffers.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;k1(this,c,a),this._activeColorAttachments[s]=c,this._colorRenderbuffers[s]=a}}if(l(e.depthTexture)){let o=e.depthTexture;D5(this,this._gl.DEPTH_ATTACHMENT,o),this._depthTexture=o}if(l(e.depthRenderbuffer)){let o=e.depthRenderbuffer;k1(this,this._gl.DEPTH_ATTACHMENT,o),this._depthRenderbuffer=o}if(l(e.stencilRenderbuffer)){let o=e.stencilRenderbuffer;k1(this,this._gl.STENCIL_ATTACHMENT,o),this._stencilRenderbuffer=o}if(l(e.depthStencilTexture)){let o=e.depthStencilTexture;D5(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilTexture=o}if(l(e.depthStencilRenderbuffer)){let o=e.depthStencilRenderbuffer;k1(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilRenderbuffer=o}this._unBind()}Object.defineProperties(td.prototype,{status:{get:function(){this._bind();let e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}});td.prototype._bind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)};td.prototype._unBind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)};td.prototype.bindDraw=function(){let e=this._gl;e.bindFramebuffer(e.DRAW_FRAMEBUFFER,this._framebuffer)};td.prototype.bindRead=function(){let e=this._gl;e.bindFramebuffer(e.READ_FRAMEBUFFER,this._framebuffer)};td.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments};td.prototype.getColorTexture=function(e){return this._colorTextures[e]};td.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]};td.prototype.isDestroyed=function(){return!1};td.prototype.destroy=function(){if(this.destroyAttachments){let e=this._colorTextures;for(let n=0;n<e.length;++n){let i=e[n];l(i)&&i.destroy()}let t=this._colorRenderbuffers;for(let n=0;n<t.length;++n){let i=t[n];l(i)&&i.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),ue(this)};var Ca=td;var V1={CLOCKWISE:te.CW,COUNTER_CLOCKWISE:te.CCW};V1.validate=function(e){return e===V1.CLOCKWISE||e===V1.COUNTER_CLOCKWISE};var gs=Object.freeze(V1);function aQ(e){if(typeof e!="object"||e===null)return e;let t,n=Object.keys(e);for(let i=0;i<n.length;i++)t=n[i],e.hasOwnProperty(t)&&t!=="_applyFunctions"&&(e[t]=aQ(e[t]));return Object.freeze(e)}var cQ=aQ;function Th(e){let t=y(e,y.EMPTY_OBJECT),n=y(t.cull,y.EMPTY_OBJECT),i=y(t.polygonOffset,y.EMPTY_OBJECT),o=y(t.scissorTest,y.EMPTY_OBJECT),r=y(o.rectangle,y.EMPTY_OBJECT),s=y(t.depthRange,y.EMPTY_OBJECT),a=y(t.depthTest,y.EMPTY_OBJECT),c=y(t.colorMask,y.EMPTY_OBJECT),u=y(t.blending,y.EMPTY_OBJECT),f=y(u.color,y.EMPTY_OBJECT),d=y(t.stencilTest,y.EMPTY_OBJECT),p=y(d.frontOperation,y.EMPTY_OBJECT),g=y(d.backOperation,y.EMPTY_OBJECT),m=y(t.sampleCoverage,y.EMPTY_OBJECT),x=t.viewport;this.frontFace=y(t.frontFace,gs.COUNTER_CLOCKWISE),this.cull={enabled:y(n.enabled,!1),face:y(n.face,te.BACK)},this.lineWidth=y(t.lineWidth,1),this.polygonOffset={enabled:y(i.enabled,!1),factor:y(i.factor,0),units:y(i.units,0)},this.scissorTest={enabled:y(o.enabled,!1),rectangle:qe.clone(r)},this.depthRange={near:y(s.near,0),far:y(s.far,1)},this.depthTest={enabled:y(a.enabled,!1),func:y(a.func,te.LESS)},this.colorMask={red:y(c.red,!0),green:y(c.green,!0),blue:y(c.blue,!0),alpha:y(c.alpha,!0)},this.depthMask=y(t.depthMask,!0),this.stencilMask=y(t.stencilMask,-1),this.blending={enabled:y(u.enabled,!1),color:new H(y(f.red,0),y(f.green,0),y(f.blue,0),y(f.alpha,0)),equationRgb:y(u.equationRgb,te.FUNC_ADD),equationAlpha:y(u.equationAlpha,te.FUNC_ADD),functionSourceRgb:y(u.functionSourceRgb,te.ONE),functionSourceAlpha:y(u.functionSourceAlpha,te.ONE),functionDestinationRgb:y(u.functionDestinationRgb,te.ZERO),functionDestinationAlpha:y(u.functionDestinationAlpha,te.ZERO)},this.stencilTest={enabled:y(d.enabled,!1),frontFunction:y(d.frontFunction,te.ALWAYS),backFunction:y(d.backFunction,te.ALWAYS),reference:y(d.reference,0),mask:y(d.mask,-1),frontOperation:{fail:y(p.fail,te.KEEP),zFail:y(p.zFail,te.KEEP),zPass:y(p.zPass,te.KEEP)},backOperation:{fail:y(g.fail,te.KEEP),zFail:y(g.zFail,te.KEEP),zPass:y(g.zPass,te.KEEP)}},this.sampleCoverage={enabled:y(m.enabled,!1),value:y(m.value,1),invert:y(m.invert,!1)},this.viewport=l(x)?new qe(x.x,x.y,x.width,x.height):void 0,this.id=0,this._applyFunctions=[]}var Ewe=0,bh={};Th.fromCache=function(e){let t=JSON.stringify(e),n=bh[t];if(l(n))return++n.referenceCount,n.state;let i=new Th(e),o=JSON.stringify(i);return n=bh[o],l(n)||(i.id=Ewe++,n={referenceCount:0,state:i},bh[o]=n),++n.referenceCount,bh[t]={referenceCount:1,state:n.state},n.state};Th.removeFromCache=function(e){let t=new Th(e),n=JSON.stringify(t),i=bh[n],o=JSON.stringify(e),r=bh[o];l(r)&&(--r.referenceCount,r.referenceCount===0&&(delete bh[o],l(i)&&--i.referenceCount)),l(i)&&i.referenceCount===0&&delete bh[n]};Th.getCache=function(){return bh};Th.clearCache=function(){bh={}};function v0(e,t,n){n?e.enable(t):e.disable(t)}function lQ(e,t){e.frontFace(t.frontFace)}function uQ(e,t){let n=t.cull,i=n.enabled;v0(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function fQ(e,t){e.lineWidth(t.lineWidth)}function dQ(e,t){let n=t.polygonOffset,i=n.enabled;v0(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function hQ(e,t,n){let i=t.scissorTest,o=l(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(v0(e,e.SCISSOR_TEST,o),o){let r=l(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(r.x,r.y,r.width,r.height)}}function mQ(e,t){let n=t.depthRange;e.depthRange(n.near,n.far)}function pQ(e,t){let n=t.depthTest,i=n.enabled;v0(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function _Q(e,t){let n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function gQ(e,t){e.depthMask(t.depthMask)}function yQ(e,t){e.stencilMask(t.stencilMask)}function Swe(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function xQ(e,t,n){let i=t.blending,o=l(n.blendingEnabled)?n.blendingEnabled:i.enabled;v0(e,e.BLEND,o),o&&(Swe(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function bQ(e,t){let n=t.stencilTest,i=n.enabled;if(v0(e,e.STENCIL_TEST,i),i){let o=n.frontFunction,r=n.backFunction,s=n.reference,a=n.mask;e.stencilFunc(o,s,a),e.stencilFuncSeparate(e.BACK,r,s,a),e.stencilFuncSeparate(e.FRONT,o,s,a);let c=n.frontOperation,u=c.fail,f=c.zFail,d=c.zPass;e.stencilOpSeparate(e.FRONT,u,f,d);let p=n.backOperation,g=p.fail,m=p.zFail,x=p.zPass;e.stencilOpSeparate(e.BACK,g,m,x)}}function TQ(e,t){let n=t.sampleCoverage,i=n.enabled;v0(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}var wwe=new qe;function CQ(e,t,n){let i=y(t.viewport,n.viewport);l(i)||(i=wwe,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}Th.apply=function(e,t,n){lQ(e,t),uQ(e,t),fQ(e,t),dQ(e,t),mQ(e,t),pQ(e,t),_Q(e,t),gQ(e,t),yQ(e,t),bQ(e,t),TQ(e,t),hQ(e,t,n),xQ(e,t,n),CQ(e,t,n)};function vwe(e,t){let n=[];return e.frontFace!==t.frontFace&&n.push(lQ),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(uQ),e.lineWidth!==t.lineWidth&&n.push(fQ),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(dQ),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push(mQ),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(pQ),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&n.push(_Q),e.depthMask!==t.depthMask&&n.push(gQ),e.stencilMask!==t.stencilMask&&n.push(yQ),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&n.push(bQ),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(TQ),n}Th.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];l(f)||(f=vwe(t,n),n._applyFunctions[t.id]=f);let d=f.length;for(let p=0;p<d;++p)f[p](e,n)}let s=l(i.scissorTest)?i.scissorTest:t.scissorTest,a=l(o.scissorTest)?o.scissorTest:n.scissorTest;(s!==a||r)&&hQ(e,n,o);let c=l(i.blendingEnabled)?i.blendingEnabled:t.blending.enabled,u=l(o.blendingEnabled)?o.blendingEnabled:n.blending.enabled;(c!==u||u&&t.blending!==n.blending)&&xQ(e,n,o),(t!==n||i!==o||i.context!==o.context)&&CQ(e,n,o)};Th.getState=function(e){return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:qe.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:H.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:l(e.viewport)?qe.clone(e.viewport):void 0}};var ze=Th;function Kt(e,t,n,i){this[0]=y(e,0),this[1]=y(n,0),this[2]=y(t,0),this[3]=y(i,0)}Kt.packedLength=4;Kt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};Kt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Kt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};Kt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Kt.pack(e[o],t,o*4);return t};Kt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=Kt.unpack(e,i,t[o])}return t};Kt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Kt(e[0],e[2],e[1],e[3])};Kt.fromArray=Kt.unpack;Kt.fromColumnMajorArray=function(e,t){return Kt.clone(e,t)};Kt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Kt(e[0],e[1],e[2],e[3])};Kt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Kt(e.x,0,0,e.y)};Kt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Kt(e,0,0,e)};Kt.fromRotation=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=-i,t[3]=n,t):new Kt(n,-i,i,n)};Kt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]};Kt.getElementIndex=function(e,t){return e*2+t};Kt.getColumn=function(e,t,n){let i=t*2,o=e[i],r=e[i+1];return n.x=o,n.y=r,n};Kt.setColumn=function(e,t,n,i){i=Kt.clone(e,i);let o=t*2;return i[o]=n.x,i[o+1]=n.y,i};Kt.getRow=function(e,t,n){let i=e[t],o=e[t+2];return n.x=i,n.y=o,n};Kt.setRow=function(e,t,n,i){return i=Kt.clone(e,i),i[t]=n.x,i[t+2]=n.y,i};var Dwe=new U;Kt.setScale=function(e,t,n){let i=Kt.getScale(e,Dwe),o=t.x/i.x,r=t.y/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var Iwe=new U;Kt.setUniformScale=function(e,t,n){let i=Kt.getScale(e,Iwe),o=t/i.x,r=t/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var AQ=new U;Kt.getScale=function(e,t){return t.x=U.magnitude(U.fromElements(e[0],e[1],AQ)),t.y=U.magnitude(U.fromElements(e[2],e[3],AQ)),t};var EQ=new U;Kt.getMaximumScale=function(e){return Kt.getScale(e,EQ),U.maximumComponent(EQ)};var Pwe=new U;Kt.setRotation=function(e,t,n){let i=Kt.getScale(e,Pwe);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.y,n[3]=t[3]*i.y,n};var Rwe=new U;Kt.getRotation=function(e,t){let n=Kt.getScale(e,Rwe);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};Kt.multiply=function(e,t,n){let i=e[0]*t[0]+e[2]*t[1],o=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],s=e[1]*t[2]+e[3]*t[3];return n[0]=i,n[1]=r,n[2]=o,n[3]=s,n};Kt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};Kt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};Kt.multiplyByVector=function(e,t,n){let i=e[0]*t.x+e[2]*t.y,o=e[1]*t.x+e[3]*t.y;return n.x=i,n.y=o,n};Kt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Kt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};Kt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Kt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};Kt.transpose=function(e,t){let n=e[0],i=e[2],o=e[1],r=e[3];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t};Kt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t};Kt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};Kt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};Kt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n};Kt.IDENTITY=Object.freeze(new Kt(1,0,0,1));Kt.ZERO=Object.freeze(new Kt(0,0,0,0));Kt.COLUMN0ROW0=0;Kt.COLUMN0ROW1=1;Kt.COLUMN1ROW0=2;Kt.COLUMN1ROW1=3;Object.defineProperties(Kt.prototype,{length:{get:function(){return Kt.packedLength}}});Kt.prototype.clone=function(e){return Kt.clone(this,e)};Kt.prototype.equals=function(e){return Kt.equals(this,e)};Kt.prototype.equalsEpsilon=function(e,t){return Kt.equalsEpsilon(this,e,t)};Kt.prototype.toString=function(){return`(${this[0]}, ${this[2]}) -(${this[1]}, ${this[3]})`};var Fi=Kt;function Owe(e,t,n,i){switch(t.type){case e.FLOAT:return new SQ(e,t,n,i);case e.FLOAT_VEC2:return new wQ(e,t,n,i);case e.FLOAT_VEC3:return new vQ(e,t,n,i);case e.FLOAT_VEC4:return new DQ(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:case e.SAMPLER_3D:case e.SAMPLER_2D_ARRAY:return new I5(e,t,n,i);case e.INT:case e.BOOL:return new IQ(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new PQ(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new RQ(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new OQ(e,t,n,i);case e.FLOAT_MAT2:return new MQ(e,t,n,i);case e.FLOAT_MAT3:return new LQ(e,t,n,i);case e.FLOAT_MAT4:return new NQ(e,t,n,i);default:throw new ce(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function SQ(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}SQ.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))};function wQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new U,this._gl=e,this._location=i}wQ.prototype.set=function(){let e=this.value;U.equals(e,this._value)||(U.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))};function vQ(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}vQ.prototype.set=function(){let e=this.value;e&&(l(e.red)?H.equals(e,this._value)||(this._value=H.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue)):l(e.x)&&(h.equals(e,this._value)||(this._value=h.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z))))};function DQ(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}DQ.prototype.set=function(){let e=this.value;l(e.red)?H.equals(e,this._value)||(this._value=H.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha)):l(e.x)&&(oe.equals(e,this._value)||(this._value=oe.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w)))};function I5(e,t,n,i){this.name=n,this.value=void 0,this._gl=e,this._location=i,this.textureUnitIndex=void 0}I5.prototype.set=function(){let e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);let t=this.value;t&&e.bindTexture(t._target,t._texture)};I5.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1};function IQ(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}IQ.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))};function PQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new U,this._gl=e,this._location=i}PQ.prototype.set=function(){let e=this.value;U.equals(e,this._value)||(U.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))};function RQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new h,this._gl=e,this._location=i}RQ.prototype.set=function(){let e=this.value;h.equals(e,this._value)||(h.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))};function OQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new oe,this._gl=e,this._location=i}OQ.prototype.set=function(){let e=this.value;oe.equals(e,this._value)||(oe.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};var Mwe=new Float32Array(4);function MQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new Fi,this._gl=e,this._location=i}MQ.prototype.set=function(){if(!Fi.equalsArray(this.value,this._value,0)){Fi.clone(this.value,this._value);let e=Fi.toArray(this.value,Mwe);this._gl.uniformMatrix2fv(this._location,!1,e)}};var Lwe=new Float32Array(9);function LQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new Z,this._gl=e,this._location=i}LQ.prototype.set=function(){if(!Z.equalsArray(this.value,this._value,0)){Z.clone(this.value,this._value);let e=Z.toArray(this.value,Lwe);this._gl.uniformMatrix3fv(this._location,!1,e)}};var Nwe=new Float32Array(16);function NQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new F,this._gl=e,this._location=i}NQ.prototype.set=function(){if(!F.equalsArray(this.value,this._value,0)){F.clone(this.value,this._value);let e=F.toArray(this.value,Nwe);this._gl.uniformMatrix4fv(this._location,!1,e)}};var U1=Owe;function Fwe(e,t,n,i){switch(t.type){case e.FLOAT:return new FQ(e,t,n,i);case e.FLOAT_VEC2:return new BQ(e,t,n,i);case e.FLOAT_VEC3:return new kQ(e,t,n,i);case e.FLOAT_VEC4:return new VQ(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new P5(e,t,n,i);case e.INT:case e.BOOL:return new UQ(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new zQ(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new HQ(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new GQ(e,t,n,i);case e.FLOAT_MAT2:return new WQ(e,t,n,i);case e.FLOAT_MAT3:return new jQ(e,t,n,i);case e.FLOAT_MAT4:return new qQ(e,t,n,i);default:throw new ce(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function FQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._location=i[0]}FQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1fv(this._location,n)};function BQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*2),this._gl=e,this._location=i[0]}BQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];U.equalsArray(s,n,o)||(U.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2fv(this._location,n)};function kQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*3),this._gl=e,this._location=i[0]}kQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?(s.red!==n[o]||s.green!==n[o+1]||s.blue!==n[o+2])&&(n[o]=s.red,n[o+1]=s.green,n[o+2]=s.blue,i=!0):l(s.x)&&(h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0)),o+=3}i&&this._gl.uniform3fv(this._location,n)};function VQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}VQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?H.equalsArray(s,n,o)||(H.pack(s,n,o),i=!0):l(s.x)&&(oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0)),o+=4}i&&this._gl.uniform4fv(this._location,n)};function P5(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._locations=i,this.textureUnitIndex=void 0}P5.prototype.set=function(){let e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,n=this.value,i=n.length;for(let o=0;o<i;++o){let r=n[o];r&&(e.activeTexture(t+o),e.bindTexture(r._target,r._texture))}};P5.prototype._setSampler=function(e){this.textureUnitIndex=e;let t=this._locations,n=t.length;for(let i=0;i<n;++i){let o=e+i;this._gl.uniform1i(t[i],o)}return e+n};function UQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o),this._gl=e,this._location=i[0]}UQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1iv(this._location,n)};function zQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*2),this._gl=e,this._location=i[0]}zQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];U.equalsArray(s,n,o)||(U.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2iv(this._location,n)};function HQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*3),this._gl=e,this._location=i[0]}HQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0),o+=3}i&&this._gl.uniform3iv(this._location,n)};function GQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*4),this._gl=e,this._location=i[0]}GQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniform4iv(this._location,n)};function WQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}WQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Fi.equalsArray(s,n,o)||(Fi.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniformMatrix2fv(this._location,!1,n)};function jQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*9),this._gl=e,this._location=i[0]}jQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Z.equalsArray(s,n,o)||(Z.pack(s,n,o),i=!0),o+=9}i&&this._gl.uniformMatrix3fv(this._location,!1,n)};function qQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*16),this._gl=e,this._location=i[0]}qQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];F.equalsArray(s,n,o)||(F.pack(s,n,o),i=!0),o+=16}i&&this._gl.uniformMatrix4fv(this._location,!1,n)};var z1=Fwe;var Bwe=0;function ip(e){let t=e.vertexShaderText,n=e.fragmentShaderText;typeof spector<"u"&&(t=t.replace(/^#line/gm,"//#line"),n=n.replace(/^#line/gm,"//#line"));let i=kwe(t,n);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=Bwe++}ip.fromCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.getShaderProgram(e)};ip.replaceCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.replaceShaderProgram(e)};Object.defineProperties(ip.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return H1(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return H1(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return H1(this),this._uniformsByName}}});function YQ(e){let t=[],n=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o].trim(),s=r.slice(r.lastIndexOf(" ")+1);t.push(s)}}return t}function kwe(e,t){let n={};if(!Ut.highpFloatSupported||!Ut.highpIntSupported){let i,o,r,s,a=YQ(e),c=YQ(t),u=a.length,f=c.length;for(i=0;i<u;i++)for(o=0;o<f;o++)if(a[i]===c[o]){r=a[i],s=`czm_mediump_${r}`;let d=new RegExp(`${r}\\b`,"g");t=t.replace(d,s),n[s]=r}}return{fragmentShaderText:t,duplicateUniformNames:n}}var Ch="[Cesium WebGL] ";function Vwe(e,t){let n=t._vertexShaderText,i=t._fragmentShaderText,o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,n),e.compileShader(o);let r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,i),e.compileShader(r);let s=e.createProgram();e.attachShader(s,o),e.attachShader(s,r);let a=t._attributeLocations;if(l(a))for(let p in a)a.hasOwnProperty(p)&&e.bindAttribLocation(s,a[p],p);e.linkProgram(s);let c;if(e.getProgramParameter(s,e.LINK_STATUS))return t._logShaderCompilation&&(c=e.getShaderInfoLog(o),l(c)&&c.length>0&&console.log(`${Ch}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${Ch}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${Ch}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let u,f=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${Ch}Shader program link log: ${c}`),d(o,"vertex"),d(r,"fragment"),u=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${Ch}Vertex shader compile log: ${c}`),console.error(`${Ch} Vertex shader source: -${n}`),u=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${Ch}Fragment shader compile log: ${c}`),console.error(`${Ch} Fragment shader source: -${i}`),u=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new ce(u);function d(p,g){if(!l(f))return;let m=f.getTranslatedShaderSource(p);if(m===""){console.error(`${Ch}${g} shader translation failed.`);return}console.error(`${Ch}Translated ${g} shaderSource: -${m}`)}}function Uwe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttrib(t,o),s=e.getAttribLocation(t,r.name);i[r.name]={name:r.name,type:r.type,index:s}}return i}function zwe(e,t){let n={},i=[],o=[],r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<r;++s){let a=e.getActiveUniform(t,s),c="[0]",u=a.name.indexOf(c,a.name.length-c.length)!==-1?a.name.slice(0,a.name.length-3):a.name;if(u.indexOf("gl_")!==0)if(a.name.indexOf("[")<0){let f=e.getUniformLocation(t,u);if(f!==null){let d=U1(e,a,u,f);n[u]=d,i.push(d),d._setSampler&&o.push(d)}}else{let f,d,p,g,m=u.indexOf("[");if(m>=0){if(f=n[u.slice(0,m)],!l(f))continue;d=f._locations,d.length<=1&&(p=f.value,g=e.getUniformLocation(t,u),g!==null&&(d.push(g),p.push(e.getUniform(t,g))))}else{d=[];for(let x=0;x<a.size;++x)g=e.getUniformLocation(t,`${u}[${x}]`),g!==null&&d.push(g);f=z1(e,a,u,d),n[u]=f,i.push(f),f._setSampler&&o.push(f)}}}return{uniformsByName:n,uniforms:i,samplerUniforms:o}}function Hwe(e,t){let n=[],i=[];for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=o,a=e._duplicateUniformNames[s];l(a)&&(r.name=a,s=a);let c=P_[s];l(c)?n.push({uniform:r,automaticUniform:c}):i.push(r)}return{automaticUniforms:n,manualUniforms:i}}function Gwe(e,t,n){e.useProgram(t);let i=0,o=n.length;for(let r=0;r<o;++r)i=n[r]._setSampler(i);return e.useProgram(null),i}function H1(e){l(e._program)||XQ(e)}function XQ(e){let t=e._program,n=e._gl,i=Vwe(n,e,e._debugShaders),o=n.getProgramParameter(i,n.ACTIVE_ATTRIBUTES),r=zwe(n,i),s=Hwe(e,r.uniformsByName);e._program=i,e._numberOfVertexAttributes=o,e._vertexAttributes=Uwe(n,i,o),e._uniformsByName=r.uniformsByName,e._uniforms=r.uniforms,e._automaticUniforms=s.automaticUniforms,e._manualUniforms=s.manualUniforms,e.maximumTextureUnitIndex=Gwe(n,i,r.samplerUniforms),t&&e._gl.deleteProgram(t),typeof spector<"u"&&(e._program.__SPECTOR_rebuildProgram=function(a,c,u,f){let d=e._vertexShaderText,p=e._fragmentShaderText,g=/ ! = /g;e._vertexShaderText=a.replace(g," != "),e._fragmentShaderText=c.replace(g," != ");try{XQ(e),u(e._program)}catch(m){e._vertexShaderText=d,e._fragmentShaderText=p;let b=/(?:Compile|Link) error: ([^]*)/.exec(m.message);f(b?b[1]:m.message)}})}ip.prototype._bind=function(){H1(this),this._gl.useProgram(this._program)};ip.prototype._setUniforms=function(e,t,n){let i,o;if(l(e)){let a=this._manualUniforms;for(i=a.length,o=0;o<i;++o){let c=a[o];c.value=e[c.name]()}}let r=this._automaticUniforms;for(i=r.length,o=0;o<i;++o){let a=r[o];a.uniform.value=a.automaticUniform.getValue(t)}let s=this._uniforms;for(i=s.length,o=0;o<i;++o)s[o].set();if(n){let a=this._gl,c=this._program;a.validateProgram(c)}};ip.prototype.isDestroyed=function(){return!1};ip.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)};ip.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),ue(this)};var sn=ip;function G1(e){this._context=e}var $S,Wwe=new et({primitiveType:Fe.TRIANGLES}),jwe=new ni({color:new H(0,0,0,0)});function qwe(e,t){return new Ca({context:e,colorTextures:[t],destroyAttachments:!1})}function Ywe(e,t){return sn.fromCache({context:e,vertexShaderSource:xT,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function Xwe(e,t){return(!l($S)||$S.viewport.width!==e||$S.viewport.height!==t)&&($S=ze.fromCache({viewport:new qe(0,0,e,t)})),$S}G1.prototype.execute=function(e){l(e.preExecute)&&e.preExecute(e);let t=e.outputTexture,n=t.width,i=t.height,o=this._context,r=l(e.vertexArray)?e.vertexArray:o.getViewportQuadVertexArray(),s=l(e.shaderProgram)?e.shaderProgram:Ywe(o,e.fragmentShaderSource),a=qwe(o,t),c=Xwe(n,i),u=e.uniformMap,f=jwe;f.framebuffer=a,f.renderState=c,f.execute(o);let d=Wwe;d.vertexArray=r,d.renderState=c,d.shaderProgram=s,d.uniformMap=u,d.framebuffer=a,d.execute(o),a.destroy(),e.persists||(s.destroy(),l(e.vertexArray)&&r.destroy()),l(e.postExecute)&&e.postExecute(t)};G1.prototype.isDestroyed=function(){return!1};G1.prototype.destroy=function(){return ue(this)};var W1=G1;var Sn={BYTE:te.BYTE,UNSIGNED_BYTE:te.UNSIGNED_BYTE,SHORT:te.SHORT,UNSIGNED_SHORT:te.UNSIGNED_SHORT,INT:te.INT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,DOUBLE:te.DOUBLE};Sn.getSizeInBytes=function(e){switch(e){case Sn.BYTE:return Int8Array.BYTES_PER_ELEMENT;case Sn.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case Sn.SHORT:return Int16Array.BYTES_PER_ELEMENT;case Sn.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case Sn.INT:return Int32Array.BYTES_PER_ELEMENT;case Sn.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case Sn.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case Sn.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};Sn.fromTypedArray=function(e){if(e instanceof Int8Array)return Sn.BYTE;if(e instanceof Uint8Array)return Sn.UNSIGNED_BYTE;if(e instanceof Int16Array)return Sn.SHORT;if(e instanceof Uint16Array)return Sn.UNSIGNED_SHORT;if(e instanceof Int32Array)return Sn.INT;if(e instanceof Uint32Array)return Sn.UNSIGNED_INT;if(e instanceof Float32Array)return Sn.FLOAT;if(e instanceof Float64Array)return Sn.DOUBLE};Sn.validate=function(e){return l(e)&&(e===Sn.BYTE||e===Sn.UNSIGNED_BYTE||e===Sn.SHORT||e===Sn.UNSIGNED_SHORT||e===Sn.INT||e===Sn.UNSIGNED_INT||e===Sn.FLOAT||e===Sn.DOUBLE)};Sn.createTypedArray=function(e,t){switch(e){case Sn.BYTE:return new Int8Array(t);case Sn.UNSIGNED_BYTE:return new Uint8Array(t);case Sn.SHORT:return new Int16Array(t);case Sn.UNSIGNED_SHORT:return new Uint16Array(t);case Sn.INT:return new Int32Array(t);case Sn.UNSIGNED_INT:return new Uint32Array(t);case Sn.FLOAT:return new Float32Array(t);case Sn.DOUBLE:return new Float64Array(t)}};Sn.createArrayBufferView=function(e,t,n,i){switch(n=y(n,0),i=y(i,(t.byteLength-n)/Sn.getSizeInBytes(e)),e){case Sn.BYTE:return new Int8Array(t,n,i);case Sn.UNSIGNED_BYTE:return new Uint8Array(t,n,i);case Sn.SHORT:return new Int16Array(t,n,i);case Sn.UNSIGNED_SHORT:return new Uint16Array(t,n,i);case Sn.INT:return new Int32Array(t,n,i);case Sn.UNSIGNED_INT:return new Uint32Array(t,n,i);case Sn.FLOAT:return new Float32Array(t,n,i);case Sn.DOUBLE:return new Float64Array(t,n,i)}};Sn.fromName=function(e){switch(e){case"BYTE":return Sn.BYTE;case"UNSIGNED_BYTE":return Sn.UNSIGNED_BYTE;case"SHORT":return Sn.SHORT;case"UNSIGNED_SHORT":return Sn.UNSIGNED_SHORT;case"INT":return Sn.INT;case"UNSIGNED_INT":return Sn.UNSIGNED_INT;case"FLOAT":return Sn.FLOAT;case"DOUBLE":return Sn.DOUBLE}};var X=Object.freeze(Sn);var Kwe={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},nd=Object.freeze(Kwe);function R5(e){e=y(e,y.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=y(e.primitiveType,Fe.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=y(e.geometryType,nd.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}R5.computeNumberOfVertices=function(e){let t=-1;for(let n in e.attributes)if(e.attributes.hasOwnProperty(n)&&l(e.attributes[n])&&l(e.attributes[n].values)){let i=e.attributes[n];t=i.values.length/i.componentsPerAttribute}return t};var $we=new fe,Zwe=new h,KQ=new F,Qwe=[new fe,new fe,new fe],Jwe=[new U,new U,new U],eve=[new U,new U,new U],tve=new h,nve=new Ne,ive=new F,ove=new Fi;R5._textureCoordinateRotationPoints=function(e,t,n,i){let o,r=se.center(i,$we),s=fe.toCartesian(r,n,Zwe),a=Bt.eastNorthUpToFixedFrame(s,n,KQ),c=F.inverse(a,KQ),u=Jwe,f=Qwe;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let d=tve;for(o=0;o<3;o++)fe.toCartesian(f[o],n,d),d=F.multiplyByPointAsVector(c,d,d),u[o].x=d.x,u[o].y=d.y;let p=Ne.fromAxisAngle(h.UNIT_Z,-t,nve),g=Z.fromQuaternion(p,ive),m=e.length,x=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,C=Number.NEGATIVE_INFINITY;for(o=0;o<m;o++)d=F.multiplyByPointAsVector(c,e[o],d),d=Z.multiplyByVector(g,d,d),x=Math.min(x,d.x),b=Math.min(b,d.y),T=Math.max(T,d.x),C=Math.max(C,d.y);let A=Fi.fromRotation(t,ove),S=eve;S[0].x=x,S[0].y=b,S[1].x=x,S[1].y=C,S[2].x=T,S[2].y=b;let w=u[0],D=u[2].x-w.x,O=u[1].y-w.y;for(o=0;o<3;o++){let E=S[o];Fi.multiplyByVector(A,E,E),E.x=(E.x-w.x)/D,E.y=(E.y-w.y)/O}let R=S[0],M=S[1],L=S[2],_=new Array(6);return U.pack(R,_),U.pack(M,_,2),U.pack(L,_,4),_};var dt=R5;function rve(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.values=e.values}var Ee=rve;function bT(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(bT.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}},arrayBufferView:{get:function(){return this._buffer}}});bT.clone=function(e){if(l(e))return new bT(e._format,e._datatype,e._width,e._height,e._buffer)};bT.prototype.clone=function(){return bT.clone(this)};var j1=bT;var $Q=Er(Vl(),1);function ZQ(){if(!l(Zs._canTransferArrayBuffer)){let e=L5("transferTypedArrayTest");e.postMessage=y(e.webkitPostMessage,e.postMessage);let t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return Zs._canTransferArrayBuffer=!1,Zs._canTransferArrayBuffer}Zs._canTransferArrayBuffer=new Promise(i=>{e.onmessage=function(o){let r=o.data.array,s=l(r)&&r[0]===t;i(s),e.terminate(),Zs._canTransferArrayBuffer=s}})}return Zs._canTransferArrayBuffer}var M5=new me;function O5(e){let t;try{t=new Blob([e],{type:"application/javascript"})}catch{let o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new o;r.append(e),t=r.getBlob("application/javascript")}return(window.URL||window.webkitURL).createObjectURL(t)}function L5(e){let t=new $Q.default(e),n=t.scheme().length!==0&&t.fragment().length===0,i=e.replace(/\.js$/,""),o={},r,s;if(C0(e))s=e;else if(!n){let a=on(`${Zs._workerModulePrefix}/${i}.js`);C0(a)&&(s=a)}if(s){let a=`import "${s}";`;return r=O5(a),o.type="module",new Worker(r,o)}if(!n&&typeof CESIUM_WORKERS<"u"){let a=` - importScripts("${O5(CESIUM_WORKERS)}"); +`;var dr={CULL:1,OCCLUDE:2,EXECUTE_IN_CLOSEST_FRUSTUM:4,DEBUG_SHOW_BOUNDING_VOLUME:8,CAST_SHADOWS:16,RECEIVE_SHADOWS:32,PICK_ONLY:64,DEPTH_FOR_TRANSLUCENT_CLASSIFICATION:128};function QS(e){e=y(e,y.EMPTY_OBJECT),this._boundingVolume=e.boundingVolume,this._orientedBoundingBox=e.orientedBoundingBox,this._modelMatrix=e.modelMatrix,this._primitiveType=y(e.primitiveType,Fe.TRIANGLES),this._vertexArray=e.vertexArray,this._count=e.count,this._offset=y(e.offset,0),this._instanceCount=y(e.instanceCount,0),this._shaderProgram=e.shaderProgram,this._uniformMap=e.uniformMap,this._renderState=e.renderState,this._framebuffer=e.framebuffer,this._pass=e.pass,this._owner=e.owner,this._debugOverlappingFrustums=0,this._pickId=e.pickId,this._pickMetadataAllowed=e.pickMetadataAllowed===!0,this._pickedMetadataInfo=void 0,this._flags=0,this.cull=y(e.cull,!0),this.occlude=y(e.occlude,!0),this.executeInClosestFrustum=y(e.executeInClosestFrustum,!1),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.castShadows=y(e.castShadows,!1),this.receiveShadows=y(e.receiveShadows,!1),this.pickOnly=y(e.pickOnly,!1),this.depthForTranslucentClassification=y(e.depthForTranslucentClassification,!1),this.dirty=!0,this.lastDirtyTime=0,this.derivedCommands={}}function Ya(e,t){return(e._flags&t)===t}function z_(e,t,n){n?e._flags|=t:e._flags&=~t}Object.defineProperties(QS.prototype,{boundingVolume:{get:function(){return this._boundingVolume},set:function(e){this._boundingVolume!==e&&(this._boundingVolume=e,this.dirty=!0)}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox},set:function(e){this._orientedBoundingBox!==e&&(this._orientedBoundingBox=e,this.dirty=!0)}},cull:{get:function(){return Ya(this,dr.CULL)},set:function(e){Ya(this,dr.CULL)!==e&&(z_(this,dr.CULL,e),this.dirty=!0)}},occlude:{get:function(){return Ya(this,dr.OCCLUDE)},set:function(e){Ya(this,dr.OCCLUDE)!==e&&(z_(this,dr.OCCLUDE,e),this.dirty=!0)}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix!==e&&(this._modelMatrix=e,this.dirty=!0)}},primitiveType:{get:function(){return this._primitiveType},set:function(e){this._primitiveType!==e&&(this._primitiveType=e,this.dirty=!0)}},vertexArray:{get:function(){return this._vertexArray},set:function(e){this._vertexArray!==e&&(this._vertexArray=e,this.dirty=!0)}},count:{get:function(){return this._count},set:function(e){this._count!==e&&(this._count=e,this.dirty=!0)}},offset:{get:function(){return this._offset},set:function(e){this._offset!==e&&(this._offset=e,this.dirty=!0)}},instanceCount:{get:function(){return this._instanceCount},set:function(e){this._instanceCount!==e&&(this._instanceCount=e,this.dirty=!0)}},shaderProgram:{get:function(){return this._shaderProgram},set:function(e){this._shaderProgram!==e&&(this._shaderProgram=e,this.dirty=!0)}},castShadows:{get:function(){return Ya(this,dr.CAST_SHADOWS)},set:function(e){Ya(this,dr.CAST_SHADOWS)!==e&&(z_(this,dr.CAST_SHADOWS,e),this.dirty=!0)}},receiveShadows:{get:function(){return Ya(this,dr.RECEIVE_SHADOWS)},set:function(e){Ya(this,dr.RECEIVE_SHADOWS)!==e&&(z_(this,dr.RECEIVE_SHADOWS,e),this.dirty=!0)}},uniformMap:{get:function(){return this._uniformMap},set:function(e){this._uniformMap!==e&&(this._uniformMap=e,this.dirty=!0)}},renderState:{get:function(){return this._renderState},set:function(e){this._renderState!==e&&(this._renderState=e,this.dirty=!0)}},framebuffer:{get:function(){return this._framebuffer},set:function(e){this._framebuffer!==e&&(this._framebuffer=e,this.dirty=!0)}},pass:{get:function(){return this._pass},set:function(e){this._pass!==e&&(this._pass=e,this.dirty=!0)}},executeInClosestFrustum:{get:function(){return Ya(this,dr.EXECUTE_IN_CLOSEST_FRUSTUM)},set:function(e){Ya(this,dr.EXECUTE_IN_CLOSEST_FRUSTUM)!==e&&(z_(this,dr.EXECUTE_IN_CLOSEST_FRUSTUM,e),this.dirty=!0)}},owner:{get:function(){return this._owner},set:function(e){this._owner!==e&&(this._owner=e,this.dirty=!0)}},debugShowBoundingVolume:{get:function(){return Ya(this,dr.DEBUG_SHOW_BOUNDING_VOLUME)},set:function(e){Ya(this,dr.DEBUG_SHOW_BOUNDING_VOLUME)!==e&&(z_(this,dr.DEBUG_SHOW_BOUNDING_VOLUME,e),this.dirty=!0)}},debugOverlappingFrustums:{get:function(){return this._debugOverlappingFrustums},set:function(e){this._debugOverlappingFrustums!==e&&(this._debugOverlappingFrustums=e,this.dirty=!0)}},pickId:{get:function(){return this._pickId},set:function(e){this._pickId!==e&&(this._pickId=e,this.dirty=!0)}},pickMetadataAllowed:{get:function(){return this._pickMetadataAllowed}},pickedMetadataInfo:{get:function(){return this._pickedMetadataInfo},set:function(e){this._pickedMetadataInfo!==e&&(this._pickedMetadataInfo=e,this.dirty=!0)}},pickOnly:{get:function(){return Ya(this,dr.PICK_ONLY)},set:function(e){Ya(this,dr.PICK_ONLY)!==e&&(z_(this,dr.PICK_ONLY,e),this.dirty=!0)}},depthForTranslucentClassification:{get:function(){return Ya(this,dr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)},set:function(e){Ya(this,dr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION)!==e&&(z_(this,dr.DEPTH_FOR_TRANSLUCENT_CLASSIFICATION,e),this.dirty=!0)}}});QS.shallowClone=function(e,t){if(l(e))return l(t)||(t=new QS),t._boundingVolume=e._boundingVolume,t._orientedBoundingBox=e._orientedBoundingBox,t._modelMatrix=e._modelMatrix,t._primitiveType=e._primitiveType,t._vertexArray=e._vertexArray,t._count=e._count,t._offset=e._offset,t._instanceCount=e._instanceCount,t._shaderProgram=e._shaderProgram,t._uniformMap=e._uniformMap,t._renderState=e._renderState,t._framebuffer=e._framebuffer,t._pass=e._pass,t._owner=e._owner,t._debugOverlappingFrustums=e._debugOverlappingFrustums,t._pickId=e._pickId,t._pickMetadataAllowed=e._pickMetadataAllowed,t._pickedMetadataInfo=e._pickedMetadataInfo,t._flags=e._flags,t.dirty=!0,t.lastDirtyTime=0,t};QS.prototype.execute=function(e,t){e.draw(this,t)};var tt=QS;var di={UNSIGNED_BYTE:te.UNSIGNED_BYTE,UNSIGNED_SHORT:te.UNSIGNED_SHORT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,HALF_FLOAT:te.HALF_FLOAT_OES,UNSIGNED_INT_24_8:te.UNSIGNED_INT_24_8,UNSIGNED_SHORT_4_4_4_4:te.UNSIGNED_SHORT_4_4_4_4,UNSIGNED_SHORT_5_5_5_1:te.UNSIGNED_SHORT_5_5_5_1,UNSIGNED_SHORT_5_6_5:te.UNSIGNED_SHORT_5_6_5};di.toWebGLConstant=function(e,t){switch(e){case di.UNSIGNED_BYTE:return te.UNSIGNED_BYTE;case di.UNSIGNED_SHORT:return te.UNSIGNED_SHORT;case di.UNSIGNED_INT:return te.UNSIGNED_INT;case di.FLOAT:return te.FLOAT;case di.HALF_FLOAT:return t.webgl2?te.HALF_FLOAT:te.HALF_FLOAT_OES;case di.UNSIGNED_INT_24_8:return te.UNSIGNED_INT_24_8;case di.UNSIGNED_SHORT_4_4_4_4:return te.UNSIGNED_SHORT_4_4_4_4;case di.UNSIGNED_SHORT_5_5_5_1:return te.UNSIGNED_SHORT_5_5_5_1;case di.UNSIGNED_SHORT_5_6_5:return di.UNSIGNED_SHORT_5_6_5}};di.isPacked=function(e){return e===di.UNSIGNED_INT_24_8||e===di.UNSIGNED_SHORT_4_4_4_4||e===di.UNSIGNED_SHORT_5_5_5_1||e===di.UNSIGNED_SHORT_5_6_5};di.sizeInBytes=function(e){switch(e){case di.UNSIGNED_BYTE:return 1;case di.UNSIGNED_SHORT:case di.UNSIGNED_SHORT_4_4_4_4:case di.UNSIGNED_SHORT_5_5_5_1:case di.UNSIGNED_SHORT_5_6_5:case di.HALF_FLOAT:return 2;case di.UNSIGNED_INT:case di.FLOAT:case di.UNSIGNED_INT_24_8:return 4}};di.validate=function(e){return e===di.UNSIGNED_BYTE||e===di.UNSIGNED_SHORT||e===di.UNSIGNED_INT||e===di.FLOAT||e===di.HALF_FLOAT||e===di.UNSIGNED_INT_24_8||e===di.UNSIGNED_SHORT_4_4_4_4||e===di.UNSIGNED_SHORT_5_5_5_1||e===di.UNSIGNED_SHORT_5_6_5};di.getTypedArrayConstructor=function(e){let t=di.sizeInBytes(e);return t===Uint8Array.BYTES_PER_ELEMENT?Uint8Array:t===Uint16Array.BYTES_PER_ELEMENT?Uint16Array:t===Float32Array.BYTES_PER_ELEMENT&&e===di.FLOAT?Float32Array:Uint32Array};var Ze=Object.freeze(di);var st={DEPTH_COMPONENT:te.DEPTH_COMPONENT,DEPTH_STENCIL:te.DEPTH_STENCIL,ALPHA:te.ALPHA,RED:te.RED,R:te.RED,RG:te.RG,RGB:te.RGB,RGBA:te.RGBA,LUMINANCE:te.LUMINANCE,LUMINANCE_ALPHA:te.LUMINANCE_ALPHA,RGB_DXT1:te.COMPRESSED_RGB_S3TC_DXT1_EXT,RGBA_DXT1:te.COMPRESSED_RGBA_S3TC_DXT1_EXT,RGBA_DXT3:te.COMPRESSED_RGBA_S3TC_DXT3_EXT,RGBA_DXT5:te.COMPRESSED_RGBA_S3TC_DXT5_EXT,RGB_PVRTC_4BPPV1:te.COMPRESSED_RGB_PVRTC_4BPPV1_IMG,RGB_PVRTC_2BPPV1:te.COMPRESSED_RGB_PVRTC_2BPPV1_IMG,RGBA_PVRTC_4BPPV1:te.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,RGBA_PVRTC_2BPPV1:te.COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,RGBA_ASTC:te.COMPRESSED_RGBA_ASTC_4x4_WEBGL,RGB_ETC1:te.COMPRESSED_RGB_ETC1_WEBGL,RGB8_ETC2:te.COMPRESSED_RGB8_ETC2,RGBA8_ETC2_EAC:te.COMPRESSED_RGBA8_ETC2_EAC,RGBA_BC7:te.COMPRESSED_RGBA_BPTC_UNORM};st.componentsLength=function(e){switch(e){case st.RGB:return 3;case st.RGBA:return 4;case st.LUMINANCE_ALPHA:case st.RG:return 2;case st.ALPHA:case st.RED:case st.LUMINANCE:return 1;case st.R:return 4;default:return 1}};st.validate=function(e){return e===st.DEPTH_COMPONENT||e===st.DEPTH_STENCIL||e===st.ALPHA||e===st.RED||e===st.RG||e===st.RGB||e===st.RGBA||e===st.LUMINANCE||e===st.LUMINANCE_ALPHA||e===st.RGB_DXT1||e===st.RGBA_DXT1||e===st.RGBA_DXT3||e===st.RGBA_DXT5||e===st.RGB_PVRTC_4BPPV1||e===st.RGB_PVRTC_2BPPV1||e===st.RGBA_PVRTC_4BPPV1||e===st.RGBA_PVRTC_2BPPV1||e===st.RGBA_ASTC||e===st.RGB_ETC1||e===st.RGB8_ETC2||e===st.RGBA8_ETC2_EAC||e===st.RGBA_BC7||e===st.R};st.isColorFormat=function(e){return e===st.RED||e===st.ALPHA||e===st.RGB||e===st.RGBA||e===st.LUMINANCE||e===st.LUMINANCE_ALPHA||e===st.R};st.isDepthFormat=function(e){return e===st.DEPTH_COMPONENT||e===st.DEPTH_STENCIL};st.isCompressedFormat=function(e){return e===st.RGB_DXT1||e===st.RGBA_DXT1||e===st.RGBA_DXT3||e===st.RGBA_DXT5||e===st.RGB_PVRTC_4BPPV1||e===st.RGB_PVRTC_2BPPV1||e===st.RGBA_PVRTC_4BPPV1||e===st.RGBA_PVRTC_2BPPV1||e===st.RGBA_ASTC||e===st.RGB_ETC1||e===st.RGB8_ETC2||e===st.RGBA8_ETC2_EAC||e===st.RGBA_BC7};st.isDXTFormat=function(e){return e===st.RGB_DXT1||e===st.RGBA_DXT1||e===st.RGBA_DXT3||e===st.RGBA_DXT5};st.isPVRTCFormat=function(e){return e===st.RGB_PVRTC_4BPPV1||e===st.RGB_PVRTC_2BPPV1||e===st.RGBA_PVRTC_4BPPV1||e===st.RGBA_PVRTC_2BPPV1};st.isASTCFormat=function(e){return e===st.RGBA_ASTC};st.isETC1Format=function(e){return e===st.RGB_ETC1};st.isETC2Format=function(e){return e===st.RGB8_ETC2||e===st.RGBA8_ETC2_EAC};st.isBC7Format=function(e){return e===st.RGBA_BC7};st.compressedTextureSizeInBytes=function(e,t,n){switch(e){case st.RGB_DXT1:case st.RGBA_DXT1:case st.RGB_ETC1:case st.RGB8_ETC2:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*8;case st.RGBA_DXT3:case st.RGBA_DXT5:case st.RGBA_ASTC:case st.RGBA8_ETC2_EAC:return Math.floor((t+3)/4)*Math.floor((n+3)/4)*16;case st.RGB_PVRTC_4BPPV1:case st.RGBA_PVRTC_4BPPV1:return Math.floor((Math.max(t,8)*Math.max(n,8)*4+7)/8);case st.RGB_PVRTC_2BPPV1:case st.RGBA_PVRTC_2BPPV1:return Math.floor((Math.max(t,16)*Math.max(n,8)*2+7)/8);case st.RGBA_BC7:return Math.ceil(t/4)*Math.ceil(n/4)*16;default:return 0}};st.textureSizeInBytes=function(e,t,n,i){let o=st.componentsLength(e);return Ze.isPacked(t)&&(o=1),o*Ze.sizeInBytes(t)*n*i};st.alignmentInBytes=function(e,t,n){let i=st.textureSizeInBytes(e,t,n,1)%4;return i===0?4:i===2?2:1};st.createTypedArray=function(e,t,n,i){let o=Ze.getTypedArrayConstructor(t),r=st.componentsLength(e)*n*i;return new o(r)};st.flipY=function(e,t,n,i,o){if(o===1)return e;let r=st.createTypedArray(t,n,i,o),s=st.componentsLength(t),a=i*s;for(let c=0;c<o;++c){let u=c*i*s,f=(o-c-1)*i*s;for(let d=0;d<a;++d)r[f+d]=e[u+d]}return r};st.toInternalFormat=function(e,t,n){if(!n.webgl2)return e;if(e===st.DEPTH_STENCIL)return te.DEPTH24_STENCIL8;if(e===st.DEPTH_COMPONENT){if(t===Ze.UNSIGNED_SHORT)return te.DEPTH_COMPONENT16;if(t===Ze.UNSIGNED_INT)return te.DEPTH_COMPONENT24}if(t===Ze.FLOAT)switch(e){case st.RGBA:return te.RGBA32F;case st.RGB:return te.RGB32F;case st.RG:return te.RG32F;case st.RED:case st.R:return te.R32F}if(t===Ze.HALF_FLOAT)switch(e){case st.RGBA:return te.RGBA16F;case st.RGB:return te.RGB16F;case st.RG:return te.RG16F;case st.RED:case st.R:return te.R16F}return e};var ot=Object.freeze(st);var hr={_maximumCombinedTextureImageUnits:0,_maximumCubeMapSize:0,_maximumFragmentUniformVectors:0,_maximumTextureImageUnits:0,_maximumRenderbufferSize:0,_maximumTextureSize:0,_maximumVaryingVectors:0,_maximumVertexAttributes:0,_maximumVertexTextureImageUnits:0,_maximumVertexUniformVectors:0,_minimumAliasedLineWidth:0,_maximumAliasedLineWidth:0,_minimumAliasedPointSize:0,_maximumAliasedPointSize:0,_maximumViewportWidth:0,_maximumViewportHeight:0,_maximumTextureFilterAnisotropy:0,_maximumDrawBuffers:0,_maximumColorAttachments:0,_maximumSamples:0,_highpFloatSupported:!1,_highpIntSupported:!1};Object.defineProperties(hr,{maximumCombinedTextureImageUnits:{get:function(){return hr._maximumCombinedTextureImageUnits}},maximumCubeMapSize:{get:function(){return hr._maximumCubeMapSize}},maximumFragmentUniformVectors:{get:function(){return hr._maximumFragmentUniformVectors}},maximumTextureImageUnits:{get:function(){return hr._maximumTextureImageUnits}},maximumRenderbufferSize:{get:function(){return hr._maximumRenderbufferSize}},maximumTextureSize:{get:function(){return hr._maximumTextureSize}},maximumVaryingVectors:{get:function(){return hr._maximumVaryingVectors}},maximumVertexAttributes:{get:function(){return hr._maximumVertexAttributes}},maximumVertexTextureImageUnits:{get:function(){return hr._maximumVertexTextureImageUnits}},maximumVertexUniformVectors:{get:function(){return hr._maximumVertexUniformVectors}},minimumAliasedLineWidth:{get:function(){return hr._minimumAliasedLineWidth}},maximumAliasedLineWidth:{get:function(){return hr._maximumAliasedLineWidth}},minimumAliasedPointSize:{get:function(){return hr._minimumAliasedPointSize}},maximumAliasedPointSize:{get:function(){return hr._maximumAliasedPointSize}},maximumViewportWidth:{get:function(){return hr._maximumViewportWidth}},maximumViewportHeight:{get:function(){return hr._maximumViewportHeight}},maximumTextureFilterAnisotropy:{get:function(){return hr._maximumTextureFilterAnisotropy}},maximumDrawBuffers:{get:function(){return hr._maximumDrawBuffers}},maximumColorAttachments:{get:function(){return hr._maximumColorAttachments}},maximumSamples:{get:function(){return hr._maximumSamples}},highpFloatSupported:{get:function(){return hr._highpFloatSupported}},highpIntSupported:{get:function(){return hr._highpIntSupported}}});var Bt=hr;function R5(e,t,n){let i=e._gl;i.framebufferTexture2D(i.FRAMEBUFFER,t,n._target,n._texture,0)}function H1(e,t,n){let i=e._gl;i.framebufferRenderbuffer(i.FRAMEBUFFER,t,i.RENDERBUFFER,n._getRenderbuffer())}function rd(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Bt.maximumColorAttachments;if(this._gl=n,this._framebuffer=n.createFramebuffer(),this._colorTextures=[],this._colorRenderbuffers=[],this._activeColorAttachments=[],this._depthTexture=void 0,this._depthRenderbuffer=void 0,this._stencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this.destroyAttachments=y(e.destroyAttachments,!0),this._bind(),l(e.colorTextures)){let o=e.colorTextures,r=this._colorTextures.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;R5(this,c,a),this._activeColorAttachments[s]=c,this._colorTextures[s]=a}}if(l(e.colorRenderbuffers)){let o=e.colorRenderbuffers,r=this._colorRenderbuffers.length=this._activeColorAttachments.length=o.length;for(let s=0;s<r;++s){let a=o[s],c=this._gl.COLOR_ATTACHMENT0+s;H1(this,c,a),this._activeColorAttachments[s]=c,this._colorRenderbuffers[s]=a}}if(l(e.depthTexture)){let o=e.depthTexture;R5(this,this._gl.DEPTH_ATTACHMENT,o),this._depthTexture=o}if(l(e.depthRenderbuffer)){let o=e.depthRenderbuffer;H1(this,this._gl.DEPTH_ATTACHMENT,o),this._depthRenderbuffer=o}if(l(e.stencilRenderbuffer)){let o=e.stencilRenderbuffer;H1(this,this._gl.STENCIL_ATTACHMENT,o),this._stencilRenderbuffer=o}if(l(e.depthStencilTexture)){let o=e.depthStencilTexture;R5(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilTexture=o}if(l(e.depthStencilRenderbuffer)){let o=e.depthStencilRenderbuffer;H1(this,this._gl.DEPTH_STENCIL_ATTACHMENT,o),this._depthStencilRenderbuffer=o}this._unBind()}Object.defineProperties(rd.prototype,{status:{get:function(){this._bind();let e=this._gl.checkFramebufferStatus(this._gl.FRAMEBUFFER);return this._unBind(),e}},numberOfColorAttachments:{get:function(){return this._activeColorAttachments.length}},depthTexture:{get:function(){return this._depthTexture}},depthRenderbuffer:{get:function(){return this._depthRenderbuffer}},stencilRenderbuffer:{get:function(){return this._stencilRenderbuffer}},depthStencilTexture:{get:function(){return this._depthStencilTexture}},depthStencilRenderbuffer:{get:function(){return this._depthStencilRenderbuffer}},hasDepthAttachment:{get:function(){return!!(this.depthTexture||this.depthRenderbuffer||this.depthStencilTexture||this.depthStencilRenderbuffer)}}});rd.prototype._bind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,this._framebuffer)};rd.prototype._unBind=function(){let e=this._gl;e.bindFramebuffer(e.FRAMEBUFFER,null)};rd.prototype.bindDraw=function(){let e=this._gl;e.bindFramebuffer(e.DRAW_FRAMEBUFFER,this._framebuffer)};rd.prototype.bindRead=function(){let e=this._gl;e.bindFramebuffer(e.READ_FRAMEBUFFER,this._framebuffer)};rd.prototype._getActiveColorAttachments=function(){return this._activeColorAttachments};rd.prototype.getColorTexture=function(e){return this._colorTextures[e]};rd.prototype.getColorRenderbuffer=function(e){return this._colorRenderbuffers[e]};rd.prototype.isDestroyed=function(){return!1};rd.prototype.destroy=function(){if(this.destroyAttachments){let e=this._colorTextures;for(let n=0;n<e.length;++n){let i=e[n];l(i)&&i.destroy()}let t=this._colorRenderbuffers;for(let n=0;n<t.length;++n){let i=t[n];l(i)&&i.destroy()}this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy(),this._stencilRenderbuffer=this._stencilRenderbuffer&&this._stencilRenderbuffer.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()}return this._gl.deleteFramebuffer(this._framebuffer),ue(this)};var Gr=rd;var G1={CLOCKWISE:te.CW,COUNTER_CLOCKWISE:te.CCW};G1.validate=function(e){return e===G1.CLOCKWISE||e===G1.COUNTER_CLOCKWISE};var Ts=Object.freeze(G1);function dQ(e){if(typeof e!="object"||e===null)return e;let t,n=Object.keys(e);for(let i=0;i<n.length;i++)t=n[i],e.hasOwnProperty(t)&&t!=="_applyFunctions"&&(e[t]=dQ(e[t]));return Object.freeze(e)}var hQ=dQ;function Eh(e){let t=y(e,y.EMPTY_OBJECT),n=y(t.cull,y.EMPTY_OBJECT),i=y(t.polygonOffset,y.EMPTY_OBJECT),o=y(t.scissorTest,y.EMPTY_OBJECT),r=y(o.rectangle,y.EMPTY_OBJECT),s=y(t.depthRange,y.EMPTY_OBJECT),a=y(t.depthTest,y.EMPTY_OBJECT),c=y(t.colorMask,y.EMPTY_OBJECT),u=y(t.blending,y.EMPTY_OBJECT),f=y(u.color,y.EMPTY_OBJECT),d=y(t.stencilTest,y.EMPTY_OBJECT),p=y(d.frontOperation,y.EMPTY_OBJECT),g=y(d.backOperation,y.EMPTY_OBJECT),m=y(t.sampleCoverage,y.EMPTY_OBJECT),x=t.viewport;this.frontFace=y(t.frontFace,Ts.COUNTER_CLOCKWISE),this.cull={enabled:y(n.enabled,!1),face:y(n.face,te.BACK)},this.lineWidth=y(t.lineWidth,1),this.polygonOffset={enabled:y(i.enabled,!1),factor:y(i.factor,0),units:y(i.units,0)},this.scissorTest={enabled:y(o.enabled,!1),rectangle:Ye.clone(r)},this.depthRange={near:y(s.near,0),far:y(s.far,1)},this.depthTest={enabled:y(a.enabled,!1),func:y(a.func,te.LESS)},this.colorMask={red:y(c.red,!0),green:y(c.green,!0),blue:y(c.blue,!0),alpha:y(c.alpha,!0)},this.depthMask=y(t.depthMask,!0),this.stencilMask=y(t.stencilMask,-1),this.blending={enabled:y(u.enabled,!1),color:new z(y(f.red,0),y(f.green,0),y(f.blue,0),y(f.alpha,0)),equationRgb:y(u.equationRgb,te.FUNC_ADD),equationAlpha:y(u.equationAlpha,te.FUNC_ADD),functionSourceRgb:y(u.functionSourceRgb,te.ONE),functionSourceAlpha:y(u.functionSourceAlpha,te.ONE),functionDestinationRgb:y(u.functionDestinationRgb,te.ZERO),functionDestinationAlpha:y(u.functionDestinationAlpha,te.ZERO)},this.stencilTest={enabled:y(d.enabled,!1),frontFunction:y(d.frontFunction,te.ALWAYS),backFunction:y(d.backFunction,te.ALWAYS),reference:y(d.reference,0),mask:y(d.mask,-1),frontOperation:{fail:y(p.fail,te.KEEP),zFail:y(p.zFail,te.KEEP),zPass:y(p.zPass,te.KEEP)},backOperation:{fail:y(g.fail,te.KEEP),zFail:y(g.zFail,te.KEEP),zPass:y(g.zPass,te.KEEP)}},this.sampleCoverage={enabled:y(m.enabled,!1),value:y(m.value,1),invert:y(m.invert,!1)},this.viewport=l(x)?new Ye(x.x,x.y,x.width,x.height):void 0,this.id=0,this._applyFunctions=[]}var kve=0,Ah={};Eh.fromCache=function(e){let t=JSON.stringify(e),n=Ah[t];if(l(n))return++n.referenceCount,n.state;let i=new Eh(e),o=JSON.stringify(i);return n=Ah[o],l(n)||(i.id=kve++,n={referenceCount:0,state:i},Ah[o]=n),++n.referenceCount,Ah[t]={referenceCount:1,state:n.state},n.state};Eh.removeFromCache=function(e){let t=new Eh(e),n=JSON.stringify(t),i=Ah[n],o=JSON.stringify(e),r=Ah[o];l(r)&&(--r.referenceCount,r.referenceCount===0&&(delete Ah[o],l(i)&&--i.referenceCount)),l(i)&&i.referenceCount===0&&delete Ah[n]};Eh.getCache=function(){return Ah};Eh.clearCache=function(){Ah={}};function B0(e,t,n){n?e.enable(t):e.disable(t)}function mQ(e,t){e.frontFace(t.frontFace)}function pQ(e,t){let n=t.cull,i=n.enabled;B0(e,e.CULL_FACE,i),i&&e.cullFace(n.face)}function _Q(e,t){e.lineWidth(t.lineWidth)}function gQ(e,t){let n=t.polygonOffset,i=n.enabled;B0(e,e.POLYGON_OFFSET_FILL,i),i&&e.polygonOffset(n.factor,n.units)}function yQ(e,t,n){let i=t.scissorTest,o=l(n.scissorTest)?n.scissorTest.enabled:i.enabled;if(B0(e,e.SCISSOR_TEST,o),o){let r=l(n.scissorTest)?n.scissorTest.rectangle:i.rectangle;e.scissor(r.x,r.y,r.width,r.height)}}function xQ(e,t){let n=t.depthRange;e.depthRange(n.near,n.far)}function bQ(e,t){let n=t.depthTest,i=n.enabled;B0(e,e.DEPTH_TEST,i),i&&e.depthFunc(n.func)}function TQ(e,t){let n=t.colorMask;e.colorMask(n.red,n.green,n.blue,n.alpha)}function CQ(e,t){e.depthMask(t.depthMask)}function AQ(e,t){e.stencilMask(t.stencilMask)}function Vve(e,t){e.blendColor(t.red,t.green,t.blue,t.alpha)}function EQ(e,t,n){let i=t.blending,o=l(n.blendingEnabled)?n.blendingEnabled:i.enabled;B0(e,e.BLEND,o),o&&(Vve(e,i.color),e.blendEquationSeparate(i.equationRgb,i.equationAlpha),e.blendFuncSeparate(i.functionSourceRgb,i.functionDestinationRgb,i.functionSourceAlpha,i.functionDestinationAlpha))}function SQ(e,t){let n=t.stencilTest,i=n.enabled;if(B0(e,e.STENCIL_TEST,i),i){let o=n.frontFunction,r=n.backFunction,s=n.reference,a=n.mask;e.stencilFunc(o,s,a),e.stencilFuncSeparate(e.BACK,r,s,a),e.stencilFuncSeparate(e.FRONT,o,s,a);let c=n.frontOperation,u=c.fail,f=c.zFail,d=c.zPass;e.stencilOpSeparate(e.FRONT,u,f,d);let p=n.backOperation,g=p.fail,m=p.zFail,x=p.zPass;e.stencilOpSeparate(e.BACK,g,m,x)}}function vQ(e,t){let n=t.sampleCoverage,i=n.enabled;B0(e,e.SAMPLE_COVERAGE,i),i&&e.sampleCoverage(n.value,n.invert)}var Uve=new Ye;function wQ(e,t,n){let i=y(t.viewport,n.viewport);l(i)||(i=Uve,i.width=n.context.drawingBufferWidth,i.height=n.context.drawingBufferHeight),n.context.uniformState.viewport=i,e.viewport(i.x,i.y,i.width,i.height)}Eh.apply=function(e,t,n){mQ(e,t),pQ(e,t),_Q(e,t),gQ(e,t),xQ(e,t),bQ(e,t),TQ(e,t),CQ(e,t),AQ(e,t),SQ(e,t),vQ(e,t),yQ(e,t,n),EQ(e,t,n),wQ(e,t,n)};function zve(e,t){let n=[];return e.frontFace!==t.frontFace&&n.push(mQ),(e.cull.enabled!==t.cull.enabled||e.cull.face!==t.cull.face)&&n.push(pQ),e.lineWidth!==t.lineWidth&&n.push(_Q),(e.polygonOffset.enabled!==t.polygonOffset.enabled||e.polygonOffset.factor!==t.polygonOffset.factor||e.polygonOffset.units!==t.polygonOffset.units)&&n.push(gQ),(e.depthRange.near!==t.depthRange.near||e.depthRange.far!==t.depthRange.far)&&n.push(xQ),(e.depthTest.enabled!==t.depthTest.enabled||e.depthTest.func!==t.depthTest.func)&&n.push(bQ),(e.colorMask.red!==t.colorMask.red||e.colorMask.green!==t.colorMask.green||e.colorMask.blue!==t.colorMask.blue||e.colorMask.alpha!==t.colorMask.alpha)&&n.push(TQ),e.depthMask!==t.depthMask&&n.push(CQ),e.stencilMask!==t.stencilMask&&n.push(AQ),(e.stencilTest.enabled!==t.stencilTest.enabled||e.stencilTest.frontFunction!==t.stencilTest.frontFunction||e.stencilTest.backFunction!==t.stencilTest.backFunction||e.stencilTest.reference!==t.stencilTest.reference||e.stencilTest.mask!==t.stencilTest.mask||e.stencilTest.frontOperation.fail!==t.stencilTest.frontOperation.fail||e.stencilTest.frontOperation.zFail!==t.stencilTest.frontOperation.zFail||e.stencilTest.backOperation.fail!==t.stencilTest.backOperation.fail||e.stencilTest.backOperation.zFail!==t.stencilTest.backOperation.zFail||e.stencilTest.backOperation.zPass!==t.stencilTest.backOperation.zPass)&&n.push(SQ),(e.sampleCoverage.enabled!==t.sampleCoverage.enabled||e.sampleCoverage.value!==t.sampleCoverage.value||e.sampleCoverage.invert!==t.sampleCoverage.invert)&&n.push(vQ),n}Eh.partialApply=function(e,t,n,i,o,r){if(t!==n){let f=n._applyFunctions[t.id];l(f)||(f=zve(t,n),n._applyFunctions[t.id]=f);let d=f.length;for(let p=0;p<d;++p)f[p](e,n)}let s=l(i.scissorTest)?i.scissorTest:t.scissorTest,a=l(o.scissorTest)?o.scissorTest:n.scissorTest;(s!==a||r)&&yQ(e,n,o);let c=l(i.blendingEnabled)?i.blendingEnabled:t.blending.enabled,u=l(o.blendingEnabled)?o.blendingEnabled:n.blending.enabled;(c!==u||u&&t.blending!==n.blending)&&EQ(e,n,o),(t!==n||i!==o||i.context!==o.context)&&wQ(e,n,o)};Eh.getState=function(e){return{frontFace:e.frontFace,cull:{enabled:e.cull.enabled,face:e.cull.face},lineWidth:e.lineWidth,polygonOffset:{enabled:e.polygonOffset.enabled,factor:e.polygonOffset.factor,units:e.polygonOffset.units},scissorTest:{enabled:e.scissorTest.enabled,rectangle:Ye.clone(e.scissorTest.rectangle)},depthRange:{near:e.depthRange.near,far:e.depthRange.far},depthTest:{enabled:e.depthTest.enabled,func:e.depthTest.func},colorMask:{red:e.colorMask.red,green:e.colorMask.green,blue:e.colorMask.blue,alpha:e.colorMask.alpha},depthMask:e.depthMask,stencilMask:e.stencilMask,blending:{enabled:e.blending.enabled,color:z.clone(e.blending.color),equationRgb:e.blending.equationRgb,equationAlpha:e.blending.equationAlpha,functionSourceRgb:e.blending.functionSourceRgb,functionSourceAlpha:e.blending.functionSourceAlpha,functionDestinationRgb:e.blending.functionDestinationRgb,functionDestinationAlpha:e.blending.functionDestinationAlpha},stencilTest:{enabled:e.stencilTest.enabled,frontFunction:e.stencilTest.frontFunction,backFunction:e.stencilTest.backFunction,reference:e.stencilTest.reference,mask:e.stencilTest.mask,frontOperation:{fail:e.stencilTest.frontOperation.fail,zFail:e.stencilTest.frontOperation.zFail,zPass:e.stencilTest.frontOperation.zPass},backOperation:{fail:e.stencilTest.backOperation.fail,zFail:e.stencilTest.backOperation.zFail,zPass:e.stencilTest.backOperation.zPass}},sampleCoverage:{enabled:e.sampleCoverage.enabled,value:e.sampleCoverage.value,invert:e.sampleCoverage.invert},viewport:l(e.viewport)?Ye.clone(e.viewport):void 0}};var ze=Eh;function Yt(e,t,n,i){this[0]=y(e,0),this[1]=y(n,0),this[2]=y(t,0),this[3]=y(i,0)}Yt.packedLength=4;Yt.pack=function(e,t,n){return n=y(n,0),t[n++]=e[0],t[n++]=e[1],t[n++]=e[2],t[n++]=e[3],t};Yt.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Yt),n[0]=e[t++],n[1]=e[t++],n[2]=e[t++],n[3]=e[t++],n};Yt.packArray=function(e,t){let n=e.length,i=n*4;l(t)?!Array.isArray(t)&&t.length!==i||t.length!==i&&(t.length=i):t=new Array(i);for(let o=0;o<n;++o)Yt.pack(e[o],t,o*4);return t};Yt.unpackArray=function(e,t){let n=e.length;l(t)?t.length=n/4:t=new Array(n/4);for(let i=0;i<n;i+=4){let o=i/4;t[o]=Yt.unpack(e,i,t[o])}return t};Yt.clone=function(e,t){if(l(e))return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):new Yt(e[0],e[2],e[1],e[3])};Yt.fromArray=Yt.unpack;Yt.fromColumnMajorArray=function(e,t){return Yt.clone(e,t)};Yt.fromRowMajorArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3],t):new Yt(e[0],e[1],e[2],e[3])};Yt.fromScale=function(e,t){return l(t)?(t[0]=e.x,t[1]=0,t[2]=0,t[3]=e.y,t):new Yt(e.x,0,0,e.y)};Yt.fromUniformScale=function(e,t){return l(t)?(t[0]=e,t[1]=0,t[2]=0,t[3]=e,t):new Yt(e,0,0,e)};Yt.fromRotation=function(e,t){let n=Math.cos(e),i=Math.sin(e);return l(t)?(t[0]=n,t[1]=i,t[2]=-i,t[3]=n,t):new Yt(n,-i,i,n)};Yt.toArray=function(e,t){return l(t)?(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t):[e[0],e[1],e[2],e[3]]};Yt.getElementIndex=function(e,t){return e*2+t};Yt.getColumn=function(e,t,n){let i=t*2,o=e[i],r=e[i+1];return n.x=o,n.y=r,n};Yt.setColumn=function(e,t,n,i){i=Yt.clone(e,i);let o=t*2;return i[o]=n.x,i[o+1]=n.y,i};Yt.getRow=function(e,t,n){let i=e[t],o=e[t+2];return n.x=i,n.y=o,n};Yt.setRow=function(e,t,n,i){return i=Yt.clone(e,i),i[t]=n.x,i[t+2]=n.y,i};var Hve=new U;Yt.setScale=function(e,t,n){let i=Yt.getScale(e,Hve),o=t.x/i.x,r=t.y/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var Gve=new U;Yt.setUniformScale=function(e,t,n){let i=Yt.getScale(e,Gve),o=t/i.x,r=t/i.y;return n[0]=e[0]*o,n[1]=e[1]*o,n[2]=e[2]*r,n[3]=e[3]*r,n};var DQ=new U;Yt.getScale=function(e,t){return t.x=U.magnitude(U.fromElements(e[0],e[1],DQ)),t.y=U.magnitude(U.fromElements(e[2],e[3],DQ)),t};var IQ=new U;Yt.getMaximumScale=function(e){return Yt.getScale(e,IQ),U.maximumComponent(IQ)};var Wve=new U;Yt.setRotation=function(e,t,n){let i=Yt.getScale(e,Wve);return n[0]=t[0]*i.x,n[1]=t[1]*i.x,n[2]=t[2]*i.y,n[3]=t[3]*i.y,n};var jve=new U;Yt.getRotation=function(e,t){let n=Yt.getScale(e,jve);return t[0]=e[0]/n.x,t[1]=e[1]/n.x,t[2]=e[2]/n.y,t[3]=e[3]/n.y,t};Yt.multiply=function(e,t,n){let i=e[0]*t[0]+e[2]*t[1],o=e[0]*t[2]+e[2]*t[3],r=e[1]*t[0]+e[3]*t[1],s=e[1]*t[2]+e[3]*t[3];return n[0]=i,n[1]=r,n[2]=o,n[3]=s,n};Yt.add=function(e,t,n){return n[0]=e[0]+t[0],n[1]=e[1]+t[1],n[2]=e[2]+t[2],n[3]=e[3]+t[3],n};Yt.subtract=function(e,t,n){return n[0]=e[0]-t[0],n[1]=e[1]-t[1],n[2]=e[2]-t[2],n[3]=e[3]-t[3],n};Yt.multiplyByVector=function(e,t,n){let i=e[0]*t.x+e[2]*t.y,o=e[1]*t.x+e[3]*t.y;return n.x=i,n.y=o,n};Yt.multiplyByScalar=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Yt.multiplyByScale=function(e,t,n){return n[0]=e[0]*t.x,n[1]=e[1]*t.x,n[2]=e[2]*t.y,n[3]=e[3]*t.y,n};Yt.multiplyByUniformScale=function(e,t,n){return n[0]=e[0]*t,n[1]=e[1]*t,n[2]=e[2]*t,n[3]=e[3]*t,n};Yt.negate=function(e,t){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t};Yt.transpose=function(e,t){let n=e[0],i=e[2],o=e[1],r=e[3];return t[0]=n,t[1]=i,t[2]=o,t[3]=r,t};Yt.abs=function(e,t){return t[0]=Math.abs(e[0]),t[1]=Math.abs(e[1]),t[2]=Math.abs(e[2]),t[3]=Math.abs(e[3]),t};Yt.equals=function(e,t){return e===t||l(e)&&l(t)&&e[0]===t[0]&&e[1]===t[1]&&e[2]===t[2]&&e[3]===t[3]};Yt.equalsArray=function(e,t,n){return e[0]===t[n]&&e[1]===t[n+1]&&e[2]===t[n+2]&&e[3]===t[n+3]};Yt.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e[0]-t[0])<=n&&Math.abs(e[1]-t[1])<=n&&Math.abs(e[2]-t[2])<=n&&Math.abs(e[3]-t[3])<=n};Yt.IDENTITY=Object.freeze(new Yt(1,0,0,1));Yt.ZERO=Object.freeze(new Yt(0,0,0,0));Yt.COLUMN0ROW0=0;Yt.COLUMN0ROW1=1;Yt.COLUMN1ROW0=2;Yt.COLUMN1ROW1=3;Object.defineProperties(Yt.prototype,{length:{get:function(){return Yt.packedLength}}});Yt.prototype.clone=function(e){return Yt.clone(this,e)};Yt.prototype.equals=function(e){return Yt.equals(this,e)};Yt.prototype.equalsEpsilon=function(e,t){return Yt.equalsEpsilon(this,e,t)};Yt.prototype.toString=function(){return`(${this[0]}, ${this[2]}) +(${this[1]}, ${this[3]})`};var Pi=Yt;function qve(e,t,n,i){switch(t.type){case e.FLOAT:return new PQ(e,t,n,i);case e.FLOAT_VEC2:return new OQ(e,t,n,i);case e.FLOAT_VEC3:return new RQ(e,t,n,i);case e.FLOAT_VEC4:return new MQ(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:case e.SAMPLER_3D:case e.SAMPLER_2D_ARRAY:return new M5(e,t,n,i);case e.INT:case e.BOOL:return new LQ(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new NQ(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new FQ(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new BQ(e,t,n,i);case e.FLOAT_MAT2:return new kQ(e,t,n,i);case e.FLOAT_MAT3:return new VQ(e,t,n,i);case e.FLOAT_MAT4:return new UQ(e,t,n,i);default:throw new se(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function PQ(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}PQ.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1f(this._location,this.value))};function OQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new U,this._gl=e,this._location=i}OQ.prototype.set=function(){let e=this.value;U.equals(e,this._value)||(U.clone(e,this._value),this._gl.uniform2f(this._location,e.x,e.y))};function RQ(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}RQ.prototype.set=function(){let e=this.value;e&&(l(e.red)?z.equals(e,this._value)||(this._value=z.clone(e,this._value),this._gl.uniform3f(this._location,e.red,e.green,e.blue)):l(e.x)&&(h.equals(e,this._value)||(this._value=h.clone(e,this._value),this._gl.uniform3f(this._location,e.x,e.y,e.z))))};function MQ(e,t,n,i){this.name=n,this.value=void 0,this._value=void 0,this._gl=e,this._location=i}MQ.prototype.set=function(){let e=this.value;l(e.red)?z.equals(e,this._value)||(this._value=z.clone(e,this._value),this._gl.uniform4f(this._location,e.red,e.green,e.blue,e.alpha)):l(e.x)&&(oe.equals(e,this._value)||(this._value=oe.clone(e,this._value),this._gl.uniform4f(this._location,e.x,e.y,e.z,e.w)))};function M5(e,t,n,i){this.name=n,this.value=void 0,this._gl=e,this._location=i,this.textureUnitIndex=void 0}M5.prototype.set=function(){let e=this._gl;e.activeTexture(e.TEXTURE0+this.textureUnitIndex);let t=this.value;t&&e.bindTexture(t._target,t._texture)};M5.prototype._setSampler=function(e){return this.textureUnitIndex=e,this._gl.uniform1i(this._location,e),e+1};function LQ(e,t,n,i){this.name=n,this.value=void 0,this._value=0,this._gl=e,this._location=i}LQ.prototype.set=function(){this.value!==this._value&&(this._value=this.value,this._gl.uniform1i(this._location,this.value))};function NQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new U,this._gl=e,this._location=i}NQ.prototype.set=function(){let e=this.value;U.equals(e,this._value)||(U.clone(e,this._value),this._gl.uniform2i(this._location,e.x,e.y))};function FQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new h,this._gl=e,this._location=i}FQ.prototype.set=function(){let e=this.value;h.equals(e,this._value)||(h.clone(e,this._value),this._gl.uniform3i(this._location,e.x,e.y,e.z))};function BQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new oe,this._gl=e,this._location=i}BQ.prototype.set=function(){let e=this.value;oe.equals(e,this._value)||(oe.clone(e,this._value),this._gl.uniform4i(this._location,e.x,e.y,e.z,e.w))};var Yve=new Float32Array(4);function kQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new Pi,this._gl=e,this._location=i}kQ.prototype.set=function(){if(!Pi.equalsArray(this.value,this._value,0)){Pi.clone(this.value,this._value);let e=Pi.toArray(this.value,Yve);this._gl.uniformMatrix2fv(this._location,!1,e)}};var Xve=new Float32Array(9);function VQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new $,this._gl=e,this._location=i}VQ.prototype.set=function(){if(!$.equalsArray(this.value,this._value,0)){$.clone(this.value,this._value);let e=$.toArray(this.value,Xve);this._gl.uniformMatrix3fv(this._location,!1,e)}};var Kve=new Float32Array(16);function UQ(e,t,n,i){this.name=n,this.value=void 0,this._value=new F,this._gl=e,this._location=i}UQ.prototype.set=function(){if(!F.equalsArray(this.value,this._value,0)){F.clone(this.value,this._value);let e=F.toArray(this.value,Kve);this._gl.uniformMatrix4fv(this._location,!1,e)}};var W1=qve;function Zve(e,t,n,i){switch(t.type){case e.FLOAT:return new zQ(e,t,n,i);case e.FLOAT_VEC2:return new HQ(e,t,n,i);case e.FLOAT_VEC3:return new GQ(e,t,n,i);case e.FLOAT_VEC4:return new WQ(e,t,n,i);case e.SAMPLER_2D:case e.SAMPLER_CUBE:return new L5(e,t,n,i);case e.INT:case e.BOOL:return new jQ(e,t,n,i);case e.INT_VEC2:case e.BOOL_VEC2:return new qQ(e,t,n,i);case e.INT_VEC3:case e.BOOL_VEC3:return new YQ(e,t,n,i);case e.INT_VEC4:case e.BOOL_VEC4:return new XQ(e,t,n,i);case e.FLOAT_MAT2:return new KQ(e,t,n,i);case e.FLOAT_MAT3:return new ZQ(e,t,n,i);case e.FLOAT_MAT4:return new $Q(e,t,n,i);default:throw new se(`Unrecognized uniform type: ${t.type} for uniform "${n}".`)}}function zQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._location=i[0]}zQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1fv(this._location,n)};function HQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*2),this._gl=e,this._location=i[0]}HQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];U.equalsArray(s,n,o)||(U.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2fv(this._location,n)};function GQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*3),this._gl=e,this._location=i[0]}GQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?(s.red!==n[o]||s.green!==n[o+1]||s.blue!==n[o+2])&&(n[o]=s.red,n[o+1]=s.green,n[o+2]=s.blue,i=!0):l(s.x)&&(h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0)),o+=3}i&&this._gl.uniform3fv(this._location,n)};function WQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}WQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];l(s.red)?z.equalsArray(s,n,o)||(z.pack(s,n,o),i=!0):l(s.x)&&(oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0)),o+=4}i&&this._gl.uniform4fv(this._location,n)};function L5(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o),this._gl=e,this._locations=i,this.textureUnitIndex=void 0}L5.prototype.set=function(){let e=this._gl,t=e.TEXTURE0+this.textureUnitIndex,n=this.value,i=n.length;for(let o=0;o<i;++o){let r=n[o];r&&(e.activeTexture(t+o),e.bindTexture(r._target,r._texture))}};L5.prototype._setSampler=function(e){this.textureUnitIndex=e;let t=this._locations,n=t.length;for(let i=0;i<n;++i){let o=e+i;this._gl.uniform1i(t[i],o)}return e+n};function jQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o),this._gl=e,this._location=i[0]}jQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1;for(let o=0;o<t;++o){let r=e[o];r!==n[o]&&(n[o]=r,i=!0)}i&&this._gl.uniform1iv(this._location,n)};function qQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*2),this._gl=e,this._location=i[0]}qQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];U.equalsArray(s,n,o)||(U.pack(s,n,o),i=!0),o+=2}i&&this._gl.uniform2iv(this._location,n)};function YQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*3),this._gl=e,this._location=i[0]}YQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];h.equalsArray(s,n,o)||(h.pack(s,n,o),i=!0),o+=3}i&&this._gl.uniform3iv(this._location,n)};function XQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Int32Array(o*4),this._gl=e,this._location=i[0]}XQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];oe.equalsArray(s,n,o)||(oe.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniform4iv(this._location,n)};function KQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*4),this._gl=e,this._location=i[0]}KQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];Pi.equalsArray(s,n,o)||(Pi.pack(s,n,o),i=!0),o+=4}i&&this._gl.uniformMatrix2fv(this._location,!1,n)};function ZQ(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*9),this._gl=e,this._location=i[0]}ZQ.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];$.equalsArray(s,n,o)||($.pack(s,n,o),i=!0),o+=9}i&&this._gl.uniformMatrix3fv(this._location,!1,n)};function $Q(e,t,n,i){let o=i.length;this.name=n,this.value=new Array(o),this._value=new Float32Array(o*16),this._gl=e,this._location=i[0]}$Q.prototype.set=function(){let e=this.value,t=e.length,n=this._value,i=!1,o=0;for(let r=0;r<t;++r){let s=e[r];F.equalsArray(s,n,o)||(F.pack(s,n,o),i=!0),o+=16}i&&this._gl.uniformMatrix4fv(this._location,!1,n)};var j1=Zve;var $ve=0;function sp(e){let t=e.vertexShaderText,n=e.fragmentShaderText;typeof spector<"u"&&(t=t.replace(/^#line/gm,"//#line"),n=n.replace(/^#line/gm,"//#line"));let i=Qve(t,n);this._gl=e.gl,this._logShaderCompilation=e.logShaderCompilation,this._debugShaders=e.debugShaders,this._attributeLocations=e.attributeLocations,this._program=void 0,this._numberOfVertexAttributes=void 0,this._vertexAttributes=void 0,this._uniformsByName=void 0,this._uniforms=void 0,this._automaticUniforms=void 0,this._manualUniforms=void 0,this._duplicateUniformNames=i.duplicateUniformNames,this._cachedShader=void 0,this.maximumTextureUnitIndex=void 0,this._vertexShaderSource=e.vertexShaderSource,this._vertexShaderText=e.vertexShaderText,this._fragmentShaderSource=e.fragmentShaderSource,this._fragmentShaderText=i.fragmentShaderText,this.id=$ve++}sp.fromCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.getShaderProgram(e)};sp.replaceCache=function(e){return e=y(e,y.EMPTY_OBJECT),e.context.shaderCache.replaceShaderProgram(e)};Object.defineProperties(sp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},vertexAttributes:{get:function(){return q1(this),this._vertexAttributes}},numberOfVertexAttributes:{get:function(){return q1(this),this._numberOfVertexAttributes}},allUniforms:{get:function(){return q1(this),this._uniformsByName}}});function QQ(e){let t=[],n=e.match(/uniform.*?(?![^{]*})(?=[=\[;])/g);if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o].trim(),s=r.slice(r.lastIndexOf(" ")+1);t.push(s)}}return t}function Qve(e,t){let n={};if(!Bt.highpFloatSupported||!Bt.highpIntSupported){let i,o,r,s,a=QQ(e),c=QQ(t),u=a.length,f=c.length;for(i=0;i<u;i++)for(o=0;o<f;o++)if(a[i]===c[o]){r=a[i],s=`czm_mediump_${r}`;let d=new RegExp(`${r}\\b`,"g");t=t.replace(d,s),n[s]=r}}return{fragmentShaderText:t,duplicateUniformNames:n}}var Sh="[Cesium WebGL] ";function Jve(e,t){let n=t._vertexShaderText,i=t._fragmentShaderText,o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,n),e.compileShader(o);let r=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(r,i),e.compileShader(r);let s=e.createProgram();e.attachShader(s,o),e.attachShader(s,r);let a=t._attributeLocations;if(l(a))for(let p in a)a.hasOwnProperty(p)&&e.bindAttribLocation(s,a[p],p);e.linkProgram(s);let c;if(e.getProgramParameter(s,e.LINK_STATUS))return t._logShaderCompilation&&(c=e.getShaderInfoLog(o),l(c)&&c.length>0&&console.log(`${Sh}Vertex shader compile log: ${c}`),c=e.getShaderInfoLog(r),l(c)&&c.length>0&&console.log(`${Sh}Fragment shader compile log: ${c}`),c=e.getProgramInfoLog(s),l(c)&&c.length>0&&console.log(`${Sh}Shader program link log: ${c}`)),e.deleteShader(o),e.deleteShader(r),s;let u,f=t._debugShaders;throw e.getShaderParameter(r,e.COMPILE_STATUS)?e.getShaderParameter(o,e.COMPILE_STATUS)?(c=e.getProgramInfoLog(s),console.error(`${Sh}Shader program link log: ${c}`),d(o,"vertex"),d(r,"fragment"),u=`Program failed to link. Link log: ${c}`):(c=e.getShaderInfoLog(o),console.error(`${Sh}Vertex shader compile log: ${c}`),console.error(`${Sh} Vertex shader source: +${n}`),u=`Vertex shader failed to compile. Compile log: ${c}`):(c=e.getShaderInfoLog(r),console.error(`${Sh}Fragment shader compile log: ${c}`),console.error(`${Sh} Fragment shader source: +${i}`),u=`Fragment shader failed to compile. Compile log: ${c}`),e.deleteShader(o),e.deleteShader(r),e.deleteProgram(s),new se(u);function d(p,g){if(!l(f))return;let m=f.getTranslatedShaderSource(p);if(m===""){console.error(`${Sh}${g} shader translation failed.`);return}console.error(`${Sh}Translated ${g} shaderSource: +${m}`)}}function ewe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttrib(t,o),s=e.getAttribLocation(t,r.name);i[r.name]={name:r.name,type:r.type,index:s}}return i}function twe(e,t){let n={},i=[],o=[],r=e.getProgramParameter(t,e.ACTIVE_UNIFORMS);for(let s=0;s<r;++s){let a=e.getActiveUniform(t,s),c="[0]",u=a.name.indexOf(c,a.name.length-c.length)!==-1?a.name.slice(0,a.name.length-3):a.name;if(u.indexOf("gl_")!==0)if(a.name.indexOf("[")<0){let f=e.getUniformLocation(t,u);if(f!==null){let d=W1(e,a,u,f);n[u]=d,i.push(d),d._setSampler&&o.push(d)}}else{let f,d,p,g,m=u.indexOf("[");if(m>=0){if(f=n[u.slice(0,m)],!l(f))continue;d=f._locations,d.length<=1&&(p=f.value,g=e.getUniformLocation(t,u),g!==null&&(d.push(g),p.push(e.getUniform(t,g))))}else{d=[];for(let x=0;x<a.size;++x)g=e.getUniformLocation(t,`${u}[${x}]`),g!==null&&d.push(g);f=j1(e,a,u,d),n[u]=f,i.push(f),f._setSampler&&o.push(f)}}}return{uniformsByName:n,uniforms:i,samplerUniforms:o}}function nwe(e,t){let n=[],i=[];for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=o,a=e._duplicateUniformNames[s];l(a)&&(r.name=a,s=a);let c=M_[s];l(c)?n.push({uniform:r,automaticUniform:c}):i.push(r)}return{automaticUniforms:n,manualUniforms:i}}function iwe(e,t,n){e.useProgram(t);let i=0,o=n.length;for(let r=0;r<o;++r)i=n[r]._setSampler(i);return e.useProgram(null),i}function q1(e){l(e._program)||JQ(e)}function JQ(e){let t=e._program,n=e._gl,i=Jve(n,e,e._debugShaders),o=n.getProgramParameter(i,n.ACTIVE_ATTRIBUTES),r=twe(n,i),s=nwe(e,r.uniformsByName);e._program=i,e._numberOfVertexAttributes=o,e._vertexAttributes=ewe(n,i,o),e._uniformsByName=r.uniformsByName,e._uniforms=r.uniforms,e._automaticUniforms=s.automaticUniforms,e._manualUniforms=s.manualUniforms,e.maximumTextureUnitIndex=iwe(n,i,r.samplerUniforms),t&&e._gl.deleteProgram(t),typeof spector<"u"&&(e._program.__SPECTOR_rebuildProgram=function(a,c,u,f){let d=e._vertexShaderText,p=e._fragmentShaderText,g=/ ! = /g;e._vertexShaderText=a.replace(g," != "),e._fragmentShaderText=c.replace(g," != ");try{JQ(e),u(e._program)}catch(m){e._vertexShaderText=d,e._fragmentShaderText=p;let b=/(?:Compile|Link) error: ([^]*)/.exec(m.message);f(b?b[1]:m.message)}})}sp.prototype._bind=function(){q1(this),this._gl.useProgram(this._program)};sp.prototype._setUniforms=function(e,t,n){let i,o;if(l(e)){let a=this._manualUniforms;for(i=a.length,o=0;o<i;++o){let c=a[o];c.value=e[c.name]()}}let r=this._automaticUniforms;for(i=r.length,o=0;o<i;++o){let a=r[o];a.uniform.value=a.automaticUniform.getValue(t)}let s=this._uniforms;for(i=s.length,o=0;o<i;++o)s[o].set();if(n){let a=this._gl,c=this._program;a.validateProgram(c)}};sp.prototype.isDestroyed=function(){return!1};sp.prototype.destroy=function(){this._cachedShader.cache.releaseShaderProgram(this)};sp.prototype.finalDestroy=function(){return this._gl.deleteProgram(this._program),ue(this)};var tn=sp;function Y1(e){this._context=e}var JS,owe=new tt({primitiveType:Fe.TRIANGLES}),rwe=new ri({color:new z(0,0,0,0)});function swe(e,t){return new Gr({context:e,colorTextures:[t],destroyAttachments:!1})}function awe(e,t){return tn.fromCache({context:e,vertexShaderSource:ST,fragmentShaderSource:t,attributeLocations:{position:0,textureCoordinates:1}})}function cwe(e,t){return(!l(JS)||JS.viewport.width!==e||JS.viewport.height!==t)&&(JS=ze.fromCache({viewport:new Ye(0,0,e,t)})),JS}Y1.prototype.execute=function(e){l(e.preExecute)&&e.preExecute(e);let t=e.outputTexture,n=t.width,i=t.height,o=this._context,r=l(e.vertexArray)?e.vertexArray:o.getViewportQuadVertexArray(),s=l(e.shaderProgram)?e.shaderProgram:awe(o,e.fragmentShaderSource),a=swe(o,t),c=cwe(n,i),u=e.uniformMap,f=rwe;f.framebuffer=a,f.renderState=c,f.execute(o);let d=owe;d.vertexArray=r,d.renderState=c,d.shaderProgram=s,d.uniformMap=u,d.framebuffer=a,d.execute(o),a.destroy(),e.persists||(s.destroy(),l(e.vertexArray)&&r.destroy()),l(e.postExecute)&&e.postExecute(t)};Y1.prototype.isDestroyed=function(){return!1};Y1.prototype.destroy=function(){return ue(this)};var X1=Y1;var En={BYTE:te.BYTE,UNSIGNED_BYTE:te.UNSIGNED_BYTE,SHORT:te.SHORT,UNSIGNED_SHORT:te.UNSIGNED_SHORT,INT:te.INT,UNSIGNED_INT:te.UNSIGNED_INT,FLOAT:te.FLOAT,DOUBLE:te.DOUBLE};En.getSizeInBytes=function(e){switch(e){case En.BYTE:return Int8Array.BYTES_PER_ELEMENT;case En.UNSIGNED_BYTE:return Uint8Array.BYTES_PER_ELEMENT;case En.SHORT:return Int16Array.BYTES_PER_ELEMENT;case En.UNSIGNED_SHORT:return Uint16Array.BYTES_PER_ELEMENT;case En.INT:return Int32Array.BYTES_PER_ELEMENT;case En.UNSIGNED_INT:return Uint32Array.BYTES_PER_ELEMENT;case En.FLOAT:return Float32Array.BYTES_PER_ELEMENT;case En.DOUBLE:return Float64Array.BYTES_PER_ELEMENT}};En.fromTypedArray=function(e){if(e instanceof Int8Array)return En.BYTE;if(e instanceof Uint8Array)return En.UNSIGNED_BYTE;if(e instanceof Int16Array)return En.SHORT;if(e instanceof Uint16Array)return En.UNSIGNED_SHORT;if(e instanceof Int32Array)return En.INT;if(e instanceof Uint32Array)return En.UNSIGNED_INT;if(e instanceof Float32Array)return En.FLOAT;if(e instanceof Float64Array)return En.DOUBLE};En.validate=function(e){return l(e)&&(e===En.BYTE||e===En.UNSIGNED_BYTE||e===En.SHORT||e===En.UNSIGNED_SHORT||e===En.INT||e===En.UNSIGNED_INT||e===En.FLOAT||e===En.DOUBLE)};En.createTypedArray=function(e,t){switch(e){case En.BYTE:return new Int8Array(t);case En.UNSIGNED_BYTE:return new Uint8Array(t);case En.SHORT:return new Int16Array(t);case En.UNSIGNED_SHORT:return new Uint16Array(t);case En.INT:return new Int32Array(t);case En.UNSIGNED_INT:return new Uint32Array(t);case En.FLOAT:return new Float32Array(t);case En.DOUBLE:return new Float64Array(t)}};En.createArrayBufferView=function(e,t,n,i){switch(n=y(n,0),i=y(i,(t.byteLength-n)/En.getSizeInBytes(e)),e){case En.BYTE:return new Int8Array(t,n,i);case En.UNSIGNED_BYTE:return new Uint8Array(t,n,i);case En.SHORT:return new Int16Array(t,n,i);case En.UNSIGNED_SHORT:return new Uint16Array(t,n,i);case En.INT:return new Int32Array(t,n,i);case En.UNSIGNED_INT:return new Uint32Array(t,n,i);case En.FLOAT:return new Float32Array(t,n,i);case En.DOUBLE:return new Float64Array(t,n,i)}};En.fromName=function(e){switch(e){case"BYTE":return En.BYTE;case"UNSIGNED_BYTE":return En.UNSIGNED_BYTE;case"SHORT":return En.SHORT;case"UNSIGNED_SHORT":return En.UNSIGNED_SHORT;case"INT":return En.INT;case"UNSIGNED_INT":return En.UNSIGNED_INT;case"FLOAT":return En.FLOAT;case"DOUBLE":return En.DOUBLE}};var X=Object.freeze(En);var eJ={};function ev(e,t){l(eJ[e])||(eJ[e]=!0,console.warn(y(t,e)))}ev.geometryOutlines="Entity geometry outlines are unsupported on terrain. Outlines will be disabled. To enable outlines, disable geometry terrain clamping by explicitly setting height to 0.";ev.geometryZIndex="Entity geometry with zIndex are unsupported when height or extrudedHeight are defined. zIndex will be ignored";ev.geometryHeightReference="Entity corridor, ellipse, polygon or rectangle with heightReference must also have a defined height. heightReference will be ignored";ev.geometryExtrudedHeightReference="Entity corridor, ellipse, polygon or rectangle with extrudedHeightReference must also have a defined extrudedHeight. extrudedHeightReference will be ignored";var Tt=ev;function lwe(e,t){Tt(e,t)}var Cs=lwe;var uwe={NONE:0,TRIANGLES:1,LINES:2,POLYLINES:3},sd=Object.freeze(uwe);function N5(e){e=y(e,y.EMPTY_OBJECT),this.attributes=e.attributes,this.indices=e.indices,this.primitiveType=y(e.primitiveType,Fe.TRIANGLES),this.boundingSphere=e.boundingSphere,this.geometryType=y(e.geometryType,sd.NONE),this.boundingSphereCV=e.boundingSphereCV,this.offsetAttribute=e.offsetAttribute}N5.computeNumberOfVertices=function(e){let t=-1;for(let n in e.attributes)if(e.attributes.hasOwnProperty(n)&&l(e.attributes[n])&&l(e.attributes[n].values)){let i=e.attributes[n];t=i.values.length/i.componentsPerAttribute}return t};var fwe=new fe,dwe=new h,tJ=new F,hwe=[new fe,new fe,new fe],mwe=[new U,new U,new U],pwe=[new U,new U,new U],_we=new h,gwe=new Le,ywe=new F,xwe=new Pi;N5._textureCoordinateRotationPoints=function(e,t,n,i){let o,r=ae.center(i,fwe),s=fe.toCartesian(r,n,dwe),a=Mt.eastNorthUpToFixedFrame(s,n,tJ),c=F.inverse(a,tJ),u=mwe,f=hwe;f[0].longitude=i.west,f[0].latitude=i.south,f[1].longitude=i.west,f[1].latitude=i.north,f[2].longitude=i.east,f[2].latitude=i.south;let d=_we;for(o=0;o<3;o++)fe.toCartesian(f[o],n,d),d=F.multiplyByPointAsVector(c,d,d),u[o].x=d.x,u[o].y=d.y;let p=Le.fromAxisAngle(h.UNIT_Z,-t,gwe),g=$.fromQuaternion(p,ywe),m=e.length,x=Number.POSITIVE_INFINITY,b=Number.POSITIVE_INFINITY,T=Number.NEGATIVE_INFINITY,C=Number.NEGATIVE_INFINITY;for(o=0;o<m;o++)d=F.multiplyByPointAsVector(c,e[o],d),d=$.multiplyByVector(g,d,d),x=Math.min(x,d.x),b=Math.min(b,d.y),T=Math.max(T,d.x),C=Math.max(C,d.y);let A=Pi.fromRotation(t,xwe),S=pwe;S[0].x=x,S[0].y=b,S[1].x=x,S[1].y=C,S[2].x=T,S[2].y=b;let v=u[0],D=u[2].x-v.x,R=u[1].y-v.y;for(o=0;o<3;o++){let E=S[o];Pi.multiplyByVector(A,E,E),E.x=(E.x-v.x)/D,E.y=(E.y-v.y)/R}let O=S[0],M=S[1],N=S[2],_=new Array(6);return U.pack(O,_),U.pack(M,_,2),U.pack(N,_,4),_};var ft=N5;function bwe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.values=e.values}var Se=bwe;function vT(e,t,n,i,o){this._format=e,this._datatype=t,this._width=n,this._height=i,this._buffer=o}Object.defineProperties(vT.prototype,{internalFormat:{get:function(){return this._format}},pixelDatatype:{get:function(){return this._datatype}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},bufferView:{get:function(){return this._buffer}},arrayBufferView:{get:function(){return this._buffer}}});vT.clone=function(e){if(l(e))return new vT(e._format,e._datatype,e._width,e._height,e._buffer)};vT.prototype.clone=function(){return vT.clone(this)};var K1=vT;var nJ=Sr(jl(),1);function iJ(){if(!l(na._canTransferArrayBuffer)){let e=k5("transferTypedArrayTest");e.postMessage=y(e.webkitPostMessage,e.postMessage);let t=99,n=new Int8Array([t]);try{e.postMessage({array:n},[n.buffer])}catch{return na._canTransferArrayBuffer=!1,na._canTransferArrayBuffer}na._canTransferArrayBuffer=new Promise(i=>{e.onmessage=function(o){let r=o.data.array,s=l(r)&&r[0]===t;i(s),e.terminate(),na._canTransferArrayBuffer=s}})}return na._canTransferArrayBuffer}var B5=new me;function F5(e){let t;try{t=new Blob([e],{type:"application/javascript"})}catch{let o=window.BlobBuilder||window.WebKitBlobBuilder||window.MozBlobBuilder||window.MSBlobBuilder,r=new o;r.append(e),t=r.getBlob("application/javascript")}return(window.URL||window.webkitURL).createObjectURL(t)}function k5(e){let t=new nJ.default(e),n=t.scheme().length!==0&&t.fragment().length===0,i=e.replace(/\.js$/,""),o={},r,s;if(R0(e))s=e;else if(!n){let a=rn(`${na._workerModulePrefix}/${i}.js`);R0(a)&&(s=a)}if(s){let a=`import "${s}";`;return r=F5(a),o.type="module",new Worker(r,o)}if(!n&&typeof CESIUM_WORKERS<"u"){let a=` + importScripts("${F5(CESIUM_WORKERS)}"); CesiumWorkers["${i}"](); - `;return r=O5(a),new Worker(r,o)}if(r=e,n||(r=on(`${Zs._workerModulePrefix+i}.js`)),!Wt.supportsEsmWebWorkers())throw new ce("This browser is not supported. Please update your browser to continue.");return o.type="module",new Worker(r,o)}async function sve(e,t){let n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!Wt.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new ce(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=on(t.fallbackModulePath),n}n.wasmBinaryFile=on(t.wasmBinaryFile);let i=await ve.fetchArrayBuffer({url:n.wasmBinaryFile});return n.wasmBinary=i,n}function Zs(e,t){this._workerPath=e,this._maximumActiveTasks=y(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._nextID=0,this._webAssemblyPromise=void 0}var ave=(e,t,n,i)=>{let o=({data:r})=>{if(r.id===t){if(l(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new ce(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new de(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),M5.raiseEvent(s),i(s)}else M5.raiseEvent(),n(r.result);e.removeEventListener("message",o)}};return o},cve=[];async function lve(e,t,n){let i=await Promise.resolve(ZQ());l(n)?i||(n.length=0):n=cve;let o=e._nextID++,r=new Promise((s,a)=>{e._worker.addEventListener("message",ave(e._worker,o,s,a))});return e._worker.postMessage({id:o,baseUrl:on.getCesiumBaseUrl().url,parameters:t,canTransferArrayBuffer:i},n),r}async function uve(e,t,n){++e._activeTasks;try{let i=await lve(e,t,n);return--e._activeTasks,i}catch(i){throw--e._activeTasks,i}}Zs.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=L5(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return uve(this,e,t)};Zs.prototype.initWebAssemblyModule=async function(e){if(l(this._webAssemblyPromise))return this._webAssemblyPromise;let t=async()=>{let n=this._worker=L5(this._workerPath),i=await sve(this,e),o=await Promise.resolve(ZQ()),r,s=i.wasmBinary;l(s)&&o&&(r=[s]);let a=new Promise((c,u)=>{n.onmessage=function({data:f}){l(f)?c(f.result):u(new ce("Could not configure wasm module"))}});return n.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:i}},r),a};return this._webAssemblyPromise=t(),this._webAssemblyPromise};Zs.prototype.isDestroyed=function(){return!1};Zs.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),ue(this)};Zs.taskCompletedEvent=M5;Zs._defaultWorkerModulePrefix="Workers/";Zs._workerModulePrefix=Zs._defaultWorkerModulePrefix;Zs._canTransferArrayBuffer=void 0;var _i=Zs;function op(){}op._transcodeTaskProcessor=new _i("transcodeKTX2",Number.POSITIVE_INFINITY);op._readyPromise=void 0;function fve(){let e=op._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(t){if(t)return op._transcodeTaskProcessor;throw new ce("KTX2 transcoder could not be initialized.")});op._readyPromise=e}op.transcode=function(e,t){return l(op._readyPromise)||fve(),op._readyPromise.then(function(n){let i=e;e instanceof ArrayBuffer&&(i=new Uint8Array(e));let o={supportedTargetFormats:t,ktx2Buffer:i};return n.scheduleTask(o,[i.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]);for(let r=0;r<i;r++){let s=n[r];for(let a=0;a<o.length;a++){let c=s[o[a]];s[o[a]]=new j1(c.internalFormat,c.datatype,c.width,c.height,c.levelBuffer)}}if(o.length===1){for(let r=0;r<i;++r)n[r]=n[r][o[0]];i===1&&(n=n[0])}return n}).catch(function(n){throw n})};var q1=op;var QQ;JQ.setKTX2SupportedFormats=function(e,t,n,i,o,r){QQ={s3tc:e,pvrtc:t,astc:n,etc:i,etc1:o,bc7:r}};function JQ(e){let t;return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?t=Promise.resolve(e):t=ve.createIfNeeded(e).fetchArrayBuffer(),t.then(function(n){return q1.transcode(n,QQ)})}var zl=JQ;function Y1(e,t,n,i,o,r,s,a,c,u,f){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=s,this._internalFormat=o,this._pixelFormat=r,this._size=a,this._preMultiplyAlpha=c,this._flipY=u,this._initialized=f}Object.defineProperties(Y1.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}});Y1.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,{width:r,height:s}=i,a=this._context._gl,c=this._textureTarget,u=this._targetFace;a.activeTexture(a.TEXTURE0),a.bindTexture(c,this._texture);let f=i.arrayBufferView,d=this._size,p=this._pixelFormat,g=this._internalFormat,m=this._pixelDatatype,x=this._preMultiplyAlpha,b=this._flipY,T=4;l(f)&&(T=ct.alignmentInBytes(p,m,r)),a.pixelStorei(a.UNPACK_ALIGNMENT,T),o?a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.NONE):a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.BROWSER_DEFAULT_WEBGL);let C=!1;if(!this._initialized){let A;t===0&&n===0&&r===d&&s===d?(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=ct.flipY(f,p,m,d,d)),A=f):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),A=i),C=!0):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),A=ct.createTypedArray(p,m,d,d)),a.texImage2D(u,0,g,d,d,0,p,nt.toWebGLConstant(m,this._context),A),this._initialized=!0}C||(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=ct.flipY(f,p,m,r,s)),a.texSubImage2D(u,0,t,n,r,s,p,nt.toWebGLConstant(m,this._context),f)):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),a.texSubImage2D(u,0,t,n,p,nt.toWebGLConstant(m,this._context),i))),a.bindTexture(c,null)};Y1.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._size),r=y(r,this._size);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};var X1=Y1;var K1={DONT_CARE:te.DONT_CARE,FASTEST:te.FASTEST,NICEST:te.NICEST,validate:function(e){return e===K1.DONT_CARE||e===K1.FASTEST||e===K1.NICEST}},rp=Object.freeze(K1);var $1={NEAREST:te.NEAREST,LINEAR:te.LINEAR};$1.validate=function(e){return e===$1.NEAREST||e===$1.LINEAR};var fi=Object.freeze($1);var V_={NEAREST:te.NEAREST,LINEAR:te.LINEAR,NEAREST_MIPMAP_NEAREST:te.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:te.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:te.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:te.LINEAR_MIPMAP_LINEAR};V_.validate=function(e){return e===V_.NEAREST||e===V_.LINEAR||e===V_.NEAREST_MIPMAP_NEAREST||e===V_.LINEAR_MIPMAP_NEAREST||e===V_.NEAREST_MIPMAP_LINEAR||e===V_.LINEAR_MIPMAP_LINEAR};var en=Object.freeze(V_);var Z1={CLAMP_TO_EDGE:te.CLAMP_TO_EDGE,REPEAT:te.REPEAT,MIRRORED_REPEAT:te.MIRRORED_REPEAT,validate:function(e){return e===Z1.CLAMP_TO_EDGE||e===Z1.REPEAT||e===Z1.MIRRORED_REPEAT}},wn=Object.freeze(Z1);function ZS(e){e=y(e,y.EMPTY_OBJECT);let{wrapS:t=wn.CLAMP_TO_EDGE,wrapT:n=wn.CLAMP_TO_EDGE,minificationFilter:i=en.LINEAR,magnificationFilter:o=fi.LINEAR,maximumAnisotropy:r=1}=e;this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(ZS.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});ZS.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};ZS.NEAREST=Object.freeze(new ZS({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.NEAREST,magnificationFilter:fi.NEAREST}));var tn=ZS;function ja(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=ct.RGBA,pixelDatatype:o=nt.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new tn}=e,c=e.preMultiplyAlpha||i===ct.RGB||i===ct.LUMINANCE,{width:u,height:f}=e;l(n)&&({width:u,height:f}=n.positiveX);let d=u,p=ct.textureSizeInBytes(i,o,d,d)*6,g=ct.toInternalFormat(i,o,t),m=t._gl,x=m.TEXTURE_CUBE_MAP,b=m.createTexture();this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=x,this._texture=b,this._pixelFormat=i,this._pixelDatatype=o,this._size=d,this._hasMipmap=!1,this._sizeInBytes=p,this._preMultiplyAlpha=c,this._flipY=r;let T=l(n);function C(A){return new X1(t,b,x,A,g,i,o,d,c,r,T)}this._positiveX=C(m.TEXTURE_CUBE_MAP_POSITIVE_X),this._negativeX=C(m.TEXTURE_CUBE_MAP_NEGATIVE_X),this._positiveY=C(m.TEXTURE_CUBE_MAP_POSITIVE_Y),this._negativeY=C(m.TEXTURE_CUBE_MAP_NEGATIVE_Y),this._positiveZ=C(m.TEXTURE_CUBE_MAP_POSITIVE_Z),this._negativeZ=C(m.TEXTURE_CUBE_MAP_NEGATIVE_Z),this._sampler=a,tJ(this,a),m.activeTexture(m.TEXTURE0),m.bindTexture(x,b),s?m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.NONE):m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.BROWSER_DEFAULT_WEBGL);for(let A of ja.getFaceNames())eJ(this[A],n?.[A],0);m.bindTexture(x,null)}ja.FaceName=Object.freeze({POSITIVEX:"positiveX",NEGATIVEX:"negativeX",POSITIVEY:"positiveY",NEGATIVEY:"negativeY",POSITIVEZ:"positiveZ",NEGATIVEZ:"negativeZ"});function*dve(){yield ja.FaceName.POSITIVEX,yield ja.FaceName.NEGATIVEX,yield ja.FaceName.POSITIVEY,yield ja.FaceName.NEGATIVEY,yield ja.FaceName.POSITIVEZ,yield ja.FaceName.NEGATIVEZ}ja.getFaceNames=function(){return dve()};function eJ(e,t,n){n=y(n,0);let i=e._targetFace,o=Math.max(Math.floor(e._size/2**n),1),r=e._pixelFormat,s=e._pixelDatatype,a=e._internalFormat,c=e._flipY,u=e._preMultiplyAlpha,f=e._context,d=f._gl;if(!l(t)){d.texImage2D(i,n,a,o,o,0,r,nt.toWebGLConstant(s,f),null);return}let{arrayBufferView:p}=t,g=4;l(p)&&(g=ct.alignmentInBytes(r,s,o)),d.pixelStorei(d.UNPACK_ALIGNMENT,g),l(p)?(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,!1),c&&(p=ct.flipY(p,r,s,o,o)),d.texImage2D(i,n,a,o,o,0,r,nt.toWebGLConstant(s,f),p)):(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,c),d.texImage2D(i,n,a,r,nt.toWebGLConstant(s,f),t))}Object.defineProperties(ja.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){tJ(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});function tJ(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[en.NEAREST_MIPMAP_NEAREST,en.NEAREST_MIPMAP_LINEAR,en.LINEAR_MIPMAP_NEAREST,en.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelDatatype;(s===nt.FLOAT&&!r.textureFloatLinear||s===nt.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?en.NEAREST_MIPMAP_NEAREST:en.NEAREST,i=fi.NEAREST);let a=r._gl,c=e._textureTarget;a.activeTexture(a.TEXTURE0),a.bindTexture(c,e._texture),a.texParameteri(c,a.TEXTURE_MIN_FILTER,n),a.texParameteri(c,a.TEXTURE_MAG_FILTER,i),a.texParameteri(c,a.TEXTURE_WRAP_S,t.wrapS),a.texParameteri(c,a.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&a.texParameteri(c,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),a.bindTexture(c,null)}ja.prototype.loadMipmaps=function(e,t){t=y(t,!1);let n=this._context._gl,i=this._texture,o=this._textureTarget;n.activeTexture(n.TEXTURE0),n.bindTexture(o,i),t?n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE):n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.BROWSER_DEFAULT_WEBGL);for(let r=0;r<e.length;r++){let s=e[r],a=r+1;for(let c of ja.getFaceNames())eJ(this[c],s[c],a)}n.bindTexture(o,null),this._hasMipmap=!0};ja.prototype.generateMipmap=function(e){e=y(e,rp.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};ja.prototype.isDestroyed=function(){return!1};ja.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=ue(this._positiveX),this._negativeX=ue(this._negativeX),this._positiveY=ue(this._positiveY),this._negativeY=ue(this._negativeY),this._positiveZ=ue(this._positiveZ),this._negativeZ=ue(this._negativeZ),ue(this)};var qa=ja;function hve(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}var Tc=hve;var Q1=`/** + `;return r=F5(a),new Worker(r,o)}if(r=e,n||(r=rn(`${na._workerModulePrefix+i}.js`)),!Gt.supportsEsmWebWorkers())throw new se("This browser is not supported. Please update your browser to continue.");return o.type="module",new Worker(r,o)}async function Twe(e,t){let n={modulePath:void 0,wasmBinaryFile:void 0,wasmBinary:void 0};if(!Gt.supportsWebAssembly()){if(!l(t.fallbackModulePath))throw new se(`This browser does not support Web Assembly, and no backup module was provided for ${e._workerPath}`);return n.modulePath=rn(t.fallbackModulePath),n}n.wasmBinaryFile=rn(t.wasmBinaryFile);let i=await Ae.fetchArrayBuffer({url:n.wasmBinaryFile});return n.wasmBinary=i,n}function na(e,t){this._workerPath=e,this._maximumActiveTasks=y(t,Number.POSITIVE_INFINITY),this._activeTasks=0,this._nextID=0,this._webAssemblyPromise=void 0}var Cwe=(e,t,n,i)=>{let o=({data:r})=>{if(r.id===t){if(l(r.error)){let s=r.error;s.name==="RuntimeError"?(s=new se(r.error.message),s.stack=r.error.stack):s.name==="DeveloperError"?(s=new de(r.error.message),s.stack=r.error.stack):s.name==="Error"&&(s=new Error(r.error.message),s.stack=r.error.stack),B5.raiseEvent(s),i(s)}else B5.raiseEvent(),n(r.result);e.removeEventListener("message",o)}};return o},Awe=[];async function Ewe(e,t,n){let i=await Promise.resolve(iJ());l(n)?i||(n.length=0):n=Awe;let o=e._nextID++,r=new Promise((s,a)=>{e._worker.addEventListener("message",Cwe(e._worker,o,s,a))});return e._worker.postMessage({id:o,baseUrl:rn.getCesiumBaseUrl().url,parameters:t,canTransferArrayBuffer:i},n),r}async function Swe(e,t,n){++e._activeTasks;try{let i=await Ewe(e,t,n);return--e._activeTasks,i}catch(i){throw--e._activeTasks,i}}na.prototype.scheduleTask=function(e,t){if(l(this._worker)||(this._worker=k5(this._workerPath)),!(this._activeTasks>=this._maximumActiveTasks))return Swe(this,e,t)};na.prototype.initWebAssemblyModule=async function(e){if(l(this._webAssemblyPromise))return this._webAssemblyPromise;let t=async()=>{let n=this._worker=k5(this._workerPath),i=await Twe(this,e),o=await Promise.resolve(iJ()),r,s=i.wasmBinary;l(s)&&o&&(r=[s]);let a=new Promise((c,u)=>{n.onmessage=function({data:f}){l(f)?c(f.result):u(new se("Could not configure wasm module"))}});return n.postMessage({canTransferArrayBuffer:o,parameters:{webAssemblyConfig:i}},r),a};return this._webAssemblyPromise=t(),this._webAssemblyPromise};na.prototype.isDestroyed=function(){return!1};na.prototype.destroy=function(){return l(this._worker)&&this._worker.terminate(),ue(this)};na.taskCompletedEvent=B5;na._defaultWorkerModulePrefix="Workers/";na._workerModulePrefix=na._defaultWorkerModulePrefix;na._canTransferArrayBuffer=void 0;var xi=na;function ap(){}ap._transcodeTaskProcessor=new xi("transcodeKTX2",Number.POSITIVE_INFINITY);ap._readyPromise=void 0;function vwe(){let e=ap._transcodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/basis_transcoder.wasm"}).then(function(t){if(t)return ap._transcodeTaskProcessor;throw new se("KTX2 transcoder could not be initialized.")});ap._readyPromise=e}ap.transcode=function(e,t){return l(ap._readyPromise)||vwe(),ap._readyPromise.then(function(n){let i=e;e instanceof ArrayBuffer&&(i=new Uint8Array(e));let o={supportedTargetFormats:t,ktx2Buffer:i};return n.scheduleTask(o,[i.buffer])}).then(function(n){let i=n.length,o=Object.keys(n[0]);for(let r=0;r<i;r++){let s=n[r];for(let a=0;a<o.length;a++){let c=s[o[a]];s[o[a]]=new K1(c.internalFormat,c.datatype,c.width,c.height,c.levelBuffer)}}if(o.length===1){for(let r=0;r<i;++r)n[r]=n[r][o[0]];i===1&&(n=n[0])}return n}).catch(function(n){throw n})};var Z1=ap;var oJ;rJ.setKTX2SupportedFormats=function(e,t,n,i,o,r){oJ={s3tc:e,pvrtc:t,astc:n,etc:i,etc1:o,bc7:r}};function rJ(e){let t;return e instanceof ArrayBuffer||ArrayBuffer.isView(e)?t=Promise.resolve(e):t=Ae.createIfNeeded(e).fetchArrayBuffer(),t.then(function(n){return Z1.transcode(n,oJ)})}var Yl=rJ;function wwe(e,t){this.start=y(e,0),this.stop=y(t,0)}var Xa=wwe;function hn(e,t){this.center=h.clone(y(e,h.ZERO)),this.radius=y(t,0)}var z5=new h,H5=new h,G5=new h,W5=new h,j5=new h,q5=new h,Y5=new h,ia=new h,X5=new h,K5=new h,Z5=new h,$5=new h,Dwe=4/3*P.PI;hn.fromPoints=function(e,t){if(l(t)||(t=new hn),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=h.clone(e[0],Y5),i=h.clone(n,z5),o=h.clone(n,H5),r=h.clone(n,G5),s=h.clone(n,W5),a=h.clone(n,j5),c=h.clone(n,q5),u=e.length,f;for(f=1;f<u;f++){h.clone(e[f],n);let O=n.x,M=n.y,N=n.z;O<i.x&&h.clone(n,i),O>s.x&&h.clone(n,s),M<o.y&&h.clone(n,o),M>a.y&&h.clone(n,a),N<r.z&&h.clone(n,r),N>c.z&&h.clone(n,c)}let d=h.magnitudeSquared(h.subtract(s,i,ia)),p=h.magnitudeSquared(h.subtract(a,o,ia)),g=h.magnitudeSquared(h.subtract(c,r,ia)),m=i,x=s,b=d;p>b&&(b=p,m=o,x=a),g>b&&(b=g,m=r,x=c);let T=X5;T.x=(m.x+x.x)*.5,T.y=(m.y+x.y)*.5,T.z=(m.z+x.z)*.5;let C=h.magnitudeSquared(h.subtract(x,T,ia)),A=Math.sqrt(C),S=K5;S.x=i.x,S.y=o.y,S.z=r.z;let v=Z5;v.x=s.x,v.y=a.y,v.z=c.z;let D=h.midpoint(S,v,$5),R=0;for(f=0;f<u;f++){h.clone(e[f],n);let O=h.magnitude(h.subtract(n,D,ia));O>R&&(R=O);let M=h.magnitudeSquared(h.subtract(n,T,ia));if(M>C){let N=Math.sqrt(M);A=(A+N)*.5,C=A*A;let _=N-A;T.x=(A*T.x+_*n.x)/N,T.y=(A*T.y+_*n.y)/N,T.z=(A*T.z+_*n.z)/N}}return A<R?(h.clone(T,t.center),t.radius=A):(h.clone(D,t.center),t.radius=R),t};var sJ=new Ii,Iwe=new h,Pwe=new h,V5=new fe,U5=new fe;hn.fromRectangle2D=function(e,t,n){return hn.fromRectangleWithHeights2D(e,t,0,0,n)};hn.fromRectangleWithHeights2D=function(e,t,n,i,o){if(l(o)||(o=new hn),!l(e))return o.center=h.clone(h.ZERO,o.center),o.radius=0,o;sJ._ellipsoid=ee.default,t=y(t,sJ),ae.southwest(e,V5),V5.height=n,ae.northeast(e,U5),U5.height=i;let r=t.project(V5,Iwe),s=t.project(U5,Pwe),a=s.x-r.x,c=s.y-r.y,u=s.z-r.z;o.radius=Math.sqrt(a*a+c*c+u*u)*.5;let f=o.center;return f.x=r.x+a*.5,f.y=r.y+c*.5,f.z=r.z+u*.5,o};var Owe=[];hn.fromRectangle3D=function(e,t,n,i){if(t=y(t,ee.default),n=y(n,0),l(i)||(i=new hn),!l(e))return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;let o=ae.subsample(e,t,n,Owe);return hn.fromPoints(o,i)};hn.fromVertices=function(e,t,n,i){if(l(i)||(i=new hn),!l(e)||e.length===0)return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;t=y(t,h.ZERO),n=y(n,3);let o=Y5;o.x=e[0]+t.x,o.y=e[1]+t.y,o.z=e[2]+t.z;let r=h.clone(o,z5),s=h.clone(o,H5),a=h.clone(o,G5),c=h.clone(o,W5),u=h.clone(o,j5),f=h.clone(o,q5),d=e.length,p;for(p=0;p<d;p+=n){let N=e[p]+t.x,_=e[p+1]+t.y,E=e[p+2]+t.z;o.x=N,o.y=_,o.z=E,N<r.x&&h.clone(o,r),N>c.x&&h.clone(o,c),_<s.y&&h.clone(o,s),_>u.y&&h.clone(o,u),E<a.z&&h.clone(o,a),E>f.z&&h.clone(o,f)}let g=h.magnitudeSquared(h.subtract(c,r,ia)),m=h.magnitudeSquared(h.subtract(u,s,ia)),x=h.magnitudeSquared(h.subtract(f,a,ia)),b=r,T=c,C=g;m>C&&(C=m,b=s,T=u),x>C&&(C=x,b=a,T=f);let A=X5;A.x=(b.x+T.x)*.5,A.y=(b.y+T.y)*.5,A.z=(b.z+T.z)*.5;let S=h.magnitudeSquared(h.subtract(T,A,ia)),v=Math.sqrt(S),D=K5;D.x=r.x,D.y=s.y,D.z=a.z;let R=Z5;R.x=c.x,R.y=u.y,R.z=f.z;let O=h.midpoint(D,R,$5),M=0;for(p=0;p<d;p+=n){o.x=e[p]+t.x,o.y=e[p+1]+t.y,o.z=e[p+2]+t.z;let N=h.magnitude(h.subtract(o,O,ia));N>M&&(M=N);let _=h.magnitudeSquared(h.subtract(o,A,ia));if(_>S){let E=Math.sqrt(_);v=(v+E)*.5,S=v*v;let w=E-v;A.x=(v*A.x+w*o.x)/E,A.y=(v*A.y+w*o.y)/E,A.z=(v*A.z+w*o.z)/E}}return v<M?(h.clone(A,i.center),i.radius=v):(h.clone(O,i.center),i.radius=M),i};hn.fromEncodedCartesianVertices=function(e,t,n){if(l(n)||(n=new hn),!l(e)||!l(t)||e.length!==t.length||e.length===0)return n.center=h.clone(h.ZERO,n.center),n.radius=0,n;let i=Y5;i.x=e[0]+t[0],i.y=e[1]+t[1],i.z=e[2]+t[2];let o=h.clone(i,z5),r=h.clone(i,H5),s=h.clone(i,G5),a=h.clone(i,W5),c=h.clone(i,j5),u=h.clone(i,q5),f=e.length,d;for(d=0;d<f;d+=3){let M=e[d]+t[d],N=e[d+1]+t[d+1],_=e[d+2]+t[d+2];i.x=M,i.y=N,i.z=_,M<o.x&&h.clone(i,o),M>a.x&&h.clone(i,a),N<r.y&&h.clone(i,r),N>c.y&&h.clone(i,c),_<s.z&&h.clone(i,s),_>u.z&&h.clone(i,u)}let p=h.magnitudeSquared(h.subtract(a,o,ia)),g=h.magnitudeSquared(h.subtract(c,r,ia)),m=h.magnitudeSquared(h.subtract(u,s,ia)),x=o,b=a,T=p;g>T&&(T=g,x=r,b=c),m>T&&(T=m,x=s,b=u);let C=X5;C.x=(x.x+b.x)*.5,C.y=(x.y+b.y)*.5,C.z=(x.z+b.z)*.5;let A=h.magnitudeSquared(h.subtract(b,C,ia)),S=Math.sqrt(A),v=K5;v.x=o.x,v.y=r.y,v.z=s.z;let D=Z5;D.x=a.x,D.y=c.y,D.z=u.z;let R=h.midpoint(v,D,$5),O=0;for(d=0;d<f;d+=3){i.x=e[d]+t[d],i.y=e[d+1]+t[d+1],i.z=e[d+2]+t[d+2];let M=h.magnitude(h.subtract(i,R,ia));M>O&&(O=M);let N=h.magnitudeSquared(h.subtract(i,C,ia));if(N>A){let _=Math.sqrt(N);S=(S+_)*.5,A=S*S;let E=_-S;C.x=(S*C.x+E*i.x)/_,C.y=(S*C.y+E*i.y)/_,C.z=(S*C.z+E*i.z)/_}}return S<O?(h.clone(C,n.center),n.radius=S):(h.clone(R,n.center),n.radius=O),n};hn.fromCornerPoints=function(e,t,n){l(n)||(n=new hn);let i=h.midpoint(e,t,n.center);return n.radius=h.distance(i,t),n};hn.fromEllipsoid=function(e,t){return l(t)||(t=new hn),h.clone(h.ZERO,t.center),t.radius=e.maximumRadius,t};var Rwe=new h;hn.fromBoundingSpheres=function(e,t){if(l(t)||(t=new hn),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=e.length;if(n===1)return hn.clone(e[0],t);if(n===2)return hn.union(e[0],e[1],t);let i=[],o;for(o=0;o<n;o++)i.push(e[o].center);t=hn.fromPoints(i,t);let r=t.center,s=t.radius;for(o=0;o<n;o++){let a=e[o];s=Math.max(s,h.distance(r,a.center,Rwe)+a.radius)}return t.radius=s,t};var Mwe=new h,Lwe=new h,Nwe=new h;hn.fromOrientedBoundingBox=function(e,t){l(t)||(t=new hn);let n=e.halfAxes,i=$.getColumn(n,0,Mwe),o=$.getColumn(n,1,Lwe),r=$.getColumn(n,2,Nwe);return h.add(i,o,i),h.add(i,r,i),t.center=h.clone(e.center,t.center),t.radius=h.magnitude(i),t};var Fwe=new h,Bwe=new h;hn.fromTransformation=function(e,t){l(t)||(t=new hn);let n=F.getTranslation(e,Fwe),i=F.getScale(e,Bwe),o=.5*h.magnitude(i);return t.center=h.clone(n,t.center),t.radius=o,t};hn.clone=function(e,t){if(l(e))return l(t)?(t.center=h.clone(e.center,t.center),t.radius=e.radius,t):new hn(e.center,e.radius)};hn.packedLength=4;hn.pack=function(e,t,n){n=y(n,0);let i=e.center;return t[n++]=i.x,t[n++]=i.y,t[n++]=i.z,t[n]=e.radius,t};hn.unpack=function(e,t,n){t=y(t,0),l(n)||(n=new hn);let i=n.center;return i.x=e[t++],i.y=e[t++],i.z=e[t++],n.radius=e[t],n};var kwe=new h,Vwe=new h;hn.union=function(e,t,n){l(n)||(n=new hn);let i=e.center,o=e.radius,r=t.center,s=t.radius,a=h.subtract(r,i,kwe),c=h.magnitude(a);if(o>=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let u=(o+c+s)*.5,f=h.multiplyByScalar(a,(-o+u)/c,Vwe);return h.add(f,i,f),h.clone(f,n.center),n.radius=u,n};var Uwe=new h;hn.expand=function(e,t,n){n=hn.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,Uwe));return i>n.radius&&(n.radius=i),n};hn.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?jt.OUTSIDE:r<i?jt.INTERSECTING:jt.INSIDE};hn.transform=function(e,t,n){return l(n)||(n=new hn),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=F.getMaximumScale(t)*e.radius,n};var zwe=new h;hn.distanceSquaredTo=function(e,t){let n=h.subtract(e.center,t,zwe),i=h.magnitude(n)-e.radius;return i<=0?0:i*i};hn.transformWithoutScale=function(e,t,n){return l(n)||(n=new hn),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var Hwe=new h;hn.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Xa);let o=h.subtract(e.center,t,Hwe),r=h.dot(n,o);return i.start=r-e.radius,i.stop=r+e.radius,i};var aJ=new h,Gwe=new h,Wwe=new h,jwe=new h,qwe=new h,Ywe=new fe,lJ=new Array(8);for(let e=0;e<8;++e)lJ[e]=new h;var cJ=new Ii;hn.projectTo2D=function(e,t,n){cJ._ellipsoid=ee.default,t=y(t,cJ);let i=t.ellipsoid,o=e.center,r=e.radius,s;h.equals(o,h.ZERO)?s=h.clone(h.UNIT_X,aJ):s=i.geodeticSurfaceNormal(o,aJ);let a=h.cross(h.UNIT_Z,s,Gwe);h.normalize(a,a);let c=h.cross(s,a,Wwe);h.normalize(c,c),h.multiplyByScalar(s,r,s),h.multiplyByScalar(c,r,c),h.multiplyByScalar(a,r,a);let u=h.negate(c,qwe),f=h.negate(a,jwe),d=lJ,p=d[0];h.add(s,c,p),h.add(p,a,p),p=d[1],h.add(s,c,p),h.add(p,f,p),p=d[2],h.add(s,u,p),h.add(p,f,p),p=d[3],h.add(s,u,p),h.add(p,a,p),h.negate(s,s),p=d[4],h.add(s,c,p),h.add(p,a,p),p=d[5],h.add(s,c,p),h.add(p,f,p),p=d[6],h.add(s,u,p),h.add(p,f,p),p=d[7],h.add(s,u,p),h.add(p,a,p);let g=d.length;for(let T=0;T<g;++T){let C=d[T];h.add(o,C,C);let A=i.cartesianToCartographic(C,Ywe);t.project(A,C)}n=hn.fromPoints(d,n),o=n.center;let m=o.x,x=o.y,b=o.z;return o.x=b,o.y=m,o.z=x,n};hn.isOccluded=function(e,t){return!t.isBoundingSphereVisible(e)};hn.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&e.radius===t.radius};hn.prototype.intersectPlane=function(e){return hn.intersectPlane(this,e)};hn.prototype.distanceSquaredTo=function(e){return hn.distanceSquaredTo(this,e)};hn.prototype.computePlaneDistances=function(e,t,n){return hn.computePlaneDistances(this,e,t,n)};hn.prototype.isOccluded=function(e){return hn.isOccluded(this,e)};hn.prototype.equals=function(e){return hn.equals(this,e)};hn.prototype.clone=function(e){return hn.clone(this,e)};hn.prototype.volume=function(){let e=this.radius;return Dwe*e*e*e};var ce=hn;function Xwe(e){e=y(e,y.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}var mn=Xwe;var Kwe={NONE:0,TOP:1,ALL:2},cn=Object.freeze(Kwe);function is(e){e=y(e,y.EMPTY_OBJECT),this.position=y(e.position,!1),this.normal=y(e.normal,!1),this.st=y(e.st,!1),this.bitangent=y(e.bitangent,!1),this.tangent=y(e.tangent,!1),this.color=y(e.color,!1)}is.POSITION_ONLY=Object.freeze(new is({position:!0}));is.POSITION_AND_NORMAL=Object.freeze(new is({position:!0,normal:!0}));is.POSITION_NORMAL_AND_ST=Object.freeze(new is({position:!0,normal:!0,st:!0}));is.POSITION_AND_ST=Object.freeze(new is({position:!0,st:!0}));is.POSITION_AND_COLOR=Object.freeze(new is({position:!0,color:!0}));is.ALL=Object.freeze(new is({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));is.DEFAULT=is.POSITION_NORMAL_AND_ST;is.packedLength=6;is.pack=function(e,t,n){return n=y(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t};is.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new is),n.position=e[t++]===1,n.normal=e[t++]===1,n.st=e[t++]===1,n.tangent=e[t++]===1,n.bitangent=e[t++]===1,n.color=e[t]===1,n};is.clone=function(e,t){if(l(e))return l(t)||(t=new is),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var Pe=is;var Zwe=new h;function Xl(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum,i=y(e.vertexFormat,Pe.DEFAULT);this._minimum=h.clone(t),this._maximum=h.clone(n),this._vertexFormat=i,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}Xl.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new Xl({minimum:h.negate(n,new h),maximum:n,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})};Xl.fromAxisAlignedBoundingBox=function(e){return new Xl({minimum:e.minimum,maximum:e.maximum})};Xl.packedLength=2*h.packedLength+Pe.packedLength+1;Xl.pack=function(e,t,n){return n=y(n,0),h.pack(e._minimum,t,n),h.pack(e._maximum,t,n+h.packedLength),Pe.pack(e._vertexFormat,t,n+2*h.packedLength),t[n+2*h.packedLength+Pe.packedLength]=y(e._offsetAttribute,-1),t};var fJ=new h,dJ=new h,hJ=new Pe,uJ={minimum:fJ,maximum:dJ,vertexFormat:hJ,offsetAttribute:void 0};Xl.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,fJ),o=h.unpack(e,t+h.packedLength,dJ),r=Pe.unpack(e,t+2*h.packedLength,hJ),s=e[t+2*h.packedLength+Pe.packedLength];return l(n)?(n._minimum=h.clone(i,n._minimum),n._maximum=h.clone(o,n._maximum),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._offsetAttribute=s===-1?void 0:s,n):(uJ.offsetAttribute=s===-1?void 0:s,new Xl(uJ))};Xl.createGeometry=function(e){let t=e._minimum,n=e._maximum,i=e._vertexFormat;if(h.equals(t,n))return;let o=new mn,r,s;if(i.position&&(i.st||i.normal||i.tangent||i.bitangent)){if(i.position&&(s=new Float64Array(6*4*3),s[0]=t.x,s[1]=t.y,s[2]=n.z,s[3]=n.x,s[4]=t.y,s[5]=n.z,s[6]=n.x,s[7]=n.y,s[8]=n.z,s[9]=t.x,s[10]=n.y,s[11]=n.z,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=n.x,s[16]=t.y,s[17]=t.z,s[18]=n.x,s[19]=n.y,s[20]=t.z,s[21]=t.x,s[22]=n.y,s[23]=t.z,s[24]=n.x,s[25]=t.y,s[26]=t.z,s[27]=n.x,s[28]=n.y,s[29]=t.z,s[30]=n.x,s[31]=n.y,s[32]=n.z,s[33]=n.x,s[34]=t.y,s[35]=n.z,s[36]=t.x,s[37]=t.y,s[38]=t.z,s[39]=t.x,s[40]=n.y,s[41]=t.z,s[42]=t.x,s[43]=n.y,s[44]=n.z,s[45]=t.x,s[46]=t.y,s[47]=n.z,s[48]=t.x,s[49]=n.y,s[50]=t.z,s[51]=n.x,s[52]=n.y,s[53]=t.z,s[54]=n.x,s[55]=n.y,s[56]=n.z,s[57]=t.x,s[58]=n.y,s[59]=n.z,s[60]=t.x,s[61]=t.y,s[62]=t.z,s[63]=n.x,s[64]=t.y,s[65]=t.z,s[66]=n.x,s[67]=t.y,s[68]=n.z,s[69]=t.x,s[70]=t.y,s[71]=n.z,o.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})),i.normal){let u=new Float32Array(72);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=1,u[9]=0,u[10]=0,u[11]=1,u[12]=0,u[13]=0,u[14]=-1,u[15]=0,u[16]=0,u[17]=-1,u[18]=0,u[19]=0,u[20]=-1,u[21]=0,u[22]=0,u[23]=-1,u[24]=1,u[25]=0,u[26]=0,u[27]=1,u[28]=0,u[29]=0,u[30]=1,u[31]=0,u[32]=0,u[33]=1,u[34]=0,u[35]=0,u[36]=-1,u[37]=0,u[38]=0,u[39]=-1,u[40]=0,u[41]=0,u[42]=-1,u[43]=0,u[44]=0,u[45]=-1,u[46]=0,u[47]=0,u[48]=0,u[49]=1,u[50]=0,u[51]=0,u[52]=1,u[53]=0,u[54]=0,u[55]=1,u[56]=0,u[57]=0,u[58]=1,u[59]=0,u[60]=0,u[61]=-1,u[62]=0,u[63]=0,u[64]=-1,u[65]=0,u[66]=0,u[67]=-1,u[68]=0,u[69]=0,u[70]=-1,u[71]=0,o.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.st){let u=new Float32Array(48);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=1,u[5]=1,u[6]=0,u[7]=1,u[8]=1,u[9]=0,u[10]=0,u[11]=0,u[12]=0,u[13]=1,u[14]=1,u[15]=1,u[16]=0,u[17]=0,u[18]=1,u[19]=0,u[20]=1,u[21]=1,u[22]=0,u[23]=1,u[24]=1,u[25]=0,u[26]=0,u[27]=0,u[28]=0,u[29]=1,u[30]=1,u[31]=1,u[32]=1,u[33]=0,u[34]=0,u[35]=0,u[36]=0,u[37]=1,u[38]=1,u[39]=1,u[40]=0,u[41]=0,u[42]=1,u[43]=0,u[44]=1,u[45]=1,u[46]=0,u[47]=1,o.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:u})}if(i.tangent){let u=new Float32Array(72);u[0]=1,u[1]=0,u[2]=0,u[3]=1,u[4]=0,u[5]=0,u[6]=1,u[7]=0,u[8]=0,u[9]=1,u[10]=0,u[11]=0,u[12]=-1,u[13]=0,u[14]=0,u[15]=-1,u[16]=0,u[17]=0,u[18]=-1,u[19]=0,u[20]=0,u[21]=-1,u[22]=0,u[23]=0,u[24]=0,u[25]=1,u[26]=0,u[27]=0,u[28]=1,u[29]=0,u[30]=0,u[31]=1,u[32]=0,u[33]=0,u[34]=1,u[35]=0,u[36]=0,u[37]=-1,u[38]=0,u[39]=0,u[40]=-1,u[41]=0,u[42]=0,u[43]=-1,u[44]=0,u[45]=0,u[46]=-1,u[47]=0,u[48]=-1,u[49]=0,u[50]=0,u[51]=-1,u[52]=0,u[53]=0,u[54]=-1,u[55]=0,u[56]=0,u[57]=-1,u[58]=0,u[59]=0,u[60]=1,u[61]=0,u[62]=0,u[63]=1,u[64]=0,u[65]=0,u[66]=1,u[67]=0,u[68]=0,u[69]=1,u[70]=0,u[71]=0,o.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.bitangent){let u=new Float32Array(72);u[0]=0,u[1]=1,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=1,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=1,u[14]=0,u[15]=0,u[16]=1,u[17]=0,u[18]=0,u[19]=1,u[20]=0,u[21]=0,u[22]=1,u[23]=0,u[24]=0,u[25]=0,u[26]=1,u[27]=0,u[28]=0,u[29]=1,u[30]=0,u[31]=0,u[32]=1,u[33]=0,u[34]=0,u[35]=1,u[36]=0,u[37]=0,u[38]=1,u[39]=0,u[40]=0,u[41]=1,u[42]=0,u[43]=0,u[44]=1,u[45]=0,u[46]=0,u[47]=1,u[48]=0,u[49]=0,u[50]=1,u[51]=0,u[52]=0,u[53]=1,u[54]=0,u[55]=0,u[56]=1,u[57]=0,u[58]=0,u[59]=1,u[60]=0,u[61]=0,u[62]=1,u[63]=0,u[64]=0,u[65]=1,u[66]=0,u[67]=0,u[68]=1,u[69]=0,u[70]=0,u[71]=1,o.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}r=new Uint16Array(6*2*3),r[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3,r[6]=6,r[7]=5,r[8]=4,r[9]=7,r[10]=6,r[11]=4,r[12]=8,r[13]=9,r[14]=10,r[15]=8,r[16]=10,r[17]=11,r[18]=14,r[19]=13,r[20]=12,r[21]=15,r[22]=14,r[23]=12,r[24]=18,r[25]=17,r[26]=16,r[27]=19,r[28]=18,r[29]=16,r[30]=20,r[31]=21,r[32]=22,r[33]=20,r[34]=22,r[35]=23}else s=new Float64Array(8*3),s[0]=t.x,s[1]=t.y,s[2]=t.z,s[3]=n.x,s[4]=t.y,s[5]=t.z,s[6]=n.x,s[7]=n.y,s[8]=t.z,s[9]=t.x,s[10]=n.y,s[11]=t.z,s[12]=t.x,s[13]=t.y,s[14]=n.z,s[15]=n.x,s[16]=t.y,s[17]=n.z,s[18]=n.x,s[19]=n.y,s[20]=n.z,s[21]=t.x,s[22]=n.y,s[23]=n.z,o.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s}),r=new Uint16Array(6*2*3),r[0]=4,r[1]=5,r[2]=6,r[3]=4,r[4]=6,r[5]=7,r[6]=1,r[7]=0,r[8]=3,r[9]=1,r[10]=3,r[11]=2,r[12]=1,r[13]=6,r[14]=5,r[15]=1,r[16]=2,r[17]=6,r[18]=2,r[19]=3,r[20]=7,r[21]=2,r[22]=7,r[23]=6,r[24]=3,r[25]=0,r[26]=4,r[27]=3,r[28]=4,r[29]=7,r[30]=0,r[31]=1,r[32]=5,r[33]=0,r[34]=5,r[35]=4;let a=h.subtract(n,t,Zwe),c=h.magnitude(a)*.5;if(l(e._offsetAttribute)){let u=s.length,f=e._offsetAttribute===cn.NONE?0:1,d=new Uint8Array(u/3).fill(f);o.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return new ft({attributes:o,indices:r,primitiveType:Fe.TRIANGLES,boundingSphere:new ce(h.ZERO,c),offsetAttribute:e._offsetAttribute})};var Q5;Xl.getUnitBox=function(){return l(Q5)||(Q5=Xl.createGeometry(Xl.fromDimensions({dimensions:new h(1,1,1),vertexFormat:Pe.POSITION_ONLY}))),Q5};var Ka=Xl;var Ji={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};Ji.getMathType=function(e){switch(e){case Ji.SCALAR:return Number;case Ji.VEC2:return U;case Ji.VEC3:return h;case Ji.VEC4:return oe;case Ji.MAT2:return Pi;case Ji.MAT3:return $;case Ji.MAT4:return F}};Ji.getNumberOfComponents=function(e){switch(e){case Ji.SCALAR:return 1;case Ji.VEC2:return 2;case Ji.VEC3:return 3;case Ji.VEC4:case Ji.MAT2:return 4;case Ji.MAT3:return 9;case Ji.MAT4:return 16}};Ji.getAttributeLocationCount=function(e){switch(e){case Ji.SCALAR:case Ji.VEC2:case Ji.VEC3:case Ji.VEC4:return 1;case Ji.MAT2:return 2;case Ji.MAT3:return 3;case Ji.MAT4:return 4}};Ji.getGlslType=function(e){switch(e){case Ji.SCALAR:return"float";case Ji.VEC2:return"vec2";case Ji.VEC3:return"vec3";case Ji.VEC4:return"vec4";case Ji.MAT2:return"mat2";case Ji.MAT3:return"mat3";case Ji.MAT4:return"mat4"}};var sn=Object.freeze(Ji);var mJ=1/256,pJ=256,_o={};_o.octEncodeInRange=function(e,t,n){if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,o=n.y;n.x=(1-Math.abs(o))*P.signNotZero(i),n.y=(1-Math.abs(i))*P.signNotZero(o)}return n.x=P.toSNorm(n.x,t),n.y=P.toSNorm(n.y,t),n};_o.octEncode=function(e,t){return _o.octEncodeInRange(e,255,t)};var tv=new U,_J=new Uint8Array(1);function $1(e){return _J[0]=e,_J[0]}_o.octEncodeToCartesian4=function(e,t){return _o.octEncodeInRange(e,65535,tv),t.x=$1(tv.x*mJ),t.y=$1(tv.x),t.z=$1(tv.y*mJ),t.w=$1(tv.y),t};_o.octDecodeInRange=function(e,t,n,i){if(i.x=P.fromSNorm(e,n),i.y=P.fromSNorm(t,n),i.z=1-(Math.abs(i.x)+Math.abs(i.y)),i.z<0){let o=i.x;i.x=(1-Math.abs(i.y))*P.signNotZero(o),i.y=(1-Math.abs(o))*P.signNotZero(i.y)}return h.normalize(i,i)};_o.octDecode=function(e,t,n){return _o.octDecodeInRange(e,t,255,n)};_o.octDecodeFromCartesian4=function(e,t){let n=e.x,i=e.y,o=e.z,r=e.w,s=n*pJ+i,a=o*pJ+r;return _o.octDecodeInRange(s,a,65535,t)};_o.octPackFloat=function(e){return 256*e.x+e.y};var e6=new U;_o.octEncodeFloat=function(e){return _o.octEncode(e,e6),_o.octPackFloat(e6)};_o.octDecodeFloat=function(e,t){let n=e/256,i=Math.floor(n),o=(n-i)*256;return _o.octDecode(i,o,t)};_o.octPack=function(e,t,n,i){let o=_o.octEncodeFloat(e),r=_o.octEncodeFloat(t),s=_o.octEncode(n,e6);return i.x=65536*s.x+o,i.y=65536*s.y+r,i};_o.octUnpack=function(e,t,n,i){let o=e.x/65536,r=Math.floor(o),s=(o-r)*65536;o=e.y/65536;let a=Math.floor(o),c=(o-a)*65536;_o.octDecodeFloat(s,t),_o.octDecodeFloat(c,n),_o.octDecode(r,a,i)};_o.compressTextureCoordinates=function(e){let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};_o.decompressTextureCoordinates=function(e,t){let n=e/4096,i=Math.floor(n);return t.x=i/4095,t.y=(e-i*4096)/4095,t};function J5(e){return e>>1^-(e&1)}_o.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a<i;++a)o+=J5(e[a]),r+=J5(t[a]),e[a]=o,t[a]=r,l(n)&&(s+=J5(n[a]),n[a]=s)};_o.dequantize=function(e,t,n,i){let o=sn.getNumberOfComponents(n),r;switch(t){case X.BYTE:r=127;break;case X.UNSIGNED_BYTE:r=255;break;case X.SHORT:r=32767;break;case X.UNSIGNED_SHORT:r=65535;break;case X.INT:r=2147483647;break;case X.UNSIGNED_INT:r=4294967295;break}let s=new Float32Array(i*o);for(let a=0;a<i;a++)for(let c=0;c<o;c++){let u=a*o+c;s[u]=Math.max(e[u]/r,-1)}return s};_o.decodeRGB565=function(e,t){let n=e.length;l(t)||(t=new Float32Array(n*3));let i=31,o=63,r=1/31,s=1/63;for(let a=0;a<n;a++){let c=e[a],u=c>>11,f=c>>5&o,d=c&i,p=3*a;t[p]=u*r,t[p+1]=f*s,t[p+2]=d*r}return t};var Fn=_o;var gJ=new h,yJ=new h,xJ=new h;function $we(e,t,n,i,o){l(o)||(o=new h);let r,s,a,c,u,f,d,p;if(l(t.z)){if(h.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,gJ),s=h.subtract(i,t,yJ),a=h.subtract(e,t,xJ),c=h.dot(r,r),u=h.dot(r,s),f=h.dot(r,a),d=h.dot(s,s),p=h.dot(s,a)}else{if(U.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(U.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(U.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=U.subtract(n,t,gJ),s=U.subtract(i,t,yJ),a=U.subtract(e,t,xJ),c=U.dot(r,r),u=U.dot(r,s),f=U.dot(r,a),d=U.dot(s,s),p=U.dot(s,a)}o.y=d*f-u*p,o.z=c*p-u*f;let g=c*d-u*u;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var wT=$we;function vh(){this.high=h.clone(h.ZERO),this.low=h.clone(h.ZERO)}vh.encode=function(e,t){l(t)||(t={high:0,low:0});let n;return e>=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var cp={high:0,low:0};vh.fromCartesian=function(e,t){l(t)||(t=new vh);let n=t.high,i=t.low;return vh.encode(e.x,cp),n.x=cp.high,i.x=cp.low,vh.encode(e.y,cp),n.y=cp.high,i.y=cp.low,vh.encode(e.z,cp),n.z=cp.high,i.z=cp.low,t};var t6=new vh;vh.writeElements=function(e,t,n){vh.fromCartesian(e,t6);let i=t6.high,o=t6.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z};var Wn=vh;var n6={};n6.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function bJ(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}n6.computeRealRoots=function(e,t,n){let i;if(e===0)return t===0?[]:[-n/t];if(t===0){if(n===0)return[0,0];let c=Math.abs(n),u=Math.abs(e);if(c<u&&c/u<P.EPSILON14)return[0,0];if(c>u&&u/c<P.EPSILON14)return[];if(i=-n/e,i<0)return[];let f=Math.sqrt(i);return[-f,f]}else if(n===0)return i=-t/e,i<0?[i,0]:[0,i];let o=t*t,r=4*e*n,s=bJ(o,-r,P.EPSILON14);if(s<0)return[];let a=-.5*bJ(t,P.sign(t)*Math.sqrt(s),P.EPSILON14);return t>0?[a/e,n/a]:[n/a,a/e]};var al=n6;var o6={};o6.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function i6(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,u=r*a,f=r*r,d=s*s,p=o*s-f,g=o*a-r*s,m=r*a-d,x=4*p*m-g*g,b,T;if(x<0){let W,Y,J;f*u>=c*d?(W=o,Y=p,J=-2*r*p+o*g):(W=a,Y=m,J=-a*g+2*s*m);let Z=-(J<0?-1:1)*Math.abs(W)*Math.sqrt(-x);T=-J+Z;let Q=T/2,he=Q<0?-Math.pow(-Q,1/3):Math.pow(Q,1/3),ye=T===Z?-he:-Y/he;return b=Y<=0?he+ye:-J/(he*he+ye*ye+Y),f*u>=c*d?[(b-r)/o]:[-a/(b+s)]}let C=p,A=-2*r*p+o*g,S=m,v=-a*g+2*s*m,D=Math.sqrt(x),R=Math.sqrt(3)/2,O=Math.abs(Math.atan2(o*D,-A)/3);b=2*Math.sqrt(-C);let M=Math.cos(O);T=b*M;let N=b*(-M/2-R*Math.sin(O)),_=T+N>2*r?T-r:N-r,E=o,w=_/E;O=Math.abs(Math.atan2(a*D,-v)/3),b=2*Math.sqrt(-S),M=Math.cos(O),T=b*M,N=b*(-M/2-R*Math.sin(O));let I=-a,L=T+N<2*s?T+s:N+s,B=I/L,H=E*L,V=-_*L-E*I,G=_*I,k=(s*V-r*G)/(-r*V+s*H);return w<=k?w<=B?k<=B?[w,k,B]:[w,B,k]:[B,w,k]:w<=B?[k,w,B]:k<=B?[k,B,w]:[B,k,w]}o6.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return al.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=al.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return i6(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):i6(e,t,0,i);if(i===0)return o=al.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return i6(e,t,n,i)};var DT=o6;var r6={};r6.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,u=n*n,f=u*n,d=i*i,p=d*i,g=o*o,m=g*o;return a*u*d-4*c*p-4*e*f*d+18*e*t*n*p-27*r*d*d+256*s*m+o*(18*c*n*i-4*a*f+16*e*u*u-80*e*t*u*i-6*e*a*d+144*r*n*d)+g*(144*e*a*n-27*a*a-128*r*u-192*r*t*i)};function ad(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=DT.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let u=-e/4,f=c[c.length-1];if(Math.abs(f)<P.EPSILON14){let d=al.computeRealRoots(1,r,a);if(d.length===2){let p=d[0],g=d[1],m;if(p>=0&&g>=0){let x=Math.sqrt(p),b=Math.sqrt(g);return[u-b,u-x,u+x,u+b]}else{if(p>=0&&g<0)return m=Math.sqrt(p),[u-m,u+m];if(p<0&&g>=0)return m=Math.sqrt(g),[u-m,u+m]}}return[]}else if(f>0){let d=Math.sqrt(f),p=(r+f-s/d)/2,g=(r+f+s/d)/2,m=al.computeRealRoots(1,d,p),x=al.computeRealRoots(1,-d,g);return m.length!==0?(m[0]+=u,m[1]+=u,x.length!==0?(x[0]+=u,x[1]+=u,m[1]<=x[0]?[m[0],m[1],x[0],x[1]]:x[1]<=m[0]?[x[0],x[1],m[0],m[1]]:m[0]>=x[0]&&m[1]<=x[1]?[x[0],m[0],m[1],x[1]]:x[0]>=m[0]&&x[1]<=m[1]?[m[0],x[0],x[1],m[1]]:m[0]>x[0]&&m[0]<x[1]?[x[0],m[0],x[1],m[1]]:[m[0],x[0],m[1],x[1]]):m):x.length!==0?(x[0]+=u,x[1]+=u,x):[]}}return[]}function nv(e,t,n,i){let o=n*n,r=t*t,s=e*e,a=-2*t,c=n*e+r-4*i,u=s*i-n*t*e+o,f=DT.computeRealRoots(1,a,c,u);if(f.length>0){let d=f[0],p=t-d,g=p*p,m=e/2,x=p/2,b=g-4*i,T=g+4*Math.abs(i),C=s-4*d,A=s+4*Math.abs(d),S,v;if(d<0||b*A<C*T){let E=Math.sqrt(C);S=E/2,v=E===0?0:(e*x-n)/E}else{let E=Math.sqrt(b);S=E===0?0:(e*x-n)/E,v=E/2}let D,R;m===0&&S===0?(D=0,R=0):P.sign(m)===P.sign(S)?(D=m+S,R=d/D):(R=m-S,D=d/R);let O,M;x===0&&v===0?(O=0,M=0):P.sign(x)===P.sign(v)?(O=x+v,M=i/O):(M=x-v,O=i/M);let N=al.computeRealRoots(1,D,O),_=al.computeRealRoots(1,R,M);if(N.length!==0)return _.length!==0?N[1]<=_[0]?[N[0],N[1],_[0],_[1]]:_[1]<=N[0]?[_[0],_[1],N[0],N[1]]:N[0]>=_[0]&&N[1]<=_[1]?[_[0],N[0],N[1],_[1]]:_[0]>=N[0]&&_[1]<=N[1]?[N[0],_[0],_[1],N[1]]:N[0]>_[0]&&N[0]<_[1]?[_[0],N[0],_[1],N[1]]:[N[0],_[0],N[1],_[1]]:N;if(_.length!==0)return _}return[]}r6.computeRealRoots=function(e,t,n,i,o){if(Math.abs(e)<P.EPSILON15)return DT.computeRealRoots(t,n,i,o);let r=t/e,s=n/e,a=i/e,c=o/e,u=r<0?1:0;switch(u+=s<0?u+1:u,u+=a<0?u+1:u,u+=c<0?u+1:u,u){case 0:return ad(r,s,a,c);case 1:return nv(r,s,a,c);case 2:return nv(r,s,a,c);case 3:return ad(r,s,a,c);case 4:return ad(r,s,a,c);case 5:return nv(r,s,a,c);case 6:return ad(r,s,a,c);case 7:return ad(r,s,a,c);case 8:return nv(r,s,a,c);case 9:return ad(r,s,a,c);case 10:return ad(r,s,a,c);case 11:return nv(r,s,a,c);case 12:return ad(r,s,a,c);case 13:return ad(r,s,a,c);case 14:return ad(r,s,a,c);case 15:return ad(r,s,a,c);default:return}};var Q1=r6;function J1(e,t){t=h.clone(y(t,h.ZERO)),h.equals(t,h.ZERO)||h.normalize(t,t),this.origin=h.clone(y(e,h.ZERO)),this.direction=t}J1.clone=function(e,t){if(l(e))return l(t)?(t.origin=h.clone(e.origin),t.direction=h.clone(e.direction),t):new J1(e.origin,e.direction)};J1.getPoint=function(e,t,n){return l(n)||(n=new h),n=h.multiplyByScalar(e.direction,t,n),h.add(e.origin,n,n)};var _n=J1;var Mo={};Mo.rayPlane=function(e,t,n){l(n)||(n=new h);let i=e.origin,o=e.direction,r=t.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON15)return;let a=(-t.distance-h.dot(r,i))/s;if(!(a<0))return n=h.multiplyByScalar(o,a,n),h.add(i,n,n)};var Qwe=new h,Jwe=new h,DJ=new h,TJ=new h,CJ=new h;Mo.rayTriangleParametric=function(e,t,n,i,o){o=y(o,!1);let r=e.origin,s=e.direction,a=h.subtract(n,t,Qwe),c=h.subtract(i,t,Jwe),u=h.cross(s,c,DJ),f=h.dot(a,u),d,p,g,m,x;if(o){if(f<P.EPSILON6||(d=h.subtract(r,t,TJ),g=h.dot(d,u),g<0||g>f)||(p=h.cross(d,a,CJ),m=h.dot(s,p),m<0||g+m>f))return;x=h.dot(c,p)/f}else{if(Math.abs(f)<P.EPSILON6)return;let b=1/f;if(d=h.subtract(r,t,TJ),g=h.dot(d,u)*b,g<0||g>1||(p=h.cross(d,a,CJ),m=h.dot(s,p)*b,m<0||g+m>1))return;x=h.dot(c,p)*b}return x};Mo.rayTriangle=function(e,t,n,i,o,r){let s=Mo.rayTriangleParametric(e,t,n,i,o);if(!(!l(s)||s<0))return l(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var eDe=new _n;Mo.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=eDe;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=Mo.rayTriangleParametric(a,n,i,o,r);if(!(!l(c)||c<0||c>h.distance(e,t)))return l(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function tDe(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,u=(-t-a)*s;return c<u?(i.root0=c,i.root1=u):(i.root0=u,i.root1=c),i}let r=-t/(2*e);if(r!==0)return i.root0=i.root1=r,i}var nDe={root0:0,root1:0};function IJ(e,t,n){l(n)||(n=new Xa);let i=e.origin,o=e.direction,r=t.center,s=t.radius*t.radius,a=h.subtract(i,r,DJ),c=h.dot(o,o),u=2*h.dot(o,a),f=h.magnitudeSquared(a)-s,d=tDe(c,u,f,nDe);if(l(d))return n.start=d.root0,n.stop=d.root1,n}Mo.raySphere=function(e,t,n){if(n=IJ(e,t,n),!(!l(n)||n.stop<0))return n.start=Math.max(n.start,0),n};var iDe=new _n;Mo.lineSegmentSphere=function(e,t,n,i){let o=iDe;h.clone(e,o.origin);let r=h.subtract(t,e,o.direction),s=h.magnitude(r);if(h.normalize(r,r),i=IJ(o,n,i),!(!l(i)||i.stop<0||i.start>s))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var oDe=new h,rDe=new h;Mo.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,oDe),o=h.multiplyComponents(n,e.direction,rDe),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,u,f,d;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),u=c*a,p<u)return;if(p>u){f=s*s-u,d=-s+Math.sqrt(f);let m=d/c,x=a/d;return m<x?new Xa(m,x):{start:x,stop:m}}let g=Math.sqrt(a/c);return new Xa(g,g)}else if(r<1)return a=r-1,c=h.magnitudeSquared(o),u=c*a,f=s*s-u,d=-s+Math.sqrt(f),new Xa(0,d/c);if(s<0)return c=h.magnitudeSquared(o),new Xa(0,-s/c)};function k0(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}Mo.quadraticVectorExpression=function(e,t,n,i,o){let r=i*i,s=o*o,a=(e[$.COLUMN1ROW1]-e[$.COLUMN2ROW2])*s,c=o*(i*k0(e[$.COLUMN1ROW0],e[$.COLUMN0ROW1],P.EPSILON15)+t.y),u=e[$.COLUMN0ROW0]*r+e[$.COLUMN2ROW2]*s+i*t.x+n,f=s*k0(e[$.COLUMN2ROW1],e[$.COLUMN1ROW2],P.EPSILON15),d=o*(i*k0(e[$.COLUMN2ROW0],e[$.COLUMN0ROW2])+t.z),p,g=[];if(d===0&&f===0){if(p=al.computeRealRoots(a,c,u),p.length===0)return g;let O=p[0],M=Math.sqrt(Math.max(1-O*O,0));if(g.push(new h(i,o*O,o*-M)),g.push(new h(i,o*O,o*M)),p.length===2){let N=p[1],_=Math.sqrt(Math.max(1-N*N,0));g.push(new h(i,o*N,o*-_)),g.push(new h(i,o*N,o*_))}return g}let m=d*d,x=f*f,b=a*a,T=d*f,C=b+x,A=2*(c*a+T),S=2*u*a+c*c-x+m,v=2*(u*c-T),D=u*u-m;if(C===0&&A===0&&S===0&&v===0)return g;p=Q1.computeRealRoots(C,A,S,v,D);let R=p.length;if(R===0)return g;for(let O=0;O<R;++O){let M=p[O],N=M*M,_=Math.max(1-N,0),E=Math.sqrt(_),w;P.sign(a)===P.sign(u)?w=k0(a*N+u,c*M,P.EPSILON12):P.sign(u)===P.sign(c*M)?w=k0(a*N,c*M+u,P.EPSILON12):w=k0(a*N+c*M,u,P.EPSILON12);let I=k0(f*M,d,P.EPSILON15),L=w*I;L<0?g.push(new h(i,o*M,o*E)):L>0?g.push(new h(i,o*M,o*-E)):E!==0?(g.push(new h(i,o*M,o*-E)),g.push(new h(i,o*M,o*E)),++O):g.push(new h(i,o*M,o*E))}return g};var s6=new h,AJ=new h,EJ=new h,eO=new h,sDe=new h,aDe=new $,cDe=new $,lDe=new $,uDe=new $,fDe=new $,SJ=new $,vJ=new $,wJ=new h,dDe=new h,hDe=new fe;Mo.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let D=t.geodeticSurfaceNormal(n,s6);if(h.dot(i,D)>=0)return n}let o=l(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,s6),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,eO),c=h.normalize(h.cross(a,s,AJ),AJ),u=h.normalize(h.cross(s,c,EJ),EJ),f=aDe;f[0]=s.x,f[1]=s.y,f[2]=s.z,f[3]=c.x,f[4]=c.y,f[5]=c.z,f[6]=u.x,f[7]=u.y,f[8]=u.z;let d=$.transpose(f,cDe),p=$.fromScale(t.radii,lDe),g=$.fromScale(t.oneOverRadii,uDe),m=fDe;m[0]=0,m[1]=-i.z,m[2]=i.y,m[3]=i.z,m[4]=0,m[5]=-i.x,m[6]=-i.y,m[7]=i.x,m[8]=0;let x=$.multiply($.multiply(d,g,SJ),m,SJ),b=$.multiply($.multiply(x,p,vJ),f,vJ),T=$.multiplyByVector(x,n,sDe),C=Mo.quadraticVectorExpression(b,h.negate(T,s6),0,0,1),A,S,v=C.length;if(v>0){let D=h.clone(h.ZERO,dDe),R=Number.NEGATIVE_INFINITY;for(let M=0;M<v;++M){A=$.multiplyByVector(p,$.multiplyByVector(f,C[M],wJ),wJ);let N=h.normalize(h.subtract(A,n,eO),eO),_=h.dot(N,i);_>R&&(R=_,D=h.clone(A,D))}let O=t.cartesianToCartographic(D,hDe);return R=P.clamp(R,0,1),S=h.magnitude(h.subtract(D,n,eO))*Math.sqrt(1-R*R),S=o?-S:S,O.height=S,t.cartographicToCartesian(O,new h)}};var mDe=new h;Mo.lineSegmentPlane=function(e,t,n,i){l(i)||(i=new h);let o=h.subtract(t,e,mDe),r=n.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON6)return;let a=h.dot(r,e),c=-(n.distance+a)/s;if(!(c<0||c>1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};Mo.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,u=0;u+=s?1:0,u+=a?1:0,u+=c?1:0;let f,d;if((u===1||u===2)&&(f=new h,d=new h),u===1){if(s)return Mo.lineSegmentPlane(e,t,i,f),Mo.lineSegmentPlane(e,n,i,d),{positions:[e,t,n,f,d],indices:[0,3,4,1,2,4,1,4,3]};if(a)return Mo.lineSegmentPlane(t,n,i,f),Mo.lineSegmentPlane(t,e,i,d),{positions:[e,t,n,f,d],indices:[1,3,4,2,0,4,2,4,3]};if(c)return Mo.lineSegmentPlane(n,e,i,f),Mo.lineSegmentPlane(n,t,i,d),{positions:[e,t,n,f,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(u===2)if(s)if(a){if(!c)return Mo.lineSegmentPlane(e,n,i,f),Mo.lineSegmentPlane(t,n,i,d),{positions:[e,t,n,f,d],indices:[0,1,4,0,4,3,2,3,4]}}else return Mo.lineSegmentPlane(n,t,i,f),Mo.lineSegmentPlane(e,t,i,d),{positions:[e,t,n,f,d],indices:[2,0,4,2,4,3,1,3,4]};else return Mo.lineSegmentPlane(t,e,i,f),Mo.lineSegmentPlane(n,e,i,d),{positions:[e,t,n,f,d],indices:[1,2,4,1,4,3,0,3,4]}};var ti=Mo;function Ns(e,t){this.normal=h.clone(e),this.distance=t}Ns.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return l(n)?(h.clone(t,n.normal),n.distance=i,n):new Ns(t,i)};var pDe=new h;Ns.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,pDe),i=e.w;return l(t)?(h.clone(n,t.normal),t.distance=i,t):new Ns(n,i)};Ns.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var _De=new h;Ns.projectPointOntoPlane=function(e,t,n){l(n)||(n=new h);let i=Ns.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,_De);return h.subtract(t,o,n)};var gDe=new F,yDe=new oe,xDe=new h;Ns.transform=function(e,t,n){let i=e.normal,o=e.distance,r=F.inverseTranspose(t,gDe),s=oe.fromElements(i.x,i.y,i.z,o,yDe);s=F.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,xDe);return s=oe.divideByScalar(s,h.magnitude(a),s),Ns.fromCartesian4(s,n)};Ns.clone=function(e,t){return l(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new Ns(e.normal,e.distance)};Ns.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};Ns.ORIGIN_XY_PLANE=Object.freeze(new Ns(h.UNIT_Z,0));Ns.ORIGIN_YZ_PLANE=Object.freeze(new Ns(h.UNIT_X,0));Ns.ORIGIN_ZX_PLANE=Object.freeze(new Ns(h.UNIT_Y,0));var ln=Ns;var a6={};a6.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!l(n)){n=0;let a=0,c=t[a];for(;a<o;)c>n&&(n=c),++a,c=t[a]}let r=[];for(let a=0;a<n+1;a++)r[a]=0;let s=i+1;for(let a=0;a<o;++a)s-r[t[a]]>i&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};a6.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(_,E,w,I){for(;E.length>=1;){let L=E[E.length-1];if(E.splice(E.length-1,1),_[L].numLiveTriangles>0)return L}for(;o<I;){if(_[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function s(_,E,w,I,L,B,H){let V=-1,G,k=-1,W=0;for(;W<w.length;){let Y=w[W];I[Y].numLiveTriangles&&(G=0,L-I[Y].timeStamp+2*I[Y].numLiveTriangles<=E&&(G=L-I[Y].timeStamp),(G>k||k===-1)&&(k=G,V=Y)),++W}return V===-1?r(I,B,_,H):V}let a=t.length,c=0,u=0,f=t[u],d=a;if(l(n))c=n+1;else{for(;u<d;)f>c&&(c=f),++u,f=t[u];if(c===-1)return 0;++c}let p=[],g;for(g=0;g<c;g++)p[g]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;let m=0;for(;u<d;)p[t[u]].vertexTriangles.push(m),++p[t[u]].numLiveTriangles,p[t[u+1]].vertexTriangles.push(m),++p[t[u+1]].numLiveTriangles,p[t[u+2]].vertexTriangles.push(m),++p[t[u+2]].numLiveTriangles,++m,u+=3;let x=0,b=i+1;o=1;let T=[],C=[],A,S,v=0,D=[],R=a/3,O=[];for(g=0;g<R;g++)O[g]=!1;let M,N;for(;x!==-1;){T=[],S=p[x],N=S.vertexTriangles.length;for(let _=0;_<N;++_)if(m=S.vertexTriangles[_],!O[m]){O[m]=!0,u=m+m+m;for(let E=0;E<3;++E)M=t[u],T.push(M),C.push(M),D[v]=M,++v,A=p[M],--A.numLiveTriangles,b-A.timeStamp>i&&(A.timeStamp=b,++b),++u}x=s(t,i,T,p,b,C,c)}return D};var tO=a6;var Ac={};function cO(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function bDe(e){let t=e.length,n=t/3*6,i=ke.createTypedArray(t,n),o=0;for(let r=0;r<t;r+=3,o+=6)cO(i,o,e[r],e[r+1],e[r+2]);return i}function TDe(e){let t=e.length;if(t>=3){let n=(t-2)*6,i=ke.createTypedArray(t,n);cO(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r<t;++r,o+=6)cO(i,o,e[r-1],e[r],e[r-2]);return i}return new Uint16Array}function CDe(e){if(e.length>0){let t=e.length-1,n=(t-1)*6,i=ke.createTypedArray(t,n),o=e[0],r=0;for(let s=1;s<t;++s,r+=6)cO(i,r,o,e[s],e[s+1]);return i}return new Uint16Array}Ac.toWireframe=function(e){let t=e.indices;if(l(t)){switch(e.primitiveType){case Fe.TRIANGLES:e.indices=bDe(t);break;case Fe.TRIANGLE_STRIP:e.indices=TDe(t);break;case Fe.TRIANGLE_FAN:e.indices=CDe(t);break}e.primitiveType=Fe.LINES}return e};Ac.createLineSegmentsForVectors=function(e,t,n){t=y(t,"normal"),n=y(n,1e4);let i=e.attributes.position.values,o=e.attributes[t].values,r=i.length,s=new Float64Array(2*r),a=0;for(let f=0;f<r;f+=3)s[a++]=i[f],s[a++]=i[f+1],s[a++]=i[f+2],s[a++]=i[f]+o[f]*n,s[a++]=i[f+1]+o[f+1]*n,s[a++]=i[f+2]+o[f+2]*n;let c,u=e.boundingSphere;return l(u)&&(c=new ce(u.center,u.radius+n)),new ft({attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:Fe.LINES,boundingSphere:c})};Ac.createAttributeLocations=function(e){let t=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=e.attributes,i={},o=0,r,s=t.length;for(r=0;r<s;++r){let a=t[r];l(n[a])&&(i[a]=o++)}for(let a in n)n.hasOwnProperty(a)&&!l(i[a])&&(i[a]=o++);return i};Ac.reorderForPreVertexCache=function(e){let t=ft.computeNumberOfVertices(e),n=e.indices;if(l(n)){let i=new Int32Array(t);for(let p=0;p<t;p++)i[p]=-1;let o=n,r=o.length,s=ke.createTypedArray(t,r),a=0,c=0,u=0,f;for(;a<r;)f=i[o[a]],f!==-1?s[c]=f:(f=o[a],i[f]=u,s[c]=u,++u),++a,++c;e.indices=s;let d=e.attributes;for(let p in d)if(d.hasOwnProperty(p)&&l(d[p])&&l(d[p].values)){let g=d[p],m=g.values,x=0,b=g.componentsPerAttribute,T=X.createTypedArray(g.componentDatatype,u*b);for(;x<t;){let C=i[x];if(C!==-1)for(let A=0;A<b;A++)T[b*C+A]=m[b*x+A];++x}g.values=T}}return e};Ac.reorderForPostVertexCache=function(e,t){let n=e.indices;if(e.primitiveType===Fe.TRIANGLES&&l(n)){let i=n.length,o=0;for(let r=0;r<i;r++)n[r]>o&&(o=n[r]);e.indices=tO.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function PJ(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)){let i=e[n];t[n]=new Se({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function ADe(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];for(let r=0;r<o.componentsPerAttribute;++r)e[i].values.push(o.values[n*o.componentsPerAttribute+r])}}Ac.fitToUnsignedShortIndices=function(e){let t=[],n=ft.computeNumberOfVertices(e);if(l(e.indices)&&n>=P.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=PJ(e.attributes),a=e.indices,c=a.length,u;e.primitiveType===Fe.TRIANGLES?u=3:e.primitiveType===Fe.LINES?u=2:e.primitiveType===Fe.POINTS&&(u=1);for(let f=0;f<c;f+=u){for(let d=0;d<u;++d){let p=a[f+d],g=i[p];l(g)||(g=r++,i[p]=g,ADe(s,e.attributes,p)),o.push(g)}r+u>=P.SIXTY_FOUR_KILOBYTES&&(t.push(new ft({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=PJ(e.attributes))}o.length!==0&&t.push(new ft({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var OJ=new h,EDe=new fe;Ac.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=l(o)?o:new Ii;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),u=0;for(let f=0;f<a.length;f+=3){let d=h.fromArray(a,f,OJ),p=s.cartesianToCartographic(d,EDe),g=o.project(p,OJ);c[u++]=g.x,c[u++]=g.y,c[u++]=g.z}return e.attributes[n]=r,e.attributes[i]=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c}),delete e.attributes[t],e};var c6={high:0,low:0};Ac.encodeAttribute=function(e,t,n,i){let o=e.attributes[t],r=o.values,s=r.length,a=new Float32Array(s),c=new Float32Array(s);for(let f=0;f<s;++f)Wn.encode(r[f],c6),a[f]=c6.high,c[f]=c6.low;let u=o.componentsPerAttribute;return e.attributes[n]=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:a}),e.attributes[i]=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:c}),delete e.attributes[t],e};var ld=new h;function l6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,ld),F.multiplyByPoint(e,ld,ld),h.pack(ld,n,o)}}function u6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,ld),$.multiplyByVector(e,ld,ld),ld=h.normalize(ld,ld),h.pack(ld,n,o)}}var nO=new F,iO=new $;Ac.transformToWorldCoordinates=function(e){let t=e.modelMatrix;if(F.equals(t,F.IDENTITY))return e;let n=e.geometry.attributes;l6(t,n.position),l6(t,n.prevPosition),l6(t,n.nextPosition),(l(n.normal)||l(n.tangent)||l(n.bitangent))&&(F.inverse(t,nO),F.transpose(nO,nO),F.getMatrix3(nO,iO),u6(iO,n.normal),u6(iO,n.tangent),u6(iO,n.bitangent));let i=e.geometry.boundingSphere;return l(i)&&(e.geometry.boundingSphere=ce.transform(i,t,i)),e.modelMatrix=F.clone(F.IDENTITY),e};function SDe(e,t){let n=e.length,i={},o=e[0][t].attributes,r;for(r in o)if(o.hasOwnProperty(r)&&l(o[r])&&l(o[r].values)){let s=o[r],a=s.values.length,c=!0;for(let u=1;u<n;++u){let f=e[u][t].attributes[r];if(!l(f)||s.componentDatatype!==f.componentDatatype||s.componentsPerAttribute!==f.componentsPerAttribute||s.normalize!==f.normalize){c=!1;break}a+=f.values.length}c&&(i[r]=new Se({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:X.createTypedArray(s.componentDatatype,a)}))}return i}var vDe=new h;function f6(e,t){let n=e.length,i,o,r,s,a=e[0].modelMatrix,c=l(e[0][t].indices),u=e[0][t].primitiveType,f=SDe(e,t),d,p,g;for(i in f)if(f.hasOwnProperty(i))for(d=f[i].values,s=0,o=0;o<n;++o)for(p=e[o][t].attributes[i].values,g=p.length,r=0;r<g;++r)d[s++]=p[r];let m;if(c){let C=0;for(o=0;o<n;++o)C+=e[o][t].indices.length;let A=ft.computeNumberOfVertices(new ft({attributes:f,primitiveType:Fe.POINTS})),S=ke.createTypedArray(A,C),v=0,D=0;for(o=0;o<n;++o){let R=e[o][t].indices,O=R.length;for(s=0;s<O;++s)S[v++]=D+R[s];D+=ft.computeNumberOfVertices(e[o][t])}m=S}let x=new h,b=0,T;for(o=0;o<n;++o){if(T=e[o][t].boundingSphere,!l(T)){x=void 0;break}h.add(T.center,x,x)}if(l(x))for(h.divideByScalar(x,n,x),o=0;o<n;++o){T=e[o][t].boundingSphere;let C=h.magnitude(h.subtract(T.center,x,vDe))+T.radius;C>b&&(b=C)}return new ft({attributes:f,indices:m,primitiveType:u,boundingSphere:l(x)?new ce(x,b):void 0})}Ac.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let s=e[r];l(s.geometry)?t.push(s):l(s.westHemisphereGeometry)&&l(s.eastHemisphereGeometry)&&n.push(s)}let o=[];return t.length>0&&o.push(f6(t,"geometry")),n.length>0&&(o.push(f6(n,"westHemisphereGeometry")),o.push(f6(n,"eastHemisphereGeometry"))),o};var qu=new h,iv=new h,IT=new h,PT=new h;Ac.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),u;for(u=0;u<o;u++)s[u]={indexOffset:0,count:0,currentCount:0};let f=0;for(u=0;u<r;u+=3){let m=t[u],x=t[u+1],b=t[u+2],T=m*3,C=x*3,A=b*3;iv.x=i[T],iv.y=i[T+1],iv.z=i[T+2],IT.x=i[C],IT.y=i[C+1],IT.z=i[C+2],PT.x=i[A],PT.y=i[A+1],PT.z=i[A+2],s[m].count++,s[x].count++,s[b].count++,h.subtract(IT,iv,IT),h.subtract(PT,iv,PT),a[f]=h.cross(IT,PT,new h),f++}let d=0;for(u=0;u<o;u++)s[u].indexOffset+=d,d+=s[u].count;f=0;let p;for(u=0;u<r;u+=3){p=s[t[u]];let m=p.indexOffset+p.currentCount;c[m]=f,p.currentCount++,p=s[t[u+1]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,p=s[t[u+2]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,f++}let g=new Float32Array(o*3);for(u=0;u<o;u++){let m=u*3;if(p=s[u],h.clone(h.ZERO,qu),p.count>0){for(f=0;f<p.count;f++)h.add(qu,a[c[p.indexOffset+f]],qu);h.equalsEpsilon(h.ZERO,qu,P.EPSILON10)&&h.clone(a[c[p.indexOffset]],qu)}h.equalsEpsilon(h.ZERO,qu,P.EPSILON10)&&(qu.z=1),h.normalize(qu,qu),g[m]=qu.x,g[m+1]=qu.y,g[m+2]=qu.z}return e.attributes.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e};var wDe=new h,RJ=new h,DDe=new h;Ac.computeTangentAndBitangent=function(e){let t=e.attributes,n=e.indices,i=e.attributes.position.values,o=e.attributes.normal.values,r=e.attributes.st.values,s=e.attributes.position.values.length/3,a=n.length,c=new Array(s*3),u;for(u=0;u<c.length;u++)c[u]=0;let f,d,p;for(u=0;u<a;u+=3){let x=n[u],b=n[u+1],T=n[u+2];f=x*3,d=b*3,p=T*3;let C=x*2,A=b*2,S=T*2,v=i[f],D=i[f+1],R=i[f+2],O=r[C],M=r[C+1],N=r[A+1]-M,_=r[S+1]-M,E=1/((r[A]-O)*_-(r[S]-O)*N),w=(_*(i[d]-v)-N*(i[p]-v))*E,I=(_*(i[d+1]-D)-N*(i[p+1]-D))*E,L=(_*(i[d+2]-R)-N*(i[p+2]-R))*E;c[f]+=w,c[f+1]+=I,c[f+2]+=L,c[d]+=w,c[d+1]+=I,c[d+2]+=L,c[p]+=w,c[p+1]+=I,c[p+2]+=L}let g=new Float32Array(s*3),m=new Float32Array(s*3);for(u=0;u<s;u++){f=u*3,d=f+1,p=f+2;let x=h.fromArray(o,f,wDe),b=h.fromArray(c,f,DDe),T=h.dot(x,b);h.multiplyByScalar(x,T,RJ),h.normalize(h.subtract(b,RJ,b),b),g[f]=b.x,g[d]=b.y,g[p]=b.z,h.normalize(h.cross(x,b,b),b),m[f]=b.x,m[d]=b.y,m[p]=b.z}return e.attributes.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e.attributes.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m}),e};var ov=new U,cd=new h,MJ=new h,LJ=new h,oO=new U;Ac.compressVertices=function(e){let t=e.attributes.extrudeDirection,n,i;if(l(t)){let D=t.values;i=D.length/3;let R=new Float32Array(i*2),O=0;for(n=0;n<i;++n){if(h.fromArray(D,n*3,cd),h.equals(cd,h.ZERO)){O+=2;continue}oO=Fn.octEncodeInRange(cd,65535,oO),R[O++]=oO.x,R[O++]=oO.y}return e.attributes.compressedAttributes=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:R}),delete e.attributes.extrudeDirection,e}let o=e.attributes.normal,r=e.attributes.st,s=l(o),a=l(r);if(!s&&!a)return e;let c=e.attributes.tangent,u=e.attributes.bitangent,f=l(c),d=l(u),p,g,m,x;s&&(p=o.values),a&&(g=r.values),f&&(m=c.values),d&&(x=u.values),i=(s?p.length:g.length)/(s?3:2);let C=i,A=a&&s?2:1;A+=f||d?1:0,C*=A;let S=new Float32Array(C),v=0;for(n=0;n<i;++n){a&&(U.fromArray(g,n*2,ov),S[v++]=Fn.compressTextureCoordinates(ov));let D=n*3;s&&l(m)&&l(x)?(h.fromArray(p,D,cd),h.fromArray(m,D,MJ),h.fromArray(x,D,LJ),Fn.octPack(cd,MJ,LJ,ov),S[v++]=ov.x,S[v++]=ov.y):(s&&(h.fromArray(p,D,cd),S[v++]=Fn.octEncodeFloat(cd)),f&&(h.fromArray(m,D,cd),S[v++]=Fn.octEncodeFloat(cd)),d&&(h.fromArray(x,D,cd),S[v++]=Fn.octEncodeFloat(cd)))}return e.attributes.compressedAttributes=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:A,values:S}),s&&delete e.attributes.normal,a&&delete e.attributes.st,d&&delete e.attributes.bitangent,f&&delete e.attributes.tangent,e};function IDe(e){if(l(e.indices))return e;let t=ft.computeNumberOfVertices(e),n=ke.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function PDe(e){let t=ft.computeNumberOfVertices(e),n=ke.createTypedArray(t,(t-2)*3);n[0]=1,n[1]=0,n[2]=2;let i=3;for(let o=3;o<t;++o)n[i++]=o-1,n[i++]=0,n[i++]=o;return e.indices=n,e.primitiveType=Fe.TRIANGLES,e}function ODe(e){let t=ft.computeNumberOfVertices(e),n=ke.createTypedArray(t,(t-2)*3);n[0]=0,n[1]=1,n[2]=2,t>3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;o<t-1;o+=2)n[i++]=o,n[i++]=o-1,n[i++]=o+1,o+2<t&&(n[i++]=o,n[i++]=o+1,n[i++]=o+2);return e.indices=n,e.primitiveType=Fe.TRIANGLES,e}function RDe(e){if(l(e.indices))return e;let t=ft.computeNumberOfVertices(e),n=ke.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function MDe(e){let t=ft.computeNumberOfVertices(e),n=ke.createTypedArray(t,(t-1)*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return e.indices=n,e.primitiveType=Fe.LINES,e}function LDe(e){let t=ft.computeNumberOfVertices(e),n=ke.createTypedArray(t,t*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return n[i++]=t-1,n[i]=0,e.indices=n,e.primitiveType=Fe.LINES,e}function NDe(e){switch(e.primitiveType){case Fe.TRIANGLE_FAN:return PDe(e);case Fe.TRIANGLE_STRIP:return ODe(e);case Fe.TRIANGLES:return IDe(e);case Fe.LINE_STRIP:return MDe(e);case Fe.LINE_LOOP:return LDe(e);case Fe.LINES:return RDe(e)}return e}function H_(e,t){Math.abs(e.y)<P.EPSILON6&&(t?e.y=-P.EPSILON6:e.y=P.EPSILON6)}function FDe(e,t,n){if(e.y!==0&&t.y!==0&&n.y!==0){H_(e,e.y<0),H_(t,t.y<0),H_(n,n.y<0);return}let i=Math.abs(e.y),o=Math.abs(t.y),r=Math.abs(n.y),s;i>o?i>r?s=P.sign(e.y):s=P.sign(n.y):o>r?s=P.sign(t.y):s=P.sign(n.y);let a=s<0;H_(e,a),H_(t,a),H_(n,a)}var NJ=new h;function Yu(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,NJ),e.y/(e.y-t.y),NJ),n),h.clone(n,i),H_(n,!0),H_(i,!1)}var V0=new h,U0=new h,z0=new h,H0=new h,d6={positions:new Array(7),indices:new Array(3*3)};function BDe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;FDe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=d6.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(Yu(e,t,V0,z0),Yu(e,n,U0,H0),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(Yu(t,n,V0,z0),Yu(t,e,U0,H0),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(Yu(n,e,V0,z0),Yu(n,t,U0,H0),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(Yu(n,e,V0,z0),Yu(n,t,U0,H0),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(Yu(t,n,V0,z0),Yu(t,e,U0,H0),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(Yu(e,t,V0,z0),Yu(e,n,U0,H0),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=d6.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=V0,c[4]=U0,c[5]=z0,c[6]=H0,c.length=7),d6}function FJ(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&l(n[o])&&l(n[o].values)){let r=n[o];r.values=X.createTypedArray(r.componentDatatype,r.values)}let i=ft.computeNumberOfVertices(e);return e.indices=ke.createTypedArray(i,e.indices),t&&(e.boundingSphere=ce.fromVertices(n.position.values)),e}function RT(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];n[i]=new Se({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new ft({attributes:n,indices:[],primitiveType:e.primitiveType})}function _6(e,t,n){let i=l(e.geometry.boundingSphere);t=FJ(t,i),n=FJ(n,i),l(n)&&!l(t)?e.geometry=n:!l(n)&&l(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function g6(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,u,f,d,p){let g=e.fromArray(u,r*t,n),m=e.fromArray(u,s*t,i),x=e.fromArray(u,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(m,c.y,m),e.multiplyByScalar(x,c.z,x);let b=e.add(g,m,g);e.add(b,x,b),p&&e.normalize(b,b),e.pack(b,f,d*t)}}var kDe=g6(oe,4),aO=g6(h,3),HJ=g6(U,2),VDe=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,u=o[n]*i.z;r[s]=a+c+u>P.EPSILON6?1:0},rv=new h,h6=new h,m6=new h,UDe=new h;function rO(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){if(!l(r)&&!l(s)&&!l(a)&&!l(c)&&!l(u)&&g===0)return;let b=h.fromArray(o,e*3,rv),T=h.fromArray(o,t*3,h6),C=h.fromArray(o,n*3,m6),A=wT(i,b,T,C,UDe);if(l(A)){if(l(r)&&aO(e,t,n,A,r,d.normal.values,x,!0),l(u)){let S=h.fromArray(u,e*3,rv),v=h.fromArray(u,t*3,h6),D=h.fromArray(u,n*3,m6);h.multiplyByScalar(S,A.x,S),h.multiplyByScalar(v,A.y,v),h.multiplyByScalar(D,A.z,D);let R;!h.equals(S,h.ZERO)||!h.equals(v,h.ZERO)||!h.equals(D,h.ZERO)?(R=h.add(S,v,S),h.add(R,D,R),h.normalize(R,R)):(R=rv,R.x=0,R.y=0,R.z=0),h.pack(R,d.extrudeDirection.values,x*3)}if(l(f)&&VDe(e,t,n,A,f,d.applyOffset.values,x),l(s)&&aO(e,t,n,A,s,d.tangent.values,x,!0),l(a)&&aO(e,t,n,A,a,d.bitangent.values,x,!0),l(c)&&HJ(e,t,n,A,c,d.st.values,x),g>0)for(let S=0;S<g;S++){let v=p[S];zDe(e,t,n,A,x,m[v],d[v])}}}function zDe(e,t,n,i,o,r,s){let a=r.componentsPerAttribute,c=r.values,u=s.values;switch(a){case 4:kDe(e,t,n,i,c,u,o,!1);break;case 3:aO(e,t,n,i,c,u,o,!1);break;case 2:HJ(e,t,n,i,c,u,o,!1);break;default:u[o]=c[e]*i.x+c[t]*i.y+c[n]*i.z}}function wh(e,t,n,i,o,r){let s=e.position.values.length/3;if(o!==-1){let a=i[o],c=n[a];return c===-1?(n[a]=s,e.position.values.push(r.x,r.y,r.z),t.push(s),s):(t.push(c),c)}return e.position.values.push(r.x,r.y,r.z),t.push(s),s}var HDe={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function BJ(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.normal)?n.normal.values:void 0,r=l(n.bitangent)?n.bitangent.values:void 0,s=l(n.tangent)?n.tangent.values:void 0,a=l(n.st)?n.st.values:void 0,c=l(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=l(n.applyOffset)?n.applyOffset.values:void 0,f=t.indices,d=[];for(let R in n)n.hasOwnProperty(R)&&!HDe[R]&&l(n[R])&&d.push(R);let p=d.length,g=RT(t),m=RT(t),x,b,T,C,A,S=[];S.length=i.length/3;let v=[];for(v.length=i.length/3,A=0;A<S.length;++A)S[A]=-1,v[A]=-1;let D=f.length;for(A=0;A<D;A+=3){let R=f[A],O=f[A+1],M=f[A+2],N=h.fromArray(i,R*3),_=h.fromArray(i,O*3),E=h.fromArray(i,M*3),w=BDe(N,_,E);if(l(w)&&w.positions.length>3){let I=w.positions,L=w.indices,B=L.length;for(let H=0;H<B;++H){let V=L[H],G=I[V];G.y<0?(x=m.attributes,b=m.indices,T=S):(x=g.attributes,b=g.indices,T=v),C=wh(x,b,T,f,V<3?A+V:-1,G),rO(R,O,M,G,i,o,s,r,a,c,u,x,d,p,n,C)}}else l(w)&&(N=w.positions[0],_=w.positions[1],E=w.positions[2]),N.y<0?(x=m.attributes,b=m.indices,T=S):(x=g.attributes,b=g.indices,T=v),C=wh(x,b,T,f,A,N),rO(R,O,M,N,i,o,s,r,a,c,u,x,d,p,n,C),C=wh(x,b,T,f,A+1,_),rO(R,O,M,_,i,o,s,r,a,c,u,x,d,p,n,C),C=wh(x,b,T,f,A+2,E),rO(R,O,M,E,i,o,s,r,a,c,u,x,d,p,n,C)}_6(e,m,g)}var GJ=ln.fromPointNormal(h.ZERO,h.UNIT_Y),GDe=new h,WDe=new h;function OT(e,t,n,i,o,r,s){if(!l(s))return;let a=h.fromArray(i,e*3,rv);h.equalsEpsilon(a,n,P.EPSILON10)?r.applyOffset.values[o]=s[e]:r.applyOffset.values[o]=s[t]}function kJ(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.applyOffset)?n.applyOffset.values:void 0,r=t.indices,s=RT(t),a=RT(t),c,u=r.length,f=[];f.length=i.length/3;let d=[];for(d.length=i.length/3,c=0;c<f.length;++c)f[c]=-1,d[c]=-1;for(c=0;c<u;c+=2){let p=r[c],g=r[c+1],m=h.fromArray(i,p*3,rv),x=h.fromArray(i,g*3,h6),b;Math.abs(m.y)<P.EPSILON6&&(m.y<0?m.y=-P.EPSILON6:m.y=P.EPSILON6),Math.abs(x.y)<P.EPSILON6&&(x.y<0?x.y=-P.EPSILON6:x.y=P.EPSILON6);let T=s.attributes,C=s.indices,A=d,S=a.attributes,v=a.indices,D=f,R=ti.lineSegmentPlane(m,x,GJ,m6);if(l(R)){let O=h.multiplyByScalar(h.UNIT_Y,5*P.EPSILON9,GDe);m.y<0&&(h.negate(O,O),T=a.attributes,C=a.indices,A=f,S=s.attributes,v=s.indices,D=d);let M=h.add(R,O,WDe);b=wh(T,C,A,r,c,m),OT(p,g,m,i,b,T,o),b=wh(T,C,A,r,-1,M),OT(p,g,M,i,b,T,o),h.negate(O,O),h.add(R,O,M),b=wh(S,v,D,r,-1,M),OT(p,g,M,i,b,S,o),b=wh(S,v,D,r,c+1,x),OT(p,g,x,i,b,S,o)}else{let O,M,N;m.y<0?(O=a.attributes,M=a.indices,N=f):(O=s.attributes,M=s.indices,N=d),b=wh(O,M,N,r,c,m),OT(p,g,m,i,b,O,o),b=wh(O,M,N,r,c+1,x),OT(p,g,x,i,b,O,o)}}_6(e,a,s)}var VJ=new U,jDe=new U,WJ=new h,jJ=new h,p6=new h,qDe=new h,YDe=new h,XDe=new h,UJ=new oe;function zJ(e){let t=e.attributes,n=t.position.values,i=t.prevPosition.values,o=t.nextPosition.values,r=n.length;for(let s=0;s<r;s+=3){let a=h.unpack(n,s,WJ);if(a.x>0)continue;let c=h.unpack(i,s,jJ);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let u=h.unpack(o,s,p6);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(s+3<r?(o[s]=n[s+3],o[s+1]=n[s+4],o[s+2]=n[s+5]):h.pack(a,o,s))}}var KDe=5*P.EPSILON9,sO=P.EPSILON6;function ZDe(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=n.prevPosition.values,r=n.nextPosition.values,s=n.expandAndWidth.values,a=l(n.st)?n.st.values:void 0,c=l(n.color)?n.color.values:void 0,u=RT(t),f=RT(t),d,p,g,m=!1,x=i.length/3;for(d=0;d<x;d+=4){let b=d,T=d+2,C=h.fromArray(i,b*3,WJ),A=h.fromArray(i,T*3,jJ);if(Math.abs(C.y)<sO)for(C.y=sO*(A.y<0?-1:1),i[d*3+1]=C.y,i[(d+1)*3+1]=C.y,p=b*3;p<b*3+4*3;p+=3)o[p]=i[d*3],o[p+1]=i[d*3+1],o[p+2]=i[d*3+2];if(Math.abs(A.y)<sO)for(A.y=sO*(C.y<0?-1:1),i[(d+2)*3+1]=A.y,i[(d+3)*3+1]=A.y,p=b*3;p<b*3+4*3;p+=3)r[p]=i[(d+2)*3],r[p+1]=i[(d+2)*3+1],r[p+2]=i[(d+2)*3+2];let S=u.attributes,v=u.indices,D=f.attributes,R=f.indices,O=ti.lineSegmentPlane(C,A,GJ,qDe);if(l(O)){m=!0;let M=h.multiplyByScalar(h.UNIT_Y,KDe,YDe);C.y<0&&(h.negate(M,M),S=f.attributes,v=f.indices,D=u.attributes,R=u.indices);let N=h.add(O,M,XDe);S.position.values.push(C.x,C.y,C.z,C.x,C.y,C.z),S.position.values.push(N.x,N.y,N.z),S.position.values.push(N.x,N.y,N.z),S.prevPosition.values.push(o[b*3],o[b*3+1],o[b*3+2]),S.prevPosition.values.push(o[b*3+3],o[b*3+4],o[b*3+5]),S.prevPosition.values.push(C.x,C.y,C.z,C.x,C.y,C.z),S.nextPosition.values.push(N.x,N.y,N.z),S.nextPosition.values.push(N.x,N.y,N.z),S.nextPosition.values.push(N.x,N.y,N.z),S.nextPosition.values.push(N.x,N.y,N.z),h.negate(M,M),h.add(O,M,N),D.position.values.push(N.x,N.y,N.z),D.position.values.push(N.x,N.y,N.z),D.position.values.push(A.x,A.y,A.z,A.x,A.y,A.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.prevPosition.values.push(N.x,N.y,N.z),D.nextPosition.values.push(A.x,A.y,A.z,A.x,A.y,A.z),D.nextPosition.values.push(r[T*3],r[T*3+1],r[T*3+2]),D.nextPosition.values.push(r[T*3+3],r[T*3+4],r[T*3+5]);let _=U.fromArray(s,b*2,VJ),E=Math.abs(_.y);S.expandAndWidth.values.push(-1,E,1,E),S.expandAndWidth.values.push(-1,-E,1,-E),D.expandAndWidth.values.push(-1,E,1,E),D.expandAndWidth.values.push(-1,-E,1,-E);let w=h.magnitudeSquared(h.subtract(O,C,p6));if(w/=h.magnitudeSquared(h.subtract(A,C,p6)),l(c)){let I=oe.fromArray(c,b*4,UJ),L=oe.fromArray(c,T*4,UJ),B=P.lerp(I.x,L.x,w),H=P.lerp(I.y,L.y,w),V=P.lerp(I.z,L.z,w),G=P.lerp(I.w,L.w,w);for(p=b*4;p<b*4+2*4;++p)S.color.values.push(c[p]);for(S.color.values.push(B,H,V,G),S.color.values.push(B,H,V,G),D.color.values.push(B,H,V,G),D.color.values.push(B,H,V,G),p=T*4;p<T*4+2*4;++p)D.color.values.push(c[p])}if(l(a)){let I=U.fromArray(a,b*2,VJ),L=U.fromArray(a,(d+3)*2,jDe),B=P.lerp(I.x,L.x,w);for(p=b*2;p<b*2+2*2;++p)S.st.values.push(a[p]);for(S.st.values.push(B,I.y),S.st.values.push(B,L.y),D.st.values.push(B,I.y),D.st.values.push(B,L.y),p=T*2;p<T*2+2*2;++p)D.st.values.push(a[p])}g=S.position.values.length/3-4,v.push(g,g+2,g+1),v.push(g+1,g+2,g+3),g=D.position.values.length/3-4,R.push(g,g+2,g+1),R.push(g+1,g+2,g+3)}else{let M,N;for(C.y<0?(M=f.attributes,N=f.indices):(M=u.attributes,N=u.indices),M.position.values.push(C.x,C.y,C.z),M.position.values.push(C.x,C.y,C.z),M.position.values.push(A.x,A.y,A.z),M.position.values.push(A.x,A.y,A.z),p=d*3;p<d*3+4*3;++p)M.prevPosition.values.push(o[p]),M.nextPosition.values.push(r[p]);for(p=d*2;p<d*2+4*2;++p)M.expandAndWidth.values.push(s[p]),l(a)&&M.st.values.push(a[p]);if(l(c))for(p=d*4;p<d*4+4*4;++p)M.color.values.push(c[p]);g=M.position.values.length/3-4,N.push(g,g+2,g+1),N.push(g+1,g+2,g+3)}}m&&(zJ(f),zJ(u)),_6(e,f,u)}Ac.splitLongitude=function(e){let t=e.geometry,n=t.boundingSphere;if(l(n)&&(n.center.x-n.radius>0||ce.intersectPlane(n,ln.ORIGIN_ZX_PLANE)!==jt.INTERSECTING))return e;if(t.geometryType!==sd.NONE)switch(t.geometryType){case sd.POLYLINES:ZDe(e);break;case sd.TRIANGLES:BJ(e);break;case sd.LINES:kJ(e);break}else NDe(t),t.primitiveType===Fe.TRIANGLES?BJ(e):t.primitiveType===Fe.LINES&&kJ(e);return e};var Bn=Ac;function sv(e,t,n,i,o,r,s,a,c,u,f){this._context=e,this._texture=t,this._textureTarget=n,this._targetFace=i,this._pixelDatatype=s,this._internalFormat=o,this._pixelFormat=r,this._size=a,this._preMultiplyAlpha=c,this._flipY=u,this._initialized=f}Object.defineProperties(sv.prototype,{pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},_target:{get:function(){return this._targetFace}}});sv.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,{width:r,height:s}=i,a=this._context._gl,c=this._textureTarget,u=this._targetFace;a.activeTexture(a.TEXTURE0),a.bindTexture(c,this._texture);let f=i.arrayBufferView,d=this._size,p=this._pixelFormat,g=this._internalFormat,m=this._pixelDatatype,x=this._preMultiplyAlpha,b=this._flipY,T=4;l(f)&&(T=ot.alignmentInBytes(p,m,r)),a.pixelStorei(a.UNPACK_ALIGNMENT,T),o?a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.NONE):a.pixelStorei(a.UNPACK_COLORSPACE_CONVERSION_WEBGL,a.BROWSER_DEFAULT_WEBGL);let C=!1;if(!this._initialized){let A;t===0&&n===0&&r===d&&s===d?(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=ot.flipY(f,p,m,d,d)),A=f):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),A=i),C=!0):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),A=ot.createTypedArray(p,m,d,d)),a.texImage2D(u,0,g,d,d,0,p,Ze.toWebGLConstant(m,this._context),A),this._initialized=!0}C||(l(f)?(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),b&&(f=ot.flipY(f,p,m,r,s)),a.texSubImage2D(u,0,t,n,r,s,p,Ze.toWebGLConstant(m,this._context),f)):(a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,x),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,b),a.texSubImage2D(u,0,t,n,p,Ze.toWebGLConstant(m,this._context),i))),a.bindTexture(c,null)};sv.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._size),r=y(r,this._size);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(this._targetFace,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};sv.prototype.copyMipmapFromFramebuffer=function(e,t,n,i,o){e=y(e,0),t=y(t,0),n=y(n,this._size),i=y(i,this._size),o=y(o,0);let r=this._context._gl,s=this._textureTarget;r.activeTexture(r.TEXTURE0),r.bindTexture(s,this._texture),r.copyTexImage2D(this._targetFace,o,this._internalFormat,e,t,n,i,0),r.bindTexture(s,null),this._initialized=!0};var lO=sv;var uO={DONT_CARE:te.DONT_CARE,FASTEST:te.FASTEST,NICEST:te.NICEST,validate:function(e){return e===uO.DONT_CARE||e===uO.FASTEST||e===uO.NICEST}},lp=Object.freeze(uO);var fO={NEAREST:te.NEAREST,LINEAR:te.LINEAR};fO.validate=function(e){return e===fO.NEAREST||e===fO.LINEAR};var pi=Object.freeze(fO);var G_={NEAREST:te.NEAREST,LINEAR:te.LINEAR,NEAREST_MIPMAP_NEAREST:te.NEAREST_MIPMAP_NEAREST,LINEAR_MIPMAP_NEAREST:te.LINEAR_MIPMAP_NEAREST,NEAREST_MIPMAP_LINEAR:te.NEAREST_MIPMAP_LINEAR,LINEAR_MIPMAP_LINEAR:te.LINEAR_MIPMAP_LINEAR};G_.validate=function(e){return e===G_.NEAREST||e===G_.LINEAR||e===G_.NEAREST_MIPMAP_NEAREST||e===G_.LINEAR_MIPMAP_NEAREST||e===G_.NEAREST_MIPMAP_LINEAR||e===G_.LINEAR_MIPMAP_LINEAR};var Zt=Object.freeze(G_);var dO={CLAMP_TO_EDGE:te.CLAMP_TO_EDGE,REPEAT:te.REPEAT,MIRRORED_REPEAT:te.MIRRORED_REPEAT,validate:function(e){return e===dO.CLAMP_TO_EDGE||e===dO.REPEAT||e===dO.MIRRORED_REPEAT}},Sn=Object.freeze(dO);function av(e){e=y(e,y.EMPTY_OBJECT);let{wrapS:t=Sn.CLAMP_TO_EDGE,wrapT:n=Sn.CLAMP_TO_EDGE,minificationFilter:i=Zt.LINEAR,magnificationFilter:o=pi.LINEAR,maximumAnisotropy:r=1}=e;this._wrapS=t,this._wrapT=n,this._minificationFilter=i,this._magnificationFilter=o,this._maximumAnisotropy=r}Object.defineProperties(av.prototype,{wrapS:{get:function(){return this._wrapS}},wrapT:{get:function(){return this._wrapT}},minificationFilter:{get:function(){return this._minificationFilter}},magnificationFilter:{get:function(){return this._magnificationFilter}},maximumAnisotropy:{get:function(){return this._maximumAnisotropy}}});av.equals=function(e,t){return e===t||l(e)&&l(t)&&e._wrapS===t._wrapS&&e._wrapT===t._wrapT&&e._minificationFilter===t._minificationFilter&&e._magnificationFilter===t._magnificationFilter&&e._maximumAnisotropy===t._maximumAnisotropy};av.NEAREST=Object.freeze(new av({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.NEAREST,magnificationFilter:pi.NEAREST}));var $t=av;function $De(e,t,n,i){let o=l(t.vertexBuffer),r=l(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,X.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let u=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(u,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(u),this.instanceDivisor>0&&(i.glVertexAttribDivisor(u,this.instanceDivisor),i._vertexAttribDivisors[u]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function YJ(e,t,n){for(let i=0;i<t.length;++i){let o=t[i];o.enabled&&o.vertexAttrib(e)}l(n)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n._getBuffer())}function up(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=e.attributes,o=e.indexBuffer,r,s=[],a=1,c=!1,u=!1,f=i.length;for(r=0;r<f;++r)$De(s,i[r],r,t);for(f=s.length,r=0;r<f;++r){let p=s[r];if(l(p.vertexBuffer)&&p.instanceDivisor===0){let g=p.strideInBytes||p.componentsPerAttribute*X.getSizeInBytes(p.componentDatatype);a=p.vertexBuffer.sizeInBytes/g;break}}for(r=0;r<f;++r)s[r].instanceDivisor>0&&(c=!0),l(s[r].value)&&(u=!0);let d;t.vertexArrayObject&&(d=t.glCreateVertexArray(),t.glBindVertexArray(d),YJ(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=u,this._context=t,this._gl=n,this._vao=d,this._attributes=s,this._indexBuffer=o}function qJ(e){return e.values.length/e.componentsPerAttribute}function QDe(e){return X.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function JDe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)&&(o.push(n),e[n].componentDatatype===X.DOUBLE&&(e[n].componentDatatype=X.FLOAT,e[n].values=X.createTypedArray(X.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=qJ(e[o[0]]),t=1;t<s;++t){let u=qJ(e[o[t]]);if(u!==r)throw new se(`Each attribute list must have the same number of vertices. Attribute ${o[t]} has a different number of vertices (${u.toString()}) than attribute ${o[0]} (${r.toString()}).`)}o.sort(function(u,f){return X.getSizeInBytes(e[f].componentDatatype)-X.getSizeInBytes(e[u].componentDatatype)});let a=0,c={};for(t=0;t<s;++t)n=o[t],i=e[n],c[n]=a,a+=QDe(i);if(a>0){let u=X.getSizeInBytes(e[o[0]].componentDatatype),f=a%u;f!==0&&(a+=u-f);let d=r*a,p=new ArrayBuffer(d),g={};for(t=0;t<s;++t){n=o[t];let m=X.getSizeInBytes(e[n].componentDatatype);g[n]={pointer:X.createTypedArray(e[n].componentDatatype,p),index:c[n]/m,strideInComponentType:a/m}}for(t=0;t<r;++t)for(let m=0;m<s;++m){n=o[m],i=e[n];let x=i.values,b=g[n],T=b.pointer,C=i.componentsPerAttribute;for(let A=0;A<C;++A)T[b.index+A]=x[t*C+A];b.index+=b.strideInComponentType}return{buffer:p,offsetsInBytes:c,vertexSizeInBytes:a}}}up.fromGeometry=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=y(e.geometry,y.EMPTY_OBJECT),i=y(e.bufferUsage,Ue.DYNAMIC_DRAW),o=y(e.attributeLocations,y.EMPTY_OBJECT),r=y(e.interleave,!1),s=e.vertexArrayAttributes,a,c,u,f=l(s)?s:[],d=n.attributes;if(r){let m=JDe(d);if(l(m)){u=bt.createVertexBuffer({context:t,typedArray:m.buffer,usage:i});let x=m.offsetsInBytes,b=m.vertexSizeInBytes;for(a in d)d.hasOwnProperty(a)&&l(d[a])&&(c=d[a],l(c.values)?f.push({index:o[a],vertexBuffer:u,componentDatatype:c.componentDatatype,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize,offsetInBytes:x[a],strideInBytes:b}):f.push({index:o[a],value:c.value,componentDatatype:c.componentDatatype,normalize:c.normalize}))}}else for(a in d)if(d.hasOwnProperty(a)&&l(d[a])){c=d[a];let m=c.componentDatatype;m===X.DOUBLE&&(m=X.FLOAT),u=void 0,l(c.values)&&(u=bt.createVertexBuffer({context:t,typedArray:X.createTypedArray(m,c.values),usage:i})),f.push({index:o[a],vertexBuffer:u,value:c.value,componentDatatype:m,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize})}let p,g=n.indices;return l(g)&&(ft.computeNumberOfVertices(n)>=P.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=bt.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:ke.UNSIGNED_INT}):p=bt.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:ke.UNSIGNED_SHORT})),new up({context:t,attributes:f,indexBuffer:p})};Object.defineProperties(up.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});up.prototype.getAttribute=function(e){return this._attributes[e]};function eIe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=Bt.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s<a;++s){let c=o[s];if(c.enabled){let u=c.instanceDivisor,f=c.index;u!==i[f]&&(t.glVertexAttribDivisor(f,u),i[f]=u)}}}else for(s=0;s<r;++s)i[s]>0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function tIe(e,t){let n=e._attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];r.enabled&&l(r.value)&&r.vertexAttrib(t)}}up.prototype._bind=function(){l(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&eIe(this),this._hasConstantAttributes&&tIe(this,this._gl)):YJ(this._gl,this._attributes,this._indexBuffer)};up.prototype._unBind=function(){if(l(this._vao))this._context.glBindVertexArray(null);else{let e=this._attributes,t=this._gl;for(let n=0;n<e.length;++n){let i=e[n];i.enabled&&i.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}};up.prototype.isDestroyed=function(){return!1};up.prototype.destroy=function(){let e=this._attributes;for(let n=0;n<e.length;++n){let i=e[n].vertexBuffer;l(i)&&!i.isDestroyed()&&i.vertexArrayDestroyable&&i.destroy()}let t=this._indexBuffer;return l(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy(),l(this._vao)&&this._context.glDeleteVertexArray(this._vao),ue(this)};var si=up;function qo(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=ot.RGBA,pixelDatatype:o=Ze.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new $t}=e,c=e.preMultiplyAlpha||i===ot.RGB||i===ot.LUMINANCE,{width:u,height:f}=e;l(n)&&({width:u,height:f}=n.positiveX);let d=u,p=ot.textureSizeInBytes(i,o,d,d)*6,g=ot.toInternalFormat(i,o,t),m=t._gl,x=m.TEXTURE_CUBE_MAP,b=m.createTexture();this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=x,this._texture=b,this._pixelFormat=i,this._pixelDatatype=o,this._size=d,this._hasMipmap=!1,this._sizeInBytes=p,this._preMultiplyAlpha=c,this._flipY=r;let T=l(n);function C(A){return new lO(t,b,x,A,g,i,o,d,c,r,T)}this._positiveX=C(m.TEXTURE_CUBE_MAP_POSITIVE_X),this._negativeX=C(m.TEXTURE_CUBE_MAP_NEGATIVE_X),this._positiveY=C(m.TEXTURE_CUBE_MAP_POSITIVE_Y),this._negativeY=C(m.TEXTURE_CUBE_MAP_NEGATIVE_Y),this._positiveZ=C(m.TEXTURE_CUBE_MAP_POSITIVE_Z),this._negativeZ=C(m.TEXTURE_CUBE_MAP_NEGATIVE_Z),this._sampler=a,XJ(this,a),m.activeTexture(m.TEXTURE0),m.bindTexture(x,b),s?m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.NONE):m.pixelStorei(m.UNPACK_COLORSPACE_CONVERSION_WEBGL,m.BROWSER_DEFAULT_WEBGL);for(let A of qo.faceNames())y6(this[A],n?.[A],0);m.bindTexture(x,null)}qo.prototype.copyFace=function(e,t,n,i){let o=e.context,r=new Gr({context:o,colorTextures:[t],destroyAttachments:!1});r._bind(),this[n].copyMipmapFromFramebuffer(0,0,t.width,t.height,y(i,0)),r._unBind(),r.destroy()};qo.FaceName=Object.freeze({POSITIVEX:"positiveX",NEGATIVEX:"negativeX",POSITIVEY:"positiveY",NEGATIVEY:"negativeY",POSITIVEZ:"positiveZ",NEGATIVEZ:"negativeZ"});function*nIe(){yield qo.FaceName.POSITIVEX,yield qo.FaceName.NEGATIVEX,yield qo.FaceName.POSITIVEY,yield qo.FaceName.NEGATIVEY,yield qo.FaceName.POSITIVEZ,yield qo.FaceName.NEGATIVEZ}qo.faceNames=function(){return nIe()};function y6(e,t,n){n=y(n,0);let i=e._targetFace,o=Math.max(Math.floor(e._size/2**n),1),r=e._pixelFormat,s=e._pixelDatatype,a=e._internalFormat,c=e._flipY,u=e._preMultiplyAlpha,f=e._context,d=f._gl;if(!l(t)){d.texImage2D(i,n,a,o,o,0,r,Ze.toWebGLConstant(s,f),null);return}let{arrayBufferView:p}=t,g=4;l(p)&&(g=ot.alignmentInBytes(r,s,o)),d.pixelStorei(d.UNPACK_ALIGNMENT,g),l(p)?(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,!1),c&&(p=ot.flipY(p,r,s,o,o)),d.texImage2D(i,n,a,o,o,0,r,Ze.toWebGLConstant(s,f),p)):(d.pixelStorei(d.UNPACK_PREMULTIPLY_ALPHA_WEBGL,u),d.pixelStorei(d.UNPACK_FLIP_Y_WEBGL,c),d.texImage2D(i,n,a,r,Ze.toWebGLConstant(s,f),t))}qo.loadFace=y6;Object.defineProperties(qo.prototype,{positiveX:{get:function(){return this._positiveX}},negativeX:{get:function(){return this._negativeX}},positiveY:{get:function(){return this._positiveY}},negativeY:{get:function(){return this._negativeY}},positiveZ:{get:function(){return this._positiveZ}},negativeZ:{get:function(){return this._negativeZ}},sampler:{get:function(){return this._sampler},set:function(e){XJ(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},width:{get:function(){return this._size}},height:{get:function(){return this._size}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},_target:{get:function(){return this._textureTarget}}});qo.getDirection=function(e,t){switch(e){case qo.FaceName.POSITIVEX:return h.clone(h.UNIT_X,t);case qo.FaceName.NEGATIVEX:return h.negate(h.UNIT_X,t);case qo.FaceName.POSITIVEY:return h.clone(h.UNIT_Y,t);case qo.FaceName.NEGATIVEY:return h.negate(h.UNIT_Y,t);case qo.FaceName.POSITIVEZ:return h.clone(h.UNIT_Z,t);case qo.FaceName.NEGATIVEZ:return h.negate(h.UNIT_Z,t)}};function XJ(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[Zt.NEAREST_MIPMAP_NEAREST,Zt.NEAREST_MIPMAP_LINEAR,Zt.LINEAR_MIPMAP_NEAREST,Zt.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelDatatype;(s===Ze.FLOAT&&!r.textureFloatLinear||s===Ze.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?Zt.NEAREST_MIPMAP_NEAREST:Zt.NEAREST,i=pi.NEAREST);let a=r._gl,c=e._textureTarget;a.activeTexture(a.TEXTURE0),a.bindTexture(c,e._texture),a.texParameteri(c,a.TEXTURE_MIN_FILTER,n),a.texParameteri(c,a.TEXTURE_MAG_FILTER,i),a.texParameteri(c,a.TEXTURE_WRAP_S,t.wrapS),a.texParameteri(c,a.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&a.texParameteri(c,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),a.bindTexture(c,null)}qo.prototype.loadMipmaps=function(e,t){t=y(t,!1);let n=this._context._gl,i=this._texture,o=this._textureTarget;n.activeTexture(n.TEXTURE0),n.bindTexture(o,i),t?n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.NONE):n.pixelStorei(n.UNPACK_COLORSPACE_CONVERSION_WEBGL,n.BROWSER_DEFAULT_WEBGL);for(let r=0;r<e.length;r++){let s=e[r],a=r+1;for(let c of qo.faceNames())y6(this[c],s[c],a)}n.bindTexture(o,null),this._hasMipmap=!0};qo.prototype.generateMipmap=function(e){e=y(e,lp.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};qo.createVertexArray=function(e){let t=Ka.createGeometry(Ka.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Pe.POSITION_ONLY})),n=this._attributeLocations=Bn.createAttributeLocations(t);return si.fromGeometry({context:e,geometry:t,attributeLocations:n,bufferUsage:Ue.STATIC_DRAW})};qo.prototype.isDestroyed=function(){return!1};qo.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),this._positiveX=ue(this._positiveX),this._negativeX=ue(this._negativeX),this._positiveY=ue(this._positiveY),this._negativeY=ue(this._negativeY),this._positiveZ=ue(this._positiveZ),this._negativeZ=ue(this._negativeZ),ue(this)};var Ir=qo;function iIe(e){this.context=e,this.framebuffer=void 0,this.blendingEnabled=void 0,this.scissorTest=void 0,this.viewport=void 0}var Ec=iIe;var hO=`/** * A built-in GLSL floating-point constant for converting radians to degrees. * * @alias czm_degreesPerRadian @@ -111,7 +111,7 @@ ${m}`)}}function Uwe(e,t,n){let i={};for(let o=0;o<n;++o){let r=e.getActiveAttri * float deg = czm_degreesPerRadian * rad; */ const float czm_degreesPerRadian = 57.29577951308232; -`;var J1=`/** +`;var mO=`/** * A built-in GLSL vec2 constant for defining the depth range. * This is a workaround to a bug where IE11 does not implement gl_DepthRange. * @@ -125,63 +125,63 @@ const float czm_degreesPerRadian = 57.29577951308232; * */ const czm_depthRangeStruct czm_depthRange = czm_depthRangeStruct(0.0, 1.0); -`;var eR=`/** +`;var pO=`/** * 0.1 * * @name czm_epsilon1 * @glslConstant */ const float czm_epsilon1 = 0.1; -`;var tR=`/** +`;var _O=`/** * 0.01 * * @name czm_epsilon2 * @glslConstant */ const float czm_epsilon2 = 0.01; -`;var nR=`/** +`;var gO=`/** * 0.001 * * @name czm_epsilon3 * @glslConstant */ const float czm_epsilon3 = 0.001; -`;var iR=`/** +`;var yO=`/** * 0.0001 * * @name czm_epsilon4 * @glslConstant */ const float czm_epsilon4 = 0.0001; -`;var oR=`/** +`;var xO=`/** * 0.00001 * * @name czm_epsilon5 * @glslConstant */ const float czm_epsilon5 = 0.00001; -`;var rR=`/** +`;var bO=`/** * 0.000001 * * @name czm_epsilon6 * @glslConstant */ const float czm_epsilon6 = 0.000001; -`;var sR=`/** +`;var TO=`/** * 0.0000001 * * @name czm_epsilon7 * @glslConstant */ const float czm_epsilon7 = 0.0000001; -`;var aR=`/** +`;var CO=`/** * DOC_TBA * * @name czm_infinity * @glslConstant */ const float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto in meters. TODO: What is best given lowp, mediump, and highp? -`;var cR=`/** +`;var AO=`/** * A built-in GLSL floating-point constant for <code>1/pi</code>. * * @alias czm_oneOverPi @@ -197,7 +197,7 @@ const float czm_infinity = 5906376272000.0; // Distance from the Sun to Pluto i * float pi = 1.0 / czm_oneOverPi; */ const float czm_oneOverPi = 0.3183098861837907; -`;var lR=`/** +`;var EO=`/** * A built-in GLSL floating-point constant for <code>1/2pi</code>. * * @alias czm_oneOverTwoPi @@ -213,7 +213,7 @@ const float czm_oneOverPi = 0.3183098861837907; * float pi = 2.0 * czm_oneOverTwoPi; */ const float czm_oneOverTwoPi = 0.15915494309189535; -`;var uR=`/** +`;var SO=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE} * * @name czm_passCesium3DTile @@ -222,7 +222,7 @@ const float czm_oneOverTwoPi = 0.15915494309189535; * @see czm_pass */ const float czm_passCesium3DTile = 4.0; -`;var fR=`/** +`;var vO=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION} * * @name czm_passCesium3DTileClassification @@ -231,7 +231,7 @@ const float czm_passCesium3DTile = 4.0; * @see czm_pass */ const float czm_passCesium3DTileClassification = 5.0; -`;var dR=`/** +`;var wO=`/** * The automatic GLSL constant for {@link Pass#CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW} * * @name czm_passCesium3DTileClassificationIgnoreShow @@ -240,7 +240,7 @@ const float czm_passCesium3DTileClassification = 5.0; * @see czm_pass */ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; -`;var hR=`/** +`;var DO=`/** * The automatic GLSL constant for {@link Pass#CLASSIFICATION} * * @name czm_passClassification @@ -249,7 +249,7 @@ const float czm_passCesium3DTileClassificationIgnoreShow = 6.0; * @see czm_pass */ const float czm_passClassification = 7.0; -`;var mR=`/** +`;var IO=`/** * The automatic GLSL constant for {@link Pass#COMPUTE} * * @name czm_passCompute @@ -258,7 +258,7 @@ const float czm_passClassification = 7.0; * @see czm_pass */ const float czm_passCompute = 1.0; -`;var pR=`/** +`;var PO=`/** * The automatic GLSL constant for {@link Pass#ENVIRONMENT} * * @name czm_passEnvironment @@ -267,7 +267,7 @@ const float czm_passCompute = 1.0; * @see czm_pass */ const float czm_passEnvironment = 0.0; -`;var _R=`/** +`;var OO=`/** * The automatic GLSL constant for {@link Pass#GLOBE} * * @name czm_passGlobe @@ -276,7 +276,7 @@ const float czm_passEnvironment = 0.0; * @see czm_pass */ const float czm_passGlobe = 2.0; -`;var gR=`/** +`;var RO=`/** * The automatic GLSL constant for {@link Pass#OPAQUE} * * @name czm_passOpaque @@ -285,7 +285,7 @@ const float czm_passGlobe = 2.0; * @see czm_pass */ const float czm_passOpaque = 7.0; -`;var yR=`/** +`;var MO=`/** * The automatic GLSL constant for {@link Pass#OVERLAY} * * @name czm_passOverlay @@ -294,7 +294,7 @@ const float czm_passOpaque = 7.0; * @see czm_pass */ const float czm_passOverlay = 10.0; -`;var xR=`/** +`;var LO=`/** * The automatic GLSL constant for {@link Pass#TERRAIN_CLASSIFICATION} * * @name czm_passTerrainClassification @@ -303,7 +303,7 @@ const float czm_passOverlay = 10.0; * @see czm_pass */ const float czm_passTerrainClassification = 3.0; -`;var bR=`/** +`;var NO=`/** * The automatic GLSL constant for {@link Pass#TRANSLUCENT} * * @name czm_passTranslucent @@ -312,7 +312,7 @@ const float czm_passTerrainClassification = 3.0; * @see czm_pass */ const float czm_passTranslucent = 8.0; -`;var TR=`/** +`;var FO=`/** * The automatic GLSL constant for {@link Pass#VOXELS} * * @name czm_passVoxels @@ -321,7 +321,7 @@ const float czm_passTranslucent = 8.0; * @see czm_pass */ const float czm_passVoxels = 9.0; -`;var CR=`/** +`;var BO=`/** * A built-in GLSL floating-point constant for <code>Math.PI</code>. * * @alias czm_pi @@ -337,7 +337,7 @@ const float czm_passVoxels = 9.0; * float twoPi = 2.0 * czm_pi; */ const float czm_pi = 3.141592653589793; -`;var AR=`/** +`;var kO=`/** * A built-in GLSL floating-point constant for <code>pi/4</code>. * * @alias czm_piOverFour @@ -353,7 +353,7 @@ const float czm_pi = 3.141592653589793; * float pi = 4.0 * czm_piOverFour; */ const float czm_piOverFour = 0.7853981633974483; -`;var ER=`/** +`;var VO=`/** * A built-in GLSL floating-point constant for <code>pi/6</code>. * * @alias czm_piOverSix @@ -369,7 +369,7 @@ const float czm_piOverFour = 0.7853981633974483; * float pi = 6.0 * czm_piOverSix; */ const float czm_piOverSix = 0.5235987755982988; -`;var SR=`/** +`;var UO=`/** * A built-in GLSL floating-point constant for <code>pi/3</code>. * * @alias czm_piOverThree @@ -385,7 +385,7 @@ const float czm_piOverSix = 0.5235987755982988; * float pi = 3.0 * czm_piOverThree; */ const float czm_piOverThree = 1.0471975511965976; -`;var wR=`/** +`;var zO=`/** * A built-in GLSL floating-point constant for <code>pi/2</code>. * * @alias czm_piOverTwo @@ -401,7 +401,7 @@ const float czm_piOverThree = 1.0471975511965976; * float pi = 2.0 * czm_piOverTwo; */ const float czm_piOverTwo = 1.5707963267948966; -`;var vR=`/** +`;var HO=`/** * A built-in GLSL floating-point constant for converting degrees to radians. * * @alias czm_radiansPerDegree @@ -417,7 +417,7 @@ const float czm_piOverTwo = 1.5707963267948966; * float rad = czm_radiansPerDegree * deg; */ const float czm_radiansPerDegree = 0.017453292519943295; -`;var DR=`/** +`;var GO=`/** * The constant identifier for the 2D {@link SceneMode} * * @name czm_sceneMode2D @@ -428,7 +428,7 @@ const float czm_radiansPerDegree = 0.017453292519943295; * @see czm_sceneModeMorphing */ const float czm_sceneMode2D = 2.0; -`;var IR=`/** +`;var WO=`/** * The constant identifier for the 3D {@link SceneMode} * * @name czm_sceneMode3D @@ -439,7 +439,7 @@ const float czm_sceneMode2D = 2.0; * @see czm_sceneModeMorphing */ const float czm_sceneMode3D = 3.0; -`;var PR=`/** +`;var jO=`/** * The constant identifier for the Columbus View {@link SceneMode} * * @name czm_sceneModeColumbusView @@ -450,7 +450,7 @@ const float czm_sceneMode3D = 3.0; * @see czm_sceneModeMorphing */ const float czm_sceneModeColumbusView = 1.0; -`;var RR=`/** +`;var qO=`/** * The constant identifier for the Morphing {@link SceneMode} * * @name czm_sceneModeMorphing @@ -461,7 +461,7 @@ const float czm_sceneModeColumbusView = 1.0; * @see czm_sceneMode3D */ const float czm_sceneModeMorphing = 0.0; -`;var OR=`/** +`;var YO=`/** * A built-in GLSL floating-point constant for one solar radius. * * @alias czm_solarRadius @@ -474,7 +474,7 @@ const float czm_sceneModeMorphing = 0.0; * const float czm_solarRadius = ...; */ const float czm_solarRadius = 695500000.0; -`;var MR=`/** +`;var XO=`/** * A built-in GLSL floating-point constant for <code>3pi/2</code>. * * @alias czm_threePiOver2 @@ -490,7 +490,7 @@ const float czm_solarRadius = 695500000.0; * float pi = (2.0 / 3.0) * czm_threePiOver2; */ const float czm_threePiOver2 = 4.71238898038469; -`;var LR=`/** +`;var KO=`/** * A built-in GLSL floating-point constant for <code>2pi</code>. * * @alias czm_twoPi @@ -506,7 +506,7 @@ const float czm_threePiOver2 = 4.71238898038469; * float pi = czm_twoPi / 2.0; */ const float czm_twoPi = 6.283185307179586; -`;var NR=`/** +`;var ZO=`/** * The maximum latitude, in radians, both North and South, supported by a Web Mercator * (EPSG:3857) projection. Technically, the Mercator projection is defined * for any latitude up to (but not including) 90 degrees, but it makes sense @@ -522,7 +522,7 @@ const float czm_twoPi = 6.283185307179586; * @glslConstant */ const float czm_webMercatorMaxLatitude = 1.4844222297453324; -`;var FR=`/** +`;var $O=`/** * @name czm_depthRangeStruct * @glslStruct */ @@ -531,7 +531,7 @@ struct czm_depthRangeStruct float near; float far; }; -`;var BR=`/** +`;var QO=`/** * Holds material information that can be used for lighting. Returned by all czm_getMaterial functions. * * @name czm_material @@ -553,7 +553,7 @@ struct czm_material vec3 emission; float alpha; }; -`;var kR=`/** +`;var JO=`/** * Used as input to every material's czm_getMaterial function. * * @name czm_materialInput @@ -583,7 +583,7 @@ struct czm_materialInput float aspect; float waterMask; }; -`;var VR=`/** +`;var eR=`/** * Struct for representing a material for a {@link Model}. The model * rendering pipeline will pass this struct between material, custom shaders, * and lighting stages. This is not to be confused with {@link czm_material} @@ -628,7 +628,7 @@ struct czm_modelMaterial { // Add clearcoatF0 when KHR_materials_ior is implemented #endif }; -`;var UR=`/** +`;var tR=`/** * Struct for representing the output of a custom vertex shader. * * @name czm_modelVertexOutput @@ -644,7 +644,7 @@ struct czm_modelVertexOutput { vec3 positionMC; float pointSize; }; -`;var zR=`/** +`;var nR=`/** * DOC_TBA * * @name czm_ray @@ -655,7 +655,7 @@ struct czm_ray vec3 origin; vec3 direction; }; -`;var HR=`/** +`;var iR=`/** * DOC_TBA * * @name czm_raySegment @@ -682,7 +682,7 @@ const czm_raySegment czm_emptyRaySegment = czm_raySegment(-czm_infinity, -czm_in * @glslConstant */ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); -`;var GR=`struct czm_shadowParameters +`;var oR=`struct czm_shadowParameters { #ifdef USE_CUBE_MAP_SHADOW vec3 texCoords; @@ -697,7 +697,7 @@ const czm_raySegment czm_fullRaySegment = czm_raySegment(0.0, czm_infinity); float normalShadingSmooth; float darkness; }; -`;var WR=`// See: +`;var rR=`// See: // https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/ vec3 czm_acesTonemapping(vec3 color) { @@ -713,7 +713,7 @@ vec3 czm_acesTonemapping(vec3 color) { return color; } -`;var jR=`/** +`;var sR=`/** * @private */ float czm_alphaWeight(float a) @@ -724,7 +724,7 @@ float czm_alphaWeight(float a) // http://jcgt.org/published/0002/02/09/ return pow(a + 0.01, 4.0) + max(1e-2, min(3.0 * 1e3, 0.003 / (1e-5 + pow(abs(z) / 200.0, 4.0)))); } -`;var qR=`/** +`;var aR=`/** * Procedural anti-aliasing by blurring two colors that meet at a sharp edge. * * @name czm_antialias @@ -763,7 +763,7 @@ vec4 czm_antialias(vec4 color1, vec4 color2, vec4 currentColor, float dist) { return czm_antialias(color1, color2, currentColor, dist, 0.1); } -`;var YR=`/** +`;var cR=`/** * Apply a HSB color shift to an RGB color. * * @param {vec3} rgb The color in RGB space. @@ -795,7 +795,7 @@ vec3 czm_applyHSBShift(vec3 rgb, vec3 hsbShift, bool ignoreBlackPixels) { // Convert shifted hsb back to rgb return czm_HSBToRGB(hsb); } -`;var XR=`/** +`;var lR=`/** * Approximately computes spherical coordinates given a normal. * Uses approximate inverse trigonometry for speed and consistency, * since inverse trigonometry can differ from vendor-to-vendor and when compared with the CPU. @@ -813,7 +813,7 @@ vec2 czm_approximateSphericalCoordinates(vec3 normal) { float longitudeApproximation = czm_fastApproximateAtan(normal.x, normal.y); return vec2(latitudeApproximation, longitudeApproximation); } -`;var KR=`/** +`;var uR=`/** * Compute a rational approximation to tanh(x) * * @param {float} x A real number input @@ -823,7 +823,7 @@ float czm_approximateTanh(float x) { float x2 = x * x; return max(-1.0, min(1.0, x * (27.0 + x2) / (27.0 + 9.0 * x2))); } -`;var $R=`/** +`;var fR=`/** * Determines if the fragment is back facing * * @name czm_backFacing @@ -836,7 +836,7 @@ bool czm_backFacing() // !gl_FrontFacing doesn't work as expected on Mac/Intel so use the more verbose form instead. See https://github.com/CesiumGS/cesium/pull/8494. return gl_FrontFacing == false; } -`;var ZR=`/** +`;var dR=`/** * Branchless ternary operator to be used when it's inexpensive to explicitly * evaluate both possibilities for a float expression. * @@ -907,7 +907,7 @@ vec4 czm_branchFreeTernary(bool comparison, vec4 a, vec4 b) { float useA = float(comparison); return a * useA + b * (1.0 - useA); } -`;var QR=` +`;var hR=` vec4 czm_cascadeColor(vec4 weights) { return vec4(1.0, 0.0, 0.0, 1.0) * weights.x + @@ -915,14 +915,14 @@ vec4 czm_cascadeColor(vec4 weights) vec4(0.0, 0.0, 1.0, 1.0) * weights.z + vec4(1.0, 0.0, 1.0, 1.0) * weights.w; } -`;var JR=` +`;var mR=` uniform vec4 shadowMap_cascadeDistances; float czm_cascadeDistance(vec4 weights) { return dot(shadowMap_cascadeDistances, weights); } -`;var eO=` +`;var pR=` uniform mat4 shadowMap_cascadeMatrices[4]; mat4 czm_cascadeMatrix(vec4 weights) @@ -932,7 +932,7 @@ mat4 czm_cascadeMatrix(vec4 weights) shadowMap_cascadeMatrices[2] * weights.z + shadowMap_cascadeMatrices[3] * weights.w; } -`;var tO=` +`;var _R=` uniform vec4 shadowMap_cascadeSplits[2]; vec4 czm_cascadeWeights(float depthEye) @@ -942,7 +942,7 @@ vec4 czm_cascadeWeights(float depthEye) vec4 far = step(depthEye, shadowMap_cascadeSplits[1]); return near * far; } -`;var nO=`float getSignedDistance(vec2 uv, highp sampler2D clippingDistance) { +`;var gR=`float getSignedDistance(vec2 uv, highp sampler2D clippingDistance) { float signedDistance = texture(clippingDistance, uv).r; return (signedDistance - 0.5) * 2.0; } @@ -979,7 +979,7 @@ void czm_clipPolygons(highp sampler2D clippingDistance, int extentsLength, vec2 } #endif } -`;var iO=`/** +`;var yR=`/** * DOC_TBA * * @name czm_columbusViewMorph @@ -991,7 +991,7 @@ vec4 czm_columbusViewMorph(vec4 position2D, vec4 position3D, float time) vec3 p = mix(position2D.xyz, position3D.xyz, time); return vec4(p, 1.0); } -`;var oO=`/** +`;var xR=`/** * Compute the atmosphere color, applying Rayleigh and Mie scattering. This * builtin uses automatic uniforms so the atmophere settings are synced with the * state of the Scene, even in other contexts like Model. @@ -1035,7 +1035,51 @@ vec4 czm_computeAtmosphereColor( return vec4(color, opacity); } -`;var rO=`/** + +/** + * Compute the atmosphere color, applying Rayleigh and Mie scattering. This + * builtin uses automatic uniforms so the atmophere settings are synced with the + * state of the Scene, even in other contexts like Model. + * + * @name czm_computeAtmosphereColor + * @glslFunction + * + * @param {czm_ray} primaryRay Ray from the origin to sky fragment to in world coords (low precision) + * @param {vec3} lightDirection Light direction from the sun or other light source. + * @param {vec3} rayleighColor The Rayleigh scattering color computed by a scattering function + * @param {vec3} mieColor The Mie scattering color computed by a scattering function + * @param {float} opacity The opacity computed by a scattering function. + */ +vec4 czm_computeAtmosphereColor( + czm_ray primaryRay, + vec3 lightDirection, + vec3 rayleighColor, + vec3 mieColor, + float opacity +) { + vec3 direction = normalize(primaryRay.direction); + + float cosAngle = dot(direction, lightDirection); + float cosAngleSq = cosAngle * cosAngle; + + float G = czm_atmosphereMieAnisotropy; + float GSq = G * G; + + // The Rayleigh phase function. + float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); + // The Mie phase function. + float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); + + // The final color is generated by combining the effects of the Rayleigh and Mie scattering. + vec3 rayleigh = rayleighPhase * rayleighColor; + vec3 mie = miePhase * mieColor; + + vec3 color = (rayleigh + mie) * czm_atmosphereLightIntensity; + + return vec4(color, opacity); +} + +`;var bR=`/** * Compute atmosphere scattering for the ground atmosphere and fog. This method * uses automatic uniforms so it is always synced with the scene settings. * @@ -1065,7 +1109,7 @@ void czm_computeGroundAtmosphereScattering(vec3 positionWC, vec3 lightDirection, opacity ); } -`;var sO=`/** +`;var TR=`/** * Returns a position in model coordinates relative to eye taking into * account the current scene mode: 3D, 2D, or Columbus view. * <p> @@ -1087,7 +1131,7 @@ void czm_computeGroundAtmosphereScattering(vec3 positionWC, vec3 lightDirection, * @see czm_translateRelativeToEye */ vec4 czm_computePosition(); -`;var aO=`/** +`;var CR=`/** * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as * the transmittance value for the ray. This function uses automatic uniforms * so the atmosphere settings are always synced with the current scene. @@ -1129,7 +1173,6 @@ void czm_computeScattering( // Return empty colors if no intersection with the atmosphere geometry. if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { - rayleighColor = vec3(1.0, 0.0, 1.0); return; } @@ -1237,7 +1280,7 @@ void czm_computeScattering( // Compute the transmittance i.e. how much light is passing through the atmosphere. opacity = length(exp(-((czm_atmosphereMieCoefficient * opticalDepth.y) + (czm_atmosphereRayleighCoefficient * opticalDepth.x)))); } -`;var cO=`/** +`;var AR=`/** * @private */ vec2 cordic(float angle) @@ -1448,7 +1491,7 @@ vec2 czm_cosineAndSine(float angle) return cordic(angle); } } -`;var lO=`/** +`;var ER=`/** * Decompresses texture coordinates that were packed into a single float. * * @name czm_decompressTextureCoordinates @@ -1465,7 +1508,7 @@ vec2 czm_cosineAndSine(float angle) float sty = (encoded - xZeroTo4095 * 4096.0) / 4095.0; return vec2(stx, sty); } -`;var uO=`// emulated noperspective +`;var SR=`// emulated noperspective #if (__VERSION__ == 300 || defined(GL_EXT_frag_depth)) && !defined(LOG_DEPTH) out float v_WindowZ; #endif @@ -1512,7 +1555,7 @@ vec4 czm_depthClamp(vec4 coords) #endif return coords; } -`;var fO=`/** +`;var vR=`/** * Computes a 3x3 rotation matrix that transforms vectors from an ellipsoid's east-north-up coordinate system * to eye coordinates. In east-north-up coordinates, x points east, y points north, and z points along the * surface normal. East-north-up can be used as an ellipsoid's tangent space for operations such as bump mapping. @@ -1545,7 +1588,7 @@ mat3 czm_eastNorthUpToEyeCoordinates(vec3 positionMC, vec3 normalEC) bitangentEC.x, bitangentEC.y, bitangentEC.z, normalEC.x, normalEC.y, normalEC.z); } -`;var dO=`/** +`;var wR=`/** * DOC_TBA * * @name czm_ellipsoidContainsPoint @@ -1557,7 +1600,7 @@ bool czm_ellipsoidContainsPoint(vec3 ellipsoid_inverseRadii, vec3 point) vec3 scaled = ellipsoid_inverseRadii * (czm_inverseModelView * vec4(point, 1.0)).xyz; return (dot(scaled, scaled) <= 1.0); } -`;var hO=`/** +`;var DR=`/** * Approximate uv coordinates based on the ellipsoid normal. * * @name czm_ellipsoidTextureCoordinates @@ -1567,7 +1610,7 @@ vec2 czm_ellipsoidTextureCoordinates(vec3 normal) { return vec2(atan(normal.y, normal.x) * czm_oneOverTwoPi + 0.5, asin(normal.z) * czm_oneOverPi + 0.5); } -`;var mO=`/** +`;var IR=`/** * Compares <code>left</code> and <code>right</code> componentwise. Returns <code>true</code> * if they are within <code>epsilon</code> and <code>false</code> otherwise. The inputs * <code>left</code> and <code>right</code> can be <code>float</code>s, <code>vec2</code>s, @@ -1603,7 +1646,7 @@ bool czm_equalsEpsilon(vec2 left, vec2 right, float epsilon) { bool czm_equalsEpsilon(float left, float right, float epsilon) { return (abs(left - right) <= epsilon); } -`;var pO=`/** +`;var PR=`/** * DOC_TBA * * @name czm_eyeOffset @@ -1623,7 +1666,7 @@ vec4 czm_eyeOffset(vec4 positionEC, vec3 eyeOffset) p.z += zEyeOffset.z; return p; } -`;var _O=`/** +`;var OR=`/** * Transforms a position from eye to window coordinates. The transformation * from eye to clip coordinates is done using {@link czm_projection}. * The transform from normalized device coordinates to window coordinates is @@ -1655,7 +1698,7 @@ vec4 czm_eyeToWindowCoordinates(vec4 positionEC) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`;var gO=`/** +`;var RR=`/** * Approxiamtes atan over the range [0, 1]. Safe to flip output for negative input. * * Based on Michal Drobot's approximation from ShaderFastLibs, which in turn is based on @@ -1710,7 +1753,7 @@ float czm_fastApproximateAtan(float x, float y) { t = czm_branchFreeTernary(y < 0.0, -t, t); return t; } -`;var yO=`/** +`;var MR=`/** * Gets the color with fog at a distance from the camera. * * @name czm_fog @@ -1748,7 +1791,7 @@ vec3 czm_fog(float distanceToCamera, vec3 color, vec3 fogColor, float fogModifie float fog = 1.0 - exp(-((fogModifierConstant * scalar + fogModifierConstant) * (scalar * (1.0 + fogModifierConstant)))); return mix(color, fogColor, fog); } -`;var xO=`/** +`;var LR=`/** * Converts a color from RGB space to linear space. * * @name czm_gammaCorrect @@ -1770,7 +1813,7 @@ vec4 czm_gammaCorrect(vec4 color) { #endif return color; } -`;var bO=`/** +`;var NR=`/** * DOC_TBA * * @name czm_geodeticSurfaceNormal @@ -1786,7 +1829,7 @@ vec3 czm_geodeticSurfaceNormal(vec3 positionOnEllipsoid, vec3 ellipsoidCenter, v { return normalize((positionOnEllipsoid - ellipsoidCenter) * oneOverEllipsoidRadiiSquared); } -`;var TO=`/** +`;var FR=`/** * An czm_material with default values. Every material's czm_getMaterial * should use this default material as a base for the material it returns. * The default normal value is given by materialInput.normalEC. @@ -1813,7 +1856,7 @@ czm_material czm_getDefaultMaterial(czm_materialInput materialInput) material.alpha = 1.0; return material; } -`;var CO=`/** +`;var BR=`/** * Select which direction vector to use for dynamic atmosphere lighting based on an enum value * * @name czm_getDynamicAtmosphereLightDirection @@ -1835,7 +1878,7 @@ vec3 czm_getDynamicAtmosphereLightDirection(vec3 positionWC, float lightEnum) { czm_sunDirectionWC * float(lightEnum == SUNLIGHT); return normalize(lightDirection); } -`;var AO=`/** +`;var kR=`/** * Calculates the intensity of diffusely reflected light. * * @name czm_getLambertDiffuse @@ -1857,7 +1900,7 @@ float czm_getLambertDiffuse(vec3 lightDirectionEC, vec3 normalEC) { return max(dot(lightDirectionEC, normalEC), 0.0); } -`;var EO=`/** +`;var VR=`/** * Calculates the specular intensity of reflected light. * * @name czm_getSpecular @@ -1886,7 +1929,7 @@ float czm_getSpecular(vec3 lightDirectionEC, vec3 toEyeEC, vec3 normalEC, float // Prevent this by making sure shininess is at least czm_epsilon2. return pow(specular, max(shininess, czm_epsilon2)); } -`;var SO=`/** +`;var UR=`/** * @private */ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRadians) @@ -1923,7 +1966,7 @@ vec4 czm_getWaterNoise(sampler2D normalMap, vec2 uv, float time, float angleInRa // average and scale to between -1 and 1 return ((noise / 4.0) - 0.5) * 2.0; } -`;var wO=`/** +`;var zR=`/** * Converts an HSB color (hue, saturation, brightness) to RGB * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -1947,7 +1990,7 @@ vec3 czm_HSBToRGB(vec3 hsb) vec3 p = abs(fract(hsb.xxx + K_HSB2RGB.xyz) * 6.0 - K_HSB2RGB.www); return hsb.z * mix(K_HSB2RGB.xxx, clamp(p - K_HSB2RGB.xxx, 0.0, 1.0), hsb.y); } -`;var vO=`/** +`;var HR=`/** * Converts an HSL color (hue, saturation, lightness) to RGB * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -1978,7 +2021,7 @@ vec3 czm_HSLToRGB(vec3 hsl) float c = (1.0 - abs(2.0 * hsl.z - 1.0)) * hsl.y; return (rgb - 0.5) * c + hsl.z; } -`;var DO=`/** +`;var GR=`/** * Adjusts the hue of a color. * * @name czm_hue @@ -2008,7 +2051,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 color = vec3(yiq.x, chroma * cos(hue), chroma * sin(hue)); return toRGB * color; } -`;var IO=`/** +`;var WR=`/** * Converts a color in linear space to RGB space. * * @name czm_inverseGamma @@ -2020,7 +2063,7 @@ vec3 czm_hue(vec3 rgb, float adjustment) vec3 czm_inverseGamma(vec3 color) { return pow(color, vec3(1.0 / czm_gamma)); } -`;var PO=`/** +`;var jR=`/** * Determines if a time interval is empty. * * @name czm_isEmpty @@ -2039,7 +2082,7 @@ bool czm_isEmpty(czm_raySegment interval) { return (interval.stop < 0.0); } -`;var RO=`/** +`;var qR=`/** * Determines if a time interval is empty. * * @name czm_isFull @@ -2058,7 +2101,7 @@ bool czm_isFull(czm_raySegment interval) { return (interval.start == 0.0 && interval.stop == czm_infinity); } -`;var OO=`/** +`;var YR=`/** * Computes the fraction of a Web Wercator rectangle at which a given geodetic latitude is located. * * @name czm_latitudeToWebMercatorFraction @@ -2079,7 +2122,7 @@ float czm_latitudeToWebMercatorFraction(float latitude, float southMercatorY, fl return (mercatorY - southMercatorY) * oneOverMercatorHeight; } -`;var MO=`/** +`;var XR=`/** * Converts a linear RGB color to an sRGB color. * * @param {vec3|vec4} linearIn The color in linear color space. @@ -2095,7 +2138,7 @@ vec4 czm_linearToSrgb(vec4 linearIn) vec3 srgbOut = pow(linearIn.rgb, vec3(1.0/2.2)); return vec4(srgbOut, linearIn.a); } -`;var LO=`/** +`;var KR=`/** * Computes distance from an point in 2D to a line in 2D. * * @name czm_lineDistance @@ -2109,7 +2152,7 @@ vec4 czm_linearToSrgb(vec4 linearIn) float czm_lineDistance(vec2 point1, vec2 point2, vec2 point) { return abs((point2.y - point1.y) * point.x - (point2.x - point1.x) * point.y + point2.x * point1.y - point2.y * point1.x) / distance(point2, point1); } -`;var NO=`/** +`;var ZR=`/** * Computes the luminance of a color. * * @name czm_luminance @@ -2129,7 +2172,7 @@ float czm_luminance(vec3 rgb) const vec3 W = vec3(0.2125, 0.7154, 0.0721); return dot(rgb, W); } -`;var FO=`/** +`;var $R=`/** * Find the maximum component of a vector. * * @name czm_maximumComponent @@ -2150,7 +2193,7 @@ float czm_maximumComponent(vec4 v) { return max(max(max(v.x, v.y), v.z), v.w); } -`;var BO=`/** +`;var QR=`/** * Computes the size of a pixel in meters at a distance from the eye. * <p> * Use this version when passing in a custom pixel ratio. For example, passing in 1.0 will return meters per native device pixel. @@ -2211,7 +2254,7 @@ float czm_metersPerPixel(vec4 positionEC) { return czm_metersPerPixel(positionEC, czm_pixelRatio); } -`;var kO=`/** +`;var JR=`/** * Transforms a position from model to window coordinates. The transformation * from model to clip coordinates is done using {@link czm_modelViewProjection}. * The transform from normalized device coordinates to window coordinates is @@ -2248,7 +2291,7 @@ vec4 czm_modelToWindowCoordinates(vec4 position) q.xyz = (czm_viewportTransformation * vec4(q.xyz, 1.0)).xyz; // window coordinates return q; } -`;var VO=`/** +`;var eM=`/** * DOC_TBA * * @name czm_multiplyWithColorBalance @@ -2266,7 +2309,7 @@ vec3 czm_multiplyWithColorBalance(vec3 left, vec3 right) return ((leftLuminance + rightLuminance) / (2.0 * targetLuminance)) * target; } -`;var UO=`/** +`;var tM=`/** * Computes a value that scales with distance. The scaling is clamped at the near and * far distances, and does not extrapolate. This function works with the * {@link NearFarScalar} JavaScript class. @@ -2292,7 +2335,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) return mix(valueAtMin, valueAtMax, t); } -`;var zO=` /** +`;var nM=` /** * Decodes a unit-length vector in 'oct' encoding to a normalized 3-component Cartesian vector. * The 'oct' encoding is described in "A Survey of Efficient Representations of Independent Unit Vectors", * Cigolle et al 2014: http://jcgt.org/published/0003/02/01/ @@ -2375,7 +2418,7 @@ float czm_nearFarScalar(vec4 nearFarScalar, float cameraDistSq) vector3 = czm_octDecode(vec2(x, y)); } -`;var HO=`/** +`;var iM=`/** * Packs a depth value into a vec4 that can be represented by unsigned bytes. * * @name czm_packDepth @@ -2393,7 +2436,7 @@ vec4 czm_packDepth(float depth) enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0); return enc; } -`;var GO=`vec3 lambertianDiffuse(vec3 diffuseColor) +`;var oM=`vec3 lambertianDiffuse(vec3 diffuseColor) { return diffuseColor / czm_pi; } @@ -2557,7 +2600,7 @@ vec3 czm_pbrLighting(vec3 viewDirectionEC, vec3 normalEC, vec3 lightDirectionEC, // Lo = (diffuse + specular) * Li * NdotL return (diffuseContribution + specularContribution) * NdotL; } -`;var WO=`// KhronosGroup https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral +`;var rM=`// KhronosGroup https://github.com/KhronosGroup/ToneMapping/tree/main/PBR_Neutral // Input color is non-negative and resides in the Linear Rec. 709 color space. // Output color is also Linear Rec. 709, but in the [0, 1] range. @@ -2580,7 +2623,7 @@ vec3 czm_pbrNeutralTonemapping(vec3 color) { float g = 1.0 - 1.0 / (desaturation * (peak - newPeak) + 1.0); return mix(color, newPeak * vec3(1.0, 1.0, 1.0), g); } -`;var jO=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) +`;var sM=`float czm_private_getLambertDiffuseOfMaterial(vec3 lightDirectionEC, czm_material material) { return czm_getLambertDiffuse(lightDirectionEC, material.normal); } @@ -2643,7 +2686,7 @@ vec4 czm_private_phong(vec3 toEye, czm_material material, vec3 lightDirectionEC) return vec4(color, material.alpha); } -`;var qO=`/** +`;var aM=`/** * Computes distance from a point to a plane. * * @name czm_planeDistance @@ -2671,7 +2714,7 @@ float czm_planeDistance(vec4 plane, vec3 point) { float czm_planeDistance(vec3 planeNormal, float planeDistance, vec3 point) { return (dot(planeNormal, point) + planeDistance); } -`;var YO=`/** +`;var cM=`/** * Computes the point along a ray at the given time. <code>time</code> can be positive, negative, or zero. * * @name czm_pointAlongRay @@ -2690,7 +2733,7 @@ vec3 czm_pointAlongRay(czm_ray ray, float time) { return ray.origin + (time * ray.direction); } -`;var XO=`/** +`;var lM=`/** * DOC_TBA * * @name czm_rayEllipsoidIntersectionInterval @@ -2773,7 +2816,7 @@ czm_raySegment czm_rayEllipsoidIntersectionInterval(czm_ray ray, vec3 ellipsoid_ } } } -`;var KO=`/** +`;var uM=`/** * Compute the intersection interval of a ray with a sphere. * * @name czm_raySphereIntersectionInterval @@ -2809,11 +2852,11 @@ czm_raySegment czm_raySphereIntersectionInterval(czm_ray ray, vec3 center, float czm_raySegment result = czm_raySegment(t0, t1); return result; } -`;var $O=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) +`;var fM=`float czm_readDepth(sampler2D depthTexture, vec2 texCoords) { return czm_reverseLogDepth(texture(depthTexture, texCoords).r); } -`;var ZO=`/** +`;var dM=`/** * Reads a value previously transformed with {@link czm_writeNonPerspective} * by dividing it by \`w\`, the value used in the perspective divide. * This function is intended to be called in a fragment shader to access a @@ -2844,18 +2887,18 @@ vec3 czm_readNonPerspective(vec3 value, float oneOverW) { vec4 czm_readNonPerspective(vec4 value, float oneOverW) { return value * oneOverW; } -`;var QO=`float czm_reverseLogDepth(float logZ) +`;var hM=`float czm_reverseLogDepth(float logZ) { #ifdef LOG_DEPTH float near = czm_currentFrustum.x; float far = czm_currentFrustum.y; float log2Depth = logZ * czm_log2FarDepthFromNearPlusOne; - float depthFromNear = pow(2.0, log2Depth) - 1.0; + float depthFromNear = exp2(log2Depth) - 1.0; return far * (1.0 - near / (depthFromNear + near)) / (far - near); #endif return logZ; } -`;var JO=`/** +`;var mM=`/** * Converts an RGB color to HSB (hue, saturation, brightness) * HSB <-> RGB conversion with minimal branching: {@link http://lolengine.net/blog/2013/07/27/rgb-to-hsv-in-glsl} * @@ -2882,7 +2925,7 @@ vec3 czm_RGBToHSB(vec3 rgb) float d = q.x - min(q.w, q.y); return vec3(abs(q.z + (q.w - q.y) / (6.0 * d + czm_epsilon7)), d / (q.x + czm_epsilon7), q.x); } -`;var eM=`/** +`;var pM=`/** * Converts an RGB color to HSL (hue, saturation, lightness) * HSL <-> RGB conversion: {@link http://www.chilliant.com/rgb2hsv.html} * @@ -2916,7 +2959,7 @@ vec3 czm_RGBToHSL(vec3 rgb) float s = hcv.y / (1.0 - abs(l * 2.0 - 1.0) + czm_epsilon7); return vec3(hcv.x, s, l); } -`;var tM=`/** +`;var _M=`/** * Converts an RGB color to CIE Yxy. * <p>The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -2946,7 +2989,7 @@ vec3 czm_RGBToXYZ(vec3 rgb) Yxy.gb = xyz.rg / temp; return Yxy; } -`;var nM=`/** +`;var gM=`/** * Round a floating point value. This function exists because round() doesn't * exist in GLSL 1.00. * @@ -2968,7 +3011,7 @@ vec3 czm_round(vec3 value) { vec4 czm_round(vec4 value) { return floor(value + 0.5); } -`;var iM=`/** +`;var yM=`/** * Adjusts the saturation of a color. * * @name czm_saturation @@ -2990,7 +3033,7 @@ vec3 czm_saturation(vec3 rgb, float adjustment) vec3 intensity = vec3(dot(rgb, W)); return mix(intensity, rgb, adjustment); } -`;var oM=` +`;var xM=` float czm_sampleShadowMap(highp samplerCube shadowMap, vec3 d) { return czm_unpackDepth(czm_textureCube(shadowMap, d)); @@ -3014,7 +3057,7 @@ float czm_shadowDepthCompare(sampler2D shadowMap, vec2 uv, float depth) { return step(depth, czm_sampleShadowMap(shadowMap, uv)); } -`;var rM=` +`;var bM=` float czm_private_shadowVisibility(float visibility, float nDotL, float normalShadingSmooth, float darkness) { #ifdef USE_NORMAL_SHADING @@ -3080,7 +3123,7 @@ float czm_shadowVisibility(sampler2D shadowMap, czm_shadowParameters shadowParam return czm_private_shadowVisibility(visibility, nDotL, normalShadingSmooth, darkness); } #endif -`;var sM=`/** +`;var TM=`/** * Returns 1.0 if the given value is positive or zero, and -1.0 if it is negative. This is similar to the GLSL * built-in function <code>sign</code> except that returns 1.0 instead of 0.0 when the input value is 0.0. * @@ -3109,7 +3152,7 @@ vec4 czm_signNotZero(vec4 value) { return vec4(czm_signNotZero(value.x), czm_signNotZero(value.y), czm_signNotZero(value.z), czm_signNotZero(value.w)); } -`;var aM=`/** +`;var CM=`/** * Computes a color from the third order spherical harmonic coefficients and a normalized direction vector. * <p> * The order of the coefficients is [L00, L1_1, L10, L11, L2_2, L2_1, L20, L21, L22]. @@ -3140,7 +3183,7 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) float y = normal.y; float z = normal.z; - return + vec3 L = L00 + L1_1 * y + L10 * z @@ -3150,8 +3193,10 @@ vec3 czm_sphericalHarmonics(vec3 normal, vec3 coefficients[9]) + L20 * (3.0 * z * z - 1.0) + L21 * (z * x) + L22 * (x * x - y * y); + + return max(L, vec3(0.0)); } -`;var cM=`/** +`;var AM=`/** * Converts an sRGB color to a linear RGB color. * * @param {vec3|vec4} srgbIn The color in sRGB space @@ -3167,7 +3212,7 @@ vec4 czm_srgbToLinear(vec4 srgbIn) vec3 linearOut = pow(srgbIn.rgb, vec3(2.2)); return vec4(linearOut, srgbIn.a); } -`;var lM=`/** +`;var EM=`/** * Creates a matrix that transforms vectors from tangent space to eye space. * * @name czm_tangentToEyeSpaceMatrix @@ -3192,7 +3237,7 @@ mat3 czm_tangentToEyeSpaceMatrix(vec3 normalEC, vec3 tangentEC, vec3 bitangentEC bitangent.x, bitangent.y, bitangent.z, normal.x , normal.y , normal.z); } -`;var uM=`/** +`;var SM=`/** * A wrapper around the texture (WebGL2) / textureCube (WebGL1) * function to allow for WebGL 1 support. * @@ -3227,7 +3272,7 @@ vec4 czm_textureCube(samplerCube sampler, vec3 p, float lod) { #elif defined(GL_EXT_shader_texture_lod) return textureCubeLodEXT(sampler, p, lod); #endif -}`;var fM=`/** +}`;var vM=`/** * Transforms a plane. * * @name czm_transformPlane @@ -3242,7 +3287,7 @@ vec4 czm_transformPlane(vec4 plane, mat4 transform) { float normalMagnitude = length(transformedPlane.xyz); return transformedPlane / normalMagnitude; } -`;var dM=`/** +`;var wM=`/** * Translates a position (or any <code>vec3</code>) that was encoded with {@link EncodedCartesian3}, * and then provided to the shader as separate <code>high</code> and <code>low</code> bits to * be relative to the eye. As shown in the example, the position can then be transformed in eye @@ -3287,7 +3332,7 @@ vec4 czm_translateRelativeToEye(vec3 high, vec3 low) return vec4(highDifference + lowDifference, 1.0); } -`;var hM=`/** +`;var DM=`/** * @private */ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirectionEC) @@ -3314,7 +3359,7 @@ vec4 czm_translucentPhong(vec3 toEye, czm_material material, vec3 lightDirection return vec4(color, material.alpha); } -`;var mM=`/** +`;var IM=`/** * Returns the transpose of the matrix. The input <code>matrix</code> can be * a <code>mat2</code>, <code>mat3</code>, or <code>mat4</code>. * @@ -3359,7 +3404,7 @@ mat4 czm_transpose(mat4 matrix) matrix[0][2], matrix[1][2], matrix[2][2], matrix[3][2], matrix[0][3], matrix[1][3], matrix[2][3], matrix[3][3]); } -`;var pM=`vec2 getLookupUv(vec2 dimensions, int i) { +`;var PM=`vec2 getLookupUv(vec2 dimensions, int i) { int pixY = i / int(dimensions.x); int pixX = i - (pixY * int(dimensions.x)); float pixelWidth = 1.0 / dimensions.x; @@ -3372,7 +3417,7 @@ mat4 czm_transpose(mat4 matrix) vec4 czm_unpackClippingExtents(highp sampler2D extentsTexture, int index) { vec2 textureDimensions = vec2(textureSize(extentsTexture, 0)); return texture(extentsTexture, getLookupUv(textureDimensions, index)); -}`;var _M=`/** +}`;var OM=`/** * Unpacks a vec4 depth value to a float in [0, 1) range. * * @name czm_unpackDepth @@ -3388,7 +3433,7 @@ float czm_unpackDepth(vec4 packedDepth) // http://aras-p.info/blog/2009/07/30/encoding-floats-to-rgba-the-final/ return dot(packedDepth, vec4(1.0, 1.0 / 255.0, 1.0 / 65025.0, 1.0 / 16581375.0)); } -`;var gM=`/** +`;var RM=`/** * Unpack an IEEE 754 single-precision float that is packed as a little-endian unsigned normalized vec4. * * @name czm_unpackFloat @@ -3412,7 +3457,7 @@ float czm_unpackFloat(vec4 packedFloat) float result = sign * exp2(exponent - 23.0) * mantissa; return result; } -`;var yM=`/** +`;var MM=`/** * Unpack unsigned integers of 1-4 bytes. in WebGL 1, there is no uint type, * so the return value is an int. * <p> @@ -3443,7 +3488,7 @@ float czm_unpackFloat(vec4 packedFloat) vec4 rounded = czm_round(packedValue * 255.0); return int(dot(rounded, vec4(1.0, 256.0, 65536.0, 16777216.0))); } -`;var xM=`/** +`;var LM=`/** * Transform metadata values following the EXT_structural_metadata spec * by multiplying by scale and adding the offset. Operations are always * performed component-wise, even for matrices. @@ -3481,7 +3526,7 @@ mat3 czm_valueTransform(mat3 offset, mat3 scale, mat3 value) { mat4 czm_valueTransform(mat4 offset, mat4 scale, mat4 value) { return matrixCompMult(scale, value) + offset; } -`;var bM=`#ifdef LOG_DEPTH +`;var NM=`#ifdef LOG_DEPTH // 1.0 at the near plane, increasing linearly from there. out float v_depthFromNearPlusOne; #ifdef SHADOW_MAP @@ -3545,7 +3590,7 @@ void czm_vertexLogDepth(vec4 clipCoords) czm_updatePositionDepth(clipCoords); #endif } -`;var TM=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) +`;var FM=`vec4 czm_screenToEyeCoordinates(vec4 screenCoordinate) { // Reconstruct NDC coordinates float x = 2.0 * screenCoordinate.x - 1.0; @@ -3656,7 +3701,7 @@ vec4 czm_windowToEyeCoordinates(vec2 fragmentCoordinateXY, float depthOrLogDepth vec2 screenCoordXY = (fragmentCoordinateXY.xy - czm_viewport.xy) / czm_viewport.zw; return czm_screenToEyeCoordinates(screenCoordXY, depthOrLogDepth); } -`;var CM=`// emulated noperspective +`;var BM=`// emulated noperspective #if !defined(LOG_DEPTH) in float v_WindowZ; #endif @@ -3680,7 +3725,7 @@ void czm_writeDepthClamp() gl_FragDepth = clamp(v_WindowZ * gl_FragCoord.w, 0.0, 1.0); #endif } -`;var AM=`#ifdef LOG_DEPTH +`;var kM=`#ifdef LOG_DEPTH in float v_depthFromNearPlusOne; #ifdef POLYGON_OFFSET @@ -3759,7 +3804,7 @@ void czm_writeLogDepth() { czm_writeLogDepth(v_depthFromNearPlusOne); #endif } -`;var EM=`/** +`;var VM=`/** * Transforms a value for non-perspective interpolation by multiplying * it by w, the value used in the perspective divide. This function is * intended to be called in a vertex shader to compute the value of a @@ -3791,7 +3836,7 @@ vec3 czm_writeNonPerspective(vec3 value, float w) { vec4 czm_writeNonPerspective(vec4 value, float w) { return value * w; } -`;var SM=`/** +`;var UM=`/** * Converts a CIE Yxy color to RGB. * <p>The conversion is described in * {@link http://content.gpwiki.org/index.php/D3DBook:High-Dynamic_Range_Rendering#Luminance_Transform|Luminance Transform} @@ -3821,7 +3866,7 @@ vec3 czm_XYZToRGB(vec3 Yxy) return XYZ2RGB * xyz; } -`;var TT={czm_degreesPerRadian:Q1,czm_depthRange:J1,czm_epsilon1:eR,czm_epsilon2:tR,czm_epsilon3:nR,czm_epsilon4:iR,czm_epsilon5:oR,czm_epsilon6:rR,czm_epsilon7:sR,czm_infinity:aR,czm_oneOverPi:cR,czm_oneOverTwoPi:lR,czm_passCesium3DTile:uR,czm_passCesium3DTileClassification:fR,czm_passCesium3DTileClassificationIgnoreShow:dR,czm_passClassification:hR,czm_passCompute:mR,czm_passEnvironment:pR,czm_passGlobe:_R,czm_passOpaque:gR,czm_passOverlay:yR,czm_passTerrainClassification:xR,czm_passTranslucent:bR,czm_passVoxels:TR,czm_pi:CR,czm_piOverFour:AR,czm_piOverSix:ER,czm_piOverThree:SR,czm_piOverTwo:wR,czm_radiansPerDegree:vR,czm_sceneMode2D:DR,czm_sceneMode3D:IR,czm_sceneModeColumbusView:PR,czm_sceneModeMorphing:RR,czm_solarRadius:OR,czm_threePiOver2:MR,czm_twoPi:LR,czm_webMercatorMaxLatitude:NR,czm_depthRangeStruct:FR,czm_material:BR,czm_materialInput:kR,czm_modelMaterial:VR,czm_modelVertexOutput:UR,czm_ray:zR,czm_raySegment:HR,czm_shadowParameters:GR,czm_acesTonemapping:WR,czm_alphaWeight:jR,czm_antialias:qR,czm_applyHSBShift:YR,czm_approximateSphericalCoordinates:XR,czm_approximateTanh:KR,czm_backFacing:$R,czm_branchFreeTernary:ZR,czm_cascadeColor:QR,czm_cascadeDistance:JR,czm_cascadeMatrix:eO,czm_cascadeWeights:tO,czm_clipPolygons:nO,czm_columbusViewMorph:iO,czm_computeAtmosphereColor:oO,czm_computeGroundAtmosphereScattering:rO,czm_computePosition:sO,czm_computeScattering:aO,czm_cosineAndSine:cO,czm_decompressTextureCoordinates:lO,czm_depthClamp:uO,czm_eastNorthUpToEyeCoordinates:fO,czm_ellipsoidContainsPoint:dO,czm_ellipsoidTextureCoordinates:hO,czm_equalsEpsilon:mO,czm_eyeOffset:pO,czm_eyeToWindowCoordinates:_O,czm_fastApproximateAtan:gO,czm_fog:yO,czm_gammaCorrect:xO,czm_geodeticSurfaceNormal:bO,czm_getDefaultMaterial:TO,czm_getDynamicAtmosphereLightDirection:CO,czm_getLambertDiffuse:AO,czm_getSpecular:EO,czm_getWaterNoise:SO,czm_HSBToRGB:wO,czm_HSLToRGB:vO,czm_hue:DO,czm_inverseGamma:IO,czm_isEmpty:PO,czm_isFull:RO,czm_latitudeToWebMercatorFraction:OO,czm_linearToSrgb:MO,czm_lineDistance:LO,czm_luminance:NO,czm_maximumComponent:FO,czm_metersPerPixel:BO,czm_modelToWindowCoordinates:kO,czm_multiplyWithColorBalance:VO,czm_nearFarScalar:UO,czm_octDecode:zO,czm_packDepth:HO,czm_pbrLighting:GO,czm_pbrNeutralTonemapping:WO,czm_phong:jO,czm_planeDistance:qO,czm_pointAlongRay:YO,czm_rayEllipsoidIntersectionInterval:XO,czm_raySphereIntersectionInterval:KO,czm_readDepth:$O,czm_readNonPerspective:ZO,czm_reverseLogDepth:QO,czm_RGBToHSB:JO,czm_RGBToHSL:eM,czm_RGBToXYZ:tM,czm_round:nM,czm_saturation:iM,czm_shadowDepthCompare:oM,czm_shadowVisibility:rM,czm_signNotZero:sM,czm_sphericalHarmonics:aM,czm_srgbToLinear:cM,czm_tangentToEyeSpaceMatrix:lM,czm_textureCube:uM,czm_transformPlane:fM,czm_translateRelativeToEye:dM,czm_translucentPhong:hM,czm_transpose:mM,czm_unpackClippingExtents:pM,czm_unpackDepth:_M,czm_unpackFloat:gM,czm_unpackUint:yM,czm_valueTransform:xM,czm_vertexLogDepth:bM,czm_windowToEyeCoordinates:TM,czm_writeDepthClamp:CM,czm_writeLogDepth:AM,czm_writeNonPerspective:EM,czm_XYZToRGB:SM};function mve(e,t){let n=e;return n=n.replaceAll("version 300 es",""),n=n.replaceAll(/(texture\()/g,"texture2D("),t?(n=n.replaceAll(/\n\s*(in)\s+(vec\d|mat\d|float)/g,` +`;var MT={czm_degreesPerRadian:hO,czm_depthRange:mO,czm_epsilon1:pO,czm_epsilon2:_O,czm_epsilon3:gO,czm_epsilon4:yO,czm_epsilon5:xO,czm_epsilon6:bO,czm_epsilon7:TO,czm_infinity:CO,czm_oneOverPi:AO,czm_oneOverTwoPi:EO,czm_passCesium3DTile:SO,czm_passCesium3DTileClassification:vO,czm_passCesium3DTileClassificationIgnoreShow:wO,czm_passClassification:DO,czm_passCompute:IO,czm_passEnvironment:PO,czm_passGlobe:OO,czm_passOpaque:RO,czm_passOverlay:MO,czm_passTerrainClassification:LO,czm_passTranslucent:NO,czm_passVoxels:FO,czm_pi:BO,czm_piOverFour:kO,czm_piOverSix:VO,czm_piOverThree:UO,czm_piOverTwo:zO,czm_radiansPerDegree:HO,czm_sceneMode2D:GO,czm_sceneMode3D:WO,czm_sceneModeColumbusView:jO,czm_sceneModeMorphing:qO,czm_solarRadius:YO,czm_threePiOver2:XO,czm_twoPi:KO,czm_webMercatorMaxLatitude:ZO,czm_depthRangeStruct:$O,czm_material:QO,czm_materialInput:JO,czm_modelMaterial:eR,czm_modelVertexOutput:tR,czm_ray:nR,czm_raySegment:iR,czm_shadowParameters:oR,czm_acesTonemapping:rR,czm_alphaWeight:sR,czm_antialias:aR,czm_applyHSBShift:cR,czm_approximateSphericalCoordinates:lR,czm_approximateTanh:uR,czm_backFacing:fR,czm_branchFreeTernary:dR,czm_cascadeColor:hR,czm_cascadeDistance:mR,czm_cascadeMatrix:pR,czm_cascadeWeights:_R,czm_clipPolygons:gR,czm_columbusViewMorph:yR,czm_computeAtmosphereColor:xR,czm_computeGroundAtmosphereScattering:bR,czm_computePosition:TR,czm_computeScattering:CR,czm_cosineAndSine:AR,czm_decompressTextureCoordinates:ER,czm_depthClamp:SR,czm_eastNorthUpToEyeCoordinates:vR,czm_ellipsoidContainsPoint:wR,czm_ellipsoidTextureCoordinates:DR,czm_equalsEpsilon:IR,czm_eyeOffset:PR,czm_eyeToWindowCoordinates:OR,czm_fastApproximateAtan:RR,czm_fog:MR,czm_gammaCorrect:LR,czm_geodeticSurfaceNormal:NR,czm_getDefaultMaterial:FR,czm_getDynamicAtmosphereLightDirection:BR,czm_getLambertDiffuse:kR,czm_getSpecular:VR,czm_getWaterNoise:UR,czm_HSBToRGB:zR,czm_HSLToRGB:HR,czm_hue:GR,czm_inverseGamma:WR,czm_isEmpty:jR,czm_isFull:qR,czm_latitudeToWebMercatorFraction:YR,czm_linearToSrgb:XR,czm_lineDistance:KR,czm_luminance:ZR,czm_maximumComponent:$R,czm_metersPerPixel:QR,czm_modelToWindowCoordinates:JR,czm_multiplyWithColorBalance:eM,czm_nearFarScalar:tM,czm_octDecode:nM,czm_packDepth:iM,czm_pbrLighting:oM,czm_pbrNeutralTonemapping:rM,czm_phong:sM,czm_planeDistance:aM,czm_pointAlongRay:cM,czm_rayEllipsoidIntersectionInterval:lM,czm_raySphereIntersectionInterval:uM,czm_readDepth:fM,czm_readNonPerspective:dM,czm_reverseLogDepth:hM,czm_RGBToHSB:mM,czm_RGBToHSL:pM,czm_RGBToXYZ:_M,czm_round:gM,czm_saturation:yM,czm_shadowDepthCompare:xM,czm_shadowVisibility:bM,czm_signNotZero:TM,czm_sphericalHarmonics:CM,czm_srgbToLinear:AM,czm_tangentToEyeSpaceMatrix:EM,czm_textureCube:SM,czm_transformPlane:vM,czm_translateRelativeToEye:wM,czm_translucentPhong:DM,czm_transpose:IM,czm_unpackClippingExtents:PM,czm_unpackDepth:OM,czm_unpackFloat:RM,czm_unpackUint:MM,czm_valueTransform:LM,czm_vertexLogDepth:NM,czm_windowToEyeCoordinates:FM,czm_writeDepthClamp:BM,czm_writeLogDepth:kM,czm_writeNonPerspective:VM,czm_XYZToRGB:UM};function oIe(e,t){let n=e;return n=n.replaceAll("version 300 es",""),n=n.replaceAll(/(texture\()/g,"texture2D("),t?(n=n.replaceAll(/\n\s*(in)\s+(vec\d|mat\d|float)/g,` varying $2`),/out_FragData_(\d+)/.test(n)&&(n=`#extension GL_EXT_draw_buffers : enable ${n}`,n=n.replaceAll(/layout\s+\(location\s*=\s*\d+\)\s*out\s+vec4\s+out_FragData_\d+;/g,""),n=n.replaceAll(/out_FragData_(\d+)/g,"gl_FragData[$1]")),n=n.replaceAll(/layout\s+\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,""),n=n.replaceAll(/out_FragColor/g,"gl_FragColor"),n=n.replaceAll(/out_FragColor\[(\d+)\]/g,"gl_FragColor[$1]"),/gl_FragDepth/.test(n)&&(n=`#extension GL_EXT_frag_depth : enable ${n}`,n=n.replaceAll(/gl_FragDepth/g,"gl_FragDepthEXT")),n=`#ifdef GL_EXT_shader_texture_lod @@ -3831,13 +3876,13 @@ ${n}`,n=`#ifdef GL_OES_standard_derivatives #extension GL_OES_standard_derivatives : enable #endif ${n}`):(n=n.replaceAll(/(in)\s+(vec\d|mat\d|float)/g,"attribute $2"),n=n.replaceAll(/(out)\s+(vec\d|mat\d|float)\s+([\w]+);/g,"varying $2 $3;")),n=`#version 100 -${n}`,n}var wM=mve;function nJ(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){let n=t.match(/\n/gm).length,i="";for(let o=0;o<n;++o)i+=` -`;return i})}function iJ(e,t,n){let i;for(let o=0;o<n.length;++o)n[o].name===e&&(i=n[o]);return l(i)||(t=nJ(t),i={name:e,glslSource:t,dependsOn:[],requiredBy:[],evaluated:!1},n.push(i)),i}function oJ(e,t){if(e.evaluated)return;e.evaluated=!0;let n=e.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);l(n)&&n!==null&&(n=n.filter(function(i,o){return n.indexOf(i)===o}),n.forEach(function(i){if(i!==e.name&&Rs._czmBuiltinsAndUniforms.hasOwnProperty(i)){let o=iJ(i,Rs._czmBuiltinsAndUniforms[i],t);e.dependsOn.push(o),o.requiredBy.push(e),oJ(o,t)}}))}function pve(e){let t=[],n=[];for(;e.length>0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r<o.dependsOn.length;++r){let s=o.dependsOn[r],a=s.requiredBy.indexOf(o);s.requiredBy.splice(a,1),s.requiredBy.length===0&&t.push(s)}}let i=[];for(let o=0;o<n.length;++o)n[o].requiredBy.length!==0&&i.push(n[o])}function _ve(e){let t=[],n=iJ("main",e,t);oJ(n,t),pve(t);let i="";for(let o=t.length-1;o>=0;--o)i=`${i+t[o].glslSource} -`;return i.replace(n.glslSource,"")}function rJ(e,t,n){let i,o,r="",s=e.sources;if(l(s))for(i=0,o=s.length;i<o;++i)r+=` +${n}`,n}var zM=oIe;function KJ(e){return e=e.replace(/\/\/.*/g,""),e.replace(/\/\*\*[\s\S]*?\*\//gm,function(t){let n=t.match(/\n/gm).length,i="";for(let o=0;o<n;++o)i+=` +`;return i})}function ZJ(e,t,n){let i;for(let o=0;o<n.length;++o)n[o].name===e&&(i=n[o]);return l(i)||(t=KJ(t),i={name:e,glslSource:t,dependsOn:[],requiredBy:[],evaluated:!1},n.push(i)),i}function $J(e,t){if(e.evaluated)return;e.evaluated=!0;let n=e.glslSource.match(/\bczm_[a-zA-Z0-9_]*/g);l(n)&&n!==null&&(n=n.filter(function(i,o){return n.indexOf(i)===o}),n.forEach(function(i){if(i!==e.name&&Fs._czmBuiltinsAndUniforms.hasOwnProperty(i)){let o=ZJ(i,Fs._czmBuiltinsAndUniforms[i],t);e.dependsOn.push(o),o.requiredBy.push(e),$J(o,t)}}))}function rIe(e){let t=[],n=[];for(;e.length>0;){let o=e.pop();n.push(o),o.requiredBy.length===0&&t.push(o)}for(;t.length>0;){let o=t.shift();e.push(o);for(let r=0;r<o.dependsOn.length;++r){let s=o.dependsOn[r],a=s.requiredBy.indexOf(o);s.requiredBy.splice(a,1),s.requiredBy.length===0&&t.push(s)}}let i=[];for(let o=0;o<n.length;++o)n[o].requiredBy.length!==0&&i.push(n[o])}function sIe(e){let t=[],n=ZJ("main",e,t);$J(n,t),rIe(t);let i="";for(let o=t.length-1;o>=0;--o)i=`${i+t[o].glslSource} +`;return i.replace(n.glslSource,"")}function QJ(e,t,n){let i,o,r="",s=e.sources;if(l(s))for(i=0,o=s.length;i<o;++i)r+=` #line 0 -${s[i]}`;r=nJ(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(x,b){return a=b,` +${s[i]}`;r=KJ(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(x,b){return a=b,` `});let c=[];r=r.replace(/#extension.*\n/gm,function(x){return c.push(x),` -`}),r=r.replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");let u=e.pickColorQualifier;l(u)&&(r=Rs.createPickFragmentShaderSource(r,u));let f="",d=c.length;for(i=0;i<d;i++)f+=c[i];t&&(f+=`#ifdef GL_FRAGMENT_PRECISION_HIGH +`}),r=r.replace(/precision\s(lowp|mediump|highp)\s(float|int);/,"");let u=e.pickColorQualifier;l(u)&&(r=Fs.createPickFragmentShaderSource(r,u));let f="",d=c.length;for(i=0;i<d;i++)f+=c[i];t&&(f+=`#ifdef GL_FRAGMENT_PRECISION_HIGH precision highp float; precision highp int; #else @@ -3851,20 +3896,20 @@ ${s[i]}`;r=nJ(r);let a;r=r.replace(/#version\s+(.*?)\n/gm,function(x,b){return a `),n.floatingPointTexture&&(f+=`#define OES_texture_float -`);let g="";e.includeBuiltIns&&(g=_ve(r)),f+=` +`);let g="";e.includeBuiltIns&&(g=sIe(r)),f+=` #line 0 `;let m=g+r;return n.webgl2&&t&&!/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g.test(m)&&!/czm_out_FragColor/g.test(m)&&/out_FragColor/g.test(m)&&(f+=`layout(location = 0) out vec4 out_FragColor; `),f+=g,f+=r,n.webgl2?f=`#version 300 es -${f}`:f=wM(f,t),f}function Rs(e){e=y(e,y.EMPTY_OBJECT);let t=e.pickColorQualifier;this.defines=l(e.defines)?e.defines.slice(0):[],this.sources=l(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=y(e.includeBuiltIns,!0)}Rs.prototype.clone=function(){return new Rs({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})};Rs.replaceMain=function(e,t){return t=`void ${t}()`,e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)};Rs.prototype.getCacheKey=function(){let t=this.defines.slice().sort().join(","),n=this.pickColorQualifier,i=this.includeBuiltIns,o=this.sources.join(` -`);return`${t}:${n}:${i}:${o}`};Rs.prototype.createCombinedVertexShader=function(e){return rJ(this,!1,e)};Rs.prototype.createCombinedFragmentShader=function(e){return rJ(this,!0,e)};Rs._czmBuiltinsAndUniforms={};for(let e in TT)TT.hasOwnProperty(e)&&(Rs._czmBuiltinsAndUniforms[e]=TT[e]);for(let e in P_)if(P_.hasOwnProperty(e)){let t=P_[e];typeof t.getDeclaration=="function"&&(Rs._czmBuiltinsAndUniforms[e]=t.getDeclaration(e))}Rs.createPickVertexShaderSource=function(e){return`${Rs.replaceMain(e,"czm_old_main")} +${f}`:f=zM(f,t),f}function Fs(e){e=y(e,y.EMPTY_OBJECT);let t=e.pickColorQualifier;this.defines=l(e.defines)?e.defines.slice(0):[],this.sources=l(e.sources)?e.sources.slice(0):[],this.pickColorQualifier=t,this.includeBuiltIns=y(e.includeBuiltIns,!0)}Fs.prototype.clone=function(){return new Fs({sources:this.sources,defines:this.defines,pickColorQualifier:this.pickColorQualifier,includeBuiltIns:this.includeBuiltIns})};Fs.replaceMain=function(e,t){return t=`void ${t}()`,e.replace(/void\s+main\s*\(\s*(?:void)?\s*\)/g,t)};Fs.prototype.getCacheKey=function(){let t=this.defines.slice().sort().join(","),n=this.pickColorQualifier,i=this.includeBuiltIns,o=this.sources.join(` +`);return`${t}:${n}:${i}:${o}`};Fs.prototype.createCombinedVertexShader=function(e){return QJ(this,!1,e)};Fs.prototype.createCombinedFragmentShader=function(e){return QJ(this,!0,e)};Fs._czmBuiltinsAndUniforms={};for(let e in MT)MT.hasOwnProperty(e)&&(Fs._czmBuiltinsAndUniforms[e]=MT[e]);for(let e in M_)if(M_.hasOwnProperty(e)){let t=M_[e];typeof t.getDeclaration=="function"&&(Fs._czmBuiltinsAndUniforms[e]=t.getDeclaration(e))}Fs.createPickVertexShaderSource=function(e){return`${Fs.replaceMain(e,"czm_old_main")} in vec4 pickColor; out vec4 czm_pickColor; void main() { czm_old_main(); czm_pickColor = pickColor; -}`};Rs.createPickFragmentShaderSource=function(e,t){let n=Rs.replaceMain(e,"czm_old_main"),i=`${t} vec4 czm_pickColor; +}`};Fs.createPickFragmentShaderSource=function(e,t){let n=Fs.replaceMain(e,"czm_old_main"),i=`${t} vec4 czm_pickColor; void main() { czm_old_main(); @@ -3873,9 +3918,9 @@ void main() } out_FragColor = czm_pickColor; }`;return`${n} -${i}`};function gve(e,t){let n=e.defines,i=n.length;for(let o=0;o<i;++o)if(n[o]===t)return!0;return!1}function sJ(e,t){let n=e.sources,i=n.length;for(let o=0;o<i;++o)if(n[o].indexOf(t)!==-1)return!0;return!1}function aJ(e,t){let n=t.length;for(let i=0;i<n;++i){let o=t[i];if(sJ(e,o))return o}}var yve=["v_normalEC","v_normal"];Rs.findNormalVarying=function(e){return sJ(e,"#ifdef HAS_NORMALS")?gve(e,"HAS_NORMALS")?"v_normalEC":void 0:aJ(e,yve)};var xve=["v_positionEC"];Rs.findPositionVarying=function(e){return aJ(e,xve)};var Ge=Rs;function id(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}Object.defineProperties(id.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}});id.prototype.replaceShaderProgram=function(e){return l(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)};function bve(e){let t=Object.keys(e).sort();return JSON.stringify(e,t)}id.prototype.getShaderProgram=function(e){let t=e.vertexShaderSource,n=e.fragmentShaderSource,i=e.attributeLocations;typeof t=="string"&&(t=new Ge({sources:[t]})),typeof n=="string"&&(n=new Ge({sources:[n]}));let o=t.getCacheKey(),r=n.getCacheKey(),s=l(i)?bve(i):"",a=`${o}:${r}:${s}`,c;if(l(this._shaders[a]))c=this._shaders[a],delete this._shadersToRelease[a];else{let u=this._context,f=t.createCombinedVertexShader(u),d=n.createCombinedFragmentShader(u),p=new sn({gl:u._gl,logShaderCompilation:u.logShaderCompilation,debugShaders:u.debugShaders,vertexShaderSource:t,vertexShaderText:f,fragmentShaderSource:n,fragmentShaderText:d,attributeLocations:i});c={cache:this,shaderProgram:p,keyword:a,derivedKeywords:[],count:0},p._cachedShader=c,this._shaders[a]=c,++this._numberOfShaders}return++c.count,c.shaderProgram};id.prototype.replaceDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=this._shaders[o];if(l(r)){N5(this,r);let s=i.derivedKeywords.indexOf(t);s>-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};id.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(l(o))return o.shaderProgram};id.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new Ge({sources:[r]})),typeof s=="string"&&(s=new Ge({sources:[s]}));let c=this._context,u=r.createCombinedVertexShader(c),f=s.createCombinedFragmentShader(c),d=new sn({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:u,fragmentShaderSource:s,fragmentShaderText:f,attributeLocations:a}),p={cache:this,shaderProgram:d,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),d._cachedShader=p,this._shaders[o]=p,d};function N5(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;o<i;++o){let r=n[o]+t.keyword,s=e._shaders[r];N5(e,s)}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}id.prototype.destroyReleasedShaderPrograms=function(){let e=this._shadersToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];N5(this,n),--this._numberOfShaders}this._shadersToRelease={}};id.prototype.releaseShaderProgram=function(e){if(l(e)){let t=e._cachedShader;t&&--t.count===0&&(this._shadersToRelease[t.keyword]=t)}};id.prototype.isDestroyed=function(){return!1};id.prototype.destroy=function(){let e=this._shaders;for(let t in e)e.hasOwnProperty(t)&&e[t].shaderProgram.finalDestroy();return ue(this)};var vM=id;function od(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=ct.RGBA,pixelDatatype:o=nt.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new tn}=e,{width:c,height:u}=e;l(n)&&(l(c)||(c=n.videoWidth??n.naturalWidth??n.width),l(u)||(u=n.videoHeight??n.naturalHeight??n.height));let f=e.preMultiplyAlpha||i===ct.RGB||i===ct.LUMINANCE,d=ct.toInternalFormat(i,o,t),p=ct.isCompressedFormat(d),g=t._gl,m=p?ct.compressedTextureSizeInBytes(i,c,u):ct.textureSizeInBytes(i,o,c,u);this._id=Gn(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=g.TEXTURE_2D,this._texture=g.createTexture(),this._internalFormat=d,this._pixelFormat=i,this._pixelDatatype=o,this._width=c,this._height=u,this._dimensions=new U(c,u),this._hasMipmap=!1,this._sizeInBytes=m,this._preMultiplyAlpha=f,this._flipY=r,this._initialized=!1,this._sampler=void 0,this._sampler=a,cJ(this,a),g.activeTexture(g.TEXTURE0),g.bindTexture(this._textureTarget,this._texture),l(n)?(s?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(n.arrayBufferView)?ct.isCompressedFormat(d)?Tve(this,n):Cve(this,n):l(n.framebuffer)?Ave(this,n):Eve(this,n),this._initialized=!0):Sve(this),g.bindTexture(this._textureTarget,null)}function Tve(e,t){let i=e._context._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a}=e;if(i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.compressedTexImage2D(o,0,r,s,a,0,t.arrayBufferView),l(t.mipLevels)){let c=s,u=a;for(let f=0;f<t.mipLevels.length;++f)c=DM(c),u=DM(u),i.compressedTexImage2D(o,f+1,r,c,u,0,t.mipLevels[f])}}function Cve(e,t){let n=e._context,i=n._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a,pixelFormat:c,pixelDatatype:u,flipY:f}=e,d=ct.alignmentInBytes(c,u,s);i.pixelStorei(i.UNPACK_ALIGNMENT,d),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1);let p=t.arrayBufferView;if(f&&(p=ct.flipY(p,c,u,s,a)),i.texImage2D(o,0,r,s,a,0,c,nt.toWebGLConstant(u,n),p),l(t.mipLevels)){let g=s,m=a;for(let x=0;x<t.mipLevels.length;++x)g=DM(g),m=DM(m),i.texImage2D(o,x+1,r,g,m,0,c,nt.toWebGLConstant(u,n),t.mipLevels[x])}}function Ave(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._bind(),i.copyTexImage2D(e._textureTarget,0,e._internalFormat,t.xOffset,t.yOffset,e.width,e.height,0),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._unBind()}function Eve(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.preMultiplyAlpha),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,e.flipY),i.texImage2D(e._textureTarget,0,e._internalFormat,e.pixelFormat,nt.toWebGLConstant(e.pixelDatatype,n),t)}function DM(e){let t=Math.floor(e/2)|0;return Math.max(t,1)}function Sve(e){let t=e._context;t._gl.texImage2D(e._textureTarget,0,e._internalFormat,e._width,e._height,0,e._pixelFormat,nt.toWebGLConstant(e._pixelDatatype,t),null)}od.create=function(e){return new od(e)};od.fromFramebuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,{pixelFormat:i=ct.RGB,framebufferXOffset:o=0,framebufferYOffset:r=0,width:s=n.drawingBufferWidth,height:a=n.drawingBufferHeight,framebuffer:c}=e;return new od({context:t,width:s,height:a,pixelFormat:i,source:{framebuffer:l(c)?c:t.defaultFramebuffer,xOffset:o,yOffset:r,width:s,height:a}})};Object.defineProperties(od.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){cJ(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}});function cJ(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[en.NEAREST_MIPMAP_NEAREST,en.NEAREST_MIPMAP_LINEAR,en.LINEAR_MIPMAP_NEAREST,en.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelFormat,a=e._pixelDatatype;(a===nt.FLOAT&&!r.textureFloatLinear||a===nt.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?en.NEAREST_MIPMAP_NEAREST:en.NEAREST,i=fi.NEAREST),r.webgl2&&ct.isDepthFormat(s)&&(n=en.NEAREST,i=fi.NEAREST);let c=r._gl,u=e._textureTarget;c.activeTexture(c.TEXTURE0),c.bindTexture(u,e._texture),c.texParameteri(u,c.TEXTURE_MIN_FILTER,n),c.texParameteri(u,c.TEXTURE_MAG_FILTER,i),c.texParameteri(u,c.TEXTURE_WRAP_S,t.wrapS),c.texParameteri(u,c.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&c.texParameteri(u,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),c.bindTexture(u,null)}od.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,r=this._context,s=r._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture);let{width:c,height:u}=i,f=i.arrayBufferView;l(i.videoWidth)&&l(i.videoHeight)?(c=i.videoWidth,u=i.videoHeight):l(i.naturalWidth)&&l(i.naturalHeight)&&(c=i.naturalWidth,u=i.naturalHeight);let d=this._width,p=this._height,g=this._internalFormat,m=this._pixelFormat,x=this._pixelDatatype,b=this._preMultiplyAlpha,T=this._flipY,C=4;l(f)&&(C=ct.alignmentInBytes(m,x,c)),s.pixelStorei(s.UNPACK_ALIGNMENT,C),o?s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE):s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.BROWSER_DEFAULT_WEBGL);let A=!1;if(!this._initialized){let S;t===0&&n===0&&c===d&&u===p?(l(f)?(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),T?S=ct.flipY(f,m,x,d,p):S=f):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,T),S=i),A=!0):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),S=ct.createTypedArray(m,x,d,p)),s.texImage2D(a,0,g,d,p,0,m,nt.toWebGLConstant(x,r),S),this._initialized=!0}if(!A){let S;l(f)?(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),T?S=ct.flipY(f,m,x,c,u):S=f):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,b),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,T),S=i),s.texSubImage2D(a,0,t,n,c,u,m,nt.toWebGLConstant(x,r),S)}s.bindTexture(a,null)};od.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._width),r=y(r,this._height);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(a,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};od.prototype.generateMipmap=function(e){e=y(e,rp.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};od.prototype.isDestroyed=function(){return!1};od.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),ue(this)};var Mt=od;function D0(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}Object.defineProperties(D0.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}});D0.prototype.getTexture=function(e){let t=this._textures[e];if(l(t))return delete this._texturesToRelease[e],++t.count,t.texture};D0.prototype.addTexture=function(e,t){let n={texture:t,count:1};t.finalDestroy=t.destroy;let i=this;t.destroy=function(){--n.count===0&&(i._texturesToRelease[e]=n)},this._textures[e]=n,++this._numberOfTextures};D0.prototype.destroyReleasedTextures=function(){let e=this._texturesToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];delete this._textures[t],n.texture.finalDestroy(),--this._numberOfTextures}this._texturesToRelease={}};D0.prototype.isDestroyed=function(){return!1};D0.prototype.destroy=function(){let e=this._textures;for(let t in e)e.hasOwnProperty(t)&&e[t].texture.finalDestroy();return ue(this)};var IM=D0;function Ah(){this.high=h.clone(h.ZERO),this.low=h.clone(h.ZERO)}Ah.encode=function(e,t){l(t)||(t={high:0,low:0});let n;return e>=0?(n=Math.floor(e/65536)*65536,t.high=n,t.low=e-n):(n=Math.floor(-e/65536)*65536,t.high=-n,t.low=e+n),t};var sp={high:0,low:0};Ah.fromCartesian=function(e,t){l(t)||(t=new Ah);let n=t.high,i=t.low;return Ah.encode(e.x,sp),n.x=sp.high,i.x=sp.low,Ah.encode(e.y,sp),n.y=sp.high,i.y=sp.low,Ah.encode(e.z,sp),n.z=sp.high,i.z=sp.low,t};var F5=new Ah;Ah.writeElements=function(e,t,n){Ah.fromCartesian(e,F5);let i=F5.high,o=F5.low;t[n]=i.x,t[n+1]=i.y,t[n+2]=i.z,t[n+3]=o.x,t[n+4]=o.y,t[n+5]=o.z};var Wn=Ah;function Os(e,t){this.normal=h.clone(e),this.distance=t}Os.fromPointNormal=function(e,t,n){let i=-h.dot(t,e);return l(n)?(h.clone(t,n.normal),n.distance=i,n):new Os(t,i)};var wve=new h;Os.fromCartesian4=function(e,t){let n=h.fromCartesian4(e,wve),i=e.w;return l(t)?(h.clone(n,t.normal),t.distance=i,t):new Os(n,i)};Os.getPointDistance=function(e,t){return h.dot(e.normal,t)+e.distance};var vve=new h;Os.projectPointOntoPlane=function(e,t,n){l(n)||(n=new h);let i=Os.getPointDistance(e,t),o=h.multiplyByScalar(e.normal,i,vve);return h.subtract(t,o,n)};var Dve=new F,Ive=new oe,Pve=new h;Os.transform=function(e,t,n){let i=e.normal,o=e.distance,r=F.inverseTranspose(t,Dve),s=oe.fromElements(i.x,i.y,i.z,o,Ive);s=F.multiplyByVector(r,s,s);let a=h.fromCartesian4(s,Pve);return s=oe.divideByScalar(s,h.magnitude(a),s),Os.fromCartesian4(s,n)};Os.clone=function(e,t){return l(t)?(h.clone(e.normal,t.normal),t.distance=e.distance,t):new Os(e.normal,e.distance)};Os.equals=function(e,t){return e.distance===t.distance&&h.equals(e.normal,t.normal)};Os.ORIGIN_XY_PLANE=Object.freeze(new Os(h.UNIT_Z,0));Os.ORIGIN_YZ_PLANE=Object.freeze(new Os(h.UNIT_X,0));Os.ORIGIN_ZX_PLANE=Object.freeze(new Os(h.UNIT_Y,0));var cn=Os;function Hu(e){this.planes=y(e,[])}var QS=[new h,new h,new h];h.clone(h.UNIT_X,QS[0]);h.clone(h.UNIT_Y,QS[1]);h.clone(h.UNIT_Z,QS[2]);var U_=new h,Rve=new h,lJ=new cn(new h(1,0,0),0);Hu.fromBoundingSphere=function(e,t){l(t)||(t=new Hu);let n=QS.length,i=t.planes;i.length=2*n;let o=e.center,r=e.radius,s=0;for(let a=0;a<n;++a){let c=QS[a],u=i[s],f=i[s+1];l(u)||(u=i[s]=new oe),l(f)||(f=i[s+1]=new oe),h.multiplyByScalar(c,-r,U_),h.add(o,U_,U_),u.x=c.x,u.y=c.y,u.z=c.z,u.w=-h.dot(c,U_),h.multiplyByScalar(c,r,U_),h.add(o,U_,U_),f.x=-c.x,f.y=-c.y,f.z=-c.z,f.w=-h.dot(h.negate(c,Rve),U_),s+=2}return t};Hu.prototype.computeVisibility=function(e){let t=this.planes,n=!1;for(let i=0,o=t.length;i<o;++i){let r=e.intersectPlane(cn.fromCartesian4(t[i],lJ));if(r===qt.OUTSIDE)return qt.OUTSIDE;r===qt.INTERSECTING&&(n=!0)}return n?qt.INTERSECTING:qt.INSIDE};Hu.prototype.computeVisibilityWithPlaneMask=function(e,t){if(t===Hu.MASK_OUTSIDE||t===Hu.MASK_INSIDE)return t;let n=Hu.MASK_INSIDE,i=this.planes;for(let o=0,r=i.length;o<r;++o){let s=o<31?1<<o:0;if(o<31&&!(t&s))continue;let a=e.intersectPlane(cn.fromCartesian4(i[o],lJ));if(a===qt.OUTSIDE)return Hu.MASK_OUTSIDE;a===qt.INTERSECTING&&(n|=s)}return n};Hu.MASK_OUTSIDE=4294967295;Hu.MASK_INSIDE=0;Hu.MASK_INDETERMINATE=2147483647;var ys=Hu;function Eh(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new ys,this._orthographicMatrix=new F}function uJ(e){(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far)&&(e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=F.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}Object.defineProperties(Eh.prototype,{projectionMatrix:{get:function(){return uJ(this),this._orthographicMatrix}}});var Ove=new h,Mve=new h,Lve=new h,B5=new h;Eh.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,Ove);h.normalize(f,f);let d=Mve;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=Lve;h.multiplyByScalar(f,a,p),h.add(d,p,p);let g=i[0];return l(g)||(g=i[0]=new oe),g.x=f.x,g.y=f.y,g.z=f.z,g.w=-h.dot(f,p),h.multiplyByScalar(f,s,p),h.add(d,p,p),g=i[1],l(g)||(g=i[1]=new oe),g.x=-f.x,g.y=-f.y,g.z=-f.z,g.w=-h.dot(h.negate(f,B5),p),h.multiplyByScalar(n,r,p),h.add(d,p,p),g=i[2],l(g)||(g=i[2]=new oe),g.x=n.x,g.y=n.y,g.z=n.z,g.w=-h.dot(n,p),h.multiplyByScalar(n,o,p),h.add(d,p,p),g=i[3],l(g)||(g=i[3]=new oe),g.x=-n.x,g.y=-n.y,g.z=-n.z,g.w=-h.dot(h.negate(n,B5),p),g=i[4],l(g)||(g=i[4]=new oe),g.x=t.x,g.y=t.y,g.z=t.z,g.w=-h.dot(t,d),h.multiplyByScalar(t,u,p),h.add(e,p,p),g=i[5],l(g)||(g=i[5]=new oe),g.x=-t.x,g.y=-t.y,g.z=-t.z,g.w=-h.dot(h.negate(t,B5),p),this._cullingVolume};Eh.prototype.getPixelDimensions=function(e,t,n,i,o){uJ(this);let r=this.right-this.left,s=this.top-this.bottom,a=i*r/e,c=i*s/t;return o.x=a,o.y=c,o};Eh.prototype.clone=function(e){return l(e)||(e=new Eh),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};Eh.prototype.equals=function(e){return l(e)&&e instanceof Eh&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Eh.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof Eh&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var Br=Eh;function ol(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Br,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far}ol.packedLength=4;ol.pack=function(e,t,n){return n=y(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};ol.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ol),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function z_(e){let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(ol.prototype,{projectionMatrix:{get:function(){return z_(this),this._offCenterFrustum.projectionMatrix}},offCenterFrustum:{get:function(){return z_(this),this._offCenterFrustum}}});ol.prototype.computeCullingVolume=function(e,t,n){return z_(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};ol.prototype.getPixelDimensions=function(e,t,n,i,o){return z_(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};ol.prototype.clone=function(e){return l(e)||(e=new ol),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};ol.prototype.equals=function(e){return!l(e)||!(e instanceof ol)?!1:(z_(this),z_(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};ol.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof ol)?!1:(z_(this),z_(e),P.equalsEpsilon(this.width,e.width,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var an=ol;var k5={};function Nve(e){let t=6.239996+.0172019696544*e;return .001657*Math.sin(t+.01671*Math.sin(t))}var Fve=32.184,Bve=2451545;function IJ(e,t){t=K.addSeconds(e,Fve,t);let n=K.totalDays(t)-Bve;return t=K.addSeconds(t,Nve(n),t),t}var PM=new K(2451545,0,qn.TAI),kve=1e3,Gu=P.RADIANS_PER_DEGREE,Hl=P.RADIANS_PER_ARCSECOND,Aa=14959787e4,fJ=new Z;function PJ(e,t,n,i,o,r,s){n<0&&(n=-n,o+=P.PI);let a=e*(1-t),c=i-o,u=o,f=Uve(r-i,t),d=Vve(t,0);jve(c,n,u,fJ);let p=a*(1+t),g=Math.cos(f),m=Math.sin(f),x=1+t*g,b=p/x;return l(s)?(s.x=b*g,s.y=b*m,s.z=0):s=new h(b*g,b*m,0),Z.multiplyByVector(fJ,s,s)}function Vve(e,t){return e<=t?"Circular":e<1-t?"Elliptical":e<=1+t?"Parabolic":"Hyperbolic"}function Uve(e,t){let n=Gve(e,t);return Wve(n,t)}var zve=50,Hve=P.EPSILON8;function Gve(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),o=Number.MAX_VALUE,r;for(r=0;r<zve&&Math.abs(o-i)>Hve;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*P.TWO_PI,o}function Wve(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=P.zeroToTwoPi(r),e<0&&(r-=P.TWO_PI),r+=n*P.TWO_PI,r}function jve(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),u=Math.sin(n);return l(i)?(i[0]=c*o-u*r*s,i[1]=u*o+c*r*s,i[2]=r*a,i[3]=-c*r-u*o*s,i[4]=-u*r+c*o*s,i[5]=o*a,i[6]=u*a,i[7]=-c*a,i[8]=s):i=new Z(c*o-u*r*s,-c*r-u*o*s,u*a,u*o+c*r*s,-u*r+c*o*s,-c*a,r*a,o*a,s),i}var qve=1.0000010178*Aa,Yve=100.46645683*Gu,Xve=129597742283429e-5*Hl,dJ=16002,hJ=21863,mJ=32004,pJ=10931,_J=14529,gJ=16368,yJ=15318,xJ=32794,Kve=64*1e-7*Aa,$ve=-152*1e-7*Aa,Zve=62*1e-7*Aa,Qve=-8*1e-7*Aa,Jve=32*1e-7*Aa,eDe=-41*1e-7*Aa,tDe=19*1e-7*Aa,nDe=-11*1e-7*Aa,iDe=-150*1e-7*Aa,oDe=-46*1e-7*Aa,rDe=68*1e-7*Aa,sDe=54*1e-7*Aa,aDe=14*1e-7*Aa,cDe=24*1e-7*Aa,lDe=-28*1e-7*Aa,uDe=22*1e-7*Aa,bJ=10,TJ=16002,CJ=21863,AJ=10931,EJ=1473,SJ=32004,wJ=4387,vJ=73,fDe=-325*1e-7,dDe=-322*1e-7,hDe=-79*1e-7,mDe=232*1e-7,pDe=-52*1e-7,_De=97*1e-7,gDe=55*1e-7,yDe=-41*1e-7,xDe=-105*1e-7,bDe=-137*1e-7,TDe=258*1e-7,CDe=35*1e-7,ADe=-116*1e-7,EDe=-88*1e-7,SDe=-112*1e-7,wDe=-80*1e-7,CT=new K(0,0,qn.TAI);function vDe(e,t){IJ(e,CT);let i=(CT.dayNumber-PM.dayNumber+(CT.secondsOfDay-PM.secondsOfDay)/Yn.SECONDS_PER_DAY)/(Yn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=qve+Kve*Math.cos(dJ*o)+iDe*Math.sin(dJ*o)+$ve*Math.cos(hJ*o)+oDe*Math.sin(hJ*o)+Zve*Math.cos(mJ*o)+rDe*Math.sin(mJ*o)+Qve*Math.cos(pJ*o)+sDe*Math.sin(pJ*o)+Jve*Math.cos(_J*o)+aDe*Math.sin(_J*o)+eDe*Math.cos(gJ*o)+cDe*Math.sin(gJ*o)+tDe*Math.cos(yJ*o)+lDe*Math.sin(yJ*o)+nDe*Math.cos(xJ*o)+uDe*Math.sin(xJ*o),s=Yve+Xve*i+fDe*Math.cos(bJ*o)+xDe*Math.sin(bJ*o)+dDe*Math.cos(TJ*o)+bDe*Math.sin(TJ*o)+hDe*Math.cos(CJ*o)+TDe*Math.sin(CJ*o)+mDe*Math.cos(AJ*o)+CDe*Math.sin(AJ*o)+pDe*Math.cos(EJ*o)+ADe*Math.sin(EJ*o)+_De*Math.cos(SJ*o)+EDe*Math.sin(SJ*o)+gDe*Math.cos(wJ*o)+SDe*Math.sin(wJ*o)+yDe*Math.cos(vJ*o)+wDe*Math.sin(vJ*o),a=.0167086342-.0004203654*i,c=102.93734808*Gu+11612.3529*Hl*i,u=469.97289*Hl*i,f=174.87317577*Gu-8679.27034*Hl*i;return PJ(r,a,u,c,f,s,t)}function RJ(e,t){IJ(e,CT);let i=(CT.dayNumber-PM.dayNumber+(CT.secondsOfDay-PM.secondsOfDay)/Yn.SECONDS_PER_DAY)/Yn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,u=5.15668983*Gu,f=-8e-5*i+.02966*o-42e-6*r-13e-8*s,d=83.35324312*Gu,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*Gu,m=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,x=218.31664563*Gu,b=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,T=297.85019547*Gu+Hl*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),C=93.27209062*Gu+Hl*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),A=134.96340251*Gu+Hl*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),S=357.52910918*Gu+Hl*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),w=310.17137918*Gu-Hl*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),D=2*T,O=4*T,R=6*T,M=2*A,L=3*A,_=4*A,E=2*C;a+=3400.4*Math.cos(D)-635.6*Math.cos(D-A)-235.6*Math.cos(A)+218.1*Math.cos(D-S)+181*Math.cos(D+A),c+=.014216*Math.cos(D-A)+.008551*Math.cos(D-M)-.001383*Math.cos(A)+.001356*Math.cos(D+A)-.001147*Math.cos(O-L)-914e-6*Math.cos(O-M)+869e-6*Math.cos(D-S-A)-627e-6*Math.cos(D)-394e-6*Math.cos(O-_)+282e-6*Math.cos(D-S-M)-279e-6*Math.cos(T-A)-236e-6*Math.cos(M)+231e-6*Math.cos(O)+229e-6*Math.cos(R-_)-201e-6*Math.cos(M-E),f+=486.26*Math.cos(D-E)-40.13*Math.cos(D)+37.51*Math.cos(E)+25.73*Math.cos(M-E)+19.97*Math.cos(D-S-E),p+=-55609*Math.sin(D-A)-34711*Math.sin(D-M)-9792*Math.sin(A)+9385*Math.sin(O-L)+7505*Math.sin(O-M)+5318*Math.sin(D+A)+3484*Math.sin(O-_)-3417*Math.sin(D-S-A)-2530*Math.sin(R-_)-2376*Math.sin(D)-2075*Math.sin(D-L)-1883*Math.sin(M)-1736*Math.sin(R-5*A)+1626*Math.sin(S)-1370*Math.sin(R-L),m+=-5392*Math.sin(D-E)-540*Math.sin(S)-441*Math.sin(D)+423*Math.sin(E)-288*Math.sin(M-E),b+=-3332.9*Math.sin(D)+1197.4*Math.sin(D-A)-662.5*Math.sin(S)+396.3*Math.sin(A)-218*Math.sin(D-S);let v=2*w,I=3*w;f+=46.997*Math.cos(w)*i-.614*Math.cos(D-E+w)*i+.614*Math.cos(D-E-w)*i-.0297*Math.cos(v)*o-.0335*Math.cos(w)*o+.0012*Math.cos(D-E+v)*o-16e-5*Math.cos(w)*r+4e-5*Math.cos(I)*r+4e-5*Math.cos(v)*r;let N=2.116*Math.sin(w)*i-.111*Math.sin(D-E-w)*i-.0015*Math.sin(w)*o;p+=N,b+=N,m+=-520.77*Math.sin(w)*i+13.66*Math.sin(D-E+w)*i+1.12*Math.sin(D-w)*i-1.06*Math.sin(E-w)*i+.66*Math.sin(v)*o+.371*Math.sin(w)*o-.035*Math.sin(D-E+v)*o-.015*Math.sin(D-E+w)*o+.0014*Math.sin(w)*r-.0011*Math.sin(I)*r-9e-4*Math.sin(v)*r,a*=kve;let B=u+f*Hl,z=d+p*Hl,V=x+b*Hl,G=g+m*Hl;return PJ(a,c,B,z,G,V,t)}var DJ=.012300034,DDe=DJ/(DJ+1)*-1;function IDe(e,t){return t=RJ(e,t),h.multiplyByScalar(t,DDe,t)}var OJ=new Z(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),JS=new h;k5.computeSunPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),l(t)||(t=new h),JS=vDe(e,JS),t=h.negate(JS,t),IDe(e,JS),h.subtract(t,JS,t),Z.multiplyByVector(OJ,t,t),t};k5.computeMoonPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),t=RJ(e,t),Z.multiplyByVector(OJ,t,t),t};var I0=k5;var RM={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};RM.getMorphTime=function(e){return e===RM.SCENE3D?1:e===RM.MORPHING?void 0:0};var ne=Object.freeze(RM);function PDe(e){e=y(e,y.EMPTY_OBJECT),this.color=H.clone(y(e.color,H.WHITE)),this.intensity=y(e.intensity,2)}var H_=PDe;function AT(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new qe,this._viewportCartesian4=new oe,this._viewportDirty=!1,this._viewportOrthographicMatrix=F.clone(F.IDENTITY),this._viewportTransformation=F.clone(F.IDENTITY),this._model=F.clone(F.IDENTITY),this._view=F.clone(F.IDENTITY),this._inverseView=F.clone(F.IDENTITY),this._projection=F.clone(F.IDENTITY),this._infiniteProjection=F.clone(F.IDENTITY),this._entireFrustum=new U,this._currentFrustum=new U,this._frustumPlanes=new oe,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=Z.clone(F.IDENTITY),this._view3DDirty=!0,this._view3D=new F,this._inverseView3DDirty=!0,this._inverseView3D=new F,this._inverseModelDirty=!0,this._inverseModel=new F,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new Z,this._viewRotation=new Z,this._inverseViewRotation=new Z,this._viewRotation3D=new Z,this._inverseViewRotation3D=new Z,this._inverseProjectionDirty=!0,this._inverseProjection=new F,this._modelViewDirty=!0,this._modelView=new F,this._modelView3DDirty=!0,this._modelView3D=new F,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new F,this._inverseModelViewDirty=!0,this._inverseModelView=new F,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new F,this._viewProjectionDirty=!0,this._viewProjection=new F,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new F,this._modelViewProjectionDirty=!0,this._modelViewProjection=new F,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new F,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new F,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new F,this._normalDirty=!0,this._normal=new Z,this._normal3DDirty=!0,this._normal3D=new Z,this._inverseNormalDirty=!0,this._inverseNormal=new Z,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new Z,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new Wn,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new U,this._eyeEllipsoidNormalEC=new h,this._eyeEllipsoidCurvature=new U,this._modelToEnu=new F,this._enuToModel=new F,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new H,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._fogMinimumBrightness=void 0,this._atmosphereHsbShift=void 0,this._atmosphereLightIntensity=void 0,this._atmosphereRayleighCoefficient=new h,this._atmosphereRayleighScaleHeight=new h,this._atmosphereMieCoefficient=new h,this._atmosphereMieScaleHeight=void 0,this._atmosphereMieAnisotropy=void 0,this._atmosphereDynamicLighting=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(AT.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!qe.equals(e,this._viewport)){qe.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return LJ(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return LJ(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){F.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,F.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,F.getMatrix3(this.inverseModel,e),Z.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return U5(this),this._view3D}},viewRotation:{get:function(){return U5(this),this._viewRotation}},viewRotation3D:{get:function(){return U5(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return BJ(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return BJ(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return zDe(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return HDe(this),this._modelView}},modelView3D:{get:function(){return GDe(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return KDe(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return WDe(this),this._inverseModelView}},inverseModelView3D:{get:function(){return jDe(this),this._inverseModelView3D}},viewProjection:{get:function(){return qDe(this),this._viewProjection}},inverseViewProjection:{get:function(){return YDe(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return XDe(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return $De(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return ZDe(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return QDe(this),this._modelViewInfiniteProjection}},normal:{get:function(){return JDe(this),this._normal}},normal3D:{get:function(){return eIe(this),this._normal3D}},inverseNormal:{get:function(){return tIe(this),this._inverseNormal}},inverseNormal3D:{get:function(){return nIe(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},eyeEllipsoidNormalEC:{get:function(){return this._eyeEllipsoidNormalEC}},eyeEllipsoidCurvature:{get:function(){return this._eyeEllipsoidCurvature}},modelToEnu:{get:function(){return this._modelToEnu}},enuToModel:{get:function(){return this._enuToModel}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return FJ(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return FJ(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},fogMinimumBrightness:{get:function(){return this._fogMinimumBrightness}},atmosphereHsbShift:{get:function(){return this._atmosphereHsbShift}},atmosphereLightIntensity:{get:function(){return this._atmosphereLightIntensity}},atmosphereRayleighCoefficient:{get:function(){return this._atmosphereRayleighCoefficient}},atmosphereRayleighScaleHeight:{get:function(){return this._atmosphereRayleighScaleHeight}},atmosphereMieCoefficient:{get:function(){return this._atmosphereMieCoefficient}},atmosphereMieScaleHeight:{get:function(){return this._atmosphereMieScaleHeight}},atmosphereMieAnisotropy:{get:function(){return this._atmosphereMieAnisotropy}},atmosphereDynamicLighting:{get:function(){return this._atmosphereDynamicLighting}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,ee.default)}}});function RDe(e,t){F.clone(t,e._view),F.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function ODe(e,t){F.clone(t,e._inverseView),F.getMatrix3(t,e._inverseViewRotation)}function MDe(e,t){F.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function LDe(e,t){F.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}var MJ=new h,NDe=new F;function FDe(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=e._ellipsoid,i,o=t.positionCartographic;if(l(o)?(e._eyeHeight=o.height,e._eyeEllipsoidNormalEC=n.geodeticSurfaceNormalCartographic(o,e._eyeEllipsoidNormalEC),i=h.fromRadians(o.longitude,o.latitude,0,n,MJ)):(e._eyeHeight=-n.maximumRadius,h.magnitude(t.positionWC)>0&&(e._eyeEllipsoidNormalEC=h.normalize(t.positionWC,e._eyeEllipsoidNormalEC)),i=n.scaleToGeodeticSurface(t.positionWC,MJ)),e._encodedCameraPositionMCDirty=!0,!l(i))return;e._eyeEllipsoidNormalEC=Z.multiplyByVector(e._viewRotation,e._eyeEllipsoidNormalEC,e._eyeEllipsoidNormalEC);let r=Bt.eastNorthUpToFixedFrame(i,n,NDe);e._enuToModel=F.multiplyTransformation(e.inverseModel,r,e._enuToModel),e._modelToEnu=F.inverseTransformation(e._enuToModel,e._modelToEnu),P.equalsEpsilon(n._radii.x,n._radii.y,P.EPSILON15)&&(e._eyeEllipsoidCurvature=n.getLocalCurvature(i,e._eyeEllipsoidCurvature))}var V5=new Z,BDe=new fe;function kDe(e,t){Bt.computeIcrfToCentralBodyFixedMatrix(t.time,V5);let n=I0.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);Z.multiplyByVector(V5,n,n),h.normalize(n,e._sunDirectionWC),n=Z.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=I0.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),Z.multiplyByVector(V5,n,n),Z.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,BDe);i.project(r,e._sunPositionColumbusView)}AT.prototype.updateCamera=function(e){RDe(this,e.viewMatrix),ODe(this,e.inverseViewMatrix),FDe(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==ne.SCENE2D&&e.frustum instanceof an};AT.prototype.updateFrustum=function(e){MDe(this,e.projectionMatrix),l(e.infiniteProjectionMatrix)&&LDe(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=P.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let t=e.offCenterFrustum;l(t)&&(e=t),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};AT.prototype.updatePass=function(e){this._pass=e};var VDe=[],UDe=new H_;AT.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===ne.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),kDe(this,e);let n=y(e.light,UDe);n instanceof H_?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=Z.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=l(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,VDe),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,this._fogDensity=e.fog.density,this._fogMinimumBrightness=e.fog.minimumBrightness;let c=e.atmosphere;l(c)&&(this._atmosphereHsbShift=h.fromElements(c.hueShift,c.saturationShift,c.brightnessShift,this._atmosphereHsbShift),this._atmosphereLightIntensity=c.lightIntensity,this._atmosphereRayleighCoefficient=h.clone(c.rayleighCoefficient,this._atmosphereRayleighCoefficient),this._atmosphereRayleighScaleHeight=c.rayleighScaleHeight,this._atmosphereMieCoefficient=h.clone(c.mieCoefficient,this._atmosphereMieCoefficient),this._atmosphereMieScaleHeight=c.mieScaleHeight,this._atmosphereMieAnisotropy=c.mieAnisotropy,this._atmosphereDynamicLighting=c.dynamicLighting),this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Bt.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let u=t.frustum.fov,f=this._viewport,d;l(u)?f.height>f.width?d=Math.tan(.5*u)*2/f.height:d=Math.tan(.5*u)*2/f.width:d=1/Math.max(f.width,f.height),this._geometricToleranceOverMeter=d*e.maximumScreenSpaceError,H.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function LJ(e){if(e._viewportDirty){let t=e._viewport;F.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),F.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function zDe(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==ne.SCENE2D&&e._mode!==ne.MORPHING&&!e._orthographicIn3D?F.inverse(e._projection,e._inverseProjection):F.clone(F.ZERO,e._inverseProjection))}function HDe(e){e._modelViewDirty&&(e._modelViewDirty=!1,F.multiplyTransformation(e._view,e._model,e._modelView))}function GDe(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,F.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function WDe(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,F.inverse(e.modelView,e._inverseModelView))}function jDe(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,F.inverse(e.modelView3D,e._inverseModelView3D))}function qDe(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,F.multiply(e._projection,e._view,e._viewProjection))}function YDe(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,F.inverse(e.viewProjection,e._inverseViewProjection))}function XDe(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,F.multiply(e._projection,e.modelView,e._modelViewProjection))}function KDe(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function $De(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,F.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function ZDe(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,F.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function QDe(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,F.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function JDe(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;F.getMatrix3(e.inverseModelView,t),Z.transpose(t,t)}}function eIe(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;F.getMatrix3(e.inverseModelView3D,t),Z.transpose(t,t)}}function tIe(e){if(e._inverseNormalDirty){e._inverseNormalDirty=!1;let t=e._inverseNormal;F.getMatrix3(e.modelView,t),Z.transpose(t,t)}}function nIe(e){if(e._inverseNormal3DDirty){e._inverseNormal3DDirty=!1;let t=e._inverseNormal3D;F.getMatrix3(e.modelView3D,t),Z.transpose(t,t)}}var NJ=new h;function FJ(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,F.multiplyByPoint(e.inverseModel,e._cameraPosition,NJ),Wn.fromCartesian(NJ,e._encodedCameraPositionMC))}var iIe=new h,oIe=new h,rIe=new h,sIe=new h,aIe=new fe,cIe=new h,lIe=new F;function uIe(e,t,n,i,o,r,s,a){let c=iIe;c.x=e.y,c.y=e.z,c.z=e.x;let u=oIe;u.x=n.y,u.y=n.z,u.z=n.x;let f=rIe;f.x=i.y,f.y=i.z,f.z=i.x;let d=sIe;d.x=t.y,d.y=t.z,d.z=t.x,r===ne.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,aIe);p.longitude=P.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=P.clamp(p.latitude,-P.PI_OVER_TWO,P.PI_OVER_TWO);let g=s.ellipsoid,m=g.cartographicToCartesian(p,cIe),x=Bt.eastNorthUpToFixedFrame(m,g,lIe);return F.multiplyByPointAsVector(x,u,u),F.multiplyByPointAsVector(x,f,f),F.multiplyByPointAsVector(x,d,d),l(a)||(a=new F),a[0]=u.x,a[1]=f.x,a[2]=-d.x,a[3]=0,a[4]=u.y,a[5]=f.y,a[6]=-d.y,a[7]=0,a[8]=u.z,a[9]=f.z,a[10]=-d.z,a[11]=0,a[12]=-h.dot(u,m),a[13]=-h.dot(f,m),a[14]=h.dot(d,m),a[15]=1,a}function U5(e){e._view3DDirty&&(e._mode===ne.SCENE3D?F.clone(e._view,e._view3D):uIe(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),F.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function BJ(e){e._inverseView3DDirty&&(F.inverseTransformation(e.view3D,e._inverseView3D),F.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var OM=AT;function fIe(e,t,n,i){let o=l(t.vertexBuffer),r=l(t.value),s=t.value?t.value.length:t.componentsPerAttribute,a={index:y(t.index,n),enabled:y(t.enabled,!0),vertexBuffer:t.vertexBuffer,value:r?t.value.slice(0):void 0,componentsPerAttribute:s,componentDatatype:y(t.componentDatatype,X.FLOAT),normalize:y(t.normalize,!1),offsetInBytes:y(t.offsetInBytes,0),strideInBytes:y(t.strideInBytes,0),instanceDivisor:y(t.instanceDivisor,0)};if(o)a.vertexAttrib=function(c){let u=this.index;c.bindBuffer(c.ARRAY_BUFFER,this.vertexBuffer._getBuffer()),c.vertexAttribPointer(u,this.componentsPerAttribute,this.componentDatatype,this.normalize,this.strideInBytes,this.offsetInBytes),c.enableVertexAttribArray(u),this.instanceDivisor>0&&(i.glVertexAttribDivisor(u,this.instanceDivisor),i._vertexAttribDivisors[u]=this.instanceDivisor,i._previousDrawInstanced=!0)},a.disableVertexAttribArray=function(c){c.disableVertexAttribArray(this.index),this.instanceDivisor>0&&i.glVertexAttribDivisor(n,0)};else{switch(a.componentsPerAttribute){case 1:a.vertexAttrib=function(c){c.vertexAttrib1fv(this.index,this.value)};break;case 2:a.vertexAttrib=function(c){c.vertexAttrib2fv(this.index,this.value)};break;case 3:a.vertexAttrib=function(c){c.vertexAttrib3fv(this.index,this.value)};break;case 4:a.vertexAttrib=function(c){c.vertexAttrib4fv(this.index,this.value)};break}a.disableVertexAttribArray=function(c){}}e.push(a)}function VJ(e,t,n){for(let i=0;i<t.length;++i){let o=t[i];o.enabled&&o.vertexAttrib(e)}l(n)&&e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,n._getBuffer())}function ap(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,i=e.attributes,o=e.indexBuffer,r,s=[],a=1,c=!1,u=!1,f=i.length;for(r=0;r<f;++r)fIe(s,i[r],r,t);for(f=s.length,r=0;r<f;++r){let p=s[r];if(l(p.vertexBuffer)&&p.instanceDivisor===0){let g=p.strideInBytes||p.componentsPerAttribute*X.getSizeInBytes(p.componentDatatype);a=p.vertexBuffer.sizeInBytes/g;break}}for(r=0;r<f;++r)s[r].instanceDivisor>0&&(c=!0),l(s[r].value)&&(u=!0);let d;t.vertexArrayObject&&(d=t.glCreateVertexArray(),t.glBindVertexArray(d),VJ(n,s,o),t.glBindVertexArray(null)),this._numberOfVertices=a,this._hasInstancedAttributes=c,this._hasConstantAttributes=u,this._context=t,this._gl=n,this._vao=d,this._attributes=s,this._indexBuffer=o}function kJ(e){return e.values.length/e.componentsPerAttribute}function dIe(e){return X.getSizeInBytes(e.componentDatatype)*e.componentsPerAttribute}function hIe(e){let t,n,i,o=[];for(n in e)e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)&&(o.push(n),e[n].componentDatatype===X.DOUBLE&&(e[n].componentDatatype=X.FLOAT,e[n].values=X.createTypedArray(X.FLOAT,e[n].values)));let r,s=o.length;if(s>0)for(r=kJ(e[o[0]]),t=1;t<s;++t){let u=kJ(e[o[t]]);if(u!==r)throw new ce(`Each attribute list must have the same number of vertices. Attribute ${o[t]} has a different number of vertices (${u.toString()}) than attribute ${o[0]} (${r.toString()}).`)}o.sort(function(u,f){return X.getSizeInBytes(e[f].componentDatatype)-X.getSizeInBytes(e[u].componentDatatype)});let a=0,c={};for(t=0;t<s;++t)n=o[t],i=e[n],c[n]=a,a+=dIe(i);if(a>0){let u=X.getSizeInBytes(e[o[0]].componentDatatype),f=a%u;f!==0&&(a+=u-f);let d=r*a,p=new ArrayBuffer(d),g={};for(t=0;t<s;++t){n=o[t];let m=X.getSizeInBytes(e[n].componentDatatype);g[n]={pointer:X.createTypedArray(e[n].componentDatatype,p),index:c[n]/m,strideInComponentType:a/m}}for(t=0;t<r;++t)for(let m=0;m<s;++m){n=o[m],i=e[n];let x=i.values,b=g[n],T=b.pointer,C=i.componentsPerAttribute;for(let A=0;A<C;++A)T[b.index+A]=x[t*C+A];b.index+=b.strideInComponentType}return{buffer:p,offsetsInBytes:c,vertexSizeInBytes:a}}}ap.fromGeometry=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=y(e.geometry,y.EMPTY_OBJECT),i=y(e.bufferUsage,Ve.DYNAMIC_DRAW),o=y(e.attributeLocations,y.EMPTY_OBJECT),r=y(e.interleave,!1),s=e.vertexArrayAttributes,a,c,u,f=l(s)?s:[],d=n.attributes;if(r){let m=hIe(d);if(l(m)){u=yt.createVertexBuffer({context:t,typedArray:m.buffer,usage:i});let x=m.offsetsInBytes,b=m.vertexSizeInBytes;for(a in d)d.hasOwnProperty(a)&&l(d[a])&&(c=d[a],l(c.values)?f.push({index:o[a],vertexBuffer:u,componentDatatype:c.componentDatatype,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize,offsetInBytes:x[a],strideInBytes:b}):f.push({index:o[a],value:c.value,componentDatatype:c.componentDatatype,normalize:c.normalize}))}}else for(a in d)if(d.hasOwnProperty(a)&&l(d[a])){c=d[a];let m=c.componentDatatype;m===X.DOUBLE&&(m=X.FLOAT),u=void 0,l(c.values)&&(u=yt.createVertexBuffer({context:t,typedArray:X.createTypedArray(m,c.values),usage:i})),f.push({index:o[a],vertexBuffer:u,value:c.value,componentDatatype:m,componentsPerAttribute:c.componentsPerAttribute,normalize:c.normalize})}let p,g=n.indices;return l(g)&&(dt.computeNumberOfVertices(n)>=P.SIXTY_FOUR_KILOBYTES&&t.elementIndexUint?p=yt.createIndexBuffer({context:t,typedArray:new Uint32Array(g),usage:i,indexDatatype:Be.UNSIGNED_INT}):p=yt.createIndexBuffer({context:t,typedArray:new Uint16Array(g),usage:i,indexDatatype:Be.UNSIGNED_SHORT})),new ap({context:t,attributes:f,indexBuffer:p})};Object.defineProperties(ap.prototype,{numberOfAttributes:{get:function(){return this._attributes.length}},numberOfVertices:{get:function(){return this._numberOfVertices}},indexBuffer:{get:function(){return this._indexBuffer}}});ap.prototype.getAttribute=function(e){return this._attributes[e]};function mIe(e){let t=e._context,n=e._hasInstancedAttributes;if(!n&&!t._previousDrawInstanced)return;t._previousDrawInstanced=n;let i=t._vertexAttribDivisors,o=e._attributes,r=Ut.maximumVertexAttributes,s;if(n){let a=o.length;for(s=0;s<a;++s){let c=o[s];if(c.enabled){let u=c.instanceDivisor,f=c.index;u!==i[f]&&(t.glVertexAttribDivisor(f,u),i[f]=u)}}}else for(s=0;s<r;++s)i[s]>0&&(t.glVertexAttribDivisor(s,0),i[s]=0)}function pIe(e,t){let n=e._attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];r.enabled&&l(r.value)&&r.vertexAttrib(t)}}ap.prototype._bind=function(){l(this._vao)?(this._context.glBindVertexArray(this._vao),this._context.instancedArrays&&mIe(this),this._hasConstantAttributes&&pIe(this,this._gl)):VJ(this._gl,this._attributes,this._indexBuffer)};ap.prototype._unBind=function(){if(l(this._vao))this._context.glBindVertexArray(null);else{let e=this._attributes,t=this._gl;for(let n=0;n<e.length;++n){let i=e[n];i.enabled&&i.disableVertexAttribArray(t)}this._indexBuffer&&t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)}};ap.prototype.isDestroyed=function(){return!1};ap.prototype.destroy=function(){let e=this._attributes;for(let n=0;n<e.length;++n){let i=e[n].vertexBuffer;l(i)&&!i.isDestroyed()&&i.vertexArrayDestroyable&&i.destroy()}let t=this._indexBuffer;return l(t)&&!t.isDestroyed()&&t.vertexArrayDestroyable&&t.destroy(),l(this._vao)&&this._context.glDeleteVertexArray(this._vao),ue(this)};var di=ap;function Gl(e,t){let{getWebGLStub:n,requestWebgl1:i,webgl:o={},allowTextureFilterAnisotropic:r=!0}=y(t,{});o.alpha=y(o.alpha,!1),o.stencil=y(o.stencil,!0),o.powerPreference=y(o.powerPreference,"high-performance");let s=l(n)?n(e,o):_Ie(e,o,i),c=typeof WebGL2RenderingContext<"u"&&s instanceof WebGL2RenderingContext;this._canvas=e,this._originalGLContext=s,this._gl=s,this._webgl2=c,this._id=Gn(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new vM(this),this._textureCache=new IM;let u=s;this._stencilBits=u.getParameter(u.STENCIL_BITS),Ut._maximumCombinedTextureImageUnits=u.getParameter(u.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Ut._maximumCubeMapSize=u.getParameter(u.MAX_CUBE_MAP_TEXTURE_SIZE),Ut._maximumFragmentUniformVectors=u.getParameter(u.MAX_FRAGMENT_UNIFORM_VECTORS),Ut._maximumTextureImageUnits=u.getParameter(u.MAX_TEXTURE_IMAGE_UNITS),Ut._maximumRenderbufferSize=u.getParameter(u.MAX_RENDERBUFFER_SIZE),Ut._maximumTextureSize=u.getParameter(u.MAX_TEXTURE_SIZE),Ut._maximumVaryingVectors=u.getParameter(u.MAX_VARYING_VECTORS),Ut._maximumVertexAttributes=u.getParameter(u.MAX_VERTEX_ATTRIBS),Ut._maximumVertexTextureImageUnits=u.getParameter(u.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Ut._maximumVertexUniformVectors=u.getParameter(u.MAX_VERTEX_UNIFORM_VECTORS),Ut._maximumSamples=this._webgl2?u.getParameter(u.MAX_SAMPLES):0;let f=u.getParameter(u.ALIASED_LINE_WIDTH_RANGE);Ut._minimumAliasedLineWidth=f[0],Ut._maximumAliasedLineWidth=f[1];let d=u.getParameter(u.ALIASED_POINT_SIZE_RANGE);Ut._minimumAliasedPointSize=d[0],Ut._maximumAliasedPointSize=d[1];let p=u.getParameter(u.MAX_VIEWPORT_DIMS);Ut._maximumViewportWidth=p[0],Ut._maximumViewportHeight=p[1];let g=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_FLOAT);Ut._highpFloatSupported=g.precision!==0;let m=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_INT);Ut._highpIntSupported=m.rangeMax!==0,this._antialias=u.getContextAttributes().antialias,this._standardDerivatives=!!hr(u,["OES_standard_derivatives"]),this._blendMinmax=!!hr(u,["EXT_blend_minmax"]),this._elementIndexUint=!!hr(u,["OES_element_index_uint"]),this._depthTexture=!!hr(u,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!hr(u,["EXT_frag_depth"]),this._debugShaders=hr(u,["WEBGL_debug_shaders"]),this._textureFloat=!!hr(u,["OES_texture_float"]),this._textureHalfFloat=!!hr(u,["OES_texture_half_float"]),this._textureFloatLinear=!!hr(u,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!hr(u,["OES_texture_half_float_linear"]),this._supportsTextureLod=!!hr(u,["EXT_shader_texture_lod"]),this._colorBufferFloat=!!hr(u,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!hr(u,["EXT_float_blend"]),this._colorBufferHalfFloat=!!hr(u,["EXT_color_buffer_half_float"]),this._s3tc=!!hr(u,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!hr(u,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!hr(u,["WEBGL_compressed_texture_astc"]),this._etc=!!hr(u,["WEBG_compressed_texture_etc"]),this._etc1=!!hr(u,["WEBGL_compressed_texture_etc1"]),this._bc7=!!hr(u,["EXT_texture_compression_bptc"]),zl.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let x=r?hr(u,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=x,Ut._maximumTextureFilterAnisotropy=l(x)?u.getParameter(x.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let b,T,C,A,S,w,D,O,R,M;if(c){let v=this;b=function(){return v._gl.createVertexArray()},T=function(I){v._gl.bindVertexArray(I)},C=function(I){v._gl.deleteVertexArray(I)},A=function(I,N,B,z,V){u.drawElementsInstanced(I,N,B,z,V)},S=function(I,N,B,z){u.drawArraysInstanced(I,N,B,z)},w=function(I,N){u.vertexAttribDivisor(I,N)},D=function(I){u.drawBuffers(I)}}else O=hr(u,["OES_vertex_array_object"]),l(O)&&(b=function(){return O.createVertexArrayOES()},T=function(v){O.bindVertexArrayOES(v)},C=function(v){O.deleteVertexArrayOES(v)}),R=hr(u,["ANGLE_instanced_arrays"]),l(R)&&(A=function(v,I,N,B,z){R.drawElementsInstancedANGLE(v,I,N,B,z)},S=function(v,I,N,B){R.drawArraysInstancedANGLE(v,I,N,B)},w=function(v,I){R.vertexAttribDivisorANGLE(v,I)}),M=hr(u,["WEBGL_draw_buffers"]),l(M)&&(D=function(v){M.drawBuffersWEBGL(v)});this.glCreateVertexArray=b,this.glBindVertexArray=T,this.glDeleteVertexArray=C,this.glDrawElementsInstanced=A,this.glDrawArraysInstanced=S,this.glVertexAttribDivisor=w,this.glDrawBuffers=D,this._vertexArrayObject=!!O,this._instancedArrays=!!R,this._drawBuffers=!!M,Ut._maximumDrawBuffers=this.drawBuffers?u.getParameter(te.MAX_DRAW_BUFFERS):1,Ut._maximumColorAttachments=this.drawBuffers?u.getParameter(te.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new H(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let L=new OM,_=new Tc(this),E=ze.fromCache();this._defaultPassState=_,this._defaultRenderState=E,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=L,this._currentRenderState=E,this._currentPassState=_,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let v=0;v<Ut._maximumVertexAttributes;v++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options={getWebGLStub:n,requestWebgl1:i,webgl:o,allowTextureFilterAnisotropic:r},this.cache={},ze.apply(u,E,_)}function _Ie(e,t,n){if(typeof WebGLRenderingContext>"u")throw new ce("The browser does not support WebGL. Visit http://get.webgl.org.");!n&&!(typeof WebGL2RenderingContext<"u")&&(n=!0);let o=n?"webgl":"webgl2",r=e.getContext(o,t);if(!l(r))throw new ce("The browser supports WebGL, but initialization failed.");return r}function gIe(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function yIe(e,t,n,i){let o=`${gIe(e,i)}: ${t.name}(`;for(let r=0;r<n.length;++r)r!==0&&(o+=", "),o+=n[r];return o+=");",o}function xIe(e,t,n){let i=e.getError();if(i!==e.NO_ERROR)throw new ce(yIe(e,t,n,i))}function bIe(e,t,n){return{get:function(){let i=e[t];return n(e,`get: ${t}`,i),e[t]},set:function(i){e[t]=i,n(e,`set: ${t}`,i)}}}function TIe(e,t){if(!l(t))return e;function n(o){return function(){let r=o.apply(e,arguments);return t(e,o,arguments),r}}let i={};for(let o in e){let r=e[o];r instanceof Function?i[o]=n(r):Object.defineProperty(i,o,bIe(e,o,t))}return i}function hr(e,t){let n=t.length;for(let i=0;i<n;++i){let o=e.getExtension(t[i]);if(o)return o}}var CIe={};Object.defineProperties(Gl.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return this._stencilBits>=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},supportsTextureLod:{get:function(){return this._webgl2||this._supportsTextureLod}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=TIe(this._originalGLContext,e?xIe:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new Mt({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new Mt({context:this,pixelFormat:ct.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new Mt({context:this,pixelFormat:ct.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new qa({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return CIe}}});function UJ(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,ze.partialApply(e._gl,o,t,r,n,i)}var z5;typeof WebGLRenderingContext<"u"&&(z5=[te.BACK]);function H5(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=z5;if(l(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var AIe=new ni;Gl.prototype.clear=function(e,t){e=y(e,AIe),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;l(o)&&(H.equals(this._clearColor,o)||(H.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),l(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),l(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);UJ(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);H5(this,c),n.clear(i)};function EIe(e,t,n,i,o){H5(e,t),UJ(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function SIe(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,F.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let u=r.indexBuffer;l(u)?(s=s*u.bytesPerIndex,l(a)?a=Math.min(a,u.numberOfIndices):a=u.numberOfIndices,c===0?e._gl.drawElements(o,a,u.indexDatatype,s):e.glDrawElementsInstanced(o,a,u.indexDatatype,s,c)):(l(a)?a=Math.min(a,r.numberOfVertices):a=r.numberOfVertices,c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}Gl.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),EIe(this,o,t,n,r),SIe(this,e,n,i)};Gl.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=z5;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i<n;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)};Gl.prototype.readPixels=function(e){let t=this._gl;e=y(e,y.EMPTY_OBJECT);let n=Math.max(y(e.x,0),0),i=Math.max(y(e.y,0),0),o=y(e.width,t.drawingBufferWidth),r=y(e.height,t.drawingBufferHeight),s=e.framebuffer,a=nt.UNSIGNED_BYTE;l(s)&&s.numberOfColorAttachments>0&&(a=s.getColorTexture(0).pixelDatatype);let c=ct.createTypedArray(ct.RGBA,a,o,r);return H5(this,s),t.readPixels(n,i,o,r,ct.RGBA,nt.toWebGLConstant(a,this),c),c};var zJ={position:0,textureCoordinates:1};Gl.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!l(e)){let t=new dt({attributes:{position:new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Fe.TRIANGLES});e=di.fromGeometry({context:this,geometry:t,attributeLocations:zJ,bufferUsage:Ve.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};Gl.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new et({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Fe.TRIANGLES,renderState:t.renderState,shaderProgram:sn.fromCache({context:this,vertexShaderSource:xT,fragmentShaderSource:e,attributeLocations:zJ}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};Gl.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function G5(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties(G5.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});G5.prototype.destroy=function(){delete this._pickObjects[this.key]};Gl.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new ce("Out of unique Pick IDs.");return this._pickObjects[t]=e,new G5(this._pickObjects,t,H.fromRgba(t))};Gl.prototype.isDestroyed=function(){return!1};Gl.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];l(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),ue(this)};Gl._deprecationWarning=_s;var MM=Gl;function ET(e){e=y(e,y.EMPTY_OBJECT);let{context:t,width:n,height:i,colorRenderbuffers:o,colorTextures:r,depthStencilRenderbuffer:s,depthStencilTexture:a,destroyAttachments:c}=e;if(this._width=n,this._height=i,l(o)!==l(r))throw new de("Both color renderbuffer and texture attachments must be provided.");if(l(s)!==l(a))throw new de("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new Ca({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:c}),this._colorFramebuffer=new Ca({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:c})}ET.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};ET.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};ET.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),l(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};ET.prototype.isDestroyed=function(){return!1};ET.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),ue(this)};var LM=ET;var rl={RGBA4:te.RGBA4,RGBA8:te.RGBA8,RGBA16F:te.RGBA16F,RGBA32F:te.RGBA32F,RGB5_A1:te.RGB5_A1,RGB565:te.RGB565,DEPTH_COMPONENT16:te.DEPTH_COMPONENT16,STENCIL_INDEX8:te.STENCIL_INDEX8,DEPTH_STENCIL:te.DEPTH_STENCIL,DEPTH24_STENCIL8:te.DEPTH24_STENCIL8,validate:function(e){return e===rl.RGBA4||e===rl.RGBA8||e===rl.RGBA16F||e===rl.RGBA32F||e===rl.RGB5_A1||e===rl.RGB565||e===rl.DEPTH_COMPONENT16||e===rl.STENCIL_INDEX8||e===rl.DEPTH_STENCIL||e===rl.DEPTH24_STENCIL8},getColorFormat:function(e){return e===te.FLOAT?rl.RGBA32F:e===te.HALF_FLOAT_OES?rl.RGBA16F:rl.RGBA8}},sl=Object.freeze(rl);function ew(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Ut.maximumRenderbufferSize,o=y(e.format,sl.RGBA4),r=l(e.width)?e.width:n.drawingBufferWidth,s=l(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(ew.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});ew.prototype._getRenderbuffer=function(){return this._renderbuffer};ew.prototype.isDestroyed=function(){return!1};ew.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),ue(this)};var Wu=ew;function xs(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(xs.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});xs.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=l(i)&&this._pixelDatatype!==i||l(o)&&this._pixelFormat!==o,c=n===1?l(this._framebuffer):l(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!l(this._colorTextures[0])};xs.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,nt.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,ct.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s<this._colorAttachmentsLength;++s)if(this._colorTextures[s]=new Mt({context:e,width:t,height:n,pixelFormat:r,pixelDatatype:o,sampler:tn.NEAREST}),this._numSamples>1){let a=sl.getColorFormat(o);this._colorRenderbuffers[s]=new Wu({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new Mt({context:e,width:t,height:n,pixelFormat:ct.DEPTH_STENCIL,pixelDatatype:nt.UNSIGNED_INT_24_8,sampler:tn.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new Wu({context:e,width:t,height:n,format:sl.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new Wu({context:e,width:t,height:n,format:sl.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new Mt({context:e,width:t,height:n,pixelFormat:ct.DEPTH_COMPONENT,pixelDatatype:nt.UNSIGNED_INT,sampler:tn.NEAREST}):this._depthRenderbuffer=new Wu({context:e,width:t,height:n,format:sl.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new LM({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new Ca({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};xs.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};xs.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};xs.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};xs.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};xs.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};xs.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};xs.prototype.getDepthTexture=function(){return this._depthTexture};xs.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};xs.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};xs.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};xs.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};xs.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};xs.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};xs.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};xs.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};xs.prototype.destroy=function(){if(this._color){let e=this._colorTextures,t=this._colorRenderbuffers;for(let n=0;n<e.length;++n){let i=e[n];this._createColorAttachments&&l(i)&&!i.isDestroyed()&&i.destroy(),l(i)&&i.isDestroyed()&&(e[n]=void 0);let o=t[n];this._createColorAttachments&&l(o)&&!o.isDestroyed()&&o.destroy(),l(o)&&o.isDestroyed()&&(t[n]=void 0)}}this._depthStencil&&(this._createDepthAttachments&&(this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),l(this._depthStencilTexture)&&this._depthStencilTexture.isDestroyed()&&(this._depthStencilTexture=void 0),l(this._depthStencilRenderbuffer)&&this._depthStencilRenderbuffer.isDestroyed()&&(this._depthStencilRenderbuffer=void 0)),this._depth&&(this._createDepthAttachments&&(this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy()),l(this._depthTexture)&&this._depthTexture.isDestroyed()&&(this._depthTexture=void 0),l(this._depthRenderbuffer)&&this._depthRenderbuffer.isDestroyed()&&(this._depthRenderbuffer=void 0)),this.destroyFramebuffer()};var hi=xs;function wIe(e,t,n){let i={flipY:!0,skipColorSpaceConversion:n,preferImageBitmap:!0},o=[ve.createIfNeeded(t.positiveX).fetchImage(i),ve.createIfNeeded(t.negativeX).fetchImage(i),ve.createIfNeeded(t.positiveY).fetchImage(i),ve.createIfNeeded(t.negativeY).fetchImage(i),ve.createIfNeeded(t.positiveZ).fetchImage(i),ve.createIfNeeded(t.negativeZ).fetchImage(i)];return Promise.all(o).then(function(r){return new qa({context:e,source:{positiveX:r[0],negativeX:r[1],positiveY:r[2],negativeY:r[3],positiveZ:r[4],negativeZ:r[5]}})})}var NM=wIe;var P0={VERTEX:0,FRAGMENT:1,BOTH:2};P0.includesVertexShader=function(e){return e===P0.VERTEX||e===P0.BOTH};P0.includesFragmentShader=function(e){return e===P0.FRAGMENT||e===P0.BOTH};var pe=Object.freeze(P0);function W5(e){this.name=e,this.fields=[]}W5.prototype.addField=function(e,t){let n=` ${e} ${t};`;this.fields.push(n)};W5.prototype.generateGlslLines=function(){let e=this.fields;return e.length===0&&(e=[" float _empty;"]),[].concat(`struct ${this.name}`,"{",e,"};")};var FM=W5;function j5(e){this.signature=e,this.body=[]}j5.prototype.addLines=function(e){let t=this.body;if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;i++)t.push(` ${e[i]}`)}else t.push(` ${e}`)};j5.prototype.generateGlslLines=function(){return[].concat(this.signature,"{",this.body,"}")};var BM=j5;function Cc(){this._positionAttributeLine=void 0,this._nextAttributeLocation=1,this._attributeLocations={},this._attributeLines=[],this._structs={},this._functions={},this._vertexShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]},this._fragmentShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]}}Object.defineProperties(Cc.prototype,{attributeLocations:{get:function(){return this._attributeLocations}}});Cc.prototype.addDefine=function(e,t,n){n=y(n,pe.BOTH);let i=e;l(t)&&(i+=` ${t.toString()}`),pe.includesVertexShader(n)&&this._vertexShaderParts.defineLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.defineLines.push(i)};Cc.prototype.addStruct=function(e,t,n){this._structs[e]=new FM(t),pe.includesVertexShader(n)&&this._vertexShaderParts.structIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.structIds.push(e)};Cc.prototype.addStructField=function(e,t,n){this._structs[e].addField(t,n)};Cc.prototype.addFunction=function(e,t,n){this._functions[e]=new BM(t),pe.includesVertexShader(n)&&this._vertexShaderParts.functionIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.functionIds.push(e)};Cc.prototype.addFunctionLines=function(e,t){this._functions[e].addLines(t)};Cc.prototype.addUniform=function(e,t,n){n=y(n,pe.BOTH);let i=`uniform ${e} ${t};`;pe.includesVertexShader(n)&&this._vertexShaderParts.uniformLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.uniformLines.push(i)};Cc.prototype.setPositionAttribute=function(e,t){return this._positionAttributeLine=`in ${e} ${t};`,this._attributeLocations[t]=0,0};Cc.prototype.addAttribute=function(e,t){let n=`in ${e} ${t};`;this._attributeLines.push(n);let i=this._nextAttributeLocation;return this._attributeLocations[t]=i,this._nextAttributeLocation+=DIe(e),i};Cc.prototype.addVarying=function(e,t,n){n=l(n)?`${n} `:"";let i=`${e} ${t};`;this._vertexShaderParts.varyingLines.push(`${n}out ${i}`),this._fragmentShaderParts.varyingLines.push(`${n}in ${i}`)};Cc.prototype.addVertexLines=function(e){let t=this._vertexShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Cc.prototype.addFragmentLines=function(e){let t=this._fragmentShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Cc.prototype.buildShaderProgram=function(e){let t=l(this._positionAttributeLine)?[this._positionAttributeLine]:[],n=vIe(this),i=IIe(this),o=t.concat(this._attributeLines,this._vertexShaderParts.uniformLines,this._vertexShaderParts.varyingLines,n.vertexLines,i.vertexLines,this._vertexShaderParts.shaderLines).join(` -`),r=new Ge({defines:this._vertexShaderParts.defineLines,sources:[o]}),s=this._fragmentShaderParts.uniformLines.concat(this._fragmentShaderParts.varyingLines,n.fragmentLines,i.fragmentLines,this._fragmentShaderParts.shaderLines).join(` -`),a=new Ge({defines:this._fragmentShaderParts.defineLines,sources:[s]});return sn.fromCache({context:e,vertexShaderSource:r,fragmentShaderSource:a,attributeLocations:this._attributeLocations})};Cc.prototype.clone=function(){return We(this,!0)};function vIe(e){let t=[],n=[],i,o=e._vertexShaderParts.structIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.structIds,i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function DIe(e){switch(e){case"mat2":return 2;case"mat3":return 3;case"mat4":return 4;default:return 1}}function IIe(e){let t=[],n=[],i,o=e._vertexShaderParts.functionIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.functionIds,i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}var ST=Cc;function Ms(e,t,n,i){let o=Ms._verifyAttributes(t);n=y(n,0);let r=[],s={},a,c,u=o.length;for(let d=0;d<u;++d){let p=o[d];if(p.vertexBuffer){r.push(p);continue}c=p.usage,a=s[c],l(a)||(a=s[c]=[]),a.push(p)}function f(d,p){return X.getSizeInBytes(p.componentDatatype)-X.getSizeInBytes(d.componentDatatype)}this._allBuffers=[];for(c in s)if(s.hasOwnProperty(c)){a=s[c],a.sort(f);let d=Ms._vertexSizeInBytes(a),p=a[0].usage,g={vertexSizeInBytes:d,vertexBuffer:void 0,usage:p,needsCommit:!1,arrayBuffer:void 0,arrayViews:Ms._createArrayViews(a,d)};this._allBuffers.push(g)}this._size=0,this._instanced=y(i,!1),this._precreated=r,this._context=e,this.writers=void 0,this.va=void 0,this.resize(n)}Ms._verifyAttributes=function(e){let t=[];for(let i=0;i<e.length;++i){let o=e[i],r={index:y(o.index,i),enabled:y(o.enabled,!0),componentsPerAttribute:o.componentsPerAttribute,componentDatatype:y(o.componentDatatype,X.FLOAT),normalize:y(o.normalize,!1),vertexBuffer:o.vertexBuffer,usage:y(o.usage,Ve.STATIC_DRAW)};t.push(r)}let n=new Array(t.length);for(let i=0;i<t.length;++i){let r=t[i].index;n[r]=!0}return t};Ms._vertexSizeInBytes=function(e){let t=0,n=e.length;for(let s=0;s<n;++s){let a=e[s];t+=a.componentsPerAttribute*X.getSizeInBytes(a.componentDatatype)}let i=n>0?X.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=o===0?0:i-o;return t+=r,t};Ms._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r<o;++r){let s=e[r],a=s.componentDatatype;n.push({index:s.index,enabled:s.enabled,componentsPerAttribute:s.componentsPerAttribute,componentDatatype:a,normalize:s.normalize,offsetInBytes:i,vertexSizeInComponentType:t/X.getSizeInBytes(a),view:void 0}),i+=s.componentsPerAttribute*X.getSizeInBytes(a)}return n};Ms.prototype.resize=function(e){this._size=e;let t=this._allBuffers;this.writers=[];for(let n=0,i=t.length;n<i;++n){let o=t[n];Ms._resize(o,this._size),Ms._appendWriters(this.writers,o)}q5(this)};Ms._resize=function(e,t){if(e.vertexSizeInBytes>0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(l(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c<a;++c)r[c]=s[c]}let i=e.arrayViews,o=i.length;for(let r=0;r<o;++r){let s=i[r];s.view=X.createArrayBufferView(s.componentDatatype,n,s.offsetInBytes)}e.arrayBuffer=n}};var PIe=[function(e,t,n){return function(i,o){t[i*n]=o,e.needsCommit=!0}},function(e,t,n){return function(i,o,r){let s=i*n;t[s]=o,t[s+1]=r,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s){let a=i*n;t[a]=o,t[a+1]=r,t[a+2]=s,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s,a){let c=i*n;t[c]=o,t[c+1]=r,t[c+2]=s,t[c+3]=a,e.needsCommit=!0}}];Ms._appendWriters=function(e,t){let n=t.arrayViews,i=n.length;for(let o=0;o<i;++o){let r=n[o];e[r.index]=PIe[r.componentsPerAttribute-1](t,r.view,r.vertexSizeInComponentType)}};Ms.prototype.commit=function(e){let t=!1,n=this._allBuffers,i,o,r;for(o=0,r=n.length;o<r;++o)i=n[o],t=RIe(this,i)||t;if(t||!l(this.va)){q5(this);let s=this.va=[],a=P.SIXTY_FOUR_KILOBYTES-4,c=l(e)&&!this._instanced?Math.ceil(this._size/a):1;for(let u=0;u<c;++u){let f=[];for(o=0,r=n.length;o<r;++o){i=n[o];let d=u*(i.vertexSizeInBytes*a);Ms._appendAttributes(f,i,d,this._instanced)}f=f.concat(this._precreated),s.push({va:new di({context:this._context,attributes:f,indexBuffer:e}),indicesCount:1.5*(u!==c-1?a:this._size%a)})}}};function RIe(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=l(n);if(!o||n.sizeInBytes<i)return o&&n.destroy(),t.vertexBuffer=yt.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),t.vertexBuffer.vertexArrayDestroyable=!1,!0;t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}Ms._appendAttributes=function(e,t,n,i){let o=t.arrayViews,r=o.length;for(let s=0;s<r;++s){let a=o[s];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:n+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:i?1:0})}};Ms.prototype.subCommit=function(e,t){let n=this._allBuffers;for(let i=0,o=n.length;i<o;++i)OIe(n[i],e,t)};function OIe(e,t,n){if(e.needsCommit&&e.vertexSizeInBytes>0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}Ms.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t)e[t].needsCommit=!1};function q5(e){let t=e.va;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].va.destroy();e.va=void 0}Ms.prototype.isDestroyed=function(){return!1};Ms.prototype.destroy=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t){let i=e[t];i.vertexBuffer=i.vertexBuffer&&i.vertexBuffer.destroy()}return q5(this),ue(this)};var G_=Ms;function W_(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new me,this.setValue(e)}Object.defineProperties(W_.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}});W_.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value};W_.prototype.setValue=function(e){let t=this._value;if(t!==e){let n=l(e),i=n&&typeof e.clone=="function",o=n&&typeof e.equals=="function";(!o||!e.equals(t))&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}};W_.prototype.equals=function(e){return this===e||e instanceof W_&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))};W_.prototype.valueOf=function(){return this._value};W_.prototype.toString=function(){return String(this._value)};var Kn=W_;function MIe(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(r){let s=this[t],a=this[n];l(a)&&(a(),this[n]=void 0),r!==void 0&&(!l(r)||!l(r.getValue))&&l(o)&&(r=o(r)),s!==r&&(this[t]=r,this._definitionChanged.raiseEvent(this,e,r,s)),l(r)&&l(r.definitionChanged)&&(this[n]=r.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,r,r)},this))}}}function LIe(e){return new Kn(e)}function NIe(e,t,n){return MIe(e,`_${e.toString()}`,`_${e.toString()}Subscription`,y(t,!1),y(n,LIe))}var le=NIe;function tw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(tw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),image:le("image"),scale:le("scale"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),color:le("color"),rotation:le("rotation"),alignedAxis:le("alignedAxis"),sizeInMeters:le("sizeInMeters"),width:le("width"),height:le("height"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),imageSubRegion:le("imageSubRegion"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});tw.prototype.clone=function(e){return l(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e.splitDirection=this._splitDirection,e):new tw(this)};tw.prototype.merge=function(e){this.show=y(this._show,e.show),this.image=y(this._image,e.image),this.scale=y(this._scale,e.scale),this.pixelOffset=y(this._pixelOffset,e.pixelOffset),this.eyeOffset=y(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this._verticalOrigin,e.verticalOrigin),this.heightReference=y(this._heightReference,e.heightReference),this.color=y(this._color,e.color),this.rotation=y(this._rotation,e.rotation),this.alignedAxis=y(this._alignedAxis,e.alignedAxis),this.sizeInMeters=y(this._sizeInMeters,e.sizeInMeters),this.width=y(this._width,e.width),this.height=y(this._height,e.height),this.scaleByDistance=y(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=y(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=y(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this._disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var Ac=tw;function R0(){this._array=[],this._hash={}}Object.defineProperties(R0.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}});R0.prototype.contains=function(e){return l(this._hash[e])};R0.prototype.set=function(e,t){let n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))};R0.prototype.get=function(e){return this._hash[e]};R0.prototype.remove=function(e){let t=this._hash[e],n=l(t);if(n){let i=this._array;i.splice(i.indexOf(t),1),delete this._hash[e]}return n};R0.prototype.removeAll=function(){let e=this._array;e.length>0&&(this._hash={},e.length=0)};var St=R0;function Wl(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties(Wl.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});Wl.packedLength=2;Wl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};Wl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Wl),n.near=e[t++],n.far=e[t],n};Wl.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.far===t.far};Wl.clone=function(e,t){if(l(e))return l(t)||(t=new Wl),t.near=e.near,t.far=e.far,t};Wl.prototype.clone=function(e){return Wl.clone(this,e)};Wl.prototype.equals=function(e){return Wl.equals(this,e)};var Ot=Wl;function ju(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}ju.clone=function(e,t){if(l(e))return l(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new ju(e.near,e.nearValue,e.far,e.farValue)};ju.packedLength=4;ju.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};ju.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new ju),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};ju.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};ju.prototype.clone=function(e){return ju.clone(this,e)};ju.prototype.equals=function(e){return ju.equals(this,e)};var Vt=ju;var O0={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2,CLAMP_TO_TERRAIN:3,RELATIVE_TO_TERRAIN:4,CLAMP_TO_3D_TILE:5,RELATIVE_TO_3D_TILE:6},Ye=Object.freeze(O0);function qu(e){return e===O0.CLAMP_TO_GROUND||e===O0.CLAMP_TO_3D_TILE||e===O0.CLAMP_TO_TERRAIN}function wT(e){return e===O0.RELATIVE_TO_GROUND||e===O0.RELATIVE_TO_3D_TILE||e===O0.RELATIVE_TO_TERRAIN}var FIe={CENTER:0,LEFT:1,RIGHT:-1},gi=Object.freeze(FIe);var BIe={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},Ln=Object.freeze(BIe);var kIe={DONE:0,PENDING:1,FAILED:2},ft=Object.freeze(kIe);function rd(){de.throwInstantiationError()}Object.defineProperties(rd.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});rd.prototype.getValue=de.throwInstantiationError;rd.prototype.equals=de.throwInstantiationError;rd.equals=function(e,t){return e===t||l(e)&&e.equals(t)};rd.arrayEquals=function(e,t){if(e===t)return!0;if(!l(e)||!l(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i<n;i++)if(!rd.equals(e[i],t[i]))return!1;return!0};rd.isConstant=function(e){return!l(e)||e.isConstant};rd.getValueOrUndefined=function(e,t,n){return l(e)?e.getValue(t,n):void 0};rd.getValueOrDefault=function(e,t,n,i){return l(e)?y(e.getValue(t,i),n):n};rd.getValueOrClonedDefault=function(e,t,n,i){let o;return l(e)&&(o=e.getValue(t,i)),l(o)||(o=n.clone(o)),o};var q=rd;var VIe={LEFT:-1,NONE:0,RIGHT:1},kr=Object.freeze(VIe);var UIe=H.WHITE,zIe=h.ZERO,HIe=Ye.NONE,GIe=U.ZERO,WIe=1,jIe=0,qIe=h.ZERO,YIe=gi.CENTER,XIe=Ln.CENTER,KIe=!1,$Ie=kr.NONE,ZIe=new h,QIe=new H,JIe=new h,ePe=new U,tPe=new Vt,nPe=new Vt,iPe=new Vt,oPe=new qe,rPe=new Ot;function HJ(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function j_(e,t){t.collectionChanged.addEventListener(j_.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}j_.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._billboard,c,u=r.billboard,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,ZIe),c=q.getValueOrUndefined(a._image,e),f=l(d)&&l(c)),!f){Y5(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0),l(u)||(u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u),u.show=f,(!l(u.image)||r.textureValue!==c)&&(u.image=c,r.textureValue=c),u.position=d,u.color=q.getValueOrDefault(a._color,e,UIe,QIe),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,zIe,JIe),u.heightReference=q.getValueOrDefault(a._heightReference,e,HIe),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,GIe,ePe),u.scale=q.getValueOrDefault(a._scale,e,WIe),u.rotation=q.getValueOrDefault(a._rotation,e,jIe),u.alignedAxis=q.getValueOrDefault(a._alignedAxis,e,qIe),u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,YIe),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,XIe),u.width=q.getValueOrUndefined(a._width,e),u.height=q.getValueOrUndefined(a._height,e),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,tPe),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,nPe),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,iPe),u.sizeInMeters=q.getValueOrDefault(a._sizeInMeters,e,KIe),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,rPe),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,$Ie);let p=q.getValueOrUndefined(a._imageSubRegion,e,oPe);l(p)&&u.setImageSubRegion(u._imageId,p)}return!0};j_.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.billboard))return ft.FAILED;let i=n.billboard;if(i.heightReference===Ye.NONE)t.center=h.clone(i.position,t.center);else{if(!l(i._clampedPosition))return ft.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,ft.DONE};j_.prototype.isDestroyed=function(){return!1};j_.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(j_.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return ue(this)};j_.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._billboard)&&l(r._position)&&s.set(r.id,new HJ(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._billboard)&&l(r._position)?s.contains(r.id)||s.set(r.id,new HJ(r)):(Y5(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],Y5(s.get(r.id),r,a),s.remove(r.id)};function Y5(e,t,n){l(e)&&(e.billboard=void 0,n.removeBillboard(t))}var kM=j_;function sPe(e,t){this.start=y(e,0),this.stop=y(t,0)}var Ya=sPe;function hn(e,t){this.center=h.clone(y(e,h.ZERO)),this.radius=y(t,0)}var $5=new h,Z5=new h,Q5=new h,J5=new h,e6=new h,t6=new h,n6=new h,Qs=new h,i6=new h,o6=new h,r6=new h,s6=new h,aPe=4/3*P.PI;hn.fromPoints=function(e,t){if(l(t)||(t=new hn),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=h.clone(e[0],n6),i=h.clone(n,$5),o=h.clone(n,Z5),r=h.clone(n,Q5),s=h.clone(n,J5),a=h.clone(n,e6),c=h.clone(n,t6),u=e.length,f;for(f=1;f<u;f++){h.clone(e[f],n);let R=n.x,M=n.y,L=n.z;R<i.x&&h.clone(n,i),R>s.x&&h.clone(n,s),M<o.y&&h.clone(n,o),M>a.y&&h.clone(n,a),L<r.z&&h.clone(n,r),L>c.z&&h.clone(n,c)}let d=h.magnitudeSquared(h.subtract(s,i,Qs)),p=h.magnitudeSquared(h.subtract(a,o,Qs)),g=h.magnitudeSquared(h.subtract(c,r,Qs)),m=i,x=s,b=d;p>b&&(b=p,m=o,x=a),g>b&&(b=g,m=r,x=c);let T=i6;T.x=(m.x+x.x)*.5,T.y=(m.y+x.y)*.5,T.z=(m.z+x.z)*.5;let C=h.magnitudeSquared(h.subtract(x,T,Qs)),A=Math.sqrt(C),S=o6;S.x=i.x,S.y=o.y,S.z=r.z;let w=r6;w.x=s.x,w.y=a.y,w.z=c.z;let D=h.midpoint(S,w,s6),O=0;for(f=0;f<u;f++){h.clone(e[f],n);let R=h.magnitude(h.subtract(n,D,Qs));R>O&&(O=R);let M=h.magnitudeSquared(h.subtract(n,T,Qs));if(M>C){let L=Math.sqrt(M);A=(A+L)*.5,C=A*A;let _=L-A;T.x=(A*T.x+_*n.x)/L,T.y=(A*T.y+_*n.y)/L,T.z=(A*T.z+_*n.z)/L}}return A<O?(h.clone(T,t.center),t.radius=A):(h.clone(D,t.center),t.radius=O),t};var GJ=new vi,cPe=new h,lPe=new h,X5=new fe,K5=new fe;hn.fromRectangle2D=function(e,t,n){return hn.fromRectangleWithHeights2D(e,t,0,0,n)};hn.fromRectangleWithHeights2D=function(e,t,n,i,o){if(l(o)||(o=new hn),!l(e))return o.center=h.clone(h.ZERO,o.center),o.radius=0,o;GJ._ellipsoid=ee.default,t=y(t,GJ),se.southwest(e,X5),X5.height=n,se.northeast(e,K5),K5.height=i;let r=t.project(X5,cPe),s=t.project(K5,lPe),a=s.x-r.x,c=s.y-r.y,u=s.z-r.z;o.radius=Math.sqrt(a*a+c*c+u*u)*.5;let f=o.center;return f.x=r.x+a*.5,f.y=r.y+c*.5,f.z=r.z+u*.5,o};var uPe=[];hn.fromRectangle3D=function(e,t,n,i){if(t=y(t,ee.default),n=y(n,0),l(i)||(i=new hn),!l(e))return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;let o=se.subsample(e,t,n,uPe);return hn.fromPoints(o,i)};hn.fromVertices=function(e,t,n,i){if(l(i)||(i=new hn),!l(e)||e.length===0)return i.center=h.clone(h.ZERO,i.center),i.radius=0,i;t=y(t,h.ZERO),n=y(n,3);let o=n6;o.x=e[0]+t.x,o.y=e[1]+t.y,o.z=e[2]+t.z;let r=h.clone(o,$5),s=h.clone(o,Z5),a=h.clone(o,Q5),c=h.clone(o,J5),u=h.clone(o,e6),f=h.clone(o,t6),d=e.length,p;for(p=0;p<d;p+=n){let L=e[p]+t.x,_=e[p+1]+t.y,E=e[p+2]+t.z;o.x=L,o.y=_,o.z=E,L<r.x&&h.clone(o,r),L>c.x&&h.clone(o,c),_<s.y&&h.clone(o,s),_>u.y&&h.clone(o,u),E<a.z&&h.clone(o,a),E>f.z&&h.clone(o,f)}let g=h.magnitudeSquared(h.subtract(c,r,Qs)),m=h.magnitudeSquared(h.subtract(u,s,Qs)),x=h.magnitudeSquared(h.subtract(f,a,Qs)),b=r,T=c,C=g;m>C&&(C=m,b=s,T=u),x>C&&(C=x,b=a,T=f);let A=i6;A.x=(b.x+T.x)*.5,A.y=(b.y+T.y)*.5,A.z=(b.z+T.z)*.5;let S=h.magnitudeSquared(h.subtract(T,A,Qs)),w=Math.sqrt(S),D=o6;D.x=r.x,D.y=s.y,D.z=a.z;let O=r6;O.x=c.x,O.y=u.y,O.z=f.z;let R=h.midpoint(D,O,s6),M=0;for(p=0;p<d;p+=n){o.x=e[p]+t.x,o.y=e[p+1]+t.y,o.z=e[p+2]+t.z;let L=h.magnitude(h.subtract(o,R,Qs));L>M&&(M=L);let _=h.magnitudeSquared(h.subtract(o,A,Qs));if(_>S){let E=Math.sqrt(_);w=(w+E)*.5,S=w*w;let v=E-w;A.x=(w*A.x+v*o.x)/E,A.y=(w*A.y+v*o.y)/E,A.z=(w*A.z+v*o.z)/E}}return w<M?(h.clone(A,i.center),i.radius=w):(h.clone(R,i.center),i.radius=M),i};hn.fromEncodedCartesianVertices=function(e,t,n){if(l(n)||(n=new hn),!l(e)||!l(t)||e.length!==t.length||e.length===0)return n.center=h.clone(h.ZERO,n.center),n.radius=0,n;let i=n6;i.x=e[0]+t[0],i.y=e[1]+t[1],i.z=e[2]+t[2];let o=h.clone(i,$5),r=h.clone(i,Z5),s=h.clone(i,Q5),a=h.clone(i,J5),c=h.clone(i,e6),u=h.clone(i,t6),f=e.length,d;for(d=0;d<f;d+=3){let M=e[d]+t[d],L=e[d+1]+t[d+1],_=e[d+2]+t[d+2];i.x=M,i.y=L,i.z=_,M<o.x&&h.clone(i,o),M>a.x&&h.clone(i,a),L<r.y&&h.clone(i,r),L>c.y&&h.clone(i,c),_<s.z&&h.clone(i,s),_>u.z&&h.clone(i,u)}let p=h.magnitudeSquared(h.subtract(a,o,Qs)),g=h.magnitudeSquared(h.subtract(c,r,Qs)),m=h.magnitudeSquared(h.subtract(u,s,Qs)),x=o,b=a,T=p;g>T&&(T=g,x=r,b=c),m>T&&(T=m,x=s,b=u);let C=i6;C.x=(x.x+b.x)*.5,C.y=(x.y+b.y)*.5,C.z=(x.z+b.z)*.5;let A=h.magnitudeSquared(h.subtract(b,C,Qs)),S=Math.sqrt(A),w=o6;w.x=o.x,w.y=r.y,w.z=s.z;let D=r6;D.x=a.x,D.y=c.y,D.z=u.z;let O=h.midpoint(w,D,s6),R=0;for(d=0;d<f;d+=3){i.x=e[d]+t[d],i.y=e[d+1]+t[d+1],i.z=e[d+2]+t[d+2];let M=h.magnitude(h.subtract(i,O,Qs));M>R&&(R=M);let L=h.magnitudeSquared(h.subtract(i,C,Qs));if(L>A){let _=Math.sqrt(L);S=(S+_)*.5,A=S*S;let E=_-S;C.x=(S*C.x+E*i.x)/_,C.y=(S*C.y+E*i.y)/_,C.z=(S*C.z+E*i.z)/_}}return S<R?(h.clone(C,n.center),n.radius=S):(h.clone(O,n.center),n.radius=R),n};hn.fromCornerPoints=function(e,t,n){l(n)||(n=new hn);let i=h.midpoint(e,t,n.center);return n.radius=h.distance(i,t),n};hn.fromEllipsoid=function(e,t){return l(t)||(t=new hn),h.clone(h.ZERO,t.center),t.radius=e.maximumRadius,t};var fPe=new h;hn.fromBoundingSpheres=function(e,t){if(l(t)||(t=new hn),!l(e)||e.length===0)return t.center=h.clone(h.ZERO,t.center),t.radius=0,t;let n=e.length;if(n===1)return hn.clone(e[0],t);if(n===2)return hn.union(e[0],e[1],t);let i=[],o;for(o=0;o<n;o++)i.push(e[o].center);t=hn.fromPoints(i,t);let r=t.center,s=t.radius;for(o=0;o<n;o++){let a=e[o];s=Math.max(s,h.distance(r,a.center,fPe)+a.radius)}return t.radius=s,t};var dPe=new h,hPe=new h,mPe=new h;hn.fromOrientedBoundingBox=function(e,t){l(t)||(t=new hn);let n=e.halfAxes,i=Z.getColumn(n,0,dPe),o=Z.getColumn(n,1,hPe),r=Z.getColumn(n,2,mPe);return h.add(i,o,i),h.add(i,r,i),t.center=h.clone(e.center,t.center),t.radius=h.magnitude(i),t};var pPe=new h,_Pe=new h;hn.fromTransformation=function(e,t){l(t)||(t=new hn);let n=F.getTranslation(e,pPe),i=F.getScale(e,_Pe),o=.5*h.magnitude(i);return t.center=h.clone(n,t.center),t.radius=o,t};hn.clone=function(e,t){if(l(e))return l(t)?(t.center=h.clone(e.center,t.center),t.radius=e.radius,t):new hn(e.center,e.radius)};hn.packedLength=4;hn.pack=function(e,t,n){n=y(n,0);let i=e.center;return t[n++]=i.x,t[n++]=i.y,t[n++]=i.z,t[n]=e.radius,t};hn.unpack=function(e,t,n){t=y(t,0),l(n)||(n=new hn);let i=n.center;return i.x=e[t++],i.y=e[t++],i.z=e[t++],n.radius=e[t],n};var gPe=new h,yPe=new h;hn.union=function(e,t,n){l(n)||(n=new hn);let i=e.center,o=e.radius,r=t.center,s=t.radius,a=h.subtract(r,i,gPe),c=h.magnitude(a);if(o>=c+s)return e.clone(n),n;if(s>=c+o)return t.clone(n),n;let u=(o+c+s)*.5,f=h.multiplyByScalar(a,(-o+u)/c,yPe);return h.add(f,i,f),h.clone(f,n.center),n.radius=u,n};var xPe=new h;hn.expand=function(e,t,n){n=hn.clone(e,n);let i=h.magnitude(h.subtract(t,n.center,xPe));return i>n.radius&&(n.radius=i),n};hn.intersectPlane=function(e,t){let n=e.center,i=e.radius,o=t.normal,r=h.dot(o,n)+t.distance;return r<-i?qt.OUTSIDE:r<i?qt.INTERSECTING:qt.INSIDE};hn.transform=function(e,t,n){return l(n)||(n=new hn),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=F.getMaximumScale(t)*e.radius,n};var bPe=new h;hn.distanceSquaredTo=function(e,t){let n=h.subtract(e.center,t,bPe),i=h.magnitude(n)-e.radius;return i<=0?0:i*i};hn.transformWithoutScale=function(e,t,n){return l(n)||(n=new hn),n.center=F.multiplyByPoint(t,e.center,n.center),n.radius=e.radius,n};var TPe=new h;hn.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Ya);let o=h.subtract(e.center,t,TPe),r=h.dot(n,o);return i.start=r-e.radius,i.stop=r+e.radius,i};var WJ=new h,CPe=new h,APe=new h,EPe=new h,SPe=new h,wPe=new fe,qJ=new Array(8);for(let e=0;e<8;++e)qJ[e]=new h;var jJ=new vi;hn.projectTo2D=function(e,t,n){jJ._ellipsoid=ee.default,t=y(t,jJ);let i=t.ellipsoid,o=e.center,r=e.radius,s;h.equals(o,h.ZERO)?s=h.clone(h.UNIT_X,WJ):s=i.geodeticSurfaceNormal(o,WJ);let a=h.cross(h.UNIT_Z,s,CPe);h.normalize(a,a);let c=h.cross(s,a,APe);h.normalize(c,c),h.multiplyByScalar(s,r,s),h.multiplyByScalar(c,r,c),h.multiplyByScalar(a,r,a);let u=h.negate(c,SPe),f=h.negate(a,EPe),d=qJ,p=d[0];h.add(s,c,p),h.add(p,a,p),p=d[1],h.add(s,c,p),h.add(p,f,p),p=d[2],h.add(s,u,p),h.add(p,f,p),p=d[3],h.add(s,u,p),h.add(p,a,p),h.negate(s,s),p=d[4],h.add(s,c,p),h.add(p,a,p),p=d[5],h.add(s,c,p),h.add(p,f,p),p=d[6],h.add(s,u,p),h.add(p,f,p),p=d[7],h.add(s,u,p),h.add(p,a,p);let g=d.length;for(let T=0;T<g;++T){let C=d[T];h.add(o,C,C);let A=i.cartesianToCartographic(C,wPe);t.project(A,C)}n=hn.fromPoints(d,n),o=n.center;let m=o.x,x=o.y,b=o.z;return o.x=b,o.y=m,o.z=x,n};hn.isOccluded=function(e,t){return!t.isBoundingSphereVisible(e)};hn.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&e.radius===t.radius};hn.prototype.intersectPlane=function(e){return hn.intersectPlane(this,e)};hn.prototype.distanceSquaredTo=function(e){return hn.distanceSquaredTo(this,e)};hn.prototype.computePlaneDistances=function(e,t,n){return hn.computePlaneDistances(this,e,t,n)};hn.prototype.isOccluded=function(e){return hn.isOccluded(this,e)};hn.prototype.equals=function(e){return hn.equals(this,e)};hn.prototype.clone=function(e){return hn.clone(this,e)};hn.prototype.volume=function(){let e=this.radius;return aPe*e*e*e};var ae=hn;function vPe(e){e=y(e,y.EMPTY_OBJECT),this.position=e.position,this.normal=e.normal,this.st=e.st,this.bitangent=e.bitangent,this.tangent=e.tangent,this.color=e.color}var mn=vPe;var DPe={NONE:0,TOP:1,ALL:2},ln=Object.freeze(DPe);function Qr(e){e=y(e,y.EMPTY_OBJECT),this.position=y(e.position,!1),this.normal=y(e.normal,!1),this.st=y(e.st,!1),this.bitangent=y(e.bitangent,!1),this.tangent=y(e.tangent,!1),this.color=y(e.color,!1)}Qr.POSITION_ONLY=Object.freeze(new Qr({position:!0}));Qr.POSITION_AND_NORMAL=Object.freeze(new Qr({position:!0,normal:!0}));Qr.POSITION_NORMAL_AND_ST=Object.freeze(new Qr({position:!0,normal:!0,st:!0}));Qr.POSITION_AND_ST=Object.freeze(new Qr({position:!0,st:!0}));Qr.POSITION_AND_COLOR=Object.freeze(new Qr({position:!0,color:!0}));Qr.ALL=Object.freeze(new Qr({position:!0,normal:!0,st:!0,tangent:!0,bitangent:!0}));Qr.DEFAULT=Qr.POSITION_NORMAL_AND_ST;Qr.packedLength=6;Qr.pack=function(e,t,n){return n=y(n,0),t[n++]=e.position?1:0,t[n++]=e.normal?1:0,t[n++]=e.st?1:0,t[n++]=e.tangent?1:0,t[n++]=e.bitangent?1:0,t[n]=e.color?1:0,t};Qr.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Qr),n.position=e[t++]===1,n.normal=e[t++]===1,n.st=e[t++]===1,n.tangent=e[t++]===1,n.bitangent=e[t++]===1,n.color=e[t]===1,n};Qr.clone=function(e,t){if(l(e))return l(t)||(t=new Qr),t.position=e.position,t.normal=e.normal,t.st=e.st,t.tangent=e.tangent,t.bitangent=e.bitangent,t.color=e.color,t};var Pe=Qr;var IPe=new h;function jl(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum,i=y(e.vertexFormat,Pe.DEFAULT);this._minimum=h.clone(t),this._maximum=h.clone(n),this._vertexFormat=i,this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxGeometry"}jl.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new jl({minimum:h.negate(n,new h),maximum:n,vertexFormat:e.vertexFormat,offsetAttribute:e.offsetAttribute})};jl.fromAxisAlignedBoundingBox=function(e){return new jl({minimum:e.minimum,maximum:e.maximum})};jl.packedLength=2*h.packedLength+Pe.packedLength+1;jl.pack=function(e,t,n){return n=y(n,0),h.pack(e._minimum,t,n),h.pack(e._maximum,t,n+h.packedLength),Pe.pack(e._vertexFormat,t,n+2*h.packedLength),t[n+2*h.packedLength+Pe.packedLength]=y(e._offsetAttribute,-1),t};var XJ=new h,KJ=new h,$J=new Pe,YJ={minimum:XJ,maximum:KJ,vertexFormat:$J,offsetAttribute:void 0};jl.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,XJ),o=h.unpack(e,t+h.packedLength,KJ),r=Pe.unpack(e,t+2*h.packedLength,$J),s=e[t+2*h.packedLength+Pe.packedLength];return l(n)?(n._minimum=h.clone(i,n._minimum),n._maximum=h.clone(o,n._maximum),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._offsetAttribute=s===-1?void 0:s,n):(YJ.offsetAttribute=s===-1?void 0:s,new jl(YJ))};jl.createGeometry=function(e){let t=e._minimum,n=e._maximum,i=e._vertexFormat;if(h.equals(t,n))return;let o=new mn,r,s;if(i.position&&(i.st||i.normal||i.tangent||i.bitangent)){if(i.position&&(s=new Float64Array(6*4*3),s[0]=t.x,s[1]=t.y,s[2]=n.z,s[3]=n.x,s[4]=t.y,s[5]=n.z,s[6]=n.x,s[7]=n.y,s[8]=n.z,s[9]=t.x,s[10]=n.y,s[11]=n.z,s[12]=t.x,s[13]=t.y,s[14]=t.z,s[15]=n.x,s[16]=t.y,s[17]=t.z,s[18]=n.x,s[19]=n.y,s[20]=t.z,s[21]=t.x,s[22]=n.y,s[23]=t.z,s[24]=n.x,s[25]=t.y,s[26]=t.z,s[27]=n.x,s[28]=n.y,s[29]=t.z,s[30]=n.x,s[31]=n.y,s[32]=n.z,s[33]=n.x,s[34]=t.y,s[35]=n.z,s[36]=t.x,s[37]=t.y,s[38]=t.z,s[39]=t.x,s[40]=n.y,s[41]=t.z,s[42]=t.x,s[43]=n.y,s[44]=n.z,s[45]=t.x,s[46]=t.y,s[47]=n.z,s[48]=t.x,s[49]=n.y,s[50]=t.z,s[51]=n.x,s[52]=n.y,s[53]=t.z,s[54]=n.x,s[55]=n.y,s[56]=n.z,s[57]=t.x,s[58]=n.y,s[59]=n.z,s[60]=t.x,s[61]=t.y,s[62]=t.z,s[63]=n.x,s[64]=t.y,s[65]=t.z,s[66]=n.x,s[67]=t.y,s[68]=n.z,s[69]=t.x,s[70]=t.y,s[71]=n.z,o.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})),i.normal){let u=new Float32Array(72);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=0,u[5]=1,u[6]=0,u[7]=0,u[8]=1,u[9]=0,u[10]=0,u[11]=1,u[12]=0,u[13]=0,u[14]=-1,u[15]=0,u[16]=0,u[17]=-1,u[18]=0,u[19]=0,u[20]=-1,u[21]=0,u[22]=0,u[23]=-1,u[24]=1,u[25]=0,u[26]=0,u[27]=1,u[28]=0,u[29]=0,u[30]=1,u[31]=0,u[32]=0,u[33]=1,u[34]=0,u[35]=0,u[36]=-1,u[37]=0,u[38]=0,u[39]=-1,u[40]=0,u[41]=0,u[42]=-1,u[43]=0,u[44]=0,u[45]=-1,u[46]=0,u[47]=0,u[48]=0,u[49]=1,u[50]=0,u[51]=0,u[52]=1,u[53]=0,u[54]=0,u[55]=1,u[56]=0,u[57]=0,u[58]=1,u[59]=0,u[60]=0,u[61]=-1,u[62]=0,u[63]=0,u[64]=-1,u[65]=0,u[66]=0,u[67]=-1,u[68]=0,u[69]=0,u[70]=-1,u[71]=0,o.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.st){let u=new Float32Array(48);u[0]=0,u[1]=0,u[2]=1,u[3]=0,u[4]=1,u[5]=1,u[6]=0,u[7]=1,u[8]=1,u[9]=0,u[10]=0,u[11]=0,u[12]=0,u[13]=1,u[14]=1,u[15]=1,u[16]=0,u[17]=0,u[18]=1,u[19]=0,u[20]=1,u[21]=1,u[22]=0,u[23]=1,u[24]=1,u[25]=0,u[26]=0,u[27]=0,u[28]=0,u[29]=1,u[30]=1,u[31]=1,u[32]=1,u[33]=0,u[34]=0,u[35]=0,u[36]=0,u[37]=1,u[38]=1,u[39]=1,u[40]=0,u[41]=0,u[42]=1,u[43]=0,u[44]=1,u[45]=1,u[46]=0,u[47]=1,o.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:u})}if(i.tangent){let u=new Float32Array(72);u[0]=1,u[1]=0,u[2]=0,u[3]=1,u[4]=0,u[5]=0,u[6]=1,u[7]=0,u[8]=0,u[9]=1,u[10]=0,u[11]=0,u[12]=-1,u[13]=0,u[14]=0,u[15]=-1,u[16]=0,u[17]=0,u[18]=-1,u[19]=0,u[20]=0,u[21]=-1,u[22]=0,u[23]=0,u[24]=0,u[25]=1,u[26]=0,u[27]=0,u[28]=1,u[29]=0,u[30]=0,u[31]=1,u[32]=0,u[33]=0,u[34]=1,u[35]=0,u[36]=0,u[37]=-1,u[38]=0,u[39]=0,u[40]=-1,u[41]=0,u[42]=0,u[43]=-1,u[44]=0,u[45]=0,u[46]=-1,u[47]=0,u[48]=-1,u[49]=0,u[50]=0,u[51]=-1,u[52]=0,u[53]=0,u[54]=-1,u[55]=0,u[56]=0,u[57]=-1,u[58]=0,u[59]=0,u[60]=1,u[61]=0,u[62]=0,u[63]=1,u[64]=0,u[65]=0,u[66]=1,u[67]=0,u[68]=0,u[69]=1,u[70]=0,u[71]=0,o.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}if(i.bitangent){let u=new Float32Array(72);u[0]=0,u[1]=1,u[2]=0,u[3]=0,u[4]=1,u[5]=0,u[6]=0,u[7]=1,u[8]=0,u[9]=0,u[10]=1,u[11]=0,u[12]=0,u[13]=1,u[14]=0,u[15]=0,u[16]=1,u[17]=0,u[18]=0,u[19]=1,u[20]=0,u[21]=0,u[22]=1,u[23]=0,u[24]=0,u[25]=0,u[26]=1,u[27]=0,u[28]=0,u[29]=1,u[30]=0,u[31]=0,u[32]=1,u[33]=0,u[34]=0,u[35]=1,u[36]=0,u[37]=0,u[38]=1,u[39]=0,u[40]=0,u[41]=1,u[42]=0,u[43]=0,u[44]=1,u[45]=0,u[46]=0,u[47]=1,u[48]=0,u[49]=0,u[50]=1,u[51]=0,u[52]=0,u[53]=1,u[54]=0,u[55]=0,u[56]=1,u[57]=0,u[58]=0,u[59]=1,u[60]=0,u[61]=0,u[62]=1,u[63]=0,u[64]=0,u[65]=1,u[66]=0,u[67]=0,u[68]=1,u[69]=0,u[70]=0,u[71]=1,o.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:u})}r=new Uint16Array(6*2*3),r[0]=0,r[1]=1,r[2]=2,r[3]=0,r[4]=2,r[5]=3,r[6]=6,r[7]=5,r[8]=4,r[9]=7,r[10]=6,r[11]=4,r[12]=8,r[13]=9,r[14]=10,r[15]=8,r[16]=10,r[17]=11,r[18]=14,r[19]=13,r[20]=12,r[21]=15,r[22]=14,r[23]=12,r[24]=18,r[25]=17,r[26]=16,r[27]=19,r[28]=18,r[29]=16,r[30]=20,r[31]=21,r[32]=22,r[33]=20,r[34]=22,r[35]=23}else s=new Float64Array(8*3),s[0]=t.x,s[1]=t.y,s[2]=t.z,s[3]=n.x,s[4]=t.y,s[5]=t.z,s[6]=n.x,s[7]=n.y,s[8]=t.z,s[9]=t.x,s[10]=n.y,s[11]=t.z,s[12]=t.x,s[13]=t.y,s[14]=n.z,s[15]=n.x,s[16]=t.y,s[17]=n.z,s[18]=n.x,s[19]=n.y,s[20]=n.z,s[21]=t.x,s[22]=n.y,s[23]=n.z,o.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s}),r=new Uint16Array(6*2*3),r[0]=4,r[1]=5,r[2]=6,r[3]=4,r[4]=6,r[5]=7,r[6]=1,r[7]=0,r[8]=3,r[9]=1,r[10]=3,r[11]=2,r[12]=1,r[13]=6,r[14]=5,r[15]=1,r[16]=2,r[17]=6,r[18]=2,r[19]=3,r[20]=7,r[21]=2,r[22]=7,r[23]=6,r[24]=3,r[25]=0,r[26]=4,r[27]=3,r[28]=4,r[29]=7,r[30]=0,r[31]=1,r[32]=5,r[33]=0,r[34]=5,r[35]=4;let a=h.subtract(n,t,IPe),c=h.magnitude(a)*.5;if(l(e._offsetAttribute)){let u=s.length,f=e._offsetAttribute===ln.NONE?0:1,d=new Uint8Array(u/3).fill(f);o.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return new dt({attributes:o,indices:r,primitiveType:Fe.TRIANGLES,boundingSphere:new ae(h.ZERO,c),offsetAttribute:e._offsetAttribute})};var a6;jl.getUnitBox=function(){return l(a6)||(a6=jl.createGeometry(jl.fromDimensions({dimensions:new h(1,1,1),vertexFormat:Pe.POSITION_ONLY}))),a6};var ql=jl;var PPe=new h;function Sh(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;this._min=h.clone(t),this._max=h.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}Sh.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new Sh({minimum:h.negate(n,new h),maximum:n,offsetAttribute:e.offsetAttribute})};Sh.fromAxisAlignedBoundingBox=function(e){return new Sh({minimum:e.minimum,maximum:e.maximum})};Sh.packedLength=2*h.packedLength+1;Sh.pack=function(e,t,n){return n=y(n,0),h.pack(e._min,t,n),h.pack(e._max,t,n+h.packedLength),t[n+h.packedLength*2]=y(e._offsetAttribute,-1),t};var QJ=new h,JJ=new h,ZJ={minimum:QJ,maximum:JJ,offsetAttribute:void 0};Sh.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,QJ),o=h.unpack(e,t+h.packedLength,JJ),r=e[t+h.packedLength*2];return l(n)?(n._min=h.clone(i,n._min),n._max=h.clone(o,n._max),n._offsetAttribute=r===-1?void 0:r,n):(ZJ.offsetAttribute=r===-1?void 0:r,new Sh(ZJ))};Sh.createGeometry=function(e){let t=e._min,n=e._max;if(h.equals(t,n))return;let i=new mn,o=new Uint16Array(12*2),r=new Float64Array(8*3);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=n.x,r[4]=t.y,r[5]=t.z,r[6]=n.x,r[7]=n.y,r[8]=t.z,r[9]=t.x,r[10]=n.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=n.z,r[15]=n.x,r[16]=t.y,r[17]=n.z,r[18]=n.x,r[19]=n.y,r[20]=n.z,r[21]=t.x,r[22]=n.y,r[23]=n.z,i.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:r}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let s=h.subtract(n,t,PPe),a=h.magnitude(s)*.5;if(l(e._offsetAttribute)){let c=r.length,u=e._offsetAttribute===ln.NONE?0:1,f=new Uint8Array(c/3).fill(u);i.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new dt({attributes:i,indices:o,primitiveType:Fe.LINES,boundingSphere:new ae(h.ZERO,a),offsetAttribute:e._offsetAttribute})};var wh=Sh;function vT(e,t,n,i){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,1),this.value=new Uint8Array([H.floatToByte(e),H.floatToByte(t),H.floatToByte(n),H.floatToByte(i)])}Object.defineProperties(vT.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});vT.fromColor=function(e){return new vT(e.red,e.green,e.blue,e.alpha)};vT.toValue=function(e,t){return l(t)?e.toBytes(t):new Uint8Array(e.toBytes())};vT.equals=function(e,t){return e===t||l(e)&&l(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var jt=vT;function nw(e,t){e=y(e,0),t=y(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}Object.defineProperties(nw.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});nw.fromDistanceDisplayCondition=function(e){return new nw(e.near,e.far)};nw.toValue=function(e,t){return l(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var kn=nw;function RPe(e){e=y(e,y.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=y(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var wt=RPe;function Wo(e){e=y(e,y.EMPTY_OBJECT),this.start=l(e.start)?K.clone(e.start):new K,this.stop=l(e.stop)?K.clone(e.stop):new K,this.data=e.data,this.isStartIncluded=y(e.isStartIncluded,!0),this.isStopIncluded=y(e.isStopIncluded,!0)}Object.defineProperties(Wo.prototype,{isEmpty:{get:function(){let e=K.compare(this.stop,this.start);return e<0||e===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var DT={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};Wo.fromIso8601=function(e,t){let n=e.iso8601.split("/");if(n.length!==2)throw new de("options.iso8601 is an invalid ISO 8601 interval.");let i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=e.data;return l(t)?(t.start=i,t.stop=o,t.isStartIncluded=r,t.isStopIncluded=s,t.data=a,t):(DT.start=i,DT.stop=o,DT.isStartIncluded=r,DT.isStopIncluded=s,DT.data=a,new Wo(DT))};Wo.toIso8601=function(e,t){return`${K.toIso8601(e.start,t)}/${K.toIso8601(e.stop,t)}`};Wo.clone=function(e,t){if(l(e))return l(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new Wo(e)};Wo.equals=function(e,t,n){return e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equals(e.start,t.start)&&K.equals(e.stop,t.stop)&&(e.data===t.data||l(n)&&n(e.data,t.data)))};Wo.equalsEpsilon=function(e,t,n,i){return n=y(n,0),e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equalsEpsilon(e.start,t.start,n)&&K.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||l(i)&&i(e.data,t.data)))};Wo.intersect=function(e,t,n,i){if(!l(t))return Wo.clone(Wo.EMPTY,n);let o=e.start,r=e.stop,s=t.start,a=t.stop,c=K.greaterThanOrEquals(s,o)&&K.greaterThanOrEquals(r,s),u=!c&&K.lessThanOrEquals(s,o)&&K.lessThanOrEquals(o,a);if(!c&&!u)return Wo.clone(Wo.EMPTY,n);let f=e.isStartIncluded,d=e.isStopIncluded,p=t.isStartIncluded,g=t.isStopIncluded,m=K.lessThan(r,a);return l(n)||(n=new Wo),n.start=c?s:o,n.isStartIncluded=f&&p||!K.equals(s,o)&&(c&&p||u&&f),n.stop=m?r:a,n.isStopIncluded=m?d:d&&g||!K.equals(a,r)&&g,n.data=l(i)?i(e.data,t.data):e.data,n};Wo.contains=function(e,t){if(e.isEmpty)return!1;let n=K.compare(e.start,t);if(n===0)return e.isStartIncluded;let i=K.compare(t,e.stop);return i===0?e.isStopIncluded:n<0&&i<0};Wo.prototype.clone=function(e){return Wo.clone(this,e)};Wo.prototype.equals=function(e,t){return Wo.equals(this,e,t)};Wo.prototype.equalsEpsilon=function(e,t,n){return Wo.equalsEpsilon(this,e,t,n)};Wo.prototype.toString=function(){return Wo.toIso8601(this)};Wo.EMPTY=Object.freeze(new Wo({start:new K,stop:new K,isStartIncluded:!1,isStopIncluded:!1}));var vn=Wo;var eee=Object.freeze(K.fromIso8601("0000-01-01T00:00:00Z")),tee=Object.freeze(K.fromIso8601("9999-12-31T24:00:00Z")),OPe=Object.freeze(new vn({start:eee,stop:tee})),MPe={MINIMUM_VALUE:eee,MAXIMUM_VALUE:tee,MAXIMUM_INTERVAL:OPe},He=MPe;function iw(e,t,n){e=y(e,0),t=y(t,0),n=y(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(iw.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});iw.fromCartesian3=function(e){return new iw(e.x,e.y,e.z)};iw.toValue=function(e,t){return l(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var $i=iw;function VM(e){e=y(e,!0),this.value=VM.toValue(e)}Object.defineProperties(VM.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}});VM.toValue=function(e,t){return l(t)?(t[0]=e,t):new Uint8Array([e])};var xn=VM;var UM=`in vec3 v_positionEC; +${i}`};function aIe(e,t){let n=e.defines,i=n.length;for(let o=0;o<i;++o)if(n[o]===t)return!0;return!1}function JJ(e,t){let n=e.sources,i=n.length;for(let o=0;o<i;++o)if(n[o].indexOf(t)!==-1)return!0;return!1}function eee(e,t){let n=t.length;for(let i=0;i<n;++i){let o=t[i];if(JJ(e,o))return o}}var cIe=["v_normalEC","v_normal"];Fs.findNormalVarying=function(e){return JJ(e,"#ifdef HAS_NORMALS")?aIe(e,"HAS_NORMALS")?"v_normalEC":void 0:eee(e,cIe)};var lIe=["v_positionEC"];Fs.findPositionVarying=function(e){return eee(e,lIe)};var He=Fs;function ud(e){this._context=e,this._shaders={},this._numberOfShaders=0,this._shadersToRelease={}}Object.defineProperties(ud.prototype,{numberOfShaders:{get:function(){return this._numberOfShaders}}});ud.prototype.replaceShaderProgram=function(e){return l(e.shaderProgram)&&e.shaderProgram.destroy(),this.getShaderProgram(e)};function uIe(e){let t=Object.keys(e).sort();return JSON.stringify(e,t)}ud.prototype.getShaderProgram=function(e){let t=e.vertexShaderSource,n=e.fragmentShaderSource,i=e.attributeLocations;typeof t=="string"&&(t=new He({sources:[t]})),typeof n=="string"&&(n=new He({sources:[n]}));let o=t.getCacheKey(),r=n.getCacheKey(),s=l(i)?uIe(i):"",a=`${o}:${r}:${s}`,c;if(l(this._shaders[a]))c=this._shaders[a],delete this._shadersToRelease[a];else{let u=this._context,f=t.createCombinedVertexShader(u),d=n.createCombinedFragmentShader(u),p=new tn({gl:u._gl,logShaderCompilation:u.logShaderCompilation,debugShaders:u.debugShaders,vertexShaderSource:t,vertexShaderText:f,fragmentShaderSource:n,fragmentShaderText:d,attributeLocations:i});c={cache:this,shaderProgram:p,keyword:a,derivedKeywords:[],count:0},p._cachedShader=c,this._shaders[a]=c,++this._numberOfShaders}return++c.count,c.shaderProgram};ud.prototype.replaceDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=this._shaders[o];if(l(r)){x6(this,r);let s=i.derivedKeywords.indexOf(t);s>-1&&i.derivedKeywords.splice(s,1)}return this.createDerivedShaderProgram(e,t,n)};ud.prototype.getDerivedShaderProgram=function(e,t){let n=e._cachedShader,i=t+n.keyword,o=this._shaders[i];if(l(o))return o.shaderProgram};ud.prototype.createDerivedShaderProgram=function(e,t,n){let i=e._cachedShader,o=t+i.keyword,r=n.vertexShaderSource,s=n.fragmentShaderSource,a=n.attributeLocations;typeof r=="string"&&(r=new He({sources:[r]})),typeof s=="string"&&(s=new He({sources:[s]}));let c=this._context,u=r.createCombinedVertexShader(c),f=s.createCombinedFragmentShader(c),d=new tn({gl:c._gl,logShaderCompilation:c.logShaderCompilation,debugShaders:c.debugShaders,vertexShaderSource:r,vertexShaderText:u,fragmentShaderSource:s,fragmentShaderText:f,attributeLocations:a}),p={cache:this,shaderProgram:d,keyword:o,derivedKeywords:[],count:0};return i.derivedKeywords.push(t),d._cachedShader=p,this._shaders[o]=p,d};function x6(e,t){let n=t.derivedKeywords,i=n.length;for(let o=0;o<i;++o){let r=n[o]+t.keyword,s=e._shaders[r];x6(e,s)}delete e._shaders[t.keyword],t.shaderProgram.finalDestroy()}ud.prototype.destroyReleasedShaderPrograms=function(){let e=this._shadersToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];x6(this,n),--this._numberOfShaders}this._shadersToRelease={}};ud.prototype.releaseShaderProgram=function(e){if(l(e)){let t=e._cachedShader;t&&--t.count===0&&(this._shadersToRelease[t.keyword]=t)}};ud.prototype.isDestroyed=function(){return!1};ud.prototype.destroy=function(){let e=this._shaders;for(let t in e)e.hasOwnProperty(t)&&e[t].shaderProgram.finalDestroy();return ue(this)};var HM=ud;function fd(e){e=y(e,y.EMPTY_OBJECT);let{context:t,source:n,pixelFormat:i=ot.RGBA,pixelDatatype:o=Ze.UNSIGNED_BYTE,flipY:r=!0,skipColorSpaceConversion:s=!1,sampler:a=new $t}=e,{width:c,height:u}=e;l(n)&&(l(c)||(c=n.videoWidth??n.naturalWidth??n.width),l(u)||(u=n.videoHeight??n.naturalHeight??n.height));let f=e.preMultiplyAlpha||i===ot.RGB||i===ot.LUMINANCE,d=ot.toInternalFormat(i,o,t),p=ot.isCompressedFormat(d),g=t._gl,m=p?ot.compressedTextureSizeInBytes(i,c,u):ot.textureSizeInBytes(i,o,c,u);this._id=e.id??Gn(),this._context=t,this._textureFilterAnisotropic=t._textureFilterAnisotropic,this._textureTarget=g.TEXTURE_2D,this._texture=g.createTexture(),this._internalFormat=d,this._pixelFormat=i,this._pixelDatatype=o,this._width=c,this._height=u,this._dimensions=new U(c,u),this._hasMipmap=!1,this._sizeInBytes=m,this._preMultiplyAlpha=f,this._flipY=r,this._initialized=!1,this._sampler=void 0,this._sampler=a,oee(this,a),g.activeTexture(g.TEXTURE0),g.bindTexture(this._textureTarget,this._texture),l(n)?(s?g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.NONE):g.pixelStorei(g.UNPACK_COLORSPACE_CONVERSION_WEBGL,g.BROWSER_DEFAULT_WEBGL),l(n.arrayBufferView)?ot.isCompressedFormat(d)?fIe(this,n):tee(this,n):l(n.framebuffer)?hIe(this,n):nee(this,n),this._initialized=!0):iee(this),g.bindTexture(this._textureTarget,null)}function fIe(e,t){let i=e._context._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a}=e;if(i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),i.compressedTexImage2D(o,0,r,s,a,0,t.arrayBufferView),l(t.mipLevels)){let c=s,u=a;for(let f=0;f<t.mipLevels.length;++f)c=GM(c),u=GM(u),i.compressedTexImage2D(o,f+1,r,c,u,0,t.mipLevels[f])}}function tee(e,t){let n=e._context,i=n._gl,o=e._textureTarget,r=e._internalFormat,{width:s,height:a,pixelFormat:c,pixelDatatype:u,flipY:f}=e,d=ot.alignmentInBytes(c,u,s);i.pixelStorei(i.UNPACK_ALIGNMENT,d),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1);let{arrayBufferView:p}=t;if(f&&(p=ot.flipY(p,c,u,s,a)),i.texImage2D(o,0,r,s,a,0,c,Ze.toWebGLConstant(u,n),p),l(t.mipLevels)){let g=s,m=a;for(let x=0;x<t.mipLevels.length;++x)g=GM(g),m=GM(m),i.texImage2D(o,x+1,r,g,m,0,c,Ze.toWebGLConstant(u,n),t.mipLevels[x])}}function dIe(e,t,n,i,o,r){let s=e._context,a=s._gl,{pixelFormat:c,pixelDatatype:u}=e,f=ot.alignmentInBytes(c,u,o);a.pixelStorei(a.UNPACK_ALIGNMENT,f),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),a.pixelStorei(a.UNPACK_FLIP_Y_WEBGL,!1),e.flipY&&(t=ot.flipY(t,c,u,o,r)),a.texSubImage2D(e._textureTarget,0,n,i,o,r,c,Ze.toWebGLConstant(u,s),t)}function hIe(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._bind(),i.copyTexImage2D(e._textureTarget,0,e._internalFormat,t.xOffset,t.yOffset,e.width,e.height,0),t.framebuffer!==n.defaultFramebuffer&&t.framebuffer._unBind()}function nee(e,t){let n=e._context,i=n._gl;i.pixelStorei(i.UNPACK_ALIGNMENT,4),i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.preMultiplyAlpha),i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,e.flipY),i.texImage2D(e._textureTarget,0,e._internalFormat,e.pixelFormat,Ze.toWebGLConstant(e.pixelDatatype,n),t)}function mIe(e,t,n,i){let o=e._context,r=o._gl;r.pixelStorei(r.UNPACK_ALIGNMENT,4),r.pixelStorei(r.UNPACK_PREMULTIPLY_ALPHA_WEBGL,e.preMultiplyAlpha),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,e.flipY),r.texSubImage2D(e._textureTarget,0,n,i,e.pixelFormat,Ze.toWebGLConstant(e.pixelDatatype,o),t)}function GM(e){let t=Math.floor(e/2)|0;return Math.max(t,1)}function iee(e){let t=e._context;t._gl.texImage2D(e._textureTarget,0,e._internalFormat,e._width,e._height,0,e._pixelFormat,Ze.toWebGLConstant(e._pixelDatatype,t),null)}fd.create=function(e){return new fd(e)};fd.fromFramebuffer=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.context,n=t._gl,{pixelFormat:i=ot.RGB,framebufferXOffset:o=0,framebufferYOffset:r=0,width:s=n.drawingBufferWidth,height:a=n.drawingBufferHeight,framebuffer:c}=e;return new fd({context:t,width:s,height:a,pixelFormat:i,source:{framebuffer:l(c)?c:t.defaultFramebuffer,xOffset:o,yOffset:r,width:s,height:a}})};Object.defineProperties(fd.prototype,{id:{get:function(){return this._id}},sampler:{get:function(){return this._sampler},set:function(e){oee(this,e),this._sampler=e}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},dimensions:{get:function(){return this._dimensions}},preMultiplyAlpha:{get:function(){return this._preMultiplyAlpha}},flipY:{get:function(){return this._flipY}},width:{get:function(){return this._width}},height:{get:function(){return this._height}},sizeInBytes:{get:function(){return this._hasMipmap?Math.floor(this._sizeInBytes*4/3):this._sizeInBytes}},_target:{get:function(){return this._textureTarget}}});function oee(e,t){let{minificationFilter:n,magnificationFilter:i}=t,o=[Zt.NEAREST_MIPMAP_NEAREST,Zt.NEAREST_MIPMAP_LINEAR,Zt.LINEAR_MIPMAP_NEAREST,Zt.LINEAR_MIPMAP_LINEAR].includes(n),r=e._context,s=e._pixelFormat,a=e._pixelDatatype;(a===Ze.FLOAT&&!r.textureFloatLinear||a===Ze.HALF_FLOAT&&!r.textureHalfFloatLinear)&&(n=o?Zt.NEAREST_MIPMAP_NEAREST:Zt.NEAREST,i=pi.NEAREST),r.webgl2&&ot.isDepthFormat(s)&&(n=Zt.NEAREST,i=pi.NEAREST);let c=r._gl,u=e._textureTarget;c.activeTexture(c.TEXTURE0),c.bindTexture(u,e._texture),c.texParameteri(u,c.TEXTURE_MIN_FILTER,n),c.texParameteri(u,c.TEXTURE_MAG_FILTER,i),c.texParameteri(u,c.TEXTURE_WRAP_S,t.wrapS),c.texParameteri(u,c.TEXTURE_WRAP_T,t.wrapT),l(e._textureFilterAnisotropic)&&c.texParameteri(u,e._textureFilterAnisotropic.TEXTURE_MAX_ANISOTROPY_EXT,t.maximumAnisotropy),c.bindTexture(u,null)}fd.prototype.copyFrom=function(e){let{xOffset:t=0,yOffset:n=0,source:i,skipColorSpaceConversion:o=!1}=e,s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture);let{width:c,height:u}=i;l(i.videoWidth)&&l(i.videoHeight)?(c=i.videoWidth,u=i.videoHeight):l(i.naturalWidth)&&l(i.naturalHeight)&&(c=i.naturalWidth,u=i.naturalHeight),o?s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.NONE):s.pixelStorei(s.UNPACK_COLORSPACE_CONVERSION_WEBGL,s.BROWSER_DEFAULT_WEBGL);let f=!1;this._initialized||(t===0&&n===0&&c===this._width&&u===this._height?(l(i.arrayBufferView)?tee(this,i):nee(this,i),f=!0):(s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1),s.pixelStorei(s.UNPACK_FLIP_Y_WEBGL,!1),iee(this)),this._initialized=!0),f||(l(i.arrayBufferView)?dIe(this,i.arrayBufferView,t,n,c,u):mIe(this,i,t,n)),s.bindTexture(a,null)};fd.prototype.copyFromFramebuffer=function(e,t,n,i,o,r){e=y(e,0),t=y(t,0),n=y(n,0),i=y(i,0),o=y(o,this._width),r=y(r,this._height);let s=this._context._gl,a=this._textureTarget;s.activeTexture(s.TEXTURE0),s.bindTexture(a,this._texture),s.copyTexSubImage2D(a,0,e,t,n,i,o,r),s.bindTexture(a,null),this._initialized=!0};fd.prototype.generateMipmap=function(e){e=y(e,lp.DONT_CARE),this._hasMipmap=!0;let t=this._context._gl,n=this._textureTarget;t.hint(t.GENERATE_MIPMAP_HINT,e),t.activeTexture(t.TEXTURE0),t.bindTexture(n,this._texture),t.generateMipmap(n),t.bindTexture(n,null)};fd.prototype.isDestroyed=function(){return!1};fd.prototype.destroy=function(){return this._context._gl.deleteTexture(this._texture),ue(this)};var Pt=fd;function G0(){this._textures={},this._numberOfTextures=0,this._texturesToRelease={}}Object.defineProperties(G0.prototype,{numberOfTextures:{get:function(){return this._numberOfTextures}}});G0.prototype.getTexture=function(e){let t=this._textures[e];if(l(t))return delete this._texturesToRelease[e],++t.count,t.texture};G0.prototype.addTexture=function(e,t){let n={texture:t,count:1};t.finalDestroy=t.destroy;let i=this;t.destroy=function(){--n.count===0&&(i._texturesToRelease[e]=n)},this._textures[e]=n,++this._numberOfTextures};G0.prototype.destroyReleasedTextures=function(){let e=this._texturesToRelease;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];delete this._textures[t],n.texture.finalDestroy(),--this._numberOfTextures}this._texturesToRelease={}};G0.prototype.isDestroyed=function(){return!1};G0.prototype.destroy=function(){let e=this._textures;for(let t in e)e.hasOwnProperty(t)&&e[t].texture.finalDestroy();return ue(this)};var WM=G0;function Xu(e){this.planes=y(e,[])}var cv=[new h,new h,new h];h.clone(h.UNIT_X,cv[0]);h.clone(h.UNIT_Y,cv[1]);h.clone(h.UNIT_Z,cv[2]);var W_=new h,pIe=new h,ree=new ln(new h(1,0,0),0);Xu.fromBoundingSphere=function(e,t){l(t)||(t=new Xu);let n=cv.length,i=t.planes;i.length=2*n;let o=e.center,r=e.radius,s=0;for(let a=0;a<n;++a){let c=cv[a],u=i[s],f=i[s+1];l(u)||(u=i[s]=new oe),l(f)||(f=i[s+1]=new oe),h.multiplyByScalar(c,-r,W_),h.add(o,W_,W_),u.x=c.x,u.y=c.y,u.z=c.z,u.w=-h.dot(c,W_),h.multiplyByScalar(c,r,W_),h.add(o,W_,W_),f.x=-c.x,f.y=-c.y,f.z=-c.z,f.w=-h.dot(h.negate(c,pIe),W_),s+=2}return t};Xu.prototype.computeVisibility=function(e){let t=this.planes,n=!1;for(let i=0,o=t.length;i<o;++i){let r=e.intersectPlane(ln.fromCartesian4(t[i],ree));if(r===jt.OUTSIDE)return jt.OUTSIDE;r===jt.INTERSECTING&&(n=!0)}return n?jt.INTERSECTING:jt.INSIDE};Xu.prototype.computeVisibilityWithPlaneMask=function(e,t){if(t===Xu.MASK_OUTSIDE||t===Xu.MASK_INSIDE)return t;let n=Xu.MASK_INSIDE,i=this.planes;for(let o=0,r=i.length;o<r;++o){let s=o<31?1<<o:0;if(o<31&&!(t&s))continue;let a=e.intersectPlane(ln.fromCartesian4(i[o],ree));if(a===jt.OUTSIDE)return Xu.MASK_OUTSIDE;a===jt.INTERSECTING&&(n|=s)}return n};Xu.MASK_OUTSIDE=4294967295;Xu.MASK_INSIDE=0;Xu.MASK_INDETERMINATE=2147483647;var As=Xu;function Dh(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new As,this._orthographicMatrix=new F}function see(e){(e.top!==e._top||e.bottom!==e._bottom||e.left!==e._left||e.right!==e._right||e.near!==e._near||e.far!==e._far)&&(e._left=e.left,e._right=e.right,e._top=e.top,e._bottom=e.bottom,e._near=e.near,e._far=e.far,e._orthographicMatrix=F.computeOrthographicOffCenter(e.left,e.right,e.bottom,e.top,e.near,e.far,e._orthographicMatrix))}Object.defineProperties(Dh.prototype,{projectionMatrix:{get:function(){return see(this),this._orthographicMatrix}}});var _Ie=new h,gIe=new h,yIe=new h,b6=new h;Dh.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,_Ie);h.normalize(f,f);let d=gIe;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=yIe;h.multiplyByScalar(f,a,p),h.add(d,p,p);let g=i[0];return l(g)||(g=i[0]=new oe),g.x=f.x,g.y=f.y,g.z=f.z,g.w=-h.dot(f,p),h.multiplyByScalar(f,s,p),h.add(d,p,p),g=i[1],l(g)||(g=i[1]=new oe),g.x=-f.x,g.y=-f.y,g.z=-f.z,g.w=-h.dot(h.negate(f,b6),p),h.multiplyByScalar(n,r,p),h.add(d,p,p),g=i[2],l(g)||(g=i[2]=new oe),g.x=n.x,g.y=n.y,g.z=n.z,g.w=-h.dot(n,p),h.multiplyByScalar(n,o,p),h.add(d,p,p),g=i[3],l(g)||(g=i[3]=new oe),g.x=-n.x,g.y=-n.y,g.z=-n.z,g.w=-h.dot(h.negate(n,b6),p),g=i[4],l(g)||(g=i[4]=new oe),g.x=t.x,g.y=t.y,g.z=t.z,g.w=-h.dot(t,d),h.multiplyByScalar(t,u,p),h.add(e,p,p),g=i[5],l(g)||(g=i[5]=new oe),g.x=-t.x,g.y=-t.y,g.z=-t.z,g.w=-h.dot(h.negate(t,b6),p),this._cullingVolume};Dh.prototype.getPixelDimensions=function(e,t,n,i,o){see(this);let r=this.right-this.left,s=this.top-this.bottom,a=i*r/e,c=i*s/t;return o.x=a,o.y=c,o};Dh.prototype.clone=function(e){return l(e)||(e=new Dh),e.left=this.left,e.right=this.right,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};Dh.prototype.equals=function(e){return l(e)&&e instanceof Dh&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Dh.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof Dh&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var Wr=Dh;function cl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Wr,this.width=e.width,this._width=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far}cl.packedLength=4;cl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.width,t[n++]=e.aspectRatio,t[n++]=e.near,t[n]=e.far,t};cl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new cl),n.width=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t],n};function j_(e){let t=e._offCenterFrustum;if(e.width!==e._width||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far){e._aspectRatio=e.aspectRatio,e._width=e.width,e._near=e.near,e._far=e.far;let n=1/e.aspectRatio;t.right=e.width*.5,t.left=-t.right,t.top=n*t.right,t.bottom=-t.top,t.near=e.near,t.far=e.far}}Object.defineProperties(cl.prototype,{projectionMatrix:{get:function(){return j_(this),this._offCenterFrustum.projectionMatrix}},offCenterFrustum:{get:function(){return j_(this),this._offCenterFrustum}}});cl.prototype.computeCullingVolume=function(e,t,n){return j_(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};cl.prototype.getPixelDimensions=function(e,t,n,i,o){return j_(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};cl.prototype.clone=function(e){return l(e)||(e=new cl),e.aspectRatio=this.aspectRatio,e.width=this.width,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._width=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};cl.prototype.equals=function(e){return!l(e)||!(e instanceof cl)?!1:(j_(this),j_(e),this.width===e.width&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};cl.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof cl)?!1:(j_(this),j_(e),P.equalsEpsilon(this.width,e.width,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var an=cl;var T6={};function xIe(e){let t=6.239996+.0172019696544*e;return .001657*Math.sin(t+.01671*Math.sin(t))}var bIe=32.184,TIe=2451545;function See(e,t){t=K.addSeconds(e,bIe,t);let n=K.totalDays(t)-TIe;return t=K.addSeconds(t,xIe(n),t),t}var jM=new K(2451545,0,qn.TAI),CIe=1e3,Ku=P.RADIANS_PER_DEGREE,Kl=P.RADIANS_PER_ARCSECOND,va=14959787e4,aee=new $;function vee(e,t,n,i,o,r,s){n<0&&(n=-n,o+=P.PI);let a=e*(1-t),c=i-o,u=o,f=EIe(r-i,t),d=AIe(t,0);IIe(c,n,u,aee);let p=a*(1+t),g=Math.cos(f),m=Math.sin(f),x=1+t*g,b=p/x;return l(s)?(s.x=b*g,s.y=b*m,s.z=0):s=new h(b*g,b*m,0),$.multiplyByVector(aee,s,s)}function AIe(e,t){return e<=t?"Circular":e<1-t?"Elliptical":e<=1+t?"Parabolic":"Hyperbolic"}function EIe(e,t){let n=wIe(e,t);return DIe(n,t)}var SIe=50,vIe=P.EPSILON8;function wIe(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=e+t*Math.sin(e)/(1-Math.sin(e+t)+Math.sin(e)),o=Number.MAX_VALUE,r;for(r=0;r<SIe&&Math.abs(o-i)>vIe;++r){o=i;let s=o-t*Math.sin(o)-e,a=1-t*Math.cos(o);i=o-s/a}return o=i+n*P.TWO_PI,o}function DIe(e,t){let n=Math.floor(e/P.TWO_PI);e-=n*P.TWO_PI;let i=Math.cos(e)-t,o=Math.sin(e)*Math.sqrt(1-t*t),r=Math.atan2(o,i);return r=P.zeroToTwoPi(r),e<0&&(r-=P.TWO_PI),r+=n*P.TWO_PI,r}function IIe(e,t,n,i){let o=Math.cos(e),r=Math.sin(e),s=Math.cos(t),a=Math.sin(t),c=Math.cos(n),u=Math.sin(n);return l(i)?(i[0]=c*o-u*r*s,i[1]=u*o+c*r*s,i[2]=r*a,i[3]=-c*r-u*o*s,i[4]=-u*r+c*o*s,i[5]=o*a,i[6]=u*a,i[7]=-c*a,i[8]=s):i=new $(c*o-u*r*s,-c*r-u*o*s,u*a,u*o+c*r*s,-u*r+c*o*s,-c*a,r*a,o*a,s),i}var PIe=1.0000010178*va,OIe=100.46645683*Ku,RIe=129597742283429e-5*Kl,cee=16002,lee=21863,uee=32004,fee=10931,dee=14529,hee=16368,mee=15318,pee=32794,MIe=64*1e-7*va,LIe=-152*1e-7*va,NIe=62*1e-7*va,FIe=-8*1e-7*va,BIe=32*1e-7*va,kIe=-41*1e-7*va,VIe=19*1e-7*va,UIe=-11*1e-7*va,zIe=-150*1e-7*va,HIe=-46*1e-7*va,GIe=68*1e-7*va,WIe=54*1e-7*va,jIe=14*1e-7*va,qIe=24*1e-7*va,YIe=-28*1e-7*va,XIe=22*1e-7*va,_ee=10,gee=16002,yee=21863,xee=10931,bee=1473,Tee=32004,Cee=4387,Aee=73,KIe=-325*1e-7,ZIe=-322*1e-7,$Ie=-79*1e-7,QIe=232*1e-7,JIe=-52*1e-7,ePe=97*1e-7,tPe=55*1e-7,nPe=-41*1e-7,iPe=-105*1e-7,oPe=-137*1e-7,rPe=258*1e-7,sPe=35*1e-7,aPe=-116*1e-7,cPe=-88*1e-7,lPe=-112*1e-7,uPe=-80*1e-7,LT=new K(0,0,qn.TAI);function fPe(e,t){See(e,LT);let i=(LT.dayNumber-jM.dayNumber+(LT.secondsOfDay-jM.secondsOfDay)/Xn.SECONDS_PER_DAY)/(Xn.DAYS_PER_JULIAN_CENTURY*10),o=.3595362*i,r=PIe+MIe*Math.cos(cee*o)+zIe*Math.sin(cee*o)+LIe*Math.cos(lee*o)+HIe*Math.sin(lee*o)+NIe*Math.cos(uee*o)+GIe*Math.sin(uee*o)+FIe*Math.cos(fee*o)+WIe*Math.sin(fee*o)+BIe*Math.cos(dee*o)+jIe*Math.sin(dee*o)+kIe*Math.cos(hee*o)+qIe*Math.sin(hee*o)+VIe*Math.cos(mee*o)+YIe*Math.sin(mee*o)+UIe*Math.cos(pee*o)+XIe*Math.sin(pee*o),s=OIe+RIe*i+KIe*Math.cos(_ee*o)+iPe*Math.sin(_ee*o)+ZIe*Math.cos(gee*o)+oPe*Math.sin(gee*o)+$Ie*Math.cos(yee*o)+rPe*Math.sin(yee*o)+QIe*Math.cos(xee*o)+sPe*Math.sin(xee*o)+JIe*Math.cos(bee*o)+aPe*Math.sin(bee*o)+ePe*Math.cos(Tee*o)+cPe*Math.sin(Tee*o)+tPe*Math.cos(Cee*o)+lPe*Math.sin(Cee*o)+nPe*Math.cos(Aee*o)+uPe*Math.sin(Aee*o),a=.0167086342-.0004203654*i,c=102.93734808*Ku+11612.3529*Kl*i,u=469.97289*Kl*i,f=174.87317577*Ku-8679.27034*Kl*i;return vee(r,a,u,c,f,s,t)}function wee(e,t){See(e,LT);let i=(LT.dayNumber-jM.dayNumber+(LT.secondsOfDay-jM.secondsOfDay)/Xn.SECONDS_PER_DAY)/Xn.DAYS_PER_JULIAN_CENTURY,o=i*i,r=o*i,s=r*i,a=383397.7725+.004*i,c=.055545526-16e-9*i,u=5.15668983*Ku,f=-8e-5*i+.02966*o-42e-6*r-13e-8*s,d=83.35324312*Ku,p=146434202669e-4*i-38.2702*o-.045047*r+21301e-8*s,g=125.04455501*Ku,m=-69679193631e-4*i+6.3602*o+.007625*r-3586e-8*s,x=218.31664563*Ku,b=17325593434847e-4*i-6.391*o+.006588*r-3169e-8*s,T=297.85019547*Ku+Kl*(1602961601209e-3*i-6.3706*o+.006593*r-3169e-8*s),C=93.27209062*Ku+Kl*(17395272628478e-4*i-12.7512*o-.001037*r+417e-8*s),A=134.96340251*Ku+Kl*(17179159232178e-4*i+31.8792*o+.051635*r-2447e-7*s),S=357.52910918*Ku+Kl*(1295965810481e-4*i-.5532*o+136e-6*r-1149e-8*s),v=310.17137918*Ku-Kl*(6967051436e-3*i+6.2068*o+.007618*r-3219e-8*s),D=2*T,R=4*T,O=6*T,M=2*A,N=3*A,_=4*A,E=2*C;a+=3400.4*Math.cos(D)-635.6*Math.cos(D-A)-235.6*Math.cos(A)+218.1*Math.cos(D-S)+181*Math.cos(D+A),c+=.014216*Math.cos(D-A)+.008551*Math.cos(D-M)-.001383*Math.cos(A)+.001356*Math.cos(D+A)-.001147*Math.cos(R-N)-914e-6*Math.cos(R-M)+869e-6*Math.cos(D-S-A)-627e-6*Math.cos(D)-394e-6*Math.cos(R-_)+282e-6*Math.cos(D-S-M)-279e-6*Math.cos(T-A)-236e-6*Math.cos(M)+231e-6*Math.cos(R)+229e-6*Math.cos(O-_)-201e-6*Math.cos(M-E),f+=486.26*Math.cos(D-E)-40.13*Math.cos(D)+37.51*Math.cos(E)+25.73*Math.cos(M-E)+19.97*Math.cos(D-S-E),p+=-55609*Math.sin(D-A)-34711*Math.sin(D-M)-9792*Math.sin(A)+9385*Math.sin(R-N)+7505*Math.sin(R-M)+5318*Math.sin(D+A)+3484*Math.sin(R-_)-3417*Math.sin(D-S-A)-2530*Math.sin(O-_)-2376*Math.sin(D)-2075*Math.sin(D-N)-1883*Math.sin(M)-1736*Math.sin(O-5*A)+1626*Math.sin(S)-1370*Math.sin(O-N),m+=-5392*Math.sin(D-E)-540*Math.sin(S)-441*Math.sin(D)+423*Math.sin(E)-288*Math.sin(M-E),b+=-3332.9*Math.sin(D)+1197.4*Math.sin(D-A)-662.5*Math.sin(S)+396.3*Math.sin(A)-218*Math.sin(D-S);let w=2*v,I=3*v;f+=46.997*Math.cos(v)*i-.614*Math.cos(D-E+v)*i+.614*Math.cos(D-E-v)*i-.0297*Math.cos(w)*o-.0335*Math.cos(v)*o+.0012*Math.cos(D-E+w)*o-16e-5*Math.cos(v)*r+4e-5*Math.cos(I)*r+4e-5*Math.cos(w)*r;let L=2.116*Math.sin(v)*i-.111*Math.sin(D-E-v)*i-.0015*Math.sin(v)*o;p+=L,b+=L,m+=-520.77*Math.sin(v)*i+13.66*Math.sin(D-E+v)*i+1.12*Math.sin(D-v)*i-1.06*Math.sin(E-v)*i+.66*Math.sin(w)*o+.371*Math.sin(v)*o-.035*Math.sin(D-E+w)*o-.015*Math.sin(D-E+v)*o+.0014*Math.sin(v)*r-.0011*Math.sin(I)*r-9e-4*Math.sin(w)*r,a*=CIe;let B=u+f*Kl,H=d+p*Kl,V=x+b*Kl,G=g+m*Kl;return vee(a,c,B,H,G,V,t)}var Eee=.012300034,dPe=Eee/(Eee+1)*-1;function hPe(e,t){return t=wee(e,t),h.multiplyByScalar(t,dPe,t)}var Dee=new $(1.0000000000000002,5619723173785822e-31,4690511510146299e-34,-5154129427414611e-31,.9174820620691819,-.39777715593191376,-223970096136568e-30,.39777715593191376,.9174820620691819),lv=new h;T6.computeSunPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),l(t)||(t=new h),lv=fPe(e,lv),t=h.negate(lv,t),hPe(e,lv),h.subtract(t,lv,t),$.multiplyByVector(Dee,t,t),t};T6.computeMoonPositionInEarthInertialFrame=function(e,t){return l(e)||(e=K.now()),t=wee(e,t),$.multiplyByVector(Dee,t,t),t};var W0=T6;var qM={MORPHING:0,COLUMBUS_VIEW:1,SCENE2D:2,SCENE3D:3};qM.getMorphTime=function(e){return e===qM.SCENE3D?1:e===qM.MORPHING?void 0:0};var ne=Object.freeze(qM);function mPe(e){e=y(e,y.EMPTY_OBJECT),this.color=z.clone(y(e.color,z.WHITE)),this.intensity=y(e.intensity,2)}var q_=mPe;function NT(){this.globeDepthTexture=void 0,this.gamma=void 0,this._viewport=new Ye,this._viewportCartesian4=new oe,this._viewportDirty=!1,this._viewportOrthographicMatrix=F.clone(F.IDENTITY),this._viewportTransformation=F.clone(F.IDENTITY),this._model=F.clone(F.IDENTITY),this._view=F.clone(F.IDENTITY),this._inverseView=F.clone(F.IDENTITY),this._projection=F.clone(F.IDENTITY),this._infiniteProjection=F.clone(F.IDENTITY),this._entireFrustum=new U,this._currentFrustum=new U,this._frustumPlanes=new oe,this._farDepthFromNearPlusOne=void 0,this._log2FarDepthFromNearPlusOne=void 0,this._oneOverLog2FarDepthFromNearPlusOne=void 0,this._frameState=void 0,this._temeToPseudoFixed=$.clone(F.IDENTITY),this._view3DDirty=!0,this._view3D=new F,this._inverseView3DDirty=!0,this._inverseView3D=new F,this._inverseModelDirty=!0,this._inverseModel=new F,this._inverseTransposeModelDirty=!0,this._inverseTransposeModel=new $,this._viewRotation=new $,this._inverseViewRotation=new $,this._viewRotation3D=new $,this._inverseViewRotation3D=new $,this._inverseProjectionDirty=!0,this._inverseProjection=new F,this._modelViewDirty=!0,this._modelView=new F,this._modelView3DDirty=!0,this._modelView3D=new F,this._modelViewRelativeToEyeDirty=!0,this._modelViewRelativeToEye=new F,this._inverseModelViewDirty=!0,this._inverseModelView=new F,this._inverseModelView3DDirty=!0,this._inverseModelView3D=new F,this._viewProjectionDirty=!0,this._viewProjection=new F,this._inverseViewProjectionDirty=!0,this._inverseViewProjection=new F,this._modelViewProjectionDirty=!0,this._modelViewProjection=new F,this._inverseModelViewProjectionDirty=!0,this._inverseModelViewProjection=new F,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewProjectionRelativeToEye=new F,this._modelViewInfiniteProjectionDirty=!0,this._modelViewInfiniteProjection=new F,this._normalDirty=!0,this._normal=new $,this._normal3DDirty=!0,this._normal3D=new $,this._inverseNormalDirty=!0,this._inverseNormal=new $,this._inverseNormal3DDirty=!0,this._inverseNormal3D=new $,this._encodedCameraPositionMCDirty=!0,this._encodedCameraPositionMC=new Wn,this._cameraPosition=new h,this._sunPositionWC=new h,this._sunPositionColumbusView=new h,this._sunDirectionWC=new h,this._sunDirectionEC=new h,this._moonDirectionEC=new h,this._lightDirectionWC=new h,this._lightDirectionEC=new h,this._lightColor=new h,this._lightColorHdr=new h,this._pass=void 0,this._mode=void 0,this._mapProjection=void 0,this._ellipsoid=void 0,this._cameraDirection=new h,this._cameraRight=new h,this._cameraUp=new h,this._frustum2DWidth=0,this._eyeHeight=0,this._eyeHeight2D=new U,this._eyeEllipsoidNormalEC=new h,this._eyeEllipsoidCurvature=new U,this._modelToEnu=new F,this._enuToModel=new F,this._pixelRatio=1,this._orthographicIn3D=!1,this._backgroundColor=new z,this._brdfLut=void 0,this._environmentMap=void 0,this._sphericalHarmonicCoefficients=void 0,this._specularEnvironmentMaps=void 0,this._specularEnvironmentMapsMaximumLOD=void 0,this._fogDensity=void 0,this._fogVisualDensityScalar=void 0,this._fogMinimumBrightness=void 0,this._atmosphereHsbShift=void 0,this._atmosphereLightIntensity=void 0,this._atmosphereRayleighCoefficient=new h,this._atmosphereRayleighScaleHeight=new h,this._atmosphereMieCoefficient=new h,this._atmosphereMieScaleHeight=void 0,this._atmosphereMieAnisotropy=void 0,this._atmosphereDynamicLighting=void 0,this._invertClassificationColor=void 0,this._splitPosition=0,this._pixelSizePerMeter=void 0,this._geometricToleranceOverMeter=void 0,this._minimumDisableDepthTestDistance=void 0}Object.defineProperties(NT.prototype,{frameState:{get:function(){return this._frameState}},viewport:{get:function(){return this._viewport},set:function(e){if(!Ye.equals(e,this._viewport)){Ye.clone(e,this._viewport);let t=this._viewport,n=this._viewportCartesian4;n.x=t.x,n.y=t.y,n.z=t.width,n.w=t.height,this._viewportDirty=!0}}},viewportCartesian4:{get:function(){return this._viewportCartesian4}},viewportOrthographic:{get:function(){return Pee(this),this._viewportOrthographicMatrix}},viewportTransformation:{get:function(){return Pee(this),this._viewportTransformation}},model:{get:function(){return this._model},set:function(e){F.clone(e,this._model),this._modelView3DDirty=!0,this._inverseModelView3DDirty=!0,this._inverseModelDirty=!0,this._inverseTransposeModelDirty=!0,this._modelViewDirty=!0,this._inverseModelViewDirty=!0,this._modelViewRelativeToEyeDirty=!0,this._inverseModelViewDirty=!0,this._modelViewProjectionDirty=!0,this._inverseModelViewProjectionDirty=!0,this._modelViewProjectionRelativeToEyeDirty=!0,this._modelViewInfiniteProjectionDirty=!0,this._normalDirty=!0,this._inverseNormalDirty=!0,this._normal3DDirty=!0,this._inverseNormal3DDirty=!0,this._encodedCameraPositionMCDirty=!0}},inverseModel:{get:function(){return this._inverseModelDirty&&(this._inverseModelDirty=!1,F.inverse(this._model,this._inverseModel)),this._inverseModel}},inverseTransposeModel:{get:function(){let e=this._inverseTransposeModel;return this._inverseTransposeModelDirty&&(this._inverseTransposeModelDirty=!1,F.getMatrix3(this.inverseModel,e),$.transpose(e,e)),e}},view:{get:function(){return this._view}},view3D:{get:function(){return A6(this),this._view3D}},viewRotation:{get:function(){return A6(this),this._viewRotation}},viewRotation3D:{get:function(){return A6(this),this._viewRotation3D}},inverseView:{get:function(){return this._inverseView}},inverseView3D:{get:function(){return Mee(this),this._inverseView3D}},inverseViewRotation:{get:function(){return this._inverseViewRotation}},inverseViewRotation3D:{get:function(){return Mee(this),this._inverseViewRotation3D}},projection:{get:function(){return this._projection}},inverseProjection:{get:function(){return SPe(this),this._inverseProjection}},infiniteProjection:{get:function(){return this._infiniteProjection}},modelView:{get:function(){return vPe(this),this._modelView}},modelView3D:{get:function(){return wPe(this),this._modelView3D}},modelViewRelativeToEye:{get:function(){return MPe(this),this._modelViewRelativeToEye}},inverseModelView:{get:function(){return DPe(this),this._inverseModelView}},inverseModelView3D:{get:function(){return IPe(this),this._inverseModelView3D}},viewProjection:{get:function(){return PPe(this),this._viewProjection}},inverseViewProjection:{get:function(){return OPe(this),this._inverseViewProjection}},modelViewProjection:{get:function(){return RPe(this),this._modelViewProjection}},inverseModelViewProjection:{get:function(){return LPe(this),this._inverseModelViewProjection}},modelViewProjectionRelativeToEye:{get:function(){return NPe(this),this._modelViewProjectionRelativeToEye}},modelViewInfiniteProjection:{get:function(){return FPe(this),this._modelViewInfiniteProjection}},normal:{get:function(){return BPe(this),this._normal}},normal3D:{get:function(){return kPe(this),this._normal3D}},inverseNormal:{get:function(){return VPe(this),this._inverseNormal}},inverseNormal3D:{get:function(){return UPe(this),this._inverseNormal3D}},entireFrustum:{get:function(){return this._entireFrustum}},currentFrustum:{get:function(){return this._currentFrustum}},frustumPlanes:{get:function(){return this._frustumPlanes}},farDepthFromNearPlusOne:{get:function(){return this._farDepthFromNearPlusOne}},log2FarDepthFromNearPlusOne:{get:function(){return this._log2FarDepthFromNearPlusOne}},oneOverLog2FarDepthFromNearPlusOne:{get:function(){return this._oneOverLog2FarDepthFromNearPlusOne}},eyeHeight:{get:function(){return this._eyeHeight}},eyeHeight2D:{get:function(){return this._eyeHeight2D}},eyeEllipsoidNormalEC:{get:function(){return this._eyeEllipsoidNormalEC}},eyeEllipsoidCurvature:{get:function(){return this._eyeEllipsoidCurvature}},modelToEnu:{get:function(){return this._modelToEnu}},enuToModel:{get:function(){return this._enuToModel}},sunPositionWC:{get:function(){return this._sunPositionWC}},sunPositionColumbusView:{get:function(){return this._sunPositionColumbusView}},sunDirectionWC:{get:function(){return this._sunDirectionWC}},sunDirectionEC:{get:function(){return this._sunDirectionEC}},moonDirectionEC:{get:function(){return this._moonDirectionEC}},lightDirectionWC:{get:function(){return this._lightDirectionWC}},lightDirectionEC:{get:function(){return this._lightDirectionEC}},lightColor:{get:function(){return this._lightColor}},lightColorHdr:{get:function(){return this._lightColorHdr}},encodedCameraPositionMCHigh:{get:function(){return Ree(this),this._encodedCameraPositionMC.high}},encodedCameraPositionMCLow:{get:function(){return Ree(this),this._encodedCameraPositionMC.low}},temeToPseudoFixedMatrix:{get:function(){return this._temeToPseudoFixed}},pixelRatio:{get:function(){return this._pixelRatio}},fogDensity:{get:function(){return this._fogDensity}},fogVisualDensityScalar:{get:function(){return this._fogVisualDensityScalar}},fogMinimumBrightness:{get:function(){return this._fogMinimumBrightness}},atmosphereHsbShift:{get:function(){return this._atmosphereHsbShift}},atmosphereLightIntensity:{get:function(){return this._atmosphereLightIntensity}},atmosphereRayleighCoefficient:{get:function(){return this._atmosphereRayleighCoefficient}},atmosphereRayleighScaleHeight:{get:function(){return this._atmosphereRayleighScaleHeight}},atmosphereMieCoefficient:{get:function(){return this._atmosphereMieCoefficient}},atmosphereMieScaleHeight:{get:function(){return this._atmosphereMieScaleHeight}},atmosphereMieAnisotropy:{get:function(){return this._atmosphereMieAnisotropy}},atmosphereDynamicLighting:{get:function(){return this._atmosphereDynamicLighting}},geometricToleranceOverMeter:{get:function(){return this._geometricToleranceOverMeter}},pass:{get:function(){return this._pass}},backgroundColor:{get:function(){return this._backgroundColor}},brdfLut:{get:function(){return this._brdfLut}},environmentMap:{get:function(){return this._environmentMap}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps}},specularEnvironmentMapsMaximumLOD:{get:function(){return this._specularEnvironmentMapsMaximumLOD}},splitPosition:{get:function(){return this._splitPosition}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance}},invertClassificationColor:{get:function(){return this._invertClassificationColor}},orthographicIn3D:{get:function(){return this._orthographicIn3D}},ellipsoid:{get:function(){return y(this._ellipsoid,ee.default)}}});function pPe(e,t){F.clone(t,e._view),F.getMatrix3(t,e._viewRotation),e._view3DDirty=!0,e._inverseView3DDirty=!0,e._modelViewDirty=!0,e._modelView3DDirty=!0,e._modelViewRelativeToEyeDirty=!0,e._inverseModelViewDirty=!0,e._inverseModelView3DDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0,e._modelViewInfiniteProjectionDirty=!0,e._normalDirty=!0,e._inverseNormalDirty=!0,e._normal3DDirty=!0,e._inverseNormal3DDirty=!0}function _Pe(e,t){F.clone(t,e._inverseView),F.getMatrix3(t,e._inverseViewRotation)}function gPe(e,t){F.clone(t,e._projection),e._inverseProjectionDirty=!0,e._viewProjectionDirty=!0,e._inverseViewProjectionDirty=!0,e._modelViewProjectionDirty=!0,e._modelViewProjectionRelativeToEyeDirty=!0}function yPe(e,t){F.clone(t,e._infiniteProjection),e._modelViewInfiniteProjectionDirty=!0}var Iee=new h,xPe=new F;function bPe(e,t){h.clone(t.positionWC,e._cameraPosition),h.clone(t.directionWC,e._cameraDirection),h.clone(t.rightWC,e._cameraRight),h.clone(t.upWC,e._cameraUp);let n=e._ellipsoid,i,o=t.positionCartographic;if(l(o)?(e._eyeHeight=o.height,e._eyeEllipsoidNormalEC=n.geodeticSurfaceNormalCartographic(o,e._eyeEllipsoidNormalEC),i=h.fromRadians(o.longitude,o.latitude,0,n,Iee)):(e._eyeHeight=-n.maximumRadius,h.magnitude(t.positionWC)>0&&(e._eyeEllipsoidNormalEC=h.normalize(t.positionWC,e._eyeEllipsoidNormalEC)),i=n.scaleToGeodeticSurface(t.positionWC,Iee)),e._encodedCameraPositionMCDirty=!0,!l(i))return;e._eyeEllipsoidNormalEC=$.multiplyByVector(e._viewRotation,e._eyeEllipsoidNormalEC,e._eyeEllipsoidNormalEC);let r=Mt.eastNorthUpToFixedFrame(i,n,xPe);e._enuToModel=F.multiplyTransformation(e.inverseModel,r,e._enuToModel),e._modelToEnu=F.inverseTransformation(e._enuToModel,e._modelToEnu),P.equalsEpsilon(n._radii.x,n._radii.y,P.EPSILON15)&&(e._eyeEllipsoidCurvature=n.getLocalCurvature(i,e._eyeEllipsoidCurvature))}var C6=new $,TPe=new fe;function CPe(e,t){Mt.computeIcrfToCentralBodyFixedMatrix(t.time,C6);let n=W0.computeSunPositionInEarthInertialFrame(t.time,e._sunPositionWC);$.multiplyByVector(C6,n,n),h.normalize(n,e._sunDirectionWC),n=$.multiplyByVector(e.viewRotation3D,n,e._sunDirectionEC),h.normalize(n,n),n=W0.computeMoonPositionInEarthInertialFrame(t.time,e._moonDirectionEC),$.multiplyByVector(C6,n,n),$.multiplyByVector(e.viewRotation3D,n,n),h.normalize(n,n);let i=t.mapProjection,r=i.ellipsoid.cartesianToCartographic(e._sunPositionWC,TPe);i.project(r,e._sunPositionColumbusView)}NT.prototype.updateCamera=function(e){pPe(this,e.viewMatrix),_Pe(this,e.inverseViewMatrix),bPe(this,e),this._entireFrustum.x=e.frustum.near,this._entireFrustum.y=e.frustum.far,this.updateFrustum(e.frustum),this._orthographicIn3D=this._mode!==ne.SCENE2D&&e.frustum instanceof an};NT.prototype.updateFrustum=function(e){gPe(this,e.projectionMatrix),l(e.infiniteProjectionMatrix)&&yPe(this,e.infiniteProjectionMatrix),this._currentFrustum.x=e.near,this._currentFrustum.y=e.far,this._farDepthFromNearPlusOne=e.far-e.near+1,this._log2FarDepthFromNearPlusOne=P.log2(this._farDepthFromNearPlusOne),this._oneOverLog2FarDepthFromNearPlusOne=1/this._log2FarDepthFromNearPlusOne;let t=e.offCenterFrustum;l(t)&&(e=t),this._frustumPlanes.x=e.top,this._frustumPlanes.y=e.bottom,this._frustumPlanes.z=e.left,this._frustumPlanes.w=e.right};NT.prototype.updatePass=function(e){this._pass=e};var APe=[],EPe=new q_;NT.prototype.update=function(e){this._mode=e.mode,this._mapProjection=e.mapProjection,this._ellipsoid=e.mapProjection.ellipsoid,this._pixelRatio=e.pixelRatio;let t=e.camera;this.updateCamera(t),e.mode===ne.SCENE2D?(this._frustum2DWidth=t.frustum.right-t.frustum.left,this._eyeHeight2D.x=this._frustum2DWidth*.5,this._eyeHeight2D.y=this._eyeHeight2D.x*this._eyeHeight2D.x):(this._frustum2DWidth=0,this._eyeHeight2D.x=0,this._eyeHeight2D.y=0),CPe(this,e);let n=y(e.light,EPe);n instanceof q_?(this._lightDirectionWC=h.clone(this._sunDirectionWC,this._lightDirectionWC),this._lightDirectionEC=h.clone(this._sunDirectionEC,this._lightDirectionEC)):(this._lightDirectionWC=h.normalize(h.negate(n.direction,this._lightDirectionWC),this._lightDirectionWC),this._lightDirectionEC=$.multiplyByVector(this.viewRotation3D,this._lightDirectionWC,this._lightDirectionEC));let i=n.color,o=h.fromElements(i.red,i.green,i.blue,this._lightColorHdr);o=h.multiplyByScalar(o,n.intensity,o);let r=h.maximumComponent(o);r>1?h.divideByScalar(o,r,this._lightColor):h.clone(o,this._lightColor);let s=e.brdfLutGenerator,a=l(s)?s.colorTexture:void 0;this._brdfLut=a,this._environmentMap=y(e.environmentMap,e.context.defaultCubeMap),this._sphericalHarmonicCoefficients=y(e.sphericalHarmonicCoefficients,APe),this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentMapsMaximumLOD=e.specularEnvironmentMapsMaximumLOD,this._fogDensity=e.fog.density,this._fogVisualDensityScalar=e.fog.visualDensityScalar,this._fogMinimumBrightness=e.fog.minimumBrightness;let c=e.atmosphere;l(c)&&(this._atmosphereHsbShift=h.fromElements(c.hueShift,c.saturationShift,c.brightnessShift,this._atmosphereHsbShift),this._atmosphereLightIntensity=c.lightIntensity,this._atmosphereRayleighCoefficient=h.clone(c.rayleighCoefficient,this._atmosphereRayleighCoefficient),this._atmosphereRayleighScaleHeight=c.rayleighScaleHeight,this._atmosphereMieCoefficient=h.clone(c.mieCoefficient,this._atmosphereMieCoefficient),this._atmosphereMieScaleHeight=c.mieScaleHeight,this._atmosphereMieAnisotropy=c.mieAnisotropy,this._atmosphereDynamicLighting=c.dynamicLighting),this._invertClassificationColor=e.invertClassificationColor,this._frameState=e,this._temeToPseudoFixed=Mt.computeTemeToPseudoFixedMatrix(e.time,this._temeToPseudoFixed),this._splitPosition=e.splitPosition*e.context.drawingBufferWidth;let u=t.frustum.fov,f=this._viewport,d;l(u)?f.height>f.width?d=Math.tan(.5*u)*2/f.height:d=Math.tan(.5*u)*2/f.width:d=1/Math.max(f.width,f.height),this._geometricToleranceOverMeter=d*e.maximumScreenSpaceError,z.clone(e.backgroundColor,this._backgroundColor),this._minimumDisableDepthTestDistance=e.minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance*=this._minimumDisableDepthTestDistance,this._minimumDisableDepthTestDistance===Number.POSITIVE_INFINITY&&(this._minimumDisableDepthTestDistance=-1)};function Pee(e){if(e._viewportDirty){let t=e._viewport;F.computeOrthographicOffCenter(t.x,t.x+t.width,t.y,t.y+t.height,0,1,e._viewportOrthographicMatrix),F.computeViewportTransformation(t,0,1,e._viewportTransformation),e._viewportDirty=!1}}function SPe(e){e._inverseProjectionDirty&&(e._inverseProjectionDirty=!1,e._mode!==ne.SCENE2D&&e._mode!==ne.MORPHING&&!e._orthographicIn3D?F.inverse(e._projection,e._inverseProjection):F.clone(F.ZERO,e._inverseProjection))}function vPe(e){e._modelViewDirty&&(e._modelViewDirty=!1,F.multiplyTransformation(e._view,e._model,e._modelView))}function wPe(e){e._modelView3DDirty&&(e._modelView3DDirty=!1,F.multiplyTransformation(e.view3D,e._model,e._modelView3D))}function DPe(e){e._inverseModelViewDirty&&(e._inverseModelViewDirty=!1,F.inverse(e.modelView,e._inverseModelView))}function IPe(e){e._inverseModelView3DDirty&&(e._inverseModelView3DDirty=!1,F.inverse(e.modelView3D,e._inverseModelView3D))}function PPe(e){e._viewProjectionDirty&&(e._viewProjectionDirty=!1,F.multiply(e._projection,e._view,e._viewProjection))}function OPe(e){e._inverseViewProjectionDirty&&(e._inverseViewProjectionDirty=!1,F.inverse(e.viewProjection,e._inverseViewProjection))}function RPe(e){e._modelViewProjectionDirty&&(e._modelViewProjectionDirty=!1,F.multiply(e._projection,e.modelView,e._modelViewProjection))}function MPe(e){if(e._modelViewRelativeToEyeDirty){e._modelViewRelativeToEyeDirty=!1;let t=e.modelView,n=e._modelViewRelativeToEye;n[0]=t[0],n[1]=t[1],n[2]=t[2],n[3]=t[3],n[4]=t[4],n[5]=t[5],n[6]=t[6],n[7]=t[7],n[8]=t[8],n[9]=t[9],n[10]=t[10],n[11]=t[11],n[12]=0,n[13]=0,n[14]=0,n[15]=t[15]}}function LPe(e){e._inverseModelViewProjectionDirty&&(e._inverseModelViewProjectionDirty=!1,F.inverse(e.modelViewProjection,e._inverseModelViewProjection))}function NPe(e){e._modelViewProjectionRelativeToEyeDirty&&(e._modelViewProjectionRelativeToEyeDirty=!1,F.multiply(e._projection,e.modelViewRelativeToEye,e._modelViewProjectionRelativeToEye))}function FPe(e){e._modelViewInfiniteProjectionDirty&&(e._modelViewInfiniteProjectionDirty=!1,F.multiply(e._infiniteProjection,e.modelView,e._modelViewInfiniteProjection))}function BPe(e){if(e._normalDirty){e._normalDirty=!1;let t=e._normal;F.getMatrix3(e.inverseModelView,t),$.transpose(t,t)}}function kPe(e){if(e._normal3DDirty){e._normal3DDirty=!1;let t=e._normal3D;F.getMatrix3(e.inverseModelView3D,t),$.transpose(t,t)}}function VPe(e){if(e._inverseNormalDirty){e._inverseNormalDirty=!1;let t=e._inverseNormal;F.getMatrix3(e.modelView,t),$.transpose(t,t)}}function UPe(e){if(e._inverseNormal3DDirty){e._inverseNormal3DDirty=!1;let t=e._inverseNormal3D;F.getMatrix3(e.modelView3D,t),$.transpose(t,t)}}var Oee=new h;function Ree(e){e._encodedCameraPositionMCDirty&&(e._encodedCameraPositionMCDirty=!1,F.multiplyByPoint(e.inverseModel,e._cameraPosition,Oee),Wn.fromCartesian(Oee,e._encodedCameraPositionMC))}var zPe=new h,HPe=new h,GPe=new h,WPe=new h,jPe=new fe,qPe=new h,YPe=new F;function XPe(e,t,n,i,o,r,s,a){let c=zPe;c.x=e.y,c.y=e.z,c.z=e.x;let u=HPe;u.x=n.y,u.y=n.z,u.z=n.x;let f=GPe;f.x=i.y,f.y=i.z,f.z=i.x;let d=WPe;d.x=t.y,d.y=t.z,d.z=t.x,r===ne.SCENE2D&&(c.z=o*.5);let p=s.unproject(c,jPe);p.longitude=P.clamp(p.longitude,-Math.PI,Math.PI),p.latitude=P.clamp(p.latitude,-P.PI_OVER_TWO,P.PI_OVER_TWO);let g=s.ellipsoid,m=g.cartographicToCartesian(p,qPe),x=Mt.eastNorthUpToFixedFrame(m,g,YPe);return F.multiplyByPointAsVector(x,u,u),F.multiplyByPointAsVector(x,f,f),F.multiplyByPointAsVector(x,d,d),l(a)||(a=new F),a[0]=u.x,a[1]=f.x,a[2]=-d.x,a[3]=0,a[4]=u.y,a[5]=f.y,a[6]=-d.y,a[7]=0,a[8]=u.z,a[9]=f.z,a[10]=-d.z,a[11]=0,a[12]=-h.dot(u,m),a[13]=-h.dot(f,m),a[14]=h.dot(d,m),a[15]=1,a}function A6(e){e._view3DDirty&&(e._mode===ne.SCENE3D?F.clone(e._view,e._view3D):XPe(e._cameraPosition,e._cameraDirection,e._cameraRight,e._cameraUp,e._frustum2DWidth,e._mode,e._mapProjection,e._view3D),F.getMatrix3(e._view3D,e._viewRotation3D),e._view3DDirty=!1)}function Mee(e){e._inverseView3DDirty&&(F.inverseTransformation(e.view3D,e._inverseView3D),F.getMatrix3(e._inverseView3D,e._inverseViewRotation3D),e._inverseView3DDirty=!1)}var YM=NT;function Zl(e,t){let{getWebGLStub:n,requestWebgl1:i,webgl:o={},allowTextureFilterAnisotropic:r=!0}=y(t,{});o.alpha=y(o.alpha,!1),o.stencil=y(o.stencil,!0),o.powerPreference=y(o.powerPreference,"high-performance");let s=l(n)?n(e,o):KPe(e,o,i),c=typeof WebGL2RenderingContext<"u"&&s instanceof WebGL2RenderingContext;this._canvas=e,this._originalGLContext=s,this._gl=s,this._webgl2=c,this._id=Gn(),this.validateFramebuffer=!1,this.validateShaderProgram=!1,this.logShaderCompilation=!1,this._throwOnWebGLError=!1,this._shaderCache=new HM(this),this._textureCache=new WM;let u=s;this._stencilBits=u.getParameter(u.STENCIL_BITS),Bt._maximumCombinedTextureImageUnits=u.getParameter(u.MAX_COMBINED_TEXTURE_IMAGE_UNITS),Bt._maximumCubeMapSize=u.getParameter(u.MAX_CUBE_MAP_TEXTURE_SIZE),Bt._maximumFragmentUniformVectors=u.getParameter(u.MAX_FRAGMENT_UNIFORM_VECTORS),Bt._maximumTextureImageUnits=u.getParameter(u.MAX_TEXTURE_IMAGE_UNITS),Bt._maximumRenderbufferSize=u.getParameter(u.MAX_RENDERBUFFER_SIZE),Bt._maximumTextureSize=u.getParameter(u.MAX_TEXTURE_SIZE),Bt._maximumVaryingVectors=u.getParameter(u.MAX_VARYING_VECTORS),Bt._maximumVertexAttributes=u.getParameter(u.MAX_VERTEX_ATTRIBS),Bt._maximumVertexTextureImageUnits=u.getParameter(u.MAX_VERTEX_TEXTURE_IMAGE_UNITS),Bt._maximumVertexUniformVectors=u.getParameter(u.MAX_VERTEX_UNIFORM_VECTORS),Bt._maximumSamples=this._webgl2?u.getParameter(u.MAX_SAMPLES):0;let f=u.getParameter(u.ALIASED_LINE_WIDTH_RANGE);Bt._minimumAliasedLineWidth=f[0],Bt._maximumAliasedLineWidth=f[1];let d=u.getParameter(u.ALIASED_POINT_SIZE_RANGE);Bt._minimumAliasedPointSize=d[0],Bt._maximumAliasedPointSize=d[1];let p=u.getParameter(u.MAX_VIEWPORT_DIMS);Bt._maximumViewportWidth=p[0],Bt._maximumViewportHeight=p[1];let g=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_FLOAT);Bt._highpFloatSupported=g.precision!==0;let m=u.getShaderPrecisionFormat(u.FRAGMENT_SHADER,u.HIGH_INT);Bt._highpIntSupported=m.rangeMax!==0,this._antialias=u.getContextAttributes().antialias,this._standardDerivatives=!!mr(u,["OES_standard_derivatives"]),this._blendMinmax=!!mr(u,["EXT_blend_minmax"]),this._elementIndexUint=!!mr(u,["OES_element_index_uint"]),this._depthTexture=!!mr(u,["WEBGL_depth_texture","WEBKIT_WEBGL_depth_texture"]),this._fragDepth=!!mr(u,["EXT_frag_depth"]),this._debugShaders=mr(u,["WEBGL_debug_shaders"]),this._textureFloat=!!mr(u,["OES_texture_float"]),this._textureHalfFloat=!!mr(u,["OES_texture_half_float"]),this._textureFloatLinear=!!mr(u,["OES_texture_float_linear"]),this._textureHalfFloatLinear=!!mr(u,["OES_texture_half_float_linear"]),this._supportsTextureLod=!!mr(u,["EXT_shader_texture_lod"]),this._colorBufferFloat=!!mr(u,["EXT_color_buffer_float","WEBGL_color_buffer_float"]),this._floatBlend=!!mr(u,["EXT_float_blend"]),this._colorBufferHalfFloat=!!mr(u,["EXT_color_buffer_half_float"]),this._s3tc=!!mr(u,["WEBGL_compressed_texture_s3tc","MOZ_WEBGL_compressed_texture_s3tc","WEBKIT_WEBGL_compressed_texture_s3tc"]),this._pvrtc=!!mr(u,["WEBGL_compressed_texture_pvrtc","WEBKIT_WEBGL_compressed_texture_pvrtc"]),this._astc=!!mr(u,["WEBGL_compressed_texture_astc"]),this._etc=!!mr(u,["WEBG_compressed_texture_etc"]),this._etc1=!!mr(u,["WEBGL_compressed_texture_etc1"]),this._bc7=!!mr(u,["EXT_texture_compression_bptc"]),Yl.setKTX2SupportedFormats(this._s3tc,this._pvrtc,this._astc,this._etc,this._etc1,this._bc7);let x=r?mr(u,["EXT_texture_filter_anisotropic","WEBKIT_EXT_texture_filter_anisotropic"]):void 0;this._textureFilterAnisotropic=x,Bt._maximumTextureFilterAnisotropy=l(x)?u.getParameter(x.MAX_TEXTURE_MAX_ANISOTROPY_EXT):1;let b,T,C,A,S,v,D,R,O,M;if(c){let w=this;b=function(){return w._gl.createVertexArray()},T=function(I){w._gl.bindVertexArray(I)},C=function(I){w._gl.deleteVertexArray(I)},A=function(I,L,B,H,V){u.drawElementsInstanced(I,L,B,H,V)},S=function(I,L,B,H){u.drawArraysInstanced(I,L,B,H)},v=function(I,L){u.vertexAttribDivisor(I,L)},D=function(I){u.drawBuffers(I)}}else R=mr(u,["OES_vertex_array_object"]),l(R)&&(b=function(){return R.createVertexArrayOES()},T=function(w){R.bindVertexArrayOES(w)},C=function(w){R.deleteVertexArrayOES(w)}),O=mr(u,["ANGLE_instanced_arrays"]),l(O)&&(A=function(w,I,L,B,H){O.drawElementsInstancedANGLE(w,I,L,B,H)},S=function(w,I,L,B){O.drawArraysInstancedANGLE(w,I,L,B)},v=function(w,I){O.vertexAttribDivisorANGLE(w,I)}),M=mr(u,["WEBGL_draw_buffers"]),l(M)&&(D=function(w){M.drawBuffersWEBGL(w)});this.glCreateVertexArray=b,this.glBindVertexArray=T,this.glDeleteVertexArray=C,this.glDrawElementsInstanced=A,this.glDrawArraysInstanced=S,this.glVertexAttribDivisor=v,this.glDrawBuffers=D,this._vertexArrayObject=!!R,this._instancedArrays=!!O,this._drawBuffers=!!M,Bt._maximumDrawBuffers=this.drawBuffers?u.getParameter(te.MAX_DRAW_BUFFERS):1,Bt._maximumColorAttachments=this.drawBuffers?u.getParameter(te.MAX_COLOR_ATTACHMENTS):1,this._clearColor=new z(0,0,0,0),this._clearDepth=1,this._clearStencil=0;let N=new YM,_=new Ec(this),E=ze.fromCache();this._defaultPassState=_,this._defaultRenderState=E,this._defaultTexture=void 0,this._defaultEmissiveTexture=void 0,this._defaultNormalTexture=void 0,this._defaultCubeMap=void 0,this._us=N,this._currentRenderState=E,this._currentPassState=_,this._currentFramebuffer=void 0,this._maxFrameTextureUnitIndex=0,this._vertexAttribDivisors=[],this._previousDrawInstanced=!1;for(let w=0;w<Bt._maximumVertexAttributes;w++)this._vertexAttribDivisors.push(0);this._pickObjects={},this._nextPickColor=new Uint32Array(1),this.options={getWebGLStub:n,requestWebgl1:i,webgl:o,allowTextureFilterAnisotropic:r},this.cache={},ze.apply(u,E,_)}function KPe(e,t,n){if(typeof WebGLRenderingContext>"u")throw new se("The browser does not support WebGL. Visit http://get.webgl.org.");!n&&!(typeof WebGL2RenderingContext<"u")&&(n=!0);let o=n?"webgl":"webgl2",r=e.getContext(o,t);if(!l(r))throw new se("The browser supports WebGL, but initialization failed.");return r}function ZPe(e,t){let n="WebGL Error: ";switch(t){case e.INVALID_ENUM:n+="INVALID_ENUM";break;case e.INVALID_VALUE:n+="INVALID_VALUE";break;case e.INVALID_OPERATION:n+="INVALID_OPERATION";break;case e.OUT_OF_MEMORY:n+="OUT_OF_MEMORY";break;case e.CONTEXT_LOST_WEBGL:n+="CONTEXT_LOST_WEBGL lost";break;default:n+=`Unknown (${t})`}return n}function $Pe(e,t,n,i){let o=`${ZPe(e,i)}: ${t.name}(`;for(let r=0;r<n.length;++r)r!==0&&(o+=", "),o+=n[r];return o+=");",o}function QPe(e,t,n){let i=e.getError();if(i!==e.NO_ERROR)throw new se($Pe(e,t,n,i))}function JPe(e,t,n){return{get:function(){let i=e[t];return n(e,`get: ${t}`,i),e[t]},set:function(i){e[t]=i,n(e,`set: ${t}`,i)}}}function e1e(e,t){if(!l(t))return e;function n(o){return function(){let r=o.apply(e,arguments);return t(e,o,arguments),r}}let i={};for(let o in e){let r=e[o];r instanceof Function?i[o]=n(r):Object.defineProperty(i,o,JPe(e,o,t))}return i}function mr(e,t){let n=t.length;for(let i=0;i<n;++i){let o=e.getExtension(t[i]);if(o)return o}}var t1e={};Object.defineProperties(Zl.prototype,{id:{get:function(){return this._id}},webgl2:{get:function(){return this._webgl2}},canvas:{get:function(){return this._canvas}},shaderCache:{get:function(){return this._shaderCache}},textureCache:{get:function(){return this._textureCache}},uniformState:{get:function(){return this._us}},stencilBits:{get:function(){return this._stencilBits}},stencilBuffer:{get:function(){return this._stencilBits>=8}},antialias:{get:function(){return this._antialias}},msaa:{get:function(){return this._webgl2}},standardDerivatives:{get:function(){return this._standardDerivatives||this._webgl2}},floatBlend:{get:function(){return this._floatBlend}},blendMinmax:{get:function(){return this._blendMinmax||this._webgl2}},elementIndexUint:{get:function(){return this._elementIndexUint||this._webgl2}},depthTexture:{get:function(){return this._depthTexture||this._webgl2}},floatingPointTexture:{get:function(){return this._webgl2||this._textureFloat}},halfFloatingPointTexture:{get:function(){return this._webgl2||this._textureHalfFloat}},textureFloatLinear:{get:function(){return this._textureFloatLinear}},textureHalfFloatLinear:{get:function(){return this._webgl2&&this._textureFloatLinear||!this._webgl2&&this._textureHalfFloatLinear}},supportsTextureLod:{get:function(){return this._webgl2||this._supportsTextureLod}},textureFilterAnisotropic:{get:function(){return!!this._textureFilterAnisotropic}},s3tc:{get:function(){return this._s3tc}},pvrtc:{get:function(){return this._pvrtc}},astc:{get:function(){return this._astc}},etc:{get:function(){return this._etc}},etc1:{get:function(){return this._etc1}},bc7:{get:function(){return this._bc7}},supportsBasis:{get:function(){return this._s3tc||this._pvrtc||this._astc||this._etc||this._etc1||this._bc7}},vertexArrayObject:{get:function(){return this._vertexArrayObject||this._webgl2}},fragmentDepth:{get:function(){return this._fragDepth||this._webgl2}},instancedArrays:{get:function(){return this._instancedArrays||this._webgl2}},colorBufferFloat:{get:function(){return this._colorBufferFloat}},colorBufferHalfFloat:{get:function(){return this._webgl2&&this._colorBufferFloat||!this._webgl2&&this._colorBufferHalfFloat}},drawBuffers:{get:function(){return this._drawBuffers||this._webgl2}},debugShaders:{get:function(){return this._debugShaders}},throwOnWebGLError:{get:function(){return this._throwOnWebGLError},set:function(e){this._throwOnWebGLError=e,this._gl=e1e(this._originalGLContext,e?QPe:void 0)}},defaultTexture:{get:function(){return this._defaultTexture===void 0&&(this._defaultTexture=new Pt({context:this,source:{width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])},flipY:!1})),this._defaultTexture}},defaultEmissiveTexture:{get:function(){return this._defaultEmissiveTexture===void 0&&(this._defaultEmissiveTexture=new Pt({context:this,pixelFormat:ot.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([0,0,0])},flipY:!1})),this._defaultEmissiveTexture}},defaultNormalTexture:{get:function(){return this._defaultNormalTexture===void 0&&(this._defaultNormalTexture=new Pt({context:this,pixelFormat:ot.RGB,source:{width:1,height:1,arrayBufferView:new Uint8Array([128,128,255])},flipY:!1})),this._defaultNormalTexture}},defaultCubeMap:{get:function(){if(this._defaultCubeMap===void 0){let e={width:1,height:1,arrayBufferView:new Uint8Array([255,255,255,255])};this._defaultCubeMap=new Ir({context:this,source:{positiveX:e,negativeX:e,positiveY:e,negativeY:e,positiveZ:e,negativeZ:e},flipY:!1})}return this._defaultCubeMap}},drawingBufferHeight:{get:function(){return this._gl.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._gl.drawingBufferWidth}},defaultFramebuffer:{get:function(){return t1e}}});function Lee(e,t,n,i){let o=e._currentRenderState,r=e._currentPassState;e._currentRenderState=t,e._currentPassState=n,ze.partialApply(e._gl,o,t,r,n,i)}var E6;typeof WebGLRenderingContext<"u"&&(E6=[te.BACK]);function S6(e,t){if(t!==e._currentFramebuffer){e._currentFramebuffer=t;let n=E6;if(l(t))t._bind(),n=t._getActiveColorAttachments();else{let i=e._gl;i.bindFramebuffer(i.FRAMEBUFFER,null)}e.drawBuffers&&e.glDrawBuffers(n)}}var n1e=new ri;Zl.prototype.clear=function(e,t){e=y(e,n1e),t=y(t,this._defaultPassState);let n=this._gl,i=0,o=e.color,r=e.depth,s=e.stencil;l(o)&&(z.equals(this._clearColor,o)||(z.clone(o,this._clearColor),n.clearColor(o.red,o.green,o.blue,o.alpha)),i|=n.COLOR_BUFFER_BIT),l(r)&&(r!==this._clearDepth&&(this._clearDepth=r,n.clearDepth(r)),i|=n.DEPTH_BUFFER_BIT),l(s)&&(s!==this._clearStencil&&(this._clearStencil=s,n.clearStencil(s)),i|=n.STENCIL_BUFFER_BIT);let a=y(e.renderState,this._defaultRenderState);Lee(this,a,t,!0);let c=y(e.framebuffer,t.framebuffer);S6(this,c),n.clear(i)};function i1e(e,t,n,i,o){S6(e,t),Lee(e,o,n,!1),i._bind(),e._maxFrameTextureUnitIndex=Math.max(e._maxFrameTextureUnitIndex,i.maximumTextureUnitIndex)}function o1e(e,t,n,i){let o=t._primitiveType,r=t._vertexArray,s=t._offset,a=t._count,c=t.instanceCount;e._us.model=y(t._modelMatrix,F.IDENTITY),n._setUniforms(i,e._us,e.validateShaderProgram),r._bind();let u=r.indexBuffer;l(u)?(s=s*u.bytesPerIndex,l(a)?a=Math.min(a,u.numberOfIndices):a=u.numberOfIndices,c===0?e._gl.drawElements(o,a,u.indexDatatype,s):e.glDrawElementsInstanced(o,a,u.indexDatatype,s,c)):(l(a)?a=Math.min(a,r.numberOfVertices):a=r.numberOfVertices,c===0?e._gl.drawArrays(o,s,a):e.glDrawArraysInstanced(o,s,a,c)),r._unBind()}Zl.prototype.draw=function(e,t,n,i){t=y(t,this._defaultPassState);let o=y(e._framebuffer,t.framebuffer),r=y(e._renderState,this._defaultRenderState);n=y(n,e._shaderProgram),i=y(i,e._uniformMap),i1e(this,o,t,n,r),o1e(this,e,n,i)};Zl.prototype.endFrame=function(){let e=this._gl;e.useProgram(null),this._currentFramebuffer=void 0,e.bindFramebuffer(e.FRAMEBUFFER,null);let t=E6;this.drawBuffers&&this.glDrawBuffers(t);let n=this._maxFrameTextureUnitIndex;this._maxFrameTextureUnitIndex=0;for(let i=0;i<n;++i)e.activeTexture(e.TEXTURE0+i),e.bindTexture(e.TEXTURE_2D,null),e.bindTexture(e.TEXTURE_CUBE_MAP,null)};Zl.prototype.readPixels=function(e){let t=this._gl;e=y(e,y.EMPTY_OBJECT);let n=Math.max(y(e.x,0),0),i=Math.max(y(e.y,0),0),o=y(e.width,t.drawingBufferWidth),r=y(e.height,t.drawingBufferHeight),s=e.framebuffer,a=Ze.UNSIGNED_BYTE;l(s)&&s.numberOfColorAttachments>0&&(a=s.getColorTexture(0).pixelDatatype);let c=ot.createTypedArray(ot.RGBA,a,o,r);return S6(this,s),t.readPixels(n,i,o,r,ot.RGBA,Ze.toWebGLConstant(a,this),c),c};var Nee={position:0,textureCoordinates:1};Zl.prototype.getViewportQuadVertexArray=function(){let e=this.cache.viewportQuad_vertexArray;if(!l(e)){let t=new ft({attributes:{position:new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[-1,-1,1,-1,1,1,-1,1]}),textureCoordinates:new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:[0,0,1,0,1,1,0,1]})},indices:new Uint16Array([0,1,2,0,2,3]),primitiveType:Fe.TRIANGLES});e=si.fromGeometry({context:this,geometry:t,attributeLocations:Nee,bufferUsage:Ue.STATIC_DRAW,interleave:!0}),this.cache.viewportQuad_vertexArray=e}return e};Zl.prototype.createViewportQuadCommand=function(e,t){return t=y(t,y.EMPTY_OBJECT),new tt({vertexArray:this.getViewportQuadVertexArray(),primitiveType:Fe.TRIANGLES,renderState:t.renderState,shaderProgram:tn.fromCache({context:this,vertexShaderSource:ST,fragmentShaderSource:e,attributeLocations:Nee}),uniformMap:t.uniformMap,owner:t.owner,framebuffer:t.framebuffer,pass:t.pass})};Zl.prototype.getObjectByPickColor=function(e){return this._pickObjects[e.toRgba()]};function v6(e,t,n){this._pickObjects=e,this.key=t,this.color=n}Object.defineProperties(v6.prototype,{object:{get:function(){return this._pickObjects[this.key]},set:function(e){this._pickObjects[this.key]=e}}});v6.prototype.destroy=function(){delete this._pickObjects[this.key]};Zl.prototype.createPickId=function(e){++this._nextPickColor[0];let t=this._nextPickColor[0];if(t===0)throw new se("Out of unique Pick IDs.");return this._pickObjects[t]=e,new v6(this._pickObjects,t,z.fromRgba(t))};Zl.prototype.isDestroyed=function(){return!1};Zl.prototype.destroy=function(){let e=this.cache;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];l(n.destroy)&&n.destroy()}return this._shaderCache=this._shaderCache.destroy(),this._textureCache=this._textureCache.destroy(),this._defaultTexture=this._defaultTexture&&this._defaultTexture.destroy(),this._defaultEmissiveTexture=this._defaultEmissiveTexture&&this._defaultEmissiveTexture.destroy(),this._defaultNormalTexture=this._defaultNormalTexture&&this._defaultNormalTexture.destroy(),this._defaultCubeMap=this._defaultCubeMap&&this._defaultCubeMap.destroy(),ue(this)};Zl._deprecationWarning=Cs;var XM=Zl;function FT(e){e=y(e,y.EMPTY_OBJECT);let{context:t,width:n,height:i,colorRenderbuffers:o,colorTextures:r,depthStencilRenderbuffer:s,depthStencilTexture:a,destroyAttachments:c}=e;if(this._width=n,this._height=i,l(o)!==l(r))throw new de("Both color renderbuffer and texture attachments must be provided.");if(l(s)!==l(a))throw new de("Both depth-stencil renderbuffer and texture attachments must be provided.");this._renderFramebuffer=new Gr({context:t,colorRenderbuffers:o,depthStencilRenderbuffer:s,destroyAttachments:c}),this._colorFramebuffer=new Gr({context:t,colorTextures:r,depthStencilTexture:a,destroyAttachments:c})}FT.prototype.getRenderFramebuffer=function(){return this._renderFramebuffer};FT.prototype.getColorFramebuffer=function(){return this._colorFramebuffer};FT.prototype.blitFramebuffers=function(e,t){this._renderFramebuffer.bindRead(),this._colorFramebuffer.bindDraw();let n=e._gl,i=0;this._colorFramebuffer._colorTextures.length>0&&(i|=n.COLOR_BUFFER_BIT),l(this._colorFramebuffer.depthStencilTexture)&&(i|=n.DEPTH_BUFFER_BIT|(t?n.STENCIL_BUFFER_BIT:0)),n.blitFramebuffer(0,0,this._width,this._height,0,0,this._width,this._height,i,n.NEAREST),n.bindFramebuffer(n.READ_FRAMEBUFFER,null),n.bindFramebuffer(n.DRAW_FRAMEBUFFER,null)};FT.prototype.isDestroyed=function(){return!1};FT.prototype.destroy=function(){return this._renderFramebuffer.destroy(),this._colorFramebuffer.destroy(),ue(this)};var KM=FT;var ll={RGBA4:te.RGBA4,RGBA8:te.RGBA8,RGBA16F:te.RGBA16F,RGBA32F:te.RGBA32F,RGB5_A1:te.RGB5_A1,RGB565:te.RGB565,DEPTH_COMPONENT16:te.DEPTH_COMPONENT16,STENCIL_INDEX8:te.STENCIL_INDEX8,DEPTH_STENCIL:te.DEPTH_STENCIL,DEPTH24_STENCIL8:te.DEPTH24_STENCIL8,validate:function(e){return e===ll.RGBA4||e===ll.RGBA8||e===ll.RGBA16F||e===ll.RGBA32F||e===ll.RGB5_A1||e===ll.RGB565||e===ll.DEPTH_COMPONENT16||e===ll.STENCIL_INDEX8||e===ll.DEPTH_STENCIL||e===ll.DEPTH24_STENCIL8},getColorFormat:function(e){return e===te.FLOAT?ll.RGBA32F:e===te.HALF_FLOAT_OES?ll.RGBA16F:ll.RGBA8}},ul=Object.freeze(ll);function uv(e){e=y(e,y.EMPTY_OBJECT);let n=e.context._gl,i=Bt.maximumRenderbufferSize,o=y(e.format,ul.RGBA4),r=l(e.width)?e.width:n.drawingBufferWidth,s=l(e.height)?e.height:n.drawingBufferHeight,a=y(e.numSamples,1);this._gl=n,this._format=o,this._width=r,this._height=s,this._renderbuffer=this._gl.createRenderbuffer(),n.bindRenderbuffer(n.RENDERBUFFER,this._renderbuffer),a>1?n.renderbufferStorageMultisample(n.RENDERBUFFER,a,o,r,s):n.renderbufferStorage(n.RENDERBUFFER,o,r,s),n.bindRenderbuffer(n.RENDERBUFFER,null)}Object.defineProperties(uv.prototype,{format:{get:function(){return this._format}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});uv.prototype._getRenderbuffer=function(){return this._renderbuffer};uv.prototype.isDestroyed=function(){return!1};uv.prototype.destroy=function(){return this._gl.deleteRenderbuffer(this._renderbuffer),ue(this)};var Zu=uv;function Es(e){e=y(e,y.EMPTY_OBJECT),this._numSamples=y(e.numSamples,1),this._colorAttachmentsLength=y(e.colorAttachmentsLength,1),this._color=y(e.color,!0),this._depth=y(e.depth,!1),this._depthStencil=y(e.depthStencil,!1),this._supportsDepthTexture=y(e.supportsDepthTexture,!1),this._createColorAttachments=y(e.createColorAttachments,!0),this._createDepthAttachments=y(e.createDepthAttachments,!0),this._pixelDatatype=e.pixelDatatype,this._pixelFormat=e.pixelFormat,this._width=void 0,this._height=void 0,this._framebuffer=void 0,this._multisampleFramebuffer=void 0,this._colorTextures=void 0,this._color&&(this._colorTextures=new Array(this._colorAttachmentsLength),this._colorRenderbuffers=new Array(this._colorAttachmentsLength)),this._colorRenderbuffer=void 0,this._depthStencilRenderbuffer=void 0,this._depthStencilTexture=void 0,this._depthRenderbuffer=void 0,this._depthTexture=void 0,this._attachmentsDirty=!1}Object.defineProperties(Es.prototype,{framebuffer:{get:function(){return this._numSamples>1?this._multisampleFramebuffer.getRenderFramebuffer():this._framebuffer}},numSamples:{get:function(){return this._numSamples}},status:{get:function(){return this.framebuffer.status}}});Es.prototype.isDirty=function(e,t,n,i,o){n=y(n,1);let r=this._width!==e||this._height!==t,s=this._numSamples!==n,a=l(i)&&this._pixelDatatype!==i||l(o)&&this._pixelFormat!==o,c=n===1?l(this._framebuffer):l(this._multisampleFramebuffer);return this._attachmentsDirty||r||s||a||!c||this._color&&!l(this._colorTextures[0])};Es.prototype.update=function(e,t,n,i,o,r){if(i=e.msaa?y(i,1):1,o=y(o,this._color?y(this._pixelDatatype,Ze.UNSIGNED_BYTE):void 0),r=y(r,this._color?y(this._pixelFormat,ot.RGBA):void 0),this.isDirty(t,n,i,o,r)){if(this.destroy(),this._width=t,this._height=n,this._numSamples=i,this._pixelDatatype=o,this._pixelFormat=r,this._attachmentsDirty=!1,this._color&&this._createColorAttachments){for(let s=0;s<this._colorAttachmentsLength;++s)if(this._colorTextures[s]=new Pt({context:e,width:t,height:n,pixelFormat:r,pixelDatatype:o,sampler:$t.NEAREST}),this._numSamples>1){let a=ul.getColorFormat(o);this._colorRenderbuffers[s]=new Zu({context:e,width:t,height:n,format:a,numSamples:this._numSamples})}}this._depthStencil&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?(this._depthStencilTexture=new Pt({context:e,width:t,height:n,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Ze.UNSIGNED_INT_24_8,sampler:$t.NEAREST}),this._numSamples>1&&(this._depthStencilRenderbuffer=new Zu({context:e,width:t,height:n,format:ul.DEPTH24_STENCIL8,numSamples:this._numSamples}))):this._depthStencilRenderbuffer=new Zu({context:e,width:t,height:n,format:ul.DEPTH_STENCIL})),this._depth&&this._createDepthAttachments&&(this._supportsDepthTexture&&e.depthTexture?this._depthTexture=new Pt({context:e,width:t,height:n,pixelFormat:ot.DEPTH_COMPONENT,pixelDatatype:Ze.UNSIGNED_INT,sampler:$t.NEAREST}):this._depthRenderbuffer=new Zu({context:e,width:t,height:n,format:ul.DEPTH_COMPONENT16})),this._numSamples>1?this._multisampleFramebuffer=new KM({context:e,width:this._width,height:this._height,colorTextures:this._colorTextures,colorRenderbuffers:this._colorRenderbuffers,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1}):this._framebuffer=new Gr({context:e,colorTextures:this._colorTextures,depthTexture:this._depthTexture,depthRenderbuffer:this._depthRenderbuffer,depthStencilTexture:this._depthStencilTexture,depthStencilRenderbuffer:this._depthStencilRenderbuffer,destroyAttachments:!1})}};Es.prototype.getColorTexture=function(e){return e=y(e,0),this._colorTextures[e]};Es.prototype.setColorTexture=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorTextures[t],this._colorTextures[t]=e};Es.prototype.getColorRenderbuffer=function(e){return e=y(e,0),this._colorRenderbuffers[e]};Es.prototype.setColorRenderbuffer=function(e,t){t=y(t,0),this._attachmentsDirty=e!==this._colorRenderbuffers[t],this._colorRenderbuffers[t]=e};Es.prototype.getDepthRenderbuffer=function(){return this._depthRenderbuffer};Es.prototype.setDepthRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthRenderbuffer,this._depthRenderbuffer=e};Es.prototype.getDepthTexture=function(){return this._depthTexture};Es.prototype.setDepthTexture=function(e){this._attachmentsDirty=e!==this._depthTexture,this._depthTexture=e};Es.prototype.getDepthStencilRenderbuffer=function(){return this._depthStencilRenderbuffer};Es.prototype.setDepthStencilRenderbuffer=function(e){this._attachmentsDirty=e!==this._depthStencilRenderbuffer,this._depthStencilRenderbuffer=e};Es.prototype.getDepthStencilTexture=function(){return this._depthStencilTexture};Es.prototype.setDepthStencilTexture=function(e){this._attachmentsDirty=e!==this._depthStencilTexture,this._depthStencilTexture=e};Es.prototype.prepareTextures=function(e,t){this._numSamples>1&&this._multisampleFramebuffer.blitFramebuffers(e,t)};Es.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this.framebuffer,t.execute(e,n),t.framebuffer=i};Es.prototype.destroyFramebuffer=function(){this._framebuffer=this._framebuffer&&this._framebuffer.destroy(),this._multisampleFramebuffer=this._multisampleFramebuffer&&this._multisampleFramebuffer.destroy()};Es.prototype.destroy=function(){if(this._color){let e=this._colorTextures,t=this._colorRenderbuffers;for(let n=0;n<e.length;++n){let i=e[n];this._createColorAttachments&&l(i)&&!i.isDestroyed()&&i.destroy(),l(i)&&i.isDestroyed()&&(e[n]=void 0);let o=t[n];this._createColorAttachments&&l(o)&&!o.isDestroyed()&&o.destroy(),l(o)&&o.isDestroyed()&&(t[n]=void 0)}}this._depthStencil&&(this._createDepthAttachments&&(this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy()),l(this._depthStencilTexture)&&this._depthStencilTexture.isDestroyed()&&(this._depthStencilTexture=void 0),l(this._depthStencilRenderbuffer)&&this._depthStencilRenderbuffer.isDestroyed()&&(this._depthStencilRenderbuffer=void 0)),this._depth&&(this._createDepthAttachments&&(this._depthTexture=this._depthTexture&&this._depthTexture.destroy(),this._depthRenderbuffer=this._depthRenderbuffer&&this._depthRenderbuffer.destroy()),l(this._depthTexture)&&this._depthTexture.isDestroyed()&&(this._depthTexture=void 0),l(this._depthRenderbuffer)&&this._depthRenderbuffer.isDestroyed()&&(this._depthRenderbuffer=void 0)),this.destroyFramebuffer()};var _i=Es;function r1e(e,t,n){let i={flipY:!0,skipColorSpaceConversion:n,preferImageBitmap:!0},o=[Ae.createIfNeeded(t.positiveX).fetchImage(i),Ae.createIfNeeded(t.negativeX).fetchImage(i),Ae.createIfNeeded(t.positiveY).fetchImage(i),Ae.createIfNeeded(t.negativeY).fetchImage(i),Ae.createIfNeeded(t.positiveZ).fetchImage(i),Ae.createIfNeeded(t.negativeZ).fetchImage(i)];return Promise.all(o).then(function(r){return new Ir({context:e,source:{positiveX:r[0],negativeX:r[1],positiveY:r[2],negativeY:r[3],positiveZ:r[4],negativeZ:r[5]}})})}var ZM=r1e;var j0={VERTEX:0,FRAGMENT:1,BOTH:2};j0.includesVertexShader=function(e){return e===j0.VERTEX||e===j0.BOTH};j0.includesFragmentShader=function(e){return e===j0.FRAGMENT||e===j0.BOTH};var pe=Object.freeze(j0);function w6(e){this.name=e,this.fields=[]}w6.prototype.addField=function(e,t){let n=` ${e} ${t};`;this.fields.push(n)};w6.prototype.generateGlslLines=function(){let e=this.fields;return e.length===0&&(e=[" float _empty;"]),[].concat(`struct ${this.name}`,"{",e,"};")};var $M=w6;function D6(e){this.signature=e,this.body=[]}D6.prototype.addLines=function(e){let t=this.body;if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;i++)t.push(` ${e[i]}`)}else t.push(` ${e}`)};D6.prototype.generateGlslLines=function(){return[].concat(this.signature,"{",this.body,"}")};var QM=D6;function Sc(){this._positionAttributeLine=void 0,this._nextAttributeLocation=1,this._attributeLocations={},this._attributeLines=[],this._structs={},this._functions={},this._vertexShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]},this._fragmentShaderParts={defineLines:[],uniformLines:[],shaderLines:[],varyingLines:[],structIds:[],functionIds:[]}}Object.defineProperties(Sc.prototype,{attributeLocations:{get:function(){return this._attributeLocations}}});Sc.prototype.addDefine=function(e,t,n){n=y(n,pe.BOTH);let i=e;l(t)&&(i+=` ${t.toString()}`),pe.includesVertexShader(n)&&this._vertexShaderParts.defineLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.defineLines.push(i)};Sc.prototype.addStruct=function(e,t,n){this._structs[e]=new $M(t),pe.includesVertexShader(n)&&this._vertexShaderParts.structIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.structIds.push(e)};Sc.prototype.addStructField=function(e,t,n){this._structs[e].addField(t,n)};Sc.prototype.addFunction=function(e,t,n){this._functions[e]=new QM(t),pe.includesVertexShader(n)&&this._vertexShaderParts.functionIds.push(e),pe.includesFragmentShader(n)&&this._fragmentShaderParts.functionIds.push(e)};Sc.prototype.addFunctionLines=function(e,t){this._functions[e].addLines(t)};Sc.prototype.addUniform=function(e,t,n){n=y(n,pe.BOTH);let i=`uniform ${e} ${t};`;pe.includesVertexShader(n)&&this._vertexShaderParts.uniformLines.push(i),pe.includesFragmentShader(n)&&this._fragmentShaderParts.uniformLines.push(i)};Sc.prototype.setPositionAttribute=function(e,t){return this._positionAttributeLine=`in ${e} ${t};`,this._attributeLocations[t]=0,0};Sc.prototype.addAttribute=function(e,t){let n=`in ${e} ${t};`;this._attributeLines.push(n);let i=this._nextAttributeLocation;return this._attributeLocations[t]=i,this._nextAttributeLocation+=a1e(e),i};Sc.prototype.addVarying=function(e,t,n){n=l(n)?`${n} `:"";let i=`${e} ${t};`;this._vertexShaderParts.varyingLines.push(`${n}out ${i}`),this._fragmentShaderParts.varyingLines.push(`${n}in ${i}`)};Sc.prototype.addVertexLines=function(e){let t=this._vertexShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Sc.prototype.addFragmentLines=function(e){let t=this._fragmentShaderParts.shaderLines;Array.isArray(e)?t.push.apply(t,e):t.push(e)};Sc.prototype.buildShaderProgram=function(e){let t=l(this._positionAttributeLine)?[this._positionAttributeLine]:[],n=s1e(this),i=c1e(this),o=t.concat(this._attributeLines,this._vertexShaderParts.uniformLines,this._vertexShaderParts.varyingLines,n.vertexLines,i.vertexLines,this._vertexShaderParts.shaderLines).join(` +`),r=new He({defines:this._vertexShaderParts.defineLines,sources:[o]}),s=this._fragmentShaderParts.uniformLines.concat(this._fragmentShaderParts.varyingLines,n.fragmentLines,i.fragmentLines,this._fragmentShaderParts.shaderLines).join(` +`),a=new He({defines:this._fragmentShaderParts.defineLines,sources:[s]});return tn.fromCache({context:e,vertexShaderSource:r,fragmentShaderSource:a,attributeLocations:this._attributeLocations})};Sc.prototype.clone=function(){return We(this,!0)};function s1e(e){let t=[],n=[],i,o=e._vertexShaderParts.structIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.structIds,i=0;i<o.length;i++)r=o[i],s=e._structs[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}function a1e(e){switch(e){case"mat2":return 2;case"mat3":return 3;case"mat4":return 4;default:return 1}}function c1e(e){let t=[],n=[],i,o=e._vertexShaderParts.functionIds,r,s,a;for(i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),t.push.apply(t,a);for(o=e._fragmentShaderParts.functionIds,i=0;i<o.length;i++)r=o[i],s=e._functions[r],a=s.generateGlslLines(),n.push.apply(n,a);return{vertexLines:t,fragmentLines:n}}var BT=Sc;function Bs(e,t,n,i){let o=Bs._verifyAttributes(t);n=y(n,0);let r=[],s={},a,c,u=o.length;for(let d=0;d<u;++d){let p=o[d];if(p.vertexBuffer){r.push(p);continue}c=p.usage,a=s[c],l(a)||(a=s[c]=[]),a.push(p)}function f(d,p){return X.getSizeInBytes(p.componentDatatype)-X.getSizeInBytes(d.componentDatatype)}this._allBuffers=[];for(c in s)if(s.hasOwnProperty(c)){a=s[c],a.sort(f);let d=Bs._vertexSizeInBytes(a),p=a[0].usage,g={vertexSizeInBytes:d,vertexBuffer:void 0,usage:p,needsCommit:!1,arrayBuffer:void 0,arrayViews:Bs._createArrayViews(a,d)};this._allBuffers.push(g)}this._size=0,this._instanced=y(i,!1),this._precreated=r,this._context=e,this.writers=void 0,this.va=void 0,this.resize(n)}Bs._verifyAttributes=function(e){let t=[];for(let i=0;i<e.length;++i){let o=e[i],r={index:y(o.index,i),enabled:y(o.enabled,!0),componentsPerAttribute:o.componentsPerAttribute,componentDatatype:y(o.componentDatatype,X.FLOAT),normalize:y(o.normalize,!1),vertexBuffer:o.vertexBuffer,usage:y(o.usage,Ue.STATIC_DRAW)};t.push(r)}let n=new Array(t.length);for(let i=0;i<t.length;++i){let r=t[i].index;n[r]=!0}return t};Bs._vertexSizeInBytes=function(e){let t=0,n=e.length;for(let s=0;s<n;++s){let a=e[s];t+=a.componentsPerAttribute*X.getSizeInBytes(a.componentDatatype)}let i=n>0?X.getSizeInBytes(e[0].componentDatatype):0,o=i>0?t%i:0,r=o===0?0:i-o;return t+=r,t};Bs._createArrayViews=function(e,t){let n=[],i=0,o=e.length;for(let r=0;r<o;++r){let s=e[r],a=s.componentDatatype;n.push({index:s.index,enabled:s.enabled,componentsPerAttribute:s.componentsPerAttribute,componentDatatype:a,normalize:s.normalize,offsetInBytes:i,vertexSizeInComponentType:t/X.getSizeInBytes(a),view:void 0}),i+=s.componentsPerAttribute*X.getSizeInBytes(a)}return n};Bs.prototype.resize=function(e){this._size=e;let t=this._allBuffers;this.writers=[];for(let n=0,i=t.length;n<i;++n){let o=t[n];Bs._resize(o,this._size),Bs._appendWriters(this.writers,o)}I6(this)};Bs._resize=function(e,t){if(e.vertexSizeInBytes>0){let n=new ArrayBuffer(t*e.vertexSizeInBytes);if(l(e.arrayBuffer)){let r=new Uint8Array(n),s=new Uint8Array(e.arrayBuffer),a=s.length;for(let c=0;c<a;++c)r[c]=s[c]}let i=e.arrayViews,o=i.length;for(let r=0;r<o;++r){let s=i[r];s.view=X.createArrayBufferView(s.componentDatatype,n,s.offsetInBytes)}e.arrayBuffer=n}};var l1e=[function(e,t,n){return function(i,o){t[i*n]=o,e.needsCommit=!0}},function(e,t,n){return function(i,o,r){let s=i*n;t[s]=o,t[s+1]=r,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s){let a=i*n;t[a]=o,t[a+1]=r,t[a+2]=s,e.needsCommit=!0}},function(e,t,n){return function(i,o,r,s,a){let c=i*n;t[c]=o,t[c+1]=r,t[c+2]=s,t[c+3]=a,e.needsCommit=!0}}];Bs._appendWriters=function(e,t){let n=t.arrayViews,i=n.length;for(let o=0;o<i;++o){let r=n[o];e[r.index]=l1e[r.componentsPerAttribute-1](t,r.view,r.vertexSizeInComponentType)}};Bs.prototype.commit=function(e){let t=!1,n=this._allBuffers,i,o,r;for(o=0,r=n.length;o<r;++o)i=n[o],t=u1e(this,i)||t;if(t||!l(this.va)){I6(this);let s=this.va=[],a=P.SIXTY_FOUR_KILOBYTES-4,c=l(e)&&!this._instanced?Math.ceil(this._size/a):1;for(let u=0;u<c;++u){let f=[];for(o=0,r=n.length;o<r;++o){i=n[o];let d=u*(i.vertexSizeInBytes*a);Bs._appendAttributes(f,i,d,this._instanced)}f=f.concat(this._precreated),s.push({va:new si({context:this._context,attributes:f,indexBuffer:e}),indicesCount:1.5*(u!==c-1?a:this._size%a)})}}};function u1e(e,t){if(t.needsCommit&&t.vertexSizeInBytes>0){t.needsCommit=!1;let n=t.vertexBuffer,i=e._size*t.vertexSizeInBytes,o=l(n);if(!o||n.sizeInBytes<i)return o&&n.destroy(),t.vertexBuffer=bt.createVertexBuffer({context:e._context,typedArray:t.arrayBuffer,usage:t.usage}),t.vertexBuffer.vertexArrayDestroyable=!1,!0;t.vertexBuffer.copyFromArrayView(t.arrayBuffer)}return!1}Bs._appendAttributes=function(e,t,n,i){let o=t.arrayViews,r=o.length;for(let s=0;s<r;++s){let a=o[s];e.push({index:a.index,enabled:a.enabled,componentsPerAttribute:a.componentsPerAttribute,componentDatatype:a.componentDatatype,normalize:a.normalize,vertexBuffer:t.vertexBuffer,offsetInBytes:n+a.offsetInBytes,strideInBytes:t.vertexSizeInBytes,instanceDivisor:i?1:0})}};Bs.prototype.subCommit=function(e,t){let n=this._allBuffers;for(let i=0,o=n.length;i<o;++i)f1e(n[i],e,t)};function f1e(e,t,n){if(e.needsCommit&&e.vertexSizeInBytes>0){let i=e.vertexSizeInBytes*t,o=e.vertexSizeInBytes*n;e.vertexBuffer.copyFromArrayView(new Uint8Array(e.arrayBuffer,i,o),i)}}Bs.prototype.endSubCommits=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t)e[t].needsCommit=!1};function I6(e){let t=e.va;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].va.destroy();e.va=void 0}Bs.prototype.isDestroyed=function(){return!1};Bs.prototype.destroy=function(){let e=this._allBuffers;for(let t=0,n=e.length;t<n;++t){let i=e[t];i.vertexBuffer=i.vertexBuffer&&i.vertexBuffer.destroy()}return I6(this),ue(this)};var Y_=Bs;var Fee=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],P6=1,fv=8,q0=class e{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");let[n,i]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");let o=i>>4;if(o!==P6)throw new Error(`Got v${o} data when expected v${P6}.`);let r=Fee[i&15];if(!r)throw new Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new e(a,s,r,t)}constructor(t,n=64,i=Float64Array,o){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let r=Fee.indexOf(this.ArrayType),s=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-a%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,fv,t),this.coords=new this.ArrayType(this.data,fv+a+c,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(fv+s+a+c),this.ids=new this.IndexArrayType(this.data,fv,t),this.coords=new this.ArrayType(this.data,fv+a+c,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(P6<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=n,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return R6(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:r,coords:s,nodeSize:a}=this,c=[0,r.length-1,0],u=[];for(;c.length;){let f=c.pop()||0,d=c.pop()||0,p=c.pop()||0;if(d-p<=a){for(let b=p;b<=d;b++){let T=s[2*b],C=s[2*b+1];T>=t&&T<=i&&C>=n&&C<=o&&u.push(r[b])}continue}let g=p+d>>1,m=s[2*g],x=s[2*g+1];m>=t&&m<=i&&x>=n&&x<=o&&u.push(r[g]),(f===0?t<=m:n<=x)&&(c.push(p),c.push(g-1),c.push(1-f)),(f===0?i>=m:o>=x)&&(c.push(g+1),c.push(d),c.push(1-f))}return u}within(t,n,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:o,coords:r,nodeSize:s}=this,a=[0,o.length-1,0],c=[],u=i*i;for(;a.length;){let f=a.pop()||0,d=a.pop()||0,p=a.pop()||0;if(d-p<=s){for(let b=p;b<=d;b++)Bee(r[2*b],r[2*b+1],t,n)<=u&&c.push(o[b]);continue}let g=p+d>>1,m=r[2*g],x=r[2*g+1];Bee(m,x,t,n)<=u&&c.push(o[g]),(f===0?t-i<=m:n-i<=x)&&(a.push(p),a.push(g-1),a.push(1-f)),(f===0?t+i>=m:n+i>=x)&&(a.push(g+1),a.push(d),a.push(1-f))}return c}};function R6(e,t,n,i,o,r){if(o-i<=n)return;let s=i+o>>1;kee(e,t,s,i,o,r),R6(e,t,n,i,s-1,1-r),R6(e,t,n,s+1,o,1-r)}function kee(e,t,n,i,o,r){for(;o>i;){if(o-i>600){let u=o-i+1,f=n-i+1,d=Math.log(u),p=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*p*(u-p)/u)*(f-u/2<0?-1:1),m=Math.max(i,Math.floor(n-f*p/u+g)),x=Math.min(o,Math.floor(n+(u-f)*p/u+g));kee(e,t,n,m,x,r)}let s=t[2*n+r],a=i,c=o;for(dv(e,t,i,n),t[2*o+r]>s&&dv(e,t,i,o);a<c;){for(dv(e,t,a,c),a++,c--;t[2*a+r]<s;)a++;for(;t[2*c+r]>s;)c--}t[2*i+r]===s?dv(e,t,i,c):(c++,dv(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function dv(e,t,n,i){O6(e,n,i),O6(t,2*n,2*i),O6(t,2*n+1,2*i+1)}function O6(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function Bee(e,t,n,i){let o=e-n,r=t-i;return o*o+r*r}var kT={},d1e={KDBush:q0,addCache:function(e,t){return kT[e]=t,t},removeCache:function(e){delete kT[e]},getCache:function(e){return kT[e]},getCacheOrAdd:function(e){return kT[e]||(kT[e]={}),kT[e]}},X_=d1e;function K_(e){this._value=void 0,this._hasClone=!1,this._hasEquals=!1,this._definitionChanged=new me,this.setValue(e)}Object.defineProperties(K_.prototype,{isConstant:{value:!0},definitionChanged:{get:function(){return this._definitionChanged}}});K_.prototype.getValue=function(e,t){return this._hasClone?this._value.clone(t):this._value};K_.prototype.setValue=function(e){let t=this._value;if(t!==e){let n=l(e),i=n&&typeof e.clone=="function",o=n&&typeof e.equals=="function";(!o||!e.equals(t))&&(this._hasClone=i,this._hasEquals=o,this._value=i?e.clone(this._value):e,this._definitionChanged.raiseEvent(this))}};K_.prototype.equals=function(e){return this===e||e instanceof K_&&(!this._hasEquals&&this._value===e._value||this._hasEquals&&this._value.equals(e._value))};K_.prototype.valueOf=function(){return this._value};K_.prototype.toString=function(){return String(this._value)};var $n=K_;function h1e(e,t,n,i,o){return{configurable:i,get:function(){return this[t]},set:function(r){let s=this[t],a=this[n];l(a)&&(a(),this[n]=void 0),r!==void 0&&(!l(r)||!l(r.getValue))&&l(o)&&(r=o(r)),s!==r&&(this[t]=r,this._definitionChanged.raiseEvent(this,e,r,s)),l(r)&&l(r.definitionChanged)&&(this[n]=r.definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this,e,r,r)},this))}}}function m1e(e){return new $n(e)}function p1e(e,t,n){return h1e(e,`_${e.toString()}`,`_${e.toString()}Subscription`,y(t,!1),y(n,m1e))}var le=p1e;function hv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._image=void 0,this._imageSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._alignedAxis=void 0,this._alignedAxisSubscription=void 0,this._sizeInMeters=void 0,this._sizeInMetersSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._imageSubRegion=void 0,this._imageSubRegionSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(hv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),image:le("image"),scale:le("scale"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),color:le("color"),rotation:le("rotation"),alignedAxis:le("alignedAxis"),sizeInMeters:le("sizeInMeters"),width:le("width"),height:le("height"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),imageSubRegion:le("imageSubRegion"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});hv.prototype.clone=function(e){return l(e)?(e.show=this._show,e.image=this._image,e.scale=this._scale,e.pixelOffset=this._pixelOffset,e.eyeOffset=this._eyeOffset,e.horizontalOrigin=this._horizontalOrigin,e.verticalOrigin=this._verticalOrigin,e.heightReference=this._heightReference,e.color=this._color,e.rotation=this._rotation,e.alignedAxis=this._alignedAxis,e.sizeInMeters=this._sizeInMeters,e.width=this._width,e.height=this._height,e.scaleByDistance=this._scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.pixelOffsetScaleByDistance=this._pixelOffsetScaleByDistance,e.imageSubRegion=this._imageSubRegion,e.distanceDisplayCondition=this._distanceDisplayCondition,e.disableDepthTestDistance=this._disableDepthTestDistance,e.splitDirection=this._splitDirection,e):new hv(this)};hv.prototype.merge=function(e){this.show=y(this._show,e.show),this.image=y(this._image,e.image),this.scale=y(this._scale,e.scale),this.pixelOffset=y(this._pixelOffset,e.pixelOffset),this.eyeOffset=y(this._eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this._horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this._verticalOrigin,e.verticalOrigin),this.heightReference=y(this._heightReference,e.heightReference),this.color=y(this._color,e.color),this.rotation=y(this._rotation,e.rotation),this.alignedAxis=y(this._alignedAxis,e.alignedAxis),this.sizeInMeters=y(this._sizeInMeters,e.sizeInMeters),this.width=y(this._width,e.width),this.height=y(this._height,e.height),this.scaleByDistance=y(this._scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this._pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.imageSubRegion=y(this._imageSubRegion,e.imageSubRegion),this.distanceDisplayCondition=y(this._distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this._disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var vc=hv;function Y0(){this._array=[],this._hash={}}Object.defineProperties(Y0.prototype,{length:{get:function(){return this._array.length}},values:{get:function(){return this._array}}});Y0.prototype.contains=function(e){return l(this._hash[e])};Y0.prototype.set=function(e,t){let n=this._hash[e];t!==n&&(this.remove(e),this._hash[e]=t,this._array.push(t))};Y0.prototype.get=function(e){return this._hash[e]};Y0.prototype.remove=function(e){let t=this._hash[e],n=l(t);if(n){let i=this._array;i.splice(i.indexOf(t),1),delete this._hash[e]}return n};Y0.prototype.removeAll=function(){let e=this._array;e.length>0&&(this._hash={},e.length=0)};var vt=Y0;function $l(e,t){e=y(e,0),this._near=e,t=y(t,Number.MAX_VALUE),this._far=t}Object.defineProperties($l.prototype,{near:{get:function(){return this._near},set:function(e){this._near=e}},far:{get:function(){return this._far},set:function(e){this._far=e}}});$l.packedLength=2;$l.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n]=e.far,t};$l.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new $l),n.near=e[t++],n.far=e[t],n};$l.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.far===t.far};$l.clone=function(e,t){if(l(e))return l(t)||(t=new $l),t.near=e.near,t.far=e.far,t};$l.prototype.clone=function(e){return $l.clone(this,e)};$l.prototype.equals=function(e){return $l.equals(this,e)};var Lt=$l;function $u(e,t,n,i){this.near=y(e,0),this.nearValue=y(t,0),this.far=y(n,1),this.farValue=y(i,0)}$u.clone=function(e,t){if(l(e))return l(t)?(t.near=e.near,t.nearValue=e.nearValue,t.far=e.far,t.farValue=e.farValue,t):new $u(e.near,e.nearValue,e.far,e.farValue)};$u.packedLength=4;$u.pack=function(e,t,n){return n=y(n,0),t[n++]=e.near,t[n++]=e.nearValue,t[n++]=e.far,t[n]=e.farValue,t};$u.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new $u),n.near=e[t++],n.nearValue=e[t++],n.far=e[t++],n.farValue=e[t],n};$u.equals=function(e,t){return e===t||l(e)&&l(t)&&e.near===t.near&&e.nearValue===t.nearValue&&e.far===t.far&&e.farValue===t.farValue};$u.prototype.clone=function(e){return $u.clone(this,e)};$u.prototype.equals=function(e){return $u.equals(this,e)};var kt=$u;var X0={NONE:0,CLAMP_TO_GROUND:1,RELATIVE_TO_GROUND:2,CLAMP_TO_TERRAIN:3,RELATIVE_TO_TERRAIN:4,CLAMP_TO_3D_TILE:5,RELATIVE_TO_3D_TILE:6},Xe=Object.freeze(X0);function Qu(e){return e===X0.CLAMP_TO_GROUND||e===X0.CLAMP_TO_3D_TILE||e===X0.CLAMP_TO_TERRAIN}function VT(e){return e===X0.RELATIVE_TO_GROUND||e===X0.RELATIVE_TO_3D_TILE||e===X0.RELATIVE_TO_TERRAIN}var _1e={CENTER:0,LEFT:1,RIGHT:-1},bi=Object.freeze(_1e);var g1e={CENTER:0,BOTTOM:1,BASELINE:2,TOP:-1},Ln=Object.freeze(g1e);var y1e={DONE:0,PENDING:1,FAILED:2},ut=Object.freeze(y1e);function dd(){de.throwInstantiationError()}Object.defineProperties(dd.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});dd.prototype.getValue=de.throwInstantiationError;dd.prototype.equals=de.throwInstantiationError;dd.equals=function(e,t){return e===t||l(e)&&e.equals(t)};dd.arrayEquals=function(e,t){if(e===t)return!0;if(!l(e)||!l(t)||e.length!==t.length)return!1;let n=e.length;for(let i=0;i<n;i++)if(!dd.equals(e[i],t[i]))return!1;return!0};dd.isConstant=function(e){return!l(e)||e.isConstant};dd.getValueOrUndefined=function(e,t,n){return l(e)?e.getValue(t,n):void 0};dd.getValueOrDefault=function(e,t,n,i){return l(e)?y(e.getValue(t,i),n):n};dd.getValueOrClonedDefault=function(e,t,n,i){let o;return l(e)&&(o=e.getValue(t,i)),l(o)||(o=n.clone(o)),o};var q=dd;var x1e={LEFT:-1,NONE:0,RIGHT:1},jr=Object.freeze(x1e);var b1e=z.WHITE,T1e=h.ZERO,C1e=Xe.NONE,A1e=U.ZERO,E1e=1,S1e=0,v1e=h.ZERO,w1e=bi.CENTER,D1e=Ln.CENTER,I1e=!1,P1e=jr.NONE,O1e=new h,R1e=new z,M1e=new h,L1e=new U,N1e=new kt,F1e=new kt,B1e=new kt,k1e=new Ye,V1e=new Lt;function Vee(e){this.entity=e,this.billboard=void 0,this.textureValue=void 0}function Z_(e,t){t.collectionChanged.addEventListener(Z_.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new vt,this._onCollectionChanged(t,t.values,[],[])}Z_.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._billboard,c,u=r.billboard,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,O1e),c=q.getValueOrUndefined(a._image,e),f=l(d)&&l(c)),!f){M6(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0),l(u)||(u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u),u.show=f,(!l(u.image)||r.textureValue!==c)&&(u.image=c,r.textureValue=c),u.position=d,u.color=q.getValueOrDefault(a._color,e,b1e,R1e),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,T1e,M1e),u.heightReference=q.getValueOrDefault(a._heightReference,e,C1e),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,A1e,L1e),u.scale=q.getValueOrDefault(a._scale,e,E1e),u.rotation=q.getValueOrDefault(a._rotation,e,S1e),u.alignedAxis=q.getValueOrDefault(a._alignedAxis,e,v1e),u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,w1e),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,D1e),u.width=q.getValueOrUndefined(a._width,e),u.height=q.getValueOrUndefined(a._height,e),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,N1e),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,F1e),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,B1e),u.sizeInMeters=q.getValueOrDefault(a._sizeInMeters,e,I1e),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,V1e),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,P1e);let p=q.getValueOrUndefined(a._imageSubRegion,e,k1e);l(p)&&u.setImageSubRegion(u._imageId,p)}return!0};Z_.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.billboard))return ut.FAILED;let i=n.billboard;if(i.heightReference===Xe.NONE)t.center=h.clone(i.position,t.center);else{if(!l(i._clampedPosition))return ut.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,ut.DONE};Z_.prototype.isDestroyed=function(){return!1};Z_.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Z_.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeBillboard(e[t]);return ue(this)};Z_.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._billboard)&&l(r._position)&&s.set(r.id,new Vee(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._billboard)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Vee(r)):(M6(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],M6(s.get(r.id),r,a),s.remove(r.id)};function M6(e,t,n){l(e)&&(e.billboard=void 0,n.removeBillboard(t))}var JM=Z_;var U1e=new h;function Ih(e){e=y(e,y.EMPTY_OBJECT);let t=e.minimum,n=e.maximum;this._min=h.clone(t),this._max=h.clone(n),this._offsetAttribute=e.offsetAttribute,this._workerName="createBoxOutlineGeometry"}Ih.fromDimensions=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.dimensions,n=h.multiplyByScalar(t,.5,new h);return new Ih({minimum:h.negate(n,new h),maximum:n,offsetAttribute:e.offsetAttribute})};Ih.fromAxisAlignedBoundingBox=function(e){return new Ih({minimum:e.minimum,maximum:e.maximum})};Ih.packedLength=2*h.packedLength+1;Ih.pack=function(e,t,n){return n=y(n,0),h.pack(e._min,t,n),h.pack(e._max,t,n+h.packedLength),t[n+h.packedLength*2]=y(e._offsetAttribute,-1),t};var zee=new h,Hee=new h,Uee={minimum:zee,maximum:Hee,offsetAttribute:void 0};Ih.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,zee),o=h.unpack(e,t+h.packedLength,Hee),r=e[t+h.packedLength*2];return l(n)?(n._min=h.clone(i,n._min),n._max=h.clone(o,n._max),n._offsetAttribute=r===-1?void 0:r,n):(Uee.offsetAttribute=r===-1?void 0:r,new Ih(Uee))};Ih.createGeometry=function(e){let t=e._min,n=e._max;if(h.equals(t,n))return;let i=new mn,o=new Uint16Array(12*2),r=new Float64Array(8*3);r[0]=t.x,r[1]=t.y,r[2]=t.z,r[3]=n.x,r[4]=t.y,r[5]=t.z,r[6]=n.x,r[7]=n.y,r[8]=t.z,r[9]=t.x,r[10]=n.y,r[11]=t.z,r[12]=t.x,r[13]=t.y,r[14]=n.z,r[15]=n.x,r[16]=t.y,r[17]=n.z,r[18]=n.x,r[19]=n.y,r[20]=n.z,r[21]=t.x,r[22]=n.y,r[23]=n.z,i.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:r}),o[0]=4,o[1]=5,o[2]=5,o[3]=6,o[4]=6,o[5]=7,o[6]=7,o[7]=4,o[8]=0,o[9]=1,o[10]=1,o[11]=2,o[12]=2,o[13]=3,o[14]=3,o[15]=0,o[16]=0,o[17]=4,o[18]=1,o[19]=5,o[20]=2,o[21]=6,o[22]=3,o[23]=7;let s=h.subtract(n,t,U1e),a=h.magnitude(s)*.5;if(l(e._offsetAttribute)){let c=r.length,u=e._offsetAttribute===cn.NONE?0:1,f=new Uint8Array(c/3).fill(u);i.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:f})}return new ft({attributes:i,indices:o,primitiveType:Fe.LINES,boundingSphere:new ce(h.ZERO,a),offsetAttribute:e._offsetAttribute})};var Ph=Ih;function UT(e,t,n,i){e=y(e,1),t=y(t,1),n=y(n,1),i=y(i,1),this.value=new Uint8Array([z.floatToByte(e),z.floatToByte(t),z.floatToByte(n),z.floatToByte(i)])}Object.defineProperties(UT.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 4}},normalize:{get:function(){return!0}}});UT.fromColor=function(e){return new UT(e.red,e.green,e.blue,e.alpha)};UT.toValue=function(e,t){return l(t)?e.toBytes(t):new Uint8Array(e.toBytes())};UT.equals=function(e,t){return e===t||l(e)&&l(t)&&e.value[0]===t.value[0]&&e.value[1]===t.value[1]&&e.value[2]===t.value[2]&&e.value[3]===t.value[3]};var Wt=UT;function mv(e,t){e=y(e,0),t=y(t,Number.MAX_VALUE),this.value=new Float32Array([e,t])}Object.defineProperties(mv.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 2}},normalize:{get:function(){return!1}}});mv.fromDistanceDisplayCondition=function(e){return new mv(e.near,e.far)};mv.toValue=function(e,t){return l(t)?(t[0]=e.near,t[1]=e.far,t):new Float32Array([e.near,e.far])};var Vn=mv;function z1e(e){e=y(e,y.EMPTY_OBJECT),this.geometry=e.geometry,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.id=e.id,this.pickPrimitive=e.pickPrimitive,this.attributes=y(e.attributes,{}),this.westHemisphereGeometry=void 0,this.eastHemisphereGeometry=void 0}var wt=z1e;function Yo(e){e=y(e,y.EMPTY_OBJECT),this.start=l(e.start)?K.clone(e.start):new K,this.stop=l(e.stop)?K.clone(e.stop):new K,this.data=e.data,this.isStartIncluded=y(e.isStartIncluded,!0),this.isStopIncluded=y(e.isStopIncluded,!0)}Object.defineProperties(Yo.prototype,{isEmpty:{get:function(){let e=K.compare(this.stop,this.start);return e<0||e===0&&(!this.isStartIncluded||!this.isStopIncluded)}}});var zT={start:void 0,stop:void 0,isStartIncluded:void 0,isStopIncluded:void 0,data:void 0};Yo.fromIso8601=function(e,t){let n=e.iso8601.split("/");if(n.length!==2)throw new de("options.iso8601 is an invalid ISO 8601 interval.");let i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=e.data;return l(t)?(t.start=i,t.stop=o,t.isStartIncluded=r,t.isStopIncluded=s,t.data=a,t):(zT.start=i,zT.stop=o,zT.isStartIncluded=r,zT.isStopIncluded=s,zT.data=a,new Yo(zT))};Yo.toIso8601=function(e,t){return`${K.toIso8601(e.start,t)}/${K.toIso8601(e.stop,t)}`};Yo.clone=function(e,t){if(l(e))return l(t)?(t.start=e.start,t.stop=e.stop,t.isStartIncluded=e.isStartIncluded,t.isStopIncluded=e.isStopIncluded,t.data=e.data,t):new Yo(e)};Yo.equals=function(e,t,n){return e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equals(e.start,t.start)&&K.equals(e.stop,t.stop)&&(e.data===t.data||l(n)&&n(e.data,t.data)))};Yo.equalsEpsilon=function(e,t,n,i){return n=y(n,0),e===t||l(e)&&l(t)&&(e.isEmpty&&t.isEmpty||e.isStartIncluded===t.isStartIncluded&&e.isStopIncluded===t.isStopIncluded&&K.equalsEpsilon(e.start,t.start,n)&&K.equalsEpsilon(e.stop,t.stop,n)&&(e.data===t.data||l(i)&&i(e.data,t.data)))};Yo.intersect=function(e,t,n,i){if(!l(t))return Yo.clone(Yo.EMPTY,n);let o=e.start,r=e.stop,s=t.start,a=t.stop,c=K.greaterThanOrEquals(s,o)&&K.greaterThanOrEquals(r,s),u=!c&&K.lessThanOrEquals(s,o)&&K.lessThanOrEquals(o,a);if(!c&&!u)return Yo.clone(Yo.EMPTY,n);let f=e.isStartIncluded,d=e.isStopIncluded,p=t.isStartIncluded,g=t.isStopIncluded,m=K.lessThan(r,a);return l(n)||(n=new Yo),n.start=c?s:o,n.isStartIncluded=f&&p||!K.equals(s,o)&&(c&&p||u&&f),n.stop=m?r:a,n.isStopIncluded=m?d:d&&g||!K.equals(a,r)&&g,n.data=l(i)?i(e.data,t.data):e.data,n};Yo.contains=function(e,t){if(e.isEmpty)return!1;let n=K.compare(e.start,t);if(n===0)return e.isStartIncluded;let i=K.compare(t,e.stop);return i===0?e.isStopIncluded:n<0&&i<0};Yo.prototype.clone=function(e){return Yo.clone(this,e)};Yo.prototype.equals=function(e,t){return Yo.equals(this,e,t)};Yo.prototype.equalsEpsilon=function(e,t,n){return Yo.equalsEpsilon(this,e,t,n)};Yo.prototype.toString=function(){return Yo.toIso8601(this)};Yo.EMPTY=Object.freeze(new Yo({start:new K,stop:new K,isStartIncluded:!1,isStopIncluded:!1}));var vn=Yo;var Gee=Object.freeze(K.fromIso8601("0000-01-01T00:00:00Z")),Wee=Object.freeze(K.fromIso8601("9999-12-31T24:00:00Z")),H1e=Object.freeze(new vn({start:Gee,stop:Wee})),G1e={MINIMUM_VALUE:Gee,MAXIMUM_VALUE:Wee,MAXIMUM_INTERVAL:H1e},Ge=G1e;function pv(e,t,n){e=y(e,0),t=y(t,0),n=y(n,0),this.value=new Float32Array([e,t,n])}Object.defineProperties(pv.prototype,{componentDatatype:{get:function(){return X.FLOAT}},componentsPerAttribute:{get:function(){return 3}},normalize:{get:function(){return!1}}});pv.fromCartesian3=function(e){return new pv(e.x,e.y,e.z)};pv.toValue=function(e,t){return l(t)||(t=new Float32Array([e.x,e.y,e.z])),t[0]=e.x,t[1]=e.y,t[2]=e.z,t};var eo=pv;function eL(e){e=y(e,!0),this.value=eL.toValue(e)}Object.defineProperties(eL.prototype,{componentDatatype:{get:function(){return X.UNSIGNED_BYTE}},componentsPerAttribute:{get:function(){return 1}},normalize:{get:function(){return!1}}});eL.toValue=function(e,t){return l(t)?(t[0]=e,t):new Uint8Array([e])};var xn=eL;var tL=`in vec3 v_positionEC; in vec3 v_normalEC; in vec3 v_tangentEC; in vec3 v_bitangentEC; @@ -3904,7 +3949,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var zM=`in vec3 position3DHigh; +`;var nL=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec3 tangent; @@ -3930,7 +3975,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var HM=`in vec3 v_positionEC; +`;var iL=`in vec3 v_positionEC; in vec3 v_normalEC; void main() @@ -3953,7 +3998,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var GM=`in vec3 position3DHigh; +`;var oL=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in float batchId; @@ -3970,7 +4015,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var WM=`in vec3 v_positionEC; +`;var rL=`in vec3 v_positionEC; in vec3 v_normalEC; in vec2 v_st; @@ -3995,7 +4040,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); #endif } -`;var jM=`in vec3 position3DHigh; +`;var sL=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec2 st; @@ -4015,8 +4060,8 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var LPe={ADD:te.FUNC_ADD,SUBTRACT:te.FUNC_SUBTRACT,REVERSE_SUBTRACT:te.FUNC_REVERSE_SUBTRACT,MIN:te.MIN,MAX:te.MAX},Xa=Object.freeze(LPe);var NPe={ZERO:te.ZERO,ONE:te.ONE,SOURCE_COLOR:te.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:te.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:te.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:te.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:te.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:te.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:te.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:te.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:te.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:te.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:te.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:te.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:te.SRC_ALPHA_SATURATE},Ao=Object.freeze(NPe);var FPe={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Xa.ADD,equationAlpha:Xa.ADD,functionSourceRgb:Ao.SOURCE_ALPHA,functionSourceAlpha:Ao.ONE,functionDestinationRgb:Ao.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Xa.ADD,equationAlpha:Xa.ADD,functionSourceRgb:Ao.ONE,functionSourceAlpha:Ao.ONE,functionDestinationRgb:Ao.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:Xa.ADD,equationAlpha:Xa.ADD,functionSourceRgb:Ao.SOURCE_ALPHA,functionSourceAlpha:Ao.ONE,functionDestinationRgb:Ao.ONE,functionDestinationAlpha:Ao.ONE})},fn=Object.freeze(FPe);var BPe={FRONT:te.FRONT,BACK:te.BACK,FRONT_AND_BACK:te.FRONT_AND_BACK},yi=Object.freeze(BPe);function IT(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(IT.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});IT.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),l(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(` -`)};IT.prototype.isTranslucent=function(){return l(this.material)&&this.material.isTranslucent()||!l(this.material)&&this.translucent};IT.prototype.getRenderState=function(){let e=this.isTranslucent(),t=We(this.renderState,!1);return e?(t.depthMask=!1,t.blending=fn.ALPHA_BLEND):t.depthMask=!0,t};IT.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=fn.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:yi.BACK}),l(n)&&(i=xt(n,i,!0)),i};var eo=IT;var qM=`uniform sampler2D image; +`;var W1e={ADD:te.FUNC_ADD,SUBTRACT:te.FUNC_SUBTRACT,REVERSE_SUBTRACT:te.FUNC_REVERSE_SUBTRACT,MIN:te.MIN,MAX:te.MAX},Za=Object.freeze(W1e);var j1e={ZERO:te.ZERO,ONE:te.ONE,SOURCE_COLOR:te.SRC_COLOR,ONE_MINUS_SOURCE_COLOR:te.ONE_MINUS_SRC_COLOR,DESTINATION_COLOR:te.DST_COLOR,ONE_MINUS_DESTINATION_COLOR:te.ONE_MINUS_DST_COLOR,SOURCE_ALPHA:te.SRC_ALPHA,ONE_MINUS_SOURCE_ALPHA:te.ONE_MINUS_SRC_ALPHA,DESTINATION_ALPHA:te.DST_ALPHA,ONE_MINUS_DESTINATION_ALPHA:te.ONE_MINUS_DST_ALPHA,CONSTANT_COLOR:te.CONSTANT_COLOR,ONE_MINUS_CONSTANT_COLOR:te.ONE_MINUS_CONSTANT_COLOR,CONSTANT_ALPHA:te.CONSTANT_ALPHA,ONE_MINUS_CONSTANT_ALPHA:te.ONE_MINUS_CONSTANT_ALPHA,SOURCE_ALPHA_SATURATE:te.SRC_ALPHA_SATURATE},So=Object.freeze(j1e);var q1e={DISABLED:Object.freeze({enabled:!1}),ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Za.ADD,equationAlpha:Za.ADD,functionSourceRgb:So.SOURCE_ALPHA,functionSourceAlpha:So.ONE,functionDestinationRgb:So.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA}),PRE_MULTIPLIED_ALPHA_BLEND:Object.freeze({enabled:!0,equationRgb:Za.ADD,equationAlpha:Za.ADD,functionSourceRgb:So.ONE,functionSourceAlpha:So.ONE,functionDestinationRgb:So.ONE_MINUS_SOURCE_ALPHA,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA}),ADDITIVE_BLEND:Object.freeze({enabled:!0,equationRgb:Za.ADD,equationAlpha:Za.ADD,functionSourceRgb:So.SOURCE_ALPHA,functionSourceAlpha:So.ONE,functionDestinationRgb:So.ONE,functionDestinationAlpha:So.ONE})},fn=Object.freeze(q1e);var Y1e={FRONT:te.FRONT,BACK:te.BACK,FRONT_AND_BACK:te.FRONT_AND_BACK},Ti=Object.freeze(Y1e);function HT(e){e=y(e,y.EMPTY_OBJECT),this.material=e.material,this.translucent=y(e.translucent,!0),this._vertexShaderSource=e.vertexShaderSource,this._fragmentShaderSource=e.fragmentShaderSource,this._renderState=e.renderState,this._closed=y(e.closed,!1)}Object.defineProperties(HT.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}}});HT.prototype.getFragmentShaderSource=function(){let e=[];return this.flat&&e.push("#define FLAT"),this.faceForward&&e.push("#define FACE_FORWARD"),l(this.material)&&e.push(this.material.shaderSource),e.push(this.fragmentShaderSource),e.join(` +`)};HT.prototype.isTranslucent=function(){return l(this.material)&&this.material.isTranslucent()||!l(this.material)&&this.translucent};HT.prototype.getRenderState=function(){let e=this.isTranslucent(),t=We(this.renderState,!1);return e?(t.depthMask=!1,t.blending=fn.ALPHA_BLEND):t.depthMask=!0,t};HT.getDefaultRenderState=function(e,t,n){let i={depthTest:{enabled:!0}};return e&&(i.depthMask=!1,i.blending=fn.ALPHA_BLEND),t&&(i.cull={enabled:!0,face:Ti.BACK}),l(n)&&(i=Ct(n,i,!0)),i};var oo=HT;var aL=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { @@ -4027,7 +4072,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var YM=`uniform sampler2D image; +`;var cL=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; @@ -4056,7 +4101,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var XM=`uniform vec4 lightColor; +`;var lL=`uniform vec4 lightColor; uniform vec4 darkColor; uniform vec2 repeat; @@ -4085,7 +4130,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var KM=`uniform vec4 lightColor; +`;var uL=`uniform vec4 lightColor; uniform vec4 darkColor; uniform vec2 repeat; @@ -4103,7 +4148,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var $M=`uniform sampler2D heights; +`;var fL=`uniform sampler2D heights; uniform sampler2D colors; // This material expects heights to be sorted from lowest to highest. @@ -4177,7 +4222,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = color.a; return material; } -`;var ZM=`uniform vec4 color; +`;var dL=`uniform vec4 color; uniform float spacing; uniform float width; @@ -4203,7 +4248,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var QM=`uniform sampler2D image; +`;var hL=`uniform sampler2D image; uniform float minimumHeight; uniform float maximumHeight; @@ -4217,7 +4262,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var JM=`uniform vec4 fadeInColor; +`;var mL=`uniform vec4 fadeInColor; uniform vec4 fadeOutColor; uniform float maximumDistance; uniform bool repeat; @@ -4254,7 +4299,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var eL=`uniform vec4 color; +`;var pL=`uniform vec4 color; uniform float cellAlpha; uniform vec2 lineCount; uniform vec2 lineThickness; @@ -4311,7 +4356,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var tL=`uniform sampler2D image; +`;var _L=`uniform sampler2D image; uniform float strength; uniform vec2 repeat; @@ -4330,7 +4375,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var nL=`uniform vec4 color; +`;var gL=`uniform vec4 color; float getPointOnLine(vec2 p0, vec2 p1, float x) { @@ -4393,7 +4438,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = outColor.a; return material; } -`;var iL=`uniform vec4 color; +`;var yL=`uniform vec4 color; uniform vec4 gapColor; uniform float dashLength; uniform float dashPattern; @@ -4432,7 +4477,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = fragColor.a; return material; } -`;var oL=`uniform vec4 color; +`;var xL=`uniform vec4 color; uniform float glowPower; uniform float taperPower; @@ -4457,7 +4502,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var rL=`uniform vec4 color; +`;var bL=`uniform vec4 color; uniform vec4 outlineColor; uniform float outlineWidth; @@ -4486,7 +4531,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var sL=`uniform vec4 color; +`;var TL=`uniform vec4 color; uniform vec4 rimColor; uniform float width; @@ -4507,7 +4552,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var aL=`uniform sampler2D image; +`;var CL=`uniform sampler2D image; czm_material czm_getMaterial(czm_materialInput materialInput) { @@ -4518,7 +4563,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) material.alpha = rampColor.a; return material; } -`;var cL=`uniform vec4 evenColor; +`;var AL=`uniform vec4 evenColor; uniform vec4 oddColor; uniform float offset; uniform float repeat; @@ -4542,7 +4587,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var lL=`uniform vec4 waterColor; +`;var EL=`uniform vec4 waterColor; uniform vec4 landColor; czm_material czm_getMaterial(czm_materialInput materialInput) @@ -4557,7 +4602,7 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;var uL=`// Thanks for the contribution Jonas +`;var SL=`// Thanks for the contribution Jonas // http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog uniform sampler2D specularMap; @@ -4615,16 +4660,16 @@ czm_material czm_getMaterial(czm_materialInput materialInput) return material; } -`;function je(e){this.type=void 0,this.autoDestroyOldTexture=e.autoDestroyOldTexture??!0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=y(e.minificationFilter,en.LINEAR),this._magnificationFilter=y(e.magnificationFilter,fi.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,kPe(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),l(je._uniformList[this.type])||(je._uniformList[this.type]=Object.keys(this._uniforms))}je._uniformList={};je.fromType=function(e,t){let n=new je({fabric:{type:e}});if(l(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};je.prototype.isTranslucent=function(){if(l(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i<n;++i){let o=t[i];if(typeof o=="function"?e=e&&o():e=e&&o,!e)break}return e};je.prototype.update=function(e){this._defaultTexture=e.defaultTexture;let t,n,i=this._loadedImages,o=i.length;for(t=0;t<o;++t){let c=i[t];n=c.id;let u=c.image,f;Array.isArray(u)&&(f=u.slice(1,u.length).map(function(x){return x.bufferView}),u=u[0]);let d=new tn({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter}),p;l(u.internalFormat)?p=new Mt({context:e,pixelFormat:u.internalFormat,width:u.width,height:u.height,source:{arrayBufferView:u.bufferView,mipLevels:f},sampler:d}):p=new Mt({context:e,source:u,sampler:d});let g=this._textures[n];l(g)&&g!==this._defaultTexture&&g.destroy(),this._textures[n]=p;let m=`${n}Dimensions`;if(this.uniforms.hasOwnProperty(m)){let x=this.uniforms[m];x.x=p._width,x.y=p._height}}i.length=0;let r=this._loadedCubeMaps;for(o=r.length,t=0;t<o;++t){let c=r[t];n=c.id;let u=c.images,f=new qa({context:e,source:{positiveX:u[0],negativeX:u[1],positiveY:u[2],negativeY:u[3],positiveZ:u[4],negativeZ:u[5]},sampler:new tn({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[n]=f}r.length=0;let s=this._updateFunctions;for(o=s.length,t=0;t<o;++t)s[t](this,e);let a=this.materials;for(let c in a)a.hasOwnProperty(c)&&a[c].update(e)};je.prototype.isDestroyed=function(){return!1};je.prototype.destroy=function(){let e=this._textures;for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];i!==this._defaultTexture&&i.destroy()}let t=this.materials;for(let n in t)t.hasOwnProperty(n)&&t[n].destroy();return ue(this)};function kPe(e,t){e=y(e,y.EMPTY_OBJECT),t._strict=y(e.strict,!1),t._count=y(e.count,0),t._template=We(y(e.fabric,y.EMPTY_OBJECT)),t._template.uniforms=We(y(t._template.uniforms,y.EMPTY_OBJECT)),t._template.materials=We(y(t._template.materials,y.EMPTY_OBJECT)),t.type=l(t._template.type)?t._template.type:Gn(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];let n,i=je._materialCache.getMaterial(t.type);if(l(i)){let r=We(i.fabric,!0);t._template=xt(t._template,r,!0),n=i.translucent}HPe(t),l(i)||je._materialCache.addMaterial(t.type,t),WPe(t),XPe(t),$Pe(t);let o=t._translucentFunctions.length===0?!0:void 0;if(n=y(n,o),n=y(e.translucent,n),l(n))if(typeof n=="function"){let r=function(){return n(t)};t._translucentFunctions.push(r)}else t._translucentFunctions.push(n)}function c6(e,t,n,i){if(l(e)){for(let o in e)if(e.hasOwnProperty(o)){let r=t.indexOf(o)!==-1;(i&&!r||!i&&r)&&n(o,t)}}}function nee(e,t){}function VPe(e,t){}var UPe=["type","materials","uniforms","components","source"],zPe=["diffuse","specular","shininess","normal","emission","alpha"];function HPe(e){let t=e._template,n=t.uniforms,i=t.materials,o=t.components;c6(t,UPe,nee,!0),c6(o,zPe,nee,!0);let r=[];for(let s in i)i.hasOwnProperty(s)&&r.push(s);c6(n,r,VPe,!1)}function GPe(e,t){let n=t._template.materials;for(let i in n)if(n.hasOwnProperty(i)&&e.indexOf(i)>-1)return!0;return!1}function WPe(e){let t=e._template.components,n=e._template.source;if(l(n))e.shaderSource+=`${n} +`;function je(e){this.type=void 0,this.autoDestroyOldTexture=e.autoDestroyOldTexture??!0,this.shaderSource=void 0,this.materials=void 0,this.uniforms=void 0,this._uniforms=void 0,this.translucent=void 0,this._minificationFilter=y(e.minificationFilter,Zt.LINEAR),this._magnificationFilter=y(e.magnificationFilter,pi.LINEAR),this._strict=void 0,this._template=void 0,this._count=void 0,this._texturePaths={},this._loadedImages=[],this._loadedCubeMaps=[],this._textures={},this._updateFunctions=[],this._defaultTexture=void 0,X1e(e,this),Object.defineProperties(this,{type:{value:this.type,writable:!1}}),l(je._uniformList[this.type])||(je._uniformList[this.type]=Object.keys(this._uniforms))}je._uniformList={};je.fromType=function(e,t){let n=new je({fabric:{type:e}});if(l(t))for(let i in t)t.hasOwnProperty(i)&&(n.uniforms[i]=t[i]);return n};je.prototype.isTranslucent=function(){if(l(this.translucent))return typeof this.translucent=="function"?this.translucent():this.translucent;let e=!0,t=this._translucentFunctions,n=t.length;for(let i=0;i<n;++i){let o=t[i];if(typeof o=="function"?e=e&&o():e=e&&o,!e)break}return e};je.prototype.update=function(e){this._defaultTexture=e.defaultTexture;let t,n,i=this._loadedImages,o=i.length;for(t=0;t<o;++t){let c=i[t];n=c.id;let u=c.image,f;Array.isArray(u)&&(f=u.slice(1,u.length).map(function(x){return x.bufferView}),u=u[0]);let d=new $t({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter}),p;l(u.internalFormat)?p=new Pt({context:e,pixelFormat:u.internalFormat,width:u.width,height:u.height,source:{arrayBufferView:u.bufferView,mipLevels:f},sampler:d}):p=new Pt({context:e,source:u,sampler:d});let g=this._textures[n];l(g)&&g!==this._defaultTexture&&g.destroy(),this._textures[n]=p;let m=`${n}Dimensions`;if(this.uniforms.hasOwnProperty(m)){let x=this.uniforms[m];x.x=p._width,x.y=p._height}}i.length=0;let r=this._loadedCubeMaps;for(o=r.length,t=0;t<o;++t){let c=r[t];n=c.id;let u=c.images,f=new Ir({context:e,source:{positiveX:u[0],negativeX:u[1],positiveY:u[2],negativeY:u[3],positiveZ:u[4],negativeZ:u[5]},sampler:new $t({minificationFilter:this._minificationFilter,magnificationFilter:this._magnificationFilter})});this._textures[n]=f}r.length=0;let s=this._updateFunctions;for(o=s.length,t=0;t<o;++t)s[t](this,e);let a=this.materials;for(let c in a)a.hasOwnProperty(c)&&a[c].update(e)};je.prototype.isDestroyed=function(){return!1};je.prototype.destroy=function(){let e=this._textures;for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];i!==this._defaultTexture&&i.destroy()}let t=this.materials;for(let n in t)t.hasOwnProperty(n)&&t[n].destroy();return ue(this)};function X1e(e,t){e=y(e,y.EMPTY_OBJECT),t._strict=y(e.strict,!1),t._count=y(e.count,0),t._template=We(y(e.fabric,y.EMPTY_OBJECT)),t._template.uniforms=We(y(t._template.uniforms,y.EMPTY_OBJECT)),t._template.materials=We(y(t._template.materials,y.EMPTY_OBJECT)),t.type=l(t._template.type)?t._template.type:Gn(),t.shaderSource="",t.materials={},t.uniforms={},t._uniforms={},t._translucentFunctions=[];let n,i=je._materialCache.getMaterial(t.type);if(l(i)){let r=We(i.fabric,!0);t._template=Ct(t._template,r,!0),n=i.translucent}Q1e(t),l(i)||je._materialCache.addMaterial(t.type,t),eOe(t),oOe(t),sOe(t);let o=t._translucentFunctions.length===0?!0:void 0;if(n=y(n,o),n=y(e.translucent,n),l(n))if(typeof n=="function"){let r=function(){return n(t)};t._translucentFunctions.push(r)}else t._translucentFunctions.push(n)}function L6(e,t,n,i){if(l(e)){for(let o in e)if(e.hasOwnProperty(o)){let r=t.indexOf(o)!==-1;(i&&!r||!i&&r)&&n(o,t)}}}function jee(e,t){}function K1e(e,t){}var Z1e=["type","materials","uniforms","components","source"],$1e=["diffuse","specular","shininess","normal","emission","alpha"];function Q1e(e){let t=e._template,n=t.uniforms,i=t.materials,o=t.components;L6(t,Z1e,jee,!0),L6(o,$1e,jee,!0);let r=[];for(let s in i)i.hasOwnProperty(s)&&r.push(s);L6(n,r,K1e,!1)}function J1e(e,t){let n=t._template.materials;for(let i in n)if(n.hasOwnProperty(i)&&e.indexOf(i)>-1)return!0;return!1}function eOe(e){let t=e._template.components,n=e._template.source;if(l(n))e.shaderSource+=`${n} `;else{if(e.shaderSource+=`czm_material czm_getMaterial(czm_materialInput materialInput) { `,e.shaderSource+=`czm_material material = czm_getDefaultMaterial(materialInput); -`,l(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&GPe(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s}; +`,l(t)){let i=Object.keys(e._template.materials).length>0;for(let o in t)if(t.hasOwnProperty(o))if(o==="diffuse"||o==="emission"){let s=i&&J1e(t[o],e)?t[o]:`czm_gammaCorrect(${t[o]})`;e.shaderSource+=`material.${o} = ${s}; `}else o==="alpha"?e.shaderSource+=`material.alpha = ${t.alpha}; `:e.shaderSource+=`material.${o} = ${t[o]}; `}e.shaderSource+=`return material; } -`}}var iee={mat2:Fi,mat3:Z,mat4:F},jPe=/\.ktx2$/i;function qPe(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!l(r)||r===je.DefaultImageId;t=r;let c=n._textures[e],u,f;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&l(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!l(c)||c===i.defaultTexture){let p=new tn({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new Mt({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else l(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof Mt&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];l(p)&&p!==n._defaultTexture&&!p.isDestroyed()&&n.autoDestroyOldTexture&&p.destroy(),n._textures[e]=r,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=r._width,f.y=r._height);return}if(s&&l(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),l(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=c._width,f.y=c._height)),a)return;let d=r instanceof ve;if(!l(n._texturePaths[e])||d&&r.url!==n._texturePaths[e].url||!d&&r!==n._texturePaths[e]){if(typeof r=="string"||d){let p=d?r:ve.createIfNeeded(r),g;jPe.test(p.url)?g=zl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(m){n._loadedImages.push({id:e,image:m})}).catch(function(){l(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function YPe(e){return function(t,n){let i=t.uniforms[e];if(i instanceof qa){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(l(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===je.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[ve.createIfNeeded(i.positiveX).fetchImage(),ve.createIfNeeded(i.negativeX).fetchImage(),ve.createIfNeeded(i.positiveY).fetchImage(),ve.createIfNeeded(i.negativeY).fetchImage(),ve.createIfNeeded(i.positiveZ).fetchImage(),ve.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function XPe(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&oee(e,n)}function oee(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=KPe(o),s;if(r==="channels")s=ow(e,t,o,!1);else{if(r==="sampler2D"){let u=`${t}Dimensions`;ZPe(e,u)>0&&(i[u]={type:"ivec3",x:1,y:1},oee(e,u))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let u=`uniform ${r} ${t};`;e.shaderSource=u+e.shaderSource}let c=`${t}_${e._count++}`;if(s=ow(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(qPe(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(YPe(t));else if(r.indexOf("mat")!==-1){let u=new iee[r];e._uniforms[c]=function(){return iee[r].fromColumnMajorArray(e.uniforms[t],u)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function KPe(e){let t=e.type;if(!l(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof ve||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof Mt)/^([rgba]){1,4}$/i.test(e)?t="channels":e===je.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function $Pe(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new je({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=xt(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;ow(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=ow(e,i,a)}}function ow(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,u,f){return u||f?c:(o+=1,n)}),o}function ZPe(e,t,n){return ow(e,t,t,n)}je._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};je.DefaultImageId="czm_defaultImage";je.DefaultCubeMapId="czm_defaultCubeMap";je.ColorType="Color";je._materialCache.addMaterial(je.ColorType,{fabric:{type:je.ColorType,uniforms:{color:new H(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});je.ImageType="Image";je._materialCache.addMaterial(je.ImageType,{fabric:{type:je.ImageType,uniforms:{image:je.DefaultImageId,repeat:new U(1,1),color:new H(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});je.DiffuseMapType="DiffuseMap";je._materialCache.addMaterial(je.DiffuseMapType,{fabric:{type:je.DiffuseMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",repeat:new U(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});je.AlphaMapType="AlphaMap";je._materialCache.addMaterial(je.AlphaMapType,{fabric:{type:je.AlphaMapType,uniforms:{image:je.DefaultImageId,channel:"a",repeat:new U(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});je.SpecularMapType="SpecularMap";je._materialCache.addMaterial(je.SpecularMapType,{fabric:{type:je.SpecularMapType,uniforms:{image:je.DefaultImageId,channel:"r",repeat:new U(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});je.EmissionMapType="EmissionMap";je._materialCache.addMaterial(je.EmissionMapType,{fabric:{type:je.EmissionMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",repeat:new U(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});je.BumpMapType="BumpMap";je._materialCache.addMaterial(je.BumpMapType,{fabric:{type:je.BumpMapType,uniforms:{image:je.DefaultImageId,channel:"r",strength:.8,repeat:new U(1,1)},source:YM},translucent:!1});je.NormalMapType="NormalMap";je._materialCache.addMaterial(je.NormalMapType,{fabric:{type:je.NormalMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",strength:.8,repeat:new U(1,1)},source:tL},translucent:!1});je.GridType="Grid";je._materialCache.addMaterial(je.GridType,{fabric:{type:je.GridType,uniforms:{color:new H(0,1,0,1),cellAlpha:.1,lineCount:new U(8,8),lineThickness:new U(1,1),lineOffset:new U(0,0)},source:eL},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});je.StripeType="Stripe";je._materialCache.addMaterial(je.StripeType,{fabric:{type:je.StripeType,uniforms:{horizontal:!0,evenColor:new H(1,1,1,.5),oddColor:new H(0,0,1,.5),offset:0,repeat:5},source:cL},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});je.CheckerboardType="Checkerboard";je._materialCache.addMaterial(je.CheckerboardType,{fabric:{type:je.CheckerboardType,uniforms:{lightColor:new H(1,1,1,.5),darkColor:new H(0,0,0,.5),repeat:new U(5,5)},source:XM},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});je.DotType="Dot";je._materialCache.addMaterial(je.DotType,{fabric:{type:je.DotType,uniforms:{lightColor:new H(1,1,0,.75),darkColor:new H(0,1,1,.75),repeat:new U(5,5)},source:KM},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});je.WaterType="Water";je._materialCache.addMaterial(je.WaterType,{fabric:{type:je.WaterType,uniforms:{baseWaterColor:new H(.2,.3,.6,1),blendColor:new H(0,1,.699,1),specularMap:je.DefaultImageId,normalMap:je.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:uL},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});je.RimLightingType="RimLighting";je._materialCache.addMaterial(je.RimLightingType,{fabric:{type:je.RimLightingType,uniforms:{color:new H(1,0,0,.7),rimColor:new H(1,1,1,.4),width:.3},source:sL},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});je.FadeType="Fade";je._materialCache.addMaterial(je.FadeType,{fabric:{type:je.FadeType,uniforms:{fadeInColor:new H(1,0,0,1),fadeOutColor:new H(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new U(.5,.5)},source:JM},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});je.PolylineArrowType="PolylineArrow";je._materialCache.addMaterial(je.PolylineArrowType,{fabric:{type:je.PolylineArrowType,uniforms:{color:new H(1,1,1,1)},source:nL},translucent:!0});je.PolylineDashType="PolylineDash";je._materialCache.addMaterial(je.PolylineDashType,{fabric:{type:je.PolylineDashType,uniforms:{color:new H(1,0,1,1),gapColor:new H(0,0,0,0),dashLength:16,dashPattern:255},source:iL},translucent:!0});je.PolylineGlowType="PolylineGlow";je._materialCache.addMaterial(je.PolylineGlowType,{fabric:{type:je.PolylineGlowType,uniforms:{color:new H(0,.5,1,1),glowPower:.25,taperPower:1},source:oL},translucent:!0});je.PolylineOutlineType="PolylineOutline";je._materialCache.addMaterial(je.PolylineOutlineType,{fabric:{type:je.PolylineOutlineType,uniforms:{color:new H(1,1,1,1),outlineColor:new H(1,0,0,1),outlineWidth:1},source:rL},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});je.ElevationContourType="ElevationContour";je._materialCache.addMaterial(je.ElevationContourType,{fabric:{type:je.ElevationContourType,uniforms:{spacing:100,color:new H(1,0,0,1),width:1},source:ZM},translucent:!1});je.ElevationRampType="ElevationRamp";je._materialCache.addMaterial(je.ElevationRampType,{fabric:{type:je.ElevationRampType,uniforms:{image:je.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:QM},translucent:!1});je.SlopeRampMaterialType="SlopeRamp";je._materialCache.addMaterial(je.SlopeRampMaterialType,{fabric:{type:je.SlopeRampMaterialType,uniforms:{image:je.DefaultImageId},source:aL},translucent:!1});je.AspectRampMaterialType="AspectRamp";je._materialCache.addMaterial(je.AspectRampMaterialType,{fabric:{type:je.AspectRampMaterialType,uniforms:{image:je.DefaultImageId},source:qM},translucent:!1});je.ElevationBandType="ElevationBand";je._materialCache.addMaterial(je.ElevationBandType,{fabric:{type:je.ElevationBandType,uniforms:{heights:je.DefaultImageId,colors:je.DefaultImageId},source:$M},translucent:!0});je.WaterMaskType="WaterMask";je._materialCache.addMaterial(je.WaterMaskType,{fabric:{type:je.WaterMaskType,source:lL,uniforms:{waterColor:new H(1,1,1,1),landColor:new H(0,0,0,0)}},translucent:!1});var ji=je;function M0(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,M0.MaterialSupport.TEXTURED);this.material=l(e.material)?e.material:ji.fromType(ji.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=eo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(M0.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});M0.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;M0.prototype.isTranslucent=eo.prototype.isTranslucent;M0.prototype.getRenderState=eo.prototype.getRenderState;M0.MaterialSupport={BASIC:Object.freeze({vertexFormat:Pe.POSITION_AND_NORMAL,vertexShaderSource:GM,fragmentShaderSource:HM}),TEXTURED:Object.freeze({vertexFormat:Pe.POSITION_NORMAL_AND_ST,vertexShaderSource:jM,fragmentShaderSource:WM}),ALL:Object.freeze({vertexFormat:Pe.ALL,vertexShaderSource:zM,fragmentShaderSource:UM})};var co=M0;var fL=`in vec3 v_positionEC; +`}}var qee={mat2:Pi,mat3:$,mat4:F},tOe=/\.ktx2$/i;function nOe(e){let t;return function(n,i){let o=n.uniforms,r=o[e],s=t!==r,a=!l(r)||r===je.DefaultImageId;t=r;let c=n._textures[e],u,f;if(r instanceof HTMLVideoElement){if(r.readyState>=2){if(s&&l(c)&&(c!==i.defaultTexture&&c.destroy(),c=void 0),!l(c)||c===i.defaultTexture){let p=new $t({minificationFilter:n._minificationFilter,magnificationFilter:n._magnificationFilter});c=new Pt({context:i,source:r,sampler:p}),n._textures[e]=c;return}c.copyFrom({source:r})}else l(c)||(n._textures[e]=i.defaultTexture);return}if(r instanceof Pt&&r!==c){n._texturePaths[e]=void 0;let p=n._textures[e];l(p)&&p!==n._defaultTexture&&!p.isDestroyed()&&n.autoDestroyOldTexture&&p.destroy(),n._textures[e]=r,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=r._width,f.y=r._height);return}if(s&&l(c)&&a&&(c!==n._defaultTexture&&c.destroy(),c=void 0),l(c)||(n._texturePaths[e]=void 0,c=n._textures[e]=n._defaultTexture,u=`${e}Dimensions`,o.hasOwnProperty(u)&&(f=o[u],f.x=c._width,f.y=c._height)),a)return;let d=r instanceof Ae;if(!l(n._texturePaths[e])||d&&r.url!==n._texturePaths[e].url||!d&&r!==n._texturePaths[e]){if(typeof r=="string"||d){let p=d?r:Ae.createIfNeeded(r),g;tOe.test(p.url)?g=Yl(p.url):g=p.fetchImage(),Promise.resolve(g).then(function(m){n._loadedImages.push({id:e,image:m})}).catch(function(){l(c)&&c!==n._defaultTexture&&c.destroy(),n._textures[e]=n._defaultTexture})}else(r instanceof HTMLCanvasElement||r instanceof HTMLImageElement)&&n._loadedImages.push({id:e,image:r});n._texturePaths[e]=r}}}function iOe(e){return function(t,n){let i=t.uniforms[e];if(i instanceof Ir){let r=t._textures[e];r!==t._defaultTexture&&r.destroy(),t._texturePaths[e]=void 0,t._textures[e]=i;return}if(l(t._textures[e])||(t._texturePaths[e]=void 0,t._textures[e]=n.defaultCubeMap),i===je.DefaultCubeMapId)return;let o=i.positiveX+i.negativeX+i.positiveY+i.negativeY+i.positiveZ+i.negativeZ;if(o!==t._texturePaths[e]){let r=[Ae.createIfNeeded(i.positiveX).fetchImage(),Ae.createIfNeeded(i.negativeX).fetchImage(),Ae.createIfNeeded(i.positiveY).fetchImage(),Ae.createIfNeeded(i.negativeY).fetchImage(),Ae.createIfNeeded(i.positiveZ).fetchImage(),Ae.createIfNeeded(i.negativeZ).fetchImage()];Promise.all(r).then(function(s){t._loadedCubeMaps.push({id:e,images:s})}),t._texturePaths[e]=o}}}function oOe(e){let t=e._template.uniforms;for(let n in t)t.hasOwnProperty(n)&&Yee(e,n)}function Yee(e,t){let n=e._strict,i=e._template.uniforms,o=i[t],r=rOe(o),s;if(r==="channels")s=_v(e,t,o,!1);else{if(r==="sampler2D"){let u=`${t}Dimensions`;aOe(e,u)>0&&(i[u]={type:"ivec3",x:1,y:1},Yee(e,u))}if(!new RegExp(`uniform\\s+${r}\\s+${t}\\s*;`).test(e.shaderSource)){let u=`uniform ${r} ${t};`;e.shaderSource=u+e.shaderSource}let c=`${t}_${e._count++}`;if(s=_v(e,t,c),e.uniforms[t]=o,r==="sampler2D")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(nOe(t));else if(r==="samplerCube")e._uniforms[c]=function(){return e._textures[t]},e._updateFunctions.push(iOe(t));else if(r.indexOf("mat")!==-1){let u=new qee[r];e._uniforms[c]=function(){return qee[r].fromColumnMajorArray(e.uniforms[t],u)}}else e._uniforms[c]=function(){return e.uniforms[t]}}}function rOe(e){let t=e.type;if(!l(t)){let n=typeof e;if(n==="number")t="float";else if(n==="boolean")t="bool";else if(n==="string"||e instanceof Ae||e instanceof HTMLCanvasElement||e instanceof HTMLImageElement||e instanceof Pt)/^([rgba]){1,4}$/i.test(e)?t="channels":e===je.DefaultCubeMapId?t="samplerCube":t="sampler2D";else if(n==="object")if(Array.isArray(e))(e.length===4||e.length===9||e.length===16)&&(t=`mat${Math.sqrt(e.length)}`);else{let i=0;for(let o in e)e.hasOwnProperty(o)&&(i+=1);i>=2&&i<=4?t=`vec${i}`:i===6&&(t="samplerCube")}}return t}function sOe(e){let t=e._strict,n=e._template.materials;for(let i in n)if(n.hasOwnProperty(i)){let o=new je({strict:t,fabric:n[i],count:e._count});e._count=o._count,e._uniforms=Ct(e._uniforms,o._uniforms,!0),e.materials[i]=o,e._translucentFunctions=e._translucentFunctions.concat(o._translucentFunctions);let r="czm_getMaterial",s=`${r}_${e._count++}`;_v(o,r,s),e.shaderSource=o.shaderSource+e.shaderSource;let a=`${s}(materialInput)`,c=_v(e,i,a)}}function _v(e,t,n,i){i=y(i,!0);let o=0,r="([\\w])?",s=`([\\w${i?".":""}])?`,a=new RegExp(s+t+r,"g");return e.shaderSource=e.shaderSource.replace(a,function(c,u,f){return u||f?c:(o+=1,n)}),o}function aOe(e,t,n){return _v(e,t,t,n)}je._materialCache={_materials:{},addMaterial:function(e,t){this._materials[e]=t},getMaterial:function(e){return this._materials[e]}};je.DefaultImageId="czm_defaultImage";je.DefaultCubeMapId="czm_defaultCubeMap";je.ColorType="Color";je._materialCache.addMaterial(je.ColorType,{fabric:{type:je.ColorType,uniforms:{color:new z(1,0,0,.5)},components:{diffuse:"color.rgb",alpha:"color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});je.ImageType="Image";je._materialCache.addMaterial(je.ImageType,{fabric:{type:je.ImageType,uniforms:{image:je.DefaultImageId,repeat:new U(1,1),color:new z(1,1,1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).rgb * color.rgb",alpha:"texture(image, fract(repeat * materialInput.st)).a * color.a"}},translucent:function(e){return e.uniforms.color.alpha<1}});je.DiffuseMapType="DiffuseMap";je._materialCache.addMaterial(je.DiffuseMapType,{fabric:{type:je.DiffuseMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",repeat:new U(1,1)},components:{diffuse:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});je.AlphaMapType="AlphaMap";je._materialCache.addMaterial(je.AlphaMapType,{fabric:{type:je.AlphaMapType,uniforms:{image:je.DefaultImageId,channel:"a",repeat:new U(1,1)},components:{alpha:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!0});je.SpecularMapType="SpecularMap";je._materialCache.addMaterial(je.SpecularMapType,{fabric:{type:je.SpecularMapType,uniforms:{image:je.DefaultImageId,channel:"r",repeat:new U(1,1)},components:{specular:"texture(image, fract(repeat * materialInput.st)).channel"}},translucent:!1});je.EmissionMapType="EmissionMap";je._materialCache.addMaterial(je.EmissionMapType,{fabric:{type:je.EmissionMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",repeat:new U(1,1)},components:{emission:"texture(image, fract(repeat * materialInput.st)).channels"}},translucent:!1});je.BumpMapType="BumpMap";je._materialCache.addMaterial(je.BumpMapType,{fabric:{type:je.BumpMapType,uniforms:{image:je.DefaultImageId,channel:"r",strength:.8,repeat:new U(1,1)},source:cL},translucent:!1});je.NormalMapType="NormalMap";je._materialCache.addMaterial(je.NormalMapType,{fabric:{type:je.NormalMapType,uniforms:{image:je.DefaultImageId,channels:"rgb",strength:.8,repeat:new U(1,1)},source:_L},translucent:!1});je.GridType="Grid";je._materialCache.addMaterial(je.GridType,{fabric:{type:je.GridType,uniforms:{color:new z(0,1,0,1),cellAlpha:.1,lineCount:new U(8,8),lineThickness:new U(1,1),lineOffset:new U(0,0)},source:pL},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.cellAlpha<1}});je.StripeType="Stripe";je._materialCache.addMaterial(je.StripeType,{fabric:{type:je.StripeType,uniforms:{horizontal:!0,evenColor:new z(1,1,1,.5),oddColor:new z(0,0,1,.5),offset:0,repeat:5},source:AL},translucent:function(e){let t=e.uniforms;return t.evenColor.alpha<1||t.oddColor.alpha<1}});je.CheckerboardType="Checkerboard";je._materialCache.addMaterial(je.CheckerboardType,{fabric:{type:je.CheckerboardType,uniforms:{lightColor:new z(1,1,1,.5),darkColor:new z(0,0,0,.5),repeat:new U(5,5)},source:lL},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});je.DotType="Dot";je._materialCache.addMaterial(je.DotType,{fabric:{type:je.DotType,uniforms:{lightColor:new z(1,1,0,.75),darkColor:new z(0,1,1,.75),repeat:new U(5,5)},source:uL},translucent:function(e){let t=e.uniforms;return t.lightColor.alpha<1||t.darkColor.alpha<1}});je.WaterType="Water";je._materialCache.addMaterial(je.WaterType,{fabric:{type:je.WaterType,uniforms:{baseWaterColor:new z(.2,.3,.6,1),blendColor:new z(0,1,.699,1),specularMap:je.DefaultImageId,normalMap:je.DefaultImageId,frequency:10,animationSpeed:.01,amplitude:1,specularIntensity:.5,fadeFactor:1},source:SL},translucent:function(e){let t=e.uniforms;return t.baseWaterColor.alpha<1||t.blendColor.alpha<1}});je.RimLightingType="RimLighting";je._materialCache.addMaterial(je.RimLightingType,{fabric:{type:je.RimLightingType,uniforms:{color:new z(1,0,0,.7),rimColor:new z(1,1,1,.4),width:.3},source:TL},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.rimColor.alpha<1}});je.FadeType="Fade";je._materialCache.addMaterial(je.FadeType,{fabric:{type:je.FadeType,uniforms:{fadeInColor:new z(1,0,0,1),fadeOutColor:new z(0,0,0,0),maximumDistance:.5,repeat:!0,fadeDirection:{x:!0,y:!0},time:new U(.5,.5)},source:mL},translucent:function(e){let t=e.uniforms;return t.fadeInColor.alpha<1||t.fadeOutColor.alpha<1}});je.PolylineArrowType="PolylineArrow";je._materialCache.addMaterial(je.PolylineArrowType,{fabric:{type:je.PolylineArrowType,uniforms:{color:new z(1,1,1,1)},source:gL},translucent:!0});je.PolylineDashType="PolylineDash";je._materialCache.addMaterial(je.PolylineDashType,{fabric:{type:je.PolylineDashType,uniforms:{color:new z(1,0,1,1),gapColor:new z(0,0,0,0),dashLength:16,dashPattern:255},source:yL},translucent:!0});je.PolylineGlowType="PolylineGlow";je._materialCache.addMaterial(je.PolylineGlowType,{fabric:{type:je.PolylineGlowType,uniforms:{color:new z(0,.5,1,1),glowPower:.25,taperPower:1},source:xL},translucent:!0});je.PolylineOutlineType="PolylineOutline";je._materialCache.addMaterial(je.PolylineOutlineType,{fabric:{type:je.PolylineOutlineType,uniforms:{color:new z(1,1,1,1),outlineColor:new z(1,0,0,1),outlineWidth:1},source:bL},translucent:function(e){let t=e.uniforms;return t.color.alpha<1||t.outlineColor.alpha<1}});je.ElevationContourType="ElevationContour";je._materialCache.addMaterial(je.ElevationContourType,{fabric:{type:je.ElevationContourType,uniforms:{spacing:100,color:new z(1,0,0,1),width:1},source:dL},translucent:!1});je.ElevationRampType="ElevationRamp";je._materialCache.addMaterial(je.ElevationRampType,{fabric:{type:je.ElevationRampType,uniforms:{image:je.DefaultImageId,minimumHeight:0,maximumHeight:1e4},source:hL},translucent:!1});je.SlopeRampMaterialType="SlopeRamp";je._materialCache.addMaterial(je.SlopeRampMaterialType,{fabric:{type:je.SlopeRampMaterialType,uniforms:{image:je.DefaultImageId},source:CL},translucent:!1});je.AspectRampMaterialType="AspectRamp";je._materialCache.addMaterial(je.AspectRampMaterialType,{fabric:{type:je.AspectRampMaterialType,uniforms:{image:je.DefaultImageId},source:aL},translucent:!1});je.ElevationBandType="ElevationBand";je._materialCache.addMaterial(je.ElevationBandType,{fabric:{type:je.ElevationBandType,uniforms:{heights:je.DefaultImageId,colors:je.DefaultImageId},source:fL},translucent:!0});je.WaterMaskType="WaterMask";je._materialCache.addMaterial(je.WaterMaskType,{fabric:{type:je.WaterMaskType,source:EL,uniforms:{waterColor:new z(1,1,1,1),landColor:new z(0,0,0,0)}},translucent:!1});var Yi=je;function K0(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.materialSupport,K0.MaterialSupport.TEXTURED);this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i.vertexShaderSource),this._fragmentShaderSource=y(e.fragmentShaderSource,i.fragmentShaderSource),this._renderState=oo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._materialSupport=i,this._vertexFormat=i.vertexFormat,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,!n)}Object.defineProperties(K0.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},materialSupport:{get:function(){return this._materialSupport}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});K0.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;K0.prototype.isTranslucent=oo.prototype.isTranslucent;K0.prototype.getRenderState=oo.prototype.getRenderState;K0.MaterialSupport={BASIC:Object.freeze({vertexFormat:Pe.POSITION_AND_NORMAL,vertexShaderSource:oL,fragmentShaderSource:iL}),TEXTURED:Object.freeze({vertexFormat:Pe.POSITION_NORMAL_AND_ST,vertexShaderSource:sL,fragmentShaderSource:rL}),ALL:Object.freeze({vertexFormat:Pe.ALL,vertexShaderSource:nL,fragmentShaderSource:tL})};var lo=K0;var vL=`in vec3 v_positionEC; in vec3 v_normalEC; in vec4 v_color; @@ -4648,7 +4693,7 @@ void main() out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); } -`;var dL=`in vec3 position3DHigh; +`;var wL=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 normal; in vec4 color; @@ -4668,13 +4713,13 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;var PT=`in vec4 v_color; +`;var GT=`in vec4 v_color; void main() { out_FragColor = czm_gammaCorrect(v_color); } -`;var hL=`in vec3 position3DHigh; +`;var DL=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 color; in float batchId; @@ -4689,7 +4734,7 @@ void main() gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;function cp(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?hL:dL,r=i?PT:fL,s=i?cp.FLAT_VERTEX_FORMAT:cp.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=eo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(cp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});cp.VERTEX_FORMAT=Pe.POSITION_AND_NORMAL;cp.FLAT_VERTEX_FORMAT=Pe.POSITION_ONLY;cp.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;cp.prototype.isTranslucent=eo.prototype.isTranslucent;cp.prototype.getRenderState=eo.prototype.getRenderState;var un=cp;function RT(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(RT.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});RT.prototype.getType=function(e){return"Color"};var QPe=new K;RT.prototype.getValue=function(e,t){return l(e)||(e=K.now(QPe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,H.WHITE,t.color),t};RT.prototype.equals=function(e){return this===e||e instanceof RT&&q.equals(this._color,e._color)};var Ht=RT;function q_(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._rectangle=y(e.rectangle,se.MAX_VALUE),this._projection=new vi(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties(q_.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});q_.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};q_.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};q_.prototype.rectangleToNativeRectangle=function(e,t){let n=P.toDegrees(e.west),i=P.toDegrees(e.south),o=P.toDegrees(e.east),r=P.toDegrees(e.north);return l(t)?(t.west=n,t.south=i,t.east=o,t.north=r,t):new se(n,i,o,r)};q_.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.tileXYToRectangle(e,t,n,i);return o.west=P.toDegrees(o.west),o.south=P.toDegrees(o.south),o.east=P.toDegrees(o.east),o.north=P.toDegrees(o.north),o};q_.prototype.tileXYToRectangle=function(e,t,n,i){let o=this._rectangle,r=this.getNumberOfXTilesAtLevel(n),s=this.getNumberOfYTilesAtLevel(n),a=o.width/r,c=e*a+o.west,u=(e+1)*a+o.west,f=o.height/s,d=o.north-t*f,p=o.north-(t+1)*f;return l(i)||(i=new se(c,p,u,d)),i.west=c,i.south=p,i.east=u,i.north=d,i};q_.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!se.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),s=i.width/o,a=i.height/r,c=e.longitude;i.east<i.west&&(c+=P.TWO_PI);let u=(c-i.west)/s|0;u>=o&&(u=o-1);let f=(i.north-e.latitude)/a|0;return f>=r&&(f=r-1),l(n)?(n.x=u,n.y=f,n):new U(u,f)};var qi=q_;var ree=new h,see=new h,aee=new fe,l6=new h,JPe=new h,cee=new ae,e1e=new qi,rw=[new fe,new fe,new fe,new fe],sw=new U,Vr={};Vr.initialize=function(){let e=Vr._initPromise;return l(e)||(e=ve.fetchJson(on("Assets/approximateTerrainHeights.json")).then(function(t){Vr._terrainHeights=t}),Vr._initPromise=e),e};Vr.getMinimumMaximumHeights=function(e,t){t=y(t,ee.default);let n=lee(e),i=Vr._defaultMinTerrainHeight,o=Vr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Vr._terrainHeights[r];l(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(se.northeast(e,aee),ree),t.cartographicToCartesian(se.southwest(e,aee),see),h.midpoint(see,ree,l6);let a=t.scaleToGeodeticSurface(l6,JPe);if(l(a)){let c=h.distance(l6,a);i=Math.min(i,-c)}else i=Vr._defaultMinTerrainHeight}return i=Math.max(Vr._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};Vr.getBoundingSphere=function(e,t){t=y(t,ee.default);let n=lee(e),i=Vr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=Vr._terrainHeights[r];l(s)&&(i=s[1])}let o=ae.fromRectangle3D(e,t,0);return ae.fromRectangle3D(e,t,i,cee),ae.union(o,cee,o)};function lee(e){fe.fromRadians(e.east,e.north,0,rw[0]),fe.fromRadians(e.west,e.north,0,rw[1]),fe.fromRadians(e.east,e.south,0,rw[2]),fe.fromRadians(e.west,e.south,0,rw[3]);let t=0,n=0,i=0,o=0,r=Vr._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let u=rw[c];if(e1e.positionToTileXY(u,s,sw),c===0)i=sw.x,o=sw.y;else if(i!==sw.x||o!==sw.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}Vr._terrainHeightsMaxLevel=6;Vr._defaultMaxTerrainHeight=9e3;Vr._defaultMinTerrainHeight=-1e5;Vr._terrainHeights=void 0;Vr._initPromise=void 0;Object.defineProperties(Vr,{initialized:{get:function(){return l(Vr._terrainHeights)}}});var li=Vr;function Ec(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),l(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}Ec.fromCorners=function(e,t,n){return l(n)||(n=new Ec),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};Ec.fromPoints=function(e,t){if(l(t)||(t=new Ec),!l(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let d=1;d<c;d++){let p=e[d],g=p.x,m=p.y,x=p.z;n=Math.min(g,n),r=Math.max(g,r),i=Math.min(m,i),s=Math.max(m,s),o=Math.min(x,o),a=Math.max(x,a)}let u=t.minimum;u.x=n,u.y=i,u.z=o;let f=t.maximum;return f.x=r,f.y=s,f.z=a,t.center=h.midpoint(u,f,t.center),t};Ec.clone=function(e,t){if(l(e))return l(t)?(t.minimum=h.clone(e.minimum,t.minimum),t.maximum=h.clone(e.maximum,t.maximum),t.center=h.clone(e.center,t.center),t):new Ec(e.minimum,e.maximum,e.center)};Ec.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&h.equals(e.minimum,t.minimum)&&h.equals(e.maximum,t.maximum)};var mL=new h;Ec.intersectPlane=function(e,t){mL=h.subtract(e.maximum,e.minimum,mL);let n=h.multiplyByScalar(mL,.5,mL),i=t.normal,o=n.x*Math.abs(i.x)+n.y*Math.abs(i.y)+n.z*Math.abs(i.z),r=h.dot(e.center,i)+t.distance;return r-o>0?qt.INSIDE:r+o<0?qt.OUTSIDE:qt.INTERSECTING};Ec.prototype.clone=function(e){return Ec.clone(this,e)};Ec.prototype.intersectPlane=function(e){return Ec.intersectPlane(this,e)};Ec.prototype.equals=function(e){return Ec.equals(this,e)};var L0=Ec;var u6={};u6.computeDiscriminant=function(e,t,n){return t*t-4*e*n};function uee(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}u6.computeRealRoots=function(e,t,n){let i;if(e===0)return t===0?[]:[-n/t];if(t===0){if(n===0)return[0,0];let c=Math.abs(n),u=Math.abs(e);if(c<u&&c/u<P.EPSILON14)return[0,0];if(c>u&&u/c<P.EPSILON14)return[];if(i=-n/e,i<0)return[];let f=Math.sqrt(i);return[-f,f]}else if(n===0)return i=-t/e,i<0?[i,0]:[0,i];let o=t*t,r=4*e*n,s=uee(o,-r,P.EPSILON14);if(s<0)return[];let a=-.5*uee(t,P.sign(t)*Math.sqrt(s),P.EPSILON14);return t>0?[a/e,n/a]:[n/a,a/e]};var al=u6;var d6={};d6.computeDiscriminant=function(e,t,n,i){let o=e*e,r=t*t,s=n*n,a=i*i;return 18*e*t*n*i+r*s-27*o*a-4*(e*s*n+r*t*i)};function f6(e,t,n,i){let o=e,r=t/3,s=n/3,a=i,c=o*s,u=r*a,f=r*r,d=s*s,p=o*s-f,g=o*a-r*s,m=r*a-d,x=4*p*m-g*g,b,T;if(x<0){let Y,W,J;f*u>=c*d?(Y=o,W=p,J=-2*r*p+o*g):(Y=a,W=m,J=-a*g+2*s*m);let $=-(J<0?-1:1)*Math.abs(Y)*Math.sqrt(-x);T=-J+$;let Q=T/2,he=Q<0?-Math.pow(-Q,1/3):Math.pow(Q,1/3),ye=T===$?-he:-W/he;return b=W<=0?he+ye:-J/(he*he+ye*ye+W),f*u>=c*d?[(b-r)/o]:[-a/(b+s)]}let C=p,A=-2*r*p+o*g,S=m,w=-a*g+2*s*m,D=Math.sqrt(x),O=Math.sqrt(3)/2,R=Math.abs(Math.atan2(o*D,-A)/3);b=2*Math.sqrt(-C);let M=Math.cos(R);T=b*M;let L=b*(-M/2-O*Math.sin(R)),_=T+L>2*r?T-r:L-r,E=o,v=_/E;R=Math.abs(Math.atan2(a*D,-w)/3),b=2*Math.sqrt(-S),M=Math.cos(R),T=b*M,L=b*(-M/2-O*Math.sin(R));let I=-a,N=T+L<2*s?T+s:L+s,B=I/N,z=E*N,V=-_*N-E*I,G=_*I,k=(s*V-r*G)/(-r*V+s*z);return v<=k?v<=B?k<=B?[v,k,B]:[v,B,k]:[B,v,k]:v<=B?[k,v,B]:k<=B?[k,B,v]:[B,k,v]}d6.computeRealRoots=function(e,t,n,i){let o,r;if(e===0)return al.computeRealRoots(t,n,i);if(t===0){if(n===0){if(i===0)return[0,0,0];r=-i/e;let s=r<0?-Math.pow(-r,1/3):Math.pow(r,1/3);return[s,s,s]}else if(i===0)return o=al.computeRealRoots(e,0,n),o.Length===0?[0]:[o[0],0,o[1]];return f6(e,0,n,i)}else{if(n===0)return i===0?(r=-t/e,r<0?[r,0,0]:[0,0,r]):f6(e,t,0,i);if(i===0)return o=al.computeRealRoots(e,t,n),o.length===0?[0]:o[1]<=0?[o[0],o[1],0]:o[0]>=0?[0,o[0],o[1]]:[o[0],0,o[1]]}return f6(e,t,n,i)};var OT=d6;var h6={};h6.computeDiscriminant=function(e,t,n,i,o){let r=e*e,s=r*e,a=t*t,c=a*t,u=n*n,f=u*n,d=i*i,p=d*i,g=o*o,m=g*o;return a*u*d-4*c*p-4*e*f*d+18*e*t*n*p-27*r*d*d+256*s*m+o*(18*c*n*i-4*a*f+16*e*u*u-80*e*t*u*i-6*e*a*d+144*r*n*d)+g*(144*e*a*n-27*a*a-128*r*u-192*r*t*i)};function sd(e,t,n,i){let o=e*e,r=t-3*o/8,s=n-t*e/2+o*e/8,a=i-n*e/4+t*o/16-3*o*o/256,c=OT.computeRealRoots(1,2*r,r*r-4*a,-s*s);if(c.length>0){let u=-e/4,f=c[c.length-1];if(Math.abs(f)<P.EPSILON14){let d=al.computeRealRoots(1,r,a);if(d.length===2){let p=d[0],g=d[1],m;if(p>=0&&g>=0){let x=Math.sqrt(p),b=Math.sqrt(g);return[u-b,u-x,u+x,u+b]}else{if(p>=0&&g<0)return m=Math.sqrt(p),[u-m,u+m];if(p<0&&g>=0)return m=Math.sqrt(g),[u-m,u+m]}}return[]}else if(f>0){let d=Math.sqrt(f),p=(r+f-s/d)/2,g=(r+f+s/d)/2,m=al.computeRealRoots(1,d,p),x=al.computeRealRoots(1,-d,g);return m.length!==0?(m[0]+=u,m[1]+=u,x.length!==0?(x[0]+=u,x[1]+=u,m[1]<=x[0]?[m[0],m[1],x[0],x[1]]:x[1]<=m[0]?[x[0],x[1],m[0],m[1]]:m[0]>=x[0]&&m[1]<=x[1]?[x[0],m[0],m[1],x[1]]:x[0]>=m[0]&&x[1]<=m[1]?[m[0],x[0],x[1],m[1]]:m[0]>x[0]&&m[0]<x[1]?[x[0],m[0],x[1],m[1]]:[m[0],x[0],m[1],x[1]]):m):x.length!==0?(x[0]+=u,x[1]+=u,x):[]}}return[]}function aw(e,t,n,i){let o=n*n,r=t*t,s=e*e,a=-2*t,c=n*e+r-4*i,u=s*i-n*t*e+o,f=OT.computeRealRoots(1,a,c,u);if(f.length>0){let d=f[0],p=t-d,g=p*p,m=e/2,x=p/2,b=g-4*i,T=g+4*Math.abs(i),C=s-4*d,A=s+4*Math.abs(d),S,w;if(d<0||b*A<C*T){let E=Math.sqrt(C);S=E/2,w=E===0?0:(e*x-n)/E}else{let E=Math.sqrt(b);S=E===0?0:(e*x-n)/E,w=E/2}let D,O;m===0&&S===0?(D=0,O=0):P.sign(m)===P.sign(S)?(D=m+S,O=d/D):(O=m-S,D=d/O);let R,M;x===0&&w===0?(R=0,M=0):P.sign(x)===P.sign(w)?(R=x+w,M=i/R):(M=x-w,R=i/M);let L=al.computeRealRoots(1,D,R),_=al.computeRealRoots(1,O,M);if(L.length!==0)return _.length!==0?L[1]<=_[0]?[L[0],L[1],_[0],_[1]]:_[1]<=L[0]?[_[0],_[1],L[0],L[1]]:L[0]>=_[0]&&L[1]<=_[1]?[_[0],L[0],L[1],_[1]]:_[0]>=L[0]&&_[1]<=L[1]?[L[0],_[0],_[1],L[1]]:L[0]>_[0]&&L[0]<_[1]?[_[0],L[0],_[1],L[1]]:[L[0],_[0],L[1],_[1]]:L;if(_.length!==0)return _}return[]}h6.computeRealRoots=function(e,t,n,i,o){if(Math.abs(e)<P.EPSILON15)return OT.computeRealRoots(t,n,i,o);let r=t/e,s=n/e,a=i/e,c=o/e,u=r<0?1:0;switch(u+=s<0?u+1:u,u+=a<0?u+1:u,u+=c<0?u+1:u,u){case 0:return sd(r,s,a,c);case 1:return aw(r,s,a,c);case 2:return aw(r,s,a,c);case 3:return sd(r,s,a,c);case 4:return sd(r,s,a,c);case 5:return aw(r,s,a,c);case 6:return sd(r,s,a,c);case 7:return sd(r,s,a,c);case 8:return aw(r,s,a,c);case 9:return sd(r,s,a,c);case 10:return sd(r,s,a,c);case 11:return aw(r,s,a,c);case 12:return sd(r,s,a,c);case 13:return sd(r,s,a,c);case 14:return sd(r,s,a,c);case 15:return sd(r,s,a,c);default:return}};var pL=h6;function _L(e,t){t=h.clone(y(t,h.ZERO)),h.equals(t,h.ZERO)||h.normalize(t,t),this.origin=h.clone(y(e,h.ZERO)),this.direction=t}_L.clone=function(e,t){if(l(e))return l(t)?(t.origin=h.clone(e.origin),t.direction=h.clone(e.direction),t):new _L(e.origin,e.direction)};_L.getPoint=function(e,t,n){return l(n)||(n=new h),n=h.multiplyByScalar(e.direction,t,n),h.add(e.origin,n,n)};var _n=_L;var Ro={};Ro.rayPlane=function(e,t,n){l(n)||(n=new h);let i=e.origin,o=e.direction,r=t.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON15)return;let a=(-t.distance-h.dot(r,i))/s;if(!(a<0))return n=h.multiplyByScalar(o,a,n),h.add(i,n,n)};var t1e=new h,n1e=new h,yee=new h,fee=new h,dee=new h;Ro.rayTriangleParametric=function(e,t,n,i,o){o=y(o,!1);let r=e.origin,s=e.direction,a=h.subtract(n,t,t1e),c=h.subtract(i,t,n1e),u=h.cross(s,c,yee),f=h.dot(a,u),d,p,g,m,x;if(o){if(f<P.EPSILON6||(d=h.subtract(r,t,fee),g=h.dot(d,u),g<0||g>f)||(p=h.cross(d,a,dee),m=h.dot(s,p),m<0||g+m>f))return;x=h.dot(c,p)/f}else{if(Math.abs(f)<P.EPSILON6)return;let b=1/f;if(d=h.subtract(r,t,fee),g=h.dot(d,u)*b,g<0||g>1||(p=h.cross(d,a,dee),m=h.dot(s,p)*b,m<0||g+m>1))return;x=h.dot(c,p)*b}return x};Ro.rayTriangle=function(e,t,n,i,o,r){let s=Ro.rayTriangleParametric(e,t,n,i,o);if(!(!l(s)||s<0))return l(r)||(r=new h),h.multiplyByScalar(e.direction,s,r),h.add(e.origin,r,r)};var i1e=new _n;Ro.lineSegmentTriangle=function(e,t,n,i,o,r,s){let a=i1e;h.clone(e,a.origin),h.subtract(t,e,a.direction),h.normalize(a.direction,a.direction);let c=Ro.rayTriangleParametric(a,n,i,o,r);if(!(!l(c)||c<0||c>h.distance(e,t)))return l(s)||(s=new h),h.multiplyByScalar(a.direction,c,s),h.add(a.origin,s,s)};function o1e(e,t,n,i){let o=t*t-4*e*n;if(o<0)return;if(o>0){let s=1/(2*e),a=Math.sqrt(o),c=(-t+a)*s,u=(-t-a)*s;return c<u?(i.root0=c,i.root1=u):(i.root0=u,i.root1=c),i}let r=-t/(2*e);if(r!==0)return i.root0=i.root1=r,i}var r1e={root0:0,root1:0};function xee(e,t,n){l(n)||(n=new Ya);let i=e.origin,o=e.direction,r=t.center,s=t.radius*t.radius,a=h.subtract(i,r,yee),c=h.dot(o,o),u=2*h.dot(o,a),f=h.magnitudeSquared(a)-s,d=o1e(c,u,f,r1e);if(l(d))return n.start=d.root0,n.stop=d.root1,n}Ro.raySphere=function(e,t,n){if(n=xee(e,t,n),!(!l(n)||n.stop<0))return n.start=Math.max(n.start,0),n};var s1e=new _n;Ro.lineSegmentSphere=function(e,t,n,i){let o=s1e;h.clone(e,o.origin);let r=h.subtract(t,e,o.direction),s=h.magnitude(r);if(h.normalize(r,r),i=xee(o,n,i),!(!l(i)||i.stop<0||i.start>s))return i.start=Math.max(i.start,0),i.stop=Math.min(i.stop,s),i};var a1e=new h,c1e=new h;Ro.rayEllipsoid=function(e,t){let n=t.oneOverRadii,i=h.multiplyComponents(n,e.origin,a1e),o=h.multiplyComponents(n,e.direction,c1e),r=h.magnitudeSquared(i),s=h.dot(i,o),a,c,u,f,d;if(r>1){if(s>=0)return;let p=s*s;if(a=r-1,c=h.magnitudeSquared(o),u=c*a,p<u)return;if(p>u){f=s*s-u,d=-s+Math.sqrt(f);let m=d/c,x=a/d;return m<x?new Ya(m,x):{start:x,stop:m}}let g=Math.sqrt(a/c);return new Ya(g,g)}else if(r<1)return a=r-1,c=h.magnitudeSquared(o),u=c*a,f=s*s-u,d=-s+Math.sqrt(f),new Ya(0,d/c);if(s<0)return c=h.magnitudeSquared(o),new Ya(0,-s/c)};function N0(e,t,n){let i=e+t;return P.sign(e)!==P.sign(t)&&Math.abs(i/Math.max(Math.abs(e),Math.abs(t)))<n?0:i}Ro.quadraticVectorExpression=function(e,t,n,i,o){let r=i*i,s=o*o,a=(e[Z.COLUMN1ROW1]-e[Z.COLUMN2ROW2])*s,c=o*(i*N0(e[Z.COLUMN1ROW0],e[Z.COLUMN0ROW1],P.EPSILON15)+t.y),u=e[Z.COLUMN0ROW0]*r+e[Z.COLUMN2ROW2]*s+i*t.x+n,f=s*N0(e[Z.COLUMN2ROW1],e[Z.COLUMN1ROW2],P.EPSILON15),d=o*(i*N0(e[Z.COLUMN2ROW0],e[Z.COLUMN0ROW2])+t.z),p,g=[];if(d===0&&f===0){if(p=al.computeRealRoots(a,c,u),p.length===0)return g;let R=p[0],M=Math.sqrt(Math.max(1-R*R,0));if(g.push(new h(i,o*R,o*-M)),g.push(new h(i,o*R,o*M)),p.length===2){let L=p[1],_=Math.sqrt(Math.max(1-L*L,0));g.push(new h(i,o*L,o*-_)),g.push(new h(i,o*L,o*_))}return g}let m=d*d,x=f*f,b=a*a,T=d*f,C=b+x,A=2*(c*a+T),S=2*u*a+c*c-x+m,w=2*(u*c-T),D=u*u-m;if(C===0&&A===0&&S===0&&w===0)return g;p=pL.computeRealRoots(C,A,S,w,D);let O=p.length;if(O===0)return g;for(let R=0;R<O;++R){let M=p[R],L=M*M,_=Math.max(1-L,0),E=Math.sqrt(_),v;P.sign(a)===P.sign(u)?v=N0(a*L+u,c*M,P.EPSILON12):P.sign(u)===P.sign(c*M)?v=N0(a*L,c*M+u,P.EPSILON12):v=N0(a*L+c*M,u,P.EPSILON12);let I=N0(f*M,d,P.EPSILON15),N=v*I;N<0?g.push(new h(i,o*M,o*E)):N>0?g.push(new h(i,o*M,o*-E)):E!==0?(g.push(new h(i,o*M,o*-E)),g.push(new h(i,o*M,o*E)),++R):g.push(new h(i,o*M,o*E))}return g};var m6=new h,hee=new h,mee=new h,gL=new h,l1e=new h,u1e=new Z,f1e=new Z,d1e=new Z,h1e=new Z,m1e=new Z,pee=new Z,_ee=new Z,gee=new h,p1e=new h,_1e=new fe;Ro.grazingAltitudeLocation=function(e,t){let n=e.origin,i=e.direction;if(!h.equals(n,h.ZERO)){let D=t.geodeticSurfaceNormal(n,m6);if(h.dot(i,D)>=0)return n}let o=l(this.rayEllipsoid(e,t)),r=t.transformPositionToScaledSpace(i,m6),s=h.normalize(r,r),a=h.mostOrthogonalAxis(r,gL),c=h.normalize(h.cross(a,s,hee),hee),u=h.normalize(h.cross(s,c,mee),mee),f=u1e;f[0]=s.x,f[1]=s.y,f[2]=s.z,f[3]=c.x,f[4]=c.y,f[5]=c.z,f[6]=u.x,f[7]=u.y,f[8]=u.z;let d=Z.transpose(f,f1e),p=Z.fromScale(t.radii,d1e),g=Z.fromScale(t.oneOverRadii,h1e),m=m1e;m[0]=0,m[1]=-i.z,m[2]=i.y,m[3]=i.z,m[4]=0,m[5]=-i.x,m[6]=-i.y,m[7]=i.x,m[8]=0;let x=Z.multiply(Z.multiply(d,g,pee),m,pee),b=Z.multiply(Z.multiply(x,p,_ee),f,_ee),T=Z.multiplyByVector(x,n,l1e),C=Ro.quadraticVectorExpression(b,h.negate(T,m6),0,0,1),A,S,w=C.length;if(w>0){let D=h.clone(h.ZERO,p1e),O=Number.NEGATIVE_INFINITY;for(let M=0;M<w;++M){A=Z.multiplyByVector(p,Z.multiplyByVector(f,C[M],gee),gee);let L=h.normalize(h.subtract(A,n,gL),gL),_=h.dot(L,i);_>O&&(O=_,D=h.clone(A,D))}let R=t.cartesianToCartographic(D,_1e);return O=P.clamp(O,0,1),S=h.magnitude(h.subtract(D,n,gL))*Math.sqrt(1-O*O),S=o?-S:S,R.height=S,t.cartographicToCartesian(R,new h)}};var g1e=new h;Ro.lineSegmentPlane=function(e,t,n,i){l(i)||(i=new h);let o=h.subtract(t,e,g1e),r=n.normal,s=h.dot(r,o);if(Math.abs(s)<P.EPSILON6)return;let a=h.dot(r,e),c=-(n.distance+a)/s;if(!(c<0||c>1))return h.multiplyByScalar(o,c,i),h.add(e,i,i),i};Ro.trianglePlaneIntersection=function(e,t,n,i){let o=i.normal,r=i.distance,s=h.dot(o,e)+r<0,a=h.dot(o,t)+r<0,c=h.dot(o,n)+r<0,u=0;u+=s?1:0,u+=a?1:0,u+=c?1:0;let f,d;if((u===1||u===2)&&(f=new h,d=new h),u===1){if(s)return Ro.lineSegmentPlane(e,t,i,f),Ro.lineSegmentPlane(e,n,i,d),{positions:[e,t,n,f,d],indices:[0,3,4,1,2,4,1,4,3]};if(a)return Ro.lineSegmentPlane(t,n,i,f),Ro.lineSegmentPlane(t,e,i,d),{positions:[e,t,n,f,d],indices:[1,3,4,2,0,4,2,4,3]};if(c)return Ro.lineSegmentPlane(n,e,i,f),Ro.lineSegmentPlane(n,t,i,d),{positions:[e,t,n,f,d],indices:[2,3,4,0,1,4,0,4,3]}}else if(u===2)if(s)if(a){if(!c)return Ro.lineSegmentPlane(e,n,i,f),Ro.lineSegmentPlane(t,n,i,d),{positions:[e,t,n,f,d],indices:[0,1,4,0,4,3,2,3,4]}}else return Ro.lineSegmentPlane(n,t,i,f),Ro.lineSegmentPlane(e,t,i,d),{positions:[e,t,n,f,d],indices:[2,0,4,2,4,3,1,3,4]};else return Ro.lineSegmentPlane(t,e,i,f),Ro.lineSegmentPlane(n,e,i,d),{positions:[e,t,n,f,d],indices:[1,2,4,1,4,3,0,3,4]}};var Jn=Ro;var p6=new oe;function vh(e,t){t=y(t,ee.default),e=t.scaleToGeodeticSurface(e);let n=Bt.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(F.getColumn(n,0,p6)),this._yAxis=h.fromCartesian4(F.getColumn(n,1,p6));let i=h.fromCartesian4(F.getColumn(n,2,p6));this._plane=cn.fromPointNormal(e,i)}Object.defineProperties(vh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var y1e=new L0;vh.fromPoints=function(e,t){let n=L0.fromPoints(e,y1e);return new vh(n.center,t)};var bee=new _n,yL=new h;vh.prototype.projectPointOntoPlane=function(e,t){let n=bee;n.origin=e,h.normalize(e,n.direction);let i=Jn.rayPlane(n,this._plane,yL);if(l(i)||(h.negate(n.direction,n.direction),i=Jn.rayPlane(n,this._plane,yL)),l(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return l(t)?(t.x=r,t.y=s,t):new U(r,s)}};vh.prototype.projectPointsOntoPlane=function(e,t){l(t)||(t=[]);let n=0,i=e.length;for(let o=0;o<i;o++){let r=this.projectPointOntoPlane(e[o],t[n]);l(r)&&(t[n]=r,n++)}return t.length=n,t};vh.prototype.projectPointToNearestOnPlane=function(e,t){l(t)||(t=new U);let n=bee;n.origin=e,h.clone(this._plane.normal,n.direction);let i=Jn.rayPlane(n,this._plane,yL);l(i)||(h.negate(n.direction,n.direction),i=Jn.rayPlane(n,this._plane,yL));let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return t.x=r,t.y=s,t};vh.prototype.projectPointsToNearestOnPlane=function(e,t){l(t)||(t=[]);let n=e.length;t.length=n;for(let i=0;i<n;i++)t[i]=this.projectPointToNearestOnPlane(e[i],t[i]);return t};var x1e=new h;vh.prototype.projectPointOntoEllipsoid=function(e,t){l(t)||(t=new h);let n=this._ellipsoid,i=this._origin,o=this._xAxis,r=this._yAxis,s=x1e;return h.multiplyByScalar(o,e.x,s),t=h.add(i,s,t),h.multiplyByScalar(r,e.y,s),h.add(t,s,t),n.scaleToGeocentricSurface(t,t),t};vh.prototype.projectPointsOntoEllipsoid=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.projectPointOntoEllipsoid(e[i],t[i]);return t};var Jr=vh;function Di(e,t){this.center=h.clone(y(e,h.ZERO)),this.halfAxes=Z.clone(y(t,Z.ZERO))}Di.packedLength=h.packedLength+Z.packedLength;Di.pack=function(e,t,n){return n=y(n,0),h.pack(e.center,t,n),Z.pack(e.halfAxes,t,n+h.packedLength),t};Di.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Di),h.unpack(e,t,n.center),Z.unpack(e,t+h.packedLength,n.halfAxes),n};var b1e=new h,T1e=new h,C1e=new h,A1e=new h,E1e=new h,S1e=new h,w1e=new Z,v1e={unitary:new Z,diagonal:new Z};Di.fromPoints=function(e,t){if(l(t)||(t=new Di),!l(e)||e.length===0)return t.halfAxes=Z.ZERO,t.center=h.ZERO,t;let n,i=e.length,o=h.clone(e[0],b1e);for(n=1;n<i;n++)h.add(o,e[n],o);let r=1/i;h.multiplyByScalar(o,r,o);let s=0,a=0,c=0,u=0,f=0,d=0,p;for(n=0;n<i;n++)p=h.subtract(e[n],o,T1e),s+=p.x*p.x,a+=p.x*p.y,c+=p.x*p.z,u+=p.y*p.y,f+=p.y*p.z,d+=p.z*p.z;s*=r,a*=r,c*=r,u*=r,f*=r,d*=r;let g=w1e;g[0]=s,g[1]=a,g[2]=c,g[3]=a,g[4]=u,g[5]=f,g[6]=c,g[7]=f,g[8]=d;let m=Z.computeEigenDecomposition(g,v1e),x=Z.clone(m.unitary,t.halfAxes),b=Z.getColumn(x,0,A1e),T=Z.getColumn(x,1,E1e),C=Z.getColumn(x,2,S1e),A=-Number.MAX_VALUE,S=-Number.MAX_VALUE,w=-Number.MAX_VALUE,D=Number.MAX_VALUE,O=Number.MAX_VALUE,R=Number.MAX_VALUE;for(n=0;n<i;n++)p=e[n],A=Math.max(h.dot(b,p),A),S=Math.max(h.dot(T,p),S),w=Math.max(h.dot(C,p),w),D=Math.min(h.dot(b,p),D),O=Math.min(h.dot(T,p),O),R=Math.min(h.dot(C,p),R);b=h.multiplyByScalar(b,.5*(D+A),b),T=h.multiplyByScalar(T,.5*(O+S),T),C=h.multiplyByScalar(C,.5*(R+w),C);let M=h.add(b,T,t.center);h.add(M,C,M);let L=C1e;return L.x=A-D,L.y=S-O,L.z=w-R,h.multiplyByScalar(L,.5,L),Z.multiplyByScale(t.halfAxes,L,t.halfAxes),t};var wee=new h,D1e=new h;function Tee(e,t,n,i,o,r,s,a,c,u,f){l(f)||(f=new Di);let d=f.halfAxes;Z.setColumn(d,0,t,d),Z.setColumn(d,1,n,d),Z.setColumn(d,2,i,d);let p=wee;p.x=(o+r)/2,p.y=(s+a)/2,p.z=(c+u)/2;let g=D1e;g.x=(r-o)/2,g.y=(a-s)/2,g.z=(u-c)/2;let m=f.center;return p=Z.multiplyByVector(d,p,p),h.add(e,p,m),Z.multiplyByScale(d,g,d),f}var Cee=new fe,I1e=new h,P1e=new fe,R1e=new fe,O1e=new fe,M1e=new fe,L1e=new fe,N1e=new h,Aee=new h,F1e=new h,Eee=new h,B1e=new h,k1e=new U,V1e=new U,U1e=new U,z1e=new U,H1e=new U,G1e=new h,W1e=new h,j1e=new h,q1e=new h,Y1e=new U,X1e=new h,K1e=new h,$1e=new h,Z1e=new cn(h.UNIT_X,0);Di.fromRectangle=function(e,t,n,i,o){t=y(t,0),n=y(n,0),i=y(i,ee.default);let r,s,a,c,u,f,d;if(e.width<=P.PI){let O=se.center(e,Cee),R=i.cartographicToCartesian(O,I1e),M=new Jr(R,i);d=M.plane;let L=O.longitude,_=e.south<0&&e.north>0?0:O.latitude,E=fe.fromRadians(L,e.north,n,P1e),v=fe.fromRadians(e.west,e.north,n,R1e),I=fe.fromRadians(e.west,_,n,O1e),N=fe.fromRadians(e.west,e.south,n,M1e),B=fe.fromRadians(L,e.south,n,L1e),z=i.cartographicToCartesian(E,N1e),V=i.cartographicToCartesian(v,Aee),G=i.cartographicToCartesian(I,F1e),k=i.cartographicToCartesian(N,Eee),Y=i.cartographicToCartesian(B,B1e),W=M.projectPointToNearestOnPlane(z,k1e),J=M.projectPointToNearestOnPlane(V,V1e),j=M.projectPointToNearestOnPlane(G,U1e),$=M.projectPointToNearestOnPlane(k,z1e),Q=M.projectPointToNearestOnPlane(Y,H1e);return r=Math.min(J.x,j.x,$.x),s=-r,c=Math.max(J.y,W.y),a=Math.min($.y,Q.y),v.height=N.height=t,V=i.cartographicToCartesian(v,Aee),k=i.cartographicToCartesian(N,Eee),u=Math.min(cn.getPointDistance(d,V),cn.getPointDistance(d,k)),f=n,Tee(M.origin,M.xAxis,M.yAxis,M.zAxis,r,s,a,c,u,f,o)}let p=e.south>0,g=e.north<0,m=p?e.south:g?e.north:0,x=se.center(e,Cee).longitude,b=h.fromRadians(x,m,n,i,G1e);b.z=0;let C=Math.abs(b.x)<P.EPSILON10&&Math.abs(b.y)<P.EPSILON10?h.UNIT_X:h.normalize(b,W1e),A=h.UNIT_Z,S=h.cross(C,A,j1e);d=cn.fromPointNormal(b,C,Z1e);let w=h.fromRadians(x+P.PI_OVER_TWO,m,n,i,q1e);s=h.dot(cn.projectPointOntoPlane(d,w,Y1e),S),r=-s,c=h.fromRadians(0,e.north,g?t:n,i,X1e).z,a=h.fromRadians(0,e.south,p?t:n,i,K1e).z;let D=h.fromRadians(e.east,m,n,i,$1e);return u=cn.getPointDistance(d,D),f=0,Tee(b,S,A,C,r,s,a,c,u,f,o)};Di.fromTransformation=function(e,t){return l(t)||(t=new Di),t.center=F.getTranslation(e,t.center),t.halfAxes=F.getMatrix3(e,t.halfAxes),t.halfAxes=Z.multiplyByScalar(t.halfAxes,.5,t.halfAxes),t};Di.clone=function(e,t){if(l(e))return l(t)?(h.clone(e.center,t.center),Z.clone(e.halfAxes,t.halfAxes),t):new Di(e.center,e.halfAxes)};Di.intersectPlane=function(e,t){let n=e.center,i=t.normal,o=e.halfAxes,r=i.x,s=i.y,a=i.z,c=Math.abs(r*o[Z.COLUMN0ROW0]+s*o[Z.COLUMN0ROW1]+a*o[Z.COLUMN0ROW2])+Math.abs(r*o[Z.COLUMN1ROW0]+s*o[Z.COLUMN1ROW1]+a*o[Z.COLUMN1ROW2])+Math.abs(r*o[Z.COLUMN2ROW0]+s*o[Z.COLUMN2ROW1]+a*o[Z.COLUMN2ROW2]),u=h.dot(i,n)+t.distance;return u<=-c?qt.OUTSIDE:u>=c?qt.INSIDE:qt.INTERSECTING};var vee=new h,Dee=new h,Iee=new h,Q1e=new h,See=new h,J1e=new h;Di.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,wee),i=e.halfAxes,o=Z.getColumn(i,0,vee),r=Z.getColumn(i,1,Dee),s=Z.getColumn(i,2,Iee),a=h.magnitude(o),c=h.magnitude(r),u=h.magnitude(s),f=!0,d=!0,p=!0;a>0?h.divideByScalar(o,a,o):f=!1,c>0?h.divideByScalar(r,c,r):d=!1,u>0?h.divideByScalar(s,u,s):p=!1;let g=!f+!d+!p,m,x,b;if(g===1){let S=o;m=r,x=s,d?p||(S=s,x=o):(S=r,m=o),b=h.cross(m,x,See),S===o?o=b:S===r?r=b:S===s&&(s=b)}else if(g===2){m=o,d?m=r:p&&(m=s);let S=h.UNIT_Y;S.equalsEpsilon(m,P.EPSILON3)&&(S=h.UNIT_X),x=h.cross(m,S,Q1e),h.normalize(x,x),b=h.cross(m,x,See),h.normalize(b,b),m===o?(r=x,s=b):m===r?(s=x,o=b):m===s&&(o=x,r=b)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let T=J1e;T.x=h.dot(n,o),T.y=h.dot(n,r),T.z=h.dot(n,s);let C=0,A;return T.x<-a?(A=T.x+a,C+=A*A):T.x>a&&(A=T.x-a,C+=A*A),T.y<-c?(A=T.y+c,C+=A*A):T.y>c&&(A=T.y-c,C+=A*A),T.z<-u?(A=T.z+u,C+=A*A):T.z>u&&(A=T.z-u,C+=A*A),C};var eRe=new h,tRe=new h;Di.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Ya);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=Z.getColumn(a,0,vee),u=Z.getColumn(a,1,Dee),f=Z.getColumn(a,2,Iee),d=h.add(c,u,eRe);h.add(d,f,d),h.add(d,s,d);let p=h.subtract(d,t,tRe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var nRe=new h,iRe=new h,oRe=new h;Di.computeCorners=function(e,t){l(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=Z.getColumn(i,0,nRe),r=Z.getColumn(i,1,iRe),s=Z.getColumn(i,2,oRe);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var rRe=new Z;Di.computeTransformation=function(e,t){l(t)||(t=new F);let n=e.center,i=Z.multiplyByUniformScale(e.halfAxes,2,rRe);return F.fromRotationTranslation(i,n,t)};var sRe=new ae;Di.isOccluded=function(e,t){let n=ae.fromOrientedBoundingBox(e,sRe);return!t.isBoundingSphereVisible(n)};Di.prototype.intersectPlane=function(e){return Di.intersectPlane(this,e)};Di.prototype.distanceSquaredTo=function(e){return Di.distanceSquaredTo(this,e)};Di.prototype.computePlaneDistances=function(e,t,n){return Di.computePlaneDistances(this,e,t,n)};Di.prototype.computeCorners=function(e){return Di.computeCorners(this,e)};Di.prototype.computeTransformation=function(e){return Di.computeTransformation(this,e)};Di.prototype.isOccluded=function(e){return Di.isOccluded(this,e)};Di.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&Z.equals(e.halfAxes,t.halfAxes)};Di.prototype.clone=function(e){return Di.clone(this,e)};Di.prototype.equals=function(e){return Di.equals(this,e)};var In=Di;var xL={};xL.getHeight=function(e,t,n){return(e-n)*t+n};var aRe=new fe;xL.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,aRe);if(!l(r))return h.clone(e,o);let s=xL.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var Dr=xL;var bL=`in vec3 position3DHigh; +`;function fp(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.closed,!1),i=y(e.flat,!1),o=i?DL:wL,r=i?GT:vL,s=i?fp.FLAT_VERTEX_FORMAT:fp.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o),this._fragmentShaderSource=y(e.fragmentShaderSource,r),this._renderState=oo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=s,this._flat=i,this._faceForward=y(e.faceForward,!n)}Object.defineProperties(fp.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}}});fp.VERTEX_FORMAT=Pe.POSITION_AND_NORMAL;fp.FLAT_VERTEX_FORMAT=Pe.POSITION_ONLY;fp.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;fp.prototype.isTranslucent=oo.prototype.isTranslucent;fp.prototype.getRenderState=oo.prototype.getRenderState;var un=fp;function WT(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(WT.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});WT.prototype.getType=function(e){return"Color"};var cOe=new K;WT.prototype.getValue=function(e,t){return l(e)||(e=K.now(cOe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,z.WHITE,t.color),t};WT.prototype.equals=function(e){return this===e||e instanceof WT&&q.equals(this._color,e._color)};var Ht=WT;function $_(e){e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._rectangle=y(e.rectangle,ae.MAX_VALUE),this._projection=new Ii(this._ellipsoid),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,2),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1)}Object.defineProperties($_.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});$_.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};$_.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};$_.prototype.rectangleToNativeRectangle=function(e,t){let n=P.toDegrees(e.west),i=P.toDegrees(e.south),o=P.toDegrees(e.east),r=P.toDegrees(e.north);return l(t)?(t.west=n,t.south=i,t.east=o,t.north=r,t):new ae(n,i,o,r)};$_.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.tileXYToRectangle(e,t,n,i);return o.west=P.toDegrees(o.west),o.south=P.toDegrees(o.south),o.east=P.toDegrees(o.east),o.north=P.toDegrees(o.north),o};$_.prototype.tileXYToRectangle=function(e,t,n,i){let o=this._rectangle,r=this.getNumberOfXTilesAtLevel(n),s=this.getNumberOfYTilesAtLevel(n),a=o.width/r,c=e*a+o.west,u=(e+1)*a+o.west,f=o.height/s,d=o.north-t*f,p=o.north-(t+1)*f;return l(i)||(i=new ae(c,p,u,d)),i.west=c,i.south=p,i.east=u,i.north=d,i};$_.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ae.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),s=i.width/o,a=i.height/r,c=e.longitude;i.east<i.west&&(c+=P.TWO_PI);let u=(c-i.west)/s|0;u>=o&&(u=o-1);let f=(i.north-e.latitude)/a|0;return f>=r&&(f=r-1),l(n)?(n.x=u,n.y=f,n):new U(u,f)};var Xi=$_;var Xee=new h,Kee=new h,Zee=new fe,N6=new h,lOe=new h,$ee=new ce,uOe=new Xi,gv=[new fe,new fe,new fe,new fe],yv=new U,qr={};qr.initialize=function(){let e=qr._initPromise;return l(e)||(e=Ae.fetchJson(rn("Assets/approximateTerrainHeights.json")).then(function(t){qr._terrainHeights=t}),qr._initPromise=e),e};qr.getMinimumMaximumHeights=function(e,t){t=y(t,ee.default);let n=Qee(e),i=qr._defaultMinTerrainHeight,o=qr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=qr._terrainHeights[r];l(s)&&(i=s[0],o=s[1]),t.cartographicToCartesian(ae.northeast(e,Zee),Xee),t.cartographicToCartesian(ae.southwest(e,Zee),Kee),h.midpoint(Kee,Xee,N6);let a=t.scaleToGeodeticSurface(N6,lOe);if(l(a)){let c=h.distance(N6,a);i=Math.min(i,-c)}else i=qr._defaultMinTerrainHeight}return i=Math.max(qr._defaultMinTerrainHeight,i),{minimumTerrainHeight:i,maximumTerrainHeight:o}};qr.getBoundingSphere=function(e,t){t=y(t,ee.default);let n=Qee(e),i=qr._defaultMaxTerrainHeight;if(l(n)){let r=`${n.level}-${n.x}-${n.y}`,s=qr._terrainHeights[r];l(s)&&(i=s[1])}let o=ce.fromRectangle3D(e,t,0);return ce.fromRectangle3D(e,t,i,$ee),ce.union(o,$ee,o)};function Qee(e){fe.fromRadians(e.east,e.north,0,gv[0]),fe.fromRadians(e.west,e.north,0,gv[1]),fe.fromRadians(e.east,e.south,0,gv[2]),fe.fromRadians(e.west,e.south,0,gv[3]);let t=0,n=0,i=0,o=0,r=qr._terrainHeightsMaxLevel,s;for(s=0;s<=r;++s){let a=!1;for(let c=0;c<4;++c){let u=gv[c];if(uOe.positionToTileXY(u,s,yv),c===0)i=yv.x,o=yv.y;else if(i!==yv.x||o!==yv.y){a=!0;break}}if(a)break;t=i,n=o}if(s!==0)return{x:t,y:n,level:s>r?r:s-1}}qr._terrainHeightsMaxLevel=6;qr._defaultMaxTerrainHeight=9e3;qr._defaultMinTerrainHeight=-1e5;qr._terrainHeights=void 0;qr._initPromise=void 0;Object.defineProperties(qr,{initialized:{get:function(){return l(qr._terrainHeights)}}});var hi=qr;function wc(e,t,n){this.minimum=h.clone(y(e,h.ZERO)),this.maximum=h.clone(y(t,h.ZERO)),l(n)?n=h.clone(n):n=h.midpoint(this.minimum,this.maximum,new h),this.center=n}wc.fromCorners=function(e,t,n){return l(n)||(n=new wc),n.minimum=h.clone(e,n.minimum),n.maximum=h.clone(t,n.maximum),n.center=h.midpoint(e,t,n.center),n};wc.fromPoints=function(e,t){if(l(t)||(t=new wc),!l(e)||e.length===0)return t.minimum=h.clone(h.ZERO,t.minimum),t.maximum=h.clone(h.ZERO,t.maximum),t.center=h.clone(h.ZERO,t.center),t;let n=e[0].x,i=e[0].y,o=e[0].z,r=e[0].x,s=e[0].y,a=e[0].z,c=e.length;for(let d=1;d<c;d++){let p=e[d],g=p.x,m=p.y,x=p.z;n=Math.min(g,n),r=Math.max(g,r),i=Math.min(m,i),s=Math.max(m,s),o=Math.min(x,o),a=Math.max(x,a)}let u=t.minimum;u.x=n,u.y=i,u.z=o;let f=t.maximum;return f.x=r,f.y=s,f.z=a,t.center=h.midpoint(u,f,t.center),t};wc.clone=function(e,t){if(l(e))return l(t)?(t.minimum=h.clone(e.minimum,t.minimum),t.maximum=h.clone(e.maximum,t.maximum),t.center=h.clone(e.center,t.center),t):new wc(e.minimum,e.maximum,e.center)};wc.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&h.equals(e.minimum,t.minimum)&&h.equals(e.maximum,t.maximum)};var IL=new h;wc.intersectPlane=function(e,t){IL=h.subtract(e.maximum,e.minimum,IL);let n=h.multiplyByScalar(IL,.5,IL),i=t.normal,o=n.x*Math.abs(i.x)+n.y*Math.abs(i.y)+n.z*Math.abs(i.z),r=h.dot(e.center,i)+t.distance;return r-o>0?jt.INSIDE:r+o<0?jt.OUTSIDE:jt.INTERSECTING};wc.prototype.clone=function(e){return wc.clone(this,e)};wc.prototype.intersectPlane=function(e){return wc.intersectPlane(this,e)};wc.prototype.equals=function(e){return wc.equals(this,e)};var Z0=wc;var F6=new oe;function Oh(e,t){t=y(t,ee.default),e=t.scaleToGeodeticSurface(e);let n=Mt.eastNorthUpToFixedFrame(e,t);this._ellipsoid=t,this._origin=e,this._xAxis=h.fromCartesian4(F.getColumn(n,0,F6)),this._yAxis=h.fromCartesian4(F.getColumn(n,1,F6));let i=h.fromCartesian4(F.getColumn(n,2,F6));this._plane=ln.fromPointNormal(e,i)}Object.defineProperties(Oh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},origin:{get:function(){return this._origin}},plane:{get:function(){return this._plane}},xAxis:{get:function(){return this._xAxis}},yAxis:{get:function(){return this._yAxis}},zAxis:{get:function(){return this._plane.normal}}});var fOe=new Z0;Oh.fromPoints=function(e,t){let n=Z0.fromPoints(e,fOe);return new Oh(n.center,t)};var Jee=new _n,PL=new h;Oh.prototype.projectPointOntoPlane=function(e,t){let n=Jee;n.origin=e,h.normalize(e,n.direction);let i=ti.rayPlane(n,this._plane,PL);if(l(i)||(h.negate(n.direction,n.direction),i=ti.rayPlane(n,this._plane,PL)),l(i)){let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return l(t)?(t.x=r,t.y=s,t):new U(r,s)}};Oh.prototype.projectPointsOntoPlane=function(e,t){l(t)||(t=[]);let n=0,i=e.length;for(let o=0;o<i;o++){let r=this.projectPointOntoPlane(e[o],t[n]);l(r)&&(t[n]=r,n++)}return t.length=n,t};Oh.prototype.projectPointToNearestOnPlane=function(e,t){l(t)||(t=new U);let n=Jee;n.origin=e,h.clone(this._plane.normal,n.direction);let i=ti.rayPlane(n,this._plane,PL);l(i)||(h.negate(n.direction,n.direction),i=ti.rayPlane(n,this._plane,PL));let o=h.subtract(i,this._origin,i),r=h.dot(this._xAxis,o),s=h.dot(this._yAxis,o);return t.x=r,t.y=s,t};Oh.prototype.projectPointsToNearestOnPlane=function(e,t){l(t)||(t=[]);let n=e.length;t.length=n;for(let i=0;i<n;i++)t[i]=this.projectPointToNearestOnPlane(e[i],t[i]);return t};var dOe=new h;Oh.prototype.projectPointOntoEllipsoid=function(e,t){l(t)||(t=new h);let n=this._ellipsoid,i=this._origin,o=this._xAxis,r=this._yAxis,s=dOe;return h.multiplyByScalar(o,e.x,s),t=h.add(i,s,t),h.multiplyByScalar(r,e.y,s),h.add(t,s,t),n.scaleToGeocentricSurface(t,t),t};Oh.prototype.projectPointsOntoEllipsoid=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;++i)t[i]=this.projectPointOntoEllipsoid(e[i],t[i]);return t};var os=Oh;function Oi(e,t){this.center=h.clone(y(e,h.ZERO)),this.halfAxes=$.clone(y(t,$.ZERO))}Oi.packedLength=h.packedLength+$.packedLength;Oi.pack=function(e,t,n){return n=y(n,0),h.pack(e.center,t,n),$.pack(e.halfAxes,t,n+h.packedLength),t};Oi.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Oi),h.unpack(e,t,n.center),$.unpack(e,t+h.packedLength,n.halfAxes),n};var hOe=new h,mOe=new h,pOe=new h,_Oe=new h,gOe=new h,yOe=new h,xOe=new $,bOe={unitary:new $,diagonal:new $};Oi.fromPoints=function(e,t){if(l(t)||(t=new Oi),!l(e)||e.length===0)return t.halfAxes=$.ZERO,t.center=h.ZERO,t;let n,i=e.length,o=h.clone(e[0],hOe);for(n=1;n<i;n++)h.add(o,e[n],o);let r=1/i;h.multiplyByScalar(o,r,o);let s=0,a=0,c=0,u=0,f=0,d=0,p;for(n=0;n<i;n++)p=h.subtract(e[n],o,mOe),s+=p.x*p.x,a+=p.x*p.y,c+=p.x*p.z,u+=p.y*p.y,f+=p.y*p.z,d+=p.z*p.z;s*=r,a*=r,c*=r,u*=r,f*=r,d*=r;let g=xOe;g[0]=s,g[1]=a,g[2]=c,g[3]=a,g[4]=u,g[5]=f,g[6]=c,g[7]=f,g[8]=d;let m=$.computeEigenDecomposition(g,bOe),x=$.clone(m.unitary,t.halfAxes),b=$.getColumn(x,0,_Oe),T=$.getColumn(x,1,gOe),C=$.getColumn(x,2,yOe),A=-Number.MAX_VALUE,S=-Number.MAX_VALUE,v=-Number.MAX_VALUE,D=Number.MAX_VALUE,R=Number.MAX_VALUE,O=Number.MAX_VALUE;for(n=0;n<i;n++)p=e[n],A=Math.max(h.dot(b,p),A),S=Math.max(h.dot(T,p),S),v=Math.max(h.dot(C,p),v),D=Math.min(h.dot(b,p),D),R=Math.min(h.dot(T,p),R),O=Math.min(h.dot(C,p),O);b=h.multiplyByScalar(b,.5*(D+A),b),T=h.multiplyByScalar(T,.5*(R+S),T),C=h.multiplyByScalar(C,.5*(O+v),C);let M=h.add(b,T,t.center);h.add(M,C,M);let N=pOe;return N.x=A-D,N.y=S-R,N.z=v-O,h.multiplyByScalar(N,.5,N),$.multiplyByScale(t.halfAxes,N,t.halfAxes),t};var rte=new h,TOe=new h;function ete(e,t,n,i,o,r,s,a,c,u,f){l(f)||(f=new Oi);let d=f.halfAxes;$.setColumn(d,0,t,d),$.setColumn(d,1,n,d),$.setColumn(d,2,i,d);let p=rte;p.x=(o+r)/2,p.y=(s+a)/2,p.z=(c+u)/2;let g=TOe;g.x=(r-o)/2,g.y=(a-s)/2,g.z=(u-c)/2;let m=f.center;return p=$.multiplyByVector(d,p,p),h.add(e,p,m),$.multiplyByScale(d,g,d),f}var tte=new fe,COe=new h,AOe=new fe,EOe=new fe,SOe=new fe,vOe=new fe,wOe=new fe,DOe=new h,nte=new h,IOe=new h,ite=new h,POe=new h,OOe=new U,ROe=new U,MOe=new U,LOe=new U,NOe=new U,FOe=new h,BOe=new h,kOe=new h,VOe=new h,UOe=new U,zOe=new h,HOe=new h,GOe=new h,WOe=new ln(h.UNIT_X,0);Oi.fromRectangle=function(e,t,n,i,o){t=y(t,0),n=y(n,0),i=y(i,ee.default);let r,s,a,c,u,f,d;if(e.width<=P.PI){let R=ae.center(e,tte),O=i.cartographicToCartesian(R,COe),M=new os(O,i);d=M.plane;let N=R.longitude,_=e.south<0&&e.north>0?0:R.latitude,E=fe.fromRadians(N,e.north,n,AOe),w=fe.fromRadians(e.west,e.north,n,EOe),I=fe.fromRadians(e.west,_,n,SOe),L=fe.fromRadians(e.west,e.south,n,vOe),B=fe.fromRadians(N,e.south,n,wOe),H=i.cartographicToCartesian(E,DOe),V=i.cartographicToCartesian(w,nte),G=i.cartographicToCartesian(I,IOe),k=i.cartographicToCartesian(L,ite),W=i.cartographicToCartesian(B,POe),Y=M.projectPointToNearestOnPlane(H,OOe),J=M.projectPointToNearestOnPlane(V,ROe),j=M.projectPointToNearestOnPlane(G,MOe),Z=M.projectPointToNearestOnPlane(k,LOe),Q=M.projectPointToNearestOnPlane(W,NOe);return r=Math.min(J.x,j.x,Z.x),s=-r,c=Math.max(J.y,Y.y),a=Math.min(Z.y,Q.y),w.height=L.height=t,V=i.cartographicToCartesian(w,nte),k=i.cartographicToCartesian(L,ite),u=Math.min(ln.getPointDistance(d,V),ln.getPointDistance(d,k)),f=n,ete(M.origin,M.xAxis,M.yAxis,M.zAxis,r,s,a,c,u,f,o)}let p=e.south>0,g=e.north<0,m=p?e.south:g?e.north:0,x=ae.center(e,tte).longitude,b=h.fromRadians(x,m,n,i,FOe);b.z=0;let C=Math.abs(b.x)<P.EPSILON10&&Math.abs(b.y)<P.EPSILON10?h.UNIT_X:h.normalize(b,BOe),A=h.UNIT_Z,S=h.cross(C,A,kOe);d=ln.fromPointNormal(b,C,WOe);let v=h.fromRadians(x+P.PI_OVER_TWO,m,n,i,VOe);s=h.dot(ln.projectPointOntoPlane(d,v,UOe),S),r=-s,c=h.fromRadians(0,e.north,g?t:n,i,zOe).z,a=h.fromRadians(0,e.south,p?t:n,i,HOe).z;let D=h.fromRadians(e.east,m,n,i,GOe);return u=ln.getPointDistance(d,D),f=0,ete(b,S,A,C,r,s,a,c,u,f,o)};Oi.fromTransformation=function(e,t){return l(t)||(t=new Oi),t.center=F.getTranslation(e,t.center),t.halfAxes=F.getMatrix3(e,t.halfAxes),t.halfAxes=$.multiplyByScalar(t.halfAxes,.5,t.halfAxes),t};Oi.clone=function(e,t){if(l(e))return l(t)?(h.clone(e.center,t.center),$.clone(e.halfAxes,t.halfAxes),t):new Oi(e.center,e.halfAxes)};Oi.intersectPlane=function(e,t){let n=e.center,i=t.normal,o=e.halfAxes,r=i.x,s=i.y,a=i.z,c=Math.abs(r*o[$.COLUMN0ROW0]+s*o[$.COLUMN0ROW1]+a*o[$.COLUMN0ROW2])+Math.abs(r*o[$.COLUMN1ROW0]+s*o[$.COLUMN1ROW1]+a*o[$.COLUMN1ROW2])+Math.abs(r*o[$.COLUMN2ROW0]+s*o[$.COLUMN2ROW1]+a*o[$.COLUMN2ROW2]),u=h.dot(i,n)+t.distance;return u<=-c?jt.OUTSIDE:u>=c?jt.INSIDE:jt.INTERSECTING};var ste=new h,ate=new h,cte=new h,jOe=new h,ote=new h,qOe=new h;Oi.distanceSquaredTo=function(e,t){let n=h.subtract(t,e.center,rte),i=e.halfAxes,o=$.getColumn(i,0,ste),r=$.getColumn(i,1,ate),s=$.getColumn(i,2,cte),a=h.magnitude(o),c=h.magnitude(r),u=h.magnitude(s),f=!0,d=!0,p=!0;a>0?h.divideByScalar(o,a,o):f=!1,c>0?h.divideByScalar(r,c,r):d=!1,u>0?h.divideByScalar(s,u,s):p=!1;let g=!f+!d+!p,m,x,b;if(g===1){let S=o;m=r,x=s,d?p||(S=s,x=o):(S=r,m=o),b=h.cross(m,x,ote),S===o?o=b:S===r?r=b:S===s&&(s=b)}else if(g===2){m=o,d?m=r:p&&(m=s);let S=h.UNIT_Y;S.equalsEpsilon(m,P.EPSILON3)&&(S=h.UNIT_X),x=h.cross(m,S,jOe),h.normalize(x,x),b=h.cross(m,x,ote),h.normalize(b,b),m===o?(r=x,s=b):m===r?(s=x,o=b):m===s&&(o=x,r=b)}else g===3&&(o=h.UNIT_X,r=h.UNIT_Y,s=h.UNIT_Z);let T=qOe;T.x=h.dot(n,o),T.y=h.dot(n,r),T.z=h.dot(n,s);let C=0,A;return T.x<-a?(A=T.x+a,C+=A*A):T.x>a&&(A=T.x-a,C+=A*A),T.y<-c?(A=T.y+c,C+=A*A):T.y>c&&(A=T.y-c,C+=A*A),T.z<-u?(A=T.z+u,C+=A*A):T.z>u&&(A=T.z-u,C+=A*A),C};var YOe=new h,XOe=new h;Oi.computePlaneDistances=function(e,t,n,i){l(i)||(i=new Xa);let o=Number.POSITIVE_INFINITY,r=Number.NEGATIVE_INFINITY,s=e.center,a=e.halfAxes,c=$.getColumn(a,0,ste),u=$.getColumn(a,1,ate),f=$.getColumn(a,2,cte),d=h.add(c,u,YOe);h.add(d,f,d),h.add(d,s,d);let p=h.subtract(d,t,XOe),g=h.dot(n,p);return o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.add(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.add(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.add(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),h.subtract(s,c,d),h.subtract(d,u,d),h.subtract(d,f,d),h.subtract(d,t,p),g=h.dot(n,p),o=Math.min(g,o),r=Math.max(g,r),i.start=o,i.stop=r,i};var KOe=new h,ZOe=new h,$Oe=new h;Oi.computeCorners=function(e,t){l(t)||(t=[new h,new h,new h,new h,new h,new h,new h,new h]);let n=e.center,i=e.halfAxes,o=$.getColumn(i,0,KOe),r=$.getColumn(i,1,ZOe),s=$.getColumn(i,2,$Oe);return h.clone(n,t[0]),h.subtract(t[0],o,t[0]),h.subtract(t[0],r,t[0]),h.subtract(t[0],s,t[0]),h.clone(n,t[1]),h.subtract(t[1],o,t[1]),h.subtract(t[1],r,t[1]),h.add(t[1],s,t[1]),h.clone(n,t[2]),h.subtract(t[2],o,t[2]),h.add(t[2],r,t[2]),h.subtract(t[2],s,t[2]),h.clone(n,t[3]),h.subtract(t[3],o,t[3]),h.add(t[3],r,t[3]),h.add(t[3],s,t[3]),h.clone(n,t[4]),h.add(t[4],o,t[4]),h.subtract(t[4],r,t[4]),h.subtract(t[4],s,t[4]),h.clone(n,t[5]),h.add(t[5],o,t[5]),h.subtract(t[5],r,t[5]),h.add(t[5],s,t[5]),h.clone(n,t[6]),h.add(t[6],o,t[6]),h.add(t[6],r,t[6]),h.subtract(t[6],s,t[6]),h.clone(n,t[7]),h.add(t[7],o,t[7]),h.add(t[7],r,t[7]),h.add(t[7],s,t[7]),t};var QOe=new $;Oi.computeTransformation=function(e,t){l(t)||(t=new F);let n=e.center,i=$.multiplyByUniformScale(e.halfAxes,2,QOe);return F.fromRotationTranslation(i,n,t)};var JOe=new ce;Oi.isOccluded=function(e,t){let n=ce.fromOrientedBoundingBox(e,JOe);return!t.isBoundingSphereVisible(n)};Oi.prototype.intersectPlane=function(e){return Oi.intersectPlane(this,e)};Oi.prototype.distanceSquaredTo=function(e){return Oi.distanceSquaredTo(this,e)};Oi.prototype.computePlaneDistances=function(e,t,n){return Oi.computePlaneDistances(this,e,t,n)};Oi.prototype.computeCorners=function(e){return Oi.computeCorners(this,e)};Oi.prototype.computeTransformation=function(e){return Oi.computeTransformation(this,e)};Oi.prototype.isOccluded=function(e){return Oi.isOccluded(this,e)};Oi.equals=function(e,t){return e===t||l(e)&&l(t)&&h.equals(e.center,t.center)&&$.equals(e.halfAxes,t.halfAxes)};Oi.prototype.clone=function(e){return Oi.clone(this,e)};Oi.prototype.equals=function(e){return Oi.equals(this,e)};var In=Oi;var OL={};OL.getHeight=function(e,t,n){return(e-n)*t+n};var eRe=new fe;OL.getPosition=function(e,t,n,i,o){let r=t.cartesianToCartographic(e,eRe);if(!l(r))return h.clone(e,o);let s=OL.getHeight(r.height,n,i);return h.fromRadians(r.longitude,r.latitude,s,t,o)};var Pr=OL;var RL=`in vec3 position3DHigh; in vec3 position3DLow; in float batchId; @@ -4790,7 +4835,7 @@ void main() gl_Position = czm_depthClamp(czm_modelViewProjectionRelativeToEye * position); } -`;var F0=`#ifdef VECTOR_TILE +`;var $0=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif @@ -4803,7 +4848,7 @@ void main(void) #endif czm_writeDepthClamp(); } -`;var Pee={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};Pee.NUMBER_OF_CLASSIFICATION_TYPES=3;var Vn=Object.freeze(Pee);var cRe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},Sc=Object.freeze(cRe);function lRe(e,t){let n=[],i=e.length,o=0;for(;o<i;){let r=Math.ceil((i-o)/t--);n.push(e.slice(o,o+r)),o+=r}return n}var TL=lRe;function lp(e,t,n){if(this._attributes=t,this._numberOfInstances=n,t.length===0)return;let i=uRe(t),o=e.floatingPointTexture,r=i===nt.FLOAT&&!o,s=fRe(t,r),a=dRe(s,t,r),c=Math.floor(Ut.maximumTextureSize/a),u=Math.min(n,c),f=a*u,d=Math.ceil(n/u),p=1/f,g=p*.5,m=1/d,x=m*.5;this._textureDimensions=new U(f,d),this._textureStep=new oe(p,g,m,x),this._pixelDatatype=r?nt.UNSIGNED_BYTE:i,this._packFloats=r,this._offsets=s,this._stride=a,this._texture=void 0;let b=4*f*d;this._batchValues=i===nt.FLOAT&&!r?new Float32Array(b):new Uint8Array(b),this._batchValuesDirty=!1}Object.defineProperties(lp.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});function uRe(e){let t=!1,n=e.length;for(let i=0;i<n;++i)if(e[i].componentDatatype!==X.UNSIGNED_BYTE){t=!0;break}return t?nt.FLOAT:nt.UNSIGNED_BYTE}function Oee(e,t){let n=e[t].componentsPerAttribute;return n===2?U:n===3?h:n===4?oe:Number}function fRe(e,t){let n=new Array(e.length),i=0,o=e.length;for(let r=0;r<o;++r){let a=e[r].componentDatatype;n[r]=i,a!==X.UNSIGNED_BYTE&&t?i+=4:++i}return n}function dRe(e,t,n){let i=e.length,o=e[i-1];return t[i-1].componentDatatype!==X.UNSIGNED_BYTE&&n?o+4:o+1}var cw=new oe;function hRe(e,t,n){let i=oe.unpack(e,t,cw),o=oe.unpackFloat(i);i=oe.unpack(e,t+4,cw);let r=oe.unpackFloat(i);i=oe.unpack(e,t+8,cw);let s=oe.unpackFloat(i);i=oe.unpack(e,t+12,cw);let a=oe.unpackFloat(i);return oe.fromElements(o,r,s,a,n)}function mRe(e,t,n){let i=oe.packFloat(e.x,cw);oe.pack(i,t,n),i=oe.packFloat(e.y,i),oe.pack(i,t,n+4),i=oe.packFloat(e.z,i),oe.pack(i,t,n+8),i=oe.packFloat(e.w,i),oe.pack(i,t,n+12)}var Ree=new oe;lp.prototype.getBatchedAttribute=function(e,t,n){let i=this._attributes,o=this._offsets[t],s=4*this._stride*e+4*o,a;this._packFloats&&i[t].componentDatatype!==nt.UNSIGNED_BYTE?a=hRe(this._batchValues,s,Ree):a=oe.unpack(this._batchValues,s,Ree);let c=Oee(i,t);return l(c.fromCartesian4)?c.fromCartesian4(a,n):l(c.clone)?c.clone(a,n):a.x};var pRe=[void 0,void 0,new U,new h,new oe],_Re=new oe;lp.prototype.setBatchedAttribute=function(e,t,n){let i=this._attributes,o=pRe[i[t].componentsPerAttribute],r=this.getBatchedAttribute(e,t,o),s=Oee(this._attributes,t);if(l(s.equals)?s.equals(r,n):r===n)return;let c=_Re;c.x=l(n.x)?n.x:n,c.y=l(n.y)?n.y:0,c.z=l(n.z)?n.z:0,c.w=l(n.w)?n.w:0;let u=this._offsets[t],d=4*this._stride*e+4*u;this._packFloats&&i[t].componentDatatype!==nt.UNSIGNED_BYTE?mRe(c,this._batchValues,d):oe.pack(c,this._batchValues,d),this._batchValuesDirty=!0};function gRe(e,t){let n=e._textureDimensions;e._texture=new Mt({context:t,pixelFormat:ct.RGBA,pixelDatatype:e._pixelDatatype,width:n.x,height:n.y,sampler:tn.NEAREST,flipY:!1})}function yRe(e){let t=e._textureDimensions;e._texture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}lp.prototype.update=function(e){l(this._texture)&&!this._batchValuesDirty||this._attributes.length===0||(this._batchValuesDirty=!1,l(this._texture)||gRe(this,e.context),yRe(this))};lp.prototype.getUniformMapCallback=function(){let e=this;return function(t){return e._attributes.length===0?t:xt(t,{batchTexture:function(){return e._texture},batchTextureDimensions:function(){return e._textureDimensions},batchTextureStep:function(){return e._textureStep}})}};function xRe(e){let t=e._stride;return e._textureDimensions.y===1?`uniform vec4 batchTextureStep; +`;var lte={TERRAIN:0,CESIUM_3D_TILE:1,BOTH:2};lte.NUMBER_OF_CLASSIFICATION_TYPES=3;var Un=Object.freeze(lte);var tRe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},Dc=Object.freeze(tRe);function nRe(e,t){let n=[],i=e.length,o=0;for(;o<i;){let r=Math.ceil((i-o)/t--);n.push(e.slice(o,o+r)),o+=r}return n}var ML=nRe;function dp(e,t,n){if(this._attributes=t,this._numberOfInstances=n,t.length===0)return;let i=iRe(t),o=e.floatingPointTexture,r=i===Ze.FLOAT&&!o,s=oRe(t,r),a=rRe(s,t,r),c=Math.floor(Bt.maximumTextureSize/a),u=Math.min(n,c),f=a*u,d=Math.ceil(n/u),p=1/f,g=p*.5,m=1/d,x=m*.5;this._textureDimensions=new U(f,d),this._textureStep=new oe(p,g,m,x),this._pixelDatatype=r?Ze.UNSIGNED_BYTE:i,this._packFloats=r,this._offsets=s,this._stride=a,this._texture=void 0;let b=4*f*d;this._batchValues=i===Ze.FLOAT&&!r?new Float32Array(b):new Uint8Array(b),this._batchValuesDirty=!1}Object.defineProperties(dp.prototype,{attributes:{get:function(){return this._attributes}},numberOfInstances:{get:function(){return this._numberOfInstances}}});function iRe(e){let t=!1,n=e.length;for(let i=0;i<n;++i)if(e[i].componentDatatype!==X.UNSIGNED_BYTE){t=!0;break}return t?Ze.FLOAT:Ze.UNSIGNED_BYTE}function fte(e,t){let n=e[t].componentsPerAttribute;return n===2?U:n===3?h:n===4?oe:Number}function oRe(e,t){let n=new Array(e.length),i=0,o=e.length;for(let r=0;r<o;++r){let a=e[r].componentDatatype;n[r]=i,a!==X.UNSIGNED_BYTE&&t?i+=4:++i}return n}function rRe(e,t,n){let i=e.length,o=e[i-1];return t[i-1].componentDatatype!==X.UNSIGNED_BYTE&&n?o+4:o+1}var xv=new oe;function sRe(e,t,n){let i=oe.unpack(e,t,xv),o=oe.unpackFloat(i);i=oe.unpack(e,t+4,xv);let r=oe.unpackFloat(i);i=oe.unpack(e,t+8,xv);let s=oe.unpackFloat(i);i=oe.unpack(e,t+12,xv);let a=oe.unpackFloat(i);return oe.fromElements(o,r,s,a,n)}function aRe(e,t,n){let i=oe.packFloat(e.x,xv);oe.pack(i,t,n),i=oe.packFloat(e.y,i),oe.pack(i,t,n+4),i=oe.packFloat(e.z,i),oe.pack(i,t,n+8),i=oe.packFloat(e.w,i),oe.pack(i,t,n+12)}var ute=new oe;dp.prototype.getBatchedAttribute=function(e,t,n){let i=this._attributes,o=this._offsets[t],s=4*this._stride*e+4*o,a;this._packFloats&&i[t].componentDatatype!==Ze.UNSIGNED_BYTE?a=sRe(this._batchValues,s,ute):a=oe.unpack(this._batchValues,s,ute);let c=fte(i,t);return l(c.fromCartesian4)?c.fromCartesian4(a,n):l(c.clone)?c.clone(a,n):a.x};var cRe=[void 0,void 0,new U,new h,new oe],lRe=new oe;dp.prototype.setBatchedAttribute=function(e,t,n){let i=this._attributes,o=cRe[i[t].componentsPerAttribute],r=this.getBatchedAttribute(e,t,o),s=fte(this._attributes,t);if(l(s.equals)?s.equals(r,n):r===n)return;let c=lRe;c.x=l(n.x)?n.x:n,c.y=l(n.y)?n.y:0,c.z=l(n.z)?n.z:0,c.w=l(n.w)?n.w:0;let u=this._offsets[t],d=4*this._stride*e+4*u;this._packFloats&&i[t].componentDatatype!==Ze.UNSIGNED_BYTE?aRe(c,this._batchValues,d):oe.pack(c,this._batchValues,d),this._batchValuesDirty=!0};function uRe(e,t){let n=e._textureDimensions;e._texture=new Pt({context:t,pixelFormat:ot.RGBA,pixelDatatype:e._pixelDatatype,width:n.x,height:n.y,sampler:$t.NEAREST,flipY:!1})}function fRe(e){let t=e._textureDimensions;e._texture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}dp.prototype.update=function(e){l(this._texture)&&!this._batchValuesDirty||this._attributes.length===0||(this._batchValuesDirty=!1,l(this._texture)||uRe(this,e.context),fRe(this))};dp.prototype.getUniformMapCallback=function(){let e=this;return function(t){return e._attributes.length===0?t:Ct(t,{batchTexture:function(){return e._texture},batchTextureDimensions:function(){return e._textureDimensions},batchTextureStep:function(){return e._textureStep}})}};function dRe(e){let t=e._stride;return e._textureDimensions.y===1?`uniform vec4 batchTextureStep; vec2 computeSt(float batchId) { float stepX = batchTextureStep.x; @@ -4824,26 +4869,26 @@ vec2 computeSt(float batchId) float yId = floor(batchId * numberOfAttributes / batchTextureDimensions.x); return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); } -`}function bRe(e){return e===1?"float":`vec${e}`}function TRe(e){return e===1?".x":e===2?".xy":e===3?".xyz":""}function CRe(e,t){let i=e._attributes[t],o=i.componentsPerAttribute,r=i.functionName,s=bRe(o),a=TRe(o),c=e._offsets[t],u=`${s} ${r}(float batchId) +`}function hRe(e){return e===1?"float":`vec${e}`}function mRe(e){return e===1?".x":e===2?".xy":e===3?".xyz":""}function pRe(e,t){let i=e._attributes[t],o=i.componentsPerAttribute,r=i.functionName,s=hRe(o),a=mRe(o),c=e._offsets[t],u=`${s} ${r}(float batchId) { vec2 st = computeSt(batchId); st.x += batchTextureStep.x * float(${c}); -`;return e._packFloats&&i.componentDatatype!==nt.UNSIGNED_BYTE?u+=`vec4 textureValue; +`;return e._packFloats&&i.componentDatatype!==Ze.UNSIGNED_BYTE?u+=`vec4 textureValue; textureValue.x = czm_unpackFloat(texture(batchTexture, st)); textureValue.y = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x, 0.0))); textureValue.z = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x * 2.0, 0.0))); textureValue.w = czm_unpackFloat(texture(batchTexture, st + vec2(batchTextureStep.x * 3.0, 0.0))); `:u+=` vec4 textureValue = texture(batchTexture, st); `,u+=` ${s} value = textureValue${a}; -`,e._pixelDatatype===nt.UNSIGNED_BYTE&&i.componentDatatype===X.UNSIGNED_BYTE&&!i.normalize?u+=`value *= 255.0; -`:e._pixelDatatype===nt.FLOAT&&i.componentDatatype===X.UNSIGNED_BYTE&&i.normalize&&(u+=`value /= 255.0; +`,e._pixelDatatype===Ze.UNSIGNED_BYTE&&i.componentDatatype===X.UNSIGNED_BYTE&&!i.normalize?u+=`value *= 255.0; +`:e._pixelDatatype===Ze.FLOAT&&i.componentDatatype===X.UNSIGNED_BYTE&&i.normalize&&(u+=`value /= 255.0; `),u+=` return value; } -`,u}lp.prototype.getVertexShaderCallback=function(){let e=this._attributes;if(e.length===0)return function(i){return i};let t=`uniform highp sampler2D batchTexture; -`;t+=`${xRe(this)} -`;let n=e.length;for(let i=0;i<n;++i)t+=CRe(this,i);return function(i){let o=i.indexOf("void main"),r=i.substring(0,o),s=i.substring(o);return`${r} +`,u}dp.prototype.getVertexShaderCallback=function(){let e=this._attributes;if(e.length===0)return function(i){return i};let t=`uniform highp sampler2D batchTexture; +`;t+=`${dRe(this)} +`;let n=e.length;for(let i=0;i<n;++i)t+=pRe(this,i);return function(i){let o=i.indexOf("void main"),r=i.substring(0,o),s=i.substring(o);return`${r} ${t} -${s}`}};lp.prototype.isDestroyed=function(){return!1};lp.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var MT=lp;var Zi={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4"};Zi.getMathType=function(e){switch(e){case Zi.SCALAR:return Number;case Zi.VEC2:return U;case Zi.VEC3:return h;case Zi.VEC4:return oe;case Zi.MAT2:return Fi;case Zi.MAT3:return Z;case Zi.MAT4:return F}};Zi.getNumberOfComponents=function(e){switch(e){case Zi.SCALAR:return 1;case Zi.VEC2:return 2;case Zi.VEC3:return 3;case Zi.VEC4:case Zi.MAT2:return 4;case Zi.MAT3:return 9;case Zi.MAT4:return 16}};Zi.getAttributeLocationCount=function(e){switch(e){case Zi.SCALAR:case Zi.VEC2:case Zi.VEC3:case Zi.VEC4:return 1;case Zi.MAT2:return 2;case Zi.MAT3:return 3;case Zi.MAT4:return 4}};Zi.getGlslType=function(e){switch(e){case Zi.SCALAR:return"float";case Zi.VEC2:return"vec2";case Zi.VEC3:return"vec3";case Zi.VEC4:return"vec4";case Zi.MAT2:return"mat2";case Zi.MAT3:return"mat3";case Zi.MAT4:return"mat4"}};var rn=Object.freeze(Zi);var Mee=1/256,Lee=256,po={};po.octEncodeInRange=function(e,t,n){if(n.x=e.x/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),n.y=e.y/(Math.abs(e.x)+Math.abs(e.y)+Math.abs(e.z)),e.z<0){let i=n.x,o=n.y;n.x=(1-Math.abs(o))*P.signNotZero(i),n.y=(1-Math.abs(i))*P.signNotZero(o)}return n.x=P.toSNorm(n.x,t),n.y=P.toSNorm(n.y,t),n};po.octEncode=function(e,t){return po.octEncodeInRange(e,255,t)};var lw=new U,Nee=new Uint8Array(1);function CL(e){return Nee[0]=e,Nee[0]}po.octEncodeToCartesian4=function(e,t){return po.octEncodeInRange(e,65535,lw),t.x=CL(lw.x*Mee),t.y=CL(lw.x),t.z=CL(lw.y*Mee),t.w=CL(lw.y),t};po.octDecodeInRange=function(e,t,n,i){if(i.x=P.fromSNorm(e,n),i.y=P.fromSNorm(t,n),i.z=1-(Math.abs(i.x)+Math.abs(i.y)),i.z<0){let o=i.x;i.x=(1-Math.abs(i.y))*P.signNotZero(o),i.y=(1-Math.abs(o))*P.signNotZero(i.y)}return h.normalize(i,i)};po.octDecode=function(e,t,n){return po.octDecodeInRange(e,t,255,n)};po.octDecodeFromCartesian4=function(e,t){let n=e.x,i=e.y,o=e.z,r=e.w,s=n*Lee+i,a=o*Lee+r;return po.octDecodeInRange(s,a,65535,t)};po.octPackFloat=function(e){return 256*e.x+e.y};var g6=new U;po.octEncodeFloat=function(e){return po.octEncode(e,g6),po.octPackFloat(g6)};po.octDecodeFloat=function(e,t){let n=e/256,i=Math.floor(n),o=(n-i)*256;return po.octDecode(i,o,t)};po.octPack=function(e,t,n,i){let o=po.octEncodeFloat(e),r=po.octEncodeFloat(t),s=po.octEncode(n,g6);return i.x=65536*s.x+o,i.y=65536*s.y+r,i};po.octUnpack=function(e,t,n,i){let o=e.x/65536,r=Math.floor(o),s=(o-r)*65536;o=e.y/65536;let a=Math.floor(o),c=(o-a)*65536;po.octDecodeFloat(s,t),po.octDecodeFloat(c,n),po.octDecode(r,a,i)};po.compressTextureCoordinates=function(e){let t=e.x*4095|0,n=e.y*4095|0;return 4096*t+n};po.decompressTextureCoordinates=function(e,t){let n=e/4096,i=Math.floor(n);return t.x=i/4095,t.y=(e-i*4096)/4095,t};function _6(e){return e>>1^-(e&1)}po.zigZagDeltaDecode=function(e,t,n){let i=e.length,o=0,r=0,s=0;for(let a=0;a<i;++a)o+=_6(e[a]),r+=_6(t[a]),e[a]=o,t[a]=r,l(n)&&(s+=_6(n[a]),n[a]=s)};po.dequantize=function(e,t,n,i){let o=rn.getNumberOfComponents(n),r;switch(t){case X.BYTE:r=127;break;case X.UNSIGNED_BYTE:r=255;break;case X.SHORT:r=32767;break;case X.UNSIGNED_SHORT:r=65535;break;case X.INT:r=2147483647;break;case X.UNSIGNED_INT:r=4294967295;break}let s=new Float32Array(i*o);for(let a=0;a<i;a++)for(let c=0;c<o;c++){let u=a*o+c;s[u]=Math.max(e[u]/r,-1)}return s};po.decodeRGB565=function(e,t){let n=e.length;l(t)||(t=new Float32Array(n*3));let i=31,o=63,r=1/31,s=1/63;for(let a=0;a<n;a++){let c=e[a],u=c>>11,f=c>>5&o,d=c&i,p=3*a;t[p]=u*r,t[p+1]=f*s,t[p+2]=d*r}return t};var Fn=po;var Fee=new h,Bee=new h,kee=new h;function ARe(e,t,n,i,o){l(o)||(o=new h);let r,s,a,c,u,f,d,p;if(l(t.z)){if(h.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(h.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(h.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=h.subtract(n,t,Fee),s=h.subtract(i,t,Bee),a=h.subtract(e,t,kee),c=h.dot(r,r),u=h.dot(r,s),f=h.dot(r,a),d=h.dot(s,s),p=h.dot(s,a)}else{if(U.equalsEpsilon(e,t,P.EPSILON14))return h.clone(h.UNIT_X,o);if(U.equalsEpsilon(e,n,P.EPSILON14))return h.clone(h.UNIT_Y,o);if(U.equalsEpsilon(e,i,P.EPSILON14))return h.clone(h.UNIT_Z,o);r=U.subtract(n,t,Fee),s=U.subtract(i,t,Bee),a=U.subtract(e,t,kee),c=U.dot(r,r),u=U.dot(r,s),f=U.dot(r,a),d=U.dot(s,s),p=U.dot(s,a)}o.y=d*f-u*p,o.z=c*p-u*f;let g=c*d-u*u;if(g!==0)return o.y/=g,o.z/=g,o.x=1-o.y-o.z,o}var LT=ARe;var y6={};y6.calculateACMR=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o=t.length;if(!l(n)){n=0;let a=0,c=t[a];for(;a<o;)c>n&&(n=c),++a,c=t[a]}let r=[];for(let a=0;a<n+1;a++)r[a]=0;let s=i+1;for(let a=0;a<o;++a)s-r[t[a]]>i&&(r[t[a]]=s,++s);return(s-i+1)/(o/3)};y6.tipsify=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.indices,n=e.maximumIndex,i=y(e.cacheSize,24),o;function r(_,E,v,I){for(;E.length>=1;){let N=E[E.length-1];if(E.splice(E.length-1,1),_[N].numLiveTriangles>0)return N}for(;o<I;){if(_[o].numLiveTriangles>0)return++o,o-1;++o}return-1}function s(_,E,v,I,N,B,z){let V=-1,G,k=-1,Y=0;for(;Y<v.length;){let W=v[Y];I[W].numLiveTriangles&&(G=0,N-I[W].timeStamp+2*I[W].numLiveTriangles<=E&&(G=N-I[W].timeStamp),(G>k||k===-1)&&(k=G,V=W)),++Y}return V===-1?r(I,B,_,z):V}let a=t.length,c=0,u=0,f=t[u],d=a;if(l(n))c=n+1;else{for(;u<d;)f>c&&(c=f),++u,f=t[u];if(c===-1)return 0;++c}let p=[],g;for(g=0;g<c;g++)p[g]={numLiveTriangles:0,timeStamp:0,vertexTriangles:[]};u=0;let m=0;for(;u<d;)p[t[u]].vertexTriangles.push(m),++p[t[u]].numLiveTriangles,p[t[u+1]].vertexTriangles.push(m),++p[t[u+1]].numLiveTriangles,p[t[u+2]].vertexTriangles.push(m),++p[t[u+2]].numLiveTriangles,++m,u+=3;let x=0,b=i+1;o=1;let T=[],C=[],A,S,w=0,D=[],O=a/3,R=[];for(g=0;g<O;g++)R[g]=!1;let M,L;for(;x!==-1;){T=[],S=p[x],L=S.vertexTriangles.length;for(let _=0;_<L;++_)if(m=S.vertexTriangles[_],!R[m]){R[m]=!0,u=m+m+m;for(let E=0;E<3;++E)M=t[u],T.push(M),C.push(M),D[w]=M,++w,A=p[M],--A.numLiveTriangles,b-A.timeStamp>i&&(A.timeStamp=b,++b),++u}x=s(t,i,T,p,b,C,c)}return D};var AL=y6;var wc={};function PL(e,t,n,i,o){e[t++]=n,e[t++]=i,e[t++]=i,e[t++]=o,e[t++]=o,e[t]=n}function ERe(e){let t=e.length,n=t/3*6,i=Be.createTypedArray(t,n),o=0;for(let r=0;r<t;r+=3,o+=6)PL(i,o,e[r],e[r+1],e[r+2]);return i}function SRe(e){let t=e.length;if(t>=3){let n=(t-2)*6,i=Be.createTypedArray(t,n);PL(i,0,e[0],e[1],e[2]);let o=6;for(let r=3;r<t;++r,o+=6)PL(i,o,e[r-1],e[r],e[r-2]);return i}return new Uint16Array}function wRe(e){if(e.length>0){let t=e.length-1,n=(t-1)*6,i=Be.createTypedArray(t,n),o=e[0],r=0;for(let s=1;s<t;++s,r+=6)PL(i,r,o,e[s],e[s+1]);return i}return new Uint16Array}wc.toWireframe=function(e){let t=e.indices;if(l(t)){switch(e.primitiveType){case Fe.TRIANGLES:e.indices=ERe(t);break;case Fe.TRIANGLE_STRIP:e.indices=SRe(t);break;case Fe.TRIANGLE_FAN:e.indices=wRe(t);break}e.primitiveType=Fe.LINES}return e};wc.createLineSegmentsForVectors=function(e,t,n){t=y(t,"normal"),n=y(n,1e4);let i=e.attributes.position.values,o=e.attributes[t].values,r=i.length,s=new Float64Array(2*r),a=0;for(let f=0;f<r;f+=3)s[a++]=i[f],s[a++]=i[f+1],s[a++]=i[f+2],s[a++]=i[f]+o[f]*n,s[a++]=i[f+1]+o[f+1]*n,s[a++]=i[f+2]+o[f+2]*n;let c,u=e.boundingSphere;return l(u)&&(c=new ae(u.center,u.radius+n)),new dt({attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})},primitiveType:Fe.LINES,boundingSphere:c})};wc.createAttributeLocations=function(e){let t=["position","positionHigh","positionLow","position3DHigh","position3DLow","position2DHigh","position2DLow","pickColor","normal","st","tangent","bitangent","extrudeDirection","compressedAttributes"],n=e.attributes,i={},o=0,r,s=t.length;for(r=0;r<s;++r){let a=t[r];l(n[a])&&(i[a]=o++)}for(let a in n)n.hasOwnProperty(a)&&!l(i[a])&&(i[a]=o++);return i};wc.reorderForPreVertexCache=function(e){let t=dt.computeNumberOfVertices(e),n=e.indices;if(l(n)){let i=new Int32Array(t);for(let p=0;p<t;p++)i[p]=-1;let o=n,r=o.length,s=Be.createTypedArray(t,r),a=0,c=0,u=0,f;for(;a<r;)f=i[o[a]],f!==-1?s[c]=f:(f=o[a],i[f]=u,s[c]=u,++u),++a,++c;e.indices=s;let d=e.attributes;for(let p in d)if(d.hasOwnProperty(p)&&l(d[p])&&l(d[p].values)){let g=d[p],m=g.values,x=0,b=g.componentsPerAttribute,T=X.createTypedArray(g.componentDatatype,u*b);for(;x<t;){let C=i[x];if(C!==-1)for(let A=0;A<b;A++)T[b*C+A]=m[b*x+A];++x}g.values=T}}return e};wc.reorderForPostVertexCache=function(e,t){let n=e.indices;if(e.primitiveType===Fe.TRIANGLES&&l(n)){let i=n.length,o=0;for(let r=0;r<i;r++)n[r]>o&&(o=n[r]);e.indices=AL.tipsify({indices:n,maximumIndex:o,cacheSize:t})}return e};function Vee(e){let t={};for(let n in e)if(e.hasOwnProperty(n)&&l(e[n])&&l(e[n].values)){let i=e[n];t[n]=new Ee({componentDatatype:i.componentDatatype,componentsPerAttribute:i.componentsPerAttribute,normalize:i.normalize,values:[]})}return t}function vRe(e,t,n){for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];for(let r=0;r<o.componentsPerAttribute;++r)e[i].values.push(o.values[n*o.componentsPerAttribute+r])}}wc.fitToUnsignedShortIndices=function(e){let t=[],n=dt.computeNumberOfVertices(e);if(l(e.indices)&&n>=P.SIXTY_FOUR_KILOBYTES){let i=[],o=[],r=0,s=Vee(e.attributes),a=e.indices,c=a.length,u;e.primitiveType===Fe.TRIANGLES?u=3:e.primitiveType===Fe.LINES?u=2:e.primitiveType===Fe.POINTS&&(u=1);for(let f=0;f<c;f+=u){for(let d=0;d<u;++d){let p=a[f+d],g=i[p];l(g)||(g=r++,i[p]=g,vRe(s,e.attributes,p)),o.push(g)}r+u>=P.SIXTY_FOUR_KILOBYTES&&(t.push(new dt({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV})),i=[],o=[],r=0,s=Vee(e.attributes))}o.length!==0&&t.push(new dt({attributes:s,indices:o,primitiveType:e.primitiveType,boundingSphere:e.boundingSphere,boundingSphereCV:e.boundingSphereCV}))}else t.push(e);return t};var Uee=new h,DRe=new fe;wc.projectTo2D=function(e,t,n,i,o){let r=e.attributes[t];o=l(o)?o:new vi;let s=o.ellipsoid,a=r.values,c=new Float64Array(a.length),u=0;for(let f=0;f<a.length;f+=3){let d=h.fromArray(a,f,Uee),p=s.cartesianToCartographic(d,DRe),g=o.project(p,Uee);c[u++]=g.x,c[u++]=g.y,c[u++]=g.z}return e.attributes[n]=r,e.attributes[i]=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c}),delete e.attributes[t],e};var x6={high:0,low:0};wc.encodeAttribute=function(e,t,n,i){let o=e.attributes[t],r=o.values,s=r.length,a=new Float32Array(s),c=new Float32Array(s);for(let f=0;f<s;++f)Wn.encode(r[f],x6),a[f]=x6.high,c[f]=x6.low;let u=o.componentsPerAttribute;return e.attributes[n]=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:a}),e.attributes[i]=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:u,values:c}),delete e.attributes[t],e};var cd=new h;function b6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,cd),F.multiplyByPoint(e,cd,cd),h.pack(cd,n,o)}}function T6(e,t){if(l(t)){let n=t.values,i=n.length;for(let o=0;o<i;o+=3)h.unpack(n,o,cd),Z.multiplyByVector(e,cd,cd),cd=h.normalize(cd,cd),h.pack(cd,n,o)}}var EL=new F,SL=new Z;wc.transformToWorldCoordinates=function(e){let t=e.modelMatrix;if(F.equals(t,F.IDENTITY))return e;let n=e.geometry.attributes;b6(t,n.position),b6(t,n.prevPosition),b6(t,n.nextPosition),(l(n.normal)||l(n.tangent)||l(n.bitangent))&&(F.inverse(t,EL),F.transpose(EL,EL),F.getMatrix3(EL,SL),T6(SL,n.normal),T6(SL,n.tangent),T6(SL,n.bitangent));let i=e.geometry.boundingSphere;return l(i)&&(e.geometry.boundingSphere=ae.transform(i,t,i)),e.modelMatrix=F.clone(F.IDENTITY),e};function IRe(e,t){let n=e.length,i={},o=e[0][t].attributes,r;for(r in o)if(o.hasOwnProperty(r)&&l(o[r])&&l(o[r].values)){let s=o[r],a=s.values.length,c=!0;for(let u=1;u<n;++u){let f=e[u][t].attributes[r];if(!l(f)||s.componentDatatype!==f.componentDatatype||s.componentsPerAttribute!==f.componentsPerAttribute||s.normalize!==f.normalize){c=!1;break}a+=f.values.length}c&&(i[r]=new Ee({componentDatatype:s.componentDatatype,componentsPerAttribute:s.componentsPerAttribute,normalize:s.normalize,values:X.createTypedArray(s.componentDatatype,a)}))}return i}var PRe=new h;function C6(e,t){let n=e.length,i,o,r,s,a=e[0].modelMatrix,c=l(e[0][t].indices),u=e[0][t].primitiveType,f=IRe(e,t),d,p,g;for(i in f)if(f.hasOwnProperty(i))for(d=f[i].values,s=0,o=0;o<n;++o)for(p=e[o][t].attributes[i].values,g=p.length,r=0;r<g;++r)d[s++]=p[r];let m;if(c){let C=0;for(o=0;o<n;++o)C+=e[o][t].indices.length;let A=dt.computeNumberOfVertices(new dt({attributes:f,primitiveType:Fe.POINTS})),S=Be.createTypedArray(A,C),w=0,D=0;for(o=0;o<n;++o){let O=e[o][t].indices,R=O.length;for(s=0;s<R;++s)S[w++]=D+O[s];D+=dt.computeNumberOfVertices(e[o][t])}m=S}let x=new h,b=0,T;for(o=0;o<n;++o){if(T=e[o][t].boundingSphere,!l(T)){x=void 0;break}h.add(T.center,x,x)}if(l(x))for(h.divideByScalar(x,n,x),o=0;o<n;++o){T=e[o][t].boundingSphere;let C=h.magnitude(h.subtract(T.center,x,PRe))+T.radius;C>b&&(b=C)}return new dt({attributes:f,indices:m,primitiveType:u,boundingSphere:l(x)?new ae(x,b):void 0})}wc.combineInstances=function(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let s=e[r];l(s.geometry)?t.push(s):l(s.westHemisphereGeometry)&&l(s.eastHemisphereGeometry)&&n.push(s)}let o=[];return t.length>0&&o.push(C6(t,"geometry")),n.length>0&&(o.push(C6(n,"westHemisphereGeometry")),o.push(C6(n,"eastHemisphereGeometry"))),o};var Yu=new h,uw=new h,NT=new h,FT=new h;wc.computeNormal=function(e){let t=e.indices,n=e.attributes,i=n.position.values,o=n.position.values.length/3,r=t.length,s=new Array(o),a=new Array(r/3),c=new Array(r),u;for(u=0;u<o;u++)s[u]={indexOffset:0,count:0,currentCount:0};let f=0;for(u=0;u<r;u+=3){let m=t[u],x=t[u+1],b=t[u+2],T=m*3,C=x*3,A=b*3;uw.x=i[T],uw.y=i[T+1],uw.z=i[T+2],NT.x=i[C],NT.y=i[C+1],NT.z=i[C+2],FT.x=i[A],FT.y=i[A+1],FT.z=i[A+2],s[m].count++,s[x].count++,s[b].count++,h.subtract(NT,uw,NT),h.subtract(FT,uw,FT),a[f]=h.cross(NT,FT,new h),f++}let d=0;for(u=0;u<o;u++)s[u].indexOffset+=d,d+=s[u].count;f=0;let p;for(u=0;u<r;u+=3){p=s[t[u]];let m=p.indexOffset+p.currentCount;c[m]=f,p.currentCount++,p=s[t[u+1]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,p=s[t[u+2]],m=p.indexOffset+p.currentCount,c[m]=f,p.currentCount++,f++}let g=new Float32Array(o*3);for(u=0;u<o;u++){let m=u*3;if(p=s[u],h.clone(h.ZERO,Yu),p.count>0){for(f=0;f<p.count;f++)h.add(Yu,a[c[p.indexOffset+f]],Yu);h.equalsEpsilon(h.ZERO,Yu,P.EPSILON10)&&h.clone(a[c[p.indexOffset]],Yu)}h.equalsEpsilon(h.ZERO,Yu,P.EPSILON10)&&(Yu.z=1),h.normalize(Yu,Yu),g[m]=Yu.x,g[m+1]=Yu.y,g[m+2]=Yu.z}return e.attributes.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e};var RRe=new h,zee=new h,ORe=new h;wc.computeTangentAndBitangent=function(e){let t=e.attributes,n=e.indices,i=e.attributes.position.values,o=e.attributes.normal.values,r=e.attributes.st.values,s=e.attributes.position.values.length/3,a=n.length,c=new Array(s*3),u;for(u=0;u<c.length;u++)c[u]=0;let f,d,p;for(u=0;u<a;u+=3){let x=n[u],b=n[u+1],T=n[u+2];f=x*3,d=b*3,p=T*3;let C=x*2,A=b*2,S=T*2,w=i[f],D=i[f+1],O=i[f+2],R=r[C],M=r[C+1],L=r[A+1]-M,_=r[S+1]-M,E=1/((r[A]-R)*_-(r[S]-R)*L),v=(_*(i[d]-w)-L*(i[p]-w))*E,I=(_*(i[d+1]-D)-L*(i[p+1]-D))*E,N=(_*(i[d+2]-O)-L*(i[p+2]-O))*E;c[f]+=v,c[f+1]+=I,c[f+2]+=N,c[d]+=v,c[d+1]+=I,c[d+2]+=N,c[p]+=v,c[p+1]+=I,c[p+2]+=N}let g=new Float32Array(s*3),m=new Float32Array(s*3);for(u=0;u<s;u++){f=u*3,d=f+1,p=f+2;let x=h.fromArray(o,f,RRe),b=h.fromArray(c,f,ORe),T=h.dot(x,b);h.multiplyByScalar(x,T,zee),h.normalize(h.subtract(b,zee,b),b),g[f]=b.x,g[d]=b.y,g[p]=b.z,h.normalize(h.cross(x,b,b),b),m[f]=b.x,m[d]=b.y,m[p]=b.z}return e.attributes.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g}),e.attributes.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m}),e};var fw=new U,ad=new h,Hee=new h,Gee=new h,wL=new U;wc.compressVertices=function(e){let t=e.attributes.extrudeDirection,n,i;if(l(t)){let D=t.values;i=D.length/3;let O=new Float32Array(i*2),R=0;for(n=0;n<i;++n){if(h.fromArray(D,n*3,ad),h.equals(ad,h.ZERO)){R+=2;continue}wL=Fn.octEncodeInRange(ad,65535,wL),O[R++]=wL.x,O[R++]=wL.y}return e.attributes.compressedAttributes=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:O}),delete e.attributes.extrudeDirection,e}let o=e.attributes.normal,r=e.attributes.st,s=l(o),a=l(r);if(!s&&!a)return e;let c=e.attributes.tangent,u=e.attributes.bitangent,f=l(c),d=l(u),p,g,m,x;s&&(p=o.values),a&&(g=r.values),f&&(m=c.values),d&&(x=u.values),i=(s?p.length:g.length)/(s?3:2);let C=i,A=a&&s?2:1;A+=f||d?1:0,C*=A;let S=new Float32Array(C),w=0;for(n=0;n<i;++n){a&&(U.fromArray(g,n*2,fw),S[w++]=Fn.compressTextureCoordinates(fw));let D=n*3;s&&l(m)&&l(x)?(h.fromArray(p,D,ad),h.fromArray(m,D,Hee),h.fromArray(x,D,Gee),Fn.octPack(ad,Hee,Gee,fw),S[w++]=fw.x,S[w++]=fw.y):(s&&(h.fromArray(p,D,ad),S[w++]=Fn.octEncodeFloat(ad)),f&&(h.fromArray(m,D,ad),S[w++]=Fn.octEncodeFloat(ad)),d&&(h.fromArray(x,D,ad),S[w++]=Fn.octEncodeFloat(ad)))}return e.attributes.compressedAttributes=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:A,values:S}),s&&delete e.attributes.normal,a&&delete e.attributes.st,d&&delete e.attributes.bitangent,f&&delete e.attributes.tangent,e};function MRe(e){if(l(e.indices))return e;let t=dt.computeNumberOfVertices(e),n=Be.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function LRe(e){let t=dt.computeNumberOfVertices(e),n=Be.createTypedArray(t,(t-2)*3);n[0]=1,n[1]=0,n[2]=2;let i=3;for(let o=3;o<t;++o)n[i++]=o-1,n[i++]=0,n[i++]=o;return e.indices=n,e.primitiveType=Fe.TRIANGLES,e}function NRe(e){let t=dt.computeNumberOfVertices(e),n=Be.createTypedArray(t,(t-2)*3);n[0]=0,n[1]=1,n[2]=2,t>3&&(n[3]=0,n[4]=2,n[5]=3);let i=6;for(let o=3;o<t-1;o+=2)n[i++]=o,n[i++]=o-1,n[i++]=o+1,o+2<t&&(n[i++]=o,n[i++]=o+1,n[i++]=o+2);return e.indices=n,e.primitiveType=Fe.TRIANGLES,e}function FRe(e){if(l(e.indices))return e;let t=dt.computeNumberOfVertices(e),n=Be.createTypedArray(t,t);for(let i=0;i<t;++i)n[i]=i;return e.indices=n,e}function BRe(e){let t=dt.computeNumberOfVertices(e),n=Be.createTypedArray(t,(t-1)*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return e.indices=n,e.primitiveType=Fe.LINES,e}function kRe(e){let t=dt.computeNumberOfVertices(e),n=Be.createTypedArray(t,t*2);n[0]=0,n[1]=1;let i=2;for(let o=2;o<t;++o)n[i++]=o-1,n[i++]=o;return n[i++]=t-1,n[i]=0,e.indices=n,e.primitiveType=Fe.LINES,e}function VRe(e){switch(e.primitiveType){case Fe.TRIANGLE_FAN:return LRe(e);case Fe.TRIANGLE_STRIP:return NRe(e);case Fe.TRIANGLES:return MRe(e);case Fe.LINE_STRIP:return BRe(e);case Fe.LINE_LOOP:return kRe(e);case Fe.LINES:return FRe(e)}return e}function Y_(e,t){Math.abs(e.y)<P.EPSILON6&&(t?e.y=-P.EPSILON6:e.y=P.EPSILON6)}function URe(e,t,n){if(e.y!==0&&t.y!==0&&n.y!==0){Y_(e,e.y<0),Y_(t,t.y<0),Y_(n,n.y<0);return}let i=Math.abs(e.y),o=Math.abs(t.y),r=Math.abs(n.y),s;i>o?i>r?s=P.sign(e.y):s=P.sign(n.y):o>r?s=P.sign(t.y):s=P.sign(n.y);let a=s<0;Y_(e,a),Y_(t,a),Y_(n,a)}var Wee=new h;function Xu(e,t,n,i){h.add(e,h.multiplyByScalar(h.subtract(t,e,Wee),e.y/(e.y-t.y),Wee),n),h.clone(n,i),Y_(n,!0),Y_(i,!1)}var B0=new h,k0=new h,V0=new h,U0=new h,A6={positions:new Array(7),indices:new Array(3*3)};function zRe(e,t,n){if(e.x>=0||t.x>=0||n.x>=0)return;URe(e,t,n);let i=e.y<0,o=t.y<0,r=n.y<0,s=0;s+=i?1:0,s+=o?1:0,s+=r?1:0;let a=A6.indices;s===1?(a[1]=3,a[2]=4,a[5]=6,a[7]=6,a[8]=5,i?(Xu(e,t,B0,V0),Xu(e,n,k0,U0),a[0]=0,a[3]=1,a[4]=2,a[6]=1):o?(Xu(t,n,B0,V0),Xu(t,e,k0,U0),a[0]=1,a[3]=2,a[4]=0,a[6]=2):r&&(Xu(n,e,B0,V0),Xu(n,t,k0,U0),a[0]=2,a[3]=0,a[4]=1,a[6]=0)):s===2&&(a[2]=4,a[4]=4,a[5]=3,a[7]=5,a[8]=6,i?o?r||(Xu(n,e,B0,V0),Xu(n,t,k0,U0),a[0]=0,a[1]=1,a[3]=0,a[6]=2):(Xu(t,n,B0,V0),Xu(t,e,k0,U0),a[0]=2,a[1]=0,a[3]=2,a[6]=1):(Xu(e,t,B0,V0),Xu(e,n,k0,U0),a[0]=1,a[1]=2,a[3]=1,a[6]=0));let c=A6.positions;return c[0]=e,c[1]=t,c[2]=n,c.length=3,(s===1||s===2)&&(c[3]=B0,c[4]=k0,c[5]=V0,c[6]=U0,c.length=7),A6}function jee(e,t){let n=e.attributes;if(n.position.values.length===0)return;for(let o in n)if(n.hasOwnProperty(o)&&l(n[o])&&l(n[o].values)){let r=n[o];r.values=X.createTypedArray(r.componentDatatype,r.values)}let i=dt.computeNumberOfVertices(e);return e.indices=Be.createTypedArray(i,e.indices),t&&(e.boundingSphere=ae.fromVertices(n.position.values)),e}function kT(e){let t=e.attributes,n={};for(let i in t)if(t.hasOwnProperty(i)&&l(t[i])&&l(t[i].values)){let o=t[i];n[i]=new Ee({componentDatatype:o.componentDatatype,componentsPerAttribute:o.componentsPerAttribute,normalize:o.normalize,values:[]})}return new dt({attributes:n,indices:[],primitiveType:e.primitiveType})}function v6(e,t,n){let i=l(e.geometry.boundingSphere);t=jee(t,i),n=jee(n,i),l(n)&&!l(t)?e.geometry=n:!l(n)&&l(t)?e.geometry=t:(e.westHemisphereGeometry=t,e.eastHemisphereGeometry=n,e.geometry=void 0)}function D6(e,t){let n=new e,i=new e,o=new e;return function(r,s,a,c,u,f,d,p){let g=e.fromArray(u,r*t,n),m=e.fromArray(u,s*t,i),x=e.fromArray(u,a*t,o);e.multiplyByScalar(g,c.x,g),e.multiplyByScalar(m,c.y,m),e.multiplyByScalar(x,c.z,x);let b=e.add(g,m,g);e.add(b,x,b),p&&e.normalize(b,b),e.pack(b,f,d*t)}}var HRe=D6(oe,4),IL=D6(h,3),Zee=D6(U,2),GRe=function(e,t,n,i,o,r,s){let a=o[e]*i.x,c=o[t]*i.y,u=o[n]*i.z;r[s]=a+c+u>P.EPSILON6?1:0},dw=new h,E6=new h,S6=new h,WRe=new h;function vL(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){if(!l(r)&&!l(s)&&!l(a)&&!l(c)&&!l(u)&&g===0)return;let b=h.fromArray(o,e*3,dw),T=h.fromArray(o,t*3,E6),C=h.fromArray(o,n*3,S6),A=LT(i,b,T,C,WRe);if(l(A)){if(l(r)&&IL(e,t,n,A,r,d.normal.values,x,!0),l(u)){let S=h.fromArray(u,e*3,dw),w=h.fromArray(u,t*3,E6),D=h.fromArray(u,n*3,S6);h.multiplyByScalar(S,A.x,S),h.multiplyByScalar(w,A.y,w),h.multiplyByScalar(D,A.z,D);let O;!h.equals(S,h.ZERO)||!h.equals(w,h.ZERO)||!h.equals(D,h.ZERO)?(O=h.add(S,w,S),h.add(O,D,O),h.normalize(O,O)):(O=dw,O.x=0,O.y=0,O.z=0),h.pack(O,d.extrudeDirection.values,x*3)}if(l(f)&&GRe(e,t,n,A,f,d.applyOffset.values,x),l(s)&&IL(e,t,n,A,s,d.tangent.values,x,!0),l(a)&&IL(e,t,n,A,a,d.bitangent.values,x,!0),l(c)&&Zee(e,t,n,A,c,d.st.values,x),g>0)for(let S=0;S<g;S++){let w=p[S];jRe(e,t,n,A,x,m[w],d[w])}}}function jRe(e,t,n,i,o,r,s){let a=r.componentsPerAttribute,c=r.values,u=s.values;switch(a){case 4:HRe(e,t,n,i,c,u,o,!1);break;case 3:IL(e,t,n,i,c,u,o,!1);break;case 2:Zee(e,t,n,i,c,u,o,!1);break;default:u[o]=c[e]*i.x+c[t]*i.y+c[n]*i.z}}function Dh(e,t,n,i,o,r){let s=e.position.values.length/3;if(o!==-1){let a=i[o],c=n[a];return c===-1?(n[a]=s,e.position.values.push(r.x,r.y,r.z),t.push(s),s):(t.push(c),c)}return e.position.values.push(r.x,r.y,r.z),t.push(s),s}var qRe={position:!0,normal:!0,bitangent:!0,tangent:!0,st:!0,extrudeDirection:!0,applyOffset:!0};function qee(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.normal)?n.normal.values:void 0,r=l(n.bitangent)?n.bitangent.values:void 0,s=l(n.tangent)?n.tangent.values:void 0,a=l(n.st)?n.st.values:void 0,c=l(n.extrudeDirection)?n.extrudeDirection.values:void 0,u=l(n.applyOffset)?n.applyOffset.values:void 0,f=t.indices,d=[];for(let O in n)n.hasOwnProperty(O)&&!qRe[O]&&l(n[O])&&d.push(O);let p=d.length,g=kT(t),m=kT(t),x,b,T,C,A,S=[];S.length=i.length/3;let w=[];for(w.length=i.length/3,A=0;A<S.length;++A)S[A]=-1,w[A]=-1;let D=f.length;for(A=0;A<D;A+=3){let O=f[A],R=f[A+1],M=f[A+2],L=h.fromArray(i,O*3),_=h.fromArray(i,R*3),E=h.fromArray(i,M*3),v=zRe(L,_,E);if(l(v)&&v.positions.length>3){let I=v.positions,N=v.indices,B=N.length;for(let z=0;z<B;++z){let V=N[z],G=I[V];G.y<0?(x=m.attributes,b=m.indices,T=S):(x=g.attributes,b=g.indices,T=w),C=Dh(x,b,T,f,V<3?A+V:-1,G),vL(O,R,M,G,i,o,s,r,a,c,u,x,d,p,n,C)}}else l(v)&&(L=v.positions[0],_=v.positions[1],E=v.positions[2]),L.y<0?(x=m.attributes,b=m.indices,T=S):(x=g.attributes,b=g.indices,T=w),C=Dh(x,b,T,f,A,L),vL(O,R,M,L,i,o,s,r,a,c,u,x,d,p,n,C),C=Dh(x,b,T,f,A+1,_),vL(O,R,M,_,i,o,s,r,a,c,u,x,d,p,n,C),C=Dh(x,b,T,f,A+2,E),vL(O,R,M,E,i,o,s,r,a,c,u,x,d,p,n,C)}v6(e,m,g)}var Qee=cn.fromPointNormal(h.ZERO,h.UNIT_Y),YRe=new h,XRe=new h;function BT(e,t,n,i,o,r,s){if(!l(s))return;let a=h.fromArray(i,e*3,dw);h.equalsEpsilon(a,n,P.EPSILON10)?r.applyOffset.values[o]=s[e]:r.applyOffset.values[o]=s[t]}function Yee(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=l(n.applyOffset)?n.applyOffset.values:void 0,r=t.indices,s=kT(t),a=kT(t),c,u=r.length,f=[];f.length=i.length/3;let d=[];for(d.length=i.length/3,c=0;c<f.length;++c)f[c]=-1,d[c]=-1;for(c=0;c<u;c+=2){let p=r[c],g=r[c+1],m=h.fromArray(i,p*3,dw),x=h.fromArray(i,g*3,E6),b;Math.abs(m.y)<P.EPSILON6&&(m.y<0?m.y=-P.EPSILON6:m.y=P.EPSILON6),Math.abs(x.y)<P.EPSILON6&&(x.y<0?x.y=-P.EPSILON6:x.y=P.EPSILON6);let T=s.attributes,C=s.indices,A=d,S=a.attributes,w=a.indices,D=f,O=Jn.lineSegmentPlane(m,x,Qee,S6);if(l(O)){let R=h.multiplyByScalar(h.UNIT_Y,5*P.EPSILON9,YRe);m.y<0&&(h.negate(R,R),T=a.attributes,C=a.indices,A=f,S=s.attributes,w=s.indices,D=d);let M=h.add(O,R,XRe);b=Dh(T,C,A,r,c,m),BT(p,g,m,i,b,T,o),b=Dh(T,C,A,r,-1,M),BT(p,g,M,i,b,T,o),h.negate(R,R),h.add(O,R,M),b=Dh(S,w,D,r,-1,M),BT(p,g,M,i,b,S,o),b=Dh(S,w,D,r,c+1,x),BT(p,g,x,i,b,S,o)}else{let R,M,L;m.y<0?(R=a.attributes,M=a.indices,L=f):(R=s.attributes,M=s.indices,L=d),b=Dh(R,M,L,r,c,m),BT(p,g,m,i,b,R,o),b=Dh(R,M,L,r,c+1,x),BT(p,g,x,i,b,R,o)}}v6(e,a,s)}var Xee=new U,KRe=new U,Jee=new h,ete=new h,w6=new h,$Re=new h,ZRe=new h,QRe=new h,Kee=new oe;function $ee(e){let t=e.attributes,n=t.position.values,i=t.prevPosition.values,o=t.nextPosition.values,r=n.length;for(let s=0;s<r;s+=3){let a=h.unpack(n,s,Jee);if(a.x>0)continue;let c=h.unpack(i,s,ete);(a.y<0&&c.y>0||a.y>0&&c.y<0)&&(s-3>0?(i[s]=n[s-3],i[s+1]=n[s-2],i[s+2]=n[s-1]):h.pack(a,i,s));let u=h.unpack(o,s,w6);(a.y<0&&u.y>0||a.y>0&&u.y<0)&&(s+3<r?(o[s]=n[s+3],o[s+1]=n[s+4],o[s+2]=n[s+5]):h.pack(a,o,s))}}var JRe=5*P.EPSILON9,DL=P.EPSILON6;function eOe(e){let t=e.geometry,n=t.attributes,i=n.position.values,o=n.prevPosition.values,r=n.nextPosition.values,s=n.expandAndWidth.values,a=l(n.st)?n.st.values:void 0,c=l(n.color)?n.color.values:void 0,u=kT(t),f=kT(t),d,p,g,m=!1,x=i.length/3;for(d=0;d<x;d+=4){let b=d,T=d+2,C=h.fromArray(i,b*3,Jee),A=h.fromArray(i,T*3,ete);if(Math.abs(C.y)<DL)for(C.y=DL*(A.y<0?-1:1),i[d*3+1]=C.y,i[(d+1)*3+1]=C.y,p=b*3;p<b*3+4*3;p+=3)o[p]=i[d*3],o[p+1]=i[d*3+1],o[p+2]=i[d*3+2];if(Math.abs(A.y)<DL)for(A.y=DL*(C.y<0?-1:1),i[(d+2)*3+1]=A.y,i[(d+3)*3+1]=A.y,p=b*3;p<b*3+4*3;p+=3)r[p]=i[(d+2)*3],r[p+1]=i[(d+2)*3+1],r[p+2]=i[(d+2)*3+2];let S=u.attributes,w=u.indices,D=f.attributes,O=f.indices,R=Jn.lineSegmentPlane(C,A,Qee,$Re);if(l(R)){m=!0;let M=h.multiplyByScalar(h.UNIT_Y,JRe,ZRe);C.y<0&&(h.negate(M,M),S=f.attributes,w=f.indices,D=u.attributes,O=u.indices);let L=h.add(R,M,QRe);S.position.values.push(C.x,C.y,C.z,C.x,C.y,C.z),S.position.values.push(L.x,L.y,L.z),S.position.values.push(L.x,L.y,L.z),S.prevPosition.values.push(o[b*3],o[b*3+1],o[b*3+2]),S.prevPosition.values.push(o[b*3+3],o[b*3+4],o[b*3+5]),S.prevPosition.values.push(C.x,C.y,C.z,C.x,C.y,C.z),S.nextPosition.values.push(L.x,L.y,L.z),S.nextPosition.values.push(L.x,L.y,L.z),S.nextPosition.values.push(L.x,L.y,L.z),S.nextPosition.values.push(L.x,L.y,L.z),h.negate(M,M),h.add(R,M,L),D.position.values.push(L.x,L.y,L.z),D.position.values.push(L.x,L.y,L.z),D.position.values.push(A.x,A.y,A.z,A.x,A.y,A.z),D.prevPosition.values.push(L.x,L.y,L.z),D.prevPosition.values.push(L.x,L.y,L.z),D.prevPosition.values.push(L.x,L.y,L.z),D.prevPosition.values.push(L.x,L.y,L.z),D.nextPosition.values.push(A.x,A.y,A.z,A.x,A.y,A.z),D.nextPosition.values.push(r[T*3],r[T*3+1],r[T*3+2]),D.nextPosition.values.push(r[T*3+3],r[T*3+4],r[T*3+5]);let _=U.fromArray(s,b*2,Xee),E=Math.abs(_.y);S.expandAndWidth.values.push(-1,E,1,E),S.expandAndWidth.values.push(-1,-E,1,-E),D.expandAndWidth.values.push(-1,E,1,E),D.expandAndWidth.values.push(-1,-E,1,-E);let v=h.magnitudeSquared(h.subtract(R,C,w6));if(v/=h.magnitudeSquared(h.subtract(A,C,w6)),l(c)){let I=oe.fromArray(c,b*4,Kee),N=oe.fromArray(c,T*4,Kee),B=P.lerp(I.x,N.x,v),z=P.lerp(I.y,N.y,v),V=P.lerp(I.z,N.z,v),G=P.lerp(I.w,N.w,v);for(p=b*4;p<b*4+2*4;++p)S.color.values.push(c[p]);for(S.color.values.push(B,z,V,G),S.color.values.push(B,z,V,G),D.color.values.push(B,z,V,G),D.color.values.push(B,z,V,G),p=T*4;p<T*4+2*4;++p)D.color.values.push(c[p])}if(l(a)){let I=U.fromArray(a,b*2,Xee),N=U.fromArray(a,(d+3)*2,KRe),B=P.lerp(I.x,N.x,v);for(p=b*2;p<b*2+2*2;++p)S.st.values.push(a[p]);for(S.st.values.push(B,I.y),S.st.values.push(B,N.y),D.st.values.push(B,I.y),D.st.values.push(B,N.y),p=T*2;p<T*2+2*2;++p)D.st.values.push(a[p])}g=S.position.values.length/3-4,w.push(g,g+2,g+1),w.push(g+1,g+2,g+3),g=D.position.values.length/3-4,O.push(g,g+2,g+1),O.push(g+1,g+2,g+3)}else{let M,L;for(C.y<0?(M=f.attributes,L=f.indices):(M=u.attributes,L=u.indices),M.position.values.push(C.x,C.y,C.z),M.position.values.push(C.x,C.y,C.z),M.position.values.push(A.x,A.y,A.z),M.position.values.push(A.x,A.y,A.z),p=d*3;p<d*3+4*3;++p)M.prevPosition.values.push(o[p]),M.nextPosition.values.push(r[p]);for(p=d*2;p<d*2+4*2;++p)M.expandAndWidth.values.push(s[p]),l(a)&&M.st.values.push(a[p]);if(l(c))for(p=d*4;p<d*4+4*4;++p)M.color.values.push(c[p]);g=M.position.values.length/3-4,L.push(g,g+2,g+1),L.push(g+1,g+2,g+3)}}m&&($ee(f),$ee(u)),v6(e,f,u)}wc.splitLongitude=function(e){let t=e.geometry,n=t.boundingSphere;if(l(n)&&(n.center.x-n.radius>0||ae.intersectPlane(n,cn.ORIGIN_ZX_PLANE)!==qt.INTERSECTING))return e;if(t.geometryType!==nd.NONE)switch(t.geometryType){case nd.POLYLINES:eOe(e);break;case nd.TRIANGLES:qee(e);break;case nd.LINES:Yee(e);break}else VRe(t),t.primitiveType===Fe.TRIANGLES?qee(e):t.primitiveType===Fe.LINES&&Yee(e);return e};var Un=wc;function cl(e){this._ellipsoid=y(e,ee.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(cl.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});cl.mercatorAngleToGeodeticLatitude=function(e){return P.PI_OVER_TWO-2*Math.atan(Math.exp(-e))};cl.geodeticLatitudeToMercatorAngle=function(e){e>cl.MaximumLatitude?e=cl.MaximumLatitude:e<-cl.MaximumLatitude&&(e=-cl.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};cl.MaximumLatitude=cl.mercatorAngleToGeodeticLatitude(Math.PI);cl.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=cl.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};cl.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=cl.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var Ii=cl;function tOe(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r<o;++r)if(!F.equals(s,e[r].modelMatrix)){i=!0;break}}if(i)for(r=0;r<o;++r)l(e[r].geometry)&&Un.transformToWorldCoordinates(e[r]);else F.multiplyTransformation(t,e[0].modelMatrix,t)}function I6(e,t){let n=e.attributes,i=n.position,o=i.values.length/i.componentsPerAttribute;n.batchId=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:1,values:new Float32Array(o)});let r=n.batchId.values;for(let s=0;s<o;++s)r[s]=t}function nOe(e){let t=e.length;for(let n=0;n<t;++n){let i=e[n];l(i.geometry)?I6(i.geometry,n):l(i.westHemisphereGeometry)&&l(i.eastHemisphereGeometry)&&(I6(i.westHemisphereGeometry,n),I6(i.eastHemisphereGeometry,n))}}function iOe(e){let t=e.instances,n=e.projection,i=e.elementIndexUintSupported,o=e.scene3DOnly,r=e.vertexCacheOptimize,s=e.compressVertices,a=e.modelMatrix,c,u,f,d=t.length;for(c=0;c<d;++c)if(l(t[c].geometry)){f=t[c].geometry.primitiveType;break}if(tOe(t,a,o),!o)for(c=0;c<d;++c)l(t[c].geometry)&&Un.splitLongitude(t[c]);if(nOe(t),r)for(c=0;c<d;++c){let g=t[c];l(g.geometry)?(Un.reorderForPostVertexCache(g.geometry),Un.reorderForPreVertexCache(g.geometry)):l(g.westHemisphereGeometry)&&l(g.eastHemisphereGeometry)&&(Un.reorderForPostVertexCache(g.westHemisphereGeometry),Un.reorderForPreVertexCache(g.westHemisphereGeometry),Un.reorderForPostVertexCache(g.eastHemisphereGeometry),Un.reorderForPreVertexCache(g.eastHemisphereGeometry))}let p=Un.combineInstances(t);for(d=p.length,c=0;c<d;++c){u=p[c];let g=u.attributes;if(o)for(let m in g)g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE&&Un.encodeAttribute(u,m,`${m}3DHigh`,`${m}3DLow`);else for(let m in g)if(g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE){let x=`${m}3D`,b=`${m}2D`;Un.projectTo2D(u,m,x,b,n),l(u.boundingSphere)&&m==="position"&&(u.boundingSphereCV=ae.fromVertices(u.attributes.position2D.values)),Un.encodeAttribute(u,x,`${x}High`,`${x}Low`),Un.encodeAttribute(u,b,`${b}High`,`${b}Low`)}s&&Un.compressVertices(u)}if(!i){let g=[];for(d=p.length,c=0;c<d;++c)u=p[c],g=g.concat(Un.fitToUnsignedShortIndices(u));p=g}return p}function P6(e,t,n,i){let o,r,s,a=i.length-1;if(a>=0){let u=i[a];o=u.offset+u.count,s=u.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let u=0;u<c;++u){let d=e[u][t];if(!l(d))continue;let p=d.indices.length;o+p>r&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function oOe(e,t){let n=[];return P6(e,"geometry",t,n),P6(e,"westHemisphereGeometry",t,n),P6(e,"eastHemisphereGeometry",t,n),n}var up={};up.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=iOe(e),t.length>0&&(n=Un.createAttributeLocations(t[0]),e.createPickOffsets&&(r=oOe(i,t))),l(i[0].attributes)&&l(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),u=new Array(o);for(let f=0;f<o;++f){let d=i[f],p=d.geometry;l(p)&&(c[f]=p.boundingSphere,u[f]=p.boundingSphereCV,a&&(s[f]=d.geometry.offsetAttribute));let g=d.eastHemisphereGeometry,m=d.westHemisphereGeometry;l(g)&&l(m)&&(l(g.boundingSphere)&&l(m.boundingSphere)&&(c[f]=ae.union(g.boundingSphere,m.boundingSphere)),l(g.boundingSphereCV)&&l(m.boundingSphereCV)&&(u[f]=ae.union(g.boundingSphereCV,m.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,pickOffsets:r,offsetInstanceExtend:s,boundingSpheres:c,boundingSpheresCV:u}};function rOe(e,t){let n=e.attributes;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];l(o)&&l(o.values)&&t.push(o.values.buffer)}l(e.indices)&&t.push(e.indices.buffer)}function sOe(e,t){let n=e.length;for(let i=0;i<n;++i)rOe(e[i],t)}function aOe(e){let t=1,n=e.length;for(let i=0;i<n;i++){let o=e[i];if(++t,!l(o))continue;let r=o.attributes;t+=7+2*ae.packedLength+(l(o.indices)?o.indices.length:0);for(let s in r)if(r.hasOwnProperty(s)&&l(r[s])){let a=r[s];t+=5+a.values.length}}return t}up.packCreateGeometryResults=function(e,t){let n=new Float64Array(aOe(e)),i=[],o={},r=e.length,s=0;n[s++]=r;for(let a=0;a<r;a++){let c=e[a],u=l(c);if(n[s++]=u?1:0,!u)continue;n[s++]=c.primitiveType,n[s++]=c.geometryType,n[s++]=y(c.offsetAttribute,-1);let f=l(c.boundingSphere)?1:0;n[s++]=f,f&&ae.pack(c.boundingSphere,n,s),s+=ae.packedLength;let d=l(c.boundingSphereCV)?1:0;n[s++]=d,d&&ae.pack(c.boundingSphereCV,n,s),s+=ae.packedLength;let p=c.attributes,g=[];for(let x in p)p.hasOwnProperty(x)&&l(p[x])&&(g.push(x),l(o[x])||(o[x]=i.length,i.push(x)));n[s++]=g.length;for(let x=0;x<g.length;x++){let b=g[x],T=p[b];n[s++]=o[b],n[s++]=T.componentDatatype,n[s++]=T.componentsPerAttribute,n[s++]=T.normalize?1:0,n[s++]=T.values.length,n.set(T.values,s),s+=T.values.length}let m=l(c.indices)?c.indices.length:0;n[s++]=m,m>0&&(n.set(c.indices,s),s+=m)}return t.push(n.buffer),{stringTable:i,packedData:n}};up.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s<n.length;){if(!(n[s++]===1)){o[r++]=void 0;continue}let c=n[s++],u=n[s++],f=n[s++];f===-1&&(f=void 0);let d,p;n[s++]===1&&(d=ae.unpack(n,s)),s+=ae.packedLength,n[s++]===1&&(p=ae.unpack(n,s)),s+=ae.packedLength;let x,b,T,C=new mn,A=n[s++];for(i=0;i<A;i++){let w=t[n[s++]],D=n[s++];T=n[s++];let O=n[s++]!==0;x=n[s++],b=X.createTypedArray(D,x);for(let R=0;R<x;R++)b[R]=n[s++];C[w]=new Ee({componentDatatype:D,componentsPerAttribute:T,normalize:O,values:b})}let S;if(x=n[s++],x>0){let w=b.length/T;for(S=Be.createTypedArray(w,x),i=0;i<x;i++)S[i]=n[s++]}o[r++]=new dt({primitiveType:c,geometryType:u,boundingSphere:d,boundingSphereCV:p,indices:S,attributes:C,offsetAttribute:f})}return o};function cOe(e,t){let n=e.length,i=new Float64Array(1+n*19),o=0;i[o++]=n;for(let r=0;r<n;r++){let s=e[r];if(F.pack(s.modelMatrix,i,o),o+=F.packedLength,l(s.attributes)&&l(s.attributes.offset)){let a=s.attributes.offset.value;i[o]=a[0],i[o+1]=a[1],i[o+2]=a[2]}o+=3}return t.push(i.buffer),i}function lOe(e){let t=e,n=new Array(t[0]),i=0,o=1;for(;o<t.length;){let r=F.unpack(t,o),s;o+=F.packedLength,l(t[o])&&(s={offset:new $i(t[o],t[o+1],t[o+2])}),o+=3,n[i++]={modelMatrix:r,attributes:s}}return n}up.packCombineGeometryParameters=function(e,t){let n=e.createGeometryResults,i=n.length;for(let o=0;o<i;o++)t.push(n[o].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:cOe(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof vi,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};up.unpackCombineGeometryParameters=function(e){let t=lOe(e.packedInstances),n=e.createGeometryResults,i=n.length,o=0;for(let a=0;a<i;a++){let c=up.unpackCreateGeometryResults(n[a]),u=c.length;for(let f=0;f<u;f++){let d=c[f],p=t[o];p.geometry=d,++o}}let r=ee.clone(e.ellipsoid),s=e.isGeographic?new vi(r):new Ii(r);return{instances:t,ellipsoid:r,projection:s,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:F.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function tte(e){let t=e.length,n=1+(ae.packedLength+1)*t,i=new Float32Array(n),o=0;i[o++]=t;for(let r=0;r<t;++r){let s=e[r];l(s)?(i[o++]=1,ae.pack(e[r],i,o)):i[o++]=0,o+=ae.packedLength}return i}function nte(e){let t=new Array(e[0]),n=0,i=1;for(;i<e.length;)e[i++]===1&&(t[n]=ae.unpack(e,i)),++n,i+=ae.packedLength;return t}up.packCombineGeometryResults=function(e,t){l(e.geometries)&&sOe(e.geometries,t);let n=tte(e.boundingSpheres),i=tte(e.boundingSpheresCV);return t.push(n.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:n,boundingSpheresCV:i}};up.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:nte(e.boundingSpheres),boundingSpheresCV:nte(e.boundingSpheresCV)}};var VT=up;var uOe={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6},Ir=Object.freeze(uOe);var Yl={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3};Yl.NUMBER_OF_SHADOW_MODES=4;Yl.castShadows=function(e){return e===Yl.ENABLED||e===Yl.CAST_ONLY};Yl.receiveShadows=function(e){return e===Yl.ENABLED||e===Yl.RECEIVE_ONLY};Yl.fromCastReceive=function(e,t){return e&&t?Yl.ENABLED:e?Yl.CAST_ONLY:t?Yl.RECEIVE_ONLY:Yl.DISABLED};var bn=Object.freeze(Yl);function mr(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.show=y(e.show,!0),this._vertexCacheOptimize=y(e.vertexCacheOptimize,!1),this._interleave=y(e.interleave,!1),this._releaseGeometryInstances=y(e.releaseGeometryInstances,!0),this._allowPicking=y(e.allowPicking,!0),this._asynchronous=y(e.asynchronous,!0),this._compressVertices=y(e.compressVertices,!0),this.cull=y(e.cull,!0),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,this.shadows=y(e.shadows,bn.DISABLED),this._translucent=void 0,this._state=Ir.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=new Map,this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1,this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}Object.defineProperties(mr.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}}});function fOe(e){let t=e.length,n=[],i=e[0].attributes,o;for(o in i)if(i.hasOwnProperty(o)&&l(i[o])){let r=i[o],s=!0;for(let a=1;a<t;++a){let c=e[a].attributes[o];if(!l(c)||r.componentDatatype!==c.componentDatatype||r.componentsPerAttribute!==c.componentsPerAttribute||r.normalize!==c.normalize){s=!1;break}}s&&n.push(o)}return n}var dOe=new U,hOe=new h,fte=new oe;function dte(e){let t=e.length;if(t===1)return e[0];if(t===2)return U.unpack(e,0,dOe);if(t===3)return h.unpack(e,0,hOe);if(t===4)return oe.unpack(e,0,fte)}function mOe(e,t){let n=e.geometryInstances,i=Array.isArray(n)?n:[n],o=i.length;if(o===0)return;let r=fOe(i),s=r.length,a=[],c={},u={},f,p=i[0].attributes,g,m,x;for(g=0;g<s;++g)m=r[g],x=p[m],c[m]=g,a.push({functionName:`czm_batchTable_${m}`,componentDatatype:x.componentDatatype,componentsPerAttribute:x.componentsPerAttribute,normalize:x.normalize});r.indexOf("distanceDisplayCondition")!==-1&&(a.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:X.FLOAT,componentsPerAttribute:1}),u.center3DHigh=a.length-5,u.center3DLow=a.length-4,u.center2DHigh=a.length-3,u.center2DLow=a.length-2,u.radius=a.length-1),r.indexOf("offset")!==-1&&(a.push({functionName:"czm_batchTable_offset2D",componentDatatype:X.FLOAT,componentsPerAttribute:3}),f=a.length-1),a.push({functionName:"czm_batchTable_pickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let b=a.length,T=new MT(t,a,o);for(g=0;g<o;++g){let C=i[g];p=C.attributes;for(let O=0;O<s;++O){m=r[O],x=p[m];let R=dte(x.value),M=c[m];T.setBatchedAttribute(g,M,R)}let A={primitive:y(C.pickPrimitive,e)};l(C.id)&&(A.id=C.id);let S=t.createPickId(A);e._pickIds.push(S);let w=S.color,D=fte;D.x=H.floatToByte(w.red),D.y=H.floatToByte(w.green),D.z=H.floatToByte(w.blue),D.w=H.floatToByte(w.alpha),T.setBatchedAttribute(g,b-1,D)}e._batchTable=T,e._batchTableAttributeIndices=c,e._batchTableBoundingSphereAttributeIndices=u,e._batchTableOffsetAttribute2DIndex=f}function pOe(e){let t;return Array.isArray(e.values)?t=e.values.slice(0):t=new e.values.constructor(e.values),new Ee({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function _Oe(e){let t=e.attributes,n=new mn;for(let o in t)t.hasOwnProperty(o)&&l(t[o])&&(n[o]=pOe(t[o]));let i;if(l(e.indices)){let o=e.indices;Array.isArray(o)?i=o.slice(0):i=new o.constructor(o)}return new dt({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:ae.clone(e.boundingSphere)})}function gOe(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:F.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}var yOe=/in\s+vec(?:3|4)\s+(.*)3DHigh;/g;mr._modifyShaderPosition=function(e,t,n){let i,o="",r="",s="";for(;(i=yOe.exec(t))!==null;){let a=i[1],c=`vec4 czm_compute${a[0].toUpperCase()}${a.substr(1)}()`;c!=="vec4 czm_computePosition()"&&(o+=`${c}; +${s}`}};dp.prototype.isDestroyed=function(){return!1};dp.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var jT=dp;function fl(e){this._ellipsoid=y(e,ee.WGS84),this._semimajorAxis=this._ellipsoid.maximumRadius,this._oneOverSemimajorAxis=1/this._semimajorAxis}Object.defineProperties(fl.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});fl.mercatorAngleToGeodeticLatitude=function(e){return P.PI_OVER_TWO-2*Math.atan(Math.exp(-e))};fl.geodeticLatitudeToMercatorAngle=function(e){e>fl.MaximumLatitude?e=fl.MaximumLatitude:e<-fl.MaximumLatitude&&(e=-fl.MaximumLatitude);let t=Math.sin(e);return .5*Math.log((1+t)/(1-t))};fl.MaximumLatitude=fl.mercatorAngleToGeodeticLatitude(Math.PI);fl.prototype.project=function(e,t){let n=this._semimajorAxis,i=e.longitude*n,o=fl.geodeticLatitudeToMercatorAngle(e.latitude)*n,r=e.height;return l(t)?(t.x=i,t.y=o,t.z=r,t):new h(i,o,r)};fl.prototype.unproject=function(e,t){let n=this._oneOverSemimajorAxis,i=e.x*n,o=fl.mercatorAngleToGeodeticLatitude(e.y*n),r=e.z;return l(t)?(t.longitude=i,t.latitude=o,t.height=r,t):new fe(i,o,r)};var Ri=fl;function _Re(e,t,n){let i=!n,o=e.length,r;if(!i&&o>1){let s=e[0].modelMatrix;for(r=1;r<o;++r)if(!F.equals(s,e[r].modelMatrix)){i=!0;break}}if(i)for(r=0;r<o;++r)l(e[r].geometry)&&Bn.transformToWorldCoordinates(e[r]);else F.multiplyTransformation(t,e[0].modelMatrix,t)}function B6(e,t){let n=e.attributes,i=n.position,o=i.values.length/i.componentsPerAttribute;n.batchId=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:1,values:new Float32Array(o)});let r=n.batchId.values;for(let s=0;s<o;++s)r[s]=t}function gRe(e){let t=e.length;for(let n=0;n<t;++n){let i=e[n];l(i.geometry)?B6(i.geometry,n):l(i.westHemisphereGeometry)&&l(i.eastHemisphereGeometry)&&(B6(i.westHemisphereGeometry,n),B6(i.eastHemisphereGeometry,n))}}function yRe(e){let t=e.instances,n=e.projection,i=e.elementIndexUintSupported,o=e.scene3DOnly,r=e.vertexCacheOptimize,s=e.compressVertices,a=e.modelMatrix,c,u,f,d=t.length;for(c=0;c<d;++c)if(l(t[c].geometry)){f=t[c].geometry.primitiveType;break}if(_Re(t,a,o),!o)for(c=0;c<d;++c)l(t[c].geometry)&&Bn.splitLongitude(t[c]);if(gRe(t),r)for(c=0;c<d;++c){let g=t[c];l(g.geometry)?(Bn.reorderForPostVertexCache(g.geometry),Bn.reorderForPreVertexCache(g.geometry)):l(g.westHemisphereGeometry)&&l(g.eastHemisphereGeometry)&&(Bn.reorderForPostVertexCache(g.westHemisphereGeometry),Bn.reorderForPreVertexCache(g.westHemisphereGeometry),Bn.reorderForPostVertexCache(g.eastHemisphereGeometry),Bn.reorderForPreVertexCache(g.eastHemisphereGeometry))}let p=Bn.combineInstances(t);for(d=p.length,c=0;c<d;++c){u=p[c];let g=u.attributes;if(o)for(let m in g)g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE&&Bn.encodeAttribute(u,m,`${m}3DHigh`,`${m}3DLow`);else for(let m in g)if(g.hasOwnProperty(m)&&g[m].componentDatatype===X.DOUBLE){let x=`${m}3D`,b=`${m}2D`;Bn.projectTo2D(u,m,x,b,n),l(u.boundingSphere)&&m==="position"&&(u.boundingSphereCV=ce.fromVertices(u.attributes.position2D.values)),Bn.encodeAttribute(u,x,`${x}High`,`${x}Low`),Bn.encodeAttribute(u,b,`${b}High`,`${b}Low`)}s&&Bn.compressVertices(u)}if(!i){let g=[];for(d=p.length,c=0;c<d;++c)u=p[c],g=g.concat(Bn.fitToUnsignedShortIndices(u));p=g}return p}function k6(e,t,n,i){let o,r,s,a=i.length-1;if(a>=0){let u=i[a];o=u.offset+u.count,s=u.index,r=n[s].indices.length}else o=0,s=0,r=n[s].indices.length;let c=e.length;for(let u=0;u<c;++u){let d=e[u][t];if(!l(d))continue;let p=d.indices.length;o+p>r&&(o=0,r=n[++s].indices.length),i.push({index:s,offset:o,count:p}),o+=p}}function xRe(e,t){let n=[];return k6(e,"geometry",t,n),k6(e,"westHemisphereGeometry",t,n),k6(e,"eastHemisphereGeometry",t,n),n}var hp={};hp.combineGeometry=function(e){let t,n,i=e.instances,o=i.length,r,s,a=!1;o>0&&(t=yRe(e),t.length>0&&(n=Bn.createAttributeLocations(t[0]),e.createPickOffsets&&(r=xRe(i,t))),l(i[0].attributes)&&l(i[0].attributes.offset)&&(s=new Array(o),a=!0));let c=new Array(o),u=new Array(o);for(let f=0;f<o;++f){let d=i[f],p=d.geometry;l(p)&&(c[f]=p.boundingSphere,u[f]=p.boundingSphereCV,a&&(s[f]=d.geometry.offsetAttribute));let g=d.eastHemisphereGeometry,m=d.westHemisphereGeometry;l(g)&&l(m)&&(l(g.boundingSphere)&&l(m.boundingSphere)&&(c[f]=ce.union(g.boundingSphere,m.boundingSphere)),l(g.boundingSphereCV)&&l(m.boundingSphereCV)&&(u[f]=ce.union(g.boundingSphereCV,m.boundingSphereCV)))}return{geometries:t,modelMatrix:e.modelMatrix,attributeLocations:n,pickOffsets:r,offsetInstanceExtend:s,boundingSpheres:c,boundingSpheresCV:u}};function bRe(e,t){let n=e.attributes;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];l(o)&&l(o.values)&&t.push(o.values.buffer)}l(e.indices)&&t.push(e.indices.buffer)}function TRe(e,t){let n=e.length;for(let i=0;i<n;++i)bRe(e[i],t)}function CRe(e){let t=1,n=e.length;for(let i=0;i<n;i++){let o=e[i];if(++t,!l(o))continue;let r=o.attributes;t+=7+2*ce.packedLength+(l(o.indices)?o.indices.length:0);for(let s in r)if(r.hasOwnProperty(s)&&l(r[s])){let a=r[s];t+=5+a.values.length}}return t}hp.packCreateGeometryResults=function(e,t){let n=new Float64Array(CRe(e)),i=[],o={},r=e.length,s=0;n[s++]=r;for(let a=0;a<r;a++){let c=e[a],u=l(c);if(n[s++]=u?1:0,!u)continue;n[s++]=c.primitiveType,n[s++]=c.geometryType,n[s++]=y(c.offsetAttribute,-1);let f=l(c.boundingSphere)?1:0;n[s++]=f,f&&ce.pack(c.boundingSphere,n,s),s+=ce.packedLength;let d=l(c.boundingSphereCV)?1:0;n[s++]=d,d&&ce.pack(c.boundingSphereCV,n,s),s+=ce.packedLength;let p=c.attributes,g=[];for(let x in p)p.hasOwnProperty(x)&&l(p[x])&&(g.push(x),l(o[x])||(o[x]=i.length,i.push(x)));n[s++]=g.length;for(let x=0;x<g.length;x++){let b=g[x],T=p[b];n[s++]=o[b],n[s++]=T.componentDatatype,n[s++]=T.componentsPerAttribute,n[s++]=T.normalize?1:0,n[s++]=T.values.length,n.set(T.values,s),s+=T.values.length}let m=l(c.indices)?c.indices.length:0;n[s++]=m,m>0&&(n.set(c.indices,s),s+=m)}return t.push(n.buffer),{stringTable:i,packedData:n}};hp.unpackCreateGeometryResults=function(e){let t=e.stringTable,n=e.packedData,i,o=new Array(n[0]),r=0,s=1;for(;s<n.length;){if(!(n[s++]===1)){o[r++]=void 0;continue}let c=n[s++],u=n[s++],f=n[s++];f===-1&&(f=void 0);let d,p;n[s++]===1&&(d=ce.unpack(n,s)),s+=ce.packedLength,n[s++]===1&&(p=ce.unpack(n,s)),s+=ce.packedLength;let x,b,T,C=new mn,A=n[s++];for(i=0;i<A;i++){let v=t[n[s++]],D=n[s++];T=n[s++];let R=n[s++]!==0;x=n[s++],b=X.createTypedArray(D,x);for(let O=0;O<x;O++)b[O]=n[s++];C[v]=new Se({componentDatatype:D,componentsPerAttribute:T,normalize:R,values:b})}let S;if(x=n[s++],x>0){let v=b.length/T;for(S=ke.createTypedArray(v,x),i=0;i<x;i++)S[i]=n[s++]}o[r++]=new ft({primitiveType:c,geometryType:u,boundingSphere:d,boundingSphereCV:p,indices:S,attributes:C,offsetAttribute:f})}return o};function ARe(e,t){let n=e.length,i=new Float64Array(1+n*19),o=0;i[o++]=n;for(let r=0;r<n;r++){let s=e[r];if(F.pack(s.modelMatrix,i,o),o+=F.packedLength,l(s.attributes)&&l(s.attributes.offset)){let a=s.attributes.offset.value;i[o]=a[0],i[o+1]=a[1],i[o+2]=a[2]}o+=3}return t.push(i.buffer),i}function ERe(e){let t=e,n=new Array(t[0]),i=0,o=1;for(;o<t.length;){let r=F.unpack(t,o),s;o+=F.packedLength,l(t[o])&&(s={offset:new eo(t[o],t[o+1],t[o+2])}),o+=3,n[i++]={modelMatrix:r,attributes:s}}return n}hp.packCombineGeometryParameters=function(e,t){let n=e.createGeometryResults,i=n.length;for(let o=0;o<i;o++)t.push(n[o].packedData.buffer);return{createGeometryResults:e.createGeometryResults,packedInstances:ARe(e.instances,t),ellipsoid:e.ellipsoid,isGeographic:e.projection instanceof Ii,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e.createPickOffsets}};hp.unpackCombineGeometryParameters=function(e){let t=ERe(e.packedInstances),n=e.createGeometryResults,i=n.length,o=0;for(let a=0;a<i;a++){let c=hp.unpackCreateGeometryResults(n[a]),u=c.length;for(let f=0;f<u;f++){let d=c[f],p=t[o];p.geometry=d,++o}}let r=ee.clone(e.ellipsoid),s=e.isGeographic?new Ii(r):new Ri(r);return{instances:t,ellipsoid:r,projection:s,elementIndexUintSupported:e.elementIndexUintSupported,scene3DOnly:e.scene3DOnly,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:F.clone(e.modelMatrix),createPickOffsets:e.createPickOffsets}};function dte(e){let t=e.length,n=1+(ce.packedLength+1)*t,i=new Float32Array(n),o=0;i[o++]=t;for(let r=0;r<t;++r){let s=e[r];l(s)?(i[o++]=1,ce.pack(e[r],i,o)):i[o++]=0,o+=ce.packedLength}return i}function hte(e){let t=new Array(e[0]),n=0,i=1;for(;i<e.length;)e[i++]===1&&(t[n]=ce.unpack(e,i)),++n,i+=ce.packedLength;return t}hp.packCombineGeometryResults=function(e,t){l(e.geometries)&&TRe(e.geometries,t);let n=dte(e.boundingSpheres),i=dte(e.boundingSpheresCV);return t.push(n.buffer,i.buffer),{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:n,boundingSpheresCV:i}};hp.unpackCombineGeometryResults=function(e){return{geometries:e.geometries,attributeLocations:e.attributeLocations,modelMatrix:e.modelMatrix,pickOffsets:e.pickOffsets,offsetInstanceExtend:e.offsetInstanceExtend,boundingSpheres:hte(e.boundingSpheres),boundingSpheresCV:hte(e.boundingSpheresCV)}};var qT=hp;var SRe={READY:0,CREATING:1,CREATED:2,COMBINING:3,COMBINED:4,COMPLETE:5,FAILED:6},Or=Object.freeze(SRe);var Ql={DISABLED:0,ENABLED:1,CAST_ONLY:2,RECEIVE_ONLY:3};Ql.NUMBER_OF_SHADOW_MODES=4;Ql.castShadows=function(e){return e===Ql.ENABLED||e===Ql.CAST_ONLY};Ql.receiveShadows=function(e){return e===Ql.ENABLED||e===Ql.RECEIVE_ONLY};Ql.fromCastReceive=function(e,t){return e&&t?Ql.ENABLED:e?Ql.CAST_ONLY:t?Ql.RECEIVE_ONLY:Ql.DISABLED};var bn=Object.freeze(Ql);function pr(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this.appearance=e.appearance,this._appearance=void 0,this._material=void 0,this.depthFailAppearance=e.depthFailAppearance,this._depthFailAppearance=void 0,this._depthFailMaterial=void 0,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.show=y(e.show,!0),this._vertexCacheOptimize=y(e.vertexCacheOptimize,!1),this._interleave=y(e.interleave,!1),this._releaseGeometryInstances=y(e.releaseGeometryInstances,!0),this._allowPicking=y(e.allowPicking,!0),this._asynchronous=y(e.asynchronous,!0),this._compressVertices=y(e.compressVertices,!0),this.cull=y(e.cull,!0),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.rtcCenter=e.rtcCenter,this.shadows=y(e.shadows,bn.DISABLED),this._translucent=void 0,this._state=Or.READY,this._geometries=[],this._error=void 0,this._numberOfInstances=0,this._boundingSpheres=[],this._boundingSphereWC=[],this._boundingSphereCV=[],this._boundingSphere2D=[],this._boundingSphereMorph=[],this._perInstanceAttributeCache=new Map,this._instanceIds=[],this._lastPerInstanceAttributeIndex=0,this._va=[],this._attributeLocations=void 0,this._primitiveType=void 0,this._frontFaceRS=void 0,this._backFaceRS=void 0,this._sp=void 0,this._depthFailAppearance=void 0,this._spDepthFail=void 0,this._frontFaceDepthFailRS=void 0,this._backFaceDepthFailRS=void 0,this._pickIds=[],this._colorCommands=[],this._pickCommands=[],this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._createRenderStatesFunction=e._createRenderStatesFunction,this._createShaderProgramFunction=e._createShaderProgramFunction,this._createCommandsFunction=e._createCommandsFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._createPickOffsets=e._createPickOffsets,this._pickOffsets=void 0,this._createGeometryResults=void 0,this._ready=!1,this._batchTable=void 0,this._batchTableAttributeIndices=void 0,this._offsetInstanceExtend=void 0,this._batchTableOffsetAttribute2DIndex=void 0,this._batchTableOffsetsUpdated=!1,this._instanceBoundingSpheres=void 0,this._instanceBoundingSpheresCV=void 0,this._tempBoundingSpheres=void 0,this._recomputeBoundingSpheres=!1,this._batchTableBoundingSpheresUpdated=!1,this._batchTableBoundingSphereAttributeIndices=void 0}Object.defineProperties(pr.prototype,{vertexCacheOptimize:{get:function(){return this._vertexCacheOptimize}},interleave:{get:function(){return this._interleave}},releaseGeometryInstances:{get:function(){return this._releaseGeometryInstances}},allowPicking:{get:function(){return this._allowPicking}},asynchronous:{get:function(){return this._asynchronous}},compressVertices:{get:function(){return this._compressVertices}},ready:{get:function(){return this._ready}}});function vRe(e){let t=e.length,n=[],i=e[0].attributes,o;for(o in i)if(i.hasOwnProperty(o)&&l(i[o])){let r=i[o],s=!0;for(let a=1;a<t;++a){let c=e[a].attributes[o];if(!l(c)||r.componentDatatype!==c.componentDatatype||r.componentsPerAttribute!==c.componentsPerAttribute||r.normalize!==c.normalize){s=!1;break}}s&&n.push(o)}return n}var wRe=new U,DRe=new h,Cte=new oe;function Ate(e){let t=e.length;if(t===1)return e[0];if(t===2)return U.unpack(e,0,wRe);if(t===3)return h.unpack(e,0,DRe);if(t===4)return oe.unpack(e,0,Cte)}function IRe(e,t){let n=e.geometryInstances,i=Array.isArray(n)?n:[n],o=i.length;if(o===0)return;let r=vRe(i),s=r.length,a=[],c={},u={},f,p=i[0].attributes,g,m,x;for(g=0;g<s;++g)m=r[g],x=p[m],c[m]=g,a.push({functionName:`czm_batchTable_${m}`,componentDatatype:x.componentDatatype,componentsPerAttribute:x.componentsPerAttribute,normalize:x.normalize});r.indexOf("distanceDisplayCondition")!==-1&&(a.push({functionName:"czm_batchTable_boundingSphereCenter3DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter3DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereCenter2DLow",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"czm_batchTable_boundingSphereRadius",componentDatatype:X.FLOAT,componentsPerAttribute:1}),u.center3DHigh=a.length-5,u.center3DLow=a.length-4,u.center2DHigh=a.length-3,u.center2DLow=a.length-2,u.radius=a.length-1),r.indexOf("offset")!==-1&&(a.push({functionName:"czm_batchTable_offset2D",componentDatatype:X.FLOAT,componentsPerAttribute:3}),f=a.length-1),a.push({functionName:"czm_batchTable_pickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0});let b=a.length,T=new jT(t,a,o);for(g=0;g<o;++g){let C=i[g];p=C.attributes;for(let R=0;R<s;++R){m=r[R],x=p[m];let O=Ate(x.value),M=c[m];T.setBatchedAttribute(g,M,O)}let A={primitive:y(C.pickPrimitive,e)};l(C.id)&&(A.id=C.id);let S=t.createPickId(A);e._pickIds.push(S);let v=S.color,D=Cte;D.x=z.floatToByte(v.red),D.y=z.floatToByte(v.green),D.z=z.floatToByte(v.blue),D.w=z.floatToByte(v.alpha),T.setBatchedAttribute(g,b-1,D)}e._batchTable=T,e._batchTableAttributeIndices=c,e._batchTableBoundingSphereAttributeIndices=u,e._batchTableOffsetAttribute2DIndex=f}function PRe(e){let t;return Array.isArray(e.values)?t=e.values.slice(0):t=new e.values.constructor(e.values),new Se({componentDatatype:e.componentDatatype,componentsPerAttribute:e.componentsPerAttribute,normalize:e.normalize,values:t})}function ORe(e){let t=e.attributes,n=new mn;for(let o in t)t.hasOwnProperty(o)&&l(t[o])&&(n[o]=PRe(t[o]));let i;if(l(e.indices)){let o=e.indices;Array.isArray(o)?i=o.slice(0):i=new o.constructor(o)}return new ft({attributes:n,indices:i,primitiveType:e.primitiveType,boundingSphere:ce.clone(e.boundingSphere)})}function RRe(e,t){return{geometry:t,attributes:e.attributes,modelMatrix:F.clone(e.modelMatrix),pickPrimitive:e.pickPrimitive,id:e.id}}var MRe=/in\s+vec(?:3|4)\s+(.*)3DHigh;/g;pr._modifyShaderPosition=function(e,t,n){let i,o="",r="",s="";for(;(i=MRe.exec(t))!==null;){let a=i[1],c=`vec4 czm_compute${a[0].toUpperCase()}${a.substr(1)}()`;c!=="vec4 czm_computePosition()"&&(o+=`${c}; `),l(e.rtcCenter)?(t=t.replace(/in\s+vec(?:3|4)\s+position3DHigh;/g,""),t=t.replace(/in\s+vec(?:3|4)\s+position3DLow;/g,""),o+=`uniform mat4 u_modifiedModelView; `,r+=`in vec4 position; `,s+=`${c} @@ -4880,19 +4925,19 @@ in vec3 ${a}2DLow; } `)}return[o,r,t,s].join(` -`)};mr._appendShowToShader=function(e,t){return l(e._batchTableAttributeIndices.show)?`${Ge.replaceMain(t,"czm_non_show_main")} +`)};pr._appendShowToShader=function(e,t){return l(e._batchTableAttributeIndices.show)?`${He.replaceMain(t,"czm_non_show_main")} void main() { czm_non_show_main(); gl_Position *= czm_batchTable_show(batchId); -}`:t};mr._updateColorAttribute=function(e,t,n){if(!l(e._batchTableAttributeIndices.color)&&!l(e._batchTableAttributeIndices.depthFailColor)||t.search(/in\s+vec4\s+color;/g)===-1)return t;let i=t;return i=i.replace(/in\s+vec4\s+color;/g,""),n?i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2"),i};function ite(e){return`${Ge.replaceMain(e,"czm_non_pick_main")} +}`:t};pr._updateColorAttribute=function(e,t,n){if(!l(e._batchTableAttributeIndices.color)&&!l(e._batchTableAttributeIndices.depthFailColor)||t.search(/in\s+vec4\s+color;/g)===-1)return t;let i=t;return i=i.replace(/in\s+vec4\s+color;/g,""),n?i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_depthFailColor(batchId)$2"):i=i.replace(/(\b)color(\b)/g,"$1czm_batchTable_color(batchId)$2"),i};function mte(e){return`${He.replaceMain(e,"czm_non_pick_main")} out vec4 v_pickColor; void main() { czm_non_pick_main(); v_pickColor = czm_batchTable_pickColor(batchId); -}`}function ote(e){return`in vec4 v_pickColor; -${e}`}mr._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pickColor;/g,"");return t=t.replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2"),t};mr._appendOffsetToShader=function(e,t){if(!l(e._batchTableAttributeIndices.offset))return t;let n=`in float batchId; +}`}function pte(e){return`in vec4 v_pickColor; +${e}`}pr._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pickColor;/g,"");return t=t.replace(/(\b)pickColor(\b)/g,"$1czm_batchTable_pickColor(batchId)$2"),t};pr._appendOffsetToShader=function(e,t){if(!l(e._batchTableAttributeIndices.offset))return t;let n=`in float batchId; `;n+="in float applyOffset;";let i=t.replace(/in\s+float\s+batchId;/g,n),o=`vec4 $1 = czm_computePosition(); `;return o+=` if (czm_sceneMode == czm_sceneMode3D) `,o+=` { @@ -4900,7 +4945,7 @@ ${e}`}mr._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pick `,o+=` else `,o+=` { `,o+=" $1 = $1 + vec4(czm_batchTable_offset2D(batchId) * applyOffset, 0.0);",o+=` } -`,i=i.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,o),i};mr._appendDistanceDisplayConditionToShader=function(e,t,n){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition))return t;let i=Ge.replaceMain(t,"czm_non_distanceDisplayCondition_main"),o=`void main() +`,i=i.replace(/vec4\s+([A-Za-z0-9_]+)\s+=\s+czm_computePosition\(\);/g,o),i};pr._appendDistanceDisplayConditionToShader=function(e,t,n){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition))return t;let i=He.replaceMain(t,"czm_non_distanceDisplayCondition_main"),o=`void main() { czm_non_distanceDisplayCondition_main(); vec2 distanceDisplayCondition = czm_batchTable_distanceDisplayCondition(batchId); @@ -4942,7 +4987,7 @@ ${e}`}mr._updatePickColorAttribute=function(e){let t=e.replace(/in\s+vec4\s+pick float show = (distanceSq >= nearSq && distanceSq <= farSq) ? 1.0 : 0.0; gl_Position *= show; }`,`${i} -${o}`};function rte(e,t){if(!e.compressVertices)return t;let n=t.search(/in\s+vec3\s+normal;/g)!==-1,i=t.search(/in\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/in\s+vec3\s+tangent;/g)!==-1,r=t.search(/in\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",u=`in ${a} ${c};`,f="",d="";if(i){f+=`vec2 st; +${o}`};function _te(e,t){if(!e.compressVertices)return t;let n=t.search(/in\s+vec3\s+normal;/g)!==-1,i=t.search(/in\s+vec2\s+st;/g)!==-1;if(!n&&!i)return t;let o=t.search(/in\s+vec3\s+tangent;/g)!==-1,r=t.search(/in\s+vec3\s+bitangent;/g)!==-1,s=i&&n?2:1;s+=o||r?1:0;let a=s>1?`vec${s}`:"float",c="compressedAttributes",u=`in ${a} ${c};`,f="",d="";if(i){f+=`vec2 st; `;let m=s>1?`${c}.x`:c;d+=` st = czm_decompressTextureCoordinates(${m}); `}n&&o&&r?(f+=`vec3 normal; vec3 tangent; @@ -4954,14 +4999,14 @@ vec3 bitangent; `,d+=` tangent = czm_octDecode(${c}.${i&&n?"z":"y"}); `),r&&(f+=`vec3 bitangent; `,d+=` bitangent = czm_octDecode(${c}.${i&&n?"z":"y"}); -`));let p=t;p=p.replace(/in\s+vec3\s+normal;/g,""),p=p.replace(/in\s+vec2\s+st;/g,""),p=p.replace(/in\s+vec3\s+tangent;/g,""),p=p.replace(/in\s+vec3\s+bitangent;/g,""),p=Ge.replaceMain(p,"czm_non_compressed_main");let g=`void main() +`));let p=t;p=p.replace(/in\s+vec3\s+normal;/g,""),p=p.replace(/in\s+vec2\s+st;/g,""),p=p.replace(/in\s+vec3\s+tangent;/g,""),p=p.replace(/in\s+vec3\s+bitangent;/g,""),p=He.replaceMain(p,"czm_non_compressed_main");let g=`void main() { ${d} czm_non_compressed_main(); }`;return[u,f,p,g].join(` -`)}function xOe(e){let t=Ge.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { +`)}function LRe(e){let t=He.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { czm_non_depth_clamp_main(); gl_Position = czm_depthClamp(gl_Position);} -`,t}function bOe(e){let t=Ge.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { +`,t}function NRe(e){let t=He.replaceMain(e,"czm_non_depth_clamp_main");return t+=`void main() { czm_non_depth_clamp_main(); #if defined(LOG_DEPTH) czm_writeLogDepth(); @@ -4969,7 +5014,7 @@ ${d} czm_non_compressed_main(); czm_writeDepthClamp(); #endif } -`,t}function ste(e,t){let n=e.vertexAttributes}function TOe(e,t){return function(){return e[t]}}var R6=Math.max(Wt.hardwareConcurrency-1,1),RL,COe=new _i("combineGeometry");function AOe(e,t){let n,i,o,r,s=e._instanceIds;if(e._state===Ir.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let a=e._numberOfInstances=n.length,c=[],u=[];for(o=0;o<a;++o)i=n[o].geometry,s.push(n[o].id),u.push({moduleName:i._workerName,modulePath:i._workerPath,geometry:i});if(!l(RL))for(RL=new Array(R6),o=0;o<R6;o++)RL[o]=new _i("createGeometry");let f;for(u=TL(u,R6),o=0;o<u.length;o++){let d=0,p=u[o],g=p.length;for(r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(f.offset=d,d+=y(i.constructor.packedLength,i.packedLength));let m;if(d>0){let x=new Float64Array(d);for(m=[x.buffer],r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(i.constructor.pack(i,x,f.offset),f.geometry=x)}c.push(RL[o].scheduleTask({subTasks:u[o]},m))}e._state=Ir.CREATING,Promise.all(c).then(function(d){e._createGeometryResults=d,e._state=Ir.CREATED}).catch(function(d){mw(e,t,Ir.FAILED,d)})}else if(e._state===Ir.CREATED){let a=[];n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let c=t.scene3DOnly,u=t.mapProjection,f=COe.scheduleTask(VT.packCombineGeometryParameters({createGeometryResults:e._createGeometryResults,instances:n,ellipsoid:u.ellipsoid,projection:u,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:c,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets},a),a);e._createGeometryResults=void 0,e._state=Ir.COMBINING,Promise.resolve(f).then(function(d){let p=VT.unpackCombineGeometryResults(d);e._geometries=p.geometries,e._attributeLocations=p.attributeLocations,e.modelMatrix=F.clone(p.modelMatrix,e.modelMatrix),e._pickOffsets=p.pickOffsets,e._offsetInstanceExtend=p.offsetInstanceExtend,e._instanceBoundingSpheres=p.boundingSpheres,e._instanceBoundingSpheresCV=p.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Ir.COMBINED):mw(e,t,Ir.FAILED,void 0)}).catch(function(d){mw(e,t,Ir.FAILED,d)})}}function EOe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a<i;a++){s=n[a];let p=s.geometry,g;l(p.attributes)&&l(p.primitiveType)?g=_Oe(p):g=p.constructor.createGeometry(p),o[c++]=gOe(s,g),r.push(s.id)}o.length=c;let u=t.scene3DOnly,f=t.mapProjection,d=VT.combineGeometry({instances:o,ellipsoid:f.ellipsoid,projection:f,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:u,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=d.geometries,e._attributeLocations=d.attributeLocations,e.modelMatrix=F.clone(d.modelMatrix,e.modelMatrix),e._pickOffsets=d.pickOffsets,e._offsetInstanceExtend=d.offsetInstanceExtend,e._instanceBoundingSpheres=d.boundingSpheres,e._instanceBoundingSpheresCV=d.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Ir.COMBINED):mw(e,t,Ir.FAILED,void 0)}function SOe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!l(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!l(a)){for(a=new Array(s),i=0;i<s;i++)a[i]=new ae;e._tempBoundingSpheres=a}for(i=0;i<s;++i){let x=a[i],b=e._batchTable.getBatchedAttribute(i,n,new h);x=r[i].clone(x),_te(x,b,o[i])}let c=[],u=[],f=[];for(i=0;i<s;++i){let x=a[i];x.center.x-x.radius>0||ae.intersectPlane(x,cn.ORIGIN_ZX_PLANE)!==qt.INTERSECTING?c.push(x):(u.push(x),f.push(x))}let d=c[0],p=f[0],g=u[0];for(i=1;i<c.length;i++)d=ae.union(d,c[i]);for(i=1;i<f.length;i++)p=ae.union(p,f[i]);for(i=1;i<u.length;i++)g=ae.union(g,u[i]);let m=[];for(l(d)&&m.push(d),l(p)&&m.push(p),l(g)&&m.push(g),i=0;i<m.length;i++){let x=m[i].clone(e._boundingSpheres[i]);e._boundingSpheres[i]=x,e._boundingSphereCV[i]=ae.projectTo2D(x,t.mapProjection,e._boundingSphereCV[i])}mr._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}var ate=new Wn,hte=new fe,mte=new h,pte=new ae;function wOe(e,t){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition)||e._batchTableBoundingSpheresUpdated)return;let i=e._batchTableBoundingSphereAttributeIndices,o=i.center3DHigh,r=i.center3DLow,s=i.center2DHigh,a=i.center2DLow,c=i.radius,u=t.mapProjection,f=u.ellipsoid,d=e._batchTable,p=e._instanceBoundingSpheres,g=p.length;for(let m=0;m<g;++m){let x=p[m];if(!l(x))continue;let b=e.modelMatrix;l(b)&&(x=ae.transform(x,b,pte));let T=x.center,C=x.radius,A=Wn.fromCartesian(T,ate);if(d.setBatchedAttribute(m,o,A.high),d.setBatchedAttribute(m,r,A.low),!t.scene3DOnly){let S=f.cartesianToCartographic(T,hte),w=u.project(S,mte);A=Wn.fromCartesian(w,ate),d.setBatchedAttribute(m,s,A.high),d.setBatchedAttribute(m,a,A.low)}d.setBatchedAttribute(m,c,C)}e._batchTableBoundingSpheresUpdated=!0}var O6=new h,vOe=new h;function cte(e,t){if(!l(e._batchTableAttributeIndices.offset)||e._batchTableOffsetsUpdated||t.scene3DOnly)return;let i=e._batchTableOffsetAttribute2DIndex,o=t.mapProjection,r=o.ellipsoid,s=e._batchTable,a=e._instanceBoundingSpheres,c=a.length;for(let u=0;u<c;++u){let f=a[u];if(!l(f))continue;let d=s.getBatchedAttribute(u,e._batchTableAttributeIndices.offset);if(h.equals(d,h.ZERO)){s.setBatchedAttribute(u,i,h.ZERO);continue}let p=e.modelMatrix;l(p)&&(f=ae.transform(f,p,pte));let g=f.center;g=r.scaleToGeodeticSurface(g,vOe);let m=r.cartesianToCartographic(g,hte),x=o.project(m,mte),b=h.add(d,g,O6);m=r.cartesianToCartographic(b,m);let T=o.project(m,O6),C=h.subtract(T,x,O6),A=C.x;C.x=C.z,C.z=C.y,C.y=A,s.setBatchedAttribute(u,i,C)}e._batchTableOffsetsUpdated=!0}function DOe(e,t){let n=e._attributeLocations,i=e._geometries,o=t.scene3DOnly,r=t.context,s=[],a=i.length;for(let c=0;c<a;++c){let u=i[c];if(s.push(di.fromGeometry({context:r,geometry:u,attributeLocations:n,bufferUsage:Ve.STATIC_DRAW,interleave:e._interleave})),l(e._createBoundingVolumeFunction))e._createBoundingVolumeFunction(t,u);else if(e._boundingSpheres.push(ae.clone(u.boundingSphere)),e._boundingSphereWC.push(new ae),!o){let f=u.boundingSphereCV.center,d=f.x,p=f.y,g=f.z;f.x=g,f.y=d,f.z=p,e._boundingSphereCV.push(ae.clone(u.boundingSphereCV)),e._boundingSphere2D.push(new ae),e._boundingSphereMorph.push(new ae)}}e._va=s,e._primitiveType=i[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,mw(e,t,Ir.COMPLETE,void 0)}function IOe(e,t,n,i){let o=n.getRenderState(),r;i?(r=We(o,!1),r.cull={enabled:!0,face:yi.BACK},e._frontFaceRS=ze.fromCache(r),r.cull.face=yi.FRONT,e._backFaceRS=ze.fromCache(r)):(e._frontFaceRS=ze.fromCache(o),e._backFaceRS=e._frontFaceRS),r=We(o,!1),l(e._depthFailAppearance)&&(r.depthTest.enabled=!1),l(e._depthFailAppearance)&&(o=e._depthFailAppearance.getRenderState(),r=We(o,!1),r.depthTest.func=Sc.GREATER,i?(r.cull={enabled:!0,face:yi.BACK},e._frontFaceDepthFailRS=ze.fromCache(r),r.cull.face=yi.FRONT,e._backFaceDepthFailRS=ze.fromCache(r)):(e._frontFaceDepthFailRS=ze.fromCache(r),e._backFaceDepthFailRS=e._frontFaceRS))}function POe(e,t,n){let i=t.context,o=e._attributeLocations,r=e._batchTable.getVertexShaderCallback()(n.vertexShaderSource);r=mr._appendOffsetToShader(e,r),r=mr._appendShowToShader(e,r),r=mr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=ite(r),r=mr._updateColorAttribute(e,r,!1),r=rte(e,r),r=mr._modifyShaderPosition(e,r,t.scene3DOnly);let s=n.getFragmentShaderSource();s=ote(s),e._sp=sn.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),ste(e._sp,o),l(e._depthFailAppearance)&&(r=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),r=mr._appendShowToShader(e,r),r=mr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=ite(r),r=mr._updateColorAttribute(e,r,!0),r=rte(e,r),r=mr._modifyShaderPosition(e,r,t.scene3DOnly),r=xOe(r),s=e._depthFailAppearance.getFragmentShaderSource(),s=ote(s),s=bOe(s),e._spDepthFail=sn.replaceCache({context:i,shaderProgram:e._spDepthFail,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),ste(e._spDepthFail,o))}var hw=new F,lte=new h;function ute(e,t,n,i){let o=l(n)?n._uniforms:void 0,r={},s=t.uniforms;if(l(s))for(let c in s)s.hasOwnProperty(c)&&(r[c]=TOe(s,c));let a=xt(r,o);return a=e._batchTable.getUniformMapCallback()(a),l(e.rtcCenter)&&(a.u_modifiedModelView=function(){let c=i.context.uniformState.view;return F.multiply(c,e._modelMatrix,hw),F.multiplyByPoint(hw,e.rtcCenter,lte),F.setTranslation(hw,lte,hw),hw}),a}function ROe(e,t,n,i,o,r,s,a){let c=ute(e,t,n,a),u;l(e._depthFailAppearance)&&(u=ute(e,e._depthFailAppearance,e._depthFailAppearance.material,a));let f=i?Se.TRANSLUCENT:Se.OPAQUE,d=o?2:1;d*=l(e._depthFailAppearance)?2:1,r.length=e._va.length*d;let p=r.length,g=0;for(let m=0;m<p;++m){let x;o&&(x=r[m],l(x)||(x=r[m]=new et({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,++m),x=r[m],l(x)||(x=r[m]=new et({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,l(e._depthFailAppearance)&&(o&&(++m,x=r[m],l(x)||(x=r[m]=new et({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++m,x=r[m],l(x)||(x=r[m]=new et({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++g}}mr._updateBoundingVolumes=function(e,t,n,i){let o,r,s;if(i||!F.equals(n,e._modelMatrix))for(F.clone(n,e._modelMatrix),r=e._boundingSpheres.length,o=0;o<r;++o)s=e._boundingSpheres[o],l(s)&&(e._boundingSphereWC[o]=ae.transform(s,n,e._boundingSphereWC[o]),t.scene3DOnly||(e._boundingSphere2D[o]=ae.clone(e._boundingSphereCV[o],e._boundingSphere2D[o]),e._boundingSphere2D[o].center.x=0,e._boundingSphereMorph[o]=ae.union(e._boundingSphereWC[o],e._boundingSphereCV[o])));let a=e.appearance.pixelSize;if(l(a))for(r=e._boundingSpheres.length,o=0;o<r;++o){s=e._boundingSpheres[o];let c=e._boundingSphereWC[o],f=t.camera.getPixelSize(s,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*a;c.radius=s.radius+f}};function OOe(e,t,n,i,o,r,s,a){mr._updateBoundingVolumes(e,t,o);let c;t.mode===ne.SCENE3D?c=e._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=e._boundingSphereCV:t.mode===ne.SCENE2D&&l(e._boundingSphere2D)?c=e._boundingSphere2D:l(e._boundingSphereMorph)&&(c=e._boundingSphereMorph);let u=t.commandList,f=t.passes;if(f.render||f.pick){let d=e.allowPicking,p=bn.castShadows(e.shadows),g=bn.receiveShadows(e.shadows),m=n.length,x=a?2:1;x*=l(e._depthFailAppearance)?2:1;for(let b=0;b<m;++b){let T=Math.floor(b/x),C=n[b];C.modelMatrix=o,C.boundingVolume=c[T],C.cull=r,C.debugShowBoundingVolume=s,C.castShadows=p,C.receiveShadows=g,d?C.pickId="v_pickColor":C.pickId=void 0,u.push(C)}}}mr.prototype.update=function(e){if(!l(this.geometryInstances)&&this._va.length===0||l(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&this.geometryInstances.length===0||!l(this.appearance)||e.mode!==ne.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)return;if(l(this._error))throw this._error;if(this._state===Ir.FAILED)return;let t=e.context;if(l(this._batchTable)||mOe(this,t),this._batchTable.attributes.length>0){if(Ut.maximumVertexTextureImageUnits===0)throw new ce("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==Ir.COMPLETE&&this._state!==Ir.COMBINED&&(this.asynchronous?AOe(this,e):EOe(this,e)),this._state===Ir.COMBINED&&(wOe(this,e),cte(this,e),DOe(this,e)),!this.show||this._state!==Ir.COMPLETE)return;this._batchTableOffsetsUpdated||cte(this,e),this._recomputeBoundingSpheres&&SOe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=l(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),l(this._material)&&this._material.update(t);let u=n.closed&&c;o&&y(this._createRenderStatesFunction,IOe)(this,t,n,u),r&&y(this._createShaderProgramFunction,POe)(this,e,n),(o||r)&&y(this._createCommandsFunction,ROe)(this,n,i,c,u,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,OOe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,u)};var MOe=new ae,LOe=new ae;function _te(e,t,n){if(n===ln.TOP){let i=ae.clone(e,MOe),o=ae.clone(e,LOe);o.center=h.add(o.center,t,o.center),e=ae.union(i,o,e)}else n===ln.ALL&&(e.center=h.add(e.center,t,e.center));return e}function NOe(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=X.createTypedArray(o.componentDatatype,r);return l(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function FOe(e,t,n,i,o){return function(r){let s=dte(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var BOe=new h;function kOe(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(l(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;l(r)&&_te(i,h.fromArray(r.get(),0,BOe),e._offsetInstanceExtend[n]),l(o)&&(i=ae.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function VOe(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}mr.prototype.getGeometryInstanceAttributes=function(e){let t=this._perInstanceAttributeCache.get(e);if(l(t))return t;let n=-1,i=this._lastPerInstanceAttributeIndex,o=this._instanceIds,r=o.length;for(let u=0;u<r;++u){let f=(i+u)%r;if(e===o[f]){n=f;break}}if(n===-1)return;let s=this._batchTable,a=this._batchTableAttributeIndices;t={};let c={};for(let u in a)if(a.hasOwnProperty(u)){let f=a[u];c[u]={get:NOe(s,n,f),set:FOe(s,n,f,this,u)}}return kOe(this,c,n),VOe(this,c,n),Object.defineProperties(t,c),this._lastPerInstanceAttributeIndex=n,this._perInstanceAttributeCache.set(e,t),t};mr.prototype.isDestroyed=function(){return!1};mr.prototype.destroy=function(){let e,t;this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();let n=this._va;for(e=n.length,t=0;t<e;++t)n[t].destroy();this._va=void 0;let i=this._pickIds;for(e=i.length,t=0;t<e;++t)i[t].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,ue(this)};function mw(e,t,n,i){e._error=i,e._state=n,t.afterRender.push(function(){e._ready=e._state===Ir.COMPLETE||e._state===Ir.FAILED})}var Rn=mr;function UOe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.value=e.value}var vc=UOe;var pw=`#ifdef TEXTURE_COORDINATES +`,t}function gte(e,t){let n=e.vertexAttributes}function FRe(e,t){return function(){return e[t]}}var V6=Math.max(Gt.hardwareConcurrency-1,1),LL,BRe=new xi("combineGeometry");function kRe(e,t){let n,i,o,r,s=e._instanceIds;if(e._state===Or.READY){n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let a=e._numberOfInstances=n.length,c=[],u=[];for(o=0;o<a;++o)i=n[o].geometry,s.push(n[o].id),u.push({moduleName:i._workerName,modulePath:i._workerPath,geometry:i});if(!l(LL))for(LL=new Array(V6),o=0;o<V6;o++)LL[o]=new xi("createGeometry");let f;for(u=ML(u,V6),o=0;o<u.length;o++){let d=0,p=u[o],g=p.length;for(r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(f.offset=d,d+=y(i.constructor.packedLength,i.packedLength));let m;if(d>0){let x=new Float64Array(d);for(m=[x.buffer],r=0;r<g;++r)f=p[r],i=f.geometry,l(i.constructor.pack)&&(i.constructor.pack(i,x,f.offset),f.geometry=x)}c.push(LL[o].scheduleTask({subTasks:u[o]},m))}e._state=Or.CREATING,Promise.all(c).then(function(d){e._createGeometryResults=d,e._state=Or.CREATED}).catch(function(d){Tv(e,t,Or.FAILED,d)})}else if(e._state===Or.CREATED){let a=[];n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances];let c=t.scene3DOnly,u=t.mapProjection,f=BRe.scheduleTask(qT.packCombineGeometryParameters({createGeometryResults:e._createGeometryResults,instances:n,ellipsoid:u.ellipsoid,projection:u,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:c,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets},a),a);e._createGeometryResults=void 0,e._state=Or.COMBINING,Promise.resolve(f).then(function(d){let p=qT.unpackCombineGeometryResults(d);e._geometries=p.geometries,e._attributeLocations=p.attributeLocations,e.modelMatrix=F.clone(p.modelMatrix,e.modelMatrix),e._pickOffsets=p.pickOffsets,e._offsetInstanceExtend=p.offsetInstanceExtend,e._instanceBoundingSpheres=p.boundingSpheres,e._instanceBoundingSpheresCV=p.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Or.COMBINED):Tv(e,t,Or.FAILED,void 0)}).catch(function(d){Tv(e,t,Or.FAILED,d)})}}function VRe(e,t){let n=Array.isArray(e.geometryInstances)?e.geometryInstances:[e.geometryInstances],i=e._numberOfInstances=n.length,o=new Array(i),r=e._instanceIds,s,a,c=0;for(a=0;a<i;a++){s=n[a];let p=s.geometry,g;l(p.attributes)&&l(p.primitiveType)?g=ORe(p):g=p.constructor.createGeometry(p),o[c++]=RRe(s,g),r.push(s.id)}o.length=c;let u=t.scene3DOnly,f=t.mapProjection,d=qT.combineGeometry({instances:o,ellipsoid:f.ellipsoid,projection:f,elementIndexUintSupported:t.context.elementIndexUint,scene3DOnly:u,vertexCacheOptimize:e.vertexCacheOptimize,compressVertices:e.compressVertices,modelMatrix:e.modelMatrix,createPickOffsets:e._createPickOffsets});e._geometries=d.geometries,e._attributeLocations=d.attributeLocations,e.modelMatrix=F.clone(d.modelMatrix,e.modelMatrix),e._pickOffsets=d.pickOffsets,e._offsetInstanceExtend=d.offsetInstanceExtend,e._instanceBoundingSpheres=d.boundingSpheres,e._instanceBoundingSpheresCV=d.boundingSpheresCV,l(e._geometries)&&e._geometries.length>0?(e._recomputeBoundingSpheres=!0,e._state=Or.COMBINED):Tv(e,t,Or.FAILED,void 0)}function URe(e,t){let n=e._batchTableAttributeIndices.offset;if(!e._recomputeBoundingSpheres||!l(n)){e._recomputeBoundingSpheres=!1;return}let i,o=e._offsetInstanceExtend,r=e._instanceBoundingSpheres,s=r.length,a=e._tempBoundingSpheres;if(!l(a)){for(a=new Array(s),i=0;i<s;i++)a[i]=new ce;e._tempBoundingSpheres=a}for(i=0;i<s;++i){let x=a[i],b=e._batchTable.getBatchedAttribute(i,n,new h);x=r[i].clone(x),wte(x,b,o[i])}let c=[],u=[],f=[];for(i=0;i<s;++i){let x=a[i];x.center.x-x.radius>0||ce.intersectPlane(x,ln.ORIGIN_ZX_PLANE)!==jt.INTERSECTING?c.push(x):(u.push(x),f.push(x))}let d=c[0],p=f[0],g=u[0];for(i=1;i<c.length;i++)d=ce.union(d,c[i]);for(i=1;i<f.length;i++)p=ce.union(p,f[i]);for(i=1;i<u.length;i++)g=ce.union(g,u[i]);let m=[];for(l(d)&&m.push(d),l(p)&&m.push(p),l(g)&&m.push(g),i=0;i<m.length;i++){let x=m[i].clone(e._boundingSpheres[i]);e._boundingSpheres[i]=x,e._boundingSphereCV[i]=ce.projectTo2D(x,t.mapProjection,e._boundingSphereCV[i])}pr._updateBoundingVolumes(e,t,e.modelMatrix,!0),e._recomputeBoundingSpheres=!1}var yte=new Wn,Ete=new fe,Ste=new h,vte=new ce;function zRe(e,t){if(!l(e._batchTableAttributeIndices.distanceDisplayCondition)||e._batchTableBoundingSpheresUpdated)return;let i=e._batchTableBoundingSphereAttributeIndices,o=i.center3DHigh,r=i.center3DLow,s=i.center2DHigh,a=i.center2DLow,c=i.radius,u=t.mapProjection,f=u.ellipsoid,d=e._batchTable,p=e._instanceBoundingSpheres,g=p.length;for(let m=0;m<g;++m){let x=p[m];if(!l(x))continue;let b=e.modelMatrix;l(b)&&(x=ce.transform(x,b,vte));let T=x.center,C=x.radius,A=Wn.fromCartesian(T,yte);if(d.setBatchedAttribute(m,o,A.high),d.setBatchedAttribute(m,r,A.low),!t.scene3DOnly){let S=f.cartesianToCartographic(T,Ete),v=u.project(S,Ste);A=Wn.fromCartesian(v,yte),d.setBatchedAttribute(m,s,A.high),d.setBatchedAttribute(m,a,A.low)}d.setBatchedAttribute(m,c,C)}e._batchTableBoundingSpheresUpdated=!0}var U6=new h,HRe=new h;function xte(e,t){if(!l(e._batchTableAttributeIndices.offset)||e._batchTableOffsetsUpdated||t.scene3DOnly)return;let i=e._batchTableOffsetAttribute2DIndex,o=t.mapProjection,r=o.ellipsoid,s=e._batchTable,a=e._instanceBoundingSpheres,c=a.length;for(let u=0;u<c;++u){let f=a[u];if(!l(f))continue;let d=s.getBatchedAttribute(u,e._batchTableAttributeIndices.offset);if(h.equals(d,h.ZERO)){s.setBatchedAttribute(u,i,h.ZERO);continue}let p=e.modelMatrix;l(p)&&(f=ce.transform(f,p,vte));let g=f.center;g=r.scaleToGeodeticSurface(g,HRe);let m=r.cartesianToCartographic(g,Ete),x=o.project(m,Ste),b=h.add(d,g,U6);m=r.cartesianToCartographic(b,m);let T=o.project(m,U6),C=h.subtract(T,x,U6),A=C.x;C.x=C.z,C.z=C.y,C.y=A,s.setBatchedAttribute(u,i,C)}e._batchTableOffsetsUpdated=!0}function GRe(e,t){let n=e._attributeLocations,i=e._geometries,o=t.scene3DOnly,r=t.context,s=[],a=i.length;for(let c=0;c<a;++c){let u=i[c];if(s.push(si.fromGeometry({context:r,geometry:u,attributeLocations:n,bufferUsage:Ue.STATIC_DRAW,interleave:e._interleave})),l(e._createBoundingVolumeFunction))e._createBoundingVolumeFunction(t,u);else if(e._boundingSpheres.push(ce.clone(u.boundingSphere)),e._boundingSphereWC.push(new ce),!o){let f=u.boundingSphereCV.center,d=f.x,p=f.y,g=f.z;f.x=g,f.y=d,f.z=p,e._boundingSphereCV.push(ce.clone(u.boundingSphereCV)),e._boundingSphere2D.push(new ce),e._boundingSphereMorph.push(new ce)}}e._va=s,e._primitiveType=i[0].primitiveType,e.releaseGeometryInstances&&(e.geometryInstances=void 0),e._geometries=void 0,Tv(e,t,Or.COMPLETE,void 0)}function WRe(e,t,n,i){let o=n.getRenderState(),r;i?(r=We(o,!1),r.cull={enabled:!0,face:Ti.BACK},e._frontFaceRS=ze.fromCache(r),r.cull.face=Ti.FRONT,e._backFaceRS=ze.fromCache(r)):(e._frontFaceRS=ze.fromCache(o),e._backFaceRS=e._frontFaceRS),r=We(o,!1),l(e._depthFailAppearance)&&(r.depthTest.enabled=!1),l(e._depthFailAppearance)&&(o=e._depthFailAppearance.getRenderState(),r=We(o,!1),r.depthTest.func=Dc.GREATER,i?(r.cull={enabled:!0,face:Ti.BACK},e._frontFaceDepthFailRS=ze.fromCache(r),r.cull.face=Ti.FRONT,e._backFaceDepthFailRS=ze.fromCache(r)):(e._frontFaceDepthFailRS=ze.fromCache(r),e._backFaceDepthFailRS=e._frontFaceRS))}function jRe(e,t,n){let i=t.context,o=e._attributeLocations,r=e._batchTable.getVertexShaderCallback()(n.vertexShaderSource);r=pr._appendOffsetToShader(e,r),r=pr._appendShowToShader(e,r),r=pr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=mte(r),r=pr._updateColorAttribute(e,r,!1),r=_te(e,r),r=pr._modifyShaderPosition(e,r,t.scene3DOnly);let s=n.getFragmentShaderSource();s=pte(s),e._sp=tn.replaceCache({context:i,shaderProgram:e._sp,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),gte(e._sp,o),l(e._depthFailAppearance)&&(r=e._batchTable.getVertexShaderCallback()(e._depthFailAppearance.vertexShaderSource),r=pr._appendShowToShader(e,r),r=pr._appendDistanceDisplayConditionToShader(e,r,t.scene3DOnly),r=mte(r),r=pr._updateColorAttribute(e,r,!0),r=_te(e,r),r=pr._modifyShaderPosition(e,r,t.scene3DOnly),r=LRe(r),s=e._depthFailAppearance.getFragmentShaderSource(),s=pte(s),s=NRe(s),e._spDepthFail=tn.replaceCache({context:i,shaderProgram:e._spDepthFail,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o}),gte(e._spDepthFail,o))}var bv=new F,bte=new h;function Tte(e,t,n,i){let o=l(n)?n._uniforms:void 0,r={},s=t.uniforms;if(l(s))for(let c in s)s.hasOwnProperty(c)&&(r[c]=FRe(s,c));let a=Ct(r,o);return a=e._batchTable.getUniformMapCallback()(a),l(e.rtcCenter)&&(a.u_modifiedModelView=function(){let c=i.context.uniformState.view;return F.multiply(c,e._modelMatrix,bv),F.multiplyByPoint(bv,e.rtcCenter,bte),F.setTranslation(bv,bte,bv),bv}),a}function qRe(e,t,n,i,o,r,s,a){let c=Tte(e,t,n,a),u;l(e._depthFailAppearance)&&(u=Tte(e,e._depthFailAppearance,e._depthFailAppearance.material,a));let f=i?ve.TRANSLUCENT:ve.OPAQUE,d=o?2:1;d*=l(e._depthFailAppearance)?2:1,r.length=e._va.length*d;let p=r.length,g=0;for(let m=0;m<p;++m){let x;o&&(x=r[m],l(x)||(x=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,++m),x=r[m],l(x)||(x=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceRS,x.shaderProgram=e._sp,x.uniformMap=c,x.pass=f,l(e._depthFailAppearance)&&(o&&(++m,x=r[m],l(x)||(x=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._backFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++m,x=r[m],l(x)||(x=r[m]=new tt({owner:e,primitiveType:e._primitiveType})),x.vertexArray=e._va[g],x.renderState=e._frontFaceDepthFailRS,x.shaderProgram=e._spDepthFail,x.uniformMap=u,x.pass=f),++g}}pr._updateBoundingVolumes=function(e,t,n,i){let o,r,s;if(i||!F.equals(n,e._modelMatrix))for(F.clone(n,e._modelMatrix),r=e._boundingSpheres.length,o=0;o<r;++o)s=e._boundingSpheres[o],l(s)&&(e._boundingSphereWC[o]=ce.transform(s,n,e._boundingSphereWC[o]),t.scene3DOnly||(e._boundingSphere2D[o]=ce.clone(e._boundingSphereCV[o],e._boundingSphere2D[o]),e._boundingSphere2D[o].center.x=0,e._boundingSphereMorph[o]=ce.union(e._boundingSphereWC[o],e._boundingSphereCV[o])));let a=e.appearance.pixelSize;if(l(a))for(r=e._boundingSpheres.length,o=0;o<r;++o){s=e._boundingSpheres[o];let c=e._boundingSphereWC[o],f=t.camera.getPixelSize(s,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*a;c.radius=s.radius+f}};function YRe(e,t,n,i,o,r,s,a){pr._updateBoundingVolumes(e,t,o);let c;t.mode===ne.SCENE3D?c=e._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=e._boundingSphereCV:t.mode===ne.SCENE2D&&l(e._boundingSphere2D)?c=e._boundingSphere2D:l(e._boundingSphereMorph)&&(c=e._boundingSphereMorph);let u=t.commandList,f=t.passes;if(f.render||f.pick){let d=e.allowPicking,p=bn.castShadows(e.shadows),g=bn.receiveShadows(e.shadows),m=n.length,x=a?2:1;x*=l(e._depthFailAppearance)?2:1;for(let b=0;b<m;++b){let T=Math.floor(b/x),C=n[b];C.modelMatrix=o,C.boundingVolume=c[T],C.cull=r,C.debugShowBoundingVolume=s,C.castShadows=p,C.receiveShadows=g,d?C.pickId="v_pickColor":C.pickId=void 0,u.push(C)}}}pr.prototype.update=function(e){if(!l(this.geometryInstances)&&this._va.length===0||l(this.geometryInstances)&&Array.isArray(this.geometryInstances)&&this.geometryInstances.length===0||!l(this.appearance)||e.mode!==ne.SCENE3D&&e.scene3DOnly||!e.passes.render&&!e.passes.pick)return;if(l(this._error))throw this._error;if(this._state===Or.FAILED)return;let t=e.context;if(l(this._batchTable)||IRe(this,t),this._batchTable.attributes.length>0){if(Bt.maximumVertexTextureImageUnits===0)throw new se("Vertex texture fetch support is required to render primitives with per-instance attributes. The maximum number of vertex texture image units must be greater than zero.");this._batchTable.update(e)}if(this._state!==Or.COMPLETE&&this._state!==Or.COMBINED&&(this.asynchronous?kRe(this,e):VRe(this,e)),this._state===Or.COMBINED&&(zRe(this,e),xte(this,e),GRe(this,e)),!this.show||this._state!==Or.COMPLETE)return;this._batchTableOffsetsUpdated||xte(this,e),this._recomputeBoundingSpheres&&URe(this,e);let n=this.appearance,i=n.material,o=!1,r=!1;this._appearance!==n?(this._appearance=n,this._material=i,o=!0,r=!0):this._material!==i&&(this._material=i,r=!0);let s=this.depthFailAppearance,a=l(s)?s.material:void 0;this._depthFailAppearance!==s?(this._depthFailAppearance=s,this._depthFailMaterial=a,o=!0,r=!0):this._depthFailMaterial!==a&&(this._depthFailMaterial=a,r=!0);let c=this._appearance.isTranslucent();this._translucent!==c&&(this._translucent=c,o=!0),l(this._material)&&this._material.update(t);let u=n.closed&&c;o&&y(this._createRenderStatesFunction,WRe)(this,t,n,u),r&&y(this._createShaderProgramFunction,jRe)(this,e,n),(o||r)&&y(this._createCommandsFunction,qRe)(this,n,i,c,u,this._colorCommands,this._pickCommands,e),y(this._updateAndQueueCommandsFunction,YRe)(this,e,this._colorCommands,this._pickCommands,this.modelMatrix,this.cull,this.debugShowBoundingVolume,u)};var XRe=new ce,KRe=new ce;function wte(e,t,n){if(n===cn.TOP){let i=ce.clone(e,XRe),o=ce.clone(e,KRe);o.center=h.add(o.center,t,o.center),e=ce.union(i,o,e)}else n===cn.ALL&&(e.center=h.add(e.center,t,e.center));return e}function ZRe(e,t,n){return function(){let i=e.getBatchedAttribute(t,n),o=e.attributes[n],r=o.componentsPerAttribute,s=X.createTypedArray(o.componentDatatype,r);return l(i.constructor.pack)?i.constructor.pack(i,s,0):s[0]=i,s}}function $Re(e,t,n,i,o){return function(r){let s=Ate(r);e.setBatchedAttribute(t,n,s),o==="offset"&&(i._recomputeBoundingSpheres=!0,i._batchTableOffsetsUpdated=!1)}}var QRe=new h;function JRe(e,t,n){t.boundingSphere={get:function(){let i=e._instanceBoundingSpheres[n];if(l(i)){i=i.clone();let o=e.modelMatrix,r=t.offset;l(r)&&wte(i,h.fromArray(r.get(),0,QRe),e._offsetInstanceExtend[n]),l(o)&&(i=ce.transform(i,o))}return i}},t.boundingSphereCV={get:function(){return e._instanceBoundingSpheresCV[n]}}}function eMe(e,t,n){t.pickId={get:function(){return e._pickIds[n]}}}pr.prototype.getGeometryInstanceAttributes=function(e){let t=this._perInstanceAttributeCache.get(e);if(l(t))return t;let n=-1,i=this._lastPerInstanceAttributeIndex,o=this._instanceIds,r=o.length;for(let u=0;u<r;++u){let f=(i+u)%r;if(e===o[f]){n=f;break}}if(n===-1)return;let s=this._batchTable,a=this._batchTableAttributeIndices;t={};let c={};for(let u in a)if(a.hasOwnProperty(u)){let f=a[u];c[u]={get:ZRe(s,n,f),set:$Re(s,n,f,this,u)}}return JRe(this,c,n),eMe(this,c,n),Object.defineProperties(t,c),this._lastPerInstanceAttributeIndex=n,this._perInstanceAttributeCache.set(e,t),t};pr.prototype.isDestroyed=function(){return!1};pr.prototype.destroy=function(){let e,t;this._sp=this._sp&&this._sp.destroy(),this._spDepthFail=this._spDepthFail&&this._spDepthFail.destroy();let n=this._va;for(e=n.length,t=0;t<e;++t)n[t].destroy();this._va=void 0;let i=this._pickIds;for(e=i.length,t=0;t<e;++t)i[t].destroy();return this._pickIds=void 0,this._batchTable=this._batchTable&&this._batchTable.destroy(),this._instanceIds=void 0,this._perInstanceAttributeCache=void 0,this._attributeLocations=void 0,ue(this)};function Tv(e,t,n,i){e._error=i,e._state=n,t.afterRender.push(function(){e._ready=e._state===Or.COMPLETE||e._state===Or.FAILED})}var On=pr;function tMe(e){e=y(e,y.EMPTY_OBJECT),this.componentDatatype=e.componentDatatype,this.componentsPerAttribute=e.componentsPerAttribute,this.normalize=y(e.normalize,!1),this.value=e.value}var Ic=tMe;var Cv=`#ifdef TEXTURE_COORDINATES #ifdef SPHERICAL in vec4 v_sphericalExtents; #else // SPHERICAL @@ -5130,14 +5175,14 @@ void main(void) czm_writeDepthClamp(); #endif // PICK } -`;function Ku(e,t,n){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let i=new M6;i.requiresTextureCoordinates=e,i.requiresEC=!n.flat;let o=new M6;if(o.requiresTextureCoordinates=e,n instanceof un)i.requiresNormalEC=!n.flat;else{let r=`${n.material.shaderSource} -${n.fragmentShaderSource}`;i.normalEC=r.indexOf("materialInput.normalEC")!==-1||r.indexOf("czm_getDefaultMaterial")!==-1,i.positionToEyeEC=r.indexOf("materialInput.positionToEyeEC")!==-1,i.tangentToEyeMatrix=r.indexOf("materialInput.tangentToEyeMatrix")!==-1,i.st=r.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=i,this._pickShaderDependencies=o,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}Ku.prototype.createFragmentShader=function(e){let t=this._appearance,n=this._colorShaderDependencies,i=[];!e&&!this._planarExtents&&i.push("SPHERICAL"),n.requiresEC&&i.push("REQUIRES_EC"),n.requiresWC&&i.push("REQUIRES_WC"),n.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),n.requiresNormalEC&&i.push("NORMAL_EC"),t instanceof un&&i.push("PER_INSTANCE_COLOR"),n.normalEC&&i.push("USES_NORMAL_EC"),n.positionToEyeEC&&i.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&i.push("USES_TANGENT_TO_EYE"),n.st&&i.push("USES_ST"),t.flat&&i.push("FLAT");let o="";return t instanceof un||(o=t.material.shaderSource),new Ge({defines:i,sources:[o,pw]})};Ku.prototype.createPickFragmentShader=function(e){let t=this._pickShaderDependencies,n=["PICK"];return!e&&!this._planarExtents&&n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new Ge({defines:n,sources:[pw],pickColorQualifier:"in"})};Ku.prototype.createVertexShader=function(e,t,n,i){return Ete(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,i,this._projectionExtentDefines)};Ku.prototype.createPickVertexShader=function(e,t,n,i){return Ete(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,i,this._projectionExtentDefines)};var gte=new h,yte=new fe,xte={high:0,low:0};function Ete(e,t,n,i,o,r,s,a){let c=i.slice();if(a.eastMostYhighDefine===""){let u=yte;u.longitude=P.PI,u.latitude=0,u.height=0;let f=s.project(u,gte),d=Wn.encode(f.x,xte);a.eastMostYhighDefine=`EAST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.eastMostYlowDefine=`EAST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`;let p=yte;p.longitude=-P.PI,p.latitude=0,p.height=0;let g=s.project(p,gte);d=Wn.encode(g.x,xte),a.westMostYhighDefine=`WEST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.westMostYlowDefine=`WEST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`}return n&&(c.push(a.eastMostYhighDefine),c.push(a.eastMostYlowDefine),c.push(a.westMostYhighDefine),c.push(a.westMostYlowDefine)),l(r)&&r instanceof un&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||n||c.push("SPHERICAL"),n&&c.push("COLUMBUS_VIEW_2D")),new Ge({defines:c,sources:[o]})}function M6(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(M6.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});function bte(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/U.distance(t,e)}var zOe=[new U,new U,new U,new U];function Ste(e,t){let n=zOe,i=U.unpack(t,0,n[0]),o=U.unpack(t,2,n[1]),r=U.unpack(t,4,n[2]);e.uMaxVmax=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});let s=1/bte(i,o,r),a=1/bte(i,r,o);e.uvMinAndExtents=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,s,a]})}var wte=new fe,vte=new h,HOe=new h,GOe=new h,OL={high:0,low:0};function Dte(e,t,n){let i=wte;i.height=0,i.longitude=e.west,i.latitude=e.south;let o=t.project(i,vte);i.latitude=e.north;let r=t.project(i,HOe);i.longitude=e.east,i.latitude=e.south;let s=t.project(i,GOe),a=[0,0,0,0],c=[0,0,0,0],u=Wn.encode(o.x,OL);a[0]=u.high,c[0]=u.low,u=Wn.encode(o.y,OL),a[1]=u.high,c[1]=u.low,u=Wn.encode(r.y,OL),a[2]=u.high,c[2]=u.low,u=Wn.encode(s.x,OL),a[3]=u.high,c[3]=u.low,n.planes2D_HIGH=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:a}),n.planes2D_LOW=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}var WOe=new F,jOe=new F,Tte=new h,qOe=new fe,YOe=[new fe,new fe,new fe,new fe,new fe,new fe,new fe,new fe];function XOe(e,t,n,i,o,r){let s=se.center(e,qOe);s.height=n;let a=fe.toCartesian(s,t,Tte),c=Bt.eastNorthUpToFixedFrame(a,t,WOe),u=F.inverse(c,jOe),f=e.west,d=e.east,p=e.north,g=e.south,m=YOe;m[0].latitude=g,m[0].longitude=f,m[1].latitude=p,m[1].longitude=f,m[2].latitude=p,m[2].longitude=d,m[3].latitude=g,m[3].longitude=d;let x=(f+d)*.5,b=(p+g)*.5;m[4].latitude=g,m[4].longitude=x,m[5].latitude=p,m[5].longitude=x,m[6].latitude=b,m[6].longitude=f,m[7].latitude=b,m[7].longitude=d;let T=Number.POSITIVE_INFINITY,C=Number.NEGATIVE_INFINITY,A=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY;for(let R=0;R<8;R++){m[R].height=n;let M=fe.toCartesian(m[R],t,Tte);F.multiplyByPoint(u,M,M),M.z=0,T=Math.min(T,M.x),C=Math.max(C,M.x),A=Math.min(A,M.y),S=Math.max(S,M.y)}let w=i;w.x=T,w.y=A,w.z=0,F.multiplyByPoint(c,w,w);let D=o;D.x=C,D.y=A,D.z=0,F.multiplyByPoint(c,D,D),h.subtract(D,w,o);let O=r;O.x=T,O.y=S,O.z=0,F.multiplyByPoint(c,O,O),h.subtract(O,w,r)}var KOe=new h,$Oe=new h,ZOe=new Wn;Ku.getPlanarTextureCoordinateAttributes=function(e,t,n,i,o){let r=vte,s=KOe,a=$Oe;XOe(e,n,y(o,0),r,s,a);let c={};Ste(c,t);let u=Wn.fromCartesian(r,ZOe);return c.southWest_HIGH=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.high,[0,0,0])}),c.southWest_LOW=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.low,[0,0,0])}),c.eastward=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(s,[0,0,0])}),c.northward=new vc({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(a,[0,0,0])}),Dte(e,i,c),c};var QOe=new h;function Cte(e,t,n,i){let o=wte;o.latitude=e,o.longitude=t,o.height=0;let r=fe.toCartesian(o,n,QOe),s=Math.sqrt(r.x*r.x+r.y*r.y),a=P.fastApproximateAtan2(s,r.z),c=P.fastApproximateAtan2(r.x,r.y);return i.x=a,i.y=c,i}var Ate=new U;Ku.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,i){let o=Cte(e.south,e.west,n,Ate),r=o.x,s=o.y,a=Cte(e.north,e.east,n,Ate),c=a.x,u=a.y,f=0;s>u&&(f=P.PI-s,s=-P.PI,u+=f),r-=P.EPSILON5,s-=P.EPSILON5,c+=P.EPSILON5,u+=P.EPSILON5;let d=1/(u-s),p=1/(c-r),g={sphericalExtents:new vc({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,d]}),longitudeRotation:new vc({componentDatatype:X.FLOAT,componentsPerAttribute:1,normalize:!1,value:[f]})};return Ste(g,t),Dte(e,i,g),g};Ku.hasAttributesForTextureCoordinatePlanes=function(e){return l(e.southWest_HIGH)&&l(e.southWest_LOW)&&l(e.northward)&&l(e.eastward)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};Ku.hasAttributesForSphericalExtents=function(e){return l(e.sphericalExtents)&&l(e.longitudeRotation)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};function JOe(e){return Math.max(e.width,e.height)>Ku.MAX_WIDTH_FOR_PLANAR_EXTENTS}Ku.shouldUseSphericalCoordinates=function(e){return JOe(e)};Ku.MAX_WIDTH_FOR_PLANAR_EXTENTS=P.toRadians(1);var $u=Ku;var eMe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},zn=Object.freeze(eMe);var tMe={ZERO:te.ZERO,KEEP:te.KEEP,REPLACE:te.REPLACE,INCREMENT:te.INCR,DECREMENT:te.DECR,INVERT:te.INVERT,INCREMENT_WRAP:te.INCR_WRAP,DECREMENT_WRAP:te.DECR_WRAP},mt=Object.freeze(tMe);var ML={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};ML.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:zn.ALWAYS,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.REPLACE},backFunction:zn.ALWAYS,backOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.REPLACE},reference:ML.CESIUM_3D_TILE_MASK,mask:ML.CESIUM_3D_TILE_MASK}};var zt=Object.freeze(ML);function z0(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Vn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(z0.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});z0.isSupported=function(e){return e.context.stencilBuffer};function UT(e,t){let n=t?zn.EQUAL:zn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:mt.KEEP,zFail:mt.DECREMENT_WRAP,zPass:mt.KEEP},backFunction:n,backOperation:{fail:mt.KEEP,zFail:mt.INCREMENT_WRAP,zPass:mt.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Sc.LESS_OR_EQUAL},depthMask:!1}}function N6(e){return{stencilTest:{enabled:e,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND}}var nMe={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function iMe(e,t,n,i){if(l(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=ze.fromCache(UT(o,!1)),e._rsStencilDepthPass3DTiles=ze.fromCache(UT(o,!0)),e._rsColorPass=ze.fromCache(N6(o,!1)),e._rsPickPass=ze.fromCache(nMe)}function oMe(e,t){if(!e.compressVertices)return t;if(t.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`in vec2 ${n};`,o=`vec3 extrudeDirection; +`;function Ju(e,t,n){this._projectionExtentDefines={eastMostYhighDefine:"",eastMostYlowDefine:"",westMostYhighDefine:"",westMostYlowDefine:""};let i=new z6;i.requiresTextureCoordinates=e,i.requiresEC=!n.flat;let o=new z6;if(o.requiresTextureCoordinates=e,n instanceof un)i.requiresNormalEC=!n.flat;else{let r=`${n.material.shaderSource} +${n.fragmentShaderSource}`;i.normalEC=r.indexOf("materialInput.normalEC")!==-1||r.indexOf("czm_getDefaultMaterial")!==-1,i.positionToEyeEC=r.indexOf("materialInput.positionToEyeEC")!==-1,i.tangentToEyeMatrix=r.indexOf("materialInput.tangentToEyeMatrix")!==-1,i.st=r.indexOf("materialInput.st")!==-1}this._colorShaderDependencies=i,this._pickShaderDependencies=o,this._appearance=n,this._extentsCulling=e,this._planarExtents=t}Ju.prototype.createFragmentShader=function(e){let t=this._appearance,n=this._colorShaderDependencies,i=[];!e&&!this._planarExtents&&i.push("SPHERICAL"),n.requiresEC&&i.push("REQUIRES_EC"),n.requiresWC&&i.push("REQUIRES_WC"),n.requiresTextureCoordinates&&i.push("TEXTURE_COORDINATES"),this._extentsCulling&&i.push("CULL_FRAGMENTS"),n.requiresNormalEC&&i.push("NORMAL_EC"),t instanceof un&&i.push("PER_INSTANCE_COLOR"),n.normalEC&&i.push("USES_NORMAL_EC"),n.positionToEyeEC&&i.push("USES_POSITION_TO_EYE_EC"),n.tangentToEyeMatrix&&i.push("USES_TANGENT_TO_EYE"),n.st&&i.push("USES_ST"),t.flat&&i.push("FLAT");let o="";return t instanceof un||(o=t.material.shaderSource),new He({defines:i,sources:[o,Cv]})};Ju.prototype.createPickFragmentShader=function(e){let t=this._pickShaderDependencies,n=["PICK"];return!e&&!this._planarExtents&&n.push("SPHERICAL"),t.requiresEC&&n.push("REQUIRES_EC"),t.requiresWC&&n.push("REQUIRES_WC"),t.requiresTextureCoordinates&&n.push("TEXTURE_COORDINATES"),this._extentsCulling&&n.push("CULL_FRAGMENTS"),new He({defines:n,sources:[Cv],pickColorQualifier:"in"})};Ju.prototype.createVertexShader=function(e,t,n,i){return Nte(this._colorShaderDependencies,this._planarExtents,n,e,t,this._appearance,i,this._projectionExtentDefines)};Ju.prototype.createPickVertexShader=function(e,t,n,i){return Nte(this._pickShaderDependencies,this._planarExtents,n,e,t,void 0,i,this._projectionExtentDefines)};var Dte=new h,Ite=new fe,Pte={high:0,low:0};function Nte(e,t,n,i,o,r,s,a){let c=i.slice();if(a.eastMostYhighDefine===""){let u=Ite;u.longitude=P.PI,u.latitude=0,u.height=0;let f=s.project(u,Dte),d=Wn.encode(f.x,Pte);a.eastMostYhighDefine=`EAST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.eastMostYlowDefine=`EAST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`;let p=Ite;p.longitude=-P.PI,p.latitude=0,p.height=0;let g=s.project(p,Dte);d=Wn.encode(g.x,Pte),a.westMostYhighDefine=`WEST_MOST_X_HIGH ${d.high.toFixed(`${d.high}`.length+1)}`,a.westMostYlowDefine=`WEST_MOST_X_LOW ${d.low.toFixed(`${d.low}`.length+1)}`}return n&&(c.push(a.eastMostYhighDefine),c.push(a.eastMostYlowDefine),c.push(a.westMostYhighDefine),c.push(a.westMostYlowDefine)),l(r)&&r instanceof un&&c.push("PER_INSTANCE_COLOR"),e.requiresTextureCoordinates&&(c.push("TEXTURE_COORDINATES"),t||n||c.push("SPHERICAL"),n&&c.push("COLUMBUS_VIEW_2D")),new He({defines:c,sources:[o]})}function z6(){this._requiresEC=!1,this._requiresWC=!1,this._requiresNormalEC=!1,this._requiresTextureCoordinates=!1,this._usesNormalEC=!1,this._usesPositionToEyeEC=!1,this._usesTangentToEyeMat=!1,this._usesSt=!1}Object.defineProperties(z6.prototype,{requiresEC:{get:function(){return this._requiresEC},set:function(e){this._requiresEC=e||this._requiresEC}},requiresWC:{get:function(){return this._requiresWC},set:function(e){this._requiresWC=e||this._requiresWC,this.requiresEC=this._requiresWC}},requiresNormalEC:{get:function(){return this._requiresNormalEC},set:function(e){this._requiresNormalEC=e||this._requiresNormalEC,this.requiresEC=this._requiresNormalEC}},requiresTextureCoordinates:{get:function(){return this._requiresTextureCoordinates},set:function(e){this._requiresTextureCoordinates=e||this._requiresTextureCoordinates,this.requiresWC=this._requiresTextureCoordinates}},normalEC:{set:function(e){this.requiresNormalEC=e,this._usesNormalEC=e},get:function(){return this._usesNormalEC}},tangentToEyeMatrix:{set:function(e){this.requiresWC=e,this.requiresNormalEC=e,this._usesTangentToEyeMat=e},get:function(){return this._usesTangentToEyeMat}},positionToEyeEC:{set:function(e){this.requiresEC=e,this._usesPositionToEyeEC=e},get:function(){return this._usesPositionToEyeEC}},st:{set:function(e){this.requiresTextureCoordinates=e,this._usesSt=e},get:function(){return this._usesSt}}});function Ote(e,t,n){return Math.abs((t.y-e.y)*n.x-(t.x-e.x)*n.y+t.x*e.y-t.y*e.x)/U.distance(t,e)}var nMe=[new U,new U,new U,new U];function Fte(e,t){let n=nMe,i=U.unpack(t,0,n[0]),o=U.unpack(t,2,n[1]),r=U.unpack(t,4,n[2]);e.uMaxVmax=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[o.x,o.y,r.x,r.y]});let s=1/Ote(i,o,r),a=1/Ote(i,r,o);e.uvMinAndExtents=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[i.x,i.y,s,a]})}var Bte=new fe,kte=new h,iMe=new h,oMe=new h,NL={high:0,low:0};function Vte(e,t,n){let i=Bte;i.height=0,i.longitude=e.west,i.latitude=e.south;let o=t.project(i,kte);i.latitude=e.north;let r=t.project(i,iMe);i.longitude=e.east,i.latitude=e.south;let s=t.project(i,oMe),a=[0,0,0,0],c=[0,0,0,0],u=Wn.encode(o.x,NL);a[0]=u.high,c[0]=u.low,u=Wn.encode(o.y,NL),a[1]=u.high,c[1]=u.low,u=Wn.encode(r.y,NL),a[2]=u.high,c[2]=u.low,u=Wn.encode(s.x,NL),a[3]=u.high,c[3]=u.low,n.planes2D_HIGH=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:a}),n.planes2D_LOW=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:c})}var rMe=new F,sMe=new F,Rte=new h,aMe=new fe,cMe=[new fe,new fe,new fe,new fe,new fe,new fe,new fe,new fe];function lMe(e,t,n,i,o,r){let s=ae.center(e,aMe);s.height=n;let a=fe.toCartesian(s,t,Rte),c=Mt.eastNorthUpToFixedFrame(a,t,rMe),u=F.inverse(c,sMe),f=e.west,d=e.east,p=e.north,g=e.south,m=cMe;m[0].latitude=g,m[0].longitude=f,m[1].latitude=p,m[1].longitude=f,m[2].latitude=p,m[2].longitude=d,m[3].latitude=g,m[3].longitude=d;let x=(f+d)*.5,b=(p+g)*.5;m[4].latitude=g,m[4].longitude=x,m[5].latitude=p,m[5].longitude=x,m[6].latitude=b,m[6].longitude=f,m[7].latitude=b,m[7].longitude=d;let T=Number.POSITIVE_INFINITY,C=Number.NEGATIVE_INFINITY,A=Number.POSITIVE_INFINITY,S=Number.NEGATIVE_INFINITY;for(let O=0;O<8;O++){m[O].height=n;let M=fe.toCartesian(m[O],t,Rte);F.multiplyByPoint(u,M,M),M.z=0,T=Math.min(T,M.x),C=Math.max(C,M.x),A=Math.min(A,M.y),S=Math.max(S,M.y)}let v=i;v.x=T,v.y=A,v.z=0,F.multiplyByPoint(c,v,v);let D=o;D.x=C,D.y=A,D.z=0,F.multiplyByPoint(c,D,D),h.subtract(D,v,o);let R=r;R.x=T,R.y=S,R.z=0,F.multiplyByPoint(c,R,R),h.subtract(R,v,r)}var uMe=new h,fMe=new h,dMe=new Wn;Ju.getPlanarTextureCoordinateAttributes=function(e,t,n,i,o){let r=kte,s=uMe,a=fMe;lMe(e,n,y(o,0),r,s,a);let c={};Fte(c,t);let u=Wn.fromCartesian(r,dMe);return c.southWest_HIGH=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.high,[0,0,0])}),c.southWest_LOW=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(u.low,[0,0,0])}),c.eastward=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(s,[0,0,0])}),c.northward=new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:3,normalize:!1,value:h.pack(a,[0,0,0])}),Vte(e,i,c),c};var hMe=new h;function Mte(e,t,n,i){let o=Bte;o.latitude=e,o.longitude=t,o.height=0;let r=fe.toCartesian(o,n,hMe),s=Math.sqrt(r.x*r.x+r.y*r.y),a=P.fastApproximateAtan2(s,r.z),c=P.fastApproximateAtan2(r.x,r.y);return i.x=a,i.y=c,i}var Lte=new U;Ju.getSphericalExtentGeometryInstanceAttributes=function(e,t,n,i){let o=Mte(e.south,e.west,n,Lte),r=o.x,s=o.y,a=Mte(e.north,e.east,n,Lte),c=a.x,u=a.y,f=0;s>u&&(f=P.PI-s,s=-P.PI,u+=f),r-=P.EPSILON5,s-=P.EPSILON5,c+=P.EPSILON5,u+=P.EPSILON5;let d=1/(u-s),p=1/(c-r),g={sphericalExtents:new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,value:[r,s,p,d]}),longitudeRotation:new Ic({componentDatatype:X.FLOAT,componentsPerAttribute:1,normalize:!1,value:[f]})};return Fte(g,t),Vte(e,i,g),g};Ju.hasAttributesForTextureCoordinatePlanes=function(e){return l(e.southWest_HIGH)&&l(e.southWest_LOW)&&l(e.northward)&&l(e.eastward)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};Ju.hasAttributesForSphericalExtents=function(e){return l(e.sphericalExtents)&&l(e.longitudeRotation)&&l(e.planes2D_HIGH)&&l(e.planes2D_LOW)&&l(e.uMaxVmax)&&l(e.uvMinAndExtents)};function mMe(e){return Math.max(e.width,e.height)>Ju.MAX_WIDTH_FOR_PLANAR_EXTENTS}Ju.shouldUseSphericalCoordinates=function(e){return mMe(e)};Ju.MAX_WIDTH_FOR_PLANAR_EXTENTS=P.toRadians(1);var ef=Ju;var pMe={NEVER:te.NEVER,LESS:te.LESS,EQUAL:te.EQUAL,LESS_OR_EQUAL:te.LEQUAL,GREATER:te.GREATER,NOT_EQUAL:te.NOTEQUAL,GREATER_OR_EQUAL:te.GEQUAL,ALWAYS:te.ALWAYS},zn=Object.freeze(pMe);var _Me={ZERO:te.ZERO,KEEP:te.KEEP,REPLACE:te.REPLACE,INCREMENT:te.INCR,DECREMENT:te.DECR,INVERT:te.INVERT,INCREMENT_WRAP:te.INCR_WRAP,DECREMENT_WRAP:te.DECR_WRAP},mt=Object.freeze(_Me);var FL={CESIUM_3D_TILE_MASK:128,SKIP_LOD_MASK:112,SKIP_LOD_BIT_SHIFT:4,CLASSIFICATION_MASK:15};FL.setCesium3DTileBit=function(){return{enabled:!0,frontFunction:zn.ALWAYS,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.REPLACE},backFunction:zn.ALWAYS,backOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.REPLACE},reference:FL.CESIUM_3D_TILE_MASK,mask:FL.CESIUM_3D_TILE_MASK}};var Ut=Object.freeze(FL);function Q0(e){e=y(e,y.EMPTY_OBJECT);let t=e.geometryInstances;this.geometryInstances=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Un.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._debugShowShadowVolume=!1,this._extruded=y(e._extruded,!1),this._uniformMap=e._uniformMap,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._spColor=void 0,this._spPick2D=void 0,this._spColor2D=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._commandsIgnoreShow=[],this._ready=!1,this._primitive=void 0,this._pickPrimitive=e._pickPrimitive,this._hasSphericalExtentsAttribute=!1,this._hasPlanarExtentsAttributes=!1,this._hasPerColorAttribute=!1,this.appearance=e.appearance,this._createBoundingVolumeFunction=e._createBoundingVolumeFunction,this._updateAndQueueCommandsFunction=e._updateAndQueueCommandsFunction,this._usePickOffsets=!1,this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_createRenderStatesFunction:void 0,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0,_createPickOffsets:!0}}Object.defineProperties(Q0.prototype,{vertexCacheOptimize:{get:function(){return this._primitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},compressVertices:{get:function(){return this._primitiveOptions.compressVertices}},ready:{get:function(){return this._ready}},_needs2DShader:{get:function(){return this._hasPlanarExtentsAttributes||this._hasSphericalExtentsAttribute}}});Q0.isSupported=function(e){return e.context.stencilBuffer};function YT(e,t){let n=t?zn.EQUAL:zn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:e,frontFunction:n,frontOperation:{fail:mt.KEEP,zFail:mt.DECREMENT_WRAP,zPass:mt.KEEP},backFunction:n,backOperation:{fail:mt.KEEP,zFail:mt.INCREMENT_WRAP,zPass:mt.KEEP},reference:Ut.CESIUM_3D_TILE_MASK,mask:Ut.CESIUM_3D_TILE_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Dc.LESS_OR_EQUAL},depthMask:!1}}function G6(e){return{stencilTest:{enabled:e,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:Ut.CLASSIFICATION_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND}}var gMe={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:Ut.CLASSIFICATION_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function yMe(e,t,n,i){if(l(e._rsStencilDepthPass))return;let o=!e.debugShowShadowVolume;e._rsStencilDepthPass=ze.fromCache(YT(o,!1)),e._rsStencilDepthPass3DTiles=ze.fromCache(YT(o,!0)),e._rsColorPass=ze.fromCache(G6(o,!1)),e._rsPickPass=ze.fromCache(gMe)}function xMe(e,t){if(!e.compressVertices)return t;if(t.search(/in\s+vec3\s+extrudeDirection;/g)!==-1){let n="compressedAttributes",i=`in vec2 ${n};`,o=`vec3 extrudeDirection; `,r=` extrudeDirection = czm_octDecode(${n}, 65535.0); -`,s=t;s=s.replace(/in\s+vec3\s+extrudeDirection;/g,""),s=Ge.replaceMain(s,"czm_non_compressed_main");let a=`void main() +`,s=t;s=s.replace(/in\s+vec3\s+extrudeDirection;/g,""),s=He.replaceMain(s,"czm_non_compressed_main");let a=`void main() { ${r} czm_non_compressed_main(); }`;return[i,o,s,a].join(` -`)}}function rMe(e,t){let n=t.context,i=e._primitive,o=bL;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=Rn._appendDistanceDisplayConditionToShader(i,o),o=Rn._modifyShaderPosition(e,o,t.scene3DOnly),o=Rn._updateColorAttribute(i,o);let r=e._hasPlanarExtentsAttributes,s=r||e._hasSphericalExtentsAttribute;e._extruded&&(o=oMe(i,o));let a=e._extruded?"EXTRUDED_GEOMETRY":"",c=new Ge({defines:[a],sources:[o]}),u=new Ge({sources:[F0]}),f=e._primitive._attributeLocations,d=new $u(s,r,e.appearance);if(e._spStencil=sn.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f}),e._primitive.allowPicking){let m=Ge.createPickVertexShaderSource(o);m=Rn._appendShowToShader(i,m),m=Rn._updatePickColorAttribute(m);let x=d.createPickFragmentShader(!1),b=d.createPickVertexShader([a],m,!1,t.mapProjection);if(e._spPick=sn.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f}),s){let T=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!l(T)){let C=d.createPickFragmentShader(!0),A=d.createPickVertexShader([a],m,!0,t.mapProjection);T=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:A,fragmentShaderSource:C,attributeLocations:f})}e._spPick2D=T}}else e._spPick=sn.fromCache({context:n,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});o=Rn._appendShowToShader(i,o),c=new Ge({defines:[a],sources:[o]}),e._sp=sn.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});let p=d.createFragmentShader(!1),g=d.createVertexShader([a],o,!1,t.mapProjection);if(e._spColor=sn.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:g,fragmentShaderSource:p,attributeLocations:f}),s){let m=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!l(m)){let x=d.createFragmentShader(!0),b=d.createVertexShader([a],o,!0,t.mapProjection);m=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f})}e._spColor2D=m}}function sMe(e,t){let n=e._primitive,i=n._va.length*2;t.length=i;let o,r,s,a=0,c=n._batchTable.getUniformMapCallback()(e._uniformMap),u=e._needs2DShader;for(o=0;o<i;o+=2){let g=n._va[a++];r=t[o],l(r)||(r=t[o]=new et({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsStencilDepthPass,r.shaderProgram=e._sp,r.uniformMap=c,r.pass=Se.TERRAIN_CLASSIFICATION,s=et.shallowClone(r,r.derivedCommands.tileset),s.renderState=e._rsStencilDepthPass3DTiles,s.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,r=t[o+1],l(r)||(r=t[o+1]=new et({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsColorPass,r.shaderProgram=e._spColor,r.pass=Se.TERRAIN_CLASSIFICATION;let x=e.appearance.material;if(l(x)&&(c=xt(c,x._uniforms)),r.uniformMap=c,s=et.shallowClone(r,r.derivedCommands.tileset),s.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,u){let b=et.shallowClone(r,r.derivedCommands.appearance2D);b.shaderProgram=e._spColor2D,r.derivedCommands.appearance2D=b,b=et.shallowClone(s,s.derivedCommands.appearance2D),b.shaderProgram=e._spColor2D,s.derivedCommands.appearance2D=b}}let f=e._commandsIgnoreShow,d=e._spStencil,p=0;i=f.length=i/2;for(let g=0;g<i;++g){let m=f[g]=et.shallowClone(t[p],f[g]);m.shaderProgram=d,m.pass=Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,p+=2}}function aMe(e,t){let n=e._usePickOffsets,i=e._primitive,o=i._va.length*2,r,s=0,a;n&&(r=i._pickOffsets,o=r.length*2),t.length=o;let c,u,f,d=0,p=i._batchTable.getUniformMapCallback()(e._uniformMap),g=e._needs2DShader;for(c=0;c<o;c+=2){let m=i._va[d++];if(n&&(a=r[s++],m=i._va[a.index]),u=t[c],l(u)||(u=t[c]=new et({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsStencilDepthPass,u.shaderProgram=e._sp,u.uniformMap=p,u.pass=Se.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=et.shallowClone(u,u.derivedCommands.tileset),f.renderState=e._rsStencilDepthPass3DTiles,f.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,u=t[c+1],l(u)||(u=t[c+1]=new et({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsPickPass,u.shaderProgram=e._spPick,u.uniformMap=p,u.pass=Se.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=et.shallowClone(u,u.derivedCommands.tileset),f.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,g){let x=et.shallowClone(u,u.derivedCommands.pick2D);x.shaderProgram=e._spPick2D,u.derivedCommands.pick2D=x,x=et.shallowClone(f,f.derivedCommands.pick2D),x.shaderProgram=e._spPick2D,f.derivedCommands.pick2D=x}}}function cMe(e,t,n,i,o,r,s){sMe(e,r),aMe(e,s)}function Ite(e,t){return Math.floor(e%t/2)}function L6(e,t,n,i,o,r){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,e.debugShowBoundingVolume=r,t.commandList.push(e)}function Pte(e,t,n,i,o){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,t.commandList.push(e)}function lMe(e,t,n,i,o,r,s,a){let c=e._primitive;Rn._updateBoundingVolumes(c,t,o);let u;t.mode===ne.SCENE3D?u=c._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?u=c._boundingSphereCV:t.mode===ne.SCENE2D&&l(c._boundingSphere2D)?u=c._boundingSphere2D:l(c._boundingSphereMorph)&&(u=c._boundingSphereMorph);let f=e.classificationType,d=f!==Vn.CESIUM_3D_TILE,p=f!==Vn.TERRAIN,g=t.passes,m,x,b;if(g.render){let T=n.length;for(m=0;m<T;++m)x=u[Ite(m,T)],d&&(b=n[m],L6(b,t,o,r,x,s)),p&&(b=n[m].derivedCommands.tileset,L6(b,t,o,r,x,s));if(t.invertClassification){let C=e._commandsIgnoreShow,A=C.length;for(m=0;m<A;++m)x=u[m],b=C[m],L6(b,t,o,r,x,s)}}if(g.pick){let T=i.length,C=c._pickOffsets;for(m=0;m<T;++m){let A=C[Ite(m,T)];x=u[A.index],d&&(b=i[m],Pte(b,t,o,r,x)),p&&(b=i[m].derivedCommands.tileset,Pte(b,t,o,r,x))}}}z0.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;let t=this.appearance;l(t)&&l(t.material)&&t.material.update(e.context);let n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s,a,c,u=!1,f=!0,d,p=!1,g=!1;for(r>0&&(c=o[0].attributes,p=$u.hasAttributesForSphericalExtents(c),g=$u.hasAttributesForTextureCoordinatePlanes(c),d=c.color),s=0;s<r;s++){a=o[s];let x=a.attributes.color;l(x)&&(u=!0),f=f&&l(x)&&jt.equals(d,x)}if(!f&&!p&&!g)throw new de("All GeometryInstances must have the same color attribute except via GroundPrimitives");u&&!l(t)&&(t=new un({flat:!0}),this.appearance=t),this._usePickOffsets=!p&&!g,this._hasSphericalExtentsAttribute=p,this._hasPlanarExtentsAttributes=g,this._hasPerColorAttribute=u;let m=new Array(r);for(s=0;s<r;++s)a=o[s],m[s]=new wt({geometry:a.geometry,attributes:a.attributes,modelMatrix:a.modelMatrix,id:a.id,pickPrimitive:y(this._pickPrimitive,n)});i.appearance=t,i.geometryInstances=m,l(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(x,b){n._createBoundingVolumeFunction(x,b)}),i._createRenderStatesFunction=function(x,b,T,C){iMe(n,b)},i._createShaderProgramFunction=function(x,b,T){rMe(n,b)},i._createCommandsFunction=function(x,b,T,C,A,S,w){cMe(n,void 0,void 0,!0,!1,S,w)},l(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(x,b,T,C,A,S,w,D){n._updateAndQueueCommandsFunction(x,b,T,C,A,S,w,D)}:i._updateAndQueueCommandsFunction=function(x,b,T,C,A,S,w,D){lMe(n,b,T,C,A,S,w,D)},this._primitive=new Rn(i)}this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=ze.fromCache(UT(!1,!1)),this._rsStencilDepthPass3DTiles=ze.fromCache(UT(!1,!0)),this._rsColorPass=ze.fromCache(N6(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=ze.fromCache(UT(!0,!1)),this._rsStencilDepthPass3DTiles=ze.fromCache(UT(!0,!0)),this._rsColorPass=ze.fromCache(N6(!0))),this._primitive.appearance!==t&&(this._primitive.appearance=t),this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};z0.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};z0.prototype.isDestroyed=function(){return!1};z0.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,ue(this)};var _w=z0;var uMe={u_globeMinimumAltitude:function(){return 55e3}};function ll(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!l(t)&&l(n)){let o=Array.isArray(n)?n:[n],r=o.length;for(let s=0;s<r;s++){let a=o[s].attributes;if(l(a)&&l(a.color)){t=new un({flat:!0});break}}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Vn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1,this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=li._defaultMaxTerrainHeight,this._minTerrainHeight=li._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let i=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:i,_extruded:!0,_uniformMap:uMe}}Object.defineProperties(ll.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}}});ll.isSupported=_w.isSupported;function Rte(e){return function(t,n){let i=n.maximumRadius,o=i/Math.cos(t*.5)-i;return e._maxHeight+o}}function Ote(e){return function(t,n){return e._minHeight}}var fMe=new h,dMe=new h,hMe=new h,mMe=new fe,pMe=new se;function LL(e,t){let n=e.mapProjection.ellipsoid;if(!l(t.attributes)||!l(t.attributes.position3DHigh))return l(t.rectangle)?t.rectangle:void 0;let i=t.attributes.position3DHigh.values,o=t.attributes.position3DLow.values,r=i.length,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(let d=0;d<r;d+=3){let p=h.unpack(i,d,fMe),g=h.unpack(o,d,dMe),m=h.add(p,g,hMe),x=n.cartesianToCartographic(m,mMe),b=x.latitude,T=x.longitude;s=Math.min(s,b),a=Math.min(a,T),c=Math.max(c,b),u=Math.max(u,T)}let f=pMe;return f.north=c,f.south=s,f.east=u,f.west=a,f}function _Me(e,t,n){let i=li.getMinimumMaximumHeights(t,n);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function gMe(e,t,n){let i=t.mapProjection.ellipsoid,o=LL(t,n),r=In.fromRectangle(o,e._minHeight,e._maxHeight,i);if(e._boundingVolumes.push(r),!t.scene3DOnly){let s=t.mapProjection,a=ae.fromRectangleWithHeights2D(o,s,e._maxHeight,e._minHeight);h.fromElements(a.center.z,a.center.x,a.center.y,a.center),e._boundingVolumes2D.push(a)}}function F6(e,t){return Math.floor(e%t/2)}function B6(e,t,n,i,o,r,s){let a=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===a._spColor&&a._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function Mte(e,t,n,i,o,r){let s=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===s._spPick&&s._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,n.commandList.push(t)}function yMe(e,t,n,i,o,r,s,a){let c;t.mode===ne.SCENE3D?c=e._boundingVolumes:c=e._boundingVolumes2D;let u=e.classificationType,f=u!==Vn.CESIUM_3D_TILE,d=u!==Vn.TERRAIN,p=t.passes,g=e._primitive,m,x,b;if(p.render){let T=n.length;for(m=0;m<T;++m)x=c[F6(m,T)],f&&(b=n[m],B6(e,b,t,o,r,x,s)),d&&(b=n[m].derivedCommands.tileset,B6(e,b,t,o,r,x,s));if(t.invertClassification){let C=g._commandsIgnoreShow,A=C.length;for(m=0;m<A;++m)x=c[m],b=C[m],B6(e,b,t,o,r,x,s)}}if(p.pick){let T=i.length,C;for(e._useFragmentCulling||(C=g._primitive._pickOffsets),m=0;m<T;++m){if(x=c[F6(m,T)],!e._useFragmentCulling){let A=C[F6(m,T)];x=c[A.index]}f&&(b=i[m],Mte(e,b,t,o,r,x)),d&&(b=i[m].derivedCommands.tileset,Mte(e,b,t,o,r,x))}}}ll.initializeTerrainHeights=function(){return li.initialize()};ll.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!li.initialized){ll.initializeTerrainHeights();return}let t=this,n=this._classificationPrimitiveOptions;if(!l(this._primitive)){let i=e.mapProjection.ellipsoid,o,r,s,a=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],c=a.length,u=new Array(c),f,d;for(f=0;f<c;++f){o=a[f],r=o.geometry;let x=LL(e,r);l(d)?l(x)&&se.union(d,x,d):d=se.clone(x);let b=o.id;if(l(b)&&l(x)){let T=li.getBoundingSphere(x,i);this._boundingSpheresKeys.push(b),this._boundingSpheres.push(T)}s=r.constructor,!l(s)||l(s.createShadowVolume)}_Me(this,d,i);let p=e.verticalExaggeration,g=e.verticalExaggerationRelativeHeight;this._minHeight=Dr.getHeight(this._minTerrainHeight,p,g),this._maxHeight=Dr.getHeight(this._maxTerrainHeight,p,g);let m=ll._supportsMaterials(e.context);if(this._useFragmentCulling=m,m){let x,b=!0;for(f=0;f<c;++f)if(o=a[f],r=o.geometry,d=LL(e,r),$u.shouldUseSphericalCoordinates(d)){b=!1;break}for(f=0;f<c;++f){o=a[f],r=o.geometry,s=r.constructor;let T=LL(e,r),C=r.textureCoordinateRotationPoints;b?x=$u.getPlanarTextureCoordinateAttributes(T,C,i,e.mapProjection,this._maxHeight):x=$u.getSphericalExtentGeometryInstanceAttributes(T,C,i,e.mapProjection);let A=o.attributes;for(let S in A)A.hasOwnProperty(S)&&(x[S]=A[S]);u[f]=new wt({geometry:s.createShadowVolume(r,Ote(this),Rte(this)),attributes:x,id:o.id})}}else for(f=0;f<c;++f)o=a[f],r=o.geometry,s=r.constructor,u[f]=new wt({geometry:s.createShadowVolume(r,Ote(this),Rte(this)),attributes:o.attributes,id:o.id});n.geometryInstances=u,n.appearance=this.appearance,n._createBoundingVolumeFunction=function(x,b){gMe(t,x,b)},n._updateAndQueueCommandsFunction=function(x,b,T,C,A,S,w,D){yMe(t,b,T,C,A,S,w,D)},this._primitive=new _w(n)}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};ll.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};ll.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};ll.prototype.isDestroyed=function(){return!1};ll.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};ll._supportsMaterials=function(e){return e.depthTexture};ll.supportsMaterials=function(e){return ll._supportsMaterials(e.frameState.context)};var ul=ll;function zT(){de.throwInstantiationError()}Object.defineProperties(zT.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});zT.prototype.getType=de.throwInstantiationError;zT.prototype.getValue=de.throwInstantiationError;zT.prototype.equals=de.throwInstantiationError;var xMe=new K;zT.getValue=function(e,t,n){let i;return l(e)||(e=K.now(xMe)),l(t)&&(i=t.getType(e),l(i))?((!l(n)||n.type!==i)&&(n=ji.fromType(i)),t.getValue(e,n.uniforms),n):((!l(n)||n.type!==ji.ColorType)&&(n=ji.fromType(ji.ColorType)),H.clone(H.WHITE,n.uniforms.color),n)};var rr=zT;function H0(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}H0.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!q.getValueOrDefault(t.show,n,!0)};H0.prototype._setOptions=de.throwInstantiationError;H0.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!l(s.fill)||s.fill.getValue(e)){let u=t.fillMaterialProperty,f=u instanceof Ht,d,p=t._getIsClosed(c);if(f)d=new un({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=rr.getValue(e,u,this._material);this._material=g,d=new co({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=un.VERTEX_FORMAT,this._primitive=o.add(new ul({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:d,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),q.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=d.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);f&&(d.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new Rn({geometryInstances:g,appearance:d,asynchronous:!1,shadows:a}))}}if(!n&&l(s.outline)&&s.outline.getValue(e)){let u=this._geometryUpdater.createOutlineGeometryInstance(e),f=q.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new Rn({geometryInstances:u,appearance:new un({flat:!0,translucent:u.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(f)}}),asynchronous:!1,shadows:a}))}};H0.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return l(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ae.clone(o.boundingSphere,e),ft.DONE):l(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ae.clone(o.boundingSphere,e),ft.DONE):l(n)&&!n.ready||l(i)&&!i.ready?ft.PENDING:ft.FAILED};H0.prototype.isDestroyed=function(){return!1};H0.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),ue(this)};var ii=H0;var bMe={NONE:0,GEODESIC:1,RHUMB:2},nn=Object.freeze(bMe);var Lte=P.EPSILON10;function TMe(e,t,n,i){if(!l(e))return;n=y(n,!1);let o=l(i),r=e.length;if(r<2)return e;let s,a=e[0],c,u,f=0,d=-1;for(s=1;s<r;++s)c=e[s],t(a,c,Lte)?(l(u)||(u=e.slice(0,s),f=s-1,d=0),o&&i.push(s)):(l(u)&&(u.push(c),f=s,o&&(d=i.length)),a=c);return n&&t(e[0],e[r-1],Lte)&&(o&&(l(u)?i.splice(d,0,f):i.push(r-1)),l(u)?u.length-=1:u=e.slice(0,-1)),l(u)?u:e}var xo=TMe;function CMe(e){let t=e._uSquared,n=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,o=(n-i)/n,r=Math.cos(e._startHeading),s=Math.sin(e._startHeading),a=(1-o)*Math.tan(e._start.latitude),c=1/Math.sqrt(1+a*a),u=c*a,f=Math.atan2(a,r),d=c*s,p=d*d,g=1-p,m=Math.sqrt(g),x=t/4,b=x*x,T=b*x,C=b*b,A=1+x-3*b/4+5*T/4-175*C/64,S=1-x+15*b/8-35*T/8,w=1-3*x+35*b/4,D=1-5*x,O=A*f-S*Math.sin(2*f)*x/2-w*Math.sin(4*f)*b/16-D*Math.sin(6*f)*T/48-Math.sin(8*f)*5*C/512,R=e._constants;R.a=n,R.b=i,R.f=o,R.cosineHeading=r,R.sineHeading=s,R.tanU=a,R.cosineU=c,R.sineU=u,R.sigma=f,R.sineAlpha=d,R.sineSquaredAlpha=p,R.cosineSquaredAlpha=g,R.cosineAlpha=m,R.u2Over4=x,R.u4Over16=b,R.u6Over64=T,R.u8Over256=C,R.a0=A,R.a1=S,R.a2=w,R.a3=D,R.distanceRatio=O}function AMe(e,t){return e*t*(4+e*(4-3*t))/16}function Nte(e,t,n,i,o,r,s){let a=AMe(e,n);return(1-a)*e*t*(i+a*o*(s+a*r*(2*s*s-1)))}function EMe(e,t,n,i,o,r,s){let a=(t-n)/t,c=r-i,u=Math.atan((1-a)*Math.tan(o)),f=Math.atan((1-a)*Math.tan(s)),d=Math.cos(u),p=Math.sin(u),g=Math.cos(f),m=Math.sin(f),x=d*g,b=d*m,T=p*m,C=p*g,A=c,S=P.TWO_PI,w=Math.cos(A),D=Math.sin(A),O,R,M,L,_;do{w=Math.cos(A),D=Math.sin(A);let k=b-C*w;M=Math.sqrt(g*g*D*D+k*k),R=T+x*w,O=Math.atan2(M,R);let Y;M===0?(Y=0,L=1):(Y=x*D/M,L=1-Y*Y),S=A,_=R-2*T/L,isFinite(_)||(_=0),A=c+Nte(a,Y,L,O,M,R,_)}while(Math.abs(A-S)>P.EPSILON12);let E=L*(t*t-n*n)/(n*n),v=1+E*(4096+E*(E*(320-175*E)-768))/16384,I=E*(256+E*(E*(74-47*E)-128))/1024,N=_*_,B=I*M*(_+I*(R*(2*N-1)-I*_*(4*M*M-3)*(4*N-3)/6)/4),z=n*v*(O-B),V=Math.atan2(g*D,b-C*w),G=Math.atan2(d*D,b*w-C);e._distance=z,e._startHeading=V,e._endHeading=G,e._uSquared=E}var SMe=new h,k6=new h;function Fte(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,k6),SMe),r=h.normalize(i.cartographicToCartesian(n,k6),k6);EMe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=fe.clone(t,e._start),e._end=fe.clone(n,e._end),e._start.height=0,e._end.height=0,CMe(e)}function gw(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,l(e)&&l(t)&&Fte(this,e,t,i)}Object.defineProperties(gw.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});gw.prototype.setEndPoints=function(e,t){Fte(this,e,t,this._ellipsoid)};gw.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};gw.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),u=Math.sin(6*i),f=Math.sin(8*i),d=i*i,p=i*d,g=n.u8Over256,m=n.u2Over4,x=n.u6Over64,b=n.u4Over16,T=2*p*g*o/3+i*(1-m+7*b/4-15*x/4+579*g/64-(b-15*x/4+187*g/16)*o-(5*x/4-115*g/16)*r-29*g*s/16)+(m/2-b+71*x/32-85*g/16)*a+(5*b/16-5*x/4+383*g/96)*c-d*((x-11*g/2)*a+5*g*c/2)+(29*x/96-29*g/16)*u+539*g*f/1536,C=Math.asin(Math.sin(T)*n.cosineAlpha),A=Math.atan(n.a/n.b*Math.tan(C));T=T-n.sigma;let S=Math.cos(2*n.sigma+T),w=Math.sin(T),D=Math.cos(T),O=n.cosineU*D,R=n.sineU*w,L=Math.atan2(w*n.sineHeading,O-R*n.cosineHeading)-Nte(n.f,n.sineAlpha,n.cosineSquaredAlpha,T,w,D,S);return l(t)?(t.longitude=this._start.longitude+L,t.latitude=A,t.height=0,t):new fe(this._start.longitude+L,A,0)};var X_=gw;function U6(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,u=n,f=Math.sin(2*u),d=Math.sin(4*u),p=Math.sin(6*u),g=Math.sin(8*u),m=Math.sin(10*u),x=Math.sin(12*u);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*u-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*f+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*d-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*m+1001*c/8388608*x)}function wMe(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,u=c*c,f=u*c,d=f*c,p=d*c,g=p*c,m=Math.sin(2*i),x=Math.cos(2*i),b=Math.sin(4*i),T=Math.cos(4*i),C=Math.sin(6*i),A=Math.cos(6*i),S=Math.sin(8*i),w=Math.cos(8*i),D=Math.sin(10*i),O=Math.cos(10*i),R=Math.sin(12*i);return i+i*c/4+7*i*u/64+15*i*f/256+579*i*d/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*u/16+45*i*f/256-i*(32*o-561)*d/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*x+(21*i*f/256+483*i*d/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*T+(151*i*d/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*A+(1097*i*p/65536+42783*i*g/1048576)*w+8011*i*g/1048576*O+(3*c/8+3*u/16+213*f/2048-3*o*f/64+255*d/4096-33*o*d/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*m+(21*u/256+21*f/256+533*d/8192-21*o*d/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*b+(151*f/6144+151*d/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*C+(1097*d/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*S+(8011*p/2621440+8011*g/1048576)*D+293393*g/251658240*R}function HT(e,t){if(e===0)return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function vMe(e,t,n,i,o){let r=HT(e._ellipticity,n),s=HT(e._ellipticity,o);return Math.atan2(P.negativePiToPi(i-t),s-r)}function DMe(e,t,n,i,o,r,s){let a=e._heading,c=r-i,u=0;if(P.equalsEpsilon(Math.abs(a),P.PI_OVER_TWO,P.EPSILON8))if(t===n)u=t*Math.cos(o)*P.negativePiToPi(c);else{let f=Math.sin(o);u=t*Math.cos(o)*P.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*f*f)}else{let f=U6(e._ellipticity,t,o);u=(U6(e._ellipticity,t,s)-f)/Math.cos(a)}return Math.abs(u)}var IMe=new h,V6=new h;function Bte(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,V6),IMe),r=h.normalize(i.cartographicToCartesian(n,V6),V6),s=i.maximumRadius,a=i.minimumRadius,c=s*s,u=a*a;e._ellipticitySquared=(c-u)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=fe.clone(t,e._start),e._start.height=0,e._end=fe.clone(n,e._end),e._end.height=0,e._heading=vMe(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=DMe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function kte(e,t,n,i,o,r){if(n===0)return fe.clone(e,r);let s=o*o,a,c,u;if(Math.abs(P.PI_OVER_TWO-Math.abs(t))>P.EPSILON8){let f=U6(o,i,e.latitude),d=n*Math.cos(t),p=f+d;if(c=wMe(p,o,i),Math.abs(t)<P.EPSILON10)a=P.negativePiToPi(e.longitude);else{let g=HT(o,e.latitude),m=HT(o,c);u=Math.tan(t)*(m-g),a=P.negativePiToPi(e.longitude+u)}}else{c=e.latitude;let f;if(o===0)f=i*Math.cos(e.latitude);else{let d=Math.sin(e.latitude);f=i*Math.cos(e.latitude)/Math.sqrt(1-s*d*d)}u=n/f,t>0?a=P.negativePiToPi(e.longitude+u):a=P.negativePiToPi(e.longitude-u)}return l(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new fe(a,c,0)}function fp(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(e)&&l(t)&&Bte(this,e,t,i)}Object.defineProperties(fp.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});fp.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,ee.default),s=r.maximumRadius,a=r.minimumRadius,c=s*s,u=a*a,f=Math.sqrt((c-u)/c);t=P.negativePiToPi(t);let d=kte(e,t,n,r.maximumRadius,f);return!l(o)||l(i)&&!i.equals(o.ellipsoid)?new fp(e,d,r):(o.setEndPoints(e,d),o)};fp.prototype.setEndPoints=function(e,t){Bte(this,e,t,this._ellipsoid)};fp.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};fp.prototype.interpolateUsingSurfaceDistance=function(e,t){return kte(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};fp.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=P.negativePiToPi(e),P.equalsEpsilon(Math.abs(e),Math.PI,P.EPSILON14)&&(e=P.sign(r.longitude)*Math.PI),l(t)||(t=new fe),Math.abs(P.PI_OVER_TWO-o)<=P.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(P.equalsEpsilon(Math.abs(P.PI_OVER_TWO-o),P.PI_OVER_TWO,P.EPSILON8))return P.equalsEpsilon(e,r.longitude,P.EPSILON12)?void 0:(t.longitude=e,t.latitude=P.PI_OVER_TWO*P.sign(P.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(P.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),u=(1+a)/(1-a),f=r.latitude,d;do{d=f;let p=n*Math.sin(d),g=(1+p)/(1-p);f=2*Math.atan(c*Math.pow(g/u,n/2))-P.PI_OVER_TWO}while(!P.equalsEpsilon(f,d,P.EPSILON12));return t.longitude=e,t.latitude=f,t.height=0,t};fp.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(P.equalsEpsilon(Math.abs(i),P.PI_OVER_TWO,P.EPSILON8))return;let r=HT(n,o.latitude),s=HT(n,e),a=Math.tan(i)*(s-r),c=P.negativePiToPi(o.longitude+a);return l(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new fe(c,e,0)};var Ka=fp;var X6=[vi,Ii],PMe=X6.length,one=Math.cos(P.toRadians(30)),Vte=Math.cos(P.toRadians(150)),rne=0,sne=1e3;function $_(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,nn.GEODESIC),this._ellipsoid=ee.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties($_.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+ee.packedLength+1+1}}});$_.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;i<PMe;i++)if(t instanceof X6[i]){n=i;break}e._projectionIndex=n,e._ellipsoid=t.ellipsoid};var RMe=new h,Ute=new h,zte=new h;function Y6(e,t,n,i,o){let r=Dc(i,e,0,RMe),s=Dc(i,e,n,Ute),a=Dc(i,t,0,zte),c=dp(s,r,Ute),u=dp(a,r,zte);return h.cross(u,c,o),h.normalize(o,o)}var OMe=new fe,MMe=new h,LMe=new h,NMe=new h;function z6(e,t,n,i,o,r,s,a,c,u,f){if(o===0)return;let d;r===nn.GEODESIC?d=new X_(e,t,s):r===nn.RHUMB&&(d=new Ka(e,t,s));let p=d.surfaceDistance;if(p<o)return;let g=Y6(e,t,i,s,NMe),m=Math.ceil(p/o),x=p/m,b=x,T=m-1,C=a.length;for(let A=0;A<T;A++){let S=d.interpolateUsingSurfaceDistance(b,OMe),w=Dc(s,S,n,MMe),D=Dc(s,S,i,LMe);h.pack(g,a,C),h.pack(w,c,C),h.pack(D,u,C),f.push(S.latitude),f.push(S.longitude),C+=3,b+=x}}var H6=new fe;function Dc(e,t,n,i){return fe.clone(t,H6),H6.height=n,fe.toCartesian(H6,e,i)}$_.pack=function(e,t,n){let i=y(n,0),o=e._positions,r=o.length;t[i++]=r;for(let s=0;s<r;++s){let a=o[s];h.pack(a,t,i),i+=3}return t[i++]=e.granularity,t[i++]=e.loop?1:0,t[i++]=e.arcType,ee.pack(e._ellipsoid,t,i),i+=ee.packedLength,t[i++]=e._projectionIndex,t[i++]=e._scene3DOnly?1:0,t};$_.unpack=function(e,t,n){let i=y(t,0),o=e[i++],r=new Array(o);for(let p=0;p<o;p++)r[p]=h.unpack(e,i),i+=3;let s=e[i++],a=e[i++]===1,c=e[i++],u=ee.unpack(e,i);i+=ee.packedLength;let f=e[i++],d=e[i++]===1;return l(n)||(n=new $_({positions:r})),n._positions=r,n.granularity=s,n.loop=a,n.arcType=c,n._ellipsoid=u,n._projectionIndex=f,n._scene3DOnly=d,n};function dp(e,t,n){return h.subtract(e,t,n),h.normalize(n,n),n}function Hte(e,t,n,i){return i=dp(e,t,i),i=h.cross(i,n,i),i=h.normalize(i,i),i=h.cross(n,i,i),i}var FMe=new h,BMe=new h,kMe=new h,ane=new h,VMe=0,UMe=-1;function G6(e,t,n,i,o){let r=dp(n,t,ane),s=Hte(e,t,r,FMe),a=Hte(i,t,r,BMe);if(P.equalsEpsilon(h.dot(s,a),UMe,P.EPSILON5))return o=h.cross(r,s,o),o=h.normalize(o,o),o;o=h.add(a,s,o),o=h.normalize(o,o);let c=h.cross(r,o,kMe);return h.dot(a,c)<VMe&&(o=h.negate(o,o)),o}var kL=cn.fromPointNormal(h.ZERO,h.UNIT_Y),zMe=new h,HMe=new h,GMe=new h,WMe=new h,jMe=new h,NL=new h,FL=new fe,Gte=new fe,Wte=new fe;$_.createGeometry=function(e){let t=!e._scene3DOnly,n=e.loop,i=e._ellipsoid,o=e.granularity,r=e.arcType,s=new X6[e._projectionIndex](i),a=rne,c=sne,u,f,d=e._positions,p=d.length;p===2&&(n=!1);let g,m,x,b,T=new Ka(void 0,void 0,i),C,A,S,w=[d[0]];for(f=0;f<p-1;f++)g=d[f],m=d[f+1],C=Jn.lineSegmentPlane(g,m,kL,NL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&(e.arcType===nn.GEODESIC?w.push(h.clone(C)):e.arcType===nn.RHUMB&&(S=i.cartesianToCartographic(C,FL).longitude,x=i.cartesianToCartographic(g,FL),b=i.cartesianToCartographic(m,Gte),T.setEndPoints(x,b),A=T.findIntersectionWithLongitude(S,Wte),C=i.cartographicToCartesian(A,NL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&w.push(h.clone(C)))),w.push(m);n&&(g=d[p-1],m=d[0],C=Jn.lineSegmentPlane(g,m,kL,NL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&(e.arcType===nn.GEODESIC?w.push(h.clone(C)):e.arcType===nn.RHUMB&&(S=i.cartesianToCartographic(C,FL).longitude,x=i.cartesianToCartographic(g,FL),b=i.cartesianToCartographic(m,Gte),T.setEndPoints(x,b),A=T.findIntersectionWithLongitude(S,Wte),C=i.cartographicToCartesian(A,NL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&w.push(h.clone(C)))));let D=w.length,O=new Array(D);for(f=0;f<D;f++){let W=fe.fromCartesian(w[f],i);W.height=0,O[f]=W}if(O=xo(O,fe.equalsEpsilon),D=O.length,D<2)return;let R=[],M=[],L=[],_=[],E=zMe,v=HMe,I=GMe,N=WMe,B=jMe,z=O[0],V=O[1],G=O[D-1];for(E=Dc(i,G,a,E),N=Dc(i,V,a,N),v=Dc(i,z,a,v),I=Dc(i,z,c,I),n?B=G6(E,v,I,N,B):B=Y6(z,V,c,i,B),h.pack(B,M,0),h.pack(v,L,0),h.pack(I,_,0),R.push(z.latitude),R.push(z.longitude),z6(z,V,a,c,o,r,i,M,L,_,R),f=1;f<D-1;++f){E=h.clone(v,E),v=h.clone(N,v);let W=O[f];Dc(i,W,c,I),Dc(i,O[f+1],a,N),G6(E,v,I,N,B),u=M.length,h.pack(B,M,u),h.pack(v,L,u),h.pack(I,_,u),R.push(W.latitude),R.push(W.longitude),z6(O[f],O[f+1],a,c,o,r,i,M,L,_,R)}let k=O[D-1],Y=O[D-2];if(v=Dc(i,k,a,v),I=Dc(i,k,c,I),n){let W=O[0];E=Dc(i,Y,a,E),N=Dc(i,W,a,N),B=G6(E,v,I,N,B)}else B=Y6(Y,k,c,i,B);if(u=M.length,h.pack(B,M,u),h.pack(v,L,u),h.pack(I,_,u),R.push(k.latitude),R.push(k.longitude),n){for(z6(k,z,a,c,o,r,i,M,L,_,R),u=M.length,f=0;f<3;++f)M[u+f]=M[f],L[u+f]=L[f],_[u+f]=_[f];R.push(z.latitude),R.push(z.longitude)}return gLe(n,s,L,_,M,R,t)};var qMe=new h,YMe=new Z,XMe=new Ne;function jte(e,t,n,i){let o=dp(n,t,qMe),r=h.dot(o,e);if(r>one||r<Vte){let s=dp(i,n,ane),a=r<Vte?P.PI_OVER_TWO:-P.PI_OVER_TWO,c=Ne.fromAxisAngle(s,a,XMe),u=Z.fromQuaternion(c,YMe);return Z.multiplyByVector(u,e,e),!0}return!1}var qte=new fe,KMe=new h,Yte=new h;function yw(e,t,n,i,o){let r=fe.toCartesian(t,e._ellipsoid,KMe),s=h.add(r,n,Yte),a=!1,c=e._ellipsoid,u=c.cartesianToCartographic(s,qte);Math.abs(t.longitude-u.longitude)>P.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,Yte),u=c.cartesianToCartographic(s,qte)),u.height=0;let f=e.project(u,o);return o=h.subtract(f,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var $Me=new h,Xte=new h;function Kte(e,t,n,i,o,r){let s=h.subtract(t,e,$Me);h.normalize(s,s);let a=n-rne,c=h.multiplyByScalar(s,a,Xte);h.add(e,c,o);let u=i-sne;c=h.multiplyByScalar(s,u,Xte),h.add(t,c,r)}var ZMe=new h;function BL(e,t){let n=cn.getPointDistance(kL,e),i=cn.getPointDistance(kL,t),o=ZMe;P.equalsEpsilon(n,0,P.EPSILON2)?(o=dp(t,e,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(e,o,e)):P.equalsEpsilon(i,0,P.EPSILON2)&&(o=dp(e,t,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(t,o,t))}function QMe(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(P.equalsEpsilon(n,P.PI,P.EPSILON11)){let o=P.sign(t.longitude);return e.longitude=o*(n-P.EPSILON11),1}else if(P.equalsEpsilon(i,P.PI,P.EPSILON11)){let o=P.sign(e.longitude);return t.longitude=o*(i-P.EPSILON11),2}return 0}var cne=new fe,lne=new fe,$te=new h,W6=new h,Zte=new h,Qte=new h,JMe=new h,Jte=new h,eLe=[cne,lne],tLe=new se,nLe=new h,iLe=new h,oLe=new h,rLe=new h,sLe=new h,aLe=new h,j6=new h,q6=new h,cLe=new h,lLe=new h,uLe=new h,ene=new h,fLe=new h,dLe=new h,hLe=new Wn,mLe=new Wn,tne=new h,pLe=new h,nne=new h,_Le=[new ae,new ae],une=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],ine=une.length;function gLe(e,t,n,i,o,r,s){let a,c,u=t._ellipsoid,f=n.length/3-1,d=f*8,p=d*4,g=f*36,m=d>65535?new Uint32Array(g):new Uint16Array(g),x=new Float64Array(d*3),b=new Float32Array(p),T=new Float32Array(p),C=new Float32Array(p),A=new Float32Array(p),S=new Float32Array(p),w,D,O,R;s&&(w=new Float32Array(p),D=new Float32Array(p),O=new Float32Array(p),R=new Float32Array(d*2));let M=r.length/2,L=0,_=cne;_.height=0;let E=lne;E.height=0;let v=$te,I=W6;if(s)for(c=0,a=1;a<M;a++)_.latitude=r[c],_.longitude=r[c+1],E.latitude=r[c+2],E.longitude=r[c+3],v=t.project(_,v),I=t.project(E,I),L+=h.distance(v,I),c+=2;let N=i.length/3;I=h.unpack(i,0,I);let B=0;for(c=3,a=1;a<N;a++)v=h.clone(I,v),I=h.unpack(i,c,I),B+=h.distance(v,I),c+=3;let z;c=3;let V=0,G=0,k=0,Y=0,W=!1,J=h.unpack(n,0,Qte),j=h.unpack(i,0,W6),$=h.unpack(o,0,Jte);if(e){let we=h.unpack(n,n.length-6,Zte);jte($,we,J,j)&&($=h.negate($,$))}let Q=0,he=0,ye=0;for(a=0;a<f;a++){let we=h.clone(J,Zte),Oe=h.clone(j,$te),Me=h.clone($,JMe);W&&(Me=h.negate(Me,Me)),J=h.unpack(n,c,Qte),j=h.unpack(i,c,W6),$=h.unpack(o,c,Jte),W=jte($,we,J,j),_.latitude=r[V],_.longitude=r[V+1],E.latitude=r[V+2],E.longitude=r[V+3];let ht,it,At,Le;if(s){let Gi=QMe(_,E);ht=t.project(_,sLe),it=t.project(E,aLe);let ds=dp(it,ht,tne);ds.y=Math.abs(ds.y),At=j6,Le=q6,Gi===0||h.dot(ds,h.UNIT_Y)>one?(At=yw(t,_,Me,ht,j6),Le=yw(t,E,$,it,q6)):Gi===1?(Le=yw(t,E,$,it,q6),At.x=0,At.y=P.sign(_.longitude-Math.abs(E.longitude)),At.z=0):(At=yw(t,_,Me,ht,j6),Le.x=0,Le.y=P.sign(_.longitude-E.longitude),Le.z=0)}let ke=h.distance(Oe,j),$e=Wn.fromCartesian(we,hLe),Xe=h.subtract(J,we,cLe),kt=h.normalize(Xe,ene),Te=h.subtract(Oe,we,lLe);Te=h.normalize(Te,Te);let Ce=h.cross(kt,Te,ene);Ce=h.normalize(Ce,Ce);let Zt=h.cross(Te,Me,fLe);Zt=h.normalize(Zt,Zt);let Qt=h.subtract(j,J,uLe);Qt=h.normalize(Qt,Qt);let Xt=h.cross($,Qt,dLe);Xt=h.normalize(Xt,Xt);let ro=ke/B,Ke=Q/B,$r=0,tr,Ys,Ue,ut=0,ot=0;if(s){$r=h.distance(ht,it),tr=Wn.fromCartesian(ht,mLe),Ys=h.subtract(it,ht,tne),Ue=h.normalize(Ys,pLe);let Gi=Ue.x;Ue.x=Ue.y,Ue.y=-Gi,ut=$r/L,ot=he/L}for(z=0;z<8;z++){let Gi=Y+z*4,ds=G+z*2,Cr=Gi+3,Fu=z<4?1:-1,Do=z===2||z===3||z===6||z===7?1:-1;h.pack($e.high,b,Gi),b[Cr]=Xe.x,h.pack($e.low,T,Gi),T[Cr]=Xe.y,h.pack(Zt,C,Gi),C[Cr]=Xe.z,h.pack(Xt,A,Gi),A[Cr]=ro*Fu,h.pack(Ce,S,Gi);let Ar=Ke*Do;Ar===0&&Do<0&&(Ar=9),S[Cr]=Ar,s&&(w[Gi]=tr.high.x,w[Gi+1]=tr.high.y,w[Gi+2]=tr.low.x,w[Gi+3]=tr.low.y,O[Gi]=-At.y,O[Gi+1]=At.x,O[Gi+2]=Le.y,O[Gi+3]=-Le.x,D[Gi]=Ys.x,D[Gi+1]=Ys.y,D[Gi+2]=Ue.x,D[Gi+3]=Ue.y,R[ds]=ut*Fu,Ar=ot*Do,Ar===0&&Do<0&&(Ar=9),R[ds+1]=Ar)}let Ze=oLe,Qe=rLe,Nt=nLe,gn=iLe,Hi=se.fromCartographicArray(eLe,tLe),so=li.getMinimumMaximumHeights(Hi,u),Zr=so.minimumTerrainHeight,nr=so.maximumTerrainHeight;ye+=Math.abs(Zr),ye+=Math.abs(nr),Kte(we,Oe,Zr,nr,Ze,Nt),Kte(J,j,Zr,nr,Qe,gn);let go=h.multiplyByScalar(Ce,P.EPSILON5,nne);h.add(Ze,go,Ze),h.add(Qe,go,Qe),h.add(Nt,go,Nt),h.add(gn,go,gn),BL(Ze,Qe),BL(Nt,gn),h.pack(Ze,x,k),h.pack(Qe,x,k+3),h.pack(gn,x,k+6),h.pack(Nt,x,k+9),go=h.multiplyByScalar(Ce,-2*P.EPSILON5,nne),h.add(Ze,go,Ze),h.add(Qe,go,Qe),h.add(Nt,go,Nt),h.add(gn,go,gn),BL(Ze,Qe),BL(Nt,gn),h.pack(Ze,x,k+12),h.pack(Qe,x,k+15),h.pack(gn,x,k+18),h.pack(Nt,x,k+21),V+=2,c+=3,G+=16,k+=24,Y+=32,Q+=ke,he+=$r}c=0;let re=0;for(a=0;a<f;a++){for(z=0;z<ine;z++)m[c+z]=une[z]+re;re+=8,c+=ine}let _e=_Le;ae.fromVertices(n,h.ZERO,3,_e[0]),ae.fromVertices(i,h.ZERO,3,_e[1]);let xe=ae.fromBoundingSpheres(_e);xe.radius+=ye/(f*2);let De={position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,normalize:!1,values:x}),startHiAndForwardOffsetX:K_(b),startLoAndForwardOffsetY:K_(T),startNormalAndForwardOffsetZ:K_(C),endNormalAndTextureCoordinateNormalizationX:K_(A),rightNormalAndTextureCoordinateNormalizationY:K_(S)};return s&&(De.startHiLo2D=K_(w),De.offsetAndRight2D=K_(D),De.startEndNormals2D=K_(O),De.texcoordNormalization2D=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,normalize:!1,values:R})),new dt({attributes:De,indices:m,boundingSphere:xe})}function K_(e){return new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}$_._projectNormal=yw;var GT=$_;var VL=`in vec4 v_startPlaneNormalEcAndHalfWidth; +`)}}function bMe(e,t){let n=t.context,i=e._primitive,o=RL;o=e._primitive._batchTable.getVertexShaderCallback()(o),o=On._appendDistanceDisplayConditionToShader(i,o),o=On._modifyShaderPosition(e,o,t.scene3DOnly),o=On._updateColorAttribute(i,o);let r=e._hasPlanarExtentsAttributes,s=r||e._hasSphericalExtentsAttribute;e._extruded&&(o=xMe(i,o));let a=e._extruded?"EXTRUDED_GEOMETRY":"",c=new He({defines:[a],sources:[o]}),u=new He({sources:[$0]}),f=e._primitive._attributeLocations,d=new ef(s,r,e.appearance);if(e._spStencil=tn.replaceCache({context:n,shaderProgram:e._spStencil,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f}),e._primitive.allowPicking){let m=He.createPickVertexShaderSource(o);m=On._appendShowToShader(i,m),m=On._updatePickColorAttribute(m);let x=d.createPickFragmentShader(!1),b=d.createPickVertexShader([a],m,!1,t.mapProjection);if(e._spPick=tn.replaceCache({context:n,shaderProgram:e._spPick,vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f}),s){let T=n.shaderCache.getDerivedShaderProgram(e._spPick,"2dPick");if(!l(T)){let C=d.createPickFragmentShader(!0),A=d.createPickVertexShader([a],m,!0,t.mapProjection);T=n.shaderCache.createDerivedShaderProgram(e._spPick,"2dPick",{vertexShaderSource:A,fragmentShaderSource:C,attributeLocations:f})}e._spPick2D=T}}else e._spPick=tn.fromCache({context:n,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});o=On._appendShowToShader(i,o),c=new He({defines:[a],sources:[o]}),e._sp=tn.replaceCache({context:n,shaderProgram:e._sp,vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:f});let p=d.createFragmentShader(!1),g=d.createVertexShader([a],o,!1,t.mapProjection);if(e._spColor=tn.replaceCache({context:n,shaderProgram:e._spColor,vertexShaderSource:g,fragmentShaderSource:p,attributeLocations:f}),s){let m=n.shaderCache.getDerivedShaderProgram(e._spColor,"2dColor");if(!l(m)){let x=d.createFragmentShader(!0),b=d.createVertexShader([a],o,!0,t.mapProjection);m=n.shaderCache.createDerivedShaderProgram(e._spColor,"2dColor",{vertexShaderSource:b,fragmentShaderSource:x,attributeLocations:f})}e._spColor2D=m}}function TMe(e,t){let n=e._primitive,i=n._va.length*2;t.length=i;let o,r,s,a=0,c=n._batchTable.getUniformMapCallback()(e._uniformMap),u=e._needs2DShader;for(o=0;o<i;o+=2){let g=n._va[a++];r=t[o],l(r)||(r=t[o]=new tt({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsStencilDepthPass,r.shaderProgram=e._sp,r.uniformMap=c,r.pass=ve.TERRAIN_CLASSIFICATION,s=tt.shallowClone(r,r.derivedCommands.tileset),s.renderState=e._rsStencilDepthPass3DTiles,s.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,r=t[o+1],l(r)||(r=t[o+1]=new tt({owner:e,primitiveType:n._primitiveType})),r.vertexArray=g,r.renderState=e._rsColorPass,r.shaderProgram=e._spColor,r.pass=ve.TERRAIN_CLASSIFICATION;let x=e.appearance.material;if(l(x)&&(c=Ct(c,x._uniforms)),r.uniformMap=c,s=tt.shallowClone(r,r.derivedCommands.tileset),s.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,r.derivedCommands.tileset=s,u){let b=tt.shallowClone(r,r.derivedCommands.appearance2D);b.shaderProgram=e._spColor2D,r.derivedCommands.appearance2D=b,b=tt.shallowClone(s,s.derivedCommands.appearance2D),b.shaderProgram=e._spColor2D,s.derivedCommands.appearance2D=b}}let f=e._commandsIgnoreShow,d=e._spStencil,p=0;i=f.length=i/2;for(let g=0;g<i;++g){let m=f[g]=tt.shallowClone(t[p],f[g]);m.shaderProgram=d,m.pass=ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,p+=2}}function CMe(e,t){let n=e._usePickOffsets,i=e._primitive,o=i._va.length*2,r,s=0,a;n&&(r=i._pickOffsets,o=r.length*2),t.length=o;let c,u,f,d=0,p=i._batchTable.getUniformMapCallback()(e._uniformMap),g=e._needs2DShader;for(c=0;c<o;c+=2){let m=i._va[d++];if(n&&(a=r[s++],m=i._va[a.index]),u=t[c],l(u)||(u=t[c]=new tt({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsStencilDepthPass,u.shaderProgram=e._sp,u.uniformMap=p,u.pass=ve.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=tt.shallowClone(u,u.derivedCommands.tileset),f.renderState=e._rsStencilDepthPass3DTiles,f.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,u=t[c+1],l(u)||(u=t[c+1]=new tt({owner:e,primitiveType:i._primitiveType,pickOnly:!0})),u.vertexArray=m,u.renderState=e._rsPickPass,u.shaderProgram=e._spPick,u.uniformMap=p,u.pass=ve.TERRAIN_CLASSIFICATION,n&&(u.offset=a.offset,u.count=a.count),f=tt.shallowClone(u,u.derivedCommands.tileset),f.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,u.derivedCommands.tileset=f,g){let x=tt.shallowClone(u,u.derivedCommands.pick2D);x.shaderProgram=e._spPick2D,u.derivedCommands.pick2D=x,x=tt.shallowClone(f,f.derivedCommands.pick2D),x.shaderProgram=e._spPick2D,f.derivedCommands.pick2D=x}}}function AMe(e,t,n,i,o,r,s){TMe(e,r),CMe(e,s)}function Ute(e,t){return Math.floor(e%t/2)}function H6(e,t,n,i,o,r){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,e.debugShowBoundingVolume=r,t.commandList.push(e)}function zte(e,t,n,i,o){e.modelMatrix=n,e.boundingVolume=o,e.cull=i,t.commandList.push(e)}function EMe(e,t,n,i,o,r,s,a){let c=e._primitive;On._updateBoundingVolumes(c,t,o);let u;t.mode===ne.SCENE3D?u=c._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?u=c._boundingSphereCV:t.mode===ne.SCENE2D&&l(c._boundingSphere2D)?u=c._boundingSphere2D:l(c._boundingSphereMorph)&&(u=c._boundingSphereMorph);let f=e.classificationType,d=f!==Un.CESIUM_3D_TILE,p=f!==Un.TERRAIN,g=t.passes,m,x,b;if(g.render){let T=n.length;for(m=0;m<T;++m)x=u[Ute(m,T)],d&&(b=n[m],H6(b,t,o,r,x,s)),p&&(b=n[m].derivedCommands.tileset,H6(b,t,o,r,x,s));if(t.invertClassification){let C=e._commandsIgnoreShow,A=C.length;for(m=0;m<A;++m)x=u[m],b=C[m],H6(b,t,o,r,x,s)}}if(g.pick){let T=i.length,C=c._pickOffsets;for(m=0;m<T;++m){let A=C[Ute(m,T)];x=u[A.index],d&&(b=i[m],zte(b,t,o,r,x)),p&&(b=i[m].derivedCommands.tileset,zte(b,t,o,r,x))}}}Q0.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;let t=this.appearance;l(t)&&l(t.material)&&t.material.update(e.context);let n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s,a,c,u=!1,f=!0,d,p=!1,g=!1;for(r>0&&(c=o[0].attributes,p=ef.hasAttributesForSphericalExtents(c),g=ef.hasAttributesForTextureCoordinatePlanes(c),d=c.color),s=0;s<r;s++){a=o[s];let x=a.attributes.color;l(x)&&(u=!0),f=f&&l(x)&&Wt.equals(d,x)}if(!f&&!p&&!g)throw new de("All GeometryInstances must have the same color attribute except via GroundPrimitives");u&&!l(t)&&(t=new un({flat:!0}),this.appearance=t),this._usePickOffsets=!p&&!g,this._hasSphericalExtentsAttribute=p,this._hasPlanarExtentsAttributes=g,this._hasPerColorAttribute=u;let m=new Array(r);for(s=0;s<r;++s)a=o[s],m[s]=new wt({geometry:a.geometry,attributes:a.attributes,modelMatrix:a.modelMatrix,id:a.id,pickPrimitive:y(this._pickPrimitive,n)});i.appearance=t,i.geometryInstances=m,l(this._createBoundingVolumeFunction)&&(i._createBoundingVolumeFunction=function(x,b){n._createBoundingVolumeFunction(x,b)}),i._createRenderStatesFunction=function(x,b,T,C){yMe(n,b)},i._createShaderProgramFunction=function(x,b,T){bMe(n,b)},i._createCommandsFunction=function(x,b,T,C,A,S,v){AMe(n,void 0,void 0,!0,!1,S,v)},l(this._updateAndQueueCommandsFunction)?i._updateAndQueueCommandsFunction=function(x,b,T,C,A,S,v,D){n._updateAndQueueCommandsFunction(x,b,T,C,A,S,v,D)}:i._updateAndQueueCommandsFunction=function(x,b,T,C,A,S,v,D){EMe(n,b,T,C,A,S,v,D)},this._primitive=new On(i)}this.debugShowShadowVolume&&!this._debugShowShadowVolume&&this._ready?(this._debugShowShadowVolume=!0,this._rsStencilDepthPass=ze.fromCache(YT(!1,!1)),this._rsStencilDepthPass3DTiles=ze.fromCache(YT(!1,!0)),this._rsColorPass=ze.fromCache(G6(!1))):!this.debugShowShadowVolume&&this._debugShowShadowVolume&&(this._debugShowShadowVolume=!1,this._rsStencilDepthPass=ze.fromCache(YT(!0,!1)),this._rsStencilDepthPass3DTiles=ze.fromCache(YT(!0,!0)),this._rsColorPass=ze.fromCache(G6(!0))),this._primitive.appearance!==t&&(this._primitive.appearance=t),this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};Q0.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};Q0.prototype.isDestroyed=function(){return!1};Q0.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._spColor=this._spColor&&this._spColor.destroy(),this._spPick2D=void 0,this._spColor2D=void 0,ue(this)};var Av=Q0;var SMe={u_globeMinimumAltitude:function(){return 55e3}};function dl(e){e=y(e,y.EMPTY_OBJECT);let t=e.appearance,n=e.geometryInstances;if(!l(t)&&l(n)){let o=Array.isArray(n)?n:[n],r=o.length;for(let s=0;s<r;s++){let a=o[s].attributes;if(l(a)&&l(a.color)){t=new un({flat:!0});break}}}this.appearance=t,this.geometryInstances=e.geometryInstances,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Un.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._boundingVolumes=[],this._boundingVolumes2D=[],this._ready=!1,this._primitive=void 0,this._maxHeight=void 0,this._minHeight=void 0,this._maxTerrainHeight=hi._defaultMaxTerrainHeight,this._minTerrainHeight=hi._defaultMinTerrainHeight,this._boundingSpheresKeys=[],this._boundingSpheres=[],this._useFragmentCulling=!1,this._zIndex=void 0;let i=this;this._classificationPrimitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:y(e.vertexCacheOptimize,!1),interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:y(e.compressVertices,!0),_createBoundingVolumeFunction:void 0,_updateAndQueueCommandsFunction:void 0,_pickPrimitive:i,_extruded:!0,_uniformMap:SMe}}Object.defineProperties(dl.prototype,{vertexCacheOptimize:{get:function(){return this._classificationPrimitiveOptions.vertexCacheOptimize}},interleave:{get:function(){return this._classificationPrimitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._classificationPrimitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._classificationPrimitiveOptions.allowPicking}},asynchronous:{get:function(){return this._classificationPrimitiveOptions.asynchronous}},compressVertices:{get:function(){return this._classificationPrimitiveOptions.compressVertices}},ready:{get:function(){return this._ready}}});dl.isSupported=Av.isSupported;function Hte(e){return function(t,n){let i=n.maximumRadius,o=i/Math.cos(t*.5)-i;return e._maxHeight+o}}function Gte(e){return function(t,n){return e._minHeight}}var vMe=new h,wMe=new h,DMe=new h,IMe=new fe,PMe=new ae;function BL(e,t){let n=e.mapProjection.ellipsoid;if(!l(t.attributes)||!l(t.attributes.position3DHigh))return l(t.rectangle)?t.rectangle:void 0;let i=t.attributes.position3DHigh.values,o=t.attributes.position3DLow.values,r=i.length,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.NEGATIVE_INFINITY;for(let d=0;d<r;d+=3){let p=h.unpack(i,d,vMe),g=h.unpack(o,d,wMe),m=h.add(p,g,DMe),x=n.cartesianToCartographic(m,IMe),b=x.latitude,T=x.longitude;s=Math.min(s,b),a=Math.min(a,T),c=Math.max(c,b),u=Math.max(u,T)}let f=PMe;return f.north=c,f.south=s,f.east=u,f.west=a,f}function OMe(e,t,n){let i=hi.getMinimumMaximumHeights(t,n);e._minTerrainHeight=i.minimumTerrainHeight,e._maxTerrainHeight=i.maximumTerrainHeight}function RMe(e,t,n){let i=t.mapProjection.ellipsoid,o=BL(t,n),r=In.fromRectangle(o,e._minHeight,e._maxHeight,i);if(e._boundingVolumes.push(r),!t.scene3DOnly){let s=t.mapProjection,a=ce.fromRectangleWithHeights2D(o,s,e._maxHeight,e._minHeight);h.fromElements(a.center.z,a.center.x,a.center.y,a.center),e._boundingVolumes2D.push(a)}}function W6(e,t){return Math.floor(e%t/2)}function j6(e,t,n,i,o,r,s){let a=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===a._spColor&&a._needs2DShader&&(t=t.derivedCommands.appearance2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function Wte(e,t,n,i,o,r){let s=e._primitive;n.mode!==ne.SCENE3D&&t.shaderProgram===s._spPick&&s._needs2DShader&&(t=t.derivedCommands.pick2D),t.owner=e,t.modelMatrix=i,t.boundingVolume=r,t.cull=o,n.commandList.push(t)}function MMe(e,t,n,i,o,r,s,a){let c;t.mode===ne.SCENE3D?c=e._boundingVolumes:c=e._boundingVolumes2D;let u=e.classificationType,f=u!==Un.CESIUM_3D_TILE,d=u!==Un.TERRAIN,p=t.passes,g=e._primitive,m,x,b;if(p.render){let T=n.length;for(m=0;m<T;++m)x=c[W6(m,T)],f&&(b=n[m],j6(e,b,t,o,r,x,s)),d&&(b=n[m].derivedCommands.tileset,j6(e,b,t,o,r,x,s));if(t.invertClassification){let C=g._commandsIgnoreShow,A=C.length;for(m=0;m<A;++m)x=c[m],b=C[m],j6(e,b,t,o,r,x,s)}}if(p.pick){let T=i.length,C;for(e._useFragmentCulling||(C=g._primitive._pickOffsets),m=0;m<T;++m){if(x=c[W6(m,T)],!e._useFragmentCulling){let A=C[W6(m,T)];x=c[A.index]}f&&(b=i[m],Wte(e,b,t,o,r,x)),d&&(b=i[m].derivedCommands.tileset,Wte(e,b,t,o,r,x))}}}dl.initializeTerrainHeights=function(){return hi.initialize()};dl.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!hi.initialized){dl.initializeTerrainHeights();return}let t=this,n=this._classificationPrimitiveOptions;if(!l(this._primitive)){let i=e.mapProjection.ellipsoid,o,r,s,a=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],c=a.length,u=new Array(c),f,d;for(f=0;f<c;++f){o=a[f],r=o.geometry;let x=BL(e,r);l(d)?l(x)&&ae.union(d,x,d):d=ae.clone(x);let b=o.id;if(l(b)&&l(x)){let T=hi.getBoundingSphere(x,i);this._boundingSpheresKeys.push(b),this._boundingSpheres.push(T)}s=r.constructor,!l(s)||l(s.createShadowVolume)}OMe(this,d,i);let p=e.verticalExaggeration,g=e.verticalExaggerationRelativeHeight;this._minHeight=Pr.getHeight(this._minTerrainHeight,p,g),this._maxHeight=Pr.getHeight(this._maxTerrainHeight,p,g);let m=dl._supportsMaterials(e.context);if(this._useFragmentCulling=m,m){let x,b=!0;for(f=0;f<c;++f)if(o=a[f],r=o.geometry,d=BL(e,r),ef.shouldUseSphericalCoordinates(d)){b=!1;break}for(f=0;f<c;++f){o=a[f],r=o.geometry,s=r.constructor;let T=BL(e,r),C=r.textureCoordinateRotationPoints;b?x=ef.getPlanarTextureCoordinateAttributes(T,C,i,e.mapProjection,this._maxHeight):x=ef.getSphericalExtentGeometryInstanceAttributes(T,C,i,e.mapProjection);let A=o.attributes;for(let S in A)A.hasOwnProperty(S)&&(x[S]=A[S]);u[f]=new wt({geometry:s.createShadowVolume(r,Gte(this),Hte(this)),attributes:x,id:o.id})}}else for(f=0;f<c;++f)o=a[f],r=o.geometry,s=r.constructor,u[f]=new wt({geometry:s.createShadowVolume(r,Gte(this),Hte(this)),attributes:o.attributes,id:o.id});n.geometryInstances=u,n.appearance=this.appearance,n._createBoundingVolumeFunction=function(x,b){RMe(t,x,b)},n._updateAndQueueCommandsFunction=function(x,b,T,C,A,S,v,D){MMe(t,b,T,C,A,S,v,D)},this._primitive=new Av(n)}this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowShadowVolume=this.debugShowShadowVolume,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};dl.prototype.getBoundingSphere=function(e){let t=this._boundingSpheresKeys.indexOf(e);if(t!==-1)return this._boundingSpheres[t]};dl.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};dl.prototype.isDestroyed=function(){return!1};dl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};dl._supportsMaterials=function(e){return e.depthTexture};dl.supportsMaterials=function(e){return dl._supportsMaterials(e.frameState.context)};var hl=dl;function XT(){de.throwInstantiationError()}Object.defineProperties(XT.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError}});XT.prototype.getType=de.throwInstantiationError;XT.prototype.getValue=de.throwInstantiationError;XT.prototype.equals=de.throwInstantiationError;var LMe=new K;XT.getValue=function(e,t,n){let i;return l(e)||(e=K.now(LMe)),l(t)&&(i=t.getType(e),l(i))?((!l(n)||n.type!==i)&&(n=Yi.fromType(i)),t.getValue(e,n.uniforms),n):((!l(n)||n.type!==Yi.ColorType)&&(n=Yi.fromType(Yi.ColorType)),z.clone(z.WHITE,n.uniforms.color),n)};var rr=XT;function J0(e,t,n){this._primitives=t,this._orderedGroundPrimitives=n,this._primitive=void 0,this._outlinePrimitive=void 0,this._geometryUpdater=e,this._options=e._options,this._entity=e._entity,this._material=void 0}J0.prototype._isHidden=function(e,t,n){return!e.isShowing||!e.isAvailable(n)||!q.getValueOrDefault(t.show,n,!0)};J0.prototype._setOptions=de.throwInstantiationError;J0.prototype.update=function(e){let t=this._geometryUpdater,n=t._onTerrain,i=this._primitives,o=this._orderedGroundPrimitives;n?o.remove(this._primitive):(i.removeAndDestroy(this._primitive),i.removeAndDestroy(this._outlinePrimitive),this._outlinePrimitive=void 0),this._primitive=void 0;let r=this._entity,s=r[this._geometryUpdater._geometryPropertyName];if(this._setOptions(r,s,e),this._isHidden(r,s,e))return;let a=this._geometryUpdater.shadowsProperty.getValue(e),c=this._options;if(!l(s.fill)||s.fill.getValue(e)){let u=t.fillMaterialProperty,f=u instanceof Ht,d,p=t._getIsClosed(c);if(f)d=new un({closed:p,flat:n&&!t._supportsMaterialsforEntitiesOnTerrain});else{let g=rr.getValue(e,u,this._material);this._material=g,d=new lo({material:g,translucent:g.isTranslucent(),closed:p})}if(n)c.vertexFormat=un.VERTEX_FORMAT,this._primitive=o.add(new hl({geometryInstances:this._geometryUpdater.createFillGeometryInstance(e),appearance:d,asynchronous:!1,shadows:a,classificationType:this._geometryUpdater.classificationTypeProperty.getValue(e)}),q.getValueOrUndefined(this._geometryUpdater.zIndex,e));else{c.vertexFormat=d.vertexFormat;let g=this._geometryUpdater.createFillGeometryInstance(e);f&&(d.translucent=g.attributes.color.value[3]!==255),this._primitive=i.add(new On({geometryInstances:g,appearance:d,asynchronous:!1,shadows:a}))}}if(!n&&l(s.outline)&&s.outline.getValue(e)){let u=this._geometryUpdater.createOutlineGeometryInstance(e),f=q.getValueOrDefault(s.outlineWidth,e,1);this._outlinePrimitive=i.add(new On({geometryInstances:u,appearance:new un({flat:!0,translucent:u.attributes.color.value[3]!==255,renderState:{lineWidth:t._scene.clampLineWidth(f)}}),asynchronous:!1,shadows:a}))}};J0.prototype.getBoundingSphere=function(e){let t=this._entity,n=this._primitive,i=this._outlinePrimitive,o;return l(n)&&n.show&&n.ready&&(o=n.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ce.clone(o.boundingSphere,e),ut.DONE):l(i)&&i.show&&i.ready&&(o=i.getGeometryInstanceAttributes(t),l(o)&&l(o.boundingSphere))?(ce.clone(o.boundingSphere,e),ut.DONE):l(n)&&!n.ready||l(i)&&!i.ready?ut.PENDING:ut.FAILED};J0.prototype.isDestroyed=function(){return!1};J0.prototype.destroy=function(){let e=this._primitives,t=this._orderedGroundPrimitives;this._geometryUpdater._onTerrain?t.remove(this._primitive):e.removeAndDestroy(this._primitive),e.removeAndDestroy(this._outlinePrimitive),ue(this)};var ai=J0;var NMe={AUTODETECT:0,ENU:1,INERTIAL:2,VELOCITY:3},Q_=Object.freeze(NMe);var FMe={NONE:0,GEODESIC:1,RHUMB:2},nn=Object.freeze(FMe);var jte=P.EPSILON10;function BMe(e,t,n,i){if(!l(e))return;n=y(n,!1);let o=l(i),r=e.length;if(r<2)return e;let s,a=e[0],c,u,f=0,d=-1;for(s=1;s<r;++s)c=e[s],t(a,c,jte)?(l(u)||(u=e.slice(0,s),f=s-1,d=0),o&&i.push(s)):(l(u)&&(u.push(c),f=s,o&&(d=i.length)),a=c);return n&&t(e[0],e[r-1],jte)&&(o&&(l(u)?i.splice(d,0,f):i.push(r-1)),l(u)?u.length-=1:u=e.slice(0,-1)),l(u)?u:e}var bo=BMe;function kMe(e){let t=e._uSquared,n=e._ellipsoid.maximumRadius,i=e._ellipsoid.minimumRadius,o=(n-i)/n,r=Math.cos(e._startHeading),s=Math.sin(e._startHeading),a=(1-o)*Math.tan(e._start.latitude),c=1/Math.sqrt(1+a*a),u=c*a,f=Math.atan2(a,r),d=c*s,p=d*d,g=1-p,m=Math.sqrt(g),x=t/4,b=x*x,T=b*x,C=b*b,A=1+x-3*b/4+5*T/4-175*C/64,S=1-x+15*b/8-35*T/8,v=1-3*x+35*b/4,D=1-5*x,R=A*f-S*Math.sin(2*f)*x/2-v*Math.sin(4*f)*b/16-D*Math.sin(6*f)*T/48-Math.sin(8*f)*5*C/512,O=e._constants;O.a=n,O.b=i,O.f=o,O.cosineHeading=r,O.sineHeading=s,O.tanU=a,O.cosineU=c,O.sineU=u,O.sigma=f,O.sineAlpha=d,O.sineSquaredAlpha=p,O.cosineSquaredAlpha=g,O.cosineAlpha=m,O.u2Over4=x,O.u4Over16=b,O.u6Over64=T,O.u8Over256=C,O.a0=A,O.a1=S,O.a2=v,O.a3=D,O.distanceRatio=R}function VMe(e,t){return e*t*(4+e*(4-3*t))/16}function qte(e,t,n,i,o,r,s){let a=VMe(e,n);return(1-a)*e*t*(i+a*o*(s+a*r*(2*s*s-1)))}function UMe(e,t,n,i,o,r,s){let a=(t-n)/t,c=r-i,u=Math.atan((1-a)*Math.tan(o)),f=Math.atan((1-a)*Math.tan(s)),d=Math.cos(u),p=Math.sin(u),g=Math.cos(f),m=Math.sin(f),x=d*g,b=d*m,T=p*m,C=p*g,A=c,S=P.TWO_PI,v=Math.cos(A),D=Math.sin(A),R,O,M,N,_;do{v=Math.cos(A),D=Math.sin(A);let k=b-C*v;M=Math.sqrt(g*g*D*D+k*k),O=T+x*v,R=Math.atan2(M,O);let W;M===0?(W=0,N=1):(W=x*D/M,N=1-W*W),S=A,_=O-2*T/N,isFinite(_)||(_=0),A=c+qte(a,W,N,R,M,O,_)}while(Math.abs(A-S)>P.EPSILON12);let E=N*(t*t-n*n)/(n*n),w=1+E*(4096+E*(E*(320-175*E)-768))/16384,I=E*(256+E*(E*(74-47*E)-128))/1024,L=_*_,B=I*M*(_+I*(O*(2*L-1)-I*_*(4*M*M-3)*(4*L-3)/6)/4),H=n*w*(R-B),V=Math.atan2(g*D,b-C*v),G=Math.atan2(d*D,b*v-C);e._distance=H,e._startHeading=V,e._endHeading=G,e._uSquared=E}var zMe=new h,q6=new h;function Yte(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,q6),zMe),r=h.normalize(i.cartographicToCartesian(n,q6),q6);UMe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude),e._start=fe.clone(t,e._start),e._end=fe.clone(n,e._end),e._start.height=0,e._end.height=0,kMe(e)}function Ev(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._constants={},this._startHeading=void 0,this._endHeading=void 0,this._distance=void 0,this._uSquared=void 0,l(e)&&l(t)&&Yte(this,e,t,i)}Object.defineProperties(Ev.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},startHeading:{get:function(){return this._startHeading}},endHeading:{get:function(){return this._endHeading}}});Ev.prototype.setEndPoints=function(e,t){Yte(this,e,t,this._ellipsoid)};Ev.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(this._distance*e,t)};Ev.prototype.interpolateUsingSurfaceDistance=function(e,t){let n=this._constants,i=n.distanceRatio+e/n.b,o=Math.cos(2*i),r=Math.cos(4*i),s=Math.cos(6*i),a=Math.sin(2*i),c=Math.sin(4*i),u=Math.sin(6*i),f=Math.sin(8*i),d=i*i,p=i*d,g=n.u8Over256,m=n.u2Over4,x=n.u6Over64,b=n.u4Over16,T=2*p*g*o/3+i*(1-m+7*b/4-15*x/4+579*g/64-(b-15*x/4+187*g/16)*o-(5*x/4-115*g/16)*r-29*g*s/16)+(m/2-b+71*x/32-85*g/16)*a+(5*b/16-5*x/4+383*g/96)*c-d*((x-11*g/2)*a+5*g*c/2)+(29*x/96-29*g/16)*u+539*g*f/1536,C=Math.asin(Math.sin(T)*n.cosineAlpha),A=Math.atan(n.a/n.b*Math.tan(C));T=T-n.sigma;let S=Math.cos(2*n.sigma+T),v=Math.sin(T),D=Math.cos(T),R=n.cosineU*D,O=n.sineU*v,N=Math.atan2(v*n.sineHeading,R-O*n.cosineHeading)-qte(n.f,n.sineAlpha,n.cosineSquaredAlpha,T,v,D,S);return l(t)?(t.longitude=this._start.longitude+N,t.latitude=A,t.height=0,t):new fe(this._start.longitude+N,A,0)};var J_=Ev;function X6(e,t,n){if(e===0)return t*n;let i=e*e,o=i*i,r=o*i,s=r*i,a=s*i,c=a*i,u=n,f=Math.sin(2*u),d=Math.sin(4*u),p=Math.sin(6*u),g=Math.sin(8*u),m=Math.sin(10*u),x=Math.sin(12*u);return t*((1-i/4-3*o/64-5*r/256-175*s/16384-441*a/65536-4851*c/1048576)*u-(3*i/8+3*o/32+45*r/1024+105*s/4096+2205*a/131072+6237*c/524288)*f+(15*o/256+45*r/1024+525*s/16384+1575*a/65536+155925*c/8388608)*d-(35*r/3072+175*s/12288+3675*a/262144+13475*c/1048576)*p+(315*s/131072+2205*a/524288+43659*c/8388608)*g-(693*a/1310720+6237*c/5242880)*m+1001*c/8388608*x)}function HMe(e,t,n){let i=e/n;if(t===0)return i;let o=i*i,r=o*i,s=r*i,a=t,c=a*a,u=c*c,f=u*c,d=f*c,p=d*c,g=p*c,m=Math.sin(2*i),x=Math.cos(2*i),b=Math.sin(4*i),T=Math.cos(4*i),C=Math.sin(6*i),A=Math.cos(6*i),S=Math.sin(8*i),v=Math.cos(8*i),D=Math.sin(10*i),R=Math.cos(10*i),O=Math.sin(12*i);return i+i*c/4+7*i*u/64+15*i*f/256+579*i*d/16384+1515*i*p/65536+16837*i*g/1048576+(3*i*u/16+45*i*f/256-i*(32*o-561)*d/4096-i*(232*o-1677)*p/16384+i*(399985-90560*o+512*s)*g/5242880)*x+(21*i*f/256+483*i*d/4096-i*(224*o-1969)*p/16384-i*(33152*o-112599)*g/1048576)*T+(151*i*d/4096+4681*i*p/65536+1479*i*g/16384-453*r*g/32768)*A+(1097*i*p/65536+42783*i*g/1048576)*v+8011*i*g/1048576*R+(3*c/8+3*u/16+213*f/2048-3*o*f/64+255*d/4096-33*o*d/512+20861*p/524288-33*o*p/512+s*p/1024+28273*g/1048576-471*o*g/8192+9*s*g/4096)*m+(21*u/256+21*f/256+533*d/8192-21*o*d/512+197*p/4096-315*o*p/4096+584039*g/16777216-12517*o*g/131072+7*s*g/2048)*b+(151*f/6144+151*d/4096+5019*p/131072-453*o*p/16384+26965*g/786432-8607*o*g/131072)*C+(1097*d/131072+1097*p/65536+225797*g/10485760-1097*o*g/65536)*S+(8011*p/2621440+8011*g/1048576)*D+293393*g/251658240*O}function KT(e,t){if(e===0)return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)));let n=e*Math.sin(t);return Math.log(Math.tan(.5*(P.PI_OVER_TWO+t)))-e/2*Math.log((1+n)/(1-n))}function GMe(e,t,n,i,o){let r=KT(e._ellipticity,n),s=KT(e._ellipticity,o);return Math.atan2(P.negativePiToPi(i-t),s-r)}function WMe(e,t,n,i,o,r,s){let a=e._heading,c=r-i,u=0;if(P.equalsEpsilon(Math.abs(a),P.PI_OVER_TWO,P.EPSILON8))if(t===n)u=t*Math.cos(o)*P.negativePiToPi(c);else{let f=Math.sin(o);u=t*Math.cos(o)*P.negativePiToPi(c)/Math.sqrt(1-e._ellipticitySquared*f*f)}else{let f=X6(e._ellipticity,t,o);u=(X6(e._ellipticity,t,s)-f)/Math.cos(a)}return Math.abs(u)}var jMe=new h,Y6=new h;function Xte(e,t,n,i){let o=h.normalize(i.cartographicToCartesian(t,Y6),jMe),r=h.normalize(i.cartographicToCartesian(n,Y6),Y6),s=i.maximumRadius,a=i.minimumRadius,c=s*s,u=a*a;e._ellipticitySquared=(c-u)/c,e._ellipticity=Math.sqrt(e._ellipticitySquared),e._start=fe.clone(t,e._start),e._start.height=0,e._end=fe.clone(n,e._end),e._end.height=0,e._heading=GMe(e,t.longitude,t.latitude,n.longitude,n.latitude),e._distance=WMe(e,i.maximumRadius,i.minimumRadius,t.longitude,t.latitude,n.longitude,n.latitude)}function Kte(e,t,n,i,o,r){if(n===0)return fe.clone(e,r);let s=o*o,a,c,u;if(Math.abs(P.PI_OVER_TWO-Math.abs(t))>P.EPSILON8){let f=X6(o,i,e.latitude),d=n*Math.cos(t),p=f+d;if(c=HMe(p,o,i),Math.abs(t)<P.EPSILON10)a=P.negativePiToPi(e.longitude);else{let g=KT(o,e.latitude),m=KT(o,c);u=Math.tan(t)*(m-g),a=P.negativePiToPi(e.longitude+u)}}else{c=e.latitude;let f;if(o===0)f=i*Math.cos(e.latitude);else{let d=Math.sin(e.latitude);f=i*Math.cos(e.latitude)/Math.sqrt(1-s*d*d)}u=n/f,t>0?a=P.negativePiToPi(e.longitude+u):a=P.negativePiToPi(e.longitude-u)}return l(r)?(r.longitude=a,r.latitude=c,r.height=0,r):new fe(a,c,0)}function mp(e,t,n){let i=y(n,ee.default);this._ellipsoid=i,this._start=new fe,this._end=new fe,this._heading=void 0,this._distance=void 0,this._ellipticity=void 0,this._ellipticitySquared=void 0,l(e)&&l(t)&&Xte(this,e,t,i)}Object.defineProperties(mp.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},surfaceDistance:{get:function(){return this._distance}},start:{get:function(){return this._start}},end:{get:function(){return this._end}},heading:{get:function(){return this._heading}}});mp.fromStartHeadingDistance=function(e,t,n,i,o){let r=y(i,ee.default),s=r.maximumRadius,a=r.minimumRadius,c=s*s,u=a*a,f=Math.sqrt((c-u)/c);t=P.negativePiToPi(t);let d=Kte(e,t,n,r.maximumRadius,f);return!l(o)||l(i)&&!i.equals(o.ellipsoid)?new mp(e,d,r):(o.setEndPoints(e,d),o)};mp.prototype.setEndPoints=function(e,t){Xte(this,e,t,this._ellipsoid)};mp.prototype.interpolateUsingFraction=function(e,t){return this.interpolateUsingSurfaceDistance(e*this._distance,t)};mp.prototype.interpolateUsingSurfaceDistance=function(e,t){return Kte(this._start,this._heading,e,this._ellipsoid.maximumRadius,this._ellipticity,t)};mp.prototype.findIntersectionWithLongitude=function(e,t){let n=this._ellipticity,i=this._heading,o=Math.abs(i),r=this._start;if(e=P.negativePiToPi(e),P.equalsEpsilon(Math.abs(e),Math.PI,P.EPSILON14)&&(e=P.sign(r.longitude)*Math.PI),l(t)||(t=new fe),Math.abs(P.PI_OVER_TWO-o)<=P.EPSILON8)return t.longitude=e,t.latitude=r.latitude,t.height=0,t;if(P.equalsEpsilon(Math.abs(P.PI_OVER_TWO-o),P.PI_OVER_TWO,P.EPSILON8))return P.equalsEpsilon(e,r.longitude,P.EPSILON12)?void 0:(t.longitude=e,t.latitude=P.PI_OVER_TWO*P.sign(P.PI_OVER_TWO-i),t.height=0,t);let s=r.latitude,a=n*Math.sin(s),c=Math.tan(.5*(P.PI_OVER_TWO+s))*Math.exp((e-r.longitude)/Math.tan(i)),u=(1+a)/(1-a),f=r.latitude,d;do{d=f;let p=n*Math.sin(d),g=(1+p)/(1-p);f=2*Math.atan(c*Math.pow(g/u,n/2))-P.PI_OVER_TWO}while(!P.equalsEpsilon(f,d,P.EPSILON12));return t.longitude=e,t.latitude=f,t.height=0,t};mp.prototype.findIntersectionWithLatitude=function(e,t){let n=this._ellipticity,i=this._heading,o=this._start;if(P.equalsEpsilon(Math.abs(i),P.PI_OVER_TWO,P.EPSILON8))return;let r=KT(n,o.latitude),s=KT(n,e),a=Math.tan(i)*(s-r),c=P.negativePiToPi(o.longitude+a);return l(t)?(t.longitude=c,t.latitude=e,t.height=0,t):new fe(c,e,0)};var $a=mp;var n9=[Ii,Ri],qMe=n9.length,pne=Math.cos(P.toRadians(30)),Zte=Math.cos(P.toRadians(150)),_ne=0,gne=1e3;function tg(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions;this.width=y(e.width,1),this._positions=t,this.granularity=y(e.granularity,9999),this.loop=y(e.loop,!1),this.arcType=y(e.arcType,nn.GEODESIC),this._ellipsoid=ee.default,this._projectionIndex=0,this._workerName="createGroundPolylineGeometry",this._scene3DOnly=!1}Object.defineProperties(tg.prototype,{packedLength:{get:function(){return 1+this._positions.length*3+1+1+1+ee.packedLength+1+1}}});tg.setProjectionAndEllipsoid=function(e,t){let n=0;for(let i=0;i<qMe;i++)if(t instanceof n9[i]){n=i;break}e._projectionIndex=n,e._ellipsoid=t.ellipsoid};var YMe=new h,$te=new h,Qte=new h;function t9(e,t,n,i,o){let r=Pc(i,e,0,YMe),s=Pc(i,e,n,$te),a=Pc(i,t,0,Qte),c=pp(s,r,$te),u=pp(a,r,Qte);return h.cross(u,c,o),h.normalize(o,o)}var XMe=new fe,KMe=new h,ZMe=new h,$Me=new h;function K6(e,t,n,i,o,r,s,a,c,u,f){if(o===0)return;let d;r===nn.GEODESIC?d=new J_(e,t,s):r===nn.RHUMB&&(d=new $a(e,t,s));let p=d.surfaceDistance;if(p<o)return;let g=t9(e,t,i,s,$Me),m=Math.ceil(p/o),x=p/m,b=x,T=m-1,C=a.length;for(let A=0;A<T;A++){let S=d.interpolateUsingSurfaceDistance(b,XMe),v=Pc(s,S,n,KMe),D=Pc(s,S,i,ZMe);h.pack(g,a,C),h.pack(v,c,C),h.pack(D,u,C),f.push(S.latitude),f.push(S.longitude),C+=3,b+=x}}var Z6=new fe;function Pc(e,t,n,i){return fe.clone(t,Z6),Z6.height=n,fe.toCartesian(Z6,e,i)}tg.pack=function(e,t,n){let i=y(n,0),o=e._positions,r=o.length;t[i++]=r;for(let s=0;s<r;++s){let a=o[s];h.pack(a,t,i),i+=3}return t[i++]=e.granularity,t[i++]=e.loop?1:0,t[i++]=e.arcType,ee.pack(e._ellipsoid,t,i),i+=ee.packedLength,t[i++]=e._projectionIndex,t[i++]=e._scene3DOnly?1:0,t};tg.unpack=function(e,t,n){let i=y(t,0),o=e[i++],r=new Array(o);for(let p=0;p<o;p++)r[p]=h.unpack(e,i),i+=3;let s=e[i++],a=e[i++]===1,c=e[i++],u=ee.unpack(e,i);i+=ee.packedLength;let f=e[i++],d=e[i++]===1;return l(n)||(n=new tg({positions:r})),n._positions=r,n.granularity=s,n.loop=a,n.arcType=c,n._ellipsoid=u,n._projectionIndex=f,n._scene3DOnly=d,n};function pp(e,t,n){return h.subtract(e,t,n),h.normalize(n,n),n}function Jte(e,t,n,i){return i=pp(e,t,i),i=h.cross(i,n,i),i=h.normalize(i,i),i=h.cross(n,i,i),i}var QMe=new h,JMe=new h,eLe=new h,yne=new h,tLe=0,nLe=-1;function $6(e,t,n,i,o){let r=pp(n,t,yne),s=Jte(e,t,r,QMe),a=Jte(i,t,r,JMe);if(P.equalsEpsilon(h.dot(s,a),nLe,P.EPSILON5))return o=h.cross(r,s,o),o=h.normalize(o,o),o;o=h.add(a,s,o),o=h.normalize(o,o);let c=h.cross(r,o,eLe);return h.dot(a,c)<tLe&&(o=h.negate(o,o)),o}var zL=ln.fromPointNormal(h.ZERO,h.UNIT_Y),iLe=new h,oLe=new h,rLe=new h,sLe=new h,aLe=new h,kL=new h,VL=new fe,ene=new fe,tne=new fe;tg.createGeometry=function(e){let t=!e._scene3DOnly,n=e.loop,i=e._ellipsoid,o=e.granularity,r=e.arcType,s=new n9[e._projectionIndex](i),a=_ne,c=gne,u,f,d=e._positions,p=d.length;p===2&&(n=!1);let g,m,x,b,T=new $a(void 0,void 0,i),C,A,S,v=[d[0]];for(f=0;f<p-1;f++)g=d[f],m=d[f+1],C=ti.lineSegmentPlane(g,m,zL,kL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&(e.arcType===nn.GEODESIC?v.push(h.clone(C)):e.arcType===nn.RHUMB&&(S=i.cartesianToCartographic(C,VL).longitude,x=i.cartesianToCartographic(g,VL),b=i.cartesianToCartographic(m,ene),T.setEndPoints(x,b),A=T.findIntersectionWithLongitude(S,tne),C=i.cartographicToCartesian(A,kL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&v.push(h.clone(C)))),v.push(m);n&&(g=d[p-1],m=d[0],C=ti.lineSegmentPlane(g,m,zL,kL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&(e.arcType===nn.GEODESIC?v.push(h.clone(C)):e.arcType===nn.RHUMB&&(S=i.cartesianToCartographic(C,VL).longitude,x=i.cartesianToCartographic(g,VL),b=i.cartesianToCartographic(m,ene),T.setEndPoints(x,b),A=T.findIntersectionWithLongitude(S,tne),C=i.cartographicToCartesian(A,kL),l(C)&&!h.equalsEpsilon(C,g,P.EPSILON7)&&!h.equalsEpsilon(C,m,P.EPSILON7)&&v.push(h.clone(C)))));let D=v.length,R=new Array(D);for(f=0;f<D;f++){let Y=fe.fromCartesian(v[f],i);Y.height=0,R[f]=Y}if(R=bo(R,fe.equalsEpsilon),D=R.length,D<2)return;let O=[],M=[],N=[],_=[],E=iLe,w=oLe,I=rLe,L=sLe,B=aLe,H=R[0],V=R[1],G=R[D-1];for(E=Pc(i,G,a,E),L=Pc(i,V,a,L),w=Pc(i,H,a,w),I=Pc(i,H,c,I),n?B=$6(E,w,I,L,B):B=t9(H,V,c,i,B),h.pack(B,M,0),h.pack(w,N,0),h.pack(I,_,0),O.push(H.latitude),O.push(H.longitude),K6(H,V,a,c,o,r,i,M,N,_,O),f=1;f<D-1;++f){E=h.clone(w,E),w=h.clone(L,w);let Y=R[f];Pc(i,Y,c,I),Pc(i,R[f+1],a,L),$6(E,w,I,L,B),u=M.length,h.pack(B,M,u),h.pack(w,N,u),h.pack(I,_,u),O.push(Y.latitude),O.push(Y.longitude),K6(R[f],R[f+1],a,c,o,r,i,M,N,_,O)}let k=R[D-1],W=R[D-2];if(w=Pc(i,k,a,w),I=Pc(i,k,c,I),n){let Y=R[0];E=Pc(i,W,a,E),L=Pc(i,Y,a,L),B=$6(E,w,I,L,B)}else B=t9(W,k,c,i,B);if(u=M.length,h.pack(B,M,u),h.pack(w,N,u),h.pack(I,_,u),O.push(k.latitude),O.push(k.longitude),n){for(K6(k,H,a,c,o,r,i,M,N,_,O),u=M.length,f=0;f<3;++f)M[u+f]=M[f],N[u+f]=N[f],_[u+f]=_[f];O.push(H.latitude),O.push(H.longitude)}return MLe(n,s,N,_,M,O,t)};var cLe=new h,lLe=new $,uLe=new Le;function nne(e,t,n,i){let o=pp(n,t,cLe),r=h.dot(o,e);if(r>pne||r<Zte){let s=pp(i,n,yne),a=r<Zte?P.PI_OVER_TWO:-P.PI_OVER_TWO,c=Le.fromAxisAngle(s,a,uLe),u=$.fromQuaternion(c,lLe);return $.multiplyByVector(u,e,e),!0}return!1}var ine=new fe,fLe=new h,one=new h;function Sv(e,t,n,i,o){let r=fe.toCartesian(t,e._ellipsoid,fLe),s=h.add(r,n,one),a=!1,c=e._ellipsoid,u=c.cartesianToCartographic(s,ine);Math.abs(t.longitude-u.longitude)>P.PI_OVER_TWO&&(a=!0,s=h.subtract(r,n,one),u=c.cartesianToCartographic(s,ine)),u.height=0;let f=e.project(u,o);return o=h.subtract(f,i,o),o.z=0,o=h.normalize(o,o),a&&h.negate(o,o),o}var dLe=new h,rne=new h;function sne(e,t,n,i,o,r){let s=h.subtract(t,e,dLe);h.normalize(s,s);let a=n-_ne,c=h.multiplyByScalar(s,a,rne);h.add(e,c,o);let u=i-gne;c=h.multiplyByScalar(s,u,rne),h.add(t,c,r)}var hLe=new h;function UL(e,t){let n=ln.getPointDistance(zL,e),i=ln.getPointDistance(zL,t),o=hLe;P.equalsEpsilon(n,0,P.EPSILON2)?(o=pp(t,e,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(e,o,e)):P.equalsEpsilon(i,0,P.EPSILON2)&&(o=pp(e,t,o),h.multiplyByScalar(o,P.EPSILON2,o),h.add(t,o,t))}function mLe(e,t){let n=Math.abs(e.longitude),i=Math.abs(t.longitude);if(P.equalsEpsilon(n,P.PI,P.EPSILON11)){let o=P.sign(t.longitude);return e.longitude=o*(n-P.EPSILON11),1}else if(P.equalsEpsilon(i,P.PI,P.EPSILON11)){let o=P.sign(e.longitude);return t.longitude=o*(i-P.EPSILON11),2}return 0}var xne=new fe,bne=new fe,ane=new h,Q6=new h,cne=new h,lne=new h,pLe=new h,une=new h,_Le=[xne,bne],gLe=new ae,yLe=new h,xLe=new h,bLe=new h,TLe=new h,CLe=new h,ALe=new h,J6=new h,e9=new h,ELe=new h,SLe=new h,vLe=new h,fne=new h,wLe=new h,DLe=new h,ILe=new Wn,PLe=new Wn,dne=new h,OLe=new h,hne=new h,RLe=[new ce,new ce],Tne=[0,2,1,0,3,2,0,7,3,0,4,7,0,5,4,0,1,5,5,7,4,5,6,7,5,2,6,5,1,2,3,6,2,3,7,6],mne=Tne.length;function MLe(e,t,n,i,o,r,s){let a,c,u=t._ellipsoid,f=n.length/3-1,d=f*8,p=d*4,g=f*36,m=d>65535?new Uint32Array(g):new Uint16Array(g),x=new Float64Array(d*3),b=new Float32Array(p),T=new Float32Array(p),C=new Float32Array(p),A=new Float32Array(p),S=new Float32Array(p),v,D,R,O;s&&(v=new Float32Array(p),D=new Float32Array(p),R=new Float32Array(p),O=new Float32Array(d*2));let M=r.length/2,N=0,_=xne;_.height=0;let E=bne;E.height=0;let w=ane,I=Q6;if(s)for(c=0,a=1;a<M;a++)_.latitude=r[c],_.longitude=r[c+1],E.latitude=r[c+2],E.longitude=r[c+3],w=t.project(_,w),I=t.project(E,I),N+=h.distance(w,I),c+=2;let L=i.length/3;I=h.unpack(i,0,I);let B=0;for(c=3,a=1;a<L;a++)w=h.clone(I,w),I=h.unpack(i,c,I),B+=h.distance(w,I),c+=3;let H;c=3;let V=0,G=0,k=0,W=0,Y=!1,J=h.unpack(n,0,lne),j=h.unpack(i,0,Q6),Z=h.unpack(o,0,une);if(e){let De=h.unpack(n,n.length-6,cne);nne(Z,De,J,j)&&(Z=h.negate(Z,Z))}let Q=0,he=0,ye=0;for(a=0;a<f;a++){let De=h.clone(J,cne),Ne=h.clone(j,ane),Ce=h.clone(Z,pLe);Y&&(Ce=h.negate(Ce,Ce)),J=h.unpack(n,c,lne),j=h.unpack(i,c,Q6),Z=h.unpack(o,c,une),Y=nne(Z,De,J,j),_.latitude=r[V],_.longitude=r[V+1],E.latitude=r[V+2],E.longitude=r[V+3];let Be,Ve,$e,qe;if(s){let io=mLe(_,E);Be=t.project(_,CLe),Ve=t.project(E,ALe);let $s=pp(Ve,Be,dne);$s.y=Math.abs($s.y),$e=J6,qe=e9,io===0||h.dot($s,h.UNIT_Y)>pne?($e=Sv(t,_,Ce,Be,J6),qe=Sv(t,E,Z,Ve,e9)):io===1?(qe=Sv(t,E,Z,Ve,e9),$e.x=0,$e.y=P.sign(_.longitude-Math.abs(E.longitude)),$e.z=0):($e=Sv(t,_,Ce,Be,J6),qe.x=0,qe.y=P.sign(_.longitude-E.longitude),qe.z=0)}let pt=h.distance(Ne,j),ht=Wn.fromCartesian(De,ILe),yt=h.subtract(J,De,ELe),Jt=h.normalize(yt,fne),Te=h.subtract(Ne,De,SLe);Te=h.normalize(Te,Te);let Ee=h.cross(Jt,Te,fne);Ee=h.normalize(Ee,Ee);let on=h.cross(Te,Ce,wLe);on=h.normalize(on,on);let en=h.subtract(j,J,vLe);en=h.normalize(en,en);let Xt=h.cross(Z,en,DLe);Xt=h.normalize(Xt,Xt);let ji=pt/B,Ke=Q/B,ns=0,Ur,Aa,Me,at=0,Je=0;if(s){ns=h.distance(Be,Ve),Ur=Wn.fromCartesian(Be,PLe),Aa=h.subtract(Ve,Be,dne),Me=h.normalize(Aa,OLe);let io=Me.x;Me.x=Me.y,Me.y=-io,at=ns/N,Je=he/N}for(H=0;H<8;H++){let io=W+H*4,$s=G+H*2,zr=io+3,zl=H<4?1:-1,Yn=H===2||H===3||H===6||H===7?1:-1;h.pack(ht.high,b,io),b[zr]=yt.x,h.pack(ht.low,T,io),T[zr]=yt.y,h.pack(on,C,io),C[zr]=yt.z,h.pack(Xt,A,io),A[zr]=ji*zl,h.pack(Ee,S,io);let fr=Ke*Yn;fr===0&&Yn<0&&(fr=9),S[zr]=fr,s&&(v[io]=Ur.high.x,v[io+1]=Ur.high.y,v[io+2]=Ur.low.x,v[io+3]=Ur.low.y,R[io]=-$e.y,R[io+1]=$e.x,R[io+2]=qe.y,R[io+3]=-qe.x,D[io]=Aa.x,D[io+1]=Aa.y,D[io+2]=Me.x,D[io+3]=Me.y,O[$s]=at*zl,fr=Je*Yn,fr===0&&Yn<0&&(fr=9),O[$s+1]=fr)}let Qe=bLe,ct=TLe,zt=yLe,yn=xLe,Zn=ae.fromCartographicArray(_Le,gLe),$i=hi.getMinimumMaximumHeights(Zn,u),Er=$i.minimumTerrainHeight,Po=$i.maximumTerrainHeight;ye+=Math.abs(Er),ye+=Math.abs(Po),sne(De,Ne,Er,Po,Qe,zt),sne(J,j,Er,Po,ct,yn);let gs=h.multiplyByScalar(Ee,P.EPSILON5,hne);h.add(Qe,gs,Qe),h.add(ct,gs,ct),h.add(zt,gs,zt),h.add(yn,gs,yn),UL(Qe,ct),UL(zt,yn),h.pack(Qe,x,k),h.pack(ct,x,k+3),h.pack(yn,x,k+6),h.pack(zt,x,k+9),gs=h.multiplyByScalar(Ee,-2*P.EPSILON5,hne),h.add(Qe,gs,Qe),h.add(ct,gs,ct),h.add(zt,gs,zt),h.add(yn,gs,yn),UL(Qe,ct),UL(zt,yn),h.pack(Qe,x,k+12),h.pack(ct,x,k+15),h.pack(yn,x,k+18),h.pack(zt,x,k+21),V+=2,c+=3,G+=16,k+=24,W+=32,Q+=pt,he+=ns}c=0;let re=0;for(a=0;a<f;a++){for(H=0;H<mne;H++)m[c+H]=Tne[H]+re;re+=8,c+=mne}let _e=RLe;ce.fromVertices(n,h.ZERO,3,_e[0]),ce.fromVertices(i,h.ZERO,3,_e[1]);let xe=ce.fromBoundingSpheres(_e);xe.radius+=ye/(f*2);let Ie={position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,normalize:!1,values:x}),startHiAndForwardOffsetX:eg(b),startLoAndForwardOffsetY:eg(T),startNormalAndForwardOffsetZ:eg(C),endNormalAndTextureCoordinateNormalizationX:eg(A),rightNormalAndTextureCoordinateNormalizationY:eg(S)};return s&&(Ie.startHiLo2D=eg(v),Ie.offsetAndRight2D=eg(D),Ie.startEndNormals2D=eg(R),Ie.texcoordNormalization2D=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,normalize:!1,values:O})),new ft({attributes:Ie,indices:m,boundingSphere:xe})}function eg(e){return new Se({componentDatatype:X.FLOAT,componentsPerAttribute:4,normalize:!1,values:e})}tg._projectNormal=Sv;var ZT=tg;var HL=`in vec4 v_startPlaneNormalEcAndHalfWidth; in vec4 v_endPlaneNormalEcAndBatchId; in vec4 v_rightPlaneEC; // Technically can compute distance for this here in vec4 v_endEcAndStartEcX; @@ -5223,7 +5268,7 @@ void main(void) czm_writeDepthClamp(); } -`;var UL=`in vec3 v_forwardDirectionEC; +`;var GL=`in vec3 v_forwardDirectionEC; in vec3 v_texcoordNormalizationAndHalfWidth; in float v_batchId; @@ -5268,7 +5313,7 @@ void main(void) out_FragColor = vec4(material.diffuse + material.emission, material.alpha); #endif // PER_INSTANCE_COLOR } -`;var zL=`in vec3 position3DHigh; +`;var WL=`in vec3 position3DHigh; in vec3 position3DLow; in vec4 startHiAndForwardOffsetX; @@ -5445,7 +5490,7 @@ void main() v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } -`;var HL=`in vec3 position3DHigh; +`;var jL=`in vec3 position3DHigh; in vec3 position3DLow; // In 2D and in 3D, texture coordinate normalization component signs encodes: @@ -5613,7 +5658,7 @@ void main() v_polylineAngle = czm_fastApproximateAtan(approxLineDirection.x, approxLineDirection.y); #endif } -`;var GL=`in vec3 position3DHigh; +`;var qL=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; @@ -5641,7 +5686,7 @@ void main() v_color = color; } -`;var Zu=`void clipLineSegmentToNearPlane( +`;var tf=`void clipLineSegmentToNearPlane( vec3 p0, vec3 p1, out vec4 positionWC, @@ -5817,9 +5862,9 @@ vec4 getPolylineWindowCoordinates(vec4 position, vec4 previous, vec4 next, float vec4 nextEC = czm_modelViewRelativeToEye * next; return getPolylineWindowCoordinatesEC(positionEC, prevEC, nextEC, expandDirection, width, usePrevious, angle); } -`;var K6=`${Zu} -${GL}`,yLe=PT;Wt.isInternetExplorer()||(K6=`#define CLIP_POLYLINE -${K6}`);function G0(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=G0.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,K6),this._fragmentShaderSource=y(e.fragmentShaderSource,yLe),this._renderState=eo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(G0.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});G0.VERTEX_FORMAT=Pe.POSITION_ONLY;G0.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;G0.prototype.isTranslucent=eo.prototype.isTranslucent;G0.prototype.getRenderState=eo.prototype.getRenderState;var es=G0;var WL=`in vec3 position3DHigh; +`;var i9=`${tf} +${qL}`,LLe=GT;Gt.isInternetExplorer()||(i9=`#define CLIP_POLYLINE +${i9}`);function ex(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=ex.VERTEX_FORMAT;this.material=void 0,this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,i9),this._fragmentShaderSource=y(e.fragmentShaderSource,LLe),this._renderState=oo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(ex.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});ex.VERTEX_FORMAT=Pe.POSITION_ONLY;ex.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;ex.prototype.isTranslucent=oo.prototype.isTranslucent;ex.prototype.getRenderState=oo.prototype.getRenderState;var rs=ex;var YL=`in vec3 position3DHigh; in vec3 position3DLow; in vec3 prevPosition3DHigh; in vec3 prevPosition3DLow; @@ -5852,7 +5897,7 @@ void main() v_st.t = czm_writeNonPerspective(st.t, gl_Position.w); v_polylineAngle = angle; } -`;var WT=`#ifdef VECTOR_TILE +`;var $T=`#ifdef VECTOR_TILE uniform vec4 u_highlightColor; #endif @@ -5877,10 +5922,10 @@ void main() czm_writeLogDepth(); } -`;var $6=`${Zu} -${WL}`,xLe=WT;Wt.isInternetExplorer()||($6=`#define CLIP_POLYLINE -${$6}`);function W0(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=W0.VERTEX_FORMAT;this.material=l(e.material)?e.material:ji.fromType(ji.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,$6),this._fragmentShaderSource=y(e.fragmentShaderSource,xLe),this._renderState=eo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(W0.prototype,{vertexShaderSource:{get:function(){let e=this._vertexShaderSource;return this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&(e=`#define POLYLINE_DASH -${e}`),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});W0.VERTEX_FORMAT=Pe.POSITION_AND_ST;W0.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;W0.prototype.isTranslucent=eo.prototype.isTranslucent;W0.prototype.getRenderState=eo.prototype.getRenderState;var Ea=W0;function hp(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;let t=e.appearance;l(t)||(t=new Ea),this.appearance=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Vn.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1,this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=fne(!1),this._renderState3DTiles=fne(!0),this._renderStateMorph=ze.fromCache({cull:{enabled:!0,face:yi.FRONT},depthTest:{enabled:!0},blending:fn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(hp.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});hp.initializeTerrainHeights=function(){return li.initialize()};function bLe(e,t,n){let i=t.context,o=e._primitive,r=o._attributeLocations,s=o._batchTable.getVertexShaderCallback()(HL);s=Rn._appendShowToShader(o,s),s=Rn._appendDistanceDisplayConditionToShader(o,s),s=Rn._modifyShaderPosition(e,s,t.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(zL);a=Rn._appendShowToShader(o,a),a=Rn._appendDistanceDisplayConditionToShader(o,a),a=Rn._modifyShaderPosition(e,a,t.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(VL),u=[`GLOBE_MINIMUM_ALTITUDE ${t.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],f="",d="";l(n.material)?(d=l(n.material)?n.material.shaderSource:"",d.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&u.push("ANGLE_VARYING"),d.search(/in\s+float\s+v_width;/g)!==-1&&u.push("WIDTH_VARYING")):f="PER_INSTANCE_COLOR",u.push(f);let p=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",f]:[f],g=new Ge({defines:u,sources:[s]}),m=new Ge({defines:p,sources:[d,c]});e._sp=sn.replaceCache({context:i,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let x=i.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");if(!l(x)){let T=new Ge({defines:u.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});x=i.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:i,shaderProgram:e._sp2D,vertexShaderSource:T,fragmentShaderSource:m,attributeLocations:r})}e._sp2D=x;let b=i.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");if(!l(b)){let T=new Ge({defines:u.concat([`MAX_TERRAIN_HEIGHT ${li._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(UL);let C=new Ge({defines:p,sources:[d,c]});b=i.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:i,shaderProgram:e._spMorph,vertexShaderSource:T,fragmentShaderSource:C,attributeLocations:r})}e._spMorph=b}function fne(e){return ze.fromCache({cull:{enabled:!0},blending:fn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.EQUAL,backOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK}})}function TLe(e,t,n,i,o,r){let s=e._primitive,a=s._va.length;o.length=a,r.length=a;let u=t instanceof es?{}:n._uniforms,f=s._batchTable.getUniformMapCallback()(u);for(let d=0;d<a;d++){let p=s._va[d],g=o[d];l(g)||(g=o[d]=new et({owner:e,primitiveType:s._primitiveType})),g.vertexArray=p,g.renderState=e._renderState,g.shaderProgram=e._sp,g.uniformMap=f,g.pass=Se.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";let m=et.shallowClone(g,g.derivedCommands.tileset);m.renderState=e._renderState3DTiles,m.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;let x=et.shallowClone(g,g.derivedCommands.color2D);x.shaderProgram=e._sp2D,g.derivedCommands.color2D=x;let b=et.shallowClone(m,m.derivedCommands.color2D);b.shaderProgram=e._sp2D,m.derivedCommands.color2D=b;let T=et.shallowClone(g,g.derivedCommands.colorMorph);T.renderState=e._renderStateMorph,T.shaderProgram=e._spMorph,T.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=T}}function dne(e,t,n,i,o,r,s){n.mode===ne.MORPHING?t=t.derivedCommands.colorMorph:n.mode!==ne.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function CLe(e,t,n,i,o,r,s){let a=e._primitive;Rn._updateBoundingVolumes(a,t,o);let c;t.mode===ne.SCENE3D?c=a._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=a._boundingSphereCV:t.mode===ne.SCENE2D&&l(a._boundingSphere2D)?c=a._boundingSphere2D:l(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);let u=t.mode===ne.MORPHING,f=e.classificationType,d=f!==Vn.CESIUM_3D_TILE,p=f!==Vn.TERRAIN&&!u,g,m=t.passes;if(m.render||m.pick&&a.allowPicking){let x=n.length;for(let b=0;b<x;++b){let T=c[b];d&&(g=n[b],dne(e,g,t,o,r,T,s)),p&&(g=n[b].derivedCommands.tileset,dne(e,g,t,o,r,T,s))}}}hp.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!li.initialized){hp.initializeTerrainHeights();return}let t,n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r),a;for(t=0;t<r;++t)if(a=o[t].attributes,!l(a)||!l(a.color)){this._hasPerInstanceColors=!1;break}for(t=0;t<r;++t){let c=o[t];a={};let u=c.attributes;for(let f in u)u.hasOwnProperty(f)&&(a[f]=u[f]);l(a.width)||(a.width=new vc({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=e.scene3DOnly,GT.setProjectionAndEllipsoid(c.geometry,e.mapProjection),s[t]=new wt({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:n})}i.geometryInstances=s,i.appearance=this.appearance,i._createShaderProgramFunction=function(c,u,f){bLe(n,u,f)},i._createCommandsFunction=function(c,u,f,d,p,g,m){TLe(n,u,f,d,g,m)},i._updateAndQueueCommandsFunction=function(c,u,f,d,p,g,m,x){CLe(n,u,f,d,p,g,m)},this._primitive=new Rn(i)}if(this.appearance instanceof es&&!this._hasPerInstanceColors)throw new de("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};hp.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};hp.isSupported=function(e){return e.frameState.context.depthTexture};hp.prototype.isDestroyed=function(){return!1};hp.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,ue(this)};var Ih=hp;var ALe=new U(1,1),ELe=!1,SLe=H.WHITE;function jT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(jT.prototype,{isConstant:{get:function(){return q.isConstant(this._image)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:le("image"),repeat:le("repeat"),color:le("color"),transparent:le("transparent")});jT.prototype.getType=function(e){return"Image"};var wLe=new K;jT.prototype.getValue=function(e,t){return l(e)||(e=K.now(wLe)),l(t)||(t={}),t.image=q.getValueOrUndefined(this._image,e),t.repeat=q.getValueOrClonedDefault(this._repeat,e,ALe,t.repeat),t.color=q.getValueOrClonedDefault(this._color,e,SLe,t.color),q.getValueOrDefault(this._transparent,e,ELe)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};jT.prototype.equals=function(e){return this===e||e instanceof jT&&q.equals(this._image,e._image)&&q.equals(this._repeat,e._repeat)&&q.equals(this._color,e._color)&&q.equals(this._transparent,e._transparent)};var j0=jT;function vLe(e){if(e instanceof H)return new Ht(e);if(typeof e=="string"||e instanceof ve||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new j0;return t.image=e,t}}function DLe(e,t){return le(e,t,vLe)}var Oo=DLe;function xw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(xw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),dimensions:le("dimensions"),heightReference:le("heightReference"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});xw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new xw(this)};xw.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var qT=xw;var ILe={FIXED:0,INERTIAL:1},Bi=Object.freeze(ILe);function YT(){de.throwInstantiationError()}Object.defineProperties(YT.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError},referenceFrame:{get:de.throwInstantiationError}});YT.prototype.getValue=de.throwInstantiationError;YT.prototype.getValueInReferenceFrame=de.throwInstantiationError;YT.prototype.equals=de.throwInstantiationError;var hne=new Z;YT.convertToReferenceFrame=function(e,t,n,i,o){if(!l(t))return t;if(l(o)||(o=new h),n===i)return h.clone(t,o);let r=Bt.computeIcrfToCentralBodyFixedMatrix(e,hne);if(n===Bi.INERTIAL)return Z.multiplyByVector(r,t,o);if(n===Bi.FIXED)return Z.multiplyByVector(Z.transpose(r,hne),t,o)};var Ph=YT;function q0(e,t){this._definitionChanged=new me,this._value=h.clone(e),this._referenceFrame=y(t,Bi.FIXED)}Object.defineProperties(q0.prototype,{isConstant:{get:function(){return!l(this._value)||this._referenceFrame===Bi.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var PLe=new K;q0.prototype.getValue=function(e,t){return l(e)||(e=K.now(PLe)),this.getValueInReferenceFrame(e,Bi.FIXED,t)};q0.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),l(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};q0.prototype.getValueInReferenceFrame=function(e,t,n){return Ph.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};q0.prototype.equals=function(e){return this===e||e instanceof q0&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var fl=q0;function bw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(bw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});bw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new bw(this)};bw.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var XT=bw;function RLe(e){return e}function OLe(e,t){return le(e,t,RLe)}var Xl=OLe;function Tw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Tw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),length:le("length"),topRadius:le("topRadius"),bottomRadius:le("bottomRadius"),heightReference:le("heightReference"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),slices:le("slices"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Tw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Tw(this)};Tw.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var KT=Tw;function Cw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Cw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),semiMajorAxis:le("semiMajorAxis"),semiMinorAxis:le("semiMinorAxis"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});Cw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new Cw(this)};Cw.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var $T=Cw;function Aw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Aw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),radii:le("radii"),innerRadii:le("innerRadii"),minimumClock:le("minimumClock"),maximumClock:le("maximumClock"),minimumCone:le("minimumCone"),maximumCone:le("maximumCone"),heightReference:le("heightReference"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),stackPartitions:le("stackPartitions"),slicePartitions:le("slicePartitions"),subdivisions:le("subdivisions"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Aw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Aw(this)};Aw.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var ZT=Aw;function Ew(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Ew.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),text:le("text"),font:le("font"),style:le("style"),scale:le("scale"),showBackground:le("showBackground"),backgroundColor:le("backgroundColor"),backgroundPadding:le("backgroundPadding"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),fillColor:le("fillColor"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),scaleByDistance:le("scaleByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance")});Ew.prototype.clone=function(e){return l(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new Ew(this)};Ew.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var Rh=Ew;var MLe=new h(1,1,1),LLe=h.ZERO,NLe=Ne.IDENTITY;function mne(e,t,n){this.translation=h.clone(y(e,LLe)),this.rotation=Ne.clone(y(t,NLe)),this.scale=h.clone(y(n,MLe))}mne.prototype.equals=function(e){return this===e||l(e)&&h.equals(this.translation,e.translation)&&Ne.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var Y0=mne;var Z6=new Y0;function Sw(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(Sw.prototype,{isConstant:{get:function(){return q.isConstant(this._translation)&&q.isConstant(this._rotation)&&q.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:le("translation"),rotation:le("rotation"),scale:le("scale")});var FLe=new K;Sw.prototype.getValue=function(e,t){return l(e)||(e=K.now(FLe)),l(t)||(t=new Y0),t.translation=q.getValueOrClonedDefault(this._translation,e,Z6.translation,t.translation),t.rotation=q.getValueOrClonedDefault(this._rotation,e,Z6.rotation,t.rotation),t.scale=q.getValueOrClonedDefault(this._scale,e,Z6.scale,t.scale),t};Sw.prototype.equals=function(e){return this===e||e instanceof Sw&&q.equals(this._translation,e._translation)&&q.equals(this._rotation,e._rotation)&&q.equals(this._scale,e._scale)};var QT=Sw;function mp(e,t){this._propertyNames=[],this._definitionChanged=new me,l(e)&&this.merge(e,t)}Object.defineProperties(mp.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t<n;t++)if(!q.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});mp.prototype.hasProperty=function(e){return this._propertyNames.indexOf(e)!==-1};function BLe(e){return new Kn(e)}mp.prototype.addProperty=function(e,t,n){this._propertyNames.push(e),Object.defineProperty(this,e,le(e,!0,y(n,BLe))),l(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)};mp.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e],this._definitionChanged.raiseEvent(this)};var kLe=new K;mp.prototype.getValue=function(e,t){l(e)||(e=K.now(kLe)),l(t)||(t={});let n=this._propertyNames;for(let i=0,o=n.length;i<o;i++){let r=n[i];t[r]=q.getValueOrUndefined(this[r],e,t[r])}return t};mp.prototype.merge=function(e,t){let n=this._propertyNames,i=l(e._propertyNames)?e._propertyNames:Object.keys(e);for(let o=0,r=i.length;o<r;o++){let s=i[o],a=this[s],c=e[s];a===void 0&&n.indexOf(s)===-1&&this.addProperty(s,void 0,t),c!==void 0&&(a!==void 0?l(a)&&l(a.merge)&&a.merge(c):l(c)&&l(c.merge)&&l(c.clone)?this[s]=c.clone():this[s]=c)}};function VLe(e,t){let n=e._propertyNames,i=t._propertyNames,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;++r){let s=n[r];if(i.indexOf(s)===-1||!q.equals(e[s],t[s]))return!1}return!0}mp.prototype.equals=function(e){return this===e||e instanceof mp&&VLe(this,e)};var Kl=mp;function pne(e){return new QT(e)}function ULe(e){return new Kl(e,pne)}function zLe(e){return new Kl(e)}function ww(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._hasVerticalExaggeration=void 0,this._hasVerticalExaggerationSubscription=void 0,this._enableVerticalExaggeration=void 0,this._enableVerticalExaggerationSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this._customShader=void 0,this._customShaderSubscription=void 0,this._marsOptions=e&&e.marsOptions||{},this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(ww.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),scale:le("scale"),enableVerticalExaggeration:le("enableVerticalExaggeration"),minimumPixelSize:le("minimumPixelSize"),maximumScale:le("maximumScale"),incrementallyLoadTextures:le("incrementallyLoadTextures"),runAnimations:le("runAnimations"),clampAnimations:le("clampAnimations"),shadows:le("shadows"),heightReference:le("heightReference"),silhouetteColor:le("silhouetteColor"),silhouetteSize:le("silhouetteSize"),color:le("color"),colorBlendMode:le("colorBlendMode"),colorBlendAmount:le("colorBlendAmount"),imageBasedLightingFactor:le("imageBasedLightingFactor"),lightColor:le("lightColor"),distanceDisplayCondition:le("distanceDisplayCondition"),nodeTransformations:le("nodeTransformations",void 0,ULe),articulations:le("articulations",void 0,zLe),clippingPlanes:le("clippingPlanes"),customShader:le("customShader")});ww.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.enableVerticalExaggeration=this.enableVerticalExaggeration,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e.customShader=this.customShader,e):new ww(this)};ww.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.scale=y(this.scale,e.scale),this.enableVerticalExaggeration=y(this.enableVerticalExaggeration,e.enableVerticalExaggeration),this.minimumPixelSize=y(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=y(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=y(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=y(this.runAnimations,e.runAnimations),this.clampAnimations=y(this.clampAnimations,e.clampAnimations),this.shadows=y(this.shadows,e.shadows),this.heightReference=y(this.heightReference,e.heightReference),this.silhouetteColor=y(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=y(this.silhouetteSize,e.silhouetteSize),this.color=y(this.color,e.color),this.colorBlendMode=y(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=y(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=y(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=y(this.lightColor,e.lightColor),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=y(this.clippingPlanes,e.clippingPlanes),this.customShader=y(this.customShader,e.customShader);let t=e.nodeTransformations;if(l(t)){let i=this.nodeTransformations;l(i)?i.merge(t):this.nodeTransformations=new Kl(t,pne)}let n=e.articulations;if(l(n)){let i=this.articulations;l(i)?i.merge(n):this.articulations=new Kl(n)}};var Z_=ww;function vw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(vw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),maximumScreenSpaceError:le("maximumScreenSpaceError")});vw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new vw(this)};vw.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.maximumScreenSpaceError=y(this.maximumScreenSpaceError,e.maximumScreenSpaceError)};var JT=vw;function Dw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Dw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),leadTime:le("leadTime"),trailTime:le("trailTime"),width:le("width"),resolution:le("resolution"),material:Oo("material"),distanceDisplayCondition:le("distanceDisplayCondition")});Dw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Dw(this)};Dw.prototype.merge=function(e){this.show=y(this.show,e.show),this.leadTime=y(this.leadTime,e.leadTime),this.trailTime=y(this.trailTime,e.trailTime),this.width=y(this.width,e.width),this.resolution=y(this.resolution,e.resolution),this.material=y(this.material,e.material),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var Q_=Dw;function Iw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Iw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),plane:le("plane"),dimensions:le("dimensions"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Iw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Iw(this)};Iw.prototype.merge=function(e){this.show=y(this.show,e.show),this.plane=y(this.plane,e.plane),this.dimensions=y(this.dimensions,e.dimensions),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var jL=Iw;function Pw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Pw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),pixelSize:le("pixelSize"),heightReference:le("heightReference"),color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});Pw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e.splitDirection=this.splitDirection,e):new Pw(this)};Pw.prototype.merge=function(e){this.show=y(this.show,e.show),this.pixelSize=y(this.pixelSize,e.pixelSize),this.heightReference=y(this.heightReference,e.heightReference),this.color=y(this.color,e.color),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var eC=Pw;function HLe(e,t){this.positions=l(e)?e:[],this.holes=l(t)?t:[]}var $a=HLe;function GLe(e){return Array.isArray(e)&&(e=new $a(e)),new Kn(e)}function Rw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this._textureCoordinates=void 0,this._textureCoordinatesSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Rw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),hierarchy:le("hierarchy",void 0,GLe),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),perPositionHeight:le("perPositionHeight"),closeTop:le("closeTop"),closeBottom:le("closeBottom"),arcType:le("arcType"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex"),textureCoordinates:le("textureCoordinates")});Rw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e.textureCoordinates=this.textureCoordinates,e):new Rw(this)};Rw.prototype.merge=function(e){this.show=y(this.show,e.show),this.hierarchy=y(this.hierarchy,e.hierarchy),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.perPositionHeight=y(this.perPositionHeight,e.perPositionHeight),this.closeTop=y(this.closeTop,e.closeTop),this.closeBottom=y(this.closeBottom,e.closeBottom),this.arcType=y(this.arcType,e.arcType),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex),this.textureCoordinates=y(this.textureCoordinates,e.textureCoordinates)};var Oh=Rw;function Ow(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Ow.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),granularity:le("granularity"),material:Oo("material"),depthFailMaterial:Oo("depthFailMaterial"),arcType:le("arcType"),clampToGround:le("clampToGround"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});Ow.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new Ow(this)};Ow.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.granularity=y(this.granularity,e.granularity),this.material=y(this.material,e.material),this.depthFailMaterial=y(this.depthFailMaterial,e.depthFailMaterial),this.arcType=y(this.arcType,e.arcType),this.clampToGround=y(this.clampToGround,e.clampToGround),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Ic=Ow;function Mw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Mw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),shape:le("shape"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Mw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Mw(this)};Mw.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.shape=y(this.shape,e.shape),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var tC=Mw;function Lw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Lw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),coordinates:le("coordinates"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});Lw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new Lw(this)};Lw.prototype.merge=function(e){this.show=y(this.show,e.show),this.coordinates=y(this.coordinates,e.coordinates),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Mh=Lw;function Nw(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Nw.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),minimumHeights:le("minimumHeights"),maximumHeights:le("maximumHeights"),granularity:le("granularity"),fill:le("fill"),material:Oo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Nw.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Nw(this)};Nw.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.minimumHeights=y(this.minimumHeights,e.minimumHeights),this.maximumHeights=y(this.maximumHeights,e.maximumHeights),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var J_=Nw;var WLe=new fe,Q6=[];function jLe(e){return new fl(e)}function qLe(e){return le(e,void 0,jLe)}function Ls(e,t){return le(e,void 0,function(n){return n instanceof t?n:new t(n)})}function Qu(e){e=y(e,y.EMPTY_OBJECT);let t=e.id;l(t)||(t=Gn()),this._availability=void 0,this._id=t,this._definitionChanged=new me,this._name=e.name,this._show=y(e.show,!0),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall",...Q6],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function J6(e,t,n){let i=t.length;for(let o=0;o<i;o++){let r=t[o],s=r._show;(!n&&s)!==(n&&s)&&J6(r,r._children,n)}e._definitionChanged.raiseEvent(e,"isShowing",n,!n)}Object.defineProperties(Qu.prototype,{availability:Xl("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:Xl("name"),show:{get:function(){return this._show},set:function(e){if(e===this._show)return;let t=this.isShowing;this._show=e;let n=this.isShowing;t!==n&&J6(this,this._children,n),this._definitionChanged.raiseEvent(this,"show",e,!e)}},isShowing:{get:function(){return this._show&&(!l(this.entityCollection)||this.entityCollection.show)&&(!l(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){let t=this._parent;if(t===e)return;let n=this.isShowing;if(l(t)){let o=t._children.indexOf(this);t._children.splice(o,1)}this._parent=e,l(e)&&e._children.push(this);let i=this.isShowing;n!==i&&J6(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,t)}},propertyNames:{get:function(){return this._propertyNames}},billboard:Ls("billboard",Ac),box:Ls("box",qT),corridor:Ls("corridor",XT),cylinder:Ls("cylinder",KT),description:le("description"),ellipse:Ls("ellipse",$T),ellipsoid:Ls("ellipsoid",ZT),label:Ls("label",Rh),model:Ls("model",Z_),tileset:Ls("tileset",JT),orientation:le("orientation"),path:Ls("path",Q_),plane:Ls("plane",jL),point:Ls("point",eC),polygon:Ls("polygon",Oh),polyline:Ls("polyline",Ic),polylineVolume:Ls("polylineVolume",tC),properties:Ls("properties",Kl),position:qLe("position"),rectangle:Ls("rectangle",Mh),viewFrom:le("viewFrom"),wall:Ls("wall",J_)});Qu.registerEntityType=function(e,t){Object.defineProperties(Qu.prototype,{[e]:Ls(e,t)}),Q6.includes(e)||Q6.push(e)};Qu.prototype.isAvailable=function(e){let t=this._availability;return!l(t)||t.contains(e)};Qu.prototype.addProperty=function(e){this._propertyNames.push(e),Object.defineProperty(this,e,Xl(e,!0))};Qu.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e]};Qu.prototype.merge=function(e){this.name=y(this.name,e.name),this.availability=y(this.availability,e.availability);let t=this._propertyNames,n=l(e._propertyNames)?e._propertyNames:Object.keys(e),i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r==="parent"||r==="name"||r==="availability"||r==="children")continue;let s=this[r],a=e[r];!l(s)&&t.indexOf(r)===-1&&this.addProperty(r),l(a)&&(l(s)?l(s.merge)&&s.merge(a):l(a.merge)&&l(a.clone)?this[r]=a.clone():this[r]=a)}};var _ne=new Z,gne=new h,yne=new Ne;Qu.prototype.computeModelMatrix=function(e,t){let n=q.getValueOrUndefined(this._position,e,gne);if(!l(n))return;let i=q.getValueOrUndefined(this._orientation,e,yne);return l(i)?t=F.fromRotationTranslation(Z.fromQuaternion(i,_ne),n,t):t=Bt.eastNorthUpToFixedFrame(n,void 0,t),t};Qu.prototype.computeModelMatrixForHeightReference=function(e,t,n,i,o){let r=q.getValueOrDefault(t,e,Ye.NONE),s=q.getValueOrUndefined(this._position,e,gne);if(r===Ye.NONE||!l(s)||h.equalsEpsilon(s,h.ZERO,P.EPSILON8))return this.computeModelMatrix(e,o);let a=i.cartesianToCartographic(s,WLe);qu(r)?a.height=n:a.height+=n,s=i.cartographicToCartesian(a,s);let c=q.getValueOrUndefined(this._orientation,e,yne);return l(c)?o=F.fromRotationTranslation(Z.fromQuaternion(c,_ne),s,o):o=Bt.eastNorthUpToFixedFrame(s,void 0,o),o};Qu.supportsMaterialsforEntitiesOnTerrain=function(e){return ul.supportsMaterials(e)};Qu.supportsPolylinesOnTerrain=function(e){return Ih.isSupported(e)};var sr=Qu;var YLe=new Ht(H.WHITE),XLe=new Kn(!0),KLe=new Kn(!0),$Le=new Kn(!1),ZLe=new Kn(H.BLACK),QLe=new Kn(bn.DISABLED),JLe=new Kn(new Ot),eNe=new Kn(Vn.BOTH);function Pc(e){let t=e.entity,n=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=n,this._id=`${n}-${t.id}`,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=sr.supportsMaterialsforEntitiesOnTerrain(e.scene)}Object.defineProperties(Pc.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});Pc.prototype.isOutlineVisible=function(e){let t=this._entity,n=this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e);return y(n,!1)};Pc.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e);return y(n,!1)};Pc.prototype.createFillGeometryInstance=de.throwInstantiationError;Pc.prototype.createOutlineGeometryInstance=de.throwInstantiationError;Pc.prototype.isDestroyed=function(){return!1};Pc.prototype.destroy=function(){ue(this)};Pc.prototype._isHidden=function(e,t){let n=t.show;return l(n)&&n.isConstant&&!n.getValue(He.MINIMUM_VALUE)};Pc.prototype._isOnTerrain=function(e,t){return!1};Pc.prototype._getIsClosed=function(e){return!0};Pc.prototype._isDynamic=de.throwInstantiationError;Pc.prototype._setStaticOptions=de.throwInstantiationError;Pc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.fill,s=l(r)&&r.isConstant?r.getValue(He.MINIMUM_VALUE):!0,a=o.outline,c=l(a);if(c&&a.isConstant&&(c=a.getValue(He.MINIMUM_VALUE)),!s&&!c){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let u=o.show;if(this._isHidden(e,o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=y(o.material,YLe),this._fillProperty=y(r,KLe),this._showProperty=y(u,XLe),this._showOutlineProperty=y(o.outline,$Le),this._outlineColorProperty=c?y(o.outlineColor,ZLe):void 0,this._shadowsProperty=y(o.shadows,QLe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,JLe),this._classificationTypeProperty=y(o.classificationType,eNe),this._fillEnabled=s;let f=this._isOnTerrain(e,o)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof Ht);if(c&&f&&(Tt(Tt.geometryOutlines),c=!1),this._onTerrain=f,this._outlineEnabled=c,this._isDynamic(e,o))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(e,o),this._isClosed=this._getIsClosed(this._options);let d=o.outlineWidth;this._outlineWidth=l(d)?d.getValue(He.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};Pc.prototype.createDynamicUpdater=function(e,t){return new this.constructor.DynamicGeometryUpdater(this,e,t)};var oi=Pc;function nC(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(nC.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}});var tNe=new K;nC.prototype.getValue=function(e,t){return l(e)||(e=K.now(tNe)),this._callback(e,t)};nC.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};nC.prototype.equals=function(e){return this===e||e instanceof nC&&this._callback===e._callback&&this._isConstant===e._isConstant};var Lh=nC;var xne=new h;function iC(e,t,n,i){this._scene=e,this._heightReference=n,this._extrudedHeightReference=i,this._positionProperty=t,this._position=new h,this._cartographicPosition=new fe,this._normal=new h,this._definitionChanged=new me,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let o=this;if(l(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener(function(){o._updateClamping()}),this._removeModeListener=e.morphComplete.addEventListener(function(){o._updateClamping()})),t.isConstant){let r=t.getValue(He.MINIMUM_VALUE,xne);if(!l(r)||h.equals(r,h.ZERO)||!l(e.globe))return;this._position=h.clone(r,this._position),this._updateClamping(),this._normal=e.ellipsoid.geodeticSurfaceNormal(r,this._normal)}}Object.defineProperties(iC.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});iC.prototype._updateClamping=function(){l(this._removeCallbackFunc)&&this._removeCallbackFunc();let e=this._scene,t=this._position;if(h.equals(t,h.ZERO)){this._terrainHeight=0;return}let i=e.ellipsoid.cartesianToCartographic(t,this._cartographicPosition),o=e.getHeight(i,this._heightReference);l(o)?this._terrainHeight=o:this._terrainHeight=0;let r=s=>{this._terrainHeight=s.height,this.definitionChanged.raiseEvent()};this._removeCallbackFunc=e.updateHeight(i,r,this._heightReference)};var nNe=new K;iC.prototype.getValue=function(e,t){l(e)||(e=K.now(nNe));let n=q.getValueOrDefault(this._heightReference,e,Ye.NONE),i=q.getValueOrDefault(this._extrudedHeightReference,e,Ye.NONE);if(n===Ye.NONE&&!wT(i))return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,xne);if(!l(r)||h.equals(r,h.ZERO)||!l(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,P.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};iC.prototype.isDestroyed=function(){return!1};iC.prototype.destroy=function(){return l(this._removeEventListener)&&this._removeEventListener(),l(this._removeModeListener)&&this._removeModeListener(),l(this._removeCallbackFunc)&&this._removeCallbackFunc(),ue(this)};var oC=iC;function iNe(e,t,n,i){if(oi.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(l(r)){let s=new Lh(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new oC(this._scene,s,r)}}var eg=iNe;var bne=h.ZERO,Tne=new h,oNe=new h,Cne=new H;function rNe(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function $l(e,t){oi.call(this,{entity:e,scene:t,geometryOptions:new rNe(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}l(Object.create)&&($l.prototype=Object.create(oi.prototype),$l.prototype.constructor=$l);Object.defineProperties($l.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});$l.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=kn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Cne)),l(a)||(a=H.WHITE),s.color=jt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,bne,Tne))),new wt({id:t,geometry:ql.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:s})};$l.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Cne),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,bne,Tne))),new wt({id:t,geometry:wh.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:r})};$l.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};$l.prototype._isHidden=function(e,t){return!l(t.dimensions)||!l(e.position)||oi.prototype._isHidden.call(this,e,t)};$l.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};$l.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,He.MINIMUM_VALUE,Ye.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(He.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==Ye.NONE?ln.ALL:void 0};$l.prototype._onEntityPropertyChanged=eg;$l.DynamicGeometryUpdater=rC;function rC(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(rC.prototype=Object.create(ii.prototype),rC.prototype.constructor=rC);rC.prototype._isHidden=function(e,t,n){let i=q.getValueOrUndefined(e.position,n,oNe),o=this._options.dimensions;return!l(i)||!l(o)||ii.prototype._isHidden.call(this,e,t,n)};rC.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,Ye.NONE),o=this._options;o.dimensions=q.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==Ye.NONE?ln.ALL:void 0};var qL=$l;function X0(e,t,n){this._callback=void 0,this._isConstant=void 0,this._referenceFrame=y(n,Bi.FIXED),this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(X0.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var sNe=new K;X0.prototype.getValue=function(e,t){return l(e)||(e=K.now(sNe)),this.getValueInReferenceFrame(e,Bi.FIXED,t)};X0.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};X0.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._callback(e,n);return Ph.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};X0.prototype.equals=function(e){return this===e||e instanceof X0&&this._callback===e._callback&&this._isConstant===e._isConstant&&this._referenceFrame===e._referenceFrame};var YL=X0;var Ene=Er(Ane(),1);var aNe=0,n9={};function Nh(e,t){let n,i=e;l(n9[i])?n=n9[i]:(n=aNe++,n9[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(Nh.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!l(this._element)){let e=Ene.default.sanitize(this._html),t=document.createElement("div");t.className="cesium-credit-wrapper",t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i<n.length;i++)n[i].setAttribute("target","_blank");this._element=t}return this._element}}});Nh.equals=function(e,t){return e===t||l(e)&&l(t)&&e._id===t._id&&e._showOnScreen===t._showOnScreen};Nh.prototype.equals=function(e){return Nh.equals(this,e)};Nh.prototype.isIon=function(){return this.html.indexOf("ion-credit.png")!==-1};Nh.getIonCredit=function(e){let t=l(e.collapsible)&&!e.collapsible;return new Nh(e.html,t)};Nh.clone=function(e){if(l(e))return new Nh(e.html,e.showOnScreen)};var vt=Nh;function K0(e){this._url=e,this._cubeMapBuffers=void 0,this._texture=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._errorEvent=new me}Object.defineProperties(K0.prototype,{url:{get:function(){return this._url}},errorEvent:{get:function(){return this._errorEvent}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}}});K0.isSupported=function(e){return(e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat)&&e.supportsTextureLod};function i9(e){e._cubeMapBuffers=void 0}K0.prototype.update=function(e){let{context:t}=e;if(!K0.isSupported(t))return;if(l(this._texture)){i9(this);return}if(!l(this._texture)&&!this._loading){let f=t.textureCache.getTexture(this._url);l(f)&&(i9(this),this._texture=f,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0)}let n=this._cubeMapBuffers;if(!l(n)&&!this._loading){let f=this;zl(this._url).then(function(d){f._cubeMapBuffers=d,f._loading=!1}).catch(function(d){f.isDestroyed()||f._errorEvent.raiseEvent(d)}),this._loading=!0}if(!l(this._cubeMapBuffers))return;let{pixelDatatype:i}=n[0].positiveX;l(i)||(i=t.halfFloatingPointTexture?nt.HALF_FLOAT:nt.FLOAT);let o=ct.RGBA,r=n.length;this._maximumMipmapLevel=r-1;let s=n[0].positiveX.width,a=Math.log2(s)+1;if(r!==a){let f={};Object.values(qa.FaceName).forEach(d=>{f[d]=void 0});for(let d=r;d<a;d++)n.push(f)}let c=new tn({minificationFilter:en.LINEAR_MIPMAP_LINEAR}),u=new qa({context:t,source:n[0],flipY:!1,pixelDatatype:i,pixelFormat:o,sampler:c});u.loadMipmaps(n.slice(1)),this._texture=u,this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture),this._ready=!0};K0.prototype.isDestroyed=function(){return!1};K0.prototype.destroy=function(){return i9(this),this._texture=this._texture&&this._texture.destroy(),ue(this)};var Fh=K0;function Fw(e){e=y(e,y.EMPTY_OBJECT);let t=l(e.imageBasedLightingFactor)?U.clone(e.imageBasedLightingFactor):new U(1,1);this._imageBasedLightingFactor=t;let n=y(e.luminanceAtZenith,.2);this._luminanceAtZenith=n;let i=e.sphericalHarmonicCoefficients;this._sphericalHarmonicCoefficients=i,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentCubeMap=void 0,this._specularEnvironmentCubeMapDirty=!0,this._specularEnvironmentMapLoaded=!1,this._previousSpecularEnvironmentMapLoaded=!1,this._useDefaultSpecularMaps=!1,this._useDefaultSphericalHarmonics=!1,this._shouldRegenerateShaders=!1,this._previousFrameNumber=void 0,this._previousImageBasedLightingFactor=U.clone(t),this._previousLuminanceAtZenith=n,this._previousSphericalHarmonicCoefficients=i,this._removeErrorListener=void 0}Object.defineProperties(Fw.prototype,{imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){this._previousImageBasedLightingFactor=U.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor),this._imageBasedLightingFactor=U.clone(e,this._imageBasedLightingFactor)}},luminanceAtZenith:{get:function(){return this._luminanceAtZenith},set:function(e){this._previousLuminanceAtZenith=this._luminanceAtZenith,this._luminanceAtZenith=e}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients,this._sphericalHarmonicCoefficients=e}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){e!==this._specularEnvironmentMaps&&(this._specularEnvironmentCubeMapDirty=this._specularEnvironmentCubeMapDirty||e!==this._specularEnvironmentMaps,this._specularEnvironmentMapLoaded=!1),this._specularEnvironmentMaps=e}},enabled:{get:function(){return this._imageBasedLightingFactor.x>0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useSphericalHarmonicCoefficients:{get:function(){return l(this._sphericalHarmonicCoefficients)||this._useDefaultSphericalHarmonics}},specularEnvironmentCubeMap:{get:function(){return this._specularEnvironmentCubeMap}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready||this._useDefaultSpecularMaps}}});function cNe(e,t){if(Fh.isSupported(t)){if(e._specularEnvironmentCubeMap=e._specularEnvironmentCubeMap&&e._specularEnvironmentCubeMap.destroy(),l(e._specularEnvironmentMaps)){let n=new Fh(e._specularEnvironmentMaps);e._specularEnvironmentCubeMap=n,e._removeErrorListener=n.errorEvent.addEventListener(i=>{console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}Fw.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;U.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=U.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._luminanceAtZenith!==this._previousLuminanceAtZenith&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._luminanceAtZenith)!==l(this._previousLuminanceAtZenith),this._previousLuminanceAtZenith=this._luminanceAtZenith),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._previousSphericalHarmonicCoefficients)!==l(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentCubeMapDirty&&(cNe(this,t),this._specularEnvironmentCubeMapDirty=!1),l(this._specularEnvironmentCubeMap)&&(this._specularEnvironmentCubeMap.update(e),this._specularEnvironmentCubeMap.ready&&(this._specularEnvironmentMapLoaded=!0));let o=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!l(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!l(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)};Fw.prototype.isDestroyed=function(){return!1};Fw.prototype.destroy=function(){return this._specularEnvironmentCubeMap=this._specularEnvironmentCubeMap&&this._specularEnvironmentCubeMap.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),ue(this)};var sC=Fw;var r9=Er(Vl(),1);var o9,Sne="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI1ZjJlYTllMy1kYWRiLTQwYjctOGZhOS02NGJkOTJhYTA1ODUiLCJpZCI6MjU5LCJpYXQiOjE3Mjc3OTI2NzB9.XbfI79d1v3T5OpMl4CznrcBuctSfW1lycPWlt8bq_1A",XL={};XL.defaultAccessToken=Sne;XL.defaultServer=new ve({url:"https://api.cesium.com/"});XL.getDefaultTokenCredit=function(e){if(e===Sne){if(!l(o9)){let t=`<b> This application is using Cesium's default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>`;o9=new vt(t,!0)}return o9}};var Bh=XL;function Rc(e,t){let n,i=e.externalType,o=l(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:lNe};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new ce("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");ve.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new r9.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}l(Object.create)&&(Rc.prototype=Object.create(ve.prototype),Rc.prototype.constructor=Rc);Rc.fromAssetId=function(e,t){let n=Rc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new Rc(i,n)})};Object.defineProperties(Rc.prototype,{credits:{get:function(){return l(this._ionRoot)?this._ionRoot.credits:l(this._credits)?this._credits:(this._credits=Rc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});Rc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(vt.getIonCredit),i=Bh.getDefaultTokenCredit(t.queryParameters.access_token);return l(i)&&n.push(vt.clone(i)),n};Rc.prototype.clone=function(e){let t=y(this._ionRoot,this);return l(e)||(e=new Rc(t._ionEndpoint,t._ionEndpointResource)),e=ve.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};Rc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},l(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return ve.prototype.fetchImage.call(this,e)};Rc.prototype._makeRequest=function(e){return this._isExternal||new r9.default(this.url).authority()!==this._ionEndpointDomain?ve.prototype._makeRequest.call(this,e):(l(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,e.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(e.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),ve.prototype._makeRequest.call(this,e))};Rc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Bh.defaultServer),i=y(t.accessToken,Bh.defaultAccessToken);n=ve.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return l(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function lNe(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!l(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(l(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var Ju=Rc;function kh(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(kh.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(e<n)for(let i=e;i<n;++i)t[i]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});kh.prototype.get=function(e){return this._array[e]};kh.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};kh.prototype.peek=function(){return this._array[this._length-1]};kh.prototype.push=function(e){let t=this.length++;this._array[t]=e};kh.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};kh.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};kh.prototype.resize=function(e){this.length=e};kh.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var dl=kh;var pp={X:0,Y:1,Z:2};pp.Y_UP_TO_Z_UP=F.fromRotationTranslation(Z.fromArray([1,0,0,0,0,1,0,-1,0]));pp.Z_UP_TO_Y_UP=F.fromRotationTranslation(Z.fromArray([1,0,0,0,0,-1,0,1,0]));pp.X_UP_TO_Z_UP=F.fromRotationTranslation(Z.fromArray([0,0,1,0,1,0,-1,0,0]));pp.Z_UP_TO_X_UP=F.fromRotationTranslation(Z.fromArray([0,0,-1,0,1,0,1,0,0]));pp.X_UP_TO_Y_UP=F.fromRotationTranslation(Z.fromArray([0,1,0,-1,0,0,0,0,1]));pp.Y_UP_TO_X_UP=F.fromRotationTranslation(Z.fromArray([0,-1,0,1,0,0,0,0,1]));pp.fromName=function(e){return pp[e]};var Mo=Object.freeze(pp);function wne(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(wne.prototype,{metadata:{get:function(){return this._metadata}}});var aC=wne;function tg(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),tg.decode(e)}tg.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};tg.decodeWithFromCharCode=function(e){let t="",n=uNe(e),i=n.length;for(let o=0;o<i;++o){let r=n[o];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t};function Bw(e,t,n){return t<=e&&e<=n}function uNe(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c<a;++c){let u=e[c];if(i===0){if(Bw(u,0,127)){s.push(u);continue}if(Bw(u,194,223)){i=1,t=u&31;continue}if(Bw(u,224,239)){u===224&&(o=160),u===237&&(r=159),i=2,t=u&15;continue}if(Bw(u,240,244)){u===240&&(o=144),u===244&&(r=143),i=3,t=u&7;continue}throw new ce("String decoding failed.")}if(!Bw(u,o,r)){t=i=n=0,o=128,r=191,--c;continue}o=128,r=191,t=t<<6|u&63,++n,n===i&&(s.push(t),t=i=n=0)}return s}typeof TextDecoder<"u"?tg.decode=tg.decodeWithTextDecoder:tg.decode=tg.decodeWithFromCharCode;var Zl=tg;function fNe(e,t){return t=y(t,0),Zl(e,t,Math.min(4,e.length))}var Vh=fNe;function ef(e,t,n,i){this._tileset=e,this._tile=t,this._resource=n,l(i)||(i=[]),this._contents=i,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(ef.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].metadata=e}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].group=e}}});var kw=Uint32Array.BYTES_PER_ELEMENT;ef.fromTileType=async function(e,t,n,i,o,r){o=y(o,0);let s=new Uint8Array(i),a=new DataView(i);o+=kw;let c=a.getUint32(o,!0);if(c!==1)throw new ce(`Only Composite Tile version 1 is supported. Version ${c} is not.`);o+=kw,o+=kw;let u=a.getUint32(o,!0);o+=kw;let f=n.queryParameters.compositeIndex;l(f)?f=`${f}_`:f="";let d=[];d.length=u;for(let m=0;m<u;++m){let x=Vh(s,o),b=a.getUint32(o+kw*2,!0),T=r[x],C=`${f}${m}`,A=n.getDerivedResource({queryParameters:{compositeIndex:C}});if(l(T))d[m]=Promise.resolve(T(e,t,A,i,o));else throw new ce(`Unknown tile content type, ${x}, inside Composite tile`);o+=b}let p=await Promise.all(d);return new ef(e,t,n,p)};ef.prototype.hasProperty=function(e,t){return!1};ef.prototype.getFeature=function(e){};ef.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};ef.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};ef.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};ef.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};ef.prototype.isDestroyed=function(){return!1};ef.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var KL=ef;function dNe(e,t,n){return JSON.parse(Zl(e,t,n))}var Lo=dNe;function Za(e){this._id=Gn();let t=e.featuresLength;this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[];let n,i;if(t>0){let o=Math.min(t,Ut.maximumTextureSize),r=Math.ceil(t/Ut.maximumTextureSize),s=1/o,a=s*.5,c=1/r,u=c*.5;n=new U(o,r),i=new oe(s,a,c,u)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(Za.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return l(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),l(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});Za.DEFAULT_COLOR_VALUE=H.WHITE;Za.DEFAULT_SHOW_VALUE=!0;function vne(e){let t=e._textureDimensions;return t.x*t.y*4}function Dne(e){if(!l(e._batchValues)){let t=vne(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function Ine(e){if(!l(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}Za.prototype.setShow=function(e,t){if(t&&!l(this._showAlphaProperties))return;let n=Ine(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=Dne(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};Za.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setShow(n,e)};Za.prototype.getShow=function(e){if(!l(this._showAlphaProperties))return!0;let t=e*2;return this._showAlphaProperties[t]===255};var hNe=new Array(4);Za.prototype.setColor=function(e,t){if(H.equals(t,Za.DEFAULT_COLOR_VALUE)&&!l(this._batchValues))return;let n=t.toBytes(hNe),i=n[3],o=Dne(this),r=e*4,s=Ine(this),a=e*2;if(o[r]!==n[0]||o[r+1]!==n[1]||o[r+2]!==n[2]||s[a+1]!==i){o[r]=n[0],o[r+1]=n[1],o[r+2]=n[2];let c=s[a+1]!==255,u=s[a]!==0;o[r+3]=u?i:0,s[a+1]=i;let f=i!==255;f&&!c?++this._translucentFeaturesLength:!f&&c&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,l(this._colorChangedCallback)&&this._colorChangedCallback(e,t)}};Za.prototype.setAllColor=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setColor(n,e)};Za.prototype.getColor=function(e,t){if(!l(this._batchValues))return H.clone(Za.DEFAULT_COLOR_VALUE,t);let n=this._batchValues,i=e*4,o=this._showAlphaProperties,r=e*2;return H.fromBytes(n[i],n[i+1],n[i+2],o[r+1],t)};Za.prototype.getPickColor=function(e){return this._pickIds[e]};function Pne(e,t,n){let i=e._textureDimensions;return new Mt({context:t,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,source:{width:i.x,height:i.y,arrayBufferView:n},flipY:!1,sampler:tn.NEAREST})}function mNe(e,t){let n=e._featuresLength;if(!l(e._pickTexture)&&n>0){let i=e._pickIds,o=vne(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c<n;++c){let u=t.createPickId(s.getFeature(c));i.push(u);let f=u.color,d=c*4;r[d]=H.floatToByte(f.red),r[d+1]=H.floatToByte(f.green),r[d+2]=H.floatToByte(f.blue),r[d+3]=H.floatToByte(f.alpha)}e._pickTexture=Pne(e,t,r),l(a)&&(a.batchTableByteLength+=e._pickTexture.sizeInBytes)}}function pNe(e){let t=e._textureDimensions;e._batchTexture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}Za.prototype.update=function(e,t){let n=t.context;this._defaultTexture=n.defaultTexture;let i=t.passes;(i.pick||i.postProcess)&&mNe(this,n),this._batchValuesDirty&&(this._batchValuesDirty=!1,l(this._batchTexture)||(this._batchTexture=Pne(this,n,this._batchValues),l(this._statistics)&&(this._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes)),pNe(this))};Za.prototype.isDestroyed=function(){return!1};Za.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();let e=this._pickIds,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var hl=Za;var _Ne={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},gNe={SCALAR:void 0,VEC2:U,VEC3:h,VEC4:oe,MAT2:Fi,MAT3:Z,MAT4:F};function yNe(e){let t=e.componentType,n;typeof t=="string"?n=X.fromName(t):n=t;let i=_Ne[e.type],o=gNe[e.type];return{componentsPerAttribute:i,classType:o,createArrayBufferView:function(r,s,a){return X.createArrayBufferView(n,r,s,i*a)}}}var tf=yNe;function _p(e){this._classes=void 0,this._classIds=void 0,this._classIndexes=void 0,this._parentCounts=void 0,this._parentIndexes=void 0,this._parentIds=void 0,this._byteLength=0,xNe(this,e.extension,e.binaryBody)}Object.defineProperties(_p.prototype,{byteLength:{get:function(){return this._byteLength}}});function xNe(e,t,n){let i,o,r,s=t.instancesLength,a=t.classes,c=t.classIds,u=t.parentCounts,f=t.parentIds,d=s,p=0;l(c.byteOffset)&&(c.componentType=y(c.componentType,X.UNSIGNED_SHORT),c.type=rn.SCALAR,r=tf(c),c=r.createArrayBufferView(n.buffer,n.byteOffset+c.byteOffset,s),p+=c.byteLength);let g;if(l(u)){for(l(u.byteOffset)&&(u.componentType=y(u.componentType,X.UNSIGNED_SHORT),u.type=rn.SCALAR,r=tf(u),u=r.createArrayBufferView(n.buffer,n.byteOffset+u.byteOffset,s),p+=u.byteLength),g=new Uint16Array(s),d=0,i=0;i<s;++i)g[i]=d,d+=u[i];p+=g.byteLength}l(f)&&l(f.byteOffset)&&(f.componentType=y(f.componentType,X.UNSIGNED_SHORT),f.type=rn.SCALAR,r=tf(f),f=r.createArrayBufferView(n.buffer,n.byteOffset+f.byteOffset,d),p+=f.byteLength);let m=a.length;for(i=0;i<m;++i){let T=a[i].length,C=a[i].instances,A=bNe(T,C,n);p+=TNe(A),a[i].instances=xt(A,C)}let x=new Array(m).fill(0),b=new Uint16Array(s);for(i=0;i<s;++i)o=c[i],b[i]=x[o],++x[o];p+=b.byteLength,e._classes=a,e._classIds=c,e._classIndexes=b,e._parentCounts=u,e._parentIndexes=g,e._parentIds=f,e._byteLength=p}function bNe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new ce("componentType is required.");if(!l(c))throw new ce("type is required.");if(!l(n))throw new ce(`Property ${o} requires a batch table binary.`);let u=tf(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function TNe(e){let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}var CNe=[],ANe=[],ENe=0;function SNe(e,t,n){let i=e._classIds,o=e._parentCounts,r=e._parentIds,s=e._parentIndexes,a=i.length,c=CNe;c.length=Math.max(c.length,a);let u=++ENe,f=ANe;for(f.length=0,f.push(t);f.length>0;){if(t=f.pop(),c[t]===u)continue;c[t]=u;let d=n(e,t);if(l(d))return d;let p=o[t],g=s[t];for(let m=0;m<p;++m){let x=r[g+m];x!==t&&f.push(x)}}}function wNe(e,t,n){let i=!0;for(;i;){let o=n(e,t);if(l(o))return o;let r=e._parentIds[t];i=r!==t,t=r}}function Vw(e,t,n){let i=e._parentCounts,o=e._parentIds;if(l(o)){if(l(i))return SNe(e,t,n)}else return n(e,t);return wNe(e,t,n)}_p.prototype.hasProperty=function(e,t){let n=Vw(this,e,function(i,o){let r=i._classIds[o],s=i._classes[r].instances;if(l(s[t]))return!0});return l(n)};_p.prototype.propertyExists=function(e){let t=this._classes,n=t.length;for(let i=0;i<n;++i){let o=t[i].instances;if(l(o[e]))return!0}return!1};_p.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,Vw(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o].instances;for(let s in r)r.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)}),t};_p.prototype.getProperty=function(e,t){return Vw(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o],s=n._classIndexes[i],a=r.instances[t];if(l(a))return l(a.typedArray)?vNe(a,s):We(a[s],!0)})};function vNe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}_p.prototype.setProperty=function(e,t,n){let i=Vw(this,e,function(o,r){let s=o._classIds[r],a=o._classes[s],c=o._classIndexes[r],u=a.instances[t];if(l(u))return l(u.typedArray)?DNe(u,c,n):u[c]=We(n,!0),!0});return l(i)};function DNe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}_p.prototype.isClass=function(e,t){let n=Vw(this,e,function(i,o){let r=i._classIds[o];if(i._classes[r].name===t)return!0});return l(n)};_p.prototype.getClassName=function(e){let t=this._classIds[e];return this._classes[t].name};var cC=_p;var INe={HIGHLIGHT:0,REPLACE:1,MIX:2},Ql=Object.freeze(INe);var s9=hl.DEFAULT_COLOR_VALUE,a9=hl.DEFAULT_SHOW_VALUE;function lo(e,t,n,i,o){this.featuresLength=t;let r;l(n)&&(r=n.extensions),this._extensions=y(r,{});let s=PNe(n);this._properties=s,this._batchTableHierarchy=RNe(this,n,i);let a=One(t,s,i);this._binaryPropertiesByteLength=ONe(a),this._batchTableBinaryProperties=a,this._content=e,this._batchTexture=new hl({featuresLength:t,colorChangedCallback:o,owner:e,statistics:e.tileset.statistics})}lo._deprecationWarning=_s;Object.defineProperties(lo.prototype,{batchTableByteLength:{get:function(){let e=this._binaryPropertiesByteLength;return l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e+=this._batchTexture.byteLength,e}}});function PNe(e){let t={};if(!l(e))return t;for(let n in e)e.hasOwnProperty(n)&&n!=="HIERARCHY"&&n!=="extensions"&&n!=="extras"&&(t[n]=We(e[n],!0));return t}function RNe(e,t,n){if(!l(t))return;let i=e._extensions["3DTILES_batch_table_hierarchy"],o=t.HIERARCHY;if(l(o)&&(lo._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),e._extensions["3DTILES_batch_table_hierarchy"]=o,i=o),!!l(i))return new cC({extension:i,binaryBody:n})}function One(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new ce("componentType is required.");if(!l(c))throw new ce("type is required.");if(!l(n))throw new ce(`Property ${o} requires a batch table binary.`);let u=tf(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function ONe(e){if(!l(e))return 0;let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}lo.getBinaryProperties=function(e,t,n){return One(e,t,n)};lo.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};lo.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};lo.prototype.getShow=function(e){return this._batchTexture.getShow(e)};lo.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};lo.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};lo.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};lo.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};var MNe=new H;lo.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(s9),this.setAllShow(a9);return}let t=this._content,n=this.featuresLength;for(let i=0;i<n;++i){let o=t.getFeature(i),r=l(e.color)?y(e.color.evaluateColor(o,MNe),s9):s9,s=l(e.show)?y(e.show.evaluate(o),a9):a9;this.setColor(i,r),this.setShow(i,s)}};function LNe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}function NNe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}lo.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};lo.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};lo.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};lo.prototype.hasProperty=function(e,t){return l(this._properties[t])||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)};lo.prototype.hasPropertyBySemantic=function(){return!1};lo.prototype.getPropertyIds=function(e,t){t=l(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push.apply(t,n),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,n)),t};lo.prototype.getPropertyBySemantic=function(e,t){};lo.prototype.getProperty=function(e,t){if(l(this._batchTableBinaryProperties)){let i=this._batchTableBinaryProperties[t];if(l(i))return LNe(i,e)}let n=this._properties[t];if(l(n))return We(n[e],!0);if(l(this._batchTableHierarchy)){let i=this._batchTableHierarchy.getProperty(e,t);if(l(i))return i}};lo.prototype.setProperty=function(e,t,n){let i=this.featuresLength;if(l(this._batchTableBinaryProperties)){let r=this._batchTableBinaryProperties[t];if(l(r)){NNe(r,e,n);return}}if(l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))return;let o=this._properties[t];l(o)||(this._properties[t]=new Array(i),o=this._properties[t]),o[e]=We(n,!0)};function FNe(e){return e._batchTexture.textureDimensions.y===1?`uniform vec4 tile_textureStep; +`;var o9=`${tf} +${YL}`,NLe=$T;Gt.isInternetExplorer()||(o9=`#define CLIP_POLYLINE +${o9}`);function tx(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=!1,i=tx.VERTEX_FORMAT;this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=t,this._vertexShaderSource=y(e.vertexShaderSource,o9),this._fragmentShaderSource=y(e.fragmentShaderSource,NLe),this._renderState=oo.getDefaultRenderState(t,n,e.renderState),this._closed=n,this._vertexFormat=i}Object.defineProperties(tx.prototype,{vertexShaderSource:{get:function(){let e=this._vertexShaderSource;return this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&(e=`#define POLYLINE_DASH +${e}`),e}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return this._vertexFormat}}});tx.VERTEX_FORMAT=Pe.POSITION_AND_ST;tx.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;tx.prototype.isTranslucent=oo.prototype.isTranslucent;tx.prototype.getRenderState=oo.prototype.getRenderState;var wa=tx;function _p(e){e=y(e,y.EMPTY_OBJECT),this.geometryInstances=e.geometryInstances,this._hasPerInstanceColors=!0;let t=e.appearance;l(t)||(t=new wa),this.appearance=t,this.show=y(e.show,!0),this.classificationType=y(e.classificationType,Un.BOTH),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._debugShowShadowVolume=y(e.debugShowShadowVolume,!1),this._primitiveOptions={geometryInstances:void 0,appearance:void 0,vertexCacheOptimize:!1,interleave:y(e.interleave,!1),releaseGeometryInstances:y(e.releaseGeometryInstances,!0),allowPicking:y(e.allowPicking,!0),asynchronous:y(e.asynchronous,!0),compressVertices:!1,_createShaderProgramFunction:void 0,_createCommandsFunction:void 0,_updateAndQueueCommandsFunction:void 0},this._zIndex=void 0,this._ready=!1,this._primitive=void 0,this._sp=void 0,this._sp2D=void 0,this._spMorph=void 0,this._renderState=Cne(!1),this._renderState3DTiles=Cne(!0),this._renderStateMorph=ze.fromCache({cull:{enabled:!0,face:Ti.FRONT},depthTest:{enabled:!0},blending:fn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1})}Object.defineProperties(_p.prototype,{interleave:{get:function(){return this._primitiveOptions.interleave}},releaseGeometryInstances:{get:function(){return this._primitiveOptions.releaseGeometryInstances}},allowPicking:{get:function(){return this._primitiveOptions.allowPicking}},asynchronous:{get:function(){return this._primitiveOptions.asynchronous}},ready:{get:function(){return this._ready}},debugShowShadowVolume:{get:function(){return this._debugShowShadowVolume}}});_p.initializeTerrainHeights=function(){return hi.initialize()};function FLe(e,t,n){let i=t.context,o=e._primitive,r=o._attributeLocations,s=o._batchTable.getVertexShaderCallback()(jL);s=On._appendShowToShader(o,s),s=On._appendDistanceDisplayConditionToShader(o,s),s=On._modifyShaderPosition(e,s,t.scene3DOnly);let a=o._batchTable.getVertexShaderCallback()(WL);a=On._appendShowToShader(o,a),a=On._appendDistanceDisplayConditionToShader(o,a),a=On._modifyShaderPosition(e,a,t.scene3DOnly);let c=o._batchTable.getVertexShaderCallback()(HL),u=[`GLOBE_MINIMUM_ALTITUDE ${t.mapProjection.ellipsoid.minimumRadius.toFixed(1)}`],f="",d="";l(n.material)?(d=l(n.material)?n.material.shaderSource:"",d.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&u.push("ANGLE_VARYING"),d.search(/in\s+float\s+v_width;/g)!==-1&&u.push("WIDTH_VARYING")):f="PER_INSTANCE_COLOR",u.push(f);let p=e.debugShowShadowVolume?["DEBUG_SHOW_VOLUME",f]:[f],g=new He({defines:u,sources:[s]}),m=new He({defines:p,sources:[d,c]});e._sp=tn.replaceCache({context:i,shaderProgram:o._sp,vertexShaderSource:g,fragmentShaderSource:m,attributeLocations:r});let x=i.shaderCache.getDerivedShaderProgram(e._sp,"2dColor");if(!l(x)){let T=new He({defines:u.concat(["COLUMBUS_VIEW_2D"]),sources:[s]});x=i.shaderCache.createDerivedShaderProgram(e._sp,"2dColor",{context:i,shaderProgram:e._sp2D,vertexShaderSource:T,fragmentShaderSource:m,attributeLocations:r})}e._sp2D=x;let b=i.shaderCache.getDerivedShaderProgram(e._sp,"MorphColor");if(!l(b)){let T=new He({defines:u.concat([`MAX_TERRAIN_HEIGHT ${hi._defaultMaxTerrainHeight.toFixed(1)}`]),sources:[a]});c=o._batchTable.getVertexShaderCallback()(GL);let C=new He({defines:p,sources:[d,c]});b=i.shaderCache.createDerivedShaderProgram(e._sp,"MorphColor",{context:i,shaderProgram:e._spMorph,vertexShaderSource:T,fragmentShaderSource:C,attributeLocations:r})}e._spMorph=b}function Cne(e){return ze.fromCache({cull:{enabled:!0},blending:fn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.EQUAL,backOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},reference:Ut.CESIUM_3D_TILE_MASK,mask:Ut.CESIUM_3D_TILE_MASK}})}function BLe(e,t,n,i,o,r){let s=e._primitive,a=s._va.length;o.length=a,r.length=a;let u=t instanceof rs?{}:n._uniforms,f=s._batchTable.getUniformMapCallback()(u);for(let d=0;d<a;d++){let p=s._va[d],g=o[d];l(g)||(g=o[d]=new tt({owner:e,primitiveType:s._primitiveType})),g.vertexArray=p,g.renderState=e._renderState,g.shaderProgram=e._sp,g.uniformMap=f,g.pass=ve.TERRAIN_CLASSIFICATION,g.pickId="czm_batchTable_pickColor(v_endPlaneNormalEcAndBatchId.w)";let m=tt.shallowClone(g,g.derivedCommands.tileset);m.renderState=e._renderState3DTiles,m.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,g.derivedCommands.tileset=m;let x=tt.shallowClone(g,g.derivedCommands.color2D);x.shaderProgram=e._sp2D,g.derivedCommands.color2D=x;let b=tt.shallowClone(m,m.derivedCommands.color2D);b.shaderProgram=e._sp2D,m.derivedCommands.color2D=b;let T=tt.shallowClone(g,g.derivedCommands.colorMorph);T.renderState=e._renderStateMorph,T.shaderProgram=e._spMorph,T.pickId="czm_batchTable_pickColor(v_batchId)",g.derivedCommands.colorMorph=T}}function Ane(e,t,n,i,o,r,s){n.mode===ne.MORPHING?t=t.derivedCommands.colorMorph:n.mode!==ne.SCENE3D&&(t=t.derivedCommands.color2D),t.modelMatrix=i,t.boundingVolume=r,t.cull=o,t.debugShowBoundingVolume=s,n.commandList.push(t)}function kLe(e,t,n,i,o,r,s){let a=e._primitive;On._updateBoundingVolumes(a,t,o);let c;t.mode===ne.SCENE3D?c=a._boundingSphereWC:t.mode===ne.COLUMBUS_VIEW?c=a._boundingSphereCV:t.mode===ne.SCENE2D&&l(a._boundingSphere2D)?c=a._boundingSphere2D:l(a._boundingSphereMorph)&&(c=a._boundingSphereMorph);let u=t.mode===ne.MORPHING,f=e.classificationType,d=f!==Un.CESIUM_3D_TILE,p=f!==Un.TERRAIN&&!u,g,m=t.passes;if(m.render||m.pick&&a.allowPicking){let x=n.length;for(let b=0;b<x;++b){let T=c[b];d&&(g=n[b],Ane(e,g,t,o,r,T,s)),p&&(g=n[b].derivedCommands.tileset,Ane(e,g,t,o,r,T,s))}}}_p.prototype.update=function(e){if(!l(this._primitive)&&!l(this.geometryInstances))return;if(!hi.initialized){_p.initializeTerrainHeights();return}let t,n=this,i=this._primitiveOptions;if(!l(this._primitive)){let o=Array.isArray(this.geometryInstances)?this.geometryInstances:[this.geometryInstances],r=o.length,s=new Array(r),a;for(t=0;t<r;++t)if(a=o[t].attributes,!l(a)||!l(a.color)){this._hasPerInstanceColors=!1;break}for(t=0;t<r;++t){let c=o[t];a={};let u=c.attributes;for(let f in u)u.hasOwnProperty(f)&&(a[f]=u[f]);l(a.width)||(a.width=new Ic({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,value:[c.geometry.width]})),c.geometry._scene3DOnly=e.scene3DOnly,ZT.setProjectionAndEllipsoid(c.geometry,e.mapProjection),s[t]=new wt({geometry:c.geometry,attributes:a,id:c.id,pickPrimitive:n})}i.geometryInstances=s,i.appearance=this.appearance,i._createShaderProgramFunction=function(c,u,f){FLe(n,u,f)},i._createCommandsFunction=function(c,u,f,d,p,g,m){BLe(n,u,f,d,g,m)},i._updateAndQueueCommandsFunction=function(c,u,f,d,p,g,m,x){kLe(n,u,f,d,p,g,m)},this._primitive=new On(i)}if(this.appearance instanceof rs&&!this._hasPerInstanceColors)throw new de("All GeometryInstances must have color attributes to use PolylineColorAppearance with GroundPolylinePrimitive.");this._primitive.appearance=this.appearance,this._primitive.show=this.show,this._primitive.debugShowBoundingVolume=this.debugShowBoundingVolume,this._primitive.update(e),e.afterRender.push(()=>{!this._ready&&l(this._primitive)&&this._primitive.ready&&(this._ready=!0,this.releaseGeometryInstances&&(this.geometryInstances=void 0))})};_p.prototype.getGeometryInstanceAttributes=function(e){return this._primitive.getGeometryInstanceAttributes(e)};_p.isSupported=function(e){return e.frameState.context.depthTexture};_p.prototype.isDestroyed=function(){return!1};_p.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),this._sp=this._sp&&this._sp.destroy(),this._sp2D=void 0,this._spMorph=void 0,ue(this)};var Rh=_p;var VLe=new U(1,1),ULe=!1,zLe=z.WHITE;function QT(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._image=void 0,this._imageSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._transparent=void 0,this._transparentSubscription=void 0,this.image=e.image,this.repeat=e.repeat,this.color=e.color,this.transparent=e.transparent}Object.defineProperties(QT.prototype,{isConstant:{get:function(){return q.isConstant(this._image)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},image:le("image"),repeat:le("repeat"),color:le("color"),transparent:le("transparent")});QT.prototype.getType=function(e){return"Image"};var HLe=new K;QT.prototype.getValue=function(e,t){return l(e)||(e=K.now(HLe)),l(t)||(t={}),t.image=q.getValueOrUndefined(this._image,e),t.repeat=q.getValueOrClonedDefault(this._repeat,e,VLe,t.repeat),t.color=q.getValueOrClonedDefault(this._color,e,zLe,t.color),q.getValueOrDefault(this._transparent,e,ULe)&&(t.color.alpha=Math.min(.99,t.color.alpha)),t};QT.prototype.equals=function(e){return this===e||e instanceof QT&&q.equals(this._image,e._image)&&q.equals(this._repeat,e._repeat)&&q.equals(this._color,e._color)&&q.equals(this._transparent,e._transparent)};var nx=QT;function GLe(e){if(e instanceof z)return new Ht(e);if(typeof e=="string"||e instanceof Ae||e instanceof HTMLCanvasElement||e instanceof HTMLVideoElement){let t=new nx;return t.image=e,t}}function WLe(e,t){return le(e,t,GLe)}var Lo=WLe;function vv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(vv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),dimensions:le("dimensions"),heightReference:le("heightReference"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});vv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.dimensions=this.dimensions,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new vv(this)};vv.prototype.merge=function(e){this.show=y(this.show,e.show),this.dimensions=y(this.dimensions,e.dimensions),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var JT=vv;var jLe={FIXED:0,INERTIAL:1},Vi=Object.freeze(jLe);function eC(){de.throwInstantiationError()}Object.defineProperties(eC.prototype,{isConstant:{get:de.throwInstantiationError},definitionChanged:{get:de.throwInstantiationError},referenceFrame:{get:de.throwInstantiationError}});eC.prototype.getValue=de.throwInstantiationError;eC.prototype.getValueInReferenceFrame=de.throwInstantiationError;eC.prototype.equals=de.throwInstantiationError;var Ene=new $;eC.convertToReferenceFrame=function(e,t,n,i,o){if(!l(t))return t;if(l(o)||(o=new h),n===i)return h.clone(t,o);let r=Mt.computeIcrfToCentralBodyFixedMatrix(e,Ene);if(n===Vi.INERTIAL)return $.multiplyByVector(r,t,o);if(n===Vi.FIXED)return $.multiplyByVector($.transpose(r,Ene),t,o)};var Mh=eC;function ix(e,t){this._definitionChanged=new me,this._value=h.clone(e),this._referenceFrame=y(t,Vi.FIXED)}Object.defineProperties(ix.prototype,{isConstant:{get:function(){return!l(this._value)||this._referenceFrame===Vi.FIXED}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var qLe=new K;ix.prototype.getValue=function(e,t){return l(e)||(e=K.now(qLe)),this.getValueInReferenceFrame(e,Vi.FIXED,t)};ix.prototype.setValue=function(e,t){let n=!1;h.equals(this._value,e)||(n=!0,this._value=h.clone(e)),l(t)&&this._referenceFrame!==t&&(n=!0,this._referenceFrame=t),n&&this._definitionChanged.raiseEvent(this)};ix.prototype.getValueInReferenceFrame=function(e,t,n){return Mh.convertToReferenceFrame(e,this._value,this._referenceFrame,t,n)};ix.prototype.equals=function(e){return this===e||e instanceof ix&&h.equals(this._value,e._value)&&this._referenceFrame===e._referenceFrame};var ml=ix;function wv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(wv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});wv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new wv(this)};wv.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var tC=wv;function YLe(e){return e}function XLe(e,t){return le(e,t,YLe)}var pl=XLe;function Dv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._length=void 0,this._lengthSubscription=void 0,this._topRadius=void 0,this._topRadiusSubscription=void 0,this._bottomRadius=void 0,this._bottomRadiusSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._slices=void 0,this._slicesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Dv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),length:le("length"),topRadius:le("topRadius"),bottomRadius:le("bottomRadius"),heightReference:le("heightReference"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),slices:le("slices"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Dv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.length=this.length,e.topRadius=this.topRadius,e.bottomRadius=this.bottomRadius,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.slices=this.slices,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Dv(this)};Dv.prototype.merge=function(e){this.show=y(this.show,e.show),this.length=y(this.length,e.length),this.topRadius=y(this.topRadius,e.topRadius),this.bottomRadius=y(this.bottomRadius,e.bottomRadius),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.slices=y(this.slices,e.slices),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var nC=Dv;function Iv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._semiMajorAxis=void 0,this._semiMajorAxisSubscription=void 0,this._semiMinorAxis=void 0,this._semiMinorAxisSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._numberOfVerticalLines=void 0,this._numberOfVerticalLinesSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Iv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),semiMajorAxis:le("semiMajorAxis"),semiMinorAxis:le("semiMinorAxis"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),numberOfVerticalLines:le("numberOfVerticalLines"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});Iv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.semiMajorAxis=this.semiMajorAxis,e.semiMinorAxis=this.semiMinorAxis,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.numberOfVerticalLines=this.numberOfVerticalLines,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new Iv(this)};Iv.prototype.merge=function(e){this.show=y(this.show,e.show),this.semiMajorAxis=y(this.semiMajorAxis,e.semiMajorAxis),this.semiMinorAxis=y(this.semiMinorAxis,e.semiMinorAxis),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.numberOfVerticalLines=y(this.numberOfVerticalLines,e.numberOfVerticalLines),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var iC=Iv;function Pv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._radii=void 0,this._radiiSubscription=void 0,this._innerRadii=void 0,this._innerRadiiSubscription=void 0,this._minimumClock=void 0,this._minimumClockSubscription=void 0,this._maximumClock=void 0,this._maximumClockSubscription=void 0,this._minimumCone=void 0,this._minimumConeSubscription=void 0,this._maximumCone=void 0,this._maximumConeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._stackPartitions=void 0,this._stackPartitionsSubscription=void 0,this._slicePartitions=void 0,this._slicePartitionsSubscription=void 0,this._subdivisions=void 0,this._subdivisionsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Pv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),radii:le("radii"),innerRadii:le("innerRadii"),minimumClock:le("minimumClock"),maximumClock:le("maximumClock"),minimumCone:le("minimumCone"),maximumCone:le("maximumCone"),heightReference:le("heightReference"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),stackPartitions:le("stackPartitions"),slicePartitions:le("slicePartitions"),subdivisions:le("subdivisions"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Pv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.radii=this.radii,e.innerRadii=this.innerRadii,e.minimumClock=this.minimumClock,e.maximumClock=this.maximumClock,e.minimumCone=this.minimumCone,e.maximumCone=this.maximumCone,e.heightReference=this.heightReference,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.stackPartitions=this.stackPartitions,e.slicePartitions=this.slicePartitions,e.subdivisions=this.subdivisions,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Pv(this)};Pv.prototype.merge=function(e){this.show=y(this.show,e.show),this.radii=y(this.radii,e.radii),this.innerRadii=y(this.innerRadii,e.innerRadii),this.minimumClock=y(this.minimumClock,e.minimumClock),this.maximumClock=y(this.maximumClock,e.maximumClock),this.minimumCone=y(this.minimumCone,e.minimumCone),this.maximumCone=y(this.maximumCone,e.maximumCone),this.heightReference=y(this.heightReference,e.heightReference),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.stackPartitions=y(this.stackPartitions,e.stackPartitions),this.slicePartitions=y(this.slicePartitions,e.slicePartitions),this.subdivisions=y(this.subdivisions,e.subdivisions),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var oC=Pv;function Ov(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._text=void 0,this._textSubscription=void 0,this._font=void 0,this._fontSubscription=void 0,this._style=void 0,this._styleSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._showBackground=void 0,this._showBackgroundSubscription=void 0,this._backgroundColor=void 0,this._backgroundColorSubscription=void 0,this._backgroundPadding=void 0,this._backgroundPaddingSubscription=void 0,this._pixelOffset=void 0,this._pixelOffsetSubscription=void 0,this._eyeOffset=void 0,this._eyeOffsetSubscription=void 0,this._horizontalOrigin=void 0,this._horizontalOriginSubscription=void 0,this._verticalOrigin=void 0,this._verticalOriginSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._fillColor=void 0,this._fillColorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._pixelOffsetScaleByDistance=void 0,this._pixelOffsetScaleByDistanceSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Ov.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),text:le("text"),font:le("font"),style:le("style"),scale:le("scale"),showBackground:le("showBackground"),backgroundColor:le("backgroundColor"),backgroundPadding:le("backgroundPadding"),pixelOffset:le("pixelOffset"),eyeOffset:le("eyeOffset"),horizontalOrigin:le("horizontalOrigin"),verticalOrigin:le("verticalOrigin"),heightReference:le("heightReference"),fillColor:le("fillColor"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),translucencyByDistance:le("translucencyByDistance"),pixelOffsetScaleByDistance:le("pixelOffsetScaleByDistance"),scaleByDistance:le("scaleByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance")});Ov.prototype.clone=function(e){return l(e)?(e.show=this.show,e.text=this.text,e.font=this.font,e.style=this.style,e.scale=this.scale,e.showBackground=this.showBackground,e.backgroundColor=this.backgroundColor,e.backgroundPadding=this.backgroundPadding,e.pixelOffset=this.pixelOffset,e.eyeOffset=this.eyeOffset,e.horizontalOrigin=this.horizontalOrigin,e.verticalOrigin=this.verticalOrigin,e.heightReference=this.heightReference,e.fillColor=this.fillColor,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.translucencyByDistance=this.translucencyByDistance,e.pixelOffsetScaleByDistance=this.pixelOffsetScaleByDistance,e.scaleByDistance=this.scaleByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e):new Ov(this)};Ov.prototype.merge=function(e){this.show=y(this.show,e.show),this.text=y(this.text,e.text),this.font=y(this.font,e.font),this.style=y(this.style,e.style),this.scale=y(this.scale,e.scale),this.showBackground=y(this.showBackground,e.showBackground),this.backgroundColor=y(this.backgroundColor,e.backgroundColor),this.backgroundPadding=y(this.backgroundPadding,e.backgroundPadding),this.pixelOffset=y(this.pixelOffset,e.pixelOffset),this.eyeOffset=y(this.eyeOffset,e.eyeOffset),this.horizontalOrigin=y(this.horizontalOrigin,e.horizontalOrigin),this.verticalOrigin=y(this.verticalOrigin,e.verticalOrigin),this.heightReference=y(this.heightReference,e.heightReference),this.fillColor=y(this.fillColor,e.fillColor),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.translucencyByDistance=y(this.translucencyByDistance,e.translucencyByDistance),this.pixelOffsetScaleByDistance=y(this.pixelOffsetScaleByDistance,e.pixelOffsetScaleByDistance),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance)};var Lh=Ov;var KLe=new h(1,1,1),ZLe=h.ZERO,$Le=Le.IDENTITY;function Sne(e,t,n){this.translation=h.clone(y(e,ZLe)),this.rotation=Le.clone(y(t,$Le)),this.scale=h.clone(y(n,KLe))}Sne.prototype.equals=function(e){return this===e||l(e)&&h.equals(this.translation,e.translation)&&Le.equals(this.rotation,e.rotation)&&h.equals(this.scale,e.scale)};var ox=Sne;var r9=new ox;function Rv(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._translation=void 0,this._translationSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this.translation=e.translation,this.rotation=e.rotation,this.scale=e.scale}Object.defineProperties(Rv.prototype,{isConstant:{get:function(){return q.isConstant(this._translation)&&q.isConstant(this._rotation)&&q.isConstant(this._scale)}},definitionChanged:{get:function(){return this._definitionChanged}},translation:le("translation"),rotation:le("rotation"),scale:le("scale")});var QLe=new K;Rv.prototype.getValue=function(e,t){return l(e)||(e=K.now(QLe)),l(t)||(t=new ox),t.translation=q.getValueOrClonedDefault(this._translation,e,r9.translation,t.translation),t.rotation=q.getValueOrClonedDefault(this._rotation,e,r9.rotation,t.rotation),t.scale=q.getValueOrClonedDefault(this._scale,e,r9.scale,t.scale),t};Rv.prototype.equals=function(e){return this===e||e instanceof Rv&&q.equals(this._translation,e._translation)&&q.equals(this._rotation,e._rotation)&&q.equals(this._scale,e._scale)};var rC=Rv;function gp(e,t){this._propertyNames=[],this._definitionChanged=new me,l(e)&&this.merge(e,t)}Object.defineProperties(gp.prototype,{propertyNames:{get:function(){return this._propertyNames}},isConstant:{get:function(){let e=this._propertyNames;for(let t=0,n=e.length;t<n;t++)if(!q.isConstant(this[e[t]]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});gp.prototype.hasProperty=function(e){return this._propertyNames.indexOf(e)!==-1};function JLe(e){return new $n(e)}gp.prototype.addProperty=function(e,t,n){this._propertyNames.push(e),Object.defineProperty(this,e,le(e,!0,y(n,JLe))),l(t)&&(this[e]=t),this._definitionChanged.raiseEvent(this)};gp.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e],this._definitionChanged.raiseEvent(this)};var eNe=new K;gp.prototype.getValue=function(e,t){l(e)||(e=K.now(eNe)),l(t)||(t={});let n=this._propertyNames;for(let i=0,o=n.length;i<o;i++){let r=n[i];t[r]=q.getValueOrUndefined(this[r],e,t[r])}return t};gp.prototype.merge=function(e,t){let n=this._propertyNames,i=l(e._propertyNames)?e._propertyNames:Object.keys(e);for(let o=0,r=i.length;o<r;o++){let s=i[o],a=this[s],c=e[s];a===void 0&&n.indexOf(s)===-1&&this.addProperty(s,void 0,t),c!==void 0&&(a!==void 0?l(a)&&l(a.merge)&&a.merge(c):l(c)&&l(c.merge)&&l(c.clone)?this[s]=c.clone():this[s]=c)}};function tNe(e,t){let n=e._propertyNames,i=t._propertyNames,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;++r){let s=n[r];if(i.indexOf(s)===-1||!q.equals(e[s],t[s]))return!1}return!0}gp.prototype.equals=function(e){return this===e||e instanceof gp&&tNe(this,e)};var Jl=gp;function vne(e){return new rC(e)}function nNe(e){return new Jl(e,vne)}function iNe(e){return new Jl(e)}function Mv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._scale=void 0,this._scaleSubscription=void 0,this._hasVerticalExaggeration=void 0,this._hasVerticalExaggerationSubscription=void 0,this._enableVerticalExaggeration=void 0,this._enableVerticalExaggerationSubscription=void 0,this._minimumPixelSize=void 0,this._minimumPixelSizeSubscription=void 0,this._maximumScale=void 0,this._maximumScaleSubscription=void 0,this._incrementallyLoadTextures=void 0,this._incrementallyLoadTexturesSubscription=void 0,this._runAnimations=void 0,this._runAnimationsSubscription=void 0,this._clampAnimations=void 0,this._clampAnimationsSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._silhouetteColor=void 0,this._silhouetteColorSubscription=void 0,this._silhouetteSize=void 0,this._silhouetteSizeSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._colorBlendMode=void 0,this._colorBlendModeSubscription=void 0,this._colorBlendAmount=void 0,this._colorBlendAmountSubscription=void 0,this._imageBasedLightingFactor=void 0,this._imageBasedLightingFactorSubscription=void 0,this._lightColor=void 0,this._lightColorSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._nodeTransformations=void 0,this._nodeTransformationsSubscription=void 0,this._articulations=void 0,this._articulationsSubscription=void 0,this._clippingPlanes=void 0,this._clippingPlanesSubscription=void 0,this._customShader=void 0,this._customShaderSubscription=void 0,this._marsOptions=e&&e.marsOptions||{},this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Mv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),scale:le("scale"),enableVerticalExaggeration:le("enableVerticalExaggeration"),minimumPixelSize:le("minimumPixelSize"),maximumScale:le("maximumScale"),incrementallyLoadTextures:le("incrementallyLoadTextures"),runAnimations:le("runAnimations"),clampAnimations:le("clampAnimations"),shadows:le("shadows"),heightReference:le("heightReference"),silhouetteColor:le("silhouetteColor"),silhouetteSize:le("silhouetteSize"),color:le("color"),colorBlendMode:le("colorBlendMode"),colorBlendAmount:le("colorBlendAmount"),imageBasedLightingFactor:le("imageBasedLightingFactor"),lightColor:le("lightColor"),distanceDisplayCondition:le("distanceDisplayCondition"),nodeTransformations:le("nodeTransformations",void 0,nNe),articulations:le("articulations",void 0,iNe),clippingPlanes:le("clippingPlanes"),customShader:le("customShader")});Mv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.scale=this.scale,e.enableVerticalExaggeration=this.enableVerticalExaggeration,e.minimumPixelSize=this.minimumPixelSize,e.maximumScale=this.maximumScale,e.incrementallyLoadTextures=this.incrementallyLoadTextures,e.runAnimations=this.runAnimations,e.clampAnimations=this.clampAnimations,e.heightReference=this._heightReference,e.silhouetteColor=this.silhouetteColor,e.silhouetteSize=this.silhouetteSize,e.color=this.color,e.colorBlendMode=this.colorBlendMode,e.colorBlendAmount=this.colorBlendAmount,e.imageBasedLightingFactor=this.imageBasedLightingFactor,e.lightColor=this.lightColor,e.distanceDisplayCondition=this.distanceDisplayCondition,e.nodeTransformations=this.nodeTransformations,e.articulations=this.articulations,e.clippingPlanes=this.clippingPlanes,e.customShader=this.customShader,e):new Mv(this)};Mv.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.scale=y(this.scale,e.scale),this.enableVerticalExaggeration=y(this.enableVerticalExaggeration,e.enableVerticalExaggeration),this.minimumPixelSize=y(this.minimumPixelSize,e.minimumPixelSize),this.maximumScale=y(this.maximumScale,e.maximumScale),this.incrementallyLoadTextures=y(this.incrementallyLoadTextures,e.incrementallyLoadTextures),this.runAnimations=y(this.runAnimations,e.runAnimations),this.clampAnimations=y(this.clampAnimations,e.clampAnimations),this.shadows=y(this.shadows,e.shadows),this.heightReference=y(this.heightReference,e.heightReference),this.silhouetteColor=y(this.silhouetteColor,e.silhouetteColor),this.silhouetteSize=y(this.silhouetteSize,e.silhouetteSize),this.color=y(this.color,e.color),this.colorBlendMode=y(this.colorBlendMode,e.colorBlendMode),this.colorBlendAmount=y(this.colorBlendAmount,e.colorBlendAmount),this.imageBasedLightingFactor=y(this.imageBasedLightingFactor,e.imageBasedLightingFactor),this.lightColor=y(this.lightColor,e.lightColor),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.clippingPlanes=y(this.clippingPlanes,e.clippingPlanes),this.customShader=y(this.customShader,e.customShader);let t=e.nodeTransformations;if(l(t)){let i=this.nodeTransformations;l(i)?i.merge(t):this.nodeTransformations=new Jl(t,vne)}let n=e.articulations;if(l(n)){let i=this.articulations;l(i)?i.merge(n):this.articulations=new Jl(n)}};var ng=Mv;function Lv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._uri=void 0,this._uriSubscription=void 0,this._maximumScreenSpaceError=void 0,this._maximumScreenSpaceErrorSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Lv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),uri:le("uri"),maximumScreenSpaceError:le("maximumScreenSpaceError")});Lv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.uri=this.uri,e.maximumScreenSpaceError=this.maximumScreenSpaceError,e):new Lv(this)};Lv.prototype.merge=function(e){this.show=y(this.show,e.show),this.uri=y(this.uri,e.uri),this.maximumScreenSpaceError=y(this.maximumScreenSpaceError,e.maximumScreenSpaceError)};var sC=Lv;function Nv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._leadTime=void 0,this._leadTimeSubscription=void 0,this._trailTime=void 0,this._trailTimeSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._resolution=void 0,this._resolutionSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Nv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),leadTime:le("leadTime"),trailTime:le("trailTime"),width:le("width"),resolution:le("resolution"),material:Lo("material"),distanceDisplayCondition:le("distanceDisplayCondition")});Nv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.leadTime=this.leadTime,e.trailTime=this.trailTime,e.width=this.width,e.resolution=this.resolution,e.material=this.material,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Nv(this)};Nv.prototype.merge=function(e){this.show=y(this.show,e.show),this.leadTime=y(this.leadTime,e.leadTime),this.trailTime=y(this.trailTime,e.trailTime),this.width=y(this.width,e.width),this.resolution=y(this.resolution,e.resolution),this.material=y(this.material,e.material),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var ig=Nv;function Fv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._dimensions=void 0,this._dimensionsSubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Fv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),plane:le("plane"),dimensions:le("dimensions"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Fv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.plane=this.plane,e.dimensions=this.dimensions,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Fv(this)};Fv.prototype.merge=function(e){this.show=y(this.show,e.show),this.plane=y(this.plane,e.plane),this.dimensions=y(this.dimensions,e.dimensions),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var XL=Fv;function Bv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._pixelSize=void 0,this._pixelSizeSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._scaleByDistance=void 0,this._scaleByDistanceSubscription=void 0,this._translucencyByDistance=void 0,this._translucencyByDistanceSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._disableDepthTestDistance=void 0,this._disableDepthTestDistanceSubscription=void 0,this._splitDirection=void 0,this._splitDirectionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Bv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),pixelSize:le("pixelSize"),heightReference:le("heightReference"),color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),scaleByDistance:le("scaleByDistance"),translucencyByDistance:le("translucencyByDistance"),distanceDisplayCondition:le("distanceDisplayCondition"),disableDepthTestDistance:le("disableDepthTestDistance"),splitDirection:le("splitDirection")});Bv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.pixelSize=this.pixelSize,e.heightReference=this.heightReference,e.color=this.color,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.scaleByDistance=this.scaleByDistance,e.translucencyByDistance=this._translucencyByDistance,e.distanceDisplayCondition=this.distanceDisplayCondition,e.disableDepthTestDistance=this.disableDepthTestDistance,e.splitDirection=this.splitDirection,e):new Bv(this)};Bv.prototype.merge=function(e){this.show=y(this.show,e.show),this.pixelSize=y(this.pixelSize,e.pixelSize),this.heightReference=y(this.heightReference,e.heightReference),this.color=y(this.color,e.color),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.scaleByDistance=y(this.scaleByDistance,e.scaleByDistance),this.translucencyByDistance=y(this._translucencyByDistance,e.translucencyByDistance),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.disableDepthTestDistance=y(this.disableDepthTestDistance,e.disableDepthTestDistance),this.splitDirection=y(this.splitDirection,e.splitDirection)};var aC=Bv;function oNe(e,t){this.positions=l(e)?e:[],this.holes=l(t)?t:[]}var Qa=oNe;function rNe(e){return Array.isArray(e)&&(e=new Qa(e)),new $n(e)}function kv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._hierarchy=void 0,this._hierarchySubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._perPositionHeight=void 0,this._perPositionHeightSubscription=void 0,this._closeTop=void 0,this._closeTopSubscription=void 0,this._closeBottom=void 0,this._closeBottomSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this._textureCoordinates=void 0,this._textureCoordinatesSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(kv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),hierarchy:le("hierarchy",void 0,rNe),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),perPositionHeight:le("perPositionHeight"),closeTop:le("closeTop"),closeBottom:le("closeBottom"),arcType:le("arcType"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex"),textureCoordinates:le("textureCoordinates")});kv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.hierarchy=this.hierarchy,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.perPositionHeight=this.perPositionHeight,e.closeTop=this.closeTop,e.closeBottom=this.closeBottom,e.arcType=this.arcType,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e.textureCoordinates=this.textureCoordinates,e):new kv(this)};kv.prototype.merge=function(e){this.show=y(this.show,e.show),this.hierarchy=y(this.hierarchy,e.hierarchy),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.perPositionHeight=y(this.perPositionHeight,e.perPositionHeight),this.closeTop=y(this.closeTop,e.closeTop),this.closeBottom=y(this.closeBottom,e.closeBottom),this.arcType=y(this.arcType,e.arcType),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex),this.textureCoordinates=y(this.textureCoordinates,e.textureCoordinates)};var Nh=kv;function Vv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._width=void 0,this._widthSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._depthFailMaterial=void 0,this._depthFailMaterialSubscription=void 0,this._arcType=void 0,this._arcTypeSubscription=void 0,this._clampToGround=void 0,this._clampToGroundSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Vv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),width:le("width"),granularity:le("granularity"),material:Lo("material"),depthFailMaterial:Lo("depthFailMaterial"),arcType:le("arcType"),clampToGround:le("clampToGround"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});Vv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.width=this.width,e.granularity=this.granularity,e.material=this.material,e.depthFailMaterial=this.depthFailMaterial,e.arcType=this.arcType,e.clampToGround=this.clampToGround,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new Vv(this)};Vv.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.width=y(this.width,e.width),this.granularity=y(this.granularity,e.granularity),this.material=y(this.material,e.material),this.depthFailMaterial=y(this.depthFailMaterial,e.depthFailMaterial),this.arcType=y(this.arcType,e.arcType),this.clampToGround=y(this.clampToGround,e.clampToGround),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Oc=Vv;function Uv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._shape=void 0,this._shapeSubscription=void 0,this._cornerType=void 0,this._cornerTypeSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubsription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Uv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),shape:le("shape"),cornerType:le("cornerType"),granularity:le("granularity"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Uv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.shape=this.shape,e.cornerType=this.cornerType,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Uv(this)};Uv.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.shape=y(this.shape,e.shape),this.cornerType=y(this.cornerType,e.cornerType),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var cC=Uv;function zv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._coordinates=void 0,this._coordinatesSubscription=void 0,this._height=void 0,this._heightSubscription=void 0,this._heightReference=void 0,this._heightReferenceSubscription=void 0,this._extrudedHeight=void 0,this._extrudedHeightSubscription=void 0,this._extrudedHeightReference=void 0,this._extrudedHeightReferenceSubscription=void 0,this._rotation=void 0,this._rotationSubscription=void 0,this._stRotation=void 0,this._stRotationSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distancedisplayConditionSubscription=void 0,this._classificationType=void 0,this._classificationTypeSubscription=void 0,this._zIndex=void 0,this._zIndexSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(zv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),coordinates:le("coordinates"),height:le("height"),heightReference:le("heightReference"),extrudedHeight:le("extrudedHeight"),extrudedHeightReference:le("extrudedHeightReference"),rotation:le("rotation"),stRotation:le("stRotation"),granularity:le("granularity"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition"),classificationType:le("classificationType"),zIndex:le("zIndex")});zv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.coordinates=this.coordinates,e.height=this.height,e.heightReference=this.heightReference,e.extrudedHeight=this.extrudedHeight,e.extrudedHeightReference=this.extrudedHeightReference,e.rotation=this.rotation,e.stRotation=this.stRotation,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e.classificationType=this.classificationType,e.zIndex=this.zIndex,e):new zv(this)};zv.prototype.merge=function(e){this.show=y(this.show,e.show),this.coordinates=y(this.coordinates,e.coordinates),this.height=y(this.height,e.height),this.heightReference=y(this.heightReference,e.heightReference),this.extrudedHeight=y(this.extrudedHeight,e.extrudedHeight),this.extrudedHeightReference=y(this.extrudedHeightReference,e.extrudedHeightReference),this.rotation=y(this.rotation,e.rotation),this.stRotation=y(this.stRotation,e.stRotation),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition),this.classificationType=y(this.classificationType,e.classificationType),this.zIndex=y(this.zIndex,e.zIndex)};var Fh=zv;function Hv(e){this._definitionChanged=new me,this._show=void 0,this._showSubscription=void 0,this._positions=void 0,this._positionsSubscription=void 0,this._minimumHeights=void 0,this._minimumHeightsSubscription=void 0,this._maximumHeights=void 0,this._maximumHeightsSubscription=void 0,this._granularity=void 0,this._granularitySubscription=void 0,this._fill=void 0,this._fillSubscription=void 0,this._material=void 0,this._materialSubscription=void 0,this._outline=void 0,this._outlineSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this._shadows=void 0,this._shadowsSubscription=void 0,this._distanceDisplayCondition=void 0,this._distanceDisplayConditionSubscription=void 0,this.merge(y(e,y.EMPTY_OBJECT))}Object.defineProperties(Hv.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},show:le("show"),positions:le("positions"),minimumHeights:le("minimumHeights"),maximumHeights:le("maximumHeights"),granularity:le("granularity"),fill:le("fill"),material:Lo("material"),outline:le("outline"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth"),shadows:le("shadows"),distanceDisplayCondition:le("distanceDisplayCondition")});Hv.prototype.clone=function(e){return l(e)?(e.show=this.show,e.positions=this.positions,e.minimumHeights=this.minimumHeights,e.maximumHeights=this.maximumHeights,e.granularity=this.granularity,e.fill=this.fill,e.material=this.material,e.outline=this.outline,e.outlineColor=this.outlineColor,e.outlineWidth=this.outlineWidth,e.shadows=this.shadows,e.distanceDisplayCondition=this.distanceDisplayCondition,e):new Hv(this)};Hv.prototype.merge=function(e){this.show=y(this.show,e.show),this.positions=y(this.positions,e.positions),this.minimumHeights=y(this.minimumHeights,e.minimumHeights),this.maximumHeights=y(this.maximumHeights,e.maximumHeights),this.granularity=y(this.granularity,e.granularity),this.fill=y(this.fill,e.fill),this.material=y(this.material,e.material),this.outline=y(this.outline,e.outline),this.outlineColor=y(this.outlineColor,e.outlineColor),this.outlineWidth=y(this.outlineWidth,e.outlineWidth),this.shadows=y(this.shadows,e.shadows),this.distanceDisplayCondition=y(this.distanceDisplayCondition,e.distanceDisplayCondition)};var og=Hv;var sNe=new fe,s9=[];function aNe(e){return new ml(e)}function cNe(e){return le(e,void 0,aNe)}function ks(e,t){return le(e,void 0,function(n){return n instanceof t?n:new t(n)})}function nf(e){e=y(e,y.EMPTY_OBJECT);let t=e.id;l(t)||(t=Gn()),this._availability=void 0,this._id=t,this._definitionChanged=new me,this._name=e.name,this._show=y(e.show,!0),this._trackingReferenceFrame=y(e.trackingReferenceFrame,Q_.AUTODETECT),this._parent=void 0,this._propertyNames=["billboard","box","corridor","cylinder","description","ellipse","ellipsoid","label","model","tileset","orientation","path","plane","point","polygon","polyline","polylineVolume","position","properties","rectangle","viewFrom","wall",...s9],this._billboard=void 0,this._billboardSubscription=void 0,this._box=void 0,this._boxSubscription=void 0,this._corridor=void 0,this._corridorSubscription=void 0,this._cylinder=void 0,this._cylinderSubscription=void 0,this._description=void 0,this._descriptionSubscription=void 0,this._ellipse=void 0,this._ellipseSubscription=void 0,this._ellipsoid=void 0,this._ellipsoidSubscription=void 0,this._label=void 0,this._labelSubscription=void 0,this._model=void 0,this._modelSubscription=void 0,this._tileset=void 0,this._tilesetSubscription=void 0,this._orientation=void 0,this._orientationSubscription=void 0,this._path=void 0,this._pathSubscription=void 0,this._plane=void 0,this._planeSubscription=void 0,this._point=void 0,this._pointSubscription=void 0,this._polygon=void 0,this._polygonSubscription=void 0,this._polyline=void 0,this._polylineSubscription=void 0,this._polylineVolume=void 0,this._polylineVolumeSubscription=void 0,this._position=void 0,this._positionSubscription=void 0,this._properties=void 0,this._propertiesSubscription=void 0,this._rectangle=void 0,this._rectangleSubscription=void 0,this._viewFrom=void 0,this._viewFromSubscription=void 0,this._wall=void 0,this._wallSubscription=void 0,this._children=[],this.entityCollection=void 0,this.parent=e.parent,this.merge(e)}function a9(e,t,n){let i=t.length;for(let o=0;o<i;o++){let r=t[o],s=r._show;(!n&&s)!==(n&&s)&&a9(r,r._children,n)}e._definitionChanged.raiseEvent(e,"isShowing",n,!n)}Object.defineProperties(nf.prototype,{availability:pl("availability"),id:{get:function(){return this._id}},definitionChanged:{get:function(){return this._definitionChanged}},name:pl("name"),show:{get:function(){return this._show},set:function(e){if(e===this._show)return;let t=this.isShowing;this._show=e;let n=this.isShowing;t!==n&&a9(this,this._children,n),this._definitionChanged.raiseEvent(this,"show",e,!e)}},trackingReferenceFrame:pl("trackingReferenceFrame"),isShowing:{get:function(){return this._show&&(!l(this.entityCollection)||this.entityCollection.show)&&(!l(this._parent)||this._parent.isShowing)}},parent:{get:function(){return this._parent},set:function(e){let t=this._parent;if(t===e)return;let n=this.isShowing;if(l(t)){let o=t._children.indexOf(this);t._children.splice(o,1)}this._parent=e,l(e)&&e._children.push(this);let i=this.isShowing;n!==i&&a9(this,this._children,i),this._definitionChanged.raiseEvent(this,"parent",e,t)}},propertyNames:{get:function(){return this._propertyNames}},billboard:ks("billboard",vc),box:ks("box",JT),corridor:ks("corridor",tC),cylinder:ks("cylinder",nC),description:le("description"),ellipse:ks("ellipse",iC),ellipsoid:ks("ellipsoid",oC),label:ks("label",Lh),model:ks("model",ng),tileset:ks("tileset",sC),orientation:le("orientation"),path:ks("path",ig),plane:ks("plane",XL),point:ks("point",aC),polygon:ks("polygon",Nh),polyline:ks("polyline",Oc),polylineVolume:ks("polylineVolume",cC),properties:ks("properties",Jl),position:cNe("position"),rectangle:ks("rectangle",Fh),viewFrom:le("viewFrom"),wall:ks("wall",og)});nf.registerEntityType=function(e,t){Object.defineProperties(nf.prototype,{[e]:ks(e,t)}),s9.includes(e)||s9.push(e)};nf.prototype.isAvailable=function(e){let t=this._availability;return!l(t)||t.contains(e)};nf.prototype.addProperty=function(e){this._propertyNames.push(e),Object.defineProperty(this,e,pl(e,!0))};nf.prototype.removeProperty=function(e){let n=this._propertyNames.indexOf(e);this._propertyNames.splice(n,1),delete this[e]};nf.prototype.merge=function(e){this.name=y(this.name,e.name),this.availability=y(this.availability,e.availability);let t=this._propertyNames,n=l(e._propertyNames)?e._propertyNames:Object.keys(e),i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r==="parent"||r==="name"||r==="availability"||r==="children")continue;let s=this[r],a=e[r];!l(s)&&t.indexOf(r)===-1&&this.addProperty(r),l(a)&&(l(s)?l(s.merge)&&s.merge(a):l(a.merge)&&l(a.clone)?this[r]=a.clone():this[r]=a)}};var wne=new $,Dne=new h,Ine=new Le;nf.prototype.computeModelMatrix=function(e,t){let n=q.getValueOrUndefined(this._position,e,Dne);if(!l(n))return;let i=q.getValueOrUndefined(this._orientation,e,Ine);return l(i)?t=F.fromRotationTranslation($.fromQuaternion(i,wne),n,t):t=Mt.eastNorthUpToFixedFrame(n,void 0,t),t};nf.prototype.computeModelMatrixForHeightReference=function(e,t,n,i,o){let r=q.getValueOrDefault(t,e,Xe.NONE),s=q.getValueOrUndefined(this._position,e,Dne);if(r===Xe.NONE||!l(s)||h.equalsEpsilon(s,h.ZERO,P.EPSILON8))return this.computeModelMatrix(e,o);let a=i.cartesianToCartographic(s,sNe);Qu(r)?a.height=n:a.height+=n,s=i.cartographicToCartesian(a,s);let c=q.getValueOrUndefined(this._orientation,e,Ine);return l(c)?o=F.fromRotationTranslation($.fromQuaternion(c,wne),s,o):o=Mt.eastNorthUpToFixedFrame(s,void 0,o),o};nf.supportsMaterialsforEntitiesOnTerrain=function(e){return hl.supportsMaterials(e)};nf.supportsPolylinesOnTerrain=function(e){return Rh.isSupported(e)};var sr=nf;var lNe=new Ht(z.WHITE),uNe=new $n(!0),fNe=new $n(!0),dNe=new $n(!1),hNe=new $n(z.BLACK),mNe=new $n(bn.DISABLED),pNe=new $n(new Lt),_Ne=new $n(Un.BOTH);function Rc(e){let t=e.entity,n=e.geometryPropertyName;this._entity=t,this._scene=e.scene,this._fillEnabled=!1,this._isClosed=!1,this._onTerrain=!1,this._dynamic=!1,this._outlineEnabled=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._showOutlineProperty=void 0,this._outlineColorProperty=void 0,this._outlineWidth=1,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._options=e.geometryOptions,this._geometryPropertyName=n,this._id=`${n}-${t.id}`,this._observedPropertyNames=e.observedPropertyNames,this._supportsMaterialsforEntitiesOnTerrain=sr.supportsMaterialsforEntitiesOnTerrain(e.scene)}Object.defineProperties(Rc.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._fillProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},outlineEnabled:{get:function(){return this._outlineEnabled}},hasConstantOutline:{get:function(){return!this._outlineEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)&&q.isConstant(this._showOutlineProperty)}},outlineColorProperty:{get:function(){return this._outlineColorProperty}},outlineWidth:{get:function(){return this._outlineWidth}},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{get:function(){return this._isClosed}},onTerrain:{get:function(){return this._onTerrain}},geometryChanged:{get:function(){return this._geometryChanged}}});Rc.prototype.isOutlineVisible=function(e){let t=this._entity,n=this._outlineEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e);return y(n,!1)};Rc.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e);return y(n,!1)};Rc.prototype.createFillGeometryInstance=de.throwInstantiationError;Rc.prototype.createOutlineGeometryInstance=de.throwInstantiationError;Rc.prototype.isDestroyed=function(){return!1};Rc.prototype.destroy=function(){ue(this)};Rc.prototype._isHidden=function(e,t){let n=t.show;return l(n)&&n.isConstant&&!n.getValue(Ge.MINIMUM_VALUE)};Rc.prototype._isOnTerrain=function(e,t){return!1};Rc.prototype._getIsClosed=function(e){return!0};Rc.prototype._isDynamic=de.throwInstantiationError;Rc.prototype._setStaticOptions=de.throwInstantiationError;Rc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.fill,s=l(r)&&r.isConstant?r.getValue(Ge.MINIMUM_VALUE):!0,a=o.outline,c=l(a);if(c&&a.isConstant&&(c=a.getValue(Ge.MINIMUM_VALUE)),!s&&!c){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}let u=o.show;if(this._isHidden(e,o)){(this._fillEnabled||this._outlineEnabled)&&(this._fillEnabled=!1,this._outlineEnabled=!1,this._geometryChanged.raiseEvent(this));return}this._materialProperty=y(o.material,lNe),this._fillProperty=y(r,fNe),this._showProperty=y(u,uNe),this._showOutlineProperty=y(o.outline,dNe),this._outlineColorProperty=c?y(o.outlineColor,hNe):void 0,this._shadowsProperty=y(o.shadows,mNe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,pNe),this._classificationTypeProperty=y(o.classificationType,_Ne),this._fillEnabled=s;let f=this._isOnTerrain(e,o)&&(this._supportsMaterialsforEntitiesOnTerrain||this._materialProperty instanceof Ht);if(c&&f&&(Tt(Tt.geometryOutlines),c=!1),this._onTerrain=f,this._outlineEnabled=c,this._isDynamic(e,o))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{this._setStaticOptions(e,o),this._isClosed=this._getIsClosed(this._options);let d=o.outlineWidth;this._outlineWidth=l(d)?d.getValue(Ge.MINIMUM_VALUE):1,this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};Rc.prototype.createDynamicUpdater=function(e,t){return new this.constructor.DynamicGeometryUpdater(this,e,t)};var ci=Rc;function lC(e,t){this._callback=void 0,this._isConstant=void 0,this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(lC.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}}});var gNe=new K;lC.prototype.getValue=function(e,t){return l(e)||(e=K.now(gNe)),this._callback(e,t)};lC.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};lC.prototype.equals=function(e){return this===e||e instanceof lC&&this._callback===e._callback&&this._isConstant===e._isConstant};var Bh=lC;var Pne=new h;function uC(e,t,n,i){this._scene=e,this._heightReference=n,this._extrudedHeightReference=i,this._positionProperty=t,this._position=new h,this._cartographicPosition=new fe,this._normal=new h,this._definitionChanged=new me,this._terrainHeight=0,this._removeCallbackFunc=void 0,this._removeEventListener=void 0,this._removeModeListener=void 0;let o=this;if(l(e.globe)&&(this._removeEventListener=e.terrainProviderChanged.addEventListener(function(){o._updateClamping()}),this._removeModeListener=e.morphComplete.addEventListener(function(){o._updateClamping()})),t.isConstant){let r=t.getValue(Ge.MINIMUM_VALUE,Pne);if(!l(r)||h.equals(r,h.ZERO)||!l(e.globe))return;this._position=h.clone(r,this._position),this._updateClamping(),this._normal=e.ellipsoid.geodeticSurfaceNormal(r,this._normal)}}Object.defineProperties(uC.prototype,{isConstant:{get:function(){return!1}},definitionChanged:{get:function(){return this._definitionChanged}}});uC.prototype._updateClamping=function(){l(this._removeCallbackFunc)&&this._removeCallbackFunc();let e=this._scene,t=this._position;if(h.equals(t,h.ZERO)){this._terrainHeight=0;return}let i=e.ellipsoid.cartesianToCartographic(t,this._cartographicPosition),o=e.getHeight(i,this._heightReference);l(o)?this._terrainHeight=o:this._terrainHeight=0;let r=s=>{this._terrainHeight=s.height,this.definitionChanged.raiseEvent()};this._removeCallbackFunc=e.updateHeight(i,r,this._heightReference)};var yNe=new K;uC.prototype.getValue=function(e,t){l(e)||(e=K.now(yNe));let n=q.getValueOrDefault(this._heightReference,e,Xe.NONE),i=q.getValueOrDefault(this._extrudedHeightReference,e,Xe.NONE);if(n===Xe.NONE&&!VT(i))return this._position=h.clone(h.ZERO,this._position),h.clone(h.ZERO,t);if(this._positionProperty.isConstant)return h.multiplyByScalar(this._normal,this._terrainHeight,t);let o=this._scene,r=this._positionProperty.getValue(e,Pne);if(!l(r)||h.equals(r,h.ZERO)||!l(o.globe))return h.clone(h.ZERO,t);if(h.equalsEpsilon(this._position,r,P.EPSILON10))return h.multiplyByScalar(this._normal,this._terrainHeight,t);this._position=h.clone(r,this._position),this._updateClamping();let s=o.ellipsoid.geodeticSurfaceNormal(r,this._normal);return h.multiplyByScalar(s,this._terrainHeight,t)};uC.prototype.isDestroyed=function(){return!1};uC.prototype.destroy=function(){return l(this._removeEventListener)&&this._removeEventListener(),l(this._removeModeListener)&&this._removeModeListener(),l(this._removeCallbackFunc)&&this._removeCallbackFunc(),ue(this)};var fC=uC;function xNe(e,t,n,i){if(ci.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference;if(l(r)){let s=new Bh(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new fC(this._scene,s,r)}}var rg=xNe;var One=h.ZERO,Rne=new h,bNe=new h,Mne=new z;function TNe(e){this.id=e,this.vertexFormat=void 0,this.dimensions=void 0,this.offsetAttribute=void 0}function eu(e,t){ci.call(this,{entity:e,scene:t,geometryOptions:new TNe(e),geometryPropertyName:"box",observedPropertyNames:["availability","position","orientation","box"]}),this._onEntityPropertyChanged(e,"box",e.box,void 0)}l(Object.create)&&(eu.prototype=Object.create(ci.prototype),eu.prototype.constructor=eu);Object.defineProperties(eu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});eu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Vn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Mne)),l(a)||(a=z.WHITE),s.color=Wt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,One,Rne))),new wt({id:t,geometry:Ka.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:s})};eu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Mne),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,One,Rne))),new wt({id:t,geometry:Ph.fromDimensions(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.box.heightReference,this._options.dimensions.z*.5,this._scene.ellipsoid),attributes:r})};eu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};eu.prototype._isHidden=function(e,t){return!l(t.dimensions)||!l(e.position)||ci.prototype._isHidden.call(this,e,t)};eu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};eu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,Ge.MINIMUM_VALUE,Xe.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,i.dimensions=t.dimensions.getValue(Ge.MINIMUM_VALUE,i.dimensions),i.offsetAttribute=n!==Xe.NONE?cn.ALL:void 0};eu.prototype._onEntityPropertyChanged=rg;eu.DynamicGeometryUpdater=dC;function dC(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(dC.prototype=Object.create(ai.prototype),dC.prototype.constructor=dC);dC.prototype._isHidden=function(e,t,n){let i=q.getValueOrUndefined(e.position,n,bNe),o=this._options.dimensions;return!l(i)||!l(o)||ai.prototype._isHidden.call(this,e,t,n)};dC.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,Xe.NONE),o=this._options;o.dimensions=q.getValueOrUndefined(t.dimensions,n,o.dimensions),o.offsetAttribute=i!==Xe.NONE?cn.ALL:void 0};var KL=eu;function rx(e,t,n){this._callback=void 0,this._isConstant=void 0,this._referenceFrame=y(n,Vi.FIXED),this._definitionChanged=new me,this.setCallback(e,t)}Object.defineProperties(rx.prototype,{isConstant:{get:function(){return this._isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var CNe=new K;rx.prototype.getValue=function(e,t){return l(e)||(e=K.now(CNe)),this.getValueInReferenceFrame(e,Vi.FIXED,t)};rx.prototype.setCallback=function(e,t){let n=this._callback!==e||this._isConstant!==t;this._callback=e,this._isConstant=t,n&&this._definitionChanged.raiseEvent(this)};rx.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._callback(e,n);return Mh.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};rx.prototype.equals=function(e){return this===e||e instanceof rx&&this._callback===e._callback&&this._isConstant===e._isConstant&&this._referenceFrame===e._referenceFrame};var ZL=rx;var Nne=Sr(Lne(),1);var ANe=0,u9={};function kh(e,t){let n,i=e;l(u9[i])?n=u9[i]:(n=ANe++,u9[i]=n),t=y(t,!1),this._id=n,this._html=e,this._showOnScreen=t,this._element=void 0}Object.defineProperties(kh.prototype,{html:{get:function(){return this._html}},id:{get:function(){return this._id}},showOnScreen:{get:function(){return this._showOnScreen},set:function(e){this._showOnScreen=e}},element:{get:function(){if(!l(this._element)){let e=Nne.default.sanitize(this._html),t=document.createElement("div");t.className="cesium-credit-wrapper",t._creditId=this._id,t.style.display="inline",t.innerHTML=e;let n=t.querySelectorAll("a");for(let i=0;i<n.length;i++)n[i].setAttribute("target","_blank");this._element=t}return this._element}}});kh.equals=function(e,t){return e===t||l(e)&&l(t)&&e._id===t._id&&e._showOnScreen===t._showOnScreen};kh.prototype.equals=function(e){return kh.equals(this,e)};kh.prototype.isIon=function(){return this.html.indexOf("ion-credit.png")!==-1};kh.getIonCredit=function(e){let t=l(e.collapsible)&&!e.collapsible;return new kh(e.html,t)};kh.clone=function(e){if(l(e))return new kh(e.html,e.showOnScreen)};var Et=kh;function sx(e){this._url=e,this._cubeMapBuffers=void 0,this._texture=void 0,this._maximumMipmapLevel=void 0,this._loading=!1,this._ready=!1,this._errorEvent=new me}Object.defineProperties(sx.prototype,{url:{get:function(){return this._url}},errorEvent:{get:function(){return this._errorEvent}},texture:{get:function(){return this._texture}},maximumMipmapLevel:{get:function(){return this._maximumMipmapLevel}},ready:{get:function(){return this._ready}}});sx.isSupported=function(e){return(e.colorBufferHalfFloat&&e.halfFloatingPointTexture||e.floatingPointTexture&&e.colorBufferFloat)&&e.supportsTextureLod};function f9(e){e._cubeMapBuffers=void 0}sx.prototype.update=function(e){let{context:t}=e;if(!sx.isSupported(t))return;if(l(this._texture)){f9(this);return}if(!l(this._texture)&&!this._loading){let f=t.textureCache.getTexture(this._url);l(f)&&(f9(this),this._texture=f,this._maximumMipmapLevel=this._texture.maximumMipmapLevel,this._ready=!0)}let n=this._cubeMapBuffers;if(!l(n)&&!this._loading){let f=this;Yl(this._url).then(function(d){f._cubeMapBuffers=d,f._loading=!1}).catch(function(d){f.isDestroyed()||f._errorEvent.raiseEvent(d)}),this._loading=!0}if(!l(this._cubeMapBuffers))return;let{pixelDatatype:i}=n[0].positiveX;l(i)||(i=t.halfFloatingPointTexture?Ze.HALF_FLOAT:Ze.FLOAT);let o=ot.RGBA,r=n.length;this._maximumMipmapLevel=r-1;let s=n[0].positiveX.width,a=Math.log2(s)+1;if(r!==a){let f={};Object.values(Ir.FaceName).forEach(d=>{f[d]=void 0});for(let d=r;d<a;d++)n.push(f)}let c=new $t({minificationFilter:Zt.LINEAR_MIPMAP_LINEAR}),u=new Ir({context:t,source:n[0],flipY:!1,pixelDatatype:i,pixelFormat:o,sampler:c});u.loadMipmaps(n.slice(1)),this._texture=u,this._texture.maximumMipmapLevel=this._maximumMipmapLevel,t.textureCache.addTexture(this._url,this._texture),this._ready=!0};sx.prototype.isDestroyed=function(){return!1};sx.prototype.destroy=function(){return f9(this),this._texture=this._texture&&this._texture.destroy(),ue(this)};var Vh=sx;function Gv(e){e=y(e,y.EMPTY_OBJECT);let t=l(e.imageBasedLightingFactor)?U.clone(e.imageBasedLightingFactor):new U(1,1);this._imageBasedLightingFactor=t;let n=e.sphericalHarmonicCoefficients;this._sphericalHarmonicCoefficients=n,this._specularEnvironmentMaps=e.specularEnvironmentMaps,this._specularEnvironmentCubeMap=void 0,this._specularEnvironmentCubeMapDirty=!0,this._specularEnvironmentMapLoaded=!1,this._previousSpecularEnvironmentMapLoaded=!1,this._useDefaultSpecularMaps=!1,this._useDefaultSphericalHarmonics=!1,this._shouldRegenerateShaders=!1,this._previousFrameNumber=void 0,this._previousImageBasedLightingFactor=U.clone(t),this._previousSphericalHarmonicCoefficients=n,this._removeErrorListener=void 0}Object.defineProperties(Gv.prototype,{imageBasedLightingFactor:{get:function(){return this._imageBasedLightingFactor},set:function(e){this._previousImageBasedLightingFactor=U.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor),this._imageBasedLightingFactor=U.clone(e,this._imageBasedLightingFactor)}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients},set:function(e){this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients,this._sphericalHarmonicCoefficients=e}},specularEnvironmentMaps:{get:function(){return this._specularEnvironmentMaps},set:function(e){e!==this._specularEnvironmentMaps&&(this._specularEnvironmentCubeMapDirty=this._specularEnvironmentCubeMapDirty||e!==this._specularEnvironmentMaps,this._specularEnvironmentMapLoaded=!1),this._specularEnvironmentMaps=e}},enabled:{get:function(){return this._imageBasedLightingFactor.x>0||this._imageBasedLightingFactor.y>0}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},specularEnvironmentCubeMap:{get:function(){return this._specularEnvironmentCubeMap}},useDefaultSphericalHarmonics:{get:function(){return this._useDefaultSphericalHarmonics}},useDefaultSpecularMaps:{get:function(){return this._useDefaultSpecularMaps}},useSpecularEnvironmentMaps:{get:function(){return l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready||this._useDefaultSpecularMaps}}});function ENe(e,t){if(Vh.isSupported(t)){if(e._specularEnvironmentCubeMap=e._specularEnvironmentCubeMap&&e._specularEnvironmentCubeMap.destroy(),l(e._specularEnvironmentMaps)){let n=new Vh(e._specularEnvironmentMaps);e._specularEnvironmentCubeMap=n,e._removeErrorListener=n.errorEvent.addEventListener(i=>{console.error(`Error loading specularEnvironmentMaps: ${i}`)})}e._shouldRegenerateShaders=!0}}Gv.prototype.update=function(e){if(e.frameNumber===this._previousFrameNumber)return;this._previousFrameNumber=e.frameNumber;let t=e.context;e.brdfLutGenerator.update(e),this._shouldRegenerateShaders=!1;let n=this._imageBasedLightingFactor,i=this._previousImageBasedLightingFactor;U.equals(n,i)||(this._shouldRegenerateShaders=n.x>0&&i.x===0||n.x===0&&i.x>0,this._shouldRegenerateShaders=this._shouldRegenerateShaders||n.y>0&&i.y===0||n.y===0&&i.y>0,this._previousImageBasedLightingFactor=U.clone(this._imageBasedLightingFactor,this._previousImageBasedLightingFactor)),this._previousSphericalHarmonicCoefficients!==this._sphericalHarmonicCoefficients&&(this._shouldRegenerateShaders=this._shouldRegenerateShaders||l(this._previousSphericalHarmonicCoefficients)!==l(this._sphericalHarmonicCoefficients),this._previousSphericalHarmonicCoefficients=this._sphericalHarmonicCoefficients),this._shouldRegenerateShaders=this._shouldRegenerateShaders||this._previousSpecularEnvironmentMapLoaded!==this._specularEnvironmentMapLoaded,this._previousSpecularEnvironmentMapLoaded=this._specularEnvironmentMapLoaded,this._specularEnvironmentCubeMapDirty&&(ENe(this,t),this._specularEnvironmentCubeMapDirty=!1),l(this._specularEnvironmentCubeMap)&&(this._specularEnvironmentCubeMap.update(e),this._specularEnvironmentCubeMap.ready&&(this._specularEnvironmentMapLoaded=!0));let o=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps)&&!this._useDefaultSpecularMaps,r=!l(e.specularEnvironmentMaps)&&this._useDefaultSpecularMaps,s=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)&&!this._useDefaultSphericalHarmonics,a=!l(e.sphericalHarmonicCoefficients)&&this._useDefaultSphericalHarmonics;this._shouldRegenerateShaders=this._shouldRegenerateShaders||o||r||s||a,this._useDefaultSpecularMaps=!l(this._specularEnvironmentCubeMap)&&l(e.specularEnvironmentMaps),this._useDefaultSphericalHarmonics=!l(this._sphericalHarmonicCoefficients)&&l(e.sphericalHarmonicCoefficients)};Gv.prototype.isDestroyed=function(){return!1};Gv.prototype.destroy=function(){return this._specularEnvironmentCubeMap=this._specularEnvironmentCubeMap&&this._specularEnvironmentCubeMap.destroy(),this._removeErrorListener=this._removeErrorListener&&this._removeErrorListener(),ue(this)};var hC=Gv;var h9=Sr(jl(),1);var d9,Fne="eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiI0ZDdmNWJiNy0wMmNlLTQ1MWUtODM2YS02NGM1MTBlOGMwMWQiLCJpZCI6MjU5LCJpYXQiOjE3MzMxNTc4OTV9.B3URHf0VdHDtGckb-hv7uqATdn8KfvkiuoAFZUq8tAo",$L={};$L.defaultAccessToken=Fne;$L.defaultServer=new Ae({url:"https://api.cesium.com/"});$L.getDefaultTokenCredit=function(e){if(e===Fne){if(!l(d9)){let t=`<b> This application is using Cesium's default ion access token. Please assign <i>Cesium.Ion.defaultAccessToken</i> with an access token from your ion account before making any Cesium API calls. You can sign up for a free ion account at <a href="https://cesium.com">https://cesium.com</a>.</b>`;d9=new Et(t,!0)}return d9}};var Uh=$L;function Mc(e,t){let n,i=e.externalType,o=l(i);if(!o)n={url:e.url,retryAttempts:1,retryCallback:SNe};else if(i==="3DTILES"||i==="STK_TERRAIN_SERVER")n={url:e.options.url};else throw new se("Ion.createResource does not support external imagery assets; use IonImageryProvider instead.");Ae.call(this,n),this._ionEndpoint=e,this._ionEndpointDomain=o?void 0:new h9.default(e.url).authority(),this._ionEndpointResource=t,this._ionRoot=void 0,this._pendingPromise=void 0,this._credits=void 0,this._isExternal=o}l(Object.create)&&(Mc.prototype=Object.create(Ae.prototype),Mc.prototype.constructor=Mc);Mc.fromAssetId=function(e,t){let n=Mc._createEndpointResource(e,t);return n.fetchJson().then(function(i){return new Mc(i,n)})};Object.defineProperties(Mc.prototype,{credits:{get:function(){return l(this._ionRoot)?this._ionRoot.credits:l(this._credits)?this._credits:(this._credits=Mc.getCreditsFromEndpoint(this._ionEndpoint,this._ionEndpointResource),this._credits)}}});Mc.getCreditsFromEndpoint=function(e,t){let n=e.attributions.map(Et.getIonCredit),i=Uh.getDefaultTokenCredit(t.queryParameters.access_token);return l(i)&&n.push(Et.clone(i)),n};Mc.prototype.clone=function(e){let t=y(this._ionRoot,this);return l(e)||(e=new Mc(t._ionEndpoint,t._ionEndpointResource)),e=Ae.prototype.clone.call(this,e),e._ionRoot=t,e._isExternal=this._isExternal,e};Mc.prototype.fetchImage=function(e){if(!this._isExternal){let t=e;e={preferBlob:!0},l(t)&&(e.flipY=t.flipY,e.preferImageBitmap=t.preferImageBitmap)}return Ae.prototype.fetchImage.call(this,e)};Mc.prototype._makeRequest=function(e){return this._isExternal||new h9.default(this.url).authority()!==this._ionEndpointDomain?Ae.prototype._makeRequest.call(this,e):(l(e.headers)||(e.headers={}),e.headers.Authorization=`Bearer ${this._ionEndpoint.accessToken}`,e.headers["X-Cesium-Client"]="CesiumJS",typeof CESIUM_VERSION<"u"&&(e.headers["X-Cesium-Client-Version"]=CESIUM_VERSION),Ae.prototype._makeRequest.call(this,e))};Mc._createEndpointResource=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.server,Uh.defaultServer),i=y(t.accessToken,Uh.defaultAccessToken);n=Ae.createIfNeeded(n);let o={url:`v1/assets/${e}/endpoint`};return l(i)&&(o.queryParameters={access_token:i}),n.getDerivedResource(o)};function SNe(e,t){let n=y(e._ionRoot,e),i=n._ionEndpointResource,o=typeof Image<"u";return!l(t)||t.statusCode!==401&&!(o&&t.target instanceof Image)?Promise.resolve(!1):(l(n._pendingPromise)||(n._pendingPromise=i.fetchJson().then(function(r){return n._ionEndpoint=r,r}).finally(function(r){return n._pendingPromise=void 0,r})),n._pendingPromise.then(function(r){return e._ionEndpoint=r,!0}))}var of=Mc;function zh(e){e=y(e,0),this._array=new Array(e),this._length=e}Object.defineProperties(zh.prototype,{length:{get:function(){return this._length},set:function(e){let t=this._array,n=this._length;if(e<n)for(let i=e;i<n;++i)t[i]=void 0;else e>t.length&&(t.length=e);this._length=e}},values:{get:function(){return this._array}}});zh.prototype.get=function(e){return this._array[e]};zh.prototype.set=function(e,t){e>=this._length&&(this.length=e+1),this._array[e]=t};zh.prototype.peek=function(){return this._array[this._length-1]};zh.prototype.push=function(e){let t=this.length++;this._array[t]=e};zh.prototype.pop=function(){if(this._length===0)return;let e=this._array[this._length-1];return--this.length,e};zh.prototype.reserve=function(e){e>this._array.length&&(this._array.length=e)};zh.prototype.resize=function(e){this.length=e};zh.prototype.trim=function(e){e=y(e,this._length),this._array.length=e};var _l=zh;var yp={X:0,Y:1,Z:2};yp.Y_UP_TO_Z_UP=F.fromRotationTranslation($.fromArray([1,0,0,0,0,1,0,-1,0]));yp.Z_UP_TO_Y_UP=F.fromRotationTranslation($.fromArray([1,0,0,0,0,-1,0,1,0]));yp.X_UP_TO_Z_UP=F.fromRotationTranslation($.fromArray([0,0,1,0,1,0,-1,0,0]));yp.Z_UP_TO_X_UP=F.fromRotationTranslation($.fromArray([0,0,-1,0,1,0,1,0,0]));yp.X_UP_TO_Y_UP=F.fromRotationTranslation($.fromArray([0,1,0,-1,0,0,0,0,1]));yp.Y_UP_TO_X_UP=F.fromRotationTranslation($.fromArray([0,-1,0,1,0,0,0,0,1]));yp.fromName=function(e){return yp[e]};var No=Object.freeze(yp);function Bne(e){e=y(e,y.EMPTY_OBJECT),this._metadata=e.metadata}Object.defineProperties(Bne.prototype,{metadata:{get:function(){return this._metadata}}});var mC=Bne;function sg(e,t,n){return t=y(t,0),n=y(n,e.byteLength-t),e=e.subarray(t,t+n),sg.decode(e)}sg.decodeWithTextDecoder=function(e){return new TextDecoder("utf-8").decode(e)};sg.decodeWithFromCharCode=function(e){let t="",n=vNe(e),i=n.length;for(let o=0;o<i;++o){let r=n[o];r<=65535?t+=String.fromCharCode(r):(r-=65536,t+=String.fromCharCode((r>>10)+55296,(r&1023)+56320))}return t};function Wv(e,t,n){return t<=e&&e<=n}function vNe(e){let t=0,n=0,i=0,o=128,r=191,s=[],a=e.length;for(let c=0;c<a;++c){let u=e[c];if(i===0){if(Wv(u,0,127)){s.push(u);continue}if(Wv(u,194,223)){i=1,t=u&31;continue}if(Wv(u,224,239)){u===224&&(o=160),u===237&&(r=159),i=2,t=u&15;continue}if(Wv(u,240,244)){u===240&&(o=144),u===244&&(r=143),i=3,t=u&7;continue}throw new se("String decoding failed.")}if(!Wv(u,o,r)){t=i=n=0,o=128,r=191,--c;continue}o=128,r=191,t=t<<6|u&63,++n,n===i&&(s.push(t),t=i=n=0)}return s}typeof TextDecoder<"u"?sg.decode=sg.decodeWithTextDecoder:sg.decode=sg.decodeWithFromCharCode;var tu=sg;function wNe(e,t){return t=y(t,0),tu(e,t,Math.min(4,e.length))}var Hh=wNe;function rf(e,t,n,i){this._tileset=e,this._tile=t,this._resource=n,l(i)||(i=[]),this._contents=i,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(rf.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].metadata=e}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e;let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].group=e}}});var jv=Uint32Array.BYTES_PER_ELEMENT;rf.fromTileType=async function(e,t,n,i,o,r){o=y(o,0);let s=new Uint8Array(i),a=new DataView(i);o+=jv;let c=a.getUint32(o,!0);if(c!==1)throw new se(`Only Composite Tile version 1 is supported. Version ${c} is not.`);o+=jv,o+=jv;let u=a.getUint32(o,!0);o+=jv;let f=n.queryParameters.compositeIndex;l(f)?f=`${f}_`:f="";let d=[];d.length=u;for(let m=0;m<u;++m){let x=Hh(s,o),b=a.getUint32(o+jv*2,!0),T=r[x],C=`${f}${m}`,A=n.getDerivedResource({queryParameters:{compositeIndex:C}});if(l(T))d[m]=Promise.resolve(T(e,t,A,i,o));else throw new se(`Unknown tile content type, ${x}, inside Composite tile`);o+=b}let p=await Promise.all(d);return new rf(e,t,n,p)};rf.prototype.hasProperty=function(e,t){return!1};rf.prototype.getFeature=function(e){};rf.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};rf.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};rf.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};rf.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};rf.prototype.isDestroyed=function(){return!1};rf.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var QL=rf;function DNe(e,t,n){return JSON.parse(tu(e,t,n))}var Fo=DNe;function Ja(e){this._id=Gn();let t=e.featuresLength;this._showAlphaProperties=void 0,this._batchValues=void 0,this._batchValuesDirty=!1,this._batchTexture=void 0,this._defaultTexture=void 0,this._pickTexture=void 0,this._pickIds=[];let n,i;if(t>0){let o=Math.min(t,Bt.maximumTextureSize),r=Math.ceil(t/Bt.maximumTextureSize),s=1/o,a=s*.5,c=1/r,u=c*.5;n=new U(o,r),i=new oe(s,a,c,u)}this._translucentFeaturesLength=0,this._featuresLength=t,this._textureDimensions=n,this._textureStep=i,this._owner=e.owner,this._statistics=e.statistics,this._colorChangedCallback=e.colorChangedCallback}Object.defineProperties(Ja.prototype,{translucentFeaturesLength:{get:function(){return this._translucentFeaturesLength}},byteLength:{get:function(){let e=0;return l(this._pickTexture)&&(e+=this._pickTexture.sizeInBytes),l(this._batchTexture)&&(e+=this._batchTexture.sizeInBytes),e}},textureDimensions:{get:function(){return this._textureDimensions}},textureStep:{get:function(){return this._textureStep}},batchTexture:{get:function(){return this._batchTexture}},defaultTexture:{get:function(){return this._defaultTexture}},pickTexture:{get:function(){return this._pickTexture}}});Ja.DEFAULT_COLOR_VALUE=z.WHITE;Ja.DEFAULT_SHOW_VALUE=!0;function kne(e){let t=e._textureDimensions;return t.x*t.y*4}function Vne(e){if(!l(e._batchValues)){let t=kne(e),n=new Uint8Array(t).fill(255);e._batchValues=n}return e._batchValues}function Une(e){if(!l(e._showAlphaProperties)){let t=2*e._featuresLength,n=new Uint8Array(t).fill(255);e._showAlphaProperties=n}return e._showAlphaProperties}Ja.prototype.setShow=function(e,t){if(t&&!l(this._showAlphaProperties))return;let n=Une(this),i=e*2,o=t?255:0;if(n[i]!==o){n[i]=o;let r=Vne(this),s=e*4+3;r[s]=t?n[i+1]:0,this._batchValuesDirty=!0}};Ja.prototype.setAllShow=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setShow(n,e)};Ja.prototype.getShow=function(e){if(!l(this._showAlphaProperties))return!0;let t=e*2;return this._showAlphaProperties[t]===255};var INe=new Array(4);Ja.prototype.setColor=function(e,t){if(z.equals(t,Ja.DEFAULT_COLOR_VALUE)&&!l(this._batchValues))return;let n=t.toBytes(INe),i=n[3],o=Vne(this),r=e*4,s=Une(this),a=e*2;if(o[r]!==n[0]||o[r+1]!==n[1]||o[r+2]!==n[2]||s[a+1]!==i){o[r]=n[0],o[r+1]=n[1],o[r+2]=n[2];let c=s[a+1]!==255,u=s[a]!==0;o[r+3]=u?i:0,s[a+1]=i;let f=i!==255;f&&!c?++this._translucentFeaturesLength:!f&&c&&--this._translucentFeaturesLength,this._batchValuesDirty=!0,l(this._colorChangedCallback)&&this._colorChangedCallback(e,t)}};Ja.prototype.setAllColor=function(e){let t=this._featuresLength;for(let n=0;n<t;++n)this.setColor(n,e)};Ja.prototype.getColor=function(e,t){if(!l(this._batchValues))return z.clone(Ja.DEFAULT_COLOR_VALUE,t);let n=this._batchValues,i=e*4,o=this._showAlphaProperties,r=e*2;return z.fromBytes(n[i],n[i+1],n[i+2],o[r+1],t)};Ja.prototype.getPickColor=function(e){return this._pickIds[e]};function zne(e,t,n){let i=e._textureDimensions;return new Pt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,source:{width:i.x,height:i.y,arrayBufferView:n},flipY:!1,sampler:$t.NEAREST})}function PNe(e,t){let n=e._featuresLength;if(!l(e._pickTexture)&&n>0){let i=e._pickIds,o=kne(e),r=new Uint8Array(o),s=e._owner,a=e._statistics;for(let c=0;c<n;++c){let u=t.createPickId(s.getFeature(c));i.push(u);let f=u.color,d=c*4;r[d]=z.floatToByte(f.red),r[d+1]=z.floatToByte(f.green),r[d+2]=z.floatToByte(f.blue),r[d+3]=z.floatToByte(f.alpha)}e._pickTexture=zne(e,t,r),l(a)&&(a.batchTableByteLength+=e._pickTexture.sizeInBytes)}}function ONe(e){let t=e._textureDimensions;e._batchTexture.copyFrom({source:{width:t.x,height:t.y,arrayBufferView:e._batchValues}})}Ja.prototype.update=function(e,t){let n=t.context;this._defaultTexture=n.defaultTexture;let i=t.passes;(i.pick||i.postProcess)&&PNe(this,n),this._batchValuesDirty&&(this._batchValuesDirty=!1,l(this._batchTexture)||(this._batchTexture=zne(this,n,this._batchValues),l(this._statistics)&&(this._statistics.batchTableByteLength+=this._batchTexture.sizeInBytes)),ONe(this))};Ja.prototype.isDestroyed=function(){return!1};Ja.prototype.destroy=function(){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),this._pickTexture=this._pickTexture&&this._pickTexture.destroy();let e=this._pickIds,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var gl=Ja;var RNe={SCALAR:1,VEC2:2,VEC3:3,VEC4:4,MAT2:4,MAT3:9,MAT4:16},MNe={SCALAR:void 0,VEC2:U,VEC3:h,VEC4:oe,MAT2:Pi,MAT3:$,MAT4:F};function LNe(e){let t=e.componentType,n;typeof t=="string"?n=X.fromName(t):n=t;let i=RNe[e.type],o=MNe[e.type];return{componentsPerAttribute:i,classType:o,createArrayBufferView:function(r,s,a){return X.createArrayBufferView(n,r,s,i*a)}}}var sf=LNe;function xp(e){this._classes=void 0,this._classIds=void 0,this._classIndexes=void 0,this._parentCounts=void 0,this._parentIndexes=void 0,this._parentIds=void 0,this._byteLength=0,NNe(this,e.extension,e.binaryBody)}Object.defineProperties(xp.prototype,{byteLength:{get:function(){return this._byteLength}}});function NNe(e,t,n){let i,o,r,s=t.instancesLength,a=t.classes,c=t.classIds,u=t.parentCounts,f=t.parentIds,d=s,p=0;l(c.byteOffset)&&(c.componentType=y(c.componentType,X.UNSIGNED_SHORT),c.type=sn.SCALAR,r=sf(c),c=r.createArrayBufferView(n.buffer,n.byteOffset+c.byteOffset,s),p+=c.byteLength);let g;if(l(u)){for(l(u.byteOffset)&&(u.componentType=y(u.componentType,X.UNSIGNED_SHORT),u.type=sn.SCALAR,r=sf(u),u=r.createArrayBufferView(n.buffer,n.byteOffset+u.byteOffset,s),p+=u.byteLength),g=new Uint16Array(s),d=0,i=0;i<s;++i)g[i]=d,d+=u[i];p+=g.byteLength}l(f)&&l(f.byteOffset)&&(f.componentType=y(f.componentType,X.UNSIGNED_SHORT),f.type=sn.SCALAR,r=sf(f),f=r.createArrayBufferView(n.buffer,n.byteOffset+f.byteOffset,d),p+=f.byteLength);let m=a.length;for(i=0;i<m;++i){let T=a[i].length,C=a[i].instances,A=FNe(T,C,n);p+=BNe(A),a[i].instances=Ct(A,C)}let x=new Array(m).fill(0),b=new Uint16Array(s);for(i=0;i<s;++i)o=c[i],b[i]=x[o],++x[o];p+=b.byteLength,e._classes=a,e._classIds=c,e._classIndexes=b,e._parentCounts=u,e._parentIndexes=g,e._parentIds=f,e._byteLength=p}function FNe(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new se("componentType is required.");if(!l(c))throw new se("type is required.");if(!l(n))throw new se(`Property ${o} requires a batch table binary.`);let u=sf(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function BNe(e){let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}var kNe=[],VNe=[],UNe=0;function zNe(e,t,n){let i=e._classIds,o=e._parentCounts,r=e._parentIds,s=e._parentIndexes,a=i.length,c=kNe;c.length=Math.max(c.length,a);let u=++UNe,f=VNe;for(f.length=0,f.push(t);f.length>0;){if(t=f.pop(),c[t]===u)continue;c[t]=u;let d=n(e,t);if(l(d))return d;let p=o[t],g=s[t];for(let m=0;m<p;++m){let x=r[g+m];x!==t&&f.push(x)}}}function HNe(e,t,n){let i=!0;for(;i;){let o=n(e,t);if(l(o))return o;let r=e._parentIds[t];i=r!==t,t=r}}function qv(e,t,n){let i=e._parentCounts,o=e._parentIds;if(l(o)){if(l(i))return zNe(e,t,n)}else return n(e,t);return HNe(e,t,n)}xp.prototype.hasProperty=function(e,t){let n=qv(this,e,function(i,o){let r=i._classIds[o],s=i._classes[r].instances;if(l(s[t]))return!0});return l(n)};xp.prototype.propertyExists=function(e){let t=this._classes,n=t.length;for(let i=0;i<n;++i){let o=t[i].instances;if(l(o[e]))return!0}return!1};xp.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,qv(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o].instances;for(let s in r)r.hasOwnProperty(s)&&t.indexOf(s)===-1&&t.push(s)}),t};xp.prototype.getProperty=function(e,t){return qv(this,e,function(n,i){let o=n._classIds[i],r=n._classes[o],s=n._classIndexes[i],a=r.instances[t];if(l(a))return l(a.typedArray)?GNe(a,s):We(a[s],!0)})};function GNe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}xp.prototype.setProperty=function(e,t,n){let i=qv(this,e,function(o,r){let s=o._classIds[r],a=o._classes[s],c=o._classIndexes[r],u=a.instances[t];if(l(u))return l(u.typedArray)?WNe(u,c,n):u[c]=We(n,!0),!0});return l(i)};function WNe(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}xp.prototype.isClass=function(e,t){let n=qv(this,e,function(i,o){let r=i._classIds[o];if(i._classes[r].name===t)return!0});return l(n)};xp.prototype.getClassName=function(e){let t=this._classIds[e];return this._classes[t].name};var pC=xp;var jNe={HIGHLIGHT:0,REPLACE:1,MIX:2},nu=Object.freeze(jNe);var m9=gl.DEFAULT_COLOR_VALUE,p9=gl.DEFAULT_SHOW_VALUE;function uo(e,t,n,i,o){this.featuresLength=t;let r;l(n)&&(r=n.extensions),this._extensions=y(r,{});let s=qNe(n);this._properties=s,this._batchTableHierarchy=YNe(this,n,i);let a=Gne(t,s,i);this._binaryPropertiesByteLength=XNe(a),this._batchTableBinaryProperties=a,this._content=e,this._batchTexture=new gl({featuresLength:t,colorChangedCallback:o,owner:e,statistics:e.tileset.statistics})}uo._deprecationWarning=Cs;Object.defineProperties(uo.prototype,{batchTableByteLength:{get:function(){let e=this._binaryPropertiesByteLength;return l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e+=this._batchTexture.byteLength,e}}});function qNe(e){let t={};if(!l(e))return t;for(let n in e)e.hasOwnProperty(n)&&n!=="HIERARCHY"&&n!=="extensions"&&n!=="extras"&&(t[n]=We(e[n],!0));return t}function YNe(e,t,n){if(!l(t))return;let i=e._extensions["3DTILES_batch_table_hierarchy"],o=t.HIERARCHY;if(l(o)&&(uo._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),e._extensions["3DTILES_batch_table_hierarchy"]=o,i=o),!!l(i))return new pC({extension:i,binaryBody:n})}function Gne(e,t,n){let i;for(let o in t)if(t.hasOwnProperty(o)){let r=t[o],s=r.byteOffset;if(l(s)){let a=r.componentType,c=r.type;if(!l(a))throw new se("componentType is required.");if(!l(c))throw new se("type is required.");if(!l(n))throw new se(`Property ${o} requires a batch table binary.`);let u=sf(r),f=u.componentsPerAttribute,d=u.classType,p=u.createArrayBufferView(n.buffer,n.byteOffset+s,e);l(i)||(i={}),i[o]={typedArray:p,componentCount:f,type:d}}}return i}function XNe(e){if(!l(e))return 0;let t=0;for(let n in e)e.hasOwnProperty(n)&&(t+=e[n].typedArray.byteLength);return t}uo.getBinaryProperties=function(e,t,n){return Gne(e,t,n)};uo.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};uo.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};uo.prototype.getShow=function(e){return this._batchTexture.getShow(e)};uo.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};uo.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};uo.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};uo.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};var KNe=new z;uo.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(m9),this.setAllShow(p9);return}let t=this._content,n=this.featuresLength;for(let i=0;i<n;++i){let o=t.getFeature(i),r=l(e.color)?y(e.color.evaluateColor(o,KNe),m9):m9,s=l(e.show)?y(e.show.evaluate(o),p9):p9;this.setColor(i,r),this.setShow(i,s)}};function ZNe(e,t){let n=e.typedArray,i=e.componentCount;return i===1?n[t]:e.type.unpack(n,t*i)}function $Ne(e,t,n){let i=e.typedArray,o=e.componentCount;o===1?i[t]=n:e.type.pack(n,i,t*o)}uo.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};uo.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};uo.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};uo.prototype.hasProperty=function(e,t){return l(this._properties[t])||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)};uo.prototype.hasPropertyBySemantic=function(){return!1};uo.prototype.getPropertyIds=function(e,t){t=l(t)?t:[],t.length=0;let n=Object.keys(this._properties);return t.push.apply(t,n),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,n)),t};uo.prototype.getPropertyBySemantic=function(e,t){};uo.prototype.getProperty=function(e,t){if(l(this._batchTableBinaryProperties)){let i=this._batchTableBinaryProperties[t];if(l(i))return ZNe(i,e)}let n=this._properties[t];if(l(n))return We(n[e],!0);if(l(this._batchTableHierarchy)){let i=this._batchTableHierarchy.getProperty(e,t);if(l(i))return i}};uo.prototype.setProperty=function(e,t,n){let i=this.featuresLength;if(l(this._batchTableBinaryProperties)){let r=this._batchTableBinaryProperties[t];if(l(r)){$Ne(r,e,n);return}}if(l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n))return;let o=this._properties[t];l(o)||(this._properties[t]=new Array(i),o=this._properties[t]),o[e]=We(n,!0)};function QNe(e){return e._batchTexture.textureDimensions.y===1?`uniform vec4 tile_textureStep; vec2 computeSt(float batchId) { float stepX = tile_textureStep.x; @@ -5899,7 +5944,7 @@ vec2 computeSt(float batchId) float yId = floor(batchId / tile_textureDimensions.x); return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); } -`}lo.prototype.getVertexShaderCallback=function(e,t,n){if(this.featuresLength===0)return;let i=this;return function(o){let r=Mne(o,n,!1),s;return Ut.maximumVertexTextureImageUnits>0?(s="",e&&(s+=`uniform bool tile_translucentCommand; +`}uo.prototype.getVertexShaderCallback=function(e,t,n){if(this.featuresLength===0)return;let i=this;return function(o){let r=Wne(o,n,!1),s;return Bt.maximumVertexTextureImageUnits>0?(s="",e&&(s+=`uniform bool tile_translucentCommand; `),s+=`uniform sampler2D tile_batchTexture; out vec4 tile_featureColor; out vec2 tile_featureSt; @@ -5933,7 +5978,7 @@ void main() tile_color(vec4(1.0)); tile_featureSt = computeSt(${t}); }`,`${r} -${FNe(i)}${s}`}};function Rne(e,t){return e=Ge.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend; +${QNe(i)}${s}`}};function Hne(e,t){return e=He.replaceMain(e,"tile_main"),t?`${e}uniform float tile_colorBlend; void tile_color(vec4 tile_featureColor) { tile_main(); @@ -5946,7 +5991,7 @@ void tile_color(vec4 tile_featureColor) { tile_main(); } -`}function BNe(e,t){let n=`texture(${t}`,i=0,o=e.indexOf(n,i),r;for(;o>-1;){let s=0;for(let u=o;u<e.length;++u){let f=e.charAt(u);if(f==="(")++s;else if(f===")"&&(--s,s===0)){r=u+1;break}}let c=`tile_diffuse_final(${e.slice(o,r)}, tile_diffuse)`;e=e.slice(0,o)+c+e.slice(r),i=o+c.length,o=e.indexOf(n,i)}return e}function Mne(e,t,n){if(!l(t))return Rne(e,n);let i=new RegExp(`(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+${t};`),o=e.match(i);if(!l(o))return Rne(e,n);let r=o[0],s=o[2];e=Ge.replaceMain(e,"tile_main"),e=e.replace(r,"");let a=`bool isWhite(vec3 color) +`}function JNe(e,t){let n=`texture(${t}`,i=0,o=e.indexOf(n,i),r;for(;o>-1;){let s=0;for(let u=o;u<e.length;++u){let f=e.charAt(u);if(f==="(")++s;else if(f===")"&&(--s,s===0)){r=u+1;break}}let c=`tile_diffuse_final(${e.slice(o,r)}, tile_diffuse)`;e=e.slice(0,o)+c+e.slice(r),i=o+c.length,o=e.indexOf(n,i)}return e}function Wne(e,t,n){if(!l(t))return Hne(e,n);let i=new RegExp(`(uniform|attribute|in)\\s+(vec[34]|sampler2D)\\s+${t};`),o=e.match(i);if(!l(o))return Hne(e,n);let r=o[0],s=o[2];e=He.replaceMain(e,"tile_main"),e=e.replace(r,"");let a=`bool isWhite(vec3 color) { return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); } @@ -5963,7 +6008,7 @@ vec4 tile_diffuse_final(vec4 sourceDiffuse, vec4 tileDiffuse) `,u;if(s==="vec3"||s==="vec4"){let f=s==="vec3"?`vec4(${t}, 1.0)`:t,d=s==="vec3"?"tile_diffuse.xyz":"tile_diffuse";i=new RegExp(t,"g"),e=e.replace(i,d),u=` vec4 source = ${f}; tile_diffuse = tile_diffuse_final(source, tile_featureColor); tile_main(); -`}else s==="sampler2D"&&(e=BNe(e,t),u=` tile_diffuse = tile_featureColor; +`}else s==="sampler2D"&&(e=JNe(e,t),u=` tile_diffuse = tile_featureColor; tile_main(); `);return e=`uniform float tile_colorBlend; vec4 tile_diffuse = vec4(1.0); @@ -5972,7 +6017,7 @@ ${e} void tile_color(vec4 tile_featureColor) { ${u}`,n&&(e+=c),e+=`} -`,e}lo.prototype.getFragmentShaderCallback=function(e,t,n){if(this.featuresLength!==0)return function(i){return i=Mne(i,t,!0),Ut.maximumVertexTextureImageUnits>0?(i+=`uniform sampler2D tile_pickTexture; +`,e}uo.prototype.getFragmentShaderCallback=function(e,t,n){if(this.featuresLength!==0)return function(i){return i=Wne(i,t,!0),Bt.maximumVertexTextureImageUnits>0?(i+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() @@ -6007,7 +6052,7 @@ void main() `),i+=` tile_color(featureProperties); `,n&&(i+=` out_FragColor.rgb *= out_FragColor.a; `),i+=`} -`),i}};lo.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=Ge.replaceMain(e,"tile_main"),Ut.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture; +`),i}};uo.prototype.getClassificationFragmentShaderCallback=function(){if(this.featuresLength!==0)return function(e){return e=He.replaceMain(e,"tile_main"),Bt.maximumVertexTextureImageUnits>0?e+=`uniform sampler2D tile_pickTexture; in vec2 tile_featureSt; in vec4 tile_featureColor; void main() @@ -6028,7 +6073,7 @@ void main() out_FragColor = featureProperties; out_FragColor.rgb *= out_FragColor.a; } -`,e}};function kNe(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===Ql.HIGHLIGHT)return 0;if(n===Ql.REPLACE)return 1;if(n===Ql.MIX)return P.clamp(i,P.EPSILON4,1)}lo.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return xt(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return kNe(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};lo.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var ng={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};lo.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s.isSkippingLevelOfDetail&&s.hasMixedContent&&e.context.stencilBuffer,c=VNe(this);for(let u=t;u<i;++u){let f=n[u];if(f.pass===Se.COMPUTE)continue;let d=f.derivedCommands.tileset;(!l(d)||f.dirty)&&(d={},f.derivedCommands.tileset=d,d.originalCommand=UNe(f),f.dirty=!1);let p=d.originalCommand;c!==ng.ALL_OPAQUE&&f.pass!==Se.TRANSLUCENT&&(l(d.translucent)||(d.translucent=zNe(p))),c!==ng.ALL_TRANSLUCENT&&f.pass!==Se.TRANSLUCENT&&(l(d.opaque)||(d.opaque=HNe(p)),a&&(r||(l(d.zback)||(d.zback=WNe(e.context,p)),s._backfaceCommands.push(d.zback)),(!l(d.stencil)||o._selectionDepth!==qNe(d.stencil))&&(f.renderState.depthMask?d.stencil=jNe(p,o._selectionDepth):d.stencil=d.opaque)));let g=a?d.stencil:d.opaque,m=d.translucent;f.pass!==Se.TRANSLUCENT?(c===ng.ALL_OPAQUE&&(n[u]=g),c===ng.ALL_TRANSLUCENT&&(n[u]=m),c===ng.OPAQUE_AND_TRANSLUCENT&&(n[u]=g,n.push(m))):n[u]=p}};function VNe(e){let t=e._batchTexture.translucentFeaturesLength;return t===0?ng.ALL_OPAQUE:t===e.featuresLength?ng.ALL_TRANSLUCENT:ng.OPAQUE_AND_TRANSLUCENT}function UNe(e){let t=et.shallowClone(e),n=t.pass===Se.TRANSLUCENT;return t.uniformMap=l(t.uniformMap)?t.uniformMap:{},t.uniformMap.tile_translucentCommand=function(){return n},t}function zNe(e){let t=et.shallowClone(e);return t.pass=Se.TRANSLUCENT,t.renderState=YNe(e.renderState),t}function HNe(e){let t=et.shallowClone(e);return t.renderState=XNe(e.renderState),t}function GNe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");if(!l(n)){let i=t.fragmentShaderSource.clone();i.defines=l(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),n=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}return n}function WNe(e,t){let n=et.shallowClone(t),i=We(n.renderState,!0);i.cull.enabled=!0,i.cull.face=yi.FRONT,i.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i.polygonOffset={enabled:!0,factor:5,units:5},i.stencilTest=zt.setCesium3DTileBit(),i.stencilMask=zt.CESIUM_3D_TILE_MASK,n.renderState=ze.fromCache(i),n.castShadows=!1,n.receiveShadows=!1,n.uniformMap=We(t.uniformMap);let o=new U(5,5);return n.uniformMap.u_polygonOffset=function(){return o},n.shaderProgram=GNe(e,t.shaderProgram),n}function jNe(e,t){let n=et.shallowClone(e),i=We(n.renderState,!0);return i.stencilTest.enabled=!0,i.stencilTest.mask=zt.SKIP_LOD_MASK,i.stencilTest.reference=zt.CESIUM_3D_TILE_MASK|t<<zt.SKIP_LOD_BIT_SHIFT,i.stencilTest.frontFunction=zn.GREATER_OR_EQUAL,i.stencilTest.frontOperation.zPass=mt.REPLACE,i.stencilTest.backFunction=zn.GREATER_OR_EQUAL,i.stencilTest.backOperation.zPass=mt.REPLACE,i.stencilMask=zt.CESIUM_3D_TILE_MASK|zt.SKIP_LOD_MASK,n.renderState=ze.fromCache(i),n}function qNe(e){return(e.renderState.stencilTest.reference&zt.SKIP_LOD_MASK)>>>zt.SKIP_LOD_BIT_SHIFT}function YNe(e){let t=We(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=fn.ALPHA_BLEND,t.stencilTest=zt.setCesium3DTileBit(),t.stencilMask=zt.CESIUM_3D_TILE_MASK,ze.fromCache(t)}function XNe(e){let t=We(e,!0);return t.stencilTest=zt.setCesium3DTileBit(),t.stencilMask=zt.CESIUM_3D_TILE_MASK,ze.fromCache(t)}lo.prototype.update=function(e,t){this._batchTexture.update(e,t)};lo.prototype.isDestroyed=function(){return!1};lo.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var ig=lo;function KNe(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var gp=KNe;var Uw=`in vec3 position; +`,e}};function eFe(e){let t=e._content.tileset,n=t.colorBlendMode,i=t.colorBlendAmount;if(n===nu.HIGHLIGHT)return 0;if(n===nu.REPLACE)return 1;if(n===nu.MIX)return P.clamp(i,P.EPSILON4,1)}uo.prototype.getUniformMapCallback=function(){if(this.featuresLength===0)return;let e=this;return function(t){return Ct(t,{tile_batchTexture:function(){return y(e._batchTexture.batchTexture,e._batchTexture.defaultTexture)},tile_textureDimensions:function(){return e._batchTexture.textureDimensions},tile_textureStep:function(){return e._batchTexture.textureStep},tile_colorBlend:function(){return eFe(e)},tile_pickTexture:function(){return e._batchTexture.pickTexture}})}};uo.prototype.getPickId=function(){return"texture(tile_pickTexture, tile_featureSt)"};var ag={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};uo.prototype.addDerivedCommands=function(e,t){let n=e.commandList,i=n.length,o=this._content._tile,r=o._finalResolution,s=o.tileset,a=s.isSkippingLevelOfDetail&&s.hasMixedContent&&e.context.stencilBuffer,c=tFe(this);for(let u=t;u<i;++u){let f=n[u];if(f.pass===ve.COMPUTE)continue;let d=f.derivedCommands.tileset;(!l(d)||f.dirty)&&(d={},f.derivedCommands.tileset=d,d.originalCommand=nFe(f),f.dirty=!1);let p=d.originalCommand;c!==ag.ALL_OPAQUE&&f.pass!==ve.TRANSLUCENT&&(l(d.translucent)||(d.translucent=iFe(p))),c!==ag.ALL_TRANSLUCENT&&f.pass!==ve.TRANSLUCENT&&(l(d.opaque)||(d.opaque=oFe(p)),a&&(r||(l(d.zback)||(d.zback=sFe(e.context,p)),s._backfaceCommands.push(d.zback)),(!l(d.stencil)||o._selectionDepth!==cFe(d.stencil))&&(f.renderState.depthMask?d.stencil=aFe(p,o._selectionDepth):d.stencil=d.opaque)));let g=a?d.stencil:d.opaque,m=d.translucent;f.pass!==ve.TRANSLUCENT?(c===ag.ALL_OPAQUE&&(n[u]=g),c===ag.ALL_TRANSLUCENT&&(n[u]=m),c===ag.OPAQUE_AND_TRANSLUCENT&&(n[u]=g,n.push(m))):n[u]=p}};function tFe(e){let t=e._batchTexture.translucentFeaturesLength;return t===0?ag.ALL_OPAQUE:t===e.featuresLength?ag.ALL_TRANSLUCENT:ag.OPAQUE_AND_TRANSLUCENT}function nFe(e){let t=tt.shallowClone(e),n=t.pass===ve.TRANSLUCENT;return t.uniformMap=l(t.uniformMap)?t.uniformMap:{},t.uniformMap.tile_translucentCommand=function(){return n},t}function iFe(e){let t=tt.shallowClone(e);return t.pass=ve.TRANSLUCENT,t.renderState=lFe(e.renderState),t}function oFe(e){let t=tt.shallowClone(e);return t.renderState=uFe(e.renderState),t}function rFe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"zBackfaceLogDepth");if(!l(n)){let i=t.fragmentShaderSource.clone();i.defines=l(i.defines)?i.defines.slice(0):[],i.defines.push("POLYGON_OFFSET"),n=e.shaderCache.createDerivedShaderProgram(t,"zBackfaceLogDepth",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}return n}function sFe(e,t){let n=tt.shallowClone(t),i=We(n.renderState,!0);i.cull.enabled=!0,i.cull.face=Ti.FRONT,i.colorMask={red:!1,green:!1,blue:!1,alpha:!1},i.polygonOffset={enabled:!0,factor:5,units:5},i.stencilTest=Ut.setCesium3DTileBit(),i.stencilMask=Ut.CESIUM_3D_TILE_MASK,n.renderState=ze.fromCache(i),n.castShadows=!1,n.receiveShadows=!1,n.uniformMap=We(t.uniformMap);let o=new U(5,5);return n.uniformMap.u_polygonOffset=function(){return o},n.shaderProgram=rFe(e,t.shaderProgram),n}function aFe(e,t){let n=tt.shallowClone(e),i=We(n.renderState,!0);return i.stencilTest.enabled=!0,i.stencilTest.mask=Ut.SKIP_LOD_MASK,i.stencilTest.reference=Ut.CESIUM_3D_TILE_MASK|t<<Ut.SKIP_LOD_BIT_SHIFT,i.stencilTest.frontFunction=zn.GREATER_OR_EQUAL,i.stencilTest.frontOperation.zPass=mt.REPLACE,i.stencilTest.backFunction=zn.GREATER_OR_EQUAL,i.stencilTest.backOperation.zPass=mt.REPLACE,i.stencilMask=Ut.CESIUM_3D_TILE_MASK|Ut.SKIP_LOD_MASK,n.renderState=ze.fromCache(i),n}function cFe(e){return(e.renderState.stencilTest.reference&Ut.SKIP_LOD_MASK)>>>Ut.SKIP_LOD_BIT_SHIFT}function lFe(e){let t=We(e,!0);return t.cull.enabled=!1,t.depthTest.enabled=!0,t.depthMask=!1,t.blending=fn.ALPHA_BLEND,t.stencilTest=Ut.setCesium3DTileBit(),t.stencilMask=Ut.CESIUM_3D_TILE_MASK,ze.fromCache(t)}function uFe(e){let t=We(e,!0);return t.stencilTest=Ut.setCesium3DTileBit(),t.stencilMask=Ut.CESIUM_3D_TILE_MASK,ze.fromCache(t)}uo.prototype.update=function(e,t){this._batchTexture.update(e,t)};uo.prototype.isDestroyed=function(){return!1};uo.prototype.destroy=function(){return this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var cg=uo;function fFe(e){this.offset=e.offset,this.count=e.count,this.color=e.color,this.batchIds=e.batchIds}var bp=fFe;var Yv=`in vec3 position; in float a_batchId; uniform mat4 u_modifiedModelViewProjection; @@ -6037,31 +6082,31 @@ void main() { gl_Position = czm_depthClamp(u_modifiedModelViewProjection * vec4(position, 1.0)); } -`;function nf(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(nf.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return l(this._color)||(this._color=new H),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(l(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});nf.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};nf.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};nf.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};nf.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(l(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(l(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(l(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(l(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),l(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=l(e.group)?e.group.metadata:void 0;if(l(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let u=e.tileset.metadata;if(l(u)){if(u.hasPropertyBySemantic(n))return u.getPropertyBySemantic(n);if(u.hasProperty(n))return u.getProperty(n)}};nf.prototype.getPropertyInherited=function(e){return nf.getPropertyInherited(this._content,this._batchId,e)};nf.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};nf.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};nf.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};nf.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Js=nf;var c9=class{add(t,n,i){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],n&&this[o][i?"unshift":"push"](n)},this)}run(t,n){this[t]=this[t]||[],this[t].forEach(function(i){i.call(n&&n.context?n.context:n,n)})}},l9=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(n=>{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},ml=class e{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+e.version}static addUnaryOp(t){return e.max_unop_len=Math.max(t.length,e.max_unop_len),e.unary_ops[t]=1,e}static addBinaryOp(t,n,i){return e.max_binop_len=Math.max(t.length,e.max_binop_len),e.binary_ops[t]=n,i?e.right_associative.add(t):e.right_associative.delete(t),e}static addIdentifierChar(t){return e.additional_identifier_chars.add(t),e}static addLiteral(t,n){return e.literals[t]=n,e}static removeUnaryOp(t){return delete e.unary_ops[t],t.length===e.max_unop_len&&(e.max_unop_len=e.getMaxKeyLen(e.unary_ops)),e}static removeAllUnaryOps(){return e.unary_ops={},e.max_unop_len=0,e}static removeIdentifierChar(t){return e.additional_identifier_chars.delete(t),e}static removeBinaryOp(t){return delete e.binary_ops[t],t.length===e.max_binop_len&&(e.max_binop_len=e.getMaxKeyLen(e.binary_ops)),e.right_associative.delete(t),e}static removeAllBinaryOps(){return e.binary_ops={},e.max_binop_len=0,e}static removeLiteral(t){return delete e.literals[t],e}static removeAllLiterals(){return e.literals={},e}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new e(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(n=>n.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return e.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!e.binary_ops[String.fromCharCode(t)]||e.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return e.isIdentifierStart(t)||e.isDecimalDigit(t)}throwError(t){let n=new Error(t+" at character "+this.index);throw n.index=this.index,n.description=t,n}runHook(t,n){if(e.hooks[t]){let i={context:this,node:n};return e.hooks.run(t,i),i.node}return n}searchHook(t){if(e.hooks[t]){let n={context:this};return e.hooks[t].find(function(i){return i.call(n.context,n),n.node}),n.node}}gobbleSpaces(){let t=this.code;for(;t===e.SPACE_CODE||t===e.TAB_CODE||t===e.LF_CODE||t===e.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),n=t.length===1?t[0]:{type:e.COMPOUND,body:t};return this.runHook("after-all",n)}gobbleExpressions(t){let n=[],i,o;for(;this.index<this.expr.length;)if(i=this.code,i===e.SEMCOL_CODE||i===e.COMMA_CODE)this.index++;else if(o=this.gobbleExpression())n.push(o);else if(this.index<this.expr.length){if(i===t)break;this.throwError('Unexpected "'+this.char+'"')}return n}gobbleExpression(){let t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,e.max_binop_len),n=t.length;for(;n>0;){if(e.binary_ops.hasOwnProperty(t)&&(!e.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=n,t;t=t.substr(0,--n)}return!1}gobbleBinaryExpression(){let t,n,i,o,r,s,a,c,u;if(s=this.gobbleToken(),!s||(n=this.gobbleBinaryOp(),!n))return s;for(r={value:n,prec:e.binaryPrecedence(n),right_a:e.right_associative.has(n)},a=this.gobbleToken(),a||this.throwError("Expected expression after "+n),o=[s,r,a];n=this.gobbleBinaryOp();){if(i=e.binaryPrecedence(n),i===0){this.index-=n.length;break}r={value:n,prec:i,right_a:e.right_associative.has(n)},u=n;let f=d=>r.right_a&&d.right_a?i>d.prec:i<=d.prec;for(;o.length>2&&f(o[o.length-2]);)a=o.pop(),n=o.pop().value,s=o.pop(),t={type:e.BINARY_EXP,operator:n,left:s,right:a},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+u),o.push(r,t)}for(c=o.length-1,t=o[c];c>1;)t={type:e.BINARY_EXP,operator:o[c-1].value,left:o[c-2],right:t},c-=2;return t}gobbleToken(){let t,n,i,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,e.isDecimalDigit(t)||t===e.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===e.SQUOTE_CODE||t===e.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===e.OBRACK_CODE)o=this.gobbleArray();else{for(n=this.expr.substr(this.index,e.max_unop_len),i=n.length;i>0;){if(e.unary_ops.hasOwnProperty(n)&&(!e.isIdentifierStart(this.code)||this.index+n.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+n.length)))){this.index+=i;let r=this.gobbleToken();return r||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:e.UNARY_EXP,operator:n,argument:r,prefix:!0})}n=n.substr(0,--i)}e.isIdentifierStart(t)?(o=this.gobbleIdentifier(),e.literals.hasOwnProperty(o.name)?o={type:e.LITERAL,value:e.literals[o.name],raw:o.name}:o.name===e.this_str&&(o={type:e.THIS_EXP})):t===e.OPAREN_CODE&&(o=this.gobbleGroup())}return o?(o=this.gobbleTokenProperty(o),this.runHook("after-token",o)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let n=this.code;for(;n===e.PERIOD_CODE||n===e.OBRACK_CODE||n===e.OPAREN_CODE||n===e.QUMARK_CODE;){let i;if(n===e.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==e.PERIOD_CODE)break;i=!0,this.index+=2,this.gobbleSpaces(),n=this.code}this.index++,n===e.OBRACK_CODE?(t={type:e.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},this.gobbleSpaces(),n=this.code,n!==e.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):n===e.OPAREN_CODE?t={type:e.CALL_EXP,arguments:this.gobbleArguments(e.CPAREN_CODE),callee:t}:(n===e.PERIOD_CODE||i)&&(i&&this.index--,this.gobbleSpaces(),t={type:e.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),i&&(t.optional=!0),this.gobbleSpaces(),n=this.code}return t}gobbleNumericLiteral(){let t="",n,i;for(;e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===e.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(n=this.char,n==="e"||n==="E"){for(t+=this.expr.charAt(this.index++),n=this.char,(n==="+"||n==="-")&&(t+=this.expr.charAt(this.index++));e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return i=this.code,e.isIdentifierStart(i)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(i===e.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===e.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:e.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="",n=this.index,i=this.expr.charAt(this.index++),o=!1;for(;this.index<this.expr.length;){let r=this.expr.charAt(this.index++);if(r===i){o=!0;break}else if(r==="\\")switch(r=this.expr.charAt(this.index++),r){case"n":t+=` -`;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=r}else t+=r}return o||this.throwError('Unclosed quote after "'+t+'"'),{type:e.LITERAL,value:t,raw:this.expr.substring(n,this.index)}}gobbleIdentifier(){let t=this.code,n=this.index;for(e.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,e.isIdentifierPart(t));)this.index++;return{type:e.IDENTIFIER,name:this.expr.slice(n,this.index)}}gobbleArguments(t){let n=[],i=!1,o=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let r=this.code;if(r===t){i=!0,this.index++,t===e.CPAREN_CODE&&o&&o>=n.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(r===e.COMMA_CODE){if(this.index++,o++,o!==n.length){if(t===e.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===e.CBRACK_CODE)for(let s=n.length;s<o;s++)n.push(null)}}else if(n.length!==o&&o!==0)this.throwError("Expected comma");else{let s=this.gobbleExpression();(!s||s.type===e.COMPOUND)&&this.throwError("Expected comma"),n.push(s)}}return i||this.throwError("Expected "+String.fromCharCode(t)),n}gobbleGroup(){this.index++;let t=this.gobbleExpressions(e.CPAREN_CODE);if(this.code===e.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:e.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:e.ARRAY_EXP,elements:this.gobbleArguments(e.CBRACK_CODE)}}},$Ne=new c9;Object.assign(ml,{hooks:$Ne,plugins:new l9(ml),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});ml.max_unop_len=ml.getMaxKeyLen(ml.unary_ops);ml.max_binop_len=ml.getMaxKeyLen(ml.binary_ops);var og=e=>new ml(e).parse(),ZNe=Object.getOwnPropertyNames(ml);ZNe.forEach(e=>{og[e]===void 0&&e!=="prototype"&&(og[e]=ml[e])});og.Jsep=ml;var QNe="ConditionalExpression",JNe={name:"ternary",init(e){e.hooks.add("after-expression",function(n){if(n.node&&this.code===e.QUMARK_CODE){this.index++;let i=n.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let r=this.gobbleExpression();if(r||this.throwError("Expected expression"),n.node={type:QNe,test:i,consequent:o,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let s=i;for(;s.right.operator&&e.binary_ops[s.right.operator]<=.9;)s=s.right;n.node.test=s.right,s.right=n.node,n.node=i}}else this.throwError("Expected :")}})}};og.plugins.register(JNe);var eFe={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},pt=Object.freeze(eFe);function ld(e,t){this._expression=e,e=hFe(e,t),e=pFe(mFe(e)),og.addBinaryOp("=~",0),og.addBinaryOp("!~",0);let n;try{n=og(e)}catch(i){throw new ce(i)}this._runtimeAst=xi(this,n)}Object.defineProperties(ld.prototype,{expression:{get:function(){return this._expression}}});var On={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new U],cartesian3Array:[new h],cartesian4Array:[new oe],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new U),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new oe),this.cartesian4Array[this.cartesian4Index++]}};ld.prototype.evaluate=function(e,t){On.reset();let n=this._runtimeAst.evaluate(e);return t instanceof H&&n instanceof oe?H.fromCartesian4(n,t):n instanceof U||n instanceof h||n instanceof oe?n.clone(t):n};ld.prototype.evaluateColor=function(e,t){On.reset();let n=this._runtimeAst.evaluate(e);return H.fromCartesian4(n,t)};ld.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e} +`;function af(e,t){this._content=e,this._batchId=t,this._color=void 0}Object.defineProperties(af.prototype,{show:{get:function(){return this._content.batchTable.getShow(this._batchId)},set:function(e){this._content.batchTable.setShow(this._batchId,e)}},color:{get:function(){return l(this._color)||(this._color=new z),this._content.batchTable.getColor(this._batchId,this._color)},set:function(e){this._content.batchTable.setColor(this._batchId,e)}},polylinePositions:{get:function(){if(l(this._content.getPolylinePositions))return this._content.getPolylinePositions(this._batchId)}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},featureId:{get:function(){return this._batchId}},pickId:{get:function(){return this._content.batchTable.getPickColor(this._batchId)}}});af.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};af.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};af.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};af.getPropertyInherited=function(e,t,n){let i=e.batchTable;if(l(i)){if(i.hasPropertyBySemantic(t,n))return i.getPropertyBySemantic(t,n);if(i.hasProperty(t,n))return i.getProperty(t,n)}let o=e.metadata;if(l(o)){if(o.hasPropertyBySemantic(n))return o.getPropertyBySemantic(n);if(o.hasProperty(n))return o.getProperty(n)}let r=e.tile,s=r.metadata;if(l(s)){if(s.hasPropertyBySemantic(n))return s.getPropertyBySemantic(n);if(s.hasProperty(n))return s.getProperty(n)}let a;if(l(r.implicitSubtree)&&(a=r.implicitSubtree.metadata),l(a)){if(a.hasPropertyBySemantic(n))return a.getPropertyBySemantic(n);if(a.hasProperty(n))return a.getProperty(n)}let c=l(e.group)?e.group.metadata:void 0;if(l(c)){if(c.hasPropertyBySemantic(n))return c.getPropertyBySemantic(n);if(c.hasProperty(n))return c.getProperty(n)}let u=e.tileset.metadata;if(l(u)){if(u.hasPropertyBySemantic(n))return u.getPropertyBySemantic(n);if(u.hasProperty(n))return u.getProperty(n)}};af.prototype.getPropertyInherited=function(e){return af.getPropertyInherited(this._content,this._batchId,e)};af.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};af.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};af.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};af.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var oa=af;var _9=class{add(t,n,i){if(typeof arguments[0]!="string")for(let o in arguments[0])this.add(o,arguments[0][o],arguments[1]);else(Array.isArray(t)?t:[t]).forEach(function(o){this[o]=this[o]||[],n&&this[o][i?"unshift":"push"](n)},this)}run(t,n){this[t]=this[t]||[],this[t].forEach(function(i){i.call(n&&n.context?n.context:n,n)})}},g9=class{constructor(t){this.jsep=t,this.registered={}}register(...t){t.forEach(n=>{if(typeof n!="object"||!n.name||!n.init)throw new Error("Invalid JSEP plugin format");this.registered[n.name]||(n.init(this.jsep),this.registered[n.name]=n)})}},yl=class e{static get version(){return"1.3.8"}static toString(){return"JavaScript Expression Parser (JSEP) v"+e.version}static addUnaryOp(t){return e.max_unop_len=Math.max(t.length,e.max_unop_len),e.unary_ops[t]=1,e}static addBinaryOp(t,n,i){return e.max_binop_len=Math.max(t.length,e.max_binop_len),e.binary_ops[t]=n,i?e.right_associative.add(t):e.right_associative.delete(t),e}static addIdentifierChar(t){return e.additional_identifier_chars.add(t),e}static addLiteral(t,n){return e.literals[t]=n,e}static removeUnaryOp(t){return delete e.unary_ops[t],t.length===e.max_unop_len&&(e.max_unop_len=e.getMaxKeyLen(e.unary_ops)),e}static removeAllUnaryOps(){return e.unary_ops={},e.max_unop_len=0,e}static removeIdentifierChar(t){return e.additional_identifier_chars.delete(t),e}static removeBinaryOp(t){return delete e.binary_ops[t],t.length===e.max_binop_len&&(e.max_binop_len=e.getMaxKeyLen(e.binary_ops)),e.right_associative.delete(t),e}static removeAllBinaryOps(){return e.binary_ops={},e.max_binop_len=0,e}static removeLiteral(t){return delete e.literals[t],e}static removeAllLiterals(){return e.literals={},e}get char(){return this.expr.charAt(this.index)}get code(){return this.expr.charCodeAt(this.index)}constructor(t){this.expr=t,this.index=0}static parse(t){return new e(t).parse()}static getMaxKeyLen(t){return Math.max(0,...Object.keys(t).map(n=>n.length))}static isDecimalDigit(t){return t>=48&&t<=57}static binaryPrecedence(t){return e.binary_ops[t]||0}static isIdentifierStart(t){return t>=65&&t<=90||t>=97&&t<=122||t>=128&&!e.binary_ops[String.fromCharCode(t)]||e.additional_identifier_chars.has(String.fromCharCode(t))}static isIdentifierPart(t){return e.isIdentifierStart(t)||e.isDecimalDigit(t)}throwError(t){let n=new Error(t+" at character "+this.index);throw n.index=this.index,n.description=t,n}runHook(t,n){if(e.hooks[t]){let i={context:this,node:n};return e.hooks.run(t,i),i.node}return n}searchHook(t){if(e.hooks[t]){let n={context:this};return e.hooks[t].find(function(i){return i.call(n.context,n),n.node}),n.node}}gobbleSpaces(){let t=this.code;for(;t===e.SPACE_CODE||t===e.TAB_CODE||t===e.LF_CODE||t===e.CR_CODE;)t=this.expr.charCodeAt(++this.index);this.runHook("gobble-spaces")}parse(){this.runHook("before-all");let t=this.gobbleExpressions(),n=t.length===1?t[0]:{type:e.COMPOUND,body:t};return this.runHook("after-all",n)}gobbleExpressions(t){let n=[],i,o;for(;this.index<this.expr.length;)if(i=this.code,i===e.SEMCOL_CODE||i===e.COMMA_CODE)this.index++;else if(o=this.gobbleExpression())n.push(o);else if(this.index<this.expr.length){if(i===t)break;this.throwError('Unexpected "'+this.char+'"')}return n}gobbleExpression(){let t=this.searchHook("gobble-expression")||this.gobbleBinaryExpression();return this.gobbleSpaces(),this.runHook("after-expression",t)}gobbleBinaryOp(){this.gobbleSpaces();let t=this.expr.substr(this.index,e.max_binop_len),n=t.length;for(;n>0;){if(e.binary_ops.hasOwnProperty(t)&&(!e.isIdentifierStart(this.code)||this.index+t.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+t.length))))return this.index+=n,t;t=t.substr(0,--n)}return!1}gobbleBinaryExpression(){let t,n,i,o,r,s,a,c,u;if(s=this.gobbleToken(),!s||(n=this.gobbleBinaryOp(),!n))return s;for(r={value:n,prec:e.binaryPrecedence(n),right_a:e.right_associative.has(n)},a=this.gobbleToken(),a||this.throwError("Expected expression after "+n),o=[s,r,a];n=this.gobbleBinaryOp();){if(i=e.binaryPrecedence(n),i===0){this.index-=n.length;break}r={value:n,prec:i,right_a:e.right_associative.has(n)},u=n;let f=d=>r.right_a&&d.right_a?i>d.prec:i<=d.prec;for(;o.length>2&&f(o[o.length-2]);)a=o.pop(),n=o.pop().value,s=o.pop(),t={type:e.BINARY_EXP,operator:n,left:s,right:a},o.push(t);t=this.gobbleToken(),t||this.throwError("Expected expression after "+u),o.push(r,t)}for(c=o.length-1,t=o[c];c>1;)t={type:e.BINARY_EXP,operator:o[c-1].value,left:o[c-2],right:t},c-=2;return t}gobbleToken(){let t,n,i,o;if(this.gobbleSpaces(),o=this.searchHook("gobble-token"),o)return this.runHook("after-token",o);if(t=this.code,e.isDecimalDigit(t)||t===e.PERIOD_CODE)return this.gobbleNumericLiteral();if(t===e.SQUOTE_CODE||t===e.DQUOTE_CODE)o=this.gobbleStringLiteral();else if(t===e.OBRACK_CODE)o=this.gobbleArray();else{for(n=this.expr.substr(this.index,e.max_unop_len),i=n.length;i>0;){if(e.unary_ops.hasOwnProperty(n)&&(!e.isIdentifierStart(this.code)||this.index+n.length<this.expr.length&&!e.isIdentifierPart(this.expr.charCodeAt(this.index+n.length)))){this.index+=i;let r=this.gobbleToken();return r||this.throwError("missing unaryOp argument"),this.runHook("after-token",{type:e.UNARY_EXP,operator:n,argument:r,prefix:!0})}n=n.substr(0,--i)}e.isIdentifierStart(t)?(o=this.gobbleIdentifier(),e.literals.hasOwnProperty(o.name)?o={type:e.LITERAL,value:e.literals[o.name],raw:o.name}:o.name===e.this_str&&(o={type:e.THIS_EXP})):t===e.OPAREN_CODE&&(o=this.gobbleGroup())}return o?(o=this.gobbleTokenProperty(o),this.runHook("after-token",o)):this.runHook("after-token",!1)}gobbleTokenProperty(t){this.gobbleSpaces();let n=this.code;for(;n===e.PERIOD_CODE||n===e.OBRACK_CODE||n===e.OPAREN_CODE||n===e.QUMARK_CODE;){let i;if(n===e.QUMARK_CODE){if(this.expr.charCodeAt(this.index+1)!==e.PERIOD_CODE)break;i=!0,this.index+=2,this.gobbleSpaces(),n=this.code}this.index++,n===e.OBRACK_CODE?(t={type:e.MEMBER_EXP,computed:!0,object:t,property:this.gobbleExpression()},this.gobbleSpaces(),n=this.code,n!==e.CBRACK_CODE&&this.throwError("Unclosed ["),this.index++):n===e.OPAREN_CODE?t={type:e.CALL_EXP,arguments:this.gobbleArguments(e.CPAREN_CODE),callee:t}:(n===e.PERIOD_CODE||i)&&(i&&this.index--,this.gobbleSpaces(),t={type:e.MEMBER_EXP,computed:!1,object:t,property:this.gobbleIdentifier()}),i&&(t.optional=!0),this.gobbleSpaces(),n=this.code}return t}gobbleNumericLiteral(){let t="",n,i;for(;e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(this.code===e.PERIOD_CODE)for(t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);if(n=this.char,n==="e"||n==="E"){for(t+=this.expr.charAt(this.index++),n=this.char,(n==="+"||n==="-")&&(t+=this.expr.charAt(this.index++));e.isDecimalDigit(this.code);)t+=this.expr.charAt(this.index++);e.isDecimalDigit(this.expr.charCodeAt(this.index-1))||this.throwError("Expected exponent ("+t+this.char+")")}return i=this.code,e.isIdentifierStart(i)?this.throwError("Variable names cannot start with a number ("+t+this.char+")"):(i===e.PERIOD_CODE||t.length===1&&t.charCodeAt(0)===e.PERIOD_CODE)&&this.throwError("Unexpected period"),{type:e.LITERAL,value:parseFloat(t),raw:t}}gobbleStringLiteral(){let t="",n=this.index,i=this.expr.charAt(this.index++),o=!1;for(;this.index<this.expr.length;){let r=this.expr.charAt(this.index++);if(r===i){o=!0;break}else if(r==="\\")switch(r=this.expr.charAt(this.index++),r){case"n":t+=` +`;break;case"r":t+="\r";break;case"t":t+=" ";break;case"b":t+="\b";break;case"f":t+="\f";break;case"v":t+="\v";break;default:t+=r}else t+=r}return o||this.throwError('Unclosed quote after "'+t+'"'),{type:e.LITERAL,value:t,raw:this.expr.substring(n,this.index)}}gobbleIdentifier(){let t=this.code,n=this.index;for(e.isIdentifierStart(t)?this.index++:this.throwError("Unexpected "+this.char);this.index<this.expr.length&&(t=this.code,e.isIdentifierPart(t));)this.index++;return{type:e.IDENTIFIER,name:this.expr.slice(n,this.index)}}gobbleArguments(t){let n=[],i=!1,o=0;for(;this.index<this.expr.length;){this.gobbleSpaces();let r=this.code;if(r===t){i=!0,this.index++,t===e.CPAREN_CODE&&o&&o>=n.length&&this.throwError("Unexpected token "+String.fromCharCode(t));break}else if(r===e.COMMA_CODE){if(this.index++,o++,o!==n.length){if(t===e.CPAREN_CODE)this.throwError("Unexpected token ,");else if(t===e.CBRACK_CODE)for(let s=n.length;s<o;s++)n.push(null)}}else if(n.length!==o&&o!==0)this.throwError("Expected comma");else{let s=this.gobbleExpression();(!s||s.type===e.COMPOUND)&&this.throwError("Expected comma"),n.push(s)}}return i||this.throwError("Expected "+String.fromCharCode(t)),n}gobbleGroup(){this.index++;let t=this.gobbleExpressions(e.CPAREN_CODE);if(this.code===e.CPAREN_CODE)return this.index++,t.length===1?t[0]:t.length?{type:e.SEQUENCE_EXP,expressions:t}:!1;this.throwError("Unclosed (")}gobbleArray(){return this.index++,{type:e.ARRAY_EXP,elements:this.gobbleArguments(e.CBRACK_CODE)}}},dFe=new _9;Object.assign(yl,{hooks:dFe,plugins:new g9(yl),COMPOUND:"Compound",SEQUENCE_EXP:"SequenceExpression",IDENTIFIER:"Identifier",MEMBER_EXP:"MemberExpression",LITERAL:"Literal",THIS_EXP:"ThisExpression",CALL_EXP:"CallExpression",UNARY_EXP:"UnaryExpression",BINARY_EXP:"BinaryExpression",ARRAY_EXP:"ArrayExpression",TAB_CODE:9,LF_CODE:10,CR_CODE:13,SPACE_CODE:32,PERIOD_CODE:46,COMMA_CODE:44,SQUOTE_CODE:39,DQUOTE_CODE:34,OPAREN_CODE:40,CPAREN_CODE:41,OBRACK_CODE:91,CBRACK_CODE:93,QUMARK_CODE:63,SEMCOL_CODE:59,COLON_CODE:58,unary_ops:{"-":1,"!":1,"~":1,"+":1},binary_ops:{"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":10,"/":10,"%":10},right_associative:new Set,additional_identifier_chars:new Set(["$","_"]),literals:{true:!0,false:!1,null:null},this_str:"this"});yl.max_unop_len=yl.getMaxKeyLen(yl.unary_ops);yl.max_binop_len=yl.getMaxKeyLen(yl.binary_ops);var lg=e=>new yl(e).parse(),hFe=Object.getOwnPropertyNames(yl);hFe.forEach(e=>{lg[e]===void 0&&e!=="prototype"&&(lg[e]=yl[e])});lg.Jsep=yl;var mFe="ConditionalExpression",pFe={name:"ternary",init(e){e.hooks.add("after-expression",function(n){if(n.node&&this.code===e.QUMARK_CODE){this.index++;let i=n.node,o=this.gobbleExpression();if(o||this.throwError("Expected expression"),this.gobbleSpaces(),this.code===e.COLON_CODE){this.index++;let r=this.gobbleExpression();if(r||this.throwError("Expected expression"),n.node={type:mFe,test:i,consequent:o,alternate:r},i.operator&&e.binary_ops[i.operator]<=.9){let s=i;for(;s.right.operator&&e.binary_ops[s.right.operator]<=.9;)s=s.right;n.node.test=s.right,s.right=n.node,n.node=i}}else this.throwError("Expected :")}})}};lg.plugins.register(pFe);var _Fe={VARIABLE:0,UNARY:1,BINARY:2,TERNARY:3,CONDITIONAL:4,MEMBER:5,FUNCTION_CALL:6,ARRAY:7,REGEX:8,VARIABLE_IN_STRING:9,LITERAL_NULL:10,LITERAL_BOOLEAN:11,LITERAL_NUMBER:12,LITERAL_STRING:13,LITERAL_COLOR:14,LITERAL_VECTOR:15,LITERAL_REGEX:16,LITERAL_UNDEFINED:17,BUILTIN_VARIABLE:18},_t=Object.freeze(_Fe);function hd(e,t){this._expression=e,e=IFe(e,t),e=OFe(PFe(e)),lg.addBinaryOp("=~",0),lg.addBinaryOp("!~",0);let n;try{n=lg(e)}catch(i){throw new se(i)}this._runtimeAst=Ci(this,n)}Object.defineProperties(hd.prototype,{expression:{get:function(){return this._expression}}});var Rn={arrayIndex:0,arrayArray:[[]],cartesian2Index:0,cartesian3Index:0,cartesian4Index:0,cartesian2Array:[new U],cartesian3Array:[new h],cartesian4Array:[new oe],reset:function(){this.arrayIndex=0,this.cartesian2Index=0,this.cartesian3Index=0,this.cartesian4Index=0},getArray:function(){this.arrayIndex>=this.arrayArray.length&&this.arrayArray.push([]);let e=this.arrayArray[this.arrayIndex++];return e.length=0,e},getCartesian2:function(){return this.cartesian2Index>=this.cartesian2Array.length&&this.cartesian2Array.push(new U),this.cartesian2Array[this.cartesian2Index++]},getCartesian3:function(){return this.cartesian3Index>=this.cartesian3Array.length&&this.cartesian3Array.push(new h),this.cartesian3Array[this.cartesian3Index++]},getCartesian4:function(){return this.cartesian4Index>=this.cartesian4Array.length&&this.cartesian4Array.push(new oe),this.cartesian4Array[this.cartesian4Index++]}};hd.prototype.evaluate=function(e,t){Rn.reset();let n=this._runtimeAst.evaluate(e);return t instanceof z&&n instanceof oe?z.fromCartesian4(n,t):n instanceof U||n instanceof h||n instanceof oe?n.clone(t):n};hd.prototype.evaluateColor=function(e,t){Rn.reset();let n=this._runtimeAst.evaluate(e);return z.fromCartesian4(n,t)};hd.prototype.getShaderFunction=function(e,t,n,i){let o=this.getShaderExpression(t,n);return o=`${i} ${e} { return ${o}; } -`,o};ld.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};ld.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var tFe=["!","-","+"],Lne=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],QL=/\${(.*?)}/g,nFe=/\\/g,iFe="@#%",oFe=/@#%/g,JL=new H,eN={abs:Ns(Math.abs),sqrt:Ns(Math.sqrt),cos:Ns(Math.cos),sin:Ns(Math.sin),tan:Ns(Math.tan),acos:Ns(Math.acos),asin:Ns(Math.asin),atan:Ns(Math.atan),radians:Ns(P.toRadians),degrees:Ns(P.toDegrees),sign:Ns(P.sign),floor:Ns(Math.floor),ceil:Ns(Math.ceil),round:Ns(Math.round),exp:Ns(Math.exp),exp2:Ns(sFe),log:Ns(Math.log),log2:Ns(aFe),fract:Ns(rFe),length:cFe,normalize:lFe},tN={atan2:$L(Math.atan2,!1),pow:$L(Math.pow,!1),min:$L(Math.min,!0),max:$L(Math.max,!0),distance:uFe,dot:fFe,cross:dFe},d9={clamp:Nne(P.clamp,!0),mix:Nne(P.lerp,!0)};function rFe(e){return e-Math.floor(e)}function sFe(e){return Math.pow(2,e)}function aFe(e){return P.log2(e)}function Ns(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof U)return U.fromElements(e(n.x),e(n.y),On.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),On.getCartesian3());if(n instanceof oe)return oe.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),On.getCartesian4());throw new ce(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function $L(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof U)return U.fromElements(e(i.x,o),e(i.y,o),On.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),On.getCartesian3());if(i instanceof oe)return oe.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),On.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof U&&o instanceof U)return U.fromElements(e(i.x,o.x),e(i.y,o.y),On.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),On.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),On.getCartesian4());throw new ce(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function Nne(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof U&&o instanceof U)return U.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),On.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),On.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),On.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof U&&o instanceof U&&r instanceof U)return U.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),On.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),On.getCartesian3());if(i instanceof oe&&o instanceof oe&&r instanceof oe)return oe.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),On.getCartesian4());throw new ce(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function cFe(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof U)return U.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof oe)return oe.magnitude(t);throw new ce(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function lFe(e,t){if(typeof t=="number")return 1;if(t instanceof U)return U.normalize(t,On.getCartesian2());if(t instanceof h)return h.normalize(t,On.getCartesian3());if(t instanceof oe)return oe.normalize(t,On.getCartesian4());throw new ce(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function uFe(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof U&&n instanceof U)return U.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof oe&&n instanceof oe)return oe.distance(t,n);throw new ce(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function fFe(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof U&&n instanceof U)return U.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof oe&&n instanceof oe)return oe.dot(t,n);throw new ce(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function dFe(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,On.getCartesian3());throw new ce(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function bt(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,SFe(this)}function hFe(e,t){if(!l(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;l(o)&&(e=e.replace(i,o))}return e}function mFe(e){return e.replace(nFe,iFe)}function f9(e){return e.replace(oFe,"\\")}function pFe(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o<i)s=t.indexOf("'",o+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else if(r>=0&&r<i)s=t.indexOf('"',r+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else{n+=t.substr(0,i);let a=t.indexOf("}");if(a<0)throw new ce("Unmatched {.");n+=`czm_${t.substr(i+2,a-(i+2))}`,t=t.substr(a+1),i=t.indexOf("${")}}return n+=t,n}function _Fe(e){let t=typeof e.value;if(e.value===null)return new bt(pt.LITERAL_NULL,null);if(t==="boolean")return new bt(pt.LITERAL_BOOLEAN,e.value);if(t==="number")return new bt(pt.LITERAL_NUMBER,e.value);if(t==="string")return e.value.indexOf("${")>=0?new bt(pt.VARIABLE_IN_STRING,e.value):new bt(pt.LITERAL_STRING,f9(e.value))}function gFe(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(!l(c.callee)||c.callee.name!=="regExp")throw new ce(`${o} is not a function.`);return i===0?o==="test"?new bt(pt.LITERAL_BOOLEAN,!1):new bt(pt.LITERAL_NULL,null):(s=xi(e,c),a=xi(e,n[0]),new bt(pt.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=xi(e,c),new bt(pt.FUNCTION_CALL,o,r);throw new ce(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new bt(pt.LITERAL_COLOR,o);if(r=xi(e,n[0]),l(n[1])){let c=xi(e,n[1]);return new bt(pt.LITERAL_COLOR,o,[r,c])}return new bt(pt.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new ce(`${o} requires three arguments.`);return r=[xi(e,n[0]),xi(e,n[1]),xi(e,n[2])],new bt(pt.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new ce(`${o} requires four arguments.`);return r=[xi(e,n[0]),xi(e,n[1]),xi(e,n[2]),xi(e,n[3])],new bt(pt.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c<i;++c)r[c]=xi(e,n[c]);return new bt(pt.LITERAL_VECTOR,o,r)}else{if(o==="isNaN"||o==="isFinite")return i===0?o==="isNaN"?new bt(pt.LITERAL_BOOLEAN,!0):new bt(pt.LITERAL_BOOLEAN,!1):(r=xi(e,n[0]),new bt(pt.UNARY,o,r));if(o==="isExactClass"||o==="isClass"){if(i<1||i>1)throw new ce(`${o} requires exactly one argument.`);return r=xi(e,n[0]),new bt(pt.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new ce(`${o} does not take any argument.`);return new bt(pt.UNARY,o)}else if(l(eN[o])){if(i!==1)throw new ce(`${o} requires exactly one argument.`);return r=xi(e,n[0]),new bt(pt.UNARY,o,r)}else if(l(tN[o])){if(i!==2)throw new ce(`${o} requires exactly two arguments.`);return s=xi(e,n[0]),a=xi(e,n[1]),new bt(pt.BINARY,o,s,a)}else if(l(d9[o])){if(i!==3)throw new ce(`${o} requires exactly three arguments.`);s=xi(e,n[0]),a=xi(e,n[1]);let c=xi(e,n[2]);return new bt(pt.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new bt(pt.LITERAL_BOOLEAN,!1):(r=xi(e,n[0]),new bt(pt.UNARY,o,r));if(o==="Number")return i===0?new bt(pt.LITERAL_NUMBER,0):(r=xi(e,n[0]),new bt(pt.UNARY,o,r));if(o==="String")return i===0?new bt(pt.LITERAL_STRING,""):(r=xi(e,n[0]),new bt(pt.UNARY,o,r));if(o==="regExp")return yFe(e,t)}}throw new ce(`Unexpected function call "${o}".`)}function yFe(e,t){let n=t.arguments;if(n.length===0)return new bt(pt.LITERAL_REGEX,new RegExp);let i=xi(e,n[0]),o;if(n.length>1){let r=xi(e,n[1]);if(u9(i)&&u9(r)){try{o=new RegExp(f9(String(i._value)),r._value)}catch(s){throw new ce(s)}return new bt(pt.LITERAL_REGEX,o)}return new bt(pt.REGEX,i,r)}if(u9(i)){try{o=new RegExp(f9(String(i._value)))}catch(r){throw new ce(r)}return new bt(pt.LITERAL_REGEX,o)}return new bt(pt.REGEX,i)}function xFe(e){if(AFe(e.name)){let t=EFe(e.name);return t.substr(0,8)==="tiles3d_"?new bt(pt.BUILTIN_VARIABLE,t):new bt(pt.VARIABLE,t)}else{if(e.name==="NaN")return new bt(pt.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new bt(pt.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new bt(pt.LITERAL_UNDEFINED,void 0)}throw new ce(`${e.name} is not defined.`)}function bFe(e){let t=e.property.name;if(t==="PI")return new bt(pt.LITERAL_NUMBER,Math.PI);if(t==="E")return new bt(pt.LITERAL_NUMBER,Math.E)}function TFe(e){if(e.property.name==="POSITIVE_INFINITY")return new bt(pt.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function CFe(e,t){if(t.object.name==="Math")return bFe(t);if(t.object.name==="Number")return TFe(t);let n,i=xi(e,t.object);return t.computed?(n=xi(e,t.property),new bt(pt.MEMBER,"brackets",i,n)):(n=new bt(pt.LITERAL_STRING,t.property.name),new bt(pt.MEMBER,"dot",i,n))}function u9(e){return e._type>=pt.LITERAL_NULL}function AFe(e){return e.substr(0,4)==="czm_"}function EFe(e){return e.substr(4)}function xi(e,t){let n,i,o,r;if(t.type==="Literal")n=_Fe(t);else if(t.type==="CallExpression")n=gFe(e,t);else if(t.type==="Identifier")n=xFe(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=xi(e,t.argument);if(tFe.indexOf(i)>-1)n=new bt(pt.UNARY,i,s);else throw new ce(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=xi(e,t.left),r=xi(e,t.right),Lne.indexOf(i)>-1)n=new bt(pt.BINARY,i,o,r);else throw new ce(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=xi(e,t.left),r=xi(e,t.right),Lne.indexOf(i)>-1&&(n=new bt(pt.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=xi(e,t.test);o=xi(e,t.consequent),r=xi(e,t.alternate),n=new bt(pt.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=CFe(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a<t.elements.length;a++)s[a]=xi(e,t.elements[a]);n=new bt(pt.ARRAY,s)}else throw t.type==="Compound"?new ce("Provide exactly one expression."):new ce("Cannot parse expression.");return n}function SFe(e){e._type===pt.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===pt.FUNCTION_CALL?e._value==="test"?e.evaluate=e._evaluateRegExpTest:e._value==="exec"?e.evaluate=e._evaluateRegExpExec:e._value==="toString"&&(e.evaluate=e._evaluateToString):e._type===pt.UNARY?e._value==="!"?e.evaluate=e._evaluateNot:e._value==="-"?e.evaluate=e._evaluateNegative:e._value==="+"?e.evaluate=e._evaluatePositive:e._value==="isNaN"?e.evaluate=e._evaluateNaN:e._value==="isFinite"?e.evaluate=e._evaluateIsFinite:e._value==="isExactClass"?e.evaluate=e._evaluateIsExactClass:e._value==="isClass"?e.evaluate=e._evaluateIsClass:e._value==="getExactClassName"?e.evaluate=e._evaluateGetExactClassName:e._value==="Boolean"?e.evaluate=e._evaluateBooleanConversion:e._value==="Number"?e.evaluate=e._evaluateNumberConversion:e._value==="String"?e.evaluate=e._evaluateStringConversion:l(eN[e._value])&&(e.evaluate=vFe(e._value)):e._type===pt.BINARY?e._value==="+"?e.evaluate=e._evaluatePlus:e._value==="-"?e.evaluate=e._evaluateMinus:e._value==="*"?e.evaluate=e._evaluateTimes:e._value==="/"?e.evaluate=e._evaluateDivide:e._value==="%"?e.evaluate=e._evaluateMod:e._value==="==="?e.evaluate=e._evaluateEqualsStrict:e._value==="!=="?e.evaluate=e._evaluateNotEqualsStrict:e._value==="<"?e.evaluate=e._evaluateLessThan:e._value==="<="?e.evaluate=e._evaluateLessThanOrEquals:e._value===">"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:l(tN[e._value])&&(e.evaluate=DFe(e._value)):e._type===pt.TERNARY?e.evaluate=IFe(e._value):e._type===pt.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===pt.ARRAY?e.evaluate=e._evaluateArray:e._type===pt.VARIABLE?e.evaluate=e._evaluateVariable:e._type===pt.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===pt.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===pt.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===pt.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===pt.REGEX?e.evaluate=e._evaluateRegExp:e._type===pt.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=wFe):e.evaluate=e._evaluateLiteral}function wFe(e){return l(e)?e.content.tileset.timeSinceLoad:0}function vFe(e){let t=eN[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function DFe(e){let t=tN[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function IFe(e){let t=d9[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function nN(e,t){if(l(e))return e.getPropertyInherited(t)}bt.prototype._evaluateLiteral=function(){return this._value};bt.prototype._evaluateLiteralColor=function(e){let t=JL,n=this._left;if(this._value==="color")l(n)?n.length>1?(H.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):H.fromCssColorString(n[0].evaluate(e),t):H.fromBytes(255,255,255,255,t);else if(this._value==="rgb")H.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;H.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?H.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&H.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return oe.fromColor(t,On.getCartesian4())};bt.prototype._evaluateLiteralVector=function(e){let t=On.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a<o;++a){let c=i[a].evaluate(e);if(typeof c=="number")t.push(c);else if(c instanceof U)t.push(c.x,c.y);else if(c instanceof h)t.push(c.x,c.y,c.z);else if(c instanceof oe)t.push(c.x,c.y,c.z,c.w);else throw new ce(`${n} argument must be a vector or number. Argument is ${c}.`)}let r=t.length,s=parseInt(n.charAt(3));if(r===0)throw new ce(`Invalid ${n} constructor. No valid arguments.`);if(r<s&&r>1)throw new ce(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new ce(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return U.fromArray(t,0,On.getCartesian2());if(n==="vec3")return h.fromArray(t,0,On.getCartesian3());if(n==="vec4")return oe.fromArray(t,0,On.getCartesian4())};bt.prototype._evaluateLiteralString=function(){return this._value};bt.prototype._evaluateVariableString=function(e){let t=this._value,n=QL.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=nN(e,o);l(r)||(r=""),t=t.replace(i,r),n=QL.exec(t)}return t};bt.prototype._evaluateVariable=function(e){return nN(e,this._value)};function $0(e){return e._value==="feature"}bt.prototype._evaluateMemberDot=function(e){if($0(this._left))return nN(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof U||t instanceof h||t instanceof oe){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};bt.prototype._evaluateMemberBrackets=function(e){if($0(this._left))return nN(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof U||t instanceof h||t instanceof oe){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};bt.prototype._evaluateArray=function(e){let t=[];for(let n=0;n<this._value.length;n++)t[n]=this._value[n].evaluate(e);return t};bt.prototype._evaluateNot=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "!" requires a boolean argument. Argument is ${t}.`);return!t};bt.prototype._evaluateNegative=function(e){let t=this._left.evaluate(e);if(t instanceof U)return U.negate(t,On.getCartesian2());if(t instanceof h)return h.negate(t,On.getCartesian3());if(t instanceof oe)return oe.negate(t,On.getCartesian4());if(typeof t=="number")return-t;throw new ce(`Operator "-" requires a vector or number argument. Argument is ${t}.`)};bt.prototype._evaluatePositive=function(e){let t=this._left.evaluate(e);if(!(t instanceof U||t instanceof h||t instanceof oe||typeof t=="number"))throw new ce(`Operator "+" requires a vector or number argument. Argument is ${t}.`);return t};bt.prototype._evaluateLessThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator "<" requires number arguments. Arguments are ${t} and ${n}.`);return t<n};bt.prototype._evaluateLessThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator "<=" requires number arguments. Arguments are ${t} and ${n}.`);return t<=n};bt.prototype._evaluateGreaterThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator ">" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};bt.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new ce(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};bt.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ce(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};bt.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new ce(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new ce(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};bt.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.add(t,n,On.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,On.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.add(t,n,On.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new ce(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};bt.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.subtract(t,n,On.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,On.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.subtract(t,n,On.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new ce(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};bt.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.multiplyComponents(t,n,On.getCartesian2());if(n instanceof U&&typeof t=="number")return U.multiplyByScalar(n,t,On.getCartesian2());if(t instanceof U&&typeof n=="number")return U.multiplyByScalar(t,n,On.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,On.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,On.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,On.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.multiplyComponents(t,n,On.getCartesian4());if(n instanceof oe&&typeof t=="number")return oe.multiplyByScalar(n,t,On.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.multiplyByScalar(t,n,On.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new ce(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};bt.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.divideComponents(t,n,On.getCartesian2());if(t instanceof U&&typeof n=="number")return U.divideByScalar(t,n,On.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,On.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,On.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.divideComponents(t,n,On.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.divideByScalar(t,n,On.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new ce(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};bt.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.fromElements(t.x%n.x,t.y%n.y,On.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,On.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,On.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new ce(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};bt.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof U&&t instanceof U||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?t.equals(n):t===n};bt.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof U&&t instanceof U||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?!t.equals(n):t!==n};bt.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new ce(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};bt.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};bt.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};bt.prototype._evaluateIsExactClass=function(e){return l(e)?e.isExactClass(this._left.evaluate(e)):!1};bt.prototype._evaluateIsClass=function(e){return l(e)?e.isClass(this._left.evaluate(e)):!1};bt.prototype._evaluateGetExactClassName=function(e){if(l(e))return e.getExactClassName()};bt.prototype._evaluateBooleanConversion=function(e){return!!this._left.evaluate(e)};bt.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};bt.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};bt.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";l(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new ce(o)}return i};bt.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ce(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};bt.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new ce(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};bt.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new ce(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};bt.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new ce(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return l(i)?i[1]:null};bt.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof U||t instanceof h||t instanceof oe)return String(t);throw new ce(`Unexpected function call "${this._value}".`)};function Fne(e){let t=e._left,n=t.length;for(let a=0;a<n;++a)if(t[a]._type!==pt.LITERAL_NUMBER)return;let i=t[0]._value,o=t[1]._value,r=t[2]._value,s=n===4?t[3]._value:1;return H.fromHsl(i,o,r,s,JL)}function Bne(e){let t=e._left,n=t.length;for(let o=0;o<n;++o)if(t[o]._type!==pt.LITERAL_NUMBER)return;let i=JL;return i.red=t[0]._value/255,i.green=t[1]._value/255,i.blue=t[2]._value/255,i.alpha=n===4?t[3]._value:1,i}function rg(e){return e%1===0?e.toFixed(1):e.toString()}function PFe(e){let t=rg(e.red),n=rg(e.green),i=rg(e.blue);return`vec3(${t}, ${n}, ${i})`}function ZL(e){let t=rg(e.red),n=rg(e.green),i=rg(e.blue),o=rg(e.alpha);return`vec4(${t}, ${n}, ${i}, ${o})`}function kne(e,t,n,i){let o=e.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=e[s].getShaderExpression(t,n,i);return r}function Vne(e,t){return l(t[e])?t[e]:ld.NULL_SENTINEL}ld.NULL_SENTINEL="czm_infinity";bt.prototype.getShaderExpression=function(e,t,n){let i,o,r,s,a=this._type,c=this._value;l(this._left)&&(Array.isArray(this._left)?o=kne(this._left,e,t,this):o=this._left.getShaderExpression(e,t,this)),l(this._right)&&(r=this._right.getShaderExpression(e,t,this)),l(this._test)&&(s=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(c=kne(this._value,e,t,this));let u,f,d;switch(a){case pt.VARIABLE:return $0(this)?void 0:Vne(c,e);case pt.UNARY:if(c==="Boolean")return`bool(${o})`;if(c==="Number")return`float(${o})`;if(c==="round")return`floor(${o} + 0.5)`;if(l(eN[c]))return`${c}(${o})`;if(c==="isNaN")return`(${o} != ${o})`;if(c==="isFinite")return`(abs(${o}) < czm_infinity)`;if(c==="String"||c==="isExactClass"||c==="isClass"||c==="getExactClassName")throw new ce(`Error generating style shader: "${c}" is not supported.`);return c+o;case pt.BINARY:return c==="%"?`mod(${o}, ${r})`:c==="==="?`(${o} == ${r})`:c==="!=="?`(${o} != ${r})`:c==="atan2"?`atan(${o}, ${r})`:l(tN[c])?`${c}(${o}, ${r})`:`(${o} ${c} ${r})`;case pt.TERNARY:if(l(d9[c]))return`${c}(${o}, ${r}, ${s})`;break;case pt.CONDITIONAL:return`(${s} ? ${o} : ${r})`;case pt.MEMBER:return $0(this._left)?Vne(r,e):r==="r"||r==="x"||r==="0.0"?`${o}[0]`:r==="g"||r==="y"||r==="1.0"?`${o}[1]`:r==="b"||r==="z"||r==="2.0"?`${o}[2]`:r==="a"||r==="w"||r==="3.0"?`${o}[3]`:`${o}[int(${r})]`;case pt.FUNCTION_CALL:throw new ce(`Error generating style shader: "${c}" is not supported.`);case pt.ARRAY:if(c.length===4)return`vec4(${c[0]}, ${c[1]}, ${c[2]}, ${c[3]})`;if(c.length===3)return`vec3(${c[0]}, ${c[1]}, ${c[2]})`;if(c.length===2)return`vec2(${c[0]}, ${c[1]})`;throw new ce("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case pt.REGEX:throw new ce("Error generating style shader: Regular expressions are not supported.");case pt.VARIABLE_IN_STRING:throw new ce("Error generating style shader: Converting a variable to a string is not supported.");case pt.LITERAL_NULL:return ld.NULL_SENTINEL;case pt.LITERAL_BOOLEAN:return c?"true":"false";case pt.LITERAL_NUMBER:return rg(c);case pt.LITERAL_STRING:if(l(n)&&n._type===pt.MEMBER&&(c==="r"||c==="g"||c==="b"||c==="a"||c==="x"||c==="y"||c==="z"||c==="w"||$0(n._left)))return c;if(i=H.fromCssColorString(c,JL),l(i))return PFe(i);throw new ce("Error generating style shader: String literals are not supported.");case pt.LITERAL_COLOR:if(u=o,c==="color"){if(l(u)){if(u.length>1){let p=u[0],g=u[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${u[0]}, 1.0)`}else{if(c==="rgb")return i=Bne(this),l(i)?ZL(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, 1.0)`;if(c==="rgba")return u[3]!=="1.0"&&(t.translucent=!0),i=Bne(this),l(i)?ZL(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, ${u[3]})`;if(c==="hsl")return i=Fne(this),l(i)?ZL(i):`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), 1.0)`;if(c==="hsla")return i=Fne(this),l(i)?(i.alpha!==1&&(t.translucent=!0),ZL(i)):(u[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), ${u[3]})`)}break;case pt.LITERAL_VECTOR:f=o.length,d=`${c}(`;for(let p=0;p<f;++p)d+=o[p],p<f-1&&(d+=", ");return d+=")",d;case pt.LITERAL_REGEX:throw new ce("Error generating style shader: Regular expressions are not supported.");case pt.LITERAL_UNDEFINED:return ld.NULL_SENTINEL;case pt.BUILTIN_VARIABLE:if(c==="tiles3d_tileset_time")return c}};bt.prototype.getVariables=function(e,t){let n,i,o,r=this._type,s=this._value;if(l(this._left))if(Array.isArray(this._left))for(n=this._left,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);else this._left.getVariables(e,this);if(l(this._right)&&this._right.getVariables(e,this),l(this._test)&&this._test.getVariables(e,this),Array.isArray(this._value))for(n=this._value,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);let a;switch(r){case pt.VARIABLE:$0(this)||e.push(s);break;case pt.VARIABLE_IN_STRING:for(a=QL.exec(s);a!==null;)e.push(a[1]),a=QL.exec(s);break;case pt.LITERAL_STRING:l(t)&&t._type===pt.MEMBER&&$0(t._left)&&e.push(s);break}};var ud=ld;function yp(e){e=y(e,y.EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=y(e.center,h.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=y(e.classificationType,Vn.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};let t=this._batchIds.length;for(let n=0;n<t;++n){let i=this._batchIds[n];this._batchIdLookUp[i]=n}}Object.defineProperties(yp.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});var RFe={position:0,a_batchId:1};function OFe(e,t){if(l(e._va))return;let n=yt.createVertexBuffer({context:t,typedArray:e._positions,usage:Ve.STATIC_DRAW}),i=yt.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:Ve.STATIC_DRAW}),o=yt.createIndexBuffer({context:t,typedArray:e._indices,usage:Ve.DYNAMIC_DRAW,indexDatatype:e._indices.BYTES_PER_ELEMENT===2?Be.UNSIGNED_SHORT:Be.UNSIGNED_INT}),r=[{index:0,vertexBuffer:n,componentDatatype:X.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:i,componentDatatype:X.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}];e._va=new di({context:t,attributes:r,indexBuffer:o}),t.webgl2&&(e._vaSwap=new di({context:t,attributes:r,indexBuffer:yt.createIndexBuffer({context:t,sizeInBytes:o.sizeInBytes,usage:Ve.DYNAMIC_DRAW,indexDatatype:o.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0}function MFe(e,t){if(l(e._sp))return;let n=e._batchTable,i=y(e._attributeLocations,RFe),o=e._pickId,r=e._vertexShaderSource,s=e._fragmentShaderSource;if(l(r)){e._sp=sn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i}),e._spStencil=e._sp,s=Ge.replaceMain(s,"czm_non_pick_main"),s=`${s}void main() +`,o};hd.prototype.getShaderExpression=function(e,t){return this._runtimeAst.getShaderExpression(e,t)};hd.prototype.getVariables=function(){let e=[];return this._runtimeAst.getVariables(e),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var gFe=["!","-","+"],jne=["+","-","*","/","%","===","!==",">",">=","<","<=","&&","||","!~","=~"],tN=/\${(.*?)}/g,yFe=/\\/g,xFe="@#%",bFe=/@#%/g,nN=new z,iN={abs:Vs(Math.abs),sqrt:Vs(Math.sqrt),cos:Vs(Math.cos),sin:Vs(Math.sin),tan:Vs(Math.tan),acos:Vs(Math.acos),asin:Vs(Math.asin),atan:Vs(Math.atan),radians:Vs(P.toRadians),degrees:Vs(P.toDegrees),sign:Vs(P.sign),floor:Vs(Math.floor),ceil:Vs(Math.ceil),round:Vs(Math.round),exp:Vs(Math.exp),exp2:Vs(CFe),log:Vs(Math.log),log2:Vs(AFe),fract:Vs(TFe),length:EFe,normalize:SFe},oN={atan2:JL(Math.atan2,!1),pow:JL(Math.pow,!1),min:JL(Math.min,!0),max:JL(Math.max,!0),distance:vFe,dot:wFe,cross:DFe},b9={clamp:qne(P.clamp,!0),mix:qne(P.lerp,!0)};function TFe(e){return e-Math.floor(e)}function CFe(e){return Math.pow(2,e)}function AFe(e){return P.log2(e)}function Vs(e){return function(t,n){if(typeof n=="number")return e(n);if(n instanceof U)return U.fromElements(e(n.x),e(n.y),Rn.getCartesian2());if(n instanceof h)return h.fromElements(e(n.x),e(n.y),e(n.z),Rn.getCartesian3());if(n instanceof oe)return oe.fromElements(e(n.x),e(n.y),e(n.z),e(n.w),Rn.getCartesian4());throw new se(`Function "${t}" requires a vector or number argument. Argument is ${n}.`)}}function JL(e,t){return function(n,i,o){if(t&&typeof o=="number"){if(typeof i=="number")return e(i,o);if(i instanceof U)return U.fromElements(e(i.x,o),e(i.y,o),Rn.getCartesian2());if(i instanceof h)return h.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),Rn.getCartesian3());if(i instanceof oe)return oe.fromElements(e(i.x,o),e(i.y,o),e(i.z,o),e(i.w,o),Rn.getCartesian4())}if(typeof i=="number"&&typeof o=="number")return e(i,o);if(i instanceof U&&o instanceof U)return U.fromElements(e(i.x,o.x),e(i.y,o.y),Rn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),Rn.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x),e(i.y,o.y),e(i.z,o.z),e(i.w,o.w),Rn.getCartesian4());throw new se(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i} and ${o}.`)}}function qne(e,t){return function(n,i,o,r){if(t&&typeof r=="number"){if(typeof i=="number"&&typeof o=="number")return e(i,o,r);if(i instanceof U&&o instanceof U)return U.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),Rn.getCartesian2());if(i instanceof h&&o instanceof h)return h.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),Rn.getCartesian3());if(i instanceof oe&&o instanceof oe)return oe.fromElements(e(i.x,o.x,r),e(i.y,o.y,r),e(i.z,o.z,r),e(i.w,o.w,r),Rn.getCartesian4())}if(typeof i=="number"&&typeof o=="number"&&typeof r=="number")return e(i,o,r);if(i instanceof U&&o instanceof U&&r instanceof U)return U.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),Rn.getCartesian2());if(i instanceof h&&o instanceof h&&r instanceof h)return h.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),Rn.getCartesian3());if(i instanceof oe&&o instanceof oe&&r instanceof oe)return oe.fromElements(e(i.x,o.x,r.x),e(i.y,o.y,r.y),e(i.z,o.z,r.z),e(i.w,o.w,r.w),Rn.getCartesian4());throw new se(`Function "${n}" requires vector or number arguments of matching types. Arguments are ${i}, ${o}, and ${r}.`)}}function EFe(e,t){if(typeof t=="number")return Math.abs(t);if(t instanceof U)return U.magnitude(t);if(t instanceof h)return h.magnitude(t);if(t instanceof oe)return oe.magnitude(t);throw new se(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function SFe(e,t){if(typeof t=="number")return 1;if(t instanceof U)return U.normalize(t,Rn.getCartesian2());if(t instanceof h)return h.normalize(t,Rn.getCartesian3());if(t instanceof oe)return oe.normalize(t,Rn.getCartesian4());throw new se(`Function "${e}" requires a vector or number argument. Argument is ${t}.`)}function vFe(e,t,n){if(typeof t=="number"&&typeof n=="number")return Math.abs(t-n);if(t instanceof U&&n instanceof U)return U.distance(t,n);if(t instanceof h&&n instanceof h)return h.distance(t,n);if(t instanceof oe&&n instanceof oe)return oe.distance(t,n);throw new se(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function wFe(e,t,n){if(typeof t=="number"&&typeof n=="number")return t*n;if(t instanceof U&&n instanceof U)return U.dot(t,n);if(t instanceof h&&n instanceof h)return h.dot(t,n);if(t instanceof oe&&n instanceof oe)return oe.dot(t,n);throw new se(`Function "${e}" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)}function DFe(e,t,n){if(t instanceof h&&n instanceof h)return h.cross(t,n,Rn.getCartesian3());throw new se(`Function "${e}" requires vec3 arguments. Arguments are ${t} and ${n}.`)}function At(e,t,n,i,o){this._type=e,this._value=t,this._left=n,this._right=i,this._test=o,this.evaluate=void 0,zFe(this)}function IFe(e,t){if(!l(t))return e;for(let n in t)if(t.hasOwnProperty(n)){let i=new RegExp(`\\$\\{${n}\\}`,"g"),o=`(${t[n]})`;l(o)&&(e=e.replace(i,o))}return e}function PFe(e){return e.replace(yFe,xFe)}function x9(e){return e.replace(bFe,"\\")}function OFe(e){let t=e,n="",i=t.indexOf("${");for(;i>=0;){let o=t.indexOf("'"),r=t.indexOf('"'),s;if(o>=0&&o<i)s=t.indexOf("'",o+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else if(r>=0&&r<i)s=t.indexOf('"',r+1),n+=t.substr(0,s+1),t=t.substr(s+1),i=t.indexOf("${");else{n+=t.substr(0,i);let a=t.indexOf("}");if(a<0)throw new se("Unmatched {.");n+=`czm_${t.substr(i+2,a-(i+2))}`,t=t.substr(a+1),i=t.indexOf("${")}}return n+=t,n}function RFe(e){let t=typeof e.value;if(e.value===null)return new At(_t.LITERAL_NULL,null);if(t==="boolean")return new At(_t.LITERAL_BOOLEAN,e.value);if(t==="number")return new At(_t.LITERAL_NUMBER,e.value);if(t==="string")return e.value.indexOf("${")>=0?new At(_t.VARIABLE_IN_STRING,e.value):new At(_t.LITERAL_STRING,x9(e.value))}function MFe(e,t){let n=t.arguments,i=n.length,o,r,s,a;if(t.callee.type==="MemberExpression"){o=t.callee.property.name;let c=t.callee.object;if(o==="test"||o==="exec"){if(!l(c.callee)||c.callee.name!=="regExp")throw new se(`${o} is not a function.`);return i===0?o==="test"?new At(_t.LITERAL_BOOLEAN,!1):new At(_t.LITERAL_NULL,null):(s=Ci(e,c),a=Ci(e,n[0]),new At(_t.FUNCTION_CALL,o,s,a))}else if(o==="toString")return r=Ci(e,c),new At(_t.FUNCTION_CALL,o,r);throw new se(`Unexpected function call "${o}".`)}if(o=t.callee.name,o==="color"){if(i===0)return new At(_t.LITERAL_COLOR,o);if(r=Ci(e,n[0]),l(n[1])){let c=Ci(e,n[1]);return new At(_t.LITERAL_COLOR,o,[r,c])}return new At(_t.LITERAL_COLOR,o,[r])}else if(o==="rgb"||o==="hsl"){if(i<3)throw new se(`${o} requires three arguments.`);return r=[Ci(e,n[0]),Ci(e,n[1]),Ci(e,n[2])],new At(_t.LITERAL_COLOR,o,r)}else if(o==="rgba"||o==="hsla"){if(i<4)throw new se(`${o} requires four arguments.`);return r=[Ci(e,n[0]),Ci(e,n[1]),Ci(e,n[2]),Ci(e,n[3])],new At(_t.LITERAL_COLOR,o,r)}else if(o==="vec2"||o==="vec3"||o==="vec4"){r=new Array(i);for(let c=0;c<i;++c)r[c]=Ci(e,n[c]);return new At(_t.LITERAL_VECTOR,o,r)}else{if(o==="isNaN"||o==="isFinite")return i===0?o==="isNaN"?new At(_t.LITERAL_BOOLEAN,!0):new At(_t.LITERAL_BOOLEAN,!1):(r=Ci(e,n[0]),new At(_t.UNARY,o,r));if(o==="isExactClass"||o==="isClass"){if(i<1||i>1)throw new se(`${o} requires exactly one argument.`);return r=Ci(e,n[0]),new At(_t.UNARY,o,r)}else if(o==="getExactClassName"){if(i>0)throw new se(`${o} does not take any argument.`);return new At(_t.UNARY,o)}else if(l(iN[o])){if(i!==1)throw new se(`${o} requires exactly one argument.`);return r=Ci(e,n[0]),new At(_t.UNARY,o,r)}else if(l(oN[o])){if(i!==2)throw new se(`${o} requires exactly two arguments.`);return s=Ci(e,n[0]),a=Ci(e,n[1]),new At(_t.BINARY,o,s,a)}else if(l(b9[o])){if(i!==3)throw new se(`${o} requires exactly three arguments.`);s=Ci(e,n[0]),a=Ci(e,n[1]);let c=Ci(e,n[2]);return new At(_t.TERNARY,o,s,a,c)}else{if(o==="Boolean")return i===0?new At(_t.LITERAL_BOOLEAN,!1):(r=Ci(e,n[0]),new At(_t.UNARY,o,r));if(o==="Number")return i===0?new At(_t.LITERAL_NUMBER,0):(r=Ci(e,n[0]),new At(_t.UNARY,o,r));if(o==="String")return i===0?new At(_t.LITERAL_STRING,""):(r=Ci(e,n[0]),new At(_t.UNARY,o,r));if(o==="regExp")return LFe(e,t)}}throw new se(`Unexpected function call "${o}".`)}function LFe(e,t){let n=t.arguments;if(n.length===0)return new At(_t.LITERAL_REGEX,new RegExp);let i=Ci(e,n[0]),o;if(n.length>1){let r=Ci(e,n[1]);if(y9(i)&&y9(r)){try{o=new RegExp(x9(String(i._value)),r._value)}catch(s){throw new se(s)}return new At(_t.LITERAL_REGEX,o)}return new At(_t.REGEX,i,r)}if(y9(i)){try{o=new RegExp(x9(String(i._value)))}catch(r){throw new se(r)}return new At(_t.LITERAL_REGEX,o)}return new At(_t.REGEX,i)}function NFe(e){if(VFe(e.name)){let t=UFe(e.name);return t.substr(0,8)==="tiles3d_"?new At(_t.BUILTIN_VARIABLE,t):new At(_t.VARIABLE,t)}else{if(e.name==="NaN")return new At(_t.LITERAL_NUMBER,NaN);if(e.name==="Infinity")return new At(_t.LITERAL_NUMBER,1/0);if(e.name==="undefined")return new At(_t.LITERAL_UNDEFINED,void 0)}throw new se(`${e.name} is not defined.`)}function FFe(e){let t=e.property.name;if(t==="PI")return new At(_t.LITERAL_NUMBER,Math.PI);if(t==="E")return new At(_t.LITERAL_NUMBER,Math.E)}function BFe(e){if(e.property.name==="POSITIVE_INFINITY")return new At(_t.LITERAL_NUMBER,Number.POSITIVE_INFINITY)}function kFe(e,t){if(t.object.name==="Math")return FFe(t);if(t.object.name==="Number")return BFe(t);let n,i=Ci(e,t.object);return t.computed?(n=Ci(e,t.property),new At(_t.MEMBER,"brackets",i,n)):(n=new At(_t.LITERAL_STRING,t.property.name),new At(_t.MEMBER,"dot",i,n))}function y9(e){return e._type>=_t.LITERAL_NULL}function VFe(e){return e.substr(0,4)==="czm_"}function UFe(e){return e.substr(4)}function Ci(e,t){let n,i,o,r;if(t.type==="Literal")n=RFe(t);else if(t.type==="CallExpression")n=MFe(e,t);else if(t.type==="Identifier")n=NFe(t);else if(t.type==="UnaryExpression"){i=t.operator;let s=Ci(e,t.argument);if(gFe.indexOf(i)>-1)n=new At(_t.UNARY,i,s);else throw new se(`Unexpected operator "${i}".`)}else if(t.type==="BinaryExpression")if(i=t.operator,o=Ci(e,t.left),r=Ci(e,t.right),jne.indexOf(i)>-1)n=new At(_t.BINARY,i,o,r);else throw new se(`Unexpected operator "${i}".`);else if(t.type==="LogicalExpression")i=t.operator,o=Ci(e,t.left),r=Ci(e,t.right),jne.indexOf(i)>-1&&(n=new At(_t.BINARY,i,o,r));else if(t.type==="ConditionalExpression"){let s=Ci(e,t.test);o=Ci(e,t.consequent),r=Ci(e,t.alternate),n=new At(_t.CONDITIONAL,"?",o,r,s)}else if(t.type==="MemberExpression")n=kFe(e,t);else if(t.type==="ArrayExpression"){let s=[];for(let a=0;a<t.elements.length;a++)s[a]=Ci(e,t.elements[a]);n=new At(_t.ARRAY,s)}else throw t.type==="Compound"?new se("Provide exactly one expression."):new se("Cannot parse expression.");return n}function zFe(e){e._type===_t.CONDITIONAL?e.evaluate=e._evaluateConditional:e._type===_t.FUNCTION_CALL?e._value==="test"?e.evaluate=e._evaluateRegExpTest:e._value==="exec"?e.evaluate=e._evaluateRegExpExec:e._value==="toString"&&(e.evaluate=e._evaluateToString):e._type===_t.UNARY?e._value==="!"?e.evaluate=e._evaluateNot:e._value==="-"?e.evaluate=e._evaluateNegative:e._value==="+"?e.evaluate=e._evaluatePositive:e._value==="isNaN"?e.evaluate=e._evaluateNaN:e._value==="isFinite"?e.evaluate=e._evaluateIsFinite:e._value==="isExactClass"?e.evaluate=e._evaluateIsExactClass:e._value==="isClass"?e.evaluate=e._evaluateIsClass:e._value==="getExactClassName"?e.evaluate=e._evaluateGetExactClassName:e._value==="Boolean"?e.evaluate=e._evaluateBooleanConversion:e._value==="Number"?e.evaluate=e._evaluateNumberConversion:e._value==="String"?e.evaluate=e._evaluateStringConversion:l(iN[e._value])&&(e.evaluate=GFe(e._value)):e._type===_t.BINARY?e._value==="+"?e.evaluate=e._evaluatePlus:e._value==="-"?e.evaluate=e._evaluateMinus:e._value==="*"?e.evaluate=e._evaluateTimes:e._value==="/"?e.evaluate=e._evaluateDivide:e._value==="%"?e.evaluate=e._evaluateMod:e._value==="==="?e.evaluate=e._evaluateEqualsStrict:e._value==="!=="?e.evaluate=e._evaluateNotEqualsStrict:e._value==="<"?e.evaluate=e._evaluateLessThan:e._value==="<="?e.evaluate=e._evaluateLessThanOrEquals:e._value===">"?e.evaluate=e._evaluateGreaterThan:e._value===">="?e.evaluate=e._evaluateGreaterThanOrEquals:e._value==="&&"?e.evaluate=e._evaluateAnd:e._value==="||"?e.evaluate=e._evaluateOr:e._value==="=~"?e.evaluate=e._evaluateRegExpMatch:e._value==="!~"?e.evaluate=e._evaluateRegExpNotMatch:l(oN[e._value])&&(e.evaluate=WFe(e._value)):e._type===_t.TERNARY?e.evaluate=jFe(e._value):e._type===_t.MEMBER?e._value==="brackets"?e.evaluate=e._evaluateMemberBrackets:e.evaluate=e._evaluateMemberDot:e._type===_t.ARRAY?e.evaluate=e._evaluateArray:e._type===_t.VARIABLE?e.evaluate=e._evaluateVariable:e._type===_t.VARIABLE_IN_STRING?e.evaluate=e._evaluateVariableString:e._type===_t.LITERAL_COLOR?e.evaluate=e._evaluateLiteralColor:e._type===_t.LITERAL_VECTOR?e.evaluate=e._evaluateLiteralVector:e._type===_t.LITERAL_STRING?e.evaluate=e._evaluateLiteralString:e._type===_t.REGEX?e.evaluate=e._evaluateRegExp:e._type===_t.BUILTIN_VARIABLE?e._value==="tiles3d_tileset_time"&&(e.evaluate=HFe):e.evaluate=e._evaluateLiteral}function HFe(e){return l(e)?e.content.tileset.timeSinceLoad:0}function GFe(e){let t=iN[e];return function(n){let i=this._left.evaluate(n);return t(e,i)}}function WFe(e){let t=oN[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n);return t(e,i,o)}}function jFe(e){let t=b9[e];return function(n){let i=this._left.evaluate(n),o=this._right.evaluate(n),r=this._test.evaluate(n);return t(e,i,o,r)}}function rN(e,t){if(l(e))return e.getPropertyInherited(t)}At.prototype._evaluateLiteral=function(){return this._value};At.prototype._evaluateLiteralColor=function(e){let t=nN,n=this._left;if(this._value==="color")l(n)?n.length>1?(z.fromCssColorString(n[0].evaluate(e),t),t.alpha=n[1].evaluate(e)):z.fromCssColorString(n[0].evaluate(e),t):z.fromBytes(255,255,255,255,t);else if(this._value==="rgb")z.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),255,t);else if(this._value==="rgba"){let i=n[3].evaluate(e)*255;z.fromBytes(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),i,t)}else this._value==="hsl"?z.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),1,t):this._value==="hsla"&&z.fromHsl(n[0].evaluate(e),n[1].evaluate(e),n[2].evaluate(e),n[3].evaluate(e),t);return oe.fromColor(t,Rn.getCartesian4())};At.prototype._evaluateLiteralVector=function(e){let t=Rn.getArray(),n=this._value,i=this._left,o=i.length;for(let a=0;a<o;++a){let c=i[a].evaluate(e);if(typeof c=="number")t.push(c);else if(c instanceof U)t.push(c.x,c.y);else if(c instanceof h)t.push(c.x,c.y,c.z);else if(c instanceof oe)t.push(c.x,c.y,c.z,c.w);else throw new se(`${n} argument must be a vector or number. Argument is ${c}.`)}let r=t.length,s=parseInt(n.charAt(3));if(r===0)throw new se(`Invalid ${n} constructor. No valid arguments.`);if(r<s&&r>1)throw new se(`Invalid ${n} constructor. Not enough arguments.`);if(r>s&&o>1)throw new se(`Invalid ${n} constructor. Too many arguments.`);if(r===1){let a=t[0];t.push(a,a,a)}if(n==="vec2")return U.fromArray(t,0,Rn.getCartesian2());if(n==="vec3")return h.fromArray(t,0,Rn.getCartesian3());if(n==="vec4")return oe.fromArray(t,0,Rn.getCartesian4())};At.prototype._evaluateLiteralString=function(){return this._value};At.prototype._evaluateVariableString=function(e){let t=this._value,n=tN.exec(t);for(;n!==null;){let i=n[0],o=n[1],r=rN(e,o);l(r)||(r=""),t=t.replace(i,r),n=tN.exec(t)}return t};At.prototype._evaluateVariable=function(e){return rN(e,this._value)};function ax(e){return e._value==="feature"}At.prototype._evaluateMemberDot=function(e){if(ax(this._left))return rN(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof U||t instanceof h||t instanceof oe){if(n==="r")return t.x;if(n==="g")return t.y;if(n==="b")return t.z;if(n==="a")return t.w}return t[n]};At.prototype._evaluateMemberBrackets=function(e){if(ax(this._left))return rN(e,this._right.evaluate(e));let t=this._left.evaluate(e);if(!l(t))return;let n=this._right.evaluate(e);if(t instanceof U||t instanceof h||t instanceof oe){if(n===0||n==="r")return t.x;if(n===1||n==="g")return t.y;if(n===2||n==="b")return t.z;if(n===3||n==="a")return t.w}return t[n]};At.prototype._evaluateArray=function(e){let t=[];for(let n=0;n<this._value.length;n++)t[n]=this._value[n].evaluate(e);return t};At.prototype._evaluateNot=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new se(`Operator "!" requires a boolean argument. Argument is ${t}.`);return!t};At.prototype._evaluateNegative=function(e){let t=this._left.evaluate(e);if(t instanceof U)return U.negate(t,Rn.getCartesian2());if(t instanceof h)return h.negate(t,Rn.getCartesian3());if(t instanceof oe)return oe.negate(t,Rn.getCartesian4());if(typeof t=="number")return-t;throw new se(`Operator "-" requires a vector or number argument. Argument is ${t}.`)};At.prototype._evaluatePositive=function(e){let t=this._left.evaluate(e);if(!(t instanceof U||t instanceof h||t instanceof oe||typeof t=="number"))throw new se(`Operator "+" requires a vector or number argument. Argument is ${t}.`);return t};At.prototype._evaluateLessThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator "<" requires number arguments. Arguments are ${t} and ${n}.`);return t<n};At.prototype._evaluateLessThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator "<=" requires number arguments. Arguments are ${t} and ${n}.`);return t<=n};At.prototype._evaluateGreaterThan=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator ">" requires number arguments. Arguments are ${t} and ${n}.`);return t>n};At.prototype._evaluateGreaterThanOrEquals=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(typeof t!="number"||typeof n!="number")throw new se(`Operator ">=" requires number arguments. Arguments are ${t} and ${n}.`);return t>=n};At.prototype._evaluateOr=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new se(`Operator "||" requires boolean arguments. First argument is ${t}.`);if(t)return!0;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new se(`Operator "||" requires boolean arguments. Second argument is ${n}.`);return t||n};At.prototype._evaluateAnd=function(e){let t=this._left.evaluate(e);if(typeof t!="boolean")throw new se(`Operator "&&" requires boolean arguments. First argument is ${t}.`);if(!t)return!1;let n=this._right.evaluate(e);if(typeof n!="boolean")throw new se(`Operator "&&" requires boolean arguments. Second argument is ${n}.`);return t&&n};At.prototype._evaluatePlus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.add(t,n,Rn.getCartesian2());if(n instanceof h&&t instanceof h)return h.add(t,n,Rn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.add(t,n,Rn.getCartesian4());if(typeof t=="string"||typeof n=="string")return t+n;if(typeof t=="number"&&typeof n=="number")return t+n;throw new se(`Operator "+" requires vector or number arguments of matching types, or at least one string argument. Arguments are ${t} and ${n}.`)};At.prototype._evaluateMinus=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.subtract(t,n,Rn.getCartesian2());if(n instanceof h&&t instanceof h)return h.subtract(t,n,Rn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.subtract(t,n,Rn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t-n;throw new se(`Operator "-" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};At.prototype._evaluateTimes=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.multiplyComponents(t,n,Rn.getCartesian2());if(n instanceof U&&typeof t=="number")return U.multiplyByScalar(n,t,Rn.getCartesian2());if(t instanceof U&&typeof n=="number")return U.multiplyByScalar(t,n,Rn.getCartesian2());if(n instanceof h&&t instanceof h)return h.multiplyComponents(t,n,Rn.getCartesian3());if(n instanceof h&&typeof t=="number")return h.multiplyByScalar(n,t,Rn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.multiplyByScalar(t,n,Rn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.multiplyComponents(t,n,Rn.getCartesian4());if(n instanceof oe&&typeof t=="number")return oe.multiplyByScalar(n,t,Rn.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.multiplyByScalar(t,n,Rn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t*n;throw new se(`Operator "*" requires vector or number arguments. If both arguments are vectors they must be matching types. Arguments are ${t} and ${n}.`)};At.prototype._evaluateDivide=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.divideComponents(t,n,Rn.getCartesian2());if(t instanceof U&&typeof n=="number")return U.divideByScalar(t,n,Rn.getCartesian2());if(n instanceof h&&t instanceof h)return h.divideComponents(t,n,Rn.getCartesian3());if(t instanceof h&&typeof n=="number")return h.divideByScalar(t,n,Rn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.divideComponents(t,n,Rn.getCartesian4());if(t instanceof oe&&typeof n=="number")return oe.divideByScalar(t,n,Rn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t/n;throw new se(`Operator "/" requires vector or number arguments of matching types, or a number as the second argument. Arguments are ${t} and ${n}.`)};At.prototype._evaluateMod=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(n instanceof U&&t instanceof U)return U.fromElements(t.x%n.x,t.y%n.y,Rn.getCartesian2());if(n instanceof h&&t instanceof h)return h.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,Rn.getCartesian3());if(n instanceof oe&&t instanceof oe)return oe.fromElements(t.x%n.x,t.y%n.y,t.z%n.z,t.w%n.w,Rn.getCartesian4());if(typeof t=="number"&&typeof n=="number")return t%n;throw new se(`Operator "%" requires vector or number arguments of matching types. Arguments are ${t} and ${n}.`)};At.prototype._evaluateEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof U&&t instanceof U||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?t.equals(n):t===n};At.prototype._evaluateNotEqualsStrict=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);return n instanceof U&&t instanceof U||n instanceof h&&t instanceof h||n instanceof oe&&t instanceof oe?!t.equals(n):t!==n};At.prototype._evaluateConditional=function(e){let t=this._test.evaluate(e);if(typeof t!="boolean")throw new se(`Conditional argument of conditional expression must be a boolean. Argument is ${t}.`);return t?this._left.evaluate(e):this._right.evaluate(e)};At.prototype._evaluateNaN=function(e){return isNaN(this._left.evaluate(e))};At.prototype._evaluateIsFinite=function(e){return isFinite(this._left.evaluate(e))};At.prototype._evaluateIsExactClass=function(e){return l(e)?e.isExactClass(this._left.evaluate(e)):!1};At.prototype._evaluateIsClass=function(e){return l(e)?e.isClass(this._left.evaluate(e)):!1};At.prototype._evaluateGetExactClassName=function(e){if(l(e))return e.getExactClassName()};At.prototype._evaluateBooleanConversion=function(e){return!!this._left.evaluate(e)};At.prototype._evaluateNumberConversion=function(e){return Number(this._left.evaluate(e))};At.prototype._evaluateStringConversion=function(e){return String(this._left.evaluate(e))};At.prototype._evaluateRegExp=function(e){let t=this._value.evaluate(e),n="";l(this._left)&&(n=this._left.evaluate(e));let i;try{i=new RegExp(t,n)}catch(o){throw new se(o)}return i};At.prototype._evaluateRegExpTest=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new se(`RegExp.test requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);return t.test(n)};At.prototype._evaluateRegExpMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return t.test(n);if(n instanceof RegExp&&typeof t=="string")return n.test(t);throw new se(`Operator "=~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};At.prototype._evaluateRegExpNotMatch=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(t instanceof RegExp&&typeof n=="string")return!t.test(n);if(n instanceof RegExp&&typeof t=="string")return!n.test(t);throw new se(`Operator "!~" requires one RegExp argument and one string argument. Arguments are ${t} and ${n}.`)};At.prototype._evaluateRegExpExec=function(e){let t=this._left.evaluate(e),n=this._right.evaluate(e);if(!(t instanceof RegExp&&typeof n=="string"))throw new se(`RegExp.exec requires the first argument to be a RegExp and the second argument to be a string. Arguments are ${t} and ${n}.`);let i=t.exec(n);return l(i)?i[1]:null};At.prototype._evaluateToString=function(e){let t=this._left.evaluate(e);if(t instanceof RegExp||t instanceof U||t instanceof h||t instanceof oe)return String(t);throw new se(`Unexpected function call "${this._value}".`)};function Yne(e){let t=e._left,n=t.length;for(let a=0;a<n;++a)if(t[a]._type!==_t.LITERAL_NUMBER)return;let i=t[0]._value,o=t[1]._value,r=t[2]._value,s=n===4?t[3]._value:1;return z.fromHsl(i,o,r,s,nN)}function Xne(e){let t=e._left,n=t.length;for(let o=0;o<n;++o)if(t[o]._type!==_t.LITERAL_NUMBER)return;let i=nN;return i.red=t[0]._value/255,i.green=t[1]._value/255,i.blue=t[2]._value/255,i.alpha=n===4?t[3]._value:1,i}function ug(e){return e%1===0?e.toFixed(1):e.toString()}function qFe(e){let t=ug(e.red),n=ug(e.green),i=ug(e.blue);return`vec3(${t}, ${n}, ${i})`}function eN(e){let t=ug(e.red),n=ug(e.green),i=ug(e.blue),o=ug(e.alpha);return`vec4(${t}, ${n}, ${i}, ${o})`}function Kne(e,t,n,i){let o=e.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=e[s].getShaderExpression(t,n,i);return r}function Zne(e,t){return l(t[e])?t[e]:hd.NULL_SENTINEL}hd.NULL_SENTINEL="czm_infinity";At.prototype.getShaderExpression=function(e,t,n){let i,o,r,s,a=this._type,c=this._value;l(this._left)&&(Array.isArray(this._left)?o=Kne(this._left,e,t,this):o=this._left.getShaderExpression(e,t,this)),l(this._right)&&(r=this._right.getShaderExpression(e,t,this)),l(this._test)&&(s=this._test.getShaderExpression(e,t,this)),Array.isArray(this._value)&&(c=Kne(this._value,e,t,this));let u,f,d;switch(a){case _t.VARIABLE:return ax(this)?void 0:Zne(c,e);case _t.UNARY:if(c==="Boolean")return`bool(${o})`;if(c==="Number")return`float(${o})`;if(c==="round")return`floor(${o} + 0.5)`;if(l(iN[c]))return`${c}(${o})`;if(c==="isNaN")return`(${o} != ${o})`;if(c==="isFinite")return`(abs(${o}) < czm_infinity)`;if(c==="String"||c==="isExactClass"||c==="isClass"||c==="getExactClassName")throw new se(`Error generating style shader: "${c}" is not supported.`);return c+o;case _t.BINARY:return c==="%"?`mod(${o}, ${r})`:c==="==="?`(${o} == ${r})`:c==="!=="?`(${o} != ${r})`:c==="atan2"?`atan(${o}, ${r})`:l(oN[c])?`${c}(${o}, ${r})`:`(${o} ${c} ${r})`;case _t.TERNARY:if(l(b9[c]))return`${c}(${o}, ${r}, ${s})`;break;case _t.CONDITIONAL:return`(${s} ? ${o} : ${r})`;case _t.MEMBER:return ax(this._left)?Zne(r,e):r==="r"||r==="x"||r==="0.0"?`${o}[0]`:r==="g"||r==="y"||r==="1.0"?`${o}[1]`:r==="b"||r==="z"||r==="2.0"?`${o}[2]`:r==="a"||r==="w"||r==="3.0"?`${o}[3]`:`${o}[int(${r})]`;case _t.FUNCTION_CALL:throw new se(`Error generating style shader: "${c}" is not supported.`);case _t.ARRAY:if(c.length===4)return`vec4(${c[0]}, ${c[1]}, ${c[2]}, ${c[3]})`;if(c.length===3)return`vec3(${c[0]}, ${c[1]}, ${c[2]})`;if(c.length===2)return`vec2(${c[0]}, ${c[1]})`;throw new se("Error generating style shader: Invalid array length. Array length should be 2, 3, or 4.");case _t.REGEX:throw new se("Error generating style shader: Regular expressions are not supported.");case _t.VARIABLE_IN_STRING:throw new se("Error generating style shader: Converting a variable to a string is not supported.");case _t.LITERAL_NULL:return hd.NULL_SENTINEL;case _t.LITERAL_BOOLEAN:return c?"true":"false";case _t.LITERAL_NUMBER:return ug(c);case _t.LITERAL_STRING:if(l(n)&&n._type===_t.MEMBER&&(c==="r"||c==="g"||c==="b"||c==="a"||c==="x"||c==="y"||c==="z"||c==="w"||ax(n._left)))return c;if(i=z.fromCssColorString(c,nN),l(i))return qFe(i);throw new se("Error generating style shader: String literals are not supported.");case _t.LITERAL_COLOR:if(u=o,c==="color"){if(l(u)){if(u.length>1){let p=u[0],g=u[1];return g!=="1.0"&&(t.translucent=!0),`vec4(${p}, ${g})`}}else return"vec4(1.0)";return`vec4(${u[0]}, 1.0)`}else{if(c==="rgb")return i=Xne(this),l(i)?eN(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, 1.0)`;if(c==="rgba")return u[3]!=="1.0"&&(t.translucent=!0),i=Xne(this),l(i)?eN(i):`vec4(${u[0]} / 255.0, ${u[1]} / 255.0, ${u[2]} / 255.0, ${u[3]})`;if(c==="hsl")return i=Yne(this),l(i)?eN(i):`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), 1.0)`;if(c==="hsla")return i=Yne(this),l(i)?(i.alpha!==1&&(t.translucent=!0),eN(i)):(u[3]!=="1.0"&&(t.translucent=!0),`vec4(czm_HSLToRGB(vec3(${u[0]}, ${u[1]}, ${u[2]})), ${u[3]})`)}break;case _t.LITERAL_VECTOR:f=o.length,d=`${c}(`;for(let p=0;p<f;++p)d+=o[p],p<f-1&&(d+=", ");return d+=")",d;case _t.LITERAL_REGEX:throw new se("Error generating style shader: Regular expressions are not supported.");case _t.LITERAL_UNDEFINED:return hd.NULL_SENTINEL;case _t.BUILTIN_VARIABLE:if(c==="tiles3d_tileset_time")return c}};At.prototype.getVariables=function(e,t){let n,i,o,r=this._type,s=this._value;if(l(this._left))if(Array.isArray(this._left))for(n=this._left,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);else this._left.getVariables(e,this);if(l(this._right)&&this._right.getVariables(e,this),l(this._test)&&this._test.getVariables(e,this),Array.isArray(this._value))for(n=this._value,i=n.length,o=0;o<i;++o)n[o].getVariables(e,this);let a;switch(r){case _t.VARIABLE:ax(this)||e.push(s);break;case _t.VARIABLE_IN_STRING:for(a=tN.exec(s);a!==null;)e.push(a[1]),a=tN.exec(s);break;case _t.LITERAL_STRING:l(t)&&t._type===_t.MEMBER&&ax(t._left)&&e.push(s);break}};var md=hd;function Tp(e){e=y(e,y.EMPTY_OBJECT),this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._vertexBatchIds=e.vertexBatchIds,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=e.indexOffsets,this._batchedIndices=e.batchedIndices,this._boundingVolume=e.boundingVolume,this._boundingVolumes=e.boundingVolumes,this._center=y(e.center,h.ZERO),this._va=void 0,this._sp=void 0,this._spStencil=void 0,this._spPick=void 0,this._uniformMap=void 0,this._vaSwap=void 0,this._rsStencilDepthPass=void 0,this._rsStencilDepthPass3DTiles=void 0,this._rsColorPass=void 0,this._rsPickPass=void 0,this._rsWireframe=void 0,this._commands=[],this._commandsIgnoreShow=[],this._pickCommands=[],this._constantColor=z.clone(z.WHITE),this._highlightColor=this._constantColor,this._batchDirty=!0,this._pickCommandsDirty=!0,this._framesSinceLastRebatch=0,this._updatingAllCommands=!1,this._trianglesLength=this._indices.length/3,this._geometryByteLength=this._indices.byteLength+this._positions.byteLength+this._vertexBatchIds.byteLength,this.debugWireframe=!1,this._debugWireframe=this.debugWireframe,this._wireframeDirty=!1,this.forceRebatch=!1,this.classificationType=y(e.classificationType,Un.BOTH),this._vertexShaderSource=e._vertexShaderSource,this._fragmentShaderSource=e._fragmentShaderSource,this._attributeLocations=e._attributeLocations,this._uniformMap=e._uniformMap,this._pickId=e._pickId,this._modelMatrix=e._modelMatrix,this._boundingSphere=e._boundingSphere,this._batchIdLookUp={};let t=this._batchIds.length;for(let n=0;n<t;++n){let i=this._batchIds[n];this._batchIdLookUp[i]=n}}Object.defineProperties(Tp.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}}});var YFe={position:0,a_batchId:1};function XFe(e,t){if(l(e._va))return;let n=bt.createVertexBuffer({context:t,typedArray:e._positions,usage:Ue.STATIC_DRAW}),i=bt.createVertexBuffer({context:t,typedArray:e._vertexBatchIds,usage:Ue.STATIC_DRAW}),o=bt.createIndexBuffer({context:t,typedArray:e._indices,usage:Ue.DYNAMIC_DRAW,indexDatatype:e._indices.BYTES_PER_ELEMENT===2?ke.UNSIGNED_SHORT:ke.UNSIGNED_INT}),r=[{index:0,vertexBuffer:n,componentDatatype:X.fromTypedArray(e._positions),componentsPerAttribute:3},{index:1,vertexBuffer:i,componentDatatype:X.fromTypedArray(e._vertexBatchIds),componentsPerAttribute:1}];e._va=new si({context:t,attributes:r,indexBuffer:o}),t.webgl2&&(e._vaSwap=new si({context:t,attributes:r,indexBuffer:bt.createIndexBuffer({context:t,sizeInBytes:o.sizeInBytes,usage:Ue.DYNAMIC_DRAW,indexDatatype:o.indexDatatype})})),e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0}function KFe(e,t){if(l(e._sp))return;let n=e._batchTable,i=y(e._attributeLocations,YFe),o=e._pickId,r=e._vertexShaderSource,s=e._fragmentShaderSource;if(l(r)){e._sp=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i}),e._spStencil=e._sp,s=He.replaceMain(s,"czm_non_pick_main"),s=`${s}void main() { czm_non_pick_main(); out_FragColor = ${o}; } -`,e._spPick=sn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i});return}let a=n.getVertexShaderCallback(!1,"a_batchId",void 0)(Uw),c=n.getFragmentShaderCallback(!1,void 0,!0)(F0);o=n.getPickId();let u=new Ge({sources:[a]}),f=new Ge({defines:["VECTOR_TILE"],sources:[c]});e._sp=sn.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),u=new Ge({sources:[Uw]}),f=new Ge({defines:["VECTOR_TILE"],sources:[F0]}),e._spStencil=sn.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),c=Ge.replaceMain(c,"czm_non_pick_main"),c=`${c} +`,e._spPick=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:i});return}let a=n.getVertexShaderCallback(!1,"a_batchId",void 0)(Yv),c=n.getFragmentShaderCallback(!1,void 0,!0)($0);o=n.getPickId();let u=new He({sources:[a]}),f=new He({defines:["VECTOR_TILE"],sources:[c]});e._sp=tn.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),u=new He({sources:[Yv]}),f=new He({defines:["VECTOR_TILE"],sources:[$0]}),e._spStencil=tn.fromCache({context:t,vertexShaderSource:u,fragmentShaderSource:f,attributeLocations:i}),c=He.replaceMain(c,"czm_non_pick_main"),c=`${c} void main() { czm_non_pick_main(); out_FragColor = ${o}; } -`;let d=new Ge({sources:[a]}),p=new Ge({defines:["VECTOR_TILE"],sources:[c]});e._spPick=sn.fromCache({context:t,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:i})}function Une(e){let t=e?zn.EQUAL:zn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:t,frontOperation:{fail:mt.KEEP,zFail:mt.DECREMENT_WRAP,zPass:mt.KEEP},backFunction:t,backOperation:{fail:mt.KEEP,zFail:mt.INCREMENT_WRAP,zPass:mt.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Sc.LESS_OR_EQUAL},depthMask:!1}}var LFe={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND},NFe={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function FFe(e){l(e._rsStencilDepthPass)||(e._rsStencilDepthPass=ze.fromCache(Une(!1)),e._rsStencilDepthPass3DTiles=ze.fromCache(Une(!0)),e._rsColorPass=ze.fromCache(LFe),e._rsPickPass=ze.fromCache(NFe))}var Z0=new F,zne=new h;function BFe(e,t){if(l(e._uniformMap))return;let n={u_modifiedModelViewProjection:function(){let i=t.uniformState.view,o=t.uniformState.projection;return F.clone(i,Z0),F.multiplyByPoint(Z0,e._center,zne),F.setTranslation(Z0,zne,Z0),F.multiply(o,Z0,Z0),Z0},u_highlightColor:function(){return e._highlightColor}};e._uniformMap=e._batchTable.getUniformMapCallback()(n)}function h9(e,t,n,i,o,r,s){let a=e.constructor.BYTES_PER_ELEMENT,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d],m=new e.constructor(e.buffer,a*p,g);t.set(m,n),i[d]=n,n+=g}return n}function kFe(e,t){let n=e._indices,i=e._indexOffsets,o=e._indexCounts,r=e._batchIdLookUp,s=new n.constructor(n.length),a=t.pop(),c=[a],u=h9(n,s,0,i,o,a.batchIds,r);for(a.offset=0,a.count=u;t.length>0;){let f=t.pop();if(H.equals(f.color,a.color))u=h9(n,s,u,i,o,f.batchIds,r),a.batchIds=a.batchIds.concat(f.batchIds),a.count=u-a.offset;else{let d=u;u=h9(n,s,u,i,o,f.batchIds,r),f.offset=d,f.count=u-d,c.push(f),a=f}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function m9(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d];t.copyFromBuffer(e,p*a,n*a,g*a),i[d]=n,n+=g}return n}function VFe(e,t){let n=e._indexOffsets,i=e._indexCounts,o=e._batchIdLookUp,r=t.pop(),s=[r],a=e._va.indexBuffer,c=e._vaSwap.indexBuffer,u=m9(a,c,0,n,i,r.batchIds,o);for(r.offset=0,r.count=u;t.length>0;){let d=t.pop();if(H.equals(d.color,r.color))u=m9(a,c,u,n,i,d.batchIds,o),r.batchIds=r.batchIds.concat(d.batchIds),r.count=u-r.offset;else{let p=u;u=m9(a,c,u,n,i,d.batchIds,o),d.offset=p,d.count=u-p,s.push(d),r=d}}let f=e._va;e._va=e._vaSwap,e._vaSwap=f,e._batchedIndices=s}function UFe(e,t){return t.color.toRgba()-e.color.toRgba()}function zFe(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s<i;++s){let c=n[s].color.toRgba();if(l(r[c])){o=!0;break}else r[c]=!0}if(!o)return e._batchDirty=!1,!1;if(o&&!e.forceRebatch&&e._framesSinceLastRebatch<120){++e._framesSinceLastRebatch;return}return n.sort(UFe),t.webgl2?VFe(e,n):kFe(e,n),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0,!0}function HFe(e,t){let n=zFe(e,t),i=e._commands,o=e._batchedIndices,r=o.length,s=r*2;if(l(i)&&!n&&i.length===s)return;i.length=s;let a=e._va,c=e._sp,u=y(e._modelMatrix,F.IDENTITY),f=e._uniformMap,d=e._boundingVolume;for(let p=0;p<r;++p){let g=o[p].offset,m=o[p].count,x=i[p*2];l(x)||(x=i[p*2]=new et({owner:e})),x.vertexArray=a,x.modelMatrix=u,x.offset=g,x.count=m,x.renderState=e._rsStencilDepthPass,x.shaderProgram=c,x.uniformMap=f,x.boundingVolume=d,x.cull=!1,x.pass=Se.TERRAIN_CLASSIFICATION;let b=et.shallowClone(x,x.derivedCommands.tileset);b.renderState=e._rsStencilDepthPass3DTiles,b.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,x.derivedCommands.tileset=b;let T=i[p*2+1];l(T)||(T=i[p*2+1]=new et({owner:e})),T.vertexArray=a,T.modelMatrix=u,T.offset=g,T.count=m,T.renderState=e._rsColorPass,T.shaderProgram=c,T.uniformMap=f,T.boundingVolume=d,T.cull=!1,T.pass=Se.TERRAIN_CLASSIFICATION;let C=et.shallowClone(T,T.derivedCommands.tileset);C.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,T.derivedCommands.tileset=C}e._commandsDirty=!0}function GFe(e,t){if(e.classificationType===Vn.TERRAIN||!t.invertClassification||l(e._commandsIgnoreShow)&&!e._commandsDirty)return;let n=e._commands,i=e._commandsIgnoreShow,o=e._spStencil,r=n.length,s=i.length=r/2,a=0;for(let c=0;c<s;++c){let u=i[c]=et.shallowClone(n[a],i[c]);u.shaderProgram=o,u.pass=Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,a+=2}e._commandsDirty=!1}function WFe(e){if(!e._pickCommandsDirty)return;let t=e._indexOffsets.length,n=e._pickCommands;n.length=t*2;let i=e._va,o=e._spStencil,r=e._spPick,s=y(e._modelMatrix,F.IDENTITY),a=e._uniformMap;for(let c=0;c<t;++c){let u=e._indexOffsets[c],f=e._indexCounts[c],d=l(e._boundingVolumes)?e._boundingVolumes[c]:e.boundingVolume,p=n[c*2];l(p)||(p=n[c*2]=new et({owner:e,pickOnly:!0})),p.vertexArray=i,p.modelMatrix=s,p.offset=u,p.count=f,p.renderState=e._rsStencilDepthPass,p.shaderProgram=o,p.uniformMap=a,p.boundingVolume=d,p.pass=Se.TERRAIN_CLASSIFICATION;let g=et.shallowClone(p,p.derivedCommands.tileset);g.renderState=e._rsStencilDepthPass3DTiles,g.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=g;let m=n[c*2+1];l(m)||(m=n[c*2+1]=new et({owner:e,pickOnly:!0})),m.vertexArray=i,m.modelMatrix=s,m.offset=u,m.count=f,m.renderState=e._rsPickPass,m.shaderProgram=r,m.uniformMap=a,m.boundingVolume=d,m.pass=Se.TERRAIN_CLASSIFICATION;let x=et.shallowClone(m,m.derivedCommands.tileset);x.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,m.derivedCommands.tileset=x}e._pickCommandsDirty=!1}yp.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Js(e,r)}};yp.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function jFe(e,t){e._updatingAllCommands=!0;let n=e._batchIds,i=n.length,o;for(o=0;o<i;++o){let s=n[o],a=t[s];a.show=!0,a.color=H.WHITE}let r=e._batchedIndices;for(i=r.length,o=0;o<i;++o)r[o].color=H.clone(H.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}var qFe=new H,YFe=H.WHITE,XFe=!0,KFe=/\$/;yp.prototype.applyStyle=function(e,t){if(!l(e)){jFe(this,t);return}let n=e.color,i=n instanceof ud&&!KFe.test(n.expression);this._updatingAllCommands=i;let o=this._batchIds,r=o.length,s;for(s=0;s<r;++s){let a=o[s],c=t[a];c.color=l(e.color)?e.color.evaluateColor(c,qFe):YFe,c.show=l(e.show)?e.show.evaluate(c):XFe}if(i){let a=this._batchedIndices;for(r=a.length,s=0;s<r;++s)a[s].color=H.clone(H.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}};yp.prototype.updateCommands=function(e,t){if(this._updatingAllCommands)return;let n=this._batchIdLookUp,i=n[e];if(!l(i))return;let o=this._indexOffsets,r=this._indexCounts,s=o[i],a=r[i],c=this._batchedIndices,u=c.length,f;for(f=0;f<u;++f){let x=c[f].offset,b=c[f].count;if(s>=x&&s<x+b)break}c.push(new gp({color:H.clone(t),offset:s,count:a,batchIds:[e]}));let d=[],p=[],g=c[f].batchIds,m=g.length;for(let x=0;x<m;++x){let b=g[x];if(b===e)continue;let T=n[b];o[T]<s?d.push(b):p.push(b)}p.length!==0&&c.push(new gp({color:H.clone(c[f].color),offset:s+a,count:c[f].offset+c[f].count-(s+a),batchIds:p})),d.length!==0?(c[f].count=s-c[f].offset,c[f].batchIds=d):c.splice(f,1),this._batchDirty=!0};function Hne(e,t,n,i){let o=e.classificationType,r=o!==Vn.CESIUM_3D_TILE,s=o!==Vn.TERRAIN,a=t.commandList,c=n.length,u,f;for(f=0;f<c;++f)r&&(u=n[f],u.pass=Se.TERRAIN_CLASSIFICATION,a.push(u)),s&&(u=n[f].derivedCommands.tileset,u.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,a.push(u));if(!(!t.invertClassification||!l(i)))for(c=i.length,f=0;f<c;++f)a.push(i[f])}function $Fe(e,t){let n=e.commandList,i=t.length;for(let o=0;o<i;o+=2){let r=t[o+1];r.pass=Se.OPAQUE,n.push(r)}}function ZFe(e){let t=e.debugWireframe===e._debugWireframe;if(t=t&&!(e.debugWireframe&&e._wireframeDirty),t)return;l(e._rsWireframe)||(e._rsWireframe=ze.fromCache({}));let n,i;e.debugWireframe?(n=e._rsWireframe,i=Fe.LINES):(n=e._rsColorPass,i=Fe.TRIANGLES);let o=e._commands,r=o.length;for(let s=0;s<r;s+=2){let a=o[s+1];a.renderState=n,a.primitiveType=i}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}yp.prototype.update=function(e){let t=e.context;OFe(this,t),MFe(this,t),FFe(this),BFe(this,t);let n=e.passes;n.render&&(HFe(this,t),GFe(this,e),ZFe(this),this._debugWireframe?$Fe(e,this._commands):Hne(this,e,this._commands,this._commandsIgnoreShow)),n.pick&&(WFe(this),Hne(this,e,this._pickCommands))};yp.prototype.isDestroyed=function(){return!1};yp.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),ue(this)};var lC=yp;function Jl(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,l(this._center)||(l(this._boundingVolume)?this._center=h.clone(this._boundingVolume.center):this._center=h.clone(h.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Vn.BOTH}Object.defineProperties(Jl.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});Jl.packedBoxLength=F.packedLength+h.packedLength;Jl.packedCylinderLength=F.packedLength+2;Jl.packedEllipsoidLength=F.packedLength+h.packedLength;Jl.packedSphereLength=h.packedLength+1;function QFe(e){let t=new Float64Array(F.packedLength+h.packedLength),n=0;return h.pack(e._center,t,n),n+=h.packedLength,F.pack(e._modelMatrix,t,n),t}function JFe(e,t){let n=0,i=t[n++],o=t[n++],r=e._boundingVolumes=new Array(o);for(let c=0;c<o;++c)r[c]=ae.unpack(t,n),n+=ae.packedLength;let s=t[n++],a=e._batchedIndices=new Array(s);for(let c=0;c<s;++c){let u=H.unpack(t,n);n+=H.packedLength;let f=t[n++],d=t[n++],p=t[n++],g=new Array(p);for(let m=0;m<p;++m)g[m]=t[n++];a[c]=new gp({color:u,offset:f,count:d,batchIds:g})}return i}var e2e=new _i("createVectorTileGeometries",5),t2e=new H;function n2e(e){if(!l(e._primitive)&&!l(e._verticesPromise)){let t=e._boxes,n=e._boxBatchIds,i=e._cylinders,o=e._cylinderBatchIds,r=e._ellipsoids,s=e._ellipsoidBatchIds,a=e._spheres,c=e._sphereBatchIds,u=e._batchTableColors,f=e._packedBuffer;if(!l(u)){let m=0;l(e._boxes)&&(t=e._boxes=t.slice(),n=e._boxBatchIds=n.slice(),m+=n.length),l(e._cylinders)&&(i=e._cylinders=i.slice(),o=e._cylinderBatchIds=o.slice(),m+=o.length),l(e._ellipsoids)&&(r=e._ellipsoids=r.slice(),s=e._ellipsoidBatchIds=s.slice(),m+=s.length),l(e._spheres)&&(a=e._sphere=a.slice(),c=e._sphereBatchIds=c.slice(),m+=c.length),u=e._batchTableColors=new Uint32Array(m);let x=e._batchTable;for(let b=0;b<m;++b){let T=x.getColor(b,t2e);u[b]=T.toRgba()}f=e._packedBuffer=QFe(e)}let d=[];l(t)&&d.push(t.buffer,n.buffer),l(i)&&d.push(i.buffer,o.buffer),l(r)&&d.push(r.buffer,s.buffer),l(a)&&d.push(a.buffer,c.buffer),d.push(u.buffer,f.buffer);let p={boxes:l(t)?t.buffer:void 0,boxBatchIds:l(t)?n.buffer:void 0,cylinders:l(i)?i.buffer:void 0,cylinderBatchIds:l(i)?o.buffer:void 0,ellipsoids:l(r)?r.buffer:void 0,ellipsoidBatchIds:l(r)?s.buffer:void 0,spheres:l(a)?a.buffer:void 0,sphereBatchIds:l(a)?c.buffer:void 0,batchTableColors:u.buffer,packedBuffer:f.buffer},g=e._verticesPromise=e2e.scheduleTask(p,d);return l(g)?g.then(function(m){if(e.isDestroyed())return;let x=new Float64Array(m.packedBuffer);JFe(e,x)===2?e._indices=new Uint16Array(m.indices):e._indices=new Uint32Array(m.indices),e._indexOffsets=new Uint32Array(m.indexOffsets),e._indexCounts=new Uint32Array(m.indexCounts),e._positions=new Float32Array(m.positions),e._vertexBatchIds=new Uint16Array(m.vertexBatchIds),e._batchIds=new Uint16Array(m.batchIds),i2e(e),e._ready=!0}).catch(m=>{e.isDestroyed()||(e._error=m)}):void 0}}function i2e(e){l(e._primitive)||(e._primitive=new lC({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}Jl.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};Jl.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};Jl.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};Jl.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};Jl.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=n2e(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};Jl.prototype.isDestroyed=function(){return!1};Jl.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var sg=Jl;function Uh(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,s2e(this,i,o)}Object.defineProperties(Uh.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return l(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function o2e(e){return function(t,n){l(e._geometries)&&e._geometries.updateCommands(t,n)}}function r2e(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),u=y(e.ELLIPSOIDS_LENGTH,0),f=y(e.SPHERES_LENGTH,0);if(a>0&&l(e.BOX_BATCH_IDS)){let m=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,m,a)}if(c>0&&l(e.CYLINDER_BATCH_IDS)){let m=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,m,c)}if(u>0&&l(e.ELLIPSOID_BATCH_IDS)){let m=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,m,u)}if(f>0&&l(e.SPHERE_BATCH_IDS)){let m=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,m,f)}let d=l(n)||l(i)||l(o)||l(r),p=a>0&&!l(n)||c>0&&!l(i)||u>0&&!l(o)||f>0&&!l(r);if(d&&p)throw new ce("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)&&!l(r)){let m=0;if(!l(n)&&a>0)for(n=new Uint16Array(a),s=0;s<a;++s)n[s]=m++;if(!l(i)&&c>0)for(i=new Uint16Array(c),s=0;s<c;++s)i[s]=m++;if(!l(o)&&u>0)for(o=new Uint16Array(u),s=0;s<u;++s)o[s]=m++;if(!l(r)&&f>0)for(r=new Uint16Array(f),s=0;s<f;++s)r[s]=m++}return{boxes:n,cylinders:i,ellipsoids:o,spheres:r}}var Q0=Uint32Array.BYTES_PER_ELEMENT;function s2e(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=Q0;let r=o.getUint32(n,!0);if(r!==1)throw new ce(`Only Geometry tile version 1 is supported. Version ${r} is not.`);n+=Q0;let s=o.getUint32(n,!0);if(n+=Q0,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=Q0,a===0)throw new ce("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=Q0;let u=o.getUint32(n,!0);n+=Q0;let f=o.getUint32(n,!0);n+=Q0;let d=Lo(i,n,a);n+=a;let p=new Uint8Array(t,n,c);n+=c;let g,m;u>0&&(g=Lo(i,n,u),n+=u,f>0&&(m=new Uint8Array(t,n,f),m=new Uint8Array(m)));let x=y(d.BOXES_LENGTH,0),b=y(d.CYLINDERS_LENGTH,0),T=y(d.ELLIPSOIDS_LENGTH,0),C=y(d.SPHERES_LENGTH,0),A=x+b+T+C,S=new ig(e,A,g,m,o2e(e));if(e._batchTable=S,A===0)return;let w=e.tile.computedTransform,D;l(d.RTC_CENTER)&&(D=h.unpack(d.RTC_CENTER),F.multiplyByPoint(w,D,D));let O=r2e(d,p);if(x>0||b>0||T>0||C>0){let R,M,L,_;if(x>0){let E=p.byteOffset+d.BOXES.byteOffset;R=new Float32Array(p.buffer,E,sg.packedBoxLength*x)}if(b>0){let E=p.byteOffset+d.CYLINDERS.byteOffset;M=new Float32Array(p.buffer,E,sg.packedCylinderLength*b)}if(T>0){let E=p.byteOffset+d.ELLIPSOIDS.byteOffset;L=new Float32Array(p.buffer,E,sg.packedEllipsoidLength*T)}if(C>0){let E=p.byteOffset+d.SPHERES.byteOffset;_=new Float32Array(p.buffer,E,sg.packedSphereLength*C)}return e._geometries=new sg({boxes:R,boxBatchIds:O.boxes,cylinders:M,cylinderBatchIds:O.cylinders,ellipsoids:L,ellipsoidBatchIds:O.ellipsoids,spheres:_,sphereBatchIds:O.spheres,center:D,modelMatrix:w,batchTable:S,boundingVolume:e.tile.boundingVolume.boundingVolume}),e}return Promise.resolve(e)}function Gne(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}Uh.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};Uh.prototype.getFeature=function(e){return Gne(this),this._features[e]};Uh.prototype.applyDebugSettings=function(e,t){l(this._geometries)&&this._geometries.applyDebugSettings(e,t)};Uh.prototype.applyStyle=function(e){Gne(this),l(this._geometries)&&this._geometries.applyStyle(e,this._features)};Uh.prototype.update=function(e,t){l(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),l(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(e,t),this._ready=!0)};Uh.prototype.pick=function(e,t,n){};Uh.prototype.isDestroyed=function(){return!1};Uh.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};var iN=Uh;var p9={};p9.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),Wne(i,o,r,s);return c};p9.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s<n;s*=2)o=1&Number(a/BigInt(2)),r=1&Number(a^BigInt(o)),Wne(s,i,o,r),i.x+=s*o,i.y+=s*r,a/=BigInt(4);return[i.x,i.y]};function Wne(e,t,n,i){if(i!==0)return;n===1&&(t.x=e-1-t.x,t.y=e-1-t.y);let o=t.x;t.x=t.y,t.y=o}var zw=p9;var J0=30,a2e=1<<J0,c2e=1<<J0+1>>>0,_9=2*J0+1,ag=4,Yne=[],Xne=[],l2e=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],cg=1,uC=2,oN=[cg,0,0,cg|uC];function Ur(e){if(!Wt.supportsBigInt())throw new ce("S2 required BigInt support");this._cellId=e,this._level=Ur.getLevel(e)}Ur.fromToken=function(e){return new Ur(Ur.getIdFromToken(e))};Ur.isValidId=function(e){return!(e<=0||e>>BigInt(_9)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};Ur.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?Ur.isValidId(Ur.getIdFromToken(e)):!1};Ur.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};Ur.getTokenFromId=function(e){let t=Math.floor(x2e(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};Ur.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return J0-(t>>1)};Ur.prototype.getChild=function(e){let t=Zne(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new Ur(n)};Ur.prototype.getParent=function(){let e=Zne(this._cellId)<<BigInt(2);return new Ur(this._cellId&~e+BigInt(1)|e)};Ur.prototype.getParentAtLevel=function(e){let t=g2e(e);return new Ur(this._cellId&-t|t)};Ur.prototype.getCenter=function(e){e=y(e,ee.WGS84);let t=u2e(this._cellId,this._level);t=h.normalize(t,t);let n=new fe.fromCartesian(t,ee.UNIT_SPHERE);return fe.toCartesian(n,e,new h)};Ur.prototype.getVertex=function(e,t){t=y(t,ee.WGS84);let n=f2e(this._cellId,this._level,e);n=h.normalize(n,n);let i=new fe.fromCartesian(n,ee.UNIT_SPHERE);return fe.toCartesian(i,t,new h)};Ur.fromFacePositionLevel=function(e,t,n){let i=(e<4?"0":"")+(e<2?"0":"")+e.toString(2),o=t.toString(2),r=Array(2*n-o.length+1).join("0"),s=Array(_9-2*n).join("0"),a=BigInt(`0b${i}${r}${o}1${s}`);return new Ur(a)};function u2e(e,t){let n=d2e(e,t);return h2e(n[0],n[1],n[2])}function f2e(e,t,n){let i=Kne(e,t),o=m2e([i[1],i[2]],t),r=n>>1&1;return $ne(i[0],o[0][r^n&1],o[1][r])}function d2e(e,t){let n=Kne(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,u=(o<<1)+c,f=(r<<1)+c;return[i,u,f]}function Kne(e){Yne.length===0&&_2e();let t=Number(e>>BigInt(_9)),n=t&cg,i=(1<<ag)-1,o=0,r=0;for(let s=7;s>=0;s--){let c=(1<<2*(s===7?J0-7*ag:ag))-1;n+=Number(e>>BigInt(s*2*ag+1)&BigInt(c))<<2,n=Xne[n];let u=s*ag;o+=n>>ag+2<<u,r+=(n>>2&i)<<u,n&=cg|uC}return[t,o,r]}function h2e(e,t,n){let i=jne(t),o=jne(n),r=rN(i),s=rN(o);return $ne(e,r,s)}function $ne(e,t,n){switch(e){case 0:return new h(1,t,n);case 1:return new h(-t,1,n);case 2:return new h(-t,-n,1);case 3:return new h(-1,-n,-t);case 4:return new h(n,-1,-t);default:return new h(n,t,-1)}}function rN(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function jne(e){return 1/c2e*e}function m2e(e,t){let n=[[],[]],i=p2e(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=rN(qne(r)),n[o][1]=rN(qne(s))}return n}function p2e(e){return 1<<J0-e>>>0}function qne(e){return 1/a2e*e}function lg(e,t,n,i,o,r){if(e===ag){let s=(t<<ag)+n;Yne[(s<<2)+i]=(o<<2)+r,Xne[(o<<2)+i]=(s<<2)+r}else{e++,t<<=1,n<<=1,o<<=2;let s=l2e[r];lg(e,t+(s[0]>>1),n+(s[0]&1),i,o,r^oN[0]),lg(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^oN[1]),lg(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^oN[2]),lg(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^oN[3])}}function _2e(){lg(0,0,0,0,0,0),lg(0,0,0,cg,0,cg),lg(0,0,0,uC,0,uC),lg(0,0,0,cg|uC,0,cg|uC)}function Zne(e){return e&~e+BigInt(1)}function g2e(e){return BigInt(1)<<BigInt(2*(J0-e))}var y2e=[64,0,1,39,2,15,40,23,3,12,16,59,41,19,24,54,4,64,13,10,17,62,60,28,42,30,20,51,25,44,55,47,5,32,65,38,14,22,11,58,18,53,63,9,61,27,29,50,43,46,31,37,21,57,52,8,26,49,45,36,56,7,48,35,6,34,33,0];function x2e(e){return y2e[(-e&e)%BigInt(67)]}var ug=Ur;function b2e(e,t){return l(e)&&l(e.extensions)&&l(e.extensions[t])}var ri=b2e;function g9(e){let t=e.lengthBits,n=e.availableCount,i=e.constant,o=e.bitstream;if(l(i))n=t;else{let r=Math.ceil(t/8);if(o.length!==r)throw new ce(`Availability bitstream must be exactly ${r} bytes long to store ${t} bits. Actual bitstream was ${o.length} bytes long.`);let s=y(e.computeAvailableCountEnabled,!1);!l(n)&&s&&(n=T2e(o,t))}this._lengthBits=t,this._availableCount=n,this._constant=i,this._bitstream=o}function T2e(e,t){let n=0;for(let i=0;i<t;i++){let o=i>>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(g9.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});g9.prototype.getBit=function(e){if(l(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var Hw=g9;function xp(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(xp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});xp.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};xp.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};xp.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};xp.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};xp.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};xp.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};xp.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var Gw=xp;var sN={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};sN.getBranchingFactor=function(e){switch(e){case sN.OCTREE:return 8;case sN.QUADTREE:return 4}};var ts=Object.freeze(sN);function ea(){}Object.defineProperties(ea.prototype,{class:{get:function(){de.throwInstantiationError()}}});ea.prototype.hasProperty=function(e){de.throwInstantiationError()};ea.prototype.hasPropertyBySemantic=function(e){de.throwInstantiationError()};ea.prototype.getPropertyIds=function(e){de.throwInstantiationError()};ea.prototype.getProperty=function(e){de.throwInstantiationError()};ea.prototype.setProperty=function(e,t){de.throwInstantiationError()};ea.prototype.getPropertyBySemantic=function(e){de.throwInstantiationError()};ea.prototype.setPropertyBySemantic=function(e,t){de.throwInstantiationError()};ea.hasProperty=function(e,t,n){if(l(t[e]))return!0;let i=n.properties;if(!l(i))return!1;let o=i[e];return!!(l(o)&&l(o.default))};ea.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return!1;let o=i[e];return l(o)};ea.getPropertyIds=function(e,t,n){n=l(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&l(e[o])&&n.push(o);let i=t.properties;if(l(i))for(let o in i)i.hasOwnProperty(o)&&!l(e[o])&&l(i[o].default)&&n.push(o);return n};ea.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!l(o)&&l(i.default))return o=We(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(l(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};ea.setProperty=function(e,t,n,i){if(!l(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;return l(r)&&(o=r[e]),l(o)&&(t=o.packVectorAndMatrixTypes(t,!0),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};ea.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return;let o=i[e];if(l(o))return ea.getProperty(o.id,t,n)};ea.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!l(o))return!1;let r=i.propertiesBySemantic[e];return l(r)?ea.setProperty(r.id,t,n,i):!1};var Bn=ea;function bp(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(bp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});bp.prototype.hasProperty=function(e){return Bn.hasProperty(e,this._properties,this._class)};bp.prototype.hasPropertyBySemantic=function(e){return Bn.hasPropertyBySemantic(e,this._properties,this._class)};bp.prototype.getPropertyIds=function(e){return Bn.getPropertyIds(this._properties,this._class,e)};bp.prototype.getProperty=function(e){return Bn.getProperty(e,this._properties,this._class)};bp.prototype.setProperty=function(e,t){return Bn.setProperty(e,t,this._properties,this._class)};bp.prototype.getPropertyBySemantic=function(e){return Bn.getPropertyBySemantic(e,this._properties,this._class)};bp.prototype.setPropertyBySemantic=function(e,t){return Bn.setPropertyBySemantic(e,t,this._properties,this._class)};var aN=bp;var Lt={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};Lt.getMinimum=function(e){switch(e){case Lt.INT8:return-128;case Lt.UINT8:return 0;case Lt.INT16:return-32768;case Lt.UINT16:return 0;case Lt.INT32:return-2147483648;case Lt.UINT32:return 0;case Lt.INT64:return Wt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case Lt.UINT64:return Wt.supportsBigInt()?BigInt(0):0;case Lt.FLOAT32:return-34028234663852886e22;case Lt.FLOAT64:return-Number.MAX_VALUE}};Lt.getMaximum=function(e){switch(e){case Lt.INT8:return 127;case Lt.UINT8:return 255;case Lt.INT16:return 32767;case Lt.UINT16:return 65535;case Lt.INT32:return 2147483647;case Lt.UINT32:return 4294967295;case Lt.INT64:return Wt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case Lt.UINT64:return Wt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case Lt.FLOAT32:return 34028234663852886e22;case Lt.FLOAT64:return Number.MAX_VALUE}};Lt.isIntegerType=function(e){switch(e){case Lt.INT8:case Lt.UINT8:case Lt.INT16:case Lt.UINT16:case Lt.INT32:case Lt.UINT32:case Lt.INT64:case Lt.UINT64:return!0;default:return!1}};Lt.isUnsignedIntegerType=function(e){switch(e){case Lt.UINT8:case Lt.UINT16:case Lt.UINT32:case Lt.UINT64:return!0;default:return!1}};Lt.isVectorCompatible=function(e){switch(e){case Lt.INT8:case Lt.UINT8:case Lt.INT16:case Lt.UINT16:case Lt.INT32:case Lt.UINT32:case Lt.FLOAT32:case Lt.FLOAT64:return!0;default:return!1}};Lt.normalize=function(e,t){return Math.max(Number(e)/Number(Lt.getMaximum(t)),-1)};Lt.unnormalize=function(e,t){let n=Lt.getMaximum(t),i=Lt.isUnsignedIntegerType(t)?0:-n;return e=P.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===Lt.INT64||t===Lt.UINT64)&&Wt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e<i?i:e};Lt.applyValueTransform=function(e,t,n){return n*e+t};Lt.unapplyValueTransform=function(e,t,n){return n===0?0:(e-t)/n};Lt.getSizeInBytes=function(e){switch(e){case Lt.INT8:case Lt.UINT8:return 1;case Lt.INT16:case Lt.UINT16:return 2;case Lt.INT32:case Lt.UINT32:return 4;case Lt.INT64:case Lt.UINT64:return 8;case Lt.FLOAT32:return 4;case Lt.FLOAT64:return 8}};Lt.fromComponentDatatype=function(e){switch(e){case X.BYTE:return Lt.INT8;case X.UNSIGNED_BYTE:return Lt.UINT8;case X.SHORT:return Lt.INT16;case X.UNSIGNED_SHORT:return Lt.UINT16;case X.INT:return Lt.INT32;case X.UNSIGNED_INT:return Lt.UINT32;case X.FLOAT:return Lt.FLOAT32;case X.DOUBLE:return Lt.FLOAT64}};Lt.toComponentDatatype=function(e){switch(e){case Lt.INT8:return X.BYTE;case Lt.UINT8:return X.UNSIGNED_BYTE;case Lt.INT16:return X.SHORT;case Lt.UINT16:return X.UNSIGNED_SHORT;case Lt.INT32:return X.INT;case Lt.UINT32:return X.UNSIGNED_INT;case Lt.FLOAT32:return X.FLOAT;case Lt.FLOAT64:return X.DOUBLE}};var Gt=Object.freeze(Lt);var No={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",BOOLEAN:"BOOLEAN",STRING:"STRING",ENUM:"ENUM"};No.isVectorType=function(e){switch(e){case No.VEC2:case No.VEC3:case No.VEC4:return!0;default:return!1}};No.isMatrixType=function(e){switch(e){case No.MAT2:case No.MAT3:case No.MAT4:return!0;default:return!1}};No.getComponentCount=function(e){switch(e){case No.SCALAR:case No.STRING:case No.ENUM:case No.BOOLEAN:return 1;case No.VEC2:return 2;case No.VEC3:return 3;case No.VEC4:return 4;case No.MAT2:return 4;case No.MAT3:return 9;case No.MAT4:return 16}};No.getMathType=function(e){switch(e){case No.VEC2:return U;case No.VEC3:return h;case No.VEC4:return oe;case No.MAT2:return Fi;case No.MAT3:return Z;case No.MAT4:return F;default:return}};var Et=Object.freeze(No);function Sa(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.type,i=e.componentType,o=e.enumType,r=l(i)&&Gt.isIntegerType(i)&&y(e.normalized,!1);this._id=t,this._name=e.name,this._description=e.description,this._semantic=e.semantic,this._isLegacyExtension=e.isLegacyExtension,this._type=n,this._componentType=i,this._enumType=o,this._valueType=l(o)?o.valueType:i,this._isArray=y(e.isArray,!1),this._isVariableLengthArray=y(e.isVariableLengthArray,!1),this._arrayLength=e.arrayLength,this._min=We(e.min,!0),this._max=We(e.max,!0),this._normalized=r;let s=We(e.offset,!0),a=We(e.scale,!0),c=l(s)||l(a),u=!0;l(s)||(s=this.expandConstant(0,u)),l(a)||(a=this.expandConstant(1,u)),this._offset=s,this._scale=a,this._hasValueTransform=c,this._noData=We(e.noData,!0),this._default=We(e.default,!0),this._required=y(e.required,!0),this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}Sa.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.property,i=C2e(n),o=A2e(n,e.enums),r;return l(i)?i?r=l(n.optional)?!n.optional:!0:r=y(n.required,!1):r=!1,new Sa({id:t,type:o.type,componentType:o.componentType,enumType:o.enumType,isArray:o.isArray,isVariableLengthArray:o.isVariableLengthArray,arrayLength:o.arrayLength,normalized:n.normalized,min:n.min,max:n.max,offset:n.offset,scale:n.scale,noData:n.noData,default:n.default,required:r,name:n.name,description:n.description,semantic:n.semantic,extras:n.extras,extensions:n.extensions,isLegacyExtension:i})};Object.defineProperties(Sa.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},type:{get:function(){return this._type}},enumType:{get:function(){return this._enumType}},componentType:{get:function(){return this._componentType}},valueType:{get:function(){return this._valueType}},isArray:{get:function(){return this._isArray}},isVariableLengthArray:{get:function(){return this._isVariableLengthArray}},arrayLength:{get:function(){return this._arrayLength}},normalized:{get:function(){return this._normalized}},max:{get:function(){return this._max}},min:{get:function(){return this._min}},noData:{get:function(){return this._noData}},default:{get:function(){return this._default}},required:{get:function(){return this._required}},semantic:{get:function(){return this._semantic}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});function C2e(e){if(e.type==="ARRAY")return!0;let t=e.type;if(t===Et.SCALAR||Et.isMatrixType(t)||Et.isVectorType(t))return!1;if(l(Gt[t]))return!0;if(l(e.noData)||l(e.scale)||l(e.offset)||l(e.required)||l(e.count)||l(e.array)||l(e.optional))return!1}function A2e(e,t){let n=e.type,i=e.componentType,o=n==="ARRAY",r,s,a;o?(r=!0,s=e.componentCount,a=!l(s)):e.array?(r=!0,s=e.count,a=!l(e.count)):(r=!1,s=void 0,a=!1);let c;if(l(e.enumType)&&(c=t[e.enumType]),n===Et.ENUM)return{type:n,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&i===Et.ENUM)return{type:i,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===Et.SCALAR||Et.isMatrixType(n)||Et.isVectorType(n))return{type:n,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===Et.BOOLEAN||n===Et.STRING)return{type:n,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&(i===Et.BOOLEAN||i===Et.STRING))return{type:i,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(i)&&l(Gt[i]))return{type:Et.SCALAR,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(Gt[n]))return{type:Et.SCALAR,componentType:n,enumType:void 0,valueType:n,isArray:r,isVariableLengthArray:a,arrayLength:s}}Sa.prototype.normalize=function(e){return this._normalized?y9(e,this._valueType,Gt.normalize):e};Sa.prototype.unnormalize=function(e){return this._normalized?y9(e,this._valueType,Gt.unnormalize):e};Sa.prototype.applyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Sa.valueTransformInPlace(e,this._offset,this._scale,Gt.applyValueTransform)};Sa.prototype.unapplyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Sa.valueTransformInPlace(e,this._offset,this._scale,Gt.unapplyValueTransform)};Sa.prototype.expandConstant=function(e,t){t=y(t,!1);let n=this._isArray,i=this._arrayLength,o=Et.getComponentCount(this._type),r=n&&o>1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};Sa.prototype.handleNoData=function(e){let t=this._noData;if(!l(t))return e;if(!tie(e,t))return e};function tie(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!tie(e[n],t[n]))return!1;return!0}Sa.prototype.unpackVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=Et.getMathType(this._type),i=this._isArray,o=Et.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};Sa.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=Et.getMathType(this._type),i=this._isArray,o=Et.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};Sa.prototype.validate=function(e){if(!(!l(e)&&l(this._default)))return this._required&&!l(e)?"required property must have a value":this._isArray?E2e(this,e):nie(this,e)};function E2e(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i<n;i++){let o=nie(e,t[i]);if(l(o))return o}}function nie(e,t){let n=e._type,i=e._componentType,o=e._enumType,r=e._normalized;return Et.isVectorType(n)?S2e(t,n,i):Et.isMatrixType(n)?w2e(t,n,i):n===Et.STRING?v2e(t):n===Et.BOOLEAN?D2e(t):n===Et.ENUM?I2e(t,o):P2e(t,i,r)}function S2e(e,t,n){if(!Gt.isVectorCompatible(n))return`componentType ${n} is incompatible with vector type ${t}`;if(t===Et.VEC2&&!(e instanceof U))return`vector value ${e} must be a Cartesian2`;if(t===Et.VEC3&&!(e instanceof h))return`vector value ${e} must be a Cartesian3`;if(t===Et.VEC4&&!(e instanceof oe))return`vector value ${e} must be a Cartesian4`}function w2e(e,t,n){if(!Gt.isVectorCompatible(n))return`componentType ${n} is incompatible with matrix type ${t}`;if(t===Et.MAT2&&!(e instanceof Fi))return`matrix value ${e} must be a Matrix2`;if(t===Et.MAT3&&!(e instanceof Z))return`matrix value ${e} must be a Matrix3`;if(t===Et.MAT4&&!(e instanceof F))return`matrix value ${e} must be a Matrix4`}function v2e(e){if(typeof e!="string")return cN(e,Et.STRING)}function D2e(e){if(typeof e!="boolean")return cN(e,Et.BOOLEAN)}function I2e(e,t){let n=typeof e;if(l(t))return n!=="string"||!l(t.valuesByName[e])?`value ${e} is not a valid enum name for ${t.id}`:void 0}function P2e(e,t,n){let i=typeof e;switch(t){case Gt.INT8:case Gt.UINT8:case Gt.INT16:case Gt.UINT16:case Gt.INT32:case Gt.UINT32:case Gt.FLOAT32:case Gt.FLOAT64:return i!=="number"?cN(e,t):isFinite(e)?Jne(e,t,n):eie(e,t);case Gt.INT64:case Gt.UINT64:return i!=="number"&&i!=="bigint"?cN(e,t):i==="number"&&!isFinite(e)?eie(e,t):Jne(e,t,n)}}function cN(e,t){return`value ${e} does not match type ${t}`}function Qne(e,t,n){let i=`value ${e} is out of range for type ${t}`;return n&&(i+=" (normalized)"),i}function Jne(e,t,n){if(n){let i=Gt.isUnsignedIntegerType(t)?0:-1;return e<i||e>1?Qne(e,t,n):void 0}if(e<Gt.getMinimum(t)||e>Gt.getMaximum(t))return Qne(e,t,n)}function eie(e,t){return`value ${e} of type ${t} must be finite`}function y9(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i<e.length;i++)e[i]=y9(e[i],t,n);return e}Sa.valueTransformInPlace=function(e,t,n,i){if(!Array.isArray(e))return i(e,t,n);for(let o=0;o<e.length;o++)e[o]=Sa.valueTransformInPlace(e[o],t[o],n[o],i);return e};var ex=Sa;function Ww(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.property,i=e.classProperty,o=e.bufferViews,r=i.type,s=i.isArray,a=i.isVariableLengthArray,c=i.valueType,u=i.enumType,f=r===Et.STRING,d=r===Et.BOOLEAN,p=0,g;if(a){let _=y(n.arrayOffsetType,n.offsetType);_=y(Gt[_],Gt.UINT32);let E=y(n.arrayOffsets,n.arrayOffsetBufferView);g=new x9(o[E],_,t+1),p+=g.typedArray.byteLength}let m=Et.getComponentCount(r),x;a?x=g.get(t)-g.get(0):s?x=t*i.arrayLength:x=t;let b=m*x,T;if(f){let _=y(n.stringOffsetType,n.offsetType);_=y(Gt[_],Gt.UINT32);let E=y(n.stringOffsets,n.stringOffsetBufferView);T=new x9(o[E],_,b+1),p+=T.typedArray.byteLength}(f||d)&&(c=Gt.UINT8);let C;f?C=T.get(b)-T.get(0):d?C=Math.ceil(b/8):C=b;let A=y(n.values,n.bufferView),S=new x9(o[A],c,C);p+=S.typedArray.byteLength;let w=n.offset,D=n.scale,O=i.hasValueTransform||l(w)||l(D);w=y(w,i.offset),D=y(D,i.scale),w=iie(w),D=iie(D);let R,M,L=this;f?R=function(_){return M2e(_,L._values,L._stringOffsets)}:d?(R=function(_){return L2e(_,L._values)},M=function(_,E){N2e(_,L._values,E)}):l(u)?(R=function(_){let E=L._values.get(_);return u.namesByValue[E]},M=function(_,E){let v=u.valuesByName[E];L._values.set(_,v)}):(R=function(_){return L._values.get(_)},M=function(_,E){L._values.set(_,E)}),this._arrayOffsets=g,this._stringOffsets=T,this._values=S,this._classProperty=i,this._count=t,this._vectorComponentCount=m,this._min=n.min,this._max=n.max,this._offset=w,this._scale=D,this._hasValueTransform=O,this._getValue=R,this._setValue=M,this._unpackedValues=void 0,this._extras=n.extras,this._extensions=n.extensions,this._byteLength=p}Object.defineProperties(Ww.prototype,{hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){return this._byteLength}}});Ww.prototype.get=function(e){let t=R2e(this,e);return t=this._classProperty.handleNoData(t),l(t)?(t=this._classProperty.normalize(t),t=G2e(this,t),this._classProperty.unpackVectorAndMatrixTypes(t)):(t=this._classProperty.default,this._classProperty.unpackVectorAndMatrixTypes(t))};Ww.prototype.set=function(e,t){let n=this._classProperty;t=n.packVectorAndMatrixTypes(t),t=W2e(this,t),t=n.unnormalize(t),O2e(this,e,t)};Ww.prototype.getTypedArray=function(){if(l(this._values))return this._values.typedArray};function iie(e){if(!Array.isArray(e))return e;let t=[];for(let n=0;n<e.length;n++){let i=e[n];Array.isArray(i)?t.push.apply(t,i):t.push(i)}return t}function R2e(e,t){rie(e)&&sie(e);let n=e._classProperty,i=n.isArray,o=n.type,r=Et.getComponentCount(o);if(l(e._unpackedValues)){let s=e._unpackedValues[t];return i?We(s,!0):s}return!i&&r===1?e._getValue(t):oie(e,n,t)}function oie(e,t,n){let i,o;if(t.isVariableLengthArray){i=e._arrayOffsets.get(n),o=e._arrayOffsets.get(n+1)-i;let s=Et.getComponentCount(t.type);i*=s,o*=s}else{let a=y(t.arrayLength,1)*e._vectorComponentCount;i=n*a,o=a}let r=new Array(o);for(let s=0;s<o;s++)r[s]=e._getValue(i+s);return r}function O2e(e,t,n){z2e(e,t,n)&&sie(e);let i=e._classProperty,o=i.isArray,r=i.type,s=Et.getComponentCount(r);if(l(e._unpackedValues)){i.isArray&&(n=We(n,!0)),e._unpackedValues[t]=n;return}if(!o&&s===1){e._setValue(t,n);return}let a,c;if(i.isVariableLengthArray)a=e._arrayOffsets.get(t),c=e._arrayOffsets.get(t+1)-a;else{let f=y(i.arrayLength,1)*e._vectorComponentCount;a=t*f,c=f}for(let u=0;u<c;++u)e._setValue(a+u,n[u])}function M2e(e,t,n){let i=n.get(e),o=n.get(e+1)-i;return Zl(t.typedArray,i,o)}function L2e(e,t){let n=e>>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function N2e(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<<o:t.typedArray[i]&=~(1<<o)}function F2e(e,t){let n=t.dataView,i=e*8,o=0,r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function B2e(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<<BigInt(a*8))}return r&&(o=-o),o}function k2e(e,t){let n=t.dataView,i=e*8,o=n.getUint32(i,!0),r=n.getUint32(i+4,!0);return o+4294967296*r}function V2e(e,t){let n=t.dataView,i=e*8,o=BigInt(n.getUint32(i,!0)),r=BigInt(n.getUint32(i+4,!0));return o+BigInt(4294967296)*r}function U2e(e){switch(e){case Gt.INT8:return X.BYTE;case Gt.UINT8:return X.UNSIGNED_BYTE;case Gt.INT16:return X.SHORT;case Gt.UINT16:return X.UNSIGNED_SHORT;case Gt.INT32:return X.INT;case Gt.UINT32:return X.UNSIGNED_INT;case Gt.FLOAT32:return X.FLOAT;case Gt.FLOAT64:return X.DOUBLE}}function rie(e){if(l(e._unpackedValues))return!1;let t=e._classProperty,n=t.type,i=t.valueType;return n===Et.STRING||i===Gt.INT64&&!Wt.supportsBigInt64Array()||i===Gt.UINT64&&!Wt.supportsBigUint64Array()}function z2e(e,t,n){if(rie(e))return!0;let i=e._arrayOffsets;if(l(i)){let o=i.get(t+1)-i.get(t),r=n.length;if(o!==r)return!0}return!1}function sie(e){e._unpackedValues=H2e(e),e._arrayOffsets=void 0,e._stringOffsets=void 0,e._values=void 0}function H2e(e){let t=e._count,n=new Array(t),i=e._classProperty,o=i.isArray,r=i.type,s=Et.getComponentCount(r);if(!o&&s===1){for(let a=0;a<t;++a)n[a]=e._getValue(a);return n}for(let a=0;a<t;a++)n[a]=oie(e,i,a);return n}function G2e(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:ex.valueTransformInPlace(t,e._offset,e._scale,Gt.applyValueTransform)}function W2e(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:ex.valueTransformInPlace(t,e._offset,e._scale,Gt.unapplyValueTransform)}function x9(e,t,n){let i=this,o,r,s;if(t===Gt.INT64)Wt.supportsBigInt()?Wt.supportsBigInt64Array()?(o=new BigInt64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return B2e(a,i)}):(Tt("INT64 type is not fully supported on this platform. Values greater than 2^53 - 1 or less than -(2^53 - 1) may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return F2e(a,i)});else if(t===Gt.UINT64)Wt.supportsBigInt()?Wt.supportsBigUint64Array()?(o=new BigUint64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return V2e(a,i)}):(Tt("UINT64 type is not fully supported on this platform. Values greater than 2^53 - 1 may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return k2e(a,i)});else{let a=U2e(t);o=X.createArrayBufferView(a,e.buffer,e.byteOffset,n),s=function(c,u){i.typedArray[c]=u}}l(r)||(r=function(a){return i.typedArray[a]}),this.typedArray=o,this.dataView=new DataView(o.buffer,o.byteOffset),this.get=r,this.set=s,this._componentType=t}var lN=Ww;function fd(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.class,i=0,o={};if(l(e.properties)){for(let r in e.properties)if(e.properties.hasOwnProperty(r)){let s=new lN({count:t,property:e.properties[r],classProperty:n.properties[r],bufferViews:e.bufferViews});o[r]=s,i+=s.byteLength}}this._count=t,this._class=n,this._properties=o,this._byteLength=i}Object.defineProperties(fd.prototype,{count:{get:function(){return this._count}},class:{get:function(){return this._class}},byteLength:{get:function(){return this._byteLength}}});fd.prototype.hasProperty=function(e){return Bn.hasProperty(e,this._properties,this._class)};fd.prototype.hasPropertyBySemantic=function(e){return Bn.hasPropertyBySemantic(e,this._properties,this._class)};fd.prototype.getPropertyIds=function(e){return Bn.getPropertyIds(this._properties,this._class,e)};fd.prototype.getProperty=function(e,t){let n=this._properties[t],i;return l(n)?i=n.get(e):i=j2e(this._class,t),i};fd.prototype.setProperty=function(e,t,n){let i=this._properties[t];return l(i)?(i.set(e,n),!0):!1};fd.prototype.getPropertyBySemantic=function(e,t){let n,i=this._class.propertiesBySemantic;if(l(i)&&(n=i[t]),l(n))return this.getProperty(e,n.id)};fd.prototype.setPropertyBySemantic=function(e,t,n){let i,o=this._class.propertiesBySemantic;return l(o)&&(i=o[t]),l(i)?this.setProperty(e,i.id,n):!1};fd.prototype.getPropertyTypedArray=function(e){let t=this._properties[e];if(l(t))return t.getTypedArray()};fd.prototype.getPropertyTypedArrayBySemantic=function(e){let t,n=this._class.propertiesBySemantic;if(l(n)&&(t=n[e]),l(t))return this.getPropertyTypedArray(t.id)};function j2e(e,t){let n=e.properties;if(!l(n))return;let i=n[t];if(l(i)&&l(i.default)){let o=i.default;return i.isArray&&(o=We(o,!0)),o=i.normalize(o),i.unpackVectorAndMatrixTypes(o)}}var eu=fd;function fg(){}Object.defineProperties(fg.prototype,{cacheKey:{get:function(){de.throwInstantiationError()}}});fg.prototype.load=function(){de.throwInstantiationError()};fg.prototype.unload=function(){};fg.prototype.process=function(e){return!1};fg.prototype.getError=function(e,t){l(t)&&l(t.message)&&(e+=` -${t.message}`);let n=new ce(e);return l(t)&&(n.stack=`Original stack: +`;let d=new He({sources:[a]}),p=new He({defines:["VECTOR_TILE"],sources:[c]});e._spPick=tn.fromCache({context:t,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:i})}function $ne(e){let t=e?zn.EQUAL:zn.ALWAYS;return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:t,frontOperation:{fail:mt.KEEP,zFail:mt.DECREMENT_WRAP,zPass:mt.KEEP},backFunction:t,backOperation:{fail:mt.KEEP,zFail:mt.INCREMENT_WRAP,zPass:mt.KEEP},reference:Ut.CESIUM_3D_TILE_MASK,mask:Ut.CESIUM_3D_TILE_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Dc.LESS_OR_EQUAL},depthMask:!1}}var ZFe={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:Ut.CLASSIFICATION_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND},$Fe={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:Ut.CLASSIFICATION_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1};function QFe(e){l(e._rsStencilDepthPass)||(e._rsStencilDepthPass=ze.fromCache($ne(!1)),e._rsStencilDepthPass3DTiles=ze.fromCache($ne(!0)),e._rsColorPass=ze.fromCache(ZFe),e._rsPickPass=ze.fromCache($Fe))}var cx=new F,Qne=new h;function JFe(e,t){if(l(e._uniformMap))return;let n={u_modifiedModelViewProjection:function(){let i=t.uniformState.view,o=t.uniformState.projection;return F.clone(i,cx),F.multiplyByPoint(cx,e._center,Qne),F.setTranslation(cx,Qne,cx),F.multiply(o,cx,cx),cx},u_highlightColor:function(){return e._highlightColor}};e._uniformMap=e._batchTable.getUniformMapCallback()(n)}function T9(e,t,n,i,o,r,s){let a=e.constructor.BYTES_PER_ELEMENT,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d],m=new e.constructor(e.buffer,a*p,g);t.set(m,n),i[d]=n,n+=g}return n}function e2e(e,t){let n=e._indices,i=e._indexOffsets,o=e._indexCounts,r=e._batchIdLookUp,s=new n.constructor(n.length),a=t.pop(),c=[a],u=T9(n,s,0,i,o,a.batchIds,r);for(a.offset=0,a.count=u;t.length>0;){let f=t.pop();if(z.equals(f.color,a.color))u=T9(n,s,u,i,o,f.batchIds,r),a.batchIds=a.batchIds.concat(f.batchIds),a.count=u-a.offset;else{let d=u;u=T9(n,s,u,i,o,f.batchIds,r),f.offset=d,f.count=u-d,c.push(f),a=f}}e._va.indexBuffer.copyFromArrayView(s),e._indices=s,e._batchedIndices=c}function C9(e,t,n,i,o,r,s){let a=e.bytesPerIndex,c=r.length;for(let u=0;u<c;++u){let f=r[u],d=s[f],p=i[d],g=o[d];t.copyFromBuffer(e,p*a,n*a,g*a),i[d]=n,n+=g}return n}function t2e(e,t){let n=e._indexOffsets,i=e._indexCounts,o=e._batchIdLookUp,r=t.pop(),s=[r],a=e._va.indexBuffer,c=e._vaSwap.indexBuffer,u=C9(a,c,0,n,i,r.batchIds,o);for(r.offset=0,r.count=u;t.length>0;){let d=t.pop();if(z.equals(d.color,r.color))u=C9(a,c,u,n,i,d.batchIds,o),r.batchIds=r.batchIds.concat(d.batchIds),r.count=u-r.offset;else{let p=u;u=C9(a,c,u,n,i,d.batchIds,o),d.offset=p,d.count=u-p,s.push(d),r=d}}let f=e._va;e._va=e._vaSwap,e._vaSwap=f,e._batchedIndices=s}function n2e(e,t){return t.color.toRgba()-e.color.toRgba()}function i2e(e,t){if(!e._batchDirty)return!1;let n=e._batchedIndices,i=n.length,o=!1,r={};for(let s=0;s<i;++s){let c=n[s].color.toRgba();if(l(r[c])){o=!0;break}else r[c]=!0}if(!o)return e._batchDirty=!1,!1;if(o&&!e.forceRebatch&&e._framesSinceLastRebatch<120){++e._framesSinceLastRebatch;return}return n.sort(n2e),t.webgl2?t2e(e,n):e2e(e,n),e._framesSinceLastRebatch=0,e._batchDirty=!1,e._pickCommandsDirty=!0,e._wireframeDirty=!0,!0}function o2e(e,t){let n=i2e(e,t),i=e._commands,o=e._batchedIndices,r=o.length,s=r*2;if(l(i)&&!n&&i.length===s)return;i.length=s;let a=e._va,c=e._sp,u=y(e._modelMatrix,F.IDENTITY),f=e._uniformMap,d=e._boundingVolume;for(let p=0;p<r;++p){let g=o[p].offset,m=o[p].count,x=i[p*2];l(x)||(x=i[p*2]=new tt({owner:e})),x.vertexArray=a,x.modelMatrix=u,x.offset=g,x.count=m,x.renderState=e._rsStencilDepthPass,x.shaderProgram=c,x.uniformMap=f,x.boundingVolume=d,x.cull=!1,x.pass=ve.TERRAIN_CLASSIFICATION;let b=tt.shallowClone(x,x.derivedCommands.tileset);b.renderState=e._rsStencilDepthPass3DTiles,b.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,x.derivedCommands.tileset=b;let T=i[p*2+1];l(T)||(T=i[p*2+1]=new tt({owner:e})),T.vertexArray=a,T.modelMatrix=u,T.offset=g,T.count=m,T.renderState=e._rsColorPass,T.shaderProgram=c,T.uniformMap=f,T.boundingVolume=d,T.cull=!1,T.pass=ve.TERRAIN_CLASSIFICATION;let C=tt.shallowClone(T,T.derivedCommands.tileset);C.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,T.derivedCommands.tileset=C}e._commandsDirty=!0}function r2e(e,t){if(e.classificationType===Un.TERRAIN||!t.invertClassification||l(e._commandsIgnoreShow)&&!e._commandsDirty)return;let n=e._commands,i=e._commandsIgnoreShow,o=e._spStencil,r=n.length,s=i.length=r/2,a=0;for(let c=0;c<s;++c){let u=i[c]=tt.shallowClone(n[a],i[c]);u.shaderProgram=o,u.pass=ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,a+=2}e._commandsDirty=!1}function s2e(e){if(!e._pickCommandsDirty)return;let t=e._indexOffsets.length,n=e._pickCommands;n.length=t*2;let i=e._va,o=e._spStencil,r=e._spPick,s=y(e._modelMatrix,F.IDENTITY),a=e._uniformMap;for(let c=0;c<t;++c){let u=e._indexOffsets[c],f=e._indexCounts[c],d=l(e._boundingVolumes)?e._boundingVolumes[c]:e.boundingVolume,p=n[c*2];l(p)||(p=n[c*2]=new tt({owner:e,pickOnly:!0})),p.vertexArray=i,p.modelMatrix=s,p.offset=u,p.count=f,p.renderState=e._rsStencilDepthPass,p.shaderProgram=o,p.uniformMap=a,p.boundingVolume=d,p.pass=ve.TERRAIN_CLASSIFICATION;let g=tt.shallowClone(p,p.derivedCommands.tileset);g.renderState=e._rsStencilDepthPass3DTiles,g.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,p.derivedCommands.tileset=g;let m=n[c*2+1];l(m)||(m=n[c*2+1]=new tt({owner:e,pickOnly:!0})),m.vertexArray=i,m.modelMatrix=s,m.offset=u,m.count=f,m.renderState=e._rsPickPass,m.shaderProgram=r,m.uniformMap=a,m.boundingVolume=d,m.pass=ve.TERRAIN_CLASSIFICATION;let x=tt.shallowClone(m,m.derivedCommands.tileset);x.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,m.derivedCommands.tileset=x}e._pickCommandsDirty=!1}Tp.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new oa(e,r)}};Tp.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function a2e(e,t){e._updatingAllCommands=!0;let n=e._batchIds,i=n.length,o;for(o=0;o<i;++o){let s=n[o],a=t[s];a.show=!0,a.color=z.WHITE}let r=e._batchedIndices;for(i=r.length,o=0;o<i;++o)r[o].color=z.clone(z.WHITE);e._updatingAllCommands=!1,e._batchDirty=!0}var c2e=new z,l2e=z.WHITE,u2e=!0,f2e=/\$/;Tp.prototype.applyStyle=function(e,t){if(!l(e)){a2e(this,t);return}let n=e.color,i=n instanceof md&&!f2e.test(n.expression);this._updatingAllCommands=i;let o=this._batchIds,r=o.length,s;for(s=0;s<r;++s){let a=o[s],c=t[a];c.color=l(e.color)?e.color.evaluateColor(c,c2e):l2e,c.show=l(e.show)?e.show.evaluate(c):u2e}if(i){let a=this._batchedIndices;for(r=a.length,s=0;s<r;++s)a[s].color=z.clone(z.WHITE);this._updatingAllCommands=!1,this._batchDirty=!0}};Tp.prototype.updateCommands=function(e,t){if(this._updatingAllCommands)return;let n=this._batchIdLookUp,i=n[e];if(!l(i))return;let o=this._indexOffsets,r=this._indexCounts,s=o[i],a=r[i],c=this._batchedIndices,u=c.length,f;for(f=0;f<u;++f){let x=c[f].offset,b=c[f].count;if(s>=x&&s<x+b)break}c.push(new bp({color:z.clone(t),offset:s,count:a,batchIds:[e]}));let d=[],p=[],g=c[f].batchIds,m=g.length;for(let x=0;x<m;++x){let b=g[x];if(b===e)continue;let T=n[b];o[T]<s?d.push(b):p.push(b)}p.length!==0&&c.push(new bp({color:z.clone(c[f].color),offset:s+a,count:c[f].offset+c[f].count-(s+a),batchIds:p})),d.length!==0?(c[f].count=s-c[f].offset,c[f].batchIds=d):c.splice(f,1),this._batchDirty=!0};function Jne(e,t,n,i){let o=e.classificationType,r=o!==Un.CESIUM_3D_TILE,s=o!==Un.TERRAIN,a=t.commandList,c=n.length,u,f;for(f=0;f<c;++f)r&&(u=n[f],u.pass=ve.TERRAIN_CLASSIFICATION,a.push(u)),s&&(u=n[f].derivedCommands.tileset,u.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,a.push(u));if(!(!t.invertClassification||!l(i)))for(c=i.length,f=0;f<c;++f)a.push(i[f])}function d2e(e,t){let n=e.commandList,i=t.length;for(let o=0;o<i;o+=2){let r=t[o+1];r.pass=ve.OPAQUE,n.push(r)}}function h2e(e){let t=e.debugWireframe===e._debugWireframe;if(t=t&&!(e.debugWireframe&&e._wireframeDirty),t)return;l(e._rsWireframe)||(e._rsWireframe=ze.fromCache({}));let n,i;e.debugWireframe?(n=e._rsWireframe,i=Fe.LINES):(n=e._rsColorPass,i=Fe.TRIANGLES);let o=e._commands,r=o.length;for(let s=0;s<r;s+=2){let a=o[s+1];a.renderState=n,a.primitiveType=i}e._debugWireframe=e.debugWireframe,e._wireframeDirty=!1}Tp.prototype.update=function(e){let t=e.context;XFe(this,t),KFe(this,t),QFe(this),JFe(this,t);let n=e.passes;n.render&&(o2e(this,t),r2e(this,e),h2e(this),this._debugWireframe?d2e(e,this._commands):Jne(this,e,this._commands,this._commandsIgnoreShow)),n.pick&&(s2e(this),Jne(this,e,this._pickCommands))};Tp.prototype.isDestroyed=function(){return!1};Tp.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaSwap=this._vaSwap&&this._vaSwap.destroy(),ue(this)};var _C=Tp;function iu(e){this._boxes=e.boxes,this._boxBatchIds=e.boxBatchIds,this._cylinders=e.cylinders,this._cylinderBatchIds=e.cylinderBatchIds,this._ellipsoids=e.ellipsoids,this._ellipsoidBatchIds=e.ellipsoidBatchIds,this._spheres=e.spheres,this._sphereBatchIds=e.sphereBatchIds,this._modelMatrix=e.modelMatrix,this._batchTable=e.batchTable,this._boundingVolume=e.boundingVolume,this._center=e.center,l(this._center)||(l(this._boundingVolume)?this._center=h.clone(this._boundingVolume.center):this._center=h.clone(h.ZERO)),this._boundingVolumes=void 0,this._batchedIndices=void 0,this._indices=void 0,this._indexOffsets=void 0,this._indexCounts=void 0,this._positions=void 0,this._vertexBatchIds=void 0,this._batchIds=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._verticesPromise=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Un.BOTH}Object.defineProperties(iu.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});iu.packedBoxLength=F.packedLength+h.packedLength;iu.packedCylinderLength=F.packedLength+2;iu.packedEllipsoidLength=F.packedLength+h.packedLength;iu.packedSphereLength=h.packedLength+1;function m2e(e){let t=new Float64Array(F.packedLength+h.packedLength),n=0;return h.pack(e._center,t,n),n+=h.packedLength,F.pack(e._modelMatrix,t,n),t}function p2e(e,t){let n=0,i=t[n++],o=t[n++],r=e._boundingVolumes=new Array(o);for(let c=0;c<o;++c)r[c]=ce.unpack(t,n),n+=ce.packedLength;let s=t[n++],a=e._batchedIndices=new Array(s);for(let c=0;c<s;++c){let u=z.unpack(t,n);n+=z.packedLength;let f=t[n++],d=t[n++],p=t[n++],g=new Array(p);for(let m=0;m<p;++m)g[m]=t[n++];a[c]=new bp({color:u,offset:f,count:d,batchIds:g})}return i}var _2e=new xi("createVectorTileGeometries",5),g2e=new z;function y2e(e){if(!l(e._primitive)&&!l(e._verticesPromise)){let t=e._boxes,n=e._boxBatchIds,i=e._cylinders,o=e._cylinderBatchIds,r=e._ellipsoids,s=e._ellipsoidBatchIds,a=e._spheres,c=e._sphereBatchIds,u=e._batchTableColors,f=e._packedBuffer;if(!l(u)){let m=0;l(e._boxes)&&(t=e._boxes=t.slice(),n=e._boxBatchIds=n.slice(),m+=n.length),l(e._cylinders)&&(i=e._cylinders=i.slice(),o=e._cylinderBatchIds=o.slice(),m+=o.length),l(e._ellipsoids)&&(r=e._ellipsoids=r.slice(),s=e._ellipsoidBatchIds=s.slice(),m+=s.length),l(e._spheres)&&(a=e._sphere=a.slice(),c=e._sphereBatchIds=c.slice(),m+=c.length),u=e._batchTableColors=new Uint32Array(m);let x=e._batchTable;for(let b=0;b<m;++b){let T=x.getColor(b,g2e);u[b]=T.toRgba()}f=e._packedBuffer=m2e(e)}let d=[];l(t)&&d.push(t.buffer,n.buffer),l(i)&&d.push(i.buffer,o.buffer),l(r)&&d.push(r.buffer,s.buffer),l(a)&&d.push(a.buffer,c.buffer),d.push(u.buffer,f.buffer);let p={boxes:l(t)?t.buffer:void 0,boxBatchIds:l(t)?n.buffer:void 0,cylinders:l(i)?i.buffer:void 0,cylinderBatchIds:l(i)?o.buffer:void 0,ellipsoids:l(r)?r.buffer:void 0,ellipsoidBatchIds:l(r)?s.buffer:void 0,spheres:l(a)?a.buffer:void 0,sphereBatchIds:l(a)?c.buffer:void 0,batchTableColors:u.buffer,packedBuffer:f.buffer},g=e._verticesPromise=_2e.scheduleTask(p,d);return l(g)?g.then(function(m){if(e.isDestroyed())return;let x=new Float64Array(m.packedBuffer);p2e(e,x)===2?e._indices=new Uint16Array(m.indices):e._indices=new Uint32Array(m.indices),e._indexOffsets=new Uint32Array(m.indexOffsets),e._indexCounts=new Uint32Array(m.indexCounts),e._positions=new Float32Array(m.positions),e._vertexBatchIds=new Uint16Array(m.vertexBatchIds),e._batchIds=new Uint16Array(m.batchIds),x2e(e),e._ready=!0}).catch(m=>{e.isDestroyed()||(e._error=m)}):void 0}}function x2e(e){l(e._primitive)||(e._primitive=new _C({batchTable:e._batchTable,positions:e._positions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center,pickObject:y(e._pickObject,e)}),e._boxes=void 0,e._boxBatchIds=void 0,e._cylinders=void 0,e._cylinderBatchIds=void 0,e._ellipsoids=void 0,e._ellipsoidBatchIds=void 0,e._spheres=void 0,e._sphereBatchIds=void 0,e._center=void 0,e._modelMatrix=void 0,e._batchTable=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0,e._indices=void 0,e._indexOffsets=void 0,e._indexCounts=void 0,e._positions=void 0,e._vertexBatchIds=void 0,e._batchIds=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._verticesPromise=void 0)}iu.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};iu.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};iu.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};iu.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};iu.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=y2e(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};iu.prototype.isDestroyed=function(){return!1};iu.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var fg=iu;function Gh(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._geometries=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,C2e(this,i,o)}Object.defineProperties(Gh.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return l(this._geometries)?this._geometries.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._geometries)?this._geometries.geometryByteLength:0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function b2e(e){return function(t,n){l(e._geometries)&&e._geometries.updateCommands(t,n)}}function T2e(e,t){let n,i,o,r,s,a=y(e.BOXES_LENGTH,0),c=y(e.CYLINDERS_LENGTH,0),u=y(e.ELLIPSOIDS_LENGTH,0),f=y(e.SPHERES_LENGTH,0);if(a>0&&l(e.BOX_BATCH_IDS)){let m=t.byteOffset+e.BOX_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,m,a)}if(c>0&&l(e.CYLINDER_BATCH_IDS)){let m=t.byteOffset+e.CYLINDER_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,m,c)}if(u>0&&l(e.ELLIPSOID_BATCH_IDS)){let m=t.byteOffset+e.ELLIPSOID_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,m,u)}if(f>0&&l(e.SPHERE_BATCH_IDS)){let m=t.byteOffset+e.SPHERE_BATCH_IDS.byteOffset;r=new Uint16Array(t.buffer,m,f)}let d=l(n)||l(i)||l(o)||l(r),p=a>0&&!l(n)||c>0&&!l(i)||u>0&&!l(o)||f>0&&!l(r);if(d&&p)throw new se("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)&&!l(r)){let m=0;if(!l(n)&&a>0)for(n=new Uint16Array(a),s=0;s<a;++s)n[s]=m++;if(!l(i)&&c>0)for(i=new Uint16Array(c),s=0;s<c;++s)i[s]=m++;if(!l(o)&&u>0)for(o=new Uint16Array(u),s=0;s<u;++s)o[s]=m++;if(!l(r)&&f>0)for(r=new Uint16Array(f),s=0;s<f;++s)r[s]=m++}return{boxes:n,cylinders:i,ellipsoids:o,spheres:r}}var lx=Uint32Array.BYTES_PER_ELEMENT;function C2e(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=lx;let r=o.getUint32(n,!0);if(r!==1)throw new se(`Only Geometry tile version 1 is supported. Version ${r} is not.`);n+=lx;let s=o.getUint32(n,!0);if(n+=lx,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=lx,a===0)throw new se("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=lx;let u=o.getUint32(n,!0);n+=lx;let f=o.getUint32(n,!0);n+=lx;let d=Fo(i,n,a);n+=a;let p=new Uint8Array(t,n,c);n+=c;let g,m;u>0&&(g=Fo(i,n,u),n+=u,f>0&&(m=new Uint8Array(t,n,f),m=new Uint8Array(m)));let x=y(d.BOXES_LENGTH,0),b=y(d.CYLINDERS_LENGTH,0),T=y(d.ELLIPSOIDS_LENGTH,0),C=y(d.SPHERES_LENGTH,0),A=x+b+T+C,S=new cg(e,A,g,m,b2e(e));if(e._batchTable=S,A===0)return;let v=e.tile.computedTransform,D;l(d.RTC_CENTER)&&(D=h.unpack(d.RTC_CENTER),F.multiplyByPoint(v,D,D));let R=T2e(d,p);if(x>0||b>0||T>0||C>0){let O,M,N,_;if(x>0){let E=p.byteOffset+d.BOXES.byteOffset;O=new Float32Array(p.buffer,E,fg.packedBoxLength*x)}if(b>0){let E=p.byteOffset+d.CYLINDERS.byteOffset;M=new Float32Array(p.buffer,E,fg.packedCylinderLength*b)}if(T>0){let E=p.byteOffset+d.ELLIPSOIDS.byteOffset;N=new Float32Array(p.buffer,E,fg.packedEllipsoidLength*T)}if(C>0){let E=p.byteOffset+d.SPHERES.byteOffset;_=new Float32Array(p.buffer,E,fg.packedSphereLength*C)}return e._geometries=new fg({boxes:O,boxBatchIds:R.boxes,cylinders:M,cylinderBatchIds:R.cylinders,ellipsoids:N,ellipsoidBatchIds:R.ellipsoids,spheres:_,sphereBatchIds:R.spheres,center:D,modelMatrix:v,batchTable:S,boundingVolume:e.tile.boundingVolume.boundingVolume}),e}return Promise.resolve(e)}function eie(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._geometries)&&e._geometries.createFeatures(e,n),e._features=n}}Gh.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};Gh.prototype.getFeature=function(e){return eie(this),this._features[e]};Gh.prototype.applyDebugSettings=function(e,t){l(this._geometries)&&this._geometries.applyDebugSettings(e,t)};Gh.prototype.applyStyle=function(e){eie(this),l(this._geometries)&&this._geometries.applyStyle(e,this._features)};Gh.prototype.update=function(e,t){l(this._geometries)&&(this._geometries.classificationType=this._tileset.classificationType,this._geometries.debugWireframe=this._tileset.debugWireframe,this._geometries.update(t)),l(this._batchTable)&&this._geometries.ready&&(this._batchTable.update(e,t),this._ready=!0)};Gh.prototype.pick=function(e,t,n){};Gh.prototype.isDestroyed=function(){return!1};Gh.prototype.destroy=function(){return this._geometries=this._geometries&&this._geometries.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};var sN=Gh;var A9={};A9.encode2D=function(e,t,n){let i=Math.pow(2,e),o={x:t,y:n},r,s,a,c=BigInt(0);for(a=i/2;a>0;a/=2)r=(o.x&a)>0?1:0,s=(o.y&a)>0?1:0,c+=BigInt((3*r^s)*a*a),tie(i,o,r,s);return c};A9.decode2D=function(e,t){let n=Math.pow(2,e),i={x:0,y:0},o,r,s,a;for(s=1,a=t;s<n;s*=2)o=1&Number(a/BigInt(2)),r=1&Number(a^BigInt(o)),tie(s,i,o,r),i.x+=s*o,i.y+=s*r,a/=BigInt(4);return[i.x,i.y]};function tie(e,t,n,i){if(i!==0)return;n===1&&(t.x=e-1-t.x,t.y=e-1-t.y);let o=t.x;t.x=t.y,t.y=o}var Xv=A9;var ux=30,A2e=1<<ux,E2e=1<<ux+1>>>0,E9=2*ux+1,dg=4,oie=[],rie=[],S2e=[[0,1,3,2],[0,2,3,1],[3,2,0,1],[3,1,0,2]],hg=1,gC=2,aN=[hg,0,0,hg|gC];function Yr(e){if(!Gt.supportsBigInt())throw new se("S2 required BigInt support");this._cellId=e,this._level=Yr.getLevel(e)}Yr.fromToken=function(e){return new Yr(Yr.getIdFromToken(e))};Yr.isValidId=function(e){return!(e<=0||e>>BigInt(E9)>5||!(e&~e+BigInt(1)&BigInt("0x1555555555555555")))};Yr.isValidToken=function(e){return/^[0-9a-fA-F]{1,16}$/.test(e)?Yr.isValidId(Yr.getIdFromToken(e)):!1};Yr.getIdFromToken=function(e){return BigInt("0x"+e+"0".repeat(16-e.length))};Yr.getTokenFromId=function(e){let t=Math.floor(N2e(e)/4),n=e.toString(16).replace(/0*$/,"");return Array(17-t-n.length).join("0")+n};Yr.getLevel=function(e){let t=0;for(;e!==BigInt(0)&&!(e&BigInt(1));)t++,e=e>>BigInt(1);return ux-(t>>1)};Yr.prototype.getChild=function(e){let t=cie(this._cellId)>>BigInt(2),n=this._cellId+BigInt(2*e+1-4)*t;return new Yr(n)};Yr.prototype.getParent=function(){let e=cie(this._cellId)<<BigInt(2);return new Yr(this._cellId&~e+BigInt(1)|e)};Yr.prototype.getParentAtLevel=function(e){let t=M2e(e);return new Yr(this._cellId&-t|t)};Yr.prototype.getCenter=function(e){e=y(e,ee.WGS84);let t=v2e(this._cellId,this._level);t=h.normalize(t,t);let n=new fe.fromCartesian(t,ee.UNIT_SPHERE);return fe.toCartesian(n,e,new h)};Yr.prototype.getVertex=function(e,t){t=y(t,ee.WGS84);let n=w2e(this._cellId,this._level,e);n=h.normalize(n,n);let i=new fe.fromCartesian(n,ee.UNIT_SPHERE);return fe.toCartesian(i,t,new h)};Yr.fromFacePositionLevel=function(e,t,n){let i=(e<4?"0":"")+(e<2?"0":"")+e.toString(2),o=t.toString(2),r=Array(2*n-o.length+1).join("0"),s=Array(E9-2*n).join("0"),a=BigInt(`0b${i}${r}${o}1${s}`);return new Yr(a)};function v2e(e,t){let n=D2e(e,t);return I2e(n[0],n[1],n[2])}function w2e(e,t,n){let i=sie(e,t),o=P2e([i[1],i[2]],t),r=n>>1&1;return aie(i[0],o[0][r^n&1],o[1][r])}function D2e(e,t){let n=sie(e),i=n[0],o=n[1],r=n[2],s=t===30,a=!s&&(BigInt(o)^e>>BigInt(2))&BigInt(1),c=s?1:a?2:0,u=(o<<1)+c,f=(r<<1)+c;return[i,u,f]}function sie(e){oie.length===0&&R2e();let t=Number(e>>BigInt(E9)),n=t&hg,i=(1<<dg)-1,o=0,r=0;for(let s=7;s>=0;s--){let c=(1<<2*(s===7?ux-7*dg:dg))-1;n+=Number(e>>BigInt(s*2*dg+1)&BigInt(c))<<2,n=rie[n];let u=s*dg;o+=n>>dg+2<<u,r+=(n>>2&i)<<u,n&=hg|gC}return[t,o,r]}function I2e(e,t,n){let i=nie(t),o=nie(n),r=cN(i),s=cN(o);return aie(e,r,s)}function aie(e,t,n){switch(e){case 0:return new h(1,t,n);case 1:return new h(-t,1,n);case 2:return new h(-t,-n,1);case 3:return new h(-1,-n,-t);case 4:return new h(n,-1,-t);default:return new h(n,t,-1)}}function cN(e){return e>=.5?1/3*(4*e*e-1):1/3*(1-4*(1-e)*(1-e))}function nie(e){return 1/E2e*e}function P2e(e,t){let n=[[],[]],i=O2e(t);for(let o=0;o<2;++o){let r=e[o]&-i,s=r+i;n[o][0]=cN(iie(r)),n[o][1]=cN(iie(s))}return n}function O2e(e){return 1<<ux-e>>>0}function iie(e){return 1/A2e*e}function mg(e,t,n,i,o,r){if(e===dg){let s=(t<<dg)+n;oie[(s<<2)+i]=(o<<2)+r,rie[(o<<2)+i]=(s<<2)+r}else{e++,t<<=1,n<<=1,o<<=2;let s=S2e[r];mg(e,t+(s[0]>>1),n+(s[0]&1),i,o,r^aN[0]),mg(e,t+(s[1]>>1),n+(s[1]&1),i,o+1,r^aN[1]),mg(e,t+(s[2]>>1),n+(s[2]&1),i,o+2,r^aN[2]),mg(e,t+(s[3]>>1),n+(s[3]&1),i,o+3,r^aN[3])}}function R2e(){mg(0,0,0,0,0,0),mg(0,0,0,hg,0,hg),mg(0,0,0,gC,0,gC),mg(0,0,0,hg|gC,0,hg|gC)}function cie(e){return e&~e+BigInt(1)}function M2e(e){return BigInt(1)<<BigInt(2*(ux-e))}var L2e=[64,0,1,39,2,15,40,23,3,12,16,59,41,19,24,54,4,64,13,10,17,62,60,28,42,30,20,51,25,44,55,47,5,32,65,38,14,22,11,58,18,53,63,9,61,27,29,50,43,46,31,37,21,57,52,8,26,49,45,36,56,7,48,35,6,34,33,0];function N2e(e){return L2e[(-e&e)%BigInt(67)]}var pg=Yr;function F2e(e,t){return l(e)&&l(e.extensions)&&l(e.extensions[t])}var li=F2e;function S9(e){let t=e.lengthBits,n=e.availableCount,i=e.constant,o=e.bitstream;if(l(i))n=t;else{let r=Math.ceil(t/8);if(o.length!==r)throw new se(`Availability bitstream must be exactly ${r} bytes long to store ${t} bits. Actual bitstream was ${o.length} bytes long.`);let s=y(e.computeAvailableCountEnabled,!1);!l(n)&&s&&(n=B2e(o,t))}this._lengthBits=t,this._availableCount=n,this._constant=i,this._bitstream=o}function B2e(e,t){let n=0;for(let i=0;i<t;i++){let o=i>>3,r=i%8;n+=e[o]>>r&1}return n}Object.defineProperties(S9.prototype,{lengthBits:{get:function(){return this._lengthBits}},availableCount:{get:function(){return this._availableCount}}});S9.prototype.getBit=function(e){if(l(this._constant))return this._constant;let t=e>>3,n=e%8;return(this._bitstream[t]>>n&1)===1};var Kv=S9;function Cp(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataTable,n=e.class,i=e.entityId,o=e.propertyTableJson;this._class=n,this._metadataTable=t,this._entityId=i,this._extensions=o.extensions,this._extras=o.extras}Object.defineProperties(Cp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Cp.prototype.hasProperty=function(e){return this._metadataTable.hasProperty(e)};Cp.prototype.hasPropertyBySemantic=function(e){return this._metadataTable.hasPropertyBySemantic(e)};Cp.prototype.getPropertyIds=function(e){return this._metadataTable.getPropertyIds(e)};Cp.prototype.getProperty=function(e){return this._metadataTable.getProperty(this._entityId,e)};Cp.prototype.setProperty=function(e,t){return this._metadataTable.setProperty(this._entityId,e,t)};Cp.prototype.getPropertyBySemantic=function(e){return this._metadataTable.getPropertyBySemantic(this._entityId,e)};Cp.prototype.setPropertyBySemantic=function(e,t){return this._metadataTable.setPropertyBySemantic(this._entityId,e,t)};var Zv=Cp;var lN={QUADTREE:"QUADTREE",OCTREE:"OCTREE"};lN.getBranchingFactor=function(e){switch(e){case lN.OCTREE:return 8;case lN.QUADTREE:return 4}};var ss=Object.freeze(lN);function ra(){}Object.defineProperties(ra.prototype,{class:{get:function(){de.throwInstantiationError()}}});ra.prototype.hasProperty=function(e){de.throwInstantiationError()};ra.prototype.hasPropertyBySemantic=function(e){de.throwInstantiationError()};ra.prototype.getPropertyIds=function(e){de.throwInstantiationError()};ra.prototype.getProperty=function(e){de.throwInstantiationError()};ra.prototype.setProperty=function(e,t){de.throwInstantiationError()};ra.prototype.getPropertyBySemantic=function(e){de.throwInstantiationError()};ra.prototype.setPropertyBySemantic=function(e,t){de.throwInstantiationError()};ra.hasProperty=function(e,t,n){if(l(t[e]))return!0;let i=n.properties;if(!l(i))return!1;let o=i[e];return!!(l(o)&&l(o.default))};ra.hasPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return!1;let o=i[e];return l(o)};ra.getPropertyIds=function(e,t,n){n=l(n)?n:[],n.length=0;for(let o in e)e.hasOwnProperty(o)&&l(e[o])&&n.push(o);let i=t.properties;if(l(i))for(let o in i)i.hasOwnProperty(o)&&!l(e[o])&&l(i[o].default)&&n.push(o);return n};ra.getProperty=function(e,t,n){let i=n.properties[e],o=t[e];Array.isArray(o)&&(o=o.slice());let r=!0;if(o=i.handleNoData(o),!l(o)&&l(i.default))return o=We(i.default,!0),i.unpackVectorAndMatrixTypes(o,r);if(l(o))return o=i.normalize(o),o=i.applyValueTransform(o),i.unpackVectorAndMatrixTypes(o,r)};ra.setProperty=function(e,t,n,i){if(!l(n[e]))return!1;Array.isArray(t)&&(t=t.slice());let o,r=i.properties;return l(r)&&(o=r[e]),l(o)&&(t=o.packVectorAndMatrixTypes(t,!0),t=o.unapplyValueTransform(t),t=o.unnormalize(t)),n[e]=t,!0};ra.getPropertyBySemantic=function(e,t,n){let i=n.propertiesBySemantic;if(!l(i))return;let o=i[e];if(l(o))return ra.getProperty(o.id,t,n)};ra.setPropertyBySemantic=function(e,t,n,i){let o=i.propertiesBySemantic;if(!l(o))return!1;let r=i.propertiesBySemantic[e];return l(r)?ra.setProperty(r.id,t,n,i):!1};var kn=ra;function Ap(e){e=y(e,y.EMPTY_OBJECT);let t=e.subtreeMetadata,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Ap.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Ap.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Ap.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Ap.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Ap.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};Ap.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};Ap.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};Ap.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var uN=Ap;var Nt={INT8:"INT8",UINT8:"UINT8",INT16:"INT16",UINT16:"UINT16",INT32:"INT32",UINT32:"UINT32",INT64:"INT64",UINT64:"UINT64",FLOAT32:"FLOAT32",FLOAT64:"FLOAT64"};Nt.getMinimum=function(e){switch(e){case Nt.INT8:return-128;case Nt.UINT8:return 0;case Nt.INT16:return-32768;case Nt.UINT16:return 0;case Nt.INT32:return-2147483648;case Nt.UINT32:return 0;case Nt.INT64:return Gt.supportsBigInt()?BigInt("-9223372036854775808"):-Math.pow(2,63);case Nt.UINT64:return Gt.supportsBigInt()?BigInt(0):0;case Nt.FLOAT32:return-34028234663852886e22;case Nt.FLOAT64:return-Number.MAX_VALUE}};Nt.getMaximum=function(e){switch(e){case Nt.INT8:return 127;case Nt.UINT8:return 255;case Nt.INT16:return 32767;case Nt.UINT16:return 65535;case Nt.INT32:return 2147483647;case Nt.UINT32:return 4294967295;case Nt.INT64:return Gt.supportsBigInt()?BigInt("9223372036854775807"):Math.pow(2,63)-1;case Nt.UINT64:return Gt.supportsBigInt()?BigInt("18446744073709551615"):Math.pow(2,64)-1;case Nt.FLOAT32:return 34028234663852886e22;case Nt.FLOAT64:return Number.MAX_VALUE}};Nt.isIntegerType=function(e){switch(e){case Nt.INT8:case Nt.UINT8:case Nt.INT16:case Nt.UINT16:case Nt.INT32:case Nt.UINT32:case Nt.INT64:case Nt.UINT64:return!0;default:return!1}};Nt.isUnsignedIntegerType=function(e){switch(e){case Nt.UINT8:case Nt.UINT16:case Nt.UINT32:case Nt.UINT64:return!0;default:return!1}};Nt.isVectorCompatible=function(e){switch(e){case Nt.INT8:case Nt.UINT8:case Nt.INT16:case Nt.UINT16:case Nt.INT32:case Nt.UINT32:case Nt.FLOAT32:case Nt.FLOAT64:return!0;default:return!1}};Nt.normalize=function(e,t){return Math.max(Number(e)/Number(Nt.getMaximum(t)),-1)};Nt.unnormalize=function(e,t){let n=Nt.getMaximum(t),i=Nt.isUnsignedIntegerType(t)?0:-n;return e=P.sign(e)*Math.round(Math.abs(e)*Number(n)),(t===Nt.INT64||t===Nt.UINT64)&&Gt.supportsBigInt()&&(e=BigInt(e)),e>n?n:e<i?i:e};Nt.applyValueTransform=function(e,t,n){return n*e+t};Nt.unapplyValueTransform=function(e,t,n){return n===0?0:(e-t)/n};Nt.getSizeInBytes=function(e){switch(e){case Nt.INT8:case Nt.UINT8:return 1;case Nt.INT16:case Nt.UINT16:return 2;case Nt.INT32:case Nt.UINT32:return 4;case Nt.INT64:case Nt.UINT64:return 8;case Nt.FLOAT32:return 4;case Nt.FLOAT64:return 8}};Nt.fromComponentDatatype=function(e){switch(e){case X.BYTE:return Nt.INT8;case X.UNSIGNED_BYTE:return Nt.UINT8;case X.SHORT:return Nt.INT16;case X.UNSIGNED_SHORT:return Nt.UINT16;case X.INT:return Nt.INT32;case X.UNSIGNED_INT:return Nt.UINT32;case X.FLOAT:return Nt.FLOAT32;case X.DOUBLE:return Nt.FLOAT64}};Nt.toComponentDatatype=function(e){switch(e){case Nt.INT8:return X.BYTE;case Nt.UINT8:return X.UNSIGNED_BYTE;case Nt.INT16:return X.SHORT;case Nt.UINT16:return X.UNSIGNED_SHORT;case Nt.INT32:return X.INT;case Nt.UINT32:return X.UNSIGNED_INT;case Nt.FLOAT32:return X.FLOAT;case Nt.FLOAT64:return X.DOUBLE}};var Vt=Object.freeze(Nt);var Bo={SCALAR:"SCALAR",VEC2:"VEC2",VEC3:"VEC3",VEC4:"VEC4",MAT2:"MAT2",MAT3:"MAT3",MAT4:"MAT4",BOOLEAN:"BOOLEAN",STRING:"STRING",ENUM:"ENUM"};Bo.isVectorType=function(e){switch(e){case Bo.VEC2:case Bo.VEC3:case Bo.VEC4:return!0;default:return!1}};Bo.isMatrixType=function(e){switch(e){case Bo.MAT2:case Bo.MAT3:case Bo.MAT4:return!0;default:return!1}};Bo.getComponentCount=function(e){switch(e){case Bo.SCALAR:case Bo.STRING:case Bo.ENUM:case Bo.BOOLEAN:return 1;case Bo.VEC2:return 2;case Bo.VEC3:return 3;case Bo.VEC4:return 4;case Bo.MAT2:return 4;case Bo.MAT3:return 9;case Bo.MAT4:return 16}};Bo.getMathType=function(e){switch(e){case Bo.VEC2:return U;case Bo.VEC3:return h;case Bo.VEC4:return oe;case Bo.MAT2:return Pi;case Bo.MAT3:return $;case Bo.MAT4:return F;default:return}};var dt=Object.freeze(Bo);function Da(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.type,i=e.componentType,o=e.enumType,r=l(i)&&Vt.isIntegerType(i)&&y(e.normalized,!1);this._id=t,this._name=e.name,this._description=e.description,this._semantic=e.semantic,this._isLegacyExtension=e.isLegacyExtension,this._type=n,this._componentType=i,this._enumType=o,this._valueType=l(o)?o.valueType:i,this._isArray=y(e.isArray,!1),this._isVariableLengthArray=y(e.isVariableLengthArray,!1),this._arrayLength=e.arrayLength,this._min=We(e.min,!0),this._max=We(e.max,!0),this._normalized=r;let s=We(e.offset,!0),a=We(e.scale,!0),c=l(s)||l(a),u=!0;l(s)||(s=this.expandConstant(0,u)),l(a)||(a=this.expandConstant(1,u)),this._offset=s,this._scale=a,this._hasValueTransform=c,this._noData=We(e.noData,!0),this._default=We(e.default,!0),this._required=y(e.required,!0),this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}Da.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.property,i=k2e(n),o=V2e(n,e.enums),r;return l(i)?i?r=l(n.optional)?!n.optional:!0:r=y(n.required,!1):r=!1,new Da({id:t,type:o.type,componentType:o.componentType,enumType:o.enumType,isArray:o.isArray,isVariableLengthArray:o.isVariableLengthArray,arrayLength:o.arrayLength,normalized:n.normalized,min:n.min,max:n.max,offset:n.offset,scale:n.scale,noData:n.noData,default:n.default,required:r,name:n.name,description:n.description,semantic:n.semantic,extras:n.extras,extensions:n.extensions,isLegacyExtension:i})};Object.defineProperties(Da.prototype,{id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},type:{get:function(){return this._type}},enumType:{get:function(){return this._enumType}},componentType:{get:function(){return this._componentType}},valueType:{get:function(){return this._valueType}},isArray:{get:function(){return this._isArray}},isVariableLengthArray:{get:function(){return this._isVariableLengthArray}},arrayLength:{get:function(){return this._arrayLength}},normalized:{get:function(){return this._normalized}},max:{get:function(){return this._max}},min:{get:function(){return this._min}},noData:{get:function(){return this._noData}},default:{get:function(){return this._default}},required:{get:function(){return this._required}},semantic:{get:function(){return this._semantic}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});function k2e(e){if(e.type==="ARRAY")return!0;let t=e.type;if(t===dt.SCALAR||dt.isMatrixType(t)||dt.isVectorType(t))return!1;if(l(Vt[t]))return!0;if(l(e.noData)||l(e.scale)||l(e.offset)||l(e.required)||l(e.count)||l(e.array)||l(e.optional))return!1}function V2e(e,t){let n=e.type,i=e.componentType,o=n==="ARRAY",r,s,a;o?(r=!0,s=e.componentCount,a=!l(s)):e.array?(r=!0,s=e.count,a=!l(e.count)):(r=!1,s=void 0,a=!1);let c;if(l(e.enumType)&&(c=t[e.enumType]),n===dt.ENUM)return{type:n,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&i===dt.ENUM)return{type:i,componentType:void 0,enumType:c,valueType:c.valueType,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===dt.SCALAR||dt.isMatrixType(n)||dt.isVectorType(n))return{type:n,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(n===dt.BOOLEAN||n===dt.STRING)return{type:n,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(o&&(i===dt.BOOLEAN||i===dt.STRING))return{type:i,componentType:void 0,enumType:void 0,valueType:void 0,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(i)&&l(Vt[i]))return{type:dt.SCALAR,componentType:i,enumType:void 0,valueType:i,isArray:r,isVariableLengthArray:a,arrayLength:s};if(l(Vt[n]))return{type:dt.SCALAR,componentType:n,enumType:void 0,valueType:n,isArray:r,isVariableLengthArray:a,arrayLength:s}}Da.prototype.normalize=function(e){return this._normalized?v9(e,this._valueType,Vt.normalize):e};Da.prototype.unnormalize=function(e){return this._normalized?v9(e,this._valueType,Vt.unnormalize):e};Da.prototype.applyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Da.valueTransformInPlace(e,this._offset,this._scale,Vt.applyValueTransform)};Da.prototype.unapplyValueTransform=function(e){return!this._hasValueTransform||this._isVariableLengthArray?e:Da.valueTransformInPlace(e,this._offset,this._scale,Vt.unapplyValueTransform)};Da.prototype.expandConstant=function(e,t){t=y(t,!1);let n=this._isArray,i=this._arrayLength,o=dt.getComponentCount(this._type),r=n&&o>1;if(!n&&o===1)return e;if(!n)return new Array(o).fill(e);if(!r)return new Array(i).fill(e);if(!t)return new Array(this._arrayLength*o).fill(e);let s=new Array(o).fill(e);return new Array(this._arrayLength).fill(s)};Da.prototype.handleNoData=function(e){let t=this._noData;if(!l(t))return e;if(!die(e,t))return e};function die(e,t){if(!Array.isArray(e))return e===t;if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!die(e[n],t[n]))return!1;return!0}Da.prototype.unpackVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=dt.getMathType(this._type),i=this._isArray,o=dt.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.unpack(s)}):i?n.unpackArray(e):n.unpack(e):e};Da.prototype.packVectorAndMatrixTypes=function(e,t){t=y(t,!1);let n=dt.getMathType(this._type),i=this._isArray,o=dt.getComponentCount(this._type),r=i&&o>1;return l(n)?t&&r?e.map(function(s){return n.pack(s,[])}):i?n.packArray(e,[]):n.pack(e,[]):e};Da.prototype.validate=function(e){if(!(!l(e)&&l(this._default)))return this._required&&!l(e)?"required property must have a value":this._isArray?U2e(this,e):hie(this,e)};function U2e(e,t){if(!Array.isArray(t))return`value ${t} must be an array`;let n=t.length;if(!e._isVariableLengthArray&&n!==e._arrayLength)return"Array length does not match property.arrayLength";for(let i=0;i<n;i++){let o=hie(e,t[i]);if(l(o))return o}}function hie(e,t){let n=e._type,i=e._componentType,o=e._enumType,r=e._normalized;return dt.isVectorType(n)?z2e(t,n,i):dt.isMatrixType(n)?H2e(t,n,i):n===dt.STRING?G2e(t):n===dt.BOOLEAN?W2e(t):n===dt.ENUM?j2e(t,o):q2e(t,i,r)}function z2e(e,t,n){if(!Vt.isVectorCompatible(n))return`componentType ${n} is incompatible with vector type ${t}`;if(t===dt.VEC2&&!(e instanceof U))return`vector value ${e} must be a Cartesian2`;if(t===dt.VEC3&&!(e instanceof h))return`vector value ${e} must be a Cartesian3`;if(t===dt.VEC4&&!(e instanceof oe))return`vector value ${e} must be a Cartesian4`}function H2e(e,t,n){if(!Vt.isVectorCompatible(n))return`componentType ${n} is incompatible with matrix type ${t}`;if(t===dt.MAT2&&!(e instanceof Pi))return`matrix value ${e} must be a Matrix2`;if(t===dt.MAT3&&!(e instanceof $))return`matrix value ${e} must be a Matrix3`;if(t===dt.MAT4&&!(e instanceof F))return`matrix value ${e} must be a Matrix4`}function G2e(e){if(typeof e!="string")return fN(e,dt.STRING)}function W2e(e){if(typeof e!="boolean")return fN(e,dt.BOOLEAN)}function j2e(e,t){let n=typeof e;if(l(t))return n!=="string"||!l(t.valuesByName[e])?`value ${e} is not a valid enum name for ${t.id}`:void 0}function q2e(e,t,n){let i=typeof e;switch(t){case Vt.INT8:case Vt.UINT8:case Vt.INT16:case Vt.UINT16:case Vt.INT32:case Vt.UINT32:case Vt.FLOAT32:case Vt.FLOAT64:return i!=="number"?fN(e,t):isFinite(e)?uie(e,t,n):fie(e,t);case Vt.INT64:case Vt.UINT64:return i!=="number"&&i!=="bigint"?fN(e,t):i==="number"&&!isFinite(e)?fie(e,t):uie(e,t,n)}}function fN(e,t){return`value ${e} does not match type ${t}`}function lie(e,t,n){let i=`value ${e} is out of range for type ${t}`;return n&&(i+=" (normalized)"),i}function uie(e,t,n){if(n){let i=Vt.isUnsignedIntegerType(t)?0:-1;return e<i||e>1?lie(e,t,n):void 0}if(e<Vt.getMinimum(t)||e>Vt.getMaximum(t))return lie(e,t,n)}function fie(e,t){return`value ${e} of type ${t} must be finite`}function v9(e,t,n){if(!Array.isArray(e))return n(e,t);for(let i=0;i<e.length;i++)e[i]=v9(e[i],t,n);return e}Da.valueTransformInPlace=function(e,t,n,i){if(!Array.isArray(e))return i(e,t,n);for(let o=0;o<e.length;o++)e[o]=Da.valueTransformInPlace(e[o],t[o],n[o],i);return e};var Ep=Da;function $v(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.property,i=e.classProperty,o=e.bufferViews,r=i.type,s=i.isArray,a=i.isVariableLengthArray,c=i.valueType,u=i.enumType,f=r===dt.STRING,d=r===dt.BOOLEAN,p=0,g;if(a){let _=y(n.arrayOffsetType,n.offsetType);_=y(Vt[_],Vt.UINT32);let E=y(n.arrayOffsets,n.arrayOffsetBufferView);g=new w9(o[E],_,t+1),p+=g.typedArray.byteLength}let m=dt.getComponentCount(r),x;a?x=g.get(t)-g.get(0):s?x=t*i.arrayLength:x=t;let b=m*x,T;if(f){let _=y(n.stringOffsetType,n.offsetType);_=y(Vt[_],Vt.UINT32);let E=y(n.stringOffsets,n.stringOffsetBufferView);T=new w9(o[E],_,b+1),p+=T.typedArray.byteLength}(f||d)&&(c=Vt.UINT8);let C;f?C=T.get(b)-T.get(0):d?C=Math.ceil(b/8):C=b;let A=y(n.values,n.bufferView),S=new w9(o[A],c,C);p+=S.typedArray.byteLength;let v=n.offset,D=n.scale,R=i.hasValueTransform||l(v)||l(D);v=y(v,i.offset),D=y(D,i.scale),v=mie(v),D=mie(D);let O,M,N=this;f?O=function(_){return K2e(_,N._values,N._stringOffsets)}:d?(O=function(_){return Z2e(_,N._values)},M=function(_,E){$2e(_,N._values,E)}):l(u)?(O=function(_){let E=N._values.get(_);return u.namesByValue[E]},M=function(_,E){let w=u.valuesByName[E];N._values.set(_,w)}):(O=function(_){return N._values.get(_)},M=function(_,E){N._values.set(_,E)}),this._arrayOffsets=g,this._stringOffsets=T,this._values=S,this._classProperty=i,this._count=t,this._vectorComponentCount=m,this._min=n.min,this._max=n.max,this._offset=v,this._scale=D,this._hasValueTransform=R,this._getValue=O,this._setValue=M,this._unpackedValues=void 0,this._extras=n.extras,this._extensions=n.extensions,this._byteLength=p}Object.defineProperties($v.prototype,{hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){return this._byteLength}}});$v.prototype.get=function(e){let t=Y2e(this,e);return t=this._classProperty.handleNoData(t),l(t)?(t=this._classProperty.normalize(t),t=rBe(this,t),this._classProperty.unpackVectorAndMatrixTypes(t)):(t=this._classProperty.default,this._classProperty.unpackVectorAndMatrixTypes(t))};$v.prototype.set=function(e,t){let n=this._classProperty;t=n.packVectorAndMatrixTypes(t),t=sBe(this,t),t=n.unnormalize(t),X2e(this,e,t)};$v.prototype.getTypedArray=function(){if(l(this._values))return this._values.typedArray};function mie(e){if(!Array.isArray(e))return e;let t=[];for(let n=0;n<e.length;n++){let i=e[n];Array.isArray(i)?t.push.apply(t,i):t.push(i)}return t}function Y2e(e,t){_ie(e)&&gie(e);let n=e._classProperty,i=n.isArray,o=n.type,r=dt.getComponentCount(o);if(l(e._unpackedValues)){let s=e._unpackedValues[t];return i?We(s,!0):s}return!i&&r===1?e._getValue(t):pie(e,n,t)}function pie(e,t,n){let i,o;if(t.isVariableLengthArray){i=e._arrayOffsets.get(n),o=e._arrayOffsets.get(n+1)-i;let s=dt.getComponentCount(t.type);i*=s,o*=s}else{let a=y(t.arrayLength,1)*e._vectorComponentCount;i=n*a,o=a}let r=new Array(o);for(let s=0;s<o;s++)r[s]=e._getValue(i+s);return r}function X2e(e,t,n){iBe(e,t,n)&&gie(e);let i=e._classProperty,o=i.isArray,r=i.type,s=dt.getComponentCount(r);if(l(e._unpackedValues)){i.isArray&&(n=We(n,!0)),e._unpackedValues[t]=n;return}if(!o&&s===1){e._setValue(t,n);return}let a,c;if(i.isVariableLengthArray)a=e._arrayOffsets.get(t),c=e._arrayOffsets.get(t+1)-a;else{let f=y(i.arrayLength,1)*e._vectorComponentCount;a=t*f,c=f}for(let u=0;u<c;++u)e._setValue(a+u,n[u])}function K2e(e,t,n){let i=n.get(e),o=n.get(e+1)-i;return tu(t.typedArray,i,o)}function Z2e(e,t){let n=e>>3,i=e%8;return(t.typedArray[n]>>i&1)===1}function $2e(e,t,n){let i=e>>3,o=e%8;n?t.typedArray[i]|=1<<o:t.typedArray[i]&=~(1<<o)}function Q2e(e,t){let n=t.dataView,i=e*8,o=0,r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=c*Math.pow(256,a)}return r&&(o=-o),o}function J2e(e,t){let n=t.dataView,i=e*8,o=BigInt(0),r=(n.getUint8(i+7)&128)>0,s=!0;for(let a=0;a<8;++a){let c=n.getUint8(i+a);r&&(s?c!==0&&(c=~(c-1)&255,s=!1):c=~c&255),o+=BigInt(c)*(BigInt(1)<<BigInt(a*8))}return r&&(o=-o),o}function eBe(e,t){let n=t.dataView,i=e*8,o=n.getUint32(i,!0),r=n.getUint32(i+4,!0);return o+4294967296*r}function tBe(e,t){let n=t.dataView,i=e*8,o=BigInt(n.getUint32(i,!0)),r=BigInt(n.getUint32(i+4,!0));return o+BigInt(4294967296)*r}function nBe(e){switch(e){case Vt.INT8:return X.BYTE;case Vt.UINT8:return X.UNSIGNED_BYTE;case Vt.INT16:return X.SHORT;case Vt.UINT16:return X.UNSIGNED_SHORT;case Vt.INT32:return X.INT;case Vt.UINT32:return X.UNSIGNED_INT;case Vt.FLOAT32:return X.FLOAT;case Vt.FLOAT64:return X.DOUBLE}}function _ie(e){if(l(e._unpackedValues))return!1;let t=e._classProperty,n=t.type,i=t.valueType;return n===dt.STRING||i===Vt.INT64&&!Gt.supportsBigInt64Array()||i===Vt.UINT64&&!Gt.supportsBigUint64Array()}function iBe(e,t,n){if(_ie(e))return!0;let i=e._arrayOffsets;if(l(i)){let o=i.get(t+1)-i.get(t),r=n.length;if(o!==r)return!0}return!1}function gie(e){e._unpackedValues=oBe(e),e._arrayOffsets=void 0,e._stringOffsets=void 0,e._values=void 0}function oBe(e){let t=e._count,n=new Array(t),i=e._classProperty,o=i.isArray,r=i.type,s=dt.getComponentCount(r);if(!o&&s===1){for(let a=0;a<t;++a)n[a]=e._getValue(a);return n}for(let a=0;a<t;a++)n[a]=pie(e,i,a);return n}function rBe(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:Ep.valueTransformInPlace(t,e._offset,e._scale,Vt.applyValueTransform)}function sBe(e,t){let i=e._classProperty.isVariableLengthArray;return!e._hasValueTransform||i?t:Ep.valueTransformInPlace(t,e._offset,e._scale,Vt.unapplyValueTransform)}function w9(e,t,n){let i=this,o,r,s;if(t===Vt.INT64)Gt.supportsBigInt()?Gt.supportsBigInt64Array()?(o=new BigInt64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return J2e(a,i)}):(Tt("INT64 type is not fully supported on this platform. Values greater than 2^53 - 1 or less than -(2^53 - 1) may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return Q2e(a,i)});else if(t===Vt.UINT64)Gt.supportsBigInt()?Gt.supportsBigUint64Array()?(o=new BigUint64Array(e.buffer,e.byteOffset,n),s=function(a,c){i.typedArray[a]=BigInt(c)}):(o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return tBe(a,i)}):(Tt("UINT64 type is not fully supported on this platform. Values greater than 2^53 - 1 may lose precision when read."),o=new Uint8Array(e.buffer,e.byteOffset,n*8),r=function(a){return eBe(a,i)});else{let a=nBe(t);o=X.createArrayBufferView(a,e.buffer,e.byteOffset,n),s=function(c,u){i.typedArray[c]=u}}l(r)||(r=function(a){return i.typedArray[a]}),this.typedArray=o,this.dataView=new DataView(o.buffer,o.byteOffset),this.get=r,this.set=s,this._componentType=t}var dN=$v;function pd(e){e=y(e,y.EMPTY_OBJECT);let t=e.count,n=e.class,i=0,o={};if(l(e.properties)){for(let r in e.properties)if(e.properties.hasOwnProperty(r)){let s=new dN({count:t,property:e.properties[r],classProperty:n.properties[r],bufferViews:e.bufferViews});o[r]=s,i+=s.byteLength}}this._count=t,this._class=n,this._properties=o,this._byteLength=i}Object.defineProperties(pd.prototype,{count:{get:function(){return this._count}},class:{get:function(){return this._class}},byteLength:{get:function(){return this._byteLength}}});pd.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};pd.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};pd.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};pd.prototype.getProperty=function(e,t){let n=this._properties[t],i;return l(n)?i=n.get(e):i=aBe(this._class,t),i};pd.prototype.setProperty=function(e,t,n){let i=this._properties[t];return l(i)?(i.set(e,n),!0):!1};pd.prototype.getPropertyBySemantic=function(e,t){let n,i=this._class.propertiesBySemantic;if(l(i)&&(n=i[t]),l(n))return this.getProperty(e,n.id)};pd.prototype.setPropertyBySemantic=function(e,t,n){let i,o=this._class.propertiesBySemantic;return l(o)&&(i=o[t]),l(i)?this.setProperty(e,i.id,n):!1};pd.prototype.getPropertyTypedArray=function(e){let t=this._properties[e];if(l(t))return t.getTypedArray()};pd.prototype.getPropertyTypedArrayBySemantic=function(e){let t,n=this._class.propertiesBySemantic;if(l(n)&&(t=n[e]),l(t))return this.getPropertyTypedArray(t.id)};function aBe(e,t){let n=e.properties;if(!l(n))return;let i=n[t];if(l(i)&&l(i.default)){let o=i.default;return i.isArray&&(o=We(o,!0)),o=i.normalize(o),i.unpackVectorAndMatrixTypes(o)}}var ou=pd;function _g(){}Object.defineProperties(_g.prototype,{cacheKey:{get:function(){de.throwInstantiationError()}}});_g.prototype.load=function(){de.throwInstantiationError()};_g.prototype.unload=function(){};_g.prototype.process=function(e){return!1};_g.prototype.getError=function(e,t){l(t)&&l(t.message)&&(e+=` +${t.message}`);let n=new se(e);return l(t)&&(n.stack=`Original stack: ${t.stack} Handler stack: -${n.stack}`),n};fg.prototype.isDestroyed=function(){return!1};fg.prototype.destroy=function(){return this.unload(),ue(this)};var Yi=fg;var q2e={UNLOADED:0,LOADING:1,LOADED:2,PROCESSING:3,READY:4,FAILED:5},_t=Object.freeze(q2e);function Tp(e){e=y(e,y.EMPTY_OBJECT);let t=e.typedArray,n=e.resource,i=e.cacheKey;this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(Tp.prototype=Object.create(Yi.prototype),Tp.prototype.constructor=Tp);Object.defineProperties(Tp.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});Tp.prototype.load=async function(){return l(this._promise)?this._promise:l(this._typedArray)?(this._promise=Promise.resolve(this),this._promise):(this._promise=Y2e(this),this._promise)};async function Y2e(e){let t=e._resource;e._state=_t.LOADING;try{let n=await Tp._fetchArrayBuffer(t);return e.isDestroyed()?void 0:(e._typedArray=new Uint8Array(n),e._state=_t.READY,e)}catch(n){if(e.isDestroyed())return;e._state=_t.FAILED;let i=`Failed to load external buffer: ${t.url}`;throw e.getError(i,n)}}Tp._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()};Tp.prototype.unload=function(){this._typedArray=void 0};var fC=Tp;var oQt=function(){var e="b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:G;kekr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq;C9oLdbk;GqeKu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRbN:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9Uc;WFbGgecjdaecjd6Ehqcbhkindndnaiak9nmbaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndnaec9WGgsTmbcbhzaPhHawhOxekdnaxmbalheinaraw9Ram6miawcbamzNjjjbamfhwaecufgembxvkkcbhAaPhOinaDaAfRbbhCaDcjlfheaOhoaxhXinaeaoRbbgQaC9RgCcetaC;acr4786bbaoalfhoaecefheaQhCaXcufgXmbkaraw9Ram6mdaOcefhOawcbamzNjjjbamfhwaAcefgAal9hmbxlkkindnaxTmbaDazfRbbhCaDcjlfheaHhoaxhXinaeaoRbbgQaC9RgCcetaC;acr4786bbaoalfhoaecefheaQhCaXcufgXmbkkaraO9Ram6mearaOcbamzNjjjbgLamfgw9RcK6mecbhKaDcjlfhOinaDcjlfaKfhYcwhAczhQceheindndnaegXce9hmbcuhoaYRbbmecbhodninaogecsSmeaecefhoaOaefcefRbbTmbkkcucbaecs6EhoxekaXcethocuaXtc;:bGcFb7hCcbheinaoaCaOaefRbb9nfhoaecefgecz9hmbkkaoaQaoaQ6geEhQaXaAaeEhAaXcetheaXcl6mbkdndndndnaAcufPdiebkaLaKco4fgeaeRbbcdciaAclSEaKci4coGtV86bbaAcw9hmeawaY8Pbb83bbawcwfaYcwf8Pbb83bbawczfhwxdkaLaKco4fgeaeRbbceaKci4coGtV86bbkdncwaA9Tg8Ambinawcb86bbawcefhwxbkkcuaAtcu7hYcbhEaOh3ina3hea8AhCcbhoinaeRbbgQaYcFeGgXaQaX6EaoaAtVhoaecefheaCcufgCmbkawao86bba3a8Afh3awcefhwaEa8AfgEcz6mbkcbheindnaOaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaKczfgKas9pmbaOczfhOaraw9RcL0mekkaKas6meawTmeaHcefhHawhOazcefgzalSmixbkkcbhoxikcbhoaraw9Ralcaalca0E6mddnalc8F0mbawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9RhoxdkaDaPaxcufal2falz:tjjjb8Aaxakfhkawmbkcbhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBdN:kjjbk:zse5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:e:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc:y1jjbfydbcdtfydbh3aLaocN1jjbfydbcdtfydbh8AaLaoc:q1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc:q1jjbfydbcdtfydbgKTaLavcN1jjbfydbcdtfydbg8AceSGaLavc:y1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavcj1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:e:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:e:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk:dvdxue998Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPaDydbgscL4cFeGc:cufcbasEgsaPas9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekavcb9hadcl6gqVhzarcdthxavce9hhHcbhdindndndnaHmbaqmdc:CuhDalhwarhminaDawydbgPcL4cFeGc:cufcbaPEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDazmbaohwalhmarhPinawamydbgscL4cFeGgkc8Aakc8A9kEc:cufcbasEBdbamclfhmawclfhwaPcufgPmbkkaqmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgOcjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;aOJbbbb9GEMgO:lJbbb9p9DTmbaO:Ohsxekcjjjj94hskabawfascFFFrGamcKtVBdbawclfhwaPcufgPmbkkabaxfhbalaxfhladcefgdae9hmbkkaocjdf8Kjjjjbk;HqdCui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgradcFFFFi0Ecbyd:m:kjjbHjjjjbbgeBd:SeavceBd:mdaeabarz:tjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaeadaiavc:Sefz:njjjbavyd:Gehwadci9UgDcbyd:m:kjjbHjjjjbbhravc:Sefavyd:mdgqcdtfarBdbavaqcefgkBd:mdarcbaDzNjjjbhxavc:SefakcdtfcuaicdtaicFFFFi0Ecbyd:m:kjjbHjjjjbbgmBdbavaqcdfgPBd:mdawhramhkinakalIdbalarydbgscwascw6Ecdtfc;ebfIdbMUdbarclfhrakclfhkaicufgimbkavc:SefaPcdtfcuaDcdtadcFFFF970Ecbyd:m:kjjbHjjjjbbgPBdbdnadci6mbaehraPhkaDhiinakamarydbcdtfIdbamarclfydbcdtfIdbMamarcwfydbcdtfIdbMUdbarcxfhrakclfhkaicufgimbkkaqcifhoavc;qbfhzavhravyd:KehHavyd:OehOcbhscbhkcbhAcehCinarhXcihQaeakci2gLcdtfgrydbhdarclfydbhqabaAcx2fgicwfarcwfydbgKBdbaiclfaqBdbaiadBdbaxakfce86bbazaKBdwazaqBdlazadBdbaPakcdtfcbBdbdnasTmbcihQaXhiinazaQcdtfaiydbgrBdbaQaraK9harad9haraq9hGGfhQaiclfhiascufgsmbkkaAcefhAcbhsinaOaHaeasaLfcdtfydbcdtgifydbcdtfgKhrawaifgqydbgdhidnadTmbdninarydbakSmearclfhraicufgiTmdxbkkaraKadcdtfc98fydbBdbaqaqydbcufBdbkascefgsci9hmbkdndnaQTmbcuhkJbbbbhYcbhqavyd:KehKavyd:OehLindndnawazaqcdtfydbcdtgsfydbgrmbaqcefhqxekaqcs0hiamasfgdIdbh8AadalcbaqcefgqaiEcdtfIdbalarcwarcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEarcdthiaLaKasfydbcdtfhrinaParydbgscdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYasakadEhkarclfhraic98fgimbkkaqaQ9hmbkakcu9hmekaCaD9pmdindnaxaCfRbbmbaChkxdkaDaCcefgC9hmbxikkaQczaQcz6EhsazhraXhzakcu9hmbkkaocdtavc:Seffc98fhrdninaoTmearydbcbyd1:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd:m:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Wkivuo99lu8Jjjjjbc;W;Gb9Rgl8Kjjjjbcbhvalcj;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:m:kjjbHjjjjbbgrBdj9GalceBd;G9GalcFFF;7rBdwal9cFFF;7;3FF:;Fb83dbalcFFF97Bd;S9Gal9cFFF;7FFF:;u83d;K9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;K;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;S9GhDalIdlhkalId;O9GhxalIdbhmalId;K9GhPkdndnadTmbJbbbbJbbjZJbbbbaPam:tgPaPJbbbb9DEgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhHalaocbyd:m:kjjbHjjjjbbgiBd:e9GdnadTmbabhzinazaHBdbazclfhzadaHcefgH9hmbkabhHadhzinalaraHydbgecdtfydbcFrGcx2fgvavydbgvcefBdbaiavcdtfaeBdbaHclfhHazcufgzmbkaihHadhzinalaraHydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaHclfhHazcufgzmbkabhHadhzinalaraHydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwaiavcdtfaeBdbaHclfhHazcufgzmbkcbhHinabaiydbcdtfaHBdbaiclfhiadaHcefgH9hmbkkclhidninaic98Smealcj;Gbfaifydbcbyd1:kjjbH:bjjjbbaic98fhixbkkalc;W;Gbf8Kjjjjbk9teiucbcbyd:q:kjjbgeabcifc98GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:kjjbgeabcrfc94GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:kjjbfgdBd:q:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iddbcjwk:edb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:bc:eqkzebbbebbbdbbbaWbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(g){n=g.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(0),n.exports.meshopt_encodeIndexVersion(1)});function o(g){for(var m=new Uint8Array(g.length),x=0;x<g.length;++x){var b=g.charCodeAt(x);m[x]=b>96?b-97:b>64?b-39:b+4}for(var T=0,x=0;x<g.length;++x)m[T++]=m[x]<60?t[m[x]]:(m[x]-60)*64+m[++x];return m.buffer.slice(0,T)}function r(g){if(!g)throw new Error("Assertion failed")}function s(g){return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)}function a(g,m,x,b){var T=n.exports.sbrk,C=T(m.length*4),A=T(x*4),S=new Uint8Array(n.exports.memory.buffer),w=s(m);S.set(w,C),b&&b(C,C,m.length,x);var D=g(A,C,m.length,x);S=new Uint8Array(n.exports.memory.buffer);var O=new Uint32Array(x);new Uint8Array(O.buffer).set(S.subarray(A,A+x*4)),w.set(S.subarray(C,C+m.length*4)),T(C-T(0));for(var R=0;R<m.length;++R)m[R]=O[m[R]];return[O,D]}function c(g,m,x,b){var T=n.exports.sbrk,C=T(x*4),A=T(x*b),S=new Uint8Array(n.exports.memory.buffer);S.set(s(m),A),g(C,A,x,b),S=new Uint8Array(n.exports.memory.buffer);var w=new Uint32Array(x);return new Uint8Array(w.buffer).set(S.subarray(C,C+x*4)),T(C-T(0)),w}function u(g,m,x,b,T){var C=n.exports.sbrk,A=C(m),S=C(b*T),w=new Uint8Array(n.exports.memory.buffer);w.set(s(x),S);var D=g(A,m,S,b,T),O=new Uint8Array(D);return O.set(w.subarray(A,A+D)),C(A-C(0)),O}function f(g){for(var m=0,x=0;x<g.length;++x){var b=g[x];m=m<b?b:m}return m}function d(g,m){if(r(m==2||m==4),m==4)return new Uint32Array(g.buffer,g.byteOffset,g.byteLength/4);var x=new Uint16Array(g.buffer,g.byteOffset,g.byteLength/2);return new Uint32Array(x)}function p(g,m,x,b,T,C,A){var S=n.exports.sbrk,w=S(x*b),D=S(x*C),O=new Uint8Array(n.exports.memory.buffer);O.set(s(m),D),g(w,x,b,T,D,A);var R=new Uint8Array(x*b);return R.set(O.subarray(w,w+x*b)),S(w-S(0)),R}return{ready:i,supported:!0,reorderMesh:function(g,m,x){var b=m?x?n.exports.meshopt_optimizeVertexCacheStrip:n.exports.meshopt_optimizeVertexCache:void 0;return a(n.exports.meshopt_optimizeVertexFetchRemap,g,f(g)+1,b)},reorderPoints:function(g,m){return r(g instanceof Float32Array),r(g.length%m==0),r(m>=3),c(n.exports.meshopt_spatialSortRemap,g,g.length/m,m*4)},encodeVertexBuffer:function(g,m,x){r(x>0&&x<=256),r(x%4==0);var b=n.exports.meshopt_encodeVertexBufferBound(m,x);return u(n.exports.meshopt_encodeVertexBuffer,b,g,m,x)},encodeIndexBuffer:function(g,m,x){r(x==2||x==4),r(m%3==0);var b=d(g,x),T=n.exports.meshopt_encodeIndexBufferBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexBuffer,T,b,m,4)},encodeIndexSequence:function(g,m,x){r(x==2||x==4);var b=d(g,x),T=n.exports.meshopt_encodeIndexSequenceBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexSequence,T,b,m,4)},encodeGltfBuffer:function(g,m,x,b){var T={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(T[b]),T[b](g,m,x)},encodeFilterOct:function(g,m,x,b){return r(x==4||x==8),r(b>=1&&b<=16),p(n.exports.meshopt_encodeFilterOct,g,m,x,b,16)},encodeFilterQuat:function(g,m,x,b){return r(x==8),r(b>=4&&b<=16),p(n.exports.meshopt_encodeFilterQuat,g,m,x,b,16)},encodeFilterExp:function(g,m,x,b,T){r(x>0&&x%4==0),r(b>=1&&b<=24);var C={Separate:0,SharedVector:1,SharedComponent:2};return p(n.exports.meshopt_encodeFilterExp,g,m,x,b,x,T?C[T]:1)}}}();var aie=function(){var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q;iekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklz9Kbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q;Aekr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz9Tbb",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(n)?a(t):a(e),r,s=WebAssembly.instantiate(o,{}).then(function(T){r=T.instance,r.exports.__wasm_call_ctors()});function a(T){for(var C=new Uint8Array(T.length),A=0;A<T.length;++A){var S=T.charCodeAt(A);C[A]=S>96?S-97:S>64?S-39:S+4}for(var w=0,A=0;A<T.length;++A)C[w++]=C[A]<60?i[C[A]]:(C[A]-60)*64+C[++A];return C.buffer.slice(0,w)}function c(T,C,A,S,w,D,O){var R=T.exports.sbrk,M=S+3&-4,L=R(M*w),_=R(D.length),E=new Uint8Array(T.exports.memory.buffer);E.set(D,_);var v=C(L,S,w,_,D.length);if(v==0&&O&&O(L,M,w),A.set(E.subarray(L,L+S*w)),R(L-R(0)),v!=0)throw new Error("Malformed buffer data: "+v)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},d=[],p=0;function g(T){var C={object:new Worker(T),pending:0,requests:{}};return C.object.onmessage=function(A){var S=A.data;C.pending-=S.count,C.requests[S.id][S.action](S.value),delete C.requests[S.id]},C}function m(T){for(var C="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(o)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+b.name+";"+c.toString()+b.toString(),A=new Blob([C],{type:"text/javascript"}),S=URL.createObjectURL(A),w=d.length;w<T;++w)d[w]=g(S);for(var w=T;w<d.length;++w)d[w].object.postMessage({});d.length=T,URL.revokeObjectURL(S)}function x(T,C,A,S,w){for(var D=d[0],O=1;O<d.length;++O)d[O].pending<D.pending&&(D=d[O]);return new Promise(function(R,M){var L=new Uint8Array(A),_=++p;D.pending+=T,D.requests[_]={resolve:R,reject:M},D.object.postMessage({id:_,count:T,size:C,source:L,mode:S,filter:w},[L.buffer])})}function b(T){var C=T.data;if(!C.id)return self.close();self.ready.then(function(A){try{var S=new Uint8Array(C.count*C.size);c(A,A.exports[C.mode],S,C.count,C.size,C.source,A.exports[C.filter]),self.postMessage({id:C.id,count:C.count,action:"resolve",value:S},[S.buffer])}catch(w){self.postMessage({id:C.id,count:C.count,action:"reject",value:w})}})}return{ready:s,supported:!0,useWorkers:function(T){m(T)},decodeVertexBuffer:function(T,C,A,S,w){c(r,r.exports.meshopt_decodeVertexBuffer,T,C,A,S,r.exports[u[w]])},decodeIndexBuffer:function(T,C,A,S){c(r,r.exports.meshopt_decodeIndexBuffer,T,C,A,S)},decodeIndexSequence:function(T,C,A,S){c(r,r.exports.meshopt_decodeIndexSequence,T,C,A,S)},decodeGltfBuffer:function(T,C,A,S,w,D){c(r,r.exports[f[w]],T,C,A,S,r.exports[u[D]])},decodeGltfBufferAsync:function(T,C,A,S,w){return d.length>0?x(T,C,A,f[S],u[w]):s.then(function(){var D=new Uint8Array(T*C);return c(r,r.exports[f[S]],D,T,C,A,r.exports[u[w]]),D})}}}();var aQt=function(){var e="b9H79Tebbbe9Hk9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gvuuuuue999Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuecj;jekr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdmxq:f97sdbk:39si8Au8A99zu8Jjjjjbc;W;ab9Rgs8Kjjjjbcbhzascxfcbc;Kbz:ljjjb8AdnabaeSmbabaeadcdtz:kjjjb8AkdndnamcdGmbcbhHxekasalcrfci4gecbyd;S1jjbHjjjjbbgOBdxasceBd2aOcbaez:ljjjbhAcbhlcbhednadTmbcbhlabheadhOinaAaeydbgCci4fgXaXRbbgXceaCcrGgCtV86bbaXcu7aC4ceGalfhlaeclfheaOcufgOmbkcualcdtalcFFFFi0Ehekasaecbyd;S1jjbHjjjjbbgHBdzascdBd2alcd4alfhCcehOinaOgecethOaeaC6mbkcdhzcbhQascuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbgCBdCasciBd2aCcFeaOz:ljjjbhLdnadTmbaecufhXcbhKinabaQcdtfgYydbgAc:v;t;h;Ev2hCcbhedndninaLaCaXGgCcdtfg8AydbgOcuSmeaHaOcdtfydbaASmdaecefgeaCfhCaeaX9nmbxdkkaHaKcdtfaABdba8AaKBdbaKhOaKcefhKkaYaOBdbaQcefgQad9hmbkkaLcbyd;O1jjbH:bjjjbbascdBd2kascxfazcdtfcualcefgecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbgEBdbasaEBdlasazceVgeBd2ascxfaecdtfcuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbg3Bdbasa3BdwasazcdfgeBd2asclfabadalcbz:cjjjbascxfaecdtfcualcdtg5alcFFFFi0Eg8Ecbyd;S1jjbHjjjjbbgOBdbasazcifgeBd2ascxfaecdtfa8Ecbyd;S1jjbHjjjjbbg8FBdbasazclVgaBd2alcd4alfhXcehCinaCgecethCaeaX6mbkcbhKascxfaacdtfghcuaecdtgCaecFFFFi0Ecbyd;S1jjbHjjjjbbgXBdbasazcvVggBd2aXcFeaCz:ljjjbhQdnalTmbavcd4hAaecufhCinaKhednaHTmbaHaKcdtfydbhekaiaeaA2cdtfgeydlgXcH4aX7c:F:b:DD2aeydbgXcH4aX7c;D;O:B8J27aeydwgecH4ae7c:3F;N8N27aCGheaKcdth8JdndndndndnaHTmbaHa8JfhYcbhXinaQaecdtfgLydbg8AcuSmlaiaHa8AcdtfydbaA2cdtfaiaYydbaA2cdtfcxz:ojjjbTmiaXcefgXaefaCGheaXaC9nmbxdkkaiaKaA2cdtfhYcbhXinaQaecdtfgLydbg8AcuSmiaia8AaA2cdtfaYcxz:ojjjbTmdaXcefgXaefaCGheaXaC9nmbkkcbhLkaLydbgecu9hmekaLaKBdbaKhekaOa8JfaeBdbaKcefgKal9hmbkcbhea8FhCinaCaeBdbaCclfhCalaecefge9hmbkcbheaOhCa8FhXindnaeaCydbgASmbaXa8FaAcdtfgAydbBdbaAaeBdbkaCclfhCaXclfhXalaecefge9hmbkkcbh8KaQcbyd;O1jjbH:bjjjbbasaaBd2ahalcbyd;S1jjbHjjjjbbgABdbasagBd2ascxfagcdtfa8Ecbyd;S1jjbHjjjjbbgeBdbasazcofgCBd2ascxfaCcdtfa8Ecbyd;S1jjbHjjjjbbgCBdbasazcrfg8LBd2aecFea5z:ljjjbh8MaCcFea5z:ljjjbh8NdnalTmba3cwfhyindnaEa8KgXcefg8Kcdtfydbg8AaEaXcdtgefydbgCSmba8AaC9Rh8Ja3aCcitfh5a8Naefhga8MaefhKcbhLindndna5aLcitfydbgQaX9hmbaKaXBdbagaXBdbxekdnaEaQcdtgafgeclfydbgCaeydbgeSmba3aecitg8AfydbaXSmeaCae9Rhhaecu7aCfhYaya8AfhCcbheinaYaeSmeaecefheaCydbh8AaCcwfhCa8AaX9hmbkaeah6meka8NaafgeaXaQaeydbcuSEBdbaKaQaXaKydbcuSEBdbkaLcefgLa8J9hmbkka8Kal9hmbkaOhCaHhLa8FhXa8Nh8Aa8MhQcbheindndnaeaCydbgY9hmbdnaqTmbaehYdnaHTmbaLydbhYkaqaYfRbbTmbaAaefcl86bbxdkdnaeaXydbgY9hmbaQydbhYdna8AydbgKcu9hmbaYcu9hmbaAaefcb86bbxikaAaefh8JdnaeaKSmbaeaYSmba8Jce86bbxika8Jcl86bbxdkdnaea8FaYcdtgKfydb9hmbdna8Aydbg8JcuSmbaea8JSmbaQydbg5cuSmbaea5Smba8NaKfydbgacuSmbaaaYSmba8MaKfydbgKcuSmbaKaYSmbdnaOa8JcdtfydbaOaKcdtfydb9hmbaOa5cdtfydbaOaacdtfydb9hmbaAaefcd86bbxlkaAaefcl86bbxikaAaefcl86bbxdkaAaefcl86bbxekaAaefaAaYfRbb86bbkaCclfhCaLclfhLaXclfhXa8Aclfh8AaQclfhQalaecefge9hmbkamceGTmbaAhealhCindnaeRbbce9hmbaecl86bbkaecefheaCcufgCmbkkascxfa8Lcdtfcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbggBdbasazcwVg8JBd2agaialavaHz:djjjbh8PdndnaDmbcbhvxekascxfa8JcdtfcualaD2gecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbgvBdbasazcDVg8JBd2alTmbarcd4hYdnaHTmbaDcdthKcbhLavhQinaoaHaLcdtfydbaY2cdtfheawhCaQhXaDh8AinaXaeIdbaCIdbNUdbaeclfheaCclfhCaXclfhXa8Acufg8AmbkaQaKfhQaLcefgLal9hmbxdkkaYcdthYaDcdthKcbhQavhLinaoheawhCaLhXaDh8AinaXaeIdbaCIdbNUdbaeclfheaCclfhCaXclfhXa8Acufg8AmbkaoaYfhoaLaKfhLaQcefgQal9hmbkkascxfa8Jcdtfcualc8S2gealc;D;O;f8U0EgXcbyd;S1jjbHjjjjbbgCBdbasa8Jcefg8ABd2aCcbaez:ljjjbh8KdndndnaDTmbascxfa8AcdtfaXcbyd;S1jjbHjjjjbbgqBdbasa8JcdfgCBd2aqcbaez:ljjjb8AascxfaCcdtfcualaD2gecltgCaecFFFFb0Ecbyd;S1jjbHjjjjbbgwBdbasa8JcifBd2awcbaCz:ljjjb8AadmexdkcbhqcbhwadTmekcbhLabhCindnagaCclfydbgQcx2fgeIdbagaCydbgYcx2fgXIdbgI:tg8RagaCcwfydbgKcx2fg8AIdlaXIdlg8S:tgRNa8AIdbaI:tg8UaeIdla8S:tg8VN:tg8Wa8WNa8Va8AIdwaXIdwg8X:tg8YNaRaeIdwa8X:tg8VN:tgRaRNa8Va8UNa8Ya8RN:tg8Ra8RNMM:rg8UJbbbb9ETmba8Wa8U:vh8Wa8Ra8U:vh8RaRa8U:vhRka8KaOaYcdtfydbc8S2fgeaRa8U:rg8UaRNNg8VaeIdbMUdbaea8Ra8Ua8RNg8ZNg8YaeIdlMUdlaea8Wa8Ua8WNg80Ng81aeIdwMUdwaea8ZaRNg8ZaeIdxMUdxaea80aRNgBaeIdzMUdzaea80a8RNg80aeIdCMUdCaeaRa8Ua8Wa8XNaRaINa8Sa8RNMM:mg8SNgINgRaeIdKMUdKaea8RaINg8RaeId3MUd3aea8WaINg8WaeIdaMUdaaeaIa8SNgIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaQcdtfydbc8S2fgea8VaeIdbMUdbaea8YaeIdlMUdlaea81aeIdwMUdwaea8ZaeIdxMUdxaeaBaeIdzMUdzaea80aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaKcdtfydbc8S2fgea8VaeIdbMUdbaea8YaeIdlMUdlaea81aeIdwMUdwaea8ZaeIdxMUdxaeaBaeIdzMUdzaea80aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdyaCcxfhCaLcifgLad6mbkcbh8JabhYinaba8JcdtfhQcbhCinaAaQaCcj1jjbfydbcdtfydbgXfRbbhedndnaAaYaCfydbg8AfRbbgLc99fcFeGcpe0mbaeceSmbaecd9hmekdnaLcufcFeGce0mba8Ma8AcdtfydbaX9hmekdnaecufcFeGce0mba8NaXcdtfydba8A9hmekdnaLcv2aefc:q1jjbfRbbTmbaOaXcdtfydbaOa8Acdtfydb0mekdnagaXcx2fgKIdwaga8Acx2fgiIdwg8S:tgRaRNaKIdbaiIdbg8X:tg8Ra8RNaKIdlaiIdlg8V:tg8Ua8UNMM:rgIJbbbb9ETmbaRaI:vhRa8UaI:vh8Ua8RaI:vh8RkJbbacJbbacJbbjZaeceSEaLceSEh80dnagaQaCc:e1jjbfydbcdtfydbcx2fgeIdwa8S:tg8WaRa8WaRNaeIdba8X:tg81a8RNa8UaeIdla8V:tg8ZNMMg8YN:tg8Wa8WNa81a8Ra8YN:tgRaRNa8Za8Ua8YN:tg8Ra8RNMM:rg8UJbbbb9ETmba8Wa8U:vh8Wa8Ra8U:vh8RaRa8U:vhRka8KaOa8Acdtfydbc8S2fgeaRa80aINg8UaRNNg8YaeIdbMUdbaea8Ra8Ua8RNg80Ng81aeIdlMUdlaea8Wa8Ua8WNgINg8ZaeIdwMUdwaea80aRNg80aeIdxMUdxaeaIaRNgBaeIdzMUdzaeaIa8RNg83aeIdCMUdCaeaRa8Ua8Wa8SNaRa8XNa8Va8RNMM:mg8SNgINgRaeIdKMUdKaea8RaINg8RaeId3MUd3aea8WaINg8WaeIdaMUdaaeaIa8SNgIaeId8KMUd8Kaea8UaeIdyMUdya8KaOaXcdtfydbc8S2fgea8YaeIdbMUdbaea81aeIdlMUdlaea8ZaeIdwMUdwaea80aeIdxMUdxaeaBaeIdzMUdzaea83aeIdCMUdCaeaRaeIdKMUdKaea8RaeId3MUd3aea8WaeIdaMUdaaeaIaeId8KMUd8Kaea8UaeIdyMUdykaCclfgCcx9hmbkaYcxfhYa8Jcifg8Jad6mbkaDTmbcbhYinJbbbbh8XagabaYcdtfgeclfydbgKcx2fgCIdwagaeydbgicx2fgXIdwg8Z:tg8Ra8RNaCIdbaXIdbgB:tg8Wa8WNaCIdlaXIdlg83:tg8Ua8UNMMg80agaecwfydbg8Jcx2fgeIdwa8Z:tgINa8Ra8RaINa8WaeIdbaB:tg8SNa8UaeIdla83:tg8VNMMgRN:tJbbbbJbbjZa80aIaINa8Sa8SNa8Va8VNMMg81NaRaRN:tg8Y:va8YJbbbb9BEg8YNhUa81a8RNaIaRN:ta8YNh85a80a8VNa8UaRN:ta8YNh86a81a8UNa8VaRN:ta8YNh87a80a8SNa8WaRN:ta8YNh88a81a8WNa8SaRN:ta8YNh89a8Wa8VNa8Sa8UN:tgRaRNa8UaINa8Va8RN:tgRaRNa8Ra8SNaIa8WN:tgRaRNMM:r:rhRavaiaD2cdtfhCava8JaD2cdtfhXavaKaD2cdtfh8Aa8Z:mh8:a83:mhZaB:mhncbhLaDhQJbbbbh8VJbbbbh8YJbbbbh80Jbbbbh81Jbbbbh8ZJbbbbhBJbbbbh83JbbbbhcJbbbbh9cinasc;WbfaLfgecwfaRa85a8AIdbaCIdbgI:tg8UNaUaXIdbaI:tg8SNMg8RNUdbaeclfaRa87a8UNa86a8SNMg8WNUdbaeaRa89a8UNa88a8SNMg8UNUdbaecxfaRa8:a8RNaZa8WNaIana8UNMMMgINUdbaRa8Ra8WNNa81Mh81aRa8Ra8UNNa8ZMh8ZaRa8Wa8UNNaBMhBaRaIaINNa8XMh8XaRa8RaINNa8VMh8VaRa8WaINNa8YMh8YaRa8UaINNa80Mh80aRa8Ra8RNNa83Mh83aRa8Wa8WNNacMhcaRa8Ua8UNNa9cMh9caCclfhCa8Aclfh8AaXclfhXaLczfhLaQcufgQmbkaqaOaicdtfydbgCc8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyaqaOaKcdtfydbgKc8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyaqaOa8Jcdtfydbgic8S2fgea9caeIdbMUdbaeacaeIdlMUdlaea83aeIdwMUdwaeaBaeIdxMUdxaea8ZaeIdzMUdzaea81aeIdCMUdCaea80aeIdKMUdKaea8YaeId3MUd3aea8VaeIdaMUdaaea8XaeId8KMUd8KaeaRaeIdyMUdyawaCaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkawaKaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkawaiaD2cltfhQcbhCaDh8AinaQaCfgeasc;WbfaCfgXIdbaeIdbMUdbaeclfgLaXclfIdbaLIdbMUdbaecwfgLaXcwfIdbaLIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCa8Acufg8AmbkaYcifgYad6mbkkasydlhJcbhednalTmbaJclfheaJydbh8AaAhCalhLcbhXincbaeydbgQa8A9RaCRbbcpeGEaXfhXaCcefhCaeclfheaQh8AaLcufgLmbkaXce4hekcuadae9Rcifg8Lcx2a8Lc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhhascxfasyd2gecdtfahBdbasaecefgCBd2ascxfaCcdtfcua8Lcdta8LcFFFFi0Ecbyd;S1jjbHjjjjbbgzBdbasaecdfgCBd2ascxfaCcdtfa8Ecbyd;S1jjbHjjjjbbg3BdbasaecifgCBd2ascxfaCcdtfalcbyd;S1jjbHjjjjbbg9eBdbasaeclfBd2a8PJbbjZamclGEhcJbbbbh83dnadak9nmbdna8Lci6mbaxaxNacacN:vhBaDclthTahcwfhSJbbbbh83inasclfabadgoalaOz:cjjjbabhicbhEcbhyinabaycdtfh8JcbheindnaOaiaefydbgXcdtgKfydbg8AaOa8Jaec:S1jjbfydbcdtfydbgCcdtfydbgLSmbaAaCfRbbgYcv2aAaXfRbbgQfc;a1jjbfRbbgaaQcv2aYfg5c;a1jjbfRbbgdVcFeGTmbdnaLa8A9nmba5c:q1jjbfRbbcFeGmekdnaQaY9hmbaQcufcFeGce0mba8MaKfydbaC9hmekahaEcx2fg8AaCaXadcFeGgLEBdla8AaXaCaLEBdba8AaLaaGcb9hBdwaEcefhEkaeclfgecx9hmbkdnaycifgyao9pmbaicxfhiaEcifa8L9nmekkdnaEmbaohdxikcbhYinJbbbbJbbjZa8KaOahaYcx2fg8AydlgLa8AydbgQa8AydwgCEgicdtfydbgac8S2gdfgeIdygR:vaRJbbbb9BEaeIdwagaQaLaCEgKcx2fgCIdwg8UNaeIdzaCIdbgINaeIdaMgRaRMMa8UNaeIdlaCIdlg8SNaeIdCa8UNaeId3MgRaRMMa8SNaeIdbaINaeIdxa8SNaeIdKMgRaRMMaINaeId8KMMM:lNh80JbbbbJbbjZa8KaOaQcdtfydbgyc8S2gXfgeIdygR:vaRJbbbb9BEaeIdwagaLcx2fgCIdwg8WNaeIdzaCIdbg8XNaeIdaMgRaRMMa8WNaeIdlaCIdlg8VNaeIdCa8WNaeId3MgRaRMMa8VNaeIdba8XNaeIdxa8VNaeIdKMgRaRMMa8XNaeId8KMMM:lNh81a8Acwfh8Ja8Aclfh5dnaDTmbaqaXfgXIdwa8WNaXIdza8XNaXIdaMgRaRMMa8WNaXIdla8VNaXIdCa8WNaXId3MgRaRMMa8VNaXIdba8XNaXIdxa8VNaXIdKMgRaRMMa8XNaXId8KMMMh8RavaLaD2cdtfhCawayaD2cltfheaXIdyh8YaDhXinaCIdbgRJbbb;aNaecxfIdba8WaecwfIdbNa8XaeIdbNa8VaeclfIdbNMMMNaRaRNa8YNa8RMMh8RaCclfhCaeczfheaXcufgXmbkaqadfgXIdwa8UNaXIdzaINaXIdaMgRaRMMa8UNaXIdla8SNaXIdCa8UNaXId3MgRaRMMa8SNaXIdbaINaXIdxa8SNaXIdKMgRaRMMaINaXId8KMMMh8WavaKaD2cdtfhCawaaaD2cltfheaXIdyh8XaDhXinaCIdbgRJbbb;aNaecxfIdba8UaecwfIdbNaIaeIdbNa8SaeclfIdbNMMMNaRaRNa8XNa8WMMh8WaCclfhCaeczfheaXcufgXmbka80a8W:lMh80a81a8R:lMh81ka5aLaKa81a809FgeEBdba8AaQaiaeEBdba8Ja81a80aeEUdbaYcefgYaE9hmbkasc;Wbfcbcj;abz:ljjjb8AaSheaEhCinasc;WbfaeydbcO4c;8ZGfgXaXydbcefBdbaecxfheaCcufgCmbkcbhecbhCinasc;WbfaefgXydbh8AaXaCBdba8AaCfhCaeclfgecj;ab9hmbkcbheaShCinasc;WbfaCydbcO4c;8ZGfgXaXydbgXcefBdbazaXcdtfaeBdbaCcxfhCaEaecefge9hmbkaoak9RgXci9Uh9hdnalTmbcbhea3hCinaCaeBdbaCclfhCalaecefge9hmbkkcbh9ia9ecbalz:ljjjbh6aXcO9Uh9ka9hce4h0asydwh9mcbhdcbh5dninahaza5cdtfydbcx2fg8JIdwg8RaB9Emeada9h9pmeJFFuuhRdna0aE9pmbahaza0cdtfydbcx2fIdwJbb;aZNhRkdna8RaR9ETmbada9k0mdkdna6aOa8Jydlg9ncdtg9ofydbg8Afg9pRbba6aOa8Jydbgicdtg9qfydbg9rfg9sRbbVmbdnaJa9rcdtfgeclfydbgCaeydbgeSmbaCae9RhQa9maecitfheaga8Acx2fgKcwfhyaKclfh8Eaga9rcx2fgacwfhmaaclfhrcbhCcehYdnindna3aeydbcdtfydbgXa8ASmba3aeclfydbcdtfydbgLa8ASmbaXaLSmbagaLcx2fgLIdbagaXcx2fgXIdbg8W:tgRarIdbaXIdlg8U:tg8XNaaIdba8W:tg8VaLIdla8U:tg8RN:tgIaRa8EIdba8U:tg8YNaKIdba8W:tg80a8RN:tg8UNa8RamIdbaXIdwg8S:tg81Na8XaLIdwa8S:tg8WN:tg8Xa8RayIdba8S:tg8ZNa8Ya8WN:tg8RNa8Wa8VNa81aRN:tg8Sa8Wa80Na8ZaRN:tgRNMMaIaINa8Xa8XNa8Sa8SNMMa8Ua8UNa8Ra8RNaRaRNMMN:rJbbj8:N9FmdkaecwfheaCcefgCaQ6hYaQaC9hmbkkaYceGTmba0cefh0xeka8Ka8Ac8S2gXfgea8Ka9rc8S2gLfgCIdbaeIdbMUdbaeaCIdlaeIdlMUdlaeaCIdwaeIdwMUdwaeaCIdxaeIdxMUdxaeaCIdzaeIdzMUdzaeaCIdCaeIdCMUdCaeaCIdKaeIdKMUdKaeaCId3aeId3MUd3aeaCIdaaeIdaMUdaaeaCId8KaeId8KMUd8KaeaCIdyaeIdyMUdydnaDTmbaqaXfgeaqaLfgCIdbaeIdbMUdbaeaCIdlaeIdlMUdlaeaCIdwaeIdwMUdwaeaCIdxaeIdxMUdxaeaCIdzaeIdzMUdzaeaCIdCaeIdCMUdCaeaCIdKaeIdKMUdKaeaCId3aeId3MUd3aeaCIdaaeIdaMUdaaeaCId8KaeId8KMUd8KaeaCIdyaeIdyMUdyaTa9r2hYaTa8A2hKawhCaDhLinaCaKfgeaCaYfgXIdbaeIdbMUdbaeclfgQaXclfIdbaQIdbMUdbaecwfgQaXcwfIdbaQIdbMUdbaecxfgeaXcxfIdbaeIdbMUdbaCczfhCaLcufgLmbkka8JcwfhCdndndndnaAaifgXRbbc9:fPdebdkaiheina3aecdtgefa8ABdba8Faefydbgeai9hmbxikka8Fa9ofydbhea8Fa9qfydbhia3a9qfa9nBdbaeh9nka3aicdtfa9nBdbka9sce86bba9pce86bbaCIdbgRa83a83aR9DEh83a9icefh9icecdaXRbbceSEadfhdka5cefg5aE9hmbkkdna9imbaohdxikdnalTmbcbhCa8MheindnaeydbgXcuSmbdnaCa3aXcdtg8AfydbgX9hmba8Ma8AfydbhXkaeaXBdbkaeclfhealaCcefgC9hmbkcbhCa8NheindnaeydbgXcuSmbdnaCa3aXcdtg8AfydbgX9hmba8Na8AfydbhXkaeaXBdbkaeclfhealaCcefgC9hmbkkcbhdabhecbhLindna3aeydbcdtfydbgCa3aeclfydbcdtfydbgXSmbaCa3aecwfydbcdtfydbg8ASmbaXa8ASmbabadcdtfgQaCBdbaQcwfa8ABdbaQclfaXBdbadcifhdkaecxfheaLcifgLao6mbkadak9nmdxbkkasclfabadalaOz:cjjjbkdnaHTmbadTmbadheinabaHabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPaca83:rNUdbkasyd2gecdtascxffc98fhOdninaeTmeaOydbcbyd;O1jjbH:bjjjbbaOc98fhOaecufhexbkkasc;W;abf8Kjjjjbadk;Yieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk;Podvuv998Jjjjjbca9RgvcFFF;7rBd3av9cFFF;7;3FF:;Fb83dCavcFFF97Bdzav9cFFF;7FFF:;u83dwdnadTmbaicd4hodnabmbdnalTmbcbhrinaealarcdtfydbao2cdtfhwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxikkaocdthrcbhwincbhiinavcCfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbxdkkdnalTmbcbhrinabarcx2fgiaealarcdtfydbao2cdtfgwIdbUdbaiawIdlUdlaiawIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxdkkaocdthlcbhraehwinabarcx2fgiaearao2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawalfhwarcefgrad9hmbkkJbbbbavIdwavIdCgk:tgqaqJbbbb9DEgqavIdxavIdKgx:tgmamaq9DEgqavIdzavId3gm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgvaqavIdbax:tNUdbabcwfgvaqavIdbam:tNUdbabcxfhbadcufgdmbkkaPk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbk;3Aowud99wue99iul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbgqBdxawceBd2aqaeadaicbz:djjjb8AawcuadcdtadcFFFFi0Egkcbyd;S1jjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhmawcuaicdtgPaicFFFFi0Ecbyd;S1jjbHjjjjbbgsBdCawciBd2dndnar:Zgz:rJbbbZMgH:lJbbb9p9DTmbaH:Ohexekcjjjj94hekaicufhOc:bwhAcbhCcbhXadhQinaChLaeaAgKcufaeaK9iEamgDcefaeaD9kEhYdndnadTmbaYcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbh3cbh5indnaEaxa5cdtfydbgAcm4aA7c:v;t;h;Ev2gics4ai7aOGgmcdtfgCydbgecuSmbaeaASmbcehiinaEamaifaOGgmcdtfgCydbgecuSmeaicefhiaeaA9hmbkkaCaABdba3aecuSfh3a5cefg5ad9hmbxdkkascFeaPz:ljjjb8Acbh3kaDaYa3ar0giEhmaLa3aiEhCdna3arSmbaYaKaiEgAam9Rcd9imbdndnaXcl0mbdnaQ:ZgHaL:Zg8A:taY:Yg8EaD:Y:tg8Fa8EaK:Y:tgaa3:Zghaz:tNNNaHaz:taaNa8Aah:tNa8Aaz:ta8FNahaH:tNM:va8EMJbbbZMgH:lJbbb9p9DTmbaH:Ohexdkcjjjj94hexekamaAfcd9Theka3aQaiEhQaXcefgXcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd;S1jjbHjjjjbbg5BdKawclBd2dndnadTmbamcuf:YhHaqhiaxheadhmindndnaiIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhAxekcjjjj94hAkaAcCthAdndnaiclfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcqtaAVhAdndnaicwfIdbaHNJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaeaAaCVBdbaicxfhiaeclfheamcufgmmbkascFeaPz:ljjjbhEcbhDcbh3inaxa3cdtgYfydbgAcm4aA7c:v;t;h;Ev2gics4ai7hecbhidndninaEaeaOGgmcdtfgCydbgecuSmednaxaecdtgCfydbaASmbaicefgiamfheaiaO9nmekka5aCfydbhixekaCa3BdbaDhiaDcefhDka5aYfaiBdba3cefg3ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekascFeaPz:ljjjb8AcbhDcbhekawaecbyd;S1jjbHjjjjbbgeBd3awcvBd2aecbaiz:ljjjbhCavcd4hxdnadTmbdnalTmbaxcdthEa5hAalheaqhmadhOinaCaAydbc32fgiamIdbaiIdbMUdbaiamclfIdbaiIdlMUdlaiamcwfIdbaiIdwMUdwaiaeIdbaiIdxMUdxaiaeclfIdbaiIdzMUdzaiaecwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaAclfhAaeaEfheamcxfhmaOcufgOmbxdkka5hmaqheadhAinaCamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaAcufgAmbkkdnaDTmbaChiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgH:vaHJbbbb9BEgHNUdbaiclfgmaHamIdbNUdbaicwfgmaHamIdbNUdbaicxfgmaHamIdbNUdbaiczfgmaHamIdbNUdbaicCfgmaHamIdbNUdbaic3fhiaecufgembkkcbhAawcuaDcdtgYaDcFFFFi0Egicbyd;S1jjbHjjjjbbgeBdaawcoBd2awaicbyd;S1jjbHjjjjbbgEBd8KaecFeaYz:ljjjbh3dnadTmbaoaoNh8Aaxcdthxalheina8Aaec;C1jjbalEgmIdwaCa5ydbgOc32fgiIdC:tgHaHNamIdbaiIdx:tgHaHNamIdlaiIdz:tgHaHNMMNaqcwfIdbaiIdw:tgHaHNaqIdbaiIdb:tgHaHNaqclfIdbaiIdl:tgHaHNMMMhHdndna3aOcdtgifgmydbcuSmbaEaifIdbaH9ETmekamaABdbaEaifaHUdbka5clfh5aeaxfheaqcxfhqadaAcefgA9hmbkkaba3aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd;O1jjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Odieui99iu8Jjjjjbca9RgicFFF;7rBd3ai9cFFF;7;3FF:;Fb83dCaicFFF97Bdzai9cFFF;7FFF:;u83dwdndnaembJbbjFhlJbbjFhvJbbjFhoxekadcd4cdthrcbhwincbhdinaicCfadfgDabadfIdbglaDIdbgvaval9EEUdbaicwfadfgDalaDIdbgvaval9DEUdbadclfgdcx9hmbkabarfhbawcefgwae9hmbkaiIdzaiId3:thoaiIdxaiIdK:thvaiIdwaiIdC:thlkJbbbbalalJbbbb9DEglavaval9DEglaoaoal9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcifc98GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcrfc94GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;W1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;W1jjbfgdBd;W1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:bedbcjwk9Oebbbdbbbbbbbebbbeeebeebebbeeebebbbbbebebbbbbebbbdbbbbbbbbbbbbbbbeeeeebebbbbbebbbbbeebbbbbbbbbbbbbbbbbbbbbc;Owkxebbbdbbbj9Kbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(m){n=m.instance,n.exports.__wasm_call_ctors()});function o(m){for(var x=new Uint8Array(m.length),b=0;b<m.length;++b){var T=m.charCodeAt(b);x[b]=T>96?T-97:T>64?T-39:T+4}for(var C=0,b=0;b<m.length;++b)x[C++]=x[b]<60?t[x[b]]:(x[b]-60)*64+x[++b];return x.buffer.slice(0,C)}function r(m){if(!m)throw new Error("Assertion failed")}function s(m){return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)}function a(m,x,b){var T=n.exports.sbrk,C=T(x.length*4),A=T(b*4),S=new Uint8Array(n.exports.memory.buffer),w=s(x);S.set(w,C);var D=m(A,C,x.length,b);S=new Uint8Array(n.exports.memory.buffer);var O=new Uint32Array(b);new Uint8Array(O.buffer).set(S.subarray(A,A+b*4)),w.set(S.subarray(C,C+x.length*4)),T(C-T(0));for(var R=0;R<x.length;++R)x[R]=O[x[R]];return[O,D]}function c(m){for(var x=0,b=0;b<m.length;++b){var T=m[b];x=x<T?T:x}return x}function u(m,x,b,T,C,A,S,w,D){var O=n.exports.sbrk,R=O(4),M=O(b*4),L=O(C*A),_=O(b*4),E=new Uint8Array(n.exports.memory.buffer);E.set(s(T),L),E.set(s(x),_);var v=m(M,_,b,L,C,A,S,w,D,R);E=new Uint8Array(n.exports.memory.buffer);var I=new Uint32Array(v);s(I).set(E.subarray(M,M+v*4));var N=new Float32Array(1);return s(N).set(E.subarray(R,R+4)),O(R-O(0)),[I,N[0]]}function f(m,x,b,T,C,A,S,w,D,O,R,M,L){var _=n.exports.sbrk,E=_(4),v=_(b*4),I=_(C*A),N=_(C*w),B=_(D.length*4),z=_(b*4),V=O?_(C):0,G=new Uint8Array(n.exports.memory.buffer);G.set(s(T),I),G.set(s(S),N),G.set(s(D),B),G.set(s(x),z),O&&G.set(s(O),V);var k=m(v,z,b,I,C,A,N,w,B,D.length,V,R,M,L,E);G=new Uint8Array(n.exports.memory.buffer);var Y=new Uint32Array(k);s(Y).set(G.subarray(v,v+k*4));var W=new Float32Array(1);return s(W).set(G.subarray(E,E+4)),_(E-_(0)),[Y,W[0]]}function d(m,x,b,T){var C=n.exports.sbrk,A=C(b*T),S=new Uint8Array(n.exports.memory.buffer);S.set(s(x),A);var w=m(A,b,T);return C(A-C(0)),w}function p(m,x,b,T,C,A,S,w){var D=n.exports.sbrk,O=D(w*4),R=D(b*T),M=D(b*A),L=new Uint8Array(n.exports.memory.buffer);L.set(s(x),R),C&&L.set(s(C),M);var _=m(O,R,b,T,M,A,S,w);L=new Uint8Array(n.exports.memory.buffer);var E=new Uint32Array(_);return s(E).set(L.subarray(O,O+_*4)),D(O-D(0)),E}var g={LockBorder:1,Sparse:2,ErrorAbsolute:4};return{ready:i,supported:!0,useExperimentalFeatures:!1,compactMesh:function(m){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0);var x=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return a(n.exports.meshopt_optimizeVertexFetchRemap,x,c(m)+1)},simplify:function(m,x,b,T,C,A){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T>=0&&T<=m.length),r(T%3==0),r(C>=0);for(var S=0,w=0;w<(A?A.length:0);++w)r(A[w]in g),S|=g[A[w]];var D=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),O=u(n.exports.meshopt_simplify,D,m.length,x,x.length/b,b*4,T,C,S);return O[0]=m instanceof Uint32Array?O[0]:new m.constructor(O[0]),O},simplifyWithAttributes:function(m,x,b,T,C,A,S,w,D,O){r(this.useExperimentalFeatures),r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T instanceof Float32Array),r(T.length%C==0),r(C>=0),r(S==null||S.length==x.length),r(w>=0&&w<=m.length),r(w%3==0),r(D>=0),r(Array.isArray(A)),r(C>=A.length),r(A.length<=16);for(var R=0,M=0;M<(O?O.length:0);++M)r(O[M]in g),R|=g[O[M]];var L=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),_=f(n.exports.meshopt_simplifyWithAttributes,L,m.length,x,x.length/b,b*4,T,C*4,new Float32Array(A),S?new Uint8Array(S):null,w,D,R);return _[0]=m instanceof Uint32Array?_[0]:new m.constructor(_[0]),_},getScale:function(m,x){return r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),d(n.exports.meshopt_simplifyScale,m,m.length/x,x*4)},simplifyPoints:function(m,x,b,T,C,A){return r(this.useExperimentalFeatures),r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),r(b>=0&&b<=m.length/x),T?(r(T instanceof Float32Array),r(T.length%C==0),r(C>=3),r(m.length/x==T.length/C),p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,T,C*4,A,b)):p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,void 0,0,0,b)}}}();function tx(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.bufferViewId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.bufferViews[i],c=a.buffer,u=a.byteOffset,f=a.byteLength,d=!1,p,g,m,x;if(ri(a,"EXT_meshopt_compression")){let T=a.extensions.EXT_meshopt_compression;c=T.buffer,u=y(T.byteOffset,0),f=T.byteLength,d=!0,p=T.byteStride,g=T.count,m=T.mode,x=y(T.filter,"NONE")}let b=n.buffers[c];this._hasMeshopt=d,this._meshoptByteStride=p,this._meshoptCount=g,this._meshoptMode=m,this._meshoptFilter=x,this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._buffer=b,this._bufferId=c,this._byteOffset=u,this._byteLength=f,this._cacheKey=s,this._bufferLoader=void 0,this._typedArray=void 0,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(tx.prototype=Object.create(Yi.prototype),tx.prototype.constructor=tx);Object.defineProperties(tx.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});async function X2e(e){try{let t=K2e(e);if(e._bufferLoader=t,await t.load(),e.isDestroyed())return;let n=t.typedArray,i=new Uint8Array(n.buffer,n.byteOffset+e._byteOffset,e._byteLength);if(e.unload(),e._typedArray=i,e._hasMeshopt){let o=e._meshoptCount,r=e._meshoptByteStride,s=new Uint8Array(o*r);aie.decodeGltfBuffer(s,o,r,e._typedArray,e._meshoptMode,e._meshoptFilter),e._typedArray=s}return e._state=_t.READY,e}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=_t.FAILED,e.getError("Failed to load buffer view",t)}}tx.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=_t.LOADING,this._promise=X2e(this),this._promise)};function K2e(e){let t=e._resourceCache,n=e._buffer;if(l(n.uri)){let o=e._baseResource.getDerivedResource({url:n.uri});return t.getExternalBufferLoader({resource:o})}return t.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:e._bufferId})}tx.prototype.unload=function(){l(this._bufferLoader)&&!this._bufferLoader.isDestroyed()&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var jw=tx;function Pr(){}Pr._maxDecodingConcurrency=Math.max(Wt.hardwareConcurrency-1,1);Pr._decoderTaskProcessor=void 0;Pr._taskProcessorReady=!1;Pr._error=void 0;Pr._getDecoderTaskProcessor=function(){if(!l(Pr._decoderTaskProcessor)){let e=new _i("decodeDraco",Pr._maxDecodingConcurrency);e.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(t){t?Pr._taskProcessorReady=!0:Pr._error=new ce("Draco decoder could not be initialized.")}).catch(t=>{Pr._error=t}),Pr._decoderTaskProcessor=e}return Pr._decoderTaskProcessor};Pr.decodePointCloud=function(e){let t=Pr._getDecoderTaskProcessor();if(l(Pr._error))throw Pr._error;if(Pr._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};Pr.decodeBufferView=function(e){let t=Pr._getDecoderTaskProcessor();if(l(Pr._error))throw Pr._error;if(Pr._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var dg=Pr;function hg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=_t.UNLOADED,this._promise=void 0,this._dracoError=void 0}l(Object.create)&&(hg.prototype=Object.create(Yi.prototype),hg.prototype.constructor=hg);Object.defineProperties(hg.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function $2e(e){let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._draco.bufferView,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._bufferViewTypedArray=n.typedArray,e._state=_t.PROCESSING,e)}catch(n){if(e.isDestroyed())return;cie(e,n)}}hg.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=_t.LOADING,this._promise=$2e(this),this._promise)};function cie(e,t){throw e.unload(),e._state=_t.FAILED,e.getError("Failed to load Draco",t)}async function Z2e(e,t){try{let n=await t;return e.isDestroyed()?void 0:(e.unload(),e._decodedData={indices:n.indexArray,vertexAttributes:n.attributeData},e._state=_t.READY,e._baseResource)}catch(n){if(e.isDestroyed())return;e._dracoError=n}}hg.prototype.process=function(e){if(this._state===_t.READY)return!0;if(this._state!==_t.PROCESSING||(l(this._dracoError)&&cie(this,this._dracoError),!l(this._bufferViewTypedArray))||l(this._decodePromise))return!1;let t=this._draco,i=this._gltf.bufferViews,o=t.bufferView,r=i[o],s=t.attributes,a={array:new Uint8Array(this._bufferViewTypedArray),bufferView:r,compressedAttributes:s,dequantizeInShader:!0},c=dg.decodeBufferView(a);if(!l(c))return!1;this._decodePromise=Z2e(this,c)};hg.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var qw=hg;function Q2e(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return ve.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(ve.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new ve({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return l(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return l(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var dC=Q2e;function Cp(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,u=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=u,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(Cp.prototype=Object.create(Yi.prototype),Cp.prototype.constructor=Cp);Object.defineProperties(Cp.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});Cp.prototype.load=function(){return l(this._promise)?this._promise:l(this._bufferViewId)?(this._promise=J2e(this),this._promise):(this._promise=eBe(this),this._promise)};function lie(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}async function J2e(e){e._state=_t.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=n,await n.load(),e.isDestroyed())return;let i=n.typedArray,o=await nBe(i);if(e.isDestroyed())return;let r=lie(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=_t.READY,e}catch(n){return e.isDestroyed()?void 0:uie(e,n,"Failed to load embedded image")}}async function eBe(e){e._state=_t.LOADING;let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});try{let o=await oBe(i);if(e.isDestroyed())return;let r=lie(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=_t.READY,e}catch(o){return e.isDestroyed()?void 0:uie(e,o,`Failed to load image: ${n}`)}}function uie(e,t,n){return e.unload(),e._state=_t.FAILED,Promise.reject(e.getError(n,t))}function tBe(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new ce("Image format is not recognized")}async function nBe(e){let t=tBe(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return zl(n)}return Cp._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var iBe=/(^data:image\/ktx2)|(\.ktx2$)/i;function oBe(e){let t=e.getUrlComponent(!1,!0);return iBe.test(t)?zl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}Cp.prototype.unload=function(){l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};Cp._loadImageFromTypedArray=dC;var Yw=Cp;var rBe={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},Qa=Object.freeze(rBe);function mg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),u=y(e.loadBuffer,!1),f=y(e.loadTypedArray,!1),d=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=d,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=u,this._loadTypedArray=f,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(mg.prototype=Object.create(Yi.prototype),mg.prototype.constructor=mg);Object.defineProperties(mg.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var sBe=new T9;mg.prototype.load=async function(){return l(this._promise)?this._promise:l(this._draco)?(this._promise=aBe(this),this._promise):(this._promise=cBe(this),this._promise)};async function aBe(e){e._state=_t.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=_t.LOADED,e)}catch(n){if(e.isDestroyed())return;b9(e,n)}}async function cBe(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView;e._state=_t.LOADING;let r=e._resourceCache;try{let s=r.getBufferViewLoader({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=s,await s.load(),e.isDestroyed())return;let a=s.typedArray;return e._typedArray=lBe(e,a),e._state=_t.PROCESSING,e}catch(s){if(e.isDestroyed())return;b9(e,s)}}function lBe(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=Be.getSizeInBytes(s),c=t.buffer,u=t.byteOffset+o.byteOffset;if(u%a!==0){let d=r*a,p=new Uint8Array(c,u,d);c=new Uint8Array(p).buffer,u=0,_s("index-buffer-unaligned",`The index array is not aligned to a ${a}-byte boundary.`)}let f;return s===Be.UNSIGNED_BYTE?f=new Uint8Array(c,u,r):s===Be.UNSIGNED_SHORT?f=new Uint16Array(c,u,r):s===Be.UNSIGNED_INT&&(f=new Uint32Array(c,u,r)),f}function b9(e,t){throw e.unload(),e._state=_t.FAILED,e.getError("Failed to load index buffer",t)}function T9(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}T9.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};T9.prototype.execute=function(){this.buffer=fie(this.typedArray,this.indexDatatype,this.context)};function fie(e,t,n){let i=yt.createIndexBuffer({typedArray:e,context:n,usage:Ve.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}mg.prototype.process=function(e){if(this._state===_t.READY)return!0;if(this._state!==_t.LOADED&&this._state!==_t.PROCESSING)return!1;let t=this._typedArray,n=this._indexDatatype;if(l(this._dracoLoader))try{this._dracoLoader.process(e)&&(t=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=t,n=X.fromTypedArray(t),this._indexDatatype=n)}catch(o){b9(this,o)}if(!l(t))return!1;let i;if(this._loadBuffer&&this._asynchronous){let o=sBe;if(o.set(t,n,e.context),!e.jobScheduler.execute(o,Qa.BUFFER))return!1;i=o.buffer}else this._loadBuffer&&(i=fie(t,n,e.context));return this.unload(),this._buffer=i,this._typedArray=this._loadTypedArray?t:void 0,this._state=_t.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};mg.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var Xw=mg;function uBe(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var Fs=uBe;function fBe(e,t){return l(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var pr=fBe;function Yt(){}Yt.objectLegacy=function(e,t){if(l(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}}};Yt.object=function(e,t){if(l(e)){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=t(o,i);if(l(r))return r}}};Yt.topLevel=function(e,t,n){let i=e[t];return l(i)&&!Array.isArray(i)?Yt.objectLegacy(i,n):Yt.object(i,n)};Yt.accessor=function(e,t){return Yt.topLevel(e,"accessors",t)};Yt.accessorWithSemantic=function(e,t,n){let i={};return Yt.mesh(e,function(o){return Yt.meshPrimitive(o,function(r){let s=Yt.meshPrimitiveAttribute(r,function(a,c){if(c.indexOf(t)===0&&!l(i[a])){i[a]=!0;let u=n(a);if(l(u))return u}});return l(s)?s:Yt.meshPrimitiveTarget(r,function(a){return Yt.meshPrimitiveTargetAttribute(a,function(c,u){if(u.indexOf(t)===0&&!l(i[c])){i[c]=!0;let f=n(c);if(l(f))return f}})})})})};Yt.accessorContainingVertexAttributeData=function(e,t){let n={};return Yt.mesh(e,function(i){return Yt.meshPrimitive(i,function(o){let r=Yt.meshPrimitiveAttribute(o,function(s){if(!l(n[s])){n[s]=!0;let a=t(s);if(l(a))return a}});return l(r)?r:Yt.meshPrimitiveTarget(o,function(s){return Yt.meshPrimitiveTargetAttribute(s,function(a){if(!l(n[a])){n[a]=!0;let c=t(a);if(l(c))return c}})})})})};Yt.accessorContainingIndexData=function(e,t){let n={};return Yt.mesh(e,function(i){return Yt.meshPrimitive(i,function(o){let r=o.indices;if(l(r)&&!l(n[r])){n[r]=!0;let s=t(r);if(l(s))return s}})})};Yt.animation=function(e,t){return Yt.topLevel(e,"animations",t)};Yt.animationChannel=function(e,t){let n=e.channels;return Yt.object(n,t)};Yt.animationSampler=function(e,t){let n=e.samplers;return Yt.object(n,t)};Yt.buffer=function(e,t){return Yt.topLevel(e,"buffers",t)};Yt.bufferView=function(e,t){return Yt.topLevel(e,"bufferViews",t)};Yt.camera=function(e,t){return Yt.topLevel(e,"cameras",t)};Yt.image=function(e,t){return Yt.topLevel(e,"images",t)};Yt.material=function(e,t){return Yt.topLevel(e,"materials",t)};Yt.materialValue=function(e,t){let n=e.values;l(e.extensions)&&l(e.extensions.KHR_techniques_webgl)&&(n=e.extensions.KHR_techniques_webgl.values);for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.mesh=function(e,t){return Yt.topLevel(e,"meshes",t)};Yt.meshPrimitive=function(e,t){let n=e.primitives;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r,o);if(l(s))return s}}};Yt.meshPrimitiveAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.meshPrimitiveTarget=function(e,t){let n=e.targets;if(l(n)){let i=n.length;for(let o=0;o<i;++o){let r=t(n[o],o);if(l(r))return r}}};Yt.meshPrimitiveTargetAttribute=function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}};Yt.node=function(e,t){return Yt.topLevel(e,"nodes",t)};Yt.nodeInTree=function(e,t,n){let i=e.nodes;if(l(i)){let o=t.length;for(let r=0;r<o;r++){let s=t[r],a=i[s];if(l(a)){let c=n(a,s);if(l(c))return c;let u=a.children;if(l(u)&&(c=Yt.nodeInTree(e,u,n),l(c)))return c}}}};Yt.nodeInScene=function(e,t,n){let i=t.nodes;if(l(i))return Yt.nodeInTree(e,i,n)};Yt.program=function(e,t){return pr(e,"KHR_techniques_webgl")?Yt.object(e.extensions.KHR_techniques_webgl.programs,t):Yt.topLevel(e,"programs",t)};Yt.sampler=function(e,t){return Yt.topLevel(e,"samplers",t)};Yt.scene=function(e,t){return Yt.topLevel(e,"scenes",t)};Yt.shader=function(e,t){return pr(e,"KHR_techniques_webgl")?Yt.object(e.extensions.KHR_techniques_webgl.shaders,t):Yt.topLevel(e,"shaders",t)};Yt.skin=function(e,t){return Yt.topLevel(e,"skins",t)};Yt.skinJoint=function(e,t){let n=e.joints;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r);if(l(s))return s}}};Yt.techniqueAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.techniqueUniform=function(e,t){let n=e.uniforms;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.techniqueParameter=function(e,t){let n=e.parameters;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};Yt.technique=function(e,t){return pr(e,"KHR_techniques_webgl")?Yt.object(e.extensions.KHR_techniques_webgl.techniques,t):Yt.topLevel(e,"techniques",t)};Yt.texture=function(e,t){return Yt.topLevel(e,"textures",t)};var Ie=Yt;function dBe(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}var of=dBe;function hBe(e,t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n];if(l(i.byteStride)&&i.byteStride>0)return i.byteStride}return X.getSizeInBytes(t.componentType)*of(t.type)}var tu=hBe;function mBe(e){Ie.accessor(e,function(n){l(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),Ie.bufferView(e,function(n){l(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){if(i.mode=y(i.mode,te.TRIANGLES),!l(i.material)){l(e.materials)||(e.materials=[]);let o={name:"default"};i.material=Fs(e.materials,o)}})}),Ie.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),l(o)){let r=e.bufferViews[o];r.byteStride=tu(e,i),r.target=te.ARRAY_BUFFER}}),Ie.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(l(o)){let r=e.bufferViews[o];r.target=te.ELEMENT_ARRAY_BUFFER}}),Ie.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(l(o)){let c=o.technique,u=l(o.values)?o.values:{};o.values=u,u.ambient=l(u.ambient)?u.ambient:[0,0,0,1],u.emission=l(u.emission)?u.emission:[0,0,0,1],u.transparency=y(u.transparency,1),c!=="CONSTANT"&&(u.diffuse=l(u.diffuse)?u.diffuse:[0,0,0,1],c!=="LAMBERT"&&(u.specular=l(u.specular)?u.specular:[0,0,0,1],u.shininess=y(u.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;l(r)&&Ie.materialValue(n,function(c){l(c.index)&&nx(c)}),nx(n.emissiveTexture),nx(n.normalTexture),nx(n.occlusionTexture);let s=n.pbrMetallicRoughness;l(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),nx(s.baseColorTexture),nx(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;l(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),nx(a.specularGlossinessTexture))}),Ie.animation(e,function(n){Ie.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=pBe(e);return Ie.node(e,function(n,i){l(t[i])||l(n.translation)||l(n.rotation)||l(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Ie.sampler(e,function(n){n.wrapS=y(n.wrapS,te.REPEAT),n.wrapT=y(n.wrapT,te.REPEAT)}),l(e.scenes)&&!l(e.scene)&&(e.scene=0),e}function pBe(e){let t={};return Ie.animation(e,function(n){Ie.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function nx(e){l(e)&&(e.texCoord=y(e.texCoord,0))}var uN=mBe;function _Be(e){return Ie.shader(e,function(t){fN(t)}),Ie.buffer(e,function(t){fN(t)}),Ie.image(e,function(t){fN(t)}),fN(e),e}function fN(e){e.extras=l(e.extras)?e.extras:{},e.extras._pipeline=l(e.extras._pipeline)?e.extras._pipeline:{}}var ix=_Be;function gBe(e,t){let n=e.extensionsRequired;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var dN=gBe;function yBe(e,t){let n=e.extensionsUsed;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),dN(e,t),n.length===0&&delete e.extensionsUsed}}var hC=yBe;var xBe=4;function bBe(e){if(Vh(e)!=="glTF")throw new ce("File is not valid binary glTF");let n=die(e,0,5),i=n[1];if(i!==1&&i!==2)throw new ce("Binary glTF version is not 1 or 2");return i===1?TBe(e,n):CBe(e,n)}function die(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r<n;++r)o[r]=i.getUint32(e.byteOffset+t+r*xBe,!0);return o}function TBe(e,t){let n=t[2],i=t[3];if(t[4]!==0)throw new ce("Binary glTF scene format is not JSON");let r=20,s=r+i,a=Zl(e,r,i),c=JSON.parse(a);ix(c);let u=e.subarray(s,n),f=c.buffers;if(l(f)&&Object.keys(f).length>0){let d=y(f.binary_glTF,f.KHR_binary_glTF);l(d)&&(d.extras._pipeline.source=u,delete d.uri)}return hC(c,"KHR_binary_glTF"),c}function CBe(e,t){let n=t[2],i=12,o,r;for(;i<n;){let s=die(e,i,2),a=s[0],c=s[1];i+=8;let u=e.subarray(i,i+a);if(i+=a,c===1313821514){let f=Zl(u);o=JSON.parse(f),ix(o)}else c===5130562&&(r=u)}if(l(o)&&l(r)){let s=o.buffers;if(l(s)&&s.length>0){let a=s[0];a.extras._pipeline.source=r}}return o}var hN=bBe;function ABe(e){return Ie.shader(e,function(t){mN(t)}),Ie.buffer(e,function(t){mN(t)}),Ie.image(e,function(t){mN(t)}),mN(e),e}function mN(e){l(e.extras)&&(l(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var pN=ABe;function EBe(e,t){let n=e.extensionsUsed;l(n)||(n=[],e.extensionsUsed=n),Fs(n,t,!0)}var dd=EBe;function SBe(e){switch(e){case X.BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt8(n+s*o)};case X.UNSIGNED_BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint8(n+s*o)};case X.SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt16(n+s*o,!0)};case X.UNSIGNED_SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint16(n+s*o,!0)};case X.INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt32(n+s*o,!0)};case X.UNSIGNED_INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint32(n+s*o,!0)};case X.FLOAT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat32(n+s*o,!0)};case X.DOUBLE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat64(n+s*o,!0)}}}var pg=SBe;function wBe(e,t){let n=e.bufferViews,i=e.buffers,o=t.bufferView,r=of(t.type);if(!l(t.bufferView))return{min:new Array(r).fill(0),max:new Array(r).fill(0)};let s=new Array(r).fill(Number.POSITIVE_INFINITY),a=new Array(r).fill(Number.NEGATIVE_INFINITY),c=n[o],u=c.buffer,d=i[u].extras._pipeline.source,p=t.count,g=tu(e,t),m=t.byteOffset+c.byteOffset+d.byteOffset,x=t.componentType,b=X.getSizeInBytes(x),T=new DataView(d.buffer),C=new Array(r),A=pg(x);for(let S=0;S<p;S++){A(T,m,r,b,C);for(let w=0;w<r;w++){let D=C[w];s[w]=Math.min(s[w],D),a[w]=Math.max(a[w],D)}m+=g}return{min:s,max:a}}var mC=wBe;var vBe=[te.FUNC_ADD,te.FUNC_ADD],DBe=[te.ONE,te.ZERO,te.ONE,te.ZERO];function hie(e,t){let n=e.enable;return l(n)?n.indexOf(t)>-1:!1}var IBe=[te.ZERO,te.ONE,te.SRC_COLOR,te.ONE_MINUS_SRC_COLOR,te.SRC_ALPHA,te.ONE_MINUS_SRC_ALPHA,te.DST_ALPHA,te.ONE_MINUS_DST_ALPHA,te.DST_COLOR,te.ONE_MINUS_DST_COLOR];function PBe(e,t){if(!l(e))return t;for(let n=0;n<4;n++)if(IBe.indexOf(e[n])===-1)return t;return e}function RBe(e){let t={},n={},i=e.techniques;return l(i)&&(Ie.technique(e,function(o,r){let s=o.states;if(l(s)){let a=n[r]={};if(hie(s,te.BLEND)){a.alphaMode="BLEND";let c=s.functions;l(c)&&(l(c.blendEquationSeparate)||l(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,vBe),blendFactors:PBe(c.blendFuncSeparate,DBe)})}hie(s,te.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(l(e.extensions)||(e.extensions={}),dd(e,"KHR_blend")),Ie.material(e,function(o){if(l(o.technique)){let r=n[o.technique];Ie.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];l(s)&&(l(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var _N=RBe;function OBe(e,t){let n=e.extensionsRequired;l(n)||(n=[],e.extensionsRequired=n),Fs(n,t,!0),dd(e,t)}var gN=OBe;function MBe(e){let t=e.techniques,n={},i={},o={};if(l(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,Ie.technique(e,function(a,c){let u={name:a.name,program:void 0,attributes:{},uniforms:{}},f;if(Ie.techniqueAttribute(a,function(d,p){f=a.parameters[d],u.attributes[p]={semantic:f.semantic}}),Ie.techniqueUniform(a,function(d,p){f=a.parameters[d],u.uniforms[p]={count:f.count,node:f.node,type:f.type,semantic:f.semantic,value:f.value},l(n[c])||(n[c]={}),n[c][d]=p}),l(o[a.program]))u.program=o[a.program];else{let d=e.programs[a.program],p={name:d.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[d.fragmentShader];p.fragmentShader=Fs(r.shaders,g,!0);let m=e.shaders[d.vertexShader];p.vertexShader=Fs(r.shaders,m,!0),u.program=Fs(r.programs,p),o[a.program]=u.program}i[c]=Fs(r.techniques,u)}),r.techniques.length>0&&(l(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,dd(e,"KHR_techniques_webgl"),gN(e,"KHR_techniques_webgl"))}return Ie.material(e,function(r){if(l(r.technique)){let s={technique:i[r.technique]};Ie.objectLegacy(r.values,function(a,c){l(s.values)||(s.values={});let u=n[r.technique][c];l(u)&&(s.values[u]=a)}),l(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var yN=MBe;function LBe(e,t){yo.typeOf.object("material",e),yo.defined("handler",t);let n=e.pbrMetallicRoughness;if(l(n)){if(l(n.baseColorTexture)){let r=n.baseColorTexture,s=t(r.index,r);if(l(s))return s}if(l(n.metallicRoughnessTexture)){let r=n.metallicRoughnessTexture,s=t(r.index,r);if(l(s))return s}}let{extensions:i}=e;if(l(i)){let r=i.KHR_materials_pbrSpecularGlossiness;if(l(r)){if(l(r.diffuseTexture)){let c=r.diffuseTexture,u=t(c.index,c);if(l(u))return u}if(l(r.specularGlossinessTexture)){let c=r.specularGlossinessTexture,u=t(c.index,c);if(l(u))return u}}let s=i.KHR_materials_specular;if(l(s)){let{specularTexture:c,specularColorTexture:u}=s;if(l(c)){let f=t(c.index,c);if(l(f))return f}if(l(u)){let f=t(u.index,u);if(l(f))return f}}let a=i.KHR_materials_common;if(l(a)&&l(a.values)){let{diffuse:c,ambient:u,emission:f,specular:d}=a.values;if(l(c)&&l(c.index)){let p=t(c.index,c);if(l(p))return p}if(l(u)&&l(u.index)){let p=t(u.index,u);if(l(p))return p}if(l(f)&&l(f.index)){let p=t(f.index,f);if(l(p))return p}if(l(d)&&l(d.index)){let p=t(d.index,d);if(l(p))return p}}}let o=Ie.materialValue(e,function(r){if(l(r.index)){let s=t(r.index,r);if(l(s))return s}});if(l(o))return o;if(l(e.emissiveTexture)){let r=e.emissiveTexture,s=t(r.index,r);if(l(s))return s}if(l(e.normalTexture)){let r=e.normalTexture,s=t(r.index,r);if(l(s))return s}if(l(e.occlusionTexture)){let r=e.occlusionTexture,s=t(r.index,r);if(l(s))return s}}var Kw=LBe;var mie=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function NBe(e,t){return t=y(t,mie),mie.forEach(function(n){t.indexOf(n)>-1&&BBe(e,n)}),e}var FBe={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function BBe(e,t){let n=FBe[t],i=e[n];if(l(i)){let o=0,r=Hh[t](e),s=i.length;for(let a=0;a<s;++a)r[a]||(zh[t](e,a-o),o++)}}function zh(){}zh.accessor=function(e,t){e.accessors.splice(t,1),Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){Ie.meshPrimitiveAttribute(o,function(a,c){a>t&&o.attributes[c]--}),Ie.meshPrimitiveTarget(o,function(a){Ie.meshPrimitiveTargetAttribute(a,function(c,u){c>t&&a[u]--})});let r=o.indices;l(r)&&r>t&&o.indices--;let s=o.extensions;l(s)&&l(s.CESIUM_primitive_outline)&&s.CESIUM_primitive_outline.indices>t&&--s.CESIUM_primitive_outline.indices})}),Ie.skin(e,function(i){l(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),Ie.animation(e,function(i){Ie.animationSampler(i,function(o){l(o.input)&&o.input>t&&o.input--,l(o.output)&&o.output>t&&o.output--})})};zh.buffer=function(e,t){e.buffers.splice(t,1),Ie.bufferView(e,function(i){l(i.buffer)&&i.buffer>t&&i.buffer--,l(i.extensions)&&l(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};zh.bufferView=function(e,t){if(e.bufferViews.splice(t,1),Ie.accessor(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Ie.shader(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Ie.image(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),pr(e,"KHR_draco_mesh_compression")&&Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){l(o.extensions)&&l(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),pr(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.bufferView)&&u.bufferView>t&&u.bufferView--,l(u.arrayOffsetBufferView)&&u.arrayOffsetBufferView>t&&u.arrayOffsetBufferView--,l(u.stringOffsetBufferView)&&u.stringOffsetBufferView>t&&u.stringOffsetBufferView--}}}}if(pr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];l(f.values)&&f.values>t&&f.values--,l(f.arrayOffsets)&&f.arrayOffsets>t&&f.arrayOffsets--,l(f.stringOffsets)&&f.stringOffsets>t&&f.stringOffsets--}}}}};zh.image=function(e,t){e.images.splice(t,1),Ie.texture(e,function(i){l(i.source)&&i.source>t&&--i.source;let o=i.extensions;l(o)&&l(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:l(o)&&l(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};zh.mesh=function(e,t){e.meshes.splice(t,1),Ie.node(e,function(i){l(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};zh.node=function(e,t){e.nodes.splice(t,1),Ie.skin(e,function(i){l(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),Ie.animation(e,function(i){Ie.animationChannel(i,function(o){l(o.target)&&l(o.target.node)&&o.target.node>t&&o.target.node--})}),Ie.technique(e,function(i){Ie.techniqueUniform(i,function(o){l(o.node)&&o.node>t&&o.node--})}),Ie.node(e,function(i){l(i.children)&&(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),Ie.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};zh.material=function(e,t){e.materials.splice(t,1),Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){l(o.material)&&o.material>t&&o.material--})})};zh.sampler=function(e,t){e.samplers.splice(t,1),Ie.texture(e,function(i){l(i.sampler)&&i.sampler>t&&--i.sampler})};zh.texture=function(e,t){if(e.textures.splice(t,1),Ie.material(e,function(i){Kw(i,function(o,r){r.index>t&&--r.index})}),pr(e,"EXT_feature_metadata")){Ie.mesh(e,function(r){Ie.meshPrimitive(r,function(s){let a=s.extensions;if(l(a)&&l(a.EXT_feature_metadata)){let u=a.EXT_feature_metadata.featureIdTextures;if(l(u)){let f=u.length;for(let d=0;d<f;++d){let g=u[d].featureIds.texture;g.index>t&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let f=a[c].texture;f.index>t&&--f.index}}}}if(pr(e,"EXT_mesh_features")&&Ie.mesh(e,function(i){Ie.meshPrimitive(i,function(o){let r=o.extensions;if(l(r)&&l(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(l(a)){let c=a.length;for(let u=0;u<c;++u){let f=a[u];l(f.texture)&&f.texture.index>t&&--f.texture.index}}}})}),pr(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];f.index>t&&--f.index}}}}};function Hh(){}Hh.accessor=function(e){let t={};return Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){Ie.meshPrimitiveAttribute(i,function(r){t[r]=!0}),Ie.meshPrimitiveTarget(i,function(r){Ie.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;l(o)&&(t[o]=!0)})}),Ie.skin(e,function(n){l(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),Ie.animation(e,function(n){Ie.animationSampler(n,function(i){l(i.input)&&(t[i.input]=!0),l(i.output)&&(t[i.output]=!0)})}),pr(e,"EXT_mesh_gpu_instancing")&&Ie.node(e,function(n){l(n.extensions)&&l(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),pr(e,"CESIUM_primitive_outline")&&Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.CESIUM_primitive_outline)){let s=o.CESIUM_primitive_outline.indices;l(s)&&(t[s]=!0)}})}),t};Hh.buffer=function(e){let t={};return Ie.bufferView(e,function(n){l(n.buffer)&&(t[n.buffer]=!0),l(n.extensions)&&l(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};Hh.bufferView=function(e){let t={};if(Ie.accessor(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Ie.shader(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Ie.image(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),pr(e,"KHR_draco_mesh_compression")&&Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){l(i.extensions)&&l(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),pr(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];l(c.bufferView)&&(t[c.bufferView]=!0),l(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),l(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(pr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.values)&&(t[u.values]=!0),l(u.arrayOffsets)&&(t[u.arrayOffsets]=!0),l(u.stringOffsets)&&(t[u.stringOffsets]=!0)}}}}return t};Hh.image=function(e){let t={};return Ie.texture(e,function(n){l(n.source)&&(t[n.source]=!0),l(n.extensions)&&l(n.extensions.EXT_texture_webp)?t[n.extensions.EXT_texture_webp.source]=!0:l(n.extensions)&&l(n.extensions.KHR_texture_basisu)&&(t[n.extensions.KHR_texture_basisu.source]=!0)}),t};Hh.mesh=function(e){let t={};return Ie.node(e,function(n){if(l(n.mesh&&l(e.meshes))){let i=e.meshes[n.mesh];l(i)&&l(i.primitives)&&i.primitives.length>0&&(t[n.mesh]=!0)}}),t};function pie(e,t,n){let i=e.nodes[t];return l(i.mesh)||l(i.camera)||l(i.skin)||l(i.weights)||l(i.extras)||l(i.extensions)&&Object.keys(i.extensions).length!==0||l(n[t])?!1:!l(i.children)||i.children.filter(function(o){return!pie(e,o,n)}).length===0}Hh.node=function(e){let t={};return Ie.skin(e,function(n){l(n.skeleton)&&(t[n.skeleton]=!0),Ie.skinJoint(n,function(i){t[i]=!0})}),Ie.animation(e,function(n){Ie.animationChannel(n,function(i){l(i.target)&&l(i.target.node)&&(t[i.target.node]=!0)})}),Ie.technique(e,function(n){Ie.techniqueUniform(n,function(i){l(i.node)&&(t[i.node]=!0)})}),Ie.node(e,function(n,i){pie(e,i,t)||(t[i]=!0)}),t};Hh.material=function(e){let t={};return Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){l(i.material)&&(t[i.material]=!0)})}),t};Hh.texture=function(e){let t={};if(Ie.material(e,function(n){Kw(n,function(i){t[i]=!0})}),pr(e,"EXT_feature_metadata")){Ie.mesh(e,function(o){Ie.meshPrimitive(o,function(r){let s=r.extensions;if(l(s)&&l(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(l(c)){let u=c.length;for(let f=0;f<u;++f){let p=c[f].featureIds.texture;t[p.index]=!0}}}})});let i=e.extensions.EXT_feature_metadata.featureTextures;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].texture;t[u.index]=!0}}}}if(pr(e,"EXT_mesh_features")&&Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.EXT_mesh_features)){let s=o.EXT_mesh_features.featureIds;if(l(s)){let a=s.length;for(let c=0;c<a;++c){let u=s[c];l(u.texture)&&(t[u.texture.index]=!0)}}}})}),pr(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTextures;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];t[u.index]=!0}}}}return t};Hh.sampler=function(e){let t={};return Ie.texture(e,function(n){l(n.sampler)&&(t[n.sampler]=!0)}),t};var xN=NBe;function kBe(e,t){let n={byteLength:t.length,extras:{_pipeline:{source:t}}},o={buffer:Fs(e.buffers,n),byteOffset:0,byteLength:t.length};return Fs(e.bufferViews,o)}var bN=kBe;function VBe(e,t){let n=tu(e,t),i=X.getSizeInBytes(t.componentType),o=of(t.type),r=t.count,s=new Array(o*r);if(!l(t.bufferView))return s.fill(0);let a=e.bufferViews[t.bufferView],c=e.buffers[a.buffer].extras._pipeline.source,u=t.byteOffset+a.byteOffset+c.byteOffset,f=new DataView(c.buffer),d=new Array(o),p=pg(t.componentType);for(let g=0;g<r;++g){p(f,u,o,i,d);for(let m=0;m<o;++m)s[g*o+m]=d[m];u+=n}return s}var TN=VBe;function UBe(e){let t;return Ie.accessorWithSemantic(e,"JOINTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?CN(e,i,X.UNSIGNED_BYTE):t!==te.UNSIGNED_BYTE&&t!==te.UNSIGNED_SHORT&&CN(e,i,X.UNSIGNED_SHORT)}),Ie.accessorWithSemantic(e,"WEIGHTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?CN(e,i,X.UNSIGNED_BYTE):t===te.SHORT&&CN(e,i,X.UNSIGNED_SHORT)}),e}function CN(e,t,n){let i=X.createTypedArray(n,TN(e,t)),o=new Uint8Array(i.buffer);t.bufferView=bN(e,o),t.componentType=n,t.byteOffset=0}var AN=UBe;function zBe(e,t){return hC(e,t),t==="CESIUM_RTC"&&HBe(e),C9(e,t)}function HBe(e){Ie.technique(e,function(t){Ie.techniqueUniform(t,function(n){n.semantic==="CESIUM_RTC_MODELVIEW"&&(n.semantic="MODELVIEW")})})}function C9(e,t){if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;++i)C9(e[i],t)}else if(e!==null&&typeof e=="object"&&e.constructor===Object){let n=e.extensions,i;l(n)&&(i=n[t],l(i)&&(delete n[t],Object.keys(n).length===0&&delete e.extensions));for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&C9(e[o],t);return i}}var pC=zBe;var EN={.8:XBe,"1.0":p3e,"2.0":void 0};function GBe(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.targetVersion,i=e.version;e.asset=y(e.asset,{version:"1.0"}),e.asset.version=y(e.asset.version,"1.0"),i=y(i,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(EN,i)||(l(i)&&(i=i.substring(0,3)),Object.prototype.hasOwnProperty.call(EN,i)||(i="1.0"));let o=EN[i];for(;l(o)&&i!==n;)o(e,t),i=e.asset.version,o=EN[i];return t.keepLegacyExtensions||(y3e(e,t),x3e(e)),e}function yie(e){let t=e.materials;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.instanceTechnique;l(o)&&(i.technique=o.technique,i.values=o.values,delete i.instanceTechnique)}}function WBe(e){let t=e.meshes;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let o=t[n].primitives;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let a=o[s],c=y(a.primitive,te.TRIANGLES);a.mode=y(a.mode,c),delete a.primitive}}}}function jBe(e){let t=e.nodes,n=new h,i=new Ne;for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o];if(l(r.rotation)){let a=r.rotation;h.fromArray(a,0,n),Ne.fromAxisAngle(n,a[3],i),r.rotation=[i.x,i.y,i.z,i.w]}let s=r.instanceSkin;l(s)&&(r.skeletons=s.skeletons,r.skin=s.skin,r.meshes=s.meshes,delete r.instanceSkin)}}function qBe(e){let t=e.animations,n=e.accessors,i=e.bufferViews,o=e.buffers,r={},s=new h,a=new Ne;for(let c in t)if(Object.prototype.hasOwnProperty.call(t,c)){let u=t[c],f=u.channels,d=u.parameters,p=u.samplers;if(l(f)){let g=f.length;for(let m=0;m<g;++m){let x=f[m];if(x.target.path==="rotation"){let b=d[p[x.sampler].output];if(l(r[b]))continue;r[b]=!0;let T=n[b],C=i[T.bufferView],S=o[C.buffer].extras._pipeline.source,w=S.byteOffset+C.byteOffset+T.byteOffset,D=T.componentType,O=T.count,R=of(T.type),M=T.count*R,L=X.createArrayBufferView(D,S.buffer,w,M);for(let _=0;_<O;_++){let E=_*R;h.unpack(L,E,s);let v=L[E+3];Ne.fromAxisAngle(s,v,a),Ne.pack(a,L,E)}}}}}}function YBe(e){let t=e.techniques;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.passes;if(l(o)){let r=y(i.pass,"defaultPass");if(Object.prototype.hasOwnProperty.call(o,r)){let s=o[r],a=s.instanceProgram;i.attributes=y(i.attributes,a.attributes),i.program=y(i.program,a.program),i.uniforms=y(i.uniforms,a.uniforms),i.states=y(i.states,s.states)}delete i.passes,delete i.pass}}}function XBe(e){l(e.asset)||(e.asset={});let t=e.asset;if(t.version="1.0",typeof t.profile=="string"){let n=t.profile.split(" ");t.profile={api:n[0],version:n[1]}}else t.profile={};if(l(e.version)&&delete e.version,yie(e),WBe(e),jBe(e),qBe(e),YBe(e),l(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),l(e.lights)){let n=y(e.extensions,{});e.extensions=n;let i=y(n.KHR_materials_common,{});n.KHR_materials_common=i,i.lights=e.lights,delete e.lights,dd(e,"KHR_materials_common")}}function KBe(e){let t=e.animations;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.parameters;if(l(o)){let r=i.samplers;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){let a=r[s];a.input=o[a.input],a.output=o[a.output]}delete i.parameters}}}function _ie(e,t){let n=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let o=e[i];t[i]=n.length,n.push(o),l(o.name)||(o.name=i)}return n}function $Be(e){let t,n={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}},i,o={},r=e.nodes;for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(i=r[s].jointName,l(i)&&(o[i]=s));for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&l(n[s])){let a={},c=e[s];e[s]=_ie(c,a),n[s]=a}for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(o[i]=n.nodes[o[i]]);l(e.scene)&&(e.scene=n.scenes[e.scene]),Ie.bufferView(e,function(s){l(s.buffer)&&(s.buffer=n.buffers[s.buffer])}),Ie.accessor(e,function(s){l(s.bufferView)&&(s.bufferView=n.bufferViews[s.bufferView])}),Ie.shader(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Ie.program(e,function(s){l(s.vertexShader)&&(s.vertexShader=n.shaders[s.vertexShader]),l(s.fragmentShader)&&(s.fragmentShader=n.shaders[s.fragmentShader])}),Ie.technique(e,function(s){l(s.program)&&(s.program=n.programs[s.program]),Ie.techniqueParameter(s,function(a){l(a.node)&&(a.node=n.nodes[a.node]);let c=a.value;typeof c=="string"&&(a.value={index:n.textures[c]})})}),Ie.mesh(e,function(s){Ie.meshPrimitive(s,function(a){l(a.indices)&&(a.indices=n.accessors[a.indices]),Ie.meshPrimitiveAttribute(a,function(c,u){a.attributes[u]=n.accessors[c]}),l(a.material)&&(a.material=n.materials[a.material])})}),Ie.node(e,function(s){let a=s.children;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}if(l(s.meshes)){let c=s.meshes,u=c.length;if(u>0)for(s.mesh=n.meshes[c[0]],t=1;t<u;++t){let f={mesh:n.meshes[c[t]]},d=Fs(e.nodes,f);l(a)||(a=[],s.children=a),a.push(d)}delete s.meshes}if(l(s.camera)&&(s.camera=n.cameras[s.camera]),l(s.skin)&&(s.skin=n.skins[s.skin]),l(s.skeletons)){let c=s.skeletons;if(c.length>0&&l(s.skin)){let f=e.skins[s.skin];f.skeleton=n.nodes[c[0]]}delete s.skeletons}l(s.jointName)&&delete s.jointName}),Ie.skin(e,function(s){l(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(l(a)){let c=[],u=a.length;for(t=0;t<u;++t)c[t]=o[a[t]];s.joints=c,delete s.jointNames}}),Ie.scene(e,function(s){let a=s.nodes;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}}),Ie.animation(e,function(s){let a={};s.samplers=_ie(s.samplers,a),Ie.animationSampler(s,function(c){c.input=n.accessors[c.input],c.output=n.accessors[c.output]}),Ie.animationChannel(s,function(c){c.sampler=a[c.sampler];let u=c.target;l(u)&&(u.node=n.nodes[u.id],delete u.id)})}),Ie.material(e,function(s){l(s.technique)&&(s.technique=n.techniques[s.technique]),Ie.materialValue(s,function(c,u){typeof c=="string"&&(s.values[u]={index:n.textures[c]})});let a=s.extensions;if(l(a)){let c=a.KHR_materials_common;l(c)&&l(c.values)&&Ie.materialValue(c,function(u,f){typeof u=="string"&&(c.values[f]={index:n.textures[u]})})}}),Ie.image(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],s.mimeType=c.mimeType,delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Ie.texture(e,function(s){l(s.sampler)&&(s.sampler=n.samplers[s.sampler]),l(s.source)&&(s.source=n.images[s.source])})}function ZBe(e){Ie.animation(e,function(t){Ie.animationSampler(t,function(n){delete n.name})})}function QBe(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];Array.isArray(n)&&n.length===0&&delete e[t]}Ie.node(e,function(t){l(t.children)&&t.children.length===0&&delete t.children})}function JBe(e){let t=e.asset;delete t.profile,delete t.premultipliedAlpha}var e3e={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function t3e(e){let t=e.extensionsUsed;if(e.extensionsRequired=y(e.extensionsRequired,[]),l(t)){let n=t.length;for(let i=0;i<n;++i){let o=t[i];l(e3e[o])&&e.extensionsRequired.push(o)}}}function n3e(e){Ie.buffer(e,function(t){delete t.type})}function i3e(e){Ie.texture(e,function(t){delete t.format,delete t.internalFormat,delete t.target,delete t.type})}function o3e(e){Ie.mesh(e,function(t){Ie.meshPrimitive(t,function(n){Ie.meshPrimitiveAttribute(n,function(i,o){o==="TEXCOORD"?n.attributes.TEXCOORD_0=i:o==="COLOR"&&(n.attributes.COLOR_0=i)}),delete n.attributes.TEXCOORD,delete n.attributes.COLOR})}),Ie.technique(e,function(t){Ie.techniqueParameter(t,function(n){let i=n.semantic;l(i)&&(i==="TEXCOORD"?n.semantic="TEXCOORD_0":i==="COLOR"&&(n.semantic="COLOR_0"))})})}var r3e={POSITION:!0,NORMAL:!0,TANGENT:!0},s3e={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function a3e(e){let t={};Ie.mesh(e,function(n){Ie.meshPrimitive(n,function(i){Ie.meshPrimitiveAttribute(i,function(o,r){if(r.charAt(0)!=="_"){let s=r.search(/_[0-9]+/g),a=r,c="_0";s>=0&&(a=r.substring(0,s),c=r.substring(s));let u,f=s3e[a];l(f)?(u=f+c,t[r]=u):l(r3e[a])||(u=`_${r}`,t[r]=u)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];l(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),Ie.technique(e,function(n){Ie.techniqueParameter(n,function(i){let o=t[i.semantic];l(o)&&(i.semantic=o)})})}function c3e(e){Ie.camera(e,function(t){let n=t.perspective;if(l(n)){let i=n.aspectRatio;l(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;l(o)&&o===0&&(n.yfov=1)}})}function E9(e,t){return l(t.byteStride)&&t.byteStride!==0?t.byteStride:tu(e,t)}function l3e(e){Ie.buffer(e,function(t){l(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),Ie.accessor(e,function(t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n],o=E9(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function u3e(e){let t,n,i,o=e.bufferViews,r={};Ie.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];l(c.bufferView)&&(r[c.bufferView]=!0)});let s={};Ie.accessor(e,function(a){l(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let u=0,f=0,d=c.length;for(t=0;t<d;++t){let p=c[t],g=E9(e,p),m=p.byteOffset,x=p.count*g;delete p.byteStride;let b=t<d-1,T=b?E9(e,c[t+1]):void 0;if(g!==T){let C=We(i,!0);r[a]&&(C.byteStride=g),C.byteOffset+=u,C.byteLength=m+x-u;let A=Fs(o,C);for(n=f;n<=t;++n)p=c[n],p.bufferView=A,p.byteOffset=p.byteOffset-u;u=b?c[t+1].byteOffset:void 0,f=t+1}}}xN(e,["accessor","bufferView","buffer"])}function f3e(e){Ie.accessorWithSemantic(e,"POSITION",function(t){let n=e.accessors[t];if(!l(n.min)||!l(n.max)){let i=mC(e,n);n.min=i.min,n.max=i.max}})}function xie(e){return(!l(e.children)||e.children.length===0)&&(!l(e.meshes)||e.meshes.length===0)&&!l(e.camera)&&!l(e.skin)&&!l(e.skeletons)&&!l(e.jointName)&&(!l(e.translation)||h.fromArray(e.translation).equals(h.ZERO))&&(!l(e.scale)||h.fromArray(e.scale).equals(new h(1,1,1)))&&(!l(e.rotation)||oe.fromArray(e.rotation).equals(new oe(0,0,0,1)))&&(!l(e.matrix)||F.fromColumnMajorArray(e.matrix).equals(F.IDENTITY))&&!l(e.extensions)&&!l(e.extras)}function bie(e,t){Ie.scene(e,function(n){let i=n.nodes;if(l(i)){let o=i.length;for(let r=o;r>=0;--r)if(i[r]===t){i.splice(r,1);return}}}),Ie.node(e,function(n,i){if(l(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),xie(n)&&bie(e,i))}}),delete e.nodes[t]}function d3e(e){return Ie.node(e,function(t,n){xie(t)&&bie(e,n)}),e}function h3e(e){Ie.animation(e,function(t){Ie.animationSampler(t,function(n){let i=e.accessors[n.input];if(!l(i.min)||!l(i.max)){let o=mC(e,i);i.min=o.min,i.max=o.max}})})}function m3e(e){Ie.accessor(e,function(t){if(l(t.min)||l(t.max)){let n=mC(e,t);l(t.min)&&(t.min=n.min),l(t.max)&&(t.max=n.max)}})}function p3e(e){e.asset=y(e.asset,{}),e.asset.version="2.0",yie(e),KBe(e),d3e(e),$Be(e),ZBe(e),JBe(e),t3e(e),l3e(e),u3e(e),f3e(e),h3e(e),m3e(e),n3e(e),i3e(e),o3e(e),a3e(e),AN(e),c3e(e),_N(e),yN(e),QBe(e)}var _3e=["u_tex","u_diffuse","u_emission","u_diffuse_tex"],g3e=["u_diffuse","u_diffuse_mat"];function S9(e){e.pbrMetallicRoughness=l(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function w9(e){return l(e.index)}function v9(e){return Array.isArray(e)&&e.length===4}function Tie(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function y3e(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.baseColorTextureNames,_3e),i=y(t.baseColorFactorNames,g3e);Ie.material(e,function(o){Ie.materialValue(o,function(r,s){n.indexOf(s)!==-1&&w9(r)?(S9(o),o.pbrMetallicRoughness.baseColorTexture=r):i.indexOf(s)!==-1&&v9(r)&&(S9(o),o.pbrMetallicRoughness.baseColorFactor=Tie(r))})}),pC(e,"KHR_techniques_webgl"),pC(e,"KHR_blend")}function A9(e,t){l(t)&&(v9(t)?e.pbrMetallicRoughness.baseColorFactor=Tie(t):w9(t)&&(e.pbrMetallicRoughness.baseColorTexture=t))}function gie(e,t){l(t)&&(v9(t)?e.emissiveFactor=t.slice(0,3):w9(t)&&(e.emissiveTexture=t))}function x3e(e){Ie.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(!l(n))return;let i=y(n.values,{}),o=i.ambient,r=i.diffuse,s=i.emission,a=i.transparency,c=n.doubleSided,u=n.transparent;S9(t),n.technique==="CONSTANT"?(dd(e,"KHR_materials_unlit"),t.extensions=l(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={},A9(t,s),A9(t,o)):(A9(t,r),gie(t,o),gie(t,s)),l(c)&&(t.doubleSided=c),l(a)&&(l(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=a:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,a]),l(u)&&(t.alphaMode=u?"BLEND":"OPAQUE")}),pC(e,"KHR_materials_common")}var SN=GBe;var ei={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function b3e(e){switch(e){case ei.POSITION:return"positionMC";case ei.NORMAL:return"normalMC";case ei.TANGENT:return"tangentMC";case ei.TEXCOORD:return"texCoord";case ei.COLOR:return"color";case ei.JOINTS:return"joints";case ei.WEIGHTS:return"weights";case ei.FEATURE_ID:return"featureId"}}ei.hasSetIndex=function(e){switch(e){case ei.POSITION:case ei.NORMAL:case ei.TANGENT:return!1;case ei.TEXCOORD:case ei.COLOR:case ei.JOINTS:case ei.WEIGHTS:case ei.FEATURE_ID:return!0}};ei.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return ei.POSITION;case"NORMAL":return ei.NORMAL;case"TANGENT":return ei.TANGENT;case"TEXCOORD":return ei.TEXCOORD;case"COLOR":return ei.COLOR;case"JOINTS":return ei.JOINTS;case"WEIGHTS":return ei.WEIGHTS;case"_FEATURE_ID":return ei.FEATURE_ID}};ei.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return ei.POSITION;case"RGBA":case"RGB":case"RGB565":return ei.COLOR;case"NORMAL":case"NORMAL_OCT16P":return ei.NORMAL;case"BATCH_ID":return ei.FEATURE_ID}};ei.getGlslType=function(e){switch(e){case ei.POSITION:case ei.NORMAL:case ei.TANGENT:return"vec3";case ei.TEXCOORD:return"vec2";case ei.COLOR:return"vec4";case ei.JOINTS:return"ivec4";case ei.WEIGHTS:return"vec4";case ei.FEATURE_ID:return"int"}};ei.getVariableName=function(e,t){let n=b3e(e);return l(t)&&(n+=`_${t}`),n};var Ct=Object.freeze(ei);function Ja(){}Ja.getError=function(e,t,n){let i=`Failed to load ${e}: ${t}`;l(n)&&l(n.message)&&(i+=` -${n.message}`);let o=new ce(i);return l(n)&&(o.stack=`Original stack: +${n.stack}`),n};_g.prototype.isDestroyed=function(){return!1};_g.prototype.destroy=function(){return this.unload(),ue(this)};var Ki=_g;var cBe={UNLOADED:0,LOADING:1,LOADED:2,PROCESSING:3,READY:4,FAILED:5},gt=Object.freeze(cBe);function Sp(e){e=y(e,y.EMPTY_OBJECT);let t=e.typedArray,n=e.resource,i=e.cacheKey;this._typedArray=t,this._resource=n,this._cacheKey=i,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(Sp.prototype=Object.create(Ki.prototype),Sp.prototype.constructor=Sp);Object.defineProperties(Sp.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});Sp.prototype.load=async function(){return l(this._promise)?this._promise:l(this._typedArray)?(this._promise=Promise.resolve(this),this._promise):(this._promise=lBe(this),this._promise)};async function lBe(e){let t=e._resource;e._state=gt.LOADING;try{let n=await Sp._fetchArrayBuffer(t);return e.isDestroyed()?void 0:(e._typedArray=new Uint8Array(n),e._state=gt.READY,e)}catch(n){if(e.isDestroyed())return;e._state=gt.FAILED;let i=`Failed to load external buffer: ${t.url}`;throw e.getError(i,n)}}Sp._fetchArrayBuffer=function(e){return e.fetchArrayBuffer()};Sp.prototype.unload=function(){this._typedArray=void 0};var yC=Sp;var $Qt=function(){var e="b9H79TebbbeJq9Geueu9Geub9Gbb9Gvuuuuueu9Gduueu9Gluuuueu9Gvuuuuub9Gouuuuuub9Gluuuub9GiuuueuiKLdilevlevlooroowwvwbDDbelve9Weiiviebeoweuec:G:Qdkr;RiOo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWVbe8F9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949c919M9MWV9c9V919U9KbdE9TW79O9V9Wt9FW9U9J9V9KW9wWVtW949wWV79P9V9UbiY9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWVbl8E9TW79O9V9Wt9FW9U9J9V9KW69U9KW949c919M9MWV9c9V919U9Kbv8A9TW79O9V9Wt9FW9U9J9V9KW69U9KW949wWV79P9V9UboE9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JWbra9TW79O9V9Wt9FW9U9J9V9KW69U9KW949tWG91W9U9JW9c9V919U9KbwL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9p9JtbDK9TW79O9V9Wt9FW9U9J9V9KWS9P2tWV9r919HtbqL9TW79O9V9Wt9FW9U9J9V9KWS9P2tWVT949WbkE9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OWbPa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94J9H9J9OW9ttV9P9Wbsa9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9WbzK9TW79O9V9Wt9F79W9Ht9P9H29t9VVt9sW9T9H9WbHl79IV9RbODwebcekdQXq;A9pLdbk;QqeKu8Jjjjjbcjo9Rgv8Kjjjjbcbhodnalcefae0mbabcbRbN:kjjbc:GeV86bbavcjdfcbcjdzNjjjb8AdnaiTmbavcjdfadalz:tjjjb8Akabaefhrabcefhwavalfcbcbcjdal9RalcFe0EzNjjjb8Aavavcjdfalz:tjjjbhDcj;abal9Uc;WFbGgecjdaecjd6Ehqcbhkindndnaiak9nmbaDcjlfcbcjdzNjjjb8Aaqaiak9Rakaqfai6Egxcsfgecl4cifcd4hmadakal2fhPdndndnaec9WGgsTmbcbhzaPhHawhOxekdnaxmbalheinaraw9Ram6miawcbamzNjjjbamfhwaecufgembxvkkcbhAaPhOinaDaAfRbbhCaDcjlfheaOhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkaraw9Ram6mdaOcefhOawcbamzNjjjbamfhwaAcefgAal9hmbxlkkindnaxTmbaDazfRbbhCaDcjlfheaHhoaxhXinaeaoRbbgQaC9RgCcetaCcKtcK91cr4786bbaoalfhoaecefheaQhCaXcufgXmbkkaraO9Ram6mearaOcbamzNjjjbgLamfgw9RcK6mecbhKaDcjlfhOinaDcjlfaKfhYcwhAczhQceheindndnaegXce9hmbcuhoaYRbbmecbhodninaogecsSmeaecefhoaOaefcefRbbTmbkkcucbaecs6EhoxekaXcethocuaXtc;:bGcFb7hCcbheinaoaCaOaefRbb9nfhoaecefgecz9hmbkkaoaQaoaQ6geEhQaXaAaeEhAaXcetheaXcl6mbkdndndndnaAcufPdiebkaLaKco4fgeaeRbbcdciaAclSEaKci4coGtV86bbaAcw9hmeawaY8Pbb83bbawcwfaYcwf8Pbb83bbawczfhwxdkaLaKco4fgeaeRbbceaKci4coGtV86bbkdncwaA9Tg8Ambinawcb86bbawcefhwxbkkcuaAtcu7hYcbhEaOh3ina3hea8AhCcbhoinaeRbbgQaYcFeGgXaQaX6EaoaAtVhoaecefheaCcufgCmbkawao86bba3a8Afh3awcefhwaEa8AfgEcz6mbkcbheindnaOaefRbbgoaX6mbawao86bbawcefhwkaecefgecz9hmbkkdnaKczfgKas9pmbaOczfhOaraw9RcL0mekkaKas6meawTmeaHcefhHawhOazcefgzalSmixbkkcbhoxikcbhoaraw9Ralcaalca0E6mddnalc8F0mbawcbcaal9RgezNjjjbaefhwkawaDcjdfalz:tjjjbalfab9RhoxdkaDaPaxcufal2falz:tjjjb8Aaxakfhkawmbkcbhokavcjof8Kjjjjbaok9heeuaecaaeca0Eabcj;abae9Uc;WFbGgdcjdadcjd6Egdfcufad9Uae2adcl4cifcd4adV2fcefkmbcbabBdN:kjjbk:zse5u8Jjjjjbc;ae9Rgl8Kjjjjbcbhvdnaici9UgocHfae0mbabcbyd:e:kjjbgrc;GeV86bbalc;abfcFecjezNjjjb8AalcUfgw9cu83ibalc8WfgD9cu83ibalcyfgq9cu83ibalcafgk9cu83ibalcKfgx9cu83ibalczfgm9cu83ibal9cu83iwal9cu83ibabaefc9WfhPabcefgsaofhednaiTmbcmcsarcb9kgzEhHcbhOcbhAcbhCcbhXcbhQindnaeaP9nmbcbhvxikaQcufhvadaCcdtfgLydbhKaLcwfydbhYaLclfydbh8AcbhEdndndninalc;abfavcsGcitfgoydlh3dndndnaoydbgoaK9hmba3a8ASmekdnaoa8A9hmba3aY9hmbaEcefhExekaoaY9hmea3aK9hmeaEcdfhEkaEc870mdaXcufhvaLaEciGcx2goc:y1jjbfydbcdtfydbh3aLaocN1jjbfydbcdtfydbh8AaLaoc:q1jjbfydbcdtfydbhKcbhodnindnalavcsGcdtfydba39hmbaohYxdkcuhYavcufhvaocefgocz9hmbkkaOa3aOSgvaYce9iaYaH9oVgoGfhOdndndncbcsavEaYaoEgvcs9hmbarce9imba3a3aAa3cefaASgvEgAcefSmecmcsavEhvkasavaEcdtc;WeGV86bbavcs9hmea3aA9Rgvcetavc8F917hvinaeavcFb0crtavcFbGV86bbaecefheavcje6hoavcr4hvaoTmbka3hAxvkcPhvasaEcdtcPV86bba3hAkavTmiavaH9omicdhocehEaQhYxlkavcufhvaEclfgEc;ab9hmbkkdnaLceaYaOSceta8AaOSEcx2gvc:q1jjbfydbcdtfydbgKTaLavcN1jjbfydbcdtfydbg8AceSGaLavc:y1jjbfydbcdtfydbg3cdSGaOcb9hGazGg5ce9hmbaw9cu83ibaD9cu83ibaq9cu83ibak9cu83ibax9cu83ibam9cu83ibal9cu83iwal9cu83ibcbhOkcbhEaXcufgvhodnindnalaocsGcdtfydba8A9hmbaEhYxdkcuhYaocufhoaEcefgEcz9hmbkkcbhodnindnalavcsGcdtfydba39hmbaohExdkcuhEavcufhvaocefgocz9hmbkkaOaKaOSg8EfhLdndnaYcm0mbaYcefhYxekcbcsa8AaLSgvEhYaLavfhLkdndnaEcm0mbaEcefhExekcbcsa3aLSgvEhEaLavfhLkc9:cua8EEh8FcbhvaEaYcltVgacFeGhodndndninavcj1jjbfRbbaoSmeavcefgvcz9hmbxdkka5aKaO9havcm0VVmbasavc;WeV86bbxekasa8F86bbaeaa86bbaecefhekdna8EmbaKaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombkaKhAkdnaYcs9hmba8AaA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka8AhAkdnaEcs9hmba3aA9Rgvcetavc8F917hvinaeavcFb0gocrtavcFbGV86bbavcr4hvaecefheaombka3hAkalaXcdtfaKBdbaXcefcsGhvdndnaYPzbeeeeeeeeeeeeeebekalavcdtfa8ABdbaXcdfcsGhvkdndnaEPzbeeeeeeeeeeeeeebekalavcdtfa3BdbavcefcsGhvkcihoalc;abfaQcitfgEaKBdlaEa8ABdbaQcefcsGhYcdhEavhXaLhOxekcdhoalaXcdtfa3BdbcehEaXcefcsGhXaQhYkalc;abfaYcitfgva8ABdlava3Bdbalc;abfaQaEfcsGcitfgva3BdlavaKBdbascefhsaQaofcsGhQaCcifgCai6mbkkcbhvaeaP0mbcbhvinaeavfavcj1jjbfRbb86bbavcefgvcz9hmbkaeab9Ravfhvkalc;aef8KjjjjbavkZeeucbhddninadcefgdc8F0meceadtae6mbkkadcrfcFeGcr9Uci2cdfabci9U2cHfkmbcbabBd:e:kjjbk:ydewu8Jjjjjbcz9Rhlcbhvdnaicvfae0mbcbhvabcbRb:e:kjjbc;qeV86bbal9cb83iwabcefhoabaefc98fhrdnaiTmbcbhwcbhDindnaoar6mbcbskadaDcdtfydbgqalcwfawaqav9Rgvavc8F91gv7av9Rc507gwcdtfgkydb9Rgvc8E91c9:Gavcdt7awVhvinaoavcFb0gecrtavcFbGV86bbavcr4hvaocefhoaembkakaqBdbaqhvaDcefgDai9hmbkkcbhvaoar0mbaocbBbbaoab9RclfhvkavkBeeucbhddninadcefgdc8F0meceadtae6mbkkadcwfcFeGcr9Uab2cvfk:bvli99dui99ludnaeTmbcuadcetcuftcu7:Yhvdndncuaicuftcu7:YgoJbbbZMgr:lJbbb9p9DTmbar:Ohwxekcjjjj94hwkcbhicbhDinalclfIdbgrJbbbbJbbjZalIdbgq:lar:lMalcwfIdbgk:lMgr:varJbbbb9BEgrNhxaqarNhrdndnakJbbbb9GTmbaxhqxekJbbjZar:l:tgqaq:maxJbbbb9GEhqJbbjZax:l:tgxax:marJbbbb9GEhrkdndnalcxfIdbgxJbbj:;axJbbj:;9GEgkJbbjZakJbbjZ9FEavNJbbbZJbbb:;axJbbbb9GEMgx:lJbbb9p9DTmbax:Ohmxekcjjjj94hmkdndnaqJbbj:;aqJbbj:;9GEgxJbbjZaxJbbjZ9FEaoNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:OhPxekcjjjj94hPkdndnarJbbj:;arJbbj:;9GEgqJbbjZaqJbbjZ9FEaoNJbbbZJbbb:;arJbbbb9GEMgr:lJbbb9p9DTmbar:Ohsxekcjjjj94hskdndnadcl9hmbabaifgzas86bbazcifam86bbazcdfaw86bbazcefaP86bbxekabaDfgzas87ebazcofam87ebazclfaw87ebazcdfaP87ebkalczfhlaiclfhiaDcwfhDaecufgembkkk;hlld99eud99eudnaeTmbdndncuaicuftcu7:YgvJbbbZMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikaic;8FiGhrinabcofcicdalclfIdb:lalIdb:l9EgialcwfIdb:lalaicdtfIdb:l9EEgialcxfIdb:lalaicdtfIdb:l9EEgiarV87ebdndnJbbj:;JbbjZalaicdtfIdbJbbbb9DEgoalaicd7cdtfIdbJ;Zl:1ZNNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabcdfaq87ebdndnalaicefciGcdtfIdbJ;Zl:1ZNaoNgwJbbj:;awJbbj:;9GEgDJbbjZaDJbbjZ9FEavNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohqxekcjjjj94hqkabaq87ebdndnaoalaicufciGcdtfIdbJ;Zl:1ZNNgoJbbj:;aoJbbj:;9GEgwJbbjZawJbbjZ9FEavNJbbbZJbbb:;aoJbbbb9GEMgo:lJbbb9p9DTmbao:Ohixekcjjjj94hikabclfai87ebabcwfhbalczfhlaecufgembkkk;3viDue99eu8Jjjjjbcjd9Rgo8Kjjjjbadcd4hrdndndndnavcd9hmbadcl6meaohwarhDinawc:CuBdbawclfhwaDcufgDmbkaeTmiadcl6mdarcdthqalhkcbhxinaohwakhDarhminawawydbgPcbaDIdbgs:8cL4cFeGc:cufasJbbbb9BEgzaPaz9kEBdbaDclfhDawclfhwamcufgmmbkakaqfhkaxcefgxaeSmixbkkaeTmdxekaeTmekarcdthkavce9hhqadcl6hdcbhxindndndnaqmbadmdc:CuhDalhwarhminaDcbawIdbgs:8cL4cFeGc:cufasJbbbb9BEgPaDaP9kEhDawclfhwamcufgmmbxdkkc:CuhDdndnavPleddbdkadmdaohwalhmarhPinawcbamIdbgs:8cL4cFeGgzc;:bazc;:b9kEc:cufasJbbbb9BEBdbamclfhmawclfhwaPcufgPmbxdkkadmecbhwarhminaoawfcbalawfIdbgs:8cL4cFeGgPc8AaPc8A9kEc:cufasJbbbb9BEBdbawclfhwamcufgmmbkkadmbcbhwarhPinaDhmdnavceSmbaoawfydbhmkdndnalawfIdbgscjjj;8iamai9RcefgmcLt9R::NJbbbZJbbb:;asJbbbb9GEMgs:lJbbb9p9DTmbas:Ohzxekcjjjj94hzkabawfazcFFFrGamcKtVBdbawclfhwaPcufgPmbkkabakfhbalakfhlaxcefgxae9hmbkkaocjdf8Kjjjjbk;HqdCui998Jjjjjbc:qd9Rgv8Kjjjjbavc:Sefcbc;KbzNjjjb8AcbhodnadTmbcbhoaiTmbdnabae9hmbavcuadcdtgradcFFFFi0Ecbyd:m:kjjbHjjjjbbgeBd:SeavceBd:mdaeabarz:tjjjb8Akavc:GefcwfcbBdbav9cb83i:Geavc:Gefaeadaiavc:Sefz:njjjbavyd:Gehwadci9UgDcbyd:m:kjjbHjjjjbbhravc:Sefavyd:mdgqcdtfarBdbavaqcefgkBd:mdarcbaDzNjjjbhxavc:SefakcdtfcuaicdtaicFFFFi0Ecbyd:m:kjjbHjjjjbbgmBdbavaqcdfgPBd:mdawhramhkinakalIdbalarydbgscwascw6Ecdtfc;ebfIdbMUdbarclfhrakclfhkaicufgimbkavc:SefaPcdtfcuaDcdtadcFFFF970Ecbyd:m:kjjbHjjjjbbgPBdbdnadci6mbaehraPhkaDhiinakamarydbcdtfIdbamarclfydbcdtfIdbMamarcwfydbcdtfIdbMUdbarcxfhrakclfhkaicufgimbkkaqcifhoavc;qbfhzavhravyd:KehHavyd:OehOcbhscbhkcbhAcehCinarhXcihQaeakci2gLcdtfgrydbhdarclfydbhqabaAcx2fgicwfarcwfydbgKBdbaiclfaqBdbaiadBdbaxakfce86bbazaKBdwazaqBdlazadBdbaPakcdtfcbBdbdnasTmbcihQaXhiinazaQcdtfaiydbgrBdbaQaraK9harad9haraq9hGGfhQaiclfhiascufgsmbkkaAcefhAcbhsinaOaHaeasaLfcdtfydbcdtgifydbcdtfgKhrawaifgqydbgdhidnadTmbdninarydbakSmearclfhraicufgiTmdxbkkaraKadcdtfc98fydbBdbaqaqydbcufBdbkascefgsci9hmbkdndnaQTmbcuhkJbbbbhYcbhqavyd:KehKavyd:OehLindndnawazaqcdtfydbcdtgsfydbgrmbaqcefhqxekaqcs0hiamasfgdIdbh8AadalcbaqcefgqaiEcdtfIdbalarcwarcw6Ecdtfc;ebfIdbMgEUdbaEa8A:thEarcdthiaLaKasfydbcdtfhrinaParydbgscdtfgdaEadIdbMg8AUdba8AaYaYa8A9DgdEhYasakadEhkarclfhraic98fgimbkkaqaQ9hmbkakcu9hmekaCaD9pmdindnaxaCfRbbmbaChkxdkaDaCcefgC9hmbxikkaQczaQcz6EhsazhraXhzakcu9hmbkkaocdtavc:Seffc98fhrdninaoTmearydbcbyd1:kjjbH:bjjjbbarc98fhraocufhoxbkkavc:qdf8Kjjjjbk;IlevucuaicdtgvaicFFFFi0Egocbyd:m:kjjbHjjjjbbhralalyd9GgwcdtfarBdbalawcefBd9GabarBdbaocbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdlcuadcdtadcFFFFi0Ecbyd:m:kjjbHjjjjbbhralalyd9GgocdtfarBdbalaocefBd9GabarBdwabydbcbavzNjjjb8Aadci9UhDdnadTmbabydbhoaehladhrinaoalydbcdtfgvavydbcefBdbalclfhlarcufgrmbkkdnaiTmbabydbhlabydlhrcbhvaihoinaravBdbarclfhralydbavfhvalclfhlaocufgombkkdnadci6mbabydlhrabydwhvcbhlinaecwfydbhoaeclfydbhdaraeydbcdtfgwawydbgwcefBdbavawcdtfalBdbaradcdtfgdadydbgdcefBdbavadcdtfalBdbaraocdtfgoaoydbgocefBdbavaocdtfalBdbaecxfheaDalcefgl9hmbkkdnaiTmbabydlheabydbhlinaeaeydbalydb9RBdbalclfhlaeclfheaicufgimbkkkQbabaeadaic:01jjbz:mjjjbkQbabaeadaic:C:jjjbz:mjjjbk9DeeuabcFeaicdtzNjjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk;Wkivuo99lu8Jjjjjbc;W;Gb9Rgl8Kjjjjbcbhvalcj;Gbfcbc;KbzNjjjb8AalcuadcdtadcFFFFi0Egocbyd:m:kjjbHjjjjbbgrBdj9GalceBd;G9GalcFFF;7rBdwal9cFFF;7;3FF:;Fb83dbalcFFF97Bd;S9Gal9cFFF;7FFF:;u83d;K9Gaicd4hwdndnadmbJFFuFhDJFFuuhqJFFuuhkJFFuFhxJFFuuhmJFFuFhPxekawcdthsaehzincbhiinalaifgHazaifIdbgDaHIdbgxaxaD9EEUdbalc;K;GbfaifgHaDaHIdbgxaxaD9DEUdbaiclfgicx9hmbkazasfhzavcefgvad9hmbkalIdwhqalId;S9GhDalIdlhkalId;O9GhxalIdbhmalId;K9GhPkdndnadTmbJbbbbJbbjZJbbbbaPam:tgPaPJbbbb9DEgPaxak:tgxaxaP9DEgxaDaq:tgDaDax9DEgD:vaDJbbbb9BEhDawcdthsarhHadhzindndnaDaeIdbam:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcv2c;j:KM;jbGhvdndnaDaeclfIdbak:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcq2cM;j:KMeGavVhvdndnaDaecwfIdbaq:tNJb;au9eNJbbbZMgx:lJbbb9p9DTmbax:Ohixekcjjjj94hikaHavaicztaicwtcj;GiGVaicsGVc:p;G:dKGcH2c;d;H:WKGcC2c:KM;j:KdGVBdbaeasfheaHclfhHazcufgzmbkalcbcj;GbzNjjjbhiarhHadheinaiaHydbgzcFrGcx2fgvavydbcefBdbaiazcq4cFrGcx2fgvavydlcefBdlaiazcC4cFrGcx2fgzazydwcefBdwaHclfhHaecufgembxdkkalcbcj;GbzNjjjb8AkcbhHcbhzcbhecbhvinalaHfgiydbhsaiazBdbaicwfgwydbhOawavBdbaiclfgiydbhwaiaeBdbasazfhzaOavfhvawaefheaHcxfgHcj;Gb9hmbkcbhHalaocbyd:m:kjjbHjjjjbbgiBd:e9GdnadTmbabhzinazaHBdbazclfhzadaHcefgH9hmbkabhHadhzinalaraHydbgecdtfydbcFrGcx2fgvavydbgvcefBdbaiavcdtfaeBdbaHclfhHazcufgzmbkaihHadhzinalaraHydbgecdtfydbcq4cFrGcx2fgvavydlgvcefBdlabavcdtfaeBdbaHclfhHazcufgzmbkabhHadhzinalaraHydbgecdtfydbcC4cFrGcx2fgvavydwgvcefBdwaiavcdtfaeBdbaHclfhHazcufgzmbkcbhHinabaiydbcdtfaHBdbaiclfhiadaHcefgH9hmbkkclhidninaic98Smealcj;Gbfaifydbcbyd1:kjjbH:bjjjbbaic98fhixbkkalc;W;Gbf8Kjjjjbk9teiucbcbyd:q:kjjbgeabcifc98GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd:q:kjjbgeabcrfc94GfgbBd:q:kjjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd:q:kjjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd:q:kjjbfgdBd:q:kjjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akkk:Iddbcjwk:edb4:h9w9N94:P:gW:j9O:ye9Pbbbbbbebbbdbbbebbbdbbbbbbbdbbbbbbbebbbbbbb:l29hZ;69:9kZ;N;76Z;rg97Z;z;o9xZ8J;B85Z;:;u9yZ;b;k9HZ:2;Z9DZ9e:l9mZ59A8KZ:r;T3Z:A:zYZ79OHZ;j4::8::Y:D9V8:bbbb9s:49:Z8R:hBZ9M9M;M8:L;z;o8:;8:PG89q;x:J878R:hQ8::M:B;e87bbbbbbjZbbjZbbjZ:E;V;N8::Y:DsZ9i;H;68:xd;R8:;h0838:;W:NoZbbbb:WV9O8:uf888:9i;H;68:9c9G;L89;n;m9m89;D8Ko8:bbbbf:8tZ9m836ZS:2AZL;zPZZ818EZ9e:lxZ;U98F8:819E;68:bc:eqkzebbbebbbdbbba:vbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(g){n=g.instance,n.exports.__wasm_call_ctors(),n.exports.meshopt_encodeVertexVersion(0),n.exports.meshopt_encodeIndexVersion(1)});function o(g){for(var m=new Uint8Array(g.length),x=0;x<g.length;++x){var b=g.charCodeAt(x);m[x]=b>96?b-97:b>64?b-39:b+4}for(var T=0,x=0;x<g.length;++x)m[T++]=m[x]<60?t[m[x]]:(m[x]-60)*64+m[++x];return m.buffer.slice(0,T)}function r(g){if(!g)throw new Error("Assertion failed")}function s(g){return new Uint8Array(g.buffer,g.byteOffset,g.byteLength)}function a(g,m,x,b){var T=n.exports.sbrk,C=T(m.length*4),A=T(x*4),S=new Uint8Array(n.exports.memory.buffer),v=s(m);S.set(v,C),b&&b(C,C,m.length,x);var D=g(A,C,m.length,x);S=new Uint8Array(n.exports.memory.buffer);var R=new Uint32Array(x);new Uint8Array(R.buffer).set(S.subarray(A,A+x*4)),v.set(S.subarray(C,C+m.length*4)),T(C-T(0));for(var O=0;O<m.length;++O)m[O]=R[m[O]];return[R,D]}function c(g,m,x,b){var T=n.exports.sbrk,C=T(x*4),A=T(x*b),S=new Uint8Array(n.exports.memory.buffer);S.set(s(m),A),g(C,A,x,b),S=new Uint8Array(n.exports.memory.buffer);var v=new Uint32Array(x);return new Uint8Array(v.buffer).set(S.subarray(C,C+x*4)),T(C-T(0)),v}function u(g,m,x,b,T){var C=n.exports.sbrk,A=C(m),S=C(b*T),v=new Uint8Array(n.exports.memory.buffer);v.set(s(x),S);var D=g(A,m,S,b,T),R=new Uint8Array(D);return R.set(v.subarray(A,A+D)),C(A-C(0)),R}function f(g){for(var m=0,x=0;x<g.length;++x){var b=g[x];m=m<b?b:m}return m}function d(g,m){if(r(m==2||m==4),m==4)return new Uint32Array(g.buffer,g.byteOffset,g.byteLength/4);var x=new Uint16Array(g.buffer,g.byteOffset,g.byteLength/2);return new Uint32Array(x)}function p(g,m,x,b,T,C,A){var S=n.exports.sbrk,v=S(x*b),D=S(x*C),R=new Uint8Array(n.exports.memory.buffer);R.set(s(m),D),g(v,x,b,T,D,A);var O=new Uint8Array(x*b);return O.set(R.subarray(v,v+x*b)),S(v-S(0)),O}return{ready:i,supported:!0,reorderMesh:function(g,m,x){var b=m?x?n.exports.meshopt_optimizeVertexCacheStrip:n.exports.meshopt_optimizeVertexCache:void 0;return a(n.exports.meshopt_optimizeVertexFetchRemap,g,f(g)+1,b)},reorderPoints:function(g,m){return r(g instanceof Float32Array),r(g.length%m==0),r(m>=3),c(n.exports.meshopt_spatialSortRemap,g,g.length/m,m*4)},encodeVertexBuffer:function(g,m,x){r(x>0&&x<=256),r(x%4==0);var b=n.exports.meshopt_encodeVertexBufferBound(m,x);return u(n.exports.meshopt_encodeVertexBuffer,b,g,m,x)},encodeIndexBuffer:function(g,m,x){r(x==2||x==4),r(m%3==0);var b=d(g,x),T=n.exports.meshopt_encodeIndexBufferBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexBuffer,T,b,m,4)},encodeIndexSequence:function(g,m,x){r(x==2||x==4);var b=d(g,x),T=n.exports.meshopt_encodeIndexSequenceBound(m,f(b)+1);return u(n.exports.meshopt_encodeIndexSequence,T,b,m,4)},encodeGltfBuffer:function(g,m,x,b){var T={ATTRIBUTES:this.encodeVertexBuffer,TRIANGLES:this.encodeIndexBuffer,INDICES:this.encodeIndexSequence};return r(T[b]),T[b](g,m,x)},encodeFilterOct:function(g,m,x,b){return r(x==4||x==8),r(b>=1&&b<=16),p(n.exports.meshopt_encodeFilterOct,g,m,x,b,16)},encodeFilterQuat:function(g,m,x,b){return r(x==8),r(b>=4&&b<=16),p(n.exports.meshopt_encodeFilterQuat,g,m,x,b,16)},encodeFilterExp:function(g,m,x,b,T){r(x>0&&x%4==0),r(b>=1&&b<=24);var C={Separate:0,SharedVector:1,SharedComponent:2,Clamped:3};return p(n.exports.meshopt_encodeFilterExp,g,m,x,b,x,T?C[T]:1)}}}();var yie=function(){var e="b9H79Tebbbe8Fv9Gbb9Gvuuuuueu9Giuuub9Geueu9Giuuueuikqbeeedddillviebeoweuec:q:Odkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbeY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVbdE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbiL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtblK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbol79IV9Rbrq;w8Wqdbk;esezu8Jjjjjbcj;eb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Radz1jjjbhwcj;abad9Uc;WFbGgocjdaocjd6EhDaicefhocbhqdnindndndnaeaq9nmbaDaeaq9RaqaDfae6Egkcsfglcl4cifcd4hxalc9WGgmTmecbhPawcjdfhsaohzinaraz9Rax6mvarazaxfgo9RcK6mvczhlcbhHinalgic9WfgOawcj;cbffhldndndndndnazaOco4fRbbaHcoG4ciGPlbedibkal9cb83ibalcwf9cb83ibxikalaoRblaoRbbgOco4gAaAciSgAE86bbawcj;cbfaifglcGfaoclfaAfgARbbaOcl4ciGgCaCciSgCE86bbalcVfaAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc7faAaCfgARbbaOciGgOaOciSgOE86bbalctfaAaOfgARbbaoRbegOco4gCaCciSgCE86bbalc91faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc4faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc93faAaCfgARbbaOciGgOaOciSgOE86bbalc94faAaOfgARbbaoRbdgOco4gCaCciSgCE86bbalc95faAaCfgARbbaOcl4ciGgCaCciSgCE86bbalc96faAaCfgARbbaOcd4ciGgCaCciSgCE86bbalc97faAaCfgARbbaOciGgOaOciSgOE86bbalc98faAaOfgORbbaoRbigoco4gAaAciSgAE86bbalc99faOaAfgORbbaocl4ciGgAaAciSgAE86bbalc9:faOaAfgORbbaocd4ciGgAaAciSgAE86bbalcufaOaAfglRbbaociGgoaociSgoE86bbalaofhoxdkalaoRbwaoRbbgOcl4gAaAcsSgAE86bbawcj;cbfaifglcGfaocwfaAfgARbbaOcsGgOaOcsSgOE86bbalcVfaAaOfgORbbaoRbegAcl4gCaCcsSgCE86bbalc7faOaCfgORbbaAcsGgAaAcsSgAE86bbalctfaOaAfgORbbaoRbdgAcl4gCaCcsSgCE86bbalc91faOaCfgORbbaAcsGgAaAcsSgAE86bbalc4faOaAfgORbbaoRbigAcl4gCaCcsSgCE86bbalc93faOaCfgORbbaAcsGgAaAcsSgAE86bbalc94faOaAfgORbbaoRblgAcl4gCaCcsSgCE86bbalc95faOaCfgORbbaAcsGgAaAcsSgAE86bbalc96faOaAfgORbbaoRbvgAcl4gCaCcsSgCE86bbalc97faOaCfgORbbaAcsGgAaAcsSgAE86bbalc98faOaAfgORbbaoRbogAcl4gCaCcsSgCE86bbalc99faOaCfgORbbaAcsGgAaAcsSgAE86bbalc9:faOaAfgORbbaoRbrgocl4gAaAcsSgAE86bbalcufaOaAfglRbbaocsGgoaocsSgoE86bbalaofhoxekalao8Pbb83bbalcwfaocwf8Pbb83bbaoczfhokdnaiam9pmbaHcdfhHaiczfhlarao9RcL0mekkaiam6mvaoTmvdnakTmbawaPfRbbhHawcj;cbfhlashiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkkascefhsaohzaPcefgPad9hmbxikkcbc99arao9Radcaadca0ESEhoxlkaoaxad2fhCdnakmbadhlinaoTmlarao9Rax6mlaoaxfhoalcufglmbkaChoxekcbhmawcjdfhAinarao9Rax6miawamfRbbhHawcj;cbfhlaAhiakhOinaialRbbgzce4cbazceG9R7aHfgH86bbaiadfhialcefhlaOcufgOmbkaAcefhAaoaxfhoamcefgmad9hmbkaChokabaqad2fawcjdfakad2z1jjjb8Aawawcjdfakcufad2fadz1jjjb8Aakaqfhqaombkc9:hoxekc9:hokavcj;ebf8Kjjjjbaok;cseHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecjez:jjjjb8AavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:Lvoeue99dud99eud99dndnadcl9hmbaeTmeindndnabcdfgd8Sbb:Yab8Sbbgi:Ygl:l:tabcefgv8Sbbgo:Ygr:l:tgwJbb;:9cawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai86bbdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad86bbdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad86bbabclfhbaecufgembxdkkaeTmbindndnabclfgd8Ueb:Yab8Uebgi:Ygl:l:tabcdfgv8Uebgo:Ygr:l:tgwJb;:FSawawNJbbbbawawJbbbb9GgDEgq:mgkaqaicb9iEalMgwawNakaqaocb9iEarMgqaqNMM:r:vglNJbbbZJbbb:;aDEMgr:lJbbb9p9DTmbar:Ohixekcjjjj94hikadai87ebdndnaqalNJbbbZJbbb:;aqJbbbb9GEMgq:lJbbb9p9DTmbaq:Ohdxekcjjjj94hdkavad87ebdndnawalNJbbbZJbbb:;awJbbbb9GEMgw:lJbbb9p9DTmbaw:Ohdxekcjjjj94hdkabad87ebabcwfhbaecufgembkkk;oiliui99iue99dnaeTmbcbhiabhlindndnJ;Zl81Zalcof8UebgvciV:Y:vgoal8Ueb:YNgrJb;:FSNJbbbZJbbb:;arJbbbb9GEMgw:lJbbb9p9DTmbaw:OhDxekcjjjj94hDkalclf8Uebhqalcdf8UebhkabaiavcefciGfcetfaD87ebdndnaoak:YNgwJb;:FSNJbbbZJbbb:;awJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavciGfgkcd7cetfaD87ebdndnaoaq:YNgoJb;:FSNJbbbZJbbb:;aoJbbbb9GEMgx:lJbbb9p9DTmbax:OhDxekcjjjj94hDkabaiavcufciGfcetfaD87ebdndnJbbjZararN:tawawN:taoaoN:tgrJbbbbarJbbbb9GE:rJb;:FSNJbbbZMgr:lJbbb9p9DTmbar:Ohvxekcjjjj94hvkabakcetfav87ebalcwfhlaiclfhiaecufgembkkk9mbdnadcd4ae2gdTmbinababydbgecwtcw91:Yaece91cjjj98Gcjjj;8if::NUdbabclfhbadcufgdmbkkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabkkkebcjwklzNbb",t="b9H79TebbbeKl9Gbb9Gvuuuuueu9Giuuub9Geueuikqbbebeedddilve9Weeeviebeoweuec:q:6dkr;leDo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9KW9J9V9KW9wWVtW949c919M9MWVbdY9TW79O9V9Wt9F9KW9J9V9KW69U9KW949c919M9MWVblE9TW79O9V9Wt9F9KW9J9V9KW69U9KW949tWG91W9U9JWbvL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9p9JtboK9TW79O9V9Wt9F9KW9J9V9KWS9P2tWV9r919HtbrL9TW79O9V9Wt9F9KW9J9V9KWS9P2tWVT949Wbwl79IV9RbDq:p9sqlbzik9:evu8Jjjjjbcz9Rhbcbheincbhdcbhiinabcwfadfaicjuaead4ceGglE86bbaialfhiadcefgdcw9hmbkaec:q:yjjbfai86bbaecitc:q1jjbfab8Piw83ibaecefgecjd9hmbkk:N8JlHud97euo978Jjjjjbcj;kb9Rgv8Kjjjjbc9:hodnadcefal0mbcuhoaiRbbc:Ge9hmbavaialfgrad9Rad;8qbbcj;abad9UhlaicefhodnaeTmbadTmbalc;WFbGglcjdalcjd6EhwcbhDinawaeaD9RaDawfae6Egqcsfglc9WGgkci2hxakcethmalcl4cifcd4hPabaDad2fhsakc;ab6hzcbhHincbhOaohAdndninaraA9RaP6meavcj;cbfaOak2fhCaAaPfhocbhidnazmbarao9Rc;Gb6mbcbhlinaCalfhidndndndndnaAalco4fRbbgXciGPlbedibkaipxbbbbbbbbbbbbbbbbpklbxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklbaoczfhokdndndndndnaXcd4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklzxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklzaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklzaoczfhokdndndndndnaXcl4ciGPlbedibkaipxbbbbbbbbbbbbbbbbpklaxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spklaaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaiaopbbbpklaaoczfhokdndndndndnaXco4Plbedibkaipxbbbbbbbbbbbbbbbbpkl8WxikaiaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaoclfaYpQbfaXc:q:yjjbfRbbfhoxdkaiaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibaXc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgXcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkl8WaocwfaYpQbfaXc:q:yjjbfRbbfhoxekaiaopbbbpkl8Waoczfhokalc;abfhialcjefak0meaihlarao9Rc;Fb0mbkkdnaiak9pmbaici4hlinarao9RcK6miaCaifhXdndndndndnaAaico4fRbbalcoG4ciGPlbedibkaXpxbbbbbbbbbbbbbbbbpkbbxikaXaopbblaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLgQcdp:meaQpmbzeHdOiAlCvXoQrLpxiiiiiiiiiiiiiiiip9ogLpxiiiiiiiiiiiiiiiip8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaoclfaYpQbfaKc:q:yjjbfRbbfhoxdkaXaopbbwaopbbbgQclp:meaQpmbzeHdOiAlCvXoQrLpxssssssssssssssssp9ogLpxssssssssssssssssp8JgQp5b9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibaKc:q:yjjbfpbbbgYaYpmbbbbbbbbbbbbbbbbaQp5e9cjF;8;4;W;G;ab9:9cU1:NgKcitc:q1jjbfpbibp9UpmbedilvorzHOACXQLpPaLaQp9spkbbaocwfaYpQbfaKc:q:yjjbfRbbfhoxekaXaopbbbpkbbaoczfhokalcdfhlaiczfgiak6mbkkaoTmeaohAaOcefgOclSmdxbkkc9:hoxlkdnakTmbavcjdfaHfhiavaHfpbdbhYcbhXinaiavcj;cbfaXfglpblbgLcep9TaLpxeeeeeeeeeeeeeeeegQp9op9Hp9rgLalakfpblbg8Acep9Ta8AaQp9op9Hp9rg8ApmbzeHdOiAlCvXoQrLgEalamfpblbg3cep9Ta3aQp9op9Hp9rg3alaxfpblbg5cep9Ta5aQp9op9Hp9rg5pmbzeHdOiAlCvXoQrLg8EpmbezHdiOAlvCXorQLgQaQpmbedibedibedibediaYp9UgYp9AdbbaiadfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaEa8EpmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwKDYq8AkEx3m5P8Es8FgLa3a5pmwKDYq8AkEx3m5P8Es8Fg8ApmbezHdiOAlvCXorQLgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfglaYaLa8ApmwDKYqk8AExm35Ps8E8FgQaQpmbedibedibedibedip9UgYp9AdbbaladfglaYaQaQpmlvorlvorlvorlvorp9UgYp9AdbbaladfglaYaQaQpmwDqkwDqkwDqkwDqkp9UgYp9AdbbaladfglaYaQaQpmxmPsxmPsxmPsxmPsp9UgYp9AdbbaladfhiaXczfgXak6mbkkaHclfgHad6mbkasavcjdfaqad2;8qbbavavcjdfaqcufad2fad;8qbbaqaDfgDae6mbkkcbc99arao9Radcaadca0ESEhokavcj;kbf8Kjjjjbaokwbz:bjjjbk::seHu8Jjjjjbc;ae9Rgv8Kjjjjbc9:hodnaeci9UgrcHfal0mbcuhoaiRbbgwc;WeGc;Ge9hmbawcsGgwce0mbavc;abfcFecje;8kbavcUf9cu83ibavc8Wf9cu83ibavcyf9cu83ibavcaf9cu83ibavcKf9cu83ibavczf9cu83ibav9cu83iwav9cu83ibaialfc9WfhDaicefgqarfhidnaeTmbcmcsawceSEhkcbhxcbhmcbhPcbhwcbhlindnaiaD9nmbc9:hoxikdndnaqRbbgoc;Ve0mbavc;abfalaocu7gscl4fcsGcitfgzydlhrazydbhzdnaocsGgHak9pmbavawasfcsGcdtfydbaxaHEhoaHThsdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkaxasfhxcdhHavawcdtfaoBdbawasfhwcehsalhOxdkdndnaHcsSmbaHc987aHamffcefhoxekaicefhoai8SbbgHcFeGhsdndnaHcu9mmbaohixekaicvfhiascFbGhscrhHdninao8SbbgOcFbGaHtasVhsaOcu9kmeaocefhoaHcrfgHc8J9hmbxdkkaocefhikasce4cbasceG9R7amfhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhHavawcdtfaoBdbcehsawcefhwalhOaohmxekdnaocpe0mbaxcefgHavawaDaocsGfRbbgocl49RcsGcdtfydbaocz6gzEhravawao9RcsGcdtfydbaHazfgAaocsGgHEhoaHThCdndnadcd9hmbabaPcetfgHax87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHaxBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfaxBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgOaxBdlaOarBdbavawazfgwcsGcdtfaoBdbalcefcsGhOawaCfhwaxhzaAaCfhxxekaxcbaiRbbgOEgzaoc;:eSgHfhraOcsGhCaOcl4hAdndnaOcs0mbarcefhoxekarhoavawaA9RcsGcdtfydbhrkdndnaCmbaocefhxxekaohxavawaO9RcsGcdtfydbhokdndnaHTmbaicefhHxekaicdfhHai8SbegscFeGhzdnascu9kmbaicofhXazcFbGhzcrhidninaH8SbbgscFbGaitazVhzascu9kmeaHcefhHaicrfgic8J9hmbkaXhHxekaHcefhHkazce4cbazceG9R7amfgmhzkdndnaAcsSmbaHhsxekaHcefhsaH8SbbgicFeGhrdnaicu9kmbaHcvfhXarcFbGhrcrhidninas8SbbgHcFbGaitarVhraHcu9kmeascefhsaicrfgic8J9hmbkaXhsxekascefhskarce4cbarceG9R7amfgmhrkdndnaCcsSmbashixekascefhias8SbbgocFeGhHdnaocu9kmbascvfhXaHcFbGhHcrhodninai8SbbgscFbGaotaHVhHascu9kmeaicefhiaocrfgoc8J9hmbkaXhixekaicefhikaHce4cbaHceG9R7amfgmhokdndnadcd9hmbabaPcetfgHaz87ebaHclfao87ebaHcdfar87ebxekabaPcdtfgHazBdbaHcwfaoBdbaHclfarBdbkcdhsavawcdtfazBdbavawcefgwcsGcdtfarBdbcihHavc;abfalcitfgXazBdlaXarBdbavawaOcz6aAcsSVfgwcsGcdtfaoBdbawaCTaCcsSVfhwalcefcsGhOkaqcefhqavc;abfaOcitfgOarBdlaOaoBdbavc;abfalasfcsGcitfgraoBdlarazBdbawcsGhwalaHfcsGhlaPcifgPae6mbkkcbc99aiaDSEhokavc;aef8Kjjjjbaok:flevu8Jjjjjbcz9Rhvc9:hodnaecvfal0mbcuhoaiRbbc;:eGc;qe9hmbav9cb83iwaicefhraialfc98fhwdnaeTmbdnadcdSmbcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcdtfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfglBdbaoalBdbaDcefgDae9hmbxdkkcbhDindnaraw6mbc9:skarcefhoar8SbbglcFeGhidndnalcu9mmbaohrxekarcvfhraicFbGhicrhldninao8SbbgdcFbGaltaiVhiadcu9kmeaocefhoalcrfglc8J9hmbxdkkaocefhrkabaDcetfaic8Etc8F91aicd47avcwfaiceGcdtVgoydbfgl87ebaoalBdbaDcefgDae9hmbkkcbc99arawSEhokaok:wPliuo97eue978Jjjjjbca9Rhiaec98Ghldndnadcl9hmbdnalTmbcbhvabhdinadadpbbbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDpxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpkbbadczfhdavclfgval6mbkkalaeSmeaipxbbbbbbbbbbbbbbbbgqpklbaiabalcdtfgdaeciGglcdtgv;8qbbdnalTmbaiaipblbgocKp:RecKp:Sep;6egraocwp:RecKp:Sep;6earp;Geaoczp:RecKp:Sep;6egwp;Gep;Kep;LegDaqp:2egqarpxbbbjbbbjbbbjbbbjgkp9op9rp;Kegrpxbb;:9cbb;:9cbb;:9cbb;:9cararp;MeaDaDp;Meawaqawakp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFbbbFbbbFbbbFbbbp9oaopxbbbFbbbFbbbFbbbFp9op9qarawp;Meaqp;Kecwp:RepxbFbbbFbbbFbbbFbbp9op9qaDawp;Meaqp;Keczp:RepxbbFbbbFbbbFbbbFbp9op9qpklbkadaiav;8qbbskdnalTmbcbhvabhdinadczfgxaxpbbbgopxbbbbbbFFbbbbbbFFgkp9oadpbbbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpkbbadaDakp9oaoarpmbezHdiOAlvCXorQLp9qpkbbadcafhdavclfgval6mbkkalaeSmbaiaeciGgvcitgdfcbcaad9R;8kbaiabalcitfglad;8qbbdnavTmbaiaipblzgopxbbbbbbFFbbbbbbFFgkp9oaipblbgDaopmbediwDqkzHOAKY8AEgwczp:Reczp:Sep;6egraDaopmlvorxmPsCXQL358E8FpxFubbFubbFubbFubbp9op;6eawczp:Sep;6egwp;Gearp;Gep;Kep;Legopxbbbbbbbbbbbbbbbbp:2egqarpxbbbjbbbjbbbjbbbjgmp9op9rp;Kegrpxb;:FSb;:FSb;:FSb;:FSararp;Meaoaop;Meawaqawamp9op9rp;Kegrarp;Mep;Kep;Kep;Jep;Negwp;Mepxbbn0bbn0bbn0bbn0gqp;KepxFFbbFFbbFFbbFFbbp9oaoawp;Meaqp;Keczp:Rep9qgoarawp;Meaqp;KepxFFbbFFbbFFbbFFbbp9ogrpmwDKYqk8AExm35Ps8E8Fp9qpklzaiaDakp9oaoarpmbezHdiOAlvCXorQLp9qpklbkalaiad;8qbbkk;4wllue97euv978Jjjjjbc8W9Rhidnaec98GglTmbcbhvabhoinaiaopbbbgraoczfgwpbbbgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklbaopxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblbpEb:T:j83ibaocwfarp5eaipblbpEe:T:j83ibawaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblbpEd:T:j83ibaocKfakp5eaipblbpEi:T:j83ibaocafhoavclfgval6mbkkdnalaeSmbaiaeciGgvcitgofcbcaao9R;8kbaiabalcitfgwao;8qbbdnavTmbaiaipblbgraipblzgDpmlvorxmPsCXQL358E8Fgqczp:Segkclp:RepklaaipxbbjZbbjZbbjZbbjZpx;Zl81Z;Zl81Z;Zl81Z;Zl81Zakpxibbbibbbibbbibbbp9qp;6ep;NegkaraDpmbediwDqkzHOAKY8AEgrczp:Reczp:Sep;6ep;MegDaDp;Meakarczp:Sep;6ep;Megxaxp;Meakaqczp:Reczp:Sep;6ep;Megqaqp;Mep;Kep;Kep;Lepxbbbbbbbbbbbbbbbbp:4ep;Jepxb;:FSb;:FSb;:FSb;:FSgkp;Mepxbbn0bbn0bbn0bbn0grp;KepxFFbbFFbbFFbbFFbbgmp9oaxakp;Mearp;Keczp:Rep9qgxaDakp;Mearp;Keamp9oaqakp;Mearp;Keczp:Rep9qgkpmbezHdiOAlvCXorQLgrp5baipblapEb:T:j83ibaiarp5eaipblapEe:T:j83iwaiaxakpmwDKYqk8AExm35Ps8E8Fgkp5baipblapEd:T:j83izaiakp5eaipblapEi:T:j83iKkawaiao;8qbbkk:Pddiue978Jjjjjbc;ab9Rhidnadcd4ae2glc98GgvTmbcbheabhdinadadpbbbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepkbbadczfhdaeclfgeav6mbkkdnavalSmbaialciGgecdtgdVcbc;abad9R;8kbaiabavcdtfgvad;8qbbdnaeTmbaiaipblbgocwp:Recwp:Sep;6eaocep:SepxbbjFbbjFbbjFbbjFp9opxbbjZbbjZbbjZbbjZp:Uep;Mepklbkavaiad;8qbbkk9teiucbcbydj1jjbgeabcifc98GfgbBdj1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaikkkebcjwklz:Dbb",n=new Uint8Array([0,97,115,109,1,0,0,0,1,4,1,96,0,0,3,3,2,0,0,5,3,1,0,1,12,1,0,10,22,2,12,0,65,0,65,0,65,0,252,10,0,0,11,7,0,65,0,253,15,26,11]),i=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var o=WebAssembly.validate(n)?a(t):a(e),r,s=WebAssembly.instantiate(o,{}).then(function(T){r=T.instance,r.exports.__wasm_call_ctors()});function a(T){for(var C=new Uint8Array(T.length),A=0;A<T.length;++A){var S=T.charCodeAt(A);C[A]=S>96?S-97:S>64?S-39:S+4}for(var v=0,A=0;A<T.length;++A)C[v++]=C[A]<60?i[C[A]]:(C[A]-60)*64+C[++A];return C.buffer.slice(0,v)}function c(T,C,A,S,v,D,R){var O=T.exports.sbrk,M=S+3&-4,N=O(M*v),_=O(D.length),E=new Uint8Array(T.exports.memory.buffer);E.set(D,_);var w=C(N,S,v,_,D.length);if(w==0&&R&&R(N,M,v),A.set(E.subarray(N,N+S*v)),O(N-O(0)),w!=0)throw new Error("Malformed buffer data: "+w)}var u={NONE:"",OCTAHEDRAL:"meshopt_decodeFilterOct",QUATERNION:"meshopt_decodeFilterQuat",EXPONENTIAL:"meshopt_decodeFilterExp"},f={ATTRIBUTES:"meshopt_decodeVertexBuffer",TRIANGLES:"meshopt_decodeIndexBuffer",INDICES:"meshopt_decodeIndexSequence"},d=[],p=0;function g(T){var C={object:new Worker(T),pending:0,requests:{}};return C.object.onmessage=function(A){var S=A.data;C.pending-=S.count,C.requests[S.id][S.action](S.value),delete C.requests[S.id]},C}function m(T){for(var C="self.ready = WebAssembly.instantiate(new Uint8Array(["+new Uint8Array(o)+"]), {}).then(function(result) { result.instance.exports.__wasm_call_ctors(); return result.instance; });self.onmessage = "+b.name+";"+c.toString()+b.toString(),A=new Blob([C],{type:"text/javascript"}),S=URL.createObjectURL(A),v=d.length;v<T;++v)d[v]=g(S);for(var v=T;v<d.length;++v)d[v].object.postMessage({});d.length=T,URL.revokeObjectURL(S)}function x(T,C,A,S,v){for(var D=d[0],R=1;R<d.length;++R)d[R].pending<D.pending&&(D=d[R]);return new Promise(function(O,M){var N=new Uint8Array(A),_=++p;D.pending+=T,D.requests[_]={resolve:O,reject:M},D.object.postMessage({id:_,count:T,size:C,source:N,mode:S,filter:v},[N.buffer])})}function b(T){var C=T.data;if(!C.id)return self.close();self.ready.then(function(A){try{var S=new Uint8Array(C.count*C.size);c(A,A.exports[C.mode],S,C.count,C.size,C.source,A.exports[C.filter]),self.postMessage({id:C.id,count:C.count,action:"resolve",value:S},[S.buffer])}catch(v){self.postMessage({id:C.id,count:C.count,action:"reject",value:v})}})}return{ready:s,supported:!0,useWorkers:function(T){m(T)},decodeVertexBuffer:function(T,C,A,S,v){c(r,r.exports.meshopt_decodeVertexBuffer,T,C,A,S,r.exports[u[v]])},decodeIndexBuffer:function(T,C,A,S){c(r,r.exports.meshopt_decodeIndexBuffer,T,C,A,S)},decodeIndexSequence:function(T,C,A,S){c(r,r.exports.meshopt_decodeIndexSequence,T,C,A,S)},decodeGltfBuffer:function(T,C,A,S,v,D){c(r,r.exports[f[v]],T,C,A,S,r.exports[u[D]])},decodeGltfBufferAsync:function(T,C,A,S,v){return d.length>0?x(T,C,A,f[S],u[v]):s.then(function(){var D=new Uint8Array(T*C);return c(r,r.exports[f[S]],D,T,C,A,r.exports[u[v]]),D})}}}();var eJt=function(){var e="b9H79Tebbbe9Hk9Geueu9Geub9Gbb9Gsuuuuuuuuuuuu99uueu9Gvuuuuub9Gvuuuuue999Gquuuuuuu99uueu9Gwuuuuuu99ueu9Giuuue999Gluuuueu9GiuuueuizsdilvoirwDbqqbeqlve9Weiiviebeoweuecj:Pdkr:Tewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bbz9TW79O9V9Wt9F79P9T9W29P9M95bl8E9TW79O9V9Wt9F79P9T9W29P9M959x9Pt9OcttV9P9I91tW7bvQ9TW79O9V9Wt9F79P9T9W29P9M959q9V9P9Ut7boX9TW79O9V9Wt9F79P9T9W29P9M959t9J9H2Wbra9TW79O9V9Wt9F9V9Wt9P9T9P96W9wWVtW94SWt9J9O9sW9T9H9Wbwl79IV9RbDDwebcekdmxq;UMesdbk:kfvKue99euY99Qu8Jjjjjbc;W;qb9Rgs8Kjjjjbcbhzascxfcbc;Kbz:ljjjb8AdnabaeSmbabaeadcdtz:kjjjb8AkdnamcdGTmbalcrfci4gHcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhAcbhlcbhednadTmbcbhlabheadhHinaAaeydbgOci4fgCaCRbbgCceaOcrGgOtV86bbaCcu7aO4ceGalfhlaeclfheaHcufgHmbkcualcdtalcFFFFi0Ehekaecbyd;S1jjbHjjjjbbhzascxfasyd2gecdtfazBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhXcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhQdnadTmbaecufhCcbhLinabaXcdtfgKydbgAc:v;t;h;Ev2hOcbhedndninaQaOaCGgOcdtfgYydbgHcuSmeazaHcdtfydbaASmdaecefgeaOfhOaeaC9nmbxdkkazaLcdtfaABdbaYaLBdbaLhHaLcefhLkaKaHBdbaXcefgXad9hmbkkaQcbyd;O1jjbH:bjjjbbasasyd2cufBd2kcualcefgecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbh8Aascxfasyd2gecdtfa8ABdbasa8ABdlasaecefBd2cuadcitadcFFFFe0Ecbyd;S1jjbHjjjjbbhEascxfasyd2gecdtfaEBdbasaEBdwasaecefBd2asclfabadalcbz:cjjjbcualcdtg3alcFFFFi0Eg5cbyd;S1jjbHjjjjbbhQascxfasyd2gecdtfaQBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Eascxfasyd2gecdtfa8EBdbasaecefBd2alcd4alfhOcehHinaHgecethHaeaO6mbkcbhLcuaecdtgOaecFFFFi0Ecbyd;S1jjbHjjjjbbhHascxfasyd2gCcdtfaHBdbasaCcefBd2aHcFeaOz:ljjjbhXdnalTmbavcd4hCaecufhHinaLhednazTmbazaLcdtfydbhekaiaeaC2cdtfgeydlgOcH4aO7c:F:b:DD2aeydbgOcH4aO7c;D;O:B8J27aeydwgecH4ae7c:3F;N8N27aHGheaLcdth8FdndndndndnazTmbaza8FfhKcbhOinaXaecdtfgYydbgAcuSmlaiazaAcdtfydbaC2cdtfaiaKydbaC2cdtfcxz:ojjjbTmiaOcefgOaefaHGheaOaH9nmbxdkkaiaLaC2cdtfhKcbhOinaXaecdtfgYydbgAcuSmiaiaAaC2cdtfaKcxz:ojjjbTmdaOcefgOaefaHGheaOaH9nmbkkcbhYkaYydbgecu9hmekaYaLBdbaLhekaQa8FfaeBdbaLcefgLal9hmbkcbhea8EhHinaHaeBdbaHclfhHalaecefge9hmbkcbheaQhHa8EhOindnaeaHydbgCSmbaOa8EaCcdtfgCydbBdbaCaeBdbkaHclfhHaOclfhOalaecefge9hmbkkcbhaaXcbyd;O1jjbH:bjjjbbasasyd2cufBd2alcbyd;S1jjbHjjjjbbhXascxfasyd2gecdtfaXBdbasaecefBd2a5cbyd;S1jjbHjjjjbbheascxfasyd2gHcdtfaeBdbasaHcefBd2a5cbyd;S1jjbHjjjjbbhHascxfasyd2gOcdtfaHBdbasaOcefBd2aecFea3z:ljjjbhhaHcFea3z:ljjjbhgdnalTmbaEcwfh8Jindna8AaagOcefgacdtfydbgCa8AaOcdtgefydbgHSmbaCaH9Rh8FaEaHcitfh3agaefh8KahaefhLcbhAindndna3aAcitfydbgYaO9hmbaLaOBdba8KaOBdbxekdna8AaYcdtg8LfgeclfydbgHaeydbgeSmbaEaecitgCfydbaOSmeaHae9Rh8Maecu7aHfhKa8JaCfhHcbheinaKaeSmeaecefheaHydbhCaHcwfhHaCaO9hmbkaea8M6mekaga8LfgeaOaYaeydbcuSEBdbaLaYaOaLydbcuSEBdbkaAcefgAa8F9hmbkkaaal9hmbkaQhHa8EhOaghCahhAcbheindndnaeaHydbgY9hmbdnaeaOydbgY9hmbaAydbhYdnaCydbgKcu9hmbaYcu9hmbaXaefcb86bbxikaXaefhLdnaeaKSmbaeaYSmbaLce86bbxikaLcl86bbxdkdnaea8EaYcdtgKfydb9hmbdnaCydbgLcuSmbaeaLSmbaAydbg8FcuSmbaea8FSmbagaKfydbg3cuSmba3aYSmbahaKfydbgKcuSmbaKaYSmbdnaQaLcdtfydbgYaQaKcdtfydb9hmbaYaQa8FcdtfydbgKSmbaKaQa3cdtfydb9hmbaXaefcd86bbxlkaXaefcl86bbxikaXaefcl86bbxdkaXaefcl86bbxekaXaefaXaYfRbb86bbkaHclfhHaOclfhOaCclfhCaAclfhAalaecefge9hmbkdnaqTmbdndnazTmbazheaQhHalhOindnaqaeydbfRbbTmbaXaHydbfcl86bbkaeclfheaHclfhHaOcufgOmbxdkkaQhealhHindnaqRbbTmbaXaeydbfcl86bbkaqcefhqaeclfheaHcufgHmbkkaQhealhOaXhHindnaXaeydbfRbbcl9hmbaHcl86bbkaeclfheaHcefhHaOcufgOmbkkamceGTmbaXhealhHindnaeRbbce9hmbaecl86bbkaecefheaHcufgHmbkkcualcx2alc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhaascxfasyd2gecdtfaaBdbasaecefBd2aaaialavazz:djjjbh8NdndnaDmbcbhycbh8Jxekcbh8JawhecbhHindnaeIdbJbbbb9ETmbasc;Wbfa8JcdtfaHBdba8Jcefh8JkaeclfheaDaHcefgH9hmbkcua8Jal2gecdtaecFFFFi0Ecbyd;S1jjbHjjjjbbhyascxfasyd2gecdtfayBdbasaecefBd2alTmba8JTmbarcd4hLdnazTmba8JcdthicbhYayhKinaoazaYcdtfydbaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbxdkka8JcdthicbhYayhKinaoaYaL2cdtfhAasc;WbfheaKhHa8JhOinaHaAaeydbcdtgCfIdbawaCfIdbNUdbaeclfheaHclfhHaOcufgOmbkaKaifhKaYcefgYal9hmbkkcualc8S2gHalc;D;O;f8U0EgCcbyd;S1jjbHjjjjbbheascxfasyd2gOcdtfaeBdbasaOcefBd2aecbaHz:ljjjbhqdndndndna8JTmbaCcbyd;S1jjbHjjjjbbhvascxfasyd2gecdtfavBdbcehOasaecefBd2avcbaHz:ljjjb8Acua8Jal2gecltgHaecFFFFb0Ecbyd;S1jjbHjjjjbbhrascxfasyd2gecdtfarBdbasaecefBd2arcbaHz:ljjjb8AadmexikcbhvadTmecbhrkcbhAabhHindnaaaHclfydbgYcx2fgeIdbaaaHydbgKcx2fgOIdbg8P:tgIaaaHcwfydbgLcx2fgCIdlaOIdlg8R:tg8SNaCIdba8P:tgRaeIdla8R:tg8UN:tg8Va8VNa8UaCIdwaOIdwg8W:tg8XNa8SaeIdwa8W:tg8UN:tg8Sa8SNa8UaRNa8XaIN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaKcdtfydbc8S2fgea8SaR:rgRa8SNNg8UaeIdbMUdbaeaIaRaINg8YNg8XaeIdlMUdlaea8VaRa8VNg8ZNg80aeIdwMUdwaea8Ya8SNg8YaeIdxMUdxaea8Za8SNg81aeIdzMUdzaea8ZaINg8ZaeIdCMUdCaea8SaRa8Va8WNa8Sa8PNa8RaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaYcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaLcdtfydbc8S2fgea8UaeIdbMUdbaea8XaeIdlMUdlaea80aeIdwMUdwaea8YaeIdxMUdxaea81aeIdzMUdzaea8ZaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdyaHcxfhHaAcifgAad6mbkcbhiabhKinabaicdtfhYcbhHinaXaYaHc:G1jjbfydbcdtfydbgOfRbbhedndnaXaKaHfydbgCfRbbgAc99fcFeGcpe0mbaeceSmbaecd9hmekdnaAcufcFeGce0mbahaCcdtfydbaO9hmekdnaecufcFeGce0mbagaOcdtfydbaC9hmekdnaAcv2aefcj1jjbfRbbTmbaQaOcdtfydbaQaCcdtfydb0mekJbbacJbbacJbbjZaeceSEaAceSEh8ZdnaaaYaHc:K1jjbfydbcdtfydbcx2fgeIdwaaaCcx2fgAIdwg8R:tg8VaaaOcx2fgLIdwa8R:tg8Sa8SNaLIdbaAIdbg8W:tgIaINaLIdlaAIdlg8U:tgRaRNMMg8PNa8Va8SNaeIdba8W:tg80aINaRaeIdla8U:tg8YNMMg8Xa8SN:tg8Va8VNa80a8PNa8XaIN:tg8Sa8SNa8Ya8PNa8XaRN:tgIaINMM:rgRJbbbb9ETmba8VaR:vh8VaIaR:vhIa8SaR:vh8SkaqaQaCcdtfydbc8S2fgea8Sa8Za8P:rNgRa8SNNg8XaeIdbMUdbaeaIaRaINg8ZNg80aeIdlMUdlaea8VaRa8VNg8PNg8YaeIdwMUdwaea8Za8SNg8ZaeIdxMUdxaea8Pa8SNg81aeIdzMUdzaea8PaINgBaeIdCMUdCaea8SaRa8Va8RNa8Sa8WNa8UaINMM:mg8RNg8PNg8SaeIdKMUdKaeaIa8PNgIaeId3MUd3aea8Va8PNg8VaeIdaMUdaaea8Pa8RNg8PaeId8KMUd8KaeaRaeIdyMUdyaqaQaOcdtfydbc8S2fgea8XaeIdbMUdbaea80aeIdlMUdlaea8YaeIdwMUdwaea8ZaeIdxMUdxaea81aeIdzMUdzaeaBaeIdCMUdCaea8SaeIdKMUdKaeaIaeId3MUd3aea8VaeIdaMUdaaea8PaeId8KMUd8KaeaRaeIdyMUdykaHclfgHcx9hmbkaKcxfhKaicifgiad6mbkdna8JTmbcbhKinJbbbbh8WaaabaKcdtfgeclfydbgLcx2fgHIdwaaaeydbgicx2fgOIdwg8Y:tgIaINaHIdbaOIdbg81:tg8Va8VNaHIdlaOIdlgB:tgRaRNMMg8Zaaaecwfydbg8Fcx2fgeIdwa8Y:tg8PNaIaIa8PNa8VaeIdba81:tg8RNaRaeIdlaB:tg8UNMMg8SN:tJbbbbJbbjZa8Za8Pa8PNa8Ra8RNa8Ua8UNMMg80Na8Sa8SN:tg8X:va8XJbbbb9BEg8XNh83a80aINa8Pa8SN:ta8XNhUa8Za8UNaRa8SN:ta8XNh85a80aRNa8Ua8SN:ta8XNh86a8Za8RNa8Va8SN:ta8XNh87a80a8VNa8Ra8SN:ta8XNh88a8Va8UNa8RaRN:tg8Sa8SNaRa8PNa8UaIN:tg8Sa8SNaIa8RNa8Pa8VN:tg8Sa8SNMM:rJbbbZNh8Sayaia8J2g3cdtfhHaya8Fa8J2gwcdtfhOayaLa8J2g8LcdtfhCa8Y:mh89aB:mh8:a81:mhZcbhAa8JhYJbbbbh8UJbbbbh8XJbbbbh8ZJbbbbh80Jbbbbh8YJbbbbh81JbbbbhBJbbbbhnJbbbbhcinasc;WbfaAfgecwfa8SaUaCIdbaHIdbg8P:tgRNa83aOIdba8P:tg8RNMgINUdbaeclfa8Sa86aRNa85a8RNMg8VNUdbaea8Sa88aRNa87a8RNMgRNUdbaecxfa8Sa89aINa8:a8VNa8PaZaRNMMMg8PNUdba8SaIa8VNNa80Mh80a8SaIaRNNa8YMh8Ya8Sa8VaRNNa81Mh81a8Sa8Pa8PNNa8WMh8Wa8SaIa8PNNa8UMh8Ua8Sa8Va8PNNa8XMh8Xa8SaRa8PNNa8ZMh8Za8SaIaINNaBMhBa8Sa8Va8VNNanMhna8SaRaRNNacMhcaHclfhHaCclfhCaOclfhOaAczfhAaYcufgYmbkavaic8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyavaLc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyava8Fc8S2fgeacaeIdbMUdbaeanaeIdlMUdlaeaBaeIdwMUdwaea81aeIdxMUdxaea8YaeIdzMUdzaea80aeIdCMUdCaea8ZaeIdKMUdKaea8XaeId3MUd3aea8UaeIdaMUdaaea8WaeId8KMUd8Kaea8SaeIdyMUdyara3cltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkara8LcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkarawcltfhYcbhHa8JhCinaYaHfgeasc;WbfaHfgOIdbaeIdbMUdbaeclfgAaOclfIdbaAIdbMUdbaecwfgAaOcwfIdbaAIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaCcufgCmbkaKcifgKad6mbkkcbhOxekcehOcbhrkcbh8FdndnamcwGg9cmbJbbbbh8ZcbhJcbhocbhCxekcbhea5cbyd;S1jjbHjjjjbbhCascxfasyd2gHcdtfaCBdbasaHcefBd2dnalTmbaChHinaHaeBdbaHclfhHalaecefge9hmbkkdnaOmbcbhiinabaicdtfhLcbhKinaQaLaKcdtgec:G1jjbfydbcdtfydbcdtfydbhHdnaCaQaLaefydbcdtfydbgOcdtfgAydbgeaOSmbinaAaCaegOcdtfgYydbgeBdbaYhAaOae9hmbkkdnaCaHcdtfgAydbgeaHSmbinaAaCaegHcdtfgYydbgeBdbaYhAaHae9hmbkkdnaOaHSmbaCaOaHaOaH0EcdtfaOaHaOaH6EBdbkaKcefgKci9hmbkaicifgiad6mbkkcbhJdnalTmbcbhYindnaQaYcdtgefydbaY9hmbaYhHdnaCaefgKydbgeaYSmbaKhOinaOaCaegHcdtfgAydbgeBdbaAhOaHae9hmbkkaKaHBdbkaYcefgYal9hmbkcbheaQhOaChHcbhJindndnaeaOydbgA9hmbdnaeaHydbgA9hmbaHaJBdbaJcefhJxdkaHaCaAcdtfydbBdbxekaHaCaAcdtfydbBdbkaOclfhOaHclfhHalaecefge9hmbkkcuaJcltgeaJcjjjjiGEcbyd;S1jjbHjjjjbbhoascxfasyd2gHcdtfaoBdbasaHcefBd2aocbaez:ljjjbhAdnalTmbaChOaahealhYinaecwfIdbh8SaeclfIdbhIaAaOydbcltfgHaeIdbaHIdbMUdbaHclfgKaIaKIdbMUdbaHcwfgKa8SaKIdbMUdbaHcxfgHaHIdbJbbjZMUdbaOclfhOaecxfheaYcufgYmbkkdnaJTmbaAheaJhHinaecxfgOIdbh8SaOcbBdbaeaeIdbJbbbbJbbjZa8S:va8SJbbbb9BEg8SNUdbaeclfgOa8SaOIdbNUdbaecwfgOa8SaOIdbNUdbaeczfheaHcufgHmbkkdnalTmbaChOaahealhYinaAaOydbcltfgHcxfgKaecwfIdbaHcwfIdb:tg8Sa8SNaeIdbaHIdb:tg8Sa8SNaeclfIdbaHclfIdb:tg8Sa8SNMMg8SaKIdbgIaIa8S9DEUdbaOclfhOaecxfheaYcufgYmbkkdnaJmbcbhJJFFuuh8ZxekaAcxfheaAhHaJhOinaHaeIdbUdbaeczfheaHclfhHaOcufgOmbkJFFuuh8ZaAheaJhHinaeIdbg8Sa8Za8Za8S9EEh8ZaeclfheaHcufgHmbkkasydlh9ednalTmba9eclfhea9eydbhAaXhHalhYcbhOincbaeydbgKaA9RaHRbbcpeGEaOfhOaHcefhHaeclfheaKhAaYcufgYmbkaOce4h8Fkcuada8F9RcifgTcx2aTc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbhDascxfasyd2gecdtfaDBdbasaecefBd2cuaTcdtaTcFFFFi0Ecbyd;S1jjbHjjjjbbhSascxfasyd2gecdtfaSBdbasaecefBd2a5cbyd;S1jjbHjjjjbbh8Mascxfasyd2gecdtfa8MBdbasaecefBd2alcbyd;S1jjbHjjjjbbh9hascxfasyd2gecdtfa9hBdbasaecefBd2axaxNa8NJbbjZamclGEg83a83N:vhcJbbbbhndnadak9nmbdnaTci6mba8Jclth9iaDcwfh6JbbbbhBJbbbbhninasclfabadalaQz:cjjjbabh8FcbhEcbh5inaba5cdtfh3cbheindnaQa8FaefydbgOcdtgifydbgYaQa3aec:W1jjbfydbcdtfydbgHcdtgwfydbgKSmbaXaHfRbbgLcv2aXaOfRbbgAfc;a1jjbfRbbg8AaAcv2aLfg8Lc;a1jjbfRbbg8KVcFeGTmbdnaKaY9nmba8Lcj1jjbfRbbcFeGmekaAcufhYdnaAaL9hmbaYcFeGce0mbahaifydbaH9hmekdndnaAclSmbaLcl9hmekdnaYcFeGce0mbahaifydbaH9hmdkaLcufcFeGce0mbagawfydbaO9hmekaDaEcx2fgAaHaOa8KcFeGgYEBdlaAaOaHaYEBdbaAaYa8AGcb9hBdwaEcefhEkaeclfgecx9hmbkdna5cifg5ad9pmba8Fcxfh8FaEcifaT9nmekkaETmdcbhiinJbbbbJbbjZaqaQaDaicx2fgAydlgKaAydbgYaAydwgHEgLcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaYaKaHEg8Fcx2fgHIdwgRNaeIdzaHIdbg8PNaeIdaMg8Sa8SMMaRNaeIdlaHIdlg8RNaeIdCaRNaeId3Mg8Sa8SMMa8RNaeIdba8PNaeIdxa8RNaeIdKMg8Sa8SMMa8PNaeId8KMMM:lNh80JbbbbJbbjZaqaQaYcdtfydbc8S2fgeIdyg8S:va8SJbbbb9BEaeIdwaaaKcx2fgHIdwg8VNaeIdzaHIdbg8WNaeIdaMg8Sa8SMMa8VNaeIdlaHIdlg8UNaeIdCa8VNaeId3Mg8Sa8SMMa8UNaeIdba8WNaeIdxa8UNaeIdKMg8Sa8SMMa8WNaeId8KMMM:lNh8YaAcwfh3aAclfhwdna8JTmbavaYc8S2fgOIdwa8VNaOIdza8WNaOIdaMg8Sa8SMMa8VNaOIdla8UNaOIdCa8VNaOId3Mg8Sa8SMMa8UNaOIdba8WNaOIdxa8UNaOIdKMg8Sa8SMMa8WNaOId8KMMMh8SayaKa8J2cdtfhHaraYa8J2cltfheaOIdyh8Xa8JhOinaHIdbgIaIa8XNaecxfIdba8VaecwfIdbNa8WaeIdbNa8UaeclfIdbNMMMgIaIM:tNa8SMh8SaHclfhHaeczfheaOcufgOmbkavaLc8S2fgOIdwaRNaOIdza8PNaOIdaMgIaIMMaRNaOIdla8RNaOIdCaRNaOId3MgIaIMMa8RNaOIdba8PNaOIdxa8RNaOIdKMgIaIMMa8PNaOId8KMMMhIaya8Fa8J2cdtfhHaraLa8J2cltfheaOIdyh8Wa8JhOinaHIdbg8Va8Va8WNaecxfIdbaRaecwfIdbNa8PaeIdbNa8RaeclfIdbNMMMg8Va8VM:tNaIMhIaHclfhHaeczfheaOcufgOmbka80aI:lMh80a8Ya8S:lMh8YkawaKa8Fa8Ya809FgeEBdbaAaYaLaeEBdba3a8Ya80aeEUdbaicefgiaE9hmbkasc;Wbfcbcj;qbz:ljjjb8Aa6heaEhHinasc;WbfaeydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbcefBdbaecxfheaHcufgHmbkcbhecbhHinasc;WbfaefgOydbhAaOaHBdbaAaHfhHaeclfgecj;qb9hmbkcbhea6hHinasc;WbfaHydbcA4cF8FGgOcFAaOcFA6EcdtfgOaOydbgOcefBdbaSaOcdtfaeBdbaHcxfhHaEaecefge9hmbkadak9RgOci9Uh9kdnalTmbcbhea8MhHinaHaeBdbaHclfhHalaecefge9hmbkkcbh0a9hcbalz:ljjjbh9maOcO9Uh9na9kce4h9oasydwh9pcbh8KcbhwdninaDaSawcdtfydbcx2fg3Idwg8Sac9Emea8Ka9k9pmeJFFuuhIdna9oaE9pmbaDaSa9ocdtfydbcx2fIdwJbb;aZNhIkdna8SaI9ETmba8San9ETmba8Ka9n0mdkdna9maQa3ydlgicdtg9qfydbgAfg9rRbba9maQa3ydbgLcdtg9sfydbgHfg9tRbbVmbaXaLfRbbh9udna9eaHcdtfgeclfydbgOaeydbgeSmbaOae9RhKa9paecitfheaaaAcx2fg8Lcwfh5a8Lclfh9vaaaHcx2fg8Acwfh9wa8Aclfh9xcbhHceh8Fdnindna8MaeydbcdtfydbgOaASmba8MaeclfydbcdtfydbgYaASmbaOaYSmbaaaYcx2fgYIdbaaaOcx2fgOIdbg8V:tg8Sa9xIdbaOIdlgR:tg8WNa8AIdba8V:tg8UaYIdlaR:tgIN:tg8Pa8Sa9vIdbaR:tg8XNa8LIdba8V:tg80aIN:tgRNaIa9wIdbaOIdwg8R:tg8YNa8WaYIdwa8R:tg8VN:tg8WaIa5Idba8R:tg81Na8Xa8VN:tgINa8Va8UNa8Ya8SN:tg8Ra8Va80Na81a8SN:tg8SNMMa8Pa8PNa8Wa8WNa8Ra8RNMMaRaRNaIaINa8Sa8SNMMN:rJbbj8:N9FmdkaecwfheaHcefgHaK6h8FaKaH9hmbkka8FceGTmba9ocefh9oxeka3cwfhHdndndndna9uc9:fPdebdkaLheina8MaecdtgefaiBdba8EaefydbgeaL9hmbxikkdnagahaha9sfydbaiSEa8Ea9sfydbgLcdtfydbgecu9hmba8Ea9qfydbheka8Ma9sfaiBdbaehika8MaLcdtfaiBdbka9tce86bba9rce86bbaHIdbg8Sanana8S9DEhna0cefh0cecda9uceSEa8Kfh8KkawcefgwaE9hmbkka0TmddnalTmbcbhKcbhiindna8MaicdtgefydbgOaiSmbaQaOcdtfydbh8FdnaiaQaefydb9hg3mbaqa8Fc8S2fgeaqaic8S2fgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdyka8JTmbavaOc8S2fgeavaic8S2gwfgHIdbaeIdbMUdbaeaHIdlaeIdlMUdlaeaHIdwaeIdwMUdwaeaHIdxaeIdxMUdxaeaHIdzaeIdzMUdzaeaHIdCaeIdCMUdCaeaHIdKaeIdKMUdKaeaHId3aeId3MUd3aeaHIdaaeIdaMUdaaeaHId8KaeId8KMUd8KaeaHIdyaeIdyMUdya9iaO2hLarhHa8JhAinaHaLfgeaHaKfgOIdbaeIdbMUdbaeclfgYaOclfIdbaYIdbMUdbaecwfgYaOcwfIdbaYIdbMUdbaecxfgeaOcxfIdbaeIdbMUdbaHczfhHaAcufgAmbka3mbJbbbbJbbjZaqawfgeIdyg8S:va8SJbbbb9BEaeIdwaaa8Fcx2fgHIdwg8SNaeIdzaHIdbgINaeIdaMg8Va8VMMa8SNaeIdlaHIdlg8VNaeIdCa8SNaeId3Mg8Sa8SMMa8VNaeIdbaINaeIdxa8VNaeIdKMg8Sa8SMMaINaeId8KMMM:lNg8SaBaBa8S9DEhBkaKa9ifhKaicefgial9hmbkcbhHahheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOahaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkcbhHagheindnaeydbgOcuSmbdnaHa8MaOcdtgAfydbgO9hmbcuhOagaAfydbgAcuSmba8MaAcdtfydbhOkaeaOBdbkaeclfhealaHcefgH9hmbkkaBana8JEhBcbhYabhecbhKindna8MaeydbcdtfydbgHa8MaeclfydbcdtfydbgOSmbaHa8MaecwfydbcdtfydbgASmbaOaASmbabaYcdtfgLaHBdbaLcwfaABdbaLclfaOBdbaYcifhYkaecxfheaKcifgKad6mbkdndna9cTmbaYak9nmba8ZaB9FTmbcbhdabhecbhHindnaoaCaeydbgOcdtfydbcdtfIdbaB9ETmbabadcdtfgAaOBdbaAclfaeclfydbBdbaAcwfaecwfydbBdbadcifhdkaecxfheaHcifgHaY6mbkJFFuuh8ZaJTmeaoheaJhHJFFuuh8SinaeIdbgIa8Sa8SaI9EEg8Va8SaIaB9EgOEh8Sa8Va8ZaOEh8ZaeclfheaHcufgHmbxdkkaYhdkadak0mbxdkkasclfabadalaQz:cjjjbkdndnadak0mbadhOxekdna9cmbadhOxekdna8Zac9FmbadhOxekina8ZJbb;aZNg8Saca8Sac9DEh8VJbbbbh8SdnaJTmbaoheaJhHinaeIdbgIa8SaIa8V9FEa8SaIa8S9EEh8SaeclfheaHcufgHmbkkcbhOabhecbhHindnaoaCaeydbgAcdtfydbcdtfIdba8V9ETmbabaOcdtfgYaABdbaYclfaeclfydbBdbaYcwfaecwfydbBdbaOcifhOkaecxfheaHcifgHad6mbkJFFuuh8ZdnaJTmbaoheaJhHJFFuuhIinaeIdbgRaIaIaR9EEg8PaIaRa8V9EgAEhIa8Pa8ZaAEh8ZaeclfheaHcufgHmbkkdnaOad9hmbadhOxdka8Sanana8S9DEhnaOak9nmeaOhda8Zac9FmbkkdnamcjjjjlGTmbazmbaOTmbcbhQabheinaXaeydbgAfRbbc3thKaecwfgLydbhHdndnahaAcdtg8FfydbaeclfgiydbgCSmbcbhYagaCcdtfydbaA9hmekcjjjj94hYkaeaKaYVaAVBdbaXaCfRbbc3thKdndnahaCcdtfydbaHSmbcbhYagaHcdtfydbaC9hmekcjjjj94hYkaiaKaYVaCVBdbaXaHfRbbc3thYdndnahaHcdtfydbaASmbcbhCaga8FfydbaH9hmekcjjjj94hCkaLaYaCVaHVBdbaecxfheaQcifgQaO6mbkkdnazTmbaOTmbaOheinabazabydbcdtfydbBdbabclfhbaecufgembkkdnaPTmbaPa83an:rNUdbkasyd2gecdtascxffc98fhHdninaeTmeaHydbcbyd;O1jjbH:bjjjbbaHc98fhHaecufhexbkkasc;W;qbf8KjjjjbaOk;Yieouabydlhvabydbclfcbaicdtz:ljjjbhoadci9UhrdnadTmbdnalTmbaehwadhDinaoalawydbcdtfydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbxdkkaehwadhDinaoawydbcdtfgqaqydbcefBdbawclfhwaDcufgDmbkkdnaiTmbcbhDaohwinawydbhqawaDBdbawclfhwaqaDfhDaicufgimbkkdnadci6mbinaecwfydbhwaeclfydbhDaeydbhidnalTmbalawcdtfydbhwalaDcdtfydbhDalaicdtfydbhikavaoaicdtfgqydbcitfaDBdbavaqydbcitfawBdlaqaqydbcefBdbavaoaDcdtfgqydbcitfawBdbavaqydbcitfaiBdlaqaqydbcefBdbavaoawcdtfgwydbcitfaiBdbavawydbcitfaDBdlawawydbcefBdbaecxfhearcufgrmbkkabydbcbBdbk;Podvuv998Jjjjjbca9RgvcFFF;7rBd3av9cFFF;7;3FF:;Fb83dCavcFFF97Bdzav9cFFF;7FFF:;u83dwdnadTmbaicd4hodnabmbdnalTmbcbhrinaealarcdtfydbao2cdtfhwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxikkaocdthrcbhwincbhiinavcCfaifgDaeaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkaearfheawcefgwad9hmbxdkkdnalTmbcbhrinabarcx2fgiaealarcdtfydbao2cdtfgwIdbUdbaiawIdlUdlaiawIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkarcefgrad9hmbxdkkaocdthlcbhraehwinabarcx2fgiaearao2cdtfgDIdbUdbaiaDIdlUdlaiaDIdwUdwcbhiinavcCfaifgDawaifIdbgqaDIdbgkakaq9EEUdbavcwfaifgDaqaDIdbgkakaq9DEUdbaiclfgicx9hmbkawalfhwarcefgrad9hmbkkJbbbbavIdwavIdCgk:tgqaqJbbbb9DEgqavIdxavIdKgx:tgmamaq9DEgqavIdzavId3gm:tgPaPaq9DEhPdnabTmbadTmbJbbbbJbbjZaP:vaPJbbbb9BEhqinabaqabIdbak:tNUdbabclfgvaqavIdbax:tNUdbabcwfgvaqavIdbam:tNUdbabcxfhbadcufgdmbkkaPk8MbabaeadaialavcbcbcbcbcbaoarawaDz:bjjjbk8MbabaeadaialavaoarawaDaqakaxamaPz:bjjjbk:nCoDud99rue99lul998Jjjjjbc;Wb9Rgw8KjjjjbdndnarmbcbhDxekawcxfcbc;Kbz:ljjjb8Aawcuadcx2adc;v:Q;v:Qe0Ecbyd;S1jjbHjjjjbbgqBdxawceBd2aqaeadaicbz:djjjb8AawcuadcdtadcFFFFi0Egkcbyd;S1jjbHjjjjbbgxBdzawcdBd2adcd4adfhmceheinaegicetheaiam6mbkcbhPawcuaicdtgsaicFFFFi0Ecbyd;S1jjbHjjjjbbgzBdCawciBd2dndnar:ZgH:rJbbbZMgO:lJbbb9p9DTmbaO:Ohexekcjjjj94hekaicufhAc:bwhmcbhCadhXcbhQinaChLaeamgKcufaeaK9iEaPgDcefaeaD9kEhYdndnadTmbaYcuf:YhOaqhiaxheadhmindndnaiIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdbaONJbbbZMg8A:lJbbb9p9DTmba8A:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbh5cbh8Eindna3axa8EcdtfydbgCcm4aC7c:v;t;h;Ev2gics4ai7aAGgmcdtfgEydbgecuSmbaeaCSmbcehiina3amaifaAGgmcdtfgEydbgecuSmeaicefhiaeaC9hmbkkaEaCBdba5aecuSfh5a8Ecefg8Ead9hmbxdkkazcFeasz:ljjjb8Acbh5kaDaYa5ar0giEhPaLa5aiEhCdna5arSmbaYaKaiEgmaP9Rcd9imbdndnaQcl0mbdnaX:ZgOaL:Zg8A:taY:Yg8FaD:Y:tgaa8FaK:Y:tgha5:ZggaH:tNNNaOaH:tahNa8Aag:tNa8AaH:taaNagaO:tNM:va8FMJbbbZMgO:lJbbb9p9DTmbaO:Ohexdkcjjjj94hexekaPamfcd9Theka5aXaiEhXaQcefgQcs9hmekkdndnaCmbcihicbhDxekcbhiawakcbyd;S1jjbHjjjjbbg8EBdKawclBd2aPcuf:Yh8AdndnadTmbaqhiaxheadhmindndnaiIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhCxekcjjjj94hCkaCcCthCdndnaiclfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaEcqtaCVhCdndnaicwfIdba8ANJbbbZMgO:lJbbb9p9DTmbaO:OhExekcjjjj94hEkaeaCaEVBdbaicxfhiaeclfheamcufgmmbkazcFeasz:ljjjbh3cbhDcbh5inaxa5cdtgYfydbgCcm4aC7c:v;t;h;Ev2gics4ai7hecbhidndnina3aeaAGgmcdtfgEydbgecuSmednaxaecdtgEfydbaCSmbaicefgiamfheaiaA9nmekka8EaEfydbhixekaEa5BdbaDhiaDcefhDka8EaYfaiBdba5cefg5ad9hmbkcuaDc32giaDc;j:KM;jb0EhexekazcFeasz:ljjjb8AcbhDcbhekawaecbyd;S1jjbHjjjjbbgeBd3awcvBd2aecbaiz:ljjjbhEavcd4hxdnadTmbdnalTmbaxcdth3a8EhCalheaqhmadhAinaEaCydbc32fgiamIdbaiIdbMUdbaiamclfIdbaiIdlMUdlaiamcwfIdbaiIdwMUdwaiaeIdbaiIdxMUdxaiaeclfIdbaiIdzMUdzaiaecwfIdbaiIdCMUdCaiaiIdKJbbjZMUdKaCclfhCaea3fheamcxfhmaAcufgAmbxdkka8EhmaqheadhCinaEamydbc32fgiaeIdbaiIdbMUdbaiaeclfIdbaiIdlMUdlaiaecwfIdbaiIdwMUdwaiaiIdxJbbbbMUdxaiaiIdzJbbbbMUdzaiaiIdCJbbbbMUdCaiaiIdKJbbjZMUdKamclfhmaecxfheaCcufgCmbkkdnaDTmbaEhiaDheinaiaiIdbJbbbbJbbjZaicKfIdbgO:vaOJbbbb9BEgONUdbaiclfgmaOamIdbNUdbaicwfgmaOamIdbNUdbaicxfgmaOamIdbNUdbaiczfgmaOamIdbNUdbaicCfgmaOamIdbNUdbaic3fhiaecufgembkkcbhCawcuaDcdtgYaDcFFFFi0Egicbyd;S1jjbHjjjjbbgeBdaawcoBd2awaicbyd;S1jjbHjjjjbbg3Bd8KaecFeaYz:ljjjbh5dnadTmbJbbjZJbbjZa8A:vaPceSEaoNgOaONh8Aaxcdthxalheina8Aaec;C1jjbalEgmIdwaEa8EydbgAc32fgiIdC:tgOaONamIdbaiIdx:tgOaONamIdlaiIdz:tgOaONMMNaqcwfIdbaiIdw:tgOaONaqIdbaiIdb:tgOaONaqclfIdbaiIdl:tgOaONMMMhOdndna5aAcdtgifgmydbcuSmba3aifIdbaO9ETmekamaCBdba3aifaOUdbka8Eclfh8EaeaxfheaqcxfhqadaCcefgC9hmbkkaba5aYz:kjjjb8AcrhikaicdthiinaiTmeaic98fgiawcxffydbcbyd;O1jjbH:bjjjbbxbkkawc;Wbf8KjjjjbaDk:Odieui99iu8Jjjjjbca9RgicFFF;7rBd3ai9cFFF;7;3FF:;Fb83dCaicFFF97Bdzai9cFFF;7FFF:;u83dwdndnaembJbbjFhlJbbjFhvJbbjFhoxekadcd4cdthrcbhwincbhdinaicCfadfgDabadfIdbglaDIdbgvaval9EEUdbaicwfadfgDalaDIdbgvaval9DEUdbadclfgdcx9hmbkabarfhbawcefgwae9hmbkaiIdzaiId3:thoaiIdxaiIdK:thvaiIdwaiIdC:thlkJbbbbalalJbbbb9DEglavaval9DEglaoaoal9DEk9DeeuabcFeaicdtz:ljjjbhlcbhbdnadTmbindnalaeydbcdtfgiydbcu9hmbaiabBdbabcefhbkaeclfheadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcifc98GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd;W1jjbgeabcrfc94GfgbBd;W1jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd;W1jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd;W1jjbfgdBd;W1jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk6eiucbhidnadTmbdninabRbbglaeRbbgv9hmeaecefheabcefhbadcufgdmbxdkkalav9Rhikaikk:bedbcjwk9Oeeebeebebbeeebebbbbbebebbbbbbbbbebbbdbbbbbbbebbbebbbdbbbbbbbbbbbeeeeebebbebbebebbbeebbbbbbbbbbbbbbbbbbbbbc;OwkxebbbdbbbjNbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(m){n=m.instance,n.exports.__wasm_call_ctors()});function o(m){for(var x=new Uint8Array(m.length),b=0;b<m.length;++b){var T=m.charCodeAt(b);x[b]=T>96?T-97:T>64?T-39:T+4}for(var C=0,b=0;b<m.length;++b)x[C++]=x[b]<60?t[x[b]]:(x[b]-60)*64+x[++b];return x.buffer.slice(0,C)}function r(m){if(!m)throw new Error("Assertion failed")}function s(m){return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)}function a(m,x,b){var T=n.exports.sbrk,C=T(x.length*4),A=T(b*4),S=new Uint8Array(n.exports.memory.buffer),v=s(x);S.set(v,C);var D=m(A,C,x.length,b);S=new Uint8Array(n.exports.memory.buffer);var R=new Uint32Array(b);new Uint8Array(R.buffer).set(S.subarray(A,A+b*4)),v.set(S.subarray(C,C+x.length*4)),T(C-T(0));for(var O=0;O<x.length;++O)x[O]=R[x[O]];return[R,D]}function c(m){for(var x=0,b=0;b<m.length;++b){var T=m[b];x=x<T?T:x}return x}function u(m,x,b,T,C,A,S,v,D){var R=n.exports.sbrk,O=R(4),M=R(b*4),N=R(C*A),_=R(b*4),E=new Uint8Array(n.exports.memory.buffer);E.set(s(T),N),E.set(s(x),_);var w=m(M,_,b,N,C,A,S,v,D,O);E=new Uint8Array(n.exports.memory.buffer);var I=new Uint32Array(w);s(I).set(E.subarray(M,M+w*4));var L=new Float32Array(1);return s(L).set(E.subarray(O,O+4)),R(O-R(0)),[I,L[0]]}function f(m,x,b,T,C,A,S,v,D,R,O,M,N){var _=n.exports.sbrk,E=_(4),w=_(b*4),I=_(C*A),L=_(C*v),B=_(D.length*4),H=_(b*4),V=R?_(C):0,G=new Uint8Array(n.exports.memory.buffer);G.set(s(T),I),G.set(s(S),L),G.set(s(D),B),G.set(s(x),H),R&&G.set(s(R),V);var k=m(w,H,b,I,C,A,L,v,B,D.length,V,O,M,N,E);G=new Uint8Array(n.exports.memory.buffer);var W=new Uint32Array(k);s(W).set(G.subarray(w,w+k*4));var Y=new Float32Array(1);return s(Y).set(G.subarray(E,E+4)),_(E-_(0)),[W,Y[0]]}function d(m,x,b,T){var C=n.exports.sbrk,A=C(b*T),S=new Uint8Array(n.exports.memory.buffer);S.set(s(x),A);var v=m(A,b,T);return C(A-C(0)),v}function p(m,x,b,T,C,A,S,v){var D=n.exports.sbrk,R=D(v*4),O=D(b*T),M=D(b*A),N=new Uint8Array(n.exports.memory.buffer);N.set(s(x),O),C&&N.set(s(C),M);var _=m(R,O,b,T,M,A,S,v);N=new Uint8Array(n.exports.memory.buffer);var E=new Uint32Array(_);return s(E).set(N.subarray(R,R+_*4)),D(R-D(0)),E}var g={LockBorder:1,Sparse:2,ErrorAbsolute:4,Prune:8,_InternalDebug:1<<30};return{ready:i,supported:!0,useExperimentalFeatures:!1,compactMesh:function(m){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0);var x=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return a(n.exports.meshopt_optimizeVertexFetchRemap,x,c(m)+1)},simplify:function(m,x,b,T,C,A){r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T>=0&&T<=m.length),r(T%3==0),r(C>=0);for(var S=0,v=0;v<(A?A.length:0);++v)r(A[v]in g),r(this.useExperimentalFeatures||A[v]!="Prune"),S|=g[A[v]];var D=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),R=u(n.exports.meshopt_simplify,D,m.length,x,x.length/b,b*4,T,C,S);return R[0]=m instanceof Uint32Array?R[0]:new m.constructor(R[0]),R},simplifyWithAttributes:function(m,x,b,T,C,A,S,v,D,R){r(this.useExperimentalFeatures),r(m instanceof Uint32Array||m instanceof Int32Array||m instanceof Uint16Array||m instanceof Int16Array),r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T instanceof Float32Array),r(T.length%C==0),r(C>=0),r(S==null||S instanceof Uint8Array),r(S==null||S.length==x.length/b),r(v>=0&&v<=m.length),r(v%3==0),r(D>=0),r(Array.isArray(A)),r(C>=A.length),r(A.length<=32);for(var O=0;O<A.length;++O)r(A[O]>=0);for(var M=0,O=0;O<(R?R.length:0);++O)r(R[O]in g),M|=g[R[O]];var N=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m),_=f(n.exports.meshopt_simplifyWithAttributes,N,m.length,x,x.length/b,b*4,T,C*4,new Float32Array(A),S?new Uint8Array(S):null,v,D,M);return _[0]=m instanceof Uint32Array?_[0]:new m.constructor(_[0]),_},getScale:function(m,x){return r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),d(n.exports.meshopt_simplifyScale,m,m.length/x,x*4)},simplifyPoints:function(m,x,b,T,C,A){return r(this.useExperimentalFeatures),r(m instanceof Float32Array),r(m.length%x==0),r(x>=3),r(b>=0&&b<=m.length/x),T?(r(T instanceof Float32Array),r(T.length%C==0),r(C>=3),r(m.length/x==T.length/C),p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,T,C*4,A,b)):p(n.exports.meshopt_simplifyPoints,m,m.length/x,x*4,void 0,0,0,b)}}}();var nJt=function(){var e="b9H79Tebbbefx9Geueu9Geub9Gbb9Giuuueu9Gkuuuuuuuuuu99eu9Gvuuuuueu9Gkuuuuuuuuu9999eu9Gruuuuuuub9Gkuuuuuuuuuuueu9Gouuuuuub9Giuuub9GluuuubiOHdilvorwDqrkbiibeilve9Weiiviebeoweuec:q:Odkr:Yewo9TW9T9VV95dbH9F9F939H79T9F9J9H229F9Jt9VV7bb8A9TW79O9V9Wt9F9I919P29K9nW79O2Wt79c9V919U9KbeX9TW79O9V9Wt9F9I919P29K9nW79O2Wt7bd39TW79O9V9Wt9F9J9V9T9W91tWJ2917tWV9c9V919U9K7br39TW79O9V9Wt9F9J9V9T9W91tW9nW79O2Wt9c9V919U9K7bDL9TW79O9V9Wt9F9V9Wt9P9T9P96W9nW79O2Wtbql79IV9RbkDwebcekdsPq;L9kHdbkIbabaec9:fgefcufae9Ugeabci9Uadfcufad9Ugbaeab0Ek:oAlPue99eux998Jjjjjbc:We9Rgk8Kjjjjbakc;mbfcbc;Kbz:njjjb8AakcuaocdtgxaocFFFFi0Egmcbyd:e1jjbHjjjjbbgPBd9makceBd:SeakaPBdnakamcbyd:e1jjbHjjjjbbgsBd9qakcdBd:SeakasBd9eakcualcdtalcFFFFi0Ecbyd:e1jjbHjjjjbbgzBd9uakazBd9iakciBd:SeaPcbaxz:njjjbhHalci9UhOdnalTmbaihPalhAinaHaPydbcdtfgCaCydbcefBdbaPclfhPaAcufgAmbkkdnaoTmbcbhPashAaHhCaohXinaAaPBdbaAclfhAaCydbaPfhPaCclfhCaXcufgXmbkkdnalci6mbcbhPaihAinaAcwfydbhCaAclfydbhXasaAydbcdtfgQaQydbgQcefBdbazaQcdtfaPBdbasaXcdtfgXaXydbgXcefBdbazaXcdtfaPBdbasaCcdtfgCaCydbgCcefBdbazaCcdtfaPBdbaAcxfhAaOaPcefgP9hmbkkdnaoTmbaHhAashPaohCinaPaPydbaAydb9RBdbaAclfhAaPclfhPaCcufgCmbkkakamcbyd:e1jjbHjjjjbbgPBd9yakclBd:SeaPaHaxz:mjjjbhmakaOcbyd:e1jjbHjjjjbbgPBd9CakcvBd:SeaPcbaOz:njjjbhLakcuaOcK2alcjjjjd0Ecbyd:e1jjbHjjjjbbgKBd9GakcoBd:SeJbbbbhYdnalci6g8Ambarcd4hxaihAaKhPaOhrJbbbbhEinavaAclfydbax2cdtfgCIdlh3avaAydbax2cdtfgXIdlhYavaAcwfydbax2cdtfgQIdlh5aCIdwh8EaXIdwh8FaQIdwhaaPaCIdbghaXIdbggMaQIdbg8JMJbbnn:vUdbaPclfaXIdlaCIdlMaQIdlMJbbnn:vUdbaQIdwh8KaCIdwh8LaXIdwh8MaPcxfa3aY:tg3aaa8F:tgaNa5aY:tg5a8Ea8F:tg8EN:tgYJbbbbJbbjZahag:tgha5Na8Jag:tgga3N:tg8Fa8FNaYaYNa8EagNaaahN:tgYaYNMM:rgg:vagJbbbb9BEg3NUdbaPczfaYa3NUdbaPcCfa8Fa3NUdbaPcwfa8Ka8Ma8LMMJbbnn:vUdbaEagMhEaAcxfhAaPcKfhParcufgrmbkaEaO:Z:vJbbbZNhYkakcuaOcdtalcFFFF970Ecbyd:e1jjbHjjjjbbgCBd9KakcrBd:SeaYaD:ZN:rhYdna8AmbcbhPaChAinaAaPBdbaAclfhAaOaPcefgP9hmbkkaYJbbbZNh8MakcuaOcltalcFFFFd0Ecbyd:e1jjbHjjjjbbg8ABd9OakcwBd:Secba8AaKaCaOz:djjjb8Aakaocbyd:e1jjbHjjjjbbgPBd2aPcFeaoz:njjjbhrakc8Wfcwf9cb83ibak9cb83i8WcbhPJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgcbhlinJbbbbh3dnaPTmbJbbjZaP:Z:vh3kaka8Ea3NgaUdaaka5a3NghUd3akaEa3Ng8JUdKJbbbbh3dnagagNaYaYNa8Fa8FNMMg8KJbbbb9BmbJbbjZa8K:r:vh3kakaga3NUd8Saka8Fa3NUdyakaYa3NUd8Kdndndnakyd8WgQakydUgAakcKfaeaiakc;abfaKamara8Maqz:ejjjbgCcuSmbdnaPaD9pmbaAaraiaCcx2fgXydbfRbbcFeSfaraXclfydbfRbbcFeSfaraXcwfydbfRbbcFeSfaw9nmdkaQaAcbaeaiakc;abfaKamara8MJbbbbz:ejjjbgCcu9hmekakaaUdCakahUdzaka8JUdxakcuBdwakcFFF;7rBdla8AcbaKaLakcxfakcwfakclfz:fjjjbakydwgCcuSmekdnakc8WfaiaCcx2fgOydbgPaOclfydbgAaOcwfydbgXarabaeadalawaDz:gjjjbTmbalcefhlJbbbbhEJbbbbh5Jbbbbh8EJbbbbhYJbbbbh8FJbbbbhgkamaPcdtfgPaPydbcufBdbamaAcdtfgPaPydbcufBdbamaXcdtfgPaPydbcufBdbcbhXinazasaOaXcdtfydbcdtgAfydbcdtfgxhPaHaAfgvydbgQhAdnaQTmbdninaPydbaCSmeaPclfhPaAcufgATmdxbkkaPaxaQcdtfc98fydbBdbavavydbcufBdbkaXcefgXci9hmbkaKaCcK2fgPIdbh3aPIdlhaaPIdwhhaPIdxh8JaPIdzh8KaPIdCh8LaLaCfce86bbaga8LMhga8Fa8KMh8FaYa8JMhYa8EahMh8Ea5aaMh5aEa3MhEakyd88hPxekkdnaPTmbdnakyd80gAaPci2fgCciGTmbadaCfcbaPaAcu7fciGcefz:njjjb8AkabalcltfgPak8Pi8W83dbaPcwfakc8Wfcwf8Pib83dbalcefhlkcahPdninaPc98Smeakc;mbfaPfydbcbydj1jjbH:bjjjbbaPc98fhPxbkkakc:Wef8Kjjjjbalk;3vivuv99lu8Jjjjjbca9Rgv8Kjjjjbdndnalcw0mbaiydbhoaeabcitfgralcdtcufBdlaraoBdbdnalcd6mbaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkkalabfhrxekcbhDavczfcwfcbBdbav9cb83izavcwfcbBdbav9cb83ibJbbjZhqJbbjZhkinadaiaDcdtfydbcK2fhwcbhrinavczfarfgoawarfIdbgxaoIdbgm:tgPakNamMgmUdbavarfgoaPaxam:tNaoIdbMUdbarclfgrcx9hmbkJbbjZaqJbbjZMgq:vhkaDcefgDal9hmbkcbhoadcbcecdavIdlgxavIdwgm9GEgravIdbgPam9GEaraPax9GEgscdtgrfhzavczfarfIdbhxaihralhwinaiaocdtfgDydbhHaDarydbgOBdbaraHBdbarclfhraoazaOcK2fIdbax9Dfhoawcufgwmbkaeabcitfhrdndnaocv6mbaoalc98f6mekaraiydbBdbaralcdtcufBdlaiclfhoalcufhwarcxfhrinaoydbhDarcuBdbarc98faDBdbarcwfhraoclfhoawcufgwmbkalabfhrxekaraxUdbaeabcitfgrarydlc98GasVBdlabcefaeadaiaoz:djjjbhwararydlciGawabcu7fcdtVBdlawaeadaiaocdtfalao9Rz:djjjbhrkavcaf8Kjjjjbark;Bloeue99vue99Due99dndnaembcuhkxekJbbjZaq:thxaiabcdtfhmavydbhPavydlhsavydwhzcbhHJFFuuhOcvhbcuhkindnaPamaHcdtfydbcdtgvfydbgATmbazasavfydbcdtfhiindndnawalaiydbgCcx2fgvclfydbgXfRbbcFeSawavydbgQfRbbcFeSfawavcwfydbgLfRbbcFeSfgKmbcbhvxekcehvaraQcdtfydbgYceSmbcehvaraXcdtfydbg8AceSmbcehvaraLcdtfydbgEceSmbdna8AcdSaYcdSfaEcdSfcd6mbaKcefhvxekaKcdfhvkdnavab9kmbdndnadTmbaoaCcK2fgQIdwadIdw:tg3a3NaQIdbadIdb:tg3a3NaQIdladIdl:tg3a3NMM:raD:vaxNJbbjZMJ9VO:d86JbbjZaQIdCadIdCNaQIdxadIdxNaQIdzadIdzNMMaqN:tg3a3J9VO:d869DENh3xekaraQcdtfydbaraXcdtfydbfaraLcdtfydbfc99f:Zh3kaCakavab6a3aO9DVgQEhkavabaQEhba3aOaQEhOkaiclfhiaAcufgAmbkkaHcefgHae9hmbkkakk;bddlue99dndndnabaecitfgrydlgwciGgDci9hmbarclfhqxekinabcbawcd4gwalaDcdtfIdbabaecitfIdb:tgkJbbbb9FEgDaecefgefadaialavaoz:fjjjbak:laoIdb9FTmdabaDaw7aefgecitfgrydlgwciGgDci9hmbkarclfhqkabaecitfhecuhbindnaiaeydbgDfRbbmbadaDcK2fgrIdwalIdw:tgkakNarIdbalIdb:tgkakNarIdlalIdl:tgkakNMM:rgkaoIdb9DTmbaoakUdbavaDBdbaqydbhwkaecwfheabcefgbawcd46mbkkk;yleoudnaladfgkRbbcFeSalaefgxRbbgmcFeSfabydwgPfalaifgsRbbcFeSfaD0abydxaq9pVgzce9hmbavawcltfgmab8Pdb83dbamcwfabcwfgm8Pdb83dbdndnamydbmbcbhqxekcbhDaohminalamabydbcdtfydbfcFe86bbamclfhmaDcefgDabydwgq6mbkkdnabydxglci2gDabydlgmfgPciGTmbaraPfcbalamcu7fciGcefz:njjjb8Aabydxci2hDabydlhmabydwhqkab9cb83dwababydbaqfBdbabaDcifc98GamfBdlaxRbbhmcbhPkdnamcFeGcFe9hmbaxaP86bbababydwgmcefBdwaoabydbcdtfamcdtfaeBdbkdnakRbbcFe9hmbakabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfadBdbkdnasRbbcFe9hmbasabydw86bbababydwgmcefBdwaoabydbcdtfamcdtfaiBdbkarabydlfabydxci2faxRbb86bbarabydlfabydxci2fcefakRbb86bbarabydlfabydxci2fcdfasRbb86bbababydxcefBdxazk;Ckovud99euv99eul998Jjjjjbc:G;ae9Rgo8KjjjjbdndnadTmbavcd4hrcbhwcbhDindnaiaeclfydbar2cdtfgvIdbaiaeydbar2cdtfgqIdbgk:tgxaiaecwfydbar2cdtfgmIdlaqIdlgP:tgsNamIdbak:tgzavIdlaP:tgPN:tgkakNaPamIdwaqIdwgH:tgONasavIdwaH:tgHN:tgPaPNaHazNaOaxN:tgxaxNMM:rgsJbbbb9Bmbaoc:G:qefawcx2fgAakas:vUdwaAaxas:vUdlaAaPas:vUdbaocafawc8K2fgAaq8Pdb83dbaAav8Pdb83dxaAam8Pdb83dKaAcwfaqcwfydbBdbaAcCfavcwfydbBdbaAcafamcwfydbBdbawcefhwkaecxfheaDcifgDad6mbkab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbawTmeao9cb83iKao9cb83izaoczfaocafawci2z1jjjbaoIdKhCaoIdChXaoIdzhQao9cb83iwao9cb83ibaoaoc:G:qefawz1jjjbJbbjZhkaoIdwgPJbbbbJbbjZaPaPNaoIdbgPaPNaoIdlgsasNMM:rgx:vaxJbbbb9BEgzNhxasazNhsaPazNhzaoc:G:qefheawhvinaecwfIdbaxNaeIdbazNasaeclfIdbNMMgPakaPak9DEhkaecxfheavcufgvmbkabaCUdwabaXUdlabaQUdbabaoId3UdxdndnakJ;n;m;m899FmbJbbbbhPaoc:G:qefheaocafhvinaCavcwfIdb:taecwfIdbgHNaQavIdb:taeIdbgONaXavclfIdb:taeclfIdbgLNMMaxaHNazaONasaLNMM:vgHaPaHaP9EEhPavc8KfhvaecxfheawcufgwmbkabazUd3abc8KfaxUdbabcafasUdbabcKfaCaxaPN:tUdbabcCfaXasaPN:tUdbabaQazaPN:tUdzabJbbjZakakN:t:rgkUdydndnaxJbbj:;axJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;axJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohexekcjjjj94hekabc8Ufae86bbdndnasJbbj:;asJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;asJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohvxekcjjjj94hvkabcRfav86bbdndnazJbbj:;azJbbj:;9GEgPJbbjZaPJbbjZ9FEJbb;:9cNJbbbZJbbb:;azJbbbb9GEMgP:lJbbb9p9DTmbaP:Ohqxekcjjjj94hqkabaq86b8SdndnaecKtcK91:YJbb;:9c:vax:t:lavcKtcK91:YJbb;:9c:vas:t:laqcKtcK91:YJbb;:9c:vaz:t:lakMMMJbb;:9cNJbbjZMgk:lJbbb9p9DTmbak:Ohexekcjjjj94hekaecFbaecFb9iEhexekabcjjj;8iBdycFbhekabae86b8Vxekab9cb83dbabcyf9cb83dbabcaf9cb83dbabcKf9cb83dbabczf9cb83dbabcwf9cb83dbkaoc:G;aef8Kjjjjbk:mvdouq99cbhi8Jjjjjbca9RglczfcwfcbBdbal9cb83izalcwfcbBdbal9cb83ibdnadTmbcbhvinaeaifhocbhrinalczfarfgwavawydbgwaoarfIdbgDaearawcx2ffIdb9DEBdbalarfgwavawydbgwaDaearawcx2ffIdb9EEBdbarclfgrcx9hmbkaicxfhiavcefgvad9hmbkkJbbbbhDcbhrcbhicbhvinaealarfydbcx2fgwIdwaealczfarfydbcx2fgoIdw:tgqaqNawIdbaoIdb:tgqaqNawIdlaoIdl:tgqaqNMMgqaDaqaD9EgwEhDavaiawEhiarclfhravcefgvci9hmbkaealczfaicdtgvfydbcx2fgrIdwaealavfydbcx2fglIdwMJbbbZNhqarIdlalIdlMJbbbZNhkarIdbalIdbMJbbbZNhxaD:rJbbbZNhDdnadTmbindnaecwfIdbgmaq:tgPaPNaeIdbgsax:tgPaPNaeclfIdbgzak:tgPaPNMMgPaDaDN9ETmbaqaDaP:rgH:vJbbbZNJbbbZMgPNamJbbjZaP:tgONMhqakaPNazaONMhkaxaPNasaONMhxaDaHMJbbbZNhDkaecxfheadcufgdmbkkabaDUdxabaqUdwabakUdlabaxUdbkjeeiu8Jjjjjbcj8W9Rgr8Kjjjjbaici2hwdnaiTmbawceawce0EhDarhiinaiaeadRbbcdtfydbBdbadcefhdaiclfhiaDcufgDmbkkabarawaladaoz:hjjjbarcj8Wf8Kjjjjbk:Ylequ8Jjjjjbcjx9Rgl8Kjjjjbcbhvalcjqfcbaiz:njjjb8AdndnadTmbcjehoaehrincuhwarhDcuhqavhkdninawakaoalcjqfaDcefRbbfRbb9RcFeGci6aoalcjqfaDRbbfRbb9RcFeGci6faoalcjqfaDcdfRbbfRbb9RcFeGci6fgxaq9mgmEhwdnammbaxce0mdkaxaqaxaq9kEhqaDcifhDadakcefgk9hmbkkaeawci2fgDcdfRbbhqaDcefRbbhxaDRbbhkaeavci2fgDcifaDawav9Rci2z:qjjjb8Aakalcjqffaocefgo86bbaxalcjqffao86bbaDcdfaq86bbaDcefax86bbaDak86bbaqalcjqffao86bbarcifhravcefgvad9hmbkalcFeaiz:njjjbhoadci2gDceaDce0EhqcbhxindnaoaeRbbgkfgwRbbgDcFe9hmbawax86bbaocjdfaxcdtfabakcdtfydbBdbaxhDaxcefhxkaeaD86bbaecefheaqcufgqmbkaxcdthDxekcbhDkabalcjdfaDz:mjjjb8Aalcjxf8Kjjjjbk9teiucbcbyd11jjbgeabcifc98GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik;LeeeudndnaeabVciGTmbabhixekdndnadcz9pmbabhixekabhiinaiaeydbBdbaiclfaeclfydbBdbaicwfaecwfydbBdbaicxfaecxfydbBdbaeczfheaiczfhiadc9Wfgdcs0mbkkadcl6mbinaiaeydbBdbaeclfheaiclfhiadc98fgdci0mbkkdnadTmbinaiaeRbb86bbaicefhiaecefheadcufgdmbkkabk;aeedudndnabciGTmbabhixekaecFeGc:b:c:ew2hldndnadcz9pmbabhixekabhiinaialBdbaicxfalBdbaicwfalBdbaiclfalBdbaiczfhiadc9Wfgdcs0mbkkadcl6mbinaialBdbaiclfhiadc98fgdci0mbkkdnadTmbinaiae86bbaicefhiadcufgdmbkkabk9teiucbcbyd11jjbgeabcrfc94GfgbBd11jjbdndnabZbcztgd9nmbcuhiabad9RcFFifcz4nbcuSmekaehikaik9:eiuZbhedndncbyd11jjbgdaecztgi9nmbcuheadai9RcFFifcz4nbcuSmekadhekcbabae9Rcifc98Gcbyd11jjbfgdBd11jjbdnadZbcztge9nmbadae9RcFFifcz4nb8Akk:;Deludndndnadch9pmbabaeSmdaeabadfgi9Rcbadcet9R0mekabaead;8qbbxekaeab7ciGhldndndnabae9pmbdnalTmbadhvabhixikdnabciGmbadhvabhixdkadTmiabaeRbb86bbadcufhvdnabcefgiciGmbaecefhexdkavTmiabaeRbe86beadc9:fhvdnabcdfgiciGmbaecdfhexdkavTmiabaeRbd86bdadc99fhvdnabcifgiciGmbaecifhexdkavTmiabaeRbi86biabclfhiaeclfheadc98fhvxekdnalmbdnaiciGTmbadTmlabadcufgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc9:fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc99fgifglaeaifRbb86bbdnalciGmbaihdxekaiTmlabadc98fgdfaeadfRbb86bbkadcl6mbdnadc98fgocd4cefciGgiTmbaec98fhlabc98fhvinavadfaladfydbBdbadc98fhdaicufgimbkkaocx6mbaec9Wfhvabc9WfhoinaoadfgicxfavadfglcxfydbBdbaicwfalcwfydbBdbaiclfalclfydbBdbaialydbBdbadc9Wfgdci0mbkkadTmdadhidnadciGglTmbaecufhvabcufhoadhiinaoaifavaifRbb86bbaicufhialcufglmbkkadcl6mdaec98fhlabc98fhvinavaifgecifalaifgdcifRbb86bbaecdfadcdfRbb86bbaecefadcefRbb86bbaeadRbb86bbaic98fgimbxikkavcl6mbdnavc98fglcd4cefcrGgdTmbavadcdt9RhvinaiaeydbBdbaeclfheaiclfhiadcufgdmbkkalc36mbinaiaeydbBdbaiaeydlBdlaiaeydwBdwaiaeydxBdxaiaeydzBdzaiaeydCBdCaiaeydKBdKaiaeyd3Bd3aecafheaicafhiavc9Gfgvci0mbkkavTmbdndnavcrGgdmbavhlxekavc94GhlinaiaeRbb86bbaicefhiaecefheadcufgdmbkkavcw6mbinaiaeRbb86bbaiaeRbe86beaiaeRbd86bdaiaeRbi86biaiaeRbl86blaiaeRbv86bvaiaeRbo86boaiaeRbr86braicwfhiaecwfhealc94fglmbkkabkkAebcjwkxebbbdbbbzNbb",t=new Uint8Array([32,0,65,2,1,106,34,33,3,128,11,4,13,64,6,253,10,7,15,116,127,5,8,12,40,16,19,54,20,9,27,255,113,17,42,67,24,23,146,148,18,14,22,45,70,69,56,114,101,21,25,63,75,136,108,28,118,29,73,115]);if(typeof WebAssembly!="object")return{supported:!1};var n,i=WebAssembly.instantiate(o(e),{}).then(function(m){n=m.instance,n.exports.__wasm_call_ctors()});function o(m){for(var x=new Uint8Array(m.length),b=0;b<m.length;++b){var T=m.charCodeAt(b);x[b]=T>96?T-97:T>64?T-39:T+4}for(var C=0,b=0;b<m.length;++b)x[C++]=x[b]<60?t[x[b]]:(x[b]-60)*64+x[++b];return x.buffer.slice(0,C)}function r(m){if(!m)throw new Error("Assertion failed")}function s(m){return new Uint8Array(m.buffer,m.byteOffset,m.byteLength)}var a=48,c=16;function u(m,x){var b=m.meshlets[x*4+0],T=m.meshlets[x*4+1],C=m.meshlets[x*4+2],A=m.meshlets[x*4+3];return{vertices:m.vertices.subarray(b,b+C),triangles:m.triangles.subarray(T,T+A*3)}}function f(m,x,b,T,C,A,S){var v=n.exports.sbrk,D=n.exports.meshopt_buildMeshletsBound(m.length,C,A),R=v(D*c),O=v(D*C*4),M=v(D*A*3),N=v(m.byteLength),_=v(x.byteLength),E=new Uint8Array(n.exports.memory.buffer);E.set(s(m),N),E.set(s(x),_);var w=n.exports.meshopt_buildMeshlets(R,O,M,N,m.length,_,b,T,C,A,S);E=new Uint8Array(n.exports.memory.buffer);for(var I=E.subarray(R,R+w*c),L=new Uint32Array(I.buffer,I.byteOffset,I.byteLength/4).slice(),B=0;B<w;++B){var H=L[B*4+0],V=L[B*4+1],b=L[B*4+2],G=L[B*4+3];n.exports.meshopt_optimizeMeshlet(O+H*4,M+V,G,b)}var k=L[(w-1)*4+0],W=L[(w-1)*4+1],Y=L[(w-1)*4+2],J=L[(w-1)*4+3],j=k+Y,Z=W+(J*3+3&-4),Q={meshlets:L,vertices:new Uint32Array(E.buffer,O,j).slice(),triangles:new Uint8Array(E.buffer,M,Z*3).slice(),meshletCount:w};return v(R-v(0)),Q}function d(m){var x=new Float32Array(n.exports.memory.buffer,m,a/4);return{centerX:x[0],centerY:x[1],centerZ:x[2],radius:x[3],coneApexX:x[4],coneApexY:x[5],coneApexZ:x[6],coneAxisX:x[7],coneAxisY:x[8],coneAxisZ:x[9],coneCutoff:x[10]}}function p(m,x,b,T){var C=n.exports.sbrk,A=[],S=C(x.byteLength),v=C(m.vertices.byteLength),D=C(m.triangles.byteLength),R=C(a),O=new Uint8Array(n.exports.memory.buffer);O.set(s(x),S),O.set(s(m.vertices),v),O.set(s(m.triangles),D);for(var M=0;M<m.meshletCount;++M){var N=m.meshlets[M*4+0],_=m.meshlets[M*4+0+1],E=m.meshlets[M*4+0+3];n.exports.meshopt_computeMeshletBounds(R,v+N*4,D+_,E,S,b,T),A.push(d(R))}return C(S-C(0)),A}function g(m,x,b,T){var C=n.exports.sbrk,A=C(a),S=C(m.byteLength),v=C(x.byteLength),D=new Uint8Array(n.exports.memory.buffer);D.set(s(m),S),D.set(s(x),v),n.exports.meshopt_computeClusterBounds(A,S,m.length,v,b,T);var R=d(A);return C(A-C(0)),R}return{ready:i,supported:!0,buildMeshlets:function(m,x,b,T,C,A){r(m.length%3==0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),r(T<=255||T>0),r(C<=512),r(C%4==0),A=A||0;var S=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return f(S,x,x.length/b,b*4,T,C,A)},computeClusterBounds:function(m,x,b){r(m.length%3==0),r(m.length/3<=512),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3);var T=m.BYTES_PER_ELEMENT==4?m:new Uint32Array(m);return g(T,x,x.length/b,b*4)},computeMeshletBounds:function(m,x,b){return r(m.meshletCount!=0),r(x instanceof Float32Array),r(x.length%b==0),r(b>=3),p(m,x,x.length/b,b*4)},extractMeshlet:function(m,x){return r(x>=0&&x<m.meshletCount),u(m,x)}}}();function fx(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.bufferViewId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.bufferViews[i],c=a.buffer,u=a.byteOffset,f=a.byteLength,d=!1,p,g,m,x;if(li(a,"EXT_meshopt_compression")){let T=a.extensions.EXT_meshopt_compression;c=T.buffer,u=y(T.byteOffset,0),f=T.byteLength,d=!0,p=T.byteStride,g=T.count,m=T.mode,x=y(T.filter,"NONE")}let b=n.buffers[c];this._hasMeshopt=d,this._meshoptByteStride=p,this._meshoptCount=g,this._meshoptMode=m,this._meshoptFilter=x,this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._buffer=b,this._bufferId=c,this._byteOffset=u,this._byteLength=f,this._cacheKey=s,this._bufferLoader=void 0,this._typedArray=void 0,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(fx.prototype=Object.create(Ki.prototype),fx.prototype.constructor=fx);Object.defineProperties(fx.prototype,{cacheKey:{get:function(){return this._cacheKey}},typedArray:{get:function(){return this._typedArray}}});async function uBe(e){try{let t=fBe(e);if(e._bufferLoader=t,await t.load(),e.isDestroyed())return;let n=t.typedArray,i=new Uint8Array(n.buffer,n.byteOffset+e._byteOffset,e._byteLength);if(e.unload(),e._typedArray=i,e._hasMeshopt){let o=e._meshoptCount,r=e._meshoptByteStride,s=new Uint8Array(o*r);yie.decodeGltfBuffer(s,o,r,e._typedArray,e._meshoptMode,e._meshoptFilter),e._typedArray=s}return e._state=gt.READY,e}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=gt.FAILED,e.getError("Failed to load buffer view",t)}}fx.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=gt.LOADING,this._promise=uBe(this),this._promise)};function fBe(e){let t=e._resourceCache,n=e._buffer;if(l(n.uri)){let o=e._baseResource.getDerivedResource({url:n.uri});return t.getExternalBufferLoader({resource:o})}return t.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:e._bufferId})}fx.prototype.unload=function(){l(this._bufferLoader)&&!this._bufferLoader.isDestroyed()&&this._resourceCache.unload(this._bufferLoader),this._bufferLoader=void 0,this._typedArray=void 0};var Qv=fx;function Rr(){}Rr._maxDecodingConcurrency=Math.max(Gt.hardwareConcurrency-1,1);Rr._decoderTaskProcessor=void 0;Rr._taskProcessorReady=!1;Rr._error=void 0;Rr._getDecoderTaskProcessor=function(){if(!l(Rr._decoderTaskProcessor)){let e=new xi("decodeDraco",Rr._maxDecodingConcurrency);e.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}).then(function(t){t?Rr._taskProcessorReady=!0:Rr._error=new se("Draco decoder could not be initialized.")}).catch(t=>{Rr._error=t}),Rr._decoderTaskProcessor=e}return Rr._decoderTaskProcessor};Rr.decodePointCloud=function(e){let t=Rr._getDecoderTaskProcessor();if(l(Rr._error))throw Rr._error;if(Rr._taskProcessorReady)return t.scheduleTask(e,[e.buffer.buffer])};Rr.decodeBufferView=function(e){let t=Rr._getDecoderTaskProcessor();if(l(Rr._error))throw Rr._error;if(Rr._taskProcessorReady)return t.scheduleTask(e,[e.array.buffer])};var gg=Rr;function yg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.draco,o=e.gltfResource,r=e.baseResource,s=e.cacheKey;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._draco=i,this._cacheKey=s,this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodePromise=void 0,this._decodedData=void 0,this._state=gt.UNLOADED,this._promise=void 0,this._dracoError=void 0}l(Object.create)&&(yg.prototype=Object.create(Ki.prototype),yg.prototype.constructor=yg);Object.defineProperties(yg.prototype,{cacheKey:{get:function(){return this._cacheKey}},decodedData:{get:function(){return this._decodedData}}});async function dBe(e){let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._draco.bufferView,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._bufferViewTypedArray=n.typedArray,e._state=gt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;xie(e,n)}}yg.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=gt.LOADING,this._promise=dBe(this),this._promise)};function xie(e,t){throw e.unload(),e._state=gt.FAILED,e.getError("Failed to load Draco",t)}async function hBe(e,t){try{let n=await t;return e.isDestroyed()?void 0:(e.unload(),e._decodedData={indices:n.indexArray,vertexAttributes:n.attributeData},e._state=gt.READY,e._baseResource)}catch(n){if(e.isDestroyed())return;e._dracoError=n}}yg.prototype.process=function(e){if(this._state===gt.READY)return!0;if(this._state!==gt.PROCESSING||(l(this._dracoError)&&xie(this,this._dracoError),!l(this._bufferViewTypedArray))||l(this._decodePromise))return!1;let t=this._draco,i=this._gltf.bufferViews,o=t.bufferView,r=i[o],s=t.attributes,a={array:new Uint8Array(this._bufferViewTypedArray),bufferView:r,compressedAttributes:s,dequantizeInShader:!0},c=gg.decodeBufferView(a);if(!l(c))return!1;this._decodePromise=hBe(this,c)};yg.prototype.unload=function(){l(this._bufferViewLoader)&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._bufferViewTypedArray=void 0,this._decodedData=void 0,this._gltf=void 0};var Jv=yg;function mBe(e){let t=e.uint8Array,n=e.format,i=e.request,o=y(e.flipY,!1),r=y(e.skipColorSpaceConversion,!1),s=new Blob([t],{type:n}),a;return Ae.supportsImageBitmapOptions().then(function(c){return c?Promise.resolve(Ae.createImageBitmapFromBlob(s,{flipY:o,premultiplyAlpha:!1,skipColorSpaceConversion:r})):(a=window.URL.createObjectURL(s),new Ae({url:a,request:i}).fetchImage({flipY:o,skipColorSpaceConversion:r}))}).then(function(c){return l(a)&&window.URL.revokeObjectURL(a),c}).catch(function(c){return l(a)&&window.URL.revokeObjectURL(a),Promise.reject(c)})}var xC=mBe;function vp(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.imageId,o=e.gltfResource,r=e.baseResource,s=e.cacheKey,a=n.images[i],c=a.bufferView,u=a.uri;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._bufferViewId=c,this._uri=u,this._cacheKey=s,this._bufferViewLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(vp.prototype=Object.create(Ki.prototype),vp.prototype.constructor=vp);Object.defineProperties(vp.prototype,{cacheKey:{get:function(){return this._cacheKey}},image:{get:function(){return this._image}},mipLevels:{get:function(){return this._mipLevels}}});vp.prototype.load=function(){return l(this._promise)?this._promise:l(this._bufferViewId)?(this._promise=pBe(this),this._promise):(this._promise=_Be(this),this._promise)};function bie(e){let t;return Array.isArray(e)&&(t=e.slice(1,e.length).map(function(n){return n.bufferView}),e=e[0]),{image:e,mipLevels:t}}async function pBe(e){e._state=gt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=n,await n.load(),e.isDestroyed())return;let i=n.typedArray,o=await yBe(i);if(e.isDestroyed())return;let r=bie(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=gt.READY,e}catch(n){return e.isDestroyed()?void 0:Tie(e,n,"Failed to load embedded image")}}async function _Be(e){e._state=gt.LOADING;let t=e._baseResource,n=e._uri,i=t.getDerivedResource({url:n});try{let o=await bBe(i);if(e.isDestroyed())return;let r=bie(o);return e.unload(),e._image=r.image,e._mipLevels=r.mipLevels,e._state=gt.READY,e}catch(o){return e.isDestroyed()?void 0:Tie(e,o,`Failed to load image: ${n}`)}}function Tie(e,t,n){return e.unload(),e._state=gt.FAILED,Promise.reject(e.getError(n,t))}function gBe(e){let t=e.subarray(0,2),n=e.subarray(0,4),i=e.subarray(8,12);if(t[0]===255&&t[1]===216)return"image/jpeg";if(t[0]===137&&t[1]===80)return"image/png";if(t[0]===171&&t[1]===75)return"image/ktx2";if(n[0]===82&&n[1]===73&&n[2]===70&&n[3]===70&&i[0]===87&&i[1]===69&&i[2]===66&&i[3]===80)return"image/webp";throw new se("Image format is not recognized")}async function yBe(e){let t=gBe(e);if(t==="image/ktx2"){let n=new Uint8Array(e);return Yl(n)}return vp._loadImageFromTypedArray({uint8Array:e,format:t,flipY:!1,skipColorSpaceConversion:!0})}var xBe=/(^data:image\/ktx2)|(\.ktx2$)/i;function bBe(e){let t=e.getUrlComponent(!1,!0);return xBe.test(t)?Yl(e):e.fetchImage({skipColorSpaceConversion:!0,preferImageBitmap:!0})}vp.prototype.unload=function(){l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&this._resourceCache.unload(this._bufferViewLoader),this._bufferViewLoader=void 0,this._uri=void 0,this._image=void 0,this._mipLevels=void 0,this._gltf=void 0};vp._loadImageFromTypedArray=xC;var ew=vp;var TBe={TEXTURE:0,PROGRAM:1,BUFFER:2,NUMBER_OF_JOB_TYPES:3},ec=Object.freeze(TBe);function xg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.accessorId,o=e.gltfResource,r=e.baseResource,s=e.draco,a=e.cacheKey,c=y(e.asynchronous,!0),u=y(e.loadBuffer,!1),f=y(e.loadTypedArray,!1),d=n.accessors[i].componentType;this._resourceCache=t,this._gltfResource=o,this._baseResource=r,this._gltf=n,this._accessorId=i,this._indexDatatype=d,this._draco=s,this._cacheKey=a,this._asynchronous=c,this._loadBuffer=u,this._loadTypedArray=f,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(xg.prototype=Object.create(Ki.prototype),xg.prototype.constructor=xg);Object.defineProperties(xg.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},indexDatatype:{get:function(){return this._indexDatatype}}});var CBe=new I9;xg.prototype.load=async function(){return l(this._promise)?this._promise:l(this._draco)?(this._promise=ABe(this),this._promise):(this._promise=EBe(this),this._promise)};async function ABe(e){e._state=gt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=gt.LOADED,e)}catch(n){if(e.isDestroyed())return;D9(e,n)}}async function EBe(e){let t=e._gltf,n=e._accessorId,o=t.accessors[n].bufferView;e._state=gt.LOADING;let r=e._resourceCache;try{let s=r.getBufferViewLoader({gltf:t,bufferViewId:o,gltfResource:e._gltfResource,baseResource:e._baseResource});if(e._bufferViewLoader=s,await s.load(),e.isDestroyed())return;let a=s.typedArray;return e._typedArray=SBe(e,a),e._state=gt.PROCESSING,e}catch(s){if(e.isDestroyed())return;D9(e,s)}}function SBe(e,t){let n=e._gltf,i=e._accessorId,o=n.accessors[i],r=o.count,s=o.componentType,a=ke.getSizeInBytes(s),c=t.buffer,u=t.byteOffset+o.byteOffset;if(u%a!==0){let d=r*a,p=new Uint8Array(c,u,d);c=new Uint8Array(p).buffer,u=0,Cs("index-buffer-unaligned",`The index array is not aligned to a ${a}-byte boundary.`)}let f;return s===ke.UNSIGNED_BYTE?f=new Uint8Array(c,u,r):s===ke.UNSIGNED_SHORT?f=new Uint16Array(c,u,r):s===ke.UNSIGNED_INT&&(f=new Uint32Array(c,u,r)),f}function D9(e,t){throw e.unload(),e._state=gt.FAILED,e.getError("Failed to load index buffer",t)}function I9(){this.typedArray=void 0,this.indexDatatype=void 0,this.context=void 0,this.buffer=void 0}I9.prototype.set=function(e,t,n){this.typedArray=e,this.indexDatatype=t,this.context=n};I9.prototype.execute=function(){this.buffer=Cie(this.typedArray,this.indexDatatype,this.context)};function Cie(e,t,n){let i=bt.createIndexBuffer({typedArray:e,context:n,usage:Ue.STATIC_DRAW,indexDatatype:t});return i.vertexArrayDestroyable=!1,i}xg.prototype.process=function(e){if(this._state===gt.READY)return!0;if(this._state!==gt.LOADED&&this._state!==gt.PROCESSING)return!1;let t=this._typedArray,n=this._indexDatatype;if(l(this._dracoLoader))try{this._dracoLoader.process(e)&&(t=this._dracoLoader.decodedData.indices.typedArray,this._typedArray=t,n=X.fromTypedArray(t),this._indexDatatype=n)}catch(o){D9(this,o)}if(!l(t))return!1;let i;if(this._loadBuffer&&this._asynchronous){let o=CBe;if(o.set(t,n,e.context),!e.jobScheduler.execute(o,ec.BUFFER))return!1;i=o.buffer}else this._loadBuffer&&(i=Cie(t,n,e.context));return this.unload(),this._buffer=i,this._typedArray=this._loadTypedArray?t:void 0,this._state=gt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};xg.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var tw=xg;function vBe(e,t,n){if(n=y(n,!1),n){let i=e.indexOf(t);if(i>-1)return i}return e.push(t),e.length-1}var Us=vBe;function wBe(e,t){return l(e.extensionsUsed)&&e.extensionsUsed.indexOf(t)>=0}var _r=wBe;function qt(){}qt.objectLegacy=function(e,t){if(l(e)){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}}};qt.object=function(e,t){if(l(e)){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=t(o,i);if(l(r))return r}}};qt.topLevel=function(e,t,n){let i=e[t];return l(i)&&!Array.isArray(i)?qt.objectLegacy(i,n):qt.object(i,n)};qt.accessor=function(e,t){return qt.topLevel(e,"accessors",t)};qt.accessorWithSemantic=function(e,t,n){let i={};return qt.mesh(e,function(o){return qt.meshPrimitive(o,function(r){let s=qt.meshPrimitiveAttribute(r,function(a,c){if(c.indexOf(t)===0&&!l(i[a])){i[a]=!0;let u=n(a);if(l(u))return u}});return l(s)?s:qt.meshPrimitiveTarget(r,function(a){return qt.meshPrimitiveTargetAttribute(a,function(c,u){if(u.indexOf(t)===0&&!l(i[c])){i[c]=!0;let f=n(c);if(l(f))return f}})})})})};qt.accessorContainingVertexAttributeData=function(e,t){let n={};return qt.mesh(e,function(i){return qt.meshPrimitive(i,function(o){let r=qt.meshPrimitiveAttribute(o,function(s){if(!l(n[s])){n[s]=!0;let a=t(s);if(l(a))return a}});return l(r)?r:qt.meshPrimitiveTarget(o,function(s){return qt.meshPrimitiveTargetAttribute(s,function(a){if(!l(n[a])){n[a]=!0;let c=t(a);if(l(c))return c}})})})})};qt.accessorContainingIndexData=function(e,t){let n={};return qt.mesh(e,function(i){return qt.meshPrimitive(i,function(o){let r=o.indices;if(l(r)&&!l(n[r])){n[r]=!0;let s=t(r);if(l(s))return s}})})};qt.animation=function(e,t){return qt.topLevel(e,"animations",t)};qt.animationChannel=function(e,t){let n=e.channels;return qt.object(n,t)};qt.animationSampler=function(e,t){let n=e.samplers;return qt.object(n,t)};qt.buffer=function(e,t){return qt.topLevel(e,"buffers",t)};qt.bufferView=function(e,t){return qt.topLevel(e,"bufferViews",t)};qt.camera=function(e,t){return qt.topLevel(e,"cameras",t)};qt.image=function(e,t){return qt.topLevel(e,"images",t)};qt.material=function(e,t){return qt.topLevel(e,"materials",t)};qt.materialValue=function(e,t){let n=e.values;l(e.extensions)&&l(e.extensions.KHR_techniques_webgl)&&(n=e.extensions.KHR_techniques_webgl.values);for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.mesh=function(e,t){return qt.topLevel(e,"meshes",t)};qt.meshPrimitive=function(e,t){let n=e.primitives;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r,o);if(l(s))return s}}};qt.meshPrimitiveAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.meshPrimitiveTarget=function(e,t){let n=e.targets;if(l(n)){let i=n.length;for(let o=0;o<i;++o){let r=t(n[o],o);if(l(r))return r}}};qt.meshPrimitiveTargetAttribute=function(e,t){for(let n in e)if(Object.prototype.hasOwnProperty.call(e,n)){let i=e[n],o=t(i,n);if(l(o))return o}};qt.node=function(e,t){return qt.topLevel(e,"nodes",t)};qt.nodeInTree=function(e,t,n){let i=e.nodes;if(l(i)){let o=t.length;for(let r=0;r<o;r++){let s=t[r],a=i[s];if(l(a)){let c=n(a,s);if(l(c))return c;let u=a.children;if(l(u)&&(c=qt.nodeInTree(e,u,n),l(c)))return c}}}};qt.nodeInScene=function(e,t,n){let i=t.nodes;if(l(i))return qt.nodeInTree(e,i,n)};qt.program=function(e,t){return _r(e,"KHR_techniques_webgl")?qt.object(e.extensions.KHR_techniques_webgl.programs,t):qt.topLevel(e,"programs",t)};qt.sampler=function(e,t){return qt.topLevel(e,"samplers",t)};qt.scene=function(e,t){return qt.topLevel(e,"scenes",t)};qt.shader=function(e,t){return _r(e,"KHR_techniques_webgl")?qt.object(e.extensions.KHR_techniques_webgl.shaders,t):qt.topLevel(e,"shaders",t)};qt.skin=function(e,t){return qt.topLevel(e,"skins",t)};qt.skinJoint=function(e,t){let n=e.joints;if(l(n)){let i=n.length;for(let o=0;o<i;o++){let r=n[o],s=t(r);if(l(s))return s}}};qt.techniqueAttribute=function(e,t){let n=e.attributes;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.techniqueUniform=function(e,t){let n=e.uniforms;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.techniqueParameter=function(e,t){let n=e.parameters;for(let i in n)if(Object.prototype.hasOwnProperty.call(n,i)){let o=t(n[i],i);if(l(o))return o}};qt.technique=function(e,t){return _r(e,"KHR_techniques_webgl")?qt.object(e.extensions.KHR_techniques_webgl.techniques,t):qt.topLevel(e,"techniques",t)};qt.texture=function(e,t){return qt.topLevel(e,"textures",t)};var Oe=qt;function DBe(e){switch(e){case"SCALAR":return 1;case"VEC2":return 2;case"VEC3":return 3;case"VEC4":case"MAT2":return 4;case"MAT3":return 9;case"MAT4":return 16}}var cf=DBe;function IBe(e,t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n];if(l(i.byteStride)&&i.byteStride>0)return i.byteStride}return X.getSizeInBytes(t.componentType)*cf(t.type)}var ru=IBe;function PBe(e){Oe.accessor(e,function(n){l(n.bufferView)&&(n.byteOffset=y(n.byteOffset,0))}),Oe.bufferView(e,function(n){l(n.buffer)&&(n.byteOffset=y(n.byteOffset,0))}),Oe.mesh(e,function(n){Oe.meshPrimitive(n,function(i){if(i.mode=y(i.mode,te.TRIANGLES),!l(i.material)){l(e.materials)||(e.materials=[]);let o={name:"default"};i.material=Us(e.materials,o)}})}),Oe.accessorContainingVertexAttributeData(e,function(n){let i=e.accessors[n],o=i.bufferView;if(i.normalized=y(i.normalized,!1),l(o)){let r=e.bufferViews[o];r.byteStride=ru(e,i),r.target=te.ARRAY_BUFFER}}),Oe.accessorContainingIndexData(e,function(n){let o=e.accessors[n].bufferView;if(l(o)){let r=e.bufferViews[o];r.target=te.ELEMENT_ARRAY_BUFFER}}),Oe.material(e,function(n){let i=y(n.extensions,y.EMPTY_OBJECT),o=i.KHR_materials_common;if(l(o)){let c=o.technique,u=l(o.values)?o.values:{};o.values=u,u.ambient=l(u.ambient)?u.ambient:[0,0,0,1],u.emission=l(u.emission)?u.emission:[0,0,0,1],u.transparency=y(u.transparency,1),c!=="CONSTANT"&&(u.diffuse=l(u.diffuse)?u.diffuse:[0,0,0,1],c!=="LAMBERT"&&(u.specular=l(u.specular)?u.specular:[0,0,0,1],u.shininess=y(u.shininess,0))),o.transparent=y(o.transparent,!1),o.doubleSided=y(o.doubleSided,!1);return}n.emissiveFactor=y(n.emissiveFactor,[0,0,0]),n.alphaMode=y(n.alphaMode,"OPAQUE"),n.doubleSided=y(n.doubleSided,!1),n.alphaMode==="MASK"&&(n.alphaCutoff=y(n.alphaCutoff,.5));let r=i.KHR_techniques_webgl;l(r)&&Oe.materialValue(n,function(c){l(c.index)&&dx(c)}),dx(n.emissiveTexture),dx(n.normalTexture),dx(n.occlusionTexture);let s=n.pbrMetallicRoughness;l(s)&&(s.baseColorFactor=y(s.baseColorFactor,[1,1,1,1]),s.metallicFactor=y(s.metallicFactor,1),s.roughnessFactor=y(s.roughnessFactor,1),dx(s.baseColorTexture),dx(s.metallicRoughnessTexture));let a=i.KHR_materials_pbrSpecularGlossiness;l(a)&&(a.diffuseFactor=y(a.diffuseFactor,[1,1,1,1]),a.specularFactor=y(a.specularFactor,[1,1,1]),a.glossinessFactor=y(a.glossinessFactor,1),dx(a.specularGlossinessTexture))}),Oe.animation(e,function(n){Oe.animationSampler(n,function(i){i.interpolation=y(i.interpolation,"LINEAR")})});let t=OBe(e);return Oe.node(e,function(n,i){l(t[i])||l(n.translation)||l(n.rotation)||l(n.scale)?(n.translation=y(n.translation,[0,0,0]),n.rotation=y(n.rotation,[0,0,0,1]),n.scale=y(n.scale,[1,1,1])):n.matrix=y(n.matrix,[1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])}),Oe.sampler(e,function(n){n.wrapS=y(n.wrapS,te.REPEAT),n.wrapT=y(n.wrapT,te.REPEAT)}),l(e.scenes)&&!l(e.scene)&&(e.scene=0),e}function OBe(e){let t={};return Oe.animation(e,function(n){Oe.animationChannel(n,function(i){let o=i.target,r=o.node,s=o.path;(s==="translation"||s==="rotation"||s==="scale")&&(t[r]=!0)})}),t}function dx(e){l(e)&&(e.texCoord=y(e.texCoord,0))}var hN=PBe;function RBe(e){return Oe.shader(e,function(t){mN(t)}),Oe.buffer(e,function(t){mN(t)}),Oe.image(e,function(t){mN(t)}),mN(e),e}function mN(e){e.extras=l(e.extras)?e.extras:{},e.extras._pipeline=l(e.extras._pipeline)?e.extras._pipeline:{}}var hx=RBe;function MBe(e,t){let n=e.extensionsRequired;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),n.length===0&&delete e.extensionsRequired}}var pN=MBe;function LBe(e,t){let n=e.extensionsUsed;if(l(n)){let i=n.indexOf(t);i>=0&&n.splice(i,1),pN(e,t),n.length===0&&delete e.extensionsUsed}}var bC=LBe;var NBe=4;function FBe(e){if(Hh(e)!=="glTF")throw new se("File is not valid binary glTF");let n=Aie(e,0,5),i=n[1];if(i!==1&&i!==2)throw new se("Binary glTF version is not 1 or 2");return i===1?BBe(e,n):kBe(e,n)}function Aie(e,t,n){let i=new DataView(e.buffer),o=new Array(n);for(let r=0;r<n;++r)o[r]=i.getUint32(e.byteOffset+t+r*NBe,!0);return o}function BBe(e,t){let n=t[2],i=t[3];if(t[4]!==0)throw new se("Binary glTF scene format is not JSON");let r=20,s=r+i,a=tu(e,r,i),c=JSON.parse(a);hx(c);let u=e.subarray(s,n),f=c.buffers;if(l(f)&&Object.keys(f).length>0){let d=y(f.binary_glTF,f.KHR_binary_glTF);l(d)&&(d.extras._pipeline.source=u,delete d.uri)}return bC(c,"KHR_binary_glTF"),c}function kBe(e,t){let n=t[2],i=12,o,r;for(;i<n;){let s=Aie(e,i,2),a=s[0],c=s[1];i+=8;let u=e.subarray(i,i+a);if(i+=a,c===1313821514){let f=tu(u);o=JSON.parse(f),hx(o)}else c===5130562&&(r=u)}if(l(o)&&l(r)){let s=o.buffers;if(l(s)&&s.length>0){let a=s[0];a.extras._pipeline.source=r}}return o}var _N=FBe;function VBe(e){return Oe.shader(e,function(t){gN(t)}),Oe.buffer(e,function(t){gN(t)}),Oe.image(e,function(t){gN(t)}),gN(e),e}function gN(e){l(e.extras)&&(l(e.extras._pipeline)&&delete e.extras._pipeline,Object.keys(e.extras).length===0&&delete e.extras)}var yN=VBe;function UBe(e,t){let n=e.extensionsUsed;l(n)||(n=[],e.extensionsUsed=n),Us(n,t,!0)}var _d=UBe;function zBe(e){switch(e){case X.BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt8(n+s*o)};case X.UNSIGNED_BYTE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint8(n+s*o)};case X.SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt16(n+s*o,!0)};case X.UNSIGNED_SHORT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint16(n+s*o,!0)};case X.INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getInt32(n+s*o,!0)};case X.UNSIGNED_INT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getUint32(n+s*o,!0)};case X.FLOAT:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat32(n+s*o,!0)};case X.DOUBLE:return function(t,n,i,o,r){for(let s=0;s<i;++s)r[s]=t.getFloat64(n+s*o,!0)}}}var bg=zBe;function HBe(e,t){let n=e.bufferViews,i=e.buffers,o=t.bufferView,r=cf(t.type);if(!l(t.bufferView))return{min:new Array(r).fill(0),max:new Array(r).fill(0)};let s=new Array(r).fill(Number.POSITIVE_INFINITY),a=new Array(r).fill(Number.NEGATIVE_INFINITY),c=n[o],u=c.buffer,d=i[u].extras._pipeline.source,p=t.count,g=ru(e,t),m=t.byteOffset+c.byteOffset+d.byteOffset,x=t.componentType,b=X.getSizeInBytes(x),T=new DataView(d.buffer),C=new Array(r),A=bg(x);for(let S=0;S<p;S++){A(T,m,r,b,C);for(let v=0;v<r;v++){let D=C[v];s[v]=Math.min(s[v],D),a[v]=Math.max(a[v],D)}m+=g}return{min:s,max:a}}var TC=HBe;var GBe=[te.FUNC_ADD,te.FUNC_ADD],WBe=[te.ONE,te.ZERO,te.ONE,te.ZERO];function Eie(e,t){let n=e.enable;return l(n)?n.indexOf(t)>-1:!1}var jBe=[te.ZERO,te.ONE,te.SRC_COLOR,te.ONE_MINUS_SRC_COLOR,te.SRC_ALPHA,te.ONE_MINUS_SRC_ALPHA,te.DST_ALPHA,te.ONE_MINUS_DST_ALPHA,te.DST_COLOR,te.ONE_MINUS_DST_COLOR];function qBe(e,t){if(!l(e))return t;for(let n=0;n<4;n++)if(jBe.indexOf(e[n])===-1)return t;return e}function YBe(e){let t={},n={},i=e.techniques;return l(i)&&(Oe.technique(e,function(o,r){let s=o.states;if(l(s)){let a=n[r]={};if(Eie(s,te.BLEND)){a.alphaMode="BLEND";let c=s.functions;l(c)&&(l(c.blendEquationSeparate)||l(c.blendFuncSeparate))&&(t[r]={blendEquation:y(c.blendEquationSeparate,GBe),blendFactors:qBe(c.blendFuncSeparate,WBe)})}Eie(s,te.CULL_FACE)||(a.doubleSided=!0),delete o.states}}),Object.keys(t).length>0&&(l(e.extensions)||(e.extensions={}),_d(e,"KHR_blend")),Oe.material(e,function(o){if(l(o.technique)){let r=n[o.technique];Oe.objectLegacy(r,function(a,c){o[c]=a});let s=t[o.technique];l(s)&&(l(o.extensions)||(o.extensions={}),o.extensions.KHR_blend=s)}})),e}var xN=YBe;function XBe(e,t){let n=e.extensionsRequired;l(n)||(n=[],e.extensionsRequired=n),Us(n,t,!0),_d(e,t)}var bN=XBe;function KBe(e){let t=e.techniques,n={},i={},o={};if(l(t)){let r={programs:[],shaders:[],techniques:[]},s=e.glExtensionsUsed;delete e.glExtensionsUsed,Oe.technique(e,function(a,c){let u={name:a.name,program:void 0,attributes:{},uniforms:{}},f;if(Oe.techniqueAttribute(a,function(d,p){f=a.parameters[d],u.attributes[p]={semantic:f.semantic}}),Oe.techniqueUniform(a,function(d,p){f=a.parameters[d],u.uniforms[p]={count:f.count,node:f.node,type:f.type,semantic:f.semantic,value:f.value},l(n[c])||(n[c]={}),n[c][d]=p}),l(o[a.program]))u.program=o[a.program];else{let d=e.programs[a.program],p={name:d.name,fragmentShader:void 0,vertexShader:void 0,glExtensions:s},g=e.shaders[d.fragmentShader];p.fragmentShader=Us(r.shaders,g,!0);let m=e.shaders[d.vertexShader];p.vertexShader=Us(r.shaders,m,!0),u.program=Us(r.programs,p),o[a.program]=u.program}i[c]=Us(r.techniques,u)}),r.techniques.length>0&&(l(e.extensions)||(e.extensions={}),e.extensions.KHR_techniques_webgl=r,_d(e,"KHR_techniques_webgl"),bN(e,"KHR_techniques_webgl"))}return Oe.material(e,function(r){if(l(r.technique)){let s={technique:i[r.technique]};Oe.objectLegacy(r.values,function(a,c){l(s.values)||(s.values={});let u=n[r.technique][c];l(u)&&(s.values[u]=a)}),l(r.extensions)||(r.extensions={}),r.extensions.KHR_techniques_webgl=s}delete r.technique,delete r.values}),delete e.techniques,delete e.programs,delete e.shaders,e}var TN=KBe;function ZBe(e,t){xo.typeOf.object("material",e),xo.defined("handler",t);let n=e.pbrMetallicRoughness;if(l(n)){if(l(n.baseColorTexture)){let r=n.baseColorTexture,s=t(r.index,r);if(l(s))return s}if(l(n.metallicRoughnessTexture)){let r=n.metallicRoughnessTexture,s=t(r.index,r);if(l(s))return s}}let{extensions:i}=e;if(l(i)){let r=i.KHR_materials_pbrSpecularGlossiness;if(l(r)){if(l(r.diffuseTexture)){let c=r.diffuseTexture,u=t(c.index,c);if(l(u))return u}if(l(r.specularGlossinessTexture)){let c=r.specularGlossinessTexture,u=t(c.index,c);if(l(u))return u}}let s=i.KHR_materials_specular;if(l(s)){let{specularTexture:c,specularColorTexture:u}=s;if(l(c)){let f=t(c.index,c);if(l(f))return f}if(l(u)){let f=t(u.index,u);if(l(f))return f}}let a=i.KHR_materials_common;if(l(a)&&l(a.values)){let{diffuse:c,ambient:u,emission:f,specular:d}=a.values;if(l(c)&&l(c.index)){let p=t(c.index,c);if(l(p))return p}if(l(u)&&l(u.index)){let p=t(u.index,u);if(l(p))return p}if(l(f)&&l(f.index)){let p=t(f.index,f);if(l(p))return p}if(l(d)&&l(d.index)){let p=t(d.index,d);if(l(p))return p}}}let o=Oe.materialValue(e,function(r){if(l(r.index)){let s=t(r.index,r);if(l(s))return s}});if(l(o))return o;if(l(e.emissiveTexture)){let r=e.emissiveTexture,s=t(r.index,r);if(l(s))return s}if(l(e.normalTexture)){let r=e.normalTexture,s=t(r.index,r);if(l(s))return s}if(l(e.occlusionTexture)){let r=e.occlusionTexture,s=t(r.index,r);if(l(s))return s}}var nw=ZBe;var Sie=["mesh","node","material","accessor","bufferView","buffer","texture","sampler","image"];function $Be(e,t){return t=y(t,Sie),Sie.forEach(function(n){t.indexOf(n)>-1&&JBe(e,n)}),e}var QBe={accessor:"accessors",buffer:"buffers",bufferView:"bufferViews",image:"images",node:"nodes",material:"materials",mesh:"meshes",sampler:"samplers",texture:"textures"};function JBe(e,t){let n=QBe[t],i=e[n];if(l(i)){let o=0,r=jh[t](e),s=i.length;for(let a=0;a<s;++a)r[a]||(Wh[t](e,a-o),o++)}}function Wh(){}Wh.accessor=function(e,t){e.accessors.splice(t,1),Oe.mesh(e,function(i){Oe.meshPrimitive(i,function(o){Oe.meshPrimitiveAttribute(o,function(a,c){a>t&&o.attributes[c]--}),Oe.meshPrimitiveTarget(o,function(a){Oe.meshPrimitiveTargetAttribute(a,function(c,u){c>t&&a[u]--})});let r=o.indices;l(r)&&r>t&&o.indices--;let s=o.extensions;l(s)&&l(s.CESIUM_primitive_outline)&&s.CESIUM_primitive_outline.indices>t&&--s.CESIUM_primitive_outline.indices})}),Oe.skin(e,function(i){l(i.inverseBindMatrices)&&i.inverseBindMatrices>t&&i.inverseBindMatrices--}),Oe.animation(e,function(i){Oe.animationSampler(i,function(o){l(o.input)&&o.input>t&&o.input--,l(o.output)&&o.output>t&&o.output--})})};Wh.buffer=function(e,t){e.buffers.splice(t,1),Oe.bufferView(e,function(i){l(i.buffer)&&i.buffer>t&&i.buffer--,l(i.extensions)&&l(i.extensions.EXT_meshopt_compression)&&i.extensions.EXT_meshopt_compression.buffer--})};Wh.bufferView=function(e,t){if(e.bufferViews.splice(t,1),Oe.accessor(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Oe.shader(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),Oe.image(e,function(i){l(i.bufferView)&&i.bufferView>t&&i.bufferView--}),_r(e,"KHR_draco_mesh_compression")&&Oe.mesh(e,function(i){Oe.meshPrimitive(i,function(o){l(o.extensions)&&l(o.extensions.KHR_draco_mesh_compression)&&o.extensions.KHR_draco_mesh_compression.bufferView>t&&o.extensions.KHR_draco_mesh_compression.bufferView--})}),_r(e,"EXT_feature_metadata")){let o=e.extensions.EXT_feature_metadata.featureTables;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.bufferView)&&u.bufferView>t&&u.bufferView--,l(u.arrayOffsetBufferView)&&u.arrayOffsetBufferView>t&&u.arrayOffsetBufferView--,l(u.stringOffsetBufferView)&&u.stringOffsetBufferView>t&&u.stringOffsetBufferView--}}}}if(_r(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTables;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];l(f.values)&&f.values>t&&f.values--,l(f.arrayOffsets)&&f.arrayOffsets>t&&f.arrayOffsets--,l(f.stringOffsets)&&f.stringOffsets>t&&f.stringOffsets--}}}}};Wh.image=function(e,t){e.images.splice(t,1),Oe.texture(e,function(i){l(i.source)&&i.source>t&&--i.source;let o=i.extensions;l(o)&&l(o.EXT_texture_webp)&&o.EXT_texture_webp.source>t?--i.extensions.EXT_texture_webp.source:l(o)&&l(o.KHR_texture_basisu)&&o.KHR_texture_basisu.source>t&&--i.extensions.KHR_texture_basisu.source})};Wh.mesh=function(e,t){e.meshes.splice(t,1),Oe.node(e,function(i){l(i.mesh)&&(i.mesh>t?i.mesh--:i.mesh===t&&delete i.mesh)})};Wh.node=function(e,t){e.nodes.splice(t,1),Oe.skin(e,function(i){l(i.skeleton)&&i.skeleton>t&&i.skeleton--,i.joints=i.joints.map(function(o){return o>t?o-1:o})}),Oe.animation(e,function(i){Oe.animationChannel(i,function(o){l(o.target)&&l(o.target.node)&&o.target.node>t&&o.target.node--})}),Oe.technique(e,function(i){Oe.techniqueUniform(i,function(o){l(o.node)&&o.node>t&&o.node--})}),Oe.node(e,function(i){l(i.children)&&(i.children=i.children.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o}))}),Oe.scene(e,function(i){i.nodes=i.nodes.filter(function(o){return o!==t}).map(function(o){return o>t?o-1:o})})};Wh.material=function(e,t){e.materials.splice(t,1),Oe.mesh(e,function(i){Oe.meshPrimitive(i,function(o){l(o.material)&&o.material>t&&o.material--})})};Wh.sampler=function(e,t){e.samplers.splice(t,1),Oe.texture(e,function(i){l(i.sampler)&&i.sampler>t&&--i.sampler})};Wh.texture=function(e,t){if(e.textures.splice(t,1),Oe.material(e,function(i){nw(i,function(o,r){r.index>t&&--r.index})}),_r(e,"EXT_feature_metadata")){Oe.mesh(e,function(r){Oe.meshPrimitive(r,function(s){let a=s.extensions;if(l(a)&&l(a.EXT_feature_metadata)){let u=a.EXT_feature_metadata.featureIdTextures;if(l(u)){let f=u.length;for(let d=0;d<f;++d){let g=u[d].featureIds.texture;g.index>t&&--g.index}}}})});let o=e.extensions.EXT_feature_metadata.featureTextures;for(let r in o)if(o.hasOwnProperty(r)){let a=o[r].properties;if(l(a)){for(let c in a)if(a.hasOwnProperty(c)){let f=a[c].texture;f.index>t&&--f.index}}}}if(_r(e,"EXT_mesh_features")&&Oe.mesh(e,function(i){Oe.meshPrimitive(i,function(o){let r=o.extensions;if(l(r)&&l(r.EXT_mesh_features)){let a=r.EXT_mesh_features.featureIds;if(l(a)){let c=a.length;for(let u=0;u<c;++u){let f=a[u];l(f.texture)&&f.texture.index>t&&--f.texture.index}}}})}),_r(e,"EXT_structural_metadata")){let o=e.extensions.EXT_structural_metadata.propertyTextures;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let c=o[s].properties;for(let u in c)if(c.hasOwnProperty(u)){let f=c[u];f.index>t&&--f.index}}}}};function jh(){}jh.accessor=function(e){let t={};return Oe.mesh(e,function(n){Oe.meshPrimitive(n,function(i){Oe.meshPrimitiveAttribute(i,function(r){t[r]=!0}),Oe.meshPrimitiveTarget(i,function(r){Oe.meshPrimitiveTargetAttribute(r,function(s){t[s]=!0})});let o=i.indices;l(o)&&(t[o]=!0)})}),Oe.skin(e,function(n){l(n.inverseBindMatrices)&&(t[n.inverseBindMatrices]=!0)}),Oe.animation(e,function(n){Oe.animationSampler(n,function(i){l(i.input)&&(t[i.input]=!0),l(i.output)&&(t[i.output]=!0)})}),_r(e,"EXT_mesh_gpu_instancing")&&Oe.node(e,function(n){l(n.extensions)&&l(n.extensions.EXT_mesh_gpu_instancing)&&Object.keys(n.extensions.EXT_mesh_gpu_instancing.attributes).forEach(function(i){let o=n.extensions.EXT_mesh_gpu_instancing.attributes[i];t[o]=!0})}),_r(e,"CESIUM_primitive_outline")&&Oe.mesh(e,function(n){Oe.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.CESIUM_primitive_outline)){let s=o.CESIUM_primitive_outline.indices;l(s)&&(t[s]=!0)}})}),t};jh.buffer=function(e){let t={};return Oe.bufferView(e,function(n){l(n.buffer)&&(t[n.buffer]=!0),l(n.extensions)&&l(n.extensions.EXT_meshopt_compression)&&(t[n.extensions.EXT_meshopt_compression.buffer]=!0)}),t};jh.bufferView=function(e){let t={};if(Oe.accessor(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Oe.shader(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),Oe.image(e,function(n){l(n.bufferView)&&(t[n.bufferView]=!0)}),_r(e,"KHR_draco_mesh_compression")&&Oe.mesh(e,function(n){Oe.meshPrimitive(n,function(i){l(i.extensions)&&l(i.extensions.KHR_draco_mesh_compression)&&(t[i.extensions.KHR_draco_mesh_compression.bufferView]=!0)})}),_r(e,"EXT_feature_metadata")){let i=e.extensions.EXT_feature_metadata.featureTables;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let c=s[a];l(c.bufferView)&&(t[c.bufferView]=!0),l(c.arrayOffsetBufferView)&&(t[c.arrayOffsetBufferView]=!0),l(c.stringOffsetBufferView)&&(t[c.stringOffsetBufferView]=!0)}}}}if(_r(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTables;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];l(u.values)&&(t[u.values]=!0),l(u.arrayOffsets)&&(t[u.arrayOffsets]=!0),l(u.stringOffsets)&&(t[u.stringOffsets]=!0)}}}}return t};jh.image=function(e){let t={};return Oe.texture(e,function(n){l(n.source)&&(t[n.source]=!0),l(n.extensions)&&l(n.extensions.EXT_texture_webp)?t[n.extensions.EXT_texture_webp.source]=!0:l(n.extensions)&&l(n.extensions.KHR_texture_basisu)&&(t[n.extensions.KHR_texture_basisu.source]=!0)}),t};jh.mesh=function(e){let t={};return Oe.node(e,function(n){if(l(n.mesh&&l(e.meshes))){let i=e.meshes[n.mesh];l(i)&&l(i.primitives)&&i.primitives.length>0&&(t[n.mesh]=!0)}}),t};function vie(e,t,n){let i=e.nodes[t];return l(i.mesh)||l(i.camera)||l(i.skin)||l(i.weights)||l(i.extras)||l(i.extensions)&&Object.keys(i.extensions).length!==0||l(n[t])?!1:!l(i.children)||i.children.filter(function(o){return!vie(e,o,n)}).length===0}jh.node=function(e){let t={};return Oe.skin(e,function(n){l(n.skeleton)&&(t[n.skeleton]=!0),Oe.skinJoint(n,function(i){t[i]=!0})}),Oe.animation(e,function(n){Oe.animationChannel(n,function(i){l(i.target)&&l(i.target.node)&&(t[i.target.node]=!0)})}),Oe.technique(e,function(n){Oe.techniqueUniform(n,function(i){l(i.node)&&(t[i.node]=!0)})}),Oe.node(e,function(n,i){vie(e,i,t)||(t[i]=!0)}),t};jh.material=function(e){let t={};return Oe.mesh(e,function(n){Oe.meshPrimitive(n,function(i){l(i.material)&&(t[i.material]=!0)})}),t};jh.texture=function(e){let t={};if(Oe.material(e,function(n){nw(n,function(i){t[i]=!0})}),_r(e,"EXT_feature_metadata")){Oe.mesh(e,function(o){Oe.meshPrimitive(o,function(r){let s=r.extensions;if(l(s)&&l(s.EXT_feature_metadata)){let c=s.EXT_feature_metadata.featureIdTextures;if(l(c)){let u=c.length;for(let f=0;f<u;++f){let p=c[f].featureIds.texture;t[p.index]=!0}}}})});let i=e.extensions.EXT_feature_metadata.featureTextures;for(let o in i)if(i.hasOwnProperty(o)){let s=i[o].properties;if(l(s)){for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].texture;t[u.index]=!0}}}}if(_r(e,"EXT_mesh_features")&&Oe.mesh(e,function(n){Oe.meshPrimitive(n,function(i){let o=i.extensions;if(l(o)&&l(o.EXT_mesh_features)){let s=o.EXT_mesh_features.featureIds;if(l(s)){let a=s.length;for(let c=0;c<a;++c){let u=s[c];l(u.texture)&&(t[u.texture.index]=!0)}}}})}),_r(e,"EXT_structural_metadata")){let i=e.extensions.EXT_structural_metadata.propertyTextures;if(l(i)){let o=i.length;for(let r=0;r<o;++r){let a=i[r].properties;for(let c in a)if(a.hasOwnProperty(c)){let u=a[c];t[u.index]=!0}}}}return t};jh.sampler=function(e){let t={};return Oe.texture(e,function(n){l(n.sampler)&&(t[n.sampler]=!0)}),t};var CN=$Be;function e3e(e,t){let n={byteLength:t.length,extras:{_pipeline:{source:t}}},o={buffer:Us(e.buffers,n),byteOffset:0,byteLength:t.length};return Us(e.bufferViews,o)}var AN=e3e;function t3e(e,t){let n=ru(e,t),i=X.getSizeInBytes(t.componentType),o=cf(t.type),r=t.count,s=new Array(o*r);if(!l(t.bufferView))return s.fill(0);let a=e.bufferViews[t.bufferView],c=e.buffers[a.buffer].extras._pipeline.source,u=t.byteOffset+a.byteOffset+c.byteOffset,f=new DataView(c.buffer),d=new Array(o),p=bg(t.componentType);for(let g=0;g<r;++g){p(f,u,o,i,d);for(let m=0;m<o;++m)s[g*o+m]=d[m];u+=n}return s}var EN=t3e;function n3e(e){let t;return Oe.accessorWithSemantic(e,"JOINTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?SN(e,i,X.UNSIGNED_BYTE):t!==te.UNSIGNED_BYTE&&t!==te.UNSIGNED_SHORT&&SN(e,i,X.UNSIGNED_SHORT)}),Oe.accessorWithSemantic(e,"WEIGHTS_0",function(n){let i=e.accessors[n];t=i.componentType,t===te.BYTE?SN(e,i,X.UNSIGNED_BYTE):t===te.SHORT&&SN(e,i,X.UNSIGNED_SHORT)}),e}function SN(e,t,n){let i=X.createTypedArray(n,EN(e,t)),o=new Uint8Array(i.buffer);t.bufferView=AN(e,o),t.componentType=n,t.byteOffset=0}var vN=n3e;function i3e(e,t){return bC(e,t),t==="CESIUM_RTC"&&o3e(e),P9(e,t)}function o3e(e){Oe.technique(e,function(t){Oe.techniqueUniform(t,function(n){n.semantic==="CESIUM_RTC_MODELVIEW"&&(n.semantic="MODELVIEW")})})}function P9(e,t){if(Array.isArray(e)){let n=e.length;for(let i=0;i<n;++i)P9(e[i],t)}else if(e!==null&&typeof e=="object"&&e.constructor===Object){let n=e.extensions,i;l(n)&&(i=n[t],l(i)&&(delete n[t],Object.keys(n).length===0&&delete e.extensions));for(let o in e)Object.prototype.hasOwnProperty.call(e,o)&&P9(e[o],t);return i}}var CC=i3e;var wN={.8:u3e,"1.0":O3e,"2.0":void 0};function r3e(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.targetVersion,i=e.version;e.asset=y(e.asset,{version:"1.0"}),e.asset.version=y(e.asset.version,"1.0"),i=y(i,e.asset.version).toString(),Object.prototype.hasOwnProperty.call(wN,i)||(l(i)&&(i=i.substring(0,3)),Object.prototype.hasOwnProperty.call(wN,i)||(i="1.0"));let o=wN[i];for(;l(o)&&i!==n;)o(e,t),i=e.asset.version,o=wN[i];return t.keepLegacyExtensions||(L3e(e,t),N3e(e)),e}function Iie(e){let t=e.materials;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.instanceTechnique;l(o)&&(i.technique=o.technique,i.values=o.values,delete i.instanceTechnique)}}function s3e(e){let t=e.meshes;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let o=t[n].primitives;if(l(o)){let r=o.length;for(let s=0;s<r;++s){let a=o[s],c=y(a.primitive,te.TRIANGLES);a.mode=y(a.mode,c),delete a.primitive}}}}function a3e(e){let t=e.nodes,n=new h,i=new Le;for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o];if(l(r.rotation)){let a=r.rotation;h.fromArray(a,0,n),Le.fromAxisAngle(n,a[3],i),r.rotation=[i.x,i.y,i.z,i.w]}let s=r.instanceSkin;l(s)&&(r.skeletons=s.skeletons,r.skin=s.skin,r.meshes=s.meshes,delete r.instanceSkin)}}function c3e(e){let t=e.animations,n=e.accessors,i=e.bufferViews,o=e.buffers,r={},s=new h,a=new Le;for(let c in t)if(Object.prototype.hasOwnProperty.call(t,c)){let u=t[c],f=u.channels,d=u.parameters,p=u.samplers;if(l(f)){let g=f.length;for(let m=0;m<g;++m){let x=f[m];if(x.target.path==="rotation"){let b=d[p[x.sampler].output];if(l(r[b]))continue;r[b]=!0;let T=n[b],C=i[T.bufferView],S=o[C.buffer].extras._pipeline.source,v=S.byteOffset+C.byteOffset+T.byteOffset,D=T.componentType,R=T.count,O=cf(T.type),M=T.count*O,N=X.createArrayBufferView(D,S.buffer,v,M);for(let _=0;_<R;_++){let E=_*O;h.unpack(N,E,s);let w=N[E+3];Le.fromAxisAngle(s,w,a),Le.pack(a,N,E)}}}}}}function l3e(e){let t=e.techniques;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.passes;if(l(o)){let r=y(i.pass,"defaultPass");if(Object.prototype.hasOwnProperty.call(o,r)){let s=o[r],a=s.instanceProgram;i.attributes=y(i.attributes,a.attributes),i.program=y(i.program,a.program),i.uniforms=y(i.uniforms,a.uniforms),i.states=y(i.states,s.states)}delete i.passes,delete i.pass}}}function u3e(e){l(e.asset)||(e.asset={});let t=e.asset;if(t.version="1.0",typeof t.profile=="string"){let n=t.profile.split(" ");t.profile={api:n[0],version:n[1]}}else t.profile={};if(l(e.version)&&delete e.version,Iie(e),s3e(e),a3e(e),c3e(e),l3e(e),l(e.allExtensions)&&(e.extensionsUsed=e.allExtensions,delete e.allExtensions),l(e.lights)){let n=y(e.extensions,{});e.extensions=n;let i=y(n.KHR_materials_common,{});n.KHR_materials_common=i,i.lights=e.lights,delete e.lights,_d(e,"KHR_materials_common")}}function f3e(e){let t=e.animations;for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n)){let i=t[n],o=i.parameters;if(l(o)){let r=i.samplers;for(let s in r)if(Object.prototype.hasOwnProperty.call(r,s)){let a=r[s];a.input=o[a.input],a.output=o[a.output]}delete i.parameters}}}function wie(e,t){let n=[];for(let i in e)if(Object.prototype.hasOwnProperty.call(e,i)){let o=e[i];t[i]=n.length,n.push(o),l(o.name)||(o.name=i)}return n}function d3e(e){let t,n={accessors:{},animations:{},buffers:{},bufferViews:{},cameras:{},images:{},materials:{},meshes:{},nodes:{},programs:{},samplers:{},scenes:{},shaders:{},skins:{},textures:{},techniques:{}},i,o={},r=e.nodes;for(let s in r)Object.prototype.hasOwnProperty.call(r,s)&&(i=r[s].jointName,l(i)&&(o[i]=s));for(let s in e)if(Object.prototype.hasOwnProperty.call(e,s)&&l(n[s])){let a={},c=e[s];e[s]=wie(c,a),n[s]=a}for(i in o)Object.prototype.hasOwnProperty.call(o,i)&&(o[i]=n.nodes[o[i]]);l(e.scene)&&(e.scene=n.scenes[e.scene]),Oe.bufferView(e,function(s){l(s.buffer)&&(s.buffer=n.buffers[s.buffer])}),Oe.accessor(e,function(s){l(s.bufferView)&&(s.bufferView=n.bufferViews[s.bufferView])}),Oe.shader(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Oe.program(e,function(s){l(s.vertexShader)&&(s.vertexShader=n.shaders[s.vertexShader]),l(s.fragmentShader)&&(s.fragmentShader=n.shaders[s.fragmentShader])}),Oe.technique(e,function(s){l(s.program)&&(s.program=n.programs[s.program]),Oe.techniqueParameter(s,function(a){l(a.node)&&(a.node=n.nodes[a.node]);let c=a.value;typeof c=="string"&&(a.value={index:n.textures[c]})})}),Oe.mesh(e,function(s){Oe.meshPrimitive(s,function(a){l(a.indices)&&(a.indices=n.accessors[a.indices]),Oe.meshPrimitiveAttribute(a,function(c,u){a.attributes[u]=n.accessors[c]}),l(a.material)&&(a.material=n.materials[a.material])})}),Oe.node(e,function(s){let a=s.children;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}if(l(s.meshes)){let c=s.meshes,u=c.length;if(u>0)for(s.mesh=n.meshes[c[0]],t=1;t<u;++t){let f={mesh:n.meshes[c[t]]},d=Us(e.nodes,f);l(a)||(a=[],s.children=a),a.push(d)}delete s.meshes}if(l(s.camera)&&(s.camera=n.cameras[s.camera]),l(s.skin)&&(s.skin=n.skins[s.skin]),l(s.skeletons)){let c=s.skeletons;if(c.length>0&&l(s.skin)){let f=e.skins[s.skin];f.skeleton=n.nodes[c[0]]}delete s.skeletons}l(s.jointName)&&delete s.jointName}),Oe.skin(e,function(s){l(s.inverseBindMatrices)&&(s.inverseBindMatrices=n.accessors[s.inverseBindMatrices]);let a=s.jointNames;if(l(a)){let c=[],u=a.length;for(t=0;t<u;++t)c[t]=o[a[t]];s.joints=c,delete s.jointNames}}),Oe.scene(e,function(s){let a=s.nodes;if(l(a)){let c=a.length;for(t=0;t<c;++t)a[t]=n.nodes[a[t]]}}),Oe.animation(e,function(s){let a={};s.samplers=wie(s.samplers,a),Oe.animationSampler(s,function(c){c.input=n.accessors[c.input],c.output=n.accessors[c.output]}),Oe.animationChannel(s,function(c){c.sampler=a[c.sampler];let u=c.target;l(u)&&(u.node=n.nodes[u.id],delete u.id)})}),Oe.material(e,function(s){l(s.technique)&&(s.technique=n.techniques[s.technique]),Oe.materialValue(s,function(c,u){typeof c=="string"&&(s.values[u]={index:n.textures[c]})});let a=s.extensions;if(l(a)){let c=a.KHR_materials_common;l(c)&&l(c.values)&&Oe.materialValue(c,function(u,f){typeof u=="string"&&(c.values[f]={index:n.textures[u]})})}}),Oe.image(e,function(s){let a=s.extensions;if(l(a)){let c=a.KHR_binary_glTF;l(c)&&(s.bufferView=n.bufferViews[c.bufferView],s.mimeType=c.mimeType,delete a.KHR_binary_glTF),Object.keys(a).length===0&&delete s.extensions}}),Oe.texture(e,function(s){l(s.sampler)&&(s.sampler=n.samplers[s.sampler]),l(s.source)&&(s.source=n.images[s.source])})}function h3e(e){Oe.animation(e,function(t){Oe.animationSampler(t,function(n){delete n.name})})}function m3e(e){for(let t in e)if(Object.prototype.hasOwnProperty.call(e,t)){let n=e[t];Array.isArray(n)&&n.length===0&&delete e[t]}Oe.node(e,function(t){l(t.children)&&t.children.length===0&&delete t.children})}function p3e(e){let t=e.asset;delete t.profile,delete t.premultipliedAlpha}var _3e={CESIUM_RTC:!0,KHR_materials_common:!0,WEB3D_quantized_attributes:!0};function g3e(e){let t=e.extensionsUsed;if(e.extensionsRequired=y(e.extensionsRequired,[]),l(t)){let n=t.length;for(let i=0;i<n;++i){let o=t[i];l(_3e[o])&&e.extensionsRequired.push(o)}}}function y3e(e){Oe.buffer(e,function(t){delete t.type})}function x3e(e){Oe.texture(e,function(t){delete t.format,delete t.internalFormat,delete t.target,delete t.type})}function b3e(e){Oe.mesh(e,function(t){Oe.meshPrimitive(t,function(n){Oe.meshPrimitiveAttribute(n,function(i,o){o==="TEXCOORD"?n.attributes.TEXCOORD_0=i:o==="COLOR"&&(n.attributes.COLOR_0=i)}),delete n.attributes.TEXCOORD,delete n.attributes.COLOR})}),Oe.technique(e,function(t){Oe.techniqueParameter(t,function(n){let i=n.semantic;l(i)&&(i==="TEXCOORD"?n.semantic="TEXCOORD_0":i==="COLOR"&&(n.semantic="COLOR_0"))})})}var T3e={POSITION:!0,NORMAL:!0,TANGENT:!0},C3e={COLOR:"COLOR",JOINT:"JOINTS",JOINTS:"JOINTS",TEXCOORD:"TEXCOORD",WEIGHT:"WEIGHTS",WEIGHTS:"WEIGHTS"};function A3e(e){let t={};Oe.mesh(e,function(n){Oe.meshPrimitive(n,function(i){Oe.meshPrimitiveAttribute(i,function(o,r){if(r.charAt(0)!=="_"){let s=r.search(/_[0-9]+/g),a=r,c="_0";s>=0&&(a=r.substring(0,s),c=r.substring(s));let u,f=C3e[a];l(f)?(u=f+c,t[r]=u):l(T3e[a])||(u=`_${r}`,t[r]=u)}});for(let o in t)if(Object.prototype.hasOwnProperty.call(t,o)){let r=t[o],s=i.attributes[o];l(s)&&(delete i.attributes[o],i.attributes[r]=s)}})}),Oe.technique(e,function(n){Oe.techniqueParameter(n,function(i){let o=t[i.semantic];l(o)&&(i.semantic=o)})})}function E3e(e){Oe.camera(e,function(t){let n=t.perspective;if(l(n)){let i=n.aspectRatio;l(i)&&i===0&&delete n.aspectRatio;let o=n.yfov;l(o)&&o===0&&(n.yfov=1)}})}function R9(e,t){return l(t.byteStride)&&t.byteStride!==0?t.byteStride:ru(e,t)}function S3e(e){Oe.buffer(e,function(t){l(t.byteLength)||(t.byteLength=t.extras._pipeline.source.length)}),Oe.accessor(e,function(t){let n=t.bufferView;if(l(n)){let i=e.bufferViews[n],o=R9(e,t),r=t.byteOffset+t.count*o;i.byteLength=Math.max(y(i.byteLength,0),r)}})}function v3e(e){let t,n,i,o=e.bufferViews,r={};Oe.accessorContainingVertexAttributeData(e,function(a){let c=e.accessors[a];l(c.bufferView)&&(r[c.bufferView]=!0)});let s={};Oe.accessor(e,function(a){l(a.bufferView)&&(s[a.bufferView]=y(s[a.bufferView],[]),s[a.bufferView].push(a))});for(let a in s)if(Object.prototype.hasOwnProperty.call(s,a)){i=o[a];let c=s[a];c.sort(function(p,g){return p.byteOffset-g.byteOffset});let u=0,f=0,d=c.length;for(t=0;t<d;++t){let p=c[t],g=R9(e,p),m=p.byteOffset,x=p.count*g;delete p.byteStride;let b=t<d-1,T=b?R9(e,c[t+1]):void 0;if(g!==T){let C=We(i,!0);r[a]&&(C.byteStride=g),C.byteOffset+=u,C.byteLength=m+x-u;let A=Us(o,C);for(n=f;n<=t;++n)p=c[n],p.bufferView=A,p.byteOffset=p.byteOffset-u;u=b?c[t+1].byteOffset:void 0,f=t+1}}}CN(e,["accessor","bufferView","buffer"])}function w3e(e){Oe.accessorWithSemantic(e,"POSITION",function(t){let n=e.accessors[t];if(!l(n.min)||!l(n.max)){let i=TC(e,n);n.min=i.min,n.max=i.max}})}function Pie(e){return(!l(e.children)||e.children.length===0)&&(!l(e.meshes)||e.meshes.length===0)&&!l(e.camera)&&!l(e.skin)&&!l(e.skeletons)&&!l(e.jointName)&&(!l(e.translation)||h.fromArray(e.translation).equals(h.ZERO))&&(!l(e.scale)||h.fromArray(e.scale).equals(new h(1,1,1)))&&(!l(e.rotation)||oe.fromArray(e.rotation).equals(new oe(0,0,0,1)))&&(!l(e.matrix)||F.fromColumnMajorArray(e.matrix).equals(F.IDENTITY))&&!l(e.extensions)&&!l(e.extras)}function Oie(e,t){Oe.scene(e,function(n){let i=n.nodes;if(l(i)){let o=i.length;for(let r=o;r>=0;--r)if(i[r]===t){i.splice(r,1);return}}}),Oe.node(e,function(n,i){if(l(n.children)){let o=n.children.indexOf(t);o>-1&&(n.children.splice(o,1),Pie(n)&&Oie(e,i))}}),delete e.nodes[t]}function D3e(e){return Oe.node(e,function(t,n){Pie(t)&&Oie(e,n)}),e}function I3e(e){Oe.animation(e,function(t){Oe.animationSampler(t,function(n){let i=e.accessors[n.input];if(!l(i.min)||!l(i.max)){let o=TC(e,i);i.min=o.min,i.max=o.max}})})}function P3e(e){Oe.accessor(e,function(t){if(l(t.min)||l(t.max)){let n=TC(e,t);l(t.min)&&(t.min=n.min),l(t.max)&&(t.max=n.max)}})}function O3e(e){e.asset=y(e.asset,{}),e.asset.version="2.0",Iie(e),f3e(e),D3e(e),d3e(e),h3e(e),p3e(e),g3e(e),S3e(e),v3e(e),w3e(e),I3e(e),P3e(e),y3e(e),x3e(e),b3e(e),A3e(e),vN(e),E3e(e),xN(e),TN(e),m3e(e)}var R3e=["u_tex","u_diffuse","u_emission","u_diffuse_tex"],M3e=["u_diffuse","u_diffuse_mat"];function M9(e){e.pbrMetallicRoughness=l(e.pbrMetallicRoughness)?e.pbrMetallicRoughness:{},e.pbrMetallicRoughness.roughnessFactor=1,e.pbrMetallicRoughness.metallicFactor=0}function L9(e){return l(e.index)}function N9(e){return Array.isArray(e)&&e.length===4}function Rie(e){let t=new Array(4);t[3]=e[3];for(let n=0;n<3;n++){let i=e[n];i<=.04045?t[n]=e[n]*.07739938080495357:t[n]=Math.pow((i+.055)*.9478672985781991,2.4)}return t}function L3e(e,t){t=y(t,y.EMPTY_OBJECT);let n=y(t.baseColorTextureNames,R3e),i=y(t.baseColorFactorNames,M3e);Oe.material(e,function(o){Oe.materialValue(o,function(r,s){n.indexOf(s)!==-1&&L9(r)?(M9(o),o.pbrMetallicRoughness.baseColorTexture=r):i.indexOf(s)!==-1&&N9(r)&&(M9(o),o.pbrMetallicRoughness.baseColorFactor=Rie(r))})}),CC(e,"KHR_techniques_webgl"),CC(e,"KHR_blend")}function O9(e,t){l(t)&&(N9(t)?e.pbrMetallicRoughness.baseColorFactor=Rie(t):L9(t)&&(e.pbrMetallicRoughness.baseColorTexture=t))}function Die(e,t){l(t)&&(N9(t)?e.emissiveFactor=t.slice(0,3):L9(t)&&(e.emissiveTexture=t))}function N3e(e){Oe.material(e,function(t){let n=y(t.extensions,y.EMPTY_OBJECT).KHR_materials_common;if(!l(n))return;let i=y(n.values,{}),o=i.ambient,r=i.diffuse,s=i.emission,a=i.transparency,c=n.doubleSided,u=n.transparent;M9(t),n.technique==="CONSTANT"?(_d(e,"KHR_materials_unlit"),t.extensions=l(t.extensions)?t.extensions:{},t.extensions.KHR_materials_unlit={},O9(t,s),O9(t,o)):(O9(t,r),Die(t,o),Die(t,s)),l(c)&&(t.doubleSided=c),l(a)&&(l(t.pbrMetallicRoughness.baseColorFactor)?t.pbrMetallicRoughness.baseColorFactor[3]*=a:t.pbrMetallicRoughness.baseColorFactor=[1,1,1,a]),l(u)&&(t.alphaMode=u?"BLEND":"OPAQUE")}),CC(e,"KHR_materials_common")}var DN=r3e;var ni={POSITION:"POSITION",NORMAL:"NORMAL",TANGENT:"TANGENT",TEXCOORD:"TEXCOORD",COLOR:"COLOR",JOINTS:"JOINTS",WEIGHTS:"WEIGHTS",FEATURE_ID:"_FEATURE_ID"};function F3e(e){switch(e){case ni.POSITION:return"positionMC";case ni.NORMAL:return"normalMC";case ni.TANGENT:return"tangentMC";case ni.TEXCOORD:return"texCoord";case ni.COLOR:return"color";case ni.JOINTS:return"joints";case ni.WEIGHTS:return"weights";case ni.FEATURE_ID:return"featureId"}}ni.hasSetIndex=function(e){switch(e){case ni.POSITION:case ni.NORMAL:case ni.TANGENT:return!1;case ni.TEXCOORD:case ni.COLOR:case ni.JOINTS:case ni.WEIGHTS:case ni.FEATURE_ID:return!0}};ni.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"POSITION":return ni.POSITION;case"NORMAL":return ni.NORMAL;case"TANGENT":return ni.TANGENT;case"TEXCOORD":return ni.TEXCOORD;case"COLOR":return ni.COLOR;case"JOINTS":return ni.JOINTS;case"WEIGHTS":return ni.WEIGHTS;case"_FEATURE_ID":return ni.FEATURE_ID}};ni.fromPntsSemantic=function(e){switch(e){case"POSITION":case"POSITION_QUANTIZED":return ni.POSITION;case"RGBA":case"RGB":case"RGB565":return ni.COLOR;case"NORMAL":case"NORMAL_OCT16P":return ni.NORMAL;case"BATCH_ID":return ni.FEATURE_ID}};ni.getGlslType=function(e){switch(e){case ni.POSITION:case ni.NORMAL:case ni.TANGENT:return"vec3";case ni.TEXCOORD:return"vec2";case ni.COLOR:return"vec4";case ni.JOINTS:return"ivec4";case ni.WEIGHTS:return"vec4";case ni.FEATURE_ID:return"int"}};ni.getVariableName=function(e,t){let n=F3e(e);return l(t)&&(n+=`_${t}`),n};var St=Object.freeze(ni);function tc(){}tc.getError=function(e,t,n){let i=`Failed to load ${e}: ${t}`;l(n)&&l(n.message)&&(i+=` +${n.message}`);let o=new se(i);return l(n)&&(o.stack=`Original stack: ${n.stack} Handler stack: -${o.stack}`),o};Ja.getNodeTransform=function(e){return l(e.matrix)?e.matrix:F.fromTranslationQuaternionRotationScale(l(e.translation)?e.translation:h.ZERO,l(e.rotation)?e.rotation:Ne.IDENTITY,l(e.scale)?e.scale:h.ONE)};Ja.getAttributeBySemantic=function(e,t,n){let i=e.attributes,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=l(n)?s.setIndex===n:!0;if(s.semantic===t&&a)return s}};Ja.getAttributeByName=function(e,t){let n=e.attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.name===t)return r}};Ja.getFeatureIdsByLabel=function(e,t){for(let n=0;n<e.length;n++){let i=e[n];if(i.positionalLabel===t||i.label===t)return i}};Ja.hasQuantizedAttributes=function(e){if(!l(e))return!1;for(let t=0;t<e.length;t++){let n=e[t];if(l(n.quantization))return!0}return!1};Ja.getAttributeInfo=function(e){let t=e.semantic,n=e.setIndex,i,o=!1;l(t)?(i=Ct.getVariableName(t,n),o=!0):(i=e.name,i=i.replace(/^_/,""),i=i.toLowerCase());let r=/^color_\d+$/.test(i),s=e.type,a=rn.getGlslType(s);r&&(a="vec4");let c=l(e.quantization),u;return c&&(u=r?"vec4":rn.getGlslType(e.quantization.type)),{attribute:e,isQuantized:c,variableName:i,hasSemantic:o,glslType:a,quantizedGlslType:u}};var T3e=new h,C3e=new h;Ja.getPositionMinMax=function(e,t,n){let i=Ja.getAttributeBySemantic(e,"POSITION"),o=i.max,r=i.min;return l(n)&&l(t)&&(r=h.add(r,t,C3e),o=h.add(o,n,T3e)),{min:r,max:o}};Ja.getAxisCorrectionMatrix=function(e,t,n){return n=F.clone(F.IDENTITY,n),e===Mo.Y?n=F.clone(Mo.Y_UP_TO_Z_UP,n):e===Mo.X&&(n=F.clone(Mo.X_UP_TO_Z_UP,n)),t===Mo.Z&&(n=F.multiplyTransformation(n,Mo.Z_UP_TO_X_UP,n)),n};var A3e=new Z;Ja.getCullFace=function(e,t){if(!Fe.isTriangles(t))return yi.BACK;let n=F.getMatrix3(e,A3e);return Z.determinant(n)<0?yi.FRONT:yi.BACK};Ja.sanitizeGlslIdentifier=function(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g,"_");return t=t.replace(/^gl_/,""),/^\d/.test(t)&&(t=`_${t}`),t};Ja.supportedExtensions={AGI_articulations:!0,CESIUM_primitive_outline:!0,CESIUM_RTC:!0,EXT_feature_metadata:!0,EXT_instance_features:!0,EXT_mesh_features:!0,EXT_mesh_gpu_instancing:!0,EXT_meshopt_compression:!0,EXT_structural_metadata:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_draco_mesh_compression:!0,KHR_techniques_webgl:!0,KHR_materials_common:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_materials_specular:!0,KHR_materials_anisotropy:!0,KHR_materials_clearcoat:!0,KHR_materials_unlit:!0,KHR_mesh_quantization:!0,KHR_texture_basisu:!0,KHR_texture_transform:!0,WEB3D_quantized_attributes:!0};Ja.checkSupportedExtensions=function(e){let t=e.length;for(let n=0;n<t;n++){let i=e[n];if(!Ja.supportedExtensions[i])throw new ce(`Unsupported glTF Extension: ${i}`)}};var $t=Ja;function _g(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltfResource,i=e.baseResource,o=e.typedArray,r=e.gltfJson,s=e.cacheKey;this._resourceCache=t,this._gltfResource=n,this._baseResource=i,this._typedArray=o,this._gltfJson=r,this._cacheKey=s,this._gltf=void 0,this._bufferLoaders=[],this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(_g.prototype=Object.create(Yi.prototype),_g.prototype.constructor=_g);Object.defineProperties(_g.prototype,{cacheKey:{get:function(){return this._cacheKey}},gltf:{get:function(){return this._gltf}}});_g.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=_t.LOADING,l(this._gltfJson)?(this._promise=Cie(this,this._gltfJson),this._promise):l(this._typedArray)?(this._promise=Aie(this,this._typedArray),this._promise):(this._promise=E3e(this),this._promise))};async function E3e(e){let t;try{let n=await e._fetchGltf();if(e.isDestroyed())return;t=new Uint8Array(n)}catch(n){if(e.isDestroyed())return;D9(e,n)}return Aie(e,t)}function D9(e,t){e.unload(),e._state=_t.FAILED;let n=`Failed to load glTF: ${e._gltfResource.url}`;throw e.getError(n,t)}async function S3e(e,t){if(l(t.asset)&&t.asset.version==="2.0"&&!pr(t,"KHR_techniques_webgl")&&!pr(t,"KHR_materials_common"))return Promise.resolve();let n=[];Ie.buffer(t,function(i){if(!l(i.extras._pipeline.source)&&l(i.uri)){let o=e._baseResource.getDerivedResource({url:i.uri}),s=e._resourceCache.getExternalBufferLoader({resource:o});e._bufferLoaders.push(s),n.push(s.load().then(function(){s.isDestroyed()||(i.extras._pipeline.source=s.typedArray)}))}}),await Promise.all(n),SN(t)}function w3e(e){let t=[];return Ie.buffer(e,function(n){let i=n.uri;!l(n.extras._pipeline.source)&&l(i)&&L_(i)&&(delete n.uri,t.push(ve.fetchArrayBuffer(i).then(function(o){n.extras._pipeline.source=new Uint8Array(o)})))}),Promise.all(t)}function v3e(e,t){let n=[];return Ie.buffer(t,function(i,o){let r=i.extras._pipeline.source;if(l(r)&&!l(i.uri)){let a=e._resourceCache.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:o,typedArray:r});e._bufferLoaders.push(a),n.push(a.load())}}),Promise.all(n)}async function Cie(e,t){try{ix(t),await w3e(t),await S3e(e,t),uN(t),await v3e(e,t),pN(t);let n=t.asset.version;if(n!=="1.0"&&n!=="2.0")throw new ce(`Unsupported glTF version: ${n}`);let i=t.extensionsRequired;return l(i)&&$t.checkSupportedExtensions(i),e._gltf=t,e._state=_t.READY,e}catch(n){if(e.isDestroyed())return;D9(e,n)}}async function Aie(e,t){let n;try{Vh(t)==="glTF"?n=hN(t):n=Lo(t)}catch(i){if(e.isDestroyed())return;D9(e,i)}return Cie(e,n)}_g.prototype.unload=function(){let e=this._bufferLoaders,t=e.length;for(let n=0;n<t;++n)e[n]=!e[n].isDestroyed()&&this._resourceCache.unload(e[n]);this._bufferLoaders.length=0,this._gltf=void 0};_g.prototype._fetchGltf=function(){return this._gltfResource.fetchArrayBuffer()};var $w=_g;var D3e={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},Ap=Object.freeze(D3e);var bo={};function I3e(){this.octEncoded=!1,this.octEncodedZXY=!1,this.normalizationRange=void 0,this.quantizedVolumeOffset=void 0,this.quantizedVolumeDimensions=void 0,this.quantizedVolumeStepSize=void 0,this.componentDatatype=void 0,this.type=void 0}function P3e(){this.name=void 0,this.semantic=void 0,this.setIndex=void 0,this.componentDatatype=void 0,this.type=void 0,this.normalized=!1,this.count=void 0,this.min=void 0,this.max=void 0,this.constant=void 0,this.quantization=void 0,this.typedArray=void 0,this.buffer=void 0,this.byteOffset=0,this.byteStride=void 0}function R3e(){this.indexDatatype=void 0,this.count=void 0,this.buffer=void 0,this.typedArray=void 0}function O3e(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.setIndex=void 0,this.label=void 0,this.positionalLabel=void 0}function M3e(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.offset=0,this.repeat=void 0,this.label=void 0,this.positionalLabel=void 0}function L3e(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.textureReader=void 0,this.label=void 0,this.positionalLabel=void 0}function N3e(){this.attributes=[]}function F3e(){this.attributes=[],this.morphTargets=[],this.indices=void 0,this.material=void 0,this.primitiveType=void 0,this.featureIds=[],this.propertyTextureIds=[],this.propertyAttributeIds=[],this.outlineCoordinates=void 0}function B3e(){this.attributes=[],this.featureIds=[],this.transformInWorldSpace=!1}function k3e(){this.index=void 0,this.joints=[],this.inverseBindMatrices=[]}function V3e(){this.name=void 0,this.index=void 0,this.children=[],this.primitives=[],this.instances=void 0,this.skin=void 0,this.matrix=void 0,this.translation=void 0,this.rotation=void 0,this.scale=void 0,this.morphWeights=[],this.articulationName=void 0}function U3e(){this.nodes=[]}var z3e={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};function H3e(){this.input=[],this.interpolation=void 0,this.output=[]}function G3e(){this.node=void 0,this.path=void 0}function W3e(){this.sampler=void 0,this.target=void 0}function j3e(){this.name=void 0,this.samplers=[],this.channels=[]}function q3e(){this.name=void 0,this.type=void 0,this.minimumValue=void 0,this.maximumValue=void 0,this.initialValue=void 0}function Y3e(){this.name=void 0,this.stages=[]}function Eie(){this.credits=[]}function X3e(){this.asset=new Eie,this.scene=void 0,this.nodes=[],this.skins=[],this.animations=[],this.articulations=[],this.structuralMetadata=void 0,this.upAxis=void 0,this.forwardAxis=void 0,this.transform=F.clone(F.IDENTITY),this.extensions={}}function K3e(){this.texture=void 0,this.index=void 0,this.texCoord=0,this.transform=Z.clone(Z.IDENTITY),this.scale=1,this.channels=void 0}function gg(){this.baseColorTexture=void 0,this.metallicRoughnessTexture=void 0,this.baseColorFactor=oe.clone(gg.DEFAULT_BASE_COLOR_FACTOR),this.metallicFactor=gg.DEFAULT_METALLIC_FACTOR,this.roughnessFactor=gg.DEFAULT_ROUGHNESS_FACTOR}gg.DEFAULT_BASE_COLOR_FACTOR=oe.ONE;gg.DEFAULT_METALLIC_FACTOR=1;gg.DEFAULT_ROUGHNESS_FACTOR=1;function ox(){this.diffuseTexture=void 0,this.specularGlossinessTexture=void 0,this.diffuseFactor=oe.clone(ox.DEFAULT_DIFFUSE_FACTOR),this.specularFactor=h.clone(ox.DEFAULT_SPECULAR_FACTOR),this.glossinessFactor=ox.DEFAULT_GLOSSINESS_FACTOR}ox.DEFAULT_DIFFUSE_FACTOR=oe.ONE;ox.DEFAULT_SPECULAR_FACTOR=h.ONE;ox.DEFAULT_GLOSSINESS_FACTOR=1;function Zw(){this.specularFactor=Zw.DEFAULT_SPECULAR_FACTOR,this.specularTexture=void 0,this.specularColorFactor=h.clone(Zw.DEFAULT_SPECULAR_COLOR_FACTOR),this.specularColorTexture=void 0}Zw.DEFAULT_SPECULAR_FACTOR=1;Zw.DEFAULT_SPECULAR_COLOR_FACTOR=h.ONE;function Qw(){this.anisotropyStrength=Qw.DEFAULT_ANISOTROPY_STRENGTH,this.anisotropyRotation=Qw.DEFAULT_ANISOTROPY_ROTATION,this.anisotropyTexture=void 0}Qw.DEFAULT_ANISOTROPY_STRENGTH=0;Qw.DEFAULT_ANISOTROPY_ROTATION=0;function Jw(){this.clearcoatFactor=Jw.DEFAULT_CLEARCOAT_FACTOR,this.clearcoatTexture=void 0,this.clearcoatRoughnessFactor=Jw.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,this.clearcoatRoughnessTexture=void 0,this.clearcoatNormalTexture=void 0}Jw.DEFAULT_CLEARCOAT_FACTOR=0;Jw.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR=0;function I9(){this.metallicRoughness=new gg,this.specularGlossiness=void 0,this.specular=void 0,this.anisotropy=void 0,this.clearcoat=void 0,this.emissiveTexture=void 0,this.normalTexture=void 0,this.occlusionTexture=void 0,this.emissiveFactor=h.clone(I9.DEFAULT_EMISSIVE_FACTOR),this.alphaMode=Ap.OPAQUE,this.alphaCutoff=.5,this.doubleSided=!1,this.unlit=!1}I9.DEFAULT_EMISSIVE_FACTOR=h.ZERO;bo.Quantization=I3e;bo.Attribute=P3e;bo.Indices=R3e;bo.FeatureIdAttribute=O3e;bo.FeatureIdTexture=L3e;bo.FeatureIdImplicitRange=M3e;bo.MorphTarget=N3e;bo.Primitive=F3e;bo.Instances=B3e;bo.Skin=k3e;bo.Node=V3e;bo.Scene=U3e;bo.AnimatedPropertyType=Object.freeze(z3e);bo.AnimationSampler=H3e;bo.AnimationTarget=G3e;bo.AnimationChannel=W3e;bo.Animation=j3e;bo.ArticulationStage=q3e;bo.Articulation=Y3e;bo.Asset=Eie;bo.Components=X3e;bo.TextureReader=K3e;bo.MetallicRoughness=gg;bo.SpecularGlossiness=ox;bo.Specular=Zw;bo.Anisotropy=Qw;bo.Clearcoat=Jw;bo.Material=I9;var Tn=bo;var wN={};wN.getImageIdFromTexture=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureId:n,supportedImageFormats:i}=e,o=t.textures[n],r=o.extensions;if(l(r)){if(i.webp&&l(r.EXT_texture_webp))return r.EXT_texture_webp.source;if(i.basis&&l(r.KHR_texture_basisu))return r.KHR_texture_basisu.source}return o.source};wN.createSampler=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,compressedTextureNoMipmap:i=!1}=e,o=wn.REPEAT,r=wn.REPEAT,s=en.LINEAR,a=fi.LINEAR,c=n.index,f=t.textures[c].sampler;if(l(f)){let d=t.samplers[f];o=y(d.wrapS,o),r=y(d.wrapT,r),s=y(d.minFilter,s),a=y(d.magFilter,a)}return i&&s!==en.LINEAR&&s!==en.NEAREST&&(s===en.NEAREST_MIPMAP_NEAREST||s===en.NEAREST_MIPMAP_LINEAR?s=en.NEAREST:s=en.LINEAR),new tn({wrapS:o,wrapT:r,minificationFilter:s,magnificationFilter:a})};var $3e=new U(1,1);wN.createModelTextureReader=function(e){e=y(e,y.EMPTY_OBJECT);let{textureInfo:t,channels:n,texture:i}=e,o=y(t.texCoord,0),r,s=t.extensions?.KHR_texture_transform;if(l(s)){o=y(s.texCoord,o);let c=l(s.offset)?U.unpack(s.offset):U.ZERO,u=y(s.rotation,0),f=l(s.scale)?U.unpack(s.scale):$3e;u=-u,r=new Z(Math.cos(u)*f.x,-Math.sin(u)*f.y,c.x,Math.sin(u)*f.x,Math.cos(u)*f.y,c.y,0,0,1)}let a=new Tn.TextureReader;return a.index=t.index,a.texture=i,a.texCoord=o,a.scale=t.scale,a.transform=r,a.channels=n,a};var nu=wN;function Z3e(e){let t=document.createElement("canvas");return t.width=P.nextPowerOfTwo(e.width),t.height=P.nextPowerOfTwo(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),t}var rx=Z3e;function yg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.textureInfo,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.cacheKey,c=y(e.asynchronous,!0),u=i.index,f=nu.getImageIdFromTexture({gltf:n,textureId:u,supportedImageFormats:s});this._resourceCache=t,this._gltf=n,this._textureInfo=i,this._imageId=f,this._gltfResource=o,this._baseResource=r,this._cacheKey=a,this._asynchronous=c,this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(yg.prototype=Object.create(Yi.prototype),yg.prototype.constructor=yg);Object.defineProperties(yg.prototype,{cacheKey:{get:function(){return this._cacheKey}},texture:{get:function(){return this._texture}}});var Q3e=new P9;async function J3e(e){let t=e._resourceCache;try{let n=t.getImageLoader({gltf:e._gltf,imageId:e._imageId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._imageLoader=n,await n.load(),e.isDestroyed()?void 0:(e._image=n.image,e._mipLevels=n.mipLevels,e._state=_t.LOADED,e)}catch(n){if(e.isDestroyed())return;throw e.unload(),e._state=_t.FAILED,e.getError("Failed to load texture",n)}}yg.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=_t.LOADING,this._promise=J3e(this),this._promise)};function P9(){this.gltf=void 0,this.textureInfo=void 0,this.image=void 0,this.context=void 0,this.texture=void 0}P9.prototype.set=function(e,t,n,i,o){this.gltf=e,this.textureInfo=t,this.image=n,this.mipLevels=i,this.context=o};P9.prototype.execute=function(){this.texture=Sie(this.gltf,this.textureInfo,this.image,this.mipLevels,this.context)};function Sie(e,t,n,i,o){let r=n.internalFormat,s=!1;ct.isCompressedFormat(r)&&!l(i)&&(s=!0);let a=nu.createSampler({gltf:e,textureInfo:t,compressedTextureNoMipmap:s}),c=a.minificationFilter,u=a.wrapS,f=a.wrapT,d=c===en.NEAREST_MIPMAP_NEAREST||c===en.NEAREST_MIPMAP_LINEAR||c===en.LINEAR_MIPMAP_NEAREST||c===en.LINEAR_MIPMAP_LINEAR,p=!l(r)&&d,g=p||u===wn.REPEAT||u===wn.MIRRORED_REPEAT||f===wn.REPEAT||f===wn.MIRRORED_REPEAT,m=!P.isPowerOfTwo(n.width)||!P.isPowerOfTwo(n.height),x=g&&m,b;return l(r)?(!o.webgl2&&ct.isCompressedFormat(r)&&m&&g&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly."),b=Mt.create({context:o,source:{arrayBufferView:n.bufferView,mipLevels:i},width:n.width,height:n.height,pixelFormat:n.internalFormat,sampler:a})):(x&&(n=rx(n)),b=Mt.create({context:o,source:n,sampler:a,flipY:!1,skipColorSpaceConversion:!0})),p&&b.generateMipmap(),b}yg.prototype.process=function(e){if(this._state===_t.READY)return!0;if(this._state!==_t.LOADED&&this._state!==_t.PROCESSING||l(this._texture)||!l(this._image))return!1;this._state=_t.PROCESSING;let t;if(this._asynchronous){let n=Q3e;if(n.set(this._gltf,this._textureInfo,this._image,this._mipLevels,e.context),!e.jobScheduler.execute(n,Qa.TEXTURE))return;t=n.texture}else t=Sie(this._gltf,this._textureInfo,this._image,this._mipLevels,e.context);return this.unload(),this._texture=t,this._state=_t.READY,this._resourceCache.statistics.addTextureLoader(this),!0};yg.prototype.unload=function(){l(this._texture)&&this._texture.destroy(),l(this._imageLoader)&&!this._imageLoader.isDestroyed()&&this._resourceCache.unload(this._imageLoader),this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._gltf=void 0};var ev=yg;function xg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.gltfResource,o=e.baseResource,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=e.accessorId,u=e.cacheKey,f=y(e.asynchronous,!0),d=y(e.loadBuffer,!1),p=y(e.loadTypedArray,!1);this._resourceCache=t,this._gltfResource=i,this._baseResource=o,this._gltf=n,this._bufferViewId=r,this._draco=s,this._attributeSemantic=a,this._accessorId=c,this._cacheKey=u,this._asynchronous=f,this._loadBuffer=d,this._loadTypedArray=p,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._quantization=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(xg.prototype=Object.create(Yi.prototype),xg.prototype.constructor=xg);Object.defineProperties(xg.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},quantization:{get:function(){return this._quantization}}});function eke(e,t){return l(e)&&l(e.attributes)&&l(e.attributes[t])}xg.prototype.load=async function(){return l(this._promise)?this._promise:eke(this._draco,this._attributeSemantic)?(this._promise=nke(this),this._promise):(this._promise=oke(this),this._promise)};function tke(e,t,n,i){let r=(1<<e.quantizationBits)-1,s=1/r,a=new Tn.Quantization;if(a.componentDatatype=t,a.octEncoded=e.octEncoded,a.octEncodedZXY=!0,a.type=i,a.octEncoded)a.type=rn.VEC2,a.normalizationRange=r;else{let c=rn.getMathType(i);if(c===Number){let u=e.range;a.quantizedVolumeOffset=e.minValues[0],a.quantizedVolumeDimensions=u,a.normalizationRange=r,a.quantizedVolumeStepSize=u*s}else{a.quantizedVolumeOffset=c.unpack(e.minValues),a.normalizationRange=c.unpack(new Array(n).fill(r));let u=new Array(n).fill(e.range);a.quantizedVolumeDimensions=c.unpack(u);let f=u.map(function(d){return d*s});a.quantizedVolumeStepSize=c.unpack(f)}}return a}async function nke(e){e._state=_t.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=_t.LOADED,e)}catch{if(e.isDestroyed())return;R9(e)}}function ike(e){e._state=_t.PROCESSING;let n=e._dracoLoader.decodedData.vertexAttributes,i=e._attributeSemantic,o=n[i],r=e._accessorId,a=e._gltf.accessors[r].type,c=o.array,u=o.data.quantization;l(u)&&(e._quantization=tke(u,o.data.componentDatatype,o.data.componentsPerAttribute,a)),e._typedArray=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}async function oke(e){e._state=_t.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._typedArray=n.typedArray,e._state=_t.PROCESSING,e)}catch(n){if(e.isDestroyed())return;R9(e,n)}}function R9(e,t){throw e.unload(),e._state=_t.FAILED,e.getError("Failed to load vertex buffer",t)}function O9(){this.typedArray=void 0,this.context=void 0,this.buffer=void 0}O9.prototype.set=function(e,t){this.typedArray=e,this.context=t};O9.prototype.execute=function(){this.buffer=wie(this.typedArray,this.context)};function wie(e,t){let n=yt.createVertexBuffer({typedArray:e,context:t,usage:Ve.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}var rke=new O9;xg.prototype.process=function(e){if(this._state===_t.READY)return!0;if(this._state!==_t.LOADED&&this._state!==_t.PROCESSING)return!1;if(l(this._dracoLoader)){try{if(!this._dracoLoader.process(e))return!1}catch(i){R9(this,i)}ike(this)}let t,n=this._typedArray;if(this._loadBuffer&&this._asynchronous){let i=rke;if(i.set(n,e.context),!e.jobScheduler.execute(i,Qa.BUFFER))return!1;t=i.buffer}else this._loadBuffer&&(t=wie(n,e.context));return this.unload(),this._buffer=t,this._typedArray=this._loadTypedArray?n:void 0,this._state=_t.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};xg.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var tv=xg;function nv(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=y(e.properties,{}),i={};for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r.semantic)&&(i[r.semantic]=r)}this._id=t,this._name=e.name,this._description=e.description,this._properties=n,this._propertiesBySemantic=i,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}nv.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.class,i={};for(let o in n.properties)if(n.properties.hasOwnProperty(o)){let r=ex.fromJson({id:o,property:n.properties[o],enums:e.enums});i[o]=r}return new nv({id:t,name:n.name,description:n.description,properties:i,extras:n.extras,extensions:n.extensions})};Object.defineProperties(nv.prototype,{properties:{get:function(){return this._properties}},propertiesBySemantic:{get:function(){return this._propertiesBySemantic}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});nv.BATCH_TABLE_CLASS_NAME="_batchTable";var Gh=nv;function vN(e){e=y(e,y.EMPTY_OBJECT);let t=e.value,n=e.name;this._value=t,this._name=n,this._description=e.description,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}vN.fromJson=function(e){return new vN({value:e.value,name:e.name,description:e.description,extras:e.extras,extensions:e.extensions})};Object.defineProperties(vN.prototype,{value:{get:function(){return this._value}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var DN=vN;function IN(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.values,i={},o={},r=n.length;for(let a=0;a<r;++a){let c=n[a];i[c.value]=c.name,o[c.name]=c.value}let s=y(e.valueType,Gt.UINT16);this._values=n,this._namesByValue=i,this._valuesByName=o,this._valueType=s,this._id=t,this._name=e.name,this._description=e.description,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}IN.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.enum,i=n.values.map(function(o){return DN.fromJson(o)});return new IN({id:t,values:i,valueType:Gt[n.valueType],name:n.name,description:n.description,extras:n.extras,extensions:n.extensions})};Object.defineProperties(IN.prototype,{values:{get:function(){return this._values}},namesByValue:{get:function(){return this._namesByValue}},valuesByName:{get:function(){return this._valuesByName}},valueType:{get:function(){return this._valueType}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var PN=IN;function RN(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.classes,{}),n=y(e.enums,{});this._classes=t,this._enums=n,this._id=e.id,this._name=e.name,this._description=e.description,this._version=e.version,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}RN.fromJson=function(e){let t={};if(l(e.enums))for(let i in e.enums)e.enums.hasOwnProperty(i)&&(t[i]=PN.fromJson({id:i,enum:e.enums[i]}));let n={};if(l(e.classes))for(let i in e.classes)e.classes.hasOwnProperty(i)&&(n[i]=Gh.fromJson({id:i,class:e.classes[i],enums:t}));return new RN({id:e.id,name:e.name,description:e.description,version:e.version,classes:n,enums:t,extras:e.extras,extensions:e.extensions})};Object.defineProperties(RN.prototype,{classes:{get:function(){return this._classes}},enums:{get:function(){return this._enums}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},version:{get:function(){return this._version}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var rf=RN;function sx(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=e.cacheKey;this._schema=l(t)?rf.fromJson(t):void 0,this._resource=n,this._cacheKey=i,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(sx.prototype=Object.create(Yi.prototype),sx.prototype.constructor=sx);Object.defineProperties(sx.prototype,{cacheKey:{get:function(){return this._cacheKey}},schema:{get:function(){return this._schema}}});sx.prototype.load=async function(){return l(this._promise)?this._promise:l(this._schema)?(this._promise=Promise.resolve(this),this._promise):(this._promise=ske(this),this._promise)};async function ske(e){let t=e._resource;e._state=_t.LOADING;try{let n=await t.fetchJson();return e.isDestroyed()?void 0:(e._schema=rf.fromJson(n),e._state=_t.READY,e)}catch(n){if(e.isDestroyed())return;e._state=_t.FAILED;let i=`Failed to load schema: ${t.url}`;throw e.getError(i,n)}}sx.prototype.unload=function(){this._schema=void 0};var iv=sx;var hd={};function _C(e){return Qm(e.url)}function ON(e){let{byteOffset:t,byteLength:n}=e;if(ri(e,"EXT_meshopt_compression")){let i=e.extensions.EXT_meshopt_compression;t=y(i.byteOffset,0),n=i.byteLength}return`${t}-${t+n}`}function ake(e,t){let n=t.byteOffset+e.byteOffset,{componentType:i,type:o,count:r}=e;return`${n}-${i}-${o}-${r}`}function vie(e,t){return`${_C(e)}-buffer-id-${t}`}function ov(e,t,n,i){if(l(e.uri)){let o=i.getDerivedResource({url:e.uri});return _C(o)}return vie(n,t)}function M9(e,t,n,i){let o=t.bufferView,r=e.bufferViews[o],s=r.buffer,a=e.buffers[s],c=ov(a,s,n,i),u=ON(r);return`${c}-range-${u}`}function Die(e,t,n,i){let o=e.images[t],r=o.bufferView,s=o.uri;if(l(s)){let p=i.getDerivedResource({url:s});return _C(p)}let a=e.bufferViews[r],c=a.buffer,u=e.buffers[c],f=ov(u,c,n,i),d=ON(a);return`${f}-range-${d}`}function cke(e,t){let n=nu.createSampler({gltf:e,textureInfo:t});return`${n.wrapS}-${n.wrapT}-${n.minificationFilter}-${n.magnificationFilter}`}hd.getSchemaCacheKey=function(e){let{schema:t,resource:n}=e;return l(t)?`embedded-schema:${JSON.stringify(t)}`:`external-schema:${_C(n)}`};hd.getExternalBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e;return`external-buffer:${_C(t)}`};hd.getEmbeddedBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n}=e;return`embedded-buffer:${vie(t,n)}`};hd.getGltfCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t}=e;return`gltf:${_C(t)}`};hd.getBufferViewCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=t.bufferViews[n],s=r.buffer,a=t.buffers[s];ri(r,"EXT_meshopt_compression")&&(s=r.extensions.EXT_meshopt_compression.buffer);let c=ov(a,s,i,o),u=ON(r);return`buffer-view:${c}-range-${u}`};hd.getDracoCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e;return`draco:${M9(t,n,i,o)}`};hd.getVertexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:c=!1,loadBuffer:u=!1,loadTypedArray:f=!1}=e,d="";if(c&&(d+="-dequantize"),u&&(d+="-buffer",d+=`-context-${o.context.id}`),f&&(d+="-typed-array"),l(s))return`vertex-buffer:${M9(t,s,n,i)}-draco-${a}${d}`;let p=t.bufferViews[r],g=p.buffer,m=t.buffers[g],x=ov(m,g,n,i),b=ON(p);return`vertex-buffer:${x}-range-${b}${d}`};hd.getIndexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:a=!1,loadTypedArray:c=!1}=e,u="";if(a&&(u+="-buffer",u+=`-context-${r.context.id}`),c&&(u+="-typed-array"),l(s))return`index-buffer:${M9(t,s,i,o)}-draco${u}`;let f=t.accessors[n],d=f.bufferView,p=t.bufferViews[d],g=p.buffer,m=t.buffers[g],x=ov(m,g,i,o),b=ake(f,p);return`index-buffer:${x}-accessor-${b}${u}`};hd.getImageCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e;return`image:${Die(t,n,i,o)}`};hd.getTextureCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}=e,a=n.index,c=nu.getImageIdFromTexture({gltf:t,textureId:a,supportedImageFormats:r}),u=Die(t,c,i,o),f=cke(t,n);return`texture:${u}-sampler-${f}-context-${s.context.id}`};var iu=hd;function rv(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}}rv.prototype.clear=function(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}};rv.prototype.addGeometryLoader=function(e){let t=e.cacheKey;if(this._geometrySizes.hasOwnProperty(t))return;this._geometrySizes[t]=0;let n=e.buffer,i=e.typedArray,o=0;l(n)&&(o+=n.sizeInBytes),l(i)&&(o+=i.byteLength),this.geometryByteLength+=o,this._geometrySizes[t]=o};rv.prototype.addTextureLoader=function(e){let t=e.cacheKey;if(this._textureSizes.hasOwnProperty(t))return;this._textureSizes[t]=0;let n=e.texture.sizeInBytes;this.texturesByteLength+=e.texture.sizeInBytes,this._textureSizes[t]=n};rv.prototype.removeLoader=function(e){let t=e.cacheKey,n=this._geometrySizes[t];delete this._geometrySizes[t],l(n)&&(this.geometryByteLength-=n);let i=this._textureSizes[t];delete this._textureSizes[t],l(i)&&(this.texturesByteLength-=i)};var MN=rv;function Nn(){}Nn.cacheEntries={};Nn.statistics=new MN;function lke(e){this.referenceCount=1,this.resourceLoader=e,this._statisticsPromise=void 0}Nn.get=function(e){let t=Nn.cacheEntries[e];if(l(t))return++t.referenceCount,t.resourceLoader};Nn.add=function(e){let t=e.cacheKey;return Nn.cacheEntries[t]=new lke(e),e};Nn.unload=function(e){let t=e.cacheKey,n=Nn.cacheEntries[t];--n.referenceCount,n.referenceCount===0&&(Nn.statistics.removeLoader(e),e.destroy(),delete Nn.cacheEntries[t])};Nn.getSchemaLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{schema:t,resource:n}=e,i=iu.getSchemaCacheKey({schema:t,resource:n}),o=Nn.get(i);return l(o)?o:(o=new iv({schema:t,resource:n,cacheKey:i}),Nn.add(o))};Nn.getEmbeddedBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n,typedArray:i}=e,o=iu.getEmbeddedBufferCacheKey({parentResource:t,bufferId:n}),r=Nn.get(o);return l(r)?r:(r=new fC({typedArray:i,cacheKey:o}),Nn.add(r))};Nn.getExternalBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e,n=iu.getExternalBufferCacheKey({resource:t}),i=Nn.get(n);return l(i)?i:(i=new fC({resource:t,cacheKey:n}),Nn.add(i))};Nn.getGltfJsonLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,baseResource:n,typedArray:i,gltfJson:o}=e,r=iu.getGltfCacheKey({gltfResource:t}),s=Nn.get(r);return l(s)?s:(s=new $w({resourceCache:Nn,gltfResource:t,baseResource:n,typedArray:i,gltfJson:o,cacheKey:r}),Nn.add(s))};Nn.getBufferViewLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=iu.getBufferViewCacheKey({gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}),s=Nn.get(r);return l(s)?s:(s=new jw({resourceCache:Nn,gltf:t,bufferViewId:n,gltfResource:i,baseResource:o,cacheKey:r}),Nn.add(s))};Nn.getDracoLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e,r=iu.getDracoCacheKey({gltf:t,draco:n,gltfResource:i,baseResource:o}),s=Nn.get(r);return l(s)?s:(s=new qw({resourceCache:Nn,gltf:t,draco:n,gltfResource:i,baseResource:o,cacheKey:r}),Nn.add(s))};Nn.getVertexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,asynchronous:u=!0,dequantize:f=!1,loadBuffer:d=!1,loadTypedArray:p=!1}=e,g=iu.getVertexBufferCacheKey({gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:f,loadBuffer:d,loadTypedArray:p}),m=Nn.get(g);return l(m)?m:(m=new tv({resourceCache:Nn,gltf:t,gltfResource:n,baseResource:i,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,cacheKey:g,asynchronous:u,dequantize:f,loadBuffer:d,loadTypedArray:p}),Nn.add(m))};Nn.getIndexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,asynchronous:a=!0,loadBuffer:c=!1,loadTypedArray:u=!1}=e,f=iu.getIndexBufferCacheKey({gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:c,loadTypedArray:u}),d=Nn.get(f);return l(d)?d:(d=new Xw({resourceCache:Nn,gltf:t,accessorId:n,gltfResource:i,baseResource:o,draco:s,cacheKey:f,asynchronous:a,loadBuffer:c,loadTypedArray:u}),Nn.add(d))};Nn.getImageLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e,r=iu.getImageCacheKey({gltf:t,imageId:n,gltfResource:i,baseResource:o}),s=Nn.get(r);return l(s)?s:(s=new Yw({resourceCache:Nn,gltf:t,imageId:n,gltfResource:i,baseResource:o,cacheKey:r}),Nn.add(s))};Nn.getTextureLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a=!0}=e,c=iu.getTextureCacheKey({gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}),u=Nn.get(c);return l(u)?u:(u=new ev({resourceCache:Nn,gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,cacheKey:c,asynchronous:a}),Nn.add(u))};Nn.clearForSpecs=function(){let e=[tv,Xw,qw,ev,Yw,jw,fC,iv,$w],t,n=Nn.cacheEntries,i=[];for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);i.sort(function(r,s){let a=e.indexOf(r.resourceLoader.constructor),c=e.indexOf(s.resourceLoader.constructor);return a-c});let o=i.length;for(let r=0;r<o;++r){let s=i[r];t=s.resourceLoader.cacheKey,l(n[t])&&(s.resourceLoader.destroy(),delete n[t])}Nn.statistics.clear()};var Ci=Nn;function ta(e,t,n){this._resource=e,this._subtreeJson=void 0,this._bufferLoader=void 0,this._tileAvailability=void 0,this._contentAvailabilityBitstreams=[],this._childSubtreeAvailability=void 0,this._implicitCoordinates=n,this._subtreeLevels=t.subtreeLevels,this._subdivisionScheme=t.subdivisionScheme,this._branchingFactor=t.branchingFactor,this._metadata=void 0,this._tileMetadataTable=void 0,this._tilePropertyTableJson=void 0,this._contentMetadataTables=[],this._contentPropertyTableJsons=[],this._tileJumpBuffer=void 0,this._contentJumpBuffers=[],this._ready=!1}Object.defineProperties(ta.prototype,{ready:{get:function(){return this._ready}},metadata:{get:function(){return this._metadata}},tileMetadataTable:{get:function(){return this._tileMetadataTable}},tilePropertyTableJson:{get:function(){return this._tilePropertyTableJson}},contentMetadataTables:{get:function(){return this._contentMetadataTables}},contentPropertyTableJsons:{get:function(){return this._contentPropertyTableJsons}},implicitCoordinates:{get:function(){return this._implicitCoordinates}}});ta.prototype.tileIsAvailableAtIndex=function(e){return this._tileAvailability.getBit(e)};ta.prototype.tileIsAvailableAtCoordinates=function(e){let t=this.getTileIndex(e);return this.tileIsAvailableAtIndex(t)};ta.prototype.contentIsAvailableAtIndex=function(e,t){return t=y(t,0),this._contentAvailabilityBitstreams[t].getBit(e)};ta.prototype.contentIsAvailableAtCoordinates=function(e,t){let n=this.getTileIndex(e);return this.contentIsAvailableAtIndex(n,t)};ta.prototype.childSubtreeIsAvailableAtIndex=function(e){return this._childSubtreeAvailability.getBit(e)};ta.prototype.childSubtreeIsAvailableAtCoordinates=function(e){let t=this.getChildSubtreeIndex(e);return this.childSubtreeIsAvailableAtIndex(t)};ta.prototype.getLevelOffset=function(e){let t=this._branchingFactor;return(Math.pow(t,e)-1)/(t-1)};ta.prototype.getParentMortonIndex=function(e){let t=2;return this._subdivisionScheme===ts.OCTREE&&(t=3),e>>t};ta.fromSubtreeJson=async function(e,t,n,i,o){let r=new ta(e,i,o),s;l(t)?s={json:t,binary:void 0}:s=uke(n);let a=s.json;r._subtreeJson=a;let c;if(ri(a,"3DTILES_metadata"))c=a.extensions["3DTILES_metadata"];else if(l(a.tileMetadata)){let C=a.tileMetadata;c=a.propertyTables[C]}let u=[];if(l(a.contentMetadata)){let C=a.contentMetadata.length;for(let A=0;A<C;A++){let S=a.contentMetadata[A];u.push(a.propertyTables[S])}}let f,d=i.metadataSchema,p=a.subtreeMetadata;if(l(p)){let C=p.class,A=d.classes[C];f=new aN({subtreeMetadata:p,class:A})}r._metadata=f,r._tilePropertyTableJson=c,r._contentPropertyTableJsons=u;let g={constant:0};a.contentAvailabilityHeaders=[],ri(a,"3DTILES_multiple_contents")?a.contentAvailabilityHeaders=a.extensions["3DTILES_multiple_contents"].contentAvailability:Array.isArray(a.contentAvailability)?a.contentAvailabilityHeaders=a.contentAvailability:a.contentAvailabilityHeaders.push(y(a.contentAvailability,g));let m=fke(a.buffers),x=dke(a.bufferViews,m);hke(a,x),l(c)&&Iie(c,x);for(let C=0;C<u.length;C++){let A=u[C];Iie(A,x)}let b=await mke(r,m,s.binary),T=_ke(x,b);return gke(r,a,i,T),l(c)&&(yke(r,i,T),bke(r)),xke(r,i,T),Tke(r),r._ready=!0,r};function uke(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Lo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}function fke(e){e=l(e)?e:[];for(let t=0;t<e.length;t++){let n=e[t];n.isExternal=l(n.uri),n.isActive=!1}return e}function dke(e,t){e=l(e)?e:[];for(let n=0;n<e.length;n++){let i=e[n],o=t[i.buffer];i.bufferHeader=o,i.isActive=!1}return e}function hke(e,t){let n,i=e.tileAvailability;l(i.bitstream)?n=t[i.bitstream]:l(i.bufferView)&&(n=t[i.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);let o=e.contentAvailabilityHeaders;for(let s=0;s<o.length;s++)n=void 0,l(o[s].bitstream)?n=t[o[s].bitstream]:l(o[s].bufferView)&&(n=t[o[s].bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);n=void 0;let r=e.childSubtreeAvailability;l(r.bitstream)?n=t[r.bitstream]:l(r.bufferView)&&(n=t[r.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0)}function Iie(e,t){let n=e.properties,i;for(let o in n)if(n.hasOwnProperty(o)){let r=n[o],s=y(r.values,r.bufferView);i=t[s],i.isActive=!0,i.bufferHeader.isActive=!0;let a=y(r.stringOffsets,r.stringOffsetBufferView);l(a)&&(i=t[a],i.isActive=!0,i.bufferHeader.isActive=!0);let c=y(r.arrayOffsets,r.arrayOffsetBufferView);l(c)&&(i=t[c],i.isActive=!0,i.bufferHeader.isActive=!0)}}function mke(e,t,n){let i=[];for(let o=0;o<t.length;o++){let r=t[o];if(!r.isActive)i.push(Promise.resolve(void 0));else if(r.isExternal){let s=pke(e,r);i.push(s)}else i.push(Promise.resolve(n))}return Promise.all(i).then(function(o){let r={};for(let s=0;s<o.length;s++){let a=o[s];l(a)&&(r[s]=a)}return r})}async function pke(e,t){let i=e._resource.getDerivedResource({url:t.uri}),o=Ci.getExternalBufferLoader({resource:i});e._bufferLoader=o;try{await o.load()}catch(r){if(o.isDestroyed())return;throw r}return o.typedArray}function _ke(e,t){let n={};for(let i=0;i<e.length;i++){let o=e[i];if(!o.isActive)continue;let r=o.byteOffset,s=r+o.byteLength,c=t[o.buffer].subarray(r,s);n[i]=c}return n}function gke(e,t,n,i){let o=n.branchingFactor,r=n.subtreeLevels,s=(Math.pow(o,r)-1)/(o-1),a=Math.pow(o,r),c=ri(t,"3DTILES_metadata"),u=l(e._tilePropertyTableJson),f=c||u;e._tileAvailability=L9(t.tileAvailability,i,s,f);let d=e._contentPropertyTableJsons.length>0;f=f||d;for(let p=0;p<t.contentAvailabilityHeaders.length;p++){let g=L9(t.contentAvailabilityHeaders[p],i,s,f);e._contentAvailabilityBitstreams.push(g)}e._childSubtreeAvailability=L9(t.childSubtreeAvailability,i,a)}function L9(e,t,n,i){if(l(e.constant))return new Hw({constant:!!e.constant,lengthBits:n,availableCount:e.availableCount});let o;return l(e.bitstream)?o=t[e.bitstream]:l(e.bufferView)&&(o=t[e.bufferView]),new Hw({bitstream:o,lengthBits:n,availableCount:e.availableCount,computeAvailableCountEnabled:i})}function yke(e,t,n){let i=e._tilePropertyTableJson,o=e._tileAvailability.availableCount,r=t.metadataSchema,s=i.class,a=r.classes[s];e._tileMetadataTable=new eu({class:a,count:o,properties:i.properties,bufferViews:n})}function xke(e,t,n){let i=e._contentPropertyTableJsons,o=e._contentAvailabilityBitstreams,r=t.metadataSchema,s=e._contentMetadataTables;for(let a=0;a<i.length;a++){let c=i[a],f=o[a].availableCount,d=c.class,p=r.classes[d],g=new eu({class:p,count:f,properties:c.properties,bufferViews:n});s.push(g)}}function Pie(e){let t=0,n=e.lengthBits,i=e.availableCount,o;i<256?o=new Uint8Array(n):i<65536?o=new Uint16Array(n):o=new Uint32Array(n);for(let r=0;r<e.lengthBits;r++)e.getBit(r)&&(o[r]=t,t++);return o}function bke(e){let t=Pie(e._tileAvailability);e._tileJumpBuffer=t}function Tke(e){let t=e._contentJumpBuffers,n=e._contentAvailabilityBitstreams;for(let i=0;i<n.length;i++){let o=n[i],r=Pie(o);t.push(r)}}ta.prototype.getTileIndex=function(e){let t=e.level-this._implicitCoordinates.level;if(t<0||this._subtreeLevels<=t)throw new ce("level is out of bounds for this subtree");return e.getSubtreeCoordinates().getOffsetCoordinates(e).tileIndex};ta.prototype.getChildSubtreeIndex=function(e){if(e.level-this._implicitCoordinates.level!==this._implicitCoordinates.subtreeLevels)throw new ce("level is out of bounds for this subtree");return e.getParentSubtreeCoordinates().getOffsetCoordinates(e).mortonIndex};function Cke(e,t){if(!l(e._tileMetadataTable))return;let n=e.getTileIndex(t);if(e._tileAvailability.getBit(n))return e._tileJumpBuffer[n]}function Ake(e,t,n){let i=e._contentMetadataTables;if(!l(i))return;let o=i[n];if(!l(o))return;let r=e._contentAvailabilityBitstreams[n],s=e.getTileIndex(t);if(r.getBit(s))return e._contentJumpBuffers[n][s]}ta.prototype.getTileMetadataView=function(e){let t=Cke(this,e);if(!l(t))return;let n=this._tileMetadataTable;return new Gw({class:n.class,metadataTable:n,entityId:t,propertyTableJson:this._tilePropertyTableJson})};ta.prototype.getContentMetadataView=function(e,t){let n=Ake(this,e,t);if(!l(n))return;let i=this._contentMetadataTables[t],o=this._contentPropertyTableJsons[t];return new Gw({class:i.class,metadataTable:i,entityId:n,contentIndex:t,propertyTableJson:o})};ta.prototype.isDestroyed=function(){return!1};ta.prototype.destroy=function(){return l(this._bufferLoader)&&Ci.unload(this._bufferLoader),ue(this)};var gC=ta;var Eke={ID:"ID",NAME:"NAME",DESCRIPTION:"DESCRIPTION",TILESET_TILE_COUNT:"TILESET_TILE_COUNT",TILE_BOUNDING_BOX:"TILE_BOUNDING_BOX",TILE_BOUNDING_REGION:"TILE_BOUNDING_REGION",TILE_BOUNDING_SPHERE:"TILE_BOUNDING_SPHERE",TILE_MINIMUM_HEIGHT:"TILE_MINIMUM_HEIGHT",TILE_MAXIMUM_HEIGHT:"TILE_MAXIMUM_HEIGHT",TILE_HORIZON_OCCLUSION_POINT:"TILE_HORIZON_OCCLUSION_POINT",TILE_GEOMETRIC_ERROR:"TILE_GEOMETRIC_ERROR",CONTENT_BOUNDING_BOX:"CONTENT_BOUNDING_BOX",CONTENT_BOUNDING_REGION:"CONTENT_BOUNDING_REGION",CONTENT_BOUNDING_SPHERE:"CONTENT_BOUNDING_SPHERE",CONTENT_MINIMUM_HEIGHT:"CONTENT_MINIMUM_HEIGHT",CONTENT_MAXIMUM_HEIGHT:"CONTENT_MAXIMUM_HEIGHT",CONTENT_HORIZON_OCCLUSION_POINT:"CONTENT_HORIZON_OCCLUSION_POINT"},yC=Object.freeze(Eke);var md={};md.parseAllBoundingVolumeSemantics=function(e){return{tile:{boundingVolume:md.parseBoundingVolumeSemantic("TILE",e),minimumHeight:md._parseMinimumHeight("TILE",e),maximumHeight:md._parseMaximumHeight("TILE",e)},content:{boundingVolume:md.parseBoundingVolumeSemantic("CONTENT",e),minimumHeight:md._parseMinimumHeight("CONTENT",e),maximumHeight:md._parseMaximumHeight("CONTENT",e)}}};md.parseBoundingVolumeSemantic=function(e,t){let n=`${e}_BOUNDING_BOX`,i=t.getPropertyBySemantic(n);if(l(i))return{box:i};let o=`${e}_BOUNDING_REGION`,r=t.getPropertyBySemantic(o);if(l(r))return{region:r};let s=`${e}_BOUNDING_SPHERE`,a=t.getPropertyBySemantic(s);if(l(a))return{sphere:a}};md._parseMinimumHeight=function(e,t){let n=`${e}_MINIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};md._parseMaximumHeight=function(e,t){let n=`${e}_MAXIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};var xC=md;function Oc(e,t,n){let i=t.implicitTileset,o=t.implicitCoordinates;this._implicitTileset=i,this._implicitCoordinates=o,this._implicitSubtree=void 0,this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this.featurePropertiesDirty=!1,this._group=void 0;let r=o.getTemplateValues(),s=i.subtreeUriTemplate.getDerivedResource({templateValues:r});this._url=s.getUrlComponent(!0),this._ready=!1}Object.defineProperties(Oc.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._url}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Oc.fromSubtreeJson=async function(e,t,n,i,o,r){r=y(r,0);let s;l(o)&&(s=new Uint8Array(o,r));let a=t.implicitTileset,c=t.implicitCoordinates,u=await gC.fromSubtreeJson(n,i,s,a,c),f=new Oc(e,t,n);return f._implicitSubtree=u,Ske(f,u),f._ready=!0,f};function Ske(e,t){let n=e._tile,i=e._implicitCoordinates.childIndex,o=vke(e,t,n,i),r=e._tileset.statistics;n.children.push(o.rootTile),r.numberOfTilesTotal++;let s=wke(e,t,o.bottomRow);for(let a=0;a<s.length;a++){let c=s[a],u=c.tile,f=Fke(e,u,c.childIndex);u.children.push(f),r.numberOfTilesTotal++}}function wke(e,t,n){let i=[],o=e._implicitTileset.branchingFactor;for(let r=0;r<n.length;r++){let s=n[r];if(l(s))for(let a=0;a<o;a++){let c=r*o+a;t.childSubtreeIsAvailableAtIndex(c)&&i.push({tile:s,childIndex:a})}}return i}function vke(e,t,n,i){let s=Rie(e,t,n,i,0,!0),a=e._tileset.statistics,c=[s],u=[],f=e._implicitTileset;for(let d=1;d<f.subtreeLevels;d++){let p=t.getLevelOffset(d),g=f.branchingFactor*c.length;for(let m=0;m<g;m++){let x=p+m;if(!t.tileIsAvailableAtIndex(x)){u.push(void 0);continue}let b=t.getParentMortonIndex(m),T=c[b],C=m%f.branchingFactor,A=Rie(e,t,T,C,x);T.children.push(A),a.numberOfTilesTotal++,u.push(A)}c=u,u=[]}return{rootTile:s,bottomRow:c}}function Oie(e,t,n){let i=yC.TILE_GEOMETRIC_ERROR;return l(e)&&e.hasPropertyBySemantic(i)?e.getPropertyBySemantic(i):t.geometricError/Math.pow(2,n.level)}function Rie(e,t,n,i,o,r){let s=e._implicitTileset,a;y(r,!1)?a=n.implicitCoordinates:a=n.implicitCoordinates.getChildCoordinates(i);let c,u,f;if(l(t.tilePropertyTableJson)){c=t.getTileMetadataView(a);let D=xC.parseAllBoundingVolumeSemantics(c);u=D.tile,f=D.content}let p=t.contentPropertyTableJsons.length,g=!1;for(let D=0;D<p;D++)if(t.contentIsAvailableAtCoordinates(a,D)){g=!0;break}let m=Pke(s,a,i,r,n,u),x=[];for(let D=0;D<s.contentCount;D++){if(!t.contentIsAvailableAtIndex(o,D))continue;let M={uri:s.contentUriTemplates[D].getDerivedResource({templateValues:a.getTemplateValues()}).url},L=Rke(m,f);l(L)&&(M.boundingVolume=L),x.push(xt(M,s.contentHeaders[D]))}let b=Oie(c,s,a),T={boundingVolume:m,geometricError:b,refine:s.refine,contents:x},C=!0,A=We(s.tileHeader,C);delete A.boundingVolume,delete A.transform,delete A.metadata;let S=xt(T,A,C),w=Bie(e,s.baseResource,S,n);return w.implicitCoordinates=a,w.implicitSubtree=t,w.metadata=c,w.hasImplicitContentMetadata=g,w}function LN(e,t){return l(e)&&l(t)&&(l(t.minimumHeight)||l(t.maximumHeight))&&(ri(e,"3DTILES_bounding_volume_S2")||l(e.region))}function F9(e,t){l(t)&&(ri(e,"3DTILES_bounding_volume_S2")?Ike(e.extensions["3DTILES_bounding_volume_S2"],t.minimumHeight,t.maximumHeight):l(e.region)&&Dke(e.region,t.minimumHeight,t.maximumHeight))}function Dke(e,t,n){l(t)&&(e[4]=t),l(n)&&(e[5]=n)}function Ike(e,t,n){l(t)&&(e.minimumHeight=t),l(n)&&(e.maximumHeight=n)}function Pke(e,t,n,i,o,r){let s;return!l(r)||!l(r.boundingVolume)||!LN(r.boundingVolume,r)&&LN(e.boundingVolume,r)?s=Mie(e,t,n,y(i,!1),o):s=r.boundingVolume,F9(s,r),s}function Rke(e,t){let n;return l(t)&&(n=t.boundingVolume),LN(n,t)?F9(n,t):LN(e,t)&&(n=We(e,!0),F9(n,t)),n}function Mie(e,t,n,i,o){let r=e.boundingVolume;return ri(r,"3DTILES_bounding_volume_S2")?Lie(i,o,n,t.level,t.x,t.y,t.z):l(r.region)?{region:Fie(r.region,t.level,t.x,t.y,t.z)}:{box:Nie(r.box,t.level,t.x,t.y,t.z)}}function Lie(e,t,n,i,o,r,s){let a=t._boundingVolume;if(e)return{extensions:{"3DTILES_bounding_volume_S2":{token:ug.getTokenFromId(a.s2Cell._cellId),minimumHeight:a.minimumHeight,maximumHeight:a.maximumHeight}}};let c=Number(t._boundingVolume.s2Cell._cellId>>BigInt(61)),u=c%2===0?zw.encode2D(i,o,r):zw.encode2D(i,r,o),f=ug.fromFacePositionLevel(c,BigInt(u),i),d,p;if(l(s)){let g=(a.maximumHeight+a.minimumHeight)/2;d=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else d=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:ug.getTokenFromId(f._cellId),minimumHeight:d,maximumHeight:p}}}}var Oke=new h,Mke=new h,N9=new h,Lke=new Z;function Nie(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,Mke),s=Z.unpack(e,3,Lke),a=Math.pow(2,-t),c=-1+(2*n+1)*a,u=-1+(2*i+1)*a,f=0,d=h.fromElements(a,a,1,Oke);l(o)&&(f=-1+(2*o+1)*a,d.z=a);let p=h.fromElements(c,u,f,N9);p=Z.multiplyByVector(s,p,N9),p=h.add(p,r,N9);let g=Z.clone(s);g=Z.multiplyByScale(g,d,g);let m=new Array(12);return h.pack(p,m),Z.pack(g,m,3),m}var Nke=new se;function Fie(e,t,n,i,o){if(t===0)return e.slice();let r=se.unpack(e,0,Nke),s=e[4],a=e[5],c=Math.pow(2,-t),u=c*r.width,f=P.negativePiToPi(r.west+n*u),d=P.negativePiToPi(f+u),p=c*r.height,g=P.negativePiToPi(r.south+i*p),m=P.negativePiToPi(g+p),x=s,b=a;if(l(o)){let T=c*(a-s);x+=o*T,b=x+T}return[f,g,d,m,x,b]}function Fke(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=Mie(i,o,n,!1,t),s=Oie(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},u=Bie(e,i.baseResource,c,t);return u.implicitTileset=i,u.implicitCoordinates=o,u}function Bie(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}Oc.prototype.hasProperty=function(e,t){return!1};Oc.prototype.getFeature=function(e){};Oc.prototype.applyDebugSettings=function(e,t){};Oc.prototype.applyStyle=function(e){};Oc.prototype.update=function(e,t){};Oc.prototype.pick=function(e,t,n){};Oc.prototype.isDestroyed=function(){return!1};Oc.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),ue(this)};Oc._deriveBoundingBox=Nie;Oc._deriveBoundingRegion=Fie;Oc._deriveBoundingVolumeS2=Lie;var sv=Oc;var Bke={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},ou=Object.freeze(Bke);function bC(e,t){this._distance=t,this._normal=new kie(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(bC.prototype,{distance:{get:function(){return this._distance},set:function(e){l(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){l(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});bC.fromPlane=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance):t=new bC(e.normal,e.distance),t};bC.clone=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance,t):new bC(e.normal,e.distance)};function kie(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(kie.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var TC=bC;function ec(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.edgeColor=H.clone(y(e.edgeColor,H.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new me,this.planeRemoved=new me,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?Gie:Wie,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(l(n)){let i=n.length;for(let o=0;o<i;++o)this.add(n[o])}}function Gie(e){return e===qt.OUTSIDE}function Wie(e){return e===qt.INSIDE}Object.defineProperties(ec.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?Gie:Wie)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}});function Vie(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||e._dirtyIndex!==-1&&e._dirtyIndex!==t,e._dirtyIndex=t}ec.prototype.add=function(e){let t=this._planes.length,n=this;e.onChangeCallback=function(i){Vie(n,i)},e.index=t,Vie(this,t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)};ec.prototype.get=function(e){return this._planes[e]};function jie(e,t){let n=e.length;for(let i=0;i<n;++i)if(cn.equals(e[i],t))return i;return-1}ec.prototype.contains=function(e){return jie(this._planes,e)!==-1};ec.prototype.remove=function(e){let t=this._planes,n=jie(t,e);if(n===-1)return!1;e instanceof TC&&(e.onChangeCallback=void 0,e.index=-1);let i=t.length-1;for(let o=n;o<i;++o){let r=t[o+1];t[o]=r,r instanceof TC&&(r.index=o)}return this._multipleDirtyPlanes=!0,t.length=i,this.planeRemoved.raiseEvent(e,n),!0};ec.prototype.removeAll=function(){let e=this._planes,t=e.length;for(let n=0;n<t;++n){let i=e[n];i instanceof TC&&(i.onChangeCallback=void 0,i.index=-1),this.planeRemoved.raiseEvent(i,n)}this._multipleDirtyPlanes=!0,this._planes=[]};var kke=new oe,Vke=new oe;function Uie(e,t,n){let i=e._uint8View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=Fn.octEncodeToCartesian4(a.normal,Vke);i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=c.w;let u=oe.packFloat(a.distance,kke);i[r+4]=u.x,i[r+5]=u.y,i[r+6]=u.z,i[r+7]=u.w,r+=8}}function zie(e,t,n){let i=e._float32View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=a.normal;i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=a.distance,r+=4}}function qie(e,t){let n=Ut.maximumTextureSize;return t.x=Math.min(e,n),t.y=Math.ceil(e/t.x),t}var Uke=new U;ec.prototype.update=function(e){let t=this._clippingPlanesTexture,n=e.context,i=ec.useFloatTexture(n),o=i?this.length:this.length*2;if(l(t)){let s=t.width*t.height;(s<o||o<.25*s)&&(t.destroy(),t=void 0,this._clippingPlanesTexture=void 0)}if(this.length===0)return;if(!l(t)){let s=qie(o,Uke);s.y*=2,i?(t=new Mt({context:n,width:s.x,height:s.y,pixelFormat:ct.RGBA,pixelDatatype:nt.FLOAT,sampler:tn.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*4)):(t=new Mt({context:n,width:s.x,height:s.y,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,sampler:tn.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(s.x*s.y*4)),this._clippingPlanesTexture=t,this._multipleDirtyPlanes=!0}let r=this._dirtyIndex;if(!(!this._multipleDirtyPlanes&&r===-1)){if(this._multipleDirtyPlanes)i?(zie(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._float32View}})):(Uie(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._uint8View}}));else{let s=0,a=0;i?(a=Math.floor(r/t.width),s=Math.floor(r-a*t.width),zie(this,r,r+1),t.copyFrom({source:{width:1,height:1,arrayBufferView:this._float32View},xOffset:s,yOffset:a})):(a=Math.floor(r*2/t.width),s=Math.floor(r*2-a*t.width),Uie(this,r,r+1),t.copyFrom({source:{width:2,height:1,arrayBufferView:this._uint8View},xOffset:s,yOffset:a}))}this._multipleDirtyPlanes=!1,this._dirtyIndex=-1}};var zke=new F,Hie=new cn(h.UNIT_X,0);ec.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._planes,i=n.length,o=this.modelMatrix;l(t)&&(o=F.multiply(t,o,zke));let r=qt.INSIDE;!this.unionClippingRegions&&i>0&&(r=qt.OUTSIDE);for(let s=0;s<i;++s){let a=n[s];cn.transform(a,o,Hie);let c=e.intersectPlane(Hie);if(c===qt.INTERSECTING)r=c;else if(this._testIntersection(c))return c}return r};ec.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};ec.useFloatTexture=function(e){return e.floatingPointTexture};ec.getTextureResolution=function(e,t,n){let i=e.texture;if(l(i))return n.x=i.width,n.y=i.height,n;let o=ec.useFloatTexture(t)?e.length:e.length*2,r=qie(o,n);return r.y*=2,r};ec.prototype.isDestroyed=function(){return!1};ec.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),ue(this)};var bs=ec;function V9(e,t,n=2){let i=t&&t.length,o=i?t[0]*n:e.length,r=Xie(e,0,o,n,!0),s=[];if(!r||r.next===r.prev)return s;let a,c,u;if(i&&(r=qke(e,t,r,n)),e.length>80*n){a=1/0,c=1/0;let f=-1/0,d=-1/0;for(let p=n;p<o;p+=n){let g=e[p],m=e[p+1];g<a&&(a=g),m<c&&(c=m),g>f&&(f=g),m>d&&(d=m)}u=Math.max(f-a,d-c),u=u!==0?32767/u:0}return av(r,s,n,a,c,u,0),s}function Xie(e,t,n,i,o){let r;if(o===iVe(e,t,n,i)>0)for(let s=t;s<n;s+=i)r=Yie(s/i|0,e[s],e[s+1],r);else for(let s=n-i;s>=t;s-=i)r=Yie(s/i|0,e[s],e[s+1],r);return r&&BN(r,r.next)&&(lv(r),r=r.next),r}function ax(e,t){if(!e)return e;t||(t=e);let n=e,i;do if(i=!1,!n.steiner&&(BN(n,n.next)||Rr(n.prev,n,n.next)===0)){if(lv(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function av(e,t,n,i,o,r,s){if(!e)return;!s&&r&&Zke(e,i,o,r);let a=e;for(;e.prev!==e.next;){let c=e.prev,u=e.next;if(r?Gke(e,i,o,r):Hke(e)){t.push(c.i,e.i,u.i),lv(e),e=u.next,a=u.next;continue}if(e=u,e===a){s?s===1?(e=Wke(ax(e),t),av(e,t,n,i,o,r,2)):s===2&&jke(e,t,n,i,o,r):av(ax(e),t,n,i,o,r,1);break}}}function Hke(e){let t=e.prev,n=e,i=e.next;if(Rr(t,n,i)>=0)return!1;let o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,u=i.y,f=o<r?o<s?o:s:r<s?r:s,d=a<c?a<u?a:u:c<u?c:u,p=o>r?o>s?o:s:r>s?r:s,g=a>c?a>u?a:u:c>u?c:u,m=i.next;for(;m!==t;){if(m.x>=f&&m.x<=p&&m.y>=d&&m.y<=g&&CC(o,a,r,c,s,u,m.x,m.y)&&Rr(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function Gke(e,t,n,i){let o=e.prev,r=e,s=e.next;if(Rr(o,r,s)>=0)return!1;let a=o.x,c=r.x,u=s.x,f=o.y,d=r.y,p=s.y,g=a<c?a<u?a:u:c<u?c:u,m=f<d?f<p?f:p:d<p?d:p,x=a>c?a>u?a:u:c>u?c:u,b=f>d?f>p?f:p:d>p?d:p,T=B9(g,m,t,n,i),C=B9(x,b,t,n,i),A=e.prevZ,S=e.nextZ;for(;A&&A.z>=T&&S&&S.z<=C;){if(A.x>=g&&A.x<=x&&A.y>=m&&A.y<=b&&A!==o&&A!==s&&CC(a,f,c,d,u,p,A.x,A.y)&&Rr(A.prev,A,A.next)>=0||(A=A.prevZ,S.x>=g&&S.x<=x&&S.y>=m&&S.y<=b&&S!==o&&S!==s&&CC(a,f,c,d,u,p,S.x,S.y)&&Rr(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;A&&A.z>=T;){if(A.x>=g&&A.x<=x&&A.y>=m&&A.y<=b&&A!==o&&A!==s&&CC(a,f,c,d,u,p,A.x,A.y)&&Rr(A.prev,A,A.next)>=0)return!1;A=A.prevZ}for(;S&&S.z<=C;){if(S.x>=g&&S.x<=x&&S.y>=m&&S.y<=b&&S!==o&&S!==s&&CC(a,f,c,d,u,p,S.x,S.y)&&Rr(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function Wke(e,t){let n=e;do{let i=n.prev,o=n.next.next;!BN(i,o)&&Kie(i,n,n.next,o)&&cv(i,o)&&cv(o,i)&&(t.push(i.i,n.i,o.i),lv(n),lv(n.next),n=e=o),n=n.next}while(n!==e);return ax(n)}function jke(e,t,n,i,o,r){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&eVe(s,a)){let c=$ie(s,a);s=ax(s,s.next),c=ax(c,c.next),av(s,t,n,i,o,r,0),av(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function qke(e,t,n,i){let o=[];for(let r=0,s=t.length;r<s;r++){let a=t[r]*i,c=r<s-1?t[r+1]*i:e.length,u=Xie(e,a,c,i,!1);u===u.next&&(u.steiner=!0),o.push(Jke(u))}o.sort(Yke);for(let r=0;r<o.length;r++)n=Xke(o[r],n);return n}function Yke(e,t){return e.x-t.x}function Xke(e,t){let n=Kke(e,t);if(!n)return t;let i=$ie(n,e);return ax(i,i.next),ax(n,n.next)}function Kke(e,t){let n=t,i=e.x,o=e.y,r=-1/0,s;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){let d=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(d<=i&&d>r&&(r=d,s=n.x<n.next.x?n:n.next,d===i))return s}n=n.next}while(n!==t);if(!s)return null;let a=s,c=s.x,u=s.y,f=1/0;n=s;do{if(i>=n.x&&n.x>=c&&i!==n.x&&CC(o<u?i:r,o,c,u,o<u?r:i,o,n.x,n.y)){let d=Math.abs(o-n.y)/(i-n.x);cv(n,e)&&(d<f||d===f&&(n.x>s.x||n.x===s.x&&$ke(s,n)))&&(s=n,f=d)}n=n.next}while(n!==a);return s}function $ke(e,t){return Rr(e.prev,e,t.prev)<0&&Rr(t.next,e,e.next)<0}function Zke(e,t,n,i){let o=e;do o.z===0&&(o.z=B9(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,Qke(o)}function Qke(e){let t,n=1;do{let i=e,o;e=null;let r=null;for(t=0;i;){t++;let s=i,a=0;for(let u=0;u<n&&(a++,s=s.nextZ,!!s);u++);let c=n;for(;a>0||c>0&&s;)a!==0&&(c===0||!s||i.z<=s.z)?(o=i,i=i.nextZ,a--):(o=s,s=s.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;i=s}r.nextZ=null,n*=2}while(t>1);return e}function B9(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function Jke(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function CC(e,t,n,i,o,r,s,a){return(o-s)*(t-a)>=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function eVe(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!tVe(e,t)&&(cv(e,t)&&cv(t,e)&&nVe(e,t)&&(Rr(e.prev,e,t.prev)||Rr(e,t.prev,t))||BN(e,t)&&Rr(e.prev,e,e.next)>0&&Rr(t.prev,t,t.next)>0)}function Rr(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function BN(e,t){return e.x===t.x&&e.y===t.y}function Kie(e,t,n,i){let o=FN(Rr(e,t,n)),r=FN(Rr(e,t,i)),s=FN(Rr(n,i,e)),a=FN(Rr(n,i,t));return!!(o!==r&&s!==a||o===0&&NN(e,n,t)||r===0&&NN(e,i,t)||s===0&&NN(n,e,i)||a===0&&NN(n,t,i))}function NN(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function FN(e){return e>0?1:e<0?-1:0}function tVe(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&Kie(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function cv(e,t){return Rr(e.prev,e,e.next)<0?Rr(e,t,e.next)>=0&&Rr(e,e.prev,t)>=0:Rr(e,t,e.prev)<0||Rr(e,e.next,t)<0}function nVe(e,t){let n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function $ie(e,t){let n=k9(e.i,e.x,e.y),i=k9(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function Yie(e,t,n,i){let o=k9(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function lv(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function k9(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function iVe(e,t,n,i){let o=0;for(let r=t,s=n-i;r<n;r+=i)o+=(e[s]-e[r])*(e[r+1]+e[s+1]),s=r;return o}var oVe=new h,rVe=new h,bg={};bg.computeArea2D=function(e){let t=e.length,n=0;for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];n+=r.x*s.y-s.x*r.y}return n*.5};bg.computeWindingOrder2D=function(e){return bg.computeArea2D(e)>0?gs.COUNTER_CLOCKWISE:gs.CLOCKWISE};bg.triangulate=function(e,t){let n=U.packArray(e);return V9(n,t,2)};var eoe=new h,toe=new h,noe=new h,Zie=new h,Qie=new h,Jie=new h,Ep=new h,ioe=new U,ooe=new U,roe=new U,AC=new U;bg.computeSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let A=t[a];if(u[d++]=A.x,u[d++]=A.y,u[d++]=A.z,r){let S=i[a];f[p++]=S.x,f[p++]=S.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=b*b;for(;s.length>0;){let A=s.pop(),S=s.pop(),w=s.pop(),D=h.fromArray(u,w*3,eoe),O=h.fromArray(u,S*3,toe),R=h.fromArray(u,A*3,noe),M,L,_;r&&(M=U.fromArray(f,w*2,ioe),L=U.fromArray(f,S*2,ooe),_=U.fromArray(f,A*2,roe));let E=h.multiplyByScalar(h.normalize(D,Zie),x,Zie),v=h.multiplyByScalar(h.normalize(O,Qie),x,Qie),I=h.multiplyByScalar(h.normalize(R,Jie),x,Jie),N=h.magnitudeSquared(h.subtract(E,v,Ep)),B=h.magnitudeSquared(h.subtract(v,I,Ep)),z=h.magnitudeSquared(h.subtract(I,E,Ep)),V=Math.max(N,B,z),G,k,Y;V>T?N===V?(G=`${Math.min(w,S)} ${Math.max(w,S)}`,a=m[G],l(a)||(k=h.add(D,O,Ep),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(Y=U.add(M,L,AC),U.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(w,a,A),s.push(a,S,A)):B===V?(G=`${Math.min(S,A)} ${Math.max(S,A)}`,a=m[G],l(a)||(k=h.add(O,R,Ep),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(Y=U.add(L,_,AC),U.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(S,a,w),s.push(a,A,w)):z===V&&(G=`${Math.min(A,w)} ${Math.max(A,w)}`,a=m[G],l(a)||(k=h.add(R,D,Ep),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(Y=U.add(_,M,AC),U.multiplyByScalar(Y,.5,Y),f.push(Y.x,Y.y))),s.push(A,a,S),s.push(a,w,S)):(g.push(w),g.push(S),g.push(A))}let C={attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Fe.TRIANGLES};return r&&(C.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new dt(C)};var sVe=new fe,aVe=new fe,cVe=new fe,U9=new fe;bg.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let w=t[a];if(u[d++]=w.x,u[d++]=w.y,u[d++]=w.z,r){let D=i[a];f[p++]=D.x,f[p++]=D.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=new Ka(void 0,void 0,e),C=new Ka(void 0,void 0,e),A=new Ka(void 0,void 0,e);for(;s.length>0;){let w=s.pop(),D=s.pop(),O=s.pop(),R=h.fromArray(u,O*3,eoe),M=h.fromArray(u,D*3,toe),L=h.fromArray(u,w*3,noe),_,E,v;r&&(_=U.fromArray(f,O*2,ioe),E=U.fromArray(f,D*2,ooe),v=U.fromArray(f,w*2,roe));let I=e.cartesianToCartographic(R,sVe),N=e.cartesianToCartographic(M,aVe),B=e.cartesianToCartographic(L,cVe);T.setEndPoints(I,N);let z=T.surfaceDistance;C.setEndPoints(N,B);let V=C.surfaceDistance;A.setEndPoints(B,I);let G=A.surfaceDistance,k=Math.max(z,V,G),Y,W,J,j,$;k>b?z===k?(Y=`${Math.min(O,D)} ${Math.max(O,D)}`,a=m[Y],l(a)||(W=T.interpolateUsingFraction(.5,U9),J=(I.height+N.height)*.5,j=h.fromRadians(W.longitude,W.latitude,J,e,Ep),u.push(j.x,j.y,j.z),a=u.length/3-1,m[Y]=a,r&&($=U.add(_,E,AC),U.multiplyByScalar($,.5,$),f.push($.x,$.y))),s.push(O,a,w),s.push(a,D,w)):V===k?(Y=`${Math.min(D,w)} ${Math.max(D,w)}`,a=m[Y],l(a)||(W=C.interpolateUsingFraction(.5,U9),J=(N.height+B.height)*.5,j=h.fromRadians(W.longitude,W.latitude,J,e,Ep),u.push(j.x,j.y,j.z),a=u.length/3-1,m[Y]=a,r&&($=U.add(E,v,AC),U.multiplyByScalar($,.5,$),f.push($.x,$.y))),s.push(D,a,O),s.push(a,w,O)):G===k&&(Y=`${Math.min(w,O)} ${Math.max(w,O)}`,a=m[Y],l(a)||(W=A.interpolateUsingFraction(.5,U9),J=(B.height+I.height)*.5,j=h.fromRadians(W.longitude,W.latitude,J,e,Ep),u.push(j.x,j.y,j.z),a=u.length/3-1,m[Y]=a,r&&($=U.add(v,_,AC),U.multiplyByScalar($,.5,$),f.push($.x,$.y))),s.push(w,a,D),s.push(a,O,D)):(g.push(O),g.push(D),g.push(w))}let S={attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Fe.TRIANGLES};return r&&(S.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new dt(S)};bg.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,ee.default);let o=oVe,r=rVe;if(t=y(t,0),i=y(i,!0),l(e)){let s=e.length;for(let a=0;a<s;a+=3)h.fromArray(e,a,r),i&&(r=n.scaleToGeodeticSurface(r,r)),t!==0&&(o=n.geodeticSurfaceNormal(r,o),h.multiplyByScalar(o,t,o),h.add(r,o,r)),e[a]=r.x,e[a+1]=r.y,e[a+2]=r.z}return e};var si=bg;function Tg(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(Tg.prototype,{length:{get:function(){return this._length}}});Tg.prototype.enqueue=function(e){this._array.push(e),this._length++};Tg.prototype.dequeue=function(){if(this._length===0)return;let e=this._array,t=this._offset,n=e[t];return e[t]=void 0,t++,t>10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};Tg.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};Tg.prototype.contains=function(e){return this._array.indexOf(e)!==-1};Tg.prototype.clear=function(){this._array.length=this._offset=this._length=0};Tg.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var cx=Tg;var jo={};jo.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!l(o))continue;n+=2;let r=o.positions,s=o.holes;if(l(r)&&r.length>0&&(n+=r.length*t.packedLength),l(s)){let a=s.length;for(let c=0;c<a;++c)i.push(s[c])}}return n};jo.packPolygonHierarchy=function(e,t,n,i){let o=[e];for(;o.length>0;){let r=o.pop();if(!l(r))continue;let s=r.positions,a=r.holes;if(t[n++]=l(s)?s.length:0,t[n++]=l(a)?a.length:0,l(s)){let c=s.length;for(let u=0;u<c;++u,n+=i.packedLength)i.pack(s[u],t,n)}if(l(a)){let c=a.length;for(let u=0;u<c;++u)o.push(a[u])}}return n};jo.unpackPolygonHierarchy=function(e,t,n){let i=e[t++],o=e[t++],r=new Array(i),s=o>0?new Array(o):void 0;for(let a=0;a<i;++a,t+=n.packedLength)r[a]=n.unpack(e,t);for(let a=0;a<o;++a)s[a]=jo.unpackPolygonHierarchy(e,t,n),t=s[a].startingIndex,delete s[a].startingIndex;return{positions:r,holes:s,startingIndex:t}};var lx=new U;function coe(e,t,n,i){return U.subtract(t,e,lx),U.multiplyByScalar(lx,n/i,lx),U.add(e,lx,lx),[lx.x,lx.y]}var Cg=new h;function lVe(e,t,n,i){return h.subtract(t,e,Cg),h.multiplyByScalar(Cg,n/i,Cg),h.add(e,Cg,Cg),[Cg.x,Cg.y,Cg.z]}jo.subdivideLineCount=function(e,t,n){let o=h.distance(e,t)/n,r=Math.max(0,Math.ceil(P.log2(o)));return Math.pow(2,r)};var VN=new fe,UN=new fe,uVe=new fe,fVe=new h,kN=new Ka;jo.subdivideRhumbLineCount=function(e,t,n,i){let o=e.cartesianToCartographic(t,VN),r=e.cartesianToCartographic(n,UN),a=new Ka(o,r,e).surfaceDistance/i,c=Math.max(0,Math.ceil(P.log2(a)));return Math.pow(2,c)};jo.subdivideTexcoordLine=function(e,t,n,i,o,r){let s=jo.subdivideLineCount(n,i,o),a=U.distance(e,t),c=a/s,u=r;u.length=s*2;let f=0;for(let d=0;d<s;d++){let p=coe(e,t,d*c,a);u[f++]=p[0],u[f++]=p[1]}return u};jo.subdivideLine=function(e,t,n,i){let o=jo.subdivideLineCount(e,t,n),r=h.distance(e,t),s=r/o;l(i)||(i=[]);let a=i;a.length=o*3;let c=0;for(let u=0;u<o;u++){let f=lVe(e,t,u*s,r);a[c++]=f[0],a[c++]=f[1],a[c++]=f[2]}return a};jo.subdivideTexcoordRhumbLine=function(e,t,n,i,o,r,s){let a=n.cartesianToCartographic(i,VN),c=n.cartesianToCartographic(o,UN);kN.setEndPoints(a,c);let u=kN.surfaceDistance/r,f=Math.max(0,Math.ceil(P.log2(u))),d=Math.pow(2,f),p=U.distance(e,t),g=p/d,m=s;m.length=d*2;let x=0;for(let b=0;b<d;b++){let T=coe(e,t,b*g,p);m[x++]=T[0],m[x++]=T[1]}return m};jo.subdivideRhumbLine=function(e,t,n,i,o){let r=e.cartesianToCartographic(t,VN),s=e.cartesianToCartographic(n,UN),a=new Ka(r,s,e),c=a.surfaceDistance/i,u=Math.max(0,Math.ceil(P.log2(c))),f=Math.pow(2,u),d=a.surfaceDistance/f;l(o)||(o=[]);let p=o;p.length=f*3;let g=0;for(let m=0;m<f;m++){let x=a.interpolateUsingSurfaceDistance(m*d,uVe),b=e.cartographicToCartesian(x,fVe);p[g++]=b.x,p[g++]=b.y,p[g++]=b.z}return p};var dVe=new h,hVe=new h,mVe=new h,pVe=new h;jo.scaleToGeodeticHeightExtruded=function(e,t,n,i,o){i=y(i,ee.default);let r=dVe,s=hVe,a=mVe,c=pVe;if(l(e)&&l(e.attributes)&&l(e.attributes.position)){let u=e.attributes.position.values,f=u.length/2;for(let d=0;d<f;d+=3)h.fromArray(u,d,a),i.geodeticSurfaceNormal(a,r),c=i.scaleToGeodeticSurface(a,c),s=h.multiplyByScalar(r,n,s),s=h.add(c,s,s),u[d+f]=s.x,u[d+1+f]=s.y,u[d+2+f]=s.z,o&&(c=h.clone(a,c)),s=h.multiplyByScalar(r,t,s),s=h.add(c,s,s),u[d]=s.x,u[d+1]=s.y,u[d+2]=s.z}return e};jo.polygonOutlinesFromHierarchy=function(e,t,n){let i=[],o=new cx;o.enqueue(e);let r,s,a;for(;o.length!==0;){let c=o.dequeue(),u=c.positions;if(t)for(a=u.length,r=0;r<a;r++)n.scaleToGeodeticSurface(u[r],u[r]);if(u=xo(u,h.equalsEpsilon,!0),u.length<3)continue;let f=c.holes?c.holes.length:0;for(r=0;r<f;r++){let d=c.holes[r],p=d.positions;if(t)for(a=p.length,s=0;s<a;++s)n.scaleToGeodeticSurface(p[s],p[s]);if(p=xo(p,h.equalsEpsilon,!0),p.length<3)continue;i.push(p);let g=0;for(l(d.holes)&&(g=d.holes.length),s=0;s<g;s++)o.enqueue(d.holes[s])}i.push(u)}return i};var _Ve=new fe;function gVe(e,t,n){let i=n.cartesianToCartographic(e,VN),o=n.cartesianToCartographic(t,UN);if(Math.sign(i.latitude)===Math.sign(o.latitude))return;kN.setEndPoints(i,o);let r=kN.findIntersectionWithLatitude(0,_Ve);if(!l(r))return;let s=Math.min(i.longitude,o.longitude),a=Math.max(i.longitude,o.longitude);if(Math.abs(a-s)>P.PI){let c=s;s=a,a=c}if(!(r.longitude<s||r.longitude>a))return n.cartographicToCartesian(r)}function yVe(e,t,n,i){if(i===nn.RHUMB)return gVe(e,t,n);let o=Jn.lineSegmentPlane(e,t,cn.ORIGIN_XY_PLANE);if(l(o))return n.scaleToGeodeticSurface(o,o)}var xVe=new fe;function bVe(e,t,n){let i=[],o,r,s,a,c,u=0;for(;u<e.length;){o=e[u],r=e[(u+1)%e.length],s=P.sign(o.z),a=P.sign(r.z);let f=d=>t.cartesianToCartographic(d,xVe).longitude;if(s===0)i.push({position:u,type:s,visited:!1,next:a,theta:f(o)});else if(a!==0){if(c=yVe(o,r,t,n),++u,!l(c))continue;e.splice(u,0,c),i.push({position:u,type:s,visited:!1,next:a,theta:f(c)})}++u}return i}function loe(e,t,n,i,o,r,s){let a=[],c=r,u=d=>p=>p.position===d,f=[];do{let d=n[c];a.push(d);let p=i.findIndex(u(c)),g=i[p];if(!l(g)){++c;continue}let{visited:m,type:x,next:b}=g;if(g.visited=!0,x===0){if(b===0){let S=i[p-(s?1:-1)];if(S?.position===c+1)S.visited=!0;else{++c;continue}}if(!m&&s&&b>0||r===c&&!s&&b<0){++c;continue}}if(!(s?x>=0:x<=0)){++c;continue}m||f.push(c);let C=p+(s?1:-1),A=i[C];if(!l(A)){++c;continue}c=A.position}while(c<n.length&&c>=0&&c!==r&&a.length<n.length);e.splice(t,o,a);for(let d of f)t=loe(e,++t,n,i,0,d,!s);return t}jo.splitPolygonsOnEquator=function(e,t,n,i){l(i)||(i=[]),i.splice(0,0,...e),i.length=e.length;let o=0;for(;o<i.length;){let r=i[o],s=r.slice();if(r.length<3){i[o]=s,++o;continue}let a=bVe(s,t,n);if(s.length===r.length||a.length<=1){i[o]=s,++o;continue}a.sort((u,f)=>u.theta-f.theta);let c=s[0].z>=0;o=loe(i,o,s,a,1,0,c)}return i};jo.polygonsFromHierarchy=function(e,t,n,i,o,r){let s=[],a=[],c=new cx;c.enqueue(e);let u=l(r);for(;c.length!==0;){let f=c.dequeue(),d=f.positions,p=f.holes,g,m;if(i)for(m=d.length,g=0;g<m;g++)o.scaleToGeodeticSurface(d[g],d[g]);if(t||(d=xo(d,h.equalsEpsilon,!0)),d.length<3)continue;let x=n(d);if(!l(x))continue;let b=[],T=si.computeWindingOrder2D(x);if(T===gs.CLOCKWISE&&(x.reverse(),d=d.slice().reverse()),u){u=!1;let D=[d];if(D=r(D,D),D.length>1){for(let O of D)c.enqueue(new $a(O,p));continue}}let C=d.slice(),A=l(p)?p.length:0,S=[],w;for(g=0;g<A;g++){let D=p[g],O=D.positions;if(i)for(m=O.length,w=0;w<m;++w)o.scaleToGeodeticSurface(O[w],O[w]);if(t||(O=xo(O,h.equalsEpsilon,!0)),O.length<3)continue;let R=n(O);if(!l(R))continue;T=si.computeWindingOrder2D(R),T===gs.CLOCKWISE&&(R.reverse(),O=O.slice().reverse()),S.push(O),b.push(C.length),C=C.concat(O),x=x.concat(R);let M=0;for(l(D.holes)&&(M=D.holes.length),w=0;w<M;w++)c.enqueue(D.holes[w])}s.push({outerRing:d,holes:S}),a.push({positions:C,positions2D:x,holes:b})}return{hierarchy:s,polygons:a}};var TVe=new U,CVe=new h,AVe=new Ne,EVe=new Z;jo.computeBoundingRectangle=function(e,t,n,i,o){let r=Ne.fromAxisAngle(e,i,AVe),s=Z.fromQuaternion(r,EVe),a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,d=n.length;for(let p=0;p<d;++p){let g=h.clone(n[p],CVe);Z.multiplyByVector(s,g,g);let m=t(g,TVe);l(m)&&(a=Math.min(a,m.x),c=Math.max(c,m.x),u=Math.min(u,m.y),f=Math.max(f,m.y))}return o.x=a,o.y=u,o.width=c-a,o.height=f-u,o};jo.createGeometryFromPositions=function(e,t,n,i,o,r,s){let a=si.triangulate(t.positions2D,t.holes);a.length<3&&(a=[0,1,2]);let c=t.positions,u=l(n),f=u?n.positions:void 0;if(o){let d=c.length,p=new Array(d*3),g=0;for(let b=0;b<d;b++){let T=c[b];p[g++]=T.x,p[g++]=T.y,p[g++]=T.z}let m={attributes:{position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:p})},indices:a,primitiveType:Fe.TRIANGLES};u&&(m.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:U.packArray(f)}));let x=new dt(m);return r.normal?Un.computeNormal(x):x}if(s===nn.GEODESIC)return si.computeSubdivision(e,c,a,f,i);if(s===nn.RHUMB)return si.computeRhumbLineSubdivision(e,c,a,f,i)};var soe=[],aoe=[],SVe=new h,wVe=new h;jo.computeWallGeometry=function(e,t,n,i,o,r){let s,a,c,u,f,d,p,g,m,x=e.length,b=0,T=0,C=l(t),A=C?t.positions:void 0;if(o)for(a=x*3*2,s=new Array(a*2),C&&(m=x*2*2,g=new Array(m*2)),c=0;c<x;c++)u=e[c],f=e[(c+1)%x],s[b]=s[b+a]=u.x,++b,s[b]=s[b+a]=u.y,++b,s[b]=s[b+a]=u.z,++b,s[b]=s[b+a]=f.x,++b,s[b]=s[b+a]=f.y,++b,s[b]=s[b+a]=f.z,++b,C&&(d=A[c],p=A[(c+1)%x],g[T]=g[T+m]=d.x,++T,g[T]=g[T+m]=d.y,++T,g[T]=g[T+m]=p.x,++T,g[T]=g[T+m]=p.y,++T);else{let R=P.chordLength(i,n.maximumRadius),M=0;if(r===nn.GEODESIC)for(c=0;c<x;c++)M+=jo.subdivideLineCount(e[c],e[(c+1)%x],R);else if(r===nn.RHUMB)for(c=0;c<x;c++)M+=jo.subdivideRhumbLineCount(n,e[c],e[(c+1)%x],R);for(a=(M+x)*3,s=new Array(a*2),C&&(m=(M+x)*2,g=new Array(m*2)),c=0;c<x;c++){u=e[c],f=e[(c+1)%x];let L,_;C&&(d=A[c],p=A[(c+1)%x]),r===nn.GEODESIC?(L=jo.subdivideLine(u,f,R,aoe),C&&(_=jo.subdivideTexcoordLine(d,p,u,f,R,soe))):r===nn.RHUMB&&(L=jo.subdivideRhumbLine(n,u,f,R,aoe),C&&(_=jo.subdivideTexcoordRhumbLine(d,p,n,u,f,R,soe)));let E=L.length;for(let v=0;v<E;++v,++b)s[b]=L[v],s[b+a]=L[v];if(s[b]=f.x,s[b+a]=f.x,++b,s[b]=f.y,s[b+a]=f.y,++b,s[b]=f.z,s[b+a]=f.z,++b,C){let v=_.length;for(let I=0;I<v;++I,++T)g[T]=_[I],g[T+m]=_[I];g[T]=p.x,g[T+m]=p.x,++T,g[T]=p.y,g[T+m]=p.y,++T}}}x=s.length;let S=Be.createTypedArray(x/3,x-e.length*6),w=0;for(x/=6,c=0;c<x;c++){let R=c,M=R+1,L=R+x,_=L+1;u=h.fromArray(s,R*3,SVe),f=h.fromArray(s,M*3,wVe),!h.equalsEpsilon(u,f,P.EPSILON10,P.EPSILON10)&&(S[w++]=R,S[w++]=L,S[w++]=M,S[w++]=M,S[w++]=L,S[w++]=_)}let D={attributes:new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),indices:S,primitiveType:Fe.TRIANGLES};return C&&(D.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),new dt(D)};var Hn=jo;function Or(e,t){this.position=e,l(this.position)||(this.position=new U),this.tangentPlane=t,l(this.tangentPlane)||(this.tangentPlane=Or.NORTH_POLE_TANGENT_PLANE)}Object.defineProperties(Or.prototype,{ellipsoid:{get:function(){return this.tangentPlane.ellipsoid}},x:{get:function(){return this.position.x}},y:{get:function(){return this.position.y}},conformalLatitude:{get:function(){let e=U.magnitude(this.position),t=2*this.ellipsoid.maximumRadius;return this.tangentPlane.plane.normal.z*(P.PI_OVER_TWO-2*Math.atan2(e,t))}},longitude:{get:function(){let e=P.PI_OVER_TWO+Math.atan2(this.y,this.x);return e>Math.PI&&(e-=P.TWO_PI),e}}});var EC=new fe,vVe=new h;Or.prototype.getLatitude=function(e){l(e)||(e=ee.default),EC.latitude=this.conformalLatitude,EC.longitude=this.longitude,EC.height=0;let t=this.ellipsoid.cartographicToCartesian(EC,vVe);return e.cartesianToCartographic(t,EC),EC.latitude};var DVe=new _n,IVe=new h,PVe=new h;Or.fromCartesian=function(e,t){let n=P.signNotZero(e.z),i=Or.NORTH_POLE_TANGENT_PLANE,o=Or.SOUTH_POLE;n<0&&(i=Or.SOUTH_POLE_TANGENT_PLANE,o=Or.NORTH_POLE);let r=DVe;r.origin=i.ellipsoid.scaleToGeocentricSurface(e,r.origin),r.direction=h.subtract(r.origin,o,IVe),h.normalize(r.direction,r.direction);let s=Jn.rayPlane(r,i.plane,PVe),a=h.subtract(s,o,s),c=h.dot(i.xAxis,a),u=n*h.dot(i.yAxis,a);return l(t)?(t.position=new U(c,u),t.tangentPlane=i,t):new Or(new U(c,u),i)};Or.fromCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=Or.fromCartesian(e[i],t[i]);return t};Or.clone=function(e,t){if(l(e))return l(t)?(t.position=e.position,t.tangentPlane=e.tangentPlane,t):new Or(e.position,e.tangentPlane)};Or.HALF_UNIT_SPHERE=Object.freeze(new ee(.5,.5,.5));Or.NORTH_POLE=Object.freeze(new h(0,0,.5));Or.SOUTH_POLE=Object.freeze(new h(0,0,-.5));Or.NORTH_POLE_TANGENT_PLANE=Object.freeze(new Jr(Or.NORTH_POLE,Or.HALF_UNIT_SPHERE));Or.SOUTH_POLE_TANGENT_PLANE=Object.freeze(new Jr(Or.SOUTH_POLE,Or.HALF_UNIT_SPHERE));var Mc=Or;var RVe=new fe,uoe=new fe;function OVe(e,t,n,i){let r=i.cartesianToCartographic(e,RVe).height,s=i.cartesianToCartographic(t,uoe);s.height=r,i.cartographicToCartesian(s,t);let a=i.cartesianToCartographic(n,uoe);a.height=r-100,i.cartographicToCartesian(a,n)}var foe=new qe,MVe=new h,LVe=new h,NVe=new h,FVe=new h,BVe=new h,kVe=new h,zN=new h,Wh=new h,SC=new h,VVe=new U,UVe=new U,zVe=new h,doe=new Ne,HVe=new Z,GVe=new Z;function z9(e){let t=e.vertexFormat,n=e.geometry,i=e.shadowVolume,o=n.attributes.position.values,r=l(n.attributes.st)?n.attributes.st.values:void 0,s=o.length,a=e.wall,c=e.top||a,u=e.bottom||a;if(t.st||t.normal||t.tangent||t.bitangent||i){let f=e.boundingRectangle,d=e.rotationAxis,p=e.projectTo2d,g=e.ellipsoid,m=e.stRotation,x=e.perPositionHeight,b=VVe;b.x=f.x,b.y=f.y;let T=t.st?new Float32Array(2*(s/3)):void 0,C;t.normal&&(x&&c&&!a?C=n.attributes.normal.values:C=new Float32Array(s));let A=t.tangent?new Float32Array(s):void 0,S=t.bitangent?new Float32Array(s):void 0,w=i?new Float32Array(s):void 0,D=0,O=0,R=LVe,M=NVe,L=FVe,_=!0,E=HVe,v=GVe;if(m!==0){let B=Ne.fromAxisAngle(d,m,doe);E=Z.fromQuaternion(B,E),B=Ne.fromAxisAngle(d,-m,doe),v=Z.fromQuaternion(B,v)}else E=Z.clone(Z.IDENTITY,E),v=Z.clone(Z.IDENTITY,v);let I=0,N=0;c&&u&&(I=s/2,N=s/3,s/=2);for(let B=0;B<s;B+=3){let z=h.fromArray(o,B,zVe);if(t.st&&!l(r)){let V=Z.multiplyByVector(E,z,MVe);V=g.scaleToGeodeticSurface(V,V);let G=p([V],UVe)[0];U.subtract(G,b,G);let k=P.clamp(G.x/f.width,0,1),Y=P.clamp(G.y/f.height,0,1);u&&(T[D+N]=k,T[D+1+N]=Y),c&&(T[D]=k,T[D+1]=Y),D+=2}if(t.normal||t.tangent||t.bitangent||i){let V=O+1,G=O+2;if(a){if(B+3<s){let k=h.fromArray(o,B+3,BVe);if(_){let Y=h.fromArray(o,B+s,kVe);x&&OVe(z,k,Y,g),h.subtract(k,z,k),h.subtract(Y,z,Y),R=h.normalize(h.cross(Y,k,R),R),_=!1}h.equalsEpsilon(k,z,P.EPSILON10)&&(_=!0)}(t.tangent||t.bitangent)&&(L=g.geodeticSurfaceNormal(z,L),t.tangent&&(M=h.normalize(h.cross(L,R,M),M)))}else R=g.geodeticSurfaceNormal(z,R),(t.tangent||t.bitangent)&&(x&&(zN=h.fromArray(C,O,zN),Wh=h.cross(h.UNIT_Z,zN,Wh),Wh=h.normalize(Z.multiplyByVector(v,Wh,Wh),Wh),t.bitangent&&(SC=h.normalize(h.cross(zN,Wh,SC),SC))),M=h.cross(h.UNIT_Z,R,M),M=h.normalize(Z.multiplyByVector(v,M,M),M),t.bitangent&&(L=h.normalize(h.cross(R,M,L),L)));t.normal&&(e.wall?(C[O+I]=R.x,C[V+I]=R.y,C[G+I]=R.z):u&&(C[O+I]=-R.x,C[V+I]=-R.y,C[G+I]=-R.z),(c&&!x||a)&&(C[O]=R.x,C[V]=R.y,C[G]=R.z)),i&&(a&&(R=g.geodeticSurfaceNormal(z,R)),w[O+I]=-R.x,w[V+I]=-R.y,w[G+I]=-R.z),t.tangent&&(e.wall?(A[O+I]=M.x,A[V+I]=M.y,A[G+I]=M.z):u&&(A[O+I]=-M.x,A[V+I]=-M.y,A[G+I]=-M.z),c&&(x?(A[O]=Wh.x,A[V]=Wh.y,A[G]=Wh.z):(A[O]=M.x,A[V]=M.y,A[G]=M.z))),t.bitangent&&(u&&(S[O+I]=L.x,S[V+I]=L.y,S[G+I]=L.z),c&&(x?(S[O]=SC.x,S[V]=SC.y,S[G]=SC.z):(S[O]=L.x,S[V]=L.y,S[G]=L.z))),O+=3}}t.st&&!l(r)&&(n.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T})),t.normal&&(n.attributes.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.tangent&&(n.attributes.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.bitangent&&(n.attributes.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:S})),i&&(n.attributes.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:w}))}if(e.extrude&&l(e.offsetAttribute)){let f=o.length/3,d=new Uint8Array(f);if(e.offsetAttribute===ln.TOP)c&&u||a?d=d.fill(1,0,f/2):c&&(d=d.fill(1));else{let p=e.offsetAttribute===ln.NONE?0:1;d=d.fill(p)}n.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return n}var hoe=[];function WVe(e,t,n,i,o,r,s,a,c,u){let f={walls:[]},d;if(s||a){let C=Hn.createGeometryFromPositions(e,t,n,i,r,c,u),A=C.attributes.position.values,S=C.indices,w,D;if(s&&a){let O=A.concat(A);w=O.length/3,D=Be.createTypedArray(w,S.length*2),D.set(S);let R=S.length,M=w/2;for(d=0;d<R;d+=3){let L=D[d]+M,_=D[d+1]+M,E=D[d+2]+M;D[d+R]=E,D[d+1+R]=_,D[d+2+R]=L}if(C.attributes.position.values=O,r&&c.normal){let L=C.attributes.normal.values;C.attributes.normal.values=new Float32Array(O.length),C.attributes.normal.values.set(L)}if(c.st&&l(n)){let L=C.attributes.st.values;C.attributes.st.values=new Float32Array(w*2),C.attributes.st.values=L.concat(L)}C.indices=D}else if(a){for(w=A.length/3,D=Be.createTypedArray(w,S.length),d=0;d<S.length;d+=3)D[d]=S[d+2],D[d+1]=S[d+1],D[d+2]=S[d];C.indices=D}f.topAndBottom=new wt({geometry:C})}let p=o.outerRing,g=Jr.fromPoints(p,e),m=g.projectPointsOntoPlane(p,hoe),x=si.computeWindingOrder2D(m);x===gs.CLOCKWISE&&(p=p.slice().reverse());let b=Hn.computeWallGeometry(p,n,e,i,r,u);f.walls.push(new wt({geometry:b}));let T=o.holes;for(d=0;d<T.length;d++){let C=T[d];m=g.projectPointsOntoPlane(C,hoe),x=si.computeWindingOrder2D(m),x===gs.COUNTER_CLOCKWISE&&(C=C.slice().reverse()),b=Hn.computeWallGeometry(C,n,e,i,r,u),f.walls.push(new wt({geometry:b}))}return f}function af(e){let t=e.polygonHierarchy,n=y(e.vertexFormat,Pe.DEFAULT),i=y(e.ellipsoid,ee.default),o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.stRotation,0),s=e.textureCoordinates,a=y(e.perPositionHeight,!1),c=a&&l(e.extrudedHeight),u=y(e.height,0),f=y(e.extrudedHeight,u);if(!c){let d=Math.max(u,f);f=Math.min(u,f),u=d}this._vertexFormat=Pe.clone(n),this._ellipsoid=ee.clone(i),this._granularity=o,this._stRotation=r,this._height=u,this._extrudedHeight=f,this._closeTop=y(e.closeTop,!0),this._closeBottom=y(e.closeBottom,!0),this._polygonHierarchy=t,this._perPositionHeight=a,this._perPositionHeightExtrude=c,this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=y(e.arcType,nn.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=s,this.packedLength=Hn.computeHierarchyPackedLength(t,h)+ee.packedLength+Pe.packedLength+(s?Hn.computeHierarchyPackedLength(s,U):1)+12}af.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType,textureCoordinates:e.textureCoordinates};return new af(t)};af.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._stRotation,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._closeTop?1:0,t[n++]=e._closeBottom?1:0,t[n++]=e._shadowVolume?1:0,t[n++]=y(e._offsetAttribute,-1),t[n++]=e._arcType,l(e._textureCoordinates)?n=Hn.packPolygonHierarchy(e._textureCoordinates,t,n,U):t[n++]=-1,t[n++]=e.packedLength,t};var jVe=ee.clone(ee.UNIT_SPHERE),qVe=new Pe,YVe={polygonHierarchy:{}};af.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,jVe);t+=ee.packedLength;let r=Pe.unpack(e,t,qVe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++]===1,d=e[t++]===1,p=e[t++]===1,g=e[t++]===1,m=e[t++]===1,x=e[t++],b=e[t++],T=e[t]===-1?void 0:Hn.unpackPolygonHierarchy(e,t,U);l(T)?(t=T.startingIndex,delete T.startingIndex):t++;let C=e[t++];return l(n)||(n=new af(YVe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._height=s,n._extrudedHeight=a,n._granularity=c,n._stRotation=u,n._perPositionHeightExtrude=f,n._perPositionHeight=d,n._closeTop=p,n._closeBottom=g,n._shadowVolume=m,n._offsetAttribute=x===-1?void 0:x,n._arcType=b,n._textureCoordinates=T,n.packedLength=C,n};var XVe=new U,KVe=new U,$Ve=new Mc;function moe(e,t,n,i,o,r){let s=e.longitude,a=s>=0?s:s+P.TWO_PI;o.westOverIdl=Math.min(o.westOverIdl,a),o.eastOverIdl=Math.max(o.eastOverIdl,a),r.west=Math.min(r.west,s),r.east=Math.max(r.east,s);let c=e.getLatitude(n),u=c;if(r.south=Math.min(r.south,c),r.north=Math.max(r.north,c),i!==nn.RHUMB){let p=U.subtract(t.position,e.position,XVe),g=U.dot(t.position,p)/U.dot(p,p);if(g>0&&g<1){let m=U.add(t.position,U.multiplyByScalar(p,-g,p),KVe),x=Mc.clone(t,$Ve);x.position=m;let b=x.getLatitude(n);r.south=Math.min(r.south,b),r.north=Math.max(r.north,b),Math.abs(c)>Math.abs(b)&&(u=b)}}let f=t.x*e.y-e.x*t.y,d=Math.sign(f);d!==0&&(d*=U.angleBetween(t.position,e.position)),u>=0&&(o.northAngle+=d),u<=0&&(o.southAngle+=d)}var poe=new Mc,ZVe=new Mc,sf={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};af.computeRectangleFromPositions=function(e,t,n,i){if(l(i)||(i=new se),e.length<3)return i;i.west=Number.POSITIVE_INFINITY,i.east=Number.NEGATIVE_INFINITY,i.south=Number.POSITIVE_INFINITY,i.north=Number.NEGATIVE_INFINITY,sf.northAngle=0,sf.southAngle=0,sf.westOverIdl=Number.POSITIVE_INFINITY,sf.eastOverIdl=Number.NEGATIVE_INFINITY;let o=e.length,r=Mc.fromCartesian(e[0],ZVe);for(let s=1;s<o;s++){let a=Mc.fromCartesian(e[s],poe);moe(a,r,t,n,sf,i),r=Mc.clone(a,r)}return moe(Mc.fromCartesian(e[0],poe),r,t,n,sf,i),i.east-i.west>sf.eastOverIdl-sf.westOverIdl&&(i.west=sf.westOverIdl,i.east=sf.eastOverIdl,i.east>P.PI&&(i.east=i.east-P.TWO_PI),i.west>P.PI&&(i.west=i.west-P.TWO_PI)),P.equalsEpsilon(Math.abs(sf.northAngle),P.TWO_PI,P.EPSILON10)&&(i.north=P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),P.equalsEpsilon(Math.abs(sf.southAngle),P.TWO_PI,P.EPSILON10)&&(i.south=-P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),i};var QVe=new Mc;function JVe(e,t,n){return e.height>=P.PI||e.width>=P.PI?Mc.fromCartesian(t[0],QVe).tangentPlane:Jr.fromPoints(t,n)}var _oe=new fe;function eUe(e,t,n){return(i,o)=>{if(e.height>=P.PI||e.width>=P.PI){if(e.south<0&&e.north>0){l(o)||(o=[]);for(let s=0;s<i.length;++s){let a=n.cartesianToCartographic(i[s],_oe);o[s]=new U(a.longitude/P.PI,a.latitude/P.PI_OVER_TWO)}return o.length=i.length,o}return Mc.fromCartesianArray(i,o)}return Jr.fromPoints(t,n).projectPointsOntoPlane(i,o)}}function tUe(e,t,n){if(e.height>=P.PI||e.width>=P.PI)return(o,r)=>{if(e.south<0&&e.north>0){let s=n.cartesianToCartographic(o,_oe);return l(r)||(r=new U),r.x=s.longitude/P.PI,r.y=s.latitude/P.PI_OVER_TWO,r}return Mc.fromCartesian(o,r)};let i=Jr.fromPoints(t,n);return(o,r)=>i.projectPointsOntoPlane(o,r)}function nUe(e,t,n,i){return(o,r)=>!i&&(e.height>=P.PI_OVER_TWO||e.width>=2*P.PI_OVER_THREE)?Hn.splitPolygonsOnEquator(o,t,n,r):o}function iUe(e,t,n,i){if(t.height>=P.PI||t.width>=P.PI)return qe.fromRectangle(t,void 0,foe);let o=e,r=Jr.fromPoints(o,n);return Hn.computeBoundingRectangle(r.plane.normal,r.projectPointOntoPlane.bind(r),o,i,foe)}af.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,u=e._arcType,f=e._textureCoordinates,d=l(f),p=r.positions;if(p.length<3)return;let g=e.rectangle,m=Hn.polygonsFromHierarchy(r,d,eUe(g,p,n),!s,n,nUe(g,n,u,s)),x=m.hierarchy,b=m.polygons,T=function(I){return I},C=d?Hn.polygonsFromHierarchy(f,!0,T,!1,n).polygons:void 0;if(x.length===0)return;let A=x[0].outerRing,S=iUe(A,g,n,o),w=[],D=e._height,O=e._extrudedHeight,R=e._perPositionHeightExtrude||!P.equalsEpsilon(D,O,0,P.EPSILON2),M={perPositionHeight:s,vertexFormat:t,geometry:void 0,rotationAxis:JVe(g,A,n).plane.normal,projectTo2d:tUe(g,A,n),boundingRectangle:S,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:u},L;if(R)for(M.extrude=!0,M.top=a,M.bottom=c,M.shadowVolume=e._shadowVolume,M.offsetAttribute=e._offsetAttribute,L=0;L<b.length;L++){let I=WVe(n,b[L],d?C[L]:void 0,i,x[L],s,a,c,t,u),N;a&&c?(N=I.topAndBottom,M.geometry=Hn.scaleToGeodeticHeightExtruded(N.geometry,D,O,n,s)):a?(N=I.topAndBottom,N.geometry.attributes.position.values=si.scaleToGeodeticHeight(N.geometry.attributes.position.values,D,n,!s),M.geometry=N.geometry):c&&(N=I.topAndBottom,N.geometry.attributes.position.values=si.scaleToGeodeticHeight(N.geometry.attributes.position.values,O,n,!0),M.geometry=N.geometry),(a||c)&&(M.wall=!1,N.geometry=z9(M),w.push(N));let B=I.walls;M.wall=!0;for(let z=0;z<B.length;z++){let V=B[z];M.geometry=Hn.scaleToGeodeticHeightExtruded(V.geometry,D,O,n,s),V.geometry=z9(M),w.push(V)}}else for(L=0;L<b.length;L++){let I=new wt({geometry:Hn.createGeometryFromPositions(n,b[L],d?C[L]:void 0,i,s,t,u)});if(I.geometry.attributes.position.values=si.scaleToGeodeticHeight(I.geometry.attributes.position.values,D,n,!s),M.geometry=I.geometry,I.geometry=z9(M),l(e._offsetAttribute)){let N=I.geometry.attributes.position.values.length,B=e._offsetAttribute===ln.NONE?0:1,z=new Uint8Array(N/3).fill(B);I.geometry.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:z})}w.push(I)}let _=Un.combineInstances(w)[0];_.attributes.position.values=new Float64Array(_.attributes.position.values),_.indices=Be.createTypedArray(_.attributes.position.values.length/3,_.indices);let E=_.attributes,v=ae.fromVertices(E.position.values);return t.position||delete E.position,new dt({attributes:E,indices:_.indices,primitiveType:_.primitiveType,boundingSphere:v,offsetAttribute:e._offsetAttribute})};af.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new af({polygonHierarchy:e._polygonHierarchy,ellipsoid:o,stRotation:e._stRotation,granularity:i,perPositionHeight:!1,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})};function oUe(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let n=e._ellipsoid,i=e._polygonHierarchy.positions,o=e.rectangle;return dt._textureCoordinateRotationPoints(i,t,n,o)}Object.defineProperties(af.prototype,{rectangle:{get:function(){if(!l(this._rectangle)){let e=this._polygonHierarchy.positions;this._rectangle=af.computeRectangleFromPositions(e,this._ellipsoid,this._arcType)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=oUe(this)),this._textureCoordinateRotationPoints}}});var Ag=af;function ux(e){this._ellipsoid=y(e.ellipsoid,ee.default),this._positions=[...e.positions]}Object.defineProperties(ux.prototype,{length:{get:function(){return this._positions.length}},positions:{get:function(){return this._positions}},ellipsoid:{get:function(){return this._ellipsoid}}});ux.clone=function(e,t){return l(t)?(t._ellipsoid=e.ellipsoid,t._positions.length=0,t._positions.push(...e.positions),t):new ux({positions:e.positions,ellipsoid:e.ellipsoid})};ux.equals=function(e,t){return e.ellipsoid.equals(t.ellipsoid)&&e.positions===t.positions};ux.prototype.computeRectangle=function(e){return Ag.computeRectangleFromPositions(this.positions,this.ellipsoid,void 0,e)};var rUe=new se,goe=new h;ux.prototype.computeSphericalExtents=function(e){l(e)||(e=new se);let t=this.computeRectangle(rUe),n=fe.toCartesian(se.southwest(t),this.ellipsoid,goe),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y);return e.south=o,e.west=r,n=fe.toCartesian(se.northeast(t),this.ellipsoid,goe),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y),e.north=o,e.east=r,e};var uv=ux;var HN=`in vec2 v_textureCoordinates; +${o.stack}`),o};tc.getNodeTransform=function(e){return l(e.matrix)?e.matrix:F.fromTranslationQuaternionRotationScale(l(e.translation)?e.translation:h.ZERO,l(e.rotation)?e.rotation:Le.IDENTITY,l(e.scale)?e.scale:h.ONE)};tc.getAttributeBySemantic=function(e,t,n){let i=e.attributes,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=l(n)?s.setIndex===n:!0;if(s.semantic===t&&a)return s}};tc.getAttributeByName=function(e,t){let n=e.attributes,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.name===t)return r}};tc.getFeatureIdsByLabel=function(e,t){for(let n=0;n<e.length;n++){let i=e[n];if(i.positionalLabel===t||i.label===t)return i}};tc.hasQuantizedAttributes=function(e){if(!l(e))return!1;for(let t=0;t<e.length;t++){let n=e[t];if(l(n.quantization))return!0}return!1};tc.getAttributeInfo=function(e){let t=e.semantic,n=e.setIndex,i,o=!1;l(t)?(i=St.getVariableName(t,n),o=!0):(i=e.name,i=i.replace(/^_/,""),i=i.toLowerCase());let r=/^color_\d+$/.test(i),s=e.type,a=sn.getGlslType(s);r&&(a="vec4");let c=l(e.quantization),u;return c&&(u=r?"vec4":sn.getGlslType(e.quantization.type)),{attribute:e,isQuantized:c,variableName:i,hasSemantic:o,glslType:a,quantizedGlslType:u}};var B3e=new h,k3e=new h;tc.getPositionMinMax=function(e,t,n){let i=tc.getAttributeBySemantic(e,"POSITION"),o=i.max,r=i.min;return l(n)&&l(t)&&(r=h.add(r,t,k3e),o=h.add(o,n,B3e)),{min:r,max:o}};tc.getAxisCorrectionMatrix=function(e,t,n){return n=F.clone(F.IDENTITY,n),e===No.Y?n=F.clone(No.Y_UP_TO_Z_UP,n):e===No.X&&(n=F.clone(No.X_UP_TO_Z_UP,n)),t===No.Z&&(n=F.multiplyTransformation(n,No.Z_UP_TO_X_UP,n)),n};var V3e=new $;tc.getCullFace=function(e,t){if(!Fe.isTriangles(t))return Ti.BACK;let n=F.getMatrix3(e,V3e);return $.determinant(n)<0?Ti.FRONT:Ti.BACK};tc.sanitizeGlslIdentifier=function(e){let t=e.replaceAll(/[^A-Za-z0-9]+/g,"_");return t=t.replace(/^gl_/,""),/^\d/.test(t)&&(t=`_${t}`),t};tc.supportedExtensions={AGI_articulations:!0,CESIUM_primitive_outline:!0,CESIUM_RTC:!0,EXT_feature_metadata:!0,EXT_instance_features:!0,EXT_mesh_features:!0,EXT_mesh_gpu_instancing:!0,EXT_meshopt_compression:!0,EXT_structural_metadata:!0,EXT_texture_webp:!0,KHR_blend:!0,KHR_draco_mesh_compression:!0,KHR_techniques_webgl:!0,KHR_materials_common:!0,KHR_materials_pbrSpecularGlossiness:!0,KHR_materials_specular:!0,KHR_materials_anisotropy:!0,KHR_materials_clearcoat:!0,KHR_materials_unlit:!0,KHR_mesh_quantization:!0,KHR_texture_basisu:!0,KHR_texture_transform:!0,WEB3D_quantized_attributes:!0};tc.checkSupportedExtensions=function(e){let t=e.length;for(let n=0;n<t;n++){let i=e[n];if(!tc.supportedExtensions[i])throw new se(`Unsupported glTF Extension: ${i}`)}};var Kt=tc;function Tg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltfResource,i=e.baseResource,o=e.typedArray,r=e.gltfJson,s=e.cacheKey;this._resourceCache=t,this._gltfResource=n,this._baseResource=i,this._typedArray=o,this._gltfJson=r,this._cacheKey=s,this._gltf=void 0,this._bufferLoaders=[],this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(Tg.prototype=Object.create(Ki.prototype),Tg.prototype.constructor=Tg);Object.defineProperties(Tg.prototype,{cacheKey:{get:function(){return this._cacheKey}},gltf:{get:function(){return this._gltf}}});Tg.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=gt.LOADING,l(this._gltfJson)?(this._promise=Mie(this,this._gltfJson),this._promise):l(this._typedArray)?(this._promise=Lie(this,this._typedArray),this._promise):(this._promise=U3e(this),this._promise))};async function U3e(e){let t;try{let n=await e._fetchGltf();if(e.isDestroyed())return;t=new Uint8Array(n)}catch(n){if(e.isDestroyed())return;F9(e,n)}return Lie(e,t)}function F9(e,t){e.unload(),e._state=gt.FAILED;let n=`Failed to load glTF: ${e._gltfResource.url}`;throw e.getError(n,t)}async function z3e(e,t){if(l(t.asset)&&t.asset.version==="2.0"&&!_r(t,"KHR_techniques_webgl")&&!_r(t,"KHR_materials_common"))return Promise.resolve();let n=[];Oe.buffer(t,function(i){if(!l(i.extras._pipeline.source)&&l(i.uri)){let o=e._baseResource.getDerivedResource({url:i.uri}),s=e._resourceCache.getExternalBufferLoader({resource:o});e._bufferLoaders.push(s),n.push(s.load().then(function(){s.isDestroyed()||(i.extras._pipeline.source=s.typedArray)}))}}),await Promise.all(n),DN(t)}function H3e(e){let t=[];return Oe.buffer(e,function(n){let i=n.uri;!l(n.extras._pipeline.source)&&l(i)&&B_(i)&&(delete n.uri,t.push(Ae.fetchArrayBuffer(i).then(function(o){n.extras._pipeline.source=new Uint8Array(o)})))}),Promise.all(t)}function G3e(e,t){let n=[];return Oe.buffer(t,function(i,o){let r=i.extras._pipeline.source;if(l(r)&&!l(i.uri)){let a=e._resourceCache.getEmbeddedBufferLoader({parentResource:e._gltfResource,bufferId:o,typedArray:r});e._bufferLoaders.push(a),n.push(a.load())}}),Promise.all(n)}async function Mie(e,t){try{hx(t),await H3e(t),await z3e(e,t),hN(t),await G3e(e,t),yN(t);let n=t.asset.version;if(n!=="1.0"&&n!=="2.0")throw new se(`Unsupported glTF version: ${n}`);let i=t.extensionsRequired;return l(i)&&Kt.checkSupportedExtensions(i),e._gltf=t,e._state=gt.READY,e}catch(n){if(e.isDestroyed())return;F9(e,n)}}async function Lie(e,t){let n;try{Hh(t)==="glTF"?n=_N(t):n=Fo(t)}catch(i){if(e.isDestroyed())return;F9(e,i)}return Mie(e,n)}Tg.prototype.unload=function(){let e=this._bufferLoaders,t=e.length;for(let n=0;n<t;++n)e[n]=!e[n].isDestroyed()&&this._resourceCache.unload(e[n]);this._bufferLoaders.length=0,this._gltf=void 0};Tg.prototype._fetchGltf=function(){return this._gltfResource.fetchArrayBuffer()};var iw=Tg;var W3e={OPAQUE:"OPAQUE",MASK:"MASK",BLEND:"BLEND"},wp=Object.freeze(W3e);var To={};function j3e(){this.octEncoded=!1,this.octEncodedZXY=!1,this.normalizationRange=void 0,this.quantizedVolumeOffset=void 0,this.quantizedVolumeDimensions=void 0,this.quantizedVolumeStepSize=void 0,this.componentDatatype=void 0,this.type=void 0}function q3e(){this.name=void 0,this.semantic=void 0,this.setIndex=void 0,this.componentDatatype=void 0,this.type=void 0,this.normalized=!1,this.count=void 0,this.min=void 0,this.max=void 0,this.constant=void 0,this.quantization=void 0,this.typedArray=void 0,this.buffer=void 0,this.byteOffset=0,this.byteStride=void 0}function Y3e(){this.indexDatatype=void 0,this.count=void 0,this.buffer=void 0,this.typedArray=void 0}function X3e(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.setIndex=void 0,this.label=void 0,this.positionalLabel=void 0}function K3e(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.offset=0,this.repeat=void 0,this.label=void 0,this.positionalLabel=void 0}function Z3e(){this.featureCount=void 0,this.nullFeatureId=void 0,this.propertyTableId=void 0,this.textureReader=void 0,this.label=void 0,this.positionalLabel=void 0}function $3e(){this.attributes=[]}function Q3e(){this.attributes=[],this.morphTargets=[],this.indices=void 0,this.material=void 0,this.primitiveType=void 0,this.featureIds=[],this.propertyTextureIds=[],this.propertyAttributeIds=[],this.outlineCoordinates=void 0}function J3e(){this.attributes=[],this.featureIds=[],this.transformInWorldSpace=!1}function eke(){this.index=void 0,this.joints=[],this.inverseBindMatrices=[]}function tke(){this.name=void 0,this.index=void 0,this.children=[],this.primitives=[],this.instances=void 0,this.skin=void 0,this.matrix=void 0,this.translation=void 0,this.rotation=void 0,this.scale=void 0,this.morphWeights=[],this.articulationName=void 0}function nke(){this.nodes=[]}var ike={TRANSLATION:"translation",ROTATION:"rotation",SCALE:"scale",WEIGHTS:"weights"};function oke(){this.input=[],this.interpolation=void 0,this.output=[]}function rke(){this.node=void 0,this.path=void 0}function ske(){this.sampler=void 0,this.target=void 0}function ake(){this.name=void 0,this.samplers=[],this.channels=[]}function cke(){this.name=void 0,this.type=void 0,this.minimumValue=void 0,this.maximumValue=void 0,this.initialValue=void 0}function lke(){this.name=void 0,this.stages=[]}function Nie(){this.credits=[]}function uke(){this.asset=new Nie,this.scene=void 0,this.nodes=[],this.skins=[],this.animations=[],this.articulations=[],this.structuralMetadata=void 0,this.upAxis=void 0,this.forwardAxis=void 0,this.transform=F.clone(F.IDENTITY),this.extensions={}}function fke(){this.texture=void 0,this.index=void 0,this.texCoord=0,this.transform=$.clone($.IDENTITY),this.scale=1,this.channels=void 0}function Cg(){this.baseColorTexture=void 0,this.metallicRoughnessTexture=void 0,this.baseColorFactor=oe.clone(Cg.DEFAULT_BASE_COLOR_FACTOR),this.metallicFactor=Cg.DEFAULT_METALLIC_FACTOR,this.roughnessFactor=Cg.DEFAULT_ROUGHNESS_FACTOR}Cg.DEFAULT_BASE_COLOR_FACTOR=oe.ONE;Cg.DEFAULT_METALLIC_FACTOR=1;Cg.DEFAULT_ROUGHNESS_FACTOR=1;function mx(){this.diffuseTexture=void 0,this.specularGlossinessTexture=void 0,this.diffuseFactor=oe.clone(mx.DEFAULT_DIFFUSE_FACTOR),this.specularFactor=h.clone(mx.DEFAULT_SPECULAR_FACTOR),this.glossinessFactor=mx.DEFAULT_GLOSSINESS_FACTOR}mx.DEFAULT_DIFFUSE_FACTOR=oe.ONE;mx.DEFAULT_SPECULAR_FACTOR=h.ONE;mx.DEFAULT_GLOSSINESS_FACTOR=1;function ow(){this.specularFactor=ow.DEFAULT_SPECULAR_FACTOR,this.specularTexture=void 0,this.specularColorFactor=h.clone(ow.DEFAULT_SPECULAR_COLOR_FACTOR),this.specularColorTexture=void 0}ow.DEFAULT_SPECULAR_FACTOR=1;ow.DEFAULT_SPECULAR_COLOR_FACTOR=h.ONE;function rw(){this.anisotropyStrength=rw.DEFAULT_ANISOTROPY_STRENGTH,this.anisotropyRotation=rw.DEFAULT_ANISOTROPY_ROTATION,this.anisotropyTexture=void 0}rw.DEFAULT_ANISOTROPY_STRENGTH=0;rw.DEFAULT_ANISOTROPY_ROTATION=0;function sw(){this.clearcoatFactor=sw.DEFAULT_CLEARCOAT_FACTOR,this.clearcoatTexture=void 0,this.clearcoatRoughnessFactor=sw.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,this.clearcoatRoughnessTexture=void 0,this.clearcoatNormalTexture=void 0}sw.DEFAULT_CLEARCOAT_FACTOR=0;sw.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR=0;function B9(){this.metallicRoughness=new Cg,this.specularGlossiness=void 0,this.specular=void 0,this.anisotropy=void 0,this.clearcoat=void 0,this.emissiveTexture=void 0,this.normalTexture=void 0,this.occlusionTexture=void 0,this.emissiveFactor=h.clone(B9.DEFAULT_EMISSIVE_FACTOR),this.alphaMode=wp.OPAQUE,this.alphaCutoff=.5,this.doubleSided=!1,this.unlit=!1}B9.DEFAULT_EMISSIVE_FACTOR=h.ZERO;To.Quantization=j3e;To.Attribute=q3e;To.Indices=Y3e;To.FeatureIdAttribute=X3e;To.FeatureIdTexture=Z3e;To.FeatureIdImplicitRange=K3e;To.MorphTarget=$3e;To.Primitive=Q3e;To.Instances=J3e;To.Skin=eke;To.Node=tke;To.Scene=nke;To.AnimatedPropertyType=Object.freeze(ike);To.AnimationSampler=oke;To.AnimationTarget=rke;To.AnimationChannel=ske;To.Animation=ake;To.ArticulationStage=cke;To.Articulation=lke;To.Asset=Nie;To.Components=uke;To.TextureReader=fke;To.MetallicRoughness=Cg;To.SpecularGlossiness=mx;To.Specular=ow;To.Anisotropy=rw;To.Clearcoat=sw;To.Material=B9;var Tn=To;var IN={};IN.getImageIdFromTexture=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureId:n,supportedImageFormats:i}=e,o=t.textures[n],r=o.extensions;if(l(r)){if(i.webp&&l(r.EXT_texture_webp))return r.EXT_texture_webp.source;if(i.basis&&l(r.KHR_texture_basisu))return r.KHR_texture_basisu.source}return o.source};IN.createSampler=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,compressedTextureNoMipmap:i=!1}=e,o=Sn.REPEAT,r=Sn.REPEAT,s=Zt.LINEAR,a=pi.LINEAR,c=n.index,f=t.textures[c].sampler;if(l(f)){let d=t.samplers[f];o=y(d.wrapS,o),r=y(d.wrapT,r),s=y(d.minFilter,s),a=y(d.magFilter,a)}return i&&s!==Zt.LINEAR&&s!==Zt.NEAREST&&(s===Zt.NEAREST_MIPMAP_NEAREST||s===Zt.NEAREST_MIPMAP_LINEAR?s=Zt.NEAREST:s=Zt.LINEAR),new $t({wrapS:o,wrapT:r,minificationFilter:s,magnificationFilter:a})};var dke=new U(1,1);IN.createModelTextureReader=function(e){e=y(e,y.EMPTY_OBJECT);let{textureInfo:t,channels:n,texture:i}=e,o=y(t.texCoord,0),r,s=t.extensions?.KHR_texture_transform;if(l(s)){o=y(s.texCoord,o);let c=l(s.offset)?U.unpack(s.offset):U.ZERO,u=y(s.rotation,0),f=l(s.scale)?U.unpack(s.scale):dke;u=-u,r=new $(Math.cos(u)*f.x,-Math.sin(u)*f.y,c.x,Math.sin(u)*f.x,Math.cos(u)*f.y,c.y,0,0,1)}let a=new Tn.TextureReader;return a.index=t.index,a.texture=i,a.texCoord=o,a.scale=t.scale,a.transform=r,a.channels=n,a};var su=IN;function hke(e){let t=document.createElement("canvas");return t.width=P.nextPowerOfTwo(e.width),t.height=P.nextPowerOfTwo(e.height),t.getContext("2d").drawImage(e,0,0,e.width,e.height,0,0,t.width,t.height),t}var px=hke;function Ag(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.textureInfo,o=e.gltfResource,r=e.baseResource,s=e.supportedImageFormats,a=e.cacheKey,c=y(e.asynchronous,!0),u=i.index,f=su.getImageIdFromTexture({gltf:n,textureId:u,supportedImageFormats:s});this._resourceCache=t,this._gltf=n,this._textureInfo=i,this._imageId=f,this._gltfResource=o,this._baseResource=r,this._cacheKey=a,this._asynchronous=c,this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(Ag.prototype=Object.create(Ki.prototype),Ag.prototype.constructor=Ag);Object.defineProperties(Ag.prototype,{cacheKey:{get:function(){return this._cacheKey}},texture:{get:function(){return this._texture}}});var mke=new k9;async function pke(e){let t=e._resourceCache;try{let n=t.getImageLoader({gltf:e._gltf,imageId:e._imageId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._imageLoader=n,await n.load(),e.isDestroyed()?void 0:(e._image=n.image,e._mipLevels=n.mipLevels,e._state=gt.LOADED,e)}catch(n){if(e.isDestroyed())return;throw e.unload(),e._state=gt.FAILED,e.getError("Failed to load texture",n)}}Ag.prototype.load=async function(){return l(this._promise)?this._promise:(this._state=gt.LOADING,this._promise=pke(this),this._promise)};function k9(){this.gltf=void 0,this.textureInfo=void 0,this.textureId=void 0,this.image=void 0,this.context=void 0,this.texture=void 0}k9.prototype.set=function(e,t,n,i,o,r){this.gltf=e,this.textureInfo=t,this.textureId=n,this.image=i,this.mipLevels=o,this.context=r};k9.prototype.execute=function(){this.texture=Fie(this.gltf,this.textureInfo,this.textureId,this.image,this.mipLevels,this.context)};function Fie(e,t,n,i,o,r){let s=i.internalFormat,a=!1;ot.isCompressedFormat(s)&&!l(o)&&(a=!0);let c=su.createSampler({gltf:e,textureInfo:t,compressedTextureNoMipmap:a}),u=c.minificationFilter,f=c.wrapS,d=c.wrapT,p=u===Zt.NEAREST_MIPMAP_NEAREST||u===Zt.NEAREST_MIPMAP_LINEAR||u===Zt.LINEAR_MIPMAP_NEAREST||u===Zt.LINEAR_MIPMAP_LINEAR,g=!l(s)&&p,m=g||f===Sn.REPEAT||f===Sn.MIRRORED_REPEAT||d===Sn.REPEAT||d===Sn.MIRRORED_REPEAT,x=!P.isPowerOfTwo(i.width)||!P.isPowerOfTwo(i.height),b=m&&x,T;return l(s)?(!r.webgl2&&ot.isCompressedFormat(s)&&x&&m&&console.warn("Compressed texture uses REPEAT or MIRRORED_REPEAT texture wrap mode and dimensions are not powers of two. The texture may be rendered incorrectly."),T=Pt.create({id:n,context:r,source:{arrayBufferView:i.bufferView,mipLevels:o},width:i.width,height:i.height,pixelFormat:i.internalFormat,sampler:c})):(b&&(i=px(i)),T=Pt.create({id:n,context:r,source:i,sampler:c,flipY:!1,skipColorSpaceConversion:!0})),g&&T.generateMipmap(),T}Ag.prototype.process=function(e){if(this._state===gt.READY)return!0;if(this._state!==gt.LOADED&&this._state!==gt.PROCESSING||l(this._texture)||!l(this._image))return!1;this._state=gt.PROCESSING;let t;if(this._asynchronous){let n=mke;if(n.set(this._gltf,this._textureInfo,this._cacheKey,this._image,this._mipLevels,e.context),!e.jobScheduler.execute(n,ec.TEXTURE))return;t=n.texture}else t=Fie(this._gltf,this._textureInfo,this._cacheKey,this._image,this._mipLevels,e.context);return this.unload(),this._texture=t,this._state=gt.READY,this._resourceCache.statistics.addTextureLoader(this),!0};Ag.prototype.unload=function(){l(this._texture)&&this._texture.destroy(),l(this._imageLoader)&&!this._imageLoader.isDestroyed()&&this._resourceCache.unload(this._imageLoader),this._imageLoader=void 0,this._image=void 0,this._mipLevels=void 0,this._texture=void 0,this._gltf=void 0};var aw=Ag;function Eg(e){e=y(e,y.EMPTY_OBJECT);let t=e.resourceCache,n=e.gltf,i=e.gltfResource,o=e.baseResource,r=e.bufferViewId,s=e.draco,a=e.attributeSemantic,c=e.accessorId,u=e.cacheKey,f=y(e.asynchronous,!0),d=y(e.loadBuffer,!1),p=y(e.loadTypedArray,!1);this._resourceCache=t,this._gltfResource=i,this._baseResource=o,this._gltf=n,this._bufferViewId=r,this._draco=s,this._attributeSemantic=a,this._accessorId=c,this._cacheKey=u,this._asynchronous=f,this._loadBuffer=d,this._loadTypedArray=p,this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._quantization=void 0,this._typedArray=void 0,this._buffer=void 0,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(Eg.prototype=Object.create(Ki.prototype),Eg.prototype.constructor=Eg);Object.defineProperties(Eg.prototype,{cacheKey:{get:function(){return this._cacheKey}},buffer:{get:function(){return this._buffer}},typedArray:{get:function(){return this._typedArray}},quantization:{get:function(){return this._quantization}}});function _ke(e,t){return l(e)&&l(e.attributes)&&l(e.attributes[t])}Eg.prototype.load=async function(){return l(this._promise)?this._promise:_ke(this._draco,this._attributeSemantic)?(this._promise=yke(this),this._promise):(this._promise=bke(this),this._promise)};function gke(e,t,n,i){let r=(1<<e.quantizationBits)-1,s=1/r,a=new Tn.Quantization;if(a.componentDatatype=t,a.octEncoded=e.octEncoded,a.octEncodedZXY=!0,a.type=i,a.octEncoded)a.type=sn.VEC2,a.normalizationRange=r;else{let c=sn.getMathType(i);if(c===Number){let u=e.range;a.quantizedVolumeOffset=e.minValues[0],a.quantizedVolumeDimensions=u,a.normalizationRange=r,a.quantizedVolumeStepSize=u*s}else{a.quantizedVolumeOffset=c.unpack(e.minValues),a.normalizationRange=c.unpack(new Array(n).fill(r));let u=new Array(n).fill(e.range);a.quantizedVolumeDimensions=c.unpack(u);let f=u.map(function(d){return d*s});a.quantizedVolumeStepSize=c.unpack(f)}}return a}async function yke(e){e._state=gt.LOADING;let t=e._resourceCache;try{let n=t.getDracoLoader({gltf:e._gltf,draco:e._draco,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._dracoLoader=n,await n.load(),e.isDestroyed()?void 0:(e._state=gt.LOADED,e)}catch{if(e.isDestroyed())return;V9(e)}}function xke(e){e._state=gt.PROCESSING;let n=e._dracoLoader.decodedData.vertexAttributes,i=e._attributeSemantic,o=n[i],r=e._accessorId,a=e._gltf.accessors[r].type,c=o.array,u=o.data.quantization;l(u)&&(e._quantization=gke(u,o.data.componentDatatype,o.data.componentsPerAttribute,a)),e._typedArray=new Uint8Array(c.buffer,c.byteOffset,c.byteLength)}async function bke(e){e._state=gt.LOADING;let t=e._resourceCache;try{let n=t.getBufferViewLoader({gltf:e._gltf,bufferViewId:e._bufferViewId,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoader=n,await n.load(),e.isDestroyed()?void 0:(e._typedArray=n.typedArray,e._state=gt.PROCESSING,e)}catch(n){if(e.isDestroyed())return;V9(e,n)}}function V9(e,t){throw e.unload(),e._state=gt.FAILED,e.getError("Failed to load vertex buffer",t)}function U9(){this.typedArray=void 0,this.context=void 0,this.buffer=void 0}U9.prototype.set=function(e,t){this.typedArray=e,this.context=t};U9.prototype.execute=function(){this.buffer=Bie(this.typedArray,this.context)};function Bie(e,t){let n=bt.createVertexBuffer({typedArray:e,context:t,usage:Ue.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}var Tke=new U9;Eg.prototype.process=function(e){if(this._state===gt.READY)return!0;if(this._state!==gt.LOADED&&this._state!==gt.PROCESSING)return!1;if(l(this._dracoLoader)){try{if(!this._dracoLoader.process(e))return!1}catch(i){V9(this,i)}xke(this)}let t,n=this._typedArray;if(this._loadBuffer&&this._asynchronous){let i=Tke;if(i.set(n,e.context),!e.jobScheduler.execute(i,ec.BUFFER))return!1;t=i.buffer}else this._loadBuffer&&(t=Bie(n,e.context));return this.unload(),this._buffer=t,this._typedArray=this._loadTypedArray?n:void 0,this._state=gt.READY,this._resourceCache.statistics.addGeometryLoader(this),!0};Eg.prototype.unload=function(){l(this._buffer)&&this._buffer.destroy();let e=this._resourceCache;l(this._bufferViewLoader)&&!this._bufferViewLoader.isDestroyed()&&e.unload(this._bufferViewLoader),l(this._dracoLoader)&&e.unload(this._dracoLoader),this._bufferViewLoader=void 0,this._dracoLoader=void 0,this._typedArray=void 0,this._buffer=void 0,this._gltf=void 0};var cw=Eg;function lw(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=y(e.properties,{}),i={};for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r.semantic)&&(i[r.semantic]=r)}this._id=t,this._name=e.name,this._description=e.description,this._properties=n,this._propertiesBySemantic=i,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}lw.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.class,i={};for(let o in n.properties)if(n.properties.hasOwnProperty(o)){let r=Ep.fromJson({id:o,property:n.properties[o],enums:e.enums});i[o]=r}return new lw({id:t,name:n.name,description:n.description,properties:i,extras:n.extras,extensions:n.extensions})};Object.defineProperties(lw.prototype,{properties:{get:function(){return this._properties}},propertiesBySemantic:{get:function(){return this._propertiesBySemantic}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});lw.BATCH_TABLE_CLASS_NAME="_batchTable";var qh=lw;function PN(e){e=y(e,y.EMPTY_OBJECT);let t=e.value,n=e.name;this._value=t,this._name=n,this._description=e.description,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}PN.fromJson=function(e){return new PN({value:e.value,name:e.name,description:e.description,extras:e.extras,extensions:e.extensions})};Object.defineProperties(PN.prototype,{value:{get:function(){return this._value}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var ON=PN;function RN(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.values,i={},o={},r=n.length;for(let a=0;a<r;++a){let c=n[a];i[c.value]=c.name,o[c.name]=c.value}let s=y(e.valueType,Vt.UINT16);this._values=n,this._namesByValue=i,this._valuesByName=o,this._valueType=s,this._id=t,this._name=e.name,this._description=e.description,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}RN.fromJson=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.enum,i=n.values.map(function(o){return ON.fromJson(o)});return new RN({id:t,values:i,valueType:Vt[n.valueType],name:n.name,description:n.description,extras:n.extras,extensions:n.extensions})};Object.defineProperties(RN.prototype,{values:{get:function(){return this._values}},namesByValue:{get:function(){return this._namesByValue}},valuesByName:{get:function(){return this._valuesByName}},valueType:{get:function(){return this._valueType}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var MN=RN;function LN(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.classes,{}),n=y(e.enums,{});this._classes=t,this._enums=n,this._id=e.id,this._name=e.name,this._description=e.description,this._version=e.version,this._extras=We(e.extras,!0),this._extensions=We(e.extensions,!0)}LN.fromJson=function(e){let t={};if(l(e.enums))for(let i in e.enums)e.enums.hasOwnProperty(i)&&(t[i]=MN.fromJson({id:i,enum:e.enums[i]}));let n={};if(l(e.classes))for(let i in e.classes)e.classes.hasOwnProperty(i)&&(n[i]=qh.fromJson({id:i,class:e.classes[i],enums:t}));return new LN({id:e.id,name:e.name,description:e.description,version:e.version,classes:n,enums:t,extras:e.extras,extensions:e.extensions})};Object.defineProperties(LN.prototype,{classes:{get:function(){return this._classes}},enums:{get:function(){return this._enums}},id:{get:function(){return this._id}},name:{get:function(){return this._name}},description:{get:function(){return this._description}},version:{get:function(){return this._version}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var lf=LN;function _x(e){e=y(e,y.EMPTY_OBJECT);let t=e.schema,n=e.resource,i=e.cacheKey;this._schema=l(t)?lf.fromJson(t):void 0,this._resource=n,this._cacheKey=i,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(_x.prototype=Object.create(Ki.prototype),_x.prototype.constructor=_x);Object.defineProperties(_x.prototype,{cacheKey:{get:function(){return this._cacheKey}},schema:{get:function(){return this._schema}}});_x.prototype.load=async function(){return l(this._promise)?this._promise:l(this._schema)?(this._promise=Promise.resolve(this),this._promise):(this._promise=Cke(this),this._promise)};async function Cke(e){let t=e._resource;e._state=gt.LOADING;try{let n=await t.fetchJson();return e.isDestroyed()?void 0:(e._schema=lf.fromJson(n),e._state=gt.READY,e)}catch(n){if(e.isDestroyed())return;e._state=gt.FAILED;let i=`Failed to load schema: ${t.url}`;throw e.getError(i,n)}}_x.prototype.unload=function(){this._schema=void 0};var uw=_x;var gd={};function AC(e){return tp(e.url)}function NN(e){let{byteOffset:t,byteLength:n}=e;if(li(e,"EXT_meshopt_compression")){let i=e.extensions.EXT_meshopt_compression;t=y(i.byteOffset,0),n=i.byteLength}return`${t}-${t+n}`}function Ake(e,t){let n=t.byteOffset+e.byteOffset,{componentType:i,type:o,count:r}=e;return`${n}-${i}-${o}-${r}`}function kie(e,t){return`${AC(e)}-buffer-id-${t}`}function fw(e,t,n,i){if(l(e.uri)){let o=i.getDerivedResource({url:e.uri});return AC(o)}return kie(n,t)}function z9(e,t,n,i){let o=t.bufferView,r=e.bufferViews[o],s=r.buffer,a=e.buffers[s],c=fw(a,s,n,i),u=NN(r);return`${c}-range-${u}`}function Vie(e,t,n,i){let o=e.images[t],r=o.bufferView,s=o.uri;if(l(s)){let p=i.getDerivedResource({url:s});return AC(p)}let a=e.bufferViews[r],c=a.buffer,u=e.buffers[c],f=fw(u,c,n,i),d=NN(a);return`${f}-range-${d}`}function Eke(e,t){let n=su.createSampler({gltf:e,textureInfo:t});return`${n.wrapS}-${n.wrapT}-${n.minificationFilter}-${n.magnificationFilter}`}gd.getSchemaCacheKey=function(e){let{schema:t,resource:n}=e;return l(t)?`embedded-schema:${JSON.stringify(t)}`:`external-schema:${AC(n)}`};gd.getExternalBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e;return`external-buffer:${AC(t)}`};gd.getEmbeddedBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n}=e;return`embedded-buffer:${kie(t,n)}`};gd.getGltfCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t}=e;return`gltf:${AC(t)}`};gd.getBufferViewCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=t.bufferViews[n],s=r.buffer,a=t.buffers[s];li(r,"EXT_meshopt_compression")&&(s=r.extensions.EXT_meshopt_compression.buffer);let c=fw(a,s,i,o),u=NN(r);return`buffer-view:${c}-range-${u}`};gd.getDracoCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e;return`draco:${z9(t,n,i,o)}`};gd.getVertexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:c=!1,loadBuffer:u=!1,loadTypedArray:f=!1}=e,d="";if(c&&(d+="-dequantize"),u&&(d+="-buffer",d+=`-context-${o.context.id}`),f&&(d+="-typed-array"),l(s))return`vertex-buffer:${z9(t,s,n,i)}-draco-${a}${d}`;let p=t.bufferViews[r],g=p.buffer,m=t.buffers[g],x=fw(m,g,n,i),b=NN(p);return`vertex-buffer:${x}-range-${b}${d}`};gd.getIndexBufferCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:a=!1,loadTypedArray:c=!1}=e,u="";if(a&&(u+="-buffer",u+=`-context-${r.context.id}`),c&&(u+="-typed-array"),l(s))return`index-buffer:${z9(t,s,i,o)}-draco${u}`;let f=t.accessors[n],d=f.bufferView,p=t.bufferViews[d],g=p.buffer,m=t.buffers[g],x=fw(m,g,i,o),b=Ake(f,p);return`index-buffer:${x}-accessor-${b}${u}`};gd.getImageCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e;return`image:${Vie(t,n,i,o)}`};gd.getTextureCacheKey=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}=e,a=n.index,c=su.getImageIdFromTexture({gltf:t,textureId:a,supportedImageFormats:r}),u=Vie(t,c,i,o),f=Eke(t,n);return`texture:${u}-sampler-${f}-context-${s.context.id}`};var au=gd;function dw(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}}dw.prototype.clear=function(){this.geometryByteLength=0,this.texturesByteLength=0,this._geometrySizes={},this._textureSizes={}};dw.prototype.addGeometryLoader=function(e){let t=e.cacheKey;if(this._geometrySizes.hasOwnProperty(t))return;this._geometrySizes[t]=0;let n=e.buffer,i=e.typedArray,o=0;l(n)&&(o+=n.sizeInBytes),l(i)&&(o+=i.byteLength),this.geometryByteLength+=o,this._geometrySizes[t]=o};dw.prototype.addTextureLoader=function(e){let t=e.cacheKey;if(this._textureSizes.hasOwnProperty(t))return;this._textureSizes[t]=0;let n=e.texture.sizeInBytes;this.texturesByteLength+=e.texture.sizeInBytes,this._textureSizes[t]=n};dw.prototype.removeLoader=function(e){let t=e.cacheKey,n=this._geometrySizes[t];delete this._geometrySizes[t],l(n)&&(this.geometryByteLength-=n);let i=this._textureSizes[t];delete this._textureSizes[t],l(i)&&(this.texturesByteLength-=i)};var FN=dw;function Nn(){}Nn.cacheEntries={};Nn.statistics=new FN;function Ske(e){this.referenceCount=1,this.resourceLoader=e,this._statisticsPromise=void 0}Nn.get=function(e){let t=Nn.cacheEntries[e];if(l(t))return++t.referenceCount,t.resourceLoader};Nn.add=function(e){let t=e.cacheKey;return Nn.cacheEntries[t]=new Ske(e),e};Nn.unload=function(e){let t=e.cacheKey,n=Nn.cacheEntries[t];--n.referenceCount,n.referenceCount===0&&(Nn.statistics.removeLoader(e),e.destroy(),delete Nn.cacheEntries[t])};Nn.getSchemaLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{schema:t,resource:n}=e,i=au.getSchemaCacheKey({schema:t,resource:n}),o=Nn.get(i);return l(o)?o:(o=new uw({schema:t,resource:n,cacheKey:i}),Nn.add(o))};Nn.getEmbeddedBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{parentResource:t,bufferId:n,typedArray:i}=e,o=au.getEmbeddedBufferCacheKey({parentResource:t,bufferId:n}),r=Nn.get(o);return l(r)?r:(r=new yC({typedArray:i,cacheKey:o}),Nn.add(r))};Nn.getExternalBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{resource:t}=e,n=au.getExternalBufferCacheKey({resource:t}),i=Nn.get(n);return l(i)?i:(i=new yC({resource:t,cacheKey:n}),Nn.add(i))};Nn.getGltfJsonLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,baseResource:n,typedArray:i,gltfJson:o}=e,r=au.getGltfCacheKey({gltfResource:t}),s=Nn.get(r);return l(s)?s:(s=new iw({resourceCache:Nn,gltfResource:t,baseResource:n,typedArray:i,gltfJson:o,cacheKey:r}),Nn.add(s))};Nn.getBufferViewLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}=e,r=au.getBufferViewCacheKey({gltf:t,bufferViewId:n,gltfResource:i,baseResource:o}),s=Nn.get(r);return l(s)?s:(s=new Qv({resourceCache:Nn,gltf:t,bufferViewId:n,gltfResource:i,baseResource:o,cacheKey:r}),Nn.add(s))};Nn.getDracoLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,draco:n,gltfResource:i,baseResource:o}=e,r=au.getDracoCacheKey({gltf:t,draco:n,gltfResource:i,baseResource:o}),s=Nn.get(r);return l(s)?s:(s=new Jv({resourceCache:Nn,gltf:t,draco:n,gltfResource:i,baseResource:o,cacheKey:r}),Nn.add(s))};Nn.getVertexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,asynchronous:u=!0,dequantize:f=!1,loadBuffer:d=!1,loadTypedArray:p=!1}=e,g=au.getVertexBufferCacheKey({gltf:t,gltfResource:n,baseResource:i,frameState:o,bufferViewId:r,draco:s,attributeSemantic:a,dequantize:f,loadBuffer:d,loadTypedArray:p}),m=Nn.get(g);return l(m)?m:(m=new cw({resourceCache:Nn,gltf:t,gltfResource:n,baseResource:i,bufferViewId:r,draco:s,attributeSemantic:a,accessorId:c,cacheKey:g,asynchronous:u,dequantize:f,loadBuffer:d,loadTypedArray:p}),Nn.add(m))};Nn.getIndexBufferLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,asynchronous:a=!0,loadBuffer:c=!1,loadTypedArray:u=!1}=e,f=au.getIndexBufferCacheKey({gltf:t,accessorId:n,gltfResource:i,baseResource:o,frameState:r,draco:s,loadBuffer:c,loadTypedArray:u}),d=Nn.get(f);return l(d)?d:(d=new tw({resourceCache:Nn,gltf:t,accessorId:n,gltfResource:i,baseResource:o,draco:s,cacheKey:f,asynchronous:a,loadBuffer:c,loadTypedArray:u}),Nn.add(d))};Nn.getImageLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,imageId:n,gltfResource:i,baseResource:o}=e,r=au.getImageCacheKey({gltf:t,imageId:n,gltfResource:i,baseResource:o}),s=Nn.get(r);return l(s)?s:(s=new ew({resourceCache:Nn,gltf:t,imageId:n,gltfResource:i,baseResource:o,cacheKey:r}),Nn.add(s))};Nn.getTextureLoader=function(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a=!0}=e,c=au.getTextureCacheKey({gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s}),u=Nn.get(c);return l(u)?u:(u=new aw({resourceCache:Nn,gltf:t,textureInfo:n,gltfResource:i,baseResource:o,supportedImageFormats:r,cacheKey:c,asynchronous:a}),Nn.add(u))};Nn.clearForSpecs=function(){let e=[cw,tw,Jv,aw,ew,Qv,yC,uw,iw],t,n=Nn.cacheEntries,i=[];for(t in n)n.hasOwnProperty(t)&&i.push(n[t]);i.sort(function(r,s){let a=e.indexOf(r.resourceLoader.constructor),c=e.indexOf(s.resourceLoader.constructor);return a-c});let o=i.length;for(let r=0;r<o;++r){let s=i[r];t=s.resourceLoader.cacheKey,l(n[t])&&(s.resourceLoader.destroy(),delete n[t])}Nn.statistics.clear()};var Si=Nn;function sa(e,t,n){this._resource=e,this._subtreeJson=void 0,this._bufferLoader=void 0,this._tileAvailability=void 0,this._contentAvailabilityBitstreams=[],this._childSubtreeAvailability=void 0,this._implicitCoordinates=n,this._subtreeLevels=t.subtreeLevels,this._subdivisionScheme=t.subdivisionScheme,this._branchingFactor=t.branchingFactor,this._metadata=void 0,this._tileMetadataTable=void 0,this._tilePropertyTableJson=void 0,this._contentMetadataTables=[],this._contentPropertyTableJsons=[],this._tileJumpBuffer=void 0,this._contentJumpBuffers=[],this._ready=!1}Object.defineProperties(sa.prototype,{ready:{get:function(){return this._ready}},metadata:{get:function(){return this._metadata}},tileMetadataTable:{get:function(){return this._tileMetadataTable}},tilePropertyTableJson:{get:function(){return this._tilePropertyTableJson}},contentMetadataTables:{get:function(){return this._contentMetadataTables}},contentPropertyTableJsons:{get:function(){return this._contentPropertyTableJsons}},implicitCoordinates:{get:function(){return this._implicitCoordinates}}});sa.prototype.tileIsAvailableAtIndex=function(e){return this._tileAvailability.getBit(e)};sa.prototype.tileIsAvailableAtCoordinates=function(e){let t=this.getTileIndex(e);return this.tileIsAvailableAtIndex(t)};sa.prototype.contentIsAvailableAtIndex=function(e,t){return t=y(t,0),this._contentAvailabilityBitstreams[t].getBit(e)};sa.prototype.contentIsAvailableAtCoordinates=function(e,t){let n=this.getTileIndex(e);return this.contentIsAvailableAtIndex(n,t)};sa.prototype.childSubtreeIsAvailableAtIndex=function(e){return this._childSubtreeAvailability.getBit(e)};sa.prototype.childSubtreeIsAvailableAtCoordinates=function(e){let t=this.getChildSubtreeIndex(e);return this.childSubtreeIsAvailableAtIndex(t)};sa.prototype.getLevelOffset=function(e){let t=this._branchingFactor;return(Math.pow(t,e)-1)/(t-1)};sa.prototype.getParentMortonIndex=function(e){let t=2;return this._subdivisionScheme===ss.OCTREE&&(t=3),e>>t};sa.fromSubtreeJson=async function(e,t,n,i,o){let r=new sa(e,i,o),s;l(t)?s={json:t,binary:void 0}:s=vke(n);let a=s.json;r._subtreeJson=a;let c;if(li(a,"3DTILES_metadata"))c=a.extensions["3DTILES_metadata"];else if(l(a.tileMetadata)){let C=a.tileMetadata;c=a.propertyTables[C]}let u=[];if(l(a.contentMetadata)){let C=a.contentMetadata.length;for(let A=0;A<C;A++){let S=a.contentMetadata[A];u.push(a.propertyTables[S])}}let f,d=i.metadataSchema,p=a.subtreeMetadata;if(l(p)){let C=p.class,A=d.classes[C];f=new uN({subtreeMetadata:p,class:A})}r._metadata=f,r._tilePropertyTableJson=c,r._contentPropertyTableJsons=u;let g={constant:0};a.contentAvailabilityHeaders=[],li(a,"3DTILES_multiple_contents")?a.contentAvailabilityHeaders=a.extensions["3DTILES_multiple_contents"].contentAvailability:Array.isArray(a.contentAvailability)?a.contentAvailabilityHeaders=a.contentAvailability:a.contentAvailabilityHeaders.push(y(a.contentAvailability,g));let m=wke(a.buffers),x=Dke(a.bufferViews,m);Ike(a,x),l(c)&&Uie(c,x);for(let C=0;C<u.length;C++){let A=u[C];Uie(A,x)}let b=await Pke(r,m,s.binary),T=Rke(x,b);return Mke(r,a,i,T),l(c)&&(Lke(r,i,T),Fke(r)),Nke(r,i,T),Bke(r),r._ready=!0,r};function vke(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Fo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}function wke(e){e=l(e)?e:[];for(let t=0;t<e.length;t++){let n=e[t];n.isExternal=l(n.uri),n.isActive=!1}return e}function Dke(e,t){e=l(e)?e:[];for(let n=0;n<e.length;n++){let i=e[n],o=t[i.buffer];i.bufferHeader=o,i.isActive=!1}return e}function Ike(e,t){let n,i=e.tileAvailability;l(i.bitstream)?n=t[i.bitstream]:l(i.bufferView)&&(n=t[i.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);let o=e.contentAvailabilityHeaders;for(let s=0;s<o.length;s++)n=void 0,l(o[s].bitstream)?n=t[o[s].bitstream]:l(o[s].bufferView)&&(n=t[o[s].bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0);n=void 0;let r=e.childSubtreeAvailability;l(r.bitstream)?n=t[r.bitstream]:l(r.bufferView)&&(n=t[r.bufferView]),l(n)&&(n.isActive=!0,n.bufferHeader.isActive=!0)}function Uie(e,t){let n=e.properties,i;for(let o in n)if(n.hasOwnProperty(o)){let r=n[o],s=y(r.values,r.bufferView);i=t[s],i.isActive=!0,i.bufferHeader.isActive=!0;let a=y(r.stringOffsets,r.stringOffsetBufferView);l(a)&&(i=t[a],i.isActive=!0,i.bufferHeader.isActive=!0);let c=y(r.arrayOffsets,r.arrayOffsetBufferView);l(c)&&(i=t[c],i.isActive=!0,i.bufferHeader.isActive=!0)}}function Pke(e,t,n){let i=[];for(let o=0;o<t.length;o++){let r=t[o];if(!r.isActive)i.push(Promise.resolve(void 0));else if(r.isExternal){let s=Oke(e,r);i.push(s)}else i.push(Promise.resolve(n))}return Promise.all(i).then(function(o){let r={};for(let s=0;s<o.length;s++){let a=o[s];l(a)&&(r[s]=a)}return r})}async function Oke(e,t){let i=e._resource.getDerivedResource({url:t.uri}),o=Si.getExternalBufferLoader({resource:i});e._bufferLoader=o;try{await o.load()}catch(r){if(o.isDestroyed())return;throw r}return o.typedArray}function Rke(e,t){let n={};for(let i=0;i<e.length;i++){let o=e[i];if(!o.isActive)continue;let r=o.byteOffset,s=r+o.byteLength,c=t[o.buffer].subarray(r,s);n[i]=c}return n}function Mke(e,t,n,i){let o=n.branchingFactor,r=n.subtreeLevels,s=(Math.pow(o,r)-1)/(o-1),a=Math.pow(o,r),c=li(t,"3DTILES_metadata"),u=l(e._tilePropertyTableJson),f=c||u;e._tileAvailability=H9(t.tileAvailability,i,s,f);let d=e._contentPropertyTableJsons.length>0;f=f||d;for(let p=0;p<t.contentAvailabilityHeaders.length;p++){let g=H9(t.contentAvailabilityHeaders[p],i,s,f);e._contentAvailabilityBitstreams.push(g)}e._childSubtreeAvailability=H9(t.childSubtreeAvailability,i,a)}function H9(e,t,n,i){if(l(e.constant))return new Kv({constant:!!e.constant,lengthBits:n,availableCount:e.availableCount});let o;return l(e.bitstream)?o=t[e.bitstream]:l(e.bufferView)&&(o=t[e.bufferView]),new Kv({bitstream:o,lengthBits:n,availableCount:e.availableCount,computeAvailableCountEnabled:i})}function Lke(e,t,n){let i=e._tilePropertyTableJson,o=e._tileAvailability.availableCount,r=t.metadataSchema,s=i.class,a=r.classes[s];e._tileMetadataTable=new ou({class:a,count:o,properties:i.properties,bufferViews:n})}function Nke(e,t,n){let i=e._contentPropertyTableJsons,o=e._contentAvailabilityBitstreams,r=t.metadataSchema,s=e._contentMetadataTables;for(let a=0;a<i.length;a++){let c=i[a],f=o[a].availableCount,d=c.class,p=r.classes[d],g=new ou({class:p,count:f,properties:c.properties,bufferViews:n});s.push(g)}}function zie(e){let t=0,n=e.lengthBits,i=e.availableCount,o;i<256?o=new Uint8Array(n):i<65536?o=new Uint16Array(n):o=new Uint32Array(n);for(let r=0;r<e.lengthBits;r++)e.getBit(r)&&(o[r]=t,t++);return o}function Fke(e){let t=zie(e._tileAvailability);e._tileJumpBuffer=t}function Bke(e){let t=e._contentJumpBuffers,n=e._contentAvailabilityBitstreams;for(let i=0;i<n.length;i++){let o=n[i],r=zie(o);t.push(r)}}sa.prototype.getTileIndex=function(e){let t=e.level-this._implicitCoordinates.level;if(t<0||this._subtreeLevels<=t)throw new se("level is out of bounds for this subtree");return e.getSubtreeCoordinates().getOffsetCoordinates(e).tileIndex};sa.prototype.getChildSubtreeIndex=function(e){if(e.level-this._implicitCoordinates.level!==this._implicitCoordinates.subtreeLevels)throw new se("level is out of bounds for this subtree");return e.getParentSubtreeCoordinates().getOffsetCoordinates(e).mortonIndex};function kke(e,t){if(!l(e._tileMetadataTable))return;let n=e.getTileIndex(t);if(e._tileAvailability.getBit(n))return e._tileJumpBuffer[n]}function Vke(e,t,n){let i=e._contentMetadataTables;if(!l(i))return;let o=i[n];if(!l(o))return;let r=e._contentAvailabilityBitstreams[n],s=e.getTileIndex(t);if(r.getBit(s))return e._contentJumpBuffers[n][s]}sa.prototype.getTileMetadataView=function(e){let t=kke(this,e);if(!l(t))return;let n=this._tileMetadataTable;return new Zv({class:n.class,metadataTable:n,entityId:t,propertyTableJson:this._tilePropertyTableJson})};sa.prototype.getContentMetadataView=function(e,t){let n=Vke(this,e,t);if(!l(n))return;let i=this._contentMetadataTables[t],o=this._contentPropertyTableJsons[t];return new Zv({class:i.class,metadataTable:i,entityId:n,contentIndex:t,propertyTableJson:o})};sa.prototype.isDestroyed=function(){return!1};sa.prototype.destroy=function(){return l(this._bufferLoader)&&Si.unload(this._bufferLoader),ue(this)};var EC=sa;var Uke={ID:"ID",NAME:"NAME",DESCRIPTION:"DESCRIPTION",TILESET_TILE_COUNT:"TILESET_TILE_COUNT",TILE_BOUNDING_BOX:"TILE_BOUNDING_BOX",TILE_BOUNDING_REGION:"TILE_BOUNDING_REGION",TILE_BOUNDING_SPHERE:"TILE_BOUNDING_SPHERE",TILE_MINIMUM_HEIGHT:"TILE_MINIMUM_HEIGHT",TILE_MAXIMUM_HEIGHT:"TILE_MAXIMUM_HEIGHT",TILE_HORIZON_OCCLUSION_POINT:"TILE_HORIZON_OCCLUSION_POINT",TILE_GEOMETRIC_ERROR:"TILE_GEOMETRIC_ERROR",CONTENT_BOUNDING_BOX:"CONTENT_BOUNDING_BOX",CONTENT_BOUNDING_REGION:"CONTENT_BOUNDING_REGION",CONTENT_BOUNDING_SPHERE:"CONTENT_BOUNDING_SPHERE",CONTENT_MINIMUM_HEIGHT:"CONTENT_MINIMUM_HEIGHT",CONTENT_MAXIMUM_HEIGHT:"CONTENT_MAXIMUM_HEIGHT",CONTENT_HORIZON_OCCLUSION_POINT:"CONTENT_HORIZON_OCCLUSION_POINT"},SC=Object.freeze(Uke);var yd={};yd.parseAllBoundingVolumeSemantics=function(e){return{tile:{boundingVolume:yd.parseBoundingVolumeSemantic("TILE",e),minimumHeight:yd._parseMinimumHeight("TILE",e),maximumHeight:yd._parseMaximumHeight("TILE",e)},content:{boundingVolume:yd.parseBoundingVolumeSemantic("CONTENT",e),minimumHeight:yd._parseMinimumHeight("CONTENT",e),maximumHeight:yd._parseMaximumHeight("CONTENT",e)}}};yd.parseBoundingVolumeSemantic=function(e,t){let n=`${e}_BOUNDING_BOX`,i=t.getPropertyBySemantic(n);if(l(i))return{box:i};let o=`${e}_BOUNDING_REGION`,r=t.getPropertyBySemantic(o);if(l(r))return{region:r};let s=`${e}_BOUNDING_SPHERE`,a=t.getPropertyBySemantic(s);if(l(a))return{sphere:a}};yd._parseMinimumHeight=function(e,t){let n=`${e}_MINIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};yd._parseMaximumHeight=function(e,t){let n=`${e}_MAXIMUM_HEIGHT`;return t.getPropertyBySemantic(n)};var vC=yd;function Lc(e,t,n){let i=t.implicitTileset,o=t.implicitCoordinates;this._implicitTileset=i,this._implicitCoordinates=o,this._implicitSubtree=void 0,this._tileset=e,this._tile=t,this._resource=n,this._metadata=void 0,this.featurePropertiesDirty=!1,this._group=void 0;let r=o.getTemplateValues(),s=i.subtreeUriTemplate.getDerivedResource({templateValues:r});this._url=s.getUrlComponent(!0),this._ready=!1}Object.defineProperties(Lc.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._url}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Lc.fromSubtreeJson=async function(e,t,n,i,o,r){r=y(r,0);let s;l(o)&&(s=new Uint8Array(o,r));let a=t.implicitTileset,c=t.implicitCoordinates,u=await EC.fromSubtreeJson(n,i,s,a,c),f=new Lc(e,t,n);return f._implicitSubtree=u,zke(f,u),f._ready=!0,f};function zke(e,t){let n=e._tile,i=e._implicitCoordinates.childIndex,o=Gke(e,t,n,i),r=e._tileset.statistics;n.children.push(o.rootTile),r.numberOfTilesTotal++;let s=Hke(e,t,o.bottomRow);for(let a=0;a<s.length;a++){let c=s[a],u=c.tile,f=Qke(e,u,c.childIndex);u.children.push(f),r.numberOfTilesTotal++}}function Hke(e,t,n){let i=[],o=e._implicitTileset.branchingFactor;for(let r=0;r<n.length;r++){let s=n[r];if(l(s))for(let a=0;a<o;a++){let c=r*o+a;t.childSubtreeIsAvailableAtIndex(c)&&i.push({tile:s,childIndex:a})}}return i}function Gke(e,t,n,i){let s=Hie(e,t,n,i,0,!0),a=e._tileset.statistics,c=[s],u=[],f=e._implicitTileset;for(let d=1;d<f.subtreeLevels;d++){let p=t.getLevelOffset(d),g=f.branchingFactor*c.length;for(let m=0;m<g;m++){let x=p+m;if(!t.tileIsAvailableAtIndex(x)){u.push(void 0);continue}let b=t.getParentMortonIndex(m),T=c[b],C=m%f.branchingFactor,A=Hie(e,t,T,C,x);T.children.push(A),a.numberOfTilesTotal++,u.push(A)}c=u,u=[]}return{rootTile:s,bottomRow:c}}function Gie(e,t,n){let i=SC.TILE_GEOMETRIC_ERROR;return l(e)&&e.hasPropertyBySemantic(i)?e.getPropertyBySemantic(i):t.geometricError/Math.pow(2,n.level)}function Hie(e,t,n,i,o,r){let s=e._implicitTileset,a;y(r,!1)?a=n.implicitCoordinates:a=n.implicitCoordinates.getChildCoordinates(i);let c,u,f;if(l(t.tilePropertyTableJson)){c=t.getTileMetadataView(a);let D=vC.parseAllBoundingVolumeSemantics(c);u=D.tile,f=D.content}let p=t.contentPropertyTableJsons.length,g=!1;for(let D=0;D<p;D++)if(t.contentIsAvailableAtCoordinates(a,D)){g=!0;break}let m=qke(s,a,i,r,n,u),x=[];for(let D=0;D<s.contentCount;D++){if(!t.contentIsAvailableAtIndex(o,D))continue;let M={uri:s.contentUriTemplates[D].getDerivedResource({templateValues:a.getTemplateValues()}).url},N=Yke(m,f);l(N)&&(M.boundingVolume=N),x.push(Ct(M,s.contentHeaders[D]))}let b=Gie(c,s,a),T={boundingVolume:m,geometricError:b,refine:s.refine,contents:x},C=!0,A=We(s.tileHeader,C);delete A.boundingVolume,delete A.transform,delete A.metadata;let S=Ct(T,A,C),v=Xie(e,s.baseResource,S,n);return v.implicitCoordinates=a,v.implicitSubtree=t,v.metadata=c,v.hasImplicitContentMetadata=g,v}function BN(e,t){return l(e)&&l(t)&&(l(t.minimumHeight)||l(t.maximumHeight))&&(li(e,"3DTILES_bounding_volume_S2")||l(e.region))}function W9(e,t){l(t)&&(li(e,"3DTILES_bounding_volume_S2")?jke(e.extensions["3DTILES_bounding_volume_S2"],t.minimumHeight,t.maximumHeight):l(e.region)&&Wke(e.region,t.minimumHeight,t.maximumHeight))}function Wke(e,t,n){l(t)&&(e[4]=t),l(n)&&(e[5]=n)}function jke(e,t,n){l(t)&&(e.minimumHeight=t),l(n)&&(e.maximumHeight=n)}function qke(e,t,n,i,o,r){let s;return!l(r)||!l(r.boundingVolume)||!BN(r.boundingVolume,r)&&BN(e.boundingVolume,r)?s=Wie(e,t,n,y(i,!1),o):s=r.boundingVolume,W9(s,r),s}function Yke(e,t){let n;return l(t)&&(n=t.boundingVolume),BN(n,t)?W9(n,t):BN(e,t)&&(n=We(e,!0),W9(n,t)),n}function Wie(e,t,n,i,o){let r=e.boundingVolume;return li(r,"3DTILES_bounding_volume_S2")?jie(i,o,n,t.level,t.x,t.y,t.z):l(r.region)?{region:Yie(r.region,t.level,t.x,t.y,t.z)}:{box:qie(r.box,t.level,t.x,t.y,t.z)}}function jie(e,t,n,i,o,r,s){let a=t._boundingVolume;if(e)return{extensions:{"3DTILES_bounding_volume_S2":{token:pg.getTokenFromId(a.s2Cell._cellId),minimumHeight:a.minimumHeight,maximumHeight:a.maximumHeight}}};let c=Number(t._boundingVolume.s2Cell._cellId>>BigInt(61)),u=c%2===0?Xv.encode2D(i,o,r):Xv.encode2D(i,r,o),f=pg.fromFacePositionLevel(c,BigInt(u),i),d,p;if(l(s)){let g=(a.maximumHeight+a.minimumHeight)/2;d=n<4?a.minimumHeight:g,p=n<4?g:a.maximumHeight}else d=a.minimumHeight,p=a.maximumHeight;return{extensions:{"3DTILES_bounding_volume_S2":{token:pg.getTokenFromId(f._cellId),minimumHeight:d,maximumHeight:p}}}}var Xke=new h,Kke=new h,G9=new h,Zke=new $;function qie(e,t,n,i,o){if(t===0)return e;let r=h.unpack(e,0,Kke),s=$.unpack(e,3,Zke),a=Math.pow(2,-t),c=-1+(2*n+1)*a,u=-1+(2*i+1)*a,f=0,d=h.fromElements(a,a,1,Xke);l(o)&&(f=-1+(2*o+1)*a,d.z=a);let p=h.fromElements(c,u,f,G9);p=$.multiplyByVector(s,p,G9),p=h.add(p,r,G9);let g=$.clone(s);g=$.multiplyByScale(g,d,g);let m=new Array(12);return h.pack(p,m),$.pack(g,m,3),m}var $ke=new ae;function Yie(e,t,n,i,o){if(t===0)return e.slice();let r=ae.unpack(e,0,$ke),s=e[4],a=e[5],c=Math.pow(2,-t),u=c*r.width,f=P.negativePiToPi(r.west+n*u),d=P.negativePiToPi(f+u),p=c*r.height,g=P.negativePiToPi(r.south+i*p),m=P.negativePiToPi(g+p),x=s,b=a;if(l(o)){let T=c*(a-s);x+=o*T,b=x+T}return[f,g,d,m,x,b]}function Qke(e,t,n){let i=e._implicitTileset,o=t.implicitCoordinates.getChildCoordinates(n),r=Wie(i,o,n,!1,t),s=Gie(void 0,i,o),a=i.subtreeUriTemplate.getDerivedResource({templateValues:o.getTemplateValues()}).url,c={boundingVolume:r,geometricError:s,refine:i.refine,contents:[{uri:a}]},u=Xie(e,i.baseResource,c,t);return u.implicitTileset=i,u.implicitCoordinates=o,u}function Xie(e,t,n,i){let o=e._tile.constructor;return new o(e._tileset,t,n,i)}Lc.prototype.hasProperty=function(e,t){return!1};Lc.prototype.getFeature=function(e){};Lc.prototype.applyDebugSettings=function(e,t){};Lc.prototype.applyStyle=function(e){};Lc.prototype.update=function(e,t){};Lc.prototype.pick=function(e,t,n){};Lc.prototype.isDestroyed=function(){return!1};Lc.prototype.destroy=function(){return this._implicitSubtree=this._implicitSubtree&&this._implicitSubtree.destroy(),ue(this)};Lc._deriveBoundingBox=qie;Lc._deriveBoundingRegion=Yie;Lc._deriveBoundingVolumeS2=jie;var hw=Lc;var Jke={NONE:0,REPEAT:1,MIRRORED_REPEAT:2},cu=Object.freeze(Jke);function wC(e,t){this._distance=t,this._normal=new Kie(e,this),this.onChangeCallback=void 0,this.index=-1}Object.defineProperties(wC.prototype,{distance:{get:function(){return this._distance},set:function(e){l(this.onChangeCallback)&&e!==this._distance&&this.onChangeCallback(this.index),this._distance=e}},normal:{get:function(){return this._normal},set:function(e){l(this.onChangeCallback)&&!h.equals(this._normal._cartesian3,e)&&this.onChangeCallback(this.index),h.clone(e,this._normal._cartesian3)}}});wC.fromPlane=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance):t=new wC(e.normal,e.distance),t};wC.clone=function(e,t){return l(t)?(t.normal=e.normal,t.distance=e.distance,t):new wC(e.normal,e.distance)};function Kie(e,t){this._clippingPlane=t,this._cartesian3=h.clone(e)}Object.defineProperties(Kie.prototype,{x:{get:function(){return this._cartesian3.x},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.x&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.x=e}},y:{get:function(){return this._cartesian3.y},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.y&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.y=e}},z:{get:function(){return this._cartesian3.z},set:function(e){l(this._clippingPlane.onChangeCallback)&&e!==this._cartesian3.z&&this._clippingPlane.onChangeCallback(this._clippingPlane.index),this._cartesian3.z=e}}});var DC=wC;function nc(e){e=y(e,y.EMPTY_OBJECT),this._planes=[],this._dirtyIndex=-1,this._multipleDirtyPlanes=!1,this._enabled=y(e.enabled,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.edgeColor=z.clone(y(e.edgeColor,z.WHITE)),this.edgeWidth=y(e.edgeWidth,0),this.planeAdded=new me,this.planeRemoved=new me,this._owner=void 0;let t=y(e.unionClippingRegions,!1);this._unionClippingRegions=t,this._testIntersection=t?eoe:toe,this._uint8View=void 0,this._float32View=void 0,this._clippingPlanesTexture=void 0;let n=e.planes;if(l(n)){let i=n.length;for(let o=0;o<i;++o)this.add(n[o])}}function eoe(e){return e===jt.OUTSIDE}function toe(e){return e===jt.INSIDE}Object.defineProperties(nc.prototype,{length:{get:function(){return this._planes.length}},unionClippingRegions:{get:function(){return this._unionClippingRegions},set:function(e){this._unionClippingRegions!==e&&(this._unionClippingRegions=e,this._testIntersection=e?eoe:toe)}},enabled:{get:function(){return this._enabled},set:function(e){this._enabled!==e&&(this._enabled=e)}},texture:{get:function(){return this._clippingPlanesTexture}},owner:{get:function(){return this._owner}},clippingPlanesState:{get:function(){return this._unionClippingRegions?this._planes.length:-this._planes.length}}});function Zie(e,t){e._multipleDirtyPlanes=e._multipleDirtyPlanes||e._dirtyIndex!==-1&&e._dirtyIndex!==t,e._dirtyIndex=t}nc.prototype.add=function(e){let t=this._planes.length,n=this;e.onChangeCallback=function(i){Zie(n,i)},e.index=t,Zie(this,t),this._planes.push(e),this.planeAdded.raiseEvent(e,t)};nc.prototype.get=function(e){return this._planes[e]};function noe(e,t){let n=e.length;for(let i=0;i<n;++i)if(ln.equals(e[i],t))return i;return-1}nc.prototype.contains=function(e){return noe(this._planes,e)!==-1};nc.prototype.remove=function(e){let t=this._planes,n=noe(t,e);if(n===-1)return!1;e instanceof DC&&(e.onChangeCallback=void 0,e.index=-1);let i=t.length-1;for(let o=n;o<i;++o){let r=t[o+1];t[o]=r,r instanceof DC&&(r.index=o)}return this._multipleDirtyPlanes=!0,t.length=i,this.planeRemoved.raiseEvent(e,n),!0};nc.prototype.removeAll=function(){let e=this._planes,t=e.length;for(let n=0;n<t;++n){let i=e[n];i instanceof DC&&(i.onChangeCallback=void 0,i.index=-1),this.planeRemoved.raiseEvent(i,n)}this._multipleDirtyPlanes=!0,this._planes=[]};var eVe=new oe,tVe=new oe;function $ie(e,t,n){let i=e._uint8View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=Fn.octEncodeToCartesian4(a.normal,tVe);i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=c.w;let u=oe.packFloat(a.distance,eVe);i[r+4]=u.x,i[r+5]=u.y,i[r+6]=u.z,i[r+7]=u.w,r+=8}}function Qie(e,t,n){let i=e._float32View,o=e._planes,r=0;for(let s=t;s<n;++s){let a=o[s],c=a.normal;i[r]=c.x,i[r+1]=c.y,i[r+2]=c.z,i[r+3]=a.distance,r+=4}}function ioe(e,t){let n=Bt.maximumTextureSize;return t.x=Math.min(e,n),t.y=Math.ceil(e/t.x),t}var nVe=new U;nc.prototype.update=function(e){let t=this._clippingPlanesTexture,n=e.context,i=nc.useFloatTexture(n),o=i?this.length:this.length*2;if(l(t)){let s=t.width*t.height;(s<o||o<.25*s)&&(t.destroy(),t=void 0,this._clippingPlanesTexture=void 0)}if(this.length===0)return;if(!l(t)){let s=ioe(o,nVe);s.y*=2,i?(t=new Pt({context:n,width:s.x,height:s.y,pixelFormat:ot.RGBA,pixelDatatype:Ze.FLOAT,sampler:$t.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*4)):(t=new Pt({context:n,width:s.x,height:s.y,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,sampler:$t.NEAREST,flipY:!1}),this._uint8View=new Uint8Array(s.x*s.y*4)),this._clippingPlanesTexture=t,this._multipleDirtyPlanes=!0}let r=this._dirtyIndex;if(!(!this._multipleDirtyPlanes&&r===-1)){if(this._multipleDirtyPlanes)i?(Qie(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._float32View}})):($ie(this,0,this._planes.length),t.copyFrom({source:{width:t.width,height:t.height,arrayBufferView:this._uint8View}}));else{let s=0,a=0;i?(a=Math.floor(r/t.width),s=Math.floor(r-a*t.width),Qie(this,r,r+1),t.copyFrom({source:{width:1,height:1,arrayBufferView:this._float32View},xOffset:s,yOffset:a})):(a=Math.floor(r*2/t.width),s=Math.floor(r*2-a*t.width),$ie(this,r,r+1),t.copyFrom({source:{width:2,height:1,arrayBufferView:this._uint8View},xOffset:s,yOffset:a}))}this._multipleDirtyPlanes=!1,this._dirtyIndex=-1}};var iVe=new F,Jie=new ln(h.UNIT_X,0);nc.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._planes,i=n.length,o=this.modelMatrix;l(t)&&(o=F.multiply(t,o,iVe));let r=jt.INSIDE;!this.unionClippingRegions&&i>0&&(r=jt.OUTSIDE);for(let s=0;s<i;++s){let a=n[s];ln.transform(a,o,Jie);let c=e.intersectPlane(Jie);if(c===jt.INTERSECTING)r=c;else if(this._testIntersection(c))return c}return r};nc.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};nc.useFloatTexture=function(e){return e.floatingPointTexture};nc.getTextureResolution=function(e,t,n){let i=e.texture;if(l(i))return n.x=i.width,n.y=i.height,n;let o=nc.useFloatTexture(t)?e.length:e.length*2,r=ioe(o,n);return r.y*=2,r};nc.prototype.isDestroyed=function(){return!1};nc.prototype.destroy=function(){return this._clippingPlanesTexture=this._clippingPlanesTexture&&this._clippingPlanesTexture.destroy(),ue(this)};var Ss=nc;function Y9(e,t,n=2){let i=t&&t.length,o=i?t[0]*n:e.length,r=roe(e,0,o,n,!0),s=[];if(!r||r.next===r.prev)return s;let a,c,u;if(i&&(r=cVe(e,t,r,n)),e.length>80*n){a=1/0,c=1/0;let f=-1/0,d=-1/0;for(let p=n;p<o;p+=n){let g=e[p],m=e[p+1];g<a&&(a=g),m<c&&(c=m),g>f&&(f=g),m>d&&(d=m)}u=Math.max(f-a,d-c),u=u!==0?32767/u:0}return mw(r,s,n,a,c,u,0),s}function roe(e,t,n,i,o){let r;if(o===xVe(e,t,n,i)>0)for(let s=t;s<n;s+=i)r=ooe(s/i|0,e[s],e[s+1],r);else for(let s=n-i;s>=t;s-=i)r=ooe(s/i|0,e[s],e[s+1],r);return r&&UN(r,r.next)&&(_w(r),r=r.next),r}function gx(e,t){if(!e)return e;t||(t=e);let n=e,i;do if(i=!1,!n.steiner&&(UN(n,n.next)||Mr(n.prev,n,n.next)===0)){if(_w(n),n=t=n.prev,n===n.next)break;i=!0}else n=n.next;while(i||n!==t);return t}function mw(e,t,n,i,o,r,s){if(!e)return;!s&&r&&hVe(e,i,o,r);let a=e;for(;e.prev!==e.next;){let c=e.prev,u=e.next;if(r?rVe(e,i,o,r):oVe(e)){t.push(c.i,e.i,u.i),_w(e),e=u.next,a=u.next;continue}if(e=u,e===a){s?s===1?(e=sVe(gx(e),t),mw(e,t,n,i,o,r,2)):s===2&&aVe(e,t,n,i,o,r):mw(gx(e),t,n,i,o,r,1);break}}}function oVe(e){let t=e.prev,n=e,i=e.next;if(Mr(t,n,i)>=0)return!1;let o=t.x,r=n.x,s=i.x,a=t.y,c=n.y,u=i.y,f=o<r?o<s?o:s:r<s?r:s,d=a<c?a<u?a:u:c<u?c:u,p=o>r?o>s?o:s:r>s?r:s,g=a>c?a>u?a:u:c>u?c:u,m=i.next;for(;m!==t;){if(m.x>=f&&m.x<=p&&m.y>=d&&m.y<=g&&IC(o,a,r,c,s,u,m.x,m.y)&&Mr(m.prev,m,m.next)>=0)return!1;m=m.next}return!0}function rVe(e,t,n,i){let o=e.prev,r=e,s=e.next;if(Mr(o,r,s)>=0)return!1;let a=o.x,c=r.x,u=s.x,f=o.y,d=r.y,p=s.y,g=a<c?a<u?a:u:c<u?c:u,m=f<d?f<p?f:p:d<p?d:p,x=a>c?a>u?a:u:c>u?c:u,b=f>d?f>p?f:p:d>p?d:p,T=j9(g,m,t,n,i),C=j9(x,b,t,n,i),A=e.prevZ,S=e.nextZ;for(;A&&A.z>=T&&S&&S.z<=C;){if(A.x>=g&&A.x<=x&&A.y>=m&&A.y<=b&&A!==o&&A!==s&&IC(a,f,c,d,u,p,A.x,A.y)&&Mr(A.prev,A,A.next)>=0||(A=A.prevZ,S.x>=g&&S.x<=x&&S.y>=m&&S.y<=b&&S!==o&&S!==s&&IC(a,f,c,d,u,p,S.x,S.y)&&Mr(S.prev,S,S.next)>=0))return!1;S=S.nextZ}for(;A&&A.z>=T;){if(A.x>=g&&A.x<=x&&A.y>=m&&A.y<=b&&A!==o&&A!==s&&IC(a,f,c,d,u,p,A.x,A.y)&&Mr(A.prev,A,A.next)>=0)return!1;A=A.prevZ}for(;S&&S.z<=C;){if(S.x>=g&&S.x<=x&&S.y>=m&&S.y<=b&&S!==o&&S!==s&&IC(a,f,c,d,u,p,S.x,S.y)&&Mr(S.prev,S,S.next)>=0)return!1;S=S.nextZ}return!0}function sVe(e,t){let n=e;do{let i=n.prev,o=n.next.next;!UN(i,o)&&soe(i,n,n.next,o)&&pw(i,o)&&pw(o,i)&&(t.push(i.i,n.i,o.i),_w(n),_w(n.next),n=e=o),n=n.next}while(n!==e);return gx(n)}function aVe(e,t,n,i,o,r){let s=e;do{let a=s.next.next;for(;a!==s.prev;){if(s.i!==a.i&&_Ve(s,a)){let c=aoe(s,a);s=gx(s,s.next),c=gx(c,c.next),mw(s,t,n,i,o,r,0),mw(c,t,n,i,o,r,0);return}a=a.next}s=s.next}while(s!==e)}function cVe(e,t,n,i){let o=[];for(let r=0,s=t.length;r<s;r++){let a=t[r]*i,c=r<s-1?t[r+1]*i:e.length,u=roe(e,a,c,i,!1);u===u.next&&(u.steiner=!0),o.push(pVe(u))}o.sort(lVe);for(let r=0;r<o.length;r++)n=uVe(o[r],n);return n}function lVe(e,t){return e.x-t.x}function uVe(e,t){let n=fVe(e,t);if(!n)return t;let i=aoe(n,e);return gx(i,i.next),gx(n,n.next)}function fVe(e,t){let n=t,i=e.x,o=e.y,r=-1/0,s;do{if(o<=n.y&&o>=n.next.y&&n.next.y!==n.y){let d=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(d<=i&&d>r&&(r=d,s=n.x<n.next.x?n:n.next,d===i))return s}n=n.next}while(n!==t);if(!s)return null;let a=s,c=s.x,u=s.y,f=1/0;n=s;do{if(i>=n.x&&n.x>=c&&i!==n.x&&IC(o<u?i:r,o,c,u,o<u?r:i,o,n.x,n.y)){let d=Math.abs(o-n.y)/(i-n.x);pw(n,e)&&(d<f||d===f&&(n.x>s.x||n.x===s.x&&dVe(s,n)))&&(s=n,f=d)}n=n.next}while(n!==a);return s}function dVe(e,t){return Mr(e.prev,e,t.prev)<0&&Mr(t.next,e,e.next)<0}function hVe(e,t,n,i){let o=e;do o.z===0&&(o.z=j9(o.x,o.y,t,n,i)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next;while(o!==e);o.prevZ.nextZ=null,o.prevZ=null,mVe(o)}function mVe(e){let t,n=1;do{let i=e,o;e=null;let r=null;for(t=0;i;){t++;let s=i,a=0;for(let u=0;u<n&&(a++,s=s.nextZ,!!s);u++);let c=n;for(;a>0||c>0&&s;)a!==0&&(c===0||!s||i.z<=s.z)?(o=i,i=i.nextZ,a--):(o=s,s=s.nextZ,c--),r?r.nextZ=o:e=o,o.prevZ=r,r=o;i=s}r.nextZ=null,n*=2}while(t>1);return e}function j9(e,t,n,i,o){return e=(e-n)*o|0,t=(t-i)*o|0,e=(e|e<<8)&16711935,e=(e|e<<4)&252645135,e=(e|e<<2)&858993459,e=(e|e<<1)&1431655765,t=(t|t<<8)&16711935,t=(t|t<<4)&252645135,t=(t|t<<2)&858993459,t=(t|t<<1)&1431655765,e|t<<1}function pVe(e){let t=e,n=e;do(t.x<n.x||t.x===n.x&&t.y<n.y)&&(n=t),t=t.next;while(t!==e);return n}function IC(e,t,n,i,o,r,s,a){return(o-s)*(t-a)>=(e-s)*(r-a)&&(e-s)*(i-a)>=(n-s)*(t-a)&&(n-s)*(r-a)>=(o-s)*(i-a)}function _Ve(e,t){return e.next.i!==t.i&&e.prev.i!==t.i&&!gVe(e,t)&&(pw(e,t)&&pw(t,e)&&yVe(e,t)&&(Mr(e.prev,e,t.prev)||Mr(e,t.prev,t))||UN(e,t)&&Mr(e.prev,e,e.next)>0&&Mr(t.prev,t,t.next)>0)}function Mr(e,t,n){return(t.y-e.y)*(n.x-t.x)-(t.x-e.x)*(n.y-t.y)}function UN(e,t){return e.x===t.x&&e.y===t.y}function soe(e,t,n,i){let o=VN(Mr(e,t,n)),r=VN(Mr(e,t,i)),s=VN(Mr(n,i,e)),a=VN(Mr(n,i,t));return!!(o!==r&&s!==a||o===0&&kN(e,n,t)||r===0&&kN(e,i,t)||s===0&&kN(n,e,i)||a===0&&kN(n,t,i))}function kN(e,t,n){return t.x<=Math.max(e.x,n.x)&&t.x>=Math.min(e.x,n.x)&&t.y<=Math.max(e.y,n.y)&&t.y>=Math.min(e.y,n.y)}function VN(e){return e>0?1:e<0?-1:0}function gVe(e,t){let n=e;do{if(n.i!==e.i&&n.next.i!==e.i&&n.i!==t.i&&n.next.i!==t.i&&soe(n,n.next,e,t))return!0;n=n.next}while(n!==e);return!1}function pw(e,t){return Mr(e.prev,e,e.next)<0?Mr(e,t,e.next)>=0&&Mr(e,e.prev,t)>=0:Mr(e,t,e.prev)<0||Mr(e,e.next,t)<0}function yVe(e,t){let n=e,i=!1,o=(e.x+t.x)/2,r=(e.y+t.y)/2;do n.y>r!=n.next.y>r&&n.next.y!==n.y&&o<(n.next.x-n.x)*(r-n.y)/(n.next.y-n.y)+n.x&&(i=!i),n=n.next;while(n!==e);return i}function aoe(e,t){let n=q9(e.i,e.x,e.y),i=q9(t.i,t.x,t.y),o=e.next,r=t.prev;return e.next=t,t.prev=e,n.next=o,o.prev=n,i.next=n,n.prev=i,r.next=i,i.prev=r,i}function ooe(e,t,n,i){let o=q9(e,t,n);return i?(o.next=i.next,o.prev=i,i.next.prev=o,i.next=o):(o.prev=o,o.next=o),o}function _w(e){e.next.prev=e.prev,e.prev.next=e.next,e.prevZ&&(e.prevZ.nextZ=e.nextZ),e.nextZ&&(e.nextZ.prevZ=e.prevZ)}function q9(e,t,n){return{i:e,x:t,y:n,prev:null,next:null,z:0,prevZ:null,nextZ:null,steiner:!1}}function xVe(e,t,n,i){let o=0;for(let r=t,s=n-i;r<n;r+=i)o+=(e[s]-e[r])*(e[r+1]+e[s+1]),s=r;return o}var bVe=new h,TVe=new h,Sg={};Sg.computeArea2D=function(e){let t=e.length,n=0;for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];n+=r.x*s.y-s.x*r.y}return n*.5};Sg.computeWindingOrder2D=function(e){return Sg.computeArea2D(e)>0?Ts.COUNTER_CLOCKWISE:Ts.CLOCKWISE};Sg.triangulate=function(e,t){let n=U.packArray(e);return Y9(n,t,2)};var foe=new h,doe=new h,hoe=new h,coe=new h,loe=new h,uoe=new h,Dp=new h,moe=new U,poe=new U,_oe=new U,PC=new U;Sg.computeSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let A=t[a];if(u[d++]=A.x,u[d++]=A.y,u[d++]=A.z,r){let S=i[a];f[p++]=S.x,f[p++]=S.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=b*b;for(;s.length>0;){let A=s.pop(),S=s.pop(),v=s.pop(),D=h.fromArray(u,v*3,foe),R=h.fromArray(u,S*3,doe),O=h.fromArray(u,A*3,hoe),M,N,_;r&&(M=U.fromArray(f,v*2,moe),N=U.fromArray(f,S*2,poe),_=U.fromArray(f,A*2,_oe));let E=h.multiplyByScalar(h.normalize(D,coe),x,coe),w=h.multiplyByScalar(h.normalize(R,loe),x,loe),I=h.multiplyByScalar(h.normalize(O,uoe),x,uoe),L=h.magnitudeSquared(h.subtract(E,w,Dp)),B=h.magnitudeSquared(h.subtract(w,I,Dp)),H=h.magnitudeSquared(h.subtract(I,E,Dp)),V=Math.max(L,B,H),G,k,W;V>T?L===V?(G=`${Math.min(v,S)} ${Math.max(v,S)}`,a=m[G],l(a)||(k=h.add(D,R,Dp),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(W=U.add(M,N,PC),U.multiplyByScalar(W,.5,W),f.push(W.x,W.y))),s.push(v,a,A),s.push(a,S,A)):B===V?(G=`${Math.min(S,A)} ${Math.max(S,A)}`,a=m[G],l(a)||(k=h.add(R,O,Dp),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(W=U.add(N,_,PC),U.multiplyByScalar(W,.5,W),f.push(W.x,W.y))),s.push(S,a,v),s.push(a,A,v)):H===V&&(G=`${Math.min(A,v)} ${Math.max(A,v)}`,a=m[G],l(a)||(k=h.add(O,D,Dp),h.multiplyByScalar(k,.5,k),u.push(k.x,k.y,k.z),a=u.length/3-1,m[G]=a,r&&(W=U.add(_,M,PC),U.multiplyByScalar(W,.5,W),f.push(W.x,W.y))),s.push(A,a,S),s.push(a,v,S)):(g.push(v),g.push(S),g.push(A))}let C={attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Fe.TRIANGLES};return r&&(C.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new ft(C)};var CVe=new fe,AVe=new fe,EVe=new fe,X9=new fe;Sg.computeRhumbLineSubdivision=function(e,t,n,i,o){o=y(o,P.RADIANS_PER_DEGREE);let r=l(i),s=n.slice(0),a,c=t.length,u=new Array(c*3),f=new Array(c*2),d=0,p=0;for(a=0;a<c;a++){let v=t[a];if(u[d++]=v.x,u[d++]=v.y,u[d++]=v.z,r){let D=i[a];f[p++]=D.x,f[p++]=D.y}}let g=[],m={},x=e.maximumRadius,b=P.chordLength(o,x),T=new $a(void 0,void 0,e),C=new $a(void 0,void 0,e),A=new $a(void 0,void 0,e);for(;s.length>0;){let v=s.pop(),D=s.pop(),R=s.pop(),O=h.fromArray(u,R*3,foe),M=h.fromArray(u,D*3,doe),N=h.fromArray(u,v*3,hoe),_,E,w;r&&(_=U.fromArray(f,R*2,moe),E=U.fromArray(f,D*2,poe),w=U.fromArray(f,v*2,_oe));let I=e.cartesianToCartographic(O,CVe),L=e.cartesianToCartographic(M,AVe),B=e.cartesianToCartographic(N,EVe);T.setEndPoints(I,L);let H=T.surfaceDistance;C.setEndPoints(L,B);let V=C.surfaceDistance;A.setEndPoints(B,I);let G=A.surfaceDistance,k=Math.max(H,V,G),W,Y,J,j,Z;k>b?H===k?(W=`${Math.min(R,D)} ${Math.max(R,D)}`,a=m[W],l(a)||(Y=T.interpolateUsingFraction(.5,X9),J=(I.height+L.height)*.5,j=h.fromRadians(Y.longitude,Y.latitude,J,e,Dp),u.push(j.x,j.y,j.z),a=u.length/3-1,m[W]=a,r&&(Z=U.add(_,E,PC),U.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(R,a,v),s.push(a,D,v)):V===k?(W=`${Math.min(D,v)} ${Math.max(D,v)}`,a=m[W],l(a)||(Y=C.interpolateUsingFraction(.5,X9),J=(L.height+B.height)*.5,j=h.fromRadians(Y.longitude,Y.latitude,J,e,Dp),u.push(j.x,j.y,j.z),a=u.length/3-1,m[W]=a,r&&(Z=U.add(E,w,PC),U.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(D,a,R),s.push(a,v,R)):G===k&&(W=`${Math.min(v,R)} ${Math.max(v,R)}`,a=m[W],l(a)||(Y=A.interpolateUsingFraction(.5,X9),J=(B.height+I.height)*.5,j=h.fromRadians(Y.longitude,Y.latitude,J,e,Dp),u.push(j.x,j.y,j.z),a=u.length/3-1,m[W]=a,r&&(Z=U.add(w,_,PC),U.multiplyByScalar(Z,.5,Z),f.push(Z.x,Z.y))),s.push(v,a,D),s.push(a,R,D)):(g.push(R),g.push(D),g.push(v))}let S={attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})},indices:g,primitiveType:Fe.TRIANGLES};return r&&(S.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),new ft(S)};Sg.scaleToGeodeticHeight=function(e,t,n,i){n=y(n,ee.default);let o=bVe,r=TVe;if(t=y(t,0),i=y(i,!0),l(e)){let s=e.length;for(let a=0;a<s;a+=3)h.fromArray(e,a,r),i&&(r=n.scaleToGeodeticSurface(r,r)),t!==0&&(o=n.geodeticSurfaceNormal(r,o),h.multiplyByScalar(o,t,o),h.add(r,o,r)),e[a]=r.x,e[a+1]=r.y,e[a+2]=r.z}return e};var ui=Sg;function vg(){this._array=[],this._offset=0,this._length=0}Object.defineProperties(vg.prototype,{length:{get:function(){return this._length}}});vg.prototype.enqueue=function(e){this._array.push(e),this._length++};vg.prototype.dequeue=function(){if(this._length===0)return;let e=this._array,t=this._offset,n=e[t];return e[t]=void 0,t++,t>10&&t*2>e.length&&(this._array=e.slice(t),t=0),this._offset=t,this._length--,n};vg.prototype.peek=function(){if(this._length!==0)return this._array[this._offset]};vg.prototype.contains=function(e){return this._array.indexOf(e)!==-1};vg.prototype.clear=function(){this._array.length=this._offset=this._length=0};vg.prototype.sort=function(e){this._offset>0&&(this._array=this._array.slice(this._offset),this._offset=0),this._array.sort(e)};var yx=vg;var Xo={};Xo.computeHierarchyPackedLength=function(e,t){let n=0,i=[e];for(;i.length>0;){let o=i.pop();if(!l(o))continue;n+=2;let r=o.positions,s=o.holes;if(l(r)&&r.length>0&&(n+=r.length*t.packedLength),l(s)){let a=s.length;for(let c=0;c<a;++c)i.push(s[c])}}return n};Xo.packPolygonHierarchy=function(e,t,n,i){let o=[e];for(;o.length>0;){let r=o.pop();if(!l(r))continue;let s=r.positions,a=r.holes;if(t[n++]=l(s)?s.length:0,t[n++]=l(a)?a.length:0,l(s)){let c=s.length;for(let u=0;u<c;++u,n+=i.packedLength)i.pack(s[u],t,n)}if(l(a)){let c=a.length;for(let u=0;u<c;++u)o.push(a[u])}}return n};Xo.unpackPolygonHierarchy=function(e,t,n){let i=e[t++],o=e[t++],r=new Array(i),s=o>0?new Array(o):void 0;for(let a=0;a<i;++a,t+=n.packedLength)r[a]=n.unpack(e,t);for(let a=0;a<o;++a)s[a]=Xo.unpackPolygonHierarchy(e,t,n),t=s[a].startingIndex,delete s[a].startingIndex;return{positions:r,holes:s,startingIndex:t}};var xx=new U;function xoe(e,t,n,i){return U.subtract(t,e,xx),U.multiplyByScalar(xx,n/i,xx),U.add(e,xx,xx),[xx.x,xx.y]}var wg=new h;function SVe(e,t,n,i){return h.subtract(t,e,wg),h.multiplyByScalar(wg,n/i,wg),h.add(e,wg,wg),[wg.x,wg.y,wg.z]}Xo.subdivideLineCount=function(e,t,n){let o=h.distance(e,t)/n,r=Math.max(0,Math.ceil(P.log2(o)));return Math.pow(2,r)};var HN=new fe,GN=new fe,vVe=new fe,wVe=new h,zN=new $a;Xo.subdivideRhumbLineCount=function(e,t,n,i){let o=e.cartesianToCartographic(t,HN),r=e.cartesianToCartographic(n,GN),a=new $a(o,r,e).surfaceDistance/i,c=Math.max(0,Math.ceil(P.log2(a)));return Math.pow(2,c)};Xo.subdivideTexcoordLine=function(e,t,n,i,o,r){let s=Xo.subdivideLineCount(n,i,o),a=U.distance(e,t),c=a/s,u=r;u.length=s*2;let f=0;for(let d=0;d<s;d++){let p=xoe(e,t,d*c,a);u[f++]=p[0],u[f++]=p[1]}return u};Xo.subdivideLine=function(e,t,n,i){let o=Xo.subdivideLineCount(e,t,n),r=h.distance(e,t),s=r/o;l(i)||(i=[]);let a=i;a.length=o*3;let c=0;for(let u=0;u<o;u++){let f=SVe(e,t,u*s,r);a[c++]=f[0],a[c++]=f[1],a[c++]=f[2]}return a};Xo.subdivideTexcoordRhumbLine=function(e,t,n,i,o,r,s){let a=n.cartesianToCartographic(i,HN),c=n.cartesianToCartographic(o,GN);zN.setEndPoints(a,c);let u=zN.surfaceDistance/r,f=Math.max(0,Math.ceil(P.log2(u))),d=Math.pow(2,f),p=U.distance(e,t),g=p/d,m=s;m.length=d*2;let x=0;for(let b=0;b<d;b++){let T=xoe(e,t,b*g,p);m[x++]=T[0],m[x++]=T[1]}return m};Xo.subdivideRhumbLine=function(e,t,n,i,o){let r=e.cartesianToCartographic(t,HN),s=e.cartesianToCartographic(n,GN),a=new $a(r,s,e),c=a.surfaceDistance/i,u=Math.max(0,Math.ceil(P.log2(c))),f=Math.pow(2,u),d=a.surfaceDistance/f;l(o)||(o=[]);let p=o;p.length=f*3;let g=0;for(let m=0;m<f;m++){let x=a.interpolateUsingSurfaceDistance(m*d,vVe),b=e.cartographicToCartesian(x,wVe);p[g++]=b.x,p[g++]=b.y,p[g++]=b.z}return p};var DVe=new h,IVe=new h,PVe=new h,OVe=new h;Xo.scaleToGeodeticHeightExtruded=function(e,t,n,i,o){i=y(i,ee.default);let r=DVe,s=IVe,a=PVe,c=OVe;if(l(e)&&l(e.attributes)&&l(e.attributes.position)){let u=e.attributes.position.values,f=u.length/2;for(let d=0;d<f;d+=3)h.fromArray(u,d,a),i.geodeticSurfaceNormal(a,r),c=i.scaleToGeodeticSurface(a,c),s=h.multiplyByScalar(r,n,s),s=h.add(c,s,s),u[d+f]=s.x,u[d+1+f]=s.y,u[d+2+f]=s.z,o&&(c=h.clone(a,c)),s=h.multiplyByScalar(r,t,s),s=h.add(c,s,s),u[d]=s.x,u[d+1]=s.y,u[d+2]=s.z}return e};Xo.polygonOutlinesFromHierarchy=function(e,t,n){let i=[],o=new yx;o.enqueue(e);let r,s,a;for(;o.length!==0;){let c=o.dequeue(),u=c.positions;if(t)for(a=u.length,r=0;r<a;r++)n.scaleToGeodeticSurface(u[r],u[r]);if(u=bo(u,h.equalsEpsilon,!0),u.length<3)continue;let f=c.holes?c.holes.length:0;for(r=0;r<f;r++){let d=c.holes[r],p=d.positions;if(t)for(a=p.length,s=0;s<a;++s)n.scaleToGeodeticSurface(p[s],p[s]);if(p=bo(p,h.equalsEpsilon,!0),p.length<3)continue;i.push(p);let g=0;for(l(d.holes)&&(g=d.holes.length),s=0;s<g;s++)o.enqueue(d.holes[s])}i.push(u)}return i};var RVe=new fe;function MVe(e,t,n){let i=n.cartesianToCartographic(e,HN),o=n.cartesianToCartographic(t,GN);if(Math.sign(i.latitude)===Math.sign(o.latitude))return;zN.setEndPoints(i,o);let r=zN.findIntersectionWithLatitude(0,RVe);if(!l(r))return;let s=Math.min(i.longitude,o.longitude),a=Math.max(i.longitude,o.longitude);if(Math.abs(a-s)>P.PI){let c=s;s=a,a=c}if(!(r.longitude<s||r.longitude>a))return n.cartographicToCartesian(r)}function LVe(e,t,n,i){if(i===nn.RHUMB)return MVe(e,t,n);let o=ti.lineSegmentPlane(e,t,ln.ORIGIN_XY_PLANE);if(l(o))return n.scaleToGeodeticSurface(o,o)}var NVe=new fe;function FVe(e,t,n){let i=[],o,r,s,a,c,u=0;for(;u<e.length;){o=e[u],r=e[(u+1)%e.length],s=P.sign(o.z),a=P.sign(r.z);let f=d=>t.cartesianToCartographic(d,NVe).longitude;if(s===0)i.push({position:u,type:s,visited:!1,next:a,theta:f(o)});else if(a!==0){if(c=LVe(o,r,t,n),++u,!l(c))continue;e.splice(u,0,c),i.push({position:u,type:s,visited:!1,next:a,theta:f(c)})}++u}return i}function boe(e,t,n,i,o,r,s){let a=[],c=r,u=d=>p=>p.position===d,f=[];do{let d=n[c];a.push(d);let p=i.findIndex(u(c)),g=i[p];if(!l(g)){++c;continue}let{visited:m,type:x,next:b}=g;if(g.visited=!0,x===0){if(b===0){let S=i[p-(s?1:-1)];if(S?.position===c+1)S.visited=!0;else{++c;continue}}if(!m&&s&&b>0||r===c&&!s&&b<0){++c;continue}}if(!(s?x>=0:x<=0)){++c;continue}m||f.push(c);let C=p+(s?1:-1),A=i[C];if(!l(A)){++c;continue}c=A.position}while(c<n.length&&c>=0&&c!==r&&a.length<n.length);e.splice(t,o,a);for(let d of f)t=boe(e,++t,n,i,0,d,!s);return t}Xo.splitPolygonsOnEquator=function(e,t,n,i){l(i)||(i=[]),i.splice(0,0,...e),i.length=e.length;let o=0;for(;o<i.length;){let r=i[o],s=r.slice();if(r.length<3){i[o]=s,++o;continue}let a=FVe(s,t,n);if(s.length===r.length||a.length<=1){i[o]=s,++o;continue}a.sort((u,f)=>u.theta-f.theta);let c=s[0].z>=0;o=boe(i,o,s,a,1,0,c)}return i};Xo.polygonsFromHierarchy=function(e,t,n,i,o,r){let s=[],a=[],c=new yx;c.enqueue(e);let u=l(r);for(;c.length!==0;){let f=c.dequeue(),d=f.positions,p=f.holes,g,m;if(i)for(m=d.length,g=0;g<m;g++)o.scaleToGeodeticSurface(d[g],d[g]);if(t||(d=bo(d,h.equalsEpsilon,!0)),d.length<3)continue;let x=n(d);if(!l(x))continue;let b=[],T=ui.computeWindingOrder2D(x);if(T===Ts.CLOCKWISE&&(x.reverse(),d=d.slice().reverse()),u){u=!1;let D=[d];if(D=r(D,D),D.length>1){for(let R of D)c.enqueue(new Qa(R,p));continue}}let C=d.slice(),A=l(p)?p.length:0,S=[],v;for(g=0;g<A;g++){let D=p[g],R=D.positions;if(i)for(m=R.length,v=0;v<m;++v)o.scaleToGeodeticSurface(R[v],R[v]);if(t||(R=bo(R,h.equalsEpsilon,!0)),R.length<3)continue;let O=n(R);if(!l(O))continue;T=ui.computeWindingOrder2D(O),T===Ts.CLOCKWISE&&(O.reverse(),R=R.slice().reverse()),S.push(R),b.push(C.length),C=C.concat(R),x=x.concat(O);let M=0;for(l(D.holes)&&(M=D.holes.length),v=0;v<M;v++)c.enqueue(D.holes[v])}s.push({outerRing:d,holes:S}),a.push({positions:C,positions2D:x,holes:b})}return{hierarchy:s,polygons:a}};var BVe=new U,kVe=new h,VVe=new Le,UVe=new $;Xo.computeBoundingRectangle=function(e,t,n,i,o){let r=Le.fromAxisAngle(e,i,VVe),s=$.fromQuaternion(r,UVe),a=Number.POSITIVE_INFINITY,c=Number.NEGATIVE_INFINITY,u=Number.POSITIVE_INFINITY,f=Number.NEGATIVE_INFINITY,d=n.length;for(let p=0;p<d;++p){let g=h.clone(n[p],kVe);$.multiplyByVector(s,g,g);let m=t(g,BVe);l(m)&&(a=Math.min(a,m.x),c=Math.max(c,m.x),u=Math.min(u,m.y),f=Math.max(f,m.y))}return o.x=a,o.y=u,o.width=c-a,o.height=f-u,o};Xo.createGeometryFromPositions=function(e,t,n,i,o,r,s){let a=ui.triangulate(t.positions2D,t.holes);a.length<3&&(a=[0,1,2]);let c=t.positions,u=l(n),f=u?n.positions:void 0;if(o){let d=c.length,p=new Array(d*3),g=0;for(let b=0;b<d;b++){let T=c[b];p[g++]=T.x,p[g++]=T.y,p[g++]=T.z}let m={attributes:{position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:p})},indices:a,primitiveType:Fe.TRIANGLES};u&&(m.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:U.packArray(f)}));let x=new ft(m);return r.normal?Bn.computeNormal(x):x}if(s===nn.GEODESIC)return ui.computeSubdivision(e,c,a,f,i);if(s===nn.RHUMB)return ui.computeRhumbLineSubdivision(e,c,a,f,i)};var goe=[],yoe=[],zVe=new h,HVe=new h;Xo.computeWallGeometry=function(e,t,n,i,o,r){let s,a,c,u,f,d,p,g,m,x=e.length,b=0,T=0,C=l(t),A=C?t.positions:void 0;if(o)for(a=x*3*2,s=new Array(a*2),C&&(m=x*2*2,g=new Array(m*2)),c=0;c<x;c++)u=e[c],f=e[(c+1)%x],s[b]=s[b+a]=u.x,++b,s[b]=s[b+a]=u.y,++b,s[b]=s[b+a]=u.z,++b,s[b]=s[b+a]=f.x,++b,s[b]=s[b+a]=f.y,++b,s[b]=s[b+a]=f.z,++b,C&&(d=A[c],p=A[(c+1)%x],g[T]=g[T+m]=d.x,++T,g[T]=g[T+m]=d.y,++T,g[T]=g[T+m]=p.x,++T,g[T]=g[T+m]=p.y,++T);else{let O=P.chordLength(i,n.maximumRadius),M=0;if(r===nn.GEODESIC)for(c=0;c<x;c++)M+=Xo.subdivideLineCount(e[c],e[(c+1)%x],O);else if(r===nn.RHUMB)for(c=0;c<x;c++)M+=Xo.subdivideRhumbLineCount(n,e[c],e[(c+1)%x],O);for(a=(M+x)*3,s=new Array(a*2),C&&(m=(M+x)*2,g=new Array(m*2)),c=0;c<x;c++){u=e[c],f=e[(c+1)%x];let N,_;C&&(d=A[c],p=A[(c+1)%x]),r===nn.GEODESIC?(N=Xo.subdivideLine(u,f,O,yoe),C&&(_=Xo.subdivideTexcoordLine(d,p,u,f,O,goe))):r===nn.RHUMB&&(N=Xo.subdivideRhumbLine(n,u,f,O,yoe),C&&(_=Xo.subdivideTexcoordRhumbLine(d,p,n,u,f,O,goe)));let E=N.length;for(let w=0;w<E;++w,++b)s[b]=N[w],s[b+a]=N[w];if(s[b]=f.x,s[b+a]=f.x,++b,s[b]=f.y,s[b+a]=f.y,++b,s[b]=f.z,s[b+a]=f.z,++b,C){let w=_.length;for(let I=0;I<w;++I,++T)g[T]=_[I],g[T+m]=_[I];g[T]=p.x,g[T+m]=p.x,++T,g[T]=p.y,g[T+m]=p.y,++T}}}x=s.length;let S=ke.createTypedArray(x/3,x-e.length*6),v=0;for(x/=6,c=0;c<x;c++){let O=c,M=O+1,N=O+x,_=N+1;u=h.fromArray(s,O*3,zVe),f=h.fromArray(s,M*3,HVe),!h.equalsEpsilon(u,f,P.EPSILON10,P.EPSILON10)&&(S[v++]=O,S[v++]=N,S[v++]=M,S[v++]=M,S[v++]=N,S[v++]=_)}let D={attributes:new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),indices:S,primitiveType:Fe.TRIANGLES};return C&&(D.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),new ft(D)};var Hn=Xo;function Lr(e,t){this.position=e,l(this.position)||(this.position=new U),this.tangentPlane=t,l(this.tangentPlane)||(this.tangentPlane=Lr.NORTH_POLE_TANGENT_PLANE)}Object.defineProperties(Lr.prototype,{ellipsoid:{get:function(){return this.tangentPlane.ellipsoid}},x:{get:function(){return this.position.x}},y:{get:function(){return this.position.y}},conformalLatitude:{get:function(){let e=U.magnitude(this.position),t=2*this.ellipsoid.maximumRadius;return this.tangentPlane.plane.normal.z*(P.PI_OVER_TWO-2*Math.atan2(e,t))}},longitude:{get:function(){let e=P.PI_OVER_TWO+Math.atan2(this.y,this.x);return e>Math.PI&&(e-=P.TWO_PI),e}}});var OC=new fe,GVe=new h;Lr.prototype.getLatitude=function(e){l(e)||(e=ee.default),OC.latitude=this.conformalLatitude,OC.longitude=this.longitude,OC.height=0;let t=this.ellipsoid.cartographicToCartesian(OC,GVe);return e.cartesianToCartographic(t,OC),OC.latitude};var WVe=new _n,jVe=new h,qVe=new h;Lr.fromCartesian=function(e,t){let n=P.signNotZero(e.z),i=Lr.NORTH_POLE_TANGENT_PLANE,o=Lr.SOUTH_POLE;n<0&&(i=Lr.SOUTH_POLE_TANGENT_PLANE,o=Lr.NORTH_POLE);let r=WVe;r.origin=i.ellipsoid.scaleToGeocentricSurface(e,r.origin),r.direction=h.subtract(r.origin,o,jVe),h.normalize(r.direction,r.direction);let s=ti.rayPlane(r,i.plane,qVe),a=h.subtract(s,o,s),c=h.dot(i.xAxis,a),u=n*h.dot(i.yAxis,a);return l(t)?(t.position=new U(c,u),t.tangentPlane=i,t):new Lr(new U(c,u),i)};Lr.fromCartesianArray=function(e,t){let n=e.length;l(t)?t.length=n:t=new Array(n);for(let i=0;i<n;i++)t[i]=Lr.fromCartesian(e[i],t[i]);return t};Lr.clone=function(e,t){if(l(e))return l(t)?(t.position=e.position,t.tangentPlane=e.tangentPlane,t):new Lr(e.position,e.tangentPlane)};Lr.HALF_UNIT_SPHERE=Object.freeze(new ee(.5,.5,.5));Lr.NORTH_POLE=Object.freeze(new h(0,0,.5));Lr.SOUTH_POLE=Object.freeze(new h(0,0,-.5));Lr.NORTH_POLE_TANGENT_PLANE=Object.freeze(new os(Lr.NORTH_POLE,Lr.HALF_UNIT_SPHERE));Lr.SOUTH_POLE_TANGENT_PLANE=Object.freeze(new os(Lr.SOUTH_POLE,Lr.HALF_UNIT_SPHERE));var Nc=Lr;var YVe=new fe,Toe=new fe;function XVe(e,t,n,i){let r=i.cartesianToCartographic(e,YVe).height,s=i.cartesianToCartographic(t,Toe);s.height=r,i.cartographicToCartesian(s,t);let a=i.cartesianToCartographic(n,Toe);a.height=r-100,i.cartographicToCartesian(a,n)}var Coe=new Ye,KVe=new h,ZVe=new h,$Ve=new h,QVe=new h,JVe=new h,eUe=new h,WN=new h,Yh=new h,RC=new h,tUe=new U,nUe=new U,iUe=new h,Aoe=new Le,oUe=new $,rUe=new $;function K9(e){let t=e.vertexFormat,n=e.geometry,i=e.shadowVolume,o=n.attributes.position.values,r=l(n.attributes.st)?n.attributes.st.values:void 0,s=o.length,a=e.wall,c=e.top||a,u=e.bottom||a;if(t.st||t.normal||t.tangent||t.bitangent||i){let f=e.boundingRectangle,d=e.rotationAxis,p=e.projectTo2d,g=e.ellipsoid,m=e.stRotation,x=e.perPositionHeight,b=tUe;b.x=f.x,b.y=f.y;let T=t.st?new Float32Array(2*(s/3)):void 0,C;t.normal&&(x&&c&&!a?C=n.attributes.normal.values:C=new Float32Array(s));let A=t.tangent?new Float32Array(s):void 0,S=t.bitangent?new Float32Array(s):void 0,v=i?new Float32Array(s):void 0,D=0,R=0,O=ZVe,M=$Ve,N=QVe,_=!0,E=oUe,w=rUe;if(m!==0){let B=Le.fromAxisAngle(d,m,Aoe);E=$.fromQuaternion(B,E),B=Le.fromAxisAngle(d,-m,Aoe),w=$.fromQuaternion(B,w)}else E=$.clone($.IDENTITY,E),w=$.clone($.IDENTITY,w);let I=0,L=0;c&&u&&(I=s/2,L=s/3,s/=2);for(let B=0;B<s;B+=3){let H=h.fromArray(o,B,iUe);if(t.st&&!l(r)){let V=$.multiplyByVector(E,H,KVe);V=g.scaleToGeodeticSurface(V,V);let G=p([V],nUe)[0];U.subtract(G,b,G);let k=P.clamp(G.x/f.width,0,1),W=P.clamp(G.y/f.height,0,1);u&&(T[D+L]=k,T[D+1+L]=W),c&&(T[D]=k,T[D+1]=W),D+=2}if(t.normal||t.tangent||t.bitangent||i){let V=R+1,G=R+2;if(a){if(B+3<s){let k=h.fromArray(o,B+3,JVe);if(_){let W=h.fromArray(o,B+s,eUe);x&&XVe(H,k,W,g),h.subtract(k,H,k),h.subtract(W,H,W),O=h.normalize(h.cross(W,k,O),O),_=!1}h.equalsEpsilon(k,H,P.EPSILON10)&&(_=!0)}(t.tangent||t.bitangent)&&(N=g.geodeticSurfaceNormal(H,N),t.tangent&&(M=h.normalize(h.cross(N,O,M),M)))}else O=g.geodeticSurfaceNormal(H,O),(t.tangent||t.bitangent)&&(x&&(WN=h.fromArray(C,R,WN),Yh=h.cross(h.UNIT_Z,WN,Yh),Yh=h.normalize($.multiplyByVector(w,Yh,Yh),Yh),t.bitangent&&(RC=h.normalize(h.cross(WN,Yh,RC),RC))),M=h.cross(h.UNIT_Z,O,M),M=h.normalize($.multiplyByVector(w,M,M),M),t.bitangent&&(N=h.normalize(h.cross(O,M,N),N)));t.normal&&(e.wall?(C[R+I]=O.x,C[V+I]=O.y,C[G+I]=O.z):u&&(C[R+I]=-O.x,C[V+I]=-O.y,C[G+I]=-O.z),(c&&!x||a)&&(C[R]=O.x,C[V]=O.y,C[G]=O.z)),i&&(a&&(O=g.geodeticSurfaceNormal(H,O)),v[R+I]=-O.x,v[V+I]=-O.y,v[G+I]=-O.z),t.tangent&&(e.wall?(A[R+I]=M.x,A[V+I]=M.y,A[G+I]=M.z):u&&(A[R+I]=-M.x,A[V+I]=-M.y,A[G+I]=-M.z),c&&(x?(A[R]=Yh.x,A[V]=Yh.y,A[G]=Yh.z):(A[R]=M.x,A[V]=M.y,A[G]=M.z))),t.bitangent&&(u&&(S[R+I]=N.x,S[V+I]=N.y,S[G+I]=N.z),c&&(x?(S[R]=RC.x,S[V]=RC.y,S[G]=RC.z):(S[R]=N.x,S[V]=N.y,S[G]=N.z))),R+=3}}t.st&&!l(r)&&(n.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T})),t.normal&&(n.attributes.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.tangent&&(n.attributes.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.bitangent&&(n.attributes.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:S})),i&&(n.attributes.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:v}))}if(e.extrude&&l(e.offsetAttribute)){let f=o.length/3,d=new Uint8Array(f);if(e.offsetAttribute===cn.TOP)c&&u||a?d=d.fill(1,0,f/2):c&&(d=d.fill(1));else{let p=e.offsetAttribute===cn.NONE?0:1;d=d.fill(p)}n.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}return n}var Eoe=[];function sUe(e,t,n,i,o,r,s,a,c,u){let f={walls:[]},d;if(s||a){let C=Hn.createGeometryFromPositions(e,t,n,i,r,c,u),A=C.attributes.position.values,S=C.indices,v,D;if(s&&a){let R=A.concat(A);v=R.length/3,D=ke.createTypedArray(v,S.length*2),D.set(S);let O=S.length,M=v/2;for(d=0;d<O;d+=3){let N=D[d]+M,_=D[d+1]+M,E=D[d+2]+M;D[d+O]=E,D[d+1+O]=_,D[d+2+O]=N}if(C.attributes.position.values=R,r&&c.normal){let N=C.attributes.normal.values;C.attributes.normal.values=new Float32Array(R.length),C.attributes.normal.values.set(N)}if(c.st&&l(n)){let N=C.attributes.st.values;C.attributes.st.values=new Float32Array(v*2),C.attributes.st.values=N.concat(N)}C.indices=D}else if(a){for(v=A.length/3,D=ke.createTypedArray(v,S.length),d=0;d<S.length;d+=3)D[d]=S[d+2],D[d+1]=S[d+1],D[d+2]=S[d];C.indices=D}f.topAndBottom=new wt({geometry:C})}let p=o.outerRing,g=os.fromPoints(p,e),m=g.projectPointsOntoPlane(p,Eoe),x=ui.computeWindingOrder2D(m);x===Ts.CLOCKWISE&&(p=p.slice().reverse());let b=Hn.computeWallGeometry(p,n,e,i,r,u);f.walls.push(new wt({geometry:b}));let T=o.holes;for(d=0;d<T.length;d++){let C=T[d];m=g.projectPointsOntoPlane(C,Eoe),x=ui.computeWindingOrder2D(m),x===Ts.COUNTER_CLOCKWISE&&(C=C.slice().reverse()),b=Hn.computeWallGeometry(C,n,e,i,r,u),f.walls.push(new wt({geometry:b}))}return f}function ff(e){let t=e.polygonHierarchy,n=y(e.vertexFormat,Pe.DEFAULT),i=y(e.ellipsoid,ee.default),o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.stRotation,0),s=e.textureCoordinates,a=y(e.perPositionHeight,!1),c=a&&l(e.extrudedHeight),u=y(e.height,0),f=y(e.extrudedHeight,u);if(!c){let d=Math.max(u,f);f=Math.min(u,f),u=d}this._vertexFormat=Pe.clone(n),this._ellipsoid=ee.clone(i),this._granularity=o,this._stRotation=r,this._height=u,this._extrudedHeight=f,this._closeTop=y(e.closeTop,!0),this._closeBottom=y(e.closeBottom,!0),this._polygonHierarchy=t,this._perPositionHeight=a,this._perPositionHeightExtrude=c,this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createPolygonGeometry",this._offsetAttribute=e.offsetAttribute,this._arcType=y(e.arcType,nn.GEODESIC),this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0,this._textureCoordinates=s,this.packedLength=Hn.computeHierarchyPackedLength(t,h)+ee.packedLength+Pe.packedLength+(s?Hn.computeHierarchyPackedLength(s,U):1)+12}ff.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,closeTop:e.closeTop,closeBottom:e.closeBottom,offsetAttribute:e.offsetAttribute,arcType:e.arcType,textureCoordinates:e.textureCoordinates};return new ff(t)};ff.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._stRotation,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._closeTop?1:0,t[n++]=e._closeBottom?1:0,t[n++]=e._shadowVolume?1:0,t[n++]=y(e._offsetAttribute,-1),t[n++]=e._arcType,l(e._textureCoordinates)?n=Hn.packPolygonHierarchy(e._textureCoordinates,t,n,U):t[n++]=-1,t[n++]=e.packedLength,t};var aUe=ee.clone(ee.UNIT_SPHERE),cUe=new Pe,lUe={polygonHierarchy:{}};ff.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,aUe);t+=ee.packedLength;let r=Pe.unpack(e,t,cUe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++]===1,d=e[t++]===1,p=e[t++]===1,g=e[t++]===1,m=e[t++]===1,x=e[t++],b=e[t++],T=e[t]===-1?void 0:Hn.unpackPolygonHierarchy(e,t,U);l(T)?(t=T.startingIndex,delete T.startingIndex):t++;let C=e[t++];return l(n)||(n=new ff(lUe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._height=s,n._extrudedHeight=a,n._granularity=c,n._stRotation=u,n._perPositionHeightExtrude=f,n._perPositionHeight=d,n._closeTop=p,n._closeBottom=g,n._shadowVolume=m,n._offsetAttribute=x===-1?void 0:x,n._arcType=b,n._textureCoordinates=T,n.packedLength=C,n};var uUe=new U,fUe=new U,dUe=new Nc;function Soe(e,t,n,i,o,r){let s=e.longitude,a=s>=0?s:s+P.TWO_PI;o.westOverIdl=Math.min(o.westOverIdl,a),o.eastOverIdl=Math.max(o.eastOverIdl,a),r.west=Math.min(r.west,s),r.east=Math.max(r.east,s);let c=e.getLatitude(n),u=c;if(r.south=Math.min(r.south,c),r.north=Math.max(r.north,c),i!==nn.RHUMB){let p=U.subtract(t.position,e.position,uUe),g=U.dot(t.position,p)/U.dot(p,p);if(g>0&&g<1){let m=U.add(t.position,U.multiplyByScalar(p,-g,p),fUe),x=Nc.clone(t,dUe);x.position=m;let b=x.getLatitude(n);r.south=Math.min(r.south,b),r.north=Math.max(r.north,b),Math.abs(c)>Math.abs(b)&&(u=b)}}let f=t.x*e.y-e.x*t.y,d=Math.sign(f);d!==0&&(d*=U.angleBetween(t.position,e.position)),u>=0&&(o.northAngle+=d),u<=0&&(o.southAngle+=d)}var voe=new Nc,hUe=new Nc,uf={northAngle:0,southAngle:0,westOverIdl:0,eastOverIdl:0};ff.computeRectangleFromPositions=function(e,t,n,i){if(l(i)||(i=new ae),e.length<3)return i;i.west=Number.POSITIVE_INFINITY,i.east=Number.NEGATIVE_INFINITY,i.south=Number.POSITIVE_INFINITY,i.north=Number.NEGATIVE_INFINITY,uf.northAngle=0,uf.southAngle=0,uf.westOverIdl=Number.POSITIVE_INFINITY,uf.eastOverIdl=Number.NEGATIVE_INFINITY;let o=e.length,r=Nc.fromCartesian(e[0],hUe);for(let s=1;s<o;s++){let a=Nc.fromCartesian(e[s],voe);Soe(a,r,t,n,uf,i),r=Nc.clone(a,r)}return Soe(Nc.fromCartesian(e[0],voe),r,t,n,uf,i),i.east-i.west>uf.eastOverIdl-uf.westOverIdl&&(i.west=uf.westOverIdl,i.east=uf.eastOverIdl,i.east>P.PI&&(i.east=i.east-P.TWO_PI),i.west>P.PI&&(i.west=i.west-P.TWO_PI)),P.equalsEpsilon(Math.abs(uf.northAngle),P.TWO_PI,P.EPSILON10)&&(i.north=P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),P.equalsEpsilon(Math.abs(uf.southAngle),P.TWO_PI,P.EPSILON10)&&(i.south=-P.PI_OVER_TWO,i.east=P.PI,i.west=-P.PI),i};var mUe=new Nc;function pUe(e,t,n){return e.height>=P.PI||e.width>=P.PI?Nc.fromCartesian(t[0],mUe).tangentPlane:os.fromPoints(t,n)}var woe=new fe;function _Ue(e,t,n){return(i,o)=>{if(e.height>=P.PI||e.width>=P.PI){if(e.south<0&&e.north>0){l(o)||(o=[]);for(let s=0;s<i.length;++s){let a=n.cartesianToCartographic(i[s],woe);o[s]=new U(a.longitude/P.PI,a.latitude/P.PI_OVER_TWO)}return o.length=i.length,o}return Nc.fromCartesianArray(i,o)}return os.fromPoints(t,n).projectPointsOntoPlane(i,o)}}function gUe(e,t,n){if(e.height>=P.PI||e.width>=P.PI)return(o,r)=>{if(e.south<0&&e.north>0){let s=n.cartesianToCartographic(o,woe);return l(r)||(r=new U),r.x=s.longitude/P.PI,r.y=s.latitude/P.PI_OVER_TWO,r}return Nc.fromCartesian(o,r)};let i=os.fromPoints(t,n);return(o,r)=>i.projectPointsOntoPlane(o,r)}function yUe(e,t,n,i){return(o,r)=>!i&&(e.height>=P.PI_OVER_TWO||e.width>=2*P.PI_OVER_THREE)?Hn.splitPolygonsOnEquator(o,t,n,r):o}function xUe(e,t,n,i){if(t.height>=P.PI||t.width>=P.PI)return Ye.fromRectangle(t,void 0,Coe);let o=e,r=os.fromPoints(o,n);return Hn.computeBoundingRectangle(r.plane.normal,r.projectPointOntoPlane.bind(r),o,i,Coe)}ff.createGeometry=function(e){let t=e._vertexFormat,n=e._ellipsoid,i=e._granularity,o=e._stRotation,r=e._polygonHierarchy,s=e._perPositionHeight,a=e._closeTop,c=e._closeBottom,u=e._arcType,f=e._textureCoordinates,d=l(f),p=r.positions;if(p.length<3)return;let g=e.rectangle,m=Hn.polygonsFromHierarchy(r,d,_Ue(g,p,n),!s,n,yUe(g,n,u,s)),x=m.hierarchy,b=m.polygons,T=function(I){return I},C=d?Hn.polygonsFromHierarchy(f,!0,T,!1,n).polygons:void 0;if(x.length===0)return;let A=x[0].outerRing,S=xUe(A,g,n,o),v=[],D=e._height,R=e._extrudedHeight,O=e._perPositionHeightExtrude||!P.equalsEpsilon(D,R,0,P.EPSILON2),M={perPositionHeight:s,vertexFormat:t,geometry:void 0,rotationAxis:pUe(g,A,n).plane.normal,projectTo2d:gUe(g,A,n),boundingRectangle:S,ellipsoid:n,stRotation:o,textureCoordinates:void 0,bottom:!1,top:!0,wall:!1,extrude:!1,arcType:u},N;if(O)for(M.extrude=!0,M.top=a,M.bottom=c,M.shadowVolume=e._shadowVolume,M.offsetAttribute=e._offsetAttribute,N=0;N<b.length;N++){let I=sUe(n,b[N],d?C[N]:void 0,i,x[N],s,a,c,t,u),L;a&&c?(L=I.topAndBottom,M.geometry=Hn.scaleToGeodeticHeightExtruded(L.geometry,D,R,n,s)):a?(L=I.topAndBottom,L.geometry.attributes.position.values=ui.scaleToGeodeticHeight(L.geometry.attributes.position.values,D,n,!s),M.geometry=L.geometry):c&&(L=I.topAndBottom,L.geometry.attributes.position.values=ui.scaleToGeodeticHeight(L.geometry.attributes.position.values,R,n,!0),M.geometry=L.geometry),(a||c)&&(M.wall=!1,L.geometry=K9(M),v.push(L));let B=I.walls;M.wall=!0;for(let H=0;H<B.length;H++){let V=B[H];M.geometry=Hn.scaleToGeodeticHeightExtruded(V.geometry,D,R,n,s),V.geometry=K9(M),v.push(V)}}else for(N=0;N<b.length;N++){let I=new wt({geometry:Hn.createGeometryFromPositions(n,b[N],d?C[N]:void 0,i,s,t,u)});if(I.geometry.attributes.position.values=ui.scaleToGeodeticHeight(I.geometry.attributes.position.values,D,n,!s),M.geometry=I.geometry,I.geometry=K9(M),l(e._offsetAttribute)){let L=I.geometry.attributes.position.values.length,B=e._offsetAttribute===cn.NONE?0:1,H=new Uint8Array(L/3).fill(B);I.geometry.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:H})}v.push(I)}let _=Bn.combineInstances(v)[0];_.attributes.position.values=new Float64Array(_.attributes.position.values),_.indices=ke.createTypedArray(_.attributes.position.values.length/3,_.indices);let E=_.attributes,w=ce.fromVertices(E.position.values);return t.position||delete E.position,new ft({attributes:E,indices:_.indices,primitiveType:_.primitiveType,boundingSphere:w,offsetAttribute:e._offsetAttribute})};ff.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new ff({polygonHierarchy:e._polygonHierarchy,ellipsoid:o,stRotation:e._stRotation,granularity:i,perPositionHeight:!1,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0,arcType:e._arcType})};function bUe(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let n=e._ellipsoid,i=e._polygonHierarchy.positions,o=e.rectangle;return ft._textureCoordinateRotationPoints(i,t,n,o)}Object.defineProperties(ff.prototype,{rectangle:{get:function(){if(!l(this._rectangle)){let e=this._polygonHierarchy.positions;this._rectangle=ff.computeRectangleFromPositions(e,this._ellipsoid,this._arcType)}return this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=bUe(this)),this._textureCoordinateRotationPoints}}});var Dg=ff;function bx(e){this._ellipsoid=y(e.ellipsoid,ee.default),this._positions=[...e.positions]}Object.defineProperties(bx.prototype,{length:{get:function(){return this._positions.length}},positions:{get:function(){return this._positions}},ellipsoid:{get:function(){return this._ellipsoid}}});bx.clone=function(e,t){return l(t)?(t._ellipsoid=e.ellipsoid,t._positions.length=0,t._positions.push(...e.positions),t):new bx({positions:e.positions,ellipsoid:e.ellipsoid})};bx.equals=function(e,t){return e.ellipsoid.equals(t.ellipsoid)&&e.positions===t.positions};bx.prototype.computeRectangle=function(e){return Dg.computeRectangleFromPositions(this.positions,this.ellipsoid,void 0,e)};var TUe=new ae,Doe=new h;bx.prototype.computeSphericalExtents=function(e){l(e)||(e=new ae);let t=this.computeRectangle(TUe),n=fe.toCartesian(ae.southwest(t),this.ellipsoid,Doe),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y);return e.south=o,e.west=r,n=fe.toCartesian(ae.northeast(t),this.ellipsoid,Doe),i=Math.sqrt(n.x*n.x+n.y*n.y),o=P.fastApproximateAtan2(i,n.z),r=P.fastApproximateAtan2(n.x,n.y),e.north=o,e.east=r,e};var gw=bx;var jN=`in vec2 v_textureCoordinates; uniform int u_polygonsLength; uniform int u_extentsLength; @@ -6160,3017 +6205,2733 @@ void main() { lastPolygonIndex += positionsLength; } -}`;function zr(e){e=y(e,y.EMPTY_OBJECT),this._polygons=[],this._totalPositions=0,this.enabled=y(e.enabled,!0),this.inverse=y(e.inverse,!1),this.polygonAdded=new me,this.polygonRemoved=new me,this._owner=void 0,this._float32View=void 0,this._extentsFloat32View=void 0,this._extentsCount=0,this._polygonsTexture=void 0,this._extentsTexture=void 0,this._signedDistanceTexture=void 0,this._signedDistanceComputeCommand=void 0;let t=e.polygons;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this._polygons.push(t[i])}}Object.defineProperties(zr.prototype,{length:{get:function(){return this._polygons.length}},totalPositions:{get:function(){return this._totalPositions}},extentsTexture:{get:function(){return this._extentsTexture}},extentsCount:{get:function(){return this._extentsCount}},pixelsNeededForExtents:{get:function(){return this.length}},pixelsNeededForPolygonPositions:{get:function(){return this.totalPositions+this.length}},clippingTexture:{get:function(){return this._signedDistanceTexture}},owner:{get:function(){return this._owner}},clippingPolygonsState:{get:function(){return this.inverse?-this.extentsCount:this.extentsCount}}});zr.prototype.add=function(e){let t=this._polygons.length;return this._polygons.push(e),this.polygonAdded.raiseEvent(e,t),e};zr.prototype.get=function(e){return this._polygons[e]};zr.prototype.contains=function(e){return this._polygons.some(t=>uv.equals(t,e))};zr.prototype.remove=function(e){let t=this._polygons,n=t.findIndex(i=>uv.equals(i,e));return n===-1?!1:(t.splice(n,1),this.polygonRemoved.raiseEvent(e,n),!0)};var sUe=new se;function aUe(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let a=e[r].computeSphericalExtents(),c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=se.clone(a);f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI);let d=[r];for(let p=0;p<t.length;++p){let g=t[p];if(l(g)&&l(se.simpleIntersection(g,f))&&!se.equals(g,f)){let m=n[p];d.push(...m),m.reduce((x,b)=>se.union(e[b].computeSphericalExtents(sUe),x,x),a),t[p]=void 0,n[p]=void 0,c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=se.clone(a,f),f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI),p=-1}}t.push(f),n.push(d)}let o=new Map;return n.filter(l).forEach((r,s)=>r.forEach(a=>o.set(a,s))),{extentsList:t.filter(l),extentsIndexByPolygon:o}}zr.prototype.removeAll=function(){let e=this._polygons,t=e.length;for(let n=0;n<t;++n){let i=e[n];this.polygonRemoved.raiseEvent(i,n)}this._polygons=[]};function cUe(e){let t=e._float32View,n=e._extentsFloat32View,i=e._polygons,{extentsList:o,extentsIndexByPolygon:r}=aUe(i),s=0;for(let[c,u]of i.entries()){let f=u.length;t[s++]=f,t[s++]=r.get(c);for(let d=0;d<f;++d){let p=u.positions[d],g=Math.hypot(p.x,p.y),m=P.fastApproximateAtan2(g,p.z),x=P.fastApproximateAtan2(p.x,p.y);t[s++]=m,t[s++]=x}}let a=0;for(let c of o){let u=1/(c.east-c.west),f=1/(c.north-c.south);n[a++]=c.south,n[a++]=c.west,n[a++]=f,n[a++]=u}e._extentsCount=o.length}var H9=new U;zr.prototype.update=function(e){let t=e.context;if(!zr.isSupported(e))throw new ce("ClippingPolygonCollections are only supported for WebGL 2.");let n=this._polygons.reduce((s,a)=>s+a.length,0);if(n===this.totalPositions||(this._totalPositions=n,this.length===0))return;l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0,this._signedDistanceComputeCommand=void 0);let i=this._polygonsTexture,o=this._extentsTexture,r=this._signedDistanceTexture;if(l(i)){let s=i.width*i.height;(s<this.pixelsNeededForPolygonPositions||this.pixelsNeededForPolygonPositions<.25*s)&&(i.destroy(),i=void 0,this._polygonsTexture=void 0)}if(!l(i)){let s=zr.getTextureResolution(i,this.pixelsNeededForPolygonPositions,H9);i=new Mt({context:t,width:s.x,height:s.y,pixelFormat:ct.RG,pixelDatatype:nt.FLOAT,sampler:tn.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*2),this._polygonsTexture=i}if(l(o)){let s=o.width*o.height;(s<this.pixelsNeededForExtents||this.pixelsNeededForExtents<.25*s)&&(o.destroy(),o=void 0,this._extentsTexture=void 0)}if(!l(o)){let s=zr.getTextureResolution(o,this.pixelsNeededForExtents,H9);o=new Mt({context:t,width:s.x,height:s.y,pixelFormat:ct.RGBA,pixelDatatype:nt.FLOAT,sampler:tn.NEAREST,flipY:!1}),this._extentsFloat32View=new Float32Array(s.x*s.y*4),this._extentsTexture=o}if(cUe(this),o.copyFrom({source:{width:o.width,height:o.height,arrayBufferView:this._extentsFloat32View}}),i.copyFrom({source:{width:i.width,height:i.height,arrayBufferView:this._float32View}}),!l(r)){let s=zr.getClippingDistanceTextureResolution(this,H9);r=new Mt({context:t,width:s.x,height:s.y,pixelFormat:t.webgl2?ct.RED:ct.LUMINANCE,pixelDatatype:nt.FLOAT,sampler:new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.LINEAR,magnificationFilter:fi.LINEAR}),flipY:!1}),this._signedDistanceTexture=r}this._signedDistanceComputeCommand=lUe(this)};zr.prototype.queueCommands=function(e){l(this._signedDistanceComputeCommand)&&e.commandList.push(this._signedDistanceComputeCommand)};function lUe(e){let t=e._polygonsTexture,n=e._extentsTexture;return new mh({fragmentShaderSource:HN,outputTexture:e._signedDistanceTexture,uniformMap:{u_polygonsLength:function(){return e.length},u_extentsLength:function(){return e.extentsCount},u_extentsTexture:function(){return n},u_polygonTexture:function(){return t}},persists:!1,owner:e,postExecute:()=>{e._signedDistanceComputeCommand=void 0}})}var yoe=new se,uUe=new se;zr.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._polygons,i=n.length,o=qt.OUTSIDE;this.inverse&&(o=qt.INSIDE);for(let r=0;r<i;++r){let a=n[r].computeRectangle(),c=e.rectangle;if(!l(c)&&l(e.boundingVolume?.computeCorners)){let f=e.boundingVolume.computeCorners();c=se.fromCartesianArray(f,t,yoe)}l(c)||(c=se.fromBoundingSphere(e.boundingSphere,t,yoe));let u=se.simpleIntersection(c,a,uUe);l(u)&&(o=qt.INTERSECTING)}return o};zr.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};zr.isSupported=function(e){return e?.context.webgl2};zr.getTextureResolution=function(e,t,n){if(l(e))return n.x=e.width,n.y=e.height,n;let i=Ut.maximumTextureSize;return n.x=Math.min(t,i),n.y=Math.ceil(t/n.x),n.y*=2,n};zr.getClippingDistanceTextureResolution=function(e,t){let n=e.signedDistanceTexture;return l(n)?(t.x=n.width,t.y=n.height,t):(t.x=Math.min(Ut.maximumTextureSize,4096),t.y=Math.min(Ut.maximumTextureSize,4096),t)};zr.getClippingExtentsTextureResolution=function(e,t){let n=e.extentsTexture;return l(n)?(t.x=n.width,t.y=n.height,t):zr.getTextureResolution(n,e.pixelsNeededForExtents,t)};zr.prototype.isDestroyed=function(){return!1};zr.prototype.destroy=function(){return l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0),this._polygonsTexture=this._polygonsTexture&&this._polygonsTexture.destroy(),this._extentsTexture=this._extentsTexture&&this._extentsTexture.destroy(),this._signedDistanceTexture=this._signedDistanceTexture&&this._signedDistanceTexture.destroy(),ue(this)};var jh=zr;var fv={HIGHLIGHT:0,REPLACE:1,MIX:2};fv.getColorBlend=function(e,t){if(e===fv.HIGHLIGHT)return 0;if(e===fv.REPLACE)return 1;if(e===fv.MIX)return P.clamp(t,P.EPSILON4,1)};var Lc=Object.freeze(fv);var fUe={XTRANSLATE:"xTranslate",YTRANSLATE:"yTranslate",ZTRANSLATE:"zTranslate",XROTATE:"xRotate",YROTATE:"yRotate",ZROTATE:"zRotate",XSCALE:"xScale",YSCALE:"yScale",ZSCALE:"zScale",UNIFORMSCALE:"uniformScale"},Nc=Object.freeze(fUe);var dUe={STEP:0,LINEAR:1,CUBICSPLINE:2},qh=Object.freeze(dUe);var xoe={};function dv(e){this._count=e.count,this._properties=We(e.properties,!0)}dv.prototype.hasProperty=function(e){return Bn.hasProperty(e,this._properties,xoe)};dv.prototype.getPropertyIds=function(e){return Bn.getPropertyIds(this._properties,xoe,e)};dv.prototype.getProperty=function(e,t){let n=this._properties[t];if(l(n))return We(n[e],!0)};dv.prototype.setProperty=function(e,t,n){let i=this._properties[t];l(i)||(i=new Array(this._count),this._properties[t]=i),i[e]=We(n,!0)};var Eg=dv;function tc(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._id=e.id,this._count=e.count,this._extras=e.extras,this._extensions=e.extensions,this._metadataTable=e.metadataTable,this._jsonMetadataTable=e.jsonMetadataTable,this._batchTableHierarchy=e.batchTableHierarchy}Object.defineProperties(tc.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},count:{get:function(){return this._count}},class:{get:function(){if(l(this._metadataTable))return this._metadataTable.class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){let e=0;return l(this._metadataTable)&&(e+=this._metadataTable.byteLength),l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e}}});tc.prototype.hasProperty=function(e,t){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(t)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(t))};tc.prototype.hasPropertyBySemantic=function(e,t){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(t):!1};tc.prototype.propertyExists=function(e){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(e)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.propertyExists(e)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(e))};tc.prototype.propertyExistsBySemantic=function(e){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(e):!1};var G9=[];tc.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,l(this._metadataTable)&&t.push.apply(t,this._metadataTable.getPropertyIds(G9)),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,G9)),l(this._jsonMetadataTable)&&t.push.apply(t,this._jsonMetadataTable.getPropertyIds(G9)),t};tc.prototype.getProperty=function(e,t){let n;if(l(this._metadataTable)&&(n=this._metadataTable.getProperty(e,t),l(n))||l(this._batchTableHierarchy)&&(n=this._batchTableHierarchy.getProperty(e,t),l(n))||l(this._jsonMetadataTable)&&(n=this._jsonMetadataTable.getProperty(e,t),l(n)))return n};tc.prototype.setProperty=function(e,t,n){l(this._metadataTable)&&this._metadataTable.setProperty(e,t,n)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n)||(l(this._jsonMetadataTable)||(this._jsonMetadataTable=new Eg({count:this._count,properties:{}})),this._jsonMetadataTable.setProperty(e,t,n))};tc.prototype.getPropertyBySemantic=function(e,t){if(l(this._metadataTable))return this._metadataTable.getPropertyBySemantic(e,t)};tc.prototype.setPropertyBySemantic=function(e,t,n){return l(this._metadataTable)?this._metadataTable.setPropertyBySemantic(e,t,n):!1};tc.prototype.getPropertyTypedArray=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArray(e)};tc.prototype.getPropertyTypedArrayBySemantic=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArrayBySemantic(e)};tc.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};tc.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};tc.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};var pl=tc;function hv(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty,i=e.textures,o=l(t.channels)?t.channels:[0],r=t,s=nu.createModelTextureReader({textureInfo:r,channels:pUe(o),texture:i[r.index]});this._min=t.min,this._max=t.max;let a=t.offset,c=t.scale,u=n.hasValueTransform||l(a)||l(c);a=y(a,n.offset),c=y(c,n.scale),a=n.unpackVectorAndMatrixTypes(a),c=n.unpackVectorAndMatrixTypes(c),this._offset=a,this._scale=c,this._hasValueTransform=u,this._textureReader=s,this._classProperty=n,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(hv.prototype,{textureReader:{get:function(){return this._textureReader}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});hv.prototype.isGpuCompatible=function(){let e=this._classProperty,t=e.type,n=e.componentType;return e.isArray?e.isVariableLengthArray?(Tt(`Property texture property ${e.id} is a variable-length array, which is not supported`),!1):e.arrayLength>4?(Tt(`Property texture property ${e.id} is an array of length ${e.arrayLength}, but may have at most a length of 4`),!1):t!==Et.SCALAR?(Tt(`Property texture property ${e.id} is an array of type ${t}, but only SCALAR is supported`),!1):n!==Gt.UINT8?(Tt(`Property texture property ${e.id} is an array with component type ${n}, but only UINT8 is supported`),!1):!0:Et.isVectorType(t)||t===Et.SCALAR?n!==Gt.UINT8?(Tt(`Property texture property ${e.id} has component type ${n}, but only UINT8 is supported`),!1):!0:(Tt(`Property texture property ${e.id} has an unsupported type`),!1)};var hUe=[void 0,"float","vec2","vec3","vec4"],mUe=[void 0,"int","ivec2","ivec3","ivec4"];hv.prototype.getGlslType=function(){let e=this._classProperty,t=Et.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?hUe[t]:mUe[t]};hv.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function pUe(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var GN=hv;function W9(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(l(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new GN({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(W9.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});W9.prototype.getProperty=function(e){return this._properties[e]};var Sg=W9;function boe(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||l(i)||l(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(boe.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var WN=boe;function j9(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(l(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new WN({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(j9.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});j9.prototype.getProperty=function(e){return this._properties[e]};var wC=j9;function mv(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=l(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(mv.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!l(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n<t;n++)e+=this._propertyTables[n].byteLength;return e}}});mv.prototype.getPropertyTable=function(e){return this._propertyTables[e]};mv.prototype.getPropertyTexture=function(e){return this._propertyTextures[e]};mv.prototype.getPropertyAttribute=function(e){return this._propertyAttributes[e]};var na=mv;function _Ue(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i=[];if(l(t.propertyTables))for(let s=0;s<t.propertyTables.length;s++){let a=t.propertyTables[s],c=n.classes[a.class],u=new eu({count:a.count,properties:a.properties,class:c,bufferViews:e.bufferViews});i.push(new pl({id:s,name:a.name,count:a.count,metadataTable:u,extras:a.extras,extensions:a.extensions}))}let o=[];if(l(t.propertyTextures))for(let s=0;s<t.propertyTextures.length;s++){let a=t.propertyTextures[s];o.push(new Sg({id:s,name:a.name,propertyTexture:a,class:n.classes[a.class],textures:e.textures}))}let r=[];if(l(t.propertyAttributes))for(let s=0;s<t.propertyAttributes.length;s++){let a=t.propertyAttributes[s];r.push(new wC({id:s,name:a.name,class:n.classes[a.class],propertyAttribute:a}))}return new na({schema:n,propertyTables:i,propertyTextures:o,propertyAttributes:r,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}var jN=_Ue;function gUe(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i,o=[],r;if(l(t.featureTables))for(r=Object.keys(t.featureTables).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTables[a],u=n.classes[c.class],f=new eu({count:c.count,properties:c.properties,class:u,bufferViews:e.bufferViews});o.push(new pl({id:a,count:c.count,metadataTable:f,extras:c.extras,extensions:c.extensions}))}let s=[];if(l(t.featureTextures))for(r=Object.keys(t.featureTextures).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTextures[a];s.push(new Sg({id:a,propertyTexture:yUe(c),class:n.classes[c.class],textures:e.textures}))}return new na({schema:n,propertyTables:o,propertyTextures:s,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function yUe(e){let t={class:e.class,properties:{}},n=e.properties;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i],r={channels:xUe(o.channels),extras:o.extras,extensions:o.extensions};t.properties[i]=xt(o.texture,r,!0)}return t}function xUe(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]="rgba".indexOf(e[i]);return n}var qN=gUe;function wg(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,extension:n,extensionLegacy:i,gltfResource:o,baseResource:r,supportedImageFormats:s,frameState:a,cacheKey:c,asynchronous:u=!0}=e;this._gltfResource=o,this._baseResource=r,this._gltf=t,this._extension=n,this._extensionLegacy=i,this._supportedImageFormats=s,this._frameState=a,this._cacheKey=c,this._asynchronous=u,this._bufferViewLoaders=[],this._bufferViewIds=[],this._textureLoaders=[],this._textureIds=[],this._schemaLoader=void 0,this._structuralMetadata=void 0,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(wg.prototype=Object.create(Yi.prototype),wg.prototype.constructor=wg);Object.defineProperties(wg.prototype,{cacheKey:{get:function(){return this._cacheKey}},structuralMetadata:{get:function(){return this._structuralMetadata}}});async function bUe(e){try{let t=SUe(e),n=PUe(e),i=RUe(e);return await Promise.all([t,n,i]),e.isDestroyed()?void 0:(e._gltf=void 0,e._state=_t.LOADED,e)}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=_t.FAILED,e.getError("Failed to load structural metadata",t)}}wg.prototype.load=function(){return l(this._promise)?this._promise:(this._state=_t.LOADING,this._promise=bUe(this),this._promise)};function TUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.values,r=i.arrayOffsets,s=i.stringOffsets;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function CUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.bufferView,r=i.arrayOffsetBufferView,s=i.stringOffsetBufferView;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function AUe(e){let t=e.propertyTables,n={};if(l(t))for(let i=0;i<t.length;i++){let o=t[i];TUe(o.properties,n)}return n}function EUe(e){let t=e.featureTables,n={};if(l(t)){for(let i in t)if(t.hasOwnProperty(i)){let r=t[i].properties;l(r)&&CUe(r,n)}}return n}async function SUe(e){let t;l(e._extension)?t=AUe(e._extension):t=EUe(e._extensionLegacy);let n=[];for(let i in t)if(t.hasOwnProperty(i)){let o=Ci.getBufferViewLoader({gltf:e._gltf,bufferViewId:parseInt(i),gltfResource:e._gltfResource,baseResource:e._baseResource});e._bufferViewLoaders.push(o),e._bufferViewIds.push(i),n.push(o.load())}return Promise.all(n)}function wUe(e){let t={},n=e.propertyTextures;if(l(n))for(let i=0;i<n.length;i++){let r=n[i].properties;l(r)&&vUe(r,t)}return t}function vUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t[i.index]=i}}function DUe(e){let t={},n=e.featureTextures;if(l(n)){for(let i in n)if(n.hasOwnProperty(i)){let r=n[i].properties;l(r)&&IUe(r,t)}}return t}function IUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let o=e[n].texture;t[o.index]=o}}function PUe(e){let t;l(e._extension)?t=wUe(e._extension):t=DUe(e._extensionLegacy);let n=e._gltf,i=e._gltfResource,o=e._baseResource,r=e._supportedImageFormats,s=e._frameState,a=e._asynchronous,c=[];for(let u in t)if(t.hasOwnProperty(u)){let f=Ci.getTextureLoader({gltf:n,textureInfo:t[u],gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a});e._textureLoaders.push(f),e._textureIds.push(u),c.push(f.load())}return Promise.all(c)}async function RUe(e){let t=y(e._extension,e._extensionLegacy),n;if(l(t.schemaUri)){let i=e._baseResource.getDerivedResource({url:t.schemaUri});n=Ci.getSchemaLoader({resource:i})}else n=Ci.getSchemaLoader({schema:t.schema});if(e._schemaLoader=n,await n.load(),!n.isDestroyed())return n.schema}wg.prototype.process=function(e){if(this._state===_t.READY)return!0;if(this._state!==_t.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let a=0;a<n;++a){let u=t[a].process(e);i=i&&u}if(!i)return!1;let o=this._schemaLoader.schema,r={};for(let a=0;a<this._bufferViewIds.length;++a){let c=this._bufferViewIds[a],u=this._bufferViewLoaders[a];if(!u.isDestroyed()){let f=new Uint8Array(u.typedArray);r[c]=f}}let s={};for(let a=0;a<this._textureIds.length;++a){let c=this._textureIds[a],u=t[a];u.isDestroyed()||(s[c]=u.texture)}return l(this._extension)?this._structuralMetadata=jN({extension:this._extension,schema:o,bufferViews:r,textures:s}):this._structuralMetadata=qN({extension:this._extensionLegacy,schema:o,bufferViews:r,textures:s}),Toe(this),this._state=_t.READY,!0};function Toe(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)Ci.unload(t[i]);e._bufferViewLoaders.length=0,e._bufferViewIds.length=0}function OUe(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)Ci.unload(t[i]);e._textureLoaders.length=0,e._textureIds.length=0}wg.prototype.unload=function(){Toe(this),OUe(this),l(this._schemaLoader)&&Ci.unload(this._schemaLoader),this._schemaLoader=void 0,this._structuralMetadata=void 0};var YN=wg;var vC={TRANSLATION:"TRANSLATION",ROTATION:"ROTATION",SCALE:"SCALE",FEATURE_ID:"_FEATURE_ID"};vC.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"TRANSLATION":return vC.TRANSLATION;case"ROTATION":return vC.ROTATION;case"SCALE":return vC.SCALE;case"_FEATURE_ID":return vC.FEATURE_ID}};var ns=Object.freeze(vC);var MUe=65534,LUe=255;function XN(e){e=y(e,y.EMPTY_OBJECT);let t=e.triangleIndices,n=e.outlineIndices,i=e.originalVertexCount;this._triangleIndices=t,this._originalVertexCount=i,this._edges=new Eoe(n,i),this._outlineCoordinatesTypedArray=void 0,this._extraVertices=[],NUe(this)}Object.defineProperties(XN.prototype,{updatedTriangleIndices:{get:function(){return this._triangleIndices}},outlineCoordinates:{get:function(){return this._outlineCoordinatesTypedArray}}});function NUe(e){let t=e._triangleIndices,n=e._edges,i=[],o=e._extraVertices,r=e._originalVertexCount,s={};for(let a=0;a<t.length;a+=3){let c=t[a],u=t[a+1],f=t[a+2],d=!1,p=d||n.hasEdge(c,u),g=d||n.hasEdge(u,f),m=d||n.hasEdge(f,c),x=Coe(i,c,u,f,p,g,m);for(;l(x);){let b=s[x];if(!l(b)){b=r+o.length;let T=x;for(;T>=r;)T=o[T-r];o.push(T),s[x]=b}b>MUe&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):b>LUe&&t instanceof Uint8Array&&(t=new Uint16Array(t)),x===c?(c=b,t[a]=b):x===u?(u=b,t[a+1]=b):(f=b,t[a+2]=b),x=Coe(i,c,u,f,p,g,m)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function Coe(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,u=0,f=q9(e,t,a,c,u);if(f===0)return t;let d=0,p=o?1:0,g=r?1:0,m=q9(e,n,d,p,g);if(m===0)return n;let x=s?1:0,b=0,T=r?1:0,C=q9(e,i,x,b,T);if(C===0)return i;let A=f&m&C,S,w,D;if(A&1)S=0,w=1,D=2;else if(A&2)S=0,D=1,w=2;else if(A&4)w=0,S=1,D=2;else if(A&8)w=0,D=1,S=2;else if(A&16)D=0,S=1,w=2;else if(A&32)D=0,w=1,S=2;else{let L=Y9(f),_=Y9(m),E=Y9(C);return L<_&&L<E?t:_<E?n:i}let O=t*3;e[O+S]=a,e[O+w]=c,e[O+D]=u;let R=n*3;e[R+S]=d,e[R+w]=p,e[R+D]=g;let M=i*3;e[M+S]=x,e[M+w]=b,e[M+D]=T}function q9(e,t,n,i,o){let r=t*3,s=e[r],a=e[r+1],c=e[r+2];return l(s)?(s===n&&a===i&&c===o)<<0|(s===n&&a===o&&c===i)<<1|(s===i&&a===n&&c===o)<<2|(s===i&&a===o&&c===n)<<3|(s===o&&a===n&&c===i)<<4|(s===o&&a===i&&c===n)<<5:63}function Y9(e){return(e&1)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}XN.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a<o;a++){let c=t[a]*i,u=n+a*i;for(let f=0;f<i;f++)s[u+f]=s[c+f]}return s};XN.createTexture=function(e){let t=e.cache.modelOutliningCache;if(l(t)||(t=e.cache.modelOutliningCache={}),l(t.outlineTexture))return t.outlineTexture;let n=Math.min(4096,Ut.maximumTextureSize),i=n,o=Aoe(i),r=[];for(;i>1;)i>>=1,r.push(Aoe(i));let s=new Mt({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:ct.LUMINANCE,sampler:new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.LINEAR_MIPMAP_LINEAR,magnificationFilter:fi.LINEAR})});return t.outlineTexture=s,s};function Aoe(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function Eoe(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n<e.length;n+=2){let i=e[n],o=e[n+1],r=Math.min(i,o),s=Math.max(i,o),a=r*this._originalVertexCount+s;this._edges.add(a)}}Eoe.prototype.hasEdge=function(e,t){let n=Math.min(e,t),i=Math.max(e,t),o=n*this._originalVertexCount+i;return this._edges.has(o)};var DC=XN;function Soe(e){this.attribute=e,this.loadBuffer=!1,this.loadTypedArray=!1}function FUe(e){this.indices=e,this.loadBuffer=!1,this.loadTypedArray=!1}function KN(e){this.primitive=e,this.attributePlans=[],this.indicesPlan=void 0,this.needsOutlines=!1,this.outlineIndices=void 0}KN.prototype.postProcess=function(e){this.needsOutlines&&(BUe(this),VUe(this,e))};function BUe(e){let t=e.primitive,n=t.indices,i=t.attributes[0].count,o=new DC({triangleIndices:n.typedArray,outlineIndices:e.outlineIndices,originalVertexCount:i});n.typedArray=o.updatedTriangleIndices,n.indexDatatype=Be.fromTypedArray(n.typedArray);let r=kUe(o.outlineCoordinates),s=new Soe(r);s.loadBuffer=!0,s.loadTypedArray=!1,e.attributePlans.push(s),t.outlineCoordinates=s.attribute;let a=e.attributePlans,c=e.attributePlans.length;for(let u=0;u<c;u++){let f=a[u].attribute;f.typedArray=o.updateAttribute(f.typedArray)}}function kUe(e){let t=new Tn.Attribute;return t.name="_OUTLINE_COORDINATES",t.typedArray=e,t.componentDatatype=X.FLOAT,t.type=rn.VEC3,t.normalized=!1,t.count=e.length/3,t}function VUe(e,t){UUe(e.attributePlans,t),l(e.indicesPlan)&&zUe(e.indicesPlan,t)}function UUe(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=o.attribute,s=r.typedArray;if(o.loadBuffer){let a=yt.createVertexBuffer({typedArray:s,context:t,usage:Ve.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.buffer=a}o.loadTypedArray||(r.typedArray=void 0)}}function zUe(e,t){let n=e.indices;if(e.loadBuffer){let i=yt.createIndexBuffer({typedArray:n.typedArray,context:t,usage:Ve.STATIC_DRAW,indexDatatype:n.indexDatatype});n.buffer=i,i.vertexArrayDestroyable=!1}e.loadTypedArray||(n.typedArray=void 0)}KN.AttributeLoadPlan=Soe;KN.IndicesLoadPlan=FUe;var IC=KN;function HUe(e){e=y(e,y.EMPTY_OBJECT),this.webp=y(e.webp,!1),this.basis=y(e.basis,!1)}var $N=HUe;function woe(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams}Object.defineProperties(woe.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}}});var ZN=woe;function voe(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams,this._covarianceMatrix=e.covarianceMatrix}Object.defineProperties(voe.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}},covarianceMatrix:{get:function(){return this._covarianceMatrix}}});var QN=voe;function Doe(e){this._groupFlags=e.groupFlags,this._rotationThetas=e.rotationThetas,this._params=e.params}Object.defineProperties(Doe.prototype,{groupFlags:{get:function(){return this._groupFlags}},rotationThetas:{get:function(){return this._rotationThetas}},params:{get:function(){return this._params}}});var JN=Doe;var GUe={Direct:"Direct",Indirect:"Indirect"},fx=Object.freeze(GUe);function Ioe(e){this._storageType=e.storageType,this._anchorPointsIndirect=e.anchorPointsIndirect,this._anchorPointsDirect=e.anchorPointsDirect,this._intraTileCorrelationGroups=e.intraTileCorrelationGroups,this._covarianceDirect=e.covarianceDirect}Object.defineProperties(Ioe.prototype,{storageType:{get:function(){return this._storageType}},anchorPointsIndirect:{get:function(){return this._anchorPointsIndirect}},anchorPointsDirect:{get:function(){return this._anchorPointsDirect}},intraTileCorrelationGroups:{get:function(){return this._intraTileCorrelationGroups}},covarianceDirect:{get:function(){return this._covarianceDirect}}});var pv=Ioe;function Poe(e){this._A=e.A,this._alpha=e.alpha,this._beta=e.beta,this._T=e.T}Object.defineProperties(Poe.prototype,{A:{get:function(){return this._A}},alpha:{get:function(){return this._alpha}},beta:{get:function(){return this._beta}},T:{get:function(){return this._T}}});var eF=Poe;function PC(){}function Roe(e){return new Z(e[0],e[1],e[3],e[1],e[2],e[4],e[3],e[4],e[5])}function WUe(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h);return new ZN({position:t,adjustmentParams:n})}function jUe(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h),i=Roe(e.covarianceMatrix);return new QN({position:t,adjustmentParams:n,covarianceMatrix:i})}function qUe(e){let t=e.groupFlags,n=h.fromArray(e.rotationThetas,0,new h),i=[];for(let r of e.params){let s=new eF({A:r.A,alpha:r.alpha,beta:r.beta,T:r.T});i.push(s)}return new JN({groupFlags:t,rotationThetas:n,params:i})}PC.load=function(e){let t=e.storageType;if(t===fx.Direct)return PC.loadDirect(e);if(t===fx.Indirect)return PC.loadIndirect(e);throw new ce(`Invalid storage type in NGA_gpm_local - expected 'Direct' or 'Indirect', but found ${t}`)};PC.loadDirect=function(e){let t=[],n=e.anchorPointsDirect;for(let r of n){let s=WUe(r);t.push(s)}let i=Roe(e.covarianceDirectUpperTriangle);return new pv({storageType:fx.Direct,anchorPointsDirect:t,covarianceDirect:i})};PC.loadIndirect=function(e){let t=[],n=e.anchorPointsIndirect;for(let s of n){let a=jUe(s);t.push(a)}let i=e.intraTileCorrelationGroups,o=[];for(let s of i){let a=qUe(s);o.push(a)}return new pv({storageType:fx.Indirect,anchorPointsIndirect:t,intraTileCorrelationGroups:o})};var tF=PC;function Ooe(e){this._traits=e.traits,this._noData=e.noData,this._offset=e.offset,this._scale=e.scale,this._index=e.index,this._texCoord=e.texCoord}Object.defineProperties(Ooe.prototype,{traits:{get:function(){return this._traits}},noData:{get:function(){return this._noData}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},index:{get:function(){return this._index}},texCoord:{get:function(){return this._texCoord}}});var nF=Ooe;function Moe(e){this._min=e.min,this._max=e.max,this._source=e.source}Object.defineProperties(Moe.prototype,{min:{get:function(){return this._min}},max:{get:function(){return this._max}},source:{get:function(){return this._source}}});var iF=Moe;function Loe(e){this._ppeTextures=e}Object.defineProperties(Loe.prototype,{ppeTextures:{get:function(){return this._ppeTextures}}});var oF=Loe;function _r(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.extension,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=e.frameState,a=e.cacheKey,c=y(e.asynchronous,!0);this._gltfResource=i,this._baseResource=o,this._gltf=t,this._extension=n,this._supportedImageFormats=r,this._frameState=s,this._cacheKey=a,this._asynchronous=c,this._textureLoaders=[],this._textureIds=[],this._meshPrimitiveGpmLocal=void 0,this._structuralMetadata=void 0,this._state=_t.UNLOADED,this._promise=void 0}l(Object.create)&&(_r.prototype=Object.create(Yi.prototype),_r.prototype.constructor=_r);Object.defineProperties(_r.prototype,{cacheKey:{get:function(){return this._cacheKey}},meshPrimitiveGpmLocal:{get:function(){return this._meshPrimitiveGpmLocal}},structuralMetadata:{get:function(){return this._structuralMetadata}}});_r.prototype._loadResources=async function(){try{return await this._loadTextures(),this.isDestroyed()?void 0:(this._gltf=void 0,this._state=_t.LOADED,this)}catch(e){if(this.isDestroyed())return;throw this.unload(),this._state=_t.FAILED,this.getError("Failed to load GPM data",e)}};_r.prototype.load=function(){return l(this._promise)?this._promise:(this._state=_t.LOADING,this._promise=this._loadResources(this),this._promise)};function YUe(e){let t={},n=e.ppeTextures;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];t[o.index]=o}return t}_r.prototype._loadTextures=function(){let e;l(this._extension)&&(e=YUe(this._extension));let t=this._gltf,n=this._gltfResource,i=this._baseResource,o=this._supportedImageFormats,r=this._frameState,s=this._asynchronous,a=[];for(let c in e)if(e.hasOwnProperty(c)){let u=Ci.getTextureLoader({gltf:t,textureInfo:e[c],gltfResource:n,baseResource:i,supportedImageFormats:o,frameState:r,asynchronous:s});this._textureLoaders.push(u),this._textureIds.push(c),a.push(u.load())}return Promise.all(a)};_r.ppeTexturesMetadataSchemaCache=new Map;_r._createPpeTextureClassJson=function(e,t){let n=e.traits,i=n.source;return{name:`PPE texture class ${t}`,properties:{[i]:{name:"PPE",type:"SCALAR",componentType:"UINT8",normalized:!0,min:n.min,max:n.max}}}};_r._obtainPpeTexturesMetadataSchema=function(e){let n=_r._collectPpeTexturePropertyIdentifiers(e).toString(),i=_r.ppeTexturesMetadataSchemaCache.get(n);if(l(i))return i;let r={id:`PPE_TEXTURE_SCHEMA_${_r.ppeTexturesMetadataSchemaCache.size}`,classes:{}},s=e.ppeTextures;for(let a=0;a<s.length;a++){let c=s[a],u=`ppeTexture_${a}`,f=_r._createPpeTextureClassJson(c,a);r.classes[u]=f}return i=rf.fromJson(r),_r.ppeTexturesMetadataSchemaCache.set(n,i),i};_r._collectPpeTexturePropertyIdentifiers=function(e){let t=[],n=e.ppeTextures;for(let i=0;i<n.length;i++){let o=n[i],r=_r._createPpeTextureClassJson(o,i),s=JSON.stringify(r);t.push(s)}return t};_r._convertToStructuralMetadata=function(e,t){let n=[],i=_r._obtainPpeTexturesMetadataSchema(e),o=e.ppeTextures;for(let s=0;s<o.length;s++){let a=o[s],c=`ppeTexture_${s}`,f=a.traits.source,d=i.classes[c],p=(a.scale??1)*255,g={class:c,properties:{[f]:{index:a.index,texCoord:a.texCoord,offset:a.offset,scale:p}}};n.push(new Sg({id:s,name:a.name,propertyTexture:g,class:d,textures:t}))}return new na({schema:i,propertyTables:[],propertyTextures:n,propertyAttributes:[]})};_r.prototype.process=function(e){if(this._state===_t.READY)return!0;if(this._state!==_t.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let u=0;u<n;++u){let d=t[u].process(e);i=i&&d}if(!i)return!1;let o={};for(let u=0;u<this._textureIds.length;++u){let f=this._textureIds[u],d=t[u];d.isDestroyed()||(o[f]=d.texture)}let r=[],s=this._extension;if(l(s.ppeTextures)){let u=s.ppeTextures;for(let f of u){let d=f.traits,p=new iF({min:d.min,max:d.max,source:d.source}),g=new nF({traits:p,noData:f.noData,offset:f.offset,scale:f.scale,index:f.index,texCoord:f.texCoord});r.push(g)}}let a=new oF(r);this._meshPrimitiveGpmLocal=a;let c=_r._convertToStructuralMetadata(a,o);return this._structuralMetadata=c,this._state=_t.READY,!0};_r.prototype._unloadTextures=function(){let e=this._textureLoaders,t=e.length;for(let n=0;n<t;++n)Ci.unload(e[n]);this._textureLoaders.length=0,this._textureIds.length=0};_r.prototype.unload=function(){this._unloadTextures(),this._gltf=void 0,this._extension=void 0,this._structuralMetadata=void 0};var rF=_r;var{Attribute:XUe,Indices:KUe,FeatureIdAttribute:Noe,FeatureIdTexture:Foe,FeatureIdImplicitRange:Boe,MorphTarget:$Ue,Primitive:ZUe,Instances:QUe,Skin:JUe,Node:eze,AnimatedPropertyType:tze,AnimationSampler:nze,AnimationTarget:ize,AnimationChannel:oze,Animation:rze,ArticulationStage:sze,Articulation:aze,Asset:cze,Scene:lze,Components:uze,MetallicRoughness:fze,SpecularGlossiness:dze,Specular:hze,Anisotropy:X9,Clearcoat:K9,Material:mze}=Tn,Eo={NOT_LOADED:0,LOADING:1,LOADED:2,PROCESSING:3,POST_PROCESSING:4,PROCESSED:5,READY:6,FAILED:7,UNLOADED:8};function pd(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,typedArray:n,releaseGltfJson:i=!1,asynchronous:o=!0,incrementallyLoadTextures:r=!0,upAxis:s=Mo.Y,forwardAxis:a=Mo.Z,loadAttributesAsTypedArray:c=!1,loadAttributesFor2D:u=!1,enablePick:f=!1,loadIndicesForWireframe:d=!1,loadPrimitiveOutline:p=!0,loadForClassification:g=!1,renameBatchIdSemantic:m=!1}=e,{baseResource:x=t.clone()}=e;this._gltfJson=e.gltfJson,this._gltfResource=t,this._baseResource=x,this._typedArray=n,this._releaseGltfJson=i,this._asynchronous=o,this._incrementallyLoadTextures=r,this._upAxis=s,this._forwardAxis=a,this._loadAttributesAsTypedArray=c,this._loadAttributesFor2D=u,this._enablePick=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._loadForClassification=g,this._renameBatchIdSemantic=m,this._sortedPropertyTableIds=void 0,this._sortedFeatureTextureIds=void 0,this._gltfJsonLoader=void 0,this._state=Eo.NOT_LOADED,this._textureState=Eo.NOT_LOADED,this._promise=void 0,this._processError=void 0,this._textureErrors=[],this._primitiveLoadPlans=[],this._loaderPromises=[],this._textureLoaders=[],this._texturesPromises=[],this._textureCallbacks=[],this._bufferViewLoaders=[],this._geometryLoaders=[],this._geometryCallbacks=[],this._structuralMetadataLoader=void 0,this._meshPrimitiveGpmLoader=void 0,this._loadResourcesPromise=void 0,this._resourcesLoaded=!1,this._texturesLoaded=!1,this._supportedImageFormats=void 0,this._postProcessBuffers=[],this._components=void 0}l(Object.create)&&(pd.prototype=Object.create(Yi.prototype),pd.prototype.constructor=pd);Object.defineProperties(pd.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},gltfJson:{get:function(){return l(this._gltfJsonLoader)?this._gltfJsonLoader.gltf:this._gltfJson}},incrementallyLoadTextures:{get:function(){return this._incrementallyLoadTextures}},texturesLoaded:{get:function(){return this._texturesLoaded}}});async function pze(e){e._state=Eo.LOADING,e._textureState=Eo.LOADING;try{let t=Ci.getGltfJsonLoader({gltfResource:e._gltfResource,baseResource:e._baseResource,typedArray:e._typedArray,gltfJson:e._gltfJson});return e._gltfJsonLoader=t,await t.load(),e.isDestroyed()||e.isUnloaded()||t.isDestroyed()?void 0:(e._state=Eo.LOADED,e._textureState=Eo.LOADED,e)}catch(t){if(e.isDestroyed())return;e._state=Eo.FAILED,e._textureState=Eo.FAILED,sF(e,t)}}async function _ze(e,t){Wt.supportsWebP.initialized||await Wt.supportsWebP.initialize(),e._supportedImageFormats=new $N({webp:Wt.supportsWebP(),basis:t.context.supportsBasis});let n=x4e(e,t);return e._state=Eo.PROCESSING,e._textureState=Eo.PROCESSING,l(e._gltfJsonLoader)&&e._releaseGltfJson&&(Ci.unload(e._gltfJsonLoader),e._gltfJsonLoader=void 0),n}pd.prototype.load=async function(){return l(this._promise)?this._promise:(this._promise=pze(this),this._promise)};function sF(e,t){throw e.unload(),e.getError("Failed to load glTF",t)}function gze(e,t){let n=!0,i=e._geometryLoaders;for(let s=0;s<i.length;++s){let a=i[s].process(t);a&&l(e._geometryCallbacks[s])&&(e._geometryCallbacks[s](),e._geometryCallbacks[s]=void 0),n=n&&a}let o=e._structuralMetadataLoader;if(l(o)){let s=o.process(t);s&&(e._components.structuralMetadata=o.structuralMetadata),n=n&&s}let r=e._meshPrimitiveGpmLoader;if(l(r)){let s=r.process(t);s&&(l(e._components.structuralMetadata)&&Tt("structural-metadata-gpm","The model defines both the 'EXT_structural_metadata' extension and the 'NGA_gpm_local' extension. The data from the 'EXT_structural_metadata' extension will be replaced with the data from the 'NGA_gpm_local' extension, and will no longer be available for styling and picking."),e._components.structuralMetadata=r.structuralMetadata),n=n&&s}n&&(e._state=Eo.POST_PROCESSING)}function yze(e,t){let n=e._primitiveLoadPlans;for(let i=0;i<n.length;i++){let o=n[i];o.postProcess(t),o.needsOutlines&&xze(e,o)}}function xze(e,t){let n=e._postProcessBuffers,i=t.primitive,o=i.outlineCoordinates;l(o)&&n.push(o.buffer);let r=i.attributes;for(let a=0;a<r.length;a++){let c=r[a];l(c.buffer)&&n.push(c.buffer)}let s=i.indices;l(s)&&l(s.buffer)&&n.push(s.buffer)}pd.prototype._process=function(e){return this._state===Eo.READY?!0:(this._state===Eo.PROCESSING&&gze(this,e),this._resourcesLoaded&&this._state===Eo.POST_PROCESSING&&(yze(this,e.context),this._state=Eo.PROCESSED),this._resourcesLoaded&&this._state===Eo.PROCESSED?(qoe(this),this._typedArray=void 0,this._state=Eo.READY,!0):!1)};pd.prototype._processTextures=function(e){if(this._textureState===Eo.READY)return!0;if(this._textureState!==Eo.PROCESSING)return!1;let t=!0,n=this._textureLoaders;for(let i=0;i<n.length;++i){let o=n[i].process(e);o&&l(this._textureCallbacks[i])&&(this._textureCallbacks[i](),this._textureCallbacks[i]=void 0),t=t&&o}return t?(this._textureState=Eo.READY,this._texturesLoaded=!0,!0):!1};pd.prototype.process=function(e){if(this._state===Eo.LOADED&&!l(this._loadResourcesPromise)&&(this._loadResourcesPromise=_ze(this,e).then(()=>{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),l(this._processError)){this._state=Eo.FAILED;let o=this._processError;this._processError=void 0,sF(this,o)}let t=this._textureErrors.pop();if(l(t)){let o=this.getError("Failed to load glTF texture",t);throw o.name="TextureError",o}if(this._state===Eo.FAILED)return!1;let n=!1;try{n=this._process(e)}catch(o){this._state=Eo.FAILED,sF(this,o)}let i=!1;try{i=this._processTextures(e)}catch(o){this._textureState=Eo.FAILED,sF(this,o)}return this._incrementallyLoadTextures?n:n&&i};function bze(e,t,n,i,o,r,s){let a=e.gltfJson,u=a.accessors[t].bufferView;return Ci.getVertexBufferLoader({gltf:a,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:s,bufferViewId:u,draco:i,attributeSemantic:n,accessorId:t,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r})}function Tze(e,t,n,i,o,r){return Ci.getIndexBufferLoader({gltf:e.gltfJson,accessorId:t,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:r,draco:n,asynchronous:e._asynchronous,loadBuffer:i,loadTypedArray:o})}function Cze(e,t){let n=Ci.getBufferViewLoader({gltf:e.gltfJson,bufferViewId:t,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(n),n}function koe(e,t,n){let i=t.byteOffset,o=tu(e,t),r=t.count,s=of(t.type),a=t.componentType,c=X.getSizeInBytes(a),u=c*s,f=r*s;if(o===u)return n=new Uint8Array(n),X.createArrayBufferView(a,n.buffer,n.byteOffset+i,f);let d=X.createTypedArray(a,f),p=new DataView(n.buffer),g=new Array(s),m=pg(t.componentType);i=n.byteOffset+i;for(let x=0;x<r;++x){m(p,i,s,c,g);for(let b=0;b<s;++b)d[x*s+b]=g[b];i+=o}return d}function Aze(e,t){let n=e.type;if(n===rn.SCALAR)return t.fill(0);let i=rn.getMathType(n);return t.fill(i.clone(i.ZERO))}function Eze(e,t,n,i){let o=e.type,r=e.count;if(o===rn.SCALAR)for(let s=0;s<r;s++)n[s]=t[s];else if(o===rn.VEC4&&i)for(let s=0;s<r;s++)n[s]=Ne.unpack(t,s*4);else{let s=rn.getMathType(o),a=rn.getNumberOfComponents(o);for(let c=0;c<r;c++)n[c]=s.unpack(t,c*a)}return n}async function Sze(e,t,n,i,o){let{gltfJson:r}=e;if(await t.load(),e.isDestroyed())return;let s=koe(r,n,t.typedArray);i=y(i,!1),Eze(n,s,o,i)}function aF(e,t,n){let i=new Array(t.count),o=t.bufferView;if(l(o)){let r=Cze(e,o),s=Sze(e,r,t,n,i);return e._loaderPromises.push(s),i}return Aze(t,i)}function ru(e,t){if(l(t))return e===Number?t[0]:e.unpack(t)}function wze(e){return e===Number?0:new e}function vze(e){switch(e){case X.BYTE:return 127;case X.UNSIGNED_BYTE:return 255;case X.SHORT:return 32767;case X.UNSIGNED_SHORT:return 65535;default:return 1}}var Dze={VEC2:new U(-1,-1),VEC3:new h(-1,-1,-1),VEC4:new oe(-1,-1,-1,-1)};function Ize(e,t){let n=vze(e.componentDatatype),i=Dze[e.type],o=e.min;l(o)&&(o=t.divideByScalar(o,n,o),o=t.maximumByComponent(o,i,o));let r=e.max;l(r)&&(r=t.divideByScalar(r,n,r),r=t.maximumByComponent(r,i,r)),e.min=o,e.max=r}function Pze(e,t,n){let i=e.decodeMatrix,o=ru(n,e.decodedMin),r=ru(n,e.decodedMax);l(o)&&l(r)&&(t.min=o,t.max=r);let s=new Tn.Quantization;s.componentDatatype=t.componentDatatype,s.type=t.type,i.length===4?(s.quantizedVolumeOffset=i[2],s.quantizedVolumeStepSize=i[0]):i.length===9?(s.quantizedVolumeOffset=new U(i[6],i[7]),s.quantizedVolumeStepSize=new U(i[0],i[4])):i.length===16?(s.quantizedVolumeOffset=new h(i[12],i[13],i[14]),s.quantizedVolumeStepSize=new h(i[0],i[5],i[10])):i.length===25&&(s.quantizedVolumeOffset=new oe(i[20],i[21],i[22],i[23]),s.quantizedVolumeStepSize=new oe(i[0],i[6],i[12],i[18])),t.quantization=s}function Rze(e,t,n,i,o){let r=e.accessors[t],s=rn.getMathType(r.type),a=y(r.normalized,!1),c=new XUe;c.name=n,c.semantic=i,c.setIndex=o,c.constant=wze(s),c.componentDatatype=r.componentType,c.normalized=a,c.count=r.count,c.type=r.type,c.min=ru(s,r.min),c.max=ru(s,r.max),c.byteOffset=r.byteOffset,c.byteStride=tu(e,r),ri(r,"WEB3D_quantized_attributes")&&Pze(r.extensions.WEB3D_quantized_attributes,c,s);let u=c.semantic===Ct.POSITION||c.semantic===Ct.NORMAL||c.semantic===Ct.TANGENT||c.semantic===Ct.TEXCOORD;return e.extensionsRequired?.includes("KHR_mesh_quantization")&&a&&u&&Ize(c,s),c}function Voe(e){let n=/^\w+_(\d+)$/.exec(e);if(n!==null)return parseInt(n[1])}var Oze={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function $9(e,t,n){let i=n;e._renameBatchIdSemantic&&(n==="_BATCHID"||n==="BATCHID")&&(i="_FEATURE_ID_0");let o=t.fromGltfSemantic(i),r=Oze;return r.gltfSemantic=n,r.renamedSemantic=i,r.modelSemantic=o,r}function Mze(e){let t=e===Ct.POSITION,n=e===Ct.FEATURE_ID,i=e===Ct.TEXCOORD;return t||n||i}function Lze(e,t,n,i){if(e.byteOffset=0,e.byteStride=void 0,e.quantization=t.quantization,n&&(e.buffer=t.buffer),i){let o=l(t.quantization)?t.quantization.componentDatatype:e.componentDatatype;e.typedArray=X.createArrayBufferView(o,t.typedArray.buffer)}}function Nze(e,t,n,i,o,r){if(o&&(n.buffer=i.buffer),r){let s=i.typedArray;n.typedArray=koe(e,t,s),o||(n.byteOffset=0,n.byteStride=void 0)}}function Uoe(e,t,n,i,o,r,s){let a=e.gltfJson,c=a.accessors[t],u=c.bufferView,f=n.gltfSemantic,d=n.renamedSemantic,p=n.modelSemantic,g=l(p)?Voe(d):void 0,x=Rze(a,t,f,p,g);if(!l(i)&&!l(u))return x;let b=bze(e,t,f,i,o,r,s),T=e._geometryLoaders.length;e._geometryLoaders.push(b);let C=b.load();return e._loaderPromises.push(C),e._geometryCallbacks[T]=()=>{l(i)&&l(i.attributes)&&l(i.attributes[f])?Lze(x,b,o,r):Nze(a,c,x,b,o,r)},x}function zoe(e,t,n,i,o,r,s){let a=n.modelSemantic,c=a===Ct.POSITION,u=a===Ct.FEATURE_ID,f=c&&!o&&e._loadAttributesFor2D&&!s.scene3DOnly,d=c&&e._enablePick&&!s.context.webgl2,p=e._loadForClassification&&u,g=e._loadAttributesAsTypedArray,m=!g,x=g||f||d||p,C=Uoe(e,t,n,i,r?!1:m,r?!0:x,s),A=new IC.AttributeLoadPlan(C);return A.loadBuffer=m,A.loadTypedArray=x,A}function Fze(e,t,n,i,o){let r=e.gltfJson.accessors,s=l(n.ROTATION),a=l(n.TRANSLATION)&&l(r[n.TRANSLATION].min)&&l(r[n.TRANSLATION].max),c=$9(e,ns,i),u=c.modelSemantic,f=u===ns.TRANSLATION||u===ns.ROTATION||u===ns.SCALE,d=u===ns.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&f||!o.context.instancedArrays,g=e._enablePick&&!o.context.webgl2,m=!p,x=e._loadAttributesFor2D&&!o.scene3DOnly;return Uoe(e,t,c,void 0,m,p||d&&(!a||x||g),o)}function Bze(e,t,n,i,o,r){let s=e.gltfJson.accessors[t],a=s.bufferView;if(!l(n)&&!l(a))return;let c=new KUe;c.count=s.count;let u=e._loadAttributesAsTypedArray,f=(e._loadIndicesForWireframe||e._enablePick)&&!r.context.webgl2,d=e._loadForClassification&&i,g=!u,m=u||f||d,T=Tze(e,t,n,o?!1:g,o?!0:m,r),C=e._geometryLoaders.length;e._geometryLoaders.push(T);let A=T.load();e._loaderPromises.push(A),e._geometryCallbacks[C]=()=>{c.indexDatatype=T.indexDatatype,c.buffer=T.buffer,c.typedArray=T.typedArray};let S=new IC.IndicesLoadPlan(c);return S.loadBuffer=g,S.loadTypedArray=m,S}function Fc(e,t,n,i){let o=e.gltfJson,r=nu.getImageIdFromTexture({gltf:o,textureId:t.index,supportedImageFormats:e._supportedImageFormats});if(!l(r))return;let s=Ci.getTextureLoader({gltf:o,textureInfo:t,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:n,asynchronous:e._asynchronous}),a=nu.createModelTextureReader({textureInfo:t}),c=e._textureLoaders.length;e._textureLoaders.push(s);let u=s.load().catch(f=>{if(!e.isDestroyed()){if(!e._incrementallyLoadTextures)throw f;e._textureState=Eo.FAILED,e._textureErrors.push(f)}});return e._texturesPromises.push(u),e._textureCallbacks[c]=()=>{a.texture=s.texture,l(i)&&(a.texture.sampler=i)},a}function kze(e,t,n){let{diffuseTexture:i,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=t,c=new dze;return l(i)&&(c.diffuseTexture=Fc(e,i,n)),l(o)&&(c.specularGlossinessTexture=Fc(e,o,n)),c.diffuseFactor=ru(oe,r),c.specularFactor=ru(h,s),c.glossinessFactor=a,c}function Vze(e,t,n){let{baseColorTexture:i,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=t,c=new fze;return l(i)&&(c.baseColorTexture=Fc(e,i,n)),l(o)&&(c.metallicRoughnessTexture=Fc(e,o,n)),c.baseColorFactor=ru(oe,r),c.metallicFactor=s,c.roughnessFactor=a,c}function Uze(e,t,n){let{specularFactor:i,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=t,a=new hze;return l(o)&&(a.specularTexture=Fc(e,o,n)),l(s)&&(a.specularColorTexture=Fc(e,s,n)),a.specularFactor=i,a.specularColorFactor=ru(h,r),a}function zze(e,t,n){let{anisotropyStrength:i=X9.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=X9.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=t,s=new X9;return l(r)&&(s.anisotropyTexture=Fc(e,r,n)),s.anisotropyStrength=i,s.anisotropyRotation=o,s}function Hze(e,t,n){let{clearcoatFactor:i=K9.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=K9.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=t,c=new K9;return l(o)&&(c.clearcoatTexture=Fc(e,o,n)),l(s)&&(c.clearcoatRoughnessTexture=Fc(e,s,n)),l(a)&&(c.clearcoatNormalTexture=Fc(e,a,n)),c.clearcoatFactor=i,c.clearcoatRoughnessFactor=r,c}function Gze(e,t,n){let i=new mze,o=y(t.extensions,y.EMPTY_OBJECT),r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,u=t.pbrMetallicRoughness;return i.unlit=l(o.KHR_materials_unlit),l(r)?i.specularGlossiness=kze(e,r,n):(l(u)&&(i.metallicRoughness=Vze(e,u,n)),l(s)&&!i.unlit&&(i.specular=Uze(e,s,n)),l(a)&&!i.unlit&&(i.anisotropy=zze(e,a,n)),l(c)&&!i.unlit&&(i.clearcoat=Hze(e,c,n))),l(t.emissiveTexture)&&(i.emissiveTexture=Fc(e,t.emissiveTexture,n)),l(t.normalTexture)&&!e._loadForClassification&&(i.normalTexture=Fc(e,t.normalTexture,n)),l(t.occlusionTexture)&&(i.occlusionTexture=Fc(e,t.occlusionTexture,n)),i.emissiveFactor=ru(h,t.emissiveFactor),i.alphaMode=t.alphaMode,i.alphaCutoff=t.alphaCutoff,i.doubleSided=t.doubleSided,i}function Hoe(e,t){let n=new Noe;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function Goe(e,t,n,i){let o=new Noe,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=Voe(r.attribute),o.positionalLabel=i,o}function Woe(e,t){let n=new Boe;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function joe(e,t,n,i){let o=new Boe,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function Wze(e,t,n,i){let o=new Foe;o.featureCount=t.featureCount,o.nullFeatureId=t.nullFeatureId,o.propertyTableId=t.propertyTable,o.label=t.label,o.positionalLabel=i;let r=t.texture;o.textureReader=Fc(e,r,n,tn.NEAREST);let a=(l(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function jze(e,t,n,i,o,r){let s=new Foe,a=t.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=n,s.textureReader=Fc(e,c,i,tn.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function qze(e,t,n,i,o){let r=new $Ue,s=void 0,a=!1;for(let c in t){if(!t.hasOwnProperty(c))continue;let u=t[c],f=$9(e,Ct,c),d=zoe(e,u,f,s,a,n,o);r.attributes.push(d.attribute),i.attributePlans.push(d)}return r}function Yze(e,t,n,i){let o=new ZUe,r=new IC(o);e._primitiveLoadPlans.push(r);let s=t.material;l(s)&&(o.material=Gze(e,e.gltfJson.materials[s],i));let a=y(t.extensions,y.EMPTY_OBJECT),c=!1,u=a.CESIUM_primitive_outline;e._loadPrimitiveOutline&&l(u)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=Xze(e,u,r));let f=e._loadForClassification,d=a.KHR_draco_mesh_compression,p=!1,g=t.attributes;if(l(g))for(let w in g){if(!g.hasOwnProperty(w))continue;let D=g[w],O=$9(e,Ct,w),R=O.modelSemantic;if(f&&!Mze(R))continue;R===Ct.FEATURE_ID&&(p=!0);let M=zoe(e,D,O,d,n,c,i);r.attributePlans.push(M),o.attributes.push(M.attribute)}let m=t.targets;if(l(m)&&!f)for(let w=0;w<m.length;++w)o.morphTargets.push(qze(e,m[w],c,r,i));let x=t.indices;if(l(x)){let w=Bze(e,x,d,p,c,i);l(w)&&(r.indicesPlan=w,o.indices=w.indices)}let b=a.EXT_structural_metadata,T=a.EXT_mesh_features,C=a.EXT_feature_metadata,A=l(C);l(T)?Kze(e,o,T,i):A&&$ze(e,o,C,i),l(b)?Zze(o,b):A&&Qze(e,o,C);let S=t.mode;if(f&&S!==Fe.TRIANGLES)throw new ce("Only triangle meshes can be used for classification.");return o.primitiveType=S,o}function Xze(e,t){let n=t.indices,i=e.gltfJson.accessors[n];return aF(e,i,!1)}function Kze(e,t,n,i){let o;l(n)&&l(n.featureIds)?o=n.featureIds:o=[];for(let r=0;r<o.length;r++){let s=o[r],a=`featureId_${r}`,c;l(s.texture)?c=Wze(e,s,i,a):l(s.attribute)?c=Hoe(s,a):c=Woe(s,a),t.featureIds.push(c)}}function $ze(e,t,n,i){let{featureTables:o}=e.gltfJson.extensions.EXT_feature_metadata,r=0,s=n.featureIdAttributes;if(l(s))for(let c=0;c<s.length;++c){let u=s[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m;l(u.featureIds.attribute)?m=Goe(u,d,p,g):m=joe(u,d,p,g),t.featureIds.push(m)}let a=n.featureIdTextures;if(l(a))for(let c=0;c<a.length;++c){let u=a[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m=jze(e,u,d,i,p,g);t.featureIds.push(m)}}function Zze(e,t){l(t)&&(l(t.propertyTextures)&&(e.propertyTextureIds=t.propertyTextures),l(t.propertyAttributes)&&(e.propertyAttributeIds=t.propertyAttributes))}function Qze(e,t,n){l(n.featureTextures)&&(t.propertyTextureIds=n.featureTextures.map(function(i){return e._sortedFeatureTextureIds.indexOf(i)}))}function Jze(e,t,n){let i=t.EXT_mesh_gpu_instancing,o=new QUe,r=i.attributes;if(l(r))for(let u in r){if(!r.hasOwnProperty(u))continue;let f=r[u];o.attributes.push(Fze(e,f,r,u,n))}let s=y(i.extensions,y.EMPTY_OBJECT),a=t.EXT_instance_features,c=s.EXT_feature_metadata;return l(a)?e4e(o,a):l(c)&&t4e(e.gltfJson,o,c,e._sortedPropertyTableIds),o}function e4e(e,t){let n=t.featureIds;for(let i=0;i<n.length;i++){let o=n[i],r=`instanceFeatureId_${i}`,s;l(o.attribute)?s=Hoe(o,r):s=Woe(o,r),e.featureIds.push(s)}}function t4e(e,t,n,i){let o=e.extensions.EXT_feature_metadata.featureTables,r=n.featureIdAttributes;if(l(r))for(let s=0;s<r.length;++s){let a=r[s],c=a.featureTable,u=i.indexOf(c),f=o[c].count,d=`instanceFeatureId_${s}`,p;l(a.featureIds.attribute)?p=Goe(a,u,f,d):p=joe(a,u,f,d),t.featureIds.push(p)}}function n4e(e,t,n){let i=new eze;i.name=t.name,i.matrix=ru(F,t.matrix),i.translation=ru(h,t.translation),i.rotation=ru(Ne,t.rotation),i.scale=ru(h,t.scale);let o=y(t.extensions,y.EMPTY_OBJECT),r=o.EXT_mesh_gpu_instancing,s=o.AGI_articulations;if(l(r)){if(e._loadForClassification)throw new ce("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");i.instances=Jze(e,o,n)}l(s)&&(i.articulationName=s.articulationName);let a=t.mesh;if(l(a)){let c=e.gltfJson.meshes[a],u=c.primitives;for(let p=0;p<u.length;++p)i.primitives.push(Yze(e,u[p],l(i.instances),n));let f=y(t.weights,c.weights),d=i.primitives[0].morphTargets;i.morphWeights=l(f)?f.slice():new Array(d.length).fill(0)}return i}function i4e(e,t){let n=e.gltfJson.nodes;if(!l(n))return[];let i=n.map(function(o,r){let s=n4e(e,o,t);return s.index=r,s});for(let o=0;o<i.length;++o){let r=n[o].children;if(l(r))for(let s=0;s<r.length;++s)i[o].children.push(i[r[s]])}return i}function o4e(e,t,n){let i=new JUe,o=t.joints;i.joints=o.map(s=>n[s]);let r=t.inverseBindMatrices;if(l(r)){let s=e.gltfJson.accessors[r];i.inverseBindMatrices=aF(e,s)}else i.inverseBindMatrices=new Array(o.length).fill(F.IDENTITY);return i}function r4e(e,t){let n=e.gltfJson.skins;if(e._loadForClassification||!l(n))return[];let i=n.map(function(r,s){let a=o4e(e,r,t);return a.index=s,a}),o=e.gltfJson.nodes;for(let r=0;r<t.length;++r){let s=o[r].skin;l(s)&&(t[r].skin=i[s])}return i}async function s4e(e,t,n,i){let o=new YN({gltf:e.gltfJson,extension:t,extensionLegacy:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._structuralMetadataLoader=o,o.load()}async function a4e(e,t,n,i){let o=new rF({gltf:t,extension:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._meshPrimitiveGpmLoader=o,o.load()}function c4e(e,t){let n=new nze,i=e.gltfJson.accessors,o=i[t.input];n.input=aF(e,o);let r=t.interpolation;n.interpolation=y(qh[r],qh.LINEAR);let s=i[t.output];return n.output=aF(e,s,!0),n}function l4e(e,t){let n=new ize,i=e.node;if(!l(i))return;n.node=t[i];let o=e.path.toUpperCase();return n.path=tze[o],n}function u4e(e,t,n){let i=new oze,o=e.sampler;return i.sampler=t[o],i.target=l4e(e.target,n),i}function f4e(e,t,n){let i=new rze;i.name=t.name;let o=t.samplers.map(function(s,a){let c=c4e(e,s);return c.index=a,c}),r=t.channels.map(function(s){return u4e(s,o,n)});return i.samplers=o,i.channels=r,i}function d4e(e,t){let n=e.gltfJson.animations;return e._loadForClassification||!l(n)?[]:n.map(function(o,r){let s=f4e(e,o,t);return s.index=r,s})}function h4e(e){let t=new sze;t.name=e.name;let n=e.type.toUpperCase();return t.type=Nc[n],t.minimumValue=e.minimumValue,t.maximumValue=e.maximumValue,t.initialValue=e.initialValue,t}function m4e(e){let t=new aze;return t.name=e.name,t.stages=e.stages.map(h4e),t}function p4e(e){let n=y(e.extensions,y.EMPTY_OBJECT).AGI_articulations?.articulations;return l(n)?n.map(m4e):[]}function _4e(e){let t;return l(e.scenes)&&l(e.scene)&&(t=e.scenes[e.scene].nodes),t=y(t,e.nodes),t=l(t)?t:[],t}function g4e(e,t){let n=new lze,i=_4e(e);return n.nodes=i.map(function(o){return t[o]}),n}var y4e=new h;function x4e(e,t){let n=e.gltfJson,i=y(n.extensions,y.EMPTY_OBJECT),o=i.EXT_structural_metadata,r=i.EXT_feature_metadata,s=i.CESIUM_RTC;if(l(r)){let C=r.featureTables,A=r.featureTextures,S=l(C)?C:[],w=l(A)?A:[];e._sortedPropertyTableIds=Object.keys(S).sort(),e._sortedFeatureTextureIds=Object.keys(w).sort()}let a=i4e(e,t),c=r4e(e,a),u=d4e(e,a),f=p4e(n),d=g4e(n,a),p=new uze,g=new cze,m=n.asset.copyright;if(l(m)){let C=m.split(";").map(function(A){return new vt(A.trim())});g.credits=C}if(p.asset=g,p.scene=d,p.nodes=a,p.skins=c,p.animations=u,p.articulations=f,p.upAxis=e._upAxis,p.forwardAxis=e._forwardAxis,l(s)){let C=h.fromArray(s.center,0,y4e);p.transform=F.fromTranslation(C,p.transform)}if(e._components=p,l(o)||l(r)){let C=s4e(e,o,r,t);e._loaderPromises.push(C)}let x=i.NGA_gpm_local;if(l(x)){let C=tF.load(x);e._components.extensions.NGA_gpm_local=C}let b=n.meshes;if(l(b))for(let C of b){let A=C.primitives;if(l(A))for(let S of A){let w=S.extensions;if(l(w)){let D=w.NGA_gpm_local;if(l(D)){let O=a4e(e,n,D,t);e._loaderPromises.push(O)}}}}let T=[];return T.push.apply(T,e._loaderPromises),e._incrementallyLoadTextures||T.push.apply(T,e._texturesPromises),Promise.all(T)}function b4e(e){let t=e._textureLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Ci.unload(t[n]);e._textureLoaders.length=0}function qoe(e){let t=e._bufferViewLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Ci.unload(t[n]);e._bufferViewLoaders.length=0}function T4e(e){let t=e._geometryLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Ci.unload(t[n]);e._geometryLoaders.length=0}function C4e(e){let t=e._postProcessBuffers;for(let n=0;n<t.length;n++){let i=t[n];i.isDestroyed()||i.destroy()}t.length=0}function A4e(e){l(e._structuralMetadataLoader)&&!e._structuralMetadataLoader.isDestroyed()&&(e._structuralMetadataLoader.destroy(),e._structuralMetadataLoader=void 0)}function E4e(e){l(e._meshPrimitiveGpmLoader)&&!e._meshPrimitiveGpmLoader.isDestroyed()&&(e._meshPrimitiveGpmLoader.destroy(),e._meshPrimitiveGpmLoader=void 0)}pd.prototype.isUnloaded=function(){return this._state===Eo.UNLOADED};pd.prototype.unload=function(){l(this._gltfJsonLoader)&&!this._gltfJsonLoader.isDestroyed()&&Ci.unload(this._gltfJsonLoader),this._gltfJsonLoader=void 0,b4e(this),qoe(this),T4e(this),C4e(this),A4e(this),E4e(this),this._components=void 0,this._typedArray=void 0,this._state=Eo.UNLOADED};var vg=pd;var cF=`uniform sampler2D u_pointCloud_colorGBuffer; -uniform sampler2D u_pointCloud_depthGBuffer; -uniform vec2 u_distanceAndEdlStrength; -in vec2 v_textureCoordinates; - -vec2 neighborContribution(float log2Depth, vec2 offset) -{ - float dist = u_distanceAndEdlStrength.x; - vec2 texCoordOrig = v_textureCoordinates + offset * dist; - vec2 texCoord0 = v_textureCoordinates + offset * floor(dist); - vec2 texCoord1 = v_textureCoordinates + offset * ceil(dist); +}`;function Xr(e){e=y(e,y.EMPTY_OBJECT),this._polygons=[],this._totalPositions=0,this.enabled=y(e.enabled,!0),this.inverse=y(e.inverse,!1),this.polygonAdded=new me,this.polygonRemoved=new me,this._owner=void 0,this._float32View=void 0,this._extentsFloat32View=void 0,this._extentsCount=0,this._polygonsTexture=void 0,this._extentsTexture=void 0,this._signedDistanceTexture=void 0,this._signedDistanceComputeCommand=void 0;let t=e.polygons;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this._polygons.push(t[i])}}Object.defineProperties(Xr.prototype,{length:{get:function(){return this._polygons.length}},totalPositions:{get:function(){return this._totalPositions}},extentsTexture:{get:function(){return this._extentsTexture}},extentsCount:{get:function(){return this._extentsCount}},pixelsNeededForExtents:{get:function(){return this.length}},pixelsNeededForPolygonPositions:{get:function(){return this.totalPositions+this.length}},clippingTexture:{get:function(){return this._signedDistanceTexture}},owner:{get:function(){return this._owner}},clippingPolygonsState:{get:function(){return this.inverse?-this.extentsCount:this.extentsCount}}});Xr.prototype.add=function(e){let t=this._polygons.length;return this._polygons.push(e),this.polygonAdded.raiseEvent(e,t),e};Xr.prototype.get=function(e){return this._polygons[e]};Xr.prototype.contains=function(e){return this._polygons.some(t=>gw.equals(t,e))};Xr.prototype.remove=function(e){let t=this._polygons,n=t.findIndex(i=>gw.equals(i,e));return n===-1?!1:(t.splice(n,1),this.polygonRemoved.raiseEvent(e,n),!0)};var CUe=new ae;function AUe(e){let t=[],n=[],i=e.length;for(let r=0;r<i;++r){let a=e[r].computeSphericalExtents(),c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=ae.clone(a);f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI);let d=[r];for(let p=0;p<t.length;++p){let g=t[p];if(l(g)&&l(ae.simpleIntersection(g,f))&&!ae.equals(g,f)){let m=n[p];d.push(...m),m.reduce((x,b)=>ae.union(e[b].computeSphericalExtents(CUe),x,x),a),t[p]=void 0,n[p]=void 0,c=Math.max(a.height*2.5,.001),u=Math.max(a.width*2.5,.001),f=ae.clone(a,f),f.south-=c,f.west-=u,f.north+=c,f.east+=u,f.south=Math.max(f.south,-Math.PI),f.west=Math.max(f.west,-Math.PI),f.north=Math.min(f.north,Math.PI),f.east=Math.min(f.east,Math.PI),p=-1}}t.push(f),n.push(d)}let o=new Map;return n.filter(l).forEach((r,s)=>r.forEach(a=>o.set(a,s))),{extentsList:t.filter(l),extentsIndexByPolygon:o}}Xr.prototype.removeAll=function(){let e=this._polygons,t=e.length;for(let n=0;n<t;++n){let i=e[n];this.polygonRemoved.raiseEvent(i,n)}this._polygons=[]};function EUe(e){let t=e._float32View,n=e._extentsFloat32View,i=e._polygons,{extentsList:o,extentsIndexByPolygon:r}=AUe(i),s=0;for(let[c,u]of i.entries()){let f=u.length;t[s++]=f,t[s++]=r.get(c);for(let d=0;d<f;++d){let p=u.positions[d],g=Math.hypot(p.x,p.y),m=P.fastApproximateAtan2(g,p.z),x=P.fastApproximateAtan2(p.x,p.y);t[s++]=m,t[s++]=x}}let a=0;for(let c of o){let u=1/(c.east-c.west),f=1/(c.north-c.south);n[a++]=c.south,n[a++]=c.west,n[a++]=f,n[a++]=u}e._extentsCount=o.length}var Z9=new U;Xr.prototype.update=function(e){let t=e.context;if(!Xr.isSupported(e))throw new se("ClippingPolygonCollections are only supported for WebGL 2.");let n=this._polygons.reduce((s,a)=>s+a.length,0);if(n===this.totalPositions||(this._totalPositions=n,this.length===0))return;l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0,this._signedDistanceComputeCommand=void 0);let i=this._polygonsTexture,o=this._extentsTexture,r=this._signedDistanceTexture;if(l(i)){let s=i.width*i.height;(s<this.pixelsNeededForPolygonPositions||this.pixelsNeededForPolygonPositions<.25*s)&&(i.destroy(),i=void 0,this._polygonsTexture=void 0)}if(!l(i)){let s=Xr.getTextureResolution(i,this.pixelsNeededForPolygonPositions,Z9);i=new Pt({context:t,width:s.x,height:s.y,pixelFormat:ot.RG,pixelDatatype:Ze.FLOAT,sampler:$t.NEAREST,flipY:!1}),this._float32View=new Float32Array(s.x*s.y*2),this._polygonsTexture=i}if(l(o)){let s=o.width*o.height;(s<this.pixelsNeededForExtents||this.pixelsNeededForExtents<.25*s)&&(o.destroy(),o=void 0,this._extentsTexture=void 0)}if(!l(o)){let s=Xr.getTextureResolution(o,this.pixelsNeededForExtents,Z9);o=new Pt({context:t,width:s.x,height:s.y,pixelFormat:ot.RGBA,pixelDatatype:Ze.FLOAT,sampler:$t.NEAREST,flipY:!1}),this._extentsFloat32View=new Float32Array(s.x*s.y*4),this._extentsTexture=o}if(EUe(this),o.copyFrom({source:{width:o.width,height:o.height,arrayBufferView:this._extentsFloat32View}}),i.copyFrom({source:{width:i.width,height:i.height,arrayBufferView:this._float32View}}),!l(r)){let s=Xr.getClippingDistanceTextureResolution(this,Z9);r=new Pt({context:t,width:s.x,height:s.y,pixelFormat:t.webgl2?ot.RED:ot.LUMINANCE,pixelDatatype:Ze.FLOAT,sampler:new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.LINEAR,magnificationFilter:pi.LINEAR}),flipY:!1}),this._signedDistanceTexture=r}this._signedDistanceComputeCommand=SUe(this)};Xr.prototype.queueCommands=function(e){l(this._signedDistanceComputeCommand)&&e.commandList.push(this._signedDistanceComputeCommand)};function SUe(e){let t=e._polygonsTexture,n=e._extentsTexture;return new rl({fragmentShaderSource:jN,outputTexture:e._signedDistanceTexture,uniformMap:{u_polygonsLength:function(){return e.length},u_extentsLength:function(){return e.extentsCount},u_extentsTexture:function(){return n},u_polygonTexture:function(){return t}},persists:!1,owner:e,postExecute:()=>{e._signedDistanceComputeCommand=void 0}})}var Ioe=new ae,vUe=new ae;Xr.prototype.computeIntersectionWithBoundingVolume=function(e,t){let n=this._polygons,i=n.length,o=jt.OUTSIDE;this.inverse&&(o=jt.INSIDE);for(let r=0;r<i;++r){let a=n[r].computeRectangle(),c=e.rectangle;if(!l(c)&&l(e.boundingVolume?.computeCorners)){let f=e.boundingVolume.computeCorners();c=ae.fromCartesianArray(f,t,Ioe)}l(c)||(c=ae.fromBoundingSphere(e.boundingSphere,t,Ioe));let u=ae.simpleIntersection(c,a,vUe);l(u)&&(o=jt.INTERSECTING)}return o};Xr.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};Xr.isSupported=function(e){return e?.context.webgl2};Xr.getTextureResolution=function(e,t,n){if(l(e))return n.x=e.width,n.y=e.height,n;let i=Bt.maximumTextureSize;return n.x=Math.min(t,i),n.y=Math.ceil(t/n.x),n.y*=2,n};Xr.getClippingDistanceTextureResolution=function(e,t){let n=e.signedDistanceTexture;return l(n)?(t.x=n.width,t.y=n.height,t):(t.x=Math.min(Bt.maximumTextureSize,4096),t.y=Math.min(Bt.maximumTextureSize,4096),t)};Xr.getClippingExtentsTextureResolution=function(e,t){let n=e.extentsTexture;return l(n)?(t.x=n.width,t.y=n.height,t):Xr.getTextureResolution(n,e.pixelsNeededForExtents,t)};Xr.prototype.isDestroyed=function(){return!1};Xr.prototype.destroy=function(){return l(this._signedDistanceComputeCommand)&&(this._signedDistanceComputeCommand.canceled=!0),this._polygonsTexture=this._polygonsTexture&&this._polygonsTexture.destroy(),this._extentsTexture=this._extentsTexture&&this._extentsTexture.destroy(),this._signedDistanceTexture=this._signedDistanceTexture&&this._signedDistanceTexture.destroy(),ue(this)};var Xh=Xr;var yw={NONE:0,SCENE_LIGHT:1,SUNLIGHT:2};yw.fromGlobeFlags=function(e){return e.enableLighting&&e.dynamicAtmosphereLighting?e.dynamicAtmosphereLightingFromSun?yw.SUNLIGHT:yw.SCENE_LIGHT:yw.NONE};var Ig=Object.freeze(yw);function Poe(){this.lightIntensity=10,this.rayleighCoefficient=new h(55e-7,13e-6,284e-7),this.mieCoefficient=new h(21e-6,21e-6,21e-6),this.rayleighScaleHeight=1e4,this.mieScaleHeight=3200,this.mieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.dynamicLighting=Ig.NONE}Poe.requiresColorCorrect=function(e){return!(P.equalsEpsilon(e.hueShift,0,P.EPSILON7)&&P.equalsEpsilon(e.saturationShift,0,P.EPSILON7)&&P.equalsEpsilon(e.brightnessShift,0,P.EPSILON7))};var MC=Poe;var Kh=`uniform vec3 u_radiiAndDynamicAtmosphereColor; - float depthOrLogDepth0 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord0)); - float depthOrLogDepth1 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord1)); - - // ignore depth values that are the clear depth - if (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) { - return vec2(0.0); - } +uniform float u_atmosphereLightIntensity; +uniform float u_atmosphereRayleighScaleHeight; +uniform float u_atmosphereMieScaleHeight; +uniform float u_atmosphereMieAnisotropy; +uniform vec3 u_atmosphereRayleighCoefficient; +uniform vec3 u_atmosphereMieCoefficient; - // interpolate the two adjacent depth values - float depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist)); - vec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix); - return vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0); -} +const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. +const int PRIMARY_STEPS_MAX = 16; // Maximum number of times the ray from the camera to the world position (primary ray) is sampled. +const int LIGHT_STEPS_MAX = 4; // Maximum number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. -void main() -{ - float depthOrLogDepth = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, v_textureCoordinates)); +/** + * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as + * the transmittance value for the ray. + * + * @param {czm_ray} primaryRay The ray from the camera to the position. + * @param {float} primaryRayLength The length of the primary ray. + * @param {vec3} lightDirection The direction of the light to calculate the scattering from. + * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. + * @param {vec3} mieColor The variable the Mie scattering will be written to. + * @param {float} opacity The variable the transmittance will be written to. + * @glslFunction + */ +void computeScattering( + czm_ray primaryRay, + float primaryRayLength, + vec3 lightDirection, + float atmosphereInnerRadius, + out vec3 rayleighColor, + out vec3 mieColor, + out float opacity +) { - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth); - eyeCoordinate /= eyeCoordinate.w; + // Initialize the default scattering amounts to 0. + rayleighColor = vec3(0.0); + mieColor = vec3(0.0); + opacity = 0.0; - float log2Depth = log2(-eyeCoordinate.z); + float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - if (depthOrLogDepth == 0.0) // 0.0 is the clear value for the gbuffer - { - discard; - } + vec3 origin = vec3(0.0); - vec4 color = texture(u_pointCloud_colorGBuffer, v_textureCoordinates); + // Calculate intersection from the camera to the outer ring of the atmosphere. + czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); - // sample from neighbors left, right, down, up - vec2 texelSize = 1.0 / czm_viewport.zw; + // Return empty colors if no intersection with the atmosphere geometry. + if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { + return; + } - vec2 responseAndCount = vec2(0.0); + // To deal with smaller values of PRIMARY_STEPS (e.g. 4) + // we implement a split strategy: sky or horizon. + // For performance reasons, instead of a if/else branch + // a soft choice is implemented through a weight 0.0 <= w_stop_gt_lprl <= 1.0 + float x = 1e-7 * primaryRayAtmosphereIntersect.stop / length(primaryRayLength); + // Value close to 0.0: close to the horizon + // Value close to 1.0: above in the sky + float w_stop_gt_lprl = 0.5 * (1.0 + czm_approximateTanh(x)); - responseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0)); - responseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0)); - responseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y)); - responseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y)); + // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. + float start_0 = primaryRayAtmosphereIntersect.start; + primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); + // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. + primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); - float response = responseAndCount.x / responseAndCount.y; - float strength = u_distanceAndEdlStrength.y; - float shade = exp(-response * 300.0 * strength); - color.rgb *= shade; - out_FragColor = vec4(color); + // For the number of ray steps, distinguish inside or outside atmosphere (outer space) + // (1) from outer space we have to use more ray steps to get a realistic rendering + // (2) within atmosphere we need fewer steps for faster rendering + float x_o_a = start_0 - ATMOSPHERE_THICKNESS; // ATMOSPHERE_THICKNESS used as an ad-hoc constant, no precise meaning here, only the order of magnitude matters + float w_inside_atmosphere = 1.0 - 0.5 * (1.0 + czm_approximateTanh(x_o_a)); + int PRIMARY_STEPS = PRIMARY_STEPS_MAX - int(w_inside_atmosphere * 12.0); // Number of times the ray from the camera to the world position (primary ray) is sampled. + int LIGHT_STEPS = LIGHT_STEPS_MAX - int(w_inside_atmosphere * 2.0); // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - // Input and output depth are the same. - gl_FragDepth = depthOrLogDepth; -} -`;function RC(){this._framebuffer=new hi({colorAttachmentsLength:2,depth:!0,supportsDepthTexture:!0}),this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}Object.defineProperties(RC.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}},colorGBuffer:{get:function(){return this._framebuffer.getColorTexture(0)}},depthGBuffer:{get:function(){return this._framebuffer.getColorTexture(1)}}});function S4e(e){e._framebuffer.destroy(),e._drawCommand=void 0,e._clearCommand=void 0}var Z9=new U;function w4e(e,t){let n=new Ge({defines:["LOG_DEPTH_WRITE"],sources:[cF]}),i={u_pointCloud_colorGBuffer:function(){return e.colorGBuffer},u_pointCloud_depthGBuffer:function(){return e.depthGBuffer},u_distanceAndEdlStrength:function(){return Z9.x=e._radius,Z9.y=e._strength,Z9}},o=ze.fromCache({blending:fn.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:zt.setCesium3DTileBit(),stencilMask:zt.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(n,{uniformMap:i,renderState:o,pass:Se.CESIUM_3D_TILE,owner:e}),e._clearCommand=new ni({framebuffer:e.framebuffer,color:new H(0,0,0,0),depth:1,renderState:ze.fromCache(),pass:Se.CESIUM_3D_TILE,owner:e})}function v4e(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i),w4e(e,t)}function Yoe(e){return e.drawBuffers&&e.fragmentDepth}RC.isSupported=Yoe;function D4e(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"EC");if(!l(n)){let i=t._attributeLocations,o=t.fragmentShaderSource.clone();o.sources.splice(0,0,`layout (location = 0) out vec4 out_FragData_0; -layout (location = 1) out vec4 out_FragData_1;`),o.sources=o.sources.map(function(r){return r=Ge.replaceMain(r,"czm_point_cloud_post_process_main"),r=r.replaceAll(/out_FragColor/g,"out_FragData_0"),r}),o.sources.push(`void main() -{ - czm_point_cloud_post_process_main(); -#ifdef LOG_DEPTH - czm_writeLogDepth(); - out_FragData_1 = czm_packDepth(gl_FragDepth); -#else - out_FragData_1 = czm_packDepth(gl_FragCoord.z); -#endif -}`),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}RC.prototype.update=function(e,t,n,i){if(!Yoe(e.context))return;this._strength=n.eyeDomeLightingStrength,this._radius=n.eyeDomeLightingRadius*e.pixelRatio,v4e(this,e.context);let o,r=e.commandList,s=r.length;for(o=t;o<s;++o){let u=r[o];if(u.primitiveType!==Fe.POINTS||u.pass===Se.TRANSLUCENT)continue;let f,d,p=u.derivedCommands.pointCloudProcessor;l(p)&&(f=p.command,d=p.originalShaderProgram),(!l(f)||u.dirty||d!==u.shaderProgram||f.framebuffer!==this.framebuffer)&&(f=et.shallowClone(u,f),f.framebuffer=this.framebuffer,f.shaderProgram=D4e(e.context,u.shaderProgram),f.castShadows=!1,f.receiveShadows=!1,l(p)||(p={command:f,originalShaderProgram:u.shaderProgram},u.derivedCommands.pointCloudProcessor=p),p.originalShaderProgram=u.shaderProgram),r[o]=f}let a=this._clearCommand,c=this._drawCommand;c.boundingVolume=i,r.push(c),r.push(a)};RC.prototype.isDestroyed=function(){return!1};RC.prototype.destroy=function(){return S4e(this),ue(this)};var Dg=RC;function Xoe(e){let t=y(e,{});this.attenuation=y(t.attenuation,!1),this.geometricErrorScale=y(t.geometricErrorScale,1),this.maximumAttenuation=t.maximumAttenuation,this.baseResolution=t.baseResolution,this.eyeDomeLighting=y(t.eyeDomeLighting,!0),this.eyeDomeLightingStrength=y(t.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=y(t.eyeDomeLightingRadius,1),this.backFaceCulling=y(t.backFaceCulling,!1),this.normalShading=y(t.normalShading,!0)}Xoe.isSupported=function(e){return Dg.isSupported(e.context)};var Sp=Xoe;var wa={},I4e=new oe(0,0,0,1),nc=new oe,P4e=new qe,Q9=new U,J9=new U;wa.worldToWindowCoordinates=function(e,t,n){return wa.worldWithEyeOffsetToWindowCoordinates(e,t,h.ZERO,n)};var Koe=new oe,$oe=new h;function _v(e,t,n,i){let o=n.viewMatrix,r=F.multiplyByVector(o,oe.fromElements(e.x,e.y,e.z,1,Koe),Koe),s=h.multiplyComponents(t,h.normalize(r,$oe),$oe);return r.x+=t.x+s.x,r.y+=t.y+s.y,r.z+=s.z,F.multiplyByVector(n.frustum.projectionMatrix,r,i)}var R4e=new fe(Math.PI,P.PI_OVER_TWO),O4e=new h,M4e=new h;wa.worldWithEyeOffsetToWindowCoordinates=function(e,t,n,i){let o=e.frameState,r=wa.computeActualEllipsoidPosition(o,t,I4e);if(!l(r))return;let s=e.canvas,a=P4e;a.x=0,a.y=0,a.width=s.clientWidth,a.height=s.clientHeight;let c=e.camera,u=!1;if(o.mode===ne.SCENE2D){let f=e.mapProjection,d=R4e,p=f.project(d,O4e),g=h.clone(c.position,M4e),m=c.frustum.clone(),x=F.computeViewportTransformation(a,0,1,new F),b=c.frustum.projectionMatrix,T=c.positionWC.y,C=h.fromElements(P.sign(T)*p.x-T,0,-c.positionWC.x),A=Bt.pointToGLWindowCoordinates(b,x,C);if(T===0||A.x<=0||A.x>=s.clientWidth)u=!0;else{if(A.x>s.clientWidth*.5){a.width=A.x,c.frustum.right=p.x-T,nc=_v(r,n,c,nc),wa.clipToGLWindowCoordinates(a,nc,Q9),a.x+=A.x,c.position.x=-c.position.x;let S=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-S,nc=_v(r,n,c,nc),wa.clipToGLWindowCoordinates(a,nc,J9)}else{a.x+=A.x,a.width-=A.x,c.frustum.left=-p.x-T,nc=_v(r,n,c,nc),wa.clipToGLWindowCoordinates(a,nc,Q9),a.x=a.x-a.width,c.position.x=-c.position.x;let S=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-S,nc=_v(r,n,c,nc),wa.clipToGLWindowCoordinates(a,nc,J9)}h.clone(g,c.position),c.frustum=m.clone(),i=U.clone(Q9,i),(i.x<0||i.x>s.clientWidth)&&(i.x=J9.x)}}if(o.mode!==ne.SCENE2D||u){if(nc=_v(r,n,c,nc),nc.z<0&&!(c.frustum instanceof an)&&!(c.frustum instanceof Br))return;i=wa.clipToGLWindowCoordinates(a,nc,i)}return i.y=s.clientHeight-i.y,i};wa.worldToDrawingBufferCoordinates=function(e,t,n){if(n=wa.worldToWindowCoordinates(e,t,n),!!l(n))return wa.transformWindowToDrawingBuffer(e,n,n)};var wp=new h,L4e=new fe;wa.computeActualEllipsoidPosition=function(e,t,n){let i=e.mode;if(i===ne.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,L4e);if(!l(r))return;if(o.project(r,wp),i===ne.COLUMBUS_VIEW)return h.fromElements(wp.z,wp.x,wp.y,n);if(i===ne.SCENE2D)return h.fromElements(0,wp.x,wp.y,n);let s=e.morphTime;return h.fromElements(P.lerp(wp.z,t.x,s),P.lerp(wp.x,t.y,s),P.lerp(wp.y,t.z,s),n)};var Zoe=new h,Qoe=new h,Joe=new F;wa.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,Zoe),F.computeViewportTransformation(e,0,1,Joe),F.multiplyByPoint(Joe,Zoe,Qoe),U.fromCartesian3(Qoe,n)};wa.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return U.fromElements(t.x*o,t.y*r,n)};var N4e=new oe,ere=new oe;wa.drawingBufferToWorldCoordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,m=Math.pow(2,g)-1;n=c*(1-a/(m+a))/(c-a)}let u=e.view.passState.viewport,f=oe.clone(oe.UNIT_W,N4e);f.x=(t.x-u.x)/u.width*2-1,f.y=(t.y-u.y)/u.height*2-1,f.z=n*2-1,f.w=1;let d,p=e.camera.frustum;if(l(p.fovy)){d=F.multiplyByVector(r.inverseViewProjection,f,ere);let g=1/d.w;h.multiplyByScalar(d,g,d)}else{let g=p.offCenterFrustum;l(g)&&(p=g),d=ere,d.x=(f.x*(p.right-p.left)+p.left+p.right)*.5,d.y=(f.y*(p.top-p.bottom)+p.bottom+p.top)*.5,d.z=(f.z*(a-c)-a-c)*.5,d.w=1,d=F.multiplyByVector(r.inverseView,d,d)}return h.fromCartesian4(d,i)};var ki=wa;var OC={};OC._deprecationWarning=_s;var vp=Uint32Array.BYTES_PER_ELEMENT;OC.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=vp;let r=o.getUint32(t,!0);if(r!==1)throw new ce(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=vp;let s=o.getUint32(t,!0);t+=vp;let a=o.getUint32(t,!0);t+=vp;let c=o.getUint32(t,!0);t+=vp;let u=o.getUint32(t,!0);t+=vp;let f=o.getUint32(t,!0);t+=vp;let d;u>=570425344?(t-=vp*2,d=a,u=c,f=0,a=0,c=0,OC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):f>=570425344&&(t-=vp,d=u,u=a,f=c,a=0,c=0,OC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(d,0)}:(p=Lo(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Lo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new ce("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):(OC._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{batchLength:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var lF=OC;function gv(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function tre(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return l(a)||(a=X.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function F4e(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return l(r)||(r=X.createTypedArray(n,i),o[t]=r),r}gv.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(t=y(t,X.UNSIGNED_INT),n=y(n,1),tre(this,e,t,n,1,i.byteOffset)):i};gv.prototype.hasProperty=function(e){return l(this.json[e])};gv.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(l(i.componentType)&&(t=X.fromName(i.componentType)),tre(this,e,t,n,this.featuresLength,i.byteOffset)):F4e(this,e,t,i)};gv.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!l(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a<n;++a)o[a]=s[n*i+a];return o};var Yh=gv;function yv(e){let t=e.count,n=e.batchTable,i=e.binaryBody,o=y(e.parseAsPropertyAttributes,!1),r=e.customAttributeOutput,s=B4e(n),a;l(s.jsonProperties)&&(a=new Eg({count:t,properties:s.jsonProperties}));let c;l(s.hierarchy)&&(c=new cC({extension:s.hierarchy,binaryBody:i}));let u=Gh.BATCH_TABLE_CLASS_NAME,f=s.binaryProperties,d,p,g;if(o){let b=V4e(t,u,f,i,r);g=b.transcodedSchema,p=[new wC({propertyAttribute:b.propertyAttributeJson,class:b.transcodedClass})]}else{let b=k4e(t,u,f,i);g=b.transcodedSchema;let T=b.featureTableJson;d=new eu({count:T.count,properties:T.properties,class:b.transcodedClass,bufferViews:b.bufferViewsTypedArrays}),p=[]}let m=[];if(l(d)||l(a)||l(c)){let b=new pl({id:0,name:"Batch Table",count:t,metadataTable:d,jsonMetadataTable:a,batchTableHierarchy:c});m.push(b)}let x={schema:g,propertyTables:m,propertyAttributes:p,extensions:s.extensions,extras:s.extras};return new na(x)}function B4e(e){let t=e.HIERARCHY,n=e.extras,i=e.extensions,o;l(t)?(yv._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),o=t):l(i)&&(o=i["3DTILES_batch_table_hierarchy"]);let r,s={};for(let a in e){if(!e.hasOwnProperty(a)||a==="HIERARCHY"||a==="extensions"||a==="extras")continue;let c=e[a];Array.isArray(c)?(r=l(r)?r:{},r[a]=c):s[a]=c}return{binaryProperties:s,jsonProperties:r,hierarchy:o,extras:n,extensions:i}}function k4e(e,t,n,i){let o={},r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;if(!l(i))throw new ce(`Property ${d} requires a batch table binary.`);let p=n[d],g=tf(p);r[d]={bufferView:a},o[d]=nre(p),s[a]=g.createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e),a++}let c={classes:{}};c.classes[t]={properties:o};let u=rf.fromJson(c);return{featureTableJson:{class:t,count:e,properties:r},bufferViewsTypedArrays:s,transcodedSchema:u,transcodedClass:u.classes[t]}}function V4e(e,t,n,i,o){let r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;let p=n[d];if(!l(i)&&!l(p.typedArray))throw new ce(`Property ${d} requires a batch table binary.`);let g=$t.sanitizeGlslIdentifier(d);(g===""||r.hasOwnProperty(g))&&(g=`property_${a}`,a++);let m=nre(p);m.name=d,r[g]=m;let x=g.toUpperCase();x.startsWith("_")||(x=`_${x}`);let b=p.typedArray;l(b)||(b=tf(p).createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e));let T=new Tn.Attribute;T.name=x,T.count=e,T.type=p.type;let C=X.fromTypedArray(b);(C===X.INT||C===X.UNSIGNED_INT||C===X.DOUBLE)&&(yv._oneTimeWarning("Cast pnts property to floats",`Point cloud property "${x}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),b=new Float32Array(b)),T.componentDatatype=X.fromTypedArray(b),T.typedArray=b,o.push(T),s[g]={attribute:x}}let c={classes:{}};c.classes[t]={properties:r};let u=rf.fromJson(c);return{class:t,propertyAttributeJson:{properties:s},transcodedSchema:u,transcodedClass:u.classes[t]}}function nre(e){let t=U4e(e.componentType);return{type:e.type,componentType:t}}function U4e(e){switch(e){case"BYTE":return"INT8";case"UNSIGNED_BYTE":return"UINT8";case"SHORT":return"INT16";case"UNSIGNED_SHORT":return"UINT16";case"INT":return"INT32";case"UNSIGNED_INT":return"UINT32";case"FLOAT":return"FLOAT32";case"DOUBLE":return"FLOAT64"}}yv._deprecationWarning=_s;yv._oneTimeWarning=Tt;var Ig=yv;var dx={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},z4e=Tn.FeatureIdAttribute;function Pg(e){e=y(e,y.EMPTY_OBJECT);let t=e.b3dmResource,n=e.baseResource,i=e.arrayBuffer,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Mo.Y),u=y(e.forwardAxis,Mo.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadAttributesFor2D,!1),p=y(e.enablePick,!1),g=y(e.loadIndicesForWireframe,!1),m=y(e.loadPrimitiveOutline,!0),x=y(e.loadForClassification,!1);n=l(n)?n:t.clone(),this._b3dmResource=t,this._baseResource=n,this._arrayBuffer=i,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadAttributesFor2D=d,this._enablePick=p,this._loadIndicesForWireframe=g,this._loadPrimitiveOutline=m,this._loadForClassification=x,this._state=dx.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._batchLength=0,this._propertyTable=void 0,this._batchTable=void 0,this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(Pg.prototype=Object.create(Yi.prototype),Pg.prototype.constructor=Pg);Object.defineProperties(Pg.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Pg.prototype.load=function(){if(l(this._promise))return this._promise;let e=lF.parse(this._arrayBuffer,this._byteOffset),t=e.batchLength,n=e.featureTableJson,i=e.featureTableBinary,o=e.batchTableJson,r=e.batchTableBinary,s=new Yh(n,i);t=s.getGlobalProperty("BATCH_LENGTH"),this._batchLength=t;let a=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(a)&&(this._transform=F.fromTranslation(h.fromArray(a))),this._batchTable={json:o,binary:r};let c=new vg({typedArray:e.gltf,upAxis:this._upAxis,forwardAxis:this._forwardAxis,gltfResource:this._b3dmResource,baseResource:this._baseResource,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadAttributesFor2D:this._loadAttributesFor2D,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline,loadForClassification:this._loadForClassification,renameBatchIdSemantic:!0});this._gltfLoader=c,this._state=dx.LOADING;let u=this;return this._promise=c.load().then(function(){if(!u.isDestroyed())return u._state=dx.PROCESSING,u}).catch(function(f){if(!u.isDestroyed())return H4e(u,f)}),this._promise};function H4e(e,t){return e.unload(),e._state=dx.FAILED,t=e.getError("Failed to load b3dm",t),Promise.reject(t)}Pg.prototype.process=function(e){if(this._state===dx.READY)return!0;if(this._state!==dx.PROCESSING||!this._gltfLoader.process(e))return!1;let n=this._gltfLoader.components;return n.transform=F.multiplyTransformation(this._transform,n.transform,n.transform),G4e(this,n),this._components=n,this._arrayBuffer=void 0,this._state=dx.READY,!0};function G4e(e,t){let n=e._batchTable,i=e._batchLength;if(i===0)return;let o;if(l(n.json))o=Ig({count:i,batchTable:n.json,binaryBody:n.binary});else{let a=new pl({name:Gh.BATCH_TABLE_CLASS_NAME,count:i});o=new na({schema:{},propertyTables:[a]})}let r=t.scene.nodes,s=r.length;for(let a=0;a<s;a++)ire(r[a]);t.structuralMetadata=o}function ire(e){let t=e.children.length;for(let i=0;i<t;i++)ire(e.children[i]);let n=e.primitives.length;for(let i=0;i<n;i++){let o=e.primitives[i],r=$t.getAttributeBySemantic(o,Ct.FEATURE_ID);if(l(r)){r.setIndex=0;let s=new z4e;s.propertyTableId=0,s.setIndex=0,s.positionalLabel="featureId_0",o.featureIds.push(s)}}}Pg.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),this._components=void 0,this._arrayBuffer=void 0};var uF=Pg;function Rg(e){e=y(e,y.EMPTY_OBJECT),this._geoJson=e.geoJson,this._components=void 0}l(Object.create)&&(Rg.prototype=Object.create(Yi.prototype),Rg.prototype.constructor=Rg);Object.defineProperties(Rg.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Rg.prototype.load=function(){return Promise.resolve(this)};Rg.prototype.process=function(e){return l(this._components)||(this._components=nHe(this._geoJson,e),this._geoJson=void 0),!0};function W4e(){this.lines=void 0,this.points=void 0,this.properties=void 0}function j4e(){this.features=[]}function eW(e){let t=e[0],n=e[1],i=y(e[2],0);return new h(t,n,i)}function tW(e){let t=e.length,n=new Array(t);for(let o=0;o<t;o++)n[o]=eW(e[o]);return[n]}function q4e(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=tW(e[i])[0];return n}function ore(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=tW(e[i])[0];return n}function Y4e(e){let t=e.length,n=[];for(let i=0;i<t;i++)Array.prototype.push.apply(n,ore(e[i]));return n}function X4e(e){return[eW(e)]}function K4e(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=eW(e[i]);return n}var $4e={LineString:tW,MultiLineString:q4e,MultiPolygon:Y4e,Polygon:ore,MultiPoint:K4e,Point:X4e},Z4e={LineString:Fe.LINES,MultiLineString:Fe.LINES,MultiPolygon:Fe.LINES,Polygon:Fe.LINES,MultiPoint:Fe.POINTS,Point:Fe.POINTS};function rre(e,t){if(!l(e.geometry))return;let n=e.geometry.type,i=$4e[n],o=Z4e[n],r=e.geometry.coordinates;if(!l(i)||!l(r))return;let s=new W4e;o===Fe.LINES?s.lines=i(r):o===Fe.POINTS&&(s.points=i(r)),s.properties=e.properties,t.features.push(s)}function Q4e(e,t){let n=e.features,i=n.length;for(let o=0;o<i;o++)rre(n[o],t)}var J4e={FeatureCollection:Q4e,Feature:rre},fF=new h;function eHe(e,t,n){let i=0,o=0,r=e.length;for(let M=0;M<r;M++){let L=e[M];if(l(L.lines)){let _=L.lines.length;for(let E=0;E<_;E++){let v=L.lines[E];i+=v.length,o+=(v.length-1)*2}}}let s=new Float32Array(i*3),a=new Float32Array(i),c=Be.createTypedArray(i,o),u=Be.fromTypedArray(c),f=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),d=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=0,g=0;for(let M=0;M<r;M++){let L=e[M];if(!l(L.lines))continue;let _=L.lines.length;for(let E=0;E<_;E++){let v=L.lines[E],I=v.length;for(let N=0;N<I;N++){let B=v[N],z=h.fromDegrees(B.x,B.y,B.z,ee.WGS84,fF),V=F.multiplyByPoint(t,z,fF);h.minimumByComponent(f,V,f),h.maximumByComponent(d,V,d),h.pack(V,s,p*3),a[p]=M,N<I-1&&(c[g*2]=p,c[g*2+1]=p+1,g++),p++}}}let m=yt.createVertexBuffer({typedArray:s,context:n.context,usage:Ve.STATIC_DRAW});m.vertexArrayDestroyable=!1;let x=yt.createVertexBuffer({typedArray:a,context:n.context,usage:Ve.STATIC_DRAW});x.vertexArrayDestroyable=!1;let b=yt.createIndexBuffer({typedArray:c,context:n.context,usage:Ve.STATIC_DRAW,indexDatatype:u});b.vertexArrayDestroyable=!1;let T=new Tn.Attribute;T.semantic=Ct.POSITION,T.componentDatatype=X.FLOAT,T.type=rn.VEC3,T.count=i,T.min=f,T.max=d,T.buffer=m;let C=new Tn.Attribute;C.semantic=Ct.FEATURE_ID,C.setIndex=0,C.componentDatatype=X.FLOAT,C.type=rn.SCALAR,C.count=i,C.buffer=x;let A=[T,C],S=new Tn.Material;S.unlit=!0;let w=new Tn.Indices;w.indexDatatype=u,w.count=c.length,w.buffer=b;let D=new Tn.FeatureIdAttribute;D.featureCount=r,D.propertyTableId=0,D.setIndex=0,D.positionalLabel="featureId_0";let O=[D],R=new Tn.Primitive;return R.attributes=A,R.indices=w,R.featureIds=O,R.primitiveType=Fe.LINES,R.material=S,R}function tHe(e,t,n){let i=0,o=e.length;for(let A=0;A<o;A++){let S=e[A];l(S.points)&&(i+=S.points.length)}let r=new Float32Array(i*3),s=new Float32Array(i),a=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),c=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),u=0;for(let A=0;A<o;A++){let S=e[A];if(!l(S.points))continue;let w=S.points.length;for(let D=0;D<w;D++){let O=S.points[D],R=h.fromDegrees(O.x,O.y,O.z,ee.WGS84,fF),M=F.multiplyByPoint(t,R,fF);h.minimumByComponent(a,M,a),h.maximumByComponent(c,M,c),h.pack(M,r,u*3),s[u]=A,u++}}let f=yt.createVertexBuffer({typedArray:r,context:n.context,usage:Ve.STATIC_DRAW});f.vertexArrayDestroyable=!1;let d=yt.createVertexBuffer({typedArray:s,context:n.context,usage:Ve.STATIC_DRAW});d.vertexArrayDestroyable=!1;let p=new Tn.Attribute;p.semantic=Ct.POSITION,p.componentDatatype=X.FLOAT,p.type=rn.VEC3,p.count=i,p.min=a,p.max=c,p.buffer=f;let g=new Tn.Attribute;g.semantic=Ct.FEATURE_ID,g.setIndex=0,g.componentDatatype=X.FLOAT,g.type=rn.SCALAR,g.count=i,g.buffer=d;let m=[p,g],x=new Tn.Material;x.unlit=!0;let b=new Tn.FeatureIdAttribute;b.featureCount=o,b.propertyTableId=0,b.setIndex=0,b.positionalLabel="featureId_0";let T=[b],C=new Tn.Primitive;return C.attributes=m,C.featureIds=T,C.primitiveType=Fe.POINTS,C.material=x,C}function nHe(e,t){let n=new j4e,i=J4e[e.type];l(i)&&i(e,n);let o=n.features,r=o.length;if(r===0)throw new ce("GeoJSON must have at least one feature");let s={};for(let M=0;M<r;M++){let L=o[M],_=y(L.properties,y.EMPTY_OBJECT);for(let E in _)_.hasOwnProperty(E)&&(l(s[E])||(s[E]=new Array(r)))}for(let M=0;M<r;M++){let L=o[M];for(let _ in s)if(s.hasOwnProperty(_)){let E=y(L.properties[_],"");s[_][M]=E}}let a=new Eg({count:r,properties:s}),u=[new pl({id:0,count:r,jsonMetadataTable:a})],f=rf.fromJson({}),d=new na({schema:f,propertyTables:u}),p=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),g=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),m=!1,x=!1;for(let M=0;M<r;M++){let L=o[M];if(l(L.lines)){m=!0;let _=L.lines.length;for(let E=0;E<_;E++){let v=L.lines[E],I=v.length;for(let N=0;N<I;N++)h.minimumByComponent(p,v[N],p),h.maximumByComponent(g,v[N],g)}}if(l(L.points)){x=!0;let _=L.points.length;for(let E=0;E<_;E++){let v=L.points[E];h.minimumByComponent(p,v,p),h.maximumByComponent(g,v,g)}}}let b=h.midpoint(p,g,new h),T=h.fromDegrees(b.x,b.y,b.z,ee.WGS84,new h),C=Bt.eastNorthUpToFixedFrame(T,ee.WGS84,new F),A=F.inverseTransformation(C,new F),S=[];m&&S.push(eHe(o,A,t)),x&&S.push(tHe(o,A,t));let w=new Tn.Node;w.index=0,w.primitives=S;let D=[w],O=new Tn.Scene;O.nodes=D;let R=new Tn.Components;return R.scene=O,R.nodes=D,R.transform=C,R.structuralMetadata=d,R}Rg.prototype.unload=function(){this._components=void 0};var dF=Rg;var hF={};hF._deprecationWarning=_s;var Og=Uint32Array.BYTES_PER_ELEMENT;hF.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=Og;let r=o.getUint32(t,!0);if(r!==1)throw new ce(`Only Instanced 3D Model version 1 is supported. Version ${r} is not.`);t+=Og;let s=o.getUint32(t,!0);t+=Og;let a=o.getUint32(t,!0);if(a===0)throw new ce("featureTableJsonByteLength is zero, the feature table must be defined.");t+=Og;let c=o.getUint32(t,!0);t+=Og;let u=o.getUint32(t,!0);t+=Og;let f=o.getUint32(t,!0);t+=Og;let d=o.getUint32(t,!0);if(d!==1&&d!==0)throw new ce(`Only glTF format 0 (uri) or 1 (embedded) are supported. Format ${d} is not.`);t+=Og;let p=Lo(i,t,a);t+=a;let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Lo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new ce("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):(hF._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{gltfFormat:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var mF=hF;var Dp={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},pF=Tn.Attribute,iHe=Tn.FeatureIdAttribute,are=Tn.Instances;function Ip(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,Mo.Y),u=y(e.forwardAxis,Mo.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.enablePick,!1);i=l(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._enablePick=g,this._state=Dp.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}l(Object.create)&&(Ip.prototype=Object.create(Yi.prototype),Ip.prototype.constructor=Ip);Object.defineProperties(Ip.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Ip.prototype.load=function(){if(l(this._promise))return this._promise;let e=mF.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new Yh(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!l(a))throw new ce("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(c)&&(this._transform=F.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let u={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let d=Zl(e.gltf);d=d.replace(/[\s\0]+$/,"");let p=this._baseResource.getDerivedResource({url:d});u.gltfResource=p,u.baseResource=p}else u.gltfResource=this._i3dmResource,u.typedArray=e.gltf;let f=new vg(u);return this._gltfLoader=f,this._state=Dp.LOADING,this._promise=f.load().then(()=>{if(!this.isDestroyed())return this._state=Dp.PROCESSING,this}).catch(d=>{if(!this.isDestroyed())throw oHe(this,d)}),this._promise};function oHe(e,t){return e.unload(),e._state=Dp.FAILED,e.getError("Failed to load i3dm",t)}Ip.prototype.process=function(e){if(this._state===Dp.READY)return!0;let t=this._gltfLoader,n=!1;if(this._state===Dp.PROCESSING&&(n=t.process(e)),!n)return!1;let i=t.components;return i.transform=F.multiplyTransformation(this._transform,i.transform,i.transform),aHe(this,i,e),rHe(this,i),this._components=i,this._arrayBuffer=void 0,this._state=Dp.READY,!0};function rHe(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(l(n.json))o=Ig({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new pl({name:Gh.BATCH_TABLE_CLASS_NAME,count:i});o=new na({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var _F=new h,nW=new Array(4),sHe=new F;function aHe(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",X.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,u=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),f=lHe(o,r),d;c&&(d=new Float32Array(4*r));let p;u&&(p=new Float32Array(3*r));let g=new Float32Array(r),m=h.unpackArray(f),x=new h,b=new h,T=new h,C=new h,A=new Z,S=new Ne,w=new Array(4),D=new h,O=new Array(3),R=new F;if(!l(s)||h.equals(h.unpack(s),h.ZERO)){let V=ae.fromPoints(m);for(i=0;i<m.length;i++)h.subtract(m[i],V.center,_F),f[3*i+0]=_F.x,f[3*i+1]=_F.y,f[3*i+2]=_F.z;let G=F.fromTranslation(V.center,sHe);t.transform=F.multiplyTransformation(G,t.transform,t.transform)}for(i=0;i<r;i++){x=h.clone(m[i]),l(s)&&h.add(x,h.unpack(s),x),c&&(uHe(o,a,i,S,x,T,b,C,A,R),Ne.pack(S,w,0),d[4*i+0]=w[0],d[4*i+1]=w[1],d[4*i+2]=w[2],d[4*i+3]=w[3]),u&&(fHe(o,i,D),h.pack(D,O,0),p[3*i+0]=O[0],p[3*i+1]=O[1],p[3*i+2]=O[2]);let V=o.getProperty("BATCH_ID",X.UNSIGNED_SHORT,1,i);l(V)||(V=i),g[i]=V}let M=new are;M.transformInWorldSpace=!0;let L=e._buffers,_=new pF;if(_.name="Instance Translation",_.semantic=ns.TRANSLATION,_.componentDatatype=X.FLOAT,_.type=rn.VEC3,_.count=r,_.typedArray=f,!c){let V=yt.createVertexBuffer({context:n.context,typedArray:f,usage:Ve.STATIC_DRAW});V.vertexArrayDestroyable=!1,L.push(V),_.buffer=V}if(M.attributes.push(_),c){let V=new pF;V.name="Instance Rotation",V.semantic=ns.ROTATION,V.componentDatatype=X.FLOAT,V.type=rn.VEC4,V.count=r,V.typedArray=d,M.attributes.push(V)}if(u){let V=new pF;if(V.name="Instance Scale",V.semantic=ns.SCALE,V.componentDatatype=X.FLOAT,V.type=rn.VEC3,V.count=r,c)V.typedArray=p;else{let G=yt.createVertexBuffer({context:n.context,typedArray:p,usage:Ve.STATIC_DRAW});G.vertexArrayDestroyable=!1,L.push(G),V.buffer=G}M.attributes.push(V)}let E=new pF;E.name="Instance Feature ID",E.setIndex=0,E.semantic=ns.FEATURE_ID,E.componentDatatype=X.FLOAT,E.type=rn.SCALAR,E.count=r;let v=yt.createVertexBuffer({context:n.context,typedArray:g,usage:Ve.STATIC_DRAW});v.vertexArrayDestroyable=!1,L.push(v),E.buffer=v,M.attributes.push(E);let I=new iHe;I.propertyTableId=0,I.setIndex=0,I.positionalLabel="instanceFeatureId_0",M.featureIds.push(I);let N=t.nodes,B=N.length,z=!1;for(i=0;i<B;i++){let V=N[i];V.primitives.length>0&&(V.instances=z?cHe(M):M,z=!0)}}function cHe(e){let t=new are;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=We(n[o],!1);t.attributes.push(r)}return t.featureIds=e.featureIds,t}function lHe(e,t){if(e.hasProperty("POSITION"))return e.getPropertyArray("POSITION",X.FLOAT,3);if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(i))throw new ce("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let o=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(o))throw new ce("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let r=new Float32Array(n.length);for(let s=0;s<n.length/3;s++)for(let a=0;a<3;a++){let c=3*s+a;r[c]=n[c]/65535*o[a]+i[a]}return r}else throw new ce("Either POSITION or POSITION_QUANTIZED must be defined for each instance.")}var sre=new Array(4);function uHe(e,t,n,i,o,r,s,a,c,u){let f=e.getProperty("NORMAL_UP",X.FLOAT,3,n,nW),d=e.getProperty("NORMAL_RIGHT",X.FLOAT,3,n,sre),p=!1;if(l(f)){if(!l(d))throw new ce("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");h.unpack(f,0,r),h.unpack(d,0,s),p=!0}else{let g=e.getProperty("NORMAL_UP_OCT32P",X.UNSIGNED_SHORT,2,n,nW),m=e.getProperty("NORMAL_RIGHT_OCT32P",X.UNSIGNED_SHORT,2,n,sre);if(l(g)){if(!l(m))throw new ce("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");Fn.octDecodeInRange(g[0],g[1],65535,r),Fn.octDecodeInRange(m[0],m[1],65535,s),p=!0}else t?(Bt.eastNorthUpToFixedFrame(o,ee.WGS84,u),F.getMatrix3(u,c)):Z.clone(Z.IDENTITY,c)}p&&(h.cross(s,r,a),h.normalize(a,a),Z.setColumn(c,0,s,c),Z.setColumn(c,1,r,c),Z.setColumn(c,2,a,c)),Ne.fromRotationMatrix(c,i)}function fHe(e,t,n){n=h.fromElements(1,1,1,n);let i=e.getProperty("SCALE",X.FLOAT,1,t);l(i)&&h.multiplyByScalar(n,i,n);let o=e.getProperty("SCALE_NON_UNIFORM",X.FLOAT,3,t,nW);l(o)&&(n.x*=o[0],n.y*=o[1],n.z*=o[2])}function dHe(e){let t=e._buffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}Ip.prototype.isUnloaded=function(){return this._state===Dp.UNLOADED};Ip.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),dHe(this),this._components=void 0,this._arrayBuffer=void 0,this._state=Dp.UNLOADED};var gF=Ip;var hHe={STOPPED:0,ANIMATING:1},Xh=Object.freeze(hHe);function MC(){this.times=void 0,this.points=void 0,de.throwInstantiationError()}MC.getPointType=function(e){if(typeof e=="number")return Number;if(e instanceof h)return h;if(e instanceof Ne)return Ne};MC.prototype.evaluate=de.throwInstantiationError;MC.prototype.findTimeInterval=function(e,t){let n=this.times,i=n.length;if(t=y(t,0),e>=n[t]){if(t+1<i&&e<n[t+1])return t;if(t+2<i&&e<n[t+2])return t+1}else if(t-1>=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o<i-1&&!(e>=n[o]&&e<n[o+1]);++o);else for(o=t-1;o>=0&&!(e>=n[o]&&e<n[o+1]);--o);return o===i-1&&(o=i-2),o};MC.prototype.wrapTime=function(e){let t=this.times,n=t[t.length-1],i=t[0],o=n-i,r;return e<i&&(r=Math.floor((i-e)/o)+1,e+=r*o),e>n&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};MC.prototype.clampTime=function(e){let t=this.times;return P.clamp(e,t[0],t[t.length-1])};var to=MC;function LC(e){this._value=e,this._valueType=to.getPointType(e)}Object.defineProperties(LC.prototype,{value:{get:function(){return this._value}}});LC.prototype.findTimeInterval=function(e){};LC.prototype.wrapTime=function(e){return 0};LC.prototype.clampTime=function(e){return 0};LC.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var yF=LC;function NC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=to.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(NC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});NC.prototype.findTimeInterval=to.prototype.findTimeInterval;NC.prototype.wrapTime=to.prototype.wrapTime;NC.prototype.clampTime=to.prototype.clampTime;NC.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(l(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var hx=NC;var cre={};cre.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a<r.length;a++)r[a]=new h,s[a]=new h;o[0]=n[0]/t[0],r[0]=h.multiplyByScalar(i[0],1/t[0],r[0]);let c;for(a=1;a<o.length;++a)c=1/(t[a]-o[a-1]*e[a-1]),o[a]=n[a]*c,r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]);for(c=1/(t[a]-o[a-1]*e[a-1]),r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]),s[s.length-1]=r[r.length-1],a=s.length-2;a>=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var xv=cre;var lre=[],ure=[],fre=[],dre=[];function mHe(e,t,n){let i=lre,o=fre,r=ure,s=dre;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(l(c)||(c=s[0]=new h),h.clone(t,c),a=1;a<i.length-1;++a)i[a]=o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c);return i[a]=0,o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c),r[a+1]=1,c=s[a+1],l(c)||(c=s[a+1]=new h),h.clone(n,c),xv.solve(i,r,o,s)}function pHe(e){let t=lre,n=fre,i=ure,o=dre;t.length=n.length=e.length-1,i.length=o.length=e.length;let r;t[0]=n[0]=1,i[0]=2;let s=o[0];for(l(s)||(s=o[0]=new h),h.subtract(e[1],e[0],s),h.multiplyByScalar(s,3,s),r=1;r<t.length;++r)t[r]=n[r]=1,i[r]=4,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r+1],e[r-1],s),h.multiplyByScalar(s,3,s);return i[r]=2,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r],e[r-1],s),h.multiplyByScalar(s,3,s),xv.solve(t,i,n,o)}function _l(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.inTangents,o=e.outTangents;this._times=n,this._points=t,this._pointType=to.getPointType(t[0]),this._inTangents=i,this._outTangents=o,this._lastTimeIndex=0}Object.defineProperties(_l.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}});_l.createC1=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.tangents,o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new _l({times:t,points:n,inTangents:r,outTangents:o})};_l.createNaturalCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points;if(n.length<3)return new hx({points:n,times:t});let i=pHe(n),o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new _l({times:t,points:n,inTangents:r,outTangents:o})};_l.createClampedCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.firstTangent,o=e.lastTangent,r=to.getPointType(n[0]);if(n.length<3)return new hx({points:n,times:t});let s=mHe(n,i,o),a=s.slice(0,s.length-1),c=s.slice(1,s.length);return new _l({times:t,points:n,inTangents:c,outTangents:a})};_l.hermiteCoefficientMatrix=new F(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0);_l.prototype.findTimeInterval=to.prototype.findTimeInterval;var _He=new oe,FC=new h;_l.prototype.wrapTime=to.prototype.wrapTime;_l.prototype.clampTime=to.prototype.clampTime;_l.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this.inTangents,r=this.outTangents;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let s=this._lastTimeIndex,a=i[s+1]-i[s],c=(e-i[s])/a,u=_He;u.z=c,u.y=c*c,u.x=u.y*c,u.w=1;let f=F.multiplyByVector(_l.hermiteCoefficientMatrix,u,u);f.z*=a,f.w*=a;let d=this._pointType;return d===Number?n[s]*f.x+n[s+1]*f.y+r[s]*f.z+o[s]*f.w:(l(t)||(t=new d),t=d.multiplyByScalar(n[s],f.x,t),d.multiplyByScalar(n[s+1],f.y,FC),d.add(t,FC,t),d.multiplyByScalar(r[s],f.z,FC),d.add(t,FC,t),d.multiplyByScalar(o[s],f.w,FC),d.add(t,FC,t))};var mx=_l;function BC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=to.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(BC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});BC.prototype.findTimeInterval=to.prototype.findTimeInterval;BC.prototype.wrapTime=to.prototype.wrapTime;BC.prototype.clampTime=to.prototype.clampTime;BC.prototype.evaluate=function(e,t){let n=this.points;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let i=this._lastTimeIndex,o=this._pointType;return o===Number?n[i]:(l(t)||(t=new o),o.clone(n[i],t))};var xF=BC;function gHe(e){let t=e.points,n=e.times;return function(i,o){l(o)||(o=new Ne);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=t[r],c=t[r+1];return Ne.fastSlerp(a,c,s,o)}}function kC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._evaluateFunction=gHe(this),this._lastTimeIndex=0}Object.defineProperties(kC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});kC.prototype.findTimeInterval=to.prototype.findTimeInterval;kC.prototype.wrapTime=to.prototype.wrapTime;kC.prototype.clampTime=to.prototype.clampTime;kC.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var bF=kC;var VC=Tn.AnimatedPropertyType;function iW(e){e=y(e,y.EMPTY_OBJECT);let t=e.channel,n=e.runtimeAnimation,i=e.runtimeNode;this._channel=t,this._runtimeAnimation=n,this._runtimeNode=i,this._splines=[],this._path=void 0,CHe(this)}Object.defineProperties(iW.prototype,{channel:{get:function(){return this._channel}},runtimeAnimation:{get:function(){return this._runtimeAnimation}},runtimeNode:{get:function(){return this._runtimeNode}},splines:{get:function(){return this._splines}}});function yHe(e,t){let n=[],i=[],o=[],r=t.length;for(let s=0;s<r;s+=3)i.push(t[s]),n.push(t[s+1]),o.push(t[s+2]);return i.splice(0,1),o.length=o.length-1,new mx({times:e,points:n,inTangents:i,outTangents:o})}function hre(e,t,n,i){if(e.length===1&&t.length===1)return new yF(t[0]);switch(n){case qh.STEP:return new xF({times:e,points:t});case qh.CUBICSPLINE:return yHe(e,t);case qh.LINEAR:return i===VC.ROTATION?new bF({times:e,points:t}):new hx({times:e,points:t})}}function xHe(e,t,n,i,o){let r=[];if(i===VC.WEIGHTS){let a=t.length/o,c,u;for(c=0;c<o;c++){let f=new Array(a),d=c;if(n===qh.CUBICSPLINE)for(u=0;u<a;u+=3)f[u]=t[d],f[u+1]=t[d+o],f[u+2]=t[d+2*o],d+=o*3;else for(u=0;u<a;u++)f[u]=t[d],d+=o;r.push(hre(e,f,n,i))}}else r.push(hre(e,t,n,i));return r}var bHe=new h,THe=new Ne;function CHe(e){let t=e._channel,n=t.sampler,i=n.input,o=n.output,r=n.interpolation,a=t.target.path,c=e._runtimeNode,u=l(c.morphWeights)?c.morphWeights.length:1,f=xHe(i,o,r,a,u);e._splines=f,e._path=a}iW.prototype.animate=function(e){let t=this._splines,n=this._path,i=this._runtimeAnimation.model,o=this._runtimeNode;if(n===VC.WEIGHTS){let r=o.morphWeights,s=r.length;for(let a=0;a<s;a++){let c=t[a],u=i.clampAnimations?c.clampTime(e):c.wrapTime(e);r[a]=c.evaluate(u)}}else{if(o.userAnimated)return;{let r=t[0],s=i.clampAnimations?r.clampTime(e):r.wrapTime(e);n===VC.TRANSLATION||n===VC.SCALE?o[n]=r.evaluate(s,bHe):n===VC.ROTATION&&(o[n]=r.evaluate(s,THe))}}};var TF=iW;function oW(e,t,n){this._animation=t,this._name=t.name,this._runtimeChannels=void 0,this._startTime=K.clone(n.startTime),this._delay=y(n.delay,0),this._stopTime=K.clone(n.stopTime),this.removeOnStop=y(n.removeOnStop,!1),this._multiplier=y(n.multiplier,1),this._reverse=y(n.reverse,!1),this._loop=y(n.loop,ou.NONE),this._animationTime=n.animationTime,this._prevAnimationDelta=void 0,this.start=new me,this.update=new me,this.stop=new me,this._state=Xh.STOPPED,this._computedStartTime=void 0,this._duration=void 0;let i=this;this._raiseStartEvent=function(){i.start.raiseEvent(e,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(e,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(e,i)},this._model=e,this._localStartTime=void 0,this._localStopTime=void 0,AHe(this)}Object.defineProperties(oW.prototype,{animation:{get:function(){return this._animation}},name:{get:function(){return this._name}},runtimeChannels:{get:function(){return this._runtimeChannels}},model:{get:function(){return this._model}},localStartTime:{get:function(){return this._localStartTime}},localStopTime:{get:function(){return this._localStopTime}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}});function AHe(e){let t=Number.MAX_VALUE,n=-Number.MAX_VALUE,i=e._model.sceneGraph,r=e._animation.channels,s=r.length,a=[];for(let c=0;c<s;c++){let u=r[c],f=u.target;if(!l(f))continue;let d=f.node.index,p=i._runtimeNodes[d],g=new TF({channel:u,runtimeAnimation:e,runtimeNode:p}),m=u.sampler.input;t=Math.min(t,m[0]),n=Math.max(n,m[m.length-1]),a.push(g)}e._runtimeChannels=a,e._localStartTime=t,e._localStopTime=n}oW.prototype.animate=function(e){let t=this._runtimeChannels,n=t.length;for(let i=0;i<n;i++)t[i].animate(e)};var CF=oW;function Pp(e){this.animationAdded=new me,this.animationRemoved=new me,this.animateWhilePaused=!1,this._model=e,this._runtimeAnimations=[],this._previousTime=void 0}Object.defineProperties(Pp.prototype,{length:{get:function(){return this._runtimeAnimations.length}},model:{get:function(){return this._model}}});function rW(e,t,n){let i=e._model,o=new CF(i,t,n);return e._runtimeAnimations.push(o),e.animationAdded.raiseEvent(i,o),o}Pp.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=e.index;if(l(i))return rW(this,n[i],e);let o=n.length;for(let r=0;r<o;++r)if(n[r].name===e.name){i=r;break}return rW(this,n[i],e)};Pp.prototype.addAll=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=[],o=n.length;for(let r=0;r<o;++r){let s=rW(this,n[r],e);i.push(s)}return i};Pp.prototype.remove=function(e){if(!l(e))return!1;let t=this._runtimeAnimations,n=t.indexOf(e);return n!==-1?(t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0):!1};Pp.prototype.removeAll=function(){let e=this._model,t=this._runtimeAnimations,n=t.length;this._runtimeAnimations.length=0;for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])};Pp.prototype.contains=function(e){return l(e)?this._runtimeAnimations.indexOf(e)!==-1:!1};Pp.prototype.get=function(e){return this._runtimeAnimations[e]};var AF=[];function EHe(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}Pp.prototype.update=function(e){let t=this._runtimeAnimations,n=t.length;if(n===0)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&K.equals(e.time,this._previousTime))return!1;this._previousTime=K.clone(e.time,this._previousTime);let i=!1,o=e.time,r=this._model;for(let s=0;s<n;++s){let a=t[s];l(a._computedStartTime)||(a._computedStartTime=K.addSeconds(y(a.startTime,o),a.delay,new K)),l(a._duration)||(a._duration=a.localStopTime*(1/a.multiplier));let c=a._computedStartTime,u=a._duration,f=a.stopTime,d=K.lessThanOrEquals(c,o),p=l(f)&&K.greaterThan(o,f),g=0;if(u!==0){let b=K.secondsDifference(p?f:o,c);g=l(a._animationTime)?a._animationTime(u,b):b/u}let m=a.loop===ou.REPEAT||a.loop===ou.MIRRORED_REPEAT,x=(d||m&&!l(a.startTime))&&(g<=1||m)&&!p;if(g===a._prevAnimationDelta){let b=a._state===Xh.STOPPED;if(x!==b)continue}if(a._prevAnimationDelta=g,x||a._state===Xh.ANIMATING){if(x&&a._state===Xh.STOPPED&&(a._state=Xh.ANIMATING,a.start.numberOfListeners>0&&e.afterRender.push(a._raiseStartEvent)),a.loop===ou.REPEAT)g=g-Math.floor(g);else if(a.loop===ou.MIRRORED_REPEAT){let T=Math.floor(g),C=g-T;g=T%2===1?1-C:C}a.reverse&&(g=1-g);let b=g*u*a.multiplier;b=P.clamp(b,a.localStartTime,a.localStopTime),a.animate(b),a.update.numberOfListeners>0&&(a._updateEventTime=b,e.afterRender.push(a._raiseUpdateEvent)),i=!0,x||(a._state=Xh.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&AF.push(a))}}n=AF.length;for(let s=0;s<n;++s){let a=AF[s];t.splice(t.indexOf(a),1),e.afterRender.push(EHe(this,r,a))}return AF.length=0,i};var EF=Pp;function px(e){this._model=e.model,this._featureTable=e.featureTable,this._featureId=e.featureId,this._color=void 0}Object.defineProperties(px.prototype,{show:{get:function(){return this._featureTable.getShow(this._featureId)},set:function(e){this._featureTable.setShow(this._featureId,e)}},color:{get:function(){return l(this._color)||(this._color=new H),this._featureTable.getColor(this._featureId,this._color)},set:function(e){this._featureTable.setColor(this._featureId,e)}},primitive:{get:function(){return this._model}},featureTable:{get:function(){return this._featureTable}},featureId:{get:function(){return this._featureId}}});px.prototype.hasProperty=function(e){return this._featureTable.hasProperty(this._featureId,e)};px.prototype.getProperty=function(e){return this._featureTable.getProperty(this._featureId,e)};px.prototype.getPropertyInherited=function(e){return this._featureTable.hasPropertyBySemantic(this._featureId,e)?this._featureTable.getPropertyBySemantic(this._featureId,e):this._featureTable.getProperty(this._featureId,e)};px.prototype.getPropertyIds=function(e){return this._featureTable.getPropertyIds(e)};px.prototype.setProperty=function(e,t){return this._featureTable.setProperty(this._featureId,e,t)};var SF=px;var bv={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};bv.getStyleCommandsNeeded=function(e,t){return t===0?bv.ALL_OPAQUE:t===e?bv.ALL_TRANSLUCENT:bv.OPAQUE_AND_TRANSLUCENT};var Kh=Object.freeze(bv);var Mg={GLTF:"GLTF",TILE_GLTF:"TILE_GLTF",TILE_B3DM:"B3DM",TILE_I3DM:"I3DM",TILE_PNTS:"PNTS",TILE_GEOJSON:"TILE_GEOJSON"};Mg.is3DTiles=function(e){switch(e){case Mg.TILE_GLTF:case Mg.TILE_B3DM:case Mg.TILE_I3DM:case Mg.TILE_PNTS:case Mg.TILE_GEOJSON:return!0;case Mg.GLTF:return!1}};var gr=Object.freeze(Mg);function Mr(e){let t=e.model,n=e.propertyTable;this._propertyTable=n,this._model=t,this._features=void 0,this._featuresLength=0,this._batchTexture=void 0,this._styleCommandsNeededDirty=!1,this._styleCommandsNeeded=Kh.ALL_OPAQUE,SHe(this)}Object.defineProperties(Mr.prototype,{batchTexture:{get:function(){return this._batchTexture}},featuresLength:{get:function(){return this._featuresLength}},batchTextureByteLength:{get:function(){return l(this._batchTexture)?this._batchTexture.byteLength:0}},styleCommandsNeededDirty:{get:function(){return this._styleCommandsNeededDirty}}});function SHe(e){let t=e._model,n=gr.is3DTiles(t.type),i=e._propertyTable.count;if(i===0)return;let o,r=new Array(i);if(n){let s=t.content;for(o=0;o<i;o++)r[o]=new Js(s,o)}else for(o=0;o<i;o++)r[o]=new SF({model:t,featureId:o,featureTable:e});e._features=r,e._featuresLength=i,e._batchTexture=new hl({featuresLength:i,owner:e,statistics:n?t.content.tileset.statistics:void 0})}Mr.prototype.update=function(e){this._styleCommandsNeededDirty=!1,this._batchTexture.update(void 0,e);let t=Kh.getStyleCommandsNeeded(this._featuresLength,this._batchTexture.translucentFeaturesLength);this._styleCommandsNeeded!==t&&(this._styleCommandsNeededDirty=!0,this._styleCommandsNeeded=t)};Mr.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};Mr.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};Mr.prototype.getShow=function(e){return this._batchTexture.getShow(e)};Mr.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};Mr.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};Mr.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};Mr.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};Mr.prototype.getFeature=function(e){return this._features[e]};Mr.prototype.hasProperty=function(e,t){return this._propertyTable.hasProperty(e,t)};Mr.prototype.hasPropertyBySemantic=function(e,t){return this._propertyTable.hasPropertyBySemantic(e,t)};Mr.prototype.getProperty=function(e,t){return this._propertyTable.getProperty(e,t)};Mr.prototype.getPropertyBySemantic=function(e,t){return this._propertyTable.getPropertyBySemantic(e,t)};Mr.prototype.getPropertyIds=function(e){return this._propertyTable.getPropertyIds(e)};Mr.prototype.setProperty=function(e,t,n){return this._propertyTable.setProperty(e,t,n)};Mr.prototype.isClass=function(e,t){return this._propertyTable.isClass(e,t)};Mr.prototype.isExactClass=function(e,t){return this._propertyTable.isExactClass(e,t)};Mr.prototype.getExactClassName=function(e){return this._propertyTable.getExactClassName(e)};var wHe=new H;Mr.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(hl.DEFAULT_COLOR_VALUE),this.setAllShow(hl.DEFAULT_SHOW_VALUE);return}for(let t=0;t<this._featuresLength;t++){let n=this.getFeature(t),i=l(e.color)?y(e.color.evaluateColor(n,wHe),hl.DEFAULT_COLOR_VALUE):hl.DEFAULT_COLOR_VALUE,o=l(e.show)?y(e.show.evaluate(n),hl.DEFAULT_SHOW_VALUE):hl.DEFAULT_SHOW_VALUE;this.setColor(t,i),this.setShow(t,o)}};Mr.prototype.isDestroyed=function(){return!1};Mr.prototype.destroy=function(e){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var wF=Mr;var mre={name:"TilesetPipelineStage"};mre.process=function(e,t,n){if(t.hasSkipLevelOfDetail(n)){e.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,pe.FRAGMENT);let r={u_polygonOffset:function(){return U.ZERO}};e.uniformMap=xt(r,e.uniformMap),e.hasSkipLevelOfDetail=!0}let i=e.renderStateOptions;i.stencilTest=zt.setCesium3DTileBit(),i.stencilMask=zt.CESIUM_3D_TILE_MASK};var vF=mre;var DF=`// robust iterative solution without trig functions -// https://github.com/0xfaded/ellipse_demo/issues/1 -// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse -// -// This version uses only a single iteration for best performance. For fog -// rendering, the difference is negligible. -vec2 nearestPointOnEllipseFast(vec2 pos, vec2 radii) { - vec2 p = abs(pos); - vec2 inverseRadii = 1.0 / radii; - vec2 evoluteScale = (radii.x * radii.x - radii.y * radii.y) * vec2(1.0, -1.0) * inverseRadii; + // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. + float rayPositionLength = primaryRayAtmosphereIntersect.start; + // (1) Outside the atmosphere: constant rayStepLength + // (2) Inside atmosphere: variable rayStepLength to compensate the rough rendering of the smaller number of ray steps + float totalRayLength = primaryRayAtmosphereIntersect.stop - rayPositionLength; + float rayStepLengthIncrease = w_inside_atmosphere * ((1.0 - w_stop_gt_lprl) * totalRayLength / (float(PRIMARY_STEPS * (PRIMARY_STEPS + 1)) / 2.0)); + float rayStepLength = max(1.0 - w_inside_atmosphere, w_stop_gt_lprl) * totalRayLength / max(7.0 * w_inside_atmosphere, float(PRIMARY_STEPS)); - // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) - // but store the cos and sin of t in a vec2 for efficiency. - // Initial guess: t = cos(pi/4) - vec2 tTrigs = vec2(0.70710678118); - vec2 v = radii * tTrigs; + vec3 rayleighAccumulation = vec3(0.0); + vec3 mieAccumulation = vec3(0.0); + vec2 opticalDepth = vec2(0.0); + vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); - // Find the evolute of the ellipse (center of curvature) at v. - vec2 evolute = evoluteScale * tTrigs * tTrigs * tTrigs; - // Find the (approximate) intersection of p - evolute with the ellipsoid. - vec2 q = normalize(p - evolute) * length(v - evolute); - // Update the estimate of t. - tTrigs = (q + evolute) * inverseRadii; - tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); - v = radii * tTrigs; + // Sample positions on the primary ray. + for (int i = 0; i < PRIMARY_STEPS_MAX; ++i) { - return v * sign(pos); -} + // The loop should be: for (int i = 0; i < PRIMARY_STEPS; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (i >= PRIMARY_STEPS) { + break; + } -vec3 computeEllipsoidPositionWC(vec3 positionMC) { - // Get the world-space position and project onto a meridian plane of - // the ellipsoid - vec3 positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; + // Calculate sample position along viewpoint ray. + vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); - vec2 positionEllipse = vec2(length(positionWC.xy), positionWC.z); - vec2 nearestPoint = nearestPointOnEllipseFast(positionEllipse, czm_ellipsoidRadii.xz); + // Calculate height of sample position above ellipsoid. + float sampleHeight = length(samplePosition) - atmosphereInnerRadius; - // Reconstruct a 3D point in world space - return vec3(nearestPoint.x * normalize(positionWC.xy), nearestPoint.y); -} + // Calculate and accumulate density of particles at the sample position. + vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; + opticalDepth += sampleDensity; -void applyFog(inout vec4 color, vec4 groundAtmosphereColor, vec3 lightDirection, float distanceToCamera) { + // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. + czm_ray lightRay = czm_ray(samplePosition, lightDirection); + czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); - vec3 fogColor = groundAtmosphereColor.rgb; + float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); + float lightPositionLength = 0.0; - // If there is dynamic lighting, apply that to the fog. - const float NONE = 0.0; - if (czm_atmosphereDynamicLighting != NONE) { - float darken = clamp(dot(normalize(czm_viewerPositionWC), lightDirection), czm_fogMinimumBrightness, 1.0); - fogColor *= darken; - } + vec2 lightOpticalDepth = vec2(0.0); - // Tonemap if HDR rendering is disabled - #ifndef HDR - fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); - fogColor.rgb = czm_inverseGamma(fogColor.rgb); - #endif + // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. + for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { - // Matches the constant in GlobeFS.glsl. This makes the fog falloff - // more gradual. - const float fogModifier = 0.15; - vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, fogModifier); - color = vec4(withFog, color.a); -} + // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (j >= LIGHT_STEPS) { + break; + } -void atmosphereStage(inout vec4 color, in ProcessedAttributes attributes) { - vec3 rayleighColor; - vec3 mieColor; - float opacity; + // Calculate sample position along light ray. + vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); - vec3 positionWC; - vec3 lightDirection; + // Calculate height of the light sample position above ellipsoid. + float lightHeight = length(lightPosition) - atmosphereInnerRadius; - // When the camera is in space, compute the position per-fragment for - // more accurate ground atmosphere. All other cases will use - // - // The if condition will be added in https://github.com/CesiumGS/cesium/issues/11717 - if (false) { - positionWC = computeEllipsoidPositionWC(attributes.positionMC); - lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); + // Calculate density of photons at the light sample position. + lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; - // The fog color is derived from the ground atmosphere color - czm_computeGroundAtmosphereScattering( - positionWC, - lightDirection, - rayleighColor, - mieColor, - opacity - ); - } else { - positionWC = attributes.positionWC; - lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); - rayleighColor = v_atmosphereRayleighColor; - mieColor = v_atmosphereMieColor; - opacity = v_atmosphereOpacity; - } + // Increment distance on light ray. + lightPositionLength += lightStepLength; + } - //color correct rayleigh and mie colors - const bool ignoreBlackPixels = true; - rayleighColor = czm_applyHSBShift(rayleighColor, czm_atmosphereHsbShift, ignoreBlackPixels); - mieColor = czm_applyHSBShift(mieColor, czm_atmosphereHsbShift, ignoreBlackPixels); + // Compute attenuation via the primary ray and the light ray. + vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); - vec4 groundAtmosphereColor = czm_computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + // Accumulate the scattering. + rayleighAccumulation += sampleDensity.x * attenuation; + mieAccumulation += sampleDensity.y * attenuation; - if (u_isInFog) { - float distanceToCamera = length(attributes.positionEC); - applyFog(color, groundAtmosphereColor, lightDirection, distanceToCamera); - } else { - // Ground atmosphere + // Increment distance on primary ray. + rayPositionLength += (rayStepLength += rayStepLengthIncrease); } -} -`;var IF=`void atmosphereStage(ProcessedAttributes attributes) { - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_positionWC, czm_atmosphereDynamicLighting); - czm_computeGroundAtmosphereScattering( - // This assumes the geometry stage came before this. - v_positionWC, - lightDirection, - v_atmosphereRayleighColor, - v_atmosphereMieColor, - v_atmosphereOpacity - ); -} -`;var pre={name:"AtmospherePipelineStage"};pre.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_ATMOSPHERE",void 0,pe.BOTH),i.addDefine("COMPUTE_POSITION_WC_ATMOSPHERE",void 0,pe.BOTH),i.addVarying("vec3","v_atmosphereRayleighColor"),i.addVarying("vec3","v_atmosphereMieColor"),i.addVarying("float","v_atmosphereOpacity"),i.addVertexLines([IF]),i.addFragmentLines([DF]),i.addUniform("bool","u_isInFog",pe.FRAGMENT),e.uniformMap.u_isInFog=function(){let o=h.distance(n.camera.positionWC,t.boundingSphere.center);return P.fog(o,n.fog.density)>P.EPSILON3}};var PF=pre;var RF=`/** - * Compute some metrics for a procedural sky lighting model - * - * @param {vec3} positionWC The position of the fragment in world coordinates. - * @param {vec3} reflectionWC A unit vector in the direction of the reflection, in world coordinates. - * @return {vec3} The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - */ -vec3 getProceduralSkyMetrics(vec3 positionWC, vec3 reflectionWC) -{ - // Figure out if the reflection vector hits the ellipsoid - float horizonDotNadir = 1.0 - min(1.0, czm_ellipsoidRadii.x / length(positionWC)); - float reflectionDotNadir = dot(reflectionWC, normalize(positionWC)); - float atmosphereHeight = 0.05; - float smoothstepHeight = smoothstep(0.0, atmosphereHeight, horizonDotNadir); - return vec3(horizonDotNadir, reflectionDotNadir, smoothstepHeight); -} + // Compute the scattering amount. + rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; + mieColor = u_atmosphereMieCoefficient * mieAccumulation; -/** - * Compute the diffuse irradiance for a procedural sky lighting model. - * - * @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - * @return {vec3} The computed diffuse irradiance. - */ -vec3 getProceduralDiffuseIrradiance(vec3 skyMetrics) -{ - vec3 blueSkyDiffuseColor = vec3(0.7, 0.85, 0.9); - float diffuseIrradianceFromEarth = (1.0 - skyMetrics.x) * (skyMetrics.y * 0.25 + 0.75) * skyMetrics.z; - float diffuseIrradianceFromSky = (1.0 - skyMetrics.z) * (1.0 - (skyMetrics.y * 0.25 + 0.25)); - return blueSkyDiffuseColor * clamp(diffuseIrradianceFromEarth + diffuseIrradianceFromSky, 0.0, 1.0); + // Compute the transmittance i.e. how much light is passing through the atmosphere. + opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); } -/** - * Compute the specular irradiance for a procedural sky lighting model. - * - * @param {vec3} reflectionWC The reflection vector in world coordinates. - * @param {vec3} skyMetrics The dot products of the horizon and reflection directions with the nadir, and an atmosphere boundary distance. - * @param {float} roughness The roughness of the material. - * @return {vec3} The computed specular irradiance. - */ -vec3 getProceduralSpecularIrradiance(vec3 reflectionWC, vec3 skyMetrics, float roughness) -{ - // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. - reflectionWC.x = -reflectionWC.x; - reflectionWC = -normalize(czm_temeToPseudoFixed * reflectionWC); - reflectionWC.x = -reflectionWC.x; - - float inverseRoughness = 1.0 - roughness; - inverseRoughness *= inverseRoughness; - vec3 sceneSkyBox = czm_textureCube(czm_environmentMap, reflectionWC).rgb * inverseRoughness; - - // Compute colors at different angles relative to the horizon - vec3 belowHorizonColor = mix(vec3(0.1, 0.15, 0.25), vec3(0.4, 0.7, 0.9), skyMetrics.z); - vec3 nadirColor = belowHorizonColor * 0.5; - vec3 aboveHorizonColor = mix(vec3(0.9, 1.0, 1.2), belowHorizonColor, roughness * 0.5); - vec3 blueSkyColor = mix(vec3(0.18, 0.26, 0.48), aboveHorizonColor, skyMetrics.y * inverseRoughness * 0.5 + 0.75); - vec3 zenithColor = mix(blueSkyColor, sceneSkyBox, skyMetrics.z); - - // Compute blend zones - float blendRegionSize = 0.1 * ((1.0 - inverseRoughness) * 8.0 + 1.1 - skyMetrics.x); - float blendRegionOffset = roughness * -1.0; - float farAboveHorizon = clamp(skyMetrics.x - blendRegionSize * 0.5 + blendRegionOffset, 1.0e-10 - blendRegionSize, 0.99999); - float aroundHorizon = clamp(skyMetrics.x + blendRegionSize * 0.5, 1.0e-10 - blendRegionSize, 0.99999); - float farBelowHorizon = clamp(skyMetrics.x + blendRegionSize * 1.5, 1.0e-10 - blendRegionSize, 0.99999); +vec4 computeAtmosphereColor( + vec3 positionWC, + vec3 lightDirection, + vec3 rayleighColor, + vec3 mieColor, + float opacity +) { + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - // Blend colors - float notDistantRough = (1.0 - skyMetrics.x * roughness * 0.8); - vec3 specularIrradiance = mix(zenithColor, aboveHorizonColor, smoothstep(farAboveHorizon, aroundHorizon, skyMetrics.y) * notDistantRough); - specularIrradiance = mix(specularIrradiance, belowHorizonColor, smoothstep(aroundHorizon, farBelowHorizon, skyMetrics.y) * inverseRoughness); - specularIrradiance = mix(specularIrradiance, nadirColor, smoothstep(farBelowHorizon, 1.0, skyMetrics.y) * inverseRoughness); + float cosAngle = dot(cameraToPositionWCDirection, lightDirection); + float cosAngleSq = cosAngle * cosAngle; - return specularIrradiance; -} + float G = u_atmosphereMieAnisotropy; + float GSq = G * G; -#ifdef USE_SUN_LUMINANCE -float clampedDot(vec3 x, vec3 y) -{ - return clamp(dot(x, y), 0.001, 1.0); -} -/** - * Sun luminance following the "CIE Clear Sky Model" - * See page 40 of https://3dvar.com/Green2003Spherical.pdf - * - * @param {vec3} positionWC The position of the fragment in world coordinates. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. - * @return {float} The computed sun luminance. - */ -float getSunLuminance(vec3 positionWC, vec3 normalEC, vec3 lightDirectionEC) -{ - vec3 normalWC = normalize(czm_inverseViewRotation * normalEC); - vec3 lightDirectionWC = normalize(czm_inverseViewRotation * lightDirectionEC); - vec3 vWC = -normalize(positionWC); + // The Rayleigh phase function. + float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); + // The Mie phase function. + float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); + + // The final color is generated by combining the effects of the Rayleigh and Mie scattering. + vec3 rayleigh = rayleighPhase * rayleighColor; + vec3 mie = miePhase * mieColor; - // Angle between sun and zenith. - float LdotZenith = clampedDot(lightDirectionWC, vWC); - float S = acos(LdotZenith); - // Angle between zenith and current pixel - float NdotZenith = clampedDot(normalWC, vWC); - // Angle between sun and current pixel - float NdotL = clampedDot(normalEC, lightDirectionEC); - float gamma = acos(NdotL); + vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; - float numerator = ((0.91 + 10.0 * exp(-3.0 * gamma) + 0.45 * NdotL * NdotL) * (1.0 - exp(-0.32 / NdotZenith))); - float denominator = (0.91 + 10.0 * exp(-3.0 * S) + 0.45 * LdotZenith * LdotZenith) * (1.0 - exp(-0.32)); - return model_luminanceAtZenith * (numerator / denominator); + return vec4(color, opacity); } -#endif +`;var qN=`uniform samplerCube u_radianceMap; -/** - * Compute the light contribution from a procedural sky model - * - * @param {vec3} positionEC The position of the fragment in eye coordinates. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {vec3} lightDirectionEC Unit vector pointing to the light source in eye coordinates. - * @param {czm_modelMaterial} The material properties. - * @return {vec3} The computed HDR color - */ - vec3 proceduralIBL( - vec3 positionEC, - vec3 normalEC, - vec3 lightDirectionEC, - czm_modelMaterial material -) { - vec3 viewDirectionEC = -normalize(positionEC); - vec3 positionWC = vec3(czm_inverseView * vec4(positionEC, 1.0)); - vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirectionEC, normalEC)); - vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC); +in vec2 v_textureCoordinates; - float roughness = material.roughness; - vec3 f0 = material.specular; - vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness); - float NdotV = abs(dot(normalEC, viewDirectionEC)) + 0.001; - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y); - vec3 specularContribution = specularIrradiance * specularColor * model_iblFactor.y; - #ifdef USE_SPECULAR - specularContribution *= material.specularWeight; - #endif +const float twoSqrtPi = 2.0 * sqrt(czm_pi); - vec3 diffuseIrradiance = getProceduralDiffuseIrradiance(skyMetrics); - vec3 diffuseColor = material.diffuse; - vec3 diffuseContribution = diffuseIrradiance * diffuseColor * model_iblFactor.x; +// Coutesy of https://www.ppsloan.org/publications/StupidSH36.pdf +float computeShBasis(int index, vec3 s) { + if (index == 0) { // l = 0, m = 0 + return 1.0 / twoSqrtPi; + } + + if (index == 1) { // l = 1, m = -1 + return -sqrt(3.0) * s.y / twoSqrtPi; + } - vec3 iblColor = specularContribution + diffuseContribution; + if (index == 2) { // l = 1, m = 0 + return sqrt(3.0) * s.z / twoSqrtPi; + } - #ifdef USE_SUN_LUMINANCE - iblColor *= getSunLuminance(positionWC, normalEC, lightDirectionEC); - #endif + if (index == 3) { // l = 1, m = 1 + return -sqrt(3.0) * s.x / twoSqrtPi; + } + + if (index == 4) { // l = 2, m = -2 + return sqrt(15.0) * s.y * s.x / twoSqrtPi; + } + + if (index == 5) { // l = 2, m = -1 + return -sqrt(15.0) * s.y * s.z / twoSqrtPi; + } + + if (index == 6) { // l = 2, m = 0 + return sqrt(5.0) * (3.0 * s.z * s.z - 1.0) / 2.0 / twoSqrtPi; + } + + if (index == 7) { // l = 2, m = 1 + return -sqrt(15.0) * s.x * s.z / twoSqrtPi; + } - return iblColor; + if (index == 8) { // l = 2, m = 2 + return sqrt(15.0) * (s.x * s.x - s.y * s.y) / 2.0 / twoSqrtPi; + } + + return 0.0; } -#ifdef DIFFUSE_IBL -vec3 sampleDiffuseEnvironment(vec3 cubeDir) +float vdcRadicalInverse(int i) { - #ifdef CUSTOM_SPHERICAL_HARMONICS - return czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); - #else - return czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); - #endif + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) + { + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); + } + return value; } -#endif -#ifdef SPECULAR_IBL -vec3 sampleSpecularEnvironment(vec3 cubeDir, float roughness) +vec2 hammersley2D(int i, int N) { - #ifdef CUSTOM_SPECULAR_IBL - float lod = roughness * model_specularEnvironmentMapsMaximumLOD; - return czm_textureCube(model_specularEnvironmentMaps, cubeDir, lod).rgb; - #else - float lod = roughness * czm_specularEnvironmentMapsMaximumLOD; - return czm_textureCube(czm_specularEnvironmentMaps, cubeDir, lod).rgb; - #endif + return vec2(float(i) / float(N), vdcRadicalInverse(i)); } -vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness) -{ - // see https://bruop.github.io/ibl/ at Single Scattering Results - // Roughness dependent fresnel, from Fdez-Aguera - vec3 f90 = max(vec3(1.0 - roughness), f0); - vec3 F = fresnelSchlick2(f0, f90, NdotV); - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularSample = sampleSpecularEnvironment(cubeDir, roughness); +// Sample count is relatively low for the sake of performance, but should still be enough to capture directionality needed for third-order harmonics +const int samples = 256; +const float solidAngle = 1.0 / float(samples); - return specularSample * (F * brdfLut.x + brdfLut.y); -} -#endif +void main() { + // Get the current coefficient based on the uv + vec2 uv = v_textureCoordinates.xy * 3.0; + int coefficientIndex = int(floor(uv.y) * 3.0 + floor(uv.x)); -#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) -/** - * Compute the light contributions from environment maps and spherical harmonic coefficients. - * See Fdez-Aguera, https://www.jcgt.org/published/0008/01/03/paper.pdf, for explanation - * of the single- and multi-scattering terms. - * - * @param {vec3} viewDirectionEC Unit vector pointing from the fragment to the eye position. - * @param {vec3} normalEC The surface normal in eye coordinates. - * @param {czm_modelMaterial} The material properties. - * @return {vec3} The computed HDR color. - */ -vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) { - vec3 f0 = material.specular; - float roughness = material.roughness; - float specularWeight = 1.0; - #ifdef USE_SPECULAR - specularWeight = material.specularWeight; - #endif - float NdotV = clamp(dot(normalEC, viewDirectionEC), 0.0, 1.0); + for (int i = 0; i < samples; ++i) { + vec2 xi = hammersley2D(i, samples); + float phi = czm_twoPi * xi.x; + float cosTheta = 1.0 - 2.0 * sqrt(1.0 - xi.y * xi.y); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 direction = normalize(vec3(sinTheta * cos(phi), cosTheta, sinTheta * sin(phi))); - // see https://bruop.github.io/ibl/ at Single Scattering Results - // Roughness dependent fresnel, from Fdez-Aguera - vec3 f90 = max(vec3(1.0 - roughness), f0); - vec3 singleScatterFresnel = fresnelSchlick2(f0, f90, NdotV); + // Generate the spherical harmonics basis from the direction + float Ylm = computeShBasis(coefficientIndex, direction); - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 FssEss = specularWeight * (singleScatterFresnel * brdfLut.x + brdfLut.y); + vec3 lookupDirection = -direction.xyz; + lookupDirection.z = -lookupDirection.z; - #ifdef DIFFUSE_IBL - vec3 normalMC = normalize(model_iblReferenceFrameMatrix * normalEC); - vec3 irradiance = sampleDiffuseEnvironment(normalMC); + vec4 color = czm_textureCube(u_radianceMap, lookupDirection, 0.0); - vec3 averageFresnel = f0 + (1.0 - f0) / 21.0; - float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y); - vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems); - vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse; - vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering); - #else - vec3 diffuseContribution = vec3(0.0); - #endif + // Use the relevant function for this coefficient + out_FragColor += Ylm * color * solidAngle * sinTheta; + } + +} +`;var YN=`precision highp float; - #ifdef USE_ANISOTROPY - // Bend normal to account for anisotropic distortion of specular reflection - vec3 anisotropyDirection = material.anisotropicB; - vec3 anisotropicTangent = cross(anisotropyDirection, viewDirectionEC); - vec3 anisotropicNormal = cross(anisotropicTangent, anisotropyDirection); - float bendFactor = 1.0 - material.anisotropyStrength * (1.0 - roughness); - float bendFactorPow4 = bendFactor * bendFactor * bendFactor * bendFactor; - vec3 bentNormal = normalize(mix(anisotropicNormal, normalEC, bendFactorPow4)); - vec3 reflectEC = reflect(-viewDirectionEC, bentNormal); - #else - vec3 reflectEC = reflect(-viewDirectionEC, normalEC); - #endif +in vec2 v_textureCoordinates; - #ifdef SPECULAR_IBL - vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC); - vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness); - vec3 specularContribution = radiance * FssEss; - #else - vec3 specularContribution = vec3(0.0); - #endif +uniform vec3 u_faceDirection; // Current cubemap face +uniform vec3 u_positionWC; +uniform mat4 u_enuToFixedFrame; +uniform vec4 u_brightnessSaturationGammaIntensity; +uniform vec4 u_groundColor; // alpha component represent albedo - return diffuseContribution + specularContribution; -} -#endif -`;var _re={name:"ImageBasedLightingPipelineStage"};_re.process=function(e,t,n){let i=t.imageBasedLighting,o=e.shaderBuilder;o.addDefine("USE_IBL_LIGHTING",void 0,pe.FRAGMENT),o.addUniform("vec2","model_iblFactor",pe.FRAGMENT),Fh.isSupported(n.context)&&((i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled)&&o.addUniform("mat3","model_iblReferenceFrameMatrix",pe.FRAGMENT),l(i.sphericalHarmonicCoefficients)?(o.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),o.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,pe.FRAGMENT),o.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",pe.FRAGMENT)):i.useDefaultSphericalHarmonics&&o.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),l(i.specularEnvironmentCubeMap)&&i.specularEnvironmentCubeMap.ready?(o.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT),o.addDefine("CUSTOM_SPECULAR_IBL",void 0,pe.FRAGMENT),o.addUniform("samplerCube","model_specularEnvironmentMaps",pe.FRAGMENT),o.addUniform("float","model_specularEnvironmentMapsMaximumLOD",pe.FRAGMENT)):t.useDefaultSpecularMaps&&o.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT)),l(i.luminanceAtZenith)&&(o.addDefine("USE_SUN_LUMINANCE",void 0,pe.FRAGMENT),o.addUniform("float","model_luminanceAtZenith",pe.FRAGMENT)),o.addFragmentLines(RF);let r={model_iblFactor:function(){return i.imageBasedLightingFactor},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_luminanceAtZenith:function(){return i.luminanceAtZenith},model_sphericalHarmonicCoefficients:function(){return i.sphericalHarmonicCoefficients},model_specularEnvironmentMaps:function(){return i.specularEnvironmentCubeMap.texture},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentCubeMap.maximumMipmapLevel}};e.uniformMap=xt(r,e.uniformMap)};var OF=_re;var vHe=P.EPSILON16;function aW(e){e=y(e,y.EMPTY_OBJECT);let t=e.stage,n=e.runtimeArticulation;this._stage=t,this._runtimeArticulation=n,this._name=t.name,this._type=t.type,this._minimumValue=t.minimumValue,this._maximumValue=t.maximumValue,this._currentValue=t.initialValue}Object.defineProperties(aW.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(e){e=P.clamp(e,this.minimumValue,this.maximumValue),P.equalsEpsilon(this._currentValue,e,vHe)||(this._currentValue=e,this.runtimeArticulation._dirty=!0)}}});var DHe=new h,sW=new Z;aW.prototype.applyStageToMatrix=function(e){let t=this.type,n=this.currentValue,i=DHe,o;switch(t){case Nc.XROTATE:o=Z.fromRotationX(P.toRadians(n),sW),e=F.multiplyByMatrix3(e,o,e);break;case Nc.YROTATE:o=Z.fromRotationY(P.toRadians(n),sW),e=F.multiplyByMatrix3(e,o,e);break;case Nc.ZROTATE:o=Z.fromRotationZ(P.toRadians(n),sW),e=F.multiplyByMatrix3(e,o,e);break;case Nc.XTRANSLATE:i.x=n,i.y=0,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case Nc.YTRANSLATE:i.x=0,i.y=n,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case Nc.ZTRANSLATE:i.x=0,i.y=0,i.z=n,e=F.multiplyByTranslation(e,i,e);break;case Nc.XSCALE:i.x=n,i.y=1,i.z=1,e=F.multiplyByScale(e,i,e);break;case Nc.YSCALE:i.x=1,i.y=n,i.z=1,e=F.multiplyByScale(e,i,e);break;case Nc.ZSCALE:i.x=1,i.y=1,i.z=n,e=F.multiplyByScale(e,i,e);break;case Nc.UNIFORMSCALE:e=F.multiplyByUniformScale(e,n,e);break;default:break}return e};var MF=aW;function LF(e){e=y(e,y.EMPTY_OBJECT);let t=e.articulation,n=e.sceneGraph;this._articulation=t,this._sceneGraph=n,this._name=t.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,IHe(this)}Object.defineProperties(LF.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function IHe(e){let n=e.articulation.stages,i=n.length,o=e._runtimeStages,r=e._runtimeStagesByName;for(let s=0;s<i;s++){let a=n[s],c=new MF({stage:a,runtimeArticulation:e});o.push(c);let u=a.name;r[u]=c}}LF.prototype.setArticulationStage=function(e,t){let n=this._runtimeStagesByName[e];l(n)&&(n.currentValue=t)};var PHe=new F,RHe=new F;LF.prototype.apply=function(){if(!this._dirty)return;this._dirty=!1;let e=F.clone(F.IDENTITY,PHe),t,n=this._runtimeStages,i=n.length;for(t=0;t<i;t++)e=n[t].applyStageToMatrix(e);let o=this._runtimeNodes,r=o.length;for(t=0;t<r;t++){let s=o[t],a=F.multiplyTransformation(s.originalTransform,e,RHe);s.transform=a}};var NF=LF;var FF=`void modelColorStage(inout czm_modelMaterial material) -{ - material.diffuse = mix(material.diffuse, model_color.rgb, model_colorBlend); - float highlight = ceil(model_colorBlend); - material.diffuse *= mix(model_color.rgb, vec3(1.0), highlight); - material.alpha *= model_color.a; -} -`;var UC={name:"ModelColorPipelineStage",COLOR_UNIFORM_NAME:"model_color",COLOR_BLEND_UNIFORM_NAME:"model_colorBlend"};UC.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_COLOR",void 0,pe.FRAGMENT),i.addFragmentLines(FF);let o={},r=t.color;r.alpha===0&&!t.hasSilhouette(n)&&(e.renderStateOptions.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),r.alpha<1&&(e.alphaOptions.pass=Se.TRANSLUCENT),i.addUniform("vec4",UC.COLOR_UNIFORM_NAME,pe.FRAGMENT),o[UC.COLOR_UNIFORM_NAME]=function(){return t.color},i.addUniform("float",UC.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),o[UC.COLOR_BLEND_UNIFORM_NAME]=function(){return Lc.getColorBlend(t.colorBlendMode,t.colorBlendAmount)},e.uniformMap=xt(o,e.uniformMap)};var _x=UC;var BF=`#ifdef USE_CLIPPING_PLANES_FLOAT_TEXTURE -vec4 getClippingPlane( - highp sampler2D packedClippingPlanes, - int clippingPlaneNumber, - mat4 transform -) { - int pixY = clippingPlaneNumber / CLIPPING_PLANES_TEXTURE_WIDTH; - int pixX = clippingPlaneNumber - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); - float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel - float v = (float(pixY) + 0.5) * pixelHeight; - vec4 plane = texture(packedClippingPlanes, vec2(u, v)); - return czm_transformPlane(plane, transform); -} -#else -// Handle uint8 clipping texture instead -vec4 getClippingPlane( - highp sampler2D packedClippingPlanes, - int clippingPlaneNumber, - mat4 transform -) { - int clippingPlaneStartIndex = clippingPlaneNumber * 2; // clipping planes are two pixels each - int pixY = clippingPlaneStartIndex / CLIPPING_PLANES_TEXTURE_WIDTH; - int pixX = clippingPlaneStartIndex - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); - float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); - float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel - float v = (float(pixY) + 0.5) * pixelHeight; - vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; - vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); - vec4 plane; - plane.xyz = czm_octDecode(oct, 65535.0); - plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + pixelWidth, v))); - return czm_transformPlane(plane, transform); +vec4 getCubeMapDirection(vec2 uv, vec3 faceDir) { + vec2 scaledUV = uv * 2.0 - 1.0; + + if (faceDir.x != 0.0) { + return vec4(faceDir.x, scaledUV.x * faceDir.x, -scaledUV.y, 0.0); + } else if (faceDir.y != 0.0) { + return vec4(scaledUV.x, -scaledUV.y * faceDir.y, faceDir.y, 0.0); + } else { + return vec4(scaledUV.x * faceDir.z, -faceDir.z, -scaledUV.y, 0.0); + } } -#endif -float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) { - vec4 position = czm_windowToEyeCoordinates(fragCoord); - vec3 clipNormal = vec3(0.0); - vec3 clipPosition = vec3(0.0); - float pixelWidth = czm_metersPerPixel(position); - - #ifdef UNION_CLIPPING_REGIONS - float clipAmount; // For union planes, we want to get the min distance. So we set the initial value to the first plane distance in the loop below. - #else - float clipAmount = 0.0; - bool clipped = true; - #endif +void main() { + float height = length(u_positionWC); + float atmosphereInnerRadius = u_radiiAndDynamicAtmosphereColor.y; + float ellipsoidHeight = max(height - atmosphereInnerRadius, 0.0); - for (int i = 0; i < CLIPPING_PLANES_LENGTH; ++i) { - vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); - clipNormal = clippingPlane.xyz; - clipPosition = -clippingPlane.w * clipNormal; - float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; - - #ifdef UNION_CLIPPING_REGIONS - clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); - if (amount <= 0.0) { - discard; - } - #else - clipAmount = max(amount, clipAmount); - clipped = clipped && (amount <= 0.0); - #endif - } + // Scale the position to ensure the sky color is present, even when underground. + vec3 positionWC = u_positionWC / height * (ellipsoidHeight + atmosphereInnerRadius); - #ifndef UNION_CLIPPING_REGIONS - if (clipped) { - discard; + float atmosphereOuterRadius = u_radiiAndDynamicAtmosphereColor.x; + float atmosphereHeight = atmosphereOuterRadius - atmosphereInnerRadius; + + vec3 direction = (u_enuToFixedFrame * getCubeMapDirection(v_textureCoordinates, u_faceDirection)).xyz; + vec3 normalizedDirection = normalize(direction); + + czm_ray ray = czm_ray(positionWC, normalizedDirection); + czm_raySegment intersection = czm_raySphereIntersectionInterval(ray, vec3(0.0), atmosphereInnerRadius); + if (!czm_isEmpty(intersection)) { + intersection = czm_rayEllipsoidIntersectionInterval(ray, vec3(0.0), czm_ellipsoidInverseRadii); } - #endif - - return clipAmount; -} -void modelClippingPlanesStage(inout vec4 color) -{ - float clipDistance = clip(gl_FragCoord, model_clippingPlanes, model_clippingPlanesMatrix); - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = model_clippingPlanesEdgeStyle.rgb; - float clippingPlanesEdgeWidth = model_clippingPlanesEdgeStyle.a; - - if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) { - color = clippingPlanesEdgeColor; - } -} -`;var gre={name:"ModelClippingPlanesPipelineStage"},OHe=new U;gre.process=function(e,t,n){let i=t.clippingPlanes,o=n.context,r=e.shaderBuilder;r.addDefine("HAS_CLIPPING_PLANES",void 0,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_LENGTH",i.length,pe.FRAGMENT),i.unionClippingRegions&&r.addDefine("UNION_CLIPPING_REGIONS",void 0,pe.FRAGMENT),bs.useFloatTexture(o)&&r.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,pe.FRAGMENT);let s=bs.getTextureResolution(i,o,OHe);r.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",s.x,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",s.y,pe.FRAGMENT),r.addUniform("sampler2D","model_clippingPlanes",pe.FRAGMENT),r.addUniform("vec4","model_clippingPlanesEdgeStyle",pe.FRAGMENT),r.addUniform("mat4","model_clippingPlanesMatrix",pe.FRAGMENT),r.addFragmentLines(BF);let a={model_clippingPlanes:function(){return i.texture},model_clippingPlanesEdgeStyle:function(){let c=H.clone(i.edgeColor);return c.alpha=i.edgeWidth,c},model_clippingPlanesMatrix:function(){return t._clippingPlanesMatrix}};e.uniformMap=xt(a,e.uniformMap)};var kF=gre;var VF=`void modelClippingPolygonsStage(ProcessedAttributes attributes) -{ - vec2 sphericalLatLong = czm_approximateSphericalCoordinates(v_positionWC); - sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); + bool onEllipsoid = intersection.start >= 0.0; + float rayLength = czm_branchFreeTernary(onEllipsoid, intersection.start, atmosphereOuterRadius); - vec2 minDistance = vec2(czm_infinity); - v_regionIndex = -1; - v_clippingPosition = vec2(czm_infinity); + // Compute sky color for each position on a sphere at radius centered around the provided position's origin + vec3 skyPositionWC = positionWC + normalizedDirection * rayLength; - for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { - vec4 extents = czm_unpackClippingExtents(model_clippingExtents, regionIndex); - vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirectionWC = normalize(czm_getDynamicAtmosphereLightDirection(skyPositionWC, lightEnum)); + vec3 mieColor; + vec3 rayleighColor; + float opacity; + czm_computeScattering( + ray, + rayLength, + lightDirectionWC, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); - vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); - vec2 distance = abs(rectUv - clamped) * extents.wz; - - if (minDistance.x > distance.x || minDistance.y > distance.y) { - minDistance = distance; - v_clippingPosition = rectUv; - } + vec4 atmopshereColor = czm_computeAtmosphereColor(ray, lightDirectionWC, rayleighColor, mieColor, opacity); - float threshold = 0.01; - if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { - v_regionIndex = regionIndex; - } - } -} -`;var UF=`void modelClippingPolygonsStage() -{ - vec2 clippingPosition = v_clippingPosition; - int regionIndex = v_regionIndex; - czm_clipPolygons(model_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); -} -`;var yre={name:"ModelClippingPolygonsPipelineStage"};yre.process=function(e,t,n){let i=t.clippingPolygons,o=e.shaderBuilder;o.addDefine("ENABLE_CLIPPING_POLYGONS",void 0,pe.BOTH),i.inverse&&o.addDefine("CLIPPING_INVERSE",void 0,pe.FRAGMENT),o.addDefine("CLIPPING_POLYGON_REGIONS_LENGTH",i.extentsCount,pe.BOTH),o.addUniform("sampler2D","model_clippingDistance",pe.FRAGMENT),o.addUniform("sampler2D","model_clippingExtents",pe.VERTEX),o.addVarying("vec2","v_clippingPosition"),o.addVarying("int","v_regionIndex","flat"),o.addVertexLines(VF),o.addFragmentLines(UF);let r={model_clippingDistance:function(){return i.clippingTexture},model_clippingExtents:function(){return i.extentsTexture}};e.uniformMap=xt(r,e.uniformMap)};var zF=yre;function xre(e,t){this._model=e,this._runtimeNode=t}Object.defineProperties(xre.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(e){this._runtimeNode.show=e}},matrix:{get:function(){return this._runtimeNode.transform},set:function(e){l(e)?(this._runtimeNode.transform=e,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var HF=xre;var GF=`mat4 getInstancingTransform() -{ - mat4 instancingTransform; +#ifdef ATMOSPHERE_COLOR_CORRECT + const bool ignoreBlackPixels = true; + atmopshereColor.rgb = czm_applyHSBShift(atmopshereColor.rgb, czm_atmosphereHsbShift, ignoreBlackPixels); +#endif - #ifdef HAS_INSTANCE_MATRICES - instancingTransform = mat4( - a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1 - a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2 - a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3 - a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4 - ); - #else - vec3 translation = vec3(0.0, 0.0, 0.0); - vec3 scale = vec3(1.0, 1.0, 1.0); - - #ifdef HAS_INSTANCE_TRANSLATION - translation = a_instanceTranslation; - #endif - #ifdef HAS_INSTANCE_SCALE - scale = a_instanceScale; - #endif + vec3 lookupDirection = -normalizedDirection; + // Flipping the X vector is a cheap way to get the inverse of czm_temeToPseudoFixed, since that's a rotation about Z. + lookupDirection.x = -lookupDirection.x; + lookupDirection = -normalize(czm_temeToPseudoFixed * lookupDirection); + lookupDirection.x = -lookupDirection.x; - instancingTransform = mat4( - scale.x, 0.0, 0.0, 0.0, - 0.0, scale.y, 0.0, 0.0, - 0.0, 0.0, scale.z, 0.0, - translation.x, translation.y, translation.z, 1.0 - ); - #endif + // Values outside the atmopshere are rendered as black, when they should be treated as transparent + float skyAlpha = clamp((1.0 - ellipsoidHeight / atmosphereHeight) * atmopshereColor.a, 0.0, 1.0); + skyAlpha = czm_branchFreeTernary(length(atmopshereColor.rgb) <= czm_epsilon7, 0.0, skyAlpha); // Treat black as transparent - return instancingTransform; -} + // Blend starmap with atmopshere scattering + float intensity = u_brightnessSaturationGammaIntensity.w; + vec4 sceneSkyBoxColor = czm_textureCube(czm_environmentMap, lookupDirection); + vec3 skyBackgroundColor = mix(czm_backgroundColor.rgb, sceneSkyBoxColor.rgb, sceneSkyBoxColor.a); + vec4 combinedSkyColor = vec4(mix(skyBackgroundColor, atmopshereColor.rgb * intensity, skyAlpha), 1.0); -#ifdef USE_2D_INSTANCING -mat4 getInstancingTransform2D() -{ - mat4 instancingTransform2D; + // Compute ground color based on amount of reflected light, then blend it with ground atmosphere based on height + vec3 up = normalize(positionWC); + float occlusion = max(dot(lightDirectionWC, up), 0.05); + vec4 groundColor = vec4(u_groundColor.rgb * u_groundColor.a * (vec3(intensity * occlusion) + atmopshereColor.rgb), 1.0); + vec4 blendedGroundColor = mix(groundColor, atmopshereColor, clamp(ellipsoidHeight / atmosphereHeight, 0.0, 1.0)); - #ifdef HAS_INSTANCE_MATRICES - instancingTransform2D = mat4( - a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0, // Column 1 - a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0, // Column 2 - a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0, // Column 3 - a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0 // Column 4 - ); - #else - vec3 translation2D = vec3(0.0, 0.0, 0.0); - vec3 scale = vec3(1.0, 1.0, 1.0); - - #ifdef HAS_INSTANCE_TRANSLATION - translation2D = a_instanceTranslation2D; - #endif - #ifdef HAS_INSTANCE_SCALE - scale = a_instanceScale; - #endif + vec4 color = czm_branchFreeTernary(onEllipsoid, blendedGroundColor, combinedSkyColor); - instancingTransform2D = mat4( - scale.x, 0.0, 0.0, 0.0, - 0.0, scale.y, 0.0, 0.0, - 0.0, 0.0, scale.z, 0.0, - translation2D.x, translation2D.y, translation2D.z, 1.0 - ); - #endif + float brightness = u_brightnessSaturationGammaIntensity.x; + float saturation = u_brightnessSaturationGammaIntensity.y; + float gamma = u_brightnessSaturationGammaIntensity.z; - return instancingTransform2D; -} +#ifdef ENVIRONMENT_COLOR_CORRECT + color.rgb = mix(vec3(0.0), color.rgb, brightness); + color.rgb = czm_saturation(color.rgb, saturation); #endif -`;var WF=`void instancingStage(inout ProcessedAttributes attributes) -{ - vec3 positionMC = attributes.positionMC; - - mat4 instancingTransform = getInstancingTransform(); - - attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz; - - #ifdef HAS_NORMALS - vec3 normalMC = attributes.normalMC; - attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz; - #endif + color.rgb = pow(color.rgb, vec3(gamma)); // Normally this would be in the ifdef above, but there is a precision issue with the atmopshere scattering transmittance (alpha). Having this line is a workaround for that issue, even when gamma is 1.0. + color.rgb = czm_gammaCorrect(color.rgb); - #ifdef USE_2D_INSTANCING - mat4 instancingTransform2D = getInstancingTransform2D(); - attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; - #endif + out_FragColor = color; } -`;var jF=`void legacyInstancingStage( - inout ProcessedAttributes attributes, - out mat4 instanceModelView, - out mat3 instanceModelViewInverseTranspose) -{ - vec3 positionMC = attributes.positionMC; +`;var XN=`precision highp float; - mat4 instancingTransform = getInstancingTransform(); - - mat4 instanceModel = instancingTransform * u_instance_nodeTransform; - instanceModelView = u_instance_modifiedModelView; - instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel); +in vec3 v_textureCoordinates; - attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz; - - #ifdef USE_2D_INSTANCING - mat4 instancingTransform2D = getInstancingTransform2D(); - attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; - #endif -} -`;var qF=new F,MHe=new F,LHe=new F,Tre={name:"InstancingPipelineStage",_getInstanceTransformsAsMatrices:wre,_transformsToTypedArray:lW};Tre.process=function(e,t,n){let i=t.instances,o=i.attributes[0].count,r=e.shaderBuilder;r.addDefine("HAS_INSTANCING"),r.addVertexLines(GF);let s=e.model,a=s.sceneGraph,c=e.runtimeNode,u=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&s._projectTo2D,f=s._enablePick&&!n.context.webgl2,d=[];KHe(e,n,i,d,u,f),QHe(e,n,i,d);let p={};if(i.transformInWorldSpace?(r.addDefine("USE_LEGACY_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_instance_modifiedModelView",pe.VERTEX),r.addUniform("mat4","u_instance_nodeTransform",pe.VERTEX),p.u_instance_modifiedModelView=function(){let g=F.multiplyTransformation(s.modelMatrix,a.components.transform,qF);return u?F.multiplyTransformation(n.context.uniformState.view3D,g,qF):(n.mode!==ne.SCENE3D&&(g=Bt.basisTo2D(n.mapProjection,g,qF)),F.multiplyTransformation(n.context.uniformState.view,g,qF))},p.u_instance_nodeTransform=function(){return F.multiplyTransformation(a.axisCorrectionMatrix,c.computedTransform,MHe)},r.addVertexLines(jF)):r.addVertexLines(WF),u){r.addDefine("USE_2D_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_modelView2D",pe.VERTEX);let g=n.context,m=F.fromTranslation(c.instancingReferencePoint2D,new F);p.u_modelView2D=function(){return F.multiplyTransformation(g.uniformState.view,m,LHe)}}e.uniformMap=xt(p,e.uniformMap),e.instanceCount=o,e.attributes.push.apply(e.attributes,d)};var Tv=new F,NHe=new h;function FHe(e,t,n,i,o){let r=F.multiplyTransformation(t,e,Tv);return r=F.multiplyTransformation(r,n,Tv),o=Bt.basisTo2D(i.mapProjection,r,o),o}function BHe(e,t,n,i,o){let r=F.fromTranslation(e,Tv),s=F.multiplyTransformation(t,r,Tv);s=F.multiplyTransformation(s,n,Tv);let a=F.getTranslation(s,NHe);return o=ki.computeActualEllipsoidPosition(i,a,o),o}function Cre(e,t,n){let i=e.model,o=i.sceneGraph;e.runtimeNode.node.instances.transformInWorldSpace?(t=F.multiplyTransformation(i.modelMatrix,o.components.transform,t),n=F.multiplyTransformation(o.axisCorrectionMatrix,e.runtimeNode.computedTransform,n)):(t=F.clone(o.computedModelMatrix,t),t=F.multiplyTransformation(t,e.runtimeNode.computedTransform,t),n=F.clone(F.IDENTITY,n))}var Are=new F,Ere=new F,kHe=new F,VHe=new h;function UHe(e,t,n,i){let o=Are,r=Ere;Cre(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=FHe(f,o,r,n,kHe),p=F.getTranslation(d,VHe),g=h.subtract(p,a,p);i[u]=F.setTranslation(d,g,i[u])}return i}function zHe(e,t,n,i){let o=Are,r=Ere;Cre(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=BHe(f,o,r,n,f);i[u]=h.subtract(d,a,i[u])}return i}var HHe=new h,GHe=new h;function Sre(e,t){let n=e.runtimeNode,i=e.model.sceneGraph.computedModelMatrix,o=F.multiplyByPoint(i,n.instancingTranslationMin,HHe),r=ki.computeActualEllipsoidPosition(t,o,o),s=F.multiplyByPoint(i,n.instancingTranslationMax,GHe),a=ki.computeActualEllipsoidPosition(t,s,s);n.instancingReferencePoint2D=h.lerp(r,a,.5,new h)}function lW(e){let n=e.length,i=new Float32Array(n*12);for(let o=0;o<n;o++){let r=e[o],s=12*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8],i[s+3]=r[12],i[s+4]=r[1],i[s+5]=r[5],i[s+6]=r[9],i[s+7]=r[13],i[s+8]=r[2],i[s+9]=r[6],i[s+10]=r[10],i[s+11]=r[14]}return i}function WHe(e){let n=e.length,i=new Float32Array(n*3);for(let o=0;o<n;o++){let r=e[o],s=3*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8]}return i}var jHe=new h,qHe=new Ne,YHe=new h;function wre(e,t,n){let i=new Array(t),o=$t.getAttributeBySemantic(e,ns.TRANSLATION),r=$t.getAttributeBySemantic(e,ns.ROTATION),s=$t.getAttributeBySemantic(e,ns.SCALE),a=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),c=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),u=l(o),f=l(r),d=l(s),p=u?o.typedArray:new Float32Array(t*3),g=f?r.typedArray:new Float32Array(t*4);f&&r.normalized&&(g=Fn.dequantize(g,r.componentDatatype,r.type,t));let m;d?m=s.typedArray:(m=new Float32Array(t*3),m.fill(1));for(let b=0;b<t;b++){let T=new h(p[b*3],p[b*3+1],p[b*3+2],jHe);h.maximumByComponent(a,T,a),h.minimumByComponent(c,T,c);let C=new Ne(g[b*4],g[b*4+1],g[b*4+2],f?g[b*4+3]:1,qHe),A=new h(m[b*3],m[b*3+1],m[b*3+2],YHe),S=F.fromTranslationQuaternionRotationScale(T,C,A,new F);i[b]=S}let x=n.runtimeNode;return x.instancingTranslationMin=c,x.instancingTranslationMax=a,u&&(o.typedArray=void 0),f&&(r.typedArray=void 0),d&&(s.typedArray=void 0),i}function XHe(e,t,n){let i=new Array(t),o=e.typedArray,r=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let c=0;c<t;c++){let u=new h(o[c*3],o[c*3+1],o[c*3+2]);i[c]=u,h.minimumByComponent(r,u,r),h.maximumByComponent(s,u,s)}let a=n.runtimeNode;return a.instancingTranslationMin=r,a.instancingTranslationMax=s,e.typedArray=void 0,i}function uW(e,t){let n=yt.createVertexBuffer({context:t.context,typedArray:e,usage:Ve.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}function KHe(e,t,n,i,o,r){let s=$t.getAttributeBySemantic(n,ns.ROTATION);l(s)?$He(e,n,i,t,o,r):ZHe(e,n,i,t,o)}function $He(e,t,n,i,o,r){let s=e.shaderBuilder,a=t.attributes[0].count,c=e.model,u=e.runtimeNode;s.addDefine("HAS_INSTANCE_MATRICES");let f="Transform",d,p=u.instancingTransformsBuffer;if(!l(p)){d=wre(t,a,e);let b=lW(d);p=uW(b,i),c._modelResources.push(p),r&&(u.transformsTypedArray=b),u.instancingTransformsBuffer=p}if(bre(e,p,n,f),!o)return;let g=We(i);g.mode=ne.COLUMBUS_VIEW,Sre(e,g);let m=u.instancingTransformsBuffer2D;if(!l(m)){let b=UHe(d,e,g,d),T=lW(b);m=uW(T,i),c._modelResources.push(m),u.instancingTransformsBuffer2D=m}bre(e,m,n,"Transform2D")}function ZHe(e,t,n,i,o,r){let s=e.shaderBuilder,a=e.runtimeNode,c=$t.getAttributeBySemantic(t,ns.TRANSLATION),u=$t.getAttributeBySemantic(t,ns.SCALE);if(l(u)&&(s.addDefine("HAS_INSTANCE_SCALE"),cW(e,u.buffer,u.byteOffset,u.byteStride,n,"Scale")),!l(c))return;let f,d=c.typedArray;if(l(d)?f=XHe(c,c.count,e):l(a.instancingTranslationMin)||(a.instancingTranslationMin=c.min,a.instancingTranslationMax=c.max),s.addDefine("HAS_INSTANCE_TRANSLATION"),cW(e,c.buffer,c.byteOffset,c.byteStride,n,"Translation"),!o&&!r)return;let g=We(i);g.mode=ne.COLUMBUS_VIEW,Sre(e,g);let m=a.instancingTranslationBuffer2D;if(!l(m)){let C=zHe(f,e,g,f),A=WHe(C);r&&(a.transformsTypedArray=A),m=uW(A,i),e.model._modelResources.push(m),a.instancingTranslationBuffer2D=m}if(!o)return;cW(e,m,0,void 0,n,"Translation2D")}function bre(e,t,n,i){let r=X.getSizeInBytes(X.FLOAT),s=r*12,a=[{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*4,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*8,strideInBytes:s,instanceDivisor:1}],c=e.shaderBuilder;c.addAttribute("vec4",`a_instancing${i}Row0`),c.addAttribute("vec4",`a_instancing${i}Row1`),c.addAttribute("vec4",`a_instancing${i}Row2`),n.push.apply(n,a)}function cW(e,t,n,i,o,r){o.push({index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:3,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:n,strideInBytes:i,instanceDivisor:1}),e.shaderBuilder.addAttribute("vec3",`a_instance${r}`)}function QHe(e,t,n,i){let o=n.attributes,r=e.shaderBuilder;for(let s=0;s<o.length;s++){let a=o[s];a.semantic===ns.FEATURE_ID&&(a.setIndex>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:rn.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}var YF=Tre;var fW={};fW.name="ModelMatrixUpdateStage";fW.update=function(e,t,n){let i=n.mode!==ne.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;vre(e,t,o,e.transformToRoot),e._transformDirty=!1}};function JHe(e,t,n){e.modelMatrix=F.multiplyTransformation(t,n,e.modelMatrix),e.cullFace=$t.getCullFace(e.modelMatrix,e.primitiveType)}function vre(e,t,n,i){let o;i=F.multiplyTransformation(i,e.transform,new F),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o<r;o++){let a=e.runtimePrimitives[o];JHe(a.drawCommand,n,i)}let s=e.children.length;for(o=0;o<s;o++){let a=t._runtimeNodes[e.children[o]];a._transformToRoot=F.clone(i,a._transformToRoot),vre(a,t,n,i),a._transformDirty=!1}}var XF=fW;var Dre={name:"NodeStatisticsPipelineStage",_countInstancingAttributes:Ire,_countGeneratedBuffers:Pre};Dre.process=function(e,t,n){let i=e.model.statistics,o=t.instances,r=e.runtimeNode;Ire(i,o),Pre(i,r)};function Ire(e,t){if(!l(t))return;let n=t.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r.buffer)&&e.addBuffer(r.buffer,!1)}}function Pre(e,t){l(t.instancingTransformsBuffer)&&e.addBuffer(t.instancingTransformsBuffer,!1),l(t.instancingTransformsBuffer2D)&&e.addBuffer(t.instancingTransformsBuffer2D,!1),l(t.instancingTranslationBuffer2D)&&e.addBuffer(t.instancingTranslationBuffer2D,!1)}var KF=Dre;function zC(e){e=y(e,y.EMPTY_OBJECT);let t=e.node,n=e.transform,i=e.transformToRoot,o=e.sceneGraph,r=e.children;this._node=t,this._name=t.name,this._id=t.index,this._sceneGraph=o,this._children=r,this._originalTransform=F.clone(n,this._originalTransform),this._transform=F.clone(n,this._transform),this._transformToRoot=F.clone(i,this._transformToRoot),this._computedTransform=new F,this._transformDirty=!1,this._transformParameters=void 0,this._morphWeights=[],this._runtimeSkin=void 0,this._computedJointMatrices=[],this.show=!0,this.userAnimated=!1,this.pipelineStages=[],this.runtimePrimitives=[],this.updateStages=[],this.instancingTranslationMin=void 0,this.instancingTranslationMax=void 0,this.instancingTransformsBuffer=void 0,this.instancingTransformsBuffer2D=void 0,this.instancingTranslationBuffer2D=void 0,this.instancingReferencePoint2D=void 0,e8e(this)}Object.defineProperties(zC.prototype,{node:{get:function(){return this._node}},sceneGraph:{get:function(){return this._sceneGraph}},children:{get:function(){return this._children}},transform:{get:function(){return this._transform},set:function(e){this._transformDirty=!0,this._transform=F.clone(e,this._transform)}},transformToRoot:{get:function(){return this._transformToRoot}},computedTransform:{get:function(){return this._computedTransform}},originalTransform:{get:function(){return this._originalTransform}},translation:{get:function(){return l(this._transformParameters)?this._transformParameters.translation:void 0},set:function(e){let t=this._transformParameters,n=t.translation;h.equals(n,e)||(t.translation=h.clone(e,t.translation),dW(this,t))}},rotation:{get:function(){return l(this._transformParameters)?this._transformParameters.rotation:void 0},set:function(e){let t=this._transformParameters,n=t.rotation;Ne.equals(n,e)||(t.rotation=Ne.clone(e,t.rotation),dW(this,t))}},scale:{get:function(){return l(this._transformParameters)?this._transformParameters.scale:void 0},set:function(e){let t=this._transformParameters,n=t.scale;h.equals(n,e)||(t.scale=h.clone(e,t.scale),dW(this,t))}},morphWeights:{get:function(){return this._morphWeights},set:function(e){let t=e.length;for(let n=0;n<t;n++)this._morphWeights[n]=e[n]}},runtimeSkin:{get:function(){return this._runtimeSkin}},computedJointMatrices:{get:function(){return this._computedJointMatrices}}});function e8e(e){let t=e.transform,n=e.transformToRoot,i=e._computedTransform;e._computedTransform=F.multiply(n,t,i);let o=e.node;l(o.matrix)||(e._transformParameters=new Y0(o.translation,o.rotation,o.scale)),l(o.morphWeights)&&(e._morphWeights=o.morphWeights.slice());let r=o.articulationName;if(l(r)){let c=e.sceneGraph._runtimeArticulations[r];l(c)&&c.runtimeNodes.push(e)}}function dW(e,t){e._transformDirty=!0,e._transform=F.fromTranslationRotationScale(t,e._transform)}zC.prototype.getChild=function(e){return this.sceneGraph._runtimeNodes[this.children[e]]};zC.prototype.configurePipeline=function(){let e=this.node,t=this.pipelineStages;t.length=0;let n=this.updateStages;n.length=0,l(e.instances)&&t.push(YF),t.push(KF),n.push(XF)};zC.prototype.updateComputedTransform=function(){this._computedTransform=F.multiply(this._transformToRoot,this._transform,this._computedTransform)};zC.prototype.updateJointMatrices=function(){let e=this._runtimeSkin;if(!l(e))return;e.updateJointMatrices();let t=this._computedJointMatrices,n=e.jointMatrices,i=n.length;for(let o=0;o<i;o++){l(t[o])||(t[o]=new F);let r=F.multiplyTransformation(this.transformToRoot,this.transform,t[o]),s=F.inverseTransformation(r,t[o]);t[o]=F.multiplyTransformation(s,n[o],t[o])}};var $F=zC;var Rre={name:"AlphaPipelineStage"};Rre.process=function(e,t,n){let i=e.alphaOptions,o=e.model;i.pass=y(i.pass,o.opaquePass);let r=e.renderStateOptions;i.pass===Se.TRANSLUCENT&&(r.cull.enabled=!1,r.depthMask=!1,r.blending=fn.ALPHA_BLEND);let s=e.shaderBuilder,a=e.uniformMap;l(i.alphaCutoff)&&(s.addDefine("ALPHA_MODE_MASK",void 0,pe.FRAGMENT),s.addUniform("float","u_alphaCutoff",pe.FRAGMENT),a.u_alphaCutoff=function(){return i.alphaCutoff})};var ZF=Rre;var Ore={name:"BatchTexturePipelineStage"};Ore.process=function(e,t,n){let i=e.shaderBuilder,o={},r=e.model,s=r.featureTables[r.featureTableId],a=s.featuresLength;i.addUniform("int","model_featuresLength"),o.model_featuresLength=function(){return a};let c=s.batchTexture;i.addUniform("sampler2D","model_batchTexture"),o.model_batchTexture=function(){return y(c.batchTexture,c.defaultTexture)},i.addUniform("vec4","model_textureStep"),o.model_textureStep=function(){return c.textureStep},c.textureDimensions.y>1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=xt(o,e.uniformMap)};var QF=Ore;var Mre={name:"ClassificationPipelineStage"};Mre.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,pe.BOTH);let o=e.runtimePrimitive;l(o.batchLengths)||t8e(t,o)};function t8e(e,t){let n=$t.getAttributeBySemantic(e,Ct.POSITION);if(!l(n))throw new ce("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=l(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=$t.getAttributeBySemantic(e,Ct.FEATURE_ID,0);if(!l(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let u=[],f=[0],d=r?i[0]:0,p=c[d],g=0;for(let x=1;x<s;x++){let b=r?i[x]:x,T=c[b];if(T!==p){let C=x-g,A=x;u.push(C),f.push(A),g=A,p=T}}let m=s-g;u.push(m),t.batchLengths=u,t.batchOffsets=f}var JF=Mre;var e2=`void filterByPassType(inout vec3 positionMC, vec4 featureColor) +uniform float u_roughness; +uniform samplerCube u_radianceTexture; +uniform vec3 u_faceDirection; + +float vdcRadicalInverse(int i) { - bool styleTranslucent = (featureColor.a != 1.0); - // Only render translucent features in the translucent pass (if the style or the original command has translucency). - if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) - { - // If the model has a translucent silhouette, it needs to render during the silhouette color command, - // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. - #ifdef HAS_SILHOUETTE - positionMC *= float(model_silhouettePass); - #else - positionMC *= 0.0; - #endif - } - // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. - else if (czm_pass != czm_passTranslucent && styleTranslucent) + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) { - positionMC *= 0.0; + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); } + return value; } -void cpuStylingStage(inout vec3 positionMC, inout SelectedFeature feature) +vec2 hammersley2D(int i, int N) { - float show = ceil(feature.color.a); - positionMC *= show; - - #if defined(HAS_SELECTED_FEATURE_ID_ATTRIBUTE) && !defined(HAS_CLASSIFICATION) - filterByPassType(positionMC, feature.color); - #endif + return vec2(float(i) / float(N), vdcRadicalInverse(i)); } -`;var t2=`void filterByPassType(vec4 featureColor) + +vec3 importanceSampleGGX(vec2 xi, float alphaRoughness, vec3 N) { - bool styleTranslucent = (featureColor.a != 1.0); - // Only render translucent features in the translucent pass (if the style or the original command has translucency). - if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) - { - // If the model has a translucent silhouette, it needs to render during the silhouette color command, - // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. - #ifdef HAS_SILHOUETTE - if(!model_silhouettePass) { - discard; + float alphaRoughnessSquared = alphaRoughness * alphaRoughness; + float phi = czm_twoPi * xi.x; + float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (alphaRoughnessSquared - 1.0) * xi.y)); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); + vec3 tangentX = normalize(cross(upVector, N)); + vec3 tangentY = cross(N, tangentX); + return tangentX * H.x + tangentY * H.y + N * H.z; +} + +// Sample count is relatively low for the sake of performance, but should still be enough to prevent artifacting in lower roughnesses +const int samples = 128; + +void main() { + vec3 normal = u_faceDirection; + vec3 V = normalize(v_textureCoordinates); + float roughness = u_roughness; + + vec4 color = vec4(0.0); + float weight = 0.0; + for (int i = 0; i < samples; ++i) { + vec2 xi = hammersley2D(i, samples); + vec3 H = importanceSampleGGX(xi, roughness, V); + vec3 L = 2.0 * dot(V, H) * H - V; // reflected vector + + float NdotL = max(dot(V, L), 0.0); + if (NdotL > 0.0) { + color += vec4(czm_textureCube(u_radianceTexture, L).rgb, 1.0) * NdotL; + weight += NdotL; + } } - #else - discard; - #endif - } - // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. - else if (czm_pass != czm_passTranslucent && styleTranslucent) - { - discard; + out_FragColor = color / weight; +} +`;var KN=`in vec3 position; +out vec3 v_textureCoordinates; + +uniform vec3 u_faceDirection; + +vec3 getCubeMapDirection(vec2 uv, vec3 faceDir) { + vec2 scaledUV = uv; + + if (faceDir.x != 0.0) { + return vec3(faceDir.x, scaledUV.y, scaledUV.x * faceDir.x); + } else if (faceDir.y != 0.0) { + return vec3(scaledUV.x, -faceDir.y, -scaledUV.y * faceDir.y); + } else { + return vec3(scaledUV.x * faceDir.z, scaledUV.y, -faceDir.z); } } -void cpuStylingStage(inout czm_modelMaterial material, SelectedFeature feature) +void main() { - vec4 featureColor = feature.color; - if (featureColor.a == 0.0) - { - discard; - } + v_textureCoordinates = getCubeMapDirection(position.xy, u_faceDirection); + v_textureCoordinates.y = -v_textureCoordinates.y; + v_textureCoordinates.z = -v_textureCoordinates.z; + gl_Position = vec4(position, 1.0); +} +`;function ii(e){this._position=void 0,this._radianceMapDirty=!1,this._radianceCommandsDirty=!1,this._convolutionsCommandsDirty=!1,this._irradianceCommandDirty=!1,this._irradianceTextureDirty=!1,this._sphericalHarmonicCoefficientsDirty=!1,this._shouldRegenerateShaders=!1,e=y(e,y.EMPTY_OBJECT);let t=Math.min(y(e.mipmapLevels,10),Math.log2(Bt.maximumCubeMapSize));this._mipmapLevels=t,this._radianceMapComputeCommands=new Array(6),this._convolutionComputeCommands=new Array((t-1)*6),this._irradianceComputeCommand=void 0,this._radianceMapFS=void 0,this._irradianceMapFS=void 0,this._convolveSP=void 0,this._va=void 0,this._radianceMapTextures=new Array(6),this._specularMapTextures=new Array((t-1)*6),this._radianceCubeMap=void 0,this._irradianceMapTexture=void 0,this._sphericalHarmonicCoefficients=ii.DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS.slice(),this._lastTime=new K;let n=Math.pow(2,t-1);this._textureDimensions=new U(n,n),this._radiiAndDynamicAtmosphereColor=new h,this._sceneEnvironmentMap=void 0,this._backgroundColor=void 0,this._owner=void 0,this.enabled=y(e.enabled,!0),this.shouldUpdate=!0,this.maximumSecondsDifference=y(e.maximumSecondsDifference,60*60),this.maximumPositionEpsilon=y(e.maximumPositionEpsilon,1e3),this.atmosphereScatteringIntensity=y(e.atmosphereScatteringIntensity,2),this.gamma=y(e.gamma,1),this.brightness=y(e.brightness,1),this.saturation=y(e.saturation,1),this.groundColor=y(e.groundColor,ii.AVERAGE_EARTH_GROUND_COLOR),this.groundAlbedo=y(e.groundAlbedo,.31)}Object.defineProperties(ii.prototype,{owner:{get:function(){return this._owner}},shouldRegenerateShaders:{get:function(){return this._shouldRegenerateShaders}},position:{get:function(){return this._position},set:function(e){h.equalsEpsilon(e,this._position,0,this.maximumPositionEpsilon)||(this._position=h.clone(e,this._position),this.reset())}},radianceCubeMap:{get:function(){return this._radianceCubeMap}},maximumMipmapLevel:{get:function(){return this._mipmapLevels}},sphericalHarmonicCoefficients:{get:function(){return this._sphericalHarmonicCoefficients}}});ii._maximumComputeCommandCount=8;ii._activeComputeCommandCount=0;ii._nextFrameCommandQueue=[];ii._queueCommand=(e,t)=>{if(ii._activeComputeCommandCount>=ii._maximumComputeCommandCount){ii._nextFrameCommandQueue.push(e);return}t.commandList.push(e),ii._activeComputeCommandCount++};ii._updateCommandQueue=e=>{if(ii._maximumComputeCommandCount=Math.log2(Bt.maximumCubeMapSize),ii._nextFrameCommandQueue.length>0&&ii._activeComputeCommandCount<ii._maximumComputeCommandCount){let t=ii._nextFrameCommandQueue.shift();for(;l(t)&&ii._activeComputeCommandCount<ii._maximumComputeCommandCount;){if(t.canceled){t=ii._nextFrameCommandQueue.shift();continue}e.commandList.push(t),ii._activeComputeCommandCount++,t=ii._nextFrameCommandQueue.shift()}}};ii.setOwner=function(e,t,n){e!==t[n]&&(t[n]=t[n]&&t[n].destroy(),l(e)&&(e._owner=t,t[n]=e))};ii.prototype.reset=function(){let e=this._radianceMapComputeCommands.length;for(let t=0;t<e;++t)l(this._radianceMapComputeCommands[t])&&(this._radianceMapComputeCommands[t].canceled=!0,ii._activeComputeCommandCount--),this._radianceMapComputeCommands[t]=void 0;e=this._convolutionComputeCommands.length;for(let t=0;t<e;++t)l(this._convolutionComputeCommands[t])&&(this._convolutionComputeCommands[t].canceled=!0,ii._activeComputeCommandCount--),this._convolutionComputeCommands[t]=void 0;l(this._irradianceComputeCommand)&&(this._irradianceComputeCommand.canceled=!0,ii._activeComputeCommandCount--,this._irradianceComputeCommand=void 0),this._radianceMapDirty=!0,this._radianceCommandsDirty=!0};var wUe=new h,DUe=new h;function IUe(e,t){let n=e._position,i=t.atmosphere,o=t.mapProjection.ellipsoid,r=o.scaleToGeodeticSurface(n,DUe),s=1.025,a=wUe,c=l(r)?h.magnitude(r):o.maximumRadius;return a.x=c*s,a.y=c,a.z=i.dynamicLighting,!h.equalsEpsilon(e._radiiAndDynamicAtmosphereColor,a)||t.environmentMap!==e._sceneEnvironmentMap||t.backgroundColor!==e._backgroundColor?(h.clone(a,e._radiiAndDynamicAtmosphereColor),e._sceneEnvironmentMap=t.environmentMap,e._backgroundColor=t.backgroundColor,!0):!1}var Ooe=new h,PUe=new F,OUe=new oe,RUe=new z;function MUe(e,t){let n=t.context,i=e._textureDimensions;if(l(e._radianceCubeMap)||(e._radianceCubeMap=new Ir({context:n,width:i.x,height:i.y,pixelDatatype:Ze.UNSIGNED_BYTE,pixelFormat:ot.RGBA})),e._radianceCommandsDirty){let o=e._radianceMapFS;l(o)||(o=new He({sources:[Kh,YN]}),e._radianceMapFS=o),MC.requiresColorCorrect(t.atmosphere)&&o.defines.push("ATMOSPHERE_COLOR_CORRECT");let r=e._position,s=e._radiiAndDynamicAtmosphereColor,a=t.mapProjection.ellipsoid,c=Mt.eastNorthUpToFixedFrame(r,a,PUe),u=OUe;u.x=e.brightness,u.y=e.saturation,u.z=e.gamma,u.w=e.atmosphereScatteringIntensity,(e.brightness!==1||e.saturation!==1||e.gamma!==1)&&o.defines.push("ENVIRONMENT_COLOR_CORRECT");let f=0;for(let d of Ir.faceNames()){let p=e._radianceMapTextures[f];l(p)&&p.destroy(),p=new Pt({context:n,width:i.x,height:i.y,pixelDatatype:Ze.UNSIGNED_BYTE,pixelFormat:ot.RGBA}),e._radianceMapTextures[f]=p;let g=f,m=new rl({fragmentShaderSource:o,outputTexture:p,uniformMap:{u_radiiAndDynamicAtmosphereColor:()=>s,u_enuToFixedFrame:()=>c,u_faceDirection:()=>Ir.getDirection(d,Ooe),u_positionWC:()=>r,u_brightnessSaturationGammaIntensity:()=>u,u_groundColor:()=>e.groundColor.withAlpha(e.groundAlbedo,RUe)},persists:!0,owner:e,postExecute:()=>{let x=e._radianceMapComputeCommands;if(!l(x[g]))return;x[g]=void 0;let b=new Gr({context:n,colorTextures:[e._radianceMapTextures[g]],destroyAttachments:!1});b._bind(),e._radianceCubeMap[d].copyFromFramebuffer(),b._unBind(),b.destroy(),ii._activeComputeCommandCount--,x.some(l)||(e._convolutionsCommandsDirty=!0,e._shouldRegenerateShaders=!0)}});e._radianceMapComputeCommands[f]=m,ii._queueCommand(m,t),f++}e._radianceCommandsDirty=!1}}function LUe(e,t){let n=e._radianceCubeMap;n.generateMipmap();let i=e._mipmapLevels,o=e._textureDimensions,r=o.x/2,s=o.y/2,a=t.context,c=0,u=(d,p,g,m)=>()=>{let x=e._convolutionComputeCommands;!l(x[d])||x[d].canceled||(x[d]=void 0,n.copyFace(t,p,g,m),c++,ii._activeComputeCommandCount--,c===e._specularMapTextures.length&&(e._irradianceCommandDirty=!0,n.sampler=new $t({minificationFilter:Zt.LINEAR_MIPMAP_LINEAR}),e._shouldRegenerateShaders=!0))},f=0;for(let d=1;d<i;++d){for(let p of Ir.faceNames()){let g=e._specularMapTextures[f]=new Pt({context:a,width:r,height:s,pixelDatatype:Ze.UNSIGNED_BYTE,pixelFormat:ot.RGBA}),m=e._va;l(m)||(m=Ir.createVertexArray(a,p),e._va=m);let x=e._convolveSP;l(x)||(x=tn.fromCache({context:a,vertexShaderSource:KN,fragmentShaderSource:XN,attributeLocations:{positions:0}}),e._convolveSP=x);let b=new rl({shaderProgram:x,vertexArray:m,outputTexture:g,persists:!0,owner:e,uniformMap:{u_roughness:()=>d/(i-1),u_radianceTexture:()=>n??a.defaultTexture,u_faceDirection:()=>Ir.getDirection(p,Ooe)},postExecute:u(f,g,p,d)});e._convolutionComputeCommands[f]=b,ii._queueCommand(b,t),++f}r/=2,s/=2}}var Roe=new U(3,3);function NUe(e,t){let n=t.context,i=Roe,o=e._irradianceMapTexture;l(o)||(o=new Pt({context:n,width:i.x,height:i.y,pixelDatatype:Ze.FLOAT,pixelFormat:ot.RGBA}),e._irradianceMapTexture=o);let r=e._irradianceMapFS;l(r)||(r=new He({sources:[qN]}),e._irradianceMapFS=r);let s=new rl({fragmentShaderSource:r,outputTexture:o,uniformMap:{u_radianceMap:()=>e._radianceCubeMap??n.defaultTexture},postExecute:()=>{l(e._irradianceComputeCommand)&&(e._irradianceTextureDirty=!1,e._irradianceComputeCommand=void 0,e._sphericalHarmonicCoefficientsDirty=!0,ii._activeComputeCommandCount--)}});e._irradianceComputeCommand=s,ii._queueCommand(s,t),e._irradianceTextureDirty=!0}function FUe(e,t){let n=t.context,i=new Gr({context:n,colorTextures:[e._irradianceMapTexture],destroyAttachments:!1}),o=Roe,r=n.readPixels({x:0,y:0,width:o.x,height:o.y,framebuffer:i});for(let s=0;s<9;++s)e._sphericalHarmonicCoefficients[s]=h.unpack(r,s*4),h.multiplyByScalar(e._sphericalHarmonicCoefficients[s],e.atmosphereScatteringIntensity,e._sphericalHarmonicCoefficients[s]);i.destroy(),e._shouldRegenerateShaders=!0}ii.prototype.update=function(e){let t=e.mode;if(!ii.isDynamicUpdateSupported(e)||!this.enabled||!this.shouldUpdate||!l(this._position)||t===ne.MORPHING){this._shouldRegenerateShaders=!1;return}ii._updateCommandQueue(e);let i=e.atmosphere.dynamicLighting;if((IUe(this,e)||i===Ig.SUNLIGHT&&!K.equalsEpsilon(e.time,this._lastTime,this.maximumSecondsDifference))&&(this.reset(),this._lastTime=K.clone(e.time,this._lastTime)),this._radianceMapDirty&&(MUe(this,e),this._radianceMapDirty=!1),this._convolutionsCommandsDirty&&(LUe(this,e),this._convolutionsCommandsDirty=!1),this._irradianceCommandDirty&&(NUe(this,e),this._irradianceCommandDirty=!1),this._irradianceTextureDirty){this._shouldRegenerateShaders=!1;return}if(this._sphericalHarmonicCoefficientsDirty){FUe(this,e),this._sphericalHarmonicCoefficientsDirty=!1;return}this._shouldRegenerateShaders=!1};ii.prototype.isDestroyed=function(){return!1};ii.prototype.destroy=function(){let e=this._radianceMapComputeCommands.length;for(let t=0;t<e;++t)this._radianceMapComputeCommands[t]=void 0;e=this._convolutionComputeCommands.length;for(let t=0;t<e;++t)this._convolutionComputeCommands[t]=void 0;this._irradianceMapComputeCommand=void 0,e=this._radianceMapTextures.length;for(let t=0;t<e;++t)this._radianceMapTextures[t]=this._radianceMapTextures[t]&&this._radianceMapTextures[t].destroy();e=this._specularMapTextures.length;for(let t=0;t<e;++t)this._specularMapTextures[t]=this._specularMapTextures[t]&&this._specularMapTextures[t].destroy();return this._radianceCubeMap=this._radianceCubeMap&&this._radianceCubeMap.destroy(),this._irradianceMapTexture=this._irradianceMapTexture&&this._irradianceMapTexture.destroy(),ue(this)};ii.isDynamicUpdateSupported=function(e){let t=e.context;return t.halfFloatingPointTexture||t.colorBufferFloat};ii.AVERAGE_EARTH_GROUND_COLOR=Object.freeze(z.fromCssColorString("#717145"));ii.DEFAULT_SPHERICAL_HARMONIC_COEFFICIENTS=Object.freeze([Object.freeze(new h(.35449,.35449,.35449)),h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO,h.ZERO]);var Pg=ii;var xw={HIGHLIGHT:0,REPLACE:1,MIX:2};xw.getColorBlend=function(e,t){if(e===xw.HIGHLIGHT)return 0;if(e===xw.REPLACE)return 1;if(e===xw.MIX)return P.clamp(t,P.EPSILON4,1)};var Fc=Object.freeze(xw);var BUe={XTRANSLATE:"xTranslate",YTRANSLATE:"yTranslate",ZTRANSLATE:"zTranslate",XROTATE:"xRotate",YROTATE:"yRotate",ZROTATE:"zRotate",XSCALE:"xScale",YSCALE:"yScale",ZSCALE:"zScale",UNIFORMSCALE:"uniformScale"},Bc=Object.freeze(BUe);var kUe={STEP:0,LINEAR:1,CUBICSPLINE:2},Zh=Object.freeze(kUe);var Moe={};function bw(e){this._count=e.count,this._properties=We(e.properties,!0)}bw.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,Moe)};bw.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,Moe,e)};bw.prototype.getProperty=function(e,t){let n=this._properties[t];if(l(n))return We(n[e],!0)};bw.prototype.setProperty=function(e,t,n){let i=this._properties[t];l(i)||(i=new Array(this._count),this._properties[t]=i),i[e]=We(n,!0)};var Og=bw;function ic(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._id=e.id,this._count=e.count,this._extras=e.extras,this._extensions=e.extensions,this._metadataTable=e.metadataTable,this._jsonMetadataTable=e.jsonMetadataTable,this._batchTableHierarchy=e.batchTableHierarchy}Object.defineProperties(ic.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},count:{get:function(){return this._count}},class:{get:function(){if(l(this._metadataTable))return this._metadataTable.class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},byteLength:{get:function(){let e=0;return l(this._metadataTable)&&(e+=this._metadataTable.byteLength),l(this._batchTableHierarchy)&&(e+=this._batchTableHierarchy.byteLength),e}}});ic.prototype.hasProperty=function(e,t){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(t)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.hasProperty(e,t)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(t))};ic.prototype.hasPropertyBySemantic=function(e,t){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(t):!1};ic.prototype.propertyExists=function(e){return!!(l(this._metadataTable)&&this._metadataTable.hasProperty(e)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.propertyExists(e)||l(this._jsonMetadataTable)&&this._jsonMetadataTable.hasProperty(e))};ic.prototype.propertyExistsBySemantic=function(e){return l(this._metadataTable)?this._metadataTable.hasPropertyBySemantic(e):!1};var $9=[];ic.prototype.getPropertyIds=function(e,t){return t=l(t)?t:[],t.length=0,l(this._metadataTable)&&t.push.apply(t,this._metadataTable.getPropertyIds($9)),l(this._batchTableHierarchy)&&t.push.apply(t,this._batchTableHierarchy.getPropertyIds(e,$9)),l(this._jsonMetadataTable)&&t.push.apply(t,this._jsonMetadataTable.getPropertyIds($9)),t};ic.prototype.getProperty=function(e,t){let n;if(l(this._metadataTable)&&(n=this._metadataTable.getProperty(e,t),l(n))||l(this._batchTableHierarchy)&&(n=this._batchTableHierarchy.getProperty(e,t),l(n))||l(this._jsonMetadataTable)&&(n=this._jsonMetadataTable.getProperty(e,t),l(n)))return n};ic.prototype.setProperty=function(e,t,n){l(this._metadataTable)&&this._metadataTable.setProperty(e,t,n)||l(this._batchTableHierarchy)&&this._batchTableHierarchy.setProperty(e,t,n)||(l(this._jsonMetadataTable)||(this._jsonMetadataTable=new Og({count:this._count,properties:{}})),this._jsonMetadataTable.setProperty(e,t,n))};ic.prototype.getPropertyBySemantic=function(e,t){if(l(this._metadataTable))return this._metadataTable.getPropertyBySemantic(e,t)};ic.prototype.setPropertyBySemantic=function(e,t,n){return l(this._metadataTable)?this._metadataTable.setPropertyBySemantic(e,t,n):!1};ic.prototype.getPropertyTypedArray=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArray(e)};ic.prototype.getPropertyTypedArrayBySemantic=function(e){if(l(this._metadataTable))return this._metadataTable.getPropertyTypedArrayBySemantic(e)};ic.prototype.isClass=function(e,t){let n=this._batchTableHierarchy;return l(n)?n.isClass(e,t):!1};ic.prototype.isExactClass=function(e,t){return this.getExactClassName(e)===t};ic.prototype.getExactClassName=function(e){let t=this._batchTableHierarchy;if(l(t))return t.getClassName(e)};var xl=ic;function Tw(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty,i=e.textures,o=l(t.channels)?t.channels:[0],r=t,s=su.createModelTextureReader({textureInfo:r,channels:zUe(o),texture:i[r.index]});this._min=t.min,this._max=t.max;let a=t.offset,c=t.scale,u=n.hasValueTransform||l(a)||l(c);a=y(a,n.offset),c=y(c,n.scale),a=n.unpackVectorAndMatrixTypes(a),c=n.unpackVectorAndMatrixTypes(c),this._offset=a,this._scale=c,this._hasValueTransform=u,this._textureReader=s,this._classProperty=n,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Tw.prototype,{textureReader:{get:function(){return this._textureReader}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Tw.prototype.isGpuCompatible=function(){let e=this._classProperty,t=e.type,n=e.componentType;return e.isArray?e.isVariableLengthArray?(Tt(`Property texture property ${e.id} is a variable-length array, which is not supported`),!1):e.arrayLength>4?(Tt(`Property texture property ${e.id} is an array of length ${e.arrayLength}, but may have at most a length of 4`),!1):t!==dt.SCALAR?(Tt(`Property texture property ${e.id} is an array of type ${t}, but only SCALAR is supported`),!1):n!==Vt.UINT8?(Tt(`Property texture property ${e.id} is an array with component type ${n}, but only UINT8 is supported`),!1):!0:dt.isVectorType(t)||t===dt.SCALAR?n!==Vt.UINT8?(Tt(`Property texture property ${e.id} has component type ${n}, but only UINT8 is supported`),!1):!0:(Tt(`Property texture property ${e.id} has an unsupported type`),!1)};var VUe=[void 0,"float","vec2","vec3","vec4"],UUe=[void 0,"int","ivec2","ivec3","ivec4"];Tw.prototype.getGlslType=function(){let e=this._classProperty,t=dt.getComponentCount(e.type);return e.isArray&&(t=e.arrayLength),e.normalized?VUe[t]:UUe[t]};Tw.prototype.unpackInShader=function(e){return this._classProperty.normalized?e:`${this.getGlslType()}(255.0 * ${e})`};function zUe(e){return e.map(function(t){return"rgba".charAt(t)}).join("")}var ZN=Tw;function Q9(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyTexture,n=e.class,i=e.textures,o=t.extensions,r=t.extras,s={};if(l(t.properties))for(let a in t.properties)t.properties.hasOwnProperty(a)&&(s[a]=new ZN({property:t.properties[a],classProperty:n.properties[a],textures:i}));this._name=e.name,this._id=e.id,this._class=n,this._properties=s,this._extras=r,this._extensions=o}Object.defineProperties(Q9.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Q9.prototype.getProperty=function(e){return this._properties[e]};var Rg=Q9;function Loe(e){e=y(e,y.EMPTY_OBJECT);let t=e.property,n=e.classProperty;this._attribute=t.attribute,this._classProperty=n,this._min=t.min,this._max=t.max;let i=t.offset,o=t.scale,r=n.hasValueTransform||l(i)||l(o);i=y(i,n.offset),o=y(o,n.scale),i=n.unpackVectorAndMatrixTypes(i),o=n.unpackVectorAndMatrixTypes(o),this._offset=i,this._scale=o,this._hasValueTransform=r,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Loe.prototype,{attribute:{get:function(){return this._attribute}},hasValueTransform:{get:function(){return this._hasValueTransform}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},classProperty:{get:function(){return this._classProperty}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var $N=Loe;function J9(e){e=y(e,y.EMPTY_OBJECT);let t=e.propertyAttribute,n=e.class,i={};if(l(t.properties))for(let o in t.properties)t.properties.hasOwnProperty(o)&&(i[o]=new $N({property:t.properties[o],classProperty:n.properties[o]}));this._name=e.name,this._id=e.id,this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(J9.prototype,{name:{get:function(){return this._name}},id:{get:function(){return this._id}},class:{get:function(){return this._class}},properties:{get:function(){return this._properties}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});J9.prototype.getProperty=function(e){return this._properties[e]};var LC=J9;function Cw(e){e=y(e,y.EMPTY_OBJECT),this._schema=e.schema;let t=e.propertyTables;this._propertyTableCount=l(t)?t.length:0,this._propertyTables=t,this._propertyTextures=e.propertyTextures,this._propertyAttributes=e.propertyAttributes,this._statistics=e.statistics,this._extras=e.extras,this._extensions=e.extensions}Object.defineProperties(Cw.prototype,{schema:{get:function(){return this._schema}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}},propertyTableCount:{get:function(){return this._propertyTableCount}},propertyTables:{get:function(){return this._propertyTables}},propertyTextures:{get:function(){return this._propertyTextures}},propertyAttributes:{get:function(){return this._propertyAttributes}},propertyTablesByteLength:{get:function(){if(!l(this._propertyTables))return 0;let e=0,t=this._propertyTables.length;for(let n=0;n<t;n++)e+=this._propertyTables[n].byteLength;return e}}});Cw.prototype.getPropertyTable=function(e){return this._propertyTables[e]};Cw.prototype.getPropertyTexture=function(e){return this._propertyTextures[e]};Cw.prototype.getPropertyAttribute=function(e){return this._propertyAttributes[e]};var aa=Cw;function HUe(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i=[];if(l(t.propertyTables))for(let s=0;s<t.propertyTables.length;s++){let a=t.propertyTables[s],c=n.classes[a.class],u=new ou({count:a.count,properties:a.properties,class:c,bufferViews:e.bufferViews});i.push(new xl({id:s,name:a.name,count:a.count,metadataTable:u,extras:a.extras,extensions:a.extensions}))}let o=[];if(l(t.propertyTextures))for(let s=0;s<t.propertyTextures.length;s++){let a=t.propertyTextures[s];o.push(new Rg({id:s,name:a.name,propertyTexture:a,class:n.classes[a.class],textures:e.textures}))}let r=[];if(l(t.propertyAttributes))for(let s=0;s<t.propertyAttributes.length;s++){let a=t.propertyAttributes[s];r.push(new LC({id:s,name:a.name,class:n.classes[a.class],propertyAttribute:a}))}return new aa({schema:n,propertyTables:i,propertyTextures:o,propertyAttributes:r,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}var QN=HUe;function GUe(e){e=y(e,y.EMPTY_OBJECT);let t=e.extension,n=e.schema,i,o=[],r;if(l(t.featureTables))for(r=Object.keys(t.featureTables).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTables[a],u=n.classes[c.class],f=new ou({count:c.count,properties:c.properties,class:u,bufferViews:e.bufferViews});o.push(new xl({id:a,count:c.count,metadataTable:f,extras:c.extras,extensions:c.extensions}))}let s=[];if(l(t.featureTextures))for(r=Object.keys(t.featureTextures).sort(),i=0;i<r.length;i++){let a=r[i],c=t.featureTextures[a];s.push(new Rg({id:a,propertyTexture:WUe(c),class:n.classes[c.class],textures:e.textures}))}return new aa({schema:n,propertyTables:o,propertyTextures:s,statistics:t.statistics,extras:t.extras,extensions:t.extensions})}function WUe(e){let t={class:e.class,properties:{}},n=e.properties;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i],r={channels:jUe(o.channels),extras:o.extras,extensions:o.extensions};t.properties[i]=Ct(o.texture,r,!0)}return t}function jUe(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]="rgba".indexOf(e[i]);return n}var JN=GUe;function Mg(e){e=y(e,y.EMPTY_OBJECT);let{gltf:t,extension:n,extensionLegacy:i,gltfResource:o,baseResource:r,supportedImageFormats:s,frameState:a,cacheKey:c,asynchronous:u=!0}=e;this._gltfResource=o,this._baseResource=r,this._gltf=t,this._extension=n,this._extensionLegacy=i,this._supportedImageFormats=s,this._frameState=a,this._cacheKey=c,this._asynchronous=u,this._bufferViewLoaders=[],this._bufferViewIds=[],this._textureLoaders=[],this._textureIds=[],this._schemaLoader=void 0,this._structuralMetadata=void 0,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(Mg.prototype=Object.create(Ki.prototype),Mg.prototype.constructor=Mg);Object.defineProperties(Mg.prototype,{cacheKey:{get:function(){return this._cacheKey}},structuralMetadata:{get:function(){return this._structuralMetadata}}});async function qUe(e){try{let t=$Ue(e),n=nze(e),i=ize(e);return await Promise.all([t,n,i]),e.isDestroyed()?void 0:(e._gltf=void 0,e._state=gt.LOADED,e)}catch(t){if(e.isDestroyed())return;throw e.unload(),e._state=gt.FAILED,e.getError("Failed to load structural metadata",t)}}Mg.prototype.load=function(){return l(this._promise)?this._promise:(this._state=gt.LOADING,this._promise=qUe(this),this._promise)};function YUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.values,r=i.arrayOffsets,s=i.stringOffsets;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function XUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n],o=i.bufferView,r=i.arrayOffsetBufferView,s=i.stringOffsetBufferView;l(o)&&(t[o]=!0),l(r)&&(t[r]=!0),l(s)&&(t[s]=!0)}}function KUe(e){let t=e.propertyTables,n={};if(l(t))for(let i=0;i<t.length;i++){let o=t[i];YUe(o.properties,n)}return n}function ZUe(e){let t=e.featureTables,n={};if(l(t)){for(let i in t)if(t.hasOwnProperty(i)){let r=t[i].properties;l(r)&&XUe(r,n)}}return n}async function $Ue(e){let t;l(e._extension)?t=KUe(e._extension):t=ZUe(e._extensionLegacy);let n=[];for(let i in t)if(t.hasOwnProperty(i)){let o=Si.getBufferViewLoader({gltf:e._gltf,bufferViewId:parseInt(i),gltfResource:e._gltfResource,baseResource:e._baseResource});e._bufferViewLoaders.push(o),e._bufferViewIds.push(i),n.push(o.load())}return Promise.all(n)}function QUe(e){let t={},n=e.propertyTextures;if(l(n))for(let i=0;i<n.length;i++){let r=n[i].properties;l(r)&&JUe(r,t)}return t}function JUe(e,t){for(let n in e)if(e.hasOwnProperty(n)){let i=e[n];t[i.index]=i}}function eze(e){let t={},n=e.featureTextures;if(l(n)){for(let i in n)if(n.hasOwnProperty(i)){let r=n[i].properties;l(r)&&tze(r,t)}}return t}function tze(e,t){for(let n in e)if(e.hasOwnProperty(n)){let o=e[n].texture;t[o.index]=o}}function nze(e){let t;l(e._extension)?t=QUe(e._extension):t=eze(e._extensionLegacy);let n=e._gltf,i=e._gltfResource,o=e._baseResource,r=e._supportedImageFormats,s=e._frameState,a=e._asynchronous,c=[];for(let u in t)if(t.hasOwnProperty(u)){let f=Si.getTextureLoader({gltf:n,textureInfo:t[u],gltfResource:i,baseResource:o,supportedImageFormats:r,frameState:s,asynchronous:a});e._textureLoaders.push(f),e._textureIds.push(u),c.push(f.load())}return Promise.all(c)}async function ize(e){let t=y(e._extension,e._extensionLegacy),n;if(l(t.schemaUri)){let i=e._baseResource.getDerivedResource({url:t.schemaUri});n=Si.getSchemaLoader({resource:i})}else n=Si.getSchemaLoader({schema:t.schema});if(e._schemaLoader=n,await n.load(),!n.isDestroyed())return n.schema}Mg.prototype.process=function(e){if(this._state===gt.READY)return!0;if(this._state!==gt.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let a=0;a<n;++a){let u=t[a].process(e);i=i&&u}if(!i)return!1;let o=this._schemaLoader.schema,r={};for(let a=0;a<this._bufferViewIds.length;++a){let c=this._bufferViewIds[a],u=this._bufferViewLoaders[a];if(!u.isDestroyed()){let f=new Uint8Array(u.typedArray);r[c]=f}}let s={};for(let a=0;a<this._textureIds.length;++a){let c=this._textureIds[a],u=t[a];u.isDestroyed()||(s[c]=u.texture)}return l(this._extension)?this._structuralMetadata=QN({extension:this._extension,schema:o,bufferViews:r,textures:s}):this._structuralMetadata=JN({extension:this._extensionLegacy,schema:o,bufferViews:r,textures:s}),Noe(this),this._state=gt.READY,!0};function Noe(e){let t=e._bufferViewLoaders,n=t.length;for(let i=0;i<n;++i)Si.unload(t[i]);e._bufferViewLoaders.length=0,e._bufferViewIds.length=0}function oze(e){let t=e._textureLoaders,n=t.length;for(let i=0;i<n;++i)Si.unload(t[i]);e._textureLoaders.length=0,e._textureIds.length=0}Mg.prototype.unload=function(){Noe(this),oze(this),l(this._schemaLoader)&&Si.unload(this._schemaLoader),this._schemaLoader=void 0,this._structuralMetadata=void 0};var eF=Mg;var NC={TRANSLATION:"TRANSLATION",ROTATION:"ROTATION",SCALE:"SCALE",FEATURE_ID:"_FEATURE_ID"};NC.fromGltfSemantic=function(e){let t=e,i=/^(\w+)_\d+$/.exec(e);switch(i!==null&&(t=i[1]),t){case"TRANSLATION":return NC.TRANSLATION;case"ROTATION":return NC.ROTATION;case"SCALE":return NC.SCALE;case"_FEATURE_ID":return NC.FEATURE_ID}};var as=Object.freeze(NC);var rze=65534,sze=255;function tF(e){e=y(e,y.EMPTY_OBJECT);let t=e.triangleIndices,n=e.outlineIndices,i=e.originalVertexCount;this._triangleIndices=t,this._originalVertexCount=i,this._edges=new koe(n,i),this._outlineCoordinatesTypedArray=void 0,this._extraVertices=[],aze(this)}Object.defineProperties(tF.prototype,{updatedTriangleIndices:{get:function(){return this._triangleIndices}},outlineCoordinates:{get:function(){return this._outlineCoordinatesTypedArray}}});function aze(e){let t=e._triangleIndices,n=e._edges,i=[],o=e._extraVertices,r=e._originalVertexCount,s={};for(let a=0;a<t.length;a+=3){let c=t[a],u=t[a+1],f=t[a+2],d=!1,p=d||n.hasEdge(c,u),g=d||n.hasEdge(u,f),m=d||n.hasEdge(f,c),x=Foe(i,c,u,f,p,g,m);for(;l(x);){let b=s[x];if(!l(b)){b=r+o.length;let T=x;for(;T>=r;)T=o[T-r];o.push(T),s[x]=b}b>rze&&(t instanceof Uint16Array||t instanceof Uint8Array)?t=new Uint32Array(t):b>sze&&t instanceof Uint8Array&&(t=new Uint16Array(t)),x===c?(c=b,t[a]=b):x===u?(u=b,t[a+1]=b):(f=b,t[a+2]=b),x=Foe(i,c,u,f,p,g,m)}}e._triangleIndices=t,e._outlineCoordinatesTypedArray=new Float32Array(i)}function Foe(e,t,n,i,o,r,s){let a=s?1:0,c=o?1:0,u=0,f=eW(e,t,a,c,u);if(f===0)return t;let d=0,p=o?1:0,g=r?1:0,m=eW(e,n,d,p,g);if(m===0)return n;let x=s?1:0,b=0,T=r?1:0,C=eW(e,i,x,b,T);if(C===0)return i;let A=f&m&C,S,v,D;if(A&1)S=0,v=1,D=2;else if(A&2)S=0,D=1,v=2;else if(A&4)v=0,S=1,D=2;else if(A&8)v=0,D=1,S=2;else if(A&16)D=0,S=1,v=2;else if(A&32)D=0,v=1,S=2;else{let N=tW(f),_=tW(m),E=tW(C);return N<_&&N<E?t:_<E?n:i}let R=t*3;e[R+S]=a,e[R+v]=c,e[R+D]=u;let O=n*3;e[O+S]=d,e[O+v]=p,e[O+D]=g;let M=i*3;e[M+S]=x,e[M+v]=b,e[M+D]=T}function eW(e,t,n,i,o){let r=t*3,s=e[r],a=e[r+1],c=e[r+2];return l(s)?(s===n&&a===i&&c===o)<<0|(s===n&&a===o&&c===i)<<1|(s===i&&a===n&&c===o)<<2|(s===i&&a===o&&c===n)<<3|(s===o&&a===n&&c===i)<<4|(s===o&&a===i&&c===n)<<5:63}function tW(e){return(e&1)+(e>>1&1)+(e>>2&1)+(e>>3&1)+(e>>4&1)+(e>>5&1)}tF.prototype.updateAttribute=function(e){let t=this._extraVertices,n=e.length,i=n/this._originalVertexCount,o=t.length,r=e.constructor,s=new r(e.length+o*i);s.set(e);for(let a=0;a<o;a++){let c=t[a]*i,u=n+a*i;for(let f=0;f<i;f++)s[u+f]=s[c+f]}return s};tF.createTexture=function(e){let t=e.cache.modelOutliningCache;if(l(t)||(t=e.cache.modelOutliningCache={}),l(t.outlineTexture))return t.outlineTexture;let n=Math.min(4096,Bt.maximumTextureSize),i=n,o=Boe(i),r=[];for(;i>1;)i>>=1,r.push(Boe(i));let s=new Pt({context:e,source:{arrayBufferView:o,mipLevels:r},width:n,height:1,pixelFormat:ot.LUMINANCE,sampler:new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.LINEAR_MIPMAP_LINEAR,magnificationFilter:pi.LINEAR})});return t.outlineTexture=s,s};function Boe(e){let t=new Uint8Array(e);return t[e-1]=192,e===8?t[e-1]=96:e===4?t[e-1]=48:e===2?t[e-1]=24:e===1&&(t[e-1]=12),t}function koe(e,t){this._originalVertexCount=t,this._edges=new Set;for(let n=0;n<e.length;n+=2){let i=e[n],o=e[n+1],r=Math.min(i,o),s=Math.max(i,o),a=r*this._originalVertexCount+s;this._edges.add(a)}}koe.prototype.hasEdge=function(e,t){let n=Math.min(e,t),i=Math.max(e,t),o=n*this._originalVertexCount+i;return this._edges.has(o)};var FC=tF;function Voe(e){this.attribute=e,this.loadBuffer=!1,this.loadTypedArray=!1}function cze(e){this.indices=e,this.loadBuffer=!1,this.loadTypedArray=!1}function nF(e){this.primitive=e,this.attributePlans=[],this.indicesPlan=void 0,this.needsOutlines=!1,this.outlineIndices=void 0}nF.prototype.postProcess=function(e){this.needsOutlines&&(lze(this),fze(this,e))};function lze(e){let t=e.primitive,n=t.indices,i=t.attributes[0].count,o=new FC({triangleIndices:n.typedArray,outlineIndices:e.outlineIndices,originalVertexCount:i});n.typedArray=o.updatedTriangleIndices,n.indexDatatype=ke.fromTypedArray(n.typedArray);let r=uze(o.outlineCoordinates),s=new Voe(r);s.loadBuffer=!0,s.loadTypedArray=!1,e.attributePlans.push(s),t.outlineCoordinates=s.attribute;let a=e.attributePlans,c=e.attributePlans.length;for(let u=0;u<c;u++){let f=a[u].attribute;f.typedArray=o.updateAttribute(f.typedArray)}}function uze(e){let t=new Tn.Attribute;return t.name="_OUTLINE_COORDINATES",t.typedArray=e,t.componentDatatype=X.FLOAT,t.type=sn.VEC3,t.normalized=!1,t.count=e.length/3,t}function fze(e,t){dze(e.attributePlans,t),l(e.indicesPlan)&&hze(e.indicesPlan,t)}function dze(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i],r=o.attribute,s=r.typedArray;if(o.loadBuffer){let a=bt.createVertexBuffer({typedArray:s,context:t,usage:Ue.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.buffer=a}o.loadTypedArray||(r.typedArray=void 0)}}function hze(e,t){let n=e.indices;if(e.loadBuffer){let i=bt.createIndexBuffer({typedArray:n.typedArray,context:t,usage:Ue.STATIC_DRAW,indexDatatype:n.indexDatatype});n.buffer=i,i.vertexArrayDestroyable=!1}e.loadTypedArray||(n.typedArray=void 0)}nF.AttributeLoadPlan=Voe;nF.IndicesLoadPlan=cze;var BC=nF;function mze(e){e=y(e,y.EMPTY_OBJECT),this.webp=y(e.webp,!1),this.basis=y(e.basis,!1)}var iF=mze;function Uoe(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams}Object.defineProperties(Uoe.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}}});var oF=Uoe;function zoe(e){this._position=e.position,this._adjustmentParams=e.adjustmentParams,this._covarianceMatrix=e.covarianceMatrix}Object.defineProperties(zoe.prototype,{position:{get:function(){return this._position}},adjustmentParams:{get:function(){return this._adjustmentParams}},covarianceMatrix:{get:function(){return this._covarianceMatrix}}});var rF=zoe;function Hoe(e){this._groupFlags=e.groupFlags,this._rotationThetas=e.rotationThetas,this._params=e.params}Object.defineProperties(Hoe.prototype,{groupFlags:{get:function(){return this._groupFlags}},rotationThetas:{get:function(){return this._rotationThetas}},params:{get:function(){return this._params}}});var sF=Hoe;var pze={Direct:"Direct",Indirect:"Indirect"},Tx=Object.freeze(pze);function Goe(e){this._storageType=e.storageType,this._anchorPointsIndirect=e.anchorPointsIndirect,this._anchorPointsDirect=e.anchorPointsDirect,this._intraTileCorrelationGroups=e.intraTileCorrelationGroups,this._covarianceDirect=e.covarianceDirect}Object.defineProperties(Goe.prototype,{storageType:{get:function(){return this._storageType}},anchorPointsIndirect:{get:function(){return this._anchorPointsIndirect}},anchorPointsDirect:{get:function(){return this._anchorPointsDirect}},intraTileCorrelationGroups:{get:function(){return this._intraTileCorrelationGroups}},covarianceDirect:{get:function(){return this._covarianceDirect}}});var Aw=Goe;function Woe(e){this._A=e.A,this._alpha=e.alpha,this._beta=e.beta,this._T=e.T}Object.defineProperties(Woe.prototype,{A:{get:function(){return this._A}},alpha:{get:function(){return this._alpha}},beta:{get:function(){return this._beta}},T:{get:function(){return this._T}}});var aF=Woe;function kC(){}function joe(e){return new $(e[0],e[1],e[3],e[1],e[2],e[4],e[3],e[4],e[5])}function _ze(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h);return new oF({position:t,adjustmentParams:n})}function gze(e){let t=h.fromArray(e.position,0,new h),n=h.fromArray(e.adjustmentParams,0,new h),i=joe(e.covarianceMatrix);return new rF({position:t,adjustmentParams:n,covarianceMatrix:i})}function yze(e){let t=e.groupFlags,n=h.fromArray(e.rotationThetas,0,new h),i=[];for(let r of e.params){let s=new aF({A:r.A,alpha:r.alpha,beta:r.beta,T:r.T});i.push(s)}return new sF({groupFlags:t,rotationThetas:n,params:i})}kC.load=function(e){let t=e.storageType;if(t===Tx.Direct)return kC.loadDirect(e);if(t===Tx.Indirect)return kC.loadIndirect(e);throw new se(`Invalid storage type in NGA_gpm_local - expected 'Direct' or 'Indirect', but found ${t}`)};kC.loadDirect=function(e){let t=[],n=e.anchorPointsDirect;for(let r of n){let s=_ze(r);t.push(s)}let i=joe(e.covarianceDirectUpperTriangle);return new Aw({storageType:Tx.Direct,anchorPointsDirect:t,covarianceDirect:i})};kC.loadIndirect=function(e){let t=[],n=e.anchorPointsIndirect;for(let s of n){let a=gze(s);t.push(a)}let i=e.intraTileCorrelationGroups,o=[];for(let s of i){let a=yze(s);o.push(a)}return new Aw({storageType:Tx.Indirect,anchorPointsIndirect:t,intraTileCorrelationGroups:o})};var cF=kC;function qoe(e){this._traits=e.traits,this._noData=e.noData,this._offset=e.offset,this._scale=e.scale,this._index=e.index,this._texCoord=e.texCoord}Object.defineProperties(qoe.prototype,{traits:{get:function(){return this._traits}},noData:{get:function(){return this._noData}},offset:{get:function(){return this._offset}},scale:{get:function(){return this._scale}},index:{get:function(){return this._index}},texCoord:{get:function(){return this._texCoord}}});var lF=qoe;function Yoe(e){this._min=e.min,this._max=e.max,this._source=e.source}Object.defineProperties(Yoe.prototype,{min:{get:function(){return this._min}},max:{get:function(){return this._max}},source:{get:function(){return this._source}}});var uF=Yoe;function Xoe(e){this._ppeTextures=e}Object.defineProperties(Xoe.prototype,{ppeTextures:{get:function(){return this._ppeTextures}}});var fF=Xoe;function gr(e){e=y(e,y.EMPTY_OBJECT);let t=e.gltf,n=e.extension,i=e.gltfResource,o=e.baseResource,r=e.supportedImageFormats,s=e.frameState,a=e.cacheKey,c=y(e.asynchronous,!0);this._gltfResource=i,this._baseResource=o,this._gltf=t,this._extension=n,this._supportedImageFormats=r,this._frameState=s,this._cacheKey=a,this._asynchronous=c,this._textureLoaders=[],this._textureIds=[],this._meshPrimitiveGpmLocal=void 0,this._structuralMetadata=void 0,this._state=gt.UNLOADED,this._promise=void 0}l(Object.create)&&(gr.prototype=Object.create(Ki.prototype),gr.prototype.constructor=gr);Object.defineProperties(gr.prototype,{cacheKey:{get:function(){return this._cacheKey}},meshPrimitiveGpmLocal:{get:function(){return this._meshPrimitiveGpmLocal}},structuralMetadata:{get:function(){return this._structuralMetadata}}});gr.prototype._loadResources=async function(){try{return await this._loadTextures(),this.isDestroyed()?void 0:(this._gltf=void 0,this._state=gt.LOADED,this)}catch(e){if(this.isDestroyed())return;throw this.unload(),this._state=gt.FAILED,this.getError("Failed to load GPM data",e)}};gr.prototype.load=function(){return l(this._promise)?this._promise:(this._state=gt.LOADING,this._promise=this._loadResources(this),this._promise)};function xze(e){let t={},n=e.ppeTextures;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];t[o.index]=o}return t}gr.prototype._loadTextures=function(){let e;l(this._extension)&&(e=xze(this._extension));let t=this._gltf,n=this._gltfResource,i=this._baseResource,o=this._supportedImageFormats,r=this._frameState,s=this._asynchronous,a=[];for(let c in e)if(e.hasOwnProperty(c)){let u=Si.getTextureLoader({gltf:t,textureInfo:e[c],gltfResource:n,baseResource:i,supportedImageFormats:o,frameState:r,asynchronous:s});this._textureLoaders.push(u),this._textureIds.push(c),a.push(u.load())}return Promise.all(a)};gr.ppeTexturesMetadataSchemaCache=new Map;gr._createPpeTextureClassJson=function(e,t){let n=e.traits,i=n.source,o=e.offset??0,r=(e.scale??1)*255;return{name:`PPE texture class ${t}`,properties:{[i]:{name:"PPE",type:"SCALAR",componentType:"UINT8",normalized:!0,offset:o,scale:r,min:n.min,max:n.max}}}};gr._obtainPpeTexturesMetadataSchema=function(e){let n=gr._collectPpeTexturePropertyIdentifiers(e).toString(),i=gr.ppeTexturesMetadataSchemaCache.get(n);if(l(i))return i;let r={id:`PPE_TEXTURE_SCHEMA_${gr.ppeTexturesMetadataSchemaCache.size}`,classes:{}},s=e.ppeTextures;for(let a=0;a<s.length;a++){let c=s[a],u=`ppeTexture_${a}`,f=gr._createPpeTextureClassJson(c,a);r.classes[u]=f}return i=lf.fromJson(r),gr.ppeTexturesMetadataSchemaCache.set(n,i),i};gr._collectPpeTexturePropertyIdentifiers=function(e){let t=[],n=e.ppeTextures;for(let i=0;i<n.length;i++){let o=n[i],r=gr._createPpeTextureClassJson(o,i),s=JSON.stringify(r);t.push(s)}return t};gr._convertToStructuralMetadata=function(e,t){let n=[],i=gr._obtainPpeTexturesMetadataSchema(e),o=e.ppeTextures;for(let s=0;s<o.length;s++){let a=o[s],c=`ppeTexture_${s}`,f=a.traits.source,d=i.classes[c],p={class:c,properties:{[f]:{index:a.index,texCoord:a.texCoord}}};n.push(new Rg({id:s,name:a.name,propertyTexture:p,class:d,textures:t}))}return new aa({schema:i,propertyTables:[],propertyTextures:n,propertyAttributes:[]})};gr.prototype.process=function(e){if(this._state===gt.READY)return!0;if(this._state!==gt.LOADED)return!1;let t=this._textureLoaders,n=t.length,i=!0;for(let u=0;u<n;++u){let d=t[u].process(e);i=i&&d}if(!i)return!1;let o={};for(let u=0;u<this._textureIds.length;++u){let f=this._textureIds[u],d=t[u];d.isDestroyed()||(o[f]=d.texture)}let r=[],s=this._extension;if(l(s.ppeTextures)){let u=s.ppeTextures;for(let f of u){let d=f.traits,p=new uF({min:d.min,max:d.max,source:d.source}),g=new lF({traits:p,noData:f.noData,offset:f.offset,scale:f.scale,index:f.index,texCoord:f.texCoord});r.push(g)}}let a=new fF(r);this._meshPrimitiveGpmLocal=a;let c=gr._convertToStructuralMetadata(a,o);return this._structuralMetadata=c,this._state=gt.READY,!0};gr.prototype._unloadTextures=function(){let e=this._textureLoaders,t=e.length;for(let n=0;n<t;++n)Si.unload(e[n]);this._textureLoaders.length=0,this._textureIds.length=0};gr.prototype.unload=function(){this._unloadTextures(),this._gltf=void 0,this._extension=void 0,this._structuralMetadata=void 0};var dF=gr;var{Attribute:bze,Indices:Tze,FeatureIdAttribute:Koe,FeatureIdTexture:Zoe,FeatureIdImplicitRange:$oe,MorphTarget:Cze,Primitive:Aze,Instances:Eze,Skin:Sze,Node:vze,AnimatedPropertyType:wze,AnimationSampler:Dze,AnimationTarget:Ize,AnimationChannel:Pze,Animation:Oze,ArticulationStage:Rze,Articulation:Mze,Asset:Lze,Scene:Nze,Components:Fze,MetallicRoughness:Bze,SpecularGlossiness:kze,Specular:Vze,Anisotropy:nW,Clearcoat:iW,Material:Uze}=Tn,vo={NOT_LOADED:0,LOADING:1,LOADED:2,PROCESSING:3,POST_PROCESSING:4,PROCESSED:5,READY:6,FAILED:7,UNLOADED:8};function xd(e){e=y(e,y.EMPTY_OBJECT);let{gltfResource:t,typedArray:n,releaseGltfJson:i=!1,asynchronous:o=!0,incrementallyLoadTextures:r=!0,upAxis:s=No.Y,forwardAxis:a=No.Z,loadAttributesAsTypedArray:c=!1,loadAttributesFor2D:u=!1,enablePick:f=!1,loadIndicesForWireframe:d=!1,loadPrimitiveOutline:p=!0,loadForClassification:g=!1,renameBatchIdSemantic:m=!1}=e,{baseResource:x=t.clone()}=e;this._gltfJson=e.gltfJson,this._gltfResource=t,this._baseResource=x,this._typedArray=n,this._releaseGltfJson=i,this._asynchronous=o,this._incrementallyLoadTextures=r,this._upAxis=s,this._forwardAxis=a,this._loadAttributesAsTypedArray=c,this._loadAttributesFor2D=u,this._enablePick=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._loadForClassification=g,this._renameBatchIdSemantic=m,this._sortedPropertyTableIds=void 0,this._sortedFeatureTextureIds=void 0,this._gltfJsonLoader=void 0,this._state=vo.NOT_LOADED,this._textureState=vo.NOT_LOADED,this._promise=void 0,this._processError=void 0,this._textureErrors=[],this._primitiveLoadPlans=[],this._loaderPromises=[],this._textureLoaders=[],this._texturesPromises=[],this._textureCallbacks=[],this._bufferViewLoaders=[],this._geometryLoaders=[],this._geometryCallbacks=[],this._structuralMetadataLoader=void 0,this._meshPrimitiveGpmLoader=void 0,this._loadResourcesPromise=void 0,this._resourcesLoaded=!1,this._texturesLoaded=!1,this._supportedImageFormats=void 0,this._postProcessBuffers=[],this._components=void 0}l(Object.create)&&(xd.prototype=Object.create(Ki.prototype),xd.prototype.constructor=xd);Object.defineProperties(xd.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},gltfJson:{get:function(){return l(this._gltfJsonLoader)?this._gltfJsonLoader.gltf:this._gltfJson}},incrementallyLoadTextures:{get:function(){return this._incrementallyLoadTextures}},texturesLoaded:{get:function(){return this._texturesLoaded}}});async function zze(e){e._state=vo.LOADING,e._textureState=vo.LOADING;try{let t=Si.getGltfJsonLoader({gltfResource:e._gltfResource,baseResource:e._baseResource,typedArray:e._typedArray,gltfJson:e._gltfJson});return e._gltfJsonLoader=t,await t.load(),e.isDestroyed()||e.isUnloaded()||t.isDestroyed()?void 0:(e._state=vo.LOADED,e._textureState=vo.LOADED,e)}catch(t){if(e.isDestroyed())return;e._state=vo.FAILED,e._textureState=vo.FAILED,hF(e,t)}}async function Hze(e,t){Gt.supportsWebP.initialized||await Gt.supportsWebP.initialize(),e._supportedImageFormats=new iF({webp:Gt.supportsWebP(),basis:t.context.supportsBasis});let n=j4e(e,t);return e._state=vo.PROCESSING,e._textureState=vo.PROCESSING,l(e._gltfJsonLoader)&&e._releaseGltfJson&&(Si.unload(e._gltfJsonLoader),e._gltfJsonLoader=void 0),n}xd.prototype.load=async function(){return l(this._promise)?this._promise:(this._promise=zze(this),this._promise)};function hF(e,t){throw e.unload(),e.getError("Failed to load glTF",t)}function Gze(e,t){let n=!0,i=e._geometryLoaders;for(let s=0;s<i.length;++s){let a=i[s].process(t);a&&l(e._geometryCallbacks[s])&&(e._geometryCallbacks[s](),e._geometryCallbacks[s]=void 0),n=n&&a}let o=e._structuralMetadataLoader;if(l(o)){let s=o.process(t);s&&(e._components.structuralMetadata=o.structuralMetadata),n=n&&s}let r=e._meshPrimitiveGpmLoader;if(l(r)){let s=r.process(t);s&&(l(e._components.structuralMetadata)&&Tt("structural-metadata-gpm","The model defines both the 'EXT_structural_metadata' extension and the 'NGA_gpm_local' extension. The data from the 'EXT_structural_metadata' extension will be replaced with the data from the 'NGA_gpm_local' extension, and will no longer be available for styling and picking."),e._components.structuralMetadata=r.structuralMetadata),n=n&&s}n&&(e._state=vo.POST_PROCESSING)}function Wze(e,t){let n=e._primitiveLoadPlans;for(let i=0;i<n.length;i++){let o=n[i];o.postProcess(t),o.needsOutlines&&jze(e,o)}}function jze(e,t){let n=e._postProcessBuffers,i=t.primitive,o=i.outlineCoordinates;l(o)&&n.push(o.buffer);let r=i.attributes;for(let a=0;a<r.length;a++){let c=r[a];l(c.buffer)&&n.push(c.buffer)}let s=i.indices;l(s)&&l(s.buffer)&&n.push(s.buffer)}xd.prototype._process=function(e){return this._state===vo.READY?!0:(this._state===vo.PROCESSING&&Gze(this,e),this._resourcesLoaded&&this._state===vo.POST_PROCESSING&&(Wze(this,e.context),this._state=vo.PROCESSED),this._resourcesLoaded&&this._state===vo.PROCESSED?(sre(this),this._typedArray=void 0,this._state=vo.READY,!0):!1)};xd.prototype._processTextures=function(e){if(this._textureState===vo.READY)return!0;if(this._textureState!==vo.PROCESSING)return!1;let t=!0,n=this._textureLoaders;for(let i=0;i<n.length;++i){let o=n[i].process(e);o&&l(this._textureCallbacks[i])&&(this._textureCallbacks[i](),this._textureCallbacks[i]=void 0),t=t&&o}return t?(this._textureState=vo.READY,this._texturesLoaded=!0,!0):!1};xd.prototype.process=function(e){if(this._state===vo.LOADED&&!l(this._loadResourcesPromise)&&(this._loadResourcesPromise=Hze(this,e).then(()=>{this._resourcesLoaded=!0}).catch(o=>{this._processError=o})),l(this._processError)){this._state=vo.FAILED;let o=this._processError;this._processError=void 0,hF(this,o)}let t=this._textureErrors.pop();if(l(t)){let o=this.getError("Failed to load glTF texture",t);throw o.name="TextureError",o}if(this._state===vo.FAILED)return!1;let n=!1;try{n=this._process(e)}catch(o){this._state=vo.FAILED,hF(this,o)}let i=!1;try{i=this._processTextures(e)}catch(o){this._textureState=vo.FAILED,hF(this,o)}return this._incrementallyLoadTextures?n:n&&i};function qze(e,t,n,i,o,r,s){let a=e.gltfJson,u=a.accessors[t].bufferView;return Si.getVertexBufferLoader({gltf:a,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:s,bufferViewId:u,draco:i,attributeSemantic:n,accessorId:t,asynchronous:e._asynchronous,loadBuffer:o,loadTypedArray:r})}function Yze(e,t,n,i,o,r){return Si.getIndexBufferLoader({gltf:e.gltfJson,accessorId:t,gltfResource:e._gltfResource,baseResource:e._baseResource,frameState:r,draco:n,asynchronous:e._asynchronous,loadBuffer:i,loadTypedArray:o})}function Xze(e,t){let n=Si.getBufferViewLoader({gltf:e.gltfJson,bufferViewId:t,gltfResource:e._gltfResource,baseResource:e._baseResource});return e._bufferViewLoaders.push(n),n}function Qoe(e,t,n){let i=t.byteOffset,o=ru(e,t),r=t.count,s=cf(t.type),a=t.componentType,c=X.getSizeInBytes(a),u=c*s,f=r*s;if(o===u)return n=new Uint8Array(n),X.createArrayBufferView(a,n.buffer,n.byteOffset+i,f);let d=X.createTypedArray(a,f),p=new DataView(n.buffer),g=new Array(s),m=bg(t.componentType);i=n.byteOffset+i;for(let x=0;x<r;++x){m(p,i,s,c,g);for(let b=0;b<s;++b)d[x*s+b]=g[b];i+=o}return d}function Kze(e,t){let n=e.type;if(n===sn.SCALAR)return t.fill(0);let i=sn.getMathType(n);return t.fill(i.clone(i.ZERO))}function Zze(e,t,n,i){let o=e.type,r=e.count;if(o===sn.SCALAR)for(let s=0;s<r;s++)n[s]=t[s];else if(o===sn.VEC4&&i)for(let s=0;s<r;s++)n[s]=Le.unpack(t,s*4);else{let s=sn.getMathType(o),a=sn.getNumberOfComponents(o);for(let c=0;c<r;c++)n[c]=s.unpack(t,c*a)}return n}async function $ze(e,t,n,i,o){let{gltfJson:r}=e;if(await t.load(),e.isDestroyed())return;let s=Qoe(r,n,t.typedArray);i=y(i,!1),Zze(n,s,o,i)}function mF(e,t,n){let i=new Array(t.count),o=t.bufferView;if(l(o)){let r=Xze(e,o),s=$ze(e,r,t,n,i);return e._loaderPromises.push(s),i}return Kze(t,i)}function lu(e,t){if(l(t))return e===Number?t[0]:e.unpack(t)}function Qze(e){return e===Number?0:new e}function Jze(e){switch(e){case X.BYTE:return 127;case X.UNSIGNED_BYTE:return 255;case X.SHORT:return 32767;case X.UNSIGNED_SHORT:return 65535;default:return 1}}var e4e={VEC2:new U(-1,-1),VEC3:new h(-1,-1,-1),VEC4:new oe(-1,-1,-1,-1)};function t4e(e,t){let n=Jze(e.componentDatatype),i=e4e[e.type],o=e.min;l(o)&&(o=t.divideByScalar(o,n,o),o=t.maximumByComponent(o,i,o));let r=e.max;l(r)&&(r=t.divideByScalar(r,n,r),r=t.maximumByComponent(r,i,r)),e.min=o,e.max=r}function n4e(e,t,n){let i=e.decodeMatrix,o=lu(n,e.decodedMin),r=lu(n,e.decodedMax);l(o)&&l(r)&&(t.min=o,t.max=r);let s=new Tn.Quantization;s.componentDatatype=t.componentDatatype,s.type=t.type,i.length===4?(s.quantizedVolumeOffset=i[2],s.quantizedVolumeStepSize=i[0]):i.length===9?(s.quantizedVolumeOffset=new U(i[6],i[7]),s.quantizedVolumeStepSize=new U(i[0],i[4])):i.length===16?(s.quantizedVolumeOffset=new h(i[12],i[13],i[14]),s.quantizedVolumeStepSize=new h(i[0],i[5],i[10])):i.length===25&&(s.quantizedVolumeOffset=new oe(i[20],i[21],i[22],i[23]),s.quantizedVolumeStepSize=new oe(i[0],i[6],i[12],i[18])),t.quantization=s}function i4e(e,t,n,i,o){let r=e.accessors[t],s=sn.getMathType(r.type),a=y(r.normalized,!1),c=new bze;c.name=n,c.semantic=i,c.setIndex=o,c.constant=Qze(s),c.componentDatatype=r.componentType,c.normalized=a,c.count=r.count,c.type=r.type,c.min=lu(s,r.min),c.max=lu(s,r.max),c.byteOffset=r.byteOffset,c.byteStride=ru(e,r),li(r,"WEB3D_quantized_attributes")&&n4e(r.extensions.WEB3D_quantized_attributes,c,s);let u=c.semantic===St.POSITION||c.semantic===St.NORMAL||c.semantic===St.TANGENT||c.semantic===St.TEXCOORD;return e.extensionsRequired?.includes("KHR_mesh_quantization")&&a&&u&&t4e(c,s),c}function Joe(e){let n=/^\w+_(\d+)$/.exec(e);if(n!==null)return parseInt(n[1])}var o4e={gltfSemantic:void 0,renamedSemantic:void 0,modelSemantic:void 0};function oW(e,t,n){let i=n;e._renameBatchIdSemantic&&(n==="_BATCHID"||n==="BATCHID")&&(i="_FEATURE_ID_0");let o=t.fromGltfSemantic(i),r=o4e;return r.gltfSemantic=n,r.renamedSemantic=i,r.modelSemantic=o,r}function r4e(e){let t=e===St.POSITION,n=e===St.FEATURE_ID,i=e===St.TEXCOORD;return t||n||i}function s4e(e,t,n,i){if(e.byteOffset=0,e.byteStride=void 0,e.quantization=t.quantization,n&&(e.buffer=t.buffer),i){let o=l(t.quantization)?t.quantization.componentDatatype:e.componentDatatype;e.typedArray=X.createArrayBufferView(o,t.typedArray.buffer)}}function a4e(e,t,n,i,o,r){if(o&&(n.buffer=i.buffer),r){let s=i.typedArray;n.typedArray=Qoe(e,t,s),o||(n.byteOffset=0,n.byteStride=void 0)}}function ere(e,t,n,i,o,r,s){let a=e.gltfJson,c=a.accessors[t],u=c.bufferView,f=n.gltfSemantic,d=n.renamedSemantic,p=n.modelSemantic,g=l(p)?Joe(d):void 0,x=i4e(a,t,f,p,g);if(!l(i)&&!l(u))return x;let b=qze(e,t,f,i,o,r,s),T=e._geometryLoaders.length;e._geometryLoaders.push(b);let C=b.load();return e._loaderPromises.push(C),e._geometryCallbacks[T]=()=>{l(i)&&l(i.attributes)&&l(i.attributes[f])?s4e(x,b,o,r):a4e(a,c,x,b,o,r)},x}function tre(e,t,n,i,o,r,s){let a=n.modelSemantic,c=a===St.POSITION,u=a===St.FEATURE_ID,f=c&&!o&&e._loadAttributesFor2D&&!s.scene3DOnly,d=c&&e._enablePick&&!s.context.webgl2,p=e._loadForClassification&&u,g=e._loadAttributesAsTypedArray,m=!g,x=g||f||d||p,C=ere(e,t,n,i,r?!1:m,r?!0:x,s),A=new BC.AttributeLoadPlan(C);return A.loadBuffer=m,A.loadTypedArray=x,A}function c4e(e,t,n,i,o){let r=e.gltfJson.accessors,s=l(n.ROTATION),a=l(n.TRANSLATION)&&l(r[n.TRANSLATION].min)&&l(r[n.TRANSLATION].max),c=oW(e,as,i),u=c.modelSemantic,f=u===as.TRANSLATION||u===as.ROTATION||u===as.SCALE,d=u===as.TRANSLATION,p=e._loadAttributesAsTypedArray||s&&f||!o.context.instancedArrays,g=e._enablePick&&!o.context.webgl2,m=!p,x=e._loadAttributesFor2D&&!o.scene3DOnly;return ere(e,t,c,void 0,m,p||d&&(!a||x||g),o)}function l4e(e,t,n,i,o,r){let s=e.gltfJson.accessors[t],a=s.bufferView;if(!l(n)&&!l(a))return;let c=new Tze;c.count=s.count;let u=e._loadAttributesAsTypedArray,f=(e._loadIndicesForWireframe||e._enablePick)&&!r.context.webgl2,d=e._loadForClassification&&i,g=!u,m=u||f||d,T=Yze(e,t,n,o?!1:g,o?!0:m,r),C=e._geometryLoaders.length;e._geometryLoaders.push(T);let A=T.load();e._loaderPromises.push(A),e._geometryCallbacks[C]=()=>{c.indexDatatype=T.indexDatatype,c.buffer=T.buffer,c.typedArray=T.typedArray};let S=new BC.IndicesLoadPlan(c);return S.loadBuffer=g,S.loadTypedArray=m,S}function kc(e,t,n,i){let o=e.gltfJson,r=su.getImageIdFromTexture({gltf:o,textureId:t.index,supportedImageFormats:e._supportedImageFormats});if(!l(r))return;let s=Si.getTextureLoader({gltf:o,textureInfo:t,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:n,asynchronous:e._asynchronous}),a=su.createModelTextureReader({textureInfo:t}),c=e._textureLoaders.length;e._textureLoaders.push(s);let u=s.load().catch(f=>{if(!e.isDestroyed()){if(!e._incrementallyLoadTextures)throw f;e._textureState=vo.FAILED,e._textureErrors.push(f)}});return e._texturesPromises.push(u),e._textureCallbacks[c]=()=>{a.texture=s.texture,l(i)&&(a.texture.sampler=i)},a}function u4e(e,t,n){let{diffuseTexture:i,specularGlossinessTexture:o,diffuseFactor:r,specularFactor:s,glossinessFactor:a}=t,c=new kze;return l(i)&&(c.diffuseTexture=kc(e,i,n)),l(o)&&(c.specularGlossinessTexture=kc(e,o,n)),c.diffuseFactor=lu(oe,r),c.specularFactor=lu(h,s),c.glossinessFactor=a,c}function f4e(e,t,n){let{baseColorTexture:i,metallicRoughnessTexture:o,baseColorFactor:r,metallicFactor:s,roughnessFactor:a}=t,c=new Bze;return l(i)&&(c.baseColorTexture=kc(e,i,n)),l(o)&&(c.metallicRoughnessTexture=kc(e,o,n)),c.baseColorFactor=lu(oe,r),c.metallicFactor=s,c.roughnessFactor=a,c}function d4e(e,t,n){let{specularFactor:i,specularTexture:o,specularColorFactor:r,specularColorTexture:s}=t,a=new Vze;return l(o)&&(a.specularTexture=kc(e,o,n)),l(s)&&(a.specularColorTexture=kc(e,s,n)),a.specularFactor=i,a.specularColorFactor=lu(h,r),a}function h4e(e,t,n){let{anisotropyStrength:i=nW.DEFAULT_ANISOTROPY_STRENGTH,anisotropyRotation:o=nW.DEFAULT_ANISOTROPY_ROTATION,anisotropyTexture:r}=t,s=new nW;return l(r)&&(s.anisotropyTexture=kc(e,r,n)),s.anisotropyStrength=i,s.anisotropyRotation=o,s}function m4e(e,t,n){let{clearcoatFactor:i=iW.DEFAULT_CLEARCOAT_FACTOR,clearcoatTexture:o,clearcoatRoughnessFactor:r=iW.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR,clearcoatRoughnessTexture:s,clearcoatNormalTexture:a}=t,c=new iW;return l(o)&&(c.clearcoatTexture=kc(e,o,n)),l(s)&&(c.clearcoatRoughnessTexture=kc(e,s,n)),l(a)&&(c.clearcoatNormalTexture=kc(e,a,n)),c.clearcoatFactor=i,c.clearcoatRoughnessFactor=r,c}function p4e(e,t,n){let i=new Uze,o=y(t.extensions,y.EMPTY_OBJECT),r=o.KHR_materials_pbrSpecularGlossiness,s=o.KHR_materials_specular,a=o.KHR_materials_anisotropy,c=o.KHR_materials_clearcoat,u=t.pbrMetallicRoughness;return i.unlit=l(o.KHR_materials_unlit),l(r)?i.specularGlossiness=u4e(e,r,n):(l(u)&&(i.metallicRoughness=f4e(e,u,n)),l(s)&&!i.unlit&&(i.specular=d4e(e,s,n)),l(a)&&!i.unlit&&(i.anisotropy=h4e(e,a,n)),l(c)&&!i.unlit&&(i.clearcoat=m4e(e,c,n))),l(t.emissiveTexture)&&(i.emissiveTexture=kc(e,t.emissiveTexture,n)),l(t.normalTexture)&&!e._loadForClassification&&(i.normalTexture=kc(e,t.normalTexture,n)),l(t.occlusionTexture)&&(i.occlusionTexture=kc(e,t.occlusionTexture,n)),i.emissiveFactor=lu(h,t.emissiveFactor),i.alphaMode=t.alphaMode,i.alphaCutoff=t.alphaCutoff,i.doubleSided=t.doubleSided,i}function nre(e,t){let n=new Koe;return n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.propertyTableId=e.propertyTable,n.setIndex=e.attribute,n.label=e.label,n.positionalLabel=t,n}function ire(e,t,n,i){let o=new Koe,r=e.featureIds;return o.featureCount=n,o.propertyTableId=t,o.setIndex=Joe(r.attribute),o.positionalLabel=i,o}function ore(e,t){let n=new $oe;return n.propertyTableId=e.propertyTable,n.featureCount=e.featureCount,n.nullFeatureId=e.nullFeatureId,n.label=e.label,n.positionalLabel=t,n.offset=0,n.repeat=1,n}function rre(e,t,n,i){let o=new $oe,r=e.featureIds;o.propertyTableId=t,o.featureCount=n,o.offset=y(r.constant,0);let s=y(r.divisor,0);return o.repeat=s===0?void 0:s,o.positionalLabel=i,o}function _4e(e,t,n,i){let o=new Zoe;o.featureCount=t.featureCount,o.nullFeatureId=t.nullFeatureId,o.propertyTableId=t.propertyTable,o.label=t.label,o.positionalLabel=i;let r=t.texture;o.textureReader=kc(e,r,n,$t.NEAREST);let a=(l(r.channels)?r.channels:[0]).map(function(c){return"rgba".charAt(c)}).join("");return o.textureReader.channels=a,o}function g4e(e,t,n,i,o,r){let s=new Zoe,a=t.featureIds,c=a.texture;return s.featureCount=o,s.propertyTableId=n,s.textureReader=kc(e,c,i,$t.NEAREST),s.textureReader.channels=a.channels,s.positionalLabel=r,s}function y4e(e,t,n,i,o){let r=new Cze,s=void 0,a=!1;for(let c in t){if(!t.hasOwnProperty(c))continue;let u=t[c],f=oW(e,St,c),d=tre(e,u,f,s,a,n,o);r.attributes.push(d.attribute),i.attributePlans.push(d)}return r}function x4e(e,t,n,i){let o=new Aze,r=new BC(o);e._primitiveLoadPlans.push(r);let s=t.material;l(s)&&(o.material=p4e(e,e.gltfJson.materials[s],i));let a=y(t.extensions,y.EMPTY_OBJECT),c=!1,u=a.CESIUM_primitive_outline;e._loadPrimitiveOutline&&l(u)&&(c=!0,r.needsOutlines=!0,r.outlineIndices=b4e(e,u,r));let f=e._loadForClassification,d=a.KHR_draco_mesh_compression,p=!1,g=t.attributes;if(l(g))for(let v in g){if(!g.hasOwnProperty(v))continue;let D=g[v],R=oW(e,St,v),O=R.modelSemantic;if(f&&!r4e(O))continue;O===St.FEATURE_ID&&(p=!0);let M=tre(e,D,R,d,n,c,i);r.attributePlans.push(M),o.attributes.push(M.attribute)}let m=t.targets;if(l(m)&&!f)for(let v=0;v<m.length;++v)o.morphTargets.push(y4e(e,m[v],c,r,i));let x=t.indices;if(l(x)){let v=l4e(e,x,d,p,c,i);l(v)&&(r.indicesPlan=v,o.indices=v.indices)}let b=a.EXT_structural_metadata,T=a.EXT_mesh_features,C=a.EXT_feature_metadata,A=l(C);l(T)?T4e(e,o,T,i):A&&C4e(e,o,C,i),l(b)?A4e(o,b):A&&E4e(e,o,C);let S=t.mode;if(f&&S!==Fe.TRIANGLES)throw new se("Only triangle meshes can be used for classification.");return o.primitiveType=S,o}function b4e(e,t){let n=t.indices,i=e.gltfJson.accessors[n];return mF(e,i,!1)}function T4e(e,t,n,i){let o;l(n)&&l(n.featureIds)?o=n.featureIds:o=[];for(let r=0;r<o.length;r++){let s=o[r],a=`featureId_${r}`,c;l(s.texture)?c=_4e(e,s,i,a):l(s.attribute)?c=nre(s,a):c=ore(s,a),t.featureIds.push(c)}}function C4e(e,t,n,i){let{featureTables:o}=e.gltfJson.extensions.EXT_feature_metadata,r=0,s=n.featureIdAttributes;if(l(s))for(let c=0;c<s.length;++c){let u=s[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m;l(u.featureIds.attribute)?m=ire(u,d,p,g):m=rre(u,d,p,g),t.featureIds.push(m)}let a=n.featureIdTextures;if(l(a))for(let c=0;c<a.length;++c){let u=a[c],f=u.featureTable,d=e._sortedPropertyTableIds.indexOf(f),p=o[f].count,g=`featureId_${r}`;r++;let m=g4e(e,u,d,i,p,g);t.featureIds.push(m)}}function A4e(e,t){l(t)&&(l(t.propertyTextures)&&(e.propertyTextureIds=t.propertyTextures),l(t.propertyAttributes)&&(e.propertyAttributeIds=t.propertyAttributes))}function E4e(e,t,n){l(n.featureTextures)&&(t.propertyTextureIds=n.featureTextures.map(function(i){return e._sortedFeatureTextureIds.indexOf(i)}))}function S4e(e,t,n){let i=t.EXT_mesh_gpu_instancing,o=new Eze,r=i.attributes;if(l(r))for(let u in r){if(!r.hasOwnProperty(u))continue;let f=r[u];o.attributes.push(c4e(e,f,r,u,n))}let s=y(i.extensions,y.EMPTY_OBJECT),a=t.EXT_instance_features,c=s.EXT_feature_metadata;return l(a)?v4e(o,a):l(c)&&w4e(e.gltfJson,o,c,e._sortedPropertyTableIds),o}function v4e(e,t){let n=t.featureIds;for(let i=0;i<n.length;i++){let o=n[i],r=`instanceFeatureId_${i}`,s;l(o.attribute)?s=nre(o,r):s=ore(o,r),e.featureIds.push(s)}}function w4e(e,t,n,i){let o=e.extensions.EXT_feature_metadata.featureTables,r=n.featureIdAttributes;if(l(r))for(let s=0;s<r.length;++s){let a=r[s],c=a.featureTable,u=i.indexOf(c),f=o[c].count,d=`instanceFeatureId_${s}`,p;l(a.featureIds.attribute)?p=ire(a,u,f,d):p=rre(a,u,f,d),t.featureIds.push(p)}}function D4e(e,t,n){let i=new vze;i.name=t.name,i.matrix=lu(F,t.matrix),i.translation=lu(h,t.translation),i.rotation=lu(Le,t.rotation),i.scale=lu(h,t.scale);let o=y(t.extensions,y.EMPTY_OBJECT),r=o.EXT_mesh_gpu_instancing,s=o.AGI_articulations;if(l(r)){if(e._loadForClassification)throw new se("Models with the EXT_mesh_gpu_instancing extension cannot be used for classification.");i.instances=S4e(e,o,n)}l(s)&&(i.articulationName=s.articulationName);let a=t.mesh;if(l(a)){let c=e.gltfJson.meshes[a],u=c.primitives;for(let p=0;p<u.length;++p)i.primitives.push(x4e(e,u[p],l(i.instances),n));let f=y(t.weights,c.weights),d=i.primitives[0].morphTargets;i.morphWeights=l(f)?f.slice():new Array(d.length).fill(0)}return i}function I4e(e,t){let n=e.gltfJson.nodes;if(!l(n))return[];let i=n.map(function(o,r){let s=D4e(e,o,t);return s.index=r,s});for(let o=0;o<i.length;++o){let r=n[o].children;if(l(r))for(let s=0;s<r.length;++s)i[o].children.push(i[r[s]])}return i}function P4e(e,t,n){let i=new Sze,o=t.joints;i.joints=o.map(s=>n[s]);let r=t.inverseBindMatrices;if(l(r)){let s=e.gltfJson.accessors[r];i.inverseBindMatrices=mF(e,s)}else i.inverseBindMatrices=new Array(o.length).fill(F.IDENTITY);return i}function O4e(e,t){let n=e.gltfJson.skins;if(e._loadForClassification||!l(n))return[];let i=n.map(function(r,s){let a=P4e(e,r,t);return a.index=s,a}),o=e.gltfJson.nodes;for(let r=0;r<t.length;++r){let s=o[r].skin;l(s)&&(t[r].skin=i[s])}return i}async function R4e(e,t,n,i){let o=new eF({gltf:e.gltfJson,extension:t,extensionLegacy:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._structuralMetadataLoader=o,o.load()}async function M4e(e,t,n,i){let o=new dF({gltf:t,extension:n,gltfResource:e._gltfResource,baseResource:e._baseResource,supportedImageFormats:e._supportedImageFormats,frameState:i,asynchronous:e._asynchronous});return e._meshPrimitiveGpmLoader=o,o.load()}function L4e(e,t){let n=new Dze,i=e.gltfJson.accessors,o=i[t.input];n.input=mF(e,o);let r=t.interpolation;n.interpolation=y(Zh[r],Zh.LINEAR);let s=i[t.output];return n.output=mF(e,s,!0),n}function N4e(e,t){let n=new Ize,i=e.node;if(!l(i))return;n.node=t[i];let o=e.path.toUpperCase();return n.path=wze[o],n}function F4e(e,t,n){let i=new Pze,o=e.sampler;return i.sampler=t[o],i.target=N4e(e.target,n),i}function B4e(e,t,n){let i=new Oze;i.name=t.name;let o=t.samplers.map(function(s,a){let c=L4e(e,s);return c.index=a,c}),r=t.channels.map(function(s){return F4e(s,o,n)});return i.samplers=o,i.channels=r,i}function k4e(e,t){let n=e.gltfJson.animations;return e._loadForClassification||!l(n)?[]:n.map(function(o,r){let s=B4e(e,o,t);return s.index=r,s})}function V4e(e){let t=new Rze;t.name=e.name;let n=e.type.toUpperCase();return t.type=Bc[n],t.minimumValue=e.minimumValue,t.maximumValue=e.maximumValue,t.initialValue=e.initialValue,t}function U4e(e){let t=new Mze;return t.name=e.name,t.stages=e.stages.map(V4e),t}function z4e(e){let n=y(e.extensions,y.EMPTY_OBJECT).AGI_articulations?.articulations;return l(n)?n.map(U4e):[]}function H4e(e){let t;return l(e.scenes)&&l(e.scene)&&(t=e.scenes[e.scene].nodes),t=y(t,e.nodes),t=l(t)?t:[],t}function G4e(e,t){let n=new Nze,i=H4e(e);return n.nodes=i.map(function(o){return t[o]}),n}var W4e=new h;function j4e(e,t){let n=e.gltfJson,i=y(n.extensions,y.EMPTY_OBJECT),o=i.EXT_structural_metadata,r=i.EXT_feature_metadata,s=i.CESIUM_RTC;if(l(r)){let C=r.featureTables,A=r.featureTextures,S=l(C)?C:[],v=l(A)?A:[];e._sortedPropertyTableIds=Object.keys(S).sort(),e._sortedFeatureTextureIds=Object.keys(v).sort()}let a=I4e(e,t),c=O4e(e,a),u=k4e(e,a),f=z4e(n),d=G4e(n,a),p=new Fze,g=new Lze,m=n.asset.copyright;if(l(m)){let C=m.split(";").map(function(A){return new Et(A.trim())});g.credits=C}if(p.asset=g,p.scene=d,p.nodes=a,p.skins=c,p.animations=u,p.articulations=f,p.upAxis=e._upAxis,p.forwardAxis=e._forwardAxis,l(s)){let C=h.fromArray(s.center,0,W4e);p.transform=F.fromTranslation(C,p.transform)}if(e._components=p,l(o)||l(r)){let C=R4e(e,o,r,t);e._loaderPromises.push(C)}let x=i.NGA_gpm_local;if(l(x)){let C=cF.load(x);e._components.extensions.NGA_gpm_local=C}let b=n.meshes;if(l(b))for(let C of b){let A=C.primitives;if(l(A))for(let S of A){let v=S.extensions;if(l(v)){let D=v.NGA_gpm_local;if(l(D)){let R=M4e(e,n,D,t);e._loaderPromises.push(R)}}}}let T=[];return T.push.apply(T,e._loaderPromises),e._incrementallyLoadTextures||T.push.apply(T,e._texturesPromises),Promise.all(T)}function q4e(e){let t=e._textureLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Si.unload(t[n]);e._textureLoaders.length=0}function sre(e){let t=e._bufferViewLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Si.unload(t[n]);e._bufferViewLoaders.length=0}function Y4e(e){let t=e._geometryLoaders;for(let n=0;n<t.length;++n)t[n]=!t[n].isDestroyed()&&Si.unload(t[n]);e._geometryLoaders.length=0}function X4e(e){let t=e._postProcessBuffers;for(let n=0;n<t.length;n++){let i=t[n];i.isDestroyed()||i.destroy()}t.length=0}function K4e(e){l(e._structuralMetadataLoader)&&!e._structuralMetadataLoader.isDestroyed()&&(e._structuralMetadataLoader.destroy(),e._structuralMetadataLoader=void 0)}function Z4e(e){l(e._meshPrimitiveGpmLoader)&&!e._meshPrimitiveGpmLoader.isDestroyed()&&(e._meshPrimitiveGpmLoader.destroy(),e._meshPrimitiveGpmLoader=void 0)}xd.prototype.isUnloaded=function(){return this._state===vo.UNLOADED};xd.prototype.unload=function(){l(this._gltfJsonLoader)&&!this._gltfJsonLoader.isDestroyed()&&Si.unload(this._gltfJsonLoader),this._gltfJsonLoader=void 0,q4e(this),sre(this),Y4e(this),X4e(this),K4e(this),Z4e(this),this._components=void 0,this._typedArray=void 0,this._state=vo.UNLOADED};var Lg=xd;var pF=`uniform sampler2D u_pointCloud_colorGBuffer; +uniform sampler2D u_pointCloud_depthGBuffer; +uniform vec2 u_distanceAndEdlStrength; +in vec2 v_textureCoordinates; - // If a feature ID vertex attribute is used, the pass type filter is applied in the vertex shader. - // So, we only apply in in the fragment shader if the feature ID texture is used. - #if defined(HAS_SELECTED_FEATURE_ID_TEXTURE) && !defined(HAS_CLASSIFICATION) - filterByPassType(featureColor); - #endif +vec2 neighborContribution(float log2Depth, vec2 offset) +{ + float dist = u_distanceAndEdlStrength.x; + vec2 texCoordOrig = v_textureCoordinates + offset * dist; + vec2 texCoord0 = v_textureCoordinates + offset * floor(dist); + vec2 texCoord1 = v_textureCoordinates + offset * ceil(dist); - featureColor = czm_gammaCorrect(featureColor); + float depthOrLogDepth0 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord0)); + float depthOrLogDepth1 = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, texCoord1)); - // Classification models compute the diffuse differently. - #ifdef HAS_CLASSIFICATION - material.diffuse = featureColor.rgb * featureColor.a; - #else - float highlight = ceil(model_colorBlend); - material.diffuse *= mix(featureColor.rgb, vec3(1.0), highlight); - #endif - - material.alpha *= featureColor.a; -} -`;var Lre={name:"CPUStylingPipelineStage"};Lre.process=function(e,t,n){let i=e.model,o=e.shaderBuilder;o.addVertexLines(e2),o.addFragmentLines(t2),o.addDefine("USE_CPU_STYLING",void 0,pe.BOTH),l(i.color)||(o.addUniform("float",_x.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),e.uniformMap[_x.COLOR_BLEND_UNIFORM_NAME]=function(){return Lc.getColorBlend(i.colorBlendMode,i.colorBlendAmount)}),o.addUniform("bool","model_commandTranslucent",pe.BOTH),e.uniformMap.model_commandTranslucent=function(){return e.alphaOptions.pass===Se.TRANSLUCENT}};var n2=Lre;var Nre={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};Nre.getDefineName=function(e){return`CUSTOM_SHADER_${e}`};var Lg=Object.freeze(Nre);var i2=`void customShaderStage( - inout czm_modelVertexOutput vsOutput, - inout ProcessedAttributes attributes, - FeatureIds featureIds, - Metadata metadata, - MetadataClass metadataClass, - MetadataStatistics metadataStatistics -) { - // VertexInput and initializeInputStruct() are dynamically generated in JS, - // see CustomShaderPipelineStage.js - VertexInput vsInput; - initializeInputStruct(vsInput, attributes); - vsInput.featureIds = featureIds; - vsInput.metadata = metadata; - vsInput.metadataClass = metadataClass; - vsInput.metadataStatistics = metadataStatistics; - vertexMain(vsInput, vsOutput); - attributes.positionMC = vsOutput.positionMC; -} -`;var o2=`void customShaderStage( - inout czm_modelMaterial material, - ProcessedAttributes attributes, - FeatureIds featureIds, - Metadata metadata, - MetadataClass metadataClass, - MetadataStatistics metadataStatistics -) { - // FragmentInput and initializeInputStruct() are dynamically generated in JS, - // see CustomShaderPipelineStage.js - FragmentInput fsInput; - initializeInputStruct(fsInput, attributes); - fsInput.featureIds = featureIds; - fsInput.metadata = metadata; - fsInput.metadataClass = metadataClass; - fsInput.metadataStatistics = metadataStatistics; - fragmentMain(fsInput, material); -} -`;var r2=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) { - initializeFeatureIds(featureIds, attributes); - initializeFeatureIdAliases(featureIds); -} -`;var s2=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) -{ - initializeFeatureIds(featureIds, attributes); - initializeFeatureIdAliases(featureIds); - setFeatureIdVaryings(); -} -`;var Pi={name:"FeatureIdPipelineStage",STRUCT_ID_FEATURE_IDS_VS:"FeatureIdsVS",STRUCT_ID_FEATURE_IDS_FS:"FeatureIdsFS",STRUCT_NAME_FEATURE_IDS:"FeatureIds",FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS:"initializeFeatureIdsVS",FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS:"initializeFeatureIdsFS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS:"initializeFeatureIdAliasesVS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS:"initializeFeatureIdAliasesFS",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS:"void initializeFeatureIds(out FeatureIds featureIds, ProcessedAttributes attributes)",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES:"void initializeFeatureIdAliases(inout FeatureIds featureIds)",FUNCTION_ID_SET_FEATURE_ID_VARYINGS:"setFeatureIdVaryings",FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS:"void setFeatureIdVaryings()"};Pi.process=function(e,t,n){let i=e.shaderBuilder;n8e(i);let o=e.runtimeNode.node.instances;l(o)&&i8e(e,o,n),o8e(e,t,n),i.addVertexLines(s2),i.addFragmentLines(r2)};function n8e(e){e.addStruct(Pi.STRUCT_ID_FEATURE_IDS_VS,Pi.STRUCT_NAME_FEATURE_IDS,pe.VERTEX),e.addStruct(Pi.STRUCT_ID_FEATURE_IDS_FS,Pi.STRUCT_NAME_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,Pi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.VERTEX),e.addFunction(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,Pi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Pi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,Pi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.VERTEX),e.addFunction(Pi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,Pi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.FRAGMENT),e.addFunction(Pi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,Pi.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS,pe.VERTEX)}function i8e(e,t,n){let i=t.featureIds,o=t.attributes[0].count;for(let r=0;r<i.length;r++){let s=i[r],a=s.positionalLabel;s instanceof Tn.FeatureIdAttribute?r8e(e,s,a):Fre(e,s,a,o,1,n);let c=s.label;l(c)&&Bre(e,a,c,pe.BOTH)}}function o8e(e,t,n){let i=t.featureIds,r=$t.getAttributeBySemantic(t,Ct.POSITION).count;for(let s=0;s<i.length;s++){let a=i[s],c=a.positionalLabel,u=pe.BOTH;a instanceof Tn.FeatureIdAttribute?s8e(e,a,c):a instanceof Tn.FeatureIdImplicitRange?Fre(e,a,c,r,void 0,n):(a8e(e,a,c,s,n),u=pe.FRAGMENT);let f=a.label;l(f)&&Bre(e,c,f,u)}}function r8e(e,t,n){let i=e.shaderBuilder;i.addStructField(Pi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Pi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=`a_${r}${o}`,a=`v_${r}${o}`,c=`featureIds.${n} = int(czm_round(${s}));`,u=`featureIds.${n} = int(czm_round(${a}));`;i.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[c]),i.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[u]),i.addVarying("float",a),i.addFunctionLines(Pi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${a} = ${s};`])}function s8e(e,t,n){let i=e.shaderBuilder;i.addStructField(Pi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Pi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=[`featureIds.${n} = int(czm_round(attributes.${r}${o}));`];i.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,s),i.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,s)}function Fre(e,t,n,i,o,r){c8e(e,t,i,o,r);let s=e.shaderBuilder,a=`a_implicit_${n}`;s.addAttribute("float",a);let c=`v_implicit_${n}`;s.addVarying("float",c),s.addStructField(Pi.STRUCT_ID_FEATURE_IDS_VS,"int",n),s.addStructField(Pi.STRUCT_ID_FEATURE_IDS_FS,"int",n),s.addFunctionLines(Pi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${c} = ${a};`]),s.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[`featureIds.${n} = int(czm_round(${a}));`]),s.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[`featureIds.${n} = int(czm_round(${c}));`])}function a8e(e,t,n,i,o){let r=`u_featureIdTexture_${i}`,s=e.uniformMap,a=t.textureReader;s[r]=function(){return y(a.texture,o.context.defaultTexture)};let c=a.channels,u=e.shaderBuilder;u.addStructField(Pi.STRUCT_ID_FEATURE_IDS_FS,"int",n),u.addUniform("sampler2D",r,pe.FRAGMENT);let d=`v_texCoord_${a.texCoord}`,p=d,g=a.transform;if(l(g)&&!Z.equals(g,Z.IDENTITY)){let b=`${r}Transform`;u.addUniform("mat3",b,pe.FRAGMENT),s[b]=function(){return g},p=`vec2(${b} * vec3(${d}, 1.0))`}let m=`texture(${r}, ${p}).${c}`,x=`featureIds.${n} = czm_unpackUint(${m});`;u.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[x])}function Bre(e,t,n,i){let o=e.shaderBuilder,r=pe.includesVertexShader(i);r&&o.addStructField(Pi.STRUCT_ID_FEATURE_IDS_VS,"int",n),o.addStructField(Pi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let s=[`featureIds.${n} = featureIds.${t};`];r&&o.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,s),o.addFunctionLines(Pi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,s)}function c8e(e,t,n,i,o){let r=e.model,s,a;if(l(t.repeat)){let u=l8e(t,n);s=yt.createVertexBuffer({context:o.context,typedArray:u,usage:Ve.STATIC_DRAW}),s.vertexArrayDestroyable=!1,r._pipelineResources.push(s),r.statistics.addBuffer(s,!1)}else a=[t.offset];let c={index:e.attributeIndex++,instanceDivisor:i,value:a,vertexBuffer:s,normalize:!1,componentsPerAttribute:1,componentDatatype:X.FLOAT,strideInBytes:X.getSizeInBytes(X.FLOAT),offsetInBytes:0};e.attributes.push(c)}function l8e(e,t){let n=e.offset,i=e.repeat,o=new Float32Array(t);for(let r=0;r<t;r++)o[r]=n+Math.floor(r/i);return o}var gx=Pi;var a2=`void metadataStage( - out Metadata metadata, - out MetadataClass metadataClass, - out MetadataStatistics metadataStatistics, - ProcessedAttributes attributes - ) -{ - initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); -} -`;var c2=`void metadataStage( - out Metadata metadata, - out MetadataClass metadataClass, - out MetadataStatistics metadataStatistics, - ProcessedAttributes attributes - ) -{ - initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); - setMetadataVaryings(); + // ignore depth values that are the clear depth + if (depthOrLogDepth0 == 0.0 || depthOrLogDepth1 == 0.0) { + return vec2(0.0); + } + + // interpolate the two adjacent depth values + float depthMix = mix(depthOrLogDepth0, depthOrLogDepth1, fract(dist)); + vec4 eyeCoordinate = czm_windowToEyeCoordinates(texCoordOrig, depthMix); + return vec2(max(0.0, log2Depth - log2(-eyeCoordinate.z / eyeCoordinate.w)), 1.0); } -`;var bi={name:"MetadataPipelineStage",STRUCT_ID_METADATA_VS:"MetadataVS",STRUCT_ID_METADATA_FS:"MetadataFS",STRUCT_NAME_METADATA:"Metadata",STRUCT_ID_METADATA_CLASS_VS:"MetadataClassVS",STRUCT_ID_METADATA_CLASS_FS:"MetadataClassFS",STRUCT_NAME_METADATA_CLASS:"MetadataClass",STRUCT_ID_METADATA_STATISTICS_VS:"MetadataStatisticsVS",STRUCT_ID_METADATA_STATISTICS_FS:"MetadataStatisticsFS",STRUCT_NAME_METADATA_STATISTICS:"MetadataStatistics",FUNCTION_ID_INITIALIZE_METADATA_VS:"initializeMetadataVS",FUNCTION_ID_INITIALIZE_METADATA_FS:"initializeMetadataFS",FUNCTION_SIGNATURE_INITIALIZE_METADATA:"void initializeMetadata(out Metadata metadata, out MetadataClass metadataClass, out MetadataStatistics metadataStatistics, ProcessedAttributes attributes)",FUNCTION_ID_SET_METADATA_VARYINGS:"setMetadataVaryings",FUNCTION_SIGNATURE_SET_METADATA_VARYINGS:"void setMetadataVaryings()",METADATA_CLASS_FIELDS:[{specName:"noData",shaderName:"noData"},{specName:"default",shaderName:"defaultValue"},{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"}],METADATA_STATISTICS_FIELDS:[{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"},{specName:"mean",shaderName:"mean",type:"float"},{specName:"median",shaderName:"median"},{specName:"standardDeviation",shaderName:"standardDeviation",type:"float"},{specName:"variance",shaderName:"variance",type:"float"},{specName:"sum",shaderName:"sum"}]};bi.process=function(e,t,n){let{shaderBuilder:i,model:o}=e,{structuralMetadata:r={},content:s}=o,a=s?.tileset.metadataExtension?.statistics,c=u8e(r.propertyAttributes,t,a),u=d8e(r.propertyTextures,a),f=c.concat(u);m8e(i,f),g8e(i),i.addVertexLines(c2),i.addFragmentLines(a2);for(let d=0;d<c.length;d++){let p=c[d];y8e(e,p)}for(let d=0;d<u.length;d++){let p=u[d];b8e(e,p)}};function u8e(e,t,n){return l(e)?e.flatMap(i=>f8e(i,t,n)):[]}function f8e(e,t,n){let{getAttributeByName:i,getAttributeInfo:o,sanitizeGlslIdentifier:r}=$t,s=e.class.id,a=n?.classes[s],c=Object.entries(e.properties),u=new Array(c.length);for(let f=0;f<c.length;f++){let[d,p]=c[f],g=i(t,p.attribute),{glslType:m,variableName:x}=o(g);u[f]={metadataVariable:r(d),property:p,type:p.classProperty.type,glslType:m,variableName:x,propertyStatistics:a?.properties[d],shaderDestination:pe.BOTH}}return u}function d8e(e,t){return l(e)?e.flatMap(n=>h8e(n,t)):[]}function h8e(e,t){let{sanitizeGlslIdentifier:n}=$t,i=e.class.id,o=t?.classes[i],r=Object.entries(e.properties).filter(([a,c])=>c.isGpuCompatible()),s=new Array(r.length);for(let a=0;a<r.length;a++){let[c,u]=r[a];s[a]={metadataVariable:n(c),property:u,type:u.classProperty.type,glslType:u.getGlslType(),propertyStatistics:o?.properties[c],shaderDestination:pe.FRAGMENT}}return s}function m8e(e,t){let n=new Set,i=new Set;for(let a=0;a<t.length;a++){let{type:c,glslType:u,propertyStatistics:f}=t[a];n.add(u),l(f)&&c!==Et.ENUM&&i.add(u)}let o=bi.METADATA_CLASS_FIELDS;for(let a of n){let c=`${a}MetadataClass`;s(c,a,o)}let r=bi.METADATA_STATISTICS_FIELDS;for(let a of i){let c=`${a}MetadataStatistics`;s(c,a,r)}function s(a,c,u){e.addStruct(a,a,pe.BOTH);for(let f=0;f<u.length;f++){let{shaderName:d}=u[f],p=u[f].type==="float"?_8e(c):c;e.addStructField(a,p,d)}}}var p8e={int:"float",ivec2:"vec2",ivec3:"vec3",ivec4:"vec4"};function _8e(e){let t=p8e[e];return l(t)?t:e}function g8e(e){e.addStruct(bi.STRUCT_ID_METADATA_VS,bi.STRUCT_NAME_METADATA,pe.VERTEX),e.addStruct(bi.STRUCT_ID_METADATA_FS,bi.STRUCT_NAME_METADATA,pe.FRAGMENT),e.addStruct(bi.STRUCT_ID_METADATA_CLASS_VS,bi.STRUCT_NAME_METADATA_CLASS,pe.VERTEX),e.addStruct(bi.STRUCT_ID_METADATA_CLASS_FS,bi.STRUCT_NAME_METADATA_CLASS,pe.FRAGMENT),e.addStruct(bi.STRUCT_ID_METADATA_STATISTICS_VS,bi.STRUCT_NAME_METADATA_STATISTICS,pe.VERTEX),e.addStruct(bi.STRUCT_ID_METADATA_STATISTICS_FS,bi.STRUCT_NAME_METADATA_STATISTICS,pe.FRAGMENT),e.addFunction(bi.FUNCTION_ID_INITIALIZE_METADATA_VS,bi.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.VERTEX),e.addFunction(bi.FUNCTION_ID_INITIALIZE_METADATA_FS,bi.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.FRAGMENT),e.addFunction(bi.FUNCTION_ID_SET_METADATA_VARYINGS,bi.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS,pe.VERTEX)}function y8e(e,t){x8e(e,t),kre(e.shaderBuilder,t),Vre(e.shaderBuilder,t)}function x8e(e,t){let{shaderBuilder:n}=e,{metadataVariable:i,property:o,glslType:r}=t,s=zre({valueExpression:`attributes.${t.variableName}`,renderResources:e,glslType:r,metadataVariable:i,shaderDestination:pe.BOTH,property:o});n.addStructField(bi.STRUCT_ID_METADATA_VS,r,i),n.addStructField(bi.STRUCT_ID_METADATA_FS,r,i);let a=`metadata.${i} = ${s};`;n.addFunctionLines(bi.FUNCTION_ID_INITIALIZE_METADATA_VS,[a]),n.addFunctionLines(bi.FUNCTION_ID_INITIALIZE_METADATA_FS,[a])}function b8e(e,t){T8e(e,t),kre(e.shaderBuilder,t),Vre(e.shaderBuilder,t)}function T8e(e,t){let{shaderBuilder:n,uniformMap:i}=e,{metadataVariable:o,glslType:r,property:s}=t,{texCoord:a,channels:c,index:u,texture:f,transform:d}=s.textureReader,p=`u_propertyTexture_${u}`;i.hasOwnProperty(p)||(n.addUniform("sampler2D",p,pe.FRAGMENT),i[p]=()=>f),n.addStructField(bi.STRUCT_ID_METADATA_FS,r,o);let g=`attributes.texCoord_${a}`,m=g;if(l(d)&&!Z.equals(d,Z.IDENTITY)){let A=`${p}Transform`;n.addUniform("mat3",A,pe.FRAGMENT),i[A]=function(){return d},m=`vec2(${A} * vec3(${g}, 1.0))`}let x=`texture(${p}, ${m}).${c}`,b=s.unpackInShader(x),T=zre({valueExpression:b,renderResources:e,glslType:r,metadataVariable:o,shaderDestination:pe.FRAGMENT,property:s}),C=`metadata.${o} = ${T};`;n.addFunctionLines(bi.FUNCTION_ID_INITIALIZE_METADATA_FS,[C])}function kre(e,t){let{classProperty:n}=t.property,{metadataVariable:i,glslType:o,shaderDestination:r}=t,s=Ure(bi.METADATA_CLASS_FIELDS,n,`metadataClass.${i}`,o),a=`${o}MetadataClass`;e.addStructField(bi.STRUCT_ID_METADATA_CLASS_FS,a,i),e.addFunctionLines(bi.FUNCTION_ID_INITIALIZE_METADATA_FS,s),pe.includesVertexShader(r)&&(e.addStructField(bi.STRUCT_ID_METADATA_CLASS_VS,a,i),e.addFunctionLines(bi.FUNCTION_ID_INITIALIZE_METADATA_VS,s))}function Vre(e,t){let{propertyStatistics:n}=t;if(!l(n))return;let{metadataVariable:i,type:o,glslType:r}=t;if(o===Et.ENUM)return;let s=bi.METADATA_STATISTICS_FIELDS,a=`metadataStatistics.${i}`,c=Ure(s,n,a,r),u=`${r}MetadataStatistics`;e.addStructField(bi.STRUCT_ID_METADATA_STATISTICS_FS,u,i),e.addFunctionLines(bi.FUNCTION_ID_INITIALIZE_METADATA_FS,c),pe.includesVertexShader(t.shaderDestination)&&(e.addStructField(bi.STRUCT_ID_METADATA_STATISTICS_VS,u,i),e.addFunctionLines(bi.FUNCTION_ID_INITIALIZE_METADATA_VS,c))}function Ure(e,t,n,i){function o(r){let s=t[r.specName];if(l(s))return`${n}.${r.shaderName} = ${i}(${s});`}return l(t)?e.map(o).filter(l):[]}function zre(e){let{valueExpression:t,property:n}=e;if(!n.hasValueTransform)return t;let i=e.metadataVariable,o=`u_${i}_offset`,r=`u_${i}_scale`,{shaderBuilder:s,uniformMap:a}=e.renderResources,{glslType:c,shaderDestination:u}=e;s.addUniform(c,o,u),s.addUniform(c,r,u);let{offset:f,scale:d}=n;return a[o]=()=>f,a[r]=()=>d,`czm_valueTransform(${o}, ${r}, ${t})`}var _d=bi;var C8e={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},yx=Object.freeze(C8e);var Hre=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],hW=1,Cv=8,xx=class e{static from(t){if(!(t instanceof ArrayBuffer))throw new Error("Data must be an instance of ArrayBuffer.");let[n,i]=new Uint8Array(t,0,2);if(n!==219)throw new Error("Data does not appear to be in a KDBush format.");let o=i>>4;if(o!==hW)throw new Error(`Got v${o} data when expected v${hW}.`);let r=Hre[i&15];if(!r)throw new Error("Unrecognized array type.");let[s]=new Uint16Array(t,2,1),[a]=new Uint32Array(t,4,1);return new e(a,s,r,t)}constructor(t,n=64,i=Float64Array,o){if(isNaN(t)||t<0)throw new Error(`Unpexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+n,2),65535),this.ArrayType=i,this.IndexArrayType=t<65536?Uint16Array:Uint32Array;let r=Hre.indexOf(this.ArrayType),s=t*2*this.ArrayType.BYTES_PER_ELEMENT,a=t*this.IndexArrayType.BYTES_PER_ELEMENT,c=(8-a%8)%8;if(r<0)throw new Error(`Unexpected typed array class: ${i}.`);o&&o instanceof ArrayBuffer?(this.data=o,this.ids=new this.IndexArrayType(this.data,Cv,t),this.coords=new this.ArrayType(this.data,Cv+a+c,t*2),this._pos=t*2,this._finished=!0):(this.data=new ArrayBuffer(Cv+s+a+c),this.ids=new this.IndexArrayType(this.data,Cv,t),this.coords=new this.ArrayType(this.data,Cv+a+c,t*2),this._pos=0,this._finished=!1,new Uint8Array(this.data,0,2).set([219,(hW<<4)+r]),new Uint16Array(this.data,2,1)[0]=n,new Uint32Array(this.data,4,1)[0]=t)}add(t,n){let i=this._pos>>1;return this.ids[i]=i,this.coords[this._pos++]=t,this.coords[this._pos++]=n,i}finish(){let t=this._pos>>1;if(t!==this.numItems)throw new Error(`Added ${t} items when expected ${this.numItems}.`);return pW(this.ids,this.coords,this.nodeSize,0,this.numItems-1,0),this._finished=!0,this}range(t,n,i,o){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:r,coords:s,nodeSize:a}=this,c=[0,r.length-1,0],u=[];for(;c.length;){let f=c.pop()||0,d=c.pop()||0,p=c.pop()||0;if(d-p<=a){for(let b=p;b<=d;b++){let T=s[2*b],C=s[2*b+1];T>=t&&T<=i&&C>=n&&C<=o&&u.push(r[b])}continue}let g=p+d>>1,m=s[2*g],x=s[2*g+1];m>=t&&m<=i&&x>=n&&x<=o&&u.push(r[g]),(f===0?t<=m:n<=x)&&(c.push(p),c.push(g-1),c.push(1-f)),(f===0?i>=m:o>=x)&&(c.push(g+1),c.push(d),c.push(1-f))}return u}within(t,n,i){if(!this._finished)throw new Error("Data not yet indexed - call index.finish().");let{ids:o,coords:r,nodeSize:s}=this,a=[0,o.length-1,0],c=[],u=i*i;for(;a.length;){let f=a.pop()||0,d=a.pop()||0,p=a.pop()||0;if(d-p<=s){for(let b=p;b<=d;b++)Gre(r[2*b],r[2*b+1],t,n)<=u&&c.push(o[b]);continue}let g=p+d>>1,m=r[2*g],x=r[2*g+1];Gre(m,x,t,n)<=u&&c.push(o[g]),(f===0?t-i<=m:n-i<=x)&&(a.push(p),a.push(g-1),a.push(1-f)),(f===0?t+i>=m:n+i>=x)&&(a.push(g+1),a.push(d),a.push(1-f))}return c}};function pW(e,t,n,i,o,r){if(o-i<=n)return;let s=i+o>>1;Wre(e,t,s,i,o,r),pW(e,t,n,i,s-1,1-r),pW(e,t,n,s+1,o,1-r)}function Wre(e,t,n,i,o,r){for(;o>i;){if(o-i>600){let u=o-i+1,f=n-i+1,d=Math.log(u),p=.5*Math.exp(2*d/3),g=.5*Math.sqrt(d*p*(u-p)/u)*(f-u/2<0?-1:1),m=Math.max(i,Math.floor(n-f*p/u+g)),x=Math.min(o,Math.floor(n+(u-f)*p/u+g));Wre(e,t,n,m,x,r)}let s=t[2*n+r],a=i,c=o;for(Av(e,t,i,n),t[2*o+r]>s&&Av(e,t,i,o);a<c;){for(Av(e,t,a,c),a++,c--;t[2*a+r]<s;)a++;for(;t[2*c+r]>s;)c--}t[2*i+r]===s?Av(e,t,i,c):(c++,Av(e,t,c,o)),c<=n&&(i=c+1),n<=c&&(o=c-1)}}function Av(e,t,n,i){mW(e,n,i),mW(t,2*n,2*i),mW(t,2*n+1,2*i+1)}function mW(e,t,n){let i=e[t];e[t]=e[n],e[n]=i}function Gre(e,t,n,i){let o=e-n,r=t-i;return o*o+r*r}var HC={},A8e={KDBush:xx,addCache:function(e,t){return HC[e]=t,t},removeCache:function(e){delete HC[e]},getCache:function(e){return HC[e]},getCacheOrAdd:function(e){return HC[e]||(HC[e]={}),HC[e]}},Ng=A8e;var is={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:Tt};is.process=function(e,t,n){let i=e.model.customShader;if(i&&is.process_original(e,t,n,i),l(e.model._marsOptions)&&l(e.model._marsOptions.customShaders)){let o=Ng.getCache(e.model._marsOptions.customShaders);for(let r in o)Object.prototype.hasOwnProperty.call(o,r)&&is.process_original(e,t,n,o[r])}};is.process_original=function(e,t,n,i){let{shaderBuilder:o,alphaOptions:r}=e,{lightingModel:s,translucencyMode:a}=i;l(s)&&(e.lightingOptions.lightingModel=s),a===yx.TRANSLUCENT?r.pass=Se.TRANSLUCENT:a===yx.OPAQUE&&(r.pass=void 0);let c=R8e(i,t);if(!c.customShaderEnabled)return;if(N8e(o,i,c),c.shouldComputePositionWC&&o.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,pe.BOTH),l(i.vertexShaderText)&&o.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,pe.VERTEX),l(i.fragmentShaderText)){o.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,pe.FRAGMENT);let d=Lg.getDefineName(i.mode);o.addDefine(d,void 0,pe.FRAGMENT)}let u=i.uniforms;for(let d in u)if(u.hasOwnProperty(d)){let p=u[d];o.addUniform(p.type,d)}let f=i.varyings;for(let d in f)if(f.hasOwnProperty(d)){let p=f[d];o.addVarying(p,d)}e.uniformMap=xt(e.uniformMap,i.uniformMap)};function E8e(e){let t={};for(let n=0;n<e.length;n++){let i=$t.getAttributeInfo(e[n]);t[i.variableName]=i}return t}var S8e={position:"vec3",normal:"vec3",tangent:"vec3",bitangent:"vec3",texCoord:"vec2",color:"vec4",joints:"ivec4",weights:"vec4"},w8e={position:"vec3(0.0)",normal:"vec3(0.0, 0.0, 1.0)",tangent:"vec3(1.0, 0.0, 0.0)",bitangent:"vec3(0.0, 1.0, 0.0)",texCoord:"vec2(0.0)",color:"vec4(1.0)",joints:"ivec4(0)",weights:"vec4(0.0)"};function jre(e){let t=e.replace(/_[0-9]+$/,"");t=t.replace(/(MC|EC)$/,"");let n=S8e[t],i=w8e[t];if(l(n))return{attributeField:[n,e],value:i}}function v8e(e,t){if(!l(e.vertexShaderText))return{enabled:!1};let n=e.usedVariablesVertex.attributeSet,i=qre(t,n,!1),o=Yre(t,n,!1),r,s=[],a=[];for(let c in i){if(!i.hasOwnProperty(c))continue;let f=[i[c].glslType,c];s.push(f),r=`vsInput.attributes.${c} = attributes.${c};`,a.push(r)}for(let c=0;c<o.length;c++){let u=o[c],f=jre(u);if(!l(f))return is._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveVS",`Primitive is missing attribute ${u}, disabling custom vertex shader`),{enabled:!1};s.push(f.attributeField),r=`vsInput.attributes.${u} = ${f.value};`,a.push(r)}return{enabled:!0,attributeFields:s,initializationLines:a}}function D8e(e){let t=[],n=[],i=e.usedVariablesFragment.attributeSet;return i.hasOwnProperty("positionWC")&&(t.push(["vec3","positionWC"]),n.push("fsInput.attributes.positionWC = attributes.positionWC;")),i.hasOwnProperty("positionEC")&&(t.push(["vec3","positionEC"]),n.push("fsInput.attributes.positionEC = attributes.positionEC;")),{attributeFields:t,initializationLines:n}}function I8e(e,t){if(!l(e.fragmentShaderText))return{enabled:!1};let n=e.usedVariablesFragment.attributeSet,i=qre(t,n,!0),o=Yre(t,n,!0),r,s=[],a=[];for(let u in i){if(!i.hasOwnProperty(u))continue;let d=[i[u].glslType,u];s.push(d),r=`fsInput.attributes.${u} = attributes.${u};`,a.push(r)}for(let u=0;u<o.length;u++){let f=o[u],d=jre(f);if(!l(d))return is._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveFS",`Primitive is missing attribute ${f}, disabling custom fragment shader.`),{enabled:!1};s.push(d.attributeField),r=`fsInput.attributes.${f} = ${d.value};`,a.push(r)}let c=D8e(e);return{enabled:!0,attributeFields:s.concat(c.attributeFields),initializationLines:c.initializationLines.concat(a)}}var P8e={positionWC:!0,positionEC:!0};function qre(e,t,n){let i={};for(let o in e){if(!e.hasOwnProperty(o))continue;let r=e[o],s=o;n&&o==="normalMC"?s="normalEC":n&&o==="tangentMC"&&(s="tangentEC",r.glslType="vec3"),t.hasOwnProperty(s)&&(i[s]=r)}return i}function Yre(e,t,n){let i=[];for(let o in t){if(!t.hasOwnProperty(o)||P8e.hasOwnProperty(o))continue;let r=o;n&&o==="normalEC"?r="normalMC":n&&o==="tangentEC"&&(r="tangentMC"),e.hasOwnProperty(r)||i.push(o)}return i}function R8e(e,t){let n=E8e(t.attributes),i=v8e(e,n),o=I8e(e,n),s=e.usedVariablesFragment.attributeSet.hasOwnProperty("positionWC")&&o.enabled;return{vertexLines:i,fragmentLines:o,customShaderEnabled:i.enabled||o.enabled,shouldComputePositionWC:s}}function O8e(e,t){let n=is.STRUCT_ID_ATTRIBUTES_VS;e.addStruct(n,is.STRUCT_NAME_ATTRIBUTES,pe.VERTEX);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=is.STRUCT_ID_VERTEX_INPUT,e.addStruct(n,is.STRUCT_NAME_VERTEX_INPUT,pe.VERTEX),e.addStructField(n,is.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,gx.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,_d.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,_d.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,_d.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=is.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS;e.addFunction(r,is.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS,pe.VERTEX),e.addFunctionLines(r,o)}function M8e(e,t){let n=is.STRUCT_ID_ATTRIBUTES_FS;e.addStruct(n,is.STRUCT_NAME_ATTRIBUTES,pe.FRAGMENT);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=is.STRUCT_ID_FRAGMENT_INPUT,e.addStruct(n,is.STRUCT_NAME_FRAGMENT_INPUT,pe.FRAGMENT),e.addStructField(n,is.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,gx.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,_d.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,_d.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,_d.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=is.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS;e.addFunction(r,is.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS,pe.FRAGMENT),e.addFunctionLines(r,o)}var L8e=[];function N8e(e,t,n){let{vertexLines:i,fragmentLines:o}=n,r=L8e;i.enabled&&(O8e(e,i),r.length=0,r.push("#line 0",t.vertexShaderText,i2),e.addVertexLines(r)),o.enabled&&(M8e(e,o),r.length=0,r.push("#line 0",t.fragmentShaderText,o2),e.addFragmentLines(r))}var l2=is;var Ev={name:"DequantizationPipelineStage",FUNCTION_ID_DEQUANTIZATION_STAGE_VS:"dequantizationStage",FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS:"void dequantizationStage(inout ProcessedAttributes attributes)"};Ev.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=l(o.classificationType);i.addDefine("USE_DEQUANTIZATION",void 0,pe.VERTEX),i.addFunction(Ev.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,Ev.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS,pe.VERTEX);let s=t.attributes;for(let a=0;a<s.length;a++){let c=s[a],u=c.quantization;if(!l(u))continue;let f=c.semantic===Ct.POSITION,d=c.semantic===Ct.TEXCOORD;if(r&&!f&&!d)continue;let p=$t.getAttributeInfo(c);B8e(i,p),F8e(e,p)}};function F8e(e,t){let n=e.shaderBuilder,i=e.uniformMap,o=t.variableName,r=t.attribute.quantization;if(r.octEncoded){let s=`model_normalizationRange_${o}`;n.addUniform("float",s,pe.VERTEX),i[s]=function(){return r.normalizationRange}}else{let s=`model_quantizedVolumeOffset_${o}`,a=`model_quantizedVolumeStepSize_${o}`,c=t.glslType;n.addUniform(c,s,pe.VERTEX),n.addUniform(c,a,pe.VERTEX);let u=r.quantizedVolumeOffset,f=r.quantizedVolumeStepSize;/^color_\d+$/.test(o)&&(u=Xre(u,0),f=Xre(f,1)),i[s]=function(){return u},i[a]=function(){return f}}}function Xre(e,t){return e instanceof oe?e:new oe(e.x,e.y,e.z,t)}function B8e(e,t){let n=t.variableName,i=t.attribute.quantization,o;i.octEncoded?o=k8e(n,i):o=V8e(n),e.addFunctionLines(Ev.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,[o])}function k8e(e,t){let n=`attributes.${e}`,i=`a_quantized_${e}`,o=`model_normalizationRange_${e}`,r=t.octEncodedZXY?".zxy":".xyz";return`${n} = czm_octDecode(${i}, ${o})${r};`}function V8e(e){let t=`attributes.${e}`,n=`a_quantized_${e}`,i=`model_quantizedVolumeOffset_${e}`,o=`model_quantizedVolumeStepSize_${e}`;return`${t} = ${i} + ${n} * ${o};`}var u2=Ev;var f2=`void geometryStage(out ProcessedAttributes attributes) -{ - attributes.positionMC = v_positionMC; - attributes.positionEC = v_positionEC; - #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) - attributes.positionWC = v_positionWC; - #endif +void main() +{ + float depthOrLogDepth = czm_unpackDepth(texture(u_pointCloud_depthGBuffer, v_textureCoordinates)); - #ifdef HAS_NORMALS - // renormalize after interpolation - attributes.normalEC = normalize(v_normalEC); - #endif + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, depthOrLogDepth); + eyeCoordinate /= eyeCoordinate.w; - #ifdef HAS_TANGENTS - attributes.tangentEC = normalize(v_tangentEC); - #endif + float log2Depth = log2(-eyeCoordinate.z); - #ifdef HAS_BITANGENTS - attributes.bitangentEC = normalize(v_bitangentEC); - #endif + if (depthOrLogDepth == 0.0) // 0.0 is the clear value for the gbuffer + { + discard; + } - // Everything else is dynamically generated in GeometryPipelineStage - setDynamicVaryings(attributes); -} -`;var d2=`vec4 geometryStage(inout ProcessedAttributes attributes, mat4 modelView, mat3 normal) -{ - vec4 computedPosition; + vec4 color = texture(u_pointCloud_colorGBuffer, v_textureCoordinates); - // Compute positions in different coordinate systems - vec3 positionMC = attributes.positionMC; - v_positionMC = positionMC; - v_positionEC = (modelView * vec4(positionMC, 1.0)).xyz; + // sample from neighbors left, right, down, up + vec2 texelSize = 1.0 / czm_viewport.zw; - #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) - vec3 position2D = attributes.position2D; - vec3 positionEC = (u_modelView2D * vec4(position2D, 1.0)).xyz; - computedPosition = czm_projection * vec4(positionEC, 1.0); - #else - computedPosition = czm_projection * vec4(v_positionEC, 1.0); - #endif + vec2 responseAndCount = vec2(0.0); - // Sometimes the custom shader and/or style needs this - #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) || defined(ENABLE_CLIPPING_POLYGONS) - // Note that this is a 32-bit position which may result in jitter on small - // scales. - v_positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; - #endif + responseAndCount += neighborContribution(log2Depth, vec2(-texelSize.x, 0.0)); + responseAndCount += neighborContribution(log2Depth, vec2(+texelSize.x, 0.0)); + responseAndCount += neighborContribution(log2Depth, vec2(0.0, -texelSize.y)); + responseAndCount += neighborContribution(log2Depth, vec2(0.0, +texelSize.y)); - #ifdef HAS_NORMALS - v_normalEC = normalize(normal * attributes.normalMC); - #endif + float response = responseAndCount.x / responseAndCount.y; + float strength = u_distanceAndEdlStrength.y; + float shade = exp(-response * 300.0 * strength); + color.rgb *= shade; + out_FragColor = vec4(color); - #ifdef HAS_TANGENTS - v_tangentEC = normalize(normal * attributes.tangentMC); - #endif + // Input and output depth are the same. + gl_FragDepth = depthOrLogDepth; +} +`;function VC(){this._framebuffer=new _i({colorAttachmentsLength:2,depth:!0,supportsDepthTexture:!0}),this._drawCommand=void 0,this._clearCommand=void 0,this._strength=1,this._radius=1}Object.defineProperties(VC.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}},colorGBuffer:{get:function(){return this._framebuffer.getColorTexture(0)}},depthGBuffer:{get:function(){return this._framebuffer.getColorTexture(1)}}});function $4e(e){e._framebuffer.destroy(),e._drawCommand=void 0,e._clearCommand=void 0}var rW=new U;function Q4e(e,t){let n=new He({defines:["LOG_DEPTH_WRITE"],sources:[pF]}),i={u_pointCloud_colorGBuffer:function(){return e.colorGBuffer},u_pointCloud_depthGBuffer:function(){return e.depthGBuffer},u_distanceAndEdlStrength:function(){return rW.x=e._radius,rW.y=e._strength,rW}},o=ze.fromCache({blending:fn.ALPHA_BLEND,depthMask:!0,depthTest:{enabled:!0},stencilTest:Ut.setCesium3DTileBit(),stencilMask:Ut.CESIUM_3D_TILE_MASK});e._drawCommand=t.createViewportQuadCommand(n,{uniformMap:i,renderState:o,pass:ve.CESIUM_3D_TILE,owner:e}),e._clearCommand=new ri({framebuffer:e.framebuffer,color:new z(0,0,0,0),depth:1,renderState:ze.fromCache(),pass:ve.CESIUM_3D_TILE,owner:e})}function J4e(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i),Q4e(e,t)}function are(e){return e.drawBuffers&&e.fragmentDepth}VC.isSupported=are;function eHe(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"EC");if(!l(n)){let i=t._attributeLocations,o=t.fragmentShaderSource.clone();o.sources.splice(0,0,`layout (location = 0) out vec4 out_FragData_0; +layout (location = 1) out vec4 out_FragData_1;`),o.sources=o.sources.map(function(r){return r=He.replaceMain(r,"czm_point_cloud_post_process_main"),r=r.replaceAll(/out_FragColor/g,"out_FragData_0"),r}),o.sources.push(`void main() +{ + czm_point_cloud_post_process_main(); +#ifdef LOG_DEPTH + czm_writeLogDepth(); + out_FragData_1 = czm_packDepth(gl_FragDepth); +#else + out_FragData_1 = czm_packDepth(gl_FragCoord.z); +#endif +}`),n=e.shaderCache.createDerivedShaderProgram(t,"EC",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:o,attributeLocations:i})}return n}VC.prototype.update=function(e,t,n,i){if(!are(e.context))return;this._strength=n.eyeDomeLightingStrength,this._radius=n.eyeDomeLightingRadius*e.pixelRatio,J4e(this,e.context);let o,r=e.commandList,s=r.length;for(o=t;o<s;++o){let u=r[o];if(u.primitiveType!==Fe.POINTS||u.pass===ve.TRANSLUCENT)continue;let f,d,p=u.derivedCommands.pointCloudProcessor;l(p)&&(f=p.command,d=p.originalShaderProgram),(!l(f)||u.dirty||d!==u.shaderProgram||f.framebuffer!==this.framebuffer)&&(f=tt.shallowClone(u,f),f.framebuffer=this.framebuffer,f.shaderProgram=eHe(e.context,u.shaderProgram),f.castShadows=!1,f.receiveShadows=!1,l(p)||(p={command:f,originalShaderProgram:u.shaderProgram},u.derivedCommands.pointCloudProcessor=p),p.originalShaderProgram=u.shaderProgram),r[o]=f}let a=this._clearCommand,c=this._drawCommand;c.boundingVolume=i,r.push(c),r.push(a)};VC.prototype.isDestroyed=function(){return!1};VC.prototype.destroy=function(){return $4e(this),ue(this)};var Ng=VC;function cre(e){let t=y(e,{});this.attenuation=y(t.attenuation,!1),this.geometricErrorScale=y(t.geometricErrorScale,1),this.maximumAttenuation=t.maximumAttenuation,this.baseResolution=t.baseResolution,this.eyeDomeLighting=y(t.eyeDomeLighting,!0),this.eyeDomeLightingStrength=y(t.eyeDomeLightingStrength,1),this.eyeDomeLightingRadius=y(t.eyeDomeLightingRadius,1),this.backFaceCulling=y(t.backFaceCulling,!1),this.normalShading=y(t.normalShading,!0)}cre.isSupported=function(e){return Ng.isSupported(e.context)};var Ip=cre;var Ia={},tHe=new oe(0,0,0,1),oc=new oe,nHe=new Ye,sW=new U,aW=new U;Ia.worldToWindowCoordinates=function(e,t,n){return Ia.worldWithEyeOffsetToWindowCoordinates(e,t,h.ZERO,n)};var lre=new oe,ure=new h;function Ew(e,t,n,i){let o=n.viewMatrix,r=F.multiplyByVector(o,oe.fromElements(e.x,e.y,e.z,1,lre),lre),s=h.multiplyComponents(t,h.normalize(r,ure),ure);return r.x+=t.x+s.x,r.y+=t.y+s.y,r.z+=s.z,F.multiplyByVector(n.frustum.projectionMatrix,r,i)}var iHe=new fe(Math.PI,P.PI_OVER_TWO),oHe=new h,rHe=new h;Ia.worldWithEyeOffsetToWindowCoordinates=function(e,t,n,i){let o=e.frameState,r=Ia.computeActualEllipsoidPosition(o,t,tHe);if(!l(r))return;let s=e.canvas,a=nHe;a.x=0,a.y=0,a.width=s.clientWidth,a.height=s.clientHeight;let c=e.camera,u=!1;if(o.mode===ne.SCENE2D){let f=e.mapProjection,d=iHe,p=f.project(d,oHe),g=h.clone(c.position,rHe),m=c.frustum.clone(),x=F.computeViewportTransformation(a,0,1,new F),b=c.frustum.projectionMatrix,T=c.positionWC.y,C=h.fromElements(P.sign(T)*p.x-T,0,-c.positionWC.x),A=Mt.pointToGLWindowCoordinates(b,x,C);if(T===0||A.x<=0||A.x>=s.clientWidth)u=!0;else{if(A.x>s.clientWidth*.5){a.width=A.x,c.frustum.right=p.x-T,oc=Ew(r,n,c,oc),Ia.clipToGLWindowCoordinates(a,oc,sW),a.x+=A.x,c.position.x=-c.position.x;let S=c.frustum.right;c.frustum.right=-c.frustum.left,c.frustum.left=-S,oc=Ew(r,n,c,oc),Ia.clipToGLWindowCoordinates(a,oc,aW)}else{a.x+=A.x,a.width-=A.x,c.frustum.left=-p.x-T,oc=Ew(r,n,c,oc),Ia.clipToGLWindowCoordinates(a,oc,sW),a.x=a.x-a.width,c.position.x=-c.position.x;let S=c.frustum.left;c.frustum.left=-c.frustum.right,c.frustum.right=-S,oc=Ew(r,n,c,oc),Ia.clipToGLWindowCoordinates(a,oc,aW)}h.clone(g,c.position),c.frustum=m.clone(),i=U.clone(sW,i),(i.x<0||i.x>s.clientWidth)&&(i.x=aW.x)}}if(o.mode!==ne.SCENE2D||u){if(oc=Ew(r,n,c,oc),oc.z<0&&!(c.frustum instanceof an)&&!(c.frustum instanceof Wr))return;i=Ia.clipToGLWindowCoordinates(a,oc,i)}return i.y=s.clientHeight-i.y,i};Ia.worldToDrawingBufferCoordinates=function(e,t,n){if(n=Ia.worldToWindowCoordinates(e,t,n),!!l(n))return Ia.transformWindowToDrawingBuffer(e,n,n)};var Pp=new h,sHe=new fe;Ia.computeActualEllipsoidPosition=function(e,t,n){let i=e.mode;if(i===ne.SCENE3D)return h.clone(t,n);let o=e.mapProjection,r=o.ellipsoid.cartesianToCartographic(t,sHe);if(!l(r))return;if(o.project(r,Pp),i===ne.COLUMBUS_VIEW)return h.fromElements(Pp.z,Pp.x,Pp.y,n);if(i===ne.SCENE2D)return h.fromElements(0,Pp.x,Pp.y,n);let s=e.morphTime;return h.fromElements(P.lerp(Pp.z,t.x,s),P.lerp(Pp.x,t.y,s),P.lerp(Pp.y,t.z,s),n)};var fre=new h,dre=new h,hre=new F;Ia.clipToGLWindowCoordinates=function(e,t,n){return h.divideByScalar(t,t.w,fre),F.computeViewportTransformation(e,0,1,hre),F.multiplyByPoint(hre,fre,dre),U.fromCartesian3(dre,n)};Ia.transformWindowToDrawingBuffer=function(e,t,n){let i=e.canvas,o=e.drawingBufferWidth/i.clientWidth,r=e.drawingBufferHeight/i.clientHeight;return U.fromElements(t.x*o,t.y*r,n)};var aHe=new oe,mre=new oe;Ia.drawingBufferToWorldCoordinates=function(e,t,n,i){let r=e.context.uniformState,s=r.currentFrustum,a=s.x,c=s.y;if(e.frameState.useLogDepth){let g=n*r.log2FarDepthFromNearPlusOne,m=Math.pow(2,g)-1;n=c*(1-a/(m+a))/(c-a)}let u=e.view.passState.viewport,f=oe.clone(oe.UNIT_W,aHe);f.x=(t.x-u.x)/u.width*2-1,f.y=(t.y-u.y)/u.height*2-1,f.z=n*2-1,f.w=1;let d,p=e.camera.frustum;if(l(p.fovy)){d=F.multiplyByVector(r.inverseViewProjection,f,mre);let g=1/d.w;h.multiplyByScalar(d,g,d)}else{let g=p.offCenterFrustum;l(g)&&(p=g),d=mre,d.x=(f.x*(p.right-p.left)+p.left+p.right)*.5,d.y=(f.y*(p.top-p.bottom)+p.bottom+p.top)*.5,d.z=(f.z*(a-c)-a-c)*.5,d.w=1,d=F.multiplyByVector(r.inverseView,d,d)}return h.fromCartesian4(d,i)};var Ui=Ia;var UC={};UC._deprecationWarning=Cs;var Op=Uint32Array.BYTES_PER_ELEMENT;UC.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=Op;let r=o.getUint32(t,!0);if(r!==1)throw new se(`Only Batched 3D Model version 1 is supported. Version ${r} is not.`);t+=Op;let s=o.getUint32(t,!0);t+=Op;let a=o.getUint32(t,!0);t+=Op;let c=o.getUint32(t,!0);t+=Op;let u=o.getUint32(t,!0);t+=Op;let f=o.getUint32(t,!0);t+=Op;let d;u>=570425344?(t-=Op*2,d=a,u=c,f=0,a=0,c=0,UC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchLength] [batchTableByteLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel.")):f>=570425344&&(t-=Op,d=u,u=a,f=c,a=0,c=0,UC._deprecationWarning("b3dm-legacy-header","This b3dm header is using the legacy format [batchTableJsonByteLength] [batchTableBinaryByteLength] [batchLength]. The new format is [featureTableJsonByteLength] [featureTableBinaryByteLength] [batchTableJsonByteLength] [batchTableBinaryByteLength] from https://github.com/CesiumGS/3d-tiles/tree/main/specification/TileFormats/Batched3DModel."));let p;a===0?p={BATCH_LENGTH:y(d,0)}:(p=Fo(i,t,a),t+=a);let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Fo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new se("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):(UC._deprecationWarning("b3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{batchLength:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var _F=UC;function Sw(e,t){this.json=e,this.buffer=t,this._cachedTypedArrays={},this.featuresLength=0}function pre(e,t,n,i,o,r){let s=e._cachedTypedArrays,a=s[t];return l(a)||(a=X.createArrayBufferView(n,e.buffer.buffer,e.buffer.byteOffset+r,o*i),s[t]=a),a}function cHe(e,t,n,i){let o=e._cachedTypedArrays,r=o[t];return l(r)||(r=X.createTypedArray(n,i),o[t]=r),r}Sw.prototype.getGlobalProperty=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(t=y(t,X.UNSIGNED_INT),n=y(n,1),pre(this,e,t,n,1,i.byteOffset)):i};Sw.prototype.hasProperty=function(e){return l(this.json[e])};Sw.prototype.getPropertyArray=function(e,t,n){let i=this.json[e];if(l(i))return l(i.byteOffset)?(l(i.componentType)&&(t=X.fromName(i.componentType)),pre(this,e,t,n,this.featuresLength,i.byteOffset)):cHe(this,e,t,i)};Sw.prototype.getProperty=function(e,t,n,i,o){let r=this.json[e];if(!l(r))return;let s=this.getPropertyArray(e,t,n);if(n===1)return s[i];for(let a=0;a<n;++a)o[a]=s[n*i+a];return o};var $h=Sw;function vw(e){let t=e.count,n=e.batchTable,i=e.binaryBody,o=y(e.parseAsPropertyAttributes,!1),r=e.customAttributeOutput,s=lHe(n),a;l(s.jsonProperties)&&(a=new Og({count:t,properties:s.jsonProperties}));let c;l(s.hierarchy)&&(c=new pC({extension:s.hierarchy,binaryBody:i}));let u=qh.BATCH_TABLE_CLASS_NAME,f=s.binaryProperties,d,p,g;if(o){let b=fHe(t,u,f,i,r);g=b.transcodedSchema,p=[new LC({propertyAttribute:b.propertyAttributeJson,class:b.transcodedClass})]}else{let b=uHe(t,u,f,i);g=b.transcodedSchema;let T=b.featureTableJson;d=new ou({count:T.count,properties:T.properties,class:b.transcodedClass,bufferViews:b.bufferViewsTypedArrays}),p=[]}let m=[];if(l(d)||l(a)||l(c)){let b=new xl({id:0,name:"Batch Table",count:t,metadataTable:d,jsonMetadataTable:a,batchTableHierarchy:c});m.push(b)}let x={schema:g,propertyTables:m,propertyAttributes:p,extensions:s.extensions,extras:s.extras};return new aa(x)}function lHe(e){let t=e.HIERARCHY,n=e.extras,i=e.extensions,o;l(t)?(vw._deprecationWarning("batchTableHierarchyExtension","The batch table HIERARCHY property has been moved to an extension. Use extensions.3DTILES_batch_table_hierarchy instead."),o=t):l(i)&&(o=i["3DTILES_batch_table_hierarchy"]);let r,s={};for(let a in e){if(!e.hasOwnProperty(a)||a==="HIERARCHY"||a==="extensions"||a==="extras")continue;let c=e[a];Array.isArray(c)?(r=l(r)?r:{},r[a]=c):s[a]=c}return{binaryProperties:s,jsonProperties:r,hierarchy:o,extras:n,extensions:i}}function uHe(e,t,n,i){let o={},r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;if(!l(i))throw new se(`Property ${d} requires a batch table binary.`);let p=n[d],g=sf(p);r[d]={bufferView:a},o[d]=_re(p),s[a]=g.createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e),a++}let c={classes:{}};c.classes[t]={properties:o};let u=lf.fromJson(c);return{featureTableJson:{class:t,count:e,properties:r},bufferViewsTypedArrays:s,transcodedSchema:u,transcodedClass:u.classes[t]}}function fHe(e,t,n,i,o){let r={},s={},a=0;for(let d in n){if(!n.hasOwnProperty(d))continue;let p=n[d];if(!l(i)&&!l(p.typedArray))throw new se(`Property ${d} requires a batch table binary.`);let g=Kt.sanitizeGlslIdentifier(d);(g===""||r.hasOwnProperty(g))&&(g=`property_${a}`,a++);let m=_re(p);m.name=d,r[g]=m;let x=g.toUpperCase();x.startsWith("_")||(x=`_${x}`);let b=p.typedArray;l(b)||(b=sf(p).createArrayBufferView(i.buffer,i.byteOffset+p.byteOffset,e));let T=new Tn.Attribute;T.name=x,T.count=e,T.type=p.type;let C=X.fromTypedArray(b);(C===X.INT||C===X.UNSIGNED_INT||C===X.DOUBLE)&&(vw._oneTimeWarning("Cast pnts property to floats",`Point cloud property "${x}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),b=new Float32Array(b)),T.componentDatatype=X.fromTypedArray(b),T.typedArray=b,o.push(T),s[g]={attribute:x}}let c={classes:{}};c.classes[t]={properties:r};let u=lf.fromJson(c);return{class:t,propertyAttributeJson:{properties:s},transcodedSchema:u,transcodedClass:u.classes[t]}}function _re(e){let t=dHe(e.componentType);return{type:e.type,componentType:t}}function dHe(e){switch(e){case"BYTE":return"INT8";case"UNSIGNED_BYTE":return"UINT8";case"SHORT":return"INT16";case"UNSIGNED_SHORT":return"UINT16";case"INT":return"INT32";case"UNSIGNED_INT":return"UINT32";case"FLOAT":return"FLOAT32";case"DOUBLE":return"FLOAT64"}}vw._deprecationWarning=Cs;vw._oneTimeWarning=Tt;var Fg=vw;var Cx={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,FAILED:4},hHe=Tn.FeatureIdAttribute;function Bg(e){e=y(e,y.EMPTY_OBJECT);let t=e.b3dmResource,n=e.baseResource,i=e.arrayBuffer,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,No.Y),u=y(e.forwardAxis,No.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadAttributesFor2D,!1),p=y(e.enablePick,!1),g=y(e.loadIndicesForWireframe,!1),m=y(e.loadPrimitiveOutline,!0),x=y(e.loadForClassification,!1);n=l(n)?n:t.clone(),this._b3dmResource=t,this._baseResource=n,this._arrayBuffer=i,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadAttributesFor2D=d,this._enablePick=p,this._loadIndicesForWireframe=g,this._loadPrimitiveOutline=m,this._loadForClassification=x,this._state=Cx.UNLOADED,this._promise=void 0,this._gltfLoader=void 0,this._batchLength=0,this._propertyTable=void 0,this._batchTable=void 0,this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(Bg.prototype=Object.create(Ki.prototype),Bg.prototype.constructor=Bg);Object.defineProperties(Bg.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Bg.prototype.load=function(){if(l(this._promise))return this._promise;let e=_F.parse(this._arrayBuffer,this._byteOffset),t=e.batchLength,n=e.featureTableJson,i=e.featureTableBinary,o=e.batchTableJson,r=e.batchTableBinary,s=new $h(n,i);t=s.getGlobalProperty("BATCH_LENGTH"),this._batchLength=t;let a=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(a)&&(this._transform=F.fromTranslation(h.fromArray(a))),this._batchTable={json:o,binary:r};let c=new Lg({typedArray:e.gltf,upAxis:this._upAxis,forwardAxis:this._forwardAxis,gltfResource:this._b3dmResource,baseResource:this._baseResource,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,loadAttributesFor2D:this._loadAttributesFor2D,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline,loadForClassification:this._loadForClassification,renameBatchIdSemantic:!0});this._gltfLoader=c,this._state=Cx.LOADING;let u=this;return this._promise=c.load().then(function(){if(!u.isDestroyed())return u._state=Cx.PROCESSING,u}).catch(function(f){if(!u.isDestroyed())return mHe(u,f)}),this._promise};function mHe(e,t){return e.unload(),e._state=Cx.FAILED,t=e.getError("Failed to load b3dm",t),Promise.reject(t)}Bg.prototype.process=function(e){if(this._state===Cx.READY)return!0;if(this._state!==Cx.PROCESSING||!this._gltfLoader.process(e))return!1;let n=this._gltfLoader.components;return n.transform=F.multiplyTransformation(this._transform,n.transform,n.transform),pHe(this,n),this._components=n,this._arrayBuffer=void 0,this._state=Cx.READY,!0};function pHe(e,t){let n=e._batchTable,i=e._batchLength;if(i===0)return;let o;if(l(n.json))o=Fg({count:i,batchTable:n.json,binaryBody:n.binary});else{let a=new xl({name:qh.BATCH_TABLE_CLASS_NAME,count:i});o=new aa({schema:{},propertyTables:[a]})}let r=t.scene.nodes,s=r.length;for(let a=0;a<s;a++)gre(r[a]);t.structuralMetadata=o}function gre(e){let t=e.children.length;for(let i=0;i<t;i++)gre(e.children[i]);let n=e.primitives.length;for(let i=0;i<n;i++){let o=e.primitives[i],r=Kt.getAttributeBySemantic(o,St.FEATURE_ID);if(l(r)){r.setIndex=0;let s=new hHe;s.propertyTableId=0,s.setIndex=0,s.positionalLabel="featureId_0",o.featureIds.push(s)}}}Bg.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),this._components=void 0,this._arrayBuffer=void 0};var gF=Bg;function kg(e){e=y(e,y.EMPTY_OBJECT),this._geoJson=e.geoJson,this._components=void 0}l(Object.create)&&(kg.prototype=Object.create(Ki.prototype),kg.prototype.constructor=kg);Object.defineProperties(kg.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}}});kg.prototype.load=function(){return Promise.resolve(this)};kg.prototype.process=function(e){return l(this._components)||(this._components=DHe(this._geoJson,e),this._geoJson=void 0),!0};function _He(){this.lines=void 0,this.points=void 0,this.properties=void 0}function gHe(){this.features=[]}function cW(e){let t=e[0],n=e[1],i=y(e[2],0);return new h(t,n,i)}function lW(e){let t=e.length,n=new Array(t);for(let o=0;o<t;o++)n[o]=cW(e[o]);return[n]}function yHe(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=lW(e[i])[0];return n}function yre(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=lW(e[i])[0];return n}function xHe(e){let t=e.length,n=[];for(let i=0;i<t;i++)Array.prototype.push.apply(n,yre(e[i]));return n}function bHe(e){return[cW(e)]}function THe(e){let t=e.length,n=new Array(t);for(let i=0;i<t;i++)n[i]=cW(e[i]);return n}var CHe={LineString:lW,MultiLineString:yHe,MultiPolygon:xHe,Polygon:yre,MultiPoint:THe,Point:bHe},AHe={LineString:Fe.LINES,MultiLineString:Fe.LINES,MultiPolygon:Fe.LINES,Polygon:Fe.LINES,MultiPoint:Fe.POINTS,Point:Fe.POINTS};function xre(e,t){if(!l(e.geometry))return;let n=e.geometry.type,i=CHe[n],o=AHe[n],r=e.geometry.coordinates;if(!l(i)||!l(r))return;let s=new _He;o===Fe.LINES?s.lines=i(r):o===Fe.POINTS&&(s.points=i(r)),s.properties=e.properties,t.features.push(s)}function EHe(e,t){let n=e.features,i=n.length;for(let o=0;o<i;o++)xre(n[o],t)}var SHe={FeatureCollection:EHe,Feature:xre},yF=new h;function vHe(e,t,n){let i=0,o=0,r=e.length;for(let M=0;M<r;M++){let N=e[M];if(l(N.lines)){let _=N.lines.length;for(let E=0;E<_;E++){let w=N.lines[E];i+=w.length,o+=(w.length-1)*2}}}let s=new Float32Array(i*3),a=new Float32Array(i),c=ke.createTypedArray(i,o),u=ke.fromTypedArray(c),f=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),d=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),p=0,g=0;for(let M=0;M<r;M++){let N=e[M];if(!l(N.lines))continue;let _=N.lines.length;for(let E=0;E<_;E++){let w=N.lines[E],I=w.length;for(let L=0;L<I;L++){let B=w[L],H=h.fromDegrees(B.x,B.y,B.z,ee.WGS84,yF),V=F.multiplyByPoint(t,H,yF);h.minimumByComponent(f,V,f),h.maximumByComponent(d,V,d),h.pack(V,s,p*3),a[p]=M,L<I-1&&(c[g*2]=p,c[g*2+1]=p+1,g++),p++}}}let m=bt.createVertexBuffer({typedArray:s,context:n.context,usage:Ue.STATIC_DRAW});m.vertexArrayDestroyable=!1;let x=bt.createVertexBuffer({typedArray:a,context:n.context,usage:Ue.STATIC_DRAW});x.vertexArrayDestroyable=!1;let b=bt.createIndexBuffer({typedArray:c,context:n.context,usage:Ue.STATIC_DRAW,indexDatatype:u});b.vertexArrayDestroyable=!1;let T=new Tn.Attribute;T.semantic=St.POSITION,T.componentDatatype=X.FLOAT,T.type=sn.VEC3,T.count=i,T.min=f,T.max=d,T.buffer=m;let C=new Tn.Attribute;C.semantic=St.FEATURE_ID,C.setIndex=0,C.componentDatatype=X.FLOAT,C.type=sn.SCALAR,C.count=i,C.buffer=x;let A=[T,C],S=new Tn.Material;S.unlit=!0;let v=new Tn.Indices;v.indexDatatype=u,v.count=c.length,v.buffer=b;let D=new Tn.FeatureIdAttribute;D.featureCount=r,D.propertyTableId=0,D.setIndex=0,D.positionalLabel="featureId_0";let R=[D],O=new Tn.Primitive;return O.attributes=A,O.indices=v,O.featureIds=R,O.primitiveType=Fe.LINES,O.material=S,O}function wHe(e,t,n){let i=0,o=e.length;for(let A=0;A<o;A++){let S=e[A];l(S.points)&&(i+=S.points.length)}let r=new Float32Array(i*3),s=new Float32Array(i),a=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),c=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),u=0;for(let A=0;A<o;A++){let S=e[A];if(!l(S.points))continue;let v=S.points.length;for(let D=0;D<v;D++){let R=S.points[D],O=h.fromDegrees(R.x,R.y,R.z,ee.WGS84,yF),M=F.multiplyByPoint(t,O,yF);h.minimumByComponent(a,M,a),h.maximumByComponent(c,M,c),h.pack(M,r,u*3),s[u]=A,u++}}let f=bt.createVertexBuffer({typedArray:r,context:n.context,usage:Ue.STATIC_DRAW});f.vertexArrayDestroyable=!1;let d=bt.createVertexBuffer({typedArray:s,context:n.context,usage:Ue.STATIC_DRAW});d.vertexArrayDestroyable=!1;let p=new Tn.Attribute;p.semantic=St.POSITION,p.componentDatatype=X.FLOAT,p.type=sn.VEC3,p.count=i,p.min=a,p.max=c,p.buffer=f;let g=new Tn.Attribute;g.semantic=St.FEATURE_ID,g.setIndex=0,g.componentDatatype=X.FLOAT,g.type=sn.SCALAR,g.count=i,g.buffer=d;let m=[p,g],x=new Tn.Material;x.unlit=!0;let b=new Tn.FeatureIdAttribute;b.featureCount=o,b.propertyTableId=0,b.setIndex=0,b.positionalLabel="featureId_0";let T=[b],C=new Tn.Primitive;return C.attributes=m,C.featureIds=T,C.primitiveType=Fe.POINTS,C.material=x,C}function DHe(e,t){let n=new gHe,i=SHe[e.type];l(i)&&i(e,n);let o=n.features,r=o.length;if(r===0)throw new se("GeoJSON must have at least one feature");let s={};for(let M=0;M<r;M++){let N=o[M],_=y(N.properties,y.EMPTY_OBJECT);for(let E in _)_.hasOwnProperty(E)&&(l(s[E])||(s[E]=new Array(r)))}for(let M=0;M<r;M++){let N=o[M];for(let _ in s)if(s.hasOwnProperty(_)){let E=y(N.properties[_],"");s[_][M]=E}}let a=new Og({count:r,properties:s}),u=[new xl({id:0,count:r,jsonMetadataTable:a})],f=lf.fromJson({}),d=new aa({schema:f,propertyTables:u}),p=new h(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),g=new h(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY),m=!1,x=!1;for(let M=0;M<r;M++){let N=o[M];if(l(N.lines)){m=!0;let _=N.lines.length;for(let E=0;E<_;E++){let w=N.lines[E],I=w.length;for(let L=0;L<I;L++)h.minimumByComponent(p,w[L],p),h.maximumByComponent(g,w[L],g)}}if(l(N.points)){x=!0;let _=N.points.length;for(let E=0;E<_;E++){let w=N.points[E];h.minimumByComponent(p,w,p),h.maximumByComponent(g,w,g)}}}let b=h.midpoint(p,g,new h),T=h.fromDegrees(b.x,b.y,b.z,ee.WGS84,new h),C=Mt.eastNorthUpToFixedFrame(T,ee.WGS84,new F),A=F.inverseTransformation(C,new F),S=[];m&&S.push(vHe(o,A,t)),x&&S.push(wHe(o,A,t));let v=new Tn.Node;v.index=0,v.primitives=S;let D=[v],R=new Tn.Scene;R.nodes=D;let O=new Tn.Components;return O.scene=R,O.nodes=D,O.transform=C,O.structuralMetadata=d,O}kg.prototype.unload=function(){this._components=void 0};var xF=kg;var bF={};bF._deprecationWarning=Cs;var Vg=Uint32Array.BYTES_PER_ELEMENT;bF.parse=function(e,t){let n=y(t,0);t=n;let i=new Uint8Array(e),o=new DataView(e);t+=Vg;let r=o.getUint32(t,!0);if(r!==1)throw new se(`Only Instanced 3D Model version 1 is supported. Version ${r} is not.`);t+=Vg;let s=o.getUint32(t,!0);t+=Vg;let a=o.getUint32(t,!0);if(a===0)throw new se("featureTableJsonByteLength is zero, the feature table must be defined.");t+=Vg;let c=o.getUint32(t,!0);t+=Vg;let u=o.getUint32(t,!0);t+=Vg;let f=o.getUint32(t,!0);t+=Vg;let d=o.getUint32(t,!0);if(d!==1&&d!==0)throw new se(`Only glTF format 0 (uri) or 1 (embedded) are supported. Format ${d} is not.`);t+=Vg;let p=Fo(i,t,a);t+=a;let g=new Uint8Array(e,t,c);t+=c;let m,x;u>0&&(m=Fo(i,t,u),t+=u,f>0&&(x=new Uint8Array(e,t,f),x=new Uint8Array(x),t+=f));let b=n+s-t;if(b===0)throw new se("glTF byte length must be greater than 0.");let T;return t%4===0?T=new Uint8Array(e,t,b):(bF._deprecationWarning("i3dm-glb-unaligned","The embedded glb is not aligned to a 4-byte boundary."),T=new Uint8Array(i.subarray(t,t+b))),{gltfFormat:d,featureTableJson:p,featureTableBinary:g,batchTableJson:m,batchTableBinary:x,gltf:T}};var TF=bF;var Rp={NOT_LOADED:0,LOADING:1,PROCESSING:2,POST_PROCESSING:3,READY:4,FAILED:5,UNLOADED:6},CF=Tn.Attribute,IHe=Tn.FeatureIdAttribute,Tre=Tn.Instances;function Mp(e){e=y(e,y.EMPTY_OBJECT);let t=e.i3dmResource,n=e.arrayBuffer,i=e.baseResource,o=y(e.byteOffset,0),r=y(e.releaseGltfJson,!1),s=y(e.asynchronous,!0),a=y(e.incrementallyLoadTextures,!0),c=y(e.upAxis,No.Y),u=y(e.forwardAxis,No.X),f=y(e.loadAttributesAsTypedArray,!1),d=y(e.loadIndicesForWireframe,!1),p=y(e.loadPrimitiveOutline,!0),g=y(e.enablePick,!1);i=l(i)?i:t.clone(),this._i3dmResource=t,this._baseResource=i,this._arrayBuffer=n,this._byteOffset=o,this._releaseGltfJson=r,this._asynchronous=s,this._incrementallyLoadTextures=a,this._upAxis=c,this._forwardAxis=u,this._loadAttributesAsTypedArray=f,this._loadIndicesForWireframe=d,this._loadPrimitiveOutline=p,this._enablePick=g,this._state=Rp.NOT_LOADED,this._promise=void 0,this._gltfLoader=void 0,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY,this._batchTable=void 0,this._featureTable=void 0,this._instancesLength=0}l(Object.create)&&(Mp.prototype=Object.create(Ki.prototype),Mp.prototype.constructor=Mp);Object.defineProperties(Mp.prototype,{texturesLoaded:{get:function(){return this._gltfLoader?.texturesLoaded}},cacheKey:{get:function(){}},components:{get:function(){return this._components}}});Mp.prototype.load=function(){if(l(this._promise))return this._promise;let e=TF.parse(this._arrayBuffer,this._byteOffset),t=e.featureTableJson,n=e.featureTableBinary,i=e.batchTableJson,o=e.batchTableBinary,r=e.gltfFormat,s=new $h(t,n);this._featureTable=s;let a=s.getGlobalProperty("INSTANCES_LENGTH");if(s.featuresLength=a,!l(a))throw new se("Feature table global property: INSTANCES_LENGTH must be defined");this._instancesLength=a;let c=s.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(c)&&(this._transform=F.fromTranslation(h.fromArray(c))),this._batchTable={json:i,binary:o};let u={upAxis:this._upAxis,forwardAxis:this._forwardAxis,releaseGltfJson:this._releaseGltfJson,incrementallyLoadTextures:this._incrementallyLoadTextures,loadAttributesAsTypedArray:this._loadAttributesAsTypedArray,enablePick:this._enablePick,loadIndicesForWireframe:this._loadIndicesForWireframe,loadPrimitiveOutline:this._loadPrimitiveOutline};if(r===0){let d=tu(e.gltf);d=d.replace(/[\s\0]+$/,"");let p=this._baseResource.getDerivedResource({url:d});u.gltfResource=p,u.baseResource=p}else u.gltfResource=this._i3dmResource,u.typedArray=e.gltf;let f=new Lg(u);return this._gltfLoader=f,this._state=Rp.LOADING,this._promise=f.load().then(()=>{if(!this.isDestroyed())return this._state=Rp.PROCESSING,this}).catch(d=>{if(!this.isDestroyed())throw PHe(this,d)}),this._promise};function PHe(e,t){return e.unload(),e._state=Rp.FAILED,e.getError("Failed to load i3dm",t)}Mp.prototype.process=function(e){if(this._state===Rp.READY)return!0;let t=this._gltfLoader,n=!1;if(this._state===Rp.PROCESSING&&(n=t.process(e)),!n)return!1;let i=t.components;return i.transform=F.multiplyTransformation(this._transform,i.transform,i.transform),MHe(this,i,e),OHe(this,i),this._components=i,this._arrayBuffer=void 0,this._state=Rp.READY,!0};function OHe(e,t){let n=e._batchTable,i=e._instancesLength;if(i===0)return;let o;if(l(n.json))o=Fg({count:i,batchTable:n.json,binaryBody:n.binary});else{let r=new xl({name:qh.BATCH_TABLE_CLASS_NAME,count:i});o=new aa({schema:{},propertyTables:[r]})}t.structuralMetadata=o}var AF=new h,uW=new Array(4),RHe=new F;function MHe(e,t,n){let i,o=e._featureTable,r=e._instancesLength;if(r===0)return;let s=o.getGlobalProperty("RTC_CENTER",X.FLOAT,3),a=o.getGlobalProperty("EAST_NORTH_UP"),c=o.hasProperty("NORMAL_UP")||o.hasProperty("NORMAL_UP_OCT32P")||a,u=o.hasProperty("SCALE")||o.hasProperty("SCALE_NON_UNIFORM"),f=NHe(o,r),d;c&&(d=new Float32Array(4*r));let p;u&&(p=new Float32Array(3*r));let g=new Float32Array(r),m=h.unpackArray(f),x=new h,b=new h,T=new h,C=new h,A=new $,S=new Le,v=new Array(4),D=new h,R=new Array(3),O=new F;if(!l(s)||h.equals(h.unpack(s),h.ZERO)){let V=ce.fromPoints(m);for(i=0;i<m.length;i++)h.subtract(m[i],V.center,AF),f[3*i+0]=AF.x,f[3*i+1]=AF.y,f[3*i+2]=AF.z;let G=F.fromTranslation(V.center,RHe);t.transform=F.multiplyTransformation(G,t.transform,t.transform)}for(i=0;i<r;i++){x=h.clone(m[i]),l(s)&&h.add(x,h.unpack(s),x),c&&(FHe(o,a,i,S,x,T,b,C,A,O),Le.pack(S,v,0),d[4*i+0]=v[0],d[4*i+1]=v[1],d[4*i+2]=v[2],d[4*i+3]=v[3]),u&&(BHe(o,i,D),h.pack(D,R,0),p[3*i+0]=R[0],p[3*i+1]=R[1],p[3*i+2]=R[2]);let V=o.getProperty("BATCH_ID",X.UNSIGNED_SHORT,1,i);l(V)||(V=i),g[i]=V}let M=new Tre;M.transformInWorldSpace=!0;let N=e._buffers,_=new CF;if(_.name="Instance Translation",_.semantic=as.TRANSLATION,_.componentDatatype=X.FLOAT,_.type=sn.VEC3,_.count=r,_.typedArray=f,!c){let V=bt.createVertexBuffer({context:n.context,typedArray:f,usage:Ue.STATIC_DRAW});V.vertexArrayDestroyable=!1,N.push(V),_.buffer=V}if(M.attributes.push(_),c){let V=new CF;V.name="Instance Rotation",V.semantic=as.ROTATION,V.componentDatatype=X.FLOAT,V.type=sn.VEC4,V.count=r,V.typedArray=d,M.attributes.push(V)}if(u){let V=new CF;if(V.name="Instance Scale",V.semantic=as.SCALE,V.componentDatatype=X.FLOAT,V.type=sn.VEC3,V.count=r,c)V.typedArray=p;else{let G=bt.createVertexBuffer({context:n.context,typedArray:p,usage:Ue.STATIC_DRAW});G.vertexArrayDestroyable=!1,N.push(G),V.buffer=G}M.attributes.push(V)}let E=new CF;E.name="Instance Feature ID",E.setIndex=0,E.semantic=as.FEATURE_ID,E.componentDatatype=X.FLOAT,E.type=sn.SCALAR,E.count=r;let w=bt.createVertexBuffer({context:n.context,typedArray:g,usage:Ue.STATIC_DRAW});w.vertexArrayDestroyable=!1,N.push(w),E.buffer=w,M.attributes.push(E);let I=new IHe;I.propertyTableId=0,I.setIndex=0,I.positionalLabel="instanceFeatureId_0",M.featureIds.push(I);let L=t.nodes,B=L.length,H=!1;for(i=0;i<B;i++){let V=L[i];V.primitives.length>0&&(V.instances=H?LHe(M):M,H=!0)}}function LHe(e){let t=new Tre;t.transformInWorldSpace=e.transformInWorldSpace;let n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=We(n[o],!1);t.attributes.push(r)}return t.featureIds=e.featureIds,t}function NHe(e,t){if(e.hasProperty("POSITION"))return e.getPropertyArray("POSITION",X.FLOAT,3);if(e.hasProperty("POSITION_QUANTIZED")){let n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3),i=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(i))throw new se("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");let o=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(o))throw new se("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let r=new Float32Array(n.length);for(let s=0;s<n.length/3;s++)for(let a=0;a<3;a++){let c=3*s+a;r[c]=n[c]/65535*o[a]+i[a]}return r}else throw new se("Either POSITION or POSITION_QUANTIZED must be defined for each instance.")}var bre=new Array(4);function FHe(e,t,n,i,o,r,s,a,c,u){let f=e.getProperty("NORMAL_UP",X.FLOAT,3,n,uW),d=e.getProperty("NORMAL_RIGHT",X.FLOAT,3,n,bre),p=!1;if(l(f)){if(!l(d))throw new se("To define a custom orientation, both NORMAL_UP and NORMAL_RIGHT must be defined.");h.unpack(f,0,r),h.unpack(d,0,s),p=!0}else{let g=e.getProperty("NORMAL_UP_OCT32P",X.UNSIGNED_SHORT,2,n,uW),m=e.getProperty("NORMAL_RIGHT_OCT32P",X.UNSIGNED_SHORT,2,n,bre);if(l(g)){if(!l(m))throw new se("To define a custom orientation with oct-encoded vectors, both NORMAL_UP_OCT32P and NORMAL_RIGHT_OCT32P must be defined.");Fn.octDecodeInRange(g[0],g[1],65535,r),Fn.octDecodeInRange(m[0],m[1],65535,s),p=!0}else t?(Mt.eastNorthUpToFixedFrame(o,ee.WGS84,u),F.getMatrix3(u,c)):$.clone($.IDENTITY,c)}p&&(h.cross(s,r,a),h.normalize(a,a),$.setColumn(c,0,s,c),$.setColumn(c,1,r,c),$.setColumn(c,2,a,c)),Le.fromRotationMatrix(c,i)}function BHe(e,t,n){n=h.fromElements(1,1,1,n);let i=e.getProperty("SCALE",X.FLOAT,1,t);l(i)&&h.multiplyByScalar(n,i,n);let o=e.getProperty("SCALE_NON_UNIFORM",X.FLOAT,3,t,uW);l(o)&&(n.x*=o[0],n.y*=o[1],n.z*=o[2])}function kHe(e){let t=e._buffers,n=t.length;for(let i=0;i<n;i++){let o=t[i];o.isDestroyed()||o.destroy()}t.length=0}Mp.prototype.isUnloaded=function(){return this._state===Rp.UNLOADED};Mp.prototype.unload=function(){l(this._gltfLoader)&&!this._gltfLoader.isDestroyed()&&this._gltfLoader.unload(),kHe(this),this._components=void 0,this._arrayBuffer=void 0,this._state=Rp.UNLOADED};var EF=Mp;var VHe={STOPPED:0,ANIMATING:1},Qh=Object.freeze(VHe);function zC(){this.times=void 0,this.points=void 0,de.throwInstantiationError()}zC.getPointType=function(e){if(typeof e=="number")return Number;if(e instanceof h)return h;if(e instanceof Le)return Le};zC.prototype.evaluate=de.throwInstantiationError;zC.prototype.findTimeInterval=function(e,t){let n=this.times,i=n.length;if(t=y(t,0),e>=n[t]){if(t+1<i&&e<n[t+1])return t;if(t+2<i&&e<n[t+2])return t+1}else if(t-1>=0&&e>=n[t-1])return t-1;let o;if(e>n[t])for(o=t;o<i-1&&!(e>=n[o]&&e<n[o+1]);++o);else for(o=t-1;o>=0&&!(e>=n[o]&&e<n[o+1]);--o);return o===i-1&&(o=i-2),o};zC.prototype.wrapTime=function(e){let t=this.times,n=t[t.length-1],i=t[0],o=n-i,r;return e<i&&(r=Math.floor((i-e)/o)+1,e+=r*o),e>n&&(r=Math.floor((e-n)/o)+1,e-=r*o),e};zC.prototype.clampTime=function(e){let t=this.times;return P.clamp(e,t[0],t[t.length-1])};var ro=zC;function HC(e){this._value=e,this._valueType=ro.getPointType(e)}Object.defineProperties(HC.prototype,{value:{get:function(){return this._value}}});HC.prototype.findTimeInterval=function(e){};HC.prototype.wrapTime=function(e){return 0};HC.prototype.clampTime=function(e){return 0};HC.prototype.evaluate=function(e,t){let n=this._value,i=this._valueType;return i===Number?n:i.clone(n,t)};var SF=HC;function GC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=ro.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(GC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});GC.prototype.findTimeInterval=ro.prototype.findTimeInterval;GC.prototype.wrapTime=ro.prototype.wrapTime;GC.prototype.clampTime=ro.prototype.clampTime;GC.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);return this._pointType===Number?(1-r)*n[o]+r*n[o+1]:(l(t)||(t=new h),h.lerp(n[o],n[o+1],r,t))};var Ax=GC;var Cre={};Cre.solve=function(e,t,n,i){let o=new Array(n.length),r=new Array(i.length),s=new Array(i.length),a;for(a=0;a<r.length;a++)r[a]=new h,s[a]=new h;o[0]=n[0]/t[0],r[0]=h.multiplyByScalar(i[0],1/t[0],r[0]);let c;for(a=1;a<o.length;++a)c=1/(t[a]-o[a-1]*e[a-1]),o[a]=n[a]*c,r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]);for(c=1/(t[a]-o[a-1]*e[a-1]),r[a]=h.subtract(i[a],h.multiplyByScalar(r[a-1],e[a-1],r[a]),r[a]),r[a]=h.multiplyByScalar(r[a],c,r[a]),s[s.length-1]=r[r.length-1],a=s.length-2;a>=0;--a)s[a]=h.subtract(r[a],h.multiplyByScalar(s[a+1],o[a],s[a]),s[a]);return s};var ww=Cre;var Are=[],Ere=[],Sre=[],vre=[];function UHe(e,t,n){let i=Are,o=Sre,r=Ere,s=vre;i.length=o.length=e.length-1,r.length=s.length=e.length;let a;i[0]=r[0]=1,o[0]=0;let c=s[0];for(l(c)||(c=s[0]=new h),h.clone(t,c),a=1;a<i.length-1;++a)i[a]=o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c);return i[a]=0,o[a]=1,r[a]=4,c=s[a],l(c)||(c=s[a]=new h),h.subtract(e[a+1],e[a-1],c),h.multiplyByScalar(c,3,c),r[a+1]=1,c=s[a+1],l(c)||(c=s[a+1]=new h),h.clone(n,c),ww.solve(i,r,o,s)}function zHe(e){let t=Are,n=Sre,i=Ere,o=vre;t.length=n.length=e.length-1,i.length=o.length=e.length;let r;t[0]=n[0]=1,i[0]=2;let s=o[0];for(l(s)||(s=o[0]=new h),h.subtract(e[1],e[0],s),h.multiplyByScalar(s,3,s),r=1;r<t.length;++r)t[r]=n[r]=1,i[r]=4,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r+1],e[r-1],s),h.multiplyByScalar(s,3,s);return i[r]=2,s=o[r],l(s)||(s=o[r]=new h),h.subtract(e[r],e[r-1],s),h.multiplyByScalar(s,3,s),ww.solve(t,i,n,o)}function bl(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.inTangents,o=e.outTangents;this._times=n,this._points=t,this._pointType=ro.getPointType(t[0]),this._inTangents=i,this._outTangents=o,this._lastTimeIndex=0}Object.defineProperties(bl.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},inTangents:{get:function(){return this._inTangents}},outTangents:{get:function(){return this._outTangents}}});bl.createC1=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.tangents,o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new bl({times:t,points:n,inTangents:r,outTangents:o})};bl.createNaturalCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points;if(n.length<3)return new Ax({points:n,times:t});let i=zHe(n),o=i.slice(0,i.length-1),r=i.slice(1,i.length);return new bl({times:t,points:n,inTangents:r,outTangents:o})};bl.createClampedCubic=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.times,n=e.points,i=e.firstTangent,o=e.lastTangent,r=ro.getPointType(n[0]);if(n.length<3)return new Ax({points:n,times:t});let s=UHe(n,i,o),a=s.slice(0,s.length-1),c=s.slice(1,s.length);return new bl({times:t,points:n,inTangents:c,outTangents:a})};bl.hermiteCoefficientMatrix=new F(2,-3,0,1,-2,3,0,0,1,-2,1,0,1,-1,0,0);bl.prototype.findTimeInterval=ro.prototype.findTimeInterval;var HHe=new oe,WC=new h;bl.prototype.wrapTime=ro.prototype.wrapTime;bl.prototype.clampTime=ro.prototype.clampTime;bl.prototype.evaluate=function(e,t){let n=this.points,i=this.times,o=this.inTangents,r=this.outTangents;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let s=this._lastTimeIndex,a=i[s+1]-i[s],c=(e-i[s])/a,u=HHe;u.z=c,u.y=c*c,u.x=u.y*c,u.w=1;let f=F.multiplyByVector(bl.hermiteCoefficientMatrix,u,u);f.z*=a,f.w*=a;let d=this._pointType;return d===Number?n[s]*f.x+n[s+1]*f.y+r[s]*f.z+o[s]*f.w:(l(t)||(t=new d),t=d.multiplyByScalar(n[s],f.x,t),d.multiplyByScalar(n[s+1],f.y,WC),d.add(t,WC,t),d.multiplyByScalar(r[s],f.z,WC),d.add(t,WC,t),d.multiplyByScalar(o[s],f.w,WC),d.add(t,WC,t))};var Ex=bl;function jC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._pointType=ro.getPointType(t[0]),this._lastTimeIndex=0}Object.defineProperties(jC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});jC.prototype.findTimeInterval=ro.prototype.findTimeInterval;jC.prototype.wrapTime=ro.prototype.wrapTime;jC.prototype.clampTime=ro.prototype.clampTime;jC.prototype.evaluate=function(e,t){let n=this.points;this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex);let i=this._lastTimeIndex,o=this._pointType;return o===Number?n[i]:(l(t)||(t=new o),o.clone(n[i],t))};var vF=jC;function GHe(e){let t=e.points,n=e.times;return function(i,o){l(o)||(o=new Le);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=t[r],c=t[r+1];return Le.fastSlerp(a,c,s,o)}}function qC(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times;this._times=n,this._points=t,this._evaluateFunction=GHe(this),this._lastTimeIndex=0}Object.defineProperties(qC.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}}});qC.prototype.findTimeInterval=ro.prototype.findTimeInterval;qC.prototype.wrapTime=ro.prototype.wrapTime;qC.prototype.clampTime=ro.prototype.clampTime;qC.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var wF=qC;var YC=Tn.AnimatedPropertyType;function fW(e){e=y(e,y.EMPTY_OBJECT);let t=e.channel,n=e.runtimeAnimation,i=e.runtimeNode;this._channel=t,this._runtimeAnimation=n,this._runtimeNode=i,this._splines=[],this._path=void 0,XHe(this)}Object.defineProperties(fW.prototype,{channel:{get:function(){return this._channel}},runtimeAnimation:{get:function(){return this._runtimeAnimation}},runtimeNode:{get:function(){return this._runtimeNode}},splines:{get:function(){return this._splines}}});function WHe(e,t){let n=[],i=[],o=[],r=t.length;for(let s=0;s<r;s+=3)i.push(t[s]),n.push(t[s+1]),o.push(t[s+2]);return i.splice(0,1),o.length=o.length-1,new Ex({times:e,points:n,inTangents:i,outTangents:o})}function wre(e,t,n,i){if(e.length===1&&t.length===1)return new SF(t[0]);switch(n){case Zh.STEP:return new vF({times:e,points:t});case Zh.CUBICSPLINE:return WHe(e,t);case Zh.LINEAR:return i===YC.ROTATION?new wF({times:e,points:t}):new Ax({times:e,points:t})}}function jHe(e,t,n,i,o){let r=[];if(i===YC.WEIGHTS){let a=t.length/o,c,u;for(c=0;c<o;c++){let f=new Array(a),d=c;if(n===Zh.CUBICSPLINE)for(u=0;u<a;u+=3)f[u]=t[d],f[u+1]=t[d+o],f[u+2]=t[d+2*o],d+=o*3;else for(u=0;u<a;u++)f[u]=t[d],d+=o;r.push(wre(e,f,n,i))}}else r.push(wre(e,t,n,i));return r}var qHe=new h,YHe=new Le;function XHe(e){let t=e._channel,n=t.sampler,i=n.input,o=n.output,r=n.interpolation,a=t.target.path,c=e._runtimeNode,u=l(c.morphWeights)?c.morphWeights.length:1,f=jHe(i,o,r,a,u);e._splines=f,e._path=a}fW.prototype.animate=function(e){let t=this._splines,n=this._path,i=this._runtimeAnimation.model,o=this._runtimeNode;if(n===YC.WEIGHTS){let r=o.morphWeights,s=r.length;for(let a=0;a<s;a++){let c=t[a],u=i.clampAnimations?c.clampTime(e):c.wrapTime(e);r[a]=c.evaluate(u)}}else{if(o.userAnimated)return;{let r=t[0],s=i.clampAnimations?r.clampTime(e):r.wrapTime(e);n===YC.TRANSLATION||n===YC.SCALE?o[n]=r.evaluate(s,qHe):n===YC.ROTATION&&(o[n]=r.evaluate(s,YHe))}}};var DF=fW;function dW(e,t,n){this._animation=t,this._name=t.name,this._runtimeChannels=void 0,this._startTime=K.clone(n.startTime),this._delay=y(n.delay,0),this._stopTime=K.clone(n.stopTime),this.removeOnStop=y(n.removeOnStop,!1),this._multiplier=y(n.multiplier,1),this._reverse=y(n.reverse,!1),this._loop=y(n.loop,cu.NONE),this._animationTime=n.animationTime,this._prevAnimationDelta=void 0,this.start=new me,this.update=new me,this.stop=new me,this._state=Qh.STOPPED,this._computedStartTime=void 0,this._duration=void 0;let i=this;this._raiseStartEvent=function(){i.start.raiseEvent(e,i)},this._updateEventTime=0,this._raiseUpdateEvent=function(){i.update.raiseEvent(e,i,i._updateEventTime)},this._raiseStopEvent=function(){i.stop.raiseEvent(e,i)},this._model=e,this._localStartTime=void 0,this._localStopTime=void 0,KHe(this)}Object.defineProperties(dW.prototype,{animation:{get:function(){return this._animation}},name:{get:function(){return this._name}},runtimeChannels:{get:function(){return this._runtimeChannels}},model:{get:function(){return this._model}},localStartTime:{get:function(){return this._localStartTime}},localStopTime:{get:function(){return this._localStopTime}},startTime:{get:function(){return this._startTime}},delay:{get:function(){return this._delay}},stopTime:{get:function(){return this._stopTime}},multiplier:{get:function(){return this._multiplier}},reverse:{get:function(){return this._reverse}},loop:{get:function(){return this._loop}},animationTime:{get:function(){return this._animationTime}}});function KHe(e){let t=Number.MAX_VALUE,n=-Number.MAX_VALUE,i=e._model.sceneGraph,r=e._animation.channels,s=r.length,a=[];for(let c=0;c<s;c++){let u=r[c],f=u.target;if(!l(f))continue;let d=f.node.index,p=i._runtimeNodes[d],g=new DF({channel:u,runtimeAnimation:e,runtimeNode:p}),m=u.sampler.input;t=Math.min(t,m[0]),n=Math.max(n,m[m.length-1]),a.push(g)}e._runtimeChannels=a,e._localStartTime=t,e._localStopTime=n}dW.prototype.animate=function(e){let t=this._runtimeChannels,n=t.length;for(let i=0;i<n;i++)t[i].animate(e)};var IF=dW;function Lp(e){this.animationAdded=new me,this.animationRemoved=new me,this.animateWhilePaused=!1,this._model=e,this._runtimeAnimations=[],this._previousTime=void 0}Object.defineProperties(Lp.prototype,{length:{get:function(){return this._runtimeAnimations.length}},model:{get:function(){return this._model}}});function hW(e,t,n){let i=e._model,o=new IF(i,t,n);return e._runtimeAnimations.push(o),e.animationAdded.raiseEvent(i,o),o}Lp.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=e.index;if(l(i))return hW(this,n[i],e);let o=n.length;for(let r=0;r<o;++r)if(n[r].name===e.name){i=r;break}return hW(this,n[i],e)};Lp.prototype.addAll=function(e){e=y(e,y.EMPTY_OBJECT);let n=this._model.sceneGraph.components.animations,i=[],o=n.length;for(let r=0;r<o;++r){let s=hW(this,n[r],e);i.push(s)}return i};Lp.prototype.remove=function(e){if(!l(e))return!1;let t=this._runtimeAnimations,n=t.indexOf(e);return n!==-1?(t.splice(n,1),this.animationRemoved.raiseEvent(this._model,e),!0):!1};Lp.prototype.removeAll=function(){let e=this._model,t=this._runtimeAnimations,n=t.length;this._runtimeAnimations.length=0;for(let i=0;i<n;++i)this.animationRemoved.raiseEvent(e,t[i])};Lp.prototype.contains=function(e){return l(e)?this._runtimeAnimations.indexOf(e)!==-1:!1};Lp.prototype.get=function(e){return this._runtimeAnimations[e]};var PF=[];function ZHe(e,t,n){return function(){e.animationRemoved.raiseEvent(t,n)}}Lp.prototype.update=function(e){let t=this._runtimeAnimations,n=t.length;if(n===0)return this._previousTime=void 0,!1;if(!this.animateWhilePaused&&K.equals(e.time,this._previousTime))return!1;this._previousTime=K.clone(e.time,this._previousTime);let i=!1,o=e.time,r=this._model;for(let s=0;s<n;++s){let a=t[s];l(a._computedStartTime)||(a._computedStartTime=K.addSeconds(y(a.startTime,o),a.delay,new K)),l(a._duration)||(a._duration=a.localStopTime*(1/a.multiplier));let c=a._computedStartTime,u=a._duration,f=a.stopTime,d=K.lessThanOrEquals(c,o),p=l(f)&&K.greaterThan(o,f),g=0;if(u!==0){let b=K.secondsDifference(p?f:o,c);g=l(a._animationTime)?a._animationTime(u,b):b/u}let m=a.loop===cu.REPEAT||a.loop===cu.MIRRORED_REPEAT,x=(d||m&&!l(a.startTime))&&(g<=1||m)&&!p;if(g===a._prevAnimationDelta){let b=a._state===Qh.STOPPED;if(x!==b)continue}if(a._prevAnimationDelta=g,x||a._state===Qh.ANIMATING){if(x&&a._state===Qh.STOPPED&&(a._state=Qh.ANIMATING,a.start.numberOfListeners>0&&e.afterRender.push(a._raiseStartEvent)),a.loop===cu.REPEAT)g=g-Math.floor(g);else if(a.loop===cu.MIRRORED_REPEAT){let T=Math.floor(g),C=g-T;g=T%2===1?1-C:C}a.reverse&&(g=1-g);let b=g*u*a.multiplier;b=P.clamp(b,a.localStartTime,a.localStopTime),a.animate(b),a.update.numberOfListeners>0&&(a._updateEventTime=b,e.afterRender.push(a._raiseUpdateEvent)),i=!0,x||(a._state=Qh.STOPPED,a.stop.numberOfListeners>0&&e.afterRender.push(a._raiseStopEvent),a.removeOnStop&&PF.push(a))}}n=PF.length;for(let s=0;s<n;++s){let a=PF[s];t.splice(t.indexOf(a),1),e.afterRender.push(ZHe(this,r,a))}return PF.length=0,i};var OF=Lp;function Sx(e){this._model=e.model,this._featureTable=e.featureTable,this._featureId=e.featureId,this._color=void 0}Object.defineProperties(Sx.prototype,{show:{get:function(){return this._featureTable.getShow(this._featureId)},set:function(e){this._featureTable.setShow(this._featureId,e)}},color:{get:function(){return l(this._color)||(this._color=new z),this._featureTable.getColor(this._featureId,this._color)},set:function(e){this._featureTable.setColor(this._featureId,e)}},primitive:{get:function(){return this._model}},featureTable:{get:function(){return this._featureTable}},featureId:{get:function(){return this._featureId}}});Sx.prototype.hasProperty=function(e){return this._featureTable.hasProperty(this._featureId,e)};Sx.prototype.getProperty=function(e){return this._featureTable.getProperty(this._featureId,e)};Sx.prototype.getPropertyInherited=function(e){return this._featureTable.hasPropertyBySemantic(this._featureId,e)?this._featureTable.getPropertyBySemantic(this._featureId,e):this._featureTable.getProperty(this._featureId,e)};Sx.prototype.getPropertyIds=function(e){return this._featureTable.getPropertyIds(e)};Sx.prototype.setProperty=function(e,t){return this._featureTable.setProperty(this._featureId,e,t)};var RF=Sx;var Dw={ALL_OPAQUE:0,ALL_TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2};Dw.getStyleCommandsNeeded=function(e,t){return t===0?Dw.ALL_OPAQUE:t===e?Dw.ALL_TRANSLUCENT:Dw.OPAQUE_AND_TRANSLUCENT};var Jh=Object.freeze(Dw);var Ug={GLTF:"GLTF",TILE_GLTF:"TILE_GLTF",TILE_B3DM:"B3DM",TILE_I3DM:"I3DM",TILE_PNTS:"PNTS",TILE_GEOJSON:"TILE_GEOJSON"};Ug.is3DTiles=function(e){switch(e){case Ug.TILE_GLTF:case Ug.TILE_B3DM:case Ug.TILE_I3DM:case Ug.TILE_PNTS:case Ug.TILE_GEOJSON:return!0;case Ug.GLTF:return!1}};var yr=Object.freeze(Ug);function Nr(e){let t=e.model,n=e.propertyTable;this._propertyTable=n,this._model=t,this._features=void 0,this._featuresLength=0,this._batchTexture=void 0,this._styleCommandsNeededDirty=!1,this._styleCommandsNeeded=Jh.ALL_OPAQUE,$He(this)}Object.defineProperties(Nr.prototype,{batchTexture:{get:function(){return this._batchTexture}},featuresLength:{get:function(){return this._featuresLength}},batchTextureByteLength:{get:function(){return l(this._batchTexture)?this._batchTexture.byteLength:0}},styleCommandsNeededDirty:{get:function(){return this._styleCommandsNeededDirty}}});function $He(e){let t=e._model,n=yr.is3DTiles(t.type),i=e._propertyTable.count;if(i===0)return;let o,r=new Array(i);if(n){let s=t.content;for(o=0;o<i;o++)r[o]=new oa(s,o)}else for(o=0;o<i;o++)r[o]=new RF({model:t,featureId:o,featureTable:e});e._features=r,e._featuresLength=i,e._batchTexture=new gl({featuresLength:i,owner:e,statistics:n?t.content.tileset.statistics:void 0})}Nr.prototype.update=function(e){this._styleCommandsNeededDirty=!1,this._batchTexture.update(void 0,e);let t=Jh.getStyleCommandsNeeded(this._featuresLength,this._batchTexture.translucentFeaturesLength);this._styleCommandsNeeded!==t&&(this._styleCommandsNeededDirty=!0,this._styleCommandsNeeded=t)};Nr.prototype.setShow=function(e,t){this._batchTexture.setShow(e,t)};Nr.prototype.setAllShow=function(e){this._batchTexture.setAllShow(e)};Nr.prototype.getShow=function(e){return this._batchTexture.getShow(e)};Nr.prototype.setColor=function(e,t){this._batchTexture.setColor(e,t)};Nr.prototype.setAllColor=function(e){this._batchTexture.setAllColor(e)};Nr.prototype.getColor=function(e,t){return this._batchTexture.getColor(e,t)};Nr.prototype.getPickColor=function(e){return this._batchTexture.getPickColor(e)};Nr.prototype.getFeature=function(e){return this._features[e]};Nr.prototype.hasProperty=function(e,t){return this._propertyTable.hasProperty(e,t)};Nr.prototype.hasPropertyBySemantic=function(e,t){return this._propertyTable.hasPropertyBySemantic(e,t)};Nr.prototype.getProperty=function(e,t){return this._propertyTable.getProperty(e,t)};Nr.prototype.getPropertyBySemantic=function(e,t){return this._propertyTable.getPropertyBySemantic(e,t)};Nr.prototype.getPropertyIds=function(e){return this._propertyTable.getPropertyIds(e)};Nr.prototype.setProperty=function(e,t,n){return this._propertyTable.setProperty(e,t,n)};Nr.prototype.isClass=function(e,t){return this._propertyTable.isClass(e,t)};Nr.prototype.isExactClass=function(e,t){return this._propertyTable.isExactClass(e,t)};Nr.prototype.getExactClassName=function(e){return this._propertyTable.getExactClassName(e)};var QHe=new z;Nr.prototype.applyStyle=function(e){if(!l(e)){this.setAllColor(gl.DEFAULT_COLOR_VALUE),this.setAllShow(gl.DEFAULT_SHOW_VALUE);return}for(let t=0;t<this._featuresLength;t++){let n=this.getFeature(t),i=l(e.color)?y(e.color.evaluateColor(n,QHe),gl.DEFAULT_COLOR_VALUE):gl.DEFAULT_COLOR_VALUE,o=l(e.show)?y(e.show.evaluate(n),gl.DEFAULT_SHOW_VALUE):gl.DEFAULT_SHOW_VALUE;this.setColor(t,i),this.setShow(t,o)}};Nr.prototype.isDestroyed=function(){return!1};Nr.prototype.destroy=function(e){this._batchTexture=this._batchTexture&&this._batchTexture.destroy(),ue(this)};var MF=Nr;var Dre={name:"TilesetPipelineStage"};Dre.process=function(e,t,n){if(t.hasSkipLevelOfDetail(n)){e.shaderBuilder.addDefine("POLYGON_OFFSET",void 0,pe.FRAGMENT);let r={u_polygonOffset:function(){return U.ZERO}};e.uniformMap=Ct(r,e.uniformMap),e.hasSkipLevelOfDetail=!0}let i=e.renderStateOptions;i.stencilTest=Ut.setCesium3DTileBit(),i.stencilMask=Ut.CESIUM_3D_TILE_MASK};var LF=Dre;var NF=`// robust iterative solution without trig functions +// https://github.com/0xfaded/ellipse_demo/issues/1 +// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse +// +// This version uses only a single iteration for best performance. For fog +// rendering, the difference is negligible. +vec2 nearestPointOnEllipseFast(vec2 pos, vec2 radii) { + vec2 p = abs(pos); + vec2 inverseRadii = 1.0 / radii; + vec2 evoluteScale = (radii.x * radii.x - radii.y * radii.y) * vec2(1.0, -1.0) * inverseRadii; - #ifdef HAS_BITANGENTS - v_bitangentEC = normalize(normal * attributes.bitangentMC); - #endif + // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) + // but store the cos and sin of t in a vec2 for efficiency. + // Initial guess: t = cos(pi/4) + vec2 tTrigs = vec2(0.70710678118); + vec2 v = radii * tTrigs; - // All other varyings need to be dynamically generated in - // GeometryPipelineStage - setDynamicVaryings(attributes); + // Find the evolute of the ellipse (center of curvature) at v. + vec2 evolute = evoluteScale * tTrigs * tTrigs * tTrigs; + // Find the (approximate) intersection of p - evolute with the ellipsoid. + vec2 q = normalize(p - evolute) * length(v - evolute); + // Update the estimate of t. + tTrigs = (q + evolute) * inverseRadii; + tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); + v = radii * tTrigs; - return computedPosition; + return v * sign(pos); } -`;var Sv=`vec2 computeSt(float featureId) -{ - float stepX = model_textureStep.x; - float centerX = model_textureStep.y; - #ifdef MULTILINE_BATCH_TEXTURE - float stepY = model_textureStep.z; - float centerY = model_textureStep.w; +vec3 computeEllipsoidPositionWC(vec3 positionMC) { + // Get the world-space position and project onto a meridian plane of + // the ellipsoid + vec3 positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; - float xId = mod(featureId, model_textureDimensions.x); - float yId = floor(featureId / model_textureDimensions.x); - - return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); - #else - return vec2(centerX + (featureId * stepX), 0.5); - #endif -} + vec2 positionEllipse = vec2(length(positionWC.xy), positionWC.z); + vec2 nearestPoint = nearestPointOnEllipseFast(positionEllipse, czm_ellipsoidRadii.xz); -void selectedFeatureIdStage(out SelectedFeature feature, FeatureIds featureIds) -{ - int featureId = featureIds.SELECTED_FEATURE_ID; + // Reconstruct a 3D point in world space + return vec3(nearestPoint.x * normalize(positionWC.xy), nearestPoint.y); +} +void applyFog(inout vec4 color, vec4 groundAtmosphereColor, vec3 lightDirection, float distanceToCamera) { - if (featureId < model_featuresLength) - { - vec2 featureSt = computeSt(float(featureId)); + vec3 fogColor = groundAtmosphereColor.rgb; - feature.id = featureId; - feature.st = featureSt; - feature.color = texture(model_batchTexture, featureSt); - } - // Floating point comparisons can be unreliable in GLSL, so we - // increment the feature ID to make sure it's always greater - // then the model_featuresLength - a condition we check for in the - // pick ID, to avoid sampling the pick texture if the feature ID is - // greater than the number of features. - else - { - feature.id = model_featuresLength + 1; - feature.st = vec2(0.0); - feature.color = vec4(1.0); + // If there is dynamic lighting, apply that to the fog. + const float NONE = 0.0; + if (czm_atmosphereDynamicLighting != NONE) { + float darken = clamp(dot(normalize(czm_viewerPositionWC), lightDirection), czm_fogMinimumBrightness, 1.0); + fogColor *= darken; } - #ifdef HAS_NULL_FEATURE_ID - if (featureId == model_nullFeatureId) { - feature.id = featureId; - feature.st = vec2(0.0); - feature.color = vec4(1.0); - } - #endif -} -`;var wv={name:"SelectedFeatureIdPipelineStage",STRUCT_ID_SELECTED_FEATURE:"SelectedFeature",STRUCT_NAME_SELECTED_FEATURE:"SelectedFeature"};wv.process=function(e,t,n){let i=e.shaderBuilder;e.hasPropertyTable=!0;let o=e.model,r=e.runtimeNode.node,s=U8e(o,r,t),a=s.shaderDestination;i.addDefine("HAS_SELECTED_FEATURE_ID",void 0,a),i.addDefine("SELECTED_FEATURE_ID",s.variableName,a),i.addDefine(s.featureIdDefine,void 0,a),z8e(i);let c=s.featureIds.nullFeatureId,u=e.uniformMap;l(c)&&(i.addDefine("HAS_NULL_FEATURE_ID",void 0,a),i.addUniform("int","model_nullFeatureId",a),u.model_nullFeatureId=function(){return c}),s.shaderDestination===pe.BOTH&&i.addVertexLines(Sv),i.addFragmentLines(Sv)};function Kre(e){return e instanceof Tn.FeatureIdTexture?"HAS_SELECTED_FEATURE_ID_TEXTURE":"HAS_SELECTED_FEATURE_ID_ATTRIBUTE"}function $re(e){return e instanceof Tn.FeatureIdTexture?pe.FRAGMENT:pe.BOTH}function U8e(e,t,n){let i,o;return l(t.instances)&&(o=$t.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(o))?(i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:$re(o),featureIdDefine:Kre(o)}):(o=$t.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:$re(o),featureIdDefine:Kre(o)})}function z8e(e){e.addStructField(wv.STRUCT_ID_SELECTED_FEATURE,"int","id"),e.addStructField(wv.STRUCT_ID_SELECTED_FEATURE,"vec2","st"),e.addStructField(wv.STRUCT_ID_SELECTED_FEATURE,"vec4","color")}var bx=wv;var Bs={name:"GeometryPipelineStage",STRUCT_ID_PROCESSED_ATTRIBUTES_VS:"ProcessedAttributesVS",STRUCT_ID_PROCESSED_ATTRIBUTES_FS:"ProcessedAttributesFS",STRUCT_NAME_PROCESSED_ATTRIBUTES:"ProcessedAttributes",FUNCTION_ID_INITIALIZE_ATTRIBUTES:"initializeAttributes",FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES:"void initializeAttributes(out ProcessedAttributes attributes)",FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS:"setDynamicVaryingsVS",FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS:"setDynamicVaryingsFS",FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS:"void setDynamicVaryings(inout ProcessedAttributes attributes)"};Bs.process=function(e,t,n){let{shaderBuilder:i,model:o}=e;i.addStruct(Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"ProcessedAttributes",pe.VERTEX),i.addStruct(Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"ProcessedAttributes",pe.FRAGMENT),i.addStruct(bx.STRUCT_ID_SELECTED_FEATURE,bx.STRUCT_NAME_SELECTED_FEATURE,pe.BOTH),i.addFunction(Bs.FUNCTION_ID_INITIALIZE_ATTRIBUTES,Bs.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES,pe.VERTEX),i.addVarying("vec3","v_positionWC"),i.addVarying("vec3","v_positionEC"),i.addStructField(Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionWC"),i.addStructField(Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionEC"),i.addFunction(Bs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,Bs.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.VERTEX),i.addFunction(Bs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,Bs.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.FRAGMENT),o.type===gr.TILE_PNTS&&i.addDefine("HAS_SRGB_COLOR",void 0,pe.FRAGMENT);let r=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&o._projectTo2D,s=l(e.runtimeNode.node.instances),a=r&&!s,c=t.attributes.length;for(let u=0;u<c;u++){let f=t.attributes[u],d=rn.getAttributeLocationCount(f.type),p=f.semantic===Ct.POSITION,g;d>1?(g=e.attributeIndex,e.attributeIndex+=d):p&&!a?g=0:g=e.attributeIndex++,H8e(e,f,g,d,r,s)}Z8e(i,t.attributes),t.primitiveType===Fe.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(d2),i.addFragmentLines(f2)};function H8e(e,t,n,i,o,r){let s=e.shaderBuilder,a=$t.getAttributeInfo(t),c=o&&!r;i>1?j8e(e,t,n,i):W8e(e,t,n,c),Y8e(s,a,c),q8e(s,a),l(t.semantic)&&G8e(s,t),X8e(s,a,o),K8e(s,a,c),$8e(s,a)}function G8e(e,t){let{semantic:n,setIndex:i}=t;switch(n){case Ct.NORMAL:e.addDefine("HAS_NORMALS");break;case Ct.TANGENT:e.addDefine("HAS_TANGENTS");break;case Ct.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case Ct.TEXCOORD:case Ct.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function W8e(e,t,n,i){let{quantization:o,semantic:r,setIndex:s}=t,{type:a,componentDatatype:c}=l(o)?o:t;r===Ct.FEATURE_ID&&s>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=s+1);let u=r===Ct.POSITION,f=u?0:n,d=rn.getNumberOfComponents(a),p={index:f,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:d,componentDatatype:c,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!u||!i)return;let g=e.runtimePrimitive.positionBuffer2D,m={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:d,componentDatatype:X.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(m)}function j8e(e,t,n,i){let{quantization:o,normalized:r}=t,{type:s,componentDatatype:a}=l(o)?o:t,u=rn.getNumberOfComponents(s)/i,f=X.getSizeInBytes(a),d=u*f,p=t.byteStride;for(let g=0;g<i;g++){let m=t.byteOffset+g*d,x={index:n+g,vertexBuffer:t.buffer,componentsPerAttribute:u,componentDatatype:a,offsetInBytes:m,strideInBytes:p,normalize:r};e.attributes.push(x)}}function q8e(e,t){let n=t.variableName,i=`v_${n}`,o;n==="normalMC"?(i="v_normalEC",o=t.glslType):n==="tangentMC"?(o="vec3",i="v_tangentEC"):o=t.glslType,e.addVarying(o,i)}function Y8e(e,t,n){let i=t.attribute.semantic,o=t.variableName,r,s;t.isQuantized?(r=`a_quantized_${o}`,s=t.quantizedGlslType):(r=`a_${o}`,s=t.glslType);let a=i===Ct.POSITION;a?e.setPositionAttribute(s,r):e.addAttribute(s,r),a&&n&&e.addAttribute("vec3","a_position2D")}function X8e(e,t,n){let i=Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,o=Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,{variableName:r,glslType:s}=t;r==="tangentMC"?(e.addStructField(i,"vec3","tangentMC"),e.addStructField(i,"float","tangentSignMC"),e.addStructField(o,"vec3","tangentEC")):r==="normalMC"?(e.addStructField(i,"vec3","normalMC"),e.addStructField(o,"vec3","normalEC")):(e.addStructField(i,s,r),e.addStructField(o,s,r)),r==="positionMC"&&n&&e.addStructField(i,"vec3","position2D")}function K8e(e,t,n){let i=Bs.FUNCTION_ID_INITIALIZE_ATTRIBUTES,o=t.variableName;if(o==="positionMC"&&n&&e.addFunctionLines(i,["attributes.position2D = a_position2D;"]),t.isQuantized)return;let s=[];o==="tangentMC"?(s.push("attributes.tangentMC = a_tangentMC.xyz;"),s.push("attributes.tangentSignMC = a_tangentMC.w;")):s.push(`attributes.${o} = a_${o};`),e.addFunctionLines(i,s)}function $8e(e,t){let{semantic:n,setIndex:i}=t.attribute;if(l(n)&&!l(i))return;let o=Bs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,r=t.variableName,s=`v_${r} = attributes.${r};`;e.addFunctionLines(o,[s]),o=Bs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,s=`attributes.${r} = v_${r};`,e.addFunctionLines(o,[s])}function Z8e(e,t){let n=!1,i=!1;for(let o=0;o<t.length;o++){let r=t[o];r.semantic===Ct.NORMAL?n=!0:r.semantic===Ct.TANGENT&&(i=!0)}!n||!i||(e.addDefine("HAS_BITANGENTS"),e.addVarying("vec3","v_bitangentEC"),e.addStructField(Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"vec3","bitangentMC"),e.addStructField(Bs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","bitangentEC"))}var h2=Bs;var m2=`#ifdef USE_IBL_LIGHTING -vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) -{ - #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) - // Environment maps were provided, use them for IBL - vec3 viewDirection = -normalize(position); - vec3 iblColor = textureIBL(viewDirection, normal, material); - #else - // Use procedural IBL if there are no environment maps - vec3 imageBasedLighting = proceduralIBL(position, normal, lightDirection, material); - float maximumComponent = czm_maximumComponent(lightColorHdr); - vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0); - vec3 iblColor = clampedLightColor * imageBasedLighting; + // Tonemap if HDR rendering is disabled + #ifndef HDR + fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); + fogColor.rgb = czm_inverseGamma(fogColor.rgb); #endif - return iblColor * material.occlusion; -} -#endif -#ifdef USE_CLEARCOAT -vec3 addClearcoatReflection(vec3 baseLayerColor, vec3 position, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) -{ - vec3 viewDirection = -normalize(position); - vec3 halfwayDirection = normalize(viewDirection + lightDirection); - vec3 normal = material.clearcoatNormal; - float NdotL = clamp(dot(normal, lightDirection), 0.001, 1.0); + vec3 withFog = czm_fog(distanceToCamera, color.rgb, fogColor, czm_fogVisualDensityScalar); + color = vec4(withFog, color.a); +} - // clearcoatF0 = vec3(pow((ior - 1.0) / (ior + 1.0), 2.0)), but without KHR_materials_ior, ior is a constant 1.5. - vec3 f0 = vec3(0.04); - vec3 f90 = vec3(1.0); - // Note: clearcoat Fresnel computed with dot(n, v) instead of dot(v, h). - // This is to make it energy conserving with a simple layering function. - float NdotV = clamp(dot(normal, viewDirection), 0.0, 1.0); - vec3 F = fresnelSchlick2(f0, f90, NdotV); +void atmosphereStage(inout vec4 color, in ProcessedAttributes attributes) { + vec3 rayleighColor; + vec3 mieColor; + float opacity; - // compute specular reflection from direct lighting - float roughness = material.clearcoatRoughness; - float alphaRoughness = roughness * roughness; - float directStrength = computeDirectSpecularStrength(normal, lightDirection, viewDirection, halfwayDirection, alphaRoughness); - vec3 directReflection = F * directStrength * NdotL; - vec3 color = lightColorHdr * directReflection; + vec3 positionWC; + vec3 lightDirection; - #ifdef SPECULAR_IBL - // Find the direction in which to sample the environment map - vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflect(-viewDirection, normal)); - vec3 iblColor = computeSpecularIBL(reflectMC, NdotV, f0, roughness); - color += iblColor * material.occlusion; - #elif defined(USE_IBL_LIGHTING) - vec3 positionWC = vec3(czm_inverseView * vec4(position, 1.0)); - vec3 reflectionWC = normalize(czm_inverseViewRotation * reflect(viewDirection, normal)); - vec3 skyMetrics = getProceduralSkyMetrics(positionWC, reflectionWC); - - vec3 specularIrradiance = getProceduralSpecularIrradiance(reflectionWC, skyMetrics, roughness); - vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; - vec3 specularColor = czm_srgbToLinear(f0 * brdfLut.x + brdfLut.y); - vec3 iblColor = specularIrradiance * specularColor * model_iblFactor.y; - #ifdef USE_SUN_LUMINANCE - iblColor *= getSunLuminance(positionWC, normal, lightDirection); - #endif - float maximumComponent = czm_maximumComponent(lightColorHdr); - vec3 clampedLightColor = lightColorHdr / max(maximumComponent, 1.0); - color += clampedLightColor * iblColor * material.occlusion; - #endif + // When the camera is in space, compute the position per-fragment for + // more accurate ground atmosphere. All other cases will use + // + // The if condition will be added in https://github.com/CesiumGS/cesium/issues/11717 + if (false) { + positionWC = computeEllipsoidPositionWC(attributes.positionMC); + lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); - float clearcoatFactor = material.clearcoatFactor; - vec3 clearcoatColor = color * clearcoatFactor; + // The fog color is derived from the ground atmosphere color + czm_computeGroundAtmosphereScattering( + positionWC, + lightDirection, + rayleighColor, + mieColor, + opacity + ); + } else { + positionWC = attributes.positionWC; + lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC, czm_atmosphereDynamicLighting); + rayleighColor = v_atmosphereRayleighColor; + mieColor = v_atmosphereMieColor; + opacity = v_atmosphereOpacity; + } - // Dim base layer based on transmission loss through clearcoat - return baseLayerColor * (1.0 - clearcoatFactor * F) + clearcoatColor; + //color correct rayleigh and mie colors + const bool ignoreBlackPixels = true; + rayleighColor = czm_applyHSBShift(rayleighColor, czm_atmosphereHsbShift, ignoreBlackPixels); + mieColor = czm_applyHSBShift(mieColor, czm_atmosphereHsbShift, ignoreBlackPixels); + + vec4 groundAtmosphereColor = czm_computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + + if (u_isInFog) { + float distanceToCamera = length(attributes.positionEC); + applyFog(color, groundAtmosphereColor, lightDirection, distanceToCamera); + } else { + // Ground atmosphere + } } -#endif +`;var FF=`void atmosphereStage(ProcessedAttributes attributes) { + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_positionWC, czm_atmosphereDynamicLighting); -#if defined(LIGHTING_PBR) && defined(HAS_NORMALS) -vec3 computePbrLighting(in czm_modelMaterial material, in vec3 position) + czm_computeGroundAtmosphereScattering( + // This assumes the geometry stage came before this. + v_positionWC, + lightDirection, + v_atmosphereRayleighColor, + v_atmosphereMieColor, + v_atmosphereOpacity + ); +} +`;var Ire={name:"AtmospherePipelineStage"};Ire.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_ATMOSPHERE",void 0,pe.BOTH),i.addDefine("COMPUTE_POSITION_WC_ATMOSPHERE",void 0,pe.BOTH),i.addVarying("vec3","v_atmosphereRayleighColor"),i.addVarying("vec3","v_atmosphereMieColor"),i.addVarying("float","v_atmosphereOpacity"),i.addVertexLines([FF]),i.addFragmentLines([NF]),i.addUniform("bool","u_isInFog",pe.FRAGMENT),e.uniformMap.u_isInFog=function(){let o=h.distance(n.camera.positionWC,t.boundingSphere.center);return P.fog(o,n.fog.density)>P.EPSILON3}};var BF=Ire;var kF=`#ifdef DIFFUSE_IBL +vec3 sampleDiffuseEnvironment(vec3 cubeDir) { - #ifdef USE_CUSTOM_LIGHT_COLOR - vec3 lightColorHdr = model_lightColorHdr; + #ifdef CUSTOM_SPHERICAL_HARMONICS + return czm_sphericalHarmonics(cubeDir, model_sphericalHarmonicCoefficients); #else - vec3 lightColorHdr = czm_lightColorHdr; + return czm_sphericalHarmonics(cubeDir, czm_sphericalHarmonicCoefficients); #endif +} +#endif - vec3 viewDirection = -normalize(position); - vec3 normal = material.normalEC; - vec3 lightDirection = normalize(czm_lightDirectionEC); - - vec3 directLighting = czm_pbrLighting(viewDirection, normal, lightDirection, material); - vec3 directColor = lightColorHdr * directLighting; - - // Accumulate colors from base layer - vec3 color = directColor + material.emissive; - #ifdef USE_IBL_LIGHTING - color += computeIBL(position, normal, lightDirection, lightColorHdr, material); +#ifdef SPECULAR_IBL +vec3 sampleSpecularEnvironment(vec3 cubeDir, float roughness) +{ + #ifdef CUSTOM_SPECULAR_IBL + float lod = roughness * model_specularEnvironmentMapsMaximumLOD; + return czm_textureCube(model_specularEnvironmentMaps, cubeDir, lod).rgb; + #else + float lod = roughness * czm_specularEnvironmentMapsMaximumLOD; + return czm_textureCube(czm_specularEnvironmentMaps, cubeDir, lod).rgb; #endif +} +vec3 computeSpecularIBL(vec3 cubeDir, float NdotV, vec3 f0, float roughness) +{ + // see https://bruop.github.io/ibl/ at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + vec3 f90 = max(vec3(1.0 - roughness), f0); + vec3 F = fresnelSchlick2(f0, f90, NdotV); - #ifdef USE_CLEARCOAT - color = addClearcoatReflection(color, position, lightDirection, lightColorHdr, material); - #endif + vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; + vec3 specularSample = sampleSpecularEnvironment(cubeDir, roughness); - return color; + return specularSample * (F * brdfLut.x + brdfLut.y); } #endif +#if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) /** - * Compute the material color under the current lighting conditions. - * All other material properties are passed through so further stages - * have access to them. + * Compute the light contributions from environment maps and spherical harmonic coefficients. + * See Fdez-Aguera, https://www.jcgt.org/published/0008/01/03/paper.pdf, for explanation + * of the single- and multi-scattering terms. * - * @param {czm_modelMaterial} material The material properties from {@MaterialStageFS} - * @param {ProcessedAttributes} attributes + * @param {vec3} viewDirectionEC Unit vector pointing from the fragment to the eye position. + * @param {vec3} normalEC The surface normal in eye coordinates. + * @param {czm_modelMaterial} The material properties. + * @return {vec3} The computed HDR color. */ -void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attributes) -{ - #ifdef LIGHTING_PBR - #ifdef HAS_NORMALS - vec3 color = computePbrLighting(material, attributes.positionEC); - #else - vec3 color = material.diffuse * material.occlusion + material.emissive; - #endif - // In HDR mode, the frame buffer is in linear color space. The - // post-processing stages (see PostProcessStageCollection) will handle - // tonemapping. However, if HDR is not enabled, we must tonemap else large - // values may be clamped to 1.0 - #ifndef HDR - color = czm_pbrNeutralTonemapping(color); - #endif - #else // unlit - vec3 color = material.diffuse; - #endif - - #ifdef HAS_POINT_CLOUD_COLOR_STYLE - // The colors resulting from point cloud styles are adjusted differently. - color = czm_gammaCorrect(color); - #elif !defined(HDR) - // If HDR is not enabled, the frame buffer stores sRGB colors rather than - // linear colors so the linear value must be converted. - color = czm_linearToSrgb(color); +vec3 textureIBL(vec3 viewDirectionEC, vec3 normalEC, czm_modelMaterial material) { + vec3 f0 = material.specular; + float roughness = material.roughness; + float specularWeight = 1.0; + #ifdef USE_SPECULAR + specularWeight = material.specularWeight; #endif + float NdotV = clamp(dot(normalEC, viewDirectionEC), 0.0, 1.0); - material.diffuse = color; -} -`;var Q8e={UNLIT:0,PBR:1},Rp=Object.freeze(Q8e);var Zre={name:"LightingPipelineStage"};Zre.process=function(e,t){let{model:n,lightingOptions:i,shaderBuilder:o}=e;if(l(n.lightColor)){o.addDefine("USE_CUSTOM_LIGHT_COLOR",void 0,pe.FRAGMENT),o.addUniform("vec3","model_lightColorHdr",pe.FRAGMENT);let s=e.uniformMap;s.model_lightColorHdr=function(){return n.lightColor}}let{lightingModel:r}=i;r===Rp.PBR?o.addDefine("LIGHTING_PBR",void 0,pe.FRAGMENT):o.addDefine("LIGHTING_UNLIT",void 0,pe.FRAGMENT),o.addFragmentLines(m2)};var p2=Zre;var _2=`// If the style color is white, it implies the feature has not been styled. -bool isDefaultStyleColor(vec3 color) -{ - return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); -} + // see https://bruop.github.io/ibl/ at Single Scattering Results + // Roughness dependent fresnel, from Fdez-Aguera + vec3 f90 = max(vec3(1.0 - roughness), f0); + vec3 singleScatterFresnel = fresnelSchlick2(f0, f90, NdotV); -vec3 blend(vec3 sourceColor, vec3 styleColor, float styleColorBlend) -{ - vec3 blendColor = mix(sourceColor, styleColor, styleColorBlend); - vec3 color = isDefaultStyleColor(styleColor.rgb) ? sourceColor : blendColor; - return color; -} + vec2 brdfLut = texture(czm_brdfLut, vec2(NdotV, roughness)).rg; + vec3 FssEss = specularWeight * (singleScatterFresnel * brdfLut.x + brdfLut.y); -vec2 computeTextureTransform(vec2 texCoord, mat3 textureTransform) -{ - return vec2(textureTransform * vec3(texCoord, 1.0)); -} + #ifdef DIFFUSE_IBL + vec3 normalMC = normalize(model_iblReferenceFrameMatrix * normalEC); + vec3 irradiance = sampleDiffuseEnvironment(normalMC); -#ifdef HAS_NORMAL_TEXTURE -vec2 getNormalTexCoords() -{ - vec2 texCoord = TEXCOORD_NORMAL; - #ifdef HAS_NORMAL_TEXTURE_TRANSFORM - texCoord = vec2(u_normalTextureTransform * vec3(texCoord, 1.0)); + vec3 averageFresnel = f0 + (1.0 - f0) / 21.0; + float Ems = specularWeight * (1.0 - brdfLut.x - brdfLut.y); + vec3 FmsEms = FssEss * averageFresnel * Ems / (1.0 - averageFresnel * Ems); + vec3 dielectricScattering = (1.0 - FssEss - FmsEms) * material.diffuse; + vec3 diffuseContribution = irradiance * (FmsEms + dielectricScattering) * model_iblFactor.x; + #else + vec3 diffuseContribution = vec3(0.0); #endif - return texCoord; -} -#endif - -#if defined(HAS_NORMAL_TEXTURE) || defined(HAS_CLEARCOAT_NORMAL_TEXTURE) -vec3 computeTangent(in vec3 position, in vec2 normalTexCoords) -{ - vec2 tex_dx = dFdx(normalTexCoords); - vec2 tex_dy = dFdy(normalTexCoords); - float determinant = tex_dx.x * tex_dy.y - tex_dy.x * tex_dx.y; - vec3 tangent = tex_dy.t * dFdx(position) - tex_dx.t * dFdy(position); - return tangent / determinant; -} -#endif - -#ifdef USE_ANISOTROPY -struct NormalInfo { - vec3 tangent; - vec3 bitangent; - vec3 normal; - vec3 geometryNormal; -}; -NormalInfo getNormalInfo(ProcessedAttributes attributes) -{ - vec3 geometryNormal = attributes.normalEC; - #ifdef HAS_NORMAL_TEXTURE - vec2 normalTexCoords = getNormalTexCoords(); + #ifdef USE_ANISOTROPY + // Bend normal to account for anisotropic distortion of specular reflection + vec3 anisotropyDirection = material.anisotropicB; + vec3 anisotropicTangent = cross(anisotropyDirection, viewDirectionEC); + vec3 anisotropicNormal = cross(anisotropicTangent, anisotropyDirection); + float bendFactor = 1.0 - material.anisotropyStrength * (1.0 - roughness); + float bendFactorPow4 = bendFactor * bendFactor * bendFactor * bendFactor; + vec3 bentNormal = normalize(mix(anisotropicNormal, normalEC, bendFactorPow4)); + vec3 reflectEC = reflect(-viewDirectionEC, bentNormal); + #else + vec3 reflectEC = reflect(-viewDirectionEC, normalEC); #endif - #ifdef HAS_BITANGENTS - vec3 tangent = attributes.tangentEC; - vec3 bitangent = attributes.bitangentEC; - #else // Assume HAS_NORMAL_TEXTURE - vec3 tangent = computeTangent(attributes.positionEC, normalTexCoords); - tangent = normalize(tangent - geometryNormal * dot(geometryNormal, tangent)); - vec3 bitangent = normalize(cross(geometryNormal, tangent)); + #ifdef SPECULAR_IBL + vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflectEC); + vec3 radiance = sampleSpecularEnvironment(reflectMC, roughness); + vec3 specularContribution = radiance * FssEss * model_iblFactor.y; + #else + vec3 specularContribution = vec3(0.0); #endif - #ifdef HAS_NORMAL_TEXTURE - mat3 tbn = mat3(tangent, bitangent, geometryNormal); - vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; - normalSample = 2.0 * normalSample - 1.0; - #ifdef HAS_NORMAL_TEXTURE_SCALE - normalSample.xy *= u_normalTextureScale; - #endif - vec3 normal = normalize(tbn * normalSample); - #else - vec3 normal = geometryNormal; - #endif - - #ifdef HAS_DOUBLE_SIDED_MATERIAL - if (czm_backFacing()) { - tangent *= -1.0; - bitangent *= -1.0; - normal *= -1.0; - geometryNormal *= -1.0; - } - #endif - - NormalInfo normalInfo; - normalInfo.tangent = tangent; - normalInfo.bitangent = bitangent; - normalInfo.normal = normal; - normalInfo.geometryNormal = geometryNormal; - - return normalInfo; + return diffuseContribution + specularContribution; } #endif - -#if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) -vec3 getNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) +`;var Pre={name:"ImageBasedLightingPipelineStage"},JHe=new U;Pre.process=function(e,t,n){let i=t.imageBasedLighting,o=t.environmentMapManager,r=e.shaderBuilder,s;l(i.specularEnvironmentMaps)||(s=o.radianceCubeMap);let a=i.sphericalHarmonicCoefficients??o.sphericalHarmonicCoefficients;r.addDefine("USE_IBL_LIGHTING",void 0,pe.FRAGMENT),r.addUniform("vec2","model_iblFactor",pe.FRAGMENT),Vh.isSupported(n.context)&&((i.useSphericalHarmonics||i.useSpecularEnvironmentMaps||i.enabled)&&r.addUniform("mat3","model_iblReferenceFrameMatrix",pe.FRAGMENT),l(s)&&r.addDefine("COMPUTE_POSITION_WC_ATMOSPHERE",void 0,pe.BOTH),l(a)&&l(a[0])?(r.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),r.addDefine("CUSTOM_SPHERICAL_HARMONICS",void 0,pe.FRAGMENT),r.addUniform("vec3","model_sphericalHarmonicCoefficients[9]",pe.FRAGMENT)):i.useDefaultSphericalHarmonics&&r.addDefine("DIFFUSE_IBL",void 0,pe.FRAGMENT),l(i.specularEnvironmentCubeMap)&&i.specularEnvironmentCubeMap.ready||l(s)?(r.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT),r.addDefine("CUSTOM_SPECULAR_IBL",void 0,pe.FRAGMENT),r.addUniform("samplerCube","model_specularEnvironmentMaps",pe.FRAGMENT),r.addUniform("float","model_specularEnvironmentMapsMaximumLOD",pe.FRAGMENT)):t.useDefaultSpecularMaps&&r.addDefine("SPECULAR_IBL",void 0,pe.FRAGMENT)),r.addFragmentLines(kF);let c={model_iblFactor:function(){return U.multiplyByScalar(i.imageBasedLightingFactor,o?.intensity||1,JHe)},model_iblReferenceFrameMatrix:function(){return t._iblReferenceFrameMatrix},model_sphericalHarmonicCoefficients:function(){return a},model_specularEnvironmentMaps:function(){return i.specularEnvironmentCubeMap.texture},model_specularEnvironmentMapsMaximumLOD:function(){return i.specularEnvironmentCubeMap.maximumMipmapLevel}};l(s)&&(c.model_specularEnvironmentMaps=function(){return s},c.model_specularEnvironmentMapsMaximumLOD=function(){return o.maximumMipmapLevel}),e.uniformMap=Ct(c,e.uniformMap)};var VF=Pre;var e8e=P.EPSILON16;function pW(e){e=y(e,y.EMPTY_OBJECT);let t=e.stage,n=e.runtimeArticulation;this._stage=t,this._runtimeArticulation=n,this._name=t.name,this._type=t.type,this._minimumValue=t.minimumValue,this._maximumValue=t.maximumValue,this._currentValue=t.initialValue}Object.defineProperties(pW.prototype,{stage:{get:function(){return this._stage}},runtimeArticulation:{get:function(){return this._runtimeArticulation}},name:{get:function(){return this._name}},type:{get:function(){return this._type}},minimumValue:{get:function(){return this._minimumValue}},maximumValue:{get:function(){return this._maximumValue}},currentValue:{get:function(){return this._currentValue},set:function(e){e=P.clamp(e,this.minimumValue,this.maximumValue),P.equalsEpsilon(this._currentValue,e,e8e)||(this._currentValue=e,this.runtimeArticulation._dirty=!0)}}});var t8e=new h,mW=new $;pW.prototype.applyStageToMatrix=function(e){let t=this.type,n=this.currentValue,i=t8e,o;switch(t){case Bc.XROTATE:o=$.fromRotationX(P.toRadians(n),mW),e=F.multiplyByMatrix3(e,o,e);break;case Bc.YROTATE:o=$.fromRotationY(P.toRadians(n),mW),e=F.multiplyByMatrix3(e,o,e);break;case Bc.ZROTATE:o=$.fromRotationZ(P.toRadians(n),mW),e=F.multiplyByMatrix3(e,o,e);break;case Bc.XTRANSLATE:i.x=n,i.y=0,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case Bc.YTRANSLATE:i.x=0,i.y=n,i.z=0,e=F.multiplyByTranslation(e,i,e);break;case Bc.ZTRANSLATE:i.x=0,i.y=0,i.z=n,e=F.multiplyByTranslation(e,i,e);break;case Bc.XSCALE:i.x=n,i.y=1,i.z=1,e=F.multiplyByScale(e,i,e);break;case Bc.YSCALE:i.x=1,i.y=n,i.z=1,e=F.multiplyByScale(e,i,e);break;case Bc.ZSCALE:i.x=1,i.y=1,i.z=n,e=F.multiplyByScale(e,i,e);break;case Bc.UNIFORMSCALE:e=F.multiplyByUniformScale(e,n,e);break;default:break}return e};var UF=pW;function zF(e){e=y(e,y.EMPTY_OBJECT);let t=e.articulation,n=e.sceneGraph;this._articulation=t,this._sceneGraph=n,this._name=t.name,this._runtimeStages=[],this._runtimeStagesByName={},this._runtimeNodes=[],this._dirty=!0,n8e(this)}Object.defineProperties(zF.prototype,{articulation:{get:function(){return this._articulation}},sceneGraph:{get:function(){return this._sceneGraph}},name:{get:function(){return this._name}},runtimeStages:{get:function(){return this._runtimeStages}},runtimeNodes:{get:function(){return this._runtimeNodes}}});function n8e(e){let n=e.articulation.stages,i=n.length,o=e._runtimeStages,r=e._runtimeStagesByName;for(let s=0;s<i;s++){let a=n[s],c=new UF({stage:a,runtimeArticulation:e});o.push(c);let u=a.name;r[u]=c}}zF.prototype.setArticulationStage=function(e,t){let n=this._runtimeStagesByName[e];l(n)&&(n.currentValue=t)};var i8e=new F,o8e=new F;zF.prototype.apply=function(){if(!this._dirty)return;this._dirty=!1;let e=F.clone(F.IDENTITY,i8e),t,n=this._runtimeStages,i=n.length;for(t=0;t<i;t++)e=n[t].applyStageToMatrix(e);let o=this._runtimeNodes,r=o.length;for(t=0;t<r;t++){let s=o[t],a=F.multiplyTransformation(s.originalTransform,e,o8e);s.transform=a}};var HF=zF;var GF=`void modelColorStage(inout czm_modelMaterial material) { - vec2 normalTexCoords = getNormalTexCoords(); - - // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set - #ifdef HAS_BITANGENTS - vec3 t = attributes.tangentEC; - vec3 b = attributes.bitangentEC; - #else - vec3 t = computeTangent(attributes.positionEC, normalTexCoords); - t = normalize(t - geometryNormal * dot(geometryNormal, t)); - vec3 b = normalize(cross(geometryNormal, t)); - #endif - - mat3 tbn = mat3(t, b, geometryNormal); - vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; - normalSample = 2.0 * normalSample - 1.0; - #ifdef HAS_NORMAL_TEXTURE_SCALE - normalSample.xy *= u_normalTextureScale; - #endif - return normalize(tbn * normalSample); + material.diffuse = mix(material.diffuse, model_color.rgb, model_colorBlend); + float highlight = ceil(model_colorBlend); + material.diffuse *= mix(model_color.rgb, vec3(1.0), highlight); + material.alpha *= model_color.a; +} +`;var XC={name:"ModelColorPipelineStage",COLOR_UNIFORM_NAME:"model_color",COLOR_BLEND_UNIFORM_NAME:"model_colorBlend"};XC.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_COLOR",void 0,pe.FRAGMENT),i.addFragmentLines(GF);let o={},r=t.color;r.alpha===0&&!t.hasSilhouette(n)&&(e.renderStateOptions.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),r.alpha<1&&(e.alphaOptions.pass=ve.TRANSLUCENT),i.addUniform("vec4",XC.COLOR_UNIFORM_NAME,pe.FRAGMENT),o[XC.COLOR_UNIFORM_NAME]=function(){return t.color},i.addUniform("float",XC.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),o[XC.COLOR_BLEND_UNIFORM_NAME]=function(){return Fc.getColorBlend(t.colorBlendMode,t.colorBlendAmount)},e.uniformMap=Ct(o,e.uniformMap)};var vx=XC;var WF=`#ifdef USE_CLIPPING_PLANES_FLOAT_TEXTURE +vec4 getClippingPlane( + highp sampler2D packedClippingPlanes, + int clippingPlaneNumber, + mat4 transform +) { + int pixY = clippingPlaneNumber / CLIPPING_PLANES_TEXTURE_WIDTH; + int pixX = clippingPlaneNumber - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); + float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel + float v = (float(pixY) + 0.5) * pixelHeight; + vec4 plane = texture(packedClippingPlanes, vec2(u, v)); + return czm_transformPlane(plane, transform); +} +#else +// Handle uint8 clipping texture instead +vec4 getClippingPlane( + highp sampler2D packedClippingPlanes, + int clippingPlaneNumber, + mat4 transform +) { + int clippingPlaneStartIndex = clippingPlaneNumber * 2; // clipping planes are two pixels each + int pixY = clippingPlaneStartIndex / CLIPPING_PLANES_TEXTURE_WIDTH; + int pixX = clippingPlaneStartIndex - (pixY * CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelWidth = 1.0 / float(CLIPPING_PLANES_TEXTURE_WIDTH); + float pixelHeight = 1.0 / float(CLIPPING_PLANES_TEXTURE_HEIGHT); + float u = (float(pixX) + 0.5) * pixelWidth; // sample from center of pixel + float v = (float(pixY) + 0.5) * pixelHeight; + vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; + vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); + vec4 plane; + plane.xyz = czm_octDecode(oct, 65535.0); + plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + pixelWidth, v))); + return czm_transformPlane(plane, transform); } #endif -#ifdef HAS_CLEARCOAT_NORMAL_TEXTURE -vec3 getClearcoatNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) -{ - vec2 normalTexCoords = TEXCOORD_CLEARCOAT_NORMAL; - #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_TRANSFORM - normalTexCoords = vec2(u_clearcoatNormalTextureTransform * vec3(normalTexCoords, 1.0)); - #endif - - // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set - #ifdef HAS_BITANGENTS - vec3 t = attributes.tangentEC; - vec3 b = attributes.bitangentEC; +float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) { + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float pixelWidth = czm_metersPerPixel(position); + + #ifdef UNION_CLIPPING_REGIONS + float clipAmount; // For union planes, we want to get the min distance. So we set the initial value to the first plane distance in the loop below. #else - vec3 t = computeTangent(attributes.positionEC, normalTexCoords); - t = normalize(t - geometryNormal * dot(geometryNormal, t)); - vec3 b = normalize(cross(geometryNormal, t)); + float clipAmount = 0.0; + bool clipped = true; #endif - mat3 tbn = mat3(t, b, geometryNormal); - vec3 normalSample = texture(u_clearcoatNormalTexture, normalTexCoords).rgb; - normalSample = 2.0 * normalSample - 1.0; - #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_SCALE - normalSample.xy *= u_clearcoatNormalTextureScale; + for (int i = 0; i < CLIPPING_PLANES_LENGTH; ++i) { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + + #ifdef UNION_CLIPPING_REGIONS + clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); + if (amount <= 0.0) { + discard; + } + #else + clipAmount = max(amount, clipAmount); + clipped = clipped && (amount <= 0.0); + #endif + } + + #ifndef UNION_CLIPPING_REGIONS + if (clipped) { + discard; + } #endif - return normalize(tbn * normalSample); + + return clipAmount; } -#endif -#ifdef HAS_NORMALS -vec3 computeNormal(ProcessedAttributes attributes) +void modelClippingPlanesStage(inout vec4 color) { - // Geometry normal. This is already normalized - vec3 normal = attributes.normalEC; + float clipDistance = clip(gl_FragCoord, model_clippingPlanes, model_clippingPlanesMatrix); + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = model_clippingPlanesEdgeStyle.rgb; + float clippingPlanesEdgeWidth = model_clippingPlanesEdgeStyle.a; + + if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) { + color = clippingPlanesEdgeColor; + } +} +`;var Ore={name:"ModelClippingPlanesPipelineStage"},r8e=new U;Ore.process=function(e,t,n){let i=t.clippingPlanes,o=n.context,r=e.shaderBuilder;r.addDefine("HAS_CLIPPING_PLANES",void 0,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_LENGTH",i.length,pe.FRAGMENT),i.unionClippingRegions&&r.addDefine("UNION_CLIPPING_REGIONS",void 0,pe.FRAGMENT),Ss.useFloatTexture(o)&&r.addDefine("USE_CLIPPING_PLANES_FLOAT_TEXTURE",void 0,pe.FRAGMENT);let s=Ss.getTextureResolution(i,o,r8e);r.addDefine("CLIPPING_PLANES_TEXTURE_WIDTH",s.x,pe.FRAGMENT),r.addDefine("CLIPPING_PLANES_TEXTURE_HEIGHT",s.y,pe.FRAGMENT),r.addUniform("sampler2D","model_clippingPlanes",pe.FRAGMENT),r.addUniform("vec4","model_clippingPlanesEdgeStyle",pe.FRAGMENT),r.addUniform("mat4","model_clippingPlanesMatrix",pe.FRAGMENT),r.addFragmentLines(WF);let a={model_clippingPlanes:function(){return i.texture},model_clippingPlanesEdgeStyle:function(){let c=z.clone(i.edgeColor);return c.alpha=i.edgeWidth,c},model_clippingPlanesMatrix:function(){return t._clippingPlanesMatrix}};e.uniformMap=Ct(a,e.uniformMap)};var jF=Ore;var qF=`void modelClippingPolygonsStage(ProcessedAttributes attributes) +{ + vec2 sphericalLatLong = czm_approximateSphericalCoordinates(v_positionWC); + sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); - #if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) - normal = getNormalFromTexture(attributes, normal); - #endif + vec2 minDistance = vec2(czm_infinity); + v_regionIndex = -1; + v_clippingPosition = vec2(czm_infinity); - #ifdef HAS_DOUBLE_SIDED_MATERIAL - if (czm_backFacing()) { - normal = -normal; + for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { + vec4 extents = czm_unpackClippingExtents(model_clippingExtents, regionIndex); + vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; + + vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); + vec2 distance = abs(rectUv - clamped) * extents.wz; + + if (minDistance.x > distance.x || minDistance.y > distance.y) { + minDistance = distance; + v_clippingPosition = rectUv; } - #endif - return normal; + float threshold = 0.01; + if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { + v_regionIndex = regionIndex; + } + } } -#endif - -#ifdef HAS_BASE_COLOR_TEXTURE -vec4 getBaseColorFromTexture() +`;var YF=`void modelClippingPolygonsStage() { - vec2 baseColorTexCoords = TEXCOORD_BASE_COLOR; - #ifdef HAS_BASE_COLOR_TEXTURE_TRANSFORM - baseColorTexCoords = computeTextureTransform(baseColorTexCoords, u_baseColorTextureTransform); - #endif - - vec4 baseColorWithAlpha = czm_srgbToLinear(texture(u_baseColorTexture, baseColorTexCoords)); - - #ifdef HAS_BASE_COLOR_FACTOR - baseColorWithAlpha *= u_baseColorFactor; - #endif - - return baseColorWithAlpha; + vec2 clippingPosition = v_clippingPosition; + int regionIndex = v_regionIndex; + czm_clipPolygons(model_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); } -#endif - -#ifdef HAS_EMISSIVE_TEXTURE -vec3 getEmissiveFromTexture() +`;var Rre={name:"ModelClippingPolygonsPipelineStage"};Rre.process=function(e,t,n){let i=t.clippingPolygons,o=e.shaderBuilder;o.addDefine("ENABLE_CLIPPING_POLYGONS",void 0,pe.BOTH),i.inverse&&o.addDefine("CLIPPING_INVERSE",void 0,pe.FRAGMENT),o.addDefine("CLIPPING_POLYGON_REGIONS_LENGTH",i.extentsCount,pe.BOTH),o.addUniform("sampler2D","model_clippingDistance",pe.FRAGMENT),o.addUniform("sampler2D","model_clippingExtents",pe.VERTEX),o.addVarying("vec2","v_clippingPosition"),o.addVarying("int","v_regionIndex","flat"),o.addVertexLines(qF),o.addFragmentLines(YF);let r={model_clippingDistance:function(){return i.clippingTexture},model_clippingExtents:function(){return i.extentsTexture}};e.uniformMap=Ct(r,e.uniformMap)};var XF=Rre;function Mre(e,t){this._model=e,this._runtimeNode=t}Object.defineProperties(Mre.prototype,{name:{get:function(){return this._runtimeNode._name}},id:{get:function(){return this._runtimeNode._id}},show:{get:function(){return this._runtimeNode.show},set:function(e){this._runtimeNode.show=e}},matrix:{get:function(){return this._runtimeNode.transform},set:function(e){l(e)?(this._runtimeNode.transform=e,this._runtimeNode.userAnimated=!0,this._model._userAnimationDirty=!0):(this._runtimeNode.transform=this.originalMatrix,this._runtimeNode.userAnimated=!1)}},originalMatrix:{get:function(){return this._runtimeNode.originalTransform}}});var KF=Mre;var ZF=`mat4 getInstancingTransform() { - vec2 emissiveTexCoords = TEXCOORD_EMISSIVE; - #ifdef HAS_EMISSIVE_TEXTURE_TRANSFORM - emissiveTexCoords = computeTextureTransform(emissiveTexCoords, u_emissiveTextureTransform); - #endif + mat4 instancingTransform; - vec3 emissive = czm_srgbToLinear(texture(u_emissiveTexture, emissiveTexCoords).rgb); - #ifdef HAS_EMISSIVE_FACTOR - emissive *= u_emissiveFactor; + #ifdef HAS_INSTANCE_MATRICES + instancingTransform = mat4( + a_instancingTransformRow0.x, a_instancingTransformRow1.x, a_instancingTransformRow2.x, 0.0, // Column 1 + a_instancingTransformRow0.y, a_instancingTransformRow1.y, a_instancingTransformRow2.y, 0.0, // Column 2 + a_instancingTransformRow0.z, a_instancingTransformRow1.z, a_instancingTransformRow2.z, 0.0, // Column 3 + a_instancingTransformRow0.w, a_instancingTransformRow1.w, a_instancingTransformRow2.w, 1.0 // Column 4 + ); + #else + vec3 translation = vec3(0.0, 0.0, 0.0); + vec3 scale = vec3(1.0, 1.0, 1.0); + + #ifdef HAS_INSTANCE_TRANSLATION + translation = a_instanceTranslation; + #endif + #ifdef HAS_INSTANCE_SCALE + scale = a_instanceScale; + #endif + + instancingTransform = mat4( + scale.x, 0.0, 0.0, 0.0, + 0.0, scale.y, 0.0, 0.0, + 0.0, 0.0, scale.z, 0.0, + translation.x, translation.y, translation.z, 1.0 + ); #endif - return emissive; + return instancingTransform; } -#endif -#if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) -void setSpecularGlossiness(inout czm_modelMaterial material) +#ifdef USE_2D_INSTANCING +mat4 getInstancingTransform2D() { - #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE - vec2 specularGlossinessTexCoords = TEXCOORD_SPECULAR_GLOSSINESS; - #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE_TRANSFORM - specularGlossinessTexCoords = computeTextureTransform(specularGlossinessTexCoords, u_specularGlossinessTextureTransform); - #endif + mat4 instancingTransform2D; - vec4 specularGlossiness = czm_srgbToLinear(texture(u_specularGlossinessTexture, specularGlossinessTexCoords)); - vec3 specular = specularGlossiness.rgb; - float glossiness = specularGlossiness.a; - #ifdef HAS_LEGACY_SPECULAR_FACTOR - specular *= u_legacySpecularFactor; - #endif - - #ifdef HAS_GLOSSINESS_FACTOR - glossiness *= u_glossinessFactor; - #endif + #ifdef HAS_INSTANCE_MATRICES + instancingTransform2D = mat4( + a_instancingTransform2DRow0.x, a_instancingTransform2DRow1.x, a_instancingTransform2DRow2.x, 0.0, // Column 1 + a_instancingTransform2DRow0.y, a_instancingTransform2DRow1.y, a_instancingTransform2DRow2.y, 0.0, // Column 2 + a_instancingTransform2DRow0.z, a_instancingTransform2DRow1.z, a_instancingTransform2DRow2.z, 0.0, // Column 3 + a_instancingTransform2DRow0.w, a_instancingTransform2DRow1.w, a_instancingTransform2DRow2.w, 1.0 // Column 4 + ); #else - #ifdef HAS_LEGACY_SPECULAR_FACTOR - vec3 specular = clamp(u_legacySpecularFactor, vec3(0.0), vec3(1.0)); - #else - vec3 specular = vec3(1.0); - #endif - - #ifdef HAS_GLOSSINESS_FACTOR - float glossiness = clamp(u_glossinessFactor, 0.0, 1.0); - #else - float glossiness = 1.0; + vec3 translation2D = vec3(0.0, 0.0, 0.0); + vec3 scale = vec3(1.0, 1.0, 1.0); + + #ifdef HAS_INSTANCE_TRANSLATION + translation2D = a_instanceTranslation2D; #endif - #endif - - #ifdef HAS_DIFFUSE_TEXTURE - vec2 diffuseTexCoords = TEXCOORD_DIFFUSE; - #ifdef HAS_DIFFUSE_TEXTURE_TRANSFORM - diffuseTexCoords = computeTextureTransform(diffuseTexCoords, u_diffuseTextureTransform); + #ifdef HAS_INSTANCE_SCALE + scale = a_instanceScale; #endif - vec4 diffuse = czm_srgbToLinear(texture(u_diffuseTexture, diffuseTexCoords)); - #ifdef HAS_DIFFUSE_FACTOR - diffuse *= u_diffuseFactor; - #endif - #elif defined(HAS_DIFFUSE_FACTOR) - vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0)); - #else - vec4 diffuse = vec4(1.0); + instancingTransform2D = mat4( + scale.x, 0.0, 0.0, 0.0, + 0.0, scale.y, 0.0, 0.0, + 0.0, 0.0, scale.z, 0.0, + translation2D.x, translation2D.y, translation2D.z, 1.0 + ); #endif - material.diffuse = diffuse.rgb * (1.0 - czm_maximumComponent(specular)); - // the specular glossiness extension's alpha overrides anything set - // by the base material. - material.alpha = diffuse.a; - - material.specular = specular; - - // glossiness is the opposite of roughness, but easier for artists to use. - material.roughness = 1.0 - glossiness; + return instancingTransform2D; } -#elif defined(LIGHTING_PBR) -float setMetallicRoughness(inout czm_modelMaterial material) +#endif +`;var $F=`void instancingStage(inout ProcessedAttributes attributes) { - #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE - vec2 metallicRoughnessTexCoords = TEXCOORD_METALLIC_ROUGHNESS; - #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE_TRANSFORM - metallicRoughnessTexCoords = computeTextureTransform(metallicRoughnessTexCoords, u_metallicRoughnessTextureTransform); - #endif - - vec3 metallicRoughness = texture(u_metallicRoughnessTexture, metallicRoughnessTexCoords).rgb; - float metalness = clamp(metallicRoughness.b, 0.0, 1.0); - float roughness = clamp(metallicRoughness.g, 0.0, 1.0); - #ifdef HAS_METALLIC_FACTOR - metalness = clamp(metalness * u_metallicFactor, 0.0, 1.0); - #endif - - #ifdef HAS_ROUGHNESS_FACTOR - roughness = clamp(roughness * u_roughnessFactor, 0.0, 1.0); - #endif - #else - #ifdef HAS_METALLIC_FACTOR - float metalness = clamp(u_metallicFactor, 0.0, 1.0); - #else - float metalness = 1.0; - #endif + vec3 positionMC = attributes.positionMC; + + mat4 instancingTransform = getInstancingTransform(); + + attributes.positionMC = (instancingTransform * vec4(positionMC, 1.0)).xyz; - #ifdef HAS_ROUGHNESS_FACTOR - float roughness = clamp(u_roughnessFactor, 0.0, 1.0); - #else - float roughness = 1.0; - #endif + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = (instancingTransform * vec4(normalMC, 0.0)).xyz; #endif - // dielectrics use f0 = 0.04, metals use albedo as f0 - const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); - vec3 f0 = mix(REFLECTANCE_DIELECTRIC, material.baseColor.rgb, metalness); - - material.specular = f0; - - // diffuse only applies to dielectrics. - material.diffuse = mix(material.baseColor.rgb, vec3(0.0), metalness); + #ifdef USE_2D_INSTANCING + mat4 instancingTransform2D = getInstancingTransform2D(); + attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; + #endif +} +`;var QF=`void legacyInstancingStage( + inout ProcessedAttributes attributes, + out mat4 instanceModelView, + out mat3 instanceModelViewInverseTranspose) +{ + vec3 positionMC = attributes.positionMC; - // This is perceptual roughness. The square of this value is used for direct lighting - material.roughness = roughness; + mat4 instancingTransform = getInstancingTransform(); + + mat4 instanceModel = instancingTransform * u_instance_nodeTransform; + instanceModelView = u_instance_modifiedModelView; + instanceModelViewInverseTranspose = mat3(u_instance_modifiedModelView * instanceModel); - return metalness; + attributes.positionMC = (instanceModel * vec4(positionMC, 1.0)).xyz; + + #ifdef USE_2D_INSTANCING + mat4 instancingTransform2D = getInstancingTransform2D(); + attributes.position2D = (instancingTransform2D * vec4(positionMC, 1.0)).xyz; + #endif } -#ifdef USE_SPECULAR -void setSpecular(inout czm_modelMaterial material, in float metalness) +`;var JF=new F,s8e=new F,a8e=new F,Nre={name:"InstancingPipelineStage",_getInstanceTransformsAsMatrices:Ure,_transformsToTypedArray:gW};Nre.process=function(e,t,n){let i=t.instances,o=i.attributes[0].count,r=e.shaderBuilder;r.addDefine("HAS_INSTANCING"),r.addVertexLines(ZF);let s=e.model,a=s.sceneGraph,c=e.runtimeNode,u=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&s._projectTo2D,f=s._enablePick&&!n.context.webgl2,d=[];C8e(e,n,i,d,u,f),S8e(e,n,i,d);let p={};if(i.transformInWorldSpace?(r.addDefine("USE_LEGACY_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_instance_modifiedModelView",pe.VERTEX),r.addUniform("mat4","u_instance_nodeTransform",pe.VERTEX),p.u_instance_modifiedModelView=function(){let g=F.multiplyTransformation(s.modelMatrix,a.components.transform,JF);return u?F.multiplyTransformation(n.context.uniformState.view3D,g,JF):(n.mode!==ne.SCENE3D&&(g=Mt.basisTo2D(n.mapProjection,g,JF)),F.multiplyTransformation(n.context.uniformState.view,g,JF))},p.u_instance_nodeTransform=function(){return F.multiplyTransformation(a.axisCorrectionMatrix,c.computedTransform,s8e)},r.addVertexLines(QF)):r.addVertexLines($F),u){r.addDefine("USE_2D_INSTANCING",void 0,pe.VERTEX),r.addUniform("mat4","u_modelView2D",pe.VERTEX);let g=n.context,m=F.fromTranslation(c.instancingReferencePoint2D,new F);p.u_modelView2D=function(){return F.multiplyTransformation(g.uniformState.view,m,a8e)}}e.uniformMap=Ct(p,e.uniformMap),e.instanceCount=o,e.attributes.push.apply(e.attributes,d)};var Iw=new F,c8e=new h;function l8e(e,t,n,i,o){let r=F.multiplyTransformation(t,e,Iw);return r=F.multiplyTransformation(r,n,Iw),o=Mt.basisTo2D(i.mapProjection,r,o),o}function u8e(e,t,n,i,o){let r=F.fromTranslation(e,Iw),s=F.multiplyTransformation(t,r,Iw);s=F.multiplyTransformation(s,n,Iw);let a=F.getTranslation(s,c8e);return o=Ui.computeActualEllipsoidPosition(i,a,o),o}function Fre(e,t,n){let i=e.model,o=i.sceneGraph;e.runtimeNode.node.instances.transformInWorldSpace?(t=F.multiplyTransformation(i.modelMatrix,o.components.transform,t),n=F.multiplyTransformation(o.axisCorrectionMatrix,e.runtimeNode.computedTransform,n)):(t=F.clone(o.computedModelMatrix,t),t=F.multiplyTransformation(t,e.runtimeNode.computedTransform,t),n=F.clone(F.IDENTITY,n))}var Bre=new F,kre=new F,f8e=new F,d8e=new h;function h8e(e,t,n,i){let o=Bre,r=kre;Fre(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=l8e(f,o,r,n,f8e),p=F.getTranslation(d,d8e),g=h.subtract(p,a,p);i[u]=F.setTranslation(d,g,i[u])}return i}function m8e(e,t,n,i){let o=Bre,r=kre;Fre(t,o,r);let a=t.runtimeNode.instancingReferencePoint2D,c=e.length;for(let u=0;u<c;u++){let f=e[u],d=u8e(f,o,r,n,f);i[u]=h.subtract(d,a,i[u])}return i}var p8e=new h,_8e=new h;function Vre(e,t){let n=e.runtimeNode,i=e.model.sceneGraph.computedModelMatrix,o=F.multiplyByPoint(i,n.instancingTranslationMin,p8e),r=Ui.computeActualEllipsoidPosition(t,o,o),s=F.multiplyByPoint(i,n.instancingTranslationMax,_8e),a=Ui.computeActualEllipsoidPosition(t,s,s);n.instancingReferencePoint2D=h.lerp(r,a,.5,new h)}function gW(e){let n=e.length,i=new Float32Array(n*12);for(let o=0;o<n;o++){let r=e[o],s=12*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8],i[s+3]=r[12],i[s+4]=r[1],i[s+5]=r[5],i[s+6]=r[9],i[s+7]=r[13],i[s+8]=r[2],i[s+9]=r[6],i[s+10]=r[10],i[s+11]=r[14]}return i}function g8e(e){let n=e.length,i=new Float32Array(n*3);for(let o=0;o<n;o++){let r=e[o],s=3*o;i[s+0]=r[0],i[s+1]=r[4],i[s+2]=r[8]}return i}var y8e=new h,x8e=new Le,b8e=new h;function Ure(e,t,n){let i=new Array(t),o=Kt.getAttributeBySemantic(e,as.TRANSLATION),r=Kt.getAttributeBySemantic(e,as.ROTATION),s=Kt.getAttributeBySemantic(e,as.SCALE),a=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE),c=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),u=l(o),f=l(r),d=l(s),p=u?o.typedArray:new Float32Array(t*3),g=f?r.typedArray:new Float32Array(t*4);f&&r.normalized&&(g=Fn.dequantize(g,r.componentDatatype,r.type,t));let m;d?m=s.typedArray:(m=new Float32Array(t*3),m.fill(1));for(let b=0;b<t;b++){let T=new h(p[b*3],p[b*3+1],p[b*3+2],y8e);h.maximumByComponent(a,T,a),h.minimumByComponent(c,T,c);let C=new Le(g[b*4],g[b*4+1],g[b*4+2],f?g[b*4+3]:1,x8e),A=new h(m[b*3],m[b*3+1],m[b*3+2],b8e),S=F.fromTranslationQuaternionRotationScale(T,C,A,new F);i[b]=S}let x=n.runtimeNode;return x.instancingTranslationMin=c,x.instancingTranslationMax=a,u&&(o.typedArray=void 0),f&&(r.typedArray=void 0),d&&(s.typedArray=void 0),i}function T8e(e,t,n){let i=new Array(t),o=e.typedArray,r=new h(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE),s=new h(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE);for(let c=0;c<t;c++){let u=new h(o[c*3],o[c*3+1],o[c*3+2]);i[c]=u,h.minimumByComponent(r,u,r),h.maximumByComponent(s,u,s)}let a=n.runtimeNode;return a.instancingTranslationMin=r,a.instancingTranslationMax=s,e.typedArray=void 0,i}function yW(e,t){let n=bt.createVertexBuffer({context:t.context,typedArray:e,usage:Ue.STATIC_DRAW});return n.vertexArrayDestroyable=!1,n}function C8e(e,t,n,i,o,r){let s=Kt.getAttributeBySemantic(n,as.ROTATION);l(s)?A8e(e,n,i,t,o,r):E8e(e,n,i,t,o)}function A8e(e,t,n,i,o,r){let s=e.shaderBuilder,a=t.attributes[0].count,c=e.model,u=e.runtimeNode;s.addDefine("HAS_INSTANCE_MATRICES");let f="Transform",d,p=u.instancingTransformsBuffer;if(!l(p)){d=Ure(t,a,e);let b=gW(d);p=yW(b,i),c._modelResources.push(p),r&&(u.transformsTypedArray=b),u.instancingTransformsBuffer=p}if(Lre(e,p,n,f),!o)return;let g=We(i);g.mode=ne.COLUMBUS_VIEW,Vre(e,g);let m=u.instancingTransformsBuffer2D;if(!l(m)){let b=h8e(d,e,g,d),T=gW(b);m=yW(T,i),c._modelResources.push(m),u.instancingTransformsBuffer2D=m}Lre(e,m,n,"Transform2D")}function E8e(e,t,n,i,o,r){let s=e.shaderBuilder,a=e.runtimeNode,c=Kt.getAttributeBySemantic(t,as.TRANSLATION),u=Kt.getAttributeBySemantic(t,as.SCALE);if(l(u)&&(s.addDefine("HAS_INSTANCE_SCALE"),_W(e,u.buffer,u.byteOffset,u.byteStride,n,"Scale")),!l(c))return;let f,d=c.typedArray;if(l(d)?f=T8e(c,c.count,e):l(a.instancingTranslationMin)||(a.instancingTranslationMin=c.min,a.instancingTranslationMax=c.max),s.addDefine("HAS_INSTANCE_TRANSLATION"),_W(e,c.buffer,c.byteOffset,c.byteStride,n,"Translation"),!o&&!r)return;let g=We(i);g.mode=ne.COLUMBUS_VIEW,Vre(e,g);let m=a.instancingTranslationBuffer2D;if(!l(m)){let C=m8e(f,e,g,f),A=g8e(C);r&&(a.transformsTypedArray=A),m=yW(A,i),e.model._modelResources.push(m),a.instancingTranslationBuffer2D=m}if(!o)return;_W(e,m,0,void 0,n,"Translation2D")}function Lre(e,t,n,i){let r=X.getSizeInBytes(X.FLOAT),s=r*12,a=[{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:0,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*4,strideInBytes:s,instanceDivisor:1},{index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:4,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:r*8,strideInBytes:s,instanceDivisor:1}],c=e.shaderBuilder;c.addAttribute("vec4",`a_instancing${i}Row0`),c.addAttribute("vec4",`a_instancing${i}Row1`),c.addAttribute("vec4",`a_instancing${i}Row2`),n.push.apply(n,a)}function _W(e,t,n,i,o,r){o.push({index:e.attributeIndex++,vertexBuffer:t,componentsPerAttribute:3,componentDatatype:X.FLOAT,normalize:!1,offsetInBytes:n,strideInBytes:i,instanceDivisor:1}),e.shaderBuilder.addAttribute("vec3",`a_instance${r}`)}function S8e(e,t,n,i){let o=n.attributes,r=e.shaderBuilder;for(let s=0;s<o.length;s++){let a=o[s];a.semantic===as.FEATURE_ID&&(a.setIndex>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=a.setIndex+1),i.push({index:e.attributeIndex++,vertexBuffer:a.buffer,componentsPerAttribute:sn.getNumberOfComponents(a.type),componentDatatype:a.componentDatatype,normalize:!1,offsetInBytes:a.byteOffset,strideInBytes:a.byteStride,instanceDivisor:1}),r.addAttribute("float",`a_instanceFeatureId_${a.setIndex}`))}}var e2=Nre;var xW={};xW.name="ModelMatrixUpdateStage";xW.update=function(e,t,n){let i=n.mode!==ne.SCENE3D;if(!(i&&t._model._projectTo2D)&&e._transformDirty){let o=i?t._computedModelMatrix2D:t._computedModelMatrix;zre(e,t,o,e.transformToRoot),e._transformDirty=!1}};function v8e(e,t,n){e.modelMatrix=F.multiplyTransformation(t,n,e.modelMatrix),e.cullFace=Kt.getCullFace(e.modelMatrix,e.primitiveType)}function zre(e,t,n,i){let o;i=F.multiplyTransformation(i,e.transform,new F),e.updateComputedTransform();let r=e.runtimePrimitives.length;for(o=0;o<r;o++){let a=e.runtimePrimitives[o];v8e(a.drawCommand,n,i)}let s=e.children.length;for(o=0;o<s;o++){let a=t._runtimeNodes[e.children[o]];a._transformToRoot=F.clone(i,a._transformToRoot),zre(a,t,n,i),a._transformDirty=!1}}var t2=xW;var Hre={name:"NodeStatisticsPipelineStage",_countInstancingAttributes:Gre,_countGeneratedBuffers:Wre};Hre.process=function(e,t,n){let i=e.model.statistics,o=t.instances,r=e.runtimeNode;Gre(i,o),Wre(i,r)};function Gre(e,t){if(!l(t))return;let n=t.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r.buffer)&&e.addBuffer(r.buffer,!1)}}function Wre(e,t){l(t.instancingTransformsBuffer)&&e.addBuffer(t.instancingTransformsBuffer,!1),l(t.instancingTransformsBuffer2D)&&e.addBuffer(t.instancingTransformsBuffer2D,!1),l(t.instancingTranslationBuffer2D)&&e.addBuffer(t.instancingTranslationBuffer2D,!1)}var n2=Hre;function KC(e){e=y(e,y.EMPTY_OBJECT);let t=e.node,n=e.transform,i=e.transformToRoot,o=e.sceneGraph,r=e.children;this._node=t,this._name=t.name,this._id=t.index,this._sceneGraph=o,this._children=r,this._originalTransform=F.clone(n,this._originalTransform),this._transform=F.clone(n,this._transform),this._transformToRoot=F.clone(i,this._transformToRoot),this._computedTransform=new F,this._transformDirty=!1,this._transformParameters=void 0,this._morphWeights=[],this._runtimeSkin=void 0,this._computedJointMatrices=[],this.show=!0,this.userAnimated=!1,this.pipelineStages=[],this.runtimePrimitives=[],this.updateStages=[],this.instancingTranslationMin=void 0,this.instancingTranslationMax=void 0,this.instancingTransformsBuffer=void 0,this.instancingTransformsBuffer2D=void 0,this.instancingTranslationBuffer2D=void 0,this.instancingReferencePoint2D=void 0,w8e(this)}Object.defineProperties(KC.prototype,{node:{get:function(){return this._node}},sceneGraph:{get:function(){return this._sceneGraph}},children:{get:function(){return this._children}},transform:{get:function(){return this._transform},set:function(e){this._transformDirty=!0,this._transform=F.clone(e,this._transform)}},transformToRoot:{get:function(){return this._transformToRoot}},computedTransform:{get:function(){return this._computedTransform}},originalTransform:{get:function(){return this._originalTransform}},translation:{get:function(){return l(this._transformParameters)?this._transformParameters.translation:void 0},set:function(e){let t=this._transformParameters,n=t.translation;h.equals(n,e)||(t.translation=h.clone(e,t.translation),bW(this,t))}},rotation:{get:function(){return l(this._transformParameters)?this._transformParameters.rotation:void 0},set:function(e){let t=this._transformParameters,n=t.rotation;Le.equals(n,e)||(t.rotation=Le.clone(e,t.rotation),bW(this,t))}},scale:{get:function(){return l(this._transformParameters)?this._transformParameters.scale:void 0},set:function(e){let t=this._transformParameters,n=t.scale;h.equals(n,e)||(t.scale=h.clone(e,t.scale),bW(this,t))}},morphWeights:{get:function(){return this._morphWeights},set:function(e){let t=e.length;for(let n=0;n<t;n++)this._morphWeights[n]=e[n]}},runtimeSkin:{get:function(){return this._runtimeSkin}},computedJointMatrices:{get:function(){return this._computedJointMatrices}}});function w8e(e){let t=e.transform,n=e.transformToRoot,i=e._computedTransform;e._computedTransform=F.multiply(n,t,i);let o=e.node;l(o.matrix)||(e._transformParameters=new ox(o.translation,o.rotation,o.scale)),l(o.morphWeights)&&(e._morphWeights=o.morphWeights.slice());let r=o.articulationName;if(l(r)){let c=e.sceneGraph._runtimeArticulations[r];l(c)&&c.runtimeNodes.push(e)}}function bW(e,t){e._transformDirty=!0,e._transform=F.fromTranslationRotationScale(t,e._transform)}KC.prototype.getChild=function(e){return this.sceneGraph._runtimeNodes[this.children[e]]};KC.prototype.configurePipeline=function(){let e=this.node,t=this.pipelineStages;t.length=0;let n=this.updateStages;n.length=0,l(e.instances)&&t.push(e2),t.push(n2),n.push(t2)};KC.prototype.updateComputedTransform=function(){this._computedTransform=F.multiply(this._transformToRoot,this._transform,this._computedTransform)};KC.prototype.updateJointMatrices=function(){let e=this._runtimeSkin;if(!l(e))return;e.updateJointMatrices();let t=this._computedJointMatrices,n=e.jointMatrices,i=n.length;for(let o=0;o<i;o++){l(t[o])||(t[o]=new F);let r=F.multiplyTransformation(this.transformToRoot,this.transform,t[o]),s=F.inverseTransformation(r,t[o]);t[o]=F.multiplyTransformation(s,n[o],t[o])}};var i2=KC;var jre={name:"AlphaPipelineStage"};jre.process=function(e,t,n){let i=e.alphaOptions,o=e.model;i.pass=y(i.pass,o.opaquePass);let r=e.renderStateOptions;i.pass===ve.TRANSLUCENT&&(r.cull.enabled=!1,r.depthMask=!1,r.blending=fn.ALPHA_BLEND);let s=e.shaderBuilder,a=e.uniformMap;l(i.alphaCutoff)&&(s.addDefine("ALPHA_MODE_MASK",void 0,pe.FRAGMENT),s.addUniform("float","u_alphaCutoff",pe.FRAGMENT),a.u_alphaCutoff=function(){return i.alphaCutoff})};var o2=jre;var qre={name:"BatchTexturePipelineStage"};qre.process=function(e,t,n){let i=e.shaderBuilder,o={},r=e.model,s=r.featureTables[r.featureTableId],a=s.featuresLength;i.addUniform("int","model_featuresLength"),o.model_featuresLength=function(){return a};let c=s.batchTexture;i.addUniform("sampler2D","model_batchTexture"),o.model_batchTexture=function(){return y(c.batchTexture,c.defaultTexture)},i.addUniform("vec4","model_textureStep"),o.model_textureStep=function(){return c.textureStep},c.textureDimensions.y>1&&(i.addDefine("MULTILINE_BATCH_TEXTURE"),i.addUniform("vec2","model_textureDimensions"),o.model_textureDimensions=function(){return c.textureDimensions}),e.uniformMap=Ct(o,e.uniformMap)};var r2=qre;var Yre={name:"ClassificationPipelineStage"};Yre.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_CLASSIFICATION",void 0,pe.BOTH);let o=e.runtimePrimitive;l(o.batchLengths)||D8e(t,o)};function D8e(e,t){let n=Kt.getAttributeBySemantic(e,St.POSITION);if(!l(n))throw new se("Primitives must have a position attribute to be used for classification.");let i,o=e.indices,r=l(o);r&&(i=o.typedArray,o.typedArray=void 0);let s=r?o.count:n.count,a=Kt.getAttributeBySemantic(e,St.FEATURE_ID,0);if(!l(a)){t.batchLengths=[s],t.batchOffsets=[0];return}let c=a.typedArray;a.typedArray=void 0;let u=[],f=[0],d=r?i[0]:0,p=c[d],g=0;for(let x=1;x<s;x++){let b=r?i[x]:x,T=c[b];if(T!==p){let C=x-g,A=x;u.push(C),f.push(A),g=A,p=T}}let m=s-g;u.push(m),t.batchLengths=u,t.batchOffsets=f}var s2=Yre;var a2=`void filterByPassType(inout vec3 positionMC, vec4 featureColor) { - #ifdef HAS_SPECULAR_TEXTURE - vec2 specularTexCoords = TEXCOORD_SPECULAR; - #ifdef HAS_SPECULAR_TEXTURE_TRANSFORM - specularTexCoords = computeTextureTransform(specularTexCoords, u_specularTextureTransform); - #endif - float specularWeight = texture(u_specularTexture, specularTexCoords).a; - #ifdef HAS_SPECULAR_FACTOR - specularWeight *= u_specularFactor; - #endif - #else - #ifdef HAS_SPECULAR_FACTOR - float specularWeight = u_specularFactor; + bool styleTranslucent = (featureColor.a != 1.0); + // Only render translucent features in the translucent pass (if the style or the original command has translucency). + if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) + { + // If the model has a translucent silhouette, it needs to render during the silhouette color command, + // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. + #ifdef HAS_SILHOUETTE + positionMC *= float(model_silhouettePass); #else - float specularWeight = 1.0; + positionMC *= 0.0; #endif - #endif + } + // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. + else if (czm_pass != czm_passTranslucent && styleTranslucent) + { + positionMC *= 0.0; + } +} - #ifdef HAS_SPECULAR_COLOR_TEXTURE - vec2 specularColorTexCoords = TEXCOORD_SPECULAR_COLOR; - #ifdef HAS_SPECULAR_COLOR_TEXTURE_TRANSFORM - specularColorTexCoords = computeTextureTransform(specularColorTexCoords, u_specularColorTextureTransform); - #endif - vec3 specularColorSample = texture(u_specularColorTexture, specularColorTexCoords).rgb; - vec3 specularColorFactor = czm_srgbToLinear(specularColorSample); - #ifdef HAS_SPECULAR_COLOR_FACTOR - specularColorFactor *= u_specularColorFactor; - #endif - #else - #ifdef HAS_SPECULAR_COLOR_FACTOR - vec3 specularColorFactor = u_specularColorFactor; +void cpuStylingStage(inout vec3 positionMC, inout SelectedFeature feature) +{ + float show = ceil(feature.color.a); + positionMC *= show; + + #if defined(HAS_SELECTED_FEATURE_ID_ATTRIBUTE) && !defined(HAS_CLASSIFICATION) + filterByPassType(positionMC, feature.color); + #endif +} +`;var c2=`void filterByPassType(vec4 featureColor) +{ + bool styleTranslucent = (featureColor.a != 1.0); + // Only render translucent features in the translucent pass (if the style or the original command has translucency). + if (czm_pass == czm_passTranslucent && !styleTranslucent && !model_commandTranslucent) + { + // If the model has a translucent silhouette, it needs to render during the silhouette color command, + // (i.e. the command where model_silhouettePass = true), even if the model isn't translucent. + #ifdef HAS_SILHOUETTE + if(!model_silhouettePass) { + discard; + } #else - vec3 specularColorFactor = vec3(1.0); + discard; #endif - #endif - material.specularWeight = specularWeight; - vec3 f0 = material.specular; - vec3 dielectricSpecularF0 = min(f0 * specularColorFactor, vec3(1.0)); - material.specular = mix(dielectricSpecularF0, material.baseColor.rgb, metalness); + } + // If the current pass is not the translucent pass and the style is not translucent, don't render the feature. + else if (czm_pass != czm_passTranslucent && styleTranslucent) + { + discard; + } } -#endif -#ifdef USE_ANISOTROPY -void setAnisotropy(inout czm_modelMaterial material, in NormalInfo normalInfo) + +void cpuStylingStage(inout czm_modelMaterial material, SelectedFeature feature) { - mat2 rotation = mat2(u_anisotropy.xy, -u_anisotropy.y, u_anisotropy.x); - float anisotropyStrength = u_anisotropy.z; + vec4 featureColor = feature.color; + if (featureColor.a == 0.0) + { + discard; + } - vec2 direction = vec2(1.0, 0.0); - #ifdef HAS_ANISOTROPY_TEXTURE - vec2 anisotropyTexCoords = TEXCOORD_ANISOTROPY; - #ifdef HAS_ANISOTROPY_TEXTURE_TRANSFORM - anisotropyTexCoords = computeTextureTransform(anisotropyTexCoords, u_anisotropyTextureTransform); - #endif - vec3 anisotropySample = texture(u_anisotropyTexture, anisotropyTexCoords).rgb; - direction = anisotropySample.rg * 2.0 - vec2(1.0); - anisotropyStrength *= anisotropySample.b; + // If a feature ID vertex attribute is used, the pass type filter is applied in the vertex shader. + // So, we only apply in in the fragment shader if the feature ID texture is used. + #if defined(HAS_SELECTED_FEATURE_ID_TEXTURE) && !defined(HAS_CLASSIFICATION) + filterByPassType(featureColor); #endif - direction = rotation * direction; - mat3 tbn = mat3(normalInfo.tangent, normalInfo.bitangent, normalInfo.normal); - vec3 anisotropicT = tbn * normalize(vec3(direction, 0.0)); - vec3 anisotropicB = cross(normalInfo.geometryNormal, anisotropicT); + featureColor = czm_gammaCorrect(featureColor); - material.anisotropicT = anisotropicT; - material.anisotropicB = anisotropicB; - material.anisotropyStrength = anisotropyStrength; + // Classification models compute the diffuse differently. + #ifdef HAS_CLASSIFICATION + material.diffuse = featureColor.rgb * featureColor.a; + #else + float highlight = ceil(model_colorBlend); + material.diffuse *= mix(featureColor.rgb, vec3(1.0), highlight); + #endif + + material.alpha *= featureColor.a; } -#endif -#ifdef USE_CLEARCOAT -void setClearcoat(inout czm_modelMaterial material, in ProcessedAttributes attributes) -{ - #ifdef HAS_CLEARCOAT_TEXTURE - vec2 clearcoatTexCoords = TEXCOORD_CLEARCOAT; - #ifdef HAS_CLEARCOAT_TEXTURE_TRANSFORM - clearcoatTexCoords = computeTextureTransform(clearcoatTexCoords, u_clearcoatTextureTransform); - #endif - float clearcoatFactor = texture(u_clearcoatTexture, clearcoatTexCoords).r; - #ifdef HAS_CLEARCOAT_FACTOR - clearcoatFactor *= u_clearcoatFactor; - #endif - #else - #ifdef HAS_CLEARCOAT_FACTOR - float clearcoatFactor = u_clearcoatFactor; - #else - // PERFORMANCE_IDEA: this case should turn the whole extension off - float clearcoatFactor = 0.0; - #endif - #endif +`;var Xre={name:"CPUStylingPipelineStage"};Xre.process=function(e,t,n){let i=e.model,o=e.shaderBuilder;o.addVertexLines(a2),o.addFragmentLines(c2),o.addDefine("USE_CPU_STYLING",void 0,pe.BOTH),l(i.color)||(o.addUniform("float",vx.COLOR_BLEND_UNIFORM_NAME,pe.FRAGMENT),e.uniformMap[vx.COLOR_BLEND_UNIFORM_NAME]=function(){return Fc.getColorBlend(i.colorBlendMode,i.colorBlendAmount)}),o.addUniform("bool","model_commandTranslucent",pe.BOTH),e.uniformMap.model_commandTranslucent=function(){return e.alphaOptions.pass===ve.TRANSLUCENT}};var l2=Xre;var Kre={MODIFY_MATERIAL:"MODIFY_MATERIAL",REPLACE_MATERIAL:"REPLACE_MATERIAL"};Kre.getDefineName=function(e){return`CUSTOM_SHADER_${e}`};var zg=Object.freeze(Kre);var u2=`void customShaderStage( + inout czm_modelVertexOutput vsOutput, + inout ProcessedAttributes attributes, + FeatureIds featureIds, + Metadata metadata, + MetadataClass metadataClass, + MetadataStatistics metadataStatistics +) { + // VertexInput and initializeInputStruct() are dynamically generated in JS, + // see CustomShaderPipelineStage.js + VertexInput vsInput; + initializeInputStruct(vsInput, attributes); + vsInput.featureIds = featureIds; + vsInput.metadata = metadata; + vsInput.metadataClass = metadataClass; + vsInput.metadataStatistics = metadataStatistics; + vertexMain(vsInput, vsOutput); + attributes.positionMC = vsOutput.positionMC; +} +`;var f2=`void customShaderStage( + inout czm_modelMaterial material, + ProcessedAttributes attributes, + FeatureIds featureIds, + Metadata metadata, + MetadataClass metadataClass, + MetadataStatistics metadataStatistics +) { + // FragmentInput and initializeInputStruct() are dynamically generated in JS, + // see CustomShaderPipelineStage.js + FragmentInput fsInput; + initializeInputStruct(fsInput, attributes); + fsInput.featureIds = featureIds; + fsInput.metadata = metadata; + fsInput.metadataClass = metadataClass; + fsInput.metadataStatistics = metadataStatistics; + fragmentMain(fsInput, material); +} +`;var d2=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) { + initializeFeatureIds(featureIds, attributes); + initializeFeatureIdAliases(featureIds); +} +`;var h2=`void featureIdStage(out FeatureIds featureIds, ProcessedAttributes attributes) +{ + initializeFeatureIds(featureIds, attributes); + initializeFeatureIdAliases(featureIds); + setFeatureIdVaryings(); +} +`;var Mi={name:"FeatureIdPipelineStage",STRUCT_ID_FEATURE_IDS_VS:"FeatureIdsVS",STRUCT_ID_FEATURE_IDS_FS:"FeatureIdsFS",STRUCT_NAME_FEATURE_IDS:"FeatureIds",FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS:"initializeFeatureIdsVS",FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS:"initializeFeatureIdsFS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS:"initializeFeatureIdAliasesVS",FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS:"initializeFeatureIdAliasesFS",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS:"void initializeFeatureIds(out FeatureIds featureIds, ProcessedAttributes attributes)",FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES:"void initializeFeatureIdAliases(inout FeatureIds featureIds)",FUNCTION_ID_SET_FEATURE_ID_VARYINGS:"setFeatureIdVaryings",FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS:"void setFeatureIdVaryings()"};Mi.process=function(e,t,n){let i=e.shaderBuilder;I8e(i);let o=e.runtimeNode.node.instances;l(o)&&P8e(e,o,n),O8e(e,t,n),i.addVertexLines(h2),i.addFragmentLines(d2)};function I8e(e){e.addStruct(Mi.STRUCT_ID_FEATURE_IDS_VS,Mi.STRUCT_NAME_FEATURE_IDS,pe.VERTEX),e.addStruct(Mi.STRUCT_ID_FEATURE_IDS_FS,Mi.STRUCT_NAME_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,Mi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.VERTEX),e.addFunction(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,Mi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_IDS,pe.FRAGMENT),e.addFunction(Mi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,Mi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.VERTEX),e.addFunction(Mi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,Mi.FUNCTION_SIGNATURE_INITIALIZE_FEATURE_ID_ALIASES,pe.FRAGMENT),e.addFunction(Mi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,Mi.FUNCTION_SIGNATURE_SET_FEATURE_ID_VARYINGS,pe.VERTEX)}function P8e(e,t,n){let i=t.featureIds,o=t.attributes[0].count;for(let r=0;r<i.length;r++){let s=i[r],a=s.positionalLabel;s instanceof Tn.FeatureIdAttribute?R8e(e,s,a):Zre(e,s,a,o,1,n);let c=s.label;l(c)&&$re(e,a,c,pe.BOTH)}}function O8e(e,t,n){let i=t.featureIds,r=Kt.getAttributeBySemantic(t,St.POSITION).count;for(let s=0;s<i.length;s++){let a=i[s],c=a.positionalLabel,u=pe.BOTH;a instanceof Tn.FeatureIdAttribute?M8e(e,a,c):a instanceof Tn.FeatureIdImplicitRange?Zre(e,a,c,r,void 0,n):(L8e(e,a,c,s,n),u=pe.FRAGMENT);let f=a.label;l(f)&&$re(e,c,f,u)}}function R8e(e,t,n){let i=e.shaderBuilder;i.addStructField(Mi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Mi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=`a_${r}${o}`,a=`v_${r}${o}`,c=`featureIds.${n} = int(czm_round(${s}));`,u=`featureIds.${n} = int(czm_round(${a}));`;i.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[c]),i.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[u]),i.addVarying("float",a),i.addFunctionLines(Mi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${a} = ${s};`])}function M8e(e,t,n){let i=e.shaderBuilder;i.addStructField(Mi.STRUCT_ID_FEATURE_IDS_VS,"int",n),i.addStructField(Mi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let o=t.setIndex,r=n.replace(/_\d+$/,"_"),s=[`featureIds.${n} = int(czm_round(attributes.${r}${o}));`];i.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,s),i.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,s)}function Zre(e,t,n,i,o,r){N8e(e,t,i,o,r);let s=e.shaderBuilder,a=`a_implicit_${n}`;s.addAttribute("float",a);let c=`v_implicit_${n}`;s.addVarying("float",c),s.addStructField(Mi.STRUCT_ID_FEATURE_IDS_VS,"int",n),s.addStructField(Mi.STRUCT_ID_FEATURE_IDS_FS,"int",n),s.addFunctionLines(Mi.FUNCTION_ID_SET_FEATURE_ID_VARYINGS,[`${c} = ${a};`]),s.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_VS,[`featureIds.${n} = int(czm_round(${a}));`]),s.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[`featureIds.${n} = int(czm_round(${c}));`])}function L8e(e,t,n,i,o){let r=`u_featureIdTexture_${i}`,s=e.uniformMap,a=t.textureReader;s[r]=function(){return y(a.texture,o.context.defaultTexture)};let c=a.channels,u=e.shaderBuilder;u.addStructField(Mi.STRUCT_ID_FEATURE_IDS_FS,"int",n),u.addUniform("sampler2D",r,pe.FRAGMENT);let d=`v_texCoord_${a.texCoord}`,p=d,g=a.transform;if(l(g)&&!$.equals(g,$.IDENTITY)){let b=`${r}Transform`;u.addUniform("mat3",b,pe.FRAGMENT),s[b]=function(){return g},p=`vec2(${b} * vec3(${d}, 1.0))`}let m=`texture(${r}, ${p}).${c}`,x=`featureIds.${n} = czm_unpackUint(${m});`;u.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_IDS_FS,[x])}function $re(e,t,n,i){let o=e.shaderBuilder,r=pe.includesVertexShader(i);r&&o.addStructField(Mi.STRUCT_ID_FEATURE_IDS_VS,"int",n),o.addStructField(Mi.STRUCT_ID_FEATURE_IDS_FS,"int",n);let s=[`featureIds.${n} = featureIds.${t};`];r&&o.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_VS,s),o.addFunctionLines(Mi.FUNCTION_ID_INITIALIZE_FEATURE_ID_ALIASES_FS,s)}function N8e(e,t,n,i,o){let r=e.model,s,a;if(l(t.repeat)){let u=F8e(t,n);s=bt.createVertexBuffer({context:o.context,typedArray:u,usage:Ue.STATIC_DRAW}),s.vertexArrayDestroyable=!1,r._pipelineResources.push(s),r.statistics.addBuffer(s,!1)}else a=[t.offset];let c={index:e.attributeIndex++,instanceDivisor:i,value:a,vertexBuffer:s,normalize:!1,componentsPerAttribute:1,componentDatatype:X.FLOAT,strideInBytes:X.getSizeInBytes(X.FLOAT),offsetInBytes:0};e.attributes.push(c)}function F8e(e,t){let n=e.offset,i=e.repeat,o=new Float32Array(t);for(let r=0;r<t;r++)o[r]=n+Math.floor(r/i);return o}var wx=Mi;var m2=`void metadataStage( + out Metadata metadata, + out MetadataClass metadataClass, + out MetadataStatistics metadataStatistics, + ProcessedAttributes attributes + ) +{ + initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); +} +`;var p2=`void metadataStage( + out Metadata metadata, + out MetadataClass metadataClass, + out MetadataStatistics metadataStatistics, + ProcessedAttributes attributes + ) +{ + initializeMetadata(metadata, metadataClass, metadataStatistics, attributes); + setMetadataVaryings(); +} +`;var Ai={name:"MetadataPipelineStage",STRUCT_ID_METADATA_VS:"MetadataVS",STRUCT_ID_METADATA_FS:"MetadataFS",STRUCT_NAME_METADATA:"Metadata",STRUCT_ID_METADATA_CLASS_VS:"MetadataClassVS",STRUCT_ID_METADATA_CLASS_FS:"MetadataClassFS",STRUCT_NAME_METADATA_CLASS:"MetadataClass",STRUCT_ID_METADATA_STATISTICS_VS:"MetadataStatisticsVS",STRUCT_ID_METADATA_STATISTICS_FS:"MetadataStatisticsFS",STRUCT_NAME_METADATA_STATISTICS:"MetadataStatistics",FUNCTION_ID_INITIALIZE_METADATA_VS:"initializeMetadataVS",FUNCTION_ID_INITIALIZE_METADATA_FS:"initializeMetadataFS",FUNCTION_SIGNATURE_INITIALIZE_METADATA:"void initializeMetadata(out Metadata metadata, out MetadataClass metadataClass, out MetadataStatistics metadataStatistics, ProcessedAttributes attributes)",FUNCTION_ID_SET_METADATA_VARYINGS:"setMetadataVaryings",FUNCTION_SIGNATURE_SET_METADATA_VARYINGS:"void setMetadataVaryings()",METADATA_CLASS_FIELDS:[{specName:"noData",shaderName:"noData"},{specName:"default",shaderName:"defaultValue"},{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"}],METADATA_STATISTICS_FIELDS:[{specName:"min",shaderName:"minValue"},{specName:"max",shaderName:"maxValue"},{specName:"mean",shaderName:"mean",type:"float"},{specName:"median",shaderName:"median"},{specName:"standardDeviation",shaderName:"standardDeviation",type:"float"},{specName:"variance",shaderName:"variance",type:"float"},{specName:"sum",shaderName:"sum"}]};Ai.process=function(e,t,n){let{shaderBuilder:i,model:o}=e,{structuralMetadata:r={},content:s}=o,a=s?.tileset.metadataExtension?.statistics,c=B8e(r.propertyAttributes,t,a),u=V8e(r.propertyTextures,a),f=c.concat(u);z8e(i,f),W8e(i),i.addVertexLines(p2),i.addFragmentLines(m2);for(let d=0;d<c.length;d++){let p=c[d];j8e(e,p)}for(let d=0;d<u.length;d++){let p=u[d];Y8e(e,p)}};function B8e(e,t,n){return l(e)?e.flatMap(i=>k8e(i,t,n)):[]}function k8e(e,t,n){let{getAttributeByName:i,getAttributeInfo:o,sanitizeGlslIdentifier:r}=Kt,s=e.class.id,a=n?.classes[s],c=Object.entries(e.properties),u=new Array(c.length);for(let f=0;f<c.length;f++){let[d,p]=c[f],g=i(t,p.attribute),{glslType:m,variableName:x}=o(g);u[f]={metadataVariable:r(d),property:p,type:p.classProperty.type,glslType:m,variableName:x,propertyStatistics:a?.properties[d],shaderDestination:pe.BOTH}}return u}function V8e(e,t){return l(e)?e.flatMap(n=>U8e(n,t)):[]}function U8e(e,t){let{sanitizeGlslIdentifier:n}=Kt,i=e.class.id,o=t?.classes[i],r=Object.entries(e.properties).filter(([a,c])=>c.isGpuCompatible()),s=new Array(r.length);for(let a=0;a<r.length;a++){let[c,u]=r[a];s[a]={metadataVariable:n(c),property:u,type:u.classProperty.type,glslType:u.getGlslType(),propertyStatistics:o?.properties[c],shaderDestination:pe.FRAGMENT}}return s}function z8e(e,t){let n=new Set,i=new Set;for(let a=0;a<t.length;a++){let{type:c,glslType:u,propertyStatistics:f}=t[a];n.add(u),l(f)&&c!==dt.ENUM&&i.add(u)}let o=Ai.METADATA_CLASS_FIELDS;for(let a of n){let c=`${a}MetadataClass`;s(c,a,o)}let r=Ai.METADATA_STATISTICS_FIELDS;for(let a of i){let c=`${a}MetadataStatistics`;s(c,a,r)}function s(a,c,u){e.addStruct(a,a,pe.BOTH);for(let f=0;f<u.length;f++){let{shaderName:d}=u[f],p=u[f].type==="float"?G8e(c):c;e.addStructField(a,p,d)}}}var H8e={int:"float",ivec2:"vec2",ivec3:"vec3",ivec4:"vec4"};function G8e(e){let t=H8e[e];return l(t)?t:e}function W8e(e){e.addStruct(Ai.STRUCT_ID_METADATA_VS,Ai.STRUCT_NAME_METADATA,pe.VERTEX),e.addStruct(Ai.STRUCT_ID_METADATA_FS,Ai.STRUCT_NAME_METADATA,pe.FRAGMENT),e.addStruct(Ai.STRUCT_ID_METADATA_CLASS_VS,Ai.STRUCT_NAME_METADATA_CLASS,pe.VERTEX),e.addStruct(Ai.STRUCT_ID_METADATA_CLASS_FS,Ai.STRUCT_NAME_METADATA_CLASS,pe.FRAGMENT),e.addStruct(Ai.STRUCT_ID_METADATA_STATISTICS_VS,Ai.STRUCT_NAME_METADATA_STATISTICS,pe.VERTEX),e.addStruct(Ai.STRUCT_ID_METADATA_STATISTICS_FS,Ai.STRUCT_NAME_METADATA_STATISTICS,pe.FRAGMENT),e.addFunction(Ai.FUNCTION_ID_INITIALIZE_METADATA_VS,Ai.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.VERTEX),e.addFunction(Ai.FUNCTION_ID_INITIALIZE_METADATA_FS,Ai.FUNCTION_SIGNATURE_INITIALIZE_METADATA,pe.FRAGMENT),e.addFunction(Ai.FUNCTION_ID_SET_METADATA_VARYINGS,Ai.FUNCTION_SIGNATURE_SET_METADATA_VARYINGS,pe.VERTEX)}function j8e(e,t){q8e(e,t),Qre(e.shaderBuilder,t),Jre(e.shaderBuilder,t)}function q8e(e,t){let{shaderBuilder:n}=e,{metadataVariable:i,property:o,glslType:r}=t,s=tse({valueExpression:`attributes.${t.variableName}`,renderResources:e,glslType:r,metadataVariable:i,shaderDestination:pe.BOTH,property:o});n.addStructField(Ai.STRUCT_ID_METADATA_VS,r,i),n.addStructField(Ai.STRUCT_ID_METADATA_FS,r,i);let a=`metadata.${i} = ${s};`;n.addFunctionLines(Ai.FUNCTION_ID_INITIALIZE_METADATA_VS,[a]),n.addFunctionLines(Ai.FUNCTION_ID_INITIALIZE_METADATA_FS,[a])}function Y8e(e,t){X8e(e,t),Qre(e.shaderBuilder,t),Jre(e.shaderBuilder,t)}function X8e(e,t){let{shaderBuilder:n,uniformMap:i}=e,{metadataVariable:o,glslType:r,property:s}=t,{texCoord:a,channels:c,index:u,texture:f,transform:d}=s.textureReader,p=`u_propertyTexture_${u}`;i.hasOwnProperty(p)||(n.addUniform("sampler2D",p,pe.FRAGMENT),i[p]=()=>f),n.addStructField(Ai.STRUCT_ID_METADATA_FS,r,o);let g=`attributes.texCoord_${a}`,m=g;if(l(d)&&!$.equals(d,$.IDENTITY)){let A=`${p}Transform`;n.addUniform("mat3",A,pe.FRAGMENT),i[A]=function(){return d},m=`vec2(${A} * vec3(${g}, 1.0))`}let x=`texture(${p}, ${m}).${c}`,b=s.unpackInShader(x),T=tse({valueExpression:b,renderResources:e,glslType:r,metadataVariable:o,shaderDestination:pe.FRAGMENT,property:s}),C=`metadata.${o} = ${T};`;n.addFunctionLines(Ai.FUNCTION_ID_INITIALIZE_METADATA_FS,[C])}function Qre(e,t){let{classProperty:n}=t.property,{metadataVariable:i,glslType:o,shaderDestination:r}=t,s=ese(Ai.METADATA_CLASS_FIELDS,n,`metadataClass.${i}`,o),a=`${o}MetadataClass`;e.addStructField(Ai.STRUCT_ID_METADATA_CLASS_FS,a,i),e.addFunctionLines(Ai.FUNCTION_ID_INITIALIZE_METADATA_FS,s),pe.includesVertexShader(r)&&(e.addStructField(Ai.STRUCT_ID_METADATA_CLASS_VS,a,i),e.addFunctionLines(Ai.FUNCTION_ID_INITIALIZE_METADATA_VS,s))}function Jre(e,t){let{propertyStatistics:n}=t;if(!l(n))return;let{metadataVariable:i,type:o,glslType:r}=t;if(o===dt.ENUM)return;let s=Ai.METADATA_STATISTICS_FIELDS,a=`metadataStatistics.${i}`,c=ese(s,n,a,r),u=`${r}MetadataStatistics`;e.addStructField(Ai.STRUCT_ID_METADATA_STATISTICS_FS,u,i),e.addFunctionLines(Ai.FUNCTION_ID_INITIALIZE_METADATA_FS,c),pe.includesVertexShader(t.shaderDestination)&&(e.addStructField(Ai.STRUCT_ID_METADATA_STATISTICS_VS,u,i),e.addFunctionLines(Ai.FUNCTION_ID_INITIALIZE_METADATA_VS,c))}function ese(e,t,n,i){function o(r){let s=t[r.specName];if(l(s))return`${n}.${r.shaderName} = ${i}(${s});`}return l(t)?e.map(o).filter(l):[]}function tse(e){let{valueExpression:t,property:n}=e;if(!n.hasValueTransform)return t;let i=e.metadataVariable,o=`u_${i}_offset`,r=`u_${i}_scale`,{shaderBuilder:s,uniformMap:a}=e.renderResources,{glslType:c,shaderDestination:u}=e;s.addUniform(c,o,u),s.addUniform(c,r,u);let{offset:f,scale:d}=n;return a[o]=()=>f,a[r]=()=>d,`czm_valueTransform(${o}, ${r}, ${t})`}var bd=Ai;var K8e={INHERIT:0,OPAQUE:1,TRANSLUCENT:2},Dx=Object.freeze(K8e);var cs={name:"CustomShaderPipelineStage",STRUCT_ID_ATTRIBUTES_VS:"AttributesVS",STRUCT_ID_ATTRIBUTES_FS:"AttributesFS",STRUCT_NAME_ATTRIBUTES:"Attributes",STRUCT_ID_VERTEX_INPUT:"VertexInput",STRUCT_NAME_VERTEX_INPUT:"VertexInput",STRUCT_ID_FRAGMENT_INPUT:"FragmentInput",STRUCT_NAME_FRAGMENT_INPUT:"FragmentInput",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS:"initializeInputStructVS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS:"void initializeInputStruct(out VertexInput vsInput, ProcessedAttributes attributes)",FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS:"initializeInputStructFS",FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS:"void initializeInputStruct(out FragmentInput fsInput, ProcessedAttributes attributes)",_oneTimeWarning:Tt};cs.process=function(e,t,n){let i=e.model.customShader;if(i&&cs.process_original(e,t,n,i),l(e.model._marsOptions)&&l(e.model._marsOptions.customShaders)){let o=X_.getCache(e.model._marsOptions.customShaders);for(let r in o)Object.prototype.hasOwnProperty.call(o,r)&&cs.process_original(e,t,n,o[r])}};cs.process_original=function(e,t,n,i){let{shaderBuilder:o,alphaOptions:r}=e,{lightingModel:s,translucencyMode:a}=i;l(s)&&(e.lightingOptions.lightingModel=s),a===Dx.TRANSLUCENT?r.pass=ve.TRANSLUCENT:a===Dx.OPAQUE&&(r.pass=void 0);let c=iGe(i,t);if(!c.customShaderEnabled)return;if(aGe(o,i,c),c.shouldComputePositionWC&&o.addDefine("COMPUTE_POSITION_WC_CUSTOM_SHADER",void 0,pe.BOTH),l(i.vertexShaderText)&&o.addDefine("HAS_CUSTOM_VERTEX_SHADER",void 0,pe.VERTEX),l(i.fragmentShaderText)){o.addDefine("HAS_CUSTOM_FRAGMENT_SHADER",void 0,pe.FRAGMENT);let d=zg.getDefineName(i.mode);o.addDefine(d,void 0,pe.FRAGMENT)}let u=i.uniforms;for(let d in u)if(u.hasOwnProperty(d)){let p=u[d];o.addUniform(p.type,d)}let f=i.varyings;for(let d in f)if(f.hasOwnProperty(d)){let p=f[d];o.addVarying(p,d)}e.uniformMap=Ct(e.uniformMap,i.uniformMap)};function Z8e(e){let t={};for(let n=0;n<e.length;n++){let i=Kt.getAttributeInfo(e[n]);t[i.variableName]=i}return t}var $8e={position:"vec3",normal:"vec3",tangent:"vec3",bitangent:"vec3",texCoord:"vec2",color:"vec4",joints:"ivec4",weights:"vec4"},Q8e={position:"vec3(0.0)",normal:"vec3(0.0, 0.0, 1.0)",tangent:"vec3(1.0, 0.0, 0.0)",bitangent:"vec3(0.0, 1.0, 0.0)",texCoord:"vec2(0.0)",color:"vec4(1.0)",joints:"ivec4(0)",weights:"vec4(0.0)"};function nse(e){let t=e.replace(/_[0-9]+$/,"");t=t.replace(/(MC|EC)$/,"");let n=$8e[t],i=Q8e[t];if(l(n))return{attributeField:[n,e],value:i}}function J8e(e,t){if(!l(e.vertexShaderText))return{enabled:!1};let n=e.usedVariablesVertex.attributeSet,i=ise(t,n,!1),o=ose(t,n,!1),r,s=[],a=[];for(let c in i){if(!i.hasOwnProperty(c))continue;let f=[i[c].glslType,c];s.push(f),r=`vsInput.attributes.${c} = attributes.${c};`,a.push(r)}for(let c=0;c<o.length;c++){let u=o[c],f=nse(u);if(!l(f))return cs._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveVS",`Primitive is missing attribute ${u}, disabling custom vertex shader`),{enabled:!1};s.push(f.attributeField),r=`vsInput.attributes.${u} = ${f.value};`,a.push(r)}return{enabled:!0,attributeFields:s,initializationLines:a}}function eGe(e){let t=[],n=[],i=e.usedVariablesFragment.attributeSet;return i.hasOwnProperty("positionWC")&&(t.push(["vec3","positionWC"]),n.push("fsInput.attributes.positionWC = attributes.positionWC;")),i.hasOwnProperty("positionEC")&&(t.push(["vec3","positionEC"]),n.push("fsInput.attributes.positionEC = attributes.positionEC;")),{attributeFields:t,initializationLines:n}}function tGe(e,t){if(!l(e.fragmentShaderText))return{enabled:!1};let n=e.usedVariablesFragment.attributeSet,i=ise(t,n,!0),o=ose(t,n,!0),r,s=[],a=[];for(let u in i){if(!i.hasOwnProperty(u))continue;let d=[i[u].glslType,u];s.push(d),r=`fsInput.attributes.${u} = attributes.${u};`,a.push(r)}for(let u=0;u<o.length;u++){let f=o[u],d=nse(f);if(!l(d))return cs._oneTimeWarning("CustomShaderPipelineStage.incompatiblePrimitiveFS",`Primitive is missing attribute ${f}, disabling custom fragment shader.`),{enabled:!1};s.push(d.attributeField),r=`fsInput.attributes.${f} = ${d.value};`,a.push(r)}let c=eGe(e);return{enabled:!0,attributeFields:s.concat(c.attributeFields),initializationLines:c.initializationLines.concat(a)}}var nGe={positionWC:!0,positionEC:!0};function ise(e,t,n){let i={};for(let o in e){if(!e.hasOwnProperty(o))continue;let r=e[o],s=o;n&&o==="normalMC"?s="normalEC":n&&o==="tangentMC"&&(s="tangentEC",r.glslType="vec3"),t.hasOwnProperty(s)&&(i[s]=r)}return i}function ose(e,t,n){let i=[];for(let o in t){if(!t.hasOwnProperty(o)||nGe.hasOwnProperty(o))continue;let r=o;n&&o==="normalEC"?r="normalMC":n&&o==="tangentEC"&&(r="tangentMC"),e.hasOwnProperty(r)||i.push(o)}return i}function iGe(e,t){let n=Z8e(t.attributes),i=J8e(e,n),o=tGe(e,n),s=e.usedVariablesFragment.attributeSet.hasOwnProperty("positionWC")&&o.enabled;return{vertexLines:i,fragmentLines:o,customShaderEnabled:i.enabled||o.enabled,shouldComputePositionWC:s}}function oGe(e,t){let n=cs.STRUCT_ID_ATTRIBUTES_VS;e.addStruct(n,cs.STRUCT_NAME_ATTRIBUTES,pe.VERTEX);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=cs.STRUCT_ID_VERTEX_INPUT,e.addStruct(n,cs.STRUCT_NAME_VERTEX_INPUT,pe.VERTEX),e.addStructField(n,cs.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,wx.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,bd.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,bd.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,bd.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=cs.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_VS;e.addFunction(r,cs.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_VS,pe.VERTEX),e.addFunctionLines(r,o)}function rGe(e,t){let n=cs.STRUCT_ID_ATTRIBUTES_FS;e.addStruct(n,cs.STRUCT_NAME_ATTRIBUTES,pe.FRAGMENT);let{attributeFields:i,initializationLines:o}=t;for(let s=0;s<i.length;s++){let[a,c]=i[s];e.addStructField(n,a,c)}n=cs.STRUCT_ID_FRAGMENT_INPUT,e.addStruct(n,cs.STRUCT_NAME_FRAGMENT_INPUT,pe.FRAGMENT),e.addStructField(n,cs.STRUCT_NAME_ATTRIBUTES,"attributes"),e.addStructField(n,wx.STRUCT_NAME_FEATURE_IDS,"featureIds"),e.addStructField(n,bd.STRUCT_NAME_METADATA,"metadata"),e.addStructField(n,bd.STRUCT_NAME_METADATA_CLASS,"metadataClass"),e.addStructField(n,bd.STRUCT_NAME_METADATA_STATISTICS,"metadataStatistics");let r=cs.FUNCTION_ID_INITIALIZE_INPUT_STRUCT_FS;e.addFunction(r,cs.FUNCTION_SIGNATURE_INITIALIZE_INPUT_STRUCT_FS,pe.FRAGMENT),e.addFunctionLines(r,o)}var sGe=[];function aGe(e,t,n){let{vertexLines:i,fragmentLines:o}=n,r=sGe;i.enabled&&(oGe(e,i),r.length=0,r.push("#line 0",t.vertexShaderText,u2),e.addVertexLines(r)),o.enabled&&(rGe(e,o),r.length=0,r.push("#line 0",t.fragmentShaderText,f2),e.addFragmentLines(r))}var _2=cs;var Pw={name:"DequantizationPipelineStage",FUNCTION_ID_DEQUANTIZATION_STAGE_VS:"dequantizationStage",FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS:"void dequantizationStage(inout ProcessedAttributes attributes)"};Pw.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=l(o.classificationType);i.addDefine("USE_DEQUANTIZATION",void 0,pe.VERTEX),i.addFunction(Pw.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,Pw.FUNCTION_SIGNATURE_DEQUANTIZATION_STAGE_VS,pe.VERTEX);let s=t.attributes;for(let a=0;a<s.length;a++){let c=s[a],u=c.quantization;if(!l(u))continue;let f=c.semantic===St.POSITION,d=c.semantic===St.TEXCOORD;if(r&&!f&&!d)continue;let p=Kt.getAttributeInfo(c);lGe(i,p),cGe(e,p)}};function cGe(e,t){let n=e.shaderBuilder,i=e.uniformMap,o=t.variableName,r=t.attribute.quantization;if(r.octEncoded){let s=`model_normalizationRange_${o}`;n.addUniform("float",s,pe.VERTEX),i[s]=function(){return r.normalizationRange}}else{let s=`model_quantizedVolumeOffset_${o}`,a=`model_quantizedVolumeStepSize_${o}`,c=t.glslType;n.addUniform(c,s,pe.VERTEX),n.addUniform(c,a,pe.VERTEX);let u=r.quantizedVolumeOffset,f=r.quantizedVolumeStepSize;/^color_\d+$/.test(o)&&(u=rse(u,0),f=rse(f,1)),i[s]=function(){return u},i[a]=function(){return f}}}function rse(e,t){return e instanceof oe?e:new oe(e.x,e.y,e.z,t)}function lGe(e,t){let n=t.variableName,i=t.attribute.quantization,o;i.octEncoded?o=uGe(n,i):o=fGe(n),e.addFunctionLines(Pw.FUNCTION_ID_DEQUANTIZATION_STAGE_VS,[o])}function uGe(e,t){let n=`attributes.${e}`,i=`a_quantized_${e}`,o=`model_normalizationRange_${e}`,r=t.octEncodedZXY?".zxy":".xyz";return`${n} = czm_octDecode(${i}, ${o})${r};`}function fGe(e){let t=`attributes.${e}`,n=`a_quantized_${e}`,i=`model_quantizedVolumeOffset_${e}`,o=`model_quantizedVolumeStepSize_${e}`;return`${t} = ${i} + ${n} * ${o};`}var g2=Pw;var y2=`void geometryStage(out ProcessedAttributes attributes) +{ + attributes.positionMC = v_positionMC; + attributes.positionEC = v_positionEC; - #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE - vec2 clearcoatRoughnessTexCoords = TEXCOORD_CLEARCOAT_ROUGHNESS; - #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE_TRANSFORM - clearcoatRoughnessTexCoords = computeTextureTransform(clearcoatRoughnessTexCoords, u_clearcoatRoughnessTextureTransform); - #endif - float clearcoatRoughness = texture(u_clearcoatRoughnessTexture, clearcoatRoughnessTexCoords).g; - #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR - clearcoatRoughness *= u_clearcoatRoughnessFactor; - #endif - #else - #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR - float clearcoatRoughness = u_clearcoatRoughnessFactor; - #else - float clearcoatRoughness = 0.0; - #endif - #endif + #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) + attributes.positionWC = v_positionWC; + #endif - material.clearcoatFactor = clearcoatFactor; - // This is perceptual roughness. The square of this value is used for direct lighting - material.clearcoatRoughness = clearcoatRoughness; - #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE - material.clearcoatNormal = getClearcoatNormalFromTexture(attributes, attributes.normalEC); - #else - material.clearcoatNormal = attributes.normalEC; - #endif -} -#endif -#endif + #ifdef HAS_NORMALS + // renormalize after interpolation + attributes.normalEC = normalize(v_normalEC); + #endif -void materialStage(inout czm_modelMaterial material, ProcessedAttributes attributes, SelectedFeature feature) + #ifdef HAS_TANGENTS + attributes.tangentEC = normalize(v_tangentEC); + #endif + + #ifdef HAS_BITANGENTS + attributes.bitangentEC = normalize(v_bitangentEC); + #endif + + // Everything else is dynamically generated in GeometryPipelineStage + setDynamicVaryings(attributes); +} +`;var x2=`vec4 geometryStage(inout ProcessedAttributes attributes, mat4 modelView, mat3 normal) { - #ifdef USE_ANISOTROPY - NormalInfo normalInfo = getNormalInfo(attributes); - material.normalEC = normalInfo.normal; - #elif defined(HAS_NORMALS) - material.normalEC = computeNormal(attributes); - #endif + vec4 computedPosition; - vec4 baseColorWithAlpha = vec4(1.0); - // Regardless of whether we use PBR, set a base color - #ifdef HAS_BASE_COLOR_TEXTURE - baseColorWithAlpha = getBaseColorFromTexture(); - #elif defined(HAS_BASE_COLOR_FACTOR) - baseColorWithAlpha = u_baseColorFactor; - #endif + // Compute positions in different coordinate systems + vec3 positionMC = attributes.positionMC; + v_positionMC = positionMC; + v_positionEC = (modelView * vec4(positionMC, 1.0)).xyz; - #ifdef HAS_POINT_CLOUD_COLOR_STYLE - baseColorWithAlpha = v_pointCloudColor; - #elif defined(HAS_COLOR_0) - vec4 color = attributes.color_0; - // .pnts files store colors in the sRGB color space - #ifdef HAS_SRGB_COLOR - color = czm_srgbToLinear(color); - #endif - baseColorWithAlpha *= color; + #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) + vec3 position2D = attributes.position2D; + vec3 positionEC = (u_modelView2D * vec4(position2D, 1.0)).xyz; + computedPosition = czm_projection * vec4(positionEC, 1.0); + #else + computedPosition = czm_projection * vec4(v_positionEC, 1.0); #endif - #ifdef USE_CPU_STYLING - baseColorWithAlpha.rgb = blend(baseColorWithAlpha.rgb, feature.color.rgb, model_colorBlend); + // Sometimes the custom shader and/or style needs this + #if defined(COMPUTE_POSITION_WC_CUSTOM_SHADER) || defined(COMPUTE_POSITION_WC_STYLE) || defined(COMPUTE_POSITION_WC_ATMOSPHERE) || defined(ENABLE_CLIPPING_POLYGONS) + // Note that this is a 32-bit position which may result in jitter on small + // scales. + v_positionWC = (czm_model * vec4(positionMC, 1.0)).xyz; #endif - material.baseColor = baseColorWithAlpha; - material.diffuse = baseColorWithAlpha.rgb; - material.alpha = baseColorWithAlpha.a; - #ifdef HAS_OCCLUSION_TEXTURE - vec2 occlusionTexCoords = TEXCOORD_OCCLUSION; - #ifdef HAS_OCCLUSION_TEXTURE_TRANSFORM - occlusionTexCoords = computeTextureTransform(occlusionTexCoords, u_occlusionTextureTransform); - #endif - material.occlusion = texture(u_occlusionTexture, occlusionTexCoords).r; + #ifdef HAS_NORMALS + v_normalEC = normalize(normal * attributes.normalMC); #endif - #ifdef HAS_EMISSIVE_TEXTURE - material.emissive = getEmissiveFromTexture(); - #elif defined(HAS_EMISSIVE_FACTOR) - material.emissive = u_emissiveFactor; + #ifdef HAS_TANGENTS + v_tangentEC = normalize(normal * attributes.tangentMC); #endif - #if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) - setSpecularGlossiness(material); - #elif defined(LIGHTING_PBR) - float metalness = setMetallicRoughness(material); - #ifdef USE_SPECULAR - setSpecular(material, metalness); - #endif - #ifdef USE_ANISOTROPY - setAnisotropy(material, normalInfo); - #endif - #ifdef USE_CLEARCOAT - setClearcoat(material, attributes); - #endif + #ifdef HAS_BITANGENTS + v_bitangentEC = normalize(normal * attributes.bitangentMC); #endif + + // All other varyings need to be dynamically generated in + // GeometryPipelineStage + setDynamicVaryings(attributes); + + return computedPosition; } -`;var{Material:J8e,MetallicRoughness:_W,SpecularGlossiness:gW,Specular:Qre,Clearcoat:Jre}=Tn,ese={name:"MaterialPipelineStage",_processTexture:gl,_processTextureTransform:tse};ese.process=function(e,t,n){let i=t.material,{model:o,uniformMap:r,shaderBuilder:s}=e,a=l(o.classificationType),c=a,{defaultTexture:u,defaultNormalTexture:f,defaultEmissiveTexture:d}=n.context;tGe(i,r,s,u,f,d,c),l(i.specularGlossiness)?nGe(i.specularGlossiness,r,s,u,c):(l(i.specular)&&$t.supportedExtensions.KHR_materials_specular&&iGe(i.specular,r,s,u,c),l(i.anisotropy)&&$t.supportedExtensions.KHR_materials_anisotropy&&rGe(i.anisotropy,r,s,u,c),l(i.clearcoat)&&$t.supportedExtensions.KHR_materials_clearcoat&&sGe(i.clearcoat,r,s,u,c),aGe(i.metallicRoughness,r,s,u,c));let p=$t.getAttributeBySemantic(t,Ct.NORMAL),g=e.lightingOptions;i.unlit||!p||a?g.lightingModel=Rp.UNLIT:g.lightingModel=Rp.PBR;let m=o.backFaceCulling&&!i.doubleSided;e.renderStateOptions.cull.enabled=m;let x=e.alphaOptions;i.alphaMode===Ap.BLEND?x.pass=Se.TRANSLUCENT:i.alphaMode===Ap.MASK&&(x.alphaCutoff=i.alphaCutoff),s.addFragmentLines(_2),i.doubleSided&&s.addDefine("HAS_DOUBLE_SIDED_MATERIAL",void 0,pe.BOTH)};function tse(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_TRANSFORM`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Transform`;e.addUniform("mat3",s,pe.FRAGMENT),t[s]=function(){return n.transform}}function eGe(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_SCALE`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Scale`;e.addUniform("float",s,pe.FRAGMENT),t[s]=function(){return n.scale}}function gl(e,t,n,i,o,r){e.addUniform("sampler2D",i,pe.FRAGMENT),t[i]=function(){return y(n.texture,r)};let s=`HAS_${o}_TEXTURE`;e.addDefine(s,void 0,pe.FRAGMENT);let c=`v_texCoord_${n.texCoord}`,u=`TEXCOORD_${o}`;e.addDefine(u,c,pe.FRAGMENT);let f=n.transform;l(f)&&!Z.equals(f,Z.IDENTITY)&&tse(e,t,n,i,o);let{scale:d}=n;l(d)&&d!==1&&eGe(e,t,n,i,o)}function tGe(e,t,n,i,o,r,s){let{emissiveFactor:a,emissiveTexture:c,normalTexture:u,occlusionTexture:f}=e;l(a)&&!h.equals(a,J8e.DEFAULT_EMISSIVE_FACTOR)&&(n.addUniform("vec3","u_emissiveFactor",pe.FRAGMENT),t.u_emissiveFactor=function(){return e.emissiveFactor},n.addDefine("HAS_EMISSIVE_FACTOR",void 0,pe.FRAGMENT),l(c)&&!s&&gl(n,t,c,"u_emissiveTexture","EMISSIVE",r)),l(u)&&!s&&gl(n,t,u,"u_normalTexture","NORMAL",o),l(f)&&!s&&gl(n,t,f,"u_occlusionTexture","OCCLUSION",i)}function nGe(e,t,n,i,o){let{diffuseTexture:r,diffuseFactor:s,specularGlossinessTexture:a,specularFactor:c,glossinessFactor:u}=e;n.addDefine("USE_SPECULAR_GLOSSINESS",void 0,pe.FRAGMENT),l(r)&&!o&&gl(n,t,r,"u_diffuseTexture","DIFFUSE",i),l(s)&&!oe.equals(s,gW.DEFAULT_DIFFUSE_FACTOR)&&(n.addUniform("vec4","u_diffuseFactor",pe.FRAGMENT),t.u_diffuseFactor=function(){return e.diffuseFactor},n.addDefine("HAS_DIFFUSE_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&gl(n,t,a,"u_specularGlossinessTexture","SPECULAR_GLOSSINESS",i),l(c)&&!h.equals(c,gW.DEFAULT_SPECULAR_FACTOR)&&(n.addUniform("vec3","u_legacySpecularFactor",pe.FRAGMENT),t.u_legacySpecularFactor=function(){return e.specularFactor},n.addDefine("HAS_LEGACY_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(u)&&u!==gW.DEFAULT_GLOSSINESS_FACTOR&&(n.addUniform("float","u_glossinessFactor",pe.FRAGMENT),t.u_glossinessFactor=function(){return e.glossinessFactor},n.addDefine("HAS_GLOSSINESS_FACTOR",void 0,pe.FRAGMENT))}function iGe(e,t,n,i,o){let{specularTexture:r,specularFactor:s,specularColorTexture:a,specularColorFactor:c}=e;n.addDefine("USE_SPECULAR",void 0,pe.FRAGMENT),l(r)&&!o&&gl(n,t,r,"u_specularTexture","SPECULAR",i),l(s)&&s!==Qre.DEFAULT_SPECULAR_FACTOR&&(n.addUniform("float","u_specularFactor",pe.FRAGMENT),t.u_specularFactor=function(){return e.specularFactor},n.addDefine("HAS_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&gl(n,t,a,"u_specularColorTexture","SPECULAR_COLOR",i),l(c)&&!h.equals(c,Qre.DEFAULT_SPECULAR_COLOR_FACTOR)&&(n.addUniform("vec3","u_specularColorFactor",pe.FRAGMENT),t.u_specularColorFactor=function(){return e.specularColorFactor},n.addDefine("HAS_SPECULAR_COLOR_FACTOR",void 0,pe.FRAGMENT))}var oGe=new h;function rGe(e,t,n,i,o){let{anisotropyStrength:r,anisotropyRotation:s,anisotropyTexture:a}=e;n.addDefine("USE_ANISOTROPY",void 0,pe.FRAGMENT),l(a)&&!o&&gl(n,t,a,"u_anisotropyTexture","ANISOTROPY",i);let c=Math.cos(s),u=Math.sin(s);n.addUniform("vec3","u_anisotropy",pe.FRAGMENT),t.u_anisotropy=function(){return h.fromElements(c,u,r,oGe)}}function sGe(e,t,n,i,o){let{clearcoatFactor:r,clearcoatTexture:s,clearcoatRoughnessFactor:a,clearcoatRoughnessTexture:c,clearcoatNormalTexture:u}=e;n.addDefine("USE_CLEARCOAT",void 0,pe.FRAGMENT),l(r)&&r!==Jre.DEFAULT_CLEARCOAT_FACTOR&&(n.addUniform("float","u_clearcoatFactor",pe.FRAGMENT),t.u_clearcoatFactor=function(){return e.clearcoatFactor},n.addDefine("HAS_CLEARCOAT_FACTOR",void 0,pe.FRAGMENT)),l(s)&&!o&&gl(n,t,s,"u_clearcoatTexture","CLEARCOAT",i),l(a)&&r!==Jre.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_clearcoatRoughnessFactor",pe.FRAGMENT),t.u_clearcoatRoughnessFactor=function(){return e.clearcoatRoughnessFactor},n.addDefine("HAS_CLEARCOAT_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT)),l(c)&&!o&&gl(n,t,c,"u_clearcoatRoughnessTexture","CLEARCOAT_ROUGHNESS",i),l(u)&&!o&&gl(n,t,u,"u_clearcoatNormalTexture","CLEARCOAT_NORMAL",i)}function aGe(e,t,n,i,o){n.addDefine("USE_METALLIC_ROUGHNESS",void 0,pe.FRAGMENT);let r=e.baseColorTexture;l(r)&&!o&&gl(n,t,r,"u_baseColorTexture","BASE_COLOR",i);let s=e.baseColorFactor;l(s)&&!oe.equals(s,_W.DEFAULT_BASE_COLOR_FACTOR)&&(n.addUniform("vec4","u_baseColorFactor",pe.FRAGMENT),t.u_baseColorFactor=function(){return e.baseColorFactor},n.addDefine("HAS_BASE_COLOR_FACTOR",void 0,pe.FRAGMENT));let a=e.metallicRoughnessTexture;l(a)&&!o&&gl(n,t,a,"u_metallicRoughnessTexture","METALLIC_ROUGHNESS",i);let c=e.metallicFactor;l(c)&&c!==_W.DEFAULT_METALLIC_FACTOR&&(n.addUniform("float","u_metallicFactor",pe.FRAGMENT),t.u_metallicFactor=function(){return e.metallicFactor},n.addDefine("HAS_METALLIC_FACTOR",void 0,pe.FRAGMENT));let u=e.roughnessFactor;l(u)&&u!==_W.DEFAULT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_roughnessFactor",pe.FRAGMENT),t.u_roughnessFactor=function(){return e.roughnessFactor},n.addDefine("HAS_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT))}var g2=ese;var Bc={name:"MetadataPickingPipelineStage",METADATA_PICKING_ENABLED:"METADATA_PICKING_ENABLED",METADATA_PICKING_VALUE_TYPE:"METADATA_PICKING_VALUE_TYPE",METADATA_PICKING_VALUE_STRING:"METADATA_PICKING_VALUE_STRING",METADATA_PICKING_VALUE_COMPONENT_X:"METADATA_PICKING_VALUE_COMPONENT_X",METADATA_PICKING_VALUE_COMPONENT_Y:"METADATA_PICKING_VALUE_COMPONENT_Y",METADATA_PICKING_VALUE_COMPONENT_Z:"METADATA_PICKING_VALUE_COMPONENT_Z",METADATA_PICKING_VALUE_COMPONENT_W:"METADATA_PICKING_VALUE_COMPONENT_W"};Bc.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine(Bc.METADATA_PICKING_VALUE_TYPE,"float",pe.FRAGMENT),i.addDefine(Bc.METADATA_PICKING_VALUE_STRING,"0.0",pe.FRAGMENT),i.addDefine(Bc.METADATA_PICKING_VALUE_COMPONENT_X,"0.0",pe.FRAGMENT),i.addDefine(Bc.METADATA_PICKING_VALUE_COMPONENT_Y,"0.0",pe.FRAGMENT),i.addDefine(Bc.METADATA_PICKING_VALUE_COMPONENT_Z,"0.0",pe.FRAGMENT),i.addDefine(Bc.METADATA_PICKING_VALUE_COMPONENT_W,"0.0",pe.FRAGMENT),i.addFunction("metadataPickingStage","void metadataPickingStage(Metadata metadata, MetadataClass metadataClass, inout vec4 metadataValues)",pe.FRAGMENT),i.addFunctionLines("metadataPickingStage",[`${Bc.METADATA_PICKING_VALUE_TYPE} value = ${Bc.METADATA_PICKING_VALUE_TYPE}(${Bc.METADATA_PICKING_VALUE_STRING});`,`metadataValues.x = ${Bc.METADATA_PICKING_VALUE_COMPONENT_X};`,`metadataValues.y = ${Bc.METADATA_PICKING_VALUE_COMPONENT_Y};`,`metadataValues.z = ${Bc.METADATA_PICKING_VALUE_COMPONENT_Z};`,`metadataValues.w = ${Bc.METADATA_PICKING_VALUE_COMPONENT_W};`],pe.FRAGMENT)};var cf=Bc;var y2=`void morphTargetsStage(inout ProcessedAttributes attributes) +`;var Ow=`vec2 computeSt(float featureId) { - vec3 positionMC = attributes.positionMC; - attributes.positionMC = getMorphedPosition(positionMC); + float stepX = model_textureStep.x; + float centerX = model_textureStep.y; - #ifdef HAS_NORMALS - vec3 normalMC = attributes.normalMC; - attributes.normalMC = getMorphedNormal(normalMC); - #endif + #ifdef MULTILINE_BATCH_TEXTURE + float stepY = model_textureStep.z; + float centerY = model_textureStep.w; - #ifdef HAS_TANGENTS - vec3 tangentMC = attributes.tangentMC; - attributes.tangentMC = getMorphedTangent(tangentMC); + float xId = mod(featureId, model_textureDimensions.x); + float yId = floor(featureId / model_textureDimensions.x); + + return vec2(centerX + (xId * stepX), centerY + (yId * stepY)); + #else + return vec2(centerX + (featureId * stepX), 0.5); #endif -}`;var va={name:"MorphTargetsPipelineStage",FUNCTION_ID_GET_MORPHED_POSITION:"getMorphedPosition",FUNCTION_SIGNATURE_GET_MORPHED_POSITION:"vec3 getMorphedPosition(in vec3 position)",FUNCTION_ID_GET_MORPHED_NORMAL:"getMorphedNormal",FUNCTION_SIGNATURE_GET_MORPHED_NORMAL:"vec3 getMorphedNormal(in vec3 normal)",FUNCTION_ID_GET_MORPHED_TANGENT:"getMorphedTangent",FUNCTION_SIGNATURE_GET_MORPHED_TANGENT:"vec3 getMorphedTangent(in vec3 tangent)"};va.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_MORPH_TARGETS",void 0,pe.VERTEX),hGe(n);let i=t.morphTargets.length;for(let a=0;a<i;a++){let c=t.morphTargets[a].attributes,u=c.length;for(let f=0;f<u;f++){let d=c[f],p=d.semantic;p!==Ct.POSITION&&p!==Ct.NORMAL&&p!==Ct.TANGENT||(lGe(e,d,e.attributeIndex,a),e.attributeIndex++)}}mGe(n);let r=e.runtimeNode.morphWeights.length;n.addUniform("float",`u_morphWeights[${r}]`,pe.VERTEX),n.addVertexLines(y2);let s={u_morphWeights:function(){return e.runtimeNode.morphWeights}};e.uniformMap=xt(s,e.uniformMap)};var cGe={attributeString:void 0,functionId:void 0};function lGe(e,t,n,i){let o=e.shaderBuilder;uGe(e,t,n);let r=fGe(t,cGe);dGe(o,r,i)}function uGe(e,t,n){let i={index:n,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,componentsPerAttribute:rn.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(i)}function fGe(e,t){switch(e.semantic){case Ct.POSITION:t.attributeString="Position",t.functionId=va.FUNCTION_ID_GET_MORPHED_POSITION;break;case Ct.NORMAL:t.attributeString="Normal",t.functionId=va.FUNCTION_ID_GET_MORPHED_NORMAL;break;case Ct.TANGENT:t.attributeString="Tangent",t.functionId=va.FUNCTION_ID_GET_MORPHED_TANGENT;break;default:break}return t}function dGe(e,t,n){let i=t.attributeString,o=`a_target${i}_${n}`,r=`morphed${i} += u_morphWeights[${n}] * a_target${i}_${n};`;e.addAttribute("vec3",o),e.addFunctionLines(t.functionId,[r])}function hGe(e){e.addFunction(va.FUNCTION_ID_GET_MORPHED_POSITION,va.FUNCTION_SIGNATURE_GET_MORPHED_POSITION,pe.VERTEX),e.addFunctionLines(va.FUNCTION_ID_GET_MORPHED_POSITION,["vec3 morphedPosition = position;"]),e.addFunction(va.FUNCTION_ID_GET_MORPHED_NORMAL,va.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL,pe.VERTEX),e.addFunctionLines(va.FUNCTION_ID_GET_MORPHED_NORMAL,["vec3 morphedNormal = normal;"]),e.addFunction(va.FUNCTION_ID_GET_MORPHED_TANGENT,va.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT,pe.VERTEX),e.addFunctionLines(va.FUNCTION_ID_GET_MORPHED_TANGENT,["vec3 morphedTangent = tangent;"])}function mGe(e){e.addFunctionLines(va.FUNCTION_ID_GET_MORPHED_POSITION,["return morphedPosition;"]),e.addFunctionLines(va.FUNCTION_ID_GET_MORPHED_NORMAL,["return morphedNormal;"]),e.addFunctionLines(va.FUNCTION_ID_GET_MORPHED_TANGENT,["return morphedTangent;"])}var x2=va;var nse={name:"PickingPipelineStage"};nse.process=function(e,t,n){let i=n.context,o=e.runtimeNode,r=e.shaderBuilder,s=e.model,a=o.node.instances;if(e.hasPropertyTable)pGe(e,t,a,i);else if(l(a))_Ge(e,i);else{let c=ise(e),u=i.createPickId(c);s._pipelineResources.push(u),s._pickIds.push(u),r.addUniform("vec4","czm_pickColor",pe.FRAGMENT);let f=e.uniformMap;f.czm_pickColor=function(){return u.color},e.pickId="czm_pickColor"}};function ise(e,t){let n=e.model;if(l(n.pickObject))return n.pickObject;let i={model:n,node:e.runtimeNode,primitive:e.runtimePrimitive},o;if(gr.is3DTiles(n.type)){let r=n.content;o={content:r,primitive:r.tileset,detail:i}}else o={primitive:n,detail:i};return o.id=n.id,l(t)&&(o.instanceId=t),o}function pGe(e,t,n){let i=e.model,o,r,s=i.featureIdLabel,a=i.instanceFeatureIdLabel;l(i.featureTableId)?o=i.featureTableId:l(n)?(r=$t.getFeatureIdsByLabel(n.featureIds,a),o=r.propertyTableId):(r=$t.getFeatureIdsByLabel(t.featureIds,s),o=r.propertyTableId);let c=i.featureTables[o];e.shaderBuilder.addUniform("sampler2D","model_pickTexture",pe.FRAGMENT);let f=c.batchTexture;e.uniformMap.model_pickTexture=function(){return y(f.pickTexture,f.defaultTexture)},e.pickId="((selectedFeature.id < int(model_featuresLength)) ? texture(model_pickTexture, selectedFeature.st) : vec4(0.0))"}function _Ge(e,t){let n=e.instanceCount,i=new Array(n),o=new Uint8Array(n*4),r=e.model,s=r._pipelineResources;for(let d=0;d<n;d++){let p=ise(e,d),g=t.createPickId(p);s.push(g),i[d]=g;let m=g.color;o[d*4+0]=H.floatToByte(m.red),o[d*4+1]=H.floatToByte(m.green),o[d*4+2]=H.floatToByte(m.blue),o[d*4+3]=H.floatToByte(m.alpha)}r._pickIds=i;let a=yt.createVertexBuffer({context:t,typedArray:o,usage:Ve.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.statistics.addBuffer(a,!1),s.push(a);let u={index:e.attributeIndex++,vertexBuffer:a,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1};e.attributes.push(u);let f=e.shaderBuilder;f.addDefine("USE_PICKING",void 0,pe.BOTH),f.addAttribute("vec4","a_pickColor"),f.addVarying("vec4","v_pickColor"),e.pickId="v_pickColor"}var b2=nse;var gGe={ADD:0,REPLACE:1},qo=Object.freeze(gGe);var T2=`float getPointSizeFromAttenuation(vec3 positionEC) { - // Variables are packed into a single vector to minimize gl.uniformXXX() calls - float pointSize = model_pointCloudParameters.x; - float geometricError = model_pointCloudParameters.y; - float depthMultiplier = model_pointCloudParameters.z; - - float depth = -positionEC.z; - return min((geometricError / depth) * depthMultiplier, pointSize); } -#ifdef HAS_POINT_CLOUD_SHOW_STYLE -float pointCloudShowStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - float tiles3d_tileset_time = model_pointCloudParameters.w; - return float(getShowFromStyle(attributes, metadata, tiles3d_tileset_time)); -} -#endif +void selectedFeatureIdStage(out SelectedFeature feature, FeatureIds featureIds) +{ + int featureId = featureIds.SELECTED_FEATURE_ID; -#ifdef HAS_POINT_CLOUD_COLOR_STYLE -vec4 pointCloudColorStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - float tiles3d_tileset_time = model_pointCloudParameters.w; - return getColorFromStyle(attributes, metadata, tiles3d_tileset_time); -} -#endif -#ifdef HAS_POINT_CLOUD_POINT_SIZE_STYLE -float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - float tiles3d_tileset_time = model_pointCloudParameters.w; - return float(getPointSizeFromStyle(attributes, metadata, tiles3d_tileset_time)); -} -#elif defined(HAS_POINT_CLOUD_ATTENUATION) -float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { - return getPointSizeFromAttenuation(v_positionEC); -} -#endif + if (featureId < model_featuresLength) + { + vec2 featureSt = computeSt(float(featureId)); -#ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING -float pointCloudBackFaceCullingStage() { - #if defined(HAS_NORMALS) && !defined(HAS_DOUBLE_SIDED_MATERIAL) - // This needs to be computed in eye coordinates so we can't use attributes.normalMC - return step(-v_normalEC.z, 0.0); - #else - return 1.0; - #endif -} -#endif`;var yGe=new oe,rse={name:"PointCloudStylingPipelineStage"};rse.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=o.style,s=o.structuralMetadata,a=l(s)?s.propertyAttributes:void 0,c=l(o.featureTableId)&&o.featureTables[o.featureTableId].featuresLength>0,u=!l(a)&&c;if(l(r)&&!u){let x=CGe(a),b=AGe(r,x);EGe(i,b);let C=SGe(b).indexOf("normalMC")>=0,A=$t.getAttributeBySemantic(t,Ct.NORMAL);if(C&&!A)throw new ce("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,pe.VERTEX),b.styleTranslucent&&(e.alphaOptions.pass=Se.TRANSLUCENT)}let f=o.pointCloudShading;f.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,pe.VERTEX),f.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,pe.VERTEX);let d,p,g;gr.is3DTiles(o.type)&&(p=!0,d=o.content,g=d.tile.refine===qo.ADD),i.addUniform("vec4","model_pointCloudParameters",pe.VERTEX),i.addVertexLines(T2);let m=e.uniformMap;m.model_pointCloudParameters=function(){let x=yGe,b=1;p&&(b=g?5:d.tileset.memoryAdjustedScreenSpaceError),x.x=y(f.maximumAttenuation,b),x.x*=n.pixelRatio;let T=xGe(e,t,f,d);x.y=T*f.geometricErrorScale;let C=n.context,A=n.camera.frustum,S;return n.mode===ne.SCENE2D||A instanceof an?S=Number.POSITIVE_INFINITY:S=C.drawingBufferHeight/n.camera.frustum.sseDenominator,x.z=S,p&&(x.w=d.tileset.timeSinceLoad),x}};var ose=new h;function xGe(e,t,n,i){if(l(i)){let f=i.tile.geometricError;if(f>0)return f}if(l(n.baseResolution))return n.baseResolution;let o=$t.getAttributeBySemantic(t,Ct.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,ose);a=F.multiplyByPointAsVector(s,a,ose);let c=a.x*a.y*a.z;return P.cbrt(c/r)}var bGe={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},TGe={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function CGe(e){let t=We(TGe);if(!l(e))return t;for(let n=0;n<e.length;n++){let o=e[n].properties;for(let r in o)o.hasOwnProperty(r)&&(t[r]=`metadata.${r}`)}return t}var yW="ProcessedAttributes attributes, Metadata metadata, float tiles3d_tileset_time";function AGe(e,t){let n=bGe,i={translucent:!1};return n.colorStyleFunction=e.getColorShaderFunction(`getColorFromStyle(${yW})`,t,i),n.showStyleFunction=e.getShowShaderFunction(`getShowFromStyle(${yW})`,t,i),n.pointSizeStyleFunction=e.getPointSizeShaderFunction(`getPointSizeFromStyle(${yW})`,t,i),n.styleTranslucent=l(n.colorStyleFunction)&&i.translucent,n}function EGe(e,t){let n=t.colorStyleFunction;l(n)&&(e.addDefine("HAS_POINT_CLOUD_COLOR_STYLE",void 0,pe.BOTH),e.addVertexLines(n),e.addVarying("vec4","v_pointCloudColor"));let i=t.showStyleFunction;l(i)&&(e.addDefine("HAS_POINT_CLOUD_SHOW_STYLE",void 0,pe.VERTEX),e.addVertexLines(i));let o=t.pointSizeStyleFunction;l(o)&&(e.addDefine("HAS_POINT_CLOUD_POINT_SIZE_STYLE",void 0,pe.VERTEX),e.addVertexLines(o))}function xW(e,t){let n=/attributes\.(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function SGe(e){let t=e.colorStyleFunction,n=e.showStyleFunction,i=e.pointSizeStyleFunction,o=[];return l(t)&&xW(t,o),l(n)&&xW(n,o),l(i)&&xW(i,o),o}var C2=rse;var A2=`void primitiveOutlineStage() { - v_outlineCoordinates = a_outlineCoordinates; -} -`;var E2=`void primitiveOutlineStage(inout czm_modelMaterial material) { - if (!model_showOutline) { - return; + feature.id = featureId; + feature.st = featureSt; + feature.color = texture(model_batchTexture, featureSt); + } + // Floating point comparisons can be unreliable in GLSL, so we + // increment the feature ID to make sure it's always greater + // then the model_featuresLength - a condition we check for in the + // pick ID, to avoid sampling the pick texture if the feature ID is + // greater than the number of features. + else + { + feature.id = model_featuresLength + 1; + feature.st = vec2(0.0); + feature.color = vec4(1.0); } - float outlineX = - texture(model_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r; - float outlineY = - texture(model_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r; - float outlineZ = - texture(model_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r; - float outlineness = max(outlineX, max(outlineY, outlineZ)); - - material.diffuse = mix(material.diffuse, model_outlineColor.rgb, model_outlineColor.a * outlineness); + #ifdef HAS_NULL_FEATURE_ID + if (featureId == model_nullFeatureId) { + feature.id = featureId; + feature.st = vec2(0.0); + feature.color = vec4(1.0); + } + #endif } - -`;var sse={name:"PrimitiveOutlinePipelineStage"};sse.process=function(e,t,n){let i=e.shaderBuilder,o=e.uniformMap;i.addDefine("HAS_PRIMITIVE_OUTLINE",void 0,pe.BOTH),i.addAttribute("vec3","a_outlineCoordinates"),i.addVarying("vec3","v_outlineCoordinates");let r=t.outlineCoordinates,s={index:e.attributeIndex++,vertexBuffer:r.buffer,componentsPerAttribute:rn.getNumberOfComponents(r.type),componentDatatype:r.componentDatatype,offsetInBytes:r.byteOffset,strideInBytes:r.byteStride,normalize:r.normalized};e.attributes.push(s),i.addUniform("sampler2D","model_outlineTexture",pe.FRAGMENT);let a=DC.createTexture(n.context);o.model_outlineTexture=function(){return a};let c=e.model;i.addUniform("vec4","model_outlineColor",pe.FRAGMENT),o.model_outlineColor=function(){return c.outlineColor},i.addUniform("bool","model_showOutline",pe.FRAGMENT),o.model_showOutline=function(){return c.showOutline},i.addVertexLines(A2),i.addFragmentLines(E2)};var S2=sse;var ase={name:"PrimitiveStatisticsPipelineStage",_countGeometry:cse,_count2DPositions:lse,_countMorphTargetAttributes:use,_countMaterialTextures:fse,_countFeatureIdTextures:dse,_countBinaryMetadata:hse};ase.process=function(e,t,n){let i=e.model,o=i.statistics;cse(o,t),lse(o,e.runtimePrimitive),use(o,t),fse(o,t.material),dse(o,t.featureIds),hse(o,i)};function cse(e,t){let n=l(t.indices)?t.indices.count:$t.getAttributeBySemantic(t,"POSITION").count,i=t.primitiveType;i===Fe.POINTS?e.pointsLength+=n:Fe.isTriangles(i)&&(e.trianglesLength+=wGe(i,n));let o=t.attributes,r=o.length;for(let c=0;c<r;c++){let u=o[c];if(l(u.buffer)){let f=l(u.typedArray);e.addBuffer(u.buffer,f)}}let s=t.outlineCoordinates;l(s)&&l(s.buffer)&&e.addBuffer(s.buffer,!1);let a=t.indices;if(l(a)&&l(a.buffer)){let c=l(a.typedArray);e.addBuffer(a.buffer,c)}}function wGe(e,t){switch(e){case Fe.TRIANGLES:return t/3;case Fe.TRIANGLE_STRIP:case Fe.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function lse(e,t){let n=t.positionBuffer2D;l(n)&&e.addBuffer(n,!0)}function use(e,t){let n=t.morphTargets;if(!l(n))return;let i=!1,o=n.length;for(let r=0;r<o;r++){let s=n[r].attributes,a=s.length;for(let c=0;c<a;c++){let u=s[c];l(u.buffer)&&e.addBuffer(u.buffer,i)}}}function fse(e,t){let n=vGe(t),i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r)&&l(r.texture)&&e.addTexture(r.texture)}}function vGe(e){let t=e.metallicRoughness,n=[e.emissiveTexture,e.normalTexture,e.occlusionTexture,t.baseColorTexture,t.metallicRoughnessTexture],i=e.specularGlossiness;return l(i)&&(n.push(i.diffuseTexture),n.push(i.specularGlossinessTexture)),n}function dse(e,t){let n=t.length;for(let i=0;i<n;i++){let o=t[i];if(o instanceof Tn.FeatureIdTexture){let r=o.textureReader;l(r.texture)&&e.addTexture(r.texture)}}}function hse(e,t){let n=t.structuralMetadata;l(n)&&(DGe(e,n),e.propertyTablesByteLength+=n.propertyTablesByteLength);let i=t.featureTables;if(!l(i))return;let o=i.length;for(let r=0;r<o;r++){let s=i[r];e.addBatchTexture(s.batchTexture)}}function DGe(e,t){let n=t.propertyTextures;if(!l(n))return;let i=n.length;for(let o=0;o<i;o++){let s=n[o].properties;for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].textureReader;l(u.texture)&&e.addTexture(u.texture)}}}var w2=ase;var IGe=new F,PGe=new F,mse={name:"SceneMode2DPipelineStage"};mse.process=function(e,t,n){let i=$t.getAttributeBySemantic(t,Ct.POSITION),o=e.shaderBuilder,r=e.model,s=r.sceneGraph.computedModelMatrix,a=e.runtimeNode.computedTransform,c=F.multiplyTransformation(s,a,IGe),u=MGe(e,c,n),f=e.runtimePrimitive;f.boundingSphere2D=u;let d=e.runtimeNode.node.instances;if(l(d))return;if(l(i.typedArray)){let x=FGe(i,c,u,n);f.positionBuffer2D=x,r._modelResources.push(x),i.typedArray=void 0}o.addDefine("USE_2D_POSITIONS",void 0,pe.VERTEX),o.addUniform("mat4","u_modelView2D",pe.VERTEX);let p=F.fromTranslation(u.center,new F),g=n.context,m={u_modelView2D:function(){return F.multiplyTransformation(g.uniformState.view,p,PGe)}};e.uniformMap=xt(m,e.uniformMap)};var RGe=new h,OGe=new h;function MGe(e,t,n){let i=F.multiplyByPoint(t,e.positionMin,RGe),o=ki.computeActualEllipsoidPosition(n,i,i),r=F.multiplyByPoint(t,e.positionMax,OGe),s=ki.computeActualEllipsoidPosition(n,r,r);return ae.fromCornerPoints(o,s,new ae)}var pse=new h;function LGe(e,t){let n=e.length,i=new Float32Array(n),o=t.quantizedVolumeOffset,r=t.quantizedVolumeStepSize;for(let s=0;s<n;s+=3){let a=h.fromArray(e,s,pse),c=h.multiplyComponents(a,r,a),u=h.add(c,o,c);i[s]=u.x,i[s+1]=u.y,i[s+2]=u.z}return i}function NGe(e,t,n,i){let o;l(e.quantization)?o=LGe(e.typedArray,e.quantization):o=e.typedArray.slice();let r=e.byteOffset/Float32Array.BYTES_PER_ELEMENT,s=o.length,a=l(e.byteStride)?e.byteStride/Float32Array.BYTES_PER_ELEMENT:3;for(let c=r;c<s;c+=a){let u=h.fromArray(o,c,pse);if(isNaN(u.x)||isNaN(u.y)||isNaN(u.z))continue;let f=F.multiplyByPoint(t,u,u),d=ki.computeActualEllipsoidPosition(i,f,f),p=h.subtract(d,n,d);o[c]=p.x,o[c+1]=p.y,o[c+2]=p.z}return o}function FGe(e,t,n,i){let o=We(i);o.mode=ne.COLUMBUS_VIEW;let r=n.center,s=NGe(e,t,r,o),a=yt.createVertexBuffer({context:i.context,typedArray:s,usage:Ve.STATIC_DRAW});return a.vertexArrayDestroyable=!1,a}var v2=mse;var D2=`void skinningStage(inout ProcessedAttributes attributes) +`;var Rw={name:"SelectedFeatureIdPipelineStage",STRUCT_ID_SELECTED_FEATURE:"SelectedFeature",STRUCT_NAME_SELECTED_FEATURE:"SelectedFeature"};Rw.process=function(e,t,n){let i=e.shaderBuilder;e.hasPropertyTable=!0;let o=e.model,r=e.runtimeNode.node,s=dGe(o,r,t),a=s.shaderDestination;i.addDefine("HAS_SELECTED_FEATURE_ID",void 0,a),i.addDefine("SELECTED_FEATURE_ID",s.variableName,a),i.addDefine(s.featureIdDefine,void 0,a),hGe(i);let c=s.featureIds.nullFeatureId,u=e.uniformMap;l(c)&&(i.addDefine("HAS_NULL_FEATURE_ID",void 0,a),i.addUniform("int","model_nullFeatureId",a),u.model_nullFeatureId=function(){return c}),s.shaderDestination===pe.BOTH&&i.addVertexLines(Ow),i.addFragmentLines(Ow)};function sse(e){return e instanceof Tn.FeatureIdTexture?"HAS_SELECTED_FEATURE_ID_TEXTURE":"HAS_SELECTED_FEATURE_ID_ATTRIBUTE"}function ase(e){return e instanceof Tn.FeatureIdTexture?pe.FRAGMENT:pe.BOTH}function dGe(e,t,n){let i,o;return l(t.instances)&&(o=Kt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(o))?(i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:ase(o),featureIdDefine:sse(o)}):(o=Kt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),i=y(o.label,o.positionalLabel),{featureIds:o,variableName:i,shaderDestination:ase(o),featureIdDefine:sse(o)})}function hGe(e){e.addStructField(Rw.STRUCT_ID_SELECTED_FEATURE,"int","id"),e.addStructField(Rw.STRUCT_ID_SELECTED_FEATURE,"vec2","st"),e.addStructField(Rw.STRUCT_ID_SELECTED_FEATURE,"vec4","color")}var Ix=Rw;var zs={name:"GeometryPipelineStage",STRUCT_ID_PROCESSED_ATTRIBUTES_VS:"ProcessedAttributesVS",STRUCT_ID_PROCESSED_ATTRIBUTES_FS:"ProcessedAttributesFS",STRUCT_NAME_PROCESSED_ATTRIBUTES:"ProcessedAttributes",FUNCTION_ID_INITIALIZE_ATTRIBUTES:"initializeAttributes",FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES:"void initializeAttributes(out ProcessedAttributes attributes)",FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS:"setDynamicVaryingsVS",FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS:"setDynamicVaryingsFS",FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS:"void setDynamicVaryings(inout ProcessedAttributes attributes)"};zs.process=function(e,t,n){let{shaderBuilder:i,model:o}=e;i.addStruct(zs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"ProcessedAttributes",pe.VERTEX),i.addStruct(zs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"ProcessedAttributes",pe.FRAGMENT),i.addStruct(Ix.STRUCT_ID_SELECTED_FEATURE,Ix.STRUCT_NAME_SELECTED_FEATURE,pe.BOTH),i.addFunction(zs.FUNCTION_ID_INITIALIZE_ATTRIBUTES,zs.FUNCTION_SIGNATURE_INITIALIZE_ATTRIBUTES,pe.VERTEX),i.addVarying("vec3","v_positionWC"),i.addVarying("vec3","v_positionEC"),i.addStructField(zs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionWC"),i.addStructField(zs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","positionEC"),i.addFunction(zs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,zs.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.VERTEX),i.addFunction(zs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,zs.FUNCTION_SIGNATURE_SET_DYNAMIC_VARYINGS,pe.FRAGMENT),o.type===yr.TILE_PNTS&&i.addDefine("HAS_SRGB_COLOR",void 0,pe.FRAGMENT);let r=n.mode!==ne.SCENE3D&&!n.scene3DOnly&&o._projectTo2D,s=l(e.runtimeNode.node.instances),a=r&&!s,c=t.attributes.length;for(let u=0;u<c;u++){let f=t.attributes[u],d=sn.getAttributeLocationCount(f.type),p=f.semantic===St.POSITION,g;d>1?(g=e.attributeIndex,e.attributeIndex+=d):p&&!a?g=0:g=e.attributeIndex++,mGe(e,f,g,d,r,s)}AGe(i,t.attributes),t.primitiveType===Fe.POINTS&&i.addDefine("PRIMITIVE_TYPE_POINTS"),i.addVertexLines(x2),i.addFragmentLines(y2)};function mGe(e,t,n,i,o,r){let s=e.shaderBuilder,a=Kt.getAttributeInfo(t),c=o&&!r;i>1?gGe(e,t,n,i):_Ge(e,t,n,c),xGe(s,a,c),yGe(s,a),l(t.semantic)&&pGe(s,t),bGe(s,a,o),TGe(s,a,c),CGe(s,a)}function pGe(e,t){let{semantic:n,setIndex:i}=t;switch(n){case St.NORMAL:e.addDefine("HAS_NORMALS");break;case St.TANGENT:e.addDefine("HAS_TANGENTS");break;case St.FEATURE_ID:e.addDefine(`HAS${n}_${i}`);break;case St.TEXCOORD:case St.COLOR:e.addDefine(`HAS_${n}_${i}`)}}function _Ge(e,t,n,i){let{quantization:o,semantic:r,setIndex:s}=t,{type:a,componentDatatype:c}=l(o)?o:t;r===St.FEATURE_ID&&s>=e.featureIdVertexAttributeSetIndex&&(e.featureIdVertexAttributeSetIndex=s+1);let u=r===St.POSITION,f=u?0:n,d=sn.getNumberOfComponents(a),p={index:f,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,count:t.count,componentsPerAttribute:d,componentDatatype:c,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};if(e.attributes.push(p),!u||!i)return;let g=e.runtimePrimitive.positionBuffer2D,m={index:n,vertexBuffer:g,count:t.count,componentsPerAttribute:d,componentDatatype:X.FLOAT,offsetInBytes:0,strideInBytes:void 0,normalize:t.normalized};e.attributes.push(m)}function gGe(e,t,n,i){let{quantization:o,normalized:r}=t,{type:s,componentDatatype:a}=l(o)?o:t,u=sn.getNumberOfComponents(s)/i,f=X.getSizeInBytes(a),d=u*f,p=t.byteStride;for(let g=0;g<i;g++){let m=t.byteOffset+g*d,x={index:n+g,vertexBuffer:t.buffer,componentsPerAttribute:u,componentDatatype:a,offsetInBytes:m,strideInBytes:p,normalize:r};e.attributes.push(x)}}function yGe(e,t){let n=t.variableName,i=`v_${n}`,o;n==="normalMC"?(i="v_normalEC",o=t.glslType):n==="tangentMC"?(o="vec3",i="v_tangentEC"):o=t.glslType,e.addVarying(o,i)}function xGe(e,t,n){let i=t.attribute.semantic,o=t.variableName,r,s;t.isQuantized?(r=`a_quantized_${o}`,s=t.quantizedGlslType):(r=`a_${o}`,s=t.glslType);let a=i===St.POSITION;a?e.setPositionAttribute(s,r):e.addAttribute(s,r),a&&n&&e.addAttribute("vec3","a_position2D")}function bGe(e,t,n){let i=zs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,o=zs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,{variableName:r,glslType:s}=t;r==="tangentMC"?(e.addStructField(i,"vec3","tangentMC"),e.addStructField(i,"float","tangentSignMC"),e.addStructField(o,"vec3","tangentEC")):r==="normalMC"?(e.addStructField(i,"vec3","normalMC"),e.addStructField(o,"vec3","normalEC")):(e.addStructField(i,s,r),e.addStructField(o,s,r)),r==="positionMC"&&n&&e.addStructField(i,"vec3","position2D")}function TGe(e,t,n){let i=zs.FUNCTION_ID_INITIALIZE_ATTRIBUTES,o=t.variableName;if(o==="positionMC"&&n&&e.addFunctionLines(i,["attributes.position2D = a_position2D;"]),t.isQuantized)return;let s=[];o==="tangentMC"?(s.push("attributes.tangentMC = a_tangentMC.xyz;"),s.push("attributes.tangentSignMC = a_tangentMC.w;")):s.push(`attributes.${o} = a_${o};`),e.addFunctionLines(i,s)}function CGe(e,t){let{semantic:n,setIndex:i}=t.attribute;if(l(n)&&!l(i))return;let o=zs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_VS,r=t.variableName,s=`v_${r} = attributes.${r};`;e.addFunctionLines(o,[s]),o=zs.FUNCTION_ID_SET_DYNAMIC_VARYINGS_FS,s=`attributes.${r} = v_${r};`,e.addFunctionLines(o,[s])}function AGe(e,t){let n=!1,i=!1;for(let o=0;o<t.length;o++){let r=t[o];r.semantic===St.NORMAL?n=!0:r.semantic===St.TANGENT&&(i=!0)}!n||!i||(e.addDefine("HAS_BITANGENTS"),e.addVarying("vec3","v_bitangentEC"),e.addStructField(zs.STRUCT_ID_PROCESSED_ATTRIBUTES_VS,"vec3","bitangentMC"),e.addStructField(zs.STRUCT_ID_PROCESSED_ATTRIBUTES_FS,"vec3","bitangentEC"))}var b2=zs;var T2=`#ifdef USE_IBL_LIGHTING +vec3 computeIBL(vec3 position, vec3 normal, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) { - mat4 skinningMatrix = getSkinningMatrix(); - mat3 skinningMatrixMat3 = mat3(skinningMatrix); - - vec4 positionMC = vec4(attributes.positionMC, 1.0); - attributes.positionMC = vec3(skinningMatrix * positionMC); - - #ifdef HAS_NORMALS - vec3 normalMC = attributes.normalMC; - attributes.normalMC = skinningMatrixMat3 * normalMC; + #if defined(DIFFUSE_IBL) || defined(SPECULAR_IBL) + // Environment maps were provided, use them for IBL + vec3 viewDirection = -normalize(position); + vec3 iblColor = textureIBL(viewDirection, normal, material); + return iblColor; #endif + + return vec3(0.0); +} +#endif - #ifdef HAS_TANGENTS - vec3 tangentMC = attributes.tangentMC; - attributes.tangentMC = skinningMatrixMat3 * tangentMC; - #endif -}`;var Tx={name:"SkinningPipelineStage",FUNCTION_ID_GET_SKINNING_MATRIX:"getSkinningMatrix",FUNCTION_SIGNATURE_GET_SKINNING_MATRIX:"mat4 getSkinningMatrix()"};Tx.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_SKINNING",void 0,pe.VERTEX),kGe(n,t);let i=e.runtimeNode,o=i.computedJointMatrices;n.addUniform("mat4",`u_jointMatrices[${o.length}]`,pe.VERTEX),n.addVertexLines(D2);let r={u_jointMatrices:function(){return i.computedJointMatrices}};e.uniformMap=xt(r,e.uniformMap)};function BGe(e){let t=-1,n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];(r.semantic===Ct.JOINTS||r.semantic===Ct.WEIGHTS)&&(t=Math.max(t,r.setIndex))}return t}function kGe(e,t){e.addFunction(Tx.FUNCTION_ID_GET_SKINNING_MATRIX,Tx.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX,pe.VERTEX),e.addFunctionLines(Tx.FUNCTION_ID_GET_SKINNING_MATRIX,["mat4 skinnedMatrix = mat4(0);"]);let i,o,r=["x","y","z","w"],s=BGe(t);for(i=0;i<=s;i++)for(o=0;o<=3;o++){let c=r[o],u=`skinnedMatrix += a_weights_${i}.${c} * u_jointMatrices[int(a_joints_${i}.${c})];`;e.addFunctionLines(Tx.FUNCTION_ID_GET_SKINNING_MATRIX,[u])}e.addFunctionLines(Tx.FUNCTION_ID_GET_SKINNING_MATRIX,["return skinnedMatrix;"])}var I2=Tx;var P2=`void verticalExaggerationStage( - inout ProcessedAttributes attributes -) { - // Compute the distance from the camera to the local center of curvature. - vec4 vertexPositionENU = czm_modelToEnu * vec4(attributes.positionMC, 1.0); - vec2 vertexAzimuth = normalize(vertexPositionENU.xy); - // Curvature = 1 / radius of curvature. - float azimuthalCurvature = dot(vertexAzimuth * vertexAzimuth, czm_eyeEllipsoidCurvature); - float eyeToCenter = 1.0 / azimuthalCurvature + czm_eyeHeight; +#ifdef USE_CLEARCOAT +vec3 addClearcoatReflection(vec3 baseLayerColor, vec3 position, vec3 lightDirection, vec3 lightColorHdr, czm_modelMaterial material) +{ + vec3 viewDirection = -normalize(position); + vec3 halfwayDirection = normalize(viewDirection + lightDirection); + vec3 normal = material.clearcoatNormal; + float NdotL = clamp(dot(normal, lightDirection), 0.001, 1.0); - // Compute the approximate ellipsoid normal at the vertex position. - // Uses a circular approximation for the Earth curvature along the geodesic. - vec3 vertexPositionEC = (czm_modelView * vec4(attributes.positionMC, 1.0)).xyz; - vec3 centerToVertex = eyeToCenter * czm_eyeEllipsoidNormalEC + vertexPositionEC; - vec3 vertexNormal = normalize(centerToVertex); + // clearcoatF0 = vec3(pow((ior - 1.0) / (ior + 1.0), 2.0)), but without KHR_materials_ior, ior is a constant 1.5. + vec3 f0 = vec3(0.04); + vec3 f90 = vec3(1.0); + // Note: clearcoat Fresnel computed with dot(n, v) instead of dot(v, h). + // This is to make it energy conserving with a simple layering function. + float NdotV = clamp(dot(normal, viewDirection), 0.0, 1.0); + vec3 F = fresnelSchlick2(f0, f90, NdotV); - // Estimate the (sine of the) angle between the camera direction and the vertex normal - float verticalDistance = dot(vertexPositionEC, czm_eyeEllipsoidNormalEC); - float horizontalDistance = length(vertexPositionEC - verticalDistance * czm_eyeEllipsoidNormalEC); - float sinTheta = horizontalDistance / (eyeToCenter + verticalDistance); - bool isSmallAngle = clamp(sinTheta, 0.0, 0.05) == sinTheta; + // compute specular reflection from direct lighting + float roughness = material.clearcoatRoughness; + float alphaRoughness = roughness * roughness; + float directStrength = computeDirectSpecularStrength(normal, lightDirection, viewDirection, halfwayDirection, alphaRoughness); + vec3 directReflection = F * directStrength * NdotL; + vec3 color = lightColorHdr * directReflection; - // Approximate the change in height above the ellipsoid, from camera to vertex position. - float exactVersine = 1.0 - dot(czm_eyeEllipsoidNormalEC, vertexNormal); - float smallAngleVersine = 0.5 * sinTheta * sinTheta; - float versine = isSmallAngle ? smallAngleVersine : exactVersine; - float dHeight = dot(vertexPositionEC, vertexNormal) - eyeToCenter * versine; - float vertexHeight = czm_eyeHeight + dHeight; + #ifdef SPECULAR_IBL + // Find the direction in which to sample the environment map + vec3 reflectMC = normalize(model_iblReferenceFrameMatrix * reflect(-viewDirection, normal)); + vec3 iblColor = computeSpecularIBL(reflectMC, NdotV, f0, roughness); + color += iblColor * material.occlusion; + #endif - // Transform the approximate vertex normal to model coordinates. - vec3 vertexNormalMC = (czm_inverseModelView * vec4(vertexNormal, 0.0)).xyz; - vertexNormalMC = normalize(vertexNormalMC); + float clearcoatFactor = material.clearcoatFactor; + vec3 clearcoatColor = color * clearcoatFactor; - // Compute the exaggeration and apply it along the approximate vertex normal. - float stretch = u_verticalExaggerationAndRelativeHeight.x; - float shift = u_verticalExaggerationAndRelativeHeight.y; - float exaggeration = (vertexHeight - shift) * (stretch - 1.0); - attributes.positionMC += exaggeration * vertexNormalMC; -} -`;var _se={name:"VerticalExaggerationPipelineStage"},VGe=new U;_se.process=function(e,t,n){let{shaderBuilder:i,uniformMap:o}=e;i.addVertexLines(P2),i.addDefine("HAS_VERTICAL_EXAGGERATION",void 0,pe.VERTEX),i.addUniform("vec2","u_verticalExaggerationAndRelativeHeight",pe.VERTEX),o.u_verticalExaggerationAndRelativeHeight=function(){return U.fromElements(n.verticalExaggeration,n.verticalExaggerationRelativeHeight,VGe)}};var R2=_se;var bW={};function UGe(e){let t=Be.createTypedArray(e,e*2),n=e,i=0;for(let o=0;o<n;o+=3)t[i++]=o,t[i++]=o+1,t[i++]=o+1,t[i++]=o+2,t[i++]=o+2,t[i++]=o;return t}function zGe(e,t){let n=t.length,i=Be.createTypedArray(e,n*2),o=0;for(let r=0;r<n;r+=3){let s=t[r],a=t[r+1],c=t[r+2];i[o++]=s,i[o++]=a,i[o++]=a,i[o++]=c,i[o++]=c,i[o++]=s}return i}function HGe(e){let t=e-2,n=2+t*4,i=Be.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=r;return i}function GGe(e,t){let i=t.length-2,o=2+i*4,r=Be.createTypedArray(e,o),s=0;r[s++]=t[0],r[s++]=t[1];for(let a=0;a<i;a++){let c=t[a],u=t[a+1],f=t[a+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=c}return r}function WGe(e){let t=e-2,n=2+t*4,i=Be.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=0;return i}function jGe(e,t){let i=t.length-2,o=2+i*4,r=Be.createTypedArray(e,o),s=0,a=t[0];r[s++]=a,r[s++]=t[1];for(let c=0;c<i;c++){let u=t[c+1],f=t[c+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=a}return r}bW.createWireframeIndices=function(e,t,n){let i=l(n);if(e===Fe.TRIANGLES)return i?zGe(t,n):UGe(t);if(e===Fe.TRIANGLE_STRIP)return i?GGe(t,n):HGe(t);if(e===Fe.TRIANGLE_FAN)return i?jGe(t,n):WGe(t)};bW.getWireframeIndicesCount=function(e,t){return e===Fe.TRIANGLES?t*2:e===Fe.TRIANGLE_STRIP||e===Fe.TRIANGLE_FAN?2+(t-2)*4:t};var vv=bW;var gse={name:"WireframePipelineStage"};gse.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_WIREFRAME",void 0,pe.FRAGMENT);let o=e.model,r=qGe(t,e.indices,n);o._pipelineResources.push(r),e.wireframeIndexBuffer=r,o.statistics.addBuffer(r,!1);let a=e.primitiveType,c=e.count;e.primitiveType=Fe.LINES,e.count=vv.getWireframeIndicesCount(a,c)};function qGe(e,t,n){let o=$t.getAttributeBySemantic(e,Ct.POSITION).count,r=n.context.webgl2,s;if(l(t)){let f=t.buffer,d=t.count;l(f)&&r?(s=f.sizeInBytes===d?new Uint8Array(d):Be.createTypedArray(o,d),f.getBufferData(s)):s=t.typedArray}let a=e.primitiveType,c=vv.createWireframeIndices(a,o,s),u=Be.fromSizeInBytes(c.BYTES_PER_ELEMENT);return yt.createIndexBuffer({context:n.context,typedArray:c,usage:Ve.STATIC_DRAW,indexDatatype:u})}var O2=gse;function yse(e){e=y(e,y.EMPTY_OBJECT);let t=e.primitive,n=e.node,i=e.model;this.primitive=t,this.node=n,this.model=i,this.pipelineStages=[],this.drawCommand=void 0,this.boundingSphere=void 0,this.boundingSphere2D=void 0,this.positionBuffer2D=void 0,this.batchLengths=void 0,this.batchOffsets=void 0,this.updateStages=[]}yse.prototype.configurePipeline=function(e){let t=this.pipelineStages;t.length=0;let n=this.primitive,i=this.node,o=this.model,r=o.customShader;if(l(o._marsOptions)&&l(o._marsOptions.customShaders)){let M=Ng.getCache(o._marsOptions.customShaders);for(let L in M)if(Object.prototype.hasOwnProperty.call(M,L)){r=M[L];break}}let s=o.style,a=e.context.webgl2,u=e.mode!==ne.SCENE3D&&!e.scene3DOnly&&o._projectTo2D,f=e.verticalExaggeration!==1&&o.hasVerticalExaggeration,d=l(n.morphTargets)&&n.morphTargets.length>0,p=l(i.skin),g=l(r),x=!(g&&l(r.fragmentShaderText))||r.mode!==Lg.REPLACE_MATERIAL,b=$t.hasQuantizedAttributes(n.attributes),T=o.debugWireframe&&Fe.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),C=o.pointCloudShading,A=l(C)&&C.attenuation,S=l(C)&&C.backFaceCulling,w=n.primitiveType===Fe.POINTS&&(l(s)||A||S),D=o._enableShowOutline&&l(n.outlineCoordinates),O=YGe(o,i,n),R=l(o.classificationType);u&&t.push(v2),t.push(h2),T&&t.push(O2),R&&t.push(JF),d&&t.push(x2),p&&t.push(I2),w&&t.push(C2),b&&t.push(u2),x&&t.push(g2),t.push(gx),t.push(_d),t.push(cf),O.hasPropertyTable&&(t.push(bx),t.push(QF),t.push(n2)),f&&t.push(R2),g&&t.push(l2),t.push(p2),o.allowPicking&&t.push(b2),D&&t.push(S2),t.push(ZF),t.push(w2)};function YGe(e,t,n){let i;return l(t.instances)&&(i=$t.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(i))?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:(i=$t.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),l(i)?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var M2=yse;function TW(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],XGe(this)}Object.defineProperties(TW.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function XGe(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c<o;c++){let u=i[c].index,f=r[u];s.push(f);let d=n[c],p=xse(f,d,new F);a.push(p)}}function xse(e,t,n){let i=F.multiplyTransformation(e.transformToRoot,e.transform,n);return n=F.multiplyTransformation(i,t,n),n}TW.prototype.updateJointMatrices=function(){let e=this._jointMatrices,t=e.length;for(let n=0;n<t;n++){let i=this.joints[n],o=this.inverseBindMatrices[n];e[n]=xse(i,o,e[n])}};var L2=TW;function KGe(){this.pass=void 0,this.alphaCutoff=void 0}var N2=KGe;function $Ge(e){this.shaderBuilder=new ST,this.model=e,this.uniformMap={},this.alphaOptions=new N2,this.renderStateOptions=ze.getState(ze.fromCache({depthTest:{enabled:!0,func:Sc.LESS_OR_EQUAL}})),this.hasSilhouette=!1,this.hasSkipLevelOfDetail=!1}var F2=$Ge;var B2=`void silhouetteStage(inout vec4 color) { - if(model_silhouettePass) { - color = czm_gammaCorrect(model_silhouetteColor); - } -}`;var k2=`void silhouetteStage(in ProcessedAttributes attributes, inout vec4 positionClip) { - #ifdef HAS_NORMALS - if(model_silhouettePass) { - vec3 normal = normalize(czm_normal3D * attributes.normalMC); - normal.x *= czm_projection[0][0]; - normal.y *= czm_projection[1][1]; - positionClip.xy += normal.xy * positionClip.w * model_silhouetteSize * czm_pixelRatio / czm_viewport.z; - } - #endif + // Dim base layer based on transmission loss through clearcoat + return baseLayerColor * (1.0 - clearcoatFactor * F) + clearcoatColor; } -`;var V2={name:"ModelSilhouettePipelineStage"};V2.silhouettesLength=0;V2.process=function(e,t,n){l(t._silhouetteId)||(t._silhouetteId=++V2.silhouettesLength);let i=e.shaderBuilder;i.addDefine("HAS_SILHOUETTE",void 0,pe.BOTH),i.addVertexLines(k2),i.addFragmentLines(B2),i.addUniform("vec4","model_silhouetteColor",pe.FRAGMENT),i.addUniform("float","model_silhouetteSize",pe.VERTEX),i.addUniform("bool","model_silhouettePass",pe.BOTH);let o={model_silhouetteColor:function(){return t.silhouetteColor},model_silhouetteSize:function(){return t.silhouetteSize},model_silhouettePass:function(){return!1}};e.uniformMap=xt(o,e.uniformMap),e.hasSilhouette=!0};var U2=V2;var z2=`void modelSplitterStage() -{ - // Don't split when rendering the shadow map, because it is rendered from - // the perspective of a totally different camera. -#ifndef SHADOW_MAP - if (model_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif -} -`;var H2={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};H2.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,pe.FRAGMENT),i.addFragmentLines(z2);let o={};i.addUniform("float",H2.SPLIT_DIRECTION_UNIFORM_NAME,pe.FRAGMENT),o[H2.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=xt(o,e.uniformMap)};var G2=H2;function ZGe(e,t){this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=We(e.uniformMap),this.alphaOptions=We(e.alphaOptions),this.renderStateOptions=We(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var W2=ZGe;function QGe(e){e=y(e,y.EMPTY_OBJECT),this.lightingModel=y(e.lightingModel,Rp.UNLIT)}var j2=QGe;function JGe(e,t){this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.uniformMap=We(e.uniformMap),this.alphaOptions=We(e.alphaOptions),this.renderStateOptions=We(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;let n=t.primitive;this.count=l(n.indices)?n.indices.count:$t.getAttributeBySemantic(n,"POSITION").count,this.hasPropertyTable=!1,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;let i=$t.getPositionMinMax(n,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=h.clone(i.min,new h),this.positionMax=h.clone(i.max,new h),this.boundingSphere=ae.fromCornerPoints(this.positionMin,this.positionMax,new ae),this.lightingOptions=new j2,this.pickId=void 0}var q2=JGe;function AW(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._command=t,this._model=i,this._runtimePrimitive=n.runtimePrimitive,this._modelMatrix=t.modelMatrix,this._boundingVolume=t.boundingVolume,this._cullFace=t.renderState.cull.face;let o=i.classificationType;this._classificationType=o,this._classifiesTerrain=o!==Vn.CESIUM_3D_TILE,this._classifies3DTiles=o!==Vn.TERRAIN,this._useDebugWireframe=i._enableDebugWireframe&&i.debugWireframe,this._pickId=n.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],i5e(this)}function e5e(e){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:mt.KEEP,zFail:mt.DECREMENT_WRAP,zPass:mt.KEEP},backFunction:e,backOperation:{fail:mt.KEEP,zFail:mt.INCREMENT_WRAP,zPass:mt.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Sc.LESS_OR_EQUAL},depthMask:!1}}var t5e={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND},n5e={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:zt.CLASSIFICATION_MASK},stencilMask:zt.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},Cse=[];function i5e(e){let t=e._command,n=Cse;if(e._useDebugWireframe){t.pass=Se.OPAQUE,n.length=0,n.push(t),e._commandListDebugWireframe=Dv(e,n,e._commandListDebugWireframe);let r=e._commandListDebugWireframe,s=r.length;for(let a=0;a<s;a++){let c=r[a];c.count*=2,c.offset*=2}return}let o=e.model.allowPicking;if(e._classifiesTerrain){let r=Se.TERRAIN_CLASSIFICATION,s=CW(t,r),a=bse(t,r);n.length=0,n.push(s,a),e._commandListTerrain=Dv(e,n,e._commandListTerrain),o&&(e._commandListTerrainPicking=Tse(e,n,e._commandListTerrainPicking))}if(e._classifies3DTiles){let r=Se.CESIUM_3D_TILE_CLASSIFICATION,s=CW(t,r),a=bse(t,r);n.length=0,n.push(s,a),e._commandList3DTiles=Dv(e,n,e._commandList3DTiles),o&&(e._commandList3DTilesPicking=Tse(e,n,e._commandList3DTilesPicking))}}function Dv(e,t,n){let i=e._runtimePrimitive,o=i.batchLengths,r=i.batchOffsets,s=o.length,a=t.length;for(let c=0;c<s;c++){let u=o[c],f=r[c];for(let d=0;d<a;d++){let p=t[d],g=et.shallowClone(p);g.count=u,g.offset=f,n.push(g)}}return n}function CW(e,t){let n=et.shallowClone(e);n.cull=!1,n.pass=t;let i=t===Se.TERRAIN_CLASSIFICATION?zn.ALWAYS:zn.EQUAL,o=e5e(i);return n.renderState=ze.fromCache(o),n}function bse(e,t){let n=et.shallowClone(e);return n.cull=!1,n.pass=t,n.renderState=ze.fromCache(t5e),n}var o5e=[];function Tse(e,t,n){let i=ze.fromCache(n5e),o=t[0],r=t[1],s=et.shallowClone(o);s.cull=!0,s.pickOnly=!0;let a=et.shallowClone(r);a.cull=!0,a.pickOnly=!0,a.renderState=i,a.pickId=e._pickId;let c=o5e;return c.length=0,c.push(s,a),Dv(e,c,n)}Object.defineProperties(AW.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},batchLengths:{get:function(){return this._runtimePrimitive.batchLengths}},batchOffsets:{get:function(){return this._runtimePrimitive.batchOffsets}},model:{get:function(){return this._model}},classificationType:{get:function(){return this._classificationType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix);let t=this._runtimePrimitive.boundingSphere;this._boundingVolume=ae.transform(t,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace=e}}});AW.prototype.pushCommands=function(e,t){let n=e.passes;if(n.render){if(this._useDebugWireframe){t.push.apply(t,this._commandListDebugWireframe);return}if(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrain),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTiles),e.invertClassification&&this._classifies3DTiles){if(this._commandListIgnoreShow.length===0){let o=Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,r=CW(this._command,o),s=Cse;s.length=0,s.push(r),this._commandListIgnoreShow=Dv(this,s,this._commandListIgnoreShow)}t.push.apply(t,this._commandListIgnoreShow)}}return n.pick&&(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrainPicking),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTilesPicking)),t};var Y2=AW;function X2(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._model=i;let o=n.runtimePrimitive;this._runtimePrimitive=o;let r=t.pass===Se.TRANSLUCENT,a=!o.primitive.material.doubleSided&&!r,c=n.hasSilhouette,u=!r&&!c,f=n.hasSkipLevelOfDetail&&!r,d=c;this._command=t,this._modelMatrix=F.clone(t.modelMatrix),this._boundingVolume=ae.clone(t.boundingVolume),this._modelMatrix2D=new F,this._boundingVolume2D=new ae,this._modelMatrix2DDirty=!1,this._backFaceCulling=t.renderState.cull.enabled,this._cullFace=t.renderState.cull.face,this._shadows=i.shadows,this._debugShowBoundingVolume=t.debugShowBoundingVolume,this._usesBackFaceCulling=a,this._needsTranslucentCommand=u,this._needsSkipLevelOfDetailCommands=f,this._needsSilhouetteCommands=d,this._originalCommand=void 0,this._translucentCommand=void 0,this._skipLodBackfaceCommand=void 0,this._skipLodStencilCommand=void 0,this._silhouetteModelCommand=void 0,this._silhouetteColorCommand=void 0,this._derivedCommands=[],this._has2DCommands=!1,r5e(this)}function Op(e){this.command=e.command,this.updateShadows=e.updateShadows,this.updateBackFaceCulling=e.updateBackFaceCulling,this.updateCullFace=e.updateCullFace,this.updateDebugShowBoundingVolume=e.updateDebugShowBoundingVolume,this.is2D=y(e.is2D,!1),this.derivedCommand2D=void 0}Op.clone=function(e){return new Op({command:e.command,updateShadows:e.updateShadows,updateBackFaceCulling:e.updateBackFaceCulling,updateCullFace:e.updateCullFace,updateDebugShowBoundingVolume:e.updateDebugShowBoundingVolume,is2D:e.is2D,derivedCommand2D:e.derivedCommand2D})};function r5e(e){let t=e._command;t.modelMatrix=e._modelMatrix,t.boundingVolume=e._boundingVolume;let n=e._model,i=e._usesBackFaceCulling,o=e._derivedCommands;e._originalCommand=new Op({command:t,updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0,is2D:!1}),o.push(e._originalCommand),e._needsTranslucentCommand&&(e._translucentCommand=new Op({command:d5e(t),updateShadows:!0,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!0}),o.push(e._translucentCommand)),e._needsSkipLevelOfDetailCommands&&(e._skipLodBackfaceCommand=new Op({command:y5e(t),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:i,updateDebugShowBoundingVolume:!1}),e._skipLodStencilCommand=new Op({command:x5e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),o.push(e._skipLodBackfaceCommand),o.push(e._skipLodStencilCommand)),e._needsSilhouetteCommands&&(e._silhouetteModelCommand=new Op({command:h5e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),e._silhouetteColorCommand=new Op({command:m5e(t,n),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!1}),o.push(e._silhouetteModelCommand),o.push(e._silhouetteColorCommand))}Object.defineProperties(X2.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},model:{get:function(){return this._model}},primitiveType:{get:function(){return this._command.primitiveType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix),this._modelMatrix2DDirty=!0,this._boundingVolume=ae.transform(this.runtimePrimitive.boundingSphere,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},shadows:{get:function(){return this._shadows},set:function(e){this._shadows=e,a5e(this)}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){this._backFaceCulling!==e&&(this._backFaceCulling=e,c5e(this))}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,l5e(this))}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolume=e,u5e(this))}}});function s5e(e,t){let n=e._modelMatrix;e._modelMatrix2D=F.clone(n,e._modelMatrix2D),e._modelMatrix2D[13]-=P.sign(n[13])*2*P.PI*t.mapProjection.ellipsoid.maximumRadius,e._boundingVolume2D=ae.transform(e.runtimePrimitive.boundingSphere,e._modelMatrix2D,e._boundingVolume2D)}function a5e(e){let t=e.shadows,n=bn.castShadows(t),i=bn.receiveShadows(t),o=e._derivedCommands;for(let r=0;r<o.length;++r){let s=o[r];if(s.updateShadows){let a=s.command;a.castShadows=n,a.receiveShadows=i}}}function c5e(e){let t=e.backFaceCulling,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateBackFaceCulling){let r=o.command,s=We(r.renderState,!0);s.cull.enabled=t,r.renderState=ze.fromCache(s)}}}function l5e(e){let t=e.cullFace,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateCullFace){let r=o.command,s=We(r.renderState,!0);s.cull.face=t,r.renderState=ze.fromCache(s)}}}function u5e(e){let t=e.debugShowBoundingVolume,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateDebugShowBoundingVolume){let r=o.command;r.debugShowBoundingVolume=t}}}X2.prototype.pushCommands=function(e,t){let n=Ase(this,e);n&&!this._has2DCommands&&(f5e(this),this._has2DCommands=!0,this._modelMatrix2DDirty=!0),this._modelMatrix2DDirty&&(s5e(this,e),this._modelMatrix2DDirty=!1);let i=this.model.styleCommandsNeeded;if(!(this._needsTranslucentCommand&&l(i)&&(i!==Kh.ALL_OPAQUE&&WC(t,this._translucentCommand,n),i===Kh.ALL_TRANSLUCENT))){if(this._needsSkipLevelOfDetailCommands){let{tileset:o,tile:r}=this._model.content;if(o.hasMixedContent){r._finalResolution||WC(o._backfaceCommands,this._skipLodBackfaceCommand,n),p5e(this,r,n),WC(t,this._skipLodStencilCommand,n);return}}if(this._needsSilhouetteCommands){WC(t,this._silhouetteModelCommand,n);return}return WC(t,this._originalCommand,n),t}};X2.prototype.pushSilhouetteCommands=function(e,t){let n=Ase(this,e);return WC(t,this._silhouetteColorCommand,n),t};function WC(e,t,n){e.push(t.command),n&&e.push(t.derivedCommand2D.command)}function Ase(e,t){if(t.mode!==ne.SCENE2D||e.model._projectTo2D)return!1;let i=e.model.sceneGraph._boundingSphere2D,o=i.center.y-i.radius,r=i.center.y+i.radius,s=t.mapProjection.ellipsoid.maximumRadius*P.PI;return o<s&&r>s||o<-s&&r>-s}function GC(e,t){if(!l(t))return;let n=Op.clone(t),i=et.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function f5e(e){GC(e,e._originalCommand),GC(e,e._translucentCommand),GC(e,e._skipLodBackfaceCommand),GC(e,e._skipLodStencilCommand),GC(e,e._silhouetteModelCommand),GC(e,e._silhouetteColorCommand)}function d5e(e){let t=et.shallowClone(e);t.pass=Se.TRANSLUCENT;let n=We(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=fn.ALPHA_BLEND,t.renderState=ze.fromCache(n),t}function h5e(e,t){let n=t._silhouetteId%255,i=et.shallowClone(e),o=We(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:te.ALWAYS,backFunction:te.ALWAYS,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=ze.fromCache(o),i}function m5e(e,t){let n=t._silhouetteId%255,i=et.shallowClone(e),o=We(e.renderState,!0);o.cull.enabled=!1,(e.pass===Se.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=Se.TRANSLUCENT,o.depthMask=!1,o.blending=fn.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:te.NOTEQUAL,backFunction:te.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP}};let s=We(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=ze.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function p5e(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=_5e(o);if(r!==s){let a=g5e(r),c=We(o.renderState,!0);c.stencilTest.reference=a,o.renderState=ze.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function _5e(e){return(e.renderState.stencilTest.reference&zt.SKIP_LOD_MASK)>>>zt.SKIP_LOD_BIT_SHIFT}function g5e(e){return zt.CESIUM_3D_TILE_MASK|e<<zt.SKIP_LOD_BIT_SHIFT}function y5e(e){let t=et.shallowClone(e),n=We(e.renderState,!0);n.cull.enabled=!0,n.cull.face=yi.FRONT,n.colorMask={red:!1,green:!1,blue:!1,alpha:!1},n.polygonOffset={enabled:!0,factor:5,units:5};let i=We(t.uniformMap),o=new U(5,5);return i.u_polygonOffset=function(){return o},t.renderState=ze.fromCache(n),t.uniformMap=i,t.castShadows=!1,t.receiveShadows=!1,t}function x5e(e){let t=et.shallowClone(e),n=We(e.renderState,!0),{stencilTest:i}=n;return i.enabled=!0,i.mask=zt.SKIP_LOD_MASK,i.reference=zt.CESIUM_3D_TILE_MASK,i.frontFunction=zn.GREATER_OR_EQUAL,i.frontOperation.zPass=mt.REPLACE,i.backFunction=zn.GREATER_OR_EQUAL,i.backOperation.zPass=mt.REPLACE,n.stencilMask=zt.CESIUM_3D_TILE_MASK|zt.SKIP_LOD_MASK,t.renderState=ze.fromCache(n),t}var K2=X2;var $2=`precision highp float; - -czm_modelVertexOutput defaultVertexOutput(vec3 positionMC) { - czm_modelVertexOutput vsOutput; - vsOutput.positionMC = positionMC; - vsOutput.pointSize = 1.0; - return vsOutput; -} -void main() +#if defined(LIGHTING_PBR) && defined(HAS_NORMALS) +vec3 computePbrLighting(in czm_modelMaterial material, in vec3 position) { - // Initialize the attributes struct with all - // attributes except quantized ones. - ProcessedAttributes attributes; - initializeAttributes(attributes); - - // Dequantize the quantized ones and add them to the - // attributes struct. - #ifdef USE_DEQUANTIZATION - dequantizationStage(attributes); + #ifdef USE_CUSTOM_LIGHT_COLOR + vec3 lightColorHdr = model_lightColorHdr; + #else + vec3 lightColorHdr = czm_lightColorHdr; #endif - #ifdef HAS_MORPH_TARGETS - morphTargetsStage(attributes); - #endif + vec3 viewDirection = -normalize(position); + vec3 normal = material.normalEC; + vec3 lightDirection = normalize(czm_lightDirectionEC); - #ifdef HAS_SKINNING - skinningStage(attributes); - #endif + vec3 directLighting = czm_pbrLighting(viewDirection, normal, lightDirection, material); + vec3 directColor = lightColorHdr * directLighting; - #ifdef HAS_PRIMITIVE_OUTLINE - primitiveOutlineStage(); + // Accumulate colors from base layer + vec3 color = directColor + material.emissive; + #ifdef USE_IBL_LIGHTING + color += computeIBL(position, normal, lightDirection, lightColorHdr, material); #endif - // Compute the bitangent according to the formula in the glTF spec. - // Normal and tangents can be affected by morphing and skinning, so - // the bitangent should not be computed until their values are finalized. - #ifdef HAS_BITANGENTS - attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC); + #ifdef USE_CLEARCOAT + color = addClearcoatReflection(color, position, lightDirection, lightColorHdr, material); #endif - FeatureIds featureIds; - featureIdStage(featureIds, attributes); + return color; +} +#endif - #ifdef HAS_SELECTED_FEATURE_ID - SelectedFeature feature; - selectedFeatureIdStage(feature, featureIds); - // Handle any show properties that come from the style. - cpuStylingStage(attributes.positionMC, feature); +/** + * Compute the material color under the current lighting conditions. + * All other material properties are passed through so further stages + * have access to them. + * + * @param {czm_modelMaterial} material The material properties from {@MaterialStageFS} + * @param {ProcessedAttributes} attributes + */ +void lightingStage(inout czm_modelMaterial material, ProcessedAttributes attributes) +{ + #ifdef LIGHTING_PBR + #ifdef HAS_NORMALS + vec3 color = computePbrLighting(material, attributes.positionEC); + #else + vec3 color = material.diffuse * material.occlusion + material.emissive; + #endif + // In HDR mode, the frame buffer is in linear color space. The + // post-processing stages (see PostProcessStageCollection) will handle + // tonemapping. However, if HDR is not enabled, we must tonemap else large + // values may be clamped to 1.0 + #ifndef HDR + color = czm_pbrNeutralTonemapping(color); + #endif + #else // unlit + vec3 color = material.diffuse; #endif - #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) - // The scene mode 2D pipeline stage and instancing stage add a different - // model view matrix to accurately project the model to 2D. However, the - // output positions and normals should be transformed by the 3D matrices - // to keep the data the same for the fragment shader. - mat4 modelView = czm_modelView3D; - mat3 normal = czm_normal3D; - #else - // These are used for individual model projection because they will - // automatically change based on the scene mode. - mat4 modelView = czm_modelView; - mat3 normal = czm_normal; + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + // The colors resulting from point cloud styles are adjusted differently. + color = czm_gammaCorrect(color); + #elif !defined(HDR) + // If HDR is not enabled, the frame buffer stores sRGB colors rather than + // linear colors so the linear value must be converted. + color = czm_linearToSrgb(color); #endif - // Update the position for this instance in place - #ifdef HAS_INSTANCING - - // The legacy instance stage is used when rendering i3dm models that - // encode instances transforms in world space, as opposed to glTF models - // that use EXT_mesh_gpu_instancing, where instance transforms are encoded - // in object space. - #ifdef USE_LEGACY_INSTANCING - mat4 instanceModelView; - mat3 instanceModelViewInverseTranspose; - - legacyInstancingStage(attributes, instanceModelView, instanceModelViewInverseTranspose); + material.diffuse = color; +} +`;var EGe={UNLIT:0,PBR:1},Np=Object.freeze(EGe);var cse={name:"LightingPipelineStage"};cse.process=function(e,t){let{model:n,lightingOptions:i,shaderBuilder:o}=e;if(l(n.lightColor)){o.addDefine("USE_CUSTOM_LIGHT_COLOR",void 0,pe.FRAGMENT),o.addUniform("vec3","model_lightColorHdr",pe.FRAGMENT);let s=e.uniformMap;s.model_lightColorHdr=function(){return n.lightColor}}let{lightingModel:r}=i;r===Np.PBR?o.addDefine("LIGHTING_PBR",void 0,pe.FRAGMENT):o.addDefine("LIGHTING_UNLIT",void 0,pe.FRAGMENT),o.addFragmentLines(T2)};var C2=cse;var A2=`// If the style color is white, it implies the feature has not been styled. +bool isDefaultStyleColor(vec3 color) +{ + return all(greaterThan(color, vec3(1.0 - czm_epsilon3))); +} - modelView = instanceModelView; - normal = instanceModelViewInverseTranspose; - #else - instancingStage(attributes); - #endif +vec3 blend(vec3 sourceColor, vec3 styleColor, float styleColorBlend) +{ + vec3 blendColor = mix(sourceColor, styleColor, styleColorBlend); + vec3 color = isDefaultStyleColor(styleColor.rgb) ? sourceColor : blendColor; + return color; +} - #ifdef USE_PICKING - v_pickColor = a_pickColor; - #endif +vec2 computeTextureTransform(vec2 texCoord, mat3 textureTransform) +{ + return vec2(textureTransform * vec3(texCoord, 1.0)); +} +#ifdef HAS_NORMAL_TEXTURE +vec2 getNormalTexCoords() +{ + vec2 texCoord = TEXCOORD_NORMAL; + #ifdef HAS_NORMAL_TEXTURE_TRANSFORM + texCoord = vec2(u_normalTextureTransform * vec3(texCoord, 1.0)); #endif + return texCoord; +} +#endif - Metadata metadata; - MetadataClass metadataClass; - MetadataStatistics metadataStatistics; - metadataStage(metadata, metadataClass, metadataStatistics, attributes); +#if defined(HAS_NORMAL_TEXTURE) || defined(HAS_CLEARCOAT_NORMAL_TEXTURE) +vec3 computeTangent(in vec3 position, in vec2 normalTexCoords) +{ + vec2 tex_dx = dFdx(normalTexCoords); + vec2 tex_dy = dFdy(normalTexCoords); + float determinant = tex_dx.x * tex_dy.y - tex_dy.x * tex_dx.y; + vec3 tangent = tex_dy.t * dFdx(position) - tex_dx.t * dFdy(position); + return tangent / determinant; +} +#endif - #ifdef HAS_VERTICAL_EXAGGERATION - verticalExaggerationStage(attributes); - #endif +#ifdef USE_ANISOTROPY +struct NormalInfo { + vec3 tangent; + vec3 bitangent; + vec3 normal; + vec3 geometryNormal; +}; - #ifdef HAS_CUSTOM_VERTEX_SHADER - czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC); - customShaderStage(vsOutput, attributes, featureIds, metadata, metadataClass, metadataStatistics); +NormalInfo getNormalInfo(ProcessedAttributes attributes) +{ + vec3 geometryNormal = attributes.normalEC; + #ifdef HAS_NORMAL_TEXTURE + vec2 normalTexCoords = getNormalTexCoords(); #endif - // Compute the final position in each coordinate system needed. - // This returns the value that will be assigned to gl_Position. - vec4 positionClip = geometryStage(attributes, modelView, normal); - - // This must go after the geometry stage as it needs v_positionWC - #ifdef HAS_ATMOSPHERE - atmosphereStage(attributes); + #ifdef HAS_BITANGENTS + vec3 tangent = attributes.tangentEC; + vec3 bitangent = attributes.bitangentEC; + #else // Assume HAS_NORMAL_TEXTURE + vec3 tangent = computeTangent(attributes.positionEC, normalTexCoords); + tangent = normalize(tangent - geometryNormal * dot(geometryNormal, tangent)); + vec3 bitangent = normalize(cross(geometryNormal, tangent)); #endif - #ifdef ENABLE_CLIPPING_POLYGONS - modelClippingPolygonsStage(attributes); + #ifdef HAS_NORMAL_TEXTURE + mat3 tbn = mat3(tangent, bitangent, geometryNormal); + vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; + normalSample = 2.0 * normalSample - 1.0; + #ifdef HAS_NORMAL_TEXTURE_SCALE + normalSample.xy *= u_normalTextureScale; + #endif + vec3 normal = normalize(tbn * normalSample); + #else + vec3 normal = geometryNormal; #endif - #ifdef HAS_SILHOUETTE - silhouetteStage(attributes, positionClip); + #ifdef HAS_DOUBLE_SIDED_MATERIAL + if (czm_backFacing()) { + tangent *= -1.0; + bitangent *= -1.0; + normal *= -1.0; + geometryNormal *= -1.0; + } #endif - #ifdef HAS_POINT_CLOUD_SHOW_STYLE - float show = pointCloudShowStylingStage(attributes, metadata); + NormalInfo normalInfo; + normalInfo.tangent = tangent; + normalInfo.bitangent = bitangent; + normalInfo.normal = normal; + normalInfo.geometryNormal = geometryNormal; + + return normalInfo; +} +#endif + +#if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) +vec3 getNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) +{ + vec2 normalTexCoords = getNormalTexCoords(); + + // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set + #ifdef HAS_BITANGENTS + vec3 t = attributes.tangentEC; + vec3 b = attributes.bitangentEC; #else - float show = 1.0; + vec3 t = computeTangent(attributes.positionEC, normalTexCoords); + t = normalize(t - geometryNormal * dot(geometryNormal, t)); + vec3 b = normalize(cross(geometryNormal, t)); #endif - #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING - show *= pointCloudBackFaceCullingStage(); + mat3 tbn = mat3(t, b, geometryNormal); + vec3 normalSample = texture(u_normalTexture, normalTexCoords).rgb; + normalSample = 2.0 * normalSample - 1.0; + #ifdef HAS_NORMAL_TEXTURE_SCALE + normalSample.xy *= u_normalTextureScale; #endif + return normalize(tbn * normalSample); +} +#endif - #ifdef HAS_POINT_CLOUD_COLOR_STYLE - v_pointCloudColor = pointCloudColorStylingStage(attributes, metadata); +#ifdef HAS_CLEARCOAT_NORMAL_TEXTURE +vec3 getClearcoatNormalFromTexture(ProcessedAttributes attributes, vec3 geometryNormal) +{ + vec2 normalTexCoords = TEXCOORD_CLEARCOAT_NORMAL; + #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_TRANSFORM + normalTexCoords = vec2(u_clearcoatNormalTextureTransform * vec3(normalTexCoords, 1.0)); #endif - #ifdef PRIMITIVE_TYPE_POINTS - #ifdef HAS_CUSTOM_VERTEX_SHADER - gl_PointSize = vsOutput.pointSize; - #elif defined(HAS_POINT_CLOUD_POINT_SIZE_STYLE) || defined(HAS_POINT_CLOUD_ATTENUATION) - gl_PointSize = pointCloudPointSizeStylingStage(attributes, metadata); - #else - gl_PointSize = 1.0; - #endif - - gl_PointSize *= show; + // If HAS_BITANGENTS is set, then HAS_TANGENTS is also set + #ifdef HAS_BITANGENTS + vec3 t = attributes.tangentEC; + vec3 b = attributes.bitangentEC; + #else + vec3 t = computeTangent(attributes.positionEC, normalTexCoords); + t = normalize(t - geometryNormal * dot(geometryNormal, t)); + vec3 b = normalize(cross(geometryNormal, t)); #endif - gl_Position = show * positionClip; -} -`;var Z2=` -precision highp float; -czm_modelMaterial defaultModelMaterial() -{ - czm_modelMaterial material; - material.diffuse = vec3(0.0); - material.specular = vec3(1.0); - material.roughness = 1.0; - material.occlusion = 1.0; - material.normalEC = vec3(0.0, 0.0, 1.0); - material.emissive = vec3(0.0); - material.alpha = 1.0; - return material; + mat3 tbn = mat3(t, b, geometryNormal); + vec3 normalSample = texture(u_clearcoatNormalTexture, normalTexCoords).rgb; + normalSample = 2.0 * normalSample - 1.0; + #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE_SCALE + normalSample.xy *= u_clearcoatNormalTextureScale; + #endif + return normalize(tbn * normalSample); } +#endif -vec4 handleAlpha(vec3 color, float alpha) +#ifdef HAS_NORMALS +vec3 computeNormal(ProcessedAttributes attributes) { - #ifdef ALPHA_MODE_MASK - if (alpha < u_alphaCutoff) { - discard; - } + // Geometry normal. This is already normalized + vec3 normal = attributes.normalEC; + + #if defined(HAS_NORMAL_TEXTURE) && !defined(HAS_WIREFRAME) + normal = getNormalFromTexture(attributes, normal); #endif - return vec4(color, alpha); -} + #ifdef HAS_DOUBLE_SIDED_MATERIAL + if (czm_backFacing()) { + normal = -normal; + } + #endif -SelectedFeature selectedFeature; + return normal; +} +#endif -void main() +#ifdef HAS_BASE_COLOR_TEXTURE +vec4 getBaseColorFromTexture() { - #ifdef HAS_MODEL_SPLITTER - modelSplitterStage(); + vec2 baseColorTexCoords = TEXCOORD_BASE_COLOR; + #ifdef HAS_BASE_COLOR_TEXTURE_TRANSFORM + baseColorTexCoords = computeTextureTransform(baseColorTexCoords, u_baseColorTextureTransform); #endif - czm_modelMaterial material = defaultModelMaterial(); - - ProcessedAttributes attributes; - geometryStage(attributes); - - FeatureIds featureIds; - featureIdStage(featureIds, attributes); + vec4 baseColorWithAlpha = czm_srgbToLinear(texture(u_baseColorTexture, baseColorTexCoords)); - Metadata metadata; - MetadataClass metadataClass; - MetadataStatistics metadataStatistics; - metadataStage(metadata, metadataClass, metadataStatistics, attributes); + #ifdef HAS_BASE_COLOR_FACTOR + baseColorWithAlpha *= u_baseColorFactor; + #endif - //======================================================================== - // When not picking metadata START - #ifndef METADATA_PICKING_ENABLED + return baseColorWithAlpha; +} +#endif - #ifdef HAS_SELECTED_FEATURE_ID - selectedFeatureIdStage(selectedFeature, featureIds); +#ifdef HAS_EMISSIVE_TEXTURE +vec3 getEmissiveFromTexture() +{ + vec2 emissiveTexCoords = TEXCOORD_EMISSIVE; + #ifdef HAS_EMISSIVE_TEXTURE_TRANSFORM + emissiveTexCoords = computeTextureTransform(emissiveTexCoords, u_emissiveTextureTransform); #endif - #ifndef CUSTOM_SHADER_REPLACE_MATERIAL - materialStage(material, attributes, selectedFeature); + vec3 emissive = czm_srgbToLinear(texture(u_emissiveTexture, emissiveTexCoords).rgb); + #ifdef HAS_EMISSIVE_FACTOR + emissive *= u_emissiveFactor; #endif - #ifdef HAS_CUSTOM_FRAGMENT_SHADER - customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics); - #endif + return emissive; +} +#endif - lightingStage(material, attributes); +#if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) +void setSpecularGlossiness(inout czm_modelMaterial material) +{ + #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE + vec2 specularGlossinessTexCoords = TEXCOORD_SPECULAR_GLOSSINESS; + #ifdef HAS_SPECULAR_GLOSSINESS_TEXTURE_TRANSFORM + specularGlossinessTexCoords = computeTextureTransform(specularGlossinessTexCoords, u_specularGlossinessTextureTransform); + #endif - #ifdef HAS_SELECTED_FEATURE_ID - cpuStylingStage(material, selectedFeature); - #endif + vec4 specularGlossiness = czm_srgbToLinear(texture(u_specularGlossinessTexture, specularGlossinessTexCoords)); + vec3 specular = specularGlossiness.rgb; + float glossiness = specularGlossiness.a; + #ifdef HAS_LEGACY_SPECULAR_FACTOR + specular *= u_legacySpecularFactor; + #endif - #ifdef HAS_MODEL_COLOR - modelColorStage(material); - #endif + #ifdef HAS_GLOSSINESS_FACTOR + glossiness *= u_glossinessFactor; + #endif + #else + #ifdef HAS_LEGACY_SPECULAR_FACTOR + vec3 specular = clamp(u_legacySpecularFactor, vec3(0.0), vec3(1.0)); + #else + vec3 specular = vec3(1.0); + #endif - #ifdef HAS_PRIMITIVE_OUTLINE - primitiveOutlineStage(material); + #ifdef HAS_GLOSSINESS_FACTOR + float glossiness = clamp(u_glossinessFactor, 0.0, 1.0); + #else + float glossiness = 1.0; + #endif #endif - vec4 color = handleAlpha(material.diffuse, material.alpha); - - // When not picking metadata END - //======================================================================== - #else - //======================================================================== - // When picking metadata START - - vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0); - metadataPickingStage(metadata, metadataClass, metadataValues); - vec4 color = metadataValues; + #ifdef HAS_DIFFUSE_TEXTURE + vec2 diffuseTexCoords = TEXCOORD_DIFFUSE; + #ifdef HAS_DIFFUSE_TEXTURE_TRANSFORM + diffuseTexCoords = computeTextureTransform(diffuseTexCoords, u_diffuseTextureTransform); + #endif + vec4 diffuse = czm_srgbToLinear(texture(u_diffuseTexture, diffuseTexCoords)); + #ifdef HAS_DIFFUSE_FACTOR + diffuse *= u_diffuseFactor; + #endif + #elif defined(HAS_DIFFUSE_FACTOR) + vec4 diffuse = clamp(u_diffuseFactor, vec4(0.0), vec4(1.0)); + #else + vec4 diffuse = vec4(1.0); #endif - // When picking metadata END - //======================================================================== - #ifdef HAS_CLIPPING_PLANES - modelClippingPlanesStage(color); - #endif + material.diffuse = diffuse.rgb * (1.0 - czm_maximumComponent(specular)); + // the specular glossiness extension's alpha overrides anything set + // by the base material. + material.alpha = diffuse.a; - #ifdef ENABLE_CLIPPING_POLYGONS - modelClippingPolygonsStage(); - #endif + material.specular = specular; - //======================================================================== - // When not picking metadata START - #ifndef METADATA_PICKING_ENABLED + // glossiness is the opposite of roughness, but easier for artists to use. + material.roughness = 1.0 - glossiness; +} +#elif defined(LIGHTING_PBR) +float setMetallicRoughness(inout czm_modelMaterial material) +{ + #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE + vec2 metallicRoughnessTexCoords = TEXCOORD_METALLIC_ROUGHNESS; + #ifdef HAS_METALLIC_ROUGHNESS_TEXTURE_TRANSFORM + metallicRoughnessTexCoords = computeTextureTransform(metallicRoughnessTexCoords, u_metallicRoughnessTextureTransform); + #endif - #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS) - silhouetteStage(color); - #endif + vec3 metallicRoughness = texture(u_metallicRoughnessTexture, metallicRoughnessTexCoords).rgb; + float metalness = clamp(metallicRoughness.b, 0.0, 1.0); + float roughness = clamp(metallicRoughness.g, 0.0, 1.0); + #ifdef HAS_METALLIC_FACTOR + metalness = clamp(metalness * u_metallicFactor, 0.0, 1.0); + #endif - #ifdef HAS_ATMOSPHERE - atmosphereStage(color, attributes); - #endif + #ifdef HAS_ROUGHNESS_FACTOR + roughness = clamp(roughness * u_roughnessFactor, 0.0, 1.0); + #endif + #else + #ifdef HAS_METALLIC_FACTOR + float metalness = clamp(u_metallicFactor, 0.0, 1.0); + #else + float metalness = 1.0; + #endif + #ifdef HAS_ROUGHNESS_FACTOR + float roughness = clamp(u_roughnessFactor, 0.0, 1.0); + #else + float roughness = 1.0; + #endif #endif - // When not picking metadata END - //======================================================================== - - out_FragColor = color; -} -`;function Ese(){}Ese.buildModelDrawCommand=function(e,t){let n=e.shaderBuilder,i=b5e(e,n,t),o=T5e(e,i,t),r=e.model;return l(r.classificationType)?new Y2({primitiveRenderResources:e,command:o}):new K2({primitiveRenderResources:e,command:o})};function b5e(e,t,n){t.addVertexLines($2),t.addFragmentLines(Z2);let i=e.model,o=t.buildShaderProgram(n.context);return i._pipelineResources.push(o),o}function T5e(e,t,n){let i=C5e(e),o=new di({context:n.context,indexBuffer:i,attributes:e.attributes}),r=e.model;r._pipelineResources.push(o);let s=e.alphaOptions.pass,a=r.sceneGraph,c=n.mode===ne.SCENE3D,u,f;if(!c&&!n.scene3DOnly&&r._projectTo2D)u=F.multiplyTransformation(a._computedModelMatrix,e.runtimeNode.computedTransform,new F),f=e.runtimePrimitive.boundingSphere2D;else{let T=c?a._computedModelMatrix:a._computedModelMatrix2D;u=F.multiplyTransformation(T,e.runtimeNode.computedTransform,new F),f=ae.transform(e.boundingSphere,u)}let d=We(ze.fromCache(e.renderStateOptions),!0);d.cull.face=$t.getCullFace(u,e.primitiveType),d=ze.fromCache(d);let p=l(r.classificationType),g=p?!1:bn.castShadows(r.shadows),m=p?!1:bn.receiveShadows(r.shadows),x=p?void 0:e.pickId;return new et({boundingVolume:f,modelMatrix:u,uniformMap:e.uniformMap,renderState:d,vertexArray:o,shaderProgram:t,cull:r.cull,pass:s,count:e.count,owner:r,pickId:x,pickMetadataAllowed:!0,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:r.debugShowBoundingVolume,castShadows:g,receiveShadows:m})}function C5e(e){let t=e.wireframeIndexBuffer;if(l(t))return t;let n=e.indices;if(l(n))return n.buffer}var Q2=Ese;function su(e){e=y(e,y.EMPTY_OBJECT);let t=e.modelComponents;this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=F.clone(F.IDENTITY),this._computedModelMatrix2D=F.clone(F.IDENTITY),this._axisCorrectionMatrix=$t.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new F),this._runtimeArticulations={},A5e(this)}Object.defineProperties(su.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function A5e(e){let t=e._components,n=t.scene,o=e._model.modelMatrix;Sse(e,o);let r=t.articulations,s=r.length,a=e._runtimeArticulations;for(let C=0;C<s;C++){let A=r[C],S=new NF({articulation:A,sceneGraph:e}),w=S.name;a[w]=S}let c=t.nodes,u=c.length;e._runtimeNodes=new Array(u);let d=n.nodes.length,p=F.IDENTITY;for(let C=0;C<d;C++){let A=n.nodes[C],S=wse(e,A,p);e._rootNodes.push(S)}let g=t.skins,m=e._runtimeSkins,x=g.length;for(let C=0;C<x;C++){let A=g[C];m.push(new L2({skin:A,sceneGraph:e}))}let b=e._skinnedNodes,T=b.length;for(let C=0;C<T;C++){let A=b[C],S=e._runtimeNodes[A],D=c[A].skin.index;S._runtimeSkin=m[D],S.updateJointMatrices()}e.applyArticulations()}function Sse(e,t){let n=e._components,i=e._model;e._computedModelMatrix=F.multiplyTransformation(t,n.transform,e._computedModelMatrix),e._computedModelMatrix=F.multiplyTransformation(e._computedModelMatrix,e._axisCorrectionMatrix,e._computedModelMatrix),e._computedModelMatrix=F.multiplyByUniformScale(e._computedModelMatrix,i.computedScale,e._computedModelMatrix)}var E5e=new h;function S5e(e,t){let n=e._computedModelMatrix,i=F.getTranslation(n,E5e);if(!h.equals(i,h.ZERO))e._computedModelMatrix2D=Bt.basisTo2D(t.mapProjection,n,e._computedModelMatrix2D);else{let o=e.boundingSphere.center,r=Bt.ellipsoidTo2DModelMatrix(t.mapProjection,o,e._computedModelMatrix2D);e._computedModelMatrix2D=F.multiply(r,n,e._computedModelMatrix2D)}e._boundingSphere2D=ae.transform(e._boundingSphere,e._computedModelMatrix2D,e._boundingSphere2D)}function wse(e,t,n){let i=[],o=$t.getNodeTransform(t),r=t.children.length;for(let f=0;f<r;f++){let d=t.children[f],p=F.multiplyTransformation(n,o,new F),g=wse(e,d,p);i.push(g)}let s=new $F({node:t,transform:o,transformToRoot:n,children:i,sceneGraph:e}),a=t.primitives.length;for(let f=0;f<a;f++)s.runtimePrimitives.push(new M2({primitive:t.primitives[f],node:t,model:e._model}));let c=t.index;e._runtimeNodes[c]=s,l(t.skin)&&e._skinnedNodes.push(c);let u=t.name;if(l(u)){let f=e._model,d=new HF(f,s);f._nodesByName[u]=d}return c}var w5e=new h,v5e=new h,D5e=new h,I5e=new h;su.prototype.buildDrawCommands=function(e){let t=this._model,n=new F2(t);t.statistics.clear(),this.configurePipeline(e);let i=this.modelPipelineStages,o,r,s;for(o=0;o<i.length;o++)i[o].process(n,t,e);let a=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,w5e),c=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,v5e);for(o=0;o<this._runtimeNodes.length;o++){let u=this._runtimeNodes[o];if(!l(u))continue;u.configurePipeline();let f=u.pipelineStages,d=new W2(n,u);for(r=0;r<f.length;r++)f[r].process(d,u.node,e);let p=u.computedTransform;for(r=0;r<u.runtimePrimitives.length;r++){let g=u.runtimePrimitives[r];g.configurePipeline(e);let m=g.pipelineStages,x=new q2(d,g);for(s=0;s<m.length;s++)m[s].process(x,g.primitive,e);g.boundingSphere=ae.clone(x.boundingSphere,new ae);let b=F.multiplyByPoint(p,x.positionMin,D5e),T=F.multiplyByPoint(p,x.positionMax,I5e);h.minimumByComponent(a,b,a),h.maximumByComponent(c,T,c);let C=Q2.buildModelDrawCommand(x,e);g.drawCommand=C}}this._boundingSphere=ae.fromCornerPoints(a,c,new ae),this._boundingSphere=ae.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=ae.transform(this._boundingSphere,this._components.transform,this._boundingSphere),t._boundingSphere=ae.transform(this._boundingSphere,t.modelMatrix,t._boundingSphere),t._initialRadius=t._boundingSphere.radius,t._boundingSphere.radius*=t._clampedScale};su.prototype.configurePipeline=function(e){let t=this.modelPipelineStages;t.length=0;let n=this._model,i=e.fog.enabled&&e.fog.renderable;l(n.color)&&t.push(_x),!l(n.classificationType)&&(n.imageBasedLighting.enabled&&t.push(OF),n.isClippingEnabled()&&t.push(kF),n.isClippingPolygonsEnabled()&&t.push(zF),n.hasSilhouette(e)&&t.push(U2),l(n.splitDirection)&&n.splitDirection!==kr.NONE&&t.push(G2),gr.is3DTiles(n.type)&&t.push(vF),i&&t.push(PF))};su.prototype.update=function(e,t){let n,i,o;for(n=0;n<this._runtimeNodes.length;n++){let r=this._runtimeNodes[n];if(!l(r))continue;for(i=0;i<r.updateStages.length;i++)r.updateStages[i].update(r,this,e);let s=e.mode!==ne.SCENE3D&&this._model._projectTo2D;for(t&&!s&&this.updateJointMatrices(),i=0;i<r.runtimePrimitives.length;i++){let a=r.runtimePrimitives[i];for(o=0;o<a.updateStages.length;o++)a.updateStages[o].update(a,this)}}};su.prototype.updateModelMatrix=function(e,t){Sse(this,e),t.mode!==ne.SCENE3D&&S5e(this,t);let n=this._rootNodes;for(let i=0;i<n.length;i++){let o=this._runtimeNodes[n[i]];o._transformDirty=!0}};su.prototype.updateJointMatrices=function(){let e=this._skinnedNodes,t=e.length;for(let n=0;n<t;n++){let i=e[n];this._runtimeNodes[i].updateJointMatrices()}};function vse(e,t,n,i,o){if(n&&!t.show)return;let r=t.children.length;for(let c=0;c<r;c++){let u=t.getChild(c);vse(e,u,n,i,o)}let s=t.runtimePrimitives,a=s.length;for(let c=0;c<a;c++){let u=s[c];i(u,o)}}function J2(e,t,n,i){let o=e._rootNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s],c=e._runtimeNodes[a];vse(e,c,t,n,i)}}var P5e={backFaceCulling:void 0};su.prototype.updateBackFaceCulling=function(e){let t=P5e;t.backFaceCulling=e,J2(this,!1,R5e,t)};function R5e(e,t){let n=e.drawCommand;n.backFaceCulling=t.backFaceCulling}var O5e={shadowMode:void 0};su.prototype.updateShadows=function(e){let t=O5e;t.shadowMode=e,J2(this,!1,M5e,t)};function M5e(e,t){let n=e.drawCommand;n.shadows=t.shadowMode}var L5e={debugShowBoundingVolume:void 0};su.prototype.updateShowBoundingVolume=function(e){let t=L5e;t.debugShowBoundingVolume=e,J2(this,!1,N5e,t)};function N5e(e,t){let n=e.drawCommand;n.debugShowBoundingVolume=t.debugShowBoundingVolume}var Dse=[],F5e={frameState:void 0,hasSilhouette:void 0};su.prototype.pushDrawCommands=function(e){let t=Dse;t.length=0;let n=F5e;n.hasSilhouette=this._model.hasSilhouette(e),n.frameState=e,J2(this,!0,B5e,n),e.commandList.push.apply(e.commandList,t)};function B5e(e,t){let n=t.frameState,i=t.hasSilhouette,o=n.passes,r=Dse,s=e.drawCommand;s.pushCommands(n,n.commandList),i&&!o.pick&&s.pushSilhouetteCommands(n,r)}su.prototype.setArticulationStage=function(e,t){let n=e.split(" ");if(n.length!==2)return;let i=n[0],o=n[1],r=this._runtimeArticulations[i];l(r)&&r.setArticulationStage(o,t)};su.prototype.applyArticulations=function(){let e=this._runtimeArticulations;for(let t in e)e.hasOwnProperty(t)&&e[t].apply()};var eB=su;function jC(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap=new St}Object.defineProperties(jC.prototype,{batchTexturesByteLength:{get:function(){let e=this._batchTextureIdMap.length,t=this._batchTextureIdMap.values,n=0;for(let i=0;i<e;i++)n+=t[i].byteLength;return n}}});jC.prototype.clear=function(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdSet={},this._batchTextureIdMap.removeAll()};jC.prototype.addBuffer=function(e,t){if(!this._bufferIdSet.hasOwnProperty(e._id)){let n=t?2:1;this.geometryByteLength+=e.sizeInBytes*n}this._bufferIdSet[e._id]=!0};jC.prototype.addTexture=function(e){this._textureIdSet.hasOwnProperty(e._id)||(this.texturesByteLength+=e.sizeInBytes),this._textureIdSet[e._id]=!0};jC.prototype.addBatchTexture=function(e){this._batchTextureIdMap.contains(e._id)||this._batchTextureIdMap.set(e._id,e)};var tB=jC;var Ose=Er($P(),1);var Ise={},Cx=Uint32Array.BYTES_PER_ELEMENT;Ise.parse=function(e,t){t=y(t,0);let n=new Uint8Array(e),i=new DataView(e);t+=Cx;let o=i.getUint32(t,!0);if(o!==1)throw new ce(`Only Point Cloud tile version 1 is supported. Version ${o} is not.`);t+=Cx,t+=Cx;let r=i.getUint32(t,!0);if(r===0)throw new ce("Feature table must have a byte length greater than zero");t+=Cx;let s=i.getUint32(t,!0);t+=Cx;let a=i.getUint32(t,!0);t+=Cx;let c=i.getUint32(t,!0);t+=Cx;let u=Lo(n,t,r);t+=r;let f=new Uint8Array(e,t,s);t+=s;let d,p;a>0&&(d=Lo(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new Yh(u,f),m=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=m,!l(m))throw new ce("Feature table global property: POINTS_LENGTH must be defined");let x=g.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(x)&&(x=h.unpack(x));let b=k5e(g,d);if(b.rtcCenter=x,b.pointsLength=m,!b.hasPositions){let T=V5e(g);b.positions=T,b.hasPositions=b.hasPositions||l(T)}if(!b.hasPositions)throw new ce("Either POSITION or POSITION_QUANTIZED must be defined.");if(!b.hasNormals){let T=z5e(g);b.normals=T,b.hasNormals=b.hasNormals||l(T)}if(!b.hasColors){let T=U5e(g);b.colors=T,b.hasColors=b.hasColors||l(T),b.hasConstantColor=l(b.constantColor),b.isTranslucent=l(T)&&T.isTranslucent}if(!b.hasBatchIds){let T=H5e(g);b.batchIds=T,b.hasBatchIds=b.hasBatchIds||l(T)}if(b.hasBatchIds){let T=g.getGlobalProperty("BATCH_LENGTH");if(!l(T))throw new ce("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");b.batchLength=T}return l(p)&&(p=new Uint8Array(p),b.batchTableJson=d,b.batchTableBinary=p),b};function k5e(e,t){let n=e.json,i,o,r,s=l(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=l(t)&&l(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;l(a)&&(r=a.properties);let c,u,f,d,p;if(l(s)){o=s.properties;let m=s.byteOffset,x=s.byteLength;if(!l(o)||!l(m)||!l(x))throw new ce("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(m,m+x),c=l(o.POSITION),u=l(o.RGB)||l(o.RGBA),f=l(o.NORMAL),d=l(o.BATCH_ID),p=l(o.RGBA)}let g;return l(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:xt(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:u,isTranslucent:p,hasNormals:f,hasBatchIds:d}}function V5e(e){let t=e.json,n;if(l(t.POSITION))return n=e.getPropertyArray("POSITION",X.FLOAT,3),{name:Ct.POSITION,semantic:Ct.POSITION,typedArray:n,isQuantized:!1,componentDatatype:X.FLOAT,type:rn.VEC3};if(l(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(i))throw new ce("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=65535,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(r))throw new ce("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:Ct.POSITION,semantic:Ct.POSITION,typedArray:n,isQuantized:!0,componentDatatype:X.FLOAT,type:rn.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:X.UNSIGNED_SHORT,quantizedType:rn.VEC3}}}function U5e(e){let t=e.json,n;if(l(t.RGBA))return n=e.getPropertyArray("RGBA",X.UNSIGNED_BYTE,4),{name:Ct.COLOR,semantic:Ct.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:rn.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(l(t.RGB))return n=e.getPropertyArray("RGB",X.UNSIGNED_BYTE,3),{name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:rn.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(l(t.RGB565))return n=e.getPropertyArray("RGB565",X.UNSIGNED_SHORT,1),{name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n,componentDatatype:X.FLOAT,type:rn.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(l(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",X.UNSIGNED_BYTE,4),o=i[3],r=H.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:Ct.COLOR,semantic:Ct.COLOR,setIndex:0,constantColor:r,componentDatatype:X.FLOAT,type:rn.VEC4,isQuantized:!1,isTranslucent:s}}}function z5e(e){let t=e.json,n;if(l(t.NORMAL))return n=e.getPropertyArray("NORMAL",X.FLOAT,3),{name:Ct.NORMAL,semantic:Ct.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:X.FLOAT,type:rn.VEC3};if(l(t.NORMAL_OCT16P))return n=e.getPropertyArray("NORMAL_OCT16P",X.UNSIGNED_BYTE,2),{name:Ct.NORMAL,semantic:Ct.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<8)-1,quantizedType:rn.VEC2,quantizedComponentDatatype:X.UNSIGNED_BYTE,componentDatatype:X.FLOAT,type:rn.VEC3}}function H5e(e){let t=e.json;if(l(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",X.UNSIGNED_SHORT,1);return{name:Ct.FEATURE_ID,semantic:Ct.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:X.fromTypedArray(n),type:rn.SCALAR}}}var qC=Ise;var G5e=Tn.Components,W5e=Tn.Scene,j5e=Tn.Node,q5e=Tn.Primitive,Y5e=Tn.Attribute,Pse=Tn.Quantization,X5e=Tn.FeatureIdAttribute,K5e=Tn.Material,$5e=Tn.MetallicRoughness;function Fg(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._error=void 0,this._state=_t.UNLOADED,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(Fg.prototype=Object.create(Yi.prototype),Fg.prototype.constructor=Fg);Object.defineProperties(Fg.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});Fg.prototype.load=function(){if(l(this._promise))return this._promise;this._parsedContent=qC.parse(this._arrayBuffer,this._byteOffset),this._state=_t.PROCESSING,this._promise=Promise.resolve(this)};Fg.prototype.process=function(e){if(l(this._error)){let t=this._error;throw this._error=void 0,t}if(this._state===_t.READY)return!0;if(this._state===_t.PROCESSING){if(l(this._decodePromise))return!1;this._decodePromise=Z5e(this,e.context)}return!1};function Z5e(e,t){let i=e._parsedContent.draco,o;if(l(i)?o=dg.decodePointCloud(i,t):o=Promise.resolve(),!!l(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return l(r)&&Q5e(e,i,r),l6e(e,t),e._state=_t.READY,e}).catch(function(r){e.unload(),e._state=_t.FAILED;let s="Failed to load Draco pnts";e._error=e.getError(s,r)})}function Q5e(e,t,n){e._state=_t.READY;let i=e._parsedContent,o;if(l(n.POSITION)){if(o={name:"POSITION",semantic:Ct.POSITION,typedArray:n.POSITION.array,componentDatatype:X.FLOAT,type:rn.VEC3,isQuantized:!1},l(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,u=h.fromElements(c,c,c),f=h.unpack(a.minValues),d=(1<<a.quantizationBits)-1;o.isQuantized=!0,o.quantizedRange=d,o.quantizedVolumeOffset=f,o.quantizedVolumeScale=u,o.quantizedComponentDatatype=d<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT,o.quantizedType=rn.VEC3}i.positions=o}if(l(n.NORMAL)){if(o={name:"NORMAL",semantic:Ct.NORMAL,typedArray:n.NORMAL.array,componentDatatype:X.FLOAT,type:rn.VEC3,isQuantized:!1,octEncoded:!1,octEncodedZXY:!1},l(n.NORMAL.data.quantization)){let a=(1<<n.NORMAL.data.quantization.quantizationBits)-1;o.quantizedRange=a,o.octEncoded=!0,o.octEncodedZXY=!0,o.quantizedComponentDatatype=X.UNSIGNED_BYTE,o.quantizedType=rn.VEC2}i.normals=o}if(l(n.RGBA)?i.colors={name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n.RGBA.array,componentDatatype:X.UNSIGNED_BYTE,type:rn.VEC4,normalized:!0,isTranslucent:!0}:l(n.RGB)&&(i.colors={name:"COLOR",semantic:Ct.COLOR,setIndex:0,typedArray:n.RGB.array,componentDatatype:X.UNSIGNED_BYTE,type:rn.VEC3,normalized:!0,isTranslucent:!1}),l(n.BATCH_ID)){let a=n.BATCH_ID.array;i.batchIds={name:"_FEATURE_ID",semantic:Ct.FEATURE_ID,setIndex:0,typedArray:a,componentDatatype:X.fromTypedArray(a),type:rn.SCALAR}}let r=i.batchTableJson,s=t.batchTableProperties;for(let a in s)if(s.hasOwnProperty(a)){let c=n[a];l(r)||(r={}),i.hasDracoBatchTable=!0;let u=c.data;r[a]={byteOffset:u.byteOffset,type:J5e(u.componentsPerAttribute),componentType:e6e(u.componentDatatype),typedArray:c.array}}i.batchTableJson=r}function J5e(e){switch(e){case 1:return"SCALAR";case 2:return"VEC2";case 3:return"VEC3";case 4:return"VEC4"}}function e6e(e){switch(e){case te.BYTE:return"BYTE";case te.UNSIGNED_BYTE:return"UNSIGNED_BYTE";case te.SHORT:return"SHORT";case te.UNSIGNED_SHORT:return"UNSIGNED_SHORT";case te.INT:return"INT";case te.UNSIGNED_INT:return"UNSIGNED_INT";case te.DOUBLE:return"DOUBLE";case te.FLOAT:return"FLOAT"}}function Iv(e,t,n){let i=t.typedArray,o;if(t.octEncoded&&(o=new Pse,o.octEncoded=t.octEncoded,o.octEncodedZXY=t.octEncodedZXY,o.normalizationRange=t.quantizedRange,o.type=t.quantizedType,o.componentDatatype=t.quantizedComponentDatatype),t.isQuantized){o=new Pse;let a=t.quantizedRange;o.normalizationRange=a,o.quantizedVolumeOffset=h.ZERO;let c=t.quantizedVolumeScale;o.quantizedVolumeDimensions=c,o.quantizedVolumeStepSize=h.divideByScalar(c,a,new h),o.componentDatatype=t.quantizedComponentDatatype,o.type=t.quantizedType}let r=new Y5e;if(r.name=t.name,r.semantic=t.semantic,r.setIndex=t.setIndex,r.componentDatatype=t.componentDatatype,r.type=t.type,r.normalized=y(t.normalized,!1),r.min=t.min,r.max=t.max,r.quantization=o,t.isRGB565&&(i=Fn.decodeRGB565(i)),l(t.constantColor)){let a=new Array(4);r.constant=H.pack(t.constantColor,a)}else{let a=yt.createVertexBuffer({typedArray:i,context:n,usage:Ve.STATIC_DRAW});a.vertexArrayDestroyable=!1,e._buffers.push(a),r.buffer=a}let s=e._loadAttributesFor2D;return r.semantic===Ct.POSITION&&s&&(r.typedArray=i),r}var Rse,nB;function t6e(e){if(!l(nB)){Rse=new Ose.default(0),nB=new Array(e);for(let t=0;t<e;++t)nB[t]=Rse.random()}return nB}var n6e=new h,i6e=new h,o6e=new h;function r6e(e){let t=e.typedArray,n=20,i=t.length/3,o=Math.min(i,n),r=t6e(n),s=Number.MAX_VALUE,a=-Number.MAX_VALUE,c=h.fromElements(s,s,s,n6e),u=h.fromElements(a,a,a,i6e),f,d,p;if(e.isQuantized)c=h.ZERO,u=e.quantizedVolumeScale;else for(f=0;f<o;++f)d=Math.floor(r[f]*i),p=h.unpack(t,d*3,o6e),h.minimumByComponent(c,p,c),h.maximumByComponent(u,p,u);e.min=h.clone(c),e.max=h.clone(u)}var s6e={name:Ct.COLOR,semantic:Ct.COLOR,setIndex:0,constantColor:H.DARKGRAY,componentDatatype:X.FLOAT,type:rn.VEC4,isQuantized:!1,isTranslucent:!1};function a6e(e,t,n){let i=[],o,r=t.positions;return l(r)&&(r6e(r),o=Iv(e,r,n),o.count=t.pointsLength,i.push(o)),l(t.normals)&&(o=Iv(e,t.normals,n),i.push(o)),l(t.colors)?(o=Iv(e,t.colors,n),i.push(o)):(o=Iv(e,s6e,n),i.push(o)),l(t.batchIds)&&(o=Iv(e,t.batchIds,n),i.push(o)),i}function c6e(e,t){let n=e.batchLength,i=e.pointsLength,o=e.batchTableBinary,r=!l(e.batchIds);if(l(o)||e.hasDracoBatchTable){let s=y(n,i);return Ig({count:s,batchTable:e.batchTableJson,binaryBody:o,parseAsPropertyAttributes:r,customAttributeOutput:t})}return new na({schema:{},propertyTables:[]})}function l6e(e,t){let n=e._parsedContent,i=new $5e;i.metallicFactor=0,i.roughnessFactor=.9;let o=new K5e;o.metallicRoughness=i;let r=n.colors;l(r)&&r.isTranslucent&&(o.alphaMode=Ap.BLEND);let s=!l(n.normals);o.unlit=s;let a=new q5e;if(a.attributes=a6e(e,n,t),a.primitiveType=Fe.POINTS,a.material=o,l(n.batchIds)){let g=new X5e;g.propertyTableId=0,g.setIndex=0,g.positionalLabel="featureId_0",a.featureIds.push(g)}let c=new j5e;c.index=0,c.primitives=[a];let u=new W5e;u.nodes=[c],u.upAxis=Mo.Z,u.forwardAxis=Mo.X;let f=new G5e;f.scene=u,f.nodes=[c];let d=[];f.structuralMetadata=c6e(n,d),d.length>0&&u6e(e,a,d,t),l(n.rtcCenter)&&(f.transform=F.multiplyByTranslation(f.transform,n.rtcCenter,f.transform));let p=n.positions;l(p)&&p.isQuantized&&(f.transform=F.multiplyByTranslation(f.transform,p.quantizedVolumeOffset,f.transform)),e._components=f,e._parsedContent=void 0,e._arrayBuffer=void 0}function u6e(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=yt.createVertexBuffer({typedArray:a.typedArray,context:i,usage:Ve.STATIC_DRAW});c.vertexArrayDestroyable=!1,e._buffers.push(c),a.buffer=c,a.typedArray=void 0,o.push(a)}t.propertyAttributeIds=[0]}Fg.prototype.unload=function(){let e=this._buffers;for(let t=0;t<e.length;t++)e[t].destroy();e.length=0,this._components=void 0,this._parsedContent=void 0,this._arrayBuffer=void 0};var iB=Fg;var f6e=new h,d6e=new h,h6e=new h,m6e=new F,p6e=new F,_6e=new F,g6e=new fe,y6e=new ae;function Pv(e,t,n,i,o,r,s){if(!e._ready||n.mode===ne.MORPHING)return;let a=Number.MAX_VALUE,c=e.sceneGraph,u=c._runtimeNodes;for(let f=0;f<u.length;f++){let d=u[f],p=d.node,g=F.clone(d.computedTransform,m6e),m=F.clone(c.computedModelMatrix,p6e),x=p.instances;l(x)&&x.transformInWorldSpace&&(m=F.multiplyTransformation(e.modelMatrix,c.components.transform,m),g=F.multiplyTransformation(c.axisCorrectionMatrix,d.computedTransform,g));let b=F.multiplyTransformation(m,g,_6e);n.mode!==ne.SCENE3D&&(b=Bt.basisTo2D(n.mapProjection,b,b));let T=[];if(l(x)){let A=x.attributes[0].count,S=x.attributes[0].componentDatatype,w=12,D=d.transformsTypedArray;if(!l(D)){let O=d.instancingTransformsBuffer;l(O)&&n.context.webgl2&&(D=X.createTypedArray(S,A*w),O.getBufferData(D))}if(l(D))for(let O=0;O<A;O++){let R=O*w,M=new F(D[R],D[R+1],D[R+2],D[R+3],D[R+4],D[R+5],D[R+6],D[R+7],D[R+8],D[R+9],D[R+10],D[R+11],0,0,0,1);x.transformInWorldSpace?(F.multiplyTransformation(M,g,M),F.multiplyTransformation(m,M,M)):F.multiplyTransformation(M,b,M),T.push(M)}}T.length===0&&T.push(b);let C=d.runtimePrimitives.length;for(let A=0;A<C;A++){let S=d.runtimePrimitives[A],w=S.primitive;if(l(S.boundingSphere)&&!l(x)){let W=ae.transform(S.boundingSphere,b,y6e),J=Jn.raySphere(t,W);if(!l(J))continue}let D=$t.getAttributeBySemantic(w,Ct.POSITION),O=D.byteOffset,R=D.byteStride,M=D.count;if(!l(w.indices))continue;let L=w.indices.typedArray;if(!l(L)){let W=w.indices.buffer,J=w.indices.count,j=w.indices.indexDatatype;l(W)&&n.context.webgl2&&(j===Be.UNSIGNED_BYTE?L=new Uint8Array(J):j===Be.UNSIGNED_SHORT?L=new Uint16Array(J):j===Be.UNSIGNED_INT&&(L=new Uint32Array(J)),W.getBufferData(L))}let _=D.typedArray,E=D.componentDatatype,v=D.type,I=D.quantization;l(I)&&(E=D.quantization.componentDatatype,v=D.quantization.type);let N=rn.getNumberOfComponents(v),B=X.getSizeInBytes(E),z=!l(_)&&l(R)&&R!==N*B,V=N,G=0;z&&(V=R/B,G=O/B);let k=M*V;if(!l(_)){let W=D.buffer;l(W)&&n.context.webgl2&&(_=X.createTypedArray(E,k),W.getBufferData(_,z?0:O,0,k)),I&&D.normalized&&(_=Fn.dequantize(_,E,v,M))}if(!l(L)||!l(_))return;r=y(r,ee.default),i=y(i,1),o=y(o,0);let Y=L.length;for(let W=0;W<Y;W+=3){let J=L[W],j=L[W+1],$=L[W+2];for(let Q of T){let he=EW(_,J,G,V,I,Q,i,o,r,f6e),ye=EW(_,j,G,V,I,Q,i,o,r,d6e),re=EW(_,$,G,V,I,Q,i,o,r,h6e),_e=Jn.rayTriangleParametric(t,he,ye,re,y(e.backFaceCulling,!0));l(_e)&&_e<a&&_e>=0&&(a=_e)}}}}if(a!==Number.MAX_VALUE){if(s=_n.getPoint(t,a,s),n.mode!==ne.SCENE3D){h.fromElements(s.y,s.z,s.x,s);let f=n.mapProjection,d=f.ellipsoid,p=f.unproject(s,g6e);d.cartographicToCartesian(p,s)}return s}}function EW(e,t,n,i,o,r,s,a,c,u){let f=n+t*i;if(u.x=e[f],u.y=e[f+1],u.z=e[f+2],l(o))if(o.octEncoded){if(u=Fn.octDecodeInRange(u,o.normalizationRange,u),o.octEncodedZXY){let d=u.x;u.x=u.z,u.z=u.y,u.y=d}}else u=h.multiplyComponents(u,o.quantizedVolumeStepSize,u),u=h.add(u,o.quantizedVolumeOffset,u);return u=F.multiplyByPoint(r,u,u),s!==1&&Dr.getPosition(u,c,s,a,u),u}function no(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,gr.GLTF),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=l(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=Z.clone(Z.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new EF(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=H.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,Lc.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,H.RED);this._silhouetteColor=H.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,Se.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new ae,this._initialRadius=void 0,this._heightReference=y(e.heightReference,Ye.NONE),this._heightDirty=this._heightReference!==Ye.NONE,this._removeUpdateHeightCallback=void 0,this._enableVerticalExaggeration=y(e.enableVerticalExaggeration,!0),this._hasVerticalExaggeration=!1,this._clampedModelMatrix=void 0;let o=e.scene;l(o)&&l(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(()=>{this._heightDirty=!0})),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new Sp(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;l(s)&&s.owner===void 0?bs.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=F.clone(F.IDENTITY);let a=e.clippingPolygons;l(a)&&a.owner===void 0?jh.setOwner(a,this,"_clippingPolygons"):this._clippingPolygons=a,this._clippingPolygonsState=0,this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=l(e.imageBasedLighting)?e.imageBasedLighting:new sC,this._shouldDestroyImageBasedLighting=!l(e.imageBasedLighting),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,bn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1),this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===gr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.");let c=e.credit;typeof c=="string"&&(c=new vt(c)),this._credits=[],this._credit=c,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,kr.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,H.BLACK),this._classificationType=e.classificationType,this._statistics=new tB,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this._fogRenderable=void 0,this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._errorEvent=new me,this._readyEvent=new me,this._texturesReadyEvent=new me,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=e.pickObject,this._marsOptions=y(e.marsOptions,{})}function SW(e,t){if(e._errorEvent.numberOfListeners>0){e._errorEvent.raiseEvent(t);return}console.log(t)}function x6e(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r<o;r++){let s=i[r],a=new wF({model:e,propertyTable:s});n.push(a)}return n}function b6e(e,t){let n=t._featureIdLabel,i=t._instanceFeatureIdLabel,o,r,s,a;for(o=0;o<e.nodes.length;o++)if(a=e.nodes[o],l(a.instances)&&(s=$t.getFeatureIdsByLabel(a.instances.featureIds,i),l(s)&&l(s.propertyTableId)))return s.propertyTableId;for(o=0;o<e.nodes.length;o++)for(a=e.nodes[o],r=0;r<a.primitives.length;r++){let c=a.primitives[r],u=$t.getFeatureIdsByLabel(c.featureIds,n);if(l(u))return u.propertyTableId}if(t._featureTables.length===1)return 0}function DW(e,t){if(!l(e)&&!l(t))return!1;if(l(e)!==l(t))return!0;let n=e.alpha,i=t.alpha;return Math.floor(n)!==Math.floor(i)||Math.ceil(n)!==Math.ceil(i)}Object.defineProperties(no.prototype,{ready:{get:function(){return this._ready}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},incrementallyLoadTextures:{get:function(){return y(this._loader.incrementallyLoadTextures,!1)}},texturesReadyEvent:{get:function(){return this._texturesReadyEvent}},loader:{get:function(){return this._loader}},statistics:{get:function(){return this._statistics}},activeAnimations:{get:function(){return this._activeAnimations}},clampAnimations:{get:function(){return this._clampAnimations},set:function(e){this._clampAnimations=e}},cull:{get:function(){return this._cull}},opaquePass:{get:function(){return this._opaquePass}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){e!==this._pointCloudShading&&this.resetDrawCommands(),this._pointCloudShading=e}},customShader:{get:function(){return this._customShader},set:function(e){e!==this._customShader&&this.resetDrawCommands(),this._customShader=e}},sceneGraph:{get:function(){return this._sceneGraph}},content:{get:function(){return this._content}},heightReference:{get:function(){return this._heightReference},set:function(e){e!==this._heightReference&&(this._heightDirty=!0),this._heightReference=e}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition)}},structuralMetadata:{get:function(){return this._sceneGraph.components.structuralMetadata}},featureTableId:{get:function(){return this._featureTableId},set:function(e){this._featureTableId=e}},featureTables:{get:function(){return this._featureTables},set:function(e){this._featureTables=e}},id:{get:function(){return this._id},set:function(e){e!==this._id&&(this._idDirty=!0),this._id=e}},allowPicking:{get:function(){return this._allowPicking}},style:{get:function(){return this._style},set:function(e){this._style=e,this._styleDirty=!0}},color:{get:function(){return this._color},set:function(e){DW(e,this._color)&&this.resetDrawCommands(),this._color=H.clone(e,this._color)}},colorBlendMode:{get:function(){return this._colorBlendMode},set:function(e){this._colorBlendMode=e}},colorBlendAmount:{get:function(){return this._colorBlendAmount},set:function(e){this._colorBlendAmount=e}},silhouetteColor:{get:function(){return this._silhouetteColor},set:function(e){if(!H.equals(e,this._silhouetteColor)){let t=DW(e,this._silhouetteColor);this._silhouetteDirty=this._silhouetteDirty||t}this._silhouetteColor=H.clone(e,this._silhouetteColor)}},silhouetteSize:{get:function(){return this._silhouetteSize},set:function(e){if(e!==this._silhouetteSize){let t=this._silhouetteSize,n=e>0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=l(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return Nse(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===gr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(bs.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){e!==this._clippingPolygons&&(jh.setOwner(e,this,"_clippingPolygons"),this.resetDrawCommands())}},enableVerticalExaggeration:{get:function(){return this._enableVerticalExaggeration},set:function(e){e!==this._enableVerticalExaggeration&&this.resetDrawCommands(),this._enableVerticalExaggeration=e}},hasVerticalExaggeration:{get:function(){return this._hasVerticalExaggeration}},lightColor:{get:function(){return this._lightColor},set:function(e){l(e)!==l(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});no.prototype.getNode=function(e){return this._nodesByName[e]};no.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};no.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};no.prototype.getExtension=function(e){return this._loader.components.extensions[e]};no.prototype.makeStyleDirty=function(){this._styleDirty=!0};no.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var T6e=new F,C6e=new Z,A6e=new F;no.prototype.update=function(e){let t=!1;try{t=E6e(this,e)}catch(n){if(!this._loader.incrementallyLoadTextures&&n.name==="TextureError")SW(this,n);else{let i=$t.getError("model",this._resource,n);SW(this,i)}}if(w6e(this,e),S6e(this,e),v6e(this,e),!this._resourcesLoaded&&t){this._resourcesLoaded=!0;let n=this._loader.components;if(!l(n)){if(this._loader.isUnloaded())return;let r=$t.getError("model",this._resource,new ce("Failed to load model."));SW(r),this._rejectLoad=this._rejectLoad&&this._rejectLoad(r)}let i=n.structuralMetadata;l(i)&&i.propertyTableCount>0&&x6e(this,i);let o=new eB({model:this,modelComponents:n});this._sceneGraph=o,this._gltfCredits=o.components.asset.credits}if(!(!this._resourcesLoaded||e.mode===ne.MORPHING)){if(D6e(this),I6e(this),P6e(this,e),R6e(this),O6e(this,e),M6e(this,e),L6e(this,e),N6e(this,e),F6e(this,e),B6e(this,e),k6e(this,e),this._defaultTexture=e.context.defaultTexture,V6e(this,e),U6e(this,e),z6e(this),H6e(this,e),q6e(this,e),!this._ready){e.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this)});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this)),W6e(this),Y6e(this,e),X6e(this),K6e(this,e)}};function E6e(e,t){return!e._resourcesLoaded||e._loader.incrementallyLoadTextures&&!e._texturesLoaded?(t.afterRender.push(()=>!0),e._loader.process(t)):!0}function S6e(e,t){l(e._customShader)&&e._customShader.update(t)}function w6e(e,t){if(l(e._marsOptions)&&l(e._marsOptions.customShaders)){let n=Ng.getCache(e._marsOptions.customShaders);for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&n[i].update(t)}}function v6e(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function D6e(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;l(n)&&n.propertyTableCount>0&&(e.featureTableId=b6e(t,e),e._styleDirty=!0,e.resetDrawCommands())}function I6e(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function P6e(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r<i;r++)n[r].update(t),n[r].styleCommandsNeededDirty&&(o=!0);o&&Lse(e)}function Lse(e){let t=e.featureTables[e.featureTableId];e._styleCommandsNeeded=Kh.getStyleCommandsNeeded(t.featuresLength,t.batchTexture.translucentFeaturesLength)}function R6e(e){let t=e.pointCloudShading;t.attenuation!==e._attenuation&&(e.resetDrawCommands(),e._attenuation=t.attenuation),t.backFaceCulling!==e._pointCloudBackFaceCulling&&(e.resetDrawCommands(),e._pointCloudBackFaceCulling=t.backFaceCulling)}function O6e(e,t){e._silhouetteDirty&&(Fse(t)&&e.resetDrawCommands(),e._silhouetteDirty=!1)}function M6e(e,t){let n=e.hasSkipLevelOfDetail(t);n!==e._skipLevelOfDetail&&(e.resetDrawCommands(),e._skipLevelOfDetail=n)}function L6e(e,t){let n=0;e.isClippingEnabled()&&(e._clippingPlanes.owner===e&&e._clippingPlanes.update(t),n=e._clippingPlanes.clippingPlanesState),n!==e._clippingPlanesState&&(e.resetDrawCommands(),e._clippingPlanesState=n)}function N6e(e,t){let n=0;e.isClippingPolygonsEnabled()&&(e._clippingPolygons.owner===e&&(e._clippingPolygons.update(t),e._clippingPolygons.queueCommands(t)),n=e._clippingPolygons.clippingPolygonsState),n!==e._clippingPolygonsState&&(e.resetDrawCommands(),e._clippingPolygonsState=n)}function F6e(e,t){t.mode!==e._sceneMode&&(e._projectTo2D?e.resetDrawCommands():e._updateModelMatrix=!0,e._sceneMode=t.mode)}function B6e(e,t){let n=t.fog.enabled&&t.fog.renderable;n!==e._fogRenderable&&(e.resetDrawCommands(),e._fogRenderable=n)}function k6e(e,t){if(e.enableVerticalExaggeration){let n=t.verticalExaggeration!==1;e.hasVerticalExaggeration!==n&&(e.resetDrawCommands(),e._hasVerticalExaggeration=n)}else e.hasVerticalExaggeration&&(e.resetDrawCommands(),e._hasVerticalExaggeration=!1)}function V6e(e,t){e._drawCommandsBuilt||(e.destroyPipelineResources(),e._sceneGraph.buildDrawCommands(t),e._drawCommandsBuilt=!0)}function U6e(e,t){F.equals(e.modelMatrix,e._modelMatrix)||(e._updateModelMatrix=!0,e._modelMatrix=F.clone(e.modelMatrix,e._modelMatrix))}var Bg=new h,wW=new fe;function z6e(e){if(!e._updateModelMatrix&&!e._heightDirty&&e._minimumPixelSize===0)return;l(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);let t=e._scene;if(!l(t)||e.heightReference===Ye.NONE){e._clampedModelMatrix=void 0;return}let n=y(t.ellipsoid,ee.default),i=e.modelMatrix;Bg.x=i[12],Bg.y=i[13],Bg.z=i[14];let o=n.cartesianToCartographic(Bg);if(!l(o)){e._clampedModelMatrix=void 0;return}l(e._clampedModelMatrix)||(e._clampedModelMatrix=F.clone(i,new F)),e._removeUpdateHeightCallback=t.updateHeight(o,Mse(e,n,o),e.heightReference);let r=t.getHeight(o,e.heightReference);if(l(r)){let s=Mse(e,n,o);fe.clone(o,wW),wW.height=r,s(wW)}e._heightDirty=!1,e._updateModelMatrix=!0}function H6e(e,t){if(!e._updateModelMatrix&&e._minimumPixelSize===0)return;let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;Nse(e,n),G6e(e,n,t)}function Nse(e,t){e._clampedScale=l(e._maximumScale)?Math.min(e._scale,e._maximumScale):e._scale,e._boundingSphere.center=h.multiplyByScalar(e._sceneGraph.boundingSphere.center,e._clampedScale,e._boundingSphere.center),e._boundingSphere.radius=e._initialRadius*e._clampedScale,e._boundingSphere=ae.transform(e._boundingSphere,t,e._boundingSphere)}function G6e(e,t,n){let i=e.scale;if(e.minimumPixelSize!==0&&!e._projectTo2D){let o=n.context,r=Math.max(o.drawingBufferWidth,o.drawingBufferHeight);F.getTranslation(t,Bg),e._sceneMode!==ne.SCENE3D&&ki.computeActualEllipsoidPosition(n,Bg,Bg);let s=e._boundingSphere.radius,a=$6e(Bg,s,n),c=1/a;Math.min(c*(2*s),r)<e.minimumPixelSize&&(i=e.minimumPixelSize*a/(2*e._initialRadius))}e._computedScale=l(e.maximumScale)?Math.min(e.maximumScale,i):i}function W6e(e){if(!e._idDirty)return;e._idDirty=!1;let t=e._id,n=e._pickIds,i=n.length;for(let o=0;o<i;++o)n[o].object.id=t}var j6e=new Z(1,0,0,0,0,1,0,-1,0);function q6e(e,t){let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix,i=y(e.referenceMatrix,n),o=t.context,r=e._imageBasedLighting;if(r.useSphericalHarmonicCoefficients||r.useSpecularEnvironmentMaps){let s=C6e,a=T6e;a=F.multiply(o.uniformState.view3D,i,a),s=F.getRotation(a,s),s=Z.transpose(s,s),e._iblReferenceFrameMatrix=Z.multiply(j6e,s,e._iblReferenceFrameMatrix)}if(e.isClippingEnabled()){let s=A6e;s=F.multiply(o.uniformState.view3D,i,s),s=F.multiply(s,e._clippingPlanes.modelMatrix,s),e._clippingPlanesMatrix=F.inverseTranspose(s,e._clippingPlanesMatrix)}}function Y6e(e,t){let n=e._sceneGraph;if(e._updateModelMatrix||e._minimumPixelSize!==0){let o=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;n.updateModelMatrix(o,t),e._updateModelMatrix=!1}e._backFaceCullingDirty&&(n.updateBackFaceCulling(e._backFaceCulling),e._backFaceCullingDirty=!1),e._shadowsDirty&&(n.updateShadows(e._shadows),e._shadowsDirty=!1),e._debugShowBoundingVolumeDirty&&(n.updateShowBoundingVolume(e._debugShowBoundingVolume),e._debugShowBoundingVolumeDirty=!1);let i=!1;l(e.classificationType)||(i=e._userAnimationDirty||e._activeAnimations.update(t)),n.update(t,i),e._userAnimationDirty=!1}function X6e(e){if(!e._showCreditsOnScreenDirty)return;e._showCreditsOnScreenDirty=!1,e._credits.length=0;let t=e._showCreditsOnScreen;if(l(e._credit)){let s=vt.clone(e._credit);s.showOnScreen=s.showOnScreen||t,e._credits.push(s)}let n=e._resourceCredits,i=n.length;for(let s=0;s<i;s++){let a=vt.clone(n[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}let o=e._gltfCredits,r=o.length;for(let s=0;s<r;s++){let a=vt.clone(o[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}}function K6e(e,t){let n=Q6e(e,t),i=e.isInvisible(),o=e.hasSilhouette(t),r=e._show&&e._computedScale!==0&&n&&(!i||o),s=t.passes,a=s.render||s.pick&&e.allowPicking;r&&!e._ignoreCommands&&a&&(J6e(e,t),e._sceneGraph.pushDrawCommands(t))}var vW=new ae;function $6e(e,t,n){return vW.center=e,vW.radius=t,n.camera.getPixelSize(vW,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}var oB=new h;function Mse(e,t,n){return function(i){wT(e.heightReference)&&(i.height+=n.height),t.cartographicToCartesian(i,oB);let o=e._clampedModelMatrix;F.clone(e.modelMatrix,o),o[12]=oB.x,o[13]=oB.y,o[14]=oB.z,e._heightDirty=!0}}var Z6e=new h;function Q6e(e,t){let n=e.distanceDisplayCondition;if(!l(n))return!0;let i=n.near*n.near,o=n.far*n.far,r;if(t.mode===ne.SCENE2D){let a=(t.camera.frustum.right-t.camera.frustum.left)*.5;r=a*a}else{let s=F.getTranslation(e.modelMatrix,Z6e);ki.computeActualEllipsoidPosition(t,s,s),r=h.distanceSquared(s,t.camera.positionWC)}return r>=i&&r<=o}function J6e(e,t){let n=t.creditDisplay,i=e._credits,o=i.length;for(let r=0;r<o;r++)n.addCreditToNextFrame(i[r])}no.prototype.isTranslucent=function(){let e=this.color;return l(e)&&e.alpha>0&&e.alpha<1};no.prototype.isInvisible=function(){let e=this.color;return l(e)&&e.alpha===0};function Fse(e){return e.context.stencilBuffer}no.prototype.hasSilhouette=function(e){return Fse(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!l(this._classificationType)};no.prototype.hasSkipLevelOfDetail=function(e){if(!gr.is3DTiles(this.type))return!1;let t=e.context.stencilBuffer,n=this._content.tileset;return t&&n.isSkippingLevelOfDetail};no.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return l(e)&&e.enabled&&e.length!==0};no.prototype.pick=function(e,t,n,i,o){return Pv(this,e,t,n,i,o)};no.prototype.isClippingPolygonsEnabled=function(){let e=this._clippingPolygons;return l(e)&&e.enabled&&e.length!==0};no.prototype.isDestroyed=function(){return!1};no.prototype.destroy=function(){let e=this._loader;l(e)&&e.destroy();let t=this._featureTables;if(l(t)){let o=t.length;for(let r=0;r<o;r++)t[r].destroy()}this.destroyPipelineResources(),this.destroyModelResources(),l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),l(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0);let n=this._clippingPlanes;l(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0;let i=this._clippingPolygons;l(i)&&!i.isDestroyed()&&i.owner===this&&i.destroy(),this._clippingPolygons=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,ue(this)};no.prototype.destroyPipelineResources=function(){let e=this._pipelineResources;for(let t=0;t<e.length;t++)e[t].destroy();this._pipelineResources.length=0,this._pickIds.length=0};no.prototype.destroyModelResources=function(){let e=this._modelResources;for(let t=0;t<e.length;t++)e[t].destroy();this._modelResources.length=0};no.fromGltfAsync=async function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.url,e.gltf),n={releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},i=y(e.basePath,""),o=ve.createIfNeeded(i);l(t.asset)?(n.gltfJson=t,n.baseResource=o,n.gltfResource=o):t instanceof Uint8Array?(n.typedArray=t,n.baseResource=o,n.gltfResource=o):n.gltfResource=ve.createIfNeeded(t);let r=new vg(n),a=l(e.content)?gr.TILE_GLTF:gr.GLTF,c=n.gltfResource,u=Rv(r,a,e);u.resource=c;try{await r.load()}catch(g){throw r.destroy(),$t.getError("model",c,g)}let f=e.gltfCallback;l(f)&&f(r.gltfJson);let d=new no(u),p=d._resource.credits;if(l(p)){let g=p.length;for(let m=0;m<g;m++)d._resourceCredits.push(vt.clone(p[m]))}return d};no.fromB3dm=async function(e){let t={b3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},n=new uF(t);try{await n.load();let i=Rv(n,gr.TILE_B3DM,e);return new no(i)}catch(i){throw n.destroy(),i}};no.fromPnts=async function(e){let t={arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,loadAttributesFor2D:e.projectTo2D},n=new iB(t);try{await n.load();let i=Rv(n,gr.TILE_PNTS,e);return new no(i)}catch(i){throw n.destroy(),i}};no.fromI3dm=async function(e){let t={i3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline},n=new gF(t);try{await n.load();let i=Rv(n,gr.TILE_I3DM,e);return new no(i)}catch(i){throw n.destroy(),i}};no.fromGeoJson=async function(e){let t={geoJson:e.geoJson},n=new dF(t),i=Rv(n,gr.TILE_GEOJSON,e);return new no(i)};var e9e=new H;no.prototype.applyColorAndShow=function(e){let t=H.clone(this._color,e9e),n=l(e)&&l(e.color),i=l(e)&&l(e.show);this._color=n?e.color.evaluateColor(void 0,this._color):H.clone(H.WHITE,this._color),this._show=i?e.show.evaluate(void 0):!0,DW(t,this._color)&&this.resetDrawCommands()};no.prototype.applyStyle=function(e){let t=this.type===gr.TILE_PNTS,n=l(this.featureTableId)&&this.featureTables[this.featureTableId].featuresLength>0,i=l(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=l(i)&&l(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),Lse(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function Rv(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,enableVerticalExaggeration:n.enableVerticalExaggeration,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,clippingPolygons:n.clippingPolygons,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,enablePick:n.enablePick,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType,pickObject:n.pickObject,marsOptions:n.marsOptions}}var $h=no;function os(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(os.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return l(t)&&l(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(l(t)&&l(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});os.prototype.getExtension=function(e){return this._model.getExtension(e)};os.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};os.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return l(i)?n.featureTables[i].hasProperty(e,t):!1};os.prototype.applyDebugSettings=function(e,t){t=e?t:H.WHITE,this.featuresLength===0?this._model.color=t:l(this.batchTable)&&this.batchTable.setAllColor(t)};os.prototype.applyStyle=function(e){this._model.style=e};os.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,l(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0),l(o)&&l(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o,n._clippingPlanesState=0);let r=e.clippingPolygons;l(r)&&i.clippingPolygonsDirty&&(n._clippingPolygons=r.enabled&&i._isClippedByPolygon?r:void 0),l(r)&&l(n._clippingPolygons)&&n._clippingPolygons!==r&&(n._clippingPolygons=r,n._clippingPolygonsState=0),n.update(t),!this._ready&&n.ready&&(n.activeAnimations.addAll({loop:ou.REPEAT}),this._ready=!0)};os.prototype.isDestroyed=function(){return!1};os.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),ue(this)};os.fromGltf=async function(e,t,n,i){let o=new os(e,t,n),s=Ov(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=await $h.fromGltfAsync(s);return o._model=c,o};os.fromB3dm=async function(e,t,n,i,o){let r=new os(e,t,n),a=Ov(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let u=await $h.fromB3dm(a);return r._model=u,r};os.fromI3dm=async function(e,t,n,i,o){let r=new os(e,t,n),a=Ov(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await $h.fromI3dm(a);return r._model=c,r};os.fromPnts=async function(e,t,n,i,o){let r=new os(e,t,n),a=Ov(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await $h.fromPnts(a);return r._model=c,r};os.fromGeoJson=async function(e,t,n,i){let o=new os(e,t,n),s=Ov(e,t,o,{geoJson:i,resource:n}),a=await $h.fromGeoJson(s);return o._model=a,o};os.prototype.pick=function(e,t,n){if(!l(this._model)||!this._ready)return;let i=t.verticalExaggeration,o=t.verticalExaggerationRelativeHeight;return this._model.pick(e,t,i,o,ee.WGS84,n)};function Ov(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:Se.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enablePick:e._enablePick,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor,marsOptions:e._marsOptions};return xt(i,o)}var Mp=os;function lf(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(lf.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});lf.fromJson=function(e,t,n,i){let o=new lf(e,t,n);return o._tileset.loadTileset(o._resource,i,o._tile),o._ready=!0,o};lf.prototype.hasProperty=function(e,t){return!1};lf.prototype.getFeature=function(e){};lf.prototype.applyDebugSettings=function(e,t){};lf.prototype.applyStyle=function(e){};lf.prototype.update=function(e,t){};lf.prototype.pick=function(e,t,n){};lf.prototype.isDestroyed=function(){return!1};lf.prototype.destroy=function(){return ue(this)};var rB=lf;var sB=`uniform sampler2D u_atlas; - -#ifdef VECTOR_TILE -uniform vec4 u_highlightColor; -#endif - -in vec2 v_textureCoordinates; -in vec4 v_pickColor; -in vec4 v_color; -in float v_splitDirection; -#ifdef SDF -in vec4 v_outlineColor; -in float v_outlineWidth; -#endif + // dielectrics use f0 = 0.04, metals use albedo as f0 + const vec3 REFLECTANCE_DIELECTRIC = vec3(0.04); + vec3 f0 = mix(REFLECTANCE_DIELECTRIC, material.baseColor.rgb, metalness); -#ifdef FRAGMENT_DEPTH_CHECK -in vec4 v_textureCoordinateBounds; // the min and max x and y values for the texture coordinates -in vec4 v_originTextureCoordinateAndTranslate; // texture coordinate at the origin, billboard translate (used for label glyphs) -in vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize -in mat2 v_rotationMatrix; + material.specular = f0; -const float SHIFT_LEFT12 = 4096.0; -const float SHIFT_LEFT1 = 2.0; + // diffuse only applies to dielectrics. + material.diffuse = mix(material.baseColor.rgb, vec3(0.0), metalness); -const float SHIFT_RIGHT12 = 1.0 / 4096.0; -const float SHIFT_RIGHT1 = 1.0 / 2.0; + // This is perceptual roughness. The square of this value is used for direct lighting + material.roughness = roughness; -float getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize) + return metalness; +} +#ifdef USE_SPECULAR +void setSpecular(inout czm_modelMaterial material, in float metalness) { - vec2 lookupVector = imageSize * (depthLookupST - adjustedST); - lookupVector = v_rotationMatrix * lookupVector; - vec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y)); // aligns label glyph with bounding rectangle. Will be zero for billboards because dimensions and imageSize will be equal - - vec2 translation = v_originTextureCoordinateAndTranslate.zw; - - if (applyTranslate) - { - // this is only needed for labels where the horizontal origin is not LEFT - // it moves the label back to where the "origin" should be since all label glyphs are set to HorizontalOrigin.LEFT - translation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0)); - } - - vec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw; - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); - - if (logDepthOrDepth == 0.0) - { - return 0.0; // not on the globe - } + #ifdef HAS_SPECULAR_TEXTURE + vec2 specularTexCoords = TEXCOORD_SPECULAR; + #ifdef HAS_SPECULAR_TEXTURE_TRANSFORM + specularTexCoords = computeTextureTransform(specularTexCoords, u_specularTextureTransform); + #endif + float specularWeight = texture(u_specularTexture, specularTexCoords).a; + #ifdef HAS_SPECULAR_FACTOR + specularWeight *= u_specularFactor; + #endif + #else + #ifdef HAS_SPECULAR_FACTOR + float specularWeight = u_specularFactor; + #else + float specularWeight = 1.0; + #endif + #endif - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); - return eyeCoordinate.z / eyeCoordinate.w; + #ifdef HAS_SPECULAR_COLOR_TEXTURE + vec2 specularColorTexCoords = TEXCOORD_SPECULAR_COLOR; + #ifdef HAS_SPECULAR_COLOR_TEXTURE_TRANSFORM + specularColorTexCoords = computeTextureTransform(specularColorTexCoords, u_specularColorTextureTransform); + #endif + vec3 specularColorSample = texture(u_specularColorTexture, specularColorTexCoords).rgb; + vec3 specularColorFactor = czm_srgbToLinear(specularColorSample); + #ifdef HAS_SPECULAR_COLOR_FACTOR + specularColorFactor *= u_specularColorFactor; + #endif + #else + #ifdef HAS_SPECULAR_COLOR_FACTOR + vec3 specularColorFactor = u_specularColorFactor; + #else + vec3 specularColorFactor = vec3(1.0); + #endif + #endif + material.specularWeight = specularWeight; + vec3 f0 = material.specular; + vec3 dielectricSpecularF0 = min(f0 * specularColorFactor, vec3(1.0)); + material.specular = mix(dielectricSpecularF0, material.baseColor.rgb, metalness); } #endif +#ifdef USE_ANISOTROPY +void setAnisotropy(inout czm_modelMaterial material, in NormalInfo normalInfo) +{ + mat2 rotation = mat2(u_anisotropy.xy, -u_anisotropy.y, u_anisotropy.x); + float anisotropyStrength = u_anisotropy.z; + vec2 direction = vec2(1.0, 0.0); + #ifdef HAS_ANISOTROPY_TEXTURE + vec2 anisotropyTexCoords = TEXCOORD_ANISOTROPY; + #ifdef HAS_ANISOTROPY_TEXTURE_TRANSFORM + anisotropyTexCoords = computeTextureTransform(anisotropyTexCoords, u_anisotropyTextureTransform); + #endif + vec3 anisotropySample = texture(u_anisotropyTexture, anisotropyTexCoords).rgb; + direction = anisotropySample.rg * 2.0 - vec2(1.0); + anisotropyStrength *= anisotropySample.b; + #endif -#ifdef SDF + direction = rotation * direction; + mat3 tbn = mat3(normalInfo.tangent, normalInfo.bitangent, normalInfo.normal); + vec3 anisotropicT = tbn * normalize(vec3(direction, 0.0)); + vec3 anisotropicB = cross(normalInfo.geometryNormal, anisotropicT); -// Get the distance from the edge of a glyph at a given position sampling an SDF texture. -float getDistance(vec2 position) -{ - return texture(u_atlas, position).r; + material.anisotropicT = anisotropicT; + material.anisotropicB = anisotropicB; + material.anisotropyStrength = anisotropyStrength; } - -// Samples the sdf texture at the given position and produces a color based on the fill color and the outline. -vec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing) +#endif +#ifdef USE_CLEARCOAT +void setClearcoat(inout czm_modelMaterial material, in ProcessedAttributes attributes) { - float distance = getDistance(position); - - if (outlineWidth > 0.0) - { - // Don't get the outline edge exceed the SDF_EDGE - float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE); - float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); - vec4 sdfColor = mix(outlineColor, v_color, outlineFactor); - float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance); - return vec4(sdfColor.rgb, sdfColor.a * alpha); - } - else - { - float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); - return vec4(v_color.rgb, v_color.a * alpha); - } + #ifdef HAS_CLEARCOAT_TEXTURE + vec2 clearcoatTexCoords = TEXCOORD_CLEARCOAT; + #ifdef HAS_CLEARCOAT_TEXTURE_TRANSFORM + clearcoatTexCoords = computeTextureTransform(clearcoatTexCoords, u_clearcoatTextureTransform); + #endif + float clearcoatFactor = texture(u_clearcoatTexture, clearcoatTexCoords).r; + #ifdef HAS_CLEARCOAT_FACTOR + clearcoatFactor *= u_clearcoatFactor; + #endif + #else + #ifdef HAS_CLEARCOAT_FACTOR + float clearcoatFactor = u_clearcoatFactor; + #else + // PERFORMANCE_IDEA: this case should turn the whole extension off + float clearcoatFactor = 0.0; + #endif + #endif + + #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE + vec2 clearcoatRoughnessTexCoords = TEXCOORD_CLEARCOAT_ROUGHNESS; + #ifdef HAS_CLEARCOAT_ROUGHNESS_TEXTURE_TRANSFORM + clearcoatRoughnessTexCoords = computeTextureTransform(clearcoatRoughnessTexCoords, u_clearcoatRoughnessTextureTransform); + #endif + float clearcoatRoughness = texture(u_clearcoatRoughnessTexture, clearcoatRoughnessTexCoords).g; + #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR + clearcoatRoughness *= u_clearcoatRoughnessFactor; + #endif + #else + #ifdef HAS_CLEARCOAT_ROUGHNESS_FACTOR + float clearcoatRoughness = u_clearcoatRoughnessFactor; + #else + float clearcoatRoughness = 0.0; + #endif + #endif + + material.clearcoatFactor = clearcoatFactor; + // This is perceptual roughness. The square of this value is used for direct lighting + material.clearcoatRoughness = clearcoatRoughness; + #ifdef HAS_CLEARCOAT_NORMAL_TEXTURE + material.clearcoatNormal = getClearcoatNormalFromTexture(attributes, attributes.normalEC); + #else + material.clearcoatNormal = attributes.normalEC; + #endif } #endif +#endif -void main() +void materialStage(inout czm_modelMaterial material, ProcessedAttributes attributes, SelectedFeature feature) { - if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; - - vec4 color = texture(u_atlas, v_textureCoordinates); + #ifdef USE_ANISOTROPY + NormalInfo normalInfo = getNormalInfo(attributes); + material.normalEC = normalInfo.normal; + #elif defined(HAS_NORMALS) + material.normalEC = computeNormal(attributes); + #endif -#ifdef SDF - float outlineWidth = v_outlineWidth; - vec4 outlineColor = v_outlineColor; + vec4 baseColorWithAlpha = vec4(1.0); + // Regardless of whether we use PBR, set a base color + #ifdef HAS_BASE_COLOR_TEXTURE + baseColorWithAlpha = getBaseColorFromTexture(); + #elif defined(HAS_BASE_COLOR_FACTOR) + baseColorWithAlpha = u_baseColorFactor; + #endif - // Get the current distance - float distance = getDistance(v_textureCoordinates); + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + baseColorWithAlpha = v_pointCloudColor; + #elif defined(HAS_COLOR_0) + vec4 color = attributes.color_0; + // .pnts files store colors in the sRGB color space + #ifdef HAS_SRGB_COLOR + color = czm_srgbToLinear(color); + #endif + baseColorWithAlpha *= color; + #endif -#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) - float smoothing = fwidth(distance); - // Get an offset that is approximately half the distance to the neighbor pixels - // 0.354 is approximately half of 1/sqrt(2) - vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates)); + #ifdef USE_CPU_STYLING + baseColorWithAlpha.rgb = blend(baseColorWithAlpha.rgb, feature.color.rgb, model_colorBlend); + #endif + material.baseColor = baseColorWithAlpha; + material.diffuse = baseColorWithAlpha.rgb; + material.alpha = baseColorWithAlpha.a; - // Sample the center point - vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); + #ifdef HAS_OCCLUSION_TEXTURE + vec2 occlusionTexCoords = TEXCOORD_OCCLUSION; + #ifdef HAS_OCCLUSION_TEXTURE_TRANSFORM + occlusionTexCoords = computeTextureTransform(occlusionTexCoords, u_occlusionTextureTransform); + #endif + material.occlusion = texture(u_occlusionTexture, occlusionTexCoords).r; + #endif - // Sample the 4 neighbors - vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); - vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); - vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); - vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + #ifdef HAS_EMISSIVE_TEXTURE + material.emissive = getEmissiveFromTexture(); + #elif defined(HAS_EMISSIVE_FACTOR) + material.emissive = u_emissiveFactor; + #endif - // Equally weight the center sample and the 4 neighboring samples - color = (center + color1 + color2 + color3 + color4)/5.0; -#else - // If no derivatives available (IE 10?), just do a single sample - float smoothing = 1.0/32.0; - color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); -#endif + #if defined(LIGHTING_PBR) && defined(USE_SPECULAR_GLOSSINESS) + setSpecularGlossiness(material); + #elif defined(LIGHTING_PBR) + float metalness = setMetallicRoughness(material); + #ifdef USE_SPECULAR + setSpecular(material, metalness); + #endif + #ifdef USE_ANISOTROPY + setAnisotropy(material, normalInfo); + #endif + #ifdef USE_CLEARCOAT + setClearcoat(material, attributes); + #endif + #endif +} +`;var{Material:SGe,MetallicRoughness:TW,SpecularGlossiness:CW,Specular:lse,Clearcoat:use}=Tn,fse={name:"MaterialPipelineStage",_processTexture:Tl,_processTextureTransform:dse};fse.process=function(e,t,n){let i=t.material,{model:o,uniformMap:r,shaderBuilder:s}=e,a=l(o.classificationType),c=a,{defaultTexture:u,defaultNormalTexture:f,defaultEmissiveTexture:d}=n.context;wGe(i,r,s,u,f,d,c),l(i.specularGlossiness)?DGe(i.specularGlossiness,r,s,u,c):(l(i.specular)&&Kt.supportedExtensions.KHR_materials_specular&&IGe(i.specular,r,s,u,c),l(i.anisotropy)&&Kt.supportedExtensions.KHR_materials_anisotropy&&OGe(i.anisotropy,r,s,u,c),l(i.clearcoat)&&Kt.supportedExtensions.KHR_materials_clearcoat&&RGe(i.clearcoat,r,s,u,c),MGe(i.metallicRoughness,r,s,u,c));let p=Kt.getAttributeBySemantic(t,St.NORMAL),g=e.lightingOptions;i.unlit||!p||a?g.lightingModel=Np.UNLIT:g.lightingModel=Np.PBR;let m=o.backFaceCulling&&!i.doubleSided;e.renderStateOptions.cull.enabled=m;let x=e.alphaOptions;i.alphaMode===wp.BLEND?x.pass=ve.TRANSLUCENT:i.alphaMode===wp.MASK&&(x.alphaCutoff=i.alphaCutoff),s.addFragmentLines(A2),i.doubleSided&&s.addDefine("HAS_DOUBLE_SIDED_MATERIAL",void 0,pe.BOTH)};function dse(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_TRANSFORM`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Transform`;e.addUniform("mat3",s,pe.FRAGMENT),t[s]=function(){return n.transform}}function vGe(e,t,n,i,o){let r=`HAS_${o}_TEXTURE_SCALE`;e.addDefine(r,void 0,pe.FRAGMENT);let s=`${i}Scale`;e.addUniform("float",s,pe.FRAGMENT),t[s]=function(){return n.scale}}function Tl(e,t,n,i,o,r){e.addUniform("sampler2D",i,pe.FRAGMENT),t[i]=function(){return y(n.texture,r)};let s=`HAS_${o}_TEXTURE`;e.addDefine(s,void 0,pe.FRAGMENT);let c=`v_texCoord_${n.texCoord}`,u=`TEXCOORD_${o}`;e.addDefine(u,c,pe.FRAGMENT);let f=n.transform;l(f)&&!$.equals(f,$.IDENTITY)&&dse(e,t,n,i,o);let{scale:d}=n;l(d)&&d!==1&&vGe(e,t,n,i,o)}function wGe(e,t,n,i,o,r,s){let{emissiveFactor:a,emissiveTexture:c,normalTexture:u,occlusionTexture:f}=e;l(a)&&!h.equals(a,SGe.DEFAULT_EMISSIVE_FACTOR)&&(n.addUniform("vec3","u_emissiveFactor",pe.FRAGMENT),t.u_emissiveFactor=function(){return e.emissiveFactor},n.addDefine("HAS_EMISSIVE_FACTOR",void 0,pe.FRAGMENT),l(c)&&!s&&Tl(n,t,c,"u_emissiveTexture","EMISSIVE",r)),l(u)&&!s&&Tl(n,t,u,"u_normalTexture","NORMAL",o),l(f)&&!s&&Tl(n,t,f,"u_occlusionTexture","OCCLUSION",i)}function DGe(e,t,n,i,o){let{diffuseTexture:r,diffuseFactor:s,specularGlossinessTexture:a,specularFactor:c,glossinessFactor:u}=e;n.addDefine("USE_SPECULAR_GLOSSINESS",void 0,pe.FRAGMENT),l(r)&&!o&&Tl(n,t,r,"u_diffuseTexture","DIFFUSE",i),l(s)&&!oe.equals(s,CW.DEFAULT_DIFFUSE_FACTOR)&&(n.addUniform("vec4","u_diffuseFactor",pe.FRAGMENT),t.u_diffuseFactor=function(){return e.diffuseFactor},n.addDefine("HAS_DIFFUSE_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&Tl(n,t,a,"u_specularGlossinessTexture","SPECULAR_GLOSSINESS",i),l(c)&&!h.equals(c,CW.DEFAULT_SPECULAR_FACTOR)&&(n.addUniform("vec3","u_legacySpecularFactor",pe.FRAGMENT),t.u_legacySpecularFactor=function(){return e.specularFactor},n.addDefine("HAS_LEGACY_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(u)&&u!==CW.DEFAULT_GLOSSINESS_FACTOR&&(n.addUniform("float","u_glossinessFactor",pe.FRAGMENT),t.u_glossinessFactor=function(){return e.glossinessFactor},n.addDefine("HAS_GLOSSINESS_FACTOR",void 0,pe.FRAGMENT))}function IGe(e,t,n,i,o){let{specularTexture:r,specularFactor:s,specularColorTexture:a,specularColorFactor:c}=e;n.addDefine("USE_SPECULAR",void 0,pe.FRAGMENT),l(r)&&!o&&Tl(n,t,r,"u_specularTexture","SPECULAR",i),l(s)&&s!==lse.DEFAULT_SPECULAR_FACTOR&&(n.addUniform("float","u_specularFactor",pe.FRAGMENT),t.u_specularFactor=function(){return e.specularFactor},n.addDefine("HAS_SPECULAR_FACTOR",void 0,pe.FRAGMENT)),l(a)&&!o&&Tl(n,t,a,"u_specularColorTexture","SPECULAR_COLOR",i),l(c)&&!h.equals(c,lse.DEFAULT_SPECULAR_COLOR_FACTOR)&&(n.addUniform("vec3","u_specularColorFactor",pe.FRAGMENT),t.u_specularColorFactor=function(){return e.specularColorFactor},n.addDefine("HAS_SPECULAR_COLOR_FACTOR",void 0,pe.FRAGMENT))}var PGe=new h;function OGe(e,t,n,i,o){let{anisotropyStrength:r,anisotropyRotation:s,anisotropyTexture:a}=e;n.addDefine("USE_ANISOTROPY",void 0,pe.FRAGMENT),l(a)&&!o&&Tl(n,t,a,"u_anisotropyTexture","ANISOTROPY",i);let c=Math.cos(s),u=Math.sin(s);n.addUniform("vec3","u_anisotropy",pe.FRAGMENT),t.u_anisotropy=function(){return h.fromElements(c,u,r,PGe)}}function RGe(e,t,n,i,o){let{clearcoatFactor:r,clearcoatTexture:s,clearcoatRoughnessFactor:a,clearcoatRoughnessTexture:c,clearcoatNormalTexture:u}=e;n.addDefine("USE_CLEARCOAT",void 0,pe.FRAGMENT),l(r)&&r!==use.DEFAULT_CLEARCOAT_FACTOR&&(n.addUniform("float","u_clearcoatFactor",pe.FRAGMENT),t.u_clearcoatFactor=function(){return e.clearcoatFactor},n.addDefine("HAS_CLEARCOAT_FACTOR",void 0,pe.FRAGMENT)),l(s)&&!o&&Tl(n,t,s,"u_clearcoatTexture","CLEARCOAT",i),l(a)&&r!==use.DEFAULT_CLEARCOAT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_clearcoatRoughnessFactor",pe.FRAGMENT),t.u_clearcoatRoughnessFactor=function(){return e.clearcoatRoughnessFactor},n.addDefine("HAS_CLEARCOAT_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT)),l(c)&&!o&&Tl(n,t,c,"u_clearcoatRoughnessTexture","CLEARCOAT_ROUGHNESS",i),l(u)&&!o&&Tl(n,t,u,"u_clearcoatNormalTexture","CLEARCOAT_NORMAL",i)}function MGe(e,t,n,i,o){n.addDefine("USE_METALLIC_ROUGHNESS",void 0,pe.FRAGMENT);let r=e.baseColorTexture;l(r)&&!o&&Tl(n,t,r,"u_baseColorTexture","BASE_COLOR",i);let s=e.baseColorFactor;l(s)&&!oe.equals(s,TW.DEFAULT_BASE_COLOR_FACTOR)&&(n.addUniform("vec4","u_baseColorFactor",pe.FRAGMENT),t.u_baseColorFactor=function(){return e.baseColorFactor},n.addDefine("HAS_BASE_COLOR_FACTOR",void 0,pe.FRAGMENT));let a=e.metallicRoughnessTexture;l(a)&&!o&&Tl(n,t,a,"u_metallicRoughnessTexture","METALLIC_ROUGHNESS",i);let c=e.metallicFactor;l(c)&&c!==TW.DEFAULT_METALLIC_FACTOR&&(n.addUniform("float","u_metallicFactor",pe.FRAGMENT),t.u_metallicFactor=function(){return e.metallicFactor},n.addDefine("HAS_METALLIC_FACTOR",void 0,pe.FRAGMENT));let u=e.roughnessFactor;l(u)&&u!==TW.DEFAULT_ROUGHNESS_FACTOR&&(n.addUniform("float","u_roughnessFactor",pe.FRAGMENT),t.u_roughnessFactor=function(){return e.roughnessFactor},n.addDefine("HAS_ROUGHNESS_FACTOR",void 0,pe.FRAGMENT))}var E2=fse;var Vc={name:"MetadataPickingPipelineStage",METADATA_PICKING_ENABLED:"METADATA_PICKING_ENABLED",METADATA_PICKING_VALUE_TYPE:"METADATA_PICKING_VALUE_TYPE",METADATA_PICKING_VALUE_STRING:"METADATA_PICKING_VALUE_STRING",METADATA_PICKING_VALUE_COMPONENT_X:"METADATA_PICKING_VALUE_COMPONENT_X",METADATA_PICKING_VALUE_COMPONENT_Y:"METADATA_PICKING_VALUE_COMPONENT_Y",METADATA_PICKING_VALUE_COMPONENT_Z:"METADATA_PICKING_VALUE_COMPONENT_Z",METADATA_PICKING_VALUE_COMPONENT_W:"METADATA_PICKING_VALUE_COMPONENT_W"};Vc.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine(Vc.METADATA_PICKING_VALUE_TYPE,"float",pe.FRAGMENT),i.addDefine(Vc.METADATA_PICKING_VALUE_STRING,"0.0",pe.FRAGMENT),i.addDefine(Vc.METADATA_PICKING_VALUE_COMPONENT_X,"0.0",pe.FRAGMENT),i.addDefine(Vc.METADATA_PICKING_VALUE_COMPONENT_Y,"0.0",pe.FRAGMENT),i.addDefine(Vc.METADATA_PICKING_VALUE_COMPONENT_Z,"0.0",pe.FRAGMENT),i.addDefine(Vc.METADATA_PICKING_VALUE_COMPONENT_W,"0.0",pe.FRAGMENT),i.addFunction("metadataPickingStage","void metadataPickingStage(Metadata metadata, MetadataClass metadataClass, inout vec4 metadataValues)",pe.FRAGMENT),i.addFunctionLines("metadataPickingStage",[`${Vc.METADATA_PICKING_VALUE_TYPE} value = ${Vc.METADATA_PICKING_VALUE_TYPE}(${Vc.METADATA_PICKING_VALUE_STRING});`,`metadataValues.x = ${Vc.METADATA_PICKING_VALUE_COMPONENT_X};`,`metadataValues.y = ${Vc.METADATA_PICKING_VALUE_COMPONENT_Y};`,`metadataValues.z = ${Vc.METADATA_PICKING_VALUE_COMPONENT_Z};`,`metadataValues.w = ${Vc.METADATA_PICKING_VALUE_COMPONENT_W};`],pe.FRAGMENT)};var df=Vc;var S2=`void morphTargetsStage(inout ProcessedAttributes attributes) +{ + vec3 positionMC = attributes.positionMC; + attributes.positionMC = getMorphedPosition(positionMC); - color = czm_gammaCorrect(color); -#else - color = czm_gammaCorrect(color); - color *= czm_gammaCorrect(v_color); -#endif + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = getMorphedNormal(normalMC); + #endif -// Fully transparent parts of the billboard are not pickable. -#if !defined(OPAQUE) && !defined(TRANSLUCENT) - if (color.a < 0.005) // matches 0/255 and 1/255 - { - discard; - } -#else -// The billboard is rendered twice. The opaque pass discards translucent fragments -// and the translucent pass discards opaque fragments. -#ifdef OPAQUE - if (color.a < 0.995) // matches < 254/255 - { - discard; - } -#else - if (color.a >= 0.995) // matches 254/255 and 255/255 - { - discard; - } -#endif + #ifdef HAS_TANGENTS + vec3 tangentMC = attributes.tangentMC; + attributes.tangentMC = getMorphedTangent(tangentMC); + #endif +}`;var Pa={name:"MorphTargetsPipelineStage",FUNCTION_ID_GET_MORPHED_POSITION:"getMorphedPosition",FUNCTION_SIGNATURE_GET_MORPHED_POSITION:"vec3 getMorphedPosition(in vec3 position)",FUNCTION_ID_GET_MORPHED_NORMAL:"getMorphedNormal",FUNCTION_SIGNATURE_GET_MORPHED_NORMAL:"vec3 getMorphedNormal(in vec3 normal)",FUNCTION_ID_GET_MORPHED_TANGENT:"getMorphedTangent",FUNCTION_SIGNATURE_GET_MORPHED_TANGENT:"vec3 getMorphedTangent(in vec3 tangent)"};Pa.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_MORPH_TARGETS",void 0,pe.VERTEX),VGe(n);let i=t.morphTargets.length;for(let a=0;a<i;a++){let c=t.morphTargets[a].attributes,u=c.length;for(let f=0;f<u;f++){let d=c[f],p=d.semantic;p!==St.POSITION&&p!==St.NORMAL&&p!==St.TANGENT||(NGe(e,d,e.attributeIndex,a),e.attributeIndex++)}}UGe(n);let r=e.runtimeNode.morphWeights.length;n.addUniform("float",`u_morphWeights[${r}]`,pe.VERTEX),n.addVertexLines(S2);let s={u_morphWeights:function(){return e.runtimeNode.morphWeights}};e.uniformMap=Ct(s,e.uniformMap)};var LGe={attributeString:void 0,functionId:void 0};function NGe(e,t,n,i){let o=e.shaderBuilder;FGe(e,t,n);let r=BGe(t,LGe);kGe(o,r,i)}function FGe(e,t,n){let i={index:n,value:l(t.buffer)?void 0:t.constant,vertexBuffer:t.buffer,componentsPerAttribute:sn.getNumberOfComponents(t.type),componentDatatype:t.componentDatatype,offsetInBytes:t.byteOffset,strideInBytes:t.byteStride,normalize:t.normalized};e.attributes.push(i)}function BGe(e,t){switch(e.semantic){case St.POSITION:t.attributeString="Position",t.functionId=Pa.FUNCTION_ID_GET_MORPHED_POSITION;break;case St.NORMAL:t.attributeString="Normal",t.functionId=Pa.FUNCTION_ID_GET_MORPHED_NORMAL;break;case St.TANGENT:t.attributeString="Tangent",t.functionId=Pa.FUNCTION_ID_GET_MORPHED_TANGENT;break;default:break}return t}function kGe(e,t,n){let i=t.attributeString,o=`a_target${i}_${n}`,r=`morphed${i} += u_morphWeights[${n}] * a_target${i}_${n};`;e.addAttribute("vec3",o),e.addFunctionLines(t.functionId,[r])}function VGe(e){e.addFunction(Pa.FUNCTION_ID_GET_MORPHED_POSITION,Pa.FUNCTION_SIGNATURE_GET_MORPHED_POSITION,pe.VERTEX),e.addFunctionLines(Pa.FUNCTION_ID_GET_MORPHED_POSITION,["vec3 morphedPosition = position;"]),e.addFunction(Pa.FUNCTION_ID_GET_MORPHED_NORMAL,Pa.FUNCTION_SIGNATURE_GET_MORPHED_NORMAL,pe.VERTEX),e.addFunctionLines(Pa.FUNCTION_ID_GET_MORPHED_NORMAL,["vec3 morphedNormal = normal;"]),e.addFunction(Pa.FUNCTION_ID_GET_MORPHED_TANGENT,Pa.FUNCTION_SIGNATURE_GET_MORPHED_TANGENT,pe.VERTEX),e.addFunctionLines(Pa.FUNCTION_ID_GET_MORPHED_TANGENT,["vec3 morphedTangent = tangent;"])}function UGe(e){e.addFunctionLines(Pa.FUNCTION_ID_GET_MORPHED_POSITION,["return morphedPosition;"]),e.addFunctionLines(Pa.FUNCTION_ID_GET_MORPHED_NORMAL,["return morphedNormal;"]),e.addFunctionLines(Pa.FUNCTION_ID_GET_MORPHED_TANGENT,["return morphedTangent;"])}var v2=Pa;var hse={name:"PickingPipelineStage"};hse.process=function(e,t,n){let i=n.context,o=e.runtimeNode,r=e.shaderBuilder,s=e.model,a=o.node.instances;if(e.hasPropertyTable)zGe(e,t,a,i);else if(l(a))HGe(e,i);else{let c=mse(e),u=i.createPickId(c);s._pipelineResources.push(u),s._pickIds.push(u),r.addUniform("vec4","czm_pickColor",pe.FRAGMENT);let f=e.uniformMap;f.czm_pickColor=function(){return u.color},e.pickId="czm_pickColor"}};function mse(e,t){let n=e.model;if(l(n.pickObject))return n.pickObject;let i={model:n,node:e.runtimeNode,primitive:e.runtimePrimitive},o;if(yr.is3DTiles(n.type)){let r=n.content;o={content:r,primitive:r.tileset,detail:i}}else o={primitive:n,detail:i};return o.id=n.id,l(t)&&(o.instanceId=t),o}function zGe(e,t,n){let i=e.model,o,r,s=i.featureIdLabel,a=i.instanceFeatureIdLabel;l(i.featureTableId)?o=i.featureTableId:l(n)?(r=Kt.getFeatureIdsByLabel(n.featureIds,a),o=r.propertyTableId):(r=Kt.getFeatureIdsByLabel(t.featureIds,s),o=r.propertyTableId);let c=i.featureTables[o];e.shaderBuilder.addUniform("sampler2D","model_pickTexture",pe.FRAGMENT);let f=c.batchTexture;e.uniformMap.model_pickTexture=function(){return y(f.pickTexture,f.defaultTexture)},e.pickId="((selectedFeature.id < int(model_featuresLength)) ? texture(model_pickTexture, selectedFeature.st) : vec4(0.0))"}function HGe(e,t){let n=e.instanceCount,i=new Array(n),o=new Uint8Array(n*4),r=e.model,s=r._pipelineResources;for(let d=0;d<n;d++){let p=mse(e,d),g=t.createPickId(p);s.push(g),i[d]=g;let m=g.color;o[d*4+0]=z.floatToByte(m.red),o[d*4+1]=z.floatToByte(m.green),o[d*4+2]=z.floatToByte(m.blue),o[d*4+3]=z.floatToByte(m.alpha)}r._pickIds=i;let a=bt.createVertexBuffer({context:t,typedArray:o,usage:Ue.STATIC_DRAW});a.vertexArrayDestroyable=!1,r.statistics.addBuffer(a,!1),s.push(a);let u={index:e.attributeIndex++,vertexBuffer:a,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0,instanceDivisor:1};e.attributes.push(u);let f=e.shaderBuilder;f.addDefine("USE_PICKING",void 0,pe.BOTH),f.addAttribute("vec4","a_pickColor"),f.addVarying("vec4","v_pickColor"),e.pickId="v_pickColor"}var w2=hse;var GGe={ADD:0,REPLACE:1},Ko=Object.freeze(GGe);var D2=`float getPointSizeFromAttenuation(vec3 positionEC) { + // Variables are packed into a single vector to minimize gl.uniformXXX() calls + float pointSize = model_pointCloudParameters.x; + float geometricError = model_pointCloudParameters.y; + float depthMultiplier = model_pointCloudParameters.z; + + float depth = -positionEC.z; + return min((geometricError / depth) * depthMultiplier, pointSize); +} + +#ifdef HAS_POINT_CLOUD_SHOW_STYLE +float pointCloudShowStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return float(getShowFromStyle(attributes, metadata, tiles3d_tileset_time)); +} #endif -#ifdef VECTOR_TILE - color *= u_highlightColor; +#ifdef HAS_POINT_CLOUD_COLOR_STYLE +vec4 pointCloudColorStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return getColorFromStyle(attributes, metadata, tiles3d_tileset_time); +} #endif - out_FragColor = color; -#ifdef LOG_DEPTH - czm_writeLogDepth(); +#ifdef HAS_POINT_CLOUD_POINT_SIZE_STYLE +float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + float tiles3d_tileset_time = model_pointCloudParameters.w; + return float(getPointSizeFromStyle(attributes, metadata, tiles3d_tileset_time)); +} +#elif defined(HAS_POINT_CLOUD_ATTENUATION) +float pointCloudPointSizeStylingStage(in ProcessedAttributes attributes, in Metadata metadata) { + return getPointSizeFromAttenuation(v_positionEC); +} #endif -#ifdef FRAGMENT_DEPTH_CHECK - float temp = v_compressed.y; +#ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING +float pointCloudBackFaceCullingStage() { + #if defined(HAS_NORMALS) && !defined(HAS_DOUBLE_SIDED_MATERIAL) + // This needs to be computed in eye coordinates so we can't use attributes.normalMC + return step(-v_normalEC.z, 0.0); + #else + return 1.0; + #endif +} +#endif`;var WGe=new oe,_se={name:"PointCloudStylingPipelineStage"};_se.process=function(e,t,n){let i=e.shaderBuilder,o=e.model,r=o.style,s=o.structuralMetadata,a=l(s)?s.propertyAttributes:void 0,c=l(o.featureTableId)&&o.featureTables[o.featureTableId].featuresLength>0,u=!l(a)&&c;if(l(r)&&!u){let x=XGe(a),b=KGe(r,x);ZGe(i,b);let C=$Ge(b).indexOf("normalMC")>=0,A=Kt.getAttributeBySemantic(t,St.NORMAL);if(C&&!A)throw new se("Style references the NORMAL semantic but the point cloud does not have normals");i.addDefine("COMPUTE_POSITION_WC_STYLE",void 0,pe.VERTEX),b.styleTranslucent&&(e.alphaOptions.pass=ve.TRANSLUCENT)}let f=o.pointCloudShading;f.attenuation&&i.addDefine("HAS_POINT_CLOUD_ATTENUATION",void 0,pe.VERTEX),f.backFaceCulling&&i.addDefine("HAS_POINT_CLOUD_BACK_FACE_CULLING",void 0,pe.VERTEX);let d,p,g;yr.is3DTiles(o.type)&&(p=!0,d=o.content,g=d.tile.refine===Ko.ADD),i.addUniform("vec4","model_pointCloudParameters",pe.VERTEX),i.addVertexLines(D2);let m=e.uniformMap;m.model_pointCloudParameters=function(){let x=WGe,b=1;p&&(b=g?5:d.tileset.memoryAdjustedScreenSpaceError),x.x=y(f.maximumAttenuation,b),x.x*=n.pixelRatio;let T=jGe(e,t,f,d);x.y=T*f.geometricErrorScale;let C=n.context,A=n.camera.frustum,S;return n.mode===ne.SCENE2D||A instanceof an?S=Number.POSITIVE_INFINITY:S=C.drawingBufferHeight/n.camera.frustum.sseDenominator,x.z=S,p&&(x.w=d.tileset.timeSinceLoad),x}};var pse=new h;function jGe(e,t,n,i){if(l(i)){let f=i.tile.geometricError;if(f>0)return f}if(l(n.baseResolution))return n.baseResolution;let o=Kt.getAttributeBySemantic(t,St.POSITION),r=o.count,s=e.runtimeNode.transform,a=h.subtract(o.max,o.min,pse);a=F.multiplyByPointAsVector(s,a,pse);let c=a.x*a.y*a.z;return P.cbrt(c/r)}var qGe={colorStyleFunction:void 0,showStyleFunction:void 0,pointSizeStyleFunction:void 0,styleTranslucent:!1},YGe={POSITION:"attributes.positionMC",POSITION_ABSOLUTE:"v_positionWC",COLOR:"attributes.color_0",NORMAL:"attributes.normalMC"};function XGe(e){let t=We(YGe);if(!l(e))return t;for(let n=0;n<e.length;n++){let o=e[n].properties;for(let r in o)o.hasOwnProperty(r)&&(t[r]=`metadata.${r}`)}return t}var AW="ProcessedAttributes attributes, Metadata metadata, float tiles3d_tileset_time";function KGe(e,t){let n=qGe,i={translucent:!1};return n.colorStyleFunction=e.getColorShaderFunction(`getColorFromStyle(${AW})`,t,i),n.showStyleFunction=e.getShowShaderFunction(`getShowFromStyle(${AW})`,t,i),n.pointSizeStyleFunction=e.getPointSizeShaderFunction(`getPointSizeFromStyle(${AW})`,t,i),n.styleTranslucent=l(n.colorStyleFunction)&&i.translucent,n}function ZGe(e,t){let n=t.colorStyleFunction;l(n)&&(e.addDefine("HAS_POINT_CLOUD_COLOR_STYLE",void 0,pe.BOTH),e.addVertexLines(n),e.addVarying("vec4","v_pointCloudColor"));let i=t.showStyleFunction;l(i)&&(e.addDefine("HAS_POINT_CLOUD_SHOW_STYLE",void 0,pe.BOTH),e.addVertexLines(i),e.addVarying("float","v_pointCloudShow"));let o=t.pointSizeStyleFunction;l(o)&&(e.addDefine("HAS_POINT_CLOUD_POINT_SIZE_STYLE",void 0,pe.VERTEX),e.addVertexLines(o))}function EW(e,t){let n=/attributes\.(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function $Ge(e){let t=e.colorStyleFunction,n=e.showStyleFunction,i=e.pointSizeStyleFunction,o=[];return l(t)&&EW(t,o),l(n)&&EW(n,o),l(i)&&EW(i,o),o}var I2=_se;var P2=`void primitiveOutlineStage() { + v_outlineCoordinates = a_outlineCoordinates; +} +`;var O2=`void primitiveOutlineStage(inout czm_modelMaterial material) { + if (!model_showOutline) { + return; + } - temp = temp * SHIFT_RIGHT1; + float outlineX = + texture(model_outlineTexture, vec2(v_outlineCoordinates.x, 0.5)).r; + float outlineY = + texture(model_outlineTexture, vec2(v_outlineCoordinates.y, 0.5)).r; + float outlineZ = + texture(model_outlineTexture, vec2(v_outlineCoordinates.z, 0.5)).r; + float outlineness = max(outlineX, max(outlineY, outlineZ)); - float temp2 = (temp - floor(temp)) * SHIFT_LEFT1; - bool enableDepthTest = temp2 != 0.0; - bool applyTranslate = floor(temp) != 0.0; + material.diffuse = mix(material.diffuse, model_outlineColor.rgb, model_outlineColor.a * outlineness); +} - if (enableDepthTest) { - temp = v_compressed.z; - temp = temp * SHIFT_RIGHT12; +`;var gse={name:"PrimitiveOutlinePipelineStage"};gse.process=function(e,t,n){let i=e.shaderBuilder,o=e.uniformMap;i.addDefine("HAS_PRIMITIVE_OUTLINE",void 0,pe.BOTH),i.addAttribute("vec3","a_outlineCoordinates"),i.addVarying("vec3","v_outlineCoordinates");let r=t.outlineCoordinates,s={index:e.attributeIndex++,vertexBuffer:r.buffer,componentsPerAttribute:sn.getNumberOfComponents(r.type),componentDatatype:r.componentDatatype,offsetInBytes:r.byteOffset,strideInBytes:r.byteStride,normalize:r.normalized};e.attributes.push(s),i.addUniform("sampler2D","model_outlineTexture",pe.FRAGMENT);let a=FC.createTexture(n.context);o.model_outlineTexture=function(){return a};let c=e.model;i.addUniform("vec4","model_outlineColor",pe.FRAGMENT),o.model_outlineColor=function(){return c.outlineColor},i.addUniform("bool","model_showOutline",pe.FRAGMENT),o.model_showOutline=function(){return c.showOutline},i.addVertexLines(P2),i.addFragmentLines(O2)};var R2=gse;var yse={name:"PrimitiveStatisticsPipelineStage",_countGeometry:xse,_count2DPositions:bse,_countMorphTargetAttributes:Tse,_countMaterialTextures:Cse,_countFeatureIdTextures:Ase,_countBinaryMetadata:Ese};yse.process=function(e,t,n){let i=e.model,o=i.statistics;xse(o,t),bse(o,e.runtimePrimitive),Tse(o,t),Cse(o,t.material),Ase(o,t.featureIds),Ese(o,i)};function xse(e,t){let n=l(t.indices)?t.indices.count:Kt.getAttributeBySemantic(t,"POSITION").count,i=t.primitiveType;i===Fe.POINTS?e.pointsLength+=n:Fe.isTriangles(i)&&(e.trianglesLength+=QGe(i,n));let o=t.attributes,r=o.length;for(let c=0;c<r;c++){let u=o[c];if(l(u.buffer)){let f=l(u.typedArray);e.addBuffer(u.buffer,f)}}let s=t.outlineCoordinates;l(s)&&l(s.buffer)&&e.addBuffer(s.buffer,!1);let a=t.indices;if(l(a)&&l(a.buffer)){let c=l(a.typedArray);e.addBuffer(a.buffer,c)}}function QGe(e,t){switch(e){case Fe.TRIANGLES:return t/3;case Fe.TRIANGLE_STRIP:case Fe.TRIANGLE_FAN:return Math.max(t-2,0);default:return 0}}function bse(e,t){let n=t.positionBuffer2D;l(n)&&e.addBuffer(n,!0)}function Tse(e,t){let n=t.morphTargets;if(!l(n))return;let i=!1,o=n.length;for(let r=0;r<o;r++){let s=n[r].attributes,a=s.length;for(let c=0;c<a;c++){let u=s[c];l(u.buffer)&&e.addBuffer(u.buffer,i)}}}function Cse(e,t){let n=JGe(t),i=n.length;for(let o=0;o<i;o++){let r=n[o];l(r)&&l(r.texture)&&e.addTexture(r.texture)}}function JGe(e){let t=e.metallicRoughness,n=[e.emissiveTexture,e.normalTexture,e.occlusionTexture,t.baseColorTexture,t.metallicRoughnessTexture],i=e.specularGlossiness;return l(i)&&(n.push(i.diffuseTexture),n.push(i.specularGlossinessTexture)),n}function Ase(e,t){let n=t.length;for(let i=0;i<n;i++){let o=t[i];if(o instanceof Tn.FeatureIdTexture){let r=o.textureReader;l(r.texture)&&e.addTexture(r.texture)}}}function Ese(e,t){let n=t.structuralMetadata;l(n)&&(e5e(e,n),e.propertyTablesByteLength+=n.propertyTablesByteLength);let i=t.featureTables;if(!l(i))return;let o=i.length;for(let r=0;r<o;r++){let s=i[r];e.addBatchTexture(s.batchTexture)}}function e5e(e,t){let n=t.propertyTextures;if(!l(n))return;let i=n.length;for(let o=0;o<i;o++){let s=n[o].properties;for(let a in s)if(s.hasOwnProperty(a)){let u=s[a].textureReader;l(u.texture)&&e.addTexture(u.texture)}}}var M2=yse;var t5e=new F,n5e=new F,Sse={name:"SceneMode2DPipelineStage"};Sse.process=function(e,t,n){let i=Kt.getAttributeBySemantic(t,St.POSITION),o=e.shaderBuilder,r=e.model,s=r.sceneGraph.computedModelMatrix,a=e.runtimeNode.computedTransform,c=F.multiplyTransformation(s,a,t5e),u=r5e(e,c,n),f=e.runtimePrimitive;f.boundingSphere2D=u;let d=e.runtimeNode.node.instances;if(l(d))return;if(l(i.typedArray)){let x=c5e(i,c,u,n);f.positionBuffer2D=x,r._modelResources.push(x),i.typedArray=void 0}o.addDefine("USE_2D_POSITIONS",void 0,pe.VERTEX),o.addUniform("mat4","u_modelView2D",pe.VERTEX);let p=F.fromTranslation(u.center,new F),g=n.context,m={u_modelView2D:function(){return F.multiplyTransformation(g.uniformState.view,p,n5e)}};e.uniformMap=Ct(m,e.uniformMap)};var i5e=new h,o5e=new h;function r5e(e,t,n){let i=F.multiplyByPoint(t,e.positionMin,i5e),o=Ui.computeActualEllipsoidPosition(n,i,i),r=F.multiplyByPoint(t,e.positionMax,o5e),s=Ui.computeActualEllipsoidPosition(n,r,r);return ce.fromCornerPoints(o,s,new ce)}var vse=new h;function s5e(e,t){let n=e.length,i=new Float32Array(n),o=t.quantizedVolumeOffset,r=t.quantizedVolumeStepSize;for(let s=0;s<n;s+=3){let a=h.fromArray(e,s,vse),c=h.multiplyComponents(a,r,a),u=h.add(c,o,c);i[s]=u.x,i[s+1]=u.y,i[s+2]=u.z}return i}function a5e(e,t,n,i){let o;l(e.quantization)?o=s5e(e.typedArray,e.quantization):o=e.typedArray.slice();let r=e.byteOffset/Float32Array.BYTES_PER_ELEMENT,s=o.length,a=l(e.byteStride)?e.byteStride/Float32Array.BYTES_PER_ELEMENT:3;for(let c=r;c<s;c+=a){let u=h.fromArray(o,c,vse);if(isNaN(u.x)||isNaN(u.y)||isNaN(u.z))continue;let f=F.multiplyByPoint(t,u,u),d=Ui.computeActualEllipsoidPosition(i,f,f),p=h.subtract(d,n,d);o[c]=p.x,o[c+1]=p.y,o[c+2]=p.z}return o}function c5e(e,t,n,i){let o=We(i);o.mode=ne.COLUMBUS_VIEW;let r=n.center,s=a5e(e,t,r,o),a=bt.createVertexBuffer({context:i.context,typedArray:s,usage:Ue.STATIC_DRAW});return a.vertexArrayDestroyable=!1,a}var L2=Sse;var N2=`void skinningStage(inout ProcessedAttributes attributes) +{ + mat4 skinningMatrix = getSkinningMatrix(); + mat3 skinningMatrixMat3 = mat3(skinningMatrix); - vec2 dimensions; - dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; - dimensions.x = floor(temp); + vec4 positionMC = vec4(attributes.positionMC, 1.0); + attributes.positionMC = vec3(skinningMatrix * positionMC); - temp = v_compressed.w; - temp = temp * SHIFT_RIGHT12; + #ifdef HAS_NORMALS + vec3 normalMC = attributes.normalMC; + attributes.normalMC = skinningMatrixMat3 * normalMC; + #endif - vec2 imageSize; - imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12; - imageSize.x = floor(temp); + #ifdef HAS_TANGENTS + vec3 tangentMC = attributes.tangentMC; + attributes.tangentMC = skinningMatrixMat3 * tangentMC; + #endif +}`;var Px={name:"SkinningPipelineStage",FUNCTION_ID_GET_SKINNING_MATRIX:"getSkinningMatrix",FUNCTION_SIGNATURE_GET_SKINNING_MATRIX:"mat4 getSkinningMatrix()"};Px.process=function(e,t){let n=e.shaderBuilder;n.addDefine("HAS_SKINNING",void 0,pe.VERTEX),u5e(n,t);let i=e.runtimeNode,o=i.computedJointMatrices;n.addUniform("mat4",`u_jointMatrices[${o.length}]`,pe.VERTEX),n.addVertexLines(N2);let r={u_jointMatrices:function(){return i.computedJointMatrices}};e.uniformMap=Ct(r,e.uniformMap)};function l5e(e){let t=-1,n=e.attributes,i=n.length;for(let o=0;o<i;o++){let r=n[o];(r.semantic===St.JOINTS||r.semantic===St.WEIGHTS)&&(t=Math.max(t,r.setIndex))}return t}function u5e(e,t){e.addFunction(Px.FUNCTION_ID_GET_SKINNING_MATRIX,Px.FUNCTION_SIGNATURE_GET_SKINNING_MATRIX,pe.VERTEX),e.addFunctionLines(Px.FUNCTION_ID_GET_SKINNING_MATRIX,["mat4 skinnedMatrix = mat4(0);"]);let i,o,r=["x","y","z","w"],s=l5e(t);for(i=0;i<=s;i++)for(o=0;o<=3;o++){let c=r[o],u=`skinnedMatrix += a_weights_${i}.${c} * u_jointMatrices[int(a_joints_${i}.${c})];`;e.addFunctionLines(Px.FUNCTION_ID_GET_SKINNING_MATRIX,[u])}e.addFunctionLines(Px.FUNCTION_ID_GET_SKINNING_MATRIX,["return skinnedMatrix;"])}var F2=Px;var B2=`void verticalExaggerationStage( + inout ProcessedAttributes attributes +) { + // Compute the distance from the camera to the local center of curvature. + vec4 vertexPositionENU = czm_modelToEnu * vec4(attributes.positionMC, 1.0); + vec2 vertexAzimuth = normalize(vertexPositionENU.xy); + // Curvature = 1 / radius of curvature. + float azimuthalCurvature = dot(vertexAzimuth * vertexAzimuth, czm_eyeEllipsoidCurvature); + float eyeToCenter = 1.0 / azimuthalCurvature + czm_eyeHeight; - vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy; - adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y); + // Compute the approximate ellipsoid normal at the vertex position. + // Uses a circular approximation for the Earth curvature along the geodesic. + vec3 vertexPositionEC = (czm_modelView * vec4(attributes.positionMC, 1.0)).xyz; + vec3 centerToVertex = eyeToCenter * czm_eyeEllipsoidNormalEC + vertexPositionEC; + vec3 vertexNormal = normalize(centerToVertex); - float epsilonEyeDepth = v_compressed.x + czm_epsilon1; - float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize); + // Estimate the (sine of the) angle between the camera direction and the vertex normal + float verticalDistance = dot(vertexPositionEC, czm_eyeEllipsoidNormalEC); + float horizontalDistance = length(vertexPositionEC - verticalDistance * czm_eyeEllipsoidNormalEC); + float sinTheta = horizontalDistance / (eyeToCenter + verticalDistance); + bool isSmallAngle = clamp(sinTheta, 0.0, 0.05) == sinTheta; - // negative values go into the screen - if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth) - { - float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner - if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth) - { - float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner - if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth) - { - discard; - } - } - } + // Approximate the change in height above the ellipsoid, from camera to vertex position. + float exactVersine = 1.0 - dot(czm_eyeEllipsoidNormalEC, vertexNormal); + float smallAngleVersine = 0.5 * sinTheta * sinTheta; + float versine = isSmallAngle ? smallAngleVersine : exactVersine; + float dHeight = dot(vertexPositionEC, vertexNormal) - eyeToCenter * versine; + float vertexHeight = czm_eyeHeight + dHeight; + + // Transform the approximate vertex normal to model coordinates. + vec3 vertexNormalMC = (czm_inverseModelView * vec4(vertexNormal, 0.0)).xyz; + vertexNormalMC = normalize(vertexNormalMC); + + // Compute the exaggeration and apply it along the approximate vertex normal. + float stretch = u_verticalExaggerationAndRelativeHeight.x; + float shift = u_verticalExaggerationAndRelativeHeight.y; + float exaggeration = (vertexHeight - shift) * (stretch - 1.0); + attributes.positionMC += exaggeration * vertexNormalMC; +} +`;var wse={name:"VerticalExaggerationPipelineStage"},f5e=new U;wse.process=function(e,t,n){let{shaderBuilder:i,uniformMap:o}=e;i.addVertexLines(B2),i.addDefine("HAS_VERTICAL_EXAGGERATION",void 0,pe.VERTEX),i.addUniform("vec2","u_verticalExaggerationAndRelativeHeight",pe.VERTEX),o.u_verticalExaggerationAndRelativeHeight=function(){return U.fromElements(n.verticalExaggeration,n.verticalExaggerationRelativeHeight,f5e)}};var k2=wse;var SW={};function d5e(e){let t=ke.createTypedArray(e,e*2),n=e,i=0;for(let o=0;o<n;o+=3)t[i++]=o,t[i++]=o+1,t[i++]=o+1,t[i++]=o+2,t[i++]=o+2,t[i++]=o;return t}function h5e(e,t){let n=t.length,i=ke.createTypedArray(e,n*2),o=0;for(let r=0;r<n;r+=3){let s=t[r],a=t[r+1],c=t[r+2];i[o++]=s,i[o++]=a,i[o++]=a,i[o++]=c,i[o++]=c,i[o++]=s}return i}function m5e(e){let t=e-2,n=2+t*4,i=ke.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=r;return i}function p5e(e,t){let i=t.length-2,o=2+i*4,r=ke.createTypedArray(e,o),s=0;r[s++]=t[0],r[s++]=t[1];for(let a=0;a<i;a++){let c=t[a],u=t[a+1],f=t[a+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=c}return r}function _5e(e){let t=e-2,n=2+t*4,i=ke.createTypedArray(e,n),o=0;i[o++]=0,i[o++]=1;for(let r=0;r<t;r++)i[o++]=r+1,i[o++]=r+2,i[o++]=r+2,i[o++]=0;return i}function g5e(e,t){let i=t.length-2,o=2+i*4,r=ke.createTypedArray(e,o),s=0,a=t[0];r[s++]=a,r[s++]=t[1];for(let c=0;c<i;c++){let u=t[c+1],f=t[c+2];r[s++]=u,r[s++]=f,r[s++]=f,r[s++]=a}return r}SW.createWireframeIndices=function(e,t,n){let i=l(n);if(e===Fe.TRIANGLES)return i?h5e(t,n):d5e(t);if(e===Fe.TRIANGLE_STRIP)return i?p5e(t,n):m5e(t);if(e===Fe.TRIANGLE_FAN)return i?g5e(t,n):_5e(t)};SW.getWireframeIndicesCount=function(e,t){return e===Fe.TRIANGLES?t*2:e===Fe.TRIANGLE_STRIP||e===Fe.TRIANGLE_FAN?2+(t-2)*4:t};var Mw=SW;var Dse={name:"WireframePipelineStage"};Dse.process=function(e,t,n){e.shaderBuilder.addDefine("HAS_WIREFRAME",void 0,pe.FRAGMENT);let o=e.model,r=y5e(t,e.indices,n);o._pipelineResources.push(r),e.wireframeIndexBuffer=r,o.statistics.addBuffer(r,!1);let a=e.primitiveType,c=e.count;e.primitiveType=Fe.LINES,e.count=Mw.getWireframeIndicesCount(a,c)};function y5e(e,t,n){let o=Kt.getAttributeBySemantic(e,St.POSITION).count,r=n.context.webgl2,s;if(l(t)){let f=t.buffer,d=t.count;l(f)&&r?(s=f.sizeInBytes===d?new Uint8Array(d):ke.createTypedArray(o,d),f.getBufferData(s)):s=t.typedArray}let a=e.primitiveType,c=Mw.createWireframeIndices(a,o,s),u=ke.fromSizeInBytes(c.BYTES_PER_ELEMENT);return bt.createIndexBuffer({context:n.context,typedArray:c,usage:Ue.STATIC_DRAW,indexDatatype:u})}var V2=Dse;function Ise(e){e=y(e,y.EMPTY_OBJECT);let t=e.primitive,n=e.node,i=e.model;this.primitive=t,this.node=n,this.model=i,this.pipelineStages=[],this.drawCommand=void 0,this.boundingSphere=void 0,this.boundingSphere2D=void 0,this.positionBuffer2D=void 0,this.batchLengths=void 0,this.batchOffsets=void 0,this.updateStages=[]}Ise.prototype.configurePipeline=function(e){let t=this.pipelineStages;t.length=0;let n=this.primitive,i=this.node,o=this.model,r=o.customShader;if(l(o._marsOptions)&&l(o._marsOptions.customShaders)){let M=X_.getCache(o._marsOptions.customShaders);for(let N in M)if(Object.prototype.hasOwnProperty.call(M,N)){r=M[N];break}}let s=o.style,a=e.context.webgl2,u=e.mode!==ne.SCENE3D&&!e.scene3DOnly&&o._projectTo2D,f=e.verticalExaggeration!==1&&o.hasVerticalExaggeration,d=l(n.morphTargets)&&n.morphTargets.length>0,p=l(i.skin),g=l(r),x=!(g&&l(r.fragmentShaderText))||r.mode!==zg.REPLACE_MATERIAL,b=Kt.hasQuantizedAttributes(n.attributes),T=o.debugWireframe&&Fe.isTriangles(n.primitiveType)&&(o._enableDebugWireframe||a),C=o.pointCloudShading,A=l(C)&&C.attenuation,S=l(C)&&C.backFaceCulling,v=n.primitiveType===Fe.POINTS&&(l(s)||A||S),D=o._enableShowOutline&&l(n.outlineCoordinates),R=x5e(o,i,n),O=l(o.classificationType);u&&t.push(L2),t.push(b2),T&&t.push(V2),O&&t.push(s2),d&&t.push(v2),p&&t.push(F2),v&&t.push(I2),b&&t.push(g2),x&&t.push(E2),t.push(wx),t.push(bd),t.push(df),R.hasPropertyTable&&(t.push(Ix),t.push(r2),t.push(l2)),f&&t.push(k2),g&&t.push(_2),t.push(C2),o.allowPicking&&t.push(w2),D&&t.push(R2),t.push(o2),t.push(M2)};function x5e(e,t,n){let i;return l(t.instances)&&(i=Kt.getFeatureIdsByLabel(t.instances.featureIds,e.instanceFeatureIdLabel),l(i))?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:(i=Kt.getFeatureIdsByLabel(n.featureIds,e.featureIdLabel),l(i)?{hasFeatureIds:!0,hasPropertyTable:l(i.propertyTableId)}:{hasFeatureIds:!1,hasPropertyTable:!1})}var U2=Ise;function vW(e){e=y(e,y.EMPTY_OBJECT),this._sceneGraph=e.sceneGraph;let t=e.skin;this._skin=t,this._inverseBindMatrices=void 0,this._joints=[],this._jointMatrices=[],b5e(this)}Object.defineProperties(vW.prototype,{skin:{get:function(){return this._skin}},sceneGraph:{get:function(){return this._sceneGraph}},inverseBindMatrices:{get:function(){return this._inverseBindMatrices}},joints:{get:function(){return this._joints}},jointMatrices:{get:function(){return this._jointMatrices}}});function b5e(e){let t=e.skin,n=t.inverseBindMatrices;e._inverseBindMatrices=n;let i=t.joints,o=i.length,r=e.sceneGraph._runtimeNodes,s=e.joints,a=e._jointMatrices;for(let c=0;c<o;c++){let u=i[c].index,f=r[u];s.push(f);let d=n[c],p=Pse(f,d,new F);a.push(p)}}function Pse(e,t,n){let i=F.multiplyTransformation(e.transformToRoot,e.transform,n);return n=F.multiplyTransformation(i,t,n),n}vW.prototype.updateJointMatrices=function(){let e=this._jointMatrices,t=e.length;for(let n=0;n<t;n++){let i=this.joints[n],o=this.inverseBindMatrices[n];e[n]=Pse(i,o,e[n])}};var z2=vW;function T5e(){this.pass=void 0,this.alphaCutoff=void 0}var H2=T5e;function C5e(e){this.shaderBuilder=new BT,this.model=e,this.uniformMap={},this.alphaOptions=new H2,this.renderStateOptions=ze.getState(ze.fromCache({depthTest:{enabled:!0,func:Dc.LESS_OR_EQUAL}})),this.hasSilhouette=!1,this.hasSkipLevelOfDetail=!1}var G2=C5e;var W2=`void silhouetteStage(inout vec4 color) { + if(model_silhouettePass) { + color = czm_gammaCorrect(model_silhouetteColor); + } +}`;var j2=`void silhouetteStage(in ProcessedAttributes attributes, inout vec4 positionClip) { + #ifdef HAS_NORMALS + if(model_silhouettePass) { + vec3 normal = normalize(czm_normal3D * attributes.normalMC); + normal.x *= czm_projection[0][0]; + normal.y *= czm_projection[1][1]; + positionClip.xy += normal.xy * positionClip.w * model_silhouetteSize * czm_pixelRatio / czm_viewport.z; } + #endif +} +`;var q2={name:"ModelSilhouettePipelineStage"};q2.silhouettesLength=0;q2.process=function(e,t,n){l(t._silhouetteId)||(t._silhouetteId=++q2.silhouettesLength);let i=e.shaderBuilder;i.addDefine("HAS_SILHOUETTE",void 0,pe.BOTH),i.addVertexLines(j2),i.addFragmentLines(W2),i.addUniform("vec4","model_silhouetteColor",pe.FRAGMENT),i.addUniform("float","model_silhouetteSize",pe.VERTEX),i.addUniform("bool","model_silhouettePass",pe.BOTH);let o={model_silhouetteColor:function(){return t.silhouetteColor},model_silhouetteSize:function(){return t.silhouetteSize},model_silhouettePass:function(){return!1}};e.uniformMap=Ct(o,e.uniformMap),e.hasSilhouette=!0};var Y2=q2;var X2=`void modelSplitterStage() +{ + // Don't split when rendering the shadow map, because it is rendered from + // the perspective of a totally different camera. +#ifndef SHADOW_MAP + if (model_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (model_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; #endif +} +`;var K2={name:"ModelSplitterPipelineStage",SPLIT_DIRECTION_UNIFORM_NAME:"model_splitDirection"};K2.process=function(e,t,n){let i=e.shaderBuilder;i.addDefine("HAS_MODEL_SPLITTER",void 0,pe.FRAGMENT),i.addFragmentLines(X2);let o={};i.addUniform("float",K2.SPLIT_DIRECTION_UNIFORM_NAME,pe.FRAGMENT),o[K2.SPLIT_DIRECTION_UNIFORM_NAME]=function(){return t.splitDirection},e.uniformMap=Ct(o,e.uniformMap)};var Z2=K2;function A5e(e,t){this.model=e.model,this.shaderBuilder=e.shaderBuilder.clone(),this.uniformMap=We(e.uniformMap),this.alphaOptions=We(e.alphaOptions),this.renderStateOptions=We(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.runtimeNode=t,this.attributes=[],this.attributeIndex=1,this.featureIdVertexAttributeSetIndex=0,this.instanceCount=0}var $2=A5e;function E5e(e){e=y(e,y.EMPTY_OBJECT),this.lightingModel=y(e.lightingModel,Np.UNLIT)}var Q2=E5e;function S5e(e,t){this.model=e.model,this.runtimeNode=e.runtimeNode,this.attributes=e.attributes.slice(),this.attributeIndex=e.attributeIndex,this.featureIdVertexAttributeSetIndex=e.featureIdVertexAttributeSetIndex,this.uniformMap=We(e.uniformMap),this.alphaOptions=We(e.alphaOptions),this.renderStateOptions=We(e.renderStateOptions,!0),this.hasSilhouette=e.hasSilhouette,this.hasSkipLevelOfDetail=e.hasSkipLevelOfDetail,this.shaderBuilder=e.shaderBuilder.clone(),this.instanceCount=e.instanceCount,this.runtimePrimitive=t;let n=t.primitive;this.count=l(n.indices)?n.indices.count:Kt.getAttributeBySemantic(n,"POSITION").count,this.hasPropertyTable=!1,this.indices=n.indices,this.wireframeIndexBuffer=void 0,this.primitiveType=n.primitiveType;let i=Kt.getPositionMinMax(n,this.runtimeNode.instancingTranslationMin,this.runtimeNode.instancingTranslationMax);this.positionMin=h.clone(i.min,new h),this.positionMax=h.clone(i.max,new h),this.boundingSphere=ce.fromCornerPoints(this.positionMin,this.positionMax,new ce),this.lightingOptions=new Q2,this.pickId=void 0}var J2=S5e;function DW(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._command=t,this._model=i,this._runtimePrimitive=n.runtimePrimitive,this._modelMatrix=t.modelMatrix,this._boundingVolume=t.boundingVolume,this._cullFace=t.renderState.cull.face;let o=i.classificationType;this._classificationType=o,this._classifiesTerrain=o!==Un.CESIUM_3D_TILE,this._classifies3DTiles=o!==Un.TERRAIN,this._useDebugWireframe=i._enableDebugWireframe&&i.debugWireframe,this._pickId=n.pickId,this._commandListTerrain=[],this._commandList3DTiles=[],this._commandListIgnoreShow=[],this._commandListDebugWireframe=[],this._commandListTerrainPicking=[],this._commandList3DTilesPicking=[],I5e(this)}function v5e(e){return{colorMask:{red:!1,green:!1,blue:!1,alpha:!1},stencilTest:{enabled:!0,frontFunction:e,frontOperation:{fail:mt.KEEP,zFail:mt.DECREMENT_WRAP,zPass:mt.KEEP},backFunction:e,backOperation:{fail:mt.KEEP,zFail:mt.INCREMENT_WRAP,zPass:mt.KEEP},reference:Ut.CESIUM_3D_TILE_MASK,mask:Ut.CESIUM_3D_TILE_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!0,func:Dc.LESS_OR_EQUAL},depthMask:!1}}var w5e={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:Ut.CLASSIFICATION_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND},D5e={stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},backFunction:zn.NOT_EQUAL,backOperation:{fail:mt.ZERO,zFail:mt.ZERO,zPass:mt.ZERO},reference:0,mask:Ut.CLASSIFICATION_MASK},stencilMask:Ut.CLASSIFICATION_MASK,depthTest:{enabled:!1},depthMask:!1},Mse=[];function I5e(e){let t=e._command,n=Mse;if(e._useDebugWireframe){t.pass=ve.OPAQUE,n.length=0,n.push(t),e._commandListDebugWireframe=Lw(e,n,e._commandListDebugWireframe);let r=e._commandListDebugWireframe,s=r.length;for(let a=0;a<s;a++){let c=r[a];c.count*=2,c.offset*=2}return}let o=e.model.allowPicking;if(e._classifiesTerrain){let r=ve.TERRAIN_CLASSIFICATION,s=wW(t,r),a=Ose(t,r);n.length=0,n.push(s,a),e._commandListTerrain=Lw(e,n,e._commandListTerrain),o&&(e._commandListTerrainPicking=Rse(e,n,e._commandListTerrainPicking))}if(e._classifies3DTiles){let r=ve.CESIUM_3D_TILE_CLASSIFICATION,s=wW(t,r),a=Ose(t,r);n.length=0,n.push(s,a),e._commandList3DTiles=Lw(e,n,e._commandList3DTiles),o&&(e._commandList3DTilesPicking=Rse(e,n,e._commandList3DTilesPicking))}}function Lw(e,t,n){let i=e._runtimePrimitive,o=i.batchLengths,r=i.batchOffsets,s=o.length,a=t.length;for(let c=0;c<s;c++){let u=o[c],f=r[c];for(let d=0;d<a;d++){let p=t[d],g=tt.shallowClone(p);g.count=u,g.offset=f,n.push(g)}}return n}function wW(e,t){let n=tt.shallowClone(e);n.cull=!1,n.pass=t;let i=t===ve.TERRAIN_CLASSIFICATION?zn.ALWAYS:zn.EQUAL,o=v5e(i);return n.renderState=ze.fromCache(o),n}function Ose(e,t){let n=tt.shallowClone(e);return n.cull=!1,n.pass=t,n.renderState=ze.fromCache(w5e),n}var P5e=[];function Rse(e,t,n){let i=ze.fromCache(D5e),o=t[0],r=t[1],s=tt.shallowClone(o);s.cull=!0,s.pickOnly=!0;let a=tt.shallowClone(r);a.cull=!0,a.pickOnly=!0,a.renderState=i,a.pickId=e._pickId;let c=P5e;return c.length=0,c.push(s,a),Lw(e,c,n)}Object.defineProperties(DW.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},batchLengths:{get:function(){return this._runtimePrimitive.batchLengths}},batchOffsets:{get:function(){return this._runtimePrimitive.batchOffsets}},model:{get:function(){return this._model}},classificationType:{get:function(){return this._classificationType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix);let t=this._runtimePrimitive.boundingSphere;this._boundingVolume=ce.transform(t,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace=e}}});DW.prototype.pushCommands=function(e,t){let n=e.passes;if(n.render){if(this._useDebugWireframe){t.push.apply(t,this._commandListDebugWireframe);return}if(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrain),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTiles),e.invertClassification&&this._classifies3DTiles){if(this._commandListIgnoreShow.length===0){let o=ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW,r=wW(this._command,o),s=Mse;s.length=0,s.push(r),this._commandListIgnoreShow=Lw(this,s,this._commandListIgnoreShow)}t.push.apply(t,this._commandListIgnoreShow)}}return n.pick&&(this._classifiesTerrain&&t.push.apply(t,this._commandListTerrainPicking),this._classifies3DTiles&&t.push.apply(t,this._commandList3DTilesPicking)),t};var eB=DW;function tB(e){e=y(e,y.EMPTY_OBJECT);let t=e.command,n=e.primitiveRenderResources,i=n.model;this._model=i;let o=n.runtimePrimitive;this._runtimePrimitive=o;let r=t.pass===ve.TRANSLUCENT,a=!o.primitive.material.doubleSided&&!r,c=n.hasSilhouette,u=!r&&!c,f=n.hasSkipLevelOfDetail&&!r,d=c;this._command=t,this._modelMatrix=F.clone(t.modelMatrix),this._boundingVolume=ce.clone(t.boundingVolume),this._modelMatrix2D=new F,this._boundingVolume2D=new ce,this._modelMatrix2DDirty=!1,this._backFaceCulling=t.renderState.cull.enabled,this._cullFace=t.renderState.cull.face,this._shadows=i.shadows,this._debugShowBoundingVolume=t.debugShowBoundingVolume,this._usesBackFaceCulling=a,this._needsTranslucentCommand=u,this._needsSkipLevelOfDetailCommands=f,this._needsSilhouetteCommands=d,this._originalCommand=void 0,this._translucentCommand=void 0,this._skipLodBackfaceCommand=void 0,this._skipLodStencilCommand=void 0,this._silhouetteModelCommand=void 0,this._silhouetteColorCommand=void 0,this._derivedCommands=[],this._has2DCommands=!1,O5e(this)}function Fp(e){this.command=e.command,this.updateShadows=e.updateShadows,this.updateBackFaceCulling=e.updateBackFaceCulling,this.updateCullFace=e.updateCullFace,this.updateDebugShowBoundingVolume=e.updateDebugShowBoundingVolume,this.is2D=y(e.is2D,!1),this.derivedCommand2D=void 0}Fp.clone=function(e){return new Fp({command:e.command,updateShadows:e.updateShadows,updateBackFaceCulling:e.updateBackFaceCulling,updateCullFace:e.updateCullFace,updateDebugShowBoundingVolume:e.updateDebugShowBoundingVolume,is2D:e.is2D,derivedCommand2D:e.derivedCommand2D})};function O5e(e){let t=e._command;t.modelMatrix=e._modelMatrix,t.boundingVolume=e._boundingVolume;let n=e._model,i=e._usesBackFaceCulling,o=e._derivedCommands;e._originalCommand=new Fp({command:t,updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0,is2D:!1}),o.push(e._originalCommand),e._needsTranslucentCommand&&(e._translucentCommand=new Fp({command:k5e(t),updateShadows:!0,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!0}),o.push(e._translucentCommand)),e._needsSkipLevelOfDetailCommands&&(e._skipLodBackfaceCommand=new Fp({command:W5e(t),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:i,updateDebugShowBoundingVolume:!1}),e._skipLodStencilCommand=new Fp({command:j5e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),o.push(e._skipLodBackfaceCommand),o.push(e._skipLodStencilCommand)),e._needsSilhouetteCommands&&(e._silhouetteModelCommand=new Fp({command:V5e(t,n),updateShadows:!0,updateBackFaceCulling:i,updateCullFace:i,updateDebugShowBoundingVolume:!0}),e._silhouetteColorCommand=new Fp({command:U5e(t,n),updateShadows:!1,updateBackFaceCulling:!1,updateCullFace:!1,updateDebugShowBoundingVolume:!1}),o.push(e._silhouetteModelCommand),o.push(e._silhouetteColorCommand))}Object.defineProperties(tB.prototype,{command:{get:function(){return this._command}},runtimePrimitive:{get:function(){return this._runtimePrimitive}},model:{get:function(){return this._model}},primitiveType:{get:function(){return this._command.primitiveType}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix),this._modelMatrix2DDirty=!0,this._boundingVolume=ce.transform(this.runtimePrimitive.boundingSphere,this._modelMatrix,this._boundingVolume)}},boundingVolume:{get:function(){return this._boundingVolume}},shadows:{get:function(){return this._shadows},set:function(e){this._shadows=e,M5e(this)}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){this._backFaceCulling!==e&&(this._backFaceCulling=e,L5e(this))}},cullFace:{get:function(){return this._cullFace},set:function(e){this._cullFace!==e&&(this._cullFace=e,N5e(this))}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolume=e,F5e(this))}}});function R5e(e,t){let n=e._modelMatrix;e._modelMatrix2D=F.clone(n,e._modelMatrix2D),e._modelMatrix2D[13]-=P.sign(n[13])*2*P.PI*t.mapProjection.ellipsoid.maximumRadius,e._boundingVolume2D=ce.transform(e.runtimePrimitive.boundingSphere,e._modelMatrix2D,e._boundingVolume2D)}function M5e(e){let t=e.shadows,n=bn.castShadows(t),i=bn.receiveShadows(t),o=e._derivedCommands;for(let r=0;r<o.length;++r){let s=o[r];if(s.updateShadows){let a=s.command;a.castShadows=n,a.receiveShadows=i}}}function L5e(e){let t=e.backFaceCulling,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateBackFaceCulling){let r=o.command,s=We(r.renderState,!0);s.cull.enabled=t,r.renderState=ze.fromCache(s)}}}function N5e(e){let t=e.cullFace,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateCullFace){let r=o.command,s=We(r.renderState,!0);s.cull.face=t,r.renderState=ze.fromCache(s)}}}function F5e(e){let t=e.debugShowBoundingVolume,n=e._derivedCommands;for(let i=0;i<n.length;++i){let o=n[i];if(o.updateDebugShowBoundingVolume){let r=o.command;r.debugShowBoundingVolume=t}}}tB.prototype.pushCommands=function(e,t){let n=Lse(this,e);n&&!this._has2DCommands&&(B5e(this),this._has2DCommands=!0,this._modelMatrix2DDirty=!0),this._modelMatrix2DDirty&&(R5e(this,e),this._modelMatrix2DDirty=!1);let i=this.model.styleCommandsNeeded;if(!(this._needsTranslucentCommand&&l(i)&&(i!==Jh.ALL_OPAQUE&&$C(t,this._translucentCommand,n),i===Jh.ALL_TRANSLUCENT))){if(this._needsSkipLevelOfDetailCommands){let{tileset:o,tile:r}=this._model.content;if(o.hasMixedContent){r._finalResolution||$C(o._backfaceCommands,this._skipLodBackfaceCommand,n),z5e(this,r,n),$C(t,this._skipLodStencilCommand,n);return}}if(this._needsSilhouetteCommands){$C(t,this._silhouetteModelCommand,n);return}return $C(t,this._originalCommand,n),t}};tB.prototype.pushSilhouetteCommands=function(e,t){let n=Lse(this,e);return $C(t,this._silhouetteColorCommand,n),t};function $C(e,t,n){e.push(t.command),n&&e.push(t.derivedCommand2D.command)}function Lse(e,t){if(t.mode!==ne.SCENE2D||e.model._projectTo2D)return!1;let i=e.model.sceneGraph._boundingSphere2D,o=i.center.y-i.radius,r=i.center.y+i.radius,s=t.mapProjection.ellipsoid.maximumRadius*P.PI;return o<s&&r>s||o<-s&&r>-s}function ZC(e,t){if(!l(t))return;let n=Fp.clone(t),i=tt.shallowClone(t.command);return i.modelMatrix=e._modelMatrix2D,i.boundingVolume=e._boundingVolume2D,n.command=i,n.updateShadows=!1,n.is2D=!0,t.derivedCommand2D=n,e._derivedCommands.push(n),n}function B5e(e){ZC(e,e._originalCommand),ZC(e,e._translucentCommand),ZC(e,e._skipLodBackfaceCommand),ZC(e,e._skipLodStencilCommand),ZC(e,e._silhouetteModelCommand),ZC(e,e._silhouetteColorCommand)}function k5e(e){let t=tt.shallowClone(e);t.pass=ve.TRANSLUCENT;let n=We(e.renderState,!0);return n.cull.enabled=!1,n.depthMask=!1,n.blending=fn.ALPHA_BLEND,t.renderState=ze.fromCache(n),t}function V5e(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=We(e.renderState,!0);return o.stencilTest={enabled:!0,frontFunction:te.ALWAYS,backFunction:te.ALWAYS,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.REPLACE}},t.isInvisible()&&(o.colorMask={red:!1,green:!1,blue:!1,alpha:!1}),i.renderState=ze.fromCache(o),i}function U5e(e,t){let n=t._silhouetteId%255,i=tt.shallowClone(e),o=We(e.renderState,!0);o.cull.enabled=!1,(e.pass===ve.TRANSLUCENT||t.silhouetteColor.alpha<1)&&(i.pass=ve.TRANSLUCENT,o.depthMask=!1,o.blending=fn.ALPHA_BLEND),o.stencilTest={enabled:!0,frontFunction:te.NOTEQUAL,backFunction:te.NOTEQUAL,reference:n,mask:-1,frontOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP},backOperation:{fail:te.KEEP,zFail:te.KEEP,zPass:te.KEEP}};let s=We(e.uniformMap);return s.model_silhouettePass=function(){return!0},i.renderState=ze.fromCache(o),i.uniformMap=s,i.castShadows=!1,i.receiveShadows=!1,i}function z5e(e,t,n){let i=e._skipLodStencilCommand,o=i.command,r=t._selectionDepth,s=H5e(o);if(r!==s){let a=G5e(r),c=We(o.renderState,!0);c.stencilTest.reference=a,o.renderState=ze.fromCache(c),n&&(i.derivedCommand2D.renderState=c)}}function H5e(e){return(e.renderState.stencilTest.reference&Ut.SKIP_LOD_MASK)>>>Ut.SKIP_LOD_BIT_SHIFT}function G5e(e){return Ut.CESIUM_3D_TILE_MASK|e<<Ut.SKIP_LOD_BIT_SHIFT}function W5e(e){let t=tt.shallowClone(e),n=We(e.renderState,!0);n.cull.enabled=!0,n.cull.face=Ti.FRONT,n.colorMask={red:!1,green:!1,blue:!1,alpha:!1},n.polygonOffset={enabled:!0,factor:5,units:5};let i=We(t.uniformMap),o=new U(5,5);return i.u_polygonOffset=function(){return o},t.renderState=ze.fromCache(n),t.uniformMap=i,t.castShadows=!1,t.receiveShadows=!1,t}function j5e(e){let t=tt.shallowClone(e),n=We(e.renderState,!0),{stencilTest:i}=n;return i.enabled=!0,i.mask=Ut.SKIP_LOD_MASK,i.reference=Ut.CESIUM_3D_TILE_MASK,i.frontFunction=zn.GREATER_OR_EQUAL,i.frontOperation.zPass=mt.REPLACE,i.backFunction=zn.GREATER_OR_EQUAL,i.backOperation.zPass=mt.REPLACE,n.stencilMask=Ut.CESIUM_3D_TILE_MASK|Ut.SKIP_LOD_MASK,t.renderState=ze.fromCache(n),t}var nB=tB;var iB=`precision highp float; +czm_modelVertexOutput defaultVertexOutput(vec3 positionMC) { + czm_modelVertexOutput vsOutput; + vsOutput.positionMC = positionMC; + vsOutput.pointSize = 1.0; + return vsOutput; } -`;var aB=`#ifdef INSTANCED -in vec2 direction; -#endif -in vec4 positionHighAndScale; -in vec4 positionLowAndRotation; -in vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset) -in vec4 compressedAttribute1; // aligned axis, translucency by distance, image width -in vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free -in vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range) -in vec4 scaleByDistance; // near, nearScale, far, farScale -in vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale -in vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions -in vec2 sdf; // sdf outline color (rgb) and width (w) -in float splitDirection; // splitDirection -#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) -in vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates -#endif -#ifdef VECTOR_TILE -in float a_batchId; -#endif -out vec2 v_textureCoordinates; -#ifdef FRAGMENT_DEPTH_CHECK -out vec4 v_textureCoordinateBounds; -out vec4 v_originTextureCoordinateAndTranslate; -out vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize -out mat2 v_rotationMatrix; -#endif +void main() +{ + // Initialize the attributes struct with all + // attributes except quantized ones. + ProcessedAttributes attributes; + initializeAttributes(attributes); -out vec4 v_pickColor; -out vec4 v_color; -out float v_splitDirection; -#ifdef SDF -out vec4 v_outlineColor; -out float v_outlineWidth; -#endif + // Dequantize the quantized ones and add them to the + // attributes struct. + #ifdef USE_DEQUANTIZATION + dequantizationStage(attributes); + #endif -const float UPPER_BOUND = 32768.0; + #ifdef HAS_MORPH_TARGETS + morphTargetsStage(attributes); + #endif -const float SHIFT_LEFT16 = 65536.0; -const float SHIFT_LEFT12 = 4096.0; -const float SHIFT_LEFT8 = 256.0; -const float SHIFT_LEFT7 = 128.0; -const float SHIFT_LEFT5 = 32.0; -const float SHIFT_LEFT3 = 8.0; -const float SHIFT_LEFT2 = 4.0; -const float SHIFT_LEFT1 = 2.0; + #ifdef HAS_SKINNING + skinningStage(attributes); + #endif -const float SHIFT_RIGHT12 = 1.0 / 4096.0; -const float SHIFT_RIGHT8 = 1.0 / 256.0; -const float SHIFT_RIGHT7 = 1.0 / 128.0; -const float SHIFT_RIGHT5 = 1.0 / 32.0; -const float SHIFT_RIGHT3 = 1.0 / 8.0; -const float SHIFT_RIGHT2 = 1.0 / 4.0; -const float SHIFT_RIGHT1 = 1.0 / 2.0; + #ifdef HAS_PRIMITIVE_OUTLINE + primitiveOutlineStage(); + #endif -vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp) -{ - // Note the halfSize cannot be computed in JavaScript because it is sent via - // compressed vertex attributes that coerce it to an integer. - vec2 halfSize = imageSize * scale * 0.5; - halfSize *= ((direction * 2.0) - 1.0); + // Compute the bitangent according to the formula in the glTF spec. + // Normal and tangents can be affected by morphing and skinning, so + // the bitangent should not be computed until their values are finalized. + #ifdef HAS_BITANGENTS + attributes.bitangentMC = normalize(cross(attributes.normalMC, attributes.tangentMC) * attributes.tangentSignMC); + #endif - vec2 originTranslate = origin * abs(halfSize); + FeatureIds featureIds; + featureIdStage(featureIds, attributes); -#if defined(ROTATION) || defined(ALIGNED_AXIS) - if (validAlignedAxis || rotation != 0.0) - { - float angle = rotation; - if (validAlignedAxis) - { - vec4 projectedAlignedAxis = czm_modelView3D * vec4(alignedAxis, 0.0); - angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) / - (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y)); - } + #ifdef HAS_SELECTED_FEATURE_ID + SelectedFeature feature; + selectedFeatureIdStage(feature, featureIds); + // Handle any show properties that come from the style. + cpuStylingStage(attributes.positionMC, feature); + #endif - float cosTheta = cos(angle); - float sinTheta = sin(angle); - rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta); - halfSize = rotationMatrix * halfSize; - } - else - { - rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); - } -#endif + #if defined(USE_2D_POSITIONS) || defined(USE_2D_INSTANCING) + // The scene mode 2D pipeline stage and instancing stage add a different + // model view matrix to accurately project the model to 2D. However, the + // output positions and normals should be transformed by the 3D matrices + // to keep the data the same for the fragment shader. + mat4 modelView = czm_modelView3D; + mat3 normal = czm_normal3D; + #else + // These are used for individual model projection because they will + // automatically change based on the scene mode. + mat4 modelView = czm_modelView; + mat3 normal = czm_normal; + #endif - mpp = czm_metersPerPixel(positionEC); - positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp); - positionEC.xy += (translate + pixelOffset) * mpp; + // Update the position for this instance in place + #ifdef HAS_INSTANCING - return positionEC; -} + // The legacy instance stage is used when rendering i3dm models that + // encode instances transforms in world space, as opposed to glTF models + // that use EXT_mesh_gpu_instancing, where instance transforms are encoded + // in object space. + #ifdef USE_LEGACY_INSTANCING + mat4 instanceModelView; + mat3 instanceModelViewInverseTranspose; -#ifdef VERTEX_DEPTH_CHECK -float getGlobeDepth(vec4 positionEC) -{ - vec4 posWC = czm_eyeToWindowCoordinates(positionEC); + legacyInstancingStage(attributes, instanceModelView, instanceModelViewInverseTranspose); - float globeDepth = czm_unpackDepth(texture(czm_globeDepthTexture, posWC.xy / czm_viewport.zw)); + modelView = instanceModelView; + normal = instanceModelViewInverseTranspose; + #else + instancingStage(attributes); + #endif - if (globeDepth == 0.0) - { - return 0.0; // not on the globe - } + #ifdef USE_PICKING + v_pickColor = a_pickColor; + #endif - vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth); - return eyeCoordinate.z / eyeCoordinate.w; -} -#endif -void main() -{ - // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition + #endif - // unpack attributes - vec3 positionHigh = positionHighAndScale.xyz; - vec3 positionLow = positionLowAndRotation.xyz; - float scale = positionHighAndScale.w; + Metadata metadata; + MetadataClass metadataClass; + MetadataStatistics metadataStatistics; + metadataStage(metadata, metadataClass, metadataStatistics, attributes); -#if defined(ROTATION) || defined(ALIGNED_AXIS) - float rotation = positionLowAndRotation.w; -#else - float rotation = 0.0; -#endif + #ifdef HAS_VERTICAL_EXAGGERATION + verticalExaggerationStage(attributes); + #endif - float compressed = compressedAttribute0.x; + #ifdef HAS_CUSTOM_VERTEX_SHADER + czm_modelVertexOutput vsOutput = defaultVertexOutput(attributes.positionMC); + customShaderStage(vsOutput, attributes, featureIds, metadata, metadataClass, metadataStatistics); + #endif - vec2 pixelOffset; - pixelOffset.x = floor(compressed * SHIFT_RIGHT7); - compressed -= pixelOffset.x * SHIFT_LEFT7; - pixelOffset.x -= UPPER_BOUND; + // Compute the final position in each coordinate system needed. + // This returns the value that will be assigned to gl_Position. + vec4 positionClip = geometryStage(attributes, modelView, normal); - vec2 origin; - origin.x = floor(compressed * SHIFT_RIGHT5); - compressed -= origin.x * SHIFT_LEFT5; + // This must go after the geometry stage as it needs v_positionWC + #ifdef HAS_ATMOSPHERE + atmosphereStage(attributes); + #endif - origin.y = floor(compressed * SHIFT_RIGHT3); - compressed -= origin.y * SHIFT_LEFT3; + #ifdef ENABLE_CLIPPING_POLYGONS + modelClippingPolygonsStage(attributes); + #endif -#ifdef FRAGMENT_DEPTH_CHECK - vec2 depthOrigin = origin.xy; -#endif - origin -= vec2(1.0); + #ifdef HAS_SILHOUETTE + silhouetteStage(attributes, positionClip); + #endif - float show = floor(compressed * SHIFT_RIGHT2); - compressed -= show * SHIFT_LEFT2; + #ifdef HAS_POINT_CLOUD_SHOW_STYLE + float show = pointCloudShowStylingStage(attributes, metadata); + #else + float show = 1.0; + #endif -#ifdef INSTANCED - vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w); - vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w); - vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange; -#else - vec2 direction; - direction.x = floor(compressed * SHIFT_RIGHT1); - direction.y = compressed - direction.x * SHIFT_LEFT1; + #ifdef HAS_POINT_CLOUD_BACK_FACE_CULLING + show *= pointCloudBackFaceCullingStage(); + #endif - vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w); -#endif + #ifdef HAS_POINT_CLOUD_COLOR_STYLE + v_pointCloudColor = pointCloudColorStylingStage(attributes, metadata); + #endif - float temp = compressedAttribute0.y * SHIFT_RIGHT8; - pixelOffset.y = -(floor(temp) - UPPER_BOUND); + #ifdef PRIMITIVE_TYPE_POINTS + #ifdef HAS_CUSTOM_VERTEX_SHADER + gl_PointSize = vsOutput.pointSize; + #elif defined(HAS_POINT_CLOUD_POINT_SIZE_STYLE) || defined(HAS_POINT_CLOUD_ATTENUATION) + gl_PointSize = pointCloudPointSizeStylingStage(attributes, metadata); + #else + gl_PointSize = 1.0; + #endif - vec2 translate; - translate.y = (temp - floor(temp)) * SHIFT_LEFT16; + gl_PointSize *= show; + #endif - temp = compressedAttribute0.z * SHIFT_RIGHT8; - translate.x = floor(temp) - UPPER_BOUND; + // Important NOT to compute gl_Position = show * positionClip or we hit: + // https://github.com/CesiumGS/cesium/issues/11270 + // + // We will discard points with v_pointCloudShow == 0 in the fragment shader. + gl_Position = positionClip; - translate.y += (temp - floor(temp)) * SHIFT_LEFT8; - translate.y -= UPPER_BOUND; + #ifdef HAS_POINT_CLOUD_SHOW_STYLE + v_pointCloudShow = show; + #endif +} +`;var oB=` +precision highp float; +czm_modelMaterial defaultModelMaterial() +{ + czm_modelMaterial material; + material.diffuse = vec3(0.0); + material.specular = vec3(1.0); + material.roughness = 1.0; + material.occlusion = 1.0; + material.normalEC = vec3(0.0, 0.0, 1.0); + material.emissive = vec3(0.0); + material.alpha = 1.0; + return material; +} - temp = compressedAttribute1.x * SHIFT_RIGHT8; - float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2); +vec4 handleAlpha(vec3 color, float alpha) +{ + #ifdef ALPHA_MODE_MASK + if (alpha < u_alphaCutoff) { + discard; + } + #endif - vec2 imageSize = vec2(floor(temp), temp2); + return vec4(color, alpha); +} -#ifdef FRAGMENT_DEPTH_CHECK - float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2)); - float applyTranslate = 0.0; - if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false - { - applyTranslate = 1.0; - labelHorizontalOrigin -= 2.0; - depthOrigin.x = labelHorizontalOrigin + 1.0; - } +SelectedFeature selectedFeature; - depthOrigin = vec2(1.0) - (depthOrigin * 0.5); -#endif +void main() +{ + #ifdef HAS_POINT_CLOUD_SHOW_STYLE + if (v_pointCloudShow == 0.0) + { + discard; + } + #endif -#ifdef EYE_DISTANCE_TRANSLUCENCY - vec4 translucencyByDistance; - translucencyByDistance.x = compressedAttribute1.z; - translucencyByDistance.z = compressedAttribute1.w; + #ifdef HAS_MODEL_SPLITTER + modelSplitterStage(); + #endif - translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; + czm_modelMaterial material = defaultModelMaterial(); - temp = compressedAttribute1.y * SHIFT_RIGHT8; - translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; -#endif + ProcessedAttributes attributes; + geometryStage(attributes); -#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) - temp = compressedAttribute3.w; - temp = temp * SHIFT_RIGHT12; + FeatureIds featureIds; + featureIdStage(featureIds, attributes); - vec2 dimensions; - dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; - dimensions.x = floor(temp); -#endif + Metadata metadata; + MetadataClass metadataClass; + MetadataStatistics metadataStatistics; + metadataStage(metadata, metadataClass, metadataStatistics, attributes); -#ifdef ALIGNED_AXIS - vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8)); - temp = compressedAttribute2.z * SHIFT_RIGHT5; - bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0; -#else - vec3 alignedAxis = vec3(0.0); - bool validAlignedAxis = false; -#endif + //======================================================================== + // When not picking metadata START + #ifndef METADATA_PICKING_ENABLED - vec4 pickColor; - vec4 color; + #ifdef HAS_SELECTED_FEATURE_ID + selectedFeatureIdStage(selectedFeature, featureIds); + #endif - temp = compressedAttribute2.y; - temp = temp * SHIFT_RIGHT8; - pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; - pickColor.r = floor(temp); + #ifndef CUSTOM_SHADER_REPLACE_MATERIAL + materialStage(material, attributes, selectedFeature); + #endif - temp = compressedAttribute2.x; - temp = temp * SHIFT_RIGHT8; - color.b = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - color.g = (temp - floor(temp)) * SHIFT_LEFT8; - color.r = floor(temp); + #ifdef HAS_CUSTOM_FRAGMENT_SHADER + customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics); + #endif - temp = compressedAttribute2.z * SHIFT_RIGHT8; - bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0; - temp = floor(temp) * SHIFT_RIGHT8; + lightingStage(material, attributes); - pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; - pickColor /= 255.0; + #ifdef HAS_SELECTED_FEATURE_ID + cpuStylingStage(material, selectedFeature); + #endif - color.a = floor(temp); - color /= 255.0; + #ifdef HAS_MODEL_COLOR + modelColorStage(material); + #endif - /////////////////////////////////////////////////////////////////////////// + #ifdef HAS_PRIMITIVE_OUTLINE + primitiveOutlineStage(material); + #endif - vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); - vec4 positionEC = czm_modelViewRelativeToEye * p; + vec4 color = handleAlpha(material.diffuse, material.alpha); -#if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK) - float eyeDepth = positionEC.z; -#endif + // When not picking metadata END + //======================================================================== + #else + //======================================================================== + // When picking metadata START - positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz); - positionEC.xyz *= show; + vec4 metadataValues = vec4(0.0, 0.0, 0.0, 0.0); + metadataPickingStage(metadata, metadataClass, metadataValues); + vec4 color = metadataValues; - /////////////////////////////////////////////////////////////////////////// + #endif + // When picking metadata END + //======================================================================== -#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) - float lengthSq; - if (czm_sceneMode == czm_sceneMode2D) - { - // 2D camera distance is a special case - // treat all billboards as flattened to the z=0.0 plane - lengthSq = czm_eyeHeight2D.y; - } - else - { - lengthSq = dot(positionEC.xyz, positionEC.xyz); - } -#endif + #ifdef HAS_CLIPPING_PLANES + modelClippingPlanesStage(color); + #endif -#ifdef EYE_DISTANCE_SCALING - float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq); - scale *= distanceScale; - translate *= distanceScale; - // push vertex behind near plane for clipping - if (scale == 0.0) - { - positionEC.xyz = vec3(0.0); - } -#endif + #ifdef ENABLE_CLIPPING_POLYGONS + modelClippingPolygonsStage(); + #endif - float translucency = 1.0; -#ifdef EYE_DISTANCE_TRANSLUCENCY - translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); - // push vertex behind near plane for clipping - if (translucency == 0.0) - { - positionEC.xyz = vec3(0.0); - } -#endif + //======================================================================== + // When not picking metadata START + #ifndef METADATA_PICKING_ENABLED -#ifdef EYE_DISTANCE_PIXEL_OFFSET - float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq); - pixelOffset *= pixelOffsetScale; -#endif + #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS) + silhouetteStage(color); + #endif -#ifdef DISTANCE_DISPLAY_CONDITION - float nearSq = compressedAttribute3.x; - float farSq = compressedAttribute3.y; - if (lengthSq < nearSq || lengthSq > farSq) - { - positionEC.xyz = vec3(0.0); - } + #ifdef HAS_ATMOSPHERE + atmosphereStage(color, attributes); + #endif + + #endif + // When not picking metadata END + //======================================================================== + + out_FragColor = color; +} +`;function Nse(){}Nse.buildModelDrawCommand=function(e,t){let n=e.shaderBuilder,i=q5e(e,n,t),o=Y5e(e,i,t),r=e.model;return l(r.classificationType)?new eB({primitiveRenderResources:e,command:o}):new nB({primitiveRenderResources:e,command:o})};function q5e(e,t,n){t.addVertexLines(iB),t.addFragmentLines(oB);let i=e.model,o=t.buildShaderProgram(n.context);return i._pipelineResources.push(o),o}function Y5e(e,t,n){let i=X5e(e),o=new si({context:n.context,indexBuffer:i,attributes:e.attributes}),r=e.model;r._pipelineResources.push(o);let s=e.alphaOptions.pass,a=r.sceneGraph,c=n.mode===ne.SCENE3D,u,f;if(!c&&!n.scene3DOnly&&r._projectTo2D)u=F.multiplyTransformation(a._computedModelMatrix,e.runtimeNode.computedTransform,new F),f=e.runtimePrimitive.boundingSphere2D;else{let T=c?a._computedModelMatrix:a._computedModelMatrix2D;u=F.multiplyTransformation(T,e.runtimeNode.computedTransform,new F),f=ce.transform(e.boundingSphere,u)}let d=We(ze.fromCache(e.renderStateOptions),!0);d.cull.face=Kt.getCullFace(u,e.primitiveType),d=ze.fromCache(d);let p=l(r.classificationType),g=p?!1:bn.castShadows(r.shadows),m=p?!1:bn.receiveShadows(r.shadows),x=p?void 0:e.pickId;return new tt({boundingVolume:f,modelMatrix:u,uniformMap:e.uniformMap,renderState:d,vertexArray:o,shaderProgram:t,cull:r.cull,pass:s,count:e.count,owner:r,pickId:x,pickMetadataAllowed:!0,instanceCount:e.instanceCount,primitiveType:e.primitiveType,debugShowBoundingVolume:r.debugShowBoundingVolume,castShadows:g,receiveShadows:m})}function X5e(e){let t=e.wireframeIndexBuffer;if(l(t))return t;let n=e.indices;if(l(n))return n.buffer}var rB=Nse;function uu(e){e=y(e,y.EMPTY_OBJECT);let t=e.modelComponents;this._model=e.model,this._components=t,this._pipelineStages=[],this._updateStages=[],this._runtimeNodes=[],this._rootNodes=[],this._skinnedNodes=[],this._runtimeSkins=[],this.modelPipelineStages=[],this._boundingSphere=void 0,this._boundingSphere2D=void 0,this._computedModelMatrix=F.clone(F.IDENTITY),this._computedModelMatrix2D=F.clone(F.IDENTITY),this._axisCorrectionMatrix=Kt.getAxisCorrectionMatrix(t.upAxis,t.forwardAxis,new F),this._runtimeArticulations={},K5e(this)}Object.defineProperties(uu.prototype,{components:{get:function(){return this._components}},computedModelMatrix:{get:function(){return this._computedModelMatrix}},axisCorrectionMatrix:{get:function(){return this._axisCorrectionMatrix}},boundingSphere:{get:function(){return this._boundingSphere}}});function K5e(e){let t=e._components,n=t.scene,o=e._model.modelMatrix;Fse(e,o);let r=t.articulations,s=r.length,a=e._runtimeArticulations;for(let C=0;C<s;C++){let A=r[C],S=new HF({articulation:A,sceneGraph:e}),v=S.name;a[v]=S}let c=t.nodes,u=c.length;e._runtimeNodes=new Array(u);let d=n.nodes.length,p=F.IDENTITY;for(let C=0;C<d;C++){let A=n.nodes[C],S=Bse(e,A,p);e._rootNodes.push(S)}let g=t.skins,m=e._runtimeSkins,x=g.length;for(let C=0;C<x;C++){let A=g[C];m.push(new z2({skin:A,sceneGraph:e}))}let b=e._skinnedNodes,T=b.length;for(let C=0;C<T;C++){let A=b[C],S=e._runtimeNodes[A],D=c[A].skin.index;S._runtimeSkin=m[D],S.updateJointMatrices()}e.applyArticulations()}function Fse(e,t){let n=e._components,i=e._model;e._computedModelMatrix=F.multiplyTransformation(t,n.transform,e._computedModelMatrix),e._computedModelMatrix=F.multiplyTransformation(e._computedModelMatrix,e._axisCorrectionMatrix,e._computedModelMatrix),e._computedModelMatrix=F.multiplyByUniformScale(e._computedModelMatrix,i.computedScale,e._computedModelMatrix)}var Z5e=new h;function $5e(e,t){let n=e._computedModelMatrix,i=F.getTranslation(n,Z5e);if(!h.equals(i,h.ZERO))e._computedModelMatrix2D=Mt.basisTo2D(t.mapProjection,n,e._computedModelMatrix2D);else{let o=e.boundingSphere.center,r=Mt.ellipsoidTo2DModelMatrix(t.mapProjection,o,e._computedModelMatrix2D);e._computedModelMatrix2D=F.multiply(r,n,e._computedModelMatrix2D)}e._boundingSphere2D=ce.transform(e._boundingSphere,e._computedModelMatrix2D,e._boundingSphere2D)}function Bse(e,t,n){let i=[],o=Kt.getNodeTransform(t),r=t.children.length;for(let f=0;f<r;f++){let d=t.children[f],p=F.multiplyTransformation(n,o,new F),g=Bse(e,d,p);i.push(g)}let s=new i2({node:t,transform:o,transformToRoot:n,children:i,sceneGraph:e}),a=t.primitives.length;for(let f=0;f<a;f++)s.runtimePrimitives.push(new U2({primitive:t.primitives[f],node:t,model:e._model}));let c=t.index;e._runtimeNodes[c]=s,l(t.skin)&&e._skinnedNodes.push(c);let u=t.name;if(l(u)){let f=e._model,d=new KF(f,s);f._nodesByName[u]=d}return c}var Q5e=new h,J5e=new h,e6e=new h,t6e=new h;uu.prototype.buildDrawCommands=function(e){let t=this._model,n=new G2(t);t.statistics.clear(),this.configurePipeline(e);let i=this.modelPipelineStages,o,r,s;for(o=0;o<i.length;o++)i[o].process(n,t,e);let a=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Q5e),c=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,J5e);for(o=0;o<this._runtimeNodes.length;o++){let u=this._runtimeNodes[o];if(!l(u))continue;u.configurePipeline();let f=u.pipelineStages,d=new $2(n,u);for(r=0;r<f.length;r++)f[r].process(d,u.node,e);let p=u.computedTransform;for(r=0;r<u.runtimePrimitives.length;r++){let g=u.runtimePrimitives[r];g.configurePipeline(e);let m=g.pipelineStages,x=new J2(d,g);for(s=0;s<m.length;s++)m[s].process(x,g.primitive,e);g.boundingSphere=ce.clone(x.boundingSphere,new ce);let b=F.multiplyByPoint(p,x.positionMin,e6e),T=F.multiplyByPoint(p,x.positionMax,t6e);h.minimumByComponent(a,b,a),h.maximumByComponent(c,T,c);let C=rB.buildModelDrawCommand(x,e);g.drawCommand=C}}this._boundingSphere=ce.fromCornerPoints(a,c,new ce),this._boundingSphere=ce.transformWithoutScale(this._boundingSphere,this._axisCorrectionMatrix,this._boundingSphere),this._boundingSphere=ce.transform(this._boundingSphere,this._components.transform,this._boundingSphere),t._boundingSphere=ce.transform(this._boundingSphere,t.modelMatrix,t._boundingSphere),t._initialRadius=t._boundingSphere.radius,t._boundingSphere.radius*=t._clampedScale};uu.prototype.configurePipeline=function(e){let t=this.modelPipelineStages;t.length=0;let n=this._model,i=e.fog.enabled&&e.fog.renderable;l(n.color)&&t.push(vx),!l(n.classificationType)&&(n.imageBasedLighting.enabled&&t.push(VF),n.isClippingEnabled()&&t.push(jF),n.isClippingPolygonsEnabled()&&t.push(XF),n.hasSilhouette(e)&&t.push(Y2),l(n.splitDirection)&&n.splitDirection!==jr.NONE&&t.push(Z2),yr.is3DTiles(n.type)&&t.push(LF),i&&t.push(BF))};uu.prototype.update=function(e,t){let n,i,o;for(n=0;n<this._runtimeNodes.length;n++){let r=this._runtimeNodes[n];if(!l(r))continue;for(i=0;i<r.updateStages.length;i++)r.updateStages[i].update(r,this,e);let s=e.mode!==ne.SCENE3D&&this._model._projectTo2D;for(t&&!s&&this.updateJointMatrices(),i=0;i<r.runtimePrimitives.length;i++){let a=r.runtimePrimitives[i];for(o=0;o<a.updateStages.length;o++)a.updateStages[o].update(a,this)}}};uu.prototype.updateModelMatrix=function(e,t){Fse(this,e),t.mode!==ne.SCENE3D&&$5e(this,t);let n=this._rootNodes;for(let i=0;i<n.length;i++){let o=this._runtimeNodes[n[i]];o._transformDirty=!0}};uu.prototype.updateJointMatrices=function(){let e=this._skinnedNodes,t=e.length;for(let n=0;n<t;n++){let i=e[n];this._runtimeNodes[i].updateJointMatrices()}};function kse(e,t,n,i,o){if(n&&!t.show)return;let r=t.children.length;for(let c=0;c<r;c++){let u=t.getChild(c);kse(e,u,n,i,o)}let s=t.runtimePrimitives,a=s.length;for(let c=0;c<a;c++){let u=s[c];i(u,o)}}function sB(e,t,n,i){let o=e._rootNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s],c=e._runtimeNodes[a];kse(e,c,t,n,i)}}var n6e={backFaceCulling:void 0};uu.prototype.updateBackFaceCulling=function(e){let t=n6e;t.backFaceCulling=e,sB(this,!1,i6e,t)};function i6e(e,t){let n=e.drawCommand;n.backFaceCulling=t.backFaceCulling}var o6e={shadowMode:void 0};uu.prototype.updateShadows=function(e){let t=o6e;t.shadowMode=e,sB(this,!1,r6e,t)};function r6e(e,t){let n=e.drawCommand;n.shadows=t.shadowMode}var s6e={debugShowBoundingVolume:void 0};uu.prototype.updateShowBoundingVolume=function(e){let t=s6e;t.debugShowBoundingVolume=e,sB(this,!1,a6e,t)};function a6e(e,t){let n=e.drawCommand;n.debugShowBoundingVolume=t.debugShowBoundingVolume}var Vse=[],c6e={frameState:void 0,hasSilhouette:void 0};uu.prototype.pushDrawCommands=function(e){let t=Vse;t.length=0;let n=c6e;n.hasSilhouette=this._model.hasSilhouette(e),n.frameState=e,sB(this,!0,l6e,n),e.commandList.push.apply(e.commandList,t)};function l6e(e,t){let n=t.frameState,i=t.hasSilhouette,o=n.passes,r=Vse,s=e.drawCommand;s.pushCommands(n,n.commandList),i&&!o.pick&&s.pushSilhouetteCommands(n,r)}uu.prototype.setArticulationStage=function(e,t){let n=e.split(" ");if(n.length!==2)return;let i=n[0],o=n[1],r=this._runtimeArticulations[i];l(r)&&r.setArticulationStage(o,t)};uu.prototype.applyArticulations=function(){let e=this._runtimeArticulations;for(let t in e)e.hasOwnProperty(t)&&e[t].apply()};var aB=uu;function Hg(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdByteLengths={},this._batchTextureIdMap=new vt}Object.defineProperties(Hg.prototype,{batchTexturesByteLength:{get:function(){let e=this._batchTextureIdMap.length,t=this._batchTextureIdMap.values,n=0;for(let i=0;i<e;i++)n+=t[i].byteLength;return n}}});Hg.prototype.clear=function(){this.pointsLength=0,this.trianglesLength=0,this.geometryByteLength=0,this.texturesByteLength=0,this.propertyTablesByteLength=0,this._bufferIdSet={},this._textureIdByteLengths={},this._batchTextureIdMap.removeAll()};Hg.prototype.addBuffer=function(e,t){if(!this._bufferIdSet.hasOwnProperty(e._id)){let n=t?2:1;this.geometryByteLength+=e.sizeInBytes*n}this._bufferIdSet[e._id]=!0};Hg.prototype.addTexture=function(e){this._textureIdByteLengths.hasOwnProperty(e._id)||(this.texturesByteLength+=e.sizeInBytes,this._textureIdByteLengths[e._id]=e.sizeInBytes)};Hg.prototype.getTextureIds=function(){return Object.keys(this._textureIdByteLengths)};Hg.prototype.getTextureByteLengthById=function(e){return this._textureIdByteLengths[e]};Hg.prototype.addBatchTexture=function(e){this._batchTextureIdMap.contains(e._id)||this._batchTextureIdMap.set(e._id,e)};var cB=Hg;var Gse=Sr(e1(),1);var Use={},Ox=Uint32Array.BYTES_PER_ELEMENT;Use.parse=function(e,t){t=y(t,0);let n=new Uint8Array(e),i=new DataView(e);t+=Ox;let o=i.getUint32(t,!0);if(o!==1)throw new se(`Only Point Cloud tile version 1 is supported. Version ${o} is not.`);t+=Ox,t+=Ox;let r=i.getUint32(t,!0);if(r===0)throw new se("Feature table must have a byte length greater than zero");t+=Ox;let s=i.getUint32(t,!0);t+=Ox;let a=i.getUint32(t,!0);t+=Ox;let c=i.getUint32(t,!0);t+=Ox;let u=Fo(n,t,r);t+=r;let f=new Uint8Array(e,t,s);t+=s;let d,p;a>0&&(d=Fo(n,t,a),t+=a,c>0&&(p=new Uint8Array(e,t,c),t+=c));let g=new $h(u,f),m=g.getGlobalProperty("POINTS_LENGTH");if(g.featuresLength=m,!l(m))throw new se("Feature table global property: POINTS_LENGTH must be defined");let x=g.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(x)&&(x=h.unpack(x));let b=u6e(g,d);if(b.rtcCenter=x,b.pointsLength=m,!b.hasPositions){let T=f6e(g);b.positions=T,b.hasPositions=b.hasPositions||l(T)}if(!b.hasPositions)throw new se("Either POSITION or POSITION_QUANTIZED must be defined.");if(!b.hasNormals){let T=h6e(g);b.normals=T,b.hasNormals=b.hasNormals||l(T)}if(!b.hasColors){let T=d6e(g);b.colors=T,b.hasColors=b.hasColors||l(T),b.hasConstantColor=l(b.constantColor),b.isTranslucent=l(T)&&T.isTranslucent}if(!b.hasBatchIds){let T=m6e(g);b.batchIds=T,b.hasBatchIds=b.hasBatchIds||l(T)}if(b.hasBatchIds){let T=g.getGlobalProperty("BATCH_LENGTH");if(!l(T))throw new se("Global property: BATCH_LENGTH must be defined when BATCH_ID is defined.");b.batchLength=T}return l(p)&&(p=new Uint8Array(p),b.batchTableJson=d,b.batchTableBinary=p),b};function u6e(e,t){let n=e.json,i,o,r,s=l(n.extensions)?n.extensions["3DTILES_draco_point_compression"]:void 0,a=l(t)&&l(t.extensions)?t.extensions["3DTILES_draco_point_compression"]:void 0;l(a)&&(r=a.properties);let c,u,f,d,p;if(l(s)){o=s.properties;let m=s.byteOffset,x=s.byteLength;if(!l(o)||!l(m)||!l(x))throw new se("Draco properties, byteOffset, and byteLength must be defined");i=e.buffer.slice(m,m+x),c=l(o.POSITION),u=l(o.RGB)||l(o.RGBA),f=l(o.NORMAL),d=l(o.BATCH_ID),p=l(o.RGBA)}let g;return l(i)&&(g={buffer:i,featureTableProperties:o,batchTableProperties:r,properties:Ct(o,r),dequantizeInShader:!0}),{draco:g,hasPositions:c,hasColors:u,isTranslucent:p,hasNormals:f,hasBatchIds:d}}function f6e(e){let t=e.json,n;if(l(t.POSITION))return n=e.getPropertyArray("POSITION",X.FLOAT,3),{name:St.POSITION,semantic:St.POSITION,typedArray:n,isQuantized:!1,componentDatatype:X.FLOAT,type:sn.VEC3};if(l(t.POSITION_QUANTIZED)){n=e.getPropertyArray("POSITION_QUANTIZED",X.UNSIGNED_SHORT,3);let i=e.getGlobalProperty("QUANTIZED_VOLUME_SCALE",X.FLOAT,3);if(!l(i))throw new se("Global property: QUANTIZED_VOLUME_SCALE must be defined for quantized positions.");let o=65535,r=e.getGlobalProperty("QUANTIZED_VOLUME_OFFSET",X.FLOAT,3);if(!l(r))throw new se("Global property: QUANTIZED_VOLUME_OFFSET must be defined for quantized positions.");return{name:St.POSITION,semantic:St.POSITION,typedArray:n,isQuantized:!0,componentDatatype:X.FLOAT,type:sn.VEC3,quantizedRange:o,quantizedVolumeOffset:h.unpack(r),quantizedVolumeScale:h.unpack(i),quantizedComponentDatatype:X.UNSIGNED_SHORT,quantizedType:sn.VEC3}}}function d6e(e){let t=e.json,n;if(l(t.RGBA))return n=e.getPropertyArray("RGBA",X.UNSIGNED_BYTE,4),{name:St.COLOR,semantic:St.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC4,normalized:!0,isRGB565:!1,isTranslucent:!0};if(l(t.RGB))return n=e.getPropertyArray("RGB",X.UNSIGNED_BYTE,3),{name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC3,normalized:!0,isRGB565:!1,isTranslucent:!1};if(l(t.RGB565))return n=e.getPropertyArray("RGB565",X.UNSIGNED_SHORT,1),{name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n,componentDatatype:X.FLOAT,type:sn.VEC3,normalized:!1,isRGB565:!0,isTranslucent:!1};if(l(t.CONSTANT_RGBA)){let i=e.getGlobalProperty("CONSTANT_RGBA",X.UNSIGNED_BYTE,4),o=i[3],r=z.fromBytes(i[0],i[1],i[2],o),s=o<255;return{name:St.COLOR,semantic:St.COLOR,setIndex:0,constantColor:r,componentDatatype:X.FLOAT,type:sn.VEC4,isQuantized:!1,isTranslucent:s}}}function h6e(e){let t=e.json,n;if(l(t.NORMAL))return n=e.getPropertyArray("NORMAL",X.FLOAT,3),{name:St.NORMAL,semantic:St.NORMAL,typedArray:n,octEncoded:!1,octEncodedZXY:!1,componentDatatype:X.FLOAT,type:sn.VEC3};if(l(t.NORMAL_OCT16P))return n=e.getPropertyArray("NORMAL_OCT16P",X.UNSIGNED_BYTE,2),{name:St.NORMAL,semantic:St.NORMAL,typedArray:n,octEncoded:!0,octEncodedZXY:!1,quantizedRange:(1<<8)-1,quantizedType:sn.VEC2,quantizedComponentDatatype:X.UNSIGNED_BYTE,componentDatatype:X.FLOAT,type:sn.VEC3}}function m6e(e){let t=e.json;if(l(t.BATCH_ID)){let n=e.getPropertyArray("BATCH_ID",X.UNSIGNED_SHORT,1);return{name:St.FEATURE_ID,semantic:St.FEATURE_ID,setIndex:0,typedArray:n,componentDatatype:X.fromTypedArray(n),type:sn.SCALAR}}}var QC=Use;var p6e=Tn.Components,_6e=Tn.Scene,g6e=Tn.Node,y6e=Tn.Primitive,x6e=Tn.Attribute,zse=Tn.Quantization,b6e=Tn.FeatureIdAttribute,T6e=Tn.Material,C6e=Tn.MetallicRoughness;function Gg(e){e=y(e,y.EMPTY_OBJECT);let t=e.arrayBuffer,n=y(e.byteOffset,0);this._arrayBuffer=t,this._byteOffset=n,this._loadAttributesFor2D=y(e.loadAttributesFor2D,!1),this._parsedContent=void 0,this._decodePromise=void 0,this._decodedAttributes=void 0,this._promise=void 0,this._error=void 0,this._state=gt.UNLOADED,this._buffers=[],this._components=void 0,this._transform=F.IDENTITY}l(Object.create)&&(Gg.prototype=Object.create(Ki.prototype),Gg.prototype.constructor=Gg);Object.defineProperties(Gg.prototype,{cacheKey:{get:function(){}},components:{get:function(){return this._components}},transform:{get:function(){return this._transform}}});Gg.prototype.load=function(){if(l(this._promise))return this._promise;this._parsedContent=QC.parse(this._arrayBuffer,this._byteOffset),this._state=gt.PROCESSING,this._promise=Promise.resolve(this)};Gg.prototype.process=function(e){if(l(this._error)){let t=this._error;throw this._error=void 0,t}if(this._state===gt.READY)return!0;if(this._state===gt.PROCESSING){if(l(this._decodePromise))return!1;this._decodePromise=A6e(this,e.context)}return!1};function A6e(e,t){let i=e._parsedContent.draco,o;if(l(i)?o=gg.decodePointCloud(i,t):o=Promise.resolve(),!!l(o))return e._decodePromise=o,o.then(function(r){if(!e.isDestroyed())return l(r)&&E6e(e,i,r),N6e(e,t),e._state=gt.READY,e}).catch(function(r){e.unload(),e._state=gt.FAILED;let s="Failed to load Draco pnts";e._error=e.getError(s,r)})}function E6e(e,t,n){e._state=gt.READY;let i=e._parsedContent,o;if(l(n.POSITION)){if(o={name:"POSITION",semantic:St.POSITION,typedArray:n.POSITION.array,componentDatatype:X.FLOAT,type:sn.VEC3,isQuantized:!1},l(n.POSITION.data.quantization)){let a=n.POSITION.data.quantization,c=a.range,u=h.fromElements(c,c,c),f=h.unpack(a.minValues),d=(1<<a.quantizationBits)-1;o.isQuantized=!0,o.quantizedRange=d,o.quantizedVolumeOffset=f,o.quantizedVolumeScale=u,o.quantizedComponentDatatype=d<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT,o.quantizedType=sn.VEC3}i.positions=o}if(l(n.NORMAL)){if(o={name:"NORMAL",semantic:St.NORMAL,typedArray:n.NORMAL.array,componentDatatype:X.FLOAT,type:sn.VEC3,isQuantized:!1,octEncoded:!1,octEncodedZXY:!1},l(n.NORMAL.data.quantization)){let a=(1<<n.NORMAL.data.quantization.quantizationBits)-1;o.quantizedRange=a,o.octEncoded=!0,o.octEncodedZXY=!0,o.quantizedComponentDatatype=X.UNSIGNED_BYTE,o.quantizedType=sn.VEC2}i.normals=o}if(l(n.RGBA)?i.colors={name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n.RGBA.array,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC4,normalized:!0,isTranslucent:!0}:l(n.RGB)&&(i.colors={name:"COLOR",semantic:St.COLOR,setIndex:0,typedArray:n.RGB.array,componentDatatype:X.UNSIGNED_BYTE,type:sn.VEC3,normalized:!0,isTranslucent:!1}),l(n.BATCH_ID)){let a=n.BATCH_ID.array;i.batchIds={name:"_FEATURE_ID",semantic:St.FEATURE_ID,setIndex:0,typedArray:a,componentDatatype:X.fromTypedArray(a),type:sn.SCALAR}}let r=i.batchTableJson,s=t.batchTableProperties;for(let a in s)if(s.hasOwnProperty(a)){let c=n[a];l(r)||(r={}),i.hasDracoBatchTable=!0;let u=c.data;r[a]={byteOffset:u.byteOffset,type:S6e(u.componentsPerAttribute),componentType:v6e(u.componentDatatype),typedArray:c.array}}i.batchTableJson=r}function S6e(e){switch(e){case 1:return"SCALAR";case 2:return"VEC2";case 3:return"VEC3";case 4:return"VEC4"}}function v6e(e){switch(e){case te.BYTE:return"BYTE";case te.UNSIGNED_BYTE:return"UNSIGNED_BYTE";case te.SHORT:return"SHORT";case te.UNSIGNED_SHORT:return"UNSIGNED_SHORT";case te.INT:return"INT";case te.UNSIGNED_INT:return"UNSIGNED_INT";case te.DOUBLE:return"DOUBLE";case te.FLOAT:return"FLOAT"}}function Nw(e,t,n){let i=t.typedArray,o;if(t.octEncoded&&(o=new zse,o.octEncoded=t.octEncoded,o.octEncodedZXY=t.octEncodedZXY,o.normalizationRange=t.quantizedRange,o.type=t.quantizedType,o.componentDatatype=t.quantizedComponentDatatype),t.isQuantized){o=new zse;let a=t.quantizedRange;o.normalizationRange=a,o.quantizedVolumeOffset=h.ZERO;let c=t.quantizedVolumeScale;o.quantizedVolumeDimensions=c,o.quantizedVolumeStepSize=h.divideByScalar(c,a,new h),o.componentDatatype=t.quantizedComponentDatatype,o.type=t.quantizedType}let r=new x6e;if(r.name=t.name,r.semantic=t.semantic,r.setIndex=t.setIndex,r.componentDatatype=t.componentDatatype,r.type=t.type,r.normalized=y(t.normalized,!1),r.min=t.min,r.max=t.max,r.quantization=o,t.isRGB565&&(i=Fn.decodeRGB565(i)),l(t.constantColor)){let a=new Array(4);r.constant=z.pack(t.constantColor,a)}else{let a=bt.createVertexBuffer({typedArray:i,context:n,usage:Ue.STATIC_DRAW});a.vertexArrayDestroyable=!1,e._buffers.push(a),r.buffer=a}let s=e._loadAttributesFor2D;return r.semantic===St.POSITION&&s&&(r.typedArray=i),r}var Hse,lB;function w6e(e){if(!l(lB)){Hse=new Gse.default(0),lB=new Array(e);for(let t=0;t<e;++t)lB[t]=Hse.random()}return lB}var D6e=new h,I6e=new h,P6e=new h;function O6e(e){let t=e.typedArray,n=20,i=t.length/3,o=Math.min(i,n),r=w6e(n),s=Number.MAX_VALUE,a=-Number.MAX_VALUE,c=h.fromElements(s,s,s,D6e),u=h.fromElements(a,a,a,I6e),f,d,p;if(e.isQuantized)c=h.ZERO,u=e.quantizedVolumeScale;else for(f=0;f<o;++f)d=Math.floor(r[f]*i),p=h.unpack(t,d*3,P6e),h.minimumByComponent(c,p,c),h.maximumByComponent(u,p,u);e.min=h.clone(c),e.max=h.clone(u)}var R6e={name:St.COLOR,semantic:St.COLOR,setIndex:0,constantColor:z.DARKGRAY,componentDatatype:X.FLOAT,type:sn.VEC4,isQuantized:!1,isTranslucent:!1};function M6e(e,t,n){let i=[],o,r=t.positions;return l(r)&&(O6e(r),o=Nw(e,r,n),o.count=t.pointsLength,i.push(o)),l(t.normals)&&(o=Nw(e,t.normals,n),i.push(o)),l(t.colors)?(o=Nw(e,t.colors,n),i.push(o)):(o=Nw(e,R6e,n),i.push(o)),l(t.batchIds)&&(o=Nw(e,t.batchIds,n),i.push(o)),i}function L6e(e,t){let n=e.batchLength,i=e.pointsLength,o=e.batchTableBinary,r=!l(e.batchIds);if(l(o)||e.hasDracoBatchTable){let s=y(n,i);return Fg({count:s,batchTable:e.batchTableJson,binaryBody:o,parseAsPropertyAttributes:r,customAttributeOutput:t})}return new aa({schema:{},propertyTables:[]})}function N6e(e,t){let n=e._parsedContent,i=new C6e;i.metallicFactor=0,i.roughnessFactor=.9;let o=new T6e;o.metallicRoughness=i;let r=n.colors;l(r)&&r.isTranslucent&&(o.alphaMode=wp.BLEND);let s=!l(n.normals);o.unlit=s;let a=new y6e;if(a.attributes=M6e(e,n,t),a.primitiveType=Fe.POINTS,a.material=o,l(n.batchIds)){let g=new b6e;g.propertyTableId=0,g.setIndex=0,g.positionalLabel="featureId_0",a.featureIds.push(g)}let c=new g6e;c.index=0,c.primitives=[a];let u=new _6e;u.nodes=[c],u.upAxis=No.Z,u.forwardAxis=No.X;let f=new p6e;f.scene=u,f.nodes=[c];let d=[];f.structuralMetadata=L6e(n,d),d.length>0&&F6e(e,a,d,t),l(n.rtcCenter)&&(f.transform=F.multiplyByTranslation(f.transform,n.rtcCenter,f.transform));let p=n.positions;l(p)&&p.isQuantized&&(f.transform=F.multiplyByTranslation(f.transform,p.quantizedVolumeOffset,f.transform)),e._components=f,e._parsedContent=void 0,e._arrayBuffer=void 0}function F6e(e,t,n,i){let o=t.attributes,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=bt.createVertexBuffer({typedArray:a.typedArray,context:i,usage:Ue.STATIC_DRAW});c.vertexArrayDestroyable=!1,e._buffers.push(c),a.buffer=c,a.typedArray=void 0,o.push(a)}t.propertyAttributeIds=[0]}Gg.prototype.unload=function(){let e=this._buffers;for(let t=0;t<e.length;t++)e[t].destroy();e.length=0,this._components=void 0,this._parsedContent=void 0,this._arrayBuffer=void 0};var uB=Gg;var B6e=new h,k6e=new h,V6e=new h,U6e=new F,z6e=new F,H6e=new F,G6e=new fe,W6e=new ce;function Fw(e,t,n,i,o,r,s){if(!e._ready||n.mode===ne.MORPHING)return;let a=Number.MAX_VALUE,c=e.sceneGraph,u=c._runtimeNodes;for(let f=0;f<u.length;f++){let d=u[f],p=d.node,g=F.clone(d.computedTransform,U6e),m=F.clone(c.computedModelMatrix,z6e),x=p.instances;l(x)&&x.transformInWorldSpace&&(m=F.multiplyTransformation(e.modelMatrix,c.components.transform,m),g=F.multiplyTransformation(c.axisCorrectionMatrix,d.computedTransform,g));let b=F.multiplyTransformation(m,g,H6e);n.mode!==ne.SCENE3D&&(b=Mt.basisTo2D(n.mapProjection,b,b));let T=[];if(l(x)){let A=x.attributes[0].count,S=x.attributes[0].componentDatatype,v=12,D=d.transformsTypedArray;if(!l(D)){let R=d.instancingTransformsBuffer;l(R)&&n.context.webgl2&&(D=X.createTypedArray(S,A*v),R.getBufferData(D))}if(l(D))for(let R=0;R<A;R++){let O=R*v,M=new F(D[O],D[O+1],D[O+2],D[O+3],D[O+4],D[O+5],D[O+6],D[O+7],D[O+8],D[O+9],D[O+10],D[O+11],0,0,0,1);x.transformInWorldSpace?(F.multiplyTransformation(M,g,M),F.multiplyTransformation(m,M,M)):F.multiplyTransformation(M,b,M),T.push(M)}}T.length===0&&T.push(b);let C=d.runtimePrimitives.length;for(let A=0;A<C;A++){let S=d.runtimePrimitives[A],v=S.primitive;if(l(S.boundingSphere)&&!l(x)){let Y=ce.transform(S.boundingSphere,b,W6e),J=ti.raySphere(t,Y);if(!l(J))continue}let D=Kt.getAttributeBySemantic(v,St.POSITION),R=D.byteOffset,O=D.byteStride,M=D.count;if(!l(v.indices))continue;let N=v.indices.typedArray;if(!l(N)){let Y=v.indices.buffer,J=v.indices.count,j=v.indices.indexDatatype;l(Y)&&n.context.webgl2&&(j===ke.UNSIGNED_BYTE?N=new Uint8Array(J):j===ke.UNSIGNED_SHORT?N=new Uint16Array(J):j===ke.UNSIGNED_INT&&(N=new Uint32Array(J)),Y.getBufferData(N))}let _=D.typedArray,E=D.componentDatatype,w=D.type,I=D.quantization;l(I)&&(E=D.quantization.componentDatatype,w=D.quantization.type);let L=sn.getNumberOfComponents(w),B=X.getSizeInBytes(E),H=!l(_)&&l(O)&&O!==L*B,V=L,G=0;H&&(V=O/B,G=R/B);let k=M*V;if(!l(_)){let Y=D.buffer;l(Y)&&n.context.webgl2&&(_=X.createTypedArray(E,k),Y.getBufferData(_,H?0:R,0,k)),I&&D.normalized&&(_=Fn.dequantize(_,E,w,M))}if(!l(N)||!l(_))return;r=y(r,ee.default),i=y(i,1),o=y(o,0);let W=N.length;for(let Y=0;Y<W;Y+=3){let J=N[Y],j=N[Y+1],Z=N[Y+2];for(let Q of T){let he=IW(_,J,G,V,I,Q,i,o,r,B6e),ye=IW(_,j,G,V,I,Q,i,o,r,k6e),re=IW(_,Z,G,V,I,Q,i,o,r,V6e),_e=ti.rayTriangleParametric(t,he,ye,re,y(e.backFaceCulling,!0));l(_e)&&_e<a&&_e>=0&&(a=_e)}}}}if(a!==Number.MAX_VALUE){if(s=_n.getPoint(t,a,s),n.mode!==ne.SCENE3D){h.fromElements(s.y,s.z,s.x,s);let f=n.mapProjection,d=f.ellipsoid,p=f.unproject(s,G6e);d.cartographicToCartesian(p,s)}return s}}function IW(e,t,n,i,o,r,s,a,c,u){let f=n+t*i;if(u.x=e[f],u.y=e[f+1],u.z=e[f+2],l(o))if(o.octEncoded){if(u=Fn.octDecodeInRange(u,o.normalizationRange,u),o.octEncodedZXY){let d=u.x;u.x=u.z,u.z=u.y,u.y=d}}else u=h.multiplyComponents(u,o.quantizedVolumeStepSize,u),u=h.add(u,o.quantizedVolumeOffset,u);return u=F.multiplyByPoint(r,u,u),s!==1&&Pr.getPosition(u,c,s,a,u),u}function so(e){e=y(e,y.EMPTY_OBJECT),this._loader=e.loader,this._resource=e.resource,this.type=y(e.type,yr.GLTF),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(this.modelMatrix),this._scale=y(e.scale,1),this._minimumPixelSize=y(e.minimumPixelSize,0),this._maximumScale=e.maximumScale,this._clampedScale=l(this._maximumScale)?Math.min(this._scale,this._maximumScale):this._scale,this._computedScale=this._clampedScale,this._updateModelMatrix=!1,this.referenceMatrix=void 0,this._iblReferenceFrameMatrix=$.clone($.IDENTITY),this._resourcesLoaded=!1,this._drawCommandsBuilt=!1,this._ready=!1,this._customShader=e.customShader,this._content=e.content,this._texturesLoaded=!1,this._defaultTexture=void 0,this._activeAnimations=new OF(this),this._clampAnimations=y(e.clampAnimations,!0),this._userAnimationDirty=!1,this._id=e.id,this._idDirty=!1,this._color=z.clone(e.color),this._colorBlendMode=y(e.colorBlendMode,Fc.HIGHLIGHT),this._colorBlendAmount=y(e.colorBlendAmount,.5);let t=y(e.silhouetteColor,z.RED);this._silhouetteColor=z.clone(t),this._silhouetteSize=y(e.silhouetteSize,0),this._silhouetteDirty=!1,this._silhouetteId=void 0,this._cull=y(e.cull,!0),this._opaquePass=y(e.opaquePass,ve.OPAQUE),this._allowPicking=y(e.allowPicking,!0),this._show=y(e.show,!0),this._style=void 0,this._styleDirty=!1,this._styleCommandsNeeded=void 0;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._featureTables=[],this._featureTableId=void 0,this._featureTableIdDirty=!0,this._pipelineResources=[],this._modelResources=[],this._pickIds=[],this._boundingSphere=new ce,this._initialRadius=void 0,this._heightReference=y(e.heightReference,Xe.NONE),this._heightDirty=this._heightReference!==Xe.NONE,this._removeUpdateHeightCallback=void 0,this._enableVerticalExaggeration=y(e.enableVerticalExaggeration,!0),this._hasVerticalExaggeration=!1,this._clampedModelMatrix=void 0;let o=e.scene;l(o)&&l(o.terrainProviderChanged)&&(this._terrainProviderChangedCallback=o.terrainProviderChanged.addEventListener(()=>{this._heightDirty=!0})),this._scene=o,this._distanceDisplayCondition=e.distanceDisplayCondition;let r=new Ip(e.pointCloudShading);this._pointCloudShading=r,this._attenuation=r.attenuation,this._pointCloudBackFaceCulling=r.backFaceCulling;let s=e.clippingPlanes;l(s)&&s.owner===void 0?Ss.setOwner(s,this,"_clippingPlanes"):this._clippingPlanes=s,this._clippingPlanesState=0,this._clippingPlanesMatrix=F.clone(F.IDENTITY);let a=e.clippingPolygons;l(a)&&a.owner===void 0?Xh.setOwner(a,this,"_clippingPolygons"):this._clippingPolygons=a,this._clippingPolygonsState=0,this._lightColor=h.clone(e.lightColor),this._imageBasedLighting=l(e.imageBasedLighting)?e.imageBasedLighting:new hC,this._shouldDestroyImageBasedLighting=!l(e.imageBasedLighting),this._environmentMapManager=void 0;let c=new Pg(e.environmentMapOptions);Pg.setOwner(c,this,"_environmentMapManager"),this._backFaceCulling=y(e.backFaceCulling,!0),this._backFaceCullingDirty=!1,this._shadows=y(e.shadows,bn.ENABLED),this._shadowsDirty=!1,this._debugShowBoundingVolumeDirty=!1,this._debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this._enableShowOutline=y(e.enableShowOutline,!0),this._debugWireframe=y(e.debugWireframe,!1),this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===yr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltf, otherwise debugWireframe will be ignored.");let u=e.credit;typeof u=="string"&&(u=new Et(u)),this._credits=[],this._credit=u,this._resourceCredits=[],this._gltfCredits=[],this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._showCreditsOnScreenDirty=!0,this._splitDirection=y(e.splitDirection,jr.NONE),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,z.BLACK),this._classificationType=e.classificationType,this._statistics=new cB,this._sceneMode=void 0,this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this._fogRenderable=void 0,this._skipLevelOfDetail=!1,this._ignoreCommands=y(e.ignoreCommands,!1),this._errorEvent=new me,this._readyEvent=new me,this._texturesReadyEvent=new me,this._sceneGraph=void 0,this._nodesByName={},this.pickObject=e.pickObject,this._marsOptions=y(e.marsOptions,{})}function PW(e,t){if(e._errorEvent.numberOfListeners>0){e._errorEvent.raiseEvent(t);return}console.log(t)}function j6e(e,t){let n=e._featureTables,i=t.propertyTables,o=i.length;for(let r=0;r<o;r++){let s=i[r],a=new MF({model:e,propertyTable:s});n.push(a)}return n}function q6e(e,t){let n=t._featureIdLabel,i=t._instanceFeatureIdLabel,o,r,s,a;for(o=0;o<e.nodes.length;o++)if(a=e.nodes[o],l(a.instances)&&(s=Kt.getFeatureIdsByLabel(a.instances.featureIds,i),l(s)&&l(s.propertyTableId)))return s.propertyTableId;for(o=0;o<e.nodes.length;o++)for(a=e.nodes[o],r=0;r<a.primitives.length;r++){let c=a.primitives[r],u=Kt.getFeatureIdsByLabel(c.featureIds,n);if(l(u))return u.propertyTableId}if(t._featureTables.length===1)return 0}function MW(e,t){if(!l(e)&&!l(t))return!1;if(l(e)!==l(t))return!0;let n=e.alpha,i=t.alpha;return Math.floor(n)!==Math.floor(i)||Math.ceil(n)!==Math.ceil(i)}Object.defineProperties(so.prototype,{ready:{get:function(){return this._ready}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},incrementallyLoadTextures:{get:function(){return y(this._loader.incrementallyLoadTextures,!1)}},texturesReadyEvent:{get:function(){return this._texturesReadyEvent}},loader:{get:function(){return this._loader}},statistics:{get:function(){return this._statistics}},activeAnimations:{get:function(){return this._activeAnimations}},clampAnimations:{get:function(){return this._clampAnimations},set:function(e){this._clampAnimations=e}},cull:{get:function(){return this._cull}},opaquePass:{get:function(){return this._opaquePass}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){e!==this._pointCloudShading&&this.resetDrawCommands(),this._pointCloudShading=e}},customShader:{get:function(){return this._customShader},set:function(e){e!==this._customShader&&this.resetDrawCommands(),this._customShader=e}},sceneGraph:{get:function(){return this._sceneGraph}},content:{get:function(){return this._content}},heightReference:{get:function(){return this._heightReference},set:function(e){e!==this._heightReference&&(this._heightDirty=!0),this._heightReference=e}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=Lt.clone(e,this._distanceDisplayCondition)}},structuralMetadata:{get:function(){return this._sceneGraph.components.structuralMetadata}},featureTableId:{get:function(){return this._featureTableId},set:function(e){this._featureTableId=e}},featureTables:{get:function(){return this._featureTables},set:function(e){this._featureTables=e}},id:{get:function(){return this._id},set:function(e){e!==this._id&&(this._idDirty=!0),this._id=e}},allowPicking:{get:function(){return this._allowPicking}},style:{get:function(){return this._style},set:function(e){this._style=e,this._styleDirty=!0}},color:{get:function(){return this._color},set:function(e){MW(e,this._color)&&this.resetDrawCommands(),this._color=z.clone(e,this._color)}},colorBlendMode:{get:function(){return this._colorBlendMode},set:function(e){this._colorBlendMode=e}},colorBlendAmount:{get:function(){return this._colorBlendAmount},set:function(e){this._colorBlendAmount=e}},silhouetteColor:{get:function(){return this._silhouetteColor},set:function(e){if(!z.equals(e,this._silhouetteColor)){let t=MW(e,this._silhouetteColor);this._silhouetteDirty=this._silhouetteDirty||t}this._silhouetteColor=z.clone(e,this._silhouetteColor)}},silhouetteSize:{get:function(){return this._silhouetteSize},set:function(e){if(e!==this._silhouetteSize){let t=this._silhouetteSize,n=e>0&&t===0||e===0&&t>0;this._silhouetteDirty=this._silhouetteDirty||n,this._backFaceCullingDirty=this._backFaceCullingDirty||n}this._silhouetteSize=e}},boundingSphere:{get:function(){let e=l(this._clampedModelMatrix)?this._clampedModelMatrix:this.modelMatrix;return qse(this,e),this._boundingSphere}},debugShowBoundingVolume:{get:function(){return this._debugShowBoundingVolume},set:function(e){this._debugShowBoundingVolume!==e&&(this._debugShowBoundingVolumeDirty=!0),this._debugShowBoundingVolume=e}},debugWireframe:{get:function(){return this._debugWireframe},set:function(e){this._debugWireframe!==e&&this.resetDrawCommands(),this._debugWireframe=e,this._debugWireframe===!0&&this._enableDebugWireframe===!1&&this.type===yr.GLTF&&Tt("model-debug-wireframe-ignored","enableDebugWireframe must be set to true in Model.fromGltfAsync, otherwise debugWireframe will be ignored.")}},show:{get:function(){return this._show},set:function(e){this._show=e}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),e!==this._featureIdLabel&&(this._featureTableIdDirty=!0),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),e!==this._instanceFeatureIdLabel&&(this._featureTableIdDirty=!0),this._instanceFeatureIdLabel=e}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){e!==this._clippingPlanes&&(Ss.setOwner(e,this,"_clippingPlanes"),this.resetDrawCommands())}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){e!==this._clippingPolygons&&(Xh.setOwner(e,this,"_clippingPolygons"),this.resetDrawCommands())}},enableVerticalExaggeration:{get:function(){return this._enableVerticalExaggeration},set:function(e){e!==this._enableVerticalExaggeration&&this.resetDrawCommands(),this._enableVerticalExaggeration=e}},hasVerticalExaggeration:{get:function(){return this._hasVerticalExaggeration}},lightColor:{get:function(){return this._lightColor},set:function(e){l(e)!==l(this._lightColor)&&this.resetDrawCommands(),this._lightColor=h.clone(e,this._lightColor)}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1,this.resetDrawCommands())}},environmentMapManager:{get:function(){return this._environmentMapManager},set:function(e){e!==this.environmentMapManager&&(Pg.setOwner(e,this,"_environmentMapManager"),this.resetDrawCommands())}},backFaceCulling:{get:function(){return this._backFaceCulling},set:function(e){e!==this._backFaceCulling&&(this._backFaceCullingDirty=!0),this._backFaceCulling=e}},scale:{get:function(){return this._scale},set:function(e){e!==this._scale&&(this._updateModelMatrix=!0),this._scale=e}},computedScale:{get:function(){return this._computedScale}},minimumPixelSize:{get:function(){return this._minimumPixelSize},set:function(e){e!==this._minimumPixelSize&&(this._updateModelMatrix=!0),this._minimumPixelSize=e}},maximumScale:{get:function(){return this._maximumScale},set:function(e){e!==this._maximumScale&&(this._updateModelMatrix=!0),this._maximumScale=e}},shadows:{get:function(){return this._shadows},set:function(e){e!==this._shadows&&(this._shadowsDirty=!0),this._shadows=e}},credit:{get:function(){return this._credit}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen!==e&&(this._showCreditsOnScreenDirty=!0),this._showCreditsOnScreen=e}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&this.resetDrawCommands(),this._splitDirection=e}},classificationType:{get:function(){return this._classificationType}},pickIds:{get:function(){return this._pickIds}},styleCommandsNeeded:{get:function(){return this._styleCommandsNeeded}}});so.prototype.getNode=function(e){return this._nodesByName[e]};so.prototype.setArticulationStage=function(e,t){this._sceneGraph.setArticulationStage(e,t)};so.prototype.applyArticulations=function(){this._sceneGraph.applyArticulations()};so.prototype.getExtension=function(e){return this._loader.components.extensions[e]};so.prototype.makeStyleDirty=function(){this._styleDirty=!0};so.prototype.resetDrawCommands=function(){this._drawCommandsBuilt=!1};var Y6e=new F,X6e=new $,K6e=new F;so.prototype.update=function(e){let t=!1;try{t=Z6e(this,e)}catch(n){if(!this._loader.incrementallyLoadTextures&&n.name==="TextureError")PW(this,n);else{let i=Kt.getError("model",this._resource,n);PW(this,i)}}if(J6e(this,e),$6e(this,e),Q6e(this,e),e9e(this,e),!this._resourcesLoaded&&t){this._resourcesLoaded=!0;let n=this._loader.components;if(!l(n)){if(this._loader.isUnloaded())return;let r=Kt.getError("model",this._resource,new se("Failed to load model."));PW(r),this._rejectLoad=this._rejectLoad&&this._rejectLoad(r)}let i=n.structuralMetadata;l(i)&&i.propertyTableCount>0&&j6e(this,i);let o=new aB({model:this,modelComponents:n});this._sceneGraph=o,this._gltfCredits=o.components.asset.credits}if(!(!this._resourcesLoaded||e.mode===ne.MORPHING)){if(t9e(this),n9e(this),i9e(this,e),o9e(this),r9e(this,e),s9e(this,e),a9e(this,e),c9e(this,e),l9e(this,e),u9e(this,e),f9e(this,e),this._defaultTexture=e.context.defaultTexture,d9e(this,e),h9e(this,e),m9e(this),p9e(this,e),x9e(this,e),!this._ready){e.afterRender.push(()=>{this._ready=!0,this._readyEvent.raiseEvent(this)});return}this._loader.incrementallyLoadTextures&&!this._texturesLoaded&&this._loader.texturesLoaded&&(this.resetDrawCommands(),this._texturesLoaded=!0,this._texturesReadyEvent.raiseEvent(this)),g9e(this),b9e(this,e),T9e(this),C9e(this,e)}};function Z6e(e,t){return!e._resourcesLoaded||e._loader.incrementallyLoadTextures&&!e._texturesLoaded?(t.afterRender.push(()=>!0),e._loader.process(t)):!0}function $6e(e,t){l(e._customShader)&&e._customShader.update(t)}function Q6e(e,t){let n=e._environmentMapManager,i=t.passes.pick||t.passes.pickVoxel;e._ready&&n.owner===e&&!i&&(n.position=e._boundingSphere.center,n.shouldUpdate=!l(e._imageBasedLighting.sphericalHarmonicCoefficients)||!l(e._imageBasedLighting.specularEnvironmentMaps),n.update(t),n.shouldRegenerateShaders&&e.resetDrawCommands())}function J6e(e,t){if(l(e._marsOptions)&&l(e._marsOptions.customShaders)){let n=X_.getCache(e._marsOptions.customShaders);for(let i in n)Object.prototype.hasOwnProperty.call(n,i)&&n[i].update(t)}}function e9e(e,t){e._imageBasedLighting.update(t),e._imageBasedLighting.shouldRegenerateShaders&&e.resetDrawCommands()}function t9e(e){if(!e._featureTableIdDirty)return;e._featureTableIdDirty=!1;let t=e._sceneGraph.components,n=t.structuralMetadata;l(n)&&n.propertyTableCount>0&&(e.featureTableId=q6e(t,e),e._styleDirty=!0,e.resetDrawCommands())}function n9e(e){e._styleDirty&&(e.applyStyle(e._style),e._styleDirty=!1)}function i9e(e,t){let n=e._featureTables,i=n.length,o=!1;for(let r=0;r<i;r++)n[r].update(t),n[r].styleCommandsNeededDirty&&(o=!0);o&&jse(e)}function jse(e){let t=e.featureTables[e.featureTableId];e._styleCommandsNeeded=Jh.getStyleCommandsNeeded(t.featuresLength,t.batchTexture.translucentFeaturesLength)}function o9e(e){let t=e.pointCloudShading;t.attenuation!==e._attenuation&&(e.resetDrawCommands(),e._attenuation=t.attenuation),t.backFaceCulling!==e._pointCloudBackFaceCulling&&(e.resetDrawCommands(),e._pointCloudBackFaceCulling=t.backFaceCulling)}function r9e(e,t){e._silhouetteDirty&&(Yse(t)&&e.resetDrawCommands(),e._silhouetteDirty=!1)}function s9e(e,t){let n=e.hasSkipLevelOfDetail(t);n!==e._skipLevelOfDetail&&(e.resetDrawCommands(),e._skipLevelOfDetail=n)}function a9e(e,t){let n=0;e.isClippingEnabled()&&(e._clippingPlanes.owner===e&&e._clippingPlanes.update(t),n=e._clippingPlanes.clippingPlanesState),n!==e._clippingPlanesState&&(e.resetDrawCommands(),e._clippingPlanesState=n)}function c9e(e,t){let n=0;e.isClippingPolygonsEnabled()&&(e._clippingPolygons.owner===e&&(e._clippingPolygons.update(t),e._clippingPolygons.queueCommands(t)),n=e._clippingPolygons.clippingPolygonsState),n!==e._clippingPolygonsState&&(e.resetDrawCommands(),e._clippingPolygonsState=n)}function l9e(e,t){t.mode!==e._sceneMode&&(e._projectTo2D?e.resetDrawCommands():e._updateModelMatrix=!0,e._sceneMode=t.mode)}function u9e(e,t){let n=t.fog.enabled&&t.fog.renderable;n!==e._fogRenderable&&(e.resetDrawCommands(),e._fogRenderable=n)}function f9e(e,t){if(e.enableVerticalExaggeration){let n=t.verticalExaggeration!==1;e.hasVerticalExaggeration!==n&&(e.resetDrawCommands(),e._hasVerticalExaggeration=n)}else e.hasVerticalExaggeration&&(e.resetDrawCommands(),e._hasVerticalExaggeration=!1)}function d9e(e,t){e._drawCommandsBuilt||(e.destroyPipelineResources(),e._sceneGraph.buildDrawCommands(t),e._drawCommandsBuilt=!0)}function h9e(e,t){F.equals(e.modelMatrix,e._modelMatrix)||(e._updateModelMatrix=!0,e._modelMatrix=F.clone(e.modelMatrix,e._modelMatrix))}var Wg=new h,OW=new fe;function m9e(e){if(!e._updateModelMatrix&&!e._heightDirty&&e._minimumPixelSize===0)return;l(e._removeUpdateHeightCallback)&&(e._removeUpdateHeightCallback(),e._removeUpdateHeightCallback=void 0);let t=e._scene;if(!l(t)||e.heightReference===Xe.NONE){e._clampedModelMatrix=void 0;return}let n=y(t.ellipsoid,ee.default),i=e.modelMatrix;Wg.x=i[12],Wg.y=i[13],Wg.z=i[14];let o=n.cartesianToCartographic(Wg);if(!l(o)){e._clampedModelMatrix=void 0;return}l(e._clampedModelMatrix)||(e._clampedModelMatrix=F.clone(i,new F)),e._removeUpdateHeightCallback=t.updateHeight(o,Wse(e,n,o),e.heightReference);let r=t.getHeight(o,e.heightReference);if(l(r)){let s=Wse(e,n,o);fe.clone(o,OW),OW.height=r,s(OW)}e._heightDirty=!1,e._updateModelMatrix=!0}function p9e(e,t){if(!e._updateModelMatrix&&e._minimumPixelSize===0)return;let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;qse(e,n),_9e(e,n,t)}function qse(e,t){e._clampedScale=l(e._maximumScale)?Math.min(e._scale,e._maximumScale):e._scale,e._boundingSphere.center=h.multiplyByScalar(e._sceneGraph.boundingSphere.center,e._clampedScale,e._boundingSphere.center),e._boundingSphere.radius=e._initialRadius*e._clampedScale,e._boundingSphere=ce.transform(e._boundingSphere,t,e._boundingSphere)}function _9e(e,t,n){let i=e.scale;if(e.minimumPixelSize!==0&&!e._projectTo2D){let o=n.context,r=Math.max(o.drawingBufferWidth,o.drawingBufferHeight);F.getTranslation(t,Wg),e._sceneMode!==ne.SCENE3D&&Ui.computeActualEllipsoidPosition(n,Wg,Wg);let s=e._boundingSphere.radius,a=A9e(Wg,s,n),c=1/a;Math.min(c*(2*s),r)<e.minimumPixelSize&&(i=e.minimumPixelSize*a/(2*e._initialRadius))}e._computedScale=l(e.maximumScale)?Math.min(e.maximumScale,i):i}function g9e(e){if(!e._idDirty)return;e._idDirty=!1;let t=e._id,n=e._pickIds,i=n.length;for(let o=0;o<i;++o)n[o].object.id=t}var y9e=new $(1,0,0,0,0,1,0,-1,0);function x9e(e,t){let n=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix,i=y(e.referenceMatrix,n),o=t.context,r=e._imageBasedLighting;if(r.useSphericalHarmonicCoefficients||r.useSpecularEnvironmentMaps){let s=X6e,a=Y6e;a=F.multiply(o.uniformState.view3D,i,a),s=F.getRotation(a,s),s=$.transpose(s,s),e._iblReferenceFrameMatrix=$.multiply(y9e,s,e._iblReferenceFrameMatrix)}if(e.isClippingEnabled()){let s=K6e;s=F.multiply(o.uniformState.view3D,i,s),s=F.multiply(s,e._clippingPlanes.modelMatrix,s),e._clippingPlanesMatrix=F.inverseTranspose(s,e._clippingPlanesMatrix)}}function b9e(e,t){let n=e._sceneGraph;if(e._updateModelMatrix||e._minimumPixelSize!==0){let o=l(e._clampedModelMatrix)?e._clampedModelMatrix:e.modelMatrix;n.updateModelMatrix(o,t),e._updateModelMatrix=!1}e._backFaceCullingDirty&&(n.updateBackFaceCulling(e._backFaceCulling),e._backFaceCullingDirty=!1),e._shadowsDirty&&(n.updateShadows(e._shadows),e._shadowsDirty=!1),e._debugShowBoundingVolumeDirty&&(n.updateShowBoundingVolume(e._debugShowBoundingVolume),e._debugShowBoundingVolumeDirty=!1);let i=!1;l(e.classificationType)||(i=e._userAnimationDirty||e._activeAnimations.update(t)),n.update(t,i),e._userAnimationDirty=!1}function T9e(e){if(!e._showCreditsOnScreenDirty)return;e._showCreditsOnScreenDirty=!1,e._credits.length=0;let t=e._showCreditsOnScreen;if(l(e._credit)){let s=Et.clone(e._credit);s.showOnScreen=s.showOnScreen||t,e._credits.push(s)}let n=e._resourceCredits,i=n.length;for(let s=0;s<i;s++){let a=Et.clone(n[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}let o=e._gltfCredits,r=o.length;for(let s=0;s<r;s++){let a=Et.clone(o[s]);a.showOnScreen=a.showOnScreen||t,e._credits.push(a)}}function C9e(e,t){let n=S9e(e,t),i=e.isInvisible(),o=e.hasSilhouette(t),r=e._show&&e._computedScale!==0&&n&&(!i||o),s=t.passes,a=s.render||s.pick&&e.allowPicking;r&&!e._ignoreCommands&&a&&(v9e(e,t),e._sceneGraph.pushDrawCommands(t))}var RW=new ce;function A9e(e,t,n){return RW.center=e,RW.radius=t,n.camera.getPixelSize(RW,n.context.drawingBufferWidth,n.context.drawingBufferHeight)}var fB=new h;function Wse(e,t,n){return function(i){VT(e.heightReference)&&(i.height+=n.height),t.cartographicToCartesian(i,fB);let o=e._clampedModelMatrix;F.clone(e.modelMatrix,o),o[12]=fB.x,o[13]=fB.y,o[14]=fB.z,e._heightDirty=!0}}var E9e=new h;function S9e(e,t){let n=e.distanceDisplayCondition;if(!l(n))return!0;let i=n.near*n.near,o=n.far*n.far,r;if(t.mode===ne.SCENE2D){let a=(t.camera.frustum.right-t.camera.frustum.left)*.5;r=a*a}else{let s=F.getTranslation(e.modelMatrix,E9e);Ui.computeActualEllipsoidPosition(t,s,s),r=h.distanceSquared(s,t.camera.positionWC)}return r>=i&&r<=o}function v9e(e,t){let n=t.creditDisplay,i=e._credits,o=i.length;for(let r=0;r<o;r++)n.addCreditToNextFrame(i[r])}so.prototype.isTranslucent=function(){let e=this.color;return l(e)&&e.alpha>0&&e.alpha<1};so.prototype.isInvisible=function(){let e=this.color;return l(e)&&e.alpha===0};function Yse(e){return e.context.stencilBuffer}so.prototype.hasSilhouette=function(e){return Yse(e)&&this._silhouetteSize>0&&this._silhouetteColor.alpha>0&&!l(this._classificationType)};so.prototype.hasSkipLevelOfDetail=function(e){if(!yr.is3DTiles(this.type))return!1;let t=e.context.stencilBuffer,n=this._content.tileset;return t&&n.isSkippingLevelOfDetail};so.prototype.isClippingEnabled=function(){let e=this._clippingPlanes;return l(e)&&e.enabled&&e.length!==0};so.prototype.pick=function(e,t,n,i,o){return Fw(this,e,t,n,i,o)};so.prototype.isClippingPolygonsEnabled=function(){let e=this._clippingPolygons;return l(e)&&e.enabled&&e.length!==0};so.prototype.isDestroyed=function(){return!1};so.prototype.destroy=function(){let e=this._loader;l(e)&&e.destroy();let t=this._featureTables;if(l(t)){let r=t.length;for(let s=0;s<r;s++)t[s].destroy()}this.destroyPipelineResources(),this.destroyModelResources(),l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),l(this._terrainProviderChangedCallback)&&(this._terrainProviderChangedCallback(),this._terrainProviderChangedCallback=void 0);let n=this._clippingPlanes;l(n)&&!n.isDestroyed()&&n.owner===this&&n.destroy(),this._clippingPlanes=void 0;let i=this._clippingPolygons;l(i)&&!i.isDestroyed()&&i.owner===this&&i.destroy(),this._clippingPolygons=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0;let o=this._environmentMapManager;!o.isDestroyed()&&o.owner===this&&o.destroy(),this._environmentMapManager=void 0,ue(this)};so.prototype.destroyPipelineResources=function(){let e=this._pipelineResources;for(let t=0;t<e.length;t++)e[t].destroy();this._pipelineResources.length=0,this._pickIds.length=0};so.prototype.destroyModelResources=function(){let e=this._modelResources;for(let t=0;t<e.length;t++)e[t].destroy();this._modelResources.length=0};so.fromGltfAsync=async function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.url,e.gltf),n={releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},i=y(e.basePath,""),o=Ae.createIfNeeded(i);l(t.asset)?(n.gltfJson=t,n.baseResource=o,n.gltfResource=o):t instanceof Uint8Array?(n.typedArray=t,n.baseResource=o,n.gltfResource=o):n.gltfResource=Ae.createIfNeeded(t);let r=new Lg(n),a=l(e.content)?yr.TILE_GLTF:yr.GLTF,c=n.gltfResource,u=Bw(r,a,e);u.resource=c,u.environmentMapOptions=e.environmentMapOptions;try{await r.load()}catch(g){throw r.destroy(),Kt.getError("model",c,g)}let f=e.gltfCallback;l(f)&&f(r.gltfJson);let d=new so(u),p=d._resource.credits;if(l(p)){let g=p.length;for(let m=0;m<g;m++)d._resourceCredits.push(Et.clone(p[m]))}return d};so.fromB3dm=async function(e){let t={b3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline,loadForClassification:l(e.classificationType)},n=new gF(t);try{await n.load();let i=Bw(n,yr.TILE_B3DM,e);return new so(i)}catch(i){throw n.destroy(),i}};so.fromPnts=async function(e){let t={arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,loadAttributesFor2D:e.projectTo2D},n=new uB(t);try{await n.load();let i=Bw(n,yr.TILE_PNTS,e);return new so(i)}catch(i){throw n.destroy(),i}};so.fromI3dm=async function(e){let t={i3dmResource:e.resource,arrayBuffer:e.arrayBuffer,byteOffset:e.byteOffset,releaseGltfJson:e.releaseGltfJson,asynchronous:e.asynchronous,incrementallyLoadTextures:e.incrementallyLoadTextures,upAxis:e.upAxis,forwardAxis:e.forwardAxis,loadAttributesFor2D:e.projectTo2D,enablePick:e.enablePick,loadIndicesForWireframe:e.enableDebugWireframe,loadPrimitiveOutline:e.enableShowOutline},n=new EF(t);try{await n.load();let i=Bw(n,yr.TILE_I3DM,e);return new so(i)}catch(i){throw n.destroy(),i}};so.fromGeoJson=async function(e){let t={geoJson:e.geoJson},n=new xF(t),i=Bw(n,yr.TILE_GEOJSON,e);return new so(i)};var w9e=new z;so.prototype.applyColorAndShow=function(e){let t=z.clone(this._color,w9e),n=l(e)&&l(e.color),i=l(e)&&l(e.show);this._color=n?e.color.evaluateColor(void 0,this._color):z.clone(z.WHITE,this._color),this._show=i?e.show.evaluate(void 0):!0,MW(t,this._color)&&this.resetDrawCommands()};so.prototype.applyStyle=function(e){let t=this.type===yr.TILE_PNTS,n=l(this.featureTableId)&&this.featureTables[this.featureTableId].featuresLength>0,i=l(this.structuralMetadata)?this.structuralMetadata.propertyAttributes:void 0,o=l(i)&&l(i[0]);if(t&&(!n||o)){this.resetDrawCommands();return}n?(this.featureTables[this.featureTableId].applyStyle(e),jse(this,e)):(this.applyColorAndShow(e),this._styleCommandsNeeded=void 0)};function Bw(e,t,n){return{loader:e,type:t,resource:n.resource,show:n.show,modelMatrix:n.modelMatrix,scale:n.scale,enableVerticalExaggeration:n.enableVerticalExaggeration,minimumPixelSize:n.minimumPixelSize,maximumScale:n.maximumScale,id:n.id,allowPicking:n.allowPicking,clampAnimations:n.clampAnimations,shadows:n.shadows,debugShowBoundingVolume:n.debugShowBoundingVolume,enableDebugWireframe:n.enableDebugWireframe,debugWireframe:n.debugWireframe,cull:n.cull,opaquePass:n.opaquePass,customShader:n.customShader,content:n.content,heightReference:n.heightReference,scene:n.scene,distanceDisplayCondition:n.distanceDisplayCondition,color:n.color,colorBlendAmount:n.colorBlendAmount,colorBlendMode:n.colorBlendMode,silhouetteColor:n.silhouetteColor,silhouetteSize:n.silhouetteSize,enableShowOutline:n.enableShowOutline,showOutline:n.showOutline,outlineColor:n.outlineColor,clippingPlanes:n.clippingPlanes,clippingPolygons:n.clippingPolygons,lightColor:n.lightColor,imageBasedLighting:n.imageBasedLighting,backFaceCulling:n.backFaceCulling,credit:n.credit,showCreditsOnScreen:n.showCreditsOnScreen,splitDirection:n.splitDirection,projectTo2D:n.projectTo2D,enablePick:n.enablePick,featureIdLabel:n.featureIdLabel,instanceFeatureIdLabel:n.instanceFeatureIdLabel,pointCloudShading:n.pointCloudShading,classificationType:n.classificationType,pickObject:n.pickObject,marsOptions:n.marsOptions}}var em=so;function Fr(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this._model=void 0,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(Fr.prototype,{featuresLength:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;return l(t)&&l(t[n])?t[n].featuresLength:0}},pointsLength:{get:function(){return this._model.statistics.pointsLength}},trianglesLength:{get:function(){return this._model.statistics.trianglesLength}},geometryByteLength:{get:function(){return this._model.statistics.geometryByteLength}},texturesByteLength:{get:function(){return this._model.statistics.texturesByteLength}},batchTableByteLength:{get:function(){let e=this._model.statistics;return e.propertyTablesByteLength+e.batchTexturesByteLength}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){let e=this._model,t=e.featureTables,n=e.featureTableId;if(l(t)&&l(t[n]))return t[n]}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});Fr.prototype.getTextureIds=function(){return this._model.statistics.getTextureIds()};Fr.prototype.getTextureByteLengthById=function(e){return this._model.statistics.getTextureByteLengthById(e)};Fr.prototype.getExtension=function(e){return this._model.getExtension(e)};Fr.prototype.getFeature=function(e){let t=this._model,n=t.featureTableId;return t.featureTables[n].getFeature(e)};Fr.prototype.hasProperty=function(e,t){let n=this._model,i=n.featureTableId;return l(i)?n.featureTables[i].hasProperty(e,t):!1};Fr.prototype.applyDebugSettings=function(e,t){t=e?t:z.WHITE,this.featuresLength===0?this._model.color=t:l(this.batchTable)&&this.batchTable.setAllColor(t)};Fr.prototype.applyStyle=function(e){this._model.style=e};Fr.prototype.update=function(e,t){let n=this._model,i=this._tile;n.colorBlendAmount=e.colorBlendAmount,n.colorBlendMode=e.colorBlendMode,n.modelMatrix=i.computedTransform,n.customShader=e.customShader,n.featureIdLabel=e.featureIdLabel,n.instanceFeatureIdLabel=e.instanceFeatureIdLabel,n.lightColor=e.lightColor,n.imageBasedLighting=e.imageBasedLighting,n.backFaceCulling=e.backFaceCulling,n.shadows=e.shadows,n.showCreditsOnScreen=e.showCreditsOnScreen,n.splitDirection=e.splitDirection,n.debugWireframe=e.debugWireframe,n.showOutline=e.showOutline,n.outlineColor=e.outlineColor,n.pointCloudShading=e.pointCloudShading;let o=e.clippingPlanes;n.referenceMatrix=e.clippingPlanesOriginMatrix,l(o)&&i.clippingPlanesDirty&&(n._clippingPlanes=o.enabled&&i._isClipped?o:void 0);let r=e.environmentMapManager;n.environmentMapManager!==o&&(n._environmentMapManager=r),l(o)&&l(n._clippingPlanes)&&n._clippingPlanes!==o&&(n._clippingPlanes=o,n._clippingPlanesState=0);let s=e.clippingPolygons;l(s)&&i.clippingPolygonsDirty&&(n._clippingPolygons=s.enabled&&i._isClippedByPolygon?s:void 0),l(s)&&l(n._clippingPolygons)&&n._clippingPolygons!==s&&(n._clippingPolygons=s,n._clippingPolygonsState=0),n.update(t),!this._ready&&n.ready&&(n.activeAnimations.addAll({loop:cu.REPEAT}),this._ready=!0)};Fr.prototype.isDestroyed=function(){return!1};Fr.prototype.destroy=function(){return this._model=this._model&&this._model.destroy(),ue(this)};Fr.fromGltf=async function(e,t,n,i){let o=new Fr(e,t,n),s=kw(e,t,o,{gltf:i,basePath:n}),a=e.vectorClassificationOnly?void 0:e.classificationType;s.classificationType=a;let c=await em.fromGltfAsync(s);return o._model=c,o};Fr.fromB3dm=async function(e,t,n,i,o){let r=new Fr(e,t,n),a=kw(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=e.vectorClassificationOnly?void 0:e.classificationType;a.classificationType=c;let u=await em.fromB3dm(a);return r._model=u,r};Fr.fromI3dm=async function(e,t,n,i,o){let r=new Fr(e,t,n),a=kw(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await em.fromI3dm(a);return r._model=c,r};Fr.fromPnts=async function(e,t,n,i,o){let r=new Fr(e,t,n),a=kw(e,t,r,{arrayBuffer:i,byteOffset:o,resource:n}),c=await em.fromPnts(a);return r._model=c,r};Fr.fromGeoJson=async function(e,t,n,i){let o=new Fr(e,t,n),s=kw(e,t,o,{geoJson:i,resource:n}),a=await em.fromGeoJson(s);return o._model=a,o};Fr.prototype.pick=function(e,t,n){if(!l(this._model)||!this._ready)return;let i=t.verticalExaggeration,o=t.verticalExaggerationRelativeHeight;return this._model.pick(e,t,i,o,ee.WGS84,n)};function kw(e,t,n,i){let o={cull:!1,releaseGltfJson:!0,opaquePass:ve.CESIUM_3D_TILE,modelMatrix:t.computedTransform,upAxis:e._modelUpAxis,forwardAxis:e._modelForwardAxis,incrementallyLoadTextures:!1,customShader:e.customShader,content:n,colorBlendMode:e.colorBlendMode,colorBlendAmount:e.colorBlendAmount,lightColor:e.lightColor,imageBasedLighting:e.imageBasedLighting,featureIdLabel:e.featureIdLabel,instanceFeatureIdLabel:e.instanceFeatureIdLabel,pointCloudShading:e.pointCloudShading,clippingPlanes:e.clippingPlanes,backFaceCulling:e.backFaceCulling,shadows:e.shadows,showCreditsOnScreen:e.showCreditsOnScreen,splitDirection:e.splitDirection,enableDebugWireframe:e._enableDebugWireframe,debugWireframe:e.debugWireframe,projectTo2D:e._projectTo2D,enablePick:e._enablePick,enableShowOutline:e._enableShowOutline,showOutline:e.showOutline,outlineColor:e.outlineColor,marsOptions:e._marsOptions};return Ct(i,o)}var hf=Fr;function mf(e,t,n){this._tileset=e,this._tile=t,this._resource=n,this.featurePropertiesDirty=!1,this._metadata=void 0,this._group=void 0,this._ready=!1}Object.defineProperties(mf.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},batchTable:{get:function(){}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},group:{get:function(){return this._group},set:function(e){this._group=e}}});mf.fromJson=function(e,t,n,i){let o=new mf(e,t,n);return o._tileset.loadTileset(o._resource,i,o._tile),o._ready=!0,o};mf.prototype.hasProperty=function(e,t){return!1};mf.prototype.getFeature=function(e){};mf.prototype.applyDebugSettings=function(e,t){};mf.prototype.applyStyle=function(e){};mf.prototype.update=function(e,t){};mf.prototype.pick=function(e,t,n){};mf.prototype.isDestroyed=function(){return!1};mf.prototype.destroy=function(){return ue(this)};var dB=mf;var hB=`uniform sampler2D u_atlas; + +#ifdef VECTOR_TILE +uniform vec4 u_highlightColor; #endif - mat2 rotationMatrix; - float mpp; +in vec2 v_textureCoordinates; +in vec4 v_pickColor; +in vec4 v_color; +in float v_splitDirection; -#ifdef DISABLE_DEPTH_DISTANCE - float disableDepthTestDistance = compressedAttribute3.z; +#ifdef SDF +in vec4 v_outlineColor; +in float v_outlineWidth; #endif -#ifdef VERTEX_DEPTH_CHECK -if (lengthSq < disableDepthTestDistance) { - float depthsilon = 10.0; +#ifdef FRAGMENT_DEPTH_CHECK +in vec4 v_textureCoordinateBounds; // the min and max x and y values for the texture coordinates +in vec4 v_originTextureCoordinateAndTranslate; // texture coordinate at the origin, billboard translate (used for label glyphs) +in vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize +in mat2 v_rotationMatrix; - vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy; - vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - float globeDepth1 = getGlobeDepth(pEC1); +const float SHIFT_LEFT12 = 4096.0; +const float SHIFT_LEFT1 = 2.0; - if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1) +const float SHIFT_RIGHT12 = 1.0 / 4096.0; +const float SHIFT_RIGHT1 = 1.0 / 2.0; + +float getGlobeDepth(vec2 adjustedST, vec2 depthLookupST, bool applyTranslate, vec2 dimensions, vec2 imageSize) +{ + vec2 lookupVector = imageSize * (depthLookupST - adjustedST); + lookupVector = v_rotationMatrix * lookupVector; + vec2 labelOffset = (dimensions - imageSize) * (depthLookupST - vec2(0.0, v_originTextureCoordinateAndTranslate.y)); // aligns label glyph with bounding rectangle. Will be zero for billboards because dimensions and imageSize will be equal + + vec2 translation = v_originTextureCoordinateAndTranslate.zw; + + if (applyTranslate) { - vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - float globeDepth2 = getGlobeDepth(pEC2); + // this is only needed for labels where the horizontal origin is not LEFT + // it moves the label back to where the "origin" should be since all label glyphs are set to HorizontalOrigin.LEFT + translation += (dimensions * v_originTextureCoordinateAndTranslate.xy * vec2(1.0, 0.0)); + } - if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2) - { - vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - float globeDepth3 = getGlobeDepth(pEC3); - if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3) - { - positionEC.xyz = vec3(0.0); - } - } + vec2 st = ((lookupVector - translation + labelOffset) + gl_FragCoord.xy) / czm_viewport.zw; + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); + + if (logDepthOrDepth == 0.0) + { + return 0.0; // not on the globe } + + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + return eyeCoordinate.z / eyeCoordinate.w; } #endif - positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); - gl_Position = czm_projection * positionEC; - v_textureCoordinates = textureCoordinates; -#ifdef LOG_DEPTH - czm_vertexLogDepth(); -#endif +#ifdef SDF -#ifdef DISABLE_DEPTH_DISTANCE - if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) +// Get the distance from the edge of a glyph at a given position sampling an SDF texture. +float getDistance(vec2 position) +{ + return texture(u_atlas, position).r; +} + +// Samples the sdf texture at the given position and produces a color based on the fill color and the outline. +vec4 getSDFColor(vec2 position, float outlineWidth, vec4 outlineColor, float smoothing) +{ + float distance = getDistance(position); + + if (outlineWidth > 0.0) { - disableDepthTestDistance = czm_minimumDisableDepthTestDistance; + // Don't get the outline edge exceed the SDF_EDGE + float outlineEdge = clamp(SDF_EDGE - outlineWidth, 0.0, SDF_EDGE); + float outlineFactor = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); + vec4 sdfColor = mix(outlineColor, v_color, outlineFactor); + float alpha = smoothstep(outlineEdge - smoothing, outlineEdge + smoothing, distance); + return vec4(sdfColor.rgb, sdfColor.a * alpha); } - - if (disableDepthTestDistance != 0.0) + else { - // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. - float zclip = gl_Position.z / gl_Position.w; - bool clipped = (zclip < -1.0 || zclip > 1.0); - if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) - { - // Position z on the near plane. - gl_Position.z = -gl_Position.w; -#ifdef LOG_DEPTH - v_depthFromNearPlusOne = 1.0; -#endif - } + float alpha = smoothstep(SDF_EDGE - smoothing, SDF_EDGE + smoothing, distance); + return vec4(v_color.rgb, v_color.a * alpha); } +} #endif -#ifdef FRAGMENT_DEPTH_CHECK - if (sizeInMeters) { - translate /= mpp; - dimensions /= mpp; - imageSize /= mpp; - } +void main() +{ + if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; + + vec4 color = texture(u_atlas, v_textureCoordinates); -#if defined(ROTATION) || defined(ALIGNED_AXIS) - v_rotationMatrix = rotationMatrix; -#else - v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); -#endif +#ifdef SDF + float outlineWidth = v_outlineWidth; + vec4 outlineColor = v_outlineColor; - float enableDepthCheck = 0.0; - if (lengthSq < disableDepthTestDistance) - { - enableDepthCheck = 1.0; - } + // Get the current distance + float distance = getDistance(v_textureCoordinates); - float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12)); - float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12)); +#if (__VERSION__ == 300 || defined(GL_OES_standard_derivatives)) + float smoothing = fwidth(distance); + // Get an offset that is approximately half the distance to the neighbor pixels + // 0.354 is approximately half of 1/sqrt(2) + vec2 sampleOffset = 0.354 * vec2(dFdx(v_textureCoordinates) + dFdy(v_textureCoordinates)); - float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12)); - float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12)); + // Sample the center point + vec4 center = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); - v_compressed.x = eyeDepth; - v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck; - v_compressed.z = dw * SHIFT_LEFT12 + dh; - v_compressed.w = iw * SHIFT_LEFT12 + ih; - v_originTextureCoordinateAndTranslate.xy = depthOrigin; - v_originTextureCoordinateAndTranslate.zw = translate; - v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate; + // Sample the 4 neighbors + vec4 color1 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color2 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color3 = getSDFColor(v_textureCoordinates + vec2(-sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + vec4 color4 = getSDFColor(v_textureCoordinates + vec2(sampleOffset.x, -sampleOffset.y), outlineWidth, outlineColor, smoothing); + // Equally weight the center sample and the 4 neighboring samples + color = (center + color1 + color2 + color3 + color4)/5.0; +#else + // If no derivatives available (IE 10?), just do a single sample + float smoothing = 1.0/32.0; + color = getSDFColor(v_textureCoordinates, outlineWidth, outlineColor, smoothing); #endif -#ifdef SDF - vec4 outlineColor; - float outlineWidth; + color = czm_gammaCorrect(color); +#else + color = czm_gammaCorrect(color); + color *= czm_gammaCorrect(v_color); +#endif - temp = sdf.x; - temp = temp * SHIFT_RIGHT8; - outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor.r = floor(temp); +// Fully transparent parts of the billboard are not pickable. +#if !defined(OPAQUE) && !defined(TRANSLUCENT) + if (color.a < 0.005) // matches 0/255 and 1/255 + { + discard; + } +#else +// The billboard is rendered twice. The opaque pass discards translucent fragments +// and the translucent pass discards opaque fragments. +#ifdef OPAQUE + if (color.a < 0.995) // matches < 254/255 + { + discard; + } +#else + if (color.a >= 0.995) // matches 254/255 and 255/255 + { + discard; + } +#endif +#endif - temp = sdf.y; - temp = temp * SHIFT_RIGHT8; - float temp3 = (temp - floor(temp)) * SHIFT_LEFT8; - temp = floor(temp) * SHIFT_RIGHT8; - outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor.a = floor(temp); - outlineColor /= 255.0; +#ifdef VECTOR_TILE + color *= u_highlightColor; +#endif + out_FragColor = color; - v_outlineWidth = outlineWidth / 255.0; - v_outlineColor = outlineColor; - v_outlineColor.a *= translucency; +#ifdef LOG_DEPTH + czm_writeLogDepth(); #endif - v_pickColor = pickColor; +#ifdef FRAGMENT_DEPTH_CHECK + float temp = v_compressed.y; - v_color = color; - v_color.a *= translucency; - v_splitDirection = splitDirection; -} -`;function mi(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=Vt.clone(n)),l(i)&&(i=Vt.clone(i)),l(o)&&(o=Vt.clone(o)),l(r)&&(r=Ot.clone(r)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._pixelOffset=U.clone(y(e.pixelOffset,U.ZERO)),this._translate=new U(0,0),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._heightReference=y(e.heightReference,Ye.NONE),this._verticalOrigin=y(e.verticalOrigin,Ln.CENTER),this._horizontalOrigin=y(e.horizontalOrigin,gi.CENTER),this._scale=y(e.scale,1),this._color=H.clone(y(e.color,H.WHITE)),this._rotation=y(e.rotation,0),this._alignedAxis=h.clone(y(e.alignedAxis,h.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=o,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=y(e.sizeInMeters,!1),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=y(e.collection,t),this._pickId=void 0,this._pickPrimitive=y(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let s=e.image,a=e.imageId;l(s)&&(l(a)||(typeof s=="string"?a=s:l(s.src)?a=s.src:a=Gn()),this._imageId=a,this._image=s),l(e.imageSubRegion)&&(this._imageId=a,this._imageSubRegion=e.imageSubRegion),l(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=ne.SCENE3D,this._clusterShow=!0,this._outlineColor=H.clone(y(e.outlineColor,H.BLACK)),this._outlineWidth=y(e.outlineWidth,0),this._updateClamping(),this._splitDirection=y(e.splitDirection,kr.NONE)}var Bse=mi.SHOW_INDEX=0,lB=mi.POSITION_INDEX=1,zse=mi.PIXEL_OFFSET_INDEX=2,t9e=mi.EYE_OFFSET_INDEX=3,n9e=mi.HORIZONTAL_ORIGIN_INDEX=4,i9e=mi.VERTICAL_ORIGIN_INDEX=5,o9e=mi.SCALE_INDEX=6,uB=mi.IMAGE_INDEX_INDEX=7,kse=mi.COLOR_INDEX=8,r9e=mi.ROTATION_INDEX=9,s9e=mi.ALIGNED_AXIS_INDEX=10,a9e=mi.SCALE_BY_DISTANCE_INDEX=11,c9e=mi.TRANSLUCENCY_BY_DISTANCE_INDEX=12,l9e=mi.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,u9e=mi.DISTANCE_DISPLAY_CONDITION=14,f9e=mi.DISABLE_DEPTH_DISTANCE=15;mi.TEXTURE_COORDINATE_BOUNDS=16;var Vse=mi.SDF_INDEX=17,d9e=mi.SPLIT_DIRECTION_INDEX=18;mi.NUMBER_OF_PROPERTIES=19;function So(e,t){let n=e._billboardCollection;l(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Object.defineProperties(mi.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,So(this,Bse))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),this._updateClamping(),So(this,lB))}},heightReference:{get:function(){return this._heightReference},set:function(e){let t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),So(this,lB))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;U.equals(t,e)||(U.clone(e,t),So(this,zse))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Vt.equals(t,e)||(this._scaleByDistance=Vt.clone(e,t),So(this,a9e))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Vt.equals(t,e)||(this._translucencyByDistance=Vt.clone(e,t),So(this,c9e))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;Vt.equals(t,e)||(this._pixelOffsetScaleByDistance=Vt.clone(e,t),So(this,l9e))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;h.equals(t,e)||(h.clone(e,t),So(this,t9e))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,So(this,n9e))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,So(this,i9e))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,So(this,o9e))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),So(this,kse))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,So(this,r9e))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){let t=this._alignedAxis;h.equals(t,e)||(h.clone(e,t),So(this,s9e))}},width:{get:function(){return y(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,So(this,uB))}},height:{get:function(){return y(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,So(this,uB))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,So(this,kse))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ot.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition),So(this,u9e))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,So(this,f9e))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,l(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){l(e)?typeof e=="string"?this.setImage(e,e):e instanceof ve?this.setImage(e.url,e):l(e.src)?this.setImage(e.src,e):this.setImage(Gn(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,So(this,uB))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition),So(this,lB)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,So(this,Bse))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),So(this,Vse))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,So(this,Vse))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,So(this,d9e))}}});mi.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};mi.prototype._updateClamping=function(){mi._updateClamping(this._billboardCollection,this)};var fB=new fe;mi._updateClamping=function(e,t){let n=e._scene;if(!l(n))return;let i=y(n.ellipsoid,ee.default),o=n.frameState.mode,r=o!==t._mode;if(t._mode=o,(t._heightReference===Ye.NONE||r)&&l(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===Ye.NONE||!l(t._position))return;l(t._removeCallbackFunc)&&t._removeCallbackFunc();let s=i.cartesianToCartographic(t._position);if(!l(s)){t._actualClampedPosition=void 0;return}function a(u){let f=i.cartographicToCartesian(u,t._clampedPosition);wT(t._heightReference)&&(t._mode===ne.SCENE3D?(u.height+=s.height,i.cartographicToCartesian(u,f)):f.x+=s.height),t._clampedPosition=f}t._removeCallbackFunc=n.updateHeight(s,a,t._heightReference),fe.clone(s,fB);let c=n.getHeight(s,t._heightReference);l(c)&&(fB.height=c),a(fB)};mi.prototype._loadImage=function(){let e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion,o,r=this;function s(c){if(r._imageId!==t||r._image!==n||!qe.equals(r._imageSubRegion,i))return;let u=e.textureCoordinates[c];r._imageWidth=e.texture.width*u.width,r._imageHeight=e.texture.height*u.height,r._imageIndex=c,r._ready=!0,r._image=void 0,r._imageIndexPromise=void 0,So(r,uB);let f=r._billboardCollection._scene;l(f)&&f.frameState.afterRender.push(()=>!0)}if(l(n)&&(o=e.addImage(t,n)),l(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,!l(o))return;let a=e.getImageIndex(t);if(l(a)&&!l(i)){s(a);return}o.then(s).catch(function(c){console.error(`Error loading image for billboard: ${c}`),r._imageIndexPromise=void 0})};mi.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,l(this._billboardCollection._textureAtlas)&&this._loadImage())};mi.prototype.setImageSubRegion=function(e,t){this._imageId===e&&qe.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=qe.clone(t),l(this._billboardCollection._textureAtlas)&&this._loadImage())};mi.prototype._setTranslate=function(e){let t=this._translate;U.equals(t,e)||(U.clone(e,t),So(this,zse))};mi.prototype._getActualPosition=function(){return l(this._clampedPosition)?this._clampedPosition:this._actualPosition};mi.prototype._setActualPosition=function(e){l(this._clampedPosition)||h.clone(e,this._actualPosition),So(this,lB)};var Use=new oe;mi._computeActualPosition=function(e,t,n,i){return l(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===ne.SCENE3D?t:(F.multiplyByPoint(i,t,Use),ki.computeActualEllipsoidPosition(n,Use))};var Hse=new h;mi._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=F.multiplyByPoint(e,t,Hse),a=ki.worldWithEyeOffsetToWindowCoordinates(o,s,n,r);if(l(a))return U.add(a,i,a),a};var cB=new U(0,0);mi.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;l(t)||(t=new U),U.clone(this._pixelOffset,cB),U.add(cB,this._translate,cB);let i=n.modelMatrix,o=this._position;if(l(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==ne.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,fB);o=a.cartographicToCartesian(c,Hse),i=F.IDENTITY}return mi._computeScreenSpacePosition(i,o,this._eyeOffset,cB,e,t)};mi.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===gi.RIGHT?s-=i:e.horizontalOrigin===gi.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===Ln.BOTTOM||e.verticalOrigin===Ln.BASELINE?a-=o:e.verticalOrigin===Ln.CENTER&&(a-=o*.5),l(n)||(n=new qe),n.x=s,n.y=a,n.width=i,n.height=o,n};mi.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&qe.equals(this._imageSubRegion,e._imageSubRegion)&&H.equals(this._color,e._color)&&U.equals(this._pixelOffset,e._pixelOffset)&&U.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&Vt.equals(this._scaleByDistance,e._scaleByDistance)&&Vt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Vt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Ot.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};mi.prototype._destroy=function(){l(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var uo=mi;var h9e={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},wo=Object.freeze(h9e);var m9e={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},ia=Object.freeze(m9e);function Lp(e,t,n,i,o){this.bottomLeft=y(e,U.ZERO),this.topRight=y(t,U.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var p9e=new U(16,16);function kg(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,p9e);this._context=e.context,this._pixelFormat=y(e.pixelFormat,ct.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=Gn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(kg.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return l(this._texture)||(this._texture=new Mt({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function _9e(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),u=o*(a+t.height+r),f=s/c,d=a/u,p=new Lp(new U(s+r,r),new U(c,a)),g=new Lp(new U,new U(c,a),e._root,p),m=new Lp(new U(r,a+r),new U(c,u)),x=new Lp(new U,new U(c,u),g,m);for(let C=0;C<e._textureCoordinates.length;C++){let A=e._textureCoordinates[C];l(A)&&(A.x*=f,A.y*=d,A.width*=f,A.height*=d)}let b=new Mt({context:e._context,width:c,height:u,pixelFormat:e._pixelFormat}),T=new Ca({context:n,colorTextures:[e._texture],destroyAttachments:!1});T._bind(),b.copyFromFramebuffer(0,0,0,0,c,u),T._unBind(),T.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=b,e._root=x}else{let s=o*(t.width+2*r),a=o*(t.height+2*r);s<e._initialSize.x&&(s=e._initialSize.x),a<e._initialSize.y&&(a=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new Mt({context:e._context,width:s,height:a,pixelFormat:e._pixelFormat}),e._root=new Lp(new U(r,r),new U(s,a))}}function dB(e,t,n){if(l(t)){if(!l(t.childNode1)&&!l(t.childNode2)){if(l(t.imageIndex))return;let i=t.topRight.x-t.bottomLeft.x,o=t.topRight.y-t.bottomLeft.y,r=i-n.width,s=o-n.height;if(r<0||s<0)return;if(r===0&&s===0)return t;if(r>s){t.childNode1=new Lp(new U(t.bottomLeft.x,t.bottomLeft.y),new U(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a<t.topRight.x&&(t.childNode2=new Lp(new U(a,t.bottomLeft.y),new U(t.topRight.x,t.topRight.y)))}else{t.childNode1=new Lp(new U(t.bottomLeft.x,t.bottomLeft.y),new U(t.topRight.x,t.bottomLeft.y+n.height));let a=t.bottomLeft.y+n.height+e._borderWidthInPixels;a<t.topRight.y&&(t.childNode2=new Lp(new U(t.bottomLeft.x,a),new U(t.topRight.x,t.topRight.y)))}return dB(e,t.childNode1,n)}return dB(e,t.childNode1,n)||dB(e,t.childNode2,n)}}function Gse(e,t,n){let i=dB(e,e._root,t);if(l(i)){i.imageIndex=n;let o=e._texture.width,r=e._texture.height,s=i.topRight.x-i.bottomLeft.x,a=i.topRight.y-i.bottomLeft.y,c=i.bottomLeft.x/o,u=i.bottomLeft.y/r,f=s/o,d=a/r;e._textureCoordinates[n]=new qe(c,u,f,d),e._texture.copyFrom({source:t,xOffset:i.bottomLeft.x,yOffset:i.bottomLeft.y})}else _9e(e,t),Gse(e,t,n);e._guid=Gn()}function Wse(e,t){if(!l(e)||e.isDestroyed())return-1;let n=e.numberOfImages;return Gse(e,t,n),n}kg.prototype.getImageIndex=function(e){return this._indexHash[e]};kg.prototype.addImageSync=function(e,t){let n=this._indexHash[e];return l(n)||(n=Wse(this,t),this._idHash[e]=Promise.resolve(n),this._indexHash[e]=n),n};kg.prototype.addImage=function(e,t){let n=this._idHash[e];if(l(n))return n;typeof t=="function"?t=t(e):(typeof t=="string"||t instanceof ve)&&(t=ve.createIfNeeded(t).fetchImage());let i=this;return n=Promise.resolve(t).then(function(o){let r=Wse(i,o);return i._indexHash[e]=r,r}),this._idHash[e]=n,n};kg.prototype.addSubRegion=function(e,t){let n=this._idHash[e];if(!l(n))throw new ce(`image with id "${e}" not found in the atlas.`);let i=this;return Promise.resolve(n).then(function(o){if(o===-1)return-1;let r=i._texture.width,s=i._texture.height,a=i._textureCoordinates[o],c=a.x+t.x/r,u=a.y+t.y/s,f=t.width/r,d=t.height/s,p=i._textureCoordinates.push(new qe(c,u,f,d))-1;return i._indexHash[e]=p,i._guid=Gn(),p})};kg.prototype.isDestroyed=function(){return!1};kg.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var Ax=kg;var g9e=uo.SHOW_INDEX,Lv=uo.POSITION_INDEX,jse=uo.PIXEL_OFFSET_INDEX,qse=uo.EYE_OFFSET_INDEX,y9e=uo.HORIZONTAL_ORIGIN_INDEX,x9e=uo.VERTICAL_ORIGIN_INDEX,b9e=uo.SCALE_INDEX,Mv=uo.IMAGE_INDEX_INDEX,Yse=uo.COLOR_INDEX,T9e=uo.ROTATION_INDEX,C9e=uo.ALIGNED_AXIS_INDEX,Xse=uo.SCALE_BY_DISTANCE_INDEX,Kse=uo.TRANSLUCENCY_BY_DISTANCE_INDEX,$se=uo.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,Zse=uo.DISTANCE_DISPLAY_CONDITION,A9e=uo.DISABLE_DEPTH_DISTANCE,E9e=uo.TEXTURE_COORDINATE_BOUNDS,Qse=uo.SDF_INDEX,Jse=uo.SPLIT_DIRECTION_INDEX,NW=uo.NUMBER_OF_PROPERTIES,io,S9e={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11,splitDirection:12},w9e={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12,splitDirection:13};function df(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(NW),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new ae,this._baseVolumeWC=new ae,this._baseVolume2D=new ae,this._boundingVolume=new ae,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=y(e.debugShowTextureAtlas,!1),this.blendOption=y(e.blendOption,wo.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._buffersUsage=[Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW],this._highlightColor=H.clone(H.WHITE);let t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};let n=this._scene;l(n)&&l(n.terrainProviderChanged)&&(this._removeCallbackFunc=n.terrainProviderChanged.addEventListener(function(){let i=this._billboards,o=i.length;for(let r=0;r<o;++r)l(i[r])&&i[r]._updateClamping()},this))}Object.defineProperties(df.prototype,{length:{get:function(){return FW(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}});function eae(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}df.prototype.add=function(e){let t=new uo(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t};df.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=void 0,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};df.prototype.removeAll=function(){eae(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0};function FW(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;let t=[],n=e._billboards,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(s._index=r++,t.push(s))}e._billboards=t}}df.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]};df.prototype.contains=function(e){return l(e)&&e._billboardCollection===this};df.prototype.get=function(e){return FW(this),this._billboards[e]};var IW;function v9e(e){let n=e.cache.billboardCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s+0,o[r+4]=s+2,o[r+5]=s+3;return n=yt.createIndexBuffer({context:e,typedArray:o,usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=n,n}function D9e(e){let t=e.cache.billboardCollection_indexBufferInstanced;return l(t)||(t=yt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t),t}function I9e(e){let t=e.cache.billboardCollection_vertexBufferInstanced;return l(t)||(t=yt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Ve.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t),t}df.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<NW;++i){let o=n[i]===0?Ve.STATIC_DRAW:Ve.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function P9e(e,t,n,i,o,r){let s=[{index:io.positionHighAndScale,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Lv]},{index:io.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Lv]},{index:io.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[jse]},{index:io.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Kse]},{index:io.compressedAttribute2,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Yse]},{index:io.eyeOffset,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[qse]},{index:io.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Xse]},{index:io.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[$se]},{index:io.compressedAttribute3,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Zse]},{index:io.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[E9e]},{index:io.splitDirection,componentsPerAttribute:1,componentDatatype:X.FLOAT,usage:n[Jse]}];i&&s.push({index:io.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:I9e(e)}),l(o)&&s.push({index:io.a_batchId,componentsPerAttribute:1,componentDatatype:X.FLOAT,bufferUsage:Ve.STATIC_DRAW}),r&&s.push({index:io.sdf,componentsPerAttribute:2,componentDatatype:X.FLOAT,usage:n[Qse]});let a=i?t:4*t;return new G_(e,s,a,i)}var PW=new Wn;function tae(e,t,n,i,o){let r,s=i[io.positionHighAndScale],a=i[io.positionLowAndRotation],c=o._getActualPosition();e._mode===ne.SCENE3D&&(ae.expand(e._baseVolume,c,e._baseVolume),e._boundingVolumeDirty=!0),Wn.fromCartesian(c,PW);let u=o.scale,f=o.rotation;f!==0&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,u);let d=PW.high,p=PW.low;e._instanced?(r=o._index,s(r,d.x,d.y,d.z,u),a(r,p.x,p.y,p.z,f)):(r=o._index*4,s(r+0,d.x,d.y,d.z,u),s(r+1,d.x,d.y,d.z,u),s(r+2,d.x,d.y,d.z,u),s(r+3,d.x,d.y,d.z,u),a(r+0,p.x,p.y,p.z,f),a(r+1,p.x,p.y,p.z,f),a(r+2,p.x,p.y,p.z,f),a(r+3,p.x,p.y,p.z,f))}var ff=new U,uf=32768,YC=65536,RW=4096,Zh=256,R9e=128,O9e=32,M9e=8,nae=4,L9e=1/256,iae=0,oae=2,rae=3,sae=1;function aae(e,t,n,i,o){let r,s=i[io.compressedAttribute0],a=o.pixelOffset,c=a.x,u=a.y,f=o._translate,d=f.x,p=f.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(c+d),Math.abs(-u+p));let g=o.horizontalOrigin,m=o._verticalOrigin,x=o.show&&o.clusterShow;o.color.alpha===0&&(x=!1),m===Ln.BASELINE&&(m=Ln.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&g===gi.CENTER,e._allVerticalCenter=e._allVerticalCenter&&m===Ln.CENTER;let b=0,T=0,C=0,A=0,S=o._imageIndex;if(S!==-1){let z=n[S];b=z.x,T=z.y,C=z.width,A=z.height}let w=b+C,D=T+A,O=Math.floor(P.clamp(c,-uf,uf)+uf)*R9e;O+=(g+1)*O9e,O+=(m+1)*M9e,O+=(x?1:0)*nae;let R=Math.floor(P.clamp(u,-uf,uf)+uf)*Zh,M=Math.floor(P.clamp(d,-uf,uf)+uf)*Zh,L=(P.clamp(p,-uf,uf)+uf)*L9e,_=Math.floor(L),E=Math.floor((L-_)*Zh);R+=_,M+=E,ff.x=b,ff.y=T;let v=Fn.compressTextureCoordinates(ff);ff.x=w;let I=Fn.compressTextureCoordinates(ff);ff.y=D;let N=Fn.compressTextureCoordinates(ff);ff.x=b;let B=Fn.compressTextureCoordinates(ff);e._instanced?(r=o._index,s(r,O,R,M,v)):(r=o._index*4,s(r+0,O+iae,R,M,v),s(r+1,O+oae,R,M,I),s(r+2,O+rae,R,M,N),s(r+3,O+sae,R,M,B))}function cae(e,t,n,i,o){let r,s=i[io.compressedAttribute1],a=o.alignedAxis;h.equals(a,h.ZERO)||(e._shaderAlignedAxis=!0);let c=0,u=1,f=1,d=1,p=o.translucencyByDistance;l(p)&&(c=p.near,u=p.nearValue,f=p.far,d=p.farValue,(u!==1||d!==1)&&(e._shaderTranslucencyByDistance=!0));let g=0,m=o._imageIndex;m!==-1&&(g=n[m].width);let x=e._textureAtlas.texture.width,b=Math.round(y(o.width,x*g));e._maxSize=Math.max(e._maxSize,b);let T=P.clamp(b,0,YC),C=0;Math.abs(h.magnitudeSquared(a)-1)<P.EPSILON6&&(C=Fn.octEncodeFloat(a)),u=P.clamp(u,0,1),u=u===1?255:u*255|0,T=T*Zh+u,d=P.clamp(d,0,1),d=d===1?255:d*255|0,C=C*Zh+d,e._instanced?(r=o._index,s(r,T,C,c,f)):(r=o._index*4,s(r+0,T,C,c,f),s(r+1,T,C,c,f),s(r+2,T,C,c,f),s(r+3,T,C,c,f))}function MW(e,t,n,i,o){let r,s=i[io.compressedAttribute2],a=o.color,c=l(e._batchTable)?H.WHITE:o.getPickId(t.context).color,u=o.sizeInMeters?1:0,f=Math.abs(h.magnitudeSquared(o.alignedAxis)-1)<P.EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&u===1;let d=0,p=o._imageIndex;p!==-1&&(d=n[p].height);let g=e._textureAtlas.texture.dimensions,m=Math.round(y(o.height,g.y*d));e._maxSize=Math.max(e._maxSize,m);let x=y(o._labelHorizontalOrigin,-2);x+=2;let b=m*nae+x,T=H.floatToByte(a.red),C=H.floatToByte(a.green),A=H.floatToByte(a.blue),S=T*YC+C*Zh+A;T=H.floatToByte(c.red),C=H.floatToByte(c.green),A=H.floatToByte(c.blue);let w=T*YC+C*Zh+A,D=H.floatToByte(a.alpha)*YC+H.floatToByte(c.alpha)*Zh;D+=u*2+f,e._instanced?(r=o._index,s(r,S,w,D,b)):(r=o._index*4,s(r+0,S,w,D,b),s(r+1,S,w,D,b),s(r+2,S,w,D,b),s(r+3,S,w,D,b))}function LW(e,t,n,i,o){let r,s=i[io.eyeOffset],a=o.eyeOffset,c=a.z;if(o._heightReference!==Ye.NONE&&(c*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(c)),e._instanced){let u=0,f=0,d=o._imageIndex;if(d!==-1){let g=n[d];u=g.width,f=g.height}ff.x=u,ff.y=f;let p=Fn.compressTextureCoordinates(ff);r=o._index,s(r,a.x,a.y,c,p)}else r=o._index*4,s(r+0,a.x,a.y,c,0),s(r+1,a.x,a.y,c,0),s(r+2,a.x,a.y,c,0),s(r+3,a.x,a.y,c,0)}function lae(e,t,n,i,o){let r,s=i[io.scaleByDistance],a=0,c=1,u=1,f=1,d=o.scaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function uae(e,t,n,i,o){let r,s=i[io.pixelOffsetScaleByDistance],a=0,c=1,u=1,f=1,d=o.pixelOffsetScaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function fae(e,t,n,i,o){let r,s=i[io.compressedAttribute3],a=0,c=Number.MAX_VALUE,u=o.distanceDisplayCondition;l(u)&&(a=u.near,c=u.far,a*=a,c*=c,e._shaderDistanceDisplayCondition=!0);let f=o.disableDepthTestDistance,d=qu(o.heightReference)&&t.context.depthTexture;l(f)||(f=d?5e3:0),f*=f,(d||f>0)&&(e._shaderDisableDepthDistance=!0,f===Number.POSITIVE_INFINITY&&(f=-1));let p,g;if(l(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let T=0,C=0,A=o._imageIndex;if(A!==-1){let w=n[A];T=w.height,C=w.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*T));let S=e._textureAtlas.texture.width;g=Math.round(y(o.width,S*C))}let m=Math.floor(P.clamp(g,0,RW)),x=Math.floor(P.clamp(p,0,RW)),b=m*RW+x;e._instanced?(r=o._index,s(r,a,c,f,b)):(r=o._index*4,s(r+0,a,c,f,b),s(r+1,a,c,f,b),s(r+2,a,c,f,b),s(r+3,a,c,f,b))}function dae(e,t,n,i,o){if(qu(o.heightReference)){let m=e._scene,x=t.context,b=t.globeTranslucencyState.translucent,T=l(m.globe)&&m.globe.depthTestAgainstTerrain;e._shaderClampToGround=x.depthTexture&&!b&&T}let r,s=i[io.textureCoordinateBoundsOrLabelTranslate];if(Ut.maximumVertexTextureImageUnits>0){let m=0,x=0;l(o._labelTranslate)&&(m=o._labelTranslate.x,x=o._labelTranslate.y),e._instanced?(r=o._index,s(r,m,x,0,0)):(r=o._index*4,s(r+0,m,x,0,0),s(r+1,m,x,0,0),s(r+2,m,x,0,0),s(r+3,m,x,0,0));return}let a=0,c=0,u=0,f=0,d=o._imageIndex;if(d!==-1){let m=n[d];a=m.x,c=m.y,u=m.width,f=m.height}let p=a+u,g=c+f;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function N9e(e,t,n,i,o){if(!l(e._batchTable))return;let r=i[io.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function hae(e,t,n,i,o){if(!e._sdf)return;let r,s=i[io.sdf],a=o.outlineColor,c=o.outlineWidth,u=H.floatToByte(a.red),f=H.floatToByte(a.green),d=H.floatToByte(a.blue),p=u*YC+f*Zh+d,g=c/ia.RADIUS,m=H.floatToByte(a.alpha)*YC+H.floatToByte(g)*Zh;e._instanced?(r=o._index,s(r,p,m)):(r=o._index*4,s(r+0,p+iae,m),s(r+1,p+oae,m),s(r+2,p+rae,m),s(r+3,p+sae,m))}function mae(e,t,n,i,o){let r=i[io.splitDirection],s=0,a=o.splitDirection;l(a)&&(s=a);let c;e._instanced?(c=o._index,r(c,s)):(c=o._index*4,r(c+0,s),r(c+1,s),r(c+2,s),r(c+3,s))}function F9e(e,t,n,i,o){tae(e,t,n,i,o),aae(e,t,n,i,o),cae(e,t,n,i,o),MW(e,t,n,i,o),LW(e,t,n,i,o),lae(e,t,n,i,o),uae(e,t,n,i,o),fae(e,t,n,i,o),dae(e,t,n,i,o),N9e(e,t,n,i,o),hae(e,t,n,i,o),mae(e,t,n,i,o)}function OW(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=uo._computeActualPosition(u,f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ae.expand(s,d,s))}r&&ae.fromPoints(a,s)}function B9e(e,t){let n=t.mode,i=e._billboards,o=e._billboardsToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&OW(e,i,i.length,t,r,!0)):n===ne.MORPHING?OW(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&OW(e,o,e._billboardsToUpdateIndex,t,r,!1)}function k9e(e,t,n){let i=1;(!e._allSizedInMeters||e._maxPixelOffset!==0)&&(i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight));let o=i*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(o*=.5);let r=i*e._maxPixelOffset+e._maxEyeOffset;n.radius+=o+r}function V9e(e,t){let i=t.createViewportQuadCommand(`uniform sampler2D billboard_texture; -in vec2 v_textureCoordinates; -void main() -{ - out_FragColor = texture(billboard_texture, v_textureCoordinates); -} -`,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=Se.OVERLAY,i}var U9e=[];df.prototype.update=function(e){if(FW(this),!this.show)return;let t=this._billboards,n=t.length,i=e.context;this._instanced=i.instancedArrays,io=this._instanced?w9e:S9e,IW=this._instanced?D9e:v9e;let o=this._textureAtlas;if(!l(o)){o=this._textureAtlas=new Ax({context:i});for(let R=0;R<n;++R)t[R]._loadImage()}let r=o.textureCoordinates;if(r.length===0)return;B9e(this,e),t=this._billboards,n=t.length;let s=this._billboardsToUpdate,a=this._billboardsToUpdateIndex,c=this._propertiesChanged,u=o.guid,f=this._createVertexArray||this._textureAtlasGUID!==u;this._textureAtlasGUID=u;let d,p=e.passes,g=p.pick;if(f||!g&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let R=0;R<NW;++R)c[R]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=P9e(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),d=this._vaf.writers;for(let R=0;R<n;++R){let M=this._billboards[R];M._dirty=!1,F9e(this,e,r,d,M)}this._vaf.commit(IW(i))}this._billboardsToUpdateIndex=0}else if(a>0){let R=U9e;R.length=0,(c[Lv]||c[T9e]||c[b9e])&&R.push(tae),(c[Mv]||c[jse]||c[y9e]||c[x9e]||c[g9e])&&(R.push(aae),this._instanced&&R.push(LW)),(c[Mv]||c[C9e]||c[Kse])&&(R.push(cae),R.push(MW)),(c[Mv]||c[Yse])&&R.push(MW),c[qse]&&R.push(LW),c[Xse]&&R.push(lae),c[$se]&&R.push(uae),(c[Zse]||c[A9e]||c[Mv]||c[Lv])&&R.push(fae),(c[Mv]||c[Lv])&&R.push(dae),c[Qse]&&R.push(hae),c[Jse]&&R.push(mae);let M=R.length;if(d=this._vaf.writers,a/n>.1){for(let L=0;L<a;++L){let _=s[L];_._dirty=!1;for(let E=0;E<M;++E)R[E](this,e,r,d,_)}this._vaf.commit(IW(i))}else{for(let L=0;L<a;++L){let _=s[L];_._dirty=!1;for(let E=0;E<M;++E)R[E](this,e,r,d,_);this._instanced?this._vaf.subCommit(_._index,1):this._vaf.subCommit(_._index*4,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(a>n*1.5&&(s.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ae.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,x=F.IDENTITY;e.mode===ne.SCENE3D?(x=this.modelMatrix,m=ae.clone(this._baseVolumeWC,this._boundingVolume)):m=ae.clone(this._baseVolume2D,this._boundingVolume),k9e(this,e,m);let b=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,b){this._blendOption===wo.OPAQUE||this._blendOption===wo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=ze.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!0}):this._rsOpaque=void 0;let R=this._blendOption===wo.TRANSLUCENT;this._blendOption===wo.TRANSLUCENT||this._blendOption===wo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=ze.fromCache({depthTest:{enabled:!0,func:R?te.LEQUAL:te.LESS},depthMask:R,blending:fn.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let T,C,A,S,w,D=Ut.maximumVertexTextureImageUnits>0;if(b||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){T=aB,C=sB,w=[],l(this._batchTable)&&(w.push("VECTOR_TILE"),T=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(T),C=this._batchTable.getFragmentShaderCallback(!1,void 0)(C)),A=new Ge({defines:w,sources:[T]}),this._instanced&&A.defines.push("INSTANCED"),this._shaderRotation&&A.defines.push("ROTATION"),this._shaderAlignedAxis&&A.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&A.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&A.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&A.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&A.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&A.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(D?A.defines.push("VERTEX_DEPTH_CHECK"):A.defines.push("FRAGMENT_DEPTH_CHECK"));let R=1-ia.CUTOFF;this._sdf&&A.defines.push("SDF");let M=l(this._batchTable)?"VECTOR_TILE":"";this._blendOption===wo.OPAQUE_AND_TRANSLUCENT&&(S=new Ge({defines:["OPAQUE",M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${R}`)),this._sp=sn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:io}),S=new Ge({defines:["TRANSLUCENT",M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${R}`)),this._spTranslucent=sn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:io})),this._blendOption===wo.OPAQUE&&(S=new Ge({defines:[M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${R}`)),this._sp=sn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:io})),this._blendOption===wo.TRANSLUCENT&&(S=new Ge({defines:[M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${R}`)),this._spTranslucent=sn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:io})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let O=e.commandList;if(p.render||p.pick){let R=this._colorCommands,M=this._blendOption===wo.OPAQUE,L=this._blendOption===wo.OPAQUE_AND_TRANSLUCENT,_=this._vaf.va,E=_.length,v=this._uniforms,I;l(this._batchTable)?(v=this._batchTable.getUniformMapCallback()(v),I=this._batchTable.getPickId()):I="v_pickColor",R.length=E;let N=L?E*2:E;for(let B=0;B<N;++B){let z=R[B];l(z)||(z=R[B]=new et);let V=M||L&&B%2===0;z.pass=V||!L?Se.OPAQUE:Se.TRANSLUCENT,z.owner=this;let G=L?Math.floor(B/2):B;z.boundingVolume=m,z.modelMatrix=x,z.count=_[G].indicesCount,z.shaderProgram=V?this._sp:this._spTranslucent,z.uniformMap=v,z.vertexArray=_[G].va,z.renderState=V?this._rsOpaque:this._rsTranslucent,z.debugShowBoundingVolume=this.debugShowBoundingVolume,z.pickId=I,this._instanced&&(z.count=6,z.instanceCount=n),O.push(z)}this.debugShowTextureAtlas&&(l(this.debugCommand)||(this.debugCommand=V9e(this,e.context)),O.push(this.debugCommand))}};df.prototype.isDestroyed=function(){return!1};df.prototype.destroy=function(){return l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),eae(this._billboards),ue(this)};var hf=df;function z9e(e,t,n,i,o){return function(){let r=document.createElement("canvas"),s=o+2*i;r.height=r.width=s;let a=r.getContext("2d");return a.clearRect(0,0,s,s),i!==0&&(a.beginPath(),a.arc(s/2,s/2,s/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=n,a.fill(),e<1&&(a.save(),a.globalCompositeOperation="destination-out",a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle="black",a.fill(),a.restore())),a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=t,a.fill(),r}}var XC=z9e;function oa(e,t,n,i,o){this._content=e,this._billboard=n,this._label=i,this._polyline=o,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),KC(this)}var H9e=new fe;Object.defineProperties(oa.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=H.clone(e,this._color),KC(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,KC(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=H.clone(e,this._pointOutlineColor),KC(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,KC(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&e.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){l(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,H9e);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=H.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&KC(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});oa.defaultColor=H.WHITE;oa.defaultPointOutlineColor=H.BLACK;oa.defaultPointOutlineWidth=0;oa.defaultPointSize=8;function KC(e){let t=e._billboard;if(l(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(l(e._billboardImage))return;let n=y(e._color,oa.defaultColor),i=y(e._pointOutlineColor,oa.defaultPointOutlineColor),o=y(e._pointOutlineWidth,oa.defaultPointOutlineWidth),r=y(e._pointSize,oa.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,u=e._billboardSize;if(H.equals(n,s)&&H.equals(i,a)&&o===c&&r===u)return;e._billboardColor=H.clone(n,e._billboardColor),e._billboardOutlineColor=H.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let f=n.alpha,d=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([d,r,p,o]);t.setImage(g,XC(f,d,p,o,r))}oa.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};oa.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};oa.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};oa.prototype.getPropertyInherited=function(e){return Js.getPropertyInherited(this._content,this._batchId,e)};oa.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};oa.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};oa.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};oa.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var Vg=oa;function G9e(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),u=100,f=r.width+u|0,d=3*a,p=d/2;c.width=f,c.height=d;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,u/2,p)),o&&(g.fillStyle="black",g.fillText(t,u/2,p));let m=g.getImageData(0,0,f,d).data,x=m.length,b=f*4,T,C,A,S;for(T=0;T<x;++T)if(m[T]!==255){A=T/b|0;break}for(T=x-1;T>=0;--T)if(m[T]!==255){S=T/b|0;break}let w=-1;for(T=0;T<f&&w===-1;++T)for(C=0;C<d;++C){let D=T*4+C*b;if(m[D]!==255||m[D+1]!==255||m[D+2]!==255||m[D+3]!==255){w=T;break}}return{width:r.width,height:S-A,ascent:p-A,descent:S-p,minx:w-u/2}}return{width:r.width,height:0,ascent:0,descent:0,minx:0}}var Ex;function W9e(e,t){if(e==="")return;t=y(t,y.EMPTY_OBJECT);let n=y(t.font,"10px sans-serif"),i=y(t.stroke,!1),o=y(t.fill,!0),r=y(t.strokeWidth,1),s=y(t.backgroundColor,H.TRANSPARENT),a=y(t.padding,0),c=a*2,u=document.createElement("canvas");u.width=1,u.height=1,u.style.font=n;let f=u.getContext("2d",{willReadFrequently:!0});l(Ex)||(l(f.imageSmoothingEnabled)?Ex="imageSmoothingEnabled":l(f.mozImageSmoothingEnabled)?Ex="mozImageSmoothingEnabled":l(f.webkitImageSmoothingEnabled)?Ex="webkitImageSmoothingEnabled":l(f.msImageSmoothingEnabled)&&(Ex="msImageSmoothingEnabled")),f.font=n,f.lineJoin="round",f.lineWidth=r,f[Ex]=!1,u.style.visibility="hidden",document.body.appendChild(u);let d=G9e(f,e,n,i,o);u.dimensions=d,document.body.removeChild(u),u.style.visibility="";let p=-d.minx,g=Math.ceil(d.width)+p+c,m=d.height+c,x=m-d.ascent+a,b=m-x+c;if(u.width=g,u.height=m,f.font=n,f.lineJoin="round",f.lineWidth=r,f[Ex]=!1,s!==H.TRANSPARENT&&(f.fillStyle=s.toCssColorString(),f.fillRect(0,0,u.width,u.height)),i){let T=y(t.strokeColor,H.BLACK);f.strokeStyle=T.toCssColorString(),f.strokeText(e,p+a,b)}if(o){let T=y(t.fillColor,H.WHITE);f.fillStyle=T.toCssColorString(),f.fillText(e,p+a,b)}return u}var $C=W9e;var Sae=Er(yae(),1);var q9e={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2},Yo=Object.freeze(q9e);var xae={},bae=0,Y9e=256,X9e=new H(.165,.165,.165,.8),K9e=new U(7,5),rs=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function Sx(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function Fv(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function Bv(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function Cae(e){let t=xae[e._font];if(!l(t)){let n=document.createElement("div");n.style.position="absolute",n.style.opacity=0,n.style.font=e._font,document.body.appendChild(n);let i=parseFloat(Bv(n,"line-height"));isNaN(i)&&(i=void 0),t={family:Bv(n,"font-family"),size:Bv(n,"font-size").replace("px",""),style:Bv(n,"font-style"),weight:Bv(n,"font-weight"),lineHeight:i},document.body.removeChild(n),bae<Y9e&&(xae[e._font]=t,bae++)}e._fontFamily=t.family,e._fontSize=t.size,e._fontStyle=t.style,e._fontWeight=t.weight,e._lineHeight=t.lineHeight}function Np(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=Vt.clone(n)),l(i)&&(i=Vt.clone(i)),l(o)&&(o=Vt.clone(o)),l(r)&&(r=Ot.clone(r)),this._renderedText=void 0,this._text=void 0,this._show=y(e.show,!0),this._font=y(e.font,"30px sans-serif"),this._fillColor=H.clone(y(e.fillColor,H.WHITE)),this._outlineColor=H.clone(y(e.outlineColor,H.BLACK)),this._outlineWidth=y(e.outlineWidth,1),this._showBackground=y(e.showBackground,!1),this._backgroundColor=H.clone(y(e.backgroundColor,X9e)),this._backgroundPadding=U.clone(y(e.backgroundPadding,K9e)),this._style=y(e.style,Yo.FILL),this._verticalOrigin=y(e.verticalOrigin,Ln.BASELINE),this._horizontalOrigin=y(e.horizontalOrigin,gi.LEFT),this._pixelOffset=U.clone(y(e.pixelOffset,U.ZERO)),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._position=h.clone(y(e.position,h.ZERO)),this._scale=y(e.scale,1),this._id=e.id,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._scaleByDistance=o,this._heightReference=y(e.heightReference,Ye.NONE),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=y(e.text,""),this._relativeSize=1,Cae(this),this._updateClamping()}Object.defineProperties(Np.prototype,{show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.show=e)}let n=this._backgroundBillboard;l(n)&&(n.show=e)}}},position:{get:function(){return this._position},set:function(e){let t=this._position;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o].billboard;l(s)&&(s.position=e)}let i=this._backgroundBillboard;l(i)&&(i.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(e!==this._heightReference){this._heightReference=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.heightReference=e)}let n=this._backgroundBillboard;l(n)&&(n.heightReference=e),Fv(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){if(this._text!==e){this._text=e;let t=e.replace(/\u00ad/g,"");this._renderedText=Np.enableRightToLeftDetection?tWe(t):t,Sx(this)}}},font:{get:function(){return this._font},set:function(e){this._font!==e&&(this._font=e,Sx(this),Cae(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){let t=this._fillColor;H.equals(t,e)||(H.clone(e,t),Sx(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),Sx(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Sx(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){this._showBackground!==e&&(this._showBackground=e,Sx(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){let t=this._backgroundColor;if(!H.equals(t,e)){H.clone(e,t);let n=this._backgroundBillboard;l(n)&&(n.color=t)}}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){let t=this._backgroundPadding;U.equals(t,e)||(U.clone(e,t),Fv(this))}},style:{get:function(){return this._style},set:function(e){this._style!==e&&(this._style=e,Sx(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;if(!U.equals(t,e)){U.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;if(!Vt.equals(t,e)){this._translucencyByDistance=Vt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.translucencyByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;if(!Vt.equals(t,e)){this._pixelOffsetScaleByDistance=Vt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffsetScaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;if(!Vt.equals(t,e)){this._scaleByDistance=Vt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.scaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.eyeOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,Fv(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(this._verticalOrigin!==e){this._verticalOrigin=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.verticalOrigin=e)}let n=this._backgroundBillboard;l(n)&&(n.verticalOrigin=e),Fv(this)}}},scale:{get:function(){return this._scale},set:function(e){if(this._scale!==e){this._scale=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.scale=e*this._relativeSize)}let n=this._backgroundBillboard;l(n)&&(n.scale=e*this._relativeSize),Fv(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!Ot.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.distanceDisplayCondition=e)}let n=this._backgroundBillboard;l(n)&&(n.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){this._disableDepthTestDistance=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.disableDepthTestDistance=e)}let n=this._backgroundBillboard;l(n)&&(n.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.id=e)}let n=this._backgroundBillboard;l(n)&&(n.id=e)}}},pickId:{get:function(){if(!(this._glyphs.length===0||!l(this._glyphs[0].billboard)))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard._clampedPosition=e)}let n=this._backgroundBillboard;l(n)&&(n._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.clusterShow=e)}let n=this._backgroundBillboard;l(n)&&(n.clusterShow=e)}}}});Np.prototype._updateClamping=function(){uo._updateClamping(this._labelCollection,this)};Np.prototype.computeScreenSpacePosition=function(e,t){l(t)||(t=new U);let i=this._labelCollection.modelMatrix,o=l(this._actualClampedPosition)?this._actualClampedPosition:this._position;return uo._computeScreenSpacePosition(i,o,this._eyeOffset,this._pixelOffset,e,t)};Np.getScreenSpaceBoundingBox=function(e,t,n){let i=0,o=0,r=0,s=0,a=e.totalScale,c=e._backgroundBillboard;if(l(c))i=t.x+c._translate.x,o=t.y-c._translate.y,r=c.width*a,s=c.height*a,e.verticalOrigin===Ln.BOTTOM||e.verticalOrigin===Ln.BASELINE?o-=s:e.verticalOrigin===Ln.CENTER&&(o-=s*.5);else{i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;let u=0,f=0,d=e._glyphs,p=d.length;for(let g=0;g<p;++g){let m=d[g],x=m.billboard;if(!l(x))continue;let b=t.x+x._translate.x,T=t.y-x._translate.y,C=m.dimensions.width*a,A=m.dimensions.height*a;e.verticalOrigin===Ln.BOTTOM||e.verticalOrigin===Ln.BASELINE?T-=A:e.verticalOrigin===Ln.CENTER&&(T-=A*.5),e._verticalOrigin===Ln.TOP?T+=ia.PADDING*a:(e._verticalOrigin===Ln.BOTTOM||e._verticalOrigin===Ln.BASELINE)&&(T-=ia.PADDING*a),i=Math.min(i,b),o=Math.min(o,T),u=Math.max(u,b+C),f=Math.max(f,T+A)}r=u-i,s=f-o}return l(n)||(n=new qe),n.x=i,n.y=o,n.width=r,n.height=s,n};Np.prototype.equals=function(e){return this===e||l(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&h.equals(this._position,e._position)&&H.equals(this._fillColor,e._fillColor)&&H.equals(this._outlineColor,e._outlineColor)&&H.equals(this._backgroundColor,e._backgroundColor)&&U.equals(this._backgroundPadding,e._backgroundPadding)&&U.equals(this._pixelOffset,e._pixelOffset)&&h.equals(this._eyeOffset,e._eyeOffset)&&Vt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Vt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Vt.equals(this._scaleByDistance,e._scaleByDistance)&&Ot.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id};Np.prototype.isDestroyed=function(){return!1};Np.enableRightToLeftDetection=!1;function $9e(e,t){let n=/[a-zA-Z0-9]/,i=/[()[\]{}<>]/,o=[],r="",s=rs.LTR,a="",c=e.length;for(let u=0;u<c;++u){let f=e.charAt(u);t.test(f)?a=rs.RTL:n.test(f)?a=rs.LTR:i.test(f)?a=rs.BRACKETS:a=rs.WEAK,u===0&&(s=a),s===a&&a!==rs.BRACKETS?r+=f:(r!==""&&o.push({Type:s,Word:r}),s=a,r=f)}return o.push({Type:a,Word:r}),o}function Z9e(e){return e.split("").reverse().join("")}function kv(e,t,n){return e.slice(0,t)+n+e.slice(t)}function Q9e(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}var J9e="\u05D0-\u05EA",eWe="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",Tae=new RegExp(`[${J9e}${eWe}]`);function tWe(e){let t=e.split(` -`),n="";for(let i=0;i<t.length;i++){let o=t[i],r=Tae.test(o.charAt(0)),s=$9e(o,Tae),a=0,c="";for(let u=0;u<s.length;++u){let f=s[u],d=f.Type===rs.BRACKETS?Q9e(f.Word):Z9e(f.Word);r?f.Type===rs.RTL?(c=d+c,a=0):f.Type===rs.LTR?(c=kv(c,a,f.Word),a+=f.Word.length):(f.Type===rs.WEAK||f.Type===rs.BRACKETS)&&(f.Type===rs.WEAK&&s[u-1].Type===rs.BRACKETS?c=d+c:s[u-1].Type===rs.RTL?(c=d+c,a=0):s.length>u+1?s[u+1].Type===rs.RTL?(c=d+c,a=0):(c=kv(c,a,f.Word),a+=f.Word.length):c=kv(c,0,d)):f.Type===rs.RTL?c=kv(c,a,d):f.Type===rs.LTR?(c+=f.Word,a=c.length):(f.Type===rs.WEAK||f.Type===rs.BRACKETS)&&(u>0&&s[u-1].Type===rs.RTL?s.length>u+1?s[u+1].Type===rs.RTL?c=kv(c,a,d):(c+=f.Word,a=c.length):c+=f.Word:(c+=f.Word,a=c.length))}n+=c,i<t.length-1&&(n+=` -`)}return n}var wx=Np;var wae=Er(Aae(),1);function iWe(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function oWe(e,t,n){this.labelCollection=e,this.index=t,this.dimensions=n}var rWe=1.2,vae="ID_WHITE_PIXEL",BW=new U(4,4),sWe=new qe(1,1,1,1);function aWe(e){let t=document.createElement("canvas");t.width=BW.x,t.height=BW.y;let n=t.getContext("2d");return n.fillStyle="#fff",n.fillRect(0,0,t.width,t.height),e.addImage(vae,t)}var mf={};function cWe(e,t,n,i,o,r,s){return mf.font=t,mf.fillColor=n,mf.strokeColor=i,mf.strokeWidth=o,mf.padding=ia.PADDING,s===Ln.CENTER?mf.textBaseline="middle":s===Ln.TOP?mf.textBaseline="top":mf.textBaseline="bottom",mf.fill=r===Yo.FILL||r===Yo.FILL_AND_OUTLINE,mf.stroke=r===Yo.OUTLINE||r===Yo.FILL_AND_OUTLINE,mf.backgroundColor=H.BLACK,$C(e,mf)}function kW(e,t){t.textureInfo=void 0,t.dimensions=void 0;let n=t.billboard;l(n)&&(n.show=!1,n.image=void 0,l(n._removeCallbackFunc)&&(n._removeCallbackFunc(),n._removeCallbackFunc=void 0),e._spareBillboards.push(n),t.billboard=void 0)}function lWe(e,t,n,i){i.index=e.addImageSync(t,n)}var uWe=new wae.default;function fWe(e,t){let n=t._renderedText,i=uWe.splitGraphemes(n),o=i.length,r=t._glyphs,s=r.length,a,c,u;if(t._relativeSize=t._fontSize/ia.FONT_SIZE,o<s)for(c=o;c<s;++c)kW(e,r[c]);r.length=o;let f=t.show&&t._showBackground&&n.split(` -`).join("").length>0,d=t._backgroundBillboard,p=e._backgroundBillboardCollection;f?(l(d)||(d=p.add({collection:e,image:vae,imageSubRegion:sWe}),t._backgroundBillboard=d),d.color=t._backgroundColor,d.show=t._show,d.position=t._position,d.eyeOffset=t._eyeOffset,d.pixelOffset=t._pixelOffset,d.horizontalOrigin=gi.LEFT,d.verticalOrigin=t._verticalOrigin,d.heightReference=t._heightReference,d.scale=t.totalScale,d.pickPrimitive=t,d.id=t._id,d.translucencyByDistance=t._translucencyByDistance,d.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,d.scaleByDistance=t._scaleByDistance,d.distanceDisplayCondition=t._distanceDisplayCondition,d.disableDepthTestDistance=t._disableDepthTestDistance,d.clusterShow=t.clusterShow):l(d)&&(p.remove(d),t._backgroundBillboard=d=void 0);let g=e._glyphTextureCache;for(u=0;u<o;++u){let m=i[u],x=t._verticalOrigin,b=JSON.stringify([m,t._fontFamily,t._fontStyle,t._fontWeight,+x]),T=g[b];if(!l(T)){let C=`${t._fontStyle} ${t._fontWeight} ${ia.FONT_SIZE}px ${t._fontFamily}`,A=cWe(m,C,H.WHITE,H.WHITE,0,Yo.FILL,x);if(T=new oWe(e,-1,A.dimensions),g[b]=T,A.width>0&&A.height>0){let S=(0,Sae.default)(A,{cutoff:ia.CUTOFF,radius:ia.RADIUS}),w=A.getContext("2d"),D=A.width,O=A.height,R=w.getImageData(0,0,D,O);for(let M=0;M<D;M++)for(let L=0;L<O;L++){let _=L*D+M,E=S[_]*255,v=_*4;R.data[v+0]=E,R.data[v+1]=E,R.data[v+2]=E,R.data[v+3]=E}w.putImageData(R,0,0),m!==" "&&lWe(e._textureAtlas,b,A,T)}}if(a=r[u],l(a)?T.index===-1?kW(e,a):l(a.textureInfo)&&(a.textureInfo=void 0):(a=new iWe,r[u]=a),a.textureInfo=T,a.dimensions=T.dimensions,T.index!==-1){let C=a.billboard,A=e._spareBillboards;l(C)||(A.length>0?C=A.pop():(C=e._billboardCollection.add({collection:e}),C._labelDimensions=new U,C._labelTranslate=new U),a.billboard=C),C.show=t._show,C.position=t._position,C.eyeOffset=t._eyeOffset,C.pixelOffset=t._pixelOffset,C.horizontalOrigin=gi.LEFT,C.verticalOrigin=t._verticalOrigin,C.heightReference=t._heightReference,C.scale=t.totalScale,C.pickPrimitive=t,C.id=t._id,C.image=b,C.translucencyByDistance=t._translucencyByDistance,C.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,C.scaleByDistance=t._scaleByDistance,C.distanceDisplayCondition=t._distanceDisplayCondition,C.disableDepthTestDistance=t._disableDepthTestDistance,C._batchIndex=t._batchIndex,C.outlineColor=t.outlineColor,t.style===Yo.FILL_AND_OUTLINE?(C.color=t._fillColor,C.outlineWidth=t.outlineWidth):t.style===Yo.FILL?(C.color=t._fillColor,C.outlineWidth=0):t.style===Yo.OUTLINE&&(C.color=H.TRANSPARENT,C.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function Eae(e,t,n){return t===gi.CENTER?-e/2:t===gi.RIGHT?-(e+n.x):n.x}var ar=new U,dWe=new U;function hWe(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,u=0,f=1,d,p=t.length,g=e._backgroundBillboard,m=U.clone(l(g)?e._backgroundPadding:U.ZERO,dWe);for(m.x/=e._relativeSize,m.y/=e._relativeSize,d=0;d<p;++d)n.charAt(d)===` -`?(a.push(r),++f,r=0):(i=t[d],o=i.dimensions,u=Math.max(u,o.height-o.descent),c=Math.max(c,o.descent),r+=o.width-o.minx,d<p-1&&(r+=t[d+1].dimensions.minx),s=Math.max(s,r));a.push(r);let x=u+c,b=e.totalScale,T=e._horizontalOrigin,C=e._verticalOrigin,A=0,S=a[A],w=Eae(S,T,m),D=(l(e._lineHeight)?e._lineHeight:rWe*e._fontSize)/e._relativeSize,O=D*(f-1),R=s,M=x+O;l(g)&&(R+=m.x*2,M+=m.y*2,g._labelHorizontalOrigin=T),ar.x=w*b,ar.y=0;let L=!0,_=0;for(d=0;d<p;++d)if(n.charAt(d)===` -`)++A,_+=D,S=a[A],w=Eae(S,T,m),ar.x=w*b,L=!0;else if(i=t[d],o=i.dimensions,C===Ln.TOP?(ar.y=o.height-u-m.y,ar.y+=ia.PADDING):C===Ln.CENTER?ar.y=(O+o.height-u)/2:C===Ln.BASELINE?(ar.y=O,ar.y-=ia.PADDING):(ar.y=O+c+m.y,ar.y-=ia.PADDING),ar.y=(ar.y-o.descent-_)*b,L&&(ar.x-=ia.PADDING*b,L=!1),l(i.billboard)&&(i.billboard._setTranslate(ar),i.billboard._labelDimensions.x=R,i.billboard._labelDimensions.y=M,i.billboard._labelHorizontalOrigin=T),d<p-1){let E=t[d+1];ar.x+=(o.width-o.minx+E.dimensions.minx)*b}if(l(g)&&n.split(` -`).join("").length>0&&(T===gi.CENTER?w=-s/2-m.x:T===gi.RIGHT?w=-(s+m.x*2):w=0,ar.x=w*b,C===Ln.TOP?ar.y=x-u-c:C===Ln.CENTER?ar.y=(x-u)/2-c:C===Ln.BASELINE?ar.y=-m.y-c:ar.y=0,ar.y=ar.y*b,g.width=R,g.height=M,g._setTranslate(ar),g._labelTranslate=U.clone(ar,g._labelTranslate)),qu(e.heightReference))for(d=0;d<p;++d){i=t[d];let E=i.billboard;l(E)&&(E._labelTranslate=U.clone(ar,E._labelTranslate))}}function Dae(e,t){let n=t._glyphs;for(let i=0,o=n.length;i<o;++i)kW(e,n[i]);l(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,l(t._removeCallbackFunc)&&t._removeCallbackFunc(),ue(t)}function Qh(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._backgroundBillboardCollection=new hf({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new hf({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=H.clone(H.WHITE),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,wo.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(Qh.prototype,{length:{get:function(){return this._labels.length}}});Qh.prototype.add=function(e){let t=new wx(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t};Qh.prototype.remove=function(e){if(l(e)&&e._labelCollection===this){let t=this._labels.indexOf(e);if(t!==-1)return this._labels.splice(t,1),Dae(this,e),!0}return!1};Qh.prototype.removeAll=function(){let e=this._labels;for(let t=0,n=e.length;t<n;++t)Dae(this,e[t]);e.length=0};Qh.prototype.contains=function(e){return l(e)&&e._labelCollection===this};Qh.prototype.get=function(e){return this._labels[e]};Qh.prototype.update=function(e){if(!this.show)return;let t=this._billboardCollection,n=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume;let i=e.context;l(this._textureAtlas)||(this._textureAtlas=new Ax({context:i}),t.textureAtlas=this._textureAtlas),l(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new Ax({context:i,initialSize:BW}),n.textureAtlas=this._backgroundTextureAtlas,aWe(this._backgroundTextureAtlas));let o=this._labelsToUpdate.length;for(let s=0;s<o;++s){let a=this._labelsToUpdate[s];if(a.isDestroyed())continue;let c=a._glyphs.length;a._rebindAllGlyphs&&(fWe(this,a),a._rebindAllGlyphs=!1),a._repositionAllGlyphs&&(hWe(a),a._repositionAllGlyphs=!1);let u=a._glyphs.length-c;this._totalGlyphCount+=u}let r=n.length>0?wo.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};Qh.prototype.isDestroyed=function(){return!1};Qh.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),ue(this)};var Fp=Qh;var mB=`in vec3 position3DHigh; -in vec3 position3DLow; -in vec3 position2DHigh; -in vec3 position2DLow; -in vec3 prevPosition3DHigh; -in vec3 prevPosition3DLow; -in vec3 prevPosition2DHigh; -in vec3 prevPosition2DLow; -in vec3 nextPosition3DHigh; -in vec3 nextPosition3DLow; -in vec3 nextPosition2DHigh; -in vec3 nextPosition2DLow; -in vec4 texCoordExpandAndBatchIndex; + temp = temp * SHIFT_RIGHT1; -out vec2 v_st; -out float v_width; -out vec4 v_pickColor; -out float v_polylineAngle; + float temp2 = (temp - floor(temp)) * SHIFT_LEFT1; + bool enableDepthTest = temp2 != 0.0; + bool applyTranslate = floor(temp) != 0.0; -void main() -{ - float texCoord = texCoordExpandAndBatchIndex.x; - float expandDir = texCoordExpandAndBatchIndex.y; - bool usePrev = texCoordExpandAndBatchIndex.z < 0.0; - float batchTableIndex = texCoordExpandAndBatchIndex.w; + if (enableDepthTest) { + temp = v_compressed.z; + temp = temp * SHIFT_RIGHT12; - vec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex); - float width = widthAndShow.x + 0.5; - float show = widthAndShow.y; + vec2 dimensions; + dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; + dimensions.x = floor(temp); - if (width < 1.0) - { - show = 0.0; - } + temp = v_compressed.w; + temp = temp * SHIFT_RIGHT12; - vec4 pickColor = batchTable_getPickColor(batchTableIndex); + vec2 imageSize; + imageSize.y = (temp - floor(temp)) * SHIFT_LEFT12; + imageSize.x = floor(temp); - vec4 p, prev, next; - if (czm_morphTime == 1.0) - { - p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz); - prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz); - next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz); - } - else if (czm_morphTime == 0.0) - { - p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); - prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy); - next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy); - } - else - { - p = czm_columbusViewMorph( - czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy), - czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz), - czm_morphTime); - prev = czm_columbusViewMorph( - czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy), - czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz), - czm_morphTime); - next = czm_columbusViewMorph( - czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy), - czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz), - czm_morphTime); - } + vec2 adjustedST = v_textureCoordinates - v_textureCoordinateBounds.xy; + adjustedST = adjustedST / vec2(v_textureCoordinateBounds.z - v_textureCoordinateBounds.x, v_textureCoordinateBounds.w - v_textureCoordinateBounds.y); - #ifdef DISTANCE_DISPLAY_CONDITION - vec3 centerHigh = batchTable_getCenterHigh(batchTableIndex); - vec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex); - vec3 centerLow = centerLowAndRadius.xyz; - float radius = centerLowAndRadius.w; - vec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex); + float epsilonEyeDepth = v_compressed.x + czm_epsilon1; + float globeDepth1 = getGlobeDepth(adjustedST, v_originTextureCoordinateAndTranslate.xy, applyTranslate, dimensions, imageSize); - float lengthSq; - if (czm_sceneMode == czm_sceneMode2D) - { - lengthSq = czm_eyeHeight2D.y; - } - else + // negative values go into the screen + if (globeDepth1 != 0.0 && globeDepth1 > epsilonEyeDepth) { - vec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz); - lengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius); + float globeDepth2 = getGlobeDepth(adjustedST, vec2(0.0, 1.0), applyTranslate, dimensions, imageSize); // top left corner + if (globeDepth2 != 0.0 && globeDepth2 > epsilonEyeDepth) + { + float globeDepth3 = getGlobeDepth(adjustedST, vec2(1.0, 1.0), applyTranslate, dimensions, imageSize); // top right corner + if (globeDepth3 != 0.0 && globeDepth3 > epsilonEyeDepth) + { + discard; + } + } } + } +#endif - float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; - float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; - if (lengthSq < nearSq || lengthSq > farSq) - { - show = 0.0; - } - #endif +} +`;var mB=`#ifdef INSTANCED +in vec2 direction; +#endif +in vec4 positionHighAndScale; +in vec4 positionLowAndRotation; +in vec4 compressedAttribute0; // pixel offset, translate, horizontal origin, vertical origin, show, direction, texture coordinates (texture offset) +in vec4 compressedAttribute1; // aligned axis, translucency by distance, image width +in vec4 compressedAttribute2; // label horizontal origin, image height, color, pick color, size in meters, valid aligned axis, 13 bits free +in vec4 eyeOffset; // eye offset in meters, 4 bytes free (texture range) +in vec4 scaleByDistance; // near, nearScale, far, farScale +in vec4 pixelOffsetScaleByDistance; // near, nearScale, far, farScale +in vec4 compressedAttribute3; // distance display condition near, far, disableDepthTestDistance, dimensions +in vec2 sdf; // sdf outline color (rgb) and width (w) +in float splitDirection; // splitDirection +#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) +in vec4 textureCoordinateBoundsOrLabelTranslate; // the min and max x and y values for the texture coordinates +#endif +#ifdef VECTOR_TILE +in float a_batchId; +#endif - float polylineAngle; - vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle); - gl_Position = czm_viewportOrthographic * positionWC * show; +out vec2 v_textureCoordinates; +#ifdef FRAGMENT_DEPTH_CHECK +out vec4 v_textureCoordinateBounds; +out vec4 v_originTextureCoordinateAndTranslate; +out vec4 v_compressed; // x: eyeDepth, y: applyTranslate & enableDepthCheck, z: dimensions, w: imageSize +out mat2 v_rotationMatrix; +#endif - v_st.s = texCoord; - v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w); +out vec4 v_pickColor; +out vec4 v_color; +out float v_splitDirection; +#ifdef SDF +out vec4 v_outlineColor; +out float v_outlineWidth; +#endif - v_width = width; - v_pickColor = pickColor; - v_polylineAngle = polylineAngle; -} -`;var kc={};kc.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};kc.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var mWe=new fe;kc.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o<n;o++){let r=e[o];i[o]=t.cartesianToCartographic(r,mWe).height}return i};var pWe=new F,_We=new h,Iae=new h,gWe=new cn(h.UNIT_X,0),Pae=new h,yWe=new cn(h.UNIT_X,0),xWe=new h,bWe=new h,UW=[];function Oae(e,t,n){let i=UW;i.length=e;let o;if(t===n){for(o=0;o<e;o++)i[o]=t;return i}let s=(n-t)/e;for(o=0;o<e;o++){let a=t+o*s;i[o]=a}return i}var _B=new fe,pB=new fe,Ug=new h,zW=new h,TWe=new h,VW=new X_,Vv=new Ka;function CWe(e,t,n,i,o,r,s,a){let c=i.scaleToGeodeticSurface(e,zW),u=i.scaleToGeodeticSurface(t,TWe),f=kc.numberOfPoints(e,t,n),d=i.cartesianToCartographic(c,_B),p=i.cartesianToCartographic(u,pB),g=Oae(f,o,r);VW.setEndPoints(d,p);let m=VW.surfaceDistance/f,x=a;d.height=o;let b=i.cartographicToCartesian(d,Ug);h.pack(b,s,x),x+=3;for(let T=1;T<f;T++){let C=VW.interpolateUsingSurfaceDistance(T*m,pB);C.height=g[T],b=i.cartographicToCartesian(C,Ug),h.pack(b,s,x),x+=3}return x}function AWe(e,t,n,i,o,r,s,a){let c=i.cartesianToCartographic(e,_B),u=i.cartesianToCartographic(t,pB),f=kc.numberOfPointsRhumbLine(c,u,n);c.height=0,u.height=0;let d=Oae(f,o,r);Vv.ellipsoid.equals(i)||(Vv=new Ka(void 0,void 0,i)),Vv.setEndPoints(c,u);let p=Vv.surfaceDistance/f,g=a;c.height=o;let m=i.cartographicToCartesian(c,Ug);h.pack(m,s,g),g+=3;for(let x=1;x<f;x++){let b=Vv.interpolateUsingSurfaceDistance(x*p,pB);b.height=d[x],m=i.cartographicToCartesian(b,Ug),h.pack(m,s,g),g+=3}return g}kc.wrapLongitude=function(e,t){let n=[],i=[];if(l(e)&&e.length>0){t=y(t,F.IDENTITY);let o=F.inverseTransformation(t,pWe),r=F.multiplyByPoint(o,h.ZERO,_We),s=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_Y,Iae),Iae),a=cn.fromPointNormal(r,s,gWe),c=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_X,Pae),Pae),u=cn.fromPointNormal(r,c,yWe),f=1;n.push(h.clone(e[0]));let d=n[0],p=e.length;for(let g=1;g<p;++g){let m=e[g];if(cn.getPointDistance(u,d)<0||cn.getPointDistance(u,m)<0){let x=Jn.lineSegmentPlane(d,m,a,xWe);if(l(x)){let b=h.multiplyByScalar(s,5e-9,bWe);cn.getPointDistance(a,d)<0&&h.negate(b,b),n.push(h.add(x,b,new h)),i.push(f+1),h.negate(b,b),n.push(h.add(x,b,new h)),f=1}}n.push(h.clone(e[g])),f++,d=m}i.push(f)}return{positions:n,lengths:i}};kc.generateArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let x=i.scaleToGeodeticSurface(t[0],zW);if(o=r?o[0]:o,o!==0){let b=i.geodeticSurfaceNormal(x,Ug);h.multiplyByScalar(b,o,b),h.add(x,b,x)}return[x.x,x.y,x.z]}let s=e.minDistance;if(!l(s)){let x=y(e.granularity,P.RADIANS_PER_DEGREE);s=P.chordLength(x,i.maximumRadius)}let a=0,c;for(c=0;c<n-1;c++)a+=kc.numberOfPoints(t[c],t[c+1],s);let u=(a+1)*3,f=new Array(u),d=0;for(c=0;c<n-1;c++){let x=t[c],b=t[c+1],T=r?o[c]:o,C=r?o[c+1]:o;d=CWe(x,b,s,i,T,C,f,d)}UW.length=0;let p=t[n-1],g=i.cartesianToCartographic(p,_B);g.height=r?o[n-1]:o;let m=i.cartographicToCartesian(g,Ug);return h.pack(m,f,u-3),f};var Rae=new fe,EWe=new fe;kc.generateRhumbArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let T=i.scaleToGeodeticSurface(t[0],zW);if(o=r?o[0]:o,o!==0){let C=i.geodeticSurfaceNormal(T,Ug);h.multiplyByScalar(C,o,C),h.add(T,C,T)}return[T.x,T.y,T.z]}let s=y(e.granularity,P.RADIANS_PER_DEGREE),a=0,c,u=i.cartesianToCartographic(t[0],Rae),f;for(c=0;c<n-1;c++)f=i.cartesianToCartographic(t[c+1],EWe),a+=kc.numberOfPointsRhumbLine(u,f,s),u=fe.clone(f,Rae);let d=(a+1)*3,p=new Array(d),g=0;for(c=0;c<n-1;c++){let T=t[c],C=t[c+1],A=r?o[c]:o,S=r?o[c+1]:o;g=AWe(T,C,s,i,A,S,p,g)}UW.length=0;let m=t[n-1],x=i.cartesianToCartographic(m,_B);x.height=r?o[n-1]:o;let b=i.cartographicToCartesian(x,Ug);return h.pack(b,p,d-3),p};kc.generateCartesianArc=function(e){let t=kc.generateArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};kc.generateCartesianRhumbArc=function(e){let t=kc.generateRhumbArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};var Ri=kc;function au(e,t){e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._width=y(e.width,1),this._loop=y(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,l(this._material)||(this._material=ji.fromType(ji.ColorType,{color:new H(1,1,1,1)}));let n=e.positions;l(n)||(n=[]),this._positions=n,this._actualPositions=xo(n,h.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;l(t)&&(i=F.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Ri.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(Lae),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=ae.fromPoints(this._actualPositions),this._boundingVolumeWC=ae.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new ae}var Mae=au.POSITION_INDEX=0,SWe=au.SHOW_INDEX=1,wWe=au.WIDTH_INDEX=2,vWe=au.MATERIAL_INDEX=3,Uv=au.POSITION_SIZE_INDEX=4,DWe=au.DISTANCE_DISPLAY_CONDITION=5,Lae=au.NUMBER_OF_PROPERTIES=6;function Bp(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;l(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(au.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,Bp(this,SWe))}},positions:{get:function(){return this._positions},set:function(e){let t=xo(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&Bp(this,Uv),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=ae.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=ae.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),Bp(this,Mae),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,Bp(this,vWe))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,Bp(this,wWe))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,Bp(this,Uv)}}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!l(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ot.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition),Bp(this,DWe))}}});au.prototype.update=function(){let e=F.IDENTITY;l(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[Mae]>0||this._propertiesChanged[Uv]>0;if((!F.equals(e,this._modelMatrix)||i)&&(this._segments=Ri.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=ae.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=F.clone(e,this._modelMatrix),this._segments.positions.length!==t)Bp(this,Uv);else{let o=n.length;for(let r=0;r<o;++r)if(n[r]!==this._segments.lengths[r]){Bp(this,Uv);break}}};au.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId};au.prototype._clean=function(){this._dirty=!1;let e=this._propertiesChanged;for(let t=0;t<Lae-1;++t)e[t]=0};au.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var gd=au;var IWe=gd.SHOW_INDEX,PWe=gd.WIDTH_INDEX,GW=gd.POSITION_INDEX,RWe=gd.MATERIAL_INDEX,Nae=gd.POSITION_SIZE_INDEX,OWe=gd.DISTANCE_DISPLAY_CONDITION,Hae=gd.NUMBER_OF_PROPERTIES,yl={texCoordExpandAndBatchIndex:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12};function yd(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(Hae),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:Ve.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=H.clone(H.WHITE);let t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}Object.defineProperties(yd.prototype,{length:{get:function(){return WW(this),this._polylines.length}}});yd.prototype.add=function(e){let t=new gd(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,this._createBatchTable=!0,t};yd.prototype.remove=function(e){if(this.contains(e)){if(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,l(e._bucket)){let t=e._bucket;t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()}return e._destroy(),!0}return!1};yd.prototype.removeAll=function(){jW(this),Yae(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0};yd.prototype.contains=function(e){return l(e)&&e._polylineCollection===this};yd.prototype.get=function(e){return WW(this),this._polylines[e]};function MWe(e,t){l(e._batchTable)&&e._batchTable.destroy();let n=[{functionName:"batchTable_getWidthAndShow",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:X.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:X.FLOAT,componentsPerAttribute:2}];e._batchTable=new MT(t,n,e._polylines.length)}var Gae=new Wn,Wae=new oe,jae=new U;yd.prototype.update=function(e){if(WW(this),this._polylines.length===0||!this.show)return;VWe(this,e);let t=e.context,n=e.mapProjection,i,o=this._propertiesChanged;if(this._createBatchTable){if(Ut.maximumVertexTextureImageUnits===0)throw new ce("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");MWe(this,t),this._createBatchTable=!1}if(this._createVertexArray||NWe(this))kae(this,t,n);else if(this._polylinesUpdated){let c=this._polylinesToUpdate;if(this._mode!==ne.SCENE3D){let u=c.length;for(let f=0;f<u;++f)i=c[f],i.update()}if(o[Nae]||o[RWe])kae(this,t,n);else{let u=c.length,f=this._polylineBuckets;for(let d=0;d<u;++d){i=c[d],o=i._propertiesChanged;let p=i._bucket,g=0;for(let m in f)if(f.hasOwnProperty(m)){if(f[m]===p){o[GW]&&p.writeUpdate(g,i,this._positionBuffer,n);break}g+=f[m].lengthOfPositions}if((o[IWe]||o[PWe])&&this._batchTable.setBatchedAttribute(i._index,0,new U(i._width,i._show)),this._batchTable.attributes.length>2){if(o[GW]||o[Nae]){let m=e.mode===ne.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,x=Wn.fromCartesian(m.center,Gae),b=oe.fromElements(x.low.x,x.low.y,x.low.z,m.radius,Wae);this._batchTable.setBatchedAttribute(i._index,2,x.high),this._batchTable.setBatchedAttribute(i._index,3,b)}if(o[OWe]){let m=jae;m.x=0,m.y=Number.MAX_VALUE;let x=i.distanceDisplayCondition;l(x)&&(m.x=x.near,m.y=x.far),this._batchTable.setBatchedAttribute(i._index,4,m)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c<Hae;++c)o[c]=0;let r=F.IDENTITY;e.mode===ne.SCENE3D&&(r=this.modelMatrix);let s=e.passes,a=e.morphTime!==0;if((!l(this._opaqueRS)||this._opaqueRS.depthTest.enabled!==a)&&(this._opaqueRS=ze.fromCache({depthMask:a,depthTest:{enabled:a}})),(!l(this._translucentRS)||this._translucentRS.depthTest.enabled!==a)&&(this._translucentRS=ze.fromCache({blending:fn.ALPHA_BLEND,depthMask:!a,depthTest:{enabled:a}})),this._batchTable.update(e),s.render||s.pick){let c=this._colorCommands;LWe(this,e,c,r)}};var zv=new ae,Fae=new ae;function LWe(e,t,n,i){let o=t.context,r=t.commandList,s=n.length,a=0,c=!0,u=e._vertexArrays,f=e.debugShowBoundingVolume,p=e._batchTable.getUniformMapCallback(),g=u.length;for(let m=0;m<g;++m){let x=u[m],b=x.buckets,T=b.length;for(let C=0;C<T;++C){let A=b[C],S=A.offset,w=A.bucket.shaderProgram,D=A.bucket.polylines,O=D.length,R,M,L=0,_,E;for(let v=0;v<O;++v){let I=D[v],N=BWe(I._material);if(N!==R){if(l(R)&&L>0){let G=M.isTranslucent();a>=s?(_=new et({owner:e}),n.push(_)):_=n[a],++a,E=xt(p(M._uniforms),e._uniformMap),_.boundingVolume=ae.clone(zv,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=w,_.vertexArray=x.va,_.renderState=G?e._translucentRS:e._opaqueRS,_.pass=G?Se.TRANSLUCENT:Se.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=E,_.count=L,_.offset=S,S+=L,L=0,c=!0,r.push(_)}M=I._material,M.update(o),R=N}let B=I._locatorBuckets,z=B.length;for(let G=0;G<z;++G){let k=B[G];k.locator===A&&(L+=k.count)}let V;t.mode===ne.SCENE3D?V=I._boundingVolumeWC:t.mode===ne.COLUMBUS_VIEW?V=I._boundingVolume2D:t.mode===ne.SCENE2D?l(I._boundingVolume2D)&&(V=ae.clone(I._boundingVolume2D,Fae),V.center.x=0):l(I._boundingVolumeWC)&&l(I._boundingVolume2D)&&(V=ae.union(I._boundingVolumeWC,I._boundingVolume2D,Fae)),c?(c=!1,ae.clone(V,zv)):ae.union(V,zv,zv)}l(R)&&L>0&&(a>=s?(_=new et({owner:e}),n.push(_)):_=n[a],++a,E=xt(p(M._uniforms),e._uniformMap),_.boundingVolume=ae.clone(zv,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=w,_.vertexArray=x.va,_.renderState=M.isTranslucent()?e._translucentRS:e._opaqueRS,_.pass=M.isTranslucent()?Se.TRANSLUCENT:Se.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=E,_.count=L,_.offset=S,c=!0,r.push(_)),R=void 0}}n.length=a}yd.prototype.isDestroyed=function(){return!1};yd.prototype.destroy=function(){return qae(this),jW(this),Yae(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function NWe(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[GW]?(i.bufferUsage!==Ve.STREAM_DRAW&&(t=!0,i.bufferUsage=Ve.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==Ve.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=Ve.STATIC_DRAW):i.frameCount--),t}var Bae=[0,0,0];function kae(e,t,n){e._createVertexArray=!1,jW(e),qae(e),kWe(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,u=[[]],f=0,d=e._polylineBuckets,p,g;for(p in d)d.hasOwnProperty(p)&&(g=d[p],g.updateShader(t,r,s),f+=g.lengthOfPositions);if(f>0){let m=e._mode,x=new Float32Array(6*f*3),b=new Float32Array(f*4),T,C=0,A=0,S=0;for(p in d)if(d.hasOwnProperty(p)){g=d[p],g.write(x,b,C,A,S,r,t,n),m===ne.MORPHING&&(l(T)||(T=new Float32Array(6*f*3)),g.writeForMorph(T,C));let E=g.lengthOfPositions;C+=6*E*3,A+=E*4,S+=E*4,c=g.updateIndices(i,a,u,c)}let w=e._positionBufferUsage.bufferUsage,D=Ve.STATIC_DRAW;e._positionBuffer=yt.createVertexBuffer({context:t,typedArray:x,usage:w});let O;l(T)&&(O=yt.createVertexBuffer({context:t,typedArray:T,usage:w})),e._texCoordExpandAndBatchIndexBuffer=yt.createVertexBuffer({context:t,typedArray:b,usage:D});let R=3*Float32Array.BYTES_PER_ELEMENT,M=4*Float32Array.BYTES_PER_ELEMENT,L=0,_=i.length;for(let E=0;E<_;++E)if(o=i[E],o.length>0){let v=new Uint16Array(o),I=yt.createIndexBuffer({context:t,typedArray:v,usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT});L+=a[E];let N=6*(E*(R*P.SIXTY_FOUR_KILOBYTES)-L*R),B=R+N,z=R+B,V=R+z,G=R+V,k=R+G,Y=E*(M*P.SIXTY_FOUR_KILOBYTES)-L*M,W=[{index:yl.position3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:N,strideInBytes:6*R},{index:yl.position3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*R},{index:yl.position2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:N,strideInBytes:6*R},{index:yl.position2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*R},{index:yl.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:z,strideInBytes:6*R},{index:yl.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*R},{index:yl.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:z,strideInBytes:6*R},{index:yl.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*R},{index:yl.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*R},{index:yl.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*R},{index:yl.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*R},{index:yl.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*R},{index:yl.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:X.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:Y}],J,j,$,Q;m===ne.SCENE3D?(j=e._positionBuffer,J="vertexBuffer",$=Bae,Q="value"):m===ne.SCENE2D||m===ne.COLUMBUS_VIEW?(j=Bae,J="value",$=e._positionBuffer,Q="vertexBuffer"):(j=O,J="vertexBuffer",$=e._positionBuffer,Q="vertexBuffer"),W[0][J]=j,W[1][J]=j,W[2][Q]=$,W[3][Q]=$,W[4][J]=j,W[5][J]=j,W[6][Q]=$,W[7][Q]=$,W[8][J]=j,W[9][J]=j,W[10][Q]=$,W[11][Q]=$;let he=new di({context:t,attributes:W,indexBuffer:I});e._vertexArrays.push({va:he,buckets:u[E]})}}}function FWe(e,t){return t instanceof Mt?t.id:t}var gB=[];function BWe(e){let t=ji._uniformList[e.type],n=t.length;gB.length=2*n;let i=0;for(let o=0;o<n;++o){let r=t[o];gB[i]=r,gB[i+1]=e._uniforms[r](),i+=2}return`${e.type}:${JSON.stringify(gB,FWe)}`}function kWe(e){let t=e._mode,n=e._modelMatrix,i=e._polylineBuckets={},o=e._polylines,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a._actualPositions.length>1){a.update();let c=a.material,u=i[c.type];l(u)||(u=i[c.type]=new Jh(c,t,n)),u.addPolyline(a)}}}function VWe(e,t){let n=t.mode;(e._mode!==n||!F.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=F.clone(e.modelMatrix),e._createVertexArray=!0)}function WW(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s<r;++s)o=e._polylines[s],o.isDestroyed||(o._index=i++,n.push(o),t.push(o));e._polylines=t,e._polylinesToUpdate=n}}function jW(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)if(!t[i].isDestroyed){let o=t[i]._bucket;l(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy())}}function qae(e){let t=e._vertexArrays.length;for(let n=0;n<t;++n)e._vertexArrays[n].va.destroy();e._vertexArrays.length=0}yd.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};function Yae(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)t[i].isDestroyed||t[i]._destroy()}function HW(e,t,n){this.count=e,this.offset=t,this.bucket=n}function Jh(e,t,n){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=n}Jh.prototype.addPolyline=function(e){this.polylines.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this};Jh.prototype.updateShader=function(e,t,n){if(l(this.shaderProgram))return;let i=["DISTANCE_DISPLAY_CONDITION"];n&&i.push("VECTOR_TILE"),this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&i.push("POLYLINE_DASH"),Wt.isInternetExplorer()||i.push("CLIP_POLYLINE");let o=new Ge({defines:i,sources:[`in vec4 v_pickColor; -`,this.material.shaderSource,WT]}),r=t.getVertexShaderCallback()(mB),s=new Ge({defines:i,sources:[Zu,r]});this.shaderProgram=sn.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:o,attributeLocations:yl})};function Xae(e){return h.dot(h.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(cn.ORIGIN_ZX_PLANE)===qt.INTERSECTING}Jh.prototype.getPolylinePositionsLength=function(e){let t;if(this.mode===ne.SCENE3D||!Xae(e))return t=e._actualPositions.length,t*4-4;let n=0,i=e._segments.lengths;t=i.length;for(let o=0;o<t;++o)n+=i[o]*4-4;return n};var Ts=new h,pf=new h,_f=new h,yB=new h,UWe=new oe,zWe=new U;Jh.prototype.write=function(e,t,n,i,o,r,s,a){let c=this.mode,u=a.ellipsoid.maximumRadius*P.PI,f=this.polylines,d=f.length;for(let p=0;p<d;++p){let g=f[p],m=g.width,x=g.show&&m>0,b=g._index,T=this.getSegments(g,a),C=T.positions,A=T.lengths,S=C.length,w=g.getPickId(s).color,D=0,O=0,R;for(let z=0;z<S;++z){z===0?g._loop?R=C[S-2]:(R=yB,h.subtract(C[0],C[1],R),h.add(C[0],R,R)):R=C[z-1],h.clone(R,pf),h.clone(C[z],Ts),z===S-1?g._loop?R=C[1]:(R=yB,h.subtract(C[S-1],C[S-2],R),h.add(C[S-1],R,R)):R=C[z+1],h.clone(R,_f);let V=A[D];z===O+V&&(O+=V,++D);let G=z-O===0,k=z===O+A[D]-1;c===ne.SCENE2D&&(pf.z=0,Ts.z=0,_f.z=0),(c===ne.SCENE2D||c===ne.MORPHING)&&(G||k)&&u-Math.abs(Ts.x)<1&&((Ts.x<0&&pf.x>0||Ts.x>0&&pf.x<0)&&h.clone(Ts,pf),(Ts.x<0&&_f.x>0||Ts.x>0&&_f.x<0)&&h.clone(Ts,_f));let Y=G?2:0,W=k?2:4;for(let J=Y;J<W;++J){Wn.writeElements(Ts,e,n),Wn.writeElements(pf,e,n+6),Wn.writeElements(_f,e,n+12);let j=J-2<0?-1:1;t[o]=z/(S-1),t[o+1]=2*(J%2)-1,t[o+2]=j,t[o+3]=b,n+=6*3,o+=4}}let M=UWe;M.x=H.floatToByte(w.red),M.y=H.floatToByte(w.green),M.z=H.floatToByte(w.blue),M.w=H.floatToByte(w.alpha);let L=zWe;L.x=m,L.y=x?1:0;let _=c===ne.SCENE2D?g._boundingVolume2D:g._boundingVolumeWC,E=Wn.fromCartesian(_.center,Gae),v=E.high,I=oe.fromElements(E.low.x,E.low.y,E.low.z,_.radius,Wae),N=jae;N.x=0,N.y=Number.MAX_VALUE;let B=g.distanceDisplayCondition;l(B)&&(N.x=B.near,N.y=B.far),r.setBatchedAttribute(b,0,L),r.setBatchedAttribute(b,1,M),r.attributes.length>2&&(r.setBatchedAttribute(b,2,v),r.setBatchedAttribute(b,3,I),r.setBatchedAttribute(b,4,N))}};var HWe=new h,GWe=new h,WWe=new h,Vae=new h;Jh.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=s._segments.positions,c=s._segments.lengths,u=a.length,f=0,d=0;for(let p=0;p<u;++p){let g;p===0?s._loop?g=a[u-2]:(g=Vae,h.subtract(a[0],a[1],g),h.add(a[0],g,g)):g=a[p-1],g=F.multiplyByPoint(n,g,GWe);let m=F.multiplyByPoint(n,a[p],HWe),x;p===u-1?s._loop?x=a[1]:(x=Vae,h.subtract(a[u-1],a[u-2],x),h.add(a[u-1],x,x)):x=a[p+1],x=F.multiplyByPoint(n,x,WWe);let b=c[f];p===d+b&&(d+=b,++f);let T=p-d===0,C=p===d+c[f]-1,A=T?2:0,S=C?2:4;for(let w=A;w<S;++w)Wn.writeElements(m,e,t),Wn.writeElements(g,e,t+6),Wn.writeElements(x,e,t+12),t+=6*3}}};var jWe=new Array(1);Jh.prototype.updateIndices=function(e,t,n,i){let o=n.length-1,r=new HW(0,i,this);n[o].push(r);let s=0,a=e[e.length-1],c=0;a.length>0&&(c=a[a.length-1]+1);let u=this.polylines,f=u.length;for(let d=0;d<f;++d){let p=u[d];p._locatorBuckets=[];let g;if(this.mode===ne.SCENE3D){g=jWe;let x=p._actualPositions.length;if(x>0)g[0]=x;else continue}else g=p._segments.lengths;let m=g.length;if(m>0){let x=0;for(let b=0;b<m;++b){let T=g[b]-1;for(let C=0;C<T;++C)c+4>P.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:x}),x=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new HW(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),x+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:x}),c+4>P.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new HW(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};Jh.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o<i;++o){let r=t[o];if(r===e)break;n+=r._actualLength}return n};var ZC={positions:void 0,lengths:void 0},Uae=new Array(1),qWe=new h,YWe=new fe;Jh.prototype.getSegments=function(e,t){let n=e._actualPositions;if(this.mode===ne.SCENE3D)return Uae[0]=n.length,ZC.positions=n,ZC.lengths=Uae,ZC;Xae(e)&&(n=e._segments.positions);let i=t.ellipsoid,o=[],r=this.modelMatrix,s=n.length,a,c=qWe;for(let u=0;u<s;++u)a=n[u],c=F.multiplyByPoint(r,a,c),o.push(t.project(i.cartesianToCartographic(c,YWe)));if(o.length>0){e._boundingVolume2D=ae.fromPoints(o,e._boundingVolume2D);let u=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(u.z,u.x,u.y)}return ZC.positions=o,ZC.lengths=e._segments.lengths,ZC};var zae;Jh.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*P.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=zae,c=6*s*3;!l(a)||a.length<c?a=zae=new Float32Array(c):a.length>c&&(a=new Float32Array(a.buffer,0,c));let u=this.getSegments(t,i),f=u.positions,d=u.lengths,p=0,g=0,m=0,x;s=f.length;for(let b=0;b<s;++b){b===0?t._loop?x=f[s-2]:(x=yB,h.subtract(f[0],f[1],x),h.add(f[0],x,x)):x=f[b-1],h.clone(x,pf),h.clone(f[b],Ts),b===s-1?t._loop?x=f[1]:(x=yB,h.subtract(f[s-1],f[s-2],x),h.add(f[s-1],x,x)):x=f[b+1],h.clone(x,_f);let T=d[g];b===m+T&&(m+=T,++g);let C=b-m===0,A=b===m+d[g]-1;o===ne.SCENE2D&&(pf.z=0,Ts.z=0,_f.z=0),(o===ne.SCENE2D||o===ne.MORPHING)&&(C||A)&&r-Math.abs(Ts.x)<1&&((Ts.x<0&&pf.x>0||Ts.x>0&&pf.x<0)&&h.clone(Ts,pf),(Ts.x<0&&_f.x>0||Ts.x>0&&_f.x<0)&&h.clone(Ts,_f));let S=C?2:0,w=A?2:4;for(let D=S;D<w;++D)Wn.writeElements(Ts,a,p),Wn.writeElements(pf,a,p+6),Wn.writeElements(_f,a,p+12),p+=6*3}n.copyFromArrayView(a,6*3*Float32Array.BYTES_PER_ELEMENT*e)}};var em=yd;function zg(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=new hf({batchTable:e.batchTable}),this._labelCollection=new Fp({batchTable:e.batchTable}),this._polylineCollection=new em,this._polylineCollection._useHighlightColor=!0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(zg.prototype,{ready:{get:function(){return this._ready}},pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let e=this._billboardCollection.textureAtlas.texture.sizeInBytes,t=this._labelCollection._textureAtlas.texture.sizeInBytes;return e+t}}});function XWe(e,t){let n=e._rectangle,i=e._minHeight,o=e._maxHeight,r=2+se.packedLength+ee.packedLength,s=new Float64Array(r),a=0;return s[a++]=i,s[a++]=o,se.pack(n,s,a),a+=se.packedLength,ee.pack(t,s,a),s}var KWe=new _i("createVectorTilePoints",5),$We=new h;function ZWe(e,t){let n=e._positions,i=e._packedBuffer;l(i)||(n=e._positions=n.slice(),e._batchIds=e._batchIds.slice(),i=e._packedBuffer=XWe(e,t));let o=[n.buffer,i.buffer],r={positions:n.buffer,packedBuffer:i.buffer},s=KWe.scheduleTask(r,o);if(l(s))return s.then(a=>{if(e.isDestroyed())return;e._positions=new Float64Array(a.positions);let c=e._billboardCollection,u=e._labelCollection,f=e._polylineCollection;n=e._positions;let d=e._batchIds,p=n.length/3;for(let g=0;g<p;++g){let m=d[g],x=h.unpack(n,g*3,$We),b=c.add();b.position=x,b._batchIndex=m;let T=u.add();T.text=" ",T.position=x,T._batchIndex=m;let C=f.add();C.positions=[h.clone(x),h.clone(x)]}e._positions=void 0,e._packedBuffer=void 0,e._ready=!0}).catch(a=>{e.isDestroyed()||(e._error=a)})}zg.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a<s;++a){let c=r[a],u=n.get(a),f=i.get(a),d=o.get(a);t[c]=new Vg(e,c,u,f,d)}};zg.prototype.applyDebugSettings=function(e,t){e?(H.clone(t,this._billboardCollection._highlightColor),H.clone(t,this._labelCollection._highlightColor),H.clone(t,this._polylineCollection._highlightColor)):(H.clone(H.WHITE,this._billboardCollection._highlightColor),H.clone(H.WHITE,this._labelCollection._highlightColor),H.clone(H.WHITE,this._polylineCollection._highlightColor))};function QWe(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.pointSize=Vg.defaultPointSize,s.color=Vg.defaultColor,s.pointOutlineColor=Vg.defaultPointOutlineColor,s.pointOutlineWidth=Vg.defaultPointOutlineWidth,s.labelColor=H.WHITE,s.labelOutlineColor=H.WHITE,s.labelOutlineWidth=1,s.font="30px sans-serif",s.labelStyle=Yo.FILL,s.labelText=void 0,s.backgroundColor=new H(.165,.165,.165,.8),s.backgroundPadding=new U(7,5),s.backgroundEnabled=!1,s.scaleByDistance=void 0,s.translucencyByDistance=void 0,s.distanceDisplayCondition=void 0,s.heightOffset=0,s.anchorLineEnabled=!1,s.anchorLineColor=H.WHITE,s.image=void 0,s.disableDepthTestDistance=0,s.horizontalOrigin=gi.CENTER,s.verticalOrigin=Ln.CENTER,s.labelHorizontalOrigin=gi.RIGHT,s.labelVerticalOrigin=Ln.BASELINE}}var JWe=new H,eje=new H,tje=new H,nje=new H,ije=new H,oje=new H,Hv=new Vt,Gv=new Vt,qW=new Ot;zg.prototype.applyStyle=function(e,t){if(!l(e)){QWe(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];if(l(e.show)&&(s.show=e.show.evaluate(s)),l(e.pointSize)&&(s.pointSize=e.pointSize.evaluate(s)),l(e.color)&&(s.color=e.color.evaluateColor(s,JWe)),l(e.pointOutlineColor)&&(s.pointOutlineColor=e.pointOutlineColor.evaluateColor(s,eje)),l(e.pointOutlineWidth)&&(s.pointOutlineWidth=e.pointOutlineWidth.evaluate(s)),l(e.labelColor)&&(s.labelColor=e.labelColor.evaluateColor(s,tje)),l(e.labelOutlineColor)&&(s.labelOutlineColor=e.labelOutlineColor.evaluateColor(s,nje)),l(e.labelOutlineWidth)&&(s.labelOutlineWidth=e.labelOutlineWidth.evaluate(s)),l(e.font)&&(s.font=e.font.evaluate(s)),l(e.labelStyle)&&(s.labelStyle=e.labelStyle.evaluate(s)),l(e.labelText)?s.labelText=e.labelText.evaluate(s):s.labelText=void 0,l(e.backgroundColor)&&(s.backgroundColor=e.backgroundColor.evaluateColor(s,ije)),l(e.backgroundPadding)&&(s.backgroundPadding=e.backgroundPadding.evaluate(s)),l(e.backgroundEnabled)&&(s.backgroundEnabled=e.backgroundEnabled.evaluate(s)),l(e.scaleByDistance)){let a=e.scaleByDistance.evaluate(s);l(a)?(Hv.near=a.x,Hv.nearValue=a.y,Hv.far=a.z,Hv.farValue=a.w,s.scaleByDistance=Hv):s.scaleByDistance=void 0}else s.scaleByDistance=void 0;if(l(e.translucencyByDistance)){let a=e.translucencyByDistance.evaluate(s);l(a)?(Gv.near=a.x,Gv.nearValue=a.y,Gv.far=a.z,Gv.farValue=a.w,s.translucencyByDistance=Gv):s.translucencyByDistance=void 0}else s.translucencyByDistance=void 0;if(l(e.distanceDisplayCondition)){let a=e.distanceDisplayCondition.evaluate(s);l(a)?(qW.near=a.x,qW.far=a.y,s.distanceDisplayCondition=qW):s.distanceDisplayCondition=void 0}else s.distanceDisplayCondition=void 0;l(e.heightOffset)&&(s.heightOffset=e.heightOffset.evaluate(s)),l(e.anchorLineEnabled)&&(s.anchorLineEnabled=e.anchorLineEnabled.evaluate(s)),l(e.anchorLineColor)&&(s.anchorLineColor=e.anchorLineColor.evaluateColor(s,oje)),l(e.image)?s.image=e.image.evaluate(s):s.image=void 0,l(e.disableDepthTestDistance)&&(s.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(s)),l(e.horizontalOrigin)&&(s.horizontalOrigin=e.horizontalOrigin.evaluate(s)),l(e.verticalOrigin)&&(s.verticalOrigin=e.verticalOrigin.evaluate(s)),l(e.labelHorizontalOrigin)&&(s.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(s)),l(e.labelVerticalOrigin)&&(s.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(s))}};zg.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=ZWe(this,e.mapProjection.ellipsoid)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._polylineCollection.update(e),this._billboardCollection.update(e),this._labelCollection.update(e)};zg.prototype.isDestroyed=function(){return!1};zg.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),ue(this)};var xB=zg;function kp(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=y(e.center,h.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Vn.BOTH}Object.defineProperties(kp.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});function rje(e){let t=new Float64Array(3+h.packedLength+ee.packedLength+se.packedLength),n=0;return t[n++]=e._indices.BYTES_PER_ELEMENT,t[n++]=e._minimumHeight,t[n++]=e._maximumHeight,h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,se.pack(e._rectangle,t,n),t}function sje(e,t){let n=1,i=t[n++],o=e._boundingVolumes=new Array(i);for(let a=0;a<i;++a)o[a]=In.unpack(t,n),n+=In.packedLength;let r=t[n++],s=e._batchedIndices=new Array(r);for(let a=0;a<r;++a){let c=H.unpack(t,n);n+=H.packedLength;let u=t[n++],f=t[n++],d=t[n++],p=new Array(d);for(let g=0;g<d;++g)p[g]=t[n++];s[a]=new gp({color:c,offset:u,count:f,batchIds:p})}}var aje=new _i("createVectorTilePolygons",5),cje=new H;function lje(e){if(l(e._primitive))return;let t=e._positions,n=e._counts,i=e._indexCounts,o=e._indices,r=e._transferrableBatchIds,s=e._batchTableColors,a=e._packedBuffer;if(!l(s)){t=e._positions=e._positions.slice(),n=e._counts=e._counts.slice(),i=e._indexCounts=e._indexCounts.slice(),o=e._indices=e._indices.slice(),e._center=e._ellipsoid.cartographicToCartesian(se.center(e._rectangle)),r=e._transferrableBatchIds=new Uint32Array(e._batchIds),s=e._batchTableColors=new Uint32Array(r.length);let g=e._batchTable,m=s.length;for(let x=0;x<m;++x){let b=g.getColor(x,cje);s[x]=b.toRgba()}a=e._packedBuffer=rje(e)}let c=[t.buffer,n.buffer,i.buffer,o.buffer,r.buffer,s.buffer,a.buffer],u={packedBuffer:a.buffer,positions:t.buffer,counts:n.buffer,indexCounts:i.buffer,indices:o.buffer,batchIds:r.buffer,batchTableColors:s.buffer},f=e._polygonMinimumHeights,d=e._polygonMaximumHeights;l(f)&&l(d)&&(f=f.slice(),d=d.slice(),c.push(f.buffer,d.buffer),u.minimumHeights=f,u.maximumHeights=d);let p=aje.scheduleTask(u,c);if(l(p))return p.then(g=>{if(e.isDestroyed())return;e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let m=new Float64Array(g.packedBuffer),x=m[0];sje(e,m),e._indices=Be.getSizeInBytes(x)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),uje(e),e._ready=!0}).catch(g=>{e.isDestroyed()||(e._error=g)})}function uje(e){l(e._primitive)||(e._primitive=new lC({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0)}kp.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};kp.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};kp.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};kp.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};kp.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=lje(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};kp.prototype.isDestroyed=function(){return!1};kp.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var bB=kp;var TB=`in vec4 currentPosition; -in vec4 previousPosition; -in vec4 nextPosition; -in vec2 expandAndWidth; -in float a_batchId; +const float UPPER_BOUND = 32768.0; -uniform mat4 u_modifiedModelView; +const float SHIFT_LEFT16 = 65536.0; +const float SHIFT_LEFT12 = 4096.0; +const float SHIFT_LEFT8 = 256.0; +const float SHIFT_LEFT7 = 128.0; +const float SHIFT_LEFT5 = 32.0; +const float SHIFT_LEFT3 = 8.0; +const float SHIFT_LEFT2 = 4.0; +const float SHIFT_LEFT1 = 2.0; -void main() +const float SHIFT_RIGHT12 = 1.0 / 4096.0; +const float SHIFT_RIGHT8 = 1.0 / 256.0; +const float SHIFT_RIGHT7 = 1.0 / 128.0; +const float SHIFT_RIGHT5 = 1.0 / 32.0; +const float SHIFT_RIGHT3 = 1.0 / 8.0; +const float SHIFT_RIGHT2 = 1.0 / 4.0; +const float SHIFT_RIGHT1 = 1.0 / 2.0; + +vec4 addScreenSpaceOffset(vec4 positionEC, vec2 imageSize, float scale, vec2 direction, vec2 origin, vec2 translate, vec2 pixelOffset, vec3 alignedAxis, bool validAlignedAxis, float rotation, bool sizeInMeters, out mat2 rotationMatrix, out float mpp) { - float expandDir = expandAndWidth.x; - float width = abs(expandAndWidth.y) + 0.5; - bool usePrev = expandAndWidth.y < 0.0; + // Note the halfSize cannot be computed in JavaScript because it is sent via + // compressed vertex attributes that coerce it to an integer. + vec2 halfSize = imageSize * scale * 0.5; + halfSize *= ((direction * 2.0) - 1.0); - vec4 p = u_modifiedModelView * currentPosition; - vec4 prev = u_modifiedModelView * previousPosition; - vec4 next = u_modifiedModelView * nextPosition; + vec2 originTranslate = origin * abs(halfSize); - float angle; - vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); - gl_Position = czm_viewportOrthographic * positionWC; +#if defined(ROTATION) || defined(ALIGNED_AXIS) + if (validAlignedAxis || rotation != 0.0) + { + float angle = rotation; + if (validAlignedAxis) + { + vec4 projectedAlignedAxis = czm_modelView3D * vec4(alignedAxis, 0.0); + angle += sign(-projectedAlignedAxis.x) * acos(sign(projectedAlignedAxis.y) * (projectedAlignedAxis.y * projectedAlignedAxis.y) / + (projectedAlignedAxis.x * projectedAlignedAxis.x + projectedAlignedAxis.y * projectedAlignedAxis.y)); + } + + float cosTheta = cos(angle); + float sinTheta = sin(angle); + rotationMatrix = mat2(cosTheta, sinTheta, -sinTheta, cosTheta); + halfSize = rotationMatrix * halfSize; + } + else + { + rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); + } +#endif + + mpp = czm_metersPerPixel(positionEC); + positionEC.xy += (originTranslate + halfSize) * czm_branchFreeTernary(sizeInMeters, 1.0, mpp); + positionEC.xy += (translate + pixelOffset) * mpp; + + return positionEC; } -`;function xd(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(xd.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function fje(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+se.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,se.pack(t,a,c),c+=se.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var dje=new _i("createVectorTilePolylines",5),QC={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function hje(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=fje(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=dje.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._currentPositions=new Float32Array(f.currentPositions),e._previousPositions=new Float32Array(f.previousPositions),e._nextPositions=new Float32Array(f.nextPositions),e._expandAndWidth=new Float32Array(f.expandAndWidth),e._vertexBatchIds=new Uint16Array(f.batchIds);let d=f.indexDatatype;e._indices=d===Be.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),mje(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function mje(e,t){if(!l(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let u=yt.createVertexBuffer({context:t,typedArray:i,usage:Ve.STATIC_DRAW}),f=yt.createVertexBuffer({context:t,typedArray:n,usage:Ve.STATIC_DRAW}),d=yt.createVertexBuffer({context:t,typedArray:o,usage:Ve.STATIC_DRAW}),p=yt.createVertexBuffer({context:t,typedArray:r,usage:Ve.STATIC_DRAW}),g=yt.createVertexBuffer({context:t,typedArray:s,usage:Ve.STATIC_DRAW}),m=yt.createIndexBuffer({context:t,typedArray:a,usage:Ve.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?Be.UNSIGNED_SHORT:Be.UNSIGNED_INT}),x=[{index:QC.previousPosition,vertexBuffer:u,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:QC.currentPosition,vertexBuffer:f,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:QC.nextPosition,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:QC.expandAndWidth,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:2},{index:QC.a_batchId,vertexBuffer:g,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new di({context:t,attributes:x,indexBuffer:m}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var Wv=new F,Kae=new h;function pje(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,Wv),F.multiplyByPoint(Wv,e._center,Kae),F.setTranslation(Wv,Kae,Wv),Wv},u_highlightColor:function(){return e._highlightColor}})}function _je(e){if(l(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=ze.fromCache({blending:fn.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var gje=`uniform vec4 u_highlightColor; -void main() + +#ifdef VERTEX_DEPTH_CHECK +float getGlobeDepth(vec4 positionEC) { - out_FragColor = u_highlightColor; -} -`;function yje(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(TB),o=n.getFragmentShaderCallback(!1,void 0,!1)(gje),r=new Ge({defines:["VECTOR_TILE",Wt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[Zu,i]}),s=new Ge({defines:["VECTOR_TILE"],sources:[o]});e._sp=sn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:QC})}function xje(e,t){if(!l(e._command)){let n=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new et({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:n,boundingVolume:e._boundingVolume,pass:Se.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}xd.getPolylinePositions=function(e,t){let n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!l(n)||!l(i))return;let r,s,a=n.length,c=0,u=0;for(r=0;r<a;++r)n[r]===t&&(c+=o[r+1]-o[r]);if(c===0)return;let f=new Float64Array(c*3);for(r=0;r<a;++r)if(n[r]===t){let d=o[r],p=o[r+1]-d;for(s=0;s<p;++s){let g=(d+s)*3;f[u++]=i[g],f[u++]=i[g+1],f[u++]=i[g+2]}}return f};xd.prototype.getPositions=function(e){return xd.getPolylinePositions(this,e)};xd.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Js(e,r)}};xd.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function bje(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=H.WHITE}}var Tje=new H,Cje=H.WHITE,Aje=!0;xd.prototype.applyStyle=function(e,t){if(!l(e)){bje(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,Tje):Cje,s.show=l(e.show)?e.show.evaluate(s):Aje}};xd.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=hje(this,t)),l(this._error)){let i=this._error;throw this._error=void 0,i}return}pje(this,t),yje(this,t),_je(this);let n=e.passes;(n.render||n.pick)&&xje(this,e)};xd.prototype.isDestroyed=function(){return!1};xd.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var JC=xd;var CB=`in vec3 startEllipsoidNormal; -in vec3 endEllipsoidNormal; -in vec4 startPositionAndHeight; -in vec4 endPositionAndHeight; -in vec4 startFaceNormalAndVertexCorner; -in vec4 endFaceNormalAndHalfWidth; -in float a_batchId; + vec4 posWC = czm_eyeToWindowCoordinates(positionEC); -uniform mat4 u_modifiedModelView; -uniform vec2 u_minimumMaximumVectorHeights; + float globeDepth = czm_unpackDepth(texture(czm_globeDepthTexture, posWC.xy / czm_viewport.zw)); -out vec4 v_startPlaneEC; -out vec4 v_endPlaneEC; -out vec4 v_rightPlaneEC; -out float v_halfWidth; -out vec3 v_volumeUpEC; + if (globeDepth == 0.0) + { + return 0.0; // not on the globe + } + vec4 eyeCoordinate = czm_windowToEyeCoordinates(posWC.xy, globeDepth); + return eyeCoordinate.z / eyeCoordinate.w; +} +#endif void main() { - // vertex corner IDs - // 3-----------7 - // /| left /| - // / | 1 / | - // 2-----------6 5 end - // | / | / - // start |/ right |/ - // 0-----------4 - // - float isEnd = floor(startFaceNormalAndVertexCorner.w * 0.251); // 0 for front, 1 for end - float isTop = floor(startFaceNormalAndVertexCorner.w * mix(0.51, 0.19, isEnd)); // 0 for bottom, 1 for top - - vec3 forward = endPositionAndHeight.xyz - startPositionAndHeight.xyz; - vec3 right = normalize(cross(forward, startEllipsoidNormal)); - - vec4 position = vec4(startPositionAndHeight.xyz, 1.0); - position.xyz += forward * isEnd; - - v_volumeUpEC = czm_normal * normalize(cross(right, forward)); - - // Push for volume height - float offset; - vec3 ellipsoidNormal = mix(startEllipsoidNormal, endEllipsoidNormal, isEnd); - - // offset height to create volume - offset = mix(startPositionAndHeight.w, endPositionAndHeight.w, isEnd); - offset = mix(u_minimumMaximumVectorHeights.y, u_minimumMaximumVectorHeights.x, isTop) - offset; - position.xyz += offset * ellipsoidNormal; - - // move from RTC to EC - position = u_modifiedModelView * position; - right = czm_normal * right; - - // Push for width in a direction that is in the start or end plane and in a plane with right - // N = normalEC ("right-facing" direction for push) - // R = right - // p = angle between N and R - // w = distance to push along R if R == N - // d = distance to push along N - // - // N R - // { p| } * cos(p) = dot(N, R) = w / d - // d | |w * d = w / dot(N, R) - // { | } - // o---------- polyline segment ----> - // - vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd); - scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd)); - vec3 miterPushNormal = czm_normal * normalize(scratchNormal); + // Modifying this shader may also require modifications to Billboard._computeScreenSpacePosition - offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC - offset = offset / dot(miterPushNormal, right); - position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0))); + // unpack attributes + vec3 positionHigh = positionHighAndScale.xyz; + vec3 positionLow = positionLowAndRotation.xyz; + float scale = positionHighAndScale.w; - gl_Position = czm_depthClamp(czm_projection * position); +#if defined(ROTATION) || defined(ALIGNED_AXIS) + float rotation = positionLowAndRotation.w; +#else + float rotation = 0.0; +#endif - position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0); - vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz; - v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz)); - v_rightPlaneEC = vec4(right, -dot(right, position.xyz)); + float compressed = compressedAttribute0.x; - position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0); - vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz; - v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz)); - v_halfWidth = endFaceNormalAndHalfWidth.w; -} -`;var AB=`in vec4 v_startPlaneEC; -in vec4 v_endPlaneEC; -in vec4 v_rightPlaneEC; -in float v_halfWidth; -in vec3 v_volumeUpEC; + vec2 pixelOffset; + pixelOffset.x = floor(compressed * SHIFT_RIGHT7); + compressed -= pixelOffset.x * SHIFT_LEFT7; + pixelOffset.x -= UPPER_BOUND; -uniform vec4 u_highlightColor; -void main() -{ - float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); + vec2 origin; + origin.x = floor(compressed * SHIFT_RIGHT5); + compressed -= origin.x * SHIFT_LEFT5; - // Discard for sky - if (logDepthOrDepth == 0.0) { -#ifdef DEBUG_SHOW_VOLUME - out_FragColor = vec4(0.0, 0.0, 1.0, 0.5); - return; -#else // DEBUG_SHOW_VOLUME - discard; -#endif // DEBUG_SHOW_VOLUME - } + origin.y = floor(compressed * SHIFT_RIGHT3); + compressed -= origin.y * SHIFT_LEFT3; - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); - eyeCoordinate /= eyeCoordinate.w; +#ifdef FRAGMENT_DEPTH_CHECK + vec2 depthOrigin = origin.xy; +#endif + origin -= vec2(1.0); - float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate); + float show = floor(compressed * SHIFT_RIGHT2); + compressed -= show * SHIFT_LEFT2; - // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction - halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC)); +#ifdef INSTANCED + vec2 textureCoordinatesBottomLeft = czm_decompressTextureCoordinates(compressedAttribute0.w); + vec2 textureCoordinatesRange = czm_decompressTextureCoordinates(eyeOffset.w); + vec2 textureCoordinates = textureCoordinatesBottomLeft + direction * textureCoordinatesRange; +#else + vec2 direction; + direction.x = floor(compressed * SHIFT_RIGHT1); + direction.y = compressed - direction.x * SHIFT_LEFT1; - // Check distance of the eye coordinate against the right-facing plane - float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); + vec2 textureCoordinates = czm_decompressTextureCoordinates(compressedAttribute0.w); +#endif - // Check eye coordinate against the mitering planes - float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz); - float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz); + float temp = compressedAttribute0.y * SHIFT_RIGHT8; + pixelOffset.y = -(floor(temp) - UPPER_BOUND); - if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { -#ifdef DEBUG_SHOW_VOLUME - out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5); - return; -#else // DEBUG_SHOW_VOLUME - discard; -#endif // DEBUG_SHOW_VOLUME - } - out_FragColor = u_highlightColor; + vec2 translate; + translate.y = (temp - floor(temp)) * SHIFT_LEFT16; - czm_writeDepthClamp(); -} -`;function Vp(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new U(li._defaultMinTerrainHeight,li._defaultMaxTerrainHeight),this._boundingVolume=In.fromRectangle(e.rectangle,li._defaultMinTerrainHeight,li._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=e.classificationType,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=H.clone(H.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(Vp.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function Eje(e,t,n){let i=li.getMinimumMaximumHeights(t,n),o=i.minimumTerrainHeight,r=i.maximumTerrainHeight,s=e._minimumMaximumVectorHeights;s.x=o,s.y=r;let a=e._boundingVolume,c=e._rectangle;In.fromRectangle(c,o,r,n,a)}function Sje(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+se.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,se.pack(t,a,c),c+=se.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var wje=new _i("createVectorTileClampedPolylines"),Hg={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function vje(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=Sje(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=wje.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._startEllipsoidNormals=new Float32Array(f.startEllipsoidNormals),e._endEllipsoidNormals=new Float32Array(f.endEllipsoidNormals),e._startPositionAndHeights=new Float32Array(f.startPositionAndHeights),e._startFaceNormalAndVertexCornerIds=new Float32Array(f.startFaceNormalAndVertexCornerIds),e._endPositionAndHeights=new Float32Array(f.endPositionAndHeights),e._endFaceNormalAndHalfWidths=new Float32Array(f.endFaceNormalAndHalfWidths),e._vertexBatchIds=new Uint16Array(f.vertexBatchIds);let d=f.indexDatatype;e._indices=d===Be.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),Dje(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function Dje(e,t){if(!l(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,u=e._indices,f=n.byteLength+i.byteLength;f+=o.byteLength+r.byteLength,f+=s.byteLength+a.byteLength,f+=c.byteLength+u.byteLength,e._trianglesLength=u.length/3,e._geometryByteLength=f;let d=yt.createVertexBuffer({context:t,typedArray:n,usage:Ve.STATIC_DRAW}),p=yt.createVertexBuffer({context:t,typedArray:i,usage:Ve.STATIC_DRAW}),g=yt.createVertexBuffer({context:t,typedArray:o,usage:Ve.STATIC_DRAW}),m=yt.createVertexBuffer({context:t,typedArray:r,usage:Ve.STATIC_DRAW}),x=yt.createVertexBuffer({context:t,typedArray:s,usage:Ve.STATIC_DRAW}),b=yt.createVertexBuffer({context:t,typedArray:a,usage:Ve.STATIC_DRAW}),T=yt.createVertexBuffer({context:t,typedArray:c,usage:Ve.STATIC_DRAW}),C=yt.createIndexBuffer({context:t,typedArray:u,usage:Ve.STATIC_DRAW,indexDatatype:u.BYTES_PER_ELEMENT===2?Be.UNSIGNED_SHORT:Be.UNSIGNED_INT}),A=[{index:Hg.startEllipsoidNormal,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:Hg.endEllipsoidNormal,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:Hg.startPositionAndHeight,vertexBuffer:g,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Hg.endPositionAndHeight,vertexBuffer:m,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Hg.startFaceNormalAndVertexCorner,vertexBuffer:x,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Hg.endFaceNormalAndHalfWidth,vertexBuffer:b,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Hg.a_batchId,vertexBuffer:T,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new di({context:t,attributes:A,indexBuffer:C}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var jv=new F,$ae=new h;function Ije(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,jv),F.multiplyByPoint(jv,e._center,$ae),F.setTranslation(jv,$ae,jv),jv},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function Zae(e){return ze.fromCache({cull:{enabled:!0,face:yi.FRONT},blending:fn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.EQUAL,backOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK}})}function Pje(e){l(e._rs)||(e._rs=Zae(!1),e._rs3DTiles=Zae(!0))}function Rje(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(CB),o=n.getFragmentShaderCallback(!1,void 0,!0)(AB),r=new Ge({defines:["VECTOR_TILE",Wt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[Zu,i]}),s=new Ge({defines:["VECTOR_TILE"],sources:[o]});e._sp=sn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:Hg})}function Oje(e,t){let n=e._command;if(!l(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new et({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:Se.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=et.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=Se.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===Vn.TERRAIN||i===Vn.BOTH)&&t.commandList.push(n),(i===Vn.CESIUM_3D_TILE||i===Vn.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}Vp.prototype.getPositions=function(e){return JC.getPolylinePositions(this,e)};Vp.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new Js(e,r)}};Vp.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function Mje(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=H.WHITE}}var Lje=new H,Nje=H.WHITE,Fje=!0;Vp.prototype.applyStyle=function(e,t){if(!l(e)){Mje(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,Lje):Nje,s.show=l(e.show)?e.show.evaluate(s):Fje}};function Bje(e){return li.initialize().then(function(){Eje(e,e._rectangle,e._ellipsoid)}).catch(t=>{e.isDestroyed()||(e._error=t)})}Vp.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=Bje(this).then(vje(this,t))),l(this._error)){let i=this._error;throw this._error=void 0,i}return}Ije(this,t),Rje(this,t),Pje(this);let n=e.passes;(n.render||n.pick)&&Oje(this,e)};Vp.prototype.isDestroyed=function(){return!1};Vp.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var EB=Vp;var YW=32767,kje=new fe,Vje=new h;function Uje(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);Fn.zigZagDeltaDecode(s,a,c);let u=new Float64Array(e.length);for(let f=0;f<r;++f){let d=s[f],p=a[f],g=c[f],m=P.lerp(t.west,t.east,d/YW),x=P.lerp(t.south,t.north,p/YW),b=P.lerp(n,i,g/YW),T=fe.fromRadians(m,x,b,kje),C=o.cartographicToCartesian(T,Vje);h.pack(C,u,f*3)}return u}var SB=Uje;function Td(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,jje(this,i,o)}Object.defineProperties(Td.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return l(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.trianglesLength),l(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.geometryByteLength),l(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return l(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function zje(e){return function(t,n){l(e._polygons)&&e._polygons.updateCommands(t,n)}}function Hje(e,t){let n,i,o,r,s=y(e.POLYGONS_LENGTH,0),a=y(e.POLYLINES_LENGTH,0),c=y(e.POINTS_LENGTH,0);if(s>0&&l(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&l(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&l(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let u=l(n)||l(i)||l(o),f=s>0&&!l(n)||a>0&&!l(i)||c>0&&!l(o);if(u&&f)throw new ce("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)){let p=0;if(!l(n)&&s>0)for(n=new Uint16Array(s),r=0;r<s;++r)n[r]=p++;if(!l(i)&&a>0)for(i=new Uint16Array(a),r=0;r<a;++r)i[r]=p++;if(!l(o)&&c>0)for(o=new Uint16Array(c),r=0;r<c;++r)o[r]=p++}return{polygons:n,polylines:i,points:o}}var bd=Uint32Array.BYTES_PER_ELEMENT;function Gje(e){return new JC(e)}function Wje(e){return new EB(e)}function jje(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=bd;let r=o.getUint32(n,!0);if(r!==1)throw new ce(`Only Vector tile version 1 is supported. Version ${r} is not.`);n+=bd;let s=o.getUint32(n,!0);if(n+=bd,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=bd,a===0)throw new ce("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=bd;let u=o.getUint32(n,!0);n+=bd;let f=o.getUint32(n,!0);n+=bd;let d=o.getUint32(n,!0);n+=bd;let p=o.getUint32(n,!0);n+=bd;let g=o.getUint32(n,!0);n+=bd;let m=o.getUint32(n,!0);n+=bd;let x=Lo(i,n,a);n+=a;let b=new Uint8Array(t,n,c);n+=c;let T,C;u>0&&(T=Lo(i,n,u),n+=u,f>0&&(C=new Uint8Array(t,n,f),C=new Uint8Array(C),n+=f));let A=y(x.POLYGONS_LENGTH,0),S=y(x.POLYLINES_LENGTH,0),w=y(x.POINTS_LENGTH,0),D=A+S+w,O=new ig(e,D,T,C,zje(e));if(e._batchTable=O,D===0)return;let R=new Yh(x,b),M=R.getGlobalProperty("REGION");if(!l(M))throw new ce("Feature table global property: REGION must be defined");let L=se.unpack(M),_=M[4],E=M[5],v=e._tile.computedTransform,I=R.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(I)?(I=h.unpack(I),F.multiplyByPoint(v,I,I)):(I=se.center(L),I.height=P.lerp(_,E,.5),I=ee.WGS84.cartographicToCartesian(I));let N=Hje(x,b);if(n+=(4-n%4)%4,A>0){R.featuresLength=A;let B=y(R.getPropertyArray("POLYGON_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYGON_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new ce("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let z=y(R.getPropertyArray("POLYGON_INDEX_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYGON_INDEX_COUNT",X.UNSIGNED_INT,1));if(!l(z))throw new ce("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let V=B.reduce(function(j,$){return j+$*2},0),G=z.reduce(function(j,$){return j+$},0),k=new Uint32Array(t,n,G);n+=d;let Y=new Uint16Array(t,n,V);n+=p;let W,J;l(x.POLYGON_MINIMUM_HEIGHTS)&&l(x.POLYGON_MAXIMUM_HEIGHTS)&&(W=R.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",X.FLOAT,1),J=R.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",X.FLOAT,1)),e._polygons=new bB({positions:Y,counts:B,indexCounts:z,indices:k,minimumHeight:_,maximumHeight:E,polygonMinimumHeights:W,polygonMaximumHeights:J,center:I,rectangle:L,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,batchIds:N.polygons,modelMatrix:v})}if(S>0){R.featuresLength=S;let B=y(R.getPropertyArray("POLYLINE_COUNTS",X.UNSIGNED_INT,1),R.getPropertyArray("POLYLINE_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new ce("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let z=R.getPropertyArray("POLYLINE_WIDTHS",X.UNSIGNED_SHORT,1);if(!l(z)){z=new Uint16Array(S);for(let J=0;J<S;++J)z[J]=2}let V=B.reduce(function(J,j){return J+j*3},0),G=new Uint16Array(t,n,V);n+=g;let k=e._tileset,Y=k.examineVectorLinesFunction;if(l(Y)){let J=SB(new Uint16Array(G),L,_,E,ee.WGS84);qje(J,B,N.polylines,O,e.url,Y)}let W=Gje;l(k.classificationType)&&(W=Wje),e._polylines=W({positions:G,widths:z,counts:B,batchIds:N.polylines,minimumHeight:_,maximumHeight:E,center:I,rectangle:L,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:O,classificationType:k.classificationType,keepDecodedPositions:k.vectorKeepDecodedPositions})}if(w>0){let B=new Uint16Array(t,n,w*3);n+=m,e._points=new xB({positions:B,batchIds:N.points,minimumHeight:_,maximumHeight:E,rectangle:L,batchTable:O})}}function XW(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._polygons)&&e._polygons.createFeatures(e,n),l(e._polylines)&&e._polylines.createFeatures(e,n),l(e._points)&&e._points.createFeatures(e,n),e._features=n}}Td.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};Td.prototype.getFeature=function(e){return l(this._features)||XW(this),this._features[e]};Td.prototype.applyDebugSettings=function(e,t){l(this._polygons)&&this._polygons.applyDebugSettings(e,t),l(this._polylines)&&this._polylines.applyDebugSettings(e,t),l(this._points)&&this._points.applyDebugSettings(e,t)};Td.prototype.applyStyle=function(e){l(this._features)||XW(this),l(this._polygons)&&this._polygons.applyStyle(e,this._features),l(this._polylines)&&this._polylines.applyStyle(e,this._features),l(this._points)&&this._points.applyStyle(e,this._features)};Td.prototype.update=function(e,t){let n=!0;l(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons.ready),l(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines.ready),l(this._points)&&(this._points.update(t),n=n&&this._points.ready),l(this._batchTable)&&n&&(l(this._features)||XW(this),this._batchTable.update(e,t),this._ready=!0)};Td.prototype.pick=function(e,t,n){};Td.prototype.getPolylinePositions=function(e){let t=this._polylines;if(l(t))return t.getPositions(e)};Td.prototype.isDestroyed=function(){return!1};Td.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function qje(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c<s;c++){let u=t[c]*3,f=e.slice(a,a+u);a+=u,r(f,n[c],o,i)}}var wB=Td;var Qae={b3dm:function(e,t,n,i,o){return Mp.fromB3dm(e,t,n,i,o)},pnts:function(e,t,n,i,o){return Mp.fromPnts(e,t,n,i,o)},i3dm:function(e,t,n,i,o){return Mp.fromI3dm(e,t,n,i,o)},cmpt:function(e,t,n,i,o){return KL.fromTileType(e,t,n,i,o,Qae)},externalTileset:function(e,t,n,i){return rB.fromJson(e,t,n,i)},geom:function(e,t,n,i,o){return new iN(e,t,n,i,o)},vctr:function(e,t,n,i,o){return new wB(e,t,n,i,o)},subt:function(e,t,n,i,o){return sv.fromSubtreeJson(e,t,n,void 0,i,o)},subtreeJson:function(e,t,n,i){return sv.fromSubtreeJson(e,t,n,i)},glb:function(e,t,n,i,o){if(i.byteLength<12)throw new ce("Invalid glb content");let a=new DataView(i,o).getUint32(8,!0),c=new Uint8Array(i,o,a);return Mp.fromGltf(e,t,n,c)},gltf:function(e,t,n,i){return Mp.fromGltf(e,t,n,i)},geoJson:function(e,t,n,i){return Mp.fromGeoJson(e,t,n,i)}},eA=Qae;var Yje={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},Xo=Object.freeze(Yje);var Cd={BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",COMPOSITE:"cmpt",POINT_CLOUD:"pnts",VECTOR:"vctr",GEOMETRY:"geom",GLTF:"gltf",GLTF_BINARY:"glb",IMPLICIT_SUBTREE:"subt",IMPLICIT_SUBTREE_JSON:"subtreeJson",EXTERNAL_TILESET:"externalTileset",MULTIPLE_CONTENT:"multipleContent",GEOJSON:"geoJson",VOXEL_BINARY:"voxl",VOXEL_JSON:"voxelJson"};Cd.isBinaryFormat=function(e){switch(e){case Cd.BATCHED_3D_MODEL:case Cd.INSTANCED_3D_MODEL:case Cd.COMPOSITE:case Cd.POINT_CLOUD:case Cd.VECTOR:case Cd.GEOMETRY:case Cd.IMPLICIT_SUBTREE:case Cd.VOXEL_BINARY:case Cd.GLTF_BINARY:return!0;default:return!1}};var ks=Object.freeze(Cd);var Xje={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0},Ad=Object.freeze(Xje);var Vs={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},Up=new Array(Vs.NUMBER_OF_PASSES);Up[Vs.RENDER]=Object.freeze({pass:Vs.RENDER,isRender:!0,requestTiles:!0,ignoreCommands:!1});Up[Vs.PICK]=Object.freeze({pass:Vs.PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});Up[Vs.SHADOW]=Object.freeze({pass:Vs.SHADOW,isRender:!1,requestTiles:!0,ignoreCommands:!1});Up[Vs.PRELOAD]=Object.freeze({pass:Vs.PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});Up[Vs.PRELOAD_FLIGHT]=Object.freeze({pass:Vs.PRELOAD_FLIGHT,isRender:!1,requestTiles:!0,ignoreCommands:!0});Up[Vs.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({pass:Vs.REQUEST_RENDER_MODE_DEFER_CHECK,isRender:!1,requestTiles:!0,ignoreCommands:!0});Up[Vs.MOST_DETAILED_PRELOAD]=Object.freeze({pass:Vs.MOST_DETAILED_PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});Up[Vs.MOST_DETAILED_PICK]=Object.freeze({pass:Vs.MOST_DETAILED_PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});Vs.getPassOptions=function(e){return Up[e]};var Fo=Object.freeze(Vs);function tm(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}Object.defineProperties(tm.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return!0}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(e){}},batchTable:{get:function(){}},group:{get:function(){},set:function(e){}}});tm.prototype.hasProperty=function(e,t){return!1};tm.prototype.getFeature=function(e){};tm.prototype.applyDebugSettings=function(e,t){};tm.prototype.applyStyle=function(e){};tm.prototype.update=function(e,t){};tm.prototype.pick=function(e,t,n){};tm.prototype.isDestroyed=function(){return!1};tm.prototype.destroy=function(){return ue(this)};var qv=tm;function zp(e){e=y(e,y.EMPTY_OBJECT);let t=e.content,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(zp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});zp.prototype.hasProperty=function(e){return Bn.hasProperty(e,this._properties,this._class)};zp.prototype.hasPropertyBySemantic=function(e){return Bn.hasPropertyBySemantic(e,this._properties,this._class)};zp.prototype.getPropertyIds=function(e){return Bn.getPropertyIds(this._properties,this._class,e)};zp.prototype.getProperty=function(e){return Bn.getProperty(e,this._properties,this._class)};zp.prototype.setProperty=function(e,t){return Bn.setProperty(e,t,this._properties,this._class)};zp.prototype.getPropertyBySemantic=function(e){return Bn.getPropertyBySemantic(e,this._properties,this._class)};zp.prototype.setPropertyBySemantic=function(e,t){return Bn.setPropertyBySemantic(e,t,this._properties,this._class)};var vB=zp;function KW(e,t){let n=ri(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){KW._oneTimeWarning("findContentMetadata-missing-root-schema","Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new vB({content:n,class:o})}}KW._oneTimeWarning=Tt;var tA=KW;function Kje(e,t){let n=e.metadataExtension;if(!l(n))return;let i=n.groups,o=ri(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"].group:t.group;if(typeof o=="number")return i[o];let r=n.groupIds.findIndex(function(s){return s===o});return r>=0?i[r]:void 0}var nA=Kje;function Hp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(Hp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Hp.prototype.hasProperty=function(e){return Bn.hasProperty(e,this._properties,this._class)};Hp.prototype.hasPropertyBySemantic=function(e){return Bn.hasPropertyBySemantic(e,this._properties,this._class)};Hp.prototype.getPropertyIds=function(e){return Bn.getPropertyIds(this._properties,this._class,e)};Hp.prototype.getProperty=function(e){return Bn.getProperty(e,this._properties,this._class)};Hp.prototype.setProperty=function(e,t){return Bn.setProperty(e,t,this._properties,this._class)};Hp.prototype.getPropertyBySemantic=function(e){return Bn.getPropertyBySemantic(e,this._properties,this._class)};Hp.prototype.setPropertyBySemantic=function(e,t){return Bn.setPropertyBySemantic(e,t,this._properties,this._class)};var DB=Hp;function $W(e,t){let n=ri(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){$W._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new DB({tile:n,class:o})}}$W._oneTimeWarning=Tt;var IB=$W;function $je(e){let t=new Uint8Array(e),n=Vh(t);if(n==="glTF"&&(n="glb"),ks.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=Zje(t);if(l(i.root))return{contentType:ks.EXTERNAL_TILESET,jsonPayload:i};if(l(i.asset))return{contentType:ks.GLTF,jsonPayload:i};if(l(i.tileAvailability))return{contentType:ks.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(l(i.type))return{contentType:ks.GEOJSON,jsonPayload:i};if(l(i.voxelTable))return{contentType:ks.VOXEL_JSON,jsonPayload:i};throw new ce("Invalid tile content.")}function Zje(e){let t;try{t=Lo(e)}catch{throw new ce("Invalid tile content.")}return t}var Gp=$je;function gf(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=l(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._ready=!1,this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;s<r;s++){let a=n.getDerivedResource({url:o[s].uri}),c=bc.getServerKey(a.getUrlComponent());this._innerContentResources[s]=a,this._serverKeys[s]=c}}Object.defineProperties(gf.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._contentsCreated?this._ready:!1}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){},set:function(){}},innerContentUrls:{get:function(){return this._innerContentHeaders.map(function(e){return e.uri})}}});function ZW(e,t){e._requestsInFlight+=t,e.tileset.statistics.numberOfPendingRequests+=t}function Jae(e,t){e._cancelCount++,e._tile._contentState=t;let n=e.tileset.statistics;n.numberOfPendingRequests-=e._requestsInFlight,n.numberOfAttemptedRequests+=e._requestsInFlight,e._requestsInFlight=0;let i=e._innerContentHeaders.length;e._arrayFetchPromises=new Array(i)}gf.prototype.requestInnerContents=function(){if(!Qje(this._serverKeys)){this.tileset.statistics.numberOfAttemptedRequests+=this._serverKeys.length;return}let e=this._innerContentHeaders;ZW(this,e.length);let t=this._cancelCount;for(let n=0;n<e.length;n++)this._arrayFetchPromises[n]=Jje(this,n,t,this._tile._contentState);return e7e(this)};function Qje(e){let t={};for(let n=0;n<e.length;n++){let i=e[n];l(t[i])?t[i]++:t[i]=1}for(let n in t)if(t.hasOwnProperty(n)&&!bc.serverHasOpenSlots(n,t[n]))return!1;return bc.heapHasOpenSlots(e.length)}function Jje(e,t,n,i){let o=e._innerContentResources[t].clone(),r=e.tile,s=function(){return r._priority},a=e._serverKeys[t],c=new or({throttle:!0,throttleByServer:!0,type:ps.TILES3D,priorityFunction:s,serverKey:a});o.request=c,e._requests[t]=c;let u=o.fetchArrayBuffer();if(l(u))return u.then(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===Qn.CANCELLED){Jae(e,i);return}return ZW(e,-1),f}}).catch(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===Qn.CANCELLED){Jae(e,i);return}ZW(e,-1),ece(e,t,f)}})}async function e7e(e){let t=e._cancelCount,n=await Promise.all(e._arrayFetchPromises);if(t<e._cancelCount)return;let i=n.map((r,s)=>t7e(e,r,s)),o=await Promise.all(i);return e._contentsCreated=!0,e._contents=o.filter(l),o}async function t7e(e,t,n){if(l(t))try{let i=Gp(t);if(i.contentType===ks.EXTERNAL_TILESET)throw new ce("External tilesets are disallowed inside multiple contents");e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===ks.GEOMETRY||i.contentType===ks.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=eA[i.contentType];l(i.binaryPayload)?a=await Promise.resolve(c(o,s,r,i.binaryPayload.buffer,0)):a=await Promise.resolve(c(o,s,r,i.jsonPayload));let u=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let d=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=d.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=tA(o,u));let f=nA(o,u);return l(f)&&(a.group=new aC({metadata:f})),a}catch(i){ece(e,n,i)}}function ece(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=l(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}gf.prototype.cancelRequests=function(){for(let e=0;e<this._requests.length;e++){let t=this._requests[e];l(t)&&t.cancel()}};gf.prototype.hasProperty=function(e,t){return!1};gf.prototype.getFeature=function(e){};gf.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};gf.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};gf.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};gf.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};gf.prototype.isDestroyed=function(){return!1};gf.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var PB=gf;var tce=Math.cos,nce=Math.sin,n7e=Math.sqrt,QW={};QW.computePosition=function(e,t,n,i,o,r,s){let a=t.radiiSquared,c=e.nwCorner,u=e.boundingRectangle,f=c.latitude-e.granYCos*i+o*e.granXSin,d=tce(f),p=nce(f),g=a.z*p,m=c.longitude+i*e.granYSin+o*e.granXCos,x=d*tce(m),b=d*nce(m),T=a.x*x,C=a.y*b,A=n7e(T*x+C*b+g*p);if(r.x=T/A,r.y=C/A,r.z=g/A,n){let S=e.stNwCorner;l(S)?(f=S.latitude-e.stGranYCos*i+o*e.stGranXSin,m=S.longitude+i*e.stGranYSin+o*e.stGranXCos,s.x=(m-e.stWest)*e.lonScalar,s.y=(f-e.stSouth)*e.latScalar):(s.x=(m-u.west)*e.lonScalar,s.y=(f-u.south)*e.latScalar)}};var i7e=new Fi,yf=new h,o7e=new fe,RB=new h,Yv=new vi;function ice(e,t,n,i,o,r,s){let a=Math.cos(t),c=i*a,u=n*a,f=Math.sin(t),d=i*f,p=n*f;Yv._ellipsoid=ee.default,yf=Yv.project(e,yf),yf=h.subtract(yf,RB,yf);let g=Fi.fromRotation(t,i7e);yf=Fi.multiplyByVector(g,yf,yf),yf=h.add(yf,RB,yf),e=Yv.unproject(yf,e),r-=1,s-=1;let m=e.latitude,x=m+r*p,b=m-c*s,T=m-c*s+r*p,C=Math.max(m,x,b,T),A=Math.min(m,x,b,T),S=e.longitude,w=S+r*u,D=S+s*d,O=S+s*d+r*u,R=Math.max(S,w,D,O),M=Math.min(S,w,D,O);return{north:C,south:A,east:R,west:M,granYCos:c,granYSin:d,granXCos:u,granXSin:p,nwCorner:e}}QW.computeOptions=function(e,t,n,i,o,r,s){let a=e.east,c=e.west,u=e.north,f=e.south,d=!1,p=!1;u===P.PI_OVER_TWO&&(d=!0),f===-P.PI_OVER_TWO&&(p=!0);let g,m=u-f;c>a?g=P.TWO_PI-c+a:g=a-c;let x=Math.ceil(g/t)+1,b=Math.ceil(m/t)+1,T=g/(x-1),C=m/(b-1),A=se.northwest(e,r),S=se.center(e,o7e);(n!==0||i!==0)&&(S.longitude<A.longitude&&(S.longitude+=P.TWO_PI),Yv._ellipsoid=ee.default,RB=Yv.project(S,RB));let w=C,D=T,O=0,R=0,M=se.clone(e,o),L={granYCos:w,granYSin:O,granXCos:D,granXSin:R,nwCorner:A,boundingRectangle:M,width:x,height:b,northCap:d,southCap:p};if(n!==0){let _=ice(A,n,T,C,S,x,b);u=_.north,f=_.south,a=_.east,c=_.west,L.granYCos=_.granYCos,L.granYSin=_.granYSin,L.granXCos=_.granXCos,L.granXSin=_.granXSin,M.north=u,M.south=f,M.east=a,M.west=c}if(i!==0){n=n-i;let _=se.northwest(M,s),E=ice(_,n,T,C,S,x,b);L.stGranYCos=E.granYCos,L.stGranXCos=E.granXCos,L.stGranYSin=E.granYSin,L.stGranXSin=E.granXSin,L.stNwCorner=_,L.stWest=E.west,L.stSouth=E.south}return L};var Us=QW;var r7e=new ae,s7e=new ae,a7e=new h,c7e=new se;function oce(e,t){let n=e._ellipsoid,i=t.height,o=t.width,r=t.northCap,s=t.southCap,a=i,c=2,u=0,f=4;r&&(c-=1,a-=1,u+=1,f-=2),s&&(c-=1,a-=1,u+=1,f-=2),u+=c*o+2*a-f;let d=new Float64Array(u*3),p=0,g=0,m,x=a7e;if(r)Us.computePosition(t,n,!1,g,0,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;else for(m=0;m<o;m++)Us.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=o-1,g=1;g<i;g++)Us.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;if(g=i-1,!s)for(m=o-2;m>=0;m--)Us.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=0,g=i-2;g>0;g--)Us.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;let b=d.length/3*2,T=Be.createTypedArray(d.length/3,b),C=0;for(let S=0;S<d.length/3-1;S++)T[C++]=S,T[C++]=S+1;T[C++]=d.length/3-1,T[C++]=0;let A=new dt({attributes:new mn,primitiveType:Fe.LINES});return A.attributes.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),A.indices=T,A}function l7e(e,t){let n=e._surfaceHeight,i=e._extrudedHeight,o=e._ellipsoid,r=oce(e,t),s=t.height,a=t.width,c=si.scaleToGeodeticHeight(r.attributes.position.values,n,o,!1),u=c.length,f=new Float64Array(u*2);f.set(c);let d=si.scaleToGeodeticHeight(r.attributes.position.values,i,o);f.set(d,u),r.attributes.position.values=f;let p=t.northCap,g=t.southCap,m=4;p&&(m-=1),g&&(m-=1);let x=(f.length/3+m)*2,b=Be.createTypedArray(f.length/3,x);u=f.length/6;let T=0;for(let A=0;A<u-1;A++)b[T++]=A,b[T++]=A+1,b[T++]=A+u,b[T++]=A+u+1;b[T++]=u-1,b[T++]=0,b[T++]=u+u-1,b[T++]=u,b[T++]=0,b[T++]=u;let C;if(p)C=s-1;else{let A=a-1;b[T++]=A,b[T++]=A+u,C=a+s-2}if(b[T++]=C,b[T++]=C+u,!g){let A=a+C-1;b[T++]=A,b[T]=A+u}return r.indices=b,r}function oA(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.granularity,P.RADIANS_PER_DEGREE),i=y(e.ellipsoid,ee.default),o=y(e.rotation,0),r=y(e.height,0),s=y(e.extrudedHeight,r);this._rectangle=se.clone(t),this._granularity=n,this._ellipsoid=i,this._surfaceHeight=Math.max(r,s),this._rotation=o,this._extrudedHeight=Math.min(r,s),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}oA.packedLength=se.packedLength+ee.packedLength+5;oA.pack=function(e,t,n){return n=y(n,0),se.pack(e._rectangle,t,n),n+=se.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._extrudedHeight,t[n]=y(e._offsetAttribute,-1),t};var rce=new se,sce=ee.clone(ee.UNIT_SPHERE),iA={rectangle:rce,ellipsoid:sce,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};oA.unpack=function(e,t,n){t=y(t,0);let i=se.unpack(e,t,rce);t+=se.packedLength;let o=ee.unpack(e,t,sce);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t];return l(n)?(n._rectangle=se.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._surfaceHeight=s,n._rotation=a,n._extrudedHeight=c,n._offsetAttribute=u===-1?void 0:u,n):(iA.granularity=r,iA.height=s,iA.rotation=a,iA.extrudedHeight=c,iA.offsetAttribute=u===-1?void 0:u,new oA(iA))};var u7e=new fe;oA.createGeometry=function(e){let t=e._rectangle,n=e._ellipsoid,i=Us.computeOptions(t,e._granularity,e._rotation,0,c7e,u7e),o,r;if(P.equalsEpsilon(t.north,t.south,P.EPSILON10)||P.equalsEpsilon(t.east,t.west,P.EPSILON10))return;let s=e._surfaceHeight,a=e._extrudedHeight,c=!P.equalsEpsilon(s,a,0,P.EPSILON2),u;if(c){if(o=l7e(e,i),l(e._offsetAttribute)){let p=o.attributes.position.values.length/3,g=new Uint8Array(p);e._offsetAttribute===ln.TOP?g=g.fill(1,0,p/2):(u=e._offsetAttribute===ln.NONE?0:1,g=g.fill(u)),o.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let f=ae.fromRectangle3D(t,n,s,s7e),d=ae.fromRectangle3D(t,n,a,r7e);r=ae.union(f,d)}else{if(o=oce(e,i),o.attributes.position.values=si.scaleToGeodeticHeight(o.attributes.position.values,s,n,!1),l(e._offsetAttribute)){let f=o.attributes.position.values.length;u=e._offsetAttribute===ln.NONE?0:1;let d=new Uint8Array(f/3).fill(u);o.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}r=ae.fromRectangle3D(t,n,s)}return new dt({attributes:o.attributes,indices:o.indices,primitiveType:Fe.LINES,boundingSphere:r,offsetAttribute:e._offsetAttribute})};var rA=oA;function aA(e){this.rectangle=se.clone(e.rectangle),this.minimumHeight=y(e.minimumHeight,0),this.maximumHeight=y(e.maximumHeight,0),this.southwestCornerCartesian=new h,this.northeastCornerCartesian=new h,this.westNormal=new h,this.southNormal=new h,this.eastNormal=new h,this.northNormal=new h;let t=y(e.ellipsoid,ee.WGS84);p7e(this,e.rectangle,t),this._orientedBoundingBox=void 0,this._boundingSphere=void 0,y(e.computeBoundingVolumes,!0)&&this.computeBoundingVolumes(t)}Object.defineProperties(aA.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});aA.prototype.computeBoundingVolumes=function(e){this._orientedBoundingBox=In.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,e),this._boundingSphere=ae.fromOrientedBoundingBox(this._orientedBoundingBox)};var ace=new h,OB=new h,cce=new h,f7e=new h,d7e=new h,h7e=new h,m7e=new h,xf=new fe,lce=new cn(h.UNIT_X,0),sA=new _n;function p7e(e,t,n){n.cartographicToCartesian(se.southwest(t),e.southwestCornerCartesian),n.cartographicToCartesian(se.northeast(t),e.northeastCornerCartesian),xf.longitude=t.west,xf.latitude=(t.south+t.north)*.5,xf.height=0;let i=n.cartographicToCartesian(xf,h7e),o=h.cross(i,h.UNIT_Z,f7e);h.normalize(o,e.westNormal),xf.longitude=t.east;let r=n.cartographicToCartesian(xf,m7e),s=h.cross(h.UNIT_Z,r,ace);h.normalize(s,e.eastNormal);let a=h.subtract(i,r,ace);h.magnitude(a)===0&&(a=h.clone(o,a));let c=h.normalize(a,d7e),u=t.south,f;if(u>0){xf.longitude=(t.west+t.east)*.5,xf.latitude=u;let x=n.cartographicToCartesian(xf,sA.origin);h.clone(c,sA.direction);let b=cn.fromPointNormal(e.southwestCornerCartesian,e.westNormal,lce);Jn.rayPlane(sA,b,e.southwestCornerCartesian),f=n.geodeticSurfaceNormal(x,OB)}else f=n.geodeticSurfaceNormalCartographic(se.southeast(t),OB);let d=h.cross(f,a,cce);h.normalize(d,e.southNormal);let p=t.north,g;if(p<0){xf.longitude=(t.west+t.east)*.5,xf.latitude=p;let x=n.cartographicToCartesian(xf,sA.origin);h.negate(c,sA.direction);let b=cn.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,lce);Jn.rayPlane(sA,b,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(x,OB)}else g=n.geodeticSurfaceNormalCartographic(se.northwest(t),OB);let m=h.cross(a,g,cce);h.normalize(m,e.northNormal)}var _7e=new h,g7e=new h,y7e=new h(0,-1,0),x7e=new h(0,0,-1),uce=new h;function b7e(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!se.contains(e.rectangle,o)){let u=e.southwestCornerCartesian,f=e.northeastCornerCartesian,d=e.westNormal,p=e.southNormal,g=e.eastNormal,m=e.northNormal;t.mode!==ne.SCENE3D&&(u=t.mapProjection.project(se.southwest(e.rectangle),_7e),u.z=u.y,u.y=u.x,u.x=0,f=t.mapProjection.project(se.northeast(e.rectangle),g7e),f.z=f.y,f.y=f.x,f.x=0,d=y7e,g=h.UNIT_Y,p=x7e,m=h.UNIT_Z);let x=h.subtract(i,u,uce),b=h.dot(x,d),T=h.dot(x,p),C=h.subtract(i,f,uce),A=h.dot(C,g),S=h.dot(C,m);b>0?r+=b*b:A>0&&(r+=A*A),T>0?r+=T*T:S>0&&(r+=S*S)}let s,a,c;if(t.mode===ne.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let u=s-c;r+=u*u}else if(s<a){let u=a-s;r+=u*u}return Math.sqrt(r)}aA.prototype.distanceToCamera=function(e){let t=b7e(this,e);if(e.mode===ne.SCENE3D&&l(this._orientedBoundingBox)){let n=Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC));return Math.max(t,n)}return t};aA.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};aA.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new rA({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),i=new wt({geometry:n,id:"outline",modelMatrix:t,attributes:{color:jt.fromColor(e)}});return new Rn({geometryInstances:i,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var Ed=aA;var Xv={},T7e=new h,fce=new h,dce=new h,hce=new h,mce=new In;Xv.validOutline=function(e){let n=In.fromPoints(e,mce).halfAxes,i=Z.getColumn(n,0,fce),o=Z.getColumn(n,1,dce),r=Z.getColumn(n,2,hce),s=h.magnitude(i),a=h.magnitude(o),c=h.magnitude(r);return!(s===0&&(a===0||c===0)||a===0&&c===0)};Xv.computeProjectTo2DArguments=function(e,t,n,i){let o=In.fromPoints(e,mce),r=o.halfAxes,s=Z.getColumn(r,0,fce),a=Z.getColumn(r,1,dce),c=Z.getColumn(r,2,hce),u=h.magnitude(s),f=h.magnitude(a),d=h.magnitude(c),p=Math.min(u,f,d);if(u===0&&(f===0||d===0)||f===0&&d===0)return!1;let g,m;return(p===f||p===d)&&(g=s),p===u?g=a:p===d&&(m=a),(p===u||p===f)&&(m=c),h.normalize(g,n),h.normalize(m,i),h.clone(o.center,t),!0};function pce(e,t,n,i,o){let r=h.subtract(e,t,T7e),s=h.dot(n,r),a=h.dot(i,r);return U.fromElements(s,a,o)}Xv.createProjectPointsTo2DFunction=function(e,t,n){return function(i){let o=new Array(i.length);for(let r=0;r<i.length;r++)o[r]=pce(i[r],e,t,n);return o}};Xv.createProjectPointTo2DFunction=function(e,t,n){return function(i,o){return pce(i,e,t,n,o)}};var Gg=Xv;function C7e(e){let t=e.length,n=new Float64Array(t*3),i=Be.createTypedArray(t,t*2),o=0,r=0;for(let a=0;a<t;a++){let c=e[a];n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,i[r++]=a,i[r++]=(a+1)%t}let s=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n})});return new dt({attributes:s,indices:i,primitiveType:Fe.LINES})}function vx(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=Hn.computeHierarchyPackedLength(t,h)+1}vx.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions}};return new vx(t)};vx.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),t[n]=e.packedLength,t};var A7e={polygonHierarchy:{}};vx.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=e[t];return l(n)||(n=new vx(A7e)),n._polygonHierarchy=i,n.packedLength=o,n};vx.createGeometry=function(e){let t=e._polygonHierarchy,n=t.positions;if(n=xo(n,h.equalsEpsilon,!0),n.length<3||!Gg.validOutline(n))return;let o=Hn.polygonOutlinesFromHierarchy(t,!1);if(o.length===0)return;let r=[];for(let c=0;c<o.length;c++){let u=new wt({geometry:C7e(o[c])});r.push(u)}let s=Un.combineInstances(r)[0],a=ae.fromPoints(t.positions);return new dt({attributes:s.attributes,indices:s.indices,primitiveType:s.primitiveType,boundingSphere:a})};var Sd=vx;var MB=new fe;function Kv(e){let t=ug.fromToken(e.token),n=y(e.minimumHeight,0),i=y(e.maximumHeight,0),o=y(e.ellipsoid,ee.WGS84);this.s2Cell=t,this.minimumHeight=n,this.maximumHeight=i,this.ellipsoid=o;let r=O7e(t,n,i,o);this._boundingPlanes=r;let s=F7e(r);this._vertices=s,this._edgeNormals=new Array(6),this._edgeNormals[0]=sj(r[0],s.slice(0,4));let a;for(a=0;a<4;a++)this._edgeNormals[0][a]=h.negate(this._edgeNormals[0][a],this._edgeNormals[0][a]);for(this._edgeNormals[1]=sj(r[1],s.slice(4,8)),a=0;a<4;a++)this._edgeNormals[2+a]=sj(r[2+a],[s[a%4],s[(a+1)%4],s[4+(a+1)%4],s[4+a]]);for(this._planeVertices=[this._vertices.slice(0,4),this._vertices.slice(4,8)],a=0;a<4;a++)this._planeVertices.push([this._vertices[a%4],this._vertices[(a+1)%4],this._vertices[4+(a+1)%4],this._vertices[4+a]]);let c=t.getCenter();MB=o.cartesianToCartographic(c,MB),MB.height=(i+n)/2,this.center=o.cartographicToCartesian(MB,c),this._boundingSphere=ae.fromPoints(s)}var E7e=new h,S7e=new fe,w7e=new h,v7e=new fe,D7e=new h,I7e=new h,P7e=new h,R7e=new h;function O7e(e,t,n,i){let o=new Array(6),r=e.getCenter(),s=i.geodeticSurfaceNormal(r,E7e),a=i.cartesianToCartographic(r,S7e);a.height=n;let c=i.cartographicToCartesian(a,w7e),u=cn.fromPointNormal(c,s);o[0]=u;let f=0,d,p=[],g,m;for(d=0;d<4;d++){g=e.getVertex(d),p[d]=g,m=i.cartesianToCartographic(g,v7e),m.height=t;let b=cn.getPointDistance(u,i.cartographicToCartesian(m,D7e));b<f&&(f=b)}let x=cn.clone(u);for(x.normal=h.negate(x.normal,x.normal),x.distance=x.distance*-1+f,o[1]=x,d=0;d<4;d++){g=p[d];let b=p[(d+1)%4],T=i.geodeticSurfaceNormal(g,I7e),C=h.subtract(b,g,R7e),A=h.cross(C,T,P7e);A=h.normalize(A,A),o[2+d]=cn.fromPointNormal(g,A)}return o}var Dx=new h,Ix=new h,Px=new h,JW=new h,ej=new h,tj=new h,M7e=new h,L7e=new h,N7e=new h,nj=new h,ij=new h,oj=new h,Wg=new h,nm=new Z;function _ce(e,t,n){Dx=e.normal,Ix=t.normal,Px=n.normal,JW=h.multiplyByScalar(e.normal,-e.distance,JW),ej=h.multiplyByScalar(t.normal,-t.distance,ej),tj=h.multiplyByScalar(n.normal,-n.distance,tj),nj=h.multiplyByScalar(h.cross(Ix,Px,M7e),h.dot(JW,Dx),nj),ij=h.multiplyByScalar(h.cross(Px,Dx,L7e),h.dot(ej,Ix),ij),oj=h.multiplyByScalar(h.cross(Dx,Ix,N7e),h.dot(tj,Px),oj),nm[0]=Dx.x,nm[1]=Ix.x,nm[2]=Px.x,nm[3]=Dx.y,nm[4]=Ix.y,nm[5]=Px.y,nm[6]=Dx.z,nm[7]=Ix.z,nm[8]=Px.z;let i=Z.determinant(nm);return Wg=h.add(nj,ij,Wg),Wg=h.add(Wg,oj,Wg),new h(Wg.x/i,Wg.y/i,Wg.z/i)}function F7e(e){let t=new Array(8);for(let n=0;n<4;n++)t[n]=_ce(e[0],e[2+(n+3)%4],e[2+n%4]),t[n+4]=_ce(e[1],e[2+(n+3)%4],e[2+n%4]);return t}var rj=new h,cA=new h;function sj(e,t){let n=[];for(let i=0;i<4;i++)rj=h.subtract(t[(i+1)%4],t[i],rj),cA=h.cross(e.normal,rj,cA),cA=h.normalize(cA,cA),n[i]=h.clone(cA);return n}Object.defineProperties(Kv.prototype,{boundingVolume:{get:function(){return this}},boundingSphere:{get:function(){return this._boundingSphere}}});var aj=new h;Kv.prototype.distanceToCamera=function(e){let t=e.camera.positionWC,n=[],i=[],o;cn.getPointDistance(this._boundingPlanes[0],t)>0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):cn.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,cn.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=cj(cn.projectPointOntoPlane(c,t,aj),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=gce(t,p[0],p[1]),h.distance(a,t)}let f=Number.MAX_VALUE,d;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=cj(cn.projectPointOntoPlane(c,t,aj),i[r],c,this._edgeNormals[n[r]]),d=h.distanceSquared(a,t),d<f&&(f=d);return Math.sqrt(f)}else if(n.length>3)return a=cj(cn.projectPointOntoPlane(this._boundingPlanes[1],t,aj),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let u=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+u)%4]):h.distance(t,this._vertices[4+(n[1]-2+u)%4])};var B7e=new h,k7e=new h;function gce(e,t,n){let i=h.subtract(n,t,B7e),o=h.subtract(e,t,k7e),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var V7e=new cn(h.UNIT_X,0);function cj(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c<t.length;c++){let u=cn.fromPointNormal(t[c],i[c],V7e);cn.getPointDistance(u,e)<0||(a=gce(e,t[c],t[(c+1)%4]),r=h.distance(e,a),r<o&&(o=r,s=a))}return l(s)?s:e}Kv.prototype.intersectPlane=function(e){let t=0,n=0;for(let i=0;i<this._vertices.length;i++)h.dot(e.normal,this._vertices[i])+e.distance<0?n++:t++;return t===this._vertices.length?qt.INSIDE:n===this._vertices.length?qt.OUTSIDE:qt.INTERSECTING};Kv.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new Sd({polygonHierarchy:{positions:this._planeVertices[0]}}),i=Sd.createGeometry(n),o=new wt({geometry:i,id:"outline",modelMatrix:t,attributes:{color:jt.fromColor(e)}}),r=new Sd({polygonHierarchy:{positions:this._planeVertices[1]}}),s=Sd.createGeometry(r),a=new wt({geometry:s,id:"outline",modelMatrix:t,attributes:{color:jt.fromColor(e)}}),c=[];for(let u=0;u<4;u++){let f=new Sd({polygonHierarchy:{positions:this._planeVertices[2+u]}}),d=Sd.createGeometry(f);c[u]=new wt({geometry:d,id:"outline",modelMatrix:t,attributes:{color:jt.fromColor(e)}})}return new Rn({geometryInstances:[c[0],c[1],c[2],c[3],a,o],appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var LB=Kv;var U7e=new h(1,1,1),NB=Math.cos,FB=Math.sin;function lA(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,U7e),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,10)),c=Math.round(y(e.slicePartitions,8)),u=Math.round(y(e.subdivisions,128));this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._subdivisions=u,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}lA.packedLength=2*h.packedLength+8;lA.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n++]=e._subdivisions,t[n]=y(e._offsetAttribute,-1),t};var yce=new h,xce=new h,Wp={radii:yce,innerRadii:xce,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};lA.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,yce);t+=h.packedLength;let o=h.unpack(e,t,xce);t+=h.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._minimumClock=r,n._maximumClock=s,n._minimumCone=a,n._maximumCone=c,n._stackPartitions=u,n._slicePartitions=f,n._subdivisions=d,n._offsetAttribute=p===-1?void 0:p,n):(Wp.minimumClock=r,Wp.maximumClock=s,Wp.minimumCone=a,Wp.maximumCone=c,Wp.stackPartitions=u,Wp.slicePartitions=f,Wp.subdivisions=d,Wp.offsetAttribute=p===-1?void 0:p,new lA(Wp))};lA.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._subdivisions,c=ee.fromCartesian3(t),u=e._slicePartitions+1,f=e._stackPartitions+1;u=Math.round(u*Math.abs(o-i)/P.TWO_PI),f=Math.round(f*Math.abs(s-r)/P.PI),u<2&&(u=2),f<2&&(f=2);let d=0,p=1,g=n.x!==t.x||n.y!==t.y||n.z!==t.z,m=!1,x=!1;g&&(p=2,r>0&&(m=!0,d+=u),s<Math.PI&&(x=!0,d+=u));let b=a*p*(f+u),T=new Float64Array(b*3),C=2*(b+d-(u+f)*p),A=Be.createTypedArray(b,C),S,w,D,O,R=0,M=new Array(f),L=new Array(f);for(S=0;S<f;S++)O=r+S*(s-r)/(f-1),M[S]=FB(O),L[S]=NB(O);let _=new Array(a),E=new Array(a);for(S=0;S<a;S++)D=i+S*(o-i)/(a-1),_[S]=FB(D),E[S]=NB(D);for(S=0;S<f;S++)for(w=0;w<a;w++)T[R++]=t.x*M[S]*E[w],T[R++]=t.y*M[S]*_[w],T[R++]=t.z*L[S];if(g)for(S=0;S<f;S++)for(w=0;w<a;w++)T[R++]=n.x*M[S]*E[w],T[R++]=n.y*M[S]*_[w],T[R++]=n.z*L[S];for(M.length=a,L.length=a,S=0;S<a;S++)O=r+S*(s-r)/(a-1),M[S]=FB(O),L[S]=NB(O);for(_.length=u,E.length=u,S=0;S<u;S++)D=i+S*(o-i)/(u-1),_[S]=FB(D),E[S]=NB(D);for(S=0;S<a;S++)for(w=0;w<u;w++)T[R++]=t.x*M[S]*E[w],T[R++]=t.y*M[S]*_[w],T[R++]=t.z*L[S];if(g)for(S=0;S<a;S++)for(w=0;w<u;w++)T[R++]=n.x*M[S]*E[w],T[R++]=n.y*M[S]*_[w],T[R++]=n.z*L[S];for(R=0,S=0;S<f*p;S++){let N=S*a;for(w=0;w<a-1;w++)A[R++]=N+w,A[R++]=N+w+1}let v=f*a*p;for(S=0;S<u;S++)for(w=0;w<a-1;w++)A[R++]=v+S+w*u,A[R++]=v+S+(w+1)*u;if(g)for(v=f*a*p+u*a,S=0;S<u;S++)for(w=0;w<a-1;w++)A[R++]=v+S+w*u,A[R++]=v+S+(w+1)*u;if(g){let N=f*a*p,B=N+a*u;if(m)for(S=0;S<u;S++)A[R++]=N+S,A[R++]=B+S;if(x)for(N+=a*u-u,B+=a*u-u,S=0;S<u;S++)A[R++]=N+S,A[R++]=B+S}let I=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T})});if(l(e._offsetAttribute)){let N=T.length,B=e._offsetAttribute===ln.NONE?0:1,z=new Uint8Array(N/3).fill(B);I.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:z})}return new dt({attributes:I,indices:A,primitiveType:Fe.LINES,boundingSphere:ae.fromEllipsoid(c),offsetAttribute:e._offsetAttribute})};var bf=lA;function uA(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new bf(i),this._workerName="createSphereOutlineGeometry"}uA.packedLength=bf.packedLength;uA.pack=function(e,t,n){return bf.pack(e._ellipsoidGeometry,t,n)};var z7e=new bf,Rx={radius:void 0,radii:new h,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};uA.unpack=function(e,t,n){let i=bf.unpack(e,t,z7e);return Rx.stackPartitions=i._stackPartitions,Rx.slicePartitions=i._slicePartitions,Rx.subdivisions=i._subdivisions,l(n)?(h.clone(i._radii,Rx.radii),n._ellipsoidGeometry=new bf(Rx),n):(Rx.radius=i._radii.x,new uA(Rx))};uA.createGeometry=function(e){return bf.createGeometry(e._ellipsoidGeometry)};var jg=uA;function fA(e,t){t===0&&(t=P.EPSILON7),this._boundingSphere=new ae(e,t)}Object.defineProperties(fA.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}});fA.prototype.distanceToCamera=function(e){let t=this._boundingSphere;return Math.max(0,h.distance(t.center,e.camera.positionWC)-t.radius)};fA.prototype.intersectPlane=function(e){return ae.intersectPlane(this._boundingSphere,e)};fA.prototype.update=function(e,t){h.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t};fA.prototype.createDebugVolume=function(e){let t=new jg({radius:this.radius}),n=F.fromTranslation(this.center,new F.clone(F.IDENTITY)),i=new wt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:jt.fromColor(e)}});return new Rn({geometryInstances:i,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var qg=fA;var H7e=new h,G7e=new h,W7e=new h,j7e=new h;function Ox(e,t,n){n=h.cross(e,t,n);let i=h.magnitude(n);return h.multiplyByScalar(n,P.EPSILON7/i,n)}function lj(e,t){let n=h.normalize(e,j7e),i=h.equalsEpsilon(n,h.UNIT_X,P.EPSILON6)?h.UNIT_Y:h.UNIT_X;return Ox(e,i,t)}function bce(e){let t=Z.getColumn(e,0,H7e),n=Z.getColumn(e,1,G7e),i=Z.getColumn(e,2,W7e),o=h.equals(t,h.ZERO),r=h.equals(n,h.ZERO),s=h.equals(i,h.ZERO);return!o&&!r&&!s?e:o&&r&&s?(e[0]=P.EPSILON7,e[4]=P.EPSILON7,e[8]=P.EPSILON7,e):(o&&!r&&!s?t=Ox(n,i,t):!o&&r&&!s?n=Ox(t,i,n):!o&&!r&&s?i=Ox(n,t,i):o?r?s||(t=lj(i,t),n=Ox(i,t,n)):(t=lj(n,t),i=Ox(n,t,i)):(n=lj(t,n),i=Ox(n,t,i)),Z.setColumn(e,0,t,e),Z.setColumn(e,1,n,e),Z.setColumn(e,2,i,e),e)}function dA(e,t){t=bce(t),this._orientedBoundingBox=new In(e,t),this._boundingSphere=ae.fromOrientedBoundingBox(this._orientedBoundingBox)}Object.defineProperties(dA.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});dA.prototype.distanceToCamera=function(e){return Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))};dA.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};dA.prototype.update=function(e,t){h.clone(e,this._orientedBoundingBox.center),t=bce(t),Z.clone(t,this._orientedBoundingBox.halfAxes),ae.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)};dA.prototype.createDebugVolume=function(e){let t=new wh({minimum:new h(-1,-1,-1),maximum:new h(1,1,1)}),n=F.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),i=new wt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:jt.fromColor(e)}});return new Rn({geometryInstances:i,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var Tf=dA;function Ko(e,t,n,i){this._tileset=e,this._header=n;let o=l(n.contents),r=o&&n.contents.length>1||ri(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=l(n.transform)?F.unpack(n.transform):F.clone(F.IDENTITY);let a=l(i)?i.computedTransform:e.modelMatrix,c=F.multiply(a,this.transform,new F),u=l(i)?i._initialTransform:F.IDENTITY;this._initialTransform=F.multiply(u,this.transform,new F),this.computedTransform=c,this.metadata=IB(e,n),this._verticalExaggeration=1,this._verticalExaggerationRelativeHeight=0,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let f;l(s)&&l(s.boundingVolume)&&(f=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=f,this._contentBoundingVolume2D=void 0;let d;l(n.viewerRequestVolume)&&(d=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=d,this.geometricError=n.geometricError,this._geometricError=n.geometricError,l(this._geometricError)||(this._geometricError=l(i)?i._geometricError:e._geometricError,Ko._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;l(n.refine)?((n.refine==="replace"||n.refine==="add")&&Ko._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?qo.REPLACE:qo.ADD):l(i)?p=i.refine:p=qo.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,m=!1,x,b,T;if(t=ve.createIfNeeded(t),r)x=Xo.UNLOADED,b=t.clone();else if(l(s)){let w=s.uri;l(s.url)&&(Ko._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),w=s.url),w===""?(Ko._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new qv(e,this),m=!0,x=Xo.READY):(x=Xo.UNLOADED,b=t.getDerivedResource({url:w}),T=bc.getServerKey(b.getUrlComponent()))}else g=new qv(e,this),m=!0,x=Xo.READY;this._content=g,this._contentResource=b,this._contentState=x,this._expiredContent=void 0,this._serverKey=T,this.hasEmptyContent=m,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.cacheNode=void 0;let C=n.expire,A,S;l(C)&&(A=C.duration,l(C.date)&&(S=K.fromIso8601(C.date))),this.expireDuration=A,this.expireDate=S,this.lastStyleTime=0,this._optimChildrenWithinParent=Ad.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._wasSelectedLastFrame=!1,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._isClippedByPolygon=!1,this._clippingPlanesState=0,this._clippingPolygonsState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=H.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new K,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}Ko._deprecationWarning=_s;Object.defineProperties(Ko.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return l(this._color)||(this._color=new H),H.clone(this._color)},set:function(e){this._color=H.clone(e,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||l(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===Xo.READY}},contentUnloaded:{get:function(){return this._contentState===Xo.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===Xo.EXPIRED}},contentFailed:{get:function(){return this._contentState===Xo.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var Yg=new h;function q7e(e,t){let{tileset:n,boundingSphere:i}=e,{radius:o,center:r}=i,{camera:s}=t,a=h.multiplyByScalar(s.directionWC,e._centerZDepth,Yg),c=h.add(s.positionWC,a,Yg),u=h.subtract(c,r,Yg);if(h.magnitude(u)>o){let S=h.normalize(u,Yg),w=h.multiplyByScalar(S,o,Yg),D=h.add(r,w,Yg),O=h.subtract(D,s.positionWC,Yg),R=h.normalize(O,Yg);e._foveatedFactor=1-Math.abs(h.dot(s.directionWC,R))}else e._foveatedFactor=0;let p=e.refine===qo.REPLACE,g=n.isSkippingLevelOfDetail;if(p&&!g||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&p&&g||n._pass===Fo.PRELOAD_FLIGHT||n._pass===Fo.PRELOAD)return!1;let m=1-Math.cos(s.frustum.fov*.5),x=n.foveatedConeSize*m;if(e._foveatedFactor<=x)return!1;let b=m-x,T=P.clamp((e._foveatedFactor-x)/b,0,1),C=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.memoryAdjustedScreenSpaceError,T),A=e._screenSpaceError===0&&l(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.memoryAdjustedScreenSpaceError-C<=A}var Ece=new K;Ko.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=l(this.parent)?this.parent.geometricError:i._scaledGeometricError,s=t?r:this.geometricError;if(s===0)return 0;let{camera:a,context:c}=e,u=a.frustum,f=c.drawingBufferWidth,d=c.drawingBufferHeight*o,p;if(e.mode===ne.SCENE2D||u instanceof an){let g=u.offCenterFrustum;l(g)&&(u=g);let m=Math.max(u.top-u.bottom,u.right-u.left)/Math.max(f,d);p=s/m}else{let g=Math.max(this._distanceToCamera,P.EPSILON7),m=u.sseDenominator;if(p=s*d/(g*m),i.dynamicScreenSpaceError){let x=i._dynamicScreenSpaceErrorComputedDensity,b=i.dynamicScreenSpaceErrorFactor,T=P.fog(g,x)*b;p-=T}}return p/=e.pixelRatio,p};function Y7e(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=e.memoryAdjustedScreenSpaceError,i=t._screenSpaceErrorProgressiveResolution>n;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let o=t.parent,r=t._screenSpaceErrorProgressiveResolution<=n,s=l(o)&&o._screenSpaceErrorProgressiveResolution>n;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,i=!0),i}function X7e(e,t){let n=t.parent,o=l(n)&&(!e.isSkippingLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}Ko.prototype.updateVisibility=function(e){let{parent:t,tileset:n}=this;if(this._updatedVisibilityFrame===n._updatedVisibilityFrame)return;let i=l(t)?t.computedTransform:n.modelMatrix,o=l(t)?t._visibilityPlaneMask:ys.MASK_INDETERMINATE;this.updateTransform(i,e),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==ys.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=X7e(n,this),this._priorityProgressiveResolution=Y7e(n,this),this.priorityDeferred=q7e(this,e),this._updatedVisibilityFrame=n._updatedVisibilityFrame};Ko.prototype.updateExpiration=function(){if(l(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=K.now(Ece);K.lessThan(this.expireDate,e)&&(this._contentState=Xo.EXPIRED,this._expiredContent=this._content)}};function K7e(e){if(!l(e.expireDuration))return;let t=K.now(Ece);K.addSeconds(t,e.expireDuration,t),l(e.expireDate)?K.lessThan(e.expireDate,t)&&K.clone(t,e.expireDate):e.expireDate=K.clone(t)}function $7e(e){return function(){return e._priority}}Ko.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?Z7e(this):J7e(this)};function Z7e(e){let t=e._content,n=e._tileset;if(!l(t)){let o=ri(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new PB(n,e,e._contentResource.clone(),o),e._content=t}let i=t.requestInnerContents();if(l(i))return e._contentState=Xo.LOADING,i.then(o=>{if(!e.isDestroyed()&&l(o))return e._contentState=Xo.PROCESSING,t}).catch(o=>{if(!e.isDestroyed())throw e._contentState=Xo.FAILED,o})}async function Q7e(e,t,n,i,o){let r=e._contentState;e._contentState=Xo.LOADING,++t.statistics.numberOfPendingRequests;let s;try{s=await o}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;if(n.cancelled||n.state===Qn.CANCELLED){e._contentState=r,++t.statistics.numberOfAttemptedRequests;return}throw e._contentState=Xo.FAILED,a}if(e.isDestroyed()){--t.statistics.numberOfPendingRequests;return}if(n.cancelled||n.state===Qn.CANCELLED){e._contentState=r,--t.statistics.numberOfPendingRequests,++t.statistics.numberOfAttemptedRequests;return}try{let a=await eqe(e,s);return--t.statistics.numberOfPendingRequests,e.isDestroyed()?void 0:(i&&(e.expireDate=void 0),e._content=a,e._contentState=Xo.PROCESSING,a)}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;throw e._contentState=Xo.FAILED,a}}function J7e(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new or({throttle:!0,throttleByServer:!0,type:ps.TILES3D,priorityFunction:$7e(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=e._tileset,r=t.fetchArrayBuffer();if(!l(r)){++o.statistics.numberOfAttemptedRequests;return}return Q7e(e,o,i,n,r)}async function eqe(e,t){let n=Gp(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===ks.GEOMETRY||n.contentType===ks.VECTOR,(n.contentType===ks.IMPLICIT_SUBTREE||n.contentType===ks.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===ks.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=eA[n.contentType];if(e.isDestroyed())return;l(n.binaryPayload)?o=await Promise.resolve(r(i,e,e._contentResource,n.binaryPayload.buffer,0)):o=await Promise.resolve(r(i,e,e._contentResource,n.jsonPayload));let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,u=e.implicitCoordinates;o.metadata=c.getContentMetadataView(u,0)}else e.hasImplicitContent||(o.metadata=tA(i,s));let a=nA(i,s);return l(a)&&(o.group=new aC({metadata:a})),o}Ko.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};Ko.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=Xo.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this.clippingPolygonsDirty=this._clippingPolygonsState===0,this._clippingPolygonsState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var Sce=new ae;function fj(e,t){if(t.mode!==ne.SCENE3D&&!l(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=ae.projectTo2D(n,t.mapProjection,Sce);e._boundingVolume2D=new qg(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._boundingVolume2D:e._boundingVolume}function tqe(e,t){if(t.mode!==ne.SCENE3D&&!l(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=ae.projectTo2D(n,t.mapProjection,Sce);e._contentBoundingVolume2D=new qg(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}Ko.prototype.visibility=function(e,t){let n=e.cullingVolume,i=fj(this,e),o=this._tileset,r=o.clippingPlanes;if(l(r)&&r.enabled){let a=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=a!==qt.INSIDE,a===qt.OUTSIDE)return ys.MASK_OUTSIDE}let s=o.clippingPolygons;if(l(s)&&s.enabled){let a=s.computeIntersectionWithBoundingVolume(i);this._isClippedByPolygon=a!==qt.OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};Ko.prototype.contentVisibility=function(e){if(!l(this._contentBoundingVolume))return qt.INSIDE;if(this._visibilityPlaneMask===ys.MASK_INSIDE)return qt.INSIDE;let t=e.cullingVolume,n=tqe(this,e),i=this._tileset,o=i.clippingPlanes;if(l(o)&&o.enabled){let s=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=s!==qt.INSIDE,s===qt.OUTSIDE)return qt.OUTSIDE}let r=i.clippingPolygons;if(l(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(n);if(this._isClippedByPolygon=s!==qt.OUTSIDE,s===qt.INSIDE)return qt.OUTSIDE}return t.computeVisibility(n)};Ko.prototype.distanceToTile=function(e){return fj(this,e).distanceToCamera(e)};var nqe=new h;Ko.prototype.distanceToTileCenter=function(e){let n=fj(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,nqe);return h.dot(e.camera.directionWC,i)};Ko.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!l(t)||t.distanceToCamera(e)===0};var wce=new Z,vce=new h,iqe=new Z,dj=new h,Dce=new se,Ice=new In,uj=new F;function oqe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],dj),o=Z.fromArray(e,3,iqe);i=F.multiplyByPoint(t,i,i);let r=F.getMatrix3(t,wce);return o=Z.multiply(r,o,o),l(n)?(n.update(i,o),n):new Tf(i,o)}function rqe(e,t,n,i){let o=se.unpack(e,0,Dce),r=e[4],s=e[5],a=In.fromRectangle(o,r,s,ee.WGS84,Ice),c=a.center,u=a.halfAxes;t=F.multiplyTransformation(t,F.inverseTransformation(n,uj),uj),c=F.multiplyByPoint(t,c,c);let f=F.getMatrix3(t,wce);return u=Z.multiply(f,u,u),l(i)&&i instanceof Tf?(i.update(c,u),i):new Tf(c,u)}function sqe(e,t,n,i){if(!F.equalsEpsilon(t,n,P.EPSILON8))return rqe(e,t,n,i);let o=se.unpack(e,0,Dce);return l(i)?(i.rectangle=se.clone(o,i.rectangle),i.minimumHeight=e[4],i.maximumHeight=e[5],i.computeBoundingVolumes(ee.WGS84),i):new Ed({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function aqe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],dj),o=e[3];i=F.multiplyByPoint(t,i,i);let r=F.getScale(t,vce),s=h.maximumComponent(r);return o*=s,l(n)?(n.update(i,o),n):new qg(i,o)}Ko.prototype.createBoundingVolume=function(e,t,n){let i=this.metadata,o;if(l(i)&&(o=xC.parseBoundingVolumeSemantic("TILE",i)),l(o)&&(e=o),!l(e))throw new ce("boundingVolume must be defined");if(ri(e,"3DTILES_bounding_volume_S2"))return new LB(e.extensions["3DTILES_bounding_volume_S2"]);let{box:r,region:s,sphere:a}=e;if(l(r)){let c=oqe(r,t,n);return this._verticalExaggeration!==1&&Tce(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c}if(l(s)){let c=sqe(s,t,this._initialTransform,n);return this._verticalExaggeration===1||(c instanceof Tf?Tce(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight):(c.minimumHeight=Dr.getHeight(c.minimumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.maximumHeight=Dr.getHeight(c.maximumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.computeBoundingVolumes(ee.WGS84))),c}if(l(a)){let c=aqe(a,t,n);if(this._verticalExaggeration!==1){let u=Dr.getPosition(c.center,ee.WGS84,this._verticalExaggeration,this._verticalExaggerationRelativeHeight,dj),f=c.radius*this._verticalExaggeration;c.update(u,f)}return c}throw new ce("boundingVolume must contain a sphere, region, or box")};var cqe=h.unpackArray(new Array(8*3).fill(0));function Tce(e,t,n){let i=e.boundingVolume.computeCorners(cqe).map(r=>Dr.getPosition(r,ee.WGS84,t,n,r)),o=In.fromPoints(i,Ice);e.update(o.center,o.halfAxes)}Ko.prototype.updateTransform=function(e,t){e=y(e,F.IDENTITY);let n=F.multiplyTransformation(e,this.transform,uj),i=!F.equals(n,this.computedTransform),o=l(t)&&(this._verticalExaggeration!==t.verticalExaggeration||this._verticalExaggerationRelativeHeight!==t.verticalExaggerationRelativeHeight);if(!i&&!o)return;i&&F.clone(n,this.computedTransform),o&&(this._verticalExaggeration=t.verticalExaggeration,this._verticalExaggerationRelativeHeight=t.verticalExaggerationRelativeHeight);let r=this._header,s=this._contentHeader;this._boundingVolume=this.createBoundingVolume(r.boundingVolume,this.computedTransform,this._boundingVolume),l(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(s.boundingVolume,this.computedTransform,this._contentBoundingVolume)),l(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(r.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};Ko.prototype.updateGeometricErrorScale=function(){let e=F.getScale(this.computedTransform,vce),t=h.maximumComponent(e);if(this.geometricError=this._geometricError*t,!l(this.parent)){let n=this._tileset;n._scaledGeometricError=n._geometricError*t}};function lqe(e,t,n,i){if(!i.isRender)return;let o=l(e._contentHeader)&&l(e._contentHeader.boundingVolume),r=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(r){let c;e._finalResolution?e.hasRenderableContent?c=H.WHITE:c=H.DARKGRAY:c=H.YELLOW,l(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(c)),e._debugBoundingVolume.update(n);let u=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");u.color=jt.toValue(c,u.color)}else!r&&l(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(l(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(H.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&l(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&l(e._viewerRequestVolume)?(l(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(H.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&l(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let s=t.debugColorizeTiles&&!e._debugColorizeTiles||l(t._heatmap.tilePropertyName),a=!t.debugColorizeTiles&&e._debugColorizeTiles;s?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):a&&(e._debugColorizeTiles=!1,e.color=H.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),a&&t.makeStyleDirty()}function uqe(e,t,n){let i=e._expiredContent;if(!e.hasMultipleContents&&l(i)){if(!e.contentReady){try{i.update(t,n)}catch{}return}e._expiredContent.destroy(),e._expiredContent=void 0}if(l(e.content))try{e.content.update(t,n)}catch(o){throw e._contentState=Xo.FAILED,o}}function fqe(e,t){let n=t.clippingPlanes,i=0;l(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}function dqe(e,t){let n=t.clippingPolygons,i=0;l(n)&&e._isClippedByPolygon&&n.enabled&&(i=n.clippingPolygonsState),i!==e._clippingPolygonsState&&(e._clippingPolygonsState=i,e.clippingPolygonsDirty=!0)}Ko.prototype.update=function(e,t,n){let{commandList:i}=t,o=i.length;fqe(this,e),dqe(this,e),lqe(this,e,t,n),uqe(this,e,t);let r=i.length;this._commandsLength=r-o;for(let s=o;s<r;++s){let a=i[s],c=a.pass===Se.TRANSLUCENT;a.depthForTranslucentClassification=c}this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1};var Cce=[];Ko.prototype.process=function(e,t){!this.contentExpired&&!this.contentReady&&this._content.ready&&(K7e(this),this._selectedFrame=0,this.lastStyleTime=0,K.now(this._loadTimestamp),this._contentState=Xo.READY,!this.hasTilesetContent&&!this.hasImplicitContent&&(e._statistics.incrementLoadCounts(this.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(this)));let n=t.commandList;t.commandList=Cce;try{this._content.update(e,t)}catch(i){throw this._contentState=Xo.FAILED,i}Cce.length=0,t.commandList=n};function Ace(e,t,n){let i=e*Math.pow(10,t);return parseInt(i)*Math.pow(10,n)}function BB(e,t,n){return Math.max(P.normalize(e,t,n)-P.EPSILON7,0)}Ko.prototype.updatePriority=function(){let e=this.tileset,t=e.preferLeaves,n=e._minimumPriority,i=e._maximumPriority,o=4,r=1,s=0,a=o,c=s+a,u=o,f=c+u,d=r,p=Math.pow(10,f),g=f+d,m=r,x=Math.pow(10,g),b=g+m,T=Math.pow(10,b),C=BB(this._depth,n.depth,i.depth);C=t?1-C:C;let S=!e.isSkippingLevelOfDetail&&this.refine===qo.REPLACE?BB(this._priorityHolder._distanceToCamera,n.distance,i.distance):BB(this._priorityReverseScreenSpaceError,n.reverseScreenSpaceError,i.reverseScreenSpaceError),w=Ace(S,a,s),D=this._priorityProgressiveResolution?0:p,O=BB(this._priorityHolder._foveatedFactor,n.foveatedFactor,i.foveatedFactor),R=Ace(O,u,c),M=this.priorityDeferred?x:0,L=e._pass===Fo.PRELOAD_FLIGHT?0:T;this._priority=C+w+D+R+M+L};Ko.prototype.isDestroyed=function(){return!1};Ko.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),ue(this)};var wd=Ko;function jp(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.group,i=e.class,o=l(n.properties)?n.properties:{};this._class=i,this._properties=o,this._id=t,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(jp.prototype,{class:{get:function(){return this._class}},id:{get:function(){return this._id}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});jp.prototype.hasProperty=function(e){return Bn.hasProperty(e,this._properties,this._class)};jp.prototype.hasPropertyBySemantic=function(e){return Bn.hasPropertyBySemantic(e,this._properties,this._class)};jp.prototype.getPropertyIds=function(e){return Bn.getPropertyIds(this._properties,this._class,e)};jp.prototype.getProperty=function(e){return Bn.getProperty(e,this._properties,this._class)};jp.prototype.setProperty=function(e,t){return Bn.setProperty(e,t,this._properties,this._class)};jp.prototype.getPropertyBySemantic=function(e){return Bn.getPropertyBySemantic(e,this._properties,this._class)};jp.prototype.setPropertyBySemantic=function(e,t){return Bn.setPropertyBySemantic(e,t,this._properties,this._class)};var $v=jp;function qp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tileset,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(qp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});qp.prototype.hasProperty=function(e){return Bn.hasProperty(e,this._properties,this._class)};qp.prototype.hasPropertyBySemantic=function(e){return Bn.hasPropertyBySemantic(e,this._properties,this._class)};qp.prototype.getPropertyIds=function(e){return Bn.getPropertyIds(this._properties,this._class,e)};qp.prototype.getProperty=function(e){return Bn.getProperty(e,this._properties,this._class)};qp.prototype.setProperty=function(e,t){return Bn.setProperty(e,t,this._properties,this._class)};qp.prototype.getPropertyBySemantic=function(e){return Bn.getPropertyBySemantic(e,this._properties,this._class)};qp.prototype.setPropertyBySemantic=function(e,t){return Bn.setPropertyBySemantic(e,t,this._properties,this._class)};var kB=qp;function Pce(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataJson,n=e.schema,i=y(t.metadata,t.tileset),o;l(i)&&(o=new kB({tileset:i,class:n.classes[i.class]}));let r=[],s=[],a=t.groups;if(Array.isArray(a)){let c=a.length;for(let u=0;u<c;u++){let f=a[u];s.push(new $v({group:f,class:n.classes[f.class]}))}}else if(l(a)){r=Object.keys(a).sort();let c=r.length;for(let u=0;u<c;u++){let f=r[u];if(a.hasOwnProperty(f)){let d=a[f];s.push(new $v({id:f,group:a[f],class:n.classes[d.class]}))}}}this._schema=n,this._groups=s,this._groupIds=r,this._tileset=o,this._statistics=t.statistics,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Pce.prototype,{schema:{get:function(){return this._schema}},groups:{get:function(){return this._groups}},groupIds:{get:function(){return this._groupIds}},tileset:{get:function(){return this._tileset}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var hA=Pce;var Rce={},hqe=new h;Rce.checkChildrenWithinParent=function(e){let t=e.children,n=t.length,i=e.boundingVolume;if(i instanceof Tf||i instanceof Ed){let o=i._orientedBoundingBox;e._optimChildrenWithinParent=Ad.USE_OPTIMIZATION;for(let r=0;r<n;++r){let a=t[r].boundingVolume;if(!(a instanceof Tf||a instanceof Ed)){e._optimChildrenWithinParent=Ad.SKIP_OPTIMIZATION;break}let c=a._orientedBoundingBox,u=h.subtract(c.center,o.center,hqe),f=h.magnitude(u);h.divideByScalar(u,f,u);let d=Math.abs(o.halfAxes[0]*u.x)+Math.abs(o.halfAxes[1]*u.y)+Math.abs(o.halfAxes[2]*u.z)+Math.abs(o.halfAxes[3]*u.x)+Math.abs(o.halfAxes[4]*u.y)+Math.abs(o.halfAxes[5]*u.z)+Math.abs(o.halfAxes[6]*u.x)+Math.abs(o.halfAxes[7]*u.y)+Math.abs(o.halfAxes[8]*u.z),p=Math.abs(c.halfAxes[0]*u.x)+Math.abs(c.halfAxes[1]*u.y)+Math.abs(c.halfAxes[2]*u.z)+Math.abs(c.halfAxes[3]*u.x)+Math.abs(c.halfAxes[4]*u.y)+Math.abs(c.halfAxes[5]*u.z)+Math.abs(c.halfAxes[6]*u.x)+Math.abs(c.halfAxes[7]*u.y)+Math.abs(c.halfAxes[8]*u.z);if(d<=p+f){e._optimChildrenWithinParent=Ad.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===Ad.USE_OPTIMIZATION};var VB=Rce;function Zv(){this.head=void 0,this.tail=void 0,this._length=0}Object.defineProperties(Zv.prototype,{length:{get:function(){return this._length}}});function mqe(e,t,n){this.item=e,this.previous=t,this.next=n}Zv.prototype.add=function(e){let t=new mqe(e,this.tail,void 0);return l(this.tail)?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t};function Oce(e,t){l(t.previous)&&l(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):l(t.previous)?(t.previous.next=void 0,e.tail=t.previous):l(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}Zv.prototype.remove=function(e){l(e)&&(Oce(this,e),--this._length)};Zv.prototype.splice=function(e,t){if(e===t)return;Oce(this,t);let n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e};var UB=Zv;function Mx(){this._list=new UB,this._sentinel=this._list.add(),this._trimTiles=!1}Mx.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};Mx.prototype.touch=function(e){let t=e.cacheNode;l(t)&&this._list.splice(this._sentinel,t)};Mx.prototype.add=function(e){l(e.cacheNode)||(e.cacheNode=this._list.add(e))};Mx.prototype.unloadTile=function(e,t,n){let i=t.cacheNode;l(i)&&(this._list.remove(i),t.cacheNode=void 0,n(e,t))};Mx.prototype.unloadTiles=function(e,t){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=this._sentinel,r=i.head;for(;r!==o&&(e.totalMemoryUsageInBytes>e.cacheBytes||n);){let s=r.item;r=r.next,this.unloadTile(e,s,t)}};Mx.prototype.trim=function(){this._trimTiles=!0};var zB=Mx;function HB(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function mj(e,t){let n;return t==="_loadTimestamp"?n=K.toDate(e).getTime():n=e,n}HB.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=mj(e,n),this._referenceMaximum[n]=mj(t,n)};function pqe(e,t){let n=e.tilePropertyName;if(l(n)){let i=mj(t[n],n);return l(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var hj=[new H(.1,.1,.1,1),new H(.153,.278,.878,1),new H(.827,.231,.49,1),new H(.827,.188,.22,1),new H(1,.592,.259,1),new H(1,.843,0,1)];HB.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!l(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=pqe(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+P.EPSILON7,c=P.clamp(i-o,0,s)/s,u=hj.length-1,f=c*u,d=Math.floor(f),p=Math.ceil(f),g=f-d,m=hj[d],x=hj[p],b=H.clone(H.WHITE);b.red=P.lerp(m.red,x.red,g),b.green=P.lerp(m.green,x.green,g),b.blue=P.lerp(m.blue,x.blue,g),e._debugColor=b};HB.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(l(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=l(t)&&l(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var GB=HB;function mA(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.batchTableByteLength=0}mA.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};function WB(e,t,n,i){let o=t.innerContents,r=t.pointsLength,s=t.trianglesLength,a=t.featuresLength,c=t.geometryByteLength,u=t.texturesByteLength,f=t.batchTableByteLength;if(i?(e.numberOfFeaturesLoaded+=n?-a:a,e.numberOfPointsLoaded+=n?-r:r,e.geometryByteLength+=n?-c:c,e.texturesByteLength+=n?-u:u,e.batchTableByteLength+=n?-f:f):(e.numberOfFeaturesSelected+=n?-a:a,e.numberOfPointsSelected+=n?-r:r,e.numberOfTrianglesSelected+=n?-s:s),l(o)){let d=o.length;for(let p=0;p<d;++p)WB(e,o[p],n,i)}}mA.prototype.incrementSelectionCounts=function(e){WB(this,e,!1,!1)};mA.prototype.incrementLoadCounts=function(e){WB(this,e,!1,!0)};mA.prototype.decrementLoadCounts=function(e){WB(this,e,!0,!0)};mA.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.batchTableByteLength=e.batchTableByteLength};var Xg=mA;function Qv(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}Object.defineProperties(Qv.prototype,{style:{get:function(){return this._style},set:function(e){e!==this._style&&(this._style=e,this._styleDirty=!0)}}});Qv.prototype.makeDirty=function(){this._styleDirty=!0};Qv.prototype.resetDirty=function(){this._styleDirty=!1};Qv.prototype.applyStyle=function(e){if(!l(e.root)||l(this._style)&&!this._style._ready)return;let t=this._styleDirty;t&&++this._lastStyleTime;let n=this._lastStyleTime,i=e._statistics,o=t?e._selectedTiles:e._selectedTilesToStyle,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.lastStyleTime!==n){let c=a.content;a.lastStyleTime=n,c.applyStyle(this._style),i.numberOfFeaturesStyled+=c.featuresLength,++i.numberOfTilesStyled}}};var jB=Qv;function _qe(e,t,n){let i=ri(t,"3DTILES_implicit_tiling")?t.extensions["3DTILES_implicit_tiling"]:t.implicitTiling;this.baseResource=e,this.geometricError=t.geometricError,this.metadataSchema=n;let o=t.boundingVolume;if(!l(o.box)&&!l(o.region)&&!ri(o,"3DTILES_bounding_volume_S2")&&!ri(o,"3DTILES_bounding_volume_cylinder"))throw new ce("Only box, region, 3DTILES_bounding_volume_S2, and 3DTILES_bounding_volume_cylinder are supported for implicit tiling");this.boundingVolume=o,this.refine=t.refine,this.subtreeUriTemplate=new ve({url:i.subtrees.uri}),this.contentUriTemplates=[],this.contentHeaders=[];let r=gqe(t);for(let s=0;s<r.length;s++){let a=r[s];this.contentHeaders.push(We(a,!0));let c=new ve({url:a.uri});this.contentUriTemplates.push(c)}this.contentCount=this.contentHeaders.length,this.tileHeader=yqe(t),this.subdivisionScheme=ts[i.subdivisionScheme],this.branchingFactor=ts.getBranchingFactor(this.subdivisionScheme),this.subtreeLevels=i.subtreeLevels,l(i.availableLevels)?this.availableLevels=i.availableLevels:this.availableLevels=i.maximumLevel+1}function gqe(e){if(ri(e,"3DTILES_multiple_contents")){let t=e.extensions["3DTILES_multiple_contents"];return l(t.contents)?t.contents:t.content}return l(e.contents)?e.contents:l(e.content)?[e.content]:[]}function yqe(e){let t=We(e,!0);return l(t.extensions)&&(delete t.extensions["3DTILES_implicit_tiling"],delete t.extensions["3DTILES_multiple_contents"],Object.keys(t.extensions).length===0&&delete t.extensions),delete t.implicitTiling,delete t.contents,delete t.content,t}var pA=_qe;var Jv={};function Mce(e){return e=(e^e<<8)&16711935,e=(e^e<<4)&252645135,e=(e^e<<2)&858993459,e=(e^e<<1)&1431655765,e}function pj(e){return e=(e^e<<16)&50331903,e=(e^e<<8)&50393103,e=(e^e<<4)&51130563,e=(e^e<<2)&153391689,e}function Lce(e){return e&=1431655765,e=(e^e>>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function _j(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}Jv.encode2D=function(e,t){return(Mce(e)|Mce(t)<<1)>>>0};Jv.decode2D=function(e,t){return l(t)||(t=new Array(2)),t[0]=Lce(e),t[1]=Lce(e>>1),t};Jv.encode3D=function(e,t,n){return pj(e)|pj(t)<<1|pj(n)<<2};Jv.decode3D=function(e,t){return l(t)||(t=new Array(3)),t[0]=_j(e),t[1]=_j(e>>1),t[2]=_j(e>>2),t};var Lx=Jv;function Bo(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===ts.OCTREE&&(this.z=e.z)}Object.defineProperties(Bo.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===ts.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===ts.OCTREE?Lx.encode3D(this.x,this.y,this.z):Lx.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===ts.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});Bo.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<<e.level)+e.x,i=(this.y<<e.level)+e.y;if(this.subdivisionScheme===ts.OCTREE){let o=(this.z<<e.level)+e.z;return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Bo.prototype.getAncestorCoordinates=function(e){let t=1<<e,n=this.level-e,i=Math.floor(this.x/t),o=Math.floor(this.y/t);if(this.subdivisionScheme===ts.OCTREE){let r=Math.floor(this.z/t);return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o,z:r})}return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o})};Bo.prototype.getOffsetCoordinates=function(e){let t=e.level-this.level,n=1<<t,i=e.x%n,o=e.y%n;if(this.subdivisionScheme===ts.OCTREE){let r=e.z%n;return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o,z:r})}return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o})};Bo.prototype.getChildCoordinates=function(e){let t=this.level+1,n=2*this.x+e%2,i=2*this.y+Math.floor(e/2)%2;if(this.subdivisionScheme===ts.OCTREE){let o=2*this.z+Math.floor(e/4)%2;return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Bo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Bo.prototype.getSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels)};Bo.prototype.getParentSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels+this.subtreeLevels)};Bo.prototype.isAncestor=function(e){let t=e.level-this.level;if(t<=0)return!1;let n=e.x>>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===ts.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};Bo.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===ts.OCTREE?this.z===e.z:!0)};Bo.prototype.isImplicitTilesetRoot=function(){return this.level===0};Bo.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};Bo.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};Bo.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===ts.OCTREE&&(e.z=this.z),e};var Nce=[0,0,0];Bo.fromMortonIndex=function(e,t,n,i){let o;return e===ts.OCTREE?(o=Lx.decode3D(i,Nce),new Bo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Lx.decode2D(i,Nce),new Bo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};Bo.fromTileIndex=function(e,t,n){let i,o,r;return e===ts.OCTREE?(i=Math.floor(P.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(P.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),Bo.fromMortonIndex(e,t,i,r)};var _A=Bo;function Yp(){}Yp.selectTiles=function(e,t){de.throwInstantiationError()};Yp.sortChildrenByDistanceToCamera=function(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera};Yp.canTraverse=function(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:e._screenSpaceError>e.tileset.memoryAdjustedScreenSpaceError};Yp.selectTile=function(e,t){if(e.contentVisibility(t)===qt.OUTSIDE)return;e._wasSelectedLastFrame=!0;let{content:n,tileset:i}=e;n.featurePropertiesDirty?(n.featurePropertiesDirty=!1,e.lastStyleTime=0,i._selectedTilesToStyle.push(e)):e._selectedFrame<t.frameNumber-1&&(i._selectedTilesToStyle.push(e),e._wasSelectedLastFrame=!1),e._selectedFrame=t.frameNumber,i._selectedTiles.push(e)};Yp.visitTile=function(e,t){++e.tileset._statistics.visited,e._visitedFrame=t.frameNumber};Yp.touchTile=function(e,t){e._touchedFrame!==t.frameNumber&&(e.tileset._cache.touch(e),e._touchedFrame=t.frameNumber)};Yp.loadTile=function(e,t){let{tileset:n}=e;if(e._requestedFrame===t.frameNumber||!e.hasUnloadedRenderableContent&&!e.contentExpired||!xqe(e,t))return;let i=t.camera.timeSinceMoved<n.foveatedTimeDelay;e.priorityDeferred&&i||(e._requestedFrame=t.frameNumber,n._requestedTiles.push(e))};function xqe(e,t){let{tileset:n}=e;if(!n._cullRequestsWhileMoving)return!0;let{positionWCDeltaMagnitude:i,positionWCDeltaMagnitudeLastFrame:o}=t.camera,r=i!==0?i:o,s=Math.max(e.boundingSphere.radius*2,1);return n.cullRequestsWhileMovingMultiplier*r/s<1}Yp.updateTile=function(e,t){Fce(e,t),e.updateExpiration(),e._wasMinPriorityChild=!1,e._priorityHolder=e,Cqe(e),e._shouldSelect=!1,e._finalResolution=!0};function Fce(e,t){if(e.updateVisibility(t),!e.isVisible)return;let n=e.children.length>0;if((e.hasTilesetContent||e.hasImplicitContent)&&n){let r=e.children[0];Fce(r,t),e._visible=r._visible;return}if(bqe(e,t)){e._visible=!1;return}let i=e.refine===qo.REPLACE,o=e._optimChildrenWithinParent===Ad.USE_OPTIMIZATION;if(i&&o&&n&&!Tqe(e,t)){++e.tileset._statistics.numberOfTilesCulledWithChildrenUnion,e._visible=!1;return}}function bqe(e,t){let{parent:n,tileset:i}=e;return!l(n)||n.hasTilesetContent||n.hasImplicitContent||n.refine!==qo.ADD?!1:e.getScreenSpaceError(t,!0)<=i.memoryAdjustedScreenSpaceError}function Tqe(e,t){let n=!1,i=e.children;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(t),n=n||r.isVisible}return n}function Cqe(e){let t=e.tileset._minimumPriority,n=e.tileset._maximumPriority,i=e._priorityHolder;n.distance=Math.max(i._distanceToCamera,n.distance),t.distance=Math.min(i._distanceToCamera,t.distance),n.depth=Math.max(e._depth,n.depth),t.depth=Math.min(e._depth,t.depth),n.foveatedFactor=Math.max(i._foveatedFactor,n.foveatedFactor),t.foveatedFactor=Math.min(i._foveatedFactor,t.foveatedFactor),n.reverseScreenSpaceError=Math.max(e._priorityReverseScreenSpaceError,n.reverseScreenSpaceError),t.reverseScreenSpaceError=Math.min(e._priorityReverseScreenSpaceError,t.reverseScreenSpaceError)}var ra=Yp;function Bce(){}var eD={stack:new dl,stackMaximumLength:0};Bce.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0,e.hasMixedContent=!1;let n=!0,i=e.root;if(i.updateVisibility(t),!i.isVisible)return n;let{touchTile:o,visitTile:r}=ra,s=eD.stack;for(s.push(i);s.length>0;){eD.stackMaximumLength=Math.max(eD.stackMaximumLength,s.length);let a=s.pop(),c=a.refine===qo.ADD,u=a.refine===qo.REPLACE,f=Aqe(a);f&&Eqe(a,s,t),(c||u&&!f)&&(Sqe(e,a),o(a,t),wqe(a,t),a.hasRenderableContent&&!a.contentAvailable&&(n=!1)),r(a,t)}return eD.stack.trim(eD.stackMaximumLength),n};function Aqe(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:(e.hasEmptyContent,!0)}function Eqe(e,t,n){let{children:i}=e;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(n),r.isVisible&&t.push(r)}}function Sqe(e,t){(t.hasUnloadedRenderableContent||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function wqe(e,t){e.contentAvailable&&e.contentVisibility(t)!==qt.OUTSIDE&&e.tileset._selectedTiles.push(e)}var qB=Bce;function kce(){}var tD={stack:new dl,stackMaximumLength:0},nD={stack:new dl,stackMaximumLength:0};kce.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(ra.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;Dqe(n,t),tD.stack.trim(tD.stackMaximumLength),nD.stack.trim(nD.stackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function gj(e,t){e.contentAvailable&&ra.selectTile(e,t)}function vqe(e,t,n){let i=e.refine===qo.REPLACE,{tileset:o,children:r}=e,{updateTile:s,loadTile:a,touchTile:c}=ra;for(let m=0;m<r.length;++m)s(r[m],n);r.sort(ra.sortChildrenByDistanceToCamera);let u=i&&e.hasRenderableContent,f=!0,d=!1,p=-1,g=Number.MAX_VALUE;for(let m=0;m<r.length;++m){let x=r[m];if(x.isVisible?(t.push(x),x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),d=!0):(u||o.loadSiblings)&&(x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),a(x,n),c(x,n)),u){let b;x._inRequestVolume?x.hasRenderableContent?b=x.contentAvailable:b=Iqe(x,n):b=!1,f=f&&b}}if(d||(f=!1),p!==-1&&i){let m=r[p];m._wasMinPriorityChild=!0;let x=(e._wasMinPriorityChild||e===o.root)&&g<=e._priorityHolder._foveatedFactor?e._priorityHolder:e;x._foveatedFactor=Math.min(m._foveatedFactor,x._foveatedFactor),x._distanceToCamera=Math.min(m._distanceToCamera,x._distanceToCamera);for(let b=0;b<r.length;++b)r[b]._priorityHolder=x}return f}function Dqe(e,t){let{tileset:n}=e,{canTraverse:i,loadTile:o,visitTile:r,touchTile:s}=ra,a=tD.stack;for(a.push(e);a.length>0;){tD.stackMaximumLength=Math.max(tD.stackMaximumLength,a.length);let c=a.pop(),u=c.parent,f=!l(u)||u._refines;c._refines=i(c)?vqe(c,a,t)&&f:!1;let d=!c._refines&&f;c.hasRenderableContent?c.refine===qo.ADD?(gj(c,t),o(c,t)):c.refine===qo.REPLACE&&(o(c,t),d&&gj(c,t)):(n._emptyTiles.push(c),o(c,t),d&&gj(c,t)),r(c,t),s(c,t)}}function Iqe(e,t){let{canTraverse:n,updateTile:i,loadTile:o,touchTile:r}=ra,s=!0,a=nD.stack;for(a.push(e);a.length>0;){nD.stackMaximumLength=Math.max(nD.stackMaximumLength,a.length);let c=a.pop(),u=c.children,f=u.length,d=!c.hasRenderableContent&&n(c);if(!d&&!c.contentAvailable&&(s=!1),i(c,t),c.isVisible||(o(c,t),r(c,t)),d)for(let p=0;p<f;++p){let g=u[p];a.push(g)}}return e.hasEmptyContent||s}var YB=kce;function Vce(){}var iD={stack:new dl,stackMaximumLength:0},oD={stack:new dl,stackMaximumLength:0},Xp={stack:new dl,stackMaximumLength:0,ancestorStack:new dl,ancestorStackMaximumLength:0},Pqe=2;Vce.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(ra.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;Fqe(n,t),Bqe(n,t),iD.stack.trim(iD.stackMaximumLength),oD.stack.trim(oD.stackMaximumLength),Xp.stack.trim(Xp.stackMaximumLength),Xp.ancestorStack.trim(Xp.ancestorStackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function Rqe(e,t){let{updateTile:n,touchTile:i,selectTile:o}=ra,r=oD.stack;for(r.push(e);r.length>0;){oD.stackMaximumLength=Math.max(oD.stackMaximumLength,r.length);let a=r.pop().children;for(let c=0;c<a.length;++c){let u=a[c];u.isVisible&&(u.contentAvailable?(n(u,t),i(u,t),o(u,t)):u._depth-e._depth<Pqe&&r.push(u))}}}function XB(e,t){let n=e.contentAvailable?e:e._ancestorWithContentAvailable;l(n)?n._shouldSelect=!0:Rqe(e,t)}function Oqe(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;let{parent:n}=e;if(!l(n))return;let i=!n.hasUnloadedRenderableContent||n._requestedFrame===t.frameNumber;e._ancestorWithContent=i?n:n._ancestorWithContent,e._ancestorWithContentAvailable=n.contentAvailable?n:n._ancestorWithContentAvailable}function Mqe(e,t){let n=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||l(n)&&t._screenSpaceError<n._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>n._depth+e.skipLevels)}function Lqe(e,t,n){let{tileset:i,children:o}=e,{updateTile:r,loadTile:s,touchTile:a}=ra;for(let u=0;u<o.length;++u)r(o[u],n);o.sort(ra.sortChildrenByDistanceToCamera);let c=!1;for(let u=0;u<o.length;++u){let f=o[u];f.isVisible?(t.push(f),c=!0):i.loadSiblings&&(s(f,n),a(f,n))}return c}function Nqe(e,t){let{tileset:n}=e;return n.immediatelyLoadDesiredLevelOfDetail?!1:l(e._ancestorWithContent)?e._screenSpaceError===0?e.parent._screenSpaceError>t:e._screenSpaceError>t:!0}function Fqe(e,t){let{tileset:n}=e,i=n.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(n.baseScreenSpaceError,n.memoryAdjustedScreenSpaceError),{canTraverse:o,loadTile:r,visitTile:s,touchTile:a}=ra,c=iD.stack;for(c.push(e);c.length>0;){iD.stackMaximumLength=Math.max(iD.stackMaximumLength,c.length);let u=c.pop();Oqe(u,t);let f=u.parent,d=!l(f)||f._refines;u._refines=o(u)?Lqe(u,c,t)&&d:!1;let p=!u._refines&&d;u.hasRenderableContent?u.refine===qo.ADD?(XB(u,t),r(u,t)):u.refine===qo.REPLACE&&(Nqe(u,i)?(r(u,t),p&&XB(u,t)):p?(XB(u,t),r(u,t)):Mqe(n,u)&&r(u,t)):(n._emptyTiles.push(u),r(u,t),p&&XB(u,t)),s(u,t),a(u,t)}}function Bqe(e,t){let{selectTile:n,canTraverse:i}=ra,{stack:o,ancestorStack:r}=Xp,s;for(o.push(e);o.length>0||r.length>0;){if(Xp.stackMaximumLength=Math.max(Xp.stackMaximumLength,o.length),Xp.ancestorStackMaximumLength=Math.max(Xp.ancestorStackMaximumLength,r.length),r.length>0){let u=r.peek();if(u._stackLength===o.length){r.pop(),u!==s&&(u._finalResolution=!1),n(u,t);continue}}let a=o.pop();if(!l(a))continue;let c=i(a);if(a._shouldSelect)if(a.refine===qo.ADD)n(a,t);else{if(a._selectionDepth=r.length,a._selectionDepth>0&&(a.tileset.hasMixedContent=!0),s=a,!c){n(a,t);continue}r.push(a),a._stackLength=o.length}if(c){let u=a.children;for(let f=0;f<u.length;++f){let d=u[f];d.isVisible&&o.push(d)}}}}var KB=Vce;function $o(e){e=y(e,y.EMPTY_OBJECT),this._marsOptions=y(e.marsOptions,{}),this._url=void 0,this._basePath=void 0,this._root=void 0,this._resource=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._scaledGeometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._modelUpAxis=void 0,this._modelForwardAxis=void 0,this._cache=new zB,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._cullWithChildrenBounds=y(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new dl,this._maximumScreenSpaceError=y(e.maximumScreenSpaceError,16),this._memoryAdjustedScreenSpaceError=this._maximumScreenSpaceError,this._cacheBytes=y(e.cacheBytes,512*1024*1024);let t=y(e.maximumCacheOverflowBytes,512*1024*1024);this._maximumCacheOverflowBytes=t,this._styleEngine=new jB,this._styleApplied=!1,this._modelMatrix=l(e.modelMatrix)?F.clone(e.modelMatrix):F.clone(F.IDENTITY),this._addHeightCallbacks=[],this._statistics=new Xg,this._statisticsLast=new Xg,this._statisticsPerPass=new Array(Fo.NUMBER_OF_PASSES);for(let o=0;o<Fo.NUMBER_OF_PASSES;++o)this._statisticsPerPass[o]=new Xg;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new GB(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=y(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=y(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=P.clamp(y(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=y(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._classificationType=e.classificationType,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._initialClippingPlanesOriginMatrix=F.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this._vectorClassificationOnly=y(e.vectorClassificationOnly,!1),this._vectorKeepDecodedPositions=y(e.vectorKeepDecodedPositions,!1),this.preloadWhenHidden=y(e.preloadWhenHidden,!1),this.preloadFlightDestinations=y(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=y(e.dynamicScreenSpaceError,!0),this.foveatedScreenSpaceError=y(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=y(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=y(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=y(e.foveatedInterpolationCallback,P.lerp),this.foveatedTimeDelay=y(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=y(e.dynamicScreenSpaceErrorDensity,2e-4),this.dynamicScreenSpaceErrorFactor=y(e.dynamicScreenSpaceErrorFactor,24),this.dynamicScreenSpaceErrorHeightFalloff=y(e.dynamicScreenSpaceErrorHeightFalloff,.25),this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=y(e.shadows,bn.ENABLED),this.show=y(e.show,!0),this.colorBlendMode=Ql.HIGHLIGHT,this.colorBlendAmount=.5,this._pointCloudShading=new Sp(e.pointCloudShading),this._pointCloudEyeDomeLighting=new Dg,this.loadProgress=new me,this.allTilesLoaded=new me,this.initialTilesLoaded=new me,this.tileLoad=new me,this.tileUnload=new me,this.tileFailed=new me,this.tileVisible=new me,this.skipLevelOfDetail=y(e.skipLevelOfDetail,!1),this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=y(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=y(e.skipScreenSpaceErrorFactor,16),this.skipLevels=y(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=y(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=y(e.loadSiblings,!1),this._clippingPlanes=void 0,l(e.clippingPlanes)&&bs.setOwner(e.clippingPlanes,this,"_clippingPlanes"),this._clippingPolygons=void 0,l(e.clippingPolygons)&&jh.setOwner(e.clippingPolygons,this,"_clippingPolygons"),l(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new sC,this._shouldDestroyImageBasedLighting=!0),this.lightColor=e.lightColor,this.backFaceCulling=y(e.backFaceCulling,!0),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,H.BLACK),this.splitDirection=y(e.splitDirection,kr.NONE),this.enableCollision=y(e.enableCollision,!1),this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this.debugFreezeFrame=y(e.debugFreezeFrame,!1),this.debugColorizeTiles=y(e.debugColorizeTiles,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this.debugWireframe=y(e.debugWireframe,!1),this.debugWireframe===!0&&this._enableDebugWireframe===!1&&Tt("tileset-debug-wireframe-ignored","enableDebugWireframe must be set to true in the Cesium3DTileset constructor, otherwise debugWireframe will be ignored."),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=y(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=y(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=y(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=y(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=y(e.debugShowMemoryUsage,!1),this.debugShowUrl=y(e.debugShowUrl,!1),this.examineVectorLinesFunction=void 0,this._metadataExtension=void 0,this._customShader=e.customShader;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._initForMars3D&&this._initForMars3D(e)}Object.defineProperties($o.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){bs.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){jh.setOwner(e,this,"_clippingPolygons")}},properties:{get:function(){return this._properties}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return _s("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},customShader:{get:function(){return this._customShader},set:function(e){this._customShader=e}},hasMixedContent:{get:function(){return this._hasMixedContent},set:function(e){this._hasMixedContent=e}},isSkippingLevelOfDetail:{get:function(){return this.skipLevelOfDetail&&!l(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){this._maximumScreenSpaceError=e,this._memoryAdjustedScreenSpaceError=e}},cacheBytes:{get:function(){return this._cacheBytes},set:function(e){this._cacheBytes=e}},maximumCacheOverflowBytes:{get:function(){return this._maximumCacheOverflowBytes},set:function(e){this._maximumCacheOverflowBytes=e}},memoryAdjustedScreenSpaceError:{get:function(){return this._memoryAdjustedScreenSpaceError}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){this._pointCloudShading=e}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return l(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(F.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):F.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e,Yce(this)}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),this._instanceFeatureIdLabel=e}}});$o.fromIonAssetId=async function(e,t){let n=await Ju.fromAssetId(e);return $o.fromUrl(n,t)};$o.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=ve.createIfNeeded(e),i;n.extension==="json"?i=n.getBaseUri(!0):n.isDataUri&&(i="");let o=await $o.loadJson(n),r=await kqe(n,o),s=new $o(t);s._resource=n,s._url=n.url,s._basePath=i,s._metadataExtension=r,s._geometricError=o.geometricError,s._scaledGeometricError=o.geometricError;let a=o.asset;s._asset=a,s._extras=o.extras,Yce(s);let c=l(o.asset.gltfUpAxis)?Mo.fromName(o.asset.gltfUpAxis):Mo.Y,u=y(t.modelUpAxis,c),f=y(t.modelForwardAxis,Mo.X);s._properties=o.properties,s._extensionsUsed=o.extensionsUsed,s._extensions=o.extensions,s._modelUpAxis=u,s._modelForwardAxis=f,s._root=s.loadTileset(n,o);let p=s._root.createBoundingVolume(o.root.boundingVolume,F.IDENTITY).boundingSphere.center,g=s._ellipsoid.cartesianToCartographic(p);return l(g)&&g.height>li._defaultMinTerrainHeight&&(s._initialClippingPlanesOriginMatrix=Bt.eastNorthUpToFixedFrame(p)),s._clippingPlanesOriginMatrix=F.clone(s._initialClippingPlanesOriginMatrix),s};$o.loadJson=function(e){return ve.createIfNeeded(e).fetchJson()};$o.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};$o.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!l(i))throw new ce("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new ce("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");l(t.extensionsRequired)&&$o.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;l(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=Uce(this,e,t.root,n);l(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===qo.ADD;let u=c._header.children;if(l(u))for(let f=0;f<u.length;++f){let d=u[f],p=Uce(this,e,d,c);c.children.push(p),p._depth=c._depth+1,a.push(p)}this._cullWithChildrenBounds&&VB.checkChildrenWithinParent(c)}return s};function Uce(e,t,n,i){if(!(l(n.implicitTiling)||ri(n,"3DTILES_implicit_tiling")))return new wd(e,t,n,i);let r=e.schema,s=new pA(t,n,r),a=new _A({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:0,x:0,y:0,z:0}),c=s.subtreeUriTemplate.getDerivedResource({templateValues:a.getTemplateValues()}).url,f=We(n,!0);f.contents=[{uri:c}],delete f.content,delete f.extensions;let d=new wd(e,t,f,i);return d.implicitTileset=s,d.implicitCoordinates=a,d}async function kqe(e,t){let n=ri(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t,i;if(l(n.schemaUri))e=e.getDerivedResource({url:n.schemaUri}),i=Ci.getSchemaLoader({resource:e});else if(l(n.schema))i=Ci.getSchemaLoader({schema:n.schema});else return;await i.load();let o=new hA({schema:i.schema,metadataJson:n});return Ci.unload(i),o}var zce=new h,Vqe=new fe,Uqe=new F,zqe=new h,Hqe=new h,Gqe=new h,Wqe=new h;function jqe(e,t){let n,i,o,r,s,a=t.camera,c=e._root,u=c.contentBoundingVolume;if(u instanceof Ed)n=h.normalize(a.positionWC,zce),i=a.directionWC,o=a.positionCartographic.height,r=u.minimumHeight,s=u.maximumHeight;else{let x=F.inverseTransformation(c.computedTransform,Uqe),b=t.mapProjection.ellipsoid,T=u.boundingVolume,C=F.multiplyByPoint(x,T.center,zqe);if(h.magnitude(C)>b.minimumRadius){let A=fe.fromCartesian(C,b,Vqe);n=h.normalize(a.positionWC,zce),i=a.directionWC,o=a.positionCartographic.height,r=0,s=A.height*2}else{let A=F.multiplyByPoint(x,a.positionWC,Hqe);if(n=h.UNIT_Z,i=F.multiplyByPointAsVector(x,a.directionWC,Gqe),i=h.normalize(i,i),o=A.z,u instanceof Tf){let S=Z.getColumn(T.halfAxes,2,Wqe),w=h.magnitude(S);r=C.z-w,s=C.z+w}else if(u instanceof qg){let S=T.radius;r=C.z-S,s=C.z+S}}}let f=e.dynamicScreenSpaceErrorHeightFalloff,d=r+(s-r)*f,p=s,g=P.clamp((o-d)/(p-d),0,1),m=1-Math.abs(h.dot(i,n));m=m*(1-g),e._dynamicScreenSpaceErrorComputedDensity=e.dynamicScreenSpaceErrorDensity*m}function qqe(e,t){if(t.hasEmptyContent)return;let{statistics:n}=e,i=t.contentExpired,o=t.requestContent();l(o)&&(o.then(r=>{!l(r)||t.isDestroyed()||e.isDestroyed()||(e._processingQueue.push(t),++n.numberOfTilesProcessing)}).catch(r=>{Wce(r,e,t)}),i&&(t.hasTilesetContent||t.hasImplicitContent?sYe(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t))}function Gce(e,t){return e._priority-t._priority}$o.prototype.postPassesUpdate=function(e){l(this._root)&&(Yqe(this,e),cYe(this,e),this._cache.unloadTiles(this,qce),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};$o.prototype.prePassesUpdate=function(e){if(!l(this._root))return;eYe(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,l(t)&&t.enabled&&t.update(e);let n=this._clippingPolygons;l(n)&&n.enabled&&n.update(e),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time)),this._timeSinceLoad=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&jqe(this,e),e.newFrame&&this._cache.reset()};function Yqe(e,t){let n=e._requestedTilesInFlight,i=0;for(let o=0;o<n.length;++o){let r=n[o],s=t.frameNumber-r._touchedFrame>=1;if(r._contentState!==Xo.LOADING){++i;continue}else if(s){r.cancelRequests(),++i;continue}i>0&&(n[o-i]=r)}n.length-=i}function Xqe(e){let t=e._requestedTiles;t.sort(Gce);for(let n=0;n<t.length;++n)qqe(e,t[n])}function Wce(e,t,n){if(t.isDestroyed())return;let i;n.isDestroyed()||(i=n._contentResource.url);let o=l(e.message)?e.message:e.toString();t.tileFailed.numberOfListeners>0?t.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`))}function Kqe(e){let t=e._processingQueue,n=0;for(let i=0;i<t.length;++i){let o=t[i];if(o.isDestroyed()||o._contentState!==Xo.PROCESSING){++n;continue}n>0&&(t[i-n]=o)}t.length-=n}var $qe=new fe,Zqe=new fe,Qqe=new h;function Jqe(e,t,n){if(!e.enableCollision||!e.show)return;let i=e._addHeightCallbacks,o=t.boundingSphere;for(let r of i){if(r.invoked||t._wasSelectedLastFrame)continue;let s=r.ellipsoid,a=fe.clone(r.positionCartographic,$qe),c=fe.fromCartesian(o.center,s,Zqe);l(c)&&(a.height=c.height);let u=fe.toCartesian(a,s,Qqe);h.distance(u,o.center)<=o.radius&&n.afterRender.push(()=>{l(r.callback)&&r.callback(a),r.invoked=!1})}}function eYe(e,t){Kqe(e);let n=e._processingQueue,{cacheBytes:i,maximumCacheOverflowBytes:o,statistics:r}=e,s=i+o,a=!1;for(let c=0;c<n.length;++c){if(e.totalMemoryUsageInBytes>s){a=!0;break}let u=n[c];try{u.process(e,t),u.contentReady&&(--r.numberOfTilesProcessing,e.tileLoad.raiseEvent(u))}catch(f){--r.numberOfTilesProcessing,Wce(f,e,u)}}e.totalMemoryUsageInBytes<i?nYe(e):a&&n.length>0&&tYe(e)}function tYe(e){e._memoryAdjustedScreenSpaceError*=1.02;let t=e._processingQueue;for(let n=0;n<t.length;++n)t[n].updatePriority();t.sort(Gce)}function nYe(e){e._memoryAdjustedScreenSpaceError=Math.max(e.memoryAdjustedScreenSpaceError/1.02,e.maximumScreenSpaceError)}var $B=new h,iYe={maximumFractionDigits:3};function Hce(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,iYe):Math.round(t).toLocaleString()}function yj(e){let{halfAxes:t,radius:n,center:i}=e.boundingVolume.boundingVolume,o=h.clone(i,$B);if(l(t))o.x+=.75*(t[0]+t[3]+t[6]),o.y+=.75*(t[1]+t[4]+t[7]),o.z+=.75*(t[2]+t[5]+t[8]);else if(l(n)){let r=h.normalize(i,$B);r=h.multiplyByScalar(r,.75*n,$B),o=h.add(r,i,$B)}return o}function xj(e,t,n){let i="",o=0;if(t.debugShowGeometricError&&(i+=` -Geometric error: ${e.geometricError}`,o++),t.debugShowRenderingStatistics&&(i+=` -Commands: ${e.commandsLength}`,o++,e.content.pointsLength>0&&(i+=` -Points: ${e.content.pointsLength}`,o++),e.content.trianglesLength>0&&(i+=` -Triangles: ${e.content.trianglesLength}`,o++),i+=` -Features: ${e.content.featuresLength}`,o++),t.debugShowMemoryUsage&&(i+=` -Texture Memory: ${Hce(e.content.texturesByteLength)}`,i+=` -Geometry Memory: ${Hce(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=` -Urls:`;let s=e.content.innerContentUrls;for(let a=0;a<s.length;a++)i+=` -- ${s[a]}`;o+=s.length}else i+=` -Url: ${e._contentHeader.uri}`,o++;let r={text:i.substring(1),position:n,font:`${19-o}px sans-serif`,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function oYe(e,t){let n=e._selectedTiles,i=n.length,o=e._emptyTiles,r=o.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(l(e.debugPickedTile)){let s=l(e.debugPickPosition)?e.debugPickPosition:yj(e.debugPickedTile),a=xj(e.debugPickedTile,e,s);a.pixelOffset=new U(15,-15)}}else{for(let s=0;s<i;++s){let a=n[s];xj(a,e,yj(a))}for(let s=0;s<r;++s){let a=o[s];(a.hasTilesetContent||a.hasImplicitContent)&&xj(a,e,yj(a))}}e._tileDebugLabels.update(t)}function rYe(e,t,n){e._styleEngine.applyStyle(e),e._styleApplied=!0;let{commandList:i,context:o}=t,r=i.length,s=e._selectedTiles,a=e.isSkippingLevelOfDetail&&e._hasMixedContent&&o.stencilBuffer&&s.length>0;e._backfaceCommands.length=0,a&&(l(e._stencilClearCommand)||(e._stencilClearCommand=new ni({stencil:0,pass:Se.CESIUM_3D_TILE,renderState:ze.fromCache({stencilMask:zt.SKIP_LOD_MASK})})),i.push(e._stencilClearCommand));let{statistics:c,tileVisible:u}=e,f=n.isRender,d=i.length;for(let m=0;m<s.length;++m){let x=s[m];f&&u.raiseEvent(x),Jqe(e,x,t),x.update(e,t,n),c.incrementSelectionCounts(x.content),++c.selected}let p=e._emptyTiles;for(let m=0;m<p.length;++m)p[m].update(e,t,n);let g=i.length-d;if(e._backfaceCommands.trim(),a){let m=e._backfaceCommands.values,x=m.length;i.length+=x;for(let b=g-1;b>=0;--b)i[d+x+b]=i[d+b];for(let b=0;b<x;++b)i[d+b]=m[b]}g=i.length-r,c.numberOfCommands=g,f&&(e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&g>0&&e._pointCloudEyeDomeLighting.update(t,r,e.pointCloudShading,e.boundingSphere),e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(l(e._tileDebugLabels)||(e._tileDebugLabels=new Fp),oYe(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var jce=[];function sYe(e,t){let n=t,i=jce;for(i.push(t);i.length>0;){t=i.pop();let o=t.children;for(let r=0;r<o.length;++r)i.push(o[r]);t!==n&&(aYe(e,t),--e._statistics.numberOfTilesTotal)}n.children=[]}function qce(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function aYe(e,t){e._cache.unloadTile(e,t,qce),t.destroy()}$o.prototype.trimLoadedTiles=function(){this._cache.trim()};function cYe(e,t){let n=e._statistics,i=e._statisticsLast,o=n.numberOfPendingRequests,r=n.numberOfTilesProcessing,s=i.numberOfPendingRequests,a=i.numberOfTilesProcessing;Xg.clone(n,i);let c=o!==s||r!==a;c&&t.afterRender.push(function(){return e.loadProgress.raiseEvent(o,r),!0}),e._tilesLoaded=n.numberOfPendingRequests===0&&n.numberOfTilesProcessing===0&&n.numberOfAttemptedRequests===0,c&&e._tilesLoaded&&(t.afterRender.push(function(){return e.allTilesLoaded.raiseEvent(),!0}),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push(function(){return e.initialTilesLoaded.raiseEvent(),!0})))}function lYe(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function uYe(e,t){t.frameNumber===e._updatedModelMatrixFrame&&l(e._previousModelMatrix)||(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!F.equals(e.modelMatrix,e._previousModelMatrix),e._modelMatrixChanged&&(e._previousModelMatrix=F.clone(e.modelMatrix,e._previousModelMatrix)))}function fYe(e,t,n,i){if(t.mode===ne.MORPHING||!l(e._root))return!1;let o=e._statistics;o.clear(),++e._updatedVisibilityFrame,lYe(e),uYe(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;let r=e.getTraversal(i).selectTiles(e,t);if(i.requestTiles&&Xqe(e),rYe(e,t,i),Xg.clone(o,n),i.isRender){let s=e._credits;if(l(s)&&o.selected!==0)for(let a=0;a<s.length;++a){let c=s[a];t.creditDisplay.addCreditToNextFrame(c)}}return r}function Yce(e){let t=e._credits;l(t)||(t=[]),t.length=0,l(e.resource.credits)&&e.resource.credits.forEach(i=>{t.push(vt.clone(i))});let n=e.asset.extras;if(l(n)&&l(n.cesium)&&l(n.cesium.credits)){let i=n.cesium.credits;for(let o=0;o<i.length;++o){let r=i[o];t.push(new vt(r.html))}}t.forEach(i=>i.showOnScreen=i.showOnScreen||e._showCreditsOnScreen),e._credits=t}$o.prototype.getTraversal=function(e){let{pass:t}=e;return t===Fo.MOST_DETAILED_PRELOAD||t===Fo.MOST_DETAILED_PICK?qB:this.isSkippingLevelOfDetail?KB:YB};$o.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};$o.prototype.updateForPass=function(e,t){let n=t.pass;if(n===Fo.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===Fo.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===Fo.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=Fo.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),u=c.length;e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r);let f=this._clippingPolygons;l(f)&&f.enabled&&f.queueCommands(e);let d=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=fYe(this,e,d,s)),a&&(c.length=u),e.commandList=i,e.camera=o,e.cullingVolume=r};$o.prototype.hasExtension=function(e){return l(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};$o.prototype.isDestroyed=function(){return!1};$o.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),l(this._root)){let e=jce;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children;for(let i=0;i<n.length;++i)e.push(n[i])}}return this._root=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,ue(this)};$o.supportedExtensions={"3DTILES_metadata":!0,"3DTILES_implicit_tiling":!0,"3DTILES_content_gltf":!0,"3DTILES_multiple_contents":!0,"3DTILES_bounding_volume_S2":!0,"3DTILES_batch_table_hierarchy":!0,"3DTILES_draco_point_compression":!0,MAXAR_content_geojson:!0};$o.checkSupportedExtensions=function(e){for(let t=0;t<e.length;t++)if(!$o.supportedExtensions[e[t]])throw new ce(`Unsupported 3D Tiles Extension: ${e[t]}`)};var dYe=new _n,hYe=new h,mYe=new fe;$o.prototype.getHeight=function(e,t){let n=t.ellipsoid;l(n)||(n=ee.WGS84);let i=dYe,o=n.cartographicToCartesian(e,i.direction);h.normalize(i.direction,i.direction),i.direction=h.normalize(o,i.direction),i.direction=h.negate(o,i.direction),i.origin=h.multiplyByScalar(i.direction,-2*n.maximumRadius,i.origin);let r=this.pick(i,t.frameState,hYe);if(l(r))return n.cartesianToCartographic(r,mYe)?.height};$o.prototype.updateHeight=function(e,t,n){n=y(n,ee.WGS84);let i={positionCartographic:e,ellipsoid:n,callback:t,invoked:!1},o=()=>{let r=this._addHeightCallbacks,s=r.length;for(let a=0;a<s;++a)if(r[a]===i){r.splice(a,1);break}i.callback&&(i.callback=void 0)};return this._addHeightCallbacks.push(i),o};var pYe=new Ya,_Ye=new h;$o.prototype.pick=function(e,t,n){if(!t.context.webgl2&&!this._enablePick)return;let i=this._selectedTiles,o=i.length,r=[];for(let c=0;c<o;++c){let u=i[c],f=Jn.raySphere(e,u.contentBoundingVolume.boundingSphere,pYe);!l(f)||!l(u.content)||r.push(u)}let s=r.length;r.sort((c,u)=>{let f=ae.distanceSquaredTo(c.contentBoundingVolume.boundingSphere,e.origin),d=ae.distanceSquaredTo(u.contentBoundingVolume.boundingSphere,e.origin);return f-d});let a;for(let c=0;c<s;++c){let f=r[c].content.pick(e,t,_Ye);if(l(f))return a=h.clone(f,n),a}};var Da=$o;var gYe=new F;function Kg(e,t){t.collectionChanged.addEventListener(Kg.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new St,this._onCollectionChanged(t,t.values,[],[])}Kg.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._tilesetHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._tileset,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;f&&(d=s.computeModelMatrix(e,gYe),c=ve.createIfNeeded(q.getValueOrUndefined(a._uri,e)));let p=l(u)?u.tilesetPrimitive:void 0;if(!f){l(p)&&(p.show=!1);continue}(!l(u)||c.url!==u.url)&&(l(p)&&i.removeAndDestroy(p),delete n[s.id],yYe(c,n,s,i)),l(p)&&(p.show=!0,l(d)&&(p.modelMatrix=d),p.maximumScreenSpaceError=q.getValueOrDefault(a.maximumScreenSpaceError,e,p.maximumScreenSpaceError))}return!0};Kg.prototype.isDestroyed=function(){return!1};Kg.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Kg.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._tilesetHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)bj(this,e[i],t,n);return ue(this)};Kg.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!l(n)||n.loadFail)return ft.FAILED;let i=n.tilesetPrimitive;return l(i)?i.show?(ae.clone(i.boundingSphere,t),ft.DONE):ft.FAILED:ft.PENDING};Kg.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._tileset)?s.set(r.id,r):(bj(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],bj(this,r,a,c),s.remove(r.id)};function bj(e,t,n,i){let o=n[t.id];l(o)&&(l(o.tilesetPrimitive)&&i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}async function yYe(e,t,n,i){t[n.id]={url:e.url,loadFail:!1};try{let o=await Da.fromUrl(e);if(o.id=n,i.add(o),!l(t[n.id]))return;t[n.id].tilesetPrimitive=o}catch(o){console.error(o),t[n.id].loadFail=!0}}var ZB=Kg;var xYe=H.WHITE,bYe=H.BLACK,TYe=new U(2,2);function gA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(gA.prototype,{isConstant:{get:function(){return q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:le("evenColor"),oddColor:le("oddColor"),repeat:le("repeat")});gA.prototype.getType=function(e){return"Checkerboard"};var CYe=new K;gA.prototype.getValue=function(e,t){return l(e)||(e=K.now(CYe)),l(t)||(t={}),t.lightColor=q.getValueOrClonedDefault(this._evenColor,e,xYe,t.lightColor),t.darkColor=q.getValueOrClonedDefault(this._oddColor,e,bYe,t.darkColor),t.repeat=q.getValueOrDefault(this._repeat,e,TYe),t};gA.prototype.equals=function(e){return this===e||e instanceof gA&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._repeat,e._repeat)};var rD=gA;var Xce={id:void 0};function sD(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function ic(e){this._owner=e,this._entities=new St,this._addedEntities=new St,this._removedEntities=new St,this._changedEntities=new St,this._suspendCount=0,this._collectionChanged=new me,this._id=Gn(),this._show=!0,this._firing=!1,this._refire=!1}ic.prototype.suspendEvents=function(){this._suspendCount++};ic.prototype.resumeEvents=function(){this._suspendCount--,sD(this)};Object.defineProperties(ic.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t<o;t++)n.push(i[t].isShowing);for(this._show=e,t=0;t<o;t++){let r=n[t],s=i[t];r!==s.isShowing&&s.definitionChanged.raiseEvent(s,"isShowing",s.isShowing,r)}this.resumeEvents()}},owner:{get:function(){return this._owner}}});ic.prototype.computeAvailability=function(){let e=He.MAXIMUM_VALUE,t=He.MINIMUM_VALUE,n=this._entities.values;for(let i=0,o=n.length;i<o;i++){let s=n[i].availability;if(l(s)){let a=s.start,c=s.stop;K.lessThan(a,e)&&!a.equals(He.MINIMUM_VALUE)&&(e=a),K.greaterThan(c,t)&&!c.equals(He.MAXIMUM_VALUE)&&(t=c)}}return He.MAXIMUM_VALUE.equals(e)&&(e=He.MINIMUM_VALUE),He.MINIMUM_VALUE.equals(t)&&(t=He.MAXIMUM_VALUE),new vn({start:e,stop:t})};ic.prototype.add=function(e){e instanceof sr||(e=new sr(e));let t=e.id,n=this._entities;if(n.contains(t))throw new de(`An entity with id ${t} already exists in this collection.`);return e.entityCollection=this,n.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(ic.prototype._onEntityDefinitionChanged,this),sD(this),e};ic.prototype.remove=function(e){return l(e)?this.removeById(e.id):!1};ic.prototype.contains=function(e){return this._entities.get(e.id)===e};ic.prototype.removeById=function(e){if(!l(e))return!1;let n=this._entities.get(e);return this._entities.remove(e)?(this._addedEntities.remove(e)||(this._removedEntities.set(e,n),this._changedEntities.remove(e)),this._entities.remove(e),n.definitionChanged.removeEventListener(ic.prototype._onEntityDefinitionChanged,this),sD(this),!0):!1};ic.prototype.removeAll=function(){let e=this._entities,t=e.length,n=e.values,i=this._addedEntities,o=this._removedEntities;for(let r=0;r<t;r++){let s=n[r],a=s.id,c=i.get(a);l(c)||(s.definitionChanged.removeEventListener(ic.prototype._onEntityDefinitionChanged,this),o.set(a,s))}e.removeAll(),i.removeAll(),this._changedEntities.removeAll(),sD(this)};ic.prototype.getById=function(e){return this._entities.get(e)};ic.prototype.getOrCreateEntity=function(e){let t=this._entities.get(e);return l(t)||(Xce.id=e,t=new sr(Xce),this.add(t)),t};ic.prototype._onEntityDefinitionChanged=function(e){let t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),sD(this)};var sa=ic;var QB={id:void 0},yA=new Array(2);function Tj(e){let t=e.propertyNames,n=t.length;for(let i=0;i<n;i++)e[t[i]]=void 0;e._name=void 0,e._availability=void 0}function Kce(e,t,n,i){yA[0]=n,yA[1]=i.id,t[JSON.stringify(yA)]=i.definitionChanged.addEventListener(Lr.prototype._onDefinitionChanged,e)}function $ce(e,t,n,i){yA[0]=n,yA[1]=i.id;let o=JSON.stringify(yA);t[o](),t[o]=void 0}function $g(e){if(e._shouldRecomposite=!0,e._suspendCount!==0)return;let t=e._collections,n=t.length,i=e._collectionsCopy,o=i.length,r,s,a,c,u,f=e._composite,d=new sa(e),p=e._eventHash,g;for(r=0;r<o;r++)for(u=i[r],u.collectionChanged.removeEventListener(Lr.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--)s=a[c],$ce(e,p,g,s);for(r=n-1;r>=0;r--)for(u=t[r],u.collectionChanged.addEventListener(Lr.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--){s=a[c],Kce(e,p,g,s);let x=d.getById(s.id);l(x)||(x=f.getById(s.id),l(x)?Tj(x):(QB.id=s.id,x=new sr(QB)),d.add(x)),x.merge(s)}e._collectionsCopy=t.slice(0),f.suspendEvents(),f.removeAll();let m=d.values;for(r=0;r<m.length;r++)f.add(m[r]);f.resumeEvents()}function Lr(e,t){this._owner=t,this._composite=new sa(this),this._suspendCount=0,this._collections=l(e)?e.slice():[],this._collectionsCopy=[],this._id=Gn(),this._eventHash={},$g(this),this._shouldRecomposite=!1}Object.defineProperties(Lr.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}});Lr.prototype.addCollection=function(e,t){l(t)?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),$g(this)};Lr.prototype.removeCollection=function(e){let t=this._collections.indexOf(e);return t!==-1?(this._collections.splice(t,1),$g(this),!0):!1};Lr.prototype.removeAllCollections=function(){this._collections.length=0,$g(this)};Lr.prototype.containsCollection=function(e){return this._collections.indexOf(e)!==-1};Lr.prototype.contains=function(e){return this._composite.contains(e)};Lr.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)};Lr.prototype.getCollection=function(e){return this._collections[e]};Lr.prototype.getCollectionsLength=function(){return this._collections.length};function JB(e,t){return e.indexOf(t)}function Zce(e,t,n){let i=e._collections;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,$g(e)}Lr.prototype.raiseCollection=function(e){let t=JB(this._collections,e);Zce(this,t,t+1)};Lr.prototype.lowerCollection=function(e){let t=JB(this._collections,e);Zce(this,t,t-1)};Lr.prototype.raiseCollectionToTop=function(e){let t=JB(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),$g(this))};Lr.prototype.lowerCollectionToBottom=function(e){let t=JB(this._collections,e);t!==0&&(this._collections.splice(t,1),this._collections.splice(0,0,e),$g(this))};Lr.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()};Lr.prototype.resumeEvents=function(){this._suspendCount--,this._shouldRecomposite&&this._suspendCount===0&&($g(this),this._shouldRecomposite=!1),this._composite.resumeEvents()};Lr.prototype.computeAvailability=function(){return this._composite.computeAvailability()};Lr.prototype.getById=function(e){return this._composite.getById(e)};Lr.prototype._onCollectionChanged=function(e,t,n){let i=this._collectionsCopy,o=i.length,r=this._composite;r.suspendEvents();let s,a,c,u,f=n.length,d=this._eventHash,p=e.id;for(s=0;s<f;s++){let m=n[s];$ce(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),Tj(u)),u.merge(c));l(u)||r.removeById(x),u=void 0}let g=t.length;for(s=0;s<g;s++){let m=t[s];Kce(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),l(u)?Tj(u):(QB.id=x,u=new sr(QB),r.add(u))),u.merge(c));u=void 0}r.resumeEvents()};Lr.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),u=c[t],f=!l(u),d=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(l(g)){let m=g[t];if(l(m)){if(d)if(d=!1,l(m.merge)&&l(m.clone))u=m.clone(u);else{u=m;break}u.merge(m)}}}f&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=u};var Qce=Lr;function Cj(){this._removalFunctions=[]}Cj.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};Cj.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t<n;++t)e[t]();e.length=0};var Hr=Cj;function Sj(e,t){return K.compare(e.start,t.start)}function Nr(e){if(this._intervals=[],this._changedEvent=new me,l(e)){let t=e.length;for(let n=0;n<t;n++)this.addInterval(e[n])}}Object.defineProperties(Nr.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){let e=this._intervals;return e.length===0?void 0:e[0].start}},isStartIncluded:{get:function(){let e=this._intervals;return e.length===0?!1:e[0].isStartIncluded}},stop:{get:function(){let e=this._intervals,t=e.length;return t===0?void 0:e[t-1].stop}},isStopIncluded:{get:function(){let e=this._intervals,t=e.length;return t===0?!1:e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return this._intervals.length===0}}});Nr.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof Nr))return!1;let n=this._intervals,i=e._intervals,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;r++)if(!vn.equals(n[r],i[r],t))return!1;return!0};Nr.prototype.get=function(e){return this._intervals[e]};Nr.prototype.removeAll=function(){this._intervals.length>0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};Nr.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};Nr.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};Nr.prototype.contains=function(e){return this.indexOf(e)>=0};var Aj=new vn;Nr.prototype.indexOf=function(e){let t=this._intervals;Aj.start=e,Aj.stop=e;let n=Po(t,Aj,Sj);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-1<t.length&&vn.contains(t[n-1],e)?n-1:~n)};Nr.prototype.findInterval=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.start,n=e.stop,i=e.isStartIncluded,o=e.isStopIncluded,r=this._intervals;for(let s=0,a=r.length;s<a;s++){let c=r[s];if((!l(t)||c.start.equals(t))&&(!l(n)||c.stop.equals(n))&&(!l(i)||c.isStartIncluded===i)&&(!l(o)||c.isStopIncluded===o))return r[s]}};Nr.prototype.addInterval=function(e,t){if(e.isEmpty)return;let n=this._intervals;if(n.length===0||K.greaterThan(e.start,n[n.length-1].stop)){n.push(e),this._changedEvent.raiseEvent(this);return}let i=Po(n,e,Sj);i<0?i=~i:i>0&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i<n.length&&!e.isStartIncluded&&n[i].isStartIncluded&&n[i].start.equals(e.start)&&++i;let o;for(i>0&&(o=K.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((l(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?(K.greaterThan(e.stop,n[i-1].stop)?e=new vn({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new vn({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=K.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new vn({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new vn({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i<n.length&&(o=K.compare(e.stop,n[i].start),o>0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(l(t)?t(n[i].data,e.data):n[i].data===e.data)e=new vn({start:e.start,stop:K.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:K.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new vn({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};Nr.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=Po(t,e,Sj);n<0&&(n=~n);let i=!1;for(n>0&&(K.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(K.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new vn({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new vn({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n<t.length&&!e.isStartIncluded&&t[n].isStartIncluded&&e.start.equals(t[n].start)&&(i=!0,t.splice(n,0,new vn({start:t[n].start,stop:t[n].start,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data})),++n);n<t.length&&K.greaterThan(e.stop,t[n].stop);)i=!0,t.splice(n,1);return n<t.length&&e.stop.equals(t[n].stop)&&(i=!0,!e.isStopIncluded&&t[n].isStopIncluded?n+1<t.length&&t[n+1].start.equals(e.stop)&&t[n].data===t[n+1].data?(t.splice(n,1),t[n]=new vn({start:t[n].start,stop:t[n].stop,isStartIncluded:!0,isStopIncluded:t[n].isStopIncluded,data:t[n].data})):t[n]=new vn({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data}):t.splice(n,1)),n<t.length&&(K.greaterThan(e.stop,t[n].start)||e.stop.equals(t[n].start)&&e.isStopIncluded&&t[n].isStartIncluded)&&(i=!0,t[n]=new vn({start:e.stop,stop:t[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n].isStopIncluded,data:t[n].data})),i&&this._changedEvent.raiseEvent(this),i};Nr.prototype.intersect=function(e,t,n){let i=new Nr,o=0,r=0,s=this._intervals,a=e._intervals;for(;o<s.length&&r<a.length;){let c=s[o],u=a[r];if(K.lessThan(c.stop,u.start))++o;else if(K.lessThan(u.stop,c.start))++r;else{if(l(n)||l(t)&&t(c.data,u.data)||!l(t)&&u.data===c.data){let f=vn.intersect(c,u,new vn,n);f.isEmpty||i.addInterval(f,t)}K.lessThan(c.stop,u.stop)||c.stop.equals(u.stop)&&!c.isStopIncluded&&u.isStopIncluded?++o:++r}}return i};Nr.fromJulianDateArray=function(e,t){l(t)||(t=new Nr);let n=e.julianDates,i=n.length,o=e.dataCallback,r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=y(e.leadingInterval,!1),c=y(e.trailingInterval,!1),u,f=0;a&&(++f,u=new vn({start:He.MINIMUM_VALUE,stop:n[0],isStartIncluded:!0,isStopIncluded:!r}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u));for(let d=0;d<i-1;++d){let p=n[d],g=n[d+1];u=new vn({start:p,stop:g,isStartIncluded:t.length===f?r:!0,isStopIncluded:d===i-2?s:!1}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u),p=g}return c&&(u=new vn({start:n[i-1],stop:He.MAXIMUM_VALUE,isStartIncluded:!s,isStopIncluded:!0}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u)),t};var oc=new O_,aD=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Ej(e,t,n){l(n)||(n=new K),K.toGregorianDate(e,oc);let i=oc.millisecond+t.millisecond,o=oc.second+t.second,r=oc.minute+t.minute,s=oc.hour+t.hour,a=oc.day+t.day,c=oc.month+t.month,u=oc.year+t.year;for(i>=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),aD[2]=ph(u)?29:28;a>aD[c]||c>=13;)a>aD[c]&&(a-=aD[c],++c),c>=13&&(--c,u+=Math.floor(c/12),c=c%12,++c),aD[2]=ph(u)?29:28;return oc.millisecond=i,oc.second=o,oc.minute=r,oc.hour=s,oc.day=a,oc.month=c,oc.year=u,K.fromGregorianDate(oc,n)}var AYe=new K,EYe=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function Jce(e,t){if(!l(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match(EYe);if(!l(n))return!1;if(l(n[1])&&(t.year=Number(n[1].replace(",","."))),l(n[2])&&(t.month=Number(n[2].replace(",","."))),l(n[3])&&(t.day=Number(n[3].replace(",","."))*7),l(n[4])&&(t.day+=Number(n[4].replace(",","."))),l(n[5])&&(t.hour=Number(n[5].replace(",","."))),l(n[6])&&(t.minute=Number(n[6].replace(",","."))),l(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),K.toGregorianDate(K.fromIso8601(e,AYe),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var cD=new O_;Nr.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=[];if(!Jce(n[2],cD))r.push(i,o);else{let s=K.clone(i);for(r.push(s);K.compare(s,o)<0;)s=Ej(s,cD),K.compare(o,s)<=0&&K.clone(o,s),r.push(s)}return Nr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Nr.fromIso8601DateArray=function(e,t){return Nr.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return K.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};Nr.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let u=0;u<c;++u)(Jce(i[u],cD)||u===0)&&(o&&l(a)?s=Ej(a,cD):s=Ej(n,cD),r.push(s),a=s);return Nr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var Gr=Nr;function SYe(e,t,n,i){function o(){n.raiseEvent(e)}let r=[];t.removeAll();let s=i.length;for(let a=0;a<s;a++){let c=i.get(a);l(c.data)&&r.indexOf(c.data)===-1&&t.add(c.data.definitionChanged,o)}}function Nx(){this._eventHelper=new Hr,this._definitionChanged=new me,this._intervals=new Gr,this._intervals.changedEvent.addEventListener(Nx.prototype._intervalsChanged,this)}Object.defineProperties(Nx.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var wYe=new K;Nx.prototype.getValue=function(e,t){l(e)||(e=K.now(wYe));let n=this._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};Nx.prototype.equals=function(e){return this===e||e instanceof Nx&&this._intervals.equals(e._intervals,q.equals)};Nx.prototype._intervalsChanged=function(){SYe(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)};var Vc=Nx;function Zg(){this._definitionChanged=new me,this._composite=new Vc,this._composite.definitionChanged.addEventListener(Zg.prototype._raiseDefinitionChanged,this)}Object.defineProperties(Zg.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});Zg.prototype.getType=function(e){let t=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(t))return t.getType(e)};var vYe=new K;Zg.prototype.getValue=function(e,t){l(e)||(e=K.now(vYe));let n=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};Zg.prototype.equals=function(e){return this===e||e instanceof Zg&&this._composite.equals(e._composite,q.equals)};Zg.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var lD=Zg;function Qg(e){this._referenceFrame=y(e,Bi.FIXED),this._definitionChanged=new me,this._composite=new Vc,this._composite.definitionChanged.addEventListener(Qg.prototype._raiseDefinitionChanged,this)}Object.defineProperties(Qg.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}});var DYe=new K;Qg.prototype.getValue=function(e,t){return l(e)||(e=K.now(DYe)),this.getValueInReferenceFrame(e,Bi.FIXED,t)};Qg.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(i))return i.getValueInReferenceFrame(e,t,n)};Qg.prototype.equals=function(e){return this===e||e instanceof Qg&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,q.equals)};Qg.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Ia=Qg;var IYe={ROUNDED:0,MITERED:1,BEVELED:2},Oi=Object.freeze(IYe);var aa=[new h,new h],PYe=new h,RYe=new h,OYe=new h,MYe=new h,LYe=new h,NYe=new h,FYe=new h,BYe=new h,kYe=new h,xA=new h,e3=new h,uD={},wj=new fe;function VYe(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++){let o=e[i];wj=t.cartesianToCartographic(o,wj),n[i]=wj.height,e[i]=t.scaleToGeodeticSurface(o,o)}return n}function vj(e,t,n,i){let o=e[0],r=e[1],s=h.angleBetween(o,r),a=Math.ceil(s/i),c=new Array(a),u;if(t===n){for(u=0;u<a;u++)c[u]=t;return c.push(n),c}let d=(n-t)/a;for(u=1;u<a;u++){let p=t+u*d;c[u]=p}return c[0]=t,c.push(n),c}var t3=new h,n3=new h;function UYe(e,t,n,i){let o=new Jr(n,i),r=o.projectPointOntoPlane(h.add(n,e,t3),t3),s=o.projectPointOntoPlane(h.add(n,t,n3),n3),a=U.angleBetween(r,s);return s.x*r.y-s.y*r.x>=0?-a:a}var zYe=new h(-1,0,0),Fx=new F,HYe=new F,Dj=new Z,GYe=Z.IDENTITY.clone(),WYe=new h,jYe=new oe,ele=new h;function Kp(e,t,n,i,o,r,s,a){let c=WYe,u=jYe;Fx=Bt.eastNorthUpToFixedFrame(e,o,Fx),c=F.multiplyByPointAsVector(Fx,zYe,c),c=h.normalize(c,c);let f=UYe(c,t,e,o);Dj=Z.fromRotationZ(f,Dj),ele.z=r,Fx=F.multiplyTransformation(Fx,F.fromRotationTranslation(Dj,ele,HYe),Fx);let d=GYe;d[0]=s;for(let p=0;p<a;p++)for(let g=0;g<n.length;g+=3)u=h.fromArray(n,g,u),u=Z.multiplyByVector(d,u,u),u=F.multiplyByPoint(Fx,u,u),i.push(u.x,u.y,u.z);return i}var qYe=new h;function Ij(e,t,n,i,o,r,s){for(let a=0;a<e.length;a+=3){let c=h.fromArray(e,a,qYe);i=Kp(c,t,n,i,o,r[a/3],s,1)}return i}function YYe(e,t){let n=e.length,i=new Array(n*6),o=0,r=t.x+t.width/2,s=t.y+t.height/2,a=e[0];i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s;for(let c=1;c<n;c++){a=e[c];let u=a.x-r,f=a.y-s;i[o++]=u,i[o++]=0,i[o++]=f,i[o++]=u,i[o++]=0,i[o++]=f}return a=e[0],i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s,i}function tle(e,t){let n=e.length,i=new Array(n*3),o=0,r=t.x+t.width/2,s=t.y+t.height/2;for(let a=0;a<n;a++)i[o++]=e[a].x-r,i[o++]=0,i[o++]=e[a].y-s;return i}var nle=new Ne,ile=new h,ole=new Z;function rle(e,t,n,i,o,r,s,a,c,u){let f=h.angleBetween(h.subtract(t,e,xA),h.subtract(n,e,e3)),d=i===Oi.BEVELED?0:Math.ceil(f/P.toRadians(5)),p;o?p=Z.fromQuaternion(Ne.fromAxisAngle(h.negate(e,xA),f/(d+1),nle),ole):p=Z.fromQuaternion(Ne.fromAxisAngle(e,f/(d+1),nle),ole);let g,m;if(t=h.clone(t,ile),d>0){let x=u?2:1;for(let b=0;b<d;b++)t=Z.multiplyByVector(p,t,t),g=h.subtract(t,e,xA),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,e3),s=Kp(m,g,a,s,r,c,1,x)}else g=h.subtract(t,e,xA),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,e3),s=Kp(m,g,a,s,r,c,1,1),n=h.clone(n,ile),g=h.subtract(n,e,xA),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(n,e3),s=Kp(m,g,a,s,r,c,1,1);return s}uD.removeDuplicatesFromShape=function(e){let t=e.length,n=[];for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];U.equals(r,s)||n.push(s)}return n};uD.angleIsGreaterThanPi=function(e,t,n,i){let o=new Jr(n,i),r=o.projectPointOntoPlane(h.add(n,e,t3),t3),s=o.projectPointOntoPlane(h.add(n,t,n3),n3);return s.x*r.y-s.y*r.x>=0};var XYe=new h,KYe=new h;uD.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=VYe(e,r),a=i._granularity,c=i._cornerType,u=o?YYe(t,n):tle(t,n),f=o?tle(t,n):void 0,d=n.height/2,p=n.width/2,g=e.length,m=[],x=o?[]:void 0,b=PYe,T=RYe,C=OYe,A=MYe,S=LYe,w=NYe,D=FYe,O=BYe,R=kYe,M=e[0],L=e[1];A=r.geodeticSurfaceNormal(M,A),b=h.subtract(L,M,b),b=h.normalize(b,b),O=h.cross(A,b,O),O=h.normalize(O,O);let _=s[0],E=s[1];o&&(x=Kp(M,O,f,x,r,_+d,1,1)),R=h.clone(M,R),M=L,T=h.negate(b,T);let v,I;for(let z=1;z<g-1;z++){let V=o?2:1;if(L=e[z+1],M.equals(L)){Tt("Positions are too close and are considered equivalent with rounding error.");continue}b=h.subtract(L,M,b),b=h.normalize(b,b),C=h.add(b,T,C),C=h.normalize(C,C),A=r.geodeticSurfaceNormal(M,A);let G=h.multiplyByScalar(A,h.dot(b,A),XYe);h.subtract(b,G,G),h.normalize(G,G);let k=h.multiplyByScalar(A,h.dot(T,A),KYe);if(h.subtract(T,k,k),h.normalize(k,k),!P.equalsEpsilon(Math.abs(h.dot(G,k)),1,P.EPSILON7)){C=h.cross(C,A,C),C=h.cross(A,C,C),C=h.normalize(C,C);let W=1/Math.max(.25,h.magnitude(h.cross(C,T,xA))),J=uD.angleIsGreaterThanPi(b,T,M,r);J?(S=h.add(M,h.multiplyByScalar(C,W*p,C),S),w=h.add(S,h.multiplyByScalar(O,p,w),w),aa[0]=h.clone(R,aa[0]),aa[1]=h.clone(w,aa[1]),v=vj(aa,_+d,E+d,a),I=Ri.generateArc({positions:aa,granularity:a,ellipsoid:r}),m=Ij(I,O,u,m,r,v,1),O=h.cross(A,b,O),O=h.normalize(O,O),D=h.add(S,h.multiplyByScalar(O,p,D),D),c===Oi.ROUNDED||c===Oi.BEVELED?rle(S,w,D,c,J,r,m,u,E+d,o):(C=h.negate(C,C),m=Kp(M,C,u,m,r,E+d,W,V)),R=h.clone(D,R)):(S=h.add(M,h.multiplyByScalar(C,W*p,C),S),w=h.add(S,h.multiplyByScalar(O,-p,w),w),aa[0]=h.clone(R,aa[0]),aa[1]=h.clone(w,aa[1]),v=vj(aa,_+d,E+d,a),I=Ri.generateArc({positions:aa,granularity:a,ellipsoid:r}),m=Ij(I,O,u,m,r,v,1),O=h.cross(A,b,O),O=h.normalize(O,O),D=h.add(S,h.multiplyByScalar(O,-p,D),D),c===Oi.ROUNDED||c===Oi.BEVELED?rle(S,w,D,c,J,r,m,u,E+d,o):m=Kp(M,C,u,m,r,E+d,W,V),R=h.clone(D,R)),T=h.negate(b,T)}else m=Kp(R,O,u,m,r,_+d,1,1),R=M;_=E,E=s[z+1],M=L}aa[0]=h.clone(R,aa[0]),aa[1]=h.clone(M,aa[1]),v=vj(aa,_+d,E+d,a),I=Ri.generateArc({positions:aa,granularity:a,ellipsoid:r}),m=Ij(I,O,u,m,r,v,1),o&&(x=Kp(M,O,f,x,r,E+d,1,1)),g=m.length;let N=o?g+x.length:g,B=new Float64Array(N);return B.set(m),o&&B.set(x,g),B};var im=uD;var Rj={},bA=new h,ule=new h,$Ye=new h,sle=new h,Uc=[new h,new h],fle=new h,dle=new h,hle=new h,ZYe=new h,QYe=new h,JYe=new h,eXe=new h,tXe=new h,nXe=new h,iXe=new h,ale=new Ne,cle=new Z;function i3(e,t,n,i,o){let r=h.angleBetween(h.subtract(t,e,bA),h.subtract(n,e,ule)),s=i===Oi.BEVELED?1:Math.ceil(r/P.toRadians(5))+1,a=s*3,c=new Array(a);c[a-3]=n.x,c[a-2]=n.y,c[a-1]=n.z;let u;o?u=Z.fromQuaternion(Ne.fromAxisAngle(h.negate(e,bA),r/s,ale),cle):u=Z.fromQuaternion(Ne.fromAxisAngle(e,r/s,ale),cle);let f=0;t=h.clone(t,bA);for(let d=0;d<s;d++)t=Z.multiplyByVector(u,t,t),c[f++]=t.x,c[f++]=t.y,c[f++]=t.z;return c}function oXe(e){let t=fle,n=dle,i=hle,o=e[1];n=h.fromArray(e[1],o.length-3,n),i=h.fromArray(e[0],0,i),t=h.midpoint(n,i,t);let r=i3(t,n,i,Oi.ROUNDED,!1),s=e.length-1,a=e[s-1];o=e[s],n=h.fromArray(a,a.length-3,n),i=h.fromArray(o,0,i),t=h.midpoint(n,i,t);let c=i3(t,n,i,Oi.ROUNDED,!1);return[r,c]}function lle(e,t,n,i){let o=bA;return i?o=h.add(e,t,o):(t=h.negate(t,t),o=h.add(e,t,o)),[o.x,o.y,o.z,n.x,n.y,n.z]}function Pj(e,t,n,i){let o=new Array(e.length),r=new Array(e.length),s=h.multiplyByScalar(t,n,bA),a=h.negate(s,ule),c=0,u=e.length-1;for(let f=0;f<e.length;f+=3){let d=h.fromArray(e,f,$Ye),p=h.add(d,a,sle);o[c++]=p.x,o[c++]=p.y,o[c++]=p.z;let g=h.add(d,s,sle);r[u--]=g.z,r[u--]=g.y,r[u--]=g.x}return i.push(o,r),i}Rj.addAttribute=function(e,t,n,i){let o=t.x,r=t.y,s=t.z;l(n)&&(e[n]=o,e[n+1]=r,e[n+2]=s),l(i)&&(e[i]=s,e[i-1]=r,e[i-2]=o)};var rXe=new h,sXe=new h;Rj.computePositions=function(e){let t=e.granularity,n=e.positions,i=e.ellipsoid,o=e.width/2,r=e.cornerType,s=e.saveAttributes,a=fle,c=dle,u=hle,f=ZYe,d=QYe,p=JYe,g=eXe,m=tXe,x=nXe,b=iXe,T=[],C=s?[]:void 0,A=s?[]:void 0,S=n[0],w=n[1];c=h.normalize(h.subtract(w,S,c),c),a=i.geodeticSurfaceNormal(S,a),f=h.normalize(h.cross(a,c,f),f),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z)),g=h.clone(S,g),S=w,u=h.negate(c,u);let D,O=[],R,M=n.length;for(R=1;R<M-1;R++){a=i.geodeticSurfaceNormal(S,a),w=n[R+1],c=h.normalize(h.subtract(w,S,c),c),d=h.normalize(h.add(c,u,d),d);let _=h.multiplyByScalar(a,h.dot(c,a),rXe);h.subtract(c,_,_),h.normalize(_,_);let E=h.multiplyByScalar(a,h.dot(u,a),sXe);if(h.subtract(u,E,E),h.normalize(E,E),!P.equalsEpsilon(Math.abs(h.dot(_,E)),1,P.EPSILON7)){d=h.cross(d,a,d),d=h.cross(a,d,d),d=h.normalize(d,d);let I=o/Math.max(.25,h.magnitude(h.cross(d,u,bA))),N=im.angleIsGreaterThanPi(c,u,S,i);d=h.multiplyByScalar(d,I,d),N?(m=h.add(S,d,m),b=h.add(m,h.multiplyByScalar(f,o,b),b),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),Uc[0]=h.clone(g,Uc[0]),Uc[1]=h.clone(b,Uc[1]),D=Ri.generateArc({positions:Uc,granularity:t,ellipsoid:i}),T=Pj(D,f,o,T),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z)),p=h.clone(x,p),f=h.normalize(h.cross(a,c,f),f),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),g=h.add(m,h.multiplyByScalar(f,o,g),g),r===Oi.ROUNDED||r===Oi.BEVELED?O.push({leftPositions:i3(m,p,x,r,N)}):O.push({leftPositions:lle(S,h.negate(d,d),x,N)})):(x=h.add(S,d,x),b=h.add(x,h.negate(h.multiplyByScalar(f,o,b),b),b),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),Uc[0]=h.clone(g,Uc[0]),Uc[1]=h.clone(b,Uc[1]),D=Ri.generateArc({positions:Uc,granularity:t,ellipsoid:i}),T=Pj(D,f,o,T),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z)),p=h.clone(m,p),f=h.normalize(h.cross(a,c,f),f),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),g=h.add(x,h.negate(h.multiplyByScalar(f,o,g),g),g),r===Oi.ROUNDED||r===Oi.BEVELED?O.push({rightPositions:i3(x,p,m,r,N)}):O.push({rightPositions:lle(S,d,m,N)})),u=h.negate(c,u)}S=w}a=i.geodeticSurfaceNormal(S,a),Uc[0]=h.clone(g,Uc[0]),Uc[1]=h.clone(S,Uc[1]),D=Ri.generateArc({positions:Uc,granularity:t,ellipsoid:i}),T=Pj(D,f,o,T),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z));let L;return r===Oi.ROUNDED&&(L=oXe(T)),{positions:T,corners:O,lefts:C,normals:A,endPositions:L}};var Vi=Rj;var _le=new h,gle=new h,o3=new h,r3=new h,aXe=new h,yle=new h,Jg=new h,TA=new h;function xle(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function vd(e,t,n,i,o,r){let s=e.normals,a=e.tangents,c=e.bitangents,u=h.normalize(h.cross(n,t,Jg),Jg);r.normal&&Vi.addAttribute(s,t,i,o),r.tangent&&Vi.addAttribute(a,u,i,o),r.bitangent&&Vi.addAttribute(c,n,i,o)}function ble(e,t,n){let i=e.positions,o=e.corners,r=e.endPositions,s=e.lefts,a=e.normals,c=new mn,u,f=0,d=0,p,g=0,m;for(p=0;p<i.length;p+=2)m=i[p].length-3,f+=m,g+=m*2,d+=i[p+1].length-3;for(f+=3,d+=3,p=0;p<o.length;p++){u=o[p];let Q=o[p].leftPositions;l(Q)?(m=Q.length,f+=m,g+=m):(m=o[p].rightPositions.length,d+=m,g+=m)}let x=l(r),b;x&&(b=r[0].length-3,f+=b,d+=b,b/=3,g+=b*6);let T=f+d,C=new Float64Array(T),A=t.normal?new Float32Array(T):void 0,S=t.tangent?new Float32Array(T):void 0,w=t.bitangent?new Float32Array(T):void 0,D={normals:A,tangents:S,bitangents:w},O=0,R=T-1,M,L,_,E,v=_le,I=gle,N,B,z=b/2,V=Be.createTypedArray(T/3,g),G=0;if(x){B=o3,N=r3;let Q=r[0];for(v=h.fromArray(a,0,v),I=h.fromArray(s,0,I),p=0;p<z;p++)B=h.fromArray(Q,(z-1-p)*3,B),N=h.fromArray(Q,(z+p)*3,N),Vi.addAttribute(C,N,O),Vi.addAttribute(C,B,void 0,R),vd(D,v,I,O,R,t),L=O/3,E=L+1,M=(R-2)/3,_=M-1,V[G++]=M,V[G++]=L,V[G++]=_,V[G++]=_,V[G++]=L,V[G++]=E,O+=3,R-=3}let k=0,Y=0,W=i[k++],J=i[k++];C.set(W,O),C.set(J,R-J.length+1),I=h.fromArray(s,Y,I);let j,$;for(m=J.length-3,p=0;p<m;p+=3)j=n.geodeticSurfaceNormal(h.fromArray(W,p,Jg),Jg),$=n.geodeticSurfaceNormal(h.fromArray(J,m-p,TA),TA),v=h.normalize(h.add(j,$,v),v),vd(D,v,I,O,R,t),L=O/3,E=L+1,M=(R-2)/3,_=M-1,V[G++]=M,V[G++]=L,V[G++]=_,V[G++]=_,V[G++]=L,V[G++]=E,O+=3,R-=3;for(j=n.geodeticSurfaceNormal(h.fromArray(W,m,Jg),Jg),$=n.geodeticSurfaceNormal(h.fromArray(J,m,TA),TA),v=h.normalize(h.add(j,$,v),v),Y+=3,p=0;p<o.length;p++){let Q;u=o[p];let he=u.leftPositions,ye=u.rightPositions,re,_e,xe=yle,De=o3,we=r3;if(v=h.fromArray(a,Y,v),l(he)){for(vd(D,v,I,void 0,R,t),R-=3,re=E,_e=_,Q=0;Q<he.length/3;Q++)xe=h.fromArray(he,Q*3,xe),V[G++]=re,V[G++]=_e-Q-1,V[G++]=_e-Q,Vi.addAttribute(C,xe,void 0,R),De=h.fromArray(C,(_e-Q-1)*3,De),we=h.fromArray(C,re*3,we),I=h.normalize(h.subtract(De,we,I),I),vd(D,v,I,void 0,R,t),R-=3;xe=h.fromArray(C,re*3,xe),De=h.subtract(h.fromArray(C,_e*3,De),xe,De),we=h.subtract(h.fromArray(C,(_e-Q)*3,we),xe,we),I=h.normalize(h.add(De,we,I),I),vd(D,v,I,O,void 0,t),O+=3}else{for(vd(D,v,I,O,void 0,t),O+=3,re=_,_e=E,Q=0;Q<ye.length/3;Q++)xe=h.fromArray(ye,Q*3,xe),V[G++]=re,V[G++]=_e+Q,V[G++]=_e+Q+1,Vi.addAttribute(C,xe,O),De=h.fromArray(C,re*3,De),we=h.fromArray(C,(_e+Q)*3,we),I=h.normalize(h.subtract(De,we,I),I),vd(D,v,I,O,void 0,t),O+=3;xe=h.fromArray(C,re*3,xe),De=h.subtract(h.fromArray(C,(_e+Q)*3,De),xe,De),we=h.subtract(h.fromArray(C,_e*3,we),xe,we),I=h.normalize(h.negate(h.add(we,De,I),I),I),vd(D,v,I,void 0,R,t),R-=3}for(W=i[k++],J=i[k++],W.splice(0,3),J.splice(J.length-3,3),C.set(W,O),C.set(J,R-J.length+1),m=J.length-3,Y+=3,I=h.fromArray(s,Y,I),Q=0;Q<J.length;Q+=3)j=n.geodeticSurfaceNormal(h.fromArray(W,Q,Jg),Jg),$=n.geodeticSurfaceNormal(h.fromArray(J,m-Q,TA),TA),v=h.normalize(h.add(j,$,v),v),vd(D,v,I,O,R,t),E=O/3,L=E-1,_=(R-2)/3,M=_+1,V[G++]=M,V[G++]=L,V[G++]=_,V[G++]=_,V[G++]=L,V[G++]=E,O+=3,R-=3;O-=3,R+=3}if(v=h.fromArray(a,a.length-3,v),vd(D,v,I,O,R,t),x){O+=3,R-=3,B=o3,N=r3;let Q=r[1];for(p=0;p<z;p++)B=h.fromArray(Q,(b-p-1)*3,B),N=h.fromArray(Q,p*3,N),Vi.addAttribute(C,B,void 0,R),Vi.addAttribute(C,N,O),vd(D,v,I,O,R,t),E=O/3,L=E-1,_=(R-2)/3,M=_+1,V[G++]=M,V[G++]=L,V[G++]=_,V[G++]=_,V[G++]=L,V[G++]=E,O+=3,R-=3}if(c.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:C}),t.st){let Q=new Float32Array(T/3*2),he,ye,re=0;if(x){f/=3,d/=3;let _e=Math.PI/(b+1);ye=1/(f-b+1),he=1/(d-b+1);let xe,De=b/2;for(p=De+1;p<b+1;p++)xe=P.PI_OVER_TWO+_e*p,Q[re++]=he*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe));for(p=1;p<d-b+1;p++)Q[re++]=p*he,Q[re++]=0;for(p=b;p>De;p--)xe=P.PI_OVER_TWO-p*_e,Q[re++]=1-he*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe));for(p=De;p>0;p--)xe=P.PI_OVER_TWO-_e*p,Q[re++]=1-ye*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe));for(p=f-b;p>0;p--)Q[re++]=p*ye,Q[re++]=1;for(p=1;p<De+1;p++)xe=P.PI_OVER_TWO+_e*p,Q[re++]=ye*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe))}else{for(f/=3,d/=3,ye=1/(f-1),he=1/(d-1),p=0;p<d;p++)Q[re++]=p*he,Q[re++]=0;for(p=f;p>0;p--)Q[re++]=(p-1)*ye,Q[re++]=1}c.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:Q})}return t.normal&&(c.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.normals})),t.tangent&&(c.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.tangents})),t.bitangent&&(c.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.bitangents})),{attributes:c,indices:V}}function cXe(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,u;if(t.normal||t.bitangent||t.tangent){let f=t.normal?new Float32Array(s*6):void 0,d=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=_le,m=gle,x=o3,b=r3,T=aXe,C=yle,A=c;for(u=0;u<s;u+=3){let S=A+c;g=h.fromArray(n,u,g),m=h.fromArray(n,u+s,m),x=h.fromArray(n,(u+3)%s,x),m=h.subtract(m,g,m),x=h.subtract(x,g,x),b=h.normalize(h.cross(m,x,b),b),t.normal&&(Vi.addAttribute(f,b,S),Vi.addAttribute(f,b,S+3),Vi.addAttribute(f,b,A),Vi.addAttribute(f,b,A+3)),(t.tangent||t.bitangent)&&(C=h.fromArray(i,u,C),t.bitangent&&(Vi.addAttribute(p,C,S),Vi.addAttribute(p,C,S+3),Vi.addAttribute(p,C,A),Vi.addAttribute(p,C,A+3)),t.tangent&&(T=h.normalize(h.cross(C,b,T),T),Vi.addAttribute(d,T,S),Vi.addAttribute(d,T,S+3),Vi.addAttribute(d,T,A),Vi.addAttribute(d,T,A+3))),A+=6}if(t.normal){for(f.set(i),u=0;u<s;u+=3)f[u+s]=-i[u],f[u+s+1]=-i[u+1],f[u+s+2]=-i[u+2];e.normal.values=f}else e.normal=void 0;if(t.bitangent?(p.set(o),p.set(o,s),e.bitangent.values=p):e.bitangent=void 0,t.tangent){let S=e.tangent.values;d.set(S),d.set(S,s),e.tangent.values=d}}if(t.st){let f=e.st.values,d=new Float32Array(a*6);d.set(f),d.set(f,a);let p=a*2;for(let g=0;g<2;g++){for(d[p++]=f[0],d[p++]=f[1],u=2;u<a;u+=2){let m=f[u],x=f[u+1];d[p++]=m,d[p++]=x,d[p++]=m,d[p++]=x}d[p++]=f[0],d[p++]=f[1]}e.st.values=d}return e}function Oj(e,t,n){n[t++]=e[0],n[t++]=e[1],n[t++]=e[2];for(let i=3;i<e.length;i+=3){let o=e[i],r=e[i+1],s=e[i+2];n[t++]=o,n[t++]=r,n[t++]=s,n[t++]=o,n[t++]=r,n[t++]=s}return n[t++]=e[0],n[t++]=e[1],n[t++]=e[2],n}function lXe(e,t){let n=new Pe({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),i=e.ellipsoid,o=Vi.computePositions(e),r=ble(o,n,i),s=e.height,a=e.extrudedHeight,c=r.attributes,u=r.indices,f=c.position.values,d=f.length,p=new Float64Array(d*6),g=new Float64Array(d);g.set(f);let m=new Float64Array(d*4);f=si.scaleToGeodeticHeight(f,s,i),m=Oj(f,0,m),g=si.scaleToGeodeticHeight(g,a,i),m=Oj(g,d*2,m),p.set(f),p.set(g,d),p.set(m,d*2),c.position.values=p,c=cXe(c,t);let x,b=d/3;if(e.shadowVolume){let M=c.normal.values;d=M.length;let L=new Float32Array(d*6);for(x=0;x<d;x++)M[x]=-M[x];L.set(M,d),L=Oj(M,d*4,L),c.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:L}),t.normal||(c.normal=void 0)}if(l(e.offsetAttribute)){let M=new Uint8Array(b*6);if(e.offsetAttribute===ln.TOP)M=M.fill(1,0,b).fill(1,b*2,b*4);else{let L=e.offsetAttribute===ln.NONE?0:1;M=M.fill(L)}c.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:M})}let T=u.length,C=b+b,A=Be.createTypedArray(p.length/3,T*2+C*3);A.set(u);let S=T;for(x=0;x<T;x+=3){let M=u[x],L=u[x+1],_=u[x+2];A[S++]=_+b,A[S++]=L+b,A[S++]=M+b}let w,D,O,R;for(x=0;x<C;x+=2)w=x+C,D=w+C,O=w+1,R=D+1,A[S++]=w,A[S++]=D,A[S++]=O,A[S++]=O,A[S++]=D,A[S++]=R;return{attributes:c,indices:A}}var mle=new h,fD=new h,Af=new fe;function ple(e,t,n,i,o,r){let s=h.subtract(t,e,mle);h.normalize(s,s);let a=n.geodeticSurfaceNormal(e,fD),c=h.cross(s,a,mle);h.multiplyByScalar(c,i,c);let u=o.latitude,f=o.longitude,d=r.latitude,p=r.longitude;h.add(e,c,fD),n.cartesianToCartographic(fD,Af);let g=Af.latitude,m=Af.longitude;u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),h.subtract(e,c,fD),n.cartesianToCartographic(fD,Af),g=Af.latitude,m=Af.longitude,u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),o.latitude=u,o.longitude=f,r.latitude=d,r.longitude=p}var Cf=new h,dD=new h,xl=new fe,bl=new fe;function Tle(e,t,n,i,o){e=xle(e,t);let r=xo(e,h.equalsEpsilon),s=r.length;if(s<2||n<=0)return new se;let a=n*.5;xl.latitude=Number.POSITIVE_INFINITY,xl.longitude=Number.POSITIVE_INFINITY,bl.latitude=Number.NEGATIVE_INFINITY,bl.longitude=Number.NEGATIVE_INFINITY;let c,u;if(i===Oi.ROUNDED){let p=r[0];h.subtract(p,r[1],Cf),h.normalize(Cf,Cf),h.multiplyByScalar(Cf,a,Cf),h.add(p,Cf,dD),t.cartesianToCartographic(dD,Af),c=Af.latitude,u=Af.longitude,xl.latitude=Math.min(xl.latitude,c),xl.longitude=Math.min(xl.longitude,u),bl.latitude=Math.max(bl.latitude,c),bl.longitude=Math.max(bl.longitude,u)}for(let p=0;p<s-1;++p)ple(r[p],r[p+1],t,a,xl,bl);let f=r[s-1];h.subtract(f,r[s-2],Cf),h.normalize(Cf,Cf),h.multiplyByScalar(Cf,a,Cf),h.add(f,Cf,dD),ple(f,dD,t,a,xl,bl),i===Oi.ROUNDED&&(t.cartesianToCartographic(dD,Af),c=Af.latitude,u=Af.longitude,xl.latitude=Math.min(xl.latitude,c),xl.longitude=Math.min(xl.longitude,u),bl.latitude=Math.max(bl.latitude,c),bl.longitude=Math.max(bl.longitude,u));let d=l(o)?o:new se;return d.north=bl.latitude,d.south=xl.latitude,d.east=bl.longitude,d.west=xl.longitude,d}function Zp(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Oi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*h.packedLength+ee.packedLength+Pe.packedLength+7}Zp.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var Cle=ee.clone(ee.UNIT_SPHERE),Ale=new Pe,$p={positions:void 0,ellipsoid:Cle,vertexFormat:Ale,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};Zp.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let m=0;m<i;++m,t+=h.packedLength)o[m]=h.unpack(e,t);let r=ee.unpack(e,t,Cle);t+=ee.packedLength;let s=Pe.unpack(e,t,Ale);t+=Pe.packedLength;let a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++]===1,g=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._vertexFormat=Pe.clone(s,n._vertexFormat),n._width=a,n._height=c,n._extrudedHeight=u,n._cornerType=f,n._granularity=d,n._shadowVolume=p,n._offsetAttribute=g===-1?void 0:g,n):($p.positions=o,$p.width=a,$p.height=c,$p.extrudedHeight=u,$p.cornerType=f,$p.granularity=d,$p.shadowVolume=p,$p.offsetAttribute=g===-1?void 0:g,new Zp($p))};Zp.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.positions,i=e.width,o=y(e.ellipsoid,ee.default),r=y(e.cornerType,Oi.ROUNDED);return Tle(n,o,i,r,t)};Zp.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=xle(t,i);let o=xo(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c=e._vertexFormat,u={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0},f;if(a)u.height=r,u.extrudedHeight=s,u.shadowVolume=e._shadowVolume,u.offsetAttribute=e._offsetAttribute,f=lXe(u,c);else{let g=Vi.computePositions(u);if(f=ble(g,c,i),f.attributes.position.values=si.scaleToGeodeticHeight(f.attributes.position.values,r,i),l(e._offsetAttribute)){let m=e._offsetAttribute===ln.NONE?0:1,x=f.attributes.position.values.length,b=new Uint8Array(x/3).fill(m);f.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}}let d=f.attributes,p=ae.fromVertices(d.position.values,void 0,3);return c.position||(f.attributes.position.values=void 0),new dt({attributes:d,indices:f.indices,primitiveType:Fe.TRIANGLES,boundingSphere:p,offsetAttribute:e._offsetAttribute})};Zp.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Zp({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:o,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(Zp.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=Tle(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var CA=Zp;var Ele=new h,Sle=new h,uXe=new h;function fXe(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function wle(e,t){let n=[],i=e.positions,o=e.corners,r=e.endPositions,s=new mn,a,c=0,u=0,f,d=0,p;for(f=0;f<i.length;f+=2)p=i[f].length-3,c+=p,d+=p/3*4,u+=i[f+1].length-3;for(c+=3,u+=3,f=0;f<o.length;f++){a=o[f];let N=o[f].leftPositions;l(N)?(p=N.length,c+=p,d+=p/3*2):(p=o[f].rightPositions.length,u+=p,d+=p/3*2)}let g=l(r),m;g&&(m=r[0].length-3,c+=m,u+=m,m/=3,d+=m*4);let x=c+u,b=new Float64Array(x),T=0,C=x-1,A,S,w,D,O,R,M=m/2,L=Be.createTypedArray(x/3,d+4),_=0;if(L[_++]=T/3,L[_++]=(C-2)/3,g){n.push(T/3),R=Ele,O=Sle;let N=r[0];for(f=0;f<M;f++)R=h.fromArray(N,(M-1-f)*3,R),O=h.fromArray(N,(M+f)*3,O),Vi.addAttribute(b,O,T),Vi.addAttribute(b,R,void 0,C),S=T/3,D=S+1,A=(C-2)/3,w=A-1,L[_++]=A,L[_++]=w,L[_++]=S,L[_++]=D,T+=3,C-=3}let E=0,v=i[E++],I=i[E++];for(b.set(v,T),b.set(I,C-I.length+1),p=I.length-3,n.push(T/3,(C-2)/3),f=0;f<p;f+=3)S=T/3,D=S+1,A=(C-2)/3,w=A-1,L[_++]=A,L[_++]=w,L[_++]=S,L[_++]=D,T+=3,C-=3;for(f=0;f<o.length;f++){let N;a=o[f];let B=a.leftPositions,z=a.rightPositions,V,G=uXe;if(l(B)){for(C-=3,V=w,n.push(D),N=0;N<B.length/3;N++)G=h.fromArray(B,N*3,G),L[_++]=V-N-1,L[_++]=V-N,Vi.addAttribute(b,G,void 0,C),C-=3;n.push(V-Math.floor(B.length/6)),t===Oi.BEVELED&&n.push((C-2)/3+1),T+=3}else{for(T+=3,V=D,n.push(w),N=0;N<z.length/3;N++)G=h.fromArray(z,N*3,G),L[_++]=V+N,L[_++]=V+N+1,Vi.addAttribute(b,G,T),T+=3;n.push(V+Math.floor(z.length/6)),t===Oi.BEVELED&&n.push(T/3-1),C-=3}for(v=i[E++],I=i[E++],v.splice(0,3),I.splice(I.length-3,3),b.set(v,T),b.set(I,C-I.length+1),p=I.length-3,N=0;N<I.length;N+=3)D=T/3,S=D-1,w=(C-2)/3,A=w+1,L[_++]=A,L[_++]=w,L[_++]=S,L[_++]=D,T+=3,C-=3;T-=3,C+=3,n.push(T/3,(C-2)/3)}if(g){T+=3,C-=3,R=Ele,O=Sle;let N=r[1];for(f=0;f<M;f++)R=h.fromArray(N,(m-f-1)*3,R),O=h.fromArray(N,f*3,O),Vi.addAttribute(b,R,void 0,C),Vi.addAttribute(b,O,T),D=T/3,S=D-1,w=(C-2)/3,A=w+1,L[_++]=A,L[_++]=w,L[_++]=S,L[_++]=D,T+=3,C-=3;n.push(T/3)}else n.push(T/3,(C-2)/3);return L[_++]=T/3,L[_++]=(C-2)/3,s.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),{attributes:s,indices:L,wallIndices:n}}function dXe(e){let t=e.ellipsoid,n=Vi.computePositions(e),i=wle(n,e.cornerType),o=i.wallIndices,r=e.height,s=e.extrudedHeight,a=i.attributes,c=i.indices,u=a.position.values,f=u.length,d=new Float64Array(f);d.set(u);let p=new Float64Array(f*2);if(u=si.scaleToGeodeticHeight(u,r,t),d=si.scaleToGeodeticHeight(d,s,t),p.set(u),p.set(d,f),a.position.values=p,f/=3,l(e.offsetAttribute)){let A=new Uint8Array(f*2);if(e.offsetAttribute===ln.TOP)A=A.fill(1,0,f);else{let S=e.offsetAttribute===ln.NONE?0:1;A=A.fill(S)}a.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}let g,m=c.length,x=Be.createTypedArray(p.length/3,(m+o.length)*2);x.set(c);let b=m;for(g=0;g<m;g+=2){let A=c[g],S=c[g+1];x[b++]=A+f,x[b++]=S+f}let T,C;for(g=0;g<o.length;g++)T=o[g],C=T+f,x[b++]=T,x[b++]=C;return{attributes:a,indices:x}}function hD(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Oi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*h.packedLength+ee.packedLength+6}hD.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n]=y(e._offsetAttribute,-1),t};var vle=ee.clone(ee.UNIT_SPHERE),ey={positions:void 0,ellipsoid:vle,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};hD.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let p=0;p<i;++p,t+=h.packedLength)o[p]=h.unpack(e,t);let r=ee.unpack(e,t,vle);t+=ee.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._width=s,n._height=a,n._extrudedHeight=c,n._cornerType=u,n._granularity=f,n._offsetAttribute=d===-1?void 0:d,n):(ey.positions=o,ey.width=s,ey.height=a,ey.extrudedHeight=c,ey.cornerType=u,ey.granularity=f,ey.offsetAttribute=d===-1?void 0:d,new hD(ey))};hD.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=fXe(t,i);let o=xo(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1},u;if(a)c.height=r,c.extrudedHeight=s,c.offsetAttribute=e._offsetAttribute,u=dXe(c);else{let p=Vi.computePositions(c);if(u=wle(p,c.cornerType),u.attributes.position.values=si.scaleToGeodeticHeight(u.attributes.position.values,r,i),l(e._offsetAttribute)){let g=u.attributes.position.values.length,m=e._offsetAttribute===ln.NONE?0:1,x=new Uint8Array(g/3).fill(m);u.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}}let f=u.attributes,d=ae.fromVertices(f.position.values,void 0,3);return new dt({attributes:f,indices:u.indices,primitiveType:Fe.LINES,boundingSphere:d,offsetAttribute:e._offsetAttribute})};var s3=hD;var hXe=new Kn(0);function zc(e){oi.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}l(Object.create)&&(zc.prototype=Object.create(oi.prototype),zc.prototype.constructor=zc);Object.defineProperties(zc.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});zc.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!l(t.height)&&!l(t.extrudedHeight)&&ul.isSupported(this._scene)};zc.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight;return t===0||l(n)&&n!==t};zc.prototype._computeCenter=de.throwInstantiationError;zc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(oi.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(o.zIndex)&&(l(o.height)||l(o.extrudedHeight))&&Tt(Tt.geometryZIndex),this._zIndex=y(o.zIndex,hXe),l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference,s=o.extrudedHeightReference;if(l(r)||l(s)){let a=new Lh(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new oC(this._scene,a,r,s)}};zc.prototype.destroy=function(){l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),oi.prototype.destroy.call(this)};zc.getGeometryHeight=function(e,t){if(!l(e)){t!==Ye.NONE&&Tt(Tt.geometryHeightReference);return}return qu(t)?0:e};zc.getGeometryExtrudedHeight=function(e,t){if(!l(e)){t!==Ye.NONE&&Tt(Tt.geometryExtrudedHeightReference);return}return qu(t)?zc.CLAMP_TO_GROUND:e};zc.CLAMP_TO_GROUND="clamp";zc.computeGeometryOffsetAttribute=function(e,t,n,i){(!l(e)||!l(t))&&(t=Ye.NONE),(!l(n)||!l(i))&&(i=Ye.NONE);let o=0;if(t!==Ye.NONE&&o++,i===Ye.RELATIVE_TO_GROUND&&o++,o===2)return ln.ALL;if(o===1)return ln.TOP};var jn=zc;var Dle=new H,Ile=h.ZERO,Ple=new h,Rle=new se;function mXe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function Dd(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new mXe(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}l(Object.create)&&(Dd.prototype=Object.create(jn.prototype),Dd.prototype.constructor=Dd);Dd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:kn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Dle)),l(o)||(o=H.WHITE),i.color=jt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Ile,Ple))),new wt({id:t,geometry:new CA(this._options),attributes:i})};Dd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Dle),o={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return l(this._options.offsetAttribute)&&(o.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Ile,Ple))),new wt({id:t,geometry:new s3(this._options),attributes:o})};Dd.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.corridor.positions,e);if(!(!l(n)||n.length===0))return h.clone(n[Math.floor(n.length/2)],t)};Dd.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.width)||oi.prototype._isHidden.call(this,e,t)};Dd.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.width)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};Dd.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,He.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,He.MINIMUM_VALUE,Ye.NONE),o=q.getValueOrUndefined(t.extrudedHeight,He.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,He.MINIMUM_VALUE,Ye.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(He.MINIMUM_VALUE,s.positions),s.width=t.width.getValue(He.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,He.MINIMUM_VALUE),s.cornerType=q.getValueOrUndefined(t.cornerType,He.MINIMUM_VALUE),s.offsetAttribute=jn.computeGeometryOffsetAttribute(n,i,o,r),s.height=jn.getGeometryHeight(n,i),o=jn.getGeometryExtrudedHeight(o,r),o===jn.CLAMP_TO_GROUND&&(o=li.getMinimumMaximumHeights(CA.computeRectangle(s,Rle)).minimumTerrainHeight),s.extrudedHeight=o};Dd.DynamicGeometryUpdater=AA;function AA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(AA.prototype=Object.create(ii.prototype),AA.prototype.constructor=AA);AA.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.positions)||!l(i.width)||ii.prototype._isHidden.call(this,e,t,n)};AA.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Ye.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,Ye.NONE);l(s)&&!l(o)&&(o=0),i.positions=q.getValueOrUndefined(t.positions,n),i.width=q.getValueOrUndefined(t.width,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=li.getMinimumMaximumHeights(CA.computeRectangle(i,Rle)).minimumTerrainHeight),i.extrudedHeight=s};var a3=Dd;function c3(){de.throwInstantiationError()}Object.defineProperties(c3.prototype,{name:{get:de.throwInstantiationError},clock:{get:de.throwInstantiationError},entities:{get:de.throwInstantiationError},isLoading:{get:de.throwInstantiationError},changedEvent:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},loadingEvent:{get:de.throwInstantiationError},show:{get:de.throwInstantiationError},clustering:{get:de.throwInstantiationError}});c3.prototype.update=function(e){de.throwInstantiationError()};c3.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var Wr=c3;function om(e,t){this._ellipsoid=e,this._cameraPosition=new h,this._cameraPositionInScaledSpace=new h,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(om.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=h.magnitudeSquared(n)-1;h.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=i}}});var Ole=new h;om.prototype.isPointVisible=function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,Ole);return Lj(n,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};om.prototype.isScaledSpacePointVisible=function(e){return Lj(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var pXe=new h;om.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){let n=this._ellipsoid,i,o;return l(t)&&t<0&&n.minimumRadius>-t?(o=pXe,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),Lj(e,o,i)};om.prototype.computeHorizonCullingPoint=function(e,t,n){return Nle(this._ellipsoid,e,t,n)};var Mle=ee.clone(ee.UNIT_SPHERE);om.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=Lle(this._ellipsoid,n,Mle);return Nle(o,e,t,i)};om.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return Fle(this._ellipsoid,e,t,n,i,o)};om.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=Lle(this._ellipsoid,o,Mle);return Fle(s,e,t,n,i,r)};var _Xe=[];om.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=se.subsample(e,t,0,_Xe),o=ae.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var gXe=new h;function Lle(e,t,n){if(l(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,gXe);e=ee.fromCartesian3(i,n)}return e}function Nle(e,t,n,i){l(i)||(i=new h);let o=Vle(e,t),r=0;for(let s=0,a=n.length;s<a;++s){let c=n[s],u=Ble(e,c,o);if(u<0)return;r=Math.max(r,u)}return kle(o,r,i)}var l3=new h;function Fle(e,t,n,i,o,r){l(r)||(r=new h),i=y(i,3),o=y(o,h.ZERO);let s=Vle(e,t),a=0;for(let c=0,u=n.length;c<u;c+=i){l3.x=n[c]+o.x,l3.y=n[c+1]+o.y,l3.z=n[c+2]+o.z;let f=Ble(e,l3,s);if(f<0)return;a=Math.max(a,f)}return kle(s,a,r)}function Lj(e,t,n){let i=t,o=n,r=h.subtract(e,i,Ole),s=-h.dot(r,i);return!(o<0?s>0:s>o&&s*s/h.magnitudeSquared(r)>o)}var yXe=new h,xXe=new h;function Ble(e,t,n){let i=e.transformPositionToScaledSpace(t,yXe),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,xXe);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),u=1/r,f=Math.sqrt(o-1)*u;return 1/(a*u-c*f)}function kle(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var Mj=new h;function Vle(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,Mj),h.normalize(Mj,Mj))}var ty=om;function yr(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;l(n)&&(n=Vt.clone(n)),l(i)&&(i=Vt.clone(i)),l(o)&&(o=Ot.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=H.clone(y(e.color,H.WHITE)),this._outlineColor=H.clone(y(e.outlineColor,H.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1,this._splitDirection=y(e.splitDirection,kr.NONE)}var Ule=yr.SHOW_INDEX=0,Gle=yr.POSITION_INDEX=1,bXe=yr.COLOR_INDEX=2,TXe=yr.OUTLINE_COLOR_INDEX=3,CXe=yr.OUTLINE_WIDTH_INDEX=4,AXe=yr.PIXEL_SIZE_INDEX=5,EXe=yr.SCALE_BY_DISTANCE_INDEX=6,SXe=yr.TRANSLUCENCY_BY_DISTANCE_INDEX=7,wXe=yr.DISTANCE_DISPLAY_CONDITION_INDEX=8,vXe=yr.DISABLE_DEPTH_DISTANCE_INDEX=9,DXe=yr.SPLIT_DIRECTION_INDEX=10;yr.NUMBER_OF_PROPERTIES=11;function cu(e,t){let n=e._pointPrimitiveCollection;l(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(yr.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,cu(this,Ule))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),cu(this,Gle))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;Vt.equals(t,e)||(this._scaleByDistance=Vt.clone(e,t),cu(this,EXe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;Vt.equals(t,e)||(this._translucencyByDistance=Vt.clone(e,t),cu(this,SXe))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,cu(this,AXe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),cu(this,bXe))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;H.equals(t,e)||(H.clone(e,t),cu(this,TXe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,cu(this,CXe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Ot.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=Ot.clone(e,this._distanceDisplayCondition),cu(this,wXe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,cu(this,vXe))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,cu(this,Ule))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,cu(this,DXe))}}});yr.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};yr.prototype._getActualPosition=function(){return this._actualPosition};yr.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),cu(this,Gle)};var zle=new oe;yr._computeActualPosition=function(e,t,n){return t.mode===ne.SCENE3D?e:(F.multiplyByPoint(n,e,zle),ki.computeActualEllipsoidPosition(t,zle))};var Hle=new oe;yr._computeScreenSpacePosition=function(e,t,n,i){let o=F.multiplyByVector(e,oe.fromElements(t.x,t.y,t.z,1,Hle),Hle);return ki.worldToWindowCoordinates(n,o,i)};yr.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;l(t)||(t=new U);let i=n.modelMatrix,o=yr._computeScreenSpacePosition(i,this._actualPosition,e,t);if(l(o))return o.y=e.canvas.clientHeight-o.y,o};yr.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return l(n)||(n=new qe),n.x=r,n.y=s,n.width=a,n.height=c,n};yr.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&H.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&H.equals(this._outlineColor,e._outlineColor)&&Vt.equals(this._scaleByDistance,e._scaleByDistance)&&Vt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Ot.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};yr.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var zs=yr;var Bx=`in vec4 v_color; -in vec4 v_outlineColor; -in float v_innerPercent; -in float v_pixelDistance; -in vec4 v_pickColor; -in float v_splitDirection; + temp = compressedAttribute0.z * SHIFT_RIGHT8; + translate.x = floor(temp) - UPPER_BOUND; -void main() -{ - if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; + translate.y += (temp - floor(temp)) * SHIFT_LEFT8; + translate.y -= UPPER_BOUND; - // The distance in UV space from this fragment to the center of the point, at most 0.5. - float distanceToCenter = length(gl_PointCoord - vec2(0.5)); - // The max distance stops one pixel shy of the edge to leave space for anti-aliasing. - float maxDistance = max(0.0, 0.5 - v_pixelDistance); - float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter); - float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter); + temp = compressedAttribute1.x * SHIFT_RIGHT8; + float temp2 = floor(compressedAttribute2.w * SHIFT_RIGHT2); - vec4 color = mix(v_outlineColor, v_color, innerAlpha); - color.a *= wholeAlpha; + vec2 imageSize = vec2(floor(temp), temp2); -// Fully transparent parts of the billboard are not pickable. -#if !defined(OPAQUE) && !defined(TRANSLUCENT) - if (color.a < 0.005) // matches 0/255 and 1/255 - { - discard; - } -#else -// The billboard is rendered twice. The opaque pass discards translucent fragments -// and the translucent pass discards opaque fragments. -#ifdef OPAQUE - if (color.a < 0.995) // matches < 254/255 - { - discard; - } -#else - if (color.a >= 0.995) // matches 254/255 and 255/255 +#ifdef FRAGMENT_DEPTH_CHECK + float labelHorizontalOrigin = floor(compressedAttribute2.w - (temp2 * SHIFT_LEFT2)); + float applyTranslate = 0.0; + if (labelHorizontalOrigin != 0.0) // is a billboard, so set apply translate to false { - discard; + applyTranslate = 1.0; + labelHorizontalOrigin -= 2.0; + depthOrigin.x = labelHorizontalOrigin + 1.0; } -#endif -#endif - out_FragColor = czm_gammaCorrect(color); - czm_writeLogDepth(); -} -`;var u3=`uniform float u_maxTotalPointSize; - -in vec4 positionHighAndSize; -in vec4 positionLowAndOutline; -in vec4 compressedAttribute0; // color, outlineColor, pick color -in vec4 compressedAttribute1; // show, translucency by distance, some free space -in vec4 scaleByDistance; // near, nearScale, far, farScale -in vec4 distanceDisplayConditionAndDisableDepthAndSplitDirection; // near, far, disableDepthTestDistance, splitDirection - -out vec4 v_color; -out vec4 v_outlineColor; -out float v_innerPercent; -out float v_pixelDistance; -out vec4 v_pickColor; -out float v_splitDirection; - -const float SHIFT_LEFT8 = 256.0; -const float SHIFT_RIGHT8 = 1.0 / 256.0; - -void main() -{ - // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition - - // unpack attributes - vec3 positionHigh = positionHighAndSize.xyz; - vec3 positionLow = positionLowAndOutline.xyz; - float outlineWidthBothSides = 2.0 * positionLowAndOutline.w; - float totalSize = positionHighAndSize.w + outlineWidthBothSides; - float outlinePercent = outlineWidthBothSides / totalSize; - // Scale in response to browser-zoom. - totalSize *= czm_pixelRatio; - - float temp = compressedAttribute1.x * SHIFT_RIGHT8; - float show = floor(temp); + depthOrigin = vec2(1.0) - (depthOrigin * 0.5); +#endif #ifdef EYE_DISTANCE_TRANSLUCENCY vec4 translucencyByDistance; @@ -9183,45 +8944,48 @@ void main() translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; #endif - /////////////////////////////////////////////////////////////////////////// +#if defined(VERTEX_DEPTH_CHECK) || defined(FRAGMENT_DEPTH_CHECK) + temp = compressedAttribute3.w; + temp = temp * SHIFT_RIGHT12; - vec4 color; - vec4 outlineColor; - vec4 pickColor; + vec2 dimensions; + dimensions.y = (temp - floor(temp)) * SHIFT_LEFT12; + dimensions.x = floor(temp); +#endif - // compressedAttribute0.z => pickColor.rgb +#ifdef ALIGNED_AXIS + vec3 alignedAxis = czm_octDecode(floor(compressedAttribute1.y * SHIFT_RIGHT8)); + temp = compressedAttribute2.z * SHIFT_RIGHT5; + bool validAlignedAxis = (temp - floor(temp)) * SHIFT_LEFT1 > 0.0; +#else + vec3 alignedAxis = vec3(0.0); + bool validAlignedAxis = false; +#endif - temp = compressedAttribute0.z * SHIFT_RIGHT8; + vec4 pickColor; + vec4 color; + + temp = compressedAttribute2.y; + temp = temp * SHIFT_RIGHT8; pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; pickColor.r = floor(temp); - // compressedAttribute0.x => color.rgb - - temp = compressedAttribute0.x * SHIFT_RIGHT8; + temp = compressedAttribute2.x; + temp = temp * SHIFT_RIGHT8; color.b = (temp - floor(temp)) * SHIFT_LEFT8; temp = floor(temp) * SHIFT_RIGHT8; color.g = (temp - floor(temp)) * SHIFT_LEFT8; color.r = floor(temp); - // compressedAttribute0.y => outlineColor.rgb - - temp = compressedAttribute0.y * SHIFT_RIGHT8; - outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = compressedAttribute2.z * SHIFT_RIGHT8; + bool sizeInMeters = floor((temp - floor(temp)) * SHIFT_LEFT7) > 0.0; temp = floor(temp) * SHIFT_RIGHT8; - outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor.r = floor(temp); - - // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a - temp = compressedAttribute0.w * SHIFT_RIGHT8; pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; - pickColor = pickColor / 255.0; + pickColor /= 255.0; - temp = floor(temp) * SHIFT_RIGHT8; - outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8; - outlineColor /= 255.0; color.a = floor(temp); color /= 255.0; @@ -9230,9 +8994,16 @@ void main() vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); vec4 positionEC = czm_modelViewRelativeToEye * p; +#if defined(FRAGMENT_DEPTH_CHECK) || defined(VERTEX_DEPTH_CHECK) + float eyeDepth = positionEC.z; +#endif + + positionEC = czm_eyeOffset(positionEC, eyeOffset.xyz); + positionEC.xyz *= show; + /////////////////////////////////////////////////////////////////////////// -#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) +#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(EYE_DISTANCE_PIXEL_OFFSET) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) float lengthSq; if (czm_sceneMode == czm_sceneMode2D) { @@ -9247,47 +9018,82 @@ void main() #endif #ifdef EYE_DISTANCE_SCALING - totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq); -#endif - if (totalSize > 0.0) { - // Add padding for anti-aliasing on both sides. - totalSize += 3.0; - } - - // Clamp to max point size. - totalSize = min(totalSize, u_maxTotalPointSize); - // If size is too small, push vertex behind near plane for clipping. - // Note that context.minimumAliasedPointSize "will be at most 1.0". - if (totalSize < 1.0) + float distanceScale = czm_nearFarScalar(scaleByDistance, lengthSq); + scale *= distanceScale; + translate *= distanceScale; + // push vertex behind near plane for clipping + if (scale == 0.0) { positionEC.xyz = vec3(0.0); - totalSize = 1.0; } +#endif float translucency = 1.0; #ifdef EYE_DISTANCE_TRANSLUCENCY translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); // push vertex behind near plane for clipping - if (translucency < 0.004) + if (translucency == 0.0) { positionEC.xyz = vec3(0.0); } #endif +#ifdef EYE_DISTANCE_PIXEL_OFFSET + float pixelOffsetScale = czm_nearFarScalar(pixelOffsetScaleByDistance, lengthSq); + pixelOffset *= pixelOffsetScale; +#endif + #ifdef DISTANCE_DISPLAY_CONDITION - float nearSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.x; - float farSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.y; - if (lengthSq < nearSq || lengthSq > farSq) { - // push vertex behind camera to force it to be clipped - positionEC.xyz = vec3(0.0, 0.0, 1.0); + float nearSq = compressedAttribute3.x; + float farSq = compressedAttribute3.y; + if (lengthSq < nearSq || lengthSq > farSq) + { + positionEC.xyz = vec3(0.0); + } +#endif + + mat2 rotationMatrix; + float mpp; + +#ifdef DISABLE_DEPTH_DISTANCE + float disableDepthTestDistance = compressedAttribute3.z; +#endif + +#ifdef VERTEX_DEPTH_CHECK +if (lengthSq < disableDepthTestDistance) { + float depthsilon = 10.0; + + vec2 labelTranslate = textureCoordinateBoundsOrLabelTranslate.xy; + vec4 pEC1 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth1 = getGlobeDepth(pEC1); + + if (globeDepth1 != 0.0 && pEC1.z + depthsilon < globeDepth1) + { + vec4 pEC2 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(0.0, 1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth2 = getGlobeDepth(pEC2); + + if (globeDepth2 != 0.0 && pEC2.z + depthsilon < globeDepth2) + { + vec4 pEC3 = addScreenSpaceOffset(positionEC, dimensions, scale, vec2(1.0), origin, labelTranslate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); + float globeDepth3 = getGlobeDepth(pEC3); + if (globeDepth3 != 0.0 && pEC3.z + depthsilon < globeDepth3) + { + positionEC.xyz = vec3(0.0); + } + } } +} #endif + positionEC = addScreenSpaceOffset(positionEC, imageSize, scale, direction, origin, translate, pixelOffset, alignedAxis, validAlignedAxis, rotation, sizeInMeters, rotationMatrix, mpp); gl_Position = czm_projection * positionEC; + v_textureCoordinates = textureCoordinates; + +#ifdef LOG_DEPTH czm_vertexLogDepth(); +#endif #ifdef DISABLE_DEPTH_DISTANCE - float disableDepthTestDistance = distanceDisplayConditionAndDisableDepthAndSplitDirection.z; if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) { disableDepthTestDistance = czm_minimumDisableDepthTestDistance; @@ -9303,5889 +9109,1675 @@ void main() // Position z on the near plane. gl_Position.z = -gl_Position.w; #ifdef LOG_DEPTH - czm_vertexLogDepth(vec4(czm_currentFrustum.x)); + v_depthFromNearPlusOne = 1.0; #endif } } #endif - v_color = color; - v_color.a *= translucency * show; - v_outlineColor = outlineColor; - v_outlineColor.a *= translucency * show; - - v_innerPercent = 1.0 - outlinePercent; - v_pixelDistance = 2.0 / totalSize; - gl_PointSize = totalSize * show; - gl_Position *= show; - - v_pickColor = pickColor; - v_splitDirection = distanceDisplayConditionAndDisableDepthAndSplitDirection.w; -} -`;var IXe=zs.SHOW_INDEX,Bj=zs.POSITION_INDEX,Wle=zs.COLOR_INDEX,PXe=zs.OUTLINE_COLOR_INDEX,RXe=zs.OUTLINE_WIDTH_INDEX,OXe=zs.PIXEL_SIZE_INDEX,jle=zs.SCALE_BY_DISTANCE_INDEX,qle=zs.TRANSLUCENCY_BY_DISTANCE_INDEX,Yle=zs.DISTANCE_DISPLAY_CONDITION_INDEX,MXe=zs.DISABLE_DEPTH_DISTANCE_INDEX,LXe=zs.SPLIT_DIRECTION_INDEX,kj=zs.NUMBER_OF_PROPERTIES,rc={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepthAndSplitDirection:5};function Ef(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(kj),this._maxPixelSize=1,this._baseVolume=new ae,this._baseVolumeWC=new ae,this._baseVolume2D=new ae,this._boundingVolume=new ae,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,wo.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW,Ve.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(Ef.prototype,{length:{get:function(){return Vj(this),this._pointPrimitives.length}}});function Xle(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Ef.prototype.add=function(e){let t=new zs(e,this);return t._index=this._pointPrimitives.length,this._pointPrimitives.push(t),this._createVertexArray=!0,t};Ef.prototype.remove=function(e){return this.contains(e)?(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Ef.prototype.removeAll=function(){Xle(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0};function Vj(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;let t=[],n=e._pointPrimitives,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._pointPrimitives=t}}Ef.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]};Ef.prototype.contains=function(e){return l(e)&&e._pointPrimitiveCollection===this};Ef.prototype.get=function(e){return Vj(this),this._pointPrimitives[e]};Ef.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<kj;++i){let o=n[i]===0?Ve.STATIC_DRAW:Ve.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function NXe(e,t,n){return new G_(e,[{index:rc.positionHighAndSize,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Bj]},{index:rc.positionLowAndShow,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Bj]},{index:rc.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Wle]},{index:rc.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[qle]},{index:rc.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[jle]},{index:rc.distanceDisplayConditionAndDisableDepthAndSplitDirection,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Yle]}],t)}var Nj=new Wn;function Kle(e,t,n,i){let o=i._index,r=i._getActualPosition();e._mode===ne.SCENE3D&&(ae.expand(e._baseVolume,r,e._baseVolume),e._boundingVolumeDirty=!0),Wn.fromCartesian(r,Nj);let s=i.pixelSize,a=i.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,s+a);let c=n[rc.positionHighAndSize],u=Nj.high;c(o,u.x,u.y,u.z,s);let f=n[rc.positionLowAndOutline],d=Nj.low;f(o,d.x,d.y,d.z,a)}var f3=65536,mD=256;function $le(e,t,n,i){let o=i._index,r=i.color,s=i.getPickId(t).color,a=i.outlineColor,c=H.floatToByte(r.red),u=H.floatToByte(r.green),f=H.floatToByte(r.blue),d=c*f3+u*mD+f;c=H.floatToByte(a.red),u=H.floatToByte(a.green),f=H.floatToByte(a.blue);let p=c*f3+u*mD+f;c=H.floatToByte(s.red),u=H.floatToByte(s.green),f=H.floatToByte(s.blue);let g=c*f3+u*mD+f,m=H.floatToByte(r.alpha)*f3+H.floatToByte(a.alpha)*mD+H.floatToByte(s.alpha),x=n[rc.compressedAttribute0];x(o,d,p,g,m)}function Zle(e,t,n,i){let o=i._index,r=0,s=1,a=1,c=1,u=i.translucencyByDistance;l(u)&&(r=u.near,s=u.nearValue,a=u.far,c=u.farValue,(s!==1||c!==1)&&(e._shaderTranslucencyByDistance=!0));let f=i.show&&i.clusterShow;i.color.alpha===0&&i.outlineColor.alpha===0&&(f=!1),s=P.clamp(s,0,1),s=s===1?255:s*255|0;let d=(f?1:0)*mD+s;c=P.clamp(c,0,1),c=c===1?255:c*255|0;let p=c,g=n[rc.compressedAttribute1];g(o,d,p,r,a)}function Qle(e,t,n,i){let o=i._index,r=n[rc.scaleByDistance],s=0,a=1,c=1,u=1,f=i.scaleByDistance;l(f)&&(s=f.near,a=f.nearValue,c=f.far,u=f.farValue,(a!==1||u!==1)&&(e._shaderScaleByDistance=!0)),r(o,s,a,c,u)}function Jle(e,t,n,i){let o=i._index,r=n[rc.distanceDisplayConditionAndDisableDepthAndSplitDirection],s=0,a=Number.MAX_VALUE,c=i.distanceDisplayCondition;l(c)&&(s=c.near,a=c.far,s*=s,a*=a,e._shaderDistanceDisplayCondition=!0);let u=i.disableDepthTestDistance;u*=u,u>0&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1));let f=0,d=i.splitDirection;l(d)&&(f=d),r(o,s,a,u,f)}function FXe(e,t,n,i){Kle(e,t,n,i),$le(e,t,n,i),Zle(e,t,n,i),Qle(e,t,n,i),Jle(e,t,n,i)}function Fj(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=zs._computeActualPosition(f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ae.expand(s,d,s))}r&&ae.fromPoints(a,s)}function BXe(e,t){let n=t.mode,i=e._pointPrimitives,o=e._pointPrimitivesToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&Fj(e,i,i.length,t,r,!0)):n===ne.MORPHING?Fj(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&Fj(e,o,e._pointPrimitivesToUpdateIndex,t,r,!1)}function kXe(e,t,n){let o=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*e._maxPixelSize;n.radius+=o}var VXe=[];Ef.prototype.update=function(e){if(Vj(this),!this.show)return;this._maxTotalPointSize=Ut.maximumAliasedPointSize,BXe(this,e);let n=this._pointPrimitives.length,i=this._pointPrimitivesToUpdate,o=this._pointPrimitivesToUpdateIndex,r=this._propertiesChanged,s=this._createVertexArray,a,c=e.context,u=e.passes,f=u.pick;if(s||!f&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let w=0;w<kj;++w)r[w]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=NXe(c,n,this._buffersUsage),a=this._vaf.writers;for(let w=0;w<n;++w){let D=this._pointPrimitives[w];D._dirty=!1,FXe(this,c,a,D)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(o>0){let w=VXe;w.length=0,(r[Bj]||r[RXe]||r[OXe])&&w.push(Kle),(r[Wle]||r[PXe])&&w.push($le),(r[IXe]||r[qle])&&w.push(Zle),r[jle]&&w.push(Qle),(r[Yle]||r[MXe]||r[LXe])&&w.push(Jle);let D=w.length;if(a=this._vaf.writers,o/n>.1){for(let O=0;O<o;++O){let R=i[O];R._dirty=!1;for(let M=0;M<D;++M)w[M](this,c,a,R)}this._vaf.commit()}else{for(let O=0;O<o;++O){let R=i[O];R._dirty=!1;for(let M=0;M<D;++M)w[M](this,c,a,R);this._vaf.subCommit(R._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(o>n*1.5&&(i.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ae.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let d,p=F.IDENTITY;e.mode===ne.SCENE3D?(p=this.modelMatrix,d=ae.clone(this._baseVolumeWC,this._boundingVolume)):d=ae.clone(this._baseVolume2D,this._boundingVolume),kXe(this,e,d);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===wo.OPAQUE||this._blendOption===wo.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=ze.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===wo.TRANSLUCENT||this._blendOption===wo.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=ze.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!1,blending:fn.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let m,x;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(m=new Ge({sources:[u3]}),this._shaderScaleByDistance&&m.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&m.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&m.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&m.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===wo.OPAQUE_AND_TRANSLUCENT&&(x=new Ge({defines:["OPAQUE"],sources:[Bx]}),this._sp=sn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:rc}),x=new Ge({defines:["TRANSLUCENT"],sources:[Bx]}),this._spTranslucent=sn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:rc})),this._blendOption===wo.OPAQUE&&(x=new Ge({sources:[Bx]}),this._sp=sn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:rc})),this._blendOption===wo.TRANSLUCENT&&(x=new Ge({sources:[Bx]}),this._spTranslucent=sn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:rc})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let b,T,C,A,S=e.commandList;if(u.render||f){let w=this._colorCommands,D=this._blendOption===wo.OPAQUE,O=this._blendOption===wo.OPAQUE_AND_TRANSLUCENT;b=this._vaf.va,T=b.length,w.length=T;let R=O?T*2:T;for(A=0;A<R;++A){let M=D||O&&A%2===0;C=w[A],l(C)||(C=w[A]=new et),C.primitiveType=Fe.POINTS,C.pass=M||!O?Se.OPAQUE:Se.TRANSLUCENT,C.owner=this;let L=O?Math.floor(A/2):A;C.boundingVolume=d,C.modelMatrix=p,C.shaderProgram=M?this._sp:this._spTranslucent,C.uniformMap=this._uniforms,C.vertexArray=b[L].va,C.renderState=M?this._rsOpaque:this._rsTranslucent,C.debugShowBoundingVolume=this.debugShowBoundingVolume,C.pickId="v_pickColor",S.push(C)}}};Ef.prototype.isDestroyed=function(){return!1};Ef.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),Xle(this._pointPrimitives),ue(this)};var pD=Ef;function Id(e){e=y(e,y.EMPTY_OBJECT),this._enabled=y(e.enabled,!1),this._pixelRange=y(e.pixelRange,80),this._minimumClusterSize=y(e.minimumClusterSize,2),this._clusterBillboards=y(e.clusterBillboards,!0),this._clusterLabels=y(e.clusterLabels,!0),this._clusterPoints=y(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new me,this.show=y(e.show,!0)}function eue(e,t){e.x-=t,e.y-=t,e.width+=t*2,e.height+=t*2}var UXe=new qe;function tue(e,t,n,i,o){if(l(e._labelCollection)&&i._clusterLabels?o=wx.getScreenSpaceBoundingBox(e,t,o):l(e._billboardCollection)&&i._clusterBillboards?o=uo.getScreenSpaceBoundingBox(e,t,o):l(e._pointPrimitiveCollection)&&i._clusterPoints&&(o=zs.getScreenSpaceBoundingBox(e,t,o)),eue(o,n),i._clusterLabels&&!l(e._labelCollection)&&l(e.id)&&iue(i,e.id.id)&&l(e.id._label)){let r=i._collectionIndicesByEntity[e.id.id].labelIndex,s=i._labelCollection.get(r),a=wx.getScreenSpaceBoundingBox(s,t,UXe);eue(a,n),o=qe.union(o,a,o)}return o}function zXe(e,t){if(e.clusterShow=!0,!l(e._labelCollection)&&l(e.id)&&iue(t,e.id.id)&&l(e.id._label)){let n=t._collectionIndicesByEntity[e.id.id].labelIndex,i=t._labelCollection.get(n);i.clusterShow=!0}}function nue(e,t,n,i){let o={billboard:i._clusterBillboardCollection.add(),label:i._clusterLabelCollection.add(),point:i._clusterPointCollection.add()};o.billboard.show=!1,o.point.show=!1,o.label.show=!0,o.label.text=t.toLocaleString(),o.label.id=n,o.billboard.position=o.label.position=o.point.position=e,i._clusterEvent.raiseEvent(n,o)}function iue(e,t){return l(e)&&l(e._collectionIndicesByEntity[t])&&l(e._collectionIndicesByEntity[t].labelIndex)}function Uj(e,t,n,i,o){if(!l(e))return;let r=e.length;for(let s=0;s<r;++s){let a=e.get(s);if(a.clusterShow=!1,!a.show||o._scene.mode===ne.SCENE3D&&!i.isPointVisible(a.position))continue;let c=o._clusterLabels&&l(a._labelCollection),u=o._clusterBillboards&&l(a.id._billboard),f=o._clusterPoints&&l(a.id._point);if(c&&(f||u))continue;let d=a.computeScreenSpacePosition(n);l(d)&&t.push({index:s,collection:e,clustered:!1,coord:d})}}var HXe=new qe,GXe=new qe,WXe=new qe;function jXe(e){return function(t){if(l(t)&&t<.05||!e.enabled)return;let n=e._scene,i=e._labelCollection,o=e._billboardCollection,r=e._pointCollection;if(!l(i)&&!l(o)&&!l(r)||!e._clusterBillboards&&!e._clusterLabels&&!e._clusterPoints)return;let s=e._clusterLabelCollection,a=e._clusterBillboardCollection,c=e._clusterPointCollection;l(s)?s.removeAll():s=e._clusterLabelCollection=new Fp({scene:n}),l(a)?a.removeAll():a=e._clusterBillboardCollection=new hf({scene:n}),l(c)?c.removeAll():c=e._clusterPointCollection=new pD;let u=e._pixelRange,f=e._minimumClusterSize,d=e._previousClusters,p=[],g=e._previousHeight,m=n.camera.positionCartographic.height,x=n.ellipsoid,b=n.camera.positionWC,T=new ty(x,b),C=[];e._clusterLabels&&Uj(i,C,n,T,e),e._clusterBillboards&&Uj(o,C,n,T,e),e._clusterPoints&&Uj(r,C,n,T,e);let A,S,w,D,O,R,M,L,_,E,v,I;if(C.length>0){let N=new xx(C.length,64,Uint32Array);for(let B=0;B<C.length;++B)N.add(C[B].coord.x,C[B].coord.y);if(N.finish(),m<g)for(w=d.length,A=0;A<w;++A){let B=d[A];if(!T.isPointVisible(B.position))continue;let z=uo._computeScreenSpacePosition(F.IDENTITY,B.position,h.ZERO,U.ZERO,n);if(!l(z))continue;let V=1-m/g,G=B.width=B.width*V,k=B.height=B.height*V;G=Math.max(G,B.minimumWidth),k=Math.max(k,B.minimumHeight);let Y=z.x-G*.5,W=z.y-k*.5,J=z.x+G,j=z.y+k;for(O=N.range(Y,W,J,j),R=O.length,E=0,_=[],S=0;S<R;++S)M=O[S],L=C[M],L.clustered||(++E,v=L.collection,I=L.index,_.push(v.get(I).id));if(E>=f)for(nue(B.position,E,_,e),p.push(B),S=0;S<R;++S)C[O[S]].clustered=!0}for(w=C.length,A=0;A<w;++A){let B=C[A];if(B.clustered)continue;B.clustered=!0,v=B.collection,I=B.index;let z=v.get(I);D=tue(z,B.coord,u,e,HXe);let V=qe.clone(D,GXe);O=N.range(D.x,D.y,D.x+D.width,D.y+D.height),R=O.length;let G=h.clone(z.position);for(E=1,_=[z.id],S=0;S<R;++S)if(M=O[S],L=C[M],!L.clustered){let k=L.collection.get(L.index),Y=tue(k,L.coord,u,e,WXe);h.add(k.position,G,G),qe.union(V,Y,V),++E,_.push(k.id)}if(E>=f){let k=h.multiplyByScalar(G,1/E,G);for(nue(k,E,_,e),p.push({position:k,width:V.width,height:V.height,minimumWidth:D.width,minimumHeight:D.height}),S=0;S<R;++S)C[O[S]].clustered=!0}else zXe(z,e)}}s.length===0&&(s.destroy(),e._clusterLabelCollection=void 0),a.length===0&&(a.destroy(),e._clusterBillboardCollection=void 0),c.length===0&&(c.destroy(),e._clusterPointCollection=void 0),e._previousClusters=p,e._previousHeight=m}}Id.prototype._initialize=function(e){this._scene=e;let t=jXe(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)};Object.defineProperties(Id.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}});function Hj(e,t,n,i){return function(o){let r=this[e];l(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});let s=this._collectionIndicesByEntity[o.id];if(l(s)||(s=this._collectionIndicesByEntity[o.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),l(r)&&l(s[i]))return r.get(s[i]);l(r)||(r=this[e]=new t({scene:this._scene}));let a,c,u=this[n];u.length>0?(a=u.shift(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let f=this;return Promise.resolve().then(function(){f._clusterDirty=!0}),c}}function Gj(e,t){let n=e._collectionIndicesByEntity[t];!l(n.billboardIndex)&&!l(n.labelIndex)&&!l(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}Id.prototype.getLabel=Hj("_labelCollection",Fp,"_unusedLabelIndices","labelIndex");Id.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._labelCollection)||!l(t)||!l(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,Gj(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};Id.prototype.getBillboard=Hj("_billboardCollection",hf,"_unusedBillboardIndices","billboardIndex");Id.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._billboardCollection)||!l(t)||!l(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,Gj(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};Id.prototype.getPoint=Hj("_pointCollection",pD,"_unusedPointIndices","pointIndex");Id.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._pointCollection)||!l(t)||!l(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,Gj(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function zj(e){if(!l(e))return;let t=e.length;for(let n=0;n<t;++n)e.get(n).clusterShow=!0}function qXe(e){e.enabled||(l(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),l(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),l(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,zj(e._labelCollection),zj(e._billboardCollection),zj(e._pointCollection))}Id.prototype.update=function(e){if(!this.show)return;let t;l(this._labelCollection)&&this._labelCollection.length>0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),l(this._billboardCollection)&&this._billboardCollection.length>0&&!l(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,qXe(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),l(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),l(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),l(this._clusterPointCollection)&&this._clusterPointCollection.update(e),l(this._labelCollection)&&this._labelCollection.update(e),l(this._billboardCollection)&&this._billboardCollection.update(e),l(this._pointCollection)&&this._pointCollection.update(e)};Id.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),l(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var Sf=Id;function Wj(e){this._name=e,this._clock=void 0,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new sa(this),this._entityCluster=new Sf}Object.defineProperties(Wj.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Wr.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});Wj.prototype.update=function(e){return!0};var d3=Wj;var oue={};oue.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,u=new Float64Array(c*3),f,d=0,p=0,g=o?a*3:0,m=o?(a+i)*3:i*3;for(f=0;f<i;f++){let x=f/i*P.TWO_PI,b=Math.cos(x),T=Math.sin(x),C=b*n,A=T*n,S=b*t,w=T*t;u[p+g]=C,u[p+g+1]=A,u[p+g+2]=s,u[p+m]=S,u[p+m+1]=w,u[p+m+2]=r,p+=3,o&&(u[d++]=C,u[d++]=A,u[d++]=s,u[d++]=S,u[d++]=w,u[d++]=r)}return u};var EA=oue;var jj=new U,YXe=new h,XXe=new h,KXe=new h,$Xe=new h;function Qp(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e.slices,128);this._length=t,this._topRadius=n,this._bottomRadius=i,this._vertexFormat=Pe.clone(o),this._slices=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}Qp.packedLength=Pe.packedLength+5;Qp.pack=function(e,t,n){return n=y(n,0),Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n]=y(e._offsetAttribute,-1),t};var rue=new Pe,SA={vertexFormat:rue,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};Qp.unpack=function(e,t,n){t=y(t,0);let i=Pe.unpack(e,t,rue);t+=Pe.packedLength;let o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._vertexFormat=Pe.clone(i,n._vertexFormat),n._length=o,n._topRadius=r,n._bottomRadius=s,n._slices=a,n._offsetAttribute=c===-1?void 0:c,n):(SA.length=o,SA.topRadius=r,SA.bottomRadius=s,SA.slices=a,SA.offsetAttribute=c===-1?void 0:c,new Qp(SA))};Qp.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._vertexFormat,r=e._slices;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=r+r,a=r+s,c=s+s,u=EA.computePositions(t,n,i,r,!0),f=o.st?new Float32Array(c*2):void 0,d=o.normal?new Float32Array(c*3):void 0,p=o.tangent?new Float32Array(c*3):void 0,g=o.bitangent?new Float32Array(c*3):void 0,m,x=o.normal||o.tangent||o.bitangent;if(x){let O=o.tangent||o.bitangent,R=0,M=0,L=0,_=Math.atan2(i-n,t),E=YXe;E.z=Math.sin(_);let v=Math.cos(_),I=KXe,N=XXe;for(m=0;m<r;m++){let B=m/r*P.TWO_PI,z=v*Math.cos(B),V=v*Math.sin(B);x&&(E.x=z,E.y=V,O&&(I=h.normalize(h.cross(h.UNIT_Z,E,I),I)),o.normal&&(d[R++]=E.x,d[R++]=E.y,d[R++]=E.z,d[R++]=E.x,d[R++]=E.y,d[R++]=E.z),o.tangent&&(p[M++]=I.x,p[M++]=I.y,p[M++]=I.z,p[M++]=I.x,p[M++]=I.y,p[M++]=I.z),o.bitangent&&(N=h.normalize(h.cross(E,I,N),N),g[L++]=N.x,g[L++]=N.y,g[L++]=N.z,g[L++]=N.x,g[L++]=N.y,g[L++]=N.z))}for(m=0;m<r;m++)o.normal&&(d[R++]=0,d[R++]=0,d[R++]=-1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[L++]=0,g[L++]=-1,g[L++]=0);for(m=0;m<r;m++)o.normal&&(d[R++]=0,d[R++]=0,d[R++]=1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[L++]=0,g[L++]=1,g[L++]=0)}let b=12*r-12,T=Be.createTypedArray(c,b),C=0,A=0;for(m=0;m<r-1;m++)T[C++]=A,T[C++]=A+2,T[C++]=A+3,T[C++]=A,T[C++]=A+3,T[C++]=A+1,A+=2;for(T[C++]=s-2,T[C++]=0,T[C++]=1,T[C++]=s-2,T[C++]=1,T[C++]=s-1,m=1;m<r-1;m++)T[C++]=s+m+1,T[C++]=s+m,T[C++]=s;for(m=1;m<r-1;m++)T[C++]=a,T[C++]=a+m,T[C++]=a+m+1;let S=0;if(o.st){let O=Math.max(n,i);for(m=0;m<c;m++){let R=h.fromArray(u,m*3,$Xe);f[S++]=(R.x+O)/(2*O),f[S++]=(R.y+O)/(2*O)}}let w=new mn;o.position&&(w.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})),o.normal&&(w.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:d})),o.tangent&&(w.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),o.bitangent&&(w.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),o.st&&(w.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),jj.x=t*.5,jj.y=Math.max(i,n);let D=new ae(h.ZERO,U.magnitude(jj));if(l(e._offsetAttribute)){t=u.length;let O=e._offsetAttribute===ln.NONE?0:1,R=new Uint8Array(t/3).fill(O);w.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:R})}return new dt({attributes:w,indices:T,primitiveType:Fe.TRIANGLES,boundingSphere:D,offsetAttribute:e._offsetAttribute})};var qj;Qp.getUnitCylinder=function(){return l(qj)||(qj=Qp.createGeometry(new Qp({topRadius:1,bottomRadius:1,length:1,vertexFormat:Pe.POSITION_ONLY}))),qj};var h3=Qp;var Yj=new U;function wA(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.slices,128),r=Math.max(y(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=n,this._bottomRadius=i,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}wA.packedLength=6;wA.pack=function(e,t,n){return n=y(n,0),t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var kx={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};wA.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._length=i,n._topRadius=o,n._bottomRadius=r,n._slices=s,n._numberOfVerticalLines=a,n._offsetAttribute=c===-1?void 0:c,n):(kx.length=i,kx.topRadius=o,kx.bottomRadius=r,kx.slices=s,kx.numberOfVerticalLines=a,kx.offsetAttribute=c===-1?void 0:c,new wA(kx))};wA.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._slices,r=e._numberOfVerticalLines;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=o*2,a=EA.computePositions(t,n,i,o,!1),c=o*2,u;if(r>0){let x=Math.min(r,o);u=Math.round(o/x),c+=x}let f=Be.createTypedArray(s,c*2),d=0,p;for(p=0;p<o-1;p++)f[d++]=p,f[d++]=p+1,f[d++]=p+o,f[d++]=p+1+o;if(f[d++]=o-1,f[d++]=0,f[d++]=o+o-1,f[d++]=o,r>0)for(p=0;p<o;p+=u)f[d++]=p,f[d++]=p+o;let g=new mn;g.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:a}),Yj.x=t*.5,Yj.y=Math.max(i,n);let m=new ae(h.ZERO,U.magnitude(Yj));if(l(e._offsetAttribute)){t=a.length;let x=e._offsetAttribute===ln.NONE?0:1,b=new Uint8Array(t/3).fill(x);g.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}return new dt({attributes:g,indices:f,primitiveType:Fe.LINES,boundingSphere:m,offsetAttribute:e._offsetAttribute})};var m3=wA;var sue=h.ZERO,aue=new h,ZXe=new h,cue=new H;function QXe(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function lu(e,t){oi.call(this,{entity:e,scene:t,geometryOptions:new QXe(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}l(Object.create)&&(lu.prototype=Object.create(oi.prototype),lu.prototype.constructor=lu);Object.defineProperties(lu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});lu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=kn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,cue)),l(a)||(a=H.WHITE),s.color=jt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,sue,aue))),new wt({id:t,geometry:new h3(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:s})};lu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,cue),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,sue,aue))),new wt({id:t,geometry:new m3(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:r})};lu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};lu.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.length)||!l(t.topRadius)||!l(t.bottomRadius)||oi.prototype._isHidden.call(this,e,t)};lu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.length.isConstant||!t.topRadius.isConstant||!t.bottomRadius.isConstant||!q.isConstant(t.slices)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)};lu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,He.MINIMUM_VALUE,Ye.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,i.length=t.length.getValue(He.MINIMUM_VALUE),i.topRadius=t.topRadius.getValue(He.MINIMUM_VALUE),i.bottomRadius=t.bottomRadius.getValue(He.MINIMUM_VALUE),i.slices=q.getValueOrUndefined(t.slices,He.MINIMUM_VALUE),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,He.MINIMUM_VALUE),i.offsetAttribute=n!==Ye.NONE?ln.ALL:void 0};lu.prototype._onEntityPropertyChanged=eg;lu.DynamicGeometryUpdater=vA;function vA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(vA.prototype=Object.create(ii.prototype),vA.prototype.constructor=vA);vA.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,ZXe);return!l(o)||!l(i.length)||!l(i.topRadius)||!l(i.bottomRadius)||ii.prototype._isHidden.call(this,e,t,n)};vA.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,Ye.NONE),o=this._options;o.length=q.getValueOrUndefined(t.length,n),o.topRadius=q.getValueOrUndefined(t.topRadius,n),o.bottomRadius=q.getValueOrUndefined(t.bottomRadius,n),o.slices=q.getValueOrUndefined(t.slices,n),o.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),o.offsetAttribute=i!==Ye.NONE?ln.ALL:void 0};var p3=lu;var JXe={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2},jr=Object.freeze(JXe);var eKe={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2},_o=Object.freeze(eKe);var tKe={NONE:0,HOLD:1,EXTRAPOLATE:2},wf=Object.freeze(tKe);var lue=Er(Vl(),1);function nKe(e){let t=new lue.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),n}var ny=nKe;var iKe=P.factorial;function Xj(e,t,n,i,o,r){let s=0,a,c,u;if(i>0){for(c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(r.push(c),s+=Xj(e,t,n,i-1,o,r),r.splice(r.length-1,1))}return s}for(s=1,c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(s*=e-n[t[c]])}return s}var _3={type:"Hermite"};_3.getRequiredDataPoints=function(e,t){return t=y(t,0),Math.max(Math.floor((e+1)/(t+1)),2)};_3.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c,u,f,d=t.length,p=new Array(i);for(r=0;r<i;r++){o[r]=0;let b=new Array(d);for(p[r]=b,s=0;s<d;s++)b[s]=[]}let g=d,m=new Array(g);for(r=0;r<g;r++)m[r]=r;let x=d-1;for(c=0;c<i;c++){for(s=0;s<g;s++)f=m[s]*i+c,p[c][0].push(n[f]);for(r=1;r<g;r++){let b=!1;for(s=0;s<g-r;s++){let T=t[m[s]],C=t[m[s+r]],A;C-T<=0?(f=m[s]*i+i*r+c,A=n[f],p[c][r].push(A/iKe(r))):(A=p[c][r-1][s+1]-p[c][r-1][s],p[c][r].push(A/(C-T))),b=b||A!==0}b||(x=r-1)}}for(a=0,u=0;a<=u;a++)for(r=a;r<=x;r++){let b=Xj(e,m,t,a,r,[]);for(c=0;c<i;c++){let T=p[c][r][0];o[c+a*i]+=T*b}}return o};var oKe=[];_3.interpolate=function(e,t,n,i,o,r,s){let a=i*(r+1);l(s)||(s=new Array(a));for(let T=0;T<a;T++)s[T]=0;let c=t.length,u=new Array(c*(o+1)),f;for(f=0;f<c;f++)for(let T=0;T<o+1;T++)u[f*(o+1)+T]=f;let d=u.length,p=oKe,g=rKe(p,u,t,n,i,o),m=[],x=d*(d+1)/2,b=Math.min(g,r);for(let T=0;T<=b;T++)for(f=T;f<=g;f++){m.length=0;let C=Xj(e,u,t,T,f,m),A=Math.floor(f*(1-f)/2)+d*f;for(let S=0;S<i;S++){let w=Math.floor(S*x),D=p[w+A];s[S+T*i]+=D*C}}return s};function rKe(e,t,n,i,o,r){let s,a,c=-1,u=t.length,f=u*(u+1)/2;for(let d=0;d<o;d++){let p=Math.floor(d*f);for(s=0;s<u;s++)a=t[s]*o*(r+1)+d,e[p+s]=i[a];for(let g=1;g<u;g++){let m=0,x=Math.floor(g*(1-g)/2)+u*g,b=!1;for(s=0;s<u-g;s++){let T=n[t[s]],C=n[t[s+g]],A,S;if(C-T<=0)a=t[s]*o*(r+1)+o*g+d,A=i[a],S=A/P.factorial(g),e[p+x+m]=S,m++;else{let w=Math.floor((g-1)*(2-g)/2)+u*(g-1);A=e[p+w+s+1]-e[p+w+s],S=A/(C-T),e[p+x+m]=S,m++}b=b||A!==0}b&&(c=Math.max(c,g))}}return c}var g3=_3;var Kj={type:"Lagrange"};Kj.getRequiredDataPoints=function(e){return Math.max(e+1,2)};Kj.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a=t.length;for(r=0;r<i;r++)o[r]=0;for(r=0;r<a;r++){let c=1;for(s=0;s<a;s++)if(s!==r){let u=t[r]-t[s];c*=(e-t[s])/u}for(s=0;s<i;s++)o[s]+=c*n[r*i+s]}return o};var y3=Kj;var $j={type:"Linear"};$j.getRequiredDataPoints=function(e){return 2};$j.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c=t[0],u=t[1];for(r=0;r<i;r++)s=n[r],a=n[r+i],o[r]=((a-s)*e+u*s-c*a)/(u-c);return o};var DA=$j;function sc(e,t,n){this.clock=y(e,0),this.cone=y(t,0),this.magnitude=y(n,1)}sc.fromCartesian3=function(e,t){let n=e.x,i=e.y,o=e.z,r=n*n+i*i;return l(t)||(t=new sc),t.clock=Math.atan2(i,n),t.cone=Math.atan2(Math.sqrt(r),o),t.magnitude=Math.sqrt(r+o*o),t};sc.clone=function(e,t){if(l(e))return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new sc(e.clock,e.cone,e.magnitude)};sc.normalize=function(e,t){return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new sc(e.clock,e.cone,1)};sc.equals=function(e,t){return e===t||l(e)&&l(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude};sc.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.clock-t.clock)<=n&&Math.abs(e.cone-t.cone)<=n&&Math.abs(e.magnitude-t.magnitude)<=n};sc.prototype.equals=function(e){return sc.equals(this,e)};sc.prototype.clone=function(e){return sc.clone(this,e)};sc.prototype.equalsEpsilon=function(e,t){return sc.equalsEpsilon(this,e,t)};sc.prototype.toString=function(){return`(${this.clock}, ${this.cone}, ${this.magnitude})`};var x3=sc;var wD=Er(Vl(),1);var Zj;typeof performance<"u"&&typeof performance.now=="function"&&isFinite(performance.now())?Zj=function(){return performance.now()}:Zj=function(){return Date.now()};var Ti=Zj;function Qj(e){e=y(e,y.EMPTY_OBJECT);let t=e.currentTime,n=e.startTime,i=e.stopTime;l(t)?t=K.clone(t):l(n)?t=K.clone(n):l(i)?t=K.addDays(i,-1,new K):t=K.now(),l(n)?n=K.clone(n):n=K.clone(t),l(i)?i=K.clone(i):i=K.addDays(n,1,new K),this.startTime=n,this.stopTime=i,this.clockRange=y(e.clockRange,jr.UNBOUNDED),this.canAnimate=y(e.canAnimate,!0),this.onTick=new me,this.onStop=new me,this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=Ti(),this.currentTime=t,this.multiplier=y(e.multiplier,1),this.shouldAnimate=y(e.shouldAnimate,!1),this.clockStep=y(e.clockStep,_o.SYSTEM_CLOCK_MULTIPLIER)}Object.defineProperties(Qj.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){K.equals(this._currentTime,e)||(this._clockStep===_o.SYSTEM_CLOCK&&(this._clockStep=_o.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===_o.SYSTEM_CLOCK&&(this._clockStep=_o.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===_o.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=K.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===_o.SYSTEM_CLOCK&&(this._clockStep=_o.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}});Qj.prototype.tick=function(){let e=Ti(),t=K.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){let n=this._clockStep;if(n===_o.SYSTEM_CLOCK)t=K.now(t);else{let i=this._multiplier;if(n===_o.TICK_DEPENDENT)t=K.addSeconds(t,i,t);else{let a=e-this._lastSystemTime;t=K.addSeconds(t,i*(a/1e3),t)}let o=this.clockRange,r=this.startTime,s=this.stopTime;if(o===jr.CLAMPED)K.lessThan(t,r)?t=K.clone(r,t):K.greaterThan(t,s)&&(t=K.clone(s,t),this.onStop.raiseEvent(this));else if(o===jr.LOOP_STOP)for(K.lessThan(t,r)&&(t=K.clone(r,t));K.greaterThan(t,s);)t=K.addSeconds(r,K.secondsDifference(t,s),t),this.onStop.raiseEvent(this)}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t};var rm=Qj;function Vx(){this._definitionChanged=new me,this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}Object.defineProperties(Vx.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:Xl("startTime"),stopTime:Xl("stopTime"),currentTime:Xl("currentTime"),clockRange:Xl("clockRange"),clockStep:Xl("clockStep"),multiplier:Xl("multiplier")});Vx.prototype.clone=function(e){return l(e)||(e=new Vx),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e};Vx.prototype.equals=function(e){return this===e||l(e)&&K.equals(this.startTime,e.startTime)&&K.equals(this.stopTime,e.stopTime)&&K.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier};Vx.prototype.merge=function(e){this.startTime=y(this.startTime,e.startTime),this.stopTime=y(this.stopTime,e.stopTime),this.currentTime=y(this.currentTime,e.currentTime),this.clockRange=y(this.clockRange,e.clockRange),this.clockStep=y(this.clockStep,e.clockStep),this.multiplier=y(this.multiplier,e.multiplier)};Vx.prototype.getValue=function(e){return l(e)||(e=new rm),e.startTime=y(this.startTime,e.startTime),e.stopTime=y(this.stopTime,e.stopTime),e.currentTime=y(this.currentTime,e.currentTime),e.clockRange=y(this.clockRange,e.clockRange),e.multiplier=y(this.multiplier,e.multiplier),e.clockStep=y(this.clockStep,e.clockStep),e};var sm=Vx;var sKe=H.WHITE,aKe=.1,cKe=new U(8,8),lKe=new U(0,0),uKe=new U(1,1);function IA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}Object.defineProperties(IA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._cellAlpha)&&q.isConstant(this._lineCount)&&q.isConstant(this._lineThickness)&&q.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),cellAlpha:le("cellAlpha"),lineCount:le("lineCount"),lineThickness:le("lineThickness"),lineOffset:le("lineOffset")});IA.prototype.getType=function(e){return"Grid"};var fKe=new K;IA.prototype.getValue=function(e,t){return l(e)||(e=K.now(fKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,sKe,t.color),t.cellAlpha=q.getValueOrDefault(this._cellAlpha,e,aKe),t.lineCount=q.getValueOrClonedDefault(this._lineCount,e,cKe,t.lineCount),t.lineThickness=q.getValueOrClonedDefault(this._lineThickness,e,uKe,t.lineThickness),t.lineOffset=q.getValueOrClonedDefault(this._lineOffset,e,lKe,t.lineOffset),t};IA.prototype.equals=function(e){return this===e||e instanceof IA&&q.equals(this._color,e._color)&&q.equals(this._cellAlpha,e._cellAlpha)&&q.equals(this._lineCount,e._lineCount)&&q.equals(this._lineThickness,e._lineThickness)&&q.equals(this._lineOffset,e._lineOffset)};var _D=IA;function PA(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(PA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});PA.prototype.getType=function(e){return"PolylineArrow"};var dKe=new K;PA.prototype.getValue=function(e,t){return l(e)||(e=K.now(dKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,H.WHITE,t.color),t};PA.prototype.equals=function(e){return this===e||e instanceof PA&&q.equals(this._color,e._color)};var gD=PA;var hKe=H.WHITE,mKe=H.TRANSPARENT,pKe=16,_Ke=255;function RA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(RA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._gapColor)&&q.isConstant(this._dashLength)&&q.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),gapColor:le("gapColor"),dashLength:le("dashLength"),dashPattern:le("dashPattern")});RA.prototype.getType=function(e){return"PolylineDash"};var gKe=new K;RA.prototype.getValue=function(e,t){return l(e)||(e=K.now(gKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,hKe,t.color),t.gapColor=q.getValueOrClonedDefault(this._gapColor,e,mKe,t.gapColor),t.dashLength=q.getValueOrDefault(this._dashLength,e,pKe,t.dashLength),t.dashPattern=q.getValueOrDefault(this._dashPattern,e,_Ke,t.dashPattern),t};RA.prototype.equals=function(e){return this===e||e instanceof RA&&q.equals(this._color,e._color)&&q.equals(this._gapColor,e._gapColor)&&q.equals(this._dashLength,e._dashLength)&&q.equals(this._dashPattern,e._dashPattern)};var yD=RA;var yKe=H.WHITE,xKe=.25,bKe=1;function OA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(OA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),glowPower:le("glowPower"),taperPower:le("taperPower")});OA.prototype.getType=function(e){return"PolylineGlow"};var TKe=new K;OA.prototype.getValue=function(e,t){return l(e)||(e=K.now(TKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,yKe,t.color),t.glowPower=q.getValueOrDefault(this._glowPower,e,xKe,t.glowPower),t.taperPower=q.getValueOrDefault(this._taperPower,e,bKe,t.taperPower),t};OA.prototype.equals=function(e){return this===e||e instanceof OA&&q.equals(this._color,e._color)&&q.equals(this._glowPower,e._glowPower)&&q.equals(this._taperPower,e._taperPower)};var xD=OA;var CKe=H.WHITE,AKe=H.BLACK,EKe=1;function MA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}Object.defineProperties(MA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._outlineColor)&&q.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth")});MA.prototype.getType=function(e){return"PolylineOutline"};var SKe=new K;MA.prototype.getValue=function(e,t){return l(e)||(e=K.now(SKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,CKe,t.color),t.outlineColor=q.getValueOrClonedDefault(this._outlineColor,e,AKe,t.outlineColor),t.outlineWidth=q.getValueOrDefault(this._outlineWidth,e,EKe),t};MA.prototype.equals=function(e){return this===e||e instanceof MA&&q.equals(this._color,e._color)&&q.equals(this._outlineColor,e._outlineColor)&&q.equals(this._outlineWidth,e._outlineWidth)};var Ux=MA;function Jp(e,t){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new Hr,this._referenceFrame=y(t,Bi.FIXED),this.setValue(e)}Object.defineProperties(Jp.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var wKe=new K;Jp.prototype.getValue=function(e,t){return l(e)||(e=K.now(wKe)),this.getValueInReferenceFrame(e,Bi.FIXED,t)};Jp.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._value;if(!l(i))return;let o=i.length;l(n)||(n=new Array(o));let r=0,s=0;for(;r<o;){let c=i[r].getValueInReferenceFrame(e,t,n[r]);l(c)&&(n[s]=c,s++),r++}return n.length=s,n};Jp.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,Jp.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};Jp.prototype.equals=function(e){return this===e||e instanceof Jp&&this._referenceFrame===e._referenceFrame&&q.arrayEquals(this._value,e._value)};Jp.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var iy=Jp;function oy(e){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new Hr,this.setValue(e)}Object.defineProperties(oy.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});var vKe=new K;oy.prototype.getValue=function(e,t){l(e)||(e=K.now(vKe));let n=this._value;if(!l(n))return;let i=n.length;l(t)||(t=new Array(i));let o=0,r=0;for(;o<i;){let a=this._value[o].getValue(e,t[o]);l(a)&&(t[r]=a,r++),o++}return t.length=r,t};oy.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,oy.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};oy.prototype.equals=function(e){return this===e||e instanceof oy&&q.arrayEquals(this._value,e._value)};oy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var bD=oy;function zx(e){let t=e._targetProperty;if(!l(t)){let n=e._targetEntity;if(!l(n)){if(n=e._targetCollection.getById(e._targetId),!l(n)){e._targetEntity=e._targetProperty=void 0;return}n.definitionChanged.addEventListener(uu.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=n}let i=e._targetPropertyNames;t=e._targetEntity;for(let o=0,r=i.length;o<r&&l(t);++o)t=t[i[o]];e._targetProperty=t}return t}function uu(e,t,n){this._targetCollection=e,this._targetId=t,this._targetPropertyNames=n,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new me,e.collectionChanged.addEventListener(uu.prototype._onCollectionChanged,this)}Object.defineProperties(uu.prototype,{isConstant:{get:function(){return q.isConstant(zx(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){let e=zx(this);return l(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return zx(this)}}});uu.fromString=function(e,t){let n,i=[],o=!0,r=!1,s="";for(let a=0;a<t.length;++a){let c=t.charAt(a);r?(s+=c,r=!1):c==="\\"?r=!0:o&&c==="#"?(n=s,o=!1,s=""):!o&&c==="."?(i.push(s),s=""):s+=c}return i.push(s),new uu(e,n,i)};var DKe=new K;uu.prototype.getValue=function(e,t){let n=zx(this);return l(e)||(e=K.now(DKe)),l(n)?n.getValue(e,t):void 0};uu.prototype.getValueInReferenceFrame=function(e,t,n){let i=zx(this);return l(i)?i.getValueInReferenceFrame(e,t,n):void 0};uu.prototype.getType=function(e){let t=zx(this);return l(t)?t.getType(e):void 0};uu.prototype.equals=function(e){if(this===e)return!0;let t=this._targetPropertyNames,n=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==n.length)return!1;let i=this._targetPropertyNames.length;for(let o=0;o<i;o++)if(t[o]!==n[o])return!1;return!0};uu.prototype._onTargetEntityDefinitionChanged=function(e,t,n,i){l(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))};uu.prototype._onCollectionChanged=function(e,t,n){let i=this._targetEntity;l(i)&&n.indexOf(i)!==-1?(i.definitionChanged.removeEventListener(uu.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):l(i)||(i=zx(this),l(i)&&this._definitionChanged.raiseEvent(this))};var ry=uu;var IKe={packedLength:1,pack:function(e,t,n){return n=y(n,0),t[n]=e,t},unpack:function(e,t,n){return t=y(t,0),e[t]},convertPackedArrayForInterpolation:function(e,t,n,i){l(i)||(i=[]),t=y(t,0),n=y(n,e.length);let o;for(let r=0,s=n-t+1;r<s;r++){let a=e[t+r];r===0||Math.abs(o-a)<Math.PI?i[r]=a:i[r]=a-P.TWO_PI,o=a}},unpackInterpolationResult:function(e,t,n,i,o){return o=e[0],o<0?o+P.TWO_PI:o}},Pd=IKe;var uue={packedLength:1,pack:function(e,t,n){n=y(n,0),t[n]=e},unpack:function(e,t,n){return t=y(t,0),e[t]}};function fue(e,t,n){let i,o=e.length,r=n.length,s=o+r;if(e.length=s,o!==t){let a=o-1;for(i=s-1;i>=t;i--)e[i]=e[a--]}for(i=0;i<r;i++)e[t++]=n[i]}function due(e,t){return e instanceof K?e:typeof e=="string"?K.fromIso8601(e):K.addSeconds(t,e,new K)}var Jj=[],e7=[];function b3(e,t,n,i,o){let r=0,s,a,c,u,f,d;for(;r<i.length;){f=due(i[r],e),c=Po(t,f,K.compare);let p=0,g=0;if(c<0){for(c=~c,u=c*o,a=void 0,d=t[c];r<i.length&&(f=due(i[r],e),!(l(a)&&K.compare(a,f)>=0||l(d)&&K.compare(f,d)>=0));){for(Jj[p++]=f,r=r+1,s=0;s<o;s++)e7[g++]=i[r],r=r+1;a=f}p>0&&(e7.length=g,fue(n,u,e7),Jj.length=p,fue(t,c,Jj))}else{for(s=0;s<o;s++)r++,n[c*o+s]=i[r];r++}}}function Rd(e,t){let n=e;n===Number&&(n=uue);let i=n.packedLength,o=y(n.packedInterpolationLength,i),r=0,s;if(l(t)){let a=t.length;s=new Array(a);for(let c=0;c<a;c++){let u=t[c];u===Number&&(u=uue);let f=u.packedLength;i+=f,o+=y(u.packedInterpolationLength,f),s[c]=u}r=a}this._type=e,this._innerType=n,this._interpolationDegree=1,this._interpolationAlgorithm=DA,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=i,this._packedInterpolationLength=o,this._updateTableLength=!0,this._interpolationResult=new Array(o),this._definitionChanged=new me,this._derivativeTypes=t,this._innerDerivativeTypes=s,this._inputOrder=r,this._forwardExtrapolationType=wf.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=wf.NONE,this._backwardExtrapolationDuration=0}Object.defineProperties(Rd.prototype,{isConstant:{get:function(){return this._values.length===0}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}});var PKe=new K;Rd.prototype.getValue=function(e,t){l(e)||(e=K.now(PKe));let n=this._times,i=n.length;if(i===0)return;let o,r=this._innerType,s=this._values,a=Po(n,e,K.compare);if(a<0){if(a=~a,a===0){let S=n[a];if(o=this._backwardExtrapolationDuration,this._backwardExtrapolationType===wf.NONE||o!==0&&K.secondsDifference(S,e)>o)return;if(this._backwardExtrapolationType===wf.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let S=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===wf.NONE||o!==0&&K.secondsDifference(e,S)>o)return;if(this._forwardExtrapolationType===wf.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,u=this._yTable,f=this._interpolationAlgorithm,d=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let S=Math.min(f.getRequiredDataPoints(this._interpolationDegree,p),i);S!==this._numberOfPoints&&(this._numberOfPoints=S,c.length=S,u.length=S*d)}let g=this._numberOfPoints-1;if(g<1)return;let m=0,x=i-1;if(x-m+1>=g+1){let S=a-(g/2|0)-1;S<m&&(S=m);let w=S+g;w>x&&(w=x,S=w-g,S<m&&(S=m)),m=S,x=w}let T=x-m+1;for(let S=0;S<T;++S)c[S]=K.secondsDifference(n[m+S],n[x]);if(l(r.convertPackedArrayForInterpolation))r.convertPackedArrayForInterpolation(s,m,x,u);else{let S=0,w=this._packedLength,D=m*w,O=(x+1)*w;for(;D<O;)u[S]=s[D],D++,S++}let C=K.secondsDifference(e,n[x]),A;if(p===0||!l(f.interpolate))A=f.interpolateOrderZero(C,c,u,d,this._interpolationResult);else{let S=Math.floor(d/(p+1));A=f.interpolate(C,c,u,S,p,p,this._interpolationResult)}return l(r.unpackInterpolationResult)?r.unpackInterpolationResult(A,s,m,x,t):r.unpack(A,0,t)}return r.unpack(s,a*this._packedLength,t)};Rd.prototype.setInterpolationOptions=function(e){if(!l(e))return;let t=!1,n=e.interpolationAlgorithm,i=e.interpolationDegree;l(n)&&this._interpolationAlgorithm!==n&&(this._interpolationAlgorithm=n,t=!0),l(i)&&this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))};Rd.prototype.addSample=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=[];if(s.push(e),r.pack(t,s,s.length),o){let a=i.length;for(let c=0;c<a;c++)i[c].pack(n[c],s,s.length)}b3(void 0,this._times,this._values,s,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Rd.prototype.addSamples=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=e.length,a=[];for(let c=0;c<s;c++)if(a.push(e[c]),r.pack(t[c],a,a.length),o){let u=n[c],f=i.length;for(let d=0;d<f;d++)i[d].pack(u[d],a,a.length)}b3(void 0,this._times,this._values,a,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Rd.prototype.addSamplesPackedArray=function(e,t){b3(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Rd.prototype.removeSample=function(e){let t=Po(this._times,e,K.compare);return t<0?!1:(hue(this,t,1),!0)};function hue(e,t,n){let i=e._packedLength;e._times.splice(t,n),e._values.splice(t*i,n*i),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}Rd.prototype.removeSamples=function(e){let t=this._times,n=Po(t,e.start,K.compare);n<0?n=~n:e.isStartIncluded||++n;let i=Po(t,e.stop,K.compare);i<0?i=~i:e.isStopIncluded&&++i,hue(this,n,i-n)};Rd.prototype.equals=function(e){if(this===e)return!0;if(!l(e)||this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;let t=this._derivativeTypes,n=l(t),i=e._derivativeTypes,o=l(i);if(n!==o)return!1;let r,s;if(n){if(s=t.length,s!==i.length)return!1;for(r=0;r<s;r++)if(t[r]!==i[r])return!1}let a=this._times,c=e._times;if(s=a.length,s!==c.length)return!1;for(r=0;r<s;r++)if(!K.equals(a[r],c[r]))return!1;let u=this._values,f=e._values;for(s=u.length,r=0;r<s;r++)if(u[r]!==f[r])return!1;return!0};Rd._mergeNewSamples=b3;var vf=Rd;function Df(e,t){t=y(t,0);let n;if(t>0){n=new Array(t);for(let i=0;i<t;i++)n[i]=h}this._numberOfDerivatives=t,this._property=new vf(h,n),this._definitionChanged=new me,this._referenceFrame=y(e,Bi.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)}Object.defineProperties(Df.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}});var RKe=new K;Df.prototype.getValue=function(e,t){return l(e)||(e=K.now(RKe)),this.getValueInReferenceFrame(e,Bi.FIXED,t)};Df.prototype.getValueInReferenceFrame=function(e,t,n){if(n=this._property.getValue(e,n),l(n))return Ph.convertToReferenceFrame(e,n,this._referenceFrame,t,n)};Df.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)};Df.prototype.addSample=function(e,t,n){let i=this._numberOfDerivatives;this._property.addSample(e,t,n)};Df.prototype.addSamples=function(e,t,n){this._property.addSamples(e,t,n)};Df.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)};Df.prototype.removeSample=function(e){return this._property.removeSample(e)};Df.prototype.removeSamples=function(e){this._property.removeSamples(e)};Df.prototype.equals=function(e){return this===e||e instanceof Df&&q.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var Pa=Df;var OKe={HORIZONTAL:0,VERTICAL:1},am=Object.freeze(OKe);var MKe=am.HORIZONTAL,LKe=H.WHITE,NKe=H.BLACK,FKe=0,BKe=1;function LA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}Object.defineProperties(LA.prototype,{isConstant:{get:function(){return q.isConstant(this._orientation)&&q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._offset)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:le("orientation"),evenColor:le("evenColor"),oddColor:le("oddColor"),offset:le("offset"),repeat:le("repeat")});LA.prototype.getType=function(e){return"Stripe"};var kKe=new K;LA.prototype.getValue=function(e,t){return l(e)||(e=K.now(kKe)),l(t)||(t={}),t.horizontal=q.getValueOrDefault(this._orientation,e,MKe)===am.HORIZONTAL,t.evenColor=q.getValueOrClonedDefault(this._evenColor,e,LKe,t.evenColor),t.oddColor=q.getValueOrClonedDefault(this._oddColor,e,NKe,t.oddColor),t.offset=q.getValueOrDefault(this._offset,e,FKe),t.repeat=q.getValueOrDefault(this._repeat,e,BKe),t};LA.prototype.equals=function(e){return this===e||e instanceof LA&&q.equals(this._orientation,e._orientation)&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._offset,e._offset)&&q.equals(this._repeat,e._repeat)};var TD=LA;function sy(e){this._definitionChanged=new me,this._intervals=new Gr,this._intervals.changedEvent.addEventListener(sy.prototype._intervalsChanged,this),this._referenceFrame=y(e,Bi.FIXED)}Object.defineProperties(sy.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}});var VKe=new K;sy.prototype.getValue=function(e,t){return l(e)||(e=K.now(VKe)),this.getValueInReferenceFrame(e,Bi.FIXED,t)};sy.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._intervals.findDataForIntervalContainingDate(e);if(l(i))return Ph.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};sy.prototype.equals=function(e){return this===e||e instanceof sy&&this._intervals.equals(e._intervals,q.equals)&&this._referenceFrame===e._referenceFrame};sy.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var ay=sy;function Hx(){this._definitionChanged=new me,this._intervals=new Gr,this._intervals.changedEvent.addEventListener(Hx.prototype._intervalsChanged,this)}Object.defineProperties(Hx.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var UKe=new K;Hx.prototype.getValue=function(e,t){l(e)||(e=K.now(UKe));let n=this._intervals.findDataForIntervalContainingDate(e);return l(n)&&typeof n.clone=="function"?n.clone(t):n};Hx.prototype.equals=function(e){return this===e||e instanceof Hx&&this._intervals.equals(e._intervals,q.equals)};Hx.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var cy=Hx;function NA(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new me,this._normalize=y(t,!0),this.position=e}Object.defineProperties(NA.prototype,{isConstant:{get:function(){return q.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){let t=this._position;t!==e&&(l(t)&&this._subscription(),this._position=e,l(e)&&(this._subscription=e._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});var zKe=new h,mue=new h,pue=new K,HKe=new K,t7=1/60;NA.prototype.getValue=function(e,t){return this._getValue(e,t)};NA.prototype._getValue=function(e,t,n){l(e)||(e=K.now(HKe)),l(t)||(t=new h);let i=this._position;if(q.isConstant(i))return this._normalize?void 0:h.clone(h.ZERO,t);let o=i.getValue(e,zKe),r=i.getValue(K.addSeconds(e,t7,pue),mue);if(!l(o)||!l(r)&&(r=o,o=i.getValue(K.addSeconds(e,-t7,pue),mue),!l(o)))return;if(h.equals(o,r))return this._normalize?void 0:h.clone(h.ZERO,t);l(n)&&o.clone(n);let s=h.subtract(r,o,t);return this._normalize?h.normalize(s,t):h.divideByScalar(s,t7,t)};NA.prototype.equals=function(e){return this===e||e instanceof NA&&q.equals(this._position,e._position)};var FA=NA;function CD(e,t){this._velocityVectorProperty=new FA(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new me,this.ellipsoid=y(t,ee.default);let n=this;this._velocityVectorProperty.definitionChanged.addEventListener(function(){n._definitionChanged.raiseEvent(n)})}Object.defineProperties(CD.prototype,{isConstant:{get:function(){return q.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){this._ellipsoid!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});var _ue=new h,GKe=new h,gue=new Z,WKe=new K;CD.prototype.getValue=function(e,t){l(e)||(e=K.now(WKe));let n=this._velocityVectorProperty._getValue(e,GKe,_ue);if(l(n))return Bt.rotationMatrixFromPositionVelocity(_ue,n,this._ellipsoid,gue),Ne.fromRotationMatrix(gue,t)};CD.prototype.equals=function(e){return this===e||e instanceof CD&&q.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))};var T3=CD;var e_={COMPLETE:0,BELOW_ELLIPSOID_HORIZON:1,ABOVE_ELLIPSOID_HORIZON:2};e_.validate=function(e){return e===e_.COMPLETE||e===e_.BELOW_ELLIPSOID_HORIZON||e===e_.ABOVE_ELLIPSOID_HORIZON};e_.toString=function(e){switch(e){case e_.COMPLETE:return"COMPLETE";case e_.BELOW_ELLIPSOID_HORIZON:return"BELOW_ELLIPSOID_HORIZON";case e_.ABOVE_ELLIPSOID_HORIZON:return"ABOVE_ELLIPSOID_HORIZON";default:throw new de("SensorVolumePortionToDisplay value is not valid and cannot be converted to a String.")}};var AD=e_;function ly(){}ly.packedLength=h.packedLength;ly.unpack=h.unpack;ly.pack=h.pack;var n7;function ED(e,t){return t[0]==="#"&&(t=n7+t),ry.fromString(e,t)}function yue(e,t,n){if(l(n.reference))return ED(t,n.reference);if(l(n.velocityReference)){let i=ED(t,n.velocityReference);switch(e){case h:case ly:return new FA(i,e===ly);case Ne:return new T3(i)}}throw new ce(`${JSON.stringify(n)} is not valid CZML.`)}function jKe(e,t){return new Lh(function(n,i){return t(e.getValue(n,i))},e.isConstant)}var Mi=new h,Hc=new x3,ac=new fe,Gx=new vn,C3=new Ne;function qKe(e){let t=e.rgbaf;if(l(t))return t;let n=e.rgba;if(!l(n))return;let i=n.length;if(i===H.packedLength)return[H.byteToFloat(n[0]),H.byteToFloat(n[1]),H.byteToFloat(n[2]),H.byteToFloat(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=H.byteToFloat(n[o+1]),t[o+2]=H.byteToFloat(n[o+2]),t[o+3]=H.byteToFloat(n[o+3]),t[o+4]=H.byteToFloat(n[o+4]);return t}function xue(e,t){let n=y(e.uri,e);return l(t)?t.getDerivedResource({url:n}):ve.createIfNeeded(n)}function YKe(e){let t=e.wsen;if(l(t))return t;let n=e.wsenDegrees;if(!l(n))return;let i=n.length;if(i===se.packedLength)return[P.toRadians(n[0]),P.toRadians(n[1]),P.toRadians(n[2]),P.toRadians(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=P.toRadians(n[o+1]),t[o+2]=P.toRadians(n[o+2]),t[o+3]=P.toRadians(n[o+3]),t[o+4]=P.toRadians(n[o+4]);return t}function XKe(e){let t=e.length;if(Hc.magnitude=1,t===2)return Hc.clock=e[0],Hc.cone=e[1],h.fromSpherical(Hc,Mi),[Mi.x,Mi.y,Mi.z];let n=new Array(t/3*4);for(let i=0,o=0;i<t;i+=3,o+=4)n[o]=e[i],Hc.clock=e[i+1],Hc.cone=e[i+2],h.fromSpherical(Hc,Mi),n[o+1]=Mi.x,n[o+2]=Mi.y,n[o+3]=Mi.z;return n}function KKe(e){let t=e.length;if(t===3)return Hc.clock=e[0],Hc.cone=e[1],Hc.magnitude=e[2],h.fromSpherical(Hc,Mi),[Mi.x,Mi.y,Mi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Hc.clock=e[i+1],Hc.cone=e[i+2],Hc.magnitude=e[i+3],h.fromSpherical(Hc,Mi),n[i+1]=Mi.x,n[i+2]=Mi.y,n[i+3]=Mi.z;return n}function $Ke(e){let t=e.length;if(t===3)return ac.longitude=e[0],ac.latitude=e[1],ac.height=e[2],ee.default.cartographicToCartesian(ac,Mi),[Mi.x,Mi.y,Mi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],ac.longitude=e[i+1],ac.latitude=e[i+2],ac.height=e[i+3],ee.default.cartographicToCartesian(ac,Mi),n[i+1]=Mi.x,n[i+2]=Mi.y,n[i+3]=Mi.z;return n}function ZKe(e){let t=e.length;if(t===3)return ac.longitude=P.toRadians(e[0]),ac.latitude=P.toRadians(e[1]),ac.height=e[2],ee.default.cartographicToCartesian(ac,Mi),[Mi.x,Mi.y,Mi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],ac.longitude=P.toRadians(e[i+1]),ac.latitude=P.toRadians(e[i+2]),ac.height=e[i+3],ee.default.cartographicToCartesian(ac,Mi),n[i+1]=Mi.x,n[i+2]=Mi.y,n[i+3]=Mi.z;return n}function i7(e){let t=e.cartesian;if(l(t))return t;let n=e.cartesianVelocity;if(l(n))return n;let i=e.unitCartesian;if(l(i))return i;let o=e.unitSpherical;if(l(o))return XKe(o);let r=e.spherical;if(l(r))return KKe(r);let s=e.cartographicRadians;if(l(s))return $Ke(s);let a=e.cartographicDegrees;if(l(a))return ZKe(a);throw new ce(`${JSON.stringify(e)} is not a valid CZML interval.`)}function bue(e,t){h.unpack(e,t,Mi),h.normalize(Mi,Mi),h.pack(Mi,e,t)}function QKe(e){let t=i7(e);if(t.length===3)return bue(t,0),t;for(let n=1;n<t.length;n+=4)bue(t,n);return t}function Tue(e,t){Ne.unpack(e,t,C3),Ne.normalize(C3,C3),Ne.pack(C3,e,t)}function JKe(e){let t=e.unitQuaternion;if(l(t)){if(t.length===4)return Tue(t,0),t;for(let n=1;n<t.length;n+=5)Tue(t,n)}return t}function Cue(e){return typeof e=="boolean"?Boolean:typeof e=="number"?Number:typeof e=="string"?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?qe:e.hasOwnProperty("cartesian2")?U:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?h:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?ly:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?H:e.hasOwnProperty("arcType")?nn:e.hasOwnProperty("classificationType")?Vn:e.hasOwnProperty("colorBlendMode")?Lc:e.hasOwnProperty("cornerType")?Oi:e.hasOwnProperty("heightReference")?Ye:e.hasOwnProperty("horizontalOrigin")?gi:e.hasOwnProperty("date")?K:e.hasOwnProperty("labelStyle")?Yo:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?Vt:e.hasOwnProperty("distanceDisplayCondition")?Ot:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?Ne:e.hasOwnProperty("shadowMode")?bn:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?am:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?se:e.hasOwnProperty("uri")?wD.default:e.hasOwnProperty("verticalOrigin")?Ln:Object}function e$e(e,t,n){switch(e){case nn:return nn[y(t.arcType,t)];case Array:return t.array;case Boolean:return y(t.boolean,t);case qe:return t.boundingRectangle;case U:return t.cartesian2;case h:return i7(t);case ly:return QKe(t);case H:return qKe(t);case Vn:return Vn[y(t.classificationType,t)];case Lc:return Lc[y(t.colorBlendMode,t)];case Oi:return Oi[y(t.cornerType,t)];case Ye:return Ye[y(t.heightReference,t)];case gi:return gi[y(t.horizontalOrigin,t)];case Image:return xue(t,n);case K:return K.fromIso8601(y(t.date,t));case Yo:return Yo[y(t.labelStyle,t)];case Number:return y(t.number,t);case Vt:return t.nearFarScalar;case Ot:return t.distanceDisplayCondition;case Object:return y(y(t.object,t.value),t);case Ne:return JKe(t);case Pd:return y(t.number,t);case AD:return AD[y(t.portionToDisplay,t)];case bn:return bn[y(y(t.shadowMode,t.shadows),t)];case String:return y(t.string,t);case am:return am[y(t.stripeOrientation,t)];case se:return YKe(t);case wD.default:return xue(t,n);case Ln:return Ln[y(t.verticalOrigin,t)];default:throw new ce(`Unknown CzmlDataSource interval type: ${e}`)}}var t$e={HERMITE:g3,LAGRANGE:y3,LINEAR:DA};function A3(e,t){let n=e.interpolationAlgorithm,i=e.interpolationDegree;(l(n)||l(i))&&t.setInterpolationOptions({interpolationAlgorithm:t$e[n],interpolationDegree:i});let o=e.forwardExtrapolationType;l(o)&&(t.forwardExtrapolationType=wf[o]);let r=e.forwardExtrapolationDuration;l(r)&&(t.forwardExtrapolationDuration=r);let s=e.backwardExtrapolationType;l(s)&&(t.backwardExtrapolationType=wf[s]);let a=e.backwardExtrapolationDuration;l(a)&&(t.backwardExtrapolationDuration=a)}var Aue={iso8601:void 0};function cr(e){if(l(e))return Aue.iso8601=e,vn.fromIso8601(Aue)}function o7(e){let t=He.MAXIMUM_INTERVAL.clone();return t.data=e,t}function Eue(e){let t=new Vc;return t.intervals.addInterval(o7(e)),t}function Sue(e){let t=new Ia(e.referenceFrame);return t.intervals.addInterval(o7(e)),t}function E3(e,t,n,i,o,r,s){let a=cr(i.interval);l(o)&&(l(a)?a=vn.intersect(a,o,Gx):a=o);let c,u,f,d=!l(i.reference)&&!l(i.velocityReference),p=l(a)&&!a.equals(He.MAXIMUM_INTERVAL);if(i.delete===!0){if(!p){t[n]=void 0;return}return Fue(t[n],a)}let g=!1;if(d){if(u=e$e(e,i,r),!l(u))return;c=y(e.packedLength,1),f=y(u.length,1),g=!l(i.array)&&typeof u!="string"&&f>c&&e!==Object}let m=typeof e.unpack=="function"&&e!==Pd;if(!g&&!p){d?t[n]=new Kn(m?e.unpack(u,0):u):t[n]=yue(e,s,i);return}let x=t[n],b,T=i.epoch;if(l(T)&&(b=K.fromIso8601(T)),g&&!p){x instanceof vf||(t[n]=x=new vf(e)),x.addSamplesPackedArray(u,b),A3(i,x);return}let C;if(!g&&p){a=a.clone(),d?a.data=m?e.unpack(u,0):u:a.data=yue(e,s,i),l(x)||(t[n]=x=d?new cy:new Vc),d&&x instanceof cy?x.intervals.addInterval(a):x instanceof Vc?(d&&(a.data=new Kn(a.data)),x.intervals.addInterval(a)):(t[n]=x=Eue(x),d&&(a.data=new Kn(a.data)),x.intervals.addInterval(a));return}l(x)||(t[n]=x=new Vc),x instanceof Vc||(t[n]=x=Eue(x));let A=x.intervals;C=A.findInterval(a),(!l(C)||!(C.data instanceof vf))&&(C=a.clone(),C.data=new vf(e),A.addInterval(C)),C.data.addSamplesPackedArray(u,b),A3(i,C.data)}function Fue(e,t){if(e instanceof vf){e.removeSamples(t);return}else if(e instanceof cy){e.intervals.removeInterval(t);return}else if(e instanceof Vc){let n=e.intervals;for(let i=0;i<n.length;++i){let o=vn.intersect(n.get(i),t,Gx);o.isEmpty||Fue(o.data,t)}n.removeInterval(t);return}}function ge(e,t,n,i,o,r,s){if(l(i))if(Array.isArray(i))for(let a=0,c=i.length;a<c;++a)E3(e,t,n,i[a],o,r,s);else E3(e,t,n,i,o,r,s)}function wue(e,t,n,i,o,r){let s=cr(n.interval);l(i)&&(l(s)?s=vn.intersect(s,i,Gx):s=i);let a=l(n.cartesianVelocity)?1:0,c=h.packedLength*(a+1),u,f,d=!l(n.reference),p=l(s)&&!s.equals(He.MAXIMUM_INTERVAL);if(n.delete===!0){if(!p){e[t]=void 0;return}return Bue(e[t],s)}let g,m=!1;if(d&&(l(n.referenceFrame)&&(g=Bi[n.referenceFrame]),g=y(g,Bi.FIXED),u=i7(n),f=y(u.length,1),m=f>c),!m&&!p){d?e[t]=new fl(h.unpack(u),g):e[t]=ED(r,n.reference);return}let x=e[t],b,T=n.epoch;if(l(T)&&(b=K.fromIso8601(T)),m&&!p){(!(x instanceof Pa)||l(g)&&x.referenceFrame!==g)&&(e[t]=x=new Pa(g,a)),x.addSamplesPackedArray(u,b),A3(n,x);return}let C;if(!m&&p){s=s.clone(),d?s.data=h.unpack(u):s.data=ED(r,n.reference),l(x)||(d?x=new ay(g):x=new Ia(g),e[t]=x),d&&x instanceof ay&&l(g)&&x.referenceFrame===g?x.intervals.addInterval(s):x instanceof Ia?(d&&(s.data=new fl(s.data,g)),x.intervals.addInterval(s)):(e[t]=x=Sue(x),d&&(s.data=new fl(s.data,g)),x.intervals.addInterval(s));return}l(x)?x instanceof Ia||(e[t]=x=Sue(x)):e[t]=x=new Ia(g);let A=x.intervals;C=A.findInterval(s),(!l(C)||!(C.data instanceof Pa)||l(g)&&C.data.referenceFrame!==g)&&(C=s.clone(),C.data=new Pa(g,a),A.addInterval(C)),C.data.addSamplesPackedArray(u,b),A3(n,C.data)}function Bue(e,t){if(e instanceof Pa){e.removeSamples(t);return}else if(e instanceof ay){e.intervals.removeInterval(t);return}else if(e instanceof Ia){let n=e.intervals;for(let i=0;i<n.length;++i){let o=vn.intersect(n.get(i),t,Gx);o.isEmpty||Bue(o.data,t)}n.removeInterval(t);return}}function kue(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)wue(e,t,n[s],i,o,r);else wue(e,t,n,i,o,r)}function vue(e,t,n,i){l(n.references)?S3(e,t,n.references,n.interval,i,bD,Vc):(l(n.cartesian2)?n.array=U.unpackArray(n.cartesian2):l(n.cartesian)&&(n.array=U.unpackArray(n.cartesian)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function Due(e,t,n,i,o,r){let s=cr(n.interval);l(i)&&(l(s)?s=vn.intersect(s,i,Gx):s=i);let a=e[t],c,u;if(l(s)){a instanceof lD||(a=new lD,e[t]=a);let d=a.intervals;u=d.findInterval({start:s.start,stop:s.stop}),l(u)?c=u.data:(u=s.clone(),d.addInterval(u))}else c=a;let f;l(n.solidColor)?(c instanceof Ht||(c=new Ht),f=n.solidColor,ge(H,c,"color",f.color,void 0,void 0,r)):l(n.grid)?(c instanceof _D||(c=new _D),f=n.grid,ge(H,c,"color",f.color,void 0,o,r),ge(Number,c,"cellAlpha",f.cellAlpha,void 0,o,r),ge(U,c,"lineCount",f.lineCount,void 0,o,r),ge(U,c,"lineThickness",f.lineThickness,void 0,o,r),ge(U,c,"lineOffset",f.lineOffset,void 0,o,r)):l(n.image)?(c instanceof j0||(c=new j0),f=n.image,ge(Image,c,"image",f.image,void 0,o,r),ge(U,c,"repeat",f.repeat,void 0,o,r),ge(H,c,"color",f.color,void 0,o,r),ge(Boolean,c,"transparent",f.transparent,void 0,o,r)):l(n.stripe)?(c instanceof TD||(c=new TD),f=n.stripe,ge(am,c,"orientation",f.orientation,void 0,o,r),ge(H,c,"evenColor",f.evenColor,void 0,o,r),ge(H,c,"oddColor",f.oddColor,void 0,o,r),ge(Number,c,"offset",f.offset,void 0,o,r),ge(Number,c,"repeat",f.repeat,void 0,o,r)):l(n.polylineOutline)?(c instanceof Ux||(c=new Ux),f=n.polylineOutline,ge(H,c,"color",f.color,void 0,o,r),ge(H,c,"outlineColor",f.outlineColor,void 0,o,r),ge(Number,c,"outlineWidth",f.outlineWidth,void 0,o,r)):l(n.polylineGlow)?(c instanceof xD||(c=new xD),f=n.polylineGlow,ge(H,c,"color",f.color,void 0,o,r),ge(Number,c,"glowPower",f.glowPower,void 0,o,r),ge(Number,c,"taperPower",f.taperPower,void 0,o,r)):l(n.polylineArrow)?(c instanceof gD||(c=new gD),f=n.polylineArrow,ge(H,c,"color",f.color,void 0,void 0,r)):l(n.polylineDash)?(c instanceof yD||(c=new yD),f=n.polylineDash,ge(H,c,"color",f.color,void 0,void 0,r),ge(H,c,"gapColor",f.gapColor,void 0,void 0,r),ge(Number,c,"dashLength",f.dashLength,void 0,o,r),ge(Number,c,"dashPattern",f.dashPattern,void 0,o,r)):l(n.checkerboard)&&(c instanceof rD||(c=new rD),f=n.checkerboard,ge(H,c,"evenColor",f.evenColor,void 0,o,r),ge(H,c,"oddColor",f.oddColor,void 0,o,r),ge(U,c,"repeat",f.repeat,void 0,o,r)),l(u)?u.data=c:e[t]=c}function fu(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Due(e,t,n[s],i,o,r);else Due(e,t,n,i,o,r)}function n$e(e,t,n,i){let o=t.name;l(o)&&(e.name=t.name)}function i$e(e,t,n,i){let o=t.description;l(o)&&ge(String,e,"description",o,void 0,i,n)}function o$e(e,t,n,i){let o=t.position;l(o)&&kue(e,"position",o,void 0,i,n)}function r$e(e,t,n,i){let o=t.viewFrom;l(o)&&ge(h,e,"viewFrom",o,void 0,i,n)}function s$e(e,t,n,i){let o=t.orientation;l(o)&&ge(Ne,e,"orientation",o,void 0,i,n)}function a$e(e,t,n,i){let o=t.properties;if(l(o)){l(e.properties)||(e.properties=new Kl);for(let r in o)if(o.hasOwnProperty(r)){e.properties.hasProperty(r)||e.properties.addProperty(r);let s=o[r];if(Array.isArray(s))for(let a=0,c=s.length;a<c;++a)E3(Cue(s[a]),e.properties,r,s[a],void 0,i,n);else E3(Cue(s),e.properties,r,s,void 0,i,n)}}}function S3(e,t,n,i,o,r,s){let a=n.map(function(c){return ED(o,c)});if(l(i)){i=cr(i);let c=e[t];if(!(c instanceof s)){let u=new s;u.intervals.addInterval(o7(c)),e[t]=c=u}i.data=new r(a),c.intervals.addInterval(i)}else e[t]=new r(a)}function Iue(e,t,n,i){let o=n.references;l(o)?S3(e,t,o,n.interval,i,bD,Vc):ge(Array,e,t,n,void 0,void 0,i)}function Pue(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Iue(e,t,n[o],i);else Iue(e,t,n,i)}function Rue(e,t,n,i){let o=n.references;l(o)?S3(e,t,o,n.interval,i,iy,Ia):(l(n.cartesian)?n.array=h.unpackArray(n.cartesian):l(n.cartographicRadians)?n.array=h.fromRadiansArrayHeights(n.cartographicRadians,ee.default):l(n.cartographicDegrees)&&(n.array=h.fromDegreesArrayHeights(n.cartographicDegrees,ee.default)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function vD(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Rue(e,t,n[o],i);else Rue(e,t,n,i)}function c$e(e){return h.unpackArray(e)}function l$e(e){return h.fromRadiansArrayHeights(e,ee.default)}function u$e(e){return h.fromDegreesArrayHeights(e,ee.default)}function Oue(e,t,n,i){let o=n.references;if(l(o)){let r=o.map(function(s){let a={};return S3(a,"positions",s,n.interval,i,iy,Ia),a.positions});e[t]=new iy(r)}else l(n.cartesian)?n.array=n.cartesian.map(c$e):l(n.cartographicRadians)?n.array=n.cartographicRadians.map(l$e):l(n.cartographicDegrees)&&(n.array=n.cartographicDegrees.map(u$e)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i)}function f$e(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Oue(e,t,n[o],i);else Oue(e,t,n,i)}function d$e(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;o++)vue(e,t,n[o],i);else vue(e,t,n,i)}function h$e(e,t,n,i){let o=t.availability;if(!l(o))return;let r;if(Array.isArray(o))for(let s=0,a=o.length;s<a;++s)l(r)||(r=new Gr),r.addInterval(cr(o[s]));else r=new Gr,r.addInterval(cr(o));e.availability=r}function m$e(e,t,n,i,o){l(t)&&ge(ly,e,"alignedAxis",t,n,i,o)}function p$e(e,t,n,i){let o=t.billboard;if(!l(o))return;let r=cr(o.interval),s=e.billboard;l(s)||(e.billboard=s=new Ac),ge(Boolean,s,"show",o.show,r,i,n),ge(Image,s,"image",o.image,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(U,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(gi,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Ln,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(Pd,s,"rotation",o.rotation,r,i,n),m$e(s,o.alignedAxis,r,i,n),ge(Boolean,s,"sizeInMeters",o.sizeInMeters,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Vt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Vt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Vt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(qe,s,"imageSubRegion",o.imageSubRegion,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function _$e(e,t,n,i){let o=t.box;if(!l(o))return;let r=cr(o.interval),s=e.box;l(s)||(e.box=s=new qT),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"dimensions",o.dimensions,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function g$e(e,t,n,i){let o=t.corridor;if(!l(o))return;let r=cr(o.interval),s=e.corridor;l(s)||(e.corridor=s=new XT),ge(Boolean,s,"show",o.show,r,i,n),vD(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Ye,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Oi,s,"cornerType",o.cornerType,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Vn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function y$e(e,t,n,i){let o=t.cylinder;if(!l(o))return;let r=cr(o.interval),s=e.cylinder;l(s)||(e.cylinder=s=new KT),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"length",o.length,r,i,n),ge(Number,s,"topRadius",o.topRadius,r,i,n),ge(Number,s,"bottomRadius",o.bottomRadius,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(Number,s,"slices",o.slices,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function x$e(e,t){let n=e.version;if(l(n)&&typeof n=="string"){let r=n.split(".");if(r.length===2){if(r[0]!=="1")throw new ce("Cesium only supports CZML version 1.");t._version=n}}if(!l(t._version))throw new ce("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");let i=t._documentPacket;l(e.name)&&(i.name=e.name);let o=e.clock;if(l(o)){let r=i.clock;l(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function b$e(e,t,n,i){let o=t.ellipse;if(!l(o))return;let r=cr(o.interval),s=e.ellipse;l(s)||(e.ellipse=s=new $T),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),ge(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Ye,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Pd,s,"rotation",o.rotation,r,i,n),ge(Pd,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Vn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function T$e(e,t,n,i){let o=t.ellipsoid;if(!l(o))return;let r=cr(o.interval),s=e.ellipsoid;l(s)||(e.ellipsoid=s=new ZT),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"radii",o.radii,r,i,n),ge(h,s,"innerRadii",o.innerRadii,r,i,n),ge(Number,s,"minimumClock",o.minimumClock,r,i,n),ge(Number,s,"maximumClock",o.maximumClock,r,i,n),ge(Number,s,"minimumCone",o.minimumCone,r,i,n),ge(Number,s,"maximumCone",o.maximumCone,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"stackPartitions",o.stackPartitions,r,i,n),ge(Number,s,"slicePartitions",o.slicePartitions,r,i,n),ge(Number,s,"subdivisions",o.subdivisions,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function C$e(e,t,n,i){let o=t.label;if(!l(o))return;let r=cr(o.interval),s=e.label;l(s)||(e.label=s=new Rh),ge(Boolean,s,"show",o.show,r,i,n),ge(String,s,"text",o.text,r,i,n),ge(String,s,"font",o.font,r,i,n),ge(Yo,s,"style",o.style,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Boolean,s,"showBackground",o.showBackground,r,i,n),ge(H,s,"backgroundColor",o.backgroundColor,r,i,n),ge(U,s,"backgroundPadding",o.backgroundPadding,r,i,n),ge(U,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(gi,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Ln,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"fillColor",o.fillColor,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Vt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Vt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(Vt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function A$e(e,t,n,i){let o=t.model;if(!l(o))return;let r=cr(o.interval),s=e.model;l(s)||(e.model=s=new Z_),ge(Boolean,s,"show",o.show,r,i,n),ge(wD.default,s,"uri",o.gltf,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),ge(Number,s,"maximumScale",o.maximumScale,r,i,n),ge(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),ge(Boolean,s,"runAnimations",o.runAnimations,r,i,n),ge(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"silhouetteColor",o.silhouetteColor,r,i,n),ge(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(Lc,s,"colorBlendMode",o.colorBlendMode,r,i,n),ge(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,u=o.nodeTransformations;if(l(u))if(Array.isArray(u))for(a=0,c=u.length;a<c;++a)Mue(s,u[a],r,i,n);else Mue(s,u,r,i,n);let f=o.articulations;if(l(f))if(Array.isArray(f))for(a=0,c=f.length;a<c;++a)Lue(s,f[a],r,i,n);else Lue(s,f,r,i,n)}function Mue(e,t,n,i,o){let r=cr(t.interval);l(n)&&(l(r)?r=vn.intersect(r,n,Gx):r=n);let s=e.nodeTransformations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];if(!l(d))continue;l(s)||(e.nodeTransformations=s=new Kl),s.hasProperty(f)||s.addProperty(f);let p=s[f];l(p)||(s[f]=p=new QT),ge(h,p,"translation",d.translation,r,i,o),ge(Ne,p,"rotation",d.rotation,r,i,o),ge(h,p,"scale",d.scale,r,i,o)}}function Lue(e,t,n,i,o){let r=cr(t.interval);l(n)&&(l(r)?r=vn.intersect(r,n,Gx):r=n);let s=e.articulations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];l(d)&&(l(s)||(e.articulations=s=new Kl),s.hasProperty(f)||s.addProperty(f),ge(Number,s,f,d,r,i,o))}}function E$e(e,t,n,i){let o=t.path;if(!l(o))return;let r=cr(o.interval),s=e.path;l(s)||(e.path=s=new Q_),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"leadTime",o.leadTime,r,i,n),ge(Number,s,"trailTime",o.trailTime,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"resolution",o.resolution,r,i,n),fu(s,"material",o.material,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function S$e(e,t,n,i){let o=t.point;if(!l(o))return;let r=cr(o.interval),s=e.point;l(s)||(e.point=s=new eC),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"pixelSize",o.pixelSize,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(H,s,"color",o.color,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Vt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Vt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function SD(e){this.polygon=e,this._definitionChanged=new me}Object.defineProperties(SD.prototype,{isConstant:{get:function(){let e=this.polygon._positions,t=this.polygon._holes;return(!l(e)||e.isConstant)&&(!l(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}});SD.prototype.getValue=function(e,t){let n;l(this.polygon._positions)&&(n=this.polygon._positions.getValue(e));let i;return l(this.polygon._holes)&&(i=this.polygon._holes.getValue(e),l(i)&&(i=i.map(function(o){return new $a(o)}))),l(t)?(t.positions=n,t.holes=i,t):new $a(n,i)};SD.prototype.equals=function(e){return this===e||e instanceof SD&&q.equals(this.polygon._positions,e.polygon._positions)&&q.equals(this.polygon._holes,e.polygon._holes)};function w$e(e,t,n,i){let o=t.polygon;if(!l(o))return;let r=cr(o.interval),s=e.polygon;l(s)||(e.polygon=s=new Oh),ge(Boolean,s,"show",o.show,r,i,n),vD(s,"_positions",o.positions,n),f$e(s,"_holes",o.holes,n),(l(s._positions)||l(s._holes))&&(s.hierarchy=new SD(s)),ge(Number,s,"height",o.height,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Ye,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Pd,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Boolean,s,"perPositionHeight",o.perPositionHeight,r,i,n),ge(Boolean,s,"closeTop",o.closeTop,r,i,n),ge(Boolean,s,"closeBottom",o.closeBottom,r,i,n),ge(nn,s,"arcType",o.arcType,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Vn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function v$e(e){return e?nn.GEODESIC:nn.NONE}function D$e(e,t,n,i){let o=t.polyline;if(!l(o))return;let r=cr(o.interval),s=e.polyline;if(l(s)||(e.polyline=s=new Ic),ge(Boolean,s,"show",o.show,r,i,n),vD(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),fu(s,"material",o.material,r,i,n),fu(s,"depthFailMaterial",o.depthFailMaterial,r,i,n),ge(nn,s,"arcType",o.arcType,r,i,n),ge(Boolean,s,"clampToGround",o.clampToGround,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Vn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n),l(o.followSurface)&&!l(o.arcType)){let a={};ge(Boolean,a,"followSurface",o.followSurface,r,i,n),s.arcType=jKe(a.followSurface,v$e)}}function I$e(e,t,n,i){let o=t.polylineVolume;if(!l(o))return;let r=cr(o.interval),s=e.polylineVolume;l(s)||(e.polylineVolume=s=new tC),vD(s,"positions",o.positions,n),d$e(s,"shape",o.shape,n),ge(Boolean,s,"show",o.show,r,i,n),ge(Oi,s,"cornerType",o.cornerType,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function P$e(e,t,n,i){let o=t.rectangle;if(!l(o))return;let r=cr(o.interval),s=e.rectangle;l(s)||(e.rectangle=s=new Mh),ge(Boolean,s,"show",o.show,r,i,n),ge(se,s,"coordinates",o.coordinates,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Ye,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Ye,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Pd,s,"rotation",o.rotation,r,i,n),ge(Pd,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Vn,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function R$e(e,t,n,i){let o=t.tileset;if(!l(o))return;let r=cr(o.interval),s=e.tileset;l(s)||(e.tileset=s=new JT),ge(Boolean,s,"show",o.show,r,i,n),ge(wD.default,s,"uri",o.uri,r,i,n),ge(Number,s,"maximumScreenSpaceError",o.maximumScreenSpaceError,r,i,n)}function O$e(e,t,n,i){let o=t.wall;if(!l(o))return;let r=cr(o.interval),s=e.wall;l(s)||(e.wall=s=new J_),ge(Boolean,s,"show",o.show,r,i,n),vD(s,"positions",o.positions,n),Pue(s,"minimumHeights",o.minimumHeights,n),Pue(s,"maximumHeights",o.maximumHeights,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),fu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(H,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Ot,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function Nue(e,t,n,i,o){let r=e.id;if(l(r)||(r=Gn()),n7=r,!l(o._version)&&r!=="document")throw new ce("The first CZML packet is required to be the document object.");if(e.delete===!0)t.removeById(r);else if(r==="document")x$e(e,o);else{let s=t.getOrCreateEntity(r),a=e.parent;l(a)&&(s.parent=t.getOrCreateEntity(a));for(let c=n.length-1;c>-1;c--)n[c](s,e,t,i)}n7=void 0}function M$e(e){let t,n=e._documentPacket.clock;if(!l(n)){if(!l(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(He.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=K.secondsDifference(s,r),c=Math.round(a/120);return t=new sm,t.startTime=K.clone(r),t.stopTime=K.clone(s),t.clockRange=jr.LOOP_STOP,t.multiplier=c,t.currentTime=K.clone(r),t.clockStep=_o.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}l(e._clock)?t=e._clock.clone():(t=new sm,t.startTime=He.MINIMUM_VALUE.clone(),t.stopTime=He.MAXIMUM_VALUE.clone(),t.currentTime=He.MINIMUM_VALUE.clone(),t.clockRange=jr.LOOP_STOP,t.clockStep=_o.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=cr(n.interval);return l(i)&&(t.startTime=i.start,t.stopTime=i.stop),l(n.currentTime)&&(t.currentTime=K.fromIso8601(n.currentTime)),l(n.range)&&(t.clockRange=y(jr[n.range],jr.LOOP_STOP)),l(n.step)&&(t.clockStep=y(_o[n.step],_o.SYSTEM_CLOCK_MULTIPLIER)),l(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function Vue(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new vt(s)),e._credit=s,typeof t=="string"||t instanceof ve){t=ve.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return r=ve.createIfNeeded(r),Wr.setLoading(e,!0),Promise.resolve(o).then(function(a){return L$e(e,a,r,i)}).catch(function(a){return Wr.setLoading(e,!1),e._error.raiseEvent(e,a),console.log(a),Promise.reject(a)})}function L$e(e,t,n,i){Wr.setLoading(e,!0);let o=e._entityCollection;i&&(e._version=void 0,e._documentPacket=new Uue,o.removeAll()),ss._processCzml(t,o,n,void 0,e);let r=M$e(e),s=e._documentPacket;return l(s.name)&&e._name!==s.name?(e._name=s.name,r=!0):!l(e._name)&&l(n)&&(e._name=ny(n.getUrlComponent()),r=!0),Wr.setLoading(e,!1),r&&e._changed.raiseEvent(e),e}function Uue(){this.name=void 0,this.clock=void 0}function ss(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._clock=void 0,this._documentPacket=new Uue,this._version=void 0,this._entityCollection=new sa(this),this._entityCluster=new Sf,this._credit=void 0,this._resourceCredits=[]}ss.load=function(e,t){return new ss().load(e,t)};Object.defineProperties(ss.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});ss.updaters=[p$e,_$e,g$e,y$e,b$e,T$e,C$e,A$e,n$e,i$e,E$e,S$e,w$e,D$e,I$e,a$e,P$e,o$e,R$e,r$e,O$e,s$e,h$e];ss.registerUpdater=function(e){ss.updaters.includes(e)||ss.updaters.push(e)};ss.unregisterUpdater=function(e){if(ss.updaters.includes(e)){let t=ss.updaters.indexOf(e);ss.updaters.splice(t,1)}};ss.prototype.process=function(e,t){return Vue(this,e,t,!1)};ss.prototype.load=function(e,t){return Vue(this,e,t,!0)};ss.prototype.update=function(e){return!0};ss.processPacketData=ge;ss.processPositionPacketData=kue;ss.processMaterialPacketData=fu;ss._processCzml=function(e,t,n,i,o){if(i=y(i,ss.updaters),Array.isArray(e))for(let r=0,s=e.length;r<s;++r)Nue(e[r],t,i,n,o);else Nue(e,t,i,n,o)};var w3=ss;function Gc(){this._dataSources=[],this._dataSourceAdded=new me,this._dataSourceRemoved=new me,this._dataSourceMoved=new me}Object.defineProperties(Gc.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}});Gc.prototype.add=function(e){let t=this,n=this._dataSources;return Promise.resolve(e).then(function(i){return n===t._dataSources&&(t._dataSources.push(i),t._dataSourceAdded.raiseEvent(t,i)),i})};Gc.prototype.remove=function(e,t){t=y(t,!1);let n=this._dataSources.indexOf(e);return n!==-1?(this._dataSources.splice(n,1),this._dataSourceRemoved.raiseEvent(this,e),t&&typeof e.destroy=="function"&&e.destroy(),!0):!1};Gc.prototype.removeAll=function(e){e=y(e,!1);let t=this._dataSources;for(let n=0,i=t.length;n<i;++n){let o=t[n];this._dataSourceRemoved.raiseEvent(this,o),e&&typeof o.destroy=="function"&&o.destroy()}this._dataSources=[]};Gc.prototype.contains=function(e){return this.indexOf(e)!==-1};Gc.prototype.indexOf=function(e){return this._dataSources.indexOf(e)};Gc.prototype.get=function(e){return this._dataSources[e]};Gc.prototype.getByName=function(e){return this._dataSources.filter(function(t){return t.name===e})};function v3(e,t){return e.indexOf(t)}function zue(e,t,n){let i=e._dataSources,o=i.length-1;if(t=P.clamp(t,0,o),n=P.clamp(n,0,o),t===n)return;let r=i[t];i[t]=i[n],i[n]=r,e.dataSourceMoved.raiseEvent(r,n,t)}Gc.prototype.raise=function(e){let t=v3(this._dataSources,e);zue(this,t,t+1)};Gc.prototype.lower=function(e){let t=v3(this._dataSources,e);zue(this,t,t-1)};Gc.prototype.raiseToTop=function(e){let t=v3(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))};Gc.prototype.lowerToBottom=function(e){let t=v3(this._dataSources,e);t!==0&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))};Gc.prototype.isDestroyed=function(){return!1};Gc.prototype.destroy=function(){return this.removeAll(!0),ue(this)};var D3=Gc;function ca(e){e=y(e,y.EMPTY_OBJECT),this._primitives=[],this._guid=Gn(),this._primitiveAdded=new me,this._primitiveRemoved=new me,this._zIndex=void 0,this.show=y(e.show,!0),this.destroyPrimitives=y(e.destroyPrimitives,!0)}Object.defineProperties(ca.prototype,{length:{get:function(){return this._primitives.length}},primitiveAdded:{get:function(){return this._primitiveAdded}},primitiveRemoved:{get:function(){return this._primitiveRemoved}}});ca.prototype.add=function(e,t){let n=l(t),i=e._external=e._external||{},o=i._composites=i._composites||{};return o[this._guid]={collection:this},n?this._primitives.splice(t,0,e):this._primitives.push(e),this._primitiveAdded.raiseEvent(e),e};ca.prototype.remove=function(e){if(this.contains(e)){let t=this._primitives.indexOf(e);if(t!==-1)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),this._primitiveRemoved.raiseEvent(e),!0}return!1};ca.prototype.removeAndDestroy=function(e){let t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t};ca.prototype.removeAll=function(){let e=this._primitives,t=e.length;for(let n=0;n<t;++n)delete e[n]._external._composites[this._guid],this.destroyPrimitives&&e[n].destroy(),this._primitiveRemoved.raiseEvent(e[n]);this._primitives=[]};ca.prototype.contains=function(e){return!!(l(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])};function I3(e,t){return e._primitives.indexOf(t)}ca.prototype.raise=function(e){if(l(e)){let t=I3(this,e),n=this._primitives;if(t!==n.length-1){let i=n[t];n[t]=n[t+1],n[t+1]=i}}};ca.prototype.raiseToTop=function(e){if(l(e)){let t=I3(this,e),n=this._primitives;t!==n.length-1&&(n.splice(t,1),n.push(e))}};ca.prototype.lower=function(e){if(l(e)){let t=I3(this,e),n=this._primitives;if(t!==0){let i=n[t];n[t]=n[t-1],n[t-1]=i}}};ca.prototype.lowerToBottom=function(e){if(l(e)){let t=I3(this,e),n=this._primitives;t!==0&&(n.splice(t,1),n.unshift(e))}};ca.prototype.get=function(e){return this._primitives[e]};ca.prototype.update=function(e){if(!this.show)return;let t=this._primitives;for(let n=0;n<t.length;++n)t[n].update(e)};ca.prototype.prePassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.prePassesUpdate)&&i.prePassesUpdate(e)}};ca.prototype.updateForPass=function(e,t){let n=this._primitives;for(let i=0;i<n.length;++i){let o=n[i];l(o.updateForPass)&&o.updateForPass(e,t)}};ca.prototype.postPassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.postPassesUpdate)&&i.postPassesUpdate(e)}};ca.prototype.isDestroyed=function(){return!1};ca.prototype.destroy=function(){return this.removeAll(),ue(this)};var du=ca;function cm(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}Object.defineProperties(cm.prototype,{length:{get:function(){return this._length}}});cm.prototype.add=function(e,t){t=y(t,0);let n=this._collections[t];if(!l(n)){n=new du({destroyPrimitives:!1}),n._zIndex=t,this._collections[t]=n;let i=this._collectionsArray,o=0;for(;o<i.length&&i[o]._zIndex<t;)o++;i.splice(o,0,n)}return n.add(e),this._length++,e._zIndex=t,e};cm.prototype.set=function(e,t){return t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e};cm.prototype.remove=function(e,t){if(this.contains(e)){let n=e._zIndex,i=this._collections[n],o;return t?o=i.remove(e):o=i.removeAndDestroy(e),o&&this._length--,i.length===0&&(this._collectionsArray.splice(this._collectionsArray.indexOf(i),1),this._collections[n]=void 0,i.destroy()),o}return!1};cm.prototype.removeAll=function(){let e=this._collectionsArray;for(let t=0;t<e.length;t++){let n=e[t];n.destroyPrimitives=!0,n.destroy()}this._collections={},this._collectionsArray=[],this._length=0};cm.prototype.contains=function(e){if(!l(e))return!1;let t=this._collections[e._zIndex];return l(t)&&t.contains(e)};cm.prototype.update=function(e){if(!this.show)return;let t=this._collectionsArray;for(let n=0;n<t.length;n++)t[n].update(e)};cm.prototype.isDestroyed=function(){return!1};cm.prototype.destroy=function(){return this.removeAll(),ue(this)};var P3=cm;function BA(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new St}BA.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))};BA.prototype.remove=function(e){let t=e.id,n=this._dynamicUpdaters.get(t);l(n)&&(this._dynamicUpdaters.remove(t),n.destroy())};BA.prototype.update=function(e){let t=this._dynamicUpdaters.values;for(let n=0,i=t.length;n<i;n++)t[n].update(e);return!0};BA.prototype.removeAllPrimitives=function(){let e=this._dynamicUpdaters.values;for(let t=0,n=e.length;t<n;t++)e[t].destroy();this._dynamicUpdaters.removeAll()};BA.prototype.getBoundingSphere=function(e,t){return e=this._dynamicUpdaters.get(e.id),l(e)&&l(e.getBoundingSphere)?e.getBoundingSphere(t):ft.FAILED};var kA=BA;var s7={},R3=new h,Hue=new h,Gue=new Ne,Wue=new Z;function VA(e,t,n,i,o,r,s,a,c,u){let f=e+t;h.multiplyByScalar(i,Math.cos(f),R3),h.multiplyByScalar(n,Math.sin(f),Hue),h.add(R3,Hue,R3);let d=Math.cos(e);d=d*d;let p=Math.sin(e);p=p*p;let m=r/Math.sqrt(s*d+o*p)/a;return Ne.fromAxisAngle(R3,m,Gue),Z.fromQuaternion(Gue,Wue),Z.multiplyByVector(Wue,c,u),h.normalize(u,u),h.multiplyByScalar(u,a,u),u}var jue=new h,que=new h,r7=new h,N$e=new h;s7.raisePositionsToHeight=function(e,t,n){let i=t.ellipsoid,o=t.height,r=t.extrudedHeight,s=n?e.length/3*2:e.length/3,a=new Float64Array(s*3),c=e.length,u=n?c:0;for(let f=0;f<c;f+=3){let d=f+1,p=f+2,g=h.fromArray(e,f,jue);i.scaleToGeodeticSurface(g,g);let m=h.clone(g,que),x=i.geodeticSurfaceNormal(g,N$e),b=h.multiplyByScalar(x,o,r7);h.add(g,b,g),n&&(h.multiplyByScalar(x,r,b),h.add(m,b,m),a[f+u]=m.x,a[d+u]=m.y,a[p+u]=m.z),a[f]=g.x,a[d]=g.y,a[p]=g.z}return a};var F$e=new h,B$e=new h,k$e=new h;s7.computeEllipsePositions=function(e,t,n){let i=e.semiMinorAxis,o=e.semiMajorAxis,r=e.rotation,s=e.center,a=e.granularity*8,c=i*i,u=o*o,f=o*i,d=h.magnitude(s),p=h.normalize(s,F$e),g=h.cross(h.UNIT_Z,s,B$e);g=h.normalize(g,g);let m=h.cross(p,g,k$e),x=1+Math.ceil(P.PI_OVER_TWO/a),b=P.PI_OVER_TWO/(x-1),T=P.PI_OVER_TWO-x*b;T<0&&(x-=Math.ceil(Math.abs(T)/b));let C=2*(x*(x+2)),A=t?new Array(C*3):void 0,S=0,w=jue,D=que,O=x*4*3,R=O-1,M=0,L=n?new Array(O):void 0,_,E,v,I,N;for(T=P.PI_OVER_TWO,w=VA(T,r,m,g,c,f,u,d,p,w),t&&(A[S++]=w.x,A[S++]=w.y,A[S++]=w.z),n&&(L[R--]=w.z,L[R--]=w.y,L[R--]=w.x),T=P.PI_OVER_TWO-b,_=1;_<x+1;++_){if(w=VA(T,r,m,g,c,f,u,d,p,w),D=VA(Math.PI-T,r,m,g,c,f,u,d,p,D),t){for(A[S++]=w.x,A[S++]=w.y,A[S++]=w.z,v=2*_+2,E=1;E<v-1;++E)I=E/(v-1),N=h.lerp(w,D,I,r7),A[S++]=N.x,A[S++]=N.y,A[S++]=N.z;A[S++]=D.x,A[S++]=D.y,A[S++]=D.z}n&&(L[R--]=w.z,L[R--]=w.y,L[R--]=w.x,L[M++]=D.x,L[M++]=D.y,L[M++]=D.z),T=P.PI_OVER_TWO-(_+1)*b}for(_=x;_>1;--_){if(T=P.PI_OVER_TWO-(_-1)*b,w=VA(-T,r,m,g,c,f,u,d,p,w),D=VA(T+Math.PI,r,m,g,c,f,u,d,p,D),t){for(A[S++]=w.x,A[S++]=w.y,A[S++]=w.z,v=2*(_-1)+2,E=1;E<v-1;++E)I=E/(v-1),N=h.lerp(w,D,I,r7),A[S++]=N.x,A[S++]=N.y,A[S++]=N.z;A[S++]=D.x,A[S++]=D.y,A[S++]=D.z}n&&(L[R--]=w.z,L[R--]=w.y,L[R--]=w.x,L[M++]=D.x,L[M++]=D.y,L[M++]=D.z)}T=P.PI_OVER_TWO,w=VA(-T,r,m,g,c,f,u,d,p,w);let B={};return t&&(A[S++]=w.x,A[S++]=w.y,A[S++]=w.z,B.positions=A,B.numPts=x),n&&(L[R--]=w.z,L[R--]=w.y,L[R--]=w.x,B.outerPositions=L),B};var hu=s7;var UA=new h,a7=new h,c7=new h,Yue=new h,Cs=new U,Xue=new Z,V$e=new Z,l7=new Ne,Kue=new h,$ue=new h,Zue=new h,L3=new fe,Que=new h,Jue=new U,efe=new U;function tfe(e,t,n){let i=t.vertexFormat,o=t.center,r=t.semiMajorAxis,s=t.semiMinorAxis,a=t.ellipsoid,c=t.stRotation,u=n?e.length/3*2:e.length/3,f=t.shadowVolume,d=i.st?new Float32Array(u*2):void 0,p=i.normal?new Float32Array(u*3):void 0,g=i.tangent?new Float32Array(u*3):void 0,m=i.bitangent?new Float32Array(u*3):void 0,x=f?new Float32Array(u*3):void 0,b=0,T=Kue,C=$ue,A=Zue,S=new vi(a),w=S.project(a.cartesianToCartographic(o,L3),Que),D=a.scaleToGeodeticSurface(o,UA);a.geodeticSurfaceNormal(D,D);let O=Xue,R=V$e;if(c!==0){let N=Ne.fromAxisAngle(D,c,l7);O=Z.fromQuaternion(N,O),N=Ne.fromAxisAngle(D,-c,l7),R=Z.fromQuaternion(N,R)}else O=Z.clone(Z.IDENTITY,O),R=Z.clone(Z.IDENTITY,R);let M=U.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Jue),L=U.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,efe),_=e.length,E=n?_:0,v=E/3*2;for(let N=0;N<_;N+=3){let B=N+1,z=N+2,V=h.fromArray(e,N,UA);if(i.st){let G=Z.multiplyByVector(O,V,a7),k=S.project(a.cartesianToCartographic(G,L3),c7);h.subtract(k,w,k),Cs.x=(k.x+r)/(2*r),Cs.y=(k.y+s)/(2*s),M.x=Math.min(Cs.x,M.x),M.y=Math.min(Cs.y,M.y),L.x=Math.max(Cs.x,L.x),L.y=Math.max(Cs.y,L.y),n&&(d[b+v]=Cs.x,d[b+1+v]=Cs.y),d[b++]=Cs.x,d[b++]=Cs.y}(i.normal||i.tangent||i.bitangent||f)&&(T=a.geodeticSurfaceNormal(V,T),f&&(x[N+E]=-T.x,x[B+E]=-T.y,x[z+E]=-T.z),(i.normal||i.tangent||i.bitangent)&&((i.tangent||i.bitangent)&&(C=h.normalize(h.cross(h.UNIT_Z,T,C),C),Z.multiplyByVector(R,C,C)),i.normal&&(p[N]=T.x,p[B]=T.y,p[z]=T.z,n&&(p[N+E]=-T.x,p[B+E]=-T.y,p[z+E]=-T.z)),i.tangent&&(g[N]=C.x,g[B]=C.y,g[z]=C.z,n&&(g[N+E]=-C.x,g[B+E]=-C.y,g[z+E]=-C.z)),i.bitangent&&(A=h.normalize(h.cross(T,C,A),A),m[N]=A.x,m[B]=A.y,m[z]=A.z,n&&(m[N+E]=A.x,m[B+E]=A.y,m[z+E]=A.z))))}if(i.st){_=d.length;for(let N=0;N<_;N+=2)d[N]=(d[N]-M.x)/(L.x-M.x),d[N+1]=(d[N+1]-M.y)/(L.y-M.y)}let I=new mn;if(i.position){let N=hu.raisePositionsToHeight(e,t,n);I.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:N})}if(i.st&&(I.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:d})),i.normal&&(I.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(I.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),i.bitangent&&(I.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),f&&(I.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),n&&l(t.offsetAttribute)){let N=new Uint8Array(u);if(t.offsetAttribute===ln.TOP)N=N.fill(1,0,u/2);else{let B=t.offsetAttribute===ln.NONE?0:1;N=N.fill(B)}I.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:N})}return I}function nfe(e){let t=new Array(12*(e*(e+1))-6),n=0,i,o,r,s,a;for(i=0,r=1,s=0;s<3;s++)t[n++]=r++,t[n++]=i,t[n++]=r;for(s=2;s<e+1;++s){for(r=s*(s+1)-1,i=(s-1)*s-1,t[n++]=r++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=r++,t[n++]=i,t[n++]=r}for(o=e*2,++r,++i,s=0;s<o-1;++s)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;for(t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i++,t[n++]=i,++i,s=e-1;s>1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=i++,t[n++]=i++,t[n++]=r++}for(s=0;s<3;s++)t[n++]=i++,t[n++]=i,t[n++]=r;return t}var Wx=new h;function U$e(e){let t=e.center;Wx=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,Wx),e.height,Wx),Wx=h.add(t,Wx,Wx);let n=new ae(Wx,e.semiMajorAxis),i=hu.computeEllipsePositions(e,!0,!1),o=i.positions,r=i.numPts,s=tfe(o,e,!1),a=nfe(r);return a=Be.createTypedArray(o.length/3,a),{boundingSphere:n,attributes:s,indices:a}}function z$e(e,t){let n=t.vertexFormat,i=t.center,o=t.semiMajorAxis,r=t.semiMinorAxis,s=t.ellipsoid,a=t.height,c=t.extrudedHeight,u=t.stRotation,f=e.length/3*2,d=new Float64Array(f*3),p=n.st?new Float32Array(f*2):void 0,g=n.normal?new Float32Array(f*3):void 0,m=n.tangent?new Float32Array(f*3):void 0,x=n.bitangent?new Float32Array(f*3):void 0,b=t.shadowVolume,T=b?new Float32Array(f*3):void 0,C=0,A=Kue,S=$ue,w=Zue,D=new vi(s),O=D.project(s.cartesianToCartographic(i,L3),Que),R=s.scaleToGeodeticSurface(i,UA);s.geodeticSurfaceNormal(R,R);let M=Ne.fromAxisAngle(R,u,l7),L=Z.fromQuaternion(M,Xue),_=U.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,Jue),E=U.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,efe),v=e.length,I=v/3*2;for(let B=0;B<v;B+=3){let z=B+1,V=B+2,G=h.fromArray(e,B,UA),k;if(n.st){let W=Z.multiplyByVector(L,G,a7),J=D.project(s.cartesianToCartographic(W,L3),c7);h.subtract(J,O,J),Cs.x=(J.x+o)/(2*o),Cs.y=(J.y+r)/(2*r),_.x=Math.min(Cs.x,_.x),_.y=Math.min(Cs.y,_.y),E.x=Math.max(Cs.x,E.x),E.y=Math.max(Cs.y,E.y),p[C+I]=Cs.x,p[C+1+I]=Cs.y,p[C++]=Cs.x,p[C++]=Cs.y}G=s.scaleToGeodeticSurface(G,G),k=h.clone(G,a7),A=s.geodeticSurfaceNormal(G,A),b&&(T[B+v]=-A.x,T[z+v]=-A.y,T[V+v]=-A.z);let Y=h.multiplyByScalar(A,a,Yue);if(G=h.add(G,Y,G),Y=h.multiplyByScalar(A,c,Y),k=h.add(k,Y,k),n.position&&(d[B+v]=k.x,d[z+v]=k.y,d[V+v]=k.z,d[B]=G.x,d[z]=G.y,d[V]=G.z),n.normal||n.tangent||n.bitangent){w=h.clone(A,w);let W=h.fromArray(e,(B+3)%v,Yue);h.subtract(W,G,W);let J=h.subtract(k,G,c7);A=h.normalize(h.cross(J,W,A),A),n.normal&&(g[B]=A.x,g[z]=A.y,g[V]=A.z,g[B+v]=A.x,g[z+v]=A.y,g[V+v]=A.z),n.tangent&&(S=h.normalize(h.cross(w,A,S),S),m[B]=S.x,m[z]=S.y,m[V]=S.z,m[B+v]=S.x,m[B+1+v]=S.y,m[B+2+v]=S.z),n.bitangent&&(x[B]=w.x,x[z]=w.y,x[V]=w.z,x[B+v]=w.x,x[z+v]=w.y,x[V+v]=w.z)}}if(n.st){v=p.length;for(let B=0;B<v;B+=2)p[B]=(p[B]-_.x)/(E.x-_.x),p[B+1]=(p[B+1]-_.y)/(E.y-_.y)}let N=new mn;if(n.position&&(N.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})),n.st&&(N.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:p})),n.normal&&(N.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),n.tangent&&(N.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),n.bitangent&&(N.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),b&&(N.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),l(t.offsetAttribute)){let B=new Uint8Array(f);if(t.offsetAttribute===ln.TOP)B=B.fill(1,0,f/2);else{let z=t.offsetAttribute===ln.NONE?0:1;B=B.fill(z)}N.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}return N}function H$e(e){let t=e.length/3,n=Be.createTypedArray(t,t*6),i=0;for(let o=0;o<t;o++){let r=o,s=o+t,a=(r+1)%t,c=a+t;n[i++]=r,n[i++]=s,n[i++]=a,n[i++]=a,n[i++]=s,n[i++]=c}return n}var O3=new ae,M3=new ae;function G$e(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,UA),e.height,UA);O3.center=h.add(t,o,O3.center),O3.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),M3.center=h.add(t,o,M3.center),M3.radius=i;let r=hu.computeEllipsePositions(e,!0,!0),s=r.positions,a=r.numPts,c=r.outerPositions,u=ae.union(O3,M3),f=tfe(s,e,!0),d=nfe(a),p=d.length;d.length=p*2;let g=s.length/3;for(let S=0;S<p;S+=3)d[S+p]=d[S+2]+g,d[S+1+p]=d[S+1]+g,d[S+2+p]=d[S]+g;let m=Be.createTypedArray(g*2/3,d),x=new dt({attributes:f,indices:m,primitiveType:Fe.TRIANGLES}),b=z$e(c,e);d=H$e(c);let T=Be.createTypedArray(c.length*2/3,d),C=new dt({attributes:b,indices:T,primitiveType:Fe.TRIANGLES}),A=Un.combineInstances([new wt({geometry:x}),new wt({geometry:C})]);return{boundingSphere:u,attributes:A[0].attributes,indices:A[0].indices}}function ife(e,t,n,i,o,r,s){let c=hu.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:n,rotation:i,granularity:o},!1,!0).outerPositions,u=c.length/3,f=new Array(u);for(let p=0;p<u;++p)f[p]=h.fromArray(c,p*3);let d=se.fromCartesianArray(f,r,s);return d.width>P.PI&&(d.north=d.north>0?P.PI_OVER_TWO-P.EPSILON7:d.north,d.south=d.south<0?P.EPSILON7-P.PI_OVER_TWO:d.south,d.east=P.PI,d.west=-P.PI),d}function um(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.vertexFormat,Pe.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=Pe.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}um.packedLength=h.packedLength+ee.packedLength+Pe.packedLength+9;um.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var ofe=new h,rfe=new ee,sfe=new Pe,lm={center:ofe,ellipsoid:rfe,vertexFormat:sfe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};um.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,ofe);t+=h.packedLength;let o=ee.unpack(e,t,rfe);t+=ee.packedLength;let r=Pe.unpack(e,t,sfe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++],g=e[t++]===1,m=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=u,n._height=f,n._granularity=d,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=m===-1?void 0:m,n):(lm.height=f,lm.extrudedHeight=p,lm.granularity=d,lm.stRotation=u,lm.rotation=c,lm.semiMajorAxis=s,lm.semiMinorAxis=a,lm.shadowVolume=g,lm.offsetAttribute=m===-1?void 0:m,new um(lm))};um.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,ee.default),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,P.RADIANS_PER_DEGREE),a=y(e.rotation,0);return ife(n,o,r,a,s,i,t)};um.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=G$e(o);else if(r=U$e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===ln.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new dt({attributes:r.attributes,indices:r.indices,primitiveType:Fe.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};um.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new um({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};function W$e(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=hu.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c<o;++c)r[c]=h.fromArray(i,c*3);let s=e._ellipsoid,a=e.rectangle;return dt._textureCoordinateRotationPoints(r,t,s,a)}Object.defineProperties(um.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=ife(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=W$e(this)),this._textureCoordinateRotationPoints}}});var Tl=um;var afe=new h,jx=new h;function j$e(e){let t=e.center;jx=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,jx),e.height,jx),jx=h.add(t,jx,jx);let n=new ae(jx,e.semiMajorAxis),i=hu.computeEllipsePositions(e,!1,!0).outerPositions,o=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:hu.raisePositionsToHeight(i,e,!1)})}),r=i.length/3,s=Be.createTypedArray(r,r*2),a=0;for(let c=0;c<r;++c)s[a++]=c,s[a++]=(c+1)%r;return{boundingSphere:n,attributes:o,indices:s}}var N3=new ae,F3=new ae;function q$e(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,afe),e.height,afe);N3.center=h.add(t,o,N3.center),N3.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),F3.center=h.add(t,o,F3.center),F3.radius=i;let r=hu.computeEllipsePositions(e,!1,!0).outerPositions,s=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:hu.raisePositionsToHeight(r,e,!0)})});r=s.position.values;let a=ae.union(N3,F3),c=r.length/3;if(l(e.offsetAttribute)){let m=new Uint8Array(c);if(e.offsetAttribute===ln.TOP)m=m.fill(1,0,c/2);else{let x=e.offsetAttribute===ln.NONE?0:1;m=m.fill(x)}s.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}let u=y(e.numberOfVerticalLines,16);u=P.clamp(u,0,c/2);let f=Be.createTypedArray(c,c*2+u*2);c/=2;let d=0,p;for(p=0;p<c;++p)f[d++]=p,f[d++]=(p+1)%c,f[d++]=p+c,f[d++]=(p+1)%c+c;let g;if(u>0){let m=Math.min(u,c);g=Math.round(c/m);let x=Math.min(g*u,c);for(p=0;p<x;p+=g)f[d++]=p,f[d++]=p+c}return{boundingSphere:a,attributes:s,indices:f}}function zA(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.height,0),a=y(e.extrudedHeight,s);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._height=Math.max(a,s),this._granularity=r,this._extrudedHeight=Math.min(a,s),this._numberOfVerticalLines=Math.max(y(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}zA.packedLength=h.packedLength+ee.packedLength+8;zA.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var cfe=new h,lfe=new ee,t_={center:cfe,ellipsoid:lfe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};zA.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,cfe);t+=h.packedLength;let o=ee.unpack(e,t,lfe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._semiMajorAxis=r,n._semiMinorAxis=s,n._rotation=a,n._height=c,n._granularity=u,n._extrudedHeight=f,n._numberOfVerticalLines=d,n._offsetAttribute=p===-1?void 0:p,n):(t_.height=c,t_.extrudedHeight=f,t_.granularity=u,t_.rotation=a,t_.semiMajorAxis=r,t_.semiMinorAxis=s,t_.numberOfVerticalLines=d,t_.offsetAttribute=p===-1?void 0:p,new zA(t_))};zA.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(i)o.extrudedHeight=n,o.offsetAttribute=e._offsetAttribute,r=q$e(o);else if(r=j$e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===ln.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new dt({attributes:r.attributes,indices:r.indices,primitiveType:Fe.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var If=zA;var ufe=new H,ffe=h.ZERO,dfe=new h,hfe=new se;function Y$e(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function Od(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new Y$e(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}l(Object.create)&&(Od.prototype=Object.create(jn.prototype),Od.prototype.constructor=Od);Od.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:kn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,ufe)),l(o)||(o=H.WHITE),i.color=jt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ffe,dfe))),new wt({id:t,geometry:new Tl(this._options),attributes:i})};Od.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,ufe),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ffe,dfe))),new wt({id:t,geometry:new If(this._options),attributes:r})};Od.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};Od.prototype._isHidden=function(e,t){let n=e.position;return!l(n)||!l(t.semiMajorAxis)||!l(t.semiMinorAxis)||oi.prototype._isHidden.call(this,e,t)};Od.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!q.isConstant(t.rotation)||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};Od.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,He.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,He.MINIMUM_VALUE,Ye.NONE),o=q.getValueOrUndefined(t.extrudedHeight,He.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,He.MINIMUM_VALUE,Ye.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,s.center=e.position.getValue(He.MINIMUM_VALUE,s.center),s.semiMajorAxis=t.semiMajorAxis.getValue(He.MINIMUM_VALUE,s.semiMajorAxis),s.semiMinorAxis=t.semiMinorAxis.getValue(He.MINIMUM_VALUE,s.semiMinorAxis),s.rotation=q.getValueOrUndefined(t.rotation,He.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,He.MINIMUM_VALUE),s.stRotation=q.getValueOrUndefined(t.stRotation,He.MINIMUM_VALUE),s.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,He.MINIMUM_VALUE),s.offsetAttribute=jn.computeGeometryOffsetAttribute(n,i,o,r),s.height=jn.getGeometryHeight(n,i),o=jn.getGeometryExtrudedHeight(o,r),o===jn.CLAMP_TO_GROUND&&(o=li.getMinimumMaximumHeights(Tl.computeRectangle(s,hfe)).minimumTerrainHeight),s.extrudedHeight=o};Od.DynamicGeometryUpdater=HA;function HA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(HA.prototype=Object.create(ii.prototype),HA.prototype.constructor=HA);HA.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.center)||!l(i.semiMajorAxis)||!l(i.semiMinorAxis)||ii.prototype._isHidden.call(this,e,t,n)};HA.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Ye.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,Ye.NONE);l(s)&&!l(o)&&(o=0),i.center=q.getValueOrUndefined(e.position,n,i.center),i.semiMajorAxis=q.getValueOrUndefined(t.semiMajorAxis,n),i.semiMinorAxis=q.getValueOrUndefined(t.semiMinorAxis,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=li.getMinimumMaximumHeights(Tl.computeRectangle(i,hfe)).minimumTerrainHeight),i.extrudedHeight=s};var B3=Od;var X$e=new h,K$e=new h,$$e=new h,Z$e=new h,Q$e=new h,J$e=new h(1,1,1),mfe=Math.cos,pfe=Math.sin;function n_(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,J$e),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,64)),c=Math.round(y(e.slicePartitions,64)),u=y(e.vertexFormat,Pe.DEFAULT);this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._vertexFormat=Pe.clone(u),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}n_.packedLength=2*h.packedLength+Pe.packedLength+7;n_.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n]=y(e._offsetAttribute,-1),t};var _fe=new h,gfe=new h,yfe=new Pe,uy={radii:_fe,innerRadii:gfe,vertexFormat:yfe,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};n_.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,_fe);t+=h.packedLength;let o=h.unpack(e,t,gfe);t+=h.packedLength;let r=Pe.unpack(e,t,yfe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._minimumClock=s,n._maximumClock=a,n._minimumCone=c,n._maximumCone=u,n._stackPartitions=f,n._slicePartitions=d,n._offsetAttribute=p===-1?void 0:p,n):(uy.minimumClock=s,uy.maximumClock=a,uy.minimumCone=c,uy.maximumCone=u,uy.stackPartitions=f,uy.slicePartitions=d,uy.offsetAttribute=p===-1?void 0:p,new n_(uy))};n_.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._vertexFormat,c=e._slicePartitions+1,u=e._stackPartitions+1;c=Math.round(c*Math.abs(o-i)/P.TWO_PI),u=Math.round(u*Math.abs(s-r)/P.PI),c<2&&(c=2),u<2&&(u=2);let f,d,p=0,g=[r],m=[i];for(f=0;f<u;f++)g.push(r+f*(s-r)/(u-1));for(g.push(s),d=0;d<c;d++)m.push(i+d*(o-i)/(c-1));m.push(o);let x=g.length,b=m.length,T=0,C=1,A=n.x!==t.x||n.y!==t.y||n.z!==t.z,S=!1,w=!1,D=!1;A&&(C=2,r>0&&(S=!0,T+=c-1),s<Math.PI&&(w=!0,T+=c-1),(o-i)%P.TWO_PI?(D=!0,T+=(u-1)*2+1):T+=1);let O=b*x*C,R=new Float64Array(O*3),M=new Array(O).fill(!1),L=new Array(O).fill(!1),_=c*u*C,E=6*(_+T+1-(c+u)*C),v=Be.createTypedArray(_,E),I=a.normal?new Float32Array(O*3):void 0,N=a.tangent?new Float32Array(O*3):void 0,B=a.bitangent?new Float32Array(O*3):void 0,z=a.st?new Float32Array(O*2):void 0,V=new Array(x),G=new Array(x);for(f=0;f<x;f++)V[f]=pfe(g[f]),G[f]=mfe(g[f]);let k=new Array(b),Y=new Array(b);for(d=0;d<b;d++)Y[d]=mfe(m[d]),k[d]=pfe(m[d]);for(f=0;f<x;f++)for(d=0;d<b;d++)R[p++]=t.x*V[f]*Y[d],R[p++]=t.y*V[f]*k[d],R[p++]=t.z*G[f];let W=O/2;if(A)for(f=0;f<x;f++)for(d=0;d<b;d++)R[p++]=n.x*V[f]*Y[d],R[p++]=n.y*V[f]*k[d],R[p++]=n.z*G[f],M[W]=!0,f>0&&f!==x-1&&d!==0&&d!==b-1&&(L[W]=!0),W++;p=0;let J,j;for(f=1;f<x-2;f++)for(J=f*b,j=(f+1)*b,d=1;d<b-2;d++)v[p++]=j+d,v[p++]=j+d+1,v[p++]=J+d+1,v[p++]=j+d,v[p++]=J+d+1,v[p++]=J+d;if(A){let ht=x*b;for(f=1;f<x-2;f++)for(J=ht+f*b,j=ht+(f+1)*b,d=1;d<b-2;d++)v[p++]=j+d,v[p++]=J+d,v[p++]=J+d+1,v[p++]=j+d,v[p++]=J+d+1,v[p++]=j+d+1}let $,Q;if(A){if(S)for(Q=x*b,f=1;f<b-2;f++)v[p++]=f,v[p++]=f+1,v[p++]=Q+f+1,v[p++]=f,v[p++]=Q+f+1,v[p++]=Q+f;if(w)for($=x*b-b,Q=x*b*C-b,f=1;f<b-2;f++)v[p++]=$+f+1,v[p++]=$+f,v[p++]=Q+f,v[p++]=$+f+1,v[p++]=Q+f,v[p++]=Q+f+1}if(D){for(f=1;f<x-2;f++)Q=b*x+b*f,$=b*f,v[p++]=Q,v[p++]=$+b,v[p++]=$,v[p++]=Q,v[p++]=Q+b,v[p++]=$+b;for(f=1;f<x-2;f++)Q=b*x+b*(f+1)-1,$=b*(f+1)-1,v[p++]=$+b,v[p++]=Q,v[p++]=$,v[p++]=$+b,v[p++]=Q+b,v[p++]=Q}let he=new mn;a.position&&(he.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:R}));let ye=0,re=0,_e=0,xe=0,De=O/2,we,Oe=ee.fromCartesian3(t),Me=ee.fromCartesian3(n);if(a.st||a.normal||a.tangent||a.bitangent){for(f=0;f<O;f++){we=M[f]?Me:Oe;let ht=h.fromArray(R,f*3,X$e),it=we.geodeticSurfaceNormal(ht,K$e);if(L[f]&&h.negate(it,it),a.st){let At=U.negate(it,Q$e);z[ye++]=Math.atan2(At.y,At.x)/P.TWO_PI+.5,z[ye++]=Math.asin(it.z)/Math.PI+.5}if(a.normal&&(I[re++]=it.x,I[re++]=it.y,I[re++]=it.z),a.tangent||a.bitangent){let At=$$e,Le=0,ke;if(M[f]&&(Le=De),!S&&f>=Le&&f<Le+b*2?ke=h.UNIT_X:ke=h.UNIT_Z,h.cross(ke,it,At),h.normalize(At,At),a.tangent&&(N[_e++]=At.x,N[_e++]=At.y,N[_e++]=At.z),a.bitangent){let $e=h.cross(it,At,Z$e);h.normalize($e,$e),B[xe++]=$e.x,B[xe++]=$e.y,B[xe++]=$e.z}}}a.st&&(he.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:z})),a.normal&&(he.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:I})),a.tangent&&(he.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:N})),a.bitangent&&(he.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:B}))}if(l(e._offsetAttribute)){let ht=R.length,it=e._offsetAttribute===ln.NONE?0:1,At=new Uint8Array(ht/3).fill(it);he.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:At})}return new dt({attributes:he,indices:v,primitiveType:Fe.TRIANGLES,boundingSphere:ae.fromEllipsoid(Oe),offsetAttribute:e._offsetAttribute})};var u7;n_.getUnitEllipsoid=function(){return l(u7)||(u7=n_.createGeometry(new n_({radii:new h(1,1,1),vertexFormat:Pe.POSITION_ONLY}))),u7};var la=n_;var eZe=new Ht(H.WHITE),f7=h.ZERO,d7=new h,tZe=new h,nZe=new h,h7=new H,iZe=new h(1,1,1);function oZe(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function mu(e,t){oi.call(this,{entity:e,scene:t,geometryOptions:new oZe(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}l(Object.create)&&(mu.prototype=Object.create(oi.prototype),mu.prototype.constructor=mu);Object.defineProperties(mu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});mu.prototype.createFillGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r,s=new xn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),c=kn.fromDistanceDisplayCondition(a),u={show:s,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let f;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||o)&&(f=this._materialProperty.color.getValue(e,h7)),l(f)||(f=H.WHITE),r=jt.fromColor(f),u.color=r}return l(this._options.offsetAttribute)&&(u.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,f7,d7))),new wt({id:i,geometry:new la(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:u})};mu.prototype.createOutlineGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,h7),s=this._distanceDisplayConditionProperty.getValue(e),a={show:new xn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(r),distanceDisplayCondition:kn.fromDistanceDisplayCondition(s),offset:void 0};return l(this._options.offsetAttribute)&&(a.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,f7,d7))),new wt({id:i,geometry:new bf(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:a})};mu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};mu.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.radii)||oi.prototype._isHidden.call(this,e,t)};mu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.radii.isConstant||!q.isConstant(t.innerRadii)||!q.isConstant(t.stackPartitions)||!q.isConstant(t.slicePartitions)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.minimumClock)||!q.isConstant(t.maximumClock)||!q.isConstant(t.minimumCone)||!q.isConstant(t.maximumCone)||!q.isConstant(t.subdivisions)};mu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,He.MINIMUM_VALUE,Ye.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,i.radii=t.radii.getValue(He.MINIMUM_VALUE,i.radii),i.innerRadii=q.getValueOrUndefined(t.innerRadii,i.radii),i.minimumClock=q.getValueOrUndefined(t.minimumClock,He.MINIMUM_VALUE),i.maximumClock=q.getValueOrUndefined(t.maximumClock,He.MINIMUM_VALUE),i.minimumCone=q.getValueOrUndefined(t.minimumCone,He.MINIMUM_VALUE),i.maximumCone=q.getValueOrUndefined(t.maximumCone,He.MINIMUM_VALUE),i.stackPartitions=q.getValueOrUndefined(t.stackPartitions,He.MINIMUM_VALUE),i.slicePartitions=q.getValueOrUndefined(t.slicePartitions,He.MINIMUM_VALUE),i.subdivisions=q.getValueOrUndefined(t.subdivisions,He.MINIMUM_VALUE),i.offsetAttribute=n!==Ye.NONE?ln.ALL:void 0};mu.prototype._onEntityPropertyChanged=eg;mu.DynamicGeometryUpdater=DD;function DD(e,t,n){ii.call(this,e,t,n),this._scene=e._scene,this._modelMatrix=new F,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new h,this._material={}}l(Object.create)&&(DD.prototype=Object.create(ii.prototype),DD.prototype.constructor=DD);DD.prototype.update=function(e){let t=this._entity,n=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!q.getValueOrDefault(n.show,e,!0)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let i=q.getValueOrUndefined(n.radii,e,tZe),o=l(i)?t.computeModelMatrixForHeightReference(e,n.heightReference,i.z*.5,this._scene.ellipsoid,this._modelMatrix):void 0;if(!l(o)||!l(i)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let r=q.getValueOrDefault(n.fill,e,!0),s=q.getValueOrDefault(n.outline,e,!1),a=q.getValueOrClonedDefault(n.outlineColor,e,H.BLACK,h7),c=rr.getValue(e,y(n.material,eZe),this._material),u=q.getValueOrUndefined(n.innerRadii,e,nZe),f=q.getValueOrUndefined(n.minimumClock,e),d=q.getValueOrUndefined(n.maximumClock,e),p=q.getValueOrUndefined(n.minimumCone,e),g=q.getValueOrUndefined(n.maximumCone,e),m=q.getValueOrUndefined(n.stackPartitions,e),x=q.getValueOrUndefined(n.slicePartitions,e),b=q.getValueOrUndefined(n.subdivisions,e),T=q.getValueOrDefault(n.outlineWidth,e,1),C=q.getValueOrDefault(n.heightReference,e,Ye.NONE),A=C!==Ye.NONE?ln.ALL:void 0,S=this._scene.mode,w=S===ne.SCENE3D&&C===Ye.NONE,D=this._options,O=this._geometryUpdater.shadowsProperty.getValue(e),M=this._geometryUpdater.distanceDisplayConditionProperty.getValue(e),L=q.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,f7,d7);if(!w||this._lastSceneMode!==S||!l(this._primitive)||D.stackPartitions!==m||D.slicePartitions!==x||l(u)&&!h.equals(D.innerRadii!==u)||D.minimumClock!==f||D.maximumClock!==d||D.minimumCone!==p||D.maximumCone!==g||D.subdivisions!==b||this._lastOutlineWidth!==T||D.offsetAttribute!==A){let E=this._primitives;E.removeAndDestroy(this._primitive),E.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=S,this._lastOutlineWidth=T,D.stackPartitions=m,D.slicePartitions=x,D.subdivisions=b,D.offsetAttribute=A,D.radii=h.clone(w?iZe:i,D.radii),l(u)?w?D.innerRadii=h.fromElements(u.x/i.x,u.y/i.y,u.z/i.z,D.innerRadii):D.innerRadii=h.clone(u,D.innerRadii):D.innerRadii=void 0,D.minimumClock=f,D.maximumClock=d,D.minimumCone=p,D.maximumCone=g;let v=new co({material:c,translucent:c.isTranslucent(),closed:!0});D.vertexFormat=v.vertexFormat;let I=this._geometryUpdater.createFillGeometryInstance(e,w,this._modelMatrix);this._primitive=E.add(new Rn({geometryInstances:I,appearance:v,asynchronous:!1,shadows:O}));let N=this._geometryUpdater.createOutlineGeometryInstance(e,w,this._modelMatrix);this._outlinePrimitive=E.add(new Rn({geometryInstances:N,appearance:new un({flat:!0,translucent:N.attributes.color.value[3]!==255,renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(T)}}),asynchronous:!1,shadows:O})),this._lastShow=r,this._lastOutlineShow=s,this._lastOutlineColor=H.clone(a,this._lastOutlineColor),this._lastDistanceDisplayCondition=M,this._lastOffset=h.clone(L,this._lastOffset)}else if(this._primitive.ready){let E=this._primitive,v=this._outlinePrimitive;E.show=!0,v.show=!0,E.appearance.material=c;let I=this._attributes;l(I)||(I=E.getGeometryInstanceAttributes(t),this._attributes=I),r!==this._lastShow&&(I.show=xn.toValue(r,I.show),this._lastShow=r);let N=this._outlineAttributes;l(N)||(N=v.getGeometryInstanceAttributes(t),this._outlineAttributes=N),s!==this._lastOutlineShow&&(N.show=xn.toValue(s,N.show),this._lastOutlineShow=s),H.equals(a,this._lastOutlineColor)||(N.color=jt.toValue(a,N.color),H.clone(a,this._lastOutlineColor)),Ot.equals(M,this._lastDistanceDisplayCondition)||(I.distanceDisplayCondition=kn.toValue(M,I.distanceDisplayCondition),N.distanceDisplayCondition=kn.toValue(M,N.distanceDisplayCondition),Ot.clone(M,this._lastDistanceDisplayCondition)),h.equals(L,this._lastOffset)||(I.offset=$i.toValue(L,I.offset),N.offset=$i.toValue(L,I.offset),h.clone(L,this._lastOffset))}w&&(i.x=Math.max(i.x,.001),i.y=Math.max(i.y,.001),i.z=Math.max(i.z,.001),o=F.multiplyByScale(o,i,o),this._primitive.modelMatrix=o,this._outlinePrimitive.modelMatrix=o)};var k3=mu;function GA(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.vertexFormat,Pe.DEFAULT);this._vertexFormat=t,this._workerName="createPlaneGeometry"}GA.packedLength=Pe.packedLength;GA.pack=function(e,t,n){return n=y(n,0),Pe.pack(e._vertexFormat,t,n),t};var xfe=new Pe,rZe={vertexFormat:xfe};GA.unpack=function(e,t,n){t=y(t,0);let i=Pe.unpack(e,t,xfe);return l(n)?(n._vertexFormat=Pe.clone(i,n._vertexFormat),n):new GA(rZe)};var V3=new h(-.5,-.5,0),U3=new h(.5,.5,0);GA.createGeometry=function(e){let t=e._vertexFormat,n=new mn,i,o;if(t.position){if(o=new Float64Array(4*3),o[0]=V3.x,o[1]=V3.y,o[2]=0,o[3]=U3.x,o[4]=V3.y,o[5]=0,o[6]=U3.x,o[7]=U3.y,o[8]=0,o[9]=V3.x,o[10]=U3.y,o[11]=0,n.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:o}),t.normal){let r=new Float32Array(12);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=1,r[9]=0,r[10]=0,r[11]=1,n.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.st){let r=new Float32Array(8);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=1,r[5]=1,r[6]=0,r[7]=1,n.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:r})}if(t.tangent){let r=new Float32Array(12);r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r[6]=1,r[7]=0,r[8]=0,r[9]=1,r[10]=0,r[11]=0,n.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.bitangent){let r=new Float32Array(12);r[0]=0,r[1]=1,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=1,r[8]=0,r[9]=0,r[10]=1,r[11]=0,n.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}i=new Uint16Array(2*3),i[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3}return new dt({attributes:n,indices:i,primitiveType:Fe.TRIANGLES,boundingSphere:new ae(h.ZERO,Math.sqrt(2))})};var z3=GA;function WA(){this._workerName="createPlaneOutlineGeometry"}WA.packedLength=0;WA.pack=function(e,t){return t};WA.unpack=function(e,t,n){return l(n)?n:new WA};var fy=new h(-.5,-.5,0),H3=new h(.5,.5,0);WA.createGeometry=function(){let e=new mn,t=new Uint16Array(4*2),n=new Float64Array(4*3);return n[0]=fy.x,n[1]=fy.y,n[2]=fy.z,n[3]=H3.x,n[4]=fy.y,n[5]=fy.z,n[6]=H3.x,n[7]=H3.y,n[8]=fy.z,n[9]=fy.x,n[10]=H3.y,n[11]=fy.z,e.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new dt({attributes:e,indices:t,primitiveType:Fe.LINES,boundingSphere:new ae(h.ZERO,Math.sqrt(2))})};var G3=WA;var sZe=new h,bfe=new H;function aZe(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function Pf(e,t){oi.call(this,{entity:e,scene:t,geometryOptions:new aZe(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}l(Object.create)&&(Pf.prototype=Object.create(oi.prototype),Pf.prototype.constructor=Pf);Pf.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=kn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let g;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(g=this._materialProperty.color.getValue(e,bfe)),l(g)||(g=H.WHITE),o=jt.fromColor(g),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};let c=t.plane,u=this._options,f=t.computeModelMatrix(e),d=q.getValueOrDefault(c.plane,e,u.plane),p=q.getValueOrUndefined(c.dimensions,e,u.dimensions);return u.plane=d,u.dimensions=p,f=m7(d,p,f,f),new wt({id:t,geometry:new z3(this._options),modelMatrix:f,attributes:i})};Pf.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,bfe),o=this._distanceDisplayConditionProperty.getValue(e),r=t.plane,s=this._options,a=t.computeModelMatrix(e),c=q.getValueOrDefault(r.plane,e,s.plane),u=q.getValueOrUndefined(r.dimensions,e,s.dimensions);return s.plane=c,s.dimensions=u,a=m7(c,u,a,a),new wt({id:t,geometry:new G3,modelMatrix:a,attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o)}})};Pf.prototype._isHidden=function(e,t){return!l(t.plane)||!l(t.dimensions)||!l(e.position)||oi.prototype._isHidden.call(this,e,t)};Pf.prototype._getIsClosed=function(e){return!1};Pf.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.plane.isConstant||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};Pf.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=this._options;i.vertexFormat=n?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,i.plane=t.plane.getValue(He.MINIMUM_VALUE,i.plane),i.dimensions=t.dimensions.getValue(He.MINIMUM_VALUE,i.dimensions)};Pf.DynamicGeometryUpdater=jA;function jA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(jA.prototype=Object.create(ii.prototype),jA.prototype.constructor=jA);jA.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,sZe);return!l(o)||!l(i.plane)||!l(i.dimensions)||ii.prototype._isHidden.call(this,e,t,n)};jA.prototype._setOptions=function(e,t,n){let i=this._options;i.plane=q.getValueOrDefault(t.plane,n,i.plane),i.dimensions=q.getValueOrUndefined(t.dimensions,n,i.dimensions)};var cZe=new h,lZe=new h,uZe=new h,fZe=new h,dZe=new Z,hZe=new Z,mZe=new F;function m7(e,t,n,i){let o=e.normal,r=e.distance,s=h.multiplyByScalar(o,-r,uZe),a=h.clone(h.UNIT_Z,lZe);P.equalsEpsilon(Math.abs(h.dot(a,o)),1,P.EPSILON8)&&(a=h.clone(h.UNIT_Y,a));let c=h.cross(a,o,cZe);a=h.cross(o,c,a),h.normalize(c,c),h.normalize(a,a);let u=dZe;Z.setColumn(u,0,c,u),Z.setColumn(u,1,a,u),Z.setColumn(u,2,o,u);let f=h.fromElements(t.x,t.y,1,fZe),d=Z.multiplyByScale(u,f,hZe),p=F.fromRotationTranslation(d,s,mZe);return F.multiplyTransformation(n,p,i)}Pf.createPrimitiveMatrix=m7;var W3=Pf;var pZe=new h,_Ze=new qe,gZe=new U,yZe=new U,xZe=new h,bZe=new h,TZe=new h,ID=new h,CZe=new h,AZe=new h,Tfe=new Ne,EZe=new Z,SZe=new Z,wZe=new h;function vZe(e,t,n,i,o,r,s,a,c){let u=e.positions,f=si.triangulate(e.positions2D,e.holes);f.length<3&&(f=[0,1,2]);let d=Be.createTypedArray(u.length,f.length);d.set(f);let p=EZe;if(i!==0){let _=Ne.fromAxisAngle(s,i,Tfe);if(p=Z.fromQuaternion(_,p),t.tangent||t.bitangent){_=Ne.fromAxisAngle(s,-i,Tfe);let E=Z.fromQuaternion(_,SZe);a=h.normalize(Z.multiplyByVector(E,a,a),a),t.bitangent&&(c=h.normalize(h.cross(s,a,c),c))}}else p=Z.clone(Z.IDENTITY,p);let g=yZe;t.st&&(g.x=n.x,g.y=n.y);let m=u.length,x=m*3,b=new Float64Array(x),T=t.normal?new Float32Array(x):void 0,C=t.tangent?new Float32Array(x):void 0,A=t.bitangent?new Float32Array(x):void 0,S=t.st?new Float32Array(m*2):void 0,w=0,D=0,O=0,R=0,M=0;for(let _=0;_<m;_++){let E=u[_];if(b[w++]=E.x,b[w++]=E.y,b[w++]=E.z,t.st)if(l(o)&&o.positions.length===m)S[M++]=o.positions[_].x,S[M++]=o.positions[_].y;else{let v=Z.multiplyByVector(p,E,pZe),I=r(v,gZe);U.subtract(I,g,I);let N=P.clamp(I.x/n.width,0,1),B=P.clamp(I.y/n.height,0,1);S[M++]=N,S[M++]=B}t.normal&&(T[D++]=s.x,T[D++]=s.y,T[D++]=s.z),t.tangent&&(C[R++]=a.x,C[R++]=a.y,C[R++]=a.z),t.bitangent&&(A[O++]=c.x,A[O++]=c.y,A[O++]=c.z)}let L=new mn;return t.position&&(L.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b})),t.normal&&(L.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),t.tangent&&(L.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.bitangent&&(L.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.st&&(L.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:S})),new dt({attributes:L,indices:d,primitiveType:Fe.TRIANGLES})}function qx(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy,n=e.textureCoordinates,i=y(e.vertexFormat,Pe.DEFAULT);this._vertexFormat=Pe.clone(i),this._polygonHierarchy=t,this._stRotation=y(e.stRotation,0),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=n,this.packedLength=Hn.computeHierarchyPackedLength(t,h)+Pe.packedLength+ee.packedLength+(l(n)?Hn.computeHierarchyPackedLength(n,U):1)+2}qx.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new qx(t)};qx.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._stRotation,l(e._textureCoordinates)?n=Hn.packPolygonHierarchy(e._textureCoordinates,t,n,U):t[n++]=-1,t[n++]=e.packedLength,t};var DZe=ee.clone(ee.UNIT_SPHERE),IZe=new Pe,PZe={polygonHierarchy:{}};qx.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,DZe);t+=ee.packedLength;let r=Pe.unpack(e,t,IZe);t+=Pe.packedLength;let s=e[t++],a=e[t]===-1?void 0:Hn.unpackPolygonHierarchy(e,t,U);l(a)?(t=a.startingIndex,delete a.startingIndex):t++;let c=e[t++];return l(n)||(n=new qx(PZe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._stRotation=s,n._textureCoordinates=a,n.packedLength=c,n};qx.createGeometry=function(e){let t=e._vertexFormat,n=e._polygonHierarchy,i=e._stRotation,o=e._textureCoordinates,r=l(o),s=n.positions;if(s=xo(s,h.equalsEpsilon,!0),s.length<3)return;let a=xZe,c=bZe,u=TZe,f=CZe,d=AZe;if(!Gg.computeProjectTo2DArguments(s,ID,f,d))return;if(a=h.cross(f,d,a),a=h.normalize(a,a),!h.equalsEpsilon(ID,h.ZERO,P.EPSILON6)){let M=e._ellipsoid.geodeticSurfaceNormal(ID,wZe);h.dot(a,M)<0&&(a=h.negate(a,a),f=h.negate(f,f))}let g=Gg.createProjectPointsTo2DFunction(ID,f,d),m=Gg.createProjectPointTo2DFunction(ID,f,d);t.tangent&&(c=h.clone(f,c)),t.bitangent&&(u=h.clone(d,u));let x=Hn.polygonsFromHierarchy(n,r,g,!1),b=x.hierarchy,T=x.polygons,C=function(M){return M},A=r?Hn.polygonsFromHierarchy(o,!0,C,!1).polygons:void 0;if(b.length===0)return;s=b[0].outerRing;let S=ae.fromPoints(s),w=Hn.computeBoundingRectangle(a,m,s,i,_Ze),D=[];for(let M=0;M<T.length;M++){let L=new wt({geometry:vZe(T[M],t,w,i,r?A[M]:void 0,m,a,c,u)});D.push(L)}let O=Un.combineInstances(D)[0];O.attributes.position.values=new Float64Array(O.attributes.position.values),O.indices=Be.createTypedArray(O.attributes.position.values.length/3,O.indices);let R=O.attributes;return t.position||delete R.position,new dt({attributes:R,indices:O.indices,primitiveType:O.primitiveType,boundingSphere:S})};var j3=qx;var Cfe=[],q3=[];function RZe(e,t,n,i,o){let s=Jr.fromPoints(t,e).projectPointsOntoPlane(t,Cfe);si.computeWindingOrder2D(s)===gs.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=0;if(i)for(c=new Float64Array(f*2*3),u=0;u<f;u++){let m=t[u],x=t[(u+1)%f];c[d++]=m.x,c[d++]=m.y,c[d++]=m.z,c[d++]=x.x,c[d++]=x.y,c[d++]=x.z}else{let m=0;if(o===nn.GEODESIC)for(u=0;u<f;u++)m+=Hn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===nn.RHUMB)for(u=0;u<f;u++)m+=Hn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(m*3),u=0;u<f;u++){let x;o===nn.GEODESIC?x=Hn.subdivideLine(t[u],t[(u+1)%f],n,q3):o===nn.RHUMB&&(x=Hn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,q3));let b=x.length;for(let T=0;T<b;++T)c[d++]=x[T]}}f=c.length/3;let p=f*2,g=Be.createTypedArray(f,p);for(d=0,u=0;u<f-1;u++)g[d++]=u,g[d++]=u+1;return g[d++]=f-1,g[d++]=0,new wt({geometry:new dt({attributes:new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:g,primitiveType:Fe.LINES})})}function OZe(e,t,n,i,o){let s=Jr.fromPoints(t,e).projectPointsOntoPlane(t,Cfe);si.computeWindingOrder2D(s)===gs.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=new Array(f),p=0;if(i)for(c=new Float64Array(f*2*3*2),u=0;u<f;++u){d[u]=p/3;let b=t[u],T=t[(u+1)%f];c[p++]=b.x,c[p++]=b.y,c[p++]=b.z,c[p++]=T.x,c[p++]=T.y,c[p++]=T.z}else{let b=0;if(o===nn.GEODESIC)for(u=0;u<f;u++)b+=Hn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===nn.RHUMB)for(u=0;u<f;u++)b+=Hn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(b*3*2),u=0;u<f;++u){d[u]=p/3;let T;o===nn.GEODESIC?T=Hn.subdivideLine(t[u],t[(u+1)%f],n,q3):o===nn.RHUMB&&(T=Hn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,q3));let C=T.length;for(let A=0;A<C;++A)c[p++]=T[A]}}f=c.length/(3*2);let g=d.length,m=(f*2+g)*2,x=Be.createTypedArray(f+g,m);for(p=0,u=0;u<f;++u)x[p++]=u,x[p++]=(u+1)%f,x[p++]=u+f,x[p++]=(u+1)%f+f;for(u=0;u<g;u++){let b=d[u];x[p++]=b,x[p++]=b+f}return new wt({geometry:new dt({attributes:new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:x,primitiveType:Fe.LINES})})}function Yx(e){let t=e.polygonHierarchy,n=y(e.ellipsoid,ee.default),i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.perPositionHeight,!1),r=o&&l(e.extrudedHeight),s=y(e.arcType,nn.GEODESIC),a=y(e.height,0),c=y(e.extrudedHeight,a);if(!r){let u=Math.max(a,c);c=Math.min(a,c),a=u}this._ellipsoid=ee.clone(n),this._granularity=i,this._height=a,this._extrudedHeight=c,this._arcType=s,this._polygonHierarchy=t,this._perPositionHeight=o,this._perPositionHeightExtrude=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=Hn.computeHierarchyPackedLength(t,h)+ee.packedLength+8}Yx.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._arcType,t[n++]=y(e._offsetAttribute,-1),t[n]=e.packedLength,t};var MZe=ee.clone(ee.UNIT_SPHERE),LZe={polygonHierarchy:{}};Yx.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,MZe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++]===1,u=e[t++]===1,f=e[t++],d=e[t++],p=e[t];return l(n)||(n=new Yx(LZe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._height=r,n._extrudedHeight=s,n._granularity=a,n._perPositionHeight=u,n._perPositionHeightExtrude=c,n._arcType=f,n._offsetAttribute=d===-1?void 0:d,n.packedLength=p,n};Yx.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new Yx(t)};Yx.createGeometry=function(e){let t=e._ellipsoid,n=e._granularity,i=e._polygonHierarchy,o=e._perPositionHeight,r=e._arcType,s=Hn.polygonOutlinesFromHierarchy(i,!o,t);if(s.length===0)return;let a,c=[],u=P.chordLength(n,t.maximumRadius),f=e._height,d=e._extrudedHeight,p=e._perPositionHeightExtrude||!P.equalsEpsilon(f,d,0,P.EPSILON2),g,m;if(p)for(m=0;m<s.length;m++){if(a=OZe(t,s[m],u,o,r),a.geometry=Hn.scaleToGeodeticHeightExtruded(a.geometry,f,d,t,o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length/3,C=new Uint8Array(T);e._offsetAttribute===ln.TOP?C=C.fill(1,0,T/2):(g=e._offsetAttribute===ln.NONE?0:1,C=C.fill(g)),a.geometry.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}c.push(a)}else for(m=0;m<s.length;m++){if(a=RZe(t,s[m],u,o,r),a.geometry.attributes.position.values=si.scaleToGeodeticHeight(a.geometry.attributes.position.values,f,t,!o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length;g=e._offsetAttribute===ln.NONE?0:1;let C=new Uint8Array(T/3).fill(g);a.geometry.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}c.push(a)}let x=Un.combineInstances(c)[0],b=ae.fromVertices(x.attributes.position.values);return new dt({attributes:x.attributes,indices:x.indices,primitiveType:x.primitiveType,boundingSphere:b,offsetAttribute:e._offsetAttribute})};var Y3=Yx;var Afe="Entity polygons cannot have both height and perPositionHeight. height will be ignored",Efe="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",Sfe=new H,wfe=h.ZERO,vfe=new h,Dfe=new se,NZe=[],FZe=new U;function BZe(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0,this.textureCoordinates=void 0}function pu(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new BZe(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}l(Object.create)&&(pu.prototype=Object.create(jn.prototype),pu.prototype.constructor=pu);pu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:kn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let s;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(s=this._materialProperty.color.getValue(e,Sfe)),l(s)||(s=H.WHITE),o.color=jt.fromColor(s)}l(i.offsetAttribute)&&(o.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,wfe,vfe)));let r;return i.perPositionHeight&&!l(i.extrudedHeight)?r=new j3(i):r=new Ag(i),new wt({id:t,geometry:r,attributes:o})};pu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Sfe),r=this._distanceDisplayConditionProperty.getValue(e),s={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(o),distanceDisplayCondition:kn.fromDistanceDisplayCondition(r),offset:void 0};l(i.offsetAttribute)&&(s.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,wfe,vfe)));let a;return i.perPositionHeight&&!l(i.extrudedHeight)?a=new Sd(i):a=new Y3(i),new wt({id:t,geometry:a,attributes:s})};pu.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(!l(n))return;let i=n.positions;if(i.length===0)return;let o=this._scene.ellipsoid,r=Jr.fromPoints(i,o),s=r.projectPointsOntoPlane(i,NZe),a=s.length,c=0,u=a-1,f=new U;for(let p=0;p<a;u=p++){let g=s[p],m=s[u],x=g.x*m.y-m.x*g.y,b=U.add(g,m,FZe);b=U.multiplyByScalar(b,x,b),f=U.add(f,b,f),c+=x}let d=1/(c*3);return f=U.multiplyByScalar(f,d,f),r.projectPointOntoEllipsoid(f,t)};pu.prototype._isHidden=function(e,t){return!l(t.hierarchy)||oi.prototype._isHidden.call(this,e,t)};pu.prototype._isOnTerrain=function(e,t){let n=jn.prototype._isOnTerrain.call(this,e,t),i=t.perPositionHeight,o=l(i)&&(i.isConstant?i.getValue(He.MINIMUM_VALUE):!0);return n&&!o};pu.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.textureCoordinates)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.perPositionHeight)||!q.isConstant(t.closeTop)||!q.isConstant(t.closeBottom)||!q.isConstant(t.zIndex)||!q.isConstant(t.arcType)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};pu.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=this._options;i.vertexFormat=n?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat;let o=t.hierarchy.getValue(He.MINIMUM_VALUE),r=q.getValueOrUndefined(t.height,He.MINIMUM_VALUE),s=q.getValueOrDefault(t.heightReference,He.MINIMUM_VALUE,Ye.NONE),a=q.getValueOrUndefined(t.extrudedHeight,He.MINIMUM_VALUE),c=q.getValueOrDefault(t.extrudedHeightReference,He.MINIMUM_VALUE,Ye.NONE),u=q.getValueOrDefault(t.perPositionHeight,He.MINIMUM_VALUE,!1);r=jn.getGeometryHeight(r,s);let f;if(u?(l(r)&&(r=void 0,Tt(Afe)),s!==Ye.NONE&&u&&(r=void 0,Tt(Efe))):(l(a)&&!l(r)&&(r=0),f=jn.computeGeometryOffsetAttribute(r,s,a,c)),i.polygonHierarchy=o,i.granularity=q.getValueOrUndefined(t.granularity,He.MINIMUM_VALUE),i.stRotation=q.getValueOrUndefined(t.stRotation,He.MINIMUM_VALUE),i.perPositionHeight=u,i.closeTop=q.getValueOrDefault(t.closeTop,He.MINIMUM_VALUE,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,He.MINIMUM_VALUE,!0),i.offsetAttribute=f,i.height=r,i.arcType=q.getValueOrDefault(t.arcType,He.MINIMUM_VALUE,nn.GEODESIC),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,He.MINIMUM_VALUE),a=jn.getGeometryExtrudedHeight(a,c),a===jn.CLAMP_TO_GROUND){let d=Ag.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Dfe);a=li.getMinimumMaximumHeights(d).minimumTerrainHeight}i.extrudedHeight=a};pu.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight,i=l(n)&&n!==t;return!e.perPositionHeight&&(!i&&t===0||i&&e.closeTop&&e.closeBottom)};pu.DynamicGeometryUpdater=qA;function qA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(qA.prototype=Object.create(ii.prototype),qA.prototype.constructor=qA);qA.prototype._isHidden=function(e,t,n){return!l(this._options.polygonHierarchy)||ii.prototype._isHidden.call(this,e,t,n)};qA.prototype._setOptions=function(e,t,n){let i=this._options;i.polygonHierarchy=q.getValueOrUndefined(t.hierarchy,n);let o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Ye.NONE),s=q.getValueOrDefault(t.extrudedHeightReference,n,Ye.NONE),a=q.getValueOrUndefined(t.extrudedHeight,n),c=q.getValueOrUndefined(t.perPositionHeight,n);o=jn.getGeometryHeight(o,s);let u;if(c?(l(o)&&(o=void 0,Tt(Afe)),r!==Ye.NONE&&c&&(o=void 0,Tt(Efe))):(l(a)&&!l(o)&&(o=0),u=jn.computeGeometryOffsetAttribute(o,r,a,s)),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,n),i.perPositionHeight=q.getValueOrUndefined(t.perPositionHeight,n),i.closeTop=q.getValueOrDefault(t.closeTop,n,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,n,!0),i.offsetAttribute=u,i.height=o,i.arcType=q.getValueOrDefault(t.arcType,n,nn.GEODESIC),a=jn.getGeometryExtrudedHeight(a,s),a===jn.CLAMP_TO_GROUND){let f=Ag.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Dfe);a=li.getMinimumMaximumHeights(f).minimumTerrainHeight}i.extrudedHeight=a};var X3=pu;function kZe(e,t,n,i){let o=new mn;i.position&&(o.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e}));let r=t.length,s=e.length/3,a=(s-r*2)/(r*2),c=si.triangulate(t),u=(a-1)*r*6+c.length*2,f=Be.createTypedArray(s,u),d,p,g,m,x,b,T=r*2,C=0;for(d=0;d<a-1;d++){for(p=0;p<r-1;p++)g=p*2+d*r*2,b=g+T,m=g+1,x=m+T,f[C++]=m,f[C++]=g,f[C++]=x,f[C++]=x,f[C++]=g,f[C++]=b;g=r*2-2+d*r*2,m=g+1,x=m+T,b=g+T,f[C++]=m,f[C++]=g,f[C++]=x,f[C++]=x,f[C++]=g,f[C++]=b}if(i.st||i.tangent||i.bitangent){let w=new Float32Array(s*2),D=1/(a-1),O=1/n.height,R=n.height/2,M,L,_=0;for(d=0;d<a;d++){for(M=d*D,L=O*(t[0].y+R),w[_++]=M,w[_++]=L,p=1;p<r;p++)L=O*(t[p].y+R),w[_++]=M,w[_++]=L,w[_++]=M,w[_++]=L;L=O*(t[0].y+R),w[_++]=M,w[_++]=L}for(p=0;p<r;p++)M=0,L=O*(t[p].y+R),w[_++]=M,w[_++]=L;for(p=0;p<r;p++)M=(a-1)*D,L=O*(t[p].y+R),w[_++]=M,w[_++]=L;o.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:new Float32Array(w)})}let A=s-r*2;for(d=0;d<c.length;d+=3){let w=c[d]+A,D=c[d+1]+A,O=c[d+2]+A;f[C++]=w,f[C++]=D,f[C++]=O,f[C++]=O+r,f[C++]=D+r,f[C++]=w+r}let S=new dt({attributes:o,indices:f,boundingSphere:ae.fromVertices(e),primitiveType:Fe.TRIANGLES});if(i.normal&&(S=Un.computeNormal(S)),i.tangent||i.bitangent){try{S=Un.computeTangentAndBitangent(S)}catch{Tt("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(S.attributes.tangent=void 0),i.bitangent||(S.attributes.bitangent=void 0),i.st||(S.attributes.st=void 0)}return S}function RD(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Oi.ROUNDED),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*U.packedLength,this.packedLength=i+ee.packedLength+Pe.packedLength+2}RD.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=U.packedLength)U.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var Ife=ee.clone(ee.UNIT_SPHERE),Pfe=new Pe,PD={polylinePositions:void 0,shapePositions:void 0,ellipsoid:Ife,vertexFormat:Pfe,cornerType:void 0,granularity:void 0};RD.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=U.packedLength)s[i]=U.unpack(e,t);let a=ee.unpack(e,t,Ife);t+=ee.packedLength;let c=Pe.unpack(e,t,Pfe);t+=Pe.packedLength;let u=e[t++],f=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Pe.clone(c,n._vertexFormat),n._cornerType=u,n._granularity=f,n):(PD.polylinePositions=r,PD.shapePositions=s,PD.cornerType=u,PD.granularity=f,new RD(PD))};var VZe=new qe;RD.createGeometry=function(e){let t=e._positions,n=xo(t,h.equalsEpsilon),i=e._shape;if(i=im.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;si.computeWindingOrder2D(i)===gs.CLOCKWISE&&i.reverse();let o=qe.fromPoints(i,VZe),r=im.computePositions(n,i,o,e,!0);return kZe(r,i,o,e._vertexFormat)};var K3=RD;function UZe(e,t){let n=new mn;n.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e});let i=t.length,o=n.position.values.length/3,s=e.length/3/i,a=Be.createTypedArray(o,2*i*(s+1)),c,u,f=0;c=0;let d=c*i;for(u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=s-1,d=c*i,u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=0;c<s-1;c++){let g=i*c,m=g+i;for(u=0;u<i;u++)a[f++]=u+g,a[f++]=u+m}return new dt({attributes:n,indices:Be.createTypedArray(o,a),boundingSphere:ae.fromVertices(e),primitiveType:Fe.LINES})}function MD(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Oi.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*U.packedLength,this.packedLength=i+ee.packedLength+2}MD.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=U.packedLength)U.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var Rfe=ee.clone(ee.UNIT_SPHERE),OD={polylinePositions:void 0,shapePositions:void 0,ellipsoid:Rfe,height:void 0,cornerType:void 0,granularity:void 0};MD.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=U.packedLength)s[i]=U.unpack(e,t);let a=ee.unpack(e,t,Rfe);t+=ee.packedLength;let c=e[t++],u=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._cornerType=c,n._granularity=u,n):(OD.polylinePositions=r,OD.shapePositions=s,OD.cornerType=c,OD.granularity=u,new MD(OD))};var zZe=new qe;MD.createGeometry=function(e){let t=e._positions,n=xo(t,h.equalsEpsilon),i=e._shape;if(i=im.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;si.computeWindingOrder2D(i)===gs.CLOCKWISE&&i.reverse();let o=qe.fromPoints(i,zZe),r=im.computePositions(n,i,o,e,!1);return UZe(r,i)};var $3=MD;var Ofe=new H;function HZe(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function fm(e,t){oi.call(this,{entity:e,scene:t,geometryOptions:new HZe(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}l(Object.create)&&(fm.prototype=Object.create(oi.prototype),fm.prototype.constructor=fm);fm.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=kn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Ofe)),l(c)||(c=H.WHITE),o=jt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new wt({id:t,geometry:new K3(this._options),attributes:i})};fm.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,Ofe),o=this._distanceDisplayConditionProperty.getValue(e);return new wt({id:t,geometry:new $3(this._options),attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o)}})};fm.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.shape)||oi.prototype._isHidden.call(this,e,t)};fm.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!t.shape.isConstant||!q.isConstant(t.granularity)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)};fm.prototype._setStaticOptions=function(e,t){let n=t.granularity,i=t.cornerType,o=this._options,r=this._materialProperty instanceof Ht;o.vertexFormat=r?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,o.polylinePositions=t.positions.getValue(He.MINIMUM_VALUE,o.polylinePositions),o.shapePositions=t.shape.getValue(He.MINIMUM_VALUE,o.shape),o.granularity=l(n)?n.getValue(He.MINIMUM_VALUE):void 0,o.cornerType=l(i)?i.getValue(He.MINIMUM_VALUE):void 0};fm.DynamicGeometryUpdater=YA;function YA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(YA.prototype=Object.create(ii.prototype),YA.prototype.constructor=YA);YA.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.polylinePositions)||!l(i.shapePositions)||ii.prototype._isHidden.call(this,e,t,n)};YA.prototype._setOptions=function(e,t,n){let i=this._options;i.polylinePositions=q.getValueOrUndefined(t.positions,n,i.polylinePositions),i.shapePositions=q.getValueOrUndefined(t.shape,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n)};var Z3=fm;var p7=new h,Nfe=new h,Ffe=new h,Bfe=new h,kfe=new se,GZe=new U,WZe=new ae,jZe=new ae;function Vfe(e,t){let n=new dt({attributes:new mn,primitiveType:Fe.TRIANGLES});return n.attributes.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(n.attributes.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(n.attributes.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(n.attributes.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.bitangents})),n}function qZe(e,t,n,i){let o=e.length,r=t.normal?new Float32Array(o):void 0,s=t.tangent?new Float32Array(o):void 0,a=t.bitangent?new Float32Array(o):void 0,c=0,u=Bfe,f=Ffe,d=Nfe;if(t.normal||t.tangent||t.bitangent)for(let p=0;p<o;p+=3){let g=h.fromArray(e,p,p7),m=c+1,x=c+2;d=n.geodeticSurfaceNormal(g,d),(t.tangent||t.bitangent)&&(h.cross(h.UNIT_Z,d,f),Z.multiplyByVector(i,f,f),h.normalize(f,f),t.bitangent&&h.normalize(h.cross(d,f,u),u)),t.normal&&(r[c]=d.x,r[m]=d.y,r[x]=d.z),t.tangent&&(s[c]=f.x,s[m]=f.y,s[x]=f.z),t.bitangent&&(a[c]=u.x,a[m]=u.y,a[x]=u.z),c+=3}return Vfe(t,{positions:e,normals:r,tangents:s,bitangents:a})}var _7=new h,Ufe=new h;function YZe(e,t,n){let i=e.length,o=t.normal?new Float32Array(i):void 0,r=t.tangent?new Float32Array(i):void 0,s=t.bitangent?new Float32Array(i):void 0,a=0,c=0,u=0,f=!0,d=Bfe,p=Ffe,g=Nfe;if(t.normal||t.tangent||t.bitangent)for(let m=0;m<i;m+=6){let x=h.fromArray(e,m,p7),b=h.fromArray(e,(m+6)%i,_7);if(f){let T=h.fromArray(e,(m+3)%i,Ufe);h.subtract(b,x,b),h.subtract(T,x,T),g=h.normalize(h.cross(T,b,g),g),f=!1}h.equalsEpsilon(b,x,P.EPSILON10)&&(f=!0),(t.tangent||t.bitangent)&&(d=n.geodeticSurfaceNormal(x,d),t.tangent&&(p=h.normalize(h.cross(d,g,p),p))),t.normal&&(o[a++]=g.x,o[a++]=g.y,o[a++]=g.z,o[a++]=g.x,o[a++]=g.y,o[a++]=g.z),t.tangent&&(r[c++]=p.x,r[c++]=p.y,r[c++]=p.z,r[c++]=p.x,r[c++]=p.y,r[c++]=p.z),t.bitangent&&(s[u++]=d.x,s[u++]=d.y,s[u++]=d.z,s[u++]=d.x,s[u++]=d.y,s[u++]=d.z)}return Vfe(t,{positions:e,normals:o,tangents:r,bitangents:s})}function zfe(e,t){let n=e._vertexFormat,i=e._ellipsoid,o=t.height,r=t.width,s=t.northCap,a=t.southCap,c=0,u=o,f=o,d=0;s&&(c=1,f-=1,d+=1),a&&(u-=1,f-=1,d+=1),d+=r*f;let p=n.position?new Float64Array(d*3):void 0,g=n.st?new Float32Array(d*2):void 0,m=0,x=0,b=p7,T=GZe,C=Number.MAX_VALUE,A=Number.MAX_VALUE,S=-Number.MAX_VALUE,w=-Number.MAX_VALUE;for(let E=c;E<u;++E)for(let v=0;v<r;++v)Us.computePosition(t,i,n.st,E,v,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,C=Math.min(C,T.x),A=Math.min(A,T.y),S=Math.max(S,T.x),w=Math.max(w,T.y));if(s&&(Us.computePosition(t,i,n.st,0,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,C=T.x,A=T.y,S=T.x,w=T.y)),a&&(Us.computePosition(t,i,n.st,o-1,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m]=b.z,n.st&&(g[x++]=T.x,g[x]=T.y,C=Math.min(C,T.x),A=Math.min(A,T.y),S=Math.max(S,T.x),w=Math.max(w,T.y))),n.st&&(C<0||A<0||S>1||w>1))for(let E=0;E<g.length;E+=2)g[E]=(g[E]-C)/(S-C),g[E+1]=(g[E+1]-A)/(w-A);let D=qZe(p,n,i,t.tangentRotationMatrix),O=6*(r-1)*(f-1);s&&(O+=3*(r-1)),a&&(O+=3*(r-1));let R=Be.createTypedArray(d,O),M=0,L=0,_;for(_=0;_<f-1;++_){for(let E=0;E<r-1;++E){let v=M,I=v+r,N=I+1,B=v+1;R[L++]=v,R[L++]=I,R[L++]=B,R[L++]=B,R[L++]=I,R[L++]=N,++M}++M}if(s||a){let E=d-1,v=d-1;s&&a&&(E=d-2);let I,N;if(M=0,s)for(_=0;_<r-1;_++)I=M,N=I+1,R[L++]=E,R[L++]=I,R[L++]=N,++M;if(a)for(M=(f-1)*r,_=0;_<r-1;_++)I=M,N=I+1,R[L++]=I,R[L++]=v,R[L++]=N,++M}return D.indices=R,n.st&&(D.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),D}function XA(e,t,n,i,o){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],e[t++]=o[n],e[t++]=o[n+1],e[t]=o[n+2],e}function KA(e,t,n,i){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n],e[t]=i[n+1],e}var g7=new Pe;function XZe(e,t){let n=e._shadowVolume,i=e._offsetAttribute,o=e._vertexFormat,r=e._extrudedHeight,s=e._surfaceHeight,a=e._ellipsoid,c=t.height,u=t.width,f;if(n){let Le=Pe.clone(o,g7);Le.normal=!0,e._vertexFormat=Le}let d=zfe(e,t);n&&(e._vertexFormat=o);let p=si.scaleToGeodeticHeight(d.attributes.position.values,s,a,!1);p=new Float64Array(p);let g=p.length,m=g*2,x=new Float64Array(m);x.set(p);let b=si.scaleToGeodeticHeight(d.attributes.position.values,r,a);x.set(b,g),d.attributes.position.values=x;let T=o.normal?new Float32Array(m):void 0,C=o.tangent?new Float32Array(m):void 0,A=o.bitangent?new Float32Array(m):void 0,S=o.st?new Float32Array(m/3*2):void 0,w,D;if(o.normal){for(D=d.attributes.normal.values,T.set(D),f=0;f<g;f++)D[f]=-D[f];T.set(D,g),d.attributes.normal.values=T}if(n){D=d.attributes.normal.values,o.normal||(d.attributes.normal=void 0);let Le=new Float32Array(m);for(f=0;f<g;f++)D[f]=-D[f];Le.set(D,g),d.attributes.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:Le})}let O,R=l(i);if(R){let Le=g/3*2,ke=new Uint8Array(Le);i===ln.TOP?ke=ke.fill(1,0,Le/2):(O=i===ln.NONE?0:1,ke=ke.fill(O)),d.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:ke})}if(o.tangent){let Le=d.attributes.tangent.values;for(C.set(Le),f=0;f<g;f++)Le[f]=-Le[f];C.set(Le,g),d.attributes.tangent.values=C}if(o.bitangent){let Le=d.attributes.bitangent.values;A.set(Le),A.set(Le,g),d.attributes.bitangent.values=A}o.st&&(w=d.attributes.st.values,S.set(w),S.set(w,g/3*2),d.attributes.st.values=S);let M=d.indices,L=M.length,_=g/3,E=Be.createTypedArray(m/3,L*2);for(E.set(M),f=0;f<L;f+=3)E[f+L]=M[f+2]+_,E[f+1+L]=M[f+1]+_,E[f+2+L]=M[f]+_;d.indices=E;let v=t.northCap,I=t.southCap,N=c,B=2,z=0,V=4,G=4;v&&(B-=1,N-=1,z+=1,V-=2,G-=1),I&&(B-=1,N-=1,z+=1,V-=2,G-=1),z+=B*u+2*N-V;let k=(z+G)*2,Y=new Float64Array(k*3),W=n?new Float32Array(k*3):void 0,J=R?new Uint8Array(k):void 0,j=o.st?new Float32Array(k*2):void 0,$=i===ln.TOP;R&&!$&&(O=i===ln.ALL?1:0,J=J.fill(O));let Q=0,he=0,ye=0,re=0,_e=u*N,xe;for(f=0;f<_e;f+=u)xe=f*3,Y=XA(Y,Q,xe,p,b),Q+=6,o.st&&(j=KA(j,he,f*2,w),he+=4),n&&(ye+=3,W[ye++]=D[xe],W[ye++]=D[xe+1],W[ye++]=D[xe+2]),$&&(J[re++]=1,re+=1);if(I){let Le=v?_e+1:_e;for(xe=Le*3,f=0;f<2;f++)Y=XA(Y,Q,xe,p,b),Q+=6,o.st&&(j=KA(j,he,Le*2,w),he+=4),n&&(ye+=3,W[ye++]=D[xe],W[ye++]=D[xe+1],W[ye++]=D[xe+2]),$&&(J[re++]=1,re+=1)}else for(f=_e-u;f<_e;f++)xe=f*3,Y=XA(Y,Q,xe,p,b),Q+=6,o.st&&(j=KA(j,he,f*2,w),he+=4),n&&(ye+=3,W[ye++]=D[xe],W[ye++]=D[xe+1],W[ye++]=D[xe+2]),$&&(J[re++]=1,re+=1);for(f=_e-1;f>0;f-=u)xe=f*3,Y=XA(Y,Q,xe,p,b),Q+=6,o.st&&(j=KA(j,he,f*2,w),he+=4),n&&(ye+=3,W[ye++]=D[xe],W[ye++]=D[xe+1],W[ye++]=D[xe+2]),$&&(J[re++]=1,re+=1);if(v){let Le=_e;for(xe=Le*3,f=0;f<2;f++)Y=XA(Y,Q,xe,p,b),Q+=6,o.st&&(j=KA(j,he,Le*2,w),he+=4),n&&(ye+=3,W[ye++]=D[xe],W[ye++]=D[xe+1],W[ye++]=D[xe+2]),$&&(J[re++]=1,re+=1)}else for(f=u-1;f>=0;f--)xe=f*3,Y=XA(Y,Q,xe,p,b),Q+=6,o.st&&(j=KA(j,he,f*2,w),he+=4),n&&(ye+=3,W[ye++]=D[xe],W[ye++]=D[xe+1],W[ye++]=D[xe+2]),$&&(J[re++]=1,re+=1);let De=YZe(Y,o,a);o.st&&(De.attributes.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:j})),n&&(De.attributes.extrudeDirection=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:W})),R&&(De.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:J}));let we=Be.createTypedArray(k,z*6),Oe,Me,ht,it;g=Y.length/3;let At=0;for(f=0;f<g-1;f+=2){Oe=f,it=(Oe+2)%g;let Le=h.fromArray(Y,Oe*3,_7),ke=h.fromArray(Y,it*3,Ufe);h.equalsEpsilon(Le,ke,P.EPSILON10)||(Me=(Oe+1)%g,ht=(Me+2)%g,we[At++]=Oe,we[At++]=Me,we[At++]=it,we[At++]=it,we[At++]=Me,we[At++]=ht)}return De.indices=we,De=Un.combineInstances([new wt({geometry:d}),new wt({geometry:De})]),De[0]}var KZe=[new h,new h,new h,new h],Hfe=new fe,$Ze=new fe;function y7(e,t,n,i,o){if(n===0)return se.clone(e,o);let r=Us.computeOptions(e,t,n,0,kfe,Hfe),s=r.height,a=r.width,c=KZe;return Us.computePosition(r,i,!1,0,0,c[0]),Us.computePosition(r,i,!1,0,a-1,c[1]),Us.computePosition(r,i,!1,s-1,0,c[2]),Us.computePosition(r,i,!1,s-1,a-1,c[3]),se.fromCartesianArray(c,i,o)}function dm(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.height,0),i=y(e.extrudedHeight,n);this._rectangle=se.clone(t),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._surfaceHeight=Math.max(n,i),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._extrudedHeight=Math.min(n,i),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}dm.packedLength=se.packedLength+ee.packedLength+Pe.packedLength+7;dm.pack=function(e,t,n){return n=y(n,0),se.pack(e._rectangle,t,n),n+=se.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var Gfe=new se,Wfe=ee.clone(ee.UNIT_SPHERE),dy={rectangle:Gfe,ellipsoid:Wfe,vertexFormat:g7,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};dm.unpack=function(e,t,n){t=y(t,0);let i=se.unpack(e,t,Gfe);t+=se.packedLength;let o=ee.unpack(e,t,Wfe);t+=ee.packedLength;let r=Pe.unpack(e,t,g7);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++]===1,p=e[t];return l(n)?(n._rectangle=se.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._granularity=s,n._surfaceHeight=a,n._rotation=c,n._stRotation=u,n._extrudedHeight=f,n._shadowVolume=d,n._offsetAttribute=p===-1?void 0:p,n):(dy.granularity=s,dy.height=a,dy.rotation=c,dy.stRotation=u,dy.extrudedHeight=f,dy.shadowVolume=d,dy.offsetAttribute=p===-1?void 0:p,new dm(dy))};dm.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.rectangle,i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.ellipsoid,ee.default),r=y(e.rotation,0);return y7(n,i,r,o,t)};var ZZe=new Z,Mfe=new Ne,QZe=new fe;dm.createGeometry=function(e){if(P.equalsEpsilon(e._rectangle.north,e._rectangle.south,P.EPSILON10)||P.equalsEpsilon(e._rectangle.east,e._rectangle.west,P.EPSILON10))return;let t=e._rectangle,n=e._ellipsoid,i=e._rotation,o=e._stRotation,r=e._vertexFormat,s=Us.computeOptions(t,e._granularity,i,o,kfe,Hfe,$Ze),a=ZZe;if(o!==0||i!==0){let g=se.center(t,QZe),m=n.geodeticSurfaceNormalCartographic(g,_7);Ne.fromAxisAngle(m,-o,Mfe),Z.fromQuaternion(Mfe,a)}else Z.clone(Z.IDENTITY,a);let c=e._surfaceHeight,u=e._extrudedHeight,f=!P.equalsEpsilon(c,u,0,P.EPSILON2);s.lonScalar=1/e._rectangle.width,s.latScalar=1/e._rectangle.height,s.tangentRotationMatrix=a;let d,p;if(t=e._rectangle,f){d=XZe(e,s);let g=ae.fromRectangle3D(t,n,c,jZe),m=ae.fromRectangle3D(t,n,u,WZe);p=ae.union(g,m)}else{if(d=zfe(e,s),d.attributes.position.values=si.scaleToGeodeticHeight(d.attributes.position.values,c,n,!1),l(e._offsetAttribute)){let g=d.attributes.position.values.length,m=e._offsetAttribute===ln.NONE?0:1,x=new Uint8Array(g/3).fill(m);d.attributes.applyOffset=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}p=ae.fromRectangle3D(t,n,c)}return r.position||delete d.attributes.position,new dt({attributes:d.attributes,indices:d.indices,primitiveType:d.primitiveType,boundingSphere:p,offsetAttribute:e._offsetAttribute})};dm.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new dm({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:o,stRotation:e._stRotation,granularity:i,extrudedHeight:s,height:r,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};var Lfe=new se,JZe=[new U,new U,new U],eQe=new Fi,tQe=new fe;function nQe(e){if(e._stRotation===0)return[0,0,0,1,1,0];let t=se.clone(e._rectangle,Lfe),n=e._granularity,i=e._ellipsoid,o=e._rotation-e._stRotation,r=y7(t,n,o,i,Lfe),s=JZe;s[0].x=r.west,s[0].y=r.south,s[1].x=r.west,s[1].y=r.north,s[2].x=r.east,s[2].y=r.south;let a=e.rectangle,c=Fi.fromRotation(e._stRotation,eQe),u=se.center(a,tQe);for(let m=0;m<3;++m){let x=s[m];x.x-=u.longitude,x.y-=u.latitude,Fi.multiplyByVector(c,x,x),x.x+=u.longitude,x.y+=u.latitude,x.x=(x.x-a.west)/a.width,x.y=(x.y-a.south)/a.height}let f=s[0],d=s[1],p=s[2],g=new Array(6);return U.pack(f,g),U.pack(d,g,2),U.pack(p,g,4),g}Object.defineProperties(dm.prototype,{rectangle:{get:function(){return l(this._rotatedRectangle)||(this._rotatedRectangle=y7(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=nQe(this)),this._textureCoordinateRotationPoints}}});var $A=dm;var jfe=new H,qfe=h.ZERO,Yfe=new h,Xfe=new se,iQe=new se,oQe=new fe;function rQe(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function Md(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new rQe(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}l(Object.create)&&(Md.prototype=Object.create(jn.prototype),Md.prototype.constructor=Md);Md.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:kn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,jfe)),l(o)||(o=H.WHITE),i.color=jt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,qfe,Yfe))),new wt({id:t,geometry:new $A(this._options),attributes:i})};Md.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,jfe),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=$i.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,qfe,Yfe))),new wt({id:t,geometry:new rA(this._options),attributes:r})};Md.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.rectangle.coordinates,e,iQe);if(!l(n))return;let i=se.center(n,oQe);return fe.toCartesian(i,ee.default,t)};Md.prototype._isHidden=function(e,t){return!l(t.coordinates)||oi.prototype._isHidden.call(this,e,t)};Md.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.rotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};Md.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=q.getValueOrUndefined(t.height,He.MINIMUM_VALUE),o=q.getValueOrDefault(t.heightReference,He.MINIMUM_VALUE,Ye.NONE),r=q.getValueOrUndefined(t.extrudedHeight,He.MINIMUM_VALUE),s=q.getValueOrDefault(t.extrudedHeightReference,He.MINIMUM_VALUE,Ye.NONE);l(r)&&!l(i)&&(i=0);let a=this._options;a.vertexFormat=n?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,a.rectangle=t.coordinates.getValue(He.MINIMUM_VALUE,a.rectangle),a.granularity=q.getValueOrUndefined(t.granularity,He.MINIMUM_VALUE),a.stRotation=q.getValueOrUndefined(t.stRotation,He.MINIMUM_VALUE),a.rotation=q.getValueOrUndefined(t.rotation,He.MINIMUM_VALUE),a.offsetAttribute=jn.computeGeometryOffsetAttribute(i,o,r,s),a.height=jn.getGeometryHeight(i,o),r=jn.getGeometryExtrudedHeight(r,s),r===jn.CLAMP_TO_GROUND&&(r=li.getMinimumMaximumHeights($A.computeRectangle(a,Xfe)).minimumTerrainHeight),a.extrudedHeight=r};Md.DynamicGeometryUpdater=ZA;function ZA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(ZA.prototype=Object.create(ii.prototype),ZA.prototype.constructor=ZA);ZA.prototype._isHidden=function(e,t,n){return!l(this._options.rectangle)||ii.prototype._isHidden.call(this,e,t,n)};ZA.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Ye.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,Ye.NONE);l(s)&&!l(o)&&(o=0),i.rectangle=q.getValueOrUndefined(t.coordinates,n,i.rectangle),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=li.getMinimumMaximumHeights($A.computeRectangle(i,Xfe)).minimumTerrainHeight),i.extrudedHeight=s};var Q3=Md;var Kfe={};function sQe(e,t){return P.equalsEpsilon(e.latitude,t.latitude,P.EPSILON10)&&P.equalsEpsilon(e.longitude,t.longitude,P.EPSILON10)}var aQe=new fe,cQe=new fe;function lQe(e,t,n,i){t=xo(t,h.equalsEpsilon);let o=t.length;if(o<2)return;let r=l(i),s=l(n),a=new Array(o),c=new Array(o),u=new Array(o),f=t[0];a[0]=f;let d=e.cartesianToCartographic(f,aQe);s&&(d.height=n[0]),c[0]=d.height,r?u[0]=i[0]:u[0]=0;let p=c[0],g=u[0],m=p===g,x=1;for(let b=1;b<o;++b){let T=t[b],C=e.cartesianToCartographic(T,cQe);s&&(C.height=n[b]),m=m&&C.height===0,sQe(d,C)?d.height<C.height&&(c[x-1]=C.height):(a[x]=T,c[x]=C.height,r?u[x]=i[b]:u[x]=0,m=m&&c[x]===u[x],fe.clone(C,d),++x)}if(!(m||x<2))return a.length=x,c.length=x,u.length=x,{positions:a,topHeights:c,bottomHeights:u}}var uQe=new Array(2),fQe=new Array(2),dQe={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};Kfe.computePositions=function(e,t,n,i,o,r){let s=lQe(e,t,n,i);if(!l(s))return;t=s.positions,n=s.topHeights,i=s.bottomHeights;let a=t.length,c=a-2,u,f,d=P.chordLength(o,e.maximumRadius),p=dQe;if(p.minDistance=d,p.ellipsoid=e,r){let g=0,m;for(m=0;m<a-1;m++)g+=Ri.numberOfPoints(t[m],t[m+1],d)+1;u=new Float64Array(g*3),f=new Float64Array(g*3);let x=uQe,b=fQe;p.positions=x,p.height=b;let T=0;for(m=0;m<a-1;m++){x[0]=t[m],x[1]=t[m+1],b[0]=n[m],b[1]=n[m+1];let C=Ri.generateArc(p);u.set(C,T),b[0]=i[m],b[1]=i[m+1],f.set(Ri.generateArc(p),T),T+=C.length}}else p.positions=t,p.height=n,u=new Float64Array(Ri.generateArc(p)),p.height=i,f=new Float64Array(Ri.generateArc(p));return{bottomPositions:f,topPositions:u,numCorners:c}};var QA=Kfe;var x7=new h,J3=new h,hQe=new h,$fe=new h,mQe=new h,pQe=new h,_Qe=new h;function Xx(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=Pe.clone(o),this._granularity=r,this._ellipsoid=ee.clone(s),this._workerName="createWallGeometry";let a=1+t.length*h.packedLength+2;l(i)&&(a+=i.length),l(n)&&(a+=n.length),this.packedLength=a+ee.packedLength+Pe.packedLength+1}Xx.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n]=e._granularity,t};var Zfe=ee.clone(ee.UNIT_SPHERE),Qfe=new Pe,LD={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:Zfe,vertexFormat:Qfe,granularity:void 0};Xx.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,Zfe);t+=ee.packedLength;let u=Pe.unpack(e,t,Qfe);t+=Pe.packedLength;let f=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._vertexFormat=Pe.clone(u,n._vertexFormat),n._granularity=f,n):(LD.positions=r,LD.minimumHeights=s,LD.maximumHeights=a,LD.granularity=f,new Xx(LD))};Xx.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat};return new Xx(c)};Xx.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._vertexFormat,r=e._granularity,s=e._ellipsoid,a=QA.computePositions(s,t,i,n,r,!0);if(!l(a))return;let c=a.bottomPositions,u=a.topPositions,f=a.numCorners,d=u.length,p=d*2,g=o.position?new Float64Array(p):void 0,m=o.normal?new Float32Array(p):void 0,x=o.tangent?new Float32Array(p):void 0,b=o.bitangent?new Float32Array(p):void 0,T=o.st?new Float32Array(p/3*2):void 0,C=0,A=0,S=0,w=0,D=0,O=_Qe,R=pQe,M=mQe,L=!0;d/=3;let _,E=0,v=1/(d-f-1);for(_=0;_<d;++_){let V=_*3,G=h.fromArray(u,V,x7),k=h.fromArray(c,V,J3);if(o.position&&(g[C++]=k.x,g[C++]=k.y,g[C++]=k.z,g[C++]=G.x,g[C++]=G.y,g[C++]=G.z),o.st&&(T[D++]=E,T[D++]=0,T[D++]=E,T[D++]=1),o.normal||o.tangent||o.bitangent){let Y=h.clone(h.ZERO,$fe),W=h.subtract(G,s.geodeticSurfaceNormal(G,J3),J3);if(_+1<d&&(Y=h.fromArray(u,V+3,$fe)),L){let J=h.subtract(Y,G,hQe),j=h.subtract(W,G,x7);O=h.normalize(h.cross(j,J,O),O),L=!1}h.equalsEpsilon(G,Y,P.EPSILON10)?L=!0:(E+=v,o.tangent&&(R=h.normalize(h.subtract(Y,G,R),R)),o.bitangent&&(M=h.normalize(h.cross(O,R,M),M))),o.normal&&(m[A++]=O.x,m[A++]=O.y,m[A++]=O.z,m[A++]=O.x,m[A++]=O.y,m[A++]=O.z),o.tangent&&(x[w++]=R.x,x[w++]=R.y,x[w++]=R.z,x[w++]=R.x,x[w++]=R.y,x[w++]=R.z),o.bitangent&&(b[S++]=M.x,b[S++]=M.y,b[S++]=M.z,b[S++]=M.x,b[S++]=M.y,b[S++]=M.z)}}let I=new mn;o.position&&(I.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:g})),o.normal&&(I.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),o.tangent&&(I.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),o.bitangent&&(I.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:b})),o.st&&(I.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T}));let N=p/3;p-=6*(f+1);let B=Be.createTypedArray(N,p),z=0;for(_=0;_<N-2;_+=2){let V=_,G=_+2,k=h.fromArray(g,V*3,x7),Y=h.fromArray(g,G*3,J3);if(h.equalsEpsilon(k,Y,P.EPSILON10))continue;let W=_+1,J=_+3;B[z++]=W,B[z++]=V,B[z++]=J,B[z++]=J,B[z++]=V,B[z++]=G}return new dt({attributes:I,indices:B,primitiveType:Fe.TRIANGLES,boundingSphere:new ae.fromVertices(g)})};var ek=Xx;var Jfe=new h,ede=new h;function Kx(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._granularity=o,this._ellipsoid=ee.clone(r),this._workerName="createWallOutlineGeometry";let s=1+t.length*h.packedLength+2;l(i)&&(s+=i.length),l(n)&&(s+=n.length),this.packedLength=s+ee.packedLength+1}Kx.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n]=e._granularity,t};var tde=ee.clone(ee.UNIT_SPHERE),ND={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:tde,granularity:void 0};Kx.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,tde);t+=ee.packedLength;let u=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._granularity=u,n):(ND.positions=r,ND.minimumHeights=s,ND.maximumHeights=a,ND.granularity=u,new Kx(ND))};Kx.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid};return new Kx(c)};Kx.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._granularity,r=e._ellipsoid,s=QA.computePositions(r,t,i,n,o,!1);if(!l(s))return;let a=s.bottomPositions,c=s.topPositions,u=c.length,f=u*2,d=new Float64Array(f),p=0;u/=3;let g;for(g=0;g<u;++g){let C=g*3,A=h.fromArray(c,C,Jfe),S=h.fromArray(a,C,ede);d[p++]=S.x,d[p++]=S.y,d[p++]=S.z,d[p++]=A.x,d[p++]=A.y,d[p++]=A.z}let m=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})}),x=f/3;f=2*x-4+x;let b=Be.createTypedArray(x,f),T=0;for(g=0;g<x-2;g+=2){let C=g,A=g+2,S=h.fromArray(d,C*3,Jfe),w=h.fromArray(d,A*3,ede);if(h.equalsEpsilon(S,w,P.EPSILON10))continue;let D=g+1,O=g+3;b[T++]=D,b[T++]=C,b[T++]=D,b[T++]=O,b[T++]=C,b[T++]=A}return b[T++]=x-2,b[T++]=x-1,new dt({attributes:m,indices:b,primitiveType:Fe.LINES,boundingSphere:new ae.fromVertices(d)})};var tk=Kx;var nde=new H;function gQe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function Ld(e,t){oi.call(this,{entity:e,scene:t,geometryOptions:new gQe(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}l(Object.create)&&(Ld.prototype=Object.create(oi.prototype),Ld.prototype.constructor=Ld);Ld.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=kn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,nde)),l(c)||(c=H.WHITE),o=jt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new wt({id:t,geometry:new ek(this._options),attributes:i})};Ld.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,H.BLACK,nde),o=this._distanceDisplayConditionProperty.getValue(e);return new wt({id:t,geometry:new tk(this._options),attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:jt.fromColor(i),distanceDisplayCondition:kn.fromDistanceDisplayCondition(o)}})};Ld.prototype._isHidden=function(e,t){return!l(t.positions)||oi.prototype._isHidden.call(this,e,t)};Ld.prototype._getIsClosed=function(e){return!1};Ld.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.minimumHeights)||!q.isConstant(t.maximumHeights)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.granularity)};Ld.prototype._setStaticOptions=function(e,t){let n=t.minimumHeights,i=t.maximumHeights,o=t.granularity,r=this._materialProperty instanceof Ht,s=this._options;s.vertexFormat=r?un.VERTEX_FORMAT:co.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(He.MINIMUM_VALUE,s.positions),s.minimumHeights=l(n)?n.getValue(He.MINIMUM_VALUE,s.minimumHeights):void 0,s.maximumHeights=l(i)?i.getValue(He.MINIMUM_VALUE,s.maximumHeights):void 0,s.granularity=l(o)?o.getValue(He.MINIMUM_VALUE):void 0};Ld.DynamicGeometryUpdater=JA;function JA(e,t,n){ii.call(this,e,t,n)}l(Object.create)&&(JA.prototype=Object.create(ii.prototype),JA.prototype.constructor=JA);JA.prototype._isHidden=function(e,t,n){return!l(this._options.positions)||ii.prototype._isHidden.call(this,e,t,n)};JA.prototype._setOptions=function(e,t,n){let i=this._options;i.positions=q.getValueOrUndefined(t.positions,n,i.positions),i.minimumHeights=q.getValueOrUndefined(t.minimumHeights,n,i.minimumHeights),i.maximumHeights=q.getValueOrUndefined(t.maximumHeights,n,i.maximumHeights),i.granularity=q.getValueOrUndefined(t.granularity,n)};var nk=Ld;var $x=[qL,p3,a3,B3,k3,W3,X3,Z3,Q3,nk];function Zx(e,t){this.entity=e,this.scene=t;let n=new Array($x.length),i=new me,o=new Hr;for(let r=0;r<n.length;r++){let s=new $x[r](e,t);o.add(s.geometryChanged,a=>{i.raiseEvent(a)}),n[r]=s}this.updaters=n,this.geometryChanged=i,this.eventHelper=o,this._removeEntitySubscription=e.definitionChanged.addEventListener(Zx.prototype._onEntityPropertyChanged,this)}Zx.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r<o.length;r++)o[r]._onEntityPropertyChanged(e,t,n,i)};Zx.prototype.forEach=function(e){let t=this.updaters;for(let n=0;n<t.length;n++)e(t[n])};Zx.prototype.destroy=function(){this.eventHelper.removeAll();let e=this.updaters;for(let t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),ue(this)};Zx.registerUpdater=function(e){$x.includes(e)||$x.push(e)};Zx.unregisterUpdater=function(e){if($x.includes(e)){let t=$x.indexOf(e);$x.splice(t,1)}};var eE=Zx;var ide=new H,yQe=new Ot,xQe=new Ot,bQe=h.ZERO,TQe=new h;function Nd(e,t,n,i,o,r,s){this.translucent=t,this.appearanceType=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.depthFailMaterial=void 0,this.closed=r,this.shadows=s,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.updaters=new St,this.updatersWithAttributes=new St,this.attributes=new St,this.subscriptions=new St,this.showsUpdated=new St,this.itemsToRemove=[],this.invalidated=!1;let a;l(o)&&(a=o.definitionChanged.addEventListener(Nd.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=a}Nd.prototype.onMaterialChanged=function(){this.invalidated=!0};Nd.prototype.isMaterial=function(e){let t=this.depthFailMaterialProperty,n=e.depthFailMaterialProperty;return n===t?!0:l(t)?t.equals(n):!1};Nd.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};Nd.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};Nd.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0){l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;l(this.depthFailAppearanceType)&&(l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new Rn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ht)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let b=u.fillMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,ide);H.equals(d._lastColor,T)||(d._lastColor=H.clone(T,d._lastColor),d.color=jt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}if(l(this.depthFailAppearanceType)&&u.depthFailMaterialProperty instanceof Ht&&(!u.depthFailMaterialProperty.isConstant||c)){let b=u.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,ide);H.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=H.clone(T,d._lastDepthFailColor),d.depthFailColor=jt.toValue(T,d.depthFailColor))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,xQe,yQe);Ot.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=kn.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,bQe,TQe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=$i.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};Nd.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};Nd.prototype.contains=function(e){return this.updaters.contains(e.id)};Nd.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ft.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ft.FAILED:(i.boundingSphere.clone(t),ft.DONE)};Nd.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),l(this.removeMaterialSubscription)&&this.removeMaterialSubscription()};function tE(e,t,n,i,o){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}tE.prototype.add=function(e,t){let n,i,o=t.createFillGeometryInstance(e);o.attributes.color.value[3]===255?(n=this._solidItems,i=!1):(n=this._translucentItems,i=!0);let r=n.length;for(let a=0;a<r;a++){let c=n[a];if(c.isMaterial(t)){c.add(t,o);return}}let s=new Nd(this._primitives,i,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);s.add(t,o),n.push(s)};function ode(e,t){let n=e.length;for(let i=n-1;i>=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}tE.prototype.remove=function(e){ode(this._solidItems,e)||ode(this._translucentItems,e)};function rde(e,t,n){let i=!1,o=t.length;for(let r=0;r<o;++r){let s=t[r],a=s.itemsToRemove,c=a.length;if(c>0)for(r=0;r<c;r++){let u=a[r];s.remove(u),e.add(n,u),i=!0}}return i}function ik(e,t,n,i){let o=t.length,r;for(r=o-1;r>=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let u=0;u<c;u++)e.add(n,a[u]);s.destroy()}}for(o=t.length,r=0;r<o;++r)i=t[r].update(n)&&i;return i}tE.prototype.update=function(e){let t=ik(this,this._solidItems,e,!0);t=ik(this,this._translucentItems,e,t)&&t;let n=rde(this,this._solidItems,e),i=rde(this,this._translucentItems,e);return(n||i)&&(t=ik(this,this._solidItems,e,t)&&t,t=ik(this,this._translucentItems,e,t)&&t),t};function sde(e,t,n){let i=e.length;for(let o=0;o<i;o++){let r=e[o];if(r.contains(t))return r.getBoundingSphere(t,n)}return ft.FAILED}tE.prototype.getBoundingSphere=function(e,t){let n=sde(this._solidItems,e,t);return n===ft.FAILED?sde(this._translucentItems,e,t):n};function ade(e){let t=e.length;for(let n=0;n<t;n++)e[n].destroy();e.length=0}tE.prototype.removeAllPrimitives=function(){ade(this._solidItems),ade(this._translucentItems)};var Fd=tE;var CQe=new Ot,AQe=new Ot,EQe=h.ZERO,SQe=new h;function Bd(e,t,n,i,o,r,s){this.primitives=e,this.appearanceType=t,this.materialProperty=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.closed=r,this.shadows=s,this.updaters=new St,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new St,this.attributes=new St,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(Bd.prototype.onMaterialChanged,this),this.subscriptions=new St,this.showsUpdated=new St}Bd.prototype.onMaterialChanged=function(){this.invalidated=!0};Bd.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty,i=this.depthFailMaterialProperty,o=e.depthFailMaterialProperty;if(n===t&&o===i)return!0;let r=l(t)&&t.equals(n);return r=(!l(i)&&!l(o)||l(i)&&i.equals(o))&&r,r};Bd.prototype.add=function(e,t){let n=t.id;if(this.updaters.set(n,t),this.geometry.set(n,t.createFillGeometryInstance(e)),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty)||!q.isConstant(t.terrainOffsetProperty))this.updatersWithAttributes.set(n,t);else{let i=this;this.subscriptions.set(n,t.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Bd.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};var wQe=new H;Bd.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0){l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=rr.getValue(e,this.materialProperty,this.material);let a;l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new Rn({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=rr.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ht)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),l(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof Ht&&!c.depthFailMaterialProperty.isConstant){let b=c.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,H.WHITE,wQe);H.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=H.clone(T,d._lastDepthFailColor),d.depthFailColor=jt.toValue(T,d.depthFailColor))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,AQe,CQe);Ot.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=kn.toValue(b,d.distanceDisplayCondition))}let x=c.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,EQe,SQe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=$i.toValue(b,d.offset))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};Bd.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Bd.prototype.contains=function(e){return this.updaters.contains(e.id)};Bd.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ft.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ft.FAILED:(i.boundingSphere.clone(t),ft.DONE)};Bd.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function nE(e,t,n,i,o){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}nE.prototype.add=function(e,t){let n=this._items,i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s.isMaterial(t)){s.add(e,t);return}}let o=new Bd(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),n.push(o)};nE.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};nE.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};nE.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ft.FAILED};nE.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var kd=nE;var lde=Er(cde(),1);function ok(){this._tree=new lde.default}function Qx(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}Qx.fromRectangleAndId=function(e,t,n){return n.minX=t.west,n.minY=t.south,n.maxX=t.east,n.maxY=t.north,n.id=e,n};ok.prototype.insert=function(e,t){let n=Qx.fromRectangleAndId(e,t,new Qx);this._tree.insert(n)};function vQe(e,t){return e.id===t.id}var DQe=new Qx;ok.prototype.remove=function(e,t){let n=Qx.fromRectangleAndId(e,t,DQe);this._tree.remove(n,vQe)};var IQe=new Qx;ok.prototype.collides=function(e){let t=Qx.fromRectangleAndId("",e,IQe);return this._tree.collides(t)};var iE=ok;var PQe=new H,RQe=new Ot,OQe=new Ot;function i_(e,t,n,i){this.primitives=e,this.zIndex=i,this.classificationType=t,this.color=n,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.updaters=new St,this.updatersWithAttributes=new St,this.attributes=new St,this.subscriptions=new St,this.showsUpdated=new St,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new iE}i_.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};i_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),this.rectangleCollisionCheck.insert(n,t.geometry.rectangle),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};i_.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};i_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new ul({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let x=u.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,H.WHITE,PQe);H.equals(d._lastColor,b)||(d._lastColor=H.clone(b,d._lastColor),d.color=jt.toValue(b,d.color))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,OQe,RQe);Ot.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=kn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};i_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};i_.prototype.contains=function(e){return this.updaters.contains(e.id)};i_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ft.PENDING;let i=n.getBoundingSphere(e.entity);return l(i)?(i.clone(t),ft.DONE):ft.FAILED};i_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function oE(e,t){this._batches=[],this._primitives=e,this._classificationType=t}oE.prototype.add=function(e,t){let n=t.createFillGeometryInstance(e),i=this._batches,o=q.getValueOrDefault(t.zIndex,0),r,s=i.length;for(let a=0;a<s;++a){let c=i[a];if(c.zIndex===o&&!c.overlapping(n.geometry.rectangle)){r=c;break}}return l(r)||(r=new i_(this._primitives,this._classificationType,n.attributes.color.value,o),i.push(r)),r.add(t,n),r};oE.prototype.remove=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;++i)if(t[i].remove(e))return};oE.prototype.update=function(e){let t,n,i=!0,o=this._batches,r=o.length;for(t=0;t<r;++t)i=o[t].update(e)&&i;for(t=0;t<r;++t){let s=o[t],a=s.itemsToRemove,c=a.length;for(let u=0;u<c;u++){n=a[u],s.remove(n);let f=this.add(e,n);s.isDirty=!0,f.isDirty=!0}}for(t=r-1;t>=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};oE.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ft.FAILED};oE.prototype.removeAllPrimitives=function(){let e=this._batches,t=e.length;for(let n=0;n<t;++n)e[n].removeAllPrimitives()};var FD=oE;var MQe=new Ot,LQe=new Ot;function Rf(e,t,n,i,o,r){this.primitives=e,this.classificationType=t,this.appearanceType=n,this.materialProperty=i,this.updaters=new St,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.material=void 0,this.updatersWithAttributes=new St,this.attributes=new St,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(Rf.prototype.onMaterialChanged,this),this.subscriptions=new St,this.showsUpdated=new St,this.usingSphericalTextureCoordinates=o,this.zIndex=r,this.rectangleCollisionCheck=new iE}Rf.prototype.onMaterialChanged=function(){this.invalidated=!0};Rf.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};Rf.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ht&&t instanceof Ht?!0:l(t)&&t.equals(n)};Rf.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),this.rectangleCollisionCheck.insert(i,n.geometry.rectangle),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Rf.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t)),!0}return!1};Rf.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=rr.getValue(e,this.materialProperty,this.material),n=new ul({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=rr.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d));let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,LQe,MQe);Ot.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=kn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};Rf.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Rf.prototype.contains=function(e){return this.updaters.contains(e.id)};Rf.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ft.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ft.FAILED:(i.boundingSphere.clone(t),ft.DONE)};Rf.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function rE(e,t,n){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=n}rE.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=$u.shouldUseSphericalCoordinates(o.geometry.rectangle),s=q.getValueOrDefault(t.zIndex,0);for(let c=0;c<i;++c){let u=n[c];if(u.isMaterial(t)&&u.usingSphericalTextureCoordinates===r&&u.zIndex===s&&!u.overlapping(o.geometry.rectangle)){u.add(e,t,o);return}}let a=new Rf(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,r,s);a.add(e,t,o),n.push(a)};rE.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};rE.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};rE.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ft.FAILED};rE.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var rk=rE;var NQe=new H,FQe=new Ot,BQe=new Ot,kQe=h.ZERO,VQe=new h;function o_(e,t,n,i){this.translucent=t,this.width=n,this.shadows=i,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.updaters=new St,this.updatersWithAttributes=new St,this.attributes=new St,this.itemsToRemove=[],this.subscriptions=new St,this.showsUpdated=new St}o_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantOutline||!e.outlineColorProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};o_.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};o_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new Rn({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new un({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.outlineColorProperty.isConstant||c){let b=u.outlineColorProperty,T=q.getValueOrDefault(b,e,H.WHITE,NQe);H.equals(d._lastColor,T)||(d._lastColor=H.clone(T,d._lastColor),d.color=jt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}let p=u.entity.isShowing&&(u.hasConstantOutline||u.isOutlineVisible(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,BQe,FQe);Ot.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=kn.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,kQe,VQe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=$i.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};o_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};o_.prototype.contains=function(e){return this.updaters.contains(e.id)};o_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ft.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ft.FAILED:(i.boundingSphere.clone(t),ft.DONE)};o_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function sE(e,t,n){this._primitives=e,this._scene=t,this._shadows=n,this._solidBatches=new St,this._translucentBatches=new St}sE.prototype.add=function(e,t){let n=t.createOutlineGeometryInstance(e),i=this._scene.clampLineWidth(t.outlineWidth),o,r;n.attributes.color.value[3]===255?(o=this._solidBatches,r=o.get(i),l(r)||(r=new o_(this._primitives,!1,i,this._shadows),o.set(i,r)),r.add(t,n)):(o=this._translucentBatches,r=o.get(i),l(r)||(r=new o_(this._primitives,!0,i,this._shadows),o.set(i,r)),r.add(t,n))};sE.prototype.remove=function(e){let t,n=this._solidBatches.values,i=n.length;for(t=0;t<i;t++)if(n[t].remove(e))return;let o=this._translucentBatches.values,r=o.length;for(t=0;t<r;t++)if(o[t].remove(e))return};sE.prototype.update=function(e){let t,n,i,o,r=this._solidBatches.values,s=r.length,a=this._translucentBatches.values,c=a.length,u,f=!0,d=!1;do{for(d=!1,n=0;n<s;n++){o=r[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}for(n=0;n<c;n++){o=a[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}}while(d);return f};sE.prototype.getBoundingSphere=function(e,t){let n,i=this._solidBatches.values,o=i.length;for(n=0;n<o;n++){let a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}let r=this._translucentBatches.values,s=r.length;for(n=0;n<s;n++){let a=r[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return ft.FAILED};sE.prototype.removeAllPrimitives=function(){let e,t=this._solidBatches.values,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._translucentBatches.values,o=i.length;for(e=0;e<o;e++)i[e].removeAllPrimitives()};var BD=sE;var UQe=[];function Cl(e,t,n,i){n=y(n,e.primitives),i=y(i,e.groundPrimitives),this._scene=e,this._primitives=n,this._groundPrimitives=i,this._entityCollection=void 0,this._addedObjects=new St,this._removedObjects=new St,this._changedObjects=new St;let o=bn.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(o*2),this._closedColorBatches=new Array(o*2),this._closedMaterialBatches=new Array(o*2),this._openColorBatches=new Array(o*2),this._openMaterialBatches=new Array(o*2);let r=sr.supportsMaterialsforEntitiesOnTerrain(e);this._supportsMaterialsforEntitiesOnTerrain=r;let s;for(s=0;s<o;++s)this._outlineBatches[s]=new BD(n,e,s,!1),this._outlineBatches[o+s]=new BD(n,e,s,!0),this._closedColorBatches[s]=new Fd(n,un,void 0,!0,s,!0),this._closedColorBatches[o+s]=new Fd(n,un,void 0,!0,s,!1),this._closedMaterialBatches[s]=new kd(n,co,void 0,!0,s,!0),this._closedMaterialBatches[o+s]=new kd(n,co,void 0,!0,s,!1),this._openColorBatches[s]=new Fd(n,un,void 0,!1,s,!0),this._openColorBatches[o+s]=new Fd(n,un,void 0,!1,s,!1),this._openMaterialBatches[s]=new kd(n,co,void 0,!1,s,!0),this._openMaterialBatches[o+s]=new kd(n,co,void 0,!1,s,!1);let a=Vn.NUMBER_OF_CLASSIFICATION_TYPES,c=new Array(a),u=[];if(r)for(s=0;s<a;++s)u.push(new rk(i,s,co)),c[s]=new FD(i,s);else for(s=0;s<a;++s)c[s]=new FD(i,s);this._groundColorBatches=c,this._groundMaterialBatches=u,this._dynamicBatch=new kA(n,i),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new St,this._updaterSets=new St,this._entityCollection=t,t.collectionChanged.addEventListener(Cl.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,UQe)}Cl.registerUpdater=function(e){eE.registerUpdater(e)};Cl.unregisterUpdater=function(e){eE.unregisterUpdater(e)};Cl.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f,d=this;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaterSets.get(u),f.entity===c?f.forEach(function(x){d._removeUpdater(x),d._insertUpdaterIntoBatch(e,x)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaterSets.get(u),f.forEach(this._removeUpdater.bind(this)),f.destroy(),this._updaterSets.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new eE(c,this._scene),this._updaterSets.set(u,f),f.forEach(function(x){d._insertUpdaterIntoBatch(e,x)}),this._subscriptions.set(u,f.geometryChanged.addEventListener(Cl._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,m=g.length;for(a=0;a<m;a++)p=g[a].update(e)&&p;return p};var zQe=[],HQe=new ae;Cl.prototype.getBoundingSphere=function(e,t){let n=zQe,i=HQe,o=0,r=ft.DONE,s=this._batches,a=s.length,c=e.id;if(!this._updaterSets.get(c))return ft.FAILED;let u=this._updaterSets.get(c).updaters;for(let f=0;f<u.length;f++){let d=u[f];for(let p=0;p<a;p++){if(r=s[p].getBoundingSphere(d,i),r===ft.PENDING)return ft.PENDING;r===ft.DONE&&(n[o]=ae.clone(i,n[o]),o++)}}return o===0?ft.FAILED:(n.length=o,ae.fromBoundingSpheres(n,t),ft.DONE)};Cl.prototype.isDestroyed=function(){return!1};Cl.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Cl.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();this._subscriptions.removeAll();let o=this._updaterSets.values;for(n=o.length,e=0;e<n;e++)o[e].destroy();return this._updaterSets.removeAll(),ue(this)};Cl.prototype._removeUpdater=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;i++)t[i].remove(e)};Cl.prototype._insertUpdaterIntoBatch=function(e,t){if(t.isDynamic){this._dynamicBatch.add(e,t);return}let n;(t.outlineEnabled||t.fillEnabled)&&(n=t.shadowsProperty.getValue(e));let i=bn.NUMBER_OF_SHADOW_MODES;if(t.outlineEnabled&&(l(t.terrainOffsetProperty)?this._outlineBatches[i+n].add(e,t):this._outlineBatches[n].add(e,t)),t.fillEnabled)if(t.onTerrain){let o=t.classificationTypeProperty.getValue(e);t.fillMaterialProperty instanceof Ht?this._groundColorBatches[o].add(e,t):this._groundMaterialBatches[o].add(e,t)}else t.isClosed?t.fillMaterialProperty instanceof Ht?l(t.terrainOffsetProperty)?this._closedColorBatches[i+n].add(e,t):this._closedColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._closedMaterialBatches[i+n].add(e,t):this._closedMaterialBatches[n].add(e,t):t.fillMaterialProperty instanceof Ht?l(t.terrainOffsetProperty)?this._openColorBatches[i+n].add(e,t):this._openColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._openMaterialBatches[i+n].add(e,t):this._openMaterialBatches[n].add(e,t)};Cl._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};Cl.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var sk=Cl;var GQe=1,WQe="30px sans-serif",jQe=Yo.FILL,qQe=H.WHITE,YQe=H.BLACK,XQe=1,KQe=!1,$Qe=new H(.165,.165,.165,.8),ZQe=new U(7,5),QQe=U.ZERO,JQe=h.ZERO,eJe=Ye.NONE,tJe=gi.CENTER,nJe=Ln.CENTER,iJe=new h,oJe=new H,rJe=new H,sJe=new H,aJe=new U,cJe=new h,lJe=new U,uJe=new Vt,fJe=new Vt,dJe=new Vt,hJe=new Ot;function ude(e){this.entity=e,this.label=void 0,this.index=void 0}function hy(e,t){t.collectionChanged.addEventListener(hy.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}hy.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._label,c,u=r.label,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,iJe),c=q.getValueOrUndefined(a._text,e),f=l(d)&&l(c)),!f){C7(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let p=!1,g=q.getValueOrDefault(a._heightReference,e,eJe);l(u)||(u=n.getLabel(s),u.id=s,r.label=u,p=h.equals(u.position,d)&&u.heightReference===g),u.show=!0,u.position=d,u.text=c,u.scale=q.getValueOrDefault(a._scale,e,GQe),u.font=q.getValueOrDefault(a._font,e,WQe),u.style=q.getValueOrDefault(a._style,e,jQe),u.fillColor=q.getValueOrDefault(a._fillColor,e,qQe,oJe),u.outlineColor=q.getValueOrDefault(a._outlineColor,e,YQe,rJe),u.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,XQe),u.showBackground=q.getValueOrDefault(a._showBackground,e,KQe),u.backgroundColor=q.getValueOrDefault(a._backgroundColor,e,$Qe,sJe),u.backgroundPadding=q.getValueOrDefault(a._backgroundPadding,e,ZQe,aJe),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,QQe,lJe),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,JQe,cJe),u.heightReference=g,u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,tJe),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,nJe),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,uJe),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,fJe),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,dJe),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,hJe),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),p&&u._updateClamping()}return!0};hy.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.label))return ft.FAILED;let i=n.label;return t.center=h.clone(y(i._clampedPosition,i.position),t.center),t.radius=0,ft.DONE};hy.prototype.isDestroyed=function(){return!1};hy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(hy.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return ue(this)};hy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._label)&&l(r._position)&&s.set(r.id,new ude(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._label)&&l(r._position)?s.contains(r.id)||s.set(r.id,new ude(r)):(C7(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],C7(s.get(r.id),r,a),s.remove(r.id)};function C7(e,t,n){l(e)&&(e.label=void 0,n.removeLabel(t))}var ak=hy;var mJe=1,pJe=!0,_Je=0,gJe=!0,yJe=!0,xJe=bn.ENABLED,bJe=Ye.NONE,TJe=H.RED,CJe=0,AJe=H.WHITE,EJe=Lc.HIGHLIGHT,SJe=.5,wJe=new U(1,1),vJe=new F,DJe=new F,fde=new H,dde=new Array(4),IJe=new h;function my(e,t){t.collectionChanged.addEventListener(my.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new St,this._onCollectionChanged(t,t.values,[],[])}async function PJe(e,t,n,i){let o=e._primitives,r=e._modelHash;try{let s=await $h.fromGltfAsync({url:n,incrementallyLoadTextures:i,scene:e._scene});if(e.isDestroyed()||!l(r[t.id]))return;s.id=t,o.add(s),r[t.id].modelPrimitive=s,s.errorEvent.addEventListener(a=>{l(r[t.id])&&(console.log(a),a.name!=="TextureError"&&s.incrementallyLoadTextures&&(r[t.id].loadFailed=!0))})}catch(s){if(e.isDestroyed()||!l(r[t.id]))return;console.log(s),r[t.id].loadFailed=!0}}my.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._model,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,vJe),c=ve.createIfNeeded(q.getValueOrUndefined(a._uri,e)),f=l(d)&&l(c)),!f){l(u)&&u.modelPrimitive&&(u.modelPrimitive.show=!1);continue}if(!l(u)||c.url!==u.url){l(u?.modelPrimitive)&&(i.removeAndDestroy(u.modelPrimitive),delete n[s.id]),u={modelPrimitive:void 0,url:c.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFailed:!1,modelUpdated:!1},n[s.id]=u;let m=q.getValueOrDefault(a._incrementallyLoadTextures,e,gJe);PJe(this,s,c,m)}let p=u.modelPrimitive;if(!l(p))continue;p.show=!0,p.scale=q.getValueOrDefault(a._scale,e,mJe),p.enableVerticalExaggeration=q.getValueOrDefault(a._enableVerticalExaggeration,e,pJe),p.minimumPixelSize=q.getValueOrDefault(a._minimumPixelSize,e,_Je),p.maximumScale=q.getValueOrUndefined(a._maximumScale,e),p.modelMatrix=F.clone(d,p.modelMatrix),p.shadows=q.getValueOrDefault(a._shadows,e,xJe),p.heightReference=q.getValueOrDefault(a._heightReference,e,bJe),p.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e),p.silhouetteColor=q.getValueOrDefault(a._silhouetteColor,e,TJe,fde),p.silhouetteSize=q.getValueOrDefault(a._silhouetteSize,e,CJe),p.color=q.getValueOrDefault(a._color,e,AJe,fde),p.colorBlendMode=q.getValueOrDefault(a._colorBlendMode,e,EJe),p.colorBlendAmount=q.getValueOrDefault(a._colorBlendAmount,e,SJe),p.clippingPlanes=q.getValueOrUndefined(a._clippingPlanes,e),p.clampAnimations=q.getValueOrDefault(a._clampAnimations,e,yJe),p.imageBasedLighting.imageBasedLightingFactor=q.getValueOrDefault(a._imageBasedLightingFactor,e,wJe);let g=q.getValueOrUndefined(a._lightColor,e);if(l(g)&&(H.pack(g,dde,0),g=h.unpack(dde,0,IJe)),p.lightColor=g,p.customShader=q.getValueOrUndefined(a._customShader,e),n[s.id].modelUpdated=!0,p.ready){!a._readyOk&&a._marsOptions&&a._marsOptions.callback&&(a._marsOptions.callback(s,p),a._readyOk=!0);let m=q.getValueOrDefault(a._runAnimations,e,!0);u.animationsRunning!==m&&(m?p.activeAnimations.addAll({loop:ou.REPEAT}):p.activeAnimations.removeAll(),u.animationsRunning=m);let x=q.getValueOrUndefined(a._nodeTransformations,e,u.nodeTransformationsScratch);if(l(x)){let C=Object.keys(x);for(let A=0,S=C.length;A<S;++A){let w=C[A],D=x[w];if(!l(D))continue;let O=p.getNode(w);if(!l(O))continue;let R=F.fromTranslationRotationScale(D,DJe);O.matrix=F.multiply(O.originalMatrix,R,R)}}let b=!1,T=q.getValueOrUndefined(a._articulations,e,u.articulationsScratch);if(l(T)){let C=Object.keys(T);for(let A=0,S=C.length;A<S;++A){let w=C[A],D=T[w];l(D)&&(b=!0,p.setArticulationStage(w,D))}}b&&p.applyArticulations()}}return!0};my.prototype.isDestroyed=function(){return!1};my.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(my.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._modelHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)A7(this,e[i],t,n);return ue(this)};var ck=new h,RJe=new fe;my.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!l(n))return ft.FAILED;if(n.loadFailed)return ft.FAILED;let i=n.modelPrimitive;if(!l(i)||!i.show)return ft.PENDING;if(!i.ready||!n.modelUpdated)return ft.PENDING;let o=this._scene,r=y(o.ellipsoid,ee.default);if(i.heightReference!==Ye.NONE){let a=i.modelMatrix;ck.x=a[12],ck.y=a[13],ck.z=a[14];let c=r.cartesianToCartographic(ck,RJe),u=o.getHeight(c,i.heightReference);return l(u)&&(qu(i.heightReference)?c.height=u:c.height+=u),ae.clone(i.boundingSphere,t),t.center=r.cartographicToCartesian(c),ft.DONE}return ae.clone(i.boundingSphere,t),ft.DONE};my.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._model)&&l(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._model)&&l(r._position)?(OJe(r,a),s.set(r.id,r)):(A7(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],A7(this,r,a,c),s.remove(r.id)};function A7(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function OJe(e,t){let n=t[e.id];l(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}var lk=my;function py(e){this._definitionChanged=new me,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(py.prototype,{isConstant:{get:function(){return q.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return l(this._value)?this._value.referenceFrame:Bi.FIXED}}});var MJe=new K;py.prototype.getValue=function(e,t){return l(e)||(e=K.now(MJe)),this.getValueInReferenceFrame(e,Bi.FIXED,t)};py.prototype.setValue=function(e){this._value!==e&&(this._value=e,l(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),l(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};py.prototype.getValueInReferenceFrame=function(e,t,n){if(l(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),l(n)?ee.default.scaleToGeodeticSurface(n,n):void 0};py.prototype.equals=function(e){return this===e||e instanceof py&&this._value===e._value};py.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var r_=py;var LJe=60,NJe=1,mde=new vn,E7=new vn,S7=new vn;function hde(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function FJe(e,t,n,i,o,r,s,a,c){let u=a,f;f=e.getValueInReferenceFrame(t,r,c[u]),l(f)&&(c[u++]=f);let d=!l(o)||K.lessThanOrEquals(o,t)||K.greaterThanOrEquals(o,n),p=0,g=i.length,m=i[p],x=n,b=!1,T,C,A;for(;p<g;){if(!d&&K.greaterThanOrEquals(m,o)&&(f=e.getValueInReferenceFrame(o,r,c[u]),l(f)&&(c[u++]=f),d=!0),K.greaterThan(m,t)&&K.lessThan(m,x)&&!m.equals(o)&&(f=e.getValueInReferenceFrame(m,r,c[u]),l(f)&&(c[u++]=f)),p<g-1){if(s>0&&!b){let S=i[p+1],w=K.secondsDifference(S,m);b=w>s,b&&(T=Math.ceil(w/s),C=0,A=w/Math.max(T,2),T=Math.max(T-1,1))}if(b&&C<T){m=K.addSeconds(m,A,new K),C++;continue}}b=!1,p++,m=i[p]}return f=e.getValueInReferenceFrame(n,r,c[u]),l(f)&&(c[u++]=f),u}function BJe(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!p&&K.greaterThanOrEquals(d,i)&&(p=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,r*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function kJe(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=Math.max(r,60),g=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!g&&K.greaterThanOrEquals(d,i)&&(g=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,p*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function VJe(e,t,n,i,o,r,s,a){S7.start=t,S7.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!vn.intersect(d,S7,mde).isEmpty){let p=d.start;d.isStartIncluded||(d.isStopIncluded?p=d.stop:p=K.addSeconds(d.start,K.secondsDifference(d.stop,d.start)/2,new K));let g=e.getValueInReferenceFrame(p,o,a[c]);l(g)&&(a[c]=g,c++)}}return c}function UJe(e,t,n,i,o,r,s,a){let c=e.getValueInReferenceFrame(t,o,a[s]);return l(c)&&(a[s++]=c),s}function zJe(e,t,n,i,o,r,s,a){E7.start=t,E7.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!vn.intersect(d,E7,mde).isEmpty){let p=d.start,g=d.stop,m=t;K.greaterThan(p,m)&&(m=p);let x=n;K.lessThan(g,x)&&(x=g),c=pde(d.data,m,x,i,o,r,c,a)}}return c}function pde(e,t,n,i,o,r,s,a){for(;e instanceof ry;)e=e.resolvedProperty;if(e instanceof Pa){let c=e._property._times;s=FJe(e,t,n,c,i,o,r,s,a)}else e instanceof YL?s=BJe(e,t,n,i,o,r,s,a):e instanceof Ia?s=zJe(e,t,n,i,o,r,s,a):e instanceof ay?s=VJe(e,t,n,i,o,r,s,a):e instanceof fl||e instanceof r_&&q.isConstant(e)?s=UJe(e,t,n,i,o,r,s,a):s=kJe(e,t,n,i,o,r,s,a);return s}function _de(e,t,n,i,o,r,s){l(s)||(s=[]);let a=pde(e,t,n,i,o,r,0,s);return s.length=a,s}var HJe=new Z;function kD(e,t){this._unusedIndexes=[],this._polylineCollection=new em,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}kD.prototype.update=function(e){if(this._referenceFrame===Bi.INERTIAL){let t=Bt.computeIcrfToCentralBodyFixedMatrix(e,HJe);F.fromRotationTranslation(t,h.ZERO,this._polylineCollection.modelMatrix)}};kD.prototype.updateObject=function(e,t){let n=t.entity,i=n._path,o=n._position,r,s,a=i._show,c=t.polyline,u=n.isShowing&&n.isAvailable(e)&&(!l(a)||a.getValue(e));if(u){let d=q.getValueOrUndefined(i._leadTime,e),p=q.getValueOrUndefined(i._trailTime,e),g=n._availability,m=l(g),x=l(d),b=l(p);if(u=m||x&&b,u){if(b&&(r=K.addSeconds(e,-p,new K)),x&&(s=K.addSeconds(e,d,new K)),m){let T=g.start,C=g.stop;(!b||K.greaterThan(T,r))&&(r=T),(!x||K.lessThan(C,s))&&(s=C)}u=K.lessThan(r,s)}}if(!u){l(c)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,c.show=!1,t.index=void 0);return}if(!l(c)){let d=this._unusedIndexes;if(d.length>0){let g=d.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let f=q.getValueOrDefault(i._resolution,e,LJe);c.show=!0,c.positions=_de(o,r,s,e,this._referenceFrame,f,c.positions.slice()),c.material=rr.getValue(e,i._material,c.material),c.width=q.getValueOrDefault(i._width,e,NJe),c.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};kD.prototype.removeObject=function(e){let t=e.polyline;l(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};kD.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),ue(this)};function _y(e,t){t.collectionChanged.addEventListener(_y.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}_y.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&l(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i<o;i++){let r=n[i],a=r.entity._position,c=r.updater,u=Bi.FIXED;this._scene.mode===ne.SCENE3D&&(u=a.referenceFrame);let f=this._updaters[u];if(c===f&&l(f)){f.updateObject(e,r);continue}l(c)&&c.removeObject(r),l(f)||(f=new kD(this._scene,u),f.update(e),this._updaters[u]=f),r.updater=f,l(f)&&f.updateObject(e,r)}return!0};_y.prototype.isDestroyed=function(){return!1};_y.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(_y.prototype._onCollectionChanged,this);let e=this._updaters;for(let t in e)e.hasOwnProperty(t)&&e[t].destroy();return ue(this)};_y.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s,a=this._items;for(o=t.length-1;o>-1;o--)r=t[o],l(r._path)&&l(r._position)&&a.set(r.id,new hde(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._path)&&l(r._position)?a.contains(r.id)||a.set(r.id,new hde(r)):(s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};_y._subSample=_de;var uk=_y;var gde=H.WHITE,yde=H.BLACK,xde=0,bde=1,Tde=0,Cde=kr.NONE,Ade=new H,GJe=new h,Ede=new H,Sde=new Vt,wde=new Vt,vde=new Ot;function Dde(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function gy(e,t){t.collectionChanged.addEventListener(gy.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new St,this._onCollectionChanged(t,t.values,[],[])}gy.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._point,c=r.pointPrimitive,u=r.billboard,f=q.getValueOrDefault(a._heightReference,e,Ye.NONE),d=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),p;if(d&&(p=q.getValueOrUndefined(s._position,e,GJe),d=l(p)),!d){VD(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let g=!1,m=!1;if(f!==Ye.NONE&&!l(u)?(l(c)&&(VD(r,s,n),c=void 0),u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u,g=!0,m=h.equals(u.position,p)&&u.heightReference===f):f===Ye.NONE&&!l(c)&&(l(u)&&(VD(r,s,n),u=void 0),c=n.getPoint(s),c.id=s,r.pointPrimitive=c),l(c))c.show=!0,c.position=p,c.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Sde),c.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,wde),c.color=q.getValueOrDefault(a._color,e,gde,Ade),c.outlineColor=q.getValueOrDefault(a._outlineColor,e,yde,Ede),c.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,xde),c.pixelSize=q.getValueOrDefault(a._pixelSize,e,bde),c.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,vde),c.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,Tde),c.splitDirection=q.getValueOrDefault(a._splitDirection,e,Cde);else if(l(u)){u.show=!0,u.position=p,u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Sde),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,wde),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,vde),u.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,Tde),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,Cde),u.heightReference=f;let x=q.getValueOrDefault(a._color,e,gde,Ade),b=q.getValueOrDefault(a._outlineColor,e,yde,Ede),T=Math.round(q.getValueOrDefault(a._outlineWidth,e,xde)),C=Math.max(1,Math.round(q.getValueOrDefault(a._pixelSize,e,bde)));if(T>0?(u.scale=1,g=g||T!==r.outlineWidth||C!==r.pixelSize||!H.equals(x,r.color)||!H.equals(b,r.outlineColor)):(u.scale=C/50,C=50,g=g||T!==r.outlineWidth||!H.equals(x,r.color)||!H.equals(b,r.outlineColor)),g){r.color=H.clone(x,r.color),r.outlineColor=H.clone(b,r.outlineColor),r.pixelSize=C,r.outlineWidth=T;let A=x.alpha,S=x.toCssColorString(),w=b.toCssColorString(),D=JSON.stringify([S,C,w,T]);u.setImage(D,XC(A,S,w,T,C))}m&&u._updateClamping()}}return!0};gy.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!(l(n.pointPrimitive)||l(n.billboard)))return ft.FAILED;if(l(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!l(i._clampedPosition))return ft.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,ft.DONE};gy.prototype.isDestroyed=function(){return!1};gy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(gy.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return ue(this)};gy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._point)&&l(r._position)&&s.set(r.id,new Dde(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._point)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Dde(r)):(VD(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],VD(s.get(r.id),r,a),s.remove(r.id)};function VD(e,t,n){if(l(e)){let i=e.pointPrimitive;if(l(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;l(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var fk=gy;var Mde=[];function WJe(e,t,n,i,o){let r=Mde;r.length=o;let s,a=n.red,c=n.green,u=n.blue,f=n.alpha,d=i.red,p=i.green,g=i.blue,m=i.alpha;if(H.equals(n,i)){for(s=0;s<o;s++)r[s]=H.clone(n);return r}let x=(d-a)/o,b=(p-c)/o,T=(g-u)/o,C=(m-f)/o;for(s=0;s<o;s++)r[s]=new H(a+s*x,c+s*b,u+s*T,f+s*C);return r}function UD(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.width,1),o=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._width=i,this._colorsPerVertex=o,this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._arcType=y(e.arcType,nn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createPolylineGeometry";let r=1+t.length*h.packedLength;r+=l(n)?1+n.length*H.packedLength:1,this.packedLength=r+ee.packedLength+Pe.packedLength+4}UD.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._width,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};var Lde=ee.clone(ee.UNIT_SPHERE),Nde=new Pe,Jx={positions:void 0,colors:void 0,ellipsoid:Lde,vertexFormat:Nde,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};UD.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ee.unpack(e,t,Lde);t+=ee.packedLength;let c=Pe.unpack(e,t,Nde);t+=Pe.packedLength;let u=e[t++],f=e[t++]===1,d=e[t++],p=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Pe.clone(c,n._vertexFormat),n._width=u,n._colorsPerVertex=f,n._arcType=d,n._granularity=p,n):(Jx.positions=r,Jx.colors=s,Jx.width=u,Jx.colorsPerVertex=f,Jx.arcType=d,Jx.granularity=p,new UD(Jx))};var Ide=new h,Pde=new h,Rde=new h,Ode=new h;UD.createGeometry=function(e){let t=e._width,n=e._vertexFormat,i=e._colors,o=e._colorsPerVertex,r=e._arcType,s=e._granularity,a=e._ellipsoid,c,u,f,d=[],p=xo(e._positions,h.equalsEpsilon,!1,d);if(l(i)&&d.length>0){let N=0,B=d[0];i=i.filter(function(z,V){let G=!1;return o?G=V===B||V===0&&B===1:G=V+1===B,G?(N++,B=d[N],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===nn.GEODESIC||r===nn.RHUMB){let N,B;r===nn.GEODESIC?(N=P.chordLength(s,a.maximumRadius),B=Ri.numberOfPoints):(N=s,B=Ri.numberOfPointsRhumbLine);let z=Ri.extractHeights(p,a);if(l(i)){let V=1;for(c=0;c<g-1;++c)V+=B(p[c],p[c+1],N);let G=new Array(V),k=0;for(c=0;c<g-1;++c){let Y=p[c],W=p[c+1],J=i[c],j=B(Y,W,N);if(o&&c<V){let $=i[c+1],Q=WJe(Y,W,J,$,j),he=Q.length;for(u=0;u<he;++u)G[k++]=Q[u]}else for(u=0;u<j;++u)G[k++]=H.clone(J)}G[k]=H.clone(i[i.length-1]),i=G,Mde.length=0}r===nn.GEODESIC?p=Ri.generateCartesianArc({positions:p,minDistance:N,ellipsoid:a,height:z}):p=Ri.generateCartesianRhumbArc({positions:p,granularity:N,ellipsoid:a,height:z})}g=p.length;let m=g*4-4,x=new Float64Array(m*3),b=new Float64Array(m*3),T=new Float64Array(m*3),C=new Float32Array(m*2),A=n.st?new Float32Array(m*2):void 0,S=l(i)?new Uint8Array(m*4):void 0,w=0,D=0,O=0,R=0,M;for(u=0;u<g;++u){u===0?(M=Ide,h.subtract(p[0],p[1],M),h.add(p[0],M,M)):M=p[u-1],h.clone(M,Rde),h.clone(p[u],Pde),u===g-1?(M=Ide,h.subtract(p[g-1],p[g-2],M),h.add(p[g-1],M,M)):M=p[u+1],h.clone(M,Ode);let N,B;l(S)&&(u!==0&&!o?N=i[u-1]:N=i[u],u!==g-1&&(B=i[u]));let z=u===0?2:0,V=u===g-1?2:4;for(f=z;f<V;++f){h.pack(Pde,x,w),h.pack(Rde,b,w),h.pack(Ode,T,w),w+=3;let G=f-2<0?-1:1;if(C[D++]=2*(f%2)-1,C[D++]=G*t,n.st&&(A[O++]=u/(g-1),A[O++]=Math.max(C[D-2],0)),l(S)){let k=f<2?N:B;S[R++]=H.floatToByte(k.red),S[R++]=H.floatToByte(k.green),S[R++]=H.floatToByte(k.blue),S[R++]=H.floatToByte(k.alpha)}}}let L=new mn;L.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:x}),L.prevPosition=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),L.nextPosition=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T}),L.expandAndWidth=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:C}),n.st&&(L.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:A})),l(S)&&(L.color=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:S,normalize:!0}));let _=Be.createTypedArray(m,g*6-6),E=0,v=0,I=g-1;for(u=0;u<I;++u)_[v++]=E,_[v++]=E+2,_[v++]=E+1,_[v++]=E+1,_[v++]=E+2,_[v++]=E+3,E+=4;return new dt({attributes:L,indices:_,primitiveType:Fe.TRIANGLES,boundingSphere:ae.fromPoints(p),geometryType:nd.POLYLINES})};var yy=UD;var jJe=new Kn(0),dk={},Fde=new H,qJe=new Ht(H.WHITE),YJe=new Kn(!0),XJe=new Kn(bn.DISABLED),KJe=new Kn(new Ot),$Je=new Kn(Vn.BOTH);function ZJe(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function QJe(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function Vd(e,t){this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(Vd.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new ZJe,this._groundGeometryOptions=new QJe,this._id=`polyline-${e.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=sr.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(Vd.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});Vd.prototype.isOutlineVisible=function(e){return!1};Vd.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e);return y(n,!1)};Vd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=kn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r},a;return this._materialProperty instanceof Ht&&(l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Fde)),l(a)||(a=H.WHITE),s.color=jt.fromColor(a)),this.clampToGround?new wt({id:t,geometry:new GT(this._groundGeometryOptions),attributes:s}):(l(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof Ht&&(l(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||n)&&(a=this._depthFailMaterialProperty.color.getValue(e,Fde)),l(a)||(a=H.WHITE),s.depthFailColor=jt.fromColor(a)),new wt({id:t,geometry:new yy(this._geometryOptions),attributes:s}))};Vd.prototype.createOutlineGeometryInstance=function(e){};Vd.prototype.isDestroyed=function(){return!1};Vd.prototype.destroy=function(){this._entitySubscription(),ue(this)};Vd.prototype._onEntityPropertyChanged=function(e,t,n,i){if(!(t==="availability"||t==="polyline"))return;let o=this._entity.polyline;if(!l(o)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.positions,s=o.show;if(l(s)&&s.isConstant&&!s.getValue(He.MINIMUM_VALUE)||!l(r)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let a=o.zIndex,c=y(o.material,qJe),u=c instanceof Ht;this._materialProperty=c,this._depthFailMaterialProperty=o.depthFailMaterial,this._showProperty=y(s,YJe),this._shadowsProperty=y(o.shadows,XJe),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,KJe),this._classificationTypeProperty=y(o.classificationType,$Je),this._fillEnabled=!0,this._zIndex=y(a,jJe);let f=o.width,d=o.arcType,p=o.clampToGround,g=o.granularity;if(!r.isConstant||!q.isConstant(f)||!q.isConstant(d)||!q.isConstant(g)||!q.isConstant(p)||!q.isConstant(a))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let m=this._geometryOptions,x=r.getValue(He.MINIMUM_VALUE,m.positions);if(!l(x)||x.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let b;u&&(!l(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof Ht)?b=es.VERTEX_FORMAT:b=Ea.VERTEX_FORMAT,m.vertexFormat=b,m.positions=x,m.width=l(f)?f.getValue(He.MINIMUM_VALUE):void 0,m.arcType=l(d)?d.getValue(He.MINIMUM_VALUE):void 0,m.granularity=l(g)?g.getValue(He.MINIMUM_VALUE):void 0;let T=this._groundGeometryOptions;T.positions=x,T.width=m.width,T.arcType=m.arcType,T.granularity=m.granularity,this._clampToGround=l(p)?p.getValue(He.MINIMUM_VALUE):!1,!this._clampToGround&&l(a)&&Tt("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};Vd.prototype.createDynamicUpdater=function(e,t){return new zD(e,t,this)};var aE={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function zD(e,t,n){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=n,this._positions=[]}function Bde(e){if(l(e._line))return e._line;let t=e._primitives,n=e._geometryUpdater._scene.id+t._guid,i=dk[n];!l(i)||i.isDestroyed()?(i=new em,dk[n]=i,t.add(i)):t.contains(i)||t.add(i);let o=i.add();return o.id=e._geometryUpdater._entity,e._line=o,o}zD.prototype.update=function(e){let t=this._geometryUpdater,n=t._entity,i=n.polyline,o=i.positions,r=q.getValueOrUndefined(o,e,this._positions);t._clampToGround=q.getValueOrDefault(i._clampToGround,e,!1),t._groundGeometryOptions.positions=r,t._groundGeometryOptions.width=q.getValueOrDefault(i._width,e,1),t._groundGeometryOptions.arcType=q.getValueOrDefault(i._arcType,e,nn.GEODESIC),t._groundGeometryOptions.granularity=q.getValueOrDefault(i._granularity,e,9999);let s=this._groundPrimitives;if(l(this._groundPolylinePrimitive)&&(s.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)||!l(r)||r.length<2)return;let d=t.fillMaterialProperty,p;if(d instanceof Ht)p=new es;else{let g=rr.getValue(e,d,this._material);p=new Ea({material:g,translucent:g.isTranslucent()}),this._material=g}this._groundPolylinePrimitive=s.add(new Ih({geometryInstances:t.createFillGeometryInstance(e),appearance:p,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),q.getValueOrUndefined(t.zIndex,e)),l(this._line)&&(this._line.show=!1);return}let a=Bde(this);if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)){a.show=!1;return}if(!l(r)||r.length<2){a.show=!1;return}let c=nn.GEODESIC;c=q.getValueOrDefault(i._arcType,e,c);let u=t._scene.globe,f=t._scene.ellipsoid;c!==nn.NONE&&l(u)&&(aE.ellipsoid=f,aE.positions=r,aE.granularity=q.getValueOrUndefined(i._granularity,e),aE.height=Ri.extractHeights(r,f),c===nn.GEODESIC?r=Ri.generateCartesianArc(aE):r=Ri.generateCartesianRhumbArc(aE)),a.show=!0,a.positions=r.slice(),a.material=rr.getValue(e,t.fillMaterialProperty,a.material),a.width=q.getValueOrDefault(i._width,e,1),a.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,a.distanceDisplayCondition)};zD.prototype.getBoundingSphere=function(e){if(this._geometryUpdater.clampToGround){let t=this._groundPolylinePrimitive;if(l(t)&&t.show&&t.ready){let n=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(l(n)&&l(n.boundingSphere))return ae.clone(n.boundingSphere,e),ft.DONE}return l(t)&&!t.ready?ft.PENDING:ft.DONE}else{let t=Bde(this);if(t.show&&t.positions.length>0)return ae.fromPoints(t.positions,e),ft.DONE}return ft.FAILED};zD.prototype.isDestroyed=function(){return!1};zD.prototype.destroy=function(){let t=this._geometryUpdater._scene.id+this._primitives._guid,n=dk[t];l(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete dk[t])),l(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),ue(this)};var hk=Vd;var JJe=new H,eet=new Ot,tet=new Ot;function Ud(e,t,n,i,o){let r;n instanceof Ht?r=es:r=Ea,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new St,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new St,this.material=void 0,this.updatersWithAttributes=new St,this.attributes=new St,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(Ud.prototype.onMaterialChanged,this),this.subscriptions=new St,this.showsUpdated=new St,this.zIndex=i,this._asynchronous=o}Ud.prototype.onMaterialChanged=function(){this.invalidated=!0};Ud.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ht&&t instanceof Ht?!0:l(t)&&t.equals(n)};Ud.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Ud.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};Ud.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new Ih({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===Ea&&(this.material=rr.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===Ea&&(this.material=rr.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!c.fillMaterialProperty.isConstant){let x=c.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,H.WHITE,JJe);H.equals(d._lastColor,b)||(d._lastColor=H.clone(b,d._lastColor),d.color=jt.toValue(b,d.color))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,tet,eet);Ot.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Ot.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=kn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};Ud.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id);if(!s)continue;let a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Ud.prototype.contains=function(e){return this.updaters.contains(e.id)};Ud.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ft.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ft.FAILED:(i.boundingSphere.clone(t),ft.DONE)};Ud.prototype.destroy=function(){let e=this.primitive,t=this.orderedGroundPrimitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function cE(e,t,n){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=y(n,!0)}cE.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=q.getValueOrDefault(t.zIndex,0);for(let a=0;a<i;++a){let c=n[a];if(c.isMaterial(t)&&c.zIndex===r){c.add(e,t,o);return}}let s=new Ud(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,r,this._asynchronous);s.add(e,t,o),n.push(s)};cE.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};cE.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};cE.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ft.FAILED};cE.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var mk=cE;var net=[];function kde(e,t){let n=e._batches,i=n.length;for(let o=0;o<i;o++)n[o].remove(t)}function Vde(e,t,n){if(n.isDynamic){e._dynamicBatch.add(t,n);return}if(n.clampToGround&&n.fillEnabled){let s=n.classificationTypeProperty.getValue(t);e._groundBatches[s].add(t,n);return}let i;n.fillEnabled&&(i=n.shadowsProperty.getValue(t));let o=0;l(n.depthFailMaterialProperty)&&(o=n.depthFailMaterialProperty instanceof Ht?1:2);let r;l(i)&&(r=i+o*bn.NUMBER_OF_SHADOW_MODES),n.fillEnabled&&(n.fillMaterialProperty instanceof Ht?e._colorBatches[r].add(t,n):e._materialBatches[r].add(t,n))}function hm(e,t,n,i){i=y(i,e.groundPrimitives),n=y(n,e.primitives),this._scene=e,this._primitives=n,this._entityCollection=void 0,this._addedObjects=new St,this._removedObjects=new St,this._changedObjects=new St;let o,r=bn.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(r*3),this._materialBatches=new Array(r*3),o=0;o<r;++o)this._colorBatches[o]=new Fd(n,es,void 0,!1,o),this._materialBatches[o]=new kd(n,Ea,void 0,!1,o),this._colorBatches[o+r]=new Fd(n,es,es,!1,o),this._materialBatches[o+r]=new kd(n,Ea,es,!1,o),this._colorBatches[o+r*2]=new Fd(n,es,Ea,!1,o),this._materialBatches[o+r*2]=new kd(n,Ea,Ea,!1,o);this._dynamicBatch=new kA(n,i);let s=Vn.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(s),o=0;o<s;++o)this._groundBatches[o]=new mk(i,o);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new St,this._updaters=new St,this._entityCollection=t,t.collectionChanged.addEventListener(hm.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,net)}hm.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaters.get(u),f.entity===c?(kde(this,f),Vde(this,e,f)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaters.get(u),kde(this,f),f.destroy(),this._updaters.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new hk(c,this._scene),this._updaters.set(u,f),Vde(this,e,f),this._subscriptions.set(u,f.geometryChanged.addEventListener(hm._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let d=!0,p=this._batches,g=p.length;for(a=0;a<g;a++)d=p[a].update(e)&&d;return d};var iet=[],oet=new ae;hm.prototype.getBoundingSphere=function(e,t){let n=iet,i=oet,o=0,r=ft.DONE,s=this._batches,a=s.length,c=this._updaters.get(e.id);if(!c)return ft.FAILED;for(let u=0;u<a;u++){if(r=s[u].getBoundingSphere(c,i),r===ft.PENDING)return ft.PENDING;r===ft.DONE&&(n[o]=ae.clone(i,n[o]),o++)}return o===0?ft.FAILED:(n.length=o,ae.fromBoundingSpheres(n,t),ft.DONE)};hm.prototype.isDestroyed=function(){return!1};hm.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(hm.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();return this._subscriptions.removeAll(),ue(this)};hm._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};hm.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var pk=hm;function Al(e){ul.initializeTerrainHeights(),Ih.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new Hr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,Al.defaultVisualizersCallback);let i=!1,o=new du,r=new du;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let u=0,f=n.length;u<f;u++)this._onDataSourceAdded(n,n.get(u));let s=new d3;this._onDataSourceAdded(void 0,s),this._defaultDataSource=s;let a,c;if(!i){let u=this,f=function(){t.primitives.add(o),t.groundPrimitives.add(r),a(),c(),u._removeDefaultDataSourceListener=void 0,u._removeDataSourceCollectionListener=void 0};a=s.entities.collectionChanged.addEventListener(f),c=n.dataSourceAdded.addEventListener(f)}this._removeDefaultDataSourceListener=a,this._removeDataSourceCollectionListener=c,this._ready=!1}var lE=[];Al.registerVisualizer=function(e){lE.includes(e)||lE.push(e)};Al.unregisterVisualizer=function(e){if(lE.includes(e)){let t=lE.indexOf(e);lE.splice(t,1)}};Al.defaultVisualizersCallback=function(e,t,n){let i=n.entities;return[new kM(t,i),new sk(e,i,n._primitives,n._groundPrimitives),new ak(t,i),new lk(e,i),new ZB(e,i),new fk(t,i),new uk(e,i),new pk(e,i,n._primitives,n._groundPrimitives),...lE.map(o=>new o(e,i))]};Object.defineProperties(Al.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});Al.prototype.isDestroyed=function(){return!1};Al.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;t<n;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),l(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),ue(this)};Al.prototype.update=function(e){if(!li.initialized)return this._ready=!1,!1;let t=!0,n,i,o,r,s=this._dataSourceCollection,a=s.length;for(n=0;n<a;n++){let c=s.get(n);for(l(c.update)&&(t=c.update(e)&&t),o=c._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t}for(o=this._defaultDataSource._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t;return!this._ready&&t&&this._scene.requestRender(),this._ready=t,t};Al.prototype._postRender=function(){let e=this._scene.frameState,t=this._dataSourceCollection,n=t.length;for(let i=0;i<n;i++){let o=t.get(i),r=o.credit;l(r)&&e.creditDisplay.addCreditToNextFrame(r);let s=o._resourceCredits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)e.creditDisplay.addCreditToNextFrame(s[c])}}};var ret=[],set=new ae;Al.prototype.getBoundingSphere=function(e,t,n){if(!this._ready)return ft.PENDING;let i,o,r=this._defaultDataSource;if(!r.entities.contains(e)){r=void 0;let p=this._dataSourceCollection;for(o=p.length,i=0;i<o;i++){let g=p.get(i);if(g.entities.contains(e)){r=g;break}}}if(!l(r))return ft.FAILED;let s=ret,a=set,c=0,u=ft.DONE,f=r._visualizers,d=f.length;for(i=0;i<d;i++){let p=f[i];if(l(p.getBoundingSphere)){if(u=f[i].getBoundingSphere(e,a),!t&&u===ft.PENDING)return ft.PENDING;u===ft.DONE&&(s[c]=ae.clone(a,s[c]),c++)}}return c===0?ft.FAILED:(s.length=c,ae.fromBoundingSpheres(s,n),ft.DONE)};Al.prototype._onDataSourceAdded=function(e,t){let n=this._scene,i=this._primitives,o=this._groundPrimitives,r=i.add(new du),s=o.add(new P3);t._primitives=r,t._groundPrimitives=s;let a=t.clustering;a._initialize(n),r.add(a),t._visualizers=this._visualizersCallback(n,a,t)};Al.prototype._onDataSourceRemoved=function(e,t){let n=this._primitives,i=this._groundPrimitives,o=t._primitives,r=t._groundPrimitives,s=t.clustering;o.remove(s);let a=t._visualizers,c=a.length;for(let u=0;u<c;u++)a[u].destroy();n.remove(o),i.remove(r),t._visualizers=void 0};Al.prototype._onDataSourceMoved=function(e,t,n){let i=this._primitives,o=this._groundPrimitives,r=e._primitives,s=e._groundPrimitives;t===n+1?(i.raise(r),o.raise(s)):t===n-1?(i.lower(r),o.lower(s)):t===0?(i.lowerToBottom(r),o.lowerToBottom(s),i.raise(r),o.raise(s)):(i.raiseToTop(r),o.raiseToTop(s))};var _k=Al;function w7(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.range=y(n,0)}w7.clone=function(e,t){if(l(e))return l(t)||(t=new w7),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var zd=w7;var Ude=new Z,zde=new Z,Hde=new Z,aet=new F,gk=new h,Gde=new h,v7=new h,D7=new h,Wde=new h,jde=new h,uE=new K,cet=1.25;function uet(e,t,n,i,o,r,s){let a=e.scene.mode,c=o.getValue(r,e._lastCartesian);if(l(c)){let u=!1,f=!1,d,p,g;if(a===ne.SCENE3D){K.addSeconds(r,.001,uE);let C=o.getValue(uE,gk);if(l(C)||(K.addSeconds(r,-.001,uE),C=o.getValue(uE,gk),f=!0),l(C)){let A=Bt.computeFixedToIcrfMatrix(r,Ude),S=Bt.computeFixedToIcrfMatrix(uE,zde),w;!l(A)||!l(S)?(w=Bt.computeTemeToPseudoFixedMatrix(r,Hde),A=Z.transpose(w,Ude),S=Bt.computeTemeToPseudoFixedMatrix(uE,zde),Z.transpose(S,S)):w=Z.transpose(A,Hde);let D=Z.multiplyByVector(A,c,Wde),O=Z.multiplyByVector(S,C,jde);h.subtract(D,O,D7);let R=h.magnitude(D7)*1e3,M=P.GRAVITATIONALPARAMETER,L=-M/(R*R-2*M/h.magnitude(D));L<0||L>cet*s.maximumRadius?(d=Gde,h.normalize(c,d),h.negate(d,d),g=h.clone(h.UNIT_Z,v7),p=h.cross(g,d,gk),h.magnitude(p)>P.EPSILON7&&(h.normalize(d,d),h.normalize(p,p),g=h.cross(d,p,v7),h.normalize(g,g),u=!0)):h.equalsEpsilon(c,C,P.EPSILON7)||(g=Gde,h.normalize(D,g),h.normalize(O,O),p=h.cross(g,O,v7),f&&(p=h.multiplyByScalar(p,-1,p)),h.equalsEpsilon(p,h.ZERO,P.EPSILON7)||(d=h.cross(p,g,gk),Z.multiplyByVector(w,d,d),Z.multiplyByVector(w,p,p),Z.multiplyByVector(w,g,g),h.normalize(d,d),h.normalize(p,p),h.normalize(g,g),u=!0))}}l(e.boundingSphere)&&(c=e.boundingSphere.center);let m,x,b;i&&(m=h.clone(t.position,D7),x=h.clone(t.direction,Wde),b=h.clone(t.up,jde));let T=aet;u?(T[0]=d.x,T[1]=d.y,T[2]=d.z,T[3]=0,T[4]=p.x,T[5]=p.y,T[6]=p.z,T[7]=0,T[8]=g.x,T[9]=g.y,T[10]=g.z,T[11]=0,T[12]=c.x,T[13]=c.y,T[14]=c.z,T[15]=0):Bt.eastNorthUpToFixedFrame(c,s,T),t._setTransform(T),i&&(h.clone(m,t.position),h.clone(x,t.direction),h.clone(b,t.up),h.cross(x,b,t.right))}if(n){let u=a===ne.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,u)}}function HD(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,ee.default),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._offset3D=new h}Object.defineProperties(HD,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});HD.defaultOffset3D=new h(-14e3,3500,3500);var yk=new zd,fet=new h;HD.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===ne.MORPHING)return;let r=this.entity,s=r.position;if(!l(s))return;let a=r!==this._lastEntity,c=o!==this._mode,u=n.camera,f=a||c,d=!0;if(a){let p=r.viewFrom,g=l(p);if(!g&&l(t)){yk.pitch=-P.PI_OVER_FOUR,yk.range=0;let m=s.getValue(e,fet);if(l(m)){let x=2-1/Math.max(1,h.magnitude(m)/i.maximumRadius);yk.pitch*=x}u.viewBoundingSphere(t,yk),this.boundingSphere=t,f=!1,d=!1}else(!g||!l(p.getValue(e,this._offset3D)))&&h.clone(HD._defaultOffset3D,this._offset3D)}else!c&&this._mode!==ne.SCENE2D&&h.clone(u.position,this._offset3D);this._lastEntity=r,this._mode=o,uet(this,u,f,d,s,e,i)};var xk=HD;function wk(e){return vk(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function vk(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?vk(n):n),[])}var qde=[0,1,2,3].concat(...wk([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function lr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,u=e.stat_desc.max_length,f,d,p,g,m,x,b=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,f=o.heap_max+1;f<573;f++)d=o.heap[f],g=r[r[d*2+1]*2+1]+1,g>u&&(g=u,b++),r[d*2+1]=g,!(d>e.max_code)&&(o.bl_count[g]++,m=0,d>=c&&(m=a[d-c]),x=r[d*2],o.opt_len+=x*(g+m),s&&(o.static_len+=x*(s[d*2+1]+m)));if(b!==0){do{for(g=u-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[u]--,b-=2}while(b>0);for(g=u;g!==0;g--)for(d=o.bl_count[g];d!==0;)p=o.heap[--f],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),d--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,u,f,d;for(u=1;u<=15;u++)a[u]=c=c+s[u-1]<<1;for(f=0;f<=r;f++)d=o[f*2+1],d!==0&&(o[f*2]=n(a[d]++,d))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,u,f=-1,d;for(o.heap_len=0,o.heap_max=573,c=0;c<a;c++)r[c*2]!==0?(o.heap[++o.heap_len]=f=c,o.depth[c]=0):r[c*2+1]=0;for(;o.heap_len<2;)d=o.heap[++o.heap_len]=f<2?++f:0,r[d*2]=1,o.depth[d]=0,o.opt_len--,s&&(o.static_len-=s[d*2+1]);for(e.max_code=f,c=Math.floor(o.heap_len/2);c>=1;c--)o.pqdownheap(r,c);d=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),u=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=u,r[d*2]=r[c*2]+r[u*2],o.depth[d]=Math.max(o.depth[c],o.depth[u])+1,r[c*2+1]=r[u*2+1]=d,o.heap[1]=d++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}lr._length_code=[0,1,2,3,4,5,6,7].concat(...wk([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));lr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];lr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];lr.d_code=function(e){return e<256?qde[e]:qde[256+(e>>>7)]};lr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];lr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];lr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];lr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function Ra(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var det=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],het=wk([[144,8],[112,9],[24,7],[8,8]]);Ra.static_ltree=vk(det.map((e,t)=>[e,het[t]]));var met=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],pet=wk([[30,5]]);Ra.static_dtree=vk(met.map((e,t)=>[e,pet[t]]));Ra.static_l_desc=new Ra(Ra.static_ltree,lr.extra_lbits,257,286,15);Ra.static_d_desc=new Ra(Ra.static_dtree,lr.extra_dbits,0,30,15);Ra.static_bl_desc=new Ra(null,lr.extra_blbits,0,19,7);var _et=9,get=8;function mm(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var Xde=0,Ek=1,eb=2,Hd=[new mm(0,0,0,0,Xde),new mm(4,4,8,4,Ek),new mm(4,5,16,8,Ek),new mm(4,6,32,32,Ek),new mm(4,4,16,16,eb),new mm(8,16,32,32,eb),new mm(8,16,128,128,eb),new mm(8,32,128,256,eb),new mm(32,128,258,1024,eb),new mm(32,258,258,4096,eb)],bk=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],Of=0,Tk=1,GD=2,Ck=3,yet=32,I7=42,Ak=113,WD=666,P7=8,xet=0,R7=1,bet=2,xr=3,Sk=258,_u=Sk+xr+1;function Yde(e,t,n,i){let o=e[t*2],r=e[n*2];return o<r||o==r&&i[t]<=i[n]}function Tet(){let e=this,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x,b,T,C,A,S,w,D,O,R,M,L,_,E,v,I,N,B,z,V=new lr,G=new lr,k=new lr;e.depth=[];let Y,W,J,j,$,Q;e.bl_count=[],e.heap=[],N=[],B=[],z=[];function he(){u=2*r,d[g-1]=0;for(let Ue=0;Ue<g-1;Ue++)d[Ue]=0;L=Hd[_].max_lazy,v=Hd[_].good_length,I=Hd[_].nice_length,M=Hd[_].max_chain,w=0,T=0,O=0,C=R=xr-1,S=0,p=0}function ye(){let Ue;for(Ue=0;Ue<286;Ue++)N[Ue*2]=0;for(Ue=0;Ue<30;Ue++)B[Ue*2]=0;for(Ue=0;Ue<19;Ue++)z[Ue*2]=0;N[256*2]=1,e.opt_len=e.static_len=0,W=J=0}function re(){V.dyn_tree=N,V.stat_desc=Ra.static_l_desc,G.dyn_tree=B,G.stat_desc=Ra.static_d_desc,k.dyn_tree=z,k.stat_desc=Ra.static_bl_desc,$=0,Q=0,j=8,ye()}e.pqdownheap=function(Ue,ut){let ot=e.heap,Ze=ot[ut],Qe=ut<<1;for(;Qe<=e.heap_len&&(Qe<e.heap_len&&Yde(Ue,ot[Qe+1],ot[Qe],e.depth)&&Qe++,!Yde(Ue,Ze,ot[Qe],e.depth));)ot[ut]=ot[Qe],ut=Qe,Qe<<=1;ot[ut]=Ze};function _e(Ue,ut){let ot=-1,Ze,Qe=Ue[0*2+1],Nt=0,gn=7,Hi=4;Qe===0&&(gn=138,Hi=3),Ue[(ut+1)*2+1]=65535;for(let so=0;so<=ut;so++)Ze=Qe,Qe=Ue[(so+1)*2+1],!(++Nt<gn&&Ze==Qe)&&(Nt<Hi?z[Ze*2]+=Nt:Ze!==0?(Ze!=ot&&z[Ze*2]++,z[16*2]++):Nt<=10?z[17*2]++:z[18*2]++,Nt=0,ot=Ze,Qe===0?(gn=138,Hi=3):Ze==Qe?(gn=6,Hi=3):(gn=7,Hi=4))}function xe(){let Ue;for(_e(N,V.max_code),_e(B,G.max_code),k.build_tree(e),Ue=18;Ue>=3&&z[lr.bl_order[Ue]*2+1]===0;Ue--);return e.opt_len+=3*(Ue+1)+5+5+4,Ue}function De(Ue){e.pending_buf[e.pending++]=Ue}function we(Ue){De(Ue&255),De(Ue>>>8&255)}function Oe(Ue){De(Ue>>8&255),De(Ue&255&255)}function Me(Ue,ut){let ot,Ze=ut;Q>16-Ze?(ot=Ue,$|=ot<<Q&65535,we($),$=ot>>>16-Q,Q+=Ze-16):($|=Ue<<Q&65535,Q+=Ze)}function ht(Ue,ut){let ot=Ue*2;Me(ut[ot]&65535,ut[ot+1]&65535)}function it(Ue,ut){let ot,Ze=-1,Qe,Nt=Ue[0*2+1],gn=0,Hi=7,so=4;for(Nt===0&&(Hi=138,so=3),ot=0;ot<=ut;ot++)if(Qe=Nt,Nt=Ue[(ot+1)*2+1],!(++gn<Hi&&Qe==Nt)){if(gn<so)do ht(Qe,z);while(--gn!==0);else Qe!==0?(Qe!=Ze&&(ht(Qe,z),gn--),ht(16,z),Me(gn-3,2)):gn<=10?(ht(17,z),Me(gn-3,3)):(ht(18,z),Me(gn-11,7));gn=0,Ze=Qe,Nt===0?(Hi=138,so=3):Qe==Nt?(Hi=6,so=3):(Hi=7,so=4)}}function At(Ue,ut,ot){let Ze;for(Me(Ue-257,5),Me(ut-1,5),Me(ot-4,4),Ze=0;Ze<ot;Ze++)Me(z[lr.bl_order[Ze]*2+1],3);it(N,Ue-1),it(B,ut-1)}function Le(){Q==16?(we($),$=0,Q=0):Q>=8&&(De($&255),$>>>=8,Q-=8)}function ke(){Me(R7<<1,3),ht(256,Ra.static_ltree),Le(),1+j+10-Q<9&&(Me(R7<<1,3),ht(256,Ra.static_ltree),Le()),j=7}function $e(Ue,ut){let ot,Ze,Qe;if(e.dist_buf[W]=Ue,e.lc_buf[W]=ut&255,W++,Ue===0?N[ut*2]++:(J++,Ue--,N[(lr._length_code[ut]+256+1)*2]++,B[lr.d_code(Ue)*2]++),!(W&8191)&&_>2){for(ot=W*8,Ze=w-T,Qe=0;Qe<30;Qe++)ot+=B[Qe*2]*(5+lr.extra_dbits[Qe]);if(ot>>>=3,J<Math.floor(W/2)&&ot<Math.floor(Ze/2))return!0}return W==Y-1}function Xe(Ue,ut){let ot,Ze,Qe=0,Nt,gn;if(W!==0)do ot=e.dist_buf[Qe],Ze=e.lc_buf[Qe],Qe++,ot===0?ht(Ze,Ue):(Nt=lr._length_code[Ze],ht(Nt+256+1,Ue),gn=lr.extra_lbits[Nt],gn!==0&&(Ze-=lr.base_length[Nt],Me(Ze,gn)),ot--,Nt=lr.d_code(ot),ht(Nt,ut),gn=lr.extra_dbits[Nt],gn!==0&&(ot-=lr.base_dist[Nt],Me(ot,gn)));while(Qe<W);ht(256,Ue),j=Ue[256*2+1]}function kt(){Q>8?we($):Q>0&&De($&255),$=0,Q=0}function Te(Ue,ut,ot){kt(),j=8,ot&&(we(ut),we(~ut)),e.pending_buf.set(c.subarray(Ue,Ue+ut),e.pending),e.pending+=ut}function Ce(Ue,ut,ot){Me((xet<<1)+(ot?1:0),3),Te(Ue,ut,!0)}function Zt(Ue,ut,ot){let Ze,Qe,Nt=0;_>0?(V.build_tree(e),G.build_tree(e),Nt=xe(),Ze=e.opt_len+3+7>>>3,Qe=e.static_len+3+7>>>3,Qe<=Ze&&(Ze=Qe)):Ze=Qe=ut+5,ut+4<=Ze&&Ue!=-1?Ce(Ue,ut,ot):Qe==Ze?(Me((R7<<1)+(ot?1:0),3),Xe(Ra.static_ltree,Ra.static_dtree)):(Me((bet<<1)+(ot?1:0),3),At(V.max_code+1,G.max_code+1,Nt+1),Xe(N,B)),ye(),ot&&kt()}function Qt(Ue){Zt(T>=0?T:-1,w-T,Ue),T=w,t.flush_pending()}function Xt(){let Ue,ut,ot,Ze;do{if(Ze=u-O-w,Ze===0&&w===0&&O===0)Ze=r;else if(Ze==-1)Ze--;else if(w>=r+r-_u){c.set(c.subarray(r,r+r),0),D-=r,w-=r,T-=r,Ue=g,ot=Ue;do ut=d[--ot]&65535,d[ot]=ut>=r?ut-r:0;while(--Ue!==0);Ue=r,ot=Ue;do ut=f[--ot]&65535,f[ot]=ut>=r?ut-r:0;while(--Ue!==0);Ze+=r}if(t.avail_in===0)return;Ue=t.read_buf(c,w+O,Ze),O+=Ue,O>=xr&&(p=c[w]&255,p=(p<<b^c[w+1]&255)&x)}while(O<_u&&t.avail_in!==0)}function ro(Ue){let ut=65535,ot;for(ut>i-5&&(ut=i-5);;){if(O<=1){if(Xt(),O===0&&Ue==0)return Of;if(O===0)break}if(w+=O,O=0,ot=T+ut,(w===0||w>=ot)&&(O=w-ot,w=ot,Qt(!1),t.avail_out===0)||w-T>=r-_u&&(Qt(!1),t.avail_out===0))return Of}return Qt(Ue==4),t.avail_out===0?Ue==4?GD:Of:Ue==4?Ck:Tk}function Ke(Ue){let ut=M,ot=w,Ze,Qe,Nt=R,gn=w>r-_u?w-(r-_u):0,Hi=I,so=a,Zr=w+Sk,nr=c[ot+Nt-1],go=c[ot+Nt];R>=v&&(ut>>=2),Hi>O&&(Hi=O);do if(Ze=Ue,!(c[Ze+Nt]!=go||c[Ze+Nt-1]!=nr||c[Ze]!=c[ot]||c[++Ze]!=c[ot+1])){ot+=2,Ze++;do;while(c[++ot]==c[++Ze]&&c[++ot]==c[++Ze]&&c[++ot]==c[++Ze]&&c[++ot]==c[++Ze]&&c[++ot]==c[++Ze]&&c[++ot]==c[++Ze]&&c[++ot]==c[++Ze]&&c[++ot]==c[++Ze]&&ot<Zr);if(Qe=Sk-(Zr-ot),ot=Zr-Sk,Qe>Nt){if(D=Ue,Nt=Qe,Qe>=Hi)break;nr=c[ot+Nt-1],go=c[ot+Nt]}}while((Ue=f[Ue&so]&65535)>gn&&--ut!==0);return Nt<=O?Nt:O}function $r(Ue){let ut=0,ot;for(;;){if(O<_u){if(Xt(),O<_u&&Ue==0)return Of;if(O===0)break}if(O>=xr&&(p=(p<<b^c[w+(xr-1)]&255)&x,ut=d[p]&65535,f[w&a]=d[p],d[p]=w),ut!==0&&(w-ut&65535)<=r-_u&&E!=2&&(C=Ke(ut)),C>=xr)if(ot=$e(w-D,C-xr),O-=C,C<=L&&O>=xr){C--;do w++,p=(p<<b^c[w+(xr-1)]&255)&x,ut=d[p]&65535,f[w&a]=d[p],d[p]=w;while(--C!==0);w++}else w+=C,C=0,p=c[w]&255,p=(p<<b^c[w+1]&255)&x;else ot=$e(0,c[w]&255),O--,w++;if(ot&&(Qt(!1),t.avail_out===0))return Of}return Qt(Ue==4),t.avail_out===0?Ue==4?GD:Of:Ue==4?Ck:Tk}function tr(Ue){let ut=0,ot,Ze;for(;;){if(O<_u){if(Xt(),O<_u&&Ue==0)return Of;if(O===0)break}if(O>=xr&&(p=(p<<b^c[w+(xr-1)]&255)&x,ut=d[p]&65535,f[w&a]=d[p],d[p]=w),R=C,A=D,C=xr-1,ut!==0&&R<L&&(w-ut&65535)<=r-_u&&(E!=2&&(C=Ke(ut)),C<=5&&(E==1||C==xr&&w-D>4096)&&(C=xr-1)),R>=xr&&C<=R){Ze=w+O-xr,ot=$e(w-1-A,R-xr),O-=R-1,R-=2;do++w<=Ze&&(p=(p<<b^c[w+(xr-1)]&255)&x,ut=d[p]&65535,f[w&a]=d[p],d[p]=w);while(--R!==0);if(S=0,C=xr-1,w++,ot&&(Qt(!1),t.avail_out===0))return Of}else if(S!==0){if(ot=$e(0,c[w-1]&255),ot&&Qt(!1),w++,O--,t.avail_out===0)return Of}else S=1,w++,O--}return S!==0&&(ot=$e(0,c[w-1]&255),S=0),Qt(Ue==4),t.avail_out===0?Ue==4?GD:Of:Ue==4?Ck:Tk}function Ys(Ue){return Ue.total_in=Ue.total_out=0,Ue.msg=null,e.pending=0,e.pending_out=0,n=Ak,o=0,re(),he(),0}e.deflateInit=function(Ue,ut,ot,Ze,Qe,Nt){return Ze||(Ze=P7),Qe||(Qe=get),Nt||(Nt=0),Ue.msg=null,ut==-1&&(ut=6),Qe<1||Qe>_et||Ze!=P7||ot<9||ot>15||ut<0||ut>9||Nt<0||Nt>2?-2:(Ue.dstate=e,s=ot,r=1<<s,a=r-1,m=Qe+7,g=1<<m,x=g-1,b=Math.floor((m+xr-1)/xr),c=new Uint8Array(r*2),f=[],d=[],Y=1<<Qe+6,e.pending_buf=new Uint8Array(Y*4),i=Y*4,e.dist_buf=new Uint16Array(Y),e.lc_buf=new Uint8Array(Y),_=ut,E=Nt,Ys(Ue))},e.deflateEnd=function(){return n!=I7&&n!=Ak&&n!=WD?-2:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,d=null,f=null,c=null,e.dstate=null,n==Ak?-3:0)},e.deflateParams=function(Ue,ut,ot){let Ze=0;return ut==-1&&(ut=6),ut<0||ut>9||ot<0||ot>2?-2:(Hd[_].func!=Hd[ut].func&&Ue.total_in!==0&&(Ze=Ue.deflate(1)),_!=ut&&(_=ut,L=Hd[_].max_lazy,v=Hd[_].good_length,I=Hd[_].nice_length,M=Hd[_].max_chain),E=ot,Ze)},e.deflateSetDictionary=function(Ue,ut,ot){let Ze=ot,Qe,Nt=0;if(!ut||n!=I7)return-2;if(Ze<xr)return 0;for(Ze>r-_u&&(Ze=r-_u,Nt=ot-Ze),c.set(ut.subarray(Nt,Nt+Ze),0),w=Ze,T=Ze,p=c[0]&255,p=(p<<b^c[1]&255)&x,Qe=0;Qe<=Ze-xr;Qe++)p=(p<<b^c[Qe+(xr-1)]&255)&x,f[Qe&a]=d[p],d[p]=Qe;return 0},e.deflate=function(Ue,ut){let ot,Ze,Qe,Nt,gn;if(ut>4||ut<0)return-2;if(!Ue.next_out||!Ue.next_in&&Ue.avail_in!==0||n==WD&&ut!=4)return Ue.msg=bk[4],-2;if(Ue.avail_out===0)return Ue.msg=bk[7],-5;if(t=Ue,Nt=o,o=ut,n==I7&&(Ze=P7+(s-8<<4)<<8,Qe=(_-1&255)>>1,Qe>3&&(Qe=3),Ze|=Qe<<6,w!==0&&(Ze|=yet),Ze+=31-Ze%31,n=Ak,Oe(Ze)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&&ut<=Nt&&ut!=4)return t.msg=bk[7],-5;if(n==WD&&t.avail_in!==0)return Ue.msg=bk[7],-5;if(t.avail_in!==0||O!==0||ut!=0&&n!=WD){switch(gn=-1,Hd[_].func){case Xde:gn=ro(ut);break;case Ek:gn=$r(ut);break;case eb:gn=tr(ut);break;default:}if((gn==GD||gn==Ck)&&(n=WD),gn==Of||gn==GD)return t.avail_out===0&&(o=-1),0;if(gn==Tk){if(ut==1)ke();else if(Ce(0,0,!1),ut==3)for(ot=0;ot<g;ot++)d[ot]=0;if(t.flush_pending(),t.avail_out===0)return o=-1,0}}return ut!=4?0:1}}function Kde(){let e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}Kde.prototype={deflateInit(e,t){let n=this;return n.dstate=new Tet,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){let t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd(){let e=this;if(!e.dstate)return-2;let t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){let n=this;return n.dstate?n.dstate.deflateParams(n,e,t):-2},deflateSetDictionary(e,t){let n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf(e,t,n){let i=this,o=i.avail_in;return o>n&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function $de(e){let t=this,n=new Kde,i=Cet(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let u,f,d=0,p=0,g=0,m=[];if(a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,u=n.deflate(o),u!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?m.push(new Uint8Array(r)):m.push(r.subarray(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=d&&(c(n.next_in_index),d=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return m.length>1?(f=new Uint8Array(g),m.forEach(function(x){f.set(x,p),p+=x.length})):f=m[0]?new Uint8Array(m[0]):new Uint8Array,f}},t.flush=function(){let a,c,u=0,f=0,d=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&d.push(r.slice(0,n.next_out_index)),f+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(f),d.forEach(function(p){c.set(p,u),u+=p.length}),c}}function Cet(e){return e+5*(Math.floor(e/16383)+1)}var gu=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],_he=1440,Aet=0,Eet=4,wet=9,vet=5,Det=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],Iet=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],Pet=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ret=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],Oet=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],Met=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],xy=15;function N7(){let e=this,t,n,i,o,r,s;function a(u,f,d,p,g,m,x,b,T,C,A){let S,w,D,O,R,M,L,_,E,v,I,N,B,z,V;v=0,R=d;do i[u[f+v]]++,v++,R--;while(R!==0);if(i[0]==d)return x[0]=-1,b[0]=0,0;for(_=b[0],M=1;M<=xy&&i[M]===0;M++);for(L=M,_<M&&(_=M),R=xy;R!==0&&i[R]===0;R--);for(D=R,_>R&&(_=R),b[0]=_,z=1<<M;M<R;M++,z<<=1)if((z-=i[M])<0)return-3;if((z-=i[R])<0)return-3;for(i[R]+=z,s[1]=M=0,v=1,B=2;--R!==0;)s[B]=M+=i[v],B++,v++;R=0,v=0;do(M=u[f+v])!==0&&(A[s[M]++]=R),v++;while(++R<d);for(d=s[D],s[0]=R=0,v=0,O=-1,N=-_,r[0]=0,I=0,V=0;L<=D;L++)for(S=i[L];S--!==0;){for(;L>N+_;){if(O++,N+=_,V=D-N,V=V>_?_:V,(w=1<<(M=L-N))>S+1&&(w-=S+1,B=L,M<V))for(;++M<V&&!((w<<=1)<=i[++B]);)w-=i[B];if(V=1<<M,C[0]+V>_he)return-3;r[O]=I=C[0],C[0]+=V,O!==0?(s[O]=R,o[0]=M,o[1]=_,M=R>>>N-_,o[2]=I-r[O-1]-M,T.set(o,(r[O-1]+M)*3)):x[0]=I}for(o[1]=L-N,v>=d?o[0]=192:A[v]<p?(o[0]=A[v]<256?0:96,o[2]=A[v++]):(o[0]=m[A[v]-p]+16+64,o[2]=g[A[v++]-p]),w=1<<L-N,M=R>>>N;M<V;M+=w)T.set(o,(I+M)*3);for(M=1<<L-1;R&M;M>>>=1)R^=M;for(R^=M,E=(1<<N)-1;(R&E)!=s[O];)O--,N-=_,E=(1<<N)-1}return z!==0&&D!=1?-5:0}function c(u){let f;for(t||(t=[],n=[],i=new Int32Array(xy+1),o=[],r=new Int32Array(xy),s=new Int32Array(xy+1)),n.length<u&&(n=[]),f=0;f<u;f++)n[f]=0;for(f=0;f<xy+1;f++)i[f]=0;for(f=0;f<3;f++)o[f]=0;r.set(i.subarray(0,xy),0),s.set(i.subarray(0,xy+1),0)}e.inflate_trees_bits=function(u,f,d,p,g){let m;return c(19),t[0]=0,m=a(u,0,19,19,null,null,d,f,p,t,n),m==-3?g.msg="oversubscribed dynamic bit lengths tree":(m==-5||f[0]===0)&&(g.msg="incomplete dynamic bit lengths tree",m=-3),m},e.inflate_trees_dynamic=function(u,f,d,p,g,m,x,b,T){let C;return c(288),t[0]=0,C=a(d,0,u,257,Pet,Ret,m,p,b,t,n),C!=0||p[0]===0?(C==-3?T.msg="oversubscribed literal/length tree":C!=-4&&(T.msg="incomplete literal/length tree",C=-3),C):(c(288),C=a(d,u,f,0,Oet,Met,x,g,b,t,n),C!=0||g[0]===0&&u>257?(C==-3?T.msg="oversubscribed distance tree":C==-5?(T.msg="incomplete distance tree",C=-3):C!=-4&&(T.msg="empty distance tree with lengths",C=-3),C):0)}}N7.inflate_trees_fixed=function(e,t,n,i){return e[0]=wet,t[0]=vet,n[0]=Det,i[0]=Iet,0};var Dk=0,Zde=1,Qde=2,Jde=3,ehe=4,the=5,nhe=6,O7=7,ihe=8,Ik=9;function Let(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,u=0,f=0,d,p=0,g,m=0;function x(b,T,C,A,S,w,D,O){let R,M,L,_,E,v,I,N,B,z,V,G,k,Y,W,J;I=O.next_in_index,N=O.avail_in,E=D.bitb,v=D.bitk,B=D.write,z=B<D.read?D.read-B-1:D.end-B,V=gu[b],G=gu[T];do{for(;v<20;)N--,E|=(O.read_byte(I++)&255)<<v,v+=8;if(R=E&V,M=C,L=A,J=(L+R)*3,(_=M[J])===0){E>>=M[J+1],v-=M[J+1],D.win[B++]=M[J+2],z--;continue}do{if(E>>=M[J+1],v-=M[J+1],_&16){for(_&=15,k=M[J+2]+(E&gu[_]),E>>=_,v-=_;v<15;)N--,E|=(O.read_byte(I++)&255)<<v,v+=8;R=E&G,M=S,L=w,J=(L+R)*3,_=M[J];do if(E>>=M[J+1],v-=M[J+1],_&16){for(_&=15;v<_;)N--,E|=(O.read_byte(I++)&255)<<v,v+=8;if(Y=M[J+2]+(E&gu[_]),E>>=_,v-=_,z-=k,B>=Y)W=B-Y,B-W>0&&2>B-W?(D.win[B++]=D.win[W++],D.win[B++]=D.win[W++],k-=2):(D.win.set(D.win.subarray(W,W+2),B),B+=2,W+=2,k-=2);else{W=B-Y;do W+=D.end;while(W<0);if(_=D.end-W,k>_){if(k-=_,B-W>0&&_>B-W)do D.win[B++]=D.win[W++];while(--_!==0);else D.win.set(D.win.subarray(W,W+_),B),B+=_,W+=_,_=0;W=0}}if(B-W>0&&k>B-W)do D.win[B++]=D.win[W++];while(--k!==0);else D.win.set(D.win.subarray(W,W+k),B),B+=k,W+=k,k=0;break}else if(!(_&64))R+=M[J+2],R+=E&gu[_],J=(L+R)*3,_=M[J];else return O.msg="invalid distance code",k=O.avail_in-N,k=v>>3<k?v>>3:k,N+=k,I-=k,v-=k<<3,D.bitb=E,D.bitk=v,O.avail_in=N,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,-3;while(!0);break}if(_&64)return _&32?(k=O.avail_in-N,k=v>>3<k?v>>3:k,N+=k,I-=k,v-=k<<3,D.bitb=E,D.bitk=v,O.avail_in=N,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,1):(O.msg="invalid literal/length code",k=O.avail_in-N,k=v>>3<k?v>>3:k,N+=k,I-=k,v-=k<<3,D.bitb=E,D.bitk=v,O.avail_in=N,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,-3);if(R+=M[J+2],R+=E&gu[_],J=(L+R)*3,(_=M[J])===0){E>>=M[J+1],v-=M[J+1],D.win[B++]=M[J+2],z--;break}}while(!0)}while(z>=258&&N>=10);return k=O.avail_in-N,k=v>>3<k?v>>3:k,N+=k,I-=k,v-=k<<3,D.bitb=E,D.bitk=v,O.avail_in=N,O.total_in+=I-O.next_in_index,O.next_in_index=I,D.write=B,0}e.init=function(b,T,C,A,S,w){t=Dk,u=b,f=T,d=C,p=A,g=S,m=w,i=null},e.proc=function(b,T,C){let A,S,w,D=0,O=0,R=0,M,L,_,E;for(R=T.next_in_index,M=T.avail_in,D=b.bitb,O=b.bitk,L=b.write,_=L<b.read?b.read-L-1:b.end-L;;)switch(t){case Dk:if(_>=258&&M>=10&&(b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,C=x(u,f,d,p,g,m,b,T),R=T.next_in_index,M=T.avail_in,D=b.bitb,O=b.bitk,L=b.write,_=L<b.read?b.read-L-1:b.end-L,C!=0)){t=C==1?O7:Ik;break}r=u,i=d,o=p,t=Zde;case Zde:for(A=r;O<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}if(S=(o+(D&gu[A]))*3,D>>>=i[S+1],O-=i[S+1],w=i[S],w===0){s=i[S+2],t=nhe;break}if(w&16){a=w&15,n=i[S+2],t=Qde;break}if(!(w&64)){r=w,o=S/3+i[S+2];break}if(w&32){t=O7;break}return t=Ik,T.msg="invalid literal/length code",C=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);case Qde:for(A=a;O<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}n+=D&gu[A],D>>=A,O-=A,r=f,i=g,o=m,t=Jde;case Jde:for(A=r;O<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}if(S=(o+(D&gu[A]))*3,D>>=i[S+1],O-=i[S+1],w=i[S],w&16){a=w&15,c=i[S+2],t=ehe;break}if(!(w&64)){r=w,o=S/3+i[S+2];break}return t=Ik,T.msg="invalid distance code",C=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);case ehe:for(A=a;O<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);M--,D|=(T.read_byte(R++)&255)<<O,O+=8}c+=D&gu[A],D>>=A,O-=A,t=the;case the:for(E=L-c;E<0;)E+=b.end;for(;n!==0;){if(_===0&&(L==b.end&&b.read!==0&&(L=0,_=L<b.read?b.read-L-1:b.end-L),_===0&&(b.write=L,C=b.inflate_flush(T,C),L=b.write,_=L<b.read?b.read-L-1:b.end-L,L==b.end&&b.read!==0&&(L=0,_=L<b.read?b.read-L-1:b.end-L),_===0)))return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);b.win[L++]=b.win[E++],_--,E==b.end&&(E=0),n--}t=Dk;break;case nhe:if(_===0&&(L==b.end&&b.read!==0&&(L=0,_=L<b.read?b.read-L-1:b.end-L),_===0&&(b.write=L,C=b.inflate_flush(T,C),L=b.write,_=L<b.read?b.read-L-1:b.end-L,L==b.end&&b.read!==0&&(L=0,_=L<b.read?b.read-L-1:b.end-L),_===0)))return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);C=0,b.win[L++]=s,_--,t=Dk;break;case O7:if(O>7&&(O-=8,M++,R--),b.write=L,C=b.inflate_flush(T,C),L=b.write,_=L<b.read?b.read-L-1:b.end-L,b.read!=b.write)return b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);t=ihe;case ihe:return C=1,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);case Ik:return C=-3,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C);default:return C=-2,b.bitb=D,b.bitk=O,T.avail_in=M,T.total_in+=R-T.next_in_index,T.next_in_index=R,b.write=L,b.inflate_flush(T,C)}},e.free=function(){}}var ohe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],fE=0,M7=1,rhe=2,she=3,ahe=4,che=5,Pk=6,Rk=7,lhe=8,tb=9;function Net(e,t){let n=this,i=fE,o=0,r=0,s=0,a,c=[0],u=[0],f=new Let,d=0,p=new Int32Array(_he*3),g=0,m=new N7;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(x,b){b&&(b[0]=g),i==Pk&&f.free(x),i=fE,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(x,b){let T,C,A;return C=x.next_out_index,A=n.read,T=(A<=n.write?n.write:n.end)-A,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(A,A+T),C),C+=T,A+=T,A==n.end&&(A=0,n.write==n.end&&(n.write=0),T=n.write-A,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(A,A+T),C),C+=T,A+=T),x.next_out_index=C,n.read=A,b},n.proc=function(x,b){let T,C,A,S,w,D,O,R;for(S=x.next_in_index,w=x.avail_in,C=n.bitb,A=n.bitk,D=n.write,O=D<n.read?n.read-D-1:n.end-D;;){let M,L,_,E,v,I,N,B;switch(i){case fE:for(;A<3;){if(w!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);w--,C|=(x.read_byte(S++)&255)<<A,A+=8}switch(T=C&7,d=T&1,T>>>1){case 0:C>>>=3,A-=3,T=A&7,C>>>=T,A-=T,i=M7;break;case 1:M=[],L=[],_=[[]],E=[[]],N7.inflate_trees_fixed(M,L,_,E),f.init(M[0],L[0],_[0],0,E[0],0),C>>>=3,A-=3,i=Pk;break;case 2:C>>>=3,A-=3,i=she;break;case 3:return C>>>=3,A-=3,i=tb,x.msg="invalid block type",b=-3,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b)}break;case M7:for(;A<32;){if(w!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);w--,C|=(x.read_byte(S++)&255)<<A,A+=8}if((~C>>>16&65535)!=(C&65535))return i=tb,x.msg="invalid stored block lengths",b=-3,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);o=C&65535,C=A=0,i=o!==0?rhe:d!==0?Rk:fE;break;case rhe:if(w===0||O===0&&(D==n.end&&n.read!==0&&(D=0,O=D<n.read?n.read-D-1:n.end-D),O===0&&(n.write=D,b=n.inflate_flush(x,b),D=n.write,O=D<n.read?n.read-D-1:n.end-D,D==n.end&&n.read!==0&&(D=0,O=D<n.read?n.read-D-1:n.end-D),O===0)))return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);if(b=0,T=o,T>w&&(T=w),T>O&&(T=O),n.win.set(x.read_buf(S,T),D),S+=T,w-=T,D+=T,O-=T,(o-=T)!==0)break;i=d!==0?Rk:fE;break;case she:for(;A<14;){if(w!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);w--,C|=(x.read_byte(S++)&255)<<A,A+=8}if(r=T=C&16383,(T&31)>29||(T>>5&31)>29)return i=tb,x.msg="too many length or distance symbols",b=-3,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);if(T=258+(T&31)+(T>>5&31),!a||a.length<T)a=[];else for(R=0;R<T;R++)a[R]=0;C>>>=14,A-=14,s=0,i=ahe;case ahe:for(;s<4+(r>>>10);){for(;A<3;){if(w!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);w--,C|=(x.read_byte(S++)&255)<<A,A+=8}a[ohe[s++]]=C&7,C>>>=3,A-=3}for(;s<19;)a[ohe[s++]]=0;if(c[0]=7,T=m.inflate_trees_bits(a,c,u,p,x),T!=0)return b=T,b==-3&&(a=null,i=tb),n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);s=0,i=che;case che:for(;T=r,!(s>=258+(T&31)+(T>>5&31));){let z,V;for(T=c[0];A<T;){if(w!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);w--,C|=(x.read_byte(S++)&255)<<A,A+=8}if(T=p[(u[0]+(C&gu[T]))*3+1],V=p[(u[0]+(C&gu[T]))*3+2],V<16)C>>>=T,A-=T,a[s++]=V;else{for(R=V==18?7:V-14,z=V==18?11:3;A<T+R;){if(w!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);w--,C|=(x.read_byte(S++)&255)<<A,A+=8}if(C>>>=T,A-=T,z+=C&gu[R],C>>>=R,A-=R,R=s,T=r,R+z>258+(T&31)+(T>>5&31)||V==16&&R<1)return a=null,i=tb,x.msg="invalid bit length repeat",b=-3,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);V=V==16?a[R-1]:0;do a[R++]=V;while(--z!==0);s=R}}if(u[0]=-1,v=[],I=[],N=[],B=[],v[0]=9,I[0]=6,T=r,T=m.inflate_trees_dynamic(257+(T&31),1+(T>>5&31),a,v,I,N,B,p,x),T!=0)return T==-3&&(a=null,i=tb),b=T,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);f.init(v[0],I[0],p,N[0],p,B[0]),i=Pk;case Pk:if(n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,(b=f.proc(n,x,b))!=1)return n.inflate_flush(x,b);if(b=0,f.free(x),S=x.next_in_index,w=x.avail_in,C=n.bitb,A=n.bitk,D=n.write,O=D<n.read?n.read-D-1:n.end-D,d===0){i=fE;break}i=Rk;case Rk:if(n.write=D,b=n.inflate_flush(x,b),D=n.write,O=D<n.read?n.read-D-1:n.end-D,n.read!=n.write)return n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);i=lhe;case lhe:return b=1,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);case tb:return b=-3,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);default:return b=-2,n.bitb=C,n.bitk=A,x.avail_in=w,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b)}}},n.free=function(x){n.reset(x,null),n.win=null,p=null},n.set_dictionary=function(x,b,T){n.win.set(x.subarray(b,b+T),0),n.read=n.write=T},n.sync_point=function(){return i==M7?1:0}}var Fet=32,Bet=8,ket=0,uhe=1,fhe=2,dhe=3,hhe=4,mhe=5,L7=6,jD=7,phe=12,by=13,Vet=[0,0,255,255];function Uet(){let e=this;e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0;function t(n){return!n||!n.istate?-2:(n.total_in=n.total_out=0,n.msg=null,n.istate.mode=jD,n.istate.blocks.reset(n,null),0)}e.inflateEnd=function(n){return e.blocks&&e.blocks.free(n),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new Net(n,1<<i),t(n),0)},e.inflate=function(n,i){let o,r;if(!n||!n.istate||!n.next_in)return-2;let s=n.istate;for(i=i==Eet?-5:0,o=-5;;)switch(s.mode){case ket:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,((s.method=n.read_byte(n.next_in_index++))&15)!=Bet){s.mode=by,n.msg="unknown compression method",s.marker=5;break}if((s.method>>4)+8>s.wbits){s.mode=by,n.msg="invalid win size",s.marker=5;break}s.mode=uhe;case uhe:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=by,n.msg="incorrect header check",s.marker=5;break}if(!(r&Fet)){s.mode=jD;break}s.mode=fhe;case fhe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=dhe;case dhe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=hhe;case hhe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=mhe;case mhe:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=L7,2);case L7:return s.mode=by,n.msg="need dictionary",s.marker=0,-2;case jD:if(o=s.blocks.proc(n,o),o==-3){s.mode=by,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=phe;case phe:return n.avail_in=0,1;case by:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=L7)return-2;let a=n.istate;return s>=1<<a.wbits&&(s=(1<<a.wbits)-1,r=o-s),a.blocks.set_dictionary(i,r,s),a.mode=jD,0},e.inflateSync=function(n){let i,o,r,s,a;if(!n||!n.istate)return-2;let c=n.istate;if(c.mode!=by&&(c.mode=by,c.marker=0),(i=n.avail_in)===0)return-5;for(o=n.next_in_index,r=c.marker;i!==0&&r<4;)n.read_byte(o)==Vet[r]?r++:n.read_byte(o)!==0?r=0:r=4-r,o++,i--;return n.total_in+=o-n.next_in_index,n.next_in_index=o,n.avail_in=i,c.marker=r,r!=4?-3:(s=n.total_in,a=n.total_out,t(n),n.total_in=s,n.total_out=a,c.mode=jD,0)},e.inflateSyncPoint=function(n){return!n||!n.istate||!n.istate.blocks?-2:n.istate.blocks.sync_point()}}function ghe(){}ghe.prototype={inflateInit(e){let t=this;return t.istate=new Uet,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){let t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd(){let e=this;if(!e.istate)return-2;let t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){let e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary(e,t){let n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};function yhe(e){let t=this,n=new ghe,i=e&&e.chunkSize?Math.floor(e.chunkSize*2):128*1024,o=Aet,r=new Uint8Array(i),s=!1;n.inflateInit(),n.next_out=r,t.append=function(a,c){let u=[],f,d,p=0,g=0,m=0;if(a.length!==0){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,n.avail_in===0&&!s&&(n.next_in_index=0,s=!0),f=n.inflate(o),s&&f===-5){if(n.avail_in!==0)throw new Error("inflating: bad input")}else if(f!==0&&f!==1)throw new Error("inflating: "+n.msg);if((s||f===1)&&n.avail_in===a.length)throw new Error("inflating: bad input");n.next_out_index&&(n.next_out_index===i?u.push(new Uint8Array(r)):u.push(r.subarray(0,n.next_out_index))),m+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return u.length>1?(d=new Uint8Array(m),u.forEach(function(x){d.set(x,g),g+=x.length})):d=u[0]?new Uint8Array(u[0]):new Uint8Array,d}},t.flush=function(){n.inflateEnd()}}var dE="/",F7=new Date(2107,11,31),B7=new Date(1980,0,1),Xi=void 0,yu="undefined",s_="function";var qD=class{constructor(t){return class extends TransformStream{constructor(n,i){let o=new t(i);super({transform(r,s){s.enqueue(o.append(r))},flush(r){let s=o.flush();s&&r.enqueue(s)}})}}}};var zet=64,xhe=2;try{typeof navigator!=yu&&navigator.hardwareConcurrency&&(xhe=navigator.hardwareConcurrency)}catch{}var Het={chunkSize:512*1024,maxWorkers:xhe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:Xi,CompressionStreamNative:typeof CompressionStream!=yu&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=yu&&DecompressionStream},Cy=Object.assign({},Het);function YD(){return Cy}function Ok(e){return Math.max(e.chunkSize,zet)}function hE(e){let{baseURL:t,chunkSize:n,maxWorkers:i,terminateWorkerTimeout:o,useCompressionStream:r,useWebWorkers:s,Deflate:a,Inflate:c,CompressionStream:u,DecompressionStream:f,workerScripts:d}=e;if(Ty("baseURL",t),Ty("chunkSize",n),Ty("maxWorkers",i),Ty("terminateWorkerTimeout",o),Ty("useCompressionStream",r),Ty("useWebWorkers",s),a&&(Cy.CompressionStream=new qD(a)),c&&(Cy.DecompressionStream=new qD(c)),Ty("CompressionStream",u),Ty("DecompressionStream",f),d!==Xi){let{deflate:p,inflate:g}=d;if((p||g)&&(Cy.workerScripts||(Cy.workerScripts={})),p){if(!Array.isArray(p))throw new Error("workerScripts.deflate must be an array");Cy.workerScripts.deflate=p}if(g){if(!Array.isArray(g))throw new Error("workerScripts.inflate must be an array");Cy.workerScripts.inflate=g}}}function Ty(e,t){t!==Xi&&(Cy[e]=t)}var bhe=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;bhe[e]=t}var a_=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i<o;i++)n=n>>>8^bhe[(n^t[i])&255];this.crc=n}get(){return~this.crc}};var XD=class extends TransformStream{constructor(){let t,n=new a_;super({transform(i,o){n.append(i),o.enqueue(i)},flush(){let i=new Uint8Array(4);new DataView(i.buffer).setUint32(0,n.get()),t.value=i}}),t=this}};function mE(e){if(typeof TextEncoder==yu){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}else return new TextEncoder().encode(e)}var Wc={concat(e,t){if(e.length===0||t.length===0)return e.concat(t);let n=e[e.length-1],i=Wc.getPartial(n);return i===32?e.concat(t):Wc._shiftRight(t,i,n|0,e.slice(0,e.length-1))},bitLength(e){let t=e.length;if(t===0)return 0;let n=e[t-1];return(t-1)*32+Wc.getPartial(n)},clamp(e,t){if(e.length*32<t)return e;e=e.slice(0,Math.ceil(t/32));let n=e.length;return t=t&31,n>0&&t&&(e[n-1]=Wc.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s<e.length;s++)i.push(n|e[s]>>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=Wc.getPartial(o);return i.push(Wc.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},KD={bytes:{fromBits(e){let n=Wc.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r<n;r++)r&3||(o=e[r/4]),i[r]=o>>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],(n&3)===3&&(t.push(i),i=0);return n&3&&t.push(Wc.partial(8*(n&3),i)),t}}},The={};The.sha1=class{constructor(e){let t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){let e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){let t=this;typeof e=="string"&&(e=KD.utf8String.toBits(e));let n=t._buffer=Wc.concat(t._buffer,e),i=t._length,o=t._length=i+Wc.bitLength(e);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){let e=this,t=e._buffer,n=e._h;t=Wc.concat(t,[Wc.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i}_S(e,t){return t<<e|t>>>32-e}_block(e){let t=this,n=t._h,i=Array(80);for(let u=0;u<16;u++)i[u]=e[u];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let u=0;u<=79;u++){u>=16&&(i[u]=t._S(1,i[u-3]^i[u-8]^i[u-14]^i[u-16]));let f=t._S(5,o)+t._f(u,r,s,a)+c+i[u]+t._key[Math.floor(u/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=f}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var k7={};k7.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let u=s[r-1];(r%o===0||o===8&&r%o===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[u&255],r%o===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^u}for(let u=0;r;u++,r--){let f=s[u&3?r:r-4];r<=4||u<4?a[u]=f:a[u]=i[0][n[f>>>24]]^i[1][n[f>>16&255]]^i[2][n[f>>8&255]]^i[3][n[f&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,u;for(let f=0;f<256;f++)r[(o[f]=f<<1^(f>>7)*283)^f]=f;for(let f=s=0;!n[f];f^=a||1,s=r[s]||1){let d=s^s<<1^s<<2^s<<3^s<<4;d=d>>8^d&255^99,n[f]=d,i[d]=f,u=o[c=o[a=o[f]]];let p=u*16843009^c*65537^a*257^f*16843008,g=o[d]*257^d*16843008;for(let m=0;m<4;m++)e[m][f]=g=g<<24^g>>>8,t[m][d]=p=p<<24^p>>>8}for(let f=0;f<5;f++)e[f]=e[f].slice(0),t[f]=t[f].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],u=r[3],f=r[4],d=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],m=e[t?1:3]^n[3],x=4,b,T,C;for(let A=0;A<i;A++)b=s[d>>>24]^a[p>>16&255]^c[g>>8&255]^u[m&255]^n[x],T=s[p>>>24]^a[g>>16&255]^c[m>>8&255]^u[d&255]^n[x+1],C=s[g>>>24]^a[m>>16&255]^c[d>>8&255]^u[p&255]^n[x+2],m=s[m>>>24]^a[d>>16&255]^c[p>>8&255]^u[g&255]^n[x+3],x+=4,d=b,p=T,g=C;for(let A=0;A<4;A++)o[t?3&-A:A]=f[d>>>24]<<24^f[p>>16&255]<<16^f[g>>8&255]<<8^f[m&255]^n[x++],b=d,d=p,p=g,g=m,m=b;return o}};var Che={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i<e.length;i+=4){let r=n((o||Math.random())*4294967296);o=r()*987654071,t[i/4]=r()*4294967296|0}return e}},V7={};V7.ctrGladman=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if((e>>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=Wc.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);let s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return Wc.clamp(t,o)}};var Ay={importKey(e){return new Ay.hmacSha1(KD.bytes.toBits(e))},pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");let o=(i>>5)+1<<2,r,s,a,c,u,f=new ArrayBuffer(o),d=new DataView(f),p=0,g=Wc;for(t=KD.bytes.toBits(t),u=1;p<(o||1);u++){for(r=s=e.encrypt(g.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)r[c]^=s[c];for(a=0;p<(o||1)&&a<r.length;a++)d.setInt32(p,r[a]),p+=4}return f.slice(0,i/8)}};Ay.hmacSha1=class{constructor(e){let t=this,n=t._hash=The.sha1,i=[[],[]];t._baseHash=[new n,new n];let o=t._baseHash[0].blockSize/32;e.length>o&&(e=new n().update(e).finalize());for(let r=0;r<o;r++)i[0][r]=e[r]^909522486,i[1][r]=e[r]^1549556828;t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){let e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){let t=this;t._updated=!0,t._resultHash.update(e)}digest(){let e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}};var Get=typeof crypto!=yu&&typeof crypto.getRandomValues==s_,Ey="Invalid password",nb="Invalid signature",c_="zipjs-abort-check-password";function Mk(e){return Get?crypto.getRandomValues(e):Che.getRandomValues(e)}var pE=16,Wet="raw",She={name:"PBKDF2"},jet={name:"HMAC"},qet="SHA-1",Yet=Object.assign({hash:jet},She),U7=Object.assign({iterations:1e3,hash:{name:qet}},She),Xet=["deriveBits"],ZD=[8,12,16],$D=[16,24,32],Sy=10,Ket=[0,0,0,0],Fk=typeof crypto!=yu,eI=Fk&&crypto.subtle,whe=Fk&&typeof eI!=yu,pm=KD.bytes,$et=k7.aes,Zet=V7.ctrGladman,Qet=Ay.hmacSha1,Ahe=Fk&&whe&&typeof eI.importKey==s_,Ehe=Fk&&whe&&typeof eI.deriveBits==s_,Lk=class extends TransformStream{constructor({password:t,rawPassword:n,signed:i,encryptionStrength:o,checkPasswordOnly:r}){super({start(){Object.assign(this,{ready:new Promise(s=>this.resolveReady=s),password:Ihe(t,n),signed:i,strength:o-1,pending:new Uint8Array})},async transform(s,a){let c=this,{password:u,strength:f,resolveReady:d,ready:p}=c;u?(await Jet(c,f,u,Mf(s,0,ZD[f]+2)),s=Mf(s,ZD[f]+2),r?a.error(new Error(c_)):d()):await p;let g=new Uint8Array(s.length-Sy-(s.length-Sy)%pE);a.enqueue(vhe(c,s,g,0,Sy,!0))},async flush(s){let{signed:a,ctr:c,hmac:u,pending:f,ready:d}=this;if(u&&c){await d;let p=Mf(f,0,f.length-Sy),g=Mf(f,f.length-Sy),m=new Uint8Array;if(p.length){let x=JD(pm,p);u.update(x);let b=c.update(x);m=QD(pm,b)}if(a){let x=Mf(QD(pm,u.digest()),0,Sy);for(let b=0;b<Sy;b++)if(x[b]!=g[b])throw new Error(nb)}s.enqueue(m)}}})}},Nk=class extends TransformStream{constructor({password:t,rawPassword:n,encryptionStrength:i}){let o;super({start(){Object.assign(this,{ready:new Promise(r=>this.resolveReady=r),password:Ihe(t,n),strength:i-1,pending:new Uint8Array})},async transform(r,s){let a=this,{password:c,strength:u,resolveReady:f,ready:d}=a,p=new Uint8Array;c?(p=await ett(a,u,c),f()):await d;let g=new Uint8Array(p.length+r.length-r.length%pE);g.set(p,0),s.enqueue(vhe(a,r,g,p.length,0))},async flush(r){let{ctr:s,hmac:a,pending:c,ready:u}=this;if(a&&s){await u;let f=new Uint8Array;if(c.length){let d=s.update(JD(pm,c));a.update(d),f=QD(pm,d)}o.signature=QD(pm,a.digest()).slice(0,Sy),r.enqueue(z7(f,o.signature))}}}),o=this}};function vhe(e,t,n,i,o,r){let{ctr:s,hmac:a,pending:c}=e,u=t.length-o;c.length&&(t=z7(c,t),n=itt(n,u-u%pE));let f;for(f=0;f<=u-pE;f+=pE){let d=JD(pm,Mf(t,f,f+pE));r&&a.update(d);let p=s.update(d);r||a.update(p),n.set(QD(pm,p),f+i)}return e.pending=Mf(t,f),n}async function Jet(e,t,n,i){let o=await Dhe(e,t,n,Mf(i,0,ZD[t])),r=Mf(i,ZD[t]);if(o[0]!=r[0]||o[1]!=r[1])throw new Error(Ey)}async function ett(e,t,n){let i=Mk(new Uint8Array(ZD[t])),o=await Dhe(e,t,n,i);return z7(i,o)}async function Dhe(e,t,n,i){e.password=null;let o=await ttt(Wet,n,Yet,!1,Xet),r=await ntt(Object.assign({salt:i},U7),o,8*($D[t]*2+2)),s=new Uint8Array(r),a=JD(pm,Mf(s,0,$D[t])),c=JD(pm,Mf(s,$D[t],$D[t]*2)),u=Mf(s,$D[t]*2);return Object.assign(e,{keys:{key:a,authentication:c,passwordVerification:u},ctr:new Zet(new $et(a),Array.from(Ket)),hmac:new Qet(c)}),u}async function ttt(e,t,n,i,o){if(Ahe)try{return await eI.importKey(e,t,n,i,o)}catch{return Ahe=!1,Ay.importKey(t)}else return Ay.importKey(t)}async function ntt(e,t,n){if(Ehe)try{return await eI.deriveBits(e,t,n)}catch{return Ehe=!1,Ay.pbkdf2(t,e.salt,U7.iterations,n)}else return Ay.pbkdf2(t,e.salt,U7.iterations,n)}function Ihe(e,t){return t===Xi?mE(e):t}function z7(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function itt(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function Mf(e,t,n){return e.subarray(t,n)}function QD(e,t){return e.fromBits(t)}function JD(e,t){return e.toBits(t)}var _E=12,Bk=class extends TransformStream{constructor({password:t,passwordVerification:n,checkPasswordOnly:i}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Mhe(this,t)},transform(o,r){let s=this;if(s.password){let a=Phe(s,o.subarray(0,_E));if(s.password=null,a[_E-1]!=s.passwordVerification)throw new Error(Ey);o=o.subarray(_E)}i?r.error(new Error(c_)):r.enqueue(Phe(s,o))}})}},kk=class extends TransformStream{constructor({password:t,passwordVerification:n}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Mhe(this,t)},transform(i,o){let r=this,s,a;if(r.password){r.password=null;let c=Mk(new Uint8Array(_E));c[_E-1]=r.passwordVerification,s=new Uint8Array(i.length+c.length),s.set(Rhe(r,c),0),a=_E}else s=new Uint8Array(i.length),a=0;s.set(Rhe(r,i),a),o.enqueue(s)}})}};function Phe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Lhe(e)^t[i],H7(e,n[i]);return n}function Rhe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=Lhe(e)^t[i],H7(e,t[i]);return n}function Mhe(e,t){let n=[305419896,591751049,878082192];Object.assign(e,{keys:n,crcKey0:new a_(n[0]),crcKey2:new a_(n[2])});for(let i=0;i<t.length;i++)H7(e,t.charCodeAt(i))}function H7(e,t){let[n,i,o]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Ohe(Math.imul(Ohe(i+Nhe(n)),134775813)+1),e.crcKey2.append([i>>>24]),o=~e.crcKey2.get(),e.keys=[n,i,o]}function Lhe(e){let t=e.keys[2]|2;return Nhe(Math.imul(t,t^1)>>>8)}function Nhe(e){return e&255}function Ohe(e){return e&4294967295}var Fhe="deflate-raw",Vk=class extends TransformStream{constructor(t,{chunkSize:n,CompressionStream:i,CompressionStreamNative:o}){super({});let{compressed:r,encrypted:s,useCompressionStream:a,zipCrypto:c,signed:u,level:f}=t,d=this,p,g,m=Bhe(super.readable);(!s||c)&&u&&(p=new XD,m=_m(m,p)),r&&(m=Vhe(m,a,{level:f,chunkSize:n},o,i)),s&&(c?m=_m(m,new kk(t)):(g=new Nk(t),m=_m(m,g))),khe(d,m,()=>{let x;s&&!c&&(x=g.signature),(!s||c)&&u&&(x=new DataView(p.value.buffer).getUint32(0)),d.signature=x})}},Uk=class extends TransformStream{constructor(t,{chunkSize:n,DecompressionStream:i,DecompressionStreamNative:o}){super({});let{zipCrypto:r,encrypted:s,signed:a,signature:c,compressed:u,useCompressionStream:f}=t,d,p,g=Bhe(super.readable);s&&(r?g=_m(g,new Bk(t)):(p=new Lk(t),g=_m(g,p))),u&&(g=Vhe(g,f,{chunkSize:n},o,i)),(!s||r)&&a&&(d=new XD,g=_m(g,d)),khe(this,g,()=>{if((!s||r)&&a){let m=new DataView(d.value.buffer);if(c!=m.getUint32(0,!1))throw new Error(nb)}})}};function Bhe(e){return _m(e,new TransformStream({transform(t,n){t&&t.length&&n.enqueue(t)}}))}function khe(e,t,n){t=_m(t,new TransformStream({flush:n})),Object.defineProperty(e,"readable",{get(){return t}})}function Vhe(e,t,n,i,o){try{let r=t&&i?i:o;e=_m(e,new r(Fhe,n))}catch{if(t)try{e=_m(e,new o(Fhe,n))}catch{return e}else return e}return e}function _m(e,t){return e.pipeThrough(t)}var Uhe="message",zhe="start",Hhe="pull",G7="data",Ghe="ack",W7="close",Gk="deflate",Wk="inflate";var zk=class extends TransformStream{constructor(t,n){super({});let i=this,{codecType:o}=t,r;o.startsWith(Gk)?r=Vk:o.startsWith(Wk)&&(r=Uk);let s=0,a=0,c=new r(t,n),u=super.readable,f=new TransformStream({transform(p,g){p&&p.length&&(a+=p.length,g.enqueue(p))},flush(){Object.assign(i,{inputSize:a})}}),d=new TransformStream({transform(p,g){p&&p.length&&(s+=p.length,g.enqueue(p))},flush(){let{signature:p}=c;Object.assign(i,{signature:p,outputSize:s,inputSize:a})}});Object.defineProperty(i,"readable",{get(){return u.pipeThrough(f).pipeThrough(c).pipeThrough(d)}})}},Hk=class extends TransformStream{constructor(t){let n;super({transform:i,flush(o){n&&n.length&&o.enqueue(n)}});function i(o,r){if(n){let s=new Uint8Array(n.length+o.length);s.set(n),s.set(o,n.length),o=s,n=null}o.length>t?(r.enqueue(o.slice(0,t)),i(o.slice(t),r)):n=o}}};var qhe=typeof Worker!=yu;var gE=class{constructor(t,{readable:n,writable:i},{options:o,config:r,streamOptions:s,useWebWorkers:a,transferStreams:c,scripts:u},f){let{signal:d}=s;return Object.assign(t,{busy:!0,readable:n.pipeThrough(new Hk(r.chunkSize)).pipeThrough(new q7(n,s),{signal:d}),writable:i,options:Object.assign({},o),scripts:u,transferStreams:c,terminate(){return new Promise(p=>{let{worker:g,busy:m}=t;g?(m?t.resolveTerminated=p:(g.terminate(),p()),t.interface=null):p()})},onTaskFinished(){let{resolveTerminated:p}=t;p&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),p()),t.busy=!1,f(t)}}),(a&&qhe?ott:Yhe)(t,r)}},q7=class extends TransformStream{constructor(t,{onstart:n,onprogress:i,size:o,onend:r}){let s=0;super({async start(){n&&await j7(n,o)},async transform(a,c){s+=a.length,i&&await j7(i,s,o),c.enqueue(a)},async flush(){t.size=s,r&&await j7(r,s)}})}};async function j7(e,...t){try{await e(...t)}catch{}}function Yhe(e,t){return{run:()=>rtt(e,t)}}function ott(e,t){let{baseURL:n,chunkSize:i}=t;if(!e.interface){let o;try{o=ctt(e.scripts[0],n,e)}catch{return qhe=!1,Yhe(e,t)}Object.assign(e,{worker:o,interface:{run:()=>stt(e,{chunkSize:i})}})}return e.interface}async function rtt({options:e,readable:t,writable:n,onTaskFinished:i},o){try{let r=new zk(e,o);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});let{signature:s,inputSize:a,outputSize:c}=r;return{signature:s,inputSize:a,outputSize:c}}finally{i()}}async function stt(e,t){let n,i,o=new Promise((p,g)=>{n=p,i=g});Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:o});let{readable:r,options:s,scripts:a}=e,{writable:c,closed:u}=att(e.writable),f=jk({type:zhe,scripts:a.slice(1),options:s,config:t,readable:r,writable:c},e);f||Object.assign(e,{reader:r.getReader(),writer:c.getWriter()});let d=await o;return f||await c.getWriter().close(),await u,d}function att(e){let t,n=new Promise(o=>t=o);return{writable:new WritableStream({async write(o){let r=e.getWriter();await r.ready,await r.write(o),r.releaseLock()},close(){t()},abort(o){return e.getWriter().abort(o)}}),closed:n}}var Whe=!0,jhe=!0;function ctt(e,t,n){let i={type:"module"},o,r;typeof e==s_&&(e=e());try{o=new URL(e,t)}catch{o=e}if(Whe)try{r=new Worker(o)}catch{Whe=!1,r=new Worker(o,i)}else r=new Worker(o,i);return r.addEventListener(Uhe,s=>ltt(s,n)),r}function jk(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:o}){try{let{value:r,readable:s,writable:a}=e,c=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,c.push(e.value)),o&&jhe?(s&&c.push(s),a&&c.push(a)):e.readable=e.writable=null,c.length)try{return t.postMessage(e,c),!0}catch{jhe=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(r){throw n&&n.releaseLock(),i(),r}}async function ltt({data:e},t){let{type:n,value:i,messageId:o,result:r,error:s}=e,{reader:a,writer:c,resolveResult:u,rejectResult:f,onTaskFinished:d}=t;try{if(s){let{message:g,stack:m,code:x,name:b}=s,T=new Error(g);Object.assign(T,{stack:m,code:x,name:b}),p(T)}else{if(n==Hhe){let{value:g,done:m}=await a.read();jk({type:G7,value:g,done:m,messageId:o},t)}n==G7&&(await c.ready,await c.write(new Uint8Array(i)),jk({type:Ghe,messageId:o},t)),n==W7&&p(null,r)}}catch(g){jk({type:W7,messageId:o},t),p(g)}function p(g,m){g?f(g):u(m),c&&c.releaseLock(),d()}}var ib=[],Y7=[];var Xhe=0;async function qk(e,t){let{options:n,config:i}=t,{transferStreams:o,useWebWorkers:r,useCompressionStream:s,codecType:a,compressed:c,signed:u,encrypted:f}=n,{workerScripts:d,maxWorkers:p}=i;t.transferStreams=o||o===Xi;let g=!c&&!u&&!f&&!t.transferStreams;return t.useWebWorkers=!g&&(r||r===Xi&&i.useWebWorkers),t.scripts=t.useWebWorkers&&d?d[a]:[],n.useCompressionStream=s||s===Xi&&i.useCompressionStream,(await m()).run();async function m(){let b=ib.find(T=>!T.busy);if(b)return Khe(b),new gE(b,e,t,x);if(ib.length<p){let T={indexWorker:Xhe};return Xhe++,ib.push(T),new gE(T,e,t,x)}else return new Promise(T=>Y7.push({resolve:T,stream:e,workerOptions:t}))}function x(b){if(Y7.length){let[{resolve:T,stream:C,workerOptions:A}]=Y7.splice(0,1);T(new gE(b,C,A,x))}else b.worker?(Khe(b),utt(b,t)):ib=ib.filter(T=>T!=b)}}function utt(e,t){let{config:n}=t,{terminateWorkerTimeout:i}=n;Number.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{ib=ib.filter(o=>o!=e);try{await e.terminate()}catch{}},i))}function Khe(e){let{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}var ftt="Writer iterator completed too soon",dtt="text/plain";var htt="Content-Type";var mtt=64*1024,$7="writable",yE=class{constructor(){this.size=0}init(){this.initialized=!0}},Yk=class extends yE{get readable(){let t=this,{chunkSize:n=mtt}=t,i=new ReadableStream({start(){this.chunkOffset=0},async pull(o){let{offset:r=0,size:s,diskNumberStart:a}=i,{chunkOffset:c}=this;o.enqueue(await Oa(t,r+c,Math.min(n,s-c),a)),c+n>s?o.close():this.chunkOffset+=n}});return i}},X7=class extends yE{constructor(){super();let t=this,n=new WritableStream({write(i){return t.writeUint8Array(i)}});Object.defineProperty(t,$7,{get(){return n}})}writeUint8Array(){}};var Xk=class extends X7{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){let n=this,i=0,o=n.pending,r=n.pending.length;for(n.pending="",i=0;i<Math.floor((r+t.length)/3)*3-r;i++)o+=String.fromCharCode(t[i]);for(;i<t.length;i++)n.pending+=String.fromCharCode(t[i]);o.length>2?n.data+=btoa(o):n.pending=o}getData(){return this.data+btoa(this.pending)}},l_=class extends Yk{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,n){let i=this,o=t+n,s=await(t||o<i.size?i.blob.slice(t,o):i.blob).arrayBuffer();return s.byteLength>n&&(s=s.slice(t,o)),new Uint8Array(s)}},tI=class extends yE{constructor(t){super();let n=this,i=new TransformStream,o=[];t&&o.push([htt,t]),Object.defineProperty(n,$7,{get(){return i.writable}}),n.blob=new Response(i.readable,{headers:o}).blob()}getData(){return this.blob}},Kk=class extends l_{constructor(t){super(new Blob([t],{type:dtt}))}},$k=class extends tI{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,utf8:n}=this,i=await super.getData();if(i.text&&n)return i.text();{let o=new FileReader;return new Promise((r,s)=>{Object.assign(o,{onload:({target:a})=>r(a.result),onerror:()=>s(o.error)}),o.readAsText(i,t)})}}};var K7=class extends Yk{constructor(t){super(),this.readers=t}async init(){let t=this,{readers:n}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(n.map(async(i,o)=>{await i.init(),o!=n.length-1&&(t.lastDiskOffset+=i.size),t.size+=i.size})),super.init()}async readUint8Array(t,n,i=0){let o=this,{readers:r}=this,s,a=i;a==-1&&(a=r.length-1);let c=t;for(;c>=r[a].size;)c-=r[a].size,a++;let u=r[a],f=u.size;if(c+n<=f)s=await Oa(u,c,n);else{let d=f-c;s=new Uint8Array(n),s.set(await Oa(u,c,d)),s.set(await o.readUint8Array(t+d,n-d,i),d)}return o.lastDiskNumber=Math.max(a,o.lastDiskNumber),s}},Zk=class extends yE{constructor(t,n=4294967295){super();let i=this;Object.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o,r,s,a=new WritableStream({async write(f){let{availableSize:d}=i;if(s)f.length>=d?(await c(f.slice(0,d)),await u(),i.diskOffset+=o.size,i.diskNumber++,s=null,await this.write(f.slice(d))):await c(f);else{let{value:p,done:g}=await t.next();if(g&&!p)throw new Error(ftt);o=p,o.size=0,o.maxSize&&(i.maxSize=o.maxSize),i.availableSize=i.maxSize,await ym(o),r=p.writable,s=r.getWriter(),await this.write(f)}},async close(){await s.ready,await u()}});Object.defineProperty(i,$7,{get(){return a}});async function c(f){let d=f.length;d&&(await s.ready,await s.write(f),o.size+=d,i.size+=d,i.availableSize-=d)}async function u(){r.size=o.size,await s.close()}}};async function ym(e,t){if(e.init&&!e.initialized)await e.init(t);else return Promise.resolve()}function Qk(e){return Array.isArray(e)&&(e=new K7(e)),e instanceof ReadableStream&&(e={readable:e}),e}function Jk(e){e.writable===Xi&&typeof e.next==s_&&(e=new Zk(e)),e instanceof WritableStream&&(e={writable:e});let{writable:t}=e;return t.size===Xi&&(t.size=0),e instanceof Zk||Object.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function Oa(e,t,n,i){return e.readUint8Array(t,n,i)}var $he="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),ptt=$he.length==256;function Zhe(e){if(ptt){let t="";for(let n=0;n<e.length;n++)t+=$he[e[n]];return t}else return new TextDecoder().decode(e)}function nI(e,t){return t&&t.trim().toLowerCase()=="cp437"?Zhe(e):new TextDecoder(t).decode(e)}var Z7="filename",Q7="rawFilename",J7="comment",eq="rawComment",tq="uncompressedSize",nq="compressedSize",iq="offset",eV="diskNumberStart",xE="lastModDate",tV="rawLastModDate",iI="lastAccessDate",Qhe="rawLastAccessDate",oI="creationDate",Jhe="rawCreationDate",oq="internalFileAttribute",rq="externalFileAttribute",sq="msDosCompatible",aq="zip64",_tt=[Z7,Q7,nq,tq,xE,tV,J7,eq,iI,oI,iq,eV,eV,oq,rq,sq,aq,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"],wy=class{constructor(t){_tt.forEach(n=>this[n]=t[n])}};var cq="File format is not recognized",btt="End of central directory not found",Ttt="End of Zip64 central directory locator not found",Ctt="Central directory header not found",Att="Local file header not found",Ett="Zip64 extra field not found",Stt="File contains encrypted entry",wtt="Encryption method not supported",eme="Compression method not supported",tme="Split zip file",nme="utf-8",ime="cp437",vtt=[[tq,4294967295],[nq,4294967295],[iq,4294967295],[eV,65535]],Dtt={[65535]:{getValue:as,bytes:4},[4294967295]:{getValue:nV,bytes:8}},lV=class{constructor(t,n={}){Object.assign(this,{reader:Qk(t),options:n,config:YD()})}async*getEntriesGenerator(t={}){let n=this,{reader:i}=n,{config:o}=n;if(await ym(i),(i.size===Xi||!i.readUint8Array)&&(i=new l_(await new Response(i.readable).blob()),await ym(i)),i.size<22)throw new Error(cq);i.chunkSize=Ok(o);let r=await Mtt(i,101010256,i.size,22,65535*16);if(!r){let L=await Oa(i,0,4),_=fa(L);throw as(_)==134695760?new Error(tme):new Error(btt)}let s=fa(r),a=as(s,12),c=as(s,16),u=r.offset,f=ua(s,20),d=u+22+f,p=ua(s,4),g=i.lastDiskNumber||0,m=ua(s,6),x=ua(s,8),b=0,T=0;if(c==4294967295||a==4294967295||x==65535||m==65535){let L=await Oa(i,r.offset-20,20),_=fa(L);if(as(_,0)==117853008){c=nV(_,8);let E=await Oa(i,c,56,-1),v=fa(E),I=r.offset-20-56;if(as(v,0)!=101075792&&c!=I){let N=c;c=I,b=c-N,E=await Oa(i,c,56,-1),v=fa(E)}if(as(v,0)!=101075792)throw new Error(Ttt);p==65535&&(p=as(v,16)),m==65535&&(m=as(v,20)),x==65535&&(x=nV(v,32)),a==4294967295&&(a=nV(v,40)),c-=a}}if(c>=i.size&&(b=i.size-c-a-22,c=i.size-a-22),g!=p)throw new Error(tme);if(c<0)throw new Error(cq);let C=0,A=await Oa(i,c,a,m),S=fa(A);if(a){let L=r.offset-a;if(as(S,C)!=33639248&&c!=L){let _=c;c=L,b+=c-_,A=await Oa(i,c,a,m),S=fa(A)}}let w=r.offset-c-(i.lastDiskOffset||0);if(a!=w&&w>=0&&(a=w,A=await Oa(i,c,a,m),S=fa(A)),c<0||c>=i.size)throw new Error(cq);let D=El(n,t,"filenameEncoding"),O=El(n,t,"commentEncoding");for(let L=0;L<x;L++){let _=new uq(i,o,n.options);if(as(S,C)!=33639248)throw new Error(Ctt);rme(_,S,C+6);let E=!!_.bitFlag.languageEncodingFlag,v=C+46,I=v+_.filenameLength,N=I+_.extraFieldLength,B=ua(S,C+4),z=(B&0)==0,V=A.subarray(v,I),G=ua(S,C+32),k=N+G,Y=A.subarray(N,k),W=E,J=E,j=z&&(bE(S,C+38)&16)==16,$=as(S,C+42)+b;Object.assign(_,{versionMadeBy:B,msDosCompatible:z,compressedSize:0,uncompressedSize:0,commentLength:G,directory:j,offset:$,diskNumberStart:ua(S,C+34),internalFileAttribute:ua(S,C+36),externalFileAttribute:as(S,C+38),rawFilename:V,filenameUTF8:W,commentUTF8:J,rawExtraField:A.subarray(I,N)});let Q=El(n,t,"decodeText")||nI,he=W?nme:D||ime,ye=J?nme:O||ime,re=Q(V,he);re===Xi&&(re=nI(V,he));let _e=Q(Y,ye);_e===Xi&&(_e=nI(Y,ye)),Object.assign(_,{rawComment:Y,filename:re,comment:_e,directory:j||re.endsWith(dE)}),T=Math.max($,T),await sme(_,_,S,C+6);let xe=new wy(_);xe.getData=(we,Oe)=>_.getData(we,xe,Oe),C=k;let{onprogress:De}=t;if(De)try{await De(L+1,x,new wy(_))}catch{}yield xe}let R=El(n,t,"extractPrependedData"),M=El(n,t,"extractAppendedData");return R&&(n.prependedData=T>0?await Oa(i,0,T):new Uint8Array),n.comment=f?await Oa(i,u+22,f):new Uint8Array,M&&(n.appendedData=d<i.size?await Oa(i,d,i.size-d):new Uint8Array),!0}async getEntries(t={}){let n=[];for await(let i of this.getEntriesGenerator(t))n.push(i);return n}async close(){}};var uq=class{constructor(t,n,i){Object.assign(this,{reader:t,config:n,options:i})}async getData(t,n,i={}){let o=this,{reader:r,offset:s,diskNumberStart:a,extraFieldAES:c,compressionMethod:u,config:f,bitFlag:d,signature:p,rawLastModDate:g,uncompressedSize:m,compressedSize:x}=o,b=n.localDirectory={},T=await Oa(r,s,30,a),C=fa(T),A=El(o,i,"password"),S=El(o,i,"rawPassword");if(A=A&&A.length&&A,S=S&&S.length&&S,c&&c.originalCompressionMethod!=99)throw new Error(eme);if(u!=0&&u!=8)throw new Error(eme);if(as(C,0)!=67324752)throw new Error(Att);rme(b,C,4),b.rawExtraField=b.extraFieldLength?await Oa(r,s+30+b.filenameLength,b.extraFieldLength,a):new Uint8Array,await sme(o,b,C,4,!0),Object.assign(n,{lastAccessDate:b.lastAccessDate,creationDate:b.creationDate});let w=o.encrypted&&b.encrypted,D=w&&!c;if(w){if(!D&&c.strength===Xi)throw new Error(wtt);if(!A&&!S)throw new Error(Stt)}let O=s+30+b.filenameLength+b.extraFieldLength,R=x,M=r.readable;Object.assign(M,{diskNumberStart:a,offset:O,size:R});let L=El(o,i,"signal"),_=El(o,i,"checkPasswordOnly");_&&(t=new WritableStream),t=Jk(t),await ym(t,m);let{writable:E}=t,{onstart:v,onprogress:I,onend:N}=i,B={options:{codecType:Wk,password:A,rawPassword:S,zipCrypto:D,encryptionStrength:c&&c.strength,signed:El(o,i,"checkSignature"),passwordVerification:D&&(d.dataDescriptor?g>>>8&255:p>>>24&255),signature:p,compressed:u!=0,encrypted:w,useWebWorkers:El(o,i,"useWebWorkers"),useCompressionStream:El(o,i,"useCompressionStream"),transferStreams:El(o,i,"transferStreams"),checkPasswordOnly:_},config:f,streamOptions:{signal:L,size:R,onstart:v,onprogress:I,onend:N}},z=0;try{({outputSize:z}=await qk({readable:M,writable:E},B))}catch(V){if(!_||V.message!=c_)throw V}finally{let V=El(o,i,"preventClose");E.size+=z,!V&&!E.locked&&await E.getWriter().close()}return _?Xi:t.getData?t.getData():E}};function rme(e,t,n){let i=e.rawBitFlag=ua(t,n+2),o=(i&1)==1,r=as(t,n+6);Object.assign(e,{encrypted:o,version:ua(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:Ltt(r),filenameLength:ua(t,n+22),extraFieldLength:ua(t,n+24)})}async function sme(e,t,n,i,o){let{rawExtraField:r}=t,s=t.extraField=new Map,a=fa(new Uint8Array(r)),c=0;try{for(;c<r.length;){let T=ua(a,c),C=ua(a,c+2);s.set(T,{type:T,data:r.slice(c+4,c+4+C)}),c+=4+C}}catch{}let u=ua(n,i+4);Object.assign(t,{signature:as(n,i+10),uncompressedSize:as(n,i+18),compressedSize:as(n,i+14)});let f=s.get(1);f&&(Itt(f,t),t.extraFieldZip64=f);let d=s.get(28789);d&&(await ome(d,Z7,Q7,t,e),t.extraFieldUnicodePath=d);let p=s.get(25461);p&&(await ome(p,J7,eq,t,e),t.extraFieldUnicodeComment=p);let g=s.get(39169);g?(Ptt(g,t,u),t.extraFieldAES=g):t.compressionMethod=u;let m=s.get(10);m&&(Rtt(m,t),t.extraFieldNTFS=m);let x=s.get(21589);x&&(Ott(x,t,o),t.extraFieldExtendedTimestamp=x);let b=s.get(6534);b&&(t.extraFieldUSDZ=b)}function Itt(e,t){t.zip64=!0;let n=fa(e.data),i=vtt.filter(([o,r])=>t[o]==r);for(let o=0,r=0;o<i.length;o++){let[s,a]=i[o];if(t[s]==a){let c=Dtt[a];t[s]=e[s]=c.getValue(n,r),r+=c.bytes}else if(e[s])throw new Error(Ett)}}async function ome(e,t,n,i,o){let r=fa(e.data),s=new a_;s.append(o[n]);let a=fa(new Uint8Array(4));a.setUint32(0,s.get(),!0);let c=as(r,1);Object.assign(e,{version:bE(r,0),[t]:nI(e.data.subarray(5)),valid:!o.bitFlag.languageEncodingFlag&&c==as(a,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function Ptt(e,t,n){let i=fa(e.data),o=bE(i,4);Object.assign(e,{vendorVersion:bE(i,0),vendorId:bE(i,2),strength:o,originalCompressionMethod:n,compressionMethod:ua(i,5)}),t.compressionMethod=e.compressionMethod}function Rtt(e,t){let n=fa(e.data),i=4,o;try{for(;i<e.data.length&&!o;){let r=ua(n,i),s=ua(n,i+2);r==1&&(o=e.data.slice(i+4,i+4+s)),i+=4+s}}catch{}try{if(o&&o.length==24){let r=fa(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),c=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:c});let u=lq(s),f=lq(a),d=lq(c),p={lastModDate:u,lastAccessDate:f,creationDate:d};Object.assign(e,p),Object.assign(t,p)}}catch{}}function Ott(e,t,n){let i=fa(e.data),o=bE(i,0),r=[],s=[];n?((o&1)==1&&(r.push(xE),s.push(tV)),(o&2)==2&&(r.push(iI),s.push(Qhe)),(o&4)==4&&(r.push(oI),s.push(Jhe))):e.data.length>=5&&(r.push(xE),s.push(tV));let a=1;r.forEach((c,u)=>{if(e.data.length>=a+4){let f=as(i,a);t[c]=e[c]=new Date(f*1e3);let d=s[u];e[d]=f}a+=4})}async function Mtt(e,t,n,i,o){let r=new Uint8Array(4),s=fa(r);Ntt(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(u){let f=n-u,d=await Oa(e,f,u);for(let p=d.length-i;p>=0;p--)if(d[p]==r[0]&&d[p+1]==r[1]&&d[p+2]==r[2]&&d[p+3]==r[3])return{offset:f+p,buffer:d.slice(p,p+i).buffer}}}function El(e,t,n){return t[n]===Xi?e.options[n]:t[n]}function Ltt(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function lq(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function bE(e,t){return e.getUint8(t)}function ua(e,t){return e.getUint16(t,!0)}function as(e,t){return e.getUint32(t,!0)}function nV(e,t){return Number(e.getBigUint64(t,!0))}function Ntt(e,t,n){e.setUint32(t,n,!0)}function fa(e){return new DataView(e.buffer)}var Vtt="File already exists",Utt="Zip file comment exceeds 64KB",ztt="File entry comment exceeds 64KB",Htt="File entry name exceeds 64KB",lme="Version exceeds 65535",Gtt="The strength must equal 1, 2, or 3",Wtt="Extra field type exceeds 65535",jtt="Extra field data exceeds 64KB",Eq="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",ume=new Uint8Array([7,0,2,0,65,69,3,0,0]),Cq=0,fme=[],dV=class{constructor(t,n={}){t=Jk(t);let i=t.availableSize!==Xi&&t.availableSize>0&&t.availableSize!==1/0&&t.maxSize!==Xi&&t.maxSize>0&&t.maxSize!==1/0;Object.assign(this,{writer:t,addSplitZipSignature:i,options:n,config:YD(),files:new Map,filenames:new Set,offset:t.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new Set,bufferedWrites:0})}async add(t="",n,i={}){let o=this,{pendingAddFileCalls:r,config:s}=o;Cq<s.maxWorkers?Cq++:await new Promise(c=>fme.push(c));let a;try{if(t=t.trim(),o.filenames.has(t))throw new Error(Vtt);return o.filenames.add(t),a=qtt(o,t,n,i),r.add(a),await a}catch(c){throw o.filenames.delete(t),c}finally{r.delete(a);let c=fme.shift();c?c():Cq--}}async close(t=new Uint8Array,n={}){let i=this,{pendingAddFileCalls:o,writer:r}=this,{writable:s}=r;for(;o.size;)await Promise.allSettled(Array.from(o));return await tnt(this,t,n),Vo(i,n,"preventClose")||await s.getWriter().close(),r.getData?r.getData():s}};async function qtt(e,t,n,i){t=t.trim(),i.directory&&!t.endsWith(dE)?t+=dE:i.directory=t.endsWith(dE);let o=Vo(e,i,"encodeText",mE),r=o(t);if(r===Xi&&(r=mE(t)),zi(r)>65535)throw new Error(Htt);let s=i.comment||"",a=o(s);if(a===Xi&&(a=mE(s)),zi(a)>65535)throw new Error(ztt);let c=Vo(e,i,"version",20);if(c>65535)throw new Error(lme);let u=Vo(e,i,"versionMadeBy",20);if(u>65535)throw new Error(lme);let f=Vo(e,i,xE,new Date),d=Vo(e,i,iI),p=Vo(e,i,oI),g=Vo(e,i,sq,!0),m=Vo(e,i,oq,0),x=Vo(e,i,rq,0),b=Vo(e,i,"password"),T=Vo(e,i,"rawPassword"),C=Vo(e,i,"encryptionStrength",3),A=Vo(e,i,"zipCrypto"),S=Vo(e,i,"extendedTimestamp",!0),w=Vo(e,i,"keepOrder",!0),D=Vo(e,i,"level"),O=Vo(e,i,"useWebWorkers"),R=Vo(e,i,"bufferedWrite"),M=Vo(e,i,"dataDescriptorSignature",!1),L=Vo(e,i,"signal"),_=Vo(e,i,"useCompressionStream"),E=Vo(e,i,"dataDescriptor",!0),v=Vo(e,i,aq);if(b!==Xi&&C!==Xi&&(C<1||C>3))throw new Error(Gtt);let I=new Uint8Array,{extraField:N}=i;if(N){let De=0,we=0;N.forEach(Oe=>De+=4+zi(Oe)),I=new Uint8Array(De),N.forEach((Oe,Me)=>{if(Me>65535)throw new Error(Wtt);if(zi(Oe)>65535)throw new Error(jtt);As(I,new Uint16Array([Me]),we),As(I,new Uint16Array([zi(Oe)]),we+2),As(I,Oe,we+4),we+=4+zi(Oe)})}let B=0,z=0,V=0,G=v===!0;n&&(n=Qk(n),await ym(n),n.size===Xi?(E=!0,(v||v===Xi)&&(v=!0,V=B=4294967296)):(V=n.size,B=nnt(V)));let{diskOffset:k,diskNumber:Y,maxSize:W}=e.writer,J=G||V>4294967295,j=G||B>4294967295,$=G||e.offset+e.pendingEntriesSize-k>4294967295,he=Vo(e,i,"supportZip64SplitFile",!0)&&G||Y+Math.ceil(e.pendingEntriesSize/W)>65535;if($||J||j||he){if(v===!1||!w)throw new Error(Eq);v=!0}v=v||!1,i=Object.assign({},i,{rawFilename:r,rawComment:a,version:c,versionMadeBy:u,lastModDate:f,lastAccessDate:d,creationDate:p,rawExtraField:I,zip64:v,zip64UncompressedSize:J,zip64CompressedSize:j,zip64Offset:$,zip64DiskNumberStart:he,password:b,rawPassword:T,level:!_&&e.config.CompressionStream===Xi&&e.config.CompressionStreamNative===Xi?0:D,useWebWorkers:O,encryptionStrength:C,extendedTimestamp:S,zipCrypto:A,bufferedWrite:R,keepOrder:w,dataDescriptor:E,dataDescriptorSignature:M,signal:L,msDosCompatible:g,internalFileAttribute:m,externalFileAttribute:x,useCompressionStream:_});let ye=Ktt(i),re=Ztt(i),_e=zi(ye.localHeaderArray,re.dataDescriptorArray);z=_e+B,e.options.usdz&&(z+=z+64),e.pendingEntriesSize+=z;let xe;try{xe=await Ytt(e,t,n,{headerInfo:ye,dataDescriptorInfo:re,metadataSize:_e},i)}finally{e.pendingEntriesSize-=z}return Object.assign(xe,{name:t,comment:s,extraField:N}),new wy(xe)}async function Ytt(e,t,n,i,o){let{files:r,writer:s}=e,{keepOrder:a,dataDescriptor:c,signal:u}=o,{headerInfo:f}=i,{usdz:d}=e.options,p=Array.from(r.values()).pop(),g={},m,x,b,T,C,A,S;r.set(t,g);try{let R;a&&(R=p&&p.lock,w()),(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&a||!c)&&!d?(A=new TransformStream,S=new Response(A.readable).blob(),A.writable.size=0,m=!0,e.bufferedWrites++,await ym(s)):(A=s,await D()),await ym(A);let{writable:M}=s,{diskOffset:L}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;let E=new Uint8Array(4),v=Ma(E);Ui(v,0,134695760),await xm(M,E),e.offset+=4}d&&$tt(i,e.offset-L),m||(await R,await O(M));let{diskNumber:_}=s;if(C=!0,g.diskNumberStart=_,g=await Xtt(n,A,g,i,e.config,o),C=!1,r.set(t,g),g.filename=t,m){await A.writable.getWriter().close();let E=await S;await R,await D(),T=!0,c||(E=await Jtt(g,E,M,o)),await O(M),g.diskNumberStart=s.diskNumber,L=s.diskOffset,await E.stream().pipeTo(M,{preventClose:!0,preventAbort:!0,signal:u}),M.size+=E.size,T=!1}if(g.offset=e.offset-L,g.zip64)ent(g,o);else if(g.offset>4294967295)throw new Error(Eq);return e.offset+=g.size,g}catch(R){if(m&&T||!m&&C){if(e.hasCorruptedEntries=!0,R)try{R.corruptedEntry=!0}catch{}m?e.offset+=A.writable.size:e.offset=A.writable.size}throw r.delete(t),R}finally{m&&e.bufferedWrites--,b&&b(),x&&x()}function w(){g.lock=new Promise(R=>b=R)}async function D(){e.writerLocked=!0;let{lockWriter:R}=e;e.lockWriter=new Promise(M=>x=()=>{e.writerLocked=!1,M()}),await R}async function O(R){zi(f.localHeaderArray)>s.availableSize&&(s.availableSize=0,await xm(R,new Uint8Array))}}async function Xtt(e,t,{diskNumberStart:n,lock:i},o,r,s){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:u}=o,{localHeaderArray:f,headerArray:d,lastModDate:p,rawLastModDate:g,encrypted:m,compressed:x,version:b,compressionMethod:T,rawExtraFieldExtendedTimestamp:C,extraFieldExtendedTimestampFlag:A,rawExtraFieldNTFS:S,rawExtraFieldAES:w}=a,{dataDescriptorArray:D}=c,{rawFilename:O,lastAccessDate:R,creationDate:M,password:L,rawPassword:_,level:E,zip64:v,zip64UncompressedSize:I,zip64CompressedSize:N,zip64Offset:B,zip64DiskNumberStart:z,zipCrypto:V,dataDescriptor:G,directory:k,versionMadeBy:Y,rawComment:W,rawExtraField:J,useWebWorkers:j,onstart:$,onprogress:Q,onend:he,signal:ye,encryptionStrength:re,extendedTimestamp:_e,msDosCompatible:xe,internalFileAttribute:De,externalFileAttribute:we,useCompressionStream:Oe}=s,Me={lock:i,versionMadeBy:Y,zip64:v,directory:!!k,filenameUTF8:!0,rawFilename:O,commentUTF8:!0,rawComment:W,rawExtraFieldExtendedTimestamp:C,rawExtraFieldNTFS:S,rawExtraFieldAES:w,rawExtraField:J,extendedTimestamp:_e,msDosCompatible:xe,internalFileAttribute:De,externalFileAttribute:we,diskNumberStart:n},ht=0,it=0,At,{writable:Le}=t;if(e){e.chunkSize=Ok(r),await xm(Le,f);let $e=e.readable,Xe=$e.size=e.size,kt={options:{codecType:Gk,level:E,rawPassword:_,password:L,encryptionStrength:re,zipCrypto:m&&V,passwordVerification:m&&V&&g>>8&255,signed:!0,compressed:x,encrypted:m,useWebWorkers:j,useCompressionStream:Oe,transferStreams:!1},config:r,streamOptions:{signal:ye,size:Xe,onstart:$,onprogress:Q,onend:he}},Te=await qk({readable:$e,writable:Le},kt);it=Te.inputSize,ht=Te.outputSize,At=Te.signature,Le.size+=it}else await xm(Le,f);let ke;if(v){let $e=4;I&&($e+=8),N&&($e+=8),B&&($e+=8),z&&($e+=4),ke=new Uint8Array($e)}else ke=new Uint8Array;return Qtt({signature:At,rawExtraFieldZip64:ke,compressedSize:ht,uncompressedSize:it,headerInfo:a,dataDescriptorInfo:c},s),G&&await xm(Le,D),Object.assign(Me,{uncompressedSize:it,compressedSize:ht,lastModDate:p,rawLastModDate:g,creationDate:M,lastAccessDate:R,encrypted:m,size:u+ht,compressionMethod:T,version:b,headerArray:d,signature:At,rawExtraFieldZip64:ke,extraFieldExtendedTimestampFlag:A,zip64UncompressedSize:I,zip64CompressedSize:N,zip64Offset:B,zip64DiskNumberStart:z}),Me}function Ktt(e){let{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:o,rawPassword:r,password:s,level:a,zip64:c,zipCrypto:u,dataDescriptor:f,directory:d,rawExtraField:p,encryptionStrength:g,extendedTimestamp:m}=e,x=a!==0&&!d,b=!!(s&&zi(s)||r&&zi(r)),T=e.version,C;if(b&&!u){C=new Uint8Array(zi(ume)+2);let z=Ma(C);Qi(z,0,39169),As(C,ume,2),hV(z,8,g)}else C=new Uint8Array;let A,S,w;if(m){S=new Uint8Array(9+(i?4:0)+(o?4:0));let z=Ma(S);Qi(z,0,21589),Qi(z,2,zi(S)-4),w=1+(i?2:0)+(o?4:0),hV(z,4,w);let V=5;Ui(z,V,Math.floor(n.getTime()/1e3)),V+=4,i&&(Ui(z,V,Math.floor(i.getTime()/1e3)),V+=4),o&&Ui(z,V,Math.floor(o.getTime()/1e3));try{A=new Uint8Array(36);let G=Ma(A),k=Aq(n);Qi(G,0,10),Qi(G,2,32),Qi(G,8,1),Qi(G,10,24),Sl(G,12,k),Sl(G,20,Aq(i)||k),Sl(G,28,Aq(o)||k)}catch{A=new Uint8Array}}else A=S=new Uint8Array;let D=2048;f&&(D=D|8);let O=0;x&&(O=8),c&&(T=T>45?T:45),b&&(D=D|1,u||(T=T>51?T:51,O=99,x&&(C[9]=8)));let R=new Uint8Array(26),M=Ma(R);Qi(M,0,T),Qi(M,2,D),Qi(M,4,O);let L=new Uint32Array(1),_=Ma(L),E;n<B7?E=B7:n>F7?E=F7:E=n,Qi(_,0,(E.getHours()<<6|E.getMinutes())<<5|E.getSeconds()/2),Qi(_,2,(E.getFullYear()-1980<<4|E.getMonth()+1)<<5|E.getDate());let v=L[0];Ui(M,6,v),Qi(M,22,zi(t));let I=zi(C,S,A,p);Qi(M,24,I);let N=new Uint8Array(30+zi(t)+I),B=Ma(N);return Ui(B,0,67324752),As(N,R,4),As(N,t,30),As(N,C,30+zi(t)),As(N,S,30+zi(t,C)),As(N,A,30+zi(t,C,S)),As(N,p,30+zi(t,C,S,A)),{localHeaderArray:N,headerArray:R,headerView:M,lastModDate:n,rawLastModDate:v,encrypted:b,compressed:x,version:T,compressionMethod:O,extraFieldExtendedTimestampFlag:w,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:A,rawExtraFieldAES:C,extraFieldLength:I}}function $tt(e,t){let{headerInfo:n}=e,{localHeaderArray:i,extraFieldLength:o}=n,r=Ma(i),s=64-(t+zi(i))%64;s<4&&(s+=64);let a=new Uint8Array(s),c=Ma(a);Qi(c,0,6534),Qi(c,2,s-2);let u=i;n.localHeaderArray=i=new Uint8Array(zi(u)+s),As(i,u),As(i,a,zi(u)),r=Ma(i),Qi(r,28,o+s),e.metadataSize+=s}function Ztt(e){let{zip64:t,dataDescriptor:n,dataDescriptorSignature:i}=e,o=new Uint8Array,r,s=0;return n&&(o=new Uint8Array(t?i?24:20:i?16:12),r=Ma(o),i&&(s=4,Ui(r,0,134695760))),{dataDescriptorArray:o,dataDescriptorView:r,dataDescriptorOffset:s}}function Qtt(e,t){let{signature:n,rawExtraFieldZip64:i,compressedSize:o,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:a}=e,{headerView:c,encrypted:u}=s,{dataDescriptorView:f,dataDescriptorOffset:d}=a,{zip64:p,zip64UncompressedSize:g,zip64CompressedSize:m,zipCrypto:x,dataDescriptor:b}=t;if((!u||x)&&n!==Xi&&(Ui(c,10,n),b&&Ui(f,d,n)),p){let T=Ma(i);Qi(T,0,1),Qi(T,2,zi(i)-4);let C=4;g&&(Ui(c,18,4294967295),Sl(T,C,BigInt(r)),C+=8),m&&(Ui(c,14,4294967295),Sl(T,C,BigInt(o))),b&&(Sl(f,d+4,BigInt(o)),Sl(f,d+12,BigInt(r)))}else Ui(c,14,o),Ui(c,18,r),b&&(Ui(f,d+4,o),Ui(f,d+8,r))}async function Jtt(e,t,n,{zipCrypto:i}){let o;o=await t.slice(0,26).arrayBuffer(),o.byteLength!=26&&(o=o.slice(0,26));let r=new DataView(o);return(!e.encrypted||i)&&Ui(r,14,e.signature),e.zip64?(Ui(r,18,4294967295),Ui(r,22,4294967295)):(Ui(r,18,e.compressedSize),Ui(r,22,e.uncompressedSize)),await xm(n,new Uint8Array(o)),t.slice(o.byteLength)}function ent(e,t){let{rawExtraFieldZip64:n,offset:i,diskNumberStart:o}=e,{zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:a,zip64DiskNumberStart:c}=t,u=Ma(n),f=4;r&&(f+=8),s&&(f+=8),a&&(Sl(u,f,BigInt(i)),f+=8),c&&Ui(u,f,o)}async function tnt(e,t,n){let{files:i,writer:o}=e,{diskOffset:r,writable:s}=o,{diskNumber:a}=o,c=0,u=0,f=e.offset-r,d=i.size;for(let[,w]of i){let{rawFilename:D,rawExtraFieldZip64:O,rawExtraFieldAES:R,rawComment:M,rawExtraFieldNTFS:L,rawExtraField:_,extendedTimestamp:E,extraFieldExtendedTimestampFlag:v,lastModDate:I}=w,N;if(E){N=new Uint8Array(9);let B=Ma(N);Qi(B,0,21589),Qi(B,2,5),hV(B,4,v),Ui(B,5,Math.floor(I.getTime()/1e3))}else N=new Uint8Array;w.rawExtraFieldCDExtendedTimestamp=N,u+=46+zi(D,M,O,R,L,N,_)}let p=new Uint8Array(u),g=Ma(p);await ym(o);let m=0;for(let[w,D]of Array.from(i.values()).entries()){let{offset:O,rawFilename:R,rawExtraFieldZip64:M,rawExtraFieldAES:L,rawExtraFieldCDExtendedTimestamp:_,rawExtraFieldNTFS:E,rawExtraField:v,rawComment:I,versionMadeBy:N,headerArray:B,directory:z,zip64:V,zip64UncompressedSize:G,zip64CompressedSize:k,zip64DiskNumberStart:Y,zip64Offset:W,msDosCompatible:J,internalFileAttribute:j,externalFileAttribute:$,diskNumberStart:Q,uncompressedSize:he,compressedSize:ye}=D,re=zi(M,L,_,E,v);Ui(g,c,33639248),Qi(g,c+4,N);let _e=Ma(B);G||Ui(_e,18,he),k||Ui(_e,14,ye),As(p,B,c+6),Qi(g,c+30,re),Qi(g,c+32,zi(I)),Qi(g,c+34,V&&Y?65535:Q),Qi(g,c+36,j),$?Ui(g,c+38,$):z&&J&&hV(g,c+38,16),Ui(g,c+42,V&&W?4294967295:O),As(p,R,c+46),As(p,M,c+46+zi(R)),As(p,L,c+46+zi(R,M)),As(p,_,c+46+zi(R,M,L)),As(p,E,c+46+zi(R,M,L,_)),As(p,v,c+46+zi(R,M,L,_,E)),As(p,I,c+46+zi(R)+re);let xe=46+zi(R,I)+re;if(c-m>o.availableSize&&(o.availableSize=0,await xm(s,p.slice(m,c)),m=c),c+=xe,n.onprogress)try{await n.onprogress(w+1,i.size,new wy(D))}catch{}}await xm(s,m?p.slice(m):p);let x=o.diskNumber,{availableSize:b}=o;b<22&&x++;let T=Vo(e,n,"zip64");if(f>4294967295||u>4294967295||d>65535||x>65535){if(T===!1)throw new Error(Eq);T=!0}let C=new Uint8Array(T?98:22),A=Ma(C);c=0,T&&(Ui(A,0,101075792),Sl(A,4,BigInt(44)),Qi(A,12,45),Qi(A,14,45),Ui(A,16,x),Ui(A,20,a),Sl(A,24,BigInt(d)),Sl(A,32,BigInt(d)),Sl(A,40,BigInt(u)),Sl(A,48,BigInt(f)),Ui(A,56,117853008),Sl(A,64,BigInt(f)+BigInt(u)),Ui(A,72,x+1),Vo(e,n,"supportZip64SplitFile",!0)&&(x=65535,a=65535),d=65535,f=4294967295,u=4294967295,c+=76),Ui(A,c,101010256),Qi(A,c+4,x),Qi(A,c+6,a),Qi(A,c+8,d),Qi(A,c+10,d),Ui(A,c+12,u),Ui(A,c+16,f);let S=zi(t);if(S)if(S<=65535)Qi(A,c+20,S);else throw new Error(Utt);await xm(s,C),S&&await xm(s,t)}async function xm(e,t){let n=e.getWriter();try{await n.ready,e.size+=zi(t),await n.write(t)}finally{n.releaseLock()}}function Aq(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function Vo(e,t,n,i){let o=t[n]===Xi?e.options[n]:t[n];return o===Xi?i:o}function nnt(e){return e+5*(Math.floor(e/16383)+1)}function hV(e,t,n){e.setUint8(t,n)}function Qi(e,t,n){e.setUint16(t,n,!0)}function Ui(e,t,n){e.setUint32(t,n,!0)}function Sl(e,t,n){e.setBigUint64(t,n,!0)}function As(e,t,n){e.set(t,n)}function Ma(e){return new DataView(e.buffer)}function zi(...e){let t=0;return e.forEach(n=>n&&(t+=n.length)),t}hE({Deflate:$de,Inflate:yhe});var Sq=32,int="http://www.opengis.net/kml/2.2",Wd="http://www.google.com/kml/ext/2.2",ont="http://www.w3.org/2000/xmlns/";function mV(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var rnt=/^data:image\/([^,;]+)/;mV.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof ve){if(e=ve.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(rnt);n=`texture_${++this._count}`,l(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function snt(e,t){return function(n){e._files[t]=n}}mV.prototype.model=function(e,t){let n=this._modelCallback;if(!l(n))throw new ce("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(snt(this,r))}return o};Object.defineProperties(mV.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function pV(e){this._time=e}pV.prototype.get=function(e,t,n){let i;return l(e)&&(i=l(e.getValue)?e.getValue(this._time,n):e),y(i,t)};pV.prototype.getColor=function(e,t){let n=this.get(e,t);if(l(n))return rb(n)};pV.prototype.getMaterialType=function(e){if(l(e))return e.getType(this._time)};function wq(){this._ids={},this._styles={},this._count=0}wq.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(l(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};wq.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function pme(){this._ids={}}pme.prototype.get=function(e){if(!l(e))return this.get(Gn());let t=this._ids;return l(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function vq(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=vq._createState(e),o=t.values.filter(function(u){return!l(u.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(ont,"xmlns:gx",Wd);let a=r.createElement("Document");s.appendChild(a),gme(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let f=new XMLSerializer().serializeToString(i.kmlDoc);return n?ant(f,c.files):{kml:f,externalFiles:c.files}})}function ant(e,t){let n=on("ThirdParty/Workers/z-worker-pako.js");hE({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new tI,o=new dV(i);return o.add("doc.kml",new Kk(e)).then(function(){let r=Object.keys(t);return _me(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function _me(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new l_(n[o])).then(function(){return _me(e,t,n,i+1)})}vq._createState=function(e){let t=e.entities,n=new wq,i=t.computeAvailability(),o=l(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===He.MINIMUM_VALUE?r.stop===He.MAXIMUM_VALUE?r=new vn:K.addSeconds(r.stop,-10*s,r.start):r.stop===He.MAXIMUM_VALUE&&K.addSeconds(r.start,10*s,r.stop);let a=new mV(e.modelCallback);return{kmlDoc:document.implementation.createDocument(int,"kml"),ellipsoid:y(e.ellipsoid,ee.default),idManager:new pme,styleCache:n,externalFileHandler:a,time:o,valueGetter:new pV(o),sampleDuration:s,defaultAvailability:new Gr([r])}};function gme(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,u,f;for(let d=0;d<a;++d){let p=n[d];c=[],u=[],f=[],cnt(e,p,u,f),lnt(e,p.polyline,u,f),mme(e,p.rectangle,u,f,c),mme(e,p.polygon,u,f,c),hnt(e,p,p.model,u,f);let g,m=p.availability;l(m)&&(g=i.createElement("TimeSpan"),K.equals(m.start,He.MINIMUM_VALUE)||g.appendChild(dn(i,"begin",K.toIso8601(m.start))),K.equals(m.stop,He.MAXIMUM_VALUE)||g.appendChild(dn(i,"end",K.toIso8601(m.stop))));for(let T=0;T<c.length;++T){let C=c[T];C.setAttribute("id",s.get(p.id)),C.appendChild(dn(i,"name",p.name)),C.appendChild(dn(i,"visibility",p.show)),C.appendChild(dn(i,"description",p.description)),l(g)&&C.appendChild(g),t.appendChild(C)}let x=u.length;if(x>0){let T=i.createElement("Placemark");T.setAttribute("id",s.get(p.id));let C=p.name,A=p.label;if(l(A)){let w=i.createElement("LabelStyle"),D=r.get(A.text);C=l(D)&&D.length>0?D:C;let O=r.getColor(A.fillColor);l(O)&&(w.appendChild(dn(i,"color",O)),w.appendChild(dn(i,"colorMode","normal")));let R=r.get(A.scale);l(R)&&w.appendChild(dn(i,"scale",R)),f.push(w)}T.appendChild(dn(i,"name",C)),T.appendChild(dn(i,"visibility",p.show)),T.appendChild(dn(i,"description",p.description)),l(g)&&T.appendChild(g),t.appendChild(T);let S=f.length;if(S>0){let w=i.createElement("Style");for(let D=0;D<S;++D)w.appendChild(f[D]);T.appendChild(dn(i,"styleUrl",o.get(w)))}if(u.length===1)T.appendChild(u[0]);else if(u.length>1){let w=i.createElement("MultiGeometry");for(let D=0;D<x;++D)w.appendChild(u[D]);T.appendChild(w)}}let b=p._children;if(b.length>0){let T=i.createElement("Folder");T.setAttribute("id",s.get(p.id)),T.appendChild(dn(i,"name",p.name)),T.appendChild(dn(i,"visibility",p.show)),T.appendChild(dn(i,"description",p.description)),t.appendChild(T),gme(e,T,b)}}}var wl=new h,jc=new fe,Gd=new K;function cnt(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!l(a)&&!l(t.path))return;let c=t.position;if(!c.isConstant){yme(e,t,a,n,i);return}s.get(c,void 0,wl);let u=dn(o,"coordinates",ob(wl,r)),f=o.createElement("Point"),d=o.createElement("altitudeMode");d.appendChild(sb(e,a.heightReference)),f.appendChild(d),f.appendChild(u),n.push(f);let p=a instanceof Ac?bme(e,a):xme(e,a);i.push(p)}function yme(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,u=t.position,f=!0;u instanceof Ia?(c=u.intervals,f=!1):c=y(t.availability,e.defaultAvailability);let d=n instanceof Z_,p,g,m,x=[];for(p=0;p<c.length;++p){let T=c.get(p),C=f?u:T.data,A=r.createElement("altitudeMode");C instanceof r_?(C=C._value,A.appendChild(sb(e,Ye.CLAMP_TO_GROUND))):l(n)?A.appendChild(sb(e,n.heightReference)):A.appendChild(sb(e,Ye.NONE));let S=[],w=[];if(C.isConstant){a.get(C,void 0,wl);let O=dn(r,"coordinates",ob(wl,s));S.push(K.toIso8601(T.start)),w.push(O),S.push(K.toIso8601(T.stop)),w.push(O)}else if(C instanceof Pa)for(m=C._property._times,g=0;g<m.length;++g)S.push(K.toIso8601(m[g])),C.getValueInReferenceFrame(m[g],Bi.FIXED,wl),w.push(ob(wl,s));else if(C instanceof vf){m=C._times;let O=C._values;for(g=0;g<m.length;++g)S.push(K.toIso8601(m[g])),h.fromArray(O,g*3,wl),w.push(ob(wl,s))}else{let O=e.sampleDuration;T.start.clone(Gd),T.isStartIncluded||K.addSeconds(Gd,O,Gd);let R=T.stop;for(;K.lessThan(Gd,R);)C.getValue(Gd,wl),S.push(K.toIso8601(Gd)),w.push(ob(wl,s)),K.addSeconds(Gd,O,Gd);T.isStopIncluded&&K.equals(Gd,R)&&(C.getValue(Gd,wl),S.push(K.toIso8601(Gd)),w.push(ob(wl,s)))}let D=r.createElementNS(Wd,"Track");D.appendChild(A);for(let O=0;O<S.length;++O){let R=dn(r,"when",S[O]),M=dn(r,"coord",w[O],Wd);D.appendChild(R),D.appendChild(M)}d&&D.appendChild(Tme(e,n)),x.push(D)}if(x.length===1)i.push(x[0]);else if(x.length>1){let T=r.createElementNS(Wd,"MultiTrack");for(p=0;p<x.length;++p)T.appendChild(x[p]);i.push(T)}if(l(n)&&!d){let T=n instanceof Ac?bme(e,n):xme(e,n);o.push(T)}let b=t.path;if(l(b)){let T=a.get(b.width),C=b.material;if(l(C)||l(T)){let A=r.createElement("LineStyle");l(T)&&A.appendChild(dn(r,"width",T)),Dq(e,C,A),o.push(A)}}}function xme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=n.createElement("IconStyle"),r=i.getColor(t.color);l(r)&&(o.appendChild(dn(n,"color",r)),o.appendChild(dn(n,"colorMode","normal")));let s=i.get(t.pixelSize);return l(s)&&o.appendChild(dn(n,"scale",s/Sq)),o}function bme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("IconStyle"),s=i.get(t.image);if(l(s)){s=o.texture(s);let p=n.createElement("Icon");p.appendChild(dn(n,"href",s));let g=i.get(t.imageSubRegion);l(g)&&(p.appendChild(dn(n,"x",g.x,Wd)),p.appendChild(dn(n,"y",g.y,Wd)),p.appendChild(dn(n,"w",g.width,Wd)),p.appendChild(dn(n,"h",g.height,Wd))),r.appendChild(p)}let a=i.getColor(t.color);l(a)&&(r.appendChild(dn(n,"color",a)),r.appendChild(dn(n,"colorMode","normal")));let c=i.get(t.scale);l(c)&&r.appendChild(dn(n,"scale",c));let u=i.get(t.pixelOffset);if(l(u)){c=y(c,1),U.divideByScalar(u,c,u);let p=i.get(t.width,Sq),g=i.get(t.height,Sq),m=i.get(t.horizontalOrigin,gi.CENTER);m===gi.CENTER?u.x-=p*.5:m===gi.RIGHT&&(u.x-=p);let x=i.get(t.verticalOrigin,Ln.CENTER);x===Ln.TOP?u.y+=g:x===Ln.CENTER&&(u.y+=g*.5);let b=n.createElement("hotSpot");b.setAttribute("x",-u.x),b.setAttribute("y",u.y),b.setAttribute("xunits","pixels"),b.setAttribute("yunits","pixels"),r.appendChild(b)}let f=i.get(t.rotation),d=i.get(t.alignedAxis);return l(f)&&h.equals(h.UNIT_Z,d)&&(f=P.toDegrees(-f),f===0&&(f=360),r.appendChild(dn(n,"heading",f))),r}function lnt(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter;if(!l(t))return;let a=o.createElement("LineString"),c=o.createElement("altitudeMode"),u=s.get(t.clampToGround,!1),f;u?(a.appendChild(dn(o,"tessellate",!0)),f=o.createTextNode("clampToGround")):f=o.createTextNode("absolute"),c.appendChild(f),a.appendChild(c);let d=t.positions,p=s.get(d),g=dn(o,"coordinates",ob(p,r));a.appendChild(g);let m=s.get(t.zIndex);u&&l(m)&&a.appendChild(dn(o,"drawOrder",m,Wd)),n.push(a);let x=o.createElement("LineStyle"),b=s.get(t.width);l(b)&&x.appendChild(dn(o,"width",b)),Dq(e,t.material,x),i.push(x)}function unt(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0);n>0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],u=[se.northeast,se.southeast,se.southwest,se.northwest];for(let g=0;g<4;++g)u[g](a,jc),c.push(`${P.toDegrees(jc.longitude)},${P.toDegrees(jc.latitude)},${r}`);let f=dn(i,"coordinates",c.join(" ")),d=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(f),d.appendChild(p),[d]}function hme(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let f=0;f<a;++f)fe.fromCartesian(t[f],r,jc),s.push(`${P.toDegrees(jc.longitude)},${P.toDegrees(jc.latitude)},${i?jc.height:n}`);let c=dn(o,"coordinates",s.join(" ")),u=o.createElement("LinearRing");return u.appendChild(c),u}function fnt(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0),s=o.get(t.perPositionHeight,!1);!s&&n>0&&(r=n);let a=[],c=t.hierarchy,u=o.get(c),f=Array.isArray(u)?u:u.positions,d=i.createElement("outerBoundaryIs");d.appendChild(hme(e,f,r,s)),a.push(d);let p=u.holes;if(l(p)){let g=p.length;for(let m=0;m<g;++m){let x=i.createElement("innerBoundaryIs");x.appendChild(hme(e,p[m].positions,r,s)),a.push(x)}}return a}function mme(e,t,n,i,o){let r=e.kmlDoc,s=e.valueGetter;if(!l(t))return;let a=t instanceof Mh;if(a&&s.getMaterialType(t.material)==="Image"){dnt(e,t,o);return}let c=r.createElement("Polygon"),u=s.get(t.extrudedHeight,0);u>0&&c.appendChild(dn(r,"extrude",!0));let f=a?unt(e,t,u):fnt(e,t,u),d=f.length;for(let b=0;b<d;++b)c.appendChild(f[b]);let p=r.createElement("altitudeMode");p.appendChild(sb(e,t.heightReference)),c.appendChild(p),n.push(c);let g=r.createElement("PolyStyle"),m=s.get(t.fill,!1);m&&g.appendChild(dn(r,"fill",m)),Dq(e,t.material,g);let x=s.get(t.outline,!1);if(x){g.appendChild(dn(r,"outline",x));let b=r.createElement("LineStyle"),T=s.get(t.outlineWidth,1);b.appendChild(dn(r,"width",T));let C=s.getColor(t.outlineColor,H.BLACK);b.appendChild(dn(r,"color",C)),b.appendChild(dn(r,"colorMode","normal")),i.push(b)}i.push(g)}function dnt(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=e.externalFileHandler,s=i.createElement("GroundOverlay"),a=i.createElement("altitudeMode");a.appendChild(sb(e,t.heightReference)),s.appendChild(a);let c=o.get(t.height);l(c)&&s.appendChild(dn(i,"altitude",c));let u=o.get(t.coordinates),f=i.createElement("LatLonBox");f.appendChild(dn(i,"north",P.toDegrees(u.north))),f.appendChild(dn(i,"south",P.toDegrees(u.south))),f.appendChild(dn(i,"east",P.toDegrees(u.east))),f.appendChild(dn(i,"west",P.toDegrees(u.west))),s.appendChild(f);let d=o.get(t.material),p=r.texture(d.image),g=i.createElement("Icon");g.appendChild(dn(i,"href",p)),s.appendChild(g);let m=d.color;l(m)&&s.appendChild(dn(i,"color",rb(d.color))),n.push(s)}function Tme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("Model"),s=i.get(t.scale);if(l(s)){let u=n.createElement("scale");u.appendChild(dn(n,"x",s)),u.appendChild(dn(n,"y",s)),u.appendChild(dn(n,"z",s)),r.appendChild(u)}let a=n.createElement("Link"),c=o.model(t,e.time);return a.appendChild(dn(n,"href",c)),r.appendChild(a),r}function hnt(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter;if(!l(n))return;let c=t.position;if(!c.isConstant){yme(e,t,n,i,o);return}let u=Tme(e,n),f=r.createElement("altitudeMode");f.appendChild(sb(e,n.heightReference)),u.appendChild(f),a.get(c,void 0,wl),fe.fromCartesian(wl,s,jc);let d=r.createElement("Location");d.appendChild(dn(r,"longitude",P.toDegrees(jc.longitude))),d.appendChild(dn(r,"latitude",P.toDegrees(jc.latitude))),d.appendChild(dn(r,"altitude",jc.height)),u.appendChild(d),i.push(u)}function Dq(e,t,n){let i=e.kmlDoc,o=e.valueGetter;if(!l(t))return;let r=o.get(t);if(!l(r))return;let s,a=o.getMaterialType(t),c,u;switch(a){case"Image":s=rb(H.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":s=rb(r.color);break;case"PolylineOutline":s=rb(r.color),c=rb(r.outlineColor),u=r.outlineWidth,n.appendChild(dn(i,"outerColor",c,Wd)),n.appendChild(dn(i,"outerWidth",u,Wd));break;case"Stripe":s=rb(r.oddColor);break}l(s)&&(n.appendChild(dn(i,"color",s)),n.appendChild(dn(i,"colorMode","normal")))}function sb(e,t){let n=e.kmlDoc,o=e.valueGetter.get(t,Ye.NONE),r;switch(o){case Ye.NONE:r=n.createTextNode("absolute");break;case Ye.CLAMP_TO_GROUND:r=n.createTextNode("clampToGround");break;case Ye.RELATIVE_TO_GROUND:r=n.createTextNode("relativeToGround");break}return r}function ob(e,t){Array.isArray(e)||(e=[e]);let n=e.length,i=[];for(let o=0;o<n;++o)fe.fromCartesian(e[o],t,jc),i.push(`${P.toDegrees(jc.longitude)},${P.toDegrees(jc.latitude)},${jc.height}`);return i.join(" ")}function dn(e,t,n,i){n=y(n,""),typeof n=="boolean"&&(n=n?"1":"0");let o=l(i)?e.createElementNS(i,t):e.createElement(t),r=n==="string"&&n.indexOf("<")!==-1?e.createCDATASection(n):e.createTextNode(n);return o.appendChild(r),o}function rb(e){let t="",n=e.toBytes();for(let i=3;i>=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var Cme=vq;function cI(){this._cache={}}cI.prototype.fromColor=function(e,t){return _V(void 0,void 0,e,t,this._cache)};cI.prototype.fromUrl=function(e,t,n){return _V(e,void 0,t,n,this._cache)};cI.prototype.fromMakiIconId=function(e,t,n){return _V(on(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};cI.prototype.fromText=function(e,t,n){return _V(void 0,e,t,n,this._cache)};var mnt=new H;function pnt(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,mnt).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function Ame(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width<t.height&&(o=i*(t.width/t.height));let s=Math.round((n-o)/2),a=Math.round(7/24*n-r/2);e.globalCompositeOperation="destination-out",e.drawImage(t,s-1,a,o,r),e.drawImage(t,s,a-1,o,r),e.drawImage(t,s+1,a,o,r),e.drawImage(t,s,a+1,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=H.BLACK.toCssColorString(),e.fillRect(s-1,a-1,o+2,r+2),e.globalCompositeOperation="destination-out",e.drawImage(t,s,a,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=H.WHITE.toCssColorString(),e.fillRect(s-1,a-2,o+2,r+2)}var aI=new Array(4);function _V(e,t,n,i,o){aI[0]=e,aI[1]=t,aI[2]=n,aI[3]=i;let r=JSON.stringify(aI),s=o[r];if(l(s))return s;let a=document.createElement("canvas");a.width=i,a.height=i;let c=a.getContext("2d");if(pnt(c,n,i),l(e)){let f=ve.createIfNeeded(e).fetchImage().then(function(d){return Ame(c,d,i),o[r]=a,a});return o[r]=f,f}else if(l(t)){let u=$C(t,{font:`bold ${i}px sans-serif`});Ame(c,u,i)}return o[r]=a,a}var vy=cI;function Iq(e){return e}function gV(e){if(e==null)return Iq;var t,n,i=e.scale[0],o=e.scale[1],r=e.translate[0],s=e.translate[1];return function(a,c){c||(t=n=0);var u=2,f=a.length,d=new Array(f);for(d[0]=(t+=a[0])*i+r,d[1]=(n+=a[1])*o+s;u<f;)d[u]=a[u],++u;return d}}function Eme(e,t){for(var n,i=e.length,o=i-t;o<--i;)n=e[o],e[o++]=e[i],e[i]=n}function Pq(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return Sme(e,n)})}:Sme(e,t)}function Sme(e,t){var n=t.id,i=t.bbox,o=t.properties==null?{}:t.properties,r=Rq(e,t);return n==null&&i==null?{type:"Feature",properties:o,geometry:r}:i==null?{type:"Feature",id:n,properties:o,geometry:r}:{type:"Feature",id:n,bbox:i,properties:o,geometry:r}}function Rq(e,t){var n=gV(e.transform),i=e.arcs;function o(f,d){d.length&&d.pop();for(var p=i[f<0?~f:f],g=0,m=p.length;g<m;++g)d.push(n(p[g],g));f<0&&Eme(d,m)}function r(f){return n(f)}function s(f){for(var d=[],p=0,g=f.length;p<g;++p)o(f[p],d);return d.length<2&&d.push(d[0]),d}function a(f){for(var d=s(f);d.length<4;)d.push(d[0]);return d}function c(f){return f.map(a)}function u(f){var d=f.type,p;switch(d){case"GeometryCollection":return{type:d,geometries:f.geometries.map(u)};case"Point":p=r(f.coordinates);break;case"MultiPoint":p=f.coordinates.map(r);break;case"LineString":p=s(f.arcs);break;case"MultiLineString":p=f.arcs.map(s);break;case"Polygon":p=c(f.arcs);break;case"MultiPolygon":p=f.arcs.map(c);break;default:return null}return{type:d,coordinates:p}}return u(t)}function yV(e){return h.fromDegrees(e[0],e[1],e[2])}var Oq={"urn:ogc:def:crs:OGC:1.3:CRS84":yV,"EPSG:4326":yV,"urn:ogc:def:crs:EPSG::4326":yV},wme={},vme={},Mq=48,Lq,Nq=H.ROYALBLUE,Fq=H.YELLOW,Bq=2,kq=H.fromBytes(255,255,0,100),Vq=!1,bnt={small:24,medium:48,large:64},Tnt=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function Dme(e,t){let n="";for(let i in e)if(e.hasOwnProperty(i)){if(i===t||Tnt.indexOf(i)!==-1)continue;let o=e[i];l(o)&&(typeof o=="object"?n+=`<tr><th>${i}</th><td>${Dme(o)}</td></tr>`:n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}return n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function Cnt(e,t,n){let i;return function(o,r){return l(i)||(i=e(t,n)),i}}function Ant(e,t){return new Lh(Cnt(Dme,e,t),!0)}function xV(e,t,n){let i=e.id;if(!l(i)||e.type!=="Feature")i=Gn();else{let s=2,a=i;for(;l(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(l(r)){o.properties=r;let s,a=r.title;if(l(a))o.name=a,s="title";else{let u=Number.MAX_VALUE;for(let f in r)if(r.hasOwnProperty(f)&&r[f]){let d=f.toLowerCase();if(u>1&&d==="title"){u=1,s=f;break}else u>2&&d==="name"?(u=2,s=f):u>3&&/title/i.test(f)?(u=3,s=f):u>4&&/name/i.test(f)&&(u=4,s=f)}l(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=l(c)?new Kn(c):n(r,s))}return o}function Uq(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=t(e[i]);return n}var Ime={Feature:Rme,FeatureCollection:Ent,GeometryCollection:Ome,LineString:Bme,MultiLineString:kme,MultiPoint:Nme,MultiPolygon:zme,Point:Lme,Polygon:Ume,Topology:Hme},Pme={GeometryCollection:Ome,LineString:Bme,MultiLineString:kme,MultiPoint:Nme,MultiPolygon:zme,Point:Lme,Polygon:Ume,Topology:Hme};function Rme(e,t,n,i,o){if(t.geometry===null){xV(t,e._entityCollection,o.describe);return}if(!l(t.geometry))throw new ce("feature.geometry is required.");let r=t.geometry.type,s=Pme[r];if(!l(s))throw new ce(`Unknown geometry type: ${r}`);s(e,t,t.geometry,i,o)}function Ent(e,t,n,i,o){let r=t.features;for(let s=0,a=r.length;s<a;s++)Rme(e,r[s],void 0,i,o)}function Ome(e,t,n,i,o){let r=n.geometries;for(let s=0,a=r.length;s<a;s++){let c=r[s],u=c.type,f=Pme[u];if(!l(f))throw new ce(`Unknown geometry type: ${u}`);f(e,t,c,i,o)}}function Mme(e,t,n,i,o){let r=o.markerSymbol,s=o.markerColor,a=o.markerSize,c=t.properties;if(l(c)){let g=c["marker-color"];l(g)&&(s=H.fromCssColorString(g)),a=y(bnt[c["marker-size"]],a);let m=c["marker-symbol"];l(m)&&(r=m)}let u;l(r)?r.length===1?u=e._pinBuilder.fromText(r.toUpperCase(),s,a):u=e._pinBuilder.fromMakiIconId(r,s,a):u=e._pinBuilder.fromColor(s,a);let f=new Ac;f.verticalOrigin=new Kn(Ln.BOTTOM),i.length===2&&o.clampToGround&&(f.heightReference=Ye.CLAMP_TO_GROUND);let d=xV(t,e._entityCollection,o.describe);d.billboard=f,d.position=new fl(n(i));let p=Promise.resolve(u).then(function(g){f.image=new Kn(g)}).catch(function(){f.image=new Kn(e._pinBuilder.fromColor(s,a))});e._promises.push(p)}function Lme(e,t,n,i,o){Mme(e,t,i,n.coordinates,o)}function Nme(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Mme(e,t,i,r[s],o)}function Fme(e,t,n,i,o){let r=o.strokeMaterialProperty,s=o.strokeWidthProperty,a=t.properties;if(l(a)){let f=a["stroke-width"];l(f)&&(s=new Kn(f));let d,p=a.stroke;l(p)&&(d=H.fromCssColorString(p));let g=a["stroke-opacity"];l(g)&&g!==1&&(l(d)||(d=r.color.getValue().clone()),d.alpha=g),l(d)&&(r=new Ht(d))}let c=xV(t,e._entityCollection,o.describe),u=new Ic;c.polyline=u,u.clampToGround=o.clampToGround,u.material=r,u.width=s,u.positions=new Kn(Uq(i,n)),u.arcType=nn.RHUMB}function Bme(e,t,n,i,o){Fme(e,t,i,n.coordinates,o)}function kme(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Fme(e,t,i,r[s],o)}function Vme(e,t,n,i,o){if(i.length===0||i[0].length===0)return;let r=o.strokeMaterialProperty.color,s=o.fillMaterialProperty,a=o.strokeWidthProperty,c=t.properties;if(l(c)){let g=c["stroke-width"];l(g)&&(a=new Kn(g));let m,x=c.stroke;l(x)&&(m=H.fromCssColorString(x));let b=c["stroke-opacity"];l(b)&&b!==1&&(l(m)||(m=r.getValue().clone()),m.alpha=b),l(m)&&(r=new Kn(m));let T,C=c.fill,A=s.color.getValue();l(C)&&(T=H.fromCssColorString(C),T.alpha=A.alpha),b=c["fill-opacity"],l(b)&&b!==A.alpha&&(l(T)||(T=A.clone()),T.alpha=b),l(T)&&(s=new Ht(T))}let u=new Oh;u.outline=new Kn(!0),u.outlineColor=r,u.outlineWidth=a,u.material=s,u.arcType=nn.RHUMB;let f=[];for(let g=1,m=i.length;g<m;g++)f.push(new $a(Uq(i[g],n)));let d=i[0];u.hierarchy=new Kn(new $a(Uq(d,n),f)),d[0].length>2?u.perPositionHeight=new Kn(!0):o.clampToGround||(u.height=0);let p=xV(t,e._entityCollection,o.describe);p.polygon=u}function Ume(e,t,n,i,o){Vme(e,t,i,n.coordinates,o)}function zme(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Vme(e,t,i,r[s],o)}function Hme(e,t,n,i,o){for(let r in n.objects)if(n.objects.hasOwnProperty(r)){let s=Pq(n,n.objects[r]),a=Ime[s.type];a(e,s,s,i,o)}}function Dy(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new sa(this),this._promises=[],this._pinBuilder=new vy,this._entityCluster=new Sf,this._credit=void 0,this._resourceCredits=[]}Dy.load=function(e,t){return new Dy().load(e,t)};Object.defineProperties(Dy,{markerSize:{get:function(){return Mq},set:function(e){Mq=e}},markerSymbol:{get:function(){return Lq},set:function(e){Lq=e}},markerColor:{get:function(){return Nq},set:function(e){Nq=e}},stroke:{get:function(){return Fq},set:function(e){Fq=e}},strokeWidth:{get:function(){return Bq},set:function(e){Bq=e}},fill:{get:function(){return kq},set:function(e){kq=e}},clampToGround:{get:function(){return Vq},set:function(e){Vq=e}},crsNames:{get:function(){return Oq}},crsLinkHrefs:{get:function(){return wme}},crsLinkTypes:{get:function(){return vme}}});Object.defineProperties(Dy.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});Dy.prototype.load=function(e,t){return Gme(this,e,t,!0)};Dy.prototype.process=function(e,t){return Gme(this,e,t,!1)};function Gme(e,t,n,i){Wr.setLoading(e,!0),n=y(n,y.EMPTY_OBJECT);let o=n.credit;typeof o=="string"&&(o=new vt(o)),e._credit=o;let r=t,s=n.sourceUri;if(typeof t=="string"||t instanceof ve){t=ve.createIfNeeded(t),r=t.fetchJson(),s=y(s,t.getUrlComponent());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return n={describe:y(n.describe,Ant),markerSize:y(n.markerSize,Mq),markerSymbol:y(n.markerSymbol,Lq),markerColor:y(n.markerColor,Nq),strokeWidthProperty:new Kn(y(n.strokeWidth,Bq)),strokeMaterialProperty:new Ht(y(n.stroke,Fq)),fillMaterialProperty:new Ht(y(n.fill,kq)),clampToGround:y(n.clampToGround,Vq)},Promise.resolve(r).then(function(a){return Snt(e,a,n,s,i)}).catch(function(a){throw Wr.setLoading(e,!1),e._error.raiseEvent(e,a),a})}Dy.prototype.update=function(e){return!0};function Snt(e,t,n,i,o){let r;l(i)&&(r=ny(i)),l(r)&&e._name!==r&&(e._name=r,e._changed.raiseEvent(e));let s=Ime[t.type];if(!l(s))throw new ce(`Unsupported GeoJSON object type: ${t.type}`);let a=t.crs,c=a!==null?yV:null;if(l(a)){if(!l(a.properties))throw new ce("crs.properties is undefined.");let u=a.properties;if(a.type==="name"){if(c=Oq[u.name],!l(c))throw new ce(`Unknown crs name: ${u.name}`)}else if(a.type==="link"){let f=wme[u.href];if(l(f)||(f=vme[u.type]),!l(f))throw new ce(`Unable to resolve crs link: ${JSON.stringify(u)}`);c=f(u)}else if(a.type==="EPSG"){if(c=Oq[`EPSG:${u.code}`],!l(c))throw new ce(`Unknown crs EPSG code: ${u.code}`)}else throw new ce(`Unknown crs type: ${a.type}`)}return Promise.resolve(c).then(function(u){return o&&e._entityCollection.removeAll(),u!==null&&s(e,t,t,u,n),Promise.all(e._promises).then(function(){return e._promises.length=0,Wr.setLoading(e,!1),e})})}var bV=Dy;function wnt(e){return typeof e=="string"&&(e=document.getElementById(e)),e}var Mn=wnt;var Wme="4.0.0";function vnt(e){return e===void 0}function xu(e){return typeof e=="boolean"}function jme(e,t){for(var n in t)t.hasOwnProperty(n)&&vnt(e[n])&&(e[n]=t[n]);return e}function qme(e,t,n){var i;return e.length>t&&(n==null?(n="…",i=3):i=n.length,e=e.substring(0,t-i)+n),e}function Uo(e,t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)}function Iy(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}function Py(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}var Ry=/[A-Za-z]/,Hs=/[\d]/;var bu=/\s/,TV=/['"]/,Yme=/[\x00-\x1F\x7F]/,Xme=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,Dnt=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,Int=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,Pnt=Xme+Dnt+Int,Kme=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,XZn=new RegExp("[".concat(Xme+Kme,"]")),zq=Pnt+Kme,jd=new RegExp("[".concat(zq,"]"));var CV=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=n?n.split(bu):[],o=t.split(bu),r;r=o.shift();)i.indexOf(r)===-1&&i.push(r);return this.getAttrs().class=i.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=n?n.split(bu):[],o=t.split(bu),r;i.length&&(r=o.shift());){var s=i.indexOf(r);s!==-1&&i.splice(s,1)}return this.getAttrs().class=i.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),"</",t,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();function $me(e,t,n){var i,o;n==null?(n="…",o=3,i=8):(o=n.length,i=n.length);var r=function(C){var A={},S=C,w=S.match(/^([a-z]+):\/\//i);return w&&(A.scheme=w[1],S=S.substr(w[0].length)),w=S.match(/^(.*?)(?=(\?|#|\/|$))/i),w&&(A.host=w[1],S=S.substr(w[0].length)),w=S.match(/^\/(.*?)(?=(\?|#|$))/i),w&&(A.path=w[1],S=S.substr(w[0].length)),w=S.match(/^\?(.*?)(?=(#|$))/i),w&&(A.query=w[1],S=S.substr(w[0].length)),w=S.match(/^#(.*?)$/i),w&&(A.fragment=w[1]),A},s=function(C){var A="";return C.scheme&&C.host&&(A+=C.scheme+"://"),C.host&&(A+=C.host),C.path&&(A+="/"+C.path),C.query&&(A+="?"+C.query),C.fragment&&(A+="#"+C.fragment),A},a=function(C,A){var S=A/2,w=Math.ceil(S),D=-1*Math.floor(S),O="";return D<0&&(O=C.substr(D)),C.substr(0,w)+n+O};if(e.length<=t)return e;var c=t-o,u=r(e);if(u.query){var f=u.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);f&&(u.query=u.query.substr(0,f[1].length),e=s(u))}if(e.length<=t||(u.host&&(u.host=u.host.replace(/^www\./,""),e=s(u)),e.length<=t))return e;var d="";if(u.host&&(d+=u.host),d.length>=c)return u.host.length==t?(u.host.substr(0,t-o)+n).substr(0,c+i):a(d,c).substr(0,c+i);var p="";if(u.path&&(p+="/"+u.path),u.query&&(p+="?"+u.query),p)if((d+p).length>=c){if((d+p).length==t)return(d+p).substr(0,t);var g=c-d.length;return(d+a(p,g)).substr(0,c+i)}else d+=p;if(u.fragment){var m="#"+u.fragment;if((d+m).length>=c){if((d+m).length==t)return(d+m).substr(0,t);var x=c-d.length;return(d+a(m,x)).substr(0,c+i)}else d+=m}if(u.scheme&&u.host){var b=u.scheme+"://";if((d+b).length<c)return(b+d).substr(0,t)}if(d.length<=t)return d;var T="";return c>0&&(T=d.substr(-1*Math.floor(c/2))),(d.substr(0,Math.ceil(c/2))+n+T).substr(0,c+i)}function Zme(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="…",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}function Qme(e,t,n){return qme(e,t,n)}var Jme=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new CV({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<t.getAnchorText().length&&(n.title=t.getAnchorHref()),n},e.prototype.createCssClass=function(t){var n=this.className;if(n){for(var i=[n],o=t.getCssClassSuffixes(),r=0,s=o.length;r<s;r++)i.push(n+"-"+o[r]);return i.join(" ")}else return""},e.prototype.processAnchorText=function(t){return t=this.doTruncate(t),t},e.prototype.doTruncate=function(t){var n=this.truncate;if(!n||!n.length)return t;var i=n.length,o=n.location;return o==="smart"?$me(t,i):o==="middle"?Zme(t,i):Qme(t,i)},e}();var Hq=function(e,t){return Hq=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])},Hq(e,t)};function bm(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Hq(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Gs=function(){return Gs=Object.assign||function(t){for(var n,i=1,o=arguments.length;i<o;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Gs.apply(this,arguments)};var Tm=function(){function e(t){this._=null,this.matchedText="",this.offset=0,this.tagBuilder=t.tagBuilder,this.matchedText=t.matchedText,this.offset=t.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(t){this.offset=t},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.type]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}();var Rnt="(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|verm\xF6gensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|verm\xF6gensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|\u043A\u0430\u0442\u043E\u043B\u0438\u043A|\u0627\u062A\u0635\u0627\u0644\u0627\u062A|\u0627\u0644\u0628\u062D\u0631\u064A\u0646|\u0627\u0644\u062C\u0632\u0627\u0626\u0631|\u0627\u0644\u0639\u0644\u064A\u0627\u0646|\u067E\u0627\u06A9\u0633\u062A\u0627\u0646|\u0643\u0627\u062B\u0648\u0644\u064A\u0643|\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|\u043C\u043E\u0441\u043A\u0432\u0430|\u043E\u043D\u043B\u0430\u0439\u043D|\u0627\u0628\u0648\u0638\u0628\u064A|\u0627\u0631\u0627\u0645\u0643\u0648|\u0627\u0644\u0627\u0631\u062F\u0646|\u0627\u0644\u0645\u063A\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062A|\u0641\u0644\u0633\u0637\u064A\u0646|\u0645\u0644\u064A\u0633\u064A\u0627|\u092D\u093E\u0930\u0924\u092E\u094D|\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8|\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|\u05D9\u05E9\u05E8\u05D0\u05DC|\u0627\u06CC\u0631\u0627\u0646|\u0628\u0627\u0632\u0627\u0631|\u0628\u06BE\u0627\u0631\u062A|\u0633\u0648\u062F\u0627\u0646|\u0633\u0648\u0631\u064A\u0629|\u0647\u0645\u0631\u0627\u0647|\u092D\u093E\u0930\u094B\u0924|\u0938\u0902\u0917\u0920\u0928|\u09AC\u09BE\u0982\u09B2\u09BE|\u0C2D\u0C3E\u0C30\u0C24\u0C4D|\u0D2D\u0D3E\u0D30\u0D24\u0D02|\u5609\u91CC\u5927\u9152\u5E97|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|\u0434\u0435\u0442\u0438|\u0441\u0430\u0439\u0442|\u0628\u0627\u0631\u062A|\u0628\u064A\u062A\u0643|\u0680\u0627\u0631\u062A|\u062A\u0648\u0646\u0633|\u0634\u0628\u0643\u0629|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0645\u0648\u0642\u0639|\u092D\u093E\u0930\u0924|\u09AD\u09BE\u09B0\u09A4|\u09AD\u09BE\u09F0\u09A4|\u0A2D\u0A3E\u0A30\u0A24|\u0AAD\u0ABE\u0AB0\u0AA4|\u0B2D\u0B3E\u0B30\u0B24|\u0CAD\u0CBE\u0CB0\u0CA4|\u0DBD\u0D82\u0D9A\u0DCF|\u30A2\u30DE\u30BE\u30F3|\u30B0\u30FC\u30B0\u30EB|\u30AF\u30E9\u30A6\u30C9|\u30DD\u30A4\u30F3\u30C8|\u7EC4\u7EC7\u673A\u6784|\u96FB\u8A0A\u76C8\u79D1|\u9999\u683C\u91CC\u62C9|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|\u0431\u0435\u043B|\u043A\u043E\u043C|\u049B\u0430\u0437|\u043C\u043A\u0434|\u043C\u043E\u043D|\u043E\u0440\u0433|\u0440\u0443\u0441|\u0441\u0440\u0431|\u0443\u043A\u0440|\u0570\u0561\u0575|\u05E7\u05D5\u05DD|\u0639\u0631\u0628|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0915\u0949\u092E|\u0928\u0947\u091F|\u0E04\u0E2D\u0E21|\u0E44\u0E17\u0E22|\u0EA5\u0EB2\u0EA7|\u30B9\u30C8\u30A2|\u30BB\u30FC\u30EB|\u307F\u3093\u306A|\u4E2D\u6587\u7F51|\u4E9A\u9A6C\u900A|\u5929\u4E3B\u6559|\u6211\u7231\u4F60|\u65B0\u52A0\u5761|\u6DE1\u9A6C\u9521|\u8BFA\u57FA\u4E9A|\u98DE\u5229\u6D66|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\u03B5\u03BB|\u03B5\u03C5|\u0431\u0433|\u0435\u044E|\u0440\u0444|\u10D2\u10D4|\uB2F7\uB137|\uB2F7\uCEF4|\uC0BC\uC131|\uD55C\uAD6D|\u30B3\u30E0|\u4E16\u754C|\u4E2D\u4FE1|\u4E2D\u56FD|\u4E2D\u570B|\u4F01\u4E1A|\u4F5B\u5C71|\u4FE1\u606F|\u5065\u5EB7|\u516B\u5366|\u516C\u53F8|\u516C\u76CA|\u53F0\u6E7E|\u53F0\u7063|\u5546\u57CE|\u5546\u5E97|\u5546\u6807|\u5609\u91CC|\u5728\u7EBF|\u5927\u62FF|\u5A31\u4E50|\u5BB6\u96FB|\u5E7F\u4E1C|\u5FAE\u535A|\u6148\u5584|\u624B\u673A|\u62DB\u8058|\u653F\u52A1|\u653F\u5E9C|\u65B0\u95FB|\u65F6\u5C1A|\u66F8\u7C4D|\u673A\u6784|\u6E38\u620F|\u6FB3\u9580|\u70B9\u770B|\u79FB\u52A8|\u7F51\u5740|\u7F51\u5E97|\u7F51\u7AD9|\u7F51\u7EDC|\u8054\u901A|\u8C37\u6B4C|\u8D2D\u7269|\u901A\u8CA9|\u96C6\u56E2|\u98DF\u54C1|\u9910\u5385|\u9999\u6E2F)",epe=new RegExp("^"+Rnt+"$");var Ont=/[\/?#]/,Mnt=/[-+&@#/%=~_()|'$*\[\]{}\u2713]/,tpe=/[?!:,.;^]/,Gq=/https?:\/\//i,npe=new RegExp("^"+Gq.source,"i"),ipe=new RegExp(tpe.source+"$"),Lnt=/^(javascript|vbscript):/i,Nnt=/^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/,Fnt=/^(?:\/\/)?([^/#?:]+)/;function AV(e){return Ry.test(e)}function Wq(e){return Ry.test(e)||Hs.test(e)||e==="+"||e==="-"||e==="."}function u_(e){return jd.test(e)}function EV(e){return e==="_"||u_(e)}function jq(e){return jd.test(e)||Mnt.test(e)||tpe.test(e)}function SV(e){return Ont.test(e)}function qq(e){return epe.test(e.toLowerCase())}function ope(e){if(Lnt.test(e))return!1;var t=e.match(Nnt);if(!t)return!1;var n=!!t[1],i=t[2];return n?!0:!(i.indexOf(".")===-1||!Ry.test(i))}function rpe(e){var t=e.match(Fnt);if(!t)return!1;var n=t[0],i=n.split(".");if(i.length<2)return!1;var o=i[i.length-1];return!!qq(o)}var Bnt=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,knt=/[:/?#]/;function spe(e){var t=e.split(knt,1)[0];return Bnt.test(t)}var Vnt=/^(https?:\/\/)?(www\.)?/i,Unt=/^\/\//,ape=function(e){bm(t,e);function t(n){var i=e.call(this,n)||this;return i.type="url",i.url="",i.urlMatchType="scheme",i.protocolRelativeMatch=!1,i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.protocolPrepended=!1,i.urlMatchType=n.urlMatchType,i.url=n.url,i.protocolRelativeMatch=n.protocolRelativeMatch,i.stripPrefix=n.stripPrefix,i.stripTrailingSlash=n.stripTrailingSlash,i.decodePercentEncoding=n.decodePercentEncoding,i}return t.prototype.getType=function(){return"url"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var n=this.url;return!this.protocolRelativeMatch&&this.urlMatchType!=="scheme"&&!this.protocolPrepended&&(n=this.url="http://"+n,this.protocolPrepended=!0),n},t.prototype.getAnchorHref=function(){var n=this.getUrl();return n.replace(/&/g,"&")},t.prototype.getAnchorText=function(){var n=this.getMatchedText();return this.protocolRelativeMatch&&(n=Gnt(n)),this.stripPrefix.scheme&&(n=znt(n)),this.stripPrefix.www&&(n=Hnt(n)),this.stripTrailingSlash&&(n=Wnt(n)),this.decodePercentEncoding&&(n=jnt(n)),n},t}(Tm);function znt(e){return e.replace(npe,"")}function Hnt(e){return e.replace(Vnt,"$1")}function Gnt(e){return e.replace(Unt,"")}function Wnt(e){return e.charAt(e.length-1)==="/"&&(e=e.slice(0,-1)),e}function jnt(e){var t=e.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(t)}catch{return t}}var cpe=/^mailto:/i,qnt=new RegExp("[".concat(zq,"!#$%&'*+/=?^_`{|}~-]"));function lpe(e){return jd.test(e)}function wV(e){return qnt.test(e)}function upe(e){var t=e.split(".").pop()||"";return qq(t)}var fpe=function(e){bm(t,e);function t(n){var i=e.call(this,n)||this;return i.type="email",i.email="",i.email=n.email,i}return t.prototype.getType=function(){return"email"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return"mailto:"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(Tm);function Yq(e){return e==="_"||jd.test(e)}function dpe(e){return e.length<=140}var hpe=["twitter","facebook","instagram","tiktok"];var mpe=function(e){bm(t,e);function t(n){var i=e.call(this,n)||this;return i.type="hashtag",i.serviceName="twitter",i.hashtag="",i.serviceName=n.serviceName,i.hashtag=n.hashtag,i}return t.prototype.getType=function(){return"hashtag"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var n=this.serviceName,i=this.hashtag;switch(n){case"twitter":return"https://twitter.com/hashtag/"+i;case"facebook":return"https://www.facebook.com/hashtag/"+i;case"instagram":return"https://instagram.com/explore/tags/"+i;case"tiktok":return"https://www.tiktok.com/tag/"+i;default:throw Py(n),new Error("Invalid hashtag service: ".concat(n))}},t.prototype.getAnchorText=function(){return"#"+this.hashtag},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(Tm);var Ynt={twitter:/^@\w{1,15}$/,instagram:/^@[_\w]{1,30}$/,soundcloud:/^@[-a-z0-9_]{3,25}$/,tiktok:/^@[.\w]{1,23}[\w]$/},Xnt=/[-\w.]/;function Xq(e){return Xnt.test(e)}function ppe(e,t){var n=Ynt[t];return n.test(e)}var _pe=["twitter","instagram","soundcloud","tiktok"];var gpe=function(e){bm(t,e);function t(n){var i=e.call(this,n)||this;return i.type="mention",i.serviceName="twitter",i.mention="",i.mention=n.mention,i.serviceName=n.serviceName,i}return t.prototype.getType=function(){return"mention"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},t.prototype.getAnchorText=function(){return"@"+this.mention},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(Tm);var Knt=/[-. ]/,$nt=/[-. ()]/,Znt=/[,;]/,Qnt=/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/,Jnt=/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/,eit=new RegExp("^".concat(Qnt.source,"|").concat(Jnt.source,"$"));function Kq(e){return Knt.test(e)}function vV(e){return Znt.test(e)}function ype(e){var t=e.charAt(0)==="+"||$nt.test(e);return t&&eit.test(e)}var xpe=function(e){bm(t,e);function t(n){var i=e.call(this,n)||this;return i.type="phone",i.number="",i.plusSign=!1,i.number=n.number,i.plusSign=n.plusSign,i}return t.prototype.getType=function(){return"phone"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(Tm);function Cpe(e,t){for(var n=t.tagBuilder,i=t.stripPrefix,o=t.stripTrailingSlash,r=t.decodePercentEncoding,s=t.hashtagServiceName,a=t.mentionServiceName,c=[],u=e.length,f=[],d=0;d<u;d++){var p=e.charAt(d);if(f.length===0)b(p);else for(var g=f.length-1;g>=0;g--){var m=f[g];switch(m.state){case 11:D(m,p);break;case 12:O(m,p);break;case 0:T(m,p);break;case 1:C(m,p);break;case 2:A(m,p);break;case 3:S(m,p);break;case 4:w(m,p);break;case 5:R(m,p);break;case 6:M(m,p);break;case 7:L(m,p);break;case 13:_(m,p);break;case 14:E(m,p);break;case 8:v(m,p);break;case 9:I(m,p);break;case 10:N(m,p);break;case 15:B(m,p);break;case 16:z(m,p);break;case 17:V(m,p);break;case 18:G(m,p);break;case 19:k(m,p);break;case 20:Y(m,p);break;case 21:W(m,p);break;case 22:J(m,p);break;case 23:j(m,p);break;case 24:$(m,p);break;case 25:Q(m,p);break;case 26:he(m,p);break;case 27:ye(m,p);break;case 28:re(m,p);break;case 29:_e(m,p);break;case 30:xe(m,p);break;case 31:De(m,p);break;case 32:Oe(m,p);break;case 33:Me(m,p);break;case 34:ht(m,p);break;case 35:it(m,p);break;case 36:At(m,p);break;case 37:we(m,p);break;case 38:Le(m,p);break;case 39:ke(m,p);break;case 40:$e(m,p);break;case 41:Xe(m,p);break;default:Py(m.state)}}}for(var x=f.length-1;x>=0;x--)f.forEach(function(Te){return kt(Te)});return c;function b(Te){if(Te==="#")f.push(rit(d,28));else if(Te==="@")f.push(sit(d,30));else if(Te==="/")f.push(Zq(d,11));else if(Te==="+")f.push(Qq(d,37));else if(Te==="(")f.push(Qq(d,32));else{if(Hs.test(Te)&&(f.push(Qq(d,38)),f.push(iit(d,13))),lpe(Te)){var Ce=Te.toLowerCase()==="m"?15:22;f.push(oit(d,Ce))}AV(Te)&&f.push($q(d,0)),jd.test(Te)&&f.push(Zq(d,5))}}function T(Te,Ce){Ce===":"?Te.state=2:Ce==="-"?Te.state=1:Wq(Ce)||Uo(f,Te)}function C(Te,Ce){Ce==="-"||(Ce==="/"?(Uo(f,Te),f.push(Zq(d,11))):Wq(Ce)?Te.state=0:Uo(f,Te))}function A(Te,Ce){Ce==="/"?Te.state=3:Ce==="."?Uo(f,Te):u_(Ce)?(Te.state=5,AV(Ce)&&f.push($q(d,0))):Uo(f,Te)}function S(Te,Ce){Ce==="/"?Te.state=4:jq(Ce)?(Te.state=10,Te.acceptStateReached=!0):kt(Te)}function w(Te,Ce){Ce==="/"?Te.state=10:u_(Ce)?(Te.state=5,Te.acceptStateReached=!0):Uo(f,Te)}function D(Te,Ce){Ce==="/"?Te.state=12:Uo(f,Te)}function O(Te,Ce){u_(Ce)?Te.state=5:Uo(f,Te)}function R(Te,Ce){Ce==="."?Te.state=7:Ce==="-"?Te.state=6:Ce===":"?Te.state=8:SV(Ce)?Te.state=10:EV(Ce)||kt(Te)}function M(Te,Ce){Ce==="-"||(Ce==="."?kt(Te):u_(Ce)?Te.state=5:kt(Te))}function L(Te,Ce){Ce==="."?kt(Te):u_(Ce)?(Te.state=5,Te.acceptStateReached=!0):kt(Te)}function _(Te,Ce){Ce==="."?Te.state=14:Ce===":"?Te.state=8:Hs.test(Ce)||(SV(Ce)?Te.state=10:jd.test(Ce)?Uo(f,Te):kt(Te))}function E(Te,Ce){Hs.test(Ce)?(Te.octetsEncountered++,Te.octetsEncountered===4&&(Te.acceptStateReached=!0),Te.state=13):kt(Te)}function v(Te,Ce){Hs.test(Ce)?Te.state=9:kt(Te)}function I(Te,Ce){Hs.test(Ce)||(SV(Ce)?Te.state=10:kt(Te))}function N(Te,Ce){jq(Ce)||kt(Te)}function B(Te,Ce){Ce.toLowerCase()==="a"?Te.state=16:J(Te,Ce)}function z(Te,Ce){Ce.toLowerCase()==="i"?Te.state=17:J(Te,Ce)}function V(Te,Ce){Ce.toLowerCase()==="l"?Te.state=18:J(Te,Ce)}function G(Te,Ce){Ce.toLowerCase()==="t"?Te.state=19:J(Te,Ce)}function k(Te,Ce){Ce.toLowerCase()==="o"?Te.state=20:J(Te,Ce)}function Y(Te,Ce){Ce.toLowerCase()===":"?Te.state=21:J(Te,Ce)}function W(Te,Ce){wV(Ce)?Te.state=22:Uo(f,Te)}function J(Te,Ce){Ce==="."?Te.state=23:Ce==="@"?Te.state=24:wV(Ce)?Te.state=22:Uo(f,Te)}function j(Te,Ce){Ce==="."?Uo(f,Te):Ce==="@"?Uo(f,Te):wV(Ce)?Te.state=22:Uo(f,Te)}function $(Te,Ce){u_(Ce)?Te.state=25:Uo(f,Te)}function Q(Te,Ce){Ce==="."?Te.state=27:Ce==="-"?Te.state=26:EV(Ce)||kt(Te)}function he(Te,Ce){Ce==="-"||Ce==="."?kt(Te):EV(Ce)?Te.state=25:kt(Te)}function ye(Te,Ce){Ce==="."||Ce==="-"?kt(Te):u_(Ce)?(Te.state=25,Te.acceptStateReached=!0):kt(Te)}function re(Te,Ce){Yq(Ce)?(Te.state=29,Te.acceptStateReached=!0):Uo(f,Te)}function _e(Te,Ce){Yq(Ce)||kt(Te)}function xe(Te,Ce){Xq(Ce)?(Te.state=31,Te.acceptStateReached=!0):Uo(f,Te)}function De(Te,Ce){Xq(Ce)||(jd.test(Ce)?Uo(f,Te):kt(Te))}function we(Te,Ce){Hs.test(Ce)?Te.state=38:(Uo(f,Te),b(Ce))}function Oe(Te,Ce){Hs.test(Ce)?Te.state=33:Uo(f,Te),b(Ce)}function Me(Te,Ce){Hs.test(Ce)?Te.state=34:Uo(f,Te)}function ht(Te,Ce){Hs.test(Ce)?Te.state=35:Uo(f,Te)}function it(Te,Ce){Ce===")"?Te.state=36:Uo(f,Te)}function At(Te,Ce){Hs.test(Ce)?Te.state=38:Kq(Ce)?Te.state=39:Uo(f,Te)}function Le(Te,Ce){Te.acceptStateReached=!0,vV(Ce)?Te.state=40:Ce==="#"?Te.state=41:Hs.test(Ce)||(Ce==="("?Te.state=32:Kq(Ce)?Te.state=39:(kt(Te),AV(Ce)&&f.push($q(d,0))))}function ke(Te,Ce){Hs.test(Ce)?Te.state=38:Ce==="("?Te.state=32:(kt(Te),b(Ce))}function $e(Te,Ce){vV(Ce)||(Ce==="#"?Te.state=41:Hs.test(Ce)?Te.state=38:kt(Te))}function Xe(Te,Ce){vV(Ce)?Te.state=40:Hs.test(Ce)?Uo(f,Te):kt(Te)}function kt(Te){if(Uo(f,Te),!!Te.acceptStateReached){var Ce=Te.startIdx,Zt=e.slice(Te.startIdx,d);if(Zt=nit(Zt),Te.type==="url"){var Qt=e.charAt(Te.startIdx-1);if(Qt==="@")return;var Xt=Te.matchType;if(Xt==="scheme"){var ro=Gq.exec(Zt);if(ro&&(Ce=Ce+ro.index,Zt=Zt.slice(ro.index)),!ope(Zt))return}else if(Xt==="tld"){if(!rpe(Zt))return}else if(Xt==="ipV4"){if(!spe(Zt))return}else Py(Xt);c.push(new ape({tagBuilder:n,matchedText:Zt,offset:Ce,urlMatchType:Xt,url:Zt,protocolRelativeMatch:Zt.slice(0,2)==="//",stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))}else if(Te.type==="email")upe(Zt)&&c.push(new fpe({tagBuilder:n,matchedText:Zt,offset:Ce,email:Zt.replace(cpe,"")}));else if(Te.type==="hashtag")dpe(Zt)&&c.push(new mpe({tagBuilder:n,matchedText:Zt,offset:Ce,serviceName:s,hashtag:Zt.slice(1)}));else if(Te.type==="mention")ppe(Zt,a)&&c.push(new gpe({tagBuilder:n,matchedText:Zt,offset:Ce,serviceName:a,mention:Zt.slice(1)}));else if(Te.type==="phone"){if(Zt=Zt.replace(/ +$/g,""),ype(Zt)){var Ke=Zt.replace(/[^0-9,;#]/g,"");c.push(new xpe({tagBuilder:n,matchedText:Zt,offset:Ce,number:Ke,plusSign:Zt.charAt(0)==="+"}))}}else Py(Te)}}}var tit=/[\(\{\[]/,bpe=/[\)\}\]]/,Tpe={")":"(","}":"{","]":"["};function nit(e){for(var t={"(":0,"{":0,"[":0},n=0;n<e.length;n++){var i=e.charAt(n);tit.test(i)?t[i]++:bpe.test(i)&&t[Tpe[i]]--}for(var o=e.length-1,r;o>=0;)if(r=e.charAt(o),bpe.test(r)){var s=Tpe[r];if(t[s]<0)t[s]++,o--;else break}else if(ipe.test(r))o--;else break;return e.slice(0,o+1)}function $q(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"scheme"}}function Zq(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"tld"}}function iit(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function oit(e,t){return{type:"email",startIdx:e,state:t,acceptStateReached:!1}}function rit(e,t){return{type:"hashtag",startIdx:e,state:t,acceptStateReached:!1}}function sit(e,t){return{type:"mention",startIdx:e,state:t,acceptStateReached:!1}}function Qq(e,t){return{type:"phone",startIdx:e,state:t,acceptStateReached:!1}}function Ape(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new Cm,c=0,u=e.length,f=0,d=0,p=a;c<u;){var g=e.charAt(c);switch(f){case 0:m(g);break;case 1:x(g);break;case 2:T(g);break;case 3:b(g);break;case 4:C(g);break;case 5:A(g);break;case 6:S(g);break;case 7:w(g);break;case 8:D(g);break;case 9:O(g);break;case 10:R(g);break;case 11:M(g);break;case 12:L(g);break;case 13:_(g);break;case 14:E(g);break;case 15:v(g);break;case 16:I(g);break;case 17:N(g);break;case 18:B(g);break;case 19:z(g);break;case 20:V(g);break;default:Py(f)}c++}d<c&&W();function m($){$==="<"&&k()}function x($){$==="!"?f=13:$==="/"?(f=2,p=new Cm(Gs(Gs({},p),{isClosing:!0}))):$==="<"?k():Ry.test($)?(f=3,p=new Cm(Gs(Gs({},p),{isOpening:!0}))):(f=0,p=a)}function b($){bu.test($)?(p=new Cm(Gs(Gs({},p),{name:J()})),f=4):$==="<"?k():$==="/"?(p=new Cm(Gs(Gs({},p),{name:J()})),f=12):$===">"?(p=new Cm(Gs(Gs({},p),{name:J()})),Y()):!Ry.test($)&&!Hs.test($)&&$!==":"&&G()}function T($){$===">"?G():Ry.test($)?f=3:G()}function C($){bu.test($)||($==="/"?f=12:$===">"?Y():$==="<"?k():$==="="||TV.test($)||Yme.test($)?G():f=5)}function A($){bu.test($)?f=6:$==="/"?f=12:$==="="?f=7:$===">"?Y():$==="<"?k():TV.test($)&&G()}function S($){bu.test($)||($==="/"?f=12:$==="="?f=7:$===">"?Y():$==="<"?k():TV.test($)?G():f=5)}function w($){bu.test($)||($==='"'?f=8:$==="'"?f=9:/[>=`]/.test($)?G():$==="<"?k():f=10)}function D($){$==='"'&&(f=11)}function O($){$==="'"&&(f=11)}function R($){bu.test($)?f=4:$===">"?Y():$==="<"&&k()}function M($){bu.test($)?f=4:$==="/"?f=12:$===">"?Y():$==="<"?k():(f=4,j())}function L($){$===">"?(p=new Cm(Gs(Gs({},p),{isClosing:!0})),Y()):f=4}function _($){e.substr(c,2)==="--"?(c+=2,p=new Cm(Gs(Gs({},p),{type:"comment"})),f=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new Cm(Gs(Gs({},p),{type:"doctype"})),f=20):G()}function E($){$==="-"?f=15:$===">"?G():f=16}function v($){$==="-"?f=18:$===">"?G():f=16}function I($){$==="-"&&(f=17)}function N($){$==="-"?f=18:f=16}function B($){$===">"?Y():$==="!"?f=19:$==="-"||(f=16)}function z($){$==="-"?f=17:$===">"?Y():f=16}function V($){$===">"?Y():$==="<"&&k()}function G(){f=0,p=a}function k(){f=1,p=new Cm({idx:c})}function Y(){var $=e.slice(d,p.idx);$&&o($,d),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),G(),d=c+1}function W(){var $=e.slice(d,c);o($,d),d=c+1}function J(){var $=p.idx+(p.isClosing?2:1);return e.slice($,c).toLowerCase()}function j(){c--}}var Cm=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}();var ait=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=cit(t.urls),this.email=xu(t.email)?t.email:this.email,this.phone=xu(t.phone)?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=xu(t.newWindow)?t.newWindow:this.newWindow,this.stripPrefix=lit(t.stripPrefix),this.stripTrailingSlash=xu(t.stripTrailingSlash)?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=xu(t.decodePercentEncoding)?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&_pe.indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&hpe.indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=uit(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return Ape(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/( | |<|<|>|>|"|"|')/gi,u=s.split(c),f=a;u.forEach(function(d,p){if(p%2===0){var g=n.parseText(d,f);r.push.apply(r,g)}f+=d.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,u){return c.getOffset()-u.getOffset()});for(var n=0;n<t.length-1;){var i=t[n],o=i.getOffset(),r=i.getMatchedText().length,s=o+r;if(n+1<t.length){if(t[n+1].getOffset()===o){var a=t[n+1].getMatchedText().length>r?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()<s){t.splice(n+1,1);continue}}n++}return t},e.prototype.removeUnwantedMatches=function(t){return this.hashtag||Iy(t,function(n){return n.getType()==="hashtag"}),this.email||Iy(t,function(n){return n.getType()==="email"}),this.phone||Iy(t,function(n){return n.getType()==="phone"}),this.mention||Iy(t,function(n){return n.getType()==="mention"}),this.urls.schemeMatches||Iy(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="scheme"}),this.urls.tldMatches||Iy(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="tld"}),this.urls.ipV4Matches||Iy(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="ipV4"}),t},e.prototype.parseText=function(t,n){n===void 0&&(n=0),n=n||0;for(var i=Cpe(t,{tagBuilder:this.getTagBuilder(),stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding,hashtagServiceName:this.hashtag,mentionServiceName:this.mention||"twitter"}),o=0,r=i.length;o<r;o++)i[o].setOffset(n+i[o].getOffset());return i},e.prototype.link=function(t){if(!t)return"";this.sanitizeHtml&&(t=t.replace(/</g,"<").replace(/>/g,">"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r<s;r++){var a=n[r];i.push(t.substring(o,a.getOffset())),i.push(this.createMatchReturnVal(a)),o=a.getOffset()+a.getMatchedText().length}return i.push(t.substring(o)),i.join("")},e.prototype.createMatchReturnVal=function(t){var n;if(this.replaceFn&&(n=this.replaceFn.call(this.context,t)),typeof n=="string")return n;if(n===!1)return t.getMatchedText();if(n instanceof CV)return n.toAnchorString();var i=t.buildTag();return i.toAnchorString()},e.prototype.getTagBuilder=function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new Jme({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t},e.version=Wme,e}(),Epe=ait;function cit(e){return e==null&&(e=!0),xu(e)?{schemeMatches:e,tldMatches:e,ipV4Matches:e}:{schemeMatches:xu(e.schemeMatches)?e.schemeMatches:!0,tldMatches:xu(e.tldMatches)?e.tldMatches:!0,ipV4Matches:xu(e.ipV4Matches)?e.ipV4Matches:!0}}function lit(e){return e==null&&(e=!0),xu(e)?{scheme:e,www:e}:{scheme:xu(e.scheme)?e.scheme:!0,www:xu(e.www)?e.www:!0}}function uit(e){return typeof e=="number"?{length:e,location:"end"}:jme(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})}var DV=Epe;var Mpe;typeof DOMParser<"u"&&(Mpe=new DOMParser);var fit=new DV({stripPrefix:!1,email:!1,replaceFn:function(e,t){return t.urlMatchType==="scheme"||t.urlMatchType==="www"}}),IV=32,Spe=2414016,wpe=1,vpe=16093e3,Dpe=.1,dit=[null,void 0,"http://www.topografix.com/GPX/1/1"],To={gpx:dit};function hit(e){return new Promise((t,n)=>{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function Jq(e,t){let n=fI(e,"id");return n=l(n)?n:Gn(),t.getOrCreateEntity(n)}function eY(e){let t=Ipe(e,"lon"),n=Ipe(e,"lat"),i=lI(e,"ele",To.gpx);return h.fromDegrees(t,n,i)}function Ipe(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function fI(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Oy(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function tY(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagName(t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function lI(e,t,n){let i=Oy(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function vl(e,t,n){let i=Oy(e,t,n);if(l(i))return i.textContent.trim()}function Lpe(e){let t=new Ac;return t.width=IV,t.height=IV,t.scaleByDistance=new Vt(Spe,wpe,vpe,Dpe),t.pixelOffsetScaleByDistance=new Vt(Spe,wpe,vpe,Dpe),t.verticalOrigin=new Kn(Ln.BOTTOM),t.image=e,t}function mit(){let e=new Rh;return e.translucencyByDistance=new Vt(3e6,1,5e6,0),e.pixelOffset=new U(17,0),e.horizontalOrigin=gi.LEFT,e.font="16px sans-serif",e.style=Yo.FILL_AND_OUTLINE,e}function Npe(e){let t=new Ic;return t.width=4,t.material=new Ux,t.material.color=l(e)?e:H.RED,t.material.outlineWidth=2,t.material.outlineColor=H.BLACK,t}var Ppe={time:{text:"Time",tag:"time"},comment:{text:"Comment",tag:"cmt"},description:{text:"Description",tag:"desc"},source:{text:"Source",tag:"src"},number:{text:"GPS track/route number",tag:"number"},type:{text:"Type",tag:"type"}},uI;typeof document<"u"&&(uI=document.createElement("div"));function nY(e,t){let n,i="",o=Object.keys(Ppe),r=o.length;for(n=0;n<r;n++){let f=o[n],d=Ppe[f];d.value=y(vl(e,d.tag,To.gpx),""),l(d.value)&&d.value!==""&&(i=`${i}<p>${d.text}: ${d.value}</p>`)}if(!l(i)||i==="")return;i=fit.link(i),uI.innerHTML=i;let s=uI.querySelectorAll("a");for(n=0;n<s.length;n++)s[n].setAttribute("target","_blank");let a=H.WHITE,c=H.BLACK,u='<div class="cesium-infoBox-description-lighter" style="';return u+="overflow:auto;",u+="word-wrap:break-word;",u+=`background-color:${a.toCssColorString()};`,u+=`color:${c.toCssColorString()};`,u+='">',u+=`${uI.innerHTML}</div>`,uI.innerHTML="",u}function Fpe(e,t,n,i){let o=eY(t),r=Jq(t,n);r.position=o;let s=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",H.RED,IV);r.billboard=Lpe(s);let a=vl(t,"name",To.gpx);r.name=a,r.label=mit(),r.label.text=a,r.description=nY(t,r),i.clampToGround&&(r.billboard.heightReference=Ye.CLAMP_TO_GROUND,r.label.heightReference=Ye.CLAMP_TO_GROUND)}function pit(e,t,n,i){let o=Jq(t,n);o.description=nY(t,o);let r=tY(t,"rtept",To.gpx),s=new Array(r.length);for(let a=0;a<r.length;a++)Fpe(e,r[a],n,i),s[a]=eY(r[a]);o.polyline=Npe(i.routeColor),i.clampToGround&&(o.polyline.clampToGround=!0),o.polyline.positions=s}function _it(e,t,n,i){let o=Jq(t,n);o.description=nY(t,o);let r=tY(t,"trkseg",To.gpx),s=[],a=[],c,u=!0,f=new Pa;for(let d=0;d<r.length;d++)c=git(r[d]),s=s.concat(c.positions),c.times.length>0?(a=a.concat(c.times),f.addSamples(a,s),u=u&&!0):u=!1;if(u){let d=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",H.RED,IV);o.billboard=Lpe(d),o.position=f,i.clampToGround&&(o.billboard.heightReference=Ye.CLAMP_TO_GROUND),o.availability=new Gr,o.availability.addInterval(new vn({start:a[0],stop:a[a.length-1]}))}o.polyline=Npe(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function git(e){let t={positions:[],times:[]},n=tY(e,"trkpt",To.gpx),i;for(let o=0;o<n.length;o++){let r=eY(n[o]);t.positions.push(r),i=vl(n[o],"time",To.gpx),l(i)&&t.times.push(K.fromIso8601(i))}return t}function yit(e){let t=Oy(e,"metadata",To.gpx);if(l(t)){let n={name:vl(t,"name",To.gpx),desc:vl(t,"desc",To.gpx),author:xit(t),copyright:Tit(t),link:Bpe(t),time:vl(t,"time",To.gpx),keywords:vl(t,"keywords",To.gpx),bounds:Cit(t)};if(l(n.name)||l(n.desc)||l(n.author)||l(n.copyright)||l(n.link)||l(n.time)||l(n.keywords)||l(n.bounds))return n}}function xit(e){let t=Oy(e,"author",To.gpx);if(l(t)){let n={name:vl(t,"name",To.gpx),email:bit(t),link:Bpe(t)};if(l(n.name)||l(n.email)||l(n.link))return n}}function bit(e){let t=Oy(e,"email",To.gpx);if(l(t)){let n=vl(t,"id",To.gpx),i=vl(t,"domain",To.gpx);return`${n}@${i}`}}function Bpe(e){let t=Oy(e,"link",To.gpx);if(l(t)){let n={href:fI(t,"href"),text:vl(t,"text",To.gpx),mimeType:vl(t,"type",To.gpx)};if(l(n.href)||l(n.text)||l(n.mimeType))return n}}function Tit(e){let t=Oy(e,"copyright",To.gpx);if(l(t)){let n={author:fI(t,"author"),year:vl(t,"year",To.gpx),license:vl(t,"license",To.gpx)};if(l(n.author)||l(n.year)||l(n.license))return n}}function Cit(e){let t=Oy(e,"bounds",To.gpx);if(l(t)){let n={minLat:lI(t,"minlat",To.gpx),maxLat:lI(t,"maxlat",To.gpx),minLon:lI(t,"minlon",To.gpx),maxLon:lI(t,"maxlon",To.gpx)};if(l(n.minLat)||l(n.maxLat)||l(n.minLon)||l(n.maxLon))return n}}var Rpe={wpt:Fpe,rte:pit,trk:_it};function Ait(e,t,n,i){let o=Object.keys(Rpe),r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Rpe[a],u=t.childNodes,f=u.length;for(let d=0;d<f;d++){let p=u[d];p.localName===a&&To.gpx.indexOf(p.namespaceURI)!==-1&&c(e,p,n,i)}}}function Ope(e,t,n){let i=e._entityCollection;i.removeAll();let o=t.documentElement,r=fI(o,"version"),s=fI(o,"creator"),a,c=yit(o);l(c)&&(a=c.name),o.localName==="gpx"?Ait(e,o,i,n):console.log(`GPX - Unsupported node: ${o.localName}`);let u,f=i.computeAvailability(),d=f.start,p=f.stop,g=K.equals(d,He.MINIMUM_VALUE),m=K.equals(p,He.MAXIMUM_VALUE);if(!g||!m){let b;g&&(b=new Date,b.setHours(0,0,0,0),d=K.fromDate(b)),m&&(b=new Date,b.setHours(24,0,0,0),p=K.fromDate(b)),u=new sm,u.startTime=d,u.stopTime=p,u.currentTime=K.clone(d),u.clockRange=jr.LOOP_STOP,u.clockStep=_o.SYSTEM_CLOCK_MULTIPLIER,u.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(p,d)/60,1),31556900))}let x=!1;return e._name!==a&&(e._name=a,x=!0),e._creator!==s&&(e._creator=s,x=!0),Eit(e._metadata,c)&&(e._metadata=c,x=!0),e._version!==r&&(e._version=r,x=!0),u!==e._clock&&(x=!0,e._clock=u),x&&e._changed.raiseEvent(e),Wr.setLoading(e,!1),e}function Eit(e,t){return!l(e)&&!l(t)?!1:l(e)&&l(t)?e.name!==t.name||e.dec!==t.desc||e.src!==t.src||e.author!==t.author||e.copyright!==t.copyright||e.link!==t.link||e.time!==t.time||e.bounds!==t.bounds:!0}function Sit(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=n;if(typeof n=="string"||n instanceof ve){n=ve.createIfNeeded(n),o=n.fetchBlob();let r=e._resourceCredits,s=n.credits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)r.push(s[c])}}return Promise.resolve(o).then(function(r){return r instanceof Blob?hit(r).then(function(s){let a,c;try{a=Mpe.parseFromString(s,"application/xml")}catch(u){c=u.toString()}if(l(c)||a.body||a.documentElement.tagName==="parsererror"){let u=l(c)?c:a.documentElement.firstChild.nodeValue;throw u||(u=a.body.innerText),new ce(u)}return Ope(e,a,i)}):Ope(e,r,i)}).catch(function(r){return e._error.raiseEvent(e,r),console.log(r),Promise.reject(r)})}function TE(){this._changed=new me,this._error=new me,this._loading=new me,this._clock=void 0,this._entityCollection=new sa(this),this._entityCluster=new Sf,this._name=void 0,this._version=void 0,this._creator=void 0,this._metadata=void 0,this._isLoading=!1,this._pinBuilder=new vy}TE.load=function(e,t){return new TE().load(e,t)};Object.defineProperties(TE.prototype,{name:{get:function(){return this._name}},version:{get:function(){return this._version}},creator:{get:function(){return this._creator}},metadata:{get:function(){return this._metadata}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});TE.prototype.update=function(e){return!0};TE.prototype.load=function(e,t){if(!l(e))throw new de("data is required.");t=y(t,y.EMPTY_OBJECT),Wr.setLoading(this,!0);let n=this._name,i=this;return Sit(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,He.MINIMUM_VALUE),u=K.equals(a,He.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new sm,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=jr.LOOP_STOP,o.clockStep=_o.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Wr.setLoading(i,!1),i}).catch(function(o){return Wr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};var PV=TE;function wit(e,t){this.position=e,this.headingPitchRoll=t}var RV=wit;var hI=Er(Vl(),1);function vit(e,t){this.position=e,this.headingPitchRange=t}var OV=vit;function MV(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new me,this.tourEnd=new me,this.entryStart=new me,this.entryEnd=new me,this._activeEntries=[]}MV.prototype.addPlaylistEntry=function(e){this.playlist.push(e)};MV.prototype.play=function(e,t){this.tourStart.raiseEvent();let n=this;Vpe.call(this,e,t,function(i){n.playlistIndex=0,i||kpe(n._activeEntries),n.tourEnd.raiseEvent(i)})};MV.prototype.stop=function(){kpe(this._activeEntries)};function kpe(e){for(let t=e.pop();t!==void 0;t=e.pop())t.stop()}function Vpe(e,t,n){let i=this.playlist[this.playlistIndex];if(i){let o=Dit.bind(this,e,t,n);if(this._activeEntries.push(i),this.entryStart.raiseEvent(i),i.blocking)i.play(o,e.scene.camera,t);else{let r=this;i.play(function(){r.entryEnd.raiseEvent(i);let s=r._activeEntries.indexOf(i);s>=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else l(n)&&n(!1)}function Dit(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,Vpe.call(this,e,t,n)}}var LV=MV;var Ai=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var t=1.70158;return e===1?1:e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return e===0?0:--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)}}),Bounce:Object.freeze({In:function(e){return 1-Ai.Bounce.Out(1-e)},Out:function(e){return e<.36363636363636365?7.5625*e*e:e<.7272727272727273?7.5625*(e-=.5454545454545454)*e+.75:e<.9090909090909091?7.5625*(e-=.8181818181818182)*e+.9375:7.5625*(e-=.9545454545454546)*e+.984375},InOut:function(e){return e<.5?Ai.Bounce.In(e*2)*.5:Ai.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e<Number.EPSILON?Number.EPSILON:e,e=e>1e4?1e4:e,{In:function(t){return Math.pow(t,e)},Out:function(t){return 1-Math.pow(1-t,e)},InOut:function(t){return t<.5?Math.pow(t*2,e)/2:(1-Math.pow(2-t*2,e))/2+.5}}}}),dI=function(){return performance.now()},Iit=function(){function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._tweens={},this._tweensAddedDuringUpdate={},this.add.apply(this,t)}return e.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map(function(n){return t._tweens[n]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(){for(var t,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];for(var o=0,r=n;o<r.length;o++){var s=r[o];(t=s._group)===null||t===void 0||t.remove(s),s._group=this,this._tweens[s.getId()]=s,this._tweensAddedDuringUpdate[s.getId()]=s}},e.prototype.remove=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var i=0,o=t;i<o.length;i++){var r=o[i];r._group=void 0,delete this._tweens[r.getId()],delete this._tweensAddedDuringUpdate[r.getId()]}},e.prototype.allStopped=function(){return this.getAll().every(function(t){return!t.isPlaying()})},e.prototype.update=function(t,n){t===void 0&&(t=dI()),n===void 0&&(n=!0);var i=Object.keys(this._tweens);if(i.length!==0)for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<i.length;o++){var r=this._tweens[i[o]],s=!n;r&&r.update(t,s)===!1&&!n&&this.remove(r)}i=Object.keys(this._tweensAddedDuringUpdate)}},e}(),CE={Linear:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=CE.Utils.Linear;return t<0?r(e[0],e[1],i):t>1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=CE.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=CE.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],i-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=CE.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var i=t;i>1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},Upe=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),iY=new Iit,zpe=function(){function e(t,n){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=Ai.Linear.None,this._interpolationFunction=CE.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=Upe.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=t,typeof n=="object"?(this._group=n,n.add(this)):n===!0&&(this._group=iY,iY.add(this))}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(t,n){if(n===void 0&&(n=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=t,this._propertiesAreSetUp=!1,this._duration=n<0?0:n,this},e.prototype.duration=function(t){return t===void 0&&(t=1e3),this._duration=t<0?0:t,this},e.prototype.dynamic=function(t){return t===void 0&&(t=!1),this._isDynamic=t,this},e.prototype.start=function(t,n){if(t===void 0&&(t=dI()),n===void 0&&(n=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t,this._startTime+=this._delayTime,!this._propertiesAreSetUp||n){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var r in this._valuesEnd)o[r]=this._valuesEnd[r];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,n)}return this},e.prototype.startFromCurrentValues=function(t){return this.start(t,!0)},e.prototype._setupProperties=function(t,n,i,o,r){for(var s in i){var a=t[s],c=Array.isArray(a),u=c?"array":typeof a,f=!c&&Array.isArray(i[s]);if(!(u==="undefined"||u==="function")){if(f){var d=i[s];if(d.length===0)continue;for(var p=[a],g=0,m=d.length;g<m;g+=1){var x=this._handleRelativeValue(a,d[g]);if(isNaN(x)){f=!1,console.warn("Found invalid interpolation list. Skipping.");break}p.push(x)}f&&(i[s]=p)}if((u==="object"||c)&&a&&!f){n[s]=c?[]:{};var b=a;for(var T in b)n[s][T]=b[T];o[s]=c?[]:{};var d=i[s];if(!this._isDynamic){var C={};for(var T in d)C[T]=d[T];i[s]=d=C}this._setupProperties(b,n[s],d,o[s],r)}else(typeof n[s]>"u"||r)&&(n[s]=a),c||(n[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=n[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},e.prototype.pause=function(t){return t===void 0&&(t=dI()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this)},e.prototype.resume=function(t){return t===void 0&&(t=dI()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;t<n;t++)this._chainedTweens[t].stop();return this},e.prototype.group=function(t){return t?(t.add(this),this):(console.warn("tween.group() without args has been removed, use group.add(tween) instead."),this)},e.prototype.remove=function(){var t;return(t=this._group)===null||t===void 0||t.remove(this),this},e.prototype.delay=function(t){return t===void 0&&(t=0),this._delayTime=t,this},e.prototype.repeat=function(t){return t===void 0&&(t=0),this._initialRepeat=t,this._repeat=t,this},e.prototype.repeatDelay=function(t){return this._repeatDelayTime=t,this},e.prototype.yoyo=function(t){return t===void 0&&(t=!1),this._yoyo=t,this},e.prototype.easing=function(t){return t===void 0&&(t=Ai.Linear.None),this._easingFunction=t,this},e.prototype.interpolation=function(t){return t===void 0&&(t=CE.Linear),this._interpolationFunction=t,this},e.prototype.chain=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this._chainedTweens=t,this},e.prototype.onStart=function(t){return this._onStartCallback=t,this},e.prototype.onEveryStart=function(t){return this._onEveryStartCallback=t,this},e.prototype.onUpdate=function(t){return this._onUpdateCallback=t,this},e.prototype.onRepeat=function(t){return this._onRepeatCallback=t,this},e.prototype.onComplete=function(t){return this._onCompleteCallback=t,this},e.prototype.onStop=function(t){return this._onStopCallback=t,this},e.prototype.update=function(t,n){var i=this,o;if(t===void 0&&(t=dI()),n===void 0&&(n=e.autoStartOnUpdate),this._isPaused)return!0;var r;if(!this._goToEnd&&!this._isPlaying)if(n)this.start(t,!0);else return!1;if(this._goToEnd=!1,t<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),this._onEveryStartCallbackFired===!1&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0);var s=t-this._startTime,a=this._duration+((o=this._repeatDelayTime)!==null&&o!==void 0?o:this._delayTime),c=this._duration+this._repeat*a,u=function(){if(i._duration===0||s>c)return 1;var x=Math.trunc(s/a),b=s-x*a,T=Math.min(b/i._duration,1);return T===0&&s===i._duration?1:T},f=u(),d=this._easingFunction(f);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,f),this._duration===0||s>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((s-this._duration)/a)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(r in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[r]=="string"&&(this._valuesStartRepeat[r]=this._valuesStartRepeat[r]+parseFloat(this._valuesEnd[r])),this._yoyo&&this._swapEndStartRepeatValues(r),this._valuesStart[r]=this._valuesStartRepeat[r];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=a*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var g=0,m=this._chainedTweens.length;g<m;g++)this._chainedTweens[g].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(t,n,i,o){for(var r in i)if(n[r]!==void 0){var s=n[r]||0,a=i[r],c=Array.isArray(t[r]),u=Array.isArray(a),f=!c&&u;f?t[r]=this._interpolationFunction(a,o):typeof a=="object"&&a?this._updateProperties(t[r],s,a,o):(a=this._handleRelativeValue(s,a),typeof a=="number"&&(t[r]=s+(a-s)*o))}},e.prototype._handleRelativeValue=function(t,n){return typeof n!="string"?n:n.charAt(0)==="+"||n.charAt(0)==="-"?t+parseFloat(n):parseFloat(n)},e.prototype._swapEndStartRepeatValues=function(t){var n=this._valuesStartRepeat[t],i=this._valuesEnd[t];typeof i=="string"?this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(i):this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=n},e.autoStartOnUpdate=!1,e}();var fei=Upe.nextId,Am=iY,dei=Am.getAll.bind(Am),hei=Am.removeAll.bind(Am),mei=Am.add.bind(Am),pei=Am.remove.bind(Am),_ei=Am.update.bind(Am);var Pit={LINEAR_NONE:Ai.Linear.None,QUADRATIC_IN:Ai.Quadratic.In,QUADRATIC_OUT:Ai.Quadratic.Out,QUADRATIC_IN_OUT:Ai.Quadratic.InOut,CUBIC_IN:Ai.Cubic.In,CUBIC_OUT:Ai.Cubic.Out,CUBIC_IN_OUT:Ai.Cubic.InOut,QUARTIC_IN:Ai.Quartic.In,QUARTIC_OUT:Ai.Quartic.Out,QUARTIC_IN_OUT:Ai.Quartic.InOut,QUINTIC_IN:Ai.Quintic.In,QUINTIC_OUT:Ai.Quintic.Out,QUINTIC_IN_OUT:Ai.Quintic.InOut,SINUSOIDAL_IN:Ai.Sinusoidal.In,SINUSOIDAL_OUT:Ai.Sinusoidal.Out,SINUSOIDAL_IN_OUT:Ai.Sinusoidal.InOut,EXPONENTIAL_IN:Ai.Exponential.In,EXPONENTIAL_OUT:Ai.Exponential.Out,EXPONENTIAL_IN_OUT:Ai.Exponential.InOut,CIRCULAR_IN:Ai.Circular.In,CIRCULAR_OUT:Ai.Circular.Out,CIRCULAR_IN_OUT:Ai.Circular.InOut,ELASTIC_IN:Ai.Elastic.In,ELASTIC_OUT:Ai.Elastic.Out,ELASTIC_IN_OUT:Ai.Elastic.InOut,BACK_IN:Ai.Back.In,BACK_OUT:Ai.Back.Out,BACK_IN_OUT:Ai.Back.InOut,BOUNCE_IN:Ai.Bounce.In,BOUNCE_OUT:Ai.Bounce.Out,BOUNCE_IN_OUT:Ai.Bounce.InOut},Yr=Object.freeze(Pit);function NV(e,t,n){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=n,this.flyToMode=t}NV.prototype.play=function(e,t,n){if(this.activeCamera=t,l(e)&&e!==null){let o=this;this.activeCallback=function(r){delete o.activeCallback,delete o.activeCamera,e(l(r)?!1:r)}}let i=this.getCameraOptions(n);if(this.view.headingPitchRoll)t.flyTo(i);else if(this.view.headingPitchRange){let o=new ae(this.view.position);t.flyToBoundingSphere(o,i)}};NV.prototype.stop=function(){l(this.activeCamera)&&this.activeCamera.cancelFlight(),l(this.activeCallback)&&this.activeCallback(!0)};NV.prototype.getCameraOptions=function(e){let t={duration:this.duration};return l(this.activeCallback)&&(t.complete=this.activeCallback),this.flyToMode==="smooth"&&(t.easingFunction=Yr.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),l(e)&&(t=xt(t,e)),t};var FV=NV;function oY(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}oY.prototype.play=function(e){let t=this;this.activeCallback=e,this.timeout=setTimeout(function(){delete t.activeCallback,e(!1)},this.duration*1e3)};oY.prototype.stop=function(){clearTimeout(this.timeout),l(this.activeCallback)&&this.activeCallback(!0)};var BV=oY;var Zpe={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){let t=e.toLowerCase();return t=lT(t),Zpe[t]}},fY;typeof DOMParser<"u"&&(fY=new DOMParser);var Rit=new DV({stripPrefix:!1,email:!1,replaceFn:function(e){return e.urlMatchType==="scheme"||e.urlMatchType==="www"}}),My=32,Hpe=2414016,Gpe=1,Wpe=16093e3,jpe=.1,qpe=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],Ype=["http://www.google.com/kml/ext/2.2"],Oit=["http://www.w3.org/2005/Atom"],Re={kml:qpe,gx:Ype,atom:Oit,kmlgx:qpe.concat(Ype)},dY={Document:a_e,Folder:Zit,Placemark:Qit,NetworkLink:aot,GroundOverlay:oot,PhotoOverlay:u_e,ScreenOverlay:iot,Tour:eot};function Em(e){this._dataSource=e,this._deferred=Ul(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}Object.defineProperties(Em.prototype,{dataSource:{get:function(){return this._dataSource}}});Em.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0};Em.prototype.addPromise=function(e){this._promises.push(e)};Em.prototype.wait=function(){let e=this._deferred;return this._used||e.resolve(),Promise.all([e.promise,Promise.all(this._promises)])};Em.prototype.process=function(){let e=this._stack.length===1;return e&&(this._started=Au._getTimestamp()),this._process(e)};Em.prototype._giveUpTime=function(){if(this._timeoutSet)return;this._timeoutSet=!0,this._timeThreshold=50;let e=this;setTimeout(function(){e._timeoutSet=!1,e._started=Au._getTimestamp(),e._process(!0)},0)};Em.prototype._nextNode=function(){let e=this._stack,t=e[e.length-1],n=t.index,i=t.nodes;if(n!==i.length)return++t.index,i[n]};Em.prototype._pop=function(){let e=this._stack;return e.pop(),e.length===0?(this._deferred.resolve(),!1):!0};Em.prototype._process=function(e){let t=this.dataSource,n=this._stack[this._stack.length-1].processingData,i=this._nextNode();for(;l(i);){let o=dY[i.localName];if(l(o)&&(Re.kml.indexOf(i.namespaceURI)!==-1||Re.gx.indexOf(i.namespaceURI)!==-1)&&(o(t,i,n,this),this._timeoutSet||Au._getTimestamp()>this._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function Mit(e){let t=e.slice(0,Math.min(4,e.size)),n=Ul(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function Lit(e){let t=Ul(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function Qpe(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(l(n)||(n=e.substr(0,e.indexOf("<kml")+4),i=e.substr(n.length)),n+=` ${r}"${t[s]}"`));return l(n)&&(e=n+i),e}function Jpe(e){let t=e.indexOf("xmlns:"),n=e.indexOf(">",t),i,o,r;for(;t!==-1&&t<n;)i=e.slice(t,e.indexOf('"',t)),o=t,t=e.indexOf(i,t+1),t!==-1?(r=e.indexOf('"',e.indexOf('"',t)+1),e=e.slice(0,t-1)+e.slice(r+1,e.length),t=e.indexOf("xmlns:",o-1)):t=e.indexOf("xmlns:",o+1);return e}function Nit(e,t){return Promise.resolve(e.getData(new $k)).then(function(n){n=Qpe(n),n=Jpe(n),t.kml=fY.parseFromString(n,"application/xml")})}function rY(e,t){let n=y(Zpe.detectFromFilename(e.filename),"application/octet-stream");return Promise.resolve(e.getData(new Xk(n))).then(function(i){t[e.filename]=i})}function Tu(e,t,n,i){let o=i.keys,r=new hI.default("."),s=e.querySelectorAll(t);for(let a=0;a<s.length;a++){let c=s[a],u=c.getAttribute(n);if(l(u)){let d=new hI.default(u).absoluteTo(r).toString(),p=o.indexOf(d);if(p!==-1){let g=o[p];c.setAttribute(n,i[g]),t==="a"&&c.getAttribute("download")===null&&c.setAttribute("download",g)}}}}function Cu(e,t,n,i){let o=e.querySelectorAll(t);for(let r=0;r<o.length;r++){let s=o[r],a=s.getAttribute(n),c=hY(a,i);l(c)&&s.setAttribute(n,c.url)}}function e_e(e,t,n){let i=Es(e,"id");i=l(i)&&i.length!==0?i:Gn(),l(n)&&(i=n+i);let o=t.getById(i);return l(o)&&(i=Gn(),l(n)&&(i=n+i)),o=t.add(new sr({id:i})),l(o.kml)||(o.addProperty("kml"),o.kml=new fot),o}function mI(e,t){return e==="absolute"||e==="relativeToGround"||t==="relativeToSeaFloor"}function zV(e,t){if(!l(e))return h.fromDegrees(0,0,0,t);let n=e.match(/[^\s,\n]+/g);if(!l(n))return h.fromDegrees(0,0,0,t);let i=parseFloat(n[0]),o=parseFloat(n[1]),r=parseFloat(n[2]);return i=isNaN(i)?0:i,o=isNaN(o)?0:o,r=isNaN(r)?0:r,h.fromDegrees(i,o,r,t)}function kV(e,t){if(!l(e))return;let n=e.textContent.match(/[^\s\n]+/g);if(!l(n))return;let i=n.length,o=new Array(i),r=0;for(let s=0;s<i;s++)o[r++]=zV(n[s],t);return o}function Ly(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function Es(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Ei(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function Xpe(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagNameNS("*",t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function qd(e,t,n){if(!l(e))return[];let i=[],o=e.childNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function $n(e,t,n){let i=Ei(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Pn(e,t,n){let i=Ei(e,t,n);if(l(i))return i.textContent.trim()}function Yd(e,t,n){let i=Ei(e,t,n);if(l(i)){let o=i.textContent.trim();return o==="1"||/^true$/i.test(o)}}function hY(e,t,n){if(!l(e))return;let i;if(l(n)){e=e.replace(/\\/g,"/");let o=n[e];if(l(o))i=new ve({url:o});else{let r=new hI.default(t.getUrlComponent()),s=new hI.default(e);o=n[s.absoluteTo(r)],l(o)&&(i=new ve({url:o}))}}return l(i)||(i=t.getDerivedResource({url:e})),i}var Dl={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function lY(e,t){if(!l(e)||/^\s*$/gm.test(e))return;e[0]==="#"&&(e=e.substring(1));let n=parseInt(e.substring(0,2),16)/255,i=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255,r=parseInt(e.substring(6,8),16)/255;return t?(r>0?(Dl.maximumRed=r,Dl.red=void 0):(Dl.maximumRed=void 0,Dl.red=0),o>0?(Dl.maximumGreen=o,Dl.green=void 0):(Dl.maximumGreen=void 0,Dl.green=0),i>0?(Dl.maximumBlue=i,Dl.blue=void 0):(Dl.maximumBlue=void 0,Dl.blue=0),Dl.alpha=n,H.fromRandom(Dl)):new H(r,o,i,n)}function ab(e,t,n){let i=Pn(e,t,n);if(l(i))return lY(i,Pn(e,"colorMode",n)==="random")}function Fit(e){let t=Ei(e,"TimeStamp",Re.kmlgx),n=Pn(t,"when",Re.kmlgx);if(!l(t)||!l(n)||n.length===0)return;let i=K.fromIso8601(n),o=new Gr;return o.addInterval(new vn({start:i,stop:He.MAXIMUM_VALUE})),o}function Bit(e){let t=Ei(e,"TimeSpan",Re.kmlgx);if(!l(t))return;let n,i=Ei(t,"begin",Re.kmlgx),o=l(i)?K.fromIso8601(i.textContent):void 0,r=Ei(t,"end",Re.kmlgx),s=l(r)?K.fromIso8601(r.textContent):void 0;if(l(o)&&l(s)){if(K.lessThan(s,o)){let a=o;o=s,s=a}n=new Gr,n.addInterval(new vn({start:o,stop:s}))}else l(o)?(n=new Gr,n.addInterval(new vn({start:o,stop:He.MAXIMUM_VALUE}))):l(s)&&(n=new Gr,n.addInterval(new vn({start:He.MINIMUM_VALUE,stop:s})));return n}function t_e(){let e=new Ac;return e.width=My,e.height=My,e.scaleByDistance=new Vt(Hpe,Gpe,Wpe,jpe),e.pixelOffsetScaleByDistance=new Vt(Hpe,Gpe,Wpe,jpe),e}function mY(){let e=new Oh;return e.outline=!0,e.outlineColor=H.WHITE,e}function n_e(){let e=new Rh;return e.translucencyByDistance=new Vt(3e6,1,5e6,0),e.pixelOffset=new U(17,0),e.horizontalOrigin=gi.LEFT,e.font="16px sans-serif",e.style=Yo.FILL_AND_OUTLINE,e}function pY(e,t,n,i,o){let r=Pn(e,"href",Re.kml);if(!l(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y($n(e,"x",Re.gx),0),u=y($n(e,"y",Re.gx),0);c=Math.min(c/32,7),u=7-Math.min(u/32,7);let f=8*u+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${f}.png`}let s=hY(r,n,i);if(o){let a=Pn(e,"refreshMode",Re.kml),c=Pn(e,"viewRefreshMode",Re.kml);a==="onInterval"||a==="onExpire"?Tt(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&Tt(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let u=y(Pn(e,"viewBoundScale",Re.kml),1),f=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",d=y(Pn(e,"viewFormat",Re.kml),f),p=Pn(e,"httpQuery",Re.kml);l(d)&&s.setQueryParameters(zu(UV(d))),l(p)&&s.setQueryParameters(zu(UV(p)));let g=t._ellipsoid;return gY(s,t.camera,t.canvas,u,t._lastCameraView.bbox,g),s}return s}function kit(e,t,n,i,o){let r=$n(t,"scale",Re.kml),s=$n(t,"heading",Re.kml),a=ab(t,"color",Re.kml),c=Ei(t,"Icon",Re.kml),u=pY(c,e,i,o,!1);l(c)&&!l(u)&&(u=!1);let f=$n(c,"x",Re.gx),d=$n(c,"y",Re.gx),p=$n(c,"w",Re.gx),g=$n(c,"h",Re.gx),m=Ei(t,"hotSpot",Re.kml),x=Ly(m,"x"),b=Ly(m,"y"),T=Es(m,"xunits"),C=Es(m,"yunits"),A=n.billboard;l(A)||(A=t_e(),n.billboard=A),A.image=u,A.scale=r,A.color=a,(l(f)||l(d)||l(p)||l(g))&&(A.imageSubRegion=new qe(f,d,p,g)),l(s)&&s!==0&&(A.rotation=P.toRadians(-s),A.alignedAxis=h.UNIT_Z),r=y(r,1);let S,w;l(x)&&(T==="pixels"?S=-x*r:T==="insetPixels"?S=(x-My)*r:T==="fraction"&&(S=-x*My*r),S+=My*.5*r),l(b)&&(C==="pixels"?w=b*r:C==="insetPixels"?w=(-b+My)*r:C==="fraction"&&(w=b*My*r),w-=My*.5*r),(l(S)||l(w))&&(A.pixelOffset=new U(S,w))}function VV(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r<s;r++){let a=t.childNodes.item(r);if(a.localName==="IconStyle")kit(e,a,n,i,o);else if(a.localName==="LabelStyle"){let c=n.label;l(c)||(c=n_e(),n.label=c),c.scale=y($n(a,"scale",Re.kml),c.scale),c.fillColor=y(ab(a,"color",Re.kml),c.fillColor),c.text=n.name}else if(a.localName==="LineStyle"){let c=n.polyline;l(c)||(c=new Ic,n.polyline=c),c.width=$n(a,"width",Re.kml),c.material=ab(a,"color",Re.kml),l(ab(a,"outerColor",Re.gx))&&Tt("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),l($n(a,"outerWidth",Re.gx))&&Tt("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),l($n(a,"physicalWidth",Re.gx))&&Tt("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),l(Yd(a,"labelVisibility",Re.gx))&&Tt("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")}else if(a.localName==="PolyStyle"){let c=n.polygon;l(c)||(c=mY(),n.polygon=c),c.material=y(ab(a,"color",Re.kml),c.material),c.fill=y(Yd(a,"fill",Re.kml),c.fill),c.outline=y(Yd(a,"outline",Re.kml),c.outline)}else if(a.localName==="BalloonStyle"){let c=y(lY(Pn(a,"bgColor",Re.kml)),H.WHITE),u=y(lY(Pn(a,"textColor",Re.kml)),H.BLACK),f=Pn(a,"text",Re.kml);n.addProperty("balloonStyle"),n.balloonStyle={bgColor:c,textColor:u,text:f}}else if(a.localName==="ListStyle"){let c=Pn(a,"listItemType",Re.kml);(c==="radioFolder"||c==="checkOffOnly")&&Tt(`kml-listStyle-${c}`,`KML - Unsupported ListStyle with listItemType: ${c}`)}}}function Vit(e,t,n,i,o){let r=new sr,s,a=-1,c=t.childNodes,u=c.length;for(let d=0;d<u;d++){let p=c[d];(p.localName==="Style"||p.localName==="StyleMap")&&(a=d)}if(a!==-1){let d=c[a];if(d.localName==="Style")VV(e,d,r,i,o);else{let p=qd(d,"Pair",Re.kml);for(let g=0;g<p.length;g++){let m=p[g],x=Pn(m,"key",Re.kml);if(x==="normal"){let b=Pn(m,"styleUrl",Re.kml);if(l(b))s=n.getById(b),l(s)||(s=n.getById(`#${b}`)),l(s)&&r.merge(s);else{let T=Ei(m,"Style",Re.kml);VV(e,T,r,i,o)}}else Tt(`kml-styleMap-${x}`,`KML - Unsupported StyleMap key: ${x}`)}}}let f=Pn(t,"styleUrl",Re.kml);if(l(f)){let d=f;if(f[0]!=="#"&&f.indexOf("#")!==-1){let p=f.split("#"),g=p[0];d=`${i.getDerivedResource({url:g}).getUrlComponent()}#${p[1]}`}s=n.getById(d),l(s)||(s=n.getById(`#${d}`)),l(s)&&r.merge(s)}return r}function Uit(e,t,n){return t.fetchXML().then(function(i){return i_e(e,i,n,t,!0)})}function i_e(e,t,n,i,o,r){let s,a,c,u,f=Xpe(t,"Style",Re.kml);if(l(f)){let x=f.length;for(s=0;s<x;s++)u=f[s],a=Es(u,"id"),l(a)&&(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),l(n.getById(a))||(c=new sr({id:a}),n.add(c),VV(e,u,c,i,r)))}let d=Xpe(t,"StyleMap",Re.kml);if(l(d)){let x=d.length;for(s=0;s<x;s++){let b=d[s];if(a=Es(b,"id"),l(a)){let T=qd(b,"Pair",Re.kml);for(let C=0;C<T.length;C++){let A=T[C],S=Pn(A,"key",Re.kml);if(S==="normal"){if(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),!l(n.getById(a))){c=n.getOrCreateEntity(a);let w=Pn(A,"styleUrl",Re.kml);if(l(w)){w[0]!=="#"&&(w=`#${w}`),o&&l(i)&&(w=i.getUrlComponent()+w);let D=n.getById(w);l(D)&&c.merge(D)}else u=Ei(A,"Style",Re.kml),VV(e,u,c,i,r)}}else Tt(`kml-styleMap-${S}`,`KML - Unsupported StyleMap key: ${S}`)}}}}let p=[],g=t.getElementsByTagName("styleUrl"),m=g.length;for(s=0;s<m;s++){let x=g[s].textContent;if(x[0]!=="#"){let b=x.split("#");if(b.length===2){let T=b[0],C=i.getDerivedResource({url:T});p.push(Uit(e,C,n))}}}return p}function _Y(e,t,n){let i=new ry(e,t.id,["position"]),o=new r_(t.position);t.polyline=l(n.polyline)?n.polyline.clone():new Ic,t.polyline.positions=new iy([i,o])}function o_e(e,t){return!l(e)&&!l(t)||e==="clampToGround"?Ye.CLAMP_TO_GROUND:e==="relativeToGround"?Ye.RELATIVE_TO_GROUND:e==="absolute"?Ye.NONE:t==="clampToSeaFloor"?(Tt("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),Ye.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(Tt("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),Ye.RELATIVE_TO_GROUND):(l(e)?Tt("kml-altitudeMode-unknown",`KML - Unknown <kml:altitudeMode>:${e}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`):Tt("kml-gx:altitudeMode-unknown",`KML - Unknown <gx:altitudeMode>:${t}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`),Ye.CLAMP_TO_GROUND)}function zit(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new r_(e))}function Hit(e,t,n,i){if(!l(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r<o;r++){let s=e[r];i.scaleToGeodeticSurface(s,s)}return e}function HV(e,t,n,i){let o=t.label;l(o)||(o=l(n.label)?n.label.clone():n_e(),t.label=o),o.text=t.name;let r=t.billboard;l(r)||(r=l(n.billboard)?n.billboard.clone():t_e(),t.billboard=r),l(r.image)?r.image.getValue()||(r.image=void 0):r.image=e._pinBuilder.fromColor(H.YELLOW,64);let s=1;l(r.scale)&&(s=r.scale.getValue(),s!==0?o.pixelOffset=new U(s*16+1,0):(o.pixelOffset=void 0,o.horizontalOrigin=void 0)),l(i)&&e._clampToGround&&(r.heightReference=i,o.heightReference=i)}function r_e(e,t){let n=e.path;l(n)||(n=new Q_,n.leadTime=0,e.path=n);let i=t.polyline;l(i)&&(n.material=i.material,n.width=i.width)}function Git(e,t,n,i,o){let r=Pn(n,"coordinates",Re.kml),s=Pn(n,"altitudeMode",Re.kml),a=Pn(n,"altitudeMode",Re.gx),c=Yd(n,"extrude",Re.kml),u=e._ellipsoid,f=zV(r,u);return i.position=f,HV(e,i,o,o_e(s,a)),c&&mI(s,a)&&_Y(t,i,o),!0}function Kpe(e,t,n,i,o){let r=Ei(n,"coordinates",Re.kml),s=Pn(n,"altitudeMode",Re.kml),a=Pn(n,"altitudeMode",Re.gx),c=Yd(n,"extrude",Re.kml),u=Yd(n,"tessellate",Re.kml),f=mI(s,a),d=$n(n,"drawOrder",Re.gx),p=e._ellipsoid,g=kV(r,p),m=o.polyline;if(f&&c){let x=new J_;i.wall=x,x.positions=g;let b=o.polygon;l(b)&&(x.fill=b.fill,x.material=b.material),x.outline=!0,l(m)?(x.outlineColor=l(m.material)?m.material.color:H.WHITE,x.outlineWidth=m.width):l(b)&&(x.outlineColor=l(b.material)?b.material.color:H.WHITE)}else if(e._clampToGround&&!f&&u){let x=new Ic;x.clampToGround=!0,i.polyline=x,x.positions=g,l(m)?(x.material=l(m.material)?m.material.color.getValue(He.MINIMUM_VALUE):H.WHITE,x.width=y(m.width,1)):(x.material=H.WHITE,x.width=1),x.zIndex=d}else l(d)&&Tt("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!u&&Tt("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),m=l(m)?m.clone():new Ic,i.polyline=m,m.positions=Hit(g,s,a,p),(!u||f)&&(m.arcType=nn.NONE);return!0}function Wit(e,t,n,i,o){let r=Ei(n,"outerBoundaryIs",Re.kml),s=Ei(r,"LinearRing",Re.kml),a=Ei(s,"coordinates",Re.kml),c=e._ellipsoid,u=kV(a,c),f=Yd(n,"extrude",Re.kml),d=Pn(n,"altitudeMode",Re.kml),p=Pn(n,"altitudeMode",Re.gx),g=mI(d,p),m=l(o.polygon)?o.polygon.clone():mY(),x=o.polyline;if(l(x)&&(m.outlineColor=l(x.material)?x.material.color:H.WHITE,m.outlineWidth=x.width),i.polygon=m,g?(m.perPositionHeight=!0,m.extrudedHeight=f?0:void 0):e._clampToGround||(m.height=0),l(u)){let b=new $a(u),T=qd(n,"innerBoundaryIs",Re.kml);for(let C=0;C<T.length;C++){s=qd(T[C],"LinearRing",Re.kml);for(let A=0;A<s.length;A++)a=Ei(s[A],"coordinates",Re.kml),u=kV(a,c),l(u)&&b.holes.push(new $a(u))}m.hierarchy=b}return!0}function jit(e,t,n,i,o){let r=Pn(n,"altitudeMode",Re.kml),s=Pn(n,"altitudeMode",Re.gx),a=qd(n,"coord",Re.gx),c=qd(n,"angles",Re.gx),u=qd(n,"when",Re.kml),f=Yd(n,"extrude",Re.kml),d=mI(r,s),p=e._ellipsoid;c.length>0&&Tt("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,u.length),m=[],x=[];for(let T=0;T<g;T++){let C=zV(a[T].textContent,p);m.push(C),x.push(K.fromIso8601(u[T].textContent))}let b=new Pa;return b.addSamples(x,m),i.position=b,HV(e,i,o,o_e(r,s)),r_e(i,o),i.availability=new Gr,u.length>0&&i.availability.addInterval(new vn({start:x[0],stop:x[x.length-1]})),d&&f&&_Y(t,i,o),!0}function $pe(e,t,n,i,o,r,s,a,c){let u=e[0],f=e[e.length-1],d=new Pa;d.addSamples(e,t),n.intervals.addInterval(new vn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:zit(d,s,a)})),i.addInterval(new vn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new vn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:r}))}function qit(e,t,n,i,o){let r=Yd(n,"interpolate",Re.gx),s=qd(n,"Track",Re.gx),a,c,u,f=!1,d=new cy,p=new Gr,g=new Ia,m=e._ellipsoid;for(let x=0,b=s.length;x<b;x++){let T=s[x],C=qd(T,"when",Re.kml),A=qd(T,"coord",Re.gx),S=Pn(T,"altitudeMode",Re.kml),w=Pn(T,"altitudeMode",Re.gx),D=mI(S,w),O=Yd(T,"extrude",Re.kml),R=Math.min(A.length,C.length),M=[];a=[];for(let L=0;L<R;L++){let _=zV(A[L].textContent,m);M.push(_),a.push(K.fromIso8601(C[L].textContent))}r&&(l(c)&&$pe([c,a[0]],[u,M[0]],g,p,d,!1,"absolute",void 0,!1),c=a[R-1],u=M[M.length-1]),$pe(a,M,g,p,d,D&&O,S,w,!0),f=f||D&&O}return i.availability=p,i.position=g,HV(e,i,o),r_e(i,o),f&&(_Y(t,i,o),i.polyline.show=d),!0}var s_e={Point:Git,LineString:Kpe,LinearRing:Kpe,Polygon:Wit,Track:jit,MultiTrack:qit,MultiGeometry:Yit,Model:Xit};function Yit(e,t,n,i,o,r){let s=n.childNodes,a=!1;for(let c=0,u=s.length;c<u;c++){let f=s.item(c),d=s_e[f.localName];if(l(d)){let p=e_e(f,t,r);p.parent=i,p.name=i.name,p.availability=i.availability,p.description=i.description,p.kml=i.kml,d(e,t,f,p,o)&&(a=!0)}}return a}function Xit(e,t,n,i,o){return Tt("kml-unsupportedGeometry",`KML - Unsupported geometry: ${n.localName}`),!1}function Kit(e,t){let n=Ei(e,"ExtendedData",Re.kml);if(!l(n))return;l(Ei(n,"SchemaData",Re.kml))&&Tt("kml-schemaData","KML - SchemaData is unsupported"),l(Es(n,"xmlns:prefix"))&&Tt("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");let i={},o=qd(n,"Data",Re.kml);if(l(o)){let r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Es(a,"name");l(c)&&(i[c]={displayName:Pn(a,"displayName",Re.kml),value:Pn(a,"value",Re.kml)})}}t.kml.extendedData=i}var fo;typeof document<"u"&&(fo=document.createElement("div"));function $it(e,t,n,i,o){let r,s,a,c=t.kml,u=c.extendedData,f=Pn(e,"description",Re.kml),d=y(t.balloonStyle,n.balloonStyle),p=H.WHITE,g=H.BLACK,m=f;l(d)&&(p=y(d.bgColor,H.WHITE),g=y(d.textColor,H.BLACK),m=y(d.text,f));let x;if(l(m)){if(m=m.replace("$[name]",y(t.name,"")),m=m.replace("$[description]",y(f,"")),m=m.replace("$[address]",y(c.address,"")),m=m.replace("$[Snippet]",y(c.snippet,"")),m=m.replace("$[id]",t.id),m=m.replace("$[geDirections]",""),l(u)){let C=m.match(/\$\[.+?\]/g);if(C!==null)for(r=0;r<C.length;r++){let A=C[r],S=A.substr(2,A.length-3),w=/\/displayName$/.test(S);S=S.replace(/\/displayName$/,""),x=u[S],l(x)&&(x=w?x.displayName:x.value),l(x)&&(m=m.replace(A,y(x,"")))}}}else if(l(u)&&(a=Object.keys(u),a.length>0)){for(m='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',r=0;r<a.length;r++)s=a[r],x=u[s],m+=`<tr><th>${y(x.displayName,s)}</th><td>${y(x.value,"")}</td></tr>`;m+="</tbody></table>"}if(!l(m))return;m=Rit.link(m),fo.innerHTML=m;let b=fo.querySelectorAll("a");for(r=0;r<b.length;r++)b[r].setAttribute("target","_blank");l(i)&&i.keys.length>1&&(Tu(fo,"a","href",i),Tu(fo,"link","href",i),Tu(fo,"area","href",i),Tu(fo,"img","src",i),Tu(fo,"iframe","src",i),Tu(fo,"video","src",i),Tu(fo,"audio","src",i),Tu(fo,"source","src",i),Tu(fo,"track","src",i),Tu(fo,"input","src",i),Tu(fo,"embed","src",i),Tu(fo,"script","src",i),Tu(fo,"video","poster",i)),Cu(fo,"a","href",o),Cu(fo,"link","href",o),Cu(fo,"area","href",o),Cu(fo,"img","src",o),Cu(fo,"iframe","src",o),Cu(fo,"video","src",o),Cu(fo,"audio","src",o),Cu(fo,"source","src",o),Cu(fo,"track","src",o),Cu(fo,"input","src",o),Cu(fo,"embed","src",o),Cu(fo,"script","src",o),Cu(fo,"video","poster",o);let T='<div class="cesium-infoBox-description-lighter" style="';T+="overflow:auto;",T+="word-wrap:break-word;",T+=`background-color:${p.toCssColorString()};`,T+=`color:${g.toCssColorString()};`,T+='">',T+=`${fo.innerHTML}</div>`,fo.innerHTML="",t.description=T}function GV(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=e_e(t,i,n.context),c=a.kml,u=Vit(e,t,n.styleCollection,r,s),f=Pn(t,"name",Re.kml);a.name=f,a.parent=o;let d=Bit(t);l(d)||(d=Fit(t)),a.availability=d,xY(a);function p(A){return A?A.show&&p(A.parent):!0}let g=Yd(t,"visibility",Re.kml);a.show=p(o)&&y(g,!0);let m=Ei(t,"author",Re.atom),x=c.author;x.name=Pn(m,"name",Re.atom),x.uri=Pn(m,"uri",Re.atom),x.email=Pn(m,"email",Re.atom);let b=Ei(t,"link",Re.atom),T=c.link;T.href=Es(b,"href"),T.hreflang=Es(b,"hreflang"),T.rel=Es(b,"rel"),T.type=Es(b,"type"),T.title=Es(b,"title"),T.length=Es(b,"length"),c.address=Pn(t,"address",Re.kml),c.phoneNumber=Pn(t,"phoneNumber",Re.kml),c.snippet=Pn(t,"Snippet",Re.kml),Kit(t,a),$it(t,a,u,s,r);let C=e._ellipsoid;return l_e(t,a,C),c_e(t,a,C),l(Ei(t,"Region",Re.kml))&&Tt("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:u}}function a_e(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function Zit(e,t,n,i){let o=GV(e,t,n),r=We(n);r.parentEntity=o.entity,a_e(e,t,r,i)}function Qit(e,t,n,i){let o=GV(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let u=0,f=c.length;u<f&&!a;u++){let d=c.item(u),p=s_e[d.localName];l(p)&&(p(e,n.entityCollection,d,r,s,r.id),a=!0)}a||(r.merge(s),HV(e,r,s))}var Jit={FlyTo:not,Wait:tot,SoundCue:sY,AnimatedUpdate:sY,TourControl:sY};function eot(e,t,n,i){let o=Pn(t,"name",Re.kml),r=Es(t,"id"),s=new LV(o,r),a=Ei(t,"Playlist",Re.gx);if(a){let c=e._ellipsoid,u=a.childNodes;for(let f=0;f<u.length;f++){let d=u[f];if(d.localName){let p=Jit[d.localName];p?p(s,d,c):console.log(`Unknown KML Tour playlist entry type ${d.localName}`)}}}e._kmlTours.push(s)}function sY(e,t){Tt(`KML Tour unsupported node ${t.localName}`)}function tot(e,t){let n=$n(t,"duration",Re.gx);e.addPlaylistEntry(new BV(n))}function not(e,t,n){let i=$n(t,"duration",Re.gx),o=Pn(t,"flyToMode",Re.gx),r={kml:{}};l_e(t,r,n),c_e(t,r,n);let s=r.kml.lookAt||r.kml.camera,a=new FV(i,o,s);e.addPlaylistEntry(a)}function c_e(e,t,n){let i=Ei(e,"Camera",Re.kml);if(l(i)){let o=y($n(i,"longitude",Re.kml),0),r=y($n(i,"latitude",Re.kml),0),s=y($n(i,"altitude",Re.kml),0),a=y($n(i,"heading",Re.kml),0),c=y($n(i,"tilt",Re.kml),0),u=y($n(i,"roll",Re.kml),0),f=h.fromDegrees(o,r,s,n),d=Ga.fromDegrees(a,c-90,u);t.kml.camera=new RV(f,d)}}function l_e(e,t,n){let i=Ei(e,"LookAt",Re.kml);if(l(i)){let o=y($n(i,"longitude",Re.kml),0),r=y($n(i,"latitude",Re.kml),0),s=y($n(i,"altitude",Re.kml),0),a=$n(i,"heading",Re.kml),c=$n(i,"tilt",Re.kml),u=y($n(i,"range",Re.kml),0);c=P.toRadians(y(c,0)),a=P.toRadians(y(a,0));let f=new zd(a,c-P.PI_OVER_TWO,u),d=h.fromDegrees(o,r,s,n);t.kml.lookAt=new OV(d,f)}}function iot(e,t,n,i){let o=n.screenOverlayContainer;if(!l(o))return;let r=n.sourceResource,s=n.uriResolver,a=Ei(t,"Icon",Re.kml),c=pY(a,e,r,s,!1);if(!l(c))return;let u=document.createElement("img");e._screenOverlays.push(u),u.src=c.url,u.onload=function(){let f=["position: absolute"],d=Ei(t,"screenXY",Re.kml),p=Ei(t,"overlayXY",Re.kml),g=Ei(t,"size",Re.kml),m,x,b,T,C,A;l(g)&&(m=Ly(g,"x"),x=Ly(g,"y"),b=Es(g,"xunits"),T=Es(g,"yunits"),l(m)&&m!==-1&&m!==0&&(b==="fraction"?C=`width: ${Math.floor(m*100)}%`:b==="pixels"&&(C=`width: ${m}px`),f.push(C)),l(x)&&x!==-1&&x!==0&&(T==="fraction"?A=`height: ${Math.floor(x*100)}%`:T==="pixels"&&(A=`height: ${x}px`),f.push(A))),u.style=f.join(";");let S=0,w=u.height;l(p)&&(m=Ly(p,"x"),x=Ly(p,"y"),b=Es(p,"xunits"),T=Es(p,"yunits"),l(m)&&(b==="fraction"?S=m*u.width:(b==="pixels"||b==="insetPixels")&&(S=m)),l(x)&&(T==="fraction"?w=x*u.height:(T==="pixels"||T==="insetPixels")&&(w=x))),l(d)&&(m=Ly(d,"x"),x=Ly(d,"y"),b=Es(d,"xunits"),T=Es(d,"yunits"),l(m)&&(b==="fraction"?C=`left: calc(${Math.floor(m*100)}% - ${S}px)`:b==="pixels"?C=`left: ${m-S}px`:b==="insetPixels"&&(C=`right: ${m-S}px`),f.push(C)),l(x)&&(T==="fraction"?A=`bottom: calc(${Math.floor(x*100)}% - ${w}px)`:T==="pixels"?A=`bottom: ${x-w}px`:T==="insetPixels"&&(A=`top: ${x-w}px`),f.push(A))),u.style=f.join(";")},o.appendChild(u)}function oot(e,t,n,i){let r=GV(e,t,n).entity,s,a=!1,c=e._ellipsoid,u=kV(Ei(t,"LatLonQuad",Re.gx),c),f=$n(t,"drawOrder",Re.kml);if(l(u))s=mY(),s.hierarchy=new $a(u),s.zIndex=f,r.polygon=s,a=!0;else{s=new Mh,s.zIndex=f,r.rectangle=s;let m=Ei(t,"LatLonBox",Re.kml);if(l(m)){let x=$n(m,"west",Re.kml),b=$n(m,"south",Re.kml),T=$n(m,"east",Re.kml),C=$n(m,"north",Re.kml);l(x)&&(x=P.negativePiToPi(P.toRadians(x))),l(b)&&(b=P.clampToLatitudeRange(P.toRadians(b))),l(T)&&(T=P.negativePiToPi(P.toRadians(T))),l(C)&&(C=P.clampToLatitudeRange(P.toRadians(C))),s.coordinates=new se(x,b,T,C);let A=$n(m,"rotation",Re.kml);if(l(A)){let S=P.toRadians(A);s.rotation=S,s.stRotation=S}}}let d=Ei(t,"Icon",Re.kml),p=pY(d,e,n.sourceResource,n.uriResolver,!0);if(l(p)){a&&Tt("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection.");let m=$n(d,"x",Re.gx),x=$n(d,"y",Re.gx),b=$n(d,"w",Re.gx),T=$n(d,"h",Re.gx);(l(m)||l(x)||l(b)||l(T))&&Tt("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),s.material=p,s.material.color=ab(t,"color",Re.kml),s.material.transparent=!0}else s.material=ab(t,"color",Re.kml);let g=Pn(t,"altitudeMode",Re.kml);l(g)?g==="absolute"?(s.height=$n(t,"altitude",Re.kml),s.zIndex=void 0):g!=="clampToGround"&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`):(g=Pn(t,"altitudeMode",Re.gx),g==="relativeToSeaFloor"?(Tt("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),s.height=$n(t,"altitude",Re.kml),s.zIndex=void 0):g==="clampToSeaFloor"?Tt("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):l(g)&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`))}function u_e(e,t,n,i){e._unsupportedNode.raiseEvent(e,n.parentEntity,t,n.entityCollection,n.styleCollection,n.sourceResource,n.uriResolver),Tt(`kml-unsupportedFeature-${t.nodeName}`,`KML - Unsupported feature: ${t.nodeName}`)}var Ny={INTERVAL:0,EXPIRE:1,STOP:2};function UV(e){if(!l(e)||e.length===0)return"";let t=e[0];return(t==="&"||t==="?")&&(e=e.substring(1)),e}var rot=new se,AE=new fe,aY=new U,sot=new h;function gY(e,t,n,i,o,r){function s(u){return u<-P.PI_OVER_TWO?-P.PI_OVER_TWO:u>P.PI_OVER_TWO?P.PI_OVER_TWO:u}function a(u){return u>P.PI?u-P.TWO_PI:u<-P.PI?u+P.TWO_PI:u}let c=dT(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),l(t)&&t._mode!==ne.MORPHING){let u,f;if(o=y(o,rot),l(n)&&(aY.x=n.clientWidth*.5,aY.y=n.clientHeight*.5,u=t.pickEllipsoid(aY,r,sot)),l(u)?f=r.cartesianToCartographic(u,AE):(f=se.center(o,AE),u=r.cartographicToCartesian(f)),l(i)&&!P.equalsEpsilon(i,1,P.EPSILON9)){let T=o.width*i*.5,C=o.height*i*.5;o=new se(a(f.longitude-T),s(f.latitude-C),a(f.longitude+T),s(f.latitude+C))}c=c.replace("[bboxWest]",P.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",P.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",P.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",P.toDegrees(o.north).toString());let d=P.toDegrees(f.longitude).toString(),p=P.toDegrees(f.latitude).toString();c=c.replace("[lookatLon]",d),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",P.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",P.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,u)),c=c.replace("[lookatTerrainLon]",d),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",f.height.toString()),r.cartesianToCartographic(t.positionWC,AE),c=c.replace("[cameraLon]",P.toDegrees(AE.longitude).toString()),c=c.replace("[cameraLat]",P.toDegrees(AE.latitude).toString()),c=c.replace("[cameraAlt]",P.toDegrees(AE.height).toString());let g=t.frustum,m=g.aspectRatio,x="",b="";if(l(m)){let T=P.toDegrees(g.fov);m>1?(x=T,b=T/m):(b=T,x=T*m)}c=c.replace("[horizFov]",x.toString()),c=c.replace("[vertFov]",b.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");l(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(zu(c))}function aot(e,t,n,i){let r=GV(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=Ei(t,"Link",Re.kml);if(l(c)||(c=Ei(t,"Url",Re.kml)),l(c)){let u=Pn(c,"href",Re.kml),f,d;if(l(u)){let p=u;if(u=hY(u,s,n.uriResolver),/^data:/.test(u.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{if(p=u.clone(),f=Pn(c,"viewRefreshMode",Re.kml),f==="onRegion"){Tt("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}d=y(Pn(c,"viewBoundScale",Re.kml),1);let b=f==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",T=y(Pn(c,"viewFormat",Re.kml),b),C=Pn(c,"httpQuery",Re.kml);l(T)&&u.setQueryParameters(zu(UV(T))),l(C)&&u.setQueryParameters(zu(UV(C)));let A=e._ellipsoid;gY(u,e.camera,e.canvas,d,e._lastCameraView.bbox,A)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},m=new sa,x=yY(e,m,u,g).then(function(b){let T=e._entityCollection,C=m.values;T.suspendEvents();for(let w=0;w<C.length;w++){let D=C[w];l(D.parent)||(D.parent=r,xY(D)),T.add(D)}T.resumeEvents();let A=Pn(c,"refreshMode",Re.kml),S=y($n(c,"refreshInterval",Re.kml),0);if(A==="onInterval"&&S>0||A==="onExpire"||f==="onStop"){let w=Ei(b,"NetworkLinkControl",Re.kml),D=l(w),O=K.now(),R={id:Gn(),href:u,cookie:{},lastUpdated:O,updating:!1,entity:r,viewBoundScale:d,needsUpdate:!1,cameraUpdateTime:O},M=0;if(D&&(R.cookie=zu(y(Pn(w,"cookie",Re.kml),"")),M=y($n(w,"minRefreshPeriod",Re.kml),0)),A==="onInterval")D&&(S=Math.max(M,S)),R.refreshMode=Ny.INTERVAL,R.time=S;else if(A==="onExpire"){let L;if(D&&(L=Pn(w,"expires",Re.kml)),l(L))try{let _=K.fromIso8601(L),E=K.secondsDifference(_,O);E>0&&E<M&&K.addSeconds(O,M,_),R.refreshMode=Ny.EXPIRE,R.time=_}catch{Tt("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else Tt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element")}else l(e.camera)?(R.refreshMode=Ny.STOP,R.time=y($n(c,"viewRefreshTime",Re.kml),0)):Tt("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires the `camera` property to be defined.");l(R.refreshMode)&&e._networkLinks.set(R.id,R)}}).catch(function(b){Tt(`An error occured during loading ${u.url}`),e._error.raiseEvent(e,b)});i.addPromise(x)}}}function cot(e,t,n,i){let o=dY[t.localName];return l(o)?o(e,t,n,i):u_e(e,t,n,i)}function uY(e,t,n,i,o,r,s){t.removeAll();let a=n.documentElement,c=a.localName==="Document"?a:Ei(a,"Document",Re.kml),u=Pn(c,"name",Re.kml);l(u)||(u=ny(i.getUrlComponent())),l(e._name)||(e._name=u);let f=new Au._DeferredLoading(e),d=new sa(e);return Promise.all(i_e(e,n,d,i,!1,o)).then(function(){let p=n.documentElement;if(p.localName==="kml"){let m=p.childNodes;for(let x=0;x<m.length;x++){let b=m[x];if(l(dY[b.localName])){p=b;break}}}let g={parentEntity:void 0,entityCollection:t,styleCollection:d,sourceResource:i,uriResolver:o,context:s,screenOverlayContainer:r};return t.suspendEvents(),cot(e,p,g,f),t.resumeEvents(),f.wait().then(function(){return n.documentElement})})}function lot(e,t,n,i,o){let r=on("ThirdParty/Workers/z-worker-pako.js");hE({workerScripts:{deflate:[r,"./pako_deflate.min.js"],inflate:[r,"./pako_inflate.min.js"]}});let s=new lV(new l_(n));return Promise.resolve(s.getEntries()).then(function(a){let c=[],u={},f;for(let d=0;d<a.length;d++){let p=a[d];p.directory||(/\.kml$/i.test(p.filename)&&(!l(f)||!/\//i.test(p.filename))?(l(f)&&c.push(rY(f,u)),f=p):c.push(rY(p,u)))}return l(f)&&c.push(Nit(f,u)),Promise.all(c).then(function(){if(s.close(),!l(u.kml))throw new ce("KMZ file does not contain a KML document.");return u.keys=Object.keys(u),uY(e,t,u.kml,i,u,o)})})}function yY(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=i.sourceUri,r=i.uriResolver,s=i.context,a=i.screenOverlayContainer,c=n;if(typeof n=="string"||n instanceof ve){n=ve.createIfNeeded(n),c=n.fetchBlob(),o=y(o,n.clone());let u=e._resourceCredits,f=n.credits;if(l(f)){let d=f.length;for(let p=0;p<d;p++)u.push(f[p])}}else o=y(o,ve.DEFAULT.clone());return o=ve.createIfNeeded(o),l(a)&&(a=Mn(a)),Promise.resolve(c).then(function(u){return u instanceof Blob?Mit(u).then(function(f){return f?lot(e,t,u,o,a):Lit(u).then(function(d){d=Qpe(d),d=Jpe(d);let p,g;try{p=fY.parseFromString(d,"application/xml")}catch(m){g=m.toString()}if(l(g)||p.body||p.documentElement.tagName==="parsererror"){let m=l(g)?g:p.documentElement.firstChild.nodeValue;throw m||(m=p.body.innerText),new ce(m)}return uY(e,t,p,o,r,a,s)})}):uY(e,t,u,o,r,a,s)}).catch(function(u){return e._error.raiseEvent(e,u),console.log(u),Promise.reject(u)})}function Au(e){e=y(e,y.EMPTY_OBJECT);let t=e.camera,n=e.canvas;this._changed=new me,this._error=new me,this._loading=new me,this._refresh=new me,this._unsupportedNode=new me,this._clock=void 0,this._entityCollection=new sa(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new vy,this._networkLinks=new St,this._entityCluster=new Sf,this.canvas=n,this.camera=t,this._lastCameraView={position:l(t)?h.clone(t.positionWC):void 0,direction:l(t)?h.clone(t.directionWC):void 0,up:l(t)?h.clone(t.upWC):void 0,bbox:l(t)?t.computeViewRectangle():se.clone(se.MAX_VALUE)},this._ellipsoid=y(e.ellipsoid,ee.default);let i=e.credit;typeof i=="string"&&(i=new vt(i)),this._credit=i,this._resourceCredits=[],this._kmlTours=[],this._screenOverlays=[]}Au.load=function(e,t){return t=y(t,y.EMPTY_OBJECT),new Au(t).load(e,t)};Object.defineProperties(Au.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}},kmlTours:{get:function(){return this._kmlTours}}});Au.prototype.load=function(e,t){t=y(t,y.EMPTY_OBJECT),Wr.setLoading(this,!0);let n=this._name;this._name=void 0,this._clampToGround=y(t.clampToGround,!1);let i=this;return yY(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,He.MINIMUM_VALUE),u=K.equals(a,He.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new sm,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=jr.LOOP_STOP,o.clockStep=_o.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Wr.setLoading(i,!1),i}).catch(function(o){return Wr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};Au.prototype.destroy=function(){for(;this._screenOverlays.length>0;)this._screenOverlays.pop().remove()};function xY(e){let t=e.parent;if(l(t)){let n=t.availability;if(l(n)){let i=e.availability;l(i)?i.intersect(n):e.availability=n}}}function uot(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=Ei(r,"NetworkLinkControl",Re.kml),c=l(a),u=0;if(c){if(l(Ei(a,"Update",Re.kml))){Tt("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=zu(y(Pn(a,"cookie",Re.kml),"")),u=y($n(a,"minRefreshPeriod",Re.kml),0)}let f=K.now(),d=t.refreshMode;if(d===Ny.INTERVAL)l(a)&&(t.time=Math.max(u,t.time));else if(d===Ny.EXPIRE){let O;if(l(a)&&(O=Pn(a,"expires",Re.kml)),l(O))try{let R=K.fromIso8601(O),M=K.secondsDifference(R,f);M>0&&M<u&&K.addSeconds(f,u,R),t.time=R}catch{Tt("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),s=!0}else Tt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),s=!0}let p=t.entity,g=e._entityCollection,m=n.values;function x(O){g.remove(O);let R=O._children,M=R.length;for(let L=0;L<M;++L)x(R[L])}g.suspendEvents();let b=g.values.slice(),T;for(T=0;T<b.length;++T){let O=b[T];O.parent===p&&(O.parent=void 0,x(O))}for(g.resumeEvents(),g.suspendEvents(),T=0;T<m.length;T++){let O=m[T];l(O.parent)||(O.parent=p,xY(O)),g.add(O)}g.resumeEvents(),s?i.remove(t.id):t.lastUpdated=f;let C=g.computeAvailability(),A=C.start,S=C.stop,w=K.equals(A,He.MINIMUM_VALUE),D=K.equals(S,He.MAXIMUM_VALUE);if(!w||!D){let O=e._clock;(O.startTime!==A||O.stopTime!==S)&&(O.startTime=A,O.stopTime=S,e._changed.raiseEvent(e))}t.updating=!1,t.needsUpdate=!1,e._refresh.raiseEvent(e,o.getUrlComponent(!0))}}var cY=new St;Au.prototype.update=function(e){let t=this._networkLinks;if(t.length===0)return!0;let n=K.now(),i=this;cY.removeAll();function o(f){let d=f._children,p=d.length;for(let g=0;g<p;++g){let m=d[g];cY.set(m.id,m),o(m)}}let r=!1,s=this._lastCameraView,a=this.camera;l(a)&&!(a.positionWC.equalsEpsilon(s.position,P.EPSILON7)&&a.directionWC.equalsEpsilon(s.direction,P.EPSILON7)&&a.upWC.equalsEpsilon(s.up,P.EPSILON7))&&(s.position=h.clone(a.positionWC),s.direction=h.clone(a.directionWC),s.up=h.clone(a.upWC),s.bbox=a.computeViewRectangle(),r=!0);let c=new St,u=!1;return t.values.forEach(function(f){let d=f.entity;if(!cY.contains(d.id)){if(!f.updating){let p=!1;if(f.refreshMode===Ny.INTERVAL?K.secondsDifference(n,f.lastUpdated)>f.time&&(p=!0):f.refreshMode===Ny.EXPIRE?K.greaterThan(n,f.time)&&(p=!0):f.refreshMode===Ny.STOP&&(r&&(f.needsUpdate=!0,f.cameraUpdateTime=n),f.needsUpdate&&K.secondsDifference(n,f.cameraUpdateTime)>=f.time&&(p=!0)),p){o(d),f.updating=!0;let g=new sa,m=f.href.clone();m.setQueryParameters(f.cookie);let x=y(i._ellipsoid,ee.default);gY(m,i.camera,i.canvas,f.viewBoundScale,s.bbox,x),yY(i,g,m,{context:d.id}).then(uot(i,f,g,c,m)).catch(function(b){let T=`NetworkLink ${f.href} refresh failed: ${b}`;console.log(T),i._error.raiseEvent(i,T)}),u=!0}}c.set(f.id,f)}}),u&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function fot(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}Au._DeferredLoading=Em;Au._getTimestamp=Ti;var WV=Au;function pI(){de.throwInstantiationError()}pI.prototype.update=de.throwInstantiationError;pI.prototype.getBoundingSphere=de.throwInstantiationError;pI.prototype.isDestroyed=de.throwInstantiationError;pI.prototype.destroy=de.throwInstantiationError;var f_e=pI;var dot={SATELLITE:1,OCEANS:2,HILLSHADE:3},Sm=Object.freeze(dot);function Fy(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Ii(this._ellipsoid),l(e.rectangleSouthwestInMeters)&&l(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new U(-i,-i),this._rectangleNortheastInMeters=new U(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new se(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(Fy.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});Fy.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};Fy.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};Fy.prototype.rectangleToNativeRectangle=function(e,t){let n=this._projection,i=n.project(se.southwest(e)),o=n.project(se.northeast(e));return l(t)?(t.west=i.x,t.south=i.y,t.east=o.x,t.north=o.y,t):new se(i.x,i.y,o.x,o.y)};Fy.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.getNumberOfXTilesAtLevel(n),r=this.getNumberOfYTilesAtLevel(n),s=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,a=this._rectangleSouthwestInMeters.x+e*s,c=this._rectangleSouthwestInMeters.x+(e+1)*s,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,f=this._rectangleNortheastInMeters.y-t*u,d=this._rectangleNortheastInMeters.y-(t+1)*u;return l(i)?(i.west=a,i.south=d,i.east=c,i.north=f,i):new se(a,d,c,f)};Fy.prototype.tileXYToRectangle=function(e,t,n,i){let o=this.tileXYToNativeRectangle(e,t,n,i),r=this._projection,s=r.unproject(new U(o.west,o.south)),a=r.unproject(new U(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o};Fy.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!se.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),a=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,d=this._projection.project(e),p=d.x-this._rectangleSouthwestInMeters.x,g=this._rectangleNortheastInMeters.y-d.y,m=p/a|0;m>=o&&(m=o-1);let x=g/u|0;return x>=r&&(x=r-1),l(n)?(n.x=m,n.y=x,n):new U(m,x)};var cs=Fy;var bY,d_e="AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmRQoHkV6yy7n-w7RwBvqWZInYtbyiKcHHbPb4eH54WQnfJ6TQhd3sKcL6dutvEZajLojeHefo1qcBMplg4hb9OtcvtchKPzwRyH1-W_12nt2rhP3xbk8peiMvgIWZ__JYvZ8Wqw-8UWulEjXnpLRjclKf3NYHCTQgaw6Y6labxudMrnBgOODrJ1WdRxek-flc8.AT1_UW44TSnh",EE={};EE.defaultAccessToken=d_e;EE.defaultWorldImageryServer=new ve({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});EE.defaultWorldHillshadeServer=new ve({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});EE.defaultWorldOceanServer=new ve({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});EE.getDefaultTokenCredit=function(e){if(e===d_e){if(!l(bY)){let t='<b> This application is using a default ArcGIS access token. Please assign <i>Cesium.ArcGisMapService.defaultAccessToken</i> with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at <a href="https://developers.arcgis.com/">https://developers.arcgis.com/</a>.</b>';bY=new vt(t,!0)}return bY}};var Lf=EE;function TY(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=ve.createIfNeeded(e.missingImageUrl),n=this;function i(r){l(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=_h(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,u=e.pixelsToCheck;for(let f=0,d=u.length;a&&f<d;++f){let p=u[f],g=p.x*4+p.y*c;s[g+3]>0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}TY.prototype.isReady=function(){return this._isReady};TY.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!l(n)||l(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=_h(e),o=e.width;for(let r=0,s=t.length;r<s;++r){let a=t[r],c=a.x*4+a.y*o;for(let u=0;u<4;++u){let f=c+u;if(i[f]!==n[f])return!1}}return!0};var jV=TY;function CY(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}CY.prototype.configureNameFromProperties=function(e){let t=10,n;for(let i in e)if(e.hasOwnProperty(i)&&e[i]){let o=i.toLowerCase();t>1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}l(n)&&(this.name=e[n])};CY.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='<table class="cesium-infoBox-defaultTable">';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r)&&(typeof r=="object"?i+=`<tr><td>${o}</td><td>${t(r)}</td></tr>`:i+=`<tr><td>${o}</td><td>${r}</td></tr>`)}return i+="</table>",i}this.description=t(e)};var wm=CY;function SE(){de.throwInstantiationError()}Object.defineProperties(SE.prototype,{rectangle:{get:de.throwInstantiationError},tileWidth:{get:de.throwInstantiationError},tileHeight:{get:de.throwInstantiationError},maximumLevel:{get:de.throwInstantiationError},minimumLevel:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},tileDiscardPolicy:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},proxy:{get:de.throwInstantiationError},hasAlphaChannel:{get:de.throwInstantiationError}});SE.prototype.getTileCredits=function(e,t,n){de.throwInstantiationError()};SE.prototype.requestImage=function(e,t,n,i){de.throwInstantiationError()};SE.prototype.pickFeatures=function(e,t,n,i,o){de.throwInstantiationError()};var hot=/\.ktx2$/i;SE.loadImage=function(e,t){let n=ve.createIfNeeded(t);return hot.test(n.url)?zl(n):l(e)&&l(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var Il=SE;function h_e(e){this.useTiles=y(e.usePreCachedTilesIfAvailable,!0);let t=e.ellipsoid;this.tilingScheme=y(e.tilingScheme,new qi({ellipsoid:t})),this.rectangle=y(e.rectangle,this.tilingScheme.rectangle),this.ellipsoid=t;let n=e.credit;typeof n=="string"&&(n=new vt(n)),this.credit=n,this.tileCredits=void 0,this.tileDiscardPolicy=e.tileDiscardPolicy,this.tileWidth=y(e.tileWidth,256),this.tileHeight=y(e.tileHeight,256),this.maximumLevel=e.maximumLevel}h_e.prototype.build=function(e){e._useTiles=this.useTiles,e._tilingScheme=this.tilingScheme,e._rectangle=this.rectangle,e._credit=this.credit,e._tileCredits=this.tileCredits,e._tileDiscardPolicy=this.tileDiscardPolicy,e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,this.useTiles&&!l(this.tileDiscardPolicy)&&(e._tileDiscardPolicy=new jV({missingImageUrl:m_e(e,0,0,this.maximumLevel).url,pixelsToCheck:[new U(0,0),new U(200,20),new U(20,200),new U(80,110),new U(160,130)],disableCheckIfAllPixelsAreTransparent:!0}))};function mot(e,t){let n=e.tileInfo;if(!l(n))t.useTiles=!1;else{if(t.tileWidth=n.rows,t.tileHeight=n.cols,n.spatialReference.wkid===102100||n.spatialReference.wkid===102113)t.tilingScheme=new cs({ellipsoid:t.ellipsoid});else if(e.tileInfo.spatialReference.wkid===4326)t.tilingScheme=new qi({ellipsoid:t.ellipsoid});else{let i=`Tile spatial reference WKID ${e.tileInfo.spatialReference.wkid} is not supported.`;throw new ce(i)}if(t.maximumLevel=e.tileInfo.lods.length-1,l(e.fullExtent)){if(l(e.fullExtent.spatialReference)&&l(e.fullExtent.spatialReference.wkid))if(e.fullExtent.spatialReference.wkid===102100||e.fullExtent.spatialReference.wkid===102113){let i=new Ii,o=e.fullExtent,r=i.unproject(new h(Math.max(o.xmin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(o.ymin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),s=i.unproject(new h(Math.min(o.xmax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(o.ymax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));t.rectangle=new se(r.longitude,r.latitude,s.longitude,s.latitude)}else if(e.fullExtent.spatialReference.wkid===4326)t.rectangle=se.fromDegrees(e.fullExtent.xmin,e.fullExtent.ymin,e.fullExtent.xmax,e.fullExtent.ymax);else{let i=`fullExtent.spatialReference WKID ${e.fullExtent.spatialReference.wkid} is not supported.`;throw new ce(i)}}else t.rectangle=t.tilingScheme.rectangle;t.useTiles=!0}l(e.copyrightText)&&e.copyrightText.length>0&&(l(t.credit)?t.tileCredits=[new vt(e.copyrightText)]:t.credit=new vt(e.copyrightText))}function pot(e,t){let n=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(n+=`: ${t.message}`),new ce(n)}async function _ot(e,t){let n=e.getDerivedResource({queryParameters:{f:"json"}});try{let i=await n.fetchJson();mot(i,t)}catch(i){pot(e,i)}}function vm(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new qi({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers,this._credit=e.credit,this._tileCredits=void 0;let t=e.credit;typeof t=="string"&&(t=new vt(t)),this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new me}vm.fromBasemapType=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n,i,o;switch(e){case Sm.SATELLITE:{n=y(t.token,Lf.defaultAccessToken),i=ve.createIfNeeded(Lf.defaultWorldImageryServer),i.appendForwardSlash();let r=Lf.getDefaultTokenCredit(n);l(r)&&(o=vt.clone(r))}break;case Sm.OCEANS:{n=y(t.token,Lf.defaultAccessToken),i=ve.createIfNeeded(Lf.defaultWorldOceanServer),i.appendForwardSlash();let r=Lf.getDefaultTokenCredit(n);l(r)&&(o=vt.clone(r))}break;case Sm.HILLSHADE:{n=y(t.token,Lf.defaultAccessToken),i=ve.createIfNeeded(Lf.defaultWorldHillshadeServer),i.appendForwardSlash();let r=Lf.getDefaultTokenCredit(n);l(r)&&(o=vt.clone(r))}break;default:}return vm.fromUrl(i,{...t,token:n,credit:o,usePreCachedTilesIfAvailable:!0})};function m_e(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof vi?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(vm.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});vm.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=ve.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&n.setQueryParameters({token:t.token});let i=new vm(t);i._resource=n;let o=new h_e(t);return y(t.usePreCachedTilesIfAvailable,!0)&&await _ot(n,o),o.build(i),i};vm.prototype.getTileCredits=function(e,t,n){return this._tileCredits};vm.prototype.requestImage=function(e,t,n,i){return Il.loadImage(this,m_e(this,e,t,n,i))};vm.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof vi)s=P.toDegrees(i),a=P.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new fe(i,o,0));s=p.x,a=p.y,c="3857"}let u="visible";l(this._layers)&&(u+=`:${this._layers}`);let f={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:u};return this._resource.getDerivedResource({url:"identify",queryParameters:f}).fetchJson().then(function(p){let g=[],m=p.results;if(!l(m))return g;for(let x=0;x<m.length;++x){let b=m[x],T=new wm;if(T.data=b,T.name=b.value,T.properties=b.attributes,T.configureDescriptionFromProperties(b.attributes),b.geometryType==="esriGeometryPoint"&&b.geometry){let C=b.geometry.spatialReference&&b.geometry.spatialReference.wkid?b.geometry.spatialReference.wkid:4326;if(C===4326||C===4283)T.position=fe.fromDegrees(b.geometry.x,b.geometry.y,b.geometry.z);else if(C===102100||C===900913||C===3857){let A=new Ii;T.position=A.unproject(new h(b.geometry.x,b.geometry.y,b.geometry.z))}}g.push(T)}return g})};vm._metadataCache={};var By=vm;var _I={NONE:0,SCENE_LIGHT:1,SUNLIGHT:2};_I.fromGlobeFlags=function(e){return e.enableLighting&&e.dynamicAtmosphereLighting?e.dynamicAtmosphereLightingFromSun?_I.SUNLIGHT:_I.SCENE_LIGHT:_I.NONE};var wE=Object.freeze(_I);function got(){this.lightIntensity=10,this.rayleighCoefficient=new h(55e-7,13e-6,284e-7),this.mieCoefficient=new h(21e-6,21e-6,21e-6),this.rayleighScaleHeight=1e4,this.mieScaleHeight=3200,this.mieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.dynamicLighting=wE.NONE}var qV=got;function cb(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new hi,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new U,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(cb.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let e=this._framebuffers;if(l(e))return e[e.length-1].getColorTexture(0)}}});function p_e(e){let t=e._framebuffers;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function yot(e,t){p_e(e);let n=e._width,i=e._height,o=t.halfFloatingPointTexture?nt.HALF_FLOAT:nt.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),s=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),s[c]=new hi,s[c].update(t,n,i,1,o);let a=s[r-1].getColorTexture(0);e._previousLuminance.update(t,a.width,a.height,1,o),e._framebuffers=s}function __e(e){let t=e._commands;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function xot(e,t){let n;if(t===0)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{let i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function bot(e,t){let n=`uniform sampler2D colorTexture; -in vec2 v_textureCoordinates; -float sampleTexture(vec2 offset) { -`;return e===0?n+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); - return czm_luminance(color.rgb); -`:n+=` return texture(colorTexture, v_textureCoordinates + offset).r; -`,n+=`} +#ifdef FRAGMENT_DEPTH_CHECK + if (sizeInMeters) { + translate /= mpp; + dimensions /= mpp; + imageSize /= mpp; + } -`,n+=`uniform vec2 colorTextureDimensions; -uniform vec2 minMaxLuminance; -uniform sampler2D previousLuminance; -void main() { - float color = 0.0; - float xStep = 1.0 / colorTextureDimensions.x; - float yStep = 1.0 / colorTextureDimensions.y; - int count = 0; - for (int i = 0; i < 3; ++i) { - for (int j = 0; j < 3; ++j) { - vec2 offset; - offset.x = -xStep + float(i) * xStep; - offset.y = -yStep + float(j) * yStep; - if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { - continue; - } - color += sampleTexture(offset); - ++count; - } - } - if (count > 0) { - color /= float(count); - } -`,e===t-1&&(n+=` float previous = texture(previousLuminance, vec2(0.5)).r; - color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); - color = previous + (color - previous) / (60.0 * 1.5); - color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); -`),n+=` out_FragColor = vec4(color); -} -`,n}function Tot(e,t){__e(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(bot(r,i),{framebuffer:n[r].framebuffer,uniformMap:xot(e,r)});e._commands=o}cb.prototype.clear=function(e){let t=this._framebuffers;if(!l(t))return;let n=this._clearCommand;l(n)||(n=this._clearCommand=new ni({color:new H(0,0,0,0),framebuffer:void 0}));let i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)};cb.prototype.update=function(e){let t=e.drawingBufferWidth,n=e.drawingBufferHeight;(t!==this._width||n!==this._height)&&(this._width=t,this._height=n,yot(this,e),Tot(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o};cb.prototype.execute=function(e,t){this._colorTexture=t;let n=this._commands;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o)n[o].execute(e)};cb.prototype.isDestroyed=function(){return!1};cb.prototype.destroy=function(){return p_e(this),__e(this),ue(this)};var YV=cb;function Cot(e){let t,n=e.name,i=e.message;l(n)&&l(i)?t=`${n}: ${i}`:t=e.toString();let o=e.stack;return l(o)&&(t+=` -${o}`),t}var f_=Cot;function XV(e,t,n,i,o,r,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=o,this.timesRetried=y(r,0),this.retry=!1,this.error=s}XV.reportError=function(e,t,n,i,o,r,s,a){let c=e;return l(e)?(c.provider=t,c.message=i,c.x=o,c.y=r,c.level=s,c.retry=!1,c.error=a,++c.timesRetried):c=new XV(t,i,o,r,s,0,a),l(n)&&n.numberOfListeners>0?n.raiseEvent(c):l(t)&&console.log(`An error occurred in "${t.constructor.name}": ${f_(i)}`),c};XV.reportSuccess=function(e){l(e)&&(e.timesRetried=-1)};var vo=XV;var Aot={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},gI=Object.freeze(Aot);function yI(e){}yI.prototype.isReady=function(){return!0};yI.prototype.shouldDiscardImage=function(e){return yI.EMPTY_IMAGE===e};var KV;Object.defineProperties(yI,{EMPTY_IMAGE:{get:function(){return l(KV)||(KV=new Image,KV.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),KV}}});var xI=yI;function g_e(e){this.tileWidth=void 0,this.tileHeight=void 0,this.maximumLevel=void 0,this.imageUrlSubdomains=void 0,this.imageUrlTemplate=void 0,this.attributionList=void 0}g_e.prototype.build=function(e){e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,e._imageUrlSubdomains=this.imageUrlSubdomains,e._imageUrlTemplate=this.imageUrlTemplate;let t=e._attributionList=this.attributionList;t||(t=[]),e._attributionList=t;for(let n=0,i=t.length;n<i;++n){let o=t[n];if(o.credit instanceof vt)break;o.credit=new vt(o.attribution);let r=o.coverageAreas;for(let s=0,a=o.coverageAreas.length;s<a;++s){let c=r[s],u=c.bbox;c.bbox=new se(P.toRadians(u[1]),P.toRadians(u[0]),P.toRadians(u[3]),P.toRadians(u[2]))}}};function Eot(e,t){if(e.resourceSets.length!==1)throw new ce("metadata does not specify one resource in resourceSets");let n=e.resourceSets[0].resources[0];t.tileWidth=n.imageWidth,t.tileHeight=n.imageHeight,t.maximumLevel=n.zoomMax-1,t.imageUrlSubdomains=n.imageUrlSubdomains,t.imageUrlTemplate=n.imageUrl;let i=n.imageryProviders;l(n.imageryProviders)&&(i=n.imageryProviders.filter(o=>o.coverageAreas?.some(r=>l(r.bbox)))),t.attributionList=i}function Sot(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i+=`: ${t.message}`),vo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i,void 0,void 0,void 0,t),new ce(i)}async function wot(e,t,n){let i=e.url,o=Ss._metadataCache[i];l(o)||(o=e.fetchJsonp("jsonp"),Ss._metadataCache[i]=o);try{let r=await o;return Eot(r,t)}catch(r){Sot(e,r,n)}}function Ss(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._mapStyle=y(e.mapStyle,gI.AERIAL),this._mapLayer=e.mapLayer,this._culture=y(e.culture,""),this._key=e.key,this._tileDiscardPolicy=e.tileDiscardPolicy,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new xI),this._proxy=e.proxy,this._credit=new vt(`<a href="https://www.microsoft.com/en-us/maps/product/enduserterms"><img src="${Ss.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new cs({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new me}Object.defineProperties(Ss.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},mapLayer:{get:function(){return this._mapLayer}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return l(this.mapLayer)}}});Ss.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.tileProtocol;l(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=y(t.mapStyle,gI.AERIAL),o=ve.createIfNeeded(e);o.appendForwardSlash();let r={incl:"ImageryProviders",key:t.key,uriScheme:n};l(t.mapLayer)&&(r.mapLayer=t.mapLayer),l(t.culture)&&(r.culture=t.culture);let s=o.getDerivedResource({url:`REST/v1/Imagery/Metadata/${i}`,queryParameters:r}),a=new Ss(t);a._resource=o;let c=new g_e(t);return await wot(s,c),c.build(a),a};var vot=new se;Ss.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,vot);return Pot(this._attributionList,n,i)};Ss.prototype.requestImage=function(e,t,n,i){let o=Il.loadImage(this,Dot(this,e,t,n,i));if(l(o))return o.catch(function(r){return l(r.blob)&&r.blob.size===0?xI.EMPTY_IMAGE:Promise.reject(r)})};Ss.prototype.pickFeatures=function(e,t,n,i,o){};Ss.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;e&r&&(s|=1),t&r&&(s|=2),i+=s}return i};Ss.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];s&1&&(t|=r),s&2&&(n|=r)}return{x:t,y:n,level:i}};Ss._logoUrl=void 0;Object.defineProperties(Ss,{logoUrl:{get:function(){return l(Ss._logoUrl)||(Ss._logoUrl=on("Assets/Images/bing_maps_credit.png")),Ss._logoUrl},set:function(e){Ss._logoUrl=e}}});function Dot(e,t,n,i,o){let r=e._imageUrlTemplate,s=e._imageUrlSubdomains,a=(t+n+i)%s.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:Ss.tileXYToQuadKey(t,n,i),subdomain:s[a],culture:e._culture},queryParameters:{n:"z"}})}var Iot=new se;function Pot(e,t,n){++t;let i=[];for(let o=0,r=e.length;o<r;++o){let s=e[o],a=s.coverageAreas,c=!1;for(let u=0,f=s.coverageAreas.length;!c&&u<f;++u){let d=a[u];if(t>=d.zoomMin&&t<=d.zoomMax){let p=se.intersection(n,d.bbox,Iot);l(p)&&(c=!0)}}c&&i.push(s.credit)}return i}Ss._metadataCache={};var $V=Ss;var Rot=new h(1,1,1);function AY(e){e=y(e,Rot),this._dimensions=h.clone(e)}Object.defineProperties(AY.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var Oot=new h;AY.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,Oot),i=P.randomBetween(-n.x,n.x),o=P.randomBetween(-n.y,n.y),r=P.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var y_e=AY;var ZV=`in vec2 v_textureCoordinates; -const float M_PI = 3.141592653589793; +#if defined(ROTATION) || defined(ALIGNED_AXIS) + v_rotationMatrix = rotationMatrix; +#else + v_rotationMatrix = mat2(1.0, 0.0, 0.0, 1.0); +#endif -float vdcRadicalInverse(int i) -{ - float r; - float base = 2.0; - float value = 0.0; - float invBase = 1.0 / base; - float invBi = invBase; - for (int x = 0; x < 100; x++) + float enableDepthCheck = 0.0; + if (lengthSq < disableDepthTestDistance) { - if (i <= 0) - { - break; - } - r = mod(float(i), base); - value += r * invBi; - invBi *= invBase; - i = int(float(i) * invBase); + enableDepthCheck = 1.0; } - return value; -} -vec2 hammersley2D(int i, int N) -{ - return vec2(float(i) / float(N), vdcRadicalInverse(i)); -} + float dw = floor(clamp(dimensions.x, 0.0, SHIFT_LEFT12)); + float dh = floor(clamp(dimensions.y, 0.0, SHIFT_LEFT12)); -vec3 importanceSampleGGX(vec2 xi, float alphaRoughness, vec3 N) -{ - float alphaRoughnessSquared = alphaRoughness * alphaRoughness; - float phi = 2.0 * M_PI * xi.x; - float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (alphaRoughnessSquared - 1.0) * xi.y)); - float sinTheta = sqrt(1.0 - cosTheta * cosTheta); - vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); - vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); - vec3 tangentX = normalize(cross(upVector, N)); - vec3 tangentY = cross(N, tangentX); - return tangentX * H.x + tangentY * H.y + N * H.z; -} + float iw = floor(clamp(imageSize.x, 0.0, SHIFT_LEFT12)); + float ih = floor(clamp(imageSize.y, 0.0, SHIFT_LEFT12)); -/** - * Estimate the geometric self-shadowing of the microfacets in a surface, - * using the Smith Joint GGX visibility function. - * Note: Vis = G / (4 * NdotL * NdotV) - * see Eric Heitz. 2014. Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs. Journal of Computer Graphics Techniques, 3 - * see Real-Time Rendering. Page 331 to 336. - * see https://google.github.io/filament/Filament.md.html#materialsystem/specularbrdf/geometricshadowing(specularg) - * - * @param {float} alphaRoughness The roughness of the material, expressed as the square of perceptual roughness. - * @param {float} NdotL The cosine of the angle between the surface normal and the direction to the light source. - * @param {float} NdotV The cosine of the angle between the surface normal and the direction to the camera. - */ -float smithVisibilityGGX(float alphaRoughness, float NdotL, float NdotV) -{ - float alphaRoughnessSq = alphaRoughness * alphaRoughness; + v_compressed.x = eyeDepth; + v_compressed.y = applyTranslate * SHIFT_LEFT1 + enableDepthCheck; + v_compressed.z = dw * SHIFT_LEFT12 + dh; + v_compressed.w = iw * SHIFT_LEFT12 + ih; + v_originTextureCoordinateAndTranslate.xy = depthOrigin; + v_originTextureCoordinateAndTranslate.zw = translate; + v_textureCoordinateBounds = textureCoordinateBoundsOrLabelTranslate; - float GGXV = NdotL * sqrt(NdotV * NdotV * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); - float GGXL = NdotV * sqrt(NdotL * NdotL * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); +#endif - float GGX = GGXV + GGXL; // 2.0 if NdotL = NdotV = 1.0 - if (GGX > 0.0) - { - return 0.5 / GGX; // 1/4 if NdotL = NdotV = 1.0 - } - return 0.0; -} +#ifdef SDF + vec4 outlineColor; + float outlineWidth; -vec2 integrateBrdf(float roughness, float NdotV) -{ - vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV); - float A = 0.0; - float B = 0.0; - const int NumSamples = 1024; - float alphaRoughness = roughness * roughness; - for (int i = 0; i < NumSamples; i++) - { - vec2 xi = hammersley2D(i, NumSamples); - vec3 H = importanceSampleGGX(xi, alphaRoughness, vec3(0.0, 0.0, 1.0)); - vec3 L = 2.0 * dot(V, H) * H - V; - float NdotL = clamp(L.z, 0.0, 1.0); - float NdotH = clamp(H.z, 0.0, 1.0); - float VdotH = clamp(dot(V, H), 0.0, 1.0); - if (NdotL > 0.0) - { - float G = smithVisibilityGGX(alphaRoughness, NdotL, NdotV); - float G_Vis = 4.0 * G * VdotH * NdotL / NdotH; - float Fc = pow(1.0 - VdotH, 5.0); - A += (1.0 - Fc) * G_Vis; - B += Fc * G_Vis; - } - } - return vec2(A, B) / float(NumSamples); + temp = sdf.x; + temp = temp * SHIFT_RIGHT8; + outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.r = floor(temp); + + temp = sdf.y; + temp = temp * SHIFT_RIGHT8; + float temp3 = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineWidth = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.a = floor(temp); + outlineColor /= 255.0; + + v_outlineWidth = outlineWidth / 255.0; + v_outlineColor = outlineColor; + v_outlineColor.a *= translucency; +#endif + + v_pickColor = pickColor; + + v_color = color; + v_color.a *= translucency; + v_splitDirection = splitDirection; } +`;function gi(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=kt.clone(n)),l(i)&&(i=kt.clone(i)),l(o)&&(o=kt.clone(o)),l(r)&&(r=Lt.clone(r)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._pixelOffset=U.clone(y(e.pixelOffset,U.ZERO)),this._translate=new U(0,0),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._heightReference=y(e.heightReference,Xe.NONE),this._verticalOrigin=y(e.verticalOrigin,Ln.CENTER),this._horizontalOrigin=y(e.horizontalOrigin,bi.CENTER),this._scale=y(e.scale,1),this._color=z.clone(y(e.color,z.WHITE)),this._rotation=y(e.rotation,0),this._alignedAxis=h.clone(y(e.alignedAxis,h.ZERO)),this._width=e.width,this._height=e.height,this._scaleByDistance=o,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._sizeInMeters=y(e.sizeInMeters,!1),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._id=e.id,this._collection=y(e.collection,t),this._pickId=void 0,this._pickPrimitive=y(e._pickPrimitive,this),this._billboardCollection=t,this._dirty=!1,this._index=-1,this._batchIndex=void 0,this._imageIndex=-1,this._imageIndexPromise=void 0,this._imageId=void 0,this._image=void 0,this._imageSubRegion=void 0,this._imageWidth=void 0,this._imageHeight=void 0,this._labelDimensions=void 0,this._labelHorizontalOrigin=void 0,this._labelTranslate=void 0;let s=e.image,a=e.imageId;l(s)&&(l(a)||(typeof s=="string"?a=s:l(s.src)?a=s.src:a=Gn()),this._imageId=a,this._image=s),l(e.imageSubRegion)&&(this._imageId=a,this._imageSubRegion=e.imageSubRegion),l(this._billboardCollection._textureAtlas)&&this._loadImage(),this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=ne.SCENE3D,this._clusterShow=!0,this._outlineColor=z.clone(y(e.outlineColor,z.BLACK)),this._outlineWidth=y(e.outlineWidth,0),this._updateClamping(),this._splitDirection=y(e.splitDirection,jr.NONE)}var Xse=gi.SHOW_INDEX=0,_B=gi.POSITION_INDEX=1,Qse=gi.PIXEL_OFFSET_INDEX=2,D9e=gi.EYE_OFFSET_INDEX=3,I9e=gi.HORIZONTAL_ORIGIN_INDEX=4,P9e=gi.VERTICAL_ORIGIN_INDEX=5,O9e=gi.SCALE_INDEX=6,gB=gi.IMAGE_INDEX_INDEX=7,Kse=gi.COLOR_INDEX=8,R9e=gi.ROTATION_INDEX=9,M9e=gi.ALIGNED_AXIS_INDEX=10,L9e=gi.SCALE_BY_DISTANCE_INDEX=11,N9e=gi.TRANSLUCENCY_BY_DISTANCE_INDEX=12,F9e=gi.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX=13,B9e=gi.DISTANCE_DISPLAY_CONDITION=14,k9e=gi.DISABLE_DEPTH_DISTANCE=15;gi.TEXTURE_COORDINATE_BOUNDS=16;var Zse=gi.SDF_INDEX=17,V9e=gi.SPLIT_DIRECTION_INDEX=18;gi.NUMBER_OF_PROPERTIES=19;function wo(e,t){let n=e._billboardCollection;l(n)&&(n._updateBillboard(e,t),e._dirty=!0)}Object.defineProperties(gi.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,wo(this,Xse))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),this._updateClamping(),wo(this,_B))}},heightReference:{get:function(){return this._heightReference},set:function(e){let t=this._heightReference;e!==t&&(this._heightReference=e,this._updateClamping(),wo(this,_B))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;U.equals(t,e)||(U.clone(e,t),wo(this,Qse))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;kt.equals(t,e)||(this._scaleByDistance=kt.clone(e,t),wo(this,L9e))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;kt.equals(t,e)||(this._translucencyByDistance=kt.clone(e,t),wo(this,N9e))}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;kt.equals(t,e)||(this._pixelOffsetScaleByDistance=kt.clone(e,t),wo(this,F9e))}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;h.equals(t,e)||(h.clone(e,t),wo(this,D9e))}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,wo(this,I9e))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin!==e&&(this._verticalOrigin=e,wo(this,P9e))}},scale:{get:function(){return this._scale},set:function(e){this._scale!==e&&(this._scale=e,wo(this,O9e))}},color:{get:function(){return this._color},set:function(e){let t=this._color;z.equals(t,e)||(z.clone(e,t),wo(this,Kse))}},rotation:{get:function(){return this._rotation},set:function(e){this._rotation!==e&&(this._rotation=e,wo(this,R9e))}},alignedAxis:{get:function(){return this._alignedAxis},set:function(e){let t=this._alignedAxis;h.equals(t,e)||(h.clone(e,t),wo(this,M9e))}},width:{get:function(){return y(this._width,this._imageWidth)},set:function(e){this._width!==e&&(this._width=e,wo(this,gB))}},height:{get:function(){return y(this._height,this._imageHeight)},set:function(e){this._height!==e&&(this._height=e,wo(this,gB))}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters!==e&&(this._sizeInMeters=e,wo(this,Kse))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Lt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Lt.clone(e,this._distanceDisplayCondition),wo(this,B9e))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,wo(this,k9e))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickPrimitive:{get:function(){return this._pickPrimitive},set:function(e){this._pickPrimitive=e,l(this._pickId)&&(this._pickId.object.primitive=e)}},pickId:{get:function(){return this._pickId}},image:{get:function(){return this._imageId},set:function(e){l(e)?typeof e=="string"?this.setImage(e,e):e instanceof Ae?this.setImage(e.url,e):l(e.src)?this.setImage(e.src,e):this.setImage(Gn(),e):(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=void 0,this._image=void 0,this._imageIndexPromise=void 0,wo(this,gB))}},ready:{get:function(){return this._imageIndex!==-1}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition),wo(this,_B)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,wo(this,Xse))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;z.equals(t,e)||(z.clone(e,t),wo(this,Zse))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,wo(this,Zse))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,wo(this,V9e))}}});gi.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this._pickPrimitive,collection:this._collection,id:this._id})),this._pickId};gi.prototype._updateClamping=function(){gi._updateClamping(this._billboardCollection,this)};var yB=new fe;gi._updateClamping=function(e,t){let n=e._scene;if(!l(n))return;let i=y(n.ellipsoid,ee.default),o=n.frameState.mode,r=o!==t._mode;if(t._mode=o,(t._heightReference===Xe.NONE||r)&&l(t._removeCallbackFunc)&&(t._removeCallbackFunc(),t._removeCallbackFunc=void 0,t._clampedPosition=void 0),t._heightReference===Xe.NONE||!l(t._position))return;l(t._removeCallbackFunc)&&t._removeCallbackFunc();let s=i.cartesianToCartographic(t._position);if(!l(s)){t._actualClampedPosition=void 0;return}function a(u){let f=i.cartographicToCartesian(u,t._clampedPosition);VT(t._heightReference)&&(t._mode===ne.SCENE3D?(u.height+=s.height,i.cartographicToCartesian(u,f)):f.x+=s.height),t._clampedPosition=f}t._removeCallbackFunc=n.updateHeight(s,a,t._heightReference),fe.clone(s,yB);let c=n.getHeight(s,t._heightReference);l(c)&&(yB.height=c),a(yB)};gi.prototype._loadImage=function(){let e=this._billboardCollection._textureAtlas,t=this._imageId,n=this._image,i=this._imageSubRegion,o,r=this;function s(c){if(r._imageId!==t||r._image!==n||!Ye.equals(r._imageSubRegion,i))return;let u=e.textureCoordinates[c];r._imageWidth=e.texture.width*u.width,r._imageHeight=e.texture.height*u.height,r._imageIndex=c,r._ready=!0,r._image=void 0,r._imageIndexPromise=void 0,wo(r,gB);let f=r._billboardCollection._scene;l(f)&&f.frameState.afterRender.push(()=>!0)}if(l(n)&&(o=e.addImage(t,n)),l(i)&&(o=e.addSubRegion(t,i)),this._imageIndexPromise=o,!l(o))return;let a=e.getImageIndex(t);if(l(a)&&!l(i)){s(a);return}o.then(s).catch(function(c){console.error(`Error loading image for billboard: ${c}`),r._imageIndexPromise=void 0})};gi.prototype.setImage=function(e,t){this._imageId!==e&&(this._imageIndex=-1,this._imageSubRegion=void 0,this._imageId=e,this._image=t,l(this._billboardCollection._textureAtlas)&&this._loadImage())};gi.prototype.setImageSubRegion=function(e,t){this._imageId===e&&Ye.equals(this._imageSubRegion,t)||(this._imageIndex=-1,this._imageId=e,this._imageSubRegion=Ye.clone(t),l(this._billboardCollection._textureAtlas)&&this._loadImage())};gi.prototype._setTranslate=function(e){let t=this._translate;U.equals(t,e)||(U.clone(e,t),wo(this,Qse))};gi.prototype._getActualPosition=function(){return l(this._clampedPosition)?this._clampedPosition:this._actualPosition};gi.prototype._setActualPosition=function(e){l(this._clampedPosition)||h.clone(e,this._actualPosition),wo(this,_B)};var $se=new oe;gi._computeActualPosition=function(e,t,n,i){return l(e._clampedPosition)?(n.mode!==e._mode&&e._updateClamping(),e._clampedPosition):n.mode===ne.SCENE3D?t:(F.multiplyByPoint(i,t,$se),Ui.computeActualEllipsoidPosition(n,$se))};var Jse=new h;gi._computeScreenSpacePosition=function(e,t,n,i,o,r){let s=F.multiplyByPoint(e,t,Jse),a=Ui.worldWithEyeOffsetToWindowCoordinates(o,s,n,r);if(l(a))return U.add(a,i,a),a};var pB=new U(0,0);gi.prototype.computeScreenSpacePosition=function(e,t){let n=this._billboardCollection;l(t)||(t=new U),U.clone(this._pixelOffset,pB),U.add(pB,this._translate,pB);let i=n.modelMatrix,o=this._position;if(l(this._clampedPosition)&&(o=this._clampedPosition,e.mode!==ne.SCENE3D)){let s=e.mapProjection,a=s.ellipsoid,c=s.unproject(o,yB);o=a.cartographicToCartesian(c,Jse),i=F.IDENTITY}return gi._computeScreenSpacePosition(i,o,this._eyeOffset,pB,e,t)};gi.getScreenSpaceBoundingBox=function(e,t,n){let i=e.width,o=e.height,r=e.scale;i*=r,o*=r;let s=t.x;e.horizontalOrigin===bi.RIGHT?s-=i:e.horizontalOrigin===bi.CENTER&&(s-=i*.5);let a=t.y;return e.verticalOrigin===Ln.BOTTOM||e.verticalOrigin===Ln.BASELINE?a-=o:e.verticalOrigin===Ln.CENTER&&(a-=o*.5),l(n)||(n=new Ye),n.x=s,n.y=a,n.width=i,n.height=o,n};gi.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&this._imageId===e._imageId&&this._show===e._show&&this._scale===e._scale&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&Ye.equals(this._imageSubRegion,e._imageSubRegion)&&z.equals(this._color,e._color)&&U.equals(this._pixelOffset,e._pixelOffset)&&U.equals(this._translate,e._translate)&&h.equals(this._eyeOffset,e._eyeOffset)&&kt.equals(this._scaleByDistance,e._scaleByDistance)&&kt.equals(this._translucencyByDistance,e._translucencyByDistance)&&kt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&Lt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};gi.prototype._destroy=function(){l(this._customData)&&(this._billboardCollection._scene.globe._surface.removeTileCustomData(this._customData),this._customData=void 0),l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this.image=void 0,this._pickId=this._pickId&&this._pickId.destroy(),this._billboardCollection=void 0};var fo=gi;var U9e={OPAQUE:0,TRANSLUCENT:1,OPAQUE_AND_TRANSLUCENT:2},Do=Object.freeze(U9e);var z9e={FONT_SIZE:48,PADDING:10,RADIUS:8,CUTOFF:.25},ca=Object.freeze(z9e);function Bp(e,t,n,i,o){this.bottomLeft=y(e,U.ZERO),this.topRight=y(t,U.ZERO),this.childNode1=n,this.childNode2=i,this.imageIndex=o}var H9e=new U(16,16);function jg(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.borderWidthInPixels,1),n=y(e.initialSize,H9e);this._context=e.context,this._pixelFormat=y(e.pixelFormat,ot.RGBA),this._borderWidthInPixels=t,this._textureCoordinates=[],this._guid=Gn(),this._idHash={},this._indexHash={},this._initialSize=n,this._root=void 0}Object.defineProperties(jg.prototype,{borderWidthInPixels:{get:function(){return this._borderWidthInPixels}},textureCoordinates:{get:function(){return this._textureCoordinates}},texture:{get:function(){return l(this._texture)||(this._texture=new Pt({context:this._context,width:this._initialSize.x,height:this._initialSize.y,pixelFormat:this._pixelFormat})),this._texture}},numberOfImages:{get:function(){return this._textureCoordinates.length}},guid:{get:function(){return this._guid}}});function G9e(e,t){let n=e._context,i=e.numberOfImages,o=2,r=e._borderWidthInPixels;if(i>0){let s=e._texture.width,a=e._texture.height,c=o*(s+t.width+r),u=o*(a+t.height+r),f=s/c,d=a/u,p=new Bp(new U(s+r,r),new U(c,a)),g=new Bp(new U,new U(c,a),e._root,p),m=new Bp(new U(r,a+r),new U(c,u)),x=new Bp(new U,new U(c,u),g,m);for(let C=0;C<e._textureCoordinates.length;C++){let A=e._textureCoordinates[C];l(A)&&(A.x*=f,A.y*=d,A.width*=f,A.height*=d)}let b=new Pt({context:e._context,width:c,height:u,pixelFormat:e._pixelFormat}),T=new Gr({context:n,colorTextures:[e._texture],destroyAttachments:!1});T._bind(),b.copyFromFramebuffer(0,0,0,0,c,u),T._unBind(),T.destroy(),e._texture=e._texture&&e._texture.destroy(),e._texture=b,e._root=x}else{let s=o*(t.width+2*r),a=o*(t.height+2*r);s<e._initialSize.x&&(s=e._initialSize.x),a<e._initialSize.y&&(a=e._initialSize.y),e._texture=e._texture&&e._texture.destroy(),e._texture=new Pt({context:e._context,width:s,height:a,pixelFormat:e._pixelFormat}),e._root=new Bp(new U(r,r),new U(s,a))}}function xB(e,t,n){if(l(t)){if(!l(t.childNode1)&&!l(t.childNode2)){if(l(t.imageIndex))return;let i=t.topRight.x-t.bottomLeft.x,o=t.topRight.y-t.bottomLeft.y,r=i-n.width,s=o-n.height;if(r<0||s<0)return;if(r===0&&s===0)return t;if(r>s){t.childNode1=new Bp(new U(t.bottomLeft.x,t.bottomLeft.y),new U(t.bottomLeft.x+n.width,t.topRight.y));let a=t.bottomLeft.x+n.width+e._borderWidthInPixels;a<t.topRight.x&&(t.childNode2=new Bp(new U(a,t.bottomLeft.y),new U(t.topRight.x,t.topRight.y)))}else{t.childNode1=new Bp(new U(t.bottomLeft.x,t.bottomLeft.y),new U(t.topRight.x,t.bottomLeft.y+n.height));let a=t.bottomLeft.y+n.height+e._borderWidthInPixels;a<t.topRight.y&&(t.childNode2=new Bp(new U(t.bottomLeft.x,a),new U(t.topRight.x,t.topRight.y)))}return xB(e,t.childNode1,n)}return xB(e,t.childNode1,n)||xB(e,t.childNode2,n)}}function eae(e,t,n){let i=xB(e,e._root,t);if(l(i)){i.imageIndex=n;let o=e._texture.width,r=e._texture.height,s=i.topRight.x-i.bottomLeft.x,a=i.topRight.y-i.bottomLeft.y,c=i.bottomLeft.x/o,u=i.bottomLeft.y/r,f=s/o,d=a/r;e._textureCoordinates[n]=new Ye(c,u,f,d),e._texture.copyFrom({source:t,xOffset:i.bottomLeft.x,yOffset:i.bottomLeft.y})}else G9e(e,t),eae(e,t,n);e._guid=Gn()}function tae(e,t){if(!l(e)||e.isDestroyed())return-1;let n=e.numberOfImages;return eae(e,t,n),n}jg.prototype.getImageIndex=function(e){return this._indexHash[e]};jg.prototype.addImageSync=function(e,t){let n=this._indexHash[e];return l(n)||(n=tae(this,t),this._idHash[e]=Promise.resolve(n),this._indexHash[e]=n),n};jg.prototype.addImage=function(e,t){let n=this._idHash[e];if(l(n))return n;typeof t=="function"?t=t(e):(typeof t=="string"||t instanceof Ae)&&(t=Ae.createIfNeeded(t).fetchImage());let i=this;return n=Promise.resolve(t).then(function(o){let r=tae(i,o);return i._indexHash[e]=r,r}),this._idHash[e]=n,n};jg.prototype.addSubRegion=function(e,t){let n=this._idHash[e];if(!l(n))throw new se(`image with id "${e}" not found in the atlas.`);let i=this;return Promise.resolve(n).then(function(o){if(o===-1)return-1;let r=i._texture.width,s=i._texture.height,a=i._textureCoordinates[o],c=a.x+t.x/r,u=a.y+t.y/s,f=t.width/r,d=t.height/s,p=i._textureCoordinates.push(new Ye(c,u,f,d))-1;return i._indexHash[e]=p,i._guid=Gn(),p})};jg.prototype.isDestroyed=function(){return!1};jg.prototype.destroy=function(){return this._texture=this._texture&&this._texture.destroy(),ue(this)};var Rx=jg;var W9e=fo.SHOW_INDEX,Uw=fo.POSITION_INDEX,nae=fo.PIXEL_OFFSET_INDEX,iae=fo.EYE_OFFSET_INDEX,j9e=fo.HORIZONTAL_ORIGIN_INDEX,q9e=fo.VERTICAL_ORIGIN_INDEX,Y9e=fo.SCALE_INDEX,Vw=fo.IMAGE_INDEX_INDEX,oae=fo.COLOR_INDEX,X9e=fo.ROTATION_INDEX,K9e=fo.ALIGNED_AXIS_INDEX,rae=fo.SCALE_BY_DISTANCE_INDEX,sae=fo.TRANSLUCENCY_BY_DISTANCE_INDEX,aae=fo.PIXEL_OFFSET_SCALE_BY_DISTANCE_INDEX,cae=fo.DISTANCE_DISPLAY_CONDITION,Z9e=fo.DISABLE_DEPTH_DISTANCE,$9e=fo.TEXTURE_COORDINATE_BOUNDS,lae=fo.SDF_INDEX,uae=fo.SPLIT_DIRECTION_INDEX,UW=fo.NUMBER_OF_PROPERTIES,ao,Q9e={positionHighAndScale:0,positionLowAndRotation:1,compressedAttribute0:2,compressedAttribute1:3,compressedAttribute2:4,eyeOffset:5,scaleByDistance:6,pixelOffsetScaleByDistance:7,compressedAttribute3:8,textureCoordinateBoundsOrLabelTranslate:9,a_batchId:10,sdf:11,splitDirection:12},J9e={direction:0,positionHighAndScale:1,positionLowAndRotation:2,compressedAttribute0:3,compressedAttribute1:4,compressedAttribute2:5,eyeOffset:6,scaleByDistance:7,pixelOffsetScaleByDistance:8,compressedAttribute3:9,textureCoordinateBoundsOrLabelTranslate:10,a_batchId:11,sdf:12,splitDirection:13};function gf(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._textureAtlasGUID=void 0,this._destroyTextureAtlas=!0,this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!1,this._shaderRotation=!1,this._compiledShaderRotation=!1,this._shaderAlignedAxis=!1,this._compiledShaderAlignedAxis=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderPixelOffsetScaleByDistance=!1,this._compiledShaderPixelOffsetScaleByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._shaderClampToGround=!1,this._compiledShaderClampToGround=!1,this._propertiesChanged=new Uint32Array(UW),this._maxSize=0,this._maxEyeOffset=0,this._maxScale=1,this._maxPixelOffset=0,this._allHorizontalCenter=!0,this._allVerticalCenter=!0,this._allSizedInMeters=!0,this._baseVolume=new ce,this._baseVolumeWC=new ce,this._baseVolume2D=new ce,this._boundingVolume=new ce,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowTextureAtlas=y(e.debugShowTextureAtlas,!1),this.blendOption=y(e.blendOption,Do.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._buffersUsage=[Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW],this._highlightColor=z.clone(z.WHITE);let t=this;this._uniforms={u_atlas:function(){return t._textureAtlas.texture},u_highlightColor:function(){return t._highlightColor}};let n=this._scene;l(n)&&l(n.terrainProviderChanged)&&(this._removeCallbackFunc=n.terrainProviderChanged.addEventListener(function(){let i=this._billboards,o=i.length;for(let r=0;r<o;++r)l(i[r])&&i[r]._updateClamping()},this))}Object.defineProperties(gf.prototype,{length:{get:function(){return zW(this),this._billboards.length}},textureAtlas:{get:function(){return this._textureAtlas},set:function(e){this._textureAtlas!==e&&(this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._textureAtlas=e,this._createVertexArray=!0)}},destroyTextureAtlas:{get:function(){return this._destroyTextureAtlas},set:function(e){this._destroyTextureAtlas=e}}});function fae(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}gf.prototype.add=function(e){let t=new fo(e,this);return t._index=this._billboards.length,this._billboards.push(t),this._createVertexArray=!0,t};gf.prototype.remove=function(e){return this.contains(e)?(this._billboards[e._index]=void 0,this._billboardsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};gf.prototype.removeAll=function(){fae(this._billboards),this._billboards=[],this._billboardsToUpdate=[],this._billboardsToUpdateIndex=0,this._billboardsRemoved=!1,this._createVertexArray=!0};function zW(e){if(e._billboardsRemoved){e._billboardsRemoved=!1;let t=[],n=e._billboards,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(s._index=r++,t.push(s))}e._billboards=t}}gf.prototype._updateBillboard=function(e,t){e._dirty||(this._billboardsToUpdate[this._billboardsToUpdateIndex++]=e),++this._propertiesChanged[t]};gf.prototype.contains=function(e){return l(e)&&e._billboardCollection===this};gf.prototype.get=function(e){return zW(this),this._billboards[e]};var LW;function eWe(e){let n=e.cache.billboardCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s+0,o[r+4]=s+2,o[r+5]=s+3;return n=bt.createIndexBuffer({context:e,typedArray:o,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferBatched=n,n}function tWe(e){let t=e.cache.billboardCollection_indexBufferInstanced;return l(t)||(t=bt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_indexBufferInstanced=t),t}function nWe(e){let t=e.cache.billboardCollection_vertexBufferInstanced;return l(t)||(t=bt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Ue.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.billboardCollection_vertexBufferInstanced=t),t}gf.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<UW;++i){let o=n[i]===0?Ue.STATIC_DRAW:Ue.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function iWe(e,t,n,i,o,r){let s=[{index:ao.positionHighAndScale,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Uw]},{index:ao.positionLowAndRotation,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Uw]},{index:ao.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[nae]},{index:ao.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[sae]},{index:ao.compressedAttribute2,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[oae]},{index:ao.eyeOffset,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[iae]},{index:ao.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[rae]},{index:ao.pixelOffsetScaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[aae]},{index:ao.compressedAttribute3,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[cae]},{index:ao.textureCoordinateBoundsOrLabelTranslate,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[$9e]},{index:ao.splitDirection,componentsPerAttribute:1,componentDatatype:X.FLOAT,usage:n[uae]}];i&&s.push({index:ao.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:nWe(e)}),l(o)&&s.push({index:ao.a_batchId,componentsPerAttribute:1,componentDatatype:X.FLOAT,bufferUsage:Ue.STATIC_DRAW}),r&&s.push({index:ao.sdf,componentsPerAttribute:2,componentDatatype:X.FLOAT,usage:n[lae]});let a=i?t:4*t;return new Y_(e,s,a,i)}var NW=new Wn;function dae(e,t,n,i,o){let r,s=i[ao.positionHighAndScale],a=i[ao.positionLowAndRotation],c=o._getActualPosition();e._mode===ne.SCENE3D&&(ce.expand(e._baseVolume,c,e._baseVolume),e._boundingVolumeDirty=!0),Wn.fromCartesian(c,NW);let u=o.scale,f=o.rotation;f!==0&&(e._shaderRotation=!0),e._maxScale=Math.max(e._maxScale,u);let d=NW.high,p=NW.low;e._instanced?(r=o._index,s(r,d.x,d.y,d.z,u),a(r,p.x,p.y,p.z,f)):(r=o._index*4,s(r+0,d.x,d.y,d.z,u),s(r+1,d.x,d.y,d.z,u),s(r+2,d.x,d.y,d.z,u),s(r+3,d.x,d.y,d.z,u),a(r+0,p.x,p.y,p.z,f),a(r+1,p.x,p.y,p.z,f),a(r+2,p.x,p.y,p.z,f),a(r+3,p.x,p.y,p.z,f))}var _f=new U,pf=32768,JC=65536,FW=4096,tm=256,oWe=128,rWe=32,sWe=8,hae=4,aWe=1/256,mae=0,pae=2,_ae=3,gae=1;function yae(e,t,n,i,o){let r,s=i[ao.compressedAttribute0],a=o.pixelOffset,c=a.x,u=a.y,f=o._translate,d=f.x,p=f.y;e._maxPixelOffset=Math.max(e._maxPixelOffset,Math.abs(c+d),Math.abs(-u+p));let g=o.horizontalOrigin,m=o._verticalOrigin,x=o.show&&o.clusterShow;o.color.alpha===0&&(x=!1),m===Ln.BASELINE&&(m=Ln.BOTTOM),e._allHorizontalCenter=e._allHorizontalCenter&&g===bi.CENTER,e._allVerticalCenter=e._allVerticalCenter&&m===Ln.CENTER;let b=0,T=0,C=0,A=0,S=o._imageIndex;if(S!==-1){let H=n[S];b=H.x,T=H.y,C=H.width,A=H.height}let v=b+C,D=T+A,R=Math.floor(P.clamp(c,-pf,pf)+pf)*oWe;R+=(g+1)*rWe,R+=(m+1)*sWe,R+=(x?1:0)*hae;let O=Math.floor(P.clamp(u,-pf,pf)+pf)*tm,M=Math.floor(P.clamp(d,-pf,pf)+pf)*tm,N=(P.clamp(p,-pf,pf)+pf)*aWe,_=Math.floor(N),E=Math.floor((N-_)*tm);O+=_,M+=E,_f.x=b,_f.y=T;let w=Fn.compressTextureCoordinates(_f);_f.x=v;let I=Fn.compressTextureCoordinates(_f);_f.y=D;let L=Fn.compressTextureCoordinates(_f);_f.x=b;let B=Fn.compressTextureCoordinates(_f);e._instanced?(r=o._index,s(r,R,O,M,w)):(r=o._index*4,s(r+0,R+mae,O,M,w),s(r+1,R+pae,O,M,I),s(r+2,R+_ae,O,M,L),s(r+3,R+gae,O,M,B))}function xae(e,t,n,i,o){let r,s=i[ao.compressedAttribute1],a=o.alignedAxis;h.equals(a,h.ZERO)||(e._shaderAlignedAxis=!0);let c=0,u=1,f=1,d=1,p=o.translucencyByDistance;l(p)&&(c=p.near,u=p.nearValue,f=p.far,d=p.farValue,(u!==1||d!==1)&&(e._shaderTranslucencyByDistance=!0));let g=0,m=o._imageIndex;m!==-1&&(g=n[m].width);let x=e._textureAtlas.texture.width,b=Math.round(y(o.width,x*g));e._maxSize=Math.max(e._maxSize,b);let T=P.clamp(b,0,JC),C=0;Math.abs(h.magnitudeSquared(a)-1)<P.EPSILON6&&(C=Fn.octEncodeFloat(a)),u=P.clamp(u,0,1),u=u===1?255:u*255|0,T=T*tm+u,d=P.clamp(d,0,1),d=d===1?255:d*255|0,C=C*tm+d,e._instanced?(r=o._index,s(r,T,C,c,f)):(r=o._index*4,s(r+0,T,C,c,f),s(r+1,T,C,c,f),s(r+2,T,C,c,f),s(r+3,T,C,c,f))}function kW(e,t,n,i,o){let r,s=i[ao.compressedAttribute2],a=o.color,c=l(e._batchTable)?z.WHITE:o.getPickId(t.context).color,u=o.sizeInMeters?1:0,f=Math.abs(h.magnitudeSquared(o.alignedAxis)-1)<P.EPSILON6?1:0;e._allSizedInMeters=e._allSizedInMeters&&u===1;let d=0,p=o._imageIndex;p!==-1&&(d=n[p].height);let g=e._textureAtlas.texture.dimensions,m=Math.round(y(o.height,g.y*d));e._maxSize=Math.max(e._maxSize,m);let x=y(o._labelHorizontalOrigin,-2);x+=2;let b=m*hae+x,T=z.floatToByte(a.red),C=z.floatToByte(a.green),A=z.floatToByte(a.blue),S=T*JC+C*tm+A;T=z.floatToByte(c.red),C=z.floatToByte(c.green),A=z.floatToByte(c.blue);let v=T*JC+C*tm+A,D=z.floatToByte(a.alpha)*JC+z.floatToByte(c.alpha)*tm;D+=u*2+f,e._instanced?(r=o._index,s(r,S,v,D,b)):(r=o._index*4,s(r+0,S,v,D,b),s(r+1,S,v,D,b),s(r+2,S,v,D,b),s(r+3,S,v,D,b))}function VW(e,t,n,i,o){let r,s=i[ao.eyeOffset],a=o.eyeOffset,c=a.z;if(o._heightReference!==Xe.NONE&&(c*=1.005),e._maxEyeOffset=Math.max(e._maxEyeOffset,Math.abs(a.x),Math.abs(a.y),Math.abs(c)),e._instanced){let u=0,f=0,d=o._imageIndex;if(d!==-1){let g=n[d];u=g.width,f=g.height}_f.x=u,_f.y=f;let p=Fn.compressTextureCoordinates(_f);r=o._index,s(r,a.x,a.y,c,p)}else r=o._index*4,s(r+0,a.x,a.y,c,0),s(r+1,a.x,a.y,c,0),s(r+2,a.x,a.y,c,0),s(r+3,a.x,a.y,c,0)}function bae(e,t,n,i,o){let r,s=i[ao.scaleByDistance],a=0,c=1,u=1,f=1,d=o.scaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function Tae(e,t,n,i,o){let r,s=i[ao.pixelOffsetScaleByDistance],a=0,c=1,u=1,f=1,d=o.pixelOffsetScaleByDistance;l(d)&&(a=d.near,c=d.nearValue,u=d.far,f=d.farValue,(c!==1||f!==1)&&(e._shaderPixelOffsetScaleByDistance=!0)),e._instanced?(r=o._index,s(r,a,c,u,f)):(r=o._index*4,s(r+0,a,c,u,f),s(r+1,a,c,u,f),s(r+2,a,c,u,f),s(r+3,a,c,u,f))}function Cae(e,t,n,i,o){let r,s=i[ao.compressedAttribute3],a=0,c=Number.MAX_VALUE,u=o.distanceDisplayCondition;l(u)&&(a=u.near,c=u.far,a*=a,c*=c,e._shaderDistanceDisplayCondition=!0);let f=o.disableDepthTestDistance,d=Qu(o.heightReference)&&t.context.depthTexture;l(f)||(f=d?5e3:0),f*=f,(d||f>0)&&(e._shaderDisableDepthDistance=!0,f===Number.POSITIVE_INFINITY&&(f=-1));let p,g;if(l(o._labelDimensions))g=o._labelDimensions.x,p=o._labelDimensions.y;else{let T=0,C=0,A=o._imageIndex;if(A!==-1){let v=n[A];T=v.height,C=v.width}p=Math.round(y(o.height,e._textureAtlas.texture.dimensions.y*T));let S=e._textureAtlas.texture.width;g=Math.round(y(o.width,S*C))}let m=Math.floor(P.clamp(g,0,FW)),x=Math.floor(P.clamp(p,0,FW)),b=m*FW+x;e._instanced?(r=o._index,s(r,a,c,f,b)):(r=o._index*4,s(r+0,a,c,f,b),s(r+1,a,c,f,b),s(r+2,a,c,f,b),s(r+3,a,c,f,b))}function Aae(e,t,n,i,o){if(Qu(o.heightReference)){let m=e._scene,x=t.context,b=t.globeTranslucencyState.translucent,T=l(m.globe)&&m.globe.depthTestAgainstTerrain;e._shaderClampToGround=x.depthTexture&&!b&&T}let r,s=i[ao.textureCoordinateBoundsOrLabelTranslate];if(Bt.maximumVertexTextureImageUnits>0){let m=0,x=0;l(o._labelTranslate)&&(m=o._labelTranslate.x,x=o._labelTranslate.y),e._instanced?(r=o._index,s(r,m,x,0,0)):(r=o._index*4,s(r+0,m,x,0,0),s(r+1,m,x,0,0),s(r+2,m,x,0,0),s(r+3,m,x,0,0));return}let a=0,c=0,u=0,f=0,d=o._imageIndex;if(d!==-1){let m=n[d];a=m.x,c=m.y,u=m.width,f=m.height}let p=a+u,g=c+f;e._instanced?(r=o._index,s(r,a,c,p,g)):(r=o._index*4,s(r+0,a,c,p,g),s(r+1,a,c,p,g),s(r+2,a,c,p,g),s(r+3,a,c,p,g))}function cWe(e,t,n,i,o){if(!l(e._batchTable))return;let r=i[ao.a_batchId],s=o._batchIndex,a;e._instanced?(a=o._index,r(a,s)):(a=o._index*4,r(a+0,s),r(a+1,s),r(a+2,s),r(a+3,s))}function Eae(e,t,n,i,o){if(!e._sdf)return;let r,s=i[ao.sdf],a=o.outlineColor,c=o.outlineWidth,u=z.floatToByte(a.red),f=z.floatToByte(a.green),d=z.floatToByte(a.blue),p=u*JC+f*tm+d,g=c/ca.RADIUS,m=z.floatToByte(a.alpha)*JC+z.floatToByte(g)*tm;e._instanced?(r=o._index,s(r,p,m)):(r=o._index*4,s(r+0,p+mae,m),s(r+1,p+pae,m),s(r+2,p+_ae,m),s(r+3,p+gae,m))}function Sae(e,t,n,i,o){let r=i[ao.splitDirection],s=0,a=o.splitDirection;l(a)&&(s=a);let c;e._instanced?(c=o._index,r(c,s)):(c=o._index*4,r(c+0,s),r(c+1,s),r(c+2,s),r(c+3,s))}function lWe(e,t,n,i,o){dae(e,t,n,i,o),yae(e,t,n,i,o),xae(e,t,n,i,o),kW(e,t,n,i,o),VW(e,t,n,i,o),bae(e,t,n,i,o),Tae(e,t,n,i,o),Cae(e,t,n,i,o),Aae(e,t,n,i,o),cWe(e,t,n,i,o),Eae(e,t,n,i,o),Sae(e,t,n,i,o)}function BW(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=fo._computeActualPosition(u,f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ce.expand(s,d,s))}r&&ce.fromPoints(a,s)}function uWe(e,t){let n=t.mode,i=e._billboards,o=e._billboardsToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&BW(e,i,i.length,t,r,!0)):n===ne.MORPHING?BW(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&BW(e,o,e._billboardsToUpdateIndex,t,r,!1)}function fWe(e,t,n){let i=1;(!e._allSizedInMeters||e._maxPixelOffset!==0)&&(i=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight));let o=i*e._maxScale*e._maxSize*2;e._allHorizontalCenter&&e._allVerticalCenter&&(o*=.5);let r=i*e._maxPixelOffset+e._maxEyeOffset;n.radius+=o+r}function dWe(e,t){let i=t.createViewportQuadCommand(`uniform sampler2D billboard_texture; +in vec2 v_textureCoordinates; +void main() +{ + out_FragColor = texture(billboard_texture, v_textureCoordinates); +} +`,{uniformMap:{billboard_texture:function(){return e._textureAtlas.texture}}});return i.pass=ve.OVERLAY,i}var hWe=[];gf.prototype.update=function(e){if(zW(this),!this.show)return;let t=this._billboards,n=t.length,i=e.context;this._instanced=i.instancedArrays,ao=this._instanced?J9e:Q9e,LW=this._instanced?tWe:eWe;let o=this._textureAtlas;if(!l(o)){o=this._textureAtlas=new Rx({context:i});for(let O=0;O<n;++O)t[O]._loadImage()}let r=o.textureCoordinates;if(r.length===0)return;uWe(this,e),t=this._billboards,n=t.length;let s=this._billboardsToUpdate,a=this._billboardsToUpdateIndex,c=this._propertiesChanged,u=o.guid,f=this._createVertexArray||this._textureAtlasGUID!==u;this._textureAtlasGUID=u;let d,p=e.passes,g=p.pick;if(f||!g&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let O=0;O<UW;++O)c[O]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=iWe(i,n,this._buffersUsage,this._instanced,this._batchTable,this._sdf),d=this._vaf.writers;for(let O=0;O<n;++O){let M=this._billboards[O];M._dirty=!1,lWe(this,e,r,d,M)}this._vaf.commit(LW(i))}this._billboardsToUpdateIndex=0}else if(a>0){let O=hWe;O.length=0,(c[Uw]||c[X9e]||c[Y9e])&&O.push(dae),(c[Vw]||c[nae]||c[j9e]||c[q9e]||c[W9e])&&(O.push(yae),this._instanced&&O.push(VW)),(c[Vw]||c[K9e]||c[sae])&&(O.push(xae),O.push(kW)),(c[Vw]||c[oae])&&O.push(kW),c[iae]&&O.push(VW),c[rae]&&O.push(bae),c[aae]&&O.push(Tae),(c[cae]||c[Z9e]||c[Vw]||c[Uw])&&O.push(Cae),(c[Vw]||c[Uw])&&O.push(Aae),c[lae]&&O.push(Eae),c[uae]&&O.push(Sae);let M=O.length;if(d=this._vaf.writers,a/n>.1){for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let E=0;E<M;++E)O[E](this,e,r,d,_)}this._vaf.commit(LW(i))}else{for(let N=0;N<a;++N){let _=s[N];_._dirty=!1;for(let E=0;E<M;++E)O[E](this,e,r,d,_);this._instanced?this._vaf.subCommit(_._index,1):this._vaf.subCommit(_._index*4,4)}this._vaf.endSubCommits()}this._billboardsToUpdateIndex=0}if(a>n*1.5&&(s.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ce.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let m,x=F.IDENTITY;e.mode===ne.SCENE3D?(x=this.modelMatrix,m=ce.clone(this._baseVolumeWC,this._boundingVolume)):m=ce.clone(this._baseVolume2D,this._boundingVolume),fWe(this,e,m);let b=this._blendOption!==this.blendOption;if(this._blendOption=this.blendOption,b){this._blendOption===Do.OPAQUE||this._blendOption===Do.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=ze.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!0}):this._rsOpaque=void 0;let O=this._blendOption===Do.TRANSLUCENT;this._blendOption===Do.TRANSLUCENT||this._blendOption===Do.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=ze.fromCache({depthTest:{enabled:!0,func:O?te.LEQUAL:te.LESS},depthMask:O,blending:fn.ALPHA_BLEND}):this._rsTranslucent=void 0}this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let T,C,A,S,v,D=Bt.maximumVertexTextureImageUnits>0;if(b||this._shaderRotation!==this._compiledShaderRotation||this._shaderAlignedAxis!==this._compiledShaderAlignedAxis||this._shaderScaleByDistance!==this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance!==this._compiledShaderTranslucencyByDistance||this._shaderPixelOffsetScaleByDistance!==this._compiledShaderPixelOffsetScaleByDistance||this._shaderDistanceDisplayCondition!==this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance||this._shaderClampToGround!==this._compiledShaderClampToGround||this._sdf!==this._compiledSDF){T=mB,C=hB,v=[],l(this._batchTable)&&(v.push("VECTOR_TILE"),T=this._batchTable.getVertexShaderCallback(!1,"a_batchId",void 0)(T),C=this._batchTable.getFragmentShaderCallback(!1,void 0)(C)),A=new He({defines:v,sources:[T]}),this._instanced&&A.defines.push("INSTANCED"),this._shaderRotation&&A.defines.push("ROTATION"),this._shaderAlignedAxis&&A.defines.push("ALIGNED_AXIS"),this._shaderScaleByDistance&&A.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&A.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderPixelOffsetScaleByDistance&&A.defines.push("EYE_DISTANCE_PIXEL_OFFSET"),this._shaderDistanceDisplayCondition&&A.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&A.defines.push("DISABLE_DEPTH_DISTANCE"),this._shaderClampToGround&&(D?A.defines.push("VERTEX_DEPTH_CHECK"):A.defines.push("FRAGMENT_DEPTH_CHECK"));let O=1-ca.CUTOFF;this._sdf&&A.defines.push("SDF");let M=l(this._batchTable)?"VECTOR_TILE":"";this._blendOption===Do.OPAQUE_AND_TRANSLUCENT&&(S=new He({defines:["OPAQUE",M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._sp=tn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:ao}),S=new He({defines:["TRANSLUCENT",M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._spTranslucent=tn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:ao})),this._blendOption===Do.OPAQUE&&(S=new He({defines:[M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._sp=tn.replaceCache({context:i,shaderProgram:this._sp,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:ao})),this._blendOption===Do.TRANSLUCENT&&(S=new He({defines:[M],sources:[C]}),this._shaderClampToGround&&(D?S.defines.push("VERTEX_DEPTH_CHECK"):S.defines.push("FRAGMENT_DEPTH_CHECK")),this._sdf&&(S.defines.push("SDF"),S.defines.push(`SDF_EDGE ${O}`)),this._spTranslucent=tn.replaceCache({context:i,shaderProgram:this._spTranslucent,vertexShaderSource:A,fragmentShaderSource:S,attributeLocations:ao})),this._compiledShaderRotation=this._shaderRotation,this._compiledShaderAlignedAxis=this._shaderAlignedAxis,this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderPixelOffsetScaleByDistance=this._shaderPixelOffsetScaleByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance,this._compiledShaderClampToGround=this._shaderClampToGround,this._compiledSDF=this._sdf}let R=e.commandList;if(p.render||p.pick){let O=this._colorCommands,M=this._blendOption===Do.OPAQUE,N=this._blendOption===Do.OPAQUE_AND_TRANSLUCENT,_=this._vaf.va,E=_.length,w=this._uniforms,I;l(this._batchTable)?(w=this._batchTable.getUniformMapCallback()(w),I=this._batchTable.getPickId()):I="v_pickColor",O.length=E;let L=N?E*2:E;for(let B=0;B<L;++B){let H=O[B];l(H)||(H=O[B]=new tt);let V=M||N&&B%2===0;H.pass=V||!N?ve.OPAQUE:ve.TRANSLUCENT,H.owner=this;let G=N?Math.floor(B/2):B;H.boundingVolume=m,H.modelMatrix=x,H.count=_[G].indicesCount,H.shaderProgram=V?this._sp:this._spTranslucent,H.uniformMap=w,H.vertexArray=_[G].va,H.renderState=V?this._rsOpaque:this._rsTranslucent,H.debugShowBoundingVolume=this.debugShowBoundingVolume,H.pickId=I,this._instanced&&(H.count=6,H.instanceCount=n),R.push(H)}this.debugShowTextureAtlas&&(l(this.debugCommand)||(this.debugCommand=dWe(this,e.context)),R.push(this.debugCommand))}};gf.prototype.isDestroyed=function(){return!1};gf.prototype.destroy=function(){return l(this._removeCallbackFunc)&&(this._removeCallbackFunc(),this._removeCallbackFunc=void 0),this._textureAtlas=this._destroyTextureAtlas&&this._textureAtlas&&this._textureAtlas.destroy(),this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),fae(this._billboards),ue(this)};var yf=gf;function mWe(e,t,n,i,o){return function(){let r=document.createElement("canvas"),s=o+2*i;r.height=r.width=s;let a=r.getContext("2d");return a.clearRect(0,0,s,s),i!==0&&(a.beginPath(),a.arc(s/2,s/2,s/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=n,a.fill(),e<1&&(a.save(),a.globalCompositeOperation="destination-out",a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle="black",a.fill(),a.restore())),a.beginPath(),a.arc(s/2,s/2,o/2,0,2*Math.PI,!0),a.closePath(),a.fillStyle=t,a.fill(),r}}var eA=mWe;function la(e,t,n,i,o){this._content=e,this._billboard=n,this._label=i,this._polyline=o,this._batchId=t,this._billboardImage=void 0,this._billboardColor=void 0,this._billboardOutlineColor=void 0,this._billboardOutlineWidth=void 0,this._billboardSize=void 0,this._pointSize=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._heightOffset=void 0,this._pickIds=new Array(3),tA(this)}var pWe=new fe;Object.defineProperties(la.prototype,{show:{get:function(){return this._label.show},set:function(e){this._label.show=e,this._billboard.show=e,this._polyline.show=e}},color:{get:function(){return this._color},set:function(e){this._color=z.clone(e,this._color),tA(this)}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=e,tA(this)}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=z.clone(e,this._pointOutlineColor),tA(this)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=e,tA(this)}},labelColor:{get:function(){return this._label.fillColor},set:function(e){this._label.fillColor=e,this._polyline.show=this._label.show&&e.alpha>0}},labelOutlineColor:{get:function(){return this._label.outlineColor},set:function(e){this._label.outlineColor=e}},labelOutlineWidth:{get:function(){return this._label.outlineWidth},set:function(e){this._label.outlineWidth=e}},font:{get:function(){return this._label.font},set:function(e){this._label.font=e}},labelStyle:{get:function(){return this._label.style},set:function(e){this._label.style=e}},labelText:{get:function(){return this._label.text},set:function(e){l(e)||(e=""),this._label.text=e}},backgroundColor:{get:function(){return this._label.backgroundColor},set:function(e){this._label.backgroundColor=e}},backgroundPadding:{get:function(){return this._label.backgroundPadding},set:function(e){this._label.backgroundPadding=e}},backgroundEnabled:{get:function(){return this._label.showBackground},set:function(e){this._label.showBackground=e}},scaleByDistance:{get:function(){return this._label.scaleByDistance},set:function(e){this._label.scaleByDistance=e,this._billboard.scaleByDistance=e}},translucencyByDistance:{get:function(){return this._label.translucencyByDistance},set:function(e){this._label.translucencyByDistance=e,this._billboard.translucencyByDistance=e}},distanceDisplayCondition:{get:function(){return this._label.distanceDisplayCondition},set:function(e){this._label.distanceDisplayCondition=e,this._polyline.distanceDisplayCondition=e,this._billboard.distanceDisplayCondition=e}},heightOffset:{get:function(){return this._heightOffset},set:function(e){let t=y(this._heightOffset,0),n=this._content.tileset.ellipsoid,i=n.cartesianToCartographic(this._billboard.position,pWe);i.height=i.height-t+e;let o=n.cartographicToCartesian(i);this._billboard.position=o,this._label.position=this._billboard.position,this._polyline.positions=[this._polyline.positions[0],o],this._heightOffset=e}},anchorLineEnabled:{get:function(){return this._polyline.show},set:function(e){this._polyline.show=e}},anchorLineColor:{get:function(){return this._polyline.material.uniforms.color},set:function(e){this._polyline.material.uniforms.color=z.clone(e,this._polyline.material.uniforms.color)}},image:{get:function(){return this._billboardImage},set:function(e){let t=this._billboardImage!==e;this._billboardImage=e,t&&tA(this)}},disableDepthTestDistance:{get:function(){return this._label.disableDepthTestDistance},set:function(e){this._label.disableDepthTestDistance=e,this._billboard.disableDepthTestDistance=e}},horizontalOrigin:{get:function(){return this._billboard.horizontalOrigin},set:function(e){this._billboard.horizontalOrigin=e}},verticalOrigin:{get:function(){return this._billboard.verticalOrigin},set:function(e){this._billboard.verticalOrigin=e}},labelHorizontalOrigin:{get:function(){return this._label.horizontalOrigin},set:function(e){this._label.horizontalOrigin=e}},labelVerticalOrigin:{get:function(){return this._label.verticalOrigin},set:function(e){this._label.verticalOrigin=e}},content:{get:function(){return this._content}},tileset:{get:function(){return this._content.tileset}},primitive:{get:function(){return this._content.tileset}},pickIds:{get:function(){let e=this._pickIds;return e[0]=this._billboard.pickId,e[1]=this._label.pickId,e[2]=this._polyline.pickId,e}}});la.defaultColor=z.WHITE;la.defaultPointOutlineColor=z.BLACK;la.defaultPointOutlineWidth=0;la.defaultPointSize=8;function tA(e){let t=e._billboard;if(l(e._billboardImage)&&e._billboardImage!==t.image){t.image=e._billboardImage;return}if(l(e._billboardImage))return;let n=y(e._color,la.defaultColor),i=y(e._pointOutlineColor,la.defaultPointOutlineColor),o=y(e._pointOutlineWidth,la.defaultPointOutlineWidth),r=y(e._pointSize,la.defaultPointSize),s=e._billboardColor,a=e._billboardOutlineColor,c=e._billboardOutlineWidth,u=e._billboardSize;if(z.equals(n,s)&&z.equals(i,a)&&o===c&&r===u)return;e._billboardColor=z.clone(n,e._billboardColor),e._billboardOutlineColor=z.clone(i,e._billboardOutlineColor),e._billboardOutlineWidth=o,e._billboardSize=r;let f=n.alpha,d=n.toCssColorString(),p=i.toCssColorString(),g=JSON.stringify([d,r,p,o]);t.setImage(g,eA(f,d,p,o,r))}la.prototype.hasProperty=function(e){return this._content.batchTable.hasProperty(this._batchId,e)};la.prototype.getPropertyIds=function(e){return this._content.batchTable.getPropertyIds(this._batchId,e)};la.prototype.getProperty=function(e){return this._content.batchTable.getProperty(this._batchId,e)};la.prototype.getPropertyInherited=function(e){return oa.getPropertyInherited(this._content,this._batchId,e)};la.prototype.setProperty=function(e,t){this._content.batchTable.setProperty(this._batchId,e,t),this._content.featurePropertiesDirty=!0};la.prototype.isExactClass=function(e){return this._content.batchTable.isExactClass(this._batchId,e)};la.prototype.isClass=function(e){return this._content.batchTable.isClass(this._batchId,e)};la.prototype.getExactClassName=function(){return this._content.batchTable.getExactClassName(this._batchId)};var qg=la;function _We(e,t,n,i,o){let r=e.measureText(t);if(!!/\S/.test(t)){let a=document.defaultView.getComputedStyle(e.canvas).getPropertyValue("font-size").replace("px",""),c=document.createElement("canvas"),u=100,f=r.width+u|0,d=3*a,p=d/2;c.width=f,c.height=d;let g=c.getContext("2d");g.font=n,g.fillStyle="white",g.fillRect(0,0,c.width+1,c.height+1),i&&(g.strokeStyle="black",g.lineWidth=e.lineWidth,g.strokeText(t,u/2,p)),o&&(g.fillStyle="black",g.fillText(t,u/2,p));let m=g.getImageData(0,0,f,d).data,x=m.length,b=f*4,T,C,A,S;for(T=0;T<x;++T)if(m[T]!==255){A=T/b|0;break}for(T=x-1;T>=0;--T)if(m[T]!==255){S=T/b|0;break}let v=-1;for(T=0;T<f&&v===-1;++T)for(C=0;C<d;++C){let D=T*4+C*b;if(m[D]!==255||m[D+1]!==255||m[D+2]!==255||m[D+3]!==255){v=T;break}}return{width:r.width,height:S-A,ascent:p-A,descent:S-p,minx:v-u/2}}return{width:r.width,height:0,ascent:0,descent:0,minx:0}}var Mx;function gWe(e,t){if(e==="")return;t=y(t,y.EMPTY_OBJECT);let n=y(t.font,"10px sans-serif"),i=y(t.stroke,!1),o=y(t.fill,!0),r=y(t.strokeWidth,1),s=y(t.backgroundColor,z.TRANSPARENT),a=y(t.padding,0),c=a*2,u=document.createElement("canvas");u.width=1,u.height=1,u.style.font=n;let f=u.getContext("2d",{willReadFrequently:!0});l(Mx)||(l(f.imageSmoothingEnabled)?Mx="imageSmoothingEnabled":l(f.mozImageSmoothingEnabled)?Mx="mozImageSmoothingEnabled":l(f.webkitImageSmoothingEnabled)?Mx="webkitImageSmoothingEnabled":l(f.msImageSmoothingEnabled)&&(Mx="msImageSmoothingEnabled")),f.font=n,f.lineJoin="round",f.lineWidth=r,f[Mx]=!1,u.style.visibility="hidden",document.body.appendChild(u);let d=_We(f,e,n,i,o);u.dimensions=d,document.body.removeChild(u),u.style.visibility="";let p=-d.minx,g=Math.ceil(d.width)+p+c,m=d.height+c,x=m-d.ascent+a,b=m-x+c;if(u.width=g,u.height=m,f.font=n,f.lineJoin="round",f.lineWidth=r,f[Mx]=!1,s!==z.TRANSPARENT&&(f.fillStyle=s.toCssColorString(),f.fillRect(0,0,u.width,u.height)),i){let T=y(t.strokeColor,z.BLACK);f.strokeStyle=T.toCssColorString(),f.strokeText(e,p+a,b)}if(o){let T=y(t.fillColor,z.WHITE);f.fillStyle=T.toCssColorString(),f.fillText(e,p+a,b)}return u}var nA=gWe;var Fae=Sr(Iae(),1);var xWe={FILL:0,OUTLINE:1,FILL_AND_OUTLINE:2},Zo=Object.freeze(xWe);var Pae={},Oae=0,bWe=256,TWe=new z(.165,.165,.165,.8),CWe=new U(7,5),ls=Object.freeze({LTR:0,RTL:1,WEAK:2,BRACKETS:3});function Lx(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._rebindAllGlyphs=!0}function Hw(e){!e._rebindAllGlyphs&&!e._repositionAllGlyphs&&e._labelCollection._labelsToUpdate.push(e),e._repositionAllGlyphs=!0}function Gw(e,t){return document.defaultView.getComputedStyle(e,null).getPropertyValue(t)}function Mae(e){let t=Pae[e._font];if(!l(t)){let n=document.createElement("div");n.style.position="absolute",n.style.opacity=0,n.style.font=e._font,document.body.appendChild(n);let i=parseFloat(Gw(n,"line-height"));isNaN(i)&&(i=void 0),t={family:Gw(n,"font-family"),size:Gw(n,"font-size").replace("px",""),style:Gw(n,"font-style"),weight:Gw(n,"font-weight"),lineHeight:i},document.body.removeChild(n),Oae<bWe&&(Pae[e._font]=t,Oae++)}e._fontFamily=t.family,e._fontSize=t.size,e._fontStyle=t.style,e._fontWeight=t.weight,e._lineHeight=t.lineHeight}function Td(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.pixelOffsetScaleByDistance,o=e.scaleByDistance,r=e.distanceDisplayCondition;l(n)&&(n=kt.clone(n)),l(i)&&(i=kt.clone(i)),l(o)&&(o=kt.clone(o)),l(r)&&(r=Lt.clone(r)),this._renderedText=void 0,this._text=void 0,this._show=y(e.show,!0),this._font=y(e.font,"30px sans-serif"),this._fillColor=z.clone(y(e.fillColor,z.WHITE)),this._outlineColor=z.clone(y(e.outlineColor,z.BLACK)),this._outlineWidth=y(e.outlineWidth,1),this._showBackground=y(e.showBackground,!1),this._backgroundColor=z.clone(y(e.backgroundColor,TWe)),this._backgroundPadding=U.clone(y(e.backgroundPadding,CWe)),this._style=y(e.style,Zo.FILL),this._verticalOrigin=y(e.verticalOrigin,Ln.BASELINE),this._horizontalOrigin=y(e.horizontalOrigin,bi.LEFT),this._pixelOffset=U.clone(y(e.pixelOffset,U.ZERO)),this._eyeOffset=h.clone(y(e.eyeOffset,h.ZERO)),this._position=h.clone(y(e.position,h.ZERO)),this._scale=y(e.scale,1),this._id=e.id,this._translucencyByDistance=n,this._pixelOffsetScaleByDistance=i,this._scaleByDistance=o,this._heightReference=y(e.heightReference,Xe.NONE),this._distanceDisplayCondition=r,this._disableDepthTestDistance=e.disableDepthTestDistance,this._labelCollection=t,this._glyphs=[],this._backgroundBillboard=void 0,this._batchIndex=void 0,this._rebindAllGlyphs=!0,this._repositionAllGlyphs=!0,this._actualClampedPosition=void 0,this._removeCallbackFunc=void 0,this._mode=void 0,this._clusterShow=!0,this.text=y(e.text,""),this._relativeSize=1,Mae(this),this._updateClamping()}Object.defineProperties(Td.prototype,{show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.show=e)}let n=this._backgroundBillboard;l(n)&&(n.show=e)}}},position:{get:function(){return this._position},set:function(e){let t=this._position;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o].billboard;l(s)&&(s.position=e)}let i=this._backgroundBillboard;l(i)&&(i.position=e),this._updateClamping()}}},heightReference:{get:function(){return this._heightReference},set:function(e){if(e!==this._heightReference){this._heightReference=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i].billboard;l(r)&&(r.heightReference=e)}let n=this._backgroundBillboard;l(n)&&(n.heightReference=e),Hw(this),this._updateClamping()}}},text:{get:function(){return this._text},set:function(e){if(this._text!==e){this._text=e;let t=Td.filterUnsupportedCharacters(e);this._renderedText=Td.enableRightToLeftDetection?DWe(t):t,Lx(this)}}},font:{get:function(){return this._font},set:function(e){this._font!==e&&(this._font=e,Lx(this),Mae(this))}},fillColor:{get:function(){return this._fillColor},set:function(e){let t=this._fillColor;z.equals(t,e)||(z.clone(e,t),Lx(this))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;z.equals(t,e)||(z.clone(e,t),Lx(this))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,Lx(this))}},showBackground:{get:function(){return this._showBackground},set:function(e){this._showBackground!==e&&(this._showBackground=e,Lx(this))}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){let t=this._backgroundColor;if(!z.equals(t,e)){z.clone(e,t);let n=this._backgroundBillboard;l(n)&&(n.color=t)}}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){let t=this._backgroundPadding;U.equals(t,e)||(U.clone(e,t),Hw(this))}},style:{get:function(){return this._style},set:function(e){this._style!==e&&(this._style=e,Lx(this))}},pixelOffset:{get:function(){return this._pixelOffset},set:function(e){let t=this._pixelOffset;if(!U.equals(t,e)){U.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffset=e)}}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;if(!kt.equals(t,e)){this._translucencyByDistance=kt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.translucencyByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.translucencyByDistance=e)}}},pixelOffsetScaleByDistance:{get:function(){return this._pixelOffsetScaleByDistance},set:function(e){let t=this._pixelOffsetScaleByDistance;if(!kt.equals(t,e)){this._pixelOffsetScaleByDistance=kt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.pixelOffsetScaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.pixelOffsetScaleByDistance=e)}}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;if(!kt.equals(t,e)){this._scaleByDistance=kt.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.scaleByDistance=e)}let i=this._backgroundBillboard;l(i)&&(i.scaleByDistance=e)}}},eyeOffset:{get:function(){return this._eyeOffset},set:function(e){let t=this._eyeOffset;if(!h.equals(t,e)){h.clone(e,t);let n=this._glyphs;for(let o=0,r=n.length;o<r;o++){let s=n[o];l(s.billboard)&&(s.billboard.eyeOffset=e)}let i=this._backgroundBillboard;l(i)&&(i.eyeOffset=e)}}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin!==e&&(this._horizontalOrigin=e,Hw(this))}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){if(this._verticalOrigin!==e){this._verticalOrigin=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.verticalOrigin=e)}let n=this._backgroundBillboard;l(n)&&(n.verticalOrigin=e),Hw(this)}}},scale:{get:function(){return this._scale},set:function(e){if(this._scale!==e){this._scale=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.scale=e*this._relativeSize)}let n=this._backgroundBillboard;l(n)&&(n.scale=e*this._relativeSize),Hw(this)}}},totalScale:{get:function(){return this._scale*this._relativeSize}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){if(!Lt.equals(e,this._distanceDisplayCondition)){this._distanceDisplayCondition=Lt.clone(e,this._distanceDisplayCondition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.distanceDisplayCondition=e)}let n=this._backgroundBillboard;l(n)&&(n.distanceDisplayCondition=e)}}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){if(this._disableDepthTestDistance!==e){this._disableDepthTestDistance=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.disableDepthTestDistance=e)}let n=this._backgroundBillboard;l(n)&&(n.disableDepthTestDistance=e)}}},id:{get:function(){return this._id},set:function(e){if(this._id!==e){this._id=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.id=e)}let n=this._backgroundBillboard;l(n)&&(n.id=e)}}},pickId:{get:function(){if(!(this._glyphs.length===0||!l(this._glyphs[0].billboard)))return this._glyphs[0].billboard.pickId}},_clampedPosition:{get:function(){return this._actualClampedPosition},set:function(e){this._actualClampedPosition=h.clone(e,this._actualClampedPosition);let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard._clampedPosition=e)}let n=this._backgroundBillboard;l(n)&&(n._clampedPosition=e)}},clusterShow:{get:function(){return this._clusterShow},set:function(e){if(this._clusterShow!==e){this._clusterShow=e;let t=this._glyphs;for(let i=0,o=t.length;i<o;i++){let r=t[i];l(r.billboard)&&(r.billboard.clusterShow=e)}let n=this._backgroundBillboard;l(n)&&(n.clusterShow=e)}}}});Td.prototype._updateClamping=function(){fo._updateClamping(this._labelCollection,this)};Td.prototype.computeScreenSpacePosition=function(e,t){l(t)||(t=new U);let i=this._labelCollection.modelMatrix,o=l(this._actualClampedPosition)?this._actualClampedPosition:this._position;return fo._computeScreenSpacePosition(i,o,this._eyeOffset,this._pixelOffset,e,t)};Td.getScreenSpaceBoundingBox=function(e,t,n){let i=0,o=0,r=0,s=0,a=e.totalScale,c=e._backgroundBillboard;if(l(c))i=t.x+c._translate.x,o=t.y-c._translate.y,r=c.width*a,s=c.height*a,e.verticalOrigin===Ln.BOTTOM||e.verticalOrigin===Ln.BASELINE?o-=s:e.verticalOrigin===Ln.CENTER&&(o-=s*.5);else{i=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;let u=0,f=0,d=e._glyphs,p=d.length;for(let g=0;g<p;++g){let m=d[g],x=m.billboard;if(!l(x))continue;let b=t.x+x._translate.x,T=t.y-x._translate.y,C=m.dimensions.width*a,A=m.dimensions.height*a;e.verticalOrigin===Ln.BOTTOM||e.verticalOrigin===Ln.BASELINE?T-=A:e.verticalOrigin===Ln.CENTER&&(T-=A*.5),e._verticalOrigin===Ln.TOP?T+=ca.PADDING*a:(e._verticalOrigin===Ln.BOTTOM||e._verticalOrigin===Ln.BASELINE)&&(T-=ca.PADDING*a),i=Math.min(i,b),o=Math.min(o,T),u=Math.max(u,b+C),f=Math.max(f,T+A)}r=u-i,s=f-o}return l(n)||(n=new Ye),n.x=i,n.y=o,n.width=r,n.height=s,n};Td.filterUnsupportedCharacters=function(e){let t=new RegExp(/[\u0000-\u0008\u000E-\u001F\u00ad\u202a-\u206f\u200b-\u200f]/,"g");return e.replace(t,"")};Td.prototype.equals=function(e){return this===e||l(e)&&this._show===e._show&&this._scale===e._scale&&this._outlineWidth===e._outlineWidth&&this._showBackground===e._showBackground&&this._style===e._style&&this._verticalOrigin===e._verticalOrigin&&this._horizontalOrigin===e._horizontalOrigin&&this._heightReference===e._heightReference&&this._renderedText===e._renderedText&&this._font===e._font&&h.equals(this._position,e._position)&&z.equals(this._fillColor,e._fillColor)&&z.equals(this._outlineColor,e._outlineColor)&&z.equals(this._backgroundColor,e._backgroundColor)&&U.equals(this._backgroundPadding,e._backgroundPadding)&&U.equals(this._pixelOffset,e._pixelOffset)&&h.equals(this._eyeOffset,e._eyeOffset)&&kt.equals(this._translucencyByDistance,e._translucencyByDistance)&&kt.equals(this._pixelOffsetScaleByDistance,e._pixelOffsetScaleByDistance)&&kt.equals(this._scaleByDistance,e._scaleByDistance)&&Lt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._id===e._id};Td.prototype.isDestroyed=function(){return!1};Td.enableRightToLeftDetection=!1;function AWe(e,t){let n=/[a-zA-Z0-9]/,i=/[()[\]{}<>]/,o=[],r="",s=ls.LTR,a="",c=e.length;for(let u=0;u<c;++u){let f=e.charAt(u);t.test(f)?a=ls.RTL:n.test(f)?a=ls.LTR:i.test(f)?a=ls.BRACKETS:a=ls.WEAK,u===0&&(s=a),s===a&&a!==ls.BRACKETS?r+=f:(r!==""&&o.push({Type:s,Word:r}),s=a,r=f)}return o.push({Type:a,Word:r}),o}function EWe(e){return e.split("").reverse().join("")}function Ww(e,t,n){return e.slice(0,t)+n+e.slice(t)}function SWe(e){switch(e){case"(":return")";case")":return"(";case"[":return"]";case"]":return"[";case"{":return"}";case"}":return"{";case"<":return">";case">":return"<"}}var vWe="\u05D0-\u05EA",wWe="\u0600-\u06FF\u0750-\u077F\u08A0-\u08FF",Rae=new RegExp(`[${vWe}${wWe}]`);function DWe(e){let t=e.split(` +`),n="";for(let i=0;i<t.length;i++){let o=t[i],r=Rae.test(o.charAt(0)),s=AWe(o,Rae),a=0,c="";for(let u=0;u<s.length;++u){let f=s[u],d=f.Type===ls.BRACKETS?SWe(f.Word):EWe(f.Word);r?f.Type===ls.RTL?(c=d+c,a=0):f.Type===ls.LTR?(c=Ww(c,a,f.Word),a+=f.Word.length):(f.Type===ls.WEAK||f.Type===ls.BRACKETS)&&(f.Type===ls.WEAK&&s[u-1].Type===ls.BRACKETS?c=d+c:s[u-1].Type===ls.RTL?(c=d+c,a=0):s.length>u+1?s[u+1].Type===ls.RTL?(c=d+c,a=0):(c=Ww(c,a,f.Word),a+=f.Word.length):c=Ww(c,0,d)):f.Type===ls.RTL?c=Ww(c,a,d):f.Type===ls.LTR?(c+=f.Word,a=c.length):(f.Type===ls.WEAK||f.Type===ls.BRACKETS)&&(u>0&&s[u-1].Type===ls.RTL?s.length>u+1?s[u+1].Type===ls.RTL?c=Ww(c,a,d):(c+=f.Word,a=c.length):c+=f.Word:(c+=f.Word,a=c.length))}n+=c,i<t.length-1&&(n+=` +`)}return n}var Nx=Td;var Bae=Sr(Lae(),1);function PWe(){this.textureInfo=void 0,this.dimensions=void 0,this.billboard=void 0}function OWe(e,t,n){this.labelCollection=e,this.index=t,this.dimensions=n}var RWe=1.2,kae="ID_WHITE_PIXEL",HW=new U(4,4),MWe=new Ye(1,1,1,1);function LWe(e){let t=document.createElement("canvas");t.width=HW.x,t.height=HW.y;let n=t.getContext("2d");return n.fillStyle="#fff",n.fillRect(0,0,t.width,t.height),e.addImage(kae,t)}var xf={};function NWe(e,t,n,i,o,r,s){return xf.font=t,xf.fillColor=n,xf.strokeColor=i,xf.strokeWidth=o,xf.padding=ca.PADDING,s===Ln.CENTER?xf.textBaseline="middle":s===Ln.TOP?xf.textBaseline="top":xf.textBaseline="bottom",xf.fill=r===Zo.FILL||r===Zo.FILL_AND_OUTLINE,xf.stroke=r===Zo.OUTLINE||r===Zo.FILL_AND_OUTLINE,xf.backgroundColor=z.BLACK,nA(e,xf)}function GW(e,t){t.textureInfo=void 0,t.dimensions=void 0;let n=t.billboard;l(n)&&(n.show=!1,n.image=void 0,l(n._removeCallbackFunc)&&(n._removeCallbackFunc(),n._removeCallbackFunc=void 0),e._spareBillboards.push(n),t.billboard=void 0)}function FWe(e,t,n,i){i.index=e.addImageSync(t,n)}var BWe=new Bae.default;function kWe(e,t){let n=t._renderedText,i=BWe.splitGraphemes(n),o=i.length,r=t._glyphs,s=r.length,a,c,u;if(t._relativeSize=t._fontSize/ca.FONT_SIZE,o<s)for(c=o;c<s;++c)GW(e,r[c]);r.length=o;let f=t.show&&t._showBackground&&n.split(` +`).join("").length>0,d=t._backgroundBillboard,p=e._backgroundBillboardCollection;f?(l(d)||(d=p.add({collection:e,image:kae,imageSubRegion:MWe}),t._backgroundBillboard=d),d.color=t._backgroundColor,d.show=t._show,d.position=t._position,d.eyeOffset=t._eyeOffset,d.pixelOffset=t._pixelOffset,d.horizontalOrigin=bi.LEFT,d.verticalOrigin=t._verticalOrigin,d.heightReference=t._heightReference,d.scale=t.totalScale,d.pickPrimitive=t,d.id=t._id,d.translucencyByDistance=t._translucencyByDistance,d.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,d.scaleByDistance=t._scaleByDistance,d.distanceDisplayCondition=t._distanceDisplayCondition,d.disableDepthTestDistance=t._disableDepthTestDistance,d.clusterShow=t.clusterShow):l(d)&&(p.remove(d),t._backgroundBillboard=d=void 0);let g=e._glyphTextureCache;for(u=0;u<o;++u){let m=i[u],x=t._verticalOrigin,b=JSON.stringify([m,t._fontFamily,t._fontStyle,t._fontWeight,+x]),T=g[b];if(!l(T)){let C=`${t._fontStyle} ${t._fontWeight} ${ca.FONT_SIZE}px ${t._fontFamily}`,A=NWe(m,C,z.WHITE,z.WHITE,0,Zo.FILL,x);if(T=new OWe(e,-1,A.dimensions),g[b]=T,A.width>0&&A.height>0){let S=(0,Fae.default)(A,{cutoff:ca.CUTOFF,radius:ca.RADIUS}),v=A.getContext("2d"),D=A.width,R=A.height,O=v.getImageData(0,0,D,R);for(let M=0;M<D;M++)for(let N=0;N<R;N++){let _=N*D+M,E=S[_]*255,w=_*4;O.data[w+0]=E,O.data[w+1]=E,O.data[w+2]=E,O.data[w+3]=E}v.putImageData(O,0,0),m!==" "&&FWe(e._textureAtlas,b,A,T)}}if(a=r[u],l(a)?T.index===-1?GW(e,a):l(a.textureInfo)&&(a.textureInfo=void 0):(a=new PWe,r[u]=a),a.textureInfo=T,a.dimensions=T.dimensions,T.index!==-1){let C=a.billboard,A=e._spareBillboards;l(C)||(A.length>0?C=A.pop():(C=e._billboardCollection.add({collection:e}),C._labelDimensions=new U,C._labelTranslate=new U),a.billboard=C),C.show=t._show,C.position=t._position,C.eyeOffset=t._eyeOffset,C.pixelOffset=t._pixelOffset,C.horizontalOrigin=bi.LEFT,C.verticalOrigin=t._verticalOrigin,C.heightReference=t._heightReference,C.scale=t.totalScale,C.pickPrimitive=t,C.id=t._id,C.image=b,C.translucencyByDistance=t._translucencyByDistance,C.pixelOffsetScaleByDistance=t._pixelOffsetScaleByDistance,C.scaleByDistance=t._scaleByDistance,C.distanceDisplayCondition=t._distanceDisplayCondition,C.disableDepthTestDistance=t._disableDepthTestDistance,C._batchIndex=t._batchIndex,C.outlineColor=t.outlineColor,t.style===Zo.FILL_AND_OUTLINE?(C.color=t._fillColor,C.outlineWidth=t.outlineWidth):t.style===Zo.FILL?(C.color=t._fillColor,C.outlineWidth=0):t.style===Zo.OUTLINE&&(C.color=z.TRANSPARENT,C.outlineWidth=t.outlineWidth)}}t._repositionAllGlyphs=!0}function Nae(e,t,n){return t===bi.CENTER?-e/2:t===bi.RIGHT?-(e+n.x):n.x}var ar=new U,VWe=new U;function UWe(e){let t=e._glyphs,n=e._renderedText,i,o,r=0,s=0,a=[],c=Number.NEGATIVE_INFINITY,u=0,f=1,d,p=t.length,g=e._backgroundBillboard,m=U.clone(l(g)?e._backgroundPadding:U.ZERO,VWe);for(m.x/=e._relativeSize,m.y/=e._relativeSize,d=0;d<p;++d)n.charAt(d)===` +`?(a.push(r),++f,r=0):(i=t[d],o=i.dimensions,u=Math.max(u,o.height-o.descent),c=Math.max(c,o.descent),r+=o.width-o.minx,d<p-1&&(r+=t[d+1].dimensions.minx),s=Math.max(s,r));a.push(r);let x=u+c,b=e.totalScale,T=e._horizontalOrigin,C=e._verticalOrigin,A=0,S=a[A],v=Nae(S,T,m),D=(l(e._lineHeight)?e._lineHeight:RWe*e._fontSize)/e._relativeSize,R=D*(f-1),O=s,M=x+R;l(g)&&(O+=m.x*2,M+=m.y*2,g._labelHorizontalOrigin=T),ar.x=v*b,ar.y=0;let N=!0,_=0;for(d=0;d<p;++d)if(n.charAt(d)===` +`)++A,_+=D,S=a[A],v=Nae(S,T,m),ar.x=v*b,N=!0;else if(i=t[d],o=i.dimensions,C===Ln.TOP?(ar.y=o.height-u-m.y,ar.y+=ca.PADDING):C===Ln.CENTER?ar.y=(R+o.height-u)/2:C===Ln.BASELINE?(ar.y=R,ar.y-=ca.PADDING):(ar.y=R+c+m.y,ar.y-=ca.PADDING),ar.y=(ar.y-o.descent-_)*b,N&&(ar.x-=ca.PADDING*b,N=!1),l(i.billboard)&&(i.billboard._setTranslate(ar),i.billboard._labelDimensions.x=O,i.billboard._labelDimensions.y=M,i.billboard._labelHorizontalOrigin=T),d<p-1){let E=t[d+1];ar.x+=(o.width-o.minx+E.dimensions.minx)*b}if(l(g)&&n.split(` +`).join("").length>0&&(T===bi.CENTER?v=-s/2-m.x:T===bi.RIGHT?v=-(s+m.x*2):v=0,ar.x=v*b,C===Ln.TOP?ar.y=x-u-c:C===Ln.CENTER?ar.y=(x-u)/2-c:C===Ln.BASELINE?ar.y=-m.y-c:ar.y=0,ar.y=ar.y*b,g.width=O,g.height=M,g._setTranslate(ar),g._labelTranslate=U.clone(ar,g._labelTranslate)),Qu(e.heightReference))for(d=0;d<p;++d){i=t[d];let E=i.billboard;l(E)&&(E._labelTranslate=U.clone(ar,E._labelTranslate))}}function Vae(e,t){let n=t._glyphs;for(let i=0,o=n.length;i<o;++i)GW(e,n[i]);l(t._backgroundBillboard)&&(e._backgroundBillboardCollection.remove(t._backgroundBillboard),t._backgroundBillboard=void 0),t._labelCollection=void 0,l(t._removeCallbackFunc)&&t._removeCallbackFunc(),ue(t)}function nm(e){e=y(e,y.EMPTY_OBJECT),this._scene=e.scene,this._batchTable=e.batchTable,this._textureAtlas=void 0,this._backgroundTextureAtlas=void 0,this._backgroundBillboardCollection=new yf({scene:this._scene}),this._backgroundBillboardCollection.destroyTextureAtlas=!1,this._billboardCollection=new yf({scene:this._scene,batchTable:this._batchTable}),this._billboardCollection.destroyTextureAtlas=!1,this._billboardCollection._sdf=!0,this._spareBillboards=[],this._glyphTextureCache={},this._labels=[],this._labelsToUpdate=[],this._totalGlyphCount=0,this._highlightColor=z.clone(z.WHITE),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,Do.OPAQUE_AND_TRANSLUCENT)}Object.defineProperties(nm.prototype,{length:{get:function(){return this._labels.length}}});nm.prototype.add=function(e){let t=new Nx(e,this);return this._labels.push(t),this._labelsToUpdate.push(t),t};nm.prototype.remove=function(e){if(l(e)&&e._labelCollection===this){let t=this._labels.indexOf(e);if(t!==-1)return this._labels.splice(t,1),Vae(this,e),!0}return!1};nm.prototype.removeAll=function(){let e=this._labels;for(let t=0,n=e.length;t<n;++t)Vae(this,e[t]);e.length=0};nm.prototype.contains=function(e){return l(e)&&e._labelCollection===this};nm.prototype.get=function(e){return this._labels[e]};nm.prototype.update=function(e){if(!this.show)return;let t=this._billboardCollection,n=this._backgroundBillboardCollection;t.modelMatrix=this.modelMatrix,t.debugShowBoundingVolume=this.debugShowBoundingVolume,n.modelMatrix=this.modelMatrix,n.debugShowBoundingVolume=this.debugShowBoundingVolume;let i=e.context;l(this._textureAtlas)||(this._textureAtlas=new Rx({context:i}),t.textureAtlas=this._textureAtlas),l(this._backgroundTextureAtlas)||(this._backgroundTextureAtlas=new Rx({context:i,initialSize:HW}),n.textureAtlas=this._backgroundTextureAtlas,LWe(this._backgroundTextureAtlas));let o=this._labelsToUpdate.length;for(let s=0;s<o;++s){let a=this._labelsToUpdate[s];if(a.isDestroyed())continue;let c=a._glyphs.length;a._rebindAllGlyphs&&(kWe(this,a),a._rebindAllGlyphs=!1),a._repositionAllGlyphs&&(UWe(a),a._repositionAllGlyphs=!1);let u=a._glyphs.length-c;this._totalGlyphCount+=u}let r=n.length>0?Do.TRANSLUCENT:this.blendOption;t.blendOption=r,n.blendOption=r,t._highlightColor=this._highlightColor,n._highlightColor=this._highlightColor,this._labelsToUpdate.length=0,n.update(e),t.update(e)};nm.prototype.isDestroyed=function(){return!1};nm.prototype.destroy=function(){return this.removeAll(),this._billboardCollection=this._billboardCollection.destroy(),this._textureAtlas=this._textureAtlas&&this._textureAtlas.destroy(),this._backgroundBillboardCollection=this._backgroundBillboardCollection.destroy(),this._backgroundTextureAtlas=this._backgroundTextureAtlas&&this._backgroundTextureAtlas.destroy(),ue(this)};var kp=nm;var TB=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec3 position2DHigh; +in vec3 position2DLow; +in vec3 prevPosition3DHigh; +in vec3 prevPosition3DLow; +in vec3 prevPosition2DHigh; +in vec3 prevPosition2DLow; +in vec3 nextPosition3DHigh; +in vec3 nextPosition3DLow; +in vec3 nextPosition2DHigh; +in vec3 nextPosition2DLow; +in vec4 texCoordExpandAndBatchIndex; + +out vec2 v_st; +out float v_width; +out vec4 v_pickColor; +out float v_polylineAngle; void main() { - out_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0); -} -`;function bI(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(bI.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function Mot(e,t,n){let i=t.createViewportQuadCommand(ZV,{framebuffer:n,renderState:ze.fromCache({viewport:new qe(0,0,256,256)})});e._drawCommand=i}bI.prototype.update=function(e){if(!l(this._colorTexture)){let t=e.context,n=new Mt({context:t,width:256,height:256,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,sampler:tn.NEAREST});this._colorTexture=n;let i=new Ca({context:t,colorTextures:[n],destroyAttachments:!1});Mot(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};bI.prototype.isDestroyed=function(){return!1};bI.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),ue(this)};var QV=bI;var Lot=new U;function Not(e,t){let n=e.unionClippingRegions,i=e.length,o=bs.useFloatTexture(t),r=bs.getTextureResolution(e,t,Lot),s=r.x,a=r.y,c=o?kot(s,a):Vot(s,a);return c+=` -`,c+=n?Fot(i):Bot(i),c}function Fot(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) -{ - vec4 position = czm_windowToEyeCoordinates(fragCoord); - vec3 clipNormal = vec3(0.0); - vec3 clipPosition = vec3(0.0); - float clipAmount; - float pixelWidth = czm_metersPerPixel(position); - bool breakAndDiscard = false; - for (int i = 0; i < ${e}; ++i) + float texCoord = texCoordExpandAndBatchIndex.x; + float expandDir = texCoordExpandAndBatchIndex.y; + bool usePrev = texCoordExpandAndBatchIndex.z < 0.0; + float batchTableIndex = texCoordExpandAndBatchIndex.w; + + vec2 widthAndShow = batchTable_getWidthAndShow(batchTableIndex); + float width = widthAndShow.x + 0.5; + float show = widthAndShow.y; + + if (width < 1.0) { - vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); - clipNormal = clippingPlane.xyz; - clipPosition = -clippingPlane.w * clipNormal; - float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; - clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); - if (amount <= 0.0) - { - breakAndDiscard = true; - break; - } + show = 0.0; } - if (breakAndDiscard) { - discard; + + vec4 pickColor = batchTable_getPickColor(batchTableIndex); + + vec4 p, prev, next; + if (czm_morphTime == 1.0) + { + p = czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz); + prev = czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz); + next = czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz); } - return clipAmount; -} -`}function Bot(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) -{ - bool clipped = true; - vec4 position = czm_windowToEyeCoordinates(fragCoord); - vec3 clipNormal = vec3(0.0); - vec3 clipPosition = vec3(0.0); - float clipAmount = 0.0; - float pixelWidth = czm_metersPerPixel(position); - for (int i = 0; i < ${e}; ++i) + else if (czm_morphTime == 0.0) { - vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); - clipNormal = clippingPlane.xyz; - clipPosition = -clippingPlane.w * clipNormal; - float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; - clipAmount = max(amount, clipAmount); - clipped = clipped && (amount <= 0.0); + p = czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy); + prev = czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy); + next = czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy); } - if (clipped) + else { - discard; + p = czm_columbusViewMorph( + czm_translateRelativeToEye(position2DHigh.zxy, position2DLow.zxy), + czm_translateRelativeToEye(position3DHigh.xyz, position3DLow.xyz), + czm_morphTime); + prev = czm_columbusViewMorph( + czm_translateRelativeToEye(prevPosition2DHigh.zxy, prevPosition2DLow.zxy), + czm_translateRelativeToEye(prevPosition3DHigh.xyz, prevPosition3DLow.xyz), + czm_morphTime); + next = czm_columbusViewMorph( + czm_translateRelativeToEye(nextPosition2DHigh.zxy, nextPosition2DLow.zxy), + czm_translateRelativeToEye(nextPosition3DHigh.xyz, nextPosition3DLow.xyz), + czm_morphTime); } - return clipAmount; -} -`}function kot(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) -{ - int pixY = clippingPlaneNumber / ${e}; - int pixX = clippingPlaneNumber - (pixY * ${e}); - float u = (float(pixX) + 0.5) * ${o}; - float v = (float(pixY) + 0.5) * ${r}; - vec4 plane = texture(packedClippingPlanes, vec2(u, v)); - return czm_transformPlane(plane, transform); -} -`}function Vot(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) -{ - int clippingPlaneStartIndex = clippingPlaneNumber * 2; - int pixY = clippingPlaneStartIndex / ${e}; - int pixX = clippingPlaneStartIndex - (pixY * ${e}); - float u = (float(pixX) + 0.5) * ${o}; - float v = (float(pixY) + 0.5) * ${r}; - vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; - vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); - vec4 plane; - plane.xyz = czm_octDecode(oct, 65535.0); - plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + ${o}, v))); - return czm_transformPlane(plane, transform); -} -`}var ky=Not;var JV=`struct Ray { - vec3 pos; - vec3 dir; - vec3 rawDir; -}; - -#if defined(JITTER) -/** - * Generate a pseudo-random value for a given 2D screen coordinate. - * Similar to https://www.shadertoy.com/view/4djSRW with a modified hashscale. - */ -float hash(vec2 p) -{ - vec3 p3 = fract(vec3(p.xyx) * 50.0); - p3 += dot(p3, p3.yzx + 19.19); - return fract((p3.x + p3.y) * p3.z); -} -#endif -float minComponent(in vec3 v) { - return min(min(v.x, v.y), v.z); -} - -float maxComponent(in vec3 v) { - return max(max(v.x, v.y), v.z); -} + #ifdef DISTANCE_DISPLAY_CONDITION + vec3 centerHigh = batchTable_getCenterHigh(batchTableIndex); + vec4 centerLowAndRadius = batchTable_getCenterLowAndRadius(batchTableIndex); + vec3 centerLow = centerLowAndRadius.xyz; + float radius = centerLowAndRadius.w; + vec2 distanceDisplayCondition = batchTable_getDistanceDisplayCondition(batchTableIndex); -struct PointJacobianT { - vec3 point; - mat3 jacobianT; -}; -`;var eU=`// See Intersection.glsl for the definition of intersectScene -// See IntersectionUtils.glsl for the definition of nextIntersection -// See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl -// for the definition of convertUvToShapeUvSpace. The appropriate function is -// selected based on the VoxelPrimitive shape type, and added to the shader in -// Scene/VoxelRenderResources.js. -// See Octree.glsl for the definitions of TraversalData, SampleData, -// traverseOctreeFromBeginning, and traverseOctreeFromExisting -// See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture + float lengthSq; + if (czm_sceneMode == czm_sceneMode2D) + { + lengthSq = czm_eyeHeight2D.y; + } + else + { + vec4 center = czm_translateRelativeToEye(centerHigh.xyz, centerLow.xyz); + lengthSq = max(0.0, dot(center.xyz, center.xyz) - radius * radius); + } -#define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops -#if defined(PICKING_VOXEL) - #define ALPHA_ACCUM_MAX 0.1 -#else - #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 -#endif + float nearSq = distanceDisplayCondition.x * distanceDisplayCondition.x; + float farSq = distanceDisplayCondition.y * distanceDisplayCondition.y; + if (lengthSq < nearSq || lengthSq > farSq) + { + show = 0.0; + } + #endif -uniform mat3 u_transformDirectionViewToLocal; -uniform vec3 u_cameraPositionUv; -uniform float u_stepSize; + float polylineAngle; + vec4 positionWC = getPolylineWindowCoordinates(p, prev, next, expandDir, width, usePrev, polylineAngle); + gl_Position = czm_viewportOrthographic * positionWC * show; -#if defined(PICKING) - uniform vec4 u_pickColor; -#endif + v_st.s = texCoord; + v_st.t = czm_writeNonPerspective(clamp(expandDir, 0.0, 1.0), gl_Position.w); -vec3 getSampleSize(in int level) { - vec3 sampleCount = exp2(float(level)) * vec3(u_dimensions); - vec3 sampleSizeUv = 1.0 / sampleCount; - return scaleShapeUvToShapeSpace(sampleSizeUv); + v_width = width; + v_pickColor = pickColor; + v_polylineAngle = polylineAngle; } +`;var Uc={};Uc.numberOfPoints=function(e,t,n){let i=h.distance(e,t);return Math.ceil(i/n)};Uc.numberOfPointsRhumbLine=function(e,t,n){let i=Math.pow(e.longitude-t.longitude,2)+Math.pow(e.latitude-t.latitude,2);return Math.max(1,Math.ceil(Math.sqrt(i/(n*n))))};var zWe=new fe;Uc.extractHeights=function(e,t){let n=e.length,i=new Array(n);for(let o=0;o<n;o++){let r=e[o];i[o]=t.cartesianToCartographic(r,zWe).height}return i};var HWe=new F,GWe=new h,Uae=new h,WWe=new ln(h.UNIT_X,0),zae=new h,jWe=new ln(h.UNIT_X,0),qWe=new h,YWe=new h,jW=[];function Gae(e,t,n){let i=jW;i.length=e;let o;if(t===n){for(o=0;o<e;o++)i[o]=t;return i}let s=(n-t)/e;for(o=0;o<e;o++){let a=t+o*s;i[o]=a}return i}var AB=new fe,CB=new fe,Yg=new h,qW=new h,XWe=new h,WW=new J_,jw=new $a;function KWe(e,t,n,i,o,r,s,a){let c=i.scaleToGeodeticSurface(e,qW),u=i.scaleToGeodeticSurface(t,XWe),f=Uc.numberOfPoints(e,t,n),d=i.cartesianToCartographic(c,AB),p=i.cartesianToCartographic(u,CB),g=Gae(f,o,r);WW.setEndPoints(d,p);let m=WW.surfaceDistance/f,x=a;d.height=o;let b=i.cartographicToCartesian(d,Yg);h.pack(b,s,x),x+=3;for(let T=1;T<f;T++){let C=WW.interpolateUsingSurfaceDistance(T*m,CB);C.height=g[T],b=i.cartographicToCartesian(C,Yg),h.pack(b,s,x),x+=3}return x}function ZWe(e,t,n,i,o,r,s,a){let c=i.cartesianToCartographic(e,AB),u=i.cartesianToCartographic(t,CB),f=Uc.numberOfPointsRhumbLine(c,u,n);c.height=0,u.height=0;let d=Gae(f,o,r);jw.ellipsoid.equals(i)||(jw=new $a(void 0,void 0,i)),jw.setEndPoints(c,u);let p=jw.surfaceDistance/f,g=a;c.height=o;let m=i.cartographicToCartesian(c,Yg);h.pack(m,s,g),g+=3;for(let x=1;x<f;x++){let b=jw.interpolateUsingSurfaceDistance(x*p,CB);b.height=d[x],m=i.cartographicToCartesian(b,Yg),h.pack(m,s,g),g+=3}return g}Uc.wrapLongitude=function(e,t){let n=[],i=[];if(l(e)&&e.length>0){t=y(t,F.IDENTITY);let o=F.inverseTransformation(t,HWe),r=F.multiplyByPoint(o,h.ZERO,GWe),s=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_Y,Uae),Uae),a=ln.fromPointNormal(r,s,WWe),c=h.normalize(F.multiplyByPointAsVector(o,h.UNIT_X,zae),zae),u=ln.fromPointNormal(r,c,jWe),f=1;n.push(h.clone(e[0]));let d=n[0],p=e.length;for(let g=1;g<p;++g){let m=e[g];if(ln.getPointDistance(u,d)<0||ln.getPointDistance(u,m)<0){let x=ti.lineSegmentPlane(d,m,a,qWe);if(l(x)){let b=h.multiplyByScalar(s,5e-9,YWe);ln.getPointDistance(a,d)<0&&h.negate(b,b),n.push(h.add(x,b,new h)),i.push(f+1),h.negate(b,b),n.push(h.add(x,b,new h)),f=1}}n.push(h.clone(e[g])),f++,d=m}i.push(f)}return{positions:n,lengths:i}};Uc.generateArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let x=i.scaleToGeodeticSurface(t[0],qW);if(o=r?o[0]:o,o!==0){let b=i.geodeticSurfaceNormal(x,Yg);h.multiplyByScalar(b,o,b),h.add(x,b,x)}return[x.x,x.y,x.z]}let s=e.minDistance;if(!l(s)){let x=y(e.granularity,P.RADIANS_PER_DEGREE);s=P.chordLength(x,i.maximumRadius)}let a=0,c;for(c=0;c<n-1;c++)a+=Uc.numberOfPoints(t[c],t[c+1],s);let u=(a+1)*3,f=new Array(u),d=0;for(c=0;c<n-1;c++){let x=t[c],b=t[c+1],T=r?o[c]:o,C=r?o[c+1]:o;d=KWe(x,b,s,i,T,C,f,d)}jW.length=0;let p=t[n-1],g=i.cartesianToCartographic(p,AB);g.height=r?o[n-1]:o;let m=i.cartographicToCartesian(g,Yg);return h.pack(m,f,u-3),f};var Hae=new fe,$We=new fe;Uc.generateRhumbArc=function(e){l(e)||(e={});let t=e.positions,n=t.length,i=y(e.ellipsoid,ee.default),o=y(e.height,0),r=Array.isArray(o);if(n<1)return[];if(n===1){let T=i.scaleToGeodeticSurface(t[0],qW);if(o=r?o[0]:o,o!==0){let C=i.geodeticSurfaceNormal(T,Yg);h.multiplyByScalar(C,o,C),h.add(T,C,T)}return[T.x,T.y,T.z]}let s=y(e.granularity,P.RADIANS_PER_DEGREE),a=0,c,u=i.cartesianToCartographic(t[0],Hae),f;for(c=0;c<n-1;c++)f=i.cartesianToCartographic(t[c+1],$We),a+=Uc.numberOfPointsRhumbLine(u,f,s),u=fe.clone(f,Hae);let d=(a+1)*3,p=new Array(d),g=0;for(c=0;c<n-1;c++){let T=t[c],C=t[c+1],A=r?o[c]:o,S=r?o[c+1]:o;g=ZWe(T,C,s,i,A,S,p,g)}jW.length=0;let m=t[n-1],x=i.cartesianToCartographic(m,AB);x.height=r?o[n-1]:o;let b=i.cartographicToCartesian(x,Yg);return h.pack(b,p,d-3),p};Uc.generateCartesianArc=function(e){let t=Uc.generateArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};Uc.generateCartesianRhumbArc=function(e){let t=Uc.generateRhumbArc(e),n=t.length/3,i=new Array(n);for(let o=0;o<n;o++)i[o]=h.unpack(t,o*3);return i};var Li=Uc;function fu(e,t){e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._width=y(e.width,1),this._loop=y(e.loop,!1),this._distanceDisplayCondition=e.distanceDisplayCondition,this._material=e.material,l(this._material)||(this._material=Yi.fromType(Yi.ColorType,{color:new z(1,1,1,1)}));let n=e.positions;l(n)||(n=[]),this._positions=n,this._actualPositions=bo(n,h.equalsEpsilon),this._loop&&this._actualPositions.length>2&&(this._actualPositions===this._positions&&(this._actualPositions=n.slice()),this._actualPositions.push(h.clone(this._actualPositions[0]))),this._length=this._actualPositions.length,this._id=e.id;let i;l(t)&&(i=F.clone(t.modelMatrix)),this._modelMatrix=i,this._segments=Li.wrapLongitude(this._actualPositions,i),this._actualLength=void 0,this._propertiesChanged=new Uint32Array(jae),this._polylineCollection=t,this._dirty=!1,this._pickId=void 0,this._boundingVolume=ce.fromPoints(this._actualPositions),this._boundingVolumeWC=ce.transform(this._boundingVolume,this._modelMatrix),this._boundingVolume2D=new ce}var Wae=fu.POSITION_INDEX=0,QWe=fu.SHOW_INDEX=1,JWe=fu.WIDTH_INDEX=2,eje=fu.MATERIAL_INDEX=3,qw=fu.POSITION_SIZE_INDEX=4,tje=fu.DISTANCE_DISPLAY_CONDITION=5,jae=fu.NUMBER_OF_PROPERTIES=6;function Vp(e,t){++e._propertiesChanged[t];let n=e._polylineCollection;l(n)&&(n._updatePolyline(e,t),e._dirty=!0)}Object.defineProperties(fu.prototype,{show:{get:function(){return this._show},set:function(e){e!==this._show&&(this._show=e,Vp(this,QWe))}},positions:{get:function(){return this._positions},set:function(e){let t=bo(e,h.equalsEpsilon);this._loop&&t.length>2&&(t===e&&(t=e.slice()),t.push(h.clone(t[0]))),(this._actualPositions.length!==t.length||this._actualPositions.length!==this._length)&&Vp(this,qw),this._positions=e,this._actualPositions=t,this._length=t.length,this._boundingVolume=ce.fromPoints(this._actualPositions,this._boundingVolume),this._boundingVolumeWC=ce.transform(this._boundingVolume,this._modelMatrix,this._boundingVolumeWC),Vp(this,Wae),this.update()}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,Vp(this,eje))}},width:{get:function(){return this._width},set:function(e){let t=this._width;e!==t&&(this._width=e,Vp(this,JWe))}},loop:{get:function(){return this._loop},set:function(e){if(e!==this._loop){let t=this._actualPositions;e?t.length>2&&!h.equals(t[0],t[t.length-1])&&(t.length===this._positions.length&&(this._actualPositions=t=this._positions.slice()),t.push(h.clone(t[0]))):t.length>2&&h.equals(t[0],t[t.length-1])&&(t.length-1===this._positions.length?this._actualPositions=this._positions:t.pop()),this._loop=e,Vp(this,qw)}}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},isDestroyed:{get:function(){return!l(this._polylineCollection)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Lt.equals(e,this._distanceDisplayCondition)||(this._distanceDisplayCondition=Lt.clone(e,this._distanceDisplayCondition),Vp(this,tje))}}});fu.prototype.update=function(){let e=F.IDENTITY;l(this._polylineCollection)&&(e=this._polylineCollection.modelMatrix);let t=this._segments.positions.length,n=this._segments.lengths,i=this._propertiesChanged[Wae]>0||this._propertiesChanged[qw]>0;if((!F.equals(e,this._modelMatrix)||i)&&(this._segments=Li.wrapLongitude(this._actualPositions,e),this._boundingVolumeWC=ce.transform(this._boundingVolume,e,this._boundingVolumeWC)),this._modelMatrix=F.clone(e,this._modelMatrix),this._segments.positions.length!==t)Vp(this,qw);else{let o=n.length;for(let r=0;r<o;++r)if(n[r]!==this._segments.lengths[r]){Vp(this,qw);break}}};fu.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._polylineCollection,id:this._id})),this._pickId};fu.prototype._clean=function(){this._dirty=!1;let e=this._propertiesChanged;for(let t=0;t<jae-1;++t)e[t]=0};fu.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._material=this._material&&this._material.destroy(),this._polylineCollection=void 0};var Cd=fu;var nje=Cd.SHOW_INDEX,ije=Cd.WIDTH_INDEX,XW=Cd.POSITION_INDEX,oje=Cd.MATERIAL_INDEX,qae=Cd.POSITION_SIZE_INDEX,rje=Cd.DISTANCE_DISPLAY_CONDITION,Jae=Cd.NUMBER_OF_PROPERTIES,Cl={texCoordExpandAndBatchIndex:0,position3DHigh:1,position3DLow:2,position2DHigh:3,position2DLow:4,prevPosition3DHigh:5,prevPosition3DLow:6,prevPosition2DHigh:7,prevPosition2DLow:8,nextPosition3DHigh:9,nextPosition3DLow:10,nextPosition2DHigh:11,nextPosition2DLow:12};function Ad(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this._opaqueRS=void 0,this._translucentRS=void 0,this._colorCommands=[],this._polylinesUpdated=!1,this._polylinesRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(Jae),this._polylines=[],this._polylineBuckets={},this._positionBufferUsage={bufferUsage:Ue.STATIC_DRAW,frameCount:0},this._mode=void 0,this._polylinesToUpdate=[],this._vertexArrays=[],this._positionBuffer=void 0,this._texCoordExpandAndBatchIndexBuffer=void 0,this._batchTable=void 0,this._createBatchTable=!1,this._useHighlightColor=!1,this._highlightColor=z.clone(z.WHITE);let t=this;this._uniformMap={u_highlightColor:function(){return t._highlightColor}}}Object.defineProperties(Ad.prototype,{length:{get:function(){return KW(this),this._polylines.length}}});Ad.prototype.add=function(e){let t=new Cd(e,this);return t._index=this._polylines.length,this._polylines.push(t),this._createVertexArray=!0,this._createBatchTable=!0,t};Ad.prototype.remove=function(e){if(this.contains(e)){if(this._polylinesRemoved=!0,this._createVertexArray=!0,this._createBatchTable=!0,l(e._bucket)){let t=e._bucket;t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()}return e._destroy(),!0}return!1};Ad.prototype.removeAll=function(){ZW(this),oce(this),this._polylineBuckets={},this._polylinesRemoved=!1,this._polylines.length=0,this._polylinesToUpdate.length=0,this._createVertexArray=!0};Ad.prototype.contains=function(e){return l(e)&&e._polylineCollection===this};Ad.prototype.get=function(e){return KW(this),this._polylines[e]};function sje(e,t){l(e._batchTable)&&e._batchTable.destroy();let n=[{functionName:"batchTable_getWidthAndShow",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:2},{functionName:"batchTable_getPickColor",componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,normalize:!0},{functionName:"batchTable_getCenterHigh",componentDatatype:X.FLOAT,componentsPerAttribute:3},{functionName:"batchTable_getCenterLowAndRadius",componentDatatype:X.FLOAT,componentsPerAttribute:4},{functionName:"batchTable_getDistanceDisplayCondition",componentDatatype:X.FLOAT,componentsPerAttribute:2}];e._batchTable=new jT(t,n,e._polylines.length)}var ece=new Wn,tce=new oe,nce=new U;Ad.prototype.update=function(e){if(KW(this),this._polylines.length===0||!this.show)return;dje(this,e);let t=e.context,n=e.mapProjection,i,o=this._propertiesChanged;if(this._createBatchTable){if(Bt.maximumVertexTextureImageUnits===0)throw new se("Vertex texture fetch support is required to render polylines. The maximum number of vertex texture image units must be greater than zero.");sje(this,t),this._createBatchTable=!1}if(this._createVertexArray||cje(this))Kae(this,t,n);else if(this._polylinesUpdated){let c=this._polylinesToUpdate;if(this._mode!==ne.SCENE3D){let u=c.length;for(let f=0;f<u;++f)i=c[f],i.update()}if(o[qae]||o[oje])Kae(this,t,n);else{let u=c.length,f=this._polylineBuckets;for(let d=0;d<u;++d){i=c[d],o=i._propertiesChanged;let p=i._bucket,g=0;for(let m in f)if(f.hasOwnProperty(m)){if(f[m]===p){o[XW]&&p.writeUpdate(g,i,this._positionBuffer,n);break}g+=f[m].lengthOfPositions}if((o[nje]||o[ije])&&this._batchTable.setBatchedAttribute(i._index,0,new U(i._width,i._show)),this._batchTable.attributes.length>2){if(o[XW]||o[qae]){let m=e.mode===ne.SCENE2D?i._boundingVolume2D:i._boundingVolumeWC,x=Wn.fromCartesian(m.center,ece),b=oe.fromElements(x.low.x,x.low.y,x.low.z,m.radius,tce);this._batchTable.setBatchedAttribute(i._index,2,x.high),this._batchTable.setBatchedAttribute(i._index,3,b)}if(o[rje]){let m=nce;m.x=0,m.y=Number.MAX_VALUE;let x=i.distanceDisplayCondition;l(x)&&(m.x=x.near,m.y=x.far),this._batchTable.setBatchedAttribute(i._index,4,m)}}i._clean()}}c.length=0,this._polylinesUpdated=!1}o=this._propertiesChanged;for(let c=0;c<Jae;++c)o[c]=0;let r=F.IDENTITY;e.mode===ne.SCENE3D&&(r=this.modelMatrix);let s=e.passes,a=e.morphTime!==0;if((!l(this._opaqueRS)||this._opaqueRS.depthTest.enabled!==a)&&(this._opaqueRS=ze.fromCache({depthMask:a,depthTest:{enabled:a}})),(!l(this._translucentRS)||this._translucentRS.depthTest.enabled!==a)&&(this._translucentRS=ze.fromCache({blending:fn.ALPHA_BLEND,depthMask:!a,depthTest:{enabled:a}})),this._batchTable.update(e),s.render||s.pick){let c=this._colorCommands;aje(this,e,c,r)}};var Yw=new ce,Yae=new ce;function aje(e,t,n,i){let o=t.context,r=t.commandList,s=n.length,a=0,c=!0,u=e._vertexArrays,f=e.debugShowBoundingVolume,p=e._batchTable.getUniformMapCallback(),g=u.length;for(let m=0;m<g;++m){let x=u[m],b=x.buckets,T=b.length;for(let C=0;C<T;++C){let A=b[C],S=A.offset,v=A.bucket.shaderProgram,D=A.bucket.polylines,R=D.length,O,M,N=0,_,E;for(let w=0;w<R;++w){let I=D[w],L=uje(I._material);if(L!==O){if(l(O)&&N>0){let G=M.isTranslucent();a>=s?(_=new tt({owner:e}),n.push(_)):_=n[a],++a,E=Ct(p(M._uniforms),e._uniformMap),_.boundingVolume=ce.clone(Yw,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=x.va,_.renderState=G?e._translucentRS:e._opaqueRS,_.pass=G?ve.TRANSLUCENT:ve.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=E,_.count=N,_.offset=S,S+=N,N=0,c=!0,r.push(_)}M=I._material,M.update(o),O=L}let B=I._locatorBuckets,H=B.length;for(let G=0;G<H;++G){let k=B[G];k.locator===A&&(N+=k.count)}let V;t.mode===ne.SCENE3D?V=I._boundingVolumeWC:t.mode===ne.COLUMBUS_VIEW?V=I._boundingVolume2D:t.mode===ne.SCENE2D?l(I._boundingVolume2D)&&(V=ce.clone(I._boundingVolume2D,Yae),V.center.x=0):l(I._boundingVolumeWC)&&l(I._boundingVolume2D)&&(V=ce.union(I._boundingVolumeWC,I._boundingVolume2D,Yae)),c?(c=!1,ce.clone(V,Yw)):ce.union(V,Yw,Yw)}l(O)&&N>0&&(a>=s?(_=new tt({owner:e}),n.push(_)):_=n[a],++a,E=Ct(p(M._uniforms),e._uniformMap),_.boundingVolume=ce.clone(Yw,_.boundingVolume),_.modelMatrix=i,_.shaderProgram=v,_.vertexArray=x.va,_.renderState=M.isTranslucent()?e._translucentRS:e._opaqueRS,_.pass=M.isTranslucent()?ve.TRANSLUCENT:ve.OPAQUE,_.debugShowBoundingVolume=f,_.pickId="v_pickColor",_.uniformMap=E,_.count=N,_.offset=S,c=!0,r.push(_)),O=void 0}}n.length=a}Ad.prototype.isDestroyed=function(){return!1};Ad.prototype.destroy=function(){return ice(this),ZW(this),oce(this),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function cje(e){let t=!1,n=e._propertiesChanged,i=e._positionBufferUsage;return n[XW]?(i.bufferUsage!==Ue.STREAM_DRAW&&(t=!0,i.bufferUsage=Ue.STREAM_DRAW),i.frameCount=100):i.bufferUsage!==Ue.STATIC_DRAW&&(i.frameCount===0?(t=!0,i.bufferUsage=Ue.STATIC_DRAW):i.frameCount--),t}var Xae=[0,0,0];function Kae(e,t,n){e._createVertexArray=!1,ZW(e),ice(e),fje(e);let i=[[]],o=i[0],r=e._batchTable,s=e._useHighlightColor,a=[0],c=0,u=[[]],f=0,d=e._polylineBuckets,p,g;for(p in d)d.hasOwnProperty(p)&&(g=d[p],g.updateShader(t,r,s),f+=g.lengthOfPositions);if(f>0){let m=e._mode,x=new Float32Array(6*f*3),b=new Float32Array(f*4),T,C=0,A=0,S=0;for(p in d)if(d.hasOwnProperty(p)){g=d[p],g.write(x,b,C,A,S,r,t,n),m===ne.MORPHING&&(l(T)||(T=new Float32Array(6*f*3)),g.writeForMorph(T,C));let E=g.lengthOfPositions;C+=6*E*3,A+=E*4,S+=E*4,c=g.updateIndices(i,a,u,c)}let v=e._positionBufferUsage.bufferUsage,D=Ue.STATIC_DRAW;e._positionBuffer=bt.createVertexBuffer({context:t,typedArray:x,usage:v});let R;l(T)&&(R=bt.createVertexBuffer({context:t,typedArray:T,usage:v})),e._texCoordExpandAndBatchIndexBuffer=bt.createVertexBuffer({context:t,typedArray:b,usage:D});let O=3*Float32Array.BYTES_PER_ELEMENT,M=4*Float32Array.BYTES_PER_ELEMENT,N=0,_=i.length;for(let E=0;E<_;++E)if(o=i[E],o.length>0){let w=new Uint16Array(o),I=bt.createIndexBuffer({context:t,typedArray:w,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT});N+=a[E];let L=6*(E*(O*P.SIXTY_FOUR_KILOBYTES)-N*O),B=O+L,H=O+B,V=O+H,G=O+V,k=O+G,W=E*(M*P.SIXTY_FOUR_KILOBYTES)-N*M,Y=[{index:Cl.position3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:L,strideInBytes:6*O},{index:Cl.position3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*O},{index:Cl.position2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:L,strideInBytes:6*O},{index:Cl.position2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:B,strideInBytes:6*O},{index:Cl.prevPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:H,strideInBytes:6*O},{index:Cl.prevPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*O},{index:Cl.prevPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:H,strideInBytes:6*O},{index:Cl.prevPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:V,strideInBytes:6*O},{index:Cl.nextPosition3DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*O},{index:Cl.nextPosition3DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*O},{index:Cl.nextPosition2DHigh,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:G,strideInBytes:6*O},{index:Cl.nextPosition2DLow,componentsPerAttribute:3,componentDatatype:X.FLOAT,offsetInBytes:k,strideInBytes:6*O},{index:Cl.texCoordExpandAndBatchIndex,componentsPerAttribute:4,componentDatatype:X.FLOAT,vertexBuffer:e._texCoordExpandAndBatchIndexBuffer,offsetInBytes:W}],J,j,Z,Q;m===ne.SCENE3D?(j=e._positionBuffer,J="vertexBuffer",Z=Xae,Q="value"):m===ne.SCENE2D||m===ne.COLUMBUS_VIEW?(j=Xae,J="value",Z=e._positionBuffer,Q="vertexBuffer"):(j=R,J="vertexBuffer",Z=e._positionBuffer,Q="vertexBuffer"),Y[0][J]=j,Y[1][J]=j,Y[2][Q]=Z,Y[3][Q]=Z,Y[4][J]=j,Y[5][J]=j,Y[6][Q]=Z,Y[7][Q]=Z,Y[8][J]=j,Y[9][J]=j,Y[10][Q]=Z,Y[11][Q]=Z;let he=new si({context:t,attributes:Y,indexBuffer:I});e._vertexArrays.push({va:he,buckets:u[E]})}}}function lje(e,t){return t instanceof Pt?t.id:t}var EB=[];function uje(e){let t=Yi._uniformList[e.type],n=t.length;EB.length=2*n;let i=0;for(let o=0;o<n;++o){let r=t[o];EB[i]=r,EB[i+1]=e._uniforms[r](),i+=2}return`${e.type}:${JSON.stringify(EB,lje)}`}function fje(e){let t=e._mode,n=e._modelMatrix,i=e._polylineBuckets={},o=e._polylines,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a._actualPositions.length>1){a.update();let c=a.material,u=i[c.type];l(u)||(u=i[c.type]=new im(c,t,n)),u.addPolyline(a)}}}function dje(e,t){let n=t.mode;(e._mode!==n||!F.equals(e._modelMatrix,e.modelMatrix))&&(e._mode=n,e._modelMatrix=F.clone(e.modelMatrix),e._createVertexArray=!0)}function KW(e){if(e._polylinesRemoved){e._polylinesRemoved=!1;let t=[],n=[],i=0,o,r=e._polylines.length;for(let s=0;s<r;++s)o=e._polylines[s],o.isDestroyed||(o._index=i++,n.push(o),t.push(o));e._polylines=t,e._polylinesToUpdate=n}}function ZW(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)if(!t[i].isDestroyed){let o=t[i]._bucket;l(o)&&(o.shaderProgram=o.shaderProgram&&o.shaderProgram.destroy())}}function ice(e){let t=e._vertexArrays.length;for(let n=0;n<t;++n)e._vertexArrays[n].va.destroy();e._vertexArrays.length=0}Ad.prototype._updatePolyline=function(e,t){this._polylinesUpdated=!0,e._dirty||this._polylinesToUpdate.push(e),++this._propertiesChanged[t]};function oce(e){let t=e._polylines,n=t.length;for(let i=0;i<n;++i)t[i].isDestroyed||t[i]._destroy()}function YW(e,t,n){this.count=e,this.offset=t,this.bucket=n}function im(e,t,n){this.polylines=[],this.lengthOfPositions=0,this.material=e,this.shaderProgram=void 0,this.mode=t,this.modelMatrix=n}im.prototype.addPolyline=function(e){this.polylines.push(e),e._actualLength=this.getPolylinePositionsLength(e),this.lengthOfPositions+=e._actualLength,e._bucket=this};im.prototype.updateShader=function(e,t,n){if(l(this.shaderProgram))return;let i=["DISTANCE_DISPLAY_CONDITION"];n&&i.push("VECTOR_TILE"),this.material.shaderSource.search(/in\s+float\s+v_polylineAngle;/g)!==-1&&i.push("POLYLINE_DASH"),Gt.isInternetExplorer()||i.push("CLIP_POLYLINE");let o=new He({defines:i,sources:[`in vec4 v_pickColor; +`,this.material.shaderSource,$T]}),r=t.getVertexShaderCallback()(TB),s=new He({defines:i,sources:[tf,r]});this.shaderProgram=tn.fromCache({context:e,vertexShaderSource:s,fragmentShaderSource:o,attributeLocations:Cl})};function rce(e){return h.dot(h.UNIT_X,e._boundingVolume.center)<0||e._boundingVolume.intersectPlane(ln.ORIGIN_ZX_PLANE)===jt.INTERSECTING}im.prototype.getPolylinePositionsLength=function(e){let t;if(this.mode===ne.SCENE3D||!rce(e))return t=e._actualPositions.length,t*4-4;let n=0,i=e._segments.lengths;t=i.length;for(let o=0;o<t;++o)n+=i[o]*4-4;return n};var vs=new h,bf=new h,Tf=new h,SB=new h,hje=new oe,mje=new U;im.prototype.write=function(e,t,n,i,o,r,s,a){let c=this.mode,u=a.ellipsoid.maximumRadius*P.PI,f=this.polylines,d=f.length;for(let p=0;p<d;++p){let g=f[p],m=g.width,x=g.show&&m>0,b=g._index,T=this.getSegments(g,a),C=T.positions,A=T.lengths,S=C.length,v=g.getPickId(s).color,D=0,R=0,O;for(let H=0;H<S;++H){H===0?g._loop?O=C[S-2]:(O=SB,h.subtract(C[0],C[1],O),h.add(C[0],O,O)):O=C[H-1],h.clone(O,bf),h.clone(C[H],vs),H===S-1?g._loop?O=C[1]:(O=SB,h.subtract(C[S-1],C[S-2],O),h.add(C[S-1],O,O)):O=C[H+1],h.clone(O,Tf);let V=A[D];H===R+V&&(R+=V,++D);let G=H-R===0,k=H===R+A[D]-1;c===ne.SCENE2D&&(bf.z=0,vs.z=0,Tf.z=0),(c===ne.SCENE2D||c===ne.MORPHING)&&(G||k)&&u-Math.abs(vs.x)<1&&((vs.x<0&&bf.x>0||vs.x>0&&bf.x<0)&&h.clone(vs,bf),(vs.x<0&&Tf.x>0||vs.x>0&&Tf.x<0)&&h.clone(vs,Tf));let W=G?2:0,Y=k?2:4;for(let J=W;J<Y;++J){Wn.writeElements(vs,e,n),Wn.writeElements(bf,e,n+6),Wn.writeElements(Tf,e,n+12);let j=J-2<0?-1:1;t[o]=H/(S-1),t[o+1]=2*(J%2)-1,t[o+2]=j,t[o+3]=b,n+=6*3,o+=4}}let M=hje;M.x=z.floatToByte(v.red),M.y=z.floatToByte(v.green),M.z=z.floatToByte(v.blue),M.w=z.floatToByte(v.alpha);let N=mje;N.x=m,N.y=x?1:0;let _=c===ne.SCENE2D?g._boundingVolume2D:g._boundingVolumeWC,E=Wn.fromCartesian(_.center,ece),w=E.high,I=oe.fromElements(E.low.x,E.low.y,E.low.z,_.radius,tce),L=nce;L.x=0,L.y=Number.MAX_VALUE;let B=g.distanceDisplayCondition;l(B)&&(L.x=B.near,L.y=B.far),r.setBatchedAttribute(b,0,N),r.setBatchedAttribute(b,1,M),r.attributes.length>2&&(r.setBatchedAttribute(b,2,w),r.setBatchedAttribute(b,3,I),r.setBatchedAttribute(b,4,L))}};var pje=new h,_je=new h,gje=new h,Zae=new h;im.prototype.writeForMorph=function(e,t){let n=this.modelMatrix,i=this.polylines,o=i.length;for(let r=0;r<o;++r){let s=i[r],a=s._segments.positions,c=s._segments.lengths,u=a.length,f=0,d=0;for(let p=0;p<u;++p){let g;p===0?s._loop?g=a[u-2]:(g=Zae,h.subtract(a[0],a[1],g),h.add(a[0],g,g)):g=a[p-1],g=F.multiplyByPoint(n,g,_je);let m=F.multiplyByPoint(n,a[p],pje),x;p===u-1?s._loop?x=a[1]:(x=Zae,h.subtract(a[u-1],a[u-2],x),h.add(a[u-1],x,x)):x=a[p+1],x=F.multiplyByPoint(n,x,gje);let b=c[f];p===d+b&&(d+=b,++f);let T=p-d===0,C=p===d+c[f]-1,A=T?2:0,S=C?2:4;for(let v=A;v<S;++v)Wn.writeElements(m,e,t),Wn.writeElements(g,e,t+6),Wn.writeElements(x,e,t+12),t+=6*3}}};var yje=new Array(1);im.prototype.updateIndices=function(e,t,n,i){let o=n.length-1,r=new YW(0,i,this);n[o].push(r);let s=0,a=e[e.length-1],c=0;a.length>0&&(c=a[a.length-1]+1);let u=this.polylines,f=u.length;for(let d=0;d<f;++d){let p=u[d];p._locatorBuckets=[];let g;if(this.mode===ne.SCENE3D){g=yje;let x=p._actualPositions.length;if(x>0)g[0]=x;else continue}else g=p._segments.lengths;let m=g.length;if(m>0){let x=0;for(let b=0;b<m;++b){let T=g[b]-1;for(let C=0;C<T;++C)c+4>P.SIXTY_FOUR_KILOBYTES&&(p._locatorBuckets.push({locator:r,count:x}),x=0,t.push(4),a=[],e.push(a),c=0,r.count=s,s=0,i=0,r=new YW(0,0,this),n[++o]=[r]),a.push(c,c+2,c+1),a.push(c+1,c+2,c+3),x+=6,s+=6,i+=6,c+=4}p._locatorBuckets.push({locator:r,count:x}),c+4>P.SIXTY_FOUR_KILOBYTES&&(t.push(0),a=[],e.push(a),c=0,r.count=s,i=0,s=0,r=new YW(0,0,this),n[++o]=[r])}p._clean()}return r.count=s,i};im.prototype.getPolylineStartIndex=function(e){let t=this.polylines,n=0,i=t.length;for(let o=0;o<i;++o){let r=t[o];if(r===e)break;n+=r._actualLength}return n};var iA={positions:void 0,lengths:void 0},$ae=new Array(1),xje=new h,bje=new fe;im.prototype.getSegments=function(e,t){let n=e._actualPositions;if(this.mode===ne.SCENE3D)return $ae[0]=n.length,iA.positions=n,iA.lengths=$ae,iA;rce(e)&&(n=e._segments.positions);let i=t.ellipsoid,o=[],r=this.modelMatrix,s=n.length,a,c=xje;for(let u=0;u<s;++u)a=n[u],c=F.multiplyByPoint(r,a,c),o.push(t.project(i.cartesianToCartographic(c,bje)));if(o.length>0){e._boundingVolume2D=ce.fromPoints(o,e._boundingVolume2D);let u=e._boundingVolume2D.center;e._boundingVolume2D.center=new h(u.z,u.x,u.y)}return iA.positions=o,iA.lengths=e._segments.lengths,iA};var Qae;im.prototype.writeUpdate=function(e,t,n,i){let o=this.mode,r=i.ellipsoid.maximumRadius*P.PI,s=t._actualLength;if(s){e+=this.getPolylineStartIndex(t);let a=Qae,c=6*s*3;!l(a)||a.length<c?a=Qae=new Float32Array(c):a.length>c&&(a=new Float32Array(a.buffer,0,c));let u=this.getSegments(t,i),f=u.positions,d=u.lengths,p=0,g=0,m=0,x;s=f.length;for(let b=0;b<s;++b){b===0?t._loop?x=f[s-2]:(x=SB,h.subtract(f[0],f[1],x),h.add(f[0],x,x)):x=f[b-1],h.clone(x,bf),h.clone(f[b],vs),b===s-1?t._loop?x=f[1]:(x=SB,h.subtract(f[s-1],f[s-2],x),h.add(f[s-1],x,x)):x=f[b+1],h.clone(x,Tf);let T=d[g];b===m+T&&(m+=T,++g);let C=b-m===0,A=b===m+d[g]-1;o===ne.SCENE2D&&(bf.z=0,vs.z=0,Tf.z=0),(o===ne.SCENE2D||o===ne.MORPHING)&&(C||A)&&r-Math.abs(vs.x)<1&&((vs.x<0&&bf.x>0||vs.x>0&&bf.x<0)&&h.clone(vs,bf),(vs.x<0&&Tf.x>0||vs.x>0&&Tf.x<0)&&h.clone(vs,Tf));let S=C?2:0,v=A?2:4;for(let D=S;D<v;++D)Wn.writeElements(vs,a,p),Wn.writeElements(bf,a,p+6),Wn.writeElements(Tf,a,p+12),p+=6*3}n.copyFromArrayView(a,6*3*Float32Array.BYTES_PER_ELEMENT*e)}};var om=Ad;function Xg(e){this._positions=e.positions,this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._rectangle=e.rectangle,this._minHeight=e.minimumHeight,this._maxHeight=e.maximumHeight,this._billboardCollection=new yf({batchTable:e.batchTable}),this._labelCollection=new kp({batchTable:e.batchTable}),this._polylineCollection=new om,this._polylineCollection._useHighlightColor=!0,this._packedBuffer=void 0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(Xg.prototype,{ready:{get:function(){return this._ready}},pointsLength:{get:function(){return this._billboardCollection.length}},texturesByteLength:{get:function(){let e=this._billboardCollection.textureAtlas.texture.sizeInBytes,t=this._labelCollection._textureAtlas.texture.sizeInBytes;return e+t}}});function Tje(e,t){let n=e._rectangle,i=e._minHeight,o=e._maxHeight,r=2+ae.packedLength+ee.packedLength,s=new Float64Array(r),a=0;return s[a++]=i,s[a++]=o,ae.pack(n,s,a),a+=ae.packedLength,ee.pack(t,s,a),s}var Cje=new xi("createVectorTilePoints",5),Aje=new h;function Eje(e,t){let n=e._positions,i=e._packedBuffer;l(i)||(n=e._positions=n.slice(),e._batchIds=e._batchIds.slice(),i=e._packedBuffer=Tje(e,t));let o=[n.buffer,i.buffer],r={positions:n.buffer,packedBuffer:i.buffer},s=Cje.scheduleTask(r,o);if(l(s))return s.then(a=>{if(e.isDestroyed())return;e._positions=new Float64Array(a.positions);let c=e._billboardCollection,u=e._labelCollection,f=e._polylineCollection;n=e._positions;let d=e._batchIds,p=n.length/3;for(let g=0;g<p;++g){let m=d[g],x=h.unpack(n,g*3,Aje),b=c.add();b.position=x,b._batchIndex=m;let T=u.add();T.text=" ",T.position=x,T._batchIndex=m;let C=f.add();C.positions=[h.clone(x),h.clone(x)]}e._positions=void 0,e._packedBuffer=void 0,e._ready=!0}).catch(a=>{e.isDestroyed()||(e._error=a)})}Xg.prototype.createFeatures=function(e,t){let n=this._billboardCollection,i=this._labelCollection,o=this._polylineCollection,r=this._batchIds,s=r.length;for(let a=0;a<s;++a){let c=r[a],u=n.get(a),f=i.get(a),d=o.get(a);t[c]=new qg(e,c,u,f,d)}};Xg.prototype.applyDebugSettings=function(e,t){e?(z.clone(t,this._billboardCollection._highlightColor),z.clone(t,this._labelCollection._highlightColor),z.clone(t,this._polylineCollection._highlightColor)):(z.clone(z.WHITE,this._billboardCollection._highlightColor),z.clone(z.WHITE,this._labelCollection._highlightColor),z.clone(z.WHITE,this._polylineCollection._highlightColor))};function Sje(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.pointSize=qg.defaultPointSize,s.color=qg.defaultColor,s.pointOutlineColor=qg.defaultPointOutlineColor,s.pointOutlineWidth=qg.defaultPointOutlineWidth,s.labelColor=z.WHITE,s.labelOutlineColor=z.WHITE,s.labelOutlineWidth=1,s.font="30px sans-serif",s.labelStyle=Zo.FILL,s.labelText=void 0,s.backgroundColor=new z(.165,.165,.165,.8),s.backgroundPadding=new U(7,5),s.backgroundEnabled=!1,s.scaleByDistance=void 0,s.translucencyByDistance=void 0,s.distanceDisplayCondition=void 0,s.heightOffset=0,s.anchorLineEnabled=!1,s.anchorLineColor=z.WHITE,s.image=void 0,s.disableDepthTestDistance=0,s.horizontalOrigin=bi.CENTER,s.verticalOrigin=Ln.CENTER,s.labelHorizontalOrigin=bi.RIGHT,s.labelVerticalOrigin=Ln.BASELINE}}var vje=new z,wje=new z,Dje=new z,Ije=new z,Pje=new z,Oje=new z,Xw=new kt,Kw=new kt,$W=new Lt;Xg.prototype.applyStyle=function(e,t){if(!l(e)){Sje(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];if(l(e.show)&&(s.show=e.show.evaluate(s)),l(e.pointSize)&&(s.pointSize=e.pointSize.evaluate(s)),l(e.color)&&(s.color=e.color.evaluateColor(s,vje)),l(e.pointOutlineColor)&&(s.pointOutlineColor=e.pointOutlineColor.evaluateColor(s,wje)),l(e.pointOutlineWidth)&&(s.pointOutlineWidth=e.pointOutlineWidth.evaluate(s)),l(e.labelColor)&&(s.labelColor=e.labelColor.evaluateColor(s,Dje)),l(e.labelOutlineColor)&&(s.labelOutlineColor=e.labelOutlineColor.evaluateColor(s,Ije)),l(e.labelOutlineWidth)&&(s.labelOutlineWidth=e.labelOutlineWidth.evaluate(s)),l(e.font)&&(s.font=e.font.evaluate(s)),l(e.labelStyle)&&(s.labelStyle=e.labelStyle.evaluate(s)),l(e.labelText)?s.labelText=e.labelText.evaluate(s):s.labelText=void 0,l(e.backgroundColor)&&(s.backgroundColor=e.backgroundColor.evaluateColor(s,Pje)),l(e.backgroundPadding)&&(s.backgroundPadding=e.backgroundPadding.evaluate(s)),l(e.backgroundEnabled)&&(s.backgroundEnabled=e.backgroundEnabled.evaluate(s)),l(e.scaleByDistance)){let a=e.scaleByDistance.evaluate(s);l(a)?(Xw.near=a.x,Xw.nearValue=a.y,Xw.far=a.z,Xw.farValue=a.w,s.scaleByDistance=Xw):s.scaleByDistance=void 0}else s.scaleByDistance=void 0;if(l(e.translucencyByDistance)){let a=e.translucencyByDistance.evaluate(s);l(a)?(Kw.near=a.x,Kw.nearValue=a.y,Kw.far=a.z,Kw.farValue=a.w,s.translucencyByDistance=Kw):s.translucencyByDistance=void 0}else s.translucencyByDistance=void 0;if(l(e.distanceDisplayCondition)){let a=e.distanceDisplayCondition.evaluate(s);l(a)?($W.near=a.x,$W.far=a.y,s.distanceDisplayCondition=$W):s.distanceDisplayCondition=void 0}else s.distanceDisplayCondition=void 0;l(e.heightOffset)&&(s.heightOffset=e.heightOffset.evaluate(s)),l(e.anchorLineEnabled)&&(s.anchorLineEnabled=e.anchorLineEnabled.evaluate(s)),l(e.anchorLineColor)&&(s.anchorLineColor=e.anchorLineColor.evaluateColor(s,Oje)),l(e.image)?s.image=e.image.evaluate(s):s.image=void 0,l(e.disableDepthTestDistance)&&(s.disableDepthTestDistance=e.disableDepthTestDistance.evaluate(s)),l(e.horizontalOrigin)&&(s.horizontalOrigin=e.horizontalOrigin.evaluate(s)),l(e.verticalOrigin)&&(s.verticalOrigin=e.verticalOrigin.evaluate(s)),l(e.labelHorizontalOrigin)&&(s.labelHorizontalOrigin=e.labelHorizontalOrigin.evaluate(s)),l(e.labelVerticalOrigin)&&(s.labelVerticalOrigin=e.labelVerticalOrigin.evaluate(s))}};Xg.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=Eje(this,e.mapProjection.ellipsoid)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._polylineCollection.update(e),this._billboardCollection.update(e),this._labelCollection.update(e)};Xg.prototype.isDestroyed=function(){return!1};Xg.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._polylineCollection=this._polylineCollection&&this._polylineCollection.destroy(),ue(this)};var vB=Xg;function Up(e){this._batchTable=e.batchTable,this._batchIds=e.batchIds,this._positions=e.positions,this._counts=e.counts,this._indices=e.indices,this._indexCounts=e.indexCounts,this._indexOffsets=void 0,this._batchTableColors=void 0,this._packedBuffer=void 0,this._batchedPositions=void 0,this._transferrableBatchIds=void 0,this._vertexBatchIds=void 0,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._polygonMinimumHeights=e.polygonMinimumHeights,this._polygonMaximumHeights=e.polygonMaximumHeights,this._center=y(e.center,h.ZERO),this._rectangle=e.rectangle,this._center=void 0,this._boundingVolume=e.boundingVolume,this._boundingVolumes=void 0,this._batchedIndices=void 0,this._ready=!1,this._promise=void 0,this._error=void 0,this._primitive=void 0,this.debugWireframe=!1,this.forceRebatch=!1,this.classificationType=Un.BOTH}Object.defineProperties(Up.prototype,{trianglesLength:{get:function(){return l(this._primitive)?this._primitive.trianglesLength:0}},geometryByteLength:{get:function(){return l(this._primitive)?this._primitive.geometryByteLength:0}},ready:{get:function(){return this._ready}}});function Rje(e){let t=new Float64Array(3+h.packedLength+ee.packedLength+ae.packedLength),n=0;return t[n++]=e._indices.BYTES_PER_ELEMENT,t[n++]=e._minimumHeight,t[n++]=e._maximumHeight,h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,ae.pack(e._rectangle,t,n),t}function Mje(e,t){let n=1,i=t[n++],o=e._boundingVolumes=new Array(i);for(let a=0;a<i;++a)o[a]=In.unpack(t,n),n+=In.packedLength;let r=t[n++],s=e._batchedIndices=new Array(r);for(let a=0;a<r;++a){let c=z.unpack(t,n);n+=z.packedLength;let u=t[n++],f=t[n++],d=t[n++],p=new Array(d);for(let g=0;g<d;++g)p[g]=t[n++];s[a]=new bp({color:c,offset:u,count:f,batchIds:p})}}var Lje=new xi("createVectorTilePolygons",5),Nje=new z;function Fje(e){if(l(e._primitive))return;let t=e._positions,n=e._counts,i=e._indexCounts,o=e._indices,r=e._transferrableBatchIds,s=e._batchTableColors,a=e._packedBuffer;if(!l(s)){t=e._positions=e._positions.slice(),n=e._counts=e._counts.slice(),i=e._indexCounts=e._indexCounts.slice(),o=e._indices=e._indices.slice(),e._center=e._ellipsoid.cartographicToCartesian(ae.center(e._rectangle)),r=e._transferrableBatchIds=new Uint32Array(e._batchIds),s=e._batchTableColors=new Uint32Array(r.length);let g=e._batchTable,m=s.length;for(let x=0;x<m;++x){let b=g.getColor(x,Nje);s[x]=b.toRgba()}a=e._packedBuffer=Rje(e)}let c=[t.buffer,n.buffer,i.buffer,o.buffer,r.buffer,s.buffer,a.buffer],u={packedBuffer:a.buffer,positions:t.buffer,counts:n.buffer,indexCounts:i.buffer,indices:o.buffer,batchIds:r.buffer,batchTableColors:s.buffer},f=e._polygonMinimumHeights,d=e._polygonMaximumHeights;l(f)&&l(d)&&(f=f.slice(),d=d.slice(),c.push(f.buffer,d.buffer),u.minimumHeights=f,u.maximumHeights=d);let p=Lje.scheduleTask(u,c);if(l(p))return p.then(g=>{if(e.isDestroyed())return;e._positions=void 0,e._counts=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0;let m=new Float64Array(g.packedBuffer),x=m[0];Mje(e,m),e._indices=ke.getSizeInBytes(x)===2?new Uint16Array(g.indices):new Uint32Array(g.indices),e._indexOffsets=new Uint32Array(g.indexOffsets),e._indexCounts=new Uint32Array(g.indexCounts),e._batchedPositions=new Float32Array(g.positions),e._vertexBatchIds=new Uint16Array(g.batchIds),Bje(e),e._ready=!0}).catch(g=>{e.isDestroyed()||(e._error=g)})}function Bje(e){l(e._primitive)||(e._primitive=new _C({batchTable:e._batchTable,positions:e._batchedPositions,batchIds:e._batchIds,vertexBatchIds:e._vertexBatchIds,indices:e._indices,indexOffsets:e._indexOffsets,indexCounts:e._indexCounts,batchedIndices:e._batchedIndices,boundingVolume:e._boundingVolume,boundingVolumes:e._boundingVolumes,center:e._center}),e._batchTable=void 0,e._batchIds=void 0,e._positions=void 0,e._counts=void 0,e._indices=void 0,e._indexCounts=void 0,e._indexOffsets=void 0,e._batchTableColors=void 0,e._packedBuffer=void 0,e._batchedPositions=void 0,e._transferrableBatchIds=void 0,e._vertexBatchIds=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._polygonMinimumHeights=void 0,e._polygonMaximumHeights=void 0,e._center=void 0,e._rectangle=void 0,e._boundingVolume=void 0,e._boundingVolumes=void 0,e._batchedIndices=void 0)}Up.prototype.createFeatures=function(e,t){this._primitive.createFeatures(e,t)};Up.prototype.applyDebugSettings=function(e,t){this._primitive.applyDebugSettings(e,t)};Up.prototype.applyStyle=function(e,t){this._primitive.applyStyle(e,t)};Up.prototype.updateCommands=function(e,t){this._primitive.updateCommands(e,t)};Up.prototype.update=function(e){if(!this._ready){if(l(this._promise)||(this._promise=Fje(this)),l(this._error)){let t=this._error;throw this._error=void 0,t}return}this._primitive.debugWireframe=this.debugWireframe,this._primitive.forceRebatch=this.forceRebatch,this._primitive.classificationType=this.classificationType,this._primitive.update(e)};Up.prototype.isDestroyed=function(){return!1};Up.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var wB=Up;var DB=`in vec4 currentPosition; +in vec4 previousPosition; +in vec4 nextPosition; +in vec2 expandAndWidth; +in float a_batchId; -#define MINIMUM_STEP_SCALAR (0.02) -#define SHIFT_FRACTION (0.001) +uniform mat4 u_modifiedModelView; -/** - * Given a coordinate within a tile, and sample spacings along a ray through - * the coordinate, find the distance to the points where the ray entered and - * exited the voxel cell, along with the surface normals at those points. - * The surface normals are returned in shape space coordinates. - */ -RayShapeIntersection getVoxelIntersection(in vec3 tileUv, in vec3 sampleSizeAlongRay) { - vec3 voxelCoord = tileUv * vec3(u_dimensions); - vec3 directions = sign(sampleSizeAlongRay); - vec3 positiveDirections = max(directions, 0.0); - vec3 entryCoord = mix(ceil(voxelCoord), floor(voxelCoord), positiveDirections); - vec3 exitCoord = entryCoord + directions; - - vec3 distanceFromEntry = -abs((entryCoord - voxelCoord) * sampleSizeAlongRay); - float lastEntry = maxComponent(distanceFromEntry); - bvec3 isLastEntry = equal(distanceFromEntry, vec3(lastEntry)); - vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; - vec4 entry = vec4(entryNormal, lastEntry); +void main() +{ + float expandDir = expandAndWidth.x; + float width = abs(expandAndWidth.y) + 0.5; + bool usePrev = expandAndWidth.y < 0.0; - vec3 distanceToExit = abs((exitCoord - voxelCoord) * sampleSizeAlongRay); - float firstExit = minComponent(distanceToExit); - bvec3 isFirstExit = equal(distanceToExit, vec3(firstExit)); - vec3 exitNormal = vec3(isFirstExit) * directions; - vec4 exit = vec4(exitNormal, firstExit); + vec4 p = u_modifiedModelView * currentPosition; + vec4 prev = u_modifiedModelView * previousPosition; + vec4 next = u_modifiedModelView * nextPosition; - return RayShapeIntersection(entry, exit); + float angle; + vec4 positionWC = getPolylineWindowCoordinatesEC(p, prev, next, expandDir, width, usePrev, angle); + gl_Position = czm_viewportOrthographic * positionWC; +} +`;function Ed(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._boundingVolume=e.boundingVolume,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._currentPositions=void 0,this._previousPositions=void 0,this._nextPositions=void 0,this._expandAndWidth=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=z.clone(z.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(Ed.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function kje(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ae.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ae.pack(t,a,c),c+=ae.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var Vje=new xi("createVectorTilePolylines",5),oA={previousPosition:0,currentPosition:1,nextPosition:2,expandAndWidth:3,a_batchId:4};function Uje(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=kje(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=Vje.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._currentPositions=new Float32Array(f.currentPositions),e._previousPositions=new Float32Array(f.previousPositions),e._nextPositions=new Float32Array(f.nextPositions),e._expandAndWidth=new Float32Array(f.expandAndWidth),e._vertexBatchIds=new Uint16Array(f.batchIds);let d=f.indexDatatype;e._indices=d===ke.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),zje(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function zje(e,t){if(!l(e._va)){let n=e._currentPositions,i=e._previousPositions,o=e._nextPositions,r=e._expandAndWidth,s=e._vertexBatchIds,a=e._indices,c=i.byteLength+n.byteLength+o.byteLength;c+=r.byteLength+s.byteLength+a.byteLength,e._trianglesLength=a.length/3,e._geometryByteLength=c;let u=bt.createVertexBuffer({context:t,typedArray:i,usage:Ue.STATIC_DRAW}),f=bt.createVertexBuffer({context:t,typedArray:n,usage:Ue.STATIC_DRAW}),d=bt.createVertexBuffer({context:t,typedArray:o,usage:Ue.STATIC_DRAW}),p=bt.createVertexBuffer({context:t,typedArray:r,usage:Ue.STATIC_DRAW}),g=bt.createVertexBuffer({context:t,typedArray:s,usage:Ue.STATIC_DRAW}),m=bt.createIndexBuffer({context:t,typedArray:a,usage:Ue.STATIC_DRAW,indexDatatype:a.BYTES_PER_ELEMENT===2?ke.UNSIGNED_SHORT:ke.UNSIGNED_INT}),x=[{index:oA.previousPosition,vertexBuffer:u,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:oA.currentPosition,vertexBuffer:f,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:oA.nextPosition,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:oA.expandAndWidth,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:2},{index:oA.a_batchId,vertexBuffer:g,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new si({context:t,attributes:x,indexBuffer:m}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._currentPositions=void 0,e._previousPositions=void 0,e._nextPositions=void 0,e._expandAndWidth=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var Zw=new F,sce=new h;function Hje(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,Zw),F.multiplyByPoint(Zw,e._center,sce),F.setTranslation(Zw,sce,Zw),Zw},u_highlightColor:function(){return e._highlightColor}})}function Gje(e){if(l(e._rs))return;let t={enabled:!0,factor:-5,units:-5};e._rs=ze.fromCache({blending:fn.ALPHA_BLEND,depthMask:!1,depthTest:{enabled:!0},polygonOffset:t})}var Wje=`uniform vec4 u_highlightColor; +void main() +{ + out_FragColor = u_highlightColor; } +`;function jje(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(DB),o=n.getFragmentShaderCallback(!1,void 0,!1)(Wje),r=new He({defines:["VECTOR_TILE",Gt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[tf,i]}),s=new He({defines:["VECTOR_TILE"],sources:[o]});e._sp=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:oA})}function qje(e,t){if(!l(e._command)){let n=e._batchTable.getUniformMapCallback()(e._uniformMap);e._command=new tt({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:n,boundingVolume:e._boundingVolume,pass:ve.TRANSLUCENT,pickId:e._batchTable.getPickId()})}t.commandList.push(e._command)}Ed.getPolylinePositions=function(e,t){let n=e._batchIds,i=e._decodedPositions,o=e._decodedPositionOffsets;if(!l(n)||!l(i))return;let r,s,a=n.length,c=0,u=0;for(r=0;r<a;++r)n[r]===t&&(c+=o[r+1]-o[r]);if(c===0)return;let f=new Float64Array(c*3);for(r=0;r<a;++r)if(n[r]===t){let d=o[r],p=o[r+1]-d;for(s=0;s<p;++s){let g=(d+s)*3;f[u++]=i[g],f[u++]=i[g+1],f[u++]=i[g+2]}}return f};Ed.prototype.getPositions=function(e){return Ed.getPolylinePositions(this,e)};Ed.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new oa(e,r)}};Ed.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function Yje(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=z.WHITE}}var Xje=new z,Kje=z.WHITE,Zje=!0;Ed.prototype.applyStyle=function(e,t){if(!l(e)){Yje(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,Xje):Kje,s.show=l(e.show)?e.show.evaluate(s):Zje}};Ed.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=Uje(this,t)),l(this._error)){let i=this._error;throw this._error=void 0,i}return}Hje(this,t),jje(this,t),Gje(this);let n=e.passes;(n.render||n.pick)&&qje(this,e)};Ed.prototype.isDestroyed=function(){return!1};Ed.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var rA=Ed;var IB=`in vec3 startEllipsoidNormal; +in vec3 endEllipsoidNormal; +in vec4 startPositionAndHeight; +in vec4 endPositionAndHeight; +in vec4 startFaceNormalAndVertexCorner; +in vec4 endFaceNormalAndHalfWidth; +in float a_batchId; -vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection, in mat3 jacobianT, in float currentT) { - // The Jacobian is computed in a space where the shape spans [-1, 1]. - // But the ray is marched in a space where the shape fills [0, 1]. - // So we need to scale the Jacobian by 2. - vec3 gradient = 2.0 * viewRay.rawDir * jacobianT; - vec3 sampleSizeAlongRay = getSampleSize(sampleData.tileCoords.w) / gradient; +uniform mat4 u_modifiedModelView; +uniform vec2 u_minimumMaximumVectorHeights; - RayShapeIntersection voxelIntersection = getVoxelIntersection(sampleData.tileUv, sampleSizeAlongRay); +out vec4 v_startPlaneEC; +out vec4 v_endPlaneEC; +out vec4 v_rightPlaneEC; +out float v_halfWidth; +out vec3 v_volumeUpEC; - // Transform normal from shape space to Cartesian space - vec3 voxelNormal = normalize(jacobianT * voxelIntersection.entry.xyz); - // Compare with the shape intersection, to choose the appropriate normal - vec4 voxelEntry = vec4(voxelNormal, currentT + voxelIntersection.entry.w); - vec4 entry = intersectionMax(shapeIntersection.entry, voxelEntry); +void main() +{ + // vertex corner IDs + // 3-----------7 + // /| left /| + // / | 1 / | + // 2-----------6 5 end + // | / | / + // start |/ right |/ + // 0-----------4 + // + float isEnd = floor(startFaceNormalAndVertexCorner.w * 0.251); // 0 for front, 1 for end + float isTop = floor(startFaceNormalAndVertexCorner.w * mix(0.51, 0.19, isEnd)); // 0 for bottom, 1 for top - float fixedStep = minComponent(abs(sampleSizeAlongRay)) * u_stepSize; - float shift = fixedStep * SHIFT_FRACTION; - float dt = voxelIntersection.exit.w + shift; - if ((currentT + dt) > shapeIntersection.exit.w) { - // Stop at end of shape - dt = shapeIntersection.exit.w - currentT + shift; - } - float stepSize = clamp(dt, fixedStep * MINIMUM_STEP_SCALAR, fixedStep + shift); + vec3 forward = endPositionAndHeight.xyz - startPositionAndHeight.xyz; + vec3 right = normalize(cross(forward, startEllipsoidNormal)); - return vec4(entry.xyz, stepSize); -} + vec4 position = vec4(startPositionAndHeight.xyz, 1.0); + position.xyz += forward * isEnd; -vec2 packIntToVec2(int value) { - float shifted = float(value) / 255.0; - float lowBits = fract(shifted); - float highBits = floor(shifted) / 255.0; - return vec2(highBits, lowBits); -} + v_volumeUpEC = czm_normal * normalize(cross(right, forward)); -vec2 packFloatToVec2(float value) { - float lowBits = fract(value); - float highBits = floor(value) / 255.0; - return vec2(highBits, lowBits); -} + // Push for volume height + float offset; + vec3 ellipsoidNormal = mix(startEllipsoidNormal, endEllipsoidNormal, isEnd); -int getSampleIndex(in vec3 tileUv) { - ivec3 voxelDimensions = u_dimensions; - vec3 sampleCoordinate = tileUv * vec3(voxelDimensions); - // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not. - // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1). - // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring - vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5); - sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate); - ivec3 sampleIndex = ivec3(floor(sampleCoordinate)); - #if defined(PADDING) - voxelDimensions += u_paddingBefore + u_paddingAfter; - sampleIndex += u_paddingBefore; - #endif - // Convert to a 1D index for lookup in a 1D data array - return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z); + // offset height to create volume + offset = mix(startPositionAndHeight.w, endPositionAndHeight.w, isEnd); + offset = mix(u_minimumMaximumVectorHeights.y, u_minimumMaximumVectorHeights.x, isTop) - offset; + position.xyz += offset * ellipsoidNormal; + + // move from RTC to EC + position = u_modifiedModelView * position; + right = czm_normal * right; + + // Push for width in a direction that is in the start or end plane and in a plane with right + // N = normalEC ("right-facing" direction for push) + // R = right + // p = angle between N and R + // w = distance to push along R if R == N + // d = distance to push along N + // + // N R + // { p| } * cos(p) = dot(N, R) = w / d + // d | |w * d = w / dot(N, R) + // { | } + // o---------- polyline segment ----> + // + vec3 scratchNormal = mix(-startFaceNormalAndVertexCorner.xyz, endFaceNormalAndHalfWidth.xyz, isEnd); + scratchNormal = cross(scratchNormal, mix(startEllipsoidNormal, endEllipsoidNormal, isEnd)); + vec3 miterPushNormal = czm_normal * normalize(scratchNormal); + + offset = 2.0 * endFaceNormalAndHalfWidth.w * max(0.0, czm_metersPerPixel(position)); // offset = widthEC + offset = offset / dot(miterPushNormal, right); + position.xyz += miterPushNormal * (offset * sign(0.5 - mod(startFaceNormalAndVertexCorner.w, 2.0))); + + gl_Position = czm_depthClamp(czm_projection * position); + + position = u_modifiedModelView * vec4(startPositionAndHeight.xyz, 1.0); + vec3 startNormalEC = czm_normal * startFaceNormalAndVertexCorner.xyz; + v_startPlaneEC = vec4(startNormalEC, -dot(startNormalEC, position.xyz)); + v_rightPlaneEC = vec4(right, -dot(right, position.xyz)); + + position = u_modifiedModelView * vec4(endPositionAndHeight.xyz, 1.0); + vec3 endNormalEC = czm_normal * endFaceNormalAndHalfWidth.xyz; + v_endPlaneEC = vec4(endNormalEC, -dot(endNormalEC, position.xyz)); + v_halfWidth = endFaceNormalAndHalfWidth.w; } +`;var PB=`in vec4 v_startPlaneEC; +in vec4 v_endPlaneEC; +in vec4 v_rightPlaneEC; +in float v_halfWidth; +in vec3 v_volumeUpEC; +uniform vec4 u_highlightColor; void main() { - vec4 fragCoord = gl_FragCoord; - vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] - vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); - vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case - vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case - vec3 viewPosUv = u_cameraPositionUv; - #if defined(SHAPE_ELLIPSOID) - // viewDirUv has been scaled to a space where the ellipsoid is a sphere. - // Undo this scaling to get the raw direction. - vec3 rawDir = viewDirUv * u_ellipsoidRadiiUv; - Ray viewRayUv = Ray(viewPosUv, viewDirUv, rawDir); - #else - Ray viewRayUv = Ray(viewPosUv, viewDirUv, viewDirUv); - #endif - - Intersections ix; - RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); + float logDepthOrDepth = czm_branchFreeTernary(czm_sceneMode == czm_sceneMode2D, gl_FragCoord.z, czm_unpackDepth(texture(czm_globeDepthTexture, gl_FragCoord.xy / czm_viewport.zw))); - // Exit early if the scene was completely missed. - if (shapeIntersection.entry.w == NO_HIT) { + // Discard for sky + if (logDepthOrDepth == 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(0.0, 0.0, 1.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME discard; +#endif // DEBUG_SHOW_VOLUME } - float currentT = shapeIntersection.entry.w; - float endT = shapeIntersection.exit.w; - vec3 positionUv = viewPosUv + currentT * viewDirUv; - PointJacobianT pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + eyeCoordinate /= eyeCoordinate.w; - // Traverse the tree from the start position - TraversalData traversalData; - SampleData sampleDatas[SAMPLE_COUNT]; - traverseOctreeFromBeginning(pointJacobian.point, traversalData, sampleDatas); - vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + float halfMaxWidth = v_halfWidth * czm_metersPerPixel(eyeCoordinate); - #if defined(JITTER) - float noise = hash(screenCoord); // [0,1] - currentT += noise * step.w; - positionUv += noise * step.w * viewDirUv; - #endif + // Expand halfMaxWidth if direction to camera is almost perpendicular with the volume's up direction + halfMaxWidth += halfMaxWidth * (1.0 - dot(-normalize(eyeCoordinate.xyz), v_volumeUpEC)); - FragmentInput fragmentInput; - #if defined(STATISTICS) - setStatistics(fragmentInput.metadata.statistics); - #endif + // Check distance of the eye coordinate against the right-facing plane + float widthwiseDistance = czm_planeDistance(v_rightPlaneEC, eyeCoordinate.xyz); - vec4 colorAccum = vec4(0.0); + // Check eye coordinate against the mitering planes + float distanceFromStart = czm_planeDistance(v_startPlaneEC, eyeCoordinate.xyz); + float distanceFromEnd = czm_planeDistance(v_endPlaneEC, eyeCoordinate.xyz); - for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { - // Read properties from the megatexture based on the traversal state - Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); + if (abs(widthwiseDistance) > halfMaxWidth || distanceFromStart < 0.0 || distanceFromEnd < 0.0) { +#ifdef DEBUG_SHOW_VOLUME + out_FragColor = vec4(logDepthOrDepth, 0.0, 0.0, 0.5); + return; +#else // DEBUG_SHOW_VOLUME + discard; +#endif // DEBUG_SHOW_VOLUME + } + out_FragColor = u_highlightColor; - // Prepare the custom shader inputs - copyPropertiesToMetadata(properties, fragmentInput.metadata); - fragmentInput.voxel.positionUv = positionUv; - fragmentInput.voxel.positionShapeUv = pointJacobian.point; - fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; - fragmentInput.voxel.viewDirUv = viewDirUv; - fragmentInput.voxel.viewDirWorld = viewDirWorld; - fragmentInput.voxel.surfaceNormal = step.xyz; - fragmentInput.voxel.travelDistance = step.w; - fragmentInput.voxel.stepCount = stepCount; - fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex; - fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv); + czm_writeDepthClamp(); +} +`;function zp(e){this._positions=e.positions,this._widths=e.widths,this._counts=e.counts,this._batchIds=e.batchIds,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._center=e.center,this._rectangle=e.rectangle,this._batchTable=e.batchTable,this._va=void 0,this._sp=void 0,this._rs=void 0,this._uniformMap=void 0,this._command=void 0,this._transferrableBatchIds=void 0,this._packedBuffer=void 0,this._minimumMaximumVectorHeights=new U(hi._defaultMinTerrainHeight,hi._defaultMaxTerrainHeight),this._boundingVolume=In.fromRectangle(e.rectangle,hi._defaultMinTerrainHeight,hi._defaultMaxTerrainHeight,this._ellipsoid),this._classificationType=e.classificationType,this._keepDecodedPositions=e.keepDecodedPositions,this._decodedPositions=void 0,this._decodedPositionOffsets=void 0,this._startEllipsoidNormals=void 0,this._endEllipsoidNormals=void 0,this._startPositionAndHeights=void 0,this._startFaceNormalAndVertexCornerIds=void 0,this._endPositionAndHeights=void 0,this._endFaceNormalAndHalfWidths=void 0,this._vertexBatchIds=void 0,this._indices=void 0,this._constantColor=z.clone(z.WHITE),this._highlightColor=this._constantColor,this._trianglesLength=0,this._geometryByteLength=0,this._ready=!1,this._promise=void 0,this._error=void 0}Object.defineProperties(zp.prototype,{trianglesLength:{get:function(){return this._trianglesLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}}});function $je(e,t,n){let i=hi.getMinimumMaximumHeights(t,n),o=i.minimumTerrainHeight,r=i.maximumTerrainHeight,s=e._minimumMaximumVectorHeights;s.x=o,s.y=r;let a=e._boundingVolume,c=e._rectangle;In.fromRectangle(c,o,r,n,a)}function Qje(e){let t=e._rectangle,n=e._minimumHeight,i=e._maximumHeight,o=e._ellipsoid,r=e._center,s=2+ae.packedLength+ee.packedLength+h.packedLength,a=new Float64Array(s),c=0;return a[c++]=n,a[c++]=i,ae.pack(t,a,c),c+=ae.packedLength,ee.pack(o,a,c),c+=ee.packedLength,h.pack(r,a,c),a}var Jje=new xi("createVectorTileClampedPolylines"),Kg={startEllipsoidNormal:0,endEllipsoidNormal:1,startPositionAndHeight:2,endPositionAndHeight:3,startFaceNormalAndVertexCorner:4,endFaceNormalAndHalfWidth:5,a_batchId:6};function e7e(e,t){if(l(e._va))return;let n=e._positions,i=e._widths,o=e._counts,r=e._transferrableBatchIds,s=e._packedBuffer;l(s)||(n=e._positions=n.slice(),i=e._widths=i.slice(),o=e._counts=o.slice(),r=e._transferrableBatchIds=e._batchIds.slice(),s=e._packedBuffer=Qje(e));let a=[n.buffer,i.buffer,o.buffer,r.buffer,s.buffer],c={positions:n.buffer,widths:i.buffer,counts:o.buffer,batchIds:r.buffer,packedBuffer:s.buffer,keepDecodedPositions:e._keepDecodedPositions},u=Jje.scheduleTask(c,a);if(l(u))return u.then(function(f){if(e.isDestroyed())return;e._keepDecodedPositions&&(e._decodedPositions=new Float64Array(f.decodedPositions),e._decodedPositionOffsets=new Uint32Array(f.decodedPositionOffsets)),e._startEllipsoidNormals=new Float32Array(f.startEllipsoidNormals),e._endEllipsoidNormals=new Float32Array(f.endEllipsoidNormals),e._startPositionAndHeights=new Float32Array(f.startPositionAndHeights),e._startFaceNormalAndVertexCornerIds=new Float32Array(f.startFaceNormalAndVertexCornerIds),e._endPositionAndHeights=new Float32Array(f.endPositionAndHeights),e._endFaceNormalAndHalfWidths=new Float32Array(f.endFaceNormalAndHalfWidths),e._vertexBatchIds=new Uint16Array(f.vertexBatchIds);let d=f.indexDatatype;e._indices=d===ke.UNSIGNED_SHORT?new Uint16Array(f.indices):new Uint32Array(f.indices),t7e(e,t),e._ready=!0}).catch(f=>{e.isDestroyed()||(e._error=f)})}function t7e(e,t){if(!l(e._va)){let n=e._startEllipsoidNormals,i=e._endEllipsoidNormals,o=e._startPositionAndHeights,r=e._endPositionAndHeights,s=e._startFaceNormalAndVertexCornerIds,a=e._endFaceNormalAndHalfWidths,c=e._vertexBatchIds,u=e._indices,f=n.byteLength+i.byteLength;f+=o.byteLength+r.byteLength,f+=s.byteLength+a.byteLength,f+=c.byteLength+u.byteLength,e._trianglesLength=u.length/3,e._geometryByteLength=f;let d=bt.createVertexBuffer({context:t,typedArray:n,usage:Ue.STATIC_DRAW}),p=bt.createVertexBuffer({context:t,typedArray:i,usage:Ue.STATIC_DRAW}),g=bt.createVertexBuffer({context:t,typedArray:o,usage:Ue.STATIC_DRAW}),m=bt.createVertexBuffer({context:t,typedArray:r,usage:Ue.STATIC_DRAW}),x=bt.createVertexBuffer({context:t,typedArray:s,usage:Ue.STATIC_DRAW}),b=bt.createVertexBuffer({context:t,typedArray:a,usage:Ue.STATIC_DRAW}),T=bt.createVertexBuffer({context:t,typedArray:c,usage:Ue.STATIC_DRAW}),C=bt.createIndexBuffer({context:t,typedArray:u,usage:Ue.STATIC_DRAW,indexDatatype:u.BYTES_PER_ELEMENT===2?ke.UNSIGNED_SHORT:ke.UNSIGNED_INT}),A=[{index:Kg.startEllipsoidNormal,vertexBuffer:d,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:Kg.endEllipsoidNormal,vertexBuffer:p,componentDatatype:X.FLOAT,componentsPerAttribute:3},{index:Kg.startPositionAndHeight,vertexBuffer:g,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Kg.endPositionAndHeight,vertexBuffer:m,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Kg.startFaceNormalAndVertexCorner,vertexBuffer:x,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Kg.endFaceNormalAndHalfWidth,vertexBuffer:b,componentDatatype:X.FLOAT,componentsPerAttribute:4},{index:Kg.a_batchId,vertexBuffer:T,componentDatatype:X.UNSIGNED_SHORT,componentsPerAttribute:1}];e._va=new si({context:t,attributes:A,indexBuffer:C}),e._positions=void 0,e._widths=void 0,e._counts=void 0,e._ellipsoid=void 0,e._minimumHeight=void 0,e._maximumHeight=void 0,e._rectangle=void 0,e._transferrableBatchIds=void 0,e._packedBuffer=void 0,e._startEllipsoidNormals=void 0,e._endEllipsoidNormals=void 0,e._startPositionAndHeights=void 0,e._startFaceNormalAndVertexCornerIds=void 0,e._endPositionAndHeights=void 0,e._endFaceNormalAndHalfWidths=void 0,e._vertexBatchIds=void 0,e._indices=void 0}}var $w=new F,ace=new h;function n7e(e,t){l(e._uniformMap)||(e._uniformMap={u_modifiedModelView:function(){let n=t.uniformState.view;return F.clone(n,$w),F.multiplyByPoint($w,e._center,ace),F.setTranslation($w,ace,$w),$w},u_highlightColor:function(){return e._highlightColor},u_minimumMaximumVectorHeights:function(){return e._minimumMaximumVectorHeights}})}function cce(e){return ze.fromCache({cull:{enabled:!0,face:Ti.FRONT},blending:fn.PRE_MULTIPLIED_ALPHA_BLEND,depthMask:!1,stencilTest:{enabled:e,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.EQUAL,backOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},reference:Ut.CESIUM_3D_TILE_MASK,mask:Ut.CESIUM_3D_TILE_MASK}})}function i7e(e){l(e._rs)||(e._rs=cce(!1),e._rs3DTiles=cce(!0))}function o7e(e,t){if(l(e._sp))return;let n=e._batchTable,i=n.getVertexShaderCallback(!1,"a_batchId",void 0)(IB),o=n.getFragmentShaderCallback(!1,void 0,!0)(PB),r=new He({defines:["VECTOR_TILE",Gt.isInternetExplorer()?"":"CLIP_POLYLINE"],sources:[tf,i]}),s=new He({defines:["VECTOR_TILE"],sources:[o]});e._sp=tn.fromCache({context:t,vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:Kg})}function r7e(e,t){let n=e._command;if(!l(e._command)){let o=e._batchTable.getUniformMapCallback()(e._uniformMap);n=e._command=new tt({owner:e,vertexArray:e._va,renderState:e._rs,shaderProgram:e._sp,uniformMap:o,boundingVolume:e._boundingVolume,pass:ve.TERRAIN_CLASSIFICATION,pickId:e._batchTable.getPickId()});let r=tt.shallowClone(n,n.derivedCommands.tileset);r.renderState=e._rs3DTiles,r.pass=ve.CESIUM_3D_TILE_CLASSIFICATION,n.derivedCommands.tileset=r}let i=e._classificationType;(i===Un.TERRAIN||i===Un.BOTH)&&t.commandList.push(n),(i===Un.CESIUM_3D_TILE||i===Un.BOTH)&&t.commandList.push(n.derivedCommands.tileset)}zp.prototype.getPositions=function(e){return rA.getPolylinePositions(this,e)};zp.prototype.createFeatures=function(e,t){let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o];t[r]=new oa(e,r)}};zp.prototype.applyDebugSettings=function(e,t){this._highlightColor=e?t:this._constantColor};function s7e(e,t){let n=e._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.show=!0,s.color=z.WHITE}}var a7e=new z,c7e=z.WHITE,l7e=!0;zp.prototype.applyStyle=function(e,t){if(!l(e)){s7e(this,t);return}let n=this._batchIds,i=n.length;for(let o=0;o<i;++o){let r=n[o],s=t[r];s.color=l(e.color)?e.color.evaluateColor(s,a7e):c7e,s.show=l(e.show)?e.show.evaluate(s):l7e}};function u7e(e){return hi.initialize().then(function(){$je(e,e._rectangle,e._ellipsoid)}).catch(t=>{e.isDestroyed()||(e._error=t)})}zp.prototype.update=function(e){let t=e.context;if(!this._ready){if(l(this._promise)||(this._promise=u7e(this).then(e7e(this,t))),l(this._error)){let i=this._error;throw this._error=void 0,i}return}n7e(this,t),o7e(this,t),i7e(this);let n=e.passes;(n.render||n.pick)&&r7e(this,e)};zp.prototype.isDestroyed=function(){return!1};zp.prototype.destroy=function(){return this._va=this._va&&this._va.destroy(),this._sp=this._sp&&this._sp.destroy(),ue(this)};var OB=zp;var QW=32767,f7e=new fe,d7e=new h;function h7e(e,t,n,i,o){let r=e.length/3,s=e.subarray(0,r),a=e.subarray(r,2*r),c=e.subarray(2*r,3*r);Fn.zigZagDeltaDecode(s,a,c);let u=new Float64Array(e.length);for(let f=0;f<r;++f){let d=s[f],p=a[f],g=c[f],m=P.lerp(t.west,t.east,d/QW),x=P.lerp(t.south,t.north,p/QW),b=P.lerp(n,i,g/QW),T=fe.fromRadians(m,x,b,f7e),C=o.cartographicToCartesian(T,d7e);h.pack(C,u,f*3)}return u}var RB=h7e;function vd(e,t,n,i,o){this._tileset=e,this._tile=t,this._resource=n,this._polygons=void 0,this._polylines=void 0,this._points=void 0,this._metadata=void 0,this._batchTable=void 0,this._features=void 0,this.featurePropertiesDirty=!1,this._group=void 0,this._ready=!1,y7e(this,i,o)}Object.defineProperties(vd.prototype,{featuresLength:{get:function(){return l(this._batchTable)?this._batchTable.featuresLength:0}},pointsLength:{get:function(){return l(this._points)?this._points.pointsLength:0}},trianglesLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.trianglesLength),l(this._polylines)&&(e+=this._polylines.trianglesLength),e}},geometryByteLength:{get:function(){let e=0;return l(this._polygons)&&(e+=this._polygons.geometryByteLength),l(this._polylines)&&(e+=this._polylines.geometryByteLength),e}},texturesByteLength:{get:function(){return l(this._points)?this._points.texturesByteLength:0}},batchTableByteLength:{get:function(){return l(this._batchTable)?this._batchTable.batchTableByteLength:0}},innerContents:{get:function(){}},ready:{get:function(){return this._ready}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){return this._resource.getUrlComponent(!0)}},metadata:{get:function(){return this._metadata},set:function(e){this._metadata=e}},batchTable:{get:function(){return this._batchTable}},group:{get:function(){return this._group},set:function(e){this._group=e}}});function m7e(e){return function(t,n){l(e._polygons)&&e._polygons.updateCommands(t,n)}}function p7e(e,t){let n,i,o,r,s=y(e.POLYGONS_LENGTH,0),a=y(e.POLYLINES_LENGTH,0),c=y(e.POINTS_LENGTH,0);if(s>0&&l(e.POLYGON_BATCH_IDS)){let p=t.byteOffset+e.POLYGON_BATCH_IDS.byteOffset;n=new Uint16Array(t.buffer,p,s)}if(a>0&&l(e.POLYLINE_BATCH_IDS)){let p=t.byteOffset+e.POLYLINE_BATCH_IDS.byteOffset;i=new Uint16Array(t.buffer,p,a)}if(c>0&&l(e.POINT_BATCH_IDS)){let p=t.byteOffset+e.POINT_BATCH_IDS.byteOffset;o=new Uint16Array(t.buffer,p,c)}let u=l(n)||l(i)||l(o),f=s>0&&!l(n)||a>0&&!l(i)||c>0&&!l(o);if(u&&f)throw new se("If one group of batch ids is defined, then all batch ids must be defined");if(!l(n)&&!l(i)&&!l(o)){let p=0;if(!l(n)&&s>0)for(n=new Uint16Array(s),r=0;r<s;++r)n[r]=p++;if(!l(i)&&a>0)for(i=new Uint16Array(a),r=0;r<a;++r)i[r]=p++;if(!l(o)&&c>0)for(o=new Uint16Array(c),r=0;r<c;++r)o[r]=p++}return{polygons:n,polylines:i,points:o}}var Sd=Uint32Array.BYTES_PER_ELEMENT;function _7e(e){return new rA(e)}function g7e(e){return new OB(e)}function y7e(e,t,n){n=y(n,0);let i=new Uint8Array(t),o=new DataView(t);n+=Sd;let r=o.getUint32(n,!0);if(r!==1)throw new se(`Only Vector tile version 1 is supported. Version ${r} is not.`);n+=Sd;let s=o.getUint32(n,!0);if(n+=Sd,s===0){e._ready=!0;return}let a=o.getUint32(n,!0);if(n+=Sd,a===0)throw new se("Feature table must have a byte length greater than zero");let c=o.getUint32(n,!0);n+=Sd;let u=o.getUint32(n,!0);n+=Sd;let f=o.getUint32(n,!0);n+=Sd;let d=o.getUint32(n,!0);n+=Sd;let p=o.getUint32(n,!0);n+=Sd;let g=o.getUint32(n,!0);n+=Sd;let m=o.getUint32(n,!0);n+=Sd;let x=Fo(i,n,a);n+=a;let b=new Uint8Array(t,n,c);n+=c;let T,C;u>0&&(T=Fo(i,n,u),n+=u,f>0&&(C=new Uint8Array(t,n,f),C=new Uint8Array(C),n+=f));let A=y(x.POLYGONS_LENGTH,0),S=y(x.POLYLINES_LENGTH,0),v=y(x.POINTS_LENGTH,0),D=A+S+v,R=new cg(e,D,T,C,m7e(e));if(e._batchTable=R,D===0)return;let O=new $h(x,b),M=O.getGlobalProperty("REGION");if(!l(M))throw new se("Feature table global property: REGION must be defined");let N=ae.unpack(M),_=M[4],E=M[5],w=e._tile.computedTransform,I=O.getGlobalProperty("RTC_CENTER",X.FLOAT,3);l(I)?(I=h.unpack(I),F.multiplyByPoint(w,I,I)):(I=ae.center(N),I.height=P.lerp(_,E,.5),I=ee.WGS84.cartographicToCartesian(I));let L=p7e(x,b);if(n+=(4-n%4)%4,A>0){O.featuresLength=A;let B=y(O.getPropertyArray("POLYGON_COUNTS",X.UNSIGNED_INT,1),O.getPropertyArray("POLYGON_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new se("Feature table property: POLYGON_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let H=y(O.getPropertyArray("POLYGON_INDEX_COUNTS",X.UNSIGNED_INT,1),O.getPropertyArray("POLYGON_INDEX_COUNT",X.UNSIGNED_INT,1));if(!l(H))throw new se("Feature table property: POLYGON_INDEX_COUNTS must be defined when POLYGONS_LENGTH is greater than 0");let V=B.reduce(function(j,Z){return j+Z*2},0),G=H.reduce(function(j,Z){return j+Z},0),k=new Uint32Array(t,n,G);n+=d;let W=new Uint16Array(t,n,V);n+=p;let Y,J;l(x.POLYGON_MINIMUM_HEIGHTS)&&l(x.POLYGON_MAXIMUM_HEIGHTS)&&(Y=O.getPropertyArray("POLYGON_MINIMUM_HEIGHTS",X.FLOAT,1),J=O.getPropertyArray("POLYGON_MAXIMUM_HEIGHTS",X.FLOAT,1)),e._polygons=new wB({positions:W,counts:B,indexCounts:H,indices:k,minimumHeight:_,maximumHeight:E,polygonMinimumHeights:Y,polygonMaximumHeights:J,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:R,batchIds:L.polygons,modelMatrix:w})}if(S>0){O.featuresLength=S;let B=y(O.getPropertyArray("POLYLINE_COUNTS",X.UNSIGNED_INT,1),O.getPropertyArray("POLYLINE_COUNT",X.UNSIGNED_INT,1));if(!l(B))throw new se("Feature table property: POLYLINE_COUNTS must be defined when POLYLINES_LENGTH is greater than 0");let H=O.getPropertyArray("POLYLINE_WIDTHS",X.UNSIGNED_SHORT,1);if(!l(H)){H=new Uint16Array(S);for(let J=0;J<S;++J)H[J]=2}let V=B.reduce(function(J,j){return J+j*3},0),G=new Uint16Array(t,n,V);n+=g;let k=e._tileset,W=k.examineVectorLinesFunction;if(l(W)){let J=RB(new Uint16Array(G),N,_,E,ee.WGS84);x7e(J,B,L.polylines,R,e.url,W)}let Y=_7e;l(k.classificationType)&&(Y=g7e),e._polylines=Y({positions:G,widths:H,counts:B,batchIds:L.polylines,minimumHeight:_,maximumHeight:E,center:I,rectangle:N,boundingVolume:e.tile.boundingVolume.boundingVolume,batchTable:R,classificationType:k.classificationType,keepDecodedPositions:k.vectorKeepDecodedPositions})}if(v>0){let B=new Uint16Array(t,n,v*3);n+=m,e._points=new vB({positions:B,batchIds:L.points,minimumHeight:_,maximumHeight:E,rectangle:N,batchTable:R})}}function JW(e){let t=e.featuresLength;if(!l(e._features)&&t>0){let n=new Array(t);l(e._polygons)&&e._polygons.createFeatures(e,n),l(e._polylines)&&e._polylines.createFeatures(e,n),l(e._points)&&e._points.createFeatures(e,n),e._features=n}}vd.prototype.hasProperty=function(e,t){return this._batchTable.hasProperty(e,t)};vd.prototype.getFeature=function(e){return l(this._features)||JW(this),this._features[e]};vd.prototype.applyDebugSettings=function(e,t){l(this._polygons)&&this._polygons.applyDebugSettings(e,t),l(this._polylines)&&this._polylines.applyDebugSettings(e,t),l(this._points)&&this._points.applyDebugSettings(e,t)};vd.prototype.applyStyle=function(e){l(this._features)||JW(this),l(this._polygons)&&this._polygons.applyStyle(e,this._features),l(this._polylines)&&this._polylines.applyStyle(e,this._features),l(this._points)&&this._points.applyStyle(e,this._features)};vd.prototype.update=function(e,t){let n=!0;l(this._polygons)&&(this._polygons.classificationType=this._tileset.classificationType,this._polygons.debugWireframe=this._tileset.debugWireframe,this._polygons.update(t),n=n&&this._polygons.ready),l(this._polylines)&&(this._polylines.update(t),n=n&&this._polylines.ready),l(this._points)&&(this._points.update(t),n=n&&this._points.ready),l(this._batchTable)&&n&&(l(this._features)||JW(this),this._batchTable.update(e,t),this._ready=!0)};vd.prototype.pick=function(e,t,n){};vd.prototype.getPolylinePositions=function(e){let t=this._polylines;if(l(t))return t.getPositions(e)};vd.prototype.isDestroyed=function(){return!1};vd.prototype.destroy=function(){return this._polygons=this._polygons&&this._polygons.destroy(),this._polylines=this._polylines&&this._polylines.destroy(),this._points=this._points&&this._points.destroy(),this._batchTable=this._batchTable&&this._batchTable.destroy(),ue(this)};function x7e(e,t,n,i,o,r){let s=t.length,a=0;for(let c=0;c<s;c++){let u=t[c]*3,f=e.slice(a,a+u);a+=u,r(f,n[c],o,i)}}var MB=vd;var lce={b3dm:function(e,t,n,i,o){return hf.fromB3dm(e,t,n,i,o)},pnts:function(e,t,n,i,o){return hf.fromPnts(e,t,n,i,o)},i3dm:function(e,t,n,i,o){return hf.fromI3dm(e,t,n,i,o)},cmpt:function(e,t,n,i,o){return QL.fromTileType(e,t,n,i,o,lce)},externalTileset:function(e,t,n,i){return dB.fromJson(e,t,n,i)},geom:function(e,t,n,i,o){return new sN(e,t,n,i,o)},vctr:function(e,t,n,i,o){return new MB(e,t,n,i,o)},subt:function(e,t,n,i,o){return hw.fromSubtreeJson(e,t,n,void 0,i,o)},subtreeJson:function(e,t,n,i){return hw.fromSubtreeJson(e,t,n,i)},glb:function(e,t,n,i,o){if(i.byteLength<12)throw new se("Invalid glb content");let a=new DataView(i,o).getUint32(8,!0),c=new Uint8Array(i,o,a);return hf.fromGltf(e,t,n,c)},gltf:function(e,t,n,i){return hf.fromGltf(e,t,n,i)},geoJson:function(e,t,n,i){return hf.fromGeoJson(e,t,n,i)}},sA=lce;var b7e={UNLOADED:0,LOADING:1,PROCESSING:2,READY:3,EXPIRED:4,FAILED:5},$o=Object.freeze(b7e);var wd={BATCHED_3D_MODEL:"b3dm",INSTANCED_3D_MODEL:"i3dm",COMPOSITE:"cmpt",POINT_CLOUD:"pnts",VECTOR:"vctr",GEOMETRY:"geom",GLTF:"gltf",GLTF_BINARY:"glb",IMPLICIT_SUBTREE:"subt",IMPLICIT_SUBTREE_JSON:"subtreeJson",EXTERNAL_TILESET:"externalTileset",MULTIPLE_CONTENT:"multipleContent",GEOJSON:"geoJson",VOXEL_BINARY:"voxl",VOXEL_JSON:"voxelJson"};wd.isBinaryFormat=function(e){switch(e){case wd.BATCHED_3D_MODEL:case wd.INSTANCED_3D_MODEL:case wd.COMPOSITE:case wd.POINT_CLOUD:case wd.VECTOR:case wd.GEOMETRY:case wd.IMPLICIT_SUBTREE:case wd.VOXEL_BINARY:case wd.GLTF_BINARY:return!0;default:return!1}};var Hs=Object.freeze(wd);var T7e={NOT_COMPUTED:-1,USE_OPTIMIZATION:1,SKIP_OPTIMIZATION:0},Dd=Object.freeze(T7e);var Gs={RENDER:0,PICK:1,SHADOW:2,PRELOAD:3,PRELOAD_FLIGHT:4,REQUEST_RENDER_MODE_DEFER_CHECK:5,MOST_DETAILED_PRELOAD:6,MOST_DETAILED_PICK:7,NUMBER_OF_PASSES:8},Hp=new Array(Gs.NUMBER_OF_PASSES);Hp[Gs.RENDER]=Object.freeze({pass:Gs.RENDER,isRender:!0,requestTiles:!0,ignoreCommands:!1});Hp[Gs.PICK]=Object.freeze({pass:Gs.PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});Hp[Gs.SHADOW]=Object.freeze({pass:Gs.SHADOW,isRender:!1,requestTiles:!0,ignoreCommands:!1});Hp[Gs.PRELOAD]=Object.freeze({pass:Gs.PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});Hp[Gs.PRELOAD_FLIGHT]=Object.freeze({pass:Gs.PRELOAD_FLIGHT,isRender:!1,requestTiles:!0,ignoreCommands:!0});Hp[Gs.REQUEST_RENDER_MODE_DEFER_CHECK]=Object.freeze({pass:Gs.REQUEST_RENDER_MODE_DEFER_CHECK,isRender:!1,requestTiles:!0,ignoreCommands:!0});Hp[Gs.MOST_DETAILED_PRELOAD]=Object.freeze({pass:Gs.MOST_DETAILED_PRELOAD,isRender:!1,requestTiles:!0,ignoreCommands:!0});Hp[Gs.MOST_DETAILED_PICK]=Object.freeze({pass:Gs.MOST_DETAILED_PICK,isRender:!1,requestTiles:!1,ignoreCommands:!1});Gs.getPassOptions=function(e){return Hp[e]};var Vo=Object.freeze(Gs);function rm(e,t){this._tileset=e,this._tile=t,this.featurePropertiesDirty=!1}Object.defineProperties(rm.prototype,{featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){}},ready:{get:function(){return!0}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(e){}},batchTable:{get:function(){}},group:{get:function(){},set:function(e){}}});rm.prototype.hasProperty=function(e,t){return!1};rm.prototype.getFeature=function(e){};rm.prototype.applyDebugSettings=function(e,t){};rm.prototype.applyStyle=function(e){};rm.prototype.update=function(e,t){};rm.prototype.pick=function(e,t,n){};rm.prototype.isDestroyed=function(){return!1};rm.prototype.destroy=function(){return ue(this)};var Qw=rm;function Gp(e){e=y(e,y.EMPTY_OBJECT);let t=e.content,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(Gp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Gp.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Gp.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Gp.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Gp.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};Gp.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};Gp.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};Gp.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var LB=Gp;function ej(e,t){let n=li(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){ej._oneTimeWarning("findContentMetadata-missing-root-schema","Could not find a metadata schema for content metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new LB({content:n,class:o})}}ej._oneTimeWarning=Tt;var aA=ej;function C7e(e,t){let n=e.metadataExtension;if(!l(n))return;let i=n.groups,o=li(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"].group:t.group;if(typeof o=="number")return i[o];let r=n.groupIds.findIndex(function(s){return s===o});return r>=0?i[r]:void 0}var cA=C7e;function Wp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tile,n=e.class;this._class=n,this._properties=t.properties,this._extensions=t.extensions,this._extras=t.extras}Object.defineProperties(Wp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Wp.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Wp.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Wp.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Wp.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};Wp.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};Wp.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};Wp.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var NB=Wp;function tj(e,t){let n=li(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t.metadata;if(!l(n))return;if(!l(e.schema)){tj._oneTimeWarning("findTileMetadata-missing-root-schema","Could not find a metadata schema for tile metadata. For tilesets that contain external tilesets, make sure the schema is added to the root tileset.json.");return}let i=y(e.schema.classes,y.EMPTY_OBJECT);if(l(n.class)){let o=i[n.class];return new NB({tile:n,class:o})}}tj._oneTimeWarning=Tt;var FB=tj;function A7e(e){let t=new Uint8Array(e),n=Hh(t);if(n==="glTF"&&(n="glb"),Hs.isBinaryFormat(n))return{contentType:n,binaryPayload:t};let i=E7e(t);if(l(i.root))return{contentType:Hs.EXTERNAL_TILESET,jsonPayload:i};if(l(i.asset))return{contentType:Hs.GLTF,jsonPayload:i};if(l(i.tileAvailability))return{contentType:Hs.IMPLICIT_SUBTREE_JSON,jsonPayload:i};if(l(i.type))return{contentType:Hs.GEOJSON,jsonPayload:i};if(l(i.voxelTable))return{contentType:Hs.VOXEL_JSON,jsonPayload:i};throw new se("Invalid tile content.")}function E7e(e){let t;try{t=Fo(e)}catch{throw new se("Invalid tile content.")}return t}var jp=A7e;function Cf(e,t,n,i){this._tileset=e,this._tile=t,this._tilesetResource=n,this._contents=[],this._contentsCreated=!1;let o=l(i.contents)?i.contents:i.content;this._innerContentHeaders=o,this._requestsInFlight=0,this._cancelCount=0;let r=this._innerContentHeaders.length;this._arrayFetchPromises=new Array(r),this._requests=new Array(r),this._ready=!1,this._innerContentResources=new Array(r),this._serverKeys=new Array(r);for(let s=0;s<r;s++){let a=n.getDerivedResource({url:o[s].uri}),c=Cc.getServerKey(a.getUrlComponent());this._innerContentResources[s]=a,this._serverKeys[s]=c}}Object.defineProperties(Cf.prototype,{featurePropertiesDirty:{get:function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)if(e[n].featurePropertiesDirty)return!0;return!1},set:function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].featurePropertiesDirty=e}},featuresLength:{get:function(){return 0}},pointsLength:{get:function(){return 0}},trianglesLength:{get:function(){return 0}},geometryByteLength:{get:function(){return 0}},texturesByteLength:{get:function(){return 0}},batchTableByteLength:{get:function(){return 0}},innerContents:{get:function(){return this._contents}},ready:{get:function(){return this._contentsCreated?this._ready:!1}},tileset:{get:function(){return this._tileset}},tile:{get:function(){return this._tile}},url:{get:function(){}},metadata:{get:function(){},set:function(){}},batchTable:{get:function(){}},group:{get:function(){},set:function(){}},innerContentUrls:{get:function(){return this._innerContentHeaders.map(function(e){return e.uri})}}});function nj(e,t){e._requestsInFlight+=t,e.tileset.statistics.numberOfPendingRequests+=t}function uce(e,t){e._cancelCount++,e._tile._contentState=t;let n=e.tileset.statistics;n.numberOfPendingRequests-=e._requestsInFlight,n.numberOfAttemptedRequests+=e._requestsInFlight,e._requestsInFlight=0;let i=e._innerContentHeaders.length;e._arrayFetchPromises=new Array(i)}Cf.prototype.requestInnerContents=function(){if(!S7e(this._serverKeys)){this.tileset.statistics.numberOfAttemptedRequests+=this._serverKeys.length;return}let e=this._innerContentHeaders;nj(this,e.length);let t=this._cancelCount;for(let n=0;n<e.length;n++)this._arrayFetchPromises[n]=v7e(this,n,t,this._tile._contentState);return w7e(this)};function S7e(e){let t={};for(let n=0;n<e.length;n++){let i=e[n];l(t[i])?t[i]++:t[i]=1}for(let n in t)if(t.hasOwnProperty(n)&&!Cc.serverHasOpenSlots(n,t[n]))return!1;return Cc.heapHasOpenSlots(e.length)}function v7e(e,t,n,i){let o=e._innerContentResources[t].clone(),r=e.tile,s=function(){return r._priority},a=e._serverKeys[t],c=new or({throttle:!0,throttleByServer:!0,type:bs.TILES3D,priorityFunction:s,serverKey:a});o.request=c,e._requests[t]=c;let u=o.fetchArrayBuffer();if(l(u))return u.then(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===ei.CANCELLED){uce(e,i);return}return nj(e,-1),f}}).catch(function(f){if(!(n<e._cancelCount)){if(o.request.cancelled||o.request.state===ei.CANCELLED){uce(e,i);return}nj(e,-1),fce(e,t,f)}})}async function w7e(e){let t=e._cancelCount,n=await Promise.all(e._arrayFetchPromises);if(t<e._cancelCount)return;let i=n.map((r,s)=>D7e(e,r,s)),o=await Promise.all(i);return e._contentsCreated=!0,e._contents=o.filter(l),o}async function D7e(e,t,n){if(l(t))try{let i=jp(t);if(i.contentType===Hs.EXTERNAL_TILESET)throw new se("External tilesets are disallowed inside multiple contents");e._disableSkipLevelOfDetail=e._disableSkipLevelOfDetail||i.contentType===Hs.GEOMETRY||i.contentType===Hs.VECTOR;let o=e._tileset,r=e._innerContentResources[n],s=e._tile,a,c=sA[i.contentType];l(i.binaryPayload)?a=await Promise.resolve(c(o,s,r,i.binaryPayload.buffer,0)):a=await Promise.resolve(c(o,s,r,i.jsonPayload));let u=e._innerContentHeaders[n];if(s.hasImplicitContentMetadata){let d=s.implicitSubtree,p=s.implicitCoordinates;a.metadata=d.getContentMetadataView(p,n)}else s.hasImplicitContent||(a.metadata=aA(o,u));let f=cA(o,u);return l(f)&&(a.group=new mC({metadata:f})),a}catch(i){fce(e,n,i)}}function fce(e,t,n){let i=e._tileset,o=e._innerContentResources[t].url,r=l(n.message)?n.message:n.toString();i.tileFailed.numberOfListeners>0?i.tileFailed.raiseEvent({url:o,message:r}):(console.log(`A content failed to load: ${o}`),console.log(`Error: ${r}`))}Cf.prototype.cancelRequests=function(){for(let e=0;e<this._requests.length;e++){let t=this._requests[e];l(t)&&t.cancel()}};Cf.prototype.hasProperty=function(e,t){return!1};Cf.prototype.getFeature=function(e){};Cf.prototype.applyDebugSettings=function(e,t){let n=this._contents,i=n.length;for(let o=0;o<i;++o)n[o].applyDebugSettings(e,t)};Cf.prototype.applyStyle=function(e){let t=this._contents,n=t.length;for(let i=0;i<n;++i)t[i].applyStyle(e)};Cf.prototype.update=function(e,t){let n=this._contents,i=n.length,o=!0;for(let r=0;r<i;++r)n[r].update(e,t),o=o&&n[r].ready;!this._ready&&o&&(this._ready=!0)};Cf.prototype.pick=function(e,t,n){if(!this._ready)return;let i,o=Number.POSITIVE_INFINITY,r=this._contents,s=r.length;for(let a=0;a<s;++a){let c=r[a].pick(e,t,n);if(!l(c))continue;let u=h.distance(e.origin,c);u<o&&(i=c,o=u)}if(l(i))return n};Cf.prototype.isDestroyed=function(){return!1};Cf.prototype.destroy=function(){let e=this._contents,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var BB=Cf;var dce=Math.cos,hce=Math.sin,I7e=Math.sqrt,ij={};ij.computePosition=function(e,t,n,i,o,r,s){let a=t.radiiSquared,c=e.nwCorner,u=e.boundingRectangle,f=c.latitude-e.granYCos*i+o*e.granXSin,d=dce(f),p=hce(f),g=a.z*p,m=c.longitude+i*e.granYSin+o*e.granXCos,x=d*dce(m),b=d*hce(m),T=a.x*x,C=a.y*b,A=I7e(T*x+C*b+g*p);if(r.x=T/A,r.y=C/A,r.z=g/A,n){let S=e.stNwCorner;l(S)?(f=S.latitude-e.stGranYCos*i+o*e.stGranXSin,m=S.longitude+i*e.stGranYSin+o*e.stGranXCos,s.x=(m-e.stWest)*e.lonScalar,s.y=(f-e.stSouth)*e.latScalar):(s.x=(m-u.west)*e.lonScalar,s.y=(f-u.south)*e.latScalar)}};var P7e=new Pi,Af=new h,O7e=new fe,kB=new h,Jw=new Ii;function mce(e,t,n,i,o,r,s){let a=Math.cos(t),c=i*a,u=n*a,f=Math.sin(t),d=i*f,p=n*f;Jw._ellipsoid=ee.default,Af=Jw.project(e,Af),Af=h.subtract(Af,kB,Af);let g=Pi.fromRotation(t,P7e);Af=Pi.multiplyByVector(g,Af,Af),Af=h.add(Af,kB,Af),e=Jw.unproject(Af,e),r-=1,s-=1;let m=e.latitude,x=m+r*p,b=m-c*s,T=m-c*s+r*p,C=Math.max(m,x,b,T),A=Math.min(m,x,b,T),S=e.longitude,v=S+r*u,D=S+s*d,R=S+s*d+r*u,O=Math.max(S,v,D,R),M=Math.min(S,v,D,R);return{north:C,south:A,east:O,west:M,granYCos:c,granYSin:d,granXCos:u,granXSin:p,nwCorner:e}}ij.computeOptions=function(e,t,n,i,o,r,s){let a=e.east,c=e.west,u=e.north,f=e.south,d=!1,p=!1;u===P.PI_OVER_TWO&&(d=!0),f===-P.PI_OVER_TWO&&(p=!0);let g,m=u-f;c>a?g=P.TWO_PI-c+a:g=a-c;let x=Math.ceil(g/t)+1,b=Math.ceil(m/t)+1,T=g/(x-1),C=m/(b-1),A=ae.northwest(e,r),S=ae.center(e,O7e);(n!==0||i!==0)&&(S.longitude<A.longitude&&(S.longitude+=P.TWO_PI),Jw._ellipsoid=ee.default,kB=Jw.project(S,kB));let v=C,D=T,R=0,O=0,M=ae.clone(e,o),N={granYCos:v,granYSin:R,granXCos:D,granXSin:O,nwCorner:A,boundingRectangle:M,width:x,height:b,northCap:d,southCap:p};if(n!==0){let _=mce(A,n,T,C,S,x,b);u=_.north,f=_.south,a=_.east,c=_.west,N.granYCos=_.granYCos,N.granYSin=_.granYSin,N.granXCos=_.granXCos,N.granXSin=_.granXSin,M.north=u,M.south=f,M.east=a,M.west=c}if(i!==0){n=n-i;let _=ae.northwest(M,s),E=mce(_,n,T,C,S,x,b);N.stGranYCos=E.granYCos,N.stGranXCos=E.granXCos,N.stGranYSin=E.granYSin,N.stGranXSin=E.granXSin,N.stNwCorner=_,N.stWest=E.west,N.stSouth=E.south}return N};var Ws=ij;var R7e=new ce,M7e=new ce,L7e=new h,N7e=new ae;function pce(e,t){let n=e._ellipsoid,i=t.height,o=t.width,r=t.northCap,s=t.southCap,a=i,c=2,u=0,f=4;r&&(c-=1,a-=1,u+=1,f-=2),s&&(c-=1,a-=1,u+=1,f-=2),u+=c*o+2*a-f;let d=new Float64Array(u*3),p=0,g=0,m,x=L7e;if(r)Ws.computePosition(t,n,!1,g,0,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;else for(m=0;m<o;m++)Ws.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=o-1,g=1;g<i;g++)Ws.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;if(g=i-1,!s)for(m=o-2;m>=0;m--)Ws.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;for(m=0,g=i-2;g>0;g--)Ws.computePosition(t,n,!1,g,m,x),d[p++]=x.x,d[p++]=x.y,d[p++]=x.z;let b=d.length/3*2,T=ke.createTypedArray(d.length/3,b),C=0;for(let S=0;S<d.length/3-1;S++)T[C++]=S,T[C++]=S+1;T[C++]=d.length/3-1,T[C++]=0;let A=new ft({attributes:new mn,primitiveType:Fe.LINES});return A.attributes.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),A.indices=T,A}function F7e(e,t){let n=e._surfaceHeight,i=e._extrudedHeight,o=e._ellipsoid,r=pce(e,t),s=t.height,a=t.width,c=ui.scaleToGeodeticHeight(r.attributes.position.values,n,o,!1),u=c.length,f=new Float64Array(u*2);f.set(c);let d=ui.scaleToGeodeticHeight(r.attributes.position.values,i,o);f.set(d,u),r.attributes.position.values=f;let p=t.northCap,g=t.southCap,m=4;p&&(m-=1),g&&(m-=1);let x=(f.length/3+m)*2,b=ke.createTypedArray(f.length/3,x);u=f.length/6;let T=0;for(let A=0;A<u-1;A++)b[T++]=A,b[T++]=A+1,b[T++]=A+u,b[T++]=A+u+1;b[T++]=u-1,b[T++]=0,b[T++]=u+u-1,b[T++]=u,b[T++]=0,b[T++]=u;let C;if(p)C=s-1;else{let A=a-1;b[T++]=A,b[T++]=A+u,C=a+s-2}if(b[T++]=C,b[T++]=C+u,!g){let A=a+C-1;b[T++]=A,b[T]=A+u}return r.indices=b,r}function uA(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.granularity,P.RADIANS_PER_DEGREE),i=y(e.ellipsoid,ee.default),o=y(e.rotation,0),r=y(e.height,0),s=y(e.extrudedHeight,r);this._rectangle=ae.clone(t),this._granularity=n,this._ellipsoid=i,this._surfaceHeight=Math.max(r,s),this._rotation=o,this._extrudedHeight=Math.min(r,s),this._offsetAttribute=e.offsetAttribute,this._workerName="createRectangleOutlineGeometry"}uA.packedLength=ae.packedLength+ee.packedLength+5;uA.pack=function(e,t,n){return n=y(n,0),ae.pack(e._rectangle,t,n),n+=ae.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._extrudedHeight,t[n]=y(e._offsetAttribute,-1),t};var _ce=new ae,gce=ee.clone(ee.UNIT_SPHERE),lA={rectangle:_ce,ellipsoid:gce,granularity:void 0,height:void 0,rotation:void 0,extrudedHeight:void 0,offsetAttribute:void 0};uA.unpack=function(e,t,n){t=y(t,0);let i=ae.unpack(e,t,_ce);t+=ae.packedLength;let o=ee.unpack(e,t,gce);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t];return l(n)?(n._rectangle=ae.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._surfaceHeight=s,n._rotation=a,n._extrudedHeight=c,n._offsetAttribute=u===-1?void 0:u,n):(lA.granularity=r,lA.height=s,lA.rotation=a,lA.extrudedHeight=c,lA.offsetAttribute=u===-1?void 0:u,new uA(lA))};var B7e=new fe;uA.createGeometry=function(e){let t=e._rectangle,n=e._ellipsoid,i=Ws.computeOptions(t,e._granularity,e._rotation,0,N7e,B7e),o,r;if(P.equalsEpsilon(t.north,t.south,P.EPSILON10)||P.equalsEpsilon(t.east,t.west,P.EPSILON10))return;let s=e._surfaceHeight,a=e._extrudedHeight,c=!P.equalsEpsilon(s,a,0,P.EPSILON2),u;if(c){if(o=F7e(e,i),l(e._offsetAttribute)){let p=o.attributes.position.values.length/3,g=new Uint8Array(p);e._offsetAttribute===cn.TOP?g=g.fill(1,0,p/2):(u=e._offsetAttribute===cn.NONE?0:1,g=g.fill(u)),o.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:g})}let f=ce.fromRectangle3D(t,n,s,M7e),d=ce.fromRectangle3D(t,n,a,R7e);r=ce.union(f,d)}else{if(o=pce(e,i),o.attributes.position.values=ui.scaleToGeodeticHeight(o.attributes.position.values,s,n,!1),l(e._offsetAttribute)){let f=o.attributes.position.values.length;u=e._offsetAttribute===cn.NONE?0:1;let d=new Uint8Array(f/3).fill(u);o.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:d})}r=ce.fromRectangle3D(t,n,s)}return new ft({attributes:o.attributes,indices:o.indices,primitiveType:Fe.LINES,boundingSphere:r,offsetAttribute:e._offsetAttribute})};var fA=uA;function hA(e){this.rectangle=ae.clone(e.rectangle),this.minimumHeight=y(e.minimumHeight,0),this.maximumHeight=y(e.maximumHeight,0),this.southwestCornerCartesian=new h,this.northeastCornerCartesian=new h,this.westNormal=new h,this.southNormal=new h,this.eastNormal=new h,this.northNormal=new h;let t=y(e.ellipsoid,ee.WGS84);H7e(this,e.rectangle,t),this._orientedBoundingBox=void 0,this._boundingSphere=void 0,y(e.computeBoundingVolumes,!0)&&this.computeBoundingVolumes(t)}Object.defineProperties(hA.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});hA.prototype.computeBoundingVolumes=function(e){this._orientedBoundingBox=In.fromRectangle(this.rectangle,this.minimumHeight,this.maximumHeight,e),this._boundingSphere=ce.fromOrientedBoundingBox(this._orientedBoundingBox)};var yce=new h,VB=new h,xce=new h,k7e=new h,V7e=new h,U7e=new h,z7e=new h,Ef=new fe,bce=new ln(h.UNIT_X,0),dA=new _n;function H7e(e,t,n){n.cartographicToCartesian(ae.southwest(t),e.southwestCornerCartesian),n.cartographicToCartesian(ae.northeast(t),e.northeastCornerCartesian),Ef.longitude=t.west,Ef.latitude=(t.south+t.north)*.5,Ef.height=0;let i=n.cartographicToCartesian(Ef,U7e),o=h.cross(i,h.UNIT_Z,k7e);h.normalize(o,e.westNormal),Ef.longitude=t.east;let r=n.cartographicToCartesian(Ef,z7e),s=h.cross(h.UNIT_Z,r,yce);h.normalize(s,e.eastNormal);let a=h.subtract(i,r,yce);h.magnitude(a)===0&&(a=h.clone(o,a));let c=h.normalize(a,V7e),u=t.south,f;if(u>0){Ef.longitude=(t.west+t.east)*.5,Ef.latitude=u;let x=n.cartographicToCartesian(Ef,dA.origin);h.clone(c,dA.direction);let b=ln.fromPointNormal(e.southwestCornerCartesian,e.westNormal,bce);ti.rayPlane(dA,b,e.southwestCornerCartesian),f=n.geodeticSurfaceNormal(x,VB)}else f=n.geodeticSurfaceNormalCartographic(ae.southeast(t),VB);let d=h.cross(f,a,xce);h.normalize(d,e.southNormal);let p=t.north,g;if(p<0){Ef.longitude=(t.west+t.east)*.5,Ef.latitude=p;let x=n.cartographicToCartesian(Ef,dA.origin);h.negate(c,dA.direction);let b=ln.fromPointNormal(e.northeastCornerCartesian,e.eastNormal,bce);ti.rayPlane(dA,b,e.northeastCornerCartesian),g=n.geodeticSurfaceNormal(x,VB)}else g=n.geodeticSurfaceNormalCartographic(ae.northwest(t),VB);let m=h.cross(a,g,xce);h.normalize(m,e.northNormal)}var G7e=new h,W7e=new h,j7e=new h(0,-1,0),q7e=new h(0,0,-1),Tce=new h;function Y7e(e,t){let n=t.camera,i=n.positionWC,o=n.positionCartographic,r=0;if(!ae.contains(e.rectangle,o)){let u=e.southwestCornerCartesian,f=e.northeastCornerCartesian,d=e.westNormal,p=e.southNormal,g=e.eastNormal,m=e.northNormal;t.mode!==ne.SCENE3D&&(u=t.mapProjection.project(ae.southwest(e.rectangle),G7e),u.z=u.y,u.y=u.x,u.x=0,f=t.mapProjection.project(ae.northeast(e.rectangle),W7e),f.z=f.y,f.y=f.x,f.x=0,d=j7e,g=h.UNIT_Y,p=q7e,m=h.UNIT_Z);let x=h.subtract(i,u,Tce),b=h.dot(x,d),T=h.dot(x,p),C=h.subtract(i,f,Tce),A=h.dot(C,g),S=h.dot(C,m);b>0?r+=b*b:A>0&&(r+=A*A),T>0?r+=T*T:S>0&&(r+=S*S)}let s,a,c;if(t.mode===ne.SCENE3D?(s=o.height,a=e.minimumHeight,c=e.maximumHeight):(s=i.x,a=0,c=0),s>c){let u=s-c;r+=u*u}else if(s<a){let u=a-s;r+=u*u}return Math.sqrt(r)}hA.prototype.distanceToCamera=function(e){let t=Y7e(this,e);if(e.mode===ne.SCENE3D&&l(this._orientedBoundingBox)){let n=Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC));return Math.max(t,n)}return t};hA.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};hA.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new fA({rectangle:this.rectangle,height:this.minimumHeight,extrudedHeight:this.maximumHeight}),i=new wt({geometry:n,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}});return new On({geometryInstances:i,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var Id=hA;var eD={},X7e=new h,Cce=new h,Ace=new h,Ece=new h,Sce=new In;eD.validOutline=function(e){let n=In.fromPoints(e,Sce).halfAxes,i=$.getColumn(n,0,Cce),o=$.getColumn(n,1,Ace),r=$.getColumn(n,2,Ece),s=h.magnitude(i),a=h.magnitude(o),c=h.magnitude(r);return!(s===0&&(a===0||c===0)||a===0&&c===0)};eD.computeProjectTo2DArguments=function(e,t,n,i){let o=In.fromPoints(e,Sce),r=o.halfAxes,s=$.getColumn(r,0,Cce),a=$.getColumn(r,1,Ace),c=$.getColumn(r,2,Ece),u=h.magnitude(s),f=h.magnitude(a),d=h.magnitude(c),p=Math.min(u,f,d);if(u===0&&(f===0||d===0)||f===0&&d===0)return!1;let g,m;return(p===f||p===d)&&(g=s),p===u?g=a:p===d&&(m=a),(p===u||p===f)&&(m=c),h.normalize(g,n),h.normalize(m,i),h.clone(o.center,t),!0};function vce(e,t,n,i,o){let r=h.subtract(e,t,X7e),s=h.dot(n,r),a=h.dot(i,r);return U.fromElements(s,a,o)}eD.createProjectPointsTo2DFunction=function(e,t,n){return function(i){let o=new Array(i.length);for(let r=0;r<i.length;r++)o[r]=vce(i[r],e,t,n);return o}};eD.createProjectPointTo2DFunction=function(e,t,n){return function(i,o){return vce(i,e,t,n,o)}};var Zg=eD;function K7e(e){let t=e.length,n=new Float64Array(t*3),i=ke.createTypedArray(t,t*2),o=0,r=0;for(let a=0;a<t;a++){let c=e[a];n[o++]=c.x,n[o++]=c.y,n[o++]=c.z,i[r++]=a,i[r++]=(a+1)%t}let s=new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n})});return new ft({attributes:s,indices:i,primitiveType:Fe.LINES})}function Fx(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy;this._polygonHierarchy=t,this._workerName="createCoplanarPolygonOutlineGeometry",this.packedLength=Hn.computeHierarchyPackedLength(t,h)+1}Fx.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions}};return new Fx(t)};Fx.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),t[n]=e.packedLength,t};var Z7e={polygonHierarchy:{}};Fx.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=e[t];return l(n)||(n=new Fx(Z7e)),n._polygonHierarchy=i,n.packedLength=o,n};Fx.createGeometry=function(e){let t=e._polygonHierarchy,n=t.positions;if(n=bo(n,h.equalsEpsilon,!0),n.length<3||!Zg.validOutline(n))return;let o=Hn.polygonOutlinesFromHierarchy(t,!1);if(o.length===0)return;let r=[];for(let c=0;c<o.length;c++){let u=new wt({geometry:K7e(o[c])});r.push(u)}let s=Bn.combineInstances(r)[0],a=ce.fromPoints(t.positions);return new ft({attributes:s.attributes,indices:s.indices,primitiveType:s.primitiveType,boundingSphere:a})};var Pd=Fx;var UB=new fe;function tD(e){let t=pg.fromToken(e.token),n=y(e.minimumHeight,0),i=y(e.maximumHeight,0),o=y(e.ellipsoid,ee.WGS84);this.s2Cell=t,this.minimumHeight=n,this.maximumHeight=i,this.ellipsoid=o;let r=rqe(t,n,i,o);this._boundingPlanes=r;let s=lqe(r);this._vertices=s,this._edgeNormals=new Array(6),this._edgeNormals[0]=fj(r[0],s.slice(0,4));let a;for(a=0;a<4;a++)this._edgeNormals[0][a]=h.negate(this._edgeNormals[0][a],this._edgeNormals[0][a]);for(this._edgeNormals[1]=fj(r[1],s.slice(4,8)),a=0;a<4;a++)this._edgeNormals[2+a]=fj(r[2+a],[s[a%4],s[(a+1)%4],s[4+(a+1)%4],s[4+a]]);for(this._planeVertices=[this._vertices.slice(0,4),this._vertices.slice(4,8)],a=0;a<4;a++)this._planeVertices.push([this._vertices[a%4],this._vertices[(a+1)%4],this._vertices[4+(a+1)%4],this._vertices[4+a]]);let c=t.getCenter();UB=o.cartesianToCartographic(c,UB),UB.height=(i+n)/2,this.center=o.cartographicToCartesian(UB,c),this._boundingSphere=ce.fromPoints(s)}var $7e=new h,Q7e=new fe,J7e=new h,eqe=new fe,tqe=new h,nqe=new h,iqe=new h,oqe=new h;function rqe(e,t,n,i){let o=new Array(6),r=e.getCenter(),s=i.geodeticSurfaceNormal(r,$7e),a=i.cartesianToCartographic(r,Q7e);a.height=n;let c=i.cartographicToCartesian(a,J7e),u=ln.fromPointNormal(c,s);o[0]=u;let f=0,d,p=[],g,m;for(d=0;d<4;d++){g=e.getVertex(d),p[d]=g,m=i.cartesianToCartographic(g,eqe),m.height=t;let b=ln.getPointDistance(u,i.cartographicToCartesian(m,tqe));b<f&&(f=b)}let x=ln.clone(u);for(x.normal=h.negate(x.normal,x.normal),x.distance=x.distance*-1+f,o[1]=x,d=0;d<4;d++){g=p[d];let b=p[(d+1)%4],T=i.geodeticSurfaceNormal(g,nqe),C=h.subtract(b,g,oqe),A=h.cross(C,T,iqe);A=h.normalize(A,A),o[2+d]=ln.fromPointNormal(g,A)}return o}var Bx=new h,kx=new h,Vx=new h,oj=new h,rj=new h,sj=new h,sqe=new h,aqe=new h,cqe=new h,aj=new h,cj=new h,lj=new h,$g=new h,sm=new $;function wce(e,t,n){Bx=e.normal,kx=t.normal,Vx=n.normal,oj=h.multiplyByScalar(e.normal,-e.distance,oj),rj=h.multiplyByScalar(t.normal,-t.distance,rj),sj=h.multiplyByScalar(n.normal,-n.distance,sj),aj=h.multiplyByScalar(h.cross(kx,Vx,sqe),h.dot(oj,Bx),aj),cj=h.multiplyByScalar(h.cross(Vx,Bx,aqe),h.dot(rj,kx),cj),lj=h.multiplyByScalar(h.cross(Bx,kx,cqe),h.dot(sj,Vx),lj),sm[0]=Bx.x,sm[1]=kx.x,sm[2]=Vx.x,sm[3]=Bx.y,sm[4]=kx.y,sm[5]=Vx.y,sm[6]=Bx.z,sm[7]=kx.z,sm[8]=Vx.z;let i=$.determinant(sm);return $g=h.add(aj,cj,$g),$g=h.add($g,lj,$g),new h($g.x/i,$g.y/i,$g.z/i)}function lqe(e){let t=new Array(8);for(let n=0;n<4;n++)t[n]=wce(e[0],e[2+(n+3)%4],e[2+n%4]),t[n+4]=wce(e[1],e[2+(n+3)%4],e[2+n%4]);return t}var uj=new h,mA=new h;function fj(e,t){let n=[];for(let i=0;i<4;i++)uj=h.subtract(t[(i+1)%4],t[i],uj),mA=h.cross(e.normal,uj,mA),mA=h.normalize(mA,mA),n[i]=h.clone(mA);return n}Object.defineProperties(tD.prototype,{boundingVolume:{get:function(){return this}},boundingSphere:{get:function(){return this._boundingSphere}}});var dj=new h;tD.prototype.distanceToCamera=function(e){let t=e.camera.positionWC,n=[],i=[],o;ln.getPointDistance(this._boundingPlanes[0],t)>0?(n.push(0),i.push(this._planeVertices[0]),o=this._edgeNormals[0]):ln.getPointDistance(this._boundingPlanes[1],t)>0&&(n.push(1),i.push(this._planeVertices[1]),o=this._edgeNormals[1]);let r,s;for(r=0;r<4;r++)s=2+r,ln.getPointDistance(this._boundingPlanes[s],t)>0&&(n.push(s),i.push(this._planeVertices[s]),o=this._edgeNormals[s]);if(n.length===0)return 0;let a,c;if(n.length===1)return c=this._boundingPlanes[n[0]],a=hj(ln.projectPointOntoPlane(c,t,dj),i[0],c,o),h.distance(a,t);if(n.length===2){if(n[0]===0){let p=[this._vertices[4*n[0]+(n[1]-2)],this._vertices[4*n[0]+(n[1]-2+1)%4]];return a=Dce(t,p[0],p[1]),h.distance(a,t)}let f=Number.MAX_VALUE,d;for(r=0;r<2;r++)c=this._boundingPlanes[n[r]],a=hj(ln.projectPointOntoPlane(c,t,dj),i[r],c,this._edgeNormals[n[r]]),d=h.distanceSquared(a,t),d<f&&(f=d);return Math.sqrt(f)}else if(n.length>3)return a=hj(ln.projectPointOntoPlane(this._boundingPlanes[1],t,dj),this._planeVertices[1],this._boundingPlanes[1],this._edgeNormals[1]),h.distance(a,t);let u=n[1]===2&&n[2]===5?0:1;return n[0]===0?h.distance(t,this._vertices[(n[1]-2+u)%4]):h.distance(t,this._vertices[4+(n[1]-2+u)%4])};var uqe=new h,fqe=new h;function Dce(e,t,n){let i=h.subtract(n,t,uqe),o=h.subtract(e,t,fqe),r=h.dot(i,o);if(r<=0)return t;let s=h.dot(i,i);return r>=s?n:(r=r/s,new h((1-r)*t.x+r*n.x,(1-r)*t.y+r*n.y,(1-r)*t.z+r*n.z))}var dqe=new ln(h.UNIT_X,0);function hj(e,t,n,i){let o=Number.MAX_VALUE,r,s,a;for(let c=0;c<t.length;c++){let u=ln.fromPointNormal(t[c],i[c],dqe);ln.getPointDistance(u,e)<0||(a=Dce(e,t[c],t[(c+1)%4]),r=h.distance(e,a),r<o&&(o=r,s=a))}return l(s)?s:e}tD.prototype.intersectPlane=function(e){let t=0,n=0;for(let i=0;i<this._vertices.length;i++)h.dot(e.normal,this._vertices[i])+e.distance<0?n++:t++;return t===this._vertices.length?jt.INSIDE:n===this._vertices.length?jt.OUTSIDE:jt.INTERSECTING};tD.prototype.createDebugVolume=function(e){let t=new F.clone(F.IDENTITY),n=new Pd({polygonHierarchy:{positions:this._planeVertices[0]}}),i=Pd.createGeometry(n),o=new wt({geometry:i,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}}),r=new Pd({polygonHierarchy:{positions:this._planeVertices[1]}}),s=Pd.createGeometry(r),a=new wt({geometry:s,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}}),c=[];for(let u=0;u<4;u++){let f=new Pd({polygonHierarchy:{positions:this._planeVertices[2+u]}}),d=Pd.createGeometry(f);c[u]=new wt({geometry:d,id:"outline",modelMatrix:t,attributes:{color:Wt.fromColor(e)}})}return new On({geometryInstances:[c[0],c[1],c[2],c[3],a,o],appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var zB=tD;var hqe=new h(1,1,1),HB=Math.cos,GB=Math.sin;function pA(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,hqe),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,10)),c=Math.round(y(e.slicePartitions,8)),u=Math.round(y(e.subdivisions,128));this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._subdivisions=u,this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidOutlineGeometry"}pA.packedLength=2*h.packedLength+8;pA.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n++]=e._subdivisions,t[n]=y(e._offsetAttribute,-1),t};var Ice=new h,Pce=new h,qp={radii:Ice,innerRadii:Pce,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0,offsetAttribute:void 0};pA.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,Ice);t+=h.packedLength;let o=h.unpack(e,t,Pce);t+=h.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._minimumClock=r,n._maximumClock=s,n._minimumCone=a,n._maximumCone=c,n._stackPartitions=u,n._slicePartitions=f,n._subdivisions=d,n._offsetAttribute=p===-1?void 0:p,n):(qp.minimumClock=r,qp.maximumClock=s,qp.minimumCone=a,qp.maximumCone=c,qp.stackPartitions=u,qp.slicePartitions=f,qp.subdivisions=d,qp.offsetAttribute=p===-1?void 0:p,new pA(qp))};pA.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._subdivisions,c=ee.fromCartesian3(t),u=e._slicePartitions+1,f=e._stackPartitions+1;u=Math.round(u*Math.abs(o-i)/P.TWO_PI),f=Math.round(f*Math.abs(s-r)/P.PI),u<2&&(u=2),f<2&&(f=2);let d=0,p=1,g=n.x!==t.x||n.y!==t.y||n.z!==t.z,m=!1,x=!1;g&&(p=2,r>0&&(m=!0,d+=u),s<Math.PI&&(x=!0,d+=u));let b=a*p*(f+u),T=new Float64Array(b*3),C=2*(b+d-(u+f)*p),A=ke.createTypedArray(b,C),S,v,D,R,O=0,M=new Array(f),N=new Array(f);for(S=0;S<f;S++)R=r+S*(s-r)/(f-1),M[S]=GB(R),N[S]=HB(R);let _=new Array(a),E=new Array(a);for(S=0;S<a;S++)D=i+S*(o-i)/(a-1),_[S]=GB(D),E[S]=HB(D);for(S=0;S<f;S++)for(v=0;v<a;v++)T[O++]=t.x*M[S]*E[v],T[O++]=t.y*M[S]*_[v],T[O++]=t.z*N[S];if(g)for(S=0;S<f;S++)for(v=0;v<a;v++)T[O++]=n.x*M[S]*E[v],T[O++]=n.y*M[S]*_[v],T[O++]=n.z*N[S];for(M.length=a,N.length=a,S=0;S<a;S++)R=r+S*(s-r)/(a-1),M[S]=GB(R),N[S]=HB(R);for(_.length=u,E.length=u,S=0;S<u;S++)D=i+S*(o-i)/(u-1),_[S]=GB(D),E[S]=HB(D);for(S=0;S<a;S++)for(v=0;v<u;v++)T[O++]=t.x*M[S]*E[v],T[O++]=t.y*M[S]*_[v],T[O++]=t.z*N[S];if(g)for(S=0;S<a;S++)for(v=0;v<u;v++)T[O++]=n.x*M[S]*E[v],T[O++]=n.y*M[S]*_[v],T[O++]=n.z*N[S];for(O=0,S=0;S<f*p;S++){let L=S*a;for(v=0;v<a-1;v++)A[O++]=L+v,A[O++]=L+v+1}let w=f*a*p;for(S=0;S<u;S++)for(v=0;v<a-1;v++)A[O++]=w+S+v*u,A[O++]=w+S+(v+1)*u;if(g)for(w=f*a*p+u*a,S=0;S<u;S++)for(v=0;v<a-1;v++)A[O++]=w+S+v*u,A[O++]=w+S+(v+1)*u;if(g){let L=f*a*p,B=L+a*u;if(m)for(S=0;S<u;S++)A[O++]=L+S,A[O++]=B+S;if(x)for(L+=a*u-u,B+=a*u-u,S=0;S<u;S++)A[O++]=L+S,A[O++]=B+S}let I=new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T})});if(l(e._offsetAttribute)){let L=T.length,B=e._offsetAttribute===cn.NONE?0:1,H=new Uint8Array(L/3).fill(B);I.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:H})}return new ft({attributes:I,indices:A,primitiveType:Fe.LINES,boundingSphere:ce.fromEllipsoid(c),offsetAttribute:e._offsetAttribute})};var Sf=pA;function _A(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,subdivisions:e.subdivisions};this._ellipsoidGeometry=new Sf(i),this._workerName="createSphereOutlineGeometry"}_A.packedLength=Sf.packedLength;_A.pack=function(e,t,n){return Sf.pack(e._ellipsoidGeometry,t,n)};var mqe=new Sf,Ux={radius:void 0,radii:new h,stackPartitions:void 0,slicePartitions:void 0,subdivisions:void 0};_A.unpack=function(e,t,n){let i=Sf.unpack(e,t,mqe);return Ux.stackPartitions=i._stackPartitions,Ux.slicePartitions=i._slicePartitions,Ux.subdivisions=i._subdivisions,l(n)?(h.clone(i._radii,Ux.radii),n._ellipsoidGeometry=new Sf(Ux),n):(Ux.radius=i._radii.x,new _A(Ux))};_A.createGeometry=function(e){return Sf.createGeometry(e._ellipsoidGeometry)};var Qg=_A;function gA(e,t){t===0&&(t=P.EPSILON7),this._boundingSphere=new ce(e,t)}Object.defineProperties(gA.prototype,{center:{get:function(){return this._boundingSphere.center}},radius:{get:function(){return this._boundingSphere.radius}},boundingVolume:{get:function(){return this._boundingSphere}},boundingSphere:{get:function(){return this._boundingSphere}}});gA.prototype.distanceToCamera=function(e){let t=this._boundingSphere;return Math.max(0,h.distance(t.center,e.camera.positionWC)-t.radius)};gA.prototype.intersectPlane=function(e){return ce.intersectPlane(this._boundingSphere,e)};gA.prototype.update=function(e,t){h.clone(e,this._boundingSphere.center),this._boundingSphere.radius=t};gA.prototype.createDebugVolume=function(e){let t=new Qg({radius:this.radius}),n=F.fromTranslation(this.center,new F.clone(F.IDENTITY)),i=new wt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Wt.fromColor(e)}});return new On({geometryInstances:i,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var Jg=gA;var pqe=new h,_qe=new h,gqe=new h,yqe=new h;function zx(e,t,n){n=h.cross(e,t,n);let i=h.magnitude(n);return h.multiplyByScalar(n,P.EPSILON7/i,n)}function mj(e,t){let n=h.normalize(e,yqe),i=h.equalsEpsilon(n,h.UNIT_X,P.EPSILON6)?h.UNIT_Y:h.UNIT_X;return zx(e,i,t)}function Oce(e){let t=$.getColumn(e,0,pqe),n=$.getColumn(e,1,_qe),i=$.getColumn(e,2,gqe),o=h.equals(t,h.ZERO),r=h.equals(n,h.ZERO),s=h.equals(i,h.ZERO);return!o&&!r&&!s?e:o&&r&&s?(e[0]=P.EPSILON7,e[4]=P.EPSILON7,e[8]=P.EPSILON7,e):(o&&!r&&!s?t=zx(n,i,t):!o&&r&&!s?n=zx(t,i,n):!o&&!r&&s?i=zx(n,t,i):o?r?s||(t=mj(i,t),n=zx(i,t,n)):(t=mj(n,t),i=zx(n,t,i)):(n=mj(t,n),i=zx(n,t,i)),$.setColumn(e,0,t,e),$.setColumn(e,1,n,e),$.setColumn(e,2,i,e),e)}function yA(e,t){t=Oce(t),this._orientedBoundingBox=new In(e,t),this._boundingSphere=ce.fromOrientedBoundingBox(this._orientedBoundingBox)}Object.defineProperties(yA.prototype,{boundingVolume:{get:function(){return this._orientedBoundingBox}},boundingSphere:{get:function(){return this._boundingSphere}}});yA.prototype.distanceToCamera=function(e){return Math.sqrt(this._orientedBoundingBox.distanceSquaredTo(e.camera.positionWC))};yA.prototype.intersectPlane=function(e){return this._orientedBoundingBox.intersectPlane(e)};yA.prototype.update=function(e,t){h.clone(e,this._orientedBoundingBox.center),t=Oce(t),$.clone(t,this._orientedBoundingBox.halfAxes),ce.fromOrientedBoundingBox(this._orientedBoundingBox,this._boundingSphere)};yA.prototype.createDebugVolume=function(e){let t=new Ph({minimum:new h(-1,-1,-1),maximum:new h(1,1,1)}),n=F.fromRotationTranslation(this.boundingVolume.halfAxes,this.boundingVolume.center),i=new wt({geometry:t,id:"outline",modelMatrix:n,attributes:{color:Wt.fromColor(e)}});return new On({geometryInstances:i,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})};var vf=yA;function Qo(e,t,n,i){this._tileset=e,this._header=n;let o=l(n.contents),r=o&&n.contents.length>1||li(n,"3DTILES_multiple_contents"),s=o&&!r?n.contents[0]:n.content;this._contentHeader=s,this.transform=l(n.transform)?F.unpack(n.transform):F.clone(F.IDENTITY);let a=l(i)?i.computedTransform:e.modelMatrix,c=F.multiply(a,this.transform,new F),u=l(i)?i._initialTransform:F.IDENTITY;this._initialTransform=F.multiply(u,this.transform,new F),this.computedTransform=c,this.metadata=FB(e,n),this._verticalExaggeration=1,this._verticalExaggerationRelativeHeight=0,this._boundingVolume=this.createBoundingVolume(n.boundingVolume,c),this._boundingVolume2D=void 0;let f;l(s)&&l(s.boundingVolume)&&(f=this.createBoundingVolume(s.boundingVolume,c)),this._contentBoundingVolume=f,this._contentBoundingVolume2D=void 0;let d;l(n.viewerRequestVolume)&&(d=this.createBoundingVolume(n.viewerRequestVolume,c)),this._viewerRequestVolume=d,this.geometricError=n.geometricError,this._geometricError=n.geometricError,l(this._geometricError)||(this._geometricError=l(i)?i._geometricError:e._geometricError,Qo._deprecationWarning("geometricErrorUndefined","Required property geometricError is undefined for this tile. Using parent's geometric error instead.")),this.updateGeometricErrorScale();let p;l(n.refine)?((n.refine==="replace"||n.refine==="add")&&Qo._deprecationWarning("lowercase-refine",`This tile uses a lowercase refine "${n.refine}". Instead use "${n.refine.toUpperCase()}".`),p=n.refine.toUpperCase()==="REPLACE"?Ko.REPLACE:Ko.ADD):l(i)?p=i.refine:p=Ko.REPLACE,this.refine=p,this.children=[],this.parent=i;let g,m=!1,x,b,T;if(t=Ae.createIfNeeded(t),r)x=$o.UNLOADED,b=t.clone();else if(l(s)){let v=s.uri;l(s.url)&&(Qo._deprecationWarning("contentUrl",'This tileset JSON uses the "content.url" property which has been deprecated. Use "content.uri" instead.'),v=s.url),v===""?(Qo._deprecationWarning("contentUriEmpty","content.uri property is an empty string, which creates a circular dependency, making this tileset invalid. Omit the content property instead"),g=new Qw(e,this),m=!0,x=$o.READY):(x=$o.UNLOADED,b=t.getDerivedResource({url:v}),T=Cc.getServerKey(b.getUrlComponent()))}else g=new Qw(e,this),m=!0,x=$o.READY;this._content=g,this._contentResource=b,this._contentState=x,this._expiredContent=void 0,this._serverKey=T,this.hasEmptyContent=m,this.hasTilesetContent=!1,this.hasImplicitContent=!1,this.hasImplicitContentMetadata=!1,this.hasMultipleContents=r,this.cacheNode=void 0;let C=n.expire,A,S;l(C)&&(A=C.duration,l(C.date)&&(S=K.fromIso8601(C.date))),this.expireDuration=A,this.expireDate=S,this.lastStyleTime=0,this._optimChildrenWithinParent=Dd.NOT_COMPUTED,this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1,this.priorityDeferred=!1,this.implicitTileset=void 0,this.implicitCoordinates=void 0,this.implicitSubtree=void 0,this._distanceToCamera=0,this._centerZDepth=0,this._screenSpaceError=0,this._screenSpaceErrorProgressiveResolution=0,this._visibilityPlaneMask=0,this._visible=!1,this._inRequestVolume=!1,this._finalResolution=!0,this._depth=0,this._stackLength=0,this._selectionDepth=0,this._updatedVisibilityFrame=0,this._touchedFrame=0,this._visitedFrame=0,this._selectedFrame=0,this._wasSelectedLastFrame=!1,this._requestedFrame=0,this._ancestorWithContent=void 0,this._ancestorWithContentAvailable=void 0,this._refines=!1,this._shouldSelect=!1,this._isClipped=!0,this._isClippedByPolygon=!1,this._clippingPlanesState=0,this._clippingPolygonsState=0,this._debugBoundingVolume=void 0,this._debugContentBoundingVolume=void 0,this._debugViewerRequestVolume=void 0,this._debugColor=z.fromRandom({alpha:1}),this._debugColorizeTiles=!1,this._priority=0,this._priorityHolder=this,this._priorityProgressiveResolution=!1,this._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1,this._priorityReverseScreenSpaceError=0,this._foveatedFactor=0,this._wasMinPriorityChild=!1,this._loadTimestamp=new K,this._commandsLength=0,this._color=void 0,this._colorDirty=!1,this._request=void 0}Qo._deprecationWarning=Cs;Object.defineProperties(Qo.prototype,{tileset:{get:function(){return this._tileset}},content:{get:function(){return this._content}},boundingVolume:{get:function(){return this._boundingVolume}},contentBoundingVolume:{get:function(){return y(this._contentBoundingVolume,this._boundingVolume)}},boundingSphere:{get:function(){return this._boundingVolume.boundingSphere}},isVisible:{get:function(){return this._visible&&this._inRequestVolume}},extras:{get:function(){return this._header.extras}},color:{get:function(){return l(this._color)||(this._color=new z),z.clone(this._color)},set:function(e){this._color=z.clone(e,this._color),this._colorDirty=!0}},hasRenderableContent:{get:function(){return!this.hasEmptyContent&&!this.hasTilesetContent&&!this.hasImplicitContent}},contentAvailable:{get:function(){return this.contentReady&&this.hasRenderableContent||l(this._expiredContent)&&!this.contentFailed}},contentReady:{get:function(){return this._contentState===$o.READY}},contentUnloaded:{get:function(){return this._contentState===$o.UNLOADED}},hasUnloadedRenderableContent:{get:function(){return this.hasRenderableContent&&this.contentUnloaded}},contentExpired:{get:function(){return this._contentState===$o.EXPIRED}},contentFailed:{get:function(){return this._contentState===$o.FAILED}},commandsLength:{get:function(){return this._commandsLength}}});var ey=new h;function xqe(e,t){let{tileset:n,boundingSphere:i}=e,{radius:o,center:r}=i,{camera:s}=t,a=h.multiplyByScalar(s.directionWC,e._centerZDepth,ey),c=h.add(s.positionWC,a,ey),u=h.subtract(c,r,ey);if(h.magnitude(u)>o){let S=h.normalize(u,ey),v=h.multiplyByScalar(S,o,ey),D=h.add(r,v,ey),R=h.subtract(D,s.positionWC,ey),O=h.normalize(R,ey);e._foveatedFactor=1-Math.abs(h.dot(s.directionWC,O))}else e._foveatedFactor=0;let p=e.refine===Ko.REPLACE,g=n.isSkippingLevelOfDetail;if(p&&!g||!n.foveatedScreenSpaceError||n.foveatedConeSize===1||e._priorityProgressiveResolution&&p&&g||n._pass===Vo.PRELOAD_FLIGHT||n._pass===Vo.PRELOAD)return!1;let m=1-Math.cos(s.frustum.fov*.5),x=n.foveatedConeSize*m;if(e._foveatedFactor<=x)return!1;let b=m-x,T=P.clamp((e._foveatedFactor-x)/b,0,1),C=n.foveatedInterpolationCallback(n.foveatedMinimumScreenSpaceErrorRelaxation,n.memoryAdjustedScreenSpaceError,T),A=e._screenSpaceError===0&&l(e.parent)?e.parent._screenSpaceError*.5:e._screenSpaceError;return n.memoryAdjustedScreenSpaceError-C<=A}var Nce=new K;Qo.prototype.getScreenSpaceError=function(e,t,n){let i=this._tileset,o=y(n,1),r=l(this.parent)?this.parent.geometricError:i._scaledGeometricError,s=t?r:this.geometricError;if(s===0)return 0;let{camera:a,context:c}=e,u=a.frustum,f=c.drawingBufferWidth,d=c.drawingBufferHeight*o,p;if(e.mode===ne.SCENE2D||u instanceof an){let g=u.offCenterFrustum;l(g)&&(u=g);let m=Math.max(u.top-u.bottom,u.right-u.left)/Math.max(f,d);p=s/m}else{let g=Math.max(this._distanceToCamera,P.EPSILON7),m=u.sseDenominator;if(p=s*d/(g*m),i.dynamicScreenSpaceError){let x=i._dynamicScreenSpaceErrorComputedDensity,b=i.dynamicScreenSpaceErrorFactor,T=P.fog(g,x)*b;p-=T}}return p/=e.pixelRatio,p};function bqe(e,t){if(e.progressiveResolutionHeightFraction<=0||e.progressiveResolutionHeightFraction>.5)return!1;let n=e.memoryAdjustedScreenSpaceError,i=t._screenSpaceErrorProgressiveResolution>n;t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!1;let o=t.parent,r=t._screenSpaceErrorProgressiveResolution<=n,s=l(o)&&o._screenSpaceErrorProgressiveResolution>n;return r&&s&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf=!0,i=!0),i}function Tqe(e,t){let n=t.parent,o=l(n)&&(!e.isSkippingLevelOfDetail||t._screenSpaceError===0||n.hasTilesetContent||n.hasImplicitContent)?n._screenSpaceError:t._screenSpaceError;return e.root._screenSpaceError-o}Qo.prototype.updateVisibility=function(e){let{parent:t,tileset:n}=this;if(this._updatedVisibilityFrame===n._updatedVisibilityFrame)return;let i=l(t)?t.computedTransform:n.modelMatrix,o=l(t)?t._visibilityPlaneMask:As.MASK_INDETERMINATE;this.updateTransform(i,e),this._distanceToCamera=this.distanceToTile(e),this._centerZDepth=this.distanceToTileCenter(e),this._screenSpaceError=this.getScreenSpaceError(e,!1),this._screenSpaceErrorProgressiveResolution=this.getScreenSpaceError(e,!1,n.progressiveResolutionHeightFraction),this._visibilityPlaneMask=this.visibility(e,o),this._visible=this._visibilityPlaneMask!==As.MASK_OUTSIDE,this._inRequestVolume=this.insideViewerRequestVolume(e),this._priorityReverseScreenSpaceError=Tqe(n,this),this._priorityProgressiveResolution=bqe(n,this),this.priorityDeferred=xqe(this,e),this._updatedVisibilityFrame=n._updatedVisibilityFrame};Qo.prototype.updateExpiration=function(){if(l(this.expireDate)&&this.contentReady&&!this.hasEmptyContent&&!this.hasMultipleContents){let e=K.now(Nce);K.lessThan(this.expireDate,e)&&(this._contentState=$o.EXPIRED,this._expiredContent=this._content)}};function Cqe(e){if(!l(e.expireDuration))return;let t=K.now(Nce);K.addSeconds(t,e.expireDuration,t),l(e.expireDate)?K.lessThan(e.expireDate,t)&&K.clone(t,e.expireDate):e.expireDate=K.clone(t)}function Aqe(e){return function(){return e._priority}}Qo.prototype.requestContent=function(){if(!this.hasEmptyContent)return this.hasMultipleContents?Eqe(this):vqe(this)};function Eqe(e){let t=e._content,n=e._tileset;if(!l(t)){let o=li(e._header,"3DTILES_multiple_contents")?e._header.extensions["3DTILES_multiple_contents"]:e._header;t=new BB(n,e,e._contentResource.clone(),o),e._content=t}let i=t.requestInnerContents();if(l(i))return e._contentState=$o.LOADING,i.then(o=>{if(!e.isDestroyed()&&l(o))return e._contentState=$o.PROCESSING,t}).catch(o=>{if(!e.isDestroyed())throw e._contentState=$o.FAILED,o})}async function Sqe(e,t,n,i,o){let r=e._contentState;e._contentState=$o.LOADING,++t.statistics.numberOfPendingRequests;let s;try{s=await o}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;if(n.cancelled||n.state===ei.CANCELLED){e._contentState=r,++t.statistics.numberOfAttemptedRequests;return}throw e._contentState=$o.FAILED,a}if(e.isDestroyed()){--t.statistics.numberOfPendingRequests;return}if(n.cancelled||n.state===ei.CANCELLED){e._contentState=r,--t.statistics.numberOfPendingRequests,++t.statistics.numberOfAttemptedRequests;return}try{let a=await wqe(e,s);return--t.statistics.numberOfPendingRequests,e.isDestroyed()?void 0:(i&&(e.expireDate=void 0),e._content=a,e._contentState=$o.PROCESSING,a)}catch(a){if(--t.statistics.numberOfPendingRequests,e.isDestroyed())return;throw e._contentState=$o.FAILED,a}}function vqe(e){let t=e._contentResource.clone(),n=e.contentExpired;n&&t.setQueryParameters({expired:e.expireDate.toString()});let i=new or({throttle:!0,throttleByServer:!0,type:bs.TILES3D,priorityFunction:Aqe(e),serverKey:e._serverKey});e._request=i,t.request=i;let o=e._tileset,r=t.fetchArrayBuffer();if(!l(r)){++o.statistics.numberOfAttemptedRequests;return}return Sqe(e,o,i,n,r)}async function wqe(e,t){let n=jp(t),i=e._tileset;i._disableSkipLevelOfDetail=i._disableSkipLevelOfDetail||n.contentType===Hs.GEOMETRY||n.contentType===Hs.VECTOR,(n.contentType===Hs.IMPLICIT_SUBTREE||n.contentType===Hs.IMPLICIT_SUBTREE_JSON)&&(e.hasImplicitContent=!0),n.contentType===Hs.EXTERNAL_TILESET&&(e.hasTilesetContent=!0);let o,r=sA[n.contentType];if(e.isDestroyed())return;l(n.binaryPayload)?o=await Promise.resolve(r(i,e,e._contentResource,n.binaryPayload.buffer,0)):o=await Promise.resolve(r(i,e,e._contentResource,n.jsonPayload));let s=e._contentHeader;if(e.hasImplicitContentMetadata){let c=e.implicitSubtree,u=e.implicitCoordinates;o.metadata=c.getContentMetadataView(u,0)}else e.hasImplicitContent||(o.metadata=aA(i,s));let a=cA(i,s);return l(a)&&(o.group=new mC({metadata:a})),o}Qo.prototype.cancelRequests=function(){this.hasMultipleContents?this._content.cancelRequests():this._request.cancel()};Qo.prototype.unloadContent=function(){this.hasRenderableContent&&(this._content=this._content&&this._content.destroy(),this._contentState=$o.UNLOADED,this.lastStyleTime=0,this.clippingPlanesDirty=this._clippingPlanesState===0,this._clippingPlanesState=0,this.clippingPolygonsDirty=this._clippingPolygonsState===0,this._clippingPolygonsState=0,this._debugColorizeTiles=!1,this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy())};var Fce=new ce;function _j(e,t){if(t.mode!==ne.SCENE3D&&!l(e._boundingVolume2D)){let n=e._boundingVolume.boundingSphere,i=ce.projectTo2D(n,t.mapProjection,Fce);e._boundingVolume2D=new Jg(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._boundingVolume2D:e._boundingVolume}function Dqe(e,t){if(t.mode!==ne.SCENE3D&&!l(e._contentBoundingVolume2D)){let n=e._contentBoundingVolume.boundingSphere,i=ce.projectTo2D(n,t.mapProjection,Fce);e._contentBoundingVolume2D=new Jg(i.center,i.radius)}return t.mode!==ne.SCENE3D?e._contentBoundingVolume2D:e._contentBoundingVolume}Qo.prototype.visibility=function(e,t){let n=e.cullingVolume,i=_j(this,e),o=this._tileset,r=o.clippingPlanes;if(l(r)&&r.enabled){let a=r.computeIntersectionWithBoundingVolume(i,o.clippingPlanesOriginMatrix);if(this._isClipped=a!==jt.INSIDE,a===jt.OUTSIDE)return As.MASK_OUTSIDE}let s=o.clippingPolygons;if(l(s)&&s.enabled){let a=s.computeIntersectionWithBoundingVolume(i);this._isClippedByPolygon=a!==jt.OUTSIDE}return n.computeVisibilityWithPlaneMask(i,t)};Qo.prototype.contentVisibility=function(e){if(!l(this._contentBoundingVolume))return jt.INSIDE;if(this._visibilityPlaneMask===As.MASK_INSIDE)return jt.INSIDE;let t=e.cullingVolume,n=Dqe(this,e),i=this._tileset,o=i.clippingPlanes;if(l(o)&&o.enabled){let s=o.computeIntersectionWithBoundingVolume(n,i.clippingPlanesOriginMatrix);if(this._isClipped=s!==jt.INSIDE,s===jt.OUTSIDE)return jt.OUTSIDE}let r=i.clippingPolygons;if(l(r)&&r.enabled){let s=r.computeIntersectionWithBoundingVolume(n);if(this._isClippedByPolygon=s!==jt.OUTSIDE,s===jt.INSIDE)return jt.OUTSIDE}return t.computeVisibility(n)};Qo.prototype.distanceToTile=function(e){return _j(this,e).distanceToCamera(e)};var Iqe=new h;Qo.prototype.distanceToTileCenter=function(e){let n=_j(this,e).boundingVolume,i=h.subtract(n.center,e.camera.positionWC,Iqe);return h.dot(e.camera.directionWC,i)};Qo.prototype.insideViewerRequestVolume=function(e){let t=this._viewerRequestVolume;return!l(t)||t.distanceToCamera(e)===0};var Bce=new $,kce=new h,Pqe=new $,gj=new h,Vce=new ae,Uce=new In,pj=new F;function Oqe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],gj),o=$.fromArray(e,3,Pqe);i=F.multiplyByPoint(t,i,i);let r=F.getMatrix3(t,Bce);return o=$.multiply(r,o,o),l(n)?(n.update(i,o),n):new vf(i,o)}function Rqe(e,t,n,i){let o=ae.unpack(e,0,Vce),r=e[4],s=e[5],a=In.fromRectangle(o,r,s,ee.WGS84,Uce),c=a.center,u=a.halfAxes;t=F.multiplyTransformation(t,F.inverseTransformation(n,pj),pj),c=F.multiplyByPoint(t,c,c);let f=F.getMatrix3(t,Bce);return u=$.multiply(f,u,u),l(i)&&i instanceof vf?(i.update(c,u),i):new vf(c,u)}function Mqe(e,t,n,i){if(!F.equalsEpsilon(t,n,P.EPSILON8))return Rqe(e,t,n,i);let o=ae.unpack(e,0,Vce);return l(i)?(i.rectangle=ae.clone(o,i.rectangle),i.minimumHeight=e[4],i.maximumHeight=e[5],i.computeBoundingVolumes(ee.WGS84),i):new Id({rectangle:o,minimumHeight:e[4],maximumHeight:e[5]})}function Lqe(e,t,n){let i=h.fromElements(e[0],e[1],e[2],gj),o=e[3];i=F.multiplyByPoint(t,i,i);let r=F.getScale(t,kce),s=h.maximumComponent(r);return o*=s,l(n)?(n.update(i,o),n):new Jg(i,o)}Qo.prototype.createBoundingVolume=function(e,t,n){let i=this.metadata,o;if(l(i)&&(o=vC.parseBoundingVolumeSemantic("TILE",i)),l(o)&&(e=o),!l(e))throw new se("boundingVolume must be defined");if(li(e,"3DTILES_bounding_volume_S2"))return new zB(e.extensions["3DTILES_bounding_volume_S2"]);let{box:r,region:s,sphere:a}=e;if(l(r)){let c=Oqe(r,t,n);return this._verticalExaggeration!==1&&Rce(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c}if(l(s)){let c=Mqe(s,t,this._initialTransform,n);return this._verticalExaggeration===1||(c instanceof vf?Rce(c,this._verticalExaggeration,this._verticalExaggerationRelativeHeight):(c.minimumHeight=Pr.getHeight(c.minimumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.maximumHeight=Pr.getHeight(c.maximumHeight,this._verticalExaggeration,this._verticalExaggerationRelativeHeight),c.computeBoundingVolumes(ee.WGS84))),c}if(l(a)){let c=Lqe(a,t,n);if(this._verticalExaggeration!==1){let u=Pr.getPosition(c.center,ee.WGS84,this._verticalExaggeration,this._verticalExaggerationRelativeHeight,gj),f=c.radius*this._verticalExaggeration;c.update(u,f)}return c}throw new se("boundingVolume must contain a sphere, region, or box")};var Nqe=h.unpackArray(new Array(8*3).fill(0));function Rce(e,t,n){let i=e.boundingVolume.computeCorners(Nqe).map(r=>Pr.getPosition(r,ee.WGS84,t,n,r)),o=In.fromPoints(i,Uce);e.update(o.center,o.halfAxes)}Qo.prototype.updateTransform=function(e,t){e=y(e,F.IDENTITY);let n=F.multiplyTransformation(e,this.transform,pj),i=!F.equals(n,this.computedTransform),o=l(t)&&(this._verticalExaggeration!==t.verticalExaggeration||this._verticalExaggerationRelativeHeight!==t.verticalExaggerationRelativeHeight);if(!i&&!o)return;i&&F.clone(n,this.computedTransform),o&&(this._verticalExaggeration=t.verticalExaggeration,this._verticalExaggerationRelativeHeight=t.verticalExaggerationRelativeHeight);let r=this._header,s=this._contentHeader;this._boundingVolume=this.createBoundingVolume(r.boundingVolume,this.computedTransform,this._boundingVolume),l(this._contentBoundingVolume)&&(this._contentBoundingVolume=this.createBoundingVolume(s.boundingVolume,this.computedTransform,this._contentBoundingVolume)),l(this._viewerRequestVolume)&&(this._viewerRequestVolume=this.createBoundingVolume(r.viewerRequestVolume,this.computedTransform,this._viewerRequestVolume)),this.updateGeometricErrorScale(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy()};Qo.prototype.updateGeometricErrorScale=function(){let e=F.getScale(this.computedTransform,kce),t=h.maximumComponent(e);if(this.geometricError=this._geometricError*t,!l(this.parent)){let n=this._tileset;n._scaledGeometricError=n._geometricError*t}};function Fqe(e,t,n,i){if(!i.isRender)return;let o=l(e._contentHeader)&&l(e._contentHeader.boundingVolume),r=t.debugShowBoundingVolume||t.debugShowContentBoundingVolume&&!o;if(r){let c;e._finalResolution?e.hasRenderableContent?c=z.WHITE:c=z.DARKGRAY:c=z.YELLOW,l(e._debugBoundingVolume)||(e._debugBoundingVolume=e._boundingVolume.createDebugVolume(c)),e._debugBoundingVolume.update(n);let u=e._debugBoundingVolume.getGeometryInstanceAttributes("outline");u.color=Wt.toValue(c,u.color)}else!r&&l(e._debugBoundingVolume)&&(e._debugBoundingVolume=e._debugBoundingVolume.destroy());t.debugShowContentBoundingVolume&&o?(l(e._debugContentBoundingVolume)||(e._debugContentBoundingVolume=e._contentBoundingVolume.createDebugVolume(z.BLUE)),e._debugContentBoundingVolume.update(n)):!t.debugShowContentBoundingVolume&&l(e._debugContentBoundingVolume)&&(e._debugContentBoundingVolume=e._debugContentBoundingVolume.destroy()),t.debugShowViewerRequestVolume&&l(e._viewerRequestVolume)?(l(e._debugViewerRequestVolume)||(e._debugViewerRequestVolume=e._viewerRequestVolume.createDebugVolume(z.YELLOW)),e._debugViewerRequestVolume.update(n)):!t.debugShowViewerRequestVolume&&l(e._debugViewerRequestVolume)&&(e._debugViewerRequestVolume=e._debugViewerRequestVolume.destroy());let s=t.debugColorizeTiles&&!e._debugColorizeTiles||l(t._heatmap.tilePropertyName),a=!t.debugColorizeTiles&&e._debugColorizeTiles;s?(t._heatmap.colorize(e,n),e._debugColorizeTiles=!0,e.color=e._debugColor):a&&(e._debugColorizeTiles=!1,e.color=z.WHITE),e._colorDirty&&(e._colorDirty=!1,e._content.applyDebugSettings(!0,e._color)),a&&t.makeStyleDirty()}function Bqe(e,t,n){let i=e._expiredContent;if(!e.hasMultipleContents&&l(i)){if(!e.contentReady){try{i.update(t,n)}catch{}return}e._expiredContent.destroy(),e._expiredContent=void 0}if(l(e.content))try{e.content.update(t,n)}catch(o){throw e._contentState=$o.FAILED,o}}function kqe(e,t){let n=t.clippingPlanes,i=0;l(n)&&e._isClipped&&n.enabled&&(i=n.clippingPlanesState),i!==e._clippingPlanesState&&(e._clippingPlanesState=i,e.clippingPlanesDirty=!0)}function Vqe(e,t){let n=t.clippingPolygons,i=0;l(n)&&e._isClippedByPolygon&&n.enabled&&(i=n.clippingPolygonsState),i!==e._clippingPolygonsState&&(e._clippingPolygonsState=i,e.clippingPolygonsDirty=!0)}Qo.prototype.update=function(e,t,n){let{commandList:i}=t,o=i.length;kqe(this,e),Vqe(this,e),Fqe(this,e,t,n),Bqe(this,e,t);let r=i.length;this._commandsLength=r-o;for(let s=o;s<r;++s){let a=i[s],c=a.pass===ve.TRANSLUCENT;a.depthForTranslucentClassification=c}this.clippingPlanesDirty=!1,this.clippingPolygonsDirty=!1};var Mce=[];Qo.prototype.process=function(e,t){!this.contentExpired&&!this.contentReady&&this._content.ready&&(Cqe(this),this._selectedFrame=0,this.lastStyleTime=0,K.now(this._loadTimestamp),this._contentState=$o.READY,!this.hasTilesetContent&&!this.hasImplicitContent&&(e._statistics.incrementLoadCounts(this.content),++e._statistics.numberOfTilesWithContentReady,++e._statistics.numberOfLoadedTilesTotal,e._cache.add(this)));let n=t.commandList;t.commandList=Mce;try{this._content.update(e,t)}catch(i){throw this._contentState=$o.FAILED,i}Mce.length=0,t.commandList=n};function Lce(e,t,n){let i=e*Math.pow(10,t);return parseInt(i)*Math.pow(10,n)}function WB(e,t,n){return Math.max(P.normalize(e,t,n)-P.EPSILON7,0)}Qo.prototype.updatePriority=function(){let e=this.tileset,t=e.preferLeaves,n=e._minimumPriority,i=e._maximumPriority,o=4,r=1,s=0,a=o,c=s+a,u=o,f=c+u,d=r,p=Math.pow(10,f),g=f+d,m=r,x=Math.pow(10,g),b=g+m,T=Math.pow(10,b),C=WB(this._depth,n.depth,i.depth);C=t?1-C:C;let S=!e.isSkippingLevelOfDetail&&this.refine===Ko.REPLACE?WB(this._priorityHolder._distanceToCamera,n.distance,i.distance):WB(this._priorityReverseScreenSpaceError,n.reverseScreenSpaceError,i.reverseScreenSpaceError),v=Lce(S,a,s),D=this._priorityProgressiveResolution?0:p,R=WB(this._priorityHolder._foveatedFactor,n.foveatedFactor,i.foveatedFactor),O=Lce(R,u,c),M=this.priorityDeferred?x:0,N=e._pass===Vo.PRELOAD_FLIGHT?0:T;this._priority=C+v+D+O+M+N};Qo.prototype.isDestroyed=function(){return!1};Qo.prototype.destroy=function(){return this._content=this._content&&this._content.destroy(),this._expiredContent=this._expiredContent&&!this._expiredContent.isDestroyed()&&this._expiredContent.destroy(),this._debugBoundingVolume=this._debugBoundingVolume&&this._debugBoundingVolume.destroy(),this._debugContentBoundingVolume=this._debugContentBoundingVolume&&this._debugContentBoundingVolume.destroy(),this._debugViewerRequestVolume=this._debugViewerRequestVolume&&this._debugViewerRequestVolume.destroy(),ue(this)};var Od=Qo;function Yp(e){e=y(e,y.EMPTY_OBJECT);let t=e.id,n=e.group,i=e.class,o=l(n.properties)?n.properties:{};this._class=i,this._properties=o,this._id=t,this._extras=n.extras,this._extensions=n.extensions}Object.defineProperties(Yp.prototype,{class:{get:function(){return this._class}},id:{get:function(){return this._id}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Yp.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Yp.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Yp.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Yp.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};Yp.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};Yp.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};Yp.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var nD=Yp;function Xp(e){e=y(e,y.EMPTY_OBJECT);let t=e.tileset,n=e.class,i=l(t.properties)?t.properties:{};this._class=n,this._properties=i,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(Xp.prototype,{class:{get:function(){return this._class}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});Xp.prototype.hasProperty=function(e){return kn.hasProperty(e,this._properties,this._class)};Xp.prototype.hasPropertyBySemantic=function(e){return kn.hasPropertyBySemantic(e,this._properties,this._class)};Xp.prototype.getPropertyIds=function(e){return kn.getPropertyIds(this._properties,this._class,e)};Xp.prototype.getProperty=function(e){return kn.getProperty(e,this._properties,this._class)};Xp.prototype.setProperty=function(e,t){return kn.setProperty(e,t,this._properties,this._class)};Xp.prototype.getPropertyBySemantic=function(e){return kn.getPropertyBySemantic(e,this._properties,this._class)};Xp.prototype.setPropertyBySemantic=function(e,t){return kn.setPropertyBySemantic(e,t,this._properties,this._class)};var jB=Xp;function zce(e){e=y(e,y.EMPTY_OBJECT);let t=e.metadataJson,n=e.schema,i=y(t.metadata,t.tileset),o;l(i)&&(o=new jB({tileset:i,class:n.classes[i.class]}));let r=[],s=[],a=t.groups;if(Array.isArray(a)){let c=a.length;for(let u=0;u<c;u++){let f=a[u];s.push(new nD({group:f,class:n.classes[f.class]}))}}else if(l(a)){r=Object.keys(a).sort();let c=r.length;for(let u=0;u<c;u++){let f=r[u];if(a.hasOwnProperty(f)){let d=a[f];s.push(new nD({id:f,group:a[f],class:n.classes[d.class]}))}}}this._schema=n,this._groups=s,this._groupIds=r,this._tileset=o,this._statistics=t.statistics,this._extras=t.extras,this._extensions=t.extensions}Object.defineProperties(zce.prototype,{schema:{get:function(){return this._schema}},groups:{get:function(){return this._groups}},groupIds:{get:function(){return this._groupIds}},tileset:{get:function(){return this._tileset}},statistics:{get:function(){return this._statistics}},extras:{get:function(){return this._extras}},extensions:{get:function(){return this._extensions}}});var xA=zce;var Hce={},Uqe=new h;Hce.checkChildrenWithinParent=function(e){let t=e.children,n=t.length,i=e.boundingVolume;if(i instanceof vf||i instanceof Id){let o=i._orientedBoundingBox;e._optimChildrenWithinParent=Dd.USE_OPTIMIZATION;for(let r=0;r<n;++r){let a=t[r].boundingVolume;if(!(a instanceof vf||a instanceof Id)){e._optimChildrenWithinParent=Dd.SKIP_OPTIMIZATION;break}let c=a._orientedBoundingBox,u=h.subtract(c.center,o.center,Uqe),f=h.magnitude(u);h.divideByScalar(u,f,u);let d=Math.abs(o.halfAxes[0]*u.x)+Math.abs(o.halfAxes[1]*u.y)+Math.abs(o.halfAxes[2]*u.z)+Math.abs(o.halfAxes[3]*u.x)+Math.abs(o.halfAxes[4]*u.y)+Math.abs(o.halfAxes[5]*u.z)+Math.abs(o.halfAxes[6]*u.x)+Math.abs(o.halfAxes[7]*u.y)+Math.abs(o.halfAxes[8]*u.z),p=Math.abs(c.halfAxes[0]*u.x)+Math.abs(c.halfAxes[1]*u.y)+Math.abs(c.halfAxes[2]*u.z)+Math.abs(c.halfAxes[3]*u.x)+Math.abs(c.halfAxes[4]*u.y)+Math.abs(c.halfAxes[5]*u.z)+Math.abs(c.halfAxes[6]*u.x)+Math.abs(c.halfAxes[7]*u.y)+Math.abs(c.halfAxes[8]*u.z);if(d<=p+f){e._optimChildrenWithinParent=Dd.SKIP_OPTIMIZATION;break}}}return e._optimChildrenWithinParent===Dd.USE_OPTIMIZATION};var qB=Hce;function iD(){this.head=void 0,this.tail=void 0,this._length=0}Object.defineProperties(iD.prototype,{length:{get:function(){return this._length}}});function zqe(e,t,n){this.item=e,this.previous=t,this.next=n}iD.prototype.add=function(e){let t=new zqe(e,this.tail,void 0);return l(this.tail)?(this.tail.next=t,this.tail=t):(this.head=t,this.tail=t),++this._length,t};function Gce(e,t){l(t.previous)&&l(t.next)?(t.previous.next=t.next,t.next.previous=t.previous):l(t.previous)?(t.previous.next=void 0,e.tail=t.previous):l(t.next)?(t.next.previous=void 0,e.head=t.next):(e.head=void 0,e.tail=void 0),t.next=void 0,t.previous=void 0}iD.prototype.remove=function(e){l(e)&&(Gce(this,e),--this._length)};iD.prototype.splice=function(e,t){if(e===t)return;Gce(this,t);let n=e.next;e.next=t,this.tail===e?this.tail=t:n.previous=t,t.next=n,t.previous=e};var YB=iD;function Hx(){this._list=new YB,this._sentinel=this._list.add(),this._trimTiles=!1}Hx.prototype.reset=function(){this._list.splice(this._list.tail,this._sentinel)};Hx.prototype.touch=function(e){let t=e.cacheNode;l(t)&&this._list.splice(this._sentinel,t)};Hx.prototype.add=function(e){l(e.cacheNode)||(e.cacheNode=this._list.add(e))};Hx.prototype.unloadTile=function(e,t,n){let i=t.cacheNode;l(i)&&(this._list.remove(i),t.cacheNode=void 0,n(e,t))};Hx.prototype.unloadTiles=function(e,t){let n=this._trimTiles;this._trimTiles=!1;let i=this._list,o=this._sentinel,r=i.head;for(;r!==o&&(e.totalMemoryUsageInBytes>e.cacheBytes||n);){let s=r.item;r=r.next,this.unloadTile(e,s,t)}};Hx.prototype.trim=function(){this._trimTiles=!0};var XB=Hx;function KB(e){this.tilePropertyName=e,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE,this._previousMinimum=Number.MAX_VALUE,this._previousMaximum=-Number.MAX_VALUE,this._referenceMinimum={},this._referenceMaximum={}}function xj(e,t){let n;return t==="_loadTimestamp"?n=K.toDate(e).getTime():n=e,n}KB.prototype.setReferenceMinimumMaximum=function(e,t,n){this._referenceMinimum[n]=xj(e,n),this._referenceMaximum[n]=xj(t,n)};function Hqe(e,t){let n=e.tilePropertyName;if(l(n)){let i=xj(t[n],n);return l(i)?(e._maximum=Math.max(i,e._maximum),e._minimum=Math.min(i,e._minimum),i):(e.tilePropertyName=void 0,i)}}var yj=[new z(.1,.1,.1,1),new z(.153,.278,.878,1),new z(.827,.231,.49,1),new z(.827,.188,.22,1),new z(1,.592,.259,1),new z(1,.843,0,1)];KB.prototype.colorize=function(e,t){let n=this.tilePropertyName;if(!l(n)||!e.contentAvailable||e._selectedFrame!==t.frameNumber)return;let i=Hqe(this,e),o=this._previousMinimum,r=this._previousMaximum;if(o===Number.MAX_VALUE||r===-Number.MAX_VALUE)return;let s=r-o+P.EPSILON7,c=P.clamp(i-o,0,s)/s,u=yj.length-1,f=c*u,d=Math.floor(f),p=Math.ceil(f),g=f-d,m=yj[d],x=yj[p],b=z.clone(z.WHITE);b.red=P.lerp(m.red,x.red,g),b.green=P.lerp(m.green,x.green,g),b.blue=P.lerp(m.blue,x.blue,g),e._debugColor=b};KB.prototype.resetMinimumMaximum=function(){let e=this.tilePropertyName;if(l(e)){let t=this._referenceMinimum[e],n=this._referenceMaximum[e],i=l(t)&&l(n);this._previousMinimum=i?t:this._minimum,this._previousMaximum=i?n:this._maximum,this._minimum=Number.MAX_VALUE,this._maximum=-Number.MAX_VALUE}};var ZB=KB;function bA(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfPendingRequests=0,this.numberOfTilesProcessing=0,this.numberOfTilesWithContentReady=0,this.numberOfTilesTotal=0,this.numberOfLoadedTilesTotal=0,this.numberOfFeaturesSelected=0,this.numberOfFeaturesLoaded=0,this.numberOfPointsSelected=0,this.numberOfPointsLoaded=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0,this.geometryByteLength=0,this.texturesByteLength=0,this.texturesReferenceCounterById={},this.batchTableByteLength=0}bA.prototype.clear=function(){this.selected=0,this.visited=0,this.numberOfCommands=0,this.numberOfAttemptedRequests=0,this.numberOfFeaturesSelected=0,this.numberOfPointsSelected=0,this.numberOfTrianglesSelected=0,this.numberOfTilesStyled=0,this.numberOfFeaturesStyled=0,this.numberOfTilesCulledWithChildrenUnion=0};bA.prototype.incrementSelectionCounts=function(e){this.numberOfFeaturesSelected+=e.featuresLength,this.numberOfPointsSelected+=e.pointsLength,this.numberOfTrianglesSelected+=e.trianglesLength;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this.incrementSelectionCounts(t[i])}};bA.prototype.incrementLoadCounts=function(e){if(this.numberOfFeaturesLoaded+=e.featuresLength,this.numberOfPointsLoaded+=e.pointsLength,this.geometryByteLength+=e.geometryByteLength,this.batchTableByteLength+=e.batchTableByteLength,!(e instanceof hf))this.texturesByteLength+=e.texturesByteLength;else{let n=e.getTextureIds();for(let i of n){let o=this.texturesReferenceCounterById[i]??0;if(o===0){let r=e.getTextureByteLengthById(i);this.texturesByteLength+=r}this.texturesReferenceCounterById[i]=o+1}}let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this.incrementLoadCounts(t[i])}};bA.prototype.decrementLoadCounts=function(e){if(this.numberOfFeaturesLoaded-=e.featuresLength,this.numberOfPointsLoaded-=e.pointsLength,this.geometryByteLength-=e.geometryByteLength,this.batchTableByteLength-=e.batchTableByteLength,!(e instanceof hf))this.texturesByteLength-=e.texturesByteLength;else{let n=e.getTextureIds();for(let i of n){let o=this.texturesReferenceCounterById[i];if(o===1){delete this.texturesReferenceCounterById[i];let r=e.getTextureByteLengthById(i);this.texturesByteLength-=r}else this.texturesReferenceCounterById[i]=o-1}}let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)this.decrementLoadCounts(t[i])}};bA.clone=function(e,t){t.selected=e.selected,t.visited=e.visited,t.numberOfCommands=e.numberOfCommands,t.selected=e.selected,t.numberOfAttemptedRequests=e.numberOfAttemptedRequests,t.numberOfPendingRequests=e.numberOfPendingRequests,t.numberOfTilesProcessing=e.numberOfTilesProcessing,t.numberOfTilesWithContentReady=e.numberOfTilesWithContentReady,t.numberOfTilesTotal=e.numberOfTilesTotal,t.numberOfFeaturesSelected=e.numberOfFeaturesSelected,t.numberOfFeaturesLoaded=e.numberOfFeaturesLoaded,t.numberOfPointsSelected=e.numberOfPointsSelected,t.numberOfPointsLoaded=e.numberOfPointsLoaded,t.numberOfTrianglesSelected=e.numberOfTrianglesSelected,t.numberOfTilesStyled=e.numberOfTilesStyled,t.numberOfFeaturesStyled=e.numberOfFeaturesStyled,t.numberOfTilesCulledWithChildrenUnion=e.numberOfTilesCulledWithChildrenUnion,t.geometryByteLength=e.geometryByteLength,t.texturesByteLength=e.texturesByteLength,t.texturesReferenceCounterById={...e.texturesReferenceCounterById},t.batchTableByteLength=e.batchTableByteLength};var ty=bA;function oD(){this._style=void 0,this._styleDirty=!1,this._lastStyleTime=0}Object.defineProperties(oD.prototype,{style:{get:function(){return this._style},set:function(e){e!==this._style&&(this._style=e,this._styleDirty=!0)}}});oD.prototype.makeDirty=function(){this._styleDirty=!0};oD.prototype.resetDirty=function(){this._styleDirty=!1};oD.prototype.applyStyle=function(e){if(!l(e.root)||l(this._style)&&!this._style._ready)return;let t=this._styleDirty;t&&++this._lastStyleTime;let n=this._lastStyleTime,i=e._statistics,o=t?e._selectedTiles:e._selectedTilesToStyle,r=o.length;for(let s=0;s<r;++s){let a=o[s];if(a.lastStyleTime!==n){let c=a.content;a.lastStyleTime=n,c.applyStyle(this._style),i.numberOfFeaturesStyled+=c.featuresLength,++i.numberOfTilesStyled}}};var $B=oD;function Gqe(e,t,n){let i=li(t,"3DTILES_implicit_tiling")?t.extensions["3DTILES_implicit_tiling"]:t.implicitTiling;this.baseResource=e,this.geometricError=t.geometricError,this.metadataSchema=n;let o=t.boundingVolume;if(!l(o.box)&&!l(o.region)&&!li(o,"3DTILES_bounding_volume_S2")&&!li(o,"3DTILES_bounding_volume_cylinder"))throw new se("Only box, region, 3DTILES_bounding_volume_S2, and 3DTILES_bounding_volume_cylinder are supported for implicit tiling");this.boundingVolume=o,this.refine=t.refine,this.subtreeUriTemplate=new Ae({url:i.subtrees.uri}),this.contentUriTemplates=[],this.contentHeaders=[];let r=Wqe(t);for(let s=0;s<r.length;s++){let a=r[s];this.contentHeaders.push(We(a,!0));let c=new Ae({url:a.uri});this.contentUriTemplates.push(c)}this.contentCount=this.contentHeaders.length,this.tileHeader=jqe(t),this.subdivisionScheme=ss[i.subdivisionScheme],this.branchingFactor=ss.getBranchingFactor(this.subdivisionScheme),this.subtreeLevels=i.subtreeLevels,l(i.availableLevels)?this.availableLevels=i.availableLevels:this.availableLevels=i.maximumLevel+1}function Wqe(e){if(li(e,"3DTILES_multiple_contents")){let t=e.extensions["3DTILES_multiple_contents"];return l(t.contents)?t.contents:t.content}return l(e.contents)?e.contents:l(e.content)?[e.content]:[]}function jqe(e){let t=We(e,!0);return l(t.extensions)&&(delete t.extensions["3DTILES_implicit_tiling"],delete t.extensions["3DTILES_multiple_contents"],Object.keys(t.extensions).length===0&&delete t.extensions),delete t.implicitTiling,delete t.contents,delete t.content,t}var TA=Gqe;var rD={};function Wce(e){return e=(e^e<<8)&16711935,e=(e^e<<4)&252645135,e=(e^e<<2)&858993459,e=(e^e<<1)&1431655765,e}function bj(e){return e=(e^e<<16)&50331903,e=(e^e<<8)&50393103,e=(e^e<<4)&51130563,e=(e^e<<2)&153391689,e}function jce(e){return e&=1431655765,e=(e^e>>1)&858993459,e=(e^e>>2)&252645135,e=(e^e>>4)&16711935,e=(e^e>>8)&65535,e}function Tj(e){return e&=153391689,e=(e^e>>2)&51130563,e=(e^e>>4)&50393103,e=(e^e>>8)&4278190335,e=(e^e>>16)&1023,e}rD.encode2D=function(e,t){return(Wce(e)|Wce(t)<<1)>>>0};rD.decode2D=function(e,t){return l(t)||(t=new Array(2)),t[0]=jce(e),t[1]=jce(e>>1),t};rD.encode3D=function(e,t,n){return bj(e)|bj(t)<<1|bj(n)<<2};rD.decode3D=function(e,t){return l(t)||(t=new Array(3)),t[0]=Tj(e),t[1]=Tj(e>>1),t[2]=Tj(e>>2),t};var Gx=rD;function Uo(e){this.subdivisionScheme=e.subdivisionScheme,this.subtreeLevels=e.subtreeLevels,this.level=e.level,this.x=e.x,this.y=e.y,this.z=void 0,e.subdivisionScheme===ss.OCTREE&&(this.z=e.z)}Object.defineProperties(Uo.prototype,{childIndex:{get:function(){let e=0;return e|=this.x&1,e|=(this.y&1)<<1,this.subdivisionScheme===ss.OCTREE&&(e|=(this.z&1)<<2),e}},mortonIndex:{get:function(){return this.subdivisionScheme===ss.OCTREE?Gx.encode3D(this.x,this.y,this.z):Gx.encode2D(this.x,this.y)}},tileIndex:{get:function(){let e=this.subdivisionScheme===ss.OCTREE?((1<<3*this.level)-1)/7:((1<<2*this.level)-1)/3,t=this.mortonIndex;return e+t}}});Uo.prototype.getDescendantCoordinates=function(e){let t=this.level+e.level,n=(this.x<<e.level)+e.x,i=(this.y<<e.level)+e.y;if(this.subdivisionScheme===ss.OCTREE){let o=(this.z<<e.level)+e.z;return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Uo.prototype.getAncestorCoordinates=function(e){let t=1<<e,n=this.level-e,i=Math.floor(this.x/t),o=Math.floor(this.y/t);if(this.subdivisionScheme===ss.OCTREE){let r=Math.floor(this.z/t);return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o,z:r})}return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:n,x:i,y:o})};Uo.prototype.getOffsetCoordinates=function(e){let t=e.level-this.level,n=1<<t,i=e.x%n,o=e.y%n;if(this.subdivisionScheme===ss.OCTREE){let r=e.z%n;return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o,z:r})}return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:i,y:o})};Uo.prototype.getChildCoordinates=function(e){let t=this.level+1,n=2*this.x+e%2,i=2*this.y+Math.floor(e/2)%2;if(this.subdivisionScheme===ss.OCTREE){let o=2*this.z+Math.floor(e/4)%2;return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i,z:o})}return new Uo({subdivisionScheme:this.subdivisionScheme,subtreeLevels:this.subtreeLevels,level:t,x:n,y:i})};Uo.prototype.getSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels)};Uo.prototype.getParentSubtreeCoordinates=function(){return this.getAncestorCoordinates(this.level%this.subtreeLevels+this.subtreeLevels)};Uo.prototype.isAncestor=function(e){let t=e.level-this.level;if(t<=0)return!1;let n=e.x>>t,i=e.y>>t,o=this.x===n,r=this.y===i;if(this.subdivisionScheme===ss.OCTREE){let s=e.z>>t,a=this.z===s;return o&&r&&a}return o&&r};Uo.prototype.isEqual=function(e){return this.subdivisionScheme===e.subdivisionScheme&&this.subtreeLevels===e.subtreeLevels&&this.level===e.level&&this.x===e.x&&this.y===e.y&&(this.subdivisionScheme===ss.OCTREE?this.z===e.z:!0)};Uo.prototype.isImplicitTilesetRoot=function(){return this.level===0};Uo.prototype.isSubtreeRoot=function(){return this.level%this.subtreeLevels===0};Uo.prototype.isBottomOfSubtree=function(){return this.level%this.subtreeLevels===this.subtreeLevels-1};Uo.prototype.getTemplateValues=function(){let e={level:this.level,x:this.x,y:this.y};return this.subdivisionScheme===ss.OCTREE&&(e.z=this.z),e};var qce=[0,0,0];Uo.fromMortonIndex=function(e,t,n,i){let o;return e===ss.OCTREE?(o=Gx.decode3D(i,qce),new Uo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1],z:o[2]})):(o=Gx.decode2D(i,qce),new Uo({subdivisionScheme:e,subtreeLevels:t,level:n,x:o[0],y:o[1]}))};Uo.fromTileIndex=function(e,t,n){let i,o,r;return e===ss.OCTREE?(i=Math.floor(P.log2(7*n+1)/3),o=((1<<3*i)-1)/7,r=n-o):(i=Math.floor(P.log2(3*n+1)/2),o=((1<<2*i)-1)/3,r=n-o),Uo.fromMortonIndex(e,t,i,r)};var CA=Uo;function Kp(){}Kp.selectTiles=function(e,t){de.throwInstantiationError()};Kp.sortChildrenByDistanceToCamera=function(e,t){return t._distanceToCamera===0&&e._distanceToCamera===0?t._centerZDepth-e._centerZDepth:t._distanceToCamera-e._distanceToCamera};Kp.canTraverse=function(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:e._screenSpaceError>e.tileset.memoryAdjustedScreenSpaceError};Kp.selectTile=function(e,t){if(e.contentVisibility(t)===jt.OUTSIDE)return;e._wasSelectedLastFrame=!0;let{content:n,tileset:i}=e;n.featurePropertiesDirty?(n.featurePropertiesDirty=!1,e.lastStyleTime=0,i._selectedTilesToStyle.push(e)):e._selectedFrame<t.frameNumber-1&&(i._selectedTilesToStyle.push(e),e._wasSelectedLastFrame=!1),e._selectedFrame=t.frameNumber,i._selectedTiles.push(e)};Kp.visitTile=function(e,t){++e.tileset._statistics.visited,e._visitedFrame=t.frameNumber};Kp.touchTile=function(e,t){e._touchedFrame!==t.frameNumber&&(e.tileset._cache.touch(e),e._touchedFrame=t.frameNumber)};Kp.loadTile=function(e,t){let{tileset:n}=e;if(e._requestedFrame===t.frameNumber||!e.hasUnloadedRenderableContent&&!e.contentExpired||!qqe(e,t))return;let i=t.camera.timeSinceMoved<n.foveatedTimeDelay;e.priorityDeferred&&i||(e._requestedFrame=t.frameNumber,n._requestedTiles.push(e))};function qqe(e,t){let{tileset:n}=e;if(!n._cullRequestsWhileMoving)return!0;let{positionWCDeltaMagnitude:i,positionWCDeltaMagnitudeLastFrame:o}=t.camera,r=i!==0?i:o,s=Math.max(e.boundingSphere.radius*2,1);return n.cullRequestsWhileMovingMultiplier*r/s<1}Kp.updateTile=function(e,t){Yce(e,t),e.updateExpiration(),e._wasMinPriorityChild=!1,e._priorityHolder=e,Kqe(e),e._shouldSelect=!1,e._finalResolution=!0};function Yce(e,t){if(e.updateVisibility(t),!e.isVisible)return;let n=e.children.length>0;if((e.hasTilesetContent||e.hasImplicitContent)&&n){let r=e.children[0];Yce(r,t),e._visible=r._visible;return}if(Yqe(e,t)){e._visible=!1;return}let i=e.refine===Ko.REPLACE,o=e._optimChildrenWithinParent===Dd.USE_OPTIMIZATION;if(i&&o&&n&&!Xqe(e,t)){++e.tileset._statistics.numberOfTilesCulledWithChildrenUnion,e._visible=!1;return}}function Yqe(e,t){let{parent:n,tileset:i}=e;return!l(n)||n.hasTilesetContent||n.hasImplicitContent||n.refine!==Ko.ADD?!1:e.getScreenSpaceError(t,!0)<=i.memoryAdjustedScreenSpaceError}function Xqe(e,t){let n=!1,i=e.children;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(t),n=n||r.isVisible}return n}function Kqe(e){let t=e.tileset._minimumPriority,n=e.tileset._maximumPriority,i=e._priorityHolder;n.distance=Math.max(i._distanceToCamera,n.distance),t.distance=Math.min(i._distanceToCamera,t.distance),n.depth=Math.max(e._depth,n.depth),t.depth=Math.min(e._depth,t.depth),n.foveatedFactor=Math.max(i._foveatedFactor,n.foveatedFactor),t.foveatedFactor=Math.min(i._foveatedFactor,t.foveatedFactor),n.reverseScreenSpaceError=Math.max(e._priorityReverseScreenSpaceError,n.reverseScreenSpaceError),t.reverseScreenSpaceError=Math.min(e._priorityReverseScreenSpaceError,t.reverseScreenSpaceError)}var ua=Kp;function Xce(){}var sD={stack:new _l,stackMaximumLength:0};Xce.selectTiles=function(e,t){e._selectedTiles.length=0,e._requestedTiles.length=0,e.hasMixedContent=!1;let n=!0,i=e.root;if(i.updateVisibility(t),!i.isVisible)return n;let{touchTile:o,visitTile:r}=ua,s=sD.stack;for(s.push(i);s.length>0;){sD.stackMaximumLength=Math.max(sD.stackMaximumLength,s.length);let a=s.pop(),c=a.refine===Ko.ADD,u=a.refine===Ko.REPLACE,f=Zqe(a);f&&$qe(a,s,t),(c||u&&!f)&&(Qqe(e,a),o(a,t),Jqe(a,t),a.hasRenderableContent&&!a.contentAvailable&&(n=!1)),r(a,t)}return sD.stack.trim(sD.stackMaximumLength),n};function Zqe(e){return e.children.length===0?!1:e.hasTilesetContent||e.hasImplicitContent?!e.contentExpired:(e.hasEmptyContent,!0)}function $qe(e,t,n){let{children:i}=e;for(let o=0;o<i.length;++o){let r=i[o];r.updateVisibility(n),r.isVisible&&t.push(r)}}function Qqe(e,t){(t.hasUnloadedRenderableContent||t.contentExpired)&&(t._priority=0,e._requestedTiles.push(t))}function Jqe(e,t){e.contentAvailable&&e.contentVisibility(t)!==jt.OUTSIDE&&e.tileset._selectedTiles.push(e)}var QB=Xce;function Kce(){}var aD={stack:new _l,stackMaximumLength:0},cD={stack:new _l,stackMaximumLength:0};Kce.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(ua.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;tYe(n,t),aD.stack.trim(aD.stackMaximumLength),cD.stack.trim(cD.stackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function Cj(e,t){e.contentAvailable&&ua.selectTile(e,t)}function eYe(e,t,n){let i=e.refine===Ko.REPLACE,{tileset:o,children:r}=e,{updateTile:s,loadTile:a,touchTile:c}=ua;for(let m=0;m<r.length;++m)s(r[m],n);r.sort(ua.sortChildrenByDistanceToCamera);let u=i&&e.hasRenderableContent,f=!0,d=!1,p=-1,g=Number.MAX_VALUE;for(let m=0;m<r.length;++m){let x=r[m];if(x.isVisible?(t.push(x),x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),d=!0):(u||o.loadSiblings)&&(x._foveatedFactor<g&&(p=m,g=x._foveatedFactor),a(x,n),c(x,n)),u){let b;x._inRequestVolume?x.hasRenderableContent?b=x.contentAvailable:b=nYe(x,n):b=!1,f=f&&b}}if(d||(f=!1),p!==-1&&i){let m=r[p];m._wasMinPriorityChild=!0;let x=(e._wasMinPriorityChild||e===o.root)&&g<=e._priorityHolder._foveatedFactor?e._priorityHolder:e;x._foveatedFactor=Math.min(m._foveatedFactor,x._foveatedFactor),x._distanceToCamera=Math.min(m._distanceToCamera,x._distanceToCamera);for(let b=0;b<r.length;++b)r[b]._priorityHolder=x}return f}function tYe(e,t){let{tileset:n}=e,{canTraverse:i,loadTile:o,visitTile:r,touchTile:s}=ua,a=aD.stack;for(a.push(e);a.length>0;){aD.stackMaximumLength=Math.max(aD.stackMaximumLength,a.length);let c=a.pop(),u=c.parent,f=!l(u)||u._refines;c._refines=i(c)?eYe(c,a,t)&&f:!1;let d=!c._refines&&f;c.hasRenderableContent?c.refine===Ko.ADD?(Cj(c,t),o(c,t)):c.refine===Ko.REPLACE&&(o(c,t),d&&Cj(c,t)):(n._emptyTiles.push(c),o(c,t),d&&Cj(c,t)),r(c,t),s(c,t)}}function nYe(e,t){let{canTraverse:n,updateTile:i,loadTile:o,touchTile:r}=ua,s=!0,a=cD.stack;for(a.push(e);a.length>0;){cD.stackMaximumLength=Math.max(cD.stackMaximumLength,a.length);let c=a.pop(),u=c.children,f=u.length,d=!c.hasRenderableContent&&n(c);if(!d&&!c.contentAvailable&&(s=!1),i(c,t),c.isVisible||(o(c,t),r(c,t)),d)for(let p=0;p<f;++p){let g=u[p];a.push(g)}}return e.hasEmptyContent||s}var JB=Kce;function Zce(){}var lD={stack:new _l,stackMaximumLength:0},uD={stack:new _l,stackMaximumLength:0},Zp={stack:new _l,stackMaximumLength:0,ancestorStack:new _l,ancestorStackMaximumLength:0},iYe=2;Zce.selectTiles=function(e,t){if(e._requestedTiles.length=0,e.debugFreezeFrame)return;e._selectedTiles.length=0,e._selectedTilesToStyle.length=0,e._emptyTiles.length=0,e.hasMixedContent=!1;let n=e.root;if(ua.updateTile(n,t),!n.isVisible||n.getScreenSpaceError(t,!0)<=e.memoryAdjustedScreenSpaceError)return;lYe(n,t),uYe(n,t),lD.stack.trim(lD.stackMaximumLength),uD.stack.trim(uD.stackMaximumLength),Zp.stack.trim(Zp.stackMaximumLength),Zp.ancestorStack.trim(Zp.ancestorStackMaximumLength);let i=e._requestedTiles;for(let o=0;o<i.length;++o)i[o].updatePriority()};function oYe(e,t){let{updateTile:n,touchTile:i,selectTile:o}=ua,r=uD.stack;for(r.push(e);r.length>0;){uD.stackMaximumLength=Math.max(uD.stackMaximumLength,r.length);let a=r.pop().children;for(let c=0;c<a.length;++c){let u=a[c];u.isVisible&&(u.contentAvailable?(n(u,t),i(u,t),o(u,t)):u._depth-e._depth<iYe&&r.push(u))}}}function e3(e,t){let n=e.contentAvailable?e:e._ancestorWithContentAvailable;l(n)?n._shouldSelect=!0:oYe(e,t)}function rYe(e,t){e._ancestorWithContent=void 0,e._ancestorWithContentAvailable=void 0;let{parent:n}=e;if(!l(n))return;let i=!n.hasUnloadedRenderableContent||n._requestedFrame===t.frameNumber;e._ancestorWithContent=i?n:n._ancestorWithContent,e._ancestorWithContentAvailable=n.contentAvailable?n:n._ancestorWithContentAvailable}function sYe(e,t){let n=t._ancestorWithContent;return!e.immediatelyLoadDesiredLevelOfDetail&&(t._priorityProgressiveResolutionScreenSpaceErrorLeaf||l(n)&&t._screenSpaceError<n._screenSpaceError/e.skipScreenSpaceErrorFactor&&t._depth>n._depth+e.skipLevels)}function aYe(e,t,n){let{tileset:i,children:o}=e,{updateTile:r,loadTile:s,touchTile:a}=ua;for(let u=0;u<o.length;++u)r(o[u],n);o.sort(ua.sortChildrenByDistanceToCamera);let c=!1;for(let u=0;u<o.length;++u){let f=o[u];f.isVisible?(t.push(f),c=!0):i.loadSiblings&&(s(f,n),a(f,n))}return c}function cYe(e,t){let{tileset:n}=e;return n.immediatelyLoadDesiredLevelOfDetail?!1:l(e._ancestorWithContent)?e._screenSpaceError===0?e.parent._screenSpaceError>t:e._screenSpaceError>t:!0}function lYe(e,t){let{tileset:n}=e,i=n.immediatelyLoadDesiredLevelOfDetail?Number.MAX_VALUE:Math.max(n.baseScreenSpaceError,n.memoryAdjustedScreenSpaceError),{canTraverse:o,loadTile:r,visitTile:s,touchTile:a}=ua,c=lD.stack;for(c.push(e);c.length>0;){lD.stackMaximumLength=Math.max(lD.stackMaximumLength,c.length);let u=c.pop();rYe(u,t);let f=u.parent,d=!l(f)||f._refines;u._refines=o(u)?aYe(u,c,t)&&d:!1;let p=!u._refines&&d;u.hasRenderableContent?u.refine===Ko.ADD?(e3(u,t),r(u,t)):u.refine===Ko.REPLACE&&(cYe(u,i)?(r(u,t),p&&e3(u,t)):p?(e3(u,t),r(u,t)):sYe(n,u)&&r(u,t)):(n._emptyTiles.push(u),r(u,t),p&&e3(u,t)),s(u,t),a(u,t)}}function uYe(e,t){let{selectTile:n,canTraverse:i}=ua,{stack:o,ancestorStack:r}=Zp,s;for(o.push(e);o.length>0||r.length>0;){if(Zp.stackMaximumLength=Math.max(Zp.stackMaximumLength,o.length),Zp.ancestorStackMaximumLength=Math.max(Zp.ancestorStackMaximumLength,r.length),r.length>0){let u=r.peek();if(u._stackLength===o.length){r.pop(),u!==s&&(u._finalResolution=!1),n(u,t);continue}}let a=o.pop();if(!l(a))continue;let c=i(a);if(a._shouldSelect)if(a.refine===Ko.ADD)n(a,t);else{if(a._selectionDepth=r.length,a._selectionDepth>0&&(a.tileset.hasMixedContent=!0),s=a,!c){n(a,t);continue}r.push(a),a._stackLength=o.length}if(c){let u=a.children;for(let f=0;f<u.length;++f){let d=u[f];d.isVisible&&o.push(d)}}}}var t3=Zce;function Jo(e){e=y(e,y.EMPTY_OBJECT),this._marsOptions=y(e.marsOptions,{}),this._url=void 0,this._basePath=void 0,this._root=void 0,this._resource=void 0,this._asset=void 0,this._properties=void 0,this._geometricError=void 0,this._scaledGeometricError=void 0,this._extensionsUsed=void 0,this._extensions=void 0,this._modelUpAxis=void 0,this._modelForwardAxis=void 0,this._cache=new XB,this._processingQueue=[],this._selectedTiles=[],this._emptyTiles=[],this._requestedTiles=[],this._selectedTilesToStyle=[],this._loadTimestamp=void 0,this._timeSinceLoad=0,this._updatedVisibilityFrame=0,this._updatedModelMatrixFrame=0,this._modelMatrixChanged=!1,this._previousModelMatrix=void 0,this._extras=void 0,this._credits=void 0,this._showCreditsOnScreen=y(e.showCreditsOnScreen,!1),this._cullWithChildrenBounds=y(e.cullWithChildrenBounds,!0),this._allTilesAdditive=!0,this._hasMixedContent=!1,this._stencilClearCommand=void 0,this._backfaceCommands=new _l,this._maximumScreenSpaceError=y(e.maximumScreenSpaceError,16),this._memoryAdjustedScreenSpaceError=this._maximumScreenSpaceError,this._cacheBytes=y(e.cacheBytes,512*1024*1024);let t=y(e.maximumCacheOverflowBytes,512*1024*1024);this._maximumCacheOverflowBytes=t,this._styleEngine=new $B,this._styleApplied=!1,this._modelMatrix=l(e.modelMatrix)?F.clone(e.modelMatrix):F.clone(F.IDENTITY),this._addHeightCallbacks=[],this._statistics=new ty,this._statisticsLast=new ty,this._statisticsPerPass=new Array(Vo.NUMBER_OF_PASSES);for(let o=0;o<Vo.NUMBER_OF_PASSES;++o)this._statisticsPerPass[o]=new ty;this._requestedTilesInFlight=[],this._maximumPriority={foveatedFactor:-Number.MAX_VALUE,depth:-Number.MAX_VALUE,distance:-Number.MAX_VALUE,reverseScreenSpaceError:-Number.MAX_VALUE},this._minimumPriority={foveatedFactor:Number.MAX_VALUE,depth:Number.MAX_VALUE,distance:Number.MAX_VALUE,reverseScreenSpaceError:Number.MAX_VALUE},this._heatmap=new ZB(e.debugHeatmapTilePropertyName),this.cullRequestsWhileMoving=y(e.cullRequestsWhileMoving,!0),this._cullRequestsWhileMoving=!1,this.cullRequestsWhileMovingMultiplier=y(e.cullRequestsWhileMovingMultiplier,60),this.progressiveResolutionHeightFraction=P.clamp(y(e.progressiveResolutionHeightFraction,.3),0,.5),this.preferLeaves=y(e.preferLeaves,!1),this._tilesLoaded=!1,this._initialTilesLoaded=!1,this._tileDebugLabels=void 0,this._classificationType=e.classificationType,this._ellipsoid=y(e.ellipsoid,ee.WGS84),this._initialClippingPlanesOriginMatrix=F.IDENTITY,this._clippingPlanesOriginMatrix=void 0,this._clippingPlanesOriginMatrixDirty=!0,this._vectorClassificationOnly=y(e.vectorClassificationOnly,!1),this._vectorKeepDecodedPositions=y(e.vectorKeepDecodedPositions,!1),this.preloadWhenHidden=y(e.preloadWhenHidden,!1),this.preloadFlightDestinations=y(e.preloadFlightDestinations,!0),this._pass=void 0,this.dynamicScreenSpaceError=y(e.dynamicScreenSpaceError,!0),this.foveatedScreenSpaceError=y(e.foveatedScreenSpaceError,!0),this._foveatedConeSize=y(e.foveatedConeSize,.1),this._foveatedMinimumScreenSpaceErrorRelaxation=y(e.foveatedMinimumScreenSpaceErrorRelaxation,0),this.foveatedInterpolationCallback=y(e.foveatedInterpolationCallback,P.lerp),this.foveatedTimeDelay=y(e.foveatedTimeDelay,.2),this.dynamicScreenSpaceErrorDensity=y(e.dynamicScreenSpaceErrorDensity,2e-4),this.dynamicScreenSpaceErrorFactor=y(e.dynamicScreenSpaceErrorFactor,24),this.dynamicScreenSpaceErrorHeightFalloff=y(e.dynamicScreenSpaceErrorHeightFalloff,.25),this._dynamicScreenSpaceErrorComputedDensity=0,this.shadows=y(e.shadows,bn.ENABLED),this.show=y(e.show,!0),this.colorBlendMode=nu.HIGHLIGHT,this.colorBlendAmount=.5,this._pointCloudShading=new Ip(e.pointCloudShading),this._pointCloudEyeDomeLighting=new Ng,this.loadProgress=new me,this.allTilesLoaded=new me,this.initialTilesLoaded=new me,this.tileLoad=new me,this.tileUnload=new me,this.tileFailed=new me,this.tileVisible=new me,this.skipLevelOfDetail=y(e.skipLevelOfDetail,!1),this._disableSkipLevelOfDetail=!1,this.baseScreenSpaceError=y(e.baseScreenSpaceError,1024),this.skipScreenSpaceErrorFactor=y(e.skipScreenSpaceErrorFactor,16),this.skipLevels=y(e.skipLevels,1),this.immediatelyLoadDesiredLevelOfDetail=y(e.immediatelyLoadDesiredLevelOfDetail,!1),this.loadSiblings=y(e.loadSiblings,!1),this._clippingPlanes=void 0,l(e.clippingPlanes)&&Ss.setOwner(e.clippingPlanes,this,"_clippingPlanes"),this._clippingPolygons=void 0,l(e.clippingPolygons)&&Xh.setOwner(e.clippingPolygons,this,"_clippingPolygons"),l(e.imageBasedLighting)?(this._imageBasedLighting=e.imageBasedLighting,this._shouldDestroyImageBasedLighting=!1):(this._imageBasedLighting=new hC,this._shouldDestroyImageBasedLighting=!0),this._environmentMapManager=new Pg(e.environmentMapOptions),this.lightColor=e.lightColor,this.backFaceCulling=y(e.backFaceCulling,!0),this._enableShowOutline=y(e.enableShowOutline,!0),this.showOutline=y(e.showOutline,!0),this.outlineColor=y(e.outlineColor,z.BLACK),this.splitDirection=y(e.splitDirection,jr.NONE),this.enableCollision=y(e.enableCollision,!1),this._projectTo2D=y(e.projectTo2D,!1),this._enablePick=y(e.enablePick,!1),this.debugFreezeFrame=y(e.debugFreezeFrame,!1),this.debugColorizeTiles=y(e.debugColorizeTiles,!1),this._enableDebugWireframe=y(e.enableDebugWireframe,!1),this.debugWireframe=y(e.debugWireframe,!1),this.debugWireframe===!0&&this._enableDebugWireframe===!1&&Tt("tileset-debug-wireframe-ignored","enableDebugWireframe must be set to true in the Cesium3DTileset constructor, otherwise debugWireframe will be ignored."),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.debugShowContentBoundingVolume=y(e.debugShowContentBoundingVolume,!1),this.debugShowViewerRequestVolume=y(e.debugShowViewerRequestVolume,!1),this._tileDebugLabels=void 0,this.debugPickedTileLabelOnly=!1,this.debugPickedTile=void 0,this.debugPickPosition=void 0,this.debugShowGeometricError=y(e.debugShowGeometricError,!1),this.debugShowRenderingStatistics=y(e.debugShowRenderingStatistics,!1),this.debugShowMemoryUsage=y(e.debugShowMemoryUsage,!1),this.debugShowUrl=y(e.debugShowUrl,!1),this.examineVectorLinesFunction=void 0,this._metadataExtension=void 0,this._customShader=e.customShader;let n=y(e.featureIdLabel,"featureId_0");typeof n=="number"&&(n=`featureId_${n}`),this._featureIdLabel=n;let i=y(e.instanceFeatureIdLabel,"instanceFeatureId_0");typeof i=="number"&&(i=`instanceFeatureId_${i}`),this._instanceFeatureIdLabel=i,this._initForMars3D&&this._initForMars3D(e)}Object.defineProperties(Jo.prototype,{isCesium3DTileset:{get:function(){return!0}},asset:{get:function(){return this._asset}},extensions:{get:function(){return this._extensions}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ss.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){Xh.setOwner(e,this,"_clippingPolygons")}},properties:{get:function(){return this._properties}},tilesLoaded:{get:function(){return this._tilesLoaded}},resource:{get:function(){return this._resource}},basePath:{get:function(){return Cs("Cesium3DTileset.basePath","Cesium3DTileset.basePath has been deprecated. All tiles are relative to the url of the tileset JSON file that contains them. Use the url property instead."),this._basePath}},style:{get:function(){return this._styleEngine.style},set:function(e){this._styleEngine.style=e}},customShader:{get:function(){return this._customShader},set:function(e){this._customShader=e}},hasMixedContent:{get:function(){return this._hasMixedContent},set:function(e){this._hasMixedContent=e}},isSkippingLevelOfDetail:{get:function(){return this.skipLevelOfDetail&&!l(this._classificationType)&&!this._disableSkipLevelOfDetail&&!this._allTilesAdditive}},metadataExtension:{get:function(){return this._metadataExtension}},metadata:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.tileset}},schema:{get:function(){if(l(this._metadataExtension))return this._metadataExtension.schema}},maximumScreenSpaceError:{get:function(){return this._maximumScreenSpaceError},set:function(e){this._maximumScreenSpaceError=e,this._memoryAdjustedScreenSpaceError=e}},cacheBytes:{get:function(){return this._cacheBytes},set:function(e){this._cacheBytes=e}},maximumCacheOverflowBytes:{get:function(){return this._maximumCacheOverflowBytes},set:function(e){this._maximumCacheOverflowBytes=e}},memoryAdjustedScreenSpaceError:{get:function(){return this._memoryAdjustedScreenSpaceError}},pointCloudShading:{get:function(){return this._pointCloudShading},set:function(e){this._pointCloudShading=e}},root:{get:function(){return this._root}},boundingSphere:{get:function(){return this._root.updateTransform(this._modelMatrix),this._root.boundingSphere}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},timeSinceLoad:{get:function(){return this._timeSinceLoad}},totalMemoryUsageInBytes:{get:function(){let e=this._statistics;return e.texturesByteLength+e.geometryByteLength+e.batchTableByteLength}},clippingPlanesOriginMatrix:{get:function(){return l(this._clippingPlanesOriginMatrix)?(this._clippingPlanesOriginMatrixDirty&&(F.multiply(this.root.computedTransform,this._initialClippingPlanesOriginMatrix,this._clippingPlanesOriginMatrix),this._clippingPlanesOriginMatrixDirty=!1),this._clippingPlanesOriginMatrix):F.IDENTITY}},styleEngine:{get:function(){return this._styleEngine}},statistics:{get:function(){return this._statistics}},classificationType:{get:function(){return this._classificationType}},ellipsoid:{get:function(){return this._ellipsoid}},foveatedConeSize:{get:function(){return this._foveatedConeSize},set:function(e){this._foveatedConeSize=e}},foveatedMinimumScreenSpaceErrorRelaxation:{get:function(){return this._foveatedMinimumScreenSpaceErrorRelaxation},set:function(e){this._foveatedMinimumScreenSpaceErrorRelaxation=e}},extras:{get:function(){return this._extras}},imageBasedLighting:{get:function(){return this._imageBasedLighting},set:function(e){e!==this._imageBasedLighting&&(this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=e,this._shouldDestroyImageBasedLighting=!1)}},environmentMapManager:{get:function(){return this._environmentMapManager}},vectorClassificationOnly:{get:function(){return this._vectorClassificationOnly}},vectorKeepDecodedPositions:{get:function(){return this._vectorKeepDecodedPositions}},showCreditsOnScreen:{get:function(){return this._showCreditsOnScreen},set:function(e){this._showCreditsOnScreen=e,ole(this)}},featureIdLabel:{get:function(){return this._featureIdLabel},set:function(e){typeof e=="number"&&(e=`featureId_${e}`),this._featureIdLabel=e}},instanceFeatureIdLabel:{get:function(){return this._instanceFeatureIdLabel},set:function(e){typeof e=="number"&&(e=`instanceFeatureId_${e}`),this._instanceFeatureIdLabel=e}}});Jo.fromIonAssetId=async function(e,t){let n=await of.fromAssetId(e);return Jo.fromUrl(n,t)};Jo.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e),i;n.extension==="json"?i=n.getBaseUri(!0):n.isDataUri&&(i="");let o=await Jo.loadJson(n),r=await fYe(n,o),s=new Jo(t);s._resource=n,s._url=n.url,s._basePath=i,s._metadataExtension=r,s._geometricError=o.geometricError,s._scaledGeometricError=o.geometricError;let a=o.asset;s._asset=a,s._extras=o.extras,ole(s);let c=l(o.asset.gltfUpAxis)?No.fromName(o.asset.gltfUpAxis):No.Y,u=y(t.modelUpAxis,c),f=y(t.modelForwardAxis,No.X);s._properties=o.properties,s._extensionsUsed=o.extensionsUsed,s._extensions=o.extensions,s._modelUpAxis=u,s._modelForwardAxis=f,s._root=s.loadTileset(n,o);let p=s._root.createBoundingVolume(o.root.boundingVolume,F.IDENTITY).boundingSphere.center,g=s._ellipsoid.cartesianToCartographic(p);return l(g)&&g.height>hi._defaultMinTerrainHeight&&(s._initialClippingPlanesOriginMatrix=Mt.eastNorthUpToFixedFrame(p)),s._clippingPlanesOriginMatrix=F.clone(s._initialClippingPlanesOriginMatrix),s};Jo.loadJson=function(e){return Ae.createIfNeeded(e).fetchJson()};Jo.prototype.makeStyleDirty=function(){this._styleEngine.makeDirty()};Jo.prototype.loadTileset=function(e,t,n){let i=t.asset;if(!l(i))throw new se("Tileset must have an asset property.");if(i.version!=="0.0"&&i.version!=="1.0"&&i.version!=="1.1")throw new se("The tileset must be 3D Tiles version 0.0, 1.0, or 1.1");l(t.extensionsRequired)&&Jo.checkSupportedExtensions(t.extensionsRequired);let o=this._statistics,r=i.tilesetVersion;l(r)&&(this._basePath+=`?v=${r}`,e=e.clone(),e.setQueryParameters({v:r}));let s=$ce(this,e,t.root,n);l(n)&&(n.children.push(s),s._depth=n._depth+1);let a=[];for(a.push(s);a.length>0;){let c=a.pop();++o.numberOfTilesTotal,this._allTilesAdditive=this._allTilesAdditive&&c.refine===Ko.ADD;let u=c._header.children;if(l(u))for(let f=0;f<u.length;++f){let d=u[f],p=$ce(this,e,d,c);c.children.push(p),p._depth=c._depth+1,a.push(p)}this._cullWithChildrenBounds&&qB.checkChildrenWithinParent(c)}return s};function $ce(e,t,n,i){if(!(l(n.implicitTiling)||li(n,"3DTILES_implicit_tiling")))return new Od(e,t,n,i);let r=e.schema,s=new TA(t,n,r),a=new CA({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:0,x:0,y:0,z:0}),c=s.subtreeUriTemplate.getDerivedResource({templateValues:a.getTemplateValues()}).url,f=We(n,!0);f.contents=[{uri:c}],delete f.content,delete f.extensions;let d=new Od(e,t,f,i);return d.implicitTileset=s,d.implicitCoordinates=a,d}async function fYe(e,t){let n=li(t,"3DTILES_metadata")?t.extensions["3DTILES_metadata"]:t,i;if(l(n.schemaUri))e=e.getDerivedResource({url:n.schemaUri}),i=Si.getSchemaLoader({resource:e});else if(l(n.schema))i=Si.getSchemaLoader({schema:n.schema});else return;await i.load();let o=new xA({schema:i.schema,metadataJson:n});return Si.unload(i),o}var Qce=new h,dYe=new fe,hYe=new F,mYe=new h,pYe=new h,_Ye=new h,gYe=new h;function yYe(e,t){let n,i,o,r,s,a=t.camera,c=e._root,u=c.contentBoundingVolume;if(u instanceof Id)n=h.normalize(a.positionWC,Qce),i=a.directionWC,o=a.positionCartographic.height,r=u.minimumHeight,s=u.maximumHeight;else{let x=F.inverseTransformation(c.computedTransform,hYe),b=t.mapProjection.ellipsoid,T=u.boundingVolume,C=F.multiplyByPoint(x,T.center,mYe);if(h.magnitude(C)>b.minimumRadius){let A=fe.fromCartesian(C,b,dYe);n=h.normalize(a.positionWC,Qce),i=a.directionWC,o=a.positionCartographic.height,r=0,s=A.height*2}else{let A=F.multiplyByPoint(x,a.positionWC,pYe);if(n=h.UNIT_Z,i=F.multiplyByPointAsVector(x,a.directionWC,_Ye),i=h.normalize(i,i),o=A.z,u instanceof vf){let S=$.getColumn(T.halfAxes,2,gYe),v=h.magnitude(S);r=C.z-v,s=C.z+v}else if(u instanceof Jg){let S=T.radius;r=C.z-S,s=C.z+S}}}let f=e.dynamicScreenSpaceErrorHeightFalloff,d=r+(s-r)*f,p=s,g=P.clamp((o-d)/(p-d),0,1),m=1-Math.abs(h.dot(i,n));m=m*(1-g),e._dynamicScreenSpaceErrorComputedDensity=e.dynamicScreenSpaceErrorDensity*m}function xYe(e,t){if(t.hasEmptyContent)return;let{statistics:n}=e,i=t.contentExpired,o=t.requestContent();l(o)&&(o.then(r=>{!l(r)||t.isDestroyed()||e.isDestroyed()||(e._processingQueue.push(t),++n.numberOfTilesProcessing)}).catch(r=>{tle(r,e,t)}),i&&(t.hasTilesetContent||t.hasImplicitContent?MYe(e,t):(n.decrementLoadCounts(t.content),--n.numberOfTilesWithContentReady)),e._requestedTilesInFlight.push(t))}function ele(e,t){return e._priority-t._priority}Jo.prototype.postPassesUpdate=function(e){l(this._root)&&(bYe(this,e),NYe(this,e),this._cache.unloadTiles(this,ile),this._styleApplied&&this._styleEngine.resetDirty(),this._styleApplied=!1)};Jo.prototype.prePassesUpdate=function(e){if(!l(this._root))return;wYe(this,e);let t=this._clippingPlanes;this._clippingPlanesOriginMatrixDirty=!0,l(t)&&t.enabled&&t.update(e);let n=this._clippingPolygons;l(n)&&n.enabled&&n.update(e),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time)),this._timeSinceLoad=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),this.dynamicScreenSpaceError&&yYe(this,e),e.newFrame&&this._cache.reset()};function bYe(e,t){let n=e._requestedTilesInFlight,i=0;for(let o=0;o<n.length;++o){let r=n[o],s=t.frameNumber-r._touchedFrame>=1;if(r._contentState!==$o.LOADING){++i;continue}else if(s){r.cancelRequests(),++i;continue}i>0&&(n[o-i]=r)}n.length-=i}function TYe(e){let t=e._requestedTiles;t.sort(ele);for(let n=0;n<t.length;++n)xYe(e,t[n])}function tle(e,t,n){if(t.isDestroyed())return;let i;n.isDestroyed()||(i=n._contentResource.url);let o=l(e.message)?e.message:e.toString();t.tileFailed.numberOfListeners>0?t.tileFailed.raiseEvent({url:i,message:o}):(console.log(`A 3D tile failed to load: ${i}`),console.log(`Error: ${o}`),console.log(e.stack))}function CYe(e){let t=e._processingQueue,n=0;for(let i=0;i<t.length;++i){let o=t[i];if(o.isDestroyed()||o._contentState!==$o.PROCESSING){++n;continue}n>0&&(t[i-n]=o)}t.length-=n}var AYe=new fe,EYe=new fe,SYe=new h;function vYe(e,t,n){if(!e.enableCollision||!e.show)return;let i=e._addHeightCallbacks,o=t.boundingSphere;for(let r of i){if(r.invoked||t._wasSelectedLastFrame)continue;let s=r.ellipsoid,a=fe.clone(r.positionCartographic,AYe),c=fe.fromCartesian(o.center,s,EYe);l(c)&&(a.height=c.height);let u=fe.toCartesian(a,s,SYe);h.distance(u,o.center)<=o.radius&&n.afterRender.push(()=>{l(r.callback)&&r.callback(a),r.invoked=!1})}}function wYe(e,t){CYe(e);let n=e._processingQueue,{cacheBytes:i,maximumCacheOverflowBytes:o,statistics:r}=e,s=i+o,a=!1;for(let c=0;c<n.length;++c){if(e.totalMemoryUsageInBytes>s){a=!0;break}let u=n[c];try{u.process(e,t),u.contentReady&&(--r.numberOfTilesProcessing,e.tileLoad.raiseEvent(u))}catch(f){--r.numberOfTilesProcessing,tle(f,e,u)}}e.totalMemoryUsageInBytes<i?IYe(e):a&&n.length>0&&DYe(e)}function DYe(e){e._memoryAdjustedScreenSpaceError*=1.02;let t=e._processingQueue;for(let n=0;n<t.length;++n)t[n].updatePriority();t.sort(ele)}function IYe(e){e._memoryAdjustedScreenSpaceError=Math.max(e.memoryAdjustedScreenSpaceError/1.02,e.maximumScreenSpaceError)}var n3=new h,PYe={maximumFractionDigits:3};function Jce(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,PYe):Math.round(t).toLocaleString()}function Aj(e){let{halfAxes:t,radius:n,center:i}=e.boundingVolume.boundingVolume,o=h.clone(i,n3);if(l(t))o.x+=.75*(t[0]+t[3]+t[6]),o.y+=.75*(t[1]+t[4]+t[7]),o.z+=.75*(t[2]+t[5]+t[8]);else if(l(n)){let r=h.normalize(i,n3);r=h.multiplyByScalar(r,.75*n,n3),o=h.add(r,i,n3)}return o}function Ej(e,t,n){let i="",o=0;if(t.debugShowGeometricError&&(i+=` +Geometric error: ${e.geometricError}`,o++),t.debugShowRenderingStatistics&&(i+=` +Commands: ${e.commandsLength}`,o++,e.content.pointsLength>0&&(i+=` +Points: ${e.content.pointsLength}`,o++),e.content.trianglesLength>0&&(i+=` +Triangles: ${e.content.trianglesLength}`,o++),i+=` +Features: ${e.content.featuresLength}`,o++),t.debugShowMemoryUsage&&(i+=` +Texture Memory: ${Jce(e.content.texturesByteLength)}`,i+=` +Geometry Memory: ${Jce(e.content.geometryByteLength)}`,o+=2),t.debugShowUrl)if(e.hasMultipleContents){i+=` +Urls:`;let s=e.content.innerContentUrls;for(let a=0;a<s.length;a++)i+=` +- ${s[a]}`;o+=s.length}else i+=` +Url: ${e._contentHeader.uri}`,o++;let r={text:i.substring(1),position:n,font:`${19-o}px sans-serif`,showBackground:!0,disableDepthTestDistance:Number.POSITIVE_INFINITY};return t._tileDebugLabels.add(r)}function OYe(e,t){let n=e._selectedTiles,i=n.length,o=e._emptyTiles,r=o.length;if(e._tileDebugLabels.removeAll(),e.debugPickedTileLabelOnly){if(l(e.debugPickedTile)){let s=l(e.debugPickPosition)?e.debugPickPosition:Aj(e.debugPickedTile),a=Ej(e.debugPickedTile,e,s);a.pixelOffset=new U(15,-15)}}else{for(let s=0;s<i;++s){let a=n[s];Ej(a,e,Aj(a))}for(let s=0;s<r;++s){let a=o[s];(a.hasTilesetContent||a.hasImplicitContent)&&Ej(a,e,Aj(a))}}e._tileDebugLabels.update(t)}function RYe(e,t,n){e._styleEngine.applyStyle(e),e._styleApplied=!0;let{commandList:i,context:o}=t,r=i.length,s=e._selectedTiles,a=e.isSkippingLevelOfDetail&&e._hasMixedContent&&o.stencilBuffer&&s.length>0;e._backfaceCommands.length=0,a&&(l(e._stencilClearCommand)||(e._stencilClearCommand=new ri({stencil:0,pass:ve.CESIUM_3D_TILE,renderState:ze.fromCache({stencilMask:Ut.SKIP_LOD_MASK})})),i.push(e._stencilClearCommand));let{statistics:c,tileVisible:u}=e,f=n.isRender,d=i.length;for(let m=0;m<s.length;++m){let x=s[m];f&&u.raiseEvent(x),vYe(e,x,t),x.update(e,t,n),c.incrementSelectionCounts(x.content),++c.selected}let p=e._emptyTiles;for(let m=0;m<p.length;++m)p[m].update(e,t,n);let g=i.length-d;if(e._backfaceCommands.trim(),a){let m=e._backfaceCommands.values,x=m.length;i.length+=x;for(let b=g-1;b>=0;--b)i[d+x+b]=i[d+b];for(let b=0;b<x;++b)i[d+b]=m[b]}g=i.length-r,c.numberOfCommands=g,f&&(e.pointCloudShading.attenuation&&e.pointCloudShading.eyeDomeLighting&&g>0&&e._pointCloudEyeDomeLighting.update(t,r,e.pointCloudShading,e.boundingSphere),e.debugShowGeometricError||e.debugShowRenderingStatistics||e.debugShowMemoryUsage||e.debugShowUrl?(l(e._tileDebugLabels)||(e._tileDebugLabels=new kp),OYe(e,t)):e._tileDebugLabels=e._tileDebugLabels&&e._tileDebugLabels.destroy())}var nle=[];function MYe(e,t){let n=t,i=nle;for(i.push(t);i.length>0;){t=i.pop();let o=t.children;for(let r=0;r<o.length;++r)i.push(o[r]);t!==n&&(LYe(e,t),--e._statistics.numberOfTilesTotal)}n.children=[]}function ile(e,t){e.tileUnload.raiseEvent(t),e._statistics.decrementLoadCounts(t.content),--e._statistics.numberOfTilesWithContentReady,t.unloadContent()}function LYe(e,t){e._cache.unloadTile(e,t,ile),t.destroy()}Jo.prototype.trimLoadedTiles=function(){this._cache.trim()};function NYe(e,t){let n=e._statistics,i=e._statisticsLast,o=n.numberOfPendingRequests,r=n.numberOfTilesProcessing,s=i.numberOfPendingRequests,a=i.numberOfTilesProcessing;ty.clone(n,i);let c=o!==s||r!==a;c&&t.afterRender.push(function(){return e.loadProgress.raiseEvent(o,r),!0}),e._tilesLoaded=n.numberOfPendingRequests===0&&n.numberOfTilesProcessing===0&&n.numberOfAttemptedRequests===0,c&&e._tilesLoaded&&(t.afterRender.push(function(){return e.allTilesLoaded.raiseEvent(),!0}),e._initialTilesLoaded||(e._initialTilesLoaded=!0,t.afterRender.push(function(){return e.initialTilesLoaded.raiseEvent(),!0})))}function FYe(e){e._heatmap.resetMinimumMaximum(),e._minimumPriority.depth=Number.MAX_VALUE,e._maximumPriority.depth=-Number.MAX_VALUE,e._minimumPriority.foveatedFactor=Number.MAX_VALUE,e._maximumPriority.foveatedFactor=-Number.MAX_VALUE,e._minimumPriority.distance=Number.MAX_VALUE,e._maximumPriority.distance=-Number.MAX_VALUE,e._minimumPriority.reverseScreenSpaceError=Number.MAX_VALUE,e._maximumPriority.reverseScreenSpaceError=-Number.MAX_VALUE}function BYe(e,t){t.frameNumber===e._updatedModelMatrixFrame&&l(e._previousModelMatrix)||(e._updatedModelMatrixFrame=t.frameNumber,e._modelMatrixChanged=!F.equals(e.modelMatrix,e._previousModelMatrix),e._modelMatrixChanged&&(e._previousModelMatrix=F.clone(e.modelMatrix,e._previousModelMatrix)))}function kYe(e,t,n,i){if(t.mode===ne.MORPHING||!l(e._root))return!1;let o=e._statistics;o.clear(),++e._updatedVisibilityFrame,FYe(e),BYe(e,t),e._cullRequestsWhileMoving=e.cullRequestsWhileMoving&&!e._modelMatrixChanged;let r=e.getTraversal(i).selectTiles(e,t);if(i.requestTiles&&TYe(e),RYe(e,t,i),ty.clone(o,n),i.isRender){let s=e._credits;if(l(s)&&o.selected!==0)for(let a=0;a<s.length;++a){let c=s[a];t.creditDisplay.addCreditToNextFrame(c)}}return r}function ole(e){let t=e._credits;l(t)||(t=[]),t.length=0,l(e.resource.credits)&&e.resource.credits.forEach(i=>{t.push(Et.clone(i))});let n=e.asset.extras;if(l(n)&&l(n.cesium)&&l(n.cesium.credits)){let i=n.cesium.credits;for(let o=0;o<i.length;++o){let r=i[o];t.push(new Et(r.html))}}t.forEach(i=>i.showOnScreen=i.showOnScreen||e._showCreditsOnScreen),e._credits=t}Jo.prototype.getTraversal=function(e){let{pass:t}=e;return t===Vo.MOST_DETAILED_PRELOAD||t===Vo.MOST_DETAILED_PICK?QB:this.isSkippingLevelOfDetail?t3:JB};Jo.prototype.update=function(e){this.updateForPass(e,e.tilesetPassState)};Jo.prototype.updateForPass=function(e,t){let n=t.pass;if(n===Vo.PRELOAD&&(!this.preloadWhenHidden||this.show)||n===Vo.PRELOAD_FLIGHT&&(!this.preloadFlightDestinations||!this.show&&!this.preloadWhenHidden)||n===Vo.REQUEST_RENDER_MODE_DEFER_CHECK&&(!this._cullRequestsWhileMoving&&this.foveatedTimeDelay<=0||!this.show))return;let i=e.commandList,o=e.camera,r=e.cullingVolume;t.ready=!1;let s=Vo.getPassOptions(n),a=s.ignoreCommands,c=y(t.commandList,i),u=c.length;if(e.commandList=c,e.camera=y(t.camera,o),e.cullingVolume=y(t.cullingVolume,r),s.isRender){let p=this._environmentMapManager;l(this._root)&&(p.position=this.boundingSphere.center),p.update(e)}let f=this._clippingPolygons;l(f)&&f.enabled&&f.queueCommands(e);let d=this._statisticsPerPass[n];(this.show||a)&&(this._pass=n,t.ready=kYe(this,e,d,s)),a&&(c.length=u),e.commandList=i,e.camera=o,e.cullingVolume=r};Jo.prototype.hasExtension=function(e){return l(this._extensionsUsed)?this._extensionsUsed.indexOf(e)>-1:!1};Jo.prototype.isDestroyed=function(){return!1};Jo.prototype.destroy=function(){if(this._tileDebugLabels=this._tileDebugLabels&&this._tileDebugLabels.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),l(this._root)){let e=nle;for(e.push(this._root);e.length>0;){let t=e.pop();t.destroy();let n=t.children;for(let i=0;i<n.length;++i)e.push(n[i])}}return this._root=void 0,this._shouldDestroyImageBasedLighting&&!this._imageBasedLighting.isDestroyed()&&this._imageBasedLighting.destroy(),this._imageBasedLighting=void 0,this._environmentMapManager.isDestroyed()||this._environmentMapManager.destroy(),this._environmentMapManager=void 0,ue(this)};Jo.supportedExtensions={"3DTILES_metadata":!0,"3DTILES_implicit_tiling":!0,"3DTILES_content_gltf":!0,"3DTILES_multiple_contents":!0,"3DTILES_bounding_volume_S2":!0,"3DTILES_batch_table_hierarchy":!0,"3DTILES_draco_point_compression":!0,MAXAR_content_geojson:!0};Jo.checkSupportedExtensions=function(e){for(let t=0;t<e.length;t++)if(!Jo.supportedExtensions[e[t]])throw new se(`Unsupported 3D Tiles Extension: ${e[t]}`)};var VYe=new _n,UYe=new h,zYe=new fe;Jo.prototype.getHeight=function(e,t){let n=t.ellipsoid;l(n)||(n=ee.WGS84);let i=VYe,o=n.cartographicToCartesian(e,i.direction);h.normalize(i.direction,i.direction),i.direction=h.normalize(o,i.direction),i.direction=h.negate(o,i.direction),i.origin=h.multiplyByScalar(i.direction,-2*n.maximumRadius,i.origin);let r=this.pick(i,t.frameState,UYe);if(l(r))return n.cartesianToCartographic(r,zYe)?.height};Jo.prototype.updateHeight=function(e,t,n){n=y(n,ee.WGS84);let i={positionCartographic:e,ellipsoid:n,callback:t,invoked:!1},o=()=>{let r=this._addHeightCallbacks,s=r.length;for(let a=0;a<s;++a)if(r[a]===i){r.splice(a,1);break}i.callback&&(i.callback=void 0)};return this._addHeightCallbacks.push(i),o};var HYe=new Xa,GYe=new h;Jo.prototype.pick=function(e,t,n){if(!t.context.webgl2&&!this._enablePick)return;let i=this._selectedTiles,o=i.length,r=[];for(let c=0;c<o;++c){let u=i[c],f=ti.raySphere(e,u.contentBoundingVolume.boundingSphere,HYe);!l(f)||!l(u.content)||r.push(u)}let s=r.length;r.sort((c,u)=>{let f=ce.distanceSquaredTo(c.contentBoundingVolume.boundingSphere,e.origin),d=ce.distanceSquaredTo(u.contentBoundingVolume.boundingSphere,e.origin);return f-d});let a;for(let c=0;c<s;++c){let f=r[c].content.pick(e,t,GYe);if(l(f))return a=h.clone(f,n),a}};var ws=Jo;var WYe=new F;function ny(e,t){t.collectionChanged.addEventListener(ny.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._tilesetHash={},this._entitiesToVisualize=new vt,this._onCollectionChanged(t,t.values,[],[])}ny.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._tilesetHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._tileset,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;f&&(d=s.computeModelMatrix(e,WYe),c=Ae.createIfNeeded(q.getValueOrUndefined(a._uri,e)));let p=l(u)?u.tilesetPrimitive:void 0;if(!f){l(p)&&(p.show=!1);continue}(!l(u)||c.url!==u.url)&&(l(p)&&i.removeAndDestroy(p),delete n[s.id],jYe(c,n,s,i)),l(p)&&(p.show=!0,l(d)&&(p.modelMatrix=d),p.maximumScreenSpaceError=q.getValueOrDefault(a.maximumScreenSpaceError,e,p.maximumScreenSpaceError))}return!0};ny.prototype.isDestroyed=function(){return!1};ny.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(ny.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._tilesetHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)Sj(this,e[i],t,n);return ue(this)};ny.prototype.getBoundingSphere=function(e,t){let n=this._tilesetHash[e.id];if(!l(n)||n.loadFail)return ut.FAILED;let i=n.tilesetPrimitive;return l(i)?i.show?(ce.clone(i.boundingSphere,t),ut.DONE):ut.FAILED:ut.PENDING};ny.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._tilesetHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._tileset)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._tileset)?s.set(r.id,r):(Sj(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],Sj(this,r,a,c),s.remove(r.id)};function Sj(e,t,n,i){let o=n[t.id];l(o)&&(l(o.tilesetPrimitive)&&i.removeAndDestroy(o.tilesetPrimitive),delete n[t.id])}async function jYe(e,t,n,i){t[n.id]={url:e.url,loadFail:!1};try{let o=await ws.fromUrl(e);if(o.id=n,i.add(o),!l(t[n.id]))return;t[n.id].tilesetPrimitive=o}catch(o){console.error(o),t[n.id].loadFail=!0}}var i3=ny;var qYe=z.WHITE,YYe=z.BLACK,XYe=new U(2,2);function AA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.repeat=e.repeat}Object.defineProperties(AA.prototype,{isConstant:{get:function(){return q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},evenColor:le("evenColor"),oddColor:le("oddColor"),repeat:le("repeat")});AA.prototype.getType=function(e){return"Checkerboard"};var KYe=new K;AA.prototype.getValue=function(e,t){return l(e)||(e=K.now(KYe)),l(t)||(t={}),t.lightColor=q.getValueOrClonedDefault(this._evenColor,e,qYe,t.lightColor),t.darkColor=q.getValueOrClonedDefault(this._oddColor,e,YYe,t.darkColor),t.repeat=q.getValueOrDefault(this._repeat,e,XYe),t};AA.prototype.equals=function(e){return this===e||e instanceof AA&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._repeat,e._repeat)};var fD=AA;var rle={id:void 0};function dD(e){if(e._firing){e._refire=!0;return}if(e._suspendCount===0){let t=e._addedEntities,n=e._removedEntities,i=e._changedEntities;if(i.length!==0||t.length!==0||n.length!==0){e._firing=!0;do{e._refire=!1;let o=t.values.slice(0),r=n.values.slice(0),s=i.values.slice(0);t.removeAll(),n.removeAll(),i.removeAll(),e._collectionChanged.raiseEvent(e,o,r,s)}while(e._refire);e._firing=!1}}}function rc(e){this._owner=e,this._entities=new vt,this._addedEntities=new vt,this._removedEntities=new vt,this._changedEntities=new vt,this._suspendCount=0,this._collectionChanged=new me,this._id=Gn(),this._show=!0,this._firing=!1,this._refire=!1}rc.prototype.suspendEvents=function(){this._suspendCount++};rc.prototype.resumeEvents=function(){this._suspendCount--,dD(this)};Object.defineProperties(rc.prototype,{collectionChanged:{get:function(){return this._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._entities.values}},show:{get:function(){return this._show},set:function(e){if(e===this._show)return;this.suspendEvents();let t,n=[],i=this._entities.values,o=i.length;for(t=0;t<o;t++)n.push(i[t].isShowing);for(this._show=e,t=0;t<o;t++){let r=n[t],s=i[t];r!==s.isShowing&&s.definitionChanged.raiseEvent(s,"isShowing",s.isShowing,r)}this.resumeEvents()}},owner:{get:function(){return this._owner}}});rc.prototype.computeAvailability=function(){let e=Ge.MAXIMUM_VALUE,t=Ge.MINIMUM_VALUE,n=this._entities.values;for(let i=0,o=n.length;i<o;i++){let s=n[i].availability;if(l(s)){let a=s.start,c=s.stop;K.lessThan(a,e)&&!a.equals(Ge.MINIMUM_VALUE)&&(e=a),K.greaterThan(c,t)&&!c.equals(Ge.MAXIMUM_VALUE)&&(t=c)}}return Ge.MAXIMUM_VALUE.equals(e)&&(e=Ge.MINIMUM_VALUE),Ge.MINIMUM_VALUE.equals(t)&&(t=Ge.MAXIMUM_VALUE),new vn({start:e,stop:t})};rc.prototype.add=function(e){e instanceof sr||(e=new sr(e));let t=e.id,n=this._entities;if(n.contains(t))throw new de(`An entity with id ${t} already exists in this collection.`);return e.entityCollection=this,n.set(t,e),this._removedEntities.remove(t)||this._addedEntities.set(t,e),e.definitionChanged.addEventListener(rc.prototype._onEntityDefinitionChanged,this),dD(this),e};rc.prototype.remove=function(e){return l(e)?this.removeById(e.id):!1};rc.prototype.contains=function(e){return this._entities.get(e.id)===e};rc.prototype.removeById=function(e){if(!l(e))return!1;let n=this._entities.get(e);return this._entities.remove(e)?(this._addedEntities.remove(e)||(this._removedEntities.set(e,n),this._changedEntities.remove(e)),this._entities.remove(e),n.definitionChanged.removeEventListener(rc.prototype._onEntityDefinitionChanged,this),dD(this),!0):!1};rc.prototype.removeAll=function(){let e=this._entities,t=e.length,n=e.values,i=this._addedEntities,o=this._removedEntities;for(let r=0;r<t;r++){let s=n[r],a=s.id,c=i.get(a);l(c)||(s.definitionChanged.removeEventListener(rc.prototype._onEntityDefinitionChanged,this),o.set(a,s))}e.removeAll(),i.removeAll(),this._changedEntities.removeAll(),dD(this)};rc.prototype.getById=function(e){return this._entities.get(e)};rc.prototype.getOrCreateEntity=function(e){let t=this._entities.get(e);return l(t)||(rle.id=e,t=new sr(rle),this.add(t)),t};rc.prototype._onEntityDefinitionChanged=function(e){let t=e.id;this._addedEntities.contains(t)||this._changedEntities.set(t,e),dD(this)};var fa=rc;var o3={id:void 0},EA=new Array(2);function vj(e){let t=e.propertyNames,n=t.length;for(let i=0;i<n;i++)e[t[i]]=void 0;e._name=void 0,e._availability=void 0}function sle(e,t,n,i){EA[0]=n,EA[1]=i.id,t[JSON.stringify(EA)]=i.definitionChanged.addEventListener(Br.prototype._onDefinitionChanged,e)}function ale(e,t,n,i){EA[0]=n,EA[1]=i.id;let o=JSON.stringify(EA);t[o](),t[o]=void 0}function iy(e){if(e._shouldRecomposite=!0,e._suspendCount!==0)return;let t=e._collections,n=t.length,i=e._collectionsCopy,o=i.length,r,s,a,c,u,f=e._composite,d=new fa(e),p=e._eventHash,g;for(r=0;r<o;r++)for(u=i[r],u.collectionChanged.removeEventListener(Br.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--)s=a[c],ale(e,p,g,s);for(r=n-1;r>=0;r--)for(u=t[r],u.collectionChanged.addEventListener(Br.prototype._onCollectionChanged,e),a=u.values,g=u.id,c=a.length-1;c>-1;c--){s=a[c],sle(e,p,g,s);let x=d.getById(s.id);l(x)||(x=f.getById(s.id),l(x)?vj(x):(o3.id=s.id,x=new sr(o3)),d.add(x)),x.merge(s)}e._collectionsCopy=t.slice(0),f.suspendEvents(),f.removeAll();let m=d.values;for(r=0;r<m.length;r++)f.add(m[r]);f.resumeEvents()}function Br(e,t){this._owner=t,this._composite=new fa(this),this._suspendCount=0,this._collections=l(e)?e.slice():[],this._collectionsCopy=[],this._id=Gn(),this._eventHash={},iy(this),this._shouldRecomposite=!1}Object.defineProperties(Br.prototype,{collectionChanged:{get:function(){return this._composite._collectionChanged}},id:{get:function(){return this._id}},values:{get:function(){return this._composite.values}},owner:{get:function(){return this._owner}}});Br.prototype.addCollection=function(e,t){l(t)?this._collections.splice(t,0,e):(t=this._collections.length,this._collections.push(e)),iy(this)};Br.prototype.removeCollection=function(e){let t=this._collections.indexOf(e);return t!==-1?(this._collections.splice(t,1),iy(this),!0):!1};Br.prototype.removeAllCollections=function(){this._collections.length=0,iy(this)};Br.prototype.containsCollection=function(e){return this._collections.indexOf(e)!==-1};Br.prototype.contains=function(e){return this._composite.contains(e)};Br.prototype.indexOfCollection=function(e){return this._collections.indexOf(e)};Br.prototype.getCollection=function(e){return this._collections[e]};Br.prototype.getCollectionsLength=function(){return this._collections.length};function r3(e,t){return e.indexOf(t)}function cle(e,t,n){let i=e._collections;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,iy(e)}Br.prototype.raiseCollection=function(e){let t=r3(this._collections,e);cle(this,t,t+1)};Br.prototype.lowerCollection=function(e){let t=r3(this._collections,e);cle(this,t,t-1)};Br.prototype.raiseCollectionToTop=function(e){let t=r3(this._collections,e);t!==this._collections.length-1&&(this._collections.splice(t,1),this._collections.push(e),iy(this))};Br.prototype.lowerCollectionToBottom=function(e){let t=r3(this._collections,e);t!==0&&(this._collections.splice(t,1),this._collections.splice(0,0,e),iy(this))};Br.prototype.suspendEvents=function(){this._suspendCount++,this._composite.suspendEvents()};Br.prototype.resumeEvents=function(){this._suspendCount--,this._shouldRecomposite&&this._suspendCount===0&&(iy(this),this._shouldRecomposite=!1),this._composite.resumeEvents()};Br.prototype.computeAvailability=function(){return this._composite.computeAvailability()};Br.prototype.getById=function(e){return this._composite.getById(e)};Br.prototype._onCollectionChanged=function(e,t,n){let i=this._collectionsCopy,o=i.length,r=this._composite;r.suspendEvents();let s,a,c,u,f=n.length,d=this._eventHash,p=e.id;for(s=0;s<f;s++){let m=n[s];ale(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),vj(u)),u.merge(c));l(u)||r.removeById(x),u=void 0}let g=t.length;for(s=0;s<g;s++){let m=t[s];sle(this,d,p,m);let x=m.id;for(a=o-1;a>=0;a--)c=i[a].getById(x),l(c)&&(l(u)||(u=r.getById(x),l(u)?vj(u):(o3.id=x,u=new sr(o3),r.add(u))),u.merge(c));u=void 0}r.resumeEvents()};Br.prototype._onDefinitionChanged=function(e,t,n,i){let o=this._collections,r=this._composite,s=o.length,a=e.id,c=r.getById(a),u=c[t],f=!l(u),d=!0;for(let p=s-1;p>=0;p--){let g=o[p].getById(e.id);if(l(g)){let m=g[t];if(l(m)){if(d)if(d=!1,l(m.merge)&&l(m.clone))u=m.clone(u);else{u=m;break}u.merge(m)}}}f&&c.propertyNames.indexOf(t)===-1&&c.addProperty(t),c[t]=u};var lle=Br;function wj(){this._removalFunctions=[]}wj.prototype.add=function(e,t,n){let i=e.addEventListener(t,n);this._removalFunctions.push(i);let o=this;return function(){i();let r=o._removalFunctions;r.splice(r.indexOf(i),1)}};wj.prototype.removeAll=function(){let e=this._removalFunctions;for(let t=0,n=e.length;t<n;++t)e[t]();e.length=0};var xr=wj;function Pj(e,t){return K.compare(e.start,t.start)}function kr(e){if(this._intervals=[],this._changedEvent=new me,l(e)){let t=e.length;for(let n=0;n<t;n++)this.addInterval(e[n])}}Object.defineProperties(kr.prototype,{changedEvent:{get:function(){return this._changedEvent}},start:{get:function(){let e=this._intervals;return e.length===0?void 0:e[0].start}},isStartIncluded:{get:function(){let e=this._intervals;return e.length===0?!1:e[0].isStartIncluded}},stop:{get:function(){let e=this._intervals,t=e.length;return t===0?void 0:e[t-1].stop}},isStopIncluded:{get:function(){let e=this._intervals,t=e.length;return t===0?!1:e[t-1].isStopIncluded}},length:{get:function(){return this._intervals.length}},isEmpty:{get:function(){return this._intervals.length===0}}});kr.prototype.equals=function(e,t){if(this===e)return!0;if(!(e instanceof kr))return!1;let n=this._intervals,i=e._intervals,o=n.length;if(o!==i.length)return!1;for(let r=0;r<o;r++)if(!vn.equals(n[r],i[r],t))return!1;return!0};kr.prototype.get=function(e){return this._intervals[e]};kr.prototype.removeAll=function(){this._intervals.length>0&&(this._intervals.length=0,this._changedEvent.raiseEvent(this))};kr.prototype.findIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t]:void 0};kr.prototype.findDataForIntervalContainingDate=function(e){let t=this.indexOf(e);return t>=0?this._intervals[t].data:void 0};kr.prototype.contains=function(e){return this.indexOf(e)>=0};var Dj=new vn;kr.prototype.indexOf=function(e){let t=this._intervals;Dj.start=e,Dj.stop=e;let n=Ro(t,Dj,Pj);return n>=0?t[n].isStartIncluded?n:n>0&&t[n-1].stop.equals(e)&&t[n-1].isStopIncluded?n-1:~n:(n=~n,n>0&&n-1<t.length&&vn.contains(t[n-1],e)?n-1:~n)};kr.prototype.findInterval=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.start,n=e.stop,i=e.isStartIncluded,o=e.isStopIncluded,r=this._intervals;for(let s=0,a=r.length;s<a;s++){let c=r[s];if((!l(t)||c.start.equals(t))&&(!l(n)||c.stop.equals(n))&&(!l(i)||c.isStartIncluded===i)&&(!l(o)||c.isStopIncluded===o))return r[s]}};kr.prototype.addInterval=function(e,t){if(e.isEmpty)return;let n=this._intervals;if(n.length===0||K.greaterThan(e.start,n[n.length-1].stop)){n.push(e),this._changedEvent.raiseEvent(this);return}let i=Ro(n,e,Pj);i<0?i=~i:i>0&&e.isStartIncluded&&n[i-1].isStartIncluded&&n[i-1].start.equals(e.start)?--i:i<n.length&&!e.isStartIncluded&&n[i].isStartIncluded&&n[i].start.equals(e.start)&&++i;let o;for(i>0&&(o=K.compare(n[i-1].stop,e.start),(o>0||o===0&&(n[i-1].isStopIncluded||e.isStartIncluded))&&((l(t)?t(n[i-1].data,e.data):n[i-1].data===e.data)?(K.greaterThan(e.stop,n[i-1].stop)?e=new vn({start:n[i-1].start,stop:e.stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:e.isStopIncluded,data:e.data}):e=new vn({start:n[i-1].start,stop:n[i-1].stop,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:n[i-1].isStopIncluded||e.stop.equals(n[i-1].stop)&&e.isStopIncluded,data:e.data}),n.splice(i-1,1),--i):(o=K.compare(n[i-1].stop,e.stop),(o>0||o===0&&n[i-1].isStopIncluded&&!e.isStopIncluded)&&n.splice(i,0,new vn({start:e.stop,stop:n[i-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i-1].isStopIncluded,data:n[i-1].data})),n[i-1]=new vn({start:n[i-1].start,stop:e.start,isStartIncluded:n[i-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:n[i-1].data}))));i<n.length&&(o=K.compare(e.stop,n[i].start),o>0||o===0&&(e.isStopIncluded||n[i].isStartIncluded));)if(l(t)?t(n[i].data,e.data):n[i].data===e.data)e=new vn({start:e.start,stop:K.greaterThan(n[i].stop,e.stop)?n[i].stop:e.stop,isStartIncluded:e.isStartIncluded,isStopIncluded:K.greaterThan(n[i].stop,e.stop)?n[i].isStopIncluded:e.isStopIncluded,data:e.data}),n.splice(i,1);else if(n[i]=new vn({start:e.stop,stop:n[i].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:n[i].isStopIncluded,data:n[i].data}),n[i].isEmpty)n.splice(i,1);else break;n.splice(i,0,e),this._changedEvent.raiseEvent(this)};kr.prototype.removeInterval=function(e){if(e.isEmpty)return!1;let t=this._intervals,n=Ro(t,e,Pj);n<0&&(n=~n);let i=!1;for(n>0&&(K.greaterThan(t[n-1].stop,e.start)||t[n-1].stop.equals(e.start)&&t[n-1].isStopIncluded&&e.isStartIncluded)&&(i=!0,(K.greaterThan(t[n-1].stop,e.stop)||t[n-1].isStopIncluded&&!e.isStopIncluded&&t[n-1].stop.equals(e.stop))&&t.splice(n,0,new vn({start:e.stop,stop:t[n-1].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n-1].isStopIncluded,data:t[n-1].data})),t[n-1]=new vn({start:t[n-1].start,stop:e.start,isStartIncluded:t[n-1].isStartIncluded,isStopIncluded:!e.isStartIncluded,data:t[n-1].data})),n<t.length&&!e.isStartIncluded&&t[n].isStartIncluded&&e.start.equals(t[n].start)&&(i=!0,t.splice(n,0,new vn({start:t[n].start,stop:t[n].start,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data})),++n);n<t.length&&K.greaterThan(e.stop,t[n].stop);)i=!0,t.splice(n,1);return n<t.length&&e.stop.equals(t[n].stop)&&(i=!0,!e.isStopIncluded&&t[n].isStopIncluded?n+1<t.length&&t[n+1].start.equals(e.stop)&&t[n].data===t[n+1].data?(t.splice(n,1),t[n]=new vn({start:t[n].start,stop:t[n].stop,isStartIncluded:!0,isStopIncluded:t[n].isStopIncluded,data:t[n].data})):t[n]=new vn({start:e.stop,stop:e.stop,isStartIncluded:!0,isStopIncluded:!0,data:t[n].data}):t.splice(n,1)),n<t.length&&(K.greaterThan(e.stop,t[n].start)||e.stop.equals(t[n].start)&&e.isStopIncluded&&t[n].isStartIncluded)&&(i=!0,t[n]=new vn({start:e.stop,stop:t[n].stop,isStartIncluded:!e.isStopIncluded,isStopIncluded:t[n].isStopIncluded,data:t[n].data})),i&&this._changedEvent.raiseEvent(this),i};kr.prototype.intersect=function(e,t,n){let i=new kr,o=0,r=0,s=this._intervals,a=e._intervals;for(;o<s.length&&r<a.length;){let c=s[o],u=a[r];if(K.lessThan(c.stop,u.start))++o;else if(K.lessThan(u.stop,c.start))++r;else{if(l(n)||l(t)&&t(c.data,u.data)||!l(t)&&u.data===c.data){let f=vn.intersect(c,u,new vn,n);f.isEmpty||i.addInterval(f,t)}K.lessThan(c.stop,u.stop)||c.stop.equals(u.stop)&&!c.isStopIncluded&&u.isStopIncluded?++o:++r}}return i};kr.fromJulianDateArray=function(e,t){l(t)||(t=new kr);let n=e.julianDates,i=n.length,o=e.dataCallback,r=y(e.isStartIncluded,!0),s=y(e.isStopIncluded,!0),a=y(e.leadingInterval,!1),c=y(e.trailingInterval,!1),u,f=0;a&&(++f,u=new vn({start:Ge.MINIMUM_VALUE,stop:n[0],isStartIncluded:!0,isStopIncluded:!r}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u));for(let d=0;d<i-1;++d){let p=n[d],g=n[d+1];u=new vn({start:p,stop:g,isStartIncluded:t.length===f?r:!0,isStopIncluded:d===i-2?s:!1}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u),p=g}return c&&(u=new vn({start:n[i-1],stop:Ge.MAXIMUM_VALUE,isStartIncluded:!s,isStopIncluded:!0}),u.data=l(o)?o(u,t.length):t.length,t.addInterval(u)),t};var sc=new N_,hD=[0,31,28,31,30,31,30,31,31,30,31,30,31];function Ij(e,t,n){l(n)||(n=new K),K.toGregorianDate(e,sc);let i=sc.millisecond+t.millisecond,o=sc.second+t.second,r=sc.minute+t.minute,s=sc.hour+t.hour,a=sc.day+t.day,c=sc.month+t.month,u=sc.year+t.year;for(i>=1e3&&(o+=Math.floor(i/1e3),i=i%1e3),o>=60&&(r+=Math.floor(o/60),o=o%60),r>=60&&(s+=Math.floor(r/60),r=r%60),s>=24&&(a+=Math.floor(s/24),s=s%24),hD[2]=yh(u)?29:28;a>hD[c]||c>=13;)a>hD[c]&&(a-=hD[c],++c),c>=13&&(--c,u+=Math.floor(c/12),c=c%12,++c),hD[2]=yh(u)?29:28;return sc.millisecond=i,sc.second=o,sc.minute=r,sc.hour=s,sc.day=a,sc.month=c,sc.year=u,K.fromGregorianDate(sc,n)}var ZYe=new K,$Ye=/P(?:([\d.,]+)Y)?(?:([\d.,]+)M)?(?:([\d.,]+)W)?(?:([\d.,]+)D)?(?:T(?:([\d.,]+)H)?(?:([\d.,]+)M)?(?:([\d.,]+)S)?)?/;function ule(e,t){if(!l(e)||e.length===0)return!1;if(t.year=0,t.month=0,t.day=0,t.hour=0,t.minute=0,t.second=0,t.millisecond=0,e[0]==="P"){let n=e.match($Ye);if(!l(n))return!1;if(l(n[1])&&(t.year=Number(n[1].replace(",","."))),l(n[2])&&(t.month=Number(n[2].replace(",","."))),l(n[3])&&(t.day=Number(n[3].replace(",","."))*7),l(n[4])&&(t.day+=Number(n[4].replace(",","."))),l(n[5])&&(t.hour=Number(n[5].replace(",","."))),l(n[6])&&(t.minute=Number(n[6].replace(",","."))),l(n[7])){let i=Number(n[7].replace(",","."));t.second=Math.floor(i),t.millisecond=i%1*1e3}}else e[e.length-1]!=="Z"&&(e+="Z"),K.toGregorianDate(K.fromIso8601(e,ZYe),t);return t.year||t.month||t.day||t.hour||t.minute||t.second||t.millisecond}var mD=new N_;kr.fromIso8601=function(e,t){let n=e.iso8601.split("/"),i=K.fromIso8601(n[0]),o=K.fromIso8601(n[1]),r=[];if(!ule(n[2],mD))r.push(i,o);else{let s=K.clone(i);for(r.push(s);K.compare(s,o)<0;)s=Ij(s,mD),K.compare(o,s)<=0&&K.clone(o,s),r.push(s)}return kr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};kr.fromIso8601DateArray=function(e,t){return kr.fromJulianDateArray({julianDates:e.iso8601Dates.map(function(n){return K.fromIso8601(n)}),isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};kr.fromIso8601DurationArray=function(e,t){let n=e.epoch,i=e.iso8601Durations,o=y(e.relativeToPrevious,!1),r=[],s,a,c=i.length;for(let u=0;u<c;++u)(ule(i[u],mD)||u===0)&&(o&&l(a)?s=Ij(a,mD):s=Ij(n,mD),r.push(s),a=s);return kr.fromJulianDateArray({julianDates:r,isStartIncluded:e.isStartIncluded,isStopIncluded:e.isStopIncluded,leadingInterval:e.leadingInterval,trailingInterval:e.trailingInterval,dataCallback:e.dataCallback},t)};var Kr=kr;function QYe(e,t,n,i){function o(){n.raiseEvent(e)}let r=[];t.removeAll();let s=i.length;for(let a=0;a<s;a++){let c=i.get(a);l(c.data)&&r.indexOf(c.data)===-1&&t.add(c.data.definitionChanged,o)}}function Wx(){this._eventHelper=new xr,this._definitionChanged=new me,this._intervals=new Kr,this._intervals.changedEvent.addEventListener(Wx.prototype._intervalsChanged,this)}Object.defineProperties(Wx.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var JYe=new K;Wx.prototype.getValue=function(e,t){l(e)||(e=K.now(JYe));let n=this._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};Wx.prototype.equals=function(e){return this===e||e instanceof Wx&&this._intervals.equals(e._intervals,q.equals)};Wx.prototype._intervalsChanged=function(){QYe(this,this._eventHelper,this._definitionChanged,this._intervals),this._definitionChanged.raiseEvent(this)};var zc=Wx;function oy(){this._definitionChanged=new me,this._composite=new zc,this._composite.definitionChanged.addEventListener(oy.prototype._raiseDefinitionChanged,this)}Object.defineProperties(oy.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite._intervals}}});oy.prototype.getType=function(e){let t=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(t))return t.getType(e)};var eXe=new K;oy.prototype.getValue=function(e,t){l(e)||(e=K.now(eXe));let n=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(n))return n.getValue(e,t)};oy.prototype.equals=function(e){return this===e||e instanceof oy&&this._composite.equals(e._composite,q.equals)};oy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var pD=oy;function ry(e){this._referenceFrame=y(e,Vi.FIXED),this._definitionChanged=new me,this._composite=new zc,this._composite.definitionChanged.addEventListener(ry.prototype._raiseDefinitionChanged,this)}Object.defineProperties(ry.prototype,{isConstant:{get:function(){return this._composite.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._composite.intervals}},referenceFrame:{get:function(){return this._referenceFrame},set:function(e){this._referenceFrame=e}}});var tXe=new K;ry.prototype.getValue=function(e,t){return l(e)||(e=K.now(tXe)),this.getValueInReferenceFrame(e,Vi.FIXED,t)};ry.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._composite._intervals.findDataForIntervalContainingDate(e);if(l(i))return i.getValueInReferenceFrame(e,t,n)};ry.prototype.equals=function(e){return this===e||e instanceof ry&&this._referenceFrame===e._referenceFrame&&this._composite.equals(e._composite,q.equals)};ry.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var Oa=ry;var nXe={ROUNDED:0,MITERED:1,BEVELED:2},Ni=Object.freeze(nXe);var da=[new h,new h],iXe=new h,oXe=new h,rXe=new h,sXe=new h,aXe=new h,cXe=new h,lXe=new h,uXe=new h,fXe=new h,SA=new h,s3=new h,_D={},Oj=new fe;function dXe(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++){let o=e[i];Oj=t.cartesianToCartographic(o,Oj),n[i]=Oj.height,e[i]=t.scaleToGeodeticSurface(o,o)}return n}function Rj(e,t,n,i){let o=e[0],r=e[1],s=h.angleBetween(o,r),a=Math.ceil(s/i),c=new Array(a),u;if(t===n){for(u=0;u<a;u++)c[u]=t;return c.push(n),c}let d=(n-t)/a;for(u=1;u<a;u++){let p=t+u*d;c[u]=p}return c[0]=t,c.push(n),c}var a3=new h,c3=new h;function hXe(e,t,n,i){let o=new os(n,i),r=o.projectPointOntoPlane(h.add(n,e,a3),a3),s=o.projectPointOntoPlane(h.add(n,t,c3),c3),a=U.angleBetween(r,s);return s.x*r.y-s.y*r.x>=0?-a:a}var mXe=new h(-1,0,0),jx=new F,pXe=new F,Mj=new $,_Xe=$.IDENTITY.clone(),gXe=new h,yXe=new oe,fle=new h;function $p(e,t,n,i,o,r,s,a){let c=gXe,u=yXe;jx=Mt.eastNorthUpToFixedFrame(e,o,jx),c=F.multiplyByPointAsVector(jx,mXe,c),c=h.normalize(c,c);let f=hXe(c,t,e,o);Mj=$.fromRotationZ(f,Mj),fle.z=r,jx=F.multiplyTransformation(jx,F.fromRotationTranslation(Mj,fle,pXe),jx);let d=_Xe;d[0]=s;for(let p=0;p<a;p++)for(let g=0;g<n.length;g+=3)u=h.fromArray(n,g,u),u=$.multiplyByVector(d,u,u),u=F.multiplyByPoint(jx,u,u),i.push(u.x,u.y,u.z);return i}var xXe=new h;function Lj(e,t,n,i,o,r,s){for(let a=0;a<e.length;a+=3){let c=h.fromArray(e,a,xXe);i=$p(c,t,n,i,o,r[a/3],s,1)}return i}function bXe(e,t){let n=e.length,i=new Array(n*6),o=0,r=t.x+t.width/2,s=t.y+t.height/2,a=e[0];i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s;for(let c=1;c<n;c++){a=e[c];let u=a.x-r,f=a.y-s;i[o++]=u,i[o++]=0,i[o++]=f,i[o++]=u,i[o++]=0,i[o++]=f}return a=e[0],i[o++]=a.x-r,i[o++]=0,i[o++]=a.y-s,i}function dle(e,t){let n=e.length,i=new Array(n*3),o=0,r=t.x+t.width/2,s=t.y+t.height/2;for(let a=0;a<n;a++)i[o++]=e[a].x-r,i[o++]=0,i[o++]=e[a].y-s;return i}var hle=new Le,mle=new h,ple=new $;function _le(e,t,n,i,o,r,s,a,c,u){let f=h.angleBetween(h.subtract(t,e,SA),h.subtract(n,e,s3)),d=i===Ni.BEVELED?0:Math.ceil(f/P.toRadians(5)),p;o?p=$.fromQuaternion(Le.fromAxisAngle(h.negate(e,SA),f/(d+1),hle),ple):p=$.fromQuaternion(Le.fromAxisAngle(e,f/(d+1),hle),ple);let g,m;if(t=h.clone(t,mle),d>0){let x=u?2:1;for(let b=0;b<d;b++)t=$.multiplyByVector(p,t,t),g=h.subtract(t,e,SA),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,s3),s=$p(m,g,a,s,r,c,1,x)}else g=h.subtract(t,e,SA),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(t,s3),s=$p(m,g,a,s,r,c,1,1),n=h.clone(n,mle),g=h.subtract(n,e,SA),g=h.normalize(g,g),o||(g=h.negate(g,g)),m=r.scaleToGeodeticSurface(n,s3),s=$p(m,g,a,s,r,c,1,1);return s}_D.removeDuplicatesFromShape=function(e){let t=e.length,n=[];for(let i=t-1,o=0;o<t;i=o++){let r=e[i],s=e[o];U.equals(r,s)||n.push(s)}return n};_D.angleIsGreaterThanPi=function(e,t,n,i){let o=new os(n,i),r=o.projectPointOntoPlane(h.add(n,e,a3),a3),s=o.projectPointOntoPlane(h.add(n,t,c3),c3);return s.x*r.y-s.y*r.x>=0};var TXe=new h,CXe=new h;_D.computePositions=function(e,t,n,i,o){let r=i._ellipsoid,s=dXe(e,r),a=i._granularity,c=i._cornerType,u=o?bXe(t,n):dle(t,n),f=o?dle(t,n):void 0,d=n.height/2,p=n.width/2,g=e.length,m=[],x=o?[]:void 0,b=iXe,T=oXe,C=rXe,A=sXe,S=aXe,v=cXe,D=lXe,R=uXe,O=fXe,M=e[0],N=e[1];A=r.geodeticSurfaceNormal(M,A),b=h.subtract(N,M,b),b=h.normalize(b,b),R=h.cross(A,b,R),R=h.normalize(R,R);let _=s[0],E=s[1];o&&(x=$p(M,R,f,x,r,_+d,1,1)),O=h.clone(M,O),M=N,T=h.negate(b,T);let w,I;for(let H=1;H<g-1;H++){let V=o?2:1;if(N=e[H+1],M.equals(N)){Tt("Positions are too close and are considered equivalent with rounding error.");continue}b=h.subtract(N,M,b),b=h.normalize(b,b),A=r.geodeticSurfaceNormal(M,A);let G=h.multiplyByScalar(A,h.dot(b,A),TXe);h.subtract(b,G,G),h.normalize(G,G);let k=h.multiplyByScalar(A,h.dot(T,A),CXe);if(h.subtract(T,k,k),h.normalize(k,k),!P.equalsEpsilon(Math.abs(h.dot(G,k)),1,P.EPSILON7)){C=h.add(b,T,C),C=h.normalize(C,C),C=h.cross(C,A,C),C=h.cross(A,C,C),C=h.normalize(C,C);let Y=1/Math.max(.25,h.magnitude(h.cross(C,T,SA))),J=_D.angleIsGreaterThanPi(b,T,M,r);J?(S=h.add(M,h.multiplyByScalar(C,Y*p,C),S),v=h.add(S,h.multiplyByScalar(R,p,v),v),da[0]=h.clone(O,da[0]),da[1]=h.clone(v,da[1]),w=Rj(da,_+d,E+d,a),I=Li.generateArc({positions:da,granularity:a,ellipsoid:r}),m=Lj(I,R,u,m,r,w,1),R=h.cross(A,b,R),R=h.normalize(R,R),D=h.add(S,h.multiplyByScalar(R,p,D),D),c===Ni.ROUNDED||c===Ni.BEVELED?_le(S,v,D,c,J,r,m,u,E+d,o):(C=h.negate(C,C),m=$p(M,C,u,m,r,E+d,Y,V)),O=h.clone(D,O)):(S=h.add(M,h.multiplyByScalar(C,Y*p,C),S),v=h.add(S,h.multiplyByScalar(R,-p,v),v),da[0]=h.clone(O,da[0]),da[1]=h.clone(v,da[1]),w=Rj(da,_+d,E+d,a),I=Li.generateArc({positions:da,granularity:a,ellipsoid:r}),m=Lj(I,R,u,m,r,w,1),R=h.cross(A,b,R),R=h.normalize(R,R),D=h.add(S,h.multiplyByScalar(R,-p,D),D),c===Ni.ROUNDED||c===Ni.BEVELED?_le(S,v,D,c,J,r,m,u,E+d,o):m=$p(M,C,u,m,r,E+d,Y,V),O=h.clone(D,O)),T=h.negate(b,T)}else m=$p(O,R,u,m,r,_+d,1,1),O=M;_=E,E=s[H+1],M=N}da[0]=h.clone(O,da[0]),da[1]=h.clone(M,da[1]),w=Rj(da,_+d,E+d,a),I=Li.generateArc({positions:da,granularity:a,ellipsoid:r}),m=Lj(I,R,u,m,r,w,1),o&&(x=$p(M,R,f,x,r,E+d,1,1)),g=m.length;let L=o?g+x.length:g,B=new Float64Array(L);return B.set(m),o&&B.set(x,g),B};var am=_D;var Fj={},vA=new h,Tle=new h,AXe=new h,gle=new h,Hc=[new h,new h],Cle=new h,Ale=new h,Ele=new h,EXe=new h,SXe=new h,vXe=new h,wXe=new h,DXe=new h,IXe=new h,PXe=new h,yle=new Le,xle=new $;function l3(e,t,n,i,o){let r=h.angleBetween(h.subtract(t,e,vA),h.subtract(n,e,Tle)),s=i===Ni.BEVELED?1:Math.ceil(r/P.toRadians(5))+1,a=s*3,c=new Array(a);c[a-3]=n.x,c[a-2]=n.y,c[a-1]=n.z;let u;o?u=$.fromQuaternion(Le.fromAxisAngle(h.negate(e,vA),r/s,yle),xle):u=$.fromQuaternion(Le.fromAxisAngle(e,r/s,yle),xle);let f=0;t=h.clone(t,vA);for(let d=0;d<s;d++)t=$.multiplyByVector(u,t,t),c[f++]=t.x,c[f++]=t.y,c[f++]=t.z;return c}function OXe(e){let t=Cle,n=Ale,i=Ele,o=e[1];n=h.fromArray(e[1],o.length-3,n),i=h.fromArray(e[0],0,i),t=h.midpoint(n,i,t);let r=l3(t,n,i,Ni.ROUNDED,!1),s=e.length-1,a=e[s-1];o=e[s],n=h.fromArray(a,a.length-3,n),i=h.fromArray(o,0,i),t=h.midpoint(n,i,t);let c=l3(t,n,i,Ni.ROUNDED,!1);return[r,c]}function ble(e,t,n,i){let o=vA;return i?o=h.add(e,t,o):(t=h.negate(t,t),o=h.add(e,t,o)),[o.x,o.y,o.z,n.x,n.y,n.z]}function Nj(e,t,n,i){let o=new Array(e.length),r=new Array(e.length),s=h.multiplyByScalar(t,n,vA),a=h.negate(s,Tle),c=0,u=e.length-1;for(let f=0;f<e.length;f+=3){let d=h.fromArray(e,f,AXe),p=h.add(d,a,gle);o[c++]=p.x,o[c++]=p.y,o[c++]=p.z;let g=h.add(d,s,gle);r[u--]=g.z,r[u--]=g.y,r[u--]=g.x}return i.push(o,r),i}Fj.addAttribute=function(e,t,n,i){let o=t.x,r=t.y,s=t.z;l(n)&&(e[n]=o,e[n+1]=r,e[n+2]=s),l(i)&&(e[i]=s,e[i-1]=r,e[i-2]=o)};var RXe=new h,MXe=new h;Fj.computePositions=function(e){let t=e.granularity,n=e.positions,i=e.ellipsoid,o=e.width/2,r=e.cornerType,s=e.saveAttributes,a=Cle,c=Ale,u=Ele,f=EXe,d=SXe,p=vXe,g=wXe,m=DXe,x=IXe,b=PXe,T=[],C=s?[]:void 0,A=s?[]:void 0,S=n[0],v=n[1];c=h.normalize(h.subtract(v,S,c),c),a=i.geodeticSurfaceNormal(S,a),f=h.normalize(h.cross(a,c,f),f),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z)),g=h.clone(S,g),S=v,u=h.negate(c,u);let D,R=[],O,M=n.length;for(O=1;O<M-1;O++){a=i.geodeticSurfaceNormal(S,a),v=n[O+1],c=h.normalize(h.subtract(v,S,c),c);let _=h.multiplyByScalar(a,h.dot(c,a),RXe);h.subtract(c,_,_),h.normalize(_,_);let E=h.multiplyByScalar(a,h.dot(u,a),MXe);if(h.subtract(u,E,E),h.normalize(E,E),!P.equalsEpsilon(Math.abs(h.dot(_,E)),1,P.EPSILON7)){d=h.normalize(h.add(c,u,d),d),d=h.cross(d,a,d),d=h.cross(a,d,d),d=h.normalize(d,d);let I=o/Math.max(.25,h.magnitude(h.cross(d,u,vA))),L=am.angleIsGreaterThanPi(c,u,S,i);d=h.multiplyByScalar(d,I,d),L?(m=h.add(S,d,m),b=h.add(m,h.multiplyByScalar(f,o,b),b),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),Hc[0]=h.clone(g,Hc[0]),Hc[1]=h.clone(b,Hc[1]),D=Li.generateArc({positions:Hc,granularity:t,ellipsoid:i}),T=Nj(D,f,o,T),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z)),p=h.clone(x,p),f=h.normalize(h.cross(a,c,f),f),x=h.add(m,h.multiplyByScalar(f,o*2,x),x),g=h.add(m,h.multiplyByScalar(f,o,g),g),r===Ni.ROUNDED||r===Ni.BEVELED?R.push({leftPositions:l3(m,p,x,r,L)}):R.push({leftPositions:ble(S,h.negate(d,d),x,L)})):(x=h.add(S,d,x),b=h.add(x,h.negate(h.multiplyByScalar(f,o,b),b),b),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),Hc[0]=h.clone(g,Hc[0]),Hc[1]=h.clone(b,Hc[1]),D=Li.generateArc({positions:Hc,granularity:t,ellipsoid:i}),T=Nj(D,f,o,T),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z)),p=h.clone(m,p),f=h.normalize(h.cross(a,c,f),f),m=h.add(x,h.negate(h.multiplyByScalar(f,o*2,m),m),m),g=h.add(x,h.negate(h.multiplyByScalar(f,o,g),g),g),r===Ni.ROUNDED||r===Ni.BEVELED?R.push({rightPositions:l3(x,p,m,r,L)}):R.push({rightPositions:ble(S,d,m,L)})),u=h.negate(c,u)}S=v}a=i.geodeticSurfaceNormal(S,a),Hc[0]=h.clone(g,Hc[0]),Hc[1]=h.clone(S,Hc[1]),D=Li.generateArc({positions:Hc,granularity:t,ellipsoid:i}),T=Nj(D,f,o,T),s&&(C.push(f.x,f.y,f.z),A.push(a.x,a.y,a.z));let N;return r===Ni.ROUNDED&&(N=OXe(T)),{positions:T,corners:R,lefts:C,normals:A,endPositions:N}};var zi=Fj;var wle=new h,Dle=new h,u3=new h,f3=new h,LXe=new h,Ile=new h,sy=new h,wA=new h;function Ple(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function Rd(e,t,n,i,o,r){let s=e.normals,a=e.tangents,c=e.bitangents,u=h.normalize(h.cross(n,t,sy),sy);r.normal&&zi.addAttribute(s,t,i,o),r.tangent&&zi.addAttribute(a,u,i,o),r.bitangent&&zi.addAttribute(c,n,i,o)}function Ole(e,t,n){let i=e.positions,o=e.corners,r=e.endPositions,s=e.lefts,a=e.normals,c=new mn,u,f=0,d=0,p,g=0,m;for(p=0;p<i.length;p+=2)m=i[p].length-3,f+=m,g+=m*2,d+=i[p+1].length-3;for(f+=3,d+=3,p=0;p<o.length;p++){u=o[p];let Q=o[p].leftPositions;l(Q)?(m=Q.length,f+=m,g+=m):(m=o[p].rightPositions.length,d+=m,g+=m)}let x=l(r),b;x&&(b=r[0].length-3,f+=b,d+=b,b/=3,g+=b*6);let T=f+d,C=new Float64Array(T),A=t.normal?new Float32Array(T):void 0,S=t.tangent?new Float32Array(T):void 0,v=t.bitangent?new Float32Array(T):void 0,D={normals:A,tangents:S,bitangents:v},R=0,O=T-1,M,N,_,E,w=wle,I=Dle,L,B,H=b/2,V=ke.createTypedArray(T/3,g),G=0;if(x){B=u3,L=f3;let Q=r[0];for(w=h.fromArray(a,0,w),I=h.fromArray(s,0,I),p=0;p<H;p++)B=h.fromArray(Q,(H-1-p)*3,B),L=h.fromArray(Q,(H+p)*3,L),zi.addAttribute(C,L,R),zi.addAttribute(C,B,void 0,O),Rd(D,w,I,R,O,t),N=R/3,E=N+1,M=(O-2)/3,_=M-1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=E,R+=3,O-=3}let k=0,W=0,Y=i[k++],J=i[k++];C.set(Y,R),C.set(J,O-J.length+1),I=h.fromArray(s,W,I);let j,Z;for(m=J.length-3,p=0;p<m;p+=3)j=n.geodeticSurfaceNormal(h.fromArray(Y,p,sy),sy),Z=n.geodeticSurfaceNormal(h.fromArray(J,m-p,wA),wA),w=h.normalize(h.add(j,Z,w),w),Rd(D,w,I,R,O,t),N=R/3,E=N+1,M=(O-2)/3,_=M-1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=E,R+=3,O-=3;for(j=n.geodeticSurfaceNormal(h.fromArray(Y,m,sy),sy),Z=n.geodeticSurfaceNormal(h.fromArray(J,m,wA),wA),w=h.normalize(h.add(j,Z,w),w),W+=3,p=0;p<o.length;p++){let Q;u=o[p];let he=u.leftPositions,ye=u.rightPositions,re,_e,xe=Ile,Ie=u3,De=f3;if(w=h.fromArray(a,W,w),l(he)){for(Rd(D,w,I,void 0,O,t),O-=3,re=E,_e=_,Q=0;Q<he.length/3;Q++)xe=h.fromArray(he,Q*3,xe),V[G++]=re,V[G++]=_e-Q-1,V[G++]=_e-Q,zi.addAttribute(C,xe,void 0,O),Ie=h.fromArray(C,(_e-Q-1)*3,Ie),De=h.fromArray(C,re*3,De),I=h.normalize(h.subtract(Ie,De,I),I),Rd(D,w,I,void 0,O,t),O-=3;xe=h.fromArray(C,re*3,xe),Ie=h.subtract(h.fromArray(C,_e*3,Ie),xe,Ie),De=h.subtract(h.fromArray(C,(_e-Q)*3,De),xe,De),I=h.normalize(h.add(Ie,De,I),I),Rd(D,w,I,R,void 0,t),R+=3}else{for(Rd(D,w,I,R,void 0,t),R+=3,re=_,_e=E,Q=0;Q<ye.length/3;Q++)xe=h.fromArray(ye,Q*3,xe),V[G++]=re,V[G++]=_e+Q,V[G++]=_e+Q+1,zi.addAttribute(C,xe,R),Ie=h.fromArray(C,re*3,Ie),De=h.fromArray(C,(_e+Q)*3,De),I=h.normalize(h.subtract(Ie,De,I),I),Rd(D,w,I,R,void 0,t),R+=3;xe=h.fromArray(C,re*3,xe),Ie=h.subtract(h.fromArray(C,(_e+Q)*3,Ie),xe,Ie),De=h.subtract(h.fromArray(C,_e*3,De),xe,De),I=h.normalize(h.negate(h.add(De,Ie,I),I),I),Rd(D,w,I,void 0,O,t),O-=3}for(Y=i[k++],J=i[k++],Y.splice(0,3),J.splice(J.length-3,3),C.set(Y,R),C.set(J,O-J.length+1),m=J.length-3,W+=3,I=h.fromArray(s,W,I),Q=0;Q<J.length;Q+=3)j=n.geodeticSurfaceNormal(h.fromArray(Y,Q,sy),sy),Z=n.geodeticSurfaceNormal(h.fromArray(J,m-Q,wA),wA),w=h.normalize(h.add(j,Z,w),w),Rd(D,w,I,R,O,t),E=R/3,N=E-1,_=(O-2)/3,M=_+1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=E,R+=3,O-=3;R-=3,O+=3}if(w=h.fromArray(a,a.length-3,w),Rd(D,w,I,R,O,t),x){R+=3,O-=3,B=u3,L=f3;let Q=r[1];for(p=0;p<H;p++)B=h.fromArray(Q,(b-p-1)*3,B),L=h.fromArray(Q,p*3,L),zi.addAttribute(C,B,void 0,O),zi.addAttribute(C,L,R),Rd(D,w,I,R,O,t),E=R/3,N=E-1,_=(O-2)/3,M=_+1,V[G++]=M,V[G++]=N,V[G++]=_,V[G++]=_,V[G++]=N,V[G++]=E,R+=3,O-=3}if(c.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:C}),t.st){let Q=new Float32Array(T/3*2),he,ye,re=0;if(x){f/=3,d/=3;let _e=Math.PI/(b+1);ye=1/(f-b+1),he=1/(d-b+1);let xe,Ie=b/2;for(p=Ie+1;p<b+1;p++)xe=P.PI_OVER_TWO+_e*p,Q[re++]=he*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe));for(p=1;p<d-b+1;p++)Q[re++]=p*he,Q[re++]=0;for(p=b;p>Ie;p--)xe=P.PI_OVER_TWO-p*_e,Q[re++]=1-he*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe));for(p=Ie;p>0;p--)xe=P.PI_OVER_TWO-_e*p,Q[re++]=1-ye*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe));for(p=f-b;p>0;p--)Q[re++]=p*ye,Q[re++]=1;for(p=1;p<Ie+1;p++)xe=P.PI_OVER_TWO+_e*p,Q[re++]=ye*(1+Math.cos(xe)),Q[re++]=.5*(1+Math.sin(xe))}else{for(f/=3,d/=3,ye=1/(f-1),he=1/(d-1),p=0;p<d;p++)Q[re++]=p*he,Q[re++]=0;for(p=f;p>0;p--)Q[re++]=(p-1)*ye,Q[re++]=1}c.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:Q})}return t.normal&&(c.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.normals})),t.tangent&&(c.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.tangents})),t.bitangent&&(c.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:D.bitangents})),{attributes:c,indices:V}}function NXe(e,t){if(!t.normal&&!t.tangent&&!t.bitangent&&!t.st)return e;let n=e.position.values,i,o;(t.normal||t.bitangent)&&(i=e.normal.values,o=e.bitangent.values);let r=e.position.values.length/18,s=r*3,a=r*2,c=s*2,u;if(t.normal||t.bitangent||t.tangent){let f=t.normal?new Float32Array(s*6):void 0,d=t.tangent?new Float32Array(s*6):void 0,p=t.bitangent?new Float32Array(s*6):void 0,g=wle,m=Dle,x=u3,b=f3,T=LXe,C=Ile,A=c;for(u=0;u<s;u+=3){let S=A+c;g=h.fromArray(n,u,g),m=h.fromArray(n,u+s,m),x=h.fromArray(n,(u+3)%s,x),m=h.subtract(m,g,m),x=h.subtract(x,g,x),b=h.normalize(h.cross(m,x,b),b),t.normal&&(zi.addAttribute(f,b,S),zi.addAttribute(f,b,S+3),zi.addAttribute(f,b,A),zi.addAttribute(f,b,A+3)),(t.tangent||t.bitangent)&&(C=h.fromArray(i,u,C),t.bitangent&&(zi.addAttribute(p,C,S),zi.addAttribute(p,C,S+3),zi.addAttribute(p,C,A),zi.addAttribute(p,C,A+3)),t.tangent&&(T=h.normalize(h.cross(C,b,T),T),zi.addAttribute(d,T,S),zi.addAttribute(d,T,S+3),zi.addAttribute(d,T,A),zi.addAttribute(d,T,A+3))),A+=6}if(t.normal){for(f.set(i),u=0;u<s;u+=3)f[u+s]=-i[u],f[u+s+1]=-i[u+1],f[u+s+2]=-i[u+2];e.normal.values=f}else e.normal=void 0;if(t.bitangent?(p.set(o),p.set(o,s),e.bitangent.values=p):e.bitangent=void 0,t.tangent){let S=e.tangent.values;d.set(S),d.set(S,s),e.tangent.values=d}}if(t.st){let f=e.st.values,d=new Float32Array(a*6);d.set(f),d.set(f,a);let p=a*2;for(let g=0;g<2;g++){for(d[p++]=f[0],d[p++]=f[1],u=2;u<a;u+=2){let m=f[u],x=f[u+1];d[p++]=m,d[p++]=x,d[p++]=m,d[p++]=x}d[p++]=f[0],d[p++]=f[1]}e.st.values=d}return e}function Bj(e,t,n){n[t++]=e[0],n[t++]=e[1],n[t++]=e[2];for(let i=3;i<e.length;i+=3){let o=e[i],r=e[i+1],s=e[i+2];n[t++]=o,n[t++]=r,n[t++]=s,n[t++]=o,n[t++]=r,n[t++]=s}return n[t++]=e[0],n[t++]=e[1],n[t++]=e[2],n}function FXe(e,t){let n=new Pe({position:t.position,normal:t.normal||t.bitangent||e.shadowVolume,tangent:t.tangent,bitangent:t.normal||t.bitangent,st:t.st}),i=e.ellipsoid,o=zi.computePositions(e),r=Ole(o,n,i),s=e.height,a=e.extrudedHeight,c=r.attributes,u=r.indices,f=c.position.values,d=f.length,p=new Float64Array(d*6),g=new Float64Array(d);g.set(f);let m=new Float64Array(d*4);f=ui.scaleToGeodeticHeight(f,s,i),m=Bj(f,0,m),g=ui.scaleToGeodeticHeight(g,a,i),m=Bj(g,d*2,m),p.set(f),p.set(g,d),p.set(m,d*2),c.position.values=p,c=NXe(c,t);let x,b=d/3;if(e.shadowVolume){let M=c.normal.values;d=M.length;let N=new Float32Array(d*6);for(x=0;x<d;x++)M[x]=-M[x];N.set(M,d),N=Bj(M,d*4,N),c.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:N}),t.normal||(c.normal=void 0)}if(l(e.offsetAttribute)){let M=new Uint8Array(b*6);if(e.offsetAttribute===cn.TOP)M=M.fill(1,0,b).fill(1,b*2,b*4);else{let N=e.offsetAttribute===cn.NONE?0:1;M=M.fill(N)}c.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:M})}let T=u.length,C=b+b,A=ke.createTypedArray(p.length/3,T*2+C*3);A.set(u);let S=T;for(x=0;x<T;x+=3){let M=u[x],N=u[x+1],_=u[x+2];A[S++]=_+b,A[S++]=N+b,A[S++]=M+b}let v,D,R,O;for(x=0;x<C;x+=2)v=x+C,D=v+C,R=v+1,O=D+1,A[S++]=v,A[S++]=D,A[S++]=R,A[S++]=R,A[S++]=D,A[S++]=O;return{attributes:c,indices:A}}var Sle=new h,gD=new h,Df=new fe;function vle(e,t,n,i,o,r){let s=h.subtract(t,e,Sle);h.normalize(s,s);let a=n.geodeticSurfaceNormal(e,gD),c=h.cross(s,a,Sle);h.multiplyByScalar(c,i,c);let u=o.latitude,f=o.longitude,d=r.latitude,p=r.longitude;h.add(e,c,gD),n.cartesianToCartographic(gD,Df);let g=Df.latitude,m=Df.longitude;u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),h.subtract(e,c,gD),n.cartesianToCartographic(gD,Df),g=Df.latitude,m=Df.longitude,u=Math.min(u,g),f=Math.min(f,m),d=Math.max(d,g),p=Math.max(p,m),o.latitude=u,o.longitude=f,r.latitude=d,r.longitude=p}var wf=new h,yD=new h,Al=new fe,El=new fe;function Rle(e,t,n,i,o){e=Ple(e,t);let r=bo(e,h.equalsEpsilon),s=r.length;if(s<2||n<=0)return new ae;let a=n*.5;Al.latitude=Number.POSITIVE_INFINITY,Al.longitude=Number.POSITIVE_INFINITY,El.latitude=Number.NEGATIVE_INFINITY,El.longitude=Number.NEGATIVE_INFINITY;let c,u;if(i===Ni.ROUNDED){let p=r[0];h.subtract(p,r[1],wf),h.normalize(wf,wf),h.multiplyByScalar(wf,a,wf),h.add(p,wf,yD),t.cartesianToCartographic(yD,Df),c=Df.latitude,u=Df.longitude,Al.latitude=Math.min(Al.latitude,c),Al.longitude=Math.min(Al.longitude,u),El.latitude=Math.max(El.latitude,c),El.longitude=Math.max(El.longitude,u)}for(let p=0;p<s-1;++p)vle(r[p],r[p+1],t,a,Al,El);let f=r[s-1];h.subtract(f,r[s-2],wf),h.normalize(wf,wf),h.multiplyByScalar(wf,a,wf),h.add(f,wf,yD),vle(f,yD,t,a,Al,El),i===Ni.ROUNDED&&(t.cartesianToCartographic(yD,Df),c=Df.latitude,u=Df.longitude,Al.latitude=Math.min(Al.latitude,c),Al.longitude=Math.min(Al.longitude,u),El.latitude=Math.max(El.latitude,c),El.longitude=Math.max(El.longitude,u));let d=l(o)?o:new ae;return d.north=El.latitude,d.south=Al.latitude,d.east=El.longitude,d.west=Al.longitude,d}function Jp(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createCorridorGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this.packedLength=1+t.length*h.packedLength+ee.packedLength+Pe.packedLength+7}Jp.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var Mle=ee.clone(ee.UNIT_SPHERE),Lle=new Pe,Qp={positions:void 0,ellipsoid:Mle,vertexFormat:Lle,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,shadowVolume:void 0,offsetAttribute:void 0};Jp.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let m=0;m<i;++m,t+=h.packedLength)o[m]=h.unpack(e,t);let r=ee.unpack(e,t,Mle);t+=ee.packedLength;let s=Pe.unpack(e,t,Lle);t+=Pe.packedLength;let a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++]===1,g=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._vertexFormat=Pe.clone(s,n._vertexFormat),n._width=a,n._height=c,n._extrudedHeight=u,n._cornerType=f,n._granularity=d,n._shadowVolume=p,n._offsetAttribute=g===-1?void 0:g,n):(Qp.positions=o,Qp.width=a,Qp.height=c,Qp.extrudedHeight=u,Qp.cornerType=f,Qp.granularity=d,Qp.shadowVolume=p,Qp.offsetAttribute=g===-1?void 0:g,new Jp(Qp))};Jp.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.positions,i=e.width,o=y(e.ellipsoid,ee.default),r=y(e.cornerType,Ni.ROUNDED);return Rle(n,o,i,r,t)};Jp.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=Ple(t,i);let o=bo(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c=e._vertexFormat,u={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!0},f;if(a)u.height=r,u.extrudedHeight=s,u.shadowVolume=e._shadowVolume,u.offsetAttribute=e._offsetAttribute,f=FXe(u,c);else{let g=zi.computePositions(u);if(f=Ole(g,c,i),f.attributes.position.values=ui.scaleToGeodeticHeight(f.attributes.position.values,r,i),l(e._offsetAttribute)){let m=e._offsetAttribute===cn.NONE?0:1,x=f.attributes.position.values.length,b=new Uint8Array(x/3).fill(m);f.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}}let d=f.attributes,p=ce.fromVertices(d.position.values,void 0,3);return c.position||(f.attributes.position.values=void 0),new ft({attributes:d,indices:f.indices,primitiveType:Fe.TRIANGLES,boundingSphere:p,offsetAttribute:e._offsetAttribute})};Jp.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new Jp({positions:e._positions,width:e._width,cornerType:e._cornerType,ellipsoid:o,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(Jp.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=Rle(this._positions,this._ellipsoid,this._width,this._cornerType)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return[0,0,0,1,1,0]}}});var DA=Jp;var Nle=new h,Fle=new h,BXe=new h;function kXe(e,t){for(let n=0;n<e.length;n++)e[n]=t.scaleToGeodeticSurface(e[n],e[n]);return e}function Ble(e,t){let n=[],i=e.positions,o=e.corners,r=e.endPositions,s=new mn,a,c=0,u=0,f,d=0,p;for(f=0;f<i.length;f+=2)p=i[f].length-3,c+=p,d+=p/3*4,u+=i[f+1].length-3;for(c+=3,u+=3,f=0;f<o.length;f++){a=o[f];let L=o[f].leftPositions;l(L)?(p=L.length,c+=p,d+=p/3*2):(p=o[f].rightPositions.length,u+=p,d+=p/3*2)}let g=l(r),m;g&&(m=r[0].length-3,c+=m,u+=m,m/=3,d+=m*4);let x=c+u,b=new Float64Array(x),T=0,C=x-1,A,S,v,D,R,O,M=m/2,N=ke.createTypedArray(x/3,d+4),_=0;if(N[_++]=T/3,N[_++]=(C-2)/3,g){n.push(T/3),O=Nle,R=Fle;let L=r[0];for(f=0;f<M;f++)O=h.fromArray(L,(M-1-f)*3,O),R=h.fromArray(L,(M+f)*3,R),zi.addAttribute(b,R,T),zi.addAttribute(b,O,void 0,C),S=T/3,D=S+1,A=(C-2)/3,v=A-1,N[_++]=A,N[_++]=v,N[_++]=S,N[_++]=D,T+=3,C-=3}let E=0,w=i[E++],I=i[E++];for(b.set(w,T),b.set(I,C-I.length+1),p=I.length-3,n.push(T/3,(C-2)/3),f=0;f<p;f+=3)S=T/3,D=S+1,A=(C-2)/3,v=A-1,N[_++]=A,N[_++]=v,N[_++]=S,N[_++]=D,T+=3,C-=3;for(f=0;f<o.length;f++){let L;a=o[f];let B=a.leftPositions,H=a.rightPositions,V,G=BXe;if(l(B)){for(C-=3,V=v,n.push(D),L=0;L<B.length/3;L++)G=h.fromArray(B,L*3,G),N[_++]=V-L-1,N[_++]=V-L,zi.addAttribute(b,G,void 0,C),C-=3;n.push(V-Math.floor(B.length/6)),t===Ni.BEVELED&&n.push((C-2)/3+1),T+=3}else{for(T+=3,V=D,n.push(v),L=0;L<H.length/3;L++)G=h.fromArray(H,L*3,G),N[_++]=V+L,N[_++]=V+L+1,zi.addAttribute(b,G,T),T+=3;n.push(V+Math.floor(H.length/6)),t===Ni.BEVELED&&n.push(T/3-1),C-=3}for(w=i[E++],I=i[E++],w.splice(0,3),I.splice(I.length-3,3),b.set(w,T),b.set(I,C-I.length+1),p=I.length-3,L=0;L<I.length;L+=3)D=T/3,S=D-1,v=(C-2)/3,A=v+1,N[_++]=A,N[_++]=v,N[_++]=S,N[_++]=D,T+=3,C-=3;T-=3,C+=3,n.push(T/3,(C-2)/3)}if(g){T+=3,C-=3,O=Nle,R=Fle;let L=r[1];for(f=0;f<M;f++)O=h.fromArray(L,(m-f-1)*3,O),R=h.fromArray(L,f*3,R),zi.addAttribute(b,O,void 0,C),zi.addAttribute(b,R,T),D=T/3,S=D-1,v=(C-2)/3,A=v+1,N[_++]=A,N[_++]=v,N[_++]=S,N[_++]=D,T+=3,C-=3;n.push(T/3)}else n.push(T/3,(C-2)/3);return N[_++]=T/3,N[_++]=(C-2)/3,s.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),{attributes:s,indices:N,wallIndices:n}}function VXe(e){let t=e.ellipsoid,n=zi.computePositions(e),i=Ble(n,e.cornerType),o=i.wallIndices,r=e.height,s=e.extrudedHeight,a=i.attributes,c=i.indices,u=a.position.values,f=u.length,d=new Float64Array(f);d.set(u);let p=new Float64Array(f*2);if(u=ui.scaleToGeodeticHeight(u,r,t),d=ui.scaleToGeodeticHeight(d,s,t),p.set(u),p.set(d,f),a.position.values=p,f/=3,l(e.offsetAttribute)){let A=new Uint8Array(f*2);if(e.offsetAttribute===cn.TOP)A=A.fill(1,0,f);else{let S=e.offsetAttribute===cn.NONE?0:1;A=A.fill(S)}a.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:A})}let g,m=c.length,x=ke.createTypedArray(p.length/3,(m+o.length)*2);x.set(c);let b=m;for(g=0;g<m;g+=2){let A=c[g],S=c[g+1];x[b++]=A+f,x[b++]=S+f}let T,C;for(g=0;g<o.length;g++)T=o[g],C=T+f,x[b++]=T,x[b++]=C;return{attributes:a,indices:x}}function xD(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.width,i=y(e.height,0),o=y(e.extrudedHeight,i);this._positions=t,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._width=n,this._height=Math.max(i,o),this._extrudedHeight=Math.min(i,o),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._offsetAttribute=e.offsetAttribute,this._workerName="createCorridorOutlineGeometry",this.packedLength=1+t.length*h.packedLength+ee.packedLength+6}xD.pack=function(e,t,n){n=y(n,0);let i=e._positions,o=i.length;t[n++]=o;for(let r=0;r<o;++r,n+=h.packedLength)h.pack(i[r],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._width,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._cornerType,t[n++]=e._granularity,t[n]=y(e._offsetAttribute,-1),t};var kle=ee.clone(ee.UNIT_SPHERE),ay={positions:void 0,ellipsoid:kle,width:void 0,height:void 0,extrudedHeight:void 0,cornerType:void 0,granularity:void 0,offsetAttribute:void 0};xD.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=new Array(i);for(let p=0;p<i;++p,t+=h.packedLength)o[p]=h.unpack(e,t);let r=ee.unpack(e,t,kle);t+=ee.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t];return l(n)?(n._positions=o,n._ellipsoid=ee.clone(r,n._ellipsoid),n._width=s,n._height=a,n._extrudedHeight=c,n._cornerType=u,n._granularity=f,n._offsetAttribute=d===-1?void 0:d,n):(ay.positions=o,ay.width=s,ay.height=a,ay.extrudedHeight=c,ay.cornerType=u,ay.granularity=f,ay.offsetAttribute=d===-1?void 0:d,new xD(ay))};xD.createGeometry=function(e){let t=e._positions,n=e._width,i=e._ellipsoid;t=kXe(t,i);let o=bo(t,h.equalsEpsilon);if(o.length<2||n<=0)return;let r=e._height,s=e._extrudedHeight,a=!P.equalsEpsilon(r,s,0,P.EPSILON2),c={ellipsoid:i,positions:o,width:n,cornerType:e._cornerType,granularity:e._granularity,saveAttributes:!1},u;if(a)c.height=r,c.extrudedHeight=s,c.offsetAttribute=e._offsetAttribute,u=VXe(c);else{let p=zi.computePositions(c);if(u=Ble(p,c.cornerType),u.attributes.position.values=ui.scaleToGeodeticHeight(u.attributes.position.values,r,i),l(e._offsetAttribute)){let g=u.attributes.position.values.length,m=e._offsetAttribute===cn.NONE?0:1,x=new Uint8Array(g/3).fill(m);u.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}}let f=u.attributes,d=ce.fromVertices(f.position.values,void 0,3);return new ft({attributes:f,indices:u.indices,primitiveType:Fe.LINES,boundingSphere:d,offsetAttribute:e._offsetAttribute})};var d3=xD;var UXe=new $n(0);function Gc(e){ci.call(this,e),this._zIndex=0,this._terrainOffsetProperty=void 0}l(Object.create)&&(Gc.prototype=Object.create(ci.prototype),Gc.prototype.constructor=Gc);Object.defineProperties(Gc.prototype,{zIndex:{get:function(){return this._zIndex}},terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});Gc.prototype._isOnTerrain=function(e,t){return this._fillEnabled&&!l(t.height)&&!l(t.extrudedHeight)&&hl.isSupported(this._scene)};Gc.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight;return t===0||l(n)&&n!==t};Gc.prototype._computeCenter=de.throwInstantiationError;Gc.prototype._onEntityPropertyChanged=function(e,t,n,i){if(ci.prototype._onEntityPropertyChanged.call(this,e,t,n,i),this._observedPropertyNames.indexOf(t)===-1)return;let o=this._entity[this._geometryPropertyName];if(!l(o))return;l(o.zIndex)&&(l(o.height)||l(o.extrudedHeight))&&Tt(Tt.geometryZIndex),this._zIndex=y(o.zIndex,UXe),l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0);let r=o.heightReference,s=o.extrudedHeightReference;if(l(r)||l(s)){let a=new Bh(this._computeCenter.bind(this),!this._dynamic);this._terrainOffsetProperty=new fC(this._scene,a,r,s)}};Gc.prototype.destroy=function(){l(this._terrainOffsetProperty)&&(this._terrainOffsetProperty.destroy(),this._terrainOffsetProperty=void 0),ci.prototype.destroy.call(this)};Gc.getGeometryHeight=function(e,t){if(!l(e)){t!==Xe.NONE&&Tt(Tt.geometryHeightReference);return}return Qu(t)?0:e};Gc.getGeometryExtrudedHeight=function(e,t){if(!l(e)){t!==Xe.NONE&&Tt(Tt.geometryExtrudedHeightReference);return}return Qu(t)?Gc.CLAMP_TO_GROUND:e};Gc.CLAMP_TO_GROUND="clamp";Gc.computeGeometryOffsetAttribute=function(e,t,n,i){(!l(e)||!l(t))&&(t=Xe.NONE),(!l(n)||!l(i))&&(i=Xe.NONE);let o=0;if(t!==Xe.NONE&&o++,i===Xe.RELATIVE_TO_GROUND&&o++,o===2)return cn.ALL;if(o===1)return cn.TOP};var jn=Gc;var Vle=new z,Ule=h.ZERO,zle=new h,Hle=new ae;function zXe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.cornerType=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.offsetAttribute=void 0}function Md(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new zXe(e),geometryPropertyName:"corridor",observedPropertyNames:["availability","corridor"]}),this._onEntityPropertyChanged(e,"corridor",e.corridor,void 0)}l(Object.create)&&(Md.prototype=Object.create(jn.prototype),Md.prototype.constructor=Md);Md.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Vle)),l(o)||(o=z.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Ule,zle))),new wt({id:t,geometry:new DA(this._options),attributes:i})};Md.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Vle),o={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0};return l(this._options.offsetAttribute)&&(o.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Ule,zle))),new wt({id:t,geometry:new d3(this._options),attributes:o})};Md.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.corridor.positions,e);if(!(!l(n)||n.length===0))return h.clone(n[Math.floor(n.length/2)],t)};Md.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.width)||ci.prototype._isHidden.call(this,e,t)};Md.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.width)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};Md.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,Ge.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,Ge.MINIMUM_VALUE,Xe.NONE),o=q.getValueOrUndefined(t.extrudedHeight,Ge.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,Ge.MINIMUM_VALUE,Xe.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(Ge.MINIMUM_VALUE,s.positions),s.width=t.width.getValue(Ge.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,Ge.MINIMUM_VALUE),s.cornerType=q.getValueOrUndefined(t.cornerType,Ge.MINIMUM_VALUE),s.offsetAttribute=jn.computeGeometryOffsetAttribute(n,i,o,r),s.height=jn.getGeometryHeight(n,i),o=jn.getGeometryExtrudedHeight(o,r),o===jn.CLAMP_TO_GROUND&&(o=hi.getMinimumMaximumHeights(DA.computeRectangle(s,Hle)).minimumTerrainHeight),s.extrudedHeight=o};Md.DynamicGeometryUpdater=IA;function IA(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(IA.prototype=Object.create(ai.prototype),IA.prototype.constructor=IA);IA.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.positions)||!l(i.width)||ai.prototype._isHidden.call(this,e,t,n)};IA.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Xe.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,Xe.NONE);l(s)&&!l(o)&&(o=0),i.positions=q.getValueOrUndefined(t.positions,n),i.width=q.getValueOrUndefined(t.width,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=hi.getMinimumMaximumHeights(DA.computeRectangle(i,Hle)).minimumTerrainHeight),i.extrudedHeight=s};var h3=Md;function m3(){de.throwInstantiationError()}Object.defineProperties(m3.prototype,{name:{get:de.throwInstantiationError},clock:{get:de.throwInstantiationError},entities:{get:de.throwInstantiationError},isLoading:{get:de.throwInstantiationError},changedEvent:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},loadingEvent:{get:de.throwInstantiationError},show:{get:de.throwInstantiationError},clustering:{get:de.throwInstantiationError}});m3.prototype.update=function(e){de.throwInstantiationError()};m3.setLoading=function(e,t){e._isLoading!==t&&(t?e._entityCollection.suspendEvents():e._entityCollection.resumeEvents(),e._isLoading=t,e._loading.raiseEvent(e,t))};var Zr=m3;function cm(e,t){this._ellipsoid=e,this._cameraPosition=new h,this._cameraPositionInScaledSpace=new h,this._distanceToLimbInScaledSpaceSquared=0,l(t)&&(this.cameraPosition=t)}Object.defineProperties(cm.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},cameraPosition:{get:function(){return this._cameraPosition},set:function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,this._cameraPositionInScaledSpace),i=h.magnitudeSquared(n)-1;h.clone(e,this._cameraPosition),this._cameraPositionInScaledSpace=n,this._distanceToLimbInScaledSpaceSquared=i}}});var Gle=new h;cm.prototype.isPointVisible=function(e){let n=this._ellipsoid.transformPositionToScaledSpace(e,Gle);return Vj(n,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};cm.prototype.isScaledSpacePointVisible=function(e){return Vj(e,this._cameraPositionInScaledSpace,this._distanceToLimbInScaledSpaceSquared)};var HXe=new h;cm.prototype.isScaledSpacePointVisiblePossiblyUnderEllipsoid=function(e,t){let n=this._ellipsoid,i,o;return l(t)&&t<0&&n.minimumRadius>-t?(o=HXe,o.x=this._cameraPosition.x/(n.radii.x+t),o.y=this._cameraPosition.y/(n.radii.y+t),o.z=this._cameraPosition.z/(n.radii.z+t),i=o.x*o.x+o.y*o.y+o.z*o.z-1):(o=this._cameraPositionInScaledSpace,i=this._distanceToLimbInScaledSpaceSquared),Vj(e,o,i)};cm.prototype.computeHorizonCullingPoint=function(e,t,n){return qle(this._ellipsoid,e,t,n)};var Wle=ee.clone(ee.UNIT_SPHERE);cm.prototype.computeHorizonCullingPointPossiblyUnderEllipsoid=function(e,t,n,i){let o=jle(this._ellipsoid,n,Wle);return qle(o,e,t,i)};cm.prototype.computeHorizonCullingPointFromVertices=function(e,t,n,i,o){return Yle(this._ellipsoid,e,t,n,i,o)};cm.prototype.computeHorizonCullingPointFromVerticesPossiblyUnderEllipsoid=function(e,t,n,i,o,r){let s=jle(this._ellipsoid,o,Wle);return Yle(s,e,t,n,i,r)};var GXe=[];cm.prototype.computeHorizonCullingPointFromRectangle=function(e,t,n){let i=ae.subsample(e,t,0,GXe),o=ce.fromPoints(i);if(!(h.magnitude(o.center)<.1*t.minimumRadius))return this.computeHorizonCullingPoint(o.center,i,n)};var WXe=new h;function jle(e,t,n){if(l(t)&&t<0&&e.minimumRadius>-t){let i=h.fromElements(e.radii.x+t,e.radii.y+t,e.radii.z+t,WXe);e=ee.fromCartesian3(i,n)}return e}function qle(e,t,n,i){l(i)||(i=new h);let o=Zle(e,t),r=0;for(let s=0,a=n.length;s<a;++s){let c=n[s],u=Xle(e,c,o);if(u<0)return;r=Math.max(r,u)}return Kle(o,r,i)}var p3=new h;function Yle(e,t,n,i,o,r){l(r)||(r=new h),i=y(i,3),o=y(o,h.ZERO);let s=Zle(e,t),a=0;for(let c=0,u=n.length;c<u;c+=i){p3.x=n[c]+o.x,p3.y=n[c+1]+o.y,p3.z=n[c+2]+o.z;let f=Xle(e,p3,s);if(f<0)return;a=Math.max(a,f)}return Kle(s,a,r)}function Vj(e,t,n){let i=t,o=n,r=h.subtract(e,i,Gle),s=-h.dot(r,i);return!(o<0?s>0:s>o&&s*s/h.magnitudeSquared(r)>o)}var jXe=new h,qXe=new h;function Xle(e,t,n){let i=e.transformPositionToScaledSpace(t,jXe),o=h.magnitudeSquared(i),r=Math.sqrt(o),s=h.divideByScalar(i,r,qXe);o=Math.max(1,o),r=Math.max(1,r);let a=h.dot(s,n),c=h.magnitude(h.cross(s,n,s)),u=1/r,f=Math.sqrt(o-1)*u;return 1/(a*u-c*f)}function Kle(e,t,n){if(!(t<=0||t===1/0||t!==t))return h.multiplyByScalar(e,t,n)}var kj=new h;function Zle(e,t){return h.equals(t,h.ZERO)?t:(e.transformPositionToScaledSpace(t,kj),h.normalize(kj,kj))}var cy=cm;function br(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.translucencyByDistance,i=e.scaleByDistance,o=e.distanceDisplayCondition;l(n)&&(n=kt.clone(n)),l(i)&&(i=kt.clone(i)),l(o)&&(o=Lt.clone(o)),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),this._actualPosition=h.clone(this._position),this._color=z.clone(y(e.color,z.WHITE)),this._outlineColor=z.clone(y(e.outlineColor,z.TRANSPARENT)),this._outlineWidth=y(e.outlineWidth,0),this._pixelSize=y(e.pixelSize,10),this._scaleByDistance=i,this._translucencyByDistance=n,this._distanceDisplayCondition=o,this._disableDepthTestDistance=y(e.disableDepthTestDistance,0),this._id=e.id,this._collection=y(e.collection,t),this._clusterShow=!0,this._pickId=void 0,this._pointPrimitiveCollection=t,this._dirty=!1,this._index=-1,this._splitDirection=y(e.splitDirection,jr.NONE)}var $le=br.SHOW_INDEX=0,eue=br.POSITION_INDEX=1,YXe=br.COLOR_INDEX=2,XXe=br.OUTLINE_COLOR_INDEX=3,KXe=br.OUTLINE_WIDTH_INDEX=4,ZXe=br.PIXEL_SIZE_INDEX=5,$Xe=br.SCALE_BY_DISTANCE_INDEX=6,QXe=br.TRANSLUCENCY_BY_DISTANCE_INDEX=7,JXe=br.DISTANCE_DISPLAY_CONDITION_INDEX=8,eKe=br.DISABLE_DEPTH_DISTANCE_INDEX=9,tKe=br.SPLIT_DIRECTION_INDEX=10;br.NUMBER_OF_PROPERTIES=11;function du(e,t){let n=e._pointPrimitiveCollection;l(n)&&(n._updatePointPrimitive(e,t),e._dirty=!0)}Object.defineProperties(br.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,du(this,$le))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),h.clone(e,this._actualPosition),du(this,eue))}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){let t=this._scaleByDistance;kt.equals(t,e)||(this._scaleByDistance=kt.clone(e,t),du(this,$Xe))}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){let t=this._translucencyByDistance;kt.equals(t,e)||(this._translucencyByDistance=kt.clone(e,t),du(this,QXe))}},pixelSize:{get:function(){return this._pixelSize},set:function(e){this._pixelSize!==e&&(this._pixelSize=e,du(this,ZXe))}},color:{get:function(){return this._color},set:function(e){let t=this._color;z.equals(t,e)||(z.clone(e,t),du(this,YXe))}},outlineColor:{get:function(){return this._outlineColor},set:function(e){let t=this._outlineColor;z.equals(t,e)||(z.clone(e,t),du(this,XXe))}},outlineWidth:{get:function(){return this._outlineWidth},set:function(e){this._outlineWidth!==e&&(this._outlineWidth=e,du(this,KXe))}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){Lt.equals(this._distanceDisplayCondition,e)||(this._distanceDisplayCondition=Lt.clone(e,this._distanceDisplayCondition),du(this,JXe))}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance!==e&&(this._disableDepthTestDistance=e,du(this,eKe))}},id:{get:function(){return this._id},set:function(e){this._id=e,l(this._pickId)&&(this._pickId.object.id=e)}},pickId:{get:function(){return this._pickId}},clusterShow:{get:function(){return this._clusterShow},set:function(e){this._clusterShow!==e&&(this._clusterShow=e,du(this,$le))}},splitDirection:{get:function(){return this._splitDirection},set:function(e){this._splitDirection!==e&&(this._splitDirection=e,du(this,tKe))}}});br.prototype.getPickId=function(e){return l(this._pickId)||(this._pickId=e.createPickId({primitive:this,collection:this._collection,id:this._id})),this._pickId};br.prototype._getActualPosition=function(){return this._actualPosition};br.prototype._setActualPosition=function(e){h.clone(e,this._actualPosition),du(this,eue)};var Qle=new oe;br._computeActualPosition=function(e,t,n){return t.mode===ne.SCENE3D?e:(F.multiplyByPoint(n,e,Qle),Ui.computeActualEllipsoidPosition(t,Qle))};var Jle=new oe;br._computeScreenSpacePosition=function(e,t,n,i){let o=F.multiplyByVector(e,oe.fromElements(t.x,t.y,t.z,1,Jle),Jle);return Ui.worldToWindowCoordinates(n,o,i)};br.prototype.computeScreenSpacePosition=function(e,t){let n=this._pointPrimitiveCollection;l(t)||(t=new U);let i=n.modelMatrix,o=br._computeScreenSpacePosition(i,this._actualPosition,e,t);if(l(o))return o.y=e.canvas.clientHeight-o.y,o};br.getScreenSpaceBoundingBox=function(e,t,n){let i=e.pixelSize,o=i*.5,r=t.x-o,s=t.y-o,a=i,c=i;return l(n)||(n=new Ye),n.x=r,n.y=s,n.width=a,n.height=c,n};br.prototype.equals=function(e){return this===e||l(e)&&this._id===e._id&&h.equals(this._position,e._position)&&z.equals(this._color,e._color)&&this._pixelSize===e._pixelSize&&this._outlineWidth===e._outlineWidth&&this._show===e._show&&z.equals(this._outlineColor,e._outlineColor)&&kt.equals(this._scaleByDistance,e._scaleByDistance)&&kt.equals(this._translucencyByDistance,e._translucencyByDistance)&&Lt.equals(this._distanceDisplayCondition,e._distanceDisplayCondition)&&this._disableDepthTestDistance===e._disableDepthTestDistance&&this._splitDirection===e._splitDirection};br.prototype._destroy=function(){this._pickId=this._pickId&&this._pickId.destroy(),this._pointPrimitiveCollection=void 0};var js=br;var qx=`in vec4 v_color; +in vec4 v_outlineColor; +in float v_innerPercent; +in float v_pixelDistance; +in vec4 v_pickColor; +in float v_splitDirection; - // Run the custom shader - czm_modelMaterial materialOutput; - fragmentMain(fragmentInput, materialOutput); - - // Sanitize the custom shader output - vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); - color.rgb = max(color.rgb, vec3(0.0)); - color.a = clamp(color.a, 0.0, 1.0); - - // Pre-multiplied alpha blend - colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); - - // Stop traversing if the alpha has been fully saturated - if (colorAccum.a > ALPHA_ACCUM_MAX) { - colorAccum.a = ALPHA_ACCUM_MAX; - break; - } - - if (step.w == 0.0) { - // Shape is infinitely thin. The ray may have hit the edge of a - // foreground voxel. Step ahead slightly to check for more voxels - step.w == 0.00001; - } +void main() +{ + if (v_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (v_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; - // Keep raymarching - currentT += step.w; - positionUv = viewPosUv + currentT * viewDirUv; + // The distance in UV space from this fragment to the center of the point, at most 0.5. + float distanceToCenter = length(gl_PointCoord - vec2(0.5)); + // The max distance stops one pixel shy of the edge to leave space for anti-aliasing. + float maxDistance = max(0.0, 0.5 - v_pixelDistance); + float wholeAlpha = 1.0 - smoothstep(maxDistance, 0.5, distanceToCenter); + float innerAlpha = 1.0 - smoothstep(maxDistance * v_innerPercent, 0.5 * v_innerPercent, distanceToCenter); - // Check if there's more intersections. - if (currentT > endT) { - #if (INTERSECTION_COUNT == 1) - break; - #else - shapeIntersection = nextIntersection(ix); - if (shapeIntersection.entry.w == NO_HIT) { - break; - } else { - // Found another intersection. Resume raymarching there - currentT = shapeIntersection.entry.w; - endT = shapeIntersection.exit.w; - positionUv = viewPosUv + currentT * viewDirUv; - } - #endif - } + vec4 color = mix(v_outlineColor, v_color, innerAlpha); + color.a *= wholeAlpha; - // Traverse the tree from the current ray position. - // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. - pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); - traverseOctreeFromExisting(pointJacobian.point, traversalData, sampleDatas); - step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); +// Fully transparent parts of the billboard are not pickable. +#if !defined(OPAQUE) && !defined(TRANSLUCENT) + if (color.a < 0.005) // matches 0/255 and 1/255 + { + discard; } +#else +// The billboard is rendered twice. The opaque pass discards translucent fragments +// and the translucent pass discards opaque fragments. +#ifdef OPAQUE + if (color.a < 0.995) // matches < 254/255 + { + discard; + } +#else + if (color.a >= 0.995) // matches 254/255 and 255/255 + { + discard; + } +#endif +#endif - // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] - colorAccum.a /= ALPHA_ACCUM_MAX; - - #if defined(PICKING) - // If alpha is 0.0 there is nothing to pick - if (colorAccum.a == 0.0) { - discard; - } - out_FragColor = u_pickColor; - #elif defined(PICKING_VOXEL) - // If alpha is 0.0 there is nothing to pick - if (colorAccum.a == 0.0) { - discard; - } - vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex); - vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv)); - out_FragColor = vec4(megatextureId, sampleIndex); - #else - out_FragColor = colorAccum; - #endif + out_FragColor = czm_gammaCorrect(color); + czm_writeLogDepth(); } -`;var tU=`in vec2 position; - -uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; +`;var _3=`uniform float u_maxTotalPointSize; -void main() { - vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; - vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; - vec2 translation = 0.5 * (aabbMax + aabbMin); - vec2 scale = 0.5 * (aabbMax - aabbMin); - gl_Position = vec4(position * scale + translation, 0.0, 1.0); -} -`;var nU=`/* Intersection defines -#define INTERSECTION_COUNT ### -*/ +in vec4 positionHighAndSize; +in vec4 positionLowAndOutline; +in vec4 compressedAttribute0; // color, outlineColor, pick color +in vec4 compressedAttribute1; // show, translucency by distance, some free space +in vec4 scaleByDistance; // near, nearScale, far, farScale +in vec4 distanceDisplayConditionAndDisableDepthAndSplitDirection; // near, far, disableDepthTestDistance, splitDirection -#define NO_HIT (-czm_infinity) -#define INF_HIT (czm_infinity * 0.5) +out vec4 v_color; +out vec4 v_outlineColor; +out float v_innerPercent; +out float v_pixelDistance; +out vec4 v_pickColor; +out float v_splitDirection; -struct RayShapeIntersection { - vec4 entry; - vec4 exit; -}; +const float SHIFT_LEFT8 = 256.0; +const float SHIFT_RIGHT8 = 1.0 / 256.0; -vec4 intersectionMin(in vec4 intersect0, in vec4 intersect1) +void main() { - if (intersect0.w == NO_HIT) { - return intersect1; - } else if (intersect1.w == NO_HIT) { - return intersect0; - } - return (intersect0.w <= intersect1.w) ? intersect0 : intersect1; -} + // Modifying this shader may also require modifications to PointPrimitive._computeScreenSpacePosition -vec4 intersectionMax(in vec4 intersect0, in vec4 intersect1) -{ - return (intersect0.w >= intersect1.w) ? intersect0 : intersect1; -} + // unpack attributes + vec3 positionHigh = positionHighAndSize.xyz; + vec3 positionLow = positionLowAndOutline.xyz; + float outlineWidthBothSides = 2.0 * positionLowAndOutline.w; + float totalSize = positionHighAndSize.w + outlineWidthBothSides; + float outlinePercent = outlineWidthBothSides / totalSize; + // Scale in response to browser-zoom. + totalSize *= czm_pixelRatio; -RayShapeIntersection intersectIntersections(in Ray ray, in RayShapeIntersection intersect0, in RayShapeIntersection intersect1) -{ - bool missed = (intersect0.entry.w == NO_HIT) || - (intersect1.entry.w == NO_HIT) || - (intersect0.exit.w < intersect1.entry.w) || - (intersect0.entry.w > intersect1.exit.w); - if (missed) { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - return RayShapeIntersection(miss, miss); - } + float temp = compressedAttribute1.x * SHIFT_RIGHT8; + float show = floor(temp); - vec4 entry = intersectionMax(intersect0.entry, intersect1.entry); - vec4 exit = intersectionMin(intersect0.exit, intersect1.exit); +#ifdef EYE_DISTANCE_TRANSLUCENCY + vec4 translucencyByDistance; + translucencyByDistance.x = compressedAttribute1.z; + translucencyByDistance.z = compressedAttribute1.w; - return RayShapeIntersection(entry, exit); -} + translucencyByDistance.y = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; -struct Intersections { - // Don't access these member variables directly - call the functions instead. + temp = compressedAttribute1.y * SHIFT_RIGHT8; + translucencyByDistance.w = ((temp - floor(temp)) * SHIFT_LEFT8) / 255.0; +#endif - // Store an array of ray-surface intersections. Each intersection is composed of: - // .xyz for the surface normal at the intersection point - // .w for the T value - // The scale of the normal encodes the shape intersection type: - // length(intersection.xyz) = 1: positive shape entry - // length(intersection.xyz) = 2: positive shape exit - // length(intersection.xyz) = 3: negative shape entry - // length(intersection.xyz) = 4: negative shape exit - // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, - // so we need twice as many to track ray-*surface* intersections - vec4 intersections[INTERSECTION_COUNT * 2]; + /////////////////////////////////////////////////////////////////////////// - #if (INTERSECTION_COUNT > 1) - // Maintain state for future nextIntersection calls - int index; - int surroundCount; - bool surroundIsPositive; - #endif -}; + vec4 color; + vec4 outlineColor; + vec4 pickColor; -RayShapeIntersection getFirstIntersection(in Intersections ix) -{ - return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); -} + // compressedAttribute0.z => pickColor.rgb -vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) -{ - float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; - return vec4(intersection.xyz * scale, intersection.w); -} + temp = compressedAttribute0.z * SHIFT_RIGHT8; + pickColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + pickColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor.r = floor(temp); -// Use defines instead of real functions because WebGL1 cannot access array with non-constant index. -#define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) -#define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) -#define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = encodeIntersectionType((intersection), int(!positive), (enter)) -#define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) + // compressedAttribute0.x => color.rgb -#if (INTERSECTION_COUNT > 1) -void initializeIntersections(inout Intersections ix) { - // Sort the intersections from min T to max T with bubble sort. - // Note: If this sorting function changes, some of the intersection test may - // need to be updated. Search for "bubble sort" to find those areas. - const int sortPasses = INTERSECTION_COUNT * 2 - 1; - for (int n = sortPasses; n > 0; --n) { - for (int i = 0; i < sortPasses; ++i) { - // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (i >= n) { break; } + temp = compressedAttribute0.x * SHIFT_RIGHT8; + color.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + color.g = (temp - floor(temp)) * SHIFT_LEFT8; + color.r = floor(temp); - vec4 intersect0 = ix.intersections[i + 0]; - vec4 intersect1 = ix.intersections[i + 1]; + // compressedAttribute0.y => outlineColor.rgb - bool inOrder = intersect0.w <= intersect1.w; + temp = compressedAttribute0.y * SHIFT_RIGHT8; + outlineColor.b = (temp - floor(temp)) * SHIFT_LEFT8; + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.g = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor.r = floor(temp); - ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; - ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; - } - } + // compressedAttribute0.w => color.a, outlineColor.a, pickColor.a - // Prepare initial state for nextIntersection - ix.index = 0; - ix.surroundCount = 0; - ix.surroundIsPositive = false; -} -#endif + temp = compressedAttribute0.w * SHIFT_RIGHT8; + pickColor.a = (temp - floor(temp)) * SHIFT_LEFT8; + pickColor = pickColor / 255.0; -#if (INTERSECTION_COUNT > 1) -RayShapeIntersection nextIntersection(inout Intersections ix) { - vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); - RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); + temp = floor(temp) * SHIFT_RIGHT8; + outlineColor.a = (temp - floor(temp)) * SHIFT_LEFT8; + outlineColor /= 255.0; + color.a = floor(temp); + color /= 255.0; - const int passCount = INTERSECTION_COUNT * 2; + /////////////////////////////////////////////////////////////////////////// - if (ix.index == passCount) { - return shapeIntersection; + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + + /////////////////////////////////////////////////////////////////////////// + +#if defined(EYE_DISTANCE_SCALING) || defined(EYE_DISTANCE_TRANSLUCENCY) || defined(DISTANCE_DISPLAY_CONDITION) || defined(DISABLE_DEPTH_DISTANCE) + float lengthSq; + if (czm_sceneMode == czm_sceneMode2D) + { + // 2D camera distance is a special case + // treat all billboards as flattened to the z=0.0 plane + lengthSq = czm_eyeHeight2D.y; + } + else + { + lengthSq = dot(positionEC.xyz, positionEC.xyz); } +#endif - for (int i = 0; i < passCount; ++i) { - // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to continue instead. - if (i < ix.index) { - continue; - } +#ifdef EYE_DISTANCE_SCALING + totalSize *= czm_nearFarScalar(scaleByDistance, lengthSq); +#endif + if (totalSize > 0.0) { + // Add padding for anti-aliasing on both sides. + totalSize += 3.0; + } - ix.index = i + 1; + // Clamp to max point size. + totalSize = min(totalSize, u_maxTotalPointSize); + // If size is too small, push vertex behind near plane for clipping. + // Note that context.minimumAliasedPointSize "will be at most 1.0". + if (totalSize < 1.0) + { + positionEC.xyz = vec3(0.0); + totalSize = 1.0; + } - surfaceIntersection = ix.intersections[i]; - int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); - bool currShapeIsPositive = intersectionType < 2; - bool enter = intMod(intersectionType, 2) == 0; + float translucency = 1.0; +#ifdef EYE_DISTANCE_TRANSLUCENCY + translucency = czm_nearFarScalar(translucencyByDistance, lengthSq); + // push vertex behind near plane for clipping + if (translucency < 0.004) + { + positionEC.xyz = vec3(0.0); + } +#endif - ix.surroundCount += enter ? +1 : -1; - ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; +#ifdef DISTANCE_DISPLAY_CONDITION + float nearSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.x; + float farSq = distanceDisplayConditionAndDisableDepthAndSplitDirection.y; + if (lengthSq < nearSq || lengthSq > farSq) { + // push vertex behind camera to force it to be clipped + positionEC.xyz = vec3(0.0, 0.0, 1.0); + } +#endif - // entering positive or exiting negative - if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { - shapeIntersection.entry = surfaceIntersection; - } + gl_Position = czm_projection * positionEC; + czm_vertexLogDepth(); - // exiting positive or entering negative after being inside positive - bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; - bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; - if (exitPositive || enterNegativeFromPositive) { - shapeIntersection.exit = surfaceIntersection; +#ifdef DISABLE_DEPTH_DISTANCE + float disableDepthTestDistance = distanceDisplayConditionAndDisableDepthAndSplitDirection.z; + if (disableDepthTestDistance == 0.0 && czm_minimumDisableDepthTestDistance != 0.0) + { + disableDepthTestDistance = czm_minimumDisableDepthTestDistance; + } - // entry and exit have been found, so the loop can stop - if (exitPositive) { - // After exiting positive shape there is nothing left to intersect, so jump to the end index. - ix.index = passCount; - } - break; + if (disableDepthTestDistance != 0.0) + { + // Don't try to "multiply both sides" by w. Greater/less-than comparisons won't work for negative values of w. + float zclip = gl_Position.z / gl_Position.w; + bool clipped = (zclip < -1.0 || zclip > 1.0); + if (!clipped && (disableDepthTestDistance < 0.0 || (lengthSq > 0.0 && lengthSq < disableDepthTestDistance))) + { + // Position z on the near plane. + gl_Position.z = -gl_Position.w; +#ifdef LOG_DEPTH + czm_vertexLogDepth(vec4(czm_currentFrustum.x)); +#endif } } +#endif - return shapeIntersection; + v_color = color; + v_color.a *= translucency * show; + v_outlineColor = outlineColor; + v_outlineColor.a *= translucency * show; + + v_innerPercent = 1.0 - outlinePercent; + v_pixelDistance = 2.0 / totalSize; + gl_PointSize = totalSize * show; + gl_Position *= show; + + v_pickColor = pickColor; + v_splitDirection = distanceDisplayConditionAndDisableDepthAndSplitDirection.w; } +`;var nKe=js.SHOW_INDEX,Hj=js.POSITION_INDEX,tue=js.COLOR_INDEX,iKe=js.OUTLINE_COLOR_INDEX,oKe=js.OUTLINE_WIDTH_INDEX,rKe=js.PIXEL_SIZE_INDEX,nue=js.SCALE_BY_DISTANCE_INDEX,iue=js.TRANSLUCENCY_BY_DISTANCE_INDEX,oue=js.DISTANCE_DISPLAY_CONDITION_INDEX,sKe=js.DISABLE_DEPTH_DISTANCE_INDEX,aKe=js.SPLIT_DIRECTION_INDEX,Gj=js.NUMBER_OF_PROPERTIES,ac={positionHighAndSize:0,positionLowAndOutline:1,compressedAttribute0:2,compressedAttribute1:3,scaleByDistance:4,distanceDisplayConditionAndDisableDepthAndSplitDirection:5};function If(e){e=y(e,y.EMPTY_OBJECT),this._sp=void 0,this._spTranslucent=void 0,this._rsOpaque=void 0,this._rsTranslucent=void 0,this._vaf=void 0,this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!1,this._shaderScaleByDistance=!1,this._compiledShaderScaleByDistance=!1,this._shaderTranslucencyByDistance=!1,this._compiledShaderTranslucencyByDistance=!1,this._shaderDistanceDisplayCondition=!1,this._compiledShaderDistanceDisplayCondition=!1,this._shaderDisableDepthDistance=!1,this._compiledShaderDisableDepthDistance=!1,this._propertiesChanged=new Uint32Array(Gj),this._maxPixelSize=1,this._baseVolume=new ce,this._baseVolumeWC=new ce,this._baseVolume2D=new ce,this._boundingVolume=new ce,this._boundingVolumeDirty=!1,this._colorCommands=[],this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=F.clone(F.IDENTITY),this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.blendOption=y(e.blendOption,Do.OPAQUE_AND_TRANSLUCENT),this._blendOption=void 0,this._mode=ne.SCENE3D,this._maxTotalPointSize=1,this._buffersUsage=[Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW,Ue.STATIC_DRAW];let t=this;this._uniforms={u_maxTotalPointSize:function(){return t._maxTotalPointSize}}}Object.defineProperties(If.prototype,{length:{get:function(){return Wj(this),this._pointPrimitives.length}}});function rue(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}If.prototype.add=function(e){let t=new js(e,this);return t._index=this._pointPrimitives.length,this._pointPrimitives.push(t),this._createVertexArray=!0,t};If.prototype.remove=function(e){return this.contains(e)?(this._pointPrimitives[e._index]=null,this._pointPrimitivesRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};If.prototype.removeAll=function(){rue(this._pointPrimitives),this._pointPrimitives=[],this._pointPrimitivesToUpdate=[],this._pointPrimitivesToUpdateIndex=0,this._pointPrimitivesRemoved=!1,this._createVertexArray=!0};function Wj(e){if(e._pointPrimitivesRemoved){e._pointPrimitivesRemoved=!1;let t=[],n=e._pointPrimitives,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];s&&(s._index=r++,t.push(s))}e._pointPrimitives=t}}If.prototype._updatePointPrimitive=function(e,t){e._dirty||(this._pointPrimitivesToUpdate[this._pointPrimitivesToUpdateIndex++]=e),++this._propertiesChanged[t]};If.prototype.contains=function(e){return l(e)&&e._pointPrimitiveCollection===this};If.prototype.get=function(e){return Wj(this),this._pointPrimitives[e]};If.prototype.computeNewBuffersUsage=function(){let e=this._buffersUsage,t=!1,n=this._propertiesChanged;for(let i=0;i<Gj;++i){let o=n[i]===0?Ue.STATIC_DRAW:Ue.STREAM_DRAW;t=t||e[i]!==o,e[i]=o}return t};function cKe(e,t,n){return new Y_(e,[{index:ac.positionHighAndSize,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Hj]},{index:ac.positionLowAndShow,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[Hj]},{index:ac.compressedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[tue]},{index:ac.compressedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[iue]},{index:ac.scaleByDistance,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[nue]},{index:ac.distanceDisplayConditionAndDisableDepthAndSplitDirection,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:n[oue]}],t)}var Uj=new Wn;function sue(e,t,n,i){let o=i._index,r=i._getActualPosition();e._mode===ne.SCENE3D&&(ce.expand(e._baseVolume,r,e._baseVolume),e._boundingVolumeDirty=!0),Wn.fromCartesian(r,Uj);let s=i.pixelSize,a=i.outlineWidth;e._maxPixelSize=Math.max(e._maxPixelSize,s+a);let c=n[ac.positionHighAndSize],u=Uj.high;c(o,u.x,u.y,u.z,s);let f=n[ac.positionLowAndOutline],d=Uj.low;f(o,d.x,d.y,d.z,a)}var g3=65536,bD=256;function aue(e,t,n,i){let o=i._index,r=i.color,s=i.getPickId(t).color,a=i.outlineColor,c=z.floatToByte(r.red),u=z.floatToByte(r.green),f=z.floatToByte(r.blue),d=c*g3+u*bD+f;c=z.floatToByte(a.red),u=z.floatToByte(a.green),f=z.floatToByte(a.blue);let p=c*g3+u*bD+f;c=z.floatToByte(s.red),u=z.floatToByte(s.green),f=z.floatToByte(s.blue);let g=c*g3+u*bD+f,m=z.floatToByte(r.alpha)*g3+z.floatToByte(a.alpha)*bD+z.floatToByte(s.alpha),x=n[ac.compressedAttribute0];x(o,d,p,g,m)}function cue(e,t,n,i){let o=i._index,r=0,s=1,a=1,c=1,u=i.translucencyByDistance;l(u)&&(r=u.near,s=u.nearValue,a=u.far,c=u.farValue,(s!==1||c!==1)&&(e._shaderTranslucencyByDistance=!0));let f=i.show&&i.clusterShow;i.color.alpha===0&&i.outlineColor.alpha===0&&(f=!1),s=P.clamp(s,0,1),s=s===1?255:s*255|0;let d=(f?1:0)*bD+s;c=P.clamp(c,0,1),c=c===1?255:c*255|0;let p=c,g=n[ac.compressedAttribute1];g(o,d,p,r,a)}function lue(e,t,n,i){let o=i._index,r=n[ac.scaleByDistance],s=0,a=1,c=1,u=1,f=i.scaleByDistance;l(f)&&(s=f.near,a=f.nearValue,c=f.far,u=f.farValue,(a!==1||u!==1)&&(e._shaderScaleByDistance=!0)),r(o,s,a,c,u)}function uue(e,t,n,i){let o=i._index,r=n[ac.distanceDisplayConditionAndDisableDepthAndSplitDirection],s=0,a=Number.MAX_VALUE,c=i.distanceDisplayCondition;l(c)&&(s=c.near,a=c.far,s*=s,a*=a,e._shaderDistanceDisplayCondition=!0);let u=i.disableDepthTestDistance;u*=u,u>0&&(e._shaderDisableDepthDistance=!0,u===Number.POSITIVE_INFINITY&&(u=-1));let f=0,d=i.splitDirection;l(d)&&(f=d),r(o,s,a,u,f)}function lKe(e,t,n,i){sue(e,t,n,i),aue(e,t,n,i),cue(e,t,n,i),lue(e,t,n,i),uue(e,t,n,i)}function zj(e,t,n,i,o,r){let s;i.mode===ne.SCENE3D?(s=e._baseVolume,e._boundingVolumeDirty=!0):s=e._baseVolume2D;let a=[];for(let c=0;c<n;++c){let u=t[c],f=u.position,d=js._computeActualPosition(f,i,o);l(d)&&(u._setActualPosition(d),r?a.push(d):ce.expand(s,d,s))}r&&ce.fromPoints(a,s)}function uKe(e,t){let n=t.mode,i=e._pointPrimitives,o=e._pointPrimitivesToUpdate,r=e._modelMatrix;e._createVertexArray||e._mode!==n||n!==ne.SCENE3D&&!F.equals(r,e.modelMatrix)?(e._mode=n,F.clone(e.modelMatrix,r),e._createVertexArray=!0,(n===ne.SCENE3D||n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&zj(e,i,i.length,t,r,!0)):n===ne.MORPHING?zj(e,i,i.length,t,r,!0):(n===ne.SCENE2D||n===ne.COLUMBUS_VIEW)&&zj(e,o,e._pointPrimitivesToUpdateIndex,t,r,!1)}function fKe(e,t,n){let o=t.camera.getPixelSize(n,t.context.drawingBufferWidth,t.context.drawingBufferHeight)*e._maxPixelSize;n.radius+=o}var dKe=[];If.prototype.update=function(e){if(Wj(this),!this.show)return;this._maxTotalPointSize=Bt.maximumAliasedPointSize,uKe(this,e);let n=this._pointPrimitives.length,i=this._pointPrimitivesToUpdate,o=this._pointPrimitivesToUpdateIndex,r=this._propertiesChanged,s=this._createVertexArray,a,c=e.context,u=e.passes,f=u.pick;if(s||!f&&this.computeNewBuffersUsage()){this._createVertexArray=!1;for(let v=0;v<Gj;++v)r[v]=0;if(this._vaf=this._vaf&&this._vaf.destroy(),n>0){this._vaf=cKe(c,n,this._buffersUsage),a=this._vaf.writers;for(let v=0;v<n;++v){let D=this._pointPrimitives[v];D._dirty=!1,lKe(this,c,a,D)}this._vaf.commit()}this._pointPrimitivesToUpdateIndex=0}else if(o>0){let v=dKe;v.length=0,(r[Hj]||r[oKe]||r[rKe])&&v.push(sue),(r[tue]||r[iKe])&&v.push(aue),(r[nKe]||r[iue])&&v.push(cue),r[nue]&&v.push(lue),(r[oue]||r[sKe]||r[aKe])&&v.push(uue);let D=v.length;if(a=this._vaf.writers,o/n>.1){for(let R=0;R<o;++R){let O=i[R];O._dirty=!1;for(let M=0;M<D;++M)v[M](this,c,a,O)}this._vaf.commit()}else{for(let R=0;R<o;++R){let O=i[R];O._dirty=!1;for(let M=0;M<D;++M)v[M](this,c,a,O);this._vaf.subCommit(O._index,1)}this._vaf.endSubCommits()}this._pointPrimitivesToUpdateIndex=0}if(o>n*1.5&&(i.length=n),!l(this._vaf)||!l(this._vaf.va))return;this._boundingVolumeDirty&&(this._boundingVolumeDirty=!1,ce.transform(this._baseVolume,this.modelMatrix,this._baseVolumeWC));let d,p=F.IDENTITY;e.mode===ne.SCENE3D?(p=this.modelMatrix,d=ce.clone(this._baseVolumeWC,this._boundingVolume)):d=ce.clone(this._baseVolume2D,this._boundingVolume),fKe(this,e,d);let g=this._blendOption!==this.blendOption;this._blendOption=this.blendOption,g&&(this._blendOption===Do.OPAQUE||this._blendOption===Do.OPAQUE_AND_TRANSLUCENT?this._rsOpaque=ze.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!0}):this._rsOpaque=void 0,this._blendOption===Do.TRANSLUCENT||this._blendOption===Do.OPAQUE_AND_TRANSLUCENT?this._rsTranslucent=ze.fromCache({depthTest:{enabled:!0,func:te.LEQUAL},depthMask:!1,blending:fn.ALPHA_BLEND}):this._rsTranslucent=void 0),this._shaderDisableDepthDistance=this._shaderDisableDepthDistance||e.minimumDisableDepthTestDistance!==0;let m,x;(g||this._shaderScaleByDistance&&!this._compiledShaderScaleByDistance||this._shaderTranslucencyByDistance&&!this._compiledShaderTranslucencyByDistance||this._shaderDistanceDisplayCondition&&!this._compiledShaderDistanceDisplayCondition||this._shaderDisableDepthDistance!==this._compiledShaderDisableDepthDistance)&&(m=new He({sources:[_3]}),this._shaderScaleByDistance&&m.defines.push("EYE_DISTANCE_SCALING"),this._shaderTranslucencyByDistance&&m.defines.push("EYE_DISTANCE_TRANSLUCENCY"),this._shaderDistanceDisplayCondition&&m.defines.push("DISTANCE_DISPLAY_CONDITION"),this._shaderDisableDepthDistance&&m.defines.push("DISABLE_DEPTH_DISTANCE"),this._blendOption===Do.OPAQUE_AND_TRANSLUCENT&&(x=new He({defines:["OPAQUE"],sources:[qx]}),this._sp=tn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:ac}),x=new He({defines:["TRANSLUCENT"],sources:[qx]}),this._spTranslucent=tn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:ac})),this._blendOption===Do.OPAQUE&&(x=new He({sources:[qx]}),this._sp=tn.replaceCache({context:c,shaderProgram:this._sp,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:ac})),this._blendOption===Do.TRANSLUCENT&&(x=new He({sources:[qx]}),this._spTranslucent=tn.replaceCache({context:c,shaderProgram:this._spTranslucent,vertexShaderSource:m,fragmentShaderSource:x,attributeLocations:ac})),this._compiledShaderScaleByDistance=this._shaderScaleByDistance,this._compiledShaderTranslucencyByDistance=this._shaderTranslucencyByDistance,this._compiledShaderDistanceDisplayCondition=this._shaderDistanceDisplayCondition,this._compiledShaderDisableDepthDistance=this._shaderDisableDepthDistance);let b,T,C,A,S=e.commandList;if(u.render||f){let v=this._colorCommands,D=this._blendOption===Do.OPAQUE,R=this._blendOption===Do.OPAQUE_AND_TRANSLUCENT;b=this._vaf.va,T=b.length,v.length=T;let O=R?T*2:T;for(A=0;A<O;++A){let M=D||R&&A%2===0;C=v[A],l(C)||(C=v[A]=new tt),C.primitiveType=Fe.POINTS,C.pass=M||!R?ve.OPAQUE:ve.TRANSLUCENT,C.owner=this;let N=R?Math.floor(A/2):A;C.boundingVolume=d,C.modelMatrix=p,C.shaderProgram=M?this._sp:this._spTranslucent,C.uniformMap=this._uniforms,C.vertexArray=b[N].va,C.renderState=M?this._rsOpaque:this._rsTranslucent,C.debugShowBoundingVolume=this.debugShowBoundingVolume,C.pickId="v_pickColor",S.push(C)}}};If.prototype.isDestroyed=function(){return!1};If.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._spTranslucent=this._spTranslucent&&this._spTranslucent.destroy(),this._spPick=this._spPick&&this._spPick.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),rue(this._pointPrimitives),ue(this)};var TD=If;function Ld(e){e=y(e,y.EMPTY_OBJECT),this._enabled=y(e.enabled,!1),this._pixelRange=y(e.pixelRange,80),this._minimumClusterSize=y(e.minimumClusterSize,2),this._clusterBillboards=y(e.clusterBillboards,!0),this._clusterLabels=y(e.clusterLabels,!0),this._clusterPoints=y(e.clusterPoints,!0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity={},this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._clusterDirty=!1,this._cluster=void 0,this._removeEventListener=void 0,this._clusterEvent=new me,this.show=y(e.show,!0)}function fue(e,t){e.x-=t,e.y-=t,e.width+=t*2,e.height+=t*2}var hKe=new Ye;function due(e,t,n,i,o){if(l(e._labelCollection)&&i._clusterLabels?o=Nx.getScreenSpaceBoundingBox(e,t,o):l(e._billboardCollection)&&i._clusterBillboards?o=fo.getScreenSpaceBoundingBox(e,t,o):l(e._pointPrimitiveCollection)&&i._clusterPoints&&(o=js.getScreenSpaceBoundingBox(e,t,o)),fue(o,n),i._clusterLabels&&!l(e._labelCollection)&&l(e.id)&&mue(i,e.id.id)&&l(e.id._label)){let r=i._collectionIndicesByEntity[e.id.id].labelIndex,s=i._labelCollection.get(r),a=Nx.getScreenSpaceBoundingBox(s,t,hKe);fue(a,n),o=Ye.union(o,a,o)}return o}function mKe(e,t){if(e.clusterShow=!0,!l(e._labelCollection)&&l(e.id)&&mue(t,e.id.id)&&l(e.id._label)){let n=t._collectionIndicesByEntity[e.id.id].labelIndex,i=t._labelCollection.get(n);i.clusterShow=!0}}function hue(e,t,n,i){let o={billboard:i._clusterBillboardCollection.add(),label:i._clusterLabelCollection.add(),point:i._clusterPointCollection.add()};o.billboard.show=!1,o.point.show=!1,o.label.show=!0,o.label.text=t.toLocaleString(),o.label.id=n,o.billboard.position=o.label.position=o.point.position=e,i._clusterEvent.raiseEvent(n,o)}function mue(e,t){return l(e)&&l(e._collectionIndicesByEntity[t])&&l(e._collectionIndicesByEntity[t].labelIndex)}function jj(e,t,n,i,o){if(!l(e))return;let r=e.length;for(let s=0;s<r;++s){let a=e.get(s);if(a.clusterShow=!1,!a.show||o._scene.mode===ne.SCENE3D&&!i.isPointVisible(a.position))continue;let c=o._clusterLabels&&l(a._labelCollection),u=o._clusterBillboards&&l(a.id._billboard),f=o._clusterPoints&&l(a.id._point);if(c&&(f||u))continue;let d=a.computeScreenSpacePosition(n);l(d)&&t.push({index:s,collection:e,clustered:!1,coord:d})}}var pKe=new Ye,_Ke=new Ye,gKe=new Ye;function yKe(e){return function(t){if(l(t)&&t<.05||!e.enabled)return;let n=e._scene,i=e._labelCollection,o=e._billboardCollection,r=e._pointCollection;if(!l(i)&&!l(o)&&!l(r)||!e._clusterBillboards&&!e._clusterLabels&&!e._clusterPoints)return;let s=e._clusterLabelCollection,a=e._clusterBillboardCollection,c=e._clusterPointCollection;l(s)?s.removeAll():s=e._clusterLabelCollection=new kp({scene:n}),l(a)?a.removeAll():a=e._clusterBillboardCollection=new yf({scene:n}),l(c)?c.removeAll():c=e._clusterPointCollection=new TD;let u=e._pixelRange,f=e._minimumClusterSize,d=e._previousClusters,p=[],g=e._previousHeight,m=n.camera.positionCartographic.height,x=n.ellipsoid,b=n.camera.positionWC,T=new cy(x,b),C=[];e._clusterLabels&&jj(i,C,n,T,e),e._clusterBillboards&&jj(o,C,n,T,e),e._clusterPoints&&jj(r,C,n,T,e);let A,S,v,D,R,O,M,N,_,E,w,I;if(C.length>0){let L=new q0(C.length,64,Uint32Array);for(let B=0;B<C.length;++B)L.add(C[B].coord.x,C[B].coord.y);if(L.finish(),m<g)for(v=d.length,A=0;A<v;++A){let B=d[A];if(!T.isPointVisible(B.position))continue;let H=fo._computeScreenSpacePosition(F.IDENTITY,B.position,h.ZERO,U.ZERO,n);if(!l(H))continue;let V=1-m/g,G=B.width=B.width*V,k=B.height=B.height*V;G=Math.max(G,B.minimumWidth),k=Math.max(k,B.minimumHeight);let W=H.x-G*.5,Y=H.y-k*.5,J=H.x+G,j=H.y+k;for(R=L.range(W,Y,J,j),O=R.length,E=0,_=[],S=0;S<O;++S)M=R[S],N=C[M],N.clustered||(++E,w=N.collection,I=N.index,_.push(w.get(I).id));if(E>=f)for(hue(B.position,E,_,e),p.push(B),S=0;S<O;++S)C[R[S]].clustered=!0}for(v=C.length,A=0;A<v;++A){let B=C[A];if(B.clustered)continue;B.clustered=!0,w=B.collection,I=B.index;let H=w.get(I);D=due(H,B.coord,u,e,pKe);let V=Ye.clone(D,_Ke);R=L.range(D.x,D.y,D.x+D.width,D.y+D.height),O=R.length;let G=h.clone(H.position);for(E=1,_=[H.id],S=0;S<O;++S)if(M=R[S],N=C[M],!N.clustered){let k=N.collection.get(N.index),W=due(k,N.coord,u,e,gKe);h.add(k.position,G,G),Ye.union(V,W,V),++E,_.push(k.id)}if(E>=f){let k=h.multiplyByScalar(G,1/E,G);for(hue(k,E,_,e),p.push({position:k,width:V.width,height:V.height,minimumWidth:D.width,minimumHeight:D.height}),S=0;S<O;++S)C[R[S]].clustered=!0}else mKe(H,e)}}s.length===0&&(s.destroy(),e._clusterLabelCollection=void 0),a.length===0&&(a.destroy(),e._clusterBillboardCollection=void 0),c.length===0&&(c.destroy(),e._clusterPointCollection=void 0),e._previousClusters=p,e._previousHeight=m}}Ld.prototype._initialize=function(e){this._scene=e;let t=yKe(this);this._cluster=t,this._removeEventListener=e.camera.changed.addEventListener(t)};Object.defineProperties(Ld.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabledDirty=e!==this._enabled,this._enabled=e}},pixelRange:{get:function(){return this._pixelRange},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._pixelRange,this._pixelRange=e}},minimumClusterSize:{get:function(){return this._minimumClusterSize},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._minimumClusterSize,this._minimumClusterSize=e}},clusterEvent:{get:function(){return this._clusterEvent}},clusterBillboards:{get:function(){return this._clusterBillboards},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterBillboards,this._clusterBillboards=e}},clusterLabels:{get:function(){return this._clusterLabels},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterLabels,this._clusterLabels=e}},clusterPoints:{get:function(){return this._clusterPoints},set:function(e){this._clusterDirty=this._clusterDirty||e!==this._clusterPoints,this._clusterPoints=e}}});function Yj(e,t,n,i){return function(o){let r=this[e];l(this._collectionIndicesByEntity)||(this._collectionIndicesByEntity={});let s=this._collectionIndicesByEntity[o.id];if(l(s)||(s=this._collectionIndicesByEntity[o.id]={billboardIndex:void 0,labelIndex:void 0,pointIndex:void 0}),l(r)&&l(s[i]))return r.get(s[i]);l(r)||(r=this[e]=new t({scene:this._scene}));let a,c,u=this[n];u.length>0?(a=u.shift(),c=r.get(a)):(c=r.add(),a=r.length-1),s[i]=a;let f=this;return Promise.resolve().then(function(){f._clusterDirty=!0}),c}}function Xj(e,t){let n=e._collectionIndicesByEntity[t];!l(n.billboardIndex)&&!l(n.labelIndex)&&!l(n.pointIndex)&&delete e._collectionIndicesByEntity[t]}Ld.prototype.getLabel=Yj("_labelCollection",kp,"_unusedLabelIndices","labelIndex");Ld.prototype.removeLabel=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._labelCollection)||!l(t)||!l(t.labelIndex))return;let n=t.labelIndex;t.labelIndex=void 0,Xj(this,e.id);let i=this._labelCollection.get(n);i.show=!1,i.text="",i.id=void 0,this._unusedLabelIndices.push(n),this._clusterDirty=!0};Ld.prototype.getBillboard=Yj("_billboardCollection",yf,"_unusedBillboardIndices","billboardIndex");Ld.prototype.removeBillboard=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._billboardCollection)||!l(t)||!l(t.billboardIndex))return;let n=t.billboardIndex;t.billboardIndex=void 0,Xj(this,e.id);let i=this._billboardCollection.get(n);i.id=void 0,i.show=!1,i.image=void 0,this._unusedBillboardIndices.push(n),this._clusterDirty=!0};Ld.prototype.getPoint=Yj("_pointCollection",TD,"_unusedPointIndices","pointIndex");Ld.prototype.removePoint=function(e){let t=this._collectionIndicesByEntity&&this._collectionIndicesByEntity[e.id];if(!l(this._pointCollection)||!l(t)||!l(t.pointIndex))return;let n=t.pointIndex;t.pointIndex=void 0,Xj(this,e.id);let i=this._pointCollection.get(n);i.show=!1,i.id=void 0,this._unusedPointIndices.push(n),this._clusterDirty=!0};function qj(e){if(!l(e))return;let t=e.length;for(let n=0;n<t;++n)e.get(n).clusterShow=!0}function xKe(e){e.enabled||(l(e._clusterLabelCollection)&&e._clusterLabelCollection.destroy(),l(e._clusterBillboardCollection)&&e._clusterBillboardCollection.destroy(),l(e._clusterPointCollection)&&e._clusterPointCollection.destroy(),e._clusterLabelCollection=void 0,e._clusterBillboardCollection=void 0,e._clusterPointCollection=void 0,qj(e._labelCollection),qj(e._billboardCollection),qj(e._pointCollection))}Ld.prototype.update=function(e){if(!this.show)return;let t;l(this._labelCollection)&&this._labelCollection.length>0&&this._labelCollection.get(0)._glyphs.length===0&&(t=e.commandList,e.commandList=[],this._labelCollection.update(e),e.commandList=t),l(this._billboardCollection)&&this._billboardCollection.length>0&&!l(this._billboardCollection.get(0).width)&&(t=e.commandList,e.commandList=[],this._billboardCollection.update(e),e.commandList=t),this._enabledDirty&&(this._enabledDirty=!1,xKe(this),this._clusterDirty=!0),this._clusterDirty&&(this._clusterDirty=!1,this._cluster()),l(this._clusterLabelCollection)&&this._clusterLabelCollection.update(e),l(this._clusterBillboardCollection)&&this._clusterBillboardCollection.update(e),l(this._clusterPointCollection)&&this._clusterPointCollection.update(e),l(this._labelCollection)&&this._labelCollection.update(e),l(this._billboardCollection)&&this._billboardCollection.update(e),l(this._pointCollection)&&this._pointCollection.update(e)};Ld.prototype.destroy=function(){this._labelCollection=this._labelCollection&&this._labelCollection.destroy(),this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),this._pointCollection=this._pointCollection&&this._pointCollection.destroy(),this._clusterLabelCollection=this._clusterLabelCollection&&this._clusterLabelCollection.destroy(),this._clusterBillboardCollection=this._clusterBillboardCollection&&this._clusterBillboardCollection.destroy(),this._clusterPointCollection=this._clusterPointCollection&&this._clusterPointCollection.destroy(),l(this._removeEventListener)&&(this._removeEventListener(),this._removeEventListener=void 0),this._labelCollection=void 0,this._billboardCollection=void 0,this._pointCollection=void 0,this._clusterBillboardCollection=void 0,this._clusterLabelCollection=void 0,this._clusterPointCollection=void 0,this._collectionIndicesByEntity=void 0,this._unusedLabelIndices=[],this._unusedBillboardIndices=[],this._unusedPointIndices=[],this._previousClusters=[],this._previousHeight=void 0,this._enabledDirty=!1,this._pixelRangeDirty=!1,this._minimumClusterSizeDirty=!1};var Pf=Ld;function Kj(e){this._name=e,this._clock=void 0,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new fa(this),this._entityCluster=new Pf}Object.defineProperties(Kj.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._changed.raiseEvent(this))}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading},set:function(e){Zr.setLoading(this,e)}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});Kj.prototype.update=function(e){return!0};var y3=Kj;var pue={};pue.computePositions=function(e,t,n,i,o){let r=e*.5,s=-r,a=i+i,c=o?2*a:a,u=new Float64Array(c*3),f,d=0,p=0,g=o?a*3:0,m=o?(a+i)*3:i*3;for(f=0;f<i;f++){let x=f/i*P.TWO_PI,b=Math.cos(x),T=Math.sin(x),C=b*n,A=T*n,S=b*t,v=T*t;u[p+g]=C,u[p+g+1]=A,u[p+g+2]=s,u[p+m]=S,u[p+m+1]=v,u[p+m+2]=r,p+=3,o&&(u[d++]=C,u[d++]=A,u[d++]=s,u[d++]=S,u[d++]=v,u[d++]=r)}return u};var PA=pue;var Zj=new U,bKe=new h,TKe=new h,CKe=new h,AKe=new h;function e_(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e.slices,128);this._length=t,this._topRadius=n,this._bottomRadius=i,this._vertexFormat=Pe.clone(o),this._slices=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderGeometry"}e_.packedLength=Pe.packedLength+5;e_.pack=function(e,t,n){return n=y(n,0),Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n]=y(e._offsetAttribute,-1),t};var _ue=new Pe,OA={vertexFormat:_ue,length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,offsetAttribute:void 0};e_.unpack=function(e,t,n){t=y(t,0);let i=Pe.unpack(e,t,_ue);t+=Pe.packedLength;let o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._vertexFormat=Pe.clone(i,n._vertexFormat),n._length=o,n._topRadius=r,n._bottomRadius=s,n._slices=a,n._offsetAttribute=c===-1?void 0:c,n):(OA.length=o,OA.topRadius=r,OA.bottomRadius=s,OA.slices=a,OA.offsetAttribute=c===-1?void 0:c,new e_(OA))};e_.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._vertexFormat,r=e._slices;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=r+r,a=r+s,c=s+s,u=PA.computePositions(t,n,i,r,!0),f=o.st?new Float32Array(c*2):void 0,d=o.normal?new Float32Array(c*3):void 0,p=o.tangent?new Float32Array(c*3):void 0,g=o.bitangent?new Float32Array(c*3):void 0,m,x=o.normal||o.tangent||o.bitangent;if(x){let R=o.tangent||o.bitangent,O=0,M=0,N=0,_=Math.atan2(i-n,t),E=bKe;E.z=Math.sin(_);let w=Math.cos(_),I=CKe,L=TKe;for(m=0;m<r;m++){let B=m/r*P.TWO_PI,H=w*Math.cos(B),V=w*Math.sin(B);x&&(E.x=H,E.y=V,R&&(I=h.normalize(h.cross(h.UNIT_Z,E,I),I)),o.normal&&(d[O++]=E.x,d[O++]=E.y,d[O++]=E.z,d[O++]=E.x,d[O++]=E.y,d[O++]=E.z),o.tangent&&(p[M++]=I.x,p[M++]=I.y,p[M++]=I.z,p[M++]=I.x,p[M++]=I.y,p[M++]=I.z),o.bitangent&&(L=h.normalize(h.cross(E,I,L),L),g[N++]=L.x,g[N++]=L.y,g[N++]=L.z,g[N++]=L.x,g[N++]=L.y,g[N++]=L.z))}for(m=0;m<r;m++)o.normal&&(d[O++]=0,d[O++]=0,d[O++]=-1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[N++]=0,g[N++]=-1,g[N++]=0);for(m=0;m<r;m++)o.normal&&(d[O++]=0,d[O++]=0,d[O++]=1),o.tangent&&(p[M++]=1,p[M++]=0,p[M++]=0),o.bitangent&&(g[N++]=0,g[N++]=1,g[N++]=0)}let b=12*r-12,T=ke.createTypedArray(c,b),C=0,A=0;for(m=0;m<r-1;m++)T[C++]=A,T[C++]=A+2,T[C++]=A+3,T[C++]=A,T[C++]=A+3,T[C++]=A+1,A+=2;for(T[C++]=s-2,T[C++]=0,T[C++]=1,T[C++]=s-2,T[C++]=1,T[C++]=s-1,m=1;m<r-1;m++)T[C++]=s+m+1,T[C++]=s+m,T[C++]=s;for(m=1;m<r-1;m++)T[C++]=a,T[C++]=a+m,T[C++]=a+m+1;let S=0;if(o.st){let R=Math.max(n,i);for(m=0;m<c;m++){let O=h.fromArray(u,m*3,AKe);f[S++]=(O.x+R)/(2*R),f[S++]=(O.y+R)/(2*R)}}let v=new mn;o.position&&(v.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:u})),o.normal&&(v.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:d})),o.tangent&&(v.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),o.bitangent&&(v.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),o.st&&(v.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:f})),Zj.x=t*.5,Zj.y=Math.max(i,n);let D=new ce(h.ZERO,U.magnitude(Zj));if(l(e._offsetAttribute)){t=u.length;let R=e._offsetAttribute===cn.NONE?0:1,O=new Uint8Array(t/3).fill(R);v.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:O})}return new ft({attributes:v,indices:T,primitiveType:Fe.TRIANGLES,boundingSphere:D,offsetAttribute:e._offsetAttribute})};var $j;e_.getUnitCylinder=function(){return l($j)||($j=e_.createGeometry(new e_({topRadius:1,bottomRadius:1,length:1,vertexFormat:Pe.POSITION_ONLY}))),$j};var x3=e_;var Qj=new U;function RA(e){e=y(e,y.EMPTY_OBJECT);let t=e.length,n=e.topRadius,i=e.bottomRadius,o=y(e.slices,128),r=Math.max(y(e.numberOfVerticalLines,16),0);this._length=t,this._topRadius=n,this._bottomRadius=i,this._slices=o,this._numberOfVerticalLines=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createCylinderOutlineGeometry"}RA.packedLength=6;RA.pack=function(e,t,n){return n=y(n,0),t[n++]=e._length,t[n++]=e._topRadius,t[n++]=e._bottomRadius,t[n++]=e._slices,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var Yx={length:void 0,topRadius:void 0,bottomRadius:void 0,slices:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};RA.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o=e[t++],r=e[t++],s=e[t++],a=e[t++],c=e[t];return l(n)?(n._length=i,n._topRadius=o,n._bottomRadius=r,n._slices=s,n._numberOfVerticalLines=a,n._offsetAttribute=c===-1?void 0:c,n):(Yx.length=i,Yx.topRadius=o,Yx.bottomRadius=r,Yx.slices=s,Yx.numberOfVerticalLines=a,Yx.offsetAttribute=c===-1?void 0:c,new RA(Yx))};RA.createGeometry=function(e){let t=e._length,n=e._topRadius,i=e._bottomRadius,o=e._slices,r=e._numberOfVerticalLines;if(t<=0||n<0||i<0||n===0&&i===0)return;let s=o*2,a=PA.computePositions(t,n,i,o,!1),c=o*2,u;if(r>0){let x=Math.min(r,o);u=Math.round(o/x),c+=x}let f=ke.createTypedArray(s,c*2),d=0,p;for(p=0;p<o-1;p++)f[d++]=p,f[d++]=p+1,f[d++]=p+o,f[d++]=p+1+o;if(f[d++]=o-1,f[d++]=0,f[d++]=o+o-1,f[d++]=o,r>0)for(p=0;p<o;p+=u)f[d++]=p,f[d++]=p+o;let g=new mn;g.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:a}),Qj.x=t*.5,Qj.y=Math.max(i,n);let m=new ce(h.ZERO,U.magnitude(Qj));if(l(e._offsetAttribute)){t=a.length;let x=e._offsetAttribute===cn.NONE?0:1,b=new Uint8Array(t/3).fill(x);g.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:b})}return new ft({attributes:g,indices:f,primitiveType:Fe.LINES,boundingSphere:m,offsetAttribute:e._offsetAttribute})};var b3=RA;var gue=h.ZERO,yue=new h,EKe=new h,xue=new z;function SKe(e){this.id=e,this.vertexFormat=void 0,this.length=void 0,this.topRadius=void 0,this.bottomRadius=void 0,this.slices=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function hu(e,t){ci.call(this,{entity:e,scene:t,geometryOptions:new SKe(e),geometryPropertyName:"cylinder",observedPropertyNames:["availability","position","orientation","cylinder"]}),this._onEntityPropertyChanged(e,"cylinder",e.cylinder,void 0)}l(Object.create)&&(hu.prototype=Object.create(ci.prototype),hu.prototype.constructor=hu);Object.defineProperties(hu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});hu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Vn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let a;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,xue)),l(a)||(a=z.WHITE),s.color=Wt.fromColor(a)}return l(this._options.offsetAttribute)&&(s.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,gue,yue))),new wt({id:t,geometry:new x3(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:s})};hu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,xue),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,gue,yue))),new wt({id:t,geometry:new b3(this._options),modelMatrix:t.computeModelMatrixForHeightReference(e,t.cylinder.heightReference,this._options.length*.5,this._scene.ellipsoid),attributes:r})};hu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};hu.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.length)||!l(t.topRadius)||!l(t.bottomRadius)||ci.prototype._isHidden.call(this,e,t)};hu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.length.isConstant||!t.topRadius.isConstant||!t.bottomRadius.isConstant||!q.isConstant(t.slices)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)};hu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,Ge.MINIMUM_VALUE,Xe.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,i.length=t.length.getValue(Ge.MINIMUM_VALUE),i.topRadius=t.topRadius.getValue(Ge.MINIMUM_VALUE),i.bottomRadius=t.bottomRadius.getValue(Ge.MINIMUM_VALUE),i.slices=q.getValueOrUndefined(t.slices,Ge.MINIMUM_VALUE),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,Ge.MINIMUM_VALUE),i.offsetAttribute=n!==Xe.NONE?cn.ALL:void 0};hu.prototype._onEntityPropertyChanged=rg;hu.DynamicGeometryUpdater=MA;function MA(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(MA.prototype=Object.create(ai.prototype),MA.prototype.constructor=MA);MA.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,EKe);return!l(o)||!l(i.length)||!l(i.topRadius)||!l(i.bottomRadius)||ai.prototype._isHidden.call(this,e,t,n)};MA.prototype._setOptions=function(e,t,n){let i=q.getValueOrDefault(t.heightReference,n,Xe.NONE),o=this._options;o.length=q.getValueOrUndefined(t.length,n),o.topRadius=q.getValueOrUndefined(t.topRadius,n),o.bottomRadius=q.getValueOrUndefined(t.bottomRadius,n),o.slices=q.getValueOrUndefined(t.slices,n),o.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),o.offsetAttribute=i!==Xe.NONE?cn.ALL:void 0};var T3=hu;var vKe={UNBOUNDED:0,CLAMPED:1,LOOP_STOP:2},$r=Object.freeze(vKe);var wKe={TICK_DEPENDENT:0,SYSTEM_CLOCK_MULTIPLIER:1,SYSTEM_CLOCK:2},go=Object.freeze(wKe);var DKe={NONE:0,HOLD:1,EXTRAPOLATE:2},Of=Object.freeze(DKe);var bue=Sr(jl(),1);function IKe(e){let t=new bue.default(e);t.normalize();let n=t.path(),i=n.lastIndexOf("/");return i!==-1&&(n=n.substr(i+1)),n}var ly=IKe;var PKe=P.factorial;function Jj(e,t,n,i,o,r){let s=0,a,c,u;if(i>0){for(c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(r.push(c),s+=Jj(e,t,n,i-1,o,r),r.splice(r.length-1,1))}return s}for(s=1,c=0;c<o;c++){for(a=!1,u=0;u<r.length&&!a;u++)c===r[u]&&(a=!0);a||(s*=e-n[t[c]])}return s}var C3={type:"Hermite"};C3.getRequiredDataPoints=function(e,t){return t=y(t,0),Math.max(Math.floor((e+1)/(t+1)),2)};C3.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c,u,f,d=t.length,p=new Array(i);for(r=0;r<i;r++){o[r]=0;let b=new Array(d);for(p[r]=b,s=0;s<d;s++)b[s]=[]}let g=d,m=new Array(g);for(r=0;r<g;r++)m[r]=r;let x=d-1;for(c=0;c<i;c++){for(s=0;s<g;s++)f=m[s]*i+c,p[c][0].push(n[f]);for(r=1;r<g;r++){let b=!1;for(s=0;s<g-r;s++){let T=t[m[s]],C=t[m[s+r]],A;C-T<=0?(f=m[s]*i+i*r+c,A=n[f],p[c][r].push(A/PKe(r))):(A=p[c][r-1][s+1]-p[c][r-1][s],p[c][r].push(A/(C-T))),b=b||A!==0}b||(x=r-1)}}for(a=0,u=0;a<=u;a++)for(r=a;r<=x;r++){let b=Jj(e,m,t,a,r,[]);for(c=0;c<i;c++){let T=p[c][r][0];o[c+a*i]+=T*b}}return o};var OKe=[];C3.interpolate=function(e,t,n,i,o,r,s){let a=i*(r+1);l(s)||(s=new Array(a));for(let T=0;T<a;T++)s[T]=0;let c=t.length,u=new Array(c*(o+1)),f;for(f=0;f<c;f++)for(let T=0;T<o+1;T++)u[f*(o+1)+T]=f;let d=u.length,p=OKe,g=RKe(p,u,t,n,i,o),m=[],x=d*(d+1)/2,b=Math.min(g,r);for(let T=0;T<=b;T++)for(f=T;f<=g;f++){m.length=0;let C=Jj(e,u,t,T,f,m),A=Math.floor(f*(1-f)/2)+d*f;for(let S=0;S<i;S++){let v=Math.floor(S*x),D=p[v+A];s[S+T*i]+=D*C}}return s};function RKe(e,t,n,i,o,r){let s,a,c=-1,u=t.length,f=u*(u+1)/2;for(let d=0;d<o;d++){let p=Math.floor(d*f);for(s=0;s<u;s++)a=t[s]*o*(r+1)+d,e[p+s]=i[a];for(let g=1;g<u;g++){let m=0,x=Math.floor(g*(1-g)/2)+u*g,b=!1;for(s=0;s<u-g;s++){let T=n[t[s]],C=n[t[s+g]],A,S;if(C-T<=0)a=t[s]*o*(r+1)+o*g+d,A=i[a],S=A/P.factorial(g),e[p+x+m]=S,m++;else{let v=Math.floor((g-1)*(2-g)/2)+u*(g-1);A=e[p+v+s+1]-e[p+v+s],S=A/(C-T),e[p+x+m]=S,m++}b=b||A!==0}b&&(c=Math.max(c,g))}}return c}var A3=C3;var e7={type:"Lagrange"};e7.getRequiredDataPoints=function(e){return Math.max(e+1,2)};e7.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a=t.length;for(r=0;r<i;r++)o[r]=0;for(r=0;r<a;r++){let c=1;for(s=0;s<a;s++)if(s!==r){let u=t[r]-t[s];c*=(e-t[s])/u}for(s=0;s<i;s++)o[s]+=c*n[r*i+s]}return o};var E3=e7;var t7={type:"Linear"};t7.getRequiredDataPoints=function(e){return 2};t7.interpolateOrderZero=function(e,t,n,i,o){l(o)||(o=new Array(i));let r,s,a,c=t[0],u=t[1];for(r=0;r<i;r++)s=n[r],a=n[r+i],o[r]=((a-s)*e+u*s-c*a)/(u-c);return o};var LA=t7;function cc(e,t,n){this.clock=y(e,0),this.cone=y(t,0),this.magnitude=y(n,1)}cc.fromCartesian3=function(e,t){let n=e.x,i=e.y,o=e.z,r=n*n+i*i;return l(t)||(t=new cc),t.clock=Math.atan2(i,n),t.cone=Math.atan2(Math.sqrt(r),o),t.magnitude=Math.sqrt(r+o*o),t};cc.clone=function(e,t){if(l(e))return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=e.magnitude,t):new cc(e.clock,e.cone,e.magnitude)};cc.normalize=function(e,t){return l(t)?(t.clock=e.clock,t.cone=e.cone,t.magnitude=1,t):new cc(e.clock,e.cone,1)};cc.equals=function(e,t){return e===t||l(e)&&l(t)&&e.clock===t.clock&&e.cone===t.cone&&e.magnitude===t.magnitude};cc.equalsEpsilon=function(e,t,n){return n=y(n,0),e===t||l(e)&&l(t)&&Math.abs(e.clock-t.clock)<=n&&Math.abs(e.cone-t.cone)<=n&&Math.abs(e.magnitude-t.magnitude)<=n};cc.prototype.equals=function(e){return cc.equals(this,e)};cc.prototype.clone=function(e){return cc.clone(this,e)};cc.prototype.equalsEpsilon=function(e,t){return cc.equalsEpsilon(this,e,t)};cc.prototype.toString=function(){return`(${this.clock}, ${this.cone}, ${this.magnitude})`};var S3=cc;var RD=Sr(jl(),1);var n7;typeof performance<"u"&&typeof performance.now=="function"&&isFinite(performance.now())?n7=function(){return performance.now()}:n7=function(){return Date.now()};var Ei=n7;function i7(e){e=y(e,y.EMPTY_OBJECT);let t=e.currentTime,n=e.startTime,i=e.stopTime;l(t)?t=K.clone(t):l(n)?t=K.clone(n):l(i)?t=K.addDays(i,-1,new K):t=K.now(),l(n)?n=K.clone(n):n=K.clone(t),l(i)?i=K.clone(i):i=K.addDays(n,1,new K),this.startTime=n,this.stopTime=i,this.clockRange=y(e.clockRange,$r.UNBOUNDED),this.canAnimate=y(e.canAnimate,!0),this.onTick=new me,this.onStop=new me,this._currentTime=void 0,this._multiplier=void 0,this._clockStep=void 0,this._shouldAnimate=void 0,this._lastSystemTime=Ei(),this.currentTime=t,this.multiplier=y(e.multiplier,1),this.shouldAnimate=y(e.shouldAnimate,!1),this.clockStep=y(e.clockStep,go.SYSTEM_CLOCK_MULTIPLIER)}Object.defineProperties(i7.prototype,{currentTime:{get:function(){return this._currentTime},set:function(e){K.equals(this._currentTime,e)||(this._clockStep===go.SYSTEM_CLOCK&&(this._clockStep=go.SYSTEM_CLOCK_MULTIPLIER),this._currentTime=e)}},multiplier:{get:function(){return this._multiplier},set:function(e){this._multiplier!==e&&(this._clockStep===go.SYSTEM_CLOCK&&(this._clockStep=go.SYSTEM_CLOCK_MULTIPLIER),this._multiplier=e)}},clockStep:{get:function(){return this._clockStep},set:function(e){e===go.SYSTEM_CLOCK&&(this._multiplier=1,this._shouldAnimate=!0,this._currentTime=K.now()),this._clockStep=e}},shouldAnimate:{get:function(){return this._shouldAnimate},set:function(e){this._shouldAnimate!==e&&(this._clockStep===go.SYSTEM_CLOCK&&(this._clockStep=go.SYSTEM_CLOCK_MULTIPLIER),this._shouldAnimate=e)}}});i7.prototype.tick=function(){let e=Ei(),t=K.clone(this._currentTime);if(this.canAnimate&&this._shouldAnimate){let n=this._clockStep;if(n===go.SYSTEM_CLOCK)t=K.now(t);else{let i=this._multiplier;if(n===go.TICK_DEPENDENT)t=K.addSeconds(t,i,t);else{let a=e-this._lastSystemTime;t=K.addSeconds(t,i*(a/1e3),t)}let o=this.clockRange,r=this.startTime,s=this.stopTime;if(o===$r.CLAMPED)K.lessThan(t,r)?t=K.clone(r,t):K.greaterThan(t,s)&&(t=K.clone(s,t),this.onStop.raiseEvent(this));else if(o===$r.LOOP_STOP)for(K.lessThan(t,r)&&(t=K.clone(r,t));K.greaterThan(t,s);)t=K.addSeconds(r,K.secondsDifference(t,s),t),this.onStop.raiseEvent(this)}}return this._currentTime=t,this._lastSystemTime=e,this.onTick.raiseEvent(this),t};var lm=i7;function Xx(){this._definitionChanged=new me,this._startTime=void 0,this._stopTime=void 0,this._currentTime=void 0,this._clockRange=void 0,this._clockStep=void 0,this._multiplier=void 0}Object.defineProperties(Xx.prototype,{definitionChanged:{get:function(){return this._definitionChanged}},startTime:pl("startTime"),stopTime:pl("stopTime"),currentTime:pl("currentTime"),clockRange:pl("clockRange"),clockStep:pl("clockStep"),multiplier:pl("multiplier")});Xx.prototype.clone=function(e){return l(e)||(e=new Xx),e.startTime=this.startTime,e.stopTime=this.stopTime,e.currentTime=this.currentTime,e.clockRange=this.clockRange,e.clockStep=this.clockStep,e.multiplier=this.multiplier,e};Xx.prototype.equals=function(e){return this===e||l(e)&&K.equals(this.startTime,e.startTime)&&K.equals(this.stopTime,e.stopTime)&&K.equals(this.currentTime,e.currentTime)&&this.clockRange===e.clockRange&&this.clockStep===e.clockStep&&this.multiplier===e.multiplier};Xx.prototype.merge=function(e){this.startTime=y(this.startTime,e.startTime),this.stopTime=y(this.stopTime,e.stopTime),this.currentTime=y(this.currentTime,e.currentTime),this.clockRange=y(this.clockRange,e.clockRange),this.clockStep=y(this.clockStep,e.clockStep),this.multiplier=y(this.multiplier,e.multiplier)};Xx.prototype.getValue=function(e){return l(e)||(e=new lm),e.startTime=y(this.startTime,e.startTime),e.stopTime=y(this.stopTime,e.stopTime),e.currentTime=y(this.currentTime,e.currentTime),e.clockRange=y(this.clockRange,e.clockRange),e.multiplier=y(this.multiplier,e.multiplier),e.clockStep=y(this.clockStep,e.clockStep),e};var um=Xx;var MKe=z.WHITE,LKe=.1,NKe=new U(8,8),FKe=new U(0,0),BKe=new U(1,1);function NA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._cellAlpha=void 0,this._cellAlphaSubscription=void 0,this._lineCount=void 0,this._lineCountSubscription=void 0,this._lineThickness=void 0,this._lineThicknessSubscription=void 0,this._lineOffset=void 0,this._lineOffsetSubscription=void 0,this.color=e.color,this.cellAlpha=e.cellAlpha,this.lineCount=e.lineCount,this.lineThickness=e.lineThickness,this.lineOffset=e.lineOffset}Object.defineProperties(NA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._cellAlpha)&&q.isConstant(this._lineCount)&&q.isConstant(this._lineThickness)&&q.isConstant(this._lineOffset)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),cellAlpha:le("cellAlpha"),lineCount:le("lineCount"),lineThickness:le("lineThickness"),lineOffset:le("lineOffset")});NA.prototype.getType=function(e){return"Grid"};var kKe=new K;NA.prototype.getValue=function(e,t){return l(e)||(e=K.now(kKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,MKe,t.color),t.cellAlpha=q.getValueOrDefault(this._cellAlpha,e,LKe),t.lineCount=q.getValueOrClonedDefault(this._lineCount,e,NKe,t.lineCount),t.lineThickness=q.getValueOrClonedDefault(this._lineThickness,e,BKe,t.lineThickness),t.lineOffset=q.getValueOrClonedDefault(this._lineOffset,e,FKe,t.lineOffset),t};NA.prototype.equals=function(e){return this===e||e instanceof NA&&q.equals(this._color,e._color)&&q.equals(this._cellAlpha,e._cellAlpha)&&q.equals(this._lineCount,e._lineCount)&&q.equals(this._lineThickness,e._lineThickness)&&q.equals(this._lineOffset,e._lineOffset)};var CD=NA;function FA(e){this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this.color=e}Object.defineProperties(FA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color")});FA.prototype.getType=function(e){return"PolylineArrow"};var VKe=new K;FA.prototype.getValue=function(e,t){return l(e)||(e=K.now(VKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,z.WHITE,t.color),t};FA.prototype.equals=function(e){return this===e||e instanceof FA&&q.equals(this._color,e._color)};var AD=FA;var UKe=z.WHITE,zKe=z.TRANSPARENT,HKe=16,GKe=255;function BA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._gapColor=void 0,this._gapColorSubscription=void 0,this._dashLength=void 0,this._dashLengthSubscription=void 0,this._dashPattern=void 0,this._dashPatternSubscription=void 0,this.color=e.color,this.gapColor=e.gapColor,this.dashLength=e.dashLength,this.dashPattern=e.dashPattern}Object.defineProperties(BA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._gapColor)&&q.isConstant(this._dashLength)&&q.isConstant(this._dashPattern)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),gapColor:le("gapColor"),dashLength:le("dashLength"),dashPattern:le("dashPattern")});BA.prototype.getType=function(e){return"PolylineDash"};var WKe=new K;BA.prototype.getValue=function(e,t){return l(e)||(e=K.now(WKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,UKe,t.color),t.gapColor=q.getValueOrClonedDefault(this._gapColor,e,zKe,t.gapColor),t.dashLength=q.getValueOrDefault(this._dashLength,e,HKe,t.dashLength),t.dashPattern=q.getValueOrDefault(this._dashPattern,e,GKe,t.dashPattern),t};BA.prototype.equals=function(e){return this===e||e instanceof BA&&q.equals(this._color,e._color)&&q.equals(this._gapColor,e._gapColor)&&q.equals(this._dashLength,e._dashLength)&&q.equals(this._dashPattern,e._dashPattern)};var ED=BA;var jKe=z.WHITE,qKe=.25,YKe=1;function kA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._glowPower=void 0,this._glowPowerSubscription=void 0,this._taperPower=void 0,this._taperPowerSubscription=void 0,this.color=e.color,this.glowPower=e.glowPower,this.taperPower=e.taperPower}Object.defineProperties(kA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._glow)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),glowPower:le("glowPower"),taperPower:le("taperPower")});kA.prototype.getType=function(e){return"PolylineGlow"};var XKe=new K;kA.prototype.getValue=function(e,t){return l(e)||(e=K.now(XKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,jKe,t.color),t.glowPower=q.getValueOrDefault(this._glowPower,e,qKe,t.glowPower),t.taperPower=q.getValueOrDefault(this._taperPower,e,YKe,t.taperPower),t};kA.prototype.equals=function(e){return this===e||e instanceof kA&&q.equals(this._color,e._color)&&q.equals(this._glowPower,e._glowPower)&&q.equals(this._taperPower,e._taperPower)};var SD=kA;var KKe=z.WHITE,ZKe=z.BLACK,$Ke=1;function VA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._color=void 0,this._colorSubscription=void 0,this._outlineColor=void 0,this._outlineColorSubscription=void 0,this._outlineWidth=void 0,this._outlineWidthSubscription=void 0,this.color=e.color,this.outlineColor=e.outlineColor,this.outlineWidth=e.outlineWidth}Object.defineProperties(VA.prototype,{isConstant:{get:function(){return q.isConstant(this._color)&&q.isConstant(this._outlineColor)&&q.isConstant(this._outlineWidth)}},definitionChanged:{get:function(){return this._definitionChanged}},color:le("color"),outlineColor:le("outlineColor"),outlineWidth:le("outlineWidth")});VA.prototype.getType=function(e){return"PolylineOutline"};var QKe=new K;VA.prototype.getValue=function(e,t){return l(e)||(e=K.now(QKe)),l(t)||(t={}),t.color=q.getValueOrClonedDefault(this._color,e,KKe,t.color),t.outlineColor=q.getValueOrClonedDefault(this._outlineColor,e,ZKe,t.outlineColor),t.outlineWidth=q.getValueOrDefault(this._outlineWidth,e,$Ke),t};VA.prototype.equals=function(e){return this===e||e instanceof VA&&q.equals(this._color,e._color)&&q.equals(this._outlineColor,e._outlineColor)&&q.equals(this._outlineWidth,e._outlineWidth)};var Kx=VA;function t_(e,t){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new xr,this._referenceFrame=y(t,Vi.FIXED),this.setValue(e)}Object.defineProperties(t_.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}}});var JKe=new K;t_.prototype.getValue=function(e,t){return l(e)||(e=K.now(JKe)),this.getValueInReferenceFrame(e,Vi.FIXED,t)};t_.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._value;if(!l(i))return;let o=i.length;l(n)||(n=new Array(o));let r=0,s=0;for(;r<o;){let c=i[r].getValueInReferenceFrame(e,t,n[r]);l(c)&&(n[s]=c,s++),r++}return n.length=s,n};t_.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,t_.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};t_.prototype.equals=function(e){return this===e||e instanceof t_&&this._referenceFrame===e._referenceFrame&&q.arrayEquals(this._value,e._value)};t_.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var uy=t_;function fy(e){this._value=void 0,this._definitionChanged=new me,this._eventHelper=new xr,this.setValue(e)}Object.defineProperties(fy.prototype,{isConstant:{get:function(){let e=this._value;if(!l(e))return!0;let t=e.length;for(let n=0;n<t;n++)if(!q.isConstant(e[n]))return!1;return!0}},definitionChanged:{get:function(){return this._definitionChanged}}});var eZe=new K;fy.prototype.getValue=function(e,t){l(e)||(e=K.now(eZe));let n=this._value;if(!l(n))return;let i=n.length;l(t)||(t=new Array(i));let o=0,r=0;for(;o<i;){let a=this._value[o].getValue(e,t[o]);l(a)&&(t[r]=a,r++),o++}return t.length=r,t};fy.prototype.setValue=function(e){let t=this._eventHelper;if(t.removeAll(),l(e)){this._value=e.slice();let n=e.length;for(let i=0;i<n;i++){let o=e[i];l(o)&&t.add(o.definitionChanged,fy.prototype._raiseDefinitionChanged,this)}}else this._value=void 0;this._definitionChanged.raiseEvent(this)};fy.prototype.equals=function(e){return this===e||e instanceof fy&&q.arrayEquals(this._value,e._value)};fy.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var vD=fy;function Zx(e){let t=e._targetProperty;if(!l(t)){let n=e._targetEntity;if(!l(n)){if(n=e._targetCollection.getById(e._targetId),!l(n)){e._targetEntity=e._targetProperty=void 0;return}n.definitionChanged.addEventListener(mu.prototype._onTargetEntityDefinitionChanged,e),e._targetEntity=n}let i=e._targetPropertyNames;t=e._targetEntity;for(let o=0,r=i.length;o<r&&l(t);++o)t=t[i[o]];e._targetProperty=t}return t}function mu(e,t,n){this._targetCollection=e,this._targetId=t,this._targetPropertyNames=n,this._targetProperty=void 0,this._targetEntity=void 0,this._definitionChanged=new me,e.collectionChanged.addEventListener(mu.prototype._onCollectionChanged,this)}Object.defineProperties(mu.prototype,{isConstant:{get:function(){return q.isConstant(Zx(this))}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){let e=Zx(this);return l(e)?e.referenceFrame:void 0}},targetId:{get:function(){return this._targetId}},targetCollection:{get:function(){return this._targetCollection}},targetPropertyNames:{get:function(){return this._targetPropertyNames}},resolvedProperty:{get:function(){return Zx(this)}}});mu.fromString=function(e,t){let n,i=[],o=!0,r=!1,s="";for(let a=0;a<t.length;++a){let c=t.charAt(a);r?(s+=c,r=!1):c==="\\"?r=!0:o&&c==="#"?(n=s,o=!1,s=""):!o&&c==="."?(i.push(s),s=""):s+=c}return i.push(s),new mu(e,n,i)};var tZe=new K;mu.prototype.getValue=function(e,t){let n=Zx(this);return l(e)||(e=K.now(tZe)),l(n)?n.getValue(e,t):void 0};mu.prototype.getValueInReferenceFrame=function(e,t,n){let i=Zx(this);return l(i)?i.getValueInReferenceFrame(e,t,n):void 0};mu.prototype.getType=function(e){let t=Zx(this);return l(t)?t.getType(e):void 0};mu.prototype.equals=function(e){if(this===e)return!0;let t=this._targetPropertyNames,n=e._targetPropertyNames;if(this._targetCollection!==e._targetCollection||this._targetId!==e._targetId||t.length!==n.length)return!1;let i=this._targetPropertyNames.length;for(let o=0;o<i;o++)if(t[o]!==n[o])return!1;return!0};mu.prototype._onTargetEntityDefinitionChanged=function(e,t,n,i){l(this._targetProperty)&&this._targetPropertyNames[0]===t&&(this._targetProperty=void 0,this._definitionChanged.raiseEvent(this))};mu.prototype._onCollectionChanged=function(e,t,n){let i=this._targetEntity;l(i)&&n.indexOf(i)!==-1?(i.definitionChanged.removeEventListener(mu.prototype._onTargetEntityDefinitionChanged,this),this._targetEntity=this._targetProperty=void 0):l(i)||(i=Zx(this),l(i)&&this._definitionChanged.raiseEvent(this))};var dy=mu;var nZe={packedLength:1,pack:function(e,t,n){return n=y(n,0),t[n]=e,t},unpack:function(e,t,n){return t=y(t,0),e[t]},convertPackedArrayForInterpolation:function(e,t,n,i){l(i)||(i=[]),t=y(t,0),n=y(n,e.length);let o;for(let r=0,s=n-t+1;r<s;r++){let a=e[t+r];r===0||Math.abs(o-a)<Math.PI?i[r]=a:i[r]=a-P.TWO_PI,o=a}},unpackInterpolationResult:function(e,t,n,i,o){return o=e[0],o<0?o+P.TWO_PI:o}},Nd=nZe;var Tue={packedLength:1,pack:function(e,t,n){n=y(n,0),t[n]=e},unpack:function(e,t,n){return t=y(t,0),e[t]}};function Cue(e,t,n){let i,o=e.length,r=n.length,s=o+r;if(e.length=s,o!==t){let a=o-1;for(i=s-1;i>=t;i--)e[i]=e[a--]}for(i=0;i<r;i++)e[t++]=n[i]}function Aue(e,t){return e instanceof K?e:typeof e=="string"?K.fromIso8601(e):K.addSeconds(t,e,new K)}var o7=[],r7=[];function v3(e,t,n,i,o){let r=0,s,a,c,u,f,d;for(;r<i.length;){f=Aue(i[r],e),c=Ro(t,f,K.compare);let p=0,g=0;if(c<0){for(c=~c,u=c*o,a=void 0,d=t[c];r<i.length&&(f=Aue(i[r],e),!(l(a)&&K.compare(a,f)>=0||l(d)&&K.compare(f,d)>=0));){for(o7[p++]=f,r=r+1,s=0;s<o;s++)r7[g++]=i[r],r=r+1;a=f}p>0&&(r7.length=g,Cue(n,u,r7),o7.length=p,Cue(t,c,o7))}else{for(s=0;s<o;s++)r++,n[c*o+s]=i[r];r++}}}function Rf(e,t){let n=e;n===Number&&(n=Tue);let i=n.packedLength,o=y(n.packedInterpolationLength,i),r=0,s;if(l(t)){let a=t.length;s=new Array(a);for(let c=0;c<a;c++){let u=t[c];u===Number&&(u=Tue);let f=u.packedLength;i+=f,o+=y(u.packedInterpolationLength,f),s[c]=u}r=a}this._type=e,this._innerType=n,this._interpolationDegree=1,this._interpolationAlgorithm=LA,this._numberOfPoints=0,this._times=[],this._values=[],this._xTable=[],this._yTable=[],this._packedLength=i,this._packedInterpolationLength=o,this._updateTableLength=!0,this._interpolationResult=new Array(o),this._definitionChanged=new me,this._derivativeTypes=t,this._innerDerivativeTypes=s,this._inputOrder=r,this._forwardExtrapolationType=Of.NONE,this._forwardExtrapolationDuration=0,this._backwardExtrapolationType=Of.NONE,this._backwardExtrapolationDuration=0}Object.defineProperties(Rf.prototype,{isConstant:{get:function(){return this._values.length===0}},definitionChanged:{get:function(){return this._definitionChanged}},type:{get:function(){return this._type}},derivativeTypes:{get:function(){return this._derivativeTypes}},interpolationDegree:{get:function(){return this._interpolationDegree}},interpolationAlgorithm:{get:function(){return this._interpolationAlgorithm}},forwardExtrapolationType:{get:function(){return this._forwardExtrapolationType},set:function(e){this._forwardExtrapolationType!==e&&(this._forwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},forwardExtrapolationDuration:{get:function(){return this._forwardExtrapolationDuration},set:function(e){this._forwardExtrapolationDuration!==e&&(this._forwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationType:{get:function(){return this._backwardExtrapolationType},set:function(e){this._backwardExtrapolationType!==e&&(this._backwardExtrapolationType=e,this._definitionChanged.raiseEvent(this))}},backwardExtrapolationDuration:{get:function(){return this._backwardExtrapolationDuration},set:function(e){this._backwardExtrapolationDuration!==e&&(this._backwardExtrapolationDuration=e,this._definitionChanged.raiseEvent(this))}}});var iZe=new K;Rf.prototype.getValue=function(e,t){l(e)||(e=K.now(iZe));let n=this._times,i=n.length;if(i===0)return;let o,r=this._innerType,s=this._values,a=Ro(n,e,K.compare);if(a<0){if(a=~a,a===0){let S=n[a];if(o=this._backwardExtrapolationDuration,this._backwardExtrapolationType===Of.NONE||o!==0&&K.secondsDifference(S,e)>o)return;if(this._backwardExtrapolationType===Of.HOLD)return r.unpack(s,0,t)}if(a>=i){a=i-1;let S=n[a];if(o=this._forwardExtrapolationDuration,this._forwardExtrapolationType===Of.NONE||o!==0&&K.secondsDifference(e,S)>o)return;if(this._forwardExtrapolationType===Of.HOLD)return a=i-1,r.unpack(s,a*r.packedLength,t)}let c=this._xTable,u=this._yTable,f=this._interpolationAlgorithm,d=this._packedInterpolationLength,p=this._inputOrder;if(this._updateTableLength){this._updateTableLength=!1;let S=Math.min(f.getRequiredDataPoints(this._interpolationDegree,p),i);S!==this._numberOfPoints&&(this._numberOfPoints=S,c.length=S,u.length=S*d)}let g=this._numberOfPoints-1;if(g<1)return;let m=0,x=i-1;if(x-m+1>=g+1){let S=a-(g/2|0)-1;S<m&&(S=m);let v=S+g;v>x&&(v=x,S=v-g,S<m&&(S=m)),m=S,x=v}let T=x-m+1;for(let S=0;S<T;++S)c[S]=K.secondsDifference(n[m+S],n[x]);if(l(r.convertPackedArrayForInterpolation))r.convertPackedArrayForInterpolation(s,m,x,u);else{let S=0,v=this._packedLength,D=m*v,R=(x+1)*v;for(;D<R;)u[S]=s[D],D++,S++}let C=K.secondsDifference(e,n[x]),A;if(p===0||!l(f.interpolate))A=f.interpolateOrderZero(C,c,u,d,this._interpolationResult);else{let S=Math.floor(d/(p+1));A=f.interpolate(C,c,u,S,p,p,this._interpolationResult)}return l(r.unpackInterpolationResult)?r.unpackInterpolationResult(A,s,m,x,t):r.unpack(A,0,t)}return r.unpack(s,a*this._packedLength,t)};Rf.prototype.setInterpolationOptions=function(e){if(!l(e))return;let t=!1,n=e.interpolationAlgorithm,i=e.interpolationDegree;l(n)&&this._interpolationAlgorithm!==n&&(this._interpolationAlgorithm=n,t=!0),l(i)&&this._interpolationDegree!==i&&(this._interpolationDegree=i,t=!0),t&&(this._updateTableLength=!0,this._definitionChanged.raiseEvent(this))};Rf.prototype.addSample=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=[];if(s.push(e),r.pack(t,s,s.length),o){let a=i.length;for(let c=0;c<a;c++)i[c].pack(n[c],s,s.length)}v3(void 0,this._times,this._values,s,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Rf.prototype.addSamples=function(e,t,n){let i=this._innerDerivativeTypes,o=l(i),r=this._innerType,s=e.length,a=[];for(let c=0;c<s;c++)if(a.push(e[c]),r.pack(t[c],a,a.length),o){let u=n[c],f=i.length;for(let d=0;d<f;d++)i[d].pack(u[d],a,a.length)}v3(void 0,this._times,this._values,a,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Rf.prototype.getSample=function(e){let t=this._times,n=t.length;if(l(n))return e<0&&(e+=n),t[e]};Rf.prototype.addSamplesPackedArray=function(e,t){v3(t,this._times,this._values,e,this._packedLength),this._updateTableLength=!0,this._definitionChanged.raiseEvent(this)};Rf.prototype.removeSample=function(e){let t=Ro(this._times,e,K.compare);return t<0?!1:(Eue(this,t,1),!0)};function Eue(e,t,n){let i=e._packedLength;e._times.splice(t,n),e._values.splice(t*i,n*i),e._updateTableLength=!0,e._definitionChanged.raiseEvent(e)}Rf.prototype.removeSamples=function(e){let t=this._times,n=Ro(t,e.start,K.compare);n<0?n=~n:e.isStartIncluded||++n;let i=Ro(t,e.stop,K.compare);i<0?i=~i:e.isStopIncluded&&++i,Eue(this,n,i-n)};Rf.prototype.equals=function(e){if(this===e)return!0;if(!l(e)||this._type!==e._type||this._interpolationDegree!==e._interpolationDegree||this._interpolationAlgorithm!==e._interpolationAlgorithm)return!1;let t=this._derivativeTypes,n=l(t),i=e._derivativeTypes,o=l(i);if(n!==o)return!1;let r,s;if(n){if(s=t.length,s!==i.length)return!1;for(r=0;r<s;r++)if(t[r]!==i[r])return!1}let a=this._times,c=e._times;if(s=a.length,s!==c.length)return!1;for(r=0;r<s;r++)if(!K.equals(a[r],c[r]))return!1;let u=this._values,f=e._values;for(s=u.length,r=0;r<s;r++)if(u[r]!==f[r])return!1;return!0};Rf._mergeNewSamples=v3;var Mf=Rf;function Lf(e,t){t=y(t,0);let n;if(t>0){n=new Array(t);for(let i=0;i<t;i++)n[i]=h}this._numberOfDerivatives=t,this._property=new Mf(h,n),this._definitionChanged=new me,this._referenceFrame=y(e,Vi.FIXED),this._property._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)}Object.defineProperties(Lf.prototype,{isConstant:{get:function(){return this._property.isConstant}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return this._referenceFrame}},interpolationDegree:{get:function(){return this._property.interpolationDegree}},interpolationAlgorithm:{get:function(){return this._property.interpolationAlgorithm}},numberOfDerivatives:{get:function(){return this._numberOfDerivatives}},forwardExtrapolationType:{get:function(){return this._property.forwardExtrapolationType},set:function(e){this._property.forwardExtrapolationType=e}},forwardExtrapolationDuration:{get:function(){return this._property.forwardExtrapolationDuration},set:function(e){this._property.forwardExtrapolationDuration=e}},backwardExtrapolationType:{get:function(){return this._property.backwardExtrapolationType},set:function(e){this._property.backwardExtrapolationType=e}},backwardExtrapolationDuration:{get:function(){return this._property.backwardExtrapolationDuration},set:function(e){this._property.backwardExtrapolationDuration=e}}});var oZe=new K;Lf.prototype.getValue=function(e,t){return l(e)||(e=K.now(oZe)),this.getValueInReferenceFrame(e,Vi.FIXED,t)};Lf.prototype.getValueInReferenceFrame=function(e,t,n){if(n=this._property.getValue(e,n),l(n))return Mh.convertToReferenceFrame(e,n,this._referenceFrame,t,n)};Lf.prototype.setInterpolationOptions=function(e){this._property.setInterpolationOptions(e)};Lf.prototype.addSample=function(e,t,n){let i=this._numberOfDerivatives;this._property.addSample(e,t,n)};Lf.prototype.addSamples=function(e,t,n){this._property.addSamples(e,t,n)};Lf.prototype.addSamplesPackedArray=function(e,t){this._property.addSamplesPackedArray(e,t)};Lf.prototype.removeSample=function(e){return this._property.removeSample(e)};Lf.prototype.removeSamples=function(e){this._property.removeSamples(e)};Lf.prototype.equals=function(e){return this===e||e instanceof Lf&&q.equals(this._property,e._property)&&this._referenceFrame===e._referenceFrame};var Ra=Lf;var rZe={HORIZONTAL:0,VERTICAL:1},fm=Object.freeze(rZe);var sZe=fm.HORIZONTAL,aZe=z.WHITE,cZe=z.BLACK,lZe=0,uZe=1;function UA(e){e=y(e,y.EMPTY_OBJECT),this._definitionChanged=new me,this._orientation=void 0,this._orientationSubscription=void 0,this._evenColor=void 0,this._evenColorSubscription=void 0,this._oddColor=void 0,this._oddColorSubscription=void 0,this._offset=void 0,this._offsetSubscription=void 0,this._repeat=void 0,this._repeatSubscription=void 0,this.orientation=e.orientation,this.evenColor=e.evenColor,this.oddColor=e.oddColor,this.offset=e.offset,this.repeat=e.repeat}Object.defineProperties(UA.prototype,{isConstant:{get:function(){return q.isConstant(this._orientation)&&q.isConstant(this._evenColor)&&q.isConstant(this._oddColor)&&q.isConstant(this._offset)&&q.isConstant(this._repeat)}},definitionChanged:{get:function(){return this._definitionChanged}},orientation:le("orientation"),evenColor:le("evenColor"),oddColor:le("oddColor"),offset:le("offset"),repeat:le("repeat")});UA.prototype.getType=function(e){return"Stripe"};var fZe=new K;UA.prototype.getValue=function(e,t){return l(e)||(e=K.now(fZe)),l(t)||(t={}),t.horizontal=q.getValueOrDefault(this._orientation,e,sZe)===fm.HORIZONTAL,t.evenColor=q.getValueOrClonedDefault(this._evenColor,e,aZe,t.evenColor),t.oddColor=q.getValueOrClonedDefault(this._oddColor,e,cZe,t.oddColor),t.offset=q.getValueOrDefault(this._offset,e,lZe),t.repeat=q.getValueOrDefault(this._repeat,e,uZe),t};UA.prototype.equals=function(e){return this===e||e instanceof UA&&q.equals(this._orientation,e._orientation)&&q.equals(this._evenColor,e._evenColor)&&q.equals(this._oddColor,e._oddColor)&&q.equals(this._offset,e._offset)&&q.equals(this._repeat,e._repeat)};var wD=UA;function hy(e){this._definitionChanged=new me,this._intervals=new Kr,this._intervals.changedEvent.addEventListener(hy.prototype._intervalsChanged,this),this._referenceFrame=y(e,Vi.FIXED)}Object.defineProperties(hy.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}},referenceFrame:{get:function(){return this._referenceFrame}}});var dZe=new K;hy.prototype.getValue=function(e,t){return l(e)||(e=K.now(dZe)),this.getValueInReferenceFrame(e,Vi.FIXED,t)};hy.prototype.getValueInReferenceFrame=function(e,t,n){let i=this._intervals.findDataForIntervalContainingDate(e);if(l(i))return Mh.convertToReferenceFrame(e,i,this._referenceFrame,t,n)};hy.prototype.equals=function(e){return this===e||e instanceof hy&&this._intervals.equals(e._intervals,q.equals)&&this._referenceFrame===e._referenceFrame};hy.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var my=hy;function $x(){this._definitionChanged=new me,this._intervals=new Kr,this._intervals.changedEvent.addEventListener($x.prototype._intervalsChanged,this)}Object.defineProperties($x.prototype,{isConstant:{get:function(){return this._intervals.isEmpty}},definitionChanged:{get:function(){return this._definitionChanged}},intervals:{get:function(){return this._intervals}}});var hZe=new K;$x.prototype.getValue=function(e,t){l(e)||(e=K.now(hZe));let n=this._intervals.findDataForIntervalContainingDate(e);return l(n)&&typeof n.clone=="function"?n.clone(t):n};$x.prototype.equals=function(e){return this===e||e instanceof $x&&this._intervals.equals(e._intervals,q.equals)};$x.prototype._intervalsChanged=function(){this._definitionChanged.raiseEvent(this)};var py=$x;function zA(e,t){this._position=void 0,this._subscription=void 0,this._definitionChanged=new me,this._normalize=y(t,!0),this.position=e}Object.defineProperties(zA.prototype,{isConstant:{get:function(){return q.isConstant(this._position)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._position},set:function(e){let t=this._position;t!==e&&(l(t)&&this._subscription(),this._position=e,l(e)&&(this._subscription=e._definitionChanged.addEventListener(function(){this._definitionChanged.raiseEvent(this)},this)),this._definitionChanged.raiseEvent(this))}},normalize:{get:function(){return this._normalize},set:function(e){this._normalize!==e&&(this._normalize=e,this._definitionChanged.raiseEvent(this))}}});var mZe=new h,Sue=new h,vue=new K,pZe=new K,s7=1/60;zA.prototype.getValue=function(e,t){return this._getValue(e,t)};zA.prototype._getValue=function(e,t,n){l(e)||(e=K.now(pZe)),l(t)||(t=new h);let i=this._position;if(q.isConstant(i))return this._normalize?void 0:h.clone(h.ZERO,t);let o=i.getValue(e,mZe),r=i.getValue(K.addSeconds(e,s7,vue),Sue);if(!l(o)||!l(r)&&(r=o,o=i.getValue(K.addSeconds(e,-s7,vue),Sue),!l(o)))return;if(h.equals(o,r))return this._normalize?void 0:h.clone(h.ZERO,t);l(n)&&o.clone(n);let s=h.subtract(r,o,t);return this._normalize?h.normalize(s,t):h.divideByScalar(s,s7,t)};zA.prototype.equals=function(e){return this===e||e instanceof zA&&q.equals(this._position,e._position)};var _y=zA;function DD(e,t){this._velocityVectorProperty=new _y(e,!0),this._subscription=void 0,this._ellipsoid=void 0,this._definitionChanged=new me,this.ellipsoid=y(t,ee.default);let n=this;this._velocityVectorProperty.definitionChanged.addEventListener(function(){n._definitionChanged.raiseEvent(n)})}Object.defineProperties(DD.prototype,{isConstant:{get:function(){return q.isConstant(this._velocityVectorProperty)}},definitionChanged:{get:function(){return this._definitionChanged}},position:{get:function(){return this._velocityVectorProperty.position},set:function(e){this._velocityVectorProperty.position=e}},ellipsoid:{get:function(){return this._ellipsoid},set:function(e){this._ellipsoid!==e&&(this._ellipsoid=e,this._definitionChanged.raiseEvent(this))}}});var wue=new h,_Ze=new h,Due=new $,gZe=new K;DD.prototype.getValue=function(e,t){l(e)||(e=K.now(gZe));let n=this._velocityVectorProperty._getValue(e,_Ze,wue);if(l(n))return Mt.rotationMatrixFromPositionVelocity(wue,n,this._ellipsoid,Due),Le.fromRotationMatrix(Due,t)};DD.prototype.equals=function(e){return this===e||e instanceof DD&&q.equals(this._velocityVectorProperty,e._velocityVectorProperty)&&(this._ellipsoid===e._ellipsoid||this._ellipsoid.equals(e._ellipsoid))};var w3=DD;var n_={COMPLETE:0,BELOW_ELLIPSOID_HORIZON:1,ABOVE_ELLIPSOID_HORIZON:2};n_.validate=function(e){return e===n_.COMPLETE||e===n_.BELOW_ELLIPSOID_HORIZON||e===n_.ABOVE_ELLIPSOID_HORIZON};n_.toString=function(e){switch(e){case n_.COMPLETE:return"COMPLETE";case n_.BELOW_ELLIPSOID_HORIZON:return"BELOW_ELLIPSOID_HORIZON";case n_.ABOVE_ELLIPSOID_HORIZON:return"ABOVE_ELLIPSOID_HORIZON";default:throw new de("SensorVolumePortionToDisplay value is not valid and cannot be converted to a String.")}};var ID=n_;function gy(){}gy.packedLength=h.packedLength;gy.unpack=h.unpack;gy.pack=h.pack;var a7;function PD(e,t){return t[0]==="#"&&(t=a7+t),dy.fromString(e,t)}function Iue(e,t,n){if(l(n.reference))return PD(t,n.reference);if(l(n.velocityReference)){let i=PD(t,n.velocityReference);switch(e){case h:case gy:return new _y(i,e===gy);case Le:return new w3(i)}}throw new se(`${JSON.stringify(n)} is not valid CZML.`)}function yZe(e,t){return new Bh(function(n,i){return t(e.getValue(n,i))},e.isConstant)}var Fi=new h,Wc=new S3,lc=new fe,Qx=new vn,D3=new Le;function xZe(e){let t=e.rgbaf;if(l(t))return t;let n=e.rgba;if(!l(n))return;let i=n.length;if(i===z.packedLength)return[z.byteToFloat(n[0]),z.byteToFloat(n[1]),z.byteToFloat(n[2]),z.byteToFloat(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=z.byteToFloat(n[o+1]),t[o+2]=z.byteToFloat(n[o+2]),t[o+3]=z.byteToFloat(n[o+3]),t[o+4]=z.byteToFloat(n[o+4]);return t}function Pue(e,t){let n=y(e.uri,e);return l(t)?t.getDerivedResource({url:n}):Ae.createIfNeeded(n)}function bZe(e){let t=e.wsen;if(l(t))return t;let n=e.wsenDegrees;if(!l(n))return;let i=n.length;if(i===ae.packedLength)return[P.toRadians(n[0]),P.toRadians(n[1]),P.toRadians(n[2]),P.toRadians(n[3])];t=new Array(i);for(let o=0;o<i;o+=5)t[o]=n[o],t[o+1]=P.toRadians(n[o+1]),t[o+2]=P.toRadians(n[o+2]),t[o+3]=P.toRadians(n[o+3]),t[o+4]=P.toRadians(n[o+4]);return t}function TZe(e){let t=e.length;if(Wc.magnitude=1,t===2)return Wc.clock=e[0],Wc.cone=e[1],h.fromSpherical(Wc,Fi),[Fi.x,Fi.y,Fi.z];let n=new Array(t/3*4);for(let i=0,o=0;i<t;i+=3,o+=4)n[o]=e[i],Wc.clock=e[i+1],Wc.cone=e[i+2],h.fromSpherical(Wc,Fi),n[o+1]=Fi.x,n[o+2]=Fi.y,n[o+3]=Fi.z;return n}function CZe(e){let t=e.length;if(t===3)return Wc.clock=e[0],Wc.cone=e[1],Wc.magnitude=e[2],h.fromSpherical(Wc,Fi),[Fi.x,Fi.y,Fi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],Wc.clock=e[i+1],Wc.cone=e[i+2],Wc.magnitude=e[i+3],h.fromSpherical(Wc,Fi),n[i+1]=Fi.x,n[i+2]=Fi.y,n[i+3]=Fi.z;return n}function AZe(e){let t=e.length;if(t===3)return lc.longitude=e[0],lc.latitude=e[1],lc.height=e[2],ee.default.cartographicToCartesian(lc,Fi),[Fi.x,Fi.y,Fi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],lc.longitude=e[i+1],lc.latitude=e[i+2],lc.height=e[i+3],ee.default.cartographicToCartesian(lc,Fi),n[i+1]=Fi.x,n[i+2]=Fi.y,n[i+3]=Fi.z;return n}function EZe(e){let t=e.length;if(t===3)return lc.longitude=P.toRadians(e[0]),lc.latitude=P.toRadians(e[1]),lc.height=e[2],ee.default.cartographicToCartesian(lc,Fi),[Fi.x,Fi.y,Fi.z];let n=new Array(t);for(let i=0;i<t;i+=4)n[i]=e[i],lc.longitude=P.toRadians(e[i+1]),lc.latitude=P.toRadians(e[i+2]),lc.height=e[i+3],ee.default.cartographicToCartesian(lc,Fi),n[i+1]=Fi.x,n[i+2]=Fi.y,n[i+3]=Fi.z;return n}function c7(e){let t=e.cartesian;if(l(t))return t;let n=e.cartesianVelocity;if(l(n))return n;let i=e.unitCartesian;if(l(i))return i;let o=e.unitSpherical;if(l(o))return TZe(o);let r=e.spherical;if(l(r))return CZe(r);let s=e.cartographicRadians;if(l(s))return AZe(s);let a=e.cartographicDegrees;if(l(a))return EZe(a);throw new se(`${JSON.stringify(e)} is not a valid CZML interval.`)}function Oue(e,t){h.unpack(e,t,Fi),h.normalize(Fi,Fi),h.pack(Fi,e,t)}function SZe(e){let t=c7(e);if(t.length===3)return Oue(t,0),t;for(let n=1;n<t.length;n+=4)Oue(t,n);return t}function Rue(e,t){Le.unpack(e,t,D3),Le.normalize(D3,D3),Le.pack(D3,e,t)}function vZe(e){let t=e.unitQuaternion;if(l(t)){if(t.length===4)return Rue(t,0),t;for(let n=1;n<t.length;n+=5)Rue(t,n)}return t}function Mue(e){return typeof e=="boolean"?Boolean:typeof e=="number"?Number:typeof e=="string"?String:e.hasOwnProperty("array")?Array:e.hasOwnProperty("boolean")?Boolean:e.hasOwnProperty("boundingRectangle")?Ye:e.hasOwnProperty("cartesian2")?U:e.hasOwnProperty("cartesian")||e.hasOwnProperty("spherical")||e.hasOwnProperty("cartographicRadians")||e.hasOwnProperty("cartographicDegrees")?h:e.hasOwnProperty("unitCartesian")||e.hasOwnProperty("unitSpherical")?gy:e.hasOwnProperty("rgba")||e.hasOwnProperty("rgbaf")?z:e.hasOwnProperty("arcType")?nn:e.hasOwnProperty("classificationType")?Un:e.hasOwnProperty("colorBlendMode")?Fc:e.hasOwnProperty("cornerType")?Ni:e.hasOwnProperty("heightReference")?Xe:e.hasOwnProperty("horizontalOrigin")?bi:e.hasOwnProperty("date")?K:e.hasOwnProperty("labelStyle")?Zo:e.hasOwnProperty("number")?Number:e.hasOwnProperty("nearFarScalar")?kt:e.hasOwnProperty("distanceDisplayCondition")?Lt:e.hasOwnProperty("object")||e.hasOwnProperty("value")?Object:e.hasOwnProperty("unitQuaternion")?Le:e.hasOwnProperty("shadowMode")?bn:e.hasOwnProperty("string")?String:e.hasOwnProperty("stripeOrientation")?fm:e.hasOwnProperty("wsen")||e.hasOwnProperty("wsenDegrees")?ae:e.hasOwnProperty("uri")?RD.default:e.hasOwnProperty("verticalOrigin")?Ln:Object}function wZe(e,t,n){switch(e){case nn:return nn[y(t.arcType,t)];case Array:return t.array;case Boolean:return y(t.boolean,t);case Ye:return t.boundingRectangle;case U:return t.cartesian2;case h:return c7(t);case gy:return SZe(t);case z:return xZe(t);case Un:return Un[y(t.classificationType,t)];case Fc:return Fc[y(t.colorBlendMode,t)];case Ni:return Ni[y(t.cornerType,t)];case Xe:return Xe[y(t.heightReference,t)];case bi:return bi[y(t.horizontalOrigin,t)];case Image:return Pue(t,n);case K:return K.fromIso8601(y(t.date,t));case Zo:return Zo[y(t.labelStyle,t)];case Number:return y(t.number,t);case kt:return t.nearFarScalar;case Lt:return t.distanceDisplayCondition;case Object:return y(y(t.object,t.value),t);case Le:return vZe(t);case Nd:return y(t.number,t);case ID:return ID[y(t.portionToDisplay,t)];case bn:return bn[y(y(t.shadowMode,t.shadows),t)];case String:return y(t.string,t);case fm:return fm[y(t.stripeOrientation,t)];case ae:return bZe(t);case RD.default:return Pue(t,n);case Ln:return Ln[y(t.verticalOrigin,t)];default:throw new se(`Unknown CzmlDataSource interval type: ${e}`)}}var DZe={HERMITE:A3,LAGRANGE:E3,LINEAR:LA};function I3(e,t){let n=e.interpolationAlgorithm,i=e.interpolationDegree;(l(n)||l(i))&&t.setInterpolationOptions({interpolationAlgorithm:DZe[n],interpolationDegree:i});let o=e.forwardExtrapolationType;l(o)&&(t.forwardExtrapolationType=Of[o]);let r=e.forwardExtrapolationDuration;l(r)&&(t.forwardExtrapolationDuration=r);let s=e.backwardExtrapolationType;l(s)&&(t.backwardExtrapolationType=Of[s]);let a=e.backwardExtrapolationDuration;l(a)&&(t.backwardExtrapolationDuration=a)}var Lue={iso8601:void 0};function cr(e){if(l(e))return Lue.iso8601=e,vn.fromIso8601(Lue)}function l7(e){let t=Ge.MAXIMUM_INTERVAL.clone();return t.data=e,t}function Nue(e){let t=new zc;return t.intervals.addInterval(l7(e)),t}function Fue(e){let t=new Oa(e.referenceFrame);return t.intervals.addInterval(l7(e)),t}function P3(e,t,n,i,o,r,s){let a=cr(i.interval);l(o)&&(l(a)?a=vn.intersect(a,o,Qx):a=o);let c,u,f,d=!l(i.reference)&&!l(i.velocityReference),p=l(a)&&!a.equals(Ge.MAXIMUM_INTERVAL);if(i.delete===!0){if(!p){t[n]=void 0;return}return Yue(t[n],a)}let g=!1;if(d){if(u=wZe(e,i,r),!l(u))return;c=y(e.packedLength,1),f=y(u.length,1),g=!l(i.array)&&typeof u!="string"&&f>c&&e!==Object}let m=typeof e.unpack=="function"&&e!==Nd;if(!g&&!p){d?t[n]=new $n(m?e.unpack(u,0):u):t[n]=Iue(e,s,i);return}let x=t[n],b,T=i.epoch;if(l(T)&&(b=K.fromIso8601(T)),g&&!p){x instanceof Mf||(t[n]=x=new Mf(e)),x.addSamplesPackedArray(u,b),I3(i,x);return}let C;if(!g&&p){a=a.clone(),d?a.data=m?e.unpack(u,0):u:a.data=Iue(e,s,i),l(x)||(t[n]=x=d?new py:new zc),d&&x instanceof py?x.intervals.addInterval(a):x instanceof zc?(d&&(a.data=new $n(a.data)),x.intervals.addInterval(a)):(t[n]=x=Nue(x),d&&(a.data=new $n(a.data)),x.intervals.addInterval(a));return}l(x)||(t[n]=x=new zc),x instanceof zc||(t[n]=x=Nue(x));let A=x.intervals;C=A.findInterval(a),(!l(C)||!(C.data instanceof Mf))&&(C=a.clone(),C.data=new Mf(e),A.addInterval(C)),C.data.addSamplesPackedArray(u,b),I3(i,C.data)}function Yue(e,t){if(e instanceof Mf){e.removeSamples(t);return}else if(e instanceof py){e.intervals.removeInterval(t);return}else if(e instanceof zc){let n=e.intervals;for(let i=0;i<n.length;++i){let o=vn.intersect(n.get(i),t,Qx);o.isEmpty||Yue(o.data,t)}n.removeInterval(t);return}}function ge(e,t,n,i,o,r,s){if(l(i))if(Array.isArray(i))for(let a=0,c=i.length;a<c;++a)P3(e,t,n,i[a],o,r,s);else P3(e,t,n,i,o,r,s)}function Bue(e,t,n,i,o,r){let s=cr(n.interval);l(i)&&(l(s)?s=vn.intersect(s,i,Qx):s=i);let a=l(n.cartesianVelocity)?1:0,c=h.packedLength*(a+1),u,f,d=!l(n.reference),p=l(s)&&!s.equals(Ge.MAXIMUM_INTERVAL);if(n.delete===!0){if(!p){e[t]=void 0;return}return Xue(e[t],s)}let g,m=!1;if(d&&(l(n.referenceFrame)&&(g=Vi[n.referenceFrame]),g=y(g,Vi.FIXED),u=c7(n),f=y(u.length,1),m=f>c),!m&&!p){d?e[t]=new ml(h.unpack(u),g):e[t]=PD(r,n.reference);return}let x=e[t],b,T=n.epoch;if(l(T)&&(b=K.fromIso8601(T)),m&&!p){(!(x instanceof Ra)||l(g)&&x.referenceFrame!==g)&&(e[t]=x=new Ra(g,a)),x.addSamplesPackedArray(u,b),I3(n,x);return}let C;if(!m&&p){s=s.clone(),d?s.data=h.unpack(u):s.data=PD(r,n.reference),l(x)||(d?x=new my(g):x=new Oa(g),e[t]=x),d&&x instanceof my&&l(g)&&x.referenceFrame===g?x.intervals.addInterval(s):x instanceof Oa?(d&&(s.data=new ml(s.data,g)),x.intervals.addInterval(s)):(e[t]=x=Fue(x),d&&(s.data=new ml(s.data,g)),x.intervals.addInterval(s));return}l(x)?x instanceof Oa||(e[t]=x=Fue(x)):e[t]=x=new Oa(g);let A=x.intervals;C=A.findInterval(s),(!l(C)||!(C.data instanceof Ra)||l(g)&&C.data.referenceFrame!==g)&&(C=s.clone(),C.data=new Ra(g,a),A.addInterval(C)),C.data.addSamplesPackedArray(u,b),I3(n,C.data)}function Xue(e,t){if(e instanceof Ra){e.removeSamples(t);return}else if(e instanceof my){e.intervals.removeInterval(t);return}else if(e instanceof Oa){let n=e.intervals;for(let i=0;i<n.length;++i){let o=vn.intersect(n.get(i),t,Qx);o.isEmpty||Xue(o.data,t)}n.removeInterval(t);return}}function Kue(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Bue(e,t,n[s],i,o,r);else Bue(e,t,n,i,o,r)}function kue(e,t,n,i){l(n.references)?O3(e,t,n.references,n.interval,i,vD,zc):(l(n.cartesian2)?n.array=U.unpackArray(n.cartesian2):l(n.cartesian)&&(n.array=U.unpackArray(n.cartesian)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function Vue(e,t,n,i,o,r){let s=cr(n.interval);l(i)&&(l(s)?s=vn.intersect(s,i,Qx):s=i);let a=e[t],c,u;if(l(s)){a instanceof pD||(a=new pD,e[t]=a);let d=a.intervals;u=d.findInterval({start:s.start,stop:s.stop}),l(u)?c=u.data:(u=s.clone(),d.addInterval(u))}else c=a;let f;l(n.solidColor)?(c instanceof Ht||(c=new Ht),f=n.solidColor,ge(z,c,"color",f.color,void 0,void 0,r)):l(n.grid)?(c instanceof CD||(c=new CD),f=n.grid,ge(z,c,"color",f.color,void 0,o,r),ge(Number,c,"cellAlpha",f.cellAlpha,void 0,o,r),ge(U,c,"lineCount",f.lineCount,void 0,o,r),ge(U,c,"lineThickness",f.lineThickness,void 0,o,r),ge(U,c,"lineOffset",f.lineOffset,void 0,o,r)):l(n.image)?(c instanceof nx||(c=new nx),f=n.image,ge(Image,c,"image",f.image,void 0,o,r),ge(U,c,"repeat",f.repeat,void 0,o,r),ge(z,c,"color",f.color,void 0,o,r),ge(Boolean,c,"transparent",f.transparent,void 0,o,r)):l(n.stripe)?(c instanceof wD||(c=new wD),f=n.stripe,ge(fm,c,"orientation",f.orientation,void 0,o,r),ge(z,c,"evenColor",f.evenColor,void 0,o,r),ge(z,c,"oddColor",f.oddColor,void 0,o,r),ge(Number,c,"offset",f.offset,void 0,o,r),ge(Number,c,"repeat",f.repeat,void 0,o,r)):l(n.polylineOutline)?(c instanceof Kx||(c=new Kx),f=n.polylineOutline,ge(z,c,"color",f.color,void 0,o,r),ge(z,c,"outlineColor",f.outlineColor,void 0,o,r),ge(Number,c,"outlineWidth",f.outlineWidth,void 0,o,r)):l(n.polylineGlow)?(c instanceof SD||(c=new SD),f=n.polylineGlow,ge(z,c,"color",f.color,void 0,o,r),ge(Number,c,"glowPower",f.glowPower,void 0,o,r),ge(Number,c,"taperPower",f.taperPower,void 0,o,r)):l(n.polylineArrow)?(c instanceof AD||(c=new AD),f=n.polylineArrow,ge(z,c,"color",f.color,void 0,void 0,r)):l(n.polylineDash)?(c instanceof ED||(c=new ED),f=n.polylineDash,ge(z,c,"color",f.color,void 0,void 0,r),ge(z,c,"gapColor",f.gapColor,void 0,void 0,r),ge(Number,c,"dashLength",f.dashLength,void 0,o,r),ge(Number,c,"dashPattern",f.dashPattern,void 0,o,r)):l(n.checkerboard)&&(c instanceof fD||(c=new fD),f=n.checkerboard,ge(z,c,"evenColor",f.evenColor,void 0,o,r),ge(z,c,"oddColor",f.oddColor,void 0,o,r),ge(U,c,"repeat",f.repeat,void 0,o,r)),l(u)?u.data=c:e[t]=c}function pu(e,t,n,i,o,r){if(l(n))if(Array.isArray(n))for(let s=0,a=n.length;s<a;++s)Vue(e,t,n[s],i,o,r);else Vue(e,t,n,i,o,r)}function IZe(e,t,n,i){let o=t.name;l(o)&&(e.name=t.name)}function PZe(e,t,n,i){let o=t.description;l(o)&&ge(String,e,"description",o,void 0,i,n)}function OZe(e,t,n,i){let o=t.position;l(o)&&Kue(e,"position",o,void 0,i,n)}function RZe(e,t,n,i){let o=t.viewFrom;l(o)&&ge(h,e,"viewFrom",o,void 0,i,n)}function MZe(e,t,n,i){let o=t.orientation;l(o)&&ge(Le,e,"orientation",o,void 0,i,n)}function LZe(e,t,n,i){let o=t.properties;if(l(o)){l(e.properties)||(e.properties=new Jl);for(let r in o)if(o.hasOwnProperty(r)){e.properties.hasProperty(r)||e.properties.addProperty(r);let s=o[r];if(Array.isArray(s))for(let a=0,c=s.length;a<c;++a)P3(Mue(s[a]),e.properties,r,s[a],void 0,i,n);else P3(Mue(s),e.properties,r,s,void 0,i,n)}}}function O3(e,t,n,i,o,r,s){let a=n.map(function(c){return PD(o,c)});if(l(i)){i=cr(i);let c=e[t];if(!(c instanceof s)){let u=new s;u.intervals.addInterval(l7(c)),e[t]=c=u}i.data=new r(a),c.intervals.addInterval(i)}else e[t]=new r(a)}function Uue(e,t,n,i){let o=n.references;l(o)?O3(e,t,o,n.interval,i,vD,zc):ge(Array,e,t,n,void 0,void 0,i)}function zue(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Uue(e,t,n[o],i);else Uue(e,t,n,i)}function Hue(e,t,n,i){let o=n.references;l(o)?O3(e,t,o,n.interval,i,uy,Oa):(l(n.cartesian)?n.array=h.unpackArray(n.cartesian):l(n.cartographicRadians)?n.array=h.fromRadiansArrayHeights(n.cartographicRadians,ee.default):l(n.cartographicDegrees)&&(n.array=h.fromDegreesArrayHeights(n.cartographicDegrees,ee.default)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i))}function MD(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Hue(e,t,n[o],i);else Hue(e,t,n,i)}function NZe(e){return h.unpackArray(e)}function FZe(e){return h.fromRadiansArrayHeights(e,ee.default)}function BZe(e){return h.fromDegreesArrayHeights(e,ee.default)}function Gue(e,t,n,i){let o=n.references;if(l(o)){let r=o.map(function(s){let a={};return O3(a,"positions",s,n.interval,i,uy,Oa),a.positions});e[t]=new uy(r)}else l(n.cartesian)?n.array=n.cartesian.map(NZe):l(n.cartographicRadians)?n.array=n.cartographicRadians.map(FZe):l(n.cartographicDegrees)&&(n.array=n.cartographicDegrees.map(BZe)),l(n.array)&&ge(Array,e,t,n,void 0,void 0,i)}function kZe(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;++o)Gue(e,t,n[o],i);else Gue(e,t,n,i)}function VZe(e,t,n,i){if(l(n))if(Array.isArray(n))for(let o=0,r=n.length;o<r;o++)kue(e,t,n[o],i);else kue(e,t,n,i)}function UZe(e,t,n,i){let o=t.availability;if(!l(o))return;let r;if(Array.isArray(o))for(let s=0,a=o.length;s<a;++s)l(r)||(r=new Kr),r.addInterval(cr(o[s]));else r=new Kr,r.addInterval(cr(o));e.availability=r}function zZe(e,t,n,i,o){l(t)&&ge(gy,e,"alignedAxis",t,n,i,o)}function HZe(e,t,n,i){let o=t.billboard;if(!l(o))return;let r=cr(o.interval),s=e.billboard;l(s)||(e.billboard=s=new vc),ge(Boolean,s,"show",o.show,r,i,n),ge(Image,s,"image",o.image,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(U,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(bi,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Ln,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"color",o.color,r,i,n),ge(Nd,s,"rotation",o.rotation,r,i,n),zZe(s,o.alignedAxis,r,i,n),ge(Boolean,s,"sizeInMeters",o.sizeInMeters,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(kt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(kt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(kt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(Ye,s,"imageSubRegion",o.imageSubRegion,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function GZe(e,t,n,i){let o=t.box;if(!l(o))return;let r=cr(o.interval),s=e.box;l(s)||(e.box=s=new JT),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"dimensions",o.dimensions,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function WZe(e,t,n,i){let o=t.corridor;if(!l(o))return;let r=cr(o.interval),s=e.corridor;l(s)||(e.corridor=s=new tC),ge(Boolean,s,"show",o.show,r,i,n),MD(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Xe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Ni,s,"cornerType",o.cornerType,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function jZe(e,t,n,i){let o=t.cylinder;if(!l(o))return;let r=cr(o.interval),s=e.cylinder;l(s)||(e.cylinder=s=new nC),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"length",o.length,r,i,n),ge(Number,s,"topRadius",o.topRadius,r,i,n),ge(Number,s,"bottomRadius",o.bottomRadius,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(Number,s,"slices",o.slices,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function qZe(e,t){let n=e.version;if(l(n)&&typeof n=="string"){let r=n.split(".");if(r.length===2){if(r[0]!=="1")throw new se("Cesium only supports CZML version 1.");t._version=n}}if(!l(t._version))throw new se("CZML version information invalid. It is expected to be a property on the document object in the <Major>.<Minor> version format.");let i=t._documentPacket;l(e.name)&&(i.name=e.name);let o=e.clock;if(l(o)){let r=i.clock;l(r)?(r.interval=y(o.interval,r.interval),r.currentTime=y(o.currentTime,r.currentTime),r.range=y(o.range,r.range),r.step=y(o.step,r.step),r.multiplier=y(o.multiplier,r.multiplier)):i.clock={interval:o.interval,currentTime:o.currentTime,range:o.range,step:o.step,multiplier:o.multiplier}}}function YZe(e,t,n,i){let o=t.ellipse;if(!l(o))return;let r=cr(o.interval),s=e.ellipse;l(s)||(e.ellipse=s=new iC),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"semiMajorAxis",o.semiMajorAxis,r,i,n),ge(Number,s,"semiMinorAxis",o.semiMinorAxis,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Xe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Nd,s,"rotation",o.rotation,r,i,n),ge(Nd,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"numberOfVerticalLines",o.numberOfVerticalLines,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function XZe(e,t,n,i){let o=t.ellipsoid;if(!l(o))return;let r=cr(o.interval),s=e.ellipsoid;l(s)||(e.ellipsoid=s=new oC),ge(Boolean,s,"show",o.show,r,i,n),ge(h,s,"radii",o.radii,r,i,n),ge(h,s,"innerRadii",o.innerRadii,r,i,n),ge(Number,s,"minimumClock",o.minimumClock,r,i,n),ge(Number,s,"maximumClock",o.maximumClock,r,i,n),ge(Number,s,"minimumCone",o.minimumCone,r,i,n),ge(Number,s,"maximumCone",o.maximumCone,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"stackPartitions",o.stackPartitions,r,i,n),ge(Number,s,"slicePartitions",o.slicePartitions,r,i,n),ge(Number,s,"subdivisions",o.subdivisions,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function KZe(e,t,n,i){let o=t.label;if(!l(o))return;let r=cr(o.interval),s=e.label;l(s)||(e.label=s=new Lh),ge(Boolean,s,"show",o.show,r,i,n),ge(String,s,"text",o.text,r,i,n),ge(String,s,"font",o.font,r,i,n),ge(Zo,s,"style",o.style,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Boolean,s,"showBackground",o.showBackground,r,i,n),ge(z,s,"backgroundColor",o.backgroundColor,r,i,n),ge(U,s,"backgroundPadding",o.backgroundPadding,r,i,n),ge(U,s,"pixelOffset",o.pixelOffset,r,i,n),ge(h,s,"eyeOffset",o.eyeOffset,r,i,n),ge(bi,s,"horizontalOrigin",o.horizontalOrigin,r,i,n),ge(Ln,s,"verticalOrigin",o.verticalOrigin,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"fillColor",o.fillColor,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(kt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(kt,s,"pixelOffsetScaleByDistance",o.pixelOffsetScaleByDistance,r,i,n),ge(kt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function ZZe(e,t,n,i){let o=t.model;if(!l(o))return;let r=cr(o.interval),s=e.model;l(s)||(e.model=s=new ng),ge(Boolean,s,"show",o.show,r,i,n),ge(RD.default,s,"uri",o.gltf,r,i,n),ge(Number,s,"scale",o.scale,r,i,n),ge(Number,s,"minimumPixelSize",o.minimumPixelSize,r,i,n),ge(Number,s,"maximumScale",o.maximumScale,r,i,n),ge(Boolean,s,"incrementallyLoadTextures",o.incrementallyLoadTextures,r,i,n),ge(Boolean,s,"runAnimations",o.runAnimations,r,i,n),ge(Boolean,s,"clampAnimations",o.clampAnimations,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"silhouetteColor",o.silhouetteColor,r,i,n),ge(Number,s,"silhouetteSize",o.silhouetteSize,r,i,n),ge(z,s,"color",o.color,r,i,n),ge(Fc,s,"colorBlendMode",o.colorBlendMode,r,i,n),ge(Number,s,"colorBlendAmount",o.colorBlendAmount,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n);let a,c,u=o.nodeTransformations;if(l(u))if(Array.isArray(u))for(a=0,c=u.length;a<c;++a)Wue(s,u[a],r,i,n);else Wue(s,u,r,i,n);let f=o.articulations;if(l(f))if(Array.isArray(f))for(a=0,c=f.length;a<c;++a)jue(s,f[a],r,i,n);else jue(s,f,r,i,n)}function Wue(e,t,n,i,o){let r=cr(t.interval);l(n)&&(l(r)?r=vn.intersect(r,n,Qx):r=n);let s=e.nodeTransformations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];if(!l(d))continue;l(s)||(e.nodeTransformations=s=new Jl),s.hasProperty(f)||s.addProperty(f);let p=s[f];l(p)||(s[f]=p=new rC),ge(h,p,"translation",d.translation,r,i,o),ge(Le,p,"rotation",d.rotation,r,i,o),ge(h,p,"scale",d.scale,r,i,o)}}function jue(e,t,n,i,o){let r=cr(t.interval);l(n)&&(l(r)?r=vn.intersect(r,n,Qx):r=n);let s=e.articulations,a=Object.keys(t);for(let c=0,u=a.length;c<u;++c){let f=a[c];if(f==="interval")continue;let d=t[f];l(d)&&(l(s)||(e.articulations=s=new Jl),s.hasProperty(f)||s.addProperty(f),ge(Number,s,f,d,r,i,o))}}function $Ze(e,t,n,i){let o=t.path;if(!l(o))return;let r=cr(o.interval),s=e.path;l(s)||(e.path=s=new ig),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"leadTime",o.leadTime,r,i,n),ge(Number,s,"trailTime",o.trailTime,r,i,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"resolution",o.resolution,r,i,n),pu(s,"material",o.material,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function QZe(e,t,n,i){let o=t.point;if(!l(o))return;let r=cr(o.interval),s=e.point;l(s)||(e.point=s=new aC),ge(Boolean,s,"show",o.show,r,i,n),ge(Number,s,"pixelSize",o.pixelSize,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(z,s,"color",o.color,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(kt,s,"scaleByDistance",o.scaleByDistance,r,i,n),ge(kt,s,"translucencyByDistance",o.translucencyByDistance,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Number,s,"disableDepthTestDistance",o.disableDepthTestDistance,r,i,n)}function OD(e){this.polygon=e,this._definitionChanged=new me}Object.defineProperties(OD.prototype,{isConstant:{get:function(){let e=this.polygon._positions,t=this.polygon._holes;return(!l(e)||e.isConstant)&&(!l(t)||t.isConstant)}},definitionChanged:{get:function(){return this._definitionChanged}}});OD.prototype.getValue=function(e,t){let n;l(this.polygon._positions)&&(n=this.polygon._positions.getValue(e));let i;return l(this.polygon._holes)&&(i=this.polygon._holes.getValue(e),l(i)&&(i=i.map(function(o){return new Qa(o)}))),l(t)?(t.positions=n,t.holes=i,t):new Qa(n,i)};OD.prototype.equals=function(e){return this===e||e instanceof OD&&q.equals(this.polygon._positions,e.polygon._positions)&&q.equals(this.polygon._holes,e.polygon._holes)};function JZe(e,t,n,i){let o=t.polygon;if(!l(o))return;let r=cr(o.interval),s=e.polygon;l(s)||(e.polygon=s=new Nh),ge(Boolean,s,"show",o.show,r,i,n),MD(s,"_positions",o.positions,n),kZe(s,"_holes",o.holes,n),(l(s._positions)||l(s._holes))&&(s.hierarchy=new OD(s)),ge(Number,s,"height",o.height,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Xe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Nd,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Boolean,s,"perPositionHeight",o.perPositionHeight,r,i,n),ge(Boolean,s,"closeTop",o.closeTop,r,i,n),ge(Boolean,s,"closeBottom",o.closeBottom,r,i,n),ge(nn,s,"arcType",o.arcType,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function e$e(e){return e?nn.GEODESIC:nn.NONE}function t$e(e,t,n,i){let o=t.polyline;if(!l(o))return;let r=cr(o.interval),s=e.polyline;if(l(s)||(e.polyline=s=new Oc),ge(Boolean,s,"show",o.show,r,i,n),MD(s,"positions",o.positions,n),ge(Number,s,"width",o.width,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),pu(s,"material",o.material,r,i,n),pu(s,"depthFailMaterial",o.depthFailMaterial,r,i,n),ge(nn,s,"arcType",o.arcType,r,i,n),ge(Boolean,s,"clampToGround",o.clampToGround,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n),l(o.followSurface)&&!l(o.arcType)){let a={};ge(Boolean,a,"followSurface",o.followSurface,r,i,n),s.arcType=yZe(a.followSurface,e$e)}}function n$e(e,t,n,i){let o=t.polylineVolume;if(!l(o))return;let r=cr(o.interval),s=e.polylineVolume;l(s)||(e.polylineVolume=s=new cC),MD(s,"positions",o.positions,n),VZe(s,"shape",o.shape,n),ge(Boolean,s,"show",o.show,r,i,n),ge(Ni,s,"cornerType",o.cornerType,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function i$e(e,t,n,i){let o=t.rectangle;if(!l(o))return;let r=cr(o.interval),s=e.rectangle;l(s)||(e.rectangle=s=new Fh),ge(Boolean,s,"show",o.show,r,i,n),ge(ae,s,"coordinates",o.coordinates,r,i,n),ge(Number,s,"height",o.height,r,i,n),ge(Xe,s,"heightReference",o.heightReference,r,i,n),ge(Number,s,"extrudedHeight",o.extrudedHeight,r,i,n),ge(Xe,s,"extrudedHeightReference",o.extrudedHeightReference,r,i,n),ge(Nd,s,"rotation",o.rotation,r,i,n),ge(Nd,s,"stRotation",o.stRotation,r,i,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n),ge(Un,s,"classificationType",o.classificationType,r,i,n),ge(Number,s,"zIndex",o.zIndex,r,i,n)}function o$e(e,t,n,i){let o=t.tileset;if(!l(o))return;let r=cr(o.interval),s=e.tileset;l(s)||(e.tileset=s=new sC),ge(Boolean,s,"show",o.show,r,i,n),ge(RD.default,s,"uri",o.uri,r,i,n),ge(Number,s,"maximumScreenSpaceError",o.maximumScreenSpaceError,r,i,n)}function r$e(e,t,n,i){let o=t.wall;if(!l(o))return;let r=cr(o.interval),s=e.wall;l(s)||(e.wall=s=new og),ge(Boolean,s,"show",o.show,r,i,n),MD(s,"positions",o.positions,n),zue(s,"minimumHeights",o.minimumHeights,n),zue(s,"maximumHeights",o.maximumHeights,n),ge(Number,s,"granularity",o.granularity,r,i,n),ge(Boolean,s,"fill",o.fill,r,i,n),pu(s,"material",o.material,r,i,n),ge(Boolean,s,"outline",o.outline,r,i,n),ge(z,s,"outlineColor",o.outlineColor,r,i,n),ge(Number,s,"outlineWidth",o.outlineWidth,r,i,n),ge(bn,s,"shadows",o.shadows,r,i,n),ge(Lt,s,"distanceDisplayCondition",o.distanceDisplayCondition,r,i,n)}function que(e,t,n,i,o){let r=e.id;if(l(r)||(r=Gn()),a7=r,!l(o._version)&&r!=="document")throw new se("The first CZML packet is required to be the document object.");if(e.delete===!0)t.removeById(r);else if(r==="document")qZe(e,o);else{let s=t.getOrCreateEntity(r),a=e.parent;l(a)&&(s.parent=t.getOrCreateEntity(a));for(let c=n.length-1;c>-1;c--)n[c](s,e,t,i)}a7=void 0}function s$e(e){let t,n=e._documentPacket.clock;if(!l(n)){if(!l(e._clock)){let o=e._entityCollection.computeAvailability();if(!o.start.equals(Ge.MINIMUM_VALUE)){let r=o.start,s=o.stop,a=K.secondsDifference(s,r),c=Math.round(a/120);return t=new um,t.startTime=K.clone(r),t.stopTime=K.clone(s),t.clockRange=$r.LOOP_STOP,t.multiplier=c,t.currentTime=K.clone(r),t.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,e._clock=t,!0}}return!1}l(e._clock)?t=e._clock.clone():(t=new um,t.startTime=Ge.MINIMUM_VALUE.clone(),t.stopTime=Ge.MAXIMUM_VALUE.clone(),t.currentTime=Ge.MINIMUM_VALUE.clone(),t.clockRange=$r.LOOP_STOP,t.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,t.multiplier=1);let i=cr(n.interval);return l(i)&&(t.startTime=i.start,t.stopTime=i.stop),l(n.currentTime)&&(t.currentTime=K.fromIso8601(n.currentTime)),l(n.range)&&(t.clockRange=y($r[n.range],$r.LOOP_STOP)),l(n.step)&&(t.clockStep=y(go[n.step],go.SYSTEM_CLOCK_MULTIPLIER)),l(n.multiplier)&&(t.multiplier=n.multiplier),t.equals(e._clock)?!1:(e._clock=t.clone(e._clock),!0)}function Zue(e,t,n,i){n=y(n,y.EMPTY_OBJECT);let o=t,r=n.sourceUri,s=n.credit;if(typeof s=="string"&&(s=new Et(s)),e._credit=s,typeof t=="string"||t instanceof Ae){t=Ae.createIfNeeded(t),o=t.fetchJson(),r=y(r,t.clone());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return r=Ae.createIfNeeded(r),Zr.setLoading(e,!0),Promise.resolve(o).then(function(a){return a$e(e,a,r,i)}).catch(function(a){return Zr.setLoading(e,!1),e._error.raiseEvent(e,a),console.log(a),Promise.reject(a)})}function a$e(e,t,n,i){Zr.setLoading(e,!0);let o=e._entityCollection;i&&(e._version=void 0,e._documentPacket=new $ue,o.removeAll()),us._processCzml(t,o,n,void 0,e);let r=s$e(e),s=e._documentPacket;return l(s.name)&&e._name!==s.name?(e._name=s.name,r=!0):!l(e._name)&&l(n)&&(e._name=ly(n.getUrlComponent()),r=!0),Zr.setLoading(e,!1),r&&e._changed.raiseEvent(e),e}function $ue(){this.name=void 0,this.clock=void 0}function us(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._clock=void 0,this._documentPacket=new $ue,this._version=void 0,this._entityCollection=new fa(this),this._entityCluster=new Pf,this._credit=void 0,this._resourceCredits=[]}us.load=function(e,t){return new us().load(e,t)};Object.defineProperties(us.prototype,{name:{get:function(){return this._name}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});us.updaters=[HZe,GZe,WZe,jZe,YZe,XZe,KZe,ZZe,IZe,PZe,$Ze,QZe,JZe,t$e,n$e,LZe,i$e,OZe,o$e,RZe,r$e,MZe,UZe];us.registerUpdater=function(e){us.updaters.includes(e)||us.updaters.push(e)};us.unregisterUpdater=function(e){if(us.updaters.includes(e)){let t=us.updaters.indexOf(e);us.updaters.splice(t,1)}};us.prototype.process=function(e,t){return Zue(this,e,t,!1)};us.prototype.load=function(e,t){return Zue(this,e,t,!0)};us.prototype.update=function(e){return!0};us.processPacketData=ge;us.processPositionPacketData=Kue;us.processMaterialPacketData=pu;us._processCzml=function(e,t,n,i,o){if(i=y(i,us.updaters),Array.isArray(e))for(let r=0,s=e.length;r<s;++r)que(e[r],t,i,n,o);else que(e,t,i,n,o)};var R3=us;function jc(){this._dataSources=[],this._dataSourceAdded=new me,this._dataSourceRemoved=new me,this._dataSourceMoved=new me}Object.defineProperties(jc.prototype,{length:{get:function(){return this._dataSources.length}},dataSourceAdded:{get:function(){return this._dataSourceAdded}},dataSourceRemoved:{get:function(){return this._dataSourceRemoved}},dataSourceMoved:{get:function(){return this._dataSourceMoved}}});jc.prototype.add=function(e){let t=this,n=this._dataSources;return Promise.resolve(e).then(function(i){return n===t._dataSources&&(t._dataSources.push(i),t._dataSourceAdded.raiseEvent(t,i)),i})};jc.prototype.remove=function(e,t){t=y(t,!1);let n=this._dataSources.indexOf(e);return n!==-1?(this._dataSources.splice(n,1),this._dataSourceRemoved.raiseEvent(this,e),t&&typeof e.destroy=="function"&&e.destroy(),!0):!1};jc.prototype.removeAll=function(e){e=y(e,!1);let t=this._dataSources;for(let n=0,i=t.length;n<i;++n){let o=t[n];this._dataSourceRemoved.raiseEvent(this,o),e&&typeof o.destroy=="function"&&o.destroy()}this._dataSources=[]};jc.prototype.contains=function(e){return this.indexOf(e)!==-1};jc.prototype.indexOf=function(e){return this._dataSources.indexOf(e)};jc.prototype.get=function(e){return this._dataSources[e]};jc.prototype.getByName=function(e){return this._dataSources.filter(function(t){return t.name===e})};function M3(e,t){return e.indexOf(t)}function Que(e,t,n){let i=e._dataSources,o=i.length-1;if(t=P.clamp(t,0,o),n=P.clamp(n,0,o),t===n)return;let r=i[t];i[t]=i[n],i[n]=r,e.dataSourceMoved.raiseEvent(r,n,t)}jc.prototype.raise=function(e){let t=M3(this._dataSources,e);Que(this,t,t+1)};jc.prototype.lower=function(e){let t=M3(this._dataSources,e);Que(this,t,t-1)};jc.prototype.raiseToTop=function(e){let t=M3(this._dataSources,e);t!==this._dataSources.length-1&&(this._dataSources.splice(t,1),this._dataSources.push(e),this.dataSourceMoved.raiseEvent(e,this._dataSources.length-1,t))};jc.prototype.lowerToBottom=function(e){let t=M3(this._dataSources,e);t!==0&&(this._dataSources.splice(t,1),this._dataSources.splice(0,0,e),this.dataSourceMoved.raiseEvent(e,0,t))};jc.prototype.isDestroyed=function(){return!1};jc.prototype.destroy=function(){return this.removeAll(!0),ue(this)};var L3=jc;function ha(e){e=y(e,y.EMPTY_OBJECT),this._primitives=[],this._guid=Gn(),this._primitiveAdded=new me,this._primitiveRemoved=new me,this._zIndex=void 0,this.show=y(e.show,!0),this.destroyPrimitives=y(e.destroyPrimitives,!0)}Object.defineProperties(ha.prototype,{length:{get:function(){return this._primitives.length}},primitiveAdded:{get:function(){return this._primitiveAdded}},primitiveRemoved:{get:function(){return this._primitiveRemoved}}});ha.prototype.add=function(e,t){let n=l(t),i=e._external=e._external||{},o=i._composites=i._composites||{};return o[this._guid]={collection:this},n?this._primitives.splice(t,0,e):this._primitives.push(e),this._primitiveAdded.raiseEvent(e),e};ha.prototype.remove=function(e){if(this.contains(e)){let t=this._primitives.indexOf(e);if(t!==-1)return this._primitives.splice(t,1),delete e._external._composites[this._guid],this.destroyPrimitives&&e.destroy(),this._primitiveRemoved.raiseEvent(e),!0}return!1};ha.prototype.removeAndDestroy=function(e){let t=this.remove(e);return t&&!this.destroyPrimitives&&e.destroy(),t};ha.prototype.removeAll=function(){let e=this._primitives,t=e.length;for(let n=0;n<t;++n)delete e[n]._external._composites[this._guid],this.destroyPrimitives&&e[n].destroy(),this._primitiveRemoved.raiseEvent(e[n]);this._primitives=[]};ha.prototype.contains=function(e){return!!(l(e)&&e._external&&e._external._composites&&e._external._composites[this._guid])};function N3(e,t){return e._primitives.indexOf(t)}ha.prototype.raise=function(e){if(l(e)){let t=N3(this,e),n=this._primitives;if(t!==n.length-1){let i=n[t];n[t]=n[t+1],n[t+1]=i}}};ha.prototype.raiseToTop=function(e){if(l(e)){let t=N3(this,e),n=this._primitives;t!==n.length-1&&(n.splice(t,1),n.push(e))}};ha.prototype.lower=function(e){if(l(e)){let t=N3(this,e),n=this._primitives;if(t!==0){let i=n[t];n[t]=n[t-1],n[t-1]=i}}};ha.prototype.lowerToBottom=function(e){if(l(e)){let t=N3(this,e),n=this._primitives;t!==0&&(n.splice(t,1),n.unshift(e))}};ha.prototype.get=function(e){return this._primitives[e]};ha.prototype.update=function(e){if(!this.show)return;let t=this._primitives;for(let n=0;n<t.length;++n)t[n].update(e)};ha.prototype.prePassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.prePassesUpdate)&&i.prePassesUpdate(e)}};ha.prototype.updateForPass=function(e,t){let n=this._primitives;for(let i=0;i<n.length;++i){let o=n[i];l(o.updateForPass)&&o.updateForPass(e,t)}};ha.prototype.postPassesUpdate=function(e){let t=this._primitives;for(let n=0;n<t.length;++n){let i=t[n];l(i.postPassesUpdate)&&i.postPassesUpdate(e)}};ha.prototype.isDestroyed=function(){return!1};ha.prototype.destroy=function(){return this.removeAll(),ue(this)};var _u=ha;function dm(){this._length=0,this._collections={},this._collectionsArray=[],this.show=!0}Object.defineProperties(dm.prototype,{length:{get:function(){return this._length}}});dm.prototype.add=function(e,t){t=y(t,0);let n=this._collections[t];if(!l(n)){n=new _u({destroyPrimitives:!1}),n._zIndex=t,this._collections[t]=n;let i=this._collectionsArray,o=0;for(;o<i.length&&i[o]._zIndex<t;)o++;i.splice(o,0,n)}return n.add(e),this._length++,e._zIndex=t,e};dm.prototype.set=function(e,t){return t===e._zIndex||(this.remove(e,!0),this.add(e,t)),e};dm.prototype.remove=function(e,t){if(this.contains(e)){let n=e._zIndex,i=this._collections[n],o;return t?o=i.remove(e):o=i.removeAndDestroy(e),o&&this._length--,i.length===0&&(this._collectionsArray.splice(this._collectionsArray.indexOf(i),1),this._collections[n]=void 0,i.destroy()),o}return!1};dm.prototype.removeAll=function(){let e=this._collectionsArray;for(let t=0;t<e.length;t++){let n=e[t];n.destroyPrimitives=!0,n.destroy()}this._collections={},this._collectionsArray=[],this._length=0};dm.prototype.contains=function(e){if(!l(e))return!1;let t=this._collections[e._zIndex];return l(t)&&t.contains(e)};dm.prototype.update=function(e){if(!this.show)return;let t=this._collectionsArray;for(let n=0;n<t.length;n++)t[n].update(e)};dm.prototype.isDestroyed=function(){return!1};dm.prototype.destroy=function(){return this.removeAll(),ue(this)};var F3=dm;function HA(e,t){this._primitives=e,this._orderedGroundPrimitives=t,this._dynamicUpdaters=new vt}HA.prototype.add=function(e,t){this._dynamicUpdaters.set(t.id,t.createDynamicUpdater(this._primitives,this._orderedGroundPrimitives))};HA.prototype.remove=function(e){let t=e.id,n=this._dynamicUpdaters.get(t);l(n)&&(this._dynamicUpdaters.remove(t),n.destroy())};HA.prototype.update=function(e){let t=this._dynamicUpdaters.values;for(let n=0,i=t.length;n<i;n++)t[n].update(e);return!0};HA.prototype.removeAllPrimitives=function(){let e=this._dynamicUpdaters.values;for(let t=0,n=e.length;t<n;t++)e[t].destroy();this._dynamicUpdaters.removeAll()};HA.prototype.getBoundingSphere=function(e,t){return e=this._dynamicUpdaters.get(e.id),l(e)&&l(e.getBoundingSphere)?e.getBoundingSphere(t):ut.FAILED};var GA=HA;var f7={},B3=new h,Jue=new h,efe=new Le,tfe=new $;function WA(e,t,n,i,o,r,s,a,c,u){let f=e+t;h.multiplyByScalar(i,Math.cos(f),B3),h.multiplyByScalar(n,Math.sin(f),Jue),h.add(B3,Jue,B3);let d=Math.cos(e);d=d*d;let p=Math.sin(e);p=p*p;let m=r/Math.sqrt(s*d+o*p)/a;return Le.fromAxisAngle(B3,m,efe),$.fromQuaternion(efe,tfe),$.multiplyByVector(tfe,c,u),h.normalize(u,u),h.multiplyByScalar(u,a,u),u}var nfe=new h,ife=new h,u7=new h,c$e=new h;f7.raisePositionsToHeight=function(e,t,n){let i=t.ellipsoid,o=t.height,r=t.extrudedHeight,s=n?e.length/3*2:e.length/3,a=new Float64Array(s*3),c=e.length,u=n?c:0;for(let f=0;f<c;f+=3){let d=f+1,p=f+2,g=h.fromArray(e,f,nfe);i.scaleToGeodeticSurface(g,g);let m=h.clone(g,ife),x=i.geodeticSurfaceNormal(g,c$e),b=h.multiplyByScalar(x,o,u7);h.add(g,b,g),n&&(h.multiplyByScalar(x,r,b),h.add(m,b,m),a[f+u]=m.x,a[d+u]=m.y,a[p+u]=m.z),a[f]=g.x,a[d]=g.y,a[p]=g.z}return a};var l$e=new h,u$e=new h,f$e=new h;f7.computeEllipsePositions=function(e,t,n){let i=e.semiMinorAxis,o=e.semiMajorAxis,r=e.rotation,s=e.center,a=e.granularity*8,c=i*i,u=o*o,f=o*i,d=h.magnitude(s),p=h.normalize(s,l$e),g=h.cross(h.UNIT_Z,s,u$e);g=h.normalize(g,g);let m=h.cross(p,g,f$e),x=1+Math.ceil(P.PI_OVER_TWO/a),b=P.PI_OVER_TWO/(x-1),T=P.PI_OVER_TWO-x*b;T<0&&(x-=Math.ceil(Math.abs(T)/b));let C=2*(x*(x+2)),A=t?new Array(C*3):void 0,S=0,v=nfe,D=ife,R=x*4*3,O=R-1,M=0,N=n?new Array(R):void 0,_,E,w,I,L;for(T=P.PI_OVER_TWO,v=WA(T,r,m,g,c,f,u,d,p,v),t&&(A[S++]=v.x,A[S++]=v.y,A[S++]=v.z),n&&(N[O--]=v.z,N[O--]=v.y,N[O--]=v.x),T=P.PI_OVER_TWO-b,_=1;_<x+1;++_){if(v=WA(T,r,m,g,c,f,u,d,p,v),D=WA(Math.PI-T,r,m,g,c,f,u,d,p,D),t){for(A[S++]=v.x,A[S++]=v.y,A[S++]=v.z,w=2*_+2,E=1;E<w-1;++E)I=E/(w-1),L=h.lerp(v,D,I,u7),A[S++]=L.x,A[S++]=L.y,A[S++]=L.z;A[S++]=D.x,A[S++]=D.y,A[S++]=D.z}n&&(N[O--]=v.z,N[O--]=v.y,N[O--]=v.x,N[M++]=D.x,N[M++]=D.y,N[M++]=D.z),T=P.PI_OVER_TWO-(_+1)*b}for(_=x;_>1;--_){if(T=P.PI_OVER_TWO-(_-1)*b,v=WA(-T,r,m,g,c,f,u,d,p,v),D=WA(T+Math.PI,r,m,g,c,f,u,d,p,D),t){for(A[S++]=v.x,A[S++]=v.y,A[S++]=v.z,w=2*(_-1)+2,E=1;E<w-1;++E)I=E/(w-1),L=h.lerp(v,D,I,u7),A[S++]=L.x,A[S++]=L.y,A[S++]=L.z;A[S++]=D.x,A[S++]=D.y,A[S++]=D.z}n&&(N[O--]=v.z,N[O--]=v.y,N[O--]=v.x,N[M++]=D.x,N[M++]=D.y,N[M++]=D.z)}T=P.PI_OVER_TWO,v=WA(-T,r,m,g,c,f,u,d,p,v);let B={};return t&&(A[S++]=v.x,A[S++]=v.y,A[S++]=v.z,B.positions=A,B.numPts=x),n&&(N[O--]=v.z,N[O--]=v.y,N[O--]=v.x,B.outerPositions=N),B};var gu=f7;var jA=new h,d7=new h,h7=new h,ofe=new h,Ds=new U,rfe=new $,d$e=new $,m7=new Le,sfe=new h,afe=new h,cfe=new h,U3=new fe,lfe=new h,ufe=new U,ffe=new U;function dfe(e,t,n){let i=t.vertexFormat,o=t.center,r=t.semiMajorAxis,s=t.semiMinorAxis,a=t.ellipsoid,c=t.stRotation,u=n?e.length/3*2:e.length/3,f=t.shadowVolume,d=i.st?new Float32Array(u*2):void 0,p=i.normal?new Float32Array(u*3):void 0,g=i.tangent?new Float32Array(u*3):void 0,m=i.bitangent?new Float32Array(u*3):void 0,x=f?new Float32Array(u*3):void 0,b=0,T=sfe,C=afe,A=cfe,S=new Ii(a),v=S.project(a.cartesianToCartographic(o,U3),lfe),D=a.scaleToGeodeticSurface(o,jA);a.geodeticSurfaceNormal(D,D);let R=rfe,O=d$e;if(c!==0){let L=Le.fromAxisAngle(D,c,m7);R=$.fromQuaternion(L,R),L=Le.fromAxisAngle(D,-c,m7),O=$.fromQuaternion(L,O)}else R=$.clone($.IDENTITY,R),O=$.clone($.IDENTITY,O);let M=U.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,ufe),N=U.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,ffe),_=e.length,E=n?_:0,w=E/3*2;for(let L=0;L<_;L+=3){let B=L+1,H=L+2,V=h.fromArray(e,L,jA);if(i.st){let G=$.multiplyByVector(R,V,d7),k=S.project(a.cartesianToCartographic(G,U3),h7);h.subtract(k,v,k),Ds.x=(k.x+r)/(2*r),Ds.y=(k.y+s)/(2*s),M.x=Math.min(Ds.x,M.x),M.y=Math.min(Ds.y,M.y),N.x=Math.max(Ds.x,N.x),N.y=Math.max(Ds.y,N.y),n&&(d[b+w]=Ds.x,d[b+1+w]=Ds.y),d[b++]=Ds.x,d[b++]=Ds.y}(i.normal||i.tangent||i.bitangent||f)&&(T=a.geodeticSurfaceNormal(V,T),f&&(x[L+E]=-T.x,x[B+E]=-T.y,x[H+E]=-T.z),(i.normal||i.tangent||i.bitangent)&&((i.tangent||i.bitangent)&&(C=h.normalize(h.cross(h.UNIT_Z,T,C),C),$.multiplyByVector(O,C,C)),i.normal&&(p[L]=T.x,p[B]=T.y,p[H]=T.z,n&&(p[L+E]=-T.x,p[B+E]=-T.y,p[H+E]=-T.z)),i.tangent&&(g[L]=C.x,g[B]=C.y,g[H]=C.z,n&&(g[L+E]=-C.x,g[B+E]=-C.y,g[H+E]=-C.z)),i.bitangent&&(A=h.normalize(h.cross(T,C,A),A),m[L]=A.x,m[B]=A.y,m[H]=A.z,n&&(m[L+E]=A.x,m[B+E]=A.y,m[H+E]=A.z))))}if(i.st){_=d.length;for(let L=0;L<_;L+=2)d[L]=(d[L]-M.x)/(N.x-M.x),d[L+1]=(d[L+1]-M.y)/(N.y-M.y)}let I=new mn;if(i.position){let L=gu.raisePositionsToHeight(e,t,n);I.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:L})}if(i.st&&(I.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:d})),i.normal&&(I.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),i.tangent&&(I.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),i.bitangent&&(I.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),f&&(I.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),n&&l(t.offsetAttribute)){let L=new Uint8Array(u);if(t.offsetAttribute===cn.TOP)L=L.fill(1,0,u/2);else{let B=t.offsetAttribute===cn.NONE?0:1;L=L.fill(B)}I.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:L})}return I}function hfe(e){let t=new Array(12*(e*(e+1))-6),n=0,i,o,r,s,a;for(i=0,r=1,s=0;s<3;s++)t[n++]=r++,t[n++]=i,t[n++]=r;for(s=2;s<e+1;++s){for(r=s*(s+1)-1,i=(s-1)*s-1,t[n++]=r++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=r++,t[n++]=i,t[n++]=r}for(o=e*2,++r,++i,s=0;s<o-1;++s)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;for(t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i++,t[n++]=i,++i,s=e-1;s>1;--s){for(t[n++]=i++,t[n++]=i,t[n++]=r,o=2*s,a=0;a<o-1;++a)t[n++]=r,t[n++]=i++,t[n++]=i,t[n++]=r++,t[n++]=i,t[n++]=r;t[n++]=i++,t[n++]=i++,t[n++]=r++}for(s=0;s<3;s++)t[n++]=i++,t[n++]=i,t[n++]=r;return t}var Jx=new h;function h$e(e){let t=e.center;Jx=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,Jx),e.height,Jx),Jx=h.add(t,Jx,Jx);let n=new ce(Jx,e.semiMajorAxis),i=gu.computeEllipsePositions(e,!0,!1),o=i.positions,r=i.numPts,s=dfe(o,e,!1),a=hfe(r);return a=ke.createTypedArray(o.length/3,a),{boundingSphere:n,attributes:s,indices:a}}function m$e(e,t){let n=t.vertexFormat,i=t.center,o=t.semiMajorAxis,r=t.semiMinorAxis,s=t.ellipsoid,a=t.height,c=t.extrudedHeight,u=t.stRotation,f=e.length/3*2,d=new Float64Array(f*3),p=n.st?new Float32Array(f*2):void 0,g=n.normal?new Float32Array(f*3):void 0,m=n.tangent?new Float32Array(f*3):void 0,x=n.bitangent?new Float32Array(f*3):void 0,b=t.shadowVolume,T=b?new Float32Array(f*3):void 0,C=0,A=sfe,S=afe,v=cfe,D=new Ii(s),R=D.project(s.cartesianToCartographic(i,U3),lfe),O=s.scaleToGeodeticSurface(i,jA);s.geodeticSurfaceNormal(O,O);let M=Le.fromAxisAngle(O,u,m7),N=$.fromQuaternion(M,rfe),_=U.fromElements(Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY,ufe),E=U.fromElements(Number.NEGATIVE_INFINITY,Number.NEGATIVE_INFINITY,ffe),w=e.length,I=w/3*2;for(let B=0;B<w;B+=3){let H=B+1,V=B+2,G=h.fromArray(e,B,jA),k;if(n.st){let Y=$.multiplyByVector(N,G,d7),J=D.project(s.cartesianToCartographic(Y,U3),h7);h.subtract(J,R,J),Ds.x=(J.x+o)/(2*o),Ds.y=(J.y+r)/(2*r),_.x=Math.min(Ds.x,_.x),_.y=Math.min(Ds.y,_.y),E.x=Math.max(Ds.x,E.x),E.y=Math.max(Ds.y,E.y),p[C+I]=Ds.x,p[C+1+I]=Ds.y,p[C++]=Ds.x,p[C++]=Ds.y}G=s.scaleToGeodeticSurface(G,G),k=h.clone(G,d7),A=s.geodeticSurfaceNormal(G,A),b&&(T[B+w]=-A.x,T[H+w]=-A.y,T[V+w]=-A.z);let W=h.multiplyByScalar(A,a,ofe);if(G=h.add(G,W,G),W=h.multiplyByScalar(A,c,W),k=h.add(k,W,k),n.position&&(d[B+w]=k.x,d[H+w]=k.y,d[V+w]=k.z,d[B]=G.x,d[H]=G.y,d[V]=G.z),n.normal||n.tangent||n.bitangent){v=h.clone(A,v);let Y=h.fromArray(e,(B+3)%w,ofe);h.subtract(Y,G,Y);let J=h.subtract(k,G,h7);A=h.normalize(h.cross(J,Y,A),A),n.normal&&(g[B]=A.x,g[H]=A.y,g[V]=A.z,g[B+w]=A.x,g[H+w]=A.y,g[V+w]=A.z),n.tangent&&(S=h.normalize(h.cross(v,A,S),S),m[B]=S.x,m[H]=S.y,m[V]=S.z,m[B+w]=S.x,m[B+1+w]=S.y,m[B+2+w]=S.z),n.bitangent&&(x[B]=v.x,x[H]=v.y,x[V]=v.z,x[B+w]=v.x,x[H+w]=v.y,x[V+w]=v.z)}}if(n.st){w=p.length;for(let B=0;B<w;B+=2)p[B]=(p[B]-_.x)/(E.x-_.x),p[B+1]=(p[B+1]-_.y)/(E.y-_.y)}let L=new mn;if(n.position&&(L.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})),n.st&&(L.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:p})),n.normal&&(L.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),n.tangent&&(L.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),n.bitangent&&(L.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),b&&(L.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),l(t.offsetAttribute)){let B=new Uint8Array(f);if(t.offsetAttribute===cn.TOP)B=B.fill(1,0,f/2);else{let H=t.offsetAttribute===cn.NONE?0:1;B=B.fill(H)}L.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:B})}return L}function p$e(e){let t=e.length/3,n=ke.createTypedArray(t,t*6),i=0;for(let o=0;o<t;o++){let r=o,s=o+t,a=(r+1)%t,c=a+t;n[i++]=r,n[i++]=s,n[i++]=a,n[i++]=a,n[i++]=s,n[i++]=c}return n}var k3=new ce,V3=new ce;function _$e(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,jA),e.height,jA);k3.center=h.add(t,o,k3.center),k3.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),V3.center=h.add(t,o,V3.center),V3.radius=i;let r=gu.computeEllipsePositions(e,!0,!0),s=r.positions,a=r.numPts,c=r.outerPositions,u=ce.union(k3,V3),f=dfe(s,e,!0),d=hfe(a),p=d.length;d.length=p*2;let g=s.length/3;for(let S=0;S<p;S+=3)d[S+p]=d[S+2]+g,d[S+1+p]=d[S+1]+g,d[S+2+p]=d[S]+g;let m=ke.createTypedArray(g*2/3,d),x=new ft({attributes:f,indices:m,primitiveType:Fe.TRIANGLES}),b=m$e(c,e);d=p$e(c);let T=ke.createTypedArray(c.length*2/3,d),C=new ft({attributes:b,indices:T,primitiveType:Fe.TRIANGLES}),A=Bn.combineInstances([new wt({geometry:x}),new wt({geometry:C})]);return{boundingSphere:u,attributes:A[0].attributes,indices:A[0].indices}}function mfe(e,t,n,i,o,r,s){let c=gu.computeEllipsePositions({center:e,semiMajorAxis:t,semiMinorAxis:n,rotation:i,granularity:o},!1,!0).outerPositions,u=c.length/3,f=new Array(u);for(let p=0;p<u;++p)f[p]=h.fromArray(c,p*3);let d=ae.fromCartesianArray(f,r,s);return d.width>P.PI&&(d.north=d.north>0?P.PI_OVER_TWO-P.EPSILON7:d.north,d.south=d.south<0?P.EPSILON7-P.PI_OVER_TWO:d.south,d.east=P.PI,d.west=-P.PI),d}function mm(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.vertexFormat,Pe.DEFAULT),a=y(e.height,0),c=y(e.extrudedHeight,a);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._height=Math.max(c,a),this._granularity=r,this._vertexFormat=Pe.clone(s),this._extrudedHeight=Math.min(c,a),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createEllipseGeometry",this._offsetAttribute=e.offsetAttribute,this._rectangle=void 0,this._textureCoordinateRotationPoints=void 0}mm.packedLength=h.packedLength+ee.packedLength+Pe.packedLength+9;mm.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var pfe=new h,_fe=new ee,gfe=new Pe,hm={center:pfe,ellipsoid:_fe,vertexFormat:gfe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,stRotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};mm.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,pfe);t+=h.packedLength;let o=ee.unpack(e,t,_fe);t+=ee.packedLength;let r=Pe.unpack(e,t,gfe);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t++],g=e[t++]===1,m=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._semiMajorAxis=s,n._semiMinorAxis=a,n._rotation=c,n._stRotation=u,n._height=f,n._granularity=d,n._extrudedHeight=p,n._shadowVolume=g,n._offsetAttribute=m===-1?void 0:m,n):(hm.height=f,hm.extrudedHeight=p,hm.granularity=d,hm.stRotation=u,hm.rotation=c,hm.semiMajorAxis=s,hm.semiMinorAxis=a,hm.shadowVolume=g,hm.offsetAttribute=m===-1?void 0:m,new mm(hm))};mm.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.center,i=y(e.ellipsoid,ee.default),o=e.semiMajorAxis,r=e.semiMinorAxis,s=y(e.granularity,P.RADIANS_PER_DEGREE),a=y(e.rotation,0);return mfe(n,o,r,a,s,i,t)};mm.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,vertexFormat:e._vertexFormat,stRotation:e._stRotation},r;if(i)o.extrudedHeight=n,o.shadowVolume=e._shadowVolume,o.offsetAttribute=e._offsetAttribute,r=_$e(o);else if(r=h$e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===cn.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ft({attributes:r.attributes,indices:r.indices,primitiveType:Fe.TRIANGLES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};mm.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new mm({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:o,rotation:e._rotation,stRotation:e._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};function g$e(e){let t=-e._stRotation;if(t===0)return[0,0,0,1,1,0];let i=gu.computeEllipsePositions({center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,rotation:e._rotation,granularity:e._granularity},!1,!0).outerPositions,o=i.length/3,r=new Array(o);for(let c=0;c<o;++c)r[c]=h.fromArray(i,c*3);let s=e._ellipsoid,a=e.rectangle;return ft._textureCoordinateRotationPoints(r,t,s,a)}Object.defineProperties(mm.prototype,{rectangle:{get:function(){return l(this._rectangle)||(this._rectangle=mfe(this._center,this._semiMajorAxis,this._semiMinorAxis,this._rotation,this._granularity,this._ellipsoid)),this._rectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=g$e(this)),this._textureCoordinateRotationPoints}}});var Sl=mm;var yfe=new h,eb=new h;function y$e(e){let t=e.center;eb=h.multiplyByScalar(e.ellipsoid.geodeticSurfaceNormal(t,eb),e.height,eb),eb=h.add(t,eb,eb);let n=new ce(eb,e.semiMajorAxis),i=gu.computeEllipsePositions(e,!1,!0).outerPositions,o=new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:gu.raisePositionsToHeight(i,e,!1)})}),r=i.length/3,s=ke.createTypedArray(r,r*2),a=0;for(let c=0;c<r;++c)s[a++]=c,s[a++]=(c+1)%r;return{boundingSphere:n,attributes:o,indices:s}}var z3=new ce,H3=new ce;function x$e(e){let t=e.center,n=e.ellipsoid,i=e.semiMajorAxis,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,yfe),e.height,yfe);z3.center=h.add(t,o,z3.center),z3.radius=i,o=h.multiplyByScalar(n.geodeticSurfaceNormal(t,o),e.extrudedHeight,o),H3.center=h.add(t,o,H3.center),H3.radius=i;let r=gu.computeEllipsePositions(e,!1,!0).outerPositions,s=new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:gu.raisePositionsToHeight(r,e,!0)})});r=s.position.values;let a=ce.union(z3,H3),c=r.length/3;if(l(e.offsetAttribute)){let m=new Uint8Array(c);if(e.offsetAttribute===cn.TOP)m=m.fill(1,0,c/2);else{let x=e.offsetAttribute===cn.NONE?0:1;m=m.fill(x)}s.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:m})}let u=y(e.numberOfVerticalLines,16);u=P.clamp(u,0,c/2);let f=ke.createTypedArray(c,c*2+u*2);c/=2;let d=0,p;for(p=0;p<c;++p)f[d++]=p,f[d++]=(p+1)%c,f[d++]=p+c,f[d++]=(p+1)%c+c;let g;if(u>0){let m=Math.min(u,c);g=Math.round(c/m);let x=Math.min(g*u,c);for(p=0;p<x;p+=g)f[d++]=p,f[d++]=p+c}return{boundingSphere:a,attributes:s,indices:f}}function qA(e){e=y(e,y.EMPTY_OBJECT);let t=e.center,n=y(e.ellipsoid,ee.default),i=e.semiMajorAxis,o=e.semiMinorAxis,r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.height,0),a=y(e.extrudedHeight,s);this._center=h.clone(t),this._semiMajorAxis=i,this._semiMinorAxis=o,this._ellipsoid=ee.clone(n),this._rotation=y(e.rotation,0),this._height=Math.max(a,s),this._granularity=r,this._extrudedHeight=Math.min(a,s),this._numberOfVerticalLines=Math.max(y(e.numberOfVerticalLines,16),0),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipseOutlineGeometry"}qA.packedLength=h.packedLength+ee.packedLength+8;qA.pack=function(e,t,n){return n=y(n,0),h.pack(e._center,t,n),n+=h.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._semiMajorAxis,t[n++]=e._semiMinorAxis,t[n++]=e._rotation,t[n++]=e._height,t[n++]=e._granularity,t[n++]=e._extrudedHeight,t[n++]=e._numberOfVerticalLines,t[n]=y(e._offsetAttribute,-1),t};var xfe=new h,bfe=new ee,i_={center:xfe,ellipsoid:bfe,semiMajorAxis:void 0,semiMinorAxis:void 0,rotation:void 0,height:void 0,granularity:void 0,extrudedHeight:void 0,numberOfVerticalLines:void 0,offsetAttribute:void 0};qA.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,xfe);t+=h.packedLength;let o=ee.unpack(e,t,bfe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._center=h.clone(i,n._center),n._ellipsoid=ee.clone(o,n._ellipsoid),n._semiMajorAxis=r,n._semiMinorAxis=s,n._rotation=a,n._height=c,n._granularity=u,n._extrudedHeight=f,n._numberOfVerticalLines=d,n._offsetAttribute=p===-1?void 0:p,n):(i_.height=c,i_.extrudedHeight=f,i_.granularity=u,i_.rotation=a,i_.semiMajorAxis=r,i_.semiMinorAxis=s,i_.numberOfVerticalLines=d,i_.offsetAttribute=p===-1?void 0:p,new qA(i_))};qA.createGeometry=function(e){if(e._semiMajorAxis<=0||e._semiMinorAxis<=0)return;let t=e._height,n=e._extrudedHeight,i=!P.equalsEpsilon(t,n,0,P.EPSILON2);e._center=e._ellipsoid.scaleToGeodeticSurface(e._center,e._center);let o={center:e._center,semiMajorAxis:e._semiMajorAxis,semiMinorAxis:e._semiMinorAxis,ellipsoid:e._ellipsoid,rotation:e._rotation,height:t,granularity:e._granularity,numberOfVerticalLines:e._numberOfVerticalLines},r;if(i)o.extrudedHeight=n,o.offsetAttribute=e._offsetAttribute,r=x$e(o);else if(r=y$e(o),l(e._offsetAttribute)){let s=r.attributes.position.values.length,a=e._offsetAttribute===cn.NONE?0:1,c=new Uint8Array(s/3).fill(a);r.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:c})}return new ft({attributes:r.attributes,indices:r.indices,primitiveType:Fe.LINES,boundingSphere:r.boundingSphere,offsetAttribute:e._offsetAttribute})};var Nf=qA;var Tfe=new z,Cfe=h.ZERO,Afe=new h,Efe=new ae;function b$e(e){this.id=e,this.vertexFormat=void 0,this.center=void 0,this.semiMajorAxis=void 0,this.semiMinorAxis=void 0,this.rotation=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.numberOfVerticalLines=void 0,this.offsetAttribute=void 0}function Fd(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new b$e(e),geometryPropertyName:"ellipse",observedPropertyNames:["availability","position","ellipse"]}),this._onEntityPropertyChanged(e,"ellipse",e.ellipse,void 0)}l(Object.create)&&(Fd.prototype=Object.create(jn.prototype),Fd.prototype.constructor=Fd);Fd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,Tfe)),l(o)||(o=z.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Cfe,Afe))),new wt({id:t,geometry:new Sl(this._options),attributes:i})};Fd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Tfe),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Cfe,Afe))),new wt({id:t,geometry:new Nf(this._options),attributes:r})};Fd.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};Fd.prototype._isHidden=function(e,t){let n=e.position;return!l(n)||!l(t.semiMajorAxis)||!l(t.semiMinorAxis)||ci.prototype._isHidden.call(this,e,t)};Fd.prototype._isDynamic=function(e,t){return!e.position.isConstant||!t.semiMajorAxis.isConstant||!t.semiMinorAxis.isConstant||!q.isConstant(t.rotation)||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.numberOfVerticalLines)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};Fd.prototype._setStaticOptions=function(e,t){let n=q.getValueOrUndefined(t.height,Ge.MINIMUM_VALUE),i=q.getValueOrDefault(t.heightReference,Ge.MINIMUM_VALUE,Xe.NONE),o=q.getValueOrUndefined(t.extrudedHeight,Ge.MINIMUM_VALUE),r=q.getValueOrDefault(t.extrudedHeightReference,Ge.MINIMUM_VALUE,Xe.NONE);l(o)&&!l(n)&&(n=0);let s=this._options;s.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,s.center=e.position.getValue(Ge.MINIMUM_VALUE,s.center),s.semiMajorAxis=t.semiMajorAxis.getValue(Ge.MINIMUM_VALUE,s.semiMajorAxis),s.semiMinorAxis=t.semiMinorAxis.getValue(Ge.MINIMUM_VALUE,s.semiMinorAxis),s.rotation=q.getValueOrUndefined(t.rotation,Ge.MINIMUM_VALUE),s.granularity=q.getValueOrUndefined(t.granularity,Ge.MINIMUM_VALUE),s.stRotation=q.getValueOrUndefined(t.stRotation,Ge.MINIMUM_VALUE),s.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,Ge.MINIMUM_VALUE),s.offsetAttribute=jn.computeGeometryOffsetAttribute(n,i,o,r),s.height=jn.getGeometryHeight(n,i),o=jn.getGeometryExtrudedHeight(o,r),o===jn.CLAMP_TO_GROUND&&(o=hi.getMinimumMaximumHeights(Sl.computeRectangle(s,Efe)).minimumTerrainHeight),s.extrudedHeight=o};Fd.DynamicGeometryUpdater=YA;function YA(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(YA.prototype=Object.create(ai.prototype),YA.prototype.constructor=YA);YA.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.center)||!l(i.semiMajorAxis)||!l(i.semiMinorAxis)||ai.prototype._isHidden.call(this,e,t,n)};YA.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Xe.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,Xe.NONE);l(s)&&!l(o)&&(o=0),i.center=q.getValueOrUndefined(e.position,n,i.center),i.semiMajorAxis=q.getValueOrUndefined(t.semiMajorAxis,n),i.semiMinorAxis=q.getValueOrUndefined(t.semiMinorAxis,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.numberOfVerticalLines=q.getValueOrUndefined(t.numberOfVerticalLines,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=hi.getMinimumMaximumHeights(Sl.computeRectangle(i,Efe)).minimumTerrainHeight),i.extrudedHeight=s};var G3=Fd;var T$e=new h,C$e=new h,A$e=new h,E$e=new h,S$e=new h,v$e=new h(1,1,1),Sfe=Math.cos,vfe=Math.sin;function o_(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.radii,v$e),n=y(e.innerRadii,t),i=y(e.minimumClock,0),o=y(e.maximumClock,P.TWO_PI),r=y(e.minimumCone,0),s=y(e.maximumCone,P.PI),a=Math.round(y(e.stackPartitions,64)),c=Math.round(y(e.slicePartitions,64)),u=y(e.vertexFormat,Pe.DEFAULT);this._radii=h.clone(t),this._innerRadii=h.clone(n),this._minimumClock=i,this._maximumClock=o,this._minimumCone=r,this._maximumCone=s,this._stackPartitions=a,this._slicePartitions=c,this._vertexFormat=Pe.clone(u),this._offsetAttribute=e.offsetAttribute,this._workerName="createEllipsoidGeometry"}o_.packedLength=2*h.packedLength+Pe.packedLength+7;o_.pack=function(e,t,n){return n=y(n,0),h.pack(e._radii,t,n),n+=h.packedLength,h.pack(e._innerRadii,t,n),n+=h.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._minimumClock,t[n++]=e._maximumClock,t[n++]=e._minimumCone,t[n++]=e._maximumCone,t[n++]=e._stackPartitions,t[n++]=e._slicePartitions,t[n]=y(e._offsetAttribute,-1),t};var wfe=new h,Dfe=new h,Ife=new Pe,yy={radii:wfe,innerRadii:Dfe,vertexFormat:Ife,minimumClock:void 0,maximumClock:void 0,minimumCone:void 0,maximumCone:void 0,stackPartitions:void 0,slicePartitions:void 0,offsetAttribute:void 0};o_.unpack=function(e,t,n){t=y(t,0);let i=h.unpack(e,t,wfe);t+=h.packedLength;let o=h.unpack(e,t,Dfe);t+=h.packedLength;let r=Pe.unpack(e,t,Ife);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++],p=e[t];return l(n)?(n._radii=h.clone(i,n._radii),n._innerRadii=h.clone(o,n._innerRadii),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._minimumClock=s,n._maximumClock=a,n._minimumCone=c,n._maximumCone=u,n._stackPartitions=f,n._slicePartitions=d,n._offsetAttribute=p===-1?void 0:p,n):(yy.minimumClock=s,yy.maximumClock=a,yy.minimumCone=c,yy.maximumCone=u,yy.stackPartitions=f,yy.slicePartitions=d,yy.offsetAttribute=p===-1?void 0:p,new o_(yy))};o_.createGeometry=function(e){let t=e._radii;if(t.x<=0||t.y<=0||t.z<=0)return;let n=e._innerRadii;if(n.x<=0||n.y<=0||n.z<=0)return;let i=e._minimumClock,o=e._maximumClock,r=e._minimumCone,s=e._maximumCone,a=e._vertexFormat,c=e._slicePartitions+1,u=e._stackPartitions+1;c=Math.round(c*Math.abs(o-i)/P.TWO_PI),u=Math.round(u*Math.abs(s-r)/P.PI),c<2&&(c=2),u<2&&(u=2);let f,d,p=0,g=[r],m=[i];for(f=0;f<u;f++)g.push(r+f*(s-r)/(u-1));for(g.push(s),d=0;d<c;d++)m.push(i+d*(o-i)/(c-1));m.push(o);let x=g.length,b=m.length,T=0,C=1,A=n.x!==t.x||n.y!==t.y||n.z!==t.z,S=!1,v=!1,D=!1;A&&(C=2,r>0&&(S=!0,T+=c-1),s<Math.PI&&(v=!0,T+=c-1),(o-i)%P.TWO_PI?(D=!0,T+=(u-1)*2+1):T+=1);let R=b*x*C,O=new Float64Array(R*3),M=new Array(R).fill(!1),N=new Array(R).fill(!1),_=c*u*C,E=6*(_+T+1-(c+u)*C),w=ke.createTypedArray(_,E),I=a.normal?new Float32Array(R*3):void 0,L=a.tangent?new Float32Array(R*3):void 0,B=a.bitangent?new Float32Array(R*3):void 0,H=a.st?new Float32Array(R*2):void 0,V=new Array(x),G=new Array(x);for(f=0;f<x;f++)V[f]=vfe(g[f]),G[f]=Sfe(g[f]);let k=new Array(b),W=new Array(b);for(d=0;d<b;d++)W[d]=Sfe(m[d]),k[d]=vfe(m[d]);for(f=0;f<x;f++)for(d=0;d<b;d++)O[p++]=t.x*V[f]*W[d],O[p++]=t.y*V[f]*k[d],O[p++]=t.z*G[f];let Y=R/2;if(A)for(f=0;f<x;f++)for(d=0;d<b;d++)O[p++]=n.x*V[f]*W[d],O[p++]=n.y*V[f]*k[d],O[p++]=n.z*G[f],M[Y]=!0,f>0&&f!==x-1&&d!==0&&d!==b-1&&(N[Y]=!0),Y++;p=0;let J,j;for(f=1;f<x-2;f++)for(J=f*b,j=(f+1)*b,d=1;d<b-2;d++)w[p++]=j+d,w[p++]=j+d+1,w[p++]=J+d+1,w[p++]=j+d,w[p++]=J+d+1,w[p++]=J+d;if(A){let Be=x*b;for(f=1;f<x-2;f++)for(J=Be+f*b,j=Be+(f+1)*b,d=1;d<b-2;d++)w[p++]=j+d,w[p++]=J+d,w[p++]=J+d+1,w[p++]=j+d,w[p++]=J+d+1,w[p++]=j+d+1}let Z,Q;if(A){if(S)for(Q=x*b,f=1;f<b-2;f++)w[p++]=f,w[p++]=f+1,w[p++]=Q+f+1,w[p++]=f,w[p++]=Q+f+1,w[p++]=Q+f;if(v)for(Z=x*b-b,Q=x*b*C-b,f=1;f<b-2;f++)w[p++]=Z+f+1,w[p++]=Z+f,w[p++]=Q+f,w[p++]=Z+f+1,w[p++]=Q+f,w[p++]=Q+f+1}if(D){for(f=1;f<x-2;f++)Q=b*x+b*f,Z=b*f,w[p++]=Q,w[p++]=Z+b,w[p++]=Z,w[p++]=Q,w[p++]=Q+b,w[p++]=Z+b;for(f=1;f<x-2;f++)Q=b*x+b*(f+1)-1,Z=b*(f+1)-1,w[p++]=Z+b,w[p++]=Q,w[p++]=Z,w[p++]=Z+b,w[p++]=Q+b,w[p++]=Q}let he=new mn;a.position&&(he.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:O}));let ye=0,re=0,_e=0,xe=0,Ie=R/2,De,Ne=ee.fromCartesian3(t),Ce=ee.fromCartesian3(n);if(a.st||a.normal||a.tangent||a.bitangent){for(f=0;f<R;f++){De=M[f]?Ce:Ne;let Be=h.fromArray(O,f*3,T$e),Ve=De.geodeticSurfaceNormal(Be,C$e);if(N[f]&&h.negate(Ve,Ve),a.st){let $e=U.negate(Ve,S$e);H[ye++]=Math.atan2($e.y,$e.x)/P.TWO_PI+.5,H[ye++]=Math.asin(Ve.z)/Math.PI+.5}if(a.normal&&(I[re++]=Ve.x,I[re++]=Ve.y,I[re++]=Ve.z),a.tangent||a.bitangent){let $e=A$e,qe=0,pt;if(M[f]&&(qe=Ie),!S&&f>=qe&&f<qe+b*2?pt=h.UNIT_X:pt=h.UNIT_Z,h.cross(pt,Ve,$e),h.normalize($e,$e),a.tangent&&(L[_e++]=$e.x,L[_e++]=$e.y,L[_e++]=$e.z),a.bitangent){let ht=h.cross(Ve,$e,E$e);h.normalize(ht,ht),B[xe++]=ht.x,B[xe++]=ht.y,B[xe++]=ht.z}}}a.st&&(he.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:H})),a.normal&&(he.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:I})),a.tangent&&(he.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:L})),a.bitangent&&(he.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:B}))}if(l(e._offsetAttribute)){let Be=O.length,Ve=e._offsetAttribute===cn.NONE?0:1,$e=new Uint8Array(Be/3).fill(Ve);he.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:$e})}return new ft({attributes:he,indices:w,primitiveType:Fe.TRIANGLES,boundingSphere:ce.fromEllipsoid(Ne),offsetAttribute:e._offsetAttribute})};var p7;o_.getUnitEllipsoid=function(){return l(p7)||(p7=o_.createGeometry(new o_({radii:new h(1,1,1),vertexFormat:Pe.POSITION_ONLY}))),p7};var ma=o_;var w$e=new Ht(z.WHITE),_7=h.ZERO,g7=new h,D$e=new h,I$e=new h,y7=new z,P$e=new h(1,1,1);function O$e(e){this.id=e,this.vertexFormat=void 0,this.radii=void 0,this.innerRadii=void 0,this.minimumClock=void 0,this.maximumClock=void 0,this.minimumCone=void 0,this.maximumCone=void 0,this.stackPartitions=void 0,this.slicePartitions=void 0,this.subdivisions=void 0,this.offsetAttribute=void 0}function yu(e,t){ci.call(this,{entity:e,scene:t,geometryOptions:new O$e(e),geometryPropertyName:"ellipsoid",observedPropertyNames:["availability","position","orientation","ellipsoid"]}),this._onEntityPropertyChanged(e,"ellipsoid",e.ellipsoid,void 0)}l(Object.create)&&(yu.prototype=Object.create(ci.prototype),yu.prototype.constructor=yu);Object.defineProperties(yu.prototype,{terrainOffsetProperty:{get:function(){return this._terrainOffsetProperty}}});yu.prototype.createFillGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r,s=new xn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),a=this._distanceDisplayConditionProperty.getValue(e),c=Vn.fromDistanceDisplayCondition(a),u={show:s,distanceDisplayCondition:c,color:void 0,offset:void 0};if(this._materialProperty instanceof Ht){let f;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||o)&&(f=this._materialProperty.color.getValue(e,y7)),l(f)||(f=z.WHITE),r=Wt.fromColor(f),u.color=r}return l(this._options.offsetAttribute)&&(u.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,_7,g7))),new wt({id:i,geometry:new ma(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:u})};yu.prototype.createOutlineGeometryInstance=function(e,t,n){let i=this._entity,o=i.isAvailable(e),r=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,y7),s=this._distanceDisplayConditionProperty.getValue(e),a={show:new xn(o&&i.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(r),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(s),offset:void 0};return l(this._options.offsetAttribute)&&(a.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,_7,g7))),new wt({id:i,geometry:new Sf(this._options),modelMatrix:t?void 0:i.computeModelMatrixForHeightReference(e,i.ellipsoid.heightReference,this._options.radii.z*.5,this._scene.ellipsoid,n),attributes:a})};yu.prototype._computeCenter=function(e,t){return q.getValueOrUndefined(this._entity.position,e,t)};yu.prototype._isHidden=function(e,t){return!l(e.position)||!l(t.radii)||ci.prototype._isHidden.call(this,e,t)};yu.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.radii.isConstant||!q.isConstant(t.innerRadii)||!q.isConstant(t.stackPartitions)||!q.isConstant(t.slicePartitions)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.minimumClock)||!q.isConstant(t.maximumClock)||!q.isConstant(t.minimumCone)||!q.isConstant(t.maximumCone)||!q.isConstant(t.subdivisions)};yu.prototype._setStaticOptions=function(e,t){let n=q.getValueOrDefault(t.heightReference,Ge.MINIMUM_VALUE,Xe.NONE),i=this._options;i.vertexFormat=this._materialProperty instanceof Ht?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,i.radii=t.radii.getValue(Ge.MINIMUM_VALUE,i.radii),i.innerRadii=q.getValueOrUndefined(t.innerRadii,i.radii),i.minimumClock=q.getValueOrUndefined(t.minimumClock,Ge.MINIMUM_VALUE),i.maximumClock=q.getValueOrUndefined(t.maximumClock,Ge.MINIMUM_VALUE),i.minimumCone=q.getValueOrUndefined(t.minimumCone,Ge.MINIMUM_VALUE),i.maximumCone=q.getValueOrUndefined(t.maximumCone,Ge.MINIMUM_VALUE),i.stackPartitions=q.getValueOrUndefined(t.stackPartitions,Ge.MINIMUM_VALUE),i.slicePartitions=q.getValueOrUndefined(t.slicePartitions,Ge.MINIMUM_VALUE),i.subdivisions=q.getValueOrUndefined(t.subdivisions,Ge.MINIMUM_VALUE),i.offsetAttribute=n!==Xe.NONE?cn.ALL:void 0};yu.prototype._onEntityPropertyChanged=rg;yu.DynamicGeometryUpdater=LD;function LD(e,t,n){ai.call(this,e,t,n),this._scene=e._scene,this._modelMatrix=new F,this._attributes=void 0,this._outlineAttributes=void 0,this._lastSceneMode=void 0,this._lastShow=void 0,this._lastOutlineShow=void 0,this._lastOutlineWidth=void 0,this._lastOutlineColor=void 0,this._lastOffset=new h,this._material={}}l(Object.create)&&(LD.prototype=Object.create(ai.prototype),LD.prototype.constructor=LD);LD.prototype.update=function(e){let t=this._entity,n=t.ellipsoid;if(!t.isShowing||!t.isAvailable(e)||!q.getValueOrDefault(n.show,e,!0)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let i=q.getValueOrUndefined(n.radii,e,D$e),o=l(i)?t.computeModelMatrixForHeightReference(e,n.heightReference,i.z*.5,this._scene.ellipsoid,this._modelMatrix):void 0;if(!l(o)||!l(i)){l(this._primitive)&&(this._primitive.show=!1),l(this._outlinePrimitive)&&(this._outlinePrimitive.show=!1);return}let r=q.getValueOrDefault(n.fill,e,!0),s=q.getValueOrDefault(n.outline,e,!1),a=q.getValueOrClonedDefault(n.outlineColor,e,z.BLACK,y7),c=rr.getValue(e,y(n.material,w$e),this._material),u=q.getValueOrUndefined(n.innerRadii,e,I$e),f=q.getValueOrUndefined(n.minimumClock,e),d=q.getValueOrUndefined(n.maximumClock,e),p=q.getValueOrUndefined(n.minimumCone,e),g=q.getValueOrUndefined(n.maximumCone,e),m=q.getValueOrUndefined(n.stackPartitions,e),x=q.getValueOrUndefined(n.slicePartitions,e),b=q.getValueOrUndefined(n.subdivisions,e),T=q.getValueOrDefault(n.outlineWidth,e,1),C=q.getValueOrDefault(n.heightReference,e,Xe.NONE),A=C!==Xe.NONE?cn.ALL:void 0,S=this._scene.mode,v=S===ne.SCENE3D&&C===Xe.NONE,D=this._options,R=this._geometryUpdater.shadowsProperty.getValue(e),M=this._geometryUpdater.distanceDisplayConditionProperty.getValue(e),N=q.getValueOrDefault(this._geometryUpdater.terrainOffsetProperty,e,_7,g7);if(!v||this._lastSceneMode!==S||!l(this._primitive)||D.stackPartitions!==m||D.slicePartitions!==x||l(u)&&!h.equals(D.innerRadii!==u)||D.minimumClock!==f||D.maximumClock!==d||D.minimumCone!==p||D.maximumCone!==g||D.subdivisions!==b||this._lastOutlineWidth!==T||D.offsetAttribute!==A){let E=this._primitives;E.removeAndDestroy(this._primitive),E.removeAndDestroy(this._outlinePrimitive),this._primitive=void 0,this._outlinePrimitive=void 0,this._lastSceneMode=S,this._lastOutlineWidth=T,D.stackPartitions=m,D.slicePartitions=x,D.subdivisions=b,D.offsetAttribute=A,D.radii=h.clone(v?P$e:i,D.radii),l(u)?v?D.innerRadii=h.fromElements(u.x/i.x,u.y/i.y,u.z/i.z,D.innerRadii):D.innerRadii=h.clone(u,D.innerRadii):D.innerRadii=void 0,D.minimumClock=f,D.maximumClock=d,D.minimumCone=p,D.maximumCone=g;let w=new lo({material:c,translucent:c.isTranslucent(),closed:!0});D.vertexFormat=w.vertexFormat;let I=this._geometryUpdater.createFillGeometryInstance(e,v,this._modelMatrix);this._primitive=E.add(new On({geometryInstances:I,appearance:w,asynchronous:!1,shadows:R}));let L=this._geometryUpdater.createOutlineGeometryInstance(e,v,this._modelMatrix);this._outlinePrimitive=E.add(new On({geometryInstances:L,appearance:new un({flat:!0,translucent:L.attributes.color.value[3]!==255,renderState:{lineWidth:this._geometryUpdater._scene.clampLineWidth(T)}}),asynchronous:!1,shadows:R})),this._lastShow=r,this._lastOutlineShow=s,this._lastOutlineColor=z.clone(a,this._lastOutlineColor),this._lastDistanceDisplayCondition=M,this._lastOffset=h.clone(N,this._lastOffset)}else if(this._primitive.ready){let E=this._primitive,w=this._outlinePrimitive;E.show=!0,w.show=!0,E.appearance.material=c;let I=this._attributes;l(I)||(I=E.getGeometryInstanceAttributes(t),this._attributes=I),r!==this._lastShow&&(I.show=xn.toValue(r,I.show),this._lastShow=r);let L=this._outlineAttributes;l(L)||(L=w.getGeometryInstanceAttributes(t),this._outlineAttributes=L),s!==this._lastOutlineShow&&(L.show=xn.toValue(s,L.show),this._lastOutlineShow=s),z.equals(a,this._lastOutlineColor)||(L.color=Wt.toValue(a,L.color),z.clone(a,this._lastOutlineColor)),Lt.equals(M,this._lastDistanceDisplayCondition)||(I.distanceDisplayCondition=Vn.toValue(M,I.distanceDisplayCondition),L.distanceDisplayCondition=Vn.toValue(M,L.distanceDisplayCondition),Lt.clone(M,this._lastDistanceDisplayCondition)),h.equals(N,this._lastOffset)||(I.offset=eo.toValue(N,I.offset),L.offset=eo.toValue(N,I.offset),h.clone(N,this._lastOffset))}v&&(i.x=Math.max(i.x,.001),i.y=Math.max(i.y,.001),i.z=Math.max(i.z,.001),o=F.multiplyByScale(o,i,o),this._primitive.modelMatrix=o,this._outlinePrimitive.modelMatrix=o)};var W3=yu;function XA(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.vertexFormat,Pe.DEFAULT);this._vertexFormat=t,this._workerName="createPlaneGeometry"}XA.packedLength=Pe.packedLength;XA.pack=function(e,t,n){return n=y(n,0),Pe.pack(e._vertexFormat,t,n),t};var Pfe=new Pe,R$e={vertexFormat:Pfe};XA.unpack=function(e,t,n){t=y(t,0);let i=Pe.unpack(e,t,Pfe);return l(n)?(n._vertexFormat=Pe.clone(i,n._vertexFormat),n):new XA(R$e)};var j3=new h(-.5,-.5,0),q3=new h(.5,.5,0);XA.createGeometry=function(e){let t=e._vertexFormat,n=new mn,i,o;if(t.position){if(o=new Float64Array(4*3),o[0]=j3.x,o[1]=j3.y,o[2]=0,o[3]=q3.x,o[4]=j3.y,o[5]=0,o[6]=q3.x,o[7]=q3.y,o[8]=0,o[9]=j3.x,o[10]=q3.y,o[11]=0,n.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:o}),t.normal){let r=new Float32Array(12);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=0,r[5]=1,r[6]=0,r[7]=0,r[8]=1,r[9]=0,r[10]=0,r[11]=1,n.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.st){let r=new Float32Array(8);r[0]=0,r[1]=0,r[2]=1,r[3]=0,r[4]=1,r[5]=1,r[6]=0,r[7]=1,n.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:r})}if(t.tangent){let r=new Float32Array(12);r[0]=1,r[1]=0,r[2]=0,r[3]=1,r[4]=0,r[5]=0,r[6]=1,r[7]=0,r[8]=0,r[9]=1,r[10]=0,r[11]=0,n.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}if(t.bitangent){let r=new Float32Array(12);r[0]=0,r[1]=1,r[2]=0,r[3]=0,r[4]=1,r[5]=0,r[6]=0,r[7]=1,r[8]=0,r[9]=0,r[10]=1,r[11]=0,n.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})}i=new Uint16Array(2*3),i[0]=0,i[1]=1,i[2]=2,i[3]=0,i[4]=2,i[5]=3}return new ft({attributes:n,indices:i,primitiveType:Fe.TRIANGLES,boundingSphere:new ce(h.ZERO,Math.sqrt(2))})};var Y3=XA;function KA(){this._workerName="createPlaneOutlineGeometry"}KA.packedLength=0;KA.pack=function(e,t){return t};KA.unpack=function(e,t,n){return l(n)?n:new KA};var xy=new h(-.5,-.5,0),X3=new h(.5,.5,0);KA.createGeometry=function(){let e=new mn,t=new Uint16Array(4*2),n=new Float64Array(4*3);return n[0]=xy.x,n[1]=xy.y,n[2]=xy.z,n[3]=X3.x,n[4]=xy.y,n[5]=xy.z,n[6]=X3.x,n[7]=X3.y,n[8]=xy.z,n[9]=xy.x,n[10]=X3.y,n[11]=xy.z,e.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:n}),t[0]=0,t[1]=1,t[2]=1,t[3]=2,t[4]=2,t[5]=3,t[6]=3,t[7]=0,new ft({attributes:e,indices:t,primitiveType:Fe.LINES,boundingSphere:new ce(h.ZERO,Math.sqrt(2))})};var K3=KA;var M$e=new h,Ofe=new z;function L$e(e){this.id=e,this.vertexFormat=void 0,this.plane=void 0,this.dimensions=void 0}function Ff(e,t){ci.call(this,{entity:e,scene:t,geometryOptions:new L$e(e),geometryPropertyName:"plane",observedPropertyNames:["availability","position","orientation","plane"]}),this._onEntityPropertyChanged(e,"plane",e.plane,void 0)}l(Object.create)&&(Ff.prototype=Object.create(ci.prototype),Ff.prototype.constructor=Ff);Ff.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Vn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let g;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(g=this._materialProperty.color.getValue(e,Ofe)),l(g)||(g=z.WHITE),o=Wt.fromColor(g),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};let c=t.plane,u=this._options,f=t.computeModelMatrix(e),d=q.getValueOrDefault(c.plane,e,u.plane),p=q.getValueOrUndefined(c.dimensions,e,u.dimensions);return u.plane=d,u.dimensions=p,f=x7(d,p,f,f),new wt({id:t,geometry:new Y3(this._options),modelMatrix:f,attributes:i})};Ff.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Ofe),o=this._distanceDisplayConditionProperty.getValue(e),r=t.plane,s=this._options,a=t.computeModelMatrix(e),c=q.getValueOrDefault(r.plane,e,s.plane),u=q.getValueOrUndefined(r.dimensions,e,s.dimensions);return s.plane=c,s.dimensions=u,a=x7(c,u,a,a),new wt({id:t,geometry:new K3,modelMatrix:a,attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o)}})};Ff.prototype._isHidden=function(e,t){return!l(t.plane)||!l(t.dimensions)||!l(e.position)||ci.prototype._isHidden.call(this,e,t)};Ff.prototype._getIsClosed=function(e){return!1};Ff.prototype._isDynamic=function(e,t){return!e.position.isConstant||!q.isConstant(e.orientation)||!t.plane.isConstant||!t.dimensions.isConstant||!q.isConstant(t.outlineWidth)};Ff.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=this._options;i.vertexFormat=n?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,i.plane=t.plane.getValue(Ge.MINIMUM_VALUE,i.plane),i.dimensions=t.dimensions.getValue(Ge.MINIMUM_VALUE,i.dimensions)};Ff.DynamicGeometryUpdater=ZA;function ZA(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(ZA.prototype=Object.create(ai.prototype),ZA.prototype.constructor=ZA);ZA.prototype._isHidden=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(e.position,n,M$e);return!l(o)||!l(i.plane)||!l(i.dimensions)||ai.prototype._isHidden.call(this,e,t,n)};ZA.prototype._setOptions=function(e,t,n){let i=this._options;i.plane=q.getValueOrDefault(t.plane,n,i.plane),i.dimensions=q.getValueOrUndefined(t.dimensions,n,i.dimensions)};var N$e=new h,F$e=new h,B$e=new h,k$e=new h,V$e=new $,U$e=new $,z$e=new F;function x7(e,t,n,i){let o=e.normal,r=e.distance,s=h.multiplyByScalar(o,-r,B$e),a=h.clone(h.UNIT_Z,F$e);P.equalsEpsilon(Math.abs(h.dot(a,o)),1,P.EPSILON8)&&(a=h.clone(h.UNIT_Y,a));let c=h.cross(a,o,N$e);a=h.cross(o,c,a),h.normalize(c,c),h.normalize(a,a);let u=V$e;$.setColumn(u,0,c,u),$.setColumn(u,1,a,u),$.setColumn(u,2,o,u);let f=h.fromElements(t.x,t.y,1,k$e),d=$.multiplyByScale(u,f,U$e),p=F.fromRotationTranslation(d,s,z$e);return F.multiplyTransformation(n,p,i)}Ff.createPrimitiveMatrix=x7;var Z3=Ff;var H$e=new h,G$e=new Ye,W$e=new U,j$e=new U,q$e=new h,Y$e=new h,X$e=new h,ND=new h,K$e=new h,Z$e=new h,Rfe=new Le,$$e=new $,Q$e=new $,J$e=new h;function eQe(e,t,n,i,o,r,s,a,c){let u=e.positions,f=ui.triangulate(e.positions2D,e.holes);f.length<3&&(f=[0,1,2]);let d=ke.createTypedArray(u.length,f.length);d.set(f);let p=$$e;if(i!==0){let _=Le.fromAxisAngle(s,i,Rfe);if(p=$.fromQuaternion(_,p),t.tangent||t.bitangent){_=Le.fromAxisAngle(s,-i,Rfe);let E=$.fromQuaternion(_,Q$e);a=h.normalize($.multiplyByVector(E,a,a),a),t.bitangent&&(c=h.normalize(h.cross(s,a,c),c))}}else p=$.clone($.IDENTITY,p);let g=j$e;t.st&&(g.x=n.x,g.y=n.y);let m=u.length,x=m*3,b=new Float64Array(x),T=t.normal?new Float32Array(x):void 0,C=t.tangent?new Float32Array(x):void 0,A=t.bitangent?new Float32Array(x):void 0,S=t.st?new Float32Array(m*2):void 0,v=0,D=0,R=0,O=0,M=0;for(let _=0;_<m;_++){let E=u[_];if(b[v++]=E.x,b[v++]=E.y,b[v++]=E.z,t.st)if(l(o)&&o.positions.length===m)S[M++]=o.positions[_].x,S[M++]=o.positions[_].y;else{let w=$.multiplyByVector(p,E,H$e),I=r(w,W$e);U.subtract(I,g,I);let L=P.clamp(I.x/n.width,0,1),B=P.clamp(I.y/n.height,0,1);S[M++]=L,S[M++]=B}t.normal&&(T[D++]=s.x,T[D++]=s.y,T[D++]=s.z),t.tangent&&(C[O++]=a.x,C[O++]=a.y,C[O++]=a.z),t.bitangent&&(A[R++]=c.x,A[R++]=c.y,A[R++]=c.z)}let N=new mn;return t.position&&(N.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b})),t.normal&&(N.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:T})),t.tangent&&(N.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:C})),t.bitangent&&(N.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:A})),t.st&&(N.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:S})),new ft({attributes:N,indices:d,primitiveType:Fe.TRIANGLES})}function tb(e){e=y(e,y.EMPTY_OBJECT);let t=e.polygonHierarchy,n=e.textureCoordinates,i=y(e.vertexFormat,Pe.DEFAULT);this._vertexFormat=Pe.clone(i),this._polygonHierarchy=t,this._stRotation=y(e.stRotation,0),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createCoplanarPolygonGeometry",this._textureCoordinates=n,this.packedLength=Hn.computeHierarchyPackedLength(t,h)+Pe.packedLength+ee.packedLength+(l(n)?Hn.computeHierarchyPackedLength(n,U):1)+2}tb.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},vertexFormat:e.vertexFormat,stRotation:e.stRotation,ellipsoid:e.ellipsoid,textureCoordinates:e.textureCoordinates};return new tb(t)};tb.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._stRotation,l(e._textureCoordinates)?n=Hn.packPolygonHierarchy(e._textureCoordinates,t,n,U):t[n++]=-1,t[n++]=e.packedLength,t};var tQe=ee.clone(ee.UNIT_SPHERE),nQe=new Pe,iQe={polygonHierarchy:{}};tb.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,tQe);t+=ee.packedLength;let r=Pe.unpack(e,t,nQe);t+=Pe.packedLength;let s=e[t++],a=e[t]===-1?void 0:Hn.unpackPolygonHierarchy(e,t,U);l(a)?(t=a.startingIndex,delete a.startingIndex):t++;let c=e[t++];return l(n)||(n=new tb(iQe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._stRotation=s,n._textureCoordinates=a,n.packedLength=c,n};tb.createGeometry=function(e){let t=e._vertexFormat,n=e._polygonHierarchy,i=e._stRotation,o=e._textureCoordinates,r=l(o),s=n.positions;if(s=bo(s,h.equalsEpsilon,!0),s.length<3)return;let a=q$e,c=Y$e,u=X$e,f=K$e,d=Z$e;if(!Zg.computeProjectTo2DArguments(s,ND,f,d))return;if(a=h.cross(f,d,a),a=h.normalize(a,a),!h.equalsEpsilon(ND,h.ZERO,P.EPSILON6)){let M=e._ellipsoid.geodeticSurfaceNormal(ND,J$e);h.dot(a,M)<0&&(a=h.negate(a,a),f=h.negate(f,f))}let g=Zg.createProjectPointsTo2DFunction(ND,f,d),m=Zg.createProjectPointTo2DFunction(ND,f,d);t.tangent&&(c=h.clone(f,c)),t.bitangent&&(u=h.clone(d,u));let x=Hn.polygonsFromHierarchy(n,r,g,!1),b=x.hierarchy,T=x.polygons,C=function(M){return M},A=r?Hn.polygonsFromHierarchy(o,!0,C,!1).polygons:void 0;if(b.length===0)return;s=b[0].outerRing;let S=ce.fromPoints(s),v=Hn.computeBoundingRectangle(a,m,s,i,G$e),D=[];for(let M=0;M<T.length;M++){let N=new wt({geometry:eQe(T[M],t,v,i,r?A[M]:void 0,m,a,c,u)});D.push(N)}let R=Bn.combineInstances(D)[0];R.attributes.position.values=new Float64Array(R.attributes.position.values),R.indices=ke.createTypedArray(R.attributes.position.values.length/3,R.indices);let O=R.attributes;return t.position||delete O.position,new ft({attributes:O,indices:R.indices,primitiveType:R.primitiveType,boundingSphere:S})};var $3=tb;var Mfe=[],Q3=[];function oQe(e,t,n,i,o){let s=os.fromPoints(t,e).projectPointsOntoPlane(t,Mfe);ui.computeWindingOrder2D(s)===Ts.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=0;if(i)for(c=new Float64Array(f*2*3),u=0;u<f;u++){let m=t[u],x=t[(u+1)%f];c[d++]=m.x,c[d++]=m.y,c[d++]=m.z,c[d++]=x.x,c[d++]=x.y,c[d++]=x.z}else{let m=0;if(o===nn.GEODESIC)for(u=0;u<f;u++)m+=Hn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===nn.RHUMB)for(u=0;u<f;u++)m+=Hn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(m*3),u=0;u<f;u++){let x;o===nn.GEODESIC?x=Hn.subdivideLine(t[u],t[(u+1)%f],n,Q3):o===nn.RHUMB&&(x=Hn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,Q3));let b=x.length;for(let T=0;T<b;++T)c[d++]=x[T]}}f=c.length/3;let p=f*2,g=ke.createTypedArray(f,p);for(d=0,u=0;u<f-1;u++)g[d++]=u,g[d++]=u+1;return g[d++]=f-1,g[d++]=0,new wt({geometry:new ft({attributes:new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:g,primitiveType:Fe.LINES})})}function rQe(e,t,n,i,o){let s=os.fromPoints(t,e).projectPointsOntoPlane(t,Mfe);ui.computeWindingOrder2D(s)===Ts.CLOCKWISE&&(s.reverse(),t=t.slice().reverse());let c,u,f=t.length,d=new Array(f),p=0;if(i)for(c=new Float64Array(f*2*3*2),u=0;u<f;++u){d[u]=p/3;let b=t[u],T=t[(u+1)%f];c[p++]=b.x,c[p++]=b.y,c[p++]=b.z,c[p++]=T.x,c[p++]=T.y,c[p++]=T.z}else{let b=0;if(o===nn.GEODESIC)for(u=0;u<f;u++)b+=Hn.subdivideLineCount(t[u],t[(u+1)%f],n);else if(o===nn.RHUMB)for(u=0;u<f;u++)b+=Hn.subdivideRhumbLineCount(e,t[u],t[(u+1)%f],n);for(c=new Float64Array(b*3*2),u=0;u<f;++u){d[u]=p/3;let T;o===nn.GEODESIC?T=Hn.subdivideLine(t[u],t[(u+1)%f],n,Q3):o===nn.RHUMB&&(T=Hn.subdivideRhumbLine(e,t[u],t[(u+1)%f],n,Q3));let C=T.length;for(let A=0;A<C;++A)c[p++]=T[A]}}f=c.length/(3*2);let g=d.length,m=(f*2+g)*2,x=ke.createTypedArray(f+g,m);for(p=0,u=0;u<f;++u)x[p++]=u,x[p++]=(u+1)%f,x[p++]=u+f,x[p++]=(u+1)%f+f;for(u=0;u<g;u++){let b=d[u];x[p++]=b,x[p++]=b+f}return new wt({geometry:new ft({attributes:new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})}),indices:x,primitiveType:Fe.LINES})})}function nb(e){let t=e.polygonHierarchy,n=y(e.ellipsoid,ee.default),i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.perPositionHeight,!1),r=o&&l(e.extrudedHeight),s=y(e.arcType,nn.GEODESIC),a=y(e.height,0),c=y(e.extrudedHeight,a);if(!r){let u=Math.max(a,c);c=Math.min(a,c),a=u}this._ellipsoid=ee.clone(n),this._granularity=i,this._height=a,this._extrudedHeight=c,this._arcType=s,this._polygonHierarchy=t,this._perPositionHeight=o,this._perPositionHeightExtrude=r,this._offsetAttribute=e.offsetAttribute,this._workerName="createPolygonOutlineGeometry",this.packedLength=Hn.computeHierarchyPackedLength(t,h)+ee.packedLength+8}nb.pack=function(e,t,n){return n=y(n,0),n=Hn.packPolygonHierarchy(e._polygonHierarchy,t,n,h),ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._height,t[n++]=e._extrudedHeight,t[n++]=e._granularity,t[n++]=e._perPositionHeightExtrude?1:0,t[n++]=e._perPositionHeight?1:0,t[n++]=e._arcType,t[n++]=y(e._offsetAttribute,-1),t[n]=e.packedLength,t};var sQe=ee.clone(ee.UNIT_SPHERE),aQe={polygonHierarchy:{}};nb.unpack=function(e,t,n){t=y(t,0);let i=Hn.unpackPolygonHierarchy(e,t,h);t=i.startingIndex,delete i.startingIndex;let o=ee.unpack(e,t,sQe);t+=ee.packedLength;let r=e[t++],s=e[t++],a=e[t++],c=e[t++]===1,u=e[t++]===1,f=e[t++],d=e[t++],p=e[t];return l(n)||(n=new nb(aQe)),n._polygonHierarchy=i,n._ellipsoid=ee.clone(o,n._ellipsoid),n._height=r,n._extrudedHeight=s,n._granularity=a,n._perPositionHeight=u,n._perPositionHeightExtrude=c,n._arcType=f,n._offsetAttribute=d===-1?void 0:d,n.packedLength=p,n};nb.fromPositions=function(e){e=y(e,y.EMPTY_OBJECT);let t={polygonHierarchy:{positions:e.positions},height:e.height,extrudedHeight:e.extrudedHeight,ellipsoid:e.ellipsoid,granularity:e.granularity,perPositionHeight:e.perPositionHeight,arcType:e.arcType,offsetAttribute:e.offsetAttribute};return new nb(t)};nb.createGeometry=function(e){let t=e._ellipsoid,n=e._granularity,i=e._polygonHierarchy,o=e._perPositionHeight,r=e._arcType,s=Hn.polygonOutlinesFromHierarchy(i,!o,t);if(s.length===0)return;let a,c=[],u=P.chordLength(n,t.maximumRadius),f=e._height,d=e._extrudedHeight,p=e._perPositionHeightExtrude||!P.equalsEpsilon(f,d,0,P.EPSILON2),g,m;if(p)for(m=0;m<s.length;m++){if(a=rQe(t,s[m],u,o,r),a.geometry=Hn.scaleToGeodeticHeightExtruded(a.geometry,f,d,t,o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length/3,C=new Uint8Array(T);e._offsetAttribute===cn.TOP?C=C.fill(1,0,T/2):(g=e._offsetAttribute===cn.NONE?0:1,C=C.fill(g)),a.geometry.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}c.push(a)}else for(m=0;m<s.length;m++){if(a=oQe(t,s[m],u,o,r),a.geometry.attributes.position.values=ui.scaleToGeodeticHeight(a.geometry.attributes.position.values,f,t,!o),l(e._offsetAttribute)){let T=a.geometry.attributes.position.values.length;g=e._offsetAttribute===cn.NONE?0:1;let C=new Uint8Array(T/3).fill(g);a.geometry.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:C})}c.push(a)}let x=Bn.combineInstances(c)[0],b=ce.fromVertices(x.attributes.position.values);return new ft({attributes:x.attributes,indices:x.indices,primitiveType:x.primitiveType,boundingSphere:b,offsetAttribute:e._offsetAttribute})};var J3=nb;var Lfe="Entity polygons cannot have both height and perPositionHeight. height will be ignored",Nfe="heightReference is not supported for entity polygons with perPositionHeight. heightReference will be ignored",Ffe=new z,Bfe=h.ZERO,kfe=new h,Vfe=new ae,cQe=[],lQe=new U;function uQe(e){this.id=e,this.vertexFormat=void 0,this.polygonHierarchy=void 0,this.perPositionHeight=void 0,this.closeTop=void 0,this.closeBottom=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.offsetAttribute=void 0,this.arcType=void 0,this.textureCoordinates=void 0}function xu(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new uQe(e),geometryPropertyName:"polygon",observedPropertyNames:["availability","polygon"]}),this._onEntityPropertyChanged(e,"polygon",e.polygon,void 0)}l(Object.create)&&(xu.prototype=Object.create(jn.prototype),xu.prototype.constructor=xu);xu.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let s;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(s=this._materialProperty.color.getValue(e,Ffe)),l(s)||(s=z.WHITE),o.color=Wt.fromColor(s)}l(i.offsetAttribute)&&(o.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Bfe,kfe)));let r;return i.perPositionHeight&&!l(i.extrudedHeight)?r=new $3(i):r=new Dg(i),new wt({id:t,geometry:r,attributes:o})};xu.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=this._options,o=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Ffe),r=this._distanceDisplayConditionProperty.getValue(e),s={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(o),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(r),offset:void 0};l(i.offsetAttribute)&&(s.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,Bfe,kfe)));let a;return i.perPositionHeight&&!l(i.extrudedHeight)?a=new Pd(i):a=new J3(i),new wt({id:t,geometry:a,attributes:s})};xu.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.polygon.hierarchy,e);if(!l(n))return;let i=n.positions;if(i.length===0)return;let o=this._scene.ellipsoid,r=os.fromPoints(i,o),s=r.projectPointsOntoPlane(i,cQe),a=s.length,c=0,u=a-1,f=new U;for(let p=0;p<a;u=p++){let g=s[p],m=s[u],x=g.x*m.y-m.x*g.y,b=U.add(g,m,lQe);b=U.multiplyByScalar(b,x,b),f=U.add(f,b,f),c+=x}let d=1/(c*3);return f=U.multiplyByScalar(f,d,f),r.projectPointOntoEllipsoid(f,t)};xu.prototype._isHidden=function(e,t){return!l(t.hierarchy)||ci.prototype._isHidden.call(this,e,t)};xu.prototype._isOnTerrain=function(e,t){let n=jn.prototype._isOnTerrain.call(this,e,t),i=t.perPositionHeight,o=l(i)&&(i.isConstant?i.getValue(Ge.MINIMUM_VALUE):!0);return n&&!o};xu.prototype._isDynamic=function(e,t){return!t.hierarchy.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.textureCoordinates)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.perPositionHeight)||!q.isConstant(t.closeTop)||!q.isConstant(t.closeBottom)||!q.isConstant(t.zIndex)||!q.isConstant(t.arcType)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};xu.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=this._options;i.vertexFormat=n?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat;let o=t.hierarchy.getValue(Ge.MINIMUM_VALUE),r=q.getValueOrUndefined(t.height,Ge.MINIMUM_VALUE),s=q.getValueOrDefault(t.heightReference,Ge.MINIMUM_VALUE,Xe.NONE),a=q.getValueOrUndefined(t.extrudedHeight,Ge.MINIMUM_VALUE),c=q.getValueOrDefault(t.extrudedHeightReference,Ge.MINIMUM_VALUE,Xe.NONE),u=q.getValueOrDefault(t.perPositionHeight,Ge.MINIMUM_VALUE,!1);r=jn.getGeometryHeight(r,s);let f;if(u?(l(r)&&(r=void 0,Tt(Lfe)),s!==Xe.NONE&&u&&(r=void 0,Tt(Nfe))):(l(a)&&!l(r)&&(r=0),f=jn.computeGeometryOffsetAttribute(r,s,a,c)),i.polygonHierarchy=o,i.granularity=q.getValueOrUndefined(t.granularity,Ge.MINIMUM_VALUE),i.stRotation=q.getValueOrUndefined(t.stRotation,Ge.MINIMUM_VALUE),i.perPositionHeight=u,i.closeTop=q.getValueOrDefault(t.closeTop,Ge.MINIMUM_VALUE,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,Ge.MINIMUM_VALUE,!0),i.offsetAttribute=f,i.height=r,i.arcType=q.getValueOrDefault(t.arcType,Ge.MINIMUM_VALUE,nn.GEODESIC),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,Ge.MINIMUM_VALUE),a=jn.getGeometryExtrudedHeight(a,c),a===jn.CLAMP_TO_GROUND){let d=Dg.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Vfe);a=hi.getMinimumMaximumHeights(d).minimumTerrainHeight}i.extrudedHeight=a};xu.prototype._getIsClosed=function(e){let t=e.height,n=e.extrudedHeight,i=l(n)&&n!==t;return!e.perPositionHeight&&(!i&&t===0||i&&e.closeTop&&e.closeBottom)};xu.DynamicGeometryUpdater=$A;function $A(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&($A.prototype=Object.create(ai.prototype),$A.prototype.constructor=$A);$A.prototype._isHidden=function(e,t,n){return!l(this._options.polygonHierarchy)||ai.prototype._isHidden.call(this,e,t,n)};$A.prototype._setOptions=function(e,t,n){let i=this._options;i.polygonHierarchy=q.getValueOrUndefined(t.hierarchy,n);let o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Xe.NONE),s=q.getValueOrDefault(t.extrudedHeightReference,n,Xe.NONE),a=q.getValueOrUndefined(t.extrudedHeight,n),c=q.getValueOrUndefined(t.perPositionHeight,n);o=jn.getGeometryHeight(o,s);let u;if(c?(l(o)&&(o=void 0,Tt(Lfe)),r!==Xe.NONE&&c&&(o=void 0,Tt(Nfe))):(l(a)&&!l(o)&&(o=0),u=jn.computeGeometryOffsetAttribute(o,r,a,s)),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.textureCoordinates=q.getValueOrUndefined(t.textureCoordinates,n),i.perPositionHeight=q.getValueOrUndefined(t.perPositionHeight,n),i.closeTop=q.getValueOrDefault(t.closeTop,n,!0),i.closeBottom=q.getValueOrDefault(t.closeBottom,n,!0),i.offsetAttribute=u,i.height=o,i.arcType=q.getValueOrDefault(t.arcType,n,nn.GEODESIC),a=jn.getGeometryExtrudedHeight(a,s),a===jn.CLAMP_TO_GROUND){let f=Dg.computeRectangleFromPositions(i.polygonHierarchy.positions,i.ellipsoid,i.arcType,Vfe);a=hi.getMinimumMaximumHeights(f).minimumTerrainHeight}i.extrudedHeight=a};var ek=xu;function fQe(e,t,n,i){let o=new mn;i.position&&(o.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e}));let r=t.length,s=e.length/3,a=(s-r*2)/(r*2),c=ui.triangulate(t),u=(a-1)*r*6+c.length*2,f=ke.createTypedArray(s,u),d,p,g,m,x,b,T=r*2,C=0;for(d=0;d<a-1;d++){for(p=0;p<r-1;p++)g=p*2+d*r*2,b=g+T,m=g+1,x=m+T,f[C++]=m,f[C++]=g,f[C++]=x,f[C++]=x,f[C++]=g,f[C++]=b;g=r*2-2+d*r*2,m=g+1,x=m+T,b=g+T,f[C++]=m,f[C++]=g,f[C++]=x,f[C++]=x,f[C++]=g,f[C++]=b}if(i.st||i.tangent||i.bitangent){let v=new Float32Array(s*2),D=1/(a-1),R=1/n.height,O=n.height/2,M,N,_=0;for(d=0;d<a;d++){for(M=d*D,N=R*(t[0].y+O),v[_++]=M,v[_++]=N,p=1;p<r;p++)N=R*(t[p].y+O),v[_++]=M,v[_++]=N,v[_++]=M,v[_++]=N;N=R*(t[0].y+O),v[_++]=M,v[_++]=N}for(p=0;p<r;p++)M=0,N=R*(t[p].y+O),v[_++]=M,v[_++]=N;for(p=0;p<r;p++)M=(a-1)*D,N=R*(t[p].y+O),v[_++]=M,v[_++]=N;o.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:new Float32Array(v)})}let A=s-r*2;for(d=0;d<c.length;d+=3){let v=c[d]+A,D=c[d+1]+A,R=c[d+2]+A;f[C++]=v,f[C++]=D,f[C++]=R,f[C++]=R+r,f[C++]=D+r,f[C++]=v+r}let S=new ft({attributes:o,indices:f,boundingSphere:ce.fromVertices(e),primitiveType:Fe.TRIANGLES});if(i.normal&&(S=Bn.computeNormal(S)),i.tangent||i.bitangent){try{S=Bn.computeTangentAndBitangent(S)}catch{Tt("polyline-volume-tangent-bitangent","Unable to compute tangents and bitangents for polyline volume geometry")}i.tangent||(S.attributes.tangent=void 0),i.bitangent||(S.attributes.bitangent=void 0),i.st||(S.attributes.st=void 0)}return S}function BD(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*U.packedLength,this.packedLength=i+ee.packedLength+Pe.packedLength+2}BD.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=U.packedLength)U.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var Ufe=ee.clone(ee.UNIT_SPHERE),zfe=new Pe,FD={polylinePositions:void 0,shapePositions:void 0,ellipsoid:Ufe,vertexFormat:zfe,cornerType:void 0,granularity:void 0};BD.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=U.packedLength)s[i]=U.unpack(e,t);let a=ee.unpack(e,t,Ufe);t+=ee.packedLength;let c=Pe.unpack(e,t,zfe);t+=Pe.packedLength;let u=e[t++],f=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Pe.clone(c,n._vertexFormat),n._cornerType=u,n._granularity=f,n):(FD.polylinePositions=r,FD.shapePositions=s,FD.cornerType=u,FD.granularity=f,new BD(FD))};var dQe=new Ye;BD.createGeometry=function(e){let t=e._positions,n=bo(t,h.equalsEpsilon),i=e._shape;if(i=am.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ui.computeWindingOrder2D(i)===Ts.CLOCKWISE&&i.reverse();let o=Ye.fromPoints(i,dQe),r=am.computePositions(n,i,o,e,!0);return fQe(r,i,o,e._vertexFormat)};var tk=BD;function hQe(e,t){let n=new mn;n.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:e});let i=t.length,o=n.position.values.length/3,s=e.length/3/i,a=ke.createTypedArray(o,2*i*(s+1)),c,u,f=0;c=0;let d=c*i;for(u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=s-1,d=c*i,u=0;u<i-1;u++)a[f++]=u+d,a[f++]=u+d+1;for(a[f++]=i-1+d,a[f++]=d,c=0;c<s-1;c++){let g=i*c,m=g+i;for(u=0;u<i;u++)a[f++]=u+g,a[f++]=u+m}return new ft({attributes:n,indices:ke.createTypedArray(o,a),boundingSphere:ce.fromVertices(e),primitiveType:Fe.LINES})}function VD(e){e=y(e,y.EMPTY_OBJECT);let t=e.polylinePositions,n=e.shapePositions;this._positions=t,this._shape=n,this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._cornerType=y(e.cornerType,Ni.ROUNDED),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._workerName="createPolylineVolumeOutlineGeometry";let i=1+t.length*h.packedLength;i+=1+n.length*U.packedLength,this.packedLength=i+ee.packedLength+2}VD.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._shape;for(r=s.length,t[n++]=r,i=0;i<r;++i,n+=U.packedLength)U.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._cornerType,t[n]=e._granularity,t};var Hfe=ee.clone(ee.UNIT_SPHERE),kD={polylinePositions:void 0,shapePositions:void 0,ellipsoid:Hfe,height:void 0,cornerType:void 0,granularity:void 0};VD.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=new Array(o);for(i=0;i<o;++i,t+=U.packedLength)s[i]=U.unpack(e,t);let a=ee.unpack(e,t,Hfe);t+=ee.packedLength;let c=e[t++],u=e[t];return l(n)?(n._positions=r,n._shape=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._cornerType=c,n._granularity=u,n):(kD.polylinePositions=r,kD.shapePositions=s,kD.cornerType=c,kD.granularity=u,new VD(kD))};var mQe=new Ye;VD.createGeometry=function(e){let t=e._positions,n=bo(t,h.equalsEpsilon),i=e._shape;if(i=am.removeDuplicatesFromShape(i),n.length<2||i.length<3)return;ui.computeWindingOrder2D(i)===Ts.CLOCKWISE&&i.reverse();let o=Ye.fromPoints(i,mQe),r=am.computePositions(n,i,o,e,!1);return hQe(r,i)};var nk=VD;var Gfe=new z;function pQe(e){this.id=e,this.vertexFormat=void 0,this.polylinePositions=void 0,this.shapePositions=void 0,this.cornerType=void 0,this.granularity=void 0}function pm(e,t){ci.call(this,{entity:e,scene:t,geometryOptions:new pQe(e),geometryPropertyName:"polylineVolume",observedPropertyNames:["availability","polylineVolume"]}),this._onEntityPropertyChanged(e,"polylineVolume",e.polylineVolume,void 0)}l(Object.create)&&(pm.prototype=Object.create(ci.prototype),pm.prototype.constructor=pm);pm.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Vn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,Gfe)),l(c)||(c=z.WHITE),o=Wt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new wt({id:t,geometry:new tk(this._options),attributes:i})};pm.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,Gfe),o=this._distanceDisplayConditionProperty.getValue(e);return new wt({id:t,geometry:new nk(this._options),attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o)}})};pm.prototype._isHidden=function(e,t){return!l(t.positions)||!l(t.shape)||ci.prototype._isHidden.call(this,e,t)};pm.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!t.shape.isConstant||!q.isConstant(t.granularity)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.cornerType)};pm.prototype._setStaticOptions=function(e,t){let n=t.granularity,i=t.cornerType,o=this._options,r=this._materialProperty instanceof Ht;o.vertexFormat=r?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,o.polylinePositions=t.positions.getValue(Ge.MINIMUM_VALUE,o.polylinePositions),o.shapePositions=t.shape.getValue(Ge.MINIMUM_VALUE,o.shape),o.granularity=l(n)?n.getValue(Ge.MINIMUM_VALUE):void 0,o.cornerType=l(i)?i.getValue(Ge.MINIMUM_VALUE):void 0};pm.DynamicGeometryUpdater=QA;function QA(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(QA.prototype=Object.create(ai.prototype),QA.prototype.constructor=QA);QA.prototype._isHidden=function(e,t,n){let i=this._options;return!l(i.polylinePositions)||!l(i.shapePositions)||ai.prototype._isHidden.call(this,e,t,n)};QA.prototype._setOptions=function(e,t,n){let i=this._options;i.polylinePositions=q.getValueOrUndefined(t.positions,n,i.polylinePositions),i.shapePositions=q.getValueOrUndefined(t.shape,n),i.granularity=q.getValueOrUndefined(t.granularity,n),i.cornerType=q.getValueOrUndefined(t.cornerType,n)};var ik=pm;var b7=new h,qfe=new h,Yfe=new h,Xfe=new h,Kfe=new ae,_Qe=new U,gQe=new ce,yQe=new ce;function Zfe(e,t){let n=new ft({attributes:new mn,primitiveType:Fe.TRIANGLES});return n.attributes.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:t.positions}),e.normal&&(n.attributes.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.normals})),e.tangent&&(n.attributes.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.tangents})),e.bitangent&&(n.attributes.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:t.bitangents})),n}function xQe(e,t,n,i){let o=e.length,r=t.normal?new Float32Array(o):void 0,s=t.tangent?new Float32Array(o):void 0,a=t.bitangent?new Float32Array(o):void 0,c=0,u=Xfe,f=Yfe,d=qfe;if(t.normal||t.tangent||t.bitangent)for(let p=0;p<o;p+=3){let g=h.fromArray(e,p,b7),m=c+1,x=c+2;d=n.geodeticSurfaceNormal(g,d),(t.tangent||t.bitangent)&&(h.cross(h.UNIT_Z,d,f),$.multiplyByVector(i,f,f),h.normalize(f,f),t.bitangent&&h.normalize(h.cross(d,f,u),u)),t.normal&&(r[c]=d.x,r[m]=d.y,r[x]=d.z),t.tangent&&(s[c]=f.x,s[m]=f.y,s[x]=f.z),t.bitangent&&(a[c]=u.x,a[m]=u.y,a[x]=u.z),c+=3}return Zfe(t,{positions:e,normals:r,tangents:s,bitangents:a})}var T7=new h,$fe=new h;function bQe(e,t,n){let i=e.length,o=t.normal?new Float32Array(i):void 0,r=t.tangent?new Float32Array(i):void 0,s=t.bitangent?new Float32Array(i):void 0,a=0,c=0,u=0,f=!0,d=Xfe,p=Yfe,g=qfe;if(t.normal||t.tangent||t.bitangent)for(let m=0;m<i;m+=6){let x=h.fromArray(e,m,b7),b=h.fromArray(e,(m+6)%i,T7);if(f){let T=h.fromArray(e,(m+3)%i,$fe);h.subtract(b,x,b),h.subtract(T,x,T),g=h.normalize(h.cross(T,b,g),g),f=!1}h.equalsEpsilon(b,x,P.EPSILON10)&&(f=!0),(t.tangent||t.bitangent)&&(d=n.geodeticSurfaceNormal(x,d),t.tangent&&(p=h.normalize(h.cross(d,g,p),p))),t.normal&&(o[a++]=g.x,o[a++]=g.y,o[a++]=g.z,o[a++]=g.x,o[a++]=g.y,o[a++]=g.z),t.tangent&&(r[c++]=p.x,r[c++]=p.y,r[c++]=p.z,r[c++]=p.x,r[c++]=p.y,r[c++]=p.z),t.bitangent&&(s[u++]=d.x,s[u++]=d.y,s[u++]=d.z,s[u++]=d.x,s[u++]=d.y,s[u++]=d.z)}return Zfe(t,{positions:e,normals:o,tangents:r,bitangents:s})}function Qfe(e,t){let n=e._vertexFormat,i=e._ellipsoid,o=t.height,r=t.width,s=t.northCap,a=t.southCap,c=0,u=o,f=o,d=0;s&&(c=1,f-=1,d+=1),a&&(u-=1,f-=1,d+=1),d+=r*f;let p=n.position?new Float64Array(d*3):void 0,g=n.st?new Float32Array(d*2):void 0,m=0,x=0,b=b7,T=_Qe,C=Number.MAX_VALUE,A=Number.MAX_VALUE,S=-Number.MAX_VALUE,v=-Number.MAX_VALUE;for(let E=c;E<u;++E)for(let w=0;w<r;++w)Ws.computePosition(t,i,n.st,E,w,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,C=Math.min(C,T.x),A=Math.min(A,T.y),S=Math.max(S,T.x),v=Math.max(v,T.y));if(s&&(Ws.computePosition(t,i,n.st,0,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m++]=b.z,n.st&&(g[x++]=T.x,g[x++]=T.y,C=T.x,A=T.y,S=T.x,v=T.y)),a&&(Ws.computePosition(t,i,n.st,o-1,0,b,T),p[m++]=b.x,p[m++]=b.y,p[m]=b.z,n.st&&(g[x++]=T.x,g[x]=T.y,C=Math.min(C,T.x),A=Math.min(A,T.y),S=Math.max(S,T.x),v=Math.max(v,T.y))),n.st&&(C<0||A<0||S>1||v>1))for(let E=0;E<g.length;E+=2)g[E]=(g[E]-C)/(S-C),g[E+1]=(g[E+1]-A)/(v-A);let D=xQe(p,n,i,t.tangentRotationMatrix),R=6*(r-1)*(f-1);s&&(R+=3*(r-1)),a&&(R+=3*(r-1));let O=ke.createTypedArray(d,R),M=0,N=0,_;for(_=0;_<f-1;++_){for(let E=0;E<r-1;++E){let w=M,I=w+r,L=I+1,B=w+1;O[N++]=w,O[N++]=I,O[N++]=B,O[N++]=B,O[N++]=I,O[N++]=L,++M}++M}if(s||a){let E=d-1,w=d-1;s&&a&&(E=d-2);let I,L;if(M=0,s)for(_=0;_<r-1;_++)I=M,L=I+1,O[N++]=E,O[N++]=I,O[N++]=L,++M;if(a)for(M=(f-1)*r,_=0;_<r-1;_++)I=M,L=I+1,O[N++]=I,O[N++]=w,O[N++]=L,++M}return D.indices=O,n.st&&(D.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:g})),D}function JA(e,t,n,i,o){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n+2],e[t++]=o[n],e[t++]=o[n+1],e[t]=o[n+2],e}function eE(e,t,n,i){return e[t++]=i[n],e[t++]=i[n+1],e[t++]=i[n],e[t]=i[n+1],e}var C7=new Pe;function TQe(e,t){let n=e._shadowVolume,i=e._offsetAttribute,o=e._vertexFormat,r=e._extrudedHeight,s=e._surfaceHeight,a=e._ellipsoid,c=t.height,u=t.width,f;if(n){let qe=Pe.clone(o,C7);qe.normal=!0,e._vertexFormat=qe}let d=Qfe(e,t);n&&(e._vertexFormat=o);let p=ui.scaleToGeodeticHeight(d.attributes.position.values,s,a,!1);p=new Float64Array(p);let g=p.length,m=g*2,x=new Float64Array(m);x.set(p);let b=ui.scaleToGeodeticHeight(d.attributes.position.values,r,a);x.set(b,g),d.attributes.position.values=x;let T=o.normal?new Float32Array(m):void 0,C=o.tangent?new Float32Array(m):void 0,A=o.bitangent?new Float32Array(m):void 0,S=o.st?new Float32Array(m/3*2):void 0,v,D;if(o.normal){for(D=d.attributes.normal.values,T.set(D),f=0;f<g;f++)D[f]=-D[f];T.set(D,g),d.attributes.normal.values=T}if(n){D=d.attributes.normal.values,o.normal||(d.attributes.normal=void 0);let qe=new Float32Array(m);for(f=0;f<g;f++)D[f]=-D[f];qe.set(D,g),d.attributes.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:qe})}let R,O=l(i);if(O){let qe=g/3*2,pt=new Uint8Array(qe);i===cn.TOP?pt=pt.fill(1,0,qe/2):(R=i===cn.NONE?0:1,pt=pt.fill(R)),d.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:pt})}if(o.tangent){let qe=d.attributes.tangent.values;for(C.set(qe),f=0;f<g;f++)qe[f]=-qe[f];C.set(qe,g),d.attributes.tangent.values=C}if(o.bitangent){let qe=d.attributes.bitangent.values;A.set(qe),A.set(qe,g),d.attributes.bitangent.values=A}o.st&&(v=d.attributes.st.values,S.set(v),S.set(v,g/3*2),d.attributes.st.values=S);let M=d.indices,N=M.length,_=g/3,E=ke.createTypedArray(m/3,N*2);for(E.set(M),f=0;f<N;f+=3)E[f+N]=M[f+2]+_,E[f+1+N]=M[f+1]+_,E[f+2+N]=M[f]+_;d.indices=E;let w=t.northCap,I=t.southCap,L=c,B=2,H=0,V=4,G=4;w&&(B-=1,L-=1,H+=1,V-=2,G-=1),I&&(B-=1,L-=1,H+=1,V-=2,G-=1),H+=B*u+2*L-V;let k=(H+G)*2,W=new Float64Array(k*3),Y=n?new Float32Array(k*3):void 0,J=O?new Uint8Array(k):void 0,j=o.st?new Float32Array(k*2):void 0,Z=i===cn.TOP;O&&!Z&&(R=i===cn.ALL?1:0,J=J.fill(R));let Q=0,he=0,ye=0,re=0,_e=u*L,xe;for(f=0;f<_e;f+=u)xe=f*3,W=JA(W,Q,xe,p,b),Q+=6,o.st&&(j=eE(j,he,f*2,v),he+=4),n&&(ye+=3,Y[ye++]=D[xe],Y[ye++]=D[xe+1],Y[ye++]=D[xe+2]),Z&&(J[re++]=1,re+=1);if(I){let qe=w?_e+1:_e;for(xe=qe*3,f=0;f<2;f++)W=JA(W,Q,xe,p,b),Q+=6,o.st&&(j=eE(j,he,qe*2,v),he+=4),n&&(ye+=3,Y[ye++]=D[xe],Y[ye++]=D[xe+1],Y[ye++]=D[xe+2]),Z&&(J[re++]=1,re+=1)}else for(f=_e-u;f<_e;f++)xe=f*3,W=JA(W,Q,xe,p,b),Q+=6,o.st&&(j=eE(j,he,f*2,v),he+=4),n&&(ye+=3,Y[ye++]=D[xe],Y[ye++]=D[xe+1],Y[ye++]=D[xe+2]),Z&&(J[re++]=1,re+=1);for(f=_e-1;f>0;f-=u)xe=f*3,W=JA(W,Q,xe,p,b),Q+=6,o.st&&(j=eE(j,he,f*2,v),he+=4),n&&(ye+=3,Y[ye++]=D[xe],Y[ye++]=D[xe+1],Y[ye++]=D[xe+2]),Z&&(J[re++]=1,re+=1);if(w){let qe=_e;for(xe=qe*3,f=0;f<2;f++)W=JA(W,Q,xe,p,b),Q+=6,o.st&&(j=eE(j,he,qe*2,v),he+=4),n&&(ye+=3,Y[ye++]=D[xe],Y[ye++]=D[xe+1],Y[ye++]=D[xe+2]),Z&&(J[re++]=1,re+=1)}else for(f=u-1;f>=0;f--)xe=f*3,W=JA(W,Q,xe,p,b),Q+=6,o.st&&(j=eE(j,he,f*2,v),he+=4),n&&(ye+=3,Y[ye++]=D[xe],Y[ye++]=D[xe+1],Y[ye++]=D[xe+2]),Z&&(J[re++]=1,re+=1);let Ie=bQe(W,o,a);o.st&&(Ie.attributes.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:j})),n&&(Ie.attributes.extrudeDirection=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:Y})),O&&(Ie.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:J}));let De=ke.createTypedArray(k,H*6),Ne,Ce,Be,Ve;g=W.length/3;let $e=0;for(f=0;f<g-1;f+=2){Ne=f,Ve=(Ne+2)%g;let qe=h.fromArray(W,Ne*3,T7),pt=h.fromArray(W,Ve*3,$fe);h.equalsEpsilon(qe,pt,P.EPSILON10)||(Ce=(Ne+1)%g,Be=(Ce+2)%g,De[$e++]=Ne,De[$e++]=Ce,De[$e++]=Ve,De[$e++]=Ve,De[$e++]=Ce,De[$e++]=Be)}return Ie.indices=De,Ie=Bn.combineInstances([new wt({geometry:d}),new wt({geometry:Ie})]),Ie[0]}var CQe=[new h,new h,new h,new h],Jfe=new fe,AQe=new fe;function A7(e,t,n,i,o){if(n===0)return ae.clone(e,o);let r=Ws.computeOptions(e,t,n,0,Kfe,Jfe),s=r.height,a=r.width,c=CQe;return Ws.computePosition(r,i,!1,0,0,c[0]),Ws.computePosition(r,i,!1,0,a-1,c[1]),Ws.computePosition(r,i,!1,s-1,0,c[2]),Ws.computePosition(r,i,!1,s-1,a-1,c[3]),ae.fromCartesianArray(c,i,o)}function _m(e){e=y(e,y.EMPTY_OBJECT);let t=e.rectangle,n=y(e.height,0),i=y(e.extrudedHeight,n);this._rectangle=ae.clone(t),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._surfaceHeight=Math.max(n,i),this._rotation=y(e.rotation,0),this._stRotation=y(e.stRotation,0),this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._extrudedHeight=Math.min(n,i),this._shadowVolume=y(e.shadowVolume,!1),this._workerName="createRectangleGeometry",this._offsetAttribute=e.offsetAttribute,this._rotatedRectangle=void 0,this._textureCoordinateRotationPoints=void 0}_m.packedLength=ae.packedLength+ee.packedLength+Pe.packedLength+7;_m.pack=function(e,t,n){return n=y(n,0),ae.pack(e._rectangle,t,n),n+=ae.packedLength,ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._granularity,t[n++]=e._surfaceHeight,t[n++]=e._rotation,t[n++]=e._stRotation,t[n++]=e._extrudedHeight,t[n++]=e._shadowVolume?1:0,t[n]=y(e._offsetAttribute,-1),t};var ede=new ae,tde=ee.clone(ee.UNIT_SPHERE),by={rectangle:ede,ellipsoid:tde,vertexFormat:C7,granularity:void 0,height:void 0,rotation:void 0,stRotation:void 0,extrudedHeight:void 0,shadowVolume:void 0,offsetAttribute:void 0};_m.unpack=function(e,t,n){t=y(t,0);let i=ae.unpack(e,t,ede);t+=ae.packedLength;let o=ee.unpack(e,t,tde);t+=ee.packedLength;let r=Pe.unpack(e,t,C7);t+=Pe.packedLength;let s=e[t++],a=e[t++],c=e[t++],u=e[t++],f=e[t++],d=e[t++]===1,p=e[t];return l(n)?(n._rectangle=ae.clone(i,n._rectangle),n._ellipsoid=ee.clone(o,n._ellipsoid),n._vertexFormat=Pe.clone(r,n._vertexFormat),n._granularity=s,n._surfaceHeight=a,n._rotation=c,n._stRotation=u,n._extrudedHeight=f,n._shadowVolume=d,n._offsetAttribute=p===-1?void 0:p,n):(by.granularity=s,by.height=a,by.rotation=c,by.stRotation=u,by.extrudedHeight=f,by.shadowVolume=d,by.offsetAttribute=p===-1?void 0:p,new _m(by))};_m.computeRectangle=function(e,t){e=y(e,y.EMPTY_OBJECT);let n=e.rectangle,i=y(e.granularity,P.RADIANS_PER_DEGREE),o=y(e.ellipsoid,ee.default),r=y(e.rotation,0);return A7(n,i,r,o,t)};var EQe=new $,Wfe=new Le,SQe=new fe;_m.createGeometry=function(e){if(P.equalsEpsilon(e._rectangle.north,e._rectangle.south,P.EPSILON10)||P.equalsEpsilon(e._rectangle.east,e._rectangle.west,P.EPSILON10))return;let t=e._rectangle,n=e._ellipsoid,i=e._rotation,o=e._stRotation,r=e._vertexFormat,s=Ws.computeOptions(t,e._granularity,i,o,Kfe,Jfe,AQe),a=EQe;if(o!==0||i!==0){let g=ae.center(t,SQe),m=n.geodeticSurfaceNormalCartographic(g,T7);Le.fromAxisAngle(m,-o,Wfe),$.fromQuaternion(Wfe,a)}else $.clone($.IDENTITY,a);let c=e._surfaceHeight,u=e._extrudedHeight,f=!P.equalsEpsilon(c,u,0,P.EPSILON2);s.lonScalar=1/e._rectangle.width,s.latScalar=1/e._rectangle.height,s.tangentRotationMatrix=a;let d,p;if(t=e._rectangle,f){d=TQe(e,s);let g=ce.fromRectangle3D(t,n,c,yQe),m=ce.fromRectangle3D(t,n,u,gQe);p=ce.union(g,m)}else{if(d=Qfe(e,s),d.attributes.position.values=ui.scaleToGeodeticHeight(d.attributes.position.values,c,n,!1),l(e._offsetAttribute)){let g=d.attributes.position.values.length,m=e._offsetAttribute===cn.NONE?0:1,x=new Uint8Array(g/3).fill(m);d.attributes.applyOffset=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:1,values:x})}p=ce.fromRectangle3D(t,n,c)}return r.position||delete d.attributes.position,new ft({attributes:d.attributes,indices:d.indices,primitiveType:d.primitiveType,boundingSphere:p,offsetAttribute:e._offsetAttribute})};_m.createShadowVolume=function(e,t,n){let i=e._granularity,o=e._ellipsoid,r=t(i,o),s=n(i,o);return new _m({rectangle:e._rectangle,rotation:e._rotation,ellipsoid:o,stRotation:e._stRotation,granularity:i,extrudedHeight:s,height:r,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};var jfe=new ae,vQe=[new U,new U,new U],wQe=new Pi,DQe=new fe;function IQe(e){if(e._stRotation===0)return[0,0,0,1,1,0];let t=ae.clone(e._rectangle,jfe),n=e._granularity,i=e._ellipsoid,o=e._rotation-e._stRotation,r=A7(t,n,o,i,jfe),s=vQe;s[0].x=r.west,s[0].y=r.south,s[1].x=r.west,s[1].y=r.north,s[2].x=r.east,s[2].y=r.south;let a=e.rectangle,c=Pi.fromRotation(e._stRotation,wQe),u=ae.center(a,DQe);for(let m=0;m<3;++m){let x=s[m];x.x-=u.longitude,x.y-=u.latitude,Pi.multiplyByVector(c,x,x),x.x+=u.longitude,x.y+=u.latitude,x.x=(x.x-a.west)/a.width,x.y=(x.y-a.south)/a.height}let f=s[0],d=s[1],p=s[2],g=new Array(6);return U.pack(f,g),U.pack(d,g,2),U.pack(p,g,4),g}Object.defineProperties(_m.prototype,{rectangle:{get:function(){return l(this._rotatedRectangle)||(this._rotatedRectangle=A7(this._rectangle,this._granularity,this._rotation,this._ellipsoid)),this._rotatedRectangle}},textureCoordinateRotationPoints:{get:function(){return l(this._textureCoordinateRotationPoints)||(this._textureCoordinateRotationPoints=IQe(this)),this._textureCoordinateRotationPoints}}});var tE=_m;var nde=new z,ide=h.ZERO,ode=new h,rde=new ae,PQe=new ae,OQe=new fe;function RQe(e){this.id=e,this.vertexFormat=void 0,this.rectangle=void 0,this.height=void 0,this.extrudedHeight=void 0,this.granularity=void 0,this.stRotation=void 0,this.rotation=void 0,this.offsetAttribute=void 0}function Bd(e,t){jn.call(this,{entity:e,scene:t,geometryOptions:new RQe(e),geometryPropertyName:"rectangle",observedPropertyNames:["availability","rectangle"]}),this._onEntityPropertyChanged(e,"rectangle",e.rectangle,void 0)}l(Object.create)&&(Bd.prototype=Object.create(jn.prototype),Bd.prototype.constructor=Bd);Bd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(this._distanceDisplayConditionProperty.getValue(e)),offset:void 0,color:void 0};if(this._materialProperty instanceof Ht){let o;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(o=this._materialProperty.color.getValue(e,nde)),l(o)||(o=z.WHITE),i.color=Wt.fromColor(o)}return l(this._options.offsetAttribute)&&(i.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ide,ode))),new wt({id:t,geometry:new tE(this._options),attributes:i})};Bd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,nde),o=this._distanceDisplayConditionProperty.getValue(e),r={show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o),offset:void 0};return l(this._options.offsetAttribute)&&(r.offset=eo.fromCartesian3(q.getValueOrDefault(this._terrainOffsetProperty,e,ide,ode))),new wt({id:t,geometry:new fA(this._options),attributes:r})};Bd.prototype._computeCenter=function(e,t){let n=q.getValueOrUndefined(this._entity.rectangle.coordinates,e,PQe);if(!l(n))return;let i=ae.center(n,OQe);return fe.toCartesian(i,ee.default,t)};Bd.prototype._isHidden=function(e,t){return!l(t.coordinates)||ci.prototype._isHidden.call(this,e,t)};Bd.prototype._isDynamic=function(e,t){return!t.coordinates.isConstant||!q.isConstant(t.height)||!q.isConstant(t.extrudedHeight)||!q.isConstant(t.granularity)||!q.isConstant(t.stRotation)||!q.isConstant(t.rotation)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.zIndex)||this._onTerrain&&!q.isConstant(this._materialProperty)&&!(this._materialProperty instanceof Ht)};Bd.prototype._setStaticOptions=function(e,t){let n=this._materialProperty instanceof Ht,i=q.getValueOrUndefined(t.height,Ge.MINIMUM_VALUE),o=q.getValueOrDefault(t.heightReference,Ge.MINIMUM_VALUE,Xe.NONE),r=q.getValueOrUndefined(t.extrudedHeight,Ge.MINIMUM_VALUE),s=q.getValueOrDefault(t.extrudedHeightReference,Ge.MINIMUM_VALUE,Xe.NONE);l(r)&&!l(i)&&(i=0);let a=this._options;a.vertexFormat=n?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,a.rectangle=t.coordinates.getValue(Ge.MINIMUM_VALUE,a.rectangle),a.granularity=q.getValueOrUndefined(t.granularity,Ge.MINIMUM_VALUE),a.stRotation=q.getValueOrUndefined(t.stRotation,Ge.MINIMUM_VALUE),a.rotation=q.getValueOrUndefined(t.rotation,Ge.MINIMUM_VALUE),a.offsetAttribute=jn.computeGeometryOffsetAttribute(i,o,r,s),a.height=jn.getGeometryHeight(i,o),r=jn.getGeometryExtrudedHeight(r,s),r===jn.CLAMP_TO_GROUND&&(r=hi.getMinimumMaximumHeights(tE.computeRectangle(a,rde)).minimumTerrainHeight),a.extrudedHeight=r};Bd.DynamicGeometryUpdater=nE;function nE(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(nE.prototype=Object.create(ai.prototype),nE.prototype.constructor=nE);nE.prototype._isHidden=function(e,t,n){return!l(this._options.rectangle)||ai.prototype._isHidden.call(this,e,t,n)};nE.prototype._setOptions=function(e,t,n){let i=this._options,o=q.getValueOrUndefined(t.height,n),r=q.getValueOrDefault(t.heightReference,n,Xe.NONE),s=q.getValueOrUndefined(t.extrudedHeight,n),a=q.getValueOrDefault(t.extrudedHeightReference,n,Xe.NONE);l(s)&&!l(o)&&(o=0),i.rectangle=q.getValueOrUndefined(t.coordinates,n,i.rectangle),i.granularity=q.getValueOrUndefined(t.granularity,n),i.stRotation=q.getValueOrUndefined(t.stRotation,n),i.rotation=q.getValueOrUndefined(t.rotation,n),i.offsetAttribute=jn.computeGeometryOffsetAttribute(o,r,s,a),i.height=jn.getGeometryHeight(o,r),s=jn.getGeometryExtrudedHeight(s,a),s===jn.CLAMP_TO_GROUND&&(s=hi.getMinimumMaximumHeights(tE.computeRectangle(i,rde)).minimumTerrainHeight),i.extrudedHeight=s};var ok=Bd;var sde={};function MQe(e,t){return P.equalsEpsilon(e.latitude,t.latitude,P.EPSILON10)&&P.equalsEpsilon(e.longitude,t.longitude,P.EPSILON10)}var LQe=new fe,NQe=new fe;function FQe(e,t,n,i){t=bo(t,h.equalsEpsilon);let o=t.length;if(o<2)return;let r=l(i),s=l(n),a=new Array(o),c=new Array(o),u=new Array(o),f=t[0];a[0]=f;let d=e.cartesianToCartographic(f,LQe);s&&(d.height=n[0]),c[0]=d.height,r?u[0]=i[0]:u[0]=0;let p=c[0],g=u[0],m=p===g,x=1;for(let b=1;b<o;++b){let T=t[b],C=e.cartesianToCartographic(T,NQe);s&&(C.height=n[b]),m=m&&C.height===0,MQe(d,C)?d.height<C.height&&(c[x-1]=C.height):(a[x]=T,c[x]=C.height,r?u[x]=i[b]:u[x]=0,m=m&&c[x]===u[x],fe.clone(C,d),++x)}if(!(m||x<2))return a.length=x,c.length=x,u.length=x,{positions:a,topHeights:c,bottomHeights:u}}var BQe=new Array(2),kQe=new Array(2),VQe={positions:void 0,height:void 0,granularity:void 0,ellipsoid:void 0};sde.computePositions=function(e,t,n,i,o,r){let s=FQe(e,t,n,i);if(!l(s))return;t=s.positions,n=s.topHeights,i=s.bottomHeights;let a=t.length,c=a-2,u,f,d=P.chordLength(o,e.maximumRadius),p=VQe;if(p.minDistance=d,p.ellipsoid=e,r){let g=0,m;for(m=0;m<a-1;m++)g+=Li.numberOfPoints(t[m],t[m+1],d)+1;u=new Float64Array(g*3),f=new Float64Array(g*3);let x=BQe,b=kQe;p.positions=x,p.height=b;let T=0;for(m=0;m<a-1;m++){x[0]=t[m],x[1]=t[m+1],b[0]=n[m],b[1]=n[m+1];let C=Li.generateArc(p);u.set(C,T),b[0]=i[m],b[1]=i[m+1],f.set(Li.generateArc(p),T),T+=C.length}}else p.positions=t,p.height=n,u=new Float64Array(Li.generateArc(p)),p.height=i,f=new Float64Array(Li.generateArc(p));return{bottomPositions:f,topPositions:u,numCorners:c}};var iE=sde;var E7=new h,rk=new h,UQe=new h,ade=new h,zQe=new h,HQe=new h,GQe=new h;function ib(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e.granularity,P.RADIANS_PER_DEGREE),s=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._vertexFormat=Pe.clone(o),this._granularity=r,this._ellipsoid=ee.clone(s),this._workerName="createWallGeometry";let a=1+t.length*h.packedLength+2;l(i)&&(a+=i.length),l(n)&&(a+=n.length),this.packedLength=a+ee.packedLength+Pe.packedLength+1}ib.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n]=e._granularity,t};var cde=ee.clone(ee.UNIT_SPHERE),lde=new Pe,UD={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:cde,vertexFormat:lde,granularity:void 0};ib.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,cde);t+=ee.packedLength;let u=Pe.unpack(e,t,lde);t+=Pe.packedLength;let f=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._vertexFormat=Pe.clone(u,n._vertexFormat),n._granularity=f,n):(UD.positions=r,UD.minimumHeights=s,UD.maximumHeights=a,UD.granularity=f,new ib(UD))};ib.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid,vertexFormat:e.vertexFormat};return new ib(c)};ib.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._vertexFormat,r=e._granularity,s=e._ellipsoid,a=iE.computePositions(s,t,i,n,r,!0);if(!l(a))return;let c=a.bottomPositions,u=a.topPositions,f=a.numCorners,d=u.length,p=d*2,g=o.position?new Float64Array(p):void 0,m=o.normal?new Float32Array(p):void 0,x=o.tangent?new Float32Array(p):void 0,b=o.bitangent?new Float32Array(p):void 0,T=o.st?new Float32Array(p/3*2):void 0,C=0,A=0,S=0,v=0,D=0,R=GQe,O=HQe,M=zQe,N=!0;d/=3;let _,E=0,w=1/(d-f-1);for(_=0;_<d;++_){let V=_*3,G=h.fromArray(u,V,E7),k=h.fromArray(c,V,rk);if(o.position&&(g[C++]=k.x,g[C++]=k.y,g[C++]=k.z,g[C++]=G.x,g[C++]=G.y,g[C++]=G.z),o.st&&(T[D++]=E,T[D++]=0,T[D++]=E,T[D++]=1),o.normal||o.tangent||o.bitangent){let W=h.clone(h.ZERO,ade),Y=h.subtract(G,s.geodeticSurfaceNormal(G,rk),rk);if(_+1<d&&(W=h.fromArray(u,V+3,ade)),N){let J=h.subtract(W,G,UQe),j=h.subtract(Y,G,E7);R=h.normalize(h.cross(j,J,R),R),N=!1}h.equalsEpsilon(G,W,P.EPSILON10)?N=!0:(E+=w,o.tangent&&(O=h.normalize(h.subtract(W,G,O),O)),o.bitangent&&(M=h.normalize(h.cross(R,O,M),M))),o.normal&&(m[A++]=R.x,m[A++]=R.y,m[A++]=R.z,m[A++]=R.x,m[A++]=R.y,m[A++]=R.z),o.tangent&&(x[v++]=O.x,x[v++]=O.y,x[v++]=O.z,x[v++]=O.x,x[v++]=O.y,x[v++]=O.z),o.bitangent&&(b[S++]=M.x,b[S++]=M.y,b[S++]=M.z,b[S++]=M.x,b[S++]=M.y,b[S++]=M.z)}}let I=new mn;o.position&&(I.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:g})),o.normal&&(I.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),o.tangent&&(I.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:x})),o.bitangent&&(I.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:b})),o.st&&(I.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:T}));let L=p/3;p-=6*(f+1);let B=ke.createTypedArray(L,p),H=0;for(_=0;_<L-2;_+=2){let V=_,G=_+2,k=h.fromArray(g,V*3,E7),W=h.fromArray(g,G*3,rk);if(h.equalsEpsilon(k,W,P.EPSILON10))continue;let Y=_+1,J=_+3;B[H++]=Y,B[H++]=V,B[H++]=J,B[H++]=J,B[H++]=V,B[H++]=G}return new ft({attributes:I,indices:B,primitiveType:Fe.TRIANGLES,boundingSphere:new ce.fromVertices(g)})};var sk=ib;var ude=new h,fde=new h;function ob(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.maximumHeights,i=e.minimumHeights,o=y(e.granularity,P.RADIANS_PER_DEGREE),r=y(e.ellipsoid,ee.default);this._positions=t,this._minimumHeights=i,this._maximumHeights=n,this._granularity=o,this._ellipsoid=ee.clone(r),this._workerName="createWallOutlineGeometry";let s=1+t.length*h.packedLength+2;l(i)&&(s+=i.length),l(n)&&(s+=n.length),this.packedLength=s+ee.packedLength+1}ob.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._minimumHeights;if(r=l(s)?s.length:0,t[n++]=r,l(s))for(i=0;i<r;++i)t[n++]=s[i];let a=e._maximumHeights;if(r=l(a)?a.length:0,t[n++]=r,l(a))for(i=0;i<r;++i)t[n++]=a[i];return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n]=e._granularity,t};var dde=ee.clone(ee.UNIT_SPHERE),zD={positions:void 0,minimumHeights:void 0,maximumHeights:void 0,ellipsoid:dde,granularity:void 0};ob.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s;if(o>0)for(s=new Array(o),i=0;i<o;++i)s[i]=e[t++];o=e[t++];let a;if(o>0)for(a=new Array(o),i=0;i<o;++i)a[i]=e[t++];let c=ee.unpack(e,t,dde);t+=ee.packedLength;let u=e[t];return l(n)?(n._positions=r,n._minimumHeights=s,n._maximumHeights=a,n._ellipsoid=ee.clone(c,n._ellipsoid),n._granularity=u,n):(zD.positions=r,zD.minimumHeights=s,zD.maximumHeights=a,zD.granularity=u,new ob(zD))};ob.fromConstantHeights=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n,i,o=e.minimumHeight,r=e.maximumHeight,s=l(o),a=l(r);if(s||a){let u=t.length;n=s?new Array(u):void 0,i=a?new Array(u):void 0;for(let f=0;f<u;++f)s&&(n[f]=o),a&&(i[f]=r)}let c={positions:t,maximumHeights:i,minimumHeights:n,ellipsoid:e.ellipsoid};return new ob(c)};ob.createGeometry=function(e){let t=e._positions,n=e._minimumHeights,i=e._maximumHeights,o=e._granularity,r=e._ellipsoid,s=iE.computePositions(r,t,i,n,o,!1);if(!l(s))return;let a=s.bottomPositions,c=s.topPositions,u=c.length,f=u*2,d=new Float64Array(f),p=0;u/=3;let g;for(g=0;g<u;++g){let C=g*3,A=h.fromArray(c,C,ude),S=h.fromArray(a,C,fde);d[p++]=S.x,d[p++]=S.y,d[p++]=S.z,d[p++]=A.x,d[p++]=A.y,d[p++]=A.z}let m=new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d})}),x=f/3;f=2*x-4+x;let b=ke.createTypedArray(x,f),T=0;for(g=0;g<x-2;g+=2){let C=g,A=g+2,S=h.fromArray(d,C*3,ude),v=h.fromArray(d,A*3,fde);if(h.equalsEpsilon(S,v,P.EPSILON10))continue;let D=g+1,R=g+3;b[T++]=D,b[T++]=C,b[T++]=D,b[T++]=R,b[T++]=C,b[T++]=A}return b[T++]=x-2,b[T++]=x-1,new ft({attributes:m,indices:b,primitiveType:Fe.LINES,boundingSphere:new ce.fromVertices(d)})};var ak=ob;var hde=new z;function WQe(e){this.id=e,this.vertexFormat=void 0,this.positions=void 0,this.minimumHeights=void 0,this.maximumHeights=void 0,this.granularity=void 0}function kd(e,t){ci.call(this,{entity:e,scene:t,geometryOptions:new WQe(e),geometryPropertyName:"wall",observedPropertyNames:["availability","wall"]}),this._onEntityPropertyChanged(e,"wall",e.wall,void 0)}l(Object.create)&&(kd.prototype=Object.create(ci.prototype),kd.prototype.constructor=kd);kd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i,o,r=new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._fillProperty.getValue(e)),s=this._distanceDisplayConditionProperty.getValue(e),a=Vn.fromDistanceDisplayCondition(s);if(this._materialProperty instanceof Ht){let c;l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(c=this._materialProperty.color.getValue(e,hde)),l(c)||(c=z.WHITE),o=Wt.fromColor(c),i={show:r,distanceDisplayCondition:a,color:o}}else i={show:r,distanceDisplayCondition:a};return new wt({id:t,geometry:new sk(this._options),attributes:i})};kd.prototype.createOutlineGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=q.getValueOrDefault(this._outlineColorProperty,e,z.BLACK,hde),o=this._distanceDisplayConditionProperty.getValue(e);return new wt({id:t,geometry:new ak(this._options),attributes:{show:new xn(n&&t.isShowing&&this._showProperty.getValue(e)&&this._showOutlineProperty.getValue(e)),color:Wt.fromColor(i),distanceDisplayCondition:Vn.fromDistanceDisplayCondition(o)}})};kd.prototype._isHidden=function(e,t){return!l(t.positions)||ci.prototype._isHidden.call(this,e,t)};kd.prototype._getIsClosed=function(e){return!1};kd.prototype._isDynamic=function(e,t){return!t.positions.isConstant||!q.isConstant(t.minimumHeights)||!q.isConstant(t.maximumHeights)||!q.isConstant(t.outlineWidth)||!q.isConstant(t.granularity)};kd.prototype._setStaticOptions=function(e,t){let n=t.minimumHeights,i=t.maximumHeights,o=t.granularity,r=this._materialProperty instanceof Ht,s=this._options;s.vertexFormat=r?un.VERTEX_FORMAT:lo.MaterialSupport.TEXTURED.vertexFormat,s.positions=t.positions.getValue(Ge.MINIMUM_VALUE,s.positions),s.minimumHeights=l(n)?n.getValue(Ge.MINIMUM_VALUE,s.minimumHeights):void 0,s.maximumHeights=l(i)?i.getValue(Ge.MINIMUM_VALUE,s.maximumHeights):void 0,s.granularity=l(o)?o.getValue(Ge.MINIMUM_VALUE):void 0};kd.DynamicGeometryUpdater=oE;function oE(e,t,n){ai.call(this,e,t,n)}l(Object.create)&&(oE.prototype=Object.create(ai.prototype),oE.prototype.constructor=oE);oE.prototype._isHidden=function(e,t,n){return!l(this._options.positions)||ai.prototype._isHidden.call(this,e,t,n)};oE.prototype._setOptions=function(e,t,n){let i=this._options;i.positions=q.getValueOrUndefined(t.positions,n,i.positions),i.minimumHeights=q.getValueOrUndefined(t.minimumHeights,n,i.minimumHeights),i.maximumHeights=q.getValueOrUndefined(t.maximumHeights,n,i.maximumHeights),i.granularity=q.getValueOrUndefined(t.granularity,n)};var ck=kd;var rb=[KL,T3,h3,G3,W3,Z3,ek,ik,ok,ck];function sb(e,t){this.entity=e,this.scene=t;let n=new Array(rb.length),i=new me,o=new xr;for(let r=0;r<n.length;r++){let s=new rb[r](e,t);o.add(s.geometryChanged,a=>{i.raiseEvent(a)}),n[r]=s}this.updaters=n,this.geometryChanged=i,this.eventHelper=o,this._removeEntitySubscription=e.definitionChanged.addEventListener(sb.prototype._onEntityPropertyChanged,this)}sb.prototype._onEntityPropertyChanged=function(e,t,n,i){let o=this.updaters;for(let r=0;r<o.length;r++)o[r]._onEntityPropertyChanged(e,t,n,i)};sb.prototype.forEach=function(e){let t=this.updaters;for(let n=0;n<t.length;n++)e(t[n])};sb.prototype.destroy=function(){this.eventHelper.removeAll();let e=this.updaters;for(let t=0;t<e.length;t++)e[t].destroy();this._removeEntitySubscription(),ue(this)};sb.registerUpdater=function(e){rb.includes(e)||rb.push(e)};sb.unregisterUpdater=function(e){if(rb.includes(e)){let t=rb.indexOf(e);rb.splice(t,1)}};var rE=sb;var mde=new z,jQe=new Lt,qQe=new Lt,YQe=h.ZERO,XQe=new h;function Vd(e,t,n,i,o,r,s){this.translucent=t,this.appearanceType=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.depthFailMaterial=void 0,this.closed=r,this.shadows=s,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new vt,this.updaters=new vt,this.updatersWithAttributes=new vt,this.attributes=new vt,this.subscriptions=new vt,this.showsUpdated=new vt,this.itemsToRemove=[],this.invalidated=!1;let a;l(o)&&(a=o.definitionChanged.addEventListener(Vd.prototype.onMaterialChanged,this)),this.removeMaterialSubscription=a}Vd.prototype.onMaterialChanged=function(){this.invalidated=!0};Vd.prototype.isMaterial=function(e){let t=this.depthFailMaterialProperty,n=e.depthFailMaterialProperty;return n===t?!0:l(t)?t.equals(n):!1};Vd.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};Vd.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};Vd.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0){l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i);let c;l(this.depthFailAppearanceType)&&(l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial)),c=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.translucent,closed:this.closed})),i=new On({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new this.appearanceType({translucent:this.translucent,closed:this.closed}),depthFailAppearance:c,shadows:this.shadows}),o.add(i),t=!1}else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0),l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ht)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let b=u.fillMaterialProperty.color,T=q.getValueOrDefault(b,e,z.WHITE,mde);z.equals(d._lastColor,T)||(d._lastColor=z.clone(T,d._lastColor),d.color=Wt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}if(l(this.depthFailAppearanceType)&&u.depthFailMaterialProperty instanceof Ht&&(!u.depthFailMaterialProperty.isConstant||c)){let b=u.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,z.WHITE,mde);z.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=z.clone(T,d._lastDepthFailColor),d.depthFailColor=Wt.toValue(T,d.depthFailColor))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,qQe,jQe);Lt.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Lt.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,YQe,XQe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=eo.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};Vd.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};Vd.prototype.contains=function(e){return this.updaters.contains(e.id)};Vd.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ut.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ut.FAILED:(i.boundingSphere.clone(t),ut.DONE)};Vd.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),l(this.removeMaterialSubscription)&&this.removeMaterialSubscription()};function sE(e,t,n,i,o){this._solidItems=[],this._translucentItems=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}sE.prototype.add=function(e,t){let n,i,o=t.createFillGeometryInstance(e);o.attributes.color.value[3]===255?(n=this._solidItems,i=!1):(n=this._translucentItems,i=!0);let r=n.length;for(let a=0;a<r;a++){let c=n[a];if(c.isMaterial(t)){c.add(t,o);return}}let s=new Vd(this._primitives,i,this._appearanceType,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);s.add(t,o),n.push(s)};function pde(e,t){let n=e.length;for(let i=n-1;i>=0;i--){let o=e[i];if(o.remove(t))return o.updaters.length===0&&(e.splice(i,1),o.destroy()),!0}return!1}sE.prototype.remove=function(e){pde(this._solidItems,e)||pde(this._translucentItems,e)};function _de(e,t,n){let i=!1,o=t.length;for(let r=0;r<o;++r){let s=t[r],a=s.itemsToRemove,c=a.length;if(c>0)for(r=0;r<c;r++){let u=a[r];s.remove(u),e.add(n,u),i=!0}}return i}function lk(e,t,n,i){let o=t.length,r;for(r=o-1;r>=0;r--){let s=t[r];if(s.invalidated){t.splice(r,1);let a=s.updaters.values,c=a.length;for(let u=0;u<c;u++)e.add(n,a[u]);s.destroy()}}for(o=t.length,r=0;r<o;++r)i=t[r].update(n)&&i;return i}sE.prototype.update=function(e){let t=lk(this,this._solidItems,e,!0);t=lk(this,this._translucentItems,e,t)&&t;let n=_de(this,this._solidItems,e),i=_de(this,this._translucentItems,e);return(n||i)&&(t=lk(this,this._solidItems,e,t)&&t,t=lk(this,this._translucentItems,e,t)&&t),t};function gde(e,t,n){let i=e.length;for(let o=0;o<i;o++){let r=e[o];if(r.contains(t))return r.getBoundingSphere(t,n)}return ut.FAILED}sE.prototype.getBoundingSphere=function(e,t){let n=gde(this._solidItems,e,t);return n===ut.FAILED?gde(this._translucentItems,e,t):n};function yde(e){let t=e.length;for(let n=0;n<t;n++)e[n].destroy();e.length=0}sE.prototype.removeAllPrimitives=function(){yde(this._solidItems),yde(this._translucentItems)};var Ud=sE;var KQe=new Lt,ZQe=new Lt,$Qe=h.ZERO,QQe=new h;function zd(e,t,n,i,o,r,s){this.primitives=e,this.appearanceType=t,this.materialProperty=n,this.depthFailAppearanceType=i,this.depthFailMaterialProperty=o,this.closed=r,this.shadows=s,this.updaters=new vt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new vt,this.material=void 0,this.depthFailMaterial=void 0,this.updatersWithAttributes=new vt,this.attributes=new vt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(zd.prototype.onMaterialChanged,this),this.subscriptions=new vt,this.showsUpdated=new vt}zd.prototype.onMaterialChanged=function(){this.invalidated=!0};zd.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty,i=this.depthFailMaterialProperty,o=e.depthFailMaterialProperty;if(n===t&&o===i)return!0;let r=l(t)&&t.equals(n);return r=(!l(i)&&!l(o)||l(i)&&i.equals(o))&&r,r};zd.prototype.add=function(e,t){let n=t.id;if(this.updaters.set(n,t),this.geometry.set(n,t.createFillGeometryInstance(e)),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty)||!q.isConstant(t.terrainOffsetProperty))this.updatersWithAttributes.set(n,t);else{let i=this;this.subscriptions.set(n,t.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};zd.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};var JQe=new z;zd.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0){l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=rr.getValue(e,this.materialProperty,this.material);let a;l(this.depthFailMaterialProperty)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),a=new this.depthFailAppearanceType({material:this.depthFailMaterial,translucent:this.depthFailMaterial.isTranslucent(),closed:this.closed})),n=new On({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material,translucent:this.material.isTranslucent(),closed:this.closed}),depthFailAppearance:a,shadows:this.shadows}),i.add(n),t=!1}else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=rr.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material,l(this.depthFailAppearanceType)&&!(this.depthFailMaterialProperty instanceof Ht)&&(this.depthFailMaterial=rr.getValue(e,this.depthFailMaterialProperty,this.depthFailMaterial),this.primitive.depthFailAppearance.material=this.depthFailMaterial);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),l(this.depthFailAppearanceType)&&this.depthFailMaterialProperty instanceof Ht&&!c.depthFailMaterialProperty.isConstant){let b=c.depthFailMaterialProperty.color,T=q.getValueOrDefault(b,e,z.WHITE,JQe);z.equals(d._lastDepthFailColor,T)||(d._lastDepthFailColor=z.clone(T,d._lastDepthFailColor),d.depthFailColor=Wt.toValue(T,d.depthFailColor))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,ZQe,KQe);Lt.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Lt.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(b,d.distanceDisplayCondition))}let x=c.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,$Qe,QQe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=eo.toValue(b,d.offset))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};zd.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};zd.prototype.contains=function(e){return this.updaters.contains(e.id)};zd.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ut.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ut.FAILED:(i.boundingSphere.clone(t),ut.DONE)};zd.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function aE(e,t,n,i,o){this._items=[],this._primitives=e,this._appearanceType=t,this._depthFailAppearanceType=n,this._closed=i,this._shadows=o}aE.prototype.add=function(e,t){let n=this._items,i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s.isMaterial(t)){s.add(e,t);return}}let o=new zd(this._primitives,this._appearanceType,t.fillMaterialProperty,this._depthFailAppearanceType,t.depthFailMaterialProperty,this._closed,this._shadows);o.add(e,t),n.push(o)};aE.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};aE.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};aE.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ut.FAILED};aE.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var Hd=aE;var bde=Sr(xde(),1);function uk(){this._tree=new bde.default}function ab(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.id=""}ab.fromRectangleAndId=function(e,t,n){return n.minX=t.west,n.minY=t.south,n.maxX=t.east,n.maxY=t.north,n.id=e,n};uk.prototype.insert=function(e,t){let n=ab.fromRectangleAndId(e,t,new ab);this._tree.insert(n)};function eJe(e,t){return e.id===t.id}var tJe=new ab;uk.prototype.remove=function(e,t){let n=ab.fromRectangleAndId(e,t,tJe);this._tree.remove(n,eJe)};var nJe=new ab;uk.prototype.collides=function(e){let t=ab.fromRectangleAndId("",e,nJe);return this._tree.collides(t)};var cE=uk;var iJe=new z,oJe=new Lt,rJe=new Lt;function r_(e,t,n,i){this.primitives=e,this.zIndex=i,this.classificationType=t,this.color=n,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new vt,this.updaters=new vt,this.updatersWithAttributes=new vt,this.attributes=new vt,this.subscriptions=new vt,this.showsUpdated=new vt,this.itemsToRemove=[],this.isDirty=!1,this.rectangleCollisionCheck=new cE}r_.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};r_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),this.rectangleCollisionCheck.insert(n,t.geometry.rectangle),!e.hasConstantFill||!e.fillMaterialProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};r_.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};r_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new hl({show:!1,asynchronous:!0,geometryInstances:s.slice(),classificationType:this.classificationType}),o.add(i,this.zIndex),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.fillMaterialProperty.isConstant||c){let x=u.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,z.WHITE,iJe);z.equals(d._lastColor,b)||(d._lastColor=z.clone(b,d._lastColor),d.color=Wt.toValue(b,d.color))}let p=u.entity.isShowing&&(u.hasConstantFill||u.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,rJe,oJe);Lt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Lt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};r_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};r_.prototype.contains=function(e){return this.updaters.contains(e.id)};r_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ut.PENDING;let i=n.getBoundingSphere(e.entity);return l(i)?(i.clone(t),ut.DONE):ut.FAILED};r_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function lE(e,t){this._batches=[],this._primitives=e,this._classificationType=t}lE.prototype.add=function(e,t){let n=t.createFillGeometryInstance(e),i=this._batches,o=q.getValueOrDefault(t.zIndex,0),r,s=i.length;for(let a=0;a<s;++a){let c=i[a];if(c.zIndex===o&&!c.overlapping(n.geometry.rectangle)){r=c;break}}return l(r)||(r=new r_(this._primitives,this._classificationType,n.attributes.color.value,o),i.push(r)),r.add(t,n),r};lE.prototype.remove=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;++i)if(t[i].remove(e))return};lE.prototype.update=function(e){let t,n,i=!0,o=this._batches,r=o.length;for(t=0;t<r;++t)i=o[t].update(e)&&i;for(t=0;t<r;++t){let s=o[t],a=s.itemsToRemove,c=a.length;for(let u=0;u<c;u++){n=a[u],s.remove(n);let f=this.add(e,n);s.isDirty=!0,f.isDirty=!0}}for(t=r-1;t>=0;--t){let s=o[t];s.isDirty&&(i=o[t].update(e)&&i,s.isDirty=!1),s.geometry.length===0&&o.splice(t,1)}return i};lE.prototype.getBoundingSphere=function(e,t){let n=this._batches,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ut.FAILED};lE.prototype.removeAllPrimitives=function(){let e=this._batches,t=e.length;for(let n=0;n<t;++n)e[n].removeAllPrimitives()};var HD=lE;var sJe=new Lt,aJe=new Lt;function Bf(e,t,n,i,o,r){this.primitives=e,this.classificationType=t,this.appearanceType=n,this.materialProperty=i,this.updaters=new vt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new vt,this.material=void 0,this.updatersWithAttributes=new vt,this.attributes=new vt,this.invalidated=!1,this.removeMaterialSubscription=i.definitionChanged.addEventListener(Bf.prototype.onMaterialChanged,this),this.subscriptions=new vt,this.showsUpdated=new vt,this.usingSphericalTextureCoordinates=o,this.zIndex=r,this.rectangleCollisionCheck=new cE}Bf.prototype.onMaterialChanged=function(){this.invalidated=!0};Bf.prototype.overlapping=function(e){return this.rectangleCollisionCheck.collides(e)};Bf.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ht&&t instanceof Ht?!0:l(t)&&t.equals(n)};Bf.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),this.rectangleCollisionCheck.insert(i,n.geometry.rectangle),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Bf.prototype.remove=function(e){let t=e.id,n=this.geometry.get(t);if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.rectangleCollisionCheck.remove(t,n.geometry.rectangle),this.updatersWithAttributes.remove(t);let i=this.subscriptions.get(t);return l(i)&&(i(),this.subscriptions.remove(t)),!0}return!1};Bf.prototype.update=function(e){let t=!0,n=this.primitive,i=this.primitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),this.material=rr.getValue(e,this.materialProperty,this.material),n=new hl({show:!1,asynchronous:!0,geometryInstances:o.slice(),appearance:new this.appearanceType({material:this.material}),classificationType:this.classificationType}),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.material=rr.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material;let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d));let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,aJe,sJe);Lt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Lt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};Bf.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id),a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Bf.prototype.contains=function(e){return this.updaters.contains(e.id)};Bf.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ut.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ut.FAILED:(i.boundingSphere.clone(t),ut.DONE)};Bf.prototype.destroy=function(){let e=this.primitive,t=this.primitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function uE(e,t,n){this._items=[],this._primitives=e,this._classificationType=t,this._appearanceType=n}uE.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=ef.shouldUseSphericalCoordinates(o.geometry.rectangle),s=q.getValueOrDefault(t.zIndex,0);for(let c=0;c<i;++c){let u=n[c];if(u.isMaterial(t)&&u.usingSphericalTextureCoordinates===r&&u.zIndex===s&&!u.overlapping(o.geometry.rectangle)){u.add(e,t,o);return}}let a=new Bf(this._primitives,this._classificationType,this._appearanceType,t.fillMaterialProperty,r,s);a.add(e,t,o),n.push(a)};uE.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};uE.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};uE.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ut.FAILED};uE.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var fk=uE;var cJe=new z,lJe=new Lt,uJe=new Lt,fJe=h.ZERO,dJe=new h;function s_(e,t,n,i){this.translucent=t,this.width=n,this.shadows=i,this.primitives=e,this.createPrimitive=!1,this.waitingOnCreate=!1,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new vt,this.updaters=new vt,this.updatersWithAttributes=new vt,this.attributes=new vt,this.itemsToRemove=[],this.subscriptions=new vt,this.showsUpdated=new vt}s_.prototype.add=function(e,t){let n=e.id;if(this.createPrimitive=!0,this.geometry.set(n,t),this.updaters.set(n,e),!e.hasConstantOutline||!e.outlineColorProperty.isConstant||!q.isConstant(e.distanceDisplayConditionProperty)||!q.isConstant(e.terrainOffsetProperty))this.updatersWithAttributes.set(n,e);else{let i=this;this.subscriptions.set(n,e.entity.definitionChanged.addEventListener(function(o,r,s,a){r==="isShowing"&&i.showsUpdated.set(e.id,e)}))}};s_.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t),this.showsUpdated.remove(t)),!0}return!1};s_.prototype.update=function(e){let t=!0,n=0,i=this.primitive,o=this.primitives,r;if(this.createPrimitive){let s=this.geometry.values;if(s.length>0)l(i)&&(l(this.oldPrimitive)?o.remove(i):this.oldPrimitive=i),i=new On({show:!1,asynchronous:!0,geometryInstances:s.slice(),appearance:new un({flat:!0,translucent:this.translucent,renderState:{lineWidth:this.width}}),shadows:this.shadows}),o.add(i),t=!1;else{l(i)&&(o.remove(i),i=void 0);let c=this.oldPrimitive;l(c)&&(o.remove(c),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=i,this.createPrimitive=!1,this.waitingOnCreate=!0}else if(l(i)&&i.ready){i.show=!0,l(this.oldPrimitive)&&(o.remove(this.oldPrimitive),this.oldPrimitive=void 0);let s=this.updatersWithAttributes.values,a=s.length,c=this.waitingOnCreate;for(r=0;r<a;r++){let u=s[r],f=this.geometry.get(u.id),d=this.attributes.get(f.id.id);if(l(d)||(d=i.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!u.outlineColorProperty.isConstant||c){let b=u.outlineColorProperty,T=q.getValueOrDefault(b,e,z.WHITE,cJe);z.equals(d._lastColor,T)||(d._lastColor=z.clone(T,d._lastColor),d.color=Wt.toValue(T,d.color),(this.translucent&&d.color[3]===255||!this.translucent&&d.color[3]!==255)&&(this.itemsToRemove[n++]=u))}let p=u.entity.isShowing&&(u.hasConstantOutline||u.isOutlineVisible(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=u.distanceDisplayConditionProperty;if(!q.isConstant(m)){let b=q.getValueOrDefault(m,e,uJe,lJe);Lt.equals(b,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Lt.clone(b,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(b,d.distanceDisplayCondition))}let x=u.terrainOffsetProperty;if(!q.isConstant(x)){let b=q.getValueOrDefault(x,e,fJe,dJe);h.equals(b,d._lastOffset)||(d._lastOffset=h.clone(b,d._lastOffset),d.offset=eo.toValue(b,d.offset))}}this.updateShows(i),this.waitingOnCreate=!1}else l(i)&&!i.ready&&(t=!1);return this.itemsToRemove.length=n,t};s_.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=this.geometry.get(o.id),s=this.attributes.get(r.id.id);l(s)||(s=e.getGeometryInstanceAttributes(r.id),this.attributes.set(r.id.id,s));let a=o.entity.isShowing,c=s.show[0]===1;a!==c&&(s.show=xn.toValue(a,s.show),r.attributes.show.value[0]=s.show[0])}this.showsUpdated.removeAll()};s_.prototype.contains=function(e){return this.updaters.contains(e.id)};s_.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ut.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ut.FAILED:(i.boundingSphere.clone(t),ut.DONE)};s_.prototype.removeAllPrimitives=function(){let e=this.primitives,t=this.primitive;l(t)&&(e.remove(t),this.primitive=void 0,this.geometry.removeAll(),this.updaters.removeAll());let n=this.oldPrimitive;l(n)&&(e.remove(n),this.oldPrimitive=void 0)};function fE(e,t,n){this._primitives=e,this._scene=t,this._shadows=n,this._solidBatches=new vt,this._translucentBatches=new vt}fE.prototype.add=function(e,t){let n=t.createOutlineGeometryInstance(e),i=this._scene.clampLineWidth(t.outlineWidth),o,r;n.attributes.color.value[3]===255?(o=this._solidBatches,r=o.get(i),l(r)||(r=new s_(this._primitives,!1,i,this._shadows),o.set(i,r)),r.add(t,n)):(o=this._translucentBatches,r=o.get(i),l(r)||(r=new s_(this._primitives,!0,i,this._shadows),o.set(i,r)),r.add(t,n))};fE.prototype.remove=function(e){let t,n=this._solidBatches.values,i=n.length;for(t=0;t<i;t++)if(n[t].remove(e))return;let o=this._translucentBatches.values,r=o.length;for(t=0;t<r;t++)if(o[t].remove(e))return};fE.prototype.update=function(e){let t,n,i,o,r=this._solidBatches.values,s=r.length,a=this._translucentBatches.values,c=a.length,u,f=!0,d=!1;do{for(d=!1,n=0;n<s;n++){o=r[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}for(n=0;n<c;n++){o=a[n],f=o.update(e),u=o.itemsToRemove;let p=u.length;if(p>0)for(d=!0,t=0;t<p;t++)i=u[t],o.remove(i),this.add(e,i)}}while(d);return f};fE.prototype.getBoundingSphere=function(e,t){let n,i=this._solidBatches.values,o=i.length;for(n=0;n<o;n++){let a=i[n];if(a.contains(e))return a.getBoundingSphere(e,t)}let r=this._translucentBatches.values,s=r.length;for(n=0;n<s;n++){let a=r[n];if(a.contains(e))return a.getBoundingSphere(e,t)}return ut.FAILED};fE.prototype.removeAllPrimitives=function(){let e,t=this._solidBatches.values,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._translucentBatches.values,o=i.length;for(e=0;e<o;e++)i[e].removeAllPrimitives()};var GD=fE;var hJe=[];function vl(e,t,n,i){n=y(n,e.primitives),i=y(i,e.groundPrimitives),this._scene=e,this._primitives=n,this._groundPrimitives=i,this._entityCollection=void 0,this._addedObjects=new vt,this._removedObjects=new vt,this._changedObjects=new vt;let o=bn.NUMBER_OF_SHADOW_MODES;this._outlineBatches=new Array(o*2),this._closedColorBatches=new Array(o*2),this._closedMaterialBatches=new Array(o*2),this._openColorBatches=new Array(o*2),this._openMaterialBatches=new Array(o*2);let r=sr.supportsMaterialsforEntitiesOnTerrain(e);this._supportsMaterialsforEntitiesOnTerrain=r;let s;for(s=0;s<o;++s)this._outlineBatches[s]=new GD(n,e,s,!1),this._outlineBatches[o+s]=new GD(n,e,s,!0),this._closedColorBatches[s]=new Ud(n,un,void 0,!0,s,!0),this._closedColorBatches[o+s]=new Ud(n,un,void 0,!0,s,!1),this._closedMaterialBatches[s]=new Hd(n,lo,void 0,!0,s,!0),this._closedMaterialBatches[o+s]=new Hd(n,lo,void 0,!0,s,!1),this._openColorBatches[s]=new Ud(n,un,void 0,!1,s,!0),this._openColorBatches[o+s]=new Ud(n,un,void 0,!1,s,!1),this._openMaterialBatches[s]=new Hd(n,lo,void 0,!1,s,!0),this._openMaterialBatches[o+s]=new Hd(n,lo,void 0,!1,s,!1);let a=Un.NUMBER_OF_CLASSIFICATION_TYPES,c=new Array(a),u=[];if(r)for(s=0;s<a;++s)u.push(new fk(i,s,lo)),c[s]=new HD(i,s);else for(s=0;s<a;++s)c[s]=new HD(i,s);this._groundColorBatches=c,this._groundMaterialBatches=u,this._dynamicBatch=new GA(n,i),this._batches=this._outlineBatches.concat(this._closedColorBatches,this._closedMaterialBatches,this._openColorBatches,this._openMaterialBatches,this._groundColorBatches,this._groundMaterialBatches,this._dynamicBatch),this._subscriptions=new vt,this._updaterSets=new vt,this._entityCollection=t,t.collectionChanged.addEventListener(vl.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,hJe)}vl.registerUpdater=function(e){rE.registerUpdater(e)};vl.unregisterUpdater=function(e){rE.unregisterUpdater(e)};vl.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f,d=this;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaterSets.get(u),f.entity===c?f.forEach(function(x){d._removeUpdater(x),d._insertUpdaterIntoBatch(e,x)}):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaterSets.get(u),f.forEach(this._removeUpdater.bind(this)),f.destroy(),this._updaterSets.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new rE(c,this._scene),this._updaterSets.set(u,f),f.forEach(function(x){d._insertUpdaterIntoBatch(e,x)}),this._subscriptions.set(u,f.geometryChanged.addEventListener(vl._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let p=!0,g=this._batches,m=g.length;for(a=0;a<m;a++)p=g[a].update(e)&&p;return p};var mJe=[],pJe=new ce;vl.prototype.getBoundingSphere=function(e,t){let n=mJe,i=pJe,o=0,r=ut.DONE,s=this._batches,a=s.length,c=e.id;if(!this._updaterSets.get(c))return ut.FAILED;let u=this._updaterSets.get(c).updaters;for(let f=0;f<u.length;f++){let d=u[f];for(let p=0;p<a;p++){if(r=s[p].getBoundingSphere(d,i),r===ut.PENDING)return ut.PENDING;r===ut.DONE&&(n[o]=ce.clone(i,n[o]),o++)}}return o===0?ut.FAILED:(n.length=o,ce.fromBoundingSpheres(n,t),ut.DONE)};vl.prototype.isDestroyed=function(){return!1};vl.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(vl.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();this._subscriptions.removeAll();let o=this._updaterSets.values;for(n=o.length,e=0;e<n;e++)o[e].destroy();return this._updaterSets.removeAll(),ue(this)};vl.prototype._removeUpdater=function(e){let t=this._batches,n=t.length;for(let i=0;i<n;i++)t[i].remove(e)};vl.prototype._insertUpdaterIntoBatch=function(e,t){if(t.isDynamic){this._dynamicBatch.add(e,t);return}let n;(t.outlineEnabled||t.fillEnabled)&&(n=t.shadowsProperty.getValue(e));let i=bn.NUMBER_OF_SHADOW_MODES;if(t.outlineEnabled&&(l(t.terrainOffsetProperty)?this._outlineBatches[i+n].add(e,t):this._outlineBatches[n].add(e,t)),t.fillEnabled)if(t.onTerrain){let o=t.classificationTypeProperty.getValue(e);t.fillMaterialProperty instanceof Ht?this._groundColorBatches[o].add(e,t):this._groundMaterialBatches[o].add(e,t)}else t.isClosed?t.fillMaterialProperty instanceof Ht?l(t.terrainOffsetProperty)?this._closedColorBatches[i+n].add(e,t):this._closedColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._closedMaterialBatches[i+n].add(e,t):this._closedMaterialBatches[n].add(e,t):t.fillMaterialProperty instanceof Ht?l(t.terrainOffsetProperty)?this._openColorBatches[i+n].add(e,t):this._openColorBatches[n].add(e,t):l(t.terrainOffsetProperty)?this._openMaterialBatches[i+n].add(e,t):this._openMaterialBatches[n].add(e,t)};vl._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};vl.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var dk=vl;var _Je=1,gJe="30px sans-serif",yJe=Zo.FILL,xJe=z.WHITE,bJe=z.BLACK,TJe=1,CJe=!1,AJe=new z(.165,.165,.165,.8),EJe=new U(7,5),SJe=U.ZERO,vJe=h.ZERO,wJe=Xe.NONE,DJe=bi.CENTER,IJe=Ln.CENTER,PJe=new h,OJe=new z,RJe=new z,MJe=new z,LJe=new U,NJe=new h,FJe=new U,BJe=new kt,kJe=new kt,VJe=new kt,UJe=new Lt;function Tde(e){this.entity=e,this.label=void 0,this.index=void 0}function Ty(e,t){t.collectionChanged.addEventListener(Ty.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new vt,this._onCollectionChanged(t,t.values,[],[])}Ty.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._label,c,u=r.label,f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=q.getValueOrUndefined(s._position,e,PJe),c=q.getValueOrUndefined(a._text,e),f=l(d)&&l(c)),!f){w7(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let p=!1,g=q.getValueOrDefault(a._heightReference,e,wJe);l(u)||(u=n.getLabel(s),u.id=s,r.label=u,p=h.equals(u.position,d)&&u.heightReference===g),u.show=!0,u.position=d,u.text=c,u.scale=q.getValueOrDefault(a._scale,e,_Je),u.font=q.getValueOrDefault(a._font,e,gJe),u.style=q.getValueOrDefault(a._style,e,yJe),u.fillColor=q.getValueOrDefault(a._fillColor,e,xJe,OJe),u.outlineColor=q.getValueOrDefault(a._outlineColor,e,bJe,RJe),u.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,TJe),u.showBackground=q.getValueOrDefault(a._showBackground,e,CJe),u.backgroundColor=q.getValueOrDefault(a._backgroundColor,e,AJe,MJe),u.backgroundPadding=q.getValueOrDefault(a._backgroundPadding,e,EJe,LJe),u.pixelOffset=q.getValueOrDefault(a._pixelOffset,e,SJe,FJe),u.eyeOffset=q.getValueOrDefault(a._eyeOffset,e,vJe,NJe),u.heightReference=g,u.horizontalOrigin=q.getValueOrDefault(a._horizontalOrigin,e,DJe),u.verticalOrigin=q.getValueOrDefault(a._verticalOrigin,e,IJe),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,BJe),u.pixelOffsetScaleByDistance=q.getValueOrUndefined(a._pixelOffsetScaleByDistance,e,kJe),u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,VJe),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,UJe),u.disableDepthTestDistance=q.getValueOrUndefined(a._disableDepthTestDistance,e),p&&u._updateClamping()}return!0};Ty.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!l(n.label))return ut.FAILED;let i=n.label;return t.center=h.clone(y(i._clampedPosition,i.position),t.center),t.radius=0,ut.DONE};Ty.prototype.isDestroyed=function(){return!1};Ty.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Ty.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removeLabel(e[t]);return ue(this)};Ty.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._label)&&l(r._position)&&s.set(r.id,new Tde(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._label)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Tde(r)):(w7(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],w7(s.get(r.id),r,a),s.remove(r.id)};function w7(e,t,n){l(e)&&(e.label=void 0,n.removeLabel(t))}var hk=Ty;var zJe=1,HJe=!0,GJe=0,WJe=!0,jJe=!0,qJe=bn.ENABLED,YJe=Xe.NONE,XJe=z.RED,KJe=0,ZJe=z.WHITE,$Je=Fc.HIGHLIGHT,QJe=.5,JJe=new U(1,1),eet=new F,tet=new F,Cde=new z,Ade=new Array(4),net=new h;function Cy(e,t){t.collectionChanged.addEventListener(Cy.prototype._onCollectionChanged,this),this._scene=e,this._primitives=e.primitives,this._entityCollection=t,this._modelHash={},this._entitiesToVisualize=new vt,this._onCollectionChanged(t,t.values,[],[])}async function iet(e,t,n,i){let o=e._primitives,r=e._modelHash;try{let s=await em.fromGltfAsync({url:n,incrementallyLoadTextures:i,scene:e._scene});if(e.isDestroyed()||!l(r[t.id]))return;s.id=t,o.add(s),r[t.id].modelPrimitive=s,s.errorEvent.addEventListener(a=>{l(r[t.id])&&(console.log(a),a.name!=="TextureError"&&s.incrementallyLoadTextures&&(r[t.id].loadFailed=!0))})}catch(s){if(e.isDestroyed()||!l(r[t.id]))return;console.log(s),r[t.id].loadFailed=!0}}Cy.prototype.update=function(e){let t=this._entitiesToVisualize.values,n=this._modelHash,i=this._primitives;for(let o=0,r=t.length;o<r;o++){let s=t[o],a=s._model,c,u=n[s.id],f=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),d;if(f&&(d=s.computeModelMatrix(e,eet),c=Ae.createIfNeeded(q.getValueOrUndefined(a._uri,e)),f=l(d)&&l(c)),!f){l(u)&&u.modelPrimitive&&(u.modelPrimitive.show=!1);continue}if(!l(u)||c.url!==u.url){l(u?.modelPrimitive)&&(i.removeAndDestroy(u.modelPrimitive),delete n[s.id]),u={modelPrimitive:void 0,url:c.url,animationsRunning:!1,nodeTransformationsScratch:{},articulationsScratch:{},loadFailed:!1,modelUpdated:!1},n[s.id]=u;let m=q.getValueOrDefault(a._incrementallyLoadTextures,e,WJe);iet(this,s,c,m)}let p=u.modelPrimitive;if(!l(p))continue;p.show=!0,p.scale=q.getValueOrDefault(a._scale,e,zJe),p.enableVerticalExaggeration=q.getValueOrDefault(a._enableVerticalExaggeration,e,HJe),p.minimumPixelSize=q.getValueOrDefault(a._minimumPixelSize,e,GJe),p.maximumScale=q.getValueOrUndefined(a._maximumScale,e),p.modelMatrix=F.clone(d,p.modelMatrix),p.shadows=q.getValueOrDefault(a._shadows,e,qJe),p.heightReference=q.getValueOrDefault(a._heightReference,e,YJe),p.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e),p.silhouetteColor=q.getValueOrDefault(a._silhouetteColor,e,XJe,Cde),p.silhouetteSize=q.getValueOrDefault(a._silhouetteSize,e,KJe),p.color=q.getValueOrDefault(a._color,e,ZJe,Cde),p.colorBlendMode=q.getValueOrDefault(a._colorBlendMode,e,$Je),p.colorBlendAmount=q.getValueOrDefault(a._colorBlendAmount,e,QJe),p.clippingPlanes=q.getValueOrUndefined(a._clippingPlanes,e),p.clampAnimations=q.getValueOrDefault(a._clampAnimations,e,jJe),p.imageBasedLighting.imageBasedLightingFactor=q.getValueOrDefault(a._imageBasedLightingFactor,e,JJe);let g=q.getValueOrUndefined(a._lightColor,e);if(l(g)&&(z.pack(g,Ade,0),g=h.unpack(Ade,0,net)),p.lightColor=g,p.customShader=q.getValueOrUndefined(a._customShader,e),n[s.id].modelUpdated=!0,p.ready){!a._readyOk&&a._marsOptions&&a._marsOptions.callback&&(a._marsOptions.callback(s,p),a._readyOk=!0);let m=q.getValueOrDefault(a._runAnimations,e,!0);u.animationsRunning!==m&&(m?p.activeAnimations.addAll({loop:cu.REPEAT}):p.activeAnimations.removeAll(),u.animationsRunning=m);let x=q.getValueOrUndefined(a._nodeTransformations,e,u.nodeTransformationsScratch);if(l(x)){let C=Object.keys(x);for(let A=0,S=C.length;A<S;++A){let v=C[A],D=x[v];if(!l(D))continue;let R=p.getNode(v);if(!l(R))continue;let O=F.fromTranslationRotationScale(D,tet);R.matrix=F.multiply(R.originalMatrix,O,O)}}let b=!1,T=q.getValueOrUndefined(a._articulations,e,u.articulationsScratch);if(l(T)){let C=Object.keys(T);for(let A=0,S=C.length;A<S;++A){let v=C[A],D=T[v];l(D)&&(b=!0,p.setArticulationStage(v,D))}}b&&p.applyArticulations()}}return!0};Cy.prototype.isDestroyed=function(){return!1};Cy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Cy.prototype._onCollectionChanged,this);let e=this._entitiesToVisualize.values,t=this._modelHash,n=this._primitives;for(let i=e.length-1;i>-1;i--)D7(this,e[i],t,n);return ue(this)};var mk=new h,oet=new fe;Cy.prototype.getBoundingSphere=function(e,t){let n=this._modelHash[e.id];if(!l(n))return ut.FAILED;if(n.loadFailed)return ut.FAILED;let i=n.modelPrimitive;if(!l(i)||!i.show)return ut.PENDING;if(!i.ready||!n.modelUpdated)return ut.PENDING;let o=this._scene,r=y(o.ellipsoid,ee.default);if(i.heightReference!==Xe.NONE){let a=i.modelMatrix;mk.x=a[12],mk.y=a[13],mk.z=a[14];let c=r.cartesianToCartographic(mk,oet),u=o.getHeight(c,i.heightReference);return l(u)&&(Qu(i.heightReference)?c.height=u:c.height+=u),ce.clone(i.boundingSphere,t),t.center=r.cartographicToCartesian(c),ut.DONE}return ce.clone(i.boundingSphere,t),ut.DONE};Cy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._entitiesToVisualize,a=this._modelHash,c=this._primitives;for(o=t.length-1;o>-1;o--)r=t[o],l(r._model)&&l(r._position)&&s.set(r.id,r);for(o=i.length-1;o>-1;o--)r=i[o],l(r._model)&&l(r._position)?(ret(r,a),s.set(r.id,r)):(D7(this,r,a,c),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],D7(this,r,a,c),s.remove(r.id)};function D7(e,t,n,i){let o=n[t.id];l(o)&&(i.removeAndDestroy(o.modelPrimitive),delete n[t.id])}function ret(e,t){let n=t[e.id];l(n)&&(n.nodeTransformationsScratch={},n.articulationsScratch={})}var pk=Cy;function Ay(e){this._definitionChanged=new me,this._value=void 0,this._removeSubscription=void 0,this.setValue(e)}Object.defineProperties(Ay.prototype,{isConstant:{get:function(){return q.isConstant(this._value)}},definitionChanged:{get:function(){return this._definitionChanged}},referenceFrame:{get:function(){return l(this._value)?this._value.referenceFrame:Vi.FIXED}}});var set=new K;Ay.prototype.getValue=function(e,t){return l(e)||(e=K.now(set)),this.getValueInReferenceFrame(e,Vi.FIXED,t)};Ay.prototype.setValue=function(e){this._value!==e&&(this._value=e,l(this._removeSubscription)&&(this._removeSubscription(),this._removeSubscription=void 0),l(e)&&(this._removeSubscription=e.definitionChanged.addEventListener(this._raiseDefinitionChanged,this)),this._definitionChanged.raiseEvent(this))};Ay.prototype.getValueInReferenceFrame=function(e,t,n){if(l(this._value))return n=this._value.getValueInReferenceFrame(e,t,n),l(n)?ee.default.scaleToGeodeticSurface(n,n):void 0};Ay.prototype.equals=function(e){return this===e||e instanceof Ay&&this._value===e._value};Ay.prototype._raiseDefinitionChanged=function(){this._definitionChanged.raiseEvent(this)};var a_=Ay;var aet=60,cet=1,Sde=new vn,I7=new vn,P7=new vn;function Ede(e){this.entity=e,this.polyline=void 0,this.index=void 0,this.updater=void 0}function uet(e,t,n,i,o,r,s,a,c){let u=a,f;f=e.getValueInReferenceFrame(t,r,c[u]),l(f)&&(c[u++]=f);let d=!l(o)||K.lessThanOrEquals(o,t)||K.greaterThanOrEquals(o,n),p=0,g=i.length,m=i[p],x=n,b=!1,T,C,A;for(;p<g;){if(!d&&K.greaterThanOrEquals(m,o)&&(f=e.getValueInReferenceFrame(o,r,c[u]),l(f)&&(c[u++]=f),d=!0),K.greaterThan(m,t)&&K.lessThan(m,x)&&!m.equals(o)&&(f=e.getValueInReferenceFrame(m,r,c[u]),l(f)&&(c[u++]=f)),p<g-1){if(s>0&&!b){let S=i[p+1],v=K.secondsDifference(S,m);b=v>s,b&&(T=Math.ceil(v/s),C=0,A=v/Math.max(T,2),T=Math.max(T-1,1))}if(b&&C<T){m=K.addSeconds(m,A,new K),C++;continue}}b=!1,p++,m=i[p]}return f=e.getValueInReferenceFrame(n,r,c[u]),l(f)&&(c[u++]=f),u}function fet(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!p&&K.greaterThanOrEquals(d,i)&&(p=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,r*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function det(e,t,n,i,o,r,s,a){let c,u=0,f=s,d=t,p=Math.max(r,60),g=!l(i)||K.lessThanOrEquals(i,t)||K.greaterThanOrEquals(i,n);for(;K.lessThan(d,n);)!g&&K.greaterThanOrEquals(d,i)&&(g=!0,c=e.getValueInReferenceFrame(i,o,a[f]),l(c)&&(a[f]=c,f++)),c=e.getValueInReferenceFrame(d,o,a[f]),l(c)&&(a[f]=c,f++),u++,d=K.addSeconds(t,p*u,new K);return c=e.getValueInReferenceFrame(n,o,a[f]),l(c)&&(a[f]=c,f++),f}function het(e,t,n,i,o,r,s,a){P7.start=t,P7.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!vn.intersect(d,P7,Sde).isEmpty){let p=d.start;d.isStartIncluded||(d.isStopIncluded?p=d.stop:p=K.addSeconds(d.start,K.secondsDifference(d.stop,d.start)/2,new K));let g=e.getValueInReferenceFrame(p,o,a[c]);l(g)&&(a[c]=g,c++)}}return c}function met(e,t,n,i,o,r,s,a){let c=e.getValueInReferenceFrame(t,o,a[s]);return l(c)&&(a[s++]=c),s}function pet(e,t,n,i,o,r,s,a){I7.start=t,I7.stop=n;let c=s,u=e.intervals;for(let f=0;f<u.length;f++){let d=u.get(f);if(!vn.intersect(d,I7,Sde).isEmpty){let p=d.start,g=d.stop,m=t;K.greaterThan(p,m)&&(m=p);let x=n;K.lessThan(g,x)&&(x=g),c=vde(d.data,m,x,i,o,r,c,a)}}return c}function vde(e,t,n,i,o,r,s,a){for(;e instanceof dy;)e=e.resolvedProperty;if(e instanceof Ra){let c=e._property._times;s=uet(e,t,n,c,i,o,r,s,a)}else e instanceof ZL?s=fet(e,t,n,i,o,r,s,a):e instanceof Oa?s=pet(e,t,n,i,o,r,s,a):e instanceof my?s=het(e,t,n,i,o,r,s,a):e instanceof ml||e instanceof a_&&q.isConstant(e)?s=met(e,t,n,i,o,r,s,a):s=det(e,t,n,i,o,r,s,a);return s}function wde(e,t,n,i,o,r,s){l(s)||(s=[]);let a=vde(e,t,n,i,o,r,0,s);return s.length=a,s}var _et=new $;function WD(e,t){this._unusedIndexes=[],this._polylineCollection=new om,this._scene=e,this._referenceFrame=t,e.primitives.add(this._polylineCollection)}WD.prototype.update=function(e){if(this._referenceFrame===Vi.INERTIAL){let t=Mt.computeIcrfToCentralBodyFixedMatrix(e,_et);F.fromRotationTranslation(t,h.ZERO,this._polylineCollection.modelMatrix)}};WD.prototype.updateObject=function(e,t){let n=t.entity,i=n._path,o=n._position,r,s,a=i._show,c=t.polyline,u=n.isShowing&&n.isAvailable(e)&&(!l(a)||a.getValue(e));if(u){let d=q.getValueOrUndefined(i._leadTime,e),p=q.getValueOrUndefined(i._trailTime,e),g=n._availability,m=l(g),x=l(d),b=l(p);if(u=m||x&&b,u){if(b&&(r=K.addSeconds(e,-p,new K)),x&&(s=K.addSeconds(e,d,new K)),m){let T=g.start,C=g.stop;(!b||K.greaterThan(T,r))&&(r=T),(!x||K.lessThan(C,s))&&(s=C)}u=K.lessThan(r,s)}}if(!u){l(c)&&(this._unusedIndexes.push(t.index),t.polyline=void 0,c.show=!1,t.index=void 0);return}if(!l(c)){let d=this._unusedIndexes;if(d.length>0){let g=d.pop();c=this._polylineCollection.get(g),t.index=g}else t.index=this._polylineCollection.length,c=this._polylineCollection.add();c.id=n,t.polyline=c}let f=q.getValueOrDefault(i._resolution,e,aet);c.show=!0,c.positions=wde(o,r,s,e,this._referenceFrame,f,c.positions.slice()),c.material=rr.getValue(e,i._material,c.material),c.width=q.getValueOrDefault(i._width,e,cet),c.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,c.distanceDisplayCondition)};WD.prototype.removeObject=function(e){let t=e.polyline;l(t)&&(this._unusedIndexes.push(e.index),e.polyline=void 0,t.show=!1,t.id=void 0,e.index=void 0)};WD.prototype.destroy=function(){return this._scene.primitives.remove(this._polylineCollection),ue(this)};function Ey(e,t){t.collectionChanged.addEventListener(Ey.prototype._onCollectionChanged,this),this._scene=e,this._updaters={},this._entityCollection=t,this._items=new vt,this._onCollectionChanged(t,t.values,[],[])}Ey.prototype.update=function(e){let t=this._updaters;for(let i in t)t.hasOwnProperty(i)&&t[i].update(e);let n=this._items.values;if(n.length===0&&l(this._updaters)&&Object.keys(this._updaters).length>0){for(let i in t)t.hasOwnProperty(i)&&t[i].destroy();this._updaters={}}for(let i=0,o=n.length;i<o;i++){let r=n[i],a=r.entity._position,c=r.updater,u=Vi.FIXED;this._scene.mode===ne.SCENE3D&&(u=a.referenceFrame);let f=this._updaters[u];if(c===f&&l(f)){f.updateObject(e,r);continue}l(c)&&c.removeObject(r),l(f)||(f=new WD(this._scene,u),f.update(e),this._updaters[u]=f),r.updater=f,l(f)&&f.updateObject(e,r)}return!0};Ey.prototype.isDestroyed=function(){return!1};Ey.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Ey.prototype._onCollectionChanged,this);let e=this._updaters;for(let t in e)e.hasOwnProperty(t)&&e[t].destroy();return ue(this)};Ey.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s,a=this._items;for(o=t.length-1;o>-1;o--)r=t[o],l(r._path)&&l(r._position)&&a.set(r.id,new Ede(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._path)&&l(r._position)?a.contains(r.id)||a.set(r.id,new Ede(r)):(s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id)));for(o=n.length-1;o>-1;o--)r=n[o],s=a.get(r.id),l(s)&&(l(s.updater)&&s.updater.removeObject(s),a.remove(r.id))};Ey._subSample=wde;var _k=Ey;var Dde=z.WHITE,Ide=z.BLACK,Pde=0,Ode=1,Rde=0,Mde=jr.NONE,Lde=new z,get=new h,Nde=new z,Fde=new kt,Bde=new kt,kde=new Lt;function Vde(e){this.entity=e,this.pointPrimitive=void 0,this.billboard=void 0,this.color=void 0,this.outlineColor=void 0,this.pixelSize=void 0,this.outlineWidth=void 0}function Sy(e,t){t.collectionChanged.addEventListener(Sy.prototype._onCollectionChanged,this),this._cluster=e,this._entityCollection=t,this._items=new vt,this._onCollectionChanged(t,t.values,[],[])}Sy.prototype.update=function(e){let t=this._items.values,n=this._cluster;for(let i=0,o=t.length;i<o;i++){let r=t[i],s=r.entity,a=s._point,c=r.pointPrimitive,u=r.billboard,f=q.getValueOrDefault(a._heightReference,e,Xe.NONE),d=s.isShowing&&s.isAvailable(e)&&q.getValueOrDefault(a._show,e,!0),p;if(d&&(p=q.getValueOrUndefined(s._position,e,get),d=l(p)),!d){jD(r,s,n);continue}q.isConstant(s._position)||(n._clusterDirty=!0);let g=!1,m=!1;if(f!==Xe.NONE&&!l(u)?(l(c)&&(jD(r,s,n),c=void 0),u=n.getBillboard(s),u.id=s,u.image=void 0,r.billboard=u,g=!0,m=h.equals(u.position,p)&&u.heightReference===f):f===Xe.NONE&&!l(c)&&(l(u)&&(jD(r,s,n),u=void 0),c=n.getPoint(s),c.id=s,r.pointPrimitive=c),l(c))c.show=!0,c.position=p,c.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Fde),c.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,Bde),c.color=q.getValueOrDefault(a._color,e,Dde,Lde),c.outlineColor=q.getValueOrDefault(a._outlineColor,e,Ide,Nde),c.outlineWidth=q.getValueOrDefault(a._outlineWidth,e,Pde),c.pixelSize=q.getValueOrDefault(a._pixelSize,e,Ode),c.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,kde),c.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,Rde),c.splitDirection=q.getValueOrDefault(a._splitDirection,e,Mde);else if(l(u)){u.show=!0,u.position=p,u.scaleByDistance=q.getValueOrUndefined(a._scaleByDistance,e,Fde),u.translucencyByDistance=q.getValueOrUndefined(a._translucencyByDistance,e,Bde),u.distanceDisplayCondition=q.getValueOrUndefined(a._distanceDisplayCondition,e,kde),u.disableDepthTestDistance=q.getValueOrDefault(a._disableDepthTestDistance,e,Rde),u.splitDirection=q.getValueOrDefault(a._splitDirection,e,Mde),u.heightReference=f;let x=q.getValueOrDefault(a._color,e,Dde,Lde),b=q.getValueOrDefault(a._outlineColor,e,Ide,Nde),T=Math.round(q.getValueOrDefault(a._outlineWidth,e,Pde)),C=Math.max(1,Math.round(q.getValueOrDefault(a._pixelSize,e,Ode)));if(T>0?(u.scale=1,g=g||T!==r.outlineWidth||C!==r.pixelSize||!z.equals(x,r.color)||!z.equals(b,r.outlineColor)):(u.scale=C/50,C=50,g=g||T!==r.outlineWidth||!z.equals(x,r.color)||!z.equals(b,r.outlineColor)),g){r.color=z.clone(x,r.color),r.outlineColor=z.clone(b,r.outlineColor),r.pixelSize=C,r.outlineWidth=T;let A=x.alpha,S=x.toCssColorString(),v=b.toCssColorString(),D=JSON.stringify([S,C,v,T]);u.setImage(D,eA(A,S,v,T,C))}m&&u._updateClamping()}}return!0};Sy.prototype.getBoundingSphere=function(e,t){let n=this._items.get(e.id);if(!l(n)||!(l(n.pointPrimitive)||l(n.billboard)))return ut.FAILED;if(l(n.pointPrimitive))t.center=h.clone(n.pointPrimitive.position,t.center);else{let i=n.billboard;if(!l(i._clampedPosition))return ut.PENDING;t.center=h.clone(i._clampedPosition,t.center)}return t.radius=0,ut.DONE};Sy.prototype.isDestroyed=function(){return!1};Sy.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(Sy.prototype._onCollectionChanged,this);let e=this._entityCollection.values;for(let t=0;t<e.length;t++)this._cluster.removePoint(e[t]);return ue(this)};Sy.prototype._onCollectionChanged=function(e,t,n,i){let o,r,s=this._items,a=this._cluster;for(o=t.length-1;o>-1;o--)r=t[o],l(r._point)&&l(r._position)&&s.set(r.id,new Vde(r));for(o=i.length-1;o>-1;o--)r=i[o],l(r._point)&&l(r._position)?s.contains(r.id)||s.set(r.id,new Vde(r)):(jD(s.get(r.id),r,a),s.remove(r.id));for(o=n.length-1;o>-1;o--)r=n[o],jD(s.get(r.id),r,a),s.remove(r.id)};function jD(e,t,n){if(l(e)){let i=e.pointPrimitive;if(l(i)){e.pointPrimitive=void 0,n.removePoint(t);return}let o=e.billboard;l(o)&&(e.billboard=void 0,n.removeBillboard(t))}}var gk=Sy;var Wde=[];function yet(e,t,n,i,o){let r=Wde;r.length=o;let s,a=n.red,c=n.green,u=n.blue,f=n.alpha,d=i.red,p=i.green,g=i.blue,m=i.alpha;if(z.equals(n,i)){for(s=0;s<o;s++)r[s]=z.clone(n);return r}let x=(d-a)/o,b=(p-c)/o,T=(g-u)/o,C=(m-f)/o;for(s=0;s<o;s++)r[s]=new z(a+s*x,c+s*b,u+s*T,f+s*C);return r}function qD(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.width,1),o=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._width=i,this._colorsPerVertex=o,this._vertexFormat=Pe.clone(y(e.vertexFormat,Pe.DEFAULT)),this._arcType=y(e.arcType,nn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=ee.clone(y(e.ellipsoid,ee.default)),this._workerName="createPolylineGeometry";let r=1+t.length*h.packedLength;r+=l(n)?1+n.length*z.packedLength:1,this.packedLength=r+ee.packedLength+Pe.packedLength+4}qD.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n++]=e._width,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};var jde=ee.clone(ee.UNIT_SPHERE),qde=new Pe,cb={positions:void 0,colors:void 0,ellipsoid:jde,vertexFormat:qde,width:void 0,colorsPerVertex:void 0,arcType:void 0,granularity:void 0};qD.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ee.unpack(e,t,jde);t+=ee.packedLength;let c=Pe.unpack(e,t,qde);t+=Pe.packedLength;let u=e[t++],f=e[t++]===1,d=e[t++],p=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=ee.clone(a,n._ellipsoid),n._vertexFormat=Pe.clone(c,n._vertexFormat),n._width=u,n._colorsPerVertex=f,n._arcType=d,n._granularity=p,n):(cb.positions=r,cb.colors=s,cb.width=u,cb.colorsPerVertex=f,cb.arcType=d,cb.granularity=p,new qD(cb))};var Ude=new h,zde=new h,Hde=new h,Gde=new h;qD.createGeometry=function(e){let t=e._width,n=e._vertexFormat,i=e._colors,o=e._colorsPerVertex,r=e._arcType,s=e._granularity,a=e._ellipsoid,c,u,f,d=[],p=bo(e._positions,h.equalsEpsilon,!1,d);if(l(i)&&d.length>0){let L=0,B=d[0];i=i.filter(function(H,V){let G=!1;return o?G=V===B||V===0&&B===1:G=V+1===B,G?(L++,B=d[L],!1):!0})}let g=p.length;if(g<2||t<=0)return;if(r===nn.GEODESIC||r===nn.RHUMB){let L,B;r===nn.GEODESIC?(L=P.chordLength(s,a.maximumRadius),B=Li.numberOfPoints):(L=s,B=Li.numberOfPointsRhumbLine);let H=Li.extractHeights(p,a);if(l(i)){let V=1;for(c=0;c<g-1;++c)V+=B(p[c],p[c+1],L);let G=new Array(V),k=0;for(c=0;c<g-1;++c){let W=p[c],Y=p[c+1],J=i[c],j=B(W,Y,L);if(o&&c<V){let Z=i[c+1],Q=yet(W,Y,J,Z,j),he=Q.length;for(u=0;u<he;++u)G[k++]=Q[u]}else for(u=0;u<j;++u)G[k++]=z.clone(J)}G[k]=z.clone(i[i.length-1]),i=G,Wde.length=0}r===nn.GEODESIC?p=Li.generateCartesianArc({positions:p,minDistance:L,ellipsoid:a,height:H}):p=Li.generateCartesianRhumbArc({positions:p,granularity:L,ellipsoid:a,height:H})}g=p.length;let m=g*4-4,x=new Float64Array(m*3),b=new Float64Array(m*3),T=new Float64Array(m*3),C=new Float32Array(m*2),A=n.st?new Float32Array(m*2):void 0,S=l(i)?new Uint8Array(m*4):void 0,v=0,D=0,R=0,O=0,M;for(u=0;u<g;++u){u===0?(M=Ude,h.subtract(p[0],p[1],M),h.add(p[0],M,M)):M=p[u-1],h.clone(M,Hde),h.clone(p[u],zde),u===g-1?(M=Ude,h.subtract(p[g-1],p[g-2],M),h.add(p[g-1],M,M)):M=p[u+1],h.clone(M,Gde);let L,B;l(S)&&(u!==0&&!o?L=i[u-1]:L=i[u],u!==g-1&&(B=i[u]));let H=u===0?2:0,V=u===g-1?2:4;for(f=H;f<V;++f){h.pack(zde,x,v),h.pack(Hde,b,v),h.pack(Gde,T,v),v+=3;let G=f-2<0?-1:1;if(C[D++]=2*(f%2)-1,C[D++]=G*t,n.st&&(A[R++]=u/(g-1),A[R++]=Math.max(C[D-2],0)),l(S)){let k=f<2?L:B;S[O++]=z.floatToByte(k.red),S[O++]=z.floatToByte(k.green),S[O++]=z.floatToByte(k.blue),S[O++]=z.floatToByte(k.alpha)}}}let N=new mn;N.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:x}),N.prevPosition=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:b}),N.nextPosition=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:T}),N.expandAndWidth=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:C}),n.st&&(N.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:A})),l(S)&&(N.color=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:S,normalize:!0}));let _=ke.createTypedArray(m,g*6-6),E=0,w=0,I=g-1;for(u=0;u<I;++u)_[w++]=E,_[w++]=E+2,_[w++]=E+1,_[w++]=E+1,_[w++]=E+2,_[w++]=E+3,E+=4;return new ft({attributes:N,indices:_,primitiveType:Fe.TRIANGLES,boundingSphere:ce.fromPoints(p),geometryType:sd.POLYLINES})};var vy=qD;var xet=new $n(0),yk={},Yde=new z,bet=new Ht(z.WHITE),Tet=new $n(!0),Cet=new $n(bn.DISABLED),Aet=new $n(new Lt),Eet=new $n(Un.BOTH);function vet(){this.vertexFormat=void 0,this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function wet(){this.positions=void 0,this.width=void 0,this.arcType=void 0,this.granularity=void 0}function Gd(e,t){this._entity=e,this._scene=t,this._entitySubscription=e.definitionChanged.addEventListener(Gd.prototype._onEntityPropertyChanged,this),this._fillEnabled=!1,this._dynamic=!1,this._geometryChanged=new me,this._showProperty=void 0,this._materialProperty=void 0,this._shadowsProperty=void 0,this._distanceDisplayConditionProperty=void 0,this._classificationTypeProperty=void 0,this._depthFailMaterialProperty=void 0,this._geometryOptions=new vet,this._groundGeometryOptions=new wet,this._id=`polyline-${e.id}`,this._clampToGround=!1,this._supportsPolylinesOnTerrain=sr.supportsPolylinesOnTerrain(t),this._zIndex=0,this._onEntityPropertyChanged(e,"polyline",e.polyline,void 0)}Object.defineProperties(Gd.prototype,{id:{get:function(){return this._id}},entity:{get:function(){return this._entity}},fillEnabled:{get:function(){return this._fillEnabled}},hasConstantFill:{get:function(){return!this._fillEnabled||!l(this._entity.availability)&&q.isConstant(this._showProperty)}},fillMaterialProperty:{get:function(){return this._materialProperty}},depthFailMaterialProperty:{get:function(){return this._depthFailMaterialProperty}},outlineEnabled:{value:!1},hasConstantOutline:{value:!0},outlineColorProperty:{value:void 0},shadowsProperty:{get:function(){return this._shadowsProperty}},distanceDisplayConditionProperty:{get:function(){return this._distanceDisplayConditionProperty}},classificationTypeProperty:{get:function(){return this._classificationTypeProperty}},isDynamic:{get:function(){return this._dynamic}},isClosed:{value:!1},geometryChanged:{get:function(){return this._geometryChanged}},arcType:{get:function(){return this._arcType}},clampToGround:{get:function(){return this._clampToGround&&this._supportsPolylinesOnTerrain}},zIndex:{get:function(){return this._zIndex}}});Gd.prototype.isOutlineVisible=function(e){return!1};Gd.prototype.isFilled=function(e){let t=this._entity,n=this._fillEnabled&&t.isAvailable(e)&&this._showProperty.getValue(e);return y(n,!1)};Gd.prototype.createFillGeometryInstance=function(e){let t=this._entity,n=t.isAvailable(e),i=new xn(n&&t.isShowing&&this._showProperty.getValue(e)),o=this._distanceDisplayConditionProperty.getValue(e),r=Vn.fromDistanceDisplayCondition(o),s={show:i,distanceDisplayCondition:r},a;return this._materialProperty instanceof Ht&&(l(this._materialProperty.color)&&(this._materialProperty.color.isConstant||n)&&(a=this._materialProperty.color.getValue(e,Yde)),l(a)||(a=z.WHITE),s.color=Wt.fromColor(a)),this.clampToGround?new wt({id:t,geometry:new ZT(this._groundGeometryOptions),attributes:s}):(l(this._depthFailMaterialProperty)&&this._depthFailMaterialProperty instanceof Ht&&(l(this._depthFailMaterialProperty.color)&&(this._depthFailMaterialProperty.color.isConstant||n)&&(a=this._depthFailMaterialProperty.color.getValue(e,Yde)),l(a)||(a=z.WHITE),s.depthFailColor=Wt.fromColor(a)),new wt({id:t,geometry:new vy(this._geometryOptions),attributes:s}))};Gd.prototype.createOutlineGeometryInstance=function(e){};Gd.prototype.isDestroyed=function(){return!1};Gd.prototype.destroy=function(){this._entitySubscription(),ue(this)};Gd.prototype._onEntityPropertyChanged=function(e,t,n,i){if(!(t==="availability"||t==="polyline"))return;let o=this._entity.polyline;if(!l(o)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let r=o.positions,s=o.show;if(l(s)&&s.isConstant&&!s.getValue(Ge.MINIMUM_VALUE)||!l(r)){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let a=o.zIndex,c=y(o.material,bet),u=c instanceof Ht;this._materialProperty=c,this._depthFailMaterialProperty=o.depthFailMaterial,this._showProperty=y(s,Tet),this._shadowsProperty=y(o.shadows,Cet),this._distanceDisplayConditionProperty=y(o.distanceDisplayCondition,Aet),this._classificationTypeProperty=y(o.classificationType,Eet),this._fillEnabled=!0,this._zIndex=y(a,xet);let f=o.width,d=o.arcType,p=o.clampToGround,g=o.granularity;if(!r.isConstant||!q.isConstant(f)||!q.isConstant(d)||!q.isConstant(g)||!q.isConstant(p)||!q.isConstant(a))this._dynamic||(this._dynamic=!0,this._geometryChanged.raiseEvent(this));else{let m=this._geometryOptions,x=r.getValue(Ge.MINIMUM_VALUE,m.positions);if(!l(x)||x.length<2){this._fillEnabled&&(this._fillEnabled=!1,this._geometryChanged.raiseEvent(this));return}let b;u&&(!l(this._depthFailMaterialProperty)||this._depthFailMaterialProperty instanceof Ht)?b=rs.VERTEX_FORMAT:b=wa.VERTEX_FORMAT,m.vertexFormat=b,m.positions=x,m.width=l(f)?f.getValue(Ge.MINIMUM_VALUE):void 0,m.arcType=l(d)?d.getValue(Ge.MINIMUM_VALUE):void 0,m.granularity=l(g)?g.getValue(Ge.MINIMUM_VALUE):void 0;let T=this._groundGeometryOptions;T.positions=x,T.width=m.width,T.arcType=m.arcType,T.granularity=m.granularity,this._clampToGround=l(p)?p.getValue(Ge.MINIMUM_VALUE):!1,!this._clampToGround&&l(a)&&Tt("Entity polylines must have clampToGround: true when using zIndex. zIndex will be ignored."),this._dynamic=!1,this._geometryChanged.raiseEvent(this)}};Gd.prototype.createDynamicUpdater=function(e,t){return new YD(e,t,this)};var dE={positions:void 0,granularity:void 0,height:void 0,ellipsoid:void 0};function YD(e,t,n){this._line=void 0,this._primitives=e,this._groundPrimitives=t,this._groundPolylinePrimitive=void 0,this._material=void 0,this._geometryUpdater=n,this._positions=[]}function Xde(e){if(l(e._line))return e._line;let t=e._primitives,n=e._geometryUpdater._scene.id+t._guid,i=yk[n];!l(i)||i.isDestroyed()?(i=new om,yk[n]=i,t.add(i)):t.contains(i)||t.add(i);let o=i.add();return o.id=e._geometryUpdater._entity,e._line=o,o}YD.prototype.update=function(e){let t=this._geometryUpdater,n=t._entity,i=n.polyline,o=i.positions,r=q.getValueOrUndefined(o,e,this._positions);t._clampToGround=q.getValueOrDefault(i._clampToGround,e,!1),t._groundGeometryOptions.positions=r,t._groundGeometryOptions.width=q.getValueOrDefault(i._width,e,1),t._groundGeometryOptions.arcType=q.getValueOrDefault(i._arcType,e,nn.GEODESIC),t._groundGeometryOptions.granularity=q.getValueOrDefault(i._granularity,e,9999);let s=this._groundPrimitives;if(l(this._groundPolylinePrimitive)&&(s.remove(this._groundPolylinePrimitive),this._groundPolylinePrimitive=void 0),t.clampToGround){if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)||!l(r)||r.length<2)return;let d=t.fillMaterialProperty,p;if(d instanceof Ht)p=new rs;else{let g=rr.getValue(e,d,this._material);p=new wa({material:g,translucent:g.isTranslucent()}),this._material=g}this._groundPolylinePrimitive=s.add(new Rh({geometryInstances:t.createFillGeometryInstance(e),appearance:p,classificationType:t.classificationTypeProperty.getValue(e),asynchronous:!1}),q.getValueOrUndefined(t.zIndex,e)),l(this._line)&&(this._line.show=!1);return}let a=Xde(this);if(!n.isShowing||!n.isAvailable(e)||!q.getValueOrDefault(i._show,e,!0)){a.show=!1;return}if(!l(r)||r.length<2){a.show=!1;return}let c=nn.GEODESIC;c=q.getValueOrDefault(i._arcType,e,c);let u=t._scene.globe,f=t._scene.ellipsoid;c!==nn.NONE&&l(u)&&(dE.ellipsoid=f,dE.positions=r,dE.granularity=q.getValueOrUndefined(i._granularity,e),dE.height=Li.extractHeights(r,f),c===nn.GEODESIC?r=Li.generateCartesianArc(dE):r=Li.generateCartesianRhumbArc(dE)),a.show=!0,a.positions=r.slice(),a.material=rr.getValue(e,t.fillMaterialProperty,a.material),a.width=q.getValueOrDefault(i._width,e,1),a.distanceDisplayCondition=q.getValueOrUndefined(i._distanceDisplayCondition,e,a.distanceDisplayCondition)};YD.prototype.getBoundingSphere=function(e){if(this._geometryUpdater.clampToGround){let t=this._groundPolylinePrimitive;if(l(t)&&t.show&&t.ready){let n=t.getGeometryInstanceAttributes(this._geometryUpdater._entity);if(l(n)&&l(n.boundingSphere))return ce.clone(n.boundingSphere,e),ut.DONE}return l(t)&&!t.ready?ut.PENDING:ut.DONE}else{let t=Xde(this);if(t.show&&t.positions.length>0)return ce.fromPoints(t.positions,e),ut.DONE}return ut.FAILED};YD.prototype.isDestroyed=function(){return!1};YD.prototype.destroy=function(){let t=this._geometryUpdater._scene.id+this._primitives._guid,n=yk[t];l(n)&&(n.remove(this._line),n.length===0&&(this._primitives.removeAndDestroy(n),delete yk[t])),l(this._groundPolylinePrimitive)&&this._groundPrimitives.remove(this._groundPolylinePrimitive),ue(this)};var xk=Gd;var Det=new z,Iet=new Lt,Pet=new Lt;function Wd(e,t,n,i,o){let r;n instanceof Ht?r=rs:r=wa,this.orderedGroundPrimitives=e,this.classificationType=t,this.appearanceType=r,this.materialProperty=n,this.updaters=new vt,this.createPrimitive=!0,this.primitive=void 0,this.oldPrimitive=void 0,this.geometry=new vt,this.material=void 0,this.updatersWithAttributes=new vt,this.attributes=new vt,this.invalidated=!1,this.removeMaterialSubscription=n.definitionChanged.addEventListener(Wd.prototype.onMaterialChanged,this),this.subscriptions=new vt,this.showsUpdated=new vt,this.zIndex=i,this._asynchronous=o}Wd.prototype.onMaterialChanged=function(){this.invalidated=!0};Wd.prototype.isMaterial=function(e){let t=this.materialProperty,n=e.fillMaterialProperty;return n===t||n instanceof Ht&&t instanceof Ht?!0:l(t)&&t.equals(n)};Wd.prototype.add=function(e,t,n){let i=t.id;if(this.updaters.set(i,t),this.geometry.set(i,n),!t.hasConstantFill||!t.fillMaterialProperty.isConstant||!q.isConstant(t.distanceDisplayConditionProperty))this.updatersWithAttributes.set(i,t);else{let o=this;this.subscriptions.set(i,t.entity.definitionChanged.addEventListener(function(r,s,a,c){s==="isShowing"&&o.showsUpdated.set(t.id,t)}))}this.createPrimitive=!0};Wd.prototype.remove=function(e){let t=e.id;if(this.createPrimitive=this.geometry.remove(t)||this.createPrimitive,this.updaters.remove(t)){this.updatersWithAttributes.remove(t);let n=this.subscriptions.get(t);return l(n)&&(n(),this.subscriptions.remove(t)),!0}return!1};Wd.prototype.update=function(e){let t=!0,n=this.primitive,i=this.orderedGroundPrimitives,o=this.geometry.values,r;if(this.createPrimitive){if(o.length>0)l(n)&&(l(this.oldPrimitive)?i.remove(n):this.oldPrimitive=n),n=new Rh({show:!1,asynchronous:this._asynchronous,geometryInstances:o.slice(),appearance:new this.appearanceType,classificationType:this.classificationType}),this.appearanceType===wa&&(this.material=rr.getValue(e,this.materialProperty,this.material),n.appearance.material=this.material),i.add(n,this.zIndex),t=!1;else{l(n)&&(i.remove(n),n=void 0);let a=this.oldPrimitive;l(a)&&(i.remove(a),this.oldPrimitive=void 0)}this.attributes.removeAll(),this.primitive=n,this.createPrimitive=!1}else if(l(n)&&n.ready){n.show=!0,l(this.oldPrimitive)&&(i.remove(this.oldPrimitive),this.oldPrimitive=void 0),this.appearanceType===wa&&(this.material=rr.getValue(e,this.materialProperty,this.material),this.primitive.appearance.material=this.material);let s=this.updatersWithAttributes.values,a=s.length;for(r=0;r<a;r++){let c=s[r],u=c.entity,f=this.geometry.get(c.id),d=this.attributes.get(f.id.id);if(l(d)||(d=n.getGeometryInstanceAttributes(f.id),this.attributes.set(f.id.id,d)),!c.fillMaterialProperty.isConstant){let x=c.fillMaterialProperty.color,b=q.getValueOrDefault(x,e,z.WHITE,Det);z.equals(d._lastColor,b)||(d._lastColor=z.clone(b,d._lastColor),d.color=Wt.toValue(b,d.color))}let p=u.isShowing&&(c.hasConstantFill||c.isFilled(e)),g=d.show[0]===1;p!==g&&(d.show=xn.toValue(p,d.show));let m=c.distanceDisplayConditionProperty;if(!q.isConstant(m)){let x=q.getValueOrDefault(m,e,Pet,Iet);Lt.equals(x,d._lastDistanceDisplayCondition)||(d._lastDistanceDisplayCondition=Lt.clone(x,d._lastDistanceDisplayCondition),d.distanceDisplayCondition=Vn.toValue(x,d.distanceDisplayCondition))}}this.updateShows(n)}else l(n)&&!n.ready&&(t=!1);return t};Wd.prototype.updateShows=function(e){let t=this.showsUpdated.values,n=t.length;for(let i=0;i<n;i++){let o=t[i],r=o.entity,s=this.geometry.get(o.id);if(!s)continue;let a=this.attributes.get(s.id.id);l(a)||(a=e.getGeometryInstanceAttributes(s.id),this.attributes.set(s.id.id,a));let c=r.isShowing,u=a.show[0]===1;c!==u&&(a.show=xn.toValue(c,a.show),s.attributes.show.value[0]=a.show[0])}this.showsUpdated.removeAll()};Wd.prototype.contains=function(e){return this.updaters.contains(e.id)};Wd.prototype.getBoundingSphere=function(e,t){let n=this.primitive;if(!n.ready)return ut.PENDING;let i=n.getGeometryInstanceAttributes(e.entity);return!l(i)||!l(i.boundingSphere)||l(i.show)&&i.show[0]===0?ut.FAILED:(i.boundingSphere.clone(t),ut.DONE)};Wd.prototype.destroy=function(){let e=this.primitive,t=this.orderedGroundPrimitives;l(e)&&t.remove(e);let n=this.oldPrimitive;l(n)&&t.remove(n),this.removeMaterialSubscription()};function hE(e,t,n){this._items=[],this._orderedGroundPrimitives=e,this._classificationType=t,this._asynchronous=y(n,!0)}hE.prototype.add=function(e,t){let n=this._items,i=n.length,o=t.createFillGeometryInstance(e),r=q.getValueOrDefault(t.zIndex,0);for(let a=0;a<i;++a){let c=n[a];if(c.isMaterial(t)&&c.zIndex===r){c.add(e,t,o);return}}let s=new Wd(this._orderedGroundPrimitives,this._classificationType,t.fillMaterialProperty,r,this._asynchronous);s.add(e,t,o),n.push(s)};hE.prototype.remove=function(e){let t=this._items,n=t.length;for(let i=n-1;i>=0;i--){let o=t[i];if(o.remove(e)){o.updaters.length===0&&(t.splice(i,1),o.destroy());break}}};hE.prototype.update=function(e){let t,n=this._items,i=n.length;for(t=i-1;t>=0;t--){let r=n[t];if(r.invalidated){n.splice(t,1);let s=r.updaters.values,a=s.length;for(let c=0;c<a;c++)this.add(e,s[c]);r.destroy()}}let o=!0;for(t=0;t<n.length;t++)o=n[t].update(e)&&o;return o};hE.prototype.getBoundingSphere=function(e,t){let n=this._items,i=n.length;for(let o=0;o<i;o++){let r=n[o];if(r.contains(e))return r.getBoundingSphere(e,t)}return ut.FAILED};hE.prototype.removeAllPrimitives=function(){let e=this._items,t=e.length;for(let n=0;n<t;n++)e[n].destroy();this._items.length=0};var bk=hE;var Oet=[];function Kde(e,t){let n=e._batches,i=n.length;for(let o=0;o<i;o++)n[o].remove(t)}function Zde(e,t,n){if(n.isDynamic){e._dynamicBatch.add(t,n);return}if(n.clampToGround&&n.fillEnabled){let s=n.classificationTypeProperty.getValue(t);e._groundBatches[s].add(t,n);return}let i;n.fillEnabled&&(i=n.shadowsProperty.getValue(t));let o=0;l(n.depthFailMaterialProperty)&&(o=n.depthFailMaterialProperty instanceof Ht?1:2);let r;l(i)&&(r=i+o*bn.NUMBER_OF_SHADOW_MODES),n.fillEnabled&&(n.fillMaterialProperty instanceof Ht?e._colorBatches[r].add(t,n):e._materialBatches[r].add(t,n))}function gm(e,t,n,i){i=y(i,e.groundPrimitives),n=y(n,e.primitives),this._scene=e,this._primitives=n,this._entityCollection=void 0,this._addedObjects=new vt,this._removedObjects=new vt,this._changedObjects=new vt;let o,r=bn.NUMBER_OF_SHADOW_MODES;for(this._colorBatches=new Array(r*3),this._materialBatches=new Array(r*3),o=0;o<r;++o)this._colorBatches[o]=new Ud(n,rs,void 0,!1,o),this._materialBatches[o]=new Hd(n,wa,void 0,!1,o),this._colorBatches[o+r]=new Ud(n,rs,rs,!1,o),this._materialBatches[o+r]=new Hd(n,wa,rs,!1,o),this._colorBatches[o+r*2]=new Ud(n,rs,wa,!1,o),this._materialBatches[o+r*2]=new Hd(n,wa,wa,!1,o);this._dynamicBatch=new GA(n,i);let s=Un.NUMBER_OF_CLASSIFICATION_TYPES;for(this._groundBatches=new Array(s),o=0;o<s;++o)this._groundBatches[o]=new bk(i,o);this._batches=this._colorBatches.concat(this._materialBatches,this._dynamicBatch,this._groundBatches),this._subscriptions=new vt,this._updaters=new vt,this._entityCollection=t,t.collectionChanged.addEventListener(gm.prototype._onCollectionChanged,this),this._onCollectionChanged(t,t.values,Oet)}gm.prototype.update=function(e){let t=this._addedObjects,n=t.values,i=this._removedObjects,o=i.values,r=this._changedObjects,s=r.values,a,c,u,f;for(a=s.length-1;a>-1;a--)c=s[a],u=c.id,f=this._updaters.get(u),f.entity===c?(Kde(this,f),Zde(this,e,f)):(o.push(c),n.push(c));for(a=o.length-1;a>-1;a--)c=o[a],u=c.id,f=this._updaters.get(u),Kde(this,f),f.destroy(),this._updaters.remove(u),this._subscriptions.get(u)(),this._subscriptions.remove(u);for(a=n.length-1;a>-1;a--)c=n[a],u=c.id,f=new xk(c,this._scene),this._updaters.set(u,f),Zde(this,e,f),this._subscriptions.set(u,f.geometryChanged.addEventListener(gm._onGeometryChanged,this));t.removeAll(),i.removeAll(),r.removeAll();let d=!0,p=this._batches,g=p.length;for(a=0;a<g;a++)d=p[a].update(e)&&d;return d};var Ret=[],Met=new ce;gm.prototype.getBoundingSphere=function(e,t){let n=Ret,i=Met,o=0,r=ut.DONE,s=this._batches,a=s.length,c=this._updaters.get(e.id);if(!c)return ut.FAILED;for(let u=0;u<a;u++){if(r=s[u].getBoundingSphere(c,i),r===ut.PENDING)return ut.PENDING;r===ut.DONE&&(n[o]=ce.clone(i,n[o]),o++)}return o===0?ut.FAILED:(n.length=o,ce.fromBoundingSpheres(n,t),ut.DONE)};gm.prototype.isDestroyed=function(){return!1};gm.prototype.destroy=function(){this._entityCollection.collectionChanged.removeEventListener(gm.prototype._onCollectionChanged,this),this._addedObjects.removeAll(),this._removedObjects.removeAll();let e,t=this._batches,n=t.length;for(e=0;e<n;e++)t[e].removeAllPrimitives();let i=this._subscriptions.values;for(n=i.length,e=0;e<n;e++)i[e]();return this._subscriptions.removeAll(),ue(this)};gm._onGeometryChanged=function(e){let t=this._removedObjects,n=this._changedObjects,i=e.entity,o=i.id;!l(t.get(o))&&!l(n.get(o))&&n.set(o,i)};gm.prototype._onCollectionChanged=function(e,t,n){let i=this._addedObjects,o=this._removedObjects,r=this._changedObjects,s,a,c;for(s=n.length-1;s>-1;s--)c=n[s],a=c.id,i.remove(a)||(o.set(a,c),r.remove(a));for(s=t.length-1;s>-1;s--)c=t[s],a=c.id,o.remove(a)?r.set(a,c):i.set(a,c)};var Tk=gm;function wl(e){hl.initializeTerrainHeights(),Rh.initializeTerrainHeights();let t=e.scene,n=e.dataSourceCollection;this._eventHelper=new xr,this._eventHelper.add(n.dataSourceAdded,this._onDataSourceAdded,this),this._eventHelper.add(n.dataSourceRemoved,this._onDataSourceRemoved,this),this._eventHelper.add(n.dataSourceMoved,this._onDataSourceMoved,this),this._eventHelper.add(t.postRender,this._postRender,this),this._dataSourceCollection=n,this._scene=t,this._visualizersCallback=y(e.visualizersCallback,wl.defaultVisualizersCallback);let i=!1,o=new _u,r=new _u;n.length>0&&(t.primitives.add(o),t.groundPrimitives.add(r),i=!0),this._primitives=o,this._groundPrimitives=r;for(let u=0,f=n.length;u<f;u++)this._onDataSourceAdded(n,n.get(u));let s=new y3;this._onDataSourceAdded(void 0,s),this._defaultDataSource=s;let a,c;if(!i){let u=this,f=function(){t.primitives.add(o),t.groundPrimitives.add(r),a(),c(),u._removeDefaultDataSourceListener=void 0,u._removeDataSourceCollectionListener=void 0};a=s.entities.collectionChanged.addEventListener(f),c=n.dataSourceAdded.addEventListener(f)}this._removeDefaultDataSourceListener=a,this._removeDataSourceCollectionListener=c,this._ready=!1}var mE=[];wl.registerVisualizer=function(e){mE.includes(e)||mE.push(e)};wl.unregisterVisualizer=function(e){if(mE.includes(e)){let t=mE.indexOf(e);mE.splice(t,1)}};wl.defaultVisualizersCallback=function(e,t,n){let i=n.entities;return[new JM(t,i),new dk(e,i,n._primitives,n._groundPrimitives),new hk(t,i),new pk(e,i),new i3(e,i),new gk(t,i),new _k(e,i),new Tk(e,i,n._primitives,n._groundPrimitives),...mE.map(o=>new o(e,i))]};Object.defineProperties(wl.prototype,{scene:{get:function(){return this._scene}},dataSources:{get:function(){return this._dataSourceCollection}},defaultDataSource:{get:function(){return this._defaultDataSource}},ready:{get:function(){return this._ready}}});wl.prototype.isDestroyed=function(){return!1};wl.prototype.destroy=function(){this._eventHelper.removeAll();let e=this._dataSourceCollection;for(let t=0,n=e.length;t<n;++t)this._onDataSourceRemoved(this._dataSourceCollection,e.get(t));return this._onDataSourceRemoved(void 0,this._defaultDataSource),l(this._removeDefaultDataSourceListener)?(this._removeDefaultDataSourceListener(),this._removeDataSourceCollectionListener()):(this._scene.primitives.remove(this._primitives),this._scene.groundPrimitives.remove(this._groundPrimitives)),ue(this)};wl.prototype.update=function(e){if(!hi.initialized)return this._ready=!1,!1;let t=!0,n,i,o,r,s=this._dataSourceCollection,a=s.length;for(n=0;n<a;n++){let c=s.get(n);for(l(c.update)&&(t=c.update(e)&&t),o=c._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t}for(o=this._defaultDataSource._visualizers,r=o.length,i=0;i<r;i++)t=o[i].update(e)&&t;return!this._ready&&t&&this._scene.requestRender(),this._ready=t,t};wl.prototype._postRender=function(){let e=this._scene.frameState,t=this._dataSourceCollection,n=t.length;for(let i=0;i<n;i++){let o=t.get(i),r=o.credit;l(r)&&e.creditDisplay.addCreditToNextFrame(r);let s=o._resourceCredits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)e.creditDisplay.addCreditToNextFrame(s[c])}}};var Let=[],Net=new ce;wl.prototype.getBoundingSphere=function(e,t,n){if(!this._ready&&!t)return ut.PENDING;let i,o,r=this._defaultDataSource;if(!r.entities.contains(e)){r=void 0;let p=this._dataSourceCollection;for(o=p.length,i=0;i<o;i++){let g=p.get(i);if(g.entities.contains(e)){r=g;break}}}if(!l(r))return ut.FAILED;let s=Let,a=Net,c=0,u=ut.DONE,f=r._visualizers,d=f.length;for(i=0;i<d;i++){let p=f[i];if(l(p.getBoundingSphere)){if(u=f[i].getBoundingSphere(e,a),!t&&u===ut.PENDING)return ut.PENDING;u===ut.DONE&&(s[c]=ce.clone(a,s[c]),c++)}}return c===0?ut.FAILED:(s.length=c,ce.fromBoundingSpheres(s,n),ut.DONE)};wl.prototype._onDataSourceAdded=function(e,t){let n=this._scene,i=this._primitives,o=this._groundPrimitives,r=i.add(new _u),s=o.add(new F3);t._primitives=r,t._groundPrimitives=s;let a=t.clustering;a._initialize(n),r.add(a),t._visualizers=this._visualizersCallback(n,a,t)};wl.prototype._onDataSourceRemoved=function(e,t){let n=this._primitives,i=this._groundPrimitives,o=t._primitives,r=t._groundPrimitives,s=t.clustering;o.remove(s);let a=t._visualizers,c=a.length;for(let u=0;u<c;u++)a[u].destroy();n.remove(o),i.remove(r),t._visualizers=void 0};wl.prototype._onDataSourceMoved=function(e,t,n){let i=this._primitives,o=this._groundPrimitives,r=e._primitives,s=e._groundPrimitives;t===n+1?(i.raise(r),o.raise(s)):t===n-1?(i.lower(r),o.lower(s)):t===0?(i.lowerToBottom(r),o.lowerToBottom(s),i.raise(r),o.raise(s)):(i.raiseToTop(r),o.raiseToTop(s))};var Ck=wl;function O7(e,t,n){this.heading=y(e,0),this.pitch=y(t,0),this.range=y(n,0)}O7.clone=function(e,t){if(l(e))return l(t)||(t=new O7),t.heading=e.heading,t.pitch=e.pitch,t.range=e.range,t};var jd=O7;var $de=new $,Qde=new $,Jde=new $,Fet=new F,Ak=new h,ehe=new h,R7=new h,M7=new h,the=new h,nhe=new h,Bet=new Le,ket=new h,Vet=new $,pE=new K,Uet=1.25;function zet(e,t,n,i,o,r,s,a,c,u){let f=e.scene.mode,d=o.getValue(c,e._lastCartesian);if(l(d)){let p=!1,g=!1,m,x,b;if(f===ne.SCENE3D){K.addSeconds(c,.001,pE);let R=o.getValue(pE,Ak);if(l(R)||(K.addSeconds(c,-.001,pE),R=o.getValue(pE,Ak),g=!0),l(R)){let O=Mt.computeFixedToIcrfMatrix(c,$de),M=Mt.computeFixedToIcrfMatrix(pE,Qde),N;!l(O)||!l(M)?(N=Mt.computeTemeToPseudoFixedMatrix(c,Jde),O=$.transpose(N,$de),M=Mt.computeTemeToPseudoFixedMatrix(pE,Qde),$.transpose(M,M)):N=$.transpose(O,Jde);let _=$.multiplyByVector(O,d,the),E=$.multiplyByVector(M,R,nhe);h.subtract(_,E,M7);let w=h.magnitude(M7)*1e3,I=P.GRAVITATIONALPARAMETER,L=-I/(w*w-2*I/h.magnitude(_));L<0||L>Uet*u.maximumRadius?(m=ehe,h.normalize(d,m),h.negate(m,m),b=h.clone(h.UNIT_Z,R7),x=h.cross(b,m,Ak),h.magnitude(x)>P.EPSILON7&&(h.normalize(m,m),h.normalize(x,x),b=h.cross(m,x,R7),h.normalize(b,b),p=!0)):h.equalsEpsilon(d,R,P.EPSILON7)||(b=ehe,h.normalize(_,b),h.normalize(E,E),x=h.cross(b,E,R7),g&&(x=h.multiplyByScalar(x,-1,x)),h.equalsEpsilon(x,h.ZERO,P.EPSILON7)||(m=h.cross(x,b,Ak),$.multiplyByVector(N,m,m),$.multiplyByVector(N,x,x),$.multiplyByVector(N,b,b),h.normalize(m,m),h.normalize(x,x),h.normalize(b,b),p=!0))}}l(e.boundingSphere)&&(d=e.boundingSphere.center);let T,C,A;i&&(T=h.clone(t.position,M7),C=h.clone(t.direction,the),A=h.clone(t.up,nhe));let S=Fet,v;l(s)&&(v=s.getValue(c,Bet));let D=r.getValue(c,ket);if(a===Q_.INERTIAL&&l(v))F.fromTranslationQuaternionRotationScale(d,v,h.ONE,S);else if(a===Q_.VELOCITY&&l(D)){let R=Mt.rotationMatrixFromPositionVelocity(d,D,u,Vet);F.fromRotationTranslation(R,d,S)}else a===Q_.ENU||!p?Mt.eastNorthUpToFixedFrame(d,u,S):(S[0]=m.x,S[1]=m.y,S[2]=m.z,S[3]=0,S[4]=x.x,S[5]=x.y,S[6]=x.z,S[7]=0,S[8]=b.x,S[9]=b.y,S[10]=b.z,S[11]=0,S[12]=d.x,S[13]=d.y,S[14]=d.z,S[15]=0);t._setTransform(S),i&&(h.clone(T,t.position),h.clone(C,t.direction),h.clone(A,t.up),h.cross(C,A,t.right))}if(n){let p=f===ne.SCENE2D||h.equals(e._offset3D,h.ZERO)?void 0:e._offset3D;t.lookAtTransform(t.transform,p)}}function XD(e,t,n){this.entity=e,this.scene=t,this.ellipsoid=y(n,ee.default),this.boundingSphere=void 0,this._lastEntity=void 0,this._mode=void 0,this._lastCartesian=new h,this._defaultOffset3D=void 0,this._velocityProperty=new _y(e.position,!0),this._offset3D=new h}Object.defineProperties(XD,{defaultOffset3D:{get:function(){return this._defaultOffset3D},set:function(e){this._defaultOffset3D=h.clone(e,new h)}}});XD.defaultOffset3D=new h(-14e3,3500,3500);var Ek=new jd,Het=new h;XD.prototype.update=function(e,t){let n=this.scene,i=this.ellipsoid,o=n.mode;if(o===ne.MORPHING)return;let r=this.entity,s=r.trackingReferenceFrame,a=r.position;if(!l(a))return;let c=this._velocityProperty,u=r.orientation,f=r!==this._lastEntity,d=o!==this._mode,p=n.camera,g=f||d,m=!0;if(f){let x=r.viewFrom,b=l(x);if(!b&&l(t)){Ek.pitch=-P.PI_OVER_FOUR,Ek.range=0;let T=a.getValue(e,Het);if(l(T)){let C=2-1/Math.max(1,h.magnitude(T)/i.maximumRadius);Ek.pitch*=C}p.viewBoundingSphere(t,Ek),this.boundingSphere=t,g=!1,m=!1}else(!b||!l(x.getValue(e,this._offset3D)))&&h.clone(XD._defaultOffset3D,this._offset3D)}else!d&&this._mode!==ne.SCENE2D&&h.clone(p.position,this._offset3D);this._lastEntity=r,this._mode=o,zet(this,p,g,m,a,c,u,s,e,i)};var Sk=XD;function Rk(e){return Mk(e.map(([t,n])=>new Array(t).fill(n,0,t)))}function Mk(e){return e.reduce((t,n)=>t.concat(Array.isArray(n)?Mk(n):n),[])}var ihe=[0,1,2,3].concat(...Rk([[2,4],[2,5],[4,6],[4,7],[8,8],[8,9],[16,10],[16,11],[32,12],[32,13],[64,14],[64,15],[2,0],[1,16],[1,17],[2,18],[2,19],[4,20],[4,21],[8,22],[8,23],[16,24],[16,25],[32,26],[32,27],[64,28],[64,29]]));function lr(){let e=this;function t(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.extra_bits,c=e.stat_desc.extra_base,u=e.stat_desc.max_length,f,d,p,g,m,x,b=0;for(g=0;g<=15;g++)o.bl_count[g]=0;for(r[o.heap[o.heap_max]*2+1]=0,f=o.heap_max+1;f<573;f++)d=o.heap[f],g=r[r[d*2+1]*2+1]+1,g>u&&(g=u,b++),r[d*2+1]=g,!(d>e.max_code)&&(o.bl_count[g]++,m=0,d>=c&&(m=a[d-c]),x=r[d*2],o.opt_len+=x*(g+m),s&&(o.static_len+=x*(s[d*2+1]+m)));if(b!==0){do{for(g=u-1;o.bl_count[g]===0;)g--;o.bl_count[g]--,o.bl_count[g+1]+=2,o.bl_count[u]--,b-=2}while(b>0);for(g=u;g!==0;g--)for(d=o.bl_count[g];d!==0;)p=o.heap[--f],!(p>e.max_code)&&(r[p*2+1]!=g&&(o.opt_len+=(g-r[p*2+1])*r[p*2],r[p*2+1]=g),d--)}}function n(o,r){let s=0;do s|=o&1,o>>>=1,s<<=1;while(--r>0);return s>>>1}function i(o,r,s){let a=[],c=0,u,f,d;for(u=1;u<=15;u++)a[u]=c=c+s[u-1]<<1;for(f=0;f<=r;f++)d=o[f*2+1],d!==0&&(o[f*2]=n(a[d]++,d))}e.build_tree=function(o){let r=e.dyn_tree,s=e.stat_desc.static_tree,a=e.stat_desc.elems,c,u,f=-1,d;for(o.heap_len=0,o.heap_max=573,c=0;c<a;c++)r[c*2]!==0?(o.heap[++o.heap_len]=f=c,o.depth[c]=0):r[c*2+1]=0;for(;o.heap_len<2;)d=o.heap[++o.heap_len]=f<2?++f:0,r[d*2]=1,o.depth[d]=0,o.opt_len--,s&&(o.static_len-=s[d*2+1]);for(e.max_code=f,c=Math.floor(o.heap_len/2);c>=1;c--)o.pqdownheap(r,c);d=a;do c=o.heap[1],o.heap[1]=o.heap[o.heap_len--],o.pqdownheap(r,1),u=o.heap[1],o.heap[--o.heap_max]=c,o.heap[--o.heap_max]=u,r[d*2]=r[c*2]+r[u*2],o.depth[d]=Math.max(o.depth[c],o.depth[u])+1,r[c*2+1]=r[u*2+1]=d,o.heap[1]=d++,o.pqdownheap(r,1);while(o.heap_len>=2);o.heap[--o.heap_max]=o.heap[1],t(o),i(r,e.max_code,o.bl_count)}}lr._length_code=[0,1,2,3,4,5,6,7].concat(...Rk([[2,8],[2,9],[2,10],[2,11],[4,12],[4,13],[4,14],[4,15],[8,16],[8,17],[8,18],[8,19],[16,20],[16,21],[16,22],[16,23],[32,24],[32,25],[32,26],[31,27],[1,28]]));lr.base_length=[0,1,2,3,4,5,6,7,8,10,12,14,16,20,24,28,32,40,48,56,64,80,96,112,128,160,192,224,0];lr.base_dist=[0,1,2,3,4,6,8,12,16,24,32,48,64,96,128,192,256,384,512,768,1024,1536,2048,3072,4096,6144,8192,12288,16384,24576];lr.d_code=function(e){return e<256?ihe[e]:ihe[256+(e>>>7)]};lr.extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];lr.extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];lr.extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];lr.bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];function Ma(e,t,n,i,o){let r=this;r.static_tree=e,r.extra_bits=t,r.extra_base=n,r.elems=i,r.max_length=o}var Get=[12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,19,275,147,403,83,339,211,467,51,307,179,435,115,371,243,499,11,267,139,395,75,331,203,459,43,299,171,427,107,363,235,491,27,283,155,411,91,347,219,475,59,315,187,443,123,379,251,507,7,263,135,391,71,327,199,455,39,295,167,423,103,359,231,487,23,279,151,407,87,343,215,471,55,311,183,439,119,375,247,503,15,271,143,399,79,335,207,463,47,303,175,431,111,367,239,495,31,287,159,415,95,351,223,479,63,319,191,447,127,383,255,511,0,64,32,96,16,80,48,112,8,72,40,104,24,88,56,120,4,68,36,100,20,84,52,116,3,131,67,195,35,163,99,227],Wet=Rk([[144,8],[112,9],[24,7],[8,8]]);Ma.static_ltree=Mk(Get.map((e,t)=>[e,Wet[t]]));var jet=[0,16,8,24,4,20,12,28,2,18,10,26,6,22,14,30,1,17,9,25,5,21,13,29,3,19,11,27,7,23],qet=Rk([[30,5]]);Ma.static_dtree=Mk(jet.map((e,t)=>[e,qet[t]]));Ma.static_l_desc=new Ma(Ma.static_ltree,lr.extra_lbits,257,286,15);Ma.static_d_desc=new Ma(Ma.static_dtree,lr.extra_dbits,0,30,15);Ma.static_bl_desc=new Ma(null,lr.extra_blbits,0,19,7);var Yet=9,Xet=8;function ym(e,t,n,i,o){let r=this;r.good_length=e,r.max_lazy=t,r.nice_length=n,r.max_chain=i,r.func=o}var rhe=0,Pk=1,lb=2,qd=[new ym(0,0,0,0,rhe),new ym(4,4,8,4,Pk),new ym(4,5,16,8,Pk),new ym(4,6,32,32,Pk),new ym(4,4,16,16,lb),new ym(8,16,32,32,lb),new ym(8,16,128,128,lb),new ym(8,32,128,256,lb),new ym(32,128,258,1024,lb),new ym(32,258,258,4096,lb)],vk=["need dictionary","stream end","","","stream error","data error","","buffer error","",""],kf=0,wk=1,KD=2,Dk=3,Ket=32,L7=42,Ik=113,ZD=666,N7=8,Zet=0,F7=1,$et=2,Tr=3,Ok=258,bu=Ok+Tr+1;function ohe(e,t,n,i){let o=e[t*2],r=e[n*2];return o<r||o==r&&i[t]<=i[n]}function Qet(){let e=this,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x,b,T,C,A,S,v,D,R,O,M,N,_,E,w,I,L,B,H,V=new lr,G=new lr,k=new lr;e.depth=[];let W,Y,J,j,Z,Q;e.bl_count=[],e.heap=[],L=[],B=[],H=[];function he(){u=2*r,d[g-1]=0;for(let Me=0;Me<g-1;Me++)d[Me]=0;N=qd[_].max_lazy,w=qd[_].good_length,I=qd[_].nice_length,M=qd[_].max_chain,v=0,T=0,R=0,C=O=Tr-1,S=0,p=0}function ye(){let Me;for(Me=0;Me<286;Me++)L[Me*2]=0;for(Me=0;Me<30;Me++)B[Me*2]=0;for(Me=0;Me<19;Me++)H[Me*2]=0;L[256*2]=1,e.opt_len=e.static_len=0,Y=J=0}function re(){V.dyn_tree=L,V.stat_desc=Ma.static_l_desc,G.dyn_tree=B,G.stat_desc=Ma.static_d_desc,k.dyn_tree=H,k.stat_desc=Ma.static_bl_desc,Z=0,Q=0,j=8,ye()}e.pqdownheap=function(Me,at){let Je=e.heap,Qe=Je[at],ct=at<<1;for(;ct<=e.heap_len&&(ct<e.heap_len&&ohe(Me,Je[ct+1],Je[ct],e.depth)&&ct++,!ohe(Me,Qe,Je[ct],e.depth));)Je[at]=Je[ct],at=ct,ct<<=1;Je[at]=Qe};function _e(Me,at){let Je=-1,Qe,ct=Me[0*2+1],zt=0,yn=7,Zn=4;ct===0&&(yn=138,Zn=3),Me[(at+1)*2+1]=65535;for(let $i=0;$i<=at;$i++)Qe=ct,ct=Me[($i+1)*2+1],!(++zt<yn&&Qe==ct)&&(zt<Zn?H[Qe*2]+=zt:Qe!==0?(Qe!=Je&&H[Qe*2]++,H[16*2]++):zt<=10?H[17*2]++:H[18*2]++,zt=0,Je=Qe,ct===0?(yn=138,Zn=3):Qe==ct?(yn=6,Zn=3):(yn=7,Zn=4))}function xe(){let Me;for(_e(L,V.max_code),_e(B,G.max_code),k.build_tree(e),Me=18;Me>=3&&H[lr.bl_order[Me]*2+1]===0;Me--);return e.opt_len+=3*(Me+1)+5+5+4,Me}function Ie(Me){e.pending_buf[e.pending++]=Me}function De(Me){Ie(Me&255),Ie(Me>>>8&255)}function Ne(Me){Ie(Me>>8&255),Ie(Me&255&255)}function Ce(Me,at){let Je,Qe=at;Q>16-Qe?(Je=Me,Z|=Je<<Q&65535,De(Z),Z=Je>>>16-Q,Q+=Qe-16):(Z|=Me<<Q&65535,Q+=Qe)}function Be(Me,at){let Je=Me*2;Ce(at[Je]&65535,at[Je+1]&65535)}function Ve(Me,at){let Je,Qe=-1,ct,zt=Me[0*2+1],yn=0,Zn=7,$i=4;for(zt===0&&(Zn=138,$i=3),Je=0;Je<=at;Je++)if(ct=zt,zt=Me[(Je+1)*2+1],!(++yn<Zn&&ct==zt)){if(yn<$i)do Be(ct,H);while(--yn!==0);else ct!==0?(ct!=Qe&&(Be(ct,H),yn--),Be(16,H),Ce(yn-3,2)):yn<=10?(Be(17,H),Ce(yn-3,3)):(Be(18,H),Ce(yn-11,7));yn=0,Qe=ct,zt===0?(Zn=138,$i=3):ct==zt?(Zn=6,$i=3):(Zn=7,$i=4)}}function $e(Me,at,Je){let Qe;for(Ce(Me-257,5),Ce(at-1,5),Ce(Je-4,4),Qe=0;Qe<Je;Qe++)Ce(H[lr.bl_order[Qe]*2+1],3);Ve(L,Me-1),Ve(B,at-1)}function qe(){Q==16?(De(Z),Z=0,Q=0):Q>=8&&(Ie(Z&255),Z>>>=8,Q-=8)}function pt(){Ce(F7<<1,3),Be(256,Ma.static_ltree),qe(),1+j+10-Q<9&&(Ce(F7<<1,3),Be(256,Ma.static_ltree),qe()),j=7}function ht(Me,at){let Je,Qe,ct;if(e.dist_buf[Y]=Me,e.lc_buf[Y]=at&255,Y++,Me===0?L[at*2]++:(J++,Me--,L[(lr._length_code[at]+256+1)*2]++,B[lr.d_code(Me)*2]++),!(Y&8191)&&_>2){for(Je=Y*8,Qe=v-T,ct=0;ct<30;ct++)Je+=B[ct*2]*(5+lr.extra_dbits[ct]);if(Je>>>=3,J<Math.floor(Y/2)&&Je<Math.floor(Qe/2))return!0}return Y==W-1}function yt(Me,at){let Je,Qe,ct=0,zt,yn;if(Y!==0)do Je=e.dist_buf[ct],Qe=e.lc_buf[ct],ct++,Je===0?Be(Qe,Me):(zt=lr._length_code[Qe],Be(zt+256+1,Me),yn=lr.extra_lbits[zt],yn!==0&&(Qe-=lr.base_length[zt],Ce(Qe,yn)),Je--,zt=lr.d_code(Je),Be(zt,at),yn=lr.extra_dbits[zt],yn!==0&&(Je-=lr.base_dist[zt],Ce(Je,yn)));while(ct<Y);Be(256,Me),j=Me[256*2+1]}function Jt(){Q>8?De(Z):Q>0&&Ie(Z&255),Z=0,Q=0}function Te(Me,at,Je){Jt(),j=8,Je&&(De(at),De(~at)),e.pending_buf.set(c.subarray(Me,Me+at),e.pending),e.pending+=at}function Ee(Me,at,Je){Ce((Zet<<1)+(Je?1:0),3),Te(Me,at,!0)}function on(Me,at,Je){let Qe,ct,zt=0;_>0?(V.build_tree(e),G.build_tree(e),zt=xe(),Qe=e.opt_len+3+7>>>3,ct=e.static_len+3+7>>>3,ct<=Qe&&(Qe=ct)):Qe=ct=at+5,at+4<=Qe&&Me!=-1?Ee(Me,at,Je):ct==Qe?(Ce((F7<<1)+(Je?1:0),3),yt(Ma.static_ltree,Ma.static_dtree)):(Ce(($et<<1)+(Je?1:0),3),$e(V.max_code+1,G.max_code+1,zt+1),yt(L,B)),ye(),Je&&Jt()}function en(Me){on(T>=0?T:-1,v-T,Me),T=v,t.flush_pending()}function Xt(){let Me,at,Je,Qe;do{if(Qe=u-R-v,Qe===0&&v===0&&R===0)Qe=r;else if(Qe==-1)Qe--;else if(v>=r+r-bu){c.set(c.subarray(r,r+r),0),D-=r,v-=r,T-=r,Me=g,Je=Me;do at=d[--Je]&65535,d[Je]=at>=r?at-r:0;while(--Me!==0);Me=r,Je=Me;do at=f[--Je]&65535,f[Je]=at>=r?at-r:0;while(--Me!==0);Qe+=r}if(t.avail_in===0)return;Me=t.read_buf(c,v+R,Qe),R+=Me,R>=Tr&&(p=c[v]&255,p=(p<<b^c[v+1]&255)&x)}while(R<bu&&t.avail_in!==0)}function ji(Me){let at=65535,Je;for(at>i-5&&(at=i-5);;){if(R<=1){if(Xt(),R===0&&Me==0)return kf;if(R===0)break}if(v+=R,R=0,Je=T+at,(v===0||v>=Je)&&(R=v-Je,v=Je,en(!1),t.avail_out===0)||v-T>=r-bu&&(en(!1),t.avail_out===0))return kf}return en(Me==4),t.avail_out===0?Me==4?KD:kf:Me==4?Dk:wk}function Ke(Me){let at=M,Je=v,Qe,ct,zt=O,yn=v>r-bu?v-(r-bu):0,Zn=I,$i=a,Er=v+Ok,Po=c[Je+zt-1],gs=c[Je+zt];O>=w&&(at>>=2),Zn>R&&(Zn=R);do if(Qe=Me,!(c[Qe+zt]!=gs||c[Qe+zt-1]!=Po||c[Qe]!=c[Je]||c[++Qe]!=c[Je+1])){Je+=2,Qe++;do;while(c[++Je]==c[++Qe]&&c[++Je]==c[++Qe]&&c[++Je]==c[++Qe]&&c[++Je]==c[++Qe]&&c[++Je]==c[++Qe]&&c[++Je]==c[++Qe]&&c[++Je]==c[++Qe]&&c[++Je]==c[++Qe]&&Je<Er);if(ct=Ok-(Er-Je),Je=Er-Ok,ct>zt){if(D=Me,zt=ct,ct>=Zn)break;Po=c[Je+zt-1],gs=c[Je+zt]}}while((Me=f[Me&$i]&65535)>yn&&--at!==0);return zt<=R?zt:R}function ns(Me){let at=0,Je;for(;;){if(R<bu){if(Xt(),R<bu&&Me==0)return kf;if(R===0)break}if(R>=Tr&&(p=(p<<b^c[v+(Tr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v),at!==0&&(v-at&65535)<=r-bu&&E!=2&&(C=Ke(at)),C>=Tr)if(Je=ht(v-D,C-Tr),R-=C,C<=N&&R>=Tr){C--;do v++,p=(p<<b^c[v+(Tr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v;while(--C!==0);v++}else v+=C,C=0,p=c[v]&255,p=(p<<b^c[v+1]&255)&x;else Je=ht(0,c[v]&255),R--,v++;if(Je&&(en(!1),t.avail_out===0))return kf}return en(Me==4),t.avail_out===0?Me==4?KD:kf:Me==4?Dk:wk}function Ur(Me){let at=0,Je,Qe;for(;;){if(R<bu){if(Xt(),R<bu&&Me==0)return kf;if(R===0)break}if(R>=Tr&&(p=(p<<b^c[v+(Tr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v),O=C,A=D,C=Tr-1,at!==0&&O<N&&(v-at&65535)<=r-bu&&(E!=2&&(C=Ke(at)),C<=5&&(E==1||C==Tr&&v-D>4096)&&(C=Tr-1)),O>=Tr&&C<=O){Qe=v+R-Tr,Je=ht(v-1-A,O-Tr),R-=O-1,O-=2;do++v<=Qe&&(p=(p<<b^c[v+(Tr-1)]&255)&x,at=d[p]&65535,f[v&a]=d[p],d[p]=v);while(--O!==0);if(S=0,C=Tr-1,v++,Je&&(en(!1),t.avail_out===0))return kf}else if(S!==0){if(Je=ht(0,c[v-1]&255),Je&&en(!1),v++,R--,t.avail_out===0)return kf}else S=1,v++,R--}return S!==0&&(Je=ht(0,c[v-1]&255),S=0),en(Me==4),t.avail_out===0?Me==4?KD:kf:Me==4?Dk:wk}function Aa(Me){return Me.total_in=Me.total_out=0,Me.msg=null,e.pending=0,e.pending_out=0,n=Ik,o=0,re(),he(),0}e.deflateInit=function(Me,at,Je,Qe,ct,zt){return Qe||(Qe=N7),ct||(ct=Xet),zt||(zt=0),Me.msg=null,at==-1&&(at=6),ct<1||ct>Yet||Qe!=N7||Je<9||Je>15||at<0||at>9||zt<0||zt>2?-2:(Me.dstate=e,s=Je,r=1<<s,a=r-1,m=ct+7,g=1<<m,x=g-1,b=Math.floor((m+Tr-1)/Tr),c=new Uint8Array(r*2),f=[],d=[],W=1<<ct+6,e.pending_buf=new Uint8Array(W*4),i=W*4,e.dist_buf=new Uint16Array(W),e.lc_buf=new Uint8Array(W),_=at,E=zt,Aa(Me))},e.deflateEnd=function(){return n!=L7&&n!=Ik&&n!=ZD?-2:(e.lc_buf=null,e.dist_buf=null,e.pending_buf=null,d=null,f=null,c=null,e.dstate=null,n==Ik?-3:0)},e.deflateParams=function(Me,at,Je){let Qe=0;return at==-1&&(at=6),at<0||at>9||Je<0||Je>2?-2:(qd[_].func!=qd[at].func&&Me.total_in!==0&&(Qe=Me.deflate(1)),_!=at&&(_=at,N=qd[_].max_lazy,w=qd[_].good_length,I=qd[_].nice_length,M=qd[_].max_chain),E=Je,Qe)},e.deflateSetDictionary=function(Me,at,Je){let Qe=Je,ct,zt=0;if(!at||n!=L7)return-2;if(Qe<Tr)return 0;for(Qe>r-bu&&(Qe=r-bu,zt=Je-Qe),c.set(at.subarray(zt,zt+Qe),0),v=Qe,T=Qe,p=c[0]&255,p=(p<<b^c[1]&255)&x,ct=0;ct<=Qe-Tr;ct++)p=(p<<b^c[ct+(Tr-1)]&255)&x,f[ct&a]=d[p],d[p]=ct;return 0},e.deflate=function(Me,at){let Je,Qe,ct,zt,yn;if(at>4||at<0)return-2;if(!Me.next_out||!Me.next_in&&Me.avail_in!==0||n==ZD&&at!=4)return Me.msg=vk[4],-2;if(Me.avail_out===0)return Me.msg=vk[7],-5;if(t=Me,zt=o,o=at,n==L7&&(Qe=N7+(s-8<<4)<<8,ct=(_-1&255)>>1,ct>3&&(ct=3),Qe|=ct<<6,v!==0&&(Qe|=Ket),Qe+=31-Qe%31,n=Ik,Ne(Qe)),e.pending!==0){if(t.flush_pending(),t.avail_out===0)return o=-1,0}else if(t.avail_in===0&&at<=zt&&at!=4)return t.msg=vk[7],-5;if(n==ZD&&t.avail_in!==0)return Me.msg=vk[7],-5;if(t.avail_in!==0||R!==0||at!=0&&n!=ZD){switch(yn=-1,qd[_].func){case rhe:yn=ji(at);break;case Pk:yn=ns(at);break;case lb:yn=Ur(at);break;default:}if((yn==KD||yn==Dk)&&(n=ZD),yn==kf||yn==KD)return t.avail_out===0&&(o=-1),0;if(yn==wk){if(at==1)pt();else if(Ee(0,0,!1),at==3)for(Je=0;Je<g;Je++)d[Je]=0;if(t.flush_pending(),t.avail_out===0)return o=-1,0}}return at!=4?0:1}}function she(){let e=this;e.next_in_index=0,e.next_out_index=0,e.avail_in=0,e.total_in=0,e.avail_out=0,e.total_out=0}she.prototype={deflateInit(e,t){let n=this;return n.dstate=new Qet,t||(t=15),n.dstate.deflateInit(n,e,t)},deflate(e){let t=this;return t.dstate?t.dstate.deflate(t,e):-2},deflateEnd(){let e=this;if(!e.dstate)return-2;let t=e.dstate.deflateEnd();return e.dstate=null,t},deflateParams(e,t){let n=this;return n.dstate?n.dstate.deflateParams(n,e,t):-2},deflateSetDictionary(e,t){let n=this;return n.dstate?n.dstate.deflateSetDictionary(n,e,t):-2},read_buf(e,t,n){let i=this,o=i.avail_in;return o>n&&(o=n),o===0?0:(i.avail_in-=o,e.set(i.next_in.subarray(i.next_in_index,i.next_in_index+o),t),i.next_in_index+=o,i.total_in+=o,o)},flush_pending(){let e=this,t=e.dstate.pending;t>e.avail_out&&(t=e.avail_out),t!==0&&(e.next_out.set(e.dstate.pending_buf.subarray(e.dstate.pending_out,e.dstate.pending_out+t),e.next_out_index),e.next_out_index+=t,e.dstate.pending_out+=t,e.total_out+=t,e.avail_out-=t,e.dstate.pending-=t,e.dstate.pending===0&&(e.dstate.pending_out=0))}};function ahe(e){let t=this,n=new she,i=Jet(e&&e.chunkSize?e.chunkSize:64*1024),o=0,r=new Uint8Array(i),s=e?e.level:-1;typeof s>"u"&&(s=-1),n.deflateInit(s),n.next_out=r,t.append=function(a,c){let u,f,d=0,p=0,g=0,m=[];if(a.length){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,u=n.deflate(o),u!=0)throw new Error("deflating: "+n.msg);n.next_out_index&&(n.next_out_index==i?m.push(new Uint8Array(r)):m.push(r.subarray(0,n.next_out_index))),g+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=d&&(c(n.next_in_index),d=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return m.length>1?(f=new Uint8Array(g),m.forEach(function(x){f.set(x,p),p+=x.length})):f=m[0]?new Uint8Array(m[0]):new Uint8Array,f}},t.flush=function(){let a,c,u=0,f=0,d=[];do{if(n.next_out_index=0,n.avail_out=i,a=n.deflate(4),a!=1&&a!=0)throw new Error("deflating: "+n.msg);i-n.avail_out>0&&d.push(r.slice(0,n.next_out_index)),f+=n.next_out_index}while(n.avail_in>0||n.avail_out===0);return n.deflateEnd(),c=new Uint8Array(f),d.forEach(function(p){c.set(p,u),u+=p.length}),c}}function Jet(e){return e+5*(Math.floor(e/16383)+1)}var Tu=[0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535],whe=1440,ett=0,ttt=4,ntt=9,itt=5,ott=[96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,192,80,7,10,0,8,96,0,8,32,0,9,160,0,8,0,0,8,128,0,8,64,0,9,224,80,7,6,0,8,88,0,8,24,0,9,144,83,7,59,0,8,120,0,8,56,0,9,208,81,7,17,0,8,104,0,8,40,0,9,176,0,8,8,0,8,136,0,8,72,0,9,240,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,200,81,7,13,0,8,100,0,8,36,0,9,168,0,8,4,0,8,132,0,8,68,0,9,232,80,7,8,0,8,92,0,8,28,0,9,152,84,7,83,0,8,124,0,8,60,0,9,216,82,7,23,0,8,108,0,8,44,0,9,184,0,8,12,0,8,140,0,8,76,0,9,248,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,196,81,7,11,0,8,98,0,8,34,0,9,164,0,8,2,0,8,130,0,8,66,0,9,228,80,7,7,0,8,90,0,8,26,0,9,148,84,7,67,0,8,122,0,8,58,0,9,212,82,7,19,0,8,106,0,8,42,0,9,180,0,8,10,0,8,138,0,8,74,0,9,244,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,204,81,7,15,0,8,102,0,8,38,0,9,172,0,8,6,0,8,134,0,8,70,0,9,236,80,7,9,0,8,94,0,8,30,0,9,156,84,7,99,0,8,126,0,8,62,0,9,220,82,7,27,0,8,110,0,8,46,0,9,188,0,8,14,0,8,142,0,8,78,0,9,252,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,194,80,7,10,0,8,97,0,8,33,0,9,162,0,8,1,0,8,129,0,8,65,0,9,226,80,7,6,0,8,89,0,8,25,0,9,146,83,7,59,0,8,121,0,8,57,0,9,210,81,7,17,0,8,105,0,8,41,0,9,178,0,8,9,0,8,137,0,8,73,0,9,242,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,202,81,7,13,0,8,101,0,8,37,0,9,170,0,8,5,0,8,133,0,8,69,0,9,234,80,7,8,0,8,93,0,8,29,0,9,154,84,7,83,0,8,125,0,8,61,0,9,218,82,7,23,0,8,109,0,8,45,0,9,186,0,8,13,0,8,141,0,8,77,0,9,250,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,198,81,7,11,0,8,99,0,8,35,0,9,166,0,8,3,0,8,131,0,8,67,0,9,230,80,7,7,0,8,91,0,8,27,0,9,150,84,7,67,0,8,123,0,8,59,0,9,214,82,7,19,0,8,107,0,8,43,0,9,182,0,8,11,0,8,139,0,8,75,0,9,246,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,206,81,7,15,0,8,103,0,8,39,0,9,174,0,8,7,0,8,135,0,8,71,0,9,238,80,7,9,0,8,95,0,8,31,0,9,158,84,7,99,0,8,127,0,8,63,0,9,222,82,7,27,0,8,111,0,8,47,0,9,190,0,8,15,0,8,143,0,8,79,0,9,254,96,7,256,0,8,80,0,8,16,84,8,115,82,7,31,0,8,112,0,8,48,0,9,193,80,7,10,0,8,96,0,8,32,0,9,161,0,8,0,0,8,128,0,8,64,0,9,225,80,7,6,0,8,88,0,8,24,0,9,145,83,7,59,0,8,120,0,8,56,0,9,209,81,7,17,0,8,104,0,8,40,0,9,177,0,8,8,0,8,136,0,8,72,0,9,241,80,7,4,0,8,84,0,8,20,85,8,227,83,7,43,0,8,116,0,8,52,0,9,201,81,7,13,0,8,100,0,8,36,0,9,169,0,8,4,0,8,132,0,8,68,0,9,233,80,7,8,0,8,92,0,8,28,0,9,153,84,7,83,0,8,124,0,8,60,0,9,217,82,7,23,0,8,108,0,8,44,0,9,185,0,8,12,0,8,140,0,8,76,0,9,249,80,7,3,0,8,82,0,8,18,85,8,163,83,7,35,0,8,114,0,8,50,0,9,197,81,7,11,0,8,98,0,8,34,0,9,165,0,8,2,0,8,130,0,8,66,0,9,229,80,7,7,0,8,90,0,8,26,0,9,149,84,7,67,0,8,122,0,8,58,0,9,213,82,7,19,0,8,106,0,8,42,0,9,181,0,8,10,0,8,138,0,8,74,0,9,245,80,7,5,0,8,86,0,8,22,192,8,0,83,7,51,0,8,118,0,8,54,0,9,205,81,7,15,0,8,102,0,8,38,0,9,173,0,8,6,0,8,134,0,8,70,0,9,237,80,7,9,0,8,94,0,8,30,0,9,157,84,7,99,0,8,126,0,8,62,0,9,221,82,7,27,0,8,110,0,8,46,0,9,189,0,8,14,0,8,142,0,8,78,0,9,253,96,7,256,0,8,81,0,8,17,85,8,131,82,7,31,0,8,113,0,8,49,0,9,195,80,7,10,0,8,97,0,8,33,0,9,163,0,8,1,0,8,129,0,8,65,0,9,227,80,7,6,0,8,89,0,8,25,0,9,147,83,7,59,0,8,121,0,8,57,0,9,211,81,7,17,0,8,105,0,8,41,0,9,179,0,8,9,0,8,137,0,8,73,0,9,243,80,7,4,0,8,85,0,8,21,80,8,258,83,7,43,0,8,117,0,8,53,0,9,203,81,7,13,0,8,101,0,8,37,0,9,171,0,8,5,0,8,133,0,8,69,0,9,235,80,7,8,0,8,93,0,8,29,0,9,155,84,7,83,0,8,125,0,8,61,0,9,219,82,7,23,0,8,109,0,8,45,0,9,187,0,8,13,0,8,141,0,8,77,0,9,251,80,7,3,0,8,83,0,8,19,85,8,195,83,7,35,0,8,115,0,8,51,0,9,199,81,7,11,0,8,99,0,8,35,0,9,167,0,8,3,0,8,131,0,8,67,0,9,231,80,7,7,0,8,91,0,8,27,0,9,151,84,7,67,0,8,123,0,8,59,0,9,215,82,7,19,0,8,107,0,8,43,0,9,183,0,8,11,0,8,139,0,8,75,0,9,247,80,7,5,0,8,87,0,8,23,192,8,0,83,7,51,0,8,119,0,8,55,0,9,207,81,7,15,0,8,103,0,8,39,0,9,175,0,8,7,0,8,135,0,8,71,0,9,239,80,7,9,0,8,95,0,8,31,0,9,159,84,7,99,0,8,127,0,8,63,0,9,223,82,7,27,0,8,111,0,8,47,0,9,191,0,8,15,0,8,143,0,8,79,0,9,255],rtt=[80,5,1,87,5,257,83,5,17,91,5,4097,81,5,5,89,5,1025,85,5,65,93,5,16385,80,5,3,88,5,513,84,5,33,92,5,8193,82,5,9,90,5,2049,86,5,129,192,5,24577,80,5,2,87,5,385,83,5,25,91,5,6145,81,5,7,89,5,1537,85,5,97,93,5,24577,80,5,4,88,5,769,84,5,49,92,5,12289,82,5,13,90,5,3073,86,5,193,192,5,24577],stt=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],att=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,112,112],ctt=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],ltt=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],wy=15;function U7(){let e=this,t,n,i,o,r,s;function a(u,f,d,p,g,m,x,b,T,C,A){let S,v,D,R,O,M,N,_,E,w,I,L,B,H,V;w=0,O=d;do i[u[f+w]]++,w++,O--;while(O!==0);if(i[0]==d)return x[0]=-1,b[0]=0,0;for(_=b[0],M=1;M<=wy&&i[M]===0;M++);for(N=M,_<M&&(_=M),O=wy;O!==0&&i[O]===0;O--);for(D=O,_>O&&(_=O),b[0]=_,H=1<<M;M<O;M++,H<<=1)if((H-=i[M])<0)return-3;if((H-=i[O])<0)return-3;for(i[O]+=H,s[1]=M=0,w=1,B=2;--O!==0;)s[B]=M+=i[w],B++,w++;O=0,w=0;do(M=u[f+w])!==0&&(A[s[M]++]=O),w++;while(++O<d);for(d=s[D],s[0]=O=0,w=0,R=-1,L=-_,r[0]=0,I=0,V=0;N<=D;N++)for(S=i[N];S--!==0;){for(;N>L+_;){if(R++,L+=_,V=D-L,V=V>_?_:V,(v=1<<(M=N-L))>S+1&&(v-=S+1,B=N,M<V))for(;++M<V&&!((v<<=1)<=i[++B]);)v-=i[B];if(V=1<<M,C[0]+V>whe)return-3;r[R]=I=C[0],C[0]+=V,R!==0?(s[R]=O,o[0]=M,o[1]=_,M=O>>>L-_,o[2]=I-r[R-1]-M,T.set(o,(r[R-1]+M)*3)):x[0]=I}for(o[1]=N-L,w>=d?o[0]=192:A[w]<p?(o[0]=A[w]<256?0:96,o[2]=A[w++]):(o[0]=m[A[w]-p]+16+64,o[2]=g[A[w++]-p]),v=1<<N-L,M=O>>>L;M<V;M+=v)T.set(o,(I+M)*3);for(M=1<<N-1;O&M;M>>>=1)O^=M;for(O^=M,E=(1<<L)-1;(O&E)!=s[R];)R--,L-=_,E=(1<<L)-1}return H!==0&&D!=1?-5:0}function c(u){let f;for(t||(t=[],n=[],i=new Int32Array(wy+1),o=[],r=new Int32Array(wy),s=new Int32Array(wy+1)),n.length<u&&(n=[]),f=0;f<u;f++)n[f]=0;for(f=0;f<wy+1;f++)i[f]=0;for(f=0;f<3;f++)o[f]=0;r.set(i.subarray(0,wy),0),s.set(i.subarray(0,wy+1),0)}e.inflate_trees_bits=function(u,f,d,p,g){let m;return c(19),t[0]=0,m=a(u,0,19,19,null,null,d,f,p,t,n),m==-3?g.msg="oversubscribed dynamic bit lengths tree":(m==-5||f[0]===0)&&(g.msg="incomplete dynamic bit lengths tree",m=-3),m},e.inflate_trees_dynamic=function(u,f,d,p,g,m,x,b,T){let C;return c(288),t[0]=0,C=a(d,0,u,257,stt,att,m,p,b,t,n),C!=0||p[0]===0?(C==-3?T.msg="oversubscribed literal/length tree":C!=-4&&(T.msg="incomplete literal/length tree",C=-3),C):(c(288),C=a(d,u,f,0,ctt,ltt,x,g,b,t,n),C!=0||g[0]===0&&u>257?(C==-3?T.msg="oversubscribed distance tree":C==-5?(T.msg="incomplete distance tree",C=-3):C!=-4&&(T.msg="empty distance tree with lengths",C=-3),C):0)}}U7.inflate_trees_fixed=function(e,t,n,i){return e[0]=ntt,t[0]=itt,n[0]=ott,i[0]=rtt,0};var Lk=0,che=1,lhe=2,uhe=3,fhe=4,dhe=5,hhe=6,B7=7,mhe=8,Nk=9;function utt(){let e=this,t,n=0,i,o=0,r=0,s=0,a=0,c=0,u=0,f=0,d,p=0,g,m=0;function x(b,T,C,A,S,v,D,R){let O,M,N,_,E,w,I,L,B,H,V,G,k,W,Y,J;I=R.next_in_index,L=R.avail_in,E=D.bitb,w=D.bitk,B=D.write,H=B<D.read?D.read-B-1:D.end-B,V=Tu[b],G=Tu[T];do{for(;w<20;)L--,E|=(R.read_byte(I++)&255)<<w,w+=8;if(O=E&V,M=C,N=A,J=(N+O)*3,(_=M[J])===0){E>>=M[J+1],w-=M[J+1],D.win[B++]=M[J+2],H--;continue}do{if(E>>=M[J+1],w-=M[J+1],_&16){for(_&=15,k=M[J+2]+(E&Tu[_]),E>>=_,w-=_;w<15;)L--,E|=(R.read_byte(I++)&255)<<w,w+=8;O=E&G,M=S,N=v,J=(N+O)*3,_=M[J];do if(E>>=M[J+1],w-=M[J+1],_&16){for(_&=15;w<_;)L--,E|=(R.read_byte(I++)&255)<<w,w+=8;if(W=M[J+2]+(E&Tu[_]),E>>=_,w-=_,H-=k,B>=W)Y=B-W,B-Y>0&&2>B-Y?(D.win[B++]=D.win[Y++],D.win[B++]=D.win[Y++],k-=2):(D.win.set(D.win.subarray(Y,Y+2),B),B+=2,Y+=2,k-=2);else{Y=B-W;do Y+=D.end;while(Y<0);if(_=D.end-Y,k>_){if(k-=_,B-Y>0&&_>B-Y)do D.win[B++]=D.win[Y++];while(--_!==0);else D.win.set(D.win.subarray(Y,Y+_),B),B+=_,Y+=_,_=0;Y=0}}if(B-Y>0&&k>B-Y)do D.win[B++]=D.win[Y++];while(--k!==0);else D.win.set(D.win.subarray(Y,Y+k),B),B+=k,Y+=k,k=0;break}else if(!(_&64))O+=M[J+2],O+=E&Tu[_],J=(N+O)*3,_=M[J];else return R.msg="invalid distance code",k=R.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=E,D.bitk=w,R.avail_in=L,R.total_in+=I-R.next_in_index,R.next_in_index=I,D.write=B,-3;while(!0);break}if(_&64)return _&32?(k=R.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=E,D.bitk=w,R.avail_in=L,R.total_in+=I-R.next_in_index,R.next_in_index=I,D.write=B,1):(R.msg="invalid literal/length code",k=R.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=E,D.bitk=w,R.avail_in=L,R.total_in+=I-R.next_in_index,R.next_in_index=I,D.write=B,-3);if(O+=M[J+2],O+=E&Tu[_],J=(N+O)*3,(_=M[J])===0){E>>=M[J+1],w-=M[J+1],D.win[B++]=M[J+2],H--;break}}while(!0)}while(H>=258&&L>=10);return k=R.avail_in-L,k=w>>3<k?w>>3:k,L+=k,I-=k,w-=k<<3,D.bitb=E,D.bitk=w,R.avail_in=L,R.total_in+=I-R.next_in_index,R.next_in_index=I,D.write=B,0}e.init=function(b,T,C,A,S,v){t=Lk,u=b,f=T,d=C,p=A,g=S,m=v,i=null},e.proc=function(b,T,C){let A,S,v,D=0,R=0,O=0,M,N,_,E;for(O=T.next_in_index,M=T.avail_in,D=b.bitb,R=b.bitk,N=b.write,_=N<b.read?b.read-N-1:b.end-N;;)switch(t){case Lk:if(_>=258&&M>=10&&(b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,C=x(u,f,d,p,g,m,b,T),O=T.next_in_index,M=T.avail_in,D=b.bitb,R=b.bitk,N=b.write,_=N<b.read?b.read-N-1:b.end-N,C!=0)){t=C==1?B7:Nk;break}r=u,i=d,o=p,t=che;case che:for(A=r;R<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);M--,D|=(T.read_byte(O++)&255)<<R,R+=8}if(S=(o+(D&Tu[A]))*3,D>>>=i[S+1],R-=i[S+1],v=i[S],v===0){s=i[S+2],t=hhe;break}if(v&16){a=v&15,n=i[S+2],t=lhe;break}if(!(v&64)){r=v,o=S/3+i[S+2];break}if(v&32){t=B7;break}return t=Nk,T.msg="invalid literal/length code",C=-3,b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);case lhe:for(A=a;R<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);M--,D|=(T.read_byte(O++)&255)<<R,R+=8}n+=D&Tu[A],D>>=A,R-=A,r=f,i=g,o=m,t=uhe;case uhe:for(A=r;R<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);M--,D|=(T.read_byte(O++)&255)<<R,R+=8}if(S=(o+(D&Tu[A]))*3,D>>=i[S+1],R-=i[S+1],v=i[S],v&16){a=v&15,c=i[S+2],t=fhe;break}if(!(v&64)){r=v,o=S/3+i[S+2];break}return t=Nk,T.msg="invalid distance code",C=-3,b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);case fhe:for(A=a;R<A;){if(M!==0)C=0;else return b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);M--,D|=(T.read_byte(O++)&255)<<R,R+=8}c+=D&Tu[A],D>>=A,R-=A,t=dhe;case dhe:for(E=N-c;E<0;)E+=b.end;for(;n!==0;){if(_===0&&(N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0&&(b.write=N,C=b.inflate_flush(T,C),N=b.write,_=N<b.read?b.read-N-1:b.end-N,N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0)))return b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);b.win[N++]=b.win[E++],_--,E==b.end&&(E=0),n--}t=Lk;break;case hhe:if(_===0&&(N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0&&(b.write=N,C=b.inflate_flush(T,C),N=b.write,_=N<b.read?b.read-N-1:b.end-N,N==b.end&&b.read!==0&&(N=0,_=N<b.read?b.read-N-1:b.end-N),_===0)))return b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);C=0,b.win[N++]=s,_--,t=Lk;break;case B7:if(R>7&&(R-=8,M++,O--),b.write=N,C=b.inflate_flush(T,C),N=b.write,_=N<b.read?b.read-N-1:b.end-N,b.read!=b.write)return b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);t=mhe;case mhe:return C=1,b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);case Nk:return C=-3,b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C);default:return C=-2,b.bitb=D,b.bitk=R,T.avail_in=M,T.total_in+=O-T.next_in_index,T.next_in_index=O,b.write=N,b.inflate_flush(T,C)}},e.free=function(){}}var phe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],_E=0,k7=1,_he=2,ghe=3,yhe=4,xhe=5,Fk=6,Bk=7,bhe=8,ub=9;function ftt(e,t){let n=this,i=_E,o=0,r=0,s=0,a,c=[0],u=[0],f=new utt,d=0,p=new Int32Array(whe*3),g=0,m=new U7;n.bitk=0,n.bitb=0,n.win=new Uint8Array(t),n.end=t,n.read=0,n.write=0,n.reset=function(x,b){b&&(b[0]=g),i==Fk&&f.free(x),i=_E,n.bitk=0,n.bitb=0,n.read=n.write=0},n.reset(e,null),n.inflate_flush=function(x,b){let T,C,A;return C=x.next_out_index,A=n.read,T=(A<=n.write?n.write:n.end)-A,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(A,A+T),C),C+=T,A+=T,A==n.end&&(A=0,n.write==n.end&&(n.write=0),T=n.write-A,T>x.avail_out&&(T=x.avail_out),T!==0&&b==-5&&(b=0),x.avail_out-=T,x.total_out+=T,x.next_out.set(n.win.subarray(A,A+T),C),C+=T,A+=T),x.next_out_index=C,n.read=A,b},n.proc=function(x,b){let T,C,A,S,v,D,R,O;for(S=x.next_in_index,v=x.avail_in,C=n.bitb,A=n.bitk,D=n.write,R=D<n.read?n.read-D-1:n.end-D;;){let M,N,_,E,w,I,L,B;switch(i){case _E:for(;A<3;){if(v!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);v--,C|=(x.read_byte(S++)&255)<<A,A+=8}switch(T=C&7,d=T&1,T>>>1){case 0:C>>>=3,A-=3,T=A&7,C>>>=T,A-=T,i=k7;break;case 1:M=[],N=[],_=[[]],E=[[]],U7.inflate_trees_fixed(M,N,_,E),f.init(M[0],N[0],_[0],0,E[0],0),C>>>=3,A-=3,i=Fk;break;case 2:C>>>=3,A-=3,i=ghe;break;case 3:return C>>>=3,A-=3,i=ub,x.msg="invalid block type",b=-3,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b)}break;case k7:for(;A<32;){if(v!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);v--,C|=(x.read_byte(S++)&255)<<A,A+=8}if((~C>>>16&65535)!=(C&65535))return i=ub,x.msg="invalid stored block lengths",b=-3,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);o=C&65535,C=A=0,i=o!==0?_he:d!==0?Bk:_E;break;case _he:if(v===0||R===0&&(D==n.end&&n.read!==0&&(D=0,R=D<n.read?n.read-D-1:n.end-D),R===0&&(n.write=D,b=n.inflate_flush(x,b),D=n.write,R=D<n.read?n.read-D-1:n.end-D,D==n.end&&n.read!==0&&(D=0,R=D<n.read?n.read-D-1:n.end-D),R===0)))return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);if(b=0,T=o,T>v&&(T=v),T>R&&(T=R),n.win.set(x.read_buf(S,T),D),S+=T,v-=T,D+=T,R-=T,(o-=T)!==0)break;i=d!==0?Bk:_E;break;case ghe:for(;A<14;){if(v!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);v--,C|=(x.read_byte(S++)&255)<<A,A+=8}if(r=T=C&16383,(T&31)>29||(T>>5&31)>29)return i=ub,x.msg="too many length or distance symbols",b=-3,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);if(T=258+(T&31)+(T>>5&31),!a||a.length<T)a=[];else for(O=0;O<T;O++)a[O]=0;C>>>=14,A-=14,s=0,i=yhe;case yhe:for(;s<4+(r>>>10);){for(;A<3;){if(v!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);v--,C|=(x.read_byte(S++)&255)<<A,A+=8}a[phe[s++]]=C&7,C>>>=3,A-=3}for(;s<19;)a[phe[s++]]=0;if(c[0]=7,T=m.inflate_trees_bits(a,c,u,p,x),T!=0)return b=T,b==-3&&(a=null,i=ub),n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);s=0,i=xhe;case xhe:for(;T=r,!(s>=258+(T&31)+(T>>5&31));){let H,V;for(T=c[0];A<T;){if(v!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);v--,C|=(x.read_byte(S++)&255)<<A,A+=8}if(T=p[(u[0]+(C&Tu[T]))*3+1],V=p[(u[0]+(C&Tu[T]))*3+2],V<16)C>>>=T,A-=T,a[s++]=V;else{for(O=V==18?7:V-14,H=V==18?11:3;A<T+O;){if(v!==0)b=0;else return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);v--,C|=(x.read_byte(S++)&255)<<A,A+=8}if(C>>>=T,A-=T,H+=C&Tu[O],C>>>=O,A-=O,O=s,T=r,O+H>258+(T&31)+(T>>5&31)||V==16&&O<1)return a=null,i=ub,x.msg="invalid bit length repeat",b=-3,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);V=V==16?a[O-1]:0;do a[O++]=V;while(--H!==0);s=O}}if(u[0]=-1,w=[],I=[],L=[],B=[],w[0]=9,I[0]=6,T=r,T=m.inflate_trees_dynamic(257+(T&31),1+(T>>5&31),a,w,I,L,B,p,x),T!=0)return T==-3&&(a=null,i=ub),b=T,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);f.init(w[0],I[0],p,L[0],p,B[0]),i=Fk;case Fk:if(n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,(b=f.proc(n,x,b))!=1)return n.inflate_flush(x,b);if(b=0,f.free(x),S=x.next_in_index,v=x.avail_in,C=n.bitb,A=n.bitk,D=n.write,R=D<n.read?n.read-D-1:n.end-D,d===0){i=_E;break}i=Bk;case Bk:if(n.write=D,b=n.inflate_flush(x,b),D=n.write,R=D<n.read?n.read-D-1:n.end-D,n.read!=n.write)return n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);i=bhe;case bhe:return b=1,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);case ub:return b=-3,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b);default:return b=-2,n.bitb=C,n.bitk=A,x.avail_in=v,x.total_in+=S-x.next_in_index,x.next_in_index=S,n.write=D,n.inflate_flush(x,b)}}},n.free=function(x){n.reset(x,null),n.win=null,p=null},n.set_dictionary=function(x,b,T){n.win.set(x.subarray(b,b+T),0),n.read=n.write=T},n.sync_point=function(){return i==k7?1:0}}var dtt=32,htt=8,mtt=0,The=1,Che=2,Ahe=3,Ehe=4,She=5,V7=6,$D=7,vhe=12,Dy=13,ptt=[0,0,255,255];function _tt(){let e=this;e.mode=0,e.method=0,e.was=[0],e.need=0,e.marker=0,e.wbits=0;function t(n){return!n||!n.istate?-2:(n.total_in=n.total_out=0,n.msg=null,n.istate.mode=$D,n.istate.blocks.reset(n,null),0)}e.inflateEnd=function(n){return e.blocks&&e.blocks.free(n),e.blocks=null,0},e.inflateInit=function(n,i){return n.msg=null,e.blocks=null,i<8||i>15?(e.inflateEnd(n),-2):(e.wbits=i,n.istate.blocks=new ftt(n,1<<i),t(n),0)},e.inflate=function(n,i){let o,r;if(!n||!n.istate||!n.next_in)return-2;let s=n.istate;for(i=i==ttt?-5:0,o=-5;;)switch(s.mode){case mtt:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,((s.method=n.read_byte(n.next_in_index++))&15)!=htt){s.mode=Dy,n.msg="unknown compression method",s.marker=5;break}if((s.method>>4)+8>s.wbits){s.mode=Dy,n.msg="invalid win size",s.marker=5;break}s.mode=The;case The:if(n.avail_in===0)return o;if(o=i,n.avail_in--,n.total_in++,r=n.read_byte(n.next_in_index++)&255,((s.method<<8)+r)%31!==0){s.mode=Dy,n.msg="incorrect header check",s.marker=5;break}if(!(r&dtt)){s.mode=$D;break}s.mode=Che;case Che:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need=(n.read_byte(n.next_in_index++)&255)<<24&4278190080,s.mode=Ahe;case Ahe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<16&16711680,s.mode=Ehe;case Ehe:if(n.avail_in===0)return o;o=i,n.avail_in--,n.total_in++,s.need+=(n.read_byte(n.next_in_index++)&255)<<8&65280,s.mode=She;case She:return n.avail_in===0?o:(o=i,n.avail_in--,n.total_in++,s.need+=n.read_byte(n.next_in_index++)&255,s.mode=V7,2);case V7:return s.mode=Dy,n.msg="need dictionary",s.marker=0,-2;case $D:if(o=s.blocks.proc(n,o),o==-3){s.mode=Dy,s.marker=0;break}if(o==0&&(o=i),o!=1)return o;o=i,s.blocks.reset(n,s.was),s.mode=vhe;case vhe:return n.avail_in=0,1;case Dy:return-3;default:return-2}},e.inflateSetDictionary=function(n,i,o){let r=0,s=o;if(!n||!n.istate||n.istate.mode!=V7)return-2;let a=n.istate;return s>=1<<a.wbits&&(s=(1<<a.wbits)-1,r=o-s),a.blocks.set_dictionary(i,r,s),a.mode=$D,0},e.inflateSync=function(n){let i,o,r,s,a;if(!n||!n.istate)return-2;let c=n.istate;if(c.mode!=Dy&&(c.mode=Dy,c.marker=0),(i=n.avail_in)===0)return-5;for(o=n.next_in_index,r=c.marker;i!==0&&r<4;)n.read_byte(o)==ptt[r]?r++:n.read_byte(o)!==0?r=0:r=4-r,o++,i--;return n.total_in+=o-n.next_in_index,n.next_in_index=o,n.avail_in=i,c.marker=r,r!=4?-3:(s=n.total_in,a=n.total_out,t(n),n.total_in=s,n.total_out=a,c.mode=$D,0)},e.inflateSyncPoint=function(n){return!n||!n.istate||!n.istate.blocks?-2:n.istate.blocks.sync_point()}}function Dhe(){}Dhe.prototype={inflateInit(e){let t=this;return t.istate=new _tt,e||(e=15),t.istate.inflateInit(t,e)},inflate(e){let t=this;return t.istate?t.istate.inflate(t,e):-2},inflateEnd(){let e=this;if(!e.istate)return-2;let t=e.istate.inflateEnd(e);return e.istate=null,t},inflateSync(){let e=this;return e.istate?e.istate.inflateSync(e):-2},inflateSetDictionary(e,t){let n=this;return n.istate?n.istate.inflateSetDictionary(n,e,t):-2},read_byte(e){return this.next_in[e]},read_buf(e,t){return this.next_in.subarray(e,e+t)}};function Ihe(e){let t=this,n=new Dhe,i=e&&e.chunkSize?Math.floor(e.chunkSize*2):128*1024,o=ett,r=new Uint8Array(i),s=!1;n.inflateInit(),n.next_out=r,t.append=function(a,c){let u=[],f,d,p=0,g=0,m=0;if(a.length!==0){n.next_in_index=0,n.next_in=a,n.avail_in=a.length;do{if(n.next_out_index=0,n.avail_out=i,n.avail_in===0&&!s&&(n.next_in_index=0,s=!0),f=n.inflate(o),s&&f===-5){if(n.avail_in!==0)throw new Error("inflating: bad input")}else if(f!==0&&f!==1)throw new Error("inflating: "+n.msg);if((s||f===1)&&n.avail_in===a.length)throw new Error("inflating: bad input");n.next_out_index&&(n.next_out_index===i?u.push(new Uint8Array(r)):u.push(r.subarray(0,n.next_out_index))),m+=n.next_out_index,c&&n.next_in_index>0&&n.next_in_index!=p&&(c(n.next_in_index),p=n.next_in_index)}while(n.avail_in>0||n.avail_out===0);return u.length>1?(d=new Uint8Array(m),u.forEach(function(x){d.set(x,g),g+=x.length})):d=u[0]?new Uint8Array(u[0]):new Uint8Array,d}},t.flush=function(){n.inflateEnd()}}var gE="/",z7=new Date(2107,11,31),H7=new Date(1980,0,1),Zi=void 0,Cu="undefined",c_="function";var QD=class{constructor(t){return class extends TransformStream{constructor(n,i){let o=new t(i);super({transform(r,s){s.enqueue(o.append(r))},flush(r){let s=o.flush();s&&r.enqueue(s)}})}}}};var gtt=64,Phe=2;try{typeof navigator!=Cu&&navigator.hardwareConcurrency&&(Phe=navigator.hardwareConcurrency)}catch{}var ytt={chunkSize:512*1024,maxWorkers:Phe,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:Zi,CompressionStreamNative:typeof CompressionStream!=Cu&&CompressionStream,DecompressionStreamNative:typeof DecompressionStream!=Cu&&DecompressionStream},Py=Object.assign({},ytt);function JD(){return Py}function kk(e){return Math.max(e.chunkSize,gtt)}function yE(e){let{baseURL:t,chunkSize:n,maxWorkers:i,terminateWorkerTimeout:o,useCompressionStream:r,useWebWorkers:s,Deflate:a,Inflate:c,CompressionStream:u,DecompressionStream:f,workerScripts:d}=e;if(Iy("baseURL",t),Iy("chunkSize",n),Iy("maxWorkers",i),Iy("terminateWorkerTimeout",o),Iy("useCompressionStream",r),Iy("useWebWorkers",s),a&&(Py.CompressionStream=new QD(a)),c&&(Py.DecompressionStream=new QD(c)),Iy("CompressionStream",u),Iy("DecompressionStream",f),d!==Zi){let{deflate:p,inflate:g}=d;if((p||g)&&(Py.workerScripts||(Py.workerScripts={})),p){if(!Array.isArray(p))throw new Error("workerScripts.deflate must be an array");Py.workerScripts.deflate=p}if(g){if(!Array.isArray(g))throw new Error("workerScripts.inflate must be an array");Py.workerScripts.inflate=g}}}function Iy(e,t){t!==Zi&&(Py[e]=t)}var Ohe=[];for(let e=0;e<256;e++){let t=e;for(let n=0;n<8;n++)t&1?t=t>>>1^3988292384:t=t>>>1;Ohe[e]=t}var l_=class{constructor(t){this.crc=t||-1}append(t){let n=this.crc|0;for(let i=0,o=t.length|0;i<o;i++)n=n>>>8^Ohe[(n^t[i])&255];this.crc=n}get(){return~this.crc}};var eI=class extends TransformStream{constructor(){let t,n=new l_;super({transform(i,o){n.append(i),o.enqueue(i)},flush(){let i=new Uint8Array(4);new DataView(i.buffer).setUint32(0,n.get()),t.value=i}}),t=this}};function xE(e){if(typeof TextEncoder==Cu){e=unescape(encodeURIComponent(e));let t=new Uint8Array(e.length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}else return new TextEncoder().encode(e)}var qc={concat(e,t){if(e.length===0||t.length===0)return e.concat(t);let n=e[e.length-1],i=qc.getPartial(n);return i===32?e.concat(t):qc._shiftRight(t,i,n|0,e.slice(0,e.length-1))},bitLength(e){let t=e.length;if(t===0)return 0;let n=e[t-1];return(t-1)*32+qc.getPartial(n)},clamp(e,t){if(e.length*32<t)return e;e=e.slice(0,Math.ceil(t/32));let n=e.length;return t=t&31,n>0&&t&&(e[n-1]=qc.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial(e,t,n){return e===32?t:(n?t|0:t<<32-e)+e*1099511627776},getPartial(e){return Math.round(e/1099511627776)||32},_shiftRight(e,t,n,i){for(i===void 0&&(i=[]);t>=32;t-=32)i.push(n),n=0;if(t===0)return i.concat(e);for(let s=0;s<e.length;s++)i.push(n|e[s]>>>t),n=e[s]<<32-t;let o=e.length?e[e.length-1]:0,r=qc.getPartial(o);return i.push(qc.partial(t+r&31,t+r>32?n:i.pop(),1)),i}},tI={bytes:{fromBits(e){let n=qc.bitLength(e)/8,i=new Uint8Array(n),o;for(let r=0;r<n;r++)r&3||(o=e[r/4]),i[r]=o>>>24,o<<=8;return i},toBits(e){let t=[],n,i=0;for(n=0;n<e.length;n++)i=i<<8|e[n],(n&3)===3&&(t.push(i),i=0);return n&3&&t.push(qc.partial(8*(n&3),i)),t}}},Rhe={};Rhe.sha1=class{constructor(e){let t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){let e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){let t=this;typeof e=="string"&&(e=tI.utf8String.toBits(e));let n=t._buffer=qc.concat(t._buffer,e),i=t._length,o=t._length=i+qc.bitLength(e);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");let r=new Uint32Array(n),s=0;for(let a=t.blockSize+i-(t.blockSize+i&t.blockSize-1);a<=o;a+=t.blockSize)t._block(r.subarray(16*s,16*(s+1))),s+=1;return n.splice(0,16*s),t}finalize(){let e=this,t=e._buffer,n=e._h;t=qc.concat(t,[qc.partial(1,1)]);for(let i=t.length+2;i&15;i++)t.push(0);for(t.push(Math.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,i){if(e<=19)return t&n|~t&i;if(e<=39)return t^n^i;if(e<=59)return t&n|t&i|n&i;if(e<=79)return t^n^i}_S(e,t){return t<<e|t>>>32-e}_block(e){let t=this,n=t._h,i=Array(80);for(let u=0;u<16;u++)i[u]=e[u];let o=n[0],r=n[1],s=n[2],a=n[3],c=n[4];for(let u=0;u<=79;u++){u>=16&&(i[u]=t._S(1,i[u-3]^i[u-8]^i[u-14]^i[u-16]));let f=t._S(5,o)+t._f(u,r,s,a)+c+i[u]+t._key[Math.floor(u/20)]|0;c=a,a=s,s=t._S(30,r),r=o,o=f}n[0]=n[0]+o|0,n[1]=n[1]+r|0,n[2]=n[2]+s|0,n[3]=n[3]+a|0,n[4]=n[4]+c|0}};var G7={};G7.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let n=t._tables[0][4],i=t._tables[1],o=e.length,r,s,a,c=1;if(o!==4&&o!==6&&o!==8)throw new Error("invalid aes key size");for(t._key=[s=e.slice(0),a=[]],r=o;r<4*o+28;r++){let u=s[r-1];(r%o===0||o===8&&r%o===4)&&(u=n[u>>>24]<<24^n[u>>16&255]<<16^n[u>>8&255]<<8^n[u&255],r%o===0&&(u=u<<8^u>>>24^c<<24,c=c<<1^(c>>7)*283)),s[r]=s[r-o]^u}for(let u=0;r;u++,r--){let f=s[u&3?r:r-4];r<=4||u<4?a[u]=f:a[u]=i[0][n[f>>>24]]^i[1][n[f>>16&255]]^i[2][n[f>>8&255]]^i[3][n[f&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],n=e[4],i=t[4],o=[],r=[],s,a,c,u;for(let f=0;f<256;f++)r[(o[f]=f<<1^(f>>7)*283)^f]=f;for(let f=s=0;!n[f];f^=a||1,s=r[s]||1){let d=s^s<<1^s<<2^s<<3^s<<4;d=d>>8^d&255^99,n[f]=d,i[d]=f,u=o[c=o[a=o[f]]];let p=u*16843009^c*65537^a*257^f*16843008,g=o[d]*257^d*16843008;for(let m=0;m<4;m++)e[m][f]=g=g<<24^g>>>8,t[m][d]=p=p<<24^p>>>8}for(let f=0;f<5;f++)e[f]=e[f].slice(0),t[f]=t[f].slice(0)}_crypt(e,t){if(e.length!==4)throw new Error("invalid aes block size");let n=this._key[t],i=n.length/4-2,o=[0,0,0,0],r=this._tables[t],s=r[0],a=r[1],c=r[2],u=r[3],f=r[4],d=e[0]^n[0],p=e[t?3:1]^n[1],g=e[2]^n[2],m=e[t?1:3]^n[3],x=4,b,T,C;for(let A=0;A<i;A++)b=s[d>>>24]^a[p>>16&255]^c[g>>8&255]^u[m&255]^n[x],T=s[p>>>24]^a[g>>16&255]^c[m>>8&255]^u[d&255]^n[x+1],C=s[g>>>24]^a[m>>16&255]^c[d>>8&255]^u[p&255]^n[x+2],m=s[m>>>24]^a[d>>16&255]^c[p>>8&255]^u[g&255]^n[x+3],x+=4,d=b,p=T,g=C;for(let A=0;A<4;A++)o[t?3&-A:A]=f[d>>>24]<<24^f[p>>16&255]<<16^f[g>>8&255]<<8^f[m&255]^n[x++],b=d,d=p,p=g,g=m,m=b;return o}};var Mhe={getRandomValues(e){let t=new Uint32Array(e.buffer),n=i=>{let o=987654321,r=4294967295;return function(){return o=36969*(o&65535)+(o>>16)&r,i=18e3*(i&65535)+(i>>16)&r,(((o<<16)+i&r)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let i=0,o;i<e.length;i+=4){let r=n((o||Math.random())*4294967296);o=r()*987654071,t[i/4]=r()*4294967296|0}return e}},W7={};W7.ctrGladman=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if((e>>24&255)===255){let t=e>>16&255,n=e>>8&255,i=e&255;t===255?(t=0,n===255?(n=0,i===255?i=0:++i):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=i}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let i;if(!(i=t.length))return[];let o=qc.bitLength(t);for(let r=0;r<i;r+=4){this.incCounter(n);let s=e.encrypt(n);t[r]^=s[0],t[r+1]^=s[1],t[r+2]^=s[2],t[r+3]^=s[3]}return qc.clamp(t,o)}};var Oy={importKey(e){return new Oy.hmacSha1(tI.bytes.toBits(e))},pbkdf2(e,t,n,i){if(n=n||1e4,i<0||n<0)throw new Error("invalid params to pbkdf2");let o=(i>>5)+1<<2,r,s,a,c,u,f=new ArrayBuffer(o),d=new DataView(f),p=0,g=qc;for(t=tI.bytes.toBits(t),u=1;p<(o||1);u++){for(r=s=e.encrypt(g.concat(t,[u])),a=1;a<n;a++)for(s=e.encrypt(s),c=0;c<s.length;c++)r[c]^=s[c];for(a=0;p<(o||1)&&a<r.length;a++)d.setInt32(p,r[a]),p+=4}return f.slice(0,i/8)}};Oy.hmacSha1=class{constructor(e){let t=this,n=t._hash=Rhe.sha1,i=[[],[]];t._baseHash=[new n,new n];let o=t._baseHash[0].blockSize/32;e.length>o&&(e=new n().update(e).finalize());for(let r=0;r<o;r++)i[0][r]=e[r]^909522486,i[1][r]=e[r]^1549556828;t._baseHash[0].update(i[0]),t._baseHash[1].update(i[1]),t._resultHash=new n(t._baseHash[0])}reset(){let e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){let t=this;t._updated=!0,t._resultHash.update(e)}digest(){let e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}};var xtt=typeof crypto!=Cu&&typeof crypto.getRandomValues==c_,Ry="Invalid password",fb="Invalid signature",u_="zipjs-abort-check-password";function Vk(e){return xtt?crypto.getRandomValues(e):Mhe.getRandomValues(e)}var bE=16,btt="raw",Fhe={name:"PBKDF2"},Ttt={name:"HMAC"},Ctt="SHA-1",Att=Object.assign({hash:Ttt},Fhe),j7=Object.assign({iterations:1e3,hash:{name:Ctt}},Fhe),Ett=["deriveBits"],iI=[8,12,16],nI=[16,24,32],My=10,Stt=[0,0,0,0],Hk=typeof crypto!=Cu,sI=Hk&&crypto.subtle,Bhe=Hk&&typeof sI!=Cu,xm=tI.bytes,vtt=G7.aes,wtt=W7.ctrGladman,Dtt=Oy.hmacSha1,Lhe=Hk&&Bhe&&typeof sI.importKey==c_,Nhe=Hk&&Bhe&&typeof sI.deriveBits==c_,Uk=class extends TransformStream{constructor({password:t,rawPassword:n,signed:i,encryptionStrength:o,checkPasswordOnly:r}){super({start(){Object.assign(this,{ready:new Promise(s=>this.resolveReady=s),password:Uhe(t,n),signed:i,strength:o-1,pending:new Uint8Array})},async transform(s,a){let c=this,{password:u,strength:f,resolveReady:d,ready:p}=c;u?(await Itt(c,f,u,Vf(s,0,iI[f]+2)),s=Vf(s,iI[f]+2),r?a.error(new Error(u_)):d()):await p;let g=new Uint8Array(s.length-My-(s.length-My)%bE);a.enqueue(khe(c,s,g,0,My,!0))},async flush(s){let{signed:a,ctr:c,hmac:u,pending:f,ready:d}=this;if(u&&c){await d;let p=Vf(f,0,f.length-My),g=Vf(f,f.length-My),m=new Uint8Array;if(p.length){let x=rI(xm,p);u.update(x);let b=c.update(x);m=oI(xm,b)}if(a){let x=Vf(oI(xm,u.digest()),0,My);for(let b=0;b<My;b++)if(x[b]!=g[b])throw new Error(fb)}s.enqueue(m)}}})}},zk=class extends TransformStream{constructor({password:t,rawPassword:n,encryptionStrength:i}){let o;super({start(){Object.assign(this,{ready:new Promise(r=>this.resolveReady=r),password:Uhe(t,n),strength:i-1,pending:new Uint8Array})},async transform(r,s){let a=this,{password:c,strength:u,resolveReady:f,ready:d}=a,p=new Uint8Array;c?(p=await Ptt(a,u,c),f()):await d;let g=new Uint8Array(p.length+r.length-r.length%bE);g.set(p,0),s.enqueue(khe(a,r,g,p.length,0))},async flush(r){let{ctr:s,hmac:a,pending:c,ready:u}=this;if(a&&s){await u;let f=new Uint8Array;if(c.length){let d=s.update(rI(xm,c));a.update(d),f=oI(xm,d)}o.signature=oI(xm,a.digest()).slice(0,My),r.enqueue(q7(f,o.signature))}}}),o=this}};function khe(e,t,n,i,o,r){let{ctr:s,hmac:a,pending:c}=e,u=t.length-o;c.length&&(t=q7(c,t),n=Mtt(n,u-u%bE));let f;for(f=0;f<=u-bE;f+=bE){let d=rI(xm,Vf(t,f,f+bE));r&&a.update(d);let p=s.update(d);r||a.update(p),n.set(oI(xm,p),f+i)}return e.pending=Vf(t,f),n}async function Itt(e,t,n,i){let o=await Vhe(e,t,n,Vf(i,0,iI[t])),r=Vf(i,iI[t]);if(o[0]!=r[0]||o[1]!=r[1])throw new Error(Ry)}async function Ptt(e,t,n){let i=Vk(new Uint8Array(iI[t])),o=await Vhe(e,t,n,i);return q7(i,o)}async function Vhe(e,t,n,i){e.password=null;let o=await Ott(btt,n,Att,!1,Ett),r=await Rtt(Object.assign({salt:i},j7),o,8*(nI[t]*2+2)),s=new Uint8Array(r),a=rI(xm,Vf(s,0,nI[t])),c=rI(xm,Vf(s,nI[t],nI[t]*2)),u=Vf(s,nI[t]*2);return Object.assign(e,{keys:{key:a,authentication:c,passwordVerification:u},ctr:new wtt(new vtt(a),Array.from(Stt)),hmac:new Dtt(c)}),u}async function Ott(e,t,n,i,o){if(Lhe)try{return await sI.importKey(e,t,n,i,o)}catch{return Lhe=!1,Oy.importKey(t)}else return Oy.importKey(t)}async function Rtt(e,t,n){if(Nhe)try{return await sI.deriveBits(e,t,n)}catch{return Nhe=!1,Oy.pbkdf2(t,e.salt,j7.iterations,n)}else return Oy.pbkdf2(t,e.salt,j7.iterations,n)}function Uhe(e,t){return t===Zi?xE(e):t}function q7(e,t){let n=e;return e.length+t.length&&(n=new Uint8Array(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function Mtt(e,t){if(t&&t>e.length){let n=e;e=new Uint8Array(t),e.set(n,0)}return e}function Vf(e,t,n){return e.subarray(t,n)}function oI(e,t){return e.fromBits(t)}function rI(e,t){return e.toBits(t)}var TE=12,Gk=class extends TransformStream{constructor({password:t,passwordVerification:n,checkPasswordOnly:i}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Whe(this,t)},transform(o,r){let s=this;if(s.password){let a=zhe(s,o.subarray(0,TE));if(s.password=null,a[TE-1]!=s.passwordVerification)throw new Error(Ry);o=o.subarray(TE)}i?r.error(new Error(u_)):r.enqueue(zhe(s,o))}})}},Wk=class extends TransformStream{constructor({password:t,passwordVerification:n}){super({start(){Object.assign(this,{password:t,passwordVerification:n}),Whe(this,t)},transform(i,o){let r=this,s,a;if(r.password){r.password=null;let c=Vk(new Uint8Array(TE));c[TE-1]=r.passwordVerification,s=new Uint8Array(i.length+c.length),s.set(Hhe(r,c),0),a=TE}else s=new Uint8Array(i.length),a=0;s.set(Hhe(r,i),a),o.enqueue(s)}})}};function zhe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=jhe(e)^t[i],Y7(e,n[i]);return n}function Hhe(e,t){let n=new Uint8Array(t.length);for(let i=0;i<t.length;i++)n[i]=jhe(e)^t[i],Y7(e,t[i]);return n}function Whe(e,t){let n=[305419896,591751049,878082192];Object.assign(e,{keys:n,crcKey0:new l_(n[0]),crcKey2:new l_(n[2])});for(let i=0;i<t.length;i++)Y7(e,t.charCodeAt(i))}function Y7(e,t){let[n,i,o]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),i=Ghe(Math.imul(Ghe(i+qhe(n)),134775813)+1),e.crcKey2.append([i>>>24]),o=~e.crcKey2.get(),e.keys=[n,i,o]}function jhe(e){let t=e.keys[2]|2;return qhe(Math.imul(t,t^1)>>>8)}function qhe(e){return e&255}function Ghe(e){return e&4294967295}var Yhe="deflate-raw",jk=class extends TransformStream{constructor(t,{chunkSize:n,CompressionStream:i,CompressionStreamNative:o}){super({});let{compressed:r,encrypted:s,useCompressionStream:a,zipCrypto:c,signed:u,level:f}=t,d=this,p,g,m=Xhe(super.readable);(!s||c)&&u&&(p=new eI,m=bm(m,p)),r&&(m=Zhe(m,a,{level:f,chunkSize:n},o,i)),s&&(c?m=bm(m,new Wk(t)):(g=new zk(t),m=bm(m,g))),Khe(d,m,()=>{let x;s&&!c&&(x=g.signature),(!s||c)&&u&&(x=new DataView(p.value.buffer).getUint32(0)),d.signature=x})}},qk=class extends TransformStream{constructor(t,{chunkSize:n,DecompressionStream:i,DecompressionStreamNative:o}){super({});let{zipCrypto:r,encrypted:s,signed:a,signature:c,compressed:u,useCompressionStream:f}=t,d,p,g=Xhe(super.readable);s&&(r?g=bm(g,new Gk(t)):(p=new Uk(t),g=bm(g,p))),u&&(g=Zhe(g,f,{chunkSize:n},o,i)),(!s||r)&&a&&(d=new eI,g=bm(g,d)),Khe(this,g,()=>{if((!s||r)&&a){let m=new DataView(d.value.buffer);if(c!=m.getUint32(0,!1))throw new Error(fb)}})}};function Xhe(e){return bm(e,new TransformStream({transform(t,n){t&&t.length&&n.enqueue(t)}}))}function Khe(e,t,n){t=bm(t,new TransformStream({flush:n})),Object.defineProperty(e,"readable",{get(){return t}})}function Zhe(e,t,n,i,o){try{let r=t&&i?i:o;e=bm(e,new r(Yhe,n))}catch{if(t)try{e=bm(e,new o(Yhe,n))}catch{return e}else return e}return e}function bm(e,t){return e.pipeThrough(t)}var $he="message",Qhe="start",Jhe="pull",X7="data",eme="ack",K7="close",Kk="deflate",Zk="inflate";var Yk=class extends TransformStream{constructor(t,n){super({});let i=this,{codecType:o}=t,r;o.startsWith(Kk)?r=jk:o.startsWith(Zk)&&(r=qk);let s=0,a=0,c=new r(t,n),u=super.readable,f=new TransformStream({transform(p,g){p&&p.length&&(a+=p.length,g.enqueue(p))},flush(){Object.assign(i,{inputSize:a})}}),d=new TransformStream({transform(p,g){p&&p.length&&(s+=p.length,g.enqueue(p))},flush(){let{signature:p}=c;Object.assign(i,{signature:p,outputSize:s,inputSize:a})}});Object.defineProperty(i,"readable",{get(){return u.pipeThrough(f).pipeThrough(c).pipeThrough(d)}})}},Xk=class extends TransformStream{constructor(t){let n;super({transform:i,flush(o){n&&n.length&&o.enqueue(n)}});function i(o,r){if(n){let s=new Uint8Array(n.length+o.length);s.set(n),s.set(o,n.length),o=s,n=null}o.length>t?(r.enqueue(o.slice(0,t)),i(o.slice(t),r)):n=o}}};var ime=typeof Worker!=Cu;var CE=class{constructor(t,{readable:n,writable:i},{options:o,config:r,streamOptions:s,useWebWorkers:a,transferStreams:c,scripts:u},f){let{signal:d}=s;return Object.assign(t,{busy:!0,readable:n.pipeThrough(new Xk(r.chunkSize)).pipeThrough(new $7(n,s),{signal:d}),writable:i,options:Object.assign({},o),scripts:u,transferStreams:c,terminate(){return new Promise(p=>{let{worker:g,busy:m}=t;g?(m?t.resolveTerminated=p:(g.terminate(),p()),t.interface=null):p()})},onTaskFinished(){let{resolveTerminated:p}=t;p&&(t.resolveTerminated=null,t.terminated=!0,t.worker.terminate(),p()),t.busy=!1,f(t)}}),(a&&ime?Ltt:ome)(t,r)}},$7=class extends TransformStream{constructor(t,{onstart:n,onprogress:i,size:o,onend:r}){let s=0;super({async start(){n&&await Z7(n,o)},async transform(a,c){s+=a.length,i&&await Z7(i,s,o),c.enqueue(a)},async flush(){t.size=s,r&&await Z7(r,s)}})}};async function Z7(e,...t){try{await e(...t)}catch{}}function ome(e,t){return{run:()=>Ntt(e,t)}}function Ltt(e,t){let{baseURL:n,chunkSize:i}=t;if(!e.interface){let o;try{o=ktt(e.scripts[0],n,e)}catch{return ime=!1,ome(e,t)}Object.assign(e,{worker:o,interface:{run:()=>Ftt(e,{chunkSize:i})}})}return e.interface}async function Ntt({options:e,readable:t,writable:n,onTaskFinished:i},o){try{let r=new Yk(e,o);await t.pipeThrough(r).pipeTo(n,{preventClose:!0,preventAbort:!0});let{signature:s,inputSize:a,outputSize:c}=r;return{signature:s,inputSize:a,outputSize:c}}finally{i()}}async function Ftt(e,t){let n,i,o=new Promise((p,g)=>{n=p,i=g});Object.assign(e,{reader:null,writer:null,resolveResult:n,rejectResult:i,result:o});let{readable:r,options:s,scripts:a}=e,{writable:c,closed:u}=Btt(e.writable),f=$k({type:Qhe,scripts:a.slice(1),options:s,config:t,readable:r,writable:c},e);f||Object.assign(e,{reader:r.getReader(),writer:c.getWriter()});let d=await o;return f||await c.getWriter().close(),await u,d}function Btt(e){let t,n=new Promise(o=>t=o);return{writable:new WritableStream({async write(o){let r=e.getWriter();await r.ready,await r.write(o),r.releaseLock()},close(){t()},abort(o){return e.getWriter().abort(o)}}),closed:n}}var tme=!0,nme=!0;function ktt(e,t,n){let i={type:"module"},o,r;typeof e==c_&&(e=e());try{o=new URL(e,t)}catch{o=e}if(tme)try{r=new Worker(o)}catch{tme=!1,r=new Worker(o,i)}else r=new Worker(o,i);return r.addEventListener($he,s=>Vtt(s,n)),r}function $k(e,{worker:t,writer:n,onTaskFinished:i,transferStreams:o}){try{let{value:r,readable:s,writable:a}=e,c=[];if(r&&(r.byteLength<r.buffer.byteLength?e.value=r.buffer.slice(0,r.byteLength):e.value=r.buffer,c.push(e.value)),o&&nme?(s&&c.push(s),a&&c.push(a)):e.readable=e.writable=null,c.length)try{return t.postMessage(e,c),!0}catch{nme=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(r){throw n&&n.releaseLock(),i(),r}}async function Vtt({data:e},t){let{type:n,value:i,messageId:o,result:r,error:s}=e,{reader:a,writer:c,resolveResult:u,rejectResult:f,onTaskFinished:d}=t;try{if(s){let{message:g,stack:m,code:x,name:b}=s,T=new Error(g);Object.assign(T,{stack:m,code:x,name:b}),p(T)}else{if(n==Jhe){let{value:g,done:m}=await a.read();$k({type:X7,value:g,done:m,messageId:o},t)}n==X7&&(await c.ready,await c.write(new Uint8Array(i)),$k({type:eme,messageId:o},t)),n==K7&&p(null,r)}}catch(g){$k({type:K7,messageId:o},t),p(g)}function p(g,m){g?f(g):u(m),c&&c.releaseLock(),d()}}var db=[],Q7=[];var rme=0;async function Qk(e,t){let{options:n,config:i}=t,{transferStreams:o,useWebWorkers:r,useCompressionStream:s,codecType:a,compressed:c,signed:u,encrypted:f}=n,{workerScripts:d,maxWorkers:p}=i;t.transferStreams=o||o===Zi;let g=!c&&!u&&!f&&!t.transferStreams;return t.useWebWorkers=!g&&(r||r===Zi&&i.useWebWorkers),t.scripts=t.useWebWorkers&&d?d[a]:[],n.useCompressionStream=s||s===Zi&&i.useCompressionStream,(await m()).run();async function m(){let b=db.find(T=>!T.busy);if(b)return sme(b),new CE(b,e,t,x);if(db.length<p){let T={indexWorker:rme};return rme++,db.push(T),new CE(T,e,t,x)}else return new Promise(T=>Q7.push({resolve:T,stream:e,workerOptions:t}))}function x(b){if(Q7.length){let[{resolve:T,stream:C,workerOptions:A}]=Q7.splice(0,1);T(new CE(b,C,A,x))}else b.worker?(sme(b),Utt(b,t)):db=db.filter(T=>T!=b)}}function Utt(e,t){let{config:n}=t,{terminateWorkerTimeout:i}=n;Number.isFinite(i)&&i>=0&&(e.terminated?e.terminated=!1:e.terminateTimeout=setTimeout(async()=>{db=db.filter(o=>o!=e);try{await e.terminate()}catch{}},i))}function sme(e){let{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}var ztt="Writer iterator completed too soon",Htt="text/plain";var Gtt="Content-Type";var Wtt=64*1024,tq="writable",AE=class{constructor(){this.size=0}init(){this.initialized=!0}},Jk=class extends AE{get readable(){let t=this,{chunkSize:n=Wtt}=t,i=new ReadableStream({start(){this.chunkOffset=0},async pull(o){let{offset:r=0,size:s,diskNumberStart:a}=i,{chunkOffset:c}=this;o.enqueue(await La(t,r+c,Math.min(n,s-c),a)),c+n>s?o.close():this.chunkOffset+=n}});return i}},J7=class extends AE{constructor(){super();let t=this,n=new WritableStream({write(i){return t.writeUint8Array(i)}});Object.defineProperty(t,tq,{get(){return n}})}writeUint8Array(){}};var eV=class extends J7{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){let n=this,i=0,o=n.pending,r=n.pending.length;for(n.pending="",i=0;i<Math.floor((r+t.length)/3)*3-r;i++)o+=String.fromCharCode(t[i]);for(;i<t.length;i++)n.pending+=String.fromCharCode(t[i]);o.length>2?n.data+=btoa(o):n.pending=o}getData(){return this.data+btoa(this.pending)}},f_=class extends Jk{constructor(t){super(),Object.assign(this,{blob:t,size:t.size})}async readUint8Array(t,n){let i=this,o=t+n,s=await(t||o<i.size?i.blob.slice(t,o):i.blob).arrayBuffer();return s.byteLength>n&&(s=s.slice(t,o)),new Uint8Array(s)}},aI=class extends AE{constructor(t){super();let n=this,i=new TransformStream,o=[];t&&o.push([Gtt,t]),Object.defineProperty(n,tq,{get(){return i.writable}}),n.blob=new Response(i.readable,{headers:o}).blob()}getData(){return this.blob}},tV=class extends f_{constructor(t){super(new Blob([t],{type:Htt}))}},nV=class extends aI{constructor(t){super(t),Object.assign(this,{encoding:t,utf8:!t||t.toLowerCase()=="utf-8"})}async getData(){let{encoding:t,utf8:n}=this,i=await super.getData();if(i.text&&n)return i.text();{let o=new FileReader;return new Promise((r,s)=>{Object.assign(o,{onload:({target:a})=>r(a.result),onerror:()=>s(o.error)}),o.readAsText(i,t)})}}};var eq=class extends Jk{constructor(t){super(),this.readers=t}async init(){let t=this,{readers:n}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Promise.all(n.map(async(i,o)=>{await i.init(),o!=n.length-1&&(t.lastDiskOffset+=i.size),t.size+=i.size})),super.init()}async readUint8Array(t,n,i=0){let o=this,{readers:r}=this,s,a=i;a==-1&&(a=r.length-1);let c=t;for(;c>=r[a].size;)c-=r[a].size,a++;let u=r[a],f=u.size;if(c+n<=f)s=await La(u,c,n);else{let d=f-c;s=new Uint8Array(n),s.set(await La(u,c,d)),s.set(await o.readUint8Array(t+d,n-d,i),d)}return o.lastDiskNumber=Math.max(a,o.lastDiskNumber),s}},iV=class extends AE{constructor(t,n=4294967295){super();let i=this;Object.assign(i,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o,r,s,a=new WritableStream({async write(f){let{availableSize:d}=i;if(s)f.length>=d?(await c(f.slice(0,d)),await u(),i.diskOffset+=o.size,i.diskNumber++,s=null,await this.write(f.slice(d))):await c(f);else{let{value:p,done:g}=await t.next();if(g&&!p)throw new Error(ztt);o=p,o.size=0,o.maxSize&&(i.maxSize=o.maxSize),i.availableSize=i.maxSize,await Cm(o),r=p.writable,s=r.getWriter(),await this.write(f)}},async close(){await s.ready,await u()}});Object.defineProperty(i,tq,{get(){return a}});async function c(f){let d=f.length;d&&(await s.ready,await s.write(f),o.size+=d,i.size+=d,i.availableSize-=d)}async function u(){r.size=o.size,await s.close()}}};async function Cm(e,t){if(e.init&&!e.initialized)await e.init(t);else return Promise.resolve()}function oV(e){return Array.isArray(e)&&(e=new eq(e)),e instanceof ReadableStream&&(e={readable:e}),e}function rV(e){e.writable===Zi&&typeof e.next==c_&&(e=new iV(e)),e instanceof WritableStream&&(e={writable:e});let{writable:t}=e;return t.size===Zi&&(t.size=0),e instanceof iV||Object.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function La(e,t,n,i){return e.readUint8Array(t,n,i)}var ame="\0\u263A\u263B\u2665\u2666\u2663\u2660\u2022\u25D8\u25CB\u25D9\u2642\u2640\u266A\u266B\u263C\u25BA\u25C4\u2195\u203C\xB6\xA7\u25AC\u21A8\u2191\u2193\u2192\u2190\u221F\u2194\u25B2\u25BC !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0 ".split(""),jtt=ame.length==256;function cme(e){if(jtt){let t="";for(let n=0;n<e.length;n++)t+=ame[e[n]];return t}else return new TextDecoder().decode(e)}function cI(e,t){return t&&t.trim().toLowerCase()=="cp437"?cme(e):new TextDecoder(t).decode(e)}var nq="filename",iq="rawFilename",oq="comment",rq="rawComment",sq="uncompressedSize",aq="compressedSize",cq="offset",sV="diskNumberStart",EE="lastModDate",aV="rawLastModDate",lI="lastAccessDate",lme="rawLastAccessDate",uI="creationDate",ume="rawCreationDate",lq="internalFileAttribute",uq="externalFileAttribute",fq="msDosCompatible",dq="zip64",qtt=[nq,iq,aq,sq,EE,aV,oq,rq,lI,uI,cq,sV,sV,lq,uq,fq,dq,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"],Ly=class{constructor(t){qtt.forEach(n=>this[n]=t[n])}};var hq="File format is not recognized",Ztt="End of central directory not found",$tt="End of Zip64 central directory locator not found",Qtt="Central directory header not found",Jtt="Local file header not found",ent="Zip64 extra field not found",tnt="File contains encrypted entry",nnt="Encryption method not supported",fme="Compression method not supported",dme="Split zip file",hme="utf-8",mme="cp437",int=[[sq,4294967295],[aq,4294967295],[cq,4294967295],[sV,65535]],ont={[65535]:{getValue:fs,bytes:4},[4294967295]:{getValue:cV,bytes:8}},pV=class{constructor(t,n={}){Object.assign(this,{reader:oV(t),options:n,config:JD()})}async*getEntriesGenerator(t={}){let n=this,{reader:i}=n,{config:o}=n;if(await Cm(i),(i.size===Zi||!i.readUint8Array)&&(i=new f_(await new Response(i.readable).blob()),await Cm(i)),i.size<22)throw new Error(hq);i.chunkSize=kk(o);let r=await lnt(i,101010256,i.size,22,65535*16);if(!r){let N=await La(i,0,4),_=_a(N);throw fs(_)==134695760?new Error(dme):new Error(Ztt)}let s=_a(r),a=fs(s,12),c=fs(s,16),u=r.offset,f=pa(s,20),d=u+22+f,p=pa(s,4),g=i.lastDiskNumber||0,m=pa(s,6),x=pa(s,8),b=0,T=0;if(c==4294967295||a==4294967295||x==65535||m==65535){let N=await La(i,r.offset-20,20),_=_a(N);if(fs(_,0)==117853008){c=cV(_,8);let E=await La(i,c,56,-1),w=_a(E),I=r.offset-20-56;if(fs(w,0)!=101075792&&c!=I){let L=c;c=I,b=c-L,E=await La(i,c,56,-1),w=_a(E)}if(fs(w,0)!=101075792)throw new Error($tt);p==65535&&(p=fs(w,16)),m==65535&&(m=fs(w,20)),x==65535&&(x=cV(w,32)),a==4294967295&&(a=cV(w,40)),c-=a}}if(c>=i.size&&(b=i.size-c-a-22,c=i.size-a-22),g!=p)throw new Error(dme);if(c<0)throw new Error(hq);let C=0,A=await La(i,c,a,m),S=_a(A);if(a){let N=r.offset-a;if(fs(S,C)!=33639248&&c!=N){let _=c;c=N,b+=c-_,A=await La(i,c,a,m),S=_a(A)}}let v=r.offset-c-(i.lastDiskOffset||0);if(a!=v&&v>=0&&(a=v,A=await La(i,c,a,m),S=_a(A)),c<0||c>=i.size)throw new Error(hq);let D=Dl(n,t,"filenameEncoding"),R=Dl(n,t,"commentEncoding");for(let N=0;N<x;N++){let _=new pq(i,o,n.options);if(fs(S,C)!=33639248)throw new Error(Qtt);_me(_,S,C+6);let E=!!_.bitFlag.languageEncodingFlag,w=C+46,I=w+_.filenameLength,L=I+_.extraFieldLength,B=pa(S,C+4),H=(B&0)==0,V=A.subarray(w,I),G=pa(S,C+32),k=L+G,W=A.subarray(L,k),Y=E,J=E,j=H&&(SE(S,C+38)&16)==16,Z=fs(S,C+42)+b;Object.assign(_,{versionMadeBy:B,msDosCompatible:H,compressedSize:0,uncompressedSize:0,commentLength:G,directory:j,offset:Z,diskNumberStart:pa(S,C+34),internalFileAttribute:pa(S,C+36),externalFileAttribute:fs(S,C+38),rawFilename:V,filenameUTF8:Y,commentUTF8:J,rawExtraField:A.subarray(I,L)});let Q=Dl(n,t,"decodeText")||cI,he=Y?hme:D||mme,ye=J?hme:R||mme,re=Q(V,he);re===Zi&&(re=cI(V,he));let _e=Q(W,ye);_e===Zi&&(_e=cI(W,ye)),Object.assign(_,{rawComment:W,filename:re,comment:_e,directory:j||re.endsWith(gE)}),T=Math.max(Z,T),await gme(_,_,S,C+6);let xe=new Ly(_);xe.getData=(De,Ne)=>_.getData(De,xe,Ne),C=k;let{onprogress:Ie}=t;if(Ie)try{await Ie(N+1,x,new Ly(_))}catch{}yield xe}let O=Dl(n,t,"extractPrependedData"),M=Dl(n,t,"extractAppendedData");return O&&(n.prependedData=T>0?await La(i,0,T):new Uint8Array),n.comment=f?await La(i,u+22,f):new Uint8Array,M&&(n.appendedData=d<i.size?await La(i,d,i.size-d):new Uint8Array),!0}async getEntries(t={}){let n=[];for await(let i of this.getEntriesGenerator(t))n.push(i);return n}async close(){}};var pq=class{constructor(t,n,i){Object.assign(this,{reader:t,config:n,options:i})}async getData(t,n,i={}){let o=this,{reader:r,offset:s,diskNumberStart:a,extraFieldAES:c,compressionMethod:u,config:f,bitFlag:d,signature:p,rawLastModDate:g,uncompressedSize:m,compressedSize:x}=o,b=n.localDirectory={},T=await La(r,s,30,a),C=_a(T),A=Dl(o,i,"password"),S=Dl(o,i,"rawPassword");if(A=A&&A.length&&A,S=S&&S.length&&S,c&&c.originalCompressionMethod!=99)throw new Error(fme);if(u!=0&&u!=8)throw new Error(fme);if(fs(C,0)!=67324752)throw new Error(Jtt);_me(b,C,4),b.rawExtraField=b.extraFieldLength?await La(r,s+30+b.filenameLength,b.extraFieldLength,a):new Uint8Array,await gme(o,b,C,4,!0),Object.assign(n,{lastAccessDate:b.lastAccessDate,creationDate:b.creationDate});let v=o.encrypted&&b.encrypted,D=v&&!c;if(v){if(!D&&c.strength===Zi)throw new Error(nnt);if(!A&&!S)throw new Error(tnt)}let R=s+30+b.filenameLength+b.extraFieldLength,O=x,M=r.readable;Object.assign(M,{diskNumberStart:a,offset:R,size:O});let N=Dl(o,i,"signal"),_=Dl(o,i,"checkPasswordOnly");_&&(t=new WritableStream),t=rV(t),await Cm(t,m);let{writable:E}=t,{onstart:w,onprogress:I,onend:L}=i,B={options:{codecType:Zk,password:A,rawPassword:S,zipCrypto:D,encryptionStrength:c&&c.strength,signed:Dl(o,i,"checkSignature"),passwordVerification:D&&(d.dataDescriptor?g>>>8&255:p>>>24&255),signature:p,compressed:u!=0,encrypted:v,useWebWorkers:Dl(o,i,"useWebWorkers"),useCompressionStream:Dl(o,i,"useCompressionStream"),transferStreams:Dl(o,i,"transferStreams"),checkPasswordOnly:_},config:f,streamOptions:{signal:N,size:O,onstart:w,onprogress:I,onend:L}},H=0;try{({outputSize:H}=await Qk({readable:M,writable:E},B))}catch(V){if(!_||V.message!=u_)throw V}finally{let V=Dl(o,i,"preventClose");E.size+=H,!V&&!E.locked&&await E.getWriter().close()}return _?Zi:t.getData?t.getData():E}};function _me(e,t,n){let i=e.rawBitFlag=pa(t,n+2),o=(i&1)==1,r=fs(t,n+6);Object.assign(e,{encrypted:o,version:pa(t,n),bitFlag:{level:(i&6)>>1,dataDescriptor:(i&8)==8,languageEncodingFlag:(i&2048)==2048},rawLastModDate:r,lastModDate:unt(r),filenameLength:pa(t,n+22),extraFieldLength:pa(t,n+24)})}async function gme(e,t,n,i,o){let{rawExtraField:r}=t,s=t.extraField=new Map,a=_a(new Uint8Array(r)),c=0;try{for(;c<r.length;){let T=pa(a,c),C=pa(a,c+2);s.set(T,{type:T,data:r.slice(c+4,c+4+C)}),c+=4+C}}catch{}let u=pa(n,i+4);Object.assign(t,{signature:fs(n,i+10),uncompressedSize:fs(n,i+18),compressedSize:fs(n,i+14)});let f=s.get(1);f&&(rnt(f,t),t.extraFieldZip64=f);let d=s.get(28789);d&&(await pme(d,nq,iq,t,e),t.extraFieldUnicodePath=d);let p=s.get(25461);p&&(await pme(p,oq,rq,t,e),t.extraFieldUnicodeComment=p);let g=s.get(39169);g?(snt(g,t,u),t.extraFieldAES=g):t.compressionMethod=u;let m=s.get(10);m&&(ant(m,t),t.extraFieldNTFS=m);let x=s.get(21589);x&&(cnt(x,t,o),t.extraFieldExtendedTimestamp=x);let b=s.get(6534);b&&(t.extraFieldUSDZ=b)}function rnt(e,t){t.zip64=!0;let n=_a(e.data),i=int.filter(([o,r])=>t[o]==r);for(let o=0,r=0;o<i.length;o++){let[s,a]=i[o];if(t[s]==a){let c=ont[a];t[s]=e[s]=c.getValue(n,r),r+=c.bytes}else if(e[s])throw new Error(ent)}}async function pme(e,t,n,i,o){let r=_a(e.data),s=new l_;s.append(o[n]);let a=_a(new Uint8Array(4));a.setUint32(0,s.get(),!0);let c=fs(r,1);Object.assign(e,{version:SE(r,0),[t]:cI(e.data.subarray(5)),valid:!o.bitFlag.languageEncodingFlag&&c==fs(a,0)}),e.valid&&(i[t]=e[t],i[t+"UTF8"]=!0)}function snt(e,t,n){let i=_a(e.data),o=SE(i,4);Object.assign(e,{vendorVersion:SE(i,0),vendorId:SE(i,2),strength:o,originalCompressionMethod:n,compressionMethod:pa(i,5)}),t.compressionMethod=e.compressionMethod}function ant(e,t){let n=_a(e.data),i=4,o;try{for(;i<e.data.length&&!o;){let r=pa(n,i),s=pa(n,i+2);r==1&&(o=e.data.slice(i+4,i+4+s)),i+=4+s}}catch{}try{if(o&&o.length==24){let r=_a(o),s=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),c=r.getBigUint64(16,!0);Object.assign(e,{rawLastModDate:s,rawLastAccessDate:a,rawCreationDate:c});let u=mq(s),f=mq(a),d=mq(c),p={lastModDate:u,lastAccessDate:f,creationDate:d};Object.assign(e,p),Object.assign(t,p)}}catch{}}function cnt(e,t,n){let i=_a(e.data),o=SE(i,0),r=[],s=[];n?((o&1)==1&&(r.push(EE),s.push(aV)),(o&2)==2&&(r.push(lI),s.push(lme)),(o&4)==4&&(r.push(uI),s.push(ume))):e.data.length>=5&&(r.push(EE),s.push(aV));let a=1;r.forEach((c,u)=>{if(e.data.length>=a+4){let f=fs(i,a);t[c]=e[c]=new Date(f*1e3);let d=s[u];e[d]=f}a+=4})}async function lnt(e,t,n,i,o){let r=new Uint8Array(4),s=_a(r);fnt(s,0,t);let a=i+o;return await c(i)||await c(Math.min(a,n));async function c(u){let f=n-u,d=await La(e,f,u);for(let p=d.length-i;p>=0;p--)if(d[p]==r[0]&&d[p+1]==r[1]&&d[p+2]==r[2]&&d[p+3]==r[3])return{offset:f+p,buffer:d.slice(p,p+i).buffer}}}function Dl(e,t,n){return t[n]===Zi?e.options[n]:t[n]}function unt(e){let t=(e&4294901760)>>16,n=e&65535;try{return new Date(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(n&63488)>>11,(n&2016)>>5,(n&31)*2,0)}catch{}}function mq(e){return new Date(Number(e/BigInt(1e4)-BigInt(116444736e5)))}function SE(e,t){return e.getUint8(t)}function pa(e,t){return e.getUint16(t,!0)}function fs(e,t){return e.getUint32(t,!0)}function cV(e,t){return Number(e.getBigUint64(t,!0))}function fnt(e,t,n){e.setUint32(t,n,!0)}function _a(e){return new DataView(e.buffer)}var pnt="File already exists",_nt="Zip file comment exceeds 64KB",gnt="File entry comment exceeds 64KB",ynt="File entry name exceeds 64KB",bme="Version exceeds 65535",xnt="The strength must equal 1, 2, or 3",bnt="Extra field type exceeds 65535",Tnt="Extra field data exceeds 64KB",Iq="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",Tme=new Uint8Array([7,0,2,0,65,69,3,0,0]),wq=0,Cme=[],yV=class{constructor(t,n={}){t=rV(t);let i=t.availableSize!==Zi&&t.availableSize>0&&t.availableSize!==1/0&&t.maxSize!==Zi&&t.maxSize>0&&t.maxSize!==1/0;Object.assign(this,{writer:t,addSplitZipSignature:i,options:n,config:JD(),files:new Map,filenames:new Set,offset:t.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new Set,bufferedWrites:0})}async add(t="",n,i={}){let o=this,{pendingAddFileCalls:r,config:s}=o;wq<s.maxWorkers?wq++:await new Promise(c=>Cme.push(c));let a;try{if(t=t.trim(),o.filenames.has(t))throw new Error(pnt);return o.filenames.add(t),a=Cnt(o,t,n,i),r.add(a),await a}catch(c){throw o.filenames.delete(t),c}finally{r.delete(a);let c=Cme.shift();c?c():wq--}}async close(t=new Uint8Array,n={}){let i=this,{pendingAddFileCalls:o,writer:r}=this,{writable:s}=r;for(;o.size;)await Promise.allSettled(Array.from(o));return await Ont(this,t,n),zo(i,n,"preventClose")||await s.getWriter().close(),r.getData?r.getData():s}};async function Cnt(e,t,n,i){t=t.trim(),i.directory&&!t.endsWith(gE)?t+=gE:i.directory=t.endsWith(gE);let o=zo(e,i,"encodeText",xE),r=o(t);if(r===Zi&&(r=xE(t)),Gi(r)>65535)throw new Error(ynt);let s=i.comment||"",a=o(s);if(a===Zi&&(a=xE(s)),Gi(a)>65535)throw new Error(gnt);let c=zo(e,i,"version",20);if(c>65535)throw new Error(bme);let u=zo(e,i,"versionMadeBy",20);if(u>65535)throw new Error(bme);let f=zo(e,i,EE,new Date),d=zo(e,i,lI),p=zo(e,i,uI),g=zo(e,i,fq,!0),m=zo(e,i,lq,0),x=zo(e,i,uq,0),b=zo(e,i,"password"),T=zo(e,i,"rawPassword"),C=zo(e,i,"encryptionStrength",3),A=zo(e,i,"zipCrypto"),S=zo(e,i,"extendedTimestamp",!0),v=zo(e,i,"keepOrder",!0),D=zo(e,i,"level"),R=zo(e,i,"useWebWorkers"),O=zo(e,i,"bufferedWrite"),M=zo(e,i,"dataDescriptorSignature",!1),N=zo(e,i,"signal"),_=zo(e,i,"useCompressionStream"),E=zo(e,i,"dataDescriptor",!0),w=zo(e,i,dq);if(b!==Zi&&C!==Zi&&(C<1||C>3))throw new Error(xnt);let I=new Uint8Array,{extraField:L}=i;if(L){let Ie=0,De=0;L.forEach(Ne=>Ie+=4+Gi(Ne)),I=new Uint8Array(Ie),L.forEach((Ne,Ce)=>{if(Ce>65535)throw new Error(bnt);if(Gi(Ne)>65535)throw new Error(Tnt);Is(I,new Uint16Array([Ce]),De),Is(I,new Uint16Array([Gi(Ne)]),De+2),Is(I,Ne,De+4),De+=4+Gi(Ne)})}let B=0,H=0,V=0,G=w===!0;n&&(n=oV(n),await Cm(n),n.size===Zi?(E=!0,(w||w===Zi)&&(w=!0,V=B=4294967296)):(V=n.size,B=Rnt(V)));let{diskOffset:k,diskNumber:W,maxSize:Y}=e.writer,J=G||V>4294967295,j=G||B>4294967295,Z=G||e.offset+e.pendingEntriesSize-k>4294967295,he=zo(e,i,"supportZip64SplitFile",!0)&&G||W+Math.ceil(e.pendingEntriesSize/Y)>65535;if(Z||J||j||he){if(w===!1||!v)throw new Error(Iq);w=!0}w=w||!1,i=Object.assign({},i,{rawFilename:r,rawComment:a,version:c,versionMadeBy:u,lastModDate:f,lastAccessDate:d,creationDate:p,rawExtraField:I,zip64:w,zip64UncompressedSize:J,zip64CompressedSize:j,zip64Offset:Z,zip64DiskNumberStart:he,password:b,rawPassword:T,level:!_&&e.config.CompressionStream===Zi&&e.config.CompressionStreamNative===Zi?0:D,useWebWorkers:R,encryptionStrength:C,extendedTimestamp:S,zipCrypto:A,bufferedWrite:O,keepOrder:v,dataDescriptor:E,dataDescriptorSignature:M,signal:N,msDosCompatible:g,internalFileAttribute:m,externalFileAttribute:x,useCompressionStream:_});let ye=Snt(i),re=wnt(i),_e=Gi(ye.localHeaderArray,re.dataDescriptorArray);H=_e+B,e.options.usdz&&(H+=H+64),e.pendingEntriesSize+=H;let xe;try{xe=await Ant(e,t,n,{headerInfo:ye,dataDescriptorInfo:re,metadataSize:_e},i)}finally{e.pendingEntriesSize-=H}return Object.assign(xe,{name:t,comment:s,extraField:L}),new Ly(xe)}async function Ant(e,t,n,i,o){let{files:r,writer:s}=e,{keepOrder:a,dataDescriptor:c,signal:u}=o,{headerInfo:f}=i,{usdz:d}=e.options,p=Array.from(r.values()).pop(),g={},m,x,b,T,C,A,S;r.set(t,g);try{let O;a&&(O=p&&p.lock,v()),(o.bufferedWrite||e.writerLocked||e.bufferedWrites&&a||!c)&&!d?(A=new TransformStream,S=new Response(A.readable).blob(),A.writable.size=0,m=!0,e.bufferedWrites++,await Cm(s)):(A=s,await D()),await Cm(A);let{writable:M}=s,{diskOffset:N}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;let E=new Uint8Array(4),w=Na(E);Hi(w,0,134695760),await Am(M,E),e.offset+=4}d&&vnt(i,e.offset-N),m||(await O,await R(M));let{diskNumber:_}=s;if(C=!0,g.diskNumberStart=_,g=await Ent(n,A,g,i,e.config,o),C=!1,r.set(t,g),g.filename=t,m){await A.writable.getWriter().close();let E=await S;await O,await D(),T=!0,c||(E=await Int(g,E,M,o)),await R(M),g.diskNumberStart=s.diskNumber,N=s.diskOffset,await E.stream().pipeTo(M,{preventClose:!0,preventAbort:!0,signal:u}),M.size+=E.size,T=!1}if(g.offset=e.offset-N,g.zip64)Pnt(g,o);else if(g.offset>4294967295)throw new Error(Iq);return e.offset+=g.size,g}catch(O){if(m&&T||!m&&C){if(e.hasCorruptedEntries=!0,O)try{O.corruptedEntry=!0}catch{}m?e.offset+=A.writable.size:e.offset=A.writable.size}throw r.delete(t),O}finally{m&&e.bufferedWrites--,b&&b(),x&&x()}function v(){g.lock=new Promise(O=>b=O)}async function D(){e.writerLocked=!0;let{lockWriter:O}=e;e.lockWriter=new Promise(M=>x=()=>{e.writerLocked=!1,M()}),await O}async function R(O){Gi(f.localHeaderArray)>s.availableSize&&(s.availableSize=0,await Am(O,new Uint8Array))}}async function Ent(e,t,{diskNumberStart:n,lock:i},o,r,s){let{headerInfo:a,dataDescriptorInfo:c,metadataSize:u}=o,{localHeaderArray:f,headerArray:d,lastModDate:p,rawLastModDate:g,encrypted:m,compressed:x,version:b,compressionMethod:T,rawExtraFieldExtendedTimestamp:C,extraFieldExtendedTimestampFlag:A,rawExtraFieldNTFS:S,rawExtraFieldAES:v}=a,{dataDescriptorArray:D}=c,{rawFilename:R,lastAccessDate:O,creationDate:M,password:N,rawPassword:_,level:E,zip64:w,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:B,zip64DiskNumberStart:H,zipCrypto:V,dataDescriptor:G,directory:k,versionMadeBy:W,rawComment:Y,rawExtraField:J,useWebWorkers:j,onstart:Z,onprogress:Q,onend:he,signal:ye,encryptionStrength:re,extendedTimestamp:_e,msDosCompatible:xe,internalFileAttribute:Ie,externalFileAttribute:De,useCompressionStream:Ne}=s,Ce={lock:i,versionMadeBy:W,zip64:w,directory:!!k,filenameUTF8:!0,rawFilename:R,commentUTF8:!0,rawComment:Y,rawExtraFieldExtendedTimestamp:C,rawExtraFieldNTFS:S,rawExtraFieldAES:v,rawExtraField:J,extendedTimestamp:_e,msDosCompatible:xe,internalFileAttribute:Ie,externalFileAttribute:De,diskNumberStart:n},Be=0,Ve=0,$e,{writable:qe}=t;if(e){e.chunkSize=kk(r),await Am(qe,f);let ht=e.readable,yt=ht.size=e.size,Jt={options:{codecType:Kk,level:E,rawPassword:_,password:N,encryptionStrength:re,zipCrypto:m&&V,passwordVerification:m&&V&&g>>8&255,signed:!0,compressed:x,encrypted:m,useWebWorkers:j,useCompressionStream:Ne,transferStreams:!1},config:r,streamOptions:{signal:ye,size:yt,onstart:Z,onprogress:Q,onend:he}},Te=await Qk({readable:ht,writable:qe},Jt);Ve=Te.inputSize,Be=Te.outputSize,$e=Te.signature,qe.size+=Ve}else await Am(qe,f);let pt;if(w){let ht=4;I&&(ht+=8),L&&(ht+=8),B&&(ht+=8),H&&(ht+=4),pt=new Uint8Array(ht)}else pt=new Uint8Array;return Dnt({signature:$e,rawExtraFieldZip64:pt,compressedSize:Be,uncompressedSize:Ve,headerInfo:a,dataDescriptorInfo:c},s),G&&await Am(qe,D),Object.assign(Ce,{uncompressedSize:Ve,compressedSize:Be,lastModDate:p,rawLastModDate:g,creationDate:M,lastAccessDate:O,encrypted:m,size:u+Be,compressionMethod:T,version:b,headerArray:d,signature:$e,rawExtraFieldZip64:pt,extraFieldExtendedTimestampFlag:A,zip64UncompressedSize:I,zip64CompressedSize:L,zip64Offset:B,zip64DiskNumberStart:H}),Ce}function Snt(e){let{rawFilename:t,lastModDate:n,lastAccessDate:i,creationDate:o,rawPassword:r,password:s,level:a,zip64:c,zipCrypto:u,dataDescriptor:f,directory:d,rawExtraField:p,encryptionStrength:g,extendedTimestamp:m}=e,x=a!==0&&!d,b=!!(s&&Gi(s)||r&&Gi(r)),T=e.version,C;if(b&&!u){C=new Uint8Array(Gi(Tme)+2);let H=Na(C);to(H,0,39169),Is(C,Tme,2),xV(H,8,g)}else C=new Uint8Array;let A,S,v;if(m){S=new Uint8Array(9+(i?4:0)+(o?4:0));let H=Na(S);to(H,0,21589),to(H,2,Gi(S)-4),v=1+(i?2:0)+(o?4:0),xV(H,4,v);let V=5;Hi(H,V,Math.floor(n.getTime()/1e3)),V+=4,i&&(Hi(H,V,Math.floor(i.getTime()/1e3)),V+=4),o&&Hi(H,V,Math.floor(o.getTime()/1e3));try{A=new Uint8Array(36);let G=Na(A),k=Dq(n);to(G,0,10),to(G,2,32),to(G,8,1),to(G,10,24),Il(G,12,k),Il(G,20,Dq(i)||k),Il(G,28,Dq(o)||k)}catch{A=new Uint8Array}}else A=S=new Uint8Array;let D=2048;f&&(D=D|8);let R=0;x&&(R=8),c&&(T=T>45?T:45),b&&(D=D|1,u||(T=T>51?T:51,R=99,x&&(C[9]=8)));let O=new Uint8Array(26),M=Na(O);to(M,0,T),to(M,2,D),to(M,4,R);let N=new Uint32Array(1),_=Na(N),E;n<H7?E=H7:n>z7?E=z7:E=n,to(_,0,(E.getHours()<<6|E.getMinutes())<<5|E.getSeconds()/2),to(_,2,(E.getFullYear()-1980<<4|E.getMonth()+1)<<5|E.getDate());let w=N[0];Hi(M,6,w),to(M,22,Gi(t));let I=Gi(C,S,A,p);to(M,24,I);let L=new Uint8Array(30+Gi(t)+I),B=Na(L);return Hi(B,0,67324752),Is(L,O,4),Is(L,t,30),Is(L,C,30+Gi(t)),Is(L,S,30+Gi(t,C)),Is(L,A,30+Gi(t,C,S)),Is(L,p,30+Gi(t,C,S,A)),{localHeaderArray:L,headerArray:O,headerView:M,lastModDate:n,rawLastModDate:w,encrypted:b,compressed:x,version:T,compressionMethod:R,extraFieldExtendedTimestampFlag:v,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:A,rawExtraFieldAES:C,extraFieldLength:I}}function vnt(e,t){let{headerInfo:n}=e,{localHeaderArray:i,extraFieldLength:o}=n,r=Na(i),s=64-(t+Gi(i))%64;s<4&&(s+=64);let a=new Uint8Array(s),c=Na(a);to(c,0,6534),to(c,2,s-2);let u=i;n.localHeaderArray=i=new Uint8Array(Gi(u)+s),Is(i,u),Is(i,a,Gi(u)),r=Na(i),to(r,28,o+s),e.metadataSize+=s}function wnt(e){let{zip64:t,dataDescriptor:n,dataDescriptorSignature:i}=e,o=new Uint8Array,r,s=0;return n&&(o=new Uint8Array(t?i?24:20:i?16:12),r=Na(o),i&&(s=4,Hi(r,0,134695760))),{dataDescriptorArray:o,dataDescriptorView:r,dataDescriptorOffset:s}}function Dnt(e,t){let{signature:n,rawExtraFieldZip64:i,compressedSize:o,uncompressedSize:r,headerInfo:s,dataDescriptorInfo:a}=e,{headerView:c,encrypted:u}=s,{dataDescriptorView:f,dataDescriptorOffset:d}=a,{zip64:p,zip64UncompressedSize:g,zip64CompressedSize:m,zipCrypto:x,dataDescriptor:b}=t;if((!u||x)&&n!==Zi&&(Hi(c,10,n),b&&Hi(f,d,n)),p){let T=Na(i);to(T,0,1),to(T,2,Gi(i)-4);let C=4;g&&(Hi(c,18,4294967295),Il(T,C,BigInt(r)),C+=8),m&&(Hi(c,14,4294967295),Il(T,C,BigInt(o))),b&&(Il(f,d+4,BigInt(o)),Il(f,d+12,BigInt(r)))}else Hi(c,14,o),Hi(c,18,r),b&&(Hi(f,d+4,o),Hi(f,d+8,r))}async function Int(e,t,n,{zipCrypto:i}){let o;o=await t.slice(0,26).arrayBuffer(),o.byteLength!=26&&(o=o.slice(0,26));let r=new DataView(o);return(!e.encrypted||i)&&Hi(r,14,e.signature),e.zip64?(Hi(r,18,4294967295),Hi(r,22,4294967295)):(Hi(r,18,e.compressedSize),Hi(r,22,e.uncompressedSize)),await Am(n,new Uint8Array(o)),t.slice(o.byteLength)}function Pnt(e,t){let{rawExtraFieldZip64:n,offset:i,diskNumberStart:o}=e,{zip64UncompressedSize:r,zip64CompressedSize:s,zip64Offset:a,zip64DiskNumberStart:c}=t,u=Na(n),f=4;r&&(f+=8),s&&(f+=8),a&&(Il(u,f,BigInt(i)),f+=8),c&&Hi(u,f,o)}async function Ont(e,t,n){let{files:i,writer:o}=e,{diskOffset:r,writable:s}=o,{diskNumber:a}=o,c=0,u=0,f=e.offset-r,d=i.size;for(let[,v]of i){let{rawFilename:D,rawExtraFieldZip64:R,rawExtraFieldAES:O,rawComment:M,rawExtraFieldNTFS:N,rawExtraField:_,extendedTimestamp:E,extraFieldExtendedTimestampFlag:w,lastModDate:I}=v,L;if(E){L=new Uint8Array(9);let B=Na(L);to(B,0,21589),to(B,2,5),xV(B,4,w),Hi(B,5,Math.floor(I.getTime()/1e3))}else L=new Uint8Array;v.rawExtraFieldCDExtendedTimestamp=L,u+=46+Gi(D,M,R,O,N,L,_)}let p=new Uint8Array(u),g=Na(p);await Cm(o);let m=0;for(let[v,D]of Array.from(i.values()).entries()){let{offset:R,rawFilename:O,rawExtraFieldZip64:M,rawExtraFieldAES:N,rawExtraFieldCDExtendedTimestamp:_,rawExtraFieldNTFS:E,rawExtraField:w,rawComment:I,versionMadeBy:L,headerArray:B,directory:H,zip64:V,zip64UncompressedSize:G,zip64CompressedSize:k,zip64DiskNumberStart:W,zip64Offset:Y,msDosCompatible:J,internalFileAttribute:j,externalFileAttribute:Z,diskNumberStart:Q,uncompressedSize:he,compressedSize:ye}=D,re=Gi(M,N,_,E,w);Hi(g,c,33639248),to(g,c+4,L);let _e=Na(B);G||Hi(_e,18,he),k||Hi(_e,14,ye),Is(p,B,c+6),to(g,c+30,re),to(g,c+32,Gi(I)),to(g,c+34,V&&W?65535:Q),to(g,c+36,j),Z?Hi(g,c+38,Z):H&&J&&xV(g,c+38,16),Hi(g,c+42,V&&Y?4294967295:R),Is(p,O,c+46),Is(p,M,c+46+Gi(O)),Is(p,N,c+46+Gi(O,M)),Is(p,_,c+46+Gi(O,M,N)),Is(p,E,c+46+Gi(O,M,N,_)),Is(p,w,c+46+Gi(O,M,N,_,E)),Is(p,I,c+46+Gi(O)+re);let xe=46+Gi(O,I)+re;if(c-m>o.availableSize&&(o.availableSize=0,await Am(s,p.slice(m,c)),m=c),c+=xe,n.onprogress)try{await n.onprogress(v+1,i.size,new Ly(D))}catch{}}await Am(s,m?p.slice(m):p);let x=o.diskNumber,{availableSize:b}=o;b<22&&x++;let T=zo(e,n,"zip64");if(f>4294967295||u>4294967295||d>65535||x>65535){if(T===!1)throw new Error(Iq);T=!0}let C=new Uint8Array(T?98:22),A=Na(C);c=0,T&&(Hi(A,0,101075792),Il(A,4,BigInt(44)),to(A,12,45),to(A,14,45),Hi(A,16,x),Hi(A,20,a),Il(A,24,BigInt(d)),Il(A,32,BigInt(d)),Il(A,40,BigInt(u)),Il(A,48,BigInt(f)),Hi(A,56,117853008),Il(A,64,BigInt(f)+BigInt(u)),Hi(A,72,x+1),zo(e,n,"supportZip64SplitFile",!0)&&(x=65535,a=65535),d=65535,f=4294967295,u=4294967295,c+=76),Hi(A,c,101010256),to(A,c+4,x),to(A,c+6,a),to(A,c+8,d),to(A,c+10,d),Hi(A,c+12,u),Hi(A,c+16,f);let S=Gi(t);if(S)if(S<=65535)to(A,c+20,S);else throw new Error(_nt);await Am(s,C),S&&await Am(s,t)}async function Am(e,t){let n=e.getWriter();try{await n.ready,e.size+=Gi(t),await n.write(t)}finally{n.releaseLock()}}function Dq(e){if(e)return(BigInt(e.getTime())+BigInt(116444736e5))*BigInt(1e4)}function zo(e,t,n,i){let o=t[n]===Zi?e.options[n]:t[n];return o===Zi?i:o}function Rnt(e){return e+5*(Math.floor(e/16383)+1)}function xV(e,t,n){e.setUint8(t,n)}function to(e,t,n){e.setUint16(t,n,!0)}function Hi(e,t,n){e.setUint32(t,n,!0)}function Il(e,t,n){e.setBigUint64(t,n,!0)}function Is(e,t,n){e.set(t,n)}function Na(e){return new DataView(e.buffer)}function Gi(...e){let t=0;return e.forEach(n=>n&&(t+=n.length)),t}yE({Deflate:ahe,Inflate:Ihe});var Pq=32,Mnt="http://www.opengis.net/kml/2.2",Xd="http://www.google.com/kml/ext/2.2",Lnt="http://www.w3.org/2000/xmlns/";function bV(e){this._files={},this._promises=[],this._count=0,this._modelCallback=e}var Nnt=/^data:image\/([^,;]+)/;bV.prototype.texture=function(e){let t=this,n;if(typeof e=="string"||e instanceof Ae){if(e=Ae.createIfNeeded(e),!e.isDataUri)return e.url;let i=e.url.match(Nnt);n=`texture_${++this._count}`,l(i)&&(n+=`.${i[1]}`);let o=e.fetchBlob().then(function(r){t._files[n]=r});return this._promises.push(o),n}if(e instanceof HTMLCanvasElement){n=`texture_${++this._count}.png`;let i=new Promise(o=>{e.toBlob(function(r){t._files[n]=r,o()})});return this._promises.push(i),n}return""};function Fnt(e,t){return function(n){e._files[t]=n}}bV.prototype.model=function(e,t){let n=this._modelCallback;if(!l(n))throw new se("Encountered a model entity while exporting to KML, but no model callback was supplied.");let i={},o=n(e,t,i);for(let r in i)if(i.hasOwnProperty(r)){let s=Promise.resolve(i[r]);this._promises.push(s),s.then(Fnt(this,r))}return o};Object.defineProperties(bV.prototype,{promise:{get:function(){return Promise.all(this._promises)}},files:{get:function(){return this._files}}});function TV(e){this._time=e}TV.prototype.get=function(e,t,n){let i;return l(e)&&(i=l(e.getValue)?e.getValue(this._time,n):e),y(i,t)};TV.prototype.getColor=function(e,t){let n=this.get(e,t);if(l(n))return mb(n)};TV.prototype.getMaterialType=function(e){if(l(e))return e.getType(this._time)};function Oq(){this._ids={},this._styles={},this._count=0}Oq.prototype.get=function(e){let t=this._ids,n=e.innerHTML;if(l(t[n]))return t[n];let i=`style-${++this._count}`;return e.setAttribute("id",i),i=`#${i}`,t[n]=i,this._styles[n]=e,i};Oq.prototype.save=function(e){let t=this._styles,n=e.childNodes[0];for(let i in t)t.hasOwnProperty(i)&&e.insertBefore(t[i],n)};function vme(){this._ids={}}vme.prototype.get=function(e){if(!l(e))return this.get(Gn());let t=this._ids;return l(t[e])?`${e.toString()}-${++t[e]}`:(t[e]=0,e)};function Rq(e){e=y(e,y.EMPTY_OBJECT);let t=e.entities,n=y(e.kmz,!1),i=Rq._createState(e),o=t.values.filter(function(u){return!l(u.parent)}),r=i.kmlDoc,s=r.documentElement;s.setAttributeNS(Lnt,"xmlns:gx",Xd);let a=r.createElement("Document");s.appendChild(a),Dme(i,a,o),i.styleCache.save(a);let c=i.externalFileHandler;return c.promise.then(function(){let f=new XMLSerializer().serializeToString(i.kmlDoc);return n?Bnt(f,c.files):{kml:f,externalFiles:c.files}})}function Bnt(e,t){let n=rn("ThirdParty/Workers/z-worker-pako.js");yE({workerScripts:{deflate:[n,"./pako_deflate.min.js"],inflate:[n,"./pako_inflate.min.js"]}});let i=new aI,o=new yV(i);return o.add("doc.kml",new tV(e)).then(function(){let r=Object.keys(t);return wme(o,r,t,0)}).then(function(){return o.close()}).then(function(r){return{kmz:r}})}function wme(e,t,n,i){if(t.length===i)return;let o=t[i];return e.add(o,new f_(n[o])).then(function(){return wme(e,t,n,i+1)})}Rq._createState=function(e){let t=e.entities,n=new Oq,i=t.computeAvailability(),o=l(e.time)?e.time:i.start,r=y(e.defaultAvailability,i),s=y(e.sampleDuration,60);r.start===Ge.MINIMUM_VALUE?r.stop===Ge.MAXIMUM_VALUE?r=new vn:K.addSeconds(r.stop,-10*s,r.start):r.stop===Ge.MAXIMUM_VALUE&&K.addSeconds(r.start,10*s,r.stop);let a=new bV(e.modelCallback);return{kmlDoc:document.implementation.createDocument(Mnt,"kml"),ellipsoid:y(e.ellipsoid,ee.default),idManager:new vme,styleCache:n,externalFileHandler:a,time:o,valueGetter:new TV(o),sampleDuration:s,defaultAvailability:new Kr([r])}};function Dme(e,t,n){let i=e.kmlDoc,o=e.styleCache,r=e.valueGetter,s=e.idManager,a=n.length,c,u,f;for(let d=0;d<a;++d){let p=n[d];c=[],u=[],f=[],knt(e,p,u,f),Vnt(e,p.polyline,u,f),Sme(e,p.rectangle,u,f,c),Sme(e,p.polygon,u,f,c),Gnt(e,p,p.model,u,f);let g,m=p.availability;l(m)&&(g=i.createElement("TimeSpan"),K.equals(m.start,Ge.MINIMUM_VALUE)||g.appendChild(dn(i,"begin",K.toIso8601(m.start))),K.equals(m.stop,Ge.MAXIMUM_VALUE)||g.appendChild(dn(i,"end",K.toIso8601(m.stop))));for(let T=0;T<c.length;++T){let C=c[T];C.setAttribute("id",s.get(p.id)),C.appendChild(dn(i,"name",p.name)),C.appendChild(dn(i,"visibility",p.show)),C.appendChild(dn(i,"description",p.description)),l(g)&&C.appendChild(g),t.appendChild(C)}let x=u.length;if(x>0){let T=i.createElement("Placemark");T.setAttribute("id",s.get(p.id));let C=p.name,A=p.label;if(l(A)){let v=i.createElement("LabelStyle"),D=r.get(A.text);C=l(D)&&D.length>0?D:C;let R=r.getColor(A.fillColor);l(R)&&(v.appendChild(dn(i,"color",R)),v.appendChild(dn(i,"colorMode","normal")));let O=r.get(A.scale);l(O)&&v.appendChild(dn(i,"scale",O)),f.push(v)}T.appendChild(dn(i,"name",C)),T.appendChild(dn(i,"visibility",p.show)),T.appendChild(dn(i,"description",p.description)),l(g)&&T.appendChild(g),t.appendChild(T);let S=f.length;if(S>0){let v=i.createElement("Style");for(let D=0;D<S;++D)v.appendChild(f[D]);T.appendChild(dn(i,"styleUrl",o.get(v)))}if(u.length===1)T.appendChild(u[0]);else if(u.length>1){let v=i.createElement("MultiGeometry");for(let D=0;D<x;++D)v.appendChild(u[D]);T.appendChild(v)}}let b=p._children;if(b.length>0){let T=i.createElement("Folder");T.setAttribute("id",s.get(p.id)),T.appendChild(dn(i,"name",p.name)),T.appendChild(dn(i,"visibility",p.show)),T.appendChild(dn(i,"description",p.description)),t.appendChild(T),Dme(e,T,b)}}}var Pl=new h,Yc=new fe,Yd=new K;function knt(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter,a=y(t.billboard,t.point);if(!l(a)&&!l(t.path))return;let c=t.position;if(!c.isConstant){Ime(e,t,a,n,i);return}s.get(c,void 0,Pl);let u=dn(o,"coordinates",hb(Pl,r)),f=o.createElement("Point"),d=o.createElement("altitudeMode");d.appendChild(pb(e,a.heightReference)),f.appendChild(d),f.appendChild(u),n.push(f);let p=a instanceof vc?Ome(e,a):Pme(e,a);i.push(p)}function Ime(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter,c,u=t.position,f=!0;u instanceof Oa?(c=u.intervals,f=!1):c=y(t.availability,e.defaultAvailability);let d=n instanceof ng,p,g,m,x=[];for(p=0;p<c.length;++p){let T=c.get(p),C=f?u:T.data,A=r.createElement("altitudeMode");C instanceof a_?(C=C._value,A.appendChild(pb(e,Xe.CLAMP_TO_GROUND))):l(n)?A.appendChild(pb(e,n.heightReference)):A.appendChild(pb(e,Xe.NONE));let S=[],v=[];if(C.isConstant){a.get(C,void 0,Pl);let R=dn(r,"coordinates",hb(Pl,s));S.push(K.toIso8601(T.start)),v.push(R),S.push(K.toIso8601(T.stop)),v.push(R)}else if(C instanceof Ra)for(m=C._property._times,g=0;g<m.length;++g)S.push(K.toIso8601(m[g])),C.getValueInReferenceFrame(m[g],Vi.FIXED,Pl),v.push(hb(Pl,s));else if(C instanceof Mf){m=C._times;let R=C._values;for(g=0;g<m.length;++g)S.push(K.toIso8601(m[g])),h.fromArray(R,g*3,Pl),v.push(hb(Pl,s))}else{let R=e.sampleDuration;T.start.clone(Yd),T.isStartIncluded||K.addSeconds(Yd,R,Yd);let O=T.stop;for(;K.lessThan(Yd,O);)C.getValue(Yd,Pl),S.push(K.toIso8601(Yd)),v.push(hb(Pl,s)),K.addSeconds(Yd,R,Yd);T.isStopIncluded&&K.equals(Yd,O)&&(C.getValue(Yd,Pl),S.push(K.toIso8601(Yd)),v.push(hb(Pl,s)))}let D=r.createElementNS(Xd,"Track");D.appendChild(A);for(let R=0;R<S.length;++R){let O=dn(r,"when",S[R]),M=dn(r,"coord",v[R],Xd);D.appendChild(O),D.appendChild(M)}d&&D.appendChild(Rme(e,n)),x.push(D)}if(x.length===1)i.push(x[0]);else if(x.length>1){let T=r.createElementNS(Xd,"MultiTrack");for(p=0;p<x.length;++p)T.appendChild(x[p]);i.push(T)}if(l(n)&&!d){let T=n instanceof vc?Ome(e,n):Pme(e,n);o.push(T)}let b=t.path;if(l(b)){let T=a.get(b.width),C=b.material;if(l(C)||l(T)){let A=r.createElement("LineStyle");l(T)&&A.appendChild(dn(r,"width",T)),Mq(e,C,A),o.push(A)}}}function Pme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=n.createElement("IconStyle"),r=i.getColor(t.color);l(r)&&(o.appendChild(dn(n,"color",r)),o.appendChild(dn(n,"colorMode","normal")));let s=i.get(t.pixelSize);return l(s)&&o.appendChild(dn(n,"scale",s/Pq)),o}function Ome(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("IconStyle"),s=i.get(t.image);if(l(s)){s=o.texture(s);let p=n.createElement("Icon");p.appendChild(dn(n,"href",s));let g=i.get(t.imageSubRegion);l(g)&&(p.appendChild(dn(n,"x",g.x,Xd)),p.appendChild(dn(n,"y",g.y,Xd)),p.appendChild(dn(n,"w",g.width,Xd)),p.appendChild(dn(n,"h",g.height,Xd))),r.appendChild(p)}let a=i.getColor(t.color);l(a)&&(r.appendChild(dn(n,"color",a)),r.appendChild(dn(n,"colorMode","normal")));let c=i.get(t.scale);l(c)&&r.appendChild(dn(n,"scale",c));let u=i.get(t.pixelOffset);if(l(u)){c=y(c,1),U.divideByScalar(u,c,u);let p=i.get(t.width,Pq),g=i.get(t.height,Pq),m=i.get(t.horizontalOrigin,bi.CENTER);m===bi.CENTER?u.x-=p*.5:m===bi.RIGHT&&(u.x-=p);let x=i.get(t.verticalOrigin,Ln.CENTER);x===Ln.TOP?u.y+=g:x===Ln.CENTER&&(u.y+=g*.5);let b=n.createElement("hotSpot");b.setAttribute("x",-u.x),b.setAttribute("y",u.y),b.setAttribute("xunits","pixels"),b.setAttribute("yunits","pixels"),r.appendChild(b)}let f=i.get(t.rotation),d=i.get(t.alignedAxis);return l(f)&&h.equals(h.UNIT_Z,d)&&(f=P.toDegrees(-f),f===0&&(f=360),r.appendChild(dn(n,"heading",f))),r}function Vnt(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=e.valueGetter;if(!l(t))return;let a=o.createElement("LineString"),c=o.createElement("altitudeMode"),u=s.get(t.clampToGround,!1),f;u?(a.appendChild(dn(o,"tessellate",!0)),f=o.createTextNode("clampToGround")):f=o.createTextNode("absolute"),c.appendChild(f),a.appendChild(c);let d=t.positions,p=s.get(d),g=dn(o,"coordinates",hb(p,r));a.appendChild(g);let m=s.get(t.zIndex);u&&l(m)&&a.appendChild(dn(o,"drawOrder",m,Xd)),n.push(a);let x=o.createElement("LineStyle"),b=s.get(t.width);l(b)&&x.appendChild(dn(o,"width",b)),Mq(e,t.material,x),i.push(x)}function Unt(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0);n>0&&(r=n);let s=t.coordinates,a=o.get(s),c=[],u=[ae.northeast,ae.southeast,ae.southwest,ae.northwest];for(let g=0;g<4;++g)u[g](a,Yc),c.push(`${P.toDegrees(Yc.longitude)},${P.toDegrees(Yc.latitude)},${r}`);let f=dn(i,"coordinates",c.join(" ")),d=i.createElement("outerBoundaryIs"),p=i.createElement("LinearRing");return p.appendChild(f),d.appendChild(p),[d]}function Eme(e,t,n,i){let o=e.kmlDoc,r=e.ellipsoid,s=[],a=t.length;for(let f=0;f<a;++f)fe.fromCartesian(t[f],r,Yc),s.push(`${P.toDegrees(Yc.longitude)},${P.toDegrees(Yc.latitude)},${i?Yc.height:n}`);let c=dn(o,"coordinates",s.join(" ")),u=o.createElement("LinearRing");return u.appendChild(c),u}function znt(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=o.get(t.height,0),s=o.get(t.perPositionHeight,!1);!s&&n>0&&(r=n);let a=[],c=t.hierarchy,u=o.get(c),f=Array.isArray(u)?u:u.positions,d=i.createElement("outerBoundaryIs");d.appendChild(Eme(e,f,r,s)),a.push(d);let p=u.holes;if(l(p)){let g=p.length;for(let m=0;m<g;++m){let x=i.createElement("innerBoundaryIs");x.appendChild(Eme(e,p[m].positions,r,s)),a.push(x)}}return a}function Sme(e,t,n,i,o){let r=e.kmlDoc,s=e.valueGetter;if(!l(t))return;let a=t instanceof Fh;if(a&&s.getMaterialType(t.material)==="Image"){Hnt(e,t,o);return}let c=r.createElement("Polygon"),u=s.get(t.extrudedHeight,0);u>0&&c.appendChild(dn(r,"extrude",!0));let f=a?Unt(e,t,u):znt(e,t,u),d=f.length;for(let b=0;b<d;++b)c.appendChild(f[b]);let p=r.createElement("altitudeMode");p.appendChild(pb(e,t.heightReference)),c.appendChild(p),n.push(c);let g=r.createElement("PolyStyle"),m=s.get(t.fill,!1);m&&g.appendChild(dn(r,"fill",m)),Mq(e,t.material,g);let x=s.get(t.outline,!1);if(x){g.appendChild(dn(r,"outline",x));let b=r.createElement("LineStyle"),T=s.get(t.outlineWidth,1);b.appendChild(dn(r,"width",T));let C=s.getColor(t.outlineColor,z.BLACK);b.appendChild(dn(r,"color",C)),b.appendChild(dn(r,"colorMode","normal")),i.push(b)}i.push(g)}function Hnt(e,t,n){let i=e.kmlDoc,o=e.valueGetter,r=e.externalFileHandler,s=i.createElement("GroundOverlay"),a=i.createElement("altitudeMode");a.appendChild(pb(e,t.heightReference)),s.appendChild(a);let c=o.get(t.height);l(c)&&s.appendChild(dn(i,"altitude",c));let u=o.get(t.coordinates),f=i.createElement("LatLonBox");f.appendChild(dn(i,"north",P.toDegrees(u.north))),f.appendChild(dn(i,"south",P.toDegrees(u.south))),f.appendChild(dn(i,"east",P.toDegrees(u.east))),f.appendChild(dn(i,"west",P.toDegrees(u.west))),s.appendChild(f);let d=o.get(t.material),p=r.texture(d.image),g=i.createElement("Icon");g.appendChild(dn(i,"href",p)),s.appendChild(g);let m=d.color;l(m)&&s.appendChild(dn(i,"color",mb(d.color))),n.push(s)}function Rme(e,t){let n=e.kmlDoc,i=e.valueGetter,o=e.externalFileHandler,r=n.createElement("Model"),s=i.get(t.scale);if(l(s)){let u=n.createElement("scale");u.appendChild(dn(n,"x",s)),u.appendChild(dn(n,"y",s)),u.appendChild(dn(n,"z",s)),r.appendChild(u)}let a=n.createElement("Link"),c=o.model(t,e.time);return a.appendChild(dn(n,"href",c)),r.appendChild(a),r}function Gnt(e,t,n,i,o){let r=e.kmlDoc,s=e.ellipsoid,a=e.valueGetter;if(!l(n))return;let c=t.position;if(!c.isConstant){Ime(e,t,n,i,o);return}let u=Rme(e,n),f=r.createElement("altitudeMode");f.appendChild(pb(e,n.heightReference)),u.appendChild(f),a.get(c,void 0,Pl),fe.fromCartesian(Pl,s,Yc);let d=r.createElement("Location");d.appendChild(dn(r,"longitude",P.toDegrees(Yc.longitude))),d.appendChild(dn(r,"latitude",P.toDegrees(Yc.latitude))),d.appendChild(dn(r,"altitude",Yc.height)),u.appendChild(d),i.push(u)}function Mq(e,t,n){let i=e.kmlDoc,o=e.valueGetter;if(!l(t))return;let r=o.get(t);if(!l(r))return;let s,a=o.getMaterialType(t),c,u;switch(a){case"Image":s=mb(z.WHITE);break;case"Color":case"Grid":case"PolylineGlow":case"PolylineArrow":case"PolylineDash":s=mb(r.color);break;case"PolylineOutline":s=mb(r.color),c=mb(r.outlineColor),u=r.outlineWidth,n.appendChild(dn(i,"outerColor",c,Xd)),n.appendChild(dn(i,"outerWidth",u,Xd));break;case"Stripe":s=mb(r.oddColor);break}l(s)&&(n.appendChild(dn(i,"color",s)),n.appendChild(dn(i,"colorMode","normal")))}function pb(e,t){let n=e.kmlDoc,o=e.valueGetter.get(t,Xe.NONE),r;switch(o){case Xe.NONE:r=n.createTextNode("absolute");break;case Xe.CLAMP_TO_GROUND:r=n.createTextNode("clampToGround");break;case Xe.RELATIVE_TO_GROUND:r=n.createTextNode("relativeToGround");break}return r}function hb(e,t){Array.isArray(e)||(e=[e]);let n=e.length,i=[];for(let o=0;o<n;++o)fe.fromCartesian(e[o],t,Yc),i.push(`${P.toDegrees(Yc.longitude)},${P.toDegrees(Yc.latitude)},${Yc.height}`);return i.join(" ")}function dn(e,t,n,i){n=y(n,""),typeof n=="boolean"&&(n=n?"1":"0");let o=l(i)?e.createElementNS(i,t):e.createElement(t),r=n==="string"&&n.indexOf("<")!==-1?e.createCDATASection(n):e.createTextNode(n);return o.appendChild(r),o}function mb(e){let t="",n=e.toBytes();for(let i=3;i>=0;--i)t+=n[i]<16?`0${n[i].toString(16)}`:n[i].toString(16);return t}var Mme=Rq;function mI(){this._cache={}}mI.prototype.fromColor=function(e,t){return CV(void 0,void 0,e,t,this._cache)};mI.prototype.fromUrl=function(e,t,n){return CV(e,void 0,t,n,this._cache)};mI.prototype.fromMakiIconId=function(e,t,n){return CV(rn(`Assets/Textures/maki/${encodeURIComponent(e)}.png`),void 0,t,n,this._cache)};mI.prototype.fromText=function(e,t,n){return CV(void 0,e,t,n,this._cache)};var Wnt=new z;function jnt(e,t,n){e.save(),e.scale(n/24,n/24),e.fillStyle=t.toCssColorString(),e.strokeStyle=t.brighten(.6,Wnt).toCssColorString(),e.lineWidth=.846,e.beginPath(),e.moveTo(6.72,.422),e.lineTo(17.28,.422),e.bezierCurveTo(18.553,.422,19.577,1.758,19.577,3.415),e.lineTo(19.577,10.973),e.bezierCurveTo(19.577,12.63,18.553,13.966,17.282,13.966),e.lineTo(14.386,14.008),e.lineTo(11.826,23.578),e.lineTo(9.614,14.008),e.lineTo(6.719,13.965),e.bezierCurveTo(5.446,13.983,4.422,12.629,4.422,10.972),e.lineTo(4.422,3.416),e.bezierCurveTo(4.423,1.76,5.447,.423,6.718,.423),e.closePath(),e.fill(),e.stroke(),e.restore()}function Lme(e,t,n){let i=n/2.5,o=i,r=i;t.width>t.height?r=i*(t.height/t.width):t.width<t.height&&(o=i*(t.width/t.height));let s=Math.round((n-o)/2),a=Math.round(7/24*n-r/2);e.globalCompositeOperation="destination-out",e.drawImage(t,s-1,a,o,r),e.drawImage(t,s,a-1,o,r),e.drawImage(t,s+1,a,o,r),e.drawImage(t,s,a+1,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=z.BLACK.toCssColorString(),e.fillRect(s-1,a-1,o+2,r+2),e.globalCompositeOperation="destination-out",e.drawImage(t,s,a,o,r),e.globalCompositeOperation="destination-over",e.fillStyle=z.WHITE.toCssColorString(),e.fillRect(s-1,a-2,o+2,r+2)}var hI=new Array(4);function CV(e,t,n,i,o){hI[0]=e,hI[1]=t,hI[2]=n,hI[3]=i;let r=JSON.stringify(hI),s=o[r];if(l(s))return s;let a=document.createElement("canvas");a.width=i,a.height=i;let c=a.getContext("2d");if(jnt(c,n,i),l(e)){let f=Ae.createIfNeeded(e).fetchImage().then(function(d){return Lme(c,d,i),o[r]=a,a});return o[r]=f,f}else if(l(t)){let u=nA(t,{font:`bold ${i}px sans-serif`});Lme(c,u,i)}return o[r]=a,a}var Ny=mI;function Lq(e){return e}function AV(e){if(e==null)return Lq;var t,n,i=e.scale[0],o=e.scale[1],r=e.translate[0],s=e.translate[1];return function(a,c){c||(t=n=0);var u=2,f=a.length,d=new Array(f);for(d[0]=(t+=a[0])*i+r,d[1]=(n+=a[1])*o+s;u<f;)d[u]=a[u],++u;return d}}function Nme(e,t){for(var n,i=e.length,o=i-t;o<--i;)n=e[o],e[o++]=e[i],e[i]=n}function Nq(e,t){return typeof t=="string"&&(t=e.objects[t]),t.type==="GeometryCollection"?{type:"FeatureCollection",features:t.geometries.map(function(n){return Fme(e,n)})}:Fme(e,t)}function Fme(e,t){var n=t.id,i=t.bbox,o=t.properties==null?{}:t.properties,r=Fq(e,t);return n==null&&i==null?{type:"Feature",properties:o,geometry:r}:i==null?{type:"Feature",id:n,properties:o,geometry:r}:{type:"Feature",id:n,bbox:i,properties:o,geometry:r}}function Fq(e,t){var n=AV(e.transform),i=e.arcs;function o(f,d){d.length&&d.pop();for(var p=i[f<0?~f:f],g=0,m=p.length;g<m;++g)d.push(n(p[g],g));f<0&&Nme(d,m)}function r(f){return n(f)}function s(f){for(var d=[],p=0,g=f.length;p<g;++p)o(f[p],d);return d.length<2&&d.push(d[0]),d}function a(f){for(var d=s(f);d.length<4;)d.push(d[0]);return d}function c(f){return f.map(a)}function u(f){var d=f.type,p;switch(d){case"GeometryCollection":return{type:d,geometries:f.geometries.map(u)};case"Point":p=r(f.coordinates);break;case"MultiPoint":p=f.coordinates.map(r);break;case"LineString":p=s(f.arcs);break;case"MultiLineString":p=f.arcs.map(s);break;case"Polygon":p=c(f.arcs);break;case"MultiPolygon":p=f.arcs.map(c);break;default:return null}return{type:d,coordinates:p}}return u(t)}function EV(e){return h.fromDegrees(e[0],e[1],e[2])}var Bq={"urn:ogc:def:crs:OGC:1.3:CRS84":EV,"EPSG:4326":EV,"urn:ogc:def:crs:EPSG::4326":EV},Bme={},kme={},kq=48,Vq,Uq=z.ROYALBLUE,zq=z.YELLOW,Hq=2,Gq=z.fromBytes(255,255,0,100),Wq=!1,Znt={small:24,medium:48,large:64},$nt=["title","description","marker-size","marker-symbol","marker-color","stroke","stroke-opacity","stroke-width","fill","fill-opacity"];function Vme(e,t){let n="";for(let i in e)if(e.hasOwnProperty(i)){if(i===t||$nt.indexOf(i)!==-1)continue;let o=e[i];l(o)&&(typeof o=="object"?n+=`<tr><th>${i}</th><td>${Vme(o)}</td></tr>`:n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}return n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function Qnt(e,t,n){let i;return function(o,r){return l(i)||(i=e(t,n)),i}}function Jnt(e,t){return new Bh(Qnt(Vme,e,t),!0)}function SV(e,t,n){let i=e.id;if(!l(i)||e.type!=="Feature")i=Gn();else{let s=2,a=i;for(;l(t.getById(a));)a=`${i}_${s}`,s++;i=a}let o=t.getOrCreateEntity(i),r=e.properties;if(l(r)){o.properties=r;let s,a=r.title;if(l(a))o.name=a,s="title";else{let u=Number.MAX_VALUE;for(let f in r)if(r.hasOwnProperty(f)&&r[f]){let d=f.toLowerCase();if(u>1&&d==="title"){u=1,s=f;break}else u>2&&d==="name"?(u=2,s=f):u>3&&/title/i.test(f)?(u=3,s=f):u>4&&/name/i.test(f)&&(u=4,s=f)}l(s)&&(o.name=r[s])}let c=r.description;c!==null&&(o.description=l(c)?new $n(c):n(r,s))}return o}function jq(e,t){let n=new Array(e.length);for(let i=0;i<e.length;i++)n[i]=t(e[i]);return n}var Ume={Feature:Hme,FeatureCollection:eit,GeometryCollection:Gme,LineString:Xme,MultiLineString:Kme,MultiPoint:qme,MultiPolygon:Qme,Point:jme,Polygon:$me,Topology:Jme},zme={GeometryCollection:Gme,LineString:Xme,MultiLineString:Kme,MultiPoint:qme,MultiPolygon:Qme,Point:jme,Polygon:$me,Topology:Jme};function Hme(e,t,n,i,o){if(t.geometry===null){SV(t,e._entityCollection,o.describe);return}if(!l(t.geometry))throw new se("feature.geometry is required.");let r=t.geometry.type,s=zme[r];if(!l(s))throw new se(`Unknown geometry type: ${r}`);s(e,t,t.geometry,i,o)}function eit(e,t,n,i,o){let r=t.features;for(let s=0,a=r.length;s<a;s++)Hme(e,r[s],void 0,i,o)}function Gme(e,t,n,i,o){let r=n.geometries;for(let s=0,a=r.length;s<a;s++){let c=r[s],u=c.type,f=zme[u];if(!l(f))throw new se(`Unknown geometry type: ${u}`);f(e,t,c,i,o)}}function Wme(e,t,n,i,o){let r=o.markerSymbol,s=o.markerColor,a=o.markerSize,c=t.properties;if(l(c)){let g=c["marker-color"];l(g)&&(s=z.fromCssColorString(g)),a=y(Znt[c["marker-size"]],a);let m=c["marker-symbol"];l(m)&&(r=m)}let u;l(r)?r.length===1?u=e._pinBuilder.fromText(r.toUpperCase(),s,a):u=e._pinBuilder.fromMakiIconId(r,s,a):u=e._pinBuilder.fromColor(s,a);let f=new vc;f.verticalOrigin=new $n(Ln.BOTTOM),i.length===2&&o.clampToGround&&(f.heightReference=Xe.CLAMP_TO_GROUND);let d=SV(t,e._entityCollection,o.describe);d.billboard=f,d.position=new ml(n(i));let p=Promise.resolve(u).then(function(g){f.image=new $n(g)}).catch(function(){f.image=new $n(e._pinBuilder.fromColor(s,a))});e._promises.push(p)}function jme(e,t,n,i,o){Wme(e,t,i,n.coordinates,o)}function qme(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Wme(e,t,i,r[s],o)}function Yme(e,t,n,i,o){let r=o.strokeMaterialProperty,s=o.strokeWidthProperty,a=t.properties;if(l(a)){let f=a["stroke-width"];l(f)&&(s=new $n(f));let d,p=a.stroke;l(p)&&(d=z.fromCssColorString(p));let g=a["stroke-opacity"];l(g)&&g!==1&&(l(d)||(d=r.color.getValue().clone()),d.alpha=g),l(d)&&(r=new Ht(d))}let c=SV(t,e._entityCollection,o.describe),u=new Oc;c.polyline=u,u.clampToGround=o.clampToGround,u.material=r,u.width=s,u.positions=new $n(jq(i,n)),u.arcType=nn.RHUMB}function Xme(e,t,n,i,o){Yme(e,t,i,n.coordinates,o)}function Kme(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Yme(e,t,i,r[s],o)}function Zme(e,t,n,i,o){if(i.length===0||i[0].length===0)return;let r=o.strokeMaterialProperty.color,s=o.fillMaterialProperty,a=o.strokeWidthProperty,c=t.properties;if(l(c)){let g=c["stroke-width"];l(g)&&(a=new $n(g));let m,x=c.stroke;l(x)&&(m=z.fromCssColorString(x));let b=c["stroke-opacity"];l(b)&&b!==1&&(l(m)||(m=r.getValue().clone()),m.alpha=b),l(m)&&(r=new $n(m));let T,C=c.fill,A=s.color.getValue();l(C)&&(T=z.fromCssColorString(C),T.alpha=A.alpha),b=c["fill-opacity"],l(b)&&b!==A.alpha&&(l(T)||(T=A.clone()),T.alpha=b),l(T)&&(s=new Ht(T))}let u=new Nh;u.outline=new $n(!0),u.outlineColor=r,u.outlineWidth=a,u.material=s,u.arcType=nn.RHUMB;let f=[];for(let g=1,m=i.length;g<m;g++)f.push(new Qa(jq(i[g],n)));let d=i[0];u.hierarchy=new $n(new Qa(jq(d,n),f)),d[0].length>2?u.perPositionHeight=new $n(!0):o.clampToGround||(u.height=0);let p=SV(t,e._entityCollection,o.describe);p.polygon=u}function $me(e,t,n,i,o){Zme(e,t,i,n.coordinates,o)}function Qme(e,t,n,i,o){let r=n.coordinates;for(let s=0;s<r.length;s++)Zme(e,t,i,r[s],o)}function Jme(e,t,n,i,o){for(let r in n.objects)if(n.objects.hasOwnProperty(r)){let s=Nq(n,n.objects[r]),a=Ume[s.type];a(e,s,s,i,o)}}function Fy(e){this._name=e,this._changed=new me,this._error=new me,this._isLoading=!1,this._loading=new me,this._entityCollection=new fa(this),this._promises=[],this._pinBuilder=new Ny,this._entityCluster=new Pf,this._credit=void 0,this._resourceCredits=[]}Fy.load=function(e,t){return new Fy().load(e,t)};Object.defineProperties(Fy,{markerSize:{get:function(){return kq},set:function(e){kq=e}},markerSymbol:{get:function(){return Vq},set:function(e){Vq=e}},markerColor:{get:function(){return Uq},set:function(e){Uq=e}},stroke:{get:function(){return zq},set:function(e){zq=e}},strokeWidth:{get:function(){return Hq},set:function(e){Hq=e}},fill:{get:function(){return Gq},set:function(e){Gq=e}},clampToGround:{get:function(){return Wq},set:function(e){Wq=e}},crsNames:{get:function(){return Bq}},crsLinkHrefs:{get:function(){return Bme}},crsLinkTypes:{get:function(){return kme}}});Object.defineProperties(Fy.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{value:void 0,writable:!1},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}}});Fy.prototype.load=function(e,t){return epe(this,e,t,!0)};Fy.prototype.process=function(e,t){return epe(this,e,t,!1)};function epe(e,t,n,i){Zr.setLoading(e,!0),n=y(n,y.EMPTY_OBJECT);let o=n.credit;typeof o=="string"&&(o=new Et(o)),e._credit=o;let r=t,s=n.sourceUri;if(typeof t=="string"||t instanceof Ae){t=Ae.createIfNeeded(t),r=t.fetchJson(),s=y(s,t.getUrlComponent());let a=e._resourceCredits,c=t.credits;if(l(c)){let u=c.length;for(let f=0;f<u;f++)a.push(c[f])}}return n={describe:y(n.describe,Jnt),markerSize:y(n.markerSize,kq),markerSymbol:y(n.markerSymbol,Vq),markerColor:y(n.markerColor,Uq),strokeWidthProperty:new $n(y(n.strokeWidth,Hq)),strokeMaterialProperty:new Ht(y(n.stroke,zq)),fillMaterialProperty:new Ht(y(n.fill,Gq)),clampToGround:y(n.clampToGround,Wq)},Promise.resolve(r).then(function(a){return tit(e,a,n,s,i)}).catch(function(a){throw Zr.setLoading(e,!1),e._error.raiseEvent(e,a),a})}Fy.prototype.update=function(e){return!0};function tit(e,t,n,i,o){let r;l(i)&&(r=ly(i)),l(r)&&e._name!==r&&(e._name=r,e._changed.raiseEvent(e));let s=Ume[t.type];if(!l(s))throw new se(`Unsupported GeoJSON object type: ${t.type}`);let a=t.crs,c=a!==null?EV:null;if(l(a)){if(!l(a.properties))throw new se("crs.properties is undefined.");let u=a.properties;if(a.type==="name"){if(c=Bq[u.name],!l(c))throw new se(`Unknown crs name: ${u.name}`)}else if(a.type==="link"){let f=Bme[u.href];if(l(f)||(f=kme[u.type]),!l(f))throw new se(`Unable to resolve crs link: ${JSON.stringify(u)}`);c=f(u)}else if(a.type==="EPSG"){if(c=Bq[`EPSG:${u.code}`],!l(c))throw new se(`Unknown crs EPSG code: ${u.code}`)}else throw new se(`Unknown crs type: ${a.type}`)}return Promise.resolve(c).then(function(u){return o&&e._entityCollection.removeAll(),u!==null&&s(e,t,t,u,n),Promise.all(e._promises).then(function(){return e._promises.length=0,Zr.setLoading(e,!1),e})})}var vV=Fy;function nit(e){return typeof e=="string"&&(e=document.getElementById(e)),e}var Mn=nit;var tpe="4.0.0";function iit(e){return e===void 0}function Au(e){return typeof e=="boolean"}function npe(e,t){for(var n in t)t.hasOwnProperty(n)&&iit(e[n])&&(e[n]=t[n]);return e}function ipe(e,t,n){var i;return e.length>t&&(n==null?(n="…",i=3):i=n.length,e=e.substring(0,t-i)+n),e}function Ho(e,t){for(var n=e.length-1;n>=0;n--)e[n]===t&&e.splice(n,1)}function By(e,t){for(var n=e.length-1;n>=0;n--)t(e[n])===!0&&e.splice(n,1)}function ky(e){throw new Error("Unhandled case for value: '".concat(e,"'"))}var Vy=/[A-Za-z]/,qs=/[\d]/;var Eu=/\s/,wV=/['"]/,ope=/[\x00-\x1F\x7F]/,rpe=/A-Za-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16F1-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC/.source,oit=/\u2700-\u27bf\udde6-\uddff\ud800-\udbff\udc00-\udfff\ufe0e\ufe0f\u0300-\u036f\ufe20-\ufe23\u20d0-\u20f0\ud83c\udffb-\udfff\u200d\u3299\u3297\u303d\u3030\u24c2\ud83c\udd70-\udd71\udd7e-\udd7f\udd8e\udd91-\udd9a\udde6-\uddff\ude01-\ude02\ude1a\ude2f\ude32-\ude3a\ude50-\ude51\u203c\u2049\u25aa-\u25ab\u25b6\u25c0\u25fb-\u25fe\u00a9\u00ae\u2122\u2139\udc04\u2600-\u26FF\u2b05\u2b06\u2b07\u2b1b\u2b1c\u2b50\u2b55\u231a\u231b\u2328\u23cf\u23e9-\u23f3\u23f8-\u23fa\udccf\u2935\u2934\u2190-\u21ff/.source,rit=/\u0300-\u036F\u0483-\u0489\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u065F\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u0711\u0730-\u074A\u07A6-\u07B0\u07EB-\u07F3\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u08D4-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A70\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B62\u0B63\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0C00-\u0C03\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0D01-\u0D03\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D82\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0EB1\u0EB4-\u0EB9\u0EBB\u0EBC\u0EC8-\u0ECD\u0F18\u0F19\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F\u109A-\u109D\u135D-\u135F\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u180B-\u180D\u1885\u1886\u18A9\u1920-\u192B\u1930-\u193B\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F\u1AB0-\u1ABE\u1B00-\u1B04\u1B34-\u1B44\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BE6-\u1BF3\u1C24-\u1C37\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF2-\u1CF4\u1CF8\u1CF9\u1DC0-\u1DF5\u1DFB-\u1DFF\u20D0-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\uA66F-\uA672\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA880\uA881\uA8B4-\uA8C5\uA8E0-\uA8F1\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9E5\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F/.source,sit=rpe+oit+rit,spe=/0-9\u0660-\u0669\u06F0-\u06F9\u07C0-\u07C9\u0966-\u096F\u09E6-\u09EF\u0A66-\u0A6F\u0AE6-\u0AEF\u0B66-\u0B6F\u0BE6-\u0BEF\u0C66-\u0C6F\u0CE6-\u0CEF\u0D66-\u0D6F\u0DE6-\u0DEF\u0E50-\u0E59\u0ED0-\u0ED9\u0F20-\u0F29\u1040-\u1049\u1090-\u1099\u17E0-\u17E9\u1810-\u1819\u1946-\u194F\u19D0-\u19D9\u1A80-\u1A89\u1A90-\u1A99\u1B50-\u1B59\u1BB0-\u1BB9\u1C40-\u1C49\u1C50-\u1C59\uA620-\uA629\uA8D0-\uA8D9\uA900-\uA909\uA9D0-\uA9D9\uA9F0-\uA9F9\uAA50-\uAA59\uABF0-\uABF9\uFF10-\uFF19/.source,LJn=new RegExp("[".concat(rpe+spe,"]")),qq=sit+spe,Kd=new RegExp("[".concat(qq,"]"));var DV=function(){function e(t){t===void 0&&(t={}),this.tagName="",this.attrs={},this.innerHTML="",this.tagName=t.tagName||"",this.attrs=t.attrs||{},this.innerHTML=t.innerHtml||t.innerHTML||""}return e.prototype.setTagName=function(t){return this.tagName=t,this},e.prototype.getTagName=function(){return this.tagName||""},e.prototype.setAttr=function(t,n){var i=this.getAttrs();return i[t]=n,this},e.prototype.getAttr=function(t){return this.getAttrs()[t]},e.prototype.setAttrs=function(t){return Object.assign(this.getAttrs(),t),this},e.prototype.getAttrs=function(){return this.attrs||(this.attrs={})},e.prototype.setClass=function(t){return this.setAttr("class",t)},e.prototype.addClass=function(t){for(var n=this.getClass(),i=n?n.split(Eu):[],o=t.split(Eu),r;r=o.shift();)i.indexOf(r)===-1&&i.push(r);return this.getAttrs().class=i.join(" "),this},e.prototype.removeClass=function(t){for(var n=this.getClass(),i=n?n.split(Eu):[],o=t.split(Eu),r;i.length&&(r=o.shift());){var s=i.indexOf(r);s!==-1&&i.splice(s,1)}return this.getAttrs().class=i.join(" "),this},e.prototype.getClass=function(){return this.getAttrs().class||""},e.prototype.hasClass=function(t){return(" "+this.getClass()+" ").indexOf(" "+t+" ")!==-1},e.prototype.setInnerHTML=function(t){return this.innerHTML=t,this},e.prototype.setInnerHtml=function(t){return this.setInnerHTML(t)},e.prototype.getInnerHTML=function(){return this.innerHTML||""},e.prototype.getInnerHtml=function(){return this.getInnerHTML()},e.prototype.toAnchorString=function(){var t=this.getTagName(),n=this.buildAttrsStr();return n=n?" "+n:"",["<",t,n,">",this.getInnerHtml(),"</",t,">"].join("")},e.prototype.buildAttrsStr=function(){if(!this.attrs)return"";var t=this.getAttrs(),n=[];for(var i in t)t.hasOwnProperty(i)&&n.push(i+'="'+t[i]+'"');return n.join(" ")},e}();function ape(e,t,n){var i,o;n==null?(n="…",o=3,i=8):(o=n.length,i=n.length);var r=function(C){var A={},S=C,v=S.match(/^([a-z]+):\/\//i);return v&&(A.scheme=v[1],S=S.substr(v[0].length)),v=S.match(/^(.*?)(?=(\?|#|\/|$))/i),v&&(A.host=v[1],S=S.substr(v[0].length)),v=S.match(/^\/(.*?)(?=(\?|#|$))/i),v&&(A.path=v[1],S=S.substr(v[0].length)),v=S.match(/^\?(.*?)(?=(#|$))/i),v&&(A.query=v[1],S=S.substr(v[0].length)),v=S.match(/^#(.*?)$/i),v&&(A.fragment=v[1]),A},s=function(C){var A="";return C.scheme&&C.host&&(A+=C.scheme+"://"),C.host&&(A+=C.host),C.path&&(A+="/"+C.path),C.query&&(A+="?"+C.query),C.fragment&&(A+="#"+C.fragment),A},a=function(C,A){var S=A/2,v=Math.ceil(S),D=-1*Math.floor(S),R="";return D<0&&(R=C.substr(D)),C.substr(0,v)+n+R};if(e.length<=t)return e;var c=t-o,u=r(e);if(u.query){var f=u.query.match(/^(.*?)(?=(\?|\#))(.*?)$/i);f&&(u.query=u.query.substr(0,f[1].length),e=s(u))}if(e.length<=t||(u.host&&(u.host=u.host.replace(/^www\./,""),e=s(u)),e.length<=t))return e;var d="";if(u.host&&(d+=u.host),d.length>=c)return u.host.length==t?(u.host.substr(0,t-o)+n).substr(0,c+i):a(d,c).substr(0,c+i);var p="";if(u.path&&(p+="/"+u.path),u.query&&(p+="?"+u.query),p)if((d+p).length>=c){if((d+p).length==t)return(d+p).substr(0,t);var g=c-d.length;return(d+a(p,g)).substr(0,c+i)}else d+=p;if(u.fragment){var m="#"+u.fragment;if((d+m).length>=c){if((d+m).length==t)return(d+m).substr(0,t);var x=c-d.length;return(d+a(m,x)).substr(0,c+i)}else d+=m}if(u.scheme&&u.host){var b=u.scheme+"://";if((d+b).length<c)return(b+d).substr(0,t)}if(d.length<=t)return d;var T="";return c>0&&(T=d.substr(-1*Math.floor(c/2))),(d.substr(0,Math.ceil(c/2))+n+T).substr(0,c+i)}function cpe(e,t,n){if(e.length<=t)return e;var i,o;n==null?(n="…",i=8,o=3):(i=n.length,o=n.length);var r=t-o,s="";return r>0&&(s=e.substr(-1*Math.floor(r/2))),(e.substr(0,Math.ceil(r/2))+n+s).substr(0,r+i)}function lpe(e,t,n){return ipe(e,t,n)}var upe=function(){function e(t){t===void 0&&(t={}),this.newWindow=!1,this.truncate={},this.className="",this.newWindow=t.newWindow||!1,this.truncate=t.truncate||{},this.className=t.className||""}return e.prototype.build=function(t){return new DV({tagName:"a",attrs:this.createAttrs(t),innerHtml:this.processAnchorText(t.getAnchorText())})},e.prototype.createAttrs=function(t){var n={href:t.getAnchorHref()},i=this.createCssClass(t);return i&&(n.class=i),this.newWindow&&(n.target="_blank",n.rel="noopener noreferrer"),this.truncate&&this.truncate.length&&this.truncate.length<t.getAnchorText().length&&(n.title=t.getAnchorHref()),n},e.prototype.createCssClass=function(t){var n=this.className;if(n){for(var i=[n],o=t.getCssClassSuffixes(),r=0,s=o.length;r<s;r++)i.push(n+"-"+o[r]);return i.join(" ")}else return""},e.prototype.processAnchorText=function(t){return t=this.doTruncate(t),t},e.prototype.doTruncate=function(t){var n=this.truncate;if(!n||!n.length)return t;var i=n.length,o=n.location;return o==="smart"?ape(t,i):o==="middle"?cpe(t,i):lpe(t,i)},e}();var Yq=function(e,t){return Yq=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var o in i)Object.prototype.hasOwnProperty.call(i,o)&&(n[o]=i[o])},Yq(e,t)};function Em(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Yq(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}var Ys=function(){return Ys=Object.assign||function(t){for(var n,i=1,o=arguments.length;i<o;i++){n=arguments[i];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},Ys.apply(this,arguments)};var Sm=function(){function e(t){this._=null,this.matchedText="",this.offset=0,this.tagBuilder=t.tagBuilder,this.matchedText=t.matchedText,this.offset=t.offset}return e.prototype.getMatchedText=function(){return this.matchedText},e.prototype.setOffset=function(t){this.offset=t},e.prototype.getOffset=function(){return this.offset},e.prototype.getCssClassSuffixes=function(){return[this.type]},e.prototype.buildTag=function(){return this.tagBuilder.build(this)},e}();var ait="(?:xn--vermgensberatung-pwb|xn--vermgensberater-ctb|xn--clchc0ea0b2g2a9gcd|xn--w4r85el8fhu5dnra|northwesternmutual|travelersinsurance|verm\xF6gensberatung|xn--5su34j936bgsg|xn--bck1b9a5dre4c|xn--mgbah1a3hjkrd|xn--mgbai9azgqp6j|xn--mgberp4a5d4ar|xn--xkc2dl3a5ee0h|verm\xF6gensberater|xn--fzys8d69uvgm|xn--mgba7c0bbn0a|xn--mgbcpq6gpa1a|xn--xkc2al3hye2a|americanexpress|kerryproperties|sandvikcoromant|xn--i1b6b1a6a2e|xn--kcrx77d1x4a|xn--lgbbat1ad8j|xn--mgba3a4f16a|xn--mgbaakc7dvf|xn--mgbc0a9azcg|xn--nqv7fs00ema|americanfamily|bananarepublic|cancerresearch|cookingchannel|kerrylogistics|weatherchannel|xn--54b7fta0cc|xn--6qq986b3xl|xn--80aqecdr1a|xn--b4w605ferd|xn--fiq228c5hs|xn--h2breg3eve|xn--jlq480n2rg|xn--jlq61u9w7b|xn--mgba3a3ejt|xn--mgbaam7a8h|xn--mgbayh7gpa|xn--mgbbh1a71e|xn--mgbca7dzdo|xn--mgbi4ecexp|xn--mgbx4cd0ab|xn--rvc1e0am3e|international|lifeinsurance|travelchannel|wolterskluwer|xn--cckwcxetd|xn--eckvdtc9d|xn--fpcrj9c3d|xn--fzc2c9e2c|xn--h2brj9c8c|xn--tiq49xqyj|xn--yfro4i67o|xn--ygbi2ammx|construction|lplfinancial|scholarships|versicherung|xn--3e0b707e|xn--45br5cyl|xn--4dbrk0ce|xn--80adxhks|xn--80asehdb|xn--8y0a063a|xn--gckr3f0f|xn--mgb9awbf|xn--mgbab2bd|xn--mgbgu82a|xn--mgbpl2fh|xn--mgbt3dhd|xn--mk1bu44c|xn--ngbc5azd|xn--ngbe9e0a|xn--ogbpf8fl|xn--qcka1pmc|accountants|barclaycard|blackfriday|blockbuster|bridgestone|calvinklein|contractors|creditunion|engineering|enterprises|foodnetwork|investments|kerryhotels|lamborghini|motorcycles|olayangroup|photography|playstation|productions|progressive|redumbrella|williamhill|xn--11b4c3d|xn--1ck2e1b|xn--1qqw23a|xn--2scrj9c|xn--3bst00m|xn--3ds443g|xn--3hcrj9c|xn--42c2d9a|xn--45brj9c|xn--55qw42g|xn--6frz82g|xn--80ao21a|xn--9krt00a|xn--cck2b3b|xn--czr694b|xn--d1acj3b|xn--efvy88h|xn--fct429k|xn--fjq720a|xn--flw351e|xn--g2xx48c|xn--gecrj9c|xn--gk3at1e|xn--h2brj9c|xn--hxt814e|xn--imr513n|xn--j6w193g|xn--jvr189m|xn--kprw13d|xn--kpry57d|xn--mgbbh1a|xn--mgbtx2b|xn--mix891f|xn--nyqy26a|xn--otu796d|xn--pgbs0dh|xn--q9jyb4c|xn--rhqv96g|xn--rovu88b|xn--s9brj9c|xn--ses554g|xn--t60b56a|xn--vuq861b|xn--w4rs40l|xn--xhq521b|xn--zfr164b|\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCD|accountant|apartments|associates|basketball|bnpparibas|boehringer|capitalone|consulting|creditcard|cuisinella|eurovision|extraspace|foundation|healthcare|immobilien|industries|management|mitsubishi|nextdirect|properties|protection|prudential|realestate|republican|restaurant|schaeffler|tatamotors|technology|university|vlaanderen|volkswagen|xn--30rr7y|xn--3pxu8k|xn--45q11c|xn--4gbrim|xn--55qx5d|xn--5tzm5g|xn--80aswg|xn--90a3ac|xn--9dbq2a|xn--9et52u|xn--c2br7g|xn--cg4bki|xn--czrs0t|xn--czru2d|xn--fiq64b|xn--fiqs8s|xn--fiqz9s|xn--io0a7i|xn--kput3i|xn--mxtq1m|xn--o3cw4h|xn--pssy2u|xn--q7ce6a|xn--unup4y|xn--wgbh1c|xn--wgbl6a|xn--y9a3aq|accenture|alfaromeo|allfinanz|amsterdam|analytics|aquarelle|barcelona|bloomberg|christmas|community|directory|education|equipment|fairwinds|financial|firestone|fresenius|frontdoor|furniture|goldpoint|hisamitsu|homedepot|homegoods|homesense|institute|insurance|kuokgroup|lancaster|landrover|lifestyle|marketing|marshalls|melbourne|microsoft|panasonic|passagens|pramerica|richardli|shangrila|solutions|statebank|statefarm|stockholm|travelers|vacations|xn--90ais|xn--c1avg|xn--d1alf|xn--e1a4c|xn--fhbei|xn--j1aef|xn--j1amh|xn--l1acc|xn--ngbrx|xn--nqv7f|xn--p1acf|xn--qxa6a|xn--tckwe|xn--vhquv|yodobashi|\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627|abudhabi|airforce|allstate|attorney|barclays|barefoot|bargains|baseball|boutique|bradesco|broadway|brussels|builders|business|capetown|catering|catholic|cipriani|cityeats|cleaning|clinique|clothing|commbank|computer|delivery|deloitte|democrat|diamonds|discount|discover|download|engineer|ericsson|etisalat|exchange|feedback|fidelity|firmdale|football|frontier|goodyear|grainger|graphics|guardian|hdfcbank|helsinki|holdings|hospital|infiniti|ipiranga|istanbul|jpmorgan|lighting|lundbeck|marriott|maserati|mckinsey|memorial|merckmsd|mortgage|observer|partners|pharmacy|pictures|plumbing|property|redstone|reliance|saarland|samsclub|security|services|shopping|showtime|softbank|software|stcgroup|supplies|training|vanguard|ventures|verisign|woodside|xn--90ae|xn--node|xn--p1ai|xn--qxam|yokohama|\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629|abogado|academy|agakhan|alibaba|android|athleta|auction|audible|auspost|avianca|banamex|bauhaus|bentley|bestbuy|booking|brother|bugatti|capital|caravan|careers|channel|charity|chintai|citadel|clubmed|college|cologne|comcast|company|compare|contact|cooking|corsica|country|coupons|courses|cricket|cruises|dentist|digital|domains|exposed|express|farmers|fashion|ferrari|ferrero|finance|fishing|fitness|flights|florist|flowers|forsale|frogans|fujitsu|gallery|genting|godaddy|grocery|guitars|hamburg|hangout|hitachi|holiday|hosting|hoteles|hotmail|hyundai|ismaili|jewelry|juniper|kitchen|komatsu|lacaixa|lanxess|lasalle|latrobe|leclerc|limited|lincoln|markets|monster|netbank|netflix|network|neustar|okinawa|oldnavy|organic|origins|philips|pioneer|politie|realtor|recipes|rentals|reviews|rexroth|samsung|sandvik|schmidt|schwarz|science|shiksha|singles|staples|storage|support|surgery|systems|temasek|theater|theatre|tickets|tiffany|toshiba|trading|walmart|wanggou|watches|weather|website|wedding|whoswho|windows|winners|xfinity|yamaxun|youtube|zuerich|\u043A\u0430\u0442\u043E\u043B\u0438\u043A|\u0627\u062A\u0635\u0627\u0644\u0627\u062A|\u0627\u0644\u0628\u062D\u0631\u064A\u0646|\u0627\u0644\u062C\u0632\u0627\u0626\u0631|\u0627\u0644\u0639\u0644\u064A\u0627\u0646|\u067E\u0627\u06A9\u0633\u062A\u0627\u0646|\u0643\u0627\u062B\u0648\u0644\u064A\u0643|\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBE|abarth|abbott|abbvie|africa|agency|airbus|airtel|alipay|alsace|alstom|amazon|anquan|aramco|author|bayern|beauty|berlin|bharti|bostik|boston|broker|camera|career|casino|center|chanel|chrome|church|circle|claims|clinic|coffee|comsec|condos|coupon|credit|cruise|dating|datsun|dealer|degree|dental|design|direct|doctor|dunlop|dupont|durban|emerck|energy|estate|events|expert|family|flickr|futbol|gallup|garden|george|giving|global|google|gratis|health|hermes|hiphop|hockey|hotels|hughes|imamat|insure|intuit|jaguar|joburg|juegos|kaufen|kinder|kindle|kosher|lancia|latino|lawyer|lefrak|living|locker|london|luxury|madrid|maison|makeup|market|mattel|mobile|monash|mormon|moscow|museum|mutual|nagoya|natura|nissan|nissay|norton|nowruz|office|olayan|online|oracle|orange|otsuka|pfizer|photos|physio|pictet|quebec|racing|realty|reisen|repair|report|review|rocher|rogers|ryukyu|safety|sakura|sanofi|school|schule|search|secure|select|shouji|soccer|social|stream|studio|supply|suzuki|swatch|sydney|taipei|taobao|target|tattoo|tennis|tienda|tjmaxx|tkmaxx|toyota|travel|unicom|viajes|viking|villas|virgin|vision|voting|voyage|vuelos|walter|webcam|xihuan|yachts|yandex|zappos|\u043C\u043E\u0441\u043A\u0432\u0430|\u043E\u043D\u043B\u0430\u0439\u043D|\u0627\u0628\u0648\u0638\u0628\u064A|\u0627\u0631\u0627\u0645\u0643\u0648|\u0627\u0644\u0627\u0631\u062F\u0646|\u0627\u0644\u0645\u063A\u0631\u0628|\u0627\u0645\u0627\u0631\u0627\u062A|\u0641\u0644\u0633\u0637\u064A\u0646|\u0645\u0644\u064A\u0633\u064A\u0627|\u092D\u093E\u0930\u0924\u092E\u094D|\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8|\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3|actor|adult|aetna|amfam|amica|apple|archi|audio|autos|azure|baidu|beats|bible|bingo|black|boats|bosch|build|canon|cards|chase|cheap|cisco|citic|click|cloud|coach|codes|crown|cymru|dabur|dance|deals|delta|drive|dubai|earth|edeka|email|epson|faith|fedex|final|forex|forum|gallo|games|gifts|gives|glass|globo|gmail|green|gripe|group|gucci|guide|homes|honda|horse|house|hyatt|ikano|irish|jetzt|koeln|kyoto|lamer|lease|legal|lexus|lilly|linde|lipsy|loans|locus|lotte|lotto|macys|mango|media|miami|money|movie|music|nexus|nikon|ninja|nokia|nowtv|omega|osaka|paris|parts|party|phone|photo|pizza|place|poker|praxi|press|prime|promo|quest|radio|rehab|reise|ricoh|rocks|rodeo|rugby|salon|sener|seven|sharp|shell|shoes|skype|sling|smart|smile|solar|space|sport|stada|store|study|style|sucks|swiss|tatar|tires|tirol|tmall|today|tokyo|tools|toray|total|tours|trade|trust|tunes|tushu|ubank|vegas|video|vodka|volvo|wales|watch|weber|weibo|works|world|xerox|yahoo|\u05D9\u05E9\u05E8\u05D0\u05DC|\u0627\u06CC\u0631\u0627\u0646|\u0628\u0627\u0632\u0627\u0631|\u0628\u06BE\u0627\u0631\u062A|\u0633\u0648\u062F\u0627\u0646|\u0633\u0648\u0631\u064A\u0629|\u0647\u0645\u0631\u0627\u0647|\u092D\u093E\u0930\u094B\u0924|\u0938\u0902\u0917\u0920\u0928|\u09AC\u09BE\u0982\u09B2\u09BE|\u0C2D\u0C3E\u0C30\u0C24\u0C4D|\u0D2D\u0D3E\u0D30\u0D24\u0D02|\u5609\u91CC\u5927\u9152\u5E97|aarp|able|adac|aero|akdn|ally|amex|arab|army|arpa|arte|asda|asia|audi|auto|baby|band|bank|bbva|beer|best|bike|bing|blog|blue|bofa|bond|book|buzz|cafe|call|camp|care|cars|casa|case|cash|cbre|cern|chat|citi|city|club|cool|coop|cyou|data|date|dclk|deal|dell|desi|diet|dish|docs|dvag|erni|fage|fail|fans|farm|fast|fiat|fido|film|fire|fish|flir|food|ford|free|fund|game|gbiz|gent|ggee|gift|gmbh|gold|golf|goog|guge|guru|hair|haus|hdfc|help|here|hgtv|host|hsbc|icbc|ieee|imdb|immo|info|itau|java|jeep|jobs|jprs|kddi|kids|kiwi|kpmg|kred|land|lego|lgbt|lidl|life|like|limo|link|live|loan|loft|love|ltda|luxe|maif|meet|meme|menu|mini|mint|mobi|moda|moto|name|navy|news|next|nico|nike|ollo|open|page|pars|pccw|pics|ping|pink|play|plus|pohl|porn|post|prod|prof|qpon|read|reit|rent|rest|rich|room|rsvp|ruhr|safe|sale|sarl|save|saxo|scot|seat|seek|sexy|shaw|shia|shop|show|silk|sina|site|skin|sncf|sohu|song|sony|spot|star|surf|talk|taxi|team|tech|teva|tiaa|tips|town|toys|tube|vana|visa|viva|vivo|vote|voto|wang|weir|wien|wiki|wine|work|xbox|yoga|zara|zero|zone|\u0434\u0435\u0442\u0438|\u0441\u0430\u0439\u0442|\u0628\u0627\u0631\u062A|\u0628\u064A\u062A\u0643|\u0680\u0627\u0631\u062A|\u062A\u0648\u0646\u0633|\u0634\u0628\u0643\u0629|\u0639\u0631\u0627\u0642|\u0639\u0645\u0627\u0646|\u0645\u0648\u0642\u0639|\u092D\u093E\u0930\u0924|\u09AD\u09BE\u09B0\u09A4|\u09AD\u09BE\u09F0\u09A4|\u0A2D\u0A3E\u0A30\u0A24|\u0AAD\u0ABE\u0AB0\u0AA4|\u0B2D\u0B3E\u0B30\u0B24|\u0CAD\u0CBE\u0CB0\u0CA4|\u0DBD\u0D82\u0D9A\u0DCF|\u30A2\u30DE\u30BE\u30F3|\u30B0\u30FC\u30B0\u30EB|\u30AF\u30E9\u30A6\u30C9|\u30DD\u30A4\u30F3\u30C8|\u7EC4\u7EC7\u673A\u6784|\u96FB\u8A0A\u76C8\u79D1|\u9999\u683C\u91CC\u62C9|aaa|abb|abc|aco|ads|aeg|afl|aig|anz|aol|app|art|aws|axa|bar|bbc|bbt|bcg|bcn|bet|bid|bio|biz|bms|bmw|bom|boo|bot|box|buy|bzh|cab|cal|cam|car|cat|cba|cbn|cbs|ceo|cfa|cfd|com|cpa|crs|dad|day|dds|dev|dhl|diy|dnp|dog|dot|dtv|dvr|eat|eco|edu|esq|eus|fan|fit|fly|foo|fox|frl|ftr|fun|fyi|gal|gap|gay|gdn|gea|gle|gmo|gmx|goo|gop|got|gov|hbo|hiv|hkt|hot|how|ibm|ice|icu|ifm|inc|ing|ink|int|ist|itv|jcb|jio|jll|jmp|jnj|jot|joy|kfh|kia|kim|kpn|krd|lat|law|lds|llc|llp|lol|lpl|ltd|man|map|mba|med|men|mil|mit|mlb|mls|mma|moe|moi|mom|mov|msd|mtn|mtr|nab|nba|nec|net|new|nfl|ngo|nhk|now|nra|nrw|ntt|nyc|obi|one|ong|onl|ooo|org|ott|ovh|pay|pet|phd|pid|pin|pnc|pro|pru|pub|pwc|red|ren|ril|rio|rip|run|rwe|sap|sas|sbi|sbs|sca|scb|ses|sew|sex|sfr|ski|sky|soy|spa|srl|stc|tab|tax|tci|tdk|tel|thd|tjx|top|trv|tui|tvs|ubs|uno|uol|ups|vet|vig|vin|vip|wed|win|wme|wow|wtc|wtf|xin|xxx|xyz|you|yun|zip|\u0431\u0435\u043B|\u043A\u043E\u043C|\u049B\u0430\u0437|\u043C\u043A\u0434|\u043C\u043E\u043D|\u043E\u0440\u0433|\u0440\u0443\u0441|\u0441\u0440\u0431|\u0443\u043A\u0440|\u0570\u0561\u0575|\u05E7\u05D5\u05DD|\u0639\u0631\u0628|\u0642\u0637\u0631|\u0643\u0648\u0645|\u0645\u0635\u0631|\u0915\u0949\u092E|\u0928\u0947\u091F|\u0E04\u0E2D\u0E21|\u0E44\u0E17\u0E22|\u0EA5\u0EB2\u0EA7|\u30B9\u30C8\u30A2|\u30BB\u30FC\u30EB|\u307F\u3093\u306A|\u4E2D\u6587\u7F51|\u4E9A\u9A6C\u900A|\u5929\u4E3B\u6559|\u6211\u7231\u4F60|\u65B0\u52A0\u5761|\u6DE1\u9A6C\u9521|\u8BFA\u57FA\u4E9A|\u98DE\u5229\u6D66|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw|\u03B5\u03BB|\u03B5\u03C5|\u0431\u0433|\u0435\u044E|\u0440\u0444|\u10D2\u10D4|\uB2F7\uB137|\uB2F7\uCEF4|\uC0BC\uC131|\uD55C\uAD6D|\u30B3\u30E0|\u4E16\u754C|\u4E2D\u4FE1|\u4E2D\u56FD|\u4E2D\u570B|\u4F01\u4E1A|\u4F5B\u5C71|\u4FE1\u606F|\u5065\u5EB7|\u516B\u5366|\u516C\u53F8|\u516C\u76CA|\u53F0\u6E7E|\u53F0\u7063|\u5546\u57CE|\u5546\u5E97|\u5546\u6807|\u5609\u91CC|\u5728\u7EBF|\u5927\u62FF|\u5A31\u4E50|\u5BB6\u96FB|\u5E7F\u4E1C|\u5FAE\u535A|\u6148\u5584|\u624B\u673A|\u62DB\u8058|\u653F\u52A1|\u653F\u5E9C|\u65B0\u95FB|\u65F6\u5C1A|\u66F8\u7C4D|\u673A\u6784|\u6E38\u620F|\u6FB3\u9580|\u70B9\u770B|\u79FB\u52A8|\u7F51\u5740|\u7F51\u5E97|\u7F51\u7AD9|\u7F51\u7EDC|\u8054\u901A|\u8C37\u6B4C|\u8D2D\u7269|\u901A\u8CA9|\u96C6\u56E2|\u98DF\u54C1|\u9910\u5385|\u9999\u6E2F)",fpe=new RegExp("^"+ait+"$");var cit=/[\/?#]/,lit=/[-+&@#/%=~_()|'$*\[\]{}\u2713]/,dpe=/[?!:,.;^]/,Xq=/https?:\/\//i,hpe=new RegExp("^"+Xq.source,"i"),mpe=new RegExp(dpe.source+"$"),uit=/^(javascript|vbscript):/i,fit=/^[A-Za-z][-.+A-Za-z0-9]*:(\/\/)?([^:/]*)/,dit=/^(?:\/\/)?([^/#?:]+)/;function IV(e){return Vy.test(e)}function Kq(e){return Vy.test(e)||qs.test(e)||e==="+"||e==="-"||e==="."}function d_(e){return Kd.test(e)}function PV(e){return e==="_"||d_(e)}function Zq(e){return Kd.test(e)||lit.test(e)||dpe.test(e)}function OV(e){return cit.test(e)}function $q(e){return fpe.test(e.toLowerCase())}function ppe(e){if(uit.test(e))return!1;var t=e.match(fit);if(!t)return!1;var n=!!t[1],i=t[2];return n?!0:!(i.indexOf(".")===-1||!Vy.test(i))}function _pe(e){var t=e.match(dit);if(!t)return!1;var n=t[0],i=n.split(".");if(i.length<2)return!1;var o=i[i.length-1];return!!$q(o)}var hit=/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/,mit=/[:/?#]/;function gpe(e){var t=e.split(mit,1)[0];return hit.test(t)}var pit=/^(https?:\/\/)?(www\.)?/i,_it=/^\/\//,ype=function(e){Em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="url",i.url="",i.urlMatchType="scheme",i.protocolRelativeMatch=!1,i.stripPrefix={scheme:!0,www:!0},i.stripTrailingSlash=!0,i.decodePercentEncoding=!0,i.protocolPrepended=!1,i.urlMatchType=n.urlMatchType,i.url=n.url,i.protocolRelativeMatch=n.protocolRelativeMatch,i.stripPrefix=n.stripPrefix,i.stripTrailingSlash=n.stripTrailingSlash,i.decodePercentEncoding=n.decodePercentEncoding,i}return t.prototype.getType=function(){return"url"},t.prototype.getUrlMatchType=function(){return this.urlMatchType},t.prototype.getUrl=function(){var n=this.url;return!this.protocolRelativeMatch&&this.urlMatchType!=="scheme"&&!this.protocolPrepended&&(n=this.url="http://"+n,this.protocolPrepended=!0),n},t.prototype.getAnchorHref=function(){var n=this.getUrl();return n.replace(/&/g,"&")},t.prototype.getAnchorText=function(){var n=this.getMatchedText();return this.protocolRelativeMatch&&(n=xit(n)),this.stripPrefix.scheme&&(n=git(n)),this.stripPrefix.www&&(n=yit(n)),this.stripTrailingSlash&&(n=bit(n)),this.decodePercentEncoding&&(n=Tit(n)),n},t}(Sm);function git(e){return e.replace(hpe,"")}function yit(e){return e.replace(pit,"$1")}function xit(e){return e.replace(_it,"")}function bit(e){return e.charAt(e.length-1)==="/"&&(e=e.slice(0,-1)),e}function Tit(e){var t=e.replace(/%22/gi,""").replace(/%26/gi,"&").replace(/%27/gi,"'").replace(/%3C/gi,"<").replace(/%3E/gi,">");try{return decodeURIComponent(t)}catch{return t}}var xpe=/^mailto:/i,Cit=new RegExp("[".concat(qq,"!#$%&'*+/=?^_`{|}~-]"));function bpe(e){return Kd.test(e)}function RV(e){return Cit.test(e)}function Tpe(e){var t=e.split(".").pop()||"";return $q(t)}var Cpe=function(e){Em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="email",i.email="",i.email=n.email,i}return t.prototype.getType=function(){return"email"},t.prototype.getEmail=function(){return this.email},t.prototype.getAnchorHref=function(){return"mailto:"+this.email},t.prototype.getAnchorText=function(){return this.email},t}(Sm);function Qq(e){return e==="_"||Kd.test(e)}function Ape(e){return e.length<=140}var Epe=["twitter","facebook","instagram","tiktok"];var Spe=function(e){Em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="hashtag",i.serviceName="twitter",i.hashtag="",i.serviceName=n.serviceName,i.hashtag=n.hashtag,i}return t.prototype.getType=function(){return"hashtag"},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getHashtag=function(){return this.hashtag},t.prototype.getAnchorHref=function(){var n=this.serviceName,i=this.hashtag;switch(n){case"twitter":return"https://twitter.com/hashtag/"+i;case"facebook":return"https://www.facebook.com/hashtag/"+i;case"instagram":return"https://instagram.com/explore/tags/"+i;case"tiktok":return"https://www.tiktok.com/tag/"+i;default:throw ky(n),new Error("Invalid hashtag service: ".concat(n))}},t.prototype.getAnchorText=function(){return"#"+this.hashtag},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(Sm);var Ait={twitter:/^@\w{1,15}$/,instagram:/^@[_\w]{1,30}$/,soundcloud:/^@[-a-z0-9_]{3,25}$/,tiktok:/^@[.\w]{1,23}[\w]$/},Eit=/[-\w.]/;function Jq(e){return Eit.test(e)}function vpe(e,t){var n=Ait[t];return n.test(e)}var wpe=["twitter","instagram","soundcloud","tiktok"];var Dpe=function(e){Em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="mention",i.serviceName="twitter",i.mention="",i.mention=n.mention,i.serviceName=n.serviceName,i}return t.prototype.getType=function(){return"mention"},t.prototype.getMention=function(){return this.mention},t.prototype.getServiceName=function(){return this.serviceName},t.prototype.getAnchorHref=function(){switch(this.serviceName){case"twitter":return"https://twitter.com/"+this.mention;case"instagram":return"https://instagram.com/"+this.mention;case"soundcloud":return"https://soundcloud.com/"+this.mention;case"tiktok":return"https://www.tiktok.com/@"+this.mention;default:throw new Error("Unknown service name to point mention to: "+this.serviceName)}},t.prototype.getAnchorText=function(){return"@"+this.mention},t.prototype.getCssClassSuffixes=function(){var n=e.prototype.getCssClassSuffixes.call(this),i=this.getServiceName();return i&&n.push(i),n},t}(Sm);var Sit=/[-. ]/,vit=/[-. ()]/,wit=/[,;]/,Dit=/(?:(?:(?:(\+)?\d{1,3}[-. ]?)?\(?\d{3}\)?[-. ]?\d{3}[-. ]?\d{4})|(?:(\+)(?:9[976]\d|8[987530]\d|6[987]\d|5[90]\d|42\d|3[875]\d|2[98654321]\d|9[8543210]|8[6421]|6[6543210]|5[87654321]|4[987654310]|3[9643210]|2[70]|7|1)[-. ]?(?:\d[-. ]?){6,12}\d+))([,;]+[0-9]+#?)*/,Iit=/(0([1-9]-?[1-9]\d{3}|[1-9]{2}-?\d{3}|[1-9]{2}\d{1}-?\d{2}|[1-9]{2}\d{2}-?\d{1})-?\d{4}|0[789]0-?\d{4}-?\d{4}|050-?\d{4}-?\d{4})/,Pit=new RegExp("^".concat(Dit.source,"|").concat(Iit.source,"$"));function eY(e){return Sit.test(e)}function MV(e){return wit.test(e)}function Ipe(e){var t=e.charAt(0)==="+"||vit.test(e);return t&&Pit.test(e)}var Ppe=function(e){Em(t,e);function t(n){var i=e.call(this,n)||this;return i.type="phone",i.number="",i.plusSign=!1,i.number=n.number,i.plusSign=n.plusSign,i}return t.prototype.getType=function(){return"phone"},t.prototype.getPhoneNumber=function(){return this.number},t.prototype.getNumber=function(){return this.getPhoneNumber()},t.prototype.getAnchorHref=function(){return"tel:"+(this.plusSign?"+":"")+this.number},t.prototype.getAnchorText=function(){return this.matchedText},t}(Sm);function Mpe(e,t){for(var n=t.tagBuilder,i=t.stripPrefix,o=t.stripTrailingSlash,r=t.decodePercentEncoding,s=t.hashtagServiceName,a=t.mentionServiceName,c=[],u=e.length,f=[],d=0;d<u;d++){var p=e.charAt(d);if(f.length===0)b(p);else for(var g=f.length-1;g>=0;g--){var m=f[g];switch(m.state){case 11:D(m,p);break;case 12:R(m,p);break;case 0:T(m,p);break;case 1:C(m,p);break;case 2:A(m,p);break;case 3:S(m,p);break;case 4:v(m,p);break;case 5:O(m,p);break;case 6:M(m,p);break;case 7:N(m,p);break;case 13:_(m,p);break;case 14:E(m,p);break;case 8:w(m,p);break;case 9:I(m,p);break;case 10:L(m,p);break;case 15:B(m,p);break;case 16:H(m,p);break;case 17:V(m,p);break;case 18:G(m,p);break;case 19:k(m,p);break;case 20:W(m,p);break;case 21:Y(m,p);break;case 22:J(m,p);break;case 23:j(m,p);break;case 24:Z(m,p);break;case 25:Q(m,p);break;case 26:he(m,p);break;case 27:ye(m,p);break;case 28:re(m,p);break;case 29:_e(m,p);break;case 30:xe(m,p);break;case 31:Ie(m,p);break;case 32:Ne(m,p);break;case 33:Ce(m,p);break;case 34:Be(m,p);break;case 35:Ve(m,p);break;case 36:$e(m,p);break;case 37:De(m,p);break;case 38:qe(m,p);break;case 39:pt(m,p);break;case 40:ht(m,p);break;case 41:yt(m,p);break;default:ky(m.state)}}}for(var x=f.length-1;x>=0;x--)f.forEach(function(Te){return Jt(Te)});return c;function b(Te){if(Te==="#")f.push(Nit(d,28));else if(Te==="@")f.push(Fit(d,30));else if(Te==="/")f.push(nY(d,11));else if(Te==="+")f.push(iY(d,37));else if(Te==="(")f.push(iY(d,32));else{if(qs.test(Te)&&(f.push(iY(d,38)),f.push(Mit(d,13))),bpe(Te)){var Ee=Te.toLowerCase()==="m"?15:22;f.push(Lit(d,Ee))}IV(Te)&&f.push(tY(d,0)),Kd.test(Te)&&f.push(nY(d,5))}}function T(Te,Ee){Ee===":"?Te.state=2:Ee==="-"?Te.state=1:Kq(Ee)||Ho(f,Te)}function C(Te,Ee){Ee==="-"||(Ee==="/"?(Ho(f,Te),f.push(nY(d,11))):Kq(Ee)?Te.state=0:Ho(f,Te))}function A(Te,Ee){Ee==="/"?Te.state=3:Ee==="."?Ho(f,Te):d_(Ee)?(Te.state=5,IV(Ee)&&f.push(tY(d,0))):Ho(f,Te)}function S(Te,Ee){Ee==="/"?Te.state=4:Zq(Ee)?(Te.state=10,Te.acceptStateReached=!0):Jt(Te)}function v(Te,Ee){Ee==="/"?Te.state=10:d_(Ee)?(Te.state=5,Te.acceptStateReached=!0):Ho(f,Te)}function D(Te,Ee){Ee==="/"?Te.state=12:Ho(f,Te)}function R(Te,Ee){d_(Ee)?Te.state=5:Ho(f,Te)}function O(Te,Ee){Ee==="."?Te.state=7:Ee==="-"?Te.state=6:Ee===":"?Te.state=8:OV(Ee)?Te.state=10:PV(Ee)||Jt(Te)}function M(Te,Ee){Ee==="-"||(Ee==="."?Jt(Te):d_(Ee)?Te.state=5:Jt(Te))}function N(Te,Ee){Ee==="."?Jt(Te):d_(Ee)?(Te.state=5,Te.acceptStateReached=!0):Jt(Te)}function _(Te,Ee){Ee==="."?Te.state=14:Ee===":"?Te.state=8:qs.test(Ee)||(OV(Ee)?Te.state=10:Kd.test(Ee)?Ho(f,Te):Jt(Te))}function E(Te,Ee){qs.test(Ee)?(Te.octetsEncountered++,Te.octetsEncountered===4&&(Te.acceptStateReached=!0),Te.state=13):Jt(Te)}function w(Te,Ee){qs.test(Ee)?Te.state=9:Jt(Te)}function I(Te,Ee){qs.test(Ee)||(OV(Ee)?Te.state=10:Jt(Te))}function L(Te,Ee){Zq(Ee)||Jt(Te)}function B(Te,Ee){Ee.toLowerCase()==="a"?Te.state=16:J(Te,Ee)}function H(Te,Ee){Ee.toLowerCase()==="i"?Te.state=17:J(Te,Ee)}function V(Te,Ee){Ee.toLowerCase()==="l"?Te.state=18:J(Te,Ee)}function G(Te,Ee){Ee.toLowerCase()==="t"?Te.state=19:J(Te,Ee)}function k(Te,Ee){Ee.toLowerCase()==="o"?Te.state=20:J(Te,Ee)}function W(Te,Ee){Ee.toLowerCase()===":"?Te.state=21:J(Te,Ee)}function Y(Te,Ee){RV(Ee)?Te.state=22:Ho(f,Te)}function J(Te,Ee){Ee==="."?Te.state=23:Ee==="@"?Te.state=24:RV(Ee)?Te.state=22:Ho(f,Te)}function j(Te,Ee){Ee==="."?Ho(f,Te):Ee==="@"?Ho(f,Te):RV(Ee)?Te.state=22:Ho(f,Te)}function Z(Te,Ee){d_(Ee)?Te.state=25:Ho(f,Te)}function Q(Te,Ee){Ee==="."?Te.state=27:Ee==="-"?Te.state=26:PV(Ee)||Jt(Te)}function he(Te,Ee){Ee==="-"||Ee==="."?Jt(Te):PV(Ee)?Te.state=25:Jt(Te)}function ye(Te,Ee){Ee==="."||Ee==="-"?Jt(Te):d_(Ee)?(Te.state=25,Te.acceptStateReached=!0):Jt(Te)}function re(Te,Ee){Qq(Ee)?(Te.state=29,Te.acceptStateReached=!0):Ho(f,Te)}function _e(Te,Ee){Qq(Ee)||Jt(Te)}function xe(Te,Ee){Jq(Ee)?(Te.state=31,Te.acceptStateReached=!0):Ho(f,Te)}function Ie(Te,Ee){Jq(Ee)||(Kd.test(Ee)?Ho(f,Te):Jt(Te))}function De(Te,Ee){qs.test(Ee)?Te.state=38:(Ho(f,Te),b(Ee))}function Ne(Te,Ee){qs.test(Ee)?Te.state=33:Ho(f,Te),b(Ee)}function Ce(Te,Ee){qs.test(Ee)?Te.state=34:Ho(f,Te)}function Be(Te,Ee){qs.test(Ee)?Te.state=35:Ho(f,Te)}function Ve(Te,Ee){Ee===")"?Te.state=36:Ho(f,Te)}function $e(Te,Ee){qs.test(Ee)?Te.state=38:eY(Ee)?Te.state=39:Ho(f,Te)}function qe(Te,Ee){Te.acceptStateReached=!0,MV(Ee)?Te.state=40:Ee==="#"?Te.state=41:qs.test(Ee)||(Ee==="("?Te.state=32:eY(Ee)?Te.state=39:(Jt(Te),IV(Ee)&&f.push(tY(d,0))))}function pt(Te,Ee){qs.test(Ee)?Te.state=38:Ee==="("?Te.state=32:(Jt(Te),b(Ee))}function ht(Te,Ee){MV(Ee)||(Ee==="#"?Te.state=41:qs.test(Ee)?Te.state=38:Jt(Te))}function yt(Te,Ee){MV(Ee)?Te.state=40:qs.test(Ee)?Ho(f,Te):Jt(Te)}function Jt(Te){if(Ho(f,Te),!!Te.acceptStateReached){var Ee=Te.startIdx,on=e.slice(Te.startIdx,d);if(on=Rit(on),Te.type==="url"){var en=e.charAt(Te.startIdx-1);if(en==="@")return;var Xt=Te.matchType;if(Xt==="scheme"){var ji=Xq.exec(on);if(ji&&(Ee=Ee+ji.index,on=on.slice(ji.index)),!ppe(on))return}else if(Xt==="tld"){if(!_pe(on))return}else if(Xt==="ipV4"){if(!gpe(on))return}else ky(Xt);c.push(new ype({tagBuilder:n,matchedText:on,offset:Ee,urlMatchType:Xt,url:on,protocolRelativeMatch:on.slice(0,2)==="//",stripPrefix:i,stripTrailingSlash:o,decodePercentEncoding:r}))}else if(Te.type==="email")Tpe(on)&&c.push(new Cpe({tagBuilder:n,matchedText:on,offset:Ee,email:on.replace(xpe,"")}));else if(Te.type==="hashtag")Ape(on)&&c.push(new Spe({tagBuilder:n,matchedText:on,offset:Ee,serviceName:s,hashtag:on.slice(1)}));else if(Te.type==="mention")vpe(on,a)&&c.push(new Dpe({tagBuilder:n,matchedText:on,offset:Ee,serviceName:a,mention:on.slice(1)}));else if(Te.type==="phone"){if(on=on.replace(/ +$/g,""),Ipe(on)){var Ke=on.replace(/[^0-9,;#]/g,"");c.push(new Ppe({tagBuilder:n,matchedText:on,offset:Ee,number:Ke,plusSign:on.charAt(0)==="+"}))}}else ky(Te)}}}var Oit=/[\(\{\[]/,Ope=/[\)\}\]]/,Rpe={")":"(","}":"{","]":"["};function Rit(e){for(var t={"(":0,"{":0,"[":0},n=0;n<e.length;n++){var i=e.charAt(n);Oit.test(i)?t[i]++:Ope.test(i)&&t[Rpe[i]]--}for(var o=e.length-1,r;o>=0;)if(r=e.charAt(o),Ope.test(r)){var s=Rpe[r];if(t[s]<0)t[s]++,o--;else break}else if(mpe.test(r))o--;else break;return e.slice(0,o+1)}function tY(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"scheme"}}function nY(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"tld"}}function Mit(e,t){return{type:"url",startIdx:e,state:t,acceptStateReached:!1,matchType:"ipV4",octetsEncountered:1}}function Lit(e,t){return{type:"email",startIdx:e,state:t,acceptStateReached:!1}}function Nit(e,t){return{type:"hashtag",startIdx:e,state:t,acceptStateReached:!1}}function Fit(e,t){return{type:"mention",startIdx:e,state:t,acceptStateReached:!1}}function iY(e,t){return{type:"phone",startIdx:e,state:t,acceptStateReached:!1}}function Lpe(e,t){for(var n=t.onOpenTag,i=t.onCloseTag,o=t.onText,r=t.onComment,s=t.onDoctype,a=new vm,c=0,u=e.length,f=0,d=0,p=a;c<u;){var g=e.charAt(c);switch(f){case 0:m(g);break;case 1:x(g);break;case 2:T(g);break;case 3:b(g);break;case 4:C(g);break;case 5:A(g);break;case 6:S(g);break;case 7:v(g);break;case 8:D(g);break;case 9:R(g);break;case 10:O(g);break;case 11:M(g);break;case 12:N(g);break;case 13:_(g);break;case 14:E(g);break;case 15:w(g);break;case 16:I(g);break;case 17:L(g);break;case 18:B(g);break;case 19:H(g);break;case 20:V(g);break;default:ky(f)}c++}d<c&&Y();function m(Z){Z==="<"&&k()}function x(Z){Z==="!"?f=13:Z==="/"?(f=2,p=new vm(Ys(Ys({},p),{isClosing:!0}))):Z==="<"?k():Vy.test(Z)?(f=3,p=new vm(Ys(Ys({},p),{isOpening:!0}))):(f=0,p=a)}function b(Z){Eu.test(Z)?(p=new vm(Ys(Ys({},p),{name:J()})),f=4):Z==="<"?k():Z==="/"?(p=new vm(Ys(Ys({},p),{name:J()})),f=12):Z===">"?(p=new vm(Ys(Ys({},p),{name:J()})),W()):!Vy.test(Z)&&!qs.test(Z)&&Z!==":"&&G()}function T(Z){Z===">"?G():Vy.test(Z)?f=3:G()}function C(Z){Eu.test(Z)||(Z==="/"?f=12:Z===">"?W():Z==="<"?k():Z==="="||wV.test(Z)||ope.test(Z)?G():f=5)}function A(Z){Eu.test(Z)?f=6:Z==="/"?f=12:Z==="="?f=7:Z===">"?W():Z==="<"?k():wV.test(Z)&&G()}function S(Z){Eu.test(Z)||(Z==="/"?f=12:Z==="="?f=7:Z===">"?W():Z==="<"?k():wV.test(Z)?G():f=5)}function v(Z){Eu.test(Z)||(Z==='"'?f=8:Z==="'"?f=9:/[>=`]/.test(Z)?G():Z==="<"?k():f=10)}function D(Z){Z==='"'&&(f=11)}function R(Z){Z==="'"&&(f=11)}function O(Z){Eu.test(Z)?f=4:Z===">"?W():Z==="<"&&k()}function M(Z){Eu.test(Z)?f=4:Z==="/"?f=12:Z===">"?W():Z==="<"?k():(f=4,j())}function N(Z){Z===">"?(p=new vm(Ys(Ys({},p),{isClosing:!0})),W()):f=4}function _(Z){e.substr(c,2)==="--"?(c+=2,p=new vm(Ys(Ys({},p),{type:"comment"})),f=14):e.substr(c,7).toUpperCase()==="DOCTYPE"?(c+=7,p=new vm(Ys(Ys({},p),{type:"doctype"})),f=20):G()}function E(Z){Z==="-"?f=15:Z===">"?G():f=16}function w(Z){Z==="-"?f=18:Z===">"?G():f=16}function I(Z){Z==="-"&&(f=17)}function L(Z){Z==="-"?f=18:f=16}function B(Z){Z===">"?W():Z==="!"?f=19:Z==="-"||(f=16)}function H(Z){Z==="-"?f=17:Z===">"?W():f=16}function V(Z){Z===">"?W():Z==="<"&&k()}function G(){f=0,p=a}function k(){f=1,p=new vm({idx:c})}function W(){var Z=e.slice(d,p.idx);Z&&o(Z,d),p.type==="comment"?r(p.idx):p.type==="doctype"?s(p.idx):(p.isOpening&&n(p.name,p.idx),p.isClosing&&i(p.name,p.idx)),G(),d=c+1}function Y(){var Z=e.slice(d,c);o(Z,d),d=c+1}function J(){var Z=p.idx+(p.isClosing?2:1);return e.slice(Z,c).toLowerCase()}function j(){c--}}var vm=function(){function e(t){t===void 0&&(t={}),this.idx=t.idx!==void 0?t.idx:-1,this.type=t.type||"tag",this.name=t.name||"",this.isOpening=!!t.isOpening,this.isClosing=!!t.isClosing}return e}();var Bit=function(){function e(t){t===void 0&&(t={}),this.version=e.version,this.urls={},this.email=!0,this.phone=!0,this.hashtag=!1,this.mention=!1,this.newWindow=!0,this.stripPrefix={scheme:!0,www:!0},this.stripTrailingSlash=!0,this.decodePercentEncoding=!0,this.truncate={length:0,location:"end"},this.className="",this.replaceFn=null,this.context=void 0,this.sanitizeHtml=!1,this.tagBuilder=null,this.urls=kit(t.urls),this.email=Au(t.email)?t.email:this.email,this.phone=Au(t.phone)?t.phone:this.phone,this.hashtag=t.hashtag||this.hashtag,this.mention=t.mention||this.mention,this.newWindow=Au(t.newWindow)?t.newWindow:this.newWindow,this.stripPrefix=Vit(t.stripPrefix),this.stripTrailingSlash=Au(t.stripTrailingSlash)?t.stripTrailingSlash:this.stripTrailingSlash,this.decodePercentEncoding=Au(t.decodePercentEncoding)?t.decodePercentEncoding:this.decodePercentEncoding,this.sanitizeHtml=t.sanitizeHtml||!1;var n=this.mention;if(n!==!1&&wpe.indexOf(n)===-1)throw new Error("invalid `mention` cfg '".concat(n,"' - see docs"));var i=this.hashtag;if(i!==!1&&Epe.indexOf(i)===-1)throw new Error("invalid `hashtag` cfg '".concat(i,"' - see docs"));this.truncate=Uit(t.truncate),this.className=t.className||this.className,this.replaceFn=t.replaceFn||this.replaceFn,this.context=t.context||this}return e.link=function(t,n){var i=new e(n);return i.link(t)},e.parse=function(t,n){var i=new e(n);return i.parse(t)},e.prototype.parse=function(t){var n=this,i=["a","style","script"],o=0,r=[];return Lpe(t,{onOpenTag:function(s){i.indexOf(s)>=0&&o++},onText:function(s,a){if(o===0){var c=/( | |<|<|>|>|"|"|')/gi,u=s.split(c),f=a;u.forEach(function(d,p){if(p%2===0){var g=n.parseText(d,f);r.push.apply(r,g)}f+=d.length})}},onCloseTag:function(s){i.indexOf(s)>=0&&(o=Math.max(o-1,0))},onComment:function(s){},onDoctype:function(s){}}),r=this.compactMatches(r),r=this.removeUnwantedMatches(r),r},e.prototype.compactMatches=function(t){t.sort(function(c,u){return c.getOffset()-u.getOffset()});for(var n=0;n<t.length-1;){var i=t[n],o=i.getOffset(),r=i.getMatchedText().length,s=o+r;if(n+1<t.length){if(t[n+1].getOffset()===o){var a=t[n+1].getMatchedText().length>r?n:n+1;t.splice(a,1);continue}if(t[n+1].getOffset()<s){t.splice(n+1,1);continue}}n++}return t},e.prototype.removeUnwantedMatches=function(t){return this.hashtag||By(t,function(n){return n.getType()==="hashtag"}),this.email||By(t,function(n){return n.getType()==="email"}),this.phone||By(t,function(n){return n.getType()==="phone"}),this.mention||By(t,function(n){return n.getType()==="mention"}),this.urls.schemeMatches||By(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="scheme"}),this.urls.tldMatches||By(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="tld"}),this.urls.ipV4Matches||By(t,function(n){return n.getType()==="url"&&n.getUrlMatchType()==="ipV4"}),t},e.prototype.parseText=function(t,n){n===void 0&&(n=0),n=n||0;for(var i=Mpe(t,{tagBuilder:this.getTagBuilder(),stripPrefix:this.stripPrefix,stripTrailingSlash:this.stripTrailingSlash,decodePercentEncoding:this.decodePercentEncoding,hashtagServiceName:this.hashtag,mentionServiceName:this.mention||"twitter"}),o=0,r=i.length;o<r;o++)i[o].setOffset(n+i[o].getOffset());return i},e.prototype.link=function(t){if(!t)return"";this.sanitizeHtml&&(t=t.replace(/</g,"<").replace(/>/g,">"));for(var n=this.parse(t),i=[],o=0,r=0,s=n.length;r<s;r++){var a=n[r];i.push(t.substring(o,a.getOffset())),i.push(this.createMatchReturnVal(a)),o=a.getOffset()+a.getMatchedText().length}return i.push(t.substring(o)),i.join("")},e.prototype.createMatchReturnVal=function(t){var n;if(this.replaceFn&&(n=this.replaceFn.call(this.context,t)),typeof n=="string")return n;if(n===!1)return t.getMatchedText();if(n instanceof DV)return n.toAnchorString();var i=t.buildTag();return i.toAnchorString()},e.prototype.getTagBuilder=function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new upe({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t},e.version=tpe,e}(),Npe=Bit;function kit(e){return e==null&&(e=!0),Au(e)?{schemeMatches:e,tldMatches:e,ipV4Matches:e}:{schemeMatches:Au(e.schemeMatches)?e.schemeMatches:!0,tldMatches:Au(e.tldMatches)?e.tldMatches:!0,ipV4Matches:Au(e.ipV4Matches)?e.ipV4Matches:!0}}function Vit(e){return e==null&&(e=!0),Au(e)?{scheme:e,www:e}:{scheme:Au(e.scheme)?e.scheme:!0,www:Au(e.www)?e.www:!0}}function Uit(e){return typeof e=="number"?{length:e,location:"end"}:npe(e||{},{length:Number.POSITIVE_INFINITY,location:"end"})}var LV=Npe;var Wpe;typeof DOMParser<"u"&&(Wpe=new DOMParser);var zit=new LV({stripPrefix:!1,email:!1,replaceFn:function(e,t){return t.urlMatchType==="scheme"||t.urlMatchType==="www"}}),NV=32,Fpe=2414016,Bpe=1,kpe=16093e3,Vpe=.1,Hit=[null,void 0,"http://www.topografix.com/GPX/1/1"],Co={gpx:Hit};function Git(e){return new Promise((t,n)=>{let i=new FileReader;i.addEventListener("load",function(){t(i.result)}),i.addEventListener("error",function(){n(i.error)}),i.readAsText(e)})}function oY(e,t){let n=gI(e,"id");return n=l(n)?n:Gn(),t.getOrCreateEntity(n)}function rY(e){let t=Upe(e,"lon"),n=Upe(e,"lat"),i=pI(e,"ele",Co.gpx);return h.fromDegrees(t,n,i)}function Upe(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function gI(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function Uy(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function sY(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagName(t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function pI(e,t,n){let i=Uy(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Ol(e,t,n){let i=Uy(e,t,n);if(l(i))return i.textContent.trim()}function jpe(e){let t=new vc;return t.width=NV,t.height=NV,t.scaleByDistance=new kt(Fpe,Bpe,kpe,Vpe),t.pixelOffsetScaleByDistance=new kt(Fpe,Bpe,kpe,Vpe),t.verticalOrigin=new $n(Ln.BOTTOM),t.image=e,t}function Wit(){let e=new Lh;return e.translucencyByDistance=new kt(3e6,1,5e6,0),e.pixelOffset=new U(17,0),e.horizontalOrigin=bi.LEFT,e.font="16px sans-serif",e.style=Zo.FILL_AND_OUTLINE,e}function qpe(e){let t=new Oc;return t.width=4,t.material=new Kx,t.material.color=l(e)?e:z.RED,t.material.outlineWidth=2,t.material.outlineColor=z.BLACK,t}var zpe={time:{text:"Time",tag:"time"},comment:{text:"Comment",tag:"cmt"},description:{text:"Description",tag:"desc"},source:{text:"Source",tag:"src"},number:{text:"GPS track/route number",tag:"number"},type:{text:"Type",tag:"type"}},_I;typeof document<"u"&&(_I=document.createElement("div"));function aY(e,t){let n,i="",o=Object.keys(zpe),r=o.length;for(n=0;n<r;n++){let f=o[n],d=zpe[f];d.value=y(Ol(e,d.tag,Co.gpx),""),l(d.value)&&d.value!==""&&(i=`${i}<p>${d.text}: ${d.value}</p>`)}if(!l(i)||i==="")return;i=zit.link(i),_I.innerHTML=i;let s=_I.querySelectorAll("a");for(n=0;n<s.length;n++)s[n].setAttribute("target","_blank");let a=z.WHITE,c=z.BLACK,u='<div class="cesium-infoBox-description-lighter" style="';return u+="overflow:auto;",u+="word-wrap:break-word;",u+=`background-color:${a.toCssColorString()};`,u+=`color:${c.toCssColorString()};`,u+='">',u+=`${_I.innerHTML}</div>`,_I.innerHTML="",u}function Ype(e,t,n,i){let o=rY(t),r=oY(t,n);r.position=o;let s=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",z.RED,NV);r.billboard=jpe(s);let a=Ol(t,"name",Co.gpx);r.name=a,r.label=Wit(),r.label.text=a,r.description=aY(t,r),i.clampToGround&&(r.billboard.heightReference=Xe.CLAMP_TO_GROUND,r.label.heightReference=Xe.CLAMP_TO_GROUND)}function jit(e,t,n,i){let o=oY(t,n);o.description=aY(t,o);let r=sY(t,"rtept",Co.gpx),s=new Array(r.length);for(let a=0;a<r.length;a++)Ype(e,r[a],n,i),s[a]=rY(r[a]);o.polyline=qpe(i.routeColor),i.clampToGround&&(o.polyline.clampToGround=!0),o.polyline.positions=s}function qit(e,t,n,i){let o=oY(t,n);o.description=aY(t,o);let r=sY(t,"trkseg",Co.gpx),s=[],a=[],c,u=!0,f=new Ra;for(let d=0;d<r.length;d++)c=Yit(r[d]),s=s.concat(c.positions),c.times.length>0?(a=a.concat(c.times),f.addSamples(a,s),u=u&&!0):u=!1;if(u){let d=l(i.waypointImage)?i.waypointImage:e._pinBuilder.fromMakiIconId("marker",z.RED,NV);o.billboard=jpe(d),o.position=f,i.clampToGround&&(o.billboard.heightReference=Xe.CLAMP_TO_GROUND),o.availability=new Kr,o.availability.addInterval(new vn({start:a[0],stop:a[a.length-1]}))}o.polyline=qpe(i.trackColor),o.polyline.positions=s,i.clampToGround&&(o.polyline.clampToGround=!0)}function Yit(e){let t={positions:[],times:[]},n=sY(e,"trkpt",Co.gpx),i;for(let o=0;o<n.length;o++){let r=rY(n[o]);t.positions.push(r),i=Ol(n[o],"time",Co.gpx),l(i)&&t.times.push(K.fromIso8601(i))}return t}function Xit(e){let t=Uy(e,"metadata",Co.gpx);if(l(t)){let n={name:Ol(t,"name",Co.gpx),desc:Ol(t,"desc",Co.gpx),author:Kit(t),copyright:$it(t),link:Xpe(t),time:Ol(t,"time",Co.gpx),keywords:Ol(t,"keywords",Co.gpx),bounds:Qit(t)};if(l(n.name)||l(n.desc)||l(n.author)||l(n.copyright)||l(n.link)||l(n.time)||l(n.keywords)||l(n.bounds))return n}}function Kit(e){let t=Uy(e,"author",Co.gpx);if(l(t)){let n={name:Ol(t,"name",Co.gpx),email:Zit(t),link:Xpe(t)};if(l(n.name)||l(n.email)||l(n.link))return n}}function Zit(e){let t=Uy(e,"email",Co.gpx);if(l(t)){let n=Ol(t,"id",Co.gpx),i=Ol(t,"domain",Co.gpx);return`${n}@${i}`}}function Xpe(e){let t=Uy(e,"link",Co.gpx);if(l(t)){let n={href:gI(t,"href"),text:Ol(t,"text",Co.gpx),mimeType:Ol(t,"type",Co.gpx)};if(l(n.href)||l(n.text)||l(n.mimeType))return n}}function $it(e){let t=Uy(e,"copyright",Co.gpx);if(l(t)){let n={author:gI(t,"author"),year:Ol(t,"year",Co.gpx),license:Ol(t,"license",Co.gpx)};if(l(n.author)||l(n.year)||l(n.license))return n}}function Qit(e){let t=Uy(e,"bounds",Co.gpx);if(l(t)){let n={minLat:pI(t,"minlat",Co.gpx),maxLat:pI(t,"maxlat",Co.gpx),minLon:pI(t,"minlon",Co.gpx),maxLon:pI(t,"maxlon",Co.gpx)};if(l(n.minLat)||l(n.maxLat)||l(n.minLon)||l(n.maxLon))return n}}var Hpe={wpt:Ype,rte:jit,trk:qit};function Jit(e,t,n,i){let o=Object.keys(Hpe),r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Hpe[a],u=t.childNodes,f=u.length;for(let d=0;d<f;d++){let p=u[d];p.localName===a&&Co.gpx.indexOf(p.namespaceURI)!==-1&&c(e,p,n,i)}}}function Gpe(e,t,n){let i=e._entityCollection;i.removeAll();let o=t.documentElement,r=gI(o,"version"),s=gI(o,"creator"),a,c=Xit(o);l(c)&&(a=c.name),o.localName==="gpx"?Jit(e,o,i,n):console.log(`GPX - Unsupported node: ${o.localName}`);let u,f=i.computeAvailability(),d=f.start,p=f.stop,g=K.equals(d,Ge.MINIMUM_VALUE),m=K.equals(p,Ge.MAXIMUM_VALUE);if(!g||!m){let b;g&&(b=new Date,b.setHours(0,0,0,0),d=K.fromDate(b)),m&&(b=new Date,b.setHours(24,0,0,0),p=K.fromDate(b)),u=new um,u.startTime=d,u.stopTime=p,u.currentTime=K.clone(d),u.clockRange=$r.LOOP_STOP,u.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,u.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(p,d)/60,1),31556900))}let x=!1;return e._name!==a&&(e._name=a,x=!0),e._creator!==s&&(e._creator=s,x=!0),eot(e._metadata,c)&&(e._metadata=c,x=!0),e._version!==r&&(e._version=r,x=!0),u!==e._clock&&(x=!0,e._clock=u),x&&e._changed.raiseEvent(e),Zr.setLoading(e,!1),e}function eot(e,t){return!l(e)&&!l(t)?!1:l(e)&&l(t)?e.name!==t.name||e.dec!==t.desc||e.src!==t.src||e.author!==t.author||e.copyright!==t.copyright||e.link!==t.link||e.time!==t.time||e.bounds!==t.bounds:!0}function tot(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=n;if(typeof n=="string"||n instanceof Ae){n=Ae.createIfNeeded(n),o=n.fetchBlob();let r=e._resourceCredits,s=n.credits;if(l(s)){let a=s.length;for(let c=0;c<a;c++)r.push(s[c])}}return Promise.resolve(o).then(function(r){return r instanceof Blob?Git(r).then(function(s){let a,c;try{a=Wpe.parseFromString(s,"application/xml")}catch(u){c=u.toString()}if(l(c)||a.body||a.documentElement.tagName==="parsererror"){let u=l(c)?c:a.documentElement.firstChild.nodeValue;throw u||(u=a.body.innerText),new se(u)}return Gpe(e,a,i)}):Gpe(e,r,i)}).catch(function(r){return e._error.raiseEvent(e,r),console.log(r),Promise.reject(r)})}function vE(){this._changed=new me,this._error=new me,this._loading=new me,this._clock=void 0,this._entityCollection=new fa(this),this._entityCluster=new Pf,this._name=void 0,this._version=void 0,this._creator=void 0,this._metadata=void 0,this._isLoading=!1,this._pinBuilder=new Ny}vE.load=function(e,t){return new vE().load(e,t)};Object.defineProperties(vE.prototype,{name:{get:function(){return this._name}},version:{get:function(){return this._version}},creator:{get:function(){return this._creator}},metadata:{get:function(){return this._metadata}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}}});vE.prototype.update=function(e){return!0};vE.prototype.load=function(e,t){if(!l(e))throw new de("data is required.");t=y(t,y.EMPTY_OBJECT),Zr.setLoading(this,!0);let n=this._name,i=this;return tot(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,Ge.MINIMUM_VALUE),u=K.equals(a,Ge.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new um,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=$r.LOOP_STOP,o.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Zr.setLoading(i,!1),i}).catch(function(o){return Zr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};var FV=vE;function not(e,t){this.position=e,this.headingPitchRoll=t}var BV=not;var xI=Sr(jl(),1);function iot(e,t){this.position=e,this.headingPitchRange=t}var kV=iot;function VV(e,t){this.id=t,this.name=e,this.playlistIndex=0,this.playlist=[],this.tourStart=new me,this.tourEnd=new me,this.entryStart=new me,this.entryEnd=new me,this._activeEntries=[]}VV.prototype.addPlaylistEntry=function(e){this.playlist.push(e)};VV.prototype.play=function(e,t){this.tourStart.raiseEvent();let n=this;Zpe.call(this,e,t,function(i){n.playlistIndex=0,i||Kpe(n._activeEntries),n.tourEnd.raiseEvent(i)})};VV.prototype.stop=function(){Kpe(this._activeEntries)};function Kpe(e){for(let t=e.pop();t!==void 0;t=e.pop())t.stop()}function Zpe(e,t,n){let i=this.playlist[this.playlistIndex];if(i){let o=oot.bind(this,e,t,n);if(this._activeEntries.push(i),this.entryStart.raiseEvent(i),i.blocking)i.play(o,e.scene.camera,t);else{let r=this;i.play(function(){r.entryEnd.raiseEvent(i);let s=r._activeEntries.indexOf(i);s>=0&&r._activeEntries.splice(s,1)}),o(e,t,n)}}else l(n)&&n(!1)}function oot(e,t,n,i){let o=this.playlist[this.playlistIndex];if(this.entryEnd.raiseEvent(o,i),i)n(i);else{let r=this._activeEntries.indexOf(o);r>=0&&this._activeEntries.splice(r,1),this.playlistIndex++,Zpe.call(this,e,t,n)}}var UV=VV;var vi=Object.freeze({Linear:Object.freeze({None:function(e){return e},In:function(e){return e},Out:function(e){return e},InOut:function(e){return e}}),Quadratic:Object.freeze({In:function(e){return e*e},Out:function(e){return e*(2-e)},InOut:function(e){return(e*=2)<1?.5*e*e:-.5*(--e*(e-2)-1)}}),Cubic:Object.freeze({In:function(e){return e*e*e},Out:function(e){return--e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e:.5*((e-=2)*e*e+2)}}),Quartic:Object.freeze({In:function(e){return e*e*e*e},Out:function(e){return 1- --e*e*e*e},InOut:function(e){return(e*=2)<1?.5*e*e*e*e:-.5*((e-=2)*e*e*e-2)}}),Quintic:Object.freeze({In:function(e){return e*e*e*e*e},Out:function(e){return--e*e*e*e*e+1},InOut:function(e){return(e*=2)<1?.5*e*e*e*e*e:.5*((e-=2)*e*e*e*e+2)}}),Sinusoidal:Object.freeze({In:function(e){return 1-Math.sin((1-e)*Math.PI/2)},Out:function(e){return Math.sin(e*Math.PI/2)},InOut:function(e){return .5*(1-Math.sin(Math.PI*(.5-e)))}}),Exponential:Object.freeze({In:function(e){return e===0?0:Math.pow(1024,e-1)},Out:function(e){return e===1?1:1-Math.pow(2,-10*e)},InOut:function(e){return e===0?0:e===1?1:(e*=2)<1?.5*Math.pow(1024,e-1):.5*(-Math.pow(2,-10*(e-1))+2)}}),Circular:Object.freeze({In:function(e){return 1-Math.sqrt(1-e*e)},Out:function(e){return Math.sqrt(1- --e*e)},InOut:function(e){return(e*=2)<1?-.5*(Math.sqrt(1-e*e)-1):.5*(Math.sqrt(1-(e-=2)*e)+1)}}),Elastic:Object.freeze({In:function(e){return e===0?0:e===1?1:-Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI)},Out:function(e){return e===0?0:e===1?1:Math.pow(2,-10*e)*Math.sin((e-.1)*5*Math.PI)+1},InOut:function(e){return e===0?0:e===1?1:(e*=2,e<1?-.5*Math.pow(2,10*(e-1))*Math.sin((e-1.1)*5*Math.PI):.5*Math.pow(2,-10*(e-1))*Math.sin((e-1.1)*5*Math.PI)+1)}}),Back:Object.freeze({In:function(e){var t=1.70158;return e===1?1:e*e*((t+1)*e-t)},Out:function(e){var t=1.70158;return e===0?0:--e*e*((t+1)*e+t)+1},InOut:function(e){var t=2.5949095;return(e*=2)<1?.5*(e*e*((t+1)*e-t)):.5*((e-=2)*e*((t+1)*e+t)+2)}}),Bounce:Object.freeze({In:function(e){return 1-vi.Bounce.Out(1-e)},Out:function(e){return e<.36363636363636365?7.5625*e*e:e<.7272727272727273?7.5625*(e-=.5454545454545454)*e+.75:e<.9090909090909091?7.5625*(e-=.8181818181818182)*e+.9375:7.5625*(e-=.9545454545454546)*e+.984375},InOut:function(e){return e<.5?vi.Bounce.In(e*2)*.5:vi.Bounce.Out(e*2-1)*.5+.5}}),generatePow:function(e){return e===void 0&&(e=4),e=e<Number.EPSILON?Number.EPSILON:e,e=e>1e4?1e4:e,{In:function(t){return Math.pow(t,e)},Out:function(t){return 1-Math.pow(1-t,e)},InOut:function(t){return t<.5?Math.pow(t*2,e)/2:(1-Math.pow(2-t*2,e))/2+.5}}}}),yI=function(){return performance.now()},rot=function(){function e(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];this._tweens={},this._tweensAddedDuringUpdate={},this.add.apply(this,t)}return e.prototype.getAll=function(){var t=this;return Object.keys(this._tweens).map(function(n){return t._tweens[n]})},e.prototype.removeAll=function(){this._tweens={}},e.prototype.add=function(){for(var t,n=[],i=0;i<arguments.length;i++)n[i]=arguments[i];for(var o=0,r=n;o<r.length;o++){var s=r[o];(t=s._group)===null||t===void 0||t.remove(s),s._group=this,this._tweens[s.getId()]=s,this._tweensAddedDuringUpdate[s.getId()]=s}},e.prototype.remove=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];for(var i=0,o=t;i<o.length;i++){var r=o[i];r._group=void 0,delete this._tweens[r.getId()],delete this._tweensAddedDuringUpdate[r.getId()]}},e.prototype.allStopped=function(){return this.getAll().every(function(t){return!t.isPlaying()})},e.prototype.update=function(t,n){t===void 0&&(t=yI()),n===void 0&&(n=!0);var i=Object.keys(this._tweens);if(i.length!==0)for(;i.length>0;){this._tweensAddedDuringUpdate={};for(var o=0;o<i.length;o++){var r=this._tweens[i[o]],s=!n;r&&r.update(t,s)===!1&&!n&&this.remove(r)}i=Object.keys(this._tweensAddedDuringUpdate)}},e}(),wE={Linear:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=wE.Utils.Linear;return t<0?r(e[0],e[1],i):t>1?r(e[n],e[n-1],n-i):r(e[o],e[o+1>n?n:o+1],i-o)},Bezier:function(e,t){for(var n=0,i=e.length-1,o=Math.pow,r=wE.Utils.Bernstein,s=0;s<=i;s++)n+=o(1-t,i-s)*o(t,s)*e[s]*r(i,s);return n},CatmullRom:function(e,t){var n=e.length-1,i=n*t,o=Math.floor(i),r=wE.Utils.CatmullRom;return e[0]===e[n]?(t<0&&(o=Math.floor(i=n*(1+t))),r(e[(o-1+n)%n],e[o],e[(o+1)%n],e[(o+2)%n],i-o)):t<0?e[0]-(r(e[0],e[0],e[1],e[1],-i)-e[0]):t>1?e[n]-(r(e[n],e[n],e[n-1],e[n-1],i-n)-e[n]):r(e[o?o-1:0],e[o],e[n<o+1?n:o+1],e[n<o+2?n:o+2],i-o)},Utils:{Linear:function(e,t,n){return(t-e)*n+e},Bernstein:function(e,t){var n=wE.Utils.Factorial;return n(e)/n(t)/n(e-t)},Factorial:function(){var e=[1];return function(t){var n=1;if(e[t])return e[t];for(var i=t;i>1;i--)n*=i;return e[t]=n,n}}(),CatmullRom:function(e,t,n,i,o){var r=(n-e)*.5,s=(i-t)*.5,a=o*o,c=o*a;return(2*t-2*n+r+s)*c+(-3*t+3*n-2*r-s)*a+r*o+t}}},$pe=function(){function e(){}return e.nextId=function(){return e._nextId++},e._nextId=0,e}(),cY=new rot,Qpe=function(){function e(t,n){this._isPaused=!1,this._pauseStart=0,this._valuesStart={},this._valuesEnd={},this._valuesStartRepeat={},this._duration=1e3,this._isDynamic=!1,this._initialRepeat=0,this._repeat=0,this._yoyo=!1,this._isPlaying=!1,this._reversed=!1,this._delayTime=0,this._startTime=0,this._easingFunction=vi.Linear.None,this._interpolationFunction=wE.Linear,this._chainedTweens=[],this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._id=$pe.nextId(),this._isChainStopped=!1,this._propertiesAreSetUp=!1,this._goToEnd=!1,this._object=t,typeof n=="object"?(this._group=n,n.add(this)):n===!0&&(this._group=cY,cY.add(this))}return e.prototype.getId=function(){return this._id},e.prototype.isPlaying=function(){return this._isPlaying},e.prototype.isPaused=function(){return this._isPaused},e.prototype.getDuration=function(){return this._duration},e.prototype.to=function(t,n){if(n===void 0&&(n=1e3),this._isPlaying)throw new Error("Can not call Tween.to() while Tween is already started or paused. Stop the Tween first.");return this._valuesEnd=t,this._propertiesAreSetUp=!1,this._duration=n<0?0:n,this},e.prototype.duration=function(t){return t===void 0&&(t=1e3),this._duration=t<0?0:t,this},e.prototype.dynamic=function(t){return t===void 0&&(t=!1),this._isDynamic=t,this},e.prototype.start=function(t,n){if(t===void 0&&(t=yI()),n===void 0&&(n=!1),this._isPlaying)return this;if(this._repeat=this._initialRepeat,this._reversed){this._reversed=!1;for(var i in this._valuesStartRepeat)this._swapEndStartRepeatValues(i),this._valuesStart[i]=this._valuesStartRepeat[i]}if(this._isPlaying=!0,this._isPaused=!1,this._onStartCallbackFired=!1,this._onEveryStartCallbackFired=!1,this._isChainStopped=!1,this._startTime=t,this._startTime+=this._delayTime,!this._propertiesAreSetUp||n){if(this._propertiesAreSetUp=!0,!this._isDynamic){var o={};for(var r in this._valuesEnd)o[r]=this._valuesEnd[r];this._valuesEnd=o}this._setupProperties(this._object,this._valuesStart,this._valuesEnd,this._valuesStartRepeat,n)}return this},e.prototype.startFromCurrentValues=function(t){return this.start(t,!0)},e.prototype._setupProperties=function(t,n,i,o,r){for(var s in i){var a=t[s],c=Array.isArray(a),u=c?"array":typeof a,f=!c&&Array.isArray(i[s]);if(!(u==="undefined"||u==="function")){if(f){var d=i[s];if(d.length===0)continue;for(var p=[a],g=0,m=d.length;g<m;g+=1){var x=this._handleRelativeValue(a,d[g]);if(isNaN(x)){f=!1,console.warn("Found invalid interpolation list. Skipping.");break}p.push(x)}f&&(i[s]=p)}if((u==="object"||c)&&a&&!f){n[s]=c?[]:{};var b=a;for(var T in b)n[s][T]=b[T];o[s]=c?[]:{};var d=i[s];if(!this._isDynamic){var C={};for(var T in d)C[T]=d[T];i[s]=d=C}this._setupProperties(b,n[s],d,o[s],r)}else(typeof n[s]>"u"||r)&&(n[s]=a),c||(n[s]*=1),f?o[s]=i[s].slice().reverse():o[s]=n[s]||0}}},e.prototype.stop=function(){return this._isChainStopped||(this._isChainStopped=!0,this.stopChainedTweens()),this._isPlaying?(this._isPlaying=!1,this._isPaused=!1,this._onStopCallback&&this._onStopCallback(this._object),this):this},e.prototype.end=function(){return this._goToEnd=!0,this.update(this._startTime+this._duration),this},e.prototype.pause=function(t){return t===void 0&&(t=yI()),this._isPaused||!this._isPlaying?this:(this._isPaused=!0,this._pauseStart=t,this)},e.prototype.resume=function(t){return t===void 0&&(t=yI()),!this._isPaused||!this._isPlaying?this:(this._isPaused=!1,this._startTime+=t-this._pauseStart,this._pauseStart=0,this)},e.prototype.stopChainedTweens=function(){for(var t=0,n=this._chainedTweens.length;t<n;t++)this._chainedTweens[t].stop();return this},e.prototype.group=function(t){return t?(t.add(this),this):(console.warn("tween.group() without args has been removed, use group.add(tween) instead."),this)},e.prototype.remove=function(){var t;return(t=this._group)===null||t===void 0||t.remove(this),this},e.prototype.delay=function(t){return t===void 0&&(t=0),this._delayTime=t,this},e.prototype.repeat=function(t){return t===void 0&&(t=0),this._initialRepeat=t,this._repeat=t,this},e.prototype.repeatDelay=function(t){return this._repeatDelayTime=t,this},e.prototype.yoyo=function(t){return t===void 0&&(t=!1),this._yoyo=t,this},e.prototype.easing=function(t){return t===void 0&&(t=vi.Linear.None),this._easingFunction=t,this},e.prototype.interpolation=function(t){return t===void 0&&(t=wE.Linear),this._interpolationFunction=t,this},e.prototype.chain=function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];return this._chainedTweens=t,this},e.prototype.onStart=function(t){return this._onStartCallback=t,this},e.prototype.onEveryStart=function(t){return this._onEveryStartCallback=t,this},e.prototype.onUpdate=function(t){return this._onUpdateCallback=t,this},e.prototype.onRepeat=function(t){return this._onRepeatCallback=t,this},e.prototype.onComplete=function(t){return this._onCompleteCallback=t,this},e.prototype.onStop=function(t){return this._onStopCallback=t,this},e.prototype.update=function(t,n){var i=this,o;if(t===void 0&&(t=yI()),n===void 0&&(n=e.autoStartOnUpdate),this._isPaused)return!0;var r;if(!this._goToEnd&&!this._isPlaying)if(n)this.start(t,!0);else return!1;if(this._goToEnd=!1,t<this._startTime)return!0;this._onStartCallbackFired===!1&&(this._onStartCallback&&this._onStartCallback(this._object),this._onStartCallbackFired=!0),this._onEveryStartCallbackFired===!1&&(this._onEveryStartCallback&&this._onEveryStartCallback(this._object),this._onEveryStartCallbackFired=!0);var s=t-this._startTime,a=this._duration+((o=this._repeatDelayTime)!==null&&o!==void 0?o:this._delayTime),c=this._duration+this._repeat*a,u=function(){if(i._duration===0||s>c)return 1;var x=Math.trunc(s/a),b=s-x*a,T=Math.min(b/i._duration,1);return T===0&&s===i._duration?1:T},f=u(),d=this._easingFunction(f);if(this._updateProperties(this._object,this._valuesStart,this._valuesEnd,d),this._onUpdateCallback&&this._onUpdateCallback(this._object,f),this._duration===0||s>=this._duration)if(this._repeat>0){var p=Math.min(Math.trunc((s-this._duration)/a)+1,this._repeat);isFinite(this._repeat)&&(this._repeat-=p);for(r in this._valuesStartRepeat)!this._yoyo&&typeof this._valuesEnd[r]=="string"&&(this._valuesStartRepeat[r]=this._valuesStartRepeat[r]+parseFloat(this._valuesEnd[r])),this._yoyo&&this._swapEndStartRepeatValues(r),this._valuesStart[r]=this._valuesStartRepeat[r];return this._yoyo&&(this._reversed=!this._reversed),this._startTime+=a*p,this._onRepeatCallback&&this._onRepeatCallback(this._object),this._onEveryStartCallbackFired=!1,!0}else{this._onCompleteCallback&&this._onCompleteCallback(this._object);for(var g=0,m=this._chainedTweens.length;g<m;g++)this._chainedTweens[g].start(this._startTime+this._duration,!1);return this._isPlaying=!1,!1}return!0},e.prototype._updateProperties=function(t,n,i,o){for(var r in i)if(n[r]!==void 0){var s=n[r]||0,a=i[r],c=Array.isArray(t[r]),u=Array.isArray(a),f=!c&&u;f?t[r]=this._interpolationFunction(a,o):typeof a=="object"&&a?this._updateProperties(t[r],s,a,o):(a=this._handleRelativeValue(s,a),typeof a=="number"&&(t[r]=s+(a-s)*o))}},e.prototype._handleRelativeValue=function(t,n){return typeof n!="string"?n:n.charAt(0)==="+"||n.charAt(0)==="-"?t+parseFloat(n):parseFloat(n)},e.prototype._swapEndStartRepeatValues=function(t){var n=this._valuesStartRepeat[t],i=this._valuesEnd[t];typeof i=="string"?this._valuesStartRepeat[t]=this._valuesStartRepeat[t]+parseFloat(i):this._valuesStartRepeat[t]=this._valuesEnd[t],this._valuesEnd[t]=n},e.autoStartOnUpdate=!1,e}();var $ti=$pe.nextId,wm=cY,Qti=wm.getAll.bind(wm),Jti=wm.removeAll.bind(wm),eni=wm.add.bind(wm),tni=wm.remove.bind(wm),nni=wm.update.bind(wm);var sot={LINEAR_NONE:vi.Linear.None,QUADRATIC_IN:vi.Quadratic.In,QUADRATIC_OUT:vi.Quadratic.Out,QUADRATIC_IN_OUT:vi.Quadratic.InOut,CUBIC_IN:vi.Cubic.In,CUBIC_OUT:vi.Cubic.Out,CUBIC_IN_OUT:vi.Cubic.InOut,QUARTIC_IN:vi.Quartic.In,QUARTIC_OUT:vi.Quartic.Out,QUARTIC_IN_OUT:vi.Quartic.InOut,QUINTIC_IN:vi.Quintic.In,QUINTIC_OUT:vi.Quintic.Out,QUINTIC_IN_OUT:vi.Quintic.InOut,SINUSOIDAL_IN:vi.Sinusoidal.In,SINUSOIDAL_OUT:vi.Sinusoidal.Out,SINUSOIDAL_IN_OUT:vi.Sinusoidal.InOut,EXPONENTIAL_IN:vi.Exponential.In,EXPONENTIAL_OUT:vi.Exponential.Out,EXPONENTIAL_IN_OUT:vi.Exponential.InOut,CIRCULAR_IN:vi.Circular.In,CIRCULAR_OUT:vi.Circular.Out,CIRCULAR_IN_OUT:vi.Circular.InOut,ELASTIC_IN:vi.Elastic.In,ELASTIC_OUT:vi.Elastic.Out,ELASTIC_IN_OUT:vi.Elastic.InOut,BACK_IN:vi.Back.In,BACK_OUT:vi.Back.Out,BACK_IN_OUT:vi.Back.InOut,BOUNCE_IN:vi.Bounce.In,BOUNCE_OUT:vi.Bounce.Out,BOUNCE_IN_OUT:vi.Bounce.InOut},Jr=Object.freeze(sot);function zV(e,t,n){this.type="KmlTourFlyTo",this.blocking=!0,this.activeCamera=null,this.activeCallback=null,this.duration=e,this.view=n,this.flyToMode=t}zV.prototype.play=function(e,t,n){if(this.activeCamera=t,l(e)&&e!==null){let o=this;this.activeCallback=function(r){delete o.activeCallback,delete o.activeCamera,e(l(r)?!1:r)}}let i=this.getCameraOptions(n);if(this.view.headingPitchRoll)t.flyTo(i);else if(this.view.headingPitchRange){let o=new ce(this.view.position);t.flyToBoundingSphere(o,i)}};zV.prototype.stop=function(){l(this.activeCamera)&&this.activeCamera.cancelFlight(),l(this.activeCallback)&&this.activeCallback(!0)};zV.prototype.getCameraOptions=function(e){let t={duration:this.duration};return l(this.activeCallback)&&(t.complete=this.activeCallback),this.flyToMode==="smooth"&&(t.easingFunction=Jr.LINEAR_NONE),this.view.headingPitchRoll?(t.destination=this.view.position,t.orientation=this.view.headingPitchRoll):this.view.headingPitchRange&&(t.offset=this.view.headingPitchRange),l(e)&&(t=Ct(t,e)),t};var HV=zV;function lY(e){this.type="KmlTourWait",this.blocking=!0,this.duration=e,this.timeout=null}lY.prototype.play=function(e){let t=this;this.activeCallback=e,this.timeout=setTimeout(function(){delete t.activeCallback,e(!1)},this.duration*1e3)};lY.prototype.stop=function(){clearTimeout(this.timeout),l(this.activeCallback)&&this.activeCallback(!0)};var GV=lY;var c_e={avi:"video/x-msvideo",bmp:"image/bmp",bz2:"application/x-bzip2",chm:"application/vnd.ms-htmlhelp",css:"text/css",csv:"text/csv",doc:"application/msword",dvi:"application/x-dvi",eps:"application/postscript",flv:"video/x-flv",gif:"image/gif",gz:"application/x-gzip",htm:"text/html",html:"text/html",ico:"image/vnd.microsoft.icon",jnlp:"application/x-java-jnlp-file",jpeg:"image/jpeg",jpg:"image/jpeg",m3u:"audio/x-mpegurl",m4v:"video/mp4",mathml:"application/mathml+xml",mid:"audio/midi",midi:"audio/midi",mov:"video/quicktime",mp3:"audio/mpeg",mp4:"video/mp4",mp4v:"video/mp4",mpeg:"video/mpeg",mpg:"video/mpeg",odp:"application/vnd.oasis.opendocument.presentation",ods:"application/vnd.oasis.opendocument.spreadsheet",odt:"application/vnd.oasis.opendocument.text",ogg:"application/ogg",pdf:"application/pdf",png:"image/png",pps:"application/vnd.ms-powerpoint",ppt:"application/vnd.ms-powerpoint",ps:"application/postscript",qt:"video/quicktime",rdf:"application/rdf+xml",rss:"application/rss+xml",rtf:"application/rtf",svg:"image/svg+xml",swf:"application/x-shockwave-flash",text:"text/plain",tif:"image/tiff",tiff:"image/tiff",txt:"text/plain",wav:"audio/x-wav",wma:"audio/x-ms-wma",wmv:"video/x-ms-wmv",xml:"application/xml",zip:"application/zip",detectFromFilename:function(e){let t=e.toLowerCase();return t=pT(t),c_e[t]}},_Y;typeof DOMParser<"u"&&(_Y=new DOMParser);var aot=new LV({stripPrefix:!1,email:!1,replaceFn:function(e){return e.urlMatchType==="scheme"||e.urlMatchType==="www"}}),zy=32,Jpe=2414016,e_e=1,t_e=16093e3,n_e=.1,i_e=[null,void 0,"http://www.opengis.net/kml/2.2","http://earth.google.com/kml/2.2","http://earth.google.com/kml/2.1","http://earth.google.com/kml/2.0"],o_e=["http://www.google.com/kml/ext/2.2"],cot=["http://www.w3.org/2005/Atom"],Re={kml:i_e,gx:o_e,atom:cot,kmlgx:i_e.concat(o_e)},gY={Document:y_e,Folder:wot,Placemark:Dot,NetworkLink:Bot,GroundOverlay:Lot,PhotoOverlay:T_e,ScreenOverlay:Mot,Tour:Pot};function Dm(e){this._dataSource=e,this._deferred=ql(),this._stack=[],this._promises=[],this._timeoutSet=!1,this._used=!1,this._started=0,this._timeThreshold=1e3}Object.defineProperties(Dm.prototype,{dataSource:{get:function(){return this._dataSource}}});Dm.prototype.addNodes=function(e,t){this._stack.push({nodes:e,index:0,processingData:t}),this._used=!0};Dm.prototype.addPromise=function(e){this._promises.push(e)};Dm.prototype.wait=function(){let e=this._deferred;return this._used||e.resolve(),Promise.all([e.promise,Promise.all(this._promises)])};Dm.prototype.process=function(){let e=this._stack.length===1;return e&&(this._started=wu._getTimestamp()),this._process(e)};Dm.prototype._giveUpTime=function(){if(this._timeoutSet)return;this._timeoutSet=!0,this._timeThreshold=50;let e=this;setTimeout(function(){e._timeoutSet=!1,e._started=wu._getTimestamp(),e._process(!0)},0)};Dm.prototype._nextNode=function(){let e=this._stack,t=e[e.length-1],n=t.index,i=t.nodes;if(n!==i.length)return++t.index,i[n]};Dm.prototype._pop=function(){let e=this._stack;return e.pop(),e.length===0?(this._deferred.resolve(),!1):!0};Dm.prototype._process=function(e){let t=this.dataSource,n=this._stack[this._stack.length-1].processingData,i=this._nextNode();for(;l(i);){let o=gY[i.localName];if(l(o)&&(Re.kml.indexOf(i.namespaceURI)!==-1||Re.gx.indexOf(i.namespaceURI)!==-1)&&(o(t,i,n,this),this._timeoutSet||wu._getTimestamp()>this._started+this._timeThreshold)){this._giveUpTime();return}i=this._nextNode()}this._pop()&&e&&this._process(!0)};function lot(e){let t=e.slice(0,Math.min(4,e.size)),n=ql(),i=new FileReader;return i.addEventListener("load",function(){n.resolve(new DataView(i.result).getUint32(0,!1)===1347093252)}),i.addEventListener("error",function(){n.reject(i.error)}),i.readAsArrayBuffer(t),n.promise}function uot(e){let t=ql(),n=new FileReader;return n.addEventListener("load",function(){t.resolve(n.result)}),n.addEventListener("error",function(){t.reject(n.error)}),n.readAsText(e),t.promise}function l_e(e){let t={xsi:"http://www.w3.org/2001/XMLSchema-instance"},n,i,o,r;for(let s in t)t.hasOwnProperty(s)&&(o=RegExp(`[< ]${s}:`),r=`xmlns:${s}=`,o.test(e)&&e.indexOf(r)===-1&&(l(n)||(n=e.substr(0,e.indexOf("<kml")+4),i=e.substr(n.length)),n+=` ${r}"${t[s]}"`));return l(n)&&(e=n+i),e}function u_e(e){let t=e.indexOf("xmlns:"),n=e.indexOf(">",t),i,o,r;for(;t!==-1&&t<n;)i=e.slice(t,e.indexOf('"',t)),o=t,t=e.indexOf(i,t+1),t!==-1?(r=e.indexOf('"',e.indexOf('"',t)+1),e=e.slice(0,t-1)+e.slice(r+1,e.length),t=e.indexOf("xmlns:",o-1)):t=e.indexOf("xmlns:",o+1);return e}function fot(e,t){return Promise.resolve(e.getData(new nV)).then(function(n){n=l_e(n),n=u_e(n),t.kml=_Y.parseFromString(n,"application/xml")})}function uY(e,t){let n=y(c_e.detectFromFilename(e.filename),"application/octet-stream");return Promise.resolve(e.getData(new eV(n))).then(function(i){t[e.filename]=i})}function Su(e,t,n,i){let o=i.keys,r=new xI.default("."),s=e.querySelectorAll(t);for(let a=0;a<s.length;a++){let c=s[a],u=c.getAttribute(n);if(l(u)){let d=new xI.default(u).absoluteTo(r).toString(),p=o.indexOf(d);if(p!==-1){let g=o[p];c.setAttribute(n,i[g]),t==="a"&&c.getAttribute("download")===null&&c.setAttribute("download",g)}}}}function vu(e,t,n,i){let o=e.querySelectorAll(t);for(let r=0;r<o.length;r++){let s=o[r],a=s.getAttribute(n),c=yY(a,i);l(c)&&s.setAttribute(n,c.url)}}function f_e(e,t,n){let i=Ps(e,"id");i=l(i)&&i.length!==0?i:Gn(),l(n)&&(i=n+i);let o=t.getById(i);return l(o)&&(i=Gn(),l(n)&&(i=n+i)),o=t.add(new sr({id:i})),l(o.kml)||(o.addProperty("kml"),o.kml=new zot),o}function bI(e,t){return e==="absolute"||e==="relativeToGround"||t==="relativeToSeaFloor"}function YV(e,t){if(!l(e))return h.fromDegrees(0,0,0,t);let n=e.match(/[^\s,\n]+/g);if(!l(n))return h.fromDegrees(0,0,0,t);let i=parseFloat(n[0]),o=parseFloat(n[1]),r=parseFloat(n[2]);return i=isNaN(i)?0:i,o=isNaN(o)?0:o,r=isNaN(r)?0:r,h.fromDegrees(i,o,r,t)}function WV(e,t){if(!l(e))return;let n=e.textContent.match(/[^\s\n]+/g);if(!l(n))return;let i=n.length,o=new Array(i),r=0;for(let s=0;s<i;s++)o[r++]=YV(n[s],t);return o}function Hy(e,t){if(!l(e))return;let n=e.getAttribute(t);if(n!==null){let i=parseFloat(n);return isNaN(i)?void 0:i}}function Ps(e,t){if(!l(e))return;let n=e.getAttribute(t);return n!==null?n:void 0}function wi(e,t,n){if(!l(e))return;let i=e.childNodes,o=i.length;for(let r=0;r<o;r++){let s=i[r];if(s.localName===t&&n.indexOf(s.namespaceURI)!==-1)return s}}function r_e(e,t,n){if(!l(e))return;let i=[],o=e.getElementsByTagNameNS("*",t),r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function Zd(e,t,n){if(!l(e))return[];let i=[],o=e.childNodes,r=o.length;for(let s=0;s<r;s++){let a=o[s];a.localName===t&&n.indexOf(a.namespaceURI)!==-1&&i.push(a)}return i}function Qn(e,t,n){let i=wi(e,t,n);if(l(i)){let o=parseFloat(i.textContent);return isNaN(o)?void 0:o}}function Pn(e,t,n){let i=wi(e,t,n);if(l(i))return i.textContent.trim()}function $d(e,t,n){let i=wi(e,t,n);if(l(i)){let o=i.textContent.trim();return o==="1"||/^true$/i.test(o)}}function yY(e,t,n){if(!l(e))return;let i;if(l(n)){e=e.replace(/\\/g,"/");let o=n[e];if(l(o))i=new Ae({url:o});else{let r=new xI.default(t.getUrlComponent()),s=new xI.default(e);o=n[s.absoluteTo(r)],l(o)&&(i=new Ae({url:o}))}}return l(i)||(i=t.getDerivedResource({url:e})),i}var Rl={maximumRed:void 0,red:void 0,maximumGreen:void 0,green:void 0,maximumBlue:void 0,blue:void 0};function mY(e,t){if(!l(e)||/^\s*$/gm.test(e))return;e[0]==="#"&&(e=e.substring(1));let n=parseInt(e.substring(0,2),16)/255,i=parseInt(e.substring(2,4),16)/255,o=parseInt(e.substring(4,6),16)/255,r=parseInt(e.substring(6,8),16)/255;return t?(r>0?(Rl.maximumRed=r,Rl.red=void 0):(Rl.maximumRed=void 0,Rl.red=0),o>0?(Rl.maximumGreen=o,Rl.green=void 0):(Rl.maximumGreen=void 0,Rl.green=0),i>0?(Rl.maximumBlue=i,Rl.blue=void 0):(Rl.maximumBlue=void 0,Rl.blue=0),Rl.alpha=n,z.fromRandom(Rl)):new z(r,o,i,n)}function _b(e,t,n){let i=Pn(e,t,n);if(l(i))return mY(i,Pn(e,"colorMode",n)==="random")}function dot(e){let t=wi(e,"TimeStamp",Re.kmlgx),n=Pn(t,"when",Re.kmlgx);if(!l(t)||!l(n)||n.length===0)return;let i=K.fromIso8601(n),o=new Kr;return o.addInterval(new vn({start:i,stop:Ge.MAXIMUM_VALUE})),o}function hot(e){let t=wi(e,"TimeSpan",Re.kmlgx);if(!l(t))return;let n,i=wi(t,"begin",Re.kmlgx),o=l(i)?K.fromIso8601(i.textContent):void 0,r=wi(t,"end",Re.kmlgx),s=l(r)?K.fromIso8601(r.textContent):void 0;if(l(o)&&l(s)){if(K.lessThan(s,o)){let a=o;o=s,s=a}n=new Kr,n.addInterval(new vn({start:o,stop:s}))}else l(o)?(n=new Kr,n.addInterval(new vn({start:o,stop:Ge.MAXIMUM_VALUE}))):l(s)&&(n=new Kr,n.addInterval(new vn({start:Ge.MINIMUM_VALUE,stop:s})));return n}function d_e(){let e=new vc;return e.width=zy,e.height=zy,e.scaleByDistance=new kt(Jpe,e_e,t_e,n_e),e.pixelOffsetScaleByDistance=new kt(Jpe,e_e,t_e,n_e),e}function xY(){let e=new Nh;return e.outline=!0,e.outlineColor=z.WHITE,e}function h_e(){let e=new Lh;return e.translucencyByDistance=new kt(3e6,1,5e6,0),e.pixelOffset=new U(17,0),e.horizontalOrigin=bi.LEFT,e.font="16px sans-serif",e.style=Zo.FILL_AND_OUTLINE,e}function bY(e,t,n,i,o){let r=Pn(e,"href",Re.kml);if(!l(r)||r.length===0)return;if(r.indexOf("root://icons/palette-")===0){let a=r.charAt(21),c=y(Qn(e,"x",Re.gx),0),u=y(Qn(e,"y",Re.gx),0);c=Math.min(c/32,7),u=7-Math.min(u/32,7);let f=8*u+c;r=`https://maps.google.com/mapfiles/kml/pal${a}/icon${f}.png`}let s=yY(r,n,i);if(o){let a=Pn(e,"refreshMode",Re.kml),c=Pn(e,"viewRefreshMode",Re.kml);a==="onInterval"||a==="onExpire"?Tt(`kml-refreshMode-${a}`,`KML - Unsupported Icon refreshMode: ${a}`):(c==="onStop"||c==="onRegion")&&Tt(`kml-refreshMode-${c}`,`KML - Unsupported Icon viewRefreshMode: ${c}`);let u=y(Pn(e,"viewBoundScale",Re.kml),1),f=c==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",d=y(Pn(e,"viewFormat",Re.kml),f),p=Pn(e,"httpQuery",Re.kml);l(d)&&s.setQueryParameters(ju(qV(d))),l(p)&&s.setQueryParameters(ju(qV(p)));let g=t._ellipsoid;return CY(s,t.camera,t.canvas,u,t._lastCameraView.bbox,g),s}return s}function mot(e,t,n,i,o){let r=Qn(t,"scale",Re.kml),s=Qn(t,"heading",Re.kml),a=_b(t,"color",Re.kml),c=wi(t,"Icon",Re.kml),u=bY(c,e,i,o,!1);l(c)&&!l(u)&&(u=!1);let f=Qn(c,"x",Re.gx),d=Qn(c,"y",Re.gx),p=Qn(c,"w",Re.gx),g=Qn(c,"h",Re.gx),m=wi(t,"hotSpot",Re.kml),x=Hy(m,"x"),b=Hy(m,"y"),T=Ps(m,"xunits"),C=Ps(m,"yunits"),A=n.billboard;l(A)||(A=d_e(),n.billboard=A),A.image=u,A.scale=r,A.color=a,(l(f)||l(d)||l(p)||l(g))&&(A.imageSubRegion=new Ye(f,d,p,g)),l(s)&&s!==0&&(A.rotation=P.toRadians(-s),A.alignedAxis=h.UNIT_Z),r=y(r,1);let S,v;l(x)&&(T==="pixels"?S=-x*r:T==="insetPixels"?S=(x-zy)*r:T==="fraction"&&(S=-x*zy*r),S+=zy*.5*r),l(b)&&(C==="pixels"?v=b*r:C==="insetPixels"?v=(-b+zy)*r:C==="fraction"&&(v=b*zy*r),v-=zy*.5*r),(l(S)||l(v))&&(A.pixelOffset=new U(S,v))}function jV(e,t,n,i,o){for(let r=0,s=t.childNodes.length;r<s;r++){let a=t.childNodes.item(r);if(a.localName==="IconStyle")mot(e,a,n,i,o);else if(a.localName==="LabelStyle"){let c=n.label;l(c)||(c=h_e(),n.label=c),c.scale=y(Qn(a,"scale",Re.kml),c.scale),c.fillColor=y(_b(a,"color",Re.kml),c.fillColor),c.text=n.name}else if(a.localName==="LineStyle"){let c=n.polyline;l(c)||(c=new Oc,n.polyline=c),c.width=Qn(a,"width",Re.kml),c.material=_b(a,"color",Re.kml),l(_b(a,"outerColor",Re.gx))&&Tt("kml-gx:outerColor","KML - gx:outerColor is not supported in a LineStyle"),l(Qn(a,"outerWidth",Re.gx))&&Tt("kml-gx:outerWidth","KML - gx:outerWidth is not supported in a LineStyle"),l(Qn(a,"physicalWidth",Re.gx))&&Tt("kml-gx:physicalWidth","KML - gx:physicalWidth is not supported in a LineStyle"),l($d(a,"labelVisibility",Re.gx))&&Tt("kml-gx:labelVisibility","KML - gx:labelVisibility is not supported in a LineStyle")}else if(a.localName==="PolyStyle"){let c=n.polygon;l(c)||(c=xY(),n.polygon=c),c.material=y(_b(a,"color",Re.kml),c.material),c.fill=y($d(a,"fill",Re.kml),c.fill),c.outline=y($d(a,"outline",Re.kml),c.outline)}else if(a.localName==="BalloonStyle"){let c=y(mY(Pn(a,"bgColor",Re.kml)),z.WHITE),u=y(mY(Pn(a,"textColor",Re.kml)),z.BLACK),f=Pn(a,"text",Re.kml);n.addProperty("balloonStyle"),n.balloonStyle={bgColor:c,textColor:u,text:f}}else if(a.localName==="ListStyle"){let c=Pn(a,"listItemType",Re.kml);(c==="radioFolder"||c==="checkOffOnly")&&Tt(`kml-listStyle-${c}`,`KML - Unsupported ListStyle with listItemType: ${c}`)}}}function pot(e,t,n,i,o){let r=new sr,s,a=-1,c=t.childNodes,u=c.length;for(let d=0;d<u;d++){let p=c[d];(p.localName==="Style"||p.localName==="StyleMap")&&(a=d)}if(a!==-1){let d=c[a];if(d.localName==="Style")jV(e,d,r,i,o);else{let p=Zd(d,"Pair",Re.kml);for(let g=0;g<p.length;g++){let m=p[g],x=Pn(m,"key",Re.kml);if(x==="normal"){let b=Pn(m,"styleUrl",Re.kml);if(l(b))s=n.getById(b),l(s)||(s=n.getById(`#${b}`)),l(s)&&r.merge(s);else{let T=wi(m,"Style",Re.kml);jV(e,T,r,i,o)}}else Tt(`kml-styleMap-${x}`,`KML - Unsupported StyleMap key: ${x}`)}}}let f=Pn(t,"styleUrl",Re.kml);if(l(f)){let d=f;if(f[0]!=="#"&&f.indexOf("#")!==-1){let p=f.split("#"),g=p[0];d=`${i.getDerivedResource({url:g}).getUrlComponent()}#${p[1]}`}s=n.getById(d),l(s)||(s=n.getById(`#${d}`)),l(s)&&r.merge(s)}return r}function _ot(e,t,n){return t.fetchXML().then(function(i){return m_e(e,i,n,t,!0)})}function m_e(e,t,n,i,o,r){let s,a,c,u,f=r_e(t,"Style",Re.kml);if(l(f)){let x=f.length;for(s=0;s<x;s++)u=f[s],a=Ps(u,"id"),l(a)&&(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),l(n.getById(a))||(c=new sr({id:a}),n.add(c),jV(e,u,c,i,r)))}let d=r_e(t,"StyleMap",Re.kml);if(l(d)){let x=d.length;for(s=0;s<x;s++){let b=d[s];if(a=Ps(b,"id"),l(a)){let T=Zd(b,"Pair",Re.kml);for(let C=0;C<T.length;C++){let A=T[C],S=Pn(A,"key",Re.kml);if(S==="normal"){if(a=`#${a}`,o&&l(i)&&(a=i.getUrlComponent()+a),!l(n.getById(a))){c=n.getOrCreateEntity(a);let v=Pn(A,"styleUrl",Re.kml);if(l(v)){v[0]!=="#"&&(v=`#${v}`),o&&l(i)&&(v=i.getUrlComponent()+v);let D=n.getById(v);l(D)&&c.merge(D)}else u=wi(A,"Style",Re.kml),jV(e,u,c,i,r)}}else Tt(`kml-styleMap-${S}`,`KML - Unsupported StyleMap key: ${S}`)}}}}let p=[],g=t.getElementsByTagName("styleUrl"),m=g.length;for(s=0;s<m;s++){let x=g[s].textContent;if(x[0]!=="#"){let b=x.split("#");if(b.length===2){let T=b[0],C=i.getDerivedResource({url:T});p.push(_ot(e,C,n))}}}return p}function TY(e,t,n){let i=new dy(e,t.id,["position"]),o=new a_(t.position);t.polyline=l(n.polyline)?n.polyline.clone():new Oc,t.polyline.positions=new uy([i,o])}function p_e(e,t){return!l(e)&&!l(t)||e==="clampToGround"?Xe.CLAMP_TO_GROUND:e==="relativeToGround"?Xe.RELATIVE_TO_GROUND:e==="absolute"?Xe.NONE:t==="clampToSeaFloor"?(Tt("kml-gx:altitudeMode-clampToSeaFloor","KML - <gx:altitudeMode>:clampToSeaFloor is currently not supported, using <kml:altitudeMode>:clampToGround."),Xe.CLAMP_TO_GROUND):t==="relativeToSeaFloor"?(Tt("kml-gx:altitudeMode-relativeToSeaFloor","KML - <gx:altitudeMode>:relativeToSeaFloor is currently not supported, using <kml:altitudeMode>:relativeToGround."),Xe.RELATIVE_TO_GROUND):(l(e)?Tt("kml-altitudeMode-unknown",`KML - Unknown <kml:altitudeMode>:${e}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`):Tt("kml-gx:altitudeMode-unknown",`KML - Unknown <gx:altitudeMode>:${t}, using <kml:altitudeMode>:CLAMP_TO_GROUND.`),Xe.CLAMP_TO_GROUND)}function got(e,t,n){return n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround"?e:((l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`),new a_(e))}function yot(e,t,n,i){if(!l(e))return;if(n==="relativeToSeaFloor"||t==="absolute"||t==="relativeToGround")return e;(l(t)&&t!=="clampToGround"||l(n)&&n!=="clampToSeaFloor")&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${y(t,n)}`);let o=e.length;for(let r=0;r<o;r++){let s=e[r];i.scaleToGeodeticSurface(s,s)}return e}function XV(e,t,n,i){let o=t.label;l(o)||(o=l(n.label)?n.label.clone():h_e(),t.label=o),o.text=t.name;let r=t.billboard;l(r)||(r=l(n.billboard)?n.billboard.clone():d_e(),t.billboard=r),l(r.image)?r.image.getValue()||(r.image=void 0):r.image=e._pinBuilder.fromColor(z.YELLOW,64);let s=1;l(r.scale)&&(s=r.scale.getValue(),s!==0?o.pixelOffset=new U(s*16+1,0):(o.pixelOffset=void 0,o.horizontalOrigin=void 0)),l(i)&&e._clampToGround&&(r.heightReference=i,o.heightReference=i)}function __e(e,t){let n=e.path;l(n)||(n=new ig,n.leadTime=0,e.path=n);let i=t.polyline;l(i)&&(n.material=i.material,n.width=i.width)}function xot(e,t,n,i,o){let r=Pn(n,"coordinates",Re.kml),s=Pn(n,"altitudeMode",Re.kml),a=Pn(n,"altitudeMode",Re.gx),c=$d(n,"extrude",Re.kml),u=e._ellipsoid,f=YV(r,u);return i.position=f,XV(e,i,o,p_e(s,a)),c&&bI(s,a)&&TY(t,i,o),!0}function s_e(e,t,n,i,o){let r=wi(n,"coordinates",Re.kml),s=Pn(n,"altitudeMode",Re.kml),a=Pn(n,"altitudeMode",Re.gx),c=$d(n,"extrude",Re.kml),u=$d(n,"tessellate",Re.kml),f=bI(s,a),d=Qn(n,"drawOrder",Re.gx),p=e._ellipsoid,g=WV(r,p),m=o.polyline;if(f&&c){let x=new og;i.wall=x,x.positions=g;let b=o.polygon;l(b)&&(x.fill=b.fill,x.material=b.material),x.outline=!0,l(m)?(x.outlineColor=l(m.material)?m.material.color:z.WHITE,x.outlineWidth=m.width):l(b)&&(x.outlineColor=l(b.material)?b.material.color:z.WHITE)}else if(e._clampToGround&&!f&&u){let x=new Oc;x.clampToGround=!0,i.polyline=x,x.positions=g,l(m)?(x.material=l(m.material)?m.material.color.getValue(Ge.MINIMUM_VALUE):z.WHITE,x.width=y(m.width,1)):(x.material=z.WHITE,x.width=1),x.zIndex=d}else l(d)&&Tt("kml-gx:drawOrder","KML - gx:drawOrder is not supported in LineStrings when clampToGround is false"),e._clampToGround&&!u&&Tt("kml-line-tesselate","Ignoring clampToGround for KML lines without the tessellate flag."),m=l(m)?m.clone():new Oc,i.polyline=m,m.positions=yot(g,s,a,p),(!u||f)&&(m.arcType=nn.NONE);return!0}function bot(e,t,n,i,o){let r=wi(n,"outerBoundaryIs",Re.kml),s=wi(r,"LinearRing",Re.kml),a=wi(s,"coordinates",Re.kml),c=e._ellipsoid,u=WV(a,c),f=$d(n,"extrude",Re.kml),d=Pn(n,"altitudeMode",Re.kml),p=Pn(n,"altitudeMode",Re.gx),g=bI(d,p),m=l(o.polygon)?o.polygon.clone():xY(),x=o.polyline;if(l(x)&&(m.outlineColor=l(x.material)?x.material.color:z.WHITE,m.outlineWidth=x.width),i.polygon=m,g?(m.perPositionHeight=!0,m.extrudedHeight=f?0:void 0):e._clampToGround||(m.height=0),l(u)){let b=new Qa(u),T=Zd(n,"innerBoundaryIs",Re.kml);for(let C=0;C<T.length;C++){s=Zd(T[C],"LinearRing",Re.kml);for(let A=0;A<s.length;A++)a=wi(s[A],"coordinates",Re.kml),u=WV(a,c),l(u)&&b.holes.push(new Qa(u))}m.hierarchy=b}return!0}function Tot(e,t,n,i,o){let r=Pn(n,"altitudeMode",Re.kml),s=Pn(n,"altitudeMode",Re.gx),a=Zd(n,"coord",Re.gx),c=Zd(n,"angles",Re.gx),u=Zd(n,"when",Re.kml),f=$d(n,"extrude",Re.kml),d=bI(r,s),p=e._ellipsoid;c.length>0&&Tt("kml-gx:angles","KML - gx:angles are not supported in gx:Tracks");let g=Math.min(a.length,u.length),m=[],x=[];for(let T=0;T<g;T++){let C=YV(a[T].textContent,p);m.push(C),x.push(K.fromIso8601(u[T].textContent))}let b=new Ra;return b.addSamples(x,m),i.position=b,XV(e,i,o,p_e(r,s)),__e(i,o),i.availability=new Kr,u.length>0&&i.availability.addInterval(new vn({start:x[0],stop:x[x.length-1]})),d&&f&&TY(t,i,o),!0}function a_e(e,t,n,i,o,r,s,a,c){let u=e[0],f=e[e.length-1],d=new Ra;d.addSamples(e,t),n.intervals.addInterval(new vn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:got(d,s,a)})),i.addInterval(new vn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c})),o.intervals.addInterval(new vn({start:u,stop:f,isStartIncluded:c,isStopIncluded:c,data:r}))}function Cot(e,t,n,i,o){let r=$d(n,"interpolate",Re.gx),s=Zd(n,"Track",Re.gx),a,c,u,f=!1,d=new py,p=new Kr,g=new Oa,m=e._ellipsoid;for(let x=0,b=s.length;x<b;x++){let T=s[x],C=Zd(T,"when",Re.kml),A=Zd(T,"coord",Re.gx),S=Pn(T,"altitudeMode",Re.kml),v=Pn(T,"altitudeMode",Re.gx),D=bI(S,v),R=$d(T,"extrude",Re.kml),O=Math.min(A.length,C.length),M=[];a=[];for(let N=0;N<O;N++){let _=YV(A[N].textContent,m);M.push(_),a.push(K.fromIso8601(C[N].textContent))}r&&(l(c)&&a_e([c,a[0]],[u,M[0]],g,p,d,!1,"absolute",void 0,!1),c=a[O-1],u=M[M.length-1]),a_e(a,M,g,p,d,D&&R,S,v,!0),f=f||D&&R}return i.availability=p,i.position=g,XV(e,i,o),__e(i,o),f&&(TY(t,i,o),i.polyline.show=d),!0}var g_e={Point:xot,LineString:s_e,LinearRing:s_e,Polygon:bot,Track:Tot,MultiTrack:Cot,MultiGeometry:Aot,Model:Eot};function Aot(e,t,n,i,o,r){let s=n.childNodes,a=!1;for(let c=0,u=s.length;c<u;c++){let f=s.item(c),d=g_e[f.localName];if(l(d)){let p=f_e(f,t,r);p.parent=i,p.name=i.name,p.availability=i.availability,p.description=i.description,p.kml=i.kml,d(e,t,f,p,o)&&(a=!0)}}return a}function Eot(e,t,n,i,o){return Tt("kml-unsupportedGeometry",`KML - Unsupported geometry: ${n.localName}`),!1}function Sot(e,t){let n=wi(e,"ExtendedData",Re.kml);if(!l(n))return;l(wi(n,"SchemaData",Re.kml))&&Tt("kml-schemaData","KML - SchemaData is unsupported"),l(Ps(n,"xmlns:prefix"))&&Tt("kml-extendedData","KML - ExtendedData with xmlns:prefix is unsupported");let i={},o=Zd(n,"Data",Re.kml);if(l(o)){let r=o.length;for(let s=0;s<r;s++){let a=o[s],c=Ps(a,"name");l(c)&&(i[c]={displayName:Pn(a,"displayName",Re.kml),value:Pn(a,"value",Re.kml)})}}t.kml.extendedData=i}var ho;typeof document<"u"&&(ho=document.createElement("div"));function vot(e,t,n,i,o){let r,s,a,c=t.kml,u=c.extendedData,f=Pn(e,"description",Re.kml),d=y(t.balloonStyle,n.balloonStyle),p=z.WHITE,g=z.BLACK,m=f;l(d)&&(p=y(d.bgColor,z.WHITE),g=y(d.textColor,z.BLACK),m=y(d.text,f));let x;if(l(m)){if(m=m.replace("$[name]",y(t.name,"")),m=m.replace("$[description]",y(f,"")),m=m.replace("$[address]",y(c.address,"")),m=m.replace("$[Snippet]",y(c.snippet,"")),m=m.replace("$[id]",t.id),m=m.replace("$[geDirections]",""),l(u)){let C=m.match(/\$\[.+?\]/g);if(C!==null)for(r=0;r<C.length;r++){let A=C[r],S=A.substr(2,A.length-3),v=/\/displayName$/.test(S);S=S.replace(/\/displayName$/,""),x=u[S],l(x)&&(x=v?x.displayName:x.value),l(x)&&(m=m.replace(A,y(x,"")))}}}else if(l(u)&&(a=Object.keys(u),a.length>0)){for(m='<table class="cesium-infoBox-defaultTable cesium-infoBox-defaultTable-lighter"><tbody>',r=0;r<a.length;r++)s=a[r],x=u[s],m+=`<tr><th>${y(x.displayName,s)}</th><td>${y(x.value,"")}</td></tr>`;m+="</tbody></table>"}if(!l(m))return;m=aot.link(m),ho.innerHTML=m;let b=ho.querySelectorAll("a");for(r=0;r<b.length;r++)b[r].setAttribute("target","_blank");l(i)&&i.keys.length>1&&(Su(ho,"a","href",i),Su(ho,"link","href",i),Su(ho,"area","href",i),Su(ho,"img","src",i),Su(ho,"iframe","src",i),Su(ho,"video","src",i),Su(ho,"audio","src",i),Su(ho,"source","src",i),Su(ho,"track","src",i),Su(ho,"input","src",i),Su(ho,"embed","src",i),Su(ho,"script","src",i),Su(ho,"video","poster",i)),vu(ho,"a","href",o),vu(ho,"link","href",o),vu(ho,"area","href",o),vu(ho,"img","src",o),vu(ho,"iframe","src",o),vu(ho,"video","src",o),vu(ho,"audio","src",o),vu(ho,"source","src",o),vu(ho,"track","src",o),vu(ho,"input","src",o),vu(ho,"embed","src",o),vu(ho,"script","src",o),vu(ho,"video","poster",o);let T='<div class="cesium-infoBox-description-lighter" style="';T+="overflow:auto;",T+="word-wrap:break-word;",T+=`background-color:${p.toCssColorString()};`,T+=`color:${g.toCssColorString()};`,T+='">',T+=`${ho.innerHTML}</div>`,ho.innerHTML="",t.description=T}function KV(e,t,n){let i=n.entityCollection,o=n.parentEntity,r=n.sourceResource,s=n.uriResolver,a=f_e(t,i,n.context),c=a.kml,u=pot(e,t,n.styleCollection,r,s),f=Pn(t,"name",Re.kml);a.name=f,a.parent=o;let d=hot(t);l(d)||(d=dot(t)),a.availability=d,EY(a);function p(A){return A?A.show&&p(A.parent):!0}let g=$d(t,"visibility",Re.kml);a.show=p(o)&&y(g,!0);let m=wi(t,"author",Re.atom),x=c.author;x.name=Pn(m,"name",Re.atom),x.uri=Pn(m,"uri",Re.atom),x.email=Pn(m,"email",Re.atom);let b=wi(t,"link",Re.atom),T=c.link;T.href=Ps(b,"href"),T.hreflang=Ps(b,"hreflang"),T.rel=Ps(b,"rel"),T.type=Ps(b,"type"),T.title=Ps(b,"title"),T.length=Ps(b,"length"),c.address=Pn(t,"address",Re.kml),c.phoneNumber=Pn(t,"phoneNumber",Re.kml),c.snippet=Pn(t,"Snippet",Re.kml),Sot(t,a),vot(t,a,u,s,r);let C=e._ellipsoid;return b_e(t,a,C),x_e(t,a,C),l(wi(t,"Region",Re.kml))&&Tt("kml-region","KML - Placemark Regions are unsupported"),{entity:a,styleEntity:u}}function y_e(e,t,n,i){i.addNodes(t.childNodes,n),i.process()}function wot(e,t,n,i){let o=KV(e,t,n),r=We(n);r.parentEntity=o.entity,y_e(e,t,r,i)}function Dot(e,t,n,i){let o=KV(e,t,n),r=o.entity,s=o.styleEntity,a=!1,c=t.childNodes;for(let u=0,f=c.length;u<f&&!a;u++){let d=c.item(u),p=g_e[d.localName];l(p)&&(p(e,n.entityCollection,d,r,s,r.id),a=!0)}a||(r.merge(s),XV(e,r,s))}var Iot={FlyTo:Rot,Wait:Oot,SoundCue:fY,AnimatedUpdate:fY,TourControl:fY};function Pot(e,t,n,i){let o=Pn(t,"name",Re.kml),r=Ps(t,"id"),s=new UV(o,r),a=wi(t,"Playlist",Re.gx);if(a){let c=e._ellipsoid,u=a.childNodes;for(let f=0;f<u.length;f++){let d=u[f];if(d.localName){let p=Iot[d.localName];p?p(s,d,c):console.log(`Unknown KML Tour playlist entry type ${d.localName}`)}}}e._kmlTours.push(s)}function fY(e,t){Tt(`KML Tour unsupported node ${t.localName}`)}function Oot(e,t){let n=Qn(t,"duration",Re.gx);e.addPlaylistEntry(new GV(n))}function Rot(e,t,n){let i=Qn(t,"duration",Re.gx),o=Pn(t,"flyToMode",Re.gx),r={kml:{}};b_e(t,r,n),x_e(t,r,n);let s=r.kml.lookAt||r.kml.camera,a=new HV(i,o,s);e.addPlaylistEntry(a)}function x_e(e,t,n){let i=wi(e,"Camera",Re.kml);if(l(i)){let o=y(Qn(i,"longitude",Re.kml),0),r=y(Qn(i,"latitude",Re.kml),0),s=y(Qn(i,"altitude",Re.kml),0),a=y(Qn(i,"heading",Re.kml),0),c=y(Qn(i,"tilt",Re.kml),0),u=y(Qn(i,"roll",Re.kml),0),f=h.fromDegrees(o,r,s,n),d=qa.fromDegrees(a,c-90,u);t.kml.camera=new BV(f,d)}}function b_e(e,t,n){let i=wi(e,"LookAt",Re.kml);if(l(i)){let o=y(Qn(i,"longitude",Re.kml),0),r=y(Qn(i,"latitude",Re.kml),0),s=y(Qn(i,"altitude",Re.kml),0),a=Qn(i,"heading",Re.kml),c=Qn(i,"tilt",Re.kml),u=y(Qn(i,"range",Re.kml),0);c=P.toRadians(y(c,0)),a=P.toRadians(y(a,0));let f=new jd(a,c-P.PI_OVER_TWO,u),d=h.fromDegrees(o,r,s,n);t.kml.lookAt=new kV(d,f)}}function Mot(e,t,n,i){let o=n.screenOverlayContainer;if(!l(o))return;let r=n.sourceResource,s=n.uriResolver,a=wi(t,"Icon",Re.kml),c=bY(a,e,r,s,!1);if(!l(c))return;let u=document.createElement("img");e._screenOverlays.push(u),u.src=c.url,u.onload=function(){let f=["position: absolute"],d=wi(t,"screenXY",Re.kml),p=wi(t,"overlayXY",Re.kml),g=wi(t,"size",Re.kml),m,x,b,T,C,A;l(g)&&(m=Hy(g,"x"),x=Hy(g,"y"),b=Ps(g,"xunits"),T=Ps(g,"yunits"),l(m)&&m!==-1&&m!==0&&(b==="fraction"?C=`width: ${Math.floor(m*100)}%`:b==="pixels"&&(C=`width: ${m}px`),f.push(C)),l(x)&&x!==-1&&x!==0&&(T==="fraction"?A=`height: ${Math.floor(x*100)}%`:T==="pixels"&&(A=`height: ${x}px`),f.push(A))),u.style=f.join(";");let S=0,v=u.height;l(p)&&(m=Hy(p,"x"),x=Hy(p,"y"),b=Ps(p,"xunits"),T=Ps(p,"yunits"),l(m)&&(b==="fraction"?S=m*u.width:(b==="pixels"||b==="insetPixels")&&(S=m)),l(x)&&(T==="fraction"?v=x*u.height:(T==="pixels"||T==="insetPixels")&&(v=x))),l(d)&&(m=Hy(d,"x"),x=Hy(d,"y"),b=Ps(d,"xunits"),T=Ps(d,"yunits"),l(m)&&(b==="fraction"?C=`left: calc(${Math.floor(m*100)}% - ${S}px)`:b==="pixels"?C=`left: ${m-S}px`:b==="insetPixels"&&(C=`right: ${m-S}px`),f.push(C)),l(x)&&(T==="fraction"?A=`bottom: calc(${Math.floor(x*100)}% - ${v}px)`:T==="pixels"?A=`bottom: ${x-v}px`:T==="insetPixels"&&(A=`top: ${x-v}px`),f.push(A))),u.style=f.join(";")},o.appendChild(u)}function Lot(e,t,n,i){let r=KV(e,t,n).entity,s,a=!1,c=e._ellipsoid,u=WV(wi(t,"LatLonQuad",Re.gx),c),f=Qn(t,"drawOrder",Re.kml);if(l(u))s=xY(),s.hierarchy=new Qa(u),s.zIndex=f,r.polygon=s,a=!0;else{s=new Fh,s.zIndex=f,r.rectangle=s;let m=wi(t,"LatLonBox",Re.kml);if(l(m)){let x=Qn(m,"west",Re.kml),b=Qn(m,"south",Re.kml),T=Qn(m,"east",Re.kml),C=Qn(m,"north",Re.kml);l(x)&&(x=P.negativePiToPi(P.toRadians(x))),l(b)&&(b=P.clampToLatitudeRange(P.toRadians(b))),l(T)&&(T=P.negativePiToPi(P.toRadians(T))),l(C)&&(C=P.clampToLatitudeRange(P.toRadians(C))),s.coordinates=new ae(x,b,T,C);let A=Qn(m,"rotation",Re.kml);if(l(A)){let S=P.toRadians(A);s.rotation=S,s.stRotation=S}}}let d=wi(t,"Icon",Re.kml),p=bY(d,e,n.sourceResource,n.uriResolver,!0);if(l(p)){a&&Tt("kml-gx:LatLonQuad","KML - gx:LatLonQuad Icon does not support texture projection.");let m=Qn(d,"x",Re.gx),x=Qn(d,"y",Re.gx),b=Qn(d,"w",Re.gx),T=Qn(d,"h",Re.gx);(l(m)||l(x)||l(b)||l(T))&&Tt("kml-groundOverlay-xywh","KML - gx:x, gx:y, gx:w, gx:h aren't supported for GroundOverlays"),s.material=p,s.material.color=_b(t,"color",Re.kml),s.material.transparent=!0}else s.material=_b(t,"color",Re.kml);let g=Pn(t,"altitudeMode",Re.kml);l(g)?g==="absolute"?(s.height=Qn(t,"altitude",Re.kml),s.zIndex=void 0):g!=="clampToGround"&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`):(g=Pn(t,"altitudeMode",Re.gx),g==="relativeToSeaFloor"?(Tt("kml-altitudeMode-relativeToSeaFloor","KML - altitudeMode relativeToSeaFloor is currently not supported, treating as absolute."),s.height=Qn(t,"altitude",Re.kml),s.zIndex=void 0):g==="clampToSeaFloor"?Tt("kml-altitudeMode-clampToSeaFloor","KML - altitudeMode clampToSeaFloor is currently not supported, treating as clampToGround."):l(g)&&Tt("kml-altitudeMode-unknown",`KML - Unknown altitudeMode: ${g}`))}function T_e(e,t,n,i){e._unsupportedNode.raiseEvent(e,n.parentEntity,t,n.entityCollection,n.styleCollection,n.sourceResource,n.uriResolver),Tt(`kml-unsupportedFeature-${t.nodeName}`,`KML - Unsupported feature: ${t.nodeName}`)}var Gy={INTERVAL:0,EXPIRE:1,STOP:2};function qV(e){if(!l(e)||e.length===0)return"";let t=e[0];return(t==="&"||t==="?")&&(e=e.substring(1)),e}var Not=new ae,DE=new fe,dY=new U,Fot=new h;function CY(e,t,n,i,o,r){function s(u){return u<-P.PI_OVER_TWO?-P.PI_OVER_TWO:u>P.PI_OVER_TWO?P.PI_OVER_TWO:u}function a(u){return u>P.PI?u-P.TWO_PI:u<-P.PI?u+P.TWO_PI:u}let c=yT(e.queryParameters);if(c=c.replace(/%5B/g,"[").replace(/%5D/g,"]"),l(t)&&t._mode!==ne.MORPHING){let u,f;if(o=y(o,Not),l(n)&&(dY.x=n.clientWidth*.5,dY.y=n.clientHeight*.5,u=t.pickEllipsoid(dY,r,Fot)),l(u)?f=r.cartesianToCartographic(u,DE):(f=ae.center(o,DE),u=r.cartographicToCartesian(f)),l(i)&&!P.equalsEpsilon(i,1,P.EPSILON9)){let T=o.width*i*.5,C=o.height*i*.5;o=new ae(a(f.longitude-T),s(f.latitude-C),a(f.longitude+T),s(f.latitude+C))}c=c.replace("[bboxWest]",P.toDegrees(o.west).toString()),c=c.replace("[bboxSouth]",P.toDegrees(o.south).toString()),c=c.replace("[bboxEast]",P.toDegrees(o.east).toString()),c=c.replace("[bboxNorth]",P.toDegrees(o.north).toString());let d=P.toDegrees(f.longitude).toString(),p=P.toDegrees(f.latitude).toString();c=c.replace("[lookatLon]",d),c=c.replace("[lookatLat]",p),c=c.replace("[lookatTilt]",P.toDegrees(t.pitch).toString()),c=c.replace("[lookatHeading]",P.toDegrees(t.heading).toString()),c=c.replace("[lookatRange]",h.distance(t.positionWC,u)),c=c.replace("[lookatTerrainLon]",d),c=c.replace("[lookatTerrainLat]",p),c=c.replace("[lookatTerrainAlt]",f.height.toString()),r.cartesianToCartographic(t.positionWC,DE),c=c.replace("[cameraLon]",P.toDegrees(DE.longitude).toString()),c=c.replace("[cameraLat]",P.toDegrees(DE.latitude).toString()),c=c.replace("[cameraAlt]",P.toDegrees(DE.height).toString());let g=t.frustum,m=g.aspectRatio,x="",b="";if(l(m)){let T=P.toDegrees(g.fov);m>1?(x=T,b=T/m):(b=T,x=T*m)}c=c.replace("[horizFov]",x.toString()),c=c.replace("[vertFov]",b.toString())}else c=c.replace("[bboxWest]","-180"),c=c.replace("[bboxSouth]","-90"),c=c.replace("[bboxEast]","180"),c=c.replace("[bboxNorth]","90"),c=c.replace("[lookatLon]",""),c=c.replace("[lookatLat]",""),c=c.replace("[lookatRange]",""),c=c.replace("[lookatTilt]",""),c=c.replace("[lookatHeading]",""),c=c.replace("[lookatTerrainLon]",""),c=c.replace("[lookatTerrainLat]",""),c=c.replace("[lookatTerrainAlt]",""),c=c.replace("[cameraLon]",""),c=c.replace("[cameraLat]",""),c=c.replace("[cameraAlt]",""),c=c.replace("[horizFov]",""),c=c.replace("[vertFov]","");l(n)?(c=c.replace("[horizPixels]",n.clientWidth),c=c.replace("[vertPixels]",n.clientHeight)):(c=c.replace("[horizPixels]",""),c=c.replace("[vertPixels]","")),c=c.replace("[terrainEnabled]","1"),c=c.replace("[clientVersion]","1"),c=c.replace("[kmlVersion]","2.2"),c=c.replace("[clientName]","Cesium"),c=c.replace("[language]","English"),e.setQueryParameters(ju(c))}function Bot(e,t,n,i){let r=KV(e,t,n).entity,s=n.sourceResource,a=n.uriResolver,c=wi(t,"Link",Re.kml);if(l(c)||(c=wi(t,"Url",Re.kml)),l(c)){let u=Pn(c,"href",Re.kml),f,d;if(l(u)){let p=u;if(u=yY(u,s,n.uriResolver),/^data:/.test(u.getUrlComponent()))/\.kmz/i.test(s.getUrlComponent())||(p=s.getDerivedResource({url:p}));else{if(p=u.clone(),f=Pn(c,"viewRefreshMode",Re.kml),f==="onRegion"){Tt("kml-refrehMode-onRegion","KML - Unsupported viewRefreshMode: onRegion");return}d=y(Pn(c,"viewBoundScale",Re.kml),1);let b=f==="onStop"?"BBOX=[bboxWest],[bboxSouth],[bboxEast],[bboxNorth]":"",T=y(Pn(c,"viewFormat",Re.kml),b),C=Pn(c,"httpQuery",Re.kml);l(T)&&u.setQueryParameters(ju(qV(T))),l(C)&&u.setQueryParameters(ju(qV(C)));let A=e._ellipsoid;CY(u,e.camera,e.canvas,d,e._lastCameraView.bbox,A)}let g={sourceUri:p,uriResolver:a,context:r.id,screenOverlayContainer:n.screenOverlayContainer},m=new fa,x=AY(e,m,u,g).then(function(b){let T=e._entityCollection,C=m.values;T.suspendEvents();for(let v=0;v<C.length;v++){let D=C[v];l(D.parent)||(D.parent=r,EY(D)),T.add(D)}T.resumeEvents();let A=Pn(c,"refreshMode",Re.kml),S=y(Qn(c,"refreshInterval",Re.kml),0);if(A==="onInterval"&&S>0||A==="onExpire"||f==="onStop"){let v=wi(b,"NetworkLinkControl",Re.kml),D=l(v),R=K.now(),O={id:Gn(),href:u,cookie:{},lastUpdated:R,updating:!1,entity:r,viewBoundScale:d,needsUpdate:!1,cameraUpdateTime:R},M=0;if(D&&(O.cookie=ju(y(Pn(v,"cookie",Re.kml),"")),M=y(Qn(v,"minRefreshPeriod",Re.kml),0)),A==="onInterval")D&&(S=Math.max(M,S)),O.refreshMode=Gy.INTERVAL,O.time=S;else if(A==="onExpire"){let N;if(D&&(N=Pn(v,"expires",Re.kml)),l(N))try{let _=K.fromIso8601(N),E=K.secondsDifference(_,R);E>0&&E<M&&K.addSeconds(R,M,_),O.refreshMode=Gy.EXPIRE,O.time=_}catch{Tt("kml-refreshMode-onInterval-onExpire","KML - NetworkLinkControl expires is not a valid date")}else Tt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element")}else l(e.camera)?(O.refreshMode=Gy.STOP,O.time=y(Qn(c,"viewRefreshTime",Re.kml),0)):Tt("kml-refrehMode-onStop-noCamera","A NetworkLink with viewRefreshMode=onStop requires the `camera` property to be defined.");l(O.refreshMode)&&e._networkLinks.set(O.id,O)}}).catch(function(b){Tt(`An error occured during loading ${u.url}`),e._error.raiseEvent(e,b)});i.addPromise(x)}}}function kot(e,t,n,i){let o=gY[t.localName];return l(o)?o(e,t,n,i):T_e(e,t,n,i)}function pY(e,t,n,i,o,r,s){t.removeAll();let a=n.documentElement,c=a.localName==="Document"?a:wi(a,"Document",Re.kml),u=Pn(c,"name",Re.kml);l(u)||(u=ly(i.getUrlComponent())),l(e._name)||(e._name=u);let f=new wu._DeferredLoading(e),d=new fa(e);return Promise.all(m_e(e,n,d,i,!1,o)).then(function(){let p=n.documentElement;if(p.localName==="kml"){let m=p.childNodes;for(let x=0;x<m.length;x++){let b=m[x];if(l(gY[b.localName])){p=b;break}}}let g={parentEntity:void 0,entityCollection:t,styleCollection:d,sourceResource:i,uriResolver:o,context:s,screenOverlayContainer:r};return t.suspendEvents(),kot(e,p,g,f),t.resumeEvents(),f.wait().then(function(){return n.documentElement})})}function Vot(e,t,n,i,o){let r=rn("ThirdParty/Workers/z-worker-pako.js");yE({workerScripts:{deflate:[r,"./pako_deflate.min.js"],inflate:[r,"./pako_inflate.min.js"]}});let s=new pV(new f_(n));return Promise.resolve(s.getEntries()).then(function(a){let c=[],u={},f;for(let d=0;d<a.length;d++){let p=a[d];p.directory||(/\.kml$/i.test(p.filename)&&(!l(f)||!/\//i.test(p.filename))?(l(f)&&c.push(uY(f,u)),f=p):c.push(uY(p,u)))}return l(f)&&c.push(fot(f,u)),Promise.all(c).then(function(){if(s.close(),!l(u.kml))throw new se("KMZ file does not contain a KML document.");return u.keys=Object.keys(u),pY(e,t,u.kml,i,u,o)})})}function AY(e,t,n,i){i=y(i,y.EMPTY_OBJECT);let o=i.sourceUri,r=i.uriResolver,s=i.context,a=i.screenOverlayContainer,c=n;if(typeof n=="string"||n instanceof Ae){n=Ae.createIfNeeded(n),c=n.fetchBlob(),o=y(o,n.clone());let u=e._resourceCredits,f=n.credits;if(l(f)){let d=f.length;for(let p=0;p<d;p++)u.push(f[p])}}else o=y(o,Ae.DEFAULT.clone());return o=Ae.createIfNeeded(o),l(a)&&(a=Mn(a)),Promise.resolve(c).then(function(u){return u instanceof Blob?lot(u).then(function(f){return f?Vot(e,t,u,o,a):uot(u).then(function(d){d=l_e(d),d=u_e(d);let p,g;try{p=_Y.parseFromString(d,"application/xml")}catch(m){g=m.toString()}if(l(g)||p.body||p.documentElement.tagName==="parsererror"){let m=l(g)?g:p.documentElement.firstChild.nodeValue;throw m||(m=p.body.innerText),new se(m)}return pY(e,t,p,o,r,a,s)})}):pY(e,t,u,o,r,a,s)}).catch(function(u){return e._error.raiseEvent(e,u),console.log(u),Promise.reject(u)})}function wu(e){e=y(e,y.EMPTY_OBJECT);let t=e.camera,n=e.canvas;this._changed=new me,this._error=new me,this._loading=new me,this._refresh=new me,this._unsupportedNode=new me,this._clock=void 0,this._entityCollection=new fa(this),this._name=void 0,this._isLoading=!1,this._pinBuilder=new Ny,this._networkLinks=new vt,this._entityCluster=new Pf,this.canvas=n,this.camera=t,this._lastCameraView={position:l(t)?h.clone(t.positionWC):void 0,direction:l(t)?h.clone(t.directionWC):void 0,up:l(t)?h.clone(t.upWC):void 0,bbox:l(t)?t.computeViewRectangle():ae.clone(ae.MAX_VALUE)},this._ellipsoid=y(e.ellipsoid,ee.default);let i=e.credit;typeof i=="string"&&(i=new Et(i)),this._credit=i,this._resourceCredits=[],this._kmlTours=[],this._screenOverlays=[]}wu.load=function(e,t){return t=y(t,y.EMPTY_OBJECT),new wu(t).load(e,t)};Object.defineProperties(wu.prototype,{name:{get:function(){return this._name},set:function(e){this._name!==e&&(this._name=e,this._changed.raiseEvent(this))}},clock:{get:function(){return this._clock}},entities:{get:function(){return this._entityCollection}},isLoading:{get:function(){return this._isLoading}},changedEvent:{get:function(){return this._changed}},errorEvent:{get:function(){return this._error}},loadingEvent:{get:function(){return this._loading}},refreshEvent:{get:function(){return this._refresh}},unsupportedNodeEvent:{get:function(){return this._unsupportedNode}},show:{get:function(){return this._entityCollection.show},set:function(e){this._entityCollection.show=e}},clustering:{get:function(){return this._entityCluster},set:function(e){this._entityCluster=e}},credit:{get:function(){return this._credit}},kmlTours:{get:function(){return this._kmlTours}}});wu.prototype.load=function(e,t){t=y(t,y.EMPTY_OBJECT),Zr.setLoading(this,!0);let n=this._name;this._name=void 0,this._clampToGround=y(t.clampToGround,!1);let i=this;return AY(this,this._entityCollection,e,t).then(function(){let o,r=i._entityCollection.computeAvailability(),s=r.start,a=r.stop,c=K.equals(s,Ge.MINIMUM_VALUE),u=K.equals(a,Ge.MAXIMUM_VALUE);if(!c||!u){let d;c&&(d=new Date,d.setHours(0,0,0,0),s=K.fromDate(d)),u&&(d=new Date,d.setHours(24,0,0,0),a=K.fromDate(d)),o=new um,o.startTime=s,o.stopTime=a,o.currentTime=K.clone(s),o.clockRange=$r.LOOP_STOP,o.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,o.multiplier=Math.round(Math.min(Math.max(K.secondsDifference(a,s)/60,1),31556900))}let f=!1;return o!==i._clock&&(i._clock=o,f=!0),n!==i._name&&(f=!0),f&&i._changed.raiseEvent(i),Zr.setLoading(i,!1),i}).catch(function(o){return Zr.setLoading(i,!1),i._error.raiseEvent(i,o),console.log(o),Promise.reject(o)})};wu.prototype.destroy=function(){for(;this._screenOverlays.length>0;)this._screenOverlays.pop().remove()};function EY(e){let t=e.parent;if(l(t)){let n=t.availability;if(l(n)){let i=e.availability;l(i)?i.intersect(n):e.availability=n}}}function Uot(e,t,n,i,o){return function(r){if(!i.contains(t.id))return;let s=!1,a=wi(r,"NetworkLinkControl",Re.kml),c=l(a),u=0;if(c){if(l(wi(a,"Update",Re.kml))){Tt("kml-networkLinkControl-update","KML - NetworkLinkControl updates aren't supported."),t.updating=!1,i.remove(t.id);return}t.cookie=ju(y(Pn(a,"cookie",Re.kml),"")),u=y(Qn(a,"minRefreshPeriod",Re.kml),0)}let f=K.now(),d=t.refreshMode;if(d===Gy.INTERVAL)l(a)&&(t.time=Math.max(u,t.time));else if(d===Gy.EXPIRE){let R;if(l(a)&&(R=Pn(a,"expires",Re.kml)),l(R))try{let O=K.fromIso8601(R),M=K.secondsDifference(O,f);M>0&&M<u&&K.addSeconds(f,u,O),t.time=O}catch{Tt("kml-networkLinkControl-expires","KML - NetworkLinkControl expires is not a valid date"),s=!0}else Tt("kml-refreshMode-onExpire","KML - refreshMode of onExpire requires the NetworkLinkControl to have an expires element"),s=!0}let p=t.entity,g=e._entityCollection,m=n.values;function x(R){g.remove(R);let O=R._children,M=O.length;for(let N=0;N<M;++N)x(O[N])}g.suspendEvents();let b=g.values.slice(),T;for(T=0;T<b.length;++T){let R=b[T];R.parent===p&&(R.parent=void 0,x(R))}for(g.resumeEvents(),g.suspendEvents(),T=0;T<m.length;T++){let R=m[T];l(R.parent)||(R.parent=p,EY(R)),g.add(R)}g.resumeEvents(),s?i.remove(t.id):t.lastUpdated=f;let C=g.computeAvailability(),A=C.start,S=C.stop,v=K.equals(A,Ge.MINIMUM_VALUE),D=K.equals(S,Ge.MAXIMUM_VALUE);if(!v||!D){let R=e._clock;(R.startTime!==A||R.stopTime!==S)&&(R.startTime=A,R.stopTime=S,e._changed.raiseEvent(e))}t.updating=!1,t.needsUpdate=!1,e._refresh.raiseEvent(e,o.getUrlComponent(!0))}}var hY=new vt;wu.prototype.update=function(e){let t=this._networkLinks;if(t.length===0)return!0;let n=K.now(),i=this;hY.removeAll();function o(f){let d=f._children,p=d.length;for(let g=0;g<p;++g){let m=d[g];hY.set(m.id,m),o(m)}}let r=!1,s=this._lastCameraView,a=this.camera;l(a)&&!(a.positionWC.equalsEpsilon(s.position,P.EPSILON7)&&a.directionWC.equalsEpsilon(s.direction,P.EPSILON7)&&a.upWC.equalsEpsilon(s.up,P.EPSILON7))&&(s.position=h.clone(a.positionWC),s.direction=h.clone(a.directionWC),s.up=h.clone(a.upWC),s.bbox=a.computeViewRectangle(),r=!0);let c=new vt,u=!1;return t.values.forEach(function(f){let d=f.entity;if(!hY.contains(d.id)){if(!f.updating){let p=!1;if(f.refreshMode===Gy.INTERVAL?K.secondsDifference(n,f.lastUpdated)>f.time&&(p=!0):f.refreshMode===Gy.EXPIRE?K.greaterThan(n,f.time)&&(p=!0):f.refreshMode===Gy.STOP&&(r&&(f.needsUpdate=!0,f.cameraUpdateTime=n),f.needsUpdate&&K.secondsDifference(n,f.cameraUpdateTime)>=f.time&&(p=!0)),p){o(d),f.updating=!0;let g=new fa,m=f.href.clone();m.setQueryParameters(f.cookie);let x=y(i._ellipsoid,ee.default);CY(m,i.camera,i.canvas,f.viewBoundScale,s.bbox,x),AY(i,g,m,{context:d.id}).then(Uot(i,f,g,c,m)).catch(function(b){let T=`NetworkLink ${f.href} refresh failed: ${b}`;console.log(T),i._error.raiseEvent(i,T)}),u=!0}}c.set(f.id,f)}}),u&&(this._networkLinks=c,this._changed.raiseEvent(this)),!0};function zot(){this.author={name:void 0,uri:void 0,email:void 0},this.link={href:void 0,hreflang:void 0,rel:void 0,type:void 0,title:void 0,length:void 0},this.address=void 0,this.phoneNumber=void 0,this.snippet=void 0,this.extendedData=void 0}wu._DeferredLoading=Dm;wu._getTimestamp=Ei;var ZV=wu;function TI(){de.throwInstantiationError()}TI.prototype.update=de.throwInstantiationError;TI.prototype.getBoundingSphere=de.throwInstantiationError;TI.prototype.isDestroyed=de.throwInstantiationError;TI.prototype.destroy=de.throwInstantiationError;var C_e=TI;var Hot={NONE:0,LERC:1},Qd=Object.freeze(Hot);var Got={NONE:0,BITS12:1},ga=Object.freeze(Got);var gb=new h,Wot=new h,Uf=new U,$V=new F,jot=new F,qot=Math.pow(2,12);function uc(e,t,n,i,o,r,s,a,c,u){let f=ga.NONE,d,p;if(l(t)&&l(n)&&l(i)&&l(o)){let g=t.minimum,m=t.maximum,x=h.subtract(m,g,Wot),b=i-n;Math.max(h.maximumComponent(x),b)<qot-1?f=ga.BITS12:f=ga.NONE,d=F.inverseTransformation(o,new F);let C=h.negate(g,gb);F.multiply(F.fromTranslation(C,$V),d,d);let A=gb;A.x=1/x.x,A.y=1/x.y,A.z=1/x.z,F.multiply(F.fromScale(A,$V),d,d),p=F.clone(o),F.setTranslation(p,h.ZERO,p),o=F.clone(o,new F);let S=F.fromTranslation(g,$V),v=F.fromScale(x,jot),D=F.multiply(S,v,$V);F.multiply(o,D,o),F.multiply(p,D,p)}this.quantization=f,this.minimumHeight=n,this.maximumHeight=i,this.center=h.clone(e),this.toScaledENU=d,this.fromScaledENU=o,this.matrix=p,this.hasVertexNormals=r,this.hasWebMercatorT=y(s,!1),this.hasGeodeticSurfaceNormals=y(a,!1),this.exaggeration=y(c,1),this.exaggerationRelativeHeight=y(u,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}uc.prototype.encode=function(e,t,n,i,o,r,s,a){let c=i.x,u=i.y;if(this.quantization===ga.BITS12){n=F.multiplyByPoint(this.toScaledENU,n,gb),n.x=P.clamp(n.x,0,1),n.y=P.clamp(n.y,0,1),n.z=P.clamp(n.z,0,1);let f=this.maximumHeight-this.minimumHeight,d=P.clamp((o-this.minimumHeight)/f,0,1);U.fromElements(n.x,n.y,Uf);let p=Fn.compressTextureCoordinates(Uf);U.fromElements(n.z,d,Uf);let g=Fn.compressTextureCoordinates(Uf);U.fromElements(c,u,Uf);let m=Fn.compressTextureCoordinates(Uf);if(e[t++]=p,e[t++]=g,e[t++]=m,this.hasWebMercatorT){U.fromElements(s,0,Uf);let x=Fn.compressTextureCoordinates(Uf);e[t++]=x}}else h.subtract(n,this.center,gb),e[t++]=gb.x,e[t++]=gb.y,e[t++]=gb.z,e[t++]=o,e[t++]=c,e[t++]=u,this.hasWebMercatorT&&(e[t++]=s);return this.hasVertexNormals&&(e[t++]=Fn.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=a.x,e[t++]=a.y,e[t++]=a.z),t};var Yot=new h,A_e=new h;uc.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;let i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let r=this.stride;for(let s=0;s<o;s++){for(let f=0;f<i;f++){let d=s*i+f,p=s*r+f;t[p]=e[d]}let a=this.decodePosition(t,s,Yot),c=n.geodeticSurfaceNormal(a,A_e),u=s*r+this._offsetGeodeticSurfaceNormal;t[u]=c.x,t[u+1]=c.y,t[u+2]=c.z}};uc.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;let n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let o=this.stride;for(let r=0;r<i;r++)for(let s=0;s<o;s++){let a=r*n+s,c=r*o+s;t[c]=e[a]}};uc.prototype.decodePosition=function(e,t,n){if(l(n)||(n=new h),t*=this.stride,this.quantization===ga.BITS12){let i=Fn.decompressTextureCoordinates(e[t],Uf);n.x=i.x,n.y=i.y;let o=Fn.decompressTextureCoordinates(e[t+1],Uf);return n.z=o.x,F.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],h.add(n,this.center,n)};uc.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);let i=this.exaggeration,o=this.exaggerationRelativeHeight;if(i!==1&&this.hasGeodeticSurfaceNormals){let s=this.decodeGeodeticSurfaceNormal(e,t,A_e),a=this.decodeHeight(e,t),c=Pr.getHeight(a,i,o)-a;n.x+=s.x*c,n.y+=s.y*c,n.z+=s.z*c}return n};uc.prototype.decodeTextureCoordinates=function(e,t,n){return l(n)||(n=new U),t*=this.stride,this.quantization===ga.BITS12?Fn.decompressTextureCoordinates(e[t+2],n):U.fromElements(e[t+4],e[t+5],n)};uc.prototype.decodeHeight=function(e,t){return t*=this.stride,this.quantization===ga.BITS12?Fn.decompressTextureCoordinates(e[t+1],Uf).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:e[t+3]};uc.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===ga.BITS12?Fn.decompressTextureCoordinates(e[t+3],Uf).x:e[t+6]};uc.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;let i=e[t]/256,o=Math.floor(i),r=(i-o)*256;return U.fromElements(o,r,n)};uc.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n};uc.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case ga.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};var QV={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},JV={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};uc.prototype.getAttributes=function(e){let t=X.FLOAT,n=X.getSizeInBytes(t),i=this.stride*n,o=0,r=[];function s(a,c){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:c,offsetInBytes:o,strideInBytes:i}),o+=c*n}if(this.quantization===ga.NONE){s(QV.position3DAndHeight,4);let a=2;a+=this.hasWebMercatorT?1:0,a+=this.hasVertexNormals?1:0,s(QV.textureCoordAndEncodedNormals,a),this.hasGeodeticSurfaceNormals&&s(QV.geodeticSurfaceNormal,3)}else{let a=this.hasWebMercatorT||this.hasVertexNormals,c=this.hasWebMercatorT&&this.hasVertexNormals;s(JV.compressed0,a?4:3),c&&s(JV.compressed1,1),this.hasGeodeticSurfaceNormals&&s(JV.geodeticSurfaceNormal,3)}return r};uc.prototype.getAttributeLocations=function(){return this.quantization===ga.NONE?QV:JV};uc.clone=function(e,t){if(l(e))return l(t)||(t=new uc),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=h.clone(e.center),t.toScaledENU=F.clone(e.toScaledENU),t.fromScaledENU=F.clone(e.fromScaledENU),t.matrix=F.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var Xc=uc;var Im={};Im.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var SY=new h,Xot=new F,Kot=new h,Zot=new h;Im.computeVertices=function(e){let t=Math.cos,n=Math.sin,i=Math.sqrt,o=Math.atan,r=Math.exp,s=P.PI_OVER_TWO,a=P.toRadians,c=e.heightmap,u=e.width,f=e.height,d=e.skirtHeight,p=d>0,g=y(e.isGeographic,!0),m=y(e.ellipsoid,ee.default),x=1/m.maximumRadius,b=ae.clone(e.nativeRectangle),T=ae.clone(e.rectangle),C,A,S,v;l(T)?(C=T.west,A=T.south,S=T.east,v=T.north):g?(C=a(b.west),A=a(b.south),S=a(b.east),v=a(b.north)):(C=b.west*x,A=s-2*o(r(-b.south*x)),S=b.east*x,v=s-2*o(r(-b.north*x)));let D=e.relativeToCenter,R=l(D);D=R?D:h.ZERO;let O=y(e.includeWebMercatorT,!1),M=y(e.exaggeration,1),N=y(e.exaggerationRelativeHeight,0),E=M!==1,w=y(e.structure,Im.DEFAULT_STRUCTURE),I=y(w.heightScale,Im.DEFAULT_STRUCTURE.heightScale),L=y(w.heightOffset,Im.DEFAULT_STRUCTURE.heightOffset),B=y(w.elementsPerHeight,Im.DEFAULT_STRUCTURE.elementsPerHeight),H=y(w.stride,Im.DEFAULT_STRUCTURE.stride),V=y(w.elementMultiplier,Im.DEFAULT_STRUCTURE.elementMultiplier),G=y(w.isBigEndian,Im.DEFAULT_STRUCTURE.isBigEndian),k=ae.computeWidth(b),W=ae.computeHeight(b),Y=k/(u-1),J=W/(f-1);g||(k*=x,W*=x);let j=m.radiiSquared,Z=j.x,Q=j.y,he=j.z,ye=65536,re=-65536,_e=Mt.eastNorthUpToFixedFrame(D,m),xe=F.inverseTransformation(_e,Xot),Ie,De;O&&(Ie=Ri.geodeticLatitudeToMercatorAngle(A),De=1/(Ri.geodeticLatitudeToMercatorAngle(v)-Ie));let Ne=Kot;Ne.x=Number.POSITIVE_INFINITY,Ne.y=Number.POSITIVE_INFINITY,Ne.z=Number.POSITIVE_INFINITY;let Ce=Zot;Ce.x=Number.NEGATIVE_INFINITY,Ce.y=Number.NEGATIVE_INFINITY,Ce.z=Number.NEGATIVE_INFINITY;let Be=Number.POSITIVE_INFINITY,Ve=u*f,$e=d>0?u*2+f*2:0,qe=Ve+$e,pt=new Array(qe),ht=new Array(qe),yt=new Array(qe),Jt=O?new Array(qe):[],Te=E?new Array(qe):[],Ee=0,on=f,en=0,Xt=u;p&&(--Ee,++on,--en,++Xt);let ji=1e-5;for(let Qe=Ee;Qe<on;++Qe){let ct=Qe;ct<0&&(ct=0),ct>=f&&(ct=f-1);let zt=b.north-J*ct;g?zt=a(zt):zt=s-2*o(r(-zt*x));let yn=(zt-A)/(v-A);yn=P.clamp(yn,0,1);let Zn=Qe===Ee,$i=Qe===on-1;d>0&&(Zn?zt+=ji*W:$i&&(zt-=ji*W));let Er=t(zt),Po=n(zt),gs=he*Po,io;O&&(io=(Ri.geodeticLatitudeToMercatorAngle(zt)-Ie)*De);for(let $s=en;$s<Xt;++$s){let zr=$s;zr<0&&(zr=0),zr>=u&&(zr=u-1);let zl=ct*(u*H)+zr*H,Yn;if(B===1)Yn=c[zl];else{Yn=0;let Qs;if(G)for(Qs=0;Qs<B;++Qs)Yn=Yn*V+c[zl+Qs];else for(Qs=B-1;Qs>=0;--Qs)Yn=Yn*V+c[zl+Qs]}Yn=Yn*I+L,re=Math.max(re,Yn),ye=Math.min(ye,Yn);let fr=b.west+Y*zr;g?fr=a(fr):fr=fr*x;let Eo=(fr-C)/(S-C);Eo=P.clamp(Eo,0,1);let Va=ct*u+zr;if(d>0){let Qs=$s===en,Hr=$s===Xt-1,Ea=Zn||$i||Qs||Hr;if((Zn||$i)&&(Qs||Hr))continue;Ea&&(Yn-=d,Qs?(Va=Ve+(f-ct-1),fr-=ji*k):$i?Va=Ve+f+(u-zr-1):Hr?(Va=Ve+f+u+ct,fr+=ji*k):Zn&&(Va=Ve+f+u+f+zr))}let yo=Er*t(fr),Hl=Er*n(fr),mh=Z*yo,Xm=Q*Hl,Km=1/i(mh*yo+Xm*Hl+gs*Po),O_=mh*Km,_h=Xm*Km,Gl=gs*Km,ys=new h;ys.x=O_+yo*Yn,ys.y=_h+Hl*Yn,ys.z=Gl+Po*Yn,F.multiplyByPoint(xe,ys,SY),h.minimumByComponent(SY,Ne,Ne),h.maximumByComponent(SY,Ce,Ce),Be=Math.min(Be,Yn),pt[Va]=ys,yt[Va]=new U(Eo,yn),ht[Va]=Yn,O&&(Jt[Va]=io),E&&(Te[Va]=m.geodeticSurfaceNormal(ys))}}let Ke=ce.fromPoints(pt),ns;l(T)&&(ns=In.fromRectangle(T,ye,re,m));let Ur;R&&(Ur=new cy(m).computeHorizonCullingPointPossiblyUnderEllipsoid(D,pt,ye));let Aa=new Z0(Ne,Ce,D),Me=new Xc(D,Aa,Be,re,_e,!1,O,E,M,N),at=new Float32Array(qe*Me.stride),Je=0;for(let Qe=0;Qe<qe;++Qe)Je=Me.encode(at,Je,pt[Qe],yt[Qe],ht[Qe],void 0,Jt[Qe],Te[Qe]);return{vertices:at,maximumHeight:re,minimumHeight:ye,encoding:Me,boundingSphere3D:Ke,orientedBoundingBox:ns,occludeePointInScaledSpace:Ur}};var CI=Im;function Wy(){de.throwInstantiationError()}Object.defineProperties(Wy.prototype,{credits:{get:de.throwInstantiationError},waterMask:{get:de.throwInstantiationError}});Wy.prototype.interpolateHeight=de.throwInstantiationError;Wy.prototype.isChildAvailable=de.throwInstantiationError;Wy.prototype.createMesh=de.throwInstantiationError;Wy.prototype.upsample=de.throwInstantiationError;Wy.prototype.wasCreatedByUpsampling=de.throwInstantiationError;Wy.maximumAsynchronousTasks=5;var Pm=Wy;function $ot(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this.center=e,this.vertices=t,this.stride=y(u,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=o,this.minimumHeight=r,this.maximumHeight=s,this.boundingSphere3D=a,this.occludeePointInScaledSpace=c,this.orientedBoundingBox=f,this.encoding=d,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=g,this.eastIndicesNorthToSouth=m,this.northIndicesWestToEast=x}var Jd=$ot;function Kc(){de.throwInstantiationError()}Object.defineProperties(Kc.prototype,{errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},hasWaterMask:{get:de.throwInstantiationError},hasVertexNormals:{get:de.throwInstantiationError},availability:{get:de.throwInstantiationError}});var E_e=[];Kc.getRegularGridIndices=function(e,t){let n=E_e[e];l(n)||(E_e[e]=n=[]);let i=n[t];return l(i)||(e*t<P.SIXTY_FOUR_KILOBYTES?i=n[t]=new Uint16Array((e-1)*(t-1)*6):i=n[t]=new Uint32Array((e-1)*(t-1)*6),D_e(e,t,i,0)),i};var S_e=[];Kc.getRegularGridIndicesAndEdgeIndices=function(e,t){let n=S_e[e];l(n)||(S_e[e]=n=[]);let i=n[t];if(!l(i)){let o=Kc.getRegularGridIndices(e,t),r=w_e(e,t),s=r.westIndicesSouthToNorth,a=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,u=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:s,southIndicesEastToWest:a,eastIndicesNorthToSouth:c,northIndicesWestToEast:u}}return i};var v_e=[];Kc.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){let n=v_e[e];l(n)||(v_e[e]=n=[]);let i=n[t];if(!l(i)){let o=e*t,r=(e-1)*(t-1)*6,s=e*2+t*2,a=Math.max(0,s-4)*6,c=o+s,u=r+a,f=w_e(e,t),d=f.westIndicesSouthToNorth,p=f.southIndicesEastToWest,g=f.eastIndicesNorthToSouth,m=f.northIndicesWestToEast,x=ke.createTypedArray(c,u);D_e(e,t,x,0),Kc.addSkirtIndices(d,p,g,m,o,x,r),i=n[t]={indices:x,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:g,northIndicesWestToEast:m,indexCountWithoutSkirts:r}}return i};Kc.addSkirtIndices=function(e,t,n,i,o,r,s){let a=o;s=eU(e,a,r,s),a+=e.length,s=eU(t,a,r,s),a+=t.length,s=eU(n,a,r,s),a+=n.length,eU(i,a,r,s)};function w_e(e,t){let n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e),s;for(s=0;s<e;++s)r[s]=s,i[s]=e*t-1-s;for(s=0;s<t;++s)o[s]=(s+1)*e-1,n[s]=(t-s-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function D_e(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let s=0;s<e-1;++s){let a=o,c=a+e,u=c+1,f=a+1;n[i++]=a,n[i++]=c,n[i++]=f,n[i++]=f,n[i++]=c,n[i++]=u,++o}++o}}function eU(e,t,n,i){let o=e[0],r=e.length;for(let s=1;s<r;++s){let a=e[s];n[i++]=o,n[i++]=a,n[i++]=t,n[i++]=t,n[i++]=a,n[i++]=t+1,o=a,++t}return i}Kc.heightmapTerrainQuality=.25;Kc.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return e.maximumRadius*2*Math.PI*Kc.heightmapTerrainQuality/(t*n)};Kc.prototype.requestTileGeometry=de.throwInstantiationError;Kc.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;Kc.prototype.getTileDataAvailable=de.throwInstantiationError;Kc.prototype.loadTileDataAvailability=de.throwInstantiationError;var ds=Kc;function h_(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=y(e.childTileMask,15),this._encoding=y(e.encoding,Qd.NONE);let t=CI.DEFAULT_STRUCTURE,n=e.structure;l(n)?n!==t&&(n.heightScale=y(n.heightScale,t.heightScale),n.heightOffset=y(n.heightOffset,t.heightOffset),n.elementsPerHeight=y(n.elementsPerHeight,t.elementsPerHeight),n.stride=y(n.stride,t.stride),n.elementMultiplier=y(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=y(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===Qd.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(h_.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var I_e="createVerticesFromHeightmap",Qot=new xi(I_e),Jot=new xi(I_e,Pm.maximumAsynchronousTasks);h_.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToNativeRectangle(n,i,o),f=t.tileXYToRectangle(n,i,o),d=c.cartographicToCartesian(ae.center(f)),p=this._structure,m=ds.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(m*4,1e3);let b=(a?Jot:Qot).scheduleTask({heightmap:this._buffer,structure:p,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:u,rectangle:f,relativeToCenter:d,ellipsoid:c,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ii,exaggeration:r,exaggerationRelativeHeight:s,encoding:this._encoding});if(!l(b))return;let T=this;return Promise.resolve(b).then(function(C){let A;T._skirtHeight>0?A=ds.getRegularGridAndSkirtIndicesAndEdgeIndices(C.gridWidth,C.gridHeight):A=ds.getRegularGridIndicesAndEdgeIndices(C.gridWidth,C.gridHeight);let S=C.gridWidth*C.gridHeight;return T._mesh=new Jd(d,new Float32Array(C.vertices),A.indices,A.indexCountWithoutSkirts,S,C.minimumHeight,C.maximumHeight,ce.clone(C.boundingSphere3D),h.clone(C.occludeePointInScaledSpace),C.numberOfAttributes,In.clone(C.orientedBoundingBox),Xc.clone(C.encoding),A.westIndicesSouthToNorth,A.southIndicesEastToWest,A.eastIndicesNorthToSouth,A.northIndicesWestToEast),T._buffer=void 0,T._mesh})};h_.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),u=t.tileXYToRectangle(n,i,o),f=a.cartographicToCartesian(ae.center(u)),d=this._structure,g=ds.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(g*4,1e3);let m=CI.computeVertices({heightmap:this._buffer,structure:d,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:c,rectangle:u,relativeToCenter:f,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof Ii,exaggeration:r,exaggerationRelativeHeight:s});this._buffer=void 0;let x;this._skirtHeight>0?x=ds.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):x=ds.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let b=m.gridWidth*m.gridHeight;return this._mesh=new Jd(f,m.vertices,x.indices,x.indexCountWithoutSkirts,b,m.minimumHeight,m.maximumHeight,m.boundingSphere3D,m.occludeePointInScaledSpace,m.encoding.stride,m.orientedBoundingBox,m.encoding,x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),this._mesh};h_.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,u=r.isBigEndian,f=r.heightOffset,d=r.heightScale,p=l(this._mesh),g=this._encoding===Qd.LERC;if(!p&&g)return;let x;if(p){let b=this._mesh.vertices,T=this._mesh.encoding;x=P_e(b,T,f,d,e,i,o,t,n)}else x=ert(this._buffer,a,c,s,u,e,i,o,t,n),x=x*d+f;return x};h_.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(a))return;let c=this._width,u=this._height,f=this._structure,d=f.stride,p=new this._bufferType(c*u*d),g=a.vertices,m=a.encoding,x=e.tileXYToRectangle(t,n,i),b=e.tileXYToRectangle(o,r,s),T=f.heightOffset,C=f.heightScale,A=f.elementsPerHeight,S=f.elementMultiplier,v=f.isBigEndian,D=Math.pow(S,A-1);for(let R=0;R<u;++R){let O=P.lerp(b.north,b.south,R/(u-1));for(let M=0;M<c;++M){let N=P.lerp(b.west,b.east,M/(c-1)),_=P_e(g,m,T,C,x,c,u,N,O);_=_<f.lowestEncodedHeight?f.lowestEncodedHeight:_,_=_>f.highestEncodedHeight?f.highestEncodedHeight:_,trt(p,A,S,D,d,v,R*c+M,_)}}return Promise.resolve(new h_({buffer:p,width:c,height:u,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};h_.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};h_.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};function ert(e,t,n,i,o,r,s,a,c,u){let f=(c-r.west)*(s-1)/(r.east-r.west),d=(u-r.south)*(a-1)/(r.north-r.south),p=f|0,g=p+1;g>=s&&(g=s-1,p=s-2);let m=d|0,x=m+1;x>=a&&(x=a-1,m=a-2);let b=f-p,T=d-m;m=a-1-m,x=a-1-x;let C=tU(e,t,n,i,o,m*s+p),A=tU(e,t,n,i,o,m*s+g),S=tU(e,t,n,i,o,x*s+p),v=tU(e,t,n,i,o,x*s+g);return O_e(b,T,C,A,S,v)}function P_e(e,t,n,i,o,r,s,a,c){let u=(a-o.west)*(r-1)/(o.east-o.west),f=(c-o.south)*(s-1)/(o.north-o.south),d=u|0,p=d+1;p>=r&&(p=r-1,d=r-2);let g=f|0,m=g+1;m>=s&&(m=s-1,g=s-2);let x=u-d,b=f-g;g=s-1-g,m=s-1-m;let T=(t.decodeHeight(e,g*r+d)-n)/i,C=(t.decodeHeight(e,g*r+p)-n)/i,A=(t.decodeHeight(e,m*r+d)-n)/i,S=(t.decodeHeight(e,m*r+p)-n)/i;return O_e(x,b,T,C,A,S)}function O_e(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function tU(e,t,n,i,o,r){r*=i;let s=0,a;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function trt(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c<t-1;++c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;else for(c=t-1;c>0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var fc=h_;function OE(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var yb=new ae;function nrt(e,t,n,i){let o=i.length;for(let r=0;r<o;++r){let s=i[r];if(s.x===t&&s.y===n&&s.level===e)return!0}return!1}OE.prototype.addAvailableTileRange=function(e,t,n,i,o){let r=this._tilingScheme,s=this._rootNodes;if(e===0)for(let p=n;p<=o;++p)for(let g=t;g<=i;++g)nrt(e,g,p,s)||s.push(new IE(r,void 0,0,g,p));r.tileXYToRectangle(t,n,e,yb);let a=yb.west,c=yb.north;r.tileXYToRectangle(i,o,e,yb);let u=yb.east,f=yb.south,d=new art(e,a,f,u,c);for(let p=0;p<s.length;++p){let g=s[p];vY(g.extent,d)&&crt(this._maximumLevel,g,d)}};OE.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){let i=this._rootNodes[n];if(PE(i.extent,e)){t=i;break}}return l(t)?AI(void 0,t,e):-1};var irt=[],ort=[],rrt=new ae,srt=new ae;OE.prototype.computeBestAvailableLevelOverRectangle=function(e){let t=irt;t.length=0,e.east<e.west?(t.push(ae.fromRadians(-Math.PI,e.south,e.east,e.north,rrt)),t.push(ae.fromRadians(e.west,e.south,Math.PI,e.north,srt))):t.push(e);let n=ort;n.length=0;let i;for(i=0;i<this._rootNodes.length;++i)EI(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(l(n[i])&&n[i].length===0)return i;return 0};var R_e=new fe;OE.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,yb);return ae.center(i,R_e),this.computeMaximumLevelAtPosition(R_e)>=e};OE.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function IE(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(IE.prototype,{nw:{get:function(){return this._nw||(this._nw=new IE(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new IE(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new IE(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new IE(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function art(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function vY(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function crt(e,t,n){for(;t.level<e;)if(nU(t.nw.extent,n))t=t.nw;else if(nU(t.ne.extent,n))t=t.ne;else if(nU(t.sw.extent,n))t=t.sw;else if(nU(t.se.extent,n))t=t.se;else break;if(t.rectangles.length===0||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let i=Ro(t.rectangles,n.level,lrt);i<0&&(i=~i),t.rectangles.splice(i,0,n)}}function lrt(e,t){return e.level-t}function nU(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function PE(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function AI(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&PE(t._nw.extent,n),s=t._ne&&PE(t._ne.extent,n),a=t._sw&&PE(t._sw.extent,n),c=t._se&&PE(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,AI(t,t._nw,n))),s&&(i=Math.max(i,AI(t,t._ne,n))),a&&(i=Math.max(i,AI(t,t._sw,n))),c&&(i=Math.max(i,AI(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];PE(a,n)&&(i=a.level)}t=t.parent}return i}function EI(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||vY(t.extent,n[i]);if(!o)return;let r=t.rectangles;for(i=0;i<r.length;++i){let s=r[i];e[s.level]||(e[s.level]=n),e[s.level]=urt(e[s.level],s)}EI(e,t._nw,n),EI(e,t._ne,n),EI(e,t._sw,n),EI(e,t._se,n)}function urt(e,t){let n=[];for(let i=0;i<e.length;++i){let o=e[i];vY(o,t)?(o.west<t.west&&n.push(new ae(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new ae(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new ae(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new ae(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var Om=OE;function frt(e){let t,n=e.name,i=e.message;l(n)&&l(i)?t=`${n}: ${i}`:t=e.toString();let o=e.stack;return l(o)&&(t+=` +${o}`),t}var m_=frt;function iU(e,t,n,i,o,r,s){this.provider=e,this.message=t,this.x=n,this.y=i,this.level=o,this.timesRetried=y(r,0),this.retry=!1,this.error=s}iU.reportError=function(e,t,n,i,o,r,s,a){let c=e;return l(e)?(c.provider=t,c.message=i,c.x=o,c.y=r,c.level=s,c.retry=!1,c.error=a,++c.timesRetried):c=new iU(t,i,o,r,s,0,a),l(n)&&n.numberOfListeners>0?n.raiseEvent(c):l(t)&&console.log(`An error occurred in "${t.constructor.name}": ${m_(i)}`),c};iU.reportSuccess=function(e){l(e)&&(e.timesRetried=-1)};var Io=iU;function jy(e){if(e=y(e,y.EMPTY_OBJECT),this._ellipsoid=y(e.ellipsoid,ee.default),this._numberOfLevelZeroTilesX=y(e.numberOfLevelZeroTilesX,1),this._numberOfLevelZeroTilesY=y(e.numberOfLevelZeroTilesY,1),this._projection=new Ri(this._ellipsoid),l(e.rectangleSouthwestInMeters)&&l(e.rectangleNortheastInMeters))this._rectangleSouthwestInMeters=e.rectangleSouthwestInMeters,this._rectangleNortheastInMeters=e.rectangleNortheastInMeters;else{let i=this._ellipsoid.maximumRadius*Math.PI;this._rectangleSouthwestInMeters=new U(-i,-i),this._rectangleNortheastInMeters=new U(i,i)}let t=this._projection.unproject(this._rectangleSouthwestInMeters),n=this._projection.unproject(this._rectangleNortheastInMeters);this._rectangle=new ae(t.longitude,t.latitude,n.longitude,n.latitude)}Object.defineProperties(jy.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},rectangle:{get:function(){return this._rectangle}},projection:{get:function(){return this._projection}}});jy.prototype.getNumberOfXTilesAtLevel=function(e){return this._numberOfLevelZeroTilesX<<e};jy.prototype.getNumberOfYTilesAtLevel=function(e){return this._numberOfLevelZeroTilesY<<e};jy.prototype.rectangleToNativeRectangle=function(e,t){let n=this._projection,i=n.project(ae.southwest(e)),o=n.project(ae.northeast(e));return l(t)?(t.west=i.x,t.south=i.y,t.east=o.x,t.north=o.y,t):new ae(i.x,i.y,o.x,o.y)};jy.prototype.tileXYToNativeRectangle=function(e,t,n,i){let o=this.getNumberOfXTilesAtLevel(n),r=this.getNumberOfYTilesAtLevel(n),s=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,a=this._rectangleSouthwestInMeters.x+e*s,c=this._rectangleSouthwestInMeters.x+(e+1)*s,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,f=this._rectangleNortheastInMeters.y-t*u,d=this._rectangleNortheastInMeters.y-(t+1)*u;return l(i)?(i.west=a,i.south=d,i.east=c,i.north=f,i):new ae(a,d,c,f)};jy.prototype.tileXYToRectangle=function(e,t,n,i){let o=this.tileXYToNativeRectangle(e,t,n,i),r=this._projection,s=r.unproject(new U(o.west,o.south)),a=r.unproject(new U(o.east,o.north));return o.west=s.longitude,o.south=s.latitude,o.east=a.longitude,o.north=a.latitude,o};jy.prototype.positionToTileXY=function(e,t,n){let i=this._rectangle;if(!ae.contains(i,e))return;let o=this.getNumberOfXTilesAtLevel(t),r=this.getNumberOfYTilesAtLevel(t),a=(this._rectangleNortheastInMeters.x-this._rectangleSouthwestInMeters.x)/o,u=(this._rectangleNortheastInMeters.y-this._rectangleSouthwestInMeters.y)/r,d=this._projection.project(e),p=d.x-this._rectangleSouthwestInMeters.x,g=this._rectangleNortheastInMeters.y-d.y,m=p/a|0;m>=o&&(m=o-1);let x=g/u|0;return x>=r&&(x=r-1),l(n)?(n.x=m,n.y=x,n):new U(m,x)};var hs=jy;var drt=15;function M_e(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}M_e.prototype.build=function(e){e._credit=this.credit,e._tilingScheme=this.tilingScheme,e._height=this.height,e._width=this.width,e._encoding=this.encoding,e._lodCount=this.lodCount,e._hasAvailability=this.hasAvailability,e._tilesAvailable=this.tilesAvailable,e._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._terrainDataStructure=this.terrainDataStructure};function hrt(e,t){let n=t.copyrightText;l(n)&&(e.credit=new Et(n));let i=t.spatialReference,o=y(i.latestWkid,i.wkid),r=t.extent,s={ellipsoid:e.ellipsoid};if(o===4326)s.rectangle=ae.fromDegrees(r.xmin,r.ymin,r.xmax,r.ymax),e.tilingScheme=new Xi(s);else if(o===3857){let u=Math.PI*e.ellipsoid.maximumRadius;t.extent.xmax>u&&(t.extent.xmax=u),t.extent.ymax>u&&(t.extent.ymax=u),t.extent.xmin<-u&&(t.extent.xmin=-u),t.extent.ymin<-u&&(t.extent.ymin=-u),s.rectangleSouthwestInMeters=new U(r.xmin,r.ymin),s.rectangleNortheastInMeters=new U(r.xmax,r.ymax),e.tilingScheme=new hs(s)}else throw new se("Invalid spatial reference");let a=t.tileInfo;if(!l(a))throw new se("tileInfo is required");e.width=a.rows+1,e.height=a.cols+1,e.encoding=a.format==="LERC"?Qd.LERC:Qd.NONE,e.lodCount=a.lods.length-1,(e.hasAvailability=t.capabilities.indexOf("Tilemap")!==-1)&&(e.tilesAvailable=new Om(e.tilingScheme,e.lodCount),e.tilesAvailable.addAvailableTileRange(0,0,0,e.tilingScheme.getNumberOfXTilesAtLevel(0),e.tilingScheme.getNumberOfYTilesAtLevel(0)),e.tilesAvailabilityLoaded=new Om(e.tilingScheme,e.lodCount)),e.levelZeroMaximumGeometricError=ds.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.width,e.tilingScheme.getNumberOfXTilesAtLevel(0)),t.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),l(t.minValues)&&l(t.maxValues)?e.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:t.minValues[0],highestEncodedHeight:t.maxValues[0]}:e.terrainDataStructure={elementMultiplier:1}}async function mrt(e,t,n){try{let i=await t.fetchJson();hrt(e,i)}catch(i){let o=`An error occurred while accessing ${t}.`;throw Io.reportError(void 0,n,l(n)?n._errorEvent:void 0,o),i}}function qy(e){e=y(e,y.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0,this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._errorEvent=new me}Object.defineProperties(qy.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});qy.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=Ae.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&(n=n.getDerivedResource({queryParameters:{token:t.token}}));let i=n.getDerivedResource({queryParameters:{f:"pjson"}}),o=new M_e(t);await mrt(o,i);let r=new qy(t);return o.build(r),r._resource=n,r};qy.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!l(wY(this,n+1,e*2,t*2))){let d=L_e(this,n+1,e*2,t*2);s=d.promise,a=d.request}let c=o.fetchArrayBuffer();if(!l(c)||!l(s))return;let u=this,f=this._tilesAvailable;return Promise.all([c,s]).then(function(d){return new fc({buffer:d[0],width:u._width,height:u._height,childTileMask:r?f.computeChildMaskForTile(n,e,t):drt,structure:u._terrainDataStructure,encoding:u._encoding})}).catch(async function(d){if(l(a)&&a.state===ei.CANCELLED){i.cancel();try{await i.deferred?.promise}catch{}return i.state=ei.CANCELLED,Promise.reject(d)}return Promise.reject(d)})};function wY(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailabilityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}qy.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};qy.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;let i=wY(this,n,e,t);if(l(i))return i;L_e(this,n,e,t)};qy.prototype.loadTileDataAvailability=function(e,t,n){};function prt(e,t,n,i){let o=t-1,r=n-1,s=i[e.y*t+e.x],a=[],c={startX:e.x,startY:e.y,endX:0,endY:0},u=new U(e.x+1,e.y+1),f=!1,d=!1;for(;!(f&&d);){let p=u.x,g=d?u.y+1:u.y;if(!f){for(let m=e.y;m<g;++m)if(i[m*t+u.x]!==s){f=!0;break}f?(a.push(new U(u.x,e.y)),--u.x,--p,c.endX=u.x):u.x===o?(c.endX=u.x,f=!0):++u.x}if(!d){let m=u.y*t;for(let x=e.x;x<=p;++x)if(i[m+x]!==s){d=!0;break}d?(a.push(new U(e.x,u.y)),--u.y,c.endY=u.y):u.y===r?(c.endY=u.y,d=!0):++u.y}}return{endingIndices:a,range:c,value:s}}function _rt(e,t,n,i,o){let r=[];if(o.every(function(c){return c===o[0]}))return o[0]===1&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let a=[new U(0,0)];for(;a.length>0;){let c=a.pop(),u=prt(c,n,i,o);if(u.value===1){let d=u.range;d.startX+=e,d.endX+=e,d.startY+=t,d.endY+=t,r.push(d)}let f=u.endingIndices;f.length>0&&(a=a.concat(f))}return r}function L_e(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<<t,128),a=`tilemap/${t}/${r}/${o}/${s}/${s}`,c=e._availableCache;if(l(c[a]))return c[a];let u=new or({throttle:!1,throttleByServer:!0,type:bs.TERRAIN}),d=e._resource.getDerivedResource({url:a,request:u}).fetchJson();return l(d)?(d=d.then(function(p){let g=_rt(o,r,s,s,p.data);e._tilesAvailabilityLoaded.addAvailableTileRange(t,o,r,o+s,r+s);let m=e._tilesAvailable;for(let x=0;x<g.length;++x){let b=g[x];m.addAvailableTileRange(t,b.startX,b.startY,b.endX,b.endY)}return wY(e,t,n,i)}),c[a]={promise:d,request:u},d=d.finally(function(p){return delete c[a],p}),{promise:d,request:u}):{}}var N_e=qy;var F_e="https://dev.virtualearth.net/REST/v1/Locations";function DY(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._key=t;let n={key:t};l(e.culture)&&(n.culture=e.culture),this._resource=new Ae({url:F_e,queryParameters:n}),this._credit=new Et('<img src="http://dev.virtualearth.net/Branding/logo_powered_by.png"/>',!1)}Object.defineProperties(DY.prototype,{url:{get:function(){return F_e}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});DY.prototype.geocode=async function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],u=r[3];return{displayName:o.name,destination:ae.fromDegrees(a,s,u,c)}})})};var B_e=DY;function IY(){}Object.defineProperties(IY.prototype,{credit:{get:function(){}}});IY.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s<t.length;++s){let a=t[s].match(r);r.test(t[s])&&a.length===3&&(/^[ns]/i.test(a[2])?i=/^[n]/i.test(a[2])?+a[1]:-a[1]:/^[ew]/i.test(a[2])&&(n=/^[e]/i.test(a[2])?+a[1]:-a[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){let r={displayName:e,destination:h.fromDegrees(n,i,o)};return Promise.resolve([r])}}return Promise.resolve([])};var k_e=IY;var grt=new oe,V_e=new h,RE=new h;function yrt(e){let t=e.points,n=e.times;if(t.length<3){let i=n[0],o=1/(n[1]-i),r=t[0],s=t[1];return function(a,c){l(c)||(c=new h);let u=(a-i)*o;return h.lerp(r,s,u,c)}}return function(i,o){l(o)||(o=new h);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=grt;a.z=s,a.y=s*s,a.x=a.y*s,a.w=1;let c,u,f,d,p;return r===0?(c=t[0],u=t[1],f=e.firstTangent,d=h.subtract(t[2],c,V_e),h.multiplyByScalar(d,.5,d),p=F.multiplyByVector(Ex.hermiteCoefficientMatrix,a,a)):r===t.length-2?(c=t[r],u=t[r+1],d=e.lastTangent,f=h.subtract(u,t[r-1],V_e),h.multiplyByScalar(f,.5,f),p=F.multiplyByVector(Ex.hermiteCoefficientMatrix,a,a)):(c=t[r-1],u=t[r],f=t[r+1],d=t[r+2],p=F.multiplyByVector(Yy.catmullRomCoefficientMatrix,a,a)),o=h.multiplyByScalar(c,p.x,o),h.multiplyByScalar(u,p.y,RE),h.add(o,RE,o),h.multiplyByScalar(f,p.z,RE),h.add(o,RE,o),h.multiplyByScalar(d,p.w,RE),h.add(o,RE,o)}}var xrt=new h,brt=new h;function Yy(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.firstTangent,o=e.lastTangent;if(t.length>2&&(l(i)||(i=xrt,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!l(o))){let r=t.length-1;o=brt,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=yrt(this),this._lastTimeIndex=0}Object.defineProperties(Yy.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});Yy.catmullRomCoefficientMatrix=new F(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);Yy.prototype.findTimeInterval=ro.prototype.findTimeInterval;Yy.prototype.wrapTime=ro.prototype.wrapTime;Yy.prototype.clampTime=ro.prototype.clampTime;Yy.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var U_e=Yy;var oU={};oU.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){l(r)?r.length=0:r=[];let s,a,c;t?(s=n<e,a=i<e,c=o<e):(s=n>e,a=i>e,c=o>e);let u=s+a+c,f,d,p,g,m,x;return u===1?s?(f=(e-n)/(i-n),d=(e-n)/(o-n),r.push(1),r.push(2),d!==1&&(r.push(-1),r.push(0),r.push(2),r.push(d)),f!==1&&(r.push(-1),r.push(0),r.push(1),r.push(f))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(m=(e-o)/(n-o),x=(e-o)/(i-o),r.push(0),r.push(1),x!==1&&(r.push(-1),r.push(2),r.push(1),r.push(x)),m!==1&&(r.push(-1),r.push(2),r.push(0),r.push(m))):u===2?!s&&n!==e?(g=(e-i)/(n-i),m=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(m)):!a&&i!==e?(x=(e-o)/(i-o),f=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(x),r.push(-1),r.push(0),r.push(1),r.push(f)):!c&&o!==e&&(d=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(d),r.push(-1),r.push(1),r.push(2),r.push(p)):u!==3&&(r.push(0),r.push(1),r.push(2)),r};oU.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let u=n-s,f=s-o,d=r-a,p=i-a,g=1/(d*u+f*p),m=t-a,x=e-s,b=(d*x+f*m)*g,T=(-p*x+u*m)*g,C=1-b-T;return l(c)?(c.x=b,c.y=T,c.z=C,c):new h(b,T,C)};oU.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let u=(s-o)*(t-r)-(a-r)*(e-o),f=(n-e)*(t-r)-(i-t)*(e-o),d=(a-r)*(n-e)-(s-o)*(i-t);if(d===0)return;let p=u/d,g=f/d;if(p>=0&&p<=1&&g>=0&&g<=1)return l(c)||(c=new U),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var Xy=oU;function Ky(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=sU(e.westIndices,o,t),this._southIndices=sU(e.southIndices,r,t),this._eastIndices=sU(e.eastIndices,o,t),this._northIndices=sU(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(Ky.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return l(this._mesh)}}});var rU=[];function sU(e,t,n){rU.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)rU[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(rU.sort(t),ke.createTypedArray(n,rU)):e}var z_e="createVerticesFromQuantizedTerrainMesh",Trt=new xi(z_e),Crt=new xi(z_e,Pm.maximumAsynchronousTasks);Ky.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToRectangle(n,i,o),d=(a?Crt:Trt).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:u,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!l(d))return;let p=this;return Promise.resolve(d).then(function(g){let m=p._quantizedVertices.length/3,x=m+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,b=ke.createTypedArray(x,g.indices),T=new Float32Array(g.vertices),C=g.center,A=g.minimumHeight,S=g.maximumHeight,v=p._boundingSphere,D=p._orientedBoundingBox,R=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),O=g.vertexStride,M=Xc.clone(g.encoding);return p._mesh=new Jd(C,T,b,g.indexCountWithoutSkirts,m,A,S,v,R,O,D,M,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var Art=new xi("upsampleQuantizedTerrainMesh",Pm.maximumAsynchronousTasks);Ky.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=Art.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let m=c?g*.5:this._westSkirtHeight,x=u?g*.5:this._southSkirtHeight,b=c?this._eastSkirtHeight:g*.5,T=u?this._northSkirtHeight:g*.5,C=this._credits;return Promise.resolve(p).then(function(A){let S=new Uint16Array(A.vertices),v=ke.createTypedArray(S.length/3,A.indices),D;return l(A.encodedNormals)&&(D=new Uint8Array(A.encodedNormals)),new Ky({quantizedVertices:S,indices:v,encodedNormals:D,minimumHeight:A.minimumHeight,maximumHeight:A.maximumHeight,boundingSphere:ce.clone(A.boundingSphere),orientedBoundingBox:In.clone(A.orientedBoundingBox),horizonOcclusionPoint:h.clone(A.horizonOcclusionPoint),westIndices:A.westIndices,southIndices:A.southIndices,eastIndices:A.eastIndices,northIndices:A.northIndices,westSkirtHeight:m,southSkirtHeight:x,eastSkirtHeight:b,northSkirtHeight:T,childTileMask:0,credits:C,createdByUpsampling:!0})})};var PY=32767,H_e=new h;Ky.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1);i*=PY;let o=P.clamp((n-e.south)/e.height,0,1);return o*=PY,l(this._mesh)?wrt(this,i,o):Drt(this,i,o)};function G_e(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),u=Math.max(n,o,s),f=Math.min(i,r,a),d=Math.max(i,r,a);return e>=c&&e<=u&&t>=f&&t<=d}var Ert=new U,Srt=new U,vrt=new U;function wrt(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,Ert),g=r.decodeTextureCoordinates(o,f,Srt),m=r.decodeTextureCoordinates(o,d,vrt);if(G_e(t,n,p.x,p.y,g.x,g.y,m.x,m.y)){let x=Xy.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,H_e);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),C=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*C}}}}function Drt(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=i[u],g=i[f],m=i[d],x=o[u],b=o[f],T=o[d];if(G_e(t,n,p,x,g,b,m,T)){let C=Xy.computeBarycentricCoordinates(t,n,p,x,g,b,m,T,H_e);if(C.x>=-1e-15&&C.y>=-1e-15&&C.z>=-1e-15){let A=C.x*r[u]+C.y*r[f]+C.z*r[d];return P.lerp(e._minimumHeight,e._maximumHeight,A/PY)}}}}Ky.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};Ky.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var ME=Ky;function Irt(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function j_e(e){this.requestVertexNormals=y(e.requestVertexNormals,!1),this.requestWaterMask=y(e.requestWaterMask,!1),this.requestMetadata=y(e.requestMetadata,!0),this.ellipsoid=y(e.ellipsoid,ee.default),this.heightmapWidth=65,this.heightmapStructure=void 0,this.hasWaterMask=!1,this.hasMetadata=!1,this.hasVertexNormals=!1,this.scheme=void 0,this.lastResource=void 0,this.layerJsonResource=void 0,this.previousError=void 0,this.availability=void 0,this.tilingScheme=void 0,this.levelZeroMaximumGeometricError=void 0,this.heightmapStructure=void 0,this.layers=[],this.attribution="",this.overallAvailability=[],this.overallMaxZoom=0,this.tileCredits=[]}j_e.prototype.build=function(e){e._heightmapWidth=this.heightmapWidth,e._scheme=this.scheme;let t=l(this.lastResource.credits)?this.lastResource.credits:[];e._tileCredits=t.concat(this.tileCredits),e._availability=this.availability,e._tilingScheme=this.tilingScheme,e._requestWaterMask=this.requestWaterMask,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._heightmapStructure=this.heightmapStructure,e._layers=this.layers,e._hasWaterMask=this.hasWaterMask,e._hasVertexNormals=this.hasVertexNormals,e._hasMetadata=this.hasMetadata};async function q_e(e,t,n){if(!t.format){let x="The tile format is not specified in the layer.json file.";throw e.previousError=Io.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}if(!t.tiles||t.tiles.length===0){let x="The layer.json file does not specify any tile URL templates.";throw e.previousError=Io.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}let i=!1,o=!1,r=!1,s=!0,a=!1;if(t.format==="heightmap-1.0")a=!0,l(e.heightmapStructure)||(e.heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),o=!0,e.requestWaterMask=!0;else if(t.format.indexOf("quantized-mesh-1.")!==0){let x=`The tile format "${t.format}" is invalid or not supported.`;throw e.previousError=Io.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}let c=t.tiles,u=t.maxzoom;if(e.overallMaxZoom=Math.max(e.overallMaxZoom,u),!t.projection||t.projection==="EPSG:4326")e.tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else if(t.projection==="EPSG:3857")e.tilingScheme=new hs({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else{let x=`The projection "${t.projection}" is invalid or not supported.`;throw e.previousError=Io.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}if(e.levelZeroMaximumGeometricError=ds.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.heightmapWidth,e.tilingScheme.getNumberOfXTilesAtLevel(0)),!t.scheme||t.scheme==="tms"||t.scheme==="slippyMap")e.scheme=t.scheme;else{let x=`The scheme "${t.scheme}" is invalid or not supported.`;throw e.previousError=Io.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new se(x)}let f;l(t.extensions)&&t.extensions.indexOf("octvertexnormals")!==-1?i=!0:l(t.extensions)&&t.extensions.indexOf("vertexnormals")!==-1&&(i=!0,s=!1),l(t.extensions)&&t.extensions.indexOf("watermask")!==-1&&(o=!0),l(t.extensions)&&t.extensions.indexOf("metadata")!==-1&&(r=!0);let d=t.metadataAvailability,p=t.available,g;if(l(p)&&!l(d)){g=new Om(e.tilingScheme,p.length);for(let x=0;x<p.length;++x){let b=p[x],T=e.tilingScheme.getNumberOfYTilesAtLevel(x);l(e.overallAvailability[x])||(e.overallAvailability[x]=[]);for(let C=0;C<b.length;++C){let A=b[C],S=T-A.endY-1,v=T-A.startY-1;e.overallAvailability[x].push([A.startX,S,A.endX,v]),g.addAvailableTileRange(x,A.startX,S,A.endX,v)}}}else l(d)&&(f=new Om(e.tilingScheme,u),g=new Om(e.tilingScheme,u),e.overallAvailability[0]=[[0,0,1,0]],g.addAvailableTileRange(0,0,0,1,0));e.hasWaterMask=e.hasWaterMask||o,e.hasVertexNormals=e.hasVertexNormals||i,e.hasMetadata=e.hasMetadata||r,l(t.attribution)&&(e.attribution.length>0&&(e.attribution+=" "),e.attribution+=t.attribution),e.layers.push(new Irt({resource:e.lastResource,version:t.version,isHeightmap:a,tileUrlTemplates:c,availability:g,hasVertexNormals:i,hasWaterMask:o,hasMetadata:r,availabilityLevels:d,availabilityTilesLoaded:f,littleEndianExtensionSize:s}));let m=t.parentUrl;return l(m)?l(g)?(e.lastResource=e.lastResource.getDerivedResource({url:m}),e.lastResource.appendForwardSlash(),e.layerJsonResource=e.lastResource.getDerivedResource({url:"layer.json"}),await MY(e),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function Prt(e,t,n){let i=`An error occurred while accessing ${e.layerJsonResource.url}.`;if(l(t)&&(i+=` +${t.message}`),e.previousError=Io.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,i),e.previousError.retry)return MY(e,n);throw new se(i)}async function Ort(e,t,n){await q_e(e,t,n);let i=e.overallAvailability.length;if(i>0){let o=e.availability=new Om(e.tilingScheme,e.overallMaxZoom);for(let r=0;r<i;++r){let s=e.overallAvailability[r];for(let a=0;a<s.length;++a){let c=s[a];o.addAvailableTileRange(r,c[0],c[1],c[2],c[3])}}}if(e.attribution.length>0){let o=new Et(e.attribution);e.tileCredits.push(o)}return!0}async function MY(e,t){try{let n=await e.layerJsonResource.fetchJson();return Ort(e,n,t)}catch(n){return l(n)&&n.statusCode===404?(await q_e(e,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},t),!0):Prt(e,n,t)}}function eh(e){e=y(e,y.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new me;let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._tileCredits=void 0}var OY={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function W_e(e){return!l(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function Rrt(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new fc({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function Mrt(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,u=c+1,f=Float64Array.BYTES_PER_ELEMENT*c,d=Float64Array.BYTES_PER_ELEMENT*u,g=Uint16Array.BYTES_PER_ELEMENT*3,m=3,x=Uint16Array.BYTES_PER_ELEMENT,b=x*m,T=new DataView(t),C=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let A=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let S=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let v=new ce(new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0)),T.getFloat64(a+f,!0));a+=d;let D=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let R=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let O=new Uint16Array(t,a,R*3);a+=R*g,R>64*1024&&(x=Uint32Array.BYTES_PER_ELEMENT,b=x*m);let M=O.subarray(0,R),N=O.subarray(R,2*R),_=O.subarray(R*2,3*R);Fn.zigZagDeltaDecode(M,N,_),a%x!==0&&(a+=x-a%x);let E=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let w=ke.createTypedArrayFromArrayBuffer(R,t,a,E*m);a+=E*b;let I=0,L=w.length;for(let re=0;re<L;++re){let _e=w[re];w[re]=I-_e,_e===0&&++I}let B=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let H=ke.createTypedArrayFromArrayBuffer(R,t,a,B);a+=B*x;let V=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let G=ke.createTypedArrayFromArrayBuffer(R,t,a,V);a+=V*x;let k=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let W=ke.createTypedArrayFromArrayBuffer(R,t,a,k);a+=k*x;let Y=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let J=ke.createTypedArrayFromArrayBuffer(R,t,a,Y);a+=Y*x;let j,Z;for(;a<T.byteLength;){let re=T.getUint8(a,!0);a+=Uint8Array.BYTES_PER_ELEMENT;let _e=T.getUint32(a,s);if(a+=Uint32Array.BYTES_PER_ELEMENT,re===OY.OCT_VERTEX_NORMALS&&e._requestVertexNormals)j=new Uint8Array(t,a,R*2);else if(re===OY.WATER_MASK&&e._requestWaterMask)Z=new Uint8Array(t,a,_e);else if(re===OY.METADATA&&e._requestMetadata){let xe=T.getUint32(a,!0);if(xe>0){let De=Fo(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,xe).available;if(l(De))for(let Ne=0;Ne<De.length;++Ne){let Ce=n+Ne+1,Be=De[Ne],Ve=e._tilingScheme.getNumberOfYTilesAtLevel(Ce);for(let $e=0;$e<Be.length;++$e){let qe=Be[$e],pt=Ve-qe.endY-1,ht=Ve-qe.startY-1;e.availability.addAvailableTileRange(Ce,qe.startX,pt,qe.endX,ht),r.availability.addAvailableTileRange(Ce,qe.startX,pt,qe.endX,ht)}}}r.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}a+=_e}let Q=e.getLevelMaximumGeometricError(n)*5,he=e._tilingScheme.tileXYToRectangle(i,o,n),ye=In.fromRectangle(he,A,S,e._tilingScheme.ellipsoid);return new ME({center:C,minimumHeight:A,maximumHeight:S,boundingSphere:v,orientedBoundingBox:ye,horizonOcclusionPoint:D,quantizedVertices:O,encodedNormals:j,indices:w,westIndices:H,southIndices:G,eastIndices:W,northIndices:J,westSkirtHeight:Q,southSkirtHeight:Q,eastSkirtHeight:Q,northSkirtHeight:Q,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:Z,credits:e._tileCredits})}eh.prototype.requestTileGeometry=function(e,t,n,i){let o=this._layers,r,s=o.length,a=!1,c=Promise.resolve();if(s===1)r=o[0];else for(let u=0;u<s;++u){let f=o[u];if(!l(f.availability)||f.availability.isTileAvailable(n,e,t)){r=f;break}let d=LY(this,e,t,n,f,u===0);d.result&&(a=!0,c=c.then(()=>d.promise))}return!l(r)&&a?c.then(()=>new Promise(u=>{setTimeout(()=>{let f=this.requestTileGeometry(e,t,n,i);u(f)},0)})):Y_e(this,e,t,n,r,i)};function Y_e(e,t,n,i,o,r){if(!l(o))return Promise.reject(new se("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let u,f,d=s[(t+a+i)%s.length],p=o.resource;l(p._ionEndpoint)&&!l(p._ionEndpoint.externalType)?(c.length!==0&&(f={extensions:c.join("-")}),u=W_e(void 0)):u=W_e(c);let g=p.getDerivedResource({url:d,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:f,headers:u,request:r}).fetchArrayBuffer();if(l(g))return g.then(function(m){return l(m)?l(e._heightmapStructure)?Rrt(e,m,i,t,n):Mrt(e,m,i,t,n,o):Promise.reject(new se("Mesh buffer doesn't exist."))})}Object.defineProperties(eh.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});eh.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};eh.fromIonAssetId=async function(e,t){let n=await of.fromAssetId(e);return eh.fromUrl(n,t)};eh.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=Ae.createIfNeeded(e);n.appendForwardSlash();let i=new j_e(t);i.lastResource=n,i.layerJsonResource=i.lastResource.getDerivedResource({url:"layer.json"}),await MY(i);let o=new eh(t);return i.build(o),o};eh.prototype.getTileDataAvailable=function(e,t,n){if(!l(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;r<o;++r)if(LY(this,e,t,n,i[r],r===0).result)return;return!1};eh.prototype.loadTileDataAvailability=function(e,t,n){if(!l(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r<o;++r){let s=LY(this,e,t,n,i[r],r===0);if(l(s.promise))return s.promise}};function RY(e,t,n,i){if(i===0)return;let o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,s=1<<i-r,a=t/s|0,c=n/s|0;return{level:r,x:a,y:c}}function LY(e,t,n,i,o,r){if(!l(o.availabilityLevels))return{result:!1};let s,a=function(){delete o.availabilityPromiseCache[s]},c=o.availabilityTilesLoaded,u=o.availability,f=RY(o,t,n,i);for(;l(f);){if(u.isTileAvailable(f.level,f.x,f.y)&&!c.isTileAvailable(f.level,f.x,f.y)){let d;if(!r&&(s=`${f.level}-${f.x}-${f.y}`,d=o.availabilityPromiseCache[s],!l(d))){let p=new or({throttle:!1,throttleByServer:!0,type:bs.TERRAIN});d=Y_e(e,f.x,f.y,f.level,o,p),l(d)&&(o.availabilityPromiseCache[s]=d,d.then(a))}return{result:!0,promise:d}}f=RY(o,f.x,f.y,f.level)}return{result:!1}}eh._getAvailabilityTile=RY;var LE=eh;function p_(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new Sl(n),this._workerName="createCircleGeometry"}p_.packedLength=Sl.packedLength;p_.pack=function(e,t,n){return Sl.pack(e._ellipseGeometry,t,n)};var X_e=new Sl({center:new h,semiMajorAxis:1,semiMinorAxis:1}),Fa={center:new h,radius:void 0,ellipsoid:ee.clone(ee.default),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new Pe,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};p_.unpack=function(e,t,n){let i=Sl.unpack(e,t,X_e);return Fa.center=h.clone(i._center,Fa.center),Fa.ellipsoid=ee.clone(i._ellipsoid,Fa.ellipsoid),Fa.ellipsoid=ee.clone(i._ellipsoid,X_e._ellipsoid),Fa.height=i._height,Fa.extrudedHeight=i._extrudedHeight,Fa.granularity=i._granularity,Fa.vertexFormat=Pe.clone(i._vertexFormat,Fa.vertexFormat),Fa.stRotation=i._stRotation,Fa.shadowVolume=i._shadowVolume,l(n)?(Fa.semiMajorAxis=i._semiMajorAxis,Fa.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Sl(Fa),n):(Fa.radius=i._semiMajorAxis,new p_(Fa))};p_.createGeometry=function(e){return Sl.createGeometry(e._ellipseGeometry)};p_.createShadowVolume=function(e,t,n){let i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),s=n(i,o);return new p_({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(p_.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var K_e=p_;function NE(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new Nf(n),this._workerName="createCircleOutlineGeometry"}NE.packedLength=Nf.packedLength;NE.pack=function(e,t,n){return Nf.pack(e._ellipseGeometry,t,n)};var Lrt=new Nf({center:new h,semiMajorAxis:1,semiMinorAxis:1}),Du={center:new h,radius:void 0,ellipsoid:ee.clone(ee.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};NE.unpack=function(e,t,n){let i=Nf.unpack(e,t,Lrt);return Du.center=h.clone(i._center,Du.center),Du.ellipsoid=ee.clone(i._ellipsoid,Du.ellipsoid),Du.height=i._height,Du.extrudedHeight=i._extrudedHeight,Du.granularity=i._granularity,Du.numberOfVerticalLines=i._numberOfVerticalLines,l(n)?(Du.semiMajorAxis=i._semiMajorAxis,Du.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Nf(Du),n):(Du.radius=i._semiMajorAxis,new NE(Du))};NE.createGeometry=function(e){return Nf.createGeometry(e._ellipseGeometry)};var Z_e=NE;function Nrt(e){return e=y(e,y.EMPTY_OBJECT),LE.fromIonAssetId(2426648,{requestVertexNormals:y(e.requestVertexNormals,!1)})}var aU=Nrt;function Frt(e){return e=y(e,y.EMPTY_OBJECT),LE.fromIonAssetId(1,{requestVertexNormals:y(e.requestVertexNormals,!1),requestWaterMask:y(e.requestWaterMask,!1),ellipsoid:ee.WGS84})}var FE=Frt;function BE(e){e=y(e,y.EMPTY_OBJECT),this._callback=e.callback,this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Xi({ellipsoid:y(e.ellipsoid,ee.default)})),this._width=e.width,this._height=e.height;let t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=ds.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me;let n=e.credit;typeof n=="string"&&(n=new Et(n)),this._credit=n}Object.defineProperties(BE.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});BE.prototype.requestTileGeometry=function(e,t,n,i){let o=this._callback(e,t,n);if(!l(o))return;let r=this._width,s=this._height;return Promise.resolve(o).then(function(a){let c=a;return Array.isArray(c)&&(c=new Float64Array(c)),new fc({buffer:c,width:r,height:s})})};BE.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};BE.prototype.getTileDataAvailable=function(e,t,n){};BE.prototype.loadTileDataAvailability=function(e,t,n){};var $_e=BE;var Brt=1953029805,krt=2917034100;function NY(e,t){if(NY.passThroughDataForTesting)return t;let n=e.byteLength;if(n===0||n%4!==0)throw new se("The length of key must be greater than 0 and a multiple of 4.");let i=new DataView(t),o=i.getUint32(0,!0);if(o===Brt||o===krt)return t;let r=new DataView(e),s=0,a=t.byteLength,c=a-a%8,u=n,f,d=8;for(;s<c;)for(d=(d+8)%24,f=d;s<c&&f<u;)i.setUint32(s,i.getUint32(s,!0)^r.getUint32(f,!0),!0),i.setUint32(s+4,i.getUint32(s+4,!0)^r.getUint32(f+4,!0),!0),s+=8,f+=24;if(s<a)for(f>=u&&(d=(d+8)%24,f=d);s<a;)i.setUint8(s,i.getUint8(s)^r.getUint8(f)),s++,f++}NY.passThroughDataForTesting=!1;var cU=NY;function Q_e(e){this.proxy=e}Q_e.prototype.getURL=function(e){let t=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+t+encodeURIComponent(e)};var J_e=Q_e;function th(e){this._comparator=e.comparator,this._maximumLength=e.maximumLength,this._array=l(e.maximumLength)?new Array(e.maximumLength):[],this._length=0}Object.defineProperties(th.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(e){if(l(e)){for(;this._length>e;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});th.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new th({comparator:t,maximumLength:e});o._length=i;for(let r=0;r<i;r++)o._array[r]=n[r];return o};th.prototype.reset=function(){this._length=0;let e=this._maximumLength;if(l(e))for(let t=0;t<e;t++)this._array[t]=void 0;else this._array.length=0};th.prototype.resort=function(){let e=this._length;for(let t=0;t<e;t++)ege(this,t)};th.prototype.insert=function(e){let t,n=this._maximumLength;if(l(n)){if(n===0)return;if(this._length===n){let o=this._array[0];if(this._comparator(e,o)<=0)return e;t=this.removeMinimum()}}let i=this._length;return this._array[i]=e,this._length++,ege(this,i),t};th.prototype.removeMinimum=function(){let e=this._length;if(e===0)return;this._length--;let t=this._array[0];return e>=2&&(this._array[0]=this._array[e-1],tge(this,0)),this._array[e-1]=void 0,t};th.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=FY(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&tge(this,n)}return this._array[e-1]=void 0,t};th.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};th.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[FY(this,1,2)?1:2]};function lU(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function SI(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function FY(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function ege(e,t){if(t===0)return;let n=Math.floor(P.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=SI(e,t,i);for(o!==n&&(lU(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(SI(e,t,r)!==o)break;lU(e,t,r),t=r}}function tge(e,t){let n=e._length,i=Math.floor(P.log2(t+1))%2===0,o;for(;(o=2*t+1)<n;){let r=o,s=o+1;if(s<n){SI(e,s,r)===i&&(r=s);let a=2*o+1,c=Math.max(Math.min(n-a,4),0);for(let u=0;u<c;u++){let f=a+u;SI(e,f,r)===i&&(r=f)}}if(SI(e,r,t)===i&&(lU(e,r,t),r!==o&&r!==s)){let a=Math.floor((r-1)/2);FY(e,r,a)===i&&lU(e,r,a)}t=r}}var kE=th;function VE(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new Xi({ellipsoid:y(e.ellipsoid,ee.default)})),this._levelZeroMaximumGeometricError=ds.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me}Object.defineProperties(VE.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});VE.prototype.requestTileGeometry=function(e,t,n,i){return Promise.resolve(new fc({buffer:new Uint8Array(16*16),width:16,height:16}))};VE.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};VE.prototype.getTileDataAvailable=function(e,t,n){};VE.prototype.loadTileDataAvailability=function(e,t,n){};var UE=VE;function Rm(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new As,this._perspectiveMatrix=new F,this._infinitePerspective=new F}function BY(e){let{top:t,bottom:n,right:i,left:o,near:r,far:s}=e;(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||r!==e._near||s!==e._far)&&(e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=r,e._far=s,e._perspectiveMatrix=F.computePerspectiveOffCenter(o,i,n,t,r,s,e._perspectiveMatrix),e._infinitePerspective=F.computeInfinitePerspectiveOffCenter(o,i,n,t,r,e._infinitePerspective))}Object.defineProperties(Rm.prototype,{projectionMatrix:{get:function(){return BY(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return BY(this),this._infinitePerspective}}});var Vrt=new h,Urt=new h,zrt=new h,Hrt=new h;Rm.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,Vrt),d=Urt;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=zrt;h.multiplyByScalar(t,u,p),h.add(e,p,p);let g=Hrt;h.multiplyByScalar(f,a,g),h.add(d,g,g),h.subtract(g,e,g),h.normalize(g,g),h.cross(g,n,g),h.normalize(g,g);let m=i[0];return l(m)||(m=i[0]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(f,s,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(n,g,g),h.normalize(g,g),m=i[1],l(m)||(m=i[1]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,r,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(f,g,g),h.normalize(g,g),m=i[2],l(m)||(m=i[2]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,o,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(g,f,g),h.normalize(g,g),m=i[3],l(m)||(m=i[3]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),m=i[4],l(m)||(m=i[4]=new oe),m.x=t.x,m.y=t.y,m.z=t.z,m.w=-h.dot(t,d),h.negate(t,g),m=i[5],l(m)||(m=i[5]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,p),this._cullingVolume};Rm.prototype.getPixelDimensions=function(e,t,n,i,o){BY(this);let r=1/this.near,s=this.top*r,a=2*i*n*s/t;s=this.right*r;let c=2*i*n*s/e;return o.x=c,o.y=a,o};Rm.prototype.clone=function(e){return l(e)||(e=new Rm),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};Rm.prototype.equals=function(e){return l(e)&&e instanceof Rm&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Rm.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof Rm&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var Ml=Rm;function Ll(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Ml,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this.xOffset=y(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=y(e.yOffset,0),this._yOffset=this.yOffset}Ll.packedLength=6;Ll.pack=function(e,t,n){return n=y(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};Ll.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Ll),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function nh(e){if(!(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset))return;e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset;let n=e._offCenterFrustum;n.top=e.near*Math.tan(.5*e._fovy),n.bottom=-n.top,n.right=e.aspectRatio*n.top,n.left=-n.right,n.near=e.near,n.far=e.far,n.right+=e.xOffset,n.left+=e.xOffset,n.top+=e.yOffset,n.bottom+=e.yOffset}Object.defineProperties(Ll.prototype,{projectionMatrix:{get:function(){return nh(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return nh(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return nh(this),this._fovy}},sseDenominator:{get:function(){return nh(this),this._sseDenominator}},offCenterFrustum:{get:function(){return nh(this),this._offCenterFrustum}}});Ll.prototype.computeCullingVolume=function(e,t,n){return nh(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Ll.prototype.getPixelDimensions=function(e,t,n,i,o){return nh(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Ll.prototype.clone=function(e){return l(e)||(e=new Ll),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Ll.prototype.equals=function(e){return!l(e)||!(e instanceof Ll)?!1:(nh(this),nh(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Ll.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Ll)?!1:(nh(this),nh(e),P.equalsEpsilon(this.fov,e.fov,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var Di=Ll;var uU=0,Grt=1;function xb(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e._drawNearPlane,!0),s,a;t instanceof Di?(s=uU,a=Di.packedLength):t instanceof an&&(s=Grt,a=an.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=r,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+h.packedLength+Le.packedLength+Pe.packedLength}xb.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===uU?(Di.pack(o,t,n),n+=Di.packedLength):(an.pack(o,t,n),n+=an.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n]=e._drawNearPlane?1:0,t};var Wrt=new Di,jrt=new an,qrt=new Le,Yrt=new h,Xrt=new Pe;xb.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===uU?(o=Di.unpack(e,t,Wrt),t+=Di.packedLength):(o=an.unpack(e,t,jrt),t+=an.packedLength);let r=h.unpack(e,t,Yrt);t+=h.packedLength;let s=Le.unpack(e,t,qrt);t+=Le.packedLength;let a=Pe.unpack(e,t,Xrt);t+=Pe.packedLength;let c=e[t]===1;if(!l(n))return new xb({frustum:o,origin:r,orientation:s,vertexFormat:a,_drawNearPlane:c});let u=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(u),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._vertexFormat=Pe.clone(a,n._vertexFormat),n._drawNearPlane=c,n};function zE(e,t,n,i,o,r,s,a){let c=e/3*2;for(let u=0;u<4;++u)l(t)&&(t[e]=r.x,t[e+1]=r.y,t[e+2]=r.z),l(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),l(i)&&(i[e]=a.x,i[e+1]=a.y,i[e+2]=a.z),e+=3;o[c]=0,o[c+1]=0,o[c+2]=1,o[c+3]=0,o[c+4]=1,o[c+5]=1,o[c+6]=0,o[c+7]=1}var Krt=new $,Zrt=new F,kY=new F,nge=new h,ige=new h,oge=new h,$rt=new h,Qrt=new h,Jrt=new h,Zy=new Array(3),vI=new Array(4);vI[0]=new oe(-1,-1,1,1);vI[1]=new oe(1,-1,1,1);vI[2]=new oe(1,1,1,1);vI[3]=new oe(-1,1,1,1);var rge=new Array(4);for(let e=0;e<4;++e)rge[e]=new oe;xb._computeNearFarPlanes=function(e,t,n,i,o,r,s,a){let c=$.fromQuaternion(t,Krt),u=y(r,nge),f=y(s,ige),d=y(a,oge);u=$.getColumn(c,0,u),f=$.getColumn(c,1,f),d=$.getColumn(c,2,d),h.normalize(u,u),h.normalize(f,f),h.normalize(d,d),h.negate(u,u);let p=F.computeView(e,d,f,u,Zrt),g,m,x=i.projectionMatrix;if(n===uU){let b=F.multiply(x,p,kY);m=F.inverse(b,kY)}else g=F.inverseTransformation(p,kY);l(m)?(Zy[0]=i.near,Zy[1]=i.far):(Zy[0]=0,Zy[1]=i.near,Zy[2]=i.far);for(let b=0;b<2;++b)for(let T=0;T<4;++T){let C=oe.clone(vI[T],rge[T]);if(l(m)){C=F.multiplyByVector(m,C,C);let A=1/C.w;h.multiplyByScalar(C,A,C),h.subtract(C,e,C),h.normalize(C,C);let S=h.dot(d,C);h.multiplyByScalar(C,Zy[b]/S,C),h.add(C,e,C)}else{let A=i.offCenterFrustum;l(A)&&(i=A);let S=Zy[b],v=Zy[b+1];C.x=(C.x*(i.right-i.left)+i.left+i.right)*.5,C.y=(C.y*(i.top-i.bottom)+i.bottom+i.top)*.5,C.z=(C.z*(S-v)-S-v)*.5,C.w=1,F.multiplyByVector(g,C,C)}o[12*b+T*3]=C.x,o[12*b+T*3+1]=C.y,o[12*b+T*3+2]=C.z}};xb.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=e._vertexFormat,a=r?6:5,c=new Float64Array(3*4*6);xb._computeNearFarPlanes(i,o,t,n,c);let u=3*4*2;c[u]=c[3*4],c[u+1]=c[3*4+1],c[u+2]=c[3*4+2],c[u+3]=c[0],c[u+4]=c[1],c[u+5]=c[2],c[u+6]=c[3*3],c[u+7]=c[3*3+1],c[u+8]=c[3*3+2],c[u+9]=c[3*7],c[u+10]=c[3*7+1],c[u+11]=c[3*7+2],u+=3*4,c[u]=c[3*5],c[u+1]=c[3*5+1],c[u+2]=c[3*5+2],c[u+3]=c[3],c[u+4]=c[4],c[u+5]=c[5],c[u+6]=c[0],c[u+7]=c[1],c[u+8]=c[2],c[u+9]=c[3*4],c[u+10]=c[3*4+1],c[u+11]=c[3*4+2],u+=3*4,c[u]=c[3],c[u+1]=c[4],c[u+2]=c[5],c[u+3]=c[3*5],c[u+4]=c[3*5+1],c[u+5]=c[3*5+2],c[u+6]=c[3*6],c[u+7]=c[3*6+1],c[u+8]=c[3*6+2],c[u+9]=c[3*2],c[u+10]=c[3*2+1],c[u+11]=c[3*2+2],u+=3*4,c[u]=c[3*2],c[u+1]=c[3*2+1],c[u+2]=c[3*2+2],c[u+3]=c[3*6],c[u+4]=c[3*6+1],c[u+5]=c[3*6+2],c[u+6]=c[3*7],c[u+7]=c[3*7+1],c[u+8]=c[3*7+2],c[u+9]=c[3*3],c[u+10]=c[3*3+1],c[u+11]=c[3*3+2],r||(c=c.subarray(3*4));let f=new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})});if(l(s.normal)||l(s.tangent)||l(s.bitangent)||l(s.st)){let p=l(s.normal)?new Float32Array(12*a):void 0,g=l(s.tangent)?new Float32Array(3*4*a):void 0,m=l(s.bitangent)?new Float32Array(3*4*a):void 0,x=l(s.st)?new Float32Array(2*4*a):void 0,b=nge,T=ige,C=oge,A=h.negate(b,$rt),S=h.negate(T,Qrt),v=h.negate(C,Jrt);u=0,r&&(zE(u,p,g,m,x,v,b,T),u+=3*4),zE(u,p,g,m,x,C,A,T),u+=3*4,zE(u,p,g,m,x,A,v,T),u+=3*4,zE(u,p,g,m,x,S,v,A),u+=3*4,zE(u,p,g,m,x,b,C,T),u+=3*4,zE(u,p,g,m,x,T,C,A),l(p)&&(f.normal=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),l(g)&&(f.tangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),l(m)&&(f.bitangent=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),l(x)&&(f.st=new Se({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:x}))}let d=new Uint16Array(6*a);for(let p=0;p<a;++p){let g=p*6,m=p*4;d[g]=m,d[g+1]=m+1,d[g+2]=m+2,d[g+3]=m,d[g+4]=m+2,d[g+5]=m+3}return new ft({attributes:f,indices:d,primitiveType:Fe.TRIANGLES,boundingSphere:ce.fromVertices(c)})};var HE=xb;var VY=0,est=1;function wI(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e._drawNearPlane,!0),r,s;t instanceof Di?(r=VY,s=Di.packedLength):t instanceof an&&(r=est,s=an.packedLength),this._frustumType=r,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Le.clone(n),this._drawNearPlane=o,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+s+h.packedLength+Le.packedLength}wI.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===VY?(Di.pack(o,t,n),n+=Di.packedLength):(an.pack(o,t,n),n+=an.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Le.pack(e._orientation,t,n),n+=Le.packedLength,t[n]=e._drawNearPlane?1:0,t};var tst=new Di,nst=new an,ist=new Le,ost=new h;wI.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===VY?(o=Di.unpack(e,t,tst),t+=Di.packedLength):(o=an.unpack(e,t,nst),t+=an.packedLength);let r=h.unpack(e,t,ost);t+=h.packedLength;let s=Le.unpack(e,t,ist);t+=Le.packedLength;let a=e[t]===1;if(!l(n))return new wI({frustum:o,origin:r,orientation:s,_drawNearPlane:a});let c=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(c),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Le.clone(s,n._orientation),n._drawNearPlane=a,n};wI.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=new Float64Array(3*4*2);HE._computeNearFarPlanes(i,o,t,n,s);let a=new mn({position:new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),c,u,f=r?2:1,d=new Uint16Array(8*(f+1)),p=r?0:1;for(;p<2;++p)c=r?p*8:0,u=p*4,d[c]=u,d[c+1]=u+1,d[c+2]=u+1,d[c+3]=u+2,d[c+4]=u+2,d[c+5]=u+3,d[c+6]=u+3,d[c+7]=u;for(p=0;p<2;++p)c=(f+p)*8,u=p*4,d[c]=u,d[c+1]=u+4,d[c+2]=u+1,d[c+3]=u+5,d[c+4]=u+2,d[c+5]=u+6,d[c+6]=u+3,d[c+7]=u+7;return new ft({attributes:a,indices:d,primitiveType:Fe.LINES,boundingSphere:ce.fromVertices(s)})};var fU=wI;function dU(){de.throwInstantiationError()}Object.defineProperties(dU.prototype,{credit:{get:de.throwInstantiationError}});dU.getCreditsFromResult=function(e){if(l(e.attributions))return e.attributions.map(Et.getIonCredit)};dU.prototype.geocode=de.throwInstantiationError;var DI=dU;var rst={SEARCH:0,AUTOCOMPLETE:1},bb=Object.freeze(rst);function sge(){de.throwInstantiationError()}sge.createGeometry=function(e){de.throwInstantiationError()};var age=sge;function sst(e,t,n){let i=new Uint8ClampedArray(e.buffer),o=new ImageData(i,t,n),r=document.createElement("canvas");return r.width=t,r.height=n,r.getContext("2d").putImageData(o,0,0),r}var hU=sst;var dst=Sr(UY(),1);function ast(e,t){return(e&t)!==0}var Zc=ast;var cst=[1,2,4,8],cge=15,lst=16,ust=64,fst=128;function Mm(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}Mm.clone=function(e,t){return l(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new Mm(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t};Mm.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()};Mm.prototype.hasSubtree=function(){return Zc(this._bits,lst)};Mm.prototype.hasImagery=function(){return Zc(this._bits,ust)};Mm.prototype.hasTerrain=function(){return Zc(this._bits,fst)};Mm.prototype.hasChildren=function(){return Zc(this._bits,cge)};Mm.prototype.hasChild=function(e){return Zc(this._bits,cst[e])};Mm.prototype.getChildBitmask=function(){return this._bits&cge};var mU=Mm;function hst(e){let t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}var mst=hst(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y +wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB +\f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 +\xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 +ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS +>\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 +\x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function Iu(e){this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=P.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={}}Object.defineProperties(Iu.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}}});Iu.fromUrl=async function(e){let t=e;typeof t!="string"&&!(t instanceof Ae)&&(t=e.url);let n=Ae.createIfNeeded(t);n.appendForwardSlash();let i=new Iu;i._resource=n;try{await pst(i),await i.getQuadTreePacket("",i._quadPacketVersion)}catch(o){let r=`An error occurred while accessing ${uge(i,"",1).url}: ${o}`;throw new se(r)}return i};Iu.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;Zc(t,r)?Zc(e,r)&&(s|=1):(s|=2,Zc(e,r)||(s|=1)),i+=s}return i};Iu.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];Zc(s,2)?Zc(s,1)||(t|=r):(n|=r,Zc(s,1)&&(t|=r))}return{x:t,y:n,level:i}};Iu.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(l(t))return t!==null;let n=!0,i=e,o;for(;i.length>1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),l(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var lge=new xi("decodeGoogleEarthEnterprisePacket");Iu.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=uge(this,e,t,n).fetchArrayBuffer();if(!l(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return lge.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(u){let f,d=-1;if(e!==""){d=e.length+1;let m=u[e];f=r[e],f._bits|=m._bits,delete u[e]}let p=Object.keys(u);p.sort(function(m,x){return m.length-x.length});let g=p.length;for(let m=0;m<g;++m){let x=p[m];if(u[x]!==null){let T=mU.clone(u[x]),C=x.length;if(C===d)T.setParent(f);else if(C>1){let A=r[x.substring(0,x.length-1)];T.setParent(A)}r[x]=T}else r[x]=null}})})};Iu.prototype.populateSubtree=function(e,t,n,i){let o=Iu.tileXYToQuadKey(e,t,n);return GY(this,o,i)};function GY(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(l(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(l(c))return c.then(function(){return s=new or({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),GY(e,t,s)});if(!l(r)||!r.hasSubtree())return Promise.reject(new se(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!l(c))return a[o]=c,c.then(function(){return s=new or({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),GY(e,t,s)}).finally(function(){delete a[o]})}Iu.prototype.getTileInformation=function(e,t,n){let i=Iu.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};Iu.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function uge(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var zY,HY;function pst(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!l(HY)){let n=rn("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;HY=gT(n).then(function(){zY=window.cesiumGoogleEarthDbRootParser(dst),l(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return HY.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=zY.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return lge.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=zY.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),l(i.endSnippet)&&l(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}l(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a<s;++a){let c=r[a],u=c.copyrightString;l(u)&&(o[c.providerId]=new Et(u.value))}}).catch(function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=mst})}var $y=Iu;function Tb(e){e=y(e,y.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;let t=y(e.childTileMask,15),n=t&3;n|=t&4?8:0,n|=t&8?4:0,this._childTileMask=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(Tb.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var hge="createVerticesFromGoogleEarthEnterpriseBuffer",_st=new xi(hge),gst=new xi(hge,Pm.maximumAsynchronousTasks),fge=new ae,WY=new ae;Tb.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid;t.tileXYToNativeRectangle(n,i,o,fge),t.tileXYToRectangle(n,i,o,WY);let u=c.cartographicToCartesian(ae.center(WY)),d=40075.16/(1<<o);this._skirtHeight=Math.min(d*8,1e3);let g=(a?gst:_st).scheduleTask({buffer:this._buffer,nativeRectangle:fge,rectangle:WY,relativeToCenter:u,ellipsoid:c,skirtHeight:this._skirtHeight,exaggeration:r,exaggerationRelativeHeight:s,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!l(g))return;let m=this;return g.then(function(x){return m._mesh=new Jd(u,new Float32Array(x.vertices),new Uint16Array(x.indices),x.indexCountWithoutSkirts,x.vertexCountWithoutSkirts,x.minimumHeight,x.maximumHeight,ce.clone(x.boundingSphere3D),h.clone(x.occludeePointInScaledSpace),x.numberOfAttributes,In.clone(x.orientedBoundingBox),Xc.clone(x.encoding),x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),m._minimumHeight=x.minimumHeight,m._maximumHeight=x.maximumHeight,m._buffer=void 0,m._mesh})};Tb.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1),o=P.clamp((n-e.south)/e.height,0,1);return l(this._mesh)?Cst(this,i,o):Sst(this,i,o,e)};var yst=new xi("upsampleQuantizedTerrainMesh",Pm.maximumAsynchronousTasks);Tb.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=yst.scheduleTask({vertices:a.vertices,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=this;return p.then(function(m){let x=new Uint16Array(m.vertices),b=ke.createTypedArray(x.length/3,m.indices),T=g._skirtHeight;return new ME({quantizedVertices:x,indices:b,minimumHeight:m.minimumHeight,maximumHeight:m.maximumHeight,boundingSphere:ce.clone(m.boundingSphere),orientedBoundingBox:In.clone(m.orientedBoundingBox),horizonOcclusionPoint:h.clone(m.horizonOcclusionPoint),westIndices:m.westIndices,southIndices:m.southIndices,eastIndices:m.eastIndices,northIndices:m.northIndices,westSkirtHeight:T,southSkirtHeight:T,eastSkirtHeight:T,northSkirtHeight:T,childTileMask:0,createdByUpsampling:!0,credits:g._credits})})};Tb.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};Tb.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var xst=new U,bst=new U,Tst=new U,mge=new h;function Cst(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,xst),g=r.decodeTextureCoordinates(o,f,bst),m=r.decodeTextureCoordinates(o,d,Tst),x=Xy.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,mge);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),C=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*C}}}var Ast=Uint16Array.BYTES_PER_ELEMENT,dge=Uint32Array.BYTES_PER_ELEMENT,jY=Int32Array.BYTES_PER_ELEMENT,Est=Float32Array.BYTES_PER_ELEMENT,qY=Float64Array.BYTES_PER_ELEMENT;function Sst(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),u=0;for(let v=0;v<r;++v)u+=c.getUint32(u,!0),u+=dge;u+=dge,u+=2*qY;let f=P.toRadians(c.getFloat64(u,!0)*180);u+=qY;let d=P.toRadians(c.getFloat64(u,!0)*180);u+=qY;let p=i.width/f/2,g=i.height/d/2,m=c.getInt32(u,!0);u+=jY;let x=c.getInt32(u,!0)*3;u+=jY,u+=jY;let b=new Array(m),T=new Array(m),C=new Array(m),A;for(A=0;A<m;++A)b[A]=s+c.getUint8(u++)*p,T[A]=a+c.getUint8(u++)*g,C[A]=c.getFloat32(u,!0)*6371010,u+=Est;let S=new Array(x);for(A=0;A<x;++A)S[A]=c.getUint16(u,!0),u+=Ast;for(A=0;A<x;A+=3){let v=S[A],D=S[A+1],R=S[A+2],O=b[v],M=b[D],N=b[R],_=T[v],E=T[D],w=T[R],I=Xy.computeBarycentricCoordinates(t,n,O,_,M,E,N,w,mge);if(I.x>=-1e-15&&I.y>=-1e-15&&I.z>=-1e-15)return I.x*C[v]+I.y*C[D]+I.z*C[R]}}var II=Tb;var zf={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},pU=new K;function _U(){this._terrainCache={},this._lastTidy=K.now()}_U.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:K.now()}};_U.prototype.get=function(e){let n=this._terrainCache[e];if(l(n))return delete this._terrainCache[e],n.buffer};_U.prototype.tidy=function(){if(K.now(pU),K.secondsDifference(pU,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){let o=t[i],r=e[o];K.secondsDifference(pU,r.timestamp)>10&&delete e[o]}K.clone(pU,this._lastTidy)}};function Qy(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ae(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new _U,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new me}Object.defineProperties(Qy.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});Qy.fromMetadata=function(e,t){if(!e.terrainPresent)throw new se(`The server ${e.url} doesn't have terrain`);let n=new Qy(t);return n._metadata=e,n};var vst=new xi("decodeGoogleEarthEnterprisePacket");function pge(e,t,n){let i=t.getChildBitmask();if(t.terrainState===zf.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());l(r)&&r.hasTerrain()&&(i|=1<<o)}}return i}Qy.prototype.requestTileGeometry=function(e,t,n,i){let o=$y.tileXYToQuadKey(e,t,n),r=this._terrainCache,s=this._metadata,a=s.getTileInformationFromQuadKey(o);if(!l(a))return Promise.reject(new se("Terrain tile doesn't exist"));let c=a.terrainState;l(c)||(c=a.terrainState=zf.UNKNOWN);let u=r.get(o);if(l(u)){let T=s.providers[a.terrainProvider];return Promise.resolve(new II({buffer:u,childTileMask:pge(o,a,s),credits:l(T)?[T]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold}))}if(r.tidy(),a.ancestorHasTerrain){if(c===zf.NONE)return Promise.reject(new se("Terrain tile doesn't exist"))}else return Promise.resolve(new fc({buffer:new Uint8Array(16*16),width:16,height:16}));let f,d=o,p=-1;switch(c){case zf.SELF:p=a.terrainVersion;break;case zf.PARENT:d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),p=f.terrainVersion;break;case zf.UNKNOWN:a.hasTerrain()?p=a.terrainVersion:(d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),l(f)&&f.hasTerrain()&&(p=f.terrainVersion));break}if(p<0)return Promise.reject(new se("Terrain tile doesn't exist"));let g=this._terrainPromises,m=this._terrainRequests,x,b;if(l(g[d]))x=g[d],b=m[d];else{b=i;let T=wst(this,d,p,b).fetchArrayBuffer();if(!l(T))return;x=T.then(function(C){return l(C)?vst.scheduleTask({buffer:C,type:"Terrain",key:s.key},[C]).then(function(A){let S=s.getTileInformationFromQuadKey(d);S.terrainState=zf.SELF,r.add(d,A[0]);let v=S.terrainProvider,D=A.length-1;for(let R=0;R<D;++R){let O=d+R.toString(),M=s.getTileInformationFromQuadKey(O);l(M)&&(r.add(O,A[R+1]),M.terrainState=zf.PARENT,M.terrainProvider===0&&(M.terrainProvider=v))}}):Promise.reject(new se("Failed to load terrain."))}),g[d]=x,m[d]=b,x=x.finally(function(){delete g[d],delete m[d]})}return x.then(function(){let T=r.get(o);if(l(T)){let C=s.providers[a.terrainProvider];return new II({buffer:T,childTileMask:pge(o,a,s),credits:l(C)?[C]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold})}return Promise.reject(new se("Failed to load terrain."))}).catch(function(T){return b.state===ei.CANCELLED?(i.state=b.state,Promise.reject(T)):(a.terrainState=zf.NONE,Promise.reject(T))})};Qy.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};Qy.prototype.getTileDataAvailable=function(e,t,n){let i=this._metadata,o=$y.tileXYToQuadKey(e,t,n),r=i.getTileInformation(e,t,n);if(r===null)return!1;if(l(r)){if(!r.ancestorHasTerrain)return!0;let s=r.terrainState;if(s===zf.NONE)return!1;if((!l(s)||s===zf.UNKNOWN)&&(r.terrainState=zf.UNKNOWN,!r.hasTerrain())){o=o.substring(0,o.length-1);let a=i.getTileInformationFromQuadKey(o);if(!l(a)||!a.hasTerrain())return!1}return!0}if(i.isValid(o)){let s=new or({throttle:!1,throttleByServer:!0,type:bs.TERRAIN});i.populateSubtree(e,t,n,s)}return!1};Qy.prototype.loadTileDataAvailability=function(e,t,n){};function wst(e,t,n,i){return n=l(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var _ge=Qy;var Dst="https://maps.googleapis.com/maps/api/geocode/json",gge='<img alt="Google" src="https://assets.ion.cesium.com/google-credit.png" style="vertical-align:-5px">';function YY(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._resource=new Ae({url:Dst,queryParameters:{key:t}}),this._credit=new Et(gge,!0)}Object.defineProperties(YY.prototype,{credit:{get:function(){return this._credit}}});YY.prototype.geocode=async function(e){let n=await this._resource.getDerivedResource({queryParameters:{address:e}}).fetchJson();if(n.status==="ZERO_RESULTS")return[];if(n.status!=="OK")throw new se(`GoogleGeocoderService got a bad response ${n.status}: ${n.error_message}`);return n.results.map(o=>{let r=o.geometry.viewport.southwest,s=o.geometry.viewport.northeast;return{displayName:o.formatted_address,destination:ae.fromDegrees(r.lng,r.lat,s.lng,s.lat),attribution:{html:gge,collapsible:!1}}})};var yge=YY;var gU={};gU.defaultApiKey=void 0;gU.mapTilesApiEndpoint=new Ae({url:"https://tile.googleapis.com/v1/"});gU.getDefaultCredit=function(){return new Et('<img src="https://assets.ion.cesium.com/google-credit.png" style="vertical-align: -5px" alt="Google">',!0)};var GE=gU;function Ist(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var yU=Ist;var Rge={},Pst=32.184,Ost=2451545,xge=-.0529921,bge=-.1059842,Tge=13.0120009,Cge=13.3407154,Age=.9856003,Ege=26.4057084,Sge=13.064993,vge=.3287146,wge=1.7484877,Dge=-.1589763,Ige=.0036096,Pge=.1643573,Oge=12.9590088,XY=new K;Rge.ComputeMoon=function(e,t){l(e)||(e=K.now()),XY=K.addSeconds(e,Pst,XY);let n=K.totalDays(XY)-Ost,i=n/Xn.DAYS_PER_JULIAN_CENTURY,o=(125.045+xge*n)*P.RADIANS_PER_DEGREE,r=(250.089+bge*n)*P.RADIANS_PER_DEGREE,s=(260.008+Tge*n)*P.RADIANS_PER_DEGREE,a=(176.625+Cge*n)*P.RADIANS_PER_DEGREE,c=(357.529+Age*n)*P.RADIANS_PER_DEGREE,u=(311.589+Ege*n)*P.RADIANS_PER_DEGREE,f=(134.963+Sge*n)*P.RADIANS_PER_DEGREE,d=(276.617+vge*n)*P.RADIANS_PER_DEGREE,p=(34.226+wge*n)*P.RADIANS_PER_DEGREE,g=(15.134+Dge*n)*P.RADIANS_PER_DEGREE,m=(119.743+Ige*n)*P.RADIANS_PER_DEGREE,x=(239.961+Pge*n)*P.RADIANS_PER_DEGREE,b=(25.053+Oge*n)*P.RADIANS_PER_DEGREE,T=Math.sin(o),C=Math.sin(r),A=Math.sin(s),S=Math.sin(a),v=Math.sin(c),D=Math.sin(u),R=Math.sin(f),O=Math.sin(d),M=Math.sin(p),N=Math.sin(g),_=Math.sin(m),E=Math.sin(x),w=Math.sin(b),I=Math.cos(o),L=Math.cos(r),B=Math.cos(s),H=Math.cos(a),V=Math.cos(c),G=Math.cos(u),k=Math.cos(f),W=Math.cos(d),Y=Math.cos(p),J=Math.cos(g),j=Math.cos(m),Z=Math.cos(x),Q=Math.cos(b),he=(269.9949+.0031*i-3.8787*T-.1204*C+.07*A-.0172*S+.0072*D-.0052*N+.0043*w)*P.RADIANS_PER_DEGREE,ye=(66.5392+.013*i+1.5419*I+.0239*L-.0278*B+.0068*H-.0029*G+9e-4*k+8e-4*J-9e-4*Q)*P.RADIANS_PER_DEGREE,re=(38.3213+13.17635815*n-14e-13*n*n+3.561*T+.1208*C-.0642*A+.0158*S+.0252*v-.0066*D-.0047*R-.0046*O+.0028*M+.0052*N+.004*_+.0019*E-.0044*w)*P.RADIANS_PER_DEGREE,_e=(13.17635815-14e-13*(2*n)+3.561*I*xge+.1208*L*bge-.0642*B*Tge+.0158*H*Cge+.0252*V*Age-.0066*G*Ege-.0047*k*Sge-.0046*W*vge+.0028*Y*wge+.0052*J*Dge+.004*j*Ige+.0019*Z*Pge-.0044*Q*Oge)/86400*P.RADIANS_PER_DEGREE;return l(t)||(t=new yU),t.rightAscension=he,t.declination=ye,t.rotation=re,t.rotationRate=_e,t};var xU=Rge;function Mge(e){(!l(e)||typeof e!="function")&&(e=xU.ComputeMoon),this._computeFunction=e}var Rst=new h,Mst=new h,Lst=new h;function Nst(e,t,n){let i=Rst;i.x=Math.cos(e+P.PI_OVER_TWO),i.y=Math.sin(e+P.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=Lst;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,Mst);return l(n)||(n=new $),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var Fst=new $,Bst=new Le;Mge.prototype.evaluate=function(e,t){l(e)||(e=K.now());let n=this._computeFunction(e),i=Nst(n.rightAscension,n.declination,t),o=P.zeroToTwoPi(n.rotation),r=Le.fromAxisAngle(h.UNIT_Z,o,Bst),s=$.fromQuaternion(Le.conjugate(r,r),Fst);return $.multiply(s,i,i)};var bU=Mge;var PI={};PI.type=void 0;PI.getRequiredDataPoints=de.throwInstantiationError;PI.interpolateOrderZero=de.throwInstantiationError;PI.interpolate=de.throwInstantiationError;var Lge=PI;var kst={GOOGLE:"GOOGLE",BING:"BING",DEFAULT:"DEFAULT"},Jy=Object.freeze(kst);function KY(e){this._url=Ae.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(KY.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});KY.prototype.geocode=async function(e,t){return this._url.getDerivedResource({url:t===bb.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(l(s))r=ae.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r,attributions:i.attributions}})})};var TU=KY;function Vst(e){if(!Object.values(Jy).some(t=>t===e))throw new de(`Invalid geocodeProviderType: "${e}"`)}var Nge=Object.freeze({[Jy.GOOGLE]:"google",[Jy.BING]:"bing",[Jy.DEFAULT]:void 0});function Ust(e){return Nge[e]}function zst(e){return Object.entries(Nge).find(t=>t[1]===e)[0]}function ZY(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.geocodeProviderType,Jy.DEFAULT),n=y(e.accessToken,Uh.defaultAccessToken),i=Ae.createIfNeeded(y(e.server,Uh.defaultServer));i.appendForwardSlash();let o=Uh.getDefaultTokenCredit(n);l(o)&&e.scene.frameState.creditDisplay.addStaticCredit(Et.clone(o));let r=i.getDerivedResource({url:"v1/geocode"});l(n)&&r.appendQueryParameters({access_token:n}),this._accessToken=n,this._server=i,this._pelias=new TU(r),this.geocodeProviderType=t}Object.defineProperties(ZY.prototype,{credit:{get:function(){}},geocodeProviderType:{get:function(){return zst(this._pelias.url.queryParameters.geocoder)},set:function(e){Vst(e);let t={...this._pelias.url.queryParameters,geocoder:Ust(e)};l(t.geocoder)||delete t.geocoder,this._pelias.url.setQueryParameters(t)}}});ZY.prototype.geocode=async function(e,t){return this._pelias.geocode(e,t)};var WE=ZY;var dc={};dc.ExportStatus=Object.freeze({NotStarted:"NotStarted",InProgress:"InProgress",Complete:"Complete",Invalid:"Invalid"});dc.ExportType=Object.freeze({IMODEL:"IMODEL",CESIUM:"CESIUM","3DTILES":"3DTILES"});dc.RealityDataType=Object.freeze({Cesium3DTiles:"Cesium3DTiles",PNTS:"PNTS",OPC:"OPC",RealityMesh3DTiles:"RealityMesh3DTiles",Terrain3DTiles:"Terrain3DTiles","3MX":"3MX","3SM":"3SM",CCCloudProject:"CCCloudProject",CCImageCollection:"CCImageCollection",CCOrientations:"CCOrientations",ContextCaptureInputs:"ContextCaptureInputs",ContextDetector:"ContextDetector",ContextScene:"ContextScene",DAE:"DAE",DGN:"DGN",DSM:"DSM",FBX:"FBX",GLB:"GLB",GLTF:"GLTF",KML:"KML",LAS:"LAS",LAZ:"LAZ",LOD:"LOD",LodTree:"LodTree",OBJ:"OBJ",OMI:"OMI",OMR:"OMR",Orthophoto:"Orthophoto",OrthophotoDSM:"OrthophotoDSM",OSGB:"OSGB",OVF:"OVF",OBT:"OBT",PLY:"PLY",PointCloud:"PointCloud",S3C:"S3C",ScanCollection:"ScanCollection",SHP:"SHP",SLPK:"SLPK",SpaceEyes3D:"SpaceEyes3D",STL:"STL",TSM:"TSM",Unstructured:"Unstructured",Other:"Other"});dc.defaultAccessToken=void 0;dc.apiEndpoint=new Ae({url:"https://api.bentley.com"});dc.getExports=async function(e){let t=new Ae({url:`${dc.apiEndpoint}mesh-export`,headers:{Authorization:`Bearer ${dc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json",Prefer:"return=representation"},queryParameters:{iModelId:e,exportType:dc.ExportType["3DTILES"],$top:"5",client:"CesiumJS"}});typeof CESIUM_VERSION<"u"&&t.appendQueryParameters({clientVersion:CESIUM_VERSION});try{return await t.fetchJson()}catch(n){let i=JSON.parse(n.response);throw n.statusCode===401?new se(`Unauthorized, bad token, wrong scopes or headers bad. ${i.error.details[0].code}`):n.statusCode===403?(console.error(i.error.code,i.error.message),new se("Not allowed, forbidden")):n.statusCode===422?new se(`Unprocessable Entity:${i.error.code} ${i.error.message}`):n.statusCode===429?new se("Too many requests"):new se(`Unknown request failure ${n.statusCode}`)}};dc.getRealityDataMetadata=async function(e,t){let n=new Ae({url:`${dc.apiEndpoint}reality-management/reality-data/${t}`,headers:{Authorization:`Bearer ${dc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json"},queryParameters:{iTwinId:e}});try{return(await n.fetchJson()).realityData}catch(i){let o=JSON.parse(i.response);throw i.statusCode===401?new se(`Unauthorized, bad token, wrong scopes or headers bad. ${o.error.details[0].code}`):i.statusCode===403?(console.error(o.error.code,o.error.message),new se("Not allowed, forbidden")):i.statusCode===404?new se(`Reality data not found: ${e}, ${t}`):i.statusCode===422?new se(`Unprocessable Entity:${o.error.code} ${o.error.message}`):i.statusCode===429?new se("Too many requests"):new se(`Unknown request failure ${i.statusCode}`)}};dc.getRealityDataURL=async function(e,t,n){let i=new Ae({url:`${dc.apiEndpoint}reality-management/reality-data/${t}/readaccess`,headers:{Authorization:`Bearer ${dc.defaultAccessToken}`,Accept:"application/vnd.bentley.itwin-platform.v1+json"},queryParameters:{iTwinId:e}});try{let r=(await i.fetchJson())._links.containerUrl.href,s=new URL(r);return s.pathname=`${s.pathname}/${n}`,s.toString()}catch(o){let r=JSON.parse(o.response);throw o.statusCode===401?new se(`Unauthorized, bad token, wrong scopes or headers bad. ${r.error.details[0].code}`):o.statusCode===403?(console.error(r.error.code,r.error.message),new se("Not allowed, forbidden")):o.statusCode===404?new se(`Reality data not found: ${e}, ${t}`):o.statusCode===422?new se(`Unprocessable Entity:${r.error.code} ${r.error.message}`):o.statusCode===429?new se("Too many requests"):new se(`Unknown request failure ${o.statusCode}`)}};var Hf=dc;var Hst={SHIFT:0,CTRL:1,ALT:2},ya=Object.freeze(Hst);function CU(){de.throwInstantiationError()}Object.defineProperties(CU.prototype,{ellipsoid:{get:de.throwInstantiationError}});CU.prototype.project=de.throwInstantiationError;CU.prototype.unproject=de.throwInstantiationError;var Fge=CU;var $Y=[],QY=[];function Gst(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=$Y,u=QY,f,d;for(f=0;f<s;++f)c[f]=e[i+f];for(d=0;d<a;++d)u[d]=e[o+d+1];f=0,d=0;for(let p=i;p<=r;++p){let g=c[f],m=u[d];f<s&&(d>=a||t(g,m,n)<=0)?(e[p]=g,++f):d<a&&(e[p]=m,++d)}}function JY(e,t,n,i,o){if(i>=o)return;let r=Math.floor((i+o)*.5);JY(e,t,n,i,r),JY(e,t,n,r+1,o),Gst(e,t,n,i,r,o)}function Wst(e,t,n){let i=e.length,o=Math.ceil(i*.5);$Y.length=o,QY.length=o,JY(e,t,n,0,i-1),$Y.length=0,QY.length=0}var e0=Wst;function jE(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(jE.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});jE.prototype.findTimeInterval=ro.prototype.findTimeInterval;jE.prototype.wrapTime=ro.prototype.wrapTime;jE.prototype.clampTime=ro.prototype.clampTime;jE.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);l(t)||(t=new Array(this._count));for(let s=0;s<this._count;s++){let a=o*this._count+s;t[s]=n[a]*(1-r)+n[a+this._count]*r}return t};var Bge=jE;var jst={NONE:-1,PARTIAL:0,FULL:1},Cr=Object.freeze(jst);function hc(e,t){this._occluderPosition=h.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var AU=new h;Object.defineProperties(hc.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=h.clone(e,this._cameraPosition);let t=h.subtract(this._occluderPosition,e,AU),n=h.magnitudeSquared(t),i=this._occluderRadius*this._occluderRadius,o,r,s;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,AU);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,AU),AU)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});hc.fromBoundingSphere=function(e,t,n){return l(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new hc(e,t)};var Vge=new h;hc.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,Vge),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var qst=new h;hc.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,qst),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,Vge),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n<this._occluderRadius)return o>0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var Yst=new h;hc.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return Cr.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,Yst),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n<s?Cr.NONE:(o=this._occluderRadius+n,o=r-o*o,o>0?(o=Math.sqrt(o)+this._horizonDistance,s<o*o+n*n?Cr.FULL:Cr.PARTIAL):(i=h.subtract(t,this._horizonPlanePosition,i),h.dot(i,this._horizonPlaneNormal)>-n?Cr.PARTIAL:Cr.FULL))}}return Cr.NONE};var EU=new h;hc.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,EU),EU),c=-h.dot(a,o),u=hc._anyRotationVector(o,a,c),f=hc._horizonToPlaneNormalDotProduct(e,a,c,u,n[0]);if(!f)return;let d;for(let g=1;g<s;++g){if(d=hc._horizonToPlaneNormalDotProduct(e,a,c,u,n[g]),!d)return;d<f&&(f=d)}if(f<.0017453283658983088)return;let p=r/f;return h.add(o,h.multiplyByScalar(a,p,EU),EU)};var Xst=[];hc.computeOccludeePointFromRectangle=function(e,t){t=y(t,ee.default);let n=ae.subsample(e,t,0,Xst),i=ce.fromPoints(n),o=h.ZERO;if(!h.equals(o,i.center))return hc.computeOccludeePoint(new ce(o,t.minimumRadius),i.center,n)};var Kst=new h;hc._anyRotationVector=function(e,t,n){let i=h.abs(t,Kst),o=i.x>i.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var Zst=new h;hc._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,Zst);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>P.EPSILON13)return h.normalize(s,new h)}return o};var eX=new h,$st=new h,SU=new h,kge=new h;hc._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,eX),s=h.clone(e.center,$st),a=e.radius,c=h.subtract(s,r,SU),u=h.magnitudeSquared(c),f=a*a;if(u<f)return!1;let d=u-f,p=Math.sqrt(d),m=1/Math.sqrt(u),b=p*m*p;c=h.normalize(c,c);let T=h.add(r,h.multiplyByScalar(c,b,kge),kge),C=Math.sqrt(d-b*b),A=this._rotationVector(s,t,n,r,i),S=h.fromElements(A.x*A.x*c.x+(A.x*A.y-A.z)*c.y+(A.x*A.z+A.y)*c.z,(A.x*A.y+A.z)*c.x+A.y*A.y*c.y+(A.y*A.z-A.x)*c.z,(A.x*A.z-A.y)*c.x+(A.y*A.z+A.x)*c.y+A.z*A.z*c.z,eX);S=h.normalize(S,S);let v=h.multiplyByScalar(S,C,eX);A=h.normalize(h.subtract(h.add(T,v,SU),s,SU),SU);let D=h.dot(t,A);A=h.normalize(h.subtract(h.subtract(T,v,A),s,A),A);let R=h.dot(t,A);return D<R?D:R};var vU=hc;function tX(e,t,n){e=Ae.createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=y(n,{}),this._credit=new Et('Geodata copyright <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',!1)}Object.defineProperties(tX.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});tX.prototype.geocode=async function(e){return this._url.getDerivedResource({url:"json",queryParameters:Ct(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(l(r))o=ae.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var Uge=tX;var Qst={packedLength:void 0,pack:de.throwInstantiationError,unpack:de.throwInstantiationError},zge=Qst;var Jst={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:de.throwInstantiationError,unpackInterpolationResult:de.throwInstantiationError},Hge=Jst;var eat=new h;function tat(e,t,n,i){let o=wT(e,t,n,i,eat);return l(o)?o.x>0&&o.y>0&&o.z>0:!1}var Gge=tat;function Wge(){de.throwInstantiationError()}Wge.prototype.getURL=de.throwInstantiationError;var jge=Wge;async function nat(e,t,n,i){return l(i)||(i=!1),rat(e,t,n,i)}function iat(e,t,n){let i=e[0],o=i.terrainProvider.requestTileGeometry(i.x,i.y,i.level);if(!o)return!1;let r;return n?r=o.then(Yge(i)):r=o.then(Yge(i)).catch(sat(i)),e.shift(),t.push(r),!0}function oat(e){return new Promise(function(t){setTimeout(t,e)})}function nX(e,t,n){return e.length?iat(e,t,n)?nX(e,t,n):oat(100).then(()=>nX(e,t,n)):Promise.resolve()}function rat(e,t,n,i){let o=e.tilingScheme,r,s=[],a={};for(r=0;r<n.length;++r){let u=o.positionToTileXY(n[r],t);if(!l(u))continue;let f=u.toString();if(!a.hasOwnProperty(f)){let d={x:u.x,y:u.y,level:t,tilingScheme:o,terrainProvider:e,positions:[]};a[f]=d,s.push(d)}a[f].positions.push(n[r])}let c=[];return nX(s,c,i).then(function(){return Promise.all(c).then(function(){return n})})}function qge(e,t,n){let i=t.interpolateHeight(n,e.longitude,e.latitude);return i===void 0?!1:(e.height=i,!0)}function Yge(e){let t=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(i){let o=!1;for(let r=0;r<t.length;++r){let s=t[r];if(!qge(s,i,n)){o=!0;break}}return o?i.createMesh({tilingScheme:e.tilingScheme,x:e.x,y:e.y,level:e.level,throttle:!1}).then(function(){for(let r=0;r<t.length;++r){let s=t[r];qge(s,i,n)}}):Promise.resolve()}}function sat(e){let t=e.positions;return function(){for(let n=0;n<t.length;++n){let i=t[n];i.height=void 0}}}var wU=nat;var iX=new U;async function Xge(e,t,n){l(n)||(n=!1);let i=[],o=[],r=e.availability,s=[];for(let c=0;c<t.length;++c){let u=t[c],f=r.computeMaximumLevelAtPosition(u);if(o[c]=f,f===0){e.tilingScheme.positionToTileXY(u,1,iX);let p=e.loadTileDataAvailability(iX.x,iX.y,1);l(p)&&s.push(p)}let d=i[f];l(d)||(i[f]=d=[]),d.push(u)}await Promise.all(s),await Promise.all(i.map(function(c,u){if(l(c))return wU(e,u,c,n)}));let a=[];for(let c=0;c<t.length;++c){let u=t[c];r.computeMaximumLevelAtPosition(u)!==o[c]&&a.push(u)}return a.length>0&&await Xge(e,a,n),t}var qE=Xge;var aat={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},Cn=Object.freeze(aat);function t0(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=(t.clientX-o.left)*(i.offsetWidth/o.width),n.y=(t.clientY-o.top)*(i.offsetHeight/o.height),n}function lX(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function Cb(e){if(e.shiftKey)return ya.SHIFT;if(e.ctrlKey)return ya.CTRL;if(e.altKey)return ya.ALT}var Os={LEFT:0,MIDDLE:1,RIGHT:2};function Pu(e,t,n,i){function o(r){i(e,r)}Gt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function cat(e){let t=e._element,n=l(t.disableRootEvents)?t:document;Gt.supportsPointerEvents()?(Pu(e,"pointerdown",t,mat),Pu(e,"pointerup",t,oye),Pu(e,"pointermove",t,pat),Pu(e,"pointercancel",t,oye)):(Pu(e,"mousedown",t,rye),Pu(e,"mouseup",n,sye),Pu(e,"mousemove",n,aye),Pu(e,"touchstart",t,dat),Pu(e,"touchend",n,Jge),Pu(e,"touchmove",n,hat),Pu(e,"touchcancel",n,Jge)),Pu(e,"dblclick",t,uat);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",Pu(e,i,t,fat)}function lat(e){let t=e._removalFunctions;for(let n=0;n<t.length;++n)t[n]()}var Kge={position:new U};function uX(e){e._lastSeenTouchEvent=Ei()}function fX(e){return Ei()-e._lastSeenTouchEvent>ih.mouseEmulationIgnoreMilliseconds}function cX(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)<n}function rye(e,t){if(!fX(e))return;let n=t.button;e._buttonDown[n]=!0;let i;if(n===Os.LEFT)i=Cn.LEFT_DOWN;else if(n===Os.MIDDLE)i=Cn.MIDDLE_DOWN;else if(n===Os.RIGHT)i=Cn.RIGHT_DOWN;else return;let o=t0(e,t,e._primaryPosition);U.clone(o,e._primaryStartPosition),U.clone(o,e._primaryPreviousPosition);let r=Cb(t),s=e.getInputAction(i,r);l(s)&&(U.clone(o,Kge.position),s(Kge),t.preventDefault())}var Zge={position:new U},$ge={position:new U};function oX(e,t,n,i){let o=Cb(i),r=e.getInputAction(t,o),s=e.getInputAction(n,o);if(l(r)||l(s)){let a=t0(e,i,e._primaryPosition);if(l(r)&&(U.clone(a,Zge.position),r(Zge)),l(s)){let c=e._primaryStartPosition;cX(c,a,e._clickPixelTolerance)&&(U.clone(a,$ge.position),s($ge))}}}function sye(e,t){if(!fX(e))return;let n=t.button;n!==Os.LEFT&&n!==Os.MIDDLE&&n!==Os.RIGHT||(e._buttonDown[Os.LEFT]&&(oX(e,Cn.LEFT_UP,Cn.LEFT_CLICK,t),e._buttonDown[Os.LEFT]=!1),e._buttonDown[Os.MIDDLE]&&(oX(e,Cn.MIDDLE_UP,Cn.MIDDLE_CLICK,t),e._buttonDown[Os.MIDDLE]=!1),e._buttonDown[Os.RIGHT]&&(oX(e,Cn.RIGHT_UP,Cn.RIGHT_CLICK,t),e._buttonDown[Os.RIGHT]=!1))}var rX={startPosition:new U,endPosition:new U};function aye(e,t){if(!fX(e))return;let n=Cb(t),i=t0(e,t,e._primaryPosition),o=e._primaryPreviousPosition,r=e.getInputAction(Cn.MOUSE_MOVE,n);l(r)&&(U.clone(o,rX.startPosition),U.clone(i,rX.endPosition),r(rX)),U.clone(i,o),(e._buttonDown[Os.LEFT]||e._buttonDown[Os.MIDDLE]||e._buttonDown[Os.RIGHT])&&t.preventDefault()}var Qge={position:new U};function uat(e,t){let n=t.button,i;if(n===Os.LEFT)i=Cn.LEFT_DOUBLE_CLICK;else return;let o=Cb(t),r=e.getInputAction(i,o);l(r)&&(t0(e,t,Qge.position),r(Qge))}function fat(e,t){let n;if(l(t.deltaY)){let r=t.deltaMode;r===t.DOM_DELTA_PIXEL?n=-t.deltaY:r===t.DOM_DELTA_LINE?n=-t.deltaY*40:n=-t.deltaY*120}else t.detail>0?n=t.detail*-120:n=t.wheelDelta;if(!l(n))return;let i=Cb(t),o=e.getInputAction(Cn.WHEEL,i);l(o)&&(o(n),t.preventDefault())}function dat(e,t){uX(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.set(s,t0(e,r,new U));DU(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.set(s,U.clone(a.get(s)))}function Jge(e,t){uX(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.remove(s);DU(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.remove(s)}var eye={position:new U},sX={position1:new U,position2:new U},tye={position:new U},nye={position:new U},iye={position:new U};function DU(e,t){let n=Cb(t),i=e._positions,o=i.length,r,s,a=e._isPinching;if(o!==1&&e._buttonDown[Os.LEFT]){if(e._buttonDown[Os.LEFT]=!1,l(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),r=e.getInputAction(Cn.LEFT_UP,n),l(r)&&(U.clone(e._primaryPosition,tye.position),r(tye)),o===0&&!e._isTouchHolding&&(s=e.getInputAction(Cn.LEFT_CLICK,n),l(s))){let c=e._primaryStartPosition,u=e._previousPositions.values[0];cX(c,u,e._clickPixelTolerance)&&(U.clone(e._primaryPosition,nye.position),s(nye))}e._isTouchHolding=!1}if(o===0&&a&&(e._isPinching=!1,r=e.getInputAction(Cn.PINCH_END,n),l(r)&&r()),o===1&&!a){let c=i.values[0];U.clone(c,e._primaryPosition),U.clone(c,e._primaryStartPosition),U.clone(c,e._primaryPreviousPosition),e._buttonDown[Os.LEFT]=!0,r=e.getInputAction(Cn.LEFT_DOWN,n),l(r)&&(U.clone(c,eye.position),r(eye)),e._touchHoldTimer=setTimeout(function(){if(!e.isDestroyed()&&(e._touchHoldTimer=void 0,e._isTouchHolding=!0,s=e.getInputAction(Cn.RIGHT_CLICK,n),l(s))){let u=e._primaryStartPosition,f=e._previousPositions.values[0];cX(u,f,e._holdPixelTolerance)&&(U.clone(e._primaryPosition,iye.position),s(iye))}},ih.touchHoldDelayMilliseconds),t.preventDefault()}o===2&&!a&&(e._isPinching=!0,r=e.getInputAction(Cn.PINCH_START,n),l(r)&&(U.clone(i.values[0],sX.position1),U.clone(i.values[1],sX.position2),r(sX),t.preventDefault()))}function hat(e,t){uX(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i){r=n[i],s=r.identifier;let u=a.get(s);l(u)&&t0(e,r,u)}cye(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,U.clone(a.get(s),c.get(s))}var aX={startPosition:new U,endPosition:new U},OI={distance:{startPosition:new U,endPosition:new U},angleAndHeight:{startPosition:new U,endPosition:new U}};function cye(e,t){let n=Cb(t),i=e._positions,o=e._previousPositions,r=i.length,s;if(r===1&&e._buttonDown[Os.LEFT]){let a=i.values[0];U.clone(a,e._primaryPosition);let c=e._primaryPreviousPosition;s=e.getInputAction(Cn.MOUSE_MOVE,n),l(s)&&(U.clone(c,aX.startPosition),U.clone(a,aX.endPosition),s(aX)),U.clone(a,c),t.preventDefault()}else if(r===2&&e._isPinching&&(s=e.getInputAction(Cn.PINCH_MOVE,n),l(s))){let a=i.values[0],c=i.values[1],u=o.values[0],f=o.values[1],d=c.x-a.x,p=c.y-a.y,g=Math.sqrt(d*d+p*p)*.25,m=f.x-u.x,x=f.y-u.y,b=Math.sqrt(m*m+x*x)*.25,T=(c.y+a.y)*.125,C=(f.y+u.y)*.125,A=Math.atan2(p,d),S=Math.atan2(x,m);U.fromElements(0,b,OI.distance.startPosition),U.fromElements(0,g,OI.distance.endPosition),U.fromElements(S,C,OI.angleAndHeight.startPosition),U.fromElements(A,T,OI.angleAndHeight.endPosition),s(OI)}}function mat(e,t){if(t.target.setPointerCapture(t.pointerId),t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.set(i,t0(e,t,new U)),DU(e,t),e._previousPositions.set(i,U.clone(n.get(i)))}else rye(e,t)}function oye(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.remove(i),DU(e,t),e._previousPositions.remove(i)}else sye(e,t)}function pat(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId,o=n.get(i);if(!l(o))return;t0(e,t,o),cye(e,t);let r=e._previousPositions;U.clone(n.get(i),r.get(i))}else aye(e,t)}function ih(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-ih.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new U,this._primaryPosition=new U,this._primaryPreviousPosition=new U,this._positions=new vt,this._previousPositions=new vt,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=y(e,document),cat(this)}ih.prototype.setInputAction=function(e,t,n){let i=lX(t,n);this._inputEvents[i]=e};ih.prototype.getInputAction=function(e,t){let n=lX(e,t);return this._inputEvents[n]};ih.prototype.removeInputAction=function(e,t){let n=lX(e,t);delete this._inputEvents[n]};ih.prototype.isDestroyed=function(){return!1};ih.prototype.destroy=function(){return lat(this),ue(this)};ih.mouseEmulationIgnoreMilliseconds=800;ih.touchHoldDelayMilliseconds=1500;var Gf=ih;function _at(e,t,n,i,o,r,s){let a=Li.numberOfPoints(e,t,o),c,u=n.red,f=n.green,d=n.blue,p=n.alpha,g=i.red,m=i.green,x=i.blue,b=i.alpha;if(z.equals(n,i)){for(c=0;c<a;c++)r[s++]=z.floatToByte(u),r[s++]=z.floatToByte(f),r[s++]=z.floatToByte(d),r[s++]=z.floatToByte(p);return s}let T=(g-u)/a,C=(m-f)/a,A=(x-d)/a,S=(b-p)/a,v=s;for(c=0;c<a;c++)r[v++]=z.floatToByte(u+c*T),r[v++]=z.floatToByte(f+c*C),r[v++]=z.floatToByte(d+c*A),r[v++]=z.floatToByte(p+c*S);return v}function RI(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=y(e.arcType,nn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=y(e.ellipsoid,ee.default),this._workerName="createSimplePolylineGeometry";let o=1+t.length*h.packedLength;o+=l(n)?1+n.length*z.packedLength:1,this.packedLength=o+ee.packedLength+3}RI.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=z.packedLength)z.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};RI.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=z.packedLength)s[i]=z.unpack(e,t);let a=ee.unpack(e,t);t+=ee.packedLength;let c=e[t++]===1,u=e[t++],f=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=a,n._colorsPerVertex=c,n._arcType=u,n._granularity=f,n):new RI({positions:r,colors:s,ellipsoid:a,colorsPerVertex:c,arcType:u,granularity:f})};var IU=new Array(2),PU=new Array(2),gat={positions:IU,height:PU,ellipsoid:void 0,minDistance:void 0,granularity:void 0};RI.createGeometry=function(e){let t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,r=e._granularity,s=e._ellipsoid,a=P.chordLength(r,s.maximumRadius),c=l(n)&&!i,u,f=t.length,d,p,g,m,x=0;if(o===nn.GEODESIC||o===nn.RHUMB){let S,v,D;o===nn.GEODESIC?(S=P.chordLength(r,s.maximumRadius),v=Li.numberOfPoints,D=Li.generateArc):(S=r,v=Li.numberOfPointsRhumbLine,D=Li.generateRhumbArc);let R=Li.extractHeights(t,s),O=gat;if(o===nn.GEODESIC?O.minDistance=a:O.granularity=r,O.ellipsoid=s,c){let M=0;for(u=0;u<f-1;u++)M+=v(t[u],t[u+1],S)+1;d=new Float64Array(M*3),g=new Uint8Array(M*4),O.positions=IU,O.height=PU;let N=0;for(u=0;u<f-1;++u){IU[0]=t[u],IU[1]=t[u+1],PU[0]=R[u],PU[1]=R[u+1];let _=D(O);if(l(n)){let E=_.length/3;m=n[u];for(let w=0;w<E;++w)g[N++]=z.floatToByte(m.red),g[N++]=z.floatToByte(m.green),g[N++]=z.floatToByte(m.blue),g[N++]=z.floatToByte(m.alpha)}d.set(_,x),x+=_.length}}else if(O.positions=t,O.height=R,d=new Float64Array(D(O)),l(n)){for(g=new Uint8Array(d.length/3*4),u=0;u<f-1;++u){let N=t[u],_=t[u+1],E=n[u],w=n[u+1];x=_at(N,_,E,w,a,g,x)}let M=n[f-1];g[x++]=z.floatToByte(M.red),g[x++]=z.floatToByte(M.green),g[x++]=z.floatToByte(M.blue),g[x++]=z.floatToByte(M.alpha)}}else{p=c?f*2-2:f,d=new Float64Array(p*3),g=l(n)?new Uint8Array(p*4):void 0;let S=0,v=0;for(u=0;u<f;++u){let D=t[u];if(c&&u>0&&(h.pack(D,d,S),S+=3,m=n[u-1],g[v++]=z.floatToByte(m.red),g[v++]=z.floatToByte(m.green),g[v++]=z.floatToByte(m.blue),g[v++]=z.floatToByte(m.alpha)),c&&u===f-1)break;h.pack(D,d,S),S+=3,l(n)&&(m=n[u],g[v++]=z.floatToByte(m.red),g[v++]=z.floatToByte(m.green),g[v++]=z.floatToByte(m.blue),g[v++]=z.floatToByte(m.alpha))}}let b=new mn;b.position=new Se({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),l(n)&&(b.color=new Se({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=d.length/3;let T=(p-1)*2,C=ke.createTypedArray(p,T),A=0;for(u=0;u<p-1;++u)C[A++]=u,C[A++]=u+1;return new ft({attributes:b,indices:C,primitiveType:Fe.LINES,boundingSphere:ce.fromPoints(t)})};var lye=RI;function YE(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new ma(i),this._workerName="createSphereGeometry"}YE.packedLength=ma.packedLength;YE.pack=function(e,t,n){return ma.pack(e._ellipsoidGeometry,t,n)};var yat=new ma,n0={radius:void 0,radii:new h,vertexFormat:new Pe,stackPartitions:void 0,slicePartitions:void 0};YE.unpack=function(e,t,n){let i=ma.unpack(e,t,yat);return n0.vertexFormat=Pe.clone(i._vertexFormat,n0.vertexFormat),n0.stackPartitions=i._stackPartitions,n0.slicePartitions=i._slicePartitions,l(n)?(h.clone(i._radii,n0.radii),n._ellipsoidGeometry=new ma(n0),n):(n0.radius=i._radii.x,new YE(n0))};YE.createGeometry=function(e){return ma.createGeometry(e._ellipsoidGeometry)};var uye=YE;function xat(e){return e<=.04045?e*.07739938080495357:Math.pow((e+.055)*.9478672985781991,2.4)}var XE=xat;var bat={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},gn=bat;function i0(e){}Object.defineProperties(i0.prototype,{ellipsoid:{get:de.throwInstantiationError},rectangle:{get:de.throwInstantiationError},projection:{get:de.throwInstantiationError}});i0.prototype.getNumberOfXTilesAtLevel=de.throwInstantiationError;i0.prototype.getNumberOfYTilesAtLevel=de.throwInstantiationError;i0.prototype.rectangleToNativeRectangle=de.throwInstantiationError;i0.prototype.tileXYToNativeRectangle=de.throwInstantiationError;i0.prototype.tileXYToRectangle=de.throwInstantiationError;i0.prototype.positionToTileXY=de.throwInstantiationError;var fye=i0;function Ab(e){e=y(e,y.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=y(e.epoch,Ge.MINIMUM_VALUE),this.tolerance=y(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(Ab.prototype,{clock:{get:function(){return this._clock},set:function(e){let t=this._clock;t!==e&&(l(t)&&(this._clockSubscription(),this._clockSubscription=void 0),l(e)&&(this._clockSubscription=e.onTick.addEventListener(Ab.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){let t=this._element;t!==e&&(l(t)&&t.removeEventListener("seeked",this._seekFunction,!1),l(e)&&(this._seeking=!1,this._seekFunction=Tat(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}});Ab.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,ue(this)};Ab.prototype.isDestroyed=function(){return!1};Ab.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;let t=this._element;try{t.playbackRate=e.multiplier}catch{t.playbackRate=0}this._lastPlaybackRate=e.multiplier};Ab.prototype._onTick=function(e){let t=this._element;if(!l(t)||t.readyState<2)return;let n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(e);let o=e.currentTime,r=y(this.epoch,Ge.MINIMUM_VALUE),s=K.secondsDifference(o,r),a=t.duration,c,u=t.currentTime;t.loop?(s=s%a,s<0&&(s=a-s),c=s):s>a?c=a:s<0?c=0:c=s;let f=i?y(this.tolerance,1):.001;Math.abs(c-u)>f&&(this._seeking=!0,t.currentTime=c)};function Tat(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var dye=Ab;function Cat(e,t){this.rectangle=e,this.maxLevel=t}function hye(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}hye.prototype.build=function(e){e._tilingScheme=this.tilingScheme,e._heightmapWidth=this.heightmapWidth,e._heightmapHeight=this.heightmapHeight,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._rectangles=this.rectangles};function Aat(e,t){let n=t.getElementsByTagName("SRS")[0].textContent;if(n==="EPSG:4326")e.tilingScheme=new Xi({ellipsoid:e.ellipsoid});else throw new se(`SRS ${n} is not supported`);let i=t.getElementsByTagName("TileFormat")[0];e.heightmapWidth=parseInt(i.getAttribute("width"),10),e.heightmapHeight=parseInt(i.getAttribute("height"),10),e.levelZeroMaximumGeometricError=ds.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.ellipsoid,Math.min(e.heightmapWidth,e.heightmapHeight),e.tilingScheme.getNumberOfXTilesAtLevel(0));let o=t.getElementsByTagName("DataExtent");for(let r=0;r<o.length;++r){let s=o[r],a=P.toRadians(parseFloat(s.getAttribute("minx"))),c=P.toRadians(parseFloat(s.getAttribute("miny"))),u=P.toRadians(parseFloat(s.getAttribute("maxx"))),f=P.toRadians(parseFloat(s.getAttribute("maxy"))),d=parseInt(s.getAttribute("maxlevel"),10);e.rectangles.push(new Cat(new ae(a,c,u,f),d))}}function Eat(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i=`${i}: ${t.message}`),Io.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new se(i)}async function Sat(e,t,n){try{let i=await t.fetchXML();Aat(e,i)}catch(i){Eat(t,i,n)}}function o0(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._tilingScheme=void 0,this._rectangles=[]}Object.defineProperties(o0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});o0.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=new hye(t),i=Ae.createIfNeeded(e);await Sat(n,i);let o=new o0(t);return n.build(o),o._resource=i,o};o0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}).fetchImage({preferImageBitmap:!0});if(!l(s))return;let a=this;return Promise.resolve(s).then(function(c){return new fc({buffer:xh(c),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:vat(a,e,t,n),structure:a._terrainDataStructure})})};o0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var mye=new ae;function vat(e,t,n,i){let o=e._tilingScheme,r=e._rectangles,s=o.tileXYToRectangle(t,n,i),a=0;for(let c=0;c<r.length&&a!==15;++c){let u=r[c];if(u.maxLevel<=i)continue;let f=u.rectangle,d=ae.intersection(f,s,mye);l(d)&&(OU(o,f,t*2,n*2,i+1)&&(a|=4),OU(o,f,t*2+1,n*2,i+1)&&(a|=8),OU(o,f,t*2,n*2+1,i+1)&&(a|=1),OU(o,f,t*2+1,n*2+1,i+1)&&(a|=2))}return a}function OU(e,t,n,i,o){let r=e.tileXYToRectangle(n,i,o);return l(ae.intersection(r,t,mye))}o0.prototype.getTileDataAvailable=function(e,t,n){};o0.prototype.loadTileDataAvailability=function(e,t,n){};var pye=o0;var wat={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},_ye=Object.freeze(wat);function Dat(e){switch(e){case te.FLOAT:return"float";case te.FLOAT_VEC2:return"vec2";case te.FLOAT_VEC3:return"vec3";case te.FLOAT_VEC4:return"vec4";case te.FLOAT_MAT2:return"mat2";case te.FLOAT_MAT3:return"mat3";case te.FLOAT_MAT4:return"mat4";case te.SAMPLER_2D:return"sampler2D";case te.BOOL:return"bool"}}var gye=Dat;function Iat(e,t,n){return function(){n.apply(e,arguments),t.apply(e,arguments)}}var RU=Iat;var MI=`#ifdef MRT +layout (location = 0) out vec4 out_FragData_0; +layout (location = 1) out vec4 out_FragData_1; +#else +layout (location = 0) out vec4 out_FragColor; #endif -// NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 -`;var iU=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, -// setIntersectionPair, INF_HIT, NO_HIT +uniform vec4 u_bgColor; +uniform sampler2D u_depthTexture; -/* intersectDepth defines (set in Scene/VoxelRenderResources.js) -#define DEPTH_INTERSECTION_INDEX ### -*/ +in vec2 v_textureCoordinates; -uniform mat4 u_transformPositionViewToUv; +void main() +{ + if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) + { +#ifdef MRT + out_FragData_0 = u_bgColor; + out_FragData_1 = vec4(u_bgColor.a); +#else + out_FragColor = u_bgColor; +#endif + return; + } + + discard; +} +`;var MU=`in vec2 v_textureCoordinates; +const float M_PI = 3.141592653589793; -void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); - if (logDepthOrDepth != 0.0) { - // Calculate how far the ray must travel before it hits the depth buffer. - vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); - eyeCoordinateDepth /= eyeCoordinateDepth.w; - vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); - float t = dot(depthPositionUv - ray.pos, ray.dir); - setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); - } else { - // There's no depth at this location. - setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); +float vdcRadicalInverse(int i) +{ + float r; + float base = 2.0; + float value = 0.0; + float invBase = 1.0 / base; + float invBi = invBase; + for (int x = 0; x < 100; x++) + { + if (i <= 0) + { + break; + } + r = mod(float(i), base); + value += r * invBi; + invBi *= invBase; + i = int(float(i) * invBase); } + return value; } -`;var oU=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, -// NO_HIT, setShapeIntersection -/* Clipping plane defines (set in Scene/VoxelRenderResources.js) -#define CLIPPING_PLANES_UNION -#define CLIPPING_PLANES_COUNT -#define CLIPPING_PLANES_INTERSECTION_INDEX -*/ +vec2 hammersley2D(int i, int N) +{ + return vec2(float(i) / float(N), vdcRadicalInverse(i)); +} -uniform sampler2D u_clippingPlanesTexture; -uniform mat4 u_clippingPlanesMatrix; +vec3 importanceSampleGGX(vec2 xi, float alphaRoughness, vec3 N) +{ + float alphaRoughnessSquared = alphaRoughness * alphaRoughness; + float phi = 2.0 * M_PI * xi.x; + float cosTheta = sqrt((1.0 - xi.y) / (1.0 + (alphaRoughnessSquared - 1.0) * xi.y)); + float sinTheta = sqrt(1.0 - cosTheta * cosTheta); + vec3 H = vec3(sinTheta * cos(phi), sinTheta * sin(phi), cosTheta); + vec3 upVector = abs(N.z) < 0.999 ? vec3(0.0, 0.0, 1.0) : vec3(1.0, 0.0, 0.0); + vec3 tangentX = normalize(cross(upVector, N)); + vec3 tangentY = cross(N, tangentX); + return tangentX * H.x + tangentY * H.y + N * H.z; +} -// Plane is in Hessian Normal Form -vec4 intersectPlane(in Ray ray, in vec4 plane) { - vec3 n = plane.xyz; // normal - float w = plane.w; // -dot(pointOnPlane, normal) +/** + * Estimate the geometric self-shadowing of the microfacets in a surface, + * using the Smith Joint GGX visibility function. + * Note: Vis = G / (4 * NdotL * NdotV) + * see Eric Heitz. 2014. Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs. Journal of Computer Graphics Techniques, 3 + * see Real-Time Rendering. Page 331 to 336. + * see https://google.github.io/filament/Filament.md.html#materialsystem/specularbrdf/geometricshadowing(specularg) + * + * @param {float} alphaRoughness The roughness of the material, expressed as the square of perceptual roughness. + * @param {float} NdotL The cosine of the angle between the surface normal and the direction to the light source. + * @param {float} NdotV The cosine of the angle between the surface normal and the direction to the camera. + */ +float smithVisibilityGGX(float alphaRoughness, float NdotL, float NdotV) +{ + float alphaRoughnessSq = alphaRoughness * alphaRoughness; - float a = dot(ray.pos, n); - float b = dot(ray.dir, n); - float t = -(w + a) / b; + float GGXV = NdotL * sqrt(NdotV * NdotV * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); + float GGXL = NdotV * sqrt(NdotL * NdotL * (1.0 - alphaRoughnessSq) + alphaRoughnessSq); - return vec4(n, t); + float GGX = GGXV + GGXL; // 2.0 if NdotL = NdotV = 1.0 + if (GGX > 0.0) + { + return 0.5 / GGX; // 1/4 if NdotL = NdotV = 1.0 + } + return 0.0; } -void intersectClippingPlanes(in Ray ray, inout Intersections ix) { - vec4 backSide = vec4(-ray.dir, -INF_HIT); - vec4 farSide = vec4(ray.dir, +INF_HIT); - RayShapeIntersection clippingVolume; - - #if (CLIPPING_PLANES_COUNT == 1) - // Union and intersection are the same when there's one clipping plane, and the code - // is more simplified. - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - bool reflects = dot(ray.dir, intersection.xyz) < 0.0; - clippingVolume.entry = reflects ? backSide : intersection; - clippingVolume.exit = reflects ? intersection : farSide; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); - #elif defined(CLIPPING_PLANES_UNION) - vec4 firstTransmission = vec4(ray.dir, +INF_HIT); - vec4 lastReflection = vec4(-ray.dir, -INF_HIT); - for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - if (dot(ray.dir, planeUv.xyz) > 0.0) { - firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; - } else { - lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; - } - } - clippingVolume.entry = backSide; - clippingVolume.exit = lastReflection; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); - clippingVolume.entry = firstTransmission; - clippingVolume.exit = farSide; - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); - #else // intersection - vec4 lastTransmission = vec4(ray.dir, -INF_HIT); - vec4 firstReflection = vec4(-ray.dir, +INF_HIT); - for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { - vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); - vec4 intersection = intersectPlane(ray, planeUv); - if (dot(ray.dir, planeUv.xyz) > 0.0) { - lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; - } else { - firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; - } - } - if (lastTransmission.w < firstReflection.w) { - clippingVolume.entry = lastTransmission; - clippingVolume.exit = firstReflection; - } else { - clippingVolume.entry = vec4(-ray.dir, NO_HIT); - clippingVolume.exit = vec4(ray.dir, NO_HIT); +vec2 integrateBrdf(float roughness, float NdotV) +{ + vec3 V = vec3(sqrt(1.0 - NdotV * NdotV), 0.0, NdotV); + float A = 0.0; + float B = 0.0; + const int NumSamples = 1024; + float alphaRoughness = roughness * roughness; + for (int i = 0; i < NumSamples; i++) + { + vec2 xi = hammersley2D(i, NumSamples); + vec3 H = importanceSampleGGX(xi, alphaRoughness, vec3(0.0, 0.0, 1.0)); + vec3 L = 2.0 * dot(V, H) * H - V; + float NdotL = clamp(L.z, 0.0, 1.0); + float NdotH = clamp(H.z, 0.0, 1.0); + float VdotH = clamp(dot(V, H), 0.0, 1.0); + if (NdotL > 0.0) + { + float G = smithVisibilityGGX(alphaRoughness, NdotL, NdotV); + float G_Vis = 4.0 * G * VdotH * NdotL / NdotH; + float Fc = pow(1.0 - VdotH, 5.0); + A += (1.0 - Fc) * G_Vis; + B += Fc * G_Vis; } - setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); - #endif + } + return vec2(A, B) / float(NumSamples); } -`;var TI=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, -// RayShapeIntersection - -vec4 intersectLongitude(in Ray ray, in float angle, in bool positiveNormal) { - float normalSign = positiveNormal ? 1.0 : -1.0; - vec2 planeNormal = vec2(-sin(angle), cos(angle)) * normalSign; - vec2 position = ray.pos.xy; - vec2 direction = ray.dir.xy; - float approachRate = dot(direction, planeNormal); - float distance = -dot(position, planeNormal); +void main() +{ + out_FragColor = vec4(integrateBrdf(v_textureCoordinates.y, v_textureCoordinates.x), 0.0, 1.0); +} +`;var LU=`uniform sampler2D u_noiseTexture; +uniform vec3 u_noiseTextureDimensions; +uniform float u_noiseDetail; +in vec2 v_offset; +in vec3 v_maximumSize; +in vec4 v_color; +in float v_slice; +in float v_brightness; - float t = (approachRate == 0.0) - ? NO_HIT - : distance / approachRate; +float wrap(float value, float rangeLength) { + if(value < 0.0) { + float absValue = abs(value); + float modValue = mod(absValue, rangeLength); + return mod(rangeLength - modValue, rangeLength); + } + return mod(value, rangeLength); +} - return vec4(planeNormal, 0.0, t); +vec3 wrapVec(vec3 value, float rangeLength) { + return vec3(wrap(value.x, rangeLength), + wrap(value.y, rangeLength), + wrap(value.z, rangeLength)); } -RayShapeIntersection intersectHalfSpace(in Ray ray, in float angle, in bool positiveNormal) -{ - vec4 intersection = intersectLongitude(ray, angle, positiveNormal); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); +vec2 voxelToUV(vec3 voxelIndex) { + float textureSliceWidth = u_noiseTextureDimensions.x; + float noiseTextureRows = u_noiseTextureDimensions.y; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - bool hitFront = (intersection.w > 0.0) == (dot(ray.pos.xy, intersection.xy) > 0.0); - if (!hitFront) { - return RayShapeIntersection(intersection, farSide); - } else { - return RayShapeIntersection(-1.0 * farSide, intersection); - } -} + float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; + vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, + inverseNoiseTextureRows / textureSliceWidth); + vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); + float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); + float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); -void intersectFlippedWedge(in Ray ray, in vec2 minMaxAngle, out RayShapeIntersection intersections[2]) -{ - intersections[0] = intersectHalfSpace(ray, minMaxAngle.x, false); - intersections[1] = intersectHalfSpace(ray, minMaxAngle.y, true); + float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; + float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; + return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; } -bool hitPositiveHalfPlane(in Ray ray, in vec4 intersection, in bool positiveNormal) { - float normalSign = positiveNormal ? 1.0 : -1.0; - vec2 planeDirection = vec2(intersection.y, -intersection.x) * normalSign; - vec2 hit = ray.pos.xy + intersection.w * ray.dir.xy; - return dot(hit, planeDirection) > 0.0; +// Interpolate a voxel with its neighbor (along the positive X-axis) +vec4 lerpSamplesX(vec3 voxelIndex, float x) { + vec2 uv0 = voxelToUV(voxelIndex); + vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); + vec4 sample0 = texture(u_noiseTexture, uv0); + vec4 sample1 = texture(u_noiseTexture, uv1); + return mix(sample0, sample1, x); } -void intersectHalfPlane(in Ray ray, in float angle, out RayShapeIntersection intersections[2]) { - vec4 intersection = intersectLongitude(ray, angle, true); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); +vec4 sampleNoiseTexture(vec3 position) { + float textureSliceWidth = u_noiseTextureDimensions.x; + vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); + vec3 lerpValue = fract(recenteredPos); + vec3 voxelIndex = floor(recenteredPos); - if (hitPositiveHalfPlane(ray, intersection, true)) { - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = vec4(-1.0 * intersection.xy, 0.0, intersection.w); - intersections[1].entry = intersection; - intersections[1].exit = farSide; - } else { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = farSide; - intersections[1].entry = miss; - intersections[1].exit = miss; - } + vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); + vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); + vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); + vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); + + vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); + vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); + return mix(yLerp0, yLerp1, lerpValue.z); } -RayShapeIntersection intersectRegularWedge(in Ray ray, in vec2 minMaxAngle) -{ - // Note: works for maxAngle > minAngle + pi, where the "regular wedge" - // is actually a negative volume. - // Compute intersections with the two planes. - // Normals will point toward the "outside" (negative space) - vec4 intersect1 = intersectLongitude(ray, minMaxAngle.x, false); - vec4 intersect2 = intersectLongitude(ray, minMaxAngle.y, true); +// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). +bool intersectSphere(vec3 origin, vec3 dir, float slice, + out vec3 point, out vec3 normal) { + float A = dot(dir, dir); + float B = dot(origin, dir); + float C = dot(origin, origin) - 0.25; + float discriminant = (B * B) - (A * C); + if(discriminant < 0.0) { + return false; + } + float root = sqrt(discriminant); + float t = (-B - root) / A; + if(t < 0.0) { + t = (-B + root) / A; + } + point = origin + t * dir; - // Choose intersection with smallest T as the "first", the other as "last" - // Note: first or last could be in the "shadow" wedge, beyond the tip - bool inOrder = intersect1.w <= intersect2.w; - vec4 first = inOrder ? intersect1 : intersect2; - vec4 last = inOrder ? intersect2 : intersect1; + if(slice >= 0.0) { + point.z = (slice / 2.0) - 0.5; + if(length(point) > 0.5) { + return false; + } + } - bool firstIsAhead = first.w >= 0.0; - bool startedInsideFirst = dot(ray.pos.xy, first.xy) < 0.0; - bool exitFromInside = firstIsAhead == startedInsideFirst; - bool lastIsAhead = last.w > 0.0; - bool startedOutsideLast = dot(ray.pos.xy, last.xy) >= 0.0; - bool enterFromOutside = lastIsAhead == startedOutsideLast; + normal = normalize(point); + point -= czm_epsilon2 * normal; + return true; +} - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); - vec4 miss = vec4(normalize(ray.dir), NO_HIT); +// Transforms the ray origin and direction into unit sphere space, +// then transforms the result back into the ellipsoid's space. +bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, + out vec3 point, out vec3 normal) { + if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { + return false; + } - if (exitFromInside && enterFromOutside) { - // Ray crosses both faces of negative wedge, exiting then entering the positive shape - return RayShapeIntersection(first, last); - } else if (!exitFromInside && enterFromOutside) { - // Ray starts inside wedge. last is in shadow wedge, and first is actually the entry - return RayShapeIntersection(-1.0 * farSide, first); - } else if (exitFromInside && !enterFromOutside) { - // First intersection was in the shadow wedge, so last is actually the exit - return RayShapeIntersection(last, farSide); - } else { // !exitFromInside && !enterFromOutside - // Both intersections were in the shadow wedge - return RayShapeIntersection(miss, miss); + vec3 o = (origin - center) / scale; + vec3 d = dir / scale; + vec3 p, n; + bool intersected = intersectSphere(o, d, slice, p, n); + if(intersected) { + point = (p * scale) + center; + normal = n; } + return intersected; } -`;var rU=`// See IntersectionUtils.glsl for the definitions of Ray, RayShapeIntersection, -// NO_HIT, Intersections -/* Box defines (set in Scene/VoxelBoxShape.js) -#define BOX_INTERSECTION_INDEX ### // always 0 -*/ +// Assume that if phase shift is being called for octave i, +// the frequency is of i - 1. This saves us from doing extra +// division / multiplication operations. +vec2 phaseShift2D(vec2 p, vec2 freq) { + return (czm_pi / 2.0) * sin(freq.yx * p.yx); +} -uniform vec3 u_renderMinBounds; -uniform vec3 u_renderMaxBounds; +vec2 phaseShift3D(vec3 p, vec2 freq) { + return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); +} -RayShapeIntersection intersectBox(in Ray ray, in vec3 minBound, in vec3 maxBound) -{ - // Consider the box as the intersection of the space between 3 pairs of parallel planes - // Compute the distance along the ray to each plane - vec3 t0 = (minBound - ray.pos) / ray.dir; - vec3 t1 = (maxBound - ray.pos) / ray.dir; +// The cloud texture function derived from Gardner's 1985 paper, +// "Visual Simulation of Clouds." +// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf +const float T0 = 0.6; // contrast of the texture pattern +const float k = 0.1; // computed to produce a maximum value of 1 +const float C0 = 0.8; // coefficient +const float FX0 = 0.6; // frequency X +const float FY0 = 0.6; // frequency Y +const int octaves = 5; - // Identify candidate entries/exits based on distance from ray.pos - vec3 entries = min(t0, t1); - vec3 exits = max(t0, t1); +float T(vec3 point) { + vec2 sum = vec2(0.0); + float Ci = C0; + vec2 FXY = vec2(FX0, FY0); + vec2 PXY = vec2(0.0); + for(int i = 1; i <= octaves; i++) { + PXY = phaseShift3D(point, FXY); + Ci *= 0.707; + FXY *= 2.0; + vec2 sinTerm = sin(FXY * point.xy + PXY); + sum += Ci * sinTerm + vec2(T0); + } + return k * sum.x * sum.y; +} - vec3 directions = sign(ray.dir); +const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, +const float t = 0.4; // fraction of texture shading +const float s = 0.25; // fraction of specular reflection - // The actual intersection points are the furthest entry and the closest exit - float lastEntry = maxComponent(entries); - bvec3 isLastEntry = equal(entries, vec3(lastEntry)); - vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; - vec4 entry = vec4(entryNormal, lastEntry); +float I(float Id, float Is, float It) { + return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; +} - float firstExit = minComponent(exits); - bvec3 isFirstExit = equal(exits, vec3(firstExit)); - vec3 exitNormal = vec3(isLastEntry) * directions; - vec4 exit = vec4(exitNormal, firstExit); +const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); - if (entry.w > exit.w) { - entry.w = NO_HIT; - exit.w = NO_HIT; +vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, + float brightness) { + vec3 cloudPoint, cloudNormal; + if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, + cloudPoint, cloudNormal)) { + return vec4(0.0); } - return RayShapeIntersection(entry, exit); -} + float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection + float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection + float It = T(cloudPoint); // texture function + float intensity = I(Id, Is, It); + vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); -void intersectShape(in Ray ray, inout Intersections ix) -{ - RayShapeIntersection intersection = intersectBox(ray, u_renderMinBounds, u_renderMaxBounds); - setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); -} -`;var sU=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, Intersections, -// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection, -// intersectIntersections -// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, -// intersectFlippedWedge, intersectRegularWedge + vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); + float W = noise.x; + float W2 = noise.y; + float W3 = noise.z; -/* Cylinder defines (set in Scene/VoxelCylinderShape.js) -#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN -#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF -#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO + // The dot product between the cloud's normal and the ray's direction is greatest + // in the center of the ellipsoid's surface. It decreases towards the edge. + // Thus, it is used to blur the areas leading to the edges of the ellipsoid, + // so that no harsh lines appear. -#define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX -#define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN -#define CYLINDER_INTERSECTION_INDEX_ANGLE -*/ + // The first (and biggest) layer of worley noise is then subtracted from this. + // The final result is scaled up so that the base cloud is not too translucent. + float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); + float TR = pow(ndDot, 3.0) - W; // translucency + TR *= 1.3; -// Cylinder uniforms -uniform vec2 u_cylinderRenderRadiusMinMax; -uniform vec2 u_cylinderRenderHeightMinMax; -#if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) - uniform vec2 u_cylinderRenderAngleMinMax; -#endif + // Subtracting the second and third layers of worley noise is more complicated. + // If these layers of noise were simply subtracted from the current translucency, + // the shape derived from the first layer of noise would be completely deleted. + // The erosion of this noise should thus be constricted to the edges of the cloud. + // However, because the edges of the ellipsoid were already blurred away, mapping + // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. + // The value of (0.5 - ndDot) provides the best compromise. + float minusDot = 0.5 - ndDot; -/** - * Find the intersection of a ray with the volume defined by two planes of constant z - */ -RayShapeIntersection intersectHeightBounds(in Ray ray, in vec2 minMaxHeight, in bool convex) -{ - float zPosition = ray.pos.z; - float zDirection = ray.dir.z; + // Even with the previous calculation, subtracting the second layer of wnoise + // erode too much of the cloud. The addition of it, however, will detailed + // volume to the cloud. As long as the noise is only added and not subtracted, + // the results are aesthetically pleasing. - float tmin = (minMaxHeight.x - zPosition) / zDirection; - float tmax = (minMaxHeight.y - zPosition) / zDirection; + // The minusDot product is mapped in a way that it is larger at the edges of + // the ellipsoid, so a subtraction and min operation are used instead of + // an addition and max one. + TR -= min(minusDot * W2, 0.0); - // Normals point outside the volume - float signFlip = convex ? 1.0 : -1.0; - vec4 intersectMin = vec4(0.0, 0.0, -1.0 * signFlip, tmin); - vec4 intersectMax = vec4(0.0, 0.0, 1.0 * signFlip, tmax); + // The third level of worley noise is subtracted from the result, with some + // modifications. First, a scalar is added to minusDot so that the noise + // starts affecting the shape farther away from the center of the ellipsoid's + // surface. Then, it is scaled down so its impact is not too intense. + TR -= 0.8 * (minusDot + 0.25) * W3; - bool topEntry = zDirection < 0.0; - vec4 entry = topEntry ? intersectMax : intersectMin; - vec4 exit = topEntry ? intersectMin : intersectMax; + // The texture function's shading does not correlate with the shape of the cloud + // produced by the layers of noise, so an extra shading scalar is calculated. + // The darkest areas of the cloud are assigned to be where the noise erodes + // the cloud the most. This is then interpolated based on the translucency + // and the diffuse shading term of that point in the cloud. + float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); - return RayShapeIntersection(entry, exit); + // To avoid values that are too dark, this scalar is increased by a small amount + // and clamped so it never goes to zero. + shading = clamp(shading + 0.2, 0.3, 1.0); + + // Finally, the contrast of the cloud's color is increased. + vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); + return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; } -/** - * Find the intersection of a ray with a right cylindrical surface of a given radius - * about the z-axis. - */ -RayShapeIntersection intersectCylinder(in Ray ray, in float radius, in bool convex) -{ - vec2 position = ray.pos.xy; - vec2 direction = ray.dir.xy; +void main() { +#ifdef DEBUG_BILLBOARDS + out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); +#endif + // To avoid calculations with high values, + // we raycast from an arbitrarily smaller space. + vec2 coordinate = v_maximumSize.xy * v_offset; - float a = dot(direction, direction); - float b = dot(position, direction); - float c = dot(position, position) - radius * radius; - float determinant = b * b - a * c; + vec3 ellipsoidScale = 0.82 * v_maximumSize; + vec3 ellipsoidCenter = vec3(0.0); - if (determinant < 0.0) { - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - return RayShapeIntersection(miss, miss); + float zOffset = max(ellipsoidScale.z - 10.0, 0.0); + vec3 eye = vec3(0, 0, -10.0 - zOffset); + vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); + vec3 rayOrigin = eye; +#ifdef DEBUG_ELLIPSOIDS + vec3 point, normal; + if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, + point, normal)) { + out_FragColor = v_brightness * v_color; } - - determinant = sqrt(determinant); - float t1 = (-b - determinant) / a; - float t2 = (-b + determinant) / a; - float signFlip = convex ? 1.0 : -1.0; - vec4 intersect1 = vec4(normalize(position + t1 * direction) * signFlip, 0.0, t1); - vec4 intersect2 = vec4(normalize(position + t2 * direction) * signFlip, 0.0, t2); - - return RayShapeIntersection(intersect1, intersect2); -} - -/** - * Find the intersection of a ray with a right cylindrical solid of given - * radius and height bounds. NOTE: The shape is assumed to be convex. - */ -RayShapeIntersection intersectBoundedCylinder(in Ray ray, in float radius, in vec2 minMaxHeight) -{ - RayShapeIntersection cylinderIntersection = intersectCylinder(ray, radius, true); - RayShapeIntersection heightBoundsIntersection = intersectHeightBounds(ray, minMaxHeight, true); - return intersectIntersections(ray, cylinderIntersection, heightBoundsIntersection); +#else +#ifndef DEBUG_BILLBOARDS + vec4 cloud = drawCloud(rayOrigin, rayDir, + ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); + if(cloud.w < 0.01) { + discard; + } + out_FragColor = cloud; +#endif +#endif } +`;var NU=`#ifdef INSTANCED +in vec2 direction; +#endif +in vec4 positionHighAndScaleX; +in vec4 positionLowAndScaleY; +in vec4 packedAttribute0; +in vec4 packedAttribute1; +in vec4 color; -void intersectShape(Ray ray, inout Intersections ix) -{ - // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. - // Direction is scaled as well to be in sync with position. - ray.pos = ray.pos * 2.0 - 1.0; - ray.dir *= 2.0; +out vec2 v_offset; +out vec3 v_maximumSize; +out vec4 v_color; +out float v_slice; +out float v_brightness; - RayShapeIntersection outerIntersect = intersectBoundedCylinder(ray, u_cylinderRenderRadiusMinMax.y, u_cylinderRenderHeightMinMax); +void main() { + // Unpack attributes. + vec3 positionHigh = positionHighAndScaleX.xyz; + vec3 positionLow = positionLowAndScaleY.xyz; + vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); + float show = packedAttribute0.x; + float brightness = packedAttribute0.y; + vec2 coordinates = packedAttribute0.wz; + vec3 maximumSize = packedAttribute1.xyz; + float slice = packedAttribute1.w; - if (outerIntersect.entry.w == NO_HIT) { - return; - } - - #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) - // When the cylinder is perfectly thin it's necessary to sandwich the - // inner cylinder intersection inside the outer cylinder intersection. - - // Without this special case, - // [outerMin, outerMax, innerMin, innerMax] will bubble sort to - // [outerMin, innerMin, outerMax, innerMax] which will cause the back - // side of the cylinder to be invisible because it will think the ray - // is still inside the inner (negative) cylinder after exiting the - // outer (positive) cylinder. +#ifdef INSTANCED + vec2 dir = direction; +#else + vec2 dir = coordinates; +#endif - // With this special case, - // [outerMin, innerMin, innerMax, outerMax] will bubble sort to - // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + vec2 offset = dir - vec2(0.5, 0.5); + vec2 scaledOffset = scale * offset; + vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); + vec4 positionEC = czm_modelViewRelativeToEye * p; + positionEC.xy += scaledOffset; + + positionEC.xyz *= show; + gl_Position = czm_projection * positionEC; - // Note: If initializeIntersections() changes its sorting function - // from bubble sort to something else, this code may need to change. - RayShapeIntersection innerIntersect = intersectCylinder(ray, 1.0, false); - setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter - setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter - setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit - setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) - RayShapeIntersection innerIntersect = intersectCylinder(ray, u_cylinderRenderRadiusMinMax.x, false); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); - #endif + v_offset = offset; + v_maximumSize = maximumSize; + v_color = color; + v_slice = slice; + v_brightness = brightness; +} +`;var FU=`uniform vec3 u_noiseTextureDimensions; +uniform float u_noiseDetail; +uniform vec3 u_noiseOffset; +in vec2 v_position; - #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) - RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) - RayShapeIntersection wedgeIntersects[2]; - intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax, wedgeIntersects); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); - #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) - RayShapeIntersection wedgeIntersects[2]; - intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x, wedgeIntersects); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); - #endif +float wrap(float value, float rangeLength) { + if(value < 0.0) { + float absValue = abs(value); + float modValue = mod(absValue, rangeLength); + return mod(rangeLength - modValue, rangeLength); + } + return mod(value, rangeLength); } -`;var aU=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, Intersections, -// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection -// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, -// intersectFlippedWedge, intersectRegularWedge -/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF -#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF -#define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE -#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX -#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN -#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX -#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN -*/ +vec3 wrapVec(vec3 value, float rangeLength) { + return vec3(wrap(value.x, rangeLength), + wrap(value.y, rangeLength), + wrap(value.z, rangeLength)); +} -#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) - uniform vec2 u_ellipsoidRenderLongitudeMinMax; -#endif -uniform float u_eccentricitySquared; -uniform vec2 u_ellipsoidRenderLatitudeSinMinMax; -uniform vec2 u_clipMinMaxHeight; +vec3 random3(vec3 p) { + float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); + float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); + return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); +} -RayShapeIntersection intersectZPlane(in Ray ray, in float z) { - float t = -ray.pos.z / ray.dir.z; +// Frequency corresponds to cell size. +// The higher the frequency, the smaller the cell size. +vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { + float textureSliceWidth = u_noiseTextureDimensions.x; + vec3 cell = centerCell + offset; + cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); + cell += floor(u_noiseOffset / u_noiseDetail); + vec3 p = offset + random3(cell); + return p; +} - bool startsOutside = sign(ray.pos.z) == sign(z); - bool entry = (t >= 0.0) != startsOutside; +float worleyNoise(vec3 p, float freq) { + vec3 centerCell = floor(p * freq); + vec3 pointInCell = fract(p * freq); + float shortestDistance = 1000.0; - vec4 intersect = vec4(0.0, 0.0, z, t); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + for(float z = -1.0; z <= 1.0; z++) { + for(float y = -1.0; y <= 1.0; y++) { + for(float x = -1.0; x <= 1.0; x++) { + vec3 offset = vec3(x, y, z); + vec3 point = getWorleyCellPoint(centerCell, offset, freq); - if (entry) { - return RayShapeIntersection(intersect, farSide); - } else { - return RayShapeIntersection(-1.0 * farSide, intersect); + float distance = length(pointInCell - point); + if(distance < shortestDistance) { + shortestDistance = distance; + } + } + } } + + return shortestDistance; } -RayShapeIntersection intersectHeight(in Ray ray, in float relativeHeight, in bool convex) -{ - // Scale the ray by the ellipsoid axes to make it a unit sphere - // Note: approximating ellipsoid + height as an ellipsoid - vec3 radiiCorrection = u_ellipsoidRadiiUv / (u_ellipsoidRadiiUv + relativeHeight); - vec3 position = ray.pos * radiiCorrection; - vec3 direction = ray.dir * radiiCorrection; +const float MAX_FBM_ITERATIONS = 10.0; - float a = dot(direction, direction); // ~ 1.0 (or maybe 4.0 if ray is scaled) - float b = dot(direction, position); // roughly inside [-1.0, 1.0] when zoomed in - float c = dot(position, position) - 1.0; // ~ 0.0 when zoomed in. - float determinant = b * b - a * c; // ~ b * b when zoomed in +float worleyFBMNoise(vec3 p, float octaves, float scale) { + float noise = 0.0; + float freq = 1.0; + float persistence = 0.625; + for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { + if(i >= octaves) { + break; + } - if (determinant < 0.0) { - vec4 miss = vec4(normalize(direction), NO_HIT); - return RayShapeIntersection(miss, miss); + noise += worleyNoise(p * scale, freq * scale) * persistence; + persistence *= 0.5; + freq *= 2.0; } + return noise; +} - determinant = sqrt(determinant); +void main() { + float textureSliceWidth = u_noiseTextureDimensions.x; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + float x = mod(v_position.x, textureSliceWidth); + float y = mod(v_position.y, textureSliceWidth); + float sliceRow = floor(v_position.y / textureSliceWidth); + float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; - // Compute larger root using standard formula - float signB = b < 0.0 ? -1.0 : 1.0; - // The other root may suffer from subtractive cancellation in the standard formula. - // Compute it from the first root instead. - float t1 = (-b - signB * determinant) / a; - float t2 = c / (a * t1); - float tmin = min(t1, t2); - float tmax = max(t1, t2); + vec3 position = vec3(x, y, z); + position /= u_noiseDetail; + float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); + float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); + float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); + out_FragColor = vec4(worley0, worley1, worley2, 1.0); +} +`;var BU=`uniform vec3 u_noiseTextureDimensions; +in vec2 position; - float directionScale = convex ? 1.0 : -1.0; - vec3 d1 = directionScale * normalize(position + tmin * direction); - vec3 d2 = directionScale * normalize(position + tmax * direction); +out vec2 v_position; - return RayShapeIntersection(vec4(d1, tmin), vec4(d2, tmax)); +void main() +{ + gl_Position = vec4(position, 0.1, 1.0); + + float textureSliceWidth = u_noiseTextureDimensions.x; + float noiseTextureRows = u_noiseTextureDimensions.y; + float inverseNoiseTextureRows = u_noiseTextureDimensions.z; + vec2 transformedPos = (position * 0.5) + vec2(0.5); + transformedPos *= textureSliceWidth; + transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; + transformedPos.y *= noiseTextureRows; + v_position = transformedPos; } +`;var kU=`uniform sampler2D u_opaqueDepthTexture; +uniform sampler2D u_translucentDepthTexture; -/** - * Given a circular cone around the z-axis, with apex at the origin, - * find the parametric distance(s) along a ray where that ray intersects - * the cone. - * The cone opening angle is described by the squared cosine of - * its half-angle (the angle between the Z-axis and the surface) - */ -vec2 intersectDoubleEndedCone(in Ray ray, in float cosSqrHalfAngle) +in vec2 v_textureCoordinates; + +void main() { - vec3 o = ray.pos; - vec3 d = ray.dir; - float sinSqrHalfAngle = 1.0 - cosSqrHalfAngle; + float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; + float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; + translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); + out_FragColor = czm_packDepth(translucentDepth); +} +`;var VU=`/** + * Compositing for Weighted Blended Order-Independent Transparency. See: + * - http://jcgt.org/published/0002/02/09/ + * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html + */ - float aSin = d.z * d.z * sinSqrHalfAngle; - float aCos = -dot(d.xy, d.xy) * cosSqrHalfAngle; - float a = aSin + aCos; +uniform sampler2D u_opaque; +uniform sampler2D u_accumulation; +uniform sampler2D u_revealage; - float bSin = d.z * o.z * sinSqrHalfAngle; - float bCos = -dot(o.xy, d.xy) * cosSqrHalfAngle; - float b = bSin + bCos; +in vec2 v_textureCoordinates; - float cSin = o.z * o.z * sinSqrHalfAngle; - float cCos = -dot(o.xy, o.xy) * cosSqrHalfAngle; - float c = cSin + cCos; - // determinant = b * b - a * c. But bSin * bSin = aSin * cSin. - // Avoid subtractive cancellation by expanding to eliminate these terms - float determinant = 2.0 * bSin * bCos + bCos * bCos - aSin * cCos - aCos * cSin - aCos * cCos; +void main() +{ + vec4 opaque = texture(u_opaque, v_textureCoordinates); + vec4 accum = texture(u_accumulation, v_textureCoordinates); + float r = texture(u_revealage, v_textureCoordinates).r; - if (determinant < 0.0) { - return vec2(NO_HIT); - } else if (a == 0.0) { - // Ray is parallel to cone surface - return (b == 0.0) - ? vec2(NO_HIT) // Ray is on cone surface - : vec2(-0.5 * c / b, NO_HIT); - } - - determinant = sqrt(determinant); - - // Compute larger root using standard formula - float signB = b < 0.0 ? -1.0 : 1.0; - float t1 = (-b - signB * determinant) / a; - // The other root may suffer from subtractive cancellation in the standard formula. - // Compute it from the first root instead. - float t2 = c / (a * t1); - float tmin = min(t1, t2); - float tmax = max(t1, t2); - return vec2(tmin, tmax); -} - -/** - * Given a point on a conical surface, find the surface normal at that point. - */ -vec3 getConeNormal(in vec3 p, in bool convex) { - // Start with radial component pointing toward z-axis - vec2 radial = -abs(p.z) * normalize(p.xy); - // Z component points toward opening of cone - float zSign = (p.z < 0.0) ? -1.0 : 1.0; - float z = length(p.xy) * zSign; - // Flip normal if shape is convex - float flip = (convex) ? -1.0 : 1.0; - return normalize(vec3(radial, z) * flip); -} +#ifdef MRT + vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); +#else + vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); +#endif -/** - * Compute the shift between the ellipsoid origin and the apex of a cone of latitude - */ -float getLatitudeConeShift(in float sinLatitude) { - // Find prime vertical radius of curvature: - // the distance along the ellipsoid normal to the intersection with the z-axis - float x2 = u_eccentricitySquared * sinLatitude * sinLatitude; - float primeVerticalRadius = inversesqrt(1.0 - x2); + out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; - // Compute a shift from the origin to the intersection of the cone with the z-axis - return primeVerticalRadius * u_eccentricitySquared * sinLatitude; + if (opaque != czm_backgroundColor) + { + out_FragColor.a = 1.0; + } } +`;var UU=`in vec4 positionEC; -void intersectFlippedCone(in Ray ray, in float cosHalfAngle, out RayShapeIntersection intersections[2]) { - // Undo the scaling from ellipsoid to sphere - ray.pos = ray.pos * u_ellipsoidRadiiUv; - ray.dir = ray.dir * u_ellipsoidRadiiUv; - // Shift the ray to account for the latitude cone not being centered at the Earth center - ray.pos.z += getLatitudeConeShift(cosHalfAngle); - - float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; - vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); +void main() +{ + vec3 position; + vec3 direction; + if (czm_orthographicIn3D == 1.0) + { + vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; + vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom + vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top + position = vec3(mix(minPlane, maxPlane, uv), 0.0); + direction = vec3(0.0, 0.0, -1.0); + } + else + { + position = vec3(0.0); + direction = normalize(positionEC.xyz); + } - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + czm_ray ray = czm_ray(position, direction); - // Initialize output with no intersections - intersections[0].entry = -1.0 * farSide; - intersections[0].exit = farSide; - intersections[1].entry = miss; - intersections[1].exit = miss; + vec3 ellipsoid_center = czm_view[3].xyz; - if (intersect.x == NO_HIT) { - return; + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + if (!czm_isEmpty(intersection)) + { + out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); + } + else + { + discard; } - // Find the points of intersection - float tmin = intersect.x; - float tmax = intersect.y; - vec3 p0 = ray.pos + tmin * ray.dir; - vec3 p1 = ray.pos + tmax * ray.dir; + czm_writeLogDepth(); +} +`;var zU=`in vec4 position; - vec4 intersect0 = vec4(getConeNormal(p0, true), tmin); - vec4 intersect1 = vec4(getConeNormal(p1, true), tmax); +out vec4 positionEC; - bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); - bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); +void main() +{ + positionEC = czm_modelView * position; + gl_Position = czm_modelViewProjection * position; - if (p0InShadowCone && p1InShadowCone) { - // no valid intersections - } else if (p0InShadowCone) { - intersections[0].exit = intersect1; - } else if (p1InShadowCone) { - intersections[0].entry = intersect0; - } else { - intersections[0].exit = intersect0; - intersections[1].entry = intersect1; - intersections[1].exit = farSide; - } + czm_vertexLogDepth(); } +`;var LI=`uniform vec3 u_radii; +uniform vec3 u_oneOverEllipsoidRadiiSquared; -RayShapeIntersection intersectRegularCone(in Ray ray, in float cosHalfAngle, in bool convex) { - // Undo the scaling from ellipsoid to sphere - ray.pos = ray.pos * u_ellipsoidRadiiUv; - ray.dir = ray.dir * u_ellipsoidRadiiUv; - // Shift the ray to account for the latitude cone not being centered at the Earth center - ray.pos.z += getLatitudeConeShift(cosHalfAngle); +in vec3 v_positionEC; - float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; - vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); +vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) +{ + vec3 positionEC = czm_pointAlongRay(ray, intersection); + vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; + vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); + vec3 sphericalNormal = normalize(positionMC / u_radii); + vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates + vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordinates - vec4 miss = vec4(normalize(ray.dir), NO_HIT); - vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + vec2 st = czm_ellipsoidTextureCoordinates(sphericalNormal); + vec3 positionToEyeEC = -positionEC; - if (intersect.x == NO_HIT) { - return RayShapeIntersection(miss, miss); - } + czm_materialInput materialInput; + materialInput.s = st.s; + materialInput.st = st; + materialInput.str = (positionMC + u_radii) / u_radii; + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); + materialInput.positionToEyeEC = positionToEyeEC; + czm_material material = czm_getMaterial(materialInput); - // Find the points of intersection - float tmin = intersect.x; - float tmax = intersect.y; - vec3 p0 = ray.pos + tmin * ray.dir; - vec3 p1 = ray.pos + tmax * ray.dir; +#ifdef ONLY_SUN_LIGHTING + return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); +#else + return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif +} - vec4 intersect0 = vec4(getConeNormal(p0, convex), tmin); - vec4 intersect1 = vec4(getConeNormal(p1, convex), tmax); +void main() +{ + // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii + // in the vertex shader. Only when it is larger than some constant, march along the ray. + // Otherwise perform one intersection test which will be the common case. - bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); - bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + // Test if the ray intersects a sphere with the ellipsoid's maximum radius. + // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test + // may cause false negatives. This will discard fragments before marching the ray forward. + float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; + vec3 direction = normalize(v_positionEC); + vec3 ellipsoidCenter = czm_modelView[3].xyz; - if (p0InShadowCone && p1InShadowCone) { - return RayShapeIntersection(miss, miss); - } else if (p0InShadowCone) { - return RayShapeIntersection(intersect1, farSide); - } else if (p1InShadowCone) { - return RayShapeIntersection(-1.0 * farSide, intersect0); - } else { - return RayShapeIntersection(intersect0, intersect1); - } -} + float t1 = -1.0; + float t2 = -1.0; -void intersectShape(in Ray ray, inout Intersections ix) { - // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. - // Direction is scaled as well to be in sync with position. - ray.pos = ray.pos * 2.0 - 1.0; - ray.dir *= 2.0; + float b = -2.0 * dot(direction, ellipsoidCenter); + float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; - // Outer ellipsoid - RayShapeIntersection outerIntersect = intersectHeight(ray, u_clipMinMaxHeight.y, true); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); + float discriminant = b * b - 4.0 * c; + if (discriminant >= 0.0) { + t1 = (-b - sqrt(discriminant)) * 0.5; + t2 = (-b + sqrt(discriminant)) * 0.5; + } - // Exit early if the outer ellipsoid was missed. - if (outerIntersect.entry.w == NO_HIT) { - return; + if (t1 < 0.0 && t2 < 0.0) { + discard; } - // Inner ellipsoid - RayShapeIntersection innerIntersect = intersectHeight(ray, u_clipMinMaxHeight.x, false); + float t = min(t1, t2); + if (t < 0.0) { + t = 0.0; + } - if (innerIntersect.entry.w == NO_HIT) { - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); - } else { - // When the ellipsoid is large and thin it's possible for floating point math - // to cause the ray to intersect the inner ellipsoid before the outer ellipsoid. - // To prevent this from happening, clamp innerIntersect to outerIntersect and - // sandwich the inner ellipsoid intersection inside the outer ellipsoid intersection. + // March ray forward to intersection with larger sphere and find + czm_ray ray = czm_ray(t * direction, direction); - // Without this special case, - // [outerMin, outerMax, innerMin, innerMax] will bubble sort to - // [outerMin, innerMin, outerMax, innerMax] which will cause the back - // side of the ellipsoid to be invisible because it will think the ray - // is still inside the inner (negative) ellipsoid after exiting the - // outer (positive) ellipsoid. + vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); - // With this special case, - // [outerMin, innerMin, innerMax, outerMax] will bubble sort to - // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); - // Note: If initializeIntersections() changes its sorting function - // from bubble sort to something else, this code may need to change. - innerIntersect.entry.w = max(innerIntersect.entry.w, outerIntersect.entry.w); - innerIntersect.exit.w = min(innerIntersect.exit.w, outerIntersect.exit.w); - setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter - setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter - setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit - setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + if (czm_isEmpty(intersection)) + { + discard; } - // Bottom cone - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) - RayShapeIntersection bottomConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, false); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) - RayShapeIntersection bottomConeIntersection = intersectZPlane(ray, -1.0); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) - RayShapeIntersection bottomConeIntersections[2]; - intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, bottomConeIntersections); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersections[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersections[1]); - #endif - - // Top cone - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) - RayShapeIntersection topConeIntersections[2]; - intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, topConeIntersections); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersections[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersections[1]); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) - RayShapeIntersection topConeIntersection = intersectZPlane(ray, 1.0); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) - RayShapeIntersection topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, false); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); - #endif - - // Wedge - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) - RayShapeIntersection wedgeIntersects[2]; - intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x, wedgeIntersects); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) - RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); - #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) - RayShapeIntersection wedgeIntersects[2]; - intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax, wedgeIntersects); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); - setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); - #endif -} -`;var vE=`// Main intersection function for Voxel scenes. -// See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl -// for the definition of intersectShape. The appropriate function is selected -// based on the VoxelPrimitive shape type, and added to the shader in -// Scene/VoxelRenderResources.js. -// See also IntersectClippingPlane.glsl and IntersectDepth.glsl. -// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, -// getFirstIntersection, initializeIntersections, nextIntersection. - -/* Intersection defines (set in Scene/VoxelRenderResources.js) -#define INTERSECTION_COUNT ### -*/ - -RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { - // Do a ray-shape intersection to find the exact starting and ending points. - intersectShape(ray, ix); - - // Exit early if the positive shape was completely missed or behind the ray. - RayShapeIntersection intersection = getFirstIntersection(ix); - if (intersection.entry.w == NO_HIT) { - // Positive shape was completely missed - so exit early. - return intersection; - } - - // Clipping planes - #if defined(CLIPPING_PLANES) - intersectClippingPlanes(ray, ix); - #endif - - // Depth - #if defined(DEPTH_TEST) - intersectDepth(screenCoord, ray, ix); - #endif - - // Find the first intersection that's in front of the ray - #if (INTERSECTION_COUNT > 1) - initializeIntersections(ix); - for (int i = 0; i < INTERSECTION_COUNT; ++i) { - intersection = nextIntersection(ix); - if (intersection.exit.w > 0.0) { - // Set start to 0.0 when ray is inside the shape. - intersection.entry.w = max(intersection.entry.w, 0.0); - break; - } - } - #else - // Set start to 0.0 when ray is inside the shape. - intersection.entry.w = max(intersection.entry.w, 0.0); - #endif - - return intersection; -} -`;var cU=`/* Box defines (set in Scene/VoxelBoxShape.js) -#define BOX_HAS_SHAPE_BOUNDS -*/ - -#if defined(BOX_HAS_SHAPE_BOUNDS) - uniform vec3 u_boxUvToShapeUvScale; - uniform vec3 u_boxUvToShapeUvTranslate; -#endif - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // For BOX, UV space = shape space, so we can use positionUv as-is, - // and the Jacobian is the identity matrix, except that a step of 1 - // only spans half the shape space [-1, 1], so the identity is scaled. - return PointJacobianT(positionUv, mat3(0.5)); -} + // If the viewer is outside, compute outsideFaceColor, with normals facing outward. + vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return positionShape * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; -#else - return positionShape; -#endif -} + // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. + vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} + out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); + out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); -vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; +#if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) + t = (intersection.start != 0.0) ? intersection.start : intersection.stop; + vec3 positionEC = czm_pointAlongRay(ray, t); + vec4 positionCC = czm_projection * vec4(positionEC, 1.0); +#ifdef LOG_DEPTH + czm_writeLogDepth(1.0 + positionCC.w); #else - return shapeUv; -#endif -} + float z = positionCC.z / positionCC.w; -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { -#if defined(BOX_HAS_SHAPE_BOUNDS) - return shapeUv / u_boxUvToShapeUvScale; -#else - return shapeUv; -#endif -}`;var lU=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) -#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS -#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY -#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED -*/ + float n = czm_depthRange.near; + float f = czm_depthRange.far; -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset -#endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) - uniform vec2 u_cylinderShapeUvAngleMinMax; + gl_FragDepth = (z * (f - n) + f + n) * 0.5; #endif -#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) - uniform float u_cylinderShapeUvAngleRangeZeroMid; #endif - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // Convert from Cartesian UV space [0, 1] to Cartesian local space [-1, 1] - vec3 position = positionUv * 2.0 - 1.0; - - float radius = length(position.xy); // [0, 1] - vec3 radial = normalize(vec3(position.xy, 0.0)); - - // Shape space height is defined within [0, 1] - float height = positionUv.z; // [0, 1] - vec3 z = vec3(0.0, 0.0, 1.0); - - float angle = atan(position.y, position.x); - vec3 east = normalize(vec3(-position.y, position.x, 0.0)); - - vec3 point = vec3(radius, height, angle); - mat3 jacobianT = mat3(radial, z, east / length(position.xy)); - return PointJacobianT(point, jacobianT); } +`;var NI=`in vec3 position; -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { - float radius = positionShape.x; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; - #endif - - float height = positionShape.y; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; - #endif - - float angle = (positionShape.z + czm_pi) / czm_twoPi; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) - // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. - angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); - #endif - - // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) - angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; - #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) - angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; - #endif - - angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; - #endif - - return vec3(radius, height, angle); -} +uniform vec3 u_radii; -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} +out vec3 v_positionEC; -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { - float radius = shapeUv.x; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) - radius /= u_cylinderUvToShapeUvRadius.x; - #endif +void main() +{ + // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. + // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, + // but doing it here allows us to change the radii without rewriting the vertex data, and + // allows all ellipsoids to reuse the same vertex data. + vec4 p = vec4(u_radii * position, 1.0); - float height = shapeUv.y; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) - height /= u_cylinderUvToShapeUvHeight.x; - #endif + v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates + gl_Position = czm_modelViewProjection * p; // position in clip coordinates - float angle = shapeUv.z * czm_twoPi; - #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) - angle /= u_cylinderUvToShapeUvAngle.x; - #endif + // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums + // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the + // ellipsoid (does not write depth) that was rendered in the farther frustum. + // + // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates + // artifacts since some fragments can be alpha blended twice. This is solved by only rendering + // the ellipsoid in the closest frustum to the viewer. + gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); - return vec3(radius, height, angle); + czm_vertexLogDepth(); } -`;var uU=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY -#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED -#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE -*/ - -uniform vec3 u_ellipsoidRadiiUv; // [0,1] -uniform vec2 u_evoluteScale; // (radiiUv.x ^ 2 - radiiUv.z ^ 2) * vec2(1.0, -1.0) / radiiUv; -uniform vec3 u_ellipsoidInverseRadiiSquaredUv; -#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) - uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; -#endif -#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset -#endif -#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset -#endif -uniform float u_ellipsoidInverseHeightDifferenceUv; - -// robust iterative solution without trig functions -// https://github.com/0xfaded/ellipse_demo/issues/1 -// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse -// Extended to return radius of curvature along with the point -vec3 nearestPointAndRadiusOnEllipse(vec2 pos, vec2 radii) { - vec2 p = abs(pos); - vec2 inverseRadii = 1.0 / radii; - - // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) - // but store the cos and sin of t in a vec2 for efficiency. - // Initial guess: t = pi/4 - vec2 tTrigs = vec2(0.7071067811865476); - // Initial guess of point on ellipsoid - vec2 v = radii * tTrigs; - // Center of curvature of the ellipse at v - vec2 evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; - - const int iterations = 3; - for (int i = 0; i < iterations; ++i) { - // Find the (approximate) intersection of p - evolute with the ellipsoid. - vec2 q = normalize(p - evolute) * length(v - evolute); - // Update the estimate of t. - tTrigs = (q + evolute) * inverseRadii; - tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); - v = radii * tTrigs; - evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; - } - - return vec3(v * sign(pos), length(v - evolute)); -} - -PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { - // Convert from UV space [0, 1] to local space [-1, 1] - vec3 position = positionUv * 2.0 - 1.0; - // Undo the scaling from ellipsoid to sphere - position = position * u_ellipsoidRadiiUv; - - float longitude = atan(position.y, position.x); - vec3 east = normalize(vec3(-position.y, position.x, 0.0)); - - // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) - // (assume radii.y == radii.x) and find the nearest point on the ellipse and its normal - float distanceFromZAxis = length(position.xy); - vec2 posEllipse = vec2(distanceFromZAxis, position.z); - vec3 surfacePointAndRadius = nearestPointAndRadiusOnEllipse(posEllipse, u_ellipsoidRadiiUv.xz); - vec2 surfacePoint = surfacePointAndRadius.xy; - - vec2 normal2d = normalize(surfacePoint * u_ellipsoidInverseRadiiSquaredUv.xz); - float latitude = atan(normal2d.y, normal2d.x); - vec3 north = vec3(-normal2d.y * normalize(position.xy), abs(normal2d.x)); - - float heightSign = length(posEllipse) < length(surfacePoint) ? -1.0 : 1.0; - float height = heightSign * length(posEllipse - surfacePoint); - vec3 up = normalize(cross(east, north)); - - vec3 point = vec3(longitude, latitude, height); - mat3 jacobianT = mat3(east / distanceFromZAxis, north / (surfacePointAndRadius.z + height), up); - return PointJacobianT(point, jacobianT); -} - -vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { - // Longitude: shift & scale to [0, 1] - float longitude = (positionShape.x + czm_pi) / czm_twoPi; - - // Correct the angle when max < min - // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) - longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); - #endif - - // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) - longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; - #endif - #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) - longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; - #endif - - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; - #endif - - // Latitude: shift and scale to [0, 1] - float latitude = (positionShape.y + czm_piOverTwo) / czm_pi; - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; - #endif - - // Height: scale to the range [0, 1] - float height = 1.0 + positionShape.z * u_ellipsoidInverseHeightDifferenceUv; - - return vec3(longitude, latitude, height); -} - -PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { - PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); - pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); - return pointJacobian; -} - -vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { - // Convert from [0, 1] to radians [-pi, pi] - float longitude = shapeUv.x * czm_twoPi; - #if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) - longitude /= u_ellipsoidUvToShapeUvLongitude.x; - #endif +`;/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */var HU=`/** + * @license + * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * * Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * * Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * * Neither the name of NVIDIA CORPORATION nor the names of its + * contributors may be used to endorse or promote products derived + * from this software without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ - // Convert from [0, 1] to radians [-pi/2, pi/2] - float latitude = shapeUv.y * czm_pi; - #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) - latitude /= u_ellipsoidUvToShapeUvLatitude.x; - #endif - - float height = shapeUv.z / u_ellipsoidInverseHeightDifferenceUv; +// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples +// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h - return vec3(longitude, latitude, height); -} -`;var fU=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js -#define OCTREE_FLAG_INTERNAL 0 -#define OCTREE_FLAG_LEAF 1 -#define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 +// Steps used to integrate into Cesium: +// * The following defines are set: +// #define FXAA_PC 1 +// #define FXAA_WEBGL_1 1 +// #define FXAA_GREEN_AS_LUMA 1 +// #define FXAA_EARLY_EXIT 1 +// #define FXAA_GLSL_120 1 +// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. +// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace +// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. +// * There are no implicit conversions from ivec* to vec* so replace: +// #define FxaaInt2 ivec2 +// with +// #define FxaaInt2 vec2 +// * The texture2DLod function is only available in vertex shaders so replace: +// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) +// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) +// with +// #define FxaaTexTop(t, p) texture(t, p) +// #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) +// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. +// * The following parameters to FxaaPixelShader are unused and can be removed: +// fxaaConsolePosPos +// fxaaConsoleRcpFrameOpt +// fxaaConsoleRcpFrameOpt2 +// fxaaConsole360RcpFrameOpt2 +// fxaaConsoleEdgeSharpness +// fxaaConsoleEdgeThreshold +// fxaaConsoleEdgeThresholdMi +// fxaaConsole360ConstDir -#define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops +// +// Choose the quality preset. +// This needs to be compiled into the shader as it effects code. +// Best option to include multiple presets is to +// in each shader define the preset, then include this file. +// +// OPTIONS +// ----------------------------------------------------------------------- +// 10 to 15 - default medium dither (10=fastest, 15=highest quality) +// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) +// 39 - no dither, very expensive +// +// NOTES +// ----------------------------------------------------------------------- +// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) +// 13 = about same speed as FXAA 3.9 and better than 12 +// 23 = closest to FXAA 3.9 visually and performance wise +// _ = the lowest digit is directly related to performance +// _ = the highest digit is directly related to style +// +//#define FXAA_QUALITY_PRESET 12 -uniform sampler2D u_octreeInternalNodeTexture; -uniform vec2 u_octreeInternalNodeTexelSizeUv; -uniform int u_octreeInternalNodeTilesPerRow; -#if (SAMPLE_COUNT > 1) -uniform sampler2D u_octreeLeafNodeTexture; -uniform vec2 u_octreeLeafNodeTexelSizeUv; -uniform int u_octreeLeafNodeTilesPerRow; -#endif -struct OctreeNodeData { - int data; - int flag; -}; - -struct TraversalData { - ivec4 octreeCoords; - int parentOctreeIndex; -}; - -struct SampleData { - int megatextureIndex; - ivec4 tileCoords; - vec3 tileUv; - #if (SAMPLE_COUNT > 1) - float weight; - #endif -}; - -// Integer mod: For WebGL1 only -int intMod(in int a, in int b) { - return a - (b * (a / b)); -} -int normU8_toInt(in float value) { - return int(value * 255.0); -} -int normU8x2_toInt(in vec2 value) { - return int(value.x * 255.0) + 256 * int(value.y * 255.0); -} -float normU8x2_toFloat(in vec2 value) { - return float(normU8x2_toInt(value)) / 65535.0; -} - -OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { - vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); - - OctreeNodeData data; - data.data = normU8x2_toInt(texData.xy); - data.flag = normU8x2_toInt(texData.zw); - return data; -} - -OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { - int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; - int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; - int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; - vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); - return getOctreeNodeData(octreeUv); -} +#if (FXAA_QUALITY_PRESET == 10) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 3.0 + #define FXAA_QUALITY_P2 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 11) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 3.0 + #define FXAA_QUALITY_P3 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 12) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 4.0 + #define FXAA_QUALITY_P4 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 13) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 4.0 + #define FXAA_QUALITY_P5 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 14) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 4.0 + #define FXAA_QUALITY_P6 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 15) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 12.0 +#endif +#if (FXAA_QUALITY_PRESET == 20) + #define FXAA_QUALITY_PS 3 + #define FXAA_QUALITY_P0 1.5 + #define FXAA_QUALITY_P1 2.0 + #define FXAA_QUALITY_P2 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 21) + #define FXAA_QUALITY_PS 4 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 22) + #define FXAA_QUALITY_PS 5 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 23) + #define FXAA_QUALITY_PS 6 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 24) + #define FXAA_QUALITY_PS 7 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 3.0 + #define FXAA_QUALITY_P6 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 25) + #define FXAA_QUALITY_PS 8 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 4.0 + #define FXAA_QUALITY_P7 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 26) + #define FXAA_QUALITY_PS 9 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 4.0 + #define FXAA_QUALITY_P8 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 27) + #define FXAA_QUALITY_PS 10 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 4.0 + #define FXAA_QUALITY_P9 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 28) + #define FXAA_QUALITY_PS 11 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 4.0 + #define FXAA_QUALITY_P10 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 29) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.5 + #define FXAA_QUALITY_P2 2.0 + #define FXAA_QUALITY_P3 2.0 + #define FXAA_QUALITY_P4 2.0 + #define FXAA_QUALITY_P5 2.0 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 +#endif +#if (FXAA_QUALITY_PRESET == 39) + #define FXAA_QUALITY_PS 12 + #define FXAA_QUALITY_P0 1.0 + #define FXAA_QUALITY_P1 1.0 + #define FXAA_QUALITY_P2 1.0 + #define FXAA_QUALITY_P3 1.0 + #define FXAA_QUALITY_P4 1.0 + #define FXAA_QUALITY_P5 1.5 + #define FXAA_QUALITY_P6 2.0 + #define FXAA_QUALITY_P7 2.0 + #define FXAA_QUALITY_P8 2.0 + #define FXAA_QUALITY_P9 2.0 + #define FXAA_QUALITY_P10 4.0 + #define FXAA_QUALITY_P11 8.0 +#endif -int getOctreeParentIndex(in int octreeIndex) { - int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; - int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; - vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); - vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); - int parentOctreeIndex = normU8x2_toInt(parentData.xy); - return parentOctreeIndex; -} +#define FxaaBool bool +#define FxaaFloat float +#define FxaaFloat2 vec2 +#define FxaaFloat3 vec3 +#define FxaaFloat4 vec4 +#define FxaaHalf float +#define FxaaHalf2 vec2 +#define FxaaHalf3 vec3 +#define FxaaHalf4 vec4 +#define FxaaInt2 vec2 +#define FxaaTex sampler2D -/** -* Convert a position in the uv-space of the tileset bounding shape -* into the uv-space of a tile within the tileset -*/ -vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { - // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) - float dimAtLevel = exp2(float(octreeCoords.w)); - return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); -} +#define FxaaSat(x) clamp(x, 0.0, 1.0) +#define FxaaTexTop(t, p) texture(t, p) +#define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) -vec3 getClampedTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { - vec3 tileUv = getTileUv(shapePosition, octreeCoords); - return clamp(tileUv, vec3(0.0), vec3(1.0)); -} - -void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { - sampleData.megatextureIndex = data.data; - sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; -} - -#if (SAMPLE_COUNT > 1) -void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { - int leafIndex = data.data; - int leafNodeTexelCount = 2; - // Adding 0.5 moves to the center of the texel - float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; - float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; - - // Get an interpolation weight and a flag to determine whether to read the parent texture - vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); - vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); - float lerp = normU8x2_toFloat(leafData0.xy); - sampleDatas[0].weight = 1.0 - lerp; - sampleDatas[1].weight = lerp; - // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT - sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; - sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) - ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) - : octreeCoords; - - // Get megatexture indices for both samples - vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); - vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); - sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); - sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); -} -#endif - -OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { - float sizeAtLevel = exp2(-1.0 * float(traversalData.octreeCoords.w)); - vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; - vec3 end = start + vec3(sizeAtLevel); - OctreeNodeData childData; - - for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { - // Find out which octree child contains the position - // 0 if before center, 1 if after - vec3 center = 0.5 * (start + end); - vec3 childCoord = step(center, shapePosition); - - // Get octree coords for the next level down - ivec4 octreeCoords = traversalData.octreeCoords; - traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); - - childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); - - if (childData.flag != OCTREE_FLAG_INTERNAL) { - // leaf tile - stop traversing - break; - } - - // interior tile - keep going deeper - start = mix(start, center, childCoord); - end = mix(center, end, childCoord); - traversalData.parentOctreeIndex = childData.data; - } - - return childData; -} - -/** -* Transform a given position to an octree tile coordinate and a position within that tile, -* and find the corresponding megatexture index and texture coordinates -*/ -void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { - traversalData.octreeCoords = ivec4(0); - traversalData.parentOctreeIndex = 0; - - OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); - if (nodeData.flag != OCTREE_FLAG_LEAF) { - nodeData = traverseOctreeDownwards(shapePosition, traversalData); - } - - #if (SAMPLE_COUNT == 1) - getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - #else - getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); - #endif -} - -bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { - return clamp(v, minVal, maxVal) == v; -} - -bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { - vec3 tileUv = getTileUv(shapePosition, octreeCoords); - bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); - // Assume (!) the position is always inside the root tile. - return inside || octreeCoords.w == 0; -} - -void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { - if (insideTile(shapePosition, traversalData.octreeCoords)) { - for (int i = 0; i < SAMPLE_COUNT; i++) { - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - } - return; - } - - // Go up tree until we find a parent tile containing shapePosition - for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { - traversalData.octreeCoords.xyz /= 2; - traversalData.octreeCoords.w -= 1; - - if (insideTile(shapePosition, traversalData.octreeCoords)) { - break; - } - - traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); - } - - // Go down tree - OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); - - #if (SAMPLE_COUNT == 1) - getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - #else - getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); - sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); - sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); - #endif -} -`;var dU=`// See Octree.glsl for the definitions of SampleData and intMod - -/* Megatexture defines (set in Scene/VoxelRenderResources.js) -#define SAMPLE_COUNT ### -#define NEAREST_SAMPLING -#define PADDING -*/ - -uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions -uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions -uniform vec2 u_megatextureVoxelSizeUv; -uniform vec2 u_megatextureSliceSizeUv; -uniform vec2 u_megatextureTileSizeUv; - -uniform ivec3 u_dimensions; // does not include padding -#if defined(PADDING) - uniform ivec3 u_paddingBefore; - uniform ivec3 u_paddingAfter; -#endif - -// Integer min, max, clamp: For WebGL1 only -int intMin(int a, int b) { - return a <= b ? a : b; -} -int intMax(int a, int b) { - return a >= b ? a : b; -} -int intClamp(int v, int minVal, int maxVal) { - return intMin(intMax(v, minVal), maxVal); -} - -vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) -{ - int indexX = intMod(index, dimensions.x); - int indexY = index / dimensions.x; - return vec2(indexX, indexY) * uvScale; -} - -/* - How is 3D data stored in a 2D megatexture? - - In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). - The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and - the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). - Note that there could be empty space in the megatexture because it's a power of two. - - 0 1 2 3 - +---+---+---+---+ - | | | | | 3 - +---+---+---+---+ - | | | | | 2 - +-------+-------+ - |010|110|011|111| 1 - |--- ---|--- ---| - |000|100|001|101| 0 - +-------+-------+ - - When doing linear interpolation the megatexture needs to be sampled twice: once for - the Z slice above the voxel coordinate and once for the slice below. The two slices - are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is - halfway between two Z slices so the interpolation factor is 0.5. Below is a side view - of the 3D voxel grid with voxel coordinates on the left side. - - 2 +---+ - |001| - 1 +-z-+ - |000| - 0 +---+ - - When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. -*/ - -Properties getPropertiesFromMegatexture(in SampleData sampleData) { - int tileIndex = sampleData.megatextureIndex; - vec3 voxelCoord = sampleData.tileUv * vec3(u_dimensions); - ivec3 voxelDimensions = u_dimensions; - - #if defined(PADDING) - voxelDimensions += u_paddingBefore + u_paddingAfter; - voxelCoord += vec3(u_paddingBefore); - #endif - - #if defined(NEAREST_SAMPLING) - // Round to the center of the nearest voxel - voxelCoord = floor(voxelCoord) + vec3(0.5); - #endif - - // Tile location - vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); - - // Slice location - float slice = voxelCoord.z - 0.5; - int sliceIndex = int(floor(slice)); - int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); - vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); - - // Voxel location - vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; - - // Final location in the megatexture - vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; - - #if defined(NEAREST_SAMPLING) - return getPropertiesFromMegatextureAtUv(uv0); - #else - float sliceLerp = fract(slice); - int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); - vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); - vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; - Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); - Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); - return mixProperties(properties0, properties1, sliceLerp); - #endif -} - -// Convert an array of sample datas to a final weighted properties. -Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { - #if (SAMPLE_COUNT == 1) - return getPropertiesFromMegatexture(sampleDatas[0]); - #else - // When more than one sample is taken the accumulator needs to start at 0 - Properties properties = clearProperties(); - for (int i = 0; i < SAMPLE_COUNT; ++i) { - float weight = sampleDatas[i].weight; - - // Avoid reading the megatexture when the weight is 0 as it can be costly. - if (weight > 0.0) { - Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); - tempProperties = scaleProperties(tempProperties, weight); - properties = sumProperties(properties, tempProperties); - } - } - return properties; - #endif -} -`;function Uot(e){let t=new ST;this.shaderBuilder=t;let n=e._customShader,i=xt(e._uniformMap,n.uniformMap);e._uniformMap=i;let o=n.uniforms;for(let p in o)if(o.hasOwnProperty(p)){let g=o[p];t.addUniform(g.type,p,pe.FRAGMENT)}t.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",pe.FRAGMENT),this.uniformMap=i;let r=e._clippingPlanes,s=l(r)&&r.enabled?r.length:0;this.clippingPlanes=r,this.clippingPlanesLength=s,t.addVertexLines([tU]),t.addFragmentLines([n.fragmentShaderText,"#line 0",fU,JV,nU,dU]),s>0&&(t.addDefine("CLIPPING_PLANES",void 0,pe.FRAGMENT),t.addDefine("CLIPPING_PLANES_COUNT",s,pe.FRAGMENT),r.unionClippingRegions&&t.addDefine("CLIPPING_PLANES_UNION",void 0,pe.FRAGMENT),t.addFragmentLines([oU])),e._depthTest&&(t.addDefine("DEPTH_TEST",void 0,pe.FRAGMENT),t.addFragmentLines([iU]));let a=e._provider.shape;a==="BOX"?t.addFragmentLines([cU,rU,vE]):a==="CYLINDER"?t.addFragmentLines([lU,TI,sU,vE]):a==="ELLIPSOID"&&(t.addDefine("SHAPE_ELLIPSOID",void 0,pe.FRAGMENT),t.addFragmentLines([uU,TI,aU,vE])),t.addFragmentLines([eU]);let c=e._shape,u=c.shaderDefines;for(let p in u)if(u.hasOwnProperty(p)){let g=u[p];l(g)&&(g=g===!0?void 0:g,t.addDefine(p,g,pe.FRAGMENT))}let f=c.shaderMaximumIntersectionsLength;s>0&&(t.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",f,pe.FRAGMENT),s===1?f+=1:r.unionClippingRegions?f+=2:f+=1),e._depthTest&&(t.addDefine("DEPTH_INTERSECTION_INDEX",f,pe.FRAGMENT),f+=1),t.addDefine("INTERSECTION_COUNT",f,pe.FRAGMENT),(!h.equals(e.paddingBefore,h.ZERO)||!h.equals(e.paddingAfter,h.ZERO))&&t.addDefine("PADDING",void 0,pe.FRAGMENT),e._useLogDepth&&t.addDefine("LOG_DEPTH_READ_ONLY",void 0,pe.FRAGMENT),e._nearestSampling&&t.addDefine("NEAREST_SAMPLING",void 0,pe.FRAGMENT);let d=e._traversal;t.addDefine("SAMPLE_COUNT",`${d._sampleCount}`,pe.FRAGMENT)}var hU=Uot;function zot(e,t){let{shaderBuilder:n}=e,{names:i,types:o,componentTypes:r,minimumValues:s,maximumValues:a}=t._provider,c=o.length,u=l(s)&&l(a);n.addDefine("METADATA_COUNT",c,pe.FRAGMENT),u&&n.addDefine("STATISTICS",void 0,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],L=o[R],_=`PropertyStatistics_${M}`,E=`PropertyStatistics_${M}`;n.addStruct(_,E,pe.FRAGMENT);let v=mU(L);n.addStructField(_,v,"min"),n.addStructField(_,v,"max")}let f="Statistics",d="Statistics",p="statistics";n.addStruct(f,d,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],L=`PropertyStatistics_${M}`,_=M;n.addStructField(f,L,_)}let g="Metadata",m="Metadata",x="metadata";n.addStruct(g,m,pe.FRAGMENT),n.addStructField(g,d,p);for(let R=0;R<c;R++){let M=i[R],L=o[R],_=mU(L);n.addStructField(g,_,M)}for(let R=0;R<c;R++){let M=i[R],L=o[R],_=Got(L),E=`VoxelProperty_${M}`,v=`VoxelProperty_${M}`;n.addStruct(E,v,pe.FRAGMENT),n.addStructField(E,_,"partialDerivativeLocal"),n.addStructField(E,_,"partialDerivativeWorld"),n.addStructField(E,_,"partialDerivativeView"),n.addStructField(E,_,"partialDerivativeValid")}let b="Voxel",T="Voxel",C="voxel";n.addStruct(b,T,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],L=`VoxelProperty_${M}`;n.addStructField(b,L,M)}n.addStructField(b,"vec3","positionEC"),n.addStructField(b,"vec3","positionUv"),n.addStructField(b,"vec3","positionShapeUv"),n.addStructField(b,"vec3","positionUvLocal"),n.addStructField(b,"vec3","viewDirUv"),n.addStructField(b,"vec3","viewDirWorld"),n.addStructField(b,"vec3","surfaceNormal"),n.addStructField(b,"float","travelDistance"),n.addStructField(b,"int","stepCount"),n.addStructField(b,"int","tileIndex"),n.addStructField(b,"int","sampleIndex");let A="FragmentInput";n.addStruct(A,"FragmentInput",pe.FRAGMENT),n.addStructField(A,m,x),n.addStructField(A,T,C);let w="Properties",D="Properties",O="properties";n.addStruct(w,D,pe.FRAGMENT);for(let R=0;R<c;R++){let M=i[R],L=o[R],_=mU(L);n.addStructField(w,_,M)}{let R="clearProperties";n.addFunction(R,`${D} clearProperties()`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let L=i[M],_=o[M],E=r[M],v=mU(_,E);n.addFunctionLines(R,[`${O}.${L} = ${v}(0.0);`])}n.addFunctionLines(R,[`return ${O};`])}{let R="sumProperties";n.addFunction(R,`${D} sumProperties(${D} propertiesA, ${D} propertiesB)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let L=i[M];n.addFunctionLines(R,[`${O}.${L} = propertiesA.${L} + propertiesB.${L};`])}n.addFunctionLines(R,[`return ${O};`])}{let R="scaleProperties";n.addFunction(R,`${D} scaleProperties(${D} ${O}, float scale)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} scaledProperties = ${O};`]);for(let M=0;M<c;M++){let L=i[M];n.addFunctionLines(R,[`scaledProperties.${L} *= scale;`])}n.addFunctionLines(R,["return scaledProperties;"])}{let R="mixProperties";n.addFunction(R,`${D} mixProperties(${D} propertiesA, ${D} propertiesB, float mixFactor)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let L=i[M];n.addFunctionLines(R,[`${O}.${L} = mix(propertiesA.${L}, propertiesB.${L}, mixFactor);`])}n.addFunctionLines(R,[`return ${O};`])}{let R="copyPropertiesToMetadata";n.addFunction(R,`void copyPropertiesToMetadata(in ${D} ${O}, inout ${m} ${x})`,pe.FRAGMENT);for(let M=0;M<c;M++){let L=i[M];n.addFunctionLines(R,[`${x}.${L} = ${O}.${L};`])}}if(u){let R="setStatistics";n.addFunction(R,`void setStatistics(inout ${d} ${p})`,pe.FRAGMENT);for(let M=0;M<c;M++){let L=i[M],_=o[M],E=Et.getComponentCount(_);for(let v=0;v<E;v++){let I=Wot(_,v),N=s[M][v],B=a[M][v];n.addFunctionLines(R,[`${p}.${L}.min${I} = ${x_e(N)};`,`${p}.${L}.max${I} = ${x_e(B)};`])}}}{let R="getPropertiesFromMegatextureAtUv";n.addFunction(R,`${D} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,pe.FRAGMENT),n.addFunctionLines(R,[`${D} ${O};`]);for(let M=0;M<c;M++){let L=i[M],_=o[M],E=r[M],v=Hot(_,E);n.addFunctionLines(R,[`properties.${L} = texture(u_megatextureTextures[${M}], texcoord)${v};`])}n.addFunctionLines(R,[`return ${O};`])}}function mU(e){if(e===Et.SCALAR)return"float";if(e===Et.VEC2)return"vec2";if(e===Et.VEC3)return"vec3";if(e===Et.VEC4)return"vec4"}function Hot(e){if(e===Et.SCALAR)return".r";if(e===Et.VEC2)return".ra";if(e===Et.VEC3)return".rgb";if(e===Et.VEC4)return""}function Got(e){if(e===Et.SCALAR)return"vec3";if(e===Et.VEC2)return"mat2";if(e===Et.VEC3)return"mat3";if(e===Et.VEC4)return"mat4"}function x_e(e){let t=e.toString();return t.indexOf(".")===-1&&(t=`${e}.0`),t}function Wot(e,t){return e===Et.SCALAR?"":`[${t}]`}var pU=zot;function jot(e,t){let n=new hU(e);pU(n,e);let{shaderBuilder:i,clippingPlanes:o,clippingPlanesLength:r}=n;if(r>0){let T="getClippingPlane",C=ky(o,t),A=0,S=C.indexOf(")")+1,w=C.indexOf("{",S)+1,D=C.indexOf("}",w),O=C.slice(A,S),R=C.slice(w,D);i.addFunction(T,O,pe.FRAGMENT),i.addFunctionLines(T,[R])}let s=i.clone();s.addDefine("PICKING",void 0,pe.FRAGMENT);let a=i.clone();a.addDefine("PICKING_VOXEL",void 0,pe.FRAGMENT);let c=i.buildShaderProgram(t),u=s.buildShaderProgram(t),f=a.buildShaderProgram(t),d=ze.fromCache({cull:{enabled:!0,face:yi.BACK},depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND}),p=t.getViewportQuadVertexArray(),g=e._depthTest,m=new et({vertexArray:p,primitiveType:Fe.TRIANGLES,renderState:d,shaderProgram:c,uniformMap:n.uniformMap,modelMatrix:e._compoundModelMatrix,pass:Se.VOXELS,executeInClosestFrustum:!0,owner:this,cull:g,occlude:g}),x=et.shallowClone(m,new et);x.shaderProgram=u,x.pickOnly=!0;let b=et.shallowClone(m,new et);if(b.shaderProgram=f,b.pickOnly=!0,l(e._drawCommand)){let T=e._drawCommand;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPick)){let T=e._drawCommandPick;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPickVoxel)){let T=e._drawCommandPickVoxel;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}e._drawCommand=m,e._drawCommandPick=x,e._drawCommandPickVoxel=b}var _U=jot;function Dm(e){e=y(e,y.EMPTY_OBJECT),this.left=e.left,this._left=void 0,this.right=e.right,this._right=void 0,this.top=e.top,this._top=void 0,this.bottom=e.bottom,this._bottom=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this._cullingVolume=new ys,this._perspectiveMatrix=new F,this._infinitePerspective=new F}function EY(e){let{top:t,bottom:n,right:i,left:o,near:r,far:s}=e;(t!==e._top||n!==e._bottom||o!==e._left||i!==e._right||r!==e._near||s!==e._far)&&(e._left=o,e._right=i,e._top=t,e._bottom=n,e._near=r,e._far=s,e._perspectiveMatrix=F.computePerspectiveOffCenter(o,i,n,t,r,s,e._perspectiveMatrix),e._infinitePerspective=F.computeInfinitePerspectiveOffCenter(o,i,n,t,r,e._infinitePerspective))}Object.defineProperties(Dm.prototype,{projectionMatrix:{get:function(){return EY(this),this._perspectiveMatrix}},infiniteProjectionMatrix:{get:function(){return EY(this),this._infinitePerspective}}});var qot=new h,Yot=new h,Xot=new h,Kot=new h;Dm.prototype.computeCullingVolume=function(e,t,n){let i=this._cullingVolume.planes,o=this.top,r=this.bottom,s=this.right,a=this.left,c=this.near,u=this.far,f=h.cross(t,n,qot),d=Yot;h.multiplyByScalar(t,c,d),h.add(e,d,d);let p=Xot;h.multiplyByScalar(t,u,p),h.add(e,p,p);let g=Kot;h.multiplyByScalar(f,a,g),h.add(d,g,g),h.subtract(g,e,g),h.normalize(g,g),h.cross(g,n,g),h.normalize(g,g);let m=i[0];return l(m)||(m=i[0]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(f,s,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(n,g,g),h.normalize(g,g),m=i[1],l(m)||(m=i[1]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,r,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(f,g,g),h.normalize(g,g),m=i[2],l(m)||(m=i[2]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),h.multiplyByScalar(n,o,g),h.add(d,g,g),h.subtract(g,e,g),h.cross(g,f,g),h.normalize(g,g),m=i[3],l(m)||(m=i[3]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,e),m=i[4],l(m)||(m=i[4]=new oe),m.x=t.x,m.y=t.y,m.z=t.z,m.w=-h.dot(t,d),h.negate(t,g),m=i[5],l(m)||(m=i[5]=new oe),m.x=g.x,m.y=g.y,m.z=g.z,m.w=-h.dot(g,p),this._cullingVolume};Dm.prototype.getPixelDimensions=function(e,t,n,i,o){EY(this);let r=1/this.near,s=this.top*r,a=2*i*n*s/t;s=this.right*r;let c=2*i*n*s/e;return o.x=c,o.y=a,o};Dm.prototype.clone=function(e){return l(e)||(e=new Dm),e.right=this.right,e.left=this.left,e.top=this.top,e.bottom=this.bottom,e.near=this.near,e.far=this.far,e._left=void 0,e._right=void 0,e._top=void 0,e._bottom=void 0,e._near=void 0,e._far=void 0,e};Dm.prototype.equals=function(e){return l(e)&&e instanceof Dm&&this.right===e.right&&this.left===e.left&&this.top===e.top&&this.bottom===e.bottom&&this.near===e.near&&this.far===e.far};Dm.prototype.equalsEpsilon=function(e,t,n){return e===this||l(e)&&e instanceof Dm&&P.equalsEpsilon(this.right,e.right,t,n)&&P.equalsEpsilon(this.left,e.left,t,n)&&P.equalsEpsilon(this.top,e.top,t,n)&&P.equalsEpsilon(this.bottom,e.bottom,t,n)&&P.equalsEpsilon(this.near,e.near,t,n)&&P.equalsEpsilon(this.far,e.far,t,n)};var Pl=Dm;function Rl(e){e=y(e,y.EMPTY_OBJECT),this._offCenterFrustum=new Pl,this.fov=e.fov,this._fov=void 0,this._fovy=void 0,this._sseDenominator=void 0,this.aspectRatio=e.aspectRatio,this._aspectRatio=void 0,this.near=y(e.near,1),this._near=this.near,this.far=y(e.far,5e8),this._far=this.far,this.xOffset=y(e.xOffset,0),this._xOffset=this.xOffset,this.yOffset=y(e.yOffset,0),this._yOffset=this.yOffset}Rl.packedLength=6;Rl.pack=function(e,t,n){return n=y(n,0),t[n++]=e.fov,t[n++]=e.aspectRatio,t[n++]=e.near,t[n++]=e.far,t[n++]=e.xOffset,t[n]=e.yOffset,t};Rl.unpack=function(e,t,n){return t=y(t,0),l(n)||(n=new Rl),n.fov=e[t++],n.aspectRatio=e[t++],n.near=e[t++],n.far=e[t++],n.xOffset=e[t++],n.yOffset=e[t],n};function Xd(e){if(!(e.fov!==e._fov||e.aspectRatio!==e._aspectRatio||e.near!==e._near||e.far!==e._far||e.xOffset!==e._xOffset||e.yOffset!==e._yOffset))return;e._aspectRatio=e.aspectRatio,e._fov=e.fov,e._fovy=e.aspectRatio<=1?e.fov:Math.atan(Math.tan(e.fov*.5)/e.aspectRatio)*2,e._near=e.near,e._far=e.far,e._sseDenominator=2*Math.tan(.5*e._fovy),e._xOffset=e.xOffset,e._yOffset=e.yOffset;let n=e._offCenterFrustum;n.top=e.near*Math.tan(.5*e._fovy),n.bottom=-n.top,n.right=e.aspectRatio*n.top,n.left=-n.right,n.near=e.near,n.far=e.far,n.right+=e.xOffset,n.left+=e.xOffset,n.top+=e.yOffset,n.bottom+=e.yOffset}Object.defineProperties(Rl.prototype,{projectionMatrix:{get:function(){return Xd(this),this._offCenterFrustum.projectionMatrix}},infiniteProjectionMatrix:{get:function(){return Xd(this),this._offCenterFrustum.infiniteProjectionMatrix}},fovy:{get:function(){return Xd(this),this._fovy}},sseDenominator:{get:function(){return Xd(this),this._sseDenominator}},offCenterFrustum:{get:function(){return Xd(this),this._offCenterFrustum}}});Rl.prototype.computeCullingVolume=function(e,t,n){return Xd(this),this._offCenterFrustum.computeCullingVolume(e,t,n)};Rl.prototype.getPixelDimensions=function(e,t,n,i,o){return Xd(this),this._offCenterFrustum.getPixelDimensions(e,t,n,i,o)};Rl.prototype.clone=function(e){return l(e)||(e=new Rl),e.aspectRatio=this.aspectRatio,e.fov=this.fov,e.near=this.near,e.far=this.far,e._aspectRatio=void 0,e._fov=void 0,e._near=void 0,e._far=void 0,this._offCenterFrustum.clone(e._offCenterFrustum),e};Rl.prototype.equals=function(e){return!l(e)||!(e instanceof Rl)?!1:(Xd(this),Xd(e),this.fov===e.fov&&this.aspectRatio===e.aspectRatio&&this._offCenterFrustum.equals(e._offCenterFrustum))};Rl.prototype.equalsEpsilon=function(e,t,n){return!l(e)||!(e instanceof Rl)?!1:(Xd(this),Xd(e),P.equalsEpsilon(this.fov,e.fov,t,n)&&P.equalsEpsilon(this.aspectRatio,e.aspectRatio,t,n)&&this._offCenterFrustum.equalsEpsilon(e._offCenterFrustum,t,n))};var Si=Rl;var A_e={};function $ot(e,t,n){let i,o,r;if(e instanceof Si){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof Pl)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var Zot=new h,b_e=new h;function E_e(e,t,n,i){if(l(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(u){let f=n(u);if(u<=.5){let p=(f-o)/a;return P.lerp(e,-P.PI_OVER_TWO,p)}let d=(f-r)/c;return P.lerp(-P.PI_OVER_TWO,t,1-d)}}return function(o){return P.lerp(e,t,o)}}function wY(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!l(r)){let a=e.position,c=t,u=e.up,f=e.right,d=e.frustum,p=h.subtract(a,c,Zot),g=h.magnitude(h.multiplyByScalar(u,h.dot(p,u),b_e)),m=h.magnitude(h.multiplyByScalar(f,h.dot(p,f),b_e));r=Math.min($ot(d,g,m)*.2,1e9)}if(s<r){let u=-Math.pow((r-n)*1e6,.125),f=Math.pow((r-i)*1e6,1/8);return function(d){let p=d*(f-u)+u;return-Math.pow(p,8)/1e6+r}}return function(a){return P.lerp(n,i,a)}}function CI(e,t){return P.equalsEpsilon(e,P.TWO_PI,P.EPSILON11)&&(e=0),t>e+Math.PI?e+=P.TWO_PI:t<e-Math.PI&&(e-=P.TWO_PI),e}var S_e=new h;function Qot(e,t,n,i,o,r,s,a){let c=e.camera,u=h.clone(c.position,S_e),f=c.pitch,d=CI(c.heading,i),p=CI(c.roll,r),g=wY(c,n,u.z,n.z,s),m=E_e(f,o,g,a);function x(b){let T=b.time/t;c.setView({orientation:{heading:P.lerp(d,i,T),pitch:m(T),roll:P.lerp(p,r,T)}}),U.lerp(u,n,T,c.position),c.position.z=g(T)}return x}function Jot(e,t){e.longitude<t.longitude?e.longitude+=P.TWO_PI:t.longitude+=P.TWO_PI}function ert(e,t){let n=e.longitude-t.longitude;n<-P.PI?e.longitude+=P.TWO_PI:n>P.PI&&(t.longitude+=P.TWO_PI)}var trt=new fe,nrt=new fe;function irt(e,t,n,i,o,r,s,a,c,u){let f=e.camera,p=e.mapProjection.ellipsoid,g=fe.clone(f.positionCartographic,trt),m=f.pitch,x=CI(f.heading,i),b=CI(f.roll,r),T=p.cartesianToCartographic(n,nrt);g.longitude=P.zeroToTwoPi(g.longitude),T.longitude=P.zeroToTwoPi(T.longitude);let C=!1;if(l(a)){let D=P.zeroToTwoPi(a),O=Math.min(g.longitude,T.longitude),R=Math.max(g.longitude,T.longitude),M=D>=O&&D<=R;if(l(c)){let L=Math.abs(g.longitude-T.longitude),_=P.TWO_PI-L;(M?L:_)<(M?_:L)*c&&!M&&(C=!0)}else M||(C=!0)}C?Jot(g,T):ert(g,T);let A=wY(f,n,g.height,T.height,s),S=E_e(m,o,A,u);function w(){let D=g.longitude,O=T.longitude,R=g.latitude,M=T.latitude;return function(_){let E=_.time/t,v=h.fromRadians(P.lerp(D,O,E),P.lerp(R,M,E),A(E),p);f.setView({destination:v,orientation:{heading:P.lerp(x,i,E),pitch:S(E),roll:P.lerp(b,r,E)}})}}return w()}function ort(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,S_e),u=CI(a.heading,i),f=a.frustum.right-a.frustum.left,d=wY(a,n,f,n.z,s);function p(g){let m=g.time/t;a.setView({orientation:{heading:P.lerp(u,i,m)}}),U.lerp(c,n,m,a.position);let x=d(m),b=a.frustum,T=b.top/b.right,C=(x-(b.right-b.left))*.5;b.right+=C,b.left-=C,b.top=T*b.right,b.bottom=-b.top}return p}var T_e=new fe,rrt=new h;function SY(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function C_e(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}A_e.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===ne.MORPHING)return SY();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,u=t.flyOverLongitudeWeight,f=t.pitchAdjustHeight,d=t.easingFunction;o&&i!==ne.SCENE3D&&(s.cartesianToCartographic(n,T_e),n=r.project(T_e,rrt));let p=e.camera,g=t.endTransform;l(g)&&p._setTransform(g);let m=t.duration;l(m)||(m=Math.ceil(h.distance(p.position,n)/1e6)+2,m=Math.min(m,3));let x=y(t.heading,0),b=y(t.pitch,-P.PI_OVER_TWO),T=y(t.roll,0),C=e.screenSpaceCameraController;C.enableInputs=!1;let A=C_e(C,t.complete),S=C_e(C,t.cancel),w=p.frustum,D=e.mode===ne.SCENE2D;if(D=D&&U.equalsEpsilon(p.position,n,P.EPSILON6),D=D&&P.equalsEpsilon(Math.max(w.right-w.left,w.top-w.bottom),n.z,P.EPSILON6),D=D||e.mode!==ne.SCENE2D&&h.equalsEpsilon(n,p.position,P.EPSILON10),D=D&&P.equalsEpsilon(P.negativePiToPi(x),P.negativePiToPi(p.heading),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(b),P.negativePiToPi(p.pitch),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(T),P.negativePiToPi(p.roll),P.EPSILON10),D)return SY(A,S);let O=new Array(4);if(O[ne.SCENE2D]=ort,O[ne.SCENE3D]=irt,O[ne.COLUMBUS_VIEW]=Qot,m<=0)return SY(function(){O[i](e,1,n,x,b,T,a,c,u,f)({time:1}),typeof A=="function"&&A()},S);let R=O[i](e,m,n,x,b,T,a,c,u,f);if(!l(d)){let M=p.positionCartographic.height,L=i===ne.SCENE3D?s.cartesianToCartographic(n).height:n.z;M>L&&M>11500?d=Yr.CUBIC_OUT:d=Yr.QUINTIC_IN_OUT}return{duration:m,easingFunction:d,startObject:{time:0},stopObject:{time:m},update:R,complete:A,cancel:S}};var gU=A_e;var srt={ROTATE:0,INFINITE_SCROLL:1},Eu=Object.freeze(srt);function Jt(e){this._scene=e,this._transform=F.clone(F.IDENTITY),this._invTransform=F.clone(F.IDENTITY),this._actualTransform=F.clone(F.IDENTITY),this._actualInvTransform=F.clone(F.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new fe,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new Si,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new me,this._moveEnd=new me,this._changed=new me,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this._changedRoll=void 0,this.percentageChanged=.5,this._viewMatrix=new F,this._invViewMatrix=new F,M_e(this),this._mode=ne.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new fe(Math.PI,P.PI_OVER_TWO)),this._max2Dfrustum=void 0,j_e(this,Jt.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*Jt.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}Jt.TRANSFORM_2D=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);Jt.TRANSFORM_2D_INVERSE=F.inverseTransformation(Jt.TRANSFORM_2D,new F);Jt.DEFAULT_VIEW_RECTANGLE=se.fromDegrees(-95,-20,-70,90);Jt.DEFAULT_VIEW_FACTOR=.5;Jt.DEFAULT_OFFSET=new zd(0,-P.PI_OVER_FOUR,0);function M_e(e){F.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),F.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),F.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function art(e){if(!l(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=Ti()):e.timeSinceMoved=Math.max(Ti()-e._lastMovedTimestamp,0)/1e3}}Jt.prototype.canPreloadFlight=function(){return l(this._currentFlight)&&this._mode!==ne.SCENE2D};Jt.prototype._updateCameraChanged=function(){let e=this;if(art(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;l(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%P.TWO_PI;i=i>P.PI?P.TWO_PI-i:i;let o=i/Math.PI;o>t&&(e._changedHeading=n);let r=e.roll;l(e._changedRoll)||(e._changedRoll=r);let s=Math.abs(e._changedRoll-r)%P.TWO_PI;s=s>P.PI?P.TWO_PI-s:s;let a=s/Math.PI;if(a>t&&(e._changedRoll=r),(a>t||o>t)&&e._changed.raiseEvent(Math.max(a,o)),e._mode===ne.SCENE2D){if(!l(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let p=e.position,g=e._changedPosition,m=e.frustum,x=e._changedFrustum,b=p.x+m.left,T=p.x+m.right,C=g.x+x.left,A=g.x+x.right,S=p.y+m.bottom,w=p.y+m.top,D=g.y+x.bottom,O=g.y+x.top,R=Math.max(b,C),M=Math.min(T,A),L=Math.max(S,D),_=Math.min(w,O),E;if(R>=M||L>=w)E=1;else{let v=x;b<C&&T>A&&S<D&&w>O&&(v=m),E=1-(M-R)*(_-L)/((v.right-v.left)*(v.top-v.bottom))}E>t&&(e._changed.raiseEvent(E),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!l(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let c=P.acosClamped(h.dot(e.directionWC,e._changedDirection)),u;l(e.frustum.fovy)?u=c/(e.frustum.fovy*.5):u=c;let d=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(u>t||d>t)&&(e._changed.raiseEvent(Math.max(u,d)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function crt(e){Bt.basisTo2D(e._projection,e._transform,e._actualTransform)}var lrt=new fe,urt=new h,yU=new h,frt=new oe,drt=new oe,hrt=new oe,mrt=new oe,prt=new oe;function _rt(e){let t=e._projection,n=t.ellipsoid,i=F.getColumn(e._transform,3,frt),o=n.cartesianToCartographic(i,lrt),r=t.project(o,urt),s=drt;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=oe.clone(oe.UNIT_X,prt),c=oe.add(F.getColumn(e._transform,0,yU),i,yU);n.cartesianToCartographic(c,o),t.project(o,r);let u=hrt;u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,h.subtract(u,s,u),u.x=0;let f=mrt;if(h.magnitudeSquared(u)>P.EPSILON10)h.cross(a,u,f);else{let d=oe.add(F.getColumn(e._transform,1,yU),i,yU);n.cartesianToCartographic(d,o),t.project(o,r),f.x=r.z,f.y=r.x,f.z=r.y,f.w=0,h.subtract(f,s,f),f.x=0,h.magnitudeSquared(f)<P.EPSILON10&&(oe.clone(oe.UNIT_Y,u),oe.clone(oe.UNIT_Z,f))}h.cross(f,a,u),h.normalize(u,u),h.cross(a,u,f),h.normalize(f,f),F.setColumn(e._actualTransform,0,u,e._actualTransform),F.setColumn(e._actualTransform,1,f,e._actualTransform),F.setColumn(e._actualTransform,2,a,e._actualTransform),F.setColumn(e._actualTransform,3,s,e._actualTransform)}var vY=new h;function lc(e){let t=e._mode,n=!1,i=0;t===ne.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position,r=!h.equals(o,e.position)||n;r&&(o=h.clone(e.position,e._position));let s=e._direction,a=!h.equals(s,e.direction);a&&(h.normalize(e.direction,e.direction),s=h.clone(e.direction,e._direction));let c=e._up,u=!h.equals(c,e.up);u&&(h.normalize(e.up,e.up),c=h.clone(e.up,e._up));let f=e._right,d=!h.equals(f,e.right);d&&(h.normalize(e.right,e.right),f=h.clone(e.right,e._right));let p=e._transformChanged||e._modeChanged;e._transformChanged=!1,p&&(F.inverseTransformation(e._transform,e._invTransform),e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D?F.equals(F.IDENTITY,e._transform)?F.clone(Jt.TRANSFORM_2D,e._actualTransform):e._mode===ne.COLUMBUS_VIEW?crt(e):_rt(e):F.clone(e._transform,e._actualTransform),F.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);let g=e._actualTransform;if(r||p)if(e._positionWC=F.multiplyByPoint(g,o,e._positionWC),t===ne.SCENE3D||t===ne.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{let m=vY;m.x=e._positionWC.y,m.y=e._positionWC.z,m.z=e._positionWC.x,t===ne.SCENE2D&&(m.z=i),e._projection.unproject(m,e._positionCartographic)}if(a||u||d){let m=h.dot(s,h.cross(c,f,vY));if(Math.abs(1-m)>P.EPSILON2){let x=1/h.magnitudeSquared(c),b=h.dot(c,s)*x,T=h.multiplyByScalar(s,b,vY);c=h.normalize(h.subtract(c,T,e._up),e._up),h.clone(c,e.up),f=h.cross(s,c,e._right),h.clone(f,e.right)}}(a||p)&&(e._directionWC=F.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(u||p)&&(e._upWC=F.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(d||p)&&(e._rightWC=F.multiplyByPointAsVector(g,f,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||u||d||p)&&M_e(e)}function L_e(e,t){let n;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)?n=Math.atan2(t.y,t.x)-P.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-P.PI_OVER_TWO,P.TWO_PI-P.zeroToTwoPi(n)}function N_e(e){return P.PI_OVER_TWO-P.acosClamped(e.z)}function F_e(e,t,n){let i=0;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=P.zeroToTwoPi(i+P.TWO_PI)),i}var TU=new F,CU=new F;Object.defineProperties(Jt.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return lc(this),this._invTransform}},viewMatrix:{get:function(){return lc(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return lc(this),this._invViewMatrix}},positionCartographic:{get:function(){return lc(this),this._positionCartographic}},positionWC:{get:function(){return lc(this),this._positionWC}},directionWC:{get:function(){return lc(this),this._directionWC}},upWC:{get:function(){return lc(this),this._upWC}},rightWC:{get:function(){return lc(this),this._rightWC}},heading:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,TU),n=Bt.eastNorthUpToFixedFrame(this.positionWC,e,CU);this._setTransform(n);let i=L_e(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,TU),n=Bt.eastNorthUpToFixedFrame(this.positionWC,e,CU);this._setTransform(n);let i=N_e(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,TU),n=Bt.eastNorthUpToFixedFrame(this.positionWC,e,CU);this._setTransform(n);let i=F_e(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});Jt.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==ne.MORPHING,t=this._mode===ne.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===ne.SCENE2D&&U_e(this,this.position)};var grt=new h,yrt=new h,xrt=new h;Jt.prototype._setTransform=function(e){let t=h.clone(this.positionWC,grt),n=h.clone(this.upWC,yrt),i=h.clone(this.directionWC,xrt);F.clone(e,this._transform),this._transformChanged=!0,lc(this);let o=this._actualInvTransform;F.multiplyByPoint(o,t,this.position),F.multiplyByPointAsVector(o,i,this.direction),F.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),lc(this)};var brt=new U,Trt=new _n,Crt=new h,Art=new h;function B_e(e){if(!F.equals(F.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=brt;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(l(n)){let a=e.getPickRay(i,Trt);o=n.pickWorldCoordinates(a,t,!0,Crt)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,Art));let s;if(l(o)||l(r)){let a=l(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=l(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}Jt.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof an&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=B_e(this)))};var AU=new h,OY=new F,Ert=new F,MY=new Ne,LY=new Z,k_e=new fe;function Srt(e,t,n){let i=F.clone(e.transform,OY),o=Bt.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,Ert);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-P.PI_OVER_TWO;let r=Ne.fromHeadingPitchRoll(n,MY),s=Z.fromQuaternion(r,LY);Z.getColumn(s,0,e.direction),Z.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function wrt(e,t,n,i){let o=F.clone(e.transform,OY);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,k_e);t=a.project(c,AU)}h.clone(t,e.position)}n.heading=n.heading-P.PI_OVER_TWO;let r=Ne.fromHeadingPitchRoll(n,MY),s=Z.fromQuaternion(r,LY);Z.getColumn(s,0,e.direction),Z.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function vrt(e,t,n,i){let o=F.clone(e.transform,OY);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,u=c.ellipsoid.cartesianToCartographic(t,k_e);t=c.project(u,AU)}U.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===Eu.ROTATE){n.heading=n.heading-P.PI_OVER_TWO,n.pitch=-P.PI_OVER_TWO,n.roll=0;let r=Ne.fromHeadingPitchRoll(n,MY),s=Z.fromQuaternion(r,LY);Z.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var Drt=new h,Irt=new h,Prt=new h;function V_e(e,t,n,i){let o=h.clone(n.direction,Drt),r=h.clone(n.up,Irt);if(e._scene.mode===ne.SCENE3D){let a=e._projection.ellipsoid,c=Bt.eastNorthUpToFixedFrame(t,a,TU),u=F.inverseTransformation(c,CU);F.multiplyByPointAsVector(u,o,o),F.multiplyByPointAsVector(u,r,r)}let s=h.cross(o,r,Prt);return i.heading=L_e(o,r),i.pitch=N_e(o),i.roll=F_e(o,r,s),i}var RY={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},DE=new Ga;Jt.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===ne.MORPHING)return;l(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,AU));l(o)&&l(o.west)&&(o=this.getRectangleCameraCoordinates(o,AU),i=!1),l(t.direction)&&(t=V_e(this,o,t,RY.orientation)),DE.heading=y(t.heading,0),DE.pitch=y(t.pitch,-P.PI_OVER_TWO),DE.roll=y(t.roll,0),n===ne.SCENE3D?Srt(this,o,DE):n===ne.SCENE2D?vrt(this,o,DE,i):wrt(this,o,DE,i)};var Rrt=new h;Jt.prototype.flyHome=function(e){let t=this._mode;if(t===ne.MORPHING&&this._scene.completeMorph(),t===ne.SCENE2D)this.flyTo({destination:Jt.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:F.IDENTITY});else if(t===ne.SCENE3D){let n=this.getRectangleCameraCoordinates(Jt.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*Jt.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:F.IDENTITY})}else if(t===ne.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,Rrt).z),roll:0},endTransform:F.IDENTITY,convert:!1})}};Jt.prototype.worldToCameraCoordinates=function(e,t){return l(t)||(t=new oe),lc(this),F.multiplyByVector(this._actualInvTransform,e,t)};Jt.prototype.worldToCameraCoordinatesPoint=function(e,t){return l(t)||(t=new h),lc(this),F.multiplyByPoint(this._actualInvTransform,e,t)};Jt.prototype.worldToCameraCoordinatesVector=function(e,t){return l(t)||(t=new h),lc(this),F.multiplyByPointAsVector(this._actualInvTransform,e,t)};Jt.prototype.cameraToWorldCoordinates=function(e,t){return l(t)||(t=new oe),lc(this),F.multiplyByVector(this._actualTransform,e,t)};Jt.prototype.cameraToWorldCoordinatesPoint=function(e,t){return l(t)||(t=new h),lc(this),F.multiplyByPoint(this._actualTransform,e,t)};Jt.prototype.cameraToWorldCoordinatesVector=function(e,t){return l(t)||(t=new h),lc(this),F.multiplyByPointAsVector(this._actualTransform,e,t)};function U_e(e,t){let n=e._scene.mapMode2D===Eu.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var w_e=new h;Jt.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,w_e),h.add(n,w_e,n),this._mode===ne.SCENE2D&&U_e(this,n),this._adjustOrthographicFrustum(!0)};Jt.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?EU(this,e):this.move(this.direction,e)};Jt.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?EU(this,-e):this.move(this.direction,-e)};Jt.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};Jt.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};Jt.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};Jt.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};Jt.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,-e)};Jt.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,e)};Jt.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,-e)};Jt.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,e)};var Ort=new Ne,Mrt=new Z;Jt.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Ne.fromAxisAngle(e,-n,Ort),o=Z.fromQuaternion(i,Mrt),r=this.direction,s=this.up,a=this.right;Z.multiplyByVector(o,r,r),Z.multiplyByVector(o,s,s),Z.multiplyByVector(o,a,a)};Jt.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};Jt.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var Lrt=new Ne,Nrt=new Z;Jt.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Ne.fromAxisAngle(e,-n,Lrt),o=Z.fromQuaternion(i,Nrt);Z.multiplyByVector(o,this.position,this.position),Z.multiplyByVector(o,this.direction,this.direction),Z.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};Jt.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),z_e(this,e)};Jt.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),z_e(this,-e)};var Frt=new h,Brt=new h,krt=new h,v_e=new h;function z_e(e,t){let n=e.position;if(l(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,P.EPSILON2)){let i=h.normalize(n,Frt),o=h.equalsEpsilon(i,e.constrainedAxis,P.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,v_e),P.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,Brt),a=h.dot(i,s),c=P.acosClamped(a);t>0&&t>c&&(t=c-P.EPSILON4),a=h.dot(i,h.negate(s,v_e)),c=P.acosClamped(a),t<0&&-t>c&&(t=-c+P.EPSILON4);let u=h.cross(s,i,krt);e.rotate(u,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}Jt.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),H_e(this,-e)};Jt.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),H_e(this,e)};function H_e(e,t){l(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function EU(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===Eu.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===Eu.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function G_e(e,t){e.move(e.direction,t)}Jt.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?EU(this,e):G_e(this,e)};Jt.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?EU(this,-e):G_e(this,-e)};Jt.prototype.getMagnitude=function(){if(this._mode===ne.SCENE3D)return h.magnitude(this.position);if(this._mode===ne.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===ne.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var Vrt=new F;Jt.prototype.lookAt=function(e,t){let n=this._scene,i=y(n.ellipsoid,ee.default),o=Bt.eastNorthUpToFixedFrame(e,i,Vrt);this.lookAtTransform(o,t)};var Urt=new h,zrt=new Ne,Hrt=new Ne,Grt=new Z;function W_e(e,t,n){t=P.clamp(t,-P.PI_OVER_TWO,P.PI_OVER_TWO),e=P.zeroToTwoPi(e)-P.PI_OVER_TWO;let i=Ne.fromAxisAngle(h.UNIT_Y,-t,zrt),o=Ne.fromAxisAngle(h.UNIT_Z,-e,Hrt),r=Ne.multiply(o,i,o),s=Z.fromQuaternion(r,Grt),a=h.clone(h.UNIT_X,Urt);return Z.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}Jt.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!l(t))return;let n;if(l(t.heading)?n=W_e(t.heading,t.pitch,t.range):n=t,this._mode===ne.SCENE2D){U.clone(U.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)<P.EPSILON10&&h.clone(h.UNIT_Y,this.up),h.normalize(this.up,this.up),this._setTransform(F.IDENTITY),h.negate(h.UNIT_Z,this.direction),h.cross(this.direction,this.up,this.right),h.normalize(this.right,this.right);let i=this.frustum,o=i.top/i.right;i.right=h.magnitude(n)*.5,i.left=-i.right,i.top=o*i.right,i.bottom=-i.top,this._setTransform(e);return}h.clone(n,this.position),h.negate(this.position,this.direction),h.normalize(this.direction,this.direction),h.cross(this.direction,h.UNIT_Z,this.right),h.magnitudeSquared(this.right)<P.EPSILON10&&h.clone(h.UNIT_X,this.right),h.normalize(this.right,this.right),h.cross(this.right,this.direction,this.up),h.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};var AI=new fe,Wrt=new fe,jrt=new h,qrt=new h,Yrt=new h,Xrt=new h,Krt=new h,$rt=new h,Zrt=new h,DY=new h,Qrt={direction:new h,right:new h,up:new h},D_e;function cc(e,t,n,i){return Math.abs(h.dot(t,n))/i-h.dot(e,n)}function j_e(e,t,n,i){let o=e._projection.ellipsoid,r=i?e:Qrt,{north:s,south:a,west:c}=t,{east:u}=t;c>u&&(u+=P.TWO_PI);let f=(c+u)*.5,d;if(a<-P.PI_OVER_TWO+P.RADIANS_PER_DEGREE&&s>P.PI_OVER_TWO-P.RADIANS_PER_DEGREE)d=0;else{let M=AI;M.longitude=f,M.latitude=s,M.height=0;let L=Wrt;L.longitude=f,L.latitude=a,L.height=0;let _=D_e;(!l(_)||_.ellipsoid!==o)&&(D_e=_=new X_(void 0,void 0,o)),_.setEndPoints(M,L),d=_.interpolateUsingFraction(.5,AI).latitude}let p=AI;p.longitude=f,p.latitude=d,p.height=0;let g=o.cartographicToCartesian(p,Zrt),m=AI;m.longitude=u,m.latitude=s;let x=o.cartographicToCartesian(m,jrt);m.longitude=c;let b=o.cartographicToCartesian(m,Yrt);m.longitude=f;let T=o.cartographicToCartesian(m,Krt);m.latitude=a;let C=o.cartographicToCartesian(m,$rt);m.longitude=u;let A=o.cartographicToCartesian(m,Xrt);m.longitude=c;let S=o.cartographicToCartesian(m,qrt);h.subtract(b,g,b),h.subtract(A,g,A),h.subtract(x,g,x),h.subtract(S,g,S),h.subtract(T,g,T),h.subtract(C,g,C);let w=o.geodeticSurfaceNormal(g,r.direction);h.negate(w,w);let D=h.cross(w,h.UNIT_Z,r.right);h.normalize(D,D);let O=h.cross(D,w,r.up),R;if(e.frustum instanceof an){let M=Math.max(h.distance(x,b),h.distance(A,S)),L=Math.max(h.distance(x,A),h.distance(b,S)),_,E,v=e.frustum._offCenterFrustum,I=v.right/v.top,N=L*I;M>N?(_=M,E=_/I):(E=L,_=N),R=Math.max(_,E)}else{let M=Math.tan(e.frustum.fovy*.5),L=e.frustum.aspectRatio*M;if(R=Math.max(cc(w,O,b,M),cc(w,O,A,M),cc(w,O,x,M),cc(w,O,S,M),cc(w,O,T,M),cc(w,O,C,M),cc(w,D,b,L),cc(w,D,A,L),cc(w,D,x,L),cc(w,D,S,L),cc(w,D,T,L),cc(w,D,C,L)),a<0&&s>0){let _=AI;_.longitude=c,_.latitude=0,_.height=0;let E=o.cartographicToCartesian(_,DY);h.subtract(E,g,E),R=Math.max(R,cc(w,O,E,M),cc(w,D,E,L)),_.longitude=u,E=o.cartographicToCartesian(_,DY),h.subtract(E,g,E),R=Math.max(R,cc(w,O,E,M),cc(w,D,E,L))}}return h.add(g,h.multiplyByScalar(w,-R,DY),n)}var Jrt=new fe,est=new h,tst=new h;function nst(e,t,n){let i=e._projection;t.west>t.east&&(t=se.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=Jrt;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,est);F.multiplyByPoint(o,a,a),F.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,tst);if(F.multiplyByPoint(o,c,c),F.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,l(e.frustum.fovy)){let u=Math.tan(e.frustum.fovy*.5),f=e.frustum.aspectRatio*u;n.z=Math.max((a.x-c.x)/f,(a.y-c.y)/u)*.5}else{let u=a.x-c.x,f=a.y-c.y;n.z=Math.max(u,f)}return n}var ist=new fe,ost=new h,rst=new h;function sst(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===Eu.INFINITE_SCROLL?o+=P.TWO_PI:(t=se.MAX_VALUE,o=t.east));let r=ist;r.longitude=o,r.latitude=t.north;let s=i.project(r,ost);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,rst),c=Math.abs(s.x-a.x)*.5,u=Math.abs(s.y-a.y)*.5,f,d,p=e.frustum.right/e.frustum.top,g=u*p;return c>g?(f=c,d=f/p):(d=u,f=g),u=Math.max(2*f,2*d),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=u,n=i.project(r,n),n}Jt.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(l(t)||(t=new h),n===ne.SCENE3D)return j_e(this,e,t);if(n===ne.COLUMBUS_VIEW)return nst(this,e,t);if(n===ne.SCENE2D)return sst(this,e,t)};var ast=new _n;function cst(e,t,n,i){n=y(n,ee.default);let o=e.getPickRay(t,ast),r=Jn.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return _n.getPoint(o,s,i)}var lst=new _n;function ust(e,t,n,i){let r=e.getPickRay(t,lst).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var fst=new _n;function dst(e,t,n,i){let o=e.getPickRay(t,fst),r=-o.origin.x/o.direction.x;_n.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}Jt.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(l(n)||(n=new h),t=y(t,ee.default),this._mode===ne.SCENE3D)n=cst(this,e,t,n);else if(this._mode===ne.SCENE2D)n=ust(this,e,this._projection,n);else if(this._mode===ne.COLUMBUS_VIEW)n=dst(this,e,this._projection,n);else return;return n}};var hst=new h,mst=new h,pst=new h;function _st(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,u=2/o*t.x-1,f=2/r*(r-t.y)-1,d=e.positionWC;h.clone(d,n.origin);let p=h.multiplyByScalar(e.directionWC,c,hst);h.add(d,p,p);let g=h.multiplyByScalar(e.rightWC,u*c*a,mst),m=h.multiplyByScalar(e.upWC,f*c*s,pst),x=h.add(p,g,n.direction);return h.add(x,m,x),h.subtract(x,d,x),h.normalize(x,x),n}var xU=new h;function gst(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2/o*t.x-1;c*=(s.right-s.left)*.5;let u=2/r*(r-t.y)-1;u*=(s.top-s.bottom)*.5;let f=n.origin;return h.clone(e.position,f),h.multiplyByScalar(e.right,c,xU),h.add(xU,f,f),h.multiplyByScalar(e.up,u,xU),h.add(xU,f,f),h.clone(e.directionWC,n.direction),(e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}Jt.prototype.getPickRay=function(e,t){l(t)||(t=new _n);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return l(i.aspectRatio)&&l(i.fov)&&l(i.near)?_st(this,e,t):gst(this,e,t)};var yst=new h,xst=new h;Jt.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,yst),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),xst);return Math.max(0,h.magnitude(n)-e.radius)};var bst=new U;Jt.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,bst);return Math.max(o.x,o.y)};function Tst(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let u=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(u,e.position)}return{easingFunction:Yr.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var Cst=new h,I_e=new h,Ast=new h,Est=new h;function Sst(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,Cst),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,I_e),I_e);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,Ast);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,u=h.magnitude(h.subtract(n,s,Est)),f=c*u,d=a*u,p=e._maxCoord.x,g=e._maxCoord.y,m=Math.max(f-p,p),x=Math.max(d-g,g);if(n.z<-m||n.z>m||n.y<-x||n.y>x){let b=s.y<-m||s.y>m,T=s.z<-x||s.z>x;if(b||T)return Tst(e,n,s,m,x,t)}}Jt.prototype.createCorrectPositionTween=function(e){if(this._mode===ne.COLUMBUS_VIEW)return Sst(this,e)};var wst=new h,Ws={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};Jt.prototype.cancelFlight=function(){l(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};Jt.prototype.completeFlight=function(){if(l(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=Ws.destination,e.orientation.heading=Ws.heading,e.orientation.pitch=Ws.pitch,e.orientation.roll=Ws.roll,this.setView(e),l(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};Jt.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===ne.MORPHING)return;this.cancelFlight();let i=t instanceof se;i&&(t=this.getRectangleCameraCoordinates(t,wst));let o=y(e.orientation,y.EMPTY_OBJECT);if(l(o.direction)&&(o=V_e(this,t,o,RY.orientation)),l(e.duration)&&e.duration<=0){let f=RY;f.destination=e.destination,f.orientation.heading=o.heading,f.orientation.pitch=o.pitch,f.orientation.roll=o.roll,f.convert=e.convert,f.endTransform=e.endTransform,this.setView(f),typeof e.complete=="function"&&e.complete();return}let r=this,s;Ws.destination=t,Ws.heading=o.heading,Ws.pitch=o.pitch,Ws.roll=o.roll,Ws.duration=e.duration,Ws.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),l(e.complete)&&e.complete()},Ws.cancel=e.cancel,Ws.endTransform=e.endTransform,Ws.convert=i?!1:e.convert,Ws.maximumHeight=e.maximumHeight,Ws.pitchAdjustHeight=e.pitchAdjustHeight,Ws.flyOverLongitude=e.flyOverLongitude,Ws.flyOverLongitudeWeight=e.flyOverLongitudeWeight,Ws.easingFunction=e.easingFunction;let a=this._scene,c=gU.createTween(a,Ws);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let u=this._scene.preloadFlightCamera;this._mode!==ne.SCENE2D&&(l(u)||(u=Jt.clone(this)),u.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=u.frustum.computeCullingVolume(u.positionWC,u.directionWC,u.upWC))};function vst(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function Dst(e,t){let n=e.frustum,i=n.offCenterFrustum;l(i)&&(n=i);let o,r,s=n.right/n.top,a=t*s;return t>a?(o=t,r=o/s):(r=t,o=a),Math.max(o,r)*1.5}var Ist=100;function q_e(e,t,n){n=zd.clone(l(n)?n:Jt.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!l(r)||r===0){let s=t.radius;s===0?n.range=Ist:e.frustum instanceof an||e._mode===ne.SCENE2D?n.range=Dst(e,s):n.range=vst(e,s),n.range=P.clamp(n.range,i,o)}return n}Jt.prototype.viewBoundingSphere=function(e,t){t=q_e(this,e,t),this.lookAt(e.center,t)};var Pst=new F,Rst=new h,Ost=new h,Mst=new h,Lst=new h,Nst=new oe,Fst=new Ne,Bst=new Z;Jt.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===ne.SCENE2D||this._mode===ne.COLUMBUS_VIEW;this._setTransform(F.IDENTITY);let i=q_e(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,Rst):o=W_e(i.heading,i.pitch,i.range);let r=this._scene,s=y(r.ellipsoid,ee.default),a=Bt.eastNorthUpToFixedFrame(e.center,s,Pst);F.multiplyByPoint(a,o,o);let c,u;if(!n){if(c=h.subtract(e.center,o,Ost),h.normalize(c,c),u=F.multiplyByPointAsVector(a,h.UNIT_Z,Mst),1-Math.abs(h.dot(c,u))<P.EPSILON6){let d=Ne.fromAxisAngle(c,i.heading,Fst),p=Z.fromQuaternion(d,Bst);h.fromCartesian4(F.getColumn(a,1,Nst),u),Z.multiplyByVector(p,u,u)}let f=h.cross(c,u,Lst);h.cross(f,c,u),h.normalize(u,u)}this.flyTo({destination:o,orientation:{direction:c,up:u},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var P_e=new h,R_e=new h,IY=new h,O_e=new h,EI=[new h,new h,new h,new h];function kst(e,t){let n=t.radii,i=e.positionWC,o=h.multiplyComponents(t.oneOverRadii,i,P_e),r=h.magnitude(o),s=h.normalize(o,R_e),a,c;h.equalsEpsilon(s,h.UNIT_Z,P.EPSILON10)?(a=new h(0,1,0),c=new h(0,0,1)):(a=h.normalize(h.cross(h.UNIT_Z,s,IY),IY),c=h.normalize(h.cross(s,a,O_e),O_e));let u=Math.sqrt(h.magnitudeSquared(o)-1),f=h.multiplyByScalar(s,1/r,P_e),d=u/r,p=h.multiplyByScalar(a,d,R_e),g=h.multiplyByScalar(c,d,IY),m=h.add(f,g,EI[0]);h.subtract(m,p,m),h.multiplyComponents(n,m,m);let x=h.subtract(f,g,EI[1]);h.subtract(x,p,x),h.multiplyComponents(n,x,x);let b=h.subtract(f,g,EI[2]);h.add(b,p,b),h.multiplyComponents(n,b,b);let T=h.add(f,g,EI[3]);return h.add(T,p,T),h.multiplyComponents(n,T,T),EI}var PY=new U,Vst=new h,Vy=[new fe,new fe,new fe,new fe];function bU(e,t,n,i,o,r){PY.x=e,PY.y=t;let s=i.pickEllipsoid(PY,o,Vst);return l(s)?(Vy[n]=o.cartesianToCartographic(s,Vy[n]),1):(Vy[n]=o.cartesianToCartographic(r[n],Vy[n]),0)}Jt.prototype.computeViewRectangle=function(e,t){e=y(e,ee.default);let n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new ae(h.ZERO,e.maximumRadius);if(n.computeVisibility(i)===qt.OUTSIDE)return;let r=this._scene.canvas,s=r.clientWidth,a=r.clientHeight,c=0,u=kst(this,e);if(c+=bU(0,0,0,this,e,u),c+=bU(0,a,1,this,e,u),c+=bU(s,a,2,this,e,u),c+=bU(s,0,3,this,e,u),c<2)return se.MAX_VALUE;t=se.fromCartographicArray(Vy,t);let f=0,d=Vy[3].longitude;for(let p=0;p<4;++p){let g=Vy[p].longitude,m=Math.abs(g-d);m>P.PI?f+=P.TWO_PI-m:f+=m,d=g}return P.equalsEpsilon(Math.abs(f),P.TWO_PI,P.EPSILON9)&&(t.west=-P.PI,t.east=P.PI,Vy[0].latitude>=0?t.north=P.PI_OVER_TWO:t.south=-P.PI_OVER_TWO),t};Jt.prototype.switchToPerspectiveFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof Si)return;let e=this._scene;this.frustum=new Si,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60)};Jt.prototype.switchToOrthographicFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof an)return;let e=B_e(this),t=this._scene;this.frustum=new an,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};Jt.clone=function(e,t){return l(t)||(t=new Jt(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),F.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var oo=Jt;var Ust={SHIFT:0,CTRL:1,ALT:2},da=Object.freeze(Ust);var zst={LEFT_DOWN:0,LEFT_UP:1,LEFT_CLICK:2,LEFT_DOUBLE_CLICK:3,RIGHT_DOWN:5,RIGHT_UP:6,RIGHT_CLICK:7,MIDDLE_DOWN:10,MIDDLE_UP:11,MIDDLE_CLICK:12,MOUSE_MOVE:15,WHEEL:16,PINCH_START:17,PINCH_END:18,PINCH_MOVE:19},Cn=Object.freeze(zst);function Uy(e,t,n){let i=e._element;if(i===document)return n.x=t.clientX,n.y=t.clientY,n;let o=i.getBoundingClientRect();return n.x=(t.clientX-o.left)*(i.offsetWidth/o.width),n.y=(t.clientY-o.top)*(i.offsetHeight/o.height),n}function UY(e,t){let n=e;return l(t)&&(n+=`+${t}`),n}function lb(e){if(e.shiftKey)return da.SHIFT;if(e.ctrlKey)return da.CTRL;if(e.altKey)return da.ALT}var ws={LEFT:0,MIDDLE:1,RIGHT:2};function Su(e,t,n,i){function o(r){i(e,r)}Wt.isInternetExplorer()?n.addEventListener(t,o,!1):n.addEventListener(t,o,{capture:!1,passive:!1}),e._removalFunctions.push(function(){n.removeEventListener(t,o,!1)})}function Hst(e){let t=e._element,n=l(t.disableRootEvents)?t:document;Wt.supportsPointerEvents()?(Su(e,"pointerdown",t,Xst),Su(e,"pointerup",t,nge),Su(e,"pointermove",t,Kst),Su(e,"pointercancel",t,nge)):(Su(e,"mousedown",t,ige),Su(e,"mouseup",n,oge),Su(e,"mousemove",n,rge),Su(e,"touchstart",t,qst),Su(e,"touchend",n,Z_e),Su(e,"touchmove",n,Yst),Su(e,"touchcancel",n,Z_e)),Su(e,"dblclick",t,Wst);let i;"onwheel"in t?i="wheel":document.onmousewheel!==void 0?i="mousewheel":i="DOMMouseScroll",Su(e,i,t,jst)}function Gst(e){let t=e._removalFunctions;for(let n=0;n<t.length;++n)t[n]()}var Y_e={position:new U};function zY(e){e._lastSeenTouchEvent=Ti()}function HY(e){return Ti()-e._lastSeenTouchEvent>Kd.mouseEmulationIgnoreMilliseconds}function VY(e,t,n){let i=e.x-t.x,o=e.y-t.y;return Math.sqrt(i*i+o*o)<n}function ige(e,t){if(!HY(e))return;let n=t.button;e._buttonDown[n]=!0;let i;if(n===ws.LEFT)i=Cn.LEFT_DOWN;else if(n===ws.MIDDLE)i=Cn.MIDDLE_DOWN;else if(n===ws.RIGHT)i=Cn.RIGHT_DOWN;else return;let o=Uy(e,t,e._primaryPosition);U.clone(o,e._primaryStartPosition),U.clone(o,e._primaryPreviousPosition);let r=lb(t),s=e.getInputAction(i,r);l(s)&&(U.clone(o,Y_e.position),s(Y_e),t.preventDefault())}var X_e={position:new U},K_e={position:new U};function NY(e,t,n,i){let o=lb(i),r=e.getInputAction(t,o),s=e.getInputAction(n,o);if(l(r)||l(s)){let a=Uy(e,i,e._primaryPosition);if(l(r)&&(U.clone(a,X_e.position),r(X_e)),l(s)){let c=e._primaryStartPosition;VY(c,a,e._clickPixelTolerance)&&(U.clone(a,K_e.position),s(K_e))}}}function oge(e,t){if(!HY(e))return;let n=t.button;n!==ws.LEFT&&n!==ws.MIDDLE&&n!==ws.RIGHT||(e._buttonDown[ws.LEFT]&&(NY(e,Cn.LEFT_UP,Cn.LEFT_CLICK,t),e._buttonDown[ws.LEFT]=!1),e._buttonDown[ws.MIDDLE]&&(NY(e,Cn.MIDDLE_UP,Cn.MIDDLE_CLICK,t),e._buttonDown[ws.MIDDLE]=!1),e._buttonDown[ws.RIGHT]&&(NY(e,Cn.RIGHT_UP,Cn.RIGHT_CLICK,t),e._buttonDown[ws.RIGHT]=!1))}var FY={startPosition:new U,endPosition:new U};function rge(e,t){if(!HY(e))return;let n=lb(t),i=Uy(e,t,e._primaryPosition),o=e._primaryPreviousPosition,r=e.getInputAction(Cn.MOUSE_MOVE,n);l(r)&&(U.clone(o,FY.startPosition),U.clone(i,FY.endPosition),r(FY)),U.clone(i,o),(e._buttonDown[ws.LEFT]||e._buttonDown[ws.MIDDLE]||e._buttonDown[ws.RIGHT])&&t.preventDefault()}var $_e={position:new U};function Wst(e,t){let n=t.button,i;if(n===ws.LEFT)i=Cn.LEFT_DOUBLE_CLICK;else return;let o=lb(t),r=e.getInputAction(i,o);l(r)&&(Uy(e,t,$_e.position),r($_e))}function jst(e,t){let n;if(l(t.deltaY)){let r=t.deltaMode;r===t.DOM_DELTA_PIXEL?n=-t.deltaY:r===t.DOM_DELTA_LINE?n=-t.deltaY*40:n=-t.deltaY*120}else t.detail>0?n=t.detail*-120:n=t.wheelDelta;if(!l(n))return;let i=lb(t),o=e.getInputAction(Cn.WHEEL,i);l(o)&&(o(n),t.preventDefault())}function qst(e,t){zY(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.set(s,Uy(e,r,new U));SU(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.set(s,U.clone(a.get(s)))}function Z_e(e,t){zY(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i)r=n[i],s=r.identifier,a.remove(s);SU(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,c.remove(s)}var Q_e={position:new U},BY={position1:new U,position2:new U},J_e={position:new U},ege={position:new U},tge={position:new U};function SU(e,t){let n=lb(t),i=e._positions,o=i.length,r,s,a=e._isPinching;if(o!==1&&e._buttonDown[ws.LEFT]){if(e._buttonDown[ws.LEFT]=!1,l(e._touchHoldTimer)&&(clearTimeout(e._touchHoldTimer),e._touchHoldTimer=void 0),r=e.getInputAction(Cn.LEFT_UP,n),l(r)&&(U.clone(e._primaryPosition,J_e.position),r(J_e)),o===0&&!e._isTouchHolding&&(s=e.getInputAction(Cn.LEFT_CLICK,n),l(s))){let c=e._primaryStartPosition,u=e._previousPositions.values[0];VY(c,u,e._clickPixelTolerance)&&(U.clone(e._primaryPosition,ege.position),s(ege))}e._isTouchHolding=!1}if(o===0&&a&&(e._isPinching=!1,r=e.getInputAction(Cn.PINCH_END,n),l(r)&&r()),o===1&&!a){let c=i.values[0];U.clone(c,e._primaryPosition),U.clone(c,e._primaryStartPosition),U.clone(c,e._primaryPreviousPosition),e._buttonDown[ws.LEFT]=!0,r=e.getInputAction(Cn.LEFT_DOWN,n),l(r)&&(U.clone(c,Q_e.position),r(Q_e)),e._touchHoldTimer=setTimeout(function(){if(!e.isDestroyed()&&(e._touchHoldTimer=void 0,e._isTouchHolding=!0,s=e.getInputAction(Cn.RIGHT_CLICK,n),l(s))){let u=e._primaryStartPosition,f=e._previousPositions.values[0];VY(u,f,e._holdPixelTolerance)&&(U.clone(e._primaryPosition,tge.position),s(tge))}},Kd.touchHoldDelayMilliseconds),t.preventDefault()}o===2&&!a&&(e._isPinching=!0,r=e.getInputAction(Cn.PINCH_START,n),l(r)&&(U.clone(i.values[0],BY.position1),U.clone(i.values[1],BY.position2),r(BY),t.preventDefault()))}function Yst(e,t){zY(e);let n=t.changedTouches,i,o=n.length,r,s,a=e._positions;for(i=0;i<o;++i){r=n[i],s=r.identifier;let u=a.get(s);l(u)&&Uy(e,r,u)}sge(e,t);let c=e._previousPositions;for(i=0;i<o;++i)r=n[i],s=r.identifier,U.clone(a.get(s),c.get(s))}var kY={startPosition:new U,endPosition:new U},SI={distance:{startPosition:new U,endPosition:new U},angleAndHeight:{startPosition:new U,endPosition:new U}};function sge(e,t){let n=lb(t),i=e._positions,o=e._previousPositions,r=i.length,s;if(r===1&&e._buttonDown[ws.LEFT]){let a=i.values[0];U.clone(a,e._primaryPosition);let c=e._primaryPreviousPosition;s=e.getInputAction(Cn.MOUSE_MOVE,n),l(s)&&(U.clone(c,kY.startPosition),U.clone(a,kY.endPosition),s(kY)),U.clone(a,c),t.preventDefault()}else if(r===2&&e._isPinching&&(s=e.getInputAction(Cn.PINCH_MOVE,n),l(s))){let a=i.values[0],c=i.values[1],u=o.values[0],f=o.values[1],d=c.x-a.x,p=c.y-a.y,g=Math.sqrt(d*d+p*p)*.25,m=f.x-u.x,x=f.y-u.y,b=Math.sqrt(m*m+x*x)*.25,T=(c.y+a.y)*.125,C=(f.y+u.y)*.125,A=Math.atan2(p,d),S=Math.atan2(x,m);U.fromElements(0,b,SI.distance.startPosition),U.fromElements(0,g,SI.distance.endPosition),U.fromElements(S,C,SI.angleAndHeight.startPosition),U.fromElements(A,T,SI.angleAndHeight.endPosition),s(SI)}}function Xst(e,t){if(t.target.setPointerCapture(t.pointerId),t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.set(i,Uy(e,t,new U)),SU(e,t),e._previousPositions.set(i,U.clone(n.get(i)))}else ige(e,t)}function nge(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId;n.remove(i),SU(e,t),e._previousPositions.remove(i)}else oge(e,t)}function Kst(e,t){if(t.pointerType==="touch"){let n=e._positions,i=t.pointerId,o=n.get(i);if(!l(o))return;Uy(e,t,o),sge(e,t);let r=e._previousPositions;U.clone(n.get(i),r.get(i))}else rge(e,t)}function Kd(e){this._inputEvents={},this._buttonDown={LEFT:!1,MIDDLE:!1,RIGHT:!1},this._isPinching=!1,this._isTouchHolding=!1,this._lastSeenTouchEvent=-Kd.mouseEmulationIgnoreMilliseconds,this._primaryStartPosition=new U,this._primaryPosition=new U,this._primaryPreviousPosition=new U,this._positions=new St,this._previousPositions=new St,this._removalFunctions=[],this._touchHoldTimer=void 0,this._clickPixelTolerance=5,this._holdPixelTolerance=25,this._element=y(e,document),Hst(this)}Kd.prototype.setInputAction=function(e,t,n){let i=UY(t,n);this._inputEvents[i]=e};Kd.prototype.getInputAction=function(e,t){let n=UY(e,t);return this._inputEvents[n]};Kd.prototype.removeInputAction=function(e,t){let n=UY(e,t);delete this._inputEvents[n]};Kd.prototype.isDestroyed=function(){return!1};Kd.prototype.destroy=function(){return Gst(this),ue(this)};Kd.mouseEmulationIgnoreMilliseconds=800;Kd.touchHoldDelayMilliseconds=1500;var Nf=Kd;var $st={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},Li=Object.freeze($st);function js(e,t){let n=`${e}`;return l(t)&&(n+=`+${t}`),n}function Zst(e,t){U.clone(e.distance.startPosition,t.distance.startPosition),U.clone(e.distance.endPosition,t.distance.endPosition),U.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),U.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function age(e,t,n){let i=js(Li.PINCH,t),o=e._update,r=e._isDown,s=e._eventStartPosition,a=e._pressTime,c=e._releaseTime;o[i]=!0,r[i]=!1,s[i]=new U;let u=e._movement[i];l(u)||(u=e._movement[i]={}),u.distance={startPosition:new U,endPosition:new U},u.angleAndHeight={startPosition:new U,endPosition:new U},u.prevAngle=0,e._eventHandler.setInputAction(function(f){e._buttonsDown++,r[i]=!0,a[i]=new Date,U.lerp(f.position1,f.position2,.5,s[i])},Cn.PINCH_START,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),r[i]=!1,c[i]=new Date},Cn.PINCH_END,t),e._eventHandler.setInputAction(function(f){if(r[i]){o[i]?(Zst(f,u),o[i]=!1,u.prevAngle=u.angleAndHeight.startPosition.x):(U.clone(f.distance.endPosition,u.distance.endPosition),U.clone(f.angleAndHeight.endPosition,u.angleAndHeight.endPosition));let d=u.angleAndHeight.endPosition.x,p=u.prevAngle,g=Math.PI*2;for(;d>=p+Math.PI;)d-=g;for(;d<p-Math.PI;)d+=g;u.angleAndHeight.endPosition.x=-d*n.clientWidth/12,u.angleAndHeight.startPosition.x=-p*n.clientWidth/12}},Cn.PINCH_MOVE,t)}function cge(e,t){let n=js(Li.WHEEL,t),i=e._pressTime,o=e._releaseTime,r=e._update;r[n]=!0;let s=e._movement[n];l(s)||(s=e._movement[n]={});let a=e._lastMovement[n];l(a)||(a=e._lastMovement[n]={startPosition:new U,endPosition:new U,valid:!1}),s.startPosition=new U,U.clone(U.ZERO,s.startPosition),s.endPosition=new U,e._eventHandler.setInputAction(function(c){let u=7.5*P.toRadians(c);i[n]=o[n]=new Date,s.endPosition.x=0,s.endPosition.y=u,U.clone(s.endPosition,a.endPosition),a.valid=!0,r[n]=!1},Cn.WHEEL,t)}function IE(e,t,n){let i=js(n,t),o=e._isDown,r=e._eventStartPosition,s=e._pressTime;o[i]=!1,r[i]=new U;let a=e._lastMovement[i];l(a)||(a=e._lastMovement[i]={startPosition:new U,endPosition:new U,valid:!1});let c,u;n===Li.LEFT_DRAG?(c=Cn.LEFT_DOWN,u=Cn.LEFT_UP):n===Li.RIGHT_DRAG?(c=Cn.RIGHT_DOWN,u=Cn.RIGHT_UP):n===Li.MIDDLE_DRAG&&(c=Cn.MIDDLE_DOWN,u=Cn.MIDDLE_UP),e._eventHandler.setInputAction(function(f){e._buttonsDown++,a.valid=!1,o[i]=!0,s[i]=new Date,U.clone(f.position,r[i])},c,t),e._eventHandler.setInputAction(function(){GY(js(n,void 0),e);for(let f of Object.values(da)){let d=js(n,f);GY(d,e)}},u,t)}function GY(e,t){let n=t._releaseTime,i=t._isDown;i[e]&&(t._buttonsDown=Math.max(t._buttonsDown-1,0)),i[e]=!1,n[e]=new Date}function lge(e,t){U.clone(e.startPosition,t.startPosition),U.clone(e.endPosition,t.endPosition)}function Qst(e,t,n){let i=n._isDown,o=!1,r=js(e,t);for(let[c,u]of Object.entries(i))c.startsWith(e)&&u&&c!==r&&(o=!0,GY(c,n));if(!o)return;let s=n._pressTime,a=n._lastMovement[r];l(a)||(a=n._lastMovement[r]={startPosition:new U,endPosition:new U,valid:!1}),n._buttonsDown++,a.valid=!1,i[r]=!0,s[r]=new Date}function uge(e,t){let n=e._update,i=e._movement,o=e._lastMovement,r=e._isDown;for(let s in Li)if(Li.hasOwnProperty(s)){let a=Li[s];if(l(a)){let c=js(a,t);n[c]=!0,l(e._lastMovement[c])||(e._lastMovement[c]={startPosition:new U,endPosition:new U,valid:!1}),l(e._movement[c])||(e._movement[c]={startPosition:new U,endPosition:new U})}}e._eventHandler.setInputAction(function(s){for(let a in Li)if(Li.hasOwnProperty(a)){let c=Li[a];if(l(c)){let u=js(c,t);Qst(c,t,e),r[u]&&(n[u]?(lge(i[u],o[u]),o[u].valid=!0,lge(s,i[u]),n[u]=!1):U.clone(s.endPosition,i[u].endPosition))}}U.clone(s.endPosition,e._currentMousePosition)},Cn.MOUSE_MOVE,t)}function Ff(e){this._eventHandler=new Nf(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new U,cge(this,void 0),age(this,void 0,e),IE(this,void 0,Li.LEFT_DRAG),IE(this,void 0,Li.RIGHT_DRAG),IE(this,void 0,Li.MIDDLE_DRAG),uge(this,void 0);for(let t in da)if(da.hasOwnProperty(t)){let n=da[t];l(n)&&(cge(this,n),age(this,n,e),IE(this,n,Li.LEFT_DRAG),IE(this,n,Li.RIGHT_DRAG),IE(this,n,Li.MIDDLE_DRAG),uge(this,n))}}Object.defineProperties(Ff.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let e=!this._update[js(Li.WHEEL)]||!this._update[js(Li.WHEEL,da.SHIFT)]||!this._update[js(Li.WHEEL,da.CTRL)]||!this._update[js(Li.WHEEL,da.ALT)];return this._buttonsDown>0||e}}});Ff.prototype.isMoving=function(e,t){let n=js(e,t);return!this._update[n]};Ff.prototype.getMovement=function(e,t){let n=js(e,t);return this._movement[n]};Ff.prototype.getLastMovement=function(e,t){let n=js(e,t),i=this._lastMovement[n];if(i.valid)return i};Ff.prototype.isButtonDown=function(e,t){let n=js(e,t);return this._isDown[n]};Ff.prototype.getStartMousePosition=function(e,t){if(e===Li.WHEEL)return this._currentMousePosition;let n=js(e,t);return this._eventStartPosition[n]};Ff.prototype.getButtonPressTime=function(e,t){let n=js(e,t);return this._pressTime[n]};Ff.prototype.getButtonReleaseTime=function(e,t){let n=js(e,t);return this._releaseTime[n]};Ff.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};Ff.prototype.isDestroyed=function(){return!1};Ff.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),ue(this)};var wU=Ff;function Im(){this.featurePropertiesDirty=!1}Object.defineProperties(Im.prototype,{featuresLength:{get:function(){de.throwInstantiationError()}},pointsLength:{get:function(){de.throwInstantiationError()}},trianglesLength:{get:function(){de.throwInstantiationError()}},geometryByteLength:{get:function(){de.throwInstantiationError()}},texturesByteLength:{get:function(){de.throwInstantiationError()}},batchTableByteLength:{get:function(){de.throwInstantiationError()}},innerContents:{get:function(){de.throwInstantiationError()}},ready:{get:function(){de.throwInstantiationError()}},tileset:{get:function(){de.throwInstantiationError()}},tile:{get:function(){de.throwInstantiationError()}},url:{get:function(){de.throwInstantiationError()}},batchTable:{get:function(){de.throwInstantiationError()}},metadata:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}},group:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}}});Im.prototype.hasProperty=function(e,t){de.throwInstantiationError()};Im.prototype.getFeature=function(e){de.throwInstantiationError()};Im.prototype.applyDebugSettings=function(e,t){de.throwInstantiationError()};Im.prototype.applyStyle=function(e){de.throwInstantiationError()};Im.prototype.update=function(e,t){de.throwInstantiationError()};Im.prototype.pick=function(e,t,n){de.throwInstantiationError()};Im.prototype.isDestroyed=function(){de.throwInstantiationError()};Im.prototype.destroy=function(){de.throwInstantiationError()};var fge=Im;function Jst(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var $d=Jst;function PE(e,t){this._conditionsExpression=We(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,tat(this,t)}Object.defineProperties(PE.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function eat(e,t){this.condition=e,this.expression=t}function tat(e,t){let n=[],i=e._conditions;if(!l(i))return;let o=i.length;for(let r=0;r<o;++r){let s=i[r],a=String(s[0]),c=String(s[1]);n.push(new eat(new ud(a,t),new ud(c,t)))}e._runtimeConditions=n}PE.prototype.evaluate=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluate(e,t)}};PE.prototype.evaluateColor=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluateColor(e,t)}};PE.prototype.getShaderFunction=function(e,t,n,i){let o=this._runtimeConditions;if(!l(o)||o.length===0)return;let r="",s=o.length;for(let a=0;a<s;++a){let c=o[a],u=c.condition.getShaderExpression(t,n),f=c.expression.getShaderExpression(t,n);r+=` ${a===0?"if":"else if"} (${u}) - { - return ${f}; - } -`}return r=`${i} ${e} -{ -${r} return ${i}(1.0); -} -`,r};PE.prototype.getVariables=function(){let e=[],t=this._runtimeConditions;if(!l(t)||t.length===0)return e;let n=t.length;for(let i=0;i<n;++i){let o=t[i];e.push.apply(e,o.condition.getVariables()),e.push.apply(e,o.expression.getVariables())}return e=e.filter(function(i,o,r){return r.indexOf(i)===o}),e};var vU=PE;function zy(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,nat(this,e)}function nat(e,t){t=y(We(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;let n={};if(l(t.meta)){let i=t.defines,o=y(t.meta,y.EMPTY_OBJECT);for(let r in o)o.hasOwnProperty(r)&&(n[r]=new ud(o[r],i))}e._meta=n,e._ready=!0}function Zo(e,t){let n=y(e._style,y.EMPTY_OBJECT).defines;if(l(t)){if(typeof t=="boolean"||typeof t=="number")return new ud(String(t));if(typeof t=="string")return new ud(t,n);if(l(t.conditions))return new vU(t,n)}else return;return t}function Qo(e){if(l(e)){if(l(e.expression))return e.expression;if(l(e.conditionsExpression))return We(e.conditionsExpression,!0)}else return;return e}Object.defineProperties(zy.prototype,{style:{get:function(){return this._style}},show:{get:function(){return this._show},set:function(e){this._show=Zo(this,e),this._style.show=Qo(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=Zo(this,e),this._style.color=Qo(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=Zo(this,e),this._style.pointSize=Qo(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=Zo(this,e),this._style.pointOutlineColor=Qo(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=Zo(this,e),this._style.pointOutlineWidth=Qo(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=Zo(this,e),this._style.labelColor=Qo(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=Zo(this,e),this._style.labelOutlineColor=Qo(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=Zo(this,e),this._style.labelOutlineWidth=Qo(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=Zo(this,e),this._style.font=Qo(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=Zo(this,e),this._style.labelStyle=Qo(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=Zo(this,e),this._style.labelText=Qo(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=Zo(this,e),this._style.backgroundColor=Qo(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=Zo(this,e),this._style.backgroundPadding=Qo(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=Zo(this,e),this._style.backgroundEnabled=Qo(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=Zo(this,e),this._style.scaleByDistance=Qo(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=Zo(this,e),this._style.translucencyByDistance=Qo(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=Zo(this,e),this._style.distanceDisplayCondition=Qo(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=Zo(this,e),this._style.heightOffset=Qo(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=Zo(this,e),this._style.anchorLineEnabled=Qo(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=Zo(this,e),this._style.anchorLineColor=Qo(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=Zo(this,e),this._style.image=Qo(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=Zo(this,e),this._style.disableDepthTestDistance=Qo(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=Zo(this,e),this._style.horizontalOrigin=Qo(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=Zo(this,e),this._style.verticalOrigin=Qo(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=Zo(this,e),this._style.labelHorizontalOrigin=Qo(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=Zo(this,e),this._style.labelVerticalOrigin=Qo(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}});zy.fromUrl=function(e){return ve.createIfNeeded(e).fetchJson(e).then(function(n){return new zy(n)})};zy.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,l(this.color)&&l(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)};zy.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady?this._showShaderFunction:(this._showShaderFunctionReady=!0,l(this.show)&&l(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0,this._showShaderFunction)};zy.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady?this._pointSizeShaderFunction:(this._pointSizeShaderFunctionReady=!0,l(this.pointSize)&&l(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0,this._pointSizeShaderFunction)};zy.prototype.getVariables=function(){let e=[];return l(this.color)&&l(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),l(this.show)&&l(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),l(this.pointSize)&&l(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var RE=zy;function Zd(e){this._comparator=e.comparator,this._maximumLength=e.maximumLength,this._array=l(e.maximumLength)?new Array(e.maximumLength):[],this._length=0}Object.defineProperties(Zd.prototype,{length:{get:function(){return this._length}},maximumLength:{get:function(){return this._maximumLength},set:function(e){if(l(e)){for(;this._length>e;)this.removeMinimum();this._array.length=e}this._maximumLength=e}},internalArray:{get:function(){return this._array}},comparator:{get:function(){return this._comparator}}});Zd.prototype.clone=function(){let e=this._maximumLength,t=this._comparator,n=this._array,i=this._length,o=new Zd({comparator:t,maximumLength:e});o._length=i;for(let r=0;r<i;r++)o._array[r]=n[r];return o};Zd.prototype.reset=function(){this._length=0;let e=this._maximumLength;if(l(e))for(let t=0;t<e;t++)this._array[t]=void 0;else this._array.length=0};Zd.prototype.resort=function(){let e=this._length;for(let t=0;t<e;t++)dge(this,t)};Zd.prototype.insert=function(e){let t,n=this._maximumLength;if(l(n)){if(n===0)return;if(this._length===n){let o=this._array[0];if(this._comparator(e,o)<=0)return e;t=this.removeMinimum()}}let i=this._length;return this._array[i]=e,this._length++,dge(this,i),t};Zd.prototype.removeMinimum=function(){let e=this._length;if(e===0)return;this._length--;let t=this._array[0];return e>=2&&(this._array[0]=this._array[e-1],hge(this,0)),this._array[e-1]=void 0,t};Zd.prototype.removeMaximum=function(){let e=this._length;if(e===0)return;this._length--;let t;if(e<=2)t=this._array[e-1];else{let n=WY(this,1,2)?1:2;t=this._array[n],this._array[n]=this._array[e-1],e>=4&&hge(this,n)}return this._array[e-1]=void 0,t};Zd.prototype.getMinimum=function(){if(this._length!==0)return this._array[0]};Zd.prototype.getMaximum=function(){let e=this._length;if(e!==0)return e<=2?this._array[e-1]:this._array[WY(this,1,2)?1:2]};function DU(e,t,n){let i=e._array,o=i[t];i[t]=i[n],i[n]=o}function wI(e,t,n){return e._comparator(e._array[t],e._array[n])<0}function WY(e,t,n){return e._comparator(e._array[t],e._array[n])>0}function dge(e,t){if(t===0)return;let n=Math.floor(P.log2(t+1))%2===0,i=Math.floor((t-1)/2),o=wI(e,t,i);for(o!==n&&(DU(e,t,i),t=i);t>=3;){let r=Math.floor((t-3)/4);if(wI(e,t,r)!==o)break;DU(e,t,r),t=r}}function hge(e,t){let n=e._length,i=Math.floor(P.log2(t+1))%2===0,o;for(;(o=2*t+1)<n;){let r=o,s=o+1;if(s<n){wI(e,s,r)===i&&(r=s);let a=2*o+1,c=Math.max(Math.min(n-a,4),0);for(let u=0;u<c;u++){let f=a+u;wI(e,f,r)===i&&(r=f)}}if(wI(e,r,t)===i&&(DU(e,r,t),r!==o&&r!==s)){let a=Math.floor((r-1)/2);WY(e,r,a)===i&&DU(e,r,a)}t=r}}var OE=Zd;function vI(e){e=y(e,y.EMPTY_OBJECT),this._maximumSubtreeCount=y(e.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new OE({comparator:vI.comparator})}vI.prototype.addSubtree=function(e){let t=new iat(e,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(t);let n=e.implicitCoordinates;if(n.level>0){let i=n.getParentSubtreeCoordinates(),o=this.find(i)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==t;)this._queue.removeMinimum()};vI.prototype.find=function(e){let t=this._queue,n=t.internalArray,i=t.length;for(let o=0;o<i;o++){let r=n[o],a=r.subtree.implicitCoordinates;if(e.isEqual(a))return r.subtree}};vI.comparator=function(e,t){let n=e.subtree.implicitCoordinates,i=t.subtree.implicitCoordinates;return n.isAncestor(i)?1:i.isAncestor(n)?-1:e.stamp-t.stamp};function iat(e,t){this.subtree=e,this.stamp=t}var IU=vI;function Ol(){this.orientedBoundingBox=new In,this.boundingSphere=new ae,this.boundTransform=new F,this.shapeTransform=new F,this._minBounds=h.clone(Ol.DefaultMinBounds,new h),this._maxBounds=h.clone(Ol.DefaultMaxBounds,new h),this.shaderUniforms={renderMinBounds:new h,renderMaxBounds:new h,boxUvToShapeUvScale:new h,boxUvToShapeUvTranslate:new h},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_SHAPE_BOUNDS:void 0},this.shaderMaximumIntersectionsLength=0}var oat=new h,jY=new h,rat=new Z,sat=new h,aat=new h,cat=new h,lat=new h,mge=F.fromRotationTranslation(Z.fromUniformScale(.5,new Z),new h(.5,.5,.5),new F);Ol.prototype.update=function(e,t,n,i,o){i=y(i,Ol.DefaultMinBounds),o=y(o,Ol.DefaultMaxBounds);let r=Ol.DefaultMinBounds,s=Ol.DefaultMaxBounds;t=this._minBounds=h.clamp(t,r,s,this._minBounds),n=this._maxBounds=h.clamp(n,r,s,this._maxBounds),i=h.clamp(i,r,s,sat),o=h.clamp(o,r,s,aat);let a=h.clamp(t,i,o,cat),c=h.clamp(n,i,o,lat),u=F.getScale(e,jY);if(a.x>c.x||a.y>c.y||a.z>c.z||(a.x===c.x)+(a.y===c.y)+(a.z===c.z)>=2||i.x>o.x||i.y>o.y||i.z>o.z||u.x===0||u.y===0||u.z===0)return!1;this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=YY(a,c,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ae.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:f,shaderDefines:d}=this;for(let m in d)d.hasOwnProperty(m)&&(d[m]=void 0);let p=!h.equals(t,r)||!h.equals(n,s),g=0;if(d.BOX_INTERSECTION_INDEX=g,g+=1,f.renderMinBounds=F.multiplyByPoint(mge,a,f.renderMinBounds),f.renderMaxBounds=F.multiplyByPoint(mge,c,f.renderMaxBounds),p){d.BOX_HAS_SHAPE_BOUNDS=!0;let m=t,x=n;f.boxUvToShapeUvScale=h.fromElements(2/(m.x===x.x?1:x.x-m.x),2/(m.y===x.y?1:x.y-m.y),2/(m.z===x.z?1:x.z-m.z),f.boxUvToShapeUvScale),f.boxUvToShapeUvTranslate=h.fromElements(-f.boxUvToShapeUvScale.x*(m.x*.5+.5),-f.boxUvToShapeUvScale.y*(m.y*.5+.5),-f.boxUvToShapeUvScale.z*(m.z*.5+.5),f.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=g,!0};var PU=new h,qY=new h;Ol.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minBounds,s=this._maxBounds,a=1/Math.pow(2,e),c=h.fromElements(P.lerp(r.x,s.x,a*t),P.lerp(r.y,s.y,a*n),P.lerp(r.z,s.z,a*i),PU),u=h.fromElements(P.lerp(r.x,s.x,a*(t+1)),P.lerp(r.y,s.y,a*(n+1)),P.lerp(r.z,s.z,a*(i+1)),qY);return YY(c,u,this.shapeTransform,o)};var pge=new h;Ol.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,pge),s=h.multiplyByScalar(r,o,pge),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,PU),o,PU),c=h.add(a,s,qY),u=this._minBounds,f=this._maxBounds,d=h.fromElements(P.lerp(u.x,f.x,a.x),P.lerp(u.y,f.y,a.y),P.lerp(u.z,f.z,a.z),PU),p=h.fromElements(P.lerp(u.x,f.x,c.x),P.lerp(u.y,f.y,c.y),P.lerp(u.z,f.z,c.z),qY);return YY(d,p,this.shapeTransform,i)};Ol.DefaultMinBounds=Object.freeze(new h(-1,-1,-1));Ol.DefaultMaxBounds=Object.freeze(new h(1,1,1));function YY(e,t,n,i){let o=Ol.DefaultMinBounds,r=Ol.DefaultMaxBounds;if(h.equals(e,o)&&h.equals(t,r))i.center=F.getTranslation(n,i.center),i.halfAxes=F.getMatrix3(n,i.halfAxes);else{let a=F.getScale(n,jY),c=h.midpoint(e,t,oat);i.center=F.multiplyByPoint(n,c,i.center),a=h.fromElements(a.x*.5*(t.x-e.x),a.y*.5*(t.y-e.y),a.z*.5*(t.z-e.z),jY);let u=F.getRotation(n,rat);i.halfAxes=Z.setScale(u,a,i.halfAxes)}return i}var d_=Ol;function RU(e){this._resource=e,this._metadataTable=void 0}Object.defineProperties(RU.prototype,{metadataTable:{get:function(){return this._metadataTable}}});RU.fromJson=async function(e,t,n,i){let o;l(t)?o={json:t,binary:void 0}:o=fat(n);let r=await uat(e,o.json,o.binary),s={},a=o.json.bufferViews.length;for(let d=0;d<a;++d){let p=o.json.bufferViews[d],g=p.byteOffset,m=g+p.byteLength,b=r[p.buffer].subarray(g,m);s[d]=b}let c=o.json.voxelTable,u=o.json.propertyTables[c],f=new RU(e);return f._metadataTable=new eu({count:u.count,properties:u.properties,class:i.classes[u.class],bufferViews:s}),f};function uat(e,t,n){let i=t.buffers.length,o=new Array(i);for(let r=0;r<i;r++){let s=t.buffers[r];if(l(s.uri)){let c=e.getDerivedResource({url:s.uri});o[r]=c.fetchArrayBuffer().then(function(u){return new Uint8Array(u)})}else o[r]=Promise.resolve(n)}return Promise.all(o)}function fat(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Lo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}var OU=RU;function Xr(){this.orientedBoundingBox=new In,this.boundingSphere=new ae,this.boundTransform=new F,this.shapeTransform=new F,this._minimumRadius=Xr.DefaultMinBounds.x,this._maximumRadius=Xr.DefaultMaxBounds.x,this._minimumHeight=Xr.DefaultMinBounds.y,this._maximumHeight=Xr.DefaultMaxBounds.y,this._minimumAngle=Xr.DefaultMinBounds.z,this._maximumAngle=Xr.DefaultMaxBounds.z,this.shaderUniforms={cylinderRenderHeightMinMax:new U,cylinderRenderRadiusMinMax:new U,cylinderRenderAngleMinMax:new U,cylinderUvToShapeUvRadius:new U,cylinderUvToShapeUvHeight:new U,cylinderUvToShapeUvAngle:new U,cylinderShapeUvAngleMinMax:new U,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var xge=new h;Xr.prototype.update=function(e,t,n,i,o){i=y(i,Xr.DefaultMinBounds),o=y(o,Xr.DefaultMaxBounds);let r=Xr.DefaultMinBounds.x,s=Xr.DefaultMaxBounds.x,a=Xr.DefaultMinBounds.y,c=Xr.DefaultMaxBounds.y,u=Xr.DefaultMinBounds.z,f=Xr.DefaultMaxBounds.z,d=f-u,p=.5*d,g=P.EPSILON10,m=P.EPSILON3,x=P.EPSILON10,b=P.clamp(t.x,r,s),T=P.clamp(n.x,r,s),C=P.clamp(i.x,r,s),A=P.clamp(o.x,r,s),S=Math.max(b,C),w=Math.min(T,A),D=P.clamp(t.y,a,c),O=P.clamp(n.y,a,c),R=P.clamp(i.y,a,c),M=P.clamp(o.y,a,c),L=Math.max(D,R),_=Math.min(O,M),E=P.negativePiToPi(t.z),v=P.negativePiToPi(n.z),I=P.negativePiToPi(i.z),N=P.negativePiToPi(o.z),B=Math.max(E,I),z=Math.min(v,N),V=F.getScale(e,xge);if(w===0||S>w||L>_||P.equalsEpsilon(V.x,0,void 0,g)||P.equalsEpsilon(V.y,0,void 0,g)||P.equalsEpsilon(V.z,0,void 0,g))return!1;this._minimumRadius=b,this._maximumRadius=T,this._minimumHeight=D,this._maximumHeight=O,this._minimumAngle=E,this._maximumAngle=v,this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=KY(S,w,L,_,B,z,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ae.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let Y=b===r&&T===s,W=D===a&&O===c,J=v<E,j=v-E+J*d,$=j>p+x&&j<d-x,Q=j<p-x,he=j>=p-x&&j<=p+x,ye=$||Q||he,re=P.equalsEpsilon(E,u,void 0,m),_e=P.equalsEpsilon(v,f,void 0,m),xe=S===r,De=z<B,we=z-B+De*d,Oe=we>=p-x&&we<d-x,Me=we>x&&we<p-x,ht=we<=x,it=Oe||Me||ht,{shaderUniforms:At,shaderDefines:Le}=this;for(let $e in Le)Le.hasOwnProperty($e)&&(Le[$e]=void 0);let ke=0;if(Le.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=ke,ke+=1,xe||(Le.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,Le.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=ke,ke+=1),At.cylinderRenderRadiusMinMax=U.fromElements(S,w,At.cylinderRenderRadiusMinMax),S===w&&(Le.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),!Y){Le.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let $e=T-b,Xe=0,kt=1;$e!==0&&(Xe=1/$e,kt=-b/$e),At.cylinderUvToShapeUvRadius=U.fromElements(Xe,kt,At.cylinderUvToShapeUvRadius)}if(!W){Le.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let $e=O-D,Xe=0,kt=1;$e!==0&&(Xe=2/$e,kt=-(D+1)/$e),At.cylinderUvToShapeUvHeight=U.fromElements(Xe,kt,At.cylinderUvToShapeUvHeight)}if(At.cylinderRenderHeightMinMax=U.fromElements(L,_,At.cylinderRenderHeightMinMax),J&&(Le.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),it&&(Le.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,Le.CYLINDER_INTERSECTION_INDEX_ANGLE=ke,Oe?(Le.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,ke+=1):Me?(Le.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,ke+=2):ht&&(Le.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,ke+=2),At.cylinderRenderAngleMinMax=U.fromElements(B,z,At.cylinderRenderAngleMinMax)),ye){Le.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,re&&(Le.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),_e&&(Le.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let $e=(E-u)/d,Xe=(v-u)/d,kt=1-j/d;if(At.cylinderShapeUvAngleMinMax=U.fromElements($e,Xe,At.cylinderShapeUvAngleMinMax),At.cylinderShapeUvAngleRangeZeroMid=(Xe+.5*kt)%1,j<=x)At.cylinderUvToShapeUvAngle=U.fromElements(0,1,At.cylinderUvToShapeUvAngle);else{let Te=d/j,Ce=-(E-u)/j;At.cylinderUvToShapeUvAngle=U.fromElements(Te,Ce,At.cylinderUvToShapeUvAngle)}}return this.shaderMaximumIntersectionsLength=ke,!0};Xr.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minimumRadius,s=this._maximumRadius,a=this._minimumHeight,c=this._maximumHeight,u=this._minimumAngle,f=this._maximumAngle,d=1/Math.pow(2,e),p=P.lerp(r,s,t*d),g=P.lerp(r,s,(t+1)*d),m=P.lerp(a,c,n*d),x=P.lerp(a,c,(n+1)*d),b=P.lerp(u,f,i*d),T=P.lerp(u,f,(i+1)*d);return KY(p,g,m,x,b,T,this.shapeTransform,o)};var _ge=new h,gge=new h,dat=new h;Xr.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,_ge),s=h.multiplyByScalar(r,o,_ge),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,gge),o,gge),c=h.add(a,s,dat),u=this._minimumRadius,f=this._maximumRadius,d=this._minimumHeight,p=this._maximumHeight,g=this._minimumAngle,m=this._maximumAngle,x=P.lerp(u,f,a.x),b=P.lerp(u,f,c.x),T=P.lerp(d,p,a.y),C=P.lerp(d,p,c.y),A=P.lerp(g,m,a.z),S=P.lerp(g,m,c.z);return KY(x,b,T,C,A,S,this.shapeTransform,i)};Xr.DefaultMinBounds=Object.freeze(new h(0,-1,-P.PI));Xr.DefaultMaxBounds=Object.freeze(new h(1,1,+P.PI));var hat=5,mat=new Array(hat),pat=new h,_at=new Z,gat=new F,yat=new F,xat=new F,XY=new F,bat=new h,Tat=new h,Cat=new h,bge=new Array(8);for(let e=0;e<8;e++)bge[e]=new h;function yge(e,t,n){return Math.abs(oe.dot(e,t))<n}function Aat(e){let t=F.getColumn(e,0,bat),n=F.getColumn(e,1,Tat),i=F.getColumn(e,2,Cat),o=P.EPSILON4;return yge(t,n,o)&&yge(n,i,o)}function Eat(e,t){let n=bge;h.fromElements(-.5,-.5,-.5,n[0]),h.fromElements(-.5,-.5,.5,n[1]),h.fromElements(-.5,.5,-.5,n[2]),h.fromElements(-.5,.5,.5,n[3]),h.fromElements(.5,-.5,-.5,n[4]),h.fromElements(.5,-.5,.5,n[5]),h.fromElements(.5,.5,-.5,n[6]),h.fromElements(.5,.5,.5,n[7]);for(let i=0;i<8;++i)F.multiplyByPoint(e,n[i],n[i]);return In.fromPoints(n,t)}function KY(e,t,n,i,o,r,s,a){let c=Xr.DefaultMinBounds,u=Xr.DefaultMaxBounds,f=c.x,d=u.x,p=c.y,g=u.y,m=c.z,x=u.z;if(e===f&&t===d&&n===p&&i===g&&o===m&&r===x)return a.center=F.getTranslation(s,a.center),a.halfAxes=F.getMatrix3(s,a.halfAxes),a;r<o&&(r+=P.TWO_PI);let T=r-o,C=o+T*.5,A=mat,S=0;A[S++]=o,A[S++]=r,A[S++]=C,T>P.PI&&(A[S++]=C-P.PI_OVER_TWO,A[S++]=C+P.PI_OVER_TWO);let w=1,D=1,O=-1,R=-1;for(let J=0;J<S;++J){let j=A[J]-C,$=Math.cos(j),Q=Math.sin(j),he=$*e,ye=Q*e,re=$*t,_e=Q*t;w=Math.min(w,he),D=Math.min(D,ye),w=Math.min(w,re),D=Math.min(D,_e),O=Math.max(O,he),R=Math.max(R,ye),O=Math.max(O,re),R=Math.max(R,_e)}let M=O-w,L=R-D,_=i-n,E=(w+O)*.5,v=(D+R)*.5,I=(n+i)*.5,N=h.fromElements(E,v,I,pat),B=Z.fromRotationZ(C,_at),z=h.fromElements(M,L,_,xge),V=F.fromScale(z,xat),G=F.fromRotation(B,yat),k=F.fromTranslation(N,gat),Y=F.multiplyTransformation(G,F.multiplyTransformation(k,V,XY),XY),W=F.multiplyTransformation(s,Y,XY);return Aat(W)?In.fromTransformation(W,a):Eat(W,a)}var h_=Xr;function m_(){this.orientedBoundingBox=new In,this.boundingSphere=new ae,this.boundTransform=new F,this.shapeTransform=new F,this._rectangle=new se,this._minimumHeight=m_.DefaultMinBounds.z,this._maximumHeight=m_.DefaultMaxBounds.z,this._ellipsoid=new ee,this._translation=new h,this._rotation=new Z,this.shaderUniforms={ellipsoidRadiiUv:new h,eccentricitySquared:0,evoluteScale:new U,ellipsoidInverseRadiiSquaredUv:new h,ellipsoidRenderLongitudeMinMax:new U,ellipsoidShapeUvLongitudeMinMaxMid:new h,ellipsoidUvToShapeUvLongitude:new U,ellipsoidUvToShapeUvLatitude:new U,ellipsoidRenderLatitudeSinMinMax:new U,ellipsoidInverseHeightDifferenceUv:0,clipMinMaxHeight:new U},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var Sat=new h,wat=new h,vat=new h,Dat=new h,Iat=new h,Pat=new h,Rat=new h,Oat=new h,Mat=new Z,Tge=new h,Cge=new h,Lat=new se;m_.prototype.update=function(e,t,n,i,o){let{DefaultMinBounds:r,DefaultMaxBounds:s}=m_;i=y(i,r),o=y(o,s);let a=P.EPSILON10,c=P.EPSILON3,u=P.EPSILON10,f=P.EPSILON10,d=P.EPSILON3,p=F.getScale(e,Oat),g=h.clone(r,Sat);g.z=-h.minimumComponent(p);let m=h.clamp(t,g,s,wat),x=h.clamp(n,g,s,vat),b=h.clamp(i,g,s,Dat),T=h.clamp(o,g,s,Iat),C=h.maximumByComponent(m,b,Pat),A=h.minimumByComponent(x,T,Rat),S=h.add(p,h.fromElements(x.z,x.z,x.z,Tge),Tge),w=h.maximumComponent(S),D=h.add(p,h.fromElements(A.z,A.z,A.z,Cge),Cge);if(C.y>A.y||C.y===s.y||A.y===r.y||C.z>A.z||P.equalsEpsilon(D,h.ZERO,void 0,a))return!1;this._rectangle=se.fromRadians(m.x,m.y,x.x,x.y),this._translation=F.getTranslation(e,this._translation),this._rotation=F.getRotation(e,this._rotation),this._ellipsoid=ee.fromCartesian3(p,this._ellipsoid),this._minimumHeight=m.z,this._maximumHeight=x.z;let O=se.fromRadians(C.x,C.y,A.x,A.y,Lat);this.orientedBoundingBox=$Y(O,C.z,A.z,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=F.fromRotationTranslation(Z.setScale(this._rotation,S,Mat),this._translation,this.shapeTransform),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ae.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let R=s.x-r.x,M=.5*R,L=A.x<C.x,_=A.x-C.x+L*R,E=_<=u,v=_>=M-u&&_<R-u,I=_>u&&_<M-u,N=E||v||I,B=x.x<m.x,z=x.x-m.x+B*R,V=z>M+u&&z<R-u,G=z>=M-u&&z<=M+u,k=z<M-u,Y=V||G||k,W=A.y<-d,J=A.y>=-d&&A.y<=+d,j=A.y>+d&&A.y<s.y-f,$=W||J||j,Q=C.y>r.y+f&&C.y<-d,he=C.y>=-d&&C.y<=+d,ye=C.y>+d,re=Q||he||ye,_e=$||re,xe=x.y-m.y,De=x.y<-d,we=x.y>=-d&&x.y<=+d,Oe=x.y>+d&&x.y<s.y-f,Me=De||we||Oe,ht=m.y>r.y+f&&m.y<-d,it=m.y>=-d&&m.y<=+d,At=m.y>+d,ke=Me||(ht||it||At),{shaderUniforms:$e,shaderDefines:Xe}=this;for(let Xt in Xe)Xe.hasOwnProperty(Xt)&&(Xe[Xt]=void 0);$e.ellipsoidRadiiUv=h.divideByScalar(S,w,$e.ellipsoidRadiiUv);let{x:kt,z:Te}=$e.ellipsoidRadiiUv,Ce=Te/kt;$e.eccentricitySquared=1-Ce*Ce,$e.evoluteScale=U.fromElements((kt*kt-Te*Te)/kt,(Te*Te-kt*kt)/Te,$e.evoluteScale),$e.ellipsoidInverseRadiiSquaredUv=h.divideComponents(h.ONE,h.multiplyComponents($e.ellipsoidRadiiUv,$e.ellipsoidRadiiUv,$e.ellipsoidInverseRadiiSquaredUv),$e.ellipsoidInverseRadiiSquaredUv);let Zt=0;Xe.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=Zt,Zt+=1,Xe.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=Zt,Zt+=1,$e.clipMinMaxHeight=U.fromElements((C.z-x.z)/w,(A.z-x.z)/w,$e.clipMinMaxHeight);let Qt=(x.z-m.z)/w;if($e.ellipsoidInverseHeightDifferenceUv=1/Qt,m.z===x.z&&($e.ellipsoidInverseHeightDifferenceUv=0),N&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,Xe.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=Zt,v?(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,Zt+=1):I?(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,Zt+=2):E&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,Zt+=2),$e.ellipsoidRenderLongitudeMinMax=U.fromElements(C.x,A.x,$e.ellipsoidRenderLongitudeMinMax)),Y)if(Xe.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,x.x<m.x&&(Xe.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0),z<=u)$e.ellipsoidUvToShapeUvLongitude=U.fromElements(0,1,$e.ellipsoidUvToShapeUvLongitude);else{let ro=R/z,Ke=-(m.x-r.x)/z;$e.ellipsoidUvToShapeUvLongitude=U.fromElements(ro,Ke,$e.ellipsoidUvToShapeUvLongitude)}if(N){let Xt=P.equalsEpsilon(C.x,r.x,void 0,c),ro=P.equalsEpsilon(A.x,s.x,void 0,c);Xt&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),ro&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let Ke=(m.x-r.x)/R,$r=(x.x-r.x)/R,tr=(A.x-r.x)/R,Ys=1-_/R,Ue=(tr+.5*Ys)%1;$e.ellipsoidShapeUvLongitudeMinMaxMid=h.fromElements(Ke,$r,Ue,$e.ellipsoidShapeUvLongitudeMinMaxMid)}if(_e&&(re&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,Xe.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=Zt,Q?(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,Zt+=1):he?(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,Zt+=1):ye&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,Zt+=2)),$&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,Xe.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=Zt,W?(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,Zt+=2):J?(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,Zt+=1):j&&(Xe.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,Zt+=1)),$e.ellipsoidRenderLatitudeSinMinMax=U.fromElements(Math.sin(C.y),Math.sin(A.y),$e.ellipsoidRenderLatitudeSinMinMax)),ke)if(Xe.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,xe<f)$e.ellipsoidUvToShapeUvLatitude=U.fromElements(0,1,$e.ellipsoidUvToShapeUvLatitude);else{let ro=(s.y-r.y)/xe,Ke=(r.y-m.y)/xe;$e.ellipsoidUvToShapeUvLatitude=U.fromElements(ro,Ke,$e.ellipsoidUvToShapeUvLatitude)}return this.shaderMaximumIntersectionsLength=Zt,!0};var Sge=new se;m_.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=1/Math.pow(2,e),s=t*r,a=(t+1)*r,c=n*r,u=(n+1)*r,f=i*r,d=(i+1)*r,p=se.subsection(this._rectangle,s,c,a,u,Sge),g=P.lerp(this._minimumHeight,this._maximumHeight,f),m=P.lerp(this._minimumHeight,this._maximumHeight,d);return $Y(p,g,m,this._ellipsoid,this._translation,this._rotation,o)};var Age=new h,Ege=new h,Nat=new h;m_.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,Age),s=h.multiplyByScalar(r,o,Age),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,Ege),o,Ege),c=h.add(a,s,Nat),u=se.subsection(this._rectangle,a.x,a.y,c.x,c.y,Sge),f=P.lerp(this._minimumHeight,this._maximumHeight,a.z),d=P.lerp(this._minimumHeight,this._maximumHeight,c.z);return $Y(u,f,d,this._ellipsoid,this._translation,this._rotation,i)};function $Y(e,t,n,i,o,r,s){return s=In.fromRectangle(e,t,n,i,s),s.center=h.add(s.center,o,s.center),s.halfAxes=Z.multiply(s.halfAxes,r,s.halfAxes),s}m_.DefaultMinBounds=Object.freeze(new h(-P.PI,-P.PI_OVER_TWO,-ee.WGS84.minimumRadius));m_.DefaultMaxBounds=Object.freeze(new h(P.PI,P.PI_OVER_TWO,10*ee.WGS84.maximumRadius));var ME=m_;var wu={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};wu.getMinBounds=function(e){switch(e){case wu.BOX:return d_.DefaultMinBounds;case wu.ELLIPSOID:return ME.DefaultMinBounds;case wu.CYLINDER:return h_.DefaultMinBounds}};wu.getMaxBounds=function(e){switch(e){case wu.BOX:return d_.DefaultMaxBounds;case wu.ELLIPSOID:return ME.DefaultMaxBounds;case wu.CYLINDER:return h_.DefaultMaxBounds}};wu.getShapeConstructor=function(e){switch(e){case wu.BOX:return d_;case wu.ELLIPSOID:return ME;case wu.CYLINDER:return h_}};var Ni=Object.freeze(wu);function MU(e){e=y(e,y.EMPTY_OBJECT),this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new IU}MU.fromUrl=async function(e){let t=ve.createIfNeeded(e),n=await t.fetchJson();Bat(n);let i=Hat(n,t);await i.load();let o=n.root,r=o.content.extensions["3DTILES_content_voxels"],s=r.class,a=ri(n,"3DTILES_metadata")?n.extensions["3DTILES_metadata"]:n,c=i.schema,u=new hA({metadataJson:a,schema:c}),f=new MU;Gat(f,u,s);let d=new pA(t,o,c),{shape:p,minBounds:g,maxBounds:m,shapeTransform:x,globalTransform:b}=kat(o);f.shape=p,f.minBounds=g,f.maxBounds=m,f.dimensions=h.unpack(r.dimensions),f.shapeTransform=x,f.globalTransform=b,f.maximumTileCount=Fat(u);let T,C;return l(r.padding)&&(T=h.unpack(r.padding.before),C=h.unpack(r.padding.after)),f.paddingBefore=T,f.paddingAfter=C,f._implicitTileset=d,Ci.unload(i),f};function Fat(e){if(l(e.tileset))return e.tileset.getPropertyBySemantic(yC.TILESET_TILE_COUNT)}function Bat(e){let t=e.root;if(!l(t.content))throw new ce("Root must have content");if(!ri(t.content,"3DTILES_content_voxels"))throw new ce("Root tile content must have 3DTILES_content_voxels extension");if(!ri(t,"3DTILES_implicit_tiling")&&!l(t.implicitTiling))throw new ce("Root tile must have implicit tiling");if(!l(e.schema)&&!l(e.schemaUri)&&!ri(e,"3DTILES_metadata"))throw new ce("Tileset must have a metadata schema")}function kat(e){let t=e.boundingVolume,n;if(l(e.transform)?n=F.unpack(e.transform):n=F.clone(F.IDENTITY),l(t.box))return Uat(t.box,n);if(l(t.region))return Vat(t.region);if(ri(t,"3DTILES_bounding_volume_cylinder"))return zat(t.extensions["3DTILES_bounding_volume_cylinder"].cylinder,n);throw new ce("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function Vat(e){let t=e[0],n=e[1],i=e[2],o=e[3],r=e[4],s=e[5],a=F.fromScale(ee.WGS84.radii),c=new h(t,n,r),u=new h(i,o,s);return{shape:Ni.ELLIPSOID,minBounds:c,maxBounds:u,shapeTransform:a,globalTransform:F.clone(F.IDENTITY)}}function Uat(e,t){let n=In.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:Ni.BOX,minBounds:h.clone(d_.DefaultMinBounds),maxBounds:h.clone(d_.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function zat(e,t){let n=In.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:Ni.CYLINDER,minBounds:h.clone(h_.DefaultMinBounds),maxBounds:h.clone(h_.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function Hat(e,t){let{schemaUri:n,schema:i}=e;return l(n)?Ci.getSchemaLoader({resource:t.getDerivedResource({url:n})}):Ci.getSchemaLoader({schema:i})}function Gat(e,t,n){let{schema:i,statistics:o}=t,r=o?.classes[n],s=i.classes[n].properties,a=Object.entries(s).map(([d,p])=>{let{type:g,componentType:m}=p,x=r?.properties[d].min,b=r?.properties[d].max,T=Et.getComponentCount(g),C=wge(x,T),A=wge(b,T);return{id:d,type:g,componentType:m,minValue:C,maxValue:A}});e.names=a.map(d=>d.id),e.types=a.map(d=>d.type),e.componentTypes=a.map(d=>d.componentType);let c=a.map(d=>d.minValue),u=a.map(d=>d.maxValue),f=c.some(l);e.minimumValues=f?c:void 0,e.maximumValues=f?u:void 0}function wge(e,t){if(!l(e))return;let n=Array.isArray(e)?e:[e];return Array.from({length:t},(i,o)=>n[o])}async function Wat(e,t){let n=e.contentUriTemplates[0].getDerivedResource({templateValues:t.getTemplateValues()}),i=e.baseResource.getDerivedResource({url:n.url}),o=await i.fetchArrayBuffer(),r=Gp(o);return await OU.fromJson(i,r.jsonPayload,r.binaryPayload,e.metadataSchema)}async function jat(e,t){let n=e._implicitTileset,i=e._subtreeCache,o=i.find(t);if(l(o))return o;let r=n.subtreeUriTemplate.getDerivedResource({templateValues:t.getTemplateValues()}),s=n.baseResource.getDerivedResource({url:r.url}),a=await s.fetchArrayBuffer();if(o=i.find(t),l(o))return o;let c=Gp(a);return o=await gC.fromSubtreeJson(s,c.jsonPayload,c.binaryPayload,n,t),i.addSubtree(o),o}MU.prototype.requestData=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.tileLevel,0),n=y(e.tileX,0),i=y(e.tileY,0),o=y(e.tileZ,0);if(y(e.keyframe,0)!==0)return;let s=this._implicitTileset,a=this.names,c=new _A({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:t,x:n,y:i,z:o}),u=c.isSubtreeRoot()&&c.level>0,f=u?c.getParentSubtreeCoordinates():c.getSubtreeCoordinates();return jat(this,f).then(function(p){return(u?p.childSubtreeIsAvailableAtCoordinates(c):p.tileIsAvailableAtCoordinates(c))?Wat(s,c):Promise.reject("Tile is not available")}).then(function(p){return a.map(function(g){return p.metadataTable.getPropertyTypedArray(g)})})};var vge=MU;function ZY(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(ZY.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});ZY.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var LU=ZY;var QY={CUMULUS:0};QY.validate=function(e){return e===QY.CUMULUS};var DI=Object.freeze(QY);var NU=`uniform sampler2D u_noiseTexture; -uniform vec3 u_noiseTextureDimensions; -uniform float u_noiseDetail; -in vec2 v_offset; -in vec3 v_maximumSize; -in vec4 v_color; -in float v_slice; -in float v_brightness; - -float wrap(float value, float rangeLength) { - if(value < 0.0) { - float absValue = abs(value); - float modValue = mod(absValue, rangeLength); - return mod(rangeLength - modValue, rangeLength); - } - return mod(value, rangeLength); -} - -vec3 wrapVec(vec3 value, float rangeLength) { - return vec3(wrap(value.x, rangeLength), - wrap(value.y, rangeLength), - wrap(value.z, rangeLength)); -} - -vec2 voxelToUV(vec3 voxelIndex) { - float textureSliceWidth = u_noiseTextureDimensions.x; - float noiseTextureRows = u_noiseTextureDimensions.y; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - - float textureSliceWidthSquared = textureSliceWidth * textureSliceWidth; - vec2 inverseNoiseTextureDimensions = vec2(noiseTextureRows / textureSliceWidthSquared, - inverseNoiseTextureRows / textureSliceWidth); - vec3 wrappedIndex = wrapVec(voxelIndex, textureSliceWidth); - float column = mod(wrappedIndex.z, textureSliceWidth * inverseNoiseTextureRows); - float row = floor(wrappedIndex.z / textureSliceWidth * noiseTextureRows); - - float xPixelCoord = wrappedIndex.x + column * textureSliceWidth; - float yPixelCoord = wrappedIndex.y + row * textureSliceWidth; - return vec2(xPixelCoord, yPixelCoord) * inverseNoiseTextureDimensions; -} - -// Interpolate a voxel with its neighbor (along the positive X-axis) -vec4 lerpSamplesX(vec3 voxelIndex, float x) { - vec2 uv0 = voxelToUV(voxelIndex); - vec2 uv1 = voxelToUV(voxelIndex + vec3(1.0, 0.0, 0.0)); - vec4 sample0 = texture(u_noiseTexture, uv0); - vec4 sample1 = texture(u_noiseTexture, uv1); - return mix(sample0, sample1, x); -} - -vec4 sampleNoiseTexture(vec3 position) { - float textureSliceWidth = u_noiseTextureDimensions.x; - vec3 recenteredPos = position + vec3(textureSliceWidth / 2.0); - vec3 lerpValue = fract(recenteredPos); - vec3 voxelIndex = floor(recenteredPos); - - vec4 xLerp00 = lerpSamplesX(voxelIndex, lerpValue.x); - vec4 xLerp01 = lerpSamplesX(voxelIndex + vec3(0.0, 0.0, 1.0), lerpValue.x); - vec4 xLerp10 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 0.0), lerpValue.x); - vec4 xLerp11 = lerpSamplesX(voxelIndex + vec3(0.0, 1.0, 1.0), lerpValue.x); - - vec4 yLerp0 = mix(xLerp00, xLerp10, lerpValue.y); - vec4 yLerp1 = mix(xLerp01, xLerp11, lerpValue.y); - return mix(yLerp0, yLerp1, lerpValue.z); -} - -// Intersection with a unit sphere with radius 0.5 at center (0, 0, 0). -bool intersectSphere(vec3 origin, vec3 dir, float slice, - out vec3 point, out vec3 normal) { - float A = dot(dir, dir); - float B = dot(origin, dir); - float C = dot(origin, origin) - 0.25; - float discriminant = (B * B) - (A * C); - if(discriminant < 0.0) { - return false; - } - float root = sqrt(discriminant); - float t = (-B - root) / A; - if(t < 0.0) { - t = (-B + root) / A; - } - point = origin + t * dir; - - if(slice >= 0.0) { - point.z = (slice / 2.0) - 0.5; - if(length(point) > 0.5) { - return false; - } - } - - normal = normalize(point); - point -= czm_epsilon2 * normal; - return true; -} - -// Transforms the ray origin and direction into unit sphere space, -// then transforms the result back into the ellipsoid's space. -bool intersectEllipsoid(vec3 origin, vec3 dir, vec3 center, vec3 scale, float slice, - out vec3 point, out vec3 normal) { - if(scale.x <= 0.01 || scale.y < 0.01 || scale.z < 0.01) { - return false; - } - - vec3 o = (origin - center) / scale; - vec3 d = dir / scale; - vec3 p, n; - bool intersected = intersectSphere(o, d, slice, p, n); - if(intersected) { - point = (p * scale) + center; - normal = n; - } - return intersected; -} - -// Assume that if phase shift is being called for octave i, -// the frequency is of i - 1. This saves us from doing extra -// division / multiplication operations. -vec2 phaseShift2D(vec2 p, vec2 freq) { - return (czm_pi / 2.0) * sin(freq.yx * p.yx); -} - -vec2 phaseShift3D(vec3 p, vec2 freq) { - return phaseShift2D(p.xy, freq) + czm_pi * vec2(sin(freq.x * p.z)); -} - -// The cloud texture function derived from Gardner's 1985 paper, -// "Visual Simulation of Clouds." -// https://www.cs.drexel.edu/~david/Classes/Papers/p297-gardner.pdf -const float T0 = 0.6; // contrast of the texture pattern -const float k = 0.1; // computed to produce a maximum value of 1 -const float C0 = 0.8; // coefficient -const float FX0 = 0.6; // frequency X -const float FY0 = 0.6; // frequency Y -const int octaves = 5; - -float T(vec3 point) { - vec2 sum = vec2(0.0); - float Ci = C0; - vec2 FXY = vec2(FX0, FY0); - vec2 PXY = vec2(0.0); - for(int i = 1; i <= octaves; i++) { - PXY = phaseShift3D(point, FXY); - Ci *= 0.707; - FXY *= 2.0; - vec2 sinTerm = sin(FXY * point.xy + PXY); - sum += Ci * sinTerm + vec2(T0); - } - return k * sum.x * sum.y; -} - -const float a = 0.5; // fraction of surface reflection due to ambient or scattered light, -const float t = 0.4; // fraction of texture shading -const float s = 0.25; // fraction of specular reflection - -float I(float Id, float Is, float It) { - return (1.0 - a) * ((1.0 - t) * ((1.0 - s) * Id + s * Is) + t * It) + a; -} - -const vec3 lightDir = normalize(vec3(0.2, -1.0, 0.7)); - -vec4 drawCloud(vec3 rayOrigin, vec3 rayDir, vec3 cloudCenter, vec3 cloudScale, float cloudSlice, - float brightness) { - vec3 cloudPoint, cloudNormal; - if(!intersectEllipsoid(rayOrigin, rayDir, cloudCenter, cloudScale, cloudSlice, - cloudPoint, cloudNormal)) { - return vec4(0.0); - } - - float Id = clamp(dot(cloudNormal, -lightDir), 0.0, 1.0); // diffuse reflection - float Is = max(pow(dot(-lightDir, -rayDir), 2.0), 0.0); // specular reflection - float It = T(cloudPoint); // texture function - float intensity = I(Id, Is, It); - vec3 color = vec3(intensity * clamp(brightness, 0.1, 1.0)); - - vec4 noise = sampleNoiseTexture(u_noiseDetail * cloudPoint); - float W = noise.x; - float W2 = noise.y; - float W3 = noise.z; - - // The dot product between the cloud's normal and the ray's direction is greatest - // in the center of the ellipsoid's surface. It decreases towards the edge. - // Thus, it is used to blur the areas leading to the edges of the ellipsoid, - // so that no harsh lines appear. - - // The first (and biggest) layer of worley noise is then subtracted from this. - // The final result is scaled up so that the base cloud is not too translucent. - float ndDot = clamp(dot(cloudNormal, -rayDir), 0.0, 1.0); - float TR = pow(ndDot, 3.0) - W; // translucency - TR *= 1.3; - - // Subtracting the second and third layers of worley noise is more complicated. - // If these layers of noise were simply subtracted from the current translucency, - // the shape derived from the first layer of noise would be completely deleted. - // The erosion of this noise should thus be constricted to the edges of the cloud. - // However, because the edges of the ellipsoid were already blurred away, mapping - // the noise to (1.0 - ndDot) will have no impact on most of the cloud's appearance. - // The value of (0.5 - ndDot) provides the best compromise. - float minusDot = 0.5 - ndDot; - - // Even with the previous calculation, subtracting the second layer of wnoise - // erode too much of the cloud. The addition of it, however, will detailed - // volume to the cloud. As long as the noise is only added and not subtracted, - // the results are aesthetically pleasing. - - // The minusDot product is mapped in a way that it is larger at the edges of - // the ellipsoid, so a subtraction and min operation are used instead of - // an addition and max one. - TR -= min(minusDot * W2, 0.0); - - // The third level of worley noise is subtracted from the result, with some - // modifications. First, a scalar is added to minusDot so that the noise - // starts affecting the shape farther away from the center of the ellipsoid's - // surface. Then, it is scaled down so its impact is not too intense. - TR -= 0.8 * (minusDot + 0.25) * W3; - - // The texture function's shading does not correlate with the shape of the cloud - // produced by the layers of noise, so an extra shading scalar is calculated. - // The darkest areas of the cloud are assigned to be where the noise erodes - // the cloud the most. This is then interpolated based on the translucency - // and the diffuse shading term of that point in the cloud. - float shading = mix(1.0 - 0.8 * W * W, 1.0, Id * TR); - - // To avoid values that are too dark, this scalar is increased by a small amount - // and clamped so it never goes to zero. - shading = clamp(shading + 0.2, 0.3, 1.0); - - // Finally, the contrast of the cloud's color is increased. - vec3 finalColor = mix(vec3(0.5), shading * color, 1.15); - return vec4(finalColor, clamp(TR, 0.0, 1.0)) * v_color; -} - -void main() { -#ifdef DEBUG_BILLBOARDS - out_FragColor = vec4(0.0, 0.5, 0.5, 1.0); -#endif - // To avoid calculations with high values, - // we raycast from an arbitrarily smaller space. - vec2 coordinate = v_maximumSize.xy * v_offset; - - vec3 ellipsoidScale = 0.82 * v_maximumSize; - vec3 ellipsoidCenter = vec3(0.0); - - float zOffset = max(ellipsoidScale.z - 10.0, 0.0); - vec3 eye = vec3(0, 0, -10.0 - zOffset); - vec3 rayDir = normalize(vec3(coordinate, 1.0) - eye); - vec3 rayOrigin = eye; -#ifdef DEBUG_ELLIPSOIDS - vec3 point, normal; - if(intersectEllipsoid(rayOrigin, rayDir, ellipsoidCenter, ellipsoidScale, v_slice, - point, normal)) { - out_FragColor = v_brightness * v_color; - } -#else -#ifndef DEBUG_BILLBOARDS - vec4 cloud = drawCloud(rayOrigin, rayDir, - ellipsoidCenter, ellipsoidScale, v_slice, v_brightness); - if(cloud.w < 0.01) { - discard; - } - out_FragColor = cloud; -#endif -#endif -} -`;var FU=`#ifdef INSTANCED -in vec2 direction; -#endif -in vec4 positionHighAndScaleX; -in vec4 positionLowAndScaleY; -in vec4 packedAttribute0; -in vec4 packedAttribute1; -in vec4 color; - -out vec2 v_offset; -out vec3 v_maximumSize; -out vec4 v_color; -out float v_slice; -out float v_brightness; - -void main() { - // Unpack attributes. - vec3 positionHigh = positionHighAndScaleX.xyz; - vec3 positionLow = positionLowAndScaleY.xyz; - vec2 scale = vec2(positionHighAndScaleX.w, positionLowAndScaleY.w); - - float show = packedAttribute0.x; - float brightness = packedAttribute0.y; - vec2 coordinates = packedAttribute0.wz; - vec3 maximumSize = packedAttribute1.xyz; - float slice = packedAttribute1.w; - -#ifdef INSTANCED - vec2 dir = direction; -#else - vec2 dir = coordinates; -#endif - - vec2 offset = dir - vec2(0.5, 0.5); - vec2 scaledOffset = scale * offset; - vec4 p = czm_translateRelativeToEye(positionHigh, positionLow); - vec4 positionEC = czm_modelViewRelativeToEye * p; - positionEC.xy += scaledOffset; - - positionEC.xyz *= show; - gl_Position = czm_projection * positionEC; - - v_offset = offset; - v_maximumSize = maximumSize; - v_color = color; - v_slice = slice; - v_brightness = brightness; -} -`;var BU=`uniform vec3 u_noiseTextureDimensions; -uniform float u_noiseDetail; -uniform vec3 u_noiseOffset; -in vec2 v_position; - -float wrap(float value, float rangeLength) { - if(value < 0.0) { - float absValue = abs(value); - float modValue = mod(absValue, rangeLength); - return mod(rangeLength - modValue, rangeLength); - } - return mod(value, rangeLength); -} - -vec3 wrapVec(vec3 value, float rangeLength) { - return vec3(wrap(value.x, rangeLength), - wrap(value.y, rangeLength), - wrap(value.z, rangeLength)); -} - -vec3 random3(vec3 p) { - float dot1 = dot(p, vec3(127.1, 311.7, 932.8)); - float dot2 = dot(p, vec3(269.5, 183.3, 421.4)); - return fract(vec3(sin(dot1 - dot2), cos(dot1 * dot2), dot1 * dot2)); -} - -// Frequency corresponds to cell size. -// The higher the frequency, the smaller the cell size. -vec3 getWorleyCellPoint(vec3 centerCell, vec3 offset, float freq) { - float textureSliceWidth = u_noiseTextureDimensions.x; - vec3 cell = centerCell + offset; - cell = wrapVec(cell, textureSliceWidth / u_noiseDetail); - cell += floor(u_noiseOffset / u_noiseDetail); - vec3 p = offset + random3(cell); - return p; -} - -float worleyNoise(vec3 p, float freq) { - vec3 centerCell = floor(p * freq); - vec3 pointInCell = fract(p * freq); - float shortestDistance = 1000.0; - - for(float z = -1.0; z <= 1.0; z++) { - for(float y = -1.0; y <= 1.0; y++) { - for(float x = -1.0; x <= 1.0; x++) { - vec3 offset = vec3(x, y, z); - vec3 point = getWorleyCellPoint(centerCell, offset, freq); - - float distance = length(pointInCell - point); - if(distance < shortestDistance) { - shortestDistance = distance; - } - } - } - } - - return shortestDistance; -} - -const float MAX_FBM_ITERATIONS = 10.0; - -float worleyFBMNoise(vec3 p, float octaves, float scale) { - float noise = 0.0; - float freq = 1.0; - float persistence = 0.625; - for(float i = 0.0; i < MAX_FBM_ITERATIONS; i++) { - if(i >= octaves) { - break; - } - - noise += worleyNoise(p * scale, freq * scale) * persistence; - persistence *= 0.5; - freq *= 2.0; - } - return noise; -} - -void main() { - float textureSliceWidth = u_noiseTextureDimensions.x; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - float x = mod(v_position.x, textureSliceWidth); - float y = mod(v_position.y, textureSliceWidth); - float sliceRow = floor(v_position.y / textureSliceWidth); - float z = floor(v_position.x / textureSliceWidth) + sliceRow * inverseNoiseTextureRows * textureSliceWidth; - - vec3 position = vec3(x, y, z); - position /= u_noiseDetail; - float worley0 = clamp(worleyFBMNoise(position, 3.0, 1.0), 0.0, 1.0); - float worley1 = clamp(worleyFBMNoise(position, 3.0, 2.0), 0.0, 1.0); - float worley2 = clamp(worleyFBMNoise(position, 3.0, 3.0), 0.0, 1.0); - out_FragColor = vec4(worley0, worley1, worley2, 1.0); -} -`;var kU=`uniform vec3 u_noiseTextureDimensions; -in vec2 position; - -out vec2 v_position; - -void main() -{ - gl_Position = vec4(position, 0.1, 1.0); - - float textureSliceWidth = u_noiseTextureDimensions.x; - float noiseTextureRows = u_noiseTextureDimensions.y; - float inverseNoiseTextureRows = u_noiseTextureDimensions.z; - vec2 transformedPos = (position * 0.5) + vec2(0.5); - transformedPos *= textureSliceWidth; - transformedPos.x *= textureSliceWidth * inverseNoiseTextureRows; - transformedPos.y *= noiseTextureRows; - v_position = transformedPos; -} -`;function Qd(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!l(e.scale)&&l(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new U(this._maximumSize.x,this._maximumSize.y);else{this._scale=U.clone(y(e.scale,new U(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=H.clone(y(e.color,H.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var qat=Qd.SHOW_INDEX=0,Yat=Qd.POSITION_INDEX=1,Xat=Qd.SCALE_INDEX=2,Kat=Qd.MAXIMUM_SIZE_INDEX=3,$at=Qd.SLICE_INDEX=4,Zat=Qd.BRIGHTNESS_INDEX=5,Qat=Qd.COLOR_INDEX=6;Qd.NUMBER_OF_PROPERTIES=7;function ub(e,t){let n=e._cloudCollection;l(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(Qd.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,ub(this,qat))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),ub(this,Yat))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;U.equals(t,e)||(U.clone(e,t),ub(this,Xat))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),ub(this,Kat))}},color:{get:function(){return this._color},set:function(e){let t=this._color;H.equals(t,e)||(H.clone(e,t),ub(this,Qat))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,ub(this,$at))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,ub(this,Zat))}}});Qd.prototype._destroy=function(){this._cloudCollection=void 0};var Bf=Qd;var vu,VU=new h,Jat={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},ect={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},tct=Bf.SHOW_INDEX,nct=Bf.POSITION_INDEX,ict=Bf.SCALE_INDEX,oct=Bf.MAXIMUM_SIZE_INDEX,rct=Bf.SLICE_INDEX,sct=Bf.BRIGHTNESS_INDEX,act=Bf.NUMBER_OF_PROPERTIES,cct=Bf.COLOR_INDEX;function Jd(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(act),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:Dge(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function Dge(e){return function(){return VU.x=e._textureSliceWidth,VU.y=e._noiseTextureRows,VU.z=1/e._noiseTextureRows,VU}}Object.defineProperties(Jd.prototype,{length:{get:function(){return eX(this),this._clouds.length}}});function Ige(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}Jd.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.cloudType,DI.CUMULUS),n;return t===DI.CUMULUS&&(n=new Bf(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n};Jd.prototype.remove=function(e){return this.contains(e)?(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};Jd.prototype.removeAll=function(){Ige(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function eX(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;let t=[],n=e._clouds,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(n._index=r++,t.push(s))}e._clouds=t}}Jd.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]};Jd.prototype.contains=function(e){return l(e)&&e._cloudCollection===this};Jd.prototype.get=function(e){return eX(this),this._clouds[e]};var lct=new Float32Array([-1,-1,1,-1,1,1,-1,1]),uct=new Uint16Array([0,1,2,0,2,3]);function fct(e){let t=yt.createVertexBuffer({context:e,typedArray:lct,usage:Ve.STATIC_DRAW}),n=yt.createIndexBuffer({context:e,typedArray:uct,usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:X.FLOAT}];return new di({context:e,attributes:i,indexBuffer:n})}var tX;function dct(e){let n=e.cache.cloudCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s,o[r+4]=s+2,o[r+5]=s+3;return n=yt.createIndexBuffer({context:e,typedArray:o,usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function hct(e){let t=e.cache.cloudCollection_indexBufferInstanced;return l(t)||(t=yt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function mct(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return l(t)||(t=yt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Ve.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function pct(e,t,n){let i=[{index:vu.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ve.STATIC_DRAW},{index:vu.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ve.STATIC_DRAW},{index:vu.packedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ve.STATIC_DRAW},{index:vu.packedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ve.STATIC_DRAW},{index:vu.color,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,usage:Ve.STATIC_DRAW}];n&&i.push({index:vu.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:mct(e)});let o=n?t:4*t;return new G_(e,i,o,n)}var JY=new Wn;function Pge(e,t,n,i){let o,r=n[vu.positionHighAndScaleX],s=n[vu.positionLowAndScaleY],a=i.position;Wn.fromCartesian(a,JY);let c=i.scale,u=JY.high,f=JY.low;e._instanced?(o=i._index,r(o,u.x,u.y,u.z,c.x),s(o,f.x,f.y,f.z,c.y)):(o=i._index*4,r(o+0,u.x,u.y,u.z,c.x),r(o+1,u.x,u.y,u.z,c.x),r(o+2,u.x,u.y,u.z,c.x),r(o+3,u.x,u.y,u.z,c.x),s(o+0,f.x,f.y,f.z,c.y),s(o+1,f.x,f.y,f.z,c.y),s(o+2,f.x,f.y,f.z,c.y),s(o+3,f.x,f.y,f.z,c.y))}function Rge(e,t,n,i){let o,r=n[vu.packedAttribute0],s=i.show,a=i.brightness;e._instanced?(o=i._index,r(o,s,a,0,0)):(o=i._index*4,r(o+0,s,a,0,0),r(o+1,s,a,1,0),r(o+2,s,a,1,1),r(o+3,s,a,0,1))}function Oge(e,t,n,i){let o,r=n[vu.packedAttribute1],s=i.maximumSize,a=i.slice;e._instanced?(o=i._index,r(o,s.x,s.y,s.z,a)):(o=i._index*4,r(o+0,s.x,s.y,s.z,a),r(o+1,s.x,s.y,s.z,a),r(o+2,s.x,s.y,s.z,a),r(o+3,s.x,s.y,s.z,a))}function Mge(e,t,n,i){let o,r=n[vu.color],s=i.color,a=H.floatToByte(s.red),c=H.floatToByte(s.green),u=H.floatToByte(s.blue),f=H.floatToByte(s.alpha);e._instanced?(o=i._index,r(o,a,c,u,f)):(o=i._index*4,r(o+0,a,c,u,f),r(o+1,a,c,u,f),r(o+2,a,c,u,f),r(o+3,a,c,u,f))}function _ct(e,t,n,i){Pge(e,t,n,i),Rge(e,t,n,i),Oge(e,t,n,i),Mge(e,t,n,i)}function gct(e,t,n,i){let o=e,r=o._textureSliceWidth,s=o._noiseTextureRows,a=t.context;o._vaNoise=fct(a),o._spNoise=sn.fromCache({context:a,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});let c=o.noiseDetail,u=o.noiseOffset;o._noiseTexture=new Mt({context:a,width:r*r/s,height:r*s,pixelDatatype:nt.UNSIGNED_BYTE,pixelFormat:ct.RGBA,sampler:new tn({wrapS:wn.REPEAT,wrapT:wn.REPEAT,minificationFilter:en.NEAREST,magnificationFilter:fi.NEAREST})});let f=new mh({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:Dge(o),u_noiseDetail:function(){return c},u_noiseOffset:function(){return u}},persists:!1,owner:e,postExecute:function(d){o._ready=!0,o._loading=!1}});t.commandList.push(f),o._loading=!0}function yct(e,t){let n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();let o=e._clouds,r=o.length;if(r>0){n._vaf=pct(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a<r;++a){let c=o[a];_ct(e,t,s,c)}n._vaf.commit(tX(i))}}var xct=[];function bct(e,t){let n=t.context,i=e,r=i._clouds.length,s=i._cloudsToUpdate,a=i._cloudsToUpdateIndex,c=i._propertiesChanged,u=xct;u.length=0,(c[nct]||c[ict])&&u.push(Pge),(c[tct]||c[sct])&&u.push(Rge),(c[oct]||c[rct])&&u.push(Oge),c[cct]&&u.push(Mge);let f=u.length,d=i._vaf.writers,p,g,m;if(a/r>.1){for(p=0;p<a;++p)for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._vaf.commit(tX(n))}else{for(p=0;p<a;++p){for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._instanced?i._vaf.subCommit(g._index,1):i._vaf.subCommit(g._index*4,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function Tct(e,t,n,i){let o=t.context,r=e,s=new Ge({defines:[],sources:[n]});r._instanced&&s.defines.push("INSTANCED");let a=new Ge({defines:[],sources:[i]});r.debugBillboards&&a.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&a.defines.push("DEBUG_ELLIPSOIDS"),r._sp=sn.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:vu}),r._rs=ze.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!1,blending:fn.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function Cct(e,t){let n=e,i=t.passes,o=n._uniforms,r=t.commandList;if(i.render){let s=n._colorCommands,a=n._vaf.va,c=a.length;s.length=c;for(let u=0;u<c;u++){let f=s[u];l(f)||(f=s[u]=new et),f.pass=Se.TRANSLUCENT,f.owner=e,f.uniformMap=o,f.count=a[u].indicesCount,f.vertexArray=a[u].va,f.shaderProgram=n._sp,f.renderState=n._rs,n._instanced&&(f.count=6,f.instanceCount=n._clouds.length),r.push(f)}}}Jd.prototype.update=function(e){if(eX(this),!this.show)return;let t=this.debugBillboards||this.debugEllipsoids;this._ready=t?!0:l(this._noiseTexture),!this._ready&&!this._loading&&!t&&gct(this,e,kU,BU),this._instanced=e.context.instancedArrays,vu=this._instanced?ect:Jat,tX=this._instanced?hct:dct;let i=this._clouds.length,o=this._cloudsToUpdate,r=this._cloudsToUpdateIndex;this._createVertexArray?yct(this,e):r>0&&bct(this,e),r>i*1.5&&(o.length=i),!(!l(this._vaf)||!l(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&Tct(this,e,FU,NU),Cct(this,e))};Jd.prototype.isDestroyed=function(){return!1};Jd.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),Ige(this._clouds),ue(this)};var Lge=Jd;async function Act(e,t,n,i){return l(i)||(i=!1),wct(e,t,n,i)}function Ect(e,t,n){let i=e[0],o=i.terrainProvider.requestTileGeometry(i.x,i.y,i.level);if(!o)return!1;let r;return n?r=o.then(Fge(i)):r=o.then(Fge(i)).catch(vct(i)),e.shift(),t.push(r),!0}function Sct(e){return new Promise(function(t){setTimeout(t,e)})}function nX(e,t,n){return e.length?Ect(e,t,n)?nX(e,t,n):Sct(100).then(()=>nX(e,t,n)):Promise.resolve()}function wct(e,t,n,i){let o=e.tilingScheme,r,s=[],a={};for(r=0;r<n.length;++r){let u=o.positionToTileXY(n[r],t);if(!l(u))continue;let f=u.toString();if(!a.hasOwnProperty(f)){let d={x:u.x,y:u.y,level:t,tilingScheme:o,terrainProvider:e,positions:[]};a[f]=d,s.push(d)}a[f].positions.push(n[r])}let c=[];return nX(s,c,i).then(function(){return Promise.all(c).then(function(){return n})})}function Nge(e,t,n){let i=t.interpolateHeight(n,e.longitude,e.latitude);return i===void 0?!1:(e.height=i,!0)}function Fge(e){let t=e.positions,n=e.tilingScheme.tileXYToRectangle(e.x,e.y,e.level);return function(i){let o=!1;for(let r=0;r<t.length;++r){let s=t[r];if(!Nge(s,i,n)){o=!0;break}}return o?i.createMesh({tilingScheme:e.tilingScheme,x:e.x,y:e.y,level:e.level,throttle:!1}).then(function(){for(let r=0;r<t.length;++r){let s=t[r];Nge(s,i,n)}}):Promise.resolve()}}function vct(e){let t=e.positions;return function(){for(let n=0;n<t.length;++n){let i=t[n];i.height=void 0}}}var UU=Act;var iX=new U;async function Bge(e,t,n){l(n)||(n=!1);let i=[],o=[],r=e.availability,s=[];for(let c=0;c<t.length;++c){let u=t[c],f=r.computeMaximumLevelAtPosition(u);if(o[c]=f,f===0){e.tilingScheme.positionToTileXY(u,1,iX);let p=e.loadTileDataAvailability(iX.x,iX.y,1);l(p)&&s.push(p)}let d=i[f];l(d)||(i[f]=d=[]),d.push(u)}await Promise.all(s),await Promise.all(i.map(function(c,u){if(l(c))return UU(e,u,c,n)}));let a=[];for(let c=0;c<t.length;++c){let u=t[c];r.computeMaximumLevelAtPosition(u)!==o[c]&&a.push(u)}return a.length>0&&await Bge(e,a,n),t}var LE=Bge;async function oX(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);if(t.mode===ne.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),!l(n))return r;let a=n.availability;if(!l(a)||t.mode===ne.SCENE2D)return r;let c=[se.center(e),se.southeast(e),se.southwest(e),se.northeast(e),se.northwest(e)],u=await oX._sampleTerrainMostDetailed(n,c),f=!1,d=u.reduce(function(g,m){return l(m.height)?(f=!0,Math.max(m.height,g)):g},-Number.MAX_VALUE),p=r;return f&&(p.height+=d),p}oX._sampleTerrainMostDetailed=LE;var NE=oX;var Dct=P.toRadians(30);function rX(e){this._angle=y(e,Dct)}Object.defineProperties(rX.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});rX.prototype.emit=function(e){let t=Math.tan(this._angle),n=P.randomBetween(0,P.TWO_PI),i=P.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var kge=rX;var sX=[],aX=[];function Ict(e,t,n,i,o,r){let s=o-i+1,a=r-o,c=sX,u=aX,f,d;for(f=0;f<s;++f)c[f]=e[i+f];for(d=0;d<a;++d)u[d]=e[o+d+1];f=0,d=0;for(let p=i;p<=r;++p){let g=c[f],m=u[d];f<s&&(d>=a||t(g,m,n)<=0)?(e[p]=g,++f):d<a&&(e[p]=m,++d)}}function cX(e,t,n,i,o){if(i>=o)return;let r=Math.floor((i+o)*.5);cX(e,t,n,i,r),cX(e,t,n,r+1,o),Ict(e,t,n,i,r,o)}function Pct(e,t,n){let i=e.length,o=Math.ceil(i*.5);sX.length=o,aX.length=o,cX(e,t,n,0,i-1),sX.length=0,aX.length=0}var Hy=Pct;var Rct=new H,Oct=new H,Mct=new H,Lct=new H,Vge=new oe,II=new Uint8Array(4);function Uge(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return H.lerp(t.color,n.color,o,i)}function zU(e,t){return{height:e,color:H.clone(t)}}function zge(e){return e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?t.height===i[n-1].height:!0,a=r?t.height===i[n+1].height:!0;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?H.equals(t.color,i[n-1].color):!1,a=r?H.equals(t.color,i[n+1].color):!1;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=o?H.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function Nct(e){let t,n,i=[],o=e.length;for(t=0;t<o;t++){let r=e[t],s=r.entries,a=s.length,c=[];for(n=0;n<a;n++){let g=s[n],m=P.clamp(g.height,Ml._minimumHeight,Ml._maximumHeight),x=H.clone(g.color,Rct);x.red*=x.alpha,x.green*=x.alpha,x.blue*=x.alpha,c.push(zU(m,x))}let u=!0,f=!0;for(n=0;n<a-1;n++){let g=c[n+0],m=c[n+1];u=u&&g.height<=m.height,f=f&&g.height>=m.height}f?c=c.reverse():u||Hy(c,function(g,m){return P.sign(g.height-m.height)});let d=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!d&&!p&&(d=!0,p=!0),d&&c.splice(0,0,zU(Ml._minimumHeight,c[0].color)),p&&c.splice(c.length,0,zU(Ml._maximumHeight,c[c.length-1].color)),c=zge(c),i.push(c)}return i}function Fct(e){let t=Nct(e),n=[],i=[],o;function r(u,f){n.push(zU(u,f))}function s(u,f,d){let p=H.multiplyByScalar(d,1-f.alpha,Lct);p=H.add(p,f,p),r(u,p)}let a=t.length;for(o=0;o<a;o++){let u=t[o],f=0,d=0;i=n,n=[];let p=u.length,g=i.length;for(;f<p||d<g;){let m=f<p?u[f]:void 0,x=f>0?u[f-1]:void 0,b=f<p-1?u[f+1]:void 0,T=d<g?i[d]:void 0,C=d>0?i[d-1]:void 0,A=d<g-1?i[d+1]:void 0;if(l(m)&&l(T)&&m.height===T.height){let S=l(A)&&T.height===A.height,w=!l(C),D=!l(A),O=l(b)&&m.height===b.height,R=!l(x),M=!l(b);S?O?(s(m.height,m.color,T.color),s(m.height,b.color,A.color)):R?(r(m.height,T.color),s(m.height,m.color,A.color)):M?(s(m.height,m.color,T.color),r(m.height,A.color)):(s(m.height,m.color,T.color),s(m.height,m.color,A.color)):w?O?(r(m.height,m.color),s(m.height,b.color,T.color)):M?(r(m.height,m.color),r(m.height,T.color)):(R||r(m.height,m.color),s(m.height,m.color,T.color)):D?O?(s(m.height,m.color,T.color),r(m.height,b.color)):R?(r(m.height,T.color),r(m.height,m.color)):M?s(m.height,m.color,T.color):(s(m.height,m.color,T.color),r(m.height,m.color)):O?(s(m.height,m.color,T.color),s(m.height,b.color,T.color)):R?(r(m.height,T.color),s(m.height,m.color,T.color)):M?(s(m.height,m.color,T.color),r(m.height,T.color)):s(m.height,m.color,T.color),f+=O?2:1,d+=S?2:1}else if(l(m)&&l(T)&&l(C)&&m.height<T.height){let S=Uge(m.height,C,T,Mct);l(x)?l(b)?s(m.height,m.color,S):(s(m.height,m.color,S),r(m.height,S)):(r(m.height,S),s(m.height,m.color,S)),f++}else if(l(T)&&l(m)&&l(x)&&T.height<m.height){let S=Uge(T.height,x,m,Oct);l(C)?l(A)?s(T.height,S,T.color):(s(T.height,S,T.color),r(T.height,S)):(r(T.height,S),s(T.height,S,T.color)),d++}else l(m)&&(!l(T)||m.height<T.height)?(l(T)&&!l(C)&&!l(b)?(r(m.height,m.color),r(m.height,Ml._emptyColor),r(T.height,Ml._emptyColor)):(!l(T)&&l(C)&&!l(x)&&(r(C.height,Ml._emptyColor),r(m.height,Ml._emptyColor)),r(m.height,m.color)),f++):l(T)&&(!l(m)||T.height<m.height)&&(r(T.height,T.color),d++)}}return zge(n)}function Ml(e){let{scene:t,layers:n}=y(e,y.EMPTY_OBJECT),{context:i}=t,o=Fct(n),r=o.length,s,a,c;if(!Ml._useFloatTexture(i)){a=nt.UNSIGNED_BYTE,c=ct.RGBA,s=new Uint8Array(r*4);for(let g=0;g<r;g++)oe.packFloat(o[g].height,Vge),oe.pack(Vge,s,g*4)}else{a=nt.FLOAT,c=i.webgl2?ct.RED:ct.LUMINANCE,s=new Float32Array(r);for(let g=0;g<r;g++)s[g]=o[g].height}let f=Mt.create({context:i,pixelFormat:c,pixelDatatype:a,source:{arrayBufferView:s,width:r,height:1},sampler:new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.NEAREST,magnificationFilter:fi.NEAREST})}),d=new Uint8Array(r*4);for(let g=0;g<r;g++)o[g].color.toBytes(II),d[g*4+0]=II[0],d[g*4+1]=II[1],d[g*4+2]=II[2],d[g*4+3]=II[3];let p=Mt.create({context:i,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,source:{arrayBufferView:d,width:r,height:1},sampler:new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.LINEAR,magnificationFilter:fi.LINEAR})});return ji.fromType("ElevationBand",{heights:f,colors:p})}Ml._useFloatTexture=function(e){return e.floatingPointTexture};Ml._maximumHeight=5906376425472;Ml._minimumHeight=-5906376425472;Ml._emptyColor=new H(0,0,0,0);var Hge=Ml;var HU={};HU.defaultApiKey=void 0;HU.mapTilesApiEndpoint=new ve({url:"https://tile.googleapis.com/v1/"});HU.getDefaultCredit=function(){return new vt('<img src="https://assets.ion.cesium.com/google-credit.png" style="vertical-align: -5px" alt="Google">',!0)};var FE=HU;async function Bct(e,t){if(t=y(t,{}),t.cacheBytes=y(t.cacheBytes,1536*1024*1024),t.maximumCacheOverflowBytes=y(t.maximumCacheOverflowBytes,1024*1024*1024),t.enableCollision=y(t.enableCollision,!0),e=y(e,FE.defaultApiKey),!l(e))return kct(t);let n,i=FE.getDefaultCredit();l(i)&&(n=[i]);let o=new ve({url:`${FE.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:e},credits:n});return Da.fromUrl(o,t)}var Gge={};async function kct(e){let i=Gge[2275207];l(i)||(i=Ju.fromAssetId(2275207),Gge[2275207]=i);let o=await i;return Da.fromUrl(o,e)}var Wge=Bct;async function Vct(e){let t=await Da.fromIonAssetId(96188,e);e=y(e,y.EMPTY_OBJECT);let n=e.style;if(!l(n)){let i=y(e.defaultColor,H.WHITE).toCssColorString();n=new RE({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var jge=Vct;function Uct(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!l(n.attributes)||!l(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=F.clone(y(e.modelMatrix,F.IDENTITY)),r=y(e.length,1e4);if(l(i.normal)&&t.push(new wt({geometry:Un.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new jt(1,0,0,1)},modelMatrix:o})),l(i.tangent)&&t.push(new wt({geometry:Un.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new jt(0,1,0,1)},modelMatrix:o})),l(i.bitangent)&&t.push(new wt({geometry:Un.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new jt(0,0,1,1)},modelMatrix:o})),t.length>0)return new Rn({asynchronous:!1,geometryInstances:t,appearance:new un({flat:!0,translucent:!1})})}var qge=Uct;var Yge=/{[^}]+}/g,Xge={x:Wct,y:qct,z:Kct,s:$ct,reverseX:jct,reverseY:Yct,reverseZ:Xct,westDegrees:Zct,southDegrees:Qct,eastDegrees:Jct,northDegrees:elt,westProjected:tlt,southProjected:nlt,eastProjected:ilt,northProjected:olt,width:rlt,height:slt},zct=xt(Xge,{i:alt,j:clt,reverseI:llt,reverseJ:ult,longitudeDegrees:dlt,latitudeDegrees:hlt,longitudeProjected:mlt,latitudeProjected:plt,format:glt});function PI(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me;let t=ve.createIfNeeded(e.url),n=ve.createIfNeeded(e.pickFeaturesUrl);this._resource=t,this._urlSchemeZeroPadding=e.urlSchemeZeroPadding,this._getFeatureInfoFormats=e.getFeatureInfoFormats,this._pickFeaturesResource=n;let i=e.subdomains;Array.isArray(i)?i=i.slice():l(i)&&i.length>0?i=i.split(""):i=["a","b","c"],this._subdomains=i,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new cs({ellipsoid:e.ellipsoid})),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._rectangle=se.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=e.tileDiscardPolicy;let o=e.credit;typeof o=="string"&&(o=new vt(o)),this._credit=o,this._hasAlphaChannel=y(e.hasAlphaChannel,!0);let r=e.customTags,s=xt(Xge,r),a=xt(zct,r);this._tags=s,this._pickFeaturesTags=a,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=y(e.enablePickFeatures,!0)}Object.defineProperties(PI.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});PI.prototype.getTileCredits=function(e,t,n){};PI.prototype.requestImage=function(e,t,n,i){return Il.loadImage(this,Hct(this,e,t,n,i))};PI.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!l(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(u,f){return u.callback(f)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let u=s._getFeatureInfoFormats[r],f=Gct(s,e,t,n,i,o,u.format);return++r,u.type==="json"?f.fetchJson().then(u.callback).catch(c):u.type==="xml"?f.fetchXML().then(u.callback).catch(c):u.type==="text"||u.type==="html"?f.fetchText().then(u.callback).catch(c):f.fetch({responseType:u.format}).then(a.bind(void 0,u)).catch(c)}return c()};var GU=!1,Du=new se,WU=!1,RI=new se;function Hct(e,t,n,i,o){GU=!1,WU=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},u=s.match(Yge);return l(u)&&u.forEach(function(f){let d=f.substring(1,f.length-1);l(a[d])&&(c[d]=a[d](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var lX=!1,kE=new U,uX=!1;function Gct(e,t,n,i,o,r,s){GU=!1,WU=!1,lX=!1,uX=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),u=e._pickFeaturesTags,f={},d=c.match(Yge);return l(d)&&d.forEach(function(p){let g=p.substring(1,p.length-1);l(u[g])&&(f[g]=u[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:f})}function VE(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function Wct(e,t,n,i){return VE(e,"{x}",t)}function jct(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return VE(e,"{reverseX}",o)}function qct(e,t,n,i){return VE(e,"{y}",n)}function Yct(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return VE(e,"{reverseY}",o)}function Xct(e,t,n,i){let o=e.maximumLevel,r=l(o)&&i<o?o-i-1:i;return VE(e,"{reverseZ}",r)}function Kct(e,t,n,i){return VE(e,"{z}",i)}function $ct(e,t,n,i){let o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function jU(e,t,n,i){GU||(e.tilingScheme.tileXYToRectangle(t,n,i,Du),Du.west=P.toDegrees(Du.west),Du.south=P.toDegrees(Du.south),Du.east=P.toDegrees(Du.east),Du.north=P.toDegrees(Du.north),GU=!0)}function Zct(e,t,n,i){return jU(e,t,n,i),Du.west}function Qct(e,t,n,i){return jU(e,t,n,i),Du.south}function Jct(e,t,n,i){return jU(e,t,n,i),Du.east}function elt(e,t,n,i){return jU(e,t,n,i),Du.north}function qU(e,t,n,i){WU||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,RI),WU=!0)}function tlt(e,t,n,i){return qU(e,t,n,i),RI.west}function nlt(e,t,n,i){return qU(e,t,n,i),RI.south}function ilt(e,t,n,i){return qU(e,t,n,i),RI.east}function olt(e,t,n,i){return qU(e,t,n,i),RI.north}function rlt(e,t,n,i){return e.tileWidth}function slt(e,t,n,i){return e.tileHeight}function alt(e,t,n,i,o,r,s){return YU(e,t,n,i,o,r),kE.x}function clt(e,t,n,i,o,r,s){return YU(e,t,n,i,o,r),kE.y}function llt(e,t,n,i,o,r,s){return YU(e,t,n,i,o,r),e.tileWidth-kE.x-1}function ult(e,t,n,i,o,r,s){return YU(e,t,n,i,o,r),e.tileHeight-kE.y-1}var flt=new se,BE=new h;function YU(e,t,n,i,o,r,s){if(lX)return;fX(e,t,n,i,o,r);let a=BE,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,flt);kE.x=e.tileWidth*(a.x-c.west)/c.width|0,kE.y=e.tileHeight*(c.north-a.y)/c.height|0,lX=!0}function dlt(e,t,n,i,o,r,s){return P.toDegrees(o)}function hlt(e,t,n,i,o,r,s){return P.toDegrees(r)}function mlt(e,t,n,i,o,r,s){return fX(e,t,n,i,o,r),BE.x}function plt(e,t,n,i,o,r,s){return fX(e,t,n,i,o,r),BE.y}var _lt=new fe;function fX(e,t,n,i,o,r,s){if(!uX){if(e.tilingScheme.projection instanceof vi)BE.x=P.toDegrees(o),BE.y=P.toDegrees(r);else{let a=_lt;a.longitude=o,a.latitude=r,e.tilingScheme.projection.project(a,BE)}uX=!0}}function glt(e,t,n,i,o,r,s){return s}var uc=PI;function kf(e){uc.call(this,e)}kf._requestMetadata=async function(e,t,n,i){try{let o=await n.fetchXML();return kf._metadataSuccess(o,e,t,n,i)}catch(o){if(o instanceof Jm)return kf._metadataFailure(e,t);throw o}};kf.fromUrl=async function(e,t){let n=ve.createIfNeeded(e);n.appendForwardSlash();let i=n,o=n.getDerivedResource({url:"tilemapresource.xml"});t=y(t,y.EMPTY_OBJECT);let r=await kf._requestMetadata(t,i,o);return new kf(r)};l(Object.create)&&(kf.prototype=Object.create(uc.prototype),kf.prototype.constructor=kf);function Kge(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function $ge(e,t,n){let i=e.positionToTileXY(se.southwest(t),n),o=e.positionToTileXY(se.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}kf._metadataSuccess=function(e,t,n,i,o){let r=/tileformat/i,s=/tileset/i,a=/tilesets/i,c=/boundingbox/i,u,f,d,p=[],g=e.childNodes[0].childNodes;for(let R=0;R<g.length;R++)if(r.test(g.item(R).nodeName))u=g.item(R);else if(a.test(g.item(R).nodeName)){d=g.item(R);let M=g.item(R).childNodes;for(let L=0;L<M.length;L++)s.test(M.item(L).nodeName)&&p.push(M.item(L))}else c.test(g.item(R).nodeName)&&(f=g.item(R));let m;if(!l(d)||!l(f))throw m=`Unable to find expected tilesets or bbox attributes in ${i.url}.`,l(o)&&vo.reportError(void 0,o,o.errorEvent,m),new ce(m);let x=y(t.fileExtension,u.getAttribute("extension")),b=y(t.tileWidth,parseInt(u.getAttribute("width"),10)),T=y(t.tileHeight,parseInt(u.getAttribute("height"),10)),C=y(t.minimumLevel,parseInt(p[0].getAttribute("order"),10)),A=y(t.maximumLevel,parseInt(p[p.length-1].getAttribute("order"),10)),S=d.getAttribute("profile"),w=t.tilingScheme;if(!l(w))if(S==="geodetic"||S==="global-geodetic")w=new qi({ellipsoid:t.ellipsoid});else if(S==="mercator"||S==="global-mercator")w=new cs({ellipsoid:t.ellipsoid});else throw m=`${i.url} specifies an unsupported profile attribute, ${S}.`,l(o)&&vo.reportError(void 0,o,o.errorEvent,m),new ce(m);let D=se.clone(t.rectangle);if(!l(D)){let R,M,L,_;y(t.flipXY,!1)?(L=new U(parseFloat(f.getAttribute("miny")),parseFloat(f.getAttribute("minx"))),_=new U(parseFloat(f.getAttribute("maxy")),parseFloat(f.getAttribute("maxx")))):(L=new U(parseFloat(f.getAttribute("minx")),parseFloat(f.getAttribute("miny"))),_=new U(parseFloat(f.getAttribute("maxx")),parseFloat(f.getAttribute("maxy"))));let v=S==="geodetic"||S==="mercator";if(w.projection instanceof vi||v)R=fe.fromDegrees(L.x,L.y),M=fe.fromDegrees(_.x,_.y);else{let I=w.projection;R=I.unproject(L),M=I.unproject(_)}D=new se(R.longitude,R.latitude,M.longitude,M.latitude)}return D=Kge(D,w),C=$ge(w,D,C),{url:n.getDerivedResource({url:`{z}/{x}/{reverseY}.${x}`}),tilingScheme:w,rectangle:D,tileWidth:b,tileHeight:T,minimumLevel:C,maximumLevel:A,tileDiscardPolicy:t.tileDiscardPolicy,credit:t.credit}};kf._metadataFailure=function(e,t){let n=y(e.fileExtension,"png"),i=y(e.tileWidth,256),o=y(e.tileHeight,256),r=e.maximumLevel,s=l(e.tilingScheme)?e.tilingScheme:new cs({ellipsoid:e.ellipsoid}),a=y(e.rectangle,s.rectangle);a=Kge(a,s);let c=$ge(s,a,e.minimumLevel);return{url:t.getDerivedResource({url:`{z}/{x}/{reverseY}.${n}`}),tilingScheme:s,rectangle:a,tileWidth:i,tileHeight:o,minimumLevel:c,maximumLevel:r,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit}};var fb=kf;function Zge(e){this.channel=e.channel,this.ellipsoid=e.ellipsoid,this.tilingScheme=void 0,this.version=void 0}Zge.prototype.build=function(e){e._channel=this.channel,e._version=this.version,e._tilingScheme=this.tilingScheme};function ylt(e,t){let n;try{n=JSON.parse(e)}catch{n=JSON.parse(e.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}let i;for(let o=0;o<n.layers.length;o++)if(n.layers[o].id===t.channel){i=n.layers[o];break}if(!l(i)){let o=`Could not find layer with channel (id) of ${t.channel}.`;throw new ce(o)}if(!l(i.version)){let o=`Could not find a version in channel (id) ${t.channel}.`;throw new ce(o)}if(t.version=i.version,l(n.projection)&&n.projection==="flat")t.tilingScheme=new qi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new se(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:t.ellipsoid});else if(!l(n.projection)||n.projection==="mercator")t.tilingScheme=new cs({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:t.ellipsoid});else{let o=`Unsupported projection ${n.projection}.`;throw new ce(o)}return!0}function xlt(e,t,n){let i=`An error occurred while accessing ${t.url}.`;throw l(e)&&l(e.message)&&(i+=`: ${e.message}`),vo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new ce(i)}async function blt(e,t,n){try{let i=await e.fetchText();ylt(i,t)}catch(i){xlt(i,e,n)}}function Ll(e){e=y(e,{}),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1.9,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new vt(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${Ll.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new me}Object.defineProperties(Ll.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});Ll.fromUrl=async function(e,t,n){n=y(n,{});let i=y(n.path,"/default_map"),o=ve.createIfNeeded(e).getDerivedResource({url:i[0]==="/"?i.substring(1):i});o.appendForwardSlash();let r=o.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),s=new Zge(n);s.channel=t,await blt(r,s);let a=new Ll(n);return s.build(a),a._resource=o,a._url=e,a._path=i,a};Ll.prototype.getTileCredits=function(e,t,n){};Ll.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return Il.loadImage(this,o)};Ll.prototype.pickFeatures=function(e,t,n,i,o){};Ll._logoUrl=void 0;Object.defineProperties(Ll,{logoUrl:{get:function(){return l(Ll._logoUrl)||(Ll._logoUrl=on("Assets/Images/google_earth_credit.png")),Ll._logoUrl},set:function(e){Ll._logoUrl=e}}});var XU=Ll;var Tlt=/\/$/,Qge=new vt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function UE(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=ve.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();Tlt.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;l(e.credit)?(s=e.credit,typeof s=="string"&&(s=new vt(s))):s=Qge,this._resource=i,this._imageryProvider=new uc({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(UE.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});UE.prototype.getTileCredits=function(e,t,n){};UE.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};UE.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};UE._defaultCredit=Qge;var KU=UE;function db(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=y(e.rectangle,se.MAX_VALUE),n=new qi({rectangle:t,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=n,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new me;let i=e.credit;typeof i=="string"&&(i=new vt(i)),this._credit=i;let o=ve.createIfNeeded(e.url);this._resource=o,this._tileWidth=e.tileWidth,this._tileHeight=e.tileHeight}Object.defineProperties(db.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});function Clt(e,t,n,i){let o=`Failed to load image ${e.url}`;l(t)&&l(t.message)&&(o+=`: ${t.message}`);let r=vo.reportError(i,n,l(n)?n._errorEvent:void 0,o,0,0,0,t);if(r.retry)return dX(e,n,r);throw l(n)&&(n._hasError=!0),new ce(o)}async function dX(e,t,n){try{return await Il.loadImage(null,e)}catch(i){return Clt(e,i,t,n)}}db.fromUrl=async function(e,t){let n=ve.createIfNeeded(e),i=await dX(n);t=y(t,y.EMPTY_OBJECT);let o=new db({...t,url:e,tileWidth:i.width,tileHeight:i.height});return o._image=i,o};db.prototype.getTileCredits=function(e,t,n){};db.prototype.requestImage=async function(e,t,n,i){if(!this._hasError&&!l(this._image)){let o=await dX(this._resource,this);return this._image=o,vo.reportSuccess(this._errorEvent),o}return this._image};db.prototype.pickFeatures=function(e,t,n,i,o){};var $U=db;function Alt(e,t,n){this.type=e,l(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,l(n)||(e==="json"?n=Elt:e==="xml"?n=Dlt:(e==="html"||e==="text")&&(n=Jge)),this.callback=n}function Elt(e){let t=[],n=e.features;for(let i=0;i<n.length;++i){let o=n[i],r=new wm;if(r.data=o,r.properties=o.properties,r.configureNameFromProperties(o.properties),r.configureDescriptionFromProperties(o.properties),l(o.geometry)&&o.geometry.type==="Point"){let s=o.geometry.coordinates[0],a=o.geometry.coordinates[1];r.position=fe.fromDegrees(s,a)}t.push(r)}return t}var hX="http://www.mapinfo.com/mxp",Slt="http://www.esri.com/wms",wlt="http://www.opengis.net/wfs",vlt="http://www.opengis.net/gml";function Dlt(e){let t=e.documentElement;if(t.localName==="MultiFeatureCollection"&&t.namespaceURI===hX)return Ilt(e);if(t.localName==="FeatureInfoResponse"&&t.namespaceURI===Slt)return Plt(e);if(t.localName==="FeatureCollection"&&t.namespaceURI===wlt)return Rlt(e);if(t.localName==="ServiceExceptionReport")throw new ce(new XMLSerializer().serializeToString(t));return t.localName==="msGMLOutput"?Olt(e):Mlt(e)}function Ilt(e){let t=[],i=e.documentElement.getElementsByTagNameNS(hX,"Feature");for(let o=0;o<i.length;++o){let r=i[o],s={},a=r.getElementsByTagNameNS(hX,"Val");for(let u=0;u<a.length;++u){let f=a[u];if(f.hasAttribute("ref")){let d=f.getAttribute("ref"),p=f.textContent.trim();s[d]=p}}let c=new wm;c.data=r,c.properties=s,c.configureNameFromProperties(s),c.configureDescriptionFromProperties(s),t.push(c)}return t}function Plt(e){let t=e.documentElement,n=[],i,o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){let s=o[r];i={};let a=s.attributes;for(let c=0;c<a.length;++c){let u=a[c];i[u.name]=u.value}n.push(ZU(s,i))}else{let r=t.getElementsByTagNameNS("*","FeatureInfo");for(let s=0;s<r.length;++s){let a=r[s];i={};let c=a.childNodes;for(let u=0;u<c.length;++u){let f=c[u];f.nodeType===Node.ELEMENT_NODE&&(i[f.localName]=f.textContent)}n.push(ZU(a,i))}}return n}function Rlt(e){let t=[],i=e.documentElement.getElementsByTagNameNS(vlt,"featureMember");for(let o=0;o<i.length;++o){let r=i[o],s={};mX(r,s),t.push(ZU(r,s))}return t}function Olt(e){let t=[],n,i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!l(n))throw new ce("Unable to find first child of the feature info xml document");let o=n.childNodes;for(let r=0;r<o.length;++r){let s=o[r];if(s.nodeType===Node.ELEMENT_NODE){let a={};mX(s,a),t.push(ZU(s,a))}}return t}function mX(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){let o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),!(o.localName==="Point"||o.localName==="LineString"||o.localName==="Polygon"||o.localName==="boundedBy")&&o.hasChildNodes()&&mX(o,t)&&(t[o.localName]=o.textContent)}return n}function ZU(e,t){let n=new wm;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function Mlt(e){let t=new XMLSerializer().serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);let o=new wm;return o.data=e,o.description=n.innerHTML,[o]}var Llt=/<body>\s*<\/body>/im,Nlt=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,Flt=/<title>([\s\S]*)<\/title>/im;function Jge(e){if(Llt.test(e)||Nlt.test(e))return;let t,n=Flt.exec(e);n&&n.length>1&&(t=n[1]);let i=new wm;return i.name=t,i.description=e,i.data=e,[i]}var zE=Alt;function OI(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(OI.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});OI.prototype.getFromCache=function(e,t,n,i){let o=eye(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(l(s)&&l(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};OI.prototype.checkApproachingInterval=function(e,t,n,i){let o=eye(e,t,n),r=this._tilesRequestedForInterval,s=tye(this),a={key:o,priorityFunction:i.priorityFunction};(!l(s)||!nye(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};OI.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=tye(this);if(l(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=nye(this,c,r),a||s.push(c)}}};function eye(e,t,n){return`${e}-${t}-${n}`}function Blt(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function tye(e){let t=e._times;if(!l(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=K.secondsDifference(c.stop,i),++a):(s=K.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function nye(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];l(r)||(r=o[i]={});let s=t.key;if(l(r[s]))return!0;let a=Blt(s),c=new or({throttle:!1,throttleByServer:!0,type:ps.IMAGERY,priorityFunction:t.priorityFunction}),u=e._requestImageFunction(a.x,a.y,a.level,c,n);return l(u)?(r[s]={promise:u,request:c},!0):!1}var HE=OI;var klt=[3034,3035,3042,3043,3044],Vlt=[4471,4559];function eh(e){if(e=y(e,y.EMPTY_OBJECT),l(e.times)&&!l(e.clock))throw new de("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=ve.createIfNeeded(e.url),n=ve.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(eh.DefaultParameters,!0),n.setQueryParameters(eh.GetFeatureInfoDefaultParameters,!0),l(e.parameters)&&t.setQueryParameters(iye(e.parameters,e.toLowerCase)),l(e.getFeatureInfoParameters)&&n.setQueryParameters(iye(e.getFeatureInfoParameters,e.toLowerCase));let i=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new HE({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,u,f){return oye(i,s,a,c,u,f)},reloadFunction:function(){l(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Ii?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!Vlt.includes(a)||klt.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Ii?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new uc({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new qi({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,eh.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function oye(e,t,n,i,o,r){let s=l(r)?r.data:void 0,a=e._tileProvider;return l(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function Ult(e,t,n,i,o,r,s){let a=l(s)?s.data:void 0,c=e._tileProvider;return l(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(eh.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});eh.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};eh.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=oye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};eh.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=l(r)?r.currentInterval:void 0;return Ult(this,e,t,n,i,o,s)};eh.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});eh.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});eh.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new zE("json","application/json")),Object.freeze(new zE("xml","text/xml")),Object.freeze(new zE("text","text/html"))]);function iye(e,t=!0){if(t){let n={};for(let i in e)e.hasOwnProperty(i)&&(n[i.toLowerCase()]=e[i]);return n}return e}var QU=eh;var zlt=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function MI(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=ve.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!l(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(zlt),this._useKvp=!0;else{let d={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(d),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new cs({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new HE({clock:e.clock,times:e.times,requestImageFunction:function(d,p,g,m,x){return rye(s,d,p,g,m,x)},reloadFunction:function(){l(s._reload)&&s._reload()}}));let a=this._tilingScheme.positionToTileXY(se.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(se.northeast(this._rectangle),this._minimumLevel),u=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new me;let f=e.credit;this._credit=typeof f=="string"?new vt(f):f,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():l(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function rye(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=l(s)?s[i]:i.toString(),c=e._subdomains,u=e._dimensions,f=l(r)?r.data:void 0,d,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({request:o}),d.setTemplateValues(p),l(u)&&d.setTemplateValues(u),l(f)&&d.setTemplateValues(f);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,l(u)&&(g=xt(g,u)),l(f)&&(g=xt(g,f)),p={s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({queryParameters:g,request:o}),d.setTemplateValues(p)}return Il.loadImage(e,d)}Object.defineProperties(MI.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,l(this._reload)&&this._reload())}}});MI.prototype.getTileCredits=function(e,t,n){};MI.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=rye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};MI.prototype.pickFeatures=function(e,t,n,i,o){};var JU=MI;var Hlt={ARCGIS_MAPSERVER:By.fromUrl,BING:async(e,t)=>$V.fromUrl(e,t),GOOGLE_EARTH:async(e,t)=>{let n=t.channel;return delete t.channel,XU.fromUrl(e,n,t)},MAPBOX:(e,t)=>new KU({url:e,...t}),SINGLE_TILE:$U.fromUrl,TMS:fb.fromUrl,URL_TEMPLATE:(e,t)=>new uc({url:e,...t}),WMS:(e,t)=>new QU({url:e,...t}),WMTS:(e,t)=>new JU({url:e,...t})};function Pm(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileCredits=void 0,this._errorEvent=new me}Object.defineProperties(Pm.prototype,{rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}}});Pm.fromAssetId=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ju._createEndpointResource(e,t),i=e.toString()+t.accessToken+t.server,o=Pm._endpointCache[i];l(o)||(o=n.fetchJson(),Pm._endpointCache[i]=o);let r=await o;if(r.type!=="IMAGERY")throw new ce(`Cesium ion asset ${e} is not an imagery asset.`);let s,a=r.externalType;if(!l(a))s=await fb.fromUrl(new Ju(r,n));else{let u=Hlt[a];if(!l(u))throw new ce(`Unrecognized Cesium ion imagery type: ${a}`);let f={...r.options},d=f.url;delete f.url,s=await u(d,f)}let c=new Pm(t);return s.errorEvent.addEventListener(function(u){u.provider=c,c._errorEvent.raiseEvent(u)}),c._tileCredits=Ju.getCreditsFromEndpoint(r,n),c._imageryProvider=s,c};Pm.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return l(i)?this._tileCredits.concat(i):this._tileCredits};Pm.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};Pm.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};Pm._endpointCache={};var Gy=Pm;var Glt={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},Wy=Object.freeze(Glt);function Wlt(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,Wy.AERIAL);return Gy.fromAssetId(t)}var jy=Wlt;var uye=Er(Vl(),1),sye=576,jlt=100,LI="#ffffff",ez="#48b";function fye(e,t){this.credit=e,this.count=y(t,1)}function qlt(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(vt.equals(o,t))return!0}return!1}function Ylt(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;vt.equals(n,t)||(l(t)&&e._cesiumCreditContainer.removeChild(t.element),l(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var dye="cesium-credit-delimiter";function aye(e){let t=document.createElement("span");return t.textContent=e,t.className=dye,t}function cye(e,t){if(l(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function lye(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(l(a)){if(r=s,l(n)&&(r*=2,s>0)){let u=r-1;if(o.length<=u)e.appendChild(aye(n));else{let f=o[u];f.className!==dye&&e.replaceChild(aye(n),f)}}let c=a.element;if(o.length<=r)e.appendChild(cye(c,i));else{let u=o[r];u._creditId!==a._id&&e.replaceChild(cye(c,i),u)}}}for(++r;r<o.length;)e.removeChild(o[r])}function Xlt(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<sye?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=sye&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function Klt(e){let t=` -.cesium-credit-lightbox-overlay { - display: none; - z-index: 1; - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(80, 80, 80, 0.8); -} - -.cesium-credit-lightbox { - background-color: #303336; - color: ${LI}; - position: relative; - min-height: ${jlt}px; - margin: auto; -} -.cesium-credit-lightbox > ul > li a, -.cesium-credit-lightbox > ul > li a:visited, -.cesium-credit-wrapper a, -.cesium-credit-wrapper a:visited { - color: ${LI}; -} -.cesium-credit-lightbox > ul > li a:hover { - color: ${ez}; -} -.cesium-credit-lightbox.cesium-credit-lightbox-expanded { - border: 1px solid #444; - border-radius: 5px; - max-width: 370px; -} -.cesium-credit-lightbox.cesium-credit-lightbox-mobile { - height: 100%; - width: 100%; -} -.cesium-credit-lightbox-title { - padding: 20px 20px 0 20px; -} -.cesium-credit-lightbox-close { - font-size: 18pt; - cursor: pointer; - position: absolute; - top: 0; - right: 6px; - color: ${LI}; -} -.cesium-credit-lightbox-close:hover { - color: ${ez}; -} -.cesium-credit-lightbox > ul { - margin: 0; - padding: 12px 20px 12px 40px; - font-size: 13px; -} -.cesium-credit-lightbox > ul > li { - padding-bottom: 6px; -} -.cesium-credit-lightbox > ul > li * { - padding: 0; - margin: 0; -} - -.cesium-credit-expand-link { - padding-left: 5px; - cursor: pointer; - text-decoration: underline; - color: ${LI}; -} -.cesium-credit-expand-link:hover { - color: ${ez}; -} - -.cesium-credit-text { - color: ${LI}; -} - -.cesium-credit-delimiter { - padding: 0 5px; -} - -.cesium-credit-textContainer *, -.cesium-credit-logoContainer * { - display: inline; -} - -.cesium-credit-textContainer a:hover { - color: ${ez} -} - -.cesium-credit-textContainer .cesium-credit-wrapper:first-of-type { - padding-left: 5px; -} -`;function n(r){if(r.shadowRoot)return r.shadowRoot;if(r.getRootNode){let s=r.getRootNode();if(s instanceof ShadowRoot)return s}}let i=y(n(e),document.head),o=document.createElement("style");o.innerHTML=t,i.appendChild(o)}function ur(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(m){r.contains(m.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="×",c.className="cesium-credit-lightbox-close",r.appendChild(c);let u=document.createElement("ul");r.appendChild(u);let f=document.createElement("div");f.className="cesium-credit-logoContainer",f.style.display="inline",e.appendChild(f);let d=document.createElement("div");d.className="cesium-credit-textContainer",d.style.display="inline",e.appendChild(d);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),Klt(e);let g=vt.clone(ur.cesiumCredit);this._delimiter=y(t,"\u2022"),this._screenContainer=d,this._cesiumCreditContainer=f,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=u,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new St,lightboxCredits:new St},this._defaultCredit=void 0,this.viewport=n,this.container=e}function hye(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(l(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new fye(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}ur.prototype.addCreditToNextFrame=function(e){if(e.isIon()){l(this._defaultCredit)||(this._defaultCredit=vt.clone(mye())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,hye(this,t,e)};ur.prototype.addStaticCredit=function(e){let t=this._staticCredits;qlt(t,e)||t.push(e)};ur.prototype.removeStaticCredit=function(e){let t=this._staticCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};ur.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};ur.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};ur.prototype.update=function(){this._expanded&&Xlt(this)};ur.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits,n=e.lightboxCredits;t.removeAll(),n.removeAll();let i=this._staticCredits;for(let o=0;o<i.length;++o){let r=i[o],s=r.showOnScreen?t:n;r.isIon()&&vt.equals(ur.cesiumCredit,this._cesiumCredit)||hye(this,s,r,Number.MAX_VALUE)}vt.equals(ur.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=vt.clone(ur.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};ur.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;lye(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",lye(this._creditList,t,void 0,"li"),Ylt(this)};ur.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),ue(this)};ur.prototype.isDestroyed=function(){return!1};ur._cesiumCredit=void 0;ur._cesiumCreditInitialized=!1;var tz;function mye(){if(!l(tz)){let e=on("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new uye.default(e).path()),tz=new vt(`<a href="https://cesium.com/" target="_blank"><img src="${e}" style="vertical-align: -7px" title="Cesium ion"/></a>`,!0)}return ur._cesiumCreditInitialized||(ur._cesiumCredit=tz,ur._cesiumCreditInitialized=!0),tz}Object.defineProperties(ur,{cesiumCredit:{get:function(){return mye(),ur._cesiumCredit},set:function(e){ur._cesiumCredit=e,ur._cesiumCreditInitialized=!0}}});ur.CreditDisplayElement=fye;var nz=ur;function NI(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;l(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); } -`;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); } -`;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); } -`;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); } -`;break;case"vec4":r=`vec4 getColor() { return ${o}; } -`;break}let s=`in vec3 position3DHigh; -in vec3 position3DLow; -in float batchId; -${n?"":`in ${i} ${t}; -`}out ${i} ${o}; -void main() -{ -vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); -${n?`${o} = czm_batchTable_${t}(batchId); -`:`${o} = ${t}; -`}gl_Position = czm_modelViewProjectionRelativeToEye * p; -}`,a=`in ${i} ${o}; -${r} -void main() -{ -out_FragColor = getColor(); -}`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=eo.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(NI.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});NI.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;NI.prototype.isTranslucent=eo.prototype.isTranslucent;NI.prototype.getRenderState=eo.prototype.getRenderState;var pye=NI;var iz=0,$lt=1;function hb(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e.vertexFormat,Pe.DEFAULT),r=y(e._drawNearPlane,!0),s,a;t instanceof Si?(s=iz,a=Si.packedLength):t instanceof an&&(s=$lt,a=an.packedLength),this._frustumType=s,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Ne.clone(n),this._drawNearPlane=r,this._vertexFormat=o,this._workerName="createFrustumGeometry",this.packedLength=2+a+h.packedLength+Ne.packedLength+Pe.packedLength}hb.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===iz?(Si.pack(o,t,n),n+=Si.packedLength):(an.pack(o,t,n),n+=an.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Ne.pack(e._orientation,t,n),n+=Ne.packedLength,Pe.pack(e._vertexFormat,t,n),n+=Pe.packedLength,t[n]=e._drawNearPlane?1:0,t};var Zlt=new Si,Qlt=new an,Jlt=new Ne,eut=new h,tut=new Pe;hb.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===iz?(o=Si.unpack(e,t,Zlt),t+=Si.packedLength):(o=an.unpack(e,t,Qlt),t+=an.packedLength);let r=h.unpack(e,t,eut);t+=h.packedLength;let s=Ne.unpack(e,t,Jlt);t+=Ne.packedLength;let a=Pe.unpack(e,t,tut);t+=Pe.packedLength;let c=e[t]===1;if(!l(n))return new hb({frustum:o,origin:r,orientation:s,vertexFormat:a,_drawNearPlane:c});let u=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(u),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Ne.clone(s,n._orientation),n._vertexFormat=Pe.clone(a,n._vertexFormat),n._drawNearPlane=c,n};function GE(e,t,n,i,o,r,s,a){let c=e/3*2;for(let u=0;u<4;++u)l(t)&&(t[e]=r.x,t[e+1]=r.y,t[e+2]=r.z),l(n)&&(n[e]=s.x,n[e+1]=s.y,n[e+2]=s.z),l(i)&&(i[e]=a.x,i[e+1]=a.y,i[e+2]=a.z),e+=3;o[c]=0,o[c+1]=0,o[c+2]=1,o[c+3]=0,o[c+4]=1,o[c+5]=1,o[c+6]=0,o[c+7]=1}var nut=new Z,iut=new F,pX=new F,_ye=new h,gye=new h,yye=new h,out=new h,rut=new h,sut=new h,qy=new Array(3),FI=new Array(4);FI[0]=new oe(-1,-1,1,1);FI[1]=new oe(1,-1,1,1);FI[2]=new oe(1,1,1,1);FI[3]=new oe(-1,1,1,1);var xye=new Array(4);for(let e=0;e<4;++e)xye[e]=new oe;hb._computeNearFarPlanes=function(e,t,n,i,o,r,s,a){let c=Z.fromQuaternion(t,nut),u=y(r,_ye),f=y(s,gye),d=y(a,yye);u=Z.getColumn(c,0,u),f=Z.getColumn(c,1,f),d=Z.getColumn(c,2,d),h.normalize(u,u),h.normalize(f,f),h.normalize(d,d),h.negate(u,u);let p=F.computeView(e,d,f,u,iut),g,m,x=i.projectionMatrix;if(n===iz){let b=F.multiply(x,p,pX);m=F.inverse(b,pX)}else g=F.inverseTransformation(p,pX);l(m)?(qy[0]=i.near,qy[1]=i.far):(qy[0]=0,qy[1]=i.near,qy[2]=i.far);for(let b=0;b<2;++b)for(let T=0;T<4;++T){let C=oe.clone(FI[T],xye[T]);if(l(m)){C=F.multiplyByVector(m,C,C);let A=1/C.w;h.multiplyByScalar(C,A,C),h.subtract(C,e,C),h.normalize(C,C);let S=h.dot(d,C);h.multiplyByScalar(C,qy[b]/S,C),h.add(C,e,C)}else{let A=i.offCenterFrustum;l(A)&&(i=A);let S=qy[b],w=qy[b+1];C.x=(C.x*(i.right-i.left)+i.left+i.right)*.5,C.y=(C.y*(i.top-i.bottom)+i.bottom+i.top)*.5,C.z=(C.z*(S-w)-S-w)*.5,C.w=1,F.multiplyByVector(g,C,C)}o[12*b+T*3]=C.x,o[12*b+T*3+1]=C.y,o[12*b+T*3+2]=C.z}};hb.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=e._vertexFormat,a=r?6:5,c=new Float64Array(3*4*6);hb._computeNearFarPlanes(i,o,t,n,c);let u=3*4*2;c[u]=c[3*4],c[u+1]=c[3*4+1],c[u+2]=c[3*4+2],c[u+3]=c[0],c[u+4]=c[1],c[u+5]=c[2],c[u+6]=c[3*3],c[u+7]=c[3*3+1],c[u+8]=c[3*3+2],c[u+9]=c[3*7],c[u+10]=c[3*7+1],c[u+11]=c[3*7+2],u+=3*4,c[u]=c[3*5],c[u+1]=c[3*5+1],c[u+2]=c[3*5+2],c[u+3]=c[3],c[u+4]=c[4],c[u+5]=c[5],c[u+6]=c[0],c[u+7]=c[1],c[u+8]=c[2],c[u+9]=c[3*4],c[u+10]=c[3*4+1],c[u+11]=c[3*4+2],u+=3*4,c[u]=c[3],c[u+1]=c[4],c[u+2]=c[5],c[u+3]=c[3*5],c[u+4]=c[3*5+1],c[u+5]=c[3*5+2],c[u+6]=c[3*6],c[u+7]=c[3*6+1],c[u+8]=c[3*6+2],c[u+9]=c[3*2],c[u+10]=c[3*2+1],c[u+11]=c[3*2+2],u+=3*4,c[u]=c[3*2],c[u+1]=c[3*2+1],c[u+2]=c[3*2+2],c[u+3]=c[3*6],c[u+4]=c[3*6+1],c[u+5]=c[3*6+2],c[u+6]=c[3*7],c[u+7]=c[3*7+1],c[u+8]=c[3*7+2],c[u+9]=c[3*3],c[u+10]=c[3*3+1],c[u+11]=c[3*3+2],r||(c=c.subarray(3*4));let f=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:c})});if(l(s.normal)||l(s.tangent)||l(s.bitangent)||l(s.st)){let p=l(s.normal)?new Float32Array(12*a):void 0,g=l(s.tangent)?new Float32Array(3*4*a):void 0,m=l(s.bitangent)?new Float32Array(3*4*a):void 0,x=l(s.st)?new Float32Array(2*4*a):void 0,b=_ye,T=gye,C=yye,A=h.negate(b,out),S=h.negate(T,rut),w=h.negate(C,sut);u=0,r&&(GE(u,p,g,m,x,w,b,T),u+=3*4),GE(u,p,g,m,x,C,A,T),u+=3*4,GE(u,p,g,m,x,A,w,T),u+=3*4,GE(u,p,g,m,x,S,w,A),u+=3*4,GE(u,p,g,m,x,b,C,T),u+=3*4,GE(u,p,g,m,x,T,C,A),l(p)&&(f.normal=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:p})),l(g)&&(f.tangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:g})),l(m)&&(f.bitangent=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:m})),l(x)&&(f.st=new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:2,values:x}))}let d=new Uint16Array(6*a);for(let p=0;p<a;++p){let g=p*6,m=p*4;d[g]=m,d[g+1]=m+1,d[g+2]=m+2,d[g+3]=m,d[g+4]=m+2,d[g+5]=m+3}return new dt({attributes:f,indices:d,primitiveType:Fe.TRIANGLES,boundingSphere:ae.fromVertices(c)})};var WE=hb;var _X=0,aut=1;function BI(e){let t=e.frustum,n=e.orientation,i=e.origin,o=y(e._drawNearPlane,!0),r,s;t instanceof Si?(r=_X,s=Si.packedLength):t instanceof an&&(r=aut,s=an.packedLength),this._frustumType=r,this._frustum=t.clone(),this._origin=h.clone(i),this._orientation=Ne.clone(n),this._drawNearPlane=o,this._workerName="createFrustumOutlineGeometry",this.packedLength=2+s+h.packedLength+Ne.packedLength}BI.pack=function(e,t,n){n=y(n,0);let i=e._frustumType,o=e._frustum;return t[n++]=i,i===_X?(Si.pack(o,t,n),n+=Si.packedLength):(an.pack(o,t,n),n+=an.packedLength),h.pack(e._origin,t,n),n+=h.packedLength,Ne.pack(e._orientation,t,n),n+=Ne.packedLength,t[n]=e._drawNearPlane?1:0,t};var cut=new Si,lut=new an,uut=new Ne,fut=new h;BI.unpack=function(e,t,n){t=y(t,0);let i=e[t++],o;i===_X?(o=Si.unpack(e,t,cut),t+=Si.packedLength):(o=an.unpack(e,t,lut),t+=an.packedLength);let r=h.unpack(e,t,fut);t+=h.packedLength;let s=Ne.unpack(e,t,uut);t+=Ne.packedLength;let a=e[t]===1;if(!l(n))return new BI({frustum:o,origin:r,orientation:s,_drawNearPlane:a});let c=i===n._frustumType?n._frustum:void 0;return n._frustum=o.clone(c),n._frustumType=i,n._origin=h.clone(r,n._origin),n._orientation=Ne.clone(s,n._orientation),n._drawNearPlane=a,n};BI.createGeometry=function(e){let t=e._frustumType,n=e._frustum,i=e._origin,o=e._orientation,r=e._drawNearPlane,s=new Float64Array(3*4*2);WE._computeNearFarPlanes(i,o,t,n,s);let a=new mn({position:new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:s})}),c,u,f=r?2:1,d=new Uint16Array(8*(f+1)),p=r?0:1;for(;p<2;++p)c=r?p*8:0,u=p*4,d[c]=u,d[c+1]=u+1,d[c+2]=u+1,d[c+3]=u+2,d[c+4]=u+2,d[c+5]=u+3,d[c+6]=u+3,d[c+7]=u;for(p=0;p<2;++p)c=(f+p)*8,u=p*4,d[c]=u,d[c+1]=u+4,d[c+2]=u+1,d[c+3]=u+5,d[c+4]=u+2,d[c+5]=u+6,d[c+6]=u+3,d[c+7]=u+7;return new dt({attributes:a,indices:d,primitiveType:Fe.LINES,boundingSphere:ae.fromVertices(s)})};var oz=BI;function rz(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,H.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var dut=new h,hut=new Z,mut=new Ne,put=new Si,_ut=new Pl,gut=new an,yut=new Br,xut=new H,but=[1,1e5];rz.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof Si?a=put:s instanceof Pl?a=_ut:s instanceof an?a=gut:a=yut,a=s.clone(a);let c,u=this._frustumSplits;!l(u)||u.length<=1?(u=but,u[0]=this._camera.frustum.near,u[1]=this._camera.frustum.far,c=1):c=u.length-1;let f=r.positionWC,d=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,dut);let m=hut;Z.setColumn(m,0,g,m),Z.setColumn(m,1,p,m),Z.setColumn(m,2,d,m);let x=Ne.fromRotationMatrix(m,mut);for(t.length=n.length=c,i=0;i<c;++i)a.near=u[i],a.far=u[i+1],t[i]=new Rn({geometryInstances:new wt({geometry:new WE({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:jt.fromColor(H.fromAlpha(this._color,.1,xut))},id:this.id,pickPrimitive:this}),appearance:new un({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new Rn({geometryInstances:new wt({geometry:new oz({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:jt.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};rz.prototype.isDestroyed=function(){return!1};rz.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return ue(this)};var p_=rz;function bye(){this._cachedShowFrustumsShaders={}}function Tut(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Cut(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(f){f=Ge.replaceMain(f,"czm_Debug_main");let d=/out_FragData_(\d+)/g,p;for(;(p=d.exec(f))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return f});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor; -`,a+=`uniform vec3 debugShowFrustumsColor; -`,a+=`void main() -{ - czm_Debug_main(); -`;let c;if(s>0)for(c=0;c<s;++c)a+=` out_FragData_${r[c]}.rgb *= debugShowCommandsColor; -`,a+=` out_FragData_${r[c]}.rgb *= debugShowFrustumsColor; -`;else a+=` out_FragColor.rgb *= debugShowCommandsColor; -`,a+=` out_FragColor.rgb *= debugShowFrustumsColor; -`;a+="}",o.sources.push(a);let u=Tut(i);return sn.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:u})}var kI=new H;function Aut(e,t){let n;return l(t.uniformMap)?n=t.uniformMap:n={},l(n.debugShowCommandsColor)||l(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(l(t._debugColor)||(t._debugColor=H.fromRandom()),t._debugColor):H.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(kI.red=t.debugOverlappingFrustums&1?1:0,kI.green=t.debugOverlappingFrustums&2?1:0,kI.blue=t.debugOverlappingFrustums&4?1:0,kI.alpha=1,kI):H.WHITE}),n}var Eut=new et;bye.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];l(o)||(o=Cut(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=et.shallowClone(t,Eut);r.shaderProgram=o,r.uniformMap=Aut(e,t),r.execute(e.context,n)};var sz=bye;function az(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.id=e.id,this._id=void 0,this._primitive=void 0}az.prototype.update=function(e){if(this.show){if(!l(this._primitive)||!F.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=F.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,l(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new wt({geometry:new yy({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:es.VERTEX_FORMAT,colors:[H.RED,H.RED],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),n=new wt({geometry:new yy({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:es.VERTEX_FORMAT,colors:[H.GREEN,H.GREEN],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),i=new wt({geometry:new yy({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:es.VERTEX_FORMAT,colors:[H.BLUE,H.BLUE],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this});this._primitive=new Rn({geometryInstances:[t,n,i],appearance:new es,asynchronous:!1})}this._primitive.update(e)}};az.prototype.isDestroyed=function(){return!1};az.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var cz=az;var lz=`in vec4 positionEC; - -void main() -{ - vec3 position; - vec3 direction; - if (czm_orthographicIn3D == 1.0) - { - vec2 uv = (gl_FragCoord.xy - czm_viewport.xy) / czm_viewport.zw; - vec2 minPlane = vec2(czm_frustumPlanes.z, czm_frustumPlanes.y); // left, bottom - vec2 maxPlane = vec2(czm_frustumPlanes.w, czm_frustumPlanes.x); // right, top - position = vec3(mix(minPlane, maxPlane, uv), 0.0); - direction = vec3(0.0, 0.0, -1.0); - } - else - { - position = vec3(0.0); - direction = normalize(positionEC.xyz); - } - - czm_ray ray = czm_ray(position, direction); - - vec3 ellipsoid_center = czm_view[3].xyz; - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); - if (!czm_isEmpty(intersection)) - { - out_FragColor = vec4(1.0, 1.0, 0.0, 1.0); - } - else - { - discard; - } - - czm_writeLogDepth(); -} -`;var uz=`in vec4 position; - -out vec4 positionEC; - -void main() -{ - positionEC = czm_modelView * position; - gl_Position = czm_modelViewProjection * position; - - czm_vertexLogDepth(); -} -`;function UI(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var VI=Wt.supportsTypedArrays()?new Float32Array(12):[],Tye=new h,Cye=new h,gX=new h,Aye=new h,fz=new h;function Sut(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof an)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let d=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,d,Tye),g=h.normalize(p,Cye),m=h.normalize(h.cross(h.UNIT_Z,p,gX),gX),x=h.normalize(h.cross(g,m,Aye),Aye),b=h.magnitude(p),T=Math.sqrt(b*b-1);o=h.multiplyByScalar(g,1/b,Tye);let C=T/b;r=h.multiplyByScalar(m,C,Cye),s=h.multiplyByScalar(x,C,gX)}let a=h.add(o,s,fz);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,VI,0);let c=h.subtract(o,s,fz);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,VI,3);let u=h.add(o,s,fz);h.add(u,r,u),h.multiplyComponents(n,u,u),h.pack(u,VI,6);let f=h.subtract(o,s,fz);return h.add(f,r,f),h.multiplyComponents(n,f,f),h.pack(f,VI,9),VI}UI.prototype.update=function(e){if(this._mode=e.mode,e.mode!==ne.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new ee(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(l(this._command)||(this._rs=ze.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new et({renderState:this._rs,boundingVolume:new ae(h.ZERO,i.maximumRadius),pass:Se.OPAQUE,owner:this})),!l(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new Ge({sources:[uz]}),a=new Ge({sources:[lz]});o&&(a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")),this._sp=sn.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=Sut(i,e);if(l(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new dt({attributes:{position:new Ee({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Fe.TRIANGLES});this._va=di.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:Ve.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};UI.prototype.execute=function(e,t){this._mode===ne.SCENE3D&&this._command.execute(e,t)};UI.prototype.isDestroyed=function(){return!1};UI.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var dz=UI;function qE(){}var wut=/\bgl_FragDepth\b/,vut=/\bdiscard\b/;function Dut(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(l(n))return n;let i=t.fragmentShaderSource,o=!1,r=i.sources;for(let a=0;a<r.length;++a)if(wut.test(r[a])||vut.test(r[a])){o=!0;break}let s=i.defines.indexOf("LOG_DEPTH")>=0;if(!o&&!s){let a=`void main() -{ - out_FragColor = vec4(1.0); -} -`;i=new Ge({sources:[a]})}else if(!o&&s){let a=`void main() -{ - out_FragColor = vec4(1.0); - czm_writeLogDepth(); -} -`;i=new Ge({defines:["LOG_DEPTH"],sources:[a]})}return e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}function Iut(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(l(i))return i;let o=ze.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1};let r=ze.fromCache(o);return n[t.id]=r,r}qE.createDepthOnlyDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.depthOnlyCommand?.shaderProgram,r=i.depthOnlyCommand?.renderState;return i.depthOnlyCommand=et.shallowClone(t,i.depthOnlyCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=Dut(n,t.shaderProgram),i.depthOnlyCommand.renderState=Iut(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var Put=/\s+czm_writeLogDepth\(/,Rut=/\s+czm_vertexLogDepth\(/;function Out(e,t){if(t.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return t;let i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(l(i))return i;let o=t._attributeLocations,r=t.vertexShaderSource.clone(),s=t.fragmentShaderSource.clone();r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH"),s.defines=l(s.defines)?s.defines.slice(0):[],s.defines.push("LOG_DEPTH");let a=!1,c=r.sources;for(let f=0;f<c.length;++f)if(Rut.test(c[f])){a=!0;break}if(!a){for(let d=0;d<c.length;++d)c[d]=Ge.replaceMain(c[d],"czm_log_depth_main");c.push(` - -void main() -{ - czm_log_depth_main(); - czm_vertexLogDepth(); -} -`)}c=s.sources,a=!1;for(let f=0;f<c.length;++f)Put.test(c[f])&&(a=!0);s.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(a=!0);let u="";if(!a){for(let f=0;f<c.length;f++)c[f]=Ge.replaceMain(c[f],"czm_log_depth_main");u=` -void main() -{ - czm_log_depth_main(); - czm_writeLogDepth(); -} -`}return c.push(u),e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o})}qE.createLogDepthCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=et.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=Out(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function Mut(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(l(i))return i;Object.prototype.toString.call(n)==="[object Object]"&&(n.color?n=`vec4(${H.floatToByte(n.color.red)}, ${H.floatToByte(n.color.green)}, ${H.floatToByte(n.color.blue)}, ${H.floatToByte(n.color.alpha)})`:n="vec4(1.0)");let o=t._attributeLocations,{sources:r,defines:s}=t.fragmentShaderSource,c=r.some(g=>g.includes("out_FragData"))?"out_FragData_0":"out_FragColor",u=`void main () -{ - czm_non_pick_main(); - if (${c}.a == 0.0) { - discard; - } - ${c} = ${n}; -} `,f=r.length,d=new Array(f+1);for(let g=0;g<f;++g)d[g]=Ge.replaceMain(r[g],"czm_non_pick_main");d[f]=u;let p=new Ge({sources:d,defines:s});return e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:p,attributeLocations:o})}function Eye(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(l(i))return i;let o=ze.getState(t);o.blending.enabled=!1,o.depthMask=!0;let r=ze.fromCache(o);return n[t.id]=r,r}qE.createPickDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.pickCommand?.shaderProgram,r=i.pickCommand?.renderState;return i.pickCommand=et.shallowClone(t,i.pickCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=Mut(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=Eye(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function jE(e,t,n){let i=e.length;for(let o=0;o<i;o++)e[o].trimStart().split(/\s+/)[0]===t&&(e[o]=`${t} ${n}`)}function Sye(e){return e.isArray?e.arrayLength:Et.getComponentCount(e.type)}function Lut(e){let t=Sye(e);return e.normalized?t===1?"float":`vec${t}`:t===1?"int":`ivec${t}`}function Nut(e,t,n){let i=n.schemaId,o=n.className,r=n.propertyName,s=`pickMetadata-${i}-${o}-${r}`,a=e.shaderCache.getDerivedShaderProgram(t,s);if(l(a))return a;let c=n.classProperty,u=Lut(c),f=["0.0","0.0","0.0","0.0"],d=Sye(c);if(d===1)f[0]="float(value)";else{let x=["x","y","z","w"];for(let b=0;b<d;b++){let C=`value.${x[b]}`;f[b]=`float(${C})`}}if(!c.normalized)for(let x=0;x<d;x++)f[x]+=" / 255.0";let p=t.fragmentShaderSource.defines.slice();p.push(cf.METADATA_PICKING_ENABLED),jE(p,cf.METADATA_PICKING_VALUE_TYPE,u),jE(p,cf.METADATA_PICKING_VALUE_STRING,`metadata.${r}`),jE(p,cf.METADATA_PICKING_VALUE_COMPONENT_X,f[0]),jE(p,cf.METADATA_PICKING_VALUE_COMPONENT_Y,f[1]),jE(p,cf.METADATA_PICKING_VALUE_COMPONENT_Z,f[2]),jE(p,cf.METADATA_PICKING_VALUE_COMPONENT_W,f[3]);let g=new Ge({sources:t.fragmentShaderSource.sources,defines:p});return e.shaderCache.createDerivedShaderProgram(t,s,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:g,attributeLocations:t._attributeLocations})}qE.createPickMetadataDerivedCommand=function(e,t,n,i){return l(i)||(i={}),i.pickMetadataCommand=et.shallowClone(t,i.pickMetadataCommand),i.pickMetadataCommand.shaderProgram=Nut(n,t.shaderProgram,t.pickedMetadataInfo),i.pickMetadataCommand.renderState=Eye(e,t.renderState),i.shaderProgramId=t.shaderProgram.id,i};function Fut(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(l(n))return n;let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();return o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}qE.createHdrCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=et.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=Fut(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var __=qE;function hz(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!l(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=P.toRadians(o),t._beta=P.toRadians(i.beta),t._gamma=P.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var But=new Ne,wye=new Ne,kut=new Z;function Vut(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Ne.fromAxisAngle(o,n,wye),c=Ne.fromAxisAngle(r,i,But),u=Ne.multiply(c,a,c),f=Ne.fromAxisAngle(s,t,wye);Ne.multiply(f,u,u);let d=Z.fromQuaternion(u,kut);Z.multiplyByVector(d,r,r),Z.multiplyByVector(d,s,s),Z.multiplyByVector(d,o,o)}hz.prototype.update=function(){if(!l(this._alpha))return;l(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;Vut(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};hz.prototype.isDestroyed=function(){return!1};hz.prototype.destroy=function(){return this._removeListener(),ue(this)};var mz=hz;function Uut(e){this.direction=h.clone(e.direction),this.color=H.clone(y(e.color,H.WHITE)),this.intensity=y(e.intensity,1)}var vye=Uut;var zI=`uniform vec3 u_radii; -uniform vec3 u_oneOverEllipsoidRadiiSquared; - -in vec3 v_positionEC; - -vec4 computeEllipsoidColor(czm_ray ray, float intersection, float side) -{ - vec3 positionEC = czm_pointAlongRay(ray, intersection); - vec3 positionMC = (czm_inverseModelView * vec4(positionEC, 1.0)).xyz; - vec3 geodeticNormal = normalize(czm_geodeticSurfaceNormal(positionMC, vec3(0.0), u_oneOverEllipsoidRadiiSquared)); - vec3 sphericalNormal = normalize(positionMC / u_radii); - vec3 normalMC = geodeticNormal * side; // normalized surface normal (always facing the viewer) in model coordinates - vec3 normalEC = normalize(czm_normal * normalMC); // normalized surface normal in eye coordinates - - vec2 st = czm_ellipsoidTextureCoordinates(sphericalNormal); - vec3 positionToEyeEC = -positionEC; - - czm_materialInput materialInput; - materialInput.s = st.s; - materialInput.st = st; - materialInput.str = (positionMC + u_radii) / u_radii; - materialInput.normalEC = normalEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(positionMC, normalEC); - materialInput.positionToEyeEC = positionToEyeEC; - czm_material material = czm_getMaterial(materialInput); - -#ifdef ONLY_SUN_LIGHTING - return czm_private_phong(normalize(positionToEyeEC), material, czm_sunDirectionEC); -#else - return czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); -#endif -} - -void main() -{ - // PERFORMANCE_TODO: When dynamic branching is available, compute ratio of maximum and minimum radii - // in the vertex shader. Only when it is larger than some constant, march along the ray. - // Otherwise perform one intersection test which will be the common case. - - // Test if the ray intersects a sphere with the ellipsoid's maximum radius. - // For very oblate ellipsoids, using the ellipsoid's radii for an intersection test - // may cause false negatives. This will discard fragments before marching the ray forward. - float maxRadius = max(u_radii.x, max(u_radii.y, u_radii.z)) * 1.5; - vec3 direction = normalize(v_positionEC); - vec3 ellipsoidCenter = czm_modelView[3].xyz; - - float t1 = -1.0; - float t2 = -1.0; - - float b = -2.0 * dot(direction, ellipsoidCenter); - float c = dot(ellipsoidCenter, ellipsoidCenter) - maxRadius * maxRadius; - - float discriminant = b * b - 4.0 * c; - if (discriminant >= 0.0) { - t1 = (-b - sqrt(discriminant)) * 0.5; - t2 = (-b + sqrt(discriminant)) * 0.5; - } - - if (t1 < 0.0 && t2 < 0.0) { - discard; - } - - float t = min(t1, t2); - if (t < 0.0) { - t = 0.0; - } - - // March ray forward to intersection with larger sphere and find - czm_ray ray = czm_ray(t * direction, direction); - - vec3 ellipsoid_inverseRadii = vec3(1.0 / u_radii.x, 1.0 / u_radii.y, 1.0 / u_radii.z); - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoidCenter, ellipsoid_inverseRadii); - - if (czm_isEmpty(intersection)) - { - discard; - } - - // If the viewer is outside, compute outsideFaceColor, with normals facing outward. - vec4 outsideFaceColor = (intersection.start != 0.0) ? computeEllipsoidColor(ray, intersection.start, 1.0) : vec4(0.0); - - // If the viewer either is inside or can see inside, compute insideFaceColor, with normals facing inward. - vec4 insideFaceColor = (outsideFaceColor.a < 1.0) ? computeEllipsoidColor(ray, intersection.stop, -1.0) : vec4(0.0); - - out_FragColor = mix(insideFaceColor, outsideFaceColor, outsideFaceColor.a); - out_FragColor.a = 1.0 - (1.0 - insideFaceColor.a) * (1.0 - outsideFaceColor.a); - -#if (defined(WRITE_DEPTH) && (__VERSION__ == 300 || defined(GL_EXT_frag_depth))) - t = (intersection.start != 0.0) ? intersection.start : intersection.stop; - vec3 positionEC = czm_pointAlongRay(ray, t); - vec4 positionCC = czm_projection * vec4(positionEC, 1.0); -#ifdef LOG_DEPTH - czm_writeLogDepth(1.0 + positionCC.w); -#else - float z = positionCC.z / positionCC.w; - - float n = czm_depthRange.near; - float f = czm_depthRange.far; - - gl_FragDepth = (z * (f - n) + f + n) * 0.5; -#endif -#endif -} -`;var HI=`in vec3 position; - -uniform vec3 u_radii; - -out vec3 v_positionEC; - -void main() -{ - // In the vertex data, the cube goes from (-1.0, -1.0, -1.0) to (1.0, 1.0, 1.0) in model coordinates. - // Scale to consider the radii. We could also do this once on the CPU when using the BoxGeometry, - // but doing it here allows us to change the radii without rewriting the vertex data, and - // allows all ellipsoids to reuse the same vertex data. - vec4 p = vec4(u_radii * position, 1.0); - - v_positionEC = (czm_modelView * p).xyz; // position in eye coordinates - gl_Position = czm_modelViewProjection * p; // position in clip coordinates - - // With multi-frustum, when the ellipsoid primitive is positioned on the intersection of two frustums - // and close to terrain, the terrain (writes depth) in the closest frustum can overwrite part of the - // ellipsoid (does not write depth) that was rendered in the farther frustum. - // - // Here, we clamp the depth in the vertex shader to avoid being overwritten; however, this creates - // artifacts since some fragments can be alpha blended twice. This is solved by only rendering - // the ellipsoid in the closest frustum to the viewer. - gl_Position.z = clamp(gl_Position.z, czm_depthRange.near, czm_depthRange.far); - - czm_vertexLogDepth(); -} -`;var yX={position:0};function pz(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new ae,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this._computedModelMatrix=new F,this.show=y(e.show,!0),this.material=y(e.material,ji.fromType(ji.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new et({owner:y(e._owner,this)}),this._pickCommand=new et({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function zut(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(l(t))return t;let n=ql.createGeometry(ql.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Pe.POSITION_ONLY}));return t=di.fromGeometry({context:e,geometry:n,attributeLocations:yX,bufferUsage:Ve.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}pz.prototype.update=function(e){if(!this.show||e.mode!==ne.SCENE3D||!l(this.center)||!l(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!l(this._rs)||i)&&(this._translucent=n,this._rs=ze.fromCache({cull:{enabled:!0,face:yi.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?fn.ALPHA_BLEND:void 0})),l(this._va)||(this._va=zut(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let x=this._oneOverEllipsoidRadiiSquared;x.x=1/(r.x*r.x),x.y=1/(r.y*r.y),x.z=1/(r.z*r.z),o=!0}(!F.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(F.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),F.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),ae.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,u=this._useLogDepth!==c;this._useLogDepth=c;let f=this._colorCommand,d,p;(s||a||i||u)&&(d=new Ge({sources:[HI]}),p=new Ge({sources:[this.material.shaderSource,zI]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._sp=sn.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:yX}),f.vertexArray=this._va,f.renderState=this._rs,f.shaderProgram=this._sp,f.uniformMap=xt(this._uniforms,this.material._uniforms),f.executeInClosestFrustum=n);let g=e.commandList,m=e.passes;if(m.render&&(f.boundingVolume=this._boundingSphere,f.debugShowBoundingVolume=this.debugShowBoundingVolume,f.modelMatrix=this._computedModelMatrix,f.pass=n?Se.TRANSLUCENT:Se.OPAQUE,g.push(f)),m.pick){let x=this._pickCommand;(!l(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(s||a||!l(this._pickSP)||u)&&(d=new Ge({sources:[HI]}),p=new Ge({sources:[this.material.shaderSource,zI],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._pickSP=sn.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:yX}),x.vertexArray=this._va,x.renderState=this._rs,x.shaderProgram=this._pickSP,x.uniformMap=xt(xt(this._uniforms,this._pickUniforms),this.material._uniforms),x.executeInClosestFrustum=n),x.boundingVolume=this._boundingSphere,x.modelMatrix=this._computedModelMatrix,x.pass=n?Se.TRANSLUCENT:Se.OPAQUE,g.push(x)}};pz.prototype.isDestroyed=function(){return!1};pz.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var _z=pz;var gz=`in vec3 v_positionMC; -in vec3 v_positionEC; -in vec2 v_st; - -void main() -{ - czm_materialInput materialInput; - - vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); -#ifdef FACE_FORWARD - normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); -#endif - - materialInput.s = v_st.s; - materialInput.st = v_st; - materialInput.str = vec3(v_st, 0.0); - - // Convert tangent space material normal to eye space - materialInput.normalEC = normalEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); - - // Convert view vector to world space - vec3 positionToEyeEC = -v_positionEC; - materialInput.positionToEyeEC = positionToEyeEC; - - czm_material material = czm_getMaterial(materialInput); - -#ifdef FLAT - out_FragColor = vec4(material.diffuse + material.emission, material.alpha); -#else - out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); -#endif -} -`;var yz=`in vec3 position3DHigh; -in vec3 position3DLow; -in vec2 st; -in float batchId; - -out vec3 v_positionMC; -out vec3 v_positionEC; -out vec2 v_st; - -void main() -{ - vec4 p = czm_computePosition(); - - v_positionMC = position3DHigh + position3DLow; // position in model coordinates - v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates - v_st = st; - - gl_Position = czm_modelViewProjectionRelativeToEye * p; -} -`;function mb(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=l(e.material)?e.material:ji.fromType(ji.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,yz),this._fragmentShaderSource=y(e.fragmentShaderSource,gz),this._renderState=eo.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(mb.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return mb.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});mb.VERTEX_FORMAT=Pe.POSITION_AND_ST;mb.prototype.getFragmentShaderSource=eo.prototype.getFragmentShaderSource;mb.prototype.isTranslucent=eo.prototype.isTranslucent;mb.prototype.getRenderState=eo.prototype.getRenderState;var Dye=mb;function Iye(){this.enabled=!0,this.renderable=!0,this.density=2e-4,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}var xz=[359.393,800.749,1275.6501,2151.1192,3141.7763,4777.5198,6281.2493,12364.307,15900.765,49889.0549,78026.8259,99260.7344,120036.3873,151011.0158,156091.1953,203849.3112,274866.9803,319916.3149,493552.0528,628733.5874],Rm=[2e-5,2e-4,1e-4,7e-5,5e-5,4e-5,3e-5,19e-6,1e-5,85e-7,62e-7,58e-7,53e-7,52e-7,51e-7,42e-7,4e-6,34e-7,26e-7,22e-7];for(let e=0;e<Rm.length;++e)Rm[e]*=1e6;var Pye=Rm[1],xX=Rm[Rm.length-1];for(let e=0;e<Rm.length;++e)Rm[e]=(Rm[e]-xX)/(Pye-xX);var ha=0;function Hut(e){let t=xz,n=t.length;if(e<t[0])return ha=0,ha;if(e>t[n-1])return ha=n-2,ha;if(e>=t[ha]){if(ha+1<n&&e<t[ha+1])return ha;if(ha+2<n&&e<t[ha+2])return++ha,ha}else if(ha-1>=0&&e>=t[ha-1])return--ha,ha;let i;for(i=0;i<n-2&&!(e>=t[i]&&e<t[i+1]);++i);return ha=i,ha}var Gut=new h;Iye.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!l(i)||i.height>8e5||e.mode!==ne.SCENE3D){e.fog.enabled=!1,e.fog.density=0;return}let o=i.height,r=Hut(o),s=P.clamp((o-xz[r])/(xz[r+1]-xz[r]),0,1),a=P.lerp(Rm[r],Rm[r+1],s),c=this.density*1e6,u=c/Pye*xX;a=a*(c-u)*1e-6;let f=h.normalize(n.positionWC,Gut),d=Math.abs(h.dot(n.directionWC,f));a*=1-d,e.fog.density=a,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var bz=Iye;function Nl(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,Nl.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,Nl.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,Nl.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,Nl.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,Nl.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new me,this._nominalFrameRate=new me,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){Wut(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){jut(t)}this._visibilityChangeRemoveListener=void 0,l(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}Nl.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};Nl.fromScene=function(e){return(!l(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new Nl({scene:e})),e._frameRateMonitor};Object.defineProperties(Nl.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});Nl.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};Nl.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};Nl.prototype.isDestroyed=function(){return!1};Nl.prototype.destroy=function(){return this._preUpdateRemoveListener(),l(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),ue(this)};function Wut(e,t){if(e._pauseCount>0)return;let n=Ti();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Yn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Yn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Yn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function jut(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var Tz=Nl;function qut(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=ne.SCENE3D,this.morphTime=ne.getMorphTime(ne.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,pickVoxel:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,renderable:!1,density:void 0,sse:void 0,minimumBrightness:void 0},this.atmosphere=void 0,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0,this.pickingMetadata=!1,this.pickedMetadataInfo=void 0}var Cz=qut;function Yut(e,t){this.near=y(e,0),this.far=y(t,0);let n=Se.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var Az=Yut;function Xut(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = ${n}.rgb; - float clippingPlanesEdgeWidth = ${n}.a; - if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) - { - out_FragColor = clippingPlanesEdgeColor; - } -`}var Ez=Xut;function Kut(e,t,n,i){if(!l(e)||l(t)&&e.id!==t)return;let r=(e.classes||{})[n];if(!l(r))return;let a=(r.properties||{})[i];if(l(a))return a}var Sz=Kut;var $ut={NONE:0,LERC:1},th=Object.freeze($ut);var Zut={NONE:0,BITS12:1},ma=Object.freeze(Zut);var pb=new h,Qut=new h,Vf=new U,wz=new F,Jut=new F,eft=Math.pow(2,12);function fc(e,t,n,i,o,r,s,a,c,u){let f=ma.NONE,d,p;if(l(t)&&l(n)&&l(i)&&l(o)){let g=t.minimum,m=t.maximum,x=h.subtract(m,g,Qut),b=i-n;Math.max(h.maximumComponent(x),b)<eft-1?f=ma.BITS12:f=ma.NONE,d=F.inverseTransformation(o,new F);let C=h.negate(g,pb);F.multiply(F.fromTranslation(C,wz),d,d);let A=pb;A.x=1/x.x,A.y=1/x.y,A.z=1/x.z,F.multiply(F.fromScale(A,wz),d,d),p=F.clone(o),F.setTranslation(p,h.ZERO,p),o=F.clone(o,new F);let S=F.fromTranslation(g,wz),w=F.fromScale(x,Jut),D=F.multiply(S,w,wz);F.multiply(o,D,o),F.multiply(p,D,p)}this.quantization=f,this.minimumHeight=n,this.maximumHeight=i,this.center=h.clone(e),this.toScaledENU=d,this.fromScaledENU=o,this.matrix=p,this.hasVertexNormals=r,this.hasWebMercatorT=y(s,!1),this.hasGeodeticSurfaceNormals=y(a,!1),this.exaggeration=y(c,1),this.exaggerationRelativeHeight=y(u,0),this.stride=0,this._offsetGeodeticSurfaceNormal=0,this._offsetVertexNormal=0,this._calculateStrideAndOffsets()}fc.prototype.encode=function(e,t,n,i,o,r,s,a){let c=i.x,u=i.y;if(this.quantization===ma.BITS12){n=F.multiplyByPoint(this.toScaledENU,n,pb),n.x=P.clamp(n.x,0,1),n.y=P.clamp(n.y,0,1),n.z=P.clamp(n.z,0,1);let f=this.maximumHeight-this.minimumHeight,d=P.clamp((o-this.minimumHeight)/f,0,1);U.fromElements(n.x,n.y,Vf);let p=Fn.compressTextureCoordinates(Vf);U.fromElements(n.z,d,Vf);let g=Fn.compressTextureCoordinates(Vf);U.fromElements(c,u,Vf);let m=Fn.compressTextureCoordinates(Vf);if(e[t++]=p,e[t++]=g,e[t++]=m,this.hasWebMercatorT){U.fromElements(s,0,Vf);let x=Fn.compressTextureCoordinates(Vf);e[t++]=x}}else h.subtract(n,this.center,pb),e[t++]=pb.x,e[t++]=pb.y,e[t++]=pb.z,e[t++]=o,e[t++]=c,e[t++]=u,this.hasWebMercatorT&&(e[t++]=s);return this.hasVertexNormals&&(e[t++]=Fn.octPackFloat(r)),this.hasGeodeticSurfaceNormals&&(e[t++]=a.x,e[t++]=a.y,e[t++]=a.z),t};var tft=new h,Rye=new h;fc.prototype.addGeodeticSurfaceNormals=function(e,t,n){if(this.hasGeodeticSurfaceNormals)return;let i=this.stride,o=e.length/i;this.hasGeodeticSurfaceNormals=!0,this._calculateStrideAndOffsets();let r=this.stride;for(let s=0;s<o;s++){for(let f=0;f<i;f++){let d=s*i+f,p=s*r+f;t[p]=e[d]}let a=this.decodePosition(t,s,tft),c=n.geodeticSurfaceNormal(a,Rye),u=s*r+this._offsetGeodeticSurfaceNormal;t[u]=c.x,t[u+1]=c.y,t[u+2]=c.z}};fc.prototype.removeGeodeticSurfaceNormals=function(e,t){if(!this.hasGeodeticSurfaceNormals)return;let n=this.stride,i=e.length/n;this.hasGeodeticSurfaceNormals=!1,this._calculateStrideAndOffsets();let o=this.stride;for(let r=0;r<i;r++)for(let s=0;s<o;s++){let a=r*n+s,c=r*o+s;t[c]=e[a]}};fc.prototype.decodePosition=function(e,t,n){if(l(n)||(n=new h),t*=this.stride,this.quantization===ma.BITS12){let i=Fn.decompressTextureCoordinates(e[t],Vf);n.x=i.x,n.y=i.y;let o=Fn.decompressTextureCoordinates(e[t+1],Vf);return n.z=o.x,F.multiplyByPoint(this.fromScaledENU,n,n)}return n.x=e[t],n.y=e[t+1],n.z=e[t+2],h.add(n,this.center,n)};fc.prototype.getExaggeratedPosition=function(e,t,n){n=this.decodePosition(e,t,n);let i=this.exaggeration,o=this.exaggerationRelativeHeight;if(i!==1&&this.hasGeodeticSurfaceNormals){let s=this.decodeGeodeticSurfaceNormal(e,t,Rye),a=this.decodeHeight(e,t),c=Dr.getHeight(a,i,o)-a;n.x+=s.x*c,n.y+=s.y*c,n.z+=s.z*c}return n};fc.prototype.decodeTextureCoordinates=function(e,t,n){return l(n)||(n=new U),t*=this.stride,this.quantization===ma.BITS12?Fn.decompressTextureCoordinates(e[t+2],n):U.fromElements(e[t+4],e[t+5],n)};fc.prototype.decodeHeight=function(e,t){return t*=this.stride,this.quantization===ma.BITS12?Fn.decompressTextureCoordinates(e[t+1],Vf).y*(this.maximumHeight-this.minimumHeight)+this.minimumHeight:e[t+3]};fc.prototype.decodeWebMercatorT=function(e,t){return t*=this.stride,this.quantization===ma.BITS12?Fn.decompressTextureCoordinates(e[t+3],Vf).x:e[t+6]};fc.prototype.getOctEncodedNormal=function(e,t,n){t=t*this.stride+this._offsetVertexNormal;let i=e[t]/256,o=Math.floor(i),r=(i-o)*256;return U.fromElements(o,r,n)};fc.prototype.decodeGeodeticSurfaceNormal=function(e,t,n){return t=t*this.stride+this._offsetGeodeticSurfaceNormal,n.x=e[t],n.y=e[t+1],n.z=e[t+2],n};fc.prototype._calculateStrideAndOffsets=function(){let e=0;switch(this.quantization){case ma.BITS12:e+=3;break;default:e+=6}this.hasWebMercatorT&&(e+=1),this.hasVertexNormals&&(this._offsetVertexNormal=e,e+=1),this.hasGeodeticSurfaceNormals&&(this._offsetGeodeticSurfaceNormal=e,e+=3),this.stride=e};var vz={position3DAndHeight:0,textureCoordAndEncodedNormals:1,geodeticSurfaceNormal:2},Dz={compressed0:0,compressed1:1,geodeticSurfaceNormal:2};fc.prototype.getAttributes=function(e){let t=X.FLOAT,n=X.getSizeInBytes(t),i=this.stride*n,o=0,r=[];function s(a,c){r.push({index:a,vertexBuffer:e,componentDatatype:t,componentsPerAttribute:c,offsetInBytes:o,strideInBytes:i}),o+=c*n}if(this.quantization===ma.NONE){s(vz.position3DAndHeight,4);let a=2;a+=this.hasWebMercatorT?1:0,a+=this.hasVertexNormals?1:0,s(vz.textureCoordAndEncodedNormals,a),this.hasGeodeticSurfaceNormals&&s(vz.geodeticSurfaceNormal,3)}else{let a=this.hasWebMercatorT||this.hasVertexNormals,c=this.hasWebMercatorT&&this.hasVertexNormals;s(Dz.compressed0,a?4:3),c&&s(Dz.compressed1,1),this.hasGeodeticSurfaceNormals&&s(Dz.geodeticSurfaceNormal,3)}return r};fc.prototype.getAttributeLocations=function(){return this.quantization===ma.NONE?vz:Dz};fc.clone=function(e,t){if(l(e))return l(t)||(t=new fc),t.quantization=e.quantization,t.minimumHeight=e.minimumHeight,t.maximumHeight=e.maximumHeight,t.center=h.clone(e.center),t.toScaledENU=F.clone(e.toScaledENU),t.fromScaledENU=F.clone(e.fromScaledENU),t.matrix=F.clone(e.matrix),t.hasVertexNormals=e.hasVertexNormals,t.hasWebMercatorT=e.hasWebMercatorT,t.hasGeodeticSurfaceNormals=e.hasGeodeticSurfaceNormals,t.exaggeration=e.exaggeration,t.exaggerationRelativeHeight=e.exaggerationRelativeHeight,t._calculateStrideAndOffsets(),t};var qc=fc;var Om={};Om.DEFAULT_STRUCTURE=Object.freeze({heightScale:1,heightOffset:0,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1});var bX=new h,nft=new F,ift=new h,oft=new h;Om.computeVertices=function(e){let t=Math.cos,n=Math.sin,i=Math.sqrt,o=Math.atan,r=Math.exp,s=P.PI_OVER_TWO,a=P.toRadians,c=e.heightmap,u=e.width,f=e.height,d=e.skirtHeight,p=d>0,g=y(e.isGeographic,!0),m=y(e.ellipsoid,ee.default),x=1/m.maximumRadius,b=se.clone(e.nativeRectangle),T=se.clone(e.rectangle),C,A,S,w;l(T)?(C=T.west,A=T.south,S=T.east,w=T.north):g?(C=a(b.west),A=a(b.south),S=a(b.east),w=a(b.north)):(C=b.west*x,A=s-2*o(r(-b.south*x)),S=b.east*x,w=s-2*o(r(-b.north*x)));let D=e.relativeToCenter,O=l(D);D=O?D:h.ZERO;let R=y(e.includeWebMercatorT,!1),M=y(e.exaggeration,1),L=y(e.exaggerationRelativeHeight,0),E=M!==1,v=y(e.structure,Om.DEFAULT_STRUCTURE),I=y(v.heightScale,Om.DEFAULT_STRUCTURE.heightScale),N=y(v.heightOffset,Om.DEFAULT_STRUCTURE.heightOffset),B=y(v.elementsPerHeight,Om.DEFAULT_STRUCTURE.elementsPerHeight),z=y(v.stride,Om.DEFAULT_STRUCTURE.stride),V=y(v.elementMultiplier,Om.DEFAULT_STRUCTURE.elementMultiplier),G=y(v.isBigEndian,Om.DEFAULT_STRUCTURE.isBigEndian),k=se.computeWidth(b),Y=se.computeHeight(b),W=k/(u-1),J=Y/(f-1);g||(k*=x,Y*=x);let j=m.radiiSquared,$=j.x,Q=j.y,he=j.z,ye=65536,re=-65536,_e=Bt.eastNorthUpToFixedFrame(D,m),xe=F.inverseTransformation(_e,nft),De,we;R&&(De=Ii.geodeticLatitudeToMercatorAngle(A),we=1/(Ii.geodeticLatitudeToMercatorAngle(w)-De));let Oe=ift;Oe.x=Number.POSITIVE_INFINITY,Oe.y=Number.POSITIVE_INFINITY,Oe.z=Number.POSITIVE_INFINITY;let Me=oft;Me.x=Number.NEGATIVE_INFINITY,Me.y=Number.NEGATIVE_INFINITY,Me.z=Number.NEGATIVE_INFINITY;let ht=Number.POSITIVE_INFINITY,it=u*f,At=d>0?u*2+f*2:0,Le=it+At,ke=new Array(Le),$e=new Array(Le),Xe=new Array(Le),kt=R?new Array(Le):[],Te=E?new Array(Le):[],Ce=0,Zt=f,Qt=0,Xt=u;p&&(--Ce,++Zt,--Qt,++Xt);let ro=1e-5;for(let Ze=Ce;Ze<Zt;++Ze){let Qe=Ze;Qe<0&&(Qe=0),Qe>=f&&(Qe=f-1);let Nt=b.north-J*Qe;g?Nt=a(Nt):Nt=s-2*o(r(-Nt*x));let gn=(Nt-A)/(w-A);gn=P.clamp(gn,0,1);let Hi=Ze===Ce,so=Ze===Zt-1;d>0&&(Hi?Nt+=ro*Y:so&&(Nt-=ro*Y));let Zr=t(Nt),nr=n(Nt),go=he*nr,Gi;R&&(Gi=(Ii.geodeticLatitudeToMercatorAngle(Nt)-De)*we);for(let ds=Qt;ds<Xt;++ds){let Cr=ds;Cr<0&&(Cr=0),Cr>=u&&(Cr=u-1);let Fu=Qe*(u*z)+Cr*z,Do;if(B===1)Do=c[Fu];else{Do=0;let ya;if(G)for(ya=0;ya<B;++ya)Do=Do*V+c[Fu+ya];else for(ya=B-1;ya>=0;--ya)Do=Do*V+c[Fu+ya]}Do=Do*I+N,re=Math.max(re,Do),ye=Math.min(ye,Do);let Ar=b.west+W*Cr;g?Ar=a(Ar):Ar=Ar*x;let Bu=(Ar-C)/(S-C);Bu=P.clamp(Bu,0,1);let gc=Qe*u+Cr;if(d>0){let ya=ds===Qt,Xs=ds===Xt-1,Is=Hi||so||ya||Xs;if((Hi||so)&&(ya||Xs))continue;Is&&(Do-=d,ya?(gc=it+(f-Qe-1),Ar-=ro*k):so?gc=it+f+(u-Cr-1):Xs?(gc=it+f+u+Qe,Ar+=ro*k):Hi&&(gc=it+f+u+f+Cr))}let uh=Zr*t(Ar),zo=Zr*n(Ar),jm=$*uh,ir=Q*zo,Co=1/i(jm*uh+ir*zo+go*nr),Zf=jm*Co,y0=ir*Co,I_=go*Co,hs=new h;hs.x=Zf+uh*Do,hs.y=y0+zo*Do,hs.z=I_+nr*Do,F.multiplyByPoint(xe,hs,bX),h.minimumByComponent(bX,Oe,Oe),h.maximumByComponent(bX,Me,Me),ht=Math.min(ht,Do),ke[gc]=hs,Xe[gc]=new U(Bu,gn),$e[gc]=Do,R&&(kt[gc]=Gi),E&&(Te[gc]=m.geodeticSurfaceNormal(hs))}}let Ke=ae.fromPoints(ke),$r;l(T)&&($r=In.fromRectangle(T,ye,re,m));let tr;O&&(tr=new ty(m).computeHorizonCullingPointPossiblyUnderEllipsoid(D,ke,ye));let Ys=new L0(Oe,Me,D),Ue=new qc(D,Ys,ht,re,_e,!1,R,E,M,L),ut=new Float32Array(Le*Ue.stride),ot=0;for(let Ze=0;Ze<Le;++Ze)ot=Ue.encode(ut,ot,ke[Ze],Xe[Ze],$e[Ze],void 0,kt[Ze],Te[Ze]);return{vertices:ut,maximumHeight:re,minimumHeight:ye,encoding:Ue,boundingSphere3D:Ke,orientedBoundingBox:$r,occludeePointInScaledSpace:tr}};var GI=Om;function Yy(){de.throwInstantiationError()}Object.defineProperties(Yy.prototype,{credits:{get:de.throwInstantiationError},waterMask:{get:de.throwInstantiationError}});Yy.prototype.interpolateHeight=de.throwInstantiationError;Yy.prototype.isChildAvailable=de.throwInstantiationError;Yy.prototype.createMesh=de.throwInstantiationError;Yy.prototype.upsample=de.throwInstantiationError;Yy.prototype.wasCreatedByUpsampling=de.throwInstantiationError;Yy.maximumAsynchronousTasks=5;var Mm=Yy;function rft(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){this.center=e,this.vertices=t,this.stride=y(u,6),this.indices=n,this.indexCountWithoutSkirts=i,this.vertexCountWithoutSkirts=o,this.minimumHeight=r,this.maximumHeight=s,this.boundingSphere3D=a,this.occludeePointInScaledSpace=c,this.orientedBoundingBox=f,this.encoding=d,this.westIndicesSouthToNorth=p,this.southIndicesEastToWest=g,this.eastIndicesNorthToSouth=m,this.northIndicesWestToEast=x}var nh=rft;function Yc(){de.throwInstantiationError()}Object.defineProperties(Yc.prototype,{errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},hasWaterMask:{get:de.throwInstantiationError},hasVertexNormals:{get:de.throwInstantiationError},availability:{get:de.throwInstantiationError}});var Oye=[];Yc.getRegularGridIndices=function(e,t){let n=Oye[e];l(n)||(Oye[e]=n=[]);let i=n[t];return l(i)||(e*t<P.SIXTY_FOUR_KILOBYTES?i=n[t]=new Uint16Array((e-1)*(t-1)*6):i=n[t]=new Uint32Array((e-1)*(t-1)*6),Fye(e,t,i,0)),i};var Mye=[];Yc.getRegularGridIndicesAndEdgeIndices=function(e,t){let n=Mye[e];l(n)||(Mye[e]=n=[]);let i=n[t];if(!l(i)){let o=Yc.getRegularGridIndices(e,t),r=Nye(e,t),s=r.westIndicesSouthToNorth,a=r.southIndicesEastToWest,c=r.eastIndicesNorthToSouth,u=r.northIndicesWestToEast;i=n[t]={indices:o,westIndicesSouthToNorth:s,southIndicesEastToWest:a,eastIndicesNorthToSouth:c,northIndicesWestToEast:u}}return i};var Lye=[];Yc.getRegularGridAndSkirtIndicesAndEdgeIndices=function(e,t){let n=Lye[e];l(n)||(Lye[e]=n=[]);let i=n[t];if(!l(i)){let o=e*t,r=(e-1)*(t-1)*6,s=e*2+t*2,a=Math.max(0,s-4)*6,c=o+s,u=r+a,f=Nye(e,t),d=f.westIndicesSouthToNorth,p=f.southIndicesEastToWest,g=f.eastIndicesNorthToSouth,m=f.northIndicesWestToEast,x=Be.createTypedArray(c,u);Fye(e,t,x,0),Yc.addSkirtIndices(d,p,g,m,o,x,r),i=n[t]={indices:x,westIndicesSouthToNorth:d,southIndicesEastToWest:p,eastIndicesNorthToSouth:g,northIndicesWestToEast:m,indexCountWithoutSkirts:r}}return i};Yc.addSkirtIndices=function(e,t,n,i,o,r,s){let a=o;s=Iz(e,a,r,s),a+=e.length,s=Iz(t,a,r,s),a+=t.length,s=Iz(n,a,r,s),a+=n.length,Iz(i,a,r,s)};function Nye(e,t){let n=new Array(t),i=new Array(e),o=new Array(t),r=new Array(e),s;for(s=0;s<e;++s)r[s]=s,i[s]=e*t-1-s;for(s=0;s<t;++s)o[s]=(s+1)*e-1,n[s]=(t-s-1)*e;return{westIndicesSouthToNorth:n,southIndicesEastToWest:i,eastIndicesNorthToSouth:o,northIndicesWestToEast:r}}function Fye(e,t,n,i){let o=0;for(let r=0;r<t-1;++r){for(let s=0;s<e-1;++s){let a=o,c=a+e,u=c+1,f=a+1;n[i++]=a,n[i++]=c,n[i++]=f,n[i++]=f,n[i++]=c,n[i++]=u,++o}++o}}function Iz(e,t,n,i){let o=e[0],r=e.length;for(let s=1;s<r;++s){let a=e[s];n[i++]=o,n[i++]=a,n[i++]=t,n[i++]=t,n[i++]=a,n[i++]=t+1,o=a,++t}return i}Yc.heightmapTerrainQuality=.25;Yc.getEstimatedLevelZeroGeometricErrorForAHeightmap=function(e,t,n){return e.maximumRadius*2*Math.PI*Yc.heightmapTerrainQuality/(t*n)};Yc.prototype.requestTileGeometry=de.throwInstantiationError;Yc.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;Yc.prototype.getTileDataAvailable=de.throwInstantiationError;Yc.prototype.loadTileDataAvailability=de.throwInstantiationError;var ls=Yc;function g_(e){this._buffer=e.buffer,this._width=e.width,this._height=e.height,this._childTileMask=y(e.childTileMask,15),this._encoding=y(e.encoding,th.NONE);let t=GI.DEFAULT_STRUCTURE,n=e.structure;l(n)?n!==t&&(n.heightScale=y(n.heightScale,t.heightScale),n.heightOffset=y(n.heightOffset,t.heightOffset),n.elementsPerHeight=y(n.elementsPerHeight,t.elementsPerHeight),n.stride=y(n.stride,t.stride),n.elementMultiplier=y(n.elementMultiplier,t.elementMultiplier),n.isBigEndian=y(n.isBigEndian,t.isBigEndian)):n=t,this._structure=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._skirtHeight=void 0,this._bufferType=this._encoding===th.LERC?Float32Array:this._buffer.constructor,this._mesh=void 0}Object.defineProperties(g_.prototype,{credits:{get:function(){}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}}});var Bye="createVerticesFromHeightmap",sft=new _i(Bye),aft=new _i(Bye,Mm.maximumAsynchronousTasks);g_.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToNativeRectangle(n,i,o),f=t.tileXYToRectangle(n,i,o),d=c.cartographicToCartesian(se.center(f)),p=this._structure,m=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(c,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(m*4,1e3);let b=(a?aft:sft).scheduleTask({heightmap:this._buffer,structure:p,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:u,rectangle:f,relativeToCenter:d,ellipsoid:c,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof vi,exaggeration:r,exaggerationRelativeHeight:s,encoding:this._encoding});if(!l(b))return;let T=this;return Promise.resolve(b).then(function(C){let A;T._skirtHeight>0?A=ls.getRegularGridAndSkirtIndicesAndEdgeIndices(C.gridWidth,C.gridHeight):A=ls.getRegularGridIndicesAndEdgeIndices(C.gridWidth,C.gridHeight);let S=C.gridWidth*C.gridHeight;return T._mesh=new nh(d,new Float32Array(C.vertices),A.indices,A.indexCountWithoutSkirts,S,C.minimumHeight,C.maximumHeight,ae.clone(C.boundingSphere3D),h.clone(C.occludeePointInScaledSpace),C.numberOfAttributes,In.clone(C.orientedBoundingBox),qc.clone(C.encoding),A.westIndicesSouthToNorth,A.southIndicesEastToWest,A.eastIndicesNorthToSouth,A.northIndicesWestToEast),T._buffer=void 0,T._mesh})};g_.prototype._createMeshSync=function(e){let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=t.ellipsoid,c=t.tileXYToNativeRectangle(n,i,o),u=t.tileXYToRectangle(n,i,o),f=a.cartographicToCartesian(se.center(u)),d=this._structure,g=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(a,this._width,t.getNumberOfXTilesAtLevel(0))/(1<<o);this._skirtHeight=Math.min(g*4,1e3);let m=GI.computeVertices({heightmap:this._buffer,structure:d,includeWebMercatorT:!0,width:this._width,height:this._height,nativeRectangle:c,rectangle:u,relativeToCenter:f,ellipsoid:a,skirtHeight:this._skirtHeight,isGeographic:t.projection instanceof vi,exaggeration:r,exaggerationRelativeHeight:s});this._buffer=void 0;let x;this._skirtHeight>0?x=ls.getRegularGridAndSkirtIndicesAndEdgeIndices(this._width,this._height):x=ls.getRegularGridIndicesAndEdgeIndices(this._width,this._height);let b=m.gridWidth*m.gridHeight;return this._mesh=new nh(f,m.vertices,x.indices,x.indexCountWithoutSkirts,b,m.minimumHeight,m.maximumHeight,m.boundingSphere3D,m.occludeePointInScaledSpace,m.encoding.stride,m.orientedBoundingBox,m.encoding,x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),this._mesh};g_.prototype.interpolateHeight=function(e,t,n){let i=this._width,o=this._height,r=this._structure,s=r.stride,a=r.elementsPerHeight,c=r.elementMultiplier,u=r.isBigEndian,f=r.heightOffset,d=r.heightScale,p=l(this._mesh),g=this._encoding===th.LERC;if(!p&&g)return;let x;if(p){let b=this._mesh.vertices,T=this._mesh.encoding;x=kye(b,T,f,d,e,i,o,t,n)}else x=cft(this._buffer,a,c,s,u,e,i,o,t,n),x=x*d+f;return x};g_.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(a))return;let c=this._width,u=this._height,f=this._structure,d=f.stride,p=new this._bufferType(c*u*d),g=a.vertices,m=a.encoding,x=e.tileXYToRectangle(t,n,i),b=e.tileXYToRectangle(o,r,s),T=f.heightOffset,C=f.heightScale,A=f.elementsPerHeight,S=f.elementMultiplier,w=f.isBigEndian,D=Math.pow(S,A-1);for(let O=0;O<u;++O){let R=P.lerp(b.north,b.south,O/(u-1));for(let M=0;M<c;++M){let L=P.lerp(b.west,b.east,M/(c-1)),_=kye(g,m,T,C,x,c,u,L,R);_=_<f.lowestEncodedHeight?f.lowestEncodedHeight:_,_=_>f.highestEncodedHeight?f.highestEncodedHeight:_,lft(p,A,S,D,d,w,O*c+M,_)}}return Promise.resolve(new g_({buffer:p,width:c,height:u,childTileMask:0,structure:this._structure,createdByUpsampling:!0}))};g_.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};g_.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};function cft(e,t,n,i,o,r,s,a,c,u){let f=(c-r.west)*(s-1)/(r.east-r.west),d=(u-r.south)*(a-1)/(r.north-r.south),p=f|0,g=p+1;g>=s&&(g=s-1,p=s-2);let m=d|0,x=m+1;x>=a&&(x=a-1,m=a-2);let b=f-p,T=d-m;m=a-1-m,x=a-1-x;let C=Pz(e,t,n,i,o,m*s+p),A=Pz(e,t,n,i,o,m*s+g),S=Pz(e,t,n,i,o,x*s+p),w=Pz(e,t,n,i,o,x*s+g);return Vye(b,T,C,A,S,w)}function kye(e,t,n,i,o,r,s,a,c){let u=(a-o.west)*(r-1)/(o.east-o.west),f=(c-o.south)*(s-1)/(o.north-o.south),d=u|0,p=d+1;p>=r&&(p=r-1,d=r-2);let g=f|0,m=g+1;m>=s&&(m=s-1,g=s-2);let x=u-d,b=f-g;g=s-1-g,m=s-1-m;let T=(t.decodeHeight(e,g*r+d)-n)/i,C=(t.decodeHeight(e,g*r+p)-n)/i,A=(t.decodeHeight(e,m*r+d)-n)/i,S=(t.decodeHeight(e,m*r+p)-n)/i;return Vye(x,b,T,C,A,S)}function Vye(e,t,n,i,o,r){return t<e?n+e*(i-n)+t*(r-i):n+e*(r-o)+t*(o-n)}function Pz(e,t,n,i,o,r){r*=i;let s=0,a;if(o)for(a=0;a<t;++a)s=s*n+e[r+a];else for(a=t-1;a>=0;--a)s=s*n+e[r+a];return s}function lft(e,t,n,i,o,r,s,a){s*=o;let c;if(r)for(c=0;c<t-1;++c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;else for(c=t-1;c>0;--c)e[s+c]=a/i|0,a-=e[s+c]*i,i/=n;e[s+c]=a}var dc=g_;function YE(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new qi({ellipsoid:y(e.ellipsoid,ee.default)})),this._levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,64,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me}Object.defineProperties(YE.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});YE.prototype.requestTileGeometry=function(e,t,n,i){return Promise.resolve(new dc({buffer:new Uint8Array(16*16),width:16,height:16}))};YE.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};YE.prototype.getTileDataAvailable=function(e,t,n){};YE.prototype.loadTileDataAvailability=function(e,t,n){};var XE=YE;var Rz=`uniform vec4 u_initialColor; - -#if TEXTURE_UNITS > 0 -uniform sampler2D u_dayTextures[TEXTURE_UNITS]; -uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; -uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; - -#ifdef APPLY_ALPHA -uniform float u_dayTextureAlpha[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_DAY_NIGHT_ALPHA -uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; -uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_SPLIT -uniform float u_dayTextureSplit[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_BRIGHTNESS -uniform float u_dayTextureBrightness[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_CONTRAST -uniform float u_dayTextureContrast[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_HUE -uniform float u_dayTextureHue[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_SATURATION -uniform float u_dayTextureSaturation[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_GAMMA -uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C -#ifdef APPLY_INVERT_COLOR_MARS3D -uniform bool u_mars3dTextureInvertColor[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_FILTER_COLOR_MARS3D -uniform vec3 u_mars3dTextureFilterColor[TEXTURE_UNITS]; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - -#ifdef APPLY_IMAGERY_CUTOUT -uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; -#endif - -#ifdef APPLY_COLOR_TO_ALPHA -uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; -#endif - -uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; -#endif - -#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) -uniform sampler2D u_waterMask; -uniform vec4 u_waterMaskTranslationAndScale; -uniform float u_zoomedOutOceanSpecularIntensity; -#endif - -#ifdef SHOW_OCEAN_WAVES -uniform sampler2D u_oceanNormalMap; -#endif - -#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) -uniform vec2 u_lightingFadeDistance; -#endif - -#ifdef TILE_LIMIT_RECTANGLE -uniform vec4 u_cartographicLimitRectangle; -#endif - -#ifdef GROUND_ATMOSPHERE -uniform vec2 u_nightFadeDistance; -#endif - -#ifdef ENABLE_CLIPPING_PLANES -uniform highp sampler2D u_clippingPlanes; -uniform mat4 u_clippingPlanesMatrix; -uniform vec4 u_clippingPlanesEdgeStyle; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS -uniform highp sampler2D u_clippingDistance; -in vec2 v_clippingPosition; -flat in int v_regionIndex; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) -uniform float u_minimumBrightness; -#endif - -#ifdef COLOR_CORRECT -uniform vec3 u_hsbShift; // Hue, saturation, brightness -#endif - -#ifdef HIGHLIGHT_FILL_TILE -uniform vec4 u_fillHighlightColor; -#endif - -#ifdef TRANSLUCENT -uniform vec4 u_frontFaceAlphaByDistance; -uniform vec4 u_backFaceAlphaByDistance; -uniform vec4 u_translucencyRectangle; -#endif - -#ifdef UNDERGROUND_COLOR -uniform vec4 u_undergroundColor; -uniform vec4 u_undergroundColorAlphaByDistance; -#endif - -#ifdef ENABLE_VERTEX_LIGHTING -uniform float u_lambertDiffuseMultiplier; -uniform float u_vertexShadowDarkness; -#endif - -in vec3 v_positionMC; -in vec3 v_positionEC; -in vec3 v_textureCoordinates; -in vec3 v_normalMC; -in vec3 v_normalEC; - -#ifdef APPLY_MATERIAL -in float v_height; -in float v_slope; -in float v_aspect; -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) -#ifdef APPLY_MARS3D_FLOOD -uniform bool u_mars_flood_enabled; -uniform bool u_mars_flood_only; -uniform vec4 u_mars_flood_rectangle; -uniform highp sampler2D u_mars_flood_texture; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 -#ifdef APPLY_MARS3D_CLIP -uniform bool u_mars_clip_enabled; -uniform bool u_mars_clip_only; -uniform vec4 u_mars_clip_rectangle; -uniform highp sampler2D u_mars_clip_texture; -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 -uniform highp float u_mars_inverseTileWidth; -uniform highp vec2 u_mars_cartographicTileRectangle; - -bool inAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture) { - float lo = v_textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; - float la = v_textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; - - float newX = (lo - rectangle.x) / rectangle.z; - float newY = (la - rectangle.y) / rectangle.w; - - if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ - vec4 point = texture(rangeTexture, vec2(newX, newY)); - return point.r > 0.0; - } - - return false; -} -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -in float v_distance; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) -in vec3 v_atmosphereRayleighColor; -in vec3 v_atmosphereMieColor; -in float v_atmosphereOpacity; -#endif - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 -#ifdef APPLY_MARS3D_UPLIFT -uniform vec4 u_mars_uplift_rectangle; -uniform highp sampler2D u_mars_uplift_texture; -uniform bool u_mars_uplift_enabled; -uniform bool u_mars_uplift_hideInsideOrOutside; -#endif -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 - -#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -float interpolateByDistance(vec4 nearFarScalar, float distance) -{ - float startDistance = nearFarScalar.x; - float startValue = nearFarScalar.y; - float endDistance = nearFarScalar.z; - float endValue = nearFarScalar.w; - float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); - return mix(startValue, endValue, t); -} -#endif - -#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) -vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) -{ - return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); -} -#endif - -#ifdef TRANSLUCENT -bool inTranslucencyRectangle() -{ - return - v_textureCoordinates.x > u_translucencyRectangle.x && - v_textureCoordinates.x < u_translucencyRectangle.z && - v_textureCoordinates.y > u_translucencyRectangle.y && - v_textureCoordinates.y < u_translucencyRectangle.w; -} -#endif - -vec4 sampleAndBlend( - vec4 previousColor, - sampler2D textureToSample, - vec2 tileTextureCoordinates, - vec4 textureCoordinateRectangle, - vec4 textureCoordinateTranslationAndScale, - float textureAlpha, - float textureNightAlpha, - float textureDayAlpha, - float textureBrightness, - float textureContrast, - float textureHue, - float textureSaturation, - float textureOneOverGamma, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - bool textureInvertColor, - vec3 texturefilterColor, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - float split, - vec4 colorToAlpha, - float nightBlend) -{ - // This crazy step stuff sets the alpha to 0.0 if this following condition is true: - // tileTextureCoordinates.s < textureCoordinateRectangle.s || - // tileTextureCoordinates.s > textureCoordinateRectangle.p || - // tileTextureCoordinates.t < textureCoordinateRectangle.t || - // tileTextureCoordinates.t > textureCoordinateRectangle.q - // In other words, the alpha is zero if the fragment is outside the rectangle - // covered by this texture. Would an actual 'if' yield better performance? - vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); - textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; - - alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); - textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; - -#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) - textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); -#endif - - vec2 translation = textureCoordinateTranslationAndScale.xy; - vec2 scale = textureCoordinateTranslationAndScale.zw; - vec2 textureCoordinates = tileTextureCoordinates * scale + translation; - vec4 value = texture(textureToSample, textureCoordinates); - vec3 color = value.rgb; - float alpha = value.a; - -#ifdef APPLY_COLOR_TO_ALPHA - vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); - colorDiff.r = czm_maximumComponent(colorDiff); - alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); -#endif - -#if !defined(APPLY_GAMMA) - vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); - color = tempColor.rgb; - alpha = tempColor.a; -#else - color = pow(color, vec3(textureOneOverGamma)); -#endif - -#ifdef APPLY_SPLIT - float splitPosition = czm_splitPosition; - // Split to the left - if (split < 0.0 && gl_FragCoord.x > splitPosition) { - alpha = 0.0; - } - // Split to the right - else if (split > 0.0 && gl_FragCoord.x < splitPosition) { - alpha = 0.0; - } -#endif - -#ifdef APPLY_BRIGHTNESS - color = mix(vec3(0.0), color, textureBrightness); -#endif - -#ifdef APPLY_CONTRAST - color = mix(vec3(0.5), color, textureContrast); -#endif - -#ifdef APPLY_HUE - color = czm_hue(color, textureHue); -#endif - -#ifdef APPLY_SATURATION - color = czm_saturation(color, textureSaturation); -#endif - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C -#ifdef APPLY_INVERT_COLOR_MARS3D - if(textureInvertColor) { - color = vec3(1.0 - color.r, 1.0 - color.g, 1.0 - color.b); - } -#endif - -#ifdef APPLY_FILTER_COLOR_MARS3D - if(texturefilterColor.x != 1.0 || texturefilterColor.y != 1.0 || texturefilterColor.z != 1.0) { - color = vec3(color.r * texturefilterColor.x, color.g * texturefilterColor.y, color.b * texturefilterColor.z); - } -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - - float sourceAlpha = alpha * textureAlpha; - float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); - outAlpha += sign(outAlpha) - 1.0; - - vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; - - // When rendering imagery for a tile in multiple passes, - // some GPU/WebGL implementation combinations will not blend fragments in - // additional passes correctly if their computation includes an unmasked - // divide-by-zero operation, - // even if it's not in the output or if the output has alpha zero. - // - // For example, without sanitization for outAlpha, - // this renders without artifacts: - // if (outAlpha == 0.0) { outColor = vec3(0.0); } - // - // but using czm_branchFreeTernary will cause portions of the tile that are - // alpha-zero in the additional pass to render as black instead of blending - // with the previous pass: - // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); - // - // So instead, sanitize against divide-by-zero, - // store this state on the sign of outAlpha, and correct on return. - - return vec4(outColor, max(outAlpha, 0.0)); -} - -vec3 colorCorrect(vec3 rgb) { -#ifdef COLOR_CORRECT - // Convert rgb color to hsb - vec3 hsb = czm_RGBToHSB(rgb); - // Perform hsb shift - hsb.x += u_hsbShift.x; // hue - hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation - hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness - // Convert shifted hsb back to rgb - rgb = czm_HSBToRGB(hsb); -#endif - return rgb; -} - -vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); -vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); - -const float fExposure = 2.0; - -vec3 computeEllipsoidPosition() -{ - float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); - vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); - xy *= czm_viewport.zw * mpp * 0.5; - - vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); - czm_ray ray = czm_ray(vec3(0.0), direction); - - vec3 ellipsoid_center = czm_view[3].xyz; - - czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); - - vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); - return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; -} - -void main() -{ - -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 -#ifdef APPLY_MARS3D_CLIP - if(u_mars_clip_enabled) { - if(u_mars_clip_only) { - if(!inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { - discard; - } - } else { - if(inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { - discard; - } - } - } -#endif -//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 - -#ifdef TILE_LIMIT_RECTANGLE - if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || - v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) - { - discard; - } -#endif - -#ifdef ENABLE_CLIPPING_PLANES - float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); -#endif - -#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) - vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates - vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordinates -#endif - -#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) - float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); -#else - float nightBlend = 0.0; -#endif - - // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 - // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the - // fragments on the edges of tiles even though the vertex shader is outputting - // coordinates strictly in the 0-1 range. - vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); - -#ifdef SHOW_TILE_BOUNDARIES - if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || - v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) - { - color = vec4(1.0, 0.0, 0.0, 1.0); - } -#endif - -#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) - float cameraDist; - if (czm_sceneMode == czm_sceneMode2D) - { - cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; - } - else if (czm_sceneMode == czm_sceneModeColumbusView) - { - cameraDist = -czm_view[3].z; - } - else - { - cameraDist = length(czm_view[3]); - } - float fadeOutDist = u_lightingFadeDistance.x; - float fadeInDist = u_lightingFadeDistance.y; - if (czm_sceneMode != czm_sceneMode3D) { - vec3 radii = czm_ellipsoidRadii; - float maxRadii = max(radii.x, max(radii.y, radii.z)); - fadeOutDist -= maxRadii; - fadeInDist -= maxRadii; - } - float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); -#else - float fade = 0.0; -#endif - -#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) - vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; - vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; - vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; - waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; - - float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; - - #ifdef SHOW_REFLECTIVE_OCEAN - if (mask > 0.0) - { - mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); - - vec2 ellipsoidTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC); - vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC.zyx); - - vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); - - color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); - } - #endif -#endif - -#ifdef APPLY_MATERIAL - czm_materialInput materialInput; - materialInput.st = v_textureCoordinates.st; - materialInput.normalEC = normalize(v_normalEC); - materialInput.positionToEyeEC = -v_positionEC; - materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); - materialInput.slope = v_slope; - materialInput.height = v_height; - materialInput.aspect = v_aspect; - #ifdef HAS_WATER_MASK - materialInput.waterMask = mask; - #endif - - czm_material material = czm_getMaterial(materialInput); - - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - bool hasAlphaBlend = true; - #ifdef APPLY_MARS3D_FLOOD - hasAlphaBlend = !u_mars_flood_enabled || (u_mars_flood_enabled && inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)); - if(u_mars_flood_enabled) { - if(u_mars_flood_only) { - if(! inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)) { - discard; - } - } - } - #endif - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) - - if(hasAlphaBlend) { - vec4 materialColor = vec4(material.diffuse, material.alpha); - color = alphaBlend(materialColor, color); - } - -#endif - -#ifdef ENABLE_VERTEX_LIGHTING - float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); - vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); -#elif defined(ENABLE_DAYNIGHT_SHADING) - float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); - diffuseIntensity = mix(1.0, diffuseIntensity, fade); - vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); -#else - vec4 finalColor = color; -#endif - -#ifdef ENABLE_CLIPPING_PLANES - vec4 clippingPlanesEdgeColor = vec4(1.0); - clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; - float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; - - if (clipDistance < clippingPlanesEdgeWidth) - { - finalColor = clippingPlanesEdgeColor; - } -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS - vec2 clippingPosition = v_clippingPosition; - int regionIndex = v_regionIndex; - clipPolygons(u_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); -#endif - -#ifdef HIGHLIGHT_FILL_TILE - finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); -#endif - -#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) - vec3 atmosphereLightDirection = czm_sunDirectionWC; -#else - vec3 atmosphereLightDirection = czm_lightDirectionWC; -#endif - -#if defined(GROUND_ATMOSPHERE) || defined(FOG) - if (!czm_backFacing()) - { - bool dynamicLighting = false; - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) - dynamicLighting = true; - #endif - - vec3 rayleighColor; - vec3 mieColor; - float opacity; - - vec3 positionWC; - vec3 lightDirection; - - // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. - // Otherwise, the scattering is computed in the vertex shader. - #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE - positionWC = computeEllipsoidPosition(); - lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); - computeAtmosphereScattering( - positionWC, - lightDirection, - rayleighColor, - mieColor, - opacity - ); - #else - positionWC = v_positionMC; - lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); - rayleighColor = v_atmosphereRayleighColor; - mieColor = v_atmosphereMieColor; - opacity = v_atmosphereOpacity; - #endif - - #ifdef COLOR_CORRECT - const bool ignoreBlackPixels = true; - rayleighColor = czm_applyHSBShift(rayleighColor, u_hsbShift, ignoreBlackPixels); - mieColor = czm_applyHSBShift(mieColor, u_hsbShift, ignoreBlackPixels); - #endif - - vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); - - // Fog is applied to tiles selected for fog, close to the Earth. - #ifdef FOG - vec3 fogColor = groundAtmosphereColor.rgb; - - // If there is lighting, apply that to the fog. - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) - float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); - fogColor *= darken; - #endif - - #ifndef HDR - fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); - fogColor.rgb = czm_inverseGamma(fogColor.rgb); - #endif - - const float modifier = 0.15; - finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, modifier), finalColor.a); - - #else - // Apply ground atmosphere. This happens when the camera is far away from the earth. - - // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. - // This value is larger near the "circumference", as it is further away from the camera. We use it to - // brighten up that area of the ground atmosphere. - const float transmittanceModifier = 0.5; - float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); - - vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; - - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) - float fadeInDist = u_nightFadeDistance.x; - float fadeOutDist = u_nightFadeDistance.y; - - float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); - float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); - vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); - - finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); - #endif - - #ifndef HDR - finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); - #else - finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); - #endif - - finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); - #endif - } -#endif - -#ifdef UNDERGROUND_COLOR - if (czm_backFacing()) - { - float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); - float distance = max(v_distance - distanceFromEllipsoid, 0.0); - float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); - vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); - finalColor = alphaBlend(undergroundColor, finalColor); - } -#endif - -#ifdef TRANSLUCENT - if (inTranslucencyRectangle()) - { - vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; - finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); - } -#endif - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 -#ifdef APPLY_MARS3D_UPLIFT - if(u_mars_uplift_enabled) { - bool isInSlopeRampRectangle = inAreaMars3DRange(u_mars_uplift_rectangle, u_mars_uplift_texture); - if(isInSlopeRampRectangle == u_mars_uplift_hideInsideOrOutside) { - discard; - } - } -#endif - - out_FragColor = finalColor; -} - - -#ifdef SHOW_REFLECTIVE_OCEAN - -float waveFade(float edge0, float edge1, float x) -{ - float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); - return pow(1.0 - y, 5.0); -} - -float linearFade(float edge0, float edge1, float x) -{ - return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); -} - -// Based on water rendering by Jonas Wagner: -// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog - -// low altitude wave settings -const float oceanFrequencyLowAltitude = 825000.0; -const float oceanAnimationSpeedLowAltitude = 0.004; -const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; -const float oceanSpecularIntensity = 0.5; - -// high altitude wave settings -const float oceanFrequencyHighAltitude = 125000.0; -const float oceanAnimationSpeedHighAltitude = 0.008; -const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; - -vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) -{ - vec3 positionToEyeEC = -positionEyeCoordinates; - float positionToEyeECLength = length(positionToEyeEC); - - // The double normalize below works around a bug in Firefox on Android devices. - vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); - - // Fade out the waves as the camera moves far from the surface. - float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); - -#ifdef SHOW_OCEAN_WAVES - // high altitude waves - float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; - vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); - vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); - - // low altitude waves - time = czm_frameNumber * oceanAnimationSpeedLowAltitude; - noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); - vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); - - // blend the 2 wave layers based on distance to surface - float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); - float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); - vec3 normalTangentSpace = - (highAltitudeFade * normalTangentSpaceHighAltitude) + - (lowAltitudeFade * normalTangentSpaceLowAltitude); - normalTangentSpace = normalize(normalTangentSpace); - - // fade out the normal perturbation as we move farther from the water surface - normalTangentSpace.xy *= waveIntensity; - normalTangentSpace = normalize(normalTangentSpace); -#else - vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); -#endif - - vec3 normalEC = enuToEye * normalTangentSpace; - - const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); - - // Use diffuse light to highlight the waves - float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; - vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); - -#ifdef SHOW_OCEAN_WAVES - // Where diffuse light is low or non-existent, use wave highlights based solely on - // the wave bumpiness and no particular light direction. - float tsPerturbationRatio = normalTangentSpace.z; - vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); -#else - vec3 nonDiffuseHighlight = vec3(0.0); -#endif - - // Add specular highlights in 3D, and in all modes when zoomed in. - float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); - float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); - float specular = specularIntensity * surfaceReflectance; - -#ifdef HDR - specular *= 1.4; - - float e = 0.2; - float d = 3.3; - float c = 1.7; - - vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); -#else - vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; -#endif - - return vec4(color, imageryColor.a); -} - -#endif // #ifdef SHOW_REFLECTIVE_OCEAN -`;var Oz=`#ifdef QUANTIZATION_BITS12 -in vec4 compressed0; -in float compressed1; -#else -in vec4 position3DAndHeight; -in vec4 textureCoordAndEncodedNormals; -#endif - -#ifdef GEODETIC_SURFACE_NORMALS -in vec3 geodeticSurfaceNormal; -#endif - -#ifdef EXAGGERATION -uniform vec2 u_verticalExaggerationAndRelativeHeight; -#endif - -uniform vec3 u_center3D; -uniform mat4 u_modifiedModelView; -uniform mat4 u_modifiedModelViewProjection; -uniform vec4 u_tileRectangle; - -// Uniforms for 2D Mercator projection -uniform vec2 u_southAndNorthLatitude; -uniform vec2 u_southMercatorYAndOneOverHeight; - -out vec3 v_positionMC; -out vec3 v_positionEC; - -out vec3 v_textureCoordinates; -out vec3 v_normalMC; -out vec3 v_normalEC; - -#ifdef APPLY_MATERIAL -out float v_slope; -out float v_aspect; -out float v_height; -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) -out float v_distance; -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) -out vec3 v_atmosphereRayleighColor; -out vec3 v_atmosphereMieColor; -out float v_atmosphereOpacity; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS -uniform highp sampler2D u_clippingExtents; -out vec2 v_clippingPosition; -flat out int v_regionIndex; -#endif - -// These functions are generated at runtime. -vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); -float get2DYPositionFraction(vec2 textureCoordinates); - -vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) -{ - return u_modifiedModelViewProjection * vec4(position, 1.0); -} - -float get2DMercatorYPositionFraction(vec2 textureCoordinates) -{ - // The width of a tile at level 11, in radians and assuming a single root tile, is - // 2.0 * czm_pi / pow(2.0, 11.0) - // We want to just linearly interpolate the 2D position from the texture coordinates - // when we're at this level or higher. The constant below is the expression - // above evaluated and then rounded up at the 4th significant digit. - const float maxTileWidth = 0.003068; - float positionFraction = textureCoordinates.y; - float southLatitude = u_southAndNorthLatitude.x; - float northLatitude = u_southAndNorthLatitude.y; - if (northLatitude - southLatitude > maxTileWidth) - { - float southMercatorY = u_southMercatorYAndOneOverHeight.x; - float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; - - float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); - currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); - positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); - } - return positionFraction; -} - -float get2DGeographicYPositionFraction(vec2 textureCoordinates) -{ - return textureCoordinates.y; -} - -vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) -{ - float yPositionFraction = get2DYPositionFraction(textureCoordinates); - vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); - return u_modifiedModelViewProjection * rtcPosition2D; -} - -vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) -{ - return getPositionPlanarEarth(position, 0.0, textureCoordinates); -} - -vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) -{ - return getPositionPlanarEarth(position, height, textureCoordinates); -} - -vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) -{ - // We do not do RTC while morphing, so there is potential for jitter. - // This is unlikely to be noticeable, though. - vec3 position3DWC = position + u_center3D; - float yPositionFraction = get2DYPositionFraction(textureCoordinates); - vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); - vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); - return czm_modelViewProjection * morphPosition; -} - -#ifdef QUANTIZATION_BITS12 -uniform vec2 u_minMaxHeight; -uniform mat4 u_scaleAndBias; -#endif - - -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 -#ifdef APPLY_MARS3D_FLAT -uniform bool u_mars_flat_enabled; -uniform vec4 u_mars_flat_rectangle; -uniform highp sampler2D u_mars_flat_texture; - -uniform highp float u_mars_inverseTileWidth; -uniform highp vec2 u_mars_cartographicTileRectangle; - -vec4 getAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture, vec2 textureCoordinates) { - float lo = textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; - float la = textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; - - float newX = (lo - rectangle.x) / rectangle.z; - float newY = (la - rectangle.y) / rectangle.w; - - vec4 point; - if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ - vec4 point = texture(rangeTexture, vec2(newX, newY)); - return point; - }else{ - return vec4(0.0); - } -} -#endif -// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 - - -void main() -{ -#ifdef QUANTIZATION_BITS12 - vec2 xy = czm_decompressTextureCoordinates(compressed0.x); - vec2 zh = czm_decompressTextureCoordinates(compressed0.y); - vec3 position = vec3(xy, zh.x); - float height = zh.y; - vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); - - height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; - position = (u_scaleAndBias * vec4(position, 1.0)).xyz; - -#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y) || defined(APPLY_MATERIAL) - float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; - float encodedNormal = compressed1; -#elif defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; - float encodedNormal = 0.0; -#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) - float webMercatorT = textureCoordinates.y; - float encodedNormal = compressed0.w; -#else - float webMercatorT = textureCoordinates.y; - float encodedNormal = 0.0; -#endif - -#else - // A single float per element - vec3 position = position3DAndHeight.xyz; - float height = position3DAndHeight.w; - vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; - -#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = textureCoordAndEncodedNormals.z; - float encodedNormal = textureCoordAndEncodedNormals.w; -#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) - float webMercatorT = textureCoordinates.y; - float encodedNormal = textureCoordAndEncodedNormals.z; -#elif defined(INCLUDE_WEB_MERCATOR_Y) - float webMercatorT = textureCoordAndEncodedNormals.z; - float encodedNormal = 0.0; -#else - float webMercatorT = textureCoordinates.y; - float encodedNormal = 0.0; -#endif - -#endif - - vec3 position3DWC = position + u_center3D; - -#ifdef GEODETIC_SURFACE_NORMALS - vec3 ellipsoidNormal = geodeticSurfaceNormal; -#else - vec3 ellipsoidNormal = normalize(position3DWC); -#endif - -#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) - float exaggeration = u_verticalExaggerationAndRelativeHeight.x; - float relativeHeight = u_verticalExaggerationAndRelativeHeight.y; - float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; - - // stop from going through center of earth - float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); - newHeight = max(newHeight, -minRadius); - - vec3 offset = ellipsoidNormal * (newHeight - height); - position += offset; - position3DWC += offset; - height = newHeight; -#endif - - // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 -#ifdef APPLY_MARS3D_FLAT - if(u_mars_flat_enabled) { - vec4 isInside = getAreaMars3DRange(u_mars_flat_rectangle,u_mars_flat_texture,textureCoordinates); - if(isInside.r>0.0 || isInside.g>0.0 || isInside.b>0.0 || isInside.a>0.0){ - float newHeight = czm_unpackFloat(isInside); - if(newHeight>-9999.0 && newHeight<9999.0){ - vec3 offset = (newHeight - height) * ellipsoidNormal; - position += offset; - position3DWC += offset; - height = newHeight; - // vec3 newPosition = (position3DWC + offset) - u_center3D; - } - } - } -#endif - // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 - - gl_Position = getPosition(position, height, textureCoordinates); - - v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; - v_positionMC = position3DWC; // position in model coordinates - - v_textureCoordinates = vec3(textureCoordinates, webMercatorT); - -#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) - vec3 normalMC = czm_octDecode(encodedNormal); - -#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) - vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; - vec3 rejection = normalMC - projection; - normalMC = normalize(projection + rejection * exaggeration); -#endif - - v_normalMC = normalMC; - v_normalEC = czm_normal3D * v_normalMC; -#endif - -#ifdef ENABLE_CLIPPING_POLYGONS - vec2 sphericalLatLong = czm_approximateSphericalCoordinates(position3DWC); - sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); - - vec2 minDistance = vec2(czm_infinity); - v_clippingPosition = vec2(czm_infinity); - v_regionIndex = -1; - - for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { - vec4 extents = unpackClippingExtents(u_clippingExtents, regionIndex); - vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; - - vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); - vec2 distance = abs(rectUv - clamped) * extents.wz; - - float threshold = 0.01; - if (minDistance.x > distance.x || minDistance.y > distance.y) { - minDistance = distance; - v_clippingPosition = rectUv; - if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { - v_regionIndex = regionIndex; - } - } - } -#endif - -#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) - - bool dynamicLighting = false; - - #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) - dynamicLighting = true; - #endif - -#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) - vec3 atmosphereLightDirection = czm_sunDirectionWC; -#else - vec3 atmosphereLightDirection = czm_lightDirectionWC; -#endif - - vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); - - computeAtmosphereScattering( - position3DWC, - lightDirection, - v_atmosphereRayleighColor, - v_atmosphereMieColor, - v_atmosphereOpacity - ); -#endif - -#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) - v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); -#endif - -#ifdef APPLY_MATERIAL - float northPoleZ = czm_ellipsoidRadii.z; - vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); - vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); - float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); - v_slope = acos(dotProd); - vec3 normalRejected = ellipsoidNormal * dotProd; - vec3 normalProjected = v_normalMC - normalRejected; - vec3 aspectVector = normalize(normalProjected); - v_aspect = acos(dot(aspectVector, vectorEastMC)); - float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); - v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); - v_height = height; -#endif -} -`;var Xy=`uniform vec3 u_radiiAndDynamicAtmosphereColor; - -uniform float u_atmosphereLightIntensity; -uniform float u_atmosphereRayleighScaleHeight; -uniform float u_atmosphereMieScaleHeight; -uniform float u_atmosphereMieAnisotropy; -uniform vec3 u_atmosphereRayleighCoefficient; -uniform vec3 u_atmosphereMieCoefficient; - -const float ATMOSPHERE_THICKNESS = 111e3; // The thickness of the atmosphere in meters. -const int PRIMARY_STEPS_MAX = 16; // Maximum number of times the ray from the camera to the world position (primary ray) is sampled. -const int LIGHT_STEPS_MAX = 4; // Maximum number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - -/** - * This function computes the colors contributed by Rayliegh and Mie scattering on a given ray, as well as - * the transmittance value for the ray. - * - * @param {czm_ray} primaryRay The ray from the camera to the position. - * @param {float} primaryRayLength The length of the primary ray. - * @param {vec3} lightDirection The direction of the light to calculate the scattering from. - * @param {vec3} rayleighColor The variable the Rayleigh scattering will be written to. - * @param {vec3} mieColor The variable the Mie scattering will be written to. - * @param {float} opacity The variable the transmittance will be written to. - * @glslFunction - */ -void computeScattering( - czm_ray primaryRay, - float primaryRayLength, - vec3 lightDirection, - float atmosphereInnerRadius, - out vec3 rayleighColor, - out vec3 mieColor, - out float opacity -) { - - // Initialize the default scattering amounts to 0. - rayleighColor = vec3(0.0); - mieColor = vec3(0.0); - opacity = 0.0; - - float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - - vec3 origin = vec3(0.0); - - // Calculate intersection from the camera to the outer ring of the atmosphere. - czm_raySegment primaryRayAtmosphereIntersect = czm_raySphereIntersectionInterval(primaryRay, origin, atmosphereOuterRadius); - - // Return empty colors if no intersection with the atmosphere geometry. - if (primaryRayAtmosphereIntersect == czm_emptyRaySegment) { - return; - } - - // To deal with smaller values of PRIMARY_STEPS (e.g. 4) - // we implement a split strategy: sky or horizon. - // For performance reasons, instead of a if/else branch - // a soft choice is implemented through a weight 0.0 <= w_stop_gt_lprl <= 1.0 - float x = 1e-7 * primaryRayAtmosphereIntersect.stop / length(primaryRayLength); - // Value close to 0.0: close to the horizon - // Value close to 1.0: above in the sky - float w_stop_gt_lprl = 0.5 * (1.0 + czm_approximateTanh(x)); - - // The ray should start from the first intersection with the outer atmopshere, or from the camera position, if it is inside the atmosphere. - float start_0 = primaryRayAtmosphereIntersect.start; - primaryRayAtmosphereIntersect.start = max(primaryRayAtmosphereIntersect.start, 0.0); - // The ray should end at the exit from the atmosphere or at the distance to the vertex, whichever is smaller. - primaryRayAtmosphereIntersect.stop = min(primaryRayAtmosphereIntersect.stop, length(primaryRayLength)); - - // For the number of ray steps, distinguish inside or outside atmosphere (outer space) - // (1) from outer space we have to use more ray steps to get a realistic rendering - // (2) within atmosphere we need fewer steps for faster rendering - float x_o_a = start_0 - ATMOSPHERE_THICKNESS; // ATMOSPHERE_THICKNESS used as an ad-hoc constant, no precise meaning here, only the order of magnitude matters - float w_inside_atmosphere = 1.0 - 0.5 * (1.0 + czm_approximateTanh(x_o_a)); - int PRIMARY_STEPS = PRIMARY_STEPS_MAX - int(w_inside_atmosphere * 12.0); // Number of times the ray from the camera to the world position (primary ray) is sampled. - int LIGHT_STEPS = LIGHT_STEPS_MAX - int(w_inside_atmosphere * 2.0); // Number of times the light is sampled from the light source's intersection with the atmosphere to a sample position on the primary ray. - - // Setup for sampling positions along the ray - starting from the intersection with the outer ring of the atmosphere. - float rayPositionLength = primaryRayAtmosphereIntersect.start; - // (1) Outside the atmosphere: constant rayStepLength - // (2) Inside atmosphere: variable rayStepLength to compensate the rough rendering of the smaller number of ray steps - float totalRayLength = primaryRayAtmosphereIntersect.stop - rayPositionLength; - float rayStepLengthIncrease = w_inside_atmosphere * ((1.0 - w_stop_gt_lprl) * totalRayLength / (float(PRIMARY_STEPS * (PRIMARY_STEPS + 1)) / 2.0)); - float rayStepLength = max(1.0 - w_inside_atmosphere, w_stop_gt_lprl) * totalRayLength / max(7.0 * w_inside_atmosphere, float(PRIMARY_STEPS)); - - vec3 rayleighAccumulation = vec3(0.0); - vec3 mieAccumulation = vec3(0.0); - vec2 opticalDepth = vec2(0.0); - vec2 heightScale = vec2(u_atmosphereRayleighScaleHeight, u_atmosphereMieScaleHeight); - - // Sample positions on the primary ray. - for (int i = 0; i < PRIMARY_STEPS_MAX; ++i) { - - // The loop should be: for (int i = 0; i < PRIMARY_STEPS; ++i) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (i >= PRIMARY_STEPS) { - break; - } - - // Calculate sample position along viewpoint ray. - vec3 samplePosition = primaryRay.origin + primaryRay.direction * (rayPositionLength + rayStepLength); - - // Calculate height of sample position above ellipsoid. - float sampleHeight = length(samplePosition) - atmosphereInnerRadius; - - // Calculate and accumulate density of particles at the sample position. - vec2 sampleDensity = exp(-sampleHeight / heightScale) * rayStepLength; - opticalDepth += sampleDensity; - - // Generate ray from the sample position segment to the light source, up to the outer ring of the atmosphere. - czm_ray lightRay = czm_ray(samplePosition, lightDirection); - czm_raySegment lightRayAtmosphereIntersect = czm_raySphereIntersectionInterval(lightRay, origin, atmosphereOuterRadius); - - float lightStepLength = lightRayAtmosphereIntersect.stop / float(LIGHT_STEPS); - float lightPositionLength = 0.0; - - vec2 lightOpticalDepth = vec2(0.0); - - // Sample positions along the light ray, to accumulate incidence of light on the latest sample segment. - for (int j = 0; j < LIGHT_STEPS_MAX; ++j) { - - // The loop should be: for (int j = 0; i < LIGHT_STEPS; ++j) {...} but WebGL1 cannot - // loop with non-constant condition, so it has to break early instead - if (j >= LIGHT_STEPS) { - break; - } - - // Calculate sample position along light ray. - vec3 lightPosition = samplePosition + lightDirection * (lightPositionLength + lightStepLength * 0.5); - - // Calculate height of the light sample position above ellipsoid. - float lightHeight = length(lightPosition) - atmosphereInnerRadius; - - // Calculate density of photons at the light sample position. - lightOpticalDepth += exp(-lightHeight / heightScale) * lightStepLength; - - // Increment distance on light ray. - lightPositionLength += lightStepLength; - } - - // Compute attenuation via the primary ray and the light ray. - vec3 attenuation = exp(-((u_atmosphereMieCoefficient * (opticalDepth.y + lightOpticalDepth.y)) + (u_atmosphereRayleighCoefficient * (opticalDepth.x + lightOpticalDepth.x)))); - - // Accumulate the scattering. - rayleighAccumulation += sampleDensity.x * attenuation; - mieAccumulation += sampleDensity.y * attenuation; - - // Increment distance on primary ray. - rayPositionLength += (rayStepLength += rayStepLengthIncrease); - } - - // Compute the scattering amount. - rayleighColor = u_atmosphereRayleighCoefficient * rayleighAccumulation; - mieColor = u_atmosphereMieCoefficient * mieAccumulation; - - // Compute the transmittance i.e. how much light is passing through the atmosphere. - opacity = length(exp(-((u_atmosphereMieCoefficient * opticalDepth.y) + (u_atmosphereRayleighCoefficient * opticalDepth.x)))); -} - -vec4 computeAtmosphereColor( - vec3 positionWC, - vec3 lightDirection, - vec3 rayleighColor, - vec3 mieColor, - float opacity -) { - // Setup the primary ray: from the camera position to the vertex position. - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - - float cosAngle = dot(cameraToPositionWCDirection, lightDirection); - float cosAngleSq = cosAngle * cosAngle; - - float G = u_atmosphereMieAnisotropy; - float GSq = G * G; - - // The Rayleigh phase function. - float rayleighPhase = 3.0 / (50.2654824574) * (1.0 + cosAngleSq); - // The Mie phase function. - float miePhase = 3.0 / (25.1327412287) * ((1.0 - GSq) * (cosAngleSq + 1.0)) / (pow(1.0 + GSq - 2.0 * cosAngle * G, 1.5) * (2.0 + GSq)); - - // The final color is generated by combining the effects of the Rayleigh and Mie scattering. - vec3 rayleigh = rayleighPhase * rayleighColor; - vec3 mie = miePhase * mieColor; - - vec3 color = (rayleigh + mie) * u_atmosphereLightIntensity; - - return vec4(color, opacity); -} -`;var WI=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { - - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); - - float atmosphereInnerRadius = length(positionWC); - - computeScattering( - primaryRay, - length(cameraToPositionWC), - lightDirection, - atmosphereInnerRadius, - rayleighColor, - mieColor, - opacity - ); -} -`;function uft(e,t,n,i,o,r){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o,this.clippingPolygonShaderState=r}function TX(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function fft(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case ne.SCENE3D:o=t;break;case ne.SCENE2D:case ne.COLUMBUS_VIEW:o=n;break;case ne.MORPHING:o=i;break}return o}function dft(e){return e.webgl2?`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { - czm_clipPolygons(clippingDistance, regionsLength, clippingPosition, regionIndex); - }`:`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { - }`}function hft(e){return e.webgl2?`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { - return czm_unpackClippingExtents(extentsTexture, index); - }`:`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { - return vec4(); - }`}function mft(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}TX.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,u=e.applyAlpha,f=e.applyDayNightAlpha,d=e.applySplit,p=e.hasWaterMask,g=e.showReflectiveOcean,m=e.showOceanWaves,x=e.enableLighting,b=e.dynamicAtmosphereLighting,T=e.dynamicAtmosphereLightingFromSun,C=e.showGroundAtmosphere,A=e.perFragmentGroundAtmosphere,S=e.hasVertexNormals,w=e.useWebMercatorProjection,D=e.enableFog,O=e.enableClippingPlanes,R=e.clippingPlanes,M=e.enableClippingPolygons,L=e.clippingPolygons,_=e.clippedByBoundaries,E=e.hasImageryLayerCutout,v=e.colorCorrect,I=e.highlightFillTile,N=e.colorToAlpha,B=e.hasGeodeticSurfaceNormals,z=e.hasExaggeration,V=e.showUndergroundColor,G=e.translucent,k=e.marsOptions||{},Y=0,W="",j=n.renderedMesh.encoding;j.quantization===ma.BITS12&&(Y=1,W="QUANTIZATION_BITS12");let Q=0,he="";_&&(Q=1,he="TILE_LIMIT_RECTANGLE");let ye=0,re="";E&&(ye=1,re="APPLY_IMAGERY_CUTOUT");let _e=t.mode,xe=_e|o<<2|r<<3|s<<4|a<<5|c<<6|u<<7|p<<8|g<<9|m<<10|x<<11|b<<12|T<<13|C<<14|A<<15|S<<16|w<<17|D<<18|Y<<19|d<<20|O<<21|M<<22|Q<<23|ye<<24|v<<25|I<<26|N<<27|B<<28|z<<29|V<<30|G<<31|f<<32,De=0;l(R)&&R.length>0&&(De=O?R.clippingPlanesState:0);let we=0;l(L)&&L.length>0&&(we=M?L.clippingPolygonsState:0);let Oe=n.surfaceShader;if(l(Oe)&&Oe.numberOfDayTextures===i&&Oe.flags===xe&&Oe.material===this.material&&Oe.clippingShaderState===De&&Oe.clippingPolygonShaderState===we)return Oe.shaderProgram;let Me=this._shadersByTexturesFlags[i];if(l(Me)||(Me=this._shadersByTexturesFlags[i]=[]),Oe=Me[xe],!l(Oe)||Oe.material!==this.material||Oe.clippingShaderState!==De||Oe.clippingPolygonShaderState!==we){let ht=this.baseVertexShaderSource.clone(),it=this.baseFragmentShaderSource.clone();De!==0&&it.sources.unshift(ky(R,t.context)),we!==0&&(it.sources.unshift(dft(t.context)),ht.sources.unshift(hft(t.context))),k.enableUplift&&it.defines.push("APPLY_MARS3D_UPLIFT"),k.enableFlat&&ht.defines.push("APPLY_MARS3D_FLAT"),k.enableClip&&it.defines.push("APPLY_MARS3D_CLIP"),k.enableFlood&&it.defines.push("APPLY_MARS3D_FLOOD"),ht.defines.push(W),it.defines.push(`TEXTURE_UNITS ${i}`,he,re),o&&it.defines.push("APPLY_BRIGHTNESS"),r&&it.defines.push("APPLY_CONTRAST"),s&&it.defines.push("APPLY_HUE"),a&&it.defines.push("APPLY_SATURATION"),c&&it.defines.push("APPLY_GAMMA"),k.invertColor&&it.defines.push("APPLY_INVERT_COLOR_MARS3D"),k.filterColor&&it.defines.push("APPLY_FILTER_COLOR_MARS3D"),u&&it.defines.push("APPLY_ALPHA"),f&&it.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&it.defines.push("HAS_WATER_MASK"),g&&(it.defines.push("SHOW_REFLECTIVE_OCEAN"),ht.defines.push("SHOW_REFLECTIVE_OCEAN")),m&&it.defines.push("SHOW_OCEAN_WAVES"),N&&it.defines.push("APPLY_COLOR_TO_ALPHA"),V&&(ht.defines.push("UNDERGROUND_COLOR"),it.defines.push("UNDERGROUND_COLOR")),G&&(ht.defines.push("TRANSLUCENT"),it.defines.push("TRANSLUCENT")),x&&(S?(ht.defines.push("ENABLE_VERTEX_LIGHTING"),it.defines.push("ENABLE_VERTEX_LIGHTING")):(ht.defines.push("ENABLE_DAYNIGHT_SHADING"),it.defines.push("ENABLE_DAYNIGHT_SHADING"))),b&&(ht.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),it.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),T&&(ht.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),it.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),C&&(ht.defines.push("GROUND_ATMOSPHERE"),it.defines.push("GROUND_ATMOSPHERE"),A&&(ht.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),it.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),ht.defines.push("INCLUDE_WEB_MERCATOR_Y"),it.defines.push("INCLUDE_WEB_MERCATOR_Y"),D&&(ht.defines.push("FOG"),it.defines.push("FOG")),d&&it.defines.push("APPLY_SPLIT"),O&&it.defines.push("ENABLE_CLIPPING_PLANES"),M&&(it.defines.push("ENABLE_CLIPPING_POLYGONS"),ht.defines.push("ENABLE_CLIPPING_POLYGONS"),L.inverse&&it.defines.push("CLIPPING_INVERSE"),it.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${L.extentsCount}`),ht.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${L.extentsCount}`)),v&&it.defines.push("COLOR_CORRECT"),I&&it.defines.push("HIGHLIGHT_FILL_TILE"),B&&ht.defines.push("GEODETIC_SURFACE_NORMALS"),z&&ht.defines.push("EXAGGERATION");let At=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) - { - vec4 color = initialColor; -`;E&&(At+=` vec4 cutoutAndColorResult; - bool texelUnclipped; -`);for(let ke=0;ke<i;++ke)E?At+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${ke}]; - texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y; - cutoutAndColorResult = sampleAndBlend( -`:At+=` color = sampleAndBlend( -`,At+=` color, - u_dayTextures[${ke}], - u_dayTextureUseWebMercatorT[${ke}] ? textureCoordinates.xz : textureCoordinates.xy, - u_dayTextureTexCoordsRectangle[${ke}], - u_dayTextureTranslationAndScale[${ke}], - ${u?`u_dayTextureAlpha[${ke}]`:"1.0"}, - ${f?`u_dayTextureNightAlpha[${ke}]`:"1.0"}, -${f?`u_dayTextureDayAlpha[${ke}]`:"1.0"}, -${o?`u_dayTextureBrightness[${ke}]`:"0.0"}, - ${r?`u_dayTextureContrast[${ke}]`:"0.0"}, - ${s?`u_dayTextureHue[${ke}]`:"0.0"}, - ${a?`u_dayTextureSaturation[${ke}]`:"0.0"}, - ${c?`u_dayTextureOneOverGamma[${ke}]`:"0.0"}, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - ${k.invertColor?`u_mars3dTextureInvertColor[${ke}]`:"false"}, - ${k.filterColor?`u_mars3dTextureFilterColor[${ke}]`:"vec3(1.0)"}, - //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C - ${d?`u_dayTextureSplit[${ke}]`:"0.0"}, - ${N?`u_colorsToAlpha[${ke}]`:"vec4(0.0)"}, - nightBlend ); -`,E&&(At+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color); -`);At+=` return color; - }`,it.sources.push(At),ht.sources.push(fft(_e)),ht.sources.push(mft(w));let Le=sn.fromCache({context:t.context,vertexShaderSource:ht,fragmentShaderSource:it,attributeLocations:j.getAttributeLocations()});Oe=Me[xe]=new uft(i,xe,this.material,Le,De,we)}return n.surfaceShader=Oe,Oe.shaderProgram};TX.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!l(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],l(t)&&t.shaderProgram.destroy())}return ue(this)};var Mz=TX;var pft={NONE:-1,PARTIAL:0,FULL:1},br=Object.freeze(pft);var _ft={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},Zn=Object.freeze(_ft);var gft={START:0,LOADING:1,DONE:2,FAILED:3},pa=Object.freeze(gft);var yft={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},ho=Object.freeze(yft);function Jo(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=ho.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new ae,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(Jo.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===ho.RECEIVING||e===ho.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!l(s.loadingImagery)||s.loadingImagery.state!==Zn.TRANSITIONING}return n}},renderedMesh:{get:function(){if(l(this.vertexArray))return this.mesh;if(l(this.fill))return this.fill.mesh}}});var xft=new fe;function CX(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(l(t)&&t!==ne.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,xft);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var bft=new h,Tft=new h,Cft=new h;Jo.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!l(r))return;let s=r.vertices,a=r.indices,c=r.encoding,u=a.length,f=Number.MAX_VALUE;for(let d=0;d<u;d+=3){let p=a[d],g=a[d+1],m=a[d+2],x=CX(c,t,n,s,p,bft),b=CX(c,t,n,s,g,Tft),T=CX(c,t,n,s,m,Cft),C=Jn.rayTriangleParametric(e,x,b,T,i);l(C)&&C<f&&C>=0&&(f=C)}return f!==Number.MAX_VALUE?_n.getPoint(e,f,o):void 0};Jo.prototype.freeResources=function(){l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=ho.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};Jo.prototype.freeVertexArray=function(){Jo._freeVertexArray(this.vertexArray),this.vertexArray=void 0,Jo._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};Jo.initialize=function(e,t,n){let i=e.data;l(i)||(i=e.data=new Jo),e.state===pa.START&&(Aft(e,t,n),e.state=pa.LOADING)};Jo.processStateMachine=function(e,t,n,i,o,r,s){Jo.initialize(e,n,i);let a=e.data;if(e.state===pa.LOADING&&Eft(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=l(a.vertexArray);let u=a.terrainState===ho.READY;e.upsampledFromParent=l(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let f=a.processImagery(e,n,t);if(u&&f){let d=e._loadedCallbacks,p={};for(let g in d)d.hasOwnProperty(g)&&(d[g](e)||(p[g]=d[g]));e._loadedCallbacks=p,e.state=pa.DONE}c&&(e.renderable=!0)};Jo.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,u,f;for(u=0,f=c.length;u<f;++u){let d=c[u];if(!l(d.loadingImagery)){r=!1;continue}if(d.loadingImagery.state===Zn.PLACEHOLDER){let g=d.loadingImagery.imageryLayer;if(g.ready){d.freeResources(),c.splice(u,1),g._createTileImagerySkeletons(e,t,u),--u,f=c.length;continue}else r=!1}let p=d.processStateMachine(e,n,i);a=a&&p,s=s||p||l(d.readyImagery),r=r&&l(d.loadingImagery)&&(d.loadingImagery.state===Zn.FAILED||d.loadingImagery.state===Zn.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function Uye(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=qc.clone(s);c.hasGeodeticSurfaceNormals=t,c=qc.clone(c);let u=c.stride,f=new Float32Array(a*u);t?s.addGeodeticSurfaceNormals(r,f,n):s.removeGeodeticSurfaceNormals(r,f),o.vertices=f,o.stride=u,o!==e.mesh?(Jo._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=Jo._createVertexArrayForMesh(i.context,o)):(Jo._freeVertexArray(e.vertexArray),e.vertexArray=Jo._createVertexArrayForMesh(i.context,o)),Jo._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}Jo.prototype.addGeodeticSurfaceNormals=function(e,t){Uye(this,!0,e,t)};Jo.prototype.removeGeodeticSurfaceNormals=function(e){Uye(this,!1,void 0,e)};Jo.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.verticalExaggeration,s=t.verticalExaggerationRelativeHeight,a=r!==1,c=o.encoding,u=c.exaggeration!==r,f=c.exaggerationRelativeHeight!==s;if(u||f){if(u)if(a&&!c.hasGeodeticSurfaceNormals){let d=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(d,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let d=e.customData,p=d.length;for(let g=0;g<p;g++){let m=d[g];m.level=-1}}}};function Aft(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!l(i)&&l(e.parent)){let o=e.parent,r=o.data;l(r)&&l(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=ho.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function Eft(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===ho.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||Jo.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===ho.FAILED&&Sft(s,e,t,n,e.x,e.y,e.level),s.terrainState===ho.UNLOADED&&wft(s,n,e.x,e.y,e.level),s.terrainState===ho.RECEIVED&&Dft(s,t,n,e.x,e.y,e.level),s.terrainState===ho.TRANSFORMED&&(Ift(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=ho.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)Rft(t.context,s);else{let u=s._findAncestorTileWithTerrainData(e);l(u)&&l(u.data.waterMaskTexture)&&(s.waterMaskTexture=u.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,u,s.waterMaskTranslationAndScale))}}function Sft(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=pa.FAILED;return}let c=a.data.terrainData,u=a.x,f=a.y,d=a.level;if(!l(c))return;let p=c.upsample(i.tilingScheme,u,f,d,o,r,s);l(p)&&(e.terrainState=ho.RECEIVING,Promise.resolve(p).then(function(g){l(g)&&(e.terrainData=g,e.terrainState=ho.RECEIVED)}).catch(function(){e.terrainState=ho.FAILED}))}function wft(e,t,n,i,o){function r(c){if(!l(c)){e.terrainState=ho.UNLOADED,e.request=void 0;return}e.terrainData=c,e.terrainState=ho.RECEIVED,e.request=void 0}function s(c){if(e.request.state===Qn.CANCELLED){e.terrainData=void 0,e.terrainState=ho.UNLOADED,e.request=void 0;return}e.terrainState=ho.FAILED,e.request=void 0;let u=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=vo.reportError(t._requestError,t,t.errorEvent,u,n,i,o),t._requestError.retry&&a()}function a(){let c=new or({throttle:!1,throttleByServer:!0,type:ps.TERRAIN});e.request=c;let u=t.requestTileGeometry(n,i,o,c);l(u)?(e.terrainState=ho.RECEIVING,Promise.resolve(u).then(function(f){r(f)}).catch(function(f){s(f)})):(e.terrainState=ho.UNLOADED,e.request=void 0)}a()}var vft={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function Dft(e,t,n,i,o,r){let s=n.tilingScheme,a=vft;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.verticalExaggeration,a.exaggerationRelativeHeight=t.verticalExaggerationRelativeHeight,a.throttle=!0;let u=e.terrainData.createMesh(a);l(u)&&(e.terrainState=ho.TRANSFORMING,Promise.resolve(u).then(function(f){e.mesh=f,e.terrainState=ho.TRANSFORMED}).catch(function(){e.terrainState=ho.FAILED}))}Jo._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=yt.createVertexBuffer({context:e,typedArray:n,usage:Ve.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!l(s)||s.isDestroyed()){let a=t.indices;s=yt.createIndexBuffer({context:e,typedArray:a,usage:Ve.STATIC_DRAW,indexDatatype:Be.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new di({context:e,attributes:o,indexBuffer:s})};Jo._freeVertexArray=function(e){if(l(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),l(t)&&!t.isDestroyed()&&l(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function Ift(e,t,n,i,o,r,s){e.vertexArray=Jo._createVertexArrayForMesh(t,e.mesh),e.terrainState=ho.READY,e.fill=e.fill&&e.fill.destroy(s)}function Pft(e){let t=e.cache.tile_waterMaskData;if(!l(t)){let n=Mt.create({context:e,pixelFormat:ct.LUMINANCE,pixelDatatype:nt.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.LINEAR,magnificationFilter:fi.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function Rft(e,t){let n=t.terrainData.waterMask,i=Pft(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=Mt.create({context:e,pixelFormat:ct.LUMINANCE,pixelDatatype:nt.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,oe.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}Jo.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;l(t)&&(!l(t.data)||!l(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};Jo.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var ih=Jo;var Lz=`uniform sampler2D u_texture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = texture(u_texture, v_textureCoordinates); -} -`;var Nz=`in vec4 position; -in float webMercatorT; - -uniform vec2 u_textureDimensions; - -out vec2 v_textureCoordinates; - -void main() -{ - v_textureCoordinates = vec2(position.x, webMercatorT); - gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); -} -`;function KE(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=Zn.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!l(o)&&e.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}KE.createPlaceholder=function(e){let t=new KE(e,0,0,0);return t.addReference(),t.state=Zn.PLACEHOLDER,t};KE.prototype.addReference=function(){++this.referenceCount};KE.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),l(this.parent)&&this.parent.releaseReference(),l(this.image)&&l(this.image.destroy)&&this.image.destroy(),l(this.texture)&&this.texture.destroy(),l(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),ue(this),0):this.referenceCount};KE.prototype.processStateMachine=function(e,t,n){this.state===Zn.UNLOADED&&!n&&(this.state=Zn.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===Zn.RECEIVED&&(this.state=Zn.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===Zn.READY&&t&&!this.texture;(this.state===Zn.TEXTURE_LOADED||i)&&(this.state=Zn.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var jI=KE;function AX(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}AX.prototype.freeResources=function(){l(this.readyImagery)&&this.readyImagery.releaseReference(),l(this.loadingImagery)&&this.loadingImagery.releaseReference()};AX.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===Zn.READY)return l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;l(r)&&(r.state!==Zn.READY||!this.useWebMercatorT&&!l(r.texture));)r.state!==Zn.FAILED&&r.state!==Zn.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,l(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===Zn.FAILED||i.state===Zn.INVALID?l(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var qI=AX;function pi(e,t){this._imageryProvider=e,this._readyEvent=new me,this._errorEvent=new me,t=y(t,y.EMPTY_OBJECT),e=y(e,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e._defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e._defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e._defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e._defaultBrightness,pi.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e._defaultContrast,pi.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e._defaultHue,pi.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e._defaultSaturation,pi.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e._defaultGamma,pi.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,pi.DEFAULT_SPLIT),this.minificationFilter=y(t.minificationFilter,y(e._defaultMinificationFilter,pi.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e._defaultMagnificationFilter,pi.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,se.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new qI(jI.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,pi.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD),this._marsOptions=y(t.marsOptions,{}),this._initByMars3D&&this._initByMars3D(e,t)}Object.defineProperties(pi.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return l(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});pi.DEFAULT_BRIGHTNESS=1;pi.DEFAULT_CONTRAST=1;pi.DEFAULT_HUE=0;pi.DEFAULT_SATURATION=1;pi.DEFAULT_GAMMA=1;pi.DEFAULT_SPLIT=kr.NONE;pi.DEFAULT_MINIFICATION_FILTER=en.LINEAR;pi.DEFAULT_MAGNIFICATION_FILTER=fi.LINEAR;pi.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;pi.fromProviderAsync=function(e,t){let n=new pi(void 0,t);return Fft(n,Promise.resolve(e)),n};pi.fromWorldImagery=function(e){return e=y(e,y.EMPTY_OBJECT),pi.fromProviderAsync(jy({style:e.style}),e)};pi.prototype.isBaseLayer=function(){return this._isBaseLayer};pi.prototype.isDestroyed=function(){return!1};pi.prototype.destroy=function(){return ue(this)};var Gye=new se,zye=new se,EX=new se,Wye=new se;pi.prototype.getImageryRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return se.intersection(e.rectangle,t)};pi.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(!l(t)||l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;l(n)||(n=i.imagery.length);let o=this._imageryProvider;if(!this.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Ii&&e.rectangle.north<Ii.MaximumLatitude&&e.rectangle.south>-Ii.MaximumLatitude,s=se.intersection(o.rectangle,this._rectangle,Gye),a=se.intersection(e.rectangle,s,zye);if(!l(a)){if(!this.isBaseLayer())return!1;let v=s,I=e.rectangle;a=zye,I.south>=v.north?a.north=a.south=v.north:I.north<=v.south?a.north=a.south=v.south:(a.south=Math.max(I.south,v.south),a.north=Math.min(I.north,v.north)),I.west>=v.east?a.west=a.east=v.east:I.east<=v.west?a.west=a.east=v.west:(a.west=Math.max(I.west,v.west),a.east=Math.min(I.east,v.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let f=1*t.getLevelMaximumGeometricError(e.level),d=Lft(this,f,c);d=Math.max(0,d);let p=o.maximumLevel;if(d>p&&(d=p),l(o.minimumLevel)){let v=o.minimumLevel;d<v&&(d=v)}let g=o.tilingScheme,m=g.positionToTileXY(se.northwest(a),d),x=g.positionToTileXY(se.southeast(a),d),b=e.rectangle.width/512,T=e.rectangle.height/512,C=g.tileXYToRectangle(m.x,m.y,d);Math.abs(C.south-e.rectangle.north)<T&&m.y<x.y&&++m.y,Math.abs(C.east-e.rectangle.west)<b&&m.x<x.x&&++m.x;let A=g.tileXYToRectangle(x.x,x.y,d);Math.abs(A.north-e.rectangle.south)<T&&x.y>m.y&&--x.y,Math.abs(A.west-e.rectangle.east)<b&&x.x>m.x&&--x.x;let S=se.clone(e.rectangle,Wye),w=g.tileXYToRectangle(m.x,m.y,d),D=se.intersection(w,s,EX),O;r?(g.rectangleToNativeRectangle(S,S),g.rectangleToNativeRectangle(w,w),g.rectangleToNativeRectangle(D,D),g.rectangleToNativeRectangle(s,s),O=g.tileXYToNativeRectangle.bind(g),b=S.width/512,T=S.height/512):O=g.tileXYToRectangle.bind(g);let R,M=0,L=1,_;!this.isBaseLayer()&&Math.abs(D.west-S.west)>=b&&(M=Math.min(1,(D.west-S.west)/S.width)),!this.isBaseLayer()&&Math.abs(D.north-S.north)>=T&&(L=Math.max(0,(D.north-S.south)/S.height));let E=L;for(let v=m.x;v<=x.x;v++)if(R=M,w=O(v,m.y,d),D=se.simpleIntersection(w,s,EX),!!l(D)){M=Math.min(1,(D.east-S.west)/S.width),v===x.x&&(this.isBaseLayer()||Math.abs(D.east-S.east)<b)&&(M=1),L=E;for(let I=m.y;I<=x.y;I++){if(_=L,w=O(v,I,d),D=se.simpleIntersection(w,s,EX),!l(D))continue;L=Math.max(0,(D.south-S.south)/S.height),I===x.y&&(this.isBaseLayer()||Math.abs(D.south-S.south)<T)&&(L=0);let N=new oe(R,L,M,_),B=this.getImageryFromCache(v,I,d);i.imagery.splice(n,0,new qI(B,N,r)),++n}}return!0};pi.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,Gye),i=c.rectangleToNativeRectangle(i,Wye)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new oe(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};pi.prototype._requestImagery=function(e){if(l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return e.state=Zn.FAILED,e.request=void 0,!1;if(l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return e.state=Zn.FAILED,e.request=void 0,!1;let t=this._imageryProvider,n=this;function i(s){if(!l(s))return o();e.image=s,e.state=Zn.RECEIVED,e.request=void 0,vo.reportSuccess(n._requestImageError),n._marsOptions.onAddTileSuccess&&n._marsOptions.onAddTileSuccess(e)}function o(s){if(e.request.state===Qn.CANCELLED){e.state=Zn.UNLOADED,e.request=void 0;return}e.state=Zn.FAILED,e.request=void 0;let a=`\u65E0\u6CD5\u83B7\u5F97\u56FE\u5757 x:${e.x},y: ${e.y},z:${e.level}. `;t._resource&&t._resource._last_url&&(a+=t._resource._last_url),n._requestImageError=vo.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r(),n._marsOptions.onAddTileError&&n._marsOptions.onAddTileError(e)}function r(){let s=new or({throttle:!1,throttleByServer:!0,type:ps.IMAGERY});e.request=s,e.state=Zn.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!l(a)){e.state=Zn.UNLOADED,e.request=void 0;return}l(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),n._marsOptions.onAddTile&&n._marsOptions.onAddTile(e),a.then?a.then(function(c){i(c)}).catch(function(c){o(c)}):i(a)}r()};pi.prototype._createTextureWebGL=function(e,t){let n=new tn({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return l(i.internalFormat)?new Mt({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new Mt({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?ct.RGBA:ct.RGB,sampler:n})};pi.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(l(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(l(r)){if(!r.isReady()){t.state=Zn.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=Zn.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Ii?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=Zn.TEXTURE_LOADED};function Hye(e,t,n){return`${e}:${t}:${n}`}pi.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===en.LINEAR&&i===fi.LINEAR&&!ct.isCompressedFormat(t.pixelFormat)&&P.isPowerOfTwo(t.width)&&P.isPowerOfTwo(t.height)){n=en.LINEAR_MIPMAP_LINEAR;let r=Ut.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=Hye(n,i,s),c=e.cache.imageryLayerMipmapSamplers;l(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let u=c[a];l(u)||(u=c[a]=new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(rp.NICEST),t.sampler=u}else{let r=Hye(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;l(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];l(a)||(a=s[r]=new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};pi.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof vi)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new mh({persists:!0,owner:this,preExecute:function(c){Mft(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=Zn.READY,t.releaseReference()},canceled:function(){t.state=Zn.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=Zn.READY};pi.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};pi.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){l(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};pi.prototype.getImageryFromCache=function(e,t,n,i){let o=jye(e,t,n),r=this._imageryCache[o];return l(r)||(r=new jI(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};pi.prototype.removeImageryFromCache=function(e){this._marsOptions.onRemoveTile&&this._marsOptions.onRemoveTile(e);let t=jye(e.x,e.y,e.level);delete this._imageryCache[t]};function jye(e,t,n){return JSON.stringify([e,t,n])}var Fz={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new U,texture:void 0},Oft=Wt.supportsTypedArrays()?new Float32Array(2*64):void 0;function Mft(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!l(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){l(this.framebuffer)&&this.framebuffer.destroy(),l(this.vertexArray)&&this.vertexArray.destroy(),l(this.shaderProgram)&&this.shaderProgram.destroy()}};let b=new Float32Array(2*64*2),T=0;for(let D=0;D<64;++D){let O=D/63;b[T++]=0,b[T++]=O,b[T++]=1,b[T++]=O}let C={position:0,webMercatorT:1},A=ls.getRegularGridIndices(2,64),S=yt.createIndexBuffer({context:t,typedArray:A,usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT});o.vertexArray=new di({context:t,attributes:[{index:C.position,vertexBuffer:yt.createVertexBuffer({context:t,typedArray:b,usage:Ve.STATIC_DRAW}),componentsPerAttribute:2},{index:C.webMercatorT,vertexBuffer:yt.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:Ve.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:S});let w=new Ge({sources:[Nz]});o.shaderProgram=sn.fromCache({context:t,vertexShaderSource:w,fragmentShaderSource:Lz,attributeLocations:C}),o.sampler=new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.LINEAR,magnificationFilter:fi.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;Fz.textureDimensions.x=r,Fz.textureDimensions.y=s,Fz.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let f=1/(.5*Math.log((1+a)/(1-a))-c),d=new Mt({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});P.isPowerOfTwo(r)&&P.isPowerOfTwo(s)&&d.generateMipmap(rp.NICEST);let p=i.south,g=i.north,m=Oft,x=0;for(let b=0;b<64;++b){let T=b/63,C=P.lerp(p,g,T);a=Math.sin(C);let S=(.5*Math.log((1+a)/(1-a))-c)*f;m[x++]=S,m[x++]=S}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(m),e.shaderProgram=o.shaderProgram,e.outputTexture=d,e.uniformMap=Fz,e.vertexArray=o.vertexArray}function Lft(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof vi?1:Math.cos(n),a=o.rectangle,u=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,f=Math.log(u)/Math.log(2);return Math.round(f)|0}function Nft(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function Fft(e,t){let n;try{if(n=await Promise.resolve(t),e.isDestroyed())return;e._imageryProvider=n,e._readyEvent.raiseEvent(n)}catch(i){Nft(e._errorEvent,i)}}var La=pi;var Bft={WEST:0,NORTH:1,EAST:2,SOUTH:3,NORTHWEST:4,NORTHEAST:5,SOUTHWEST:6,SOUTHEAST:7},yn=Bft;var qye={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=qye.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},Xn=qye;function ZE(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe}ZE.prototype.update=function(e,t,n){this.changedThisFrame&&(Jye(e,t,this.tile,n),this.changedThisFrame=!1)};ZE.prototype.destroy=function(e){this._destroyVertexArray(e),l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};ZE.prototype._destroyVertexArray=function(e){l(this.vertexArray)&&(l(e)?e.push(this.vertexArray):ih._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var kft=new cx;ZE.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=kft;a.clear();for(let u=0;u<t.length;++u){let f=t[u];l(f.data.vertexArray)&&a.enqueue(t[u])}let c=a.dequeue();for(;c!==void 0;){let u=c.findTileToWest(r),f=c.findTileToSouth(r),d=c.findTileToEast(r),p=c.findTileToNorth(r);vs(e,n,c,u,s,yn.EAST,!1,a,i),vs(e,n,c,f,s,yn.NORTH,!1,a,i),vs(e,n,c,d,s,yn.WEST,!1,a,i),vs(e,n,c,p,s,yn.SOUTH,!1,a,i);let g=u.findTileToNorth(r),m=u.findTileToSouth(r),x=d.findTileToNorth(r),b=d.findTileToSouth(r);vs(e,n,c,g,s,yn.SOUTHEAST,!1,a,i),vs(e,n,c,x,s,yn.SOUTHWEST,!1,a,i),vs(e,n,c,m,s,yn.NORTHEAST,!1,a,i),vs(e,n,c,b,s,yn.NORTHWEST,!1,a,i),c=a.dequeue()}};function vs(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let u=i;for(;u&&(u._lastSelectionResultFrame!==o||Xn.wasKicked(u._lastSelectionResult)||Xn.originalResult(u._lastSelectionResult)===Xn.CULLED);){if(s)return;let f=u.parent;if(r>=yn.NORTHWEST&&f!==void 0)switch(r){case yn.NORTHWEST:u=u===f.northwestChild?f:void 0;break;case yn.NORTHEAST:u=u===f.northeastChild?f:void 0;break;case yn.SOUTHWEST:u=u===f.southwestChild?f:void 0;break;case yn.SOUTHEAST:u=u===f.southeastChild?f:void 0;break}else u=f}if(u!==void 0){if(u._lastSelectionResult===Xn.RENDERED){if(l(u.data.vertexArray))return;Vft(e,t,n,u,r,o,a,c);return}if(Xn.originalResult(i._lastSelectionResult)!==Xn.CULLED)switch(r){case yn.WEST:vs(e,t,n,i.northwestChild,o,r,!0,a,c),vs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case yn.EAST:vs(e,t,n,i.southeastChild,o,r,!0,a,c),vs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case yn.SOUTH:vs(e,t,n,i.southwestChild,o,r,!0,a,c),vs(e,t,n,i.southeastChild,o,r,!0,a,c);break;case yn.NORTH:vs(e,t,n,i.northeastChild,o,r,!0,a,c),vs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case yn.NORTHWEST:vs(e,t,n,i.northwestChild,o,r,!0,a,c);break;case yn.NORTHEAST:vs(e,t,n,i.northeastChild,o,r,!0,a,c);break;case yn.SOUTHWEST:vs(e,t,n,i.southwestChild,o,r,!0,a,c);break;case yn.SOUTHEAST:vs(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new de("Invalid edge")}}}function Vft(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new ZE(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),Uft(e,t,n,i,o,a)}function Uft(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;l(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(Jye(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let u,f;switch(o){case yn.WEST:u=s.westMeshes,f=s.westTiles;break;case yn.SOUTH:u=s.southMeshes,f=s.southTiles;break;case yn.EAST:u=s.eastMeshes,f=s.eastTiles;break;case yn.NORTH:u=s.northMeshes,f=s.northTiles;break;case yn.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case yn.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case yn.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case yn.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||u[0]!==a||u.length!==1,u[0]=a,f[0]=n,u.length=1,f.length=1;return}let d,p,g,m,x=n.rectangle,b,T=i.rectangle;switch(o){case yn.WEST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.north,m.south,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.south,m.north,b));++p);break;case yn.SOUTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.west,m.east,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.east,m.west,b));++p);break;case yn.EAST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.south,m.north,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.north,m.south,b));++p);break;case yn.NORTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.east,m.west,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.west,m.east,b));++p);break}p-d===1?(s.changedThisFrame=s.changedThisFrame||u[d]!==a,u[d]=a,f[d]=n):(s.changedThisFrame=!0,u.splice(d,p-d,a),f.splice(d,p-d,n))}var _b=new fe,zft=new fe,$E=new h,DX=new h,SX=new U,wX=new U,Iu=new U;function Gz(){this.height=0,this.encodedNormal=new U}function Bz(e,t,n,i,o,r,s,a,c){if(l(o))return o;let u;if(l(r)&&l(s))u=(r.height+s.height)*.5;else if(l(r))u=r.height;else if(l(s))u=s.height;else if(l(a))u=a.height;else{let d=e.tile.data.tileBoundingRegion,p=0,g=0;l(d)&&(p=d.minimumHeight,g=d.maximumHeight),u=(p+g)*.5}return e0e(e,t,n,i,u,c),c}var Hft={minimumHeight:0,maximumHeight:0},Gft=new h,Yye=new Gz,Xye=new Gz,Kye=new Gz,$ye=new Gz,Wft=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,jft={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function Jye(e,t,n,i){ih.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.verticalExaggeration,c=t.verticalExaggerationRelativeHeight,u=a!==1,f=n.tilingScheme.ellipsoid,d=Vz(r,f,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,Kye),p=Vz(r,f,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,Yye),g=Vz(r,f,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,Xye),m=Vz(r,f,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,$ye);d=Bz(r,f,0,1,d,p,m,g,Kye),p=Bz(r,f,0,0,p,d,g,m,Yye),g=Bz(r,f,1,1,g,p,m,d,Xye),m=Bz(r,f,1,1,m,g,d,p,$ye);let x=p.height,b=g.height,T=d.height,C=m.height,A=Math.min(x,b,T,C),S=Math.max(x,b,T,C),w=(A+S)*.5,D,O,R=e.getLevelMaximumGeometricError(n.level),M=f.maximumRadius-R,L=Math.acos(M/f.maximumRadius)*4;if(L*=1.5,s.width>L&&S-A<=R){let v=new dc({width:9,height:9,buffer:Wft,structure:{heightOffset:S}}),I=jft;I.tilingScheme=n.tilingScheme,I.x=n.x,I.y=n.y,I.level=n.level,I.exaggeration=a,I.exaggerationRelativeHeight=c,r.mesh=v._createMeshSync(I)}else{let v=u,I=se.center(s,zft);I.height=w;let N=f.cartographicToCartesian(I,Gft),B=new qc(N,void 0,void 0,void 0,void 0,!0,!0,v,a,c),z=5,V;for(V=r.westMeshes,D=0,O=V.length;D<O;++D)z+=V[D].eastIndicesNorthToSouth.length;for(V=r.southMeshes,D=0,O=V.length;D<O;++D)z+=V[D].northIndicesWestToEast.length;for(V=r.eastMeshes,D=0,O=V.length;D<O;++D)z+=V[D].westIndicesSouthToNorth.length;for(V=r.northMeshes,D=0,O=V.length;D<O;++D)z+=V[D].southIndicesEastToWest.length;let G=Hft;G.minimumHeight=A,G.maximumHeight=S;let k=B.stride,Y=new Float32Array(z*k),W=0,J=W;W=kz(f,s,B,Y,W,0,1,d.height,d.encodedNormal,1,G),W=zz(r,f,B,Y,W,r.westTiles,r.westMeshes,yn.EAST,G);let j=W;W=kz(f,s,B,Y,W,0,0,p.height,p.encodedNormal,0,G),W=zz(r,f,B,Y,W,r.southTiles,r.southMeshes,yn.NORTH,G);let $=W;W=kz(f,s,B,Y,W,1,0,g.height,g.encodedNormal,0,G),W=zz(r,f,B,Y,W,r.eastTiles,r.eastMeshes,yn.WEST,G);let Q=W;W=kz(f,s,B,Y,W,1,1,m.height,m.encodedNormal,1,G),W=zz(r,f,B,Y,W,r.northTiles,r.northMeshes,yn.SOUTH,G),A=G.minimumHeight,S=G.maximumHeight;let he=In.fromRectangle(s,A,S,n.tilingScheme.ellipsoid),ye=Ii.geodeticLatitudeToMercatorAngle(s.south),re=1/(Ii.geodeticLatitudeToMercatorAngle(s.north)-ye),_e=(Ii.geodeticLatitudeToMercatorAngle(I.latitude)-ye)*re,xe=f.geodeticSurfaceNormalCartographic(_b,DX),De=Fn.octEncode(xe,SX),we=W;B.encode(Y,W*k,he.center,U.fromElements(.5,.5,Iu),w,De,_e,xe),++W;let Oe=W,Me=Oe<256?1:2,ht=(Oe-1)*3,it=ht*Me,At=(Y.length-Oe*k)*Float32Array.BYTES_PER_ELEMENT,Le;if(At>=it){let Ce=Oe*k*Float32Array.BYTES_PER_ELEMENT;Le=Oe<256?new Uint8Array(Y.buffer,Ce,ht):new Uint16Array(Y.buffer,Ce,ht)}else Le=Oe<256?new Uint8Array(ht):new Uint16Array(ht);Y=new Float32Array(Y.buffer,0,Oe*k);let ke=0;for(D=0;D<Oe-2;++D)Le[ke++]=we,Le[ke++]=D,Le[ke++]=D+1;Le[ke++]=we,Le[ke++]=D,Le[ke++]=0;let $e=[];for(D=j;D>=J;--D)$e.push(D);let Xe=[];for(D=$;D>=j;--D)Xe.push(D);let kt=[];for(D=Q;D>=$;--D)kt.push(D);let Te=[];for(Te.push(0),D=we-1;D>=Q;--D)Te.push(D);r.mesh=new nh(B.center,Y,Le,ht,Oe,A,S,ae.fromOrientedBoundingBox(he),Qft(e,he.center,s,A,S),B.stride,he,B,$e,Xe,kt,Te)}let _=t.context;r._destroyVertexArray(i),r.vertexArray=ih._createVertexArrayForMesh(_,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let E=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let v=o._findAncestorTileWithTerrainData(n);l(v)&&l(v.data.waterMaskTexture)&&(r.waterMaskTexture=v.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,v,r.waterMaskTranslationAndScale))}l(E)&&(--E.referenceCount,E.referenceCount===0&&E.destroy())}function kz(e,t,n,i,o,r,s,a,c,u,f){let d=_b;d.longitude=P.lerp(t.west,t.east,r),d.latitude=P.lerp(t.south,t.north,s),d.height=a;let p=e.cartographicToCartesian(d,$E),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,DX));let m=wX;return m.x=r,m.y=s,n.encode(i,o*n.stride,p,m,a,c,u,g),f.minimumHeight=Math.min(f.minimumHeight,a),f.maximumHeight=Math.max(f.maximumHeight,a),o+1}var Hz=new se;function YI(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=se.clone(e.rectangle,Hz),o.west-=P.TWO_PI,o.east-=P.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=se.clone(e.rectangle,Hz),o.west+=P.TWO_PI,o.east+=P.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,u=o.north-o.south,f=(r.south-o.south)/u,d=(r.north-o.south)/u,p=(n.x-a)/(c-a),g=(n.y-f)/(d-f);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var qft=new U;function vX(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var Yft=new U,Xft=new h;function Kft(e,t,n,i,o,r,s,a,c,u){let f=i.encoding,d=i.vertices,p=YI(t,n,f.decodeTextureCoordinates(d,o,Iu),Iu),g=YI(t,n,f.decodeTextureCoordinates(d,r,wX),wX),m;c?m=(s-p.x)/(g.x-p.x):m=(a-p.y)/(g.y-p.y);let x=f.decodeHeight(d,o),b=f.decodeHeight(d,r),T=n.rectangle;_b.longitude=P.lerp(T.west,T.east,s),_b.latitude=P.lerp(T.south,T.north,a),u.height=_b.height=P.lerp(x,b,m);let C;if(f.hasVertexNormals){let A=f.getOctEncodedNormal(d,o,qft),S=f.getOctEncodedNormal(d,r,Yft),w=Fn.octDecode(A.x,A.y,$E),D=Fn.octDecode(S.x,S.y,Xft);C=h.lerp(w,D,m,$E),h.normalize(C,C),Fn.octEncode(C,u.encodedNormal)}else C=e.geodeticSurfaceNormalCartographic(_b,$E),Fn.octEncode(C,u.encodedNormal)}function e0e(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic(_b,$E);Fn.octEncode(s,r.encodedNormal)}function Vz(e,t,n,i,o,r,s,a,c,u,f){if(Qye(e,t,a,s,!1,n,i,f)||Qye(e,t,u,c,!0,n,i,f))return f;let p;if(IX(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],vX(r,p,n,i,f),f;let g;if(n===0?i===0?g=Uz(e.westMeshes,e.westTiles,yn.EAST,e.southMeshes,e.southTiles,yn.NORTH,n,i):g=Uz(e.northMeshes,e.northTiles,yn.SOUTH,e.westMeshes,e.westTiles,yn.EAST,n,i):i===0?g=Uz(e.southMeshes,e.southTiles,yn.NORTH,e.eastMeshes,e.eastTiles,yn.WEST,n,i):g=Uz(e.eastMeshes,e.eastTiles,yn.WEST,e.northMeshes,e.northTiles,yn.SOUTH,n,i),l(g))return e0e(e,t,n,i,g,f),f}function Uz(e,t,n,i,o,r,s,a){let c=Zye(e,t,!1,n,s,a),u=Zye(i,o,!0,r,s,a);return l(c)&&l(u)?(c+u)*.5:l(c)?c:u}function zz(e,t,n,i,o,r,s,a,c){for(let u=0;u<r.length;++u)o=$ft(e,t,n,i,o,r[u],s[u],a,c);return o}function $ft(e,t,n,i,o,r,s,a,c){let u=r.rectangle;a===yn.EAST&&e.tile.x===0?(u=se.clone(r.rectangle,Hz),u.west-=P.TWO_PI,u.east-=P.TWO_PI):a===yn.WEST&&r.x===0&&(u=se.clone(r.rectangle,Hz),u.west+=P.TWO_PI,u.east+=P.TWO_PI);let f=e.tile.rectangle,d,p;o>0&&(n.decodeTextureCoordinates(i,o-1,Iu),d=Iu.x,p=Iu.y);let g,m;switch(a){case yn.WEST:g=s.westIndicesSouthToNorth,m=!1;break;case yn.NORTH:g=s.northIndicesWestToEast,m=!0;break;case yn.EAST:g=s.eastIndicesNorthToSouth,m=!1;break;case yn.SOUTH:g=s.southIndicesEastToWest,m=!0;break}let x=r,b=e.tile,T=s.encoding,C=s.vertices,A=n.stride,S,w;T.hasWebMercatorT&&(S=Ii.geodeticLatitudeToMercatorAngle(f.south),w=1/(Ii.geodeticLatitudeToMercatorAngle(f.north)-S));for(let D=0;D<g.length;++D){let O=g[D],R=T.decodeTextureCoordinates(C,O,Iu);YI(x,b,R,R);let M=R.x,L=R.y,_=m?M:L;if(_<0||_>1||Math.abs(M-d)<P.EPSILON5&&Math.abs(L-p)<P.EPSILON5)continue;let E=Math.abs(M)<P.EPSILON5||Math.abs(M-1)<P.EPSILON5,v=Math.abs(L)<P.EPSILON5||Math.abs(L-1)<P.EPSILON5;if(E&&v)continue;let I=T.decodePosition(C,O,$E),N=T.decodeHeight(C,O),B;T.hasVertexNormals?B=T.getOctEncodedNormal(C,O,SX):(B=SX,B.x=0,B.y=0);let z=L;if(T.hasWebMercatorT){let G=P.lerp(f.south,f.north,L);z=(Ii.geodeticLatitudeToMercatorAngle(G)-S)*w}let V;n.hasGeodeticSurfaceNormals&&(V=t.geodeticSurfaceNormal(I,DX)),n.encode(i,o*A,I,R,N,B,z,V),c.minimumHeight=Math.min(c.minimumHeight,N),c.maximumHeight=Math.max(c.maximumHeight,N),++o}return o}function Zye(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let u=s;u!==a;u+=c){let f=e[u],d=t[u];if(!IX(d,f))continue;let p;switch(i){case yn.WEST:p=f.westIndicesSouthToNorth;break;case yn.SOUTH:p=f.southIndicesEastToWest;break;case yn.EAST:p=f.eastIndicesNorthToSouth;break;case yn.NORTH:p=f.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(l(g))return f.encoding.decodeHeight(f.vertices,g)}}function IX(e,t){return l(t)&&(!l(e.data.fill)||!e.data.fill.changedThisFrame)}function Qye(e,t,n,i,o,r,s,a){let c,u,f,d,p,g=i[o?0:n.length-1],m=n[o?0:n.length-1];if(IX(g,m)&&(r===0?s===0?(c=o?m.northIndicesWestToEast:m.eastIndicesNorthToSouth,u=o,f=o):(c=o?m.eastIndicesNorthToSouth:m.southIndicesEastToWest,u=!o,f=!1):s===0?(c=o?m.westIndicesSouthToNorth:m.northIndicesWestToEast,u=!o,f=!0):(c=o?m.southIndicesEastToWest:m.westIndicesSouthToNorth,u=o,f=!o),c.length>0)){d=o?0:c.length-1,p=c[d],m.encoding.decodeTextureCoordinates(m.vertices,p,Iu);let x=YI(g,e.tile,Iu,Iu);if(x.x===r&&x.y===s)return vX(m,p,r,s,a),!0;if(d=Po(c,u?r:s,function(b,T){m.encoding.decodeTextureCoordinates(m.vertices,b,Iu);let C=YI(g,e.tile,Iu,Iu);return f?u?C.x-r:C.y-s:u?r-C.x:s-C.y}),d<0){if(d=~d,d>0&&d<c.length)return Kft(t,g,e.tile,m,c[d-1],c[d],r,s,u,a),!0}else return vX(m,c[d],r,s,a),!0}return!1}var Zft=[new h,new h,new h,new h];function Qft(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=Zft;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var XI=ZE;function er(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.showWaterEffect=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=bn.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new me,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(er.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(er.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(er.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(er.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new me,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new H(0,0,.5,1),this._clippingPlanes=void 0,this._clippingPolygons=void 0,this.cartographicLimitRectangle=se.clone(se.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldVerticalExaggeration=void 0,this._oldVerticalExaggerationRelativeHeight=void 0,this._initByMars3D&&this._initByMars3D(e)}Object.defineProperties(er.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=oe.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},tilingScheme:{get:function(){if(l(this._terrainProvider))return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,l(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){bs.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){jh.setOwner(e,this,"_clippingPolygons")}}});function Jft(e,t){let n=e.loadingImagery;l(n)||(n=e.readyImagery);let i=t.loadingImagery;return l(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}er.prototype.update=function(e){this._imageryLayers._update()};function edt(e,t){let n=t.creditDisplay,i=e._terrainProvider;l(i)&&l(i.credit)&&n.addCreditToNextFrame(i.credit);let o=e._imageryLayers;for(let r=0,s=o.length;r<s;++r){let a=o.get(r);a.ready&&a.show&&l(a.imageryProvider.credit)&&n.addCreditToNextFrame(a.imageryProvider.credit)}}er.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(Jft)})),edt(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)ih._freeVertexArray(t[i]);t.length=0};er.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let o=0,r=t.length;o<r;++o){let s=t[o];l(s)&&(s.length=0)}let n=this._clippingPlanes;l(n)&&n.enabled&&n.update(e);let i=this._clippingPolygons;l(i)&&i.enabled&&(i.update(e),i.queueCommands(e)),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};er.prototype.endUpdate=function(e){if(!l(this._renderState)){this._renderState=ze.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Sc.LESS}}),this._blendRenderState=ze.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Sc.LESS_OR_EQUAL},blending:fn.ALPHA_BLEND});let s=We(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=ze.fromCache(s),s=We(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=ze.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&XI.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.verticalExaggeration,i=e.verticalExaggerationRelativeHeight,o=this._oldVerticalExaggeration!==n||this._oldVerticalExaggerationRelativeHeight!==i;this._oldVerticalExaggeration=n,this._oldVerticalExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(l(c))for(let u=0,f=c.length;u<f;++u){let d=c[u],p=d.data.tileBoundingRegion;r0e(this,d,e,!1);let g=this.marsOptions?.uplift;if(g&&g.enabled&&g.height!==0&&g.rectangles){for(let m=0;m<g.rectangles.length;m++)if(se.intersection(p.rectangle,g.rectangles[m])){r0e(this,d,e,!0);break}}e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function s0e(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}er.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)s0e(t[n],e)};er.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};er.prototype.getLevelMaximumGeometricError=function(e){return l(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(e):0};er.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;l(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===Xn.CULLED_BUT_NEEDED,o=n.terrainState),ih.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==br.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,ih.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var tdt=new ae,a0e=new se,ndt=new se,idt=new fe;function jz(e,t){if(t.west<t.east)return t;let n=se.clone(t,ndt);return se.center(e,idt).longitude>0?n.east=P.PI:n.west=-P.PI,n}function c0e(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;if(l(n)&&n.enabled)return!0;let i=e._clippingPolygons;return!!(l(i)&&i.enabled||!se.equals(e.cartographicLimitRectangle,se.MAX_VALUE))}er.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=c0e(this,t);if(t.fog.enabled&&!o&&P.fog(i,t.fog.density)>=1)return br.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return br.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;l(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let u=jz(e.rectangle,this.cartographicLimitRectangle),f=se.simpleIntersection(u,e.rectangle,a0e);if(!l(f))return br.NONE;if(se.equals(f,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==ne.SCENE3D&&(c=tdt,ae.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===ne.MORPHING&&l(r.renderedMesh)&&(c=ae.union(s.boundingSphere,c,c))),!l(c))return br.PARTIAL;let d=this._clippingPlanes;if(l(d)&&d.enabled){let b=d.computeIntersectionWithBoundingVolume(c);if(e.isClipped=b!==qt.INSIDE,b===qt.OUTSIDE)return br.NONE}let p=this._clippingPolygons;if(l(p)&&p.enabled){let b=p.computeIntersectionWithBoundingVolume(s);e.isClipped=b!==qt.OUTSIDE}let g,m=a.computeVisibility(c);if(m===qt.OUTSIDE?g=br.NONE:m===qt.INTERSECTING?g=br.PARTIAL:m===qt.INSIDE&&(g=br.FULL),g===br.NONE)return g;let x=t.mode===ne.SCENE3D&&t.camera.frustum instanceof an;if(t.mode===ne.SCENE3D&&!x&&l(n)&&!o){let b=r.occludeePointInScaledSpace;return!l(b)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(b,s.minimumHeight)?g:br.NONE}return g};er.prototype.canRefine=function(e){return l(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var odt=[],rdt=[];er.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=odt;i.length=this._imageryLayers.length;let o=!1,r=!1,s;l(n)&&(o=n.terrainState===ho.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(l(s))for(a=0,c=s.length;a<c;++a){let d=s[a],p=d.loadingImagery,g=!l(p)||p.state===Zn.FAILED||p.state===Zn.INVALID,m=(d.loadingImagery||d.readyImagery).imageryLayer._layerIndex;i[m]=g&&i[m]}let u=this.quadtree._lastSelectionFrameNumber,f=rdt;for(f.length=0,f.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);f.length>0;){let d=f.pop(),p=d._lastSelectionResultFrame===u?d._lastSelectionResult:Xn.NONE;if(p===Xn.RENDERED){let g=d.data;if(!l(g))continue;if(!o&&d.data.terrainState===ho.READY)return!1;let m=d.data.imagery;for(a=0,c=m.length;a<c;++a){let x=m[a],b=x.loadingImagery,T=!l(b)||b.state===Zn.FAILED||b.state===Zn.INVALID,C=(x.loadingImagery||x.readyImagery).imageryLayer._layerIndex;if(T&&!i[C])return!1}}else p===Xn.REFINED&&f.push(d.southwestChild,d.southeastChild,d.northwestChild,d.northeastChild)}return!0};var sdt=new h;er.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,sdt),a=h.magnitude(s);return a<P.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var t0e=new F,Wz=new F,adt=new oe,cdt=new oe,ldt=new oe,udt=new h,n0e=new h,fdt=new h,ddt=new h;er.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let u=i[a];l(u.readyImagery)&&u.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];l(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;l(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var hdt=[new h,new h,new h,new h];function i0e(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=hdt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}er.prototype.computeDistanceToTile=function(e,t){mdt(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,u=Math.abs(c-r),f=Math.abs(c-s);u>f?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function mdt(e,t,n){let i=e.data;i===void 0&&(i=e.data=new ih);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new Ed({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,u=e,f=0,d=t.marsOptions?.flat;if(d&&d.enabled&&d.rectangles){for(let b=0;b<d.rectangles.length;b++)if(se.intersection(e.rectangle,d.rectangles[b])){f=d.rectangles[b]._flatHeight??d.heights[b];break}}let p=t.marsOptions?.uplift,g=0;if(p&&p.enabled&&p.height!==0&&p.rectangles){for(let b=0;b<p.rectangles.length;b++)if(se.intersection(r.rectangle,p.rectangles[b])){g=p.height;break}}let m=i.mesh,x=i.terrainData;if(m!==void 0&&m.minimumHeight!==void 0&&m.maximumHeight!==void 0)r.minimumHeight=m.minimumHeight,r.maximumHeight=m.maximumHeight,c=!0;else if(x!==void 0&&x._minimumHeight!==void 0&&x._maximumHeight!==void 0)r.minimumHeight=x._minimumHeight,r.maximumHeight=x._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let b=e.parent;for(;b!==void 0;){let T=b.data;if(T!==void 0){let C=T.mesh,A=T.terrainData;if(C!==void 0&&C.minimumHeight!==void 0&&C.maximumHeight!==void 0){r.minimumHeight=C.minimumHeight,r.maximumHeight=C.maximumHeight;break}else if(A!==void 0&&A._minimumHeight!==void 0&&A._maximumHeight!==void 0){r.minimumHeight=A._minimumHeight,r.maximumHeight=A._maximumHeight;break}}b=b.parent}u=b}if(r.maximumHeight+=g,r.minimumHeight-=f,u!==void 0){let b=n.verticalExaggeration,T=n.verticalExaggerationRelativeHeight;if((b!==1||f!==0)&&(c=!1,r.minimumHeight=Dr.getHeight(r.minimumHeight,b,T),r.maximumHeight=Dr.getHeight(r.maximumHeight,b,T)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=In.clone(m.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=ae.clone(m.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(m.occludeePointInScaledSpace,i.occludeePointInScaledSpace),l(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=i0e(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let A=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||A)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=i0e(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=u,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}er.prototype.isDestroyed=function(){return!1};er.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),ue(this)};function pdt(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,u;for(u=0;u<c;++u)if(o=a[u],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=u;break}if(s!==-1){let f=s+e;if(o=a[f],r=l(o)?y(o.readyImagery,o.loadingImagery):void 0,!l(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,f);for(u=s;u<f;++u)a[u].freeResources();a.splice(s,e)}return!0}}er.prototype._onLayerAdded=function(e,t){if(!this.isDestroyed()&&e.show){let n=this._terrainProvider,i=this,o=this._imageryLayersUpdatedEvent,r=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(l(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,u=c.length,f=-1,d=0;for(a=0;a<u;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)f===-1&&(f=a),++d;else if(f!==-1)break}if(f===-1)return;let p=f+d;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=pdt(d,e,n),s.state=pa.LOADING)})};if(e.ready){let s=e.imageryProvider;s._reload=r}this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=pa.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==Xn.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,o.raiseEvent()}};er.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],u=c.loadingImagery;if(l(u)||(u=c.readyImagery),u.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),l(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};er.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};er.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var _dt=new F,gdt=new F;function o0e(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_verticalExaggerationAndRelativeHeight:function(){return this.properties.verticalExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=F.multiplyByPoint(i,this.properties.rtc,n0e);return F.setTranslation(i,o,t0e),t0e},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=F.multiplyByPoint(i,this.properties.rtc,n0e);return F.setTranslation(i,r,Wz),F.multiply(o,Wz,Wz),Wz},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return l(i)&&l(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=l(i)?F.multiply(e.context.uniformState.view,i.modelMatrix,_dt):F.IDENTITY;return F.inverseTranspose(o,gdt)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_clippingDistance:function(){let i=t._clippingPolygons.clippingTexture;return l(i)?i:e.context.defaultTexture},u_clippingExtents:function(){let i=t._clippingPolygons.extentsTexture;return l(i)?i:e.context.defaultTexture},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},u_mars3dTextureInvertColor:function(){return this.properties.mars3dTextureInvertColor},u_mars3dTextureFilterColor:function(){return this.properties.mars3dTextureFilterColor},u_mars_inverseTileWidth:function(){return this.properties.mars_inverseTileWidth},u_mars_cartographicTileRectangle:function(){return this.properties.mars_cartographicTileRectangle},u_mars_flat_enabled:function(){return this.properties.mars_flat_enabled},u_mars_flat_rectangle:function(){return this.properties.mars_flat_rectangle},u_mars_flat_texture:function(){return l(this.properties.mars_flat_texture)?this.properties.mars_flat_texture:e.context.defaultTexture},u_mars_uplift_enabled:function(){return this.properties.mars_uplift_enabled},u_mars_uplift_hideInsideOrOutside:function(){return this.properties.mars_uplift_hideInsideOrOutside},u_mars_uplift_rectangle:function(){return this.properties.mars_uplift_rectangle},u_mars_uplift_texture:function(){return l(this.properties.mars_uplift_texture)?this.properties.mars_uplift_texture:e.context.defaultTexture},u_mars_clip_enabled:function(){return this.properties.mars_clip_enabled},u_mars_clip_rectangle:function(){return this.properties.mars_clip_rectangle},u_mars_clip_texture:function(){return l(this.properties.mars_clip_texture)?this.properties.mars_clip_texture:e.context.defaultTexture},u_mars_clip_only:function(){return this.properties.mars_clip_only},u_mars_flood_enabled:function(){return this.properties.mars_flood_enabled},u_mars_flood_rectangle:function(){return this.properties.mars_flood_rectangle},u_mars_flood_texture:function(){return l(this.properties.mars_flood_texture)?this.properties.mars_flood_texture:e.context.defaultTexture},u_mars_flood_only:function(){return this.properties.mars_flood_only},properties:{initialColor:new oe(0,0,.5,1),fillHighlightColor:new H(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new U(65e5,9e6),nightFadeDistance:new U(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new F,tileRectangle:new oe,verticalExaggerationAndRelativeHeight:new U(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new U,southMercatorYAndOneOverHeight:new U,waterMask:void 0,waterMaskTranslationAndScale:new oe,minMaxHeight:new U,scaleAndBias:new F,clippingPlanesEdgeColor:H.clone(H.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new oe,frontFaceAlphaByDistance:new oe,backFaceAlphaByDistance:new oe,localizedTranslucencyRectangle:new oe,undergroundColor:H.clone(H.TRANSPARENT),undergroundColorAlphaByDistance:new oe,lambertDiffuseMultiplier:0,vertexShadowDarkness:0,mars3dTextureInvertColor:[],mars3dTextureFilterColor:[],mars_inverseTileWidth:0,mars_cartographicTileRectangle:void 0,mars_flat_enabled:!1,mars_flat_rectangle:new oe,mars_flat_texture:void 0,mars_uplift_enabled:!1,mars_uplift_hideInsideOrOutside:!1,mars_uplift_rectangle:new oe,mars_uplift_texture:void 0,mars_clip_enabled:!1,mars_clip_rectangle:new oe,mars_clip_texture:void 0,mars_clip_only:!1,mars_flood_enabled:!1,mars_flood_rectangle:new oe,mars_flood_texture:void 0,mars_flood_only:!1}};return l(t.materialUniformMap)?xt(n,t.materialUniformMap):n}function ydt(e,t,n){let i=n.data,o,r;if(l(i.vertexArray)?(o=i.mesh,r=i.vertexArray):l(i.fill)&&l(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!l(o)||!l(r))){if(l(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=xdt(e,r,o),i.wireframeVertexArray.mesh=o}}function xdt(e,t,n){let o={indices:n.indices,primitiveType:Fe.TRIANGLES};Un.toWireframe(o);let r=o.indices,s=yt.createIndexBuffer({context:e,typedArray:r,usage:Ve.STATIC_DRAW,indexDatatype:Be.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new di({context:e,attributes:t._attributes,indexBuffer:s})}var l0e,u0e,qz;(function(){let e=new wt({geometry:wh.fromDimensions({dimensions:new h(2,2,2)})}),t=new wt({geometry:new jg({radius:1})}),n=new F,i,o;function r(s){return new Rn({geometryInstances:s,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})}l0e=function(s,a){return s===i||(qz(),i=s,n=F.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=jt.fromColor(a),o=r(e)),o},u0e=function(s,a){return s===i||(qz(),i=s,n=F.fromTranslation(s.center,n),n=F.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=jt.fromColor(a),o=r(t)),o},qz=function(){l(o)&&(o.destroy(),o=void 0,i=void 0)}})();var bdt=new oe(0,0,0,0),Tdt={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,enableClippingPolygons:void 0,clippingPolygons:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},Cdt=H.TRANSPARENT,Adt=new Vt;function r0e(e,t,n,i){let o=t.data;l(o.vertexArray)||(o.fill===void 0&&(o.fill=new XI(t)),o.fill.update(e,n));let r=n.creditDisplay,s=o.terrainData;if(l(s)&&l(s.credits)){let Qt=s.credits;for(let Xt=0,ro=Qt.length;Xt<ro;++Xt)r.addCreditToNextFrame(Qt[Xt])}let a=Ut.maximumTextureImageUnits,c=o.waterMaskTexture,u=o.waterMaskTranslationAndScale;!l(c)&&l(o.fill)&&(c=o.fill.waterMaskTexture,u=o.fill.waterMaskTranslationAndScale);let f=n.cameraUnderground,d=n.globeTranslucencyState,p=d.translucent,g=d.frontFaceAlphaByDistance,m=d.backFaceAlphaByDistance,x=d.rectangle,b=y(e.undergroundColor,Cdt),T=y(e.undergroundColorAlphaByDistance,Adt),C=c0e(e,n)&&n.mode===ne.SCENE3D&&b.alpha>0&&(T.nearValue>0||T.farValue>0),A=e.lambertDiffuseMultiplier,S=e.vertexShadowDarkness,w=e.hasWaterMask&&l(c),D=w&&e.showWaterEffect,O=e.oceanNormalMap,R=D&&l(O),M=e.terrainProvider,L=l(M)&&e.terrainProvider.hasVertexNormals,_=n.fog.enabled&&n.fog.renderable&&!f,E=e.showGroundAtmosphere&&n.mode===ne.SCENE3D,v=bn.castShadows(e.shadows)&&!p,I=bn.receiveShadows(e.shadows)&&!p,N=e.hueShift,B=e.saturationShift,z=e.brightnessShift,V=!(P.equalsEpsilon(N,0,P.EPSILON7)&&P.equalsEpsilon(B,0,P.EPSILON7)&&P.equalsEpsilon(z,0,P.EPSILON7)),G=!1;if(E){let Qt=h.magnitude(n.camera.positionWC),Xt=e.nightFadeOutDistance;G=Qt>Xt}w&&--a,R&&--a,l(n.shadowState)&&n.shadowState.shadowsEnabled&&--a,l(e.clippingPlanes)&&e.clippingPlanes.enabled&&--a,l(e.clippingPolygons)&&e.clippingPolygons.enabled&&(--a,--a),a-=d.numberOfTextureUniforms;let k=o.renderedMesh,Y=k.center,W=k.encoding,J=o.tileBoundingRegion,j=n.verticalExaggeration,$=n.verticalExaggerationRelativeHeight,Q=e.marsOptions?.uplift;i&&Q&&($=n.verticalExaggerationRelativeHeight-Q.height/(j-1)),e.marsOptions?.uplift?.enabled&&--a,e.marsOptions?.clip?.enabled&&--a,e.marsOptions?.flat?.enabled&&--a,e.marsOptions?.flood?.enabled&&--a;let he=j!==1,ye=W.hasGeodeticSurfaceNormals,re=adt,_e=0,xe=0,De=0,we=0,Oe=!1;if(n.mode!==ne.SCENE3D){let Qt=n.mapProjection,Xt=Qt.project(se.southwest(t.rectangle),fdt),ro=Qt.project(se.northeast(t.rectangle),ddt);if(re.x=Xt.x,re.y=Xt.y,re.z=ro.x,re.w=ro.y,n.mode!==ne.MORPHING&&(Y=udt,Y.x=0,Y.y=(re.z+re.x)*.5,Y.z=(re.w+re.y)*.5,re.x-=Y.y,re.y-=Y.z,re.z-=Y.y,re.w-=Y.z),n.mode===ne.SCENE2D&&W.quantization===ma.BITS12){let Ke=1/(Math.pow(2,12)-1)*.5,$r=(re.z-re.x)*Ke,tr=(re.w-re.y)*Ke;re.x-=$r,re.y-=tr,re.z+=$r,re.w+=tr}Qt instanceof Ii&&(_e=t.rectangle.south,xe=t.rectangle.north,De=Ii.geodeticLatitudeToMercatorAngle(_e),we=1/(Ii.geodeticLatitudeToMercatorAngle(xe)-De),Oe=!0)}let Me=Tdt;Me.frameState=n,Me.surfaceTile=o,Me.hasWaterMask=w,Me.showReflectiveOcean=D,Me.showOceanWaves=R,Me.enableLighting=e.enableLighting,Me.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,Me.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,Me.showGroundAtmosphere=E,Me.atmosphereLightIntensity=e.atmosphereLightIntensity,Me.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Me.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Me.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Me.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Me.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Me.perFragmentGroundAtmosphere=G,Me.hasVertexNormals=L,Me.useWebMercatorProjection=Oe,Me.clippedByBoundaries=o.clippedByBoundaries,Me.hasGeodeticSurfaceNormals=ye,Me.hasExaggeration=he;let ht=o.imagery,it=0,At=ht.length,Le=e.showSkirts&&!f&&!p,ke=e.backFaceCulling&&!f&&!p,$e=ke?e._renderState:e._disableCullingRenderState,Xe=ke?e._blendRenderState:e._disableCullingBlendRenderState,kt=$e,Te=e._firstPassInitialColor,Ce=n.context;if(l(e._debug.boundingSphereTile)||qz(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let Qt=e._drawCommands.length;for(let Xt=0;Xt<Qt;++Xt)e._uniformMaps[Xt]=o0e(n,e)}do{let Qt=0,Xt,ro;if(e._drawCommands.length<=e._usedDrawCommands?(Xt=new et,Xt.owner=t,Xt.cull=!1,Xt.boundingVolume=new ae,Xt.orientedBoundingBox=void 0,ro=o0e(n,e),e._drawCommands.push(Xt),e._uniformMaps.push(ro)):(Xt=e._drawCommands[e._usedDrawCommands],ro=e._uniformMaps[e._usedDrawCommands]),Xt.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let Xs=J.boundingVolume,Is=J.boundingSphere;l(Xs)?l0e(Xs,H.RED).update(n):l(Is)&&u0e(Is,H.RED).update(n)}let Ke=ro.properties;oe.clone(Te,Ke.initialColor),Ke.oceanNormalMap=O,Ke.lightingFadeDistance.x=e.lightingFadeOutDistance,Ke.lightingFadeDistance.y=e.lightingFadeInDistance,Ke.nightFadeDistance.x=e.nightFadeOutDistance,Ke.nightFadeDistance.y=e.nightFadeInDistance,Ke.atmosphereLightIntensity=e.atmosphereLightIntensity,Ke.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Ke.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Ke.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Ke.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Ke.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Ke.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let $r=f?m:g,tr=f?g:m;l($r)&&(oe.fromElements($r.near,$r.nearValue,$r.far,$r.farValue,Ke.frontFaceAlphaByDistance),oe.fromElements(tr.near,tr.nearValue,tr.far,tr.farValue,Ke.backFaceAlphaByDistance)),oe.fromElements(T.near,T.nearValue,T.far,T.farValue,Ke.undergroundColorAlphaByDistance),H.clone(b,Ke.undergroundColor),Ke.lambertDiffuseMultiplier=A,Ke.vertexShadowDarkness=S;let Ys=!l(o.vertexArray)&&l(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;Ys&&H.clone(e.fillHighlightColor,Ke.fillHighlightColor),Ke.verticalExaggerationAndRelativeHeight.x=j,Ke.verticalExaggerationAndRelativeHeight.y=$,Ke.center3D=k.center,h.clone(Y,Ke.rtc),oe.clone(re,Ke.tileRectangle),Ke.southAndNorthLatitude.x=_e,Ke.southAndNorthLatitude.y=xe,Ke.southMercatorYAndOneOverHeight.x=De,Ke.southMercatorYAndOneOverHeight.y=we;let Ue=cdt,ut=jz(t.rectangle,e.cartographicLimitRectangle),ot=ldt,Ze=jz(t.rectangle,x);h.fromElements(N,B,z,Ke.hsbShift);let Qe=t.rectangle,Nt=1/Qe.width,gn=1/Qe.height;Ue.x=(ut.west-Qe.west)*Nt,Ue.y=(ut.south-Qe.south)*gn,Ue.z=(ut.east-Qe.west)*Nt,Ue.w=(ut.north-Qe.south)*gn,oe.clone(Ue,Ke.localizedCartographicLimitRectangle),ot.x=(Ze.west-Qe.west)*Nt,ot.y=(Ze.south-Qe.south)*gn,ot.z=(Ze.east-Qe.west)*Nt,ot.w=(Ze.north-Qe.south)*gn,Ke.mars_inverseTileWidth=Nt,Ke.mars_cartographicTileRectangle=new U(Qe.west,Qe.south);let Hi=e.marsOptions?.clip;Hi?(Hi.rectangle?Ke.mars_clip_rectangle=new oe(Hi.rectangle.west,Hi.rectangle.south,Hi.rectangle.width,Hi.rectangle.height):Ke.mars_clip_rectangle=new oe,Ke.mars_clip_texture=Hi.texture,Ke.mars_clip_only=Hi.onlySelf,Ke.mars_clip_enabled=Hi.enabled):(Ke.mars_clip_enabled=!1,Ke.mars_clip_rectangle=new oe,Ke.mars_clip_texture=void 0,Ke.mars_clip_only=!1);let so=e.marsOptions?.flood;so?(so.rectangle?Ke.mars_flood_rectangle=new oe(so.rectangle.west,so.rectangle.south,so.rectangle.width,so.rectangle.height):Ke.mars_flood_rectangle=new oe,Ke.mars_flood_texture=so.texture,Ke.mars_flood_only=so.onlySelf,Ke.mars_flood_enabled=so.enabled):(Ke.mars_flood_enabled=!1,Ke.mars_flood_rectangle=new oe,Ke.mars_flood_texture=void 0);let Zr=e.marsOptions?.flat;Zr?(Zr.rectangle?Ke.mars_flat_rectangle=new oe(Zr.rectangle.west,Zr.rectangle.south,Zr.rectangle.width,Zr.rectangle.height):Ke.mars_flat_rectangle=new oe,Ke.mars_flat_texture=Zr.texture,Ke.mars_flat_enabled=Zr.enabled):(Ke.mars_flat_enabled=!1,Ke.mars_flat_rectangle=new oe,Ke.mars_flat_texture=void 0);let nr=e.marsOptions?.uplift;nr?(nr.rectangle?Ke.mars_uplift_rectangle=new oe(nr.rectangle.west,nr.rectangle.south,nr.rectangle.width,nr.rectangle.height):Ke.mars_uplift_rectangle=new oe,Ke.mars_uplift_texture=nr.texture,Ke.mars_uplift_enabled=(!nr.showUp||nr.enabled&&nr.height!==0)&&l(nr.rectangles)&&nr.rectangles.length>0,Ke.mars_uplift_hideInsideOrOutside=!i):(Ke.mars_uplift_enabled=!1,Ke.mars_uplift_rectangle=new oe,Ke.mars_uplift_texture=void 0,Ke.mars_uplift_hideInsideOrOutside=!1),oe.clone(ot,Ke.localizedTranslucencyRectangle);let go=_&&P.fog(t._distance,n.fog.density)>P.EPSILON3;V=V&&(go||E);let Gi=!1,ds=!1,Cr=!1,Fu=!1,Do=!1,Ar=!1,Bu=!1,gc=!1,uh=!1,zo=!1,jm=!1,ir=!1;for(;Qt<a&&it<At;){let Xs=ht[it],Is=Xs.readyImagery;if(++it,!l(Is)||Is.imageryLayer.alpha===0)continue;let Kb=Xs.useWebMercatorT?Is.textureWebMercator:Is.texture,ao=Is.imageryLayer;l(Xs.textureTranslationAndScale)||(Xs.textureTranslationAndScale=ao._calculateTextureTranslationAndScale(t,Xs)),Ke.dayTextures[Qt]=Kb,Ke.dayTextureTranslationAndScale[Qt]=Xs.textureTranslationAndScale,Ke.dayTextureTexCoordsRectangle[Qt]=Xs.textureCoordinateRectangle,Ke.dayTextureUseWebMercatorT[Qt]=Xs.useWebMercatorT,Ke.dayTextureAlpha[Qt]=ao.alpha,Ar=Ar||Ke.dayTextureAlpha[Qt]!==1,Ke.dayTextureNightAlpha[Qt]=ao.nightAlpha,Bu=Bu||Ke.dayTextureNightAlpha[Qt]!==1,Ke.dayTextureDayAlpha[Qt]=ao.dayAlpha,Bu=Bu||Ke.dayTextureDayAlpha[Qt]!==1,Ke.dayTextureBrightness[Qt]=ao.brightness,Gi=Gi||Ke.dayTextureBrightness[Qt]!==La.DEFAULT_BRIGHTNESS,Ke.dayTextureContrast[Qt]=ao.contrast,ds=ds||Ke.dayTextureContrast[Qt]!==La.DEFAULT_CONTRAST,Ke.dayTextureHue[Qt]=ao.hue,Cr=Cr||Ke.dayTextureHue[Qt]!==La.DEFAULT_HUE,Ke.dayTextureSaturation[Qt]=ao.saturation,Fu=Fu||Ke.dayTextureSaturation[Qt]!==La.DEFAULT_SATURATION,Ke.dayTextureOneOverGamma[Qt]=1/ao.gamma,Do=Do||Ke.dayTextureOneOverGamma[Qt]!==1/La.DEFAULT_GAMMA,Ke.dayTextureSplit[Qt]=ao.splitDirection,gc=gc||Ke.dayTextureSplit[Qt]!==0,jm=jm||!!ao.invertColor,Ke.mars3dTextureInvertColor[Qt]=!!ao.invertColor,ir=ir||!!ao.filterColor,ao.filterColor?Ke.mars3dTextureFilterColor[Qt]=new h(ao.filterColor.red,ao.filterColor.green,ao.filterColor.blue):Ke.mars3dTextureFilterColor[Qt]=new h(1,1,1);let Qf=Ke.dayTextureCutoutRectangles[Qt];if(l(Qf)||(Qf=Ke.dayTextureCutoutRectangles[Qt]=new oe),oe.clone(oe.ZERO,Qf),l(ao.cutoutRectangle)){let xa=jz(Qe,ao.cutoutRectangle),fh=se.simpleIntersection(xa,Qe,a0e);uh=l(fh)||uh,Qf.x=(xa.west-Qe.west)*Nt,Qf.y=(xa.south-Qe.south)*gn,Qf.z=(xa.east-Qe.west)*Nt,Qf.w=(xa.north-Qe.south)*gn}let Jf=Ke.colorsToAlpha[Qt];l(Jf)||(Jf=Ke.colorsToAlpha[Qt]=new oe);let Ym=l(ao.colorToAlpha)&&ao.colorToAlphaThreshold>0;if(zo=zo||Ym,Ym){let xa=ao.colorToAlpha;Jf.x=xa.red,Jf.y=xa.green,Jf.z=xa.blue,Jf.w=ao.colorToAlphaThreshold}else Jf.w=-1;if(l(Is.credits)){let xa=Is.credits;for(let fh=0,jP=xa.length;fh<jP;++fh)r.addCreditToNextFrame(xa[fh])}++Qt}Ke.dayTextures.length=Qt,Ke.waterMask=c,oe.clone(u,Ke.waterMaskTranslationAndScale),Ke.minMaxHeight.x=W.minimumHeight,Ke.minMaxHeight.y=W.maximumHeight,F.clone(W.matrix,Ke.scaleAndBias);let qm=e._clippingPlanes,Co=l(qm)&&qm.enabled&&t.isClipped;Co&&(Ke.clippingPlanesEdgeColor=H.clone(qm.edgeColor,Ke.clippingPlanesEdgeColor),Ke.clippingPlanesEdgeWidth=qm.edgeWidth);let Zf=e._clippingPolygons,y0=l(Zf)&&Zf.enabled&&t.isClipped;Me.numberOfDayTextures=Qt,Me.applyBrightness=Gi,Me.applyContrast=ds,Me.applyHue=Cr,Me.applySaturation=Fu,Me.applyGamma=Do,Me.applyAlpha=Ar,Me.applyDayNightAlpha=Bu,Me.applySplit=gc,Me.enableFog=go,Me.enableClippingPlanes=Co,Me.clippingPlanes=qm,Me.enableClippingPolygons=y0,Me.clippingPolygons=Zf,Me.hasImageryLayerCutout=uh,Me.colorCorrect=V,Me.highlightFillTile=Ys,Me.colorToAlpha=zo,Me.showUndergroundColor=C,Me.translucent=p,Me.marsOptions={invertColor:jm,filterColor:ir,enableUplift:e?._marsOptions?.uplift?.enabled,enableFlat:e?._marsOptions?.flat?.enabled,enableClip:e?._marsOptions?.clip?.enabled,enableFlood:e?._marsOptions?.flood?.enabled};let I_=o.renderedMesh.indices.length;Le||(I_=o.renderedMesh.indexCountWithoutSkirts),Xt.shaderProgram=e._surfaceShaderSet.getShaderProgram(Me),Xt.castShadows=v,Xt.receiveShadows=I,Xt.renderState=kt,Xt.primitiveType=Fe.TRIANGLES,Xt.vertexArray=o.vertexArray||o.fill.vertexArray,Xt.count=I_,Xt.uniformMap=ro,Xt.pass=Se.GLOBE,e._debug.wireframe&&(ydt(Ce,e,t),l(o.wireframeVertexArray)&&(Xt.vertexArray=o.wireframeVertexArray,Xt.primitiveType=Fe.LINES,Xt.count=I_*2));let hs=Xt.boundingVolume,ya=Xt.orientedBoundingBox;n.mode!==ne.SCENE3D?(ae.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,J.minimumHeight,J.maximumHeight,hs),h.fromElements(hs.center.z,hs.center.x,hs.center.y,hs.center),n.mode===ne.MORPHING&&(hs=ae.union(J.boundingSphere,hs,hs))):(Xt.boundingVolume=ae.clone(J.boundingSphere,hs),Xt.orientedBoundingBox=In.clone(J.boundingVolume,ya)),Xt.dirty=!0,p&&d.updateDerivedCommands(Xt,n),s0e(Xt,n),kt=Xe,Te=bdt}while(it<At)}var Yz=er;function f0e(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=se.clone(se.MAX_VALUE)}Object.defineProperties(f0e.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=Vt.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=Vt.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){l(e)||(e=se.clone(se.MAX_VALUE)),se.clone(e,this._rectangle)}}});var Xz=f0e;function Ds(){this._layers=[],this.layerAdded=new me,this.layerRemoved=new me,this.layerMoved=new me,this.layerShownOrHidden=new me}Object.defineProperties(Ds.prototype,{length:{get:function(){return this._layers.length}}});Ds.prototype.add=function(e,t){l(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t);let i=e.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(e,e._layerIndex,e.show),i()})};Ds.prototype.addImageryProvider=function(e,t){let n=new La(e);return this.add(n,t),n};Ds.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};Ds.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};Ds.prototype.contains=function(e){return this.indexOf(e)!==-1};Ds.prototype.indexOf=function(e){return this._layers.indexOf(e)};Ds.prototype.get=function(e){return this._layers[e]};function Kz(e,t){return e.indexOf(t)}function d0e(e,t,n){let i=e._layers;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}Ds.prototype.raise=function(e){let t=Kz(this._layers,e);d0e(this,t,t+1)};Ds.prototype.lower=function(e){let t=Kz(this._layers,e);d0e(this,t,t-1)};Ds.prototype.raiseToTop=function(e){let t=Kz(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))};Ds.prototype.lowerToBottom=function(e){let t=Kz(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var Edt=new se;function h0e(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!l(r)&&a<o.length;++a){let c=o[a];se.contains(c.rectangle,t)&&(r=c)}if(!l(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],u=c.readyImagery;if(!l(u)||!u.imageryLayer.ready)continue;let f=u.imageryLayer.imageryProvider;if(n&&!l(f.pickFeatures)||!se.contains(u.rectangle,t))continue;let d=Edt,p=1/1024;d.west=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),d.east=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),d.south=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),d.north=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),se.contains(d,t)&&i(u)}}Ds.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[];if(h0e(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};Ds.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(h0e(t,i,!0,function(s){if(!s.imageryLayer.ready)return;let a=s.imageryLayer.imageryProvider;for(let u=0;u<r.length;u++)if(r[u]===s.imageryLayer)return;let c=a.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);l(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let u=s[c],f=r[c];if(l(u)&&u.length>0)for(let d=0;d<u.length;++d){let p=u[d];p.imageryLayer=f,l(p.position)||(p.position=i),a.push(p)}}return a})};Ds.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};Ds.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};Ds.prototype.isDestroyed=function(){return!1};Ds.prototype.destroy=function(){return this.removeAll(!0),ue(this)};Ds.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(l(i._show)&&(l(n)||(n=[]),n.push(i)),i._show=i.show);if(l(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var $z=Ds;function m0e(e){this._ellipsoid=new ty(e.ellipsoid,h.ZERO)}Object.defineProperties(m0e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var Zz=m0e;function Xc(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=Xn.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=pa.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}Xc.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new Xc({tilingScheme:e,x:s,y:r,level:0});return i};Xc.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(l(t)&&l(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],se.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(l(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],se.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties(Xc.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return l(this._southwestChild)||(this._southwestChild=new Xc({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return l(this._southeastChild)||(this._southeastChild=new Xc({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return l(this._northwestChild)||(this._northwestChild=new Xc({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return l(this._northeastChild)||(this._northeastChild=new Xc({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<pa.DONE}},eligibleForUnloading:{get:function(){let e=!0;return l(this.data)&&(e=this.data.eligibleForUnloading,l(e)||(e=!0)),e}}});Xc.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};Xc.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};Xc.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};Xc.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};Xc.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};Xc.prototype.freeResources=function(){this.state=pa.START,this.renderable=!1,this.upsampledFromParent=!1,l(this.data)&&l(this.data.freeResources)&&this.data.freeResources(),Qz(this._southwestChild),this._southwestChild=void 0,Qz(this._southeastChild),this._southeastChild=void 0,Qz(this._northwestChild),this._northwestChild=void 0,Qz(this._northeastChild),this._northeastChild=void 0};function Qz(e){l(e)&&e.freeResources()}var Jz=Xc;function e4(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}e4.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};e4.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&l(this._lastBeforeStartOfFrame)&&this.count>e&&l(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),p0e(this,t)),t=i}};function p0e(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}e4.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!l(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(l(e.replacementPrevious)||l(e.replacementNext))&&p0e(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var t4=e4;function Uf(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new t4,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new Zz({ellipsoid:n}),this._tileLoadProgressEvent=new me,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(Uf.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});Uf.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function Sdt(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,g0e(e);let n=e._levelZeroTiles;if(l(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}Uf.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;l(t);)t.state!==pa.START&&e(t),t=t.replacementNext};Uf.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};Uf.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};Uf.prototype.update=function(e){l(this._tileProvider.update)&&this._tileProvider.update(e)};function g0e(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}Uf.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(Sdt(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),g0e(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};Uf.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),Idt(this,e),Vdt(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function wdt(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;if(n!==e._lastTileLoadQueueLength||e._tilesInvalidated){let o=me.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n);t.afterRender.push(()=>(o(),!0)),e._lastTileLoadQueueLength=n}let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}Uf.prototype.endFrame=function(e){!e.passes.render||e.mode===ne.MORPHING||(Ndt(this,e),kdt(this,e),wdt(this,e))};Uf.prototype.isDestroyed=function(){return!1};Uf.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var $I,_0e=new fe;function vdt(e,t){let n=se.center(e.rectangle,_0e),i=n.longitude-$I.longitude,o=n.latitude-$I.latitude;n=se.center(t.rectangle,_0e);let r=n.longitude-$I.longitude,s=n.latitude-$I.latitude;return i*i+o*o-(r*r+s*s)}var Ddt=new h,KI=[];function Idt(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!l(e._levelZeroTiles)){let x=r.tilingScheme;if(l(x)){let b=r.tilingScheme;e._levelZeroTiles=Jz.createLevelZeroTiles(b);let T=e._levelZeroTiles.length;if(KI.length<T)for(KI=new Array(T),o=0;o<T;++o)KI[o]===void 0&&(KI[o]=new ZI)}else return}e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;$I=t.camera.positionCartographic,a.sort(vdt);let u=e._addHeightCallbacks,f=e._removeHeightCallbacks,d=t.frameNumber,p;if(u.length>0||f.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(d,u,f);u.length=0,f.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let m=F.getTranslation(g.transform,Ddt);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(m,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?Na(e,s,r,t,c,!1,KI[o]):(y_(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=d}function y_(e,t,n,i){n.needsLoading&&(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function ZI(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function y0e(){this.southwest=new ZI,this.southeast=new ZI,this.northwest=new ZI,this.northeast=new ZI}y0e.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var OX=new Array(31);for(let e=0;e<OX.length;++e)OX[e]=new y0e;function Pdt(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=Mdt(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,u=n.northwestChild,f=n.northeastChild,d=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===d?n._lastSelectionResult:Xn.NONE,g=e.tileProvider;if(s||i){let m=Xn.originalResult(p)===Xn.RENDERED,x=Xn.originalResult(p)===Xn.CULLED||p===Xn.NONE,b=n.state===pa.DONE,T=m||x||b;if(T||l(g.canRenderWithoutLosingDetail)&&(T=g.canRenderWithoutLosingDetail(n)),T){s&&y_(e,e._tileLoadQueueMedium,n,t),n4(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Xn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Xn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&y_(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&u.upsampledFromParent&&f.upsampledFromParent){n4(e,n),y_(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(u),e._tileReplacementQueue.markTileRendered(f),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Xn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Xn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Xn.REFINED;let x=e._tilesToRender.length,b=e._tileLoadQueueLow.length,T=e._tileLoadQueueMedium.length,C=e._tileLoadQueueHigh.length,A=e._tileToUpdateHeights.length;if(Rdt(e,a,c,u,f,t,i,o),x!==e._tilesToRender.length){let S=o.allAreRenderable,w=o.anyWereRenderedLastFrame,D=o.notYetRenderableCount,O=!1;if(!S&&!w){let R=e._tilesToRender;for(let L=x;L<R.length;++L){let _=R[L];for(;_!==void 0&&_._lastSelectionResult!==Xn.KICKED&&_!==n;)_._lastSelectionResult=Xn.kick(_._lastSelectionResult),_=_.parent}e._tilesToRender.length=x,e._tileToUpdateHeights.length=A,n4(e,n),n._lastSelectionResult=Xn.RENDERED;let M=p===Xn.RENDERED;!M&&D>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=b,e._tileLoadQueueMedium.length=T,e._tileLoadQueueHigh.length=C,y_(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,O=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=M,M||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!O&&y_(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Xn.RENDERED,n4(e,n),y_(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Xn.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function Rdt(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,u=e._tileProvider,f=e._occluders,d=OX[t.level],p=d.southwest,g=d.southeast,m=d.northwest,x=d.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(Na(e,t,u,r,f,s,p),Na(e,n,u,r,f,s,g),Na(e,i,u,r,f,s,m),Na(e,o,u,r,f,s,x)):(Na(e,i,u,r,f,s,m),Na(e,t,u,r,f,s,p),Na(e,o,u,r,f,s,x),Na(e,n,u,r,f,s,g)):c.latitude<t.rectangle.north?(Na(e,n,u,r,f,s,g),Na(e,t,u,r,f,s,p),Na(e,o,u,r,f,s,x),Na(e,i,u,r,f,s,m)):(Na(e,o,u,r,f,s,x),Na(e,i,u,r,f,s,m),Na(e,n,u,r,f,s,g),Na(e,t,u,r,f,s,p)),d.combine(a)}function Odt(e,t){let n=t.rectangle;return l(e._cameraPositionCartographic)&&se.contains(n,e._cameraPositionCartographic)||l(e._cameraReferenceFrameOriginCartographic)&&se.contains(n,e._cameraReferenceFrameOriginCartographic)}function Na(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==br.NONE)return Pdt(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,Odt(e,t)){(!l(t.data)||!l(t.data.vertexArray))&&y_(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:Xn.NONE;c!==Xn.CULLED_BUT_NEEDED&&c!==Xn.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=Xn.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(y_(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=Xn.CULLED):t._lastSelectionResult=Xn.CULLED;t._lastSelectionResultFrame=i.frameNumber}function Mdt(e,t,n){if(t.mode===ne.SCENE2D||t.camera.frustum instanceof an||t.camera.frustum instanceof Br)return Ldt(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=P.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function Ldt(e,t,n){let o=t.camera.frustum,r=o.offCenterFrustum;l(r)&&(o=r);let s=t.context,a=s.drawingBufferWidth,c=s.drawingBufferHeight,u=e._tileProvider.getLevelMaximumGeometricError(n.level),f=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(a,c),d=u/f;return t.fog.enabled&&t.mode!==ne.SCENE2D&&(d-=P.fog(n._distance,t.fog.density)*t.fog.sse),d/=t.pixelRatio,d}function n4(e,t){e._tilesToRender.push(t)}function Ndt(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=Ti()+e._loadQueueTimeSlice,s=e._tileProvider,a=PX(e,t,s,r,n,!1);a=PX(e,t,s,r,i,a),PX(e,t,s,r,o,a)}function Fdt(e,t){return e._loadPriority-t._loadPriority}function PX(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(Fdt);for(let s=0,a=o.length;s<a&&(Ti()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var QE=new _n,RX=new fe,Ky=new h,Bdt=[];function kdt(e,t){if(!l(e.tileProvider.tilingScheme))return;let n=Bdt;n.length=0;let i=e._tileToUpdateHeights,o=Ti(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,u=e.tileProvider.tilingScheme.ellipsoid,f;for(;i.length>0;){let d=i[0];if(!l(d.data)||!l(d.data.mesh)){let x=d._lastSelectionResultFrame===e._lastSelectionFrameNumber?d._lastSelectionResult:Xn.NONE;(x===Xn.RENDERED||x===Xn.CULLED_BUT_NEEDED)&&n.push(d),i.shift(),e._lastTileIndex=0;continue}let p=d.customData,g=p.length,m=!1;for(f=e._lastTileIndex;f<g;++f){let x=p[f],b=d.data.terrainData,T=l(b)&&b.wasCreatedByUpsampling();if(d.level>x.level&&!T){if(l(x.positionOnEllipsoidSurface)||(x.positionOnEllipsoidSurface=h.fromRadians(x.positionCartographic.longitude,x.positionCartographic.latitude,0,u)),a===ne.SCENE3D){let A=u.geodeticSurfaceNormal(x.positionOnEllipsoidSurface,QE.direction),S=u.getSurfaceNormalIntersectionWithZAxis(x.positionOnEllipsoidSurface,11500,QE.origin);if(!l(S)){let w=0;l(d.data.tileBoundingRegion)&&(w=d.data.tileBoundingRegion.minimumHeight);let D=Math.min(w,-11500),O=h.multiplyByScalar(A,Math.abs(D)+1,Ky);h.subtract(x.positionOnEllipsoidSurface,O,QE.origin)}}else fe.clone(x.positionCartographic,RX),RX.height=-11500,c.project(RX,Ky),h.fromElements(Ky.z,Ky.x,Ky.y,Ky),h.clone(Ky,QE.origin),h.clone(h.UNIT_X,QE.direction);let C=d.data.pick(QE,a,c,!1,Ky);l(C)&&(l(x.callback)&&x.callback(C),x.level=d.level)}if(Ti()>=s){m=!0;break}}if(m){e._lastTileIndex=f;break}else e._lastTileIndex=0,i.shift()}for(f=0;f<n.length;f++)i.push(n[f])}function Vdt(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var i4=Uf;function oh(e){e=y(e,ee.default);let t=new XE({ellipsoid:e}),n=new $z;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new Mz,this._material=void 0,this._surface=new i4({tileProvider:new Yz({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new me,this._undergroundColor=H.clone(H.BLACK),this._undergroundColorAlphaByDistance=new Vt(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new Xz,LX(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new ve({url:on("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=ee.WGS84.equals(e),this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.lightingFadeInDistance=P.PI*e.minimumRadius,this.nightFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.nightFadeInDistance=5*P.PI_OVER_TWO*e.minimumRadius,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=bn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3}Object.defineProperties(oh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return l(this._surface)?this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},clippingPolygons:{get:function(){return this._surface.tileProvider.clippingPolygons},set:function(e){this._surface.tileProvider.clippingPolygons=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){l(e)||(e=se.clone(se.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),l(this._material)&&LX(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,LX(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=H.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=Vt.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function LX(e){let t=[],n=l(e._material)&&(l(e._material.shaderSource.match(/slope/))||l(e._material.shaderSource.match("normalEC"))),i=[Xy,WI];l(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(Rz),e._surfaceShaderSet.baseVertexShaderSource=new Ge({sources:[Xy,WI,Oz],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new Ge({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function Udt(e){return function(t,n){let i=ae.distanceSquaredTo(t.pickBoundingSphere,e),o=ae.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var zdt=[],Hdt={start:0,stop:0};oh.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=zdt;s.length=0;let a=this._surface._tilesToRender,c=a.length,u,f;for(f=0;f<c;++f){u=a[f];let p=u.data;if(!l(p))continue;let g=p.pickBoundingSphere;if(o!==ne.SCENE3D)p.pickBoundingSphere=g=ae.fromRectangleWithHeights2D(u.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(l(p.renderedMesh))ae.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let m=Jn.raySphere(e,g,Hdt);l(m)&&s.push(p)}s.sort(Udt(e.origin));let d;for(c=s.length,f=0;f<c&&(d=s[f].pick(e,t.mode,t.mapProjection,n,i),!l(d));++f);return d};var Gdt=new fe;oh.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),l(n)&&t.mode!==ne.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,Gdt);n=this._ellipsoid.cartographicToCartesian(i,n)}return n};var Wdt=new h,x0e=new h,jdt=new fe,qdt=new _n;function MX(e,t){return l(e)&&se.contains(e.rectangle,t)?e:void 0}oh.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!l(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!se.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;l(n);)n=MX(n._southwestChild,e)||MX(n._southeastChild,e)||MX(n._northwestChild,e)||n._northeastChild,l(n)&&l(n.data)&&l(n.data.renderedMesh)&&(r=n);if(n=r,!l(n)||!l(n.data)||!l(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,Wdt),u=qdt,f=a.geodeticSurfaceNormal(c,u.direction),d=a.getSurfaceNormalIntersectionWithZAxis(c,11500,u.origin);if(!l(d)){let g;l(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let m=Math.min(y(g,0),-11500),x=h.multiplyByScalar(f,Math.abs(m)+1,x0e);h.subtract(c,x,u.origin)}let p=n.data.pick(u,void 0,s,!1,x0e);if(l(p))return a.cartesianToCartographic(p,jdt).height};oh.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)};oh.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=l(i)&&i.hasWaterMask&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(l(c)){let u=this;a.fetchImage().then(function(f){c===u._oceanNormalMapResource.url&&(u._oceanNormalMap=u._oceanNormalMap&&u._oceanNormalMap.destroy(),u._oceanNormalMap=new Mt({context:e.context,source:f}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===ne.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.showWaterEffect=this.showWaterEffect,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.vertexShadowDarkness=this.vertexShadowDarkness,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};oh.prototype.render=function(e){this.show&&(l(this._material)&&this._material.update(e.context),this._surface.render(e))};oh.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)};oh.prototype.isDestroyed=function(){return!1};oh.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),ue(this)};var o4=oh;var Pu=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = texture(colorTexture, v_textureCoordinates); -} -`;var gb=`uniform highp sampler2D u_depthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); -} -`;function Lm(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new hi({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new hi({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new hi,this._tempCopyDepthFramebuffer=new hi,this._updateDepthFramebuffer=new hi({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new qe,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(Lm.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function b0e(e,t,n,i,o){let r=e._viewport;r.width=n,r.height=i;let s=!qe.equals(r,o.viewport),a=s!==e._useScissorTest;e._useScissorTest=s,qe.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=qe.clone(o.viewport,e._scissorRectangle),a=!0),(!l(e._rs)||!qe.equals(r,e._rs.viewport)||a)&&(e._rs=ze.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=ze.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:fn.ALPHA_BLEND}),e._rsUpdate=ze.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.NEVER,reference:zt.CESIUM_3D_TILE_MASK,mask:zt.CESIUM_3D_TILE_MASK}})),l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(gb,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,l(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(Pu,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,l(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(gb,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,l(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(Pu,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,l(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new ni({color:new H(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}Lm.prototype.update=function(e,t,n,i,o,r){let{width:s,height:a}=n,c=o?e.halfFloatingPointTexture?nt.HALF_FLOAT:nt.FLOAT:nt.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),b0e(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._clearGlobeDepth=r};Lm.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};Lm.prototype.executeCopyDepth=function(e,t){l(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};Lm.prototype.executeUpdateDepth=function(e,t,n){let i=l(n)?n:t.framebuffer.depthStencilTexture;if(!this._clearGlobeDepth&&i===this.colorFramebufferManager.getDepthStencilTexture()){l(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t);return}if(!l(this._updateDepthCommand))return;let o=this._updateDepthFramebuffer;if(!l(o.framebuffer)||o.getDepthStencilTexture()!==i||o.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture(),{width:s,height:a}=r;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,s,a),o.setColorTexture(r,0),o.setDepthStencilTexture(i),o.update(e,s,a),b0e(this,e,s,a,t)}this._tempCopyDepthTexture=i,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)};Lm.prototype.executeCopyColor=function(e,t){l(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};Lm.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;l(i)&&(H.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};Lm.prototype.isDestroyed=function(){return!1};Lm.prototype.destroy=function(){return this._pickColorFramebuffer.destroy(),this._outputFramebuffer.destroy(),this._copyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.destroy(),this._updateDepthFramebuffer.destroy(),l(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),l(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),l(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),ue(this)};var r4=Lm;function yb(){this._framebuffer=new hi({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new hi,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new qe,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(yb.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function Ydt(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function Xdt(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?nt.HALF_FLOAT:nt.FLOAT:nt.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function Kdt(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!qe.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,qe.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=qe.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._renderState)||!qe.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(gb,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),l(e._clearCommand)||(e._clearCommand=new ni({color:new H(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}yb.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;Xdt(this,n,o,r,e),Kdt(this,n,o,r,i),this._useHdr=e};yb.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};yb.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};yb.prototype.isDestroyed=function(){return!1};yb.prototype.destroy=function(){return Ydt(this),ue(this)};var s4=yb;var _a={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},xb=_a.DERIVED_COMMANDS_MAXIMUM_LENGTH,P0e=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function bb(){this._frontFaceAlphaByDistance=new Vt(0,1,0,1),this._backFaceAlphaByDistance=new Vt(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=se.clone(se.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(xb),this._derivedBlendCommandTypes=new Array(xb),this._derivedPickCommandTypes=new Array(xb),this._derivedCommandTypesToUpdate=new Array(xb),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(bb.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});bb.prototype.update=function(e){let t=e.globe;if(!l(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=T0e(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=T0e(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=C0e(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=C0e(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=Jdt(this,e,t),this._sunVisibleThroughGlobe=$dt(this,e),this._environmentVisible=Zdt(this,e),this._useDepthPlane=Qdt(this,e),this._numberOfTextureUniforms=eht(this),this._rectangle=se.clone(t.translucency.rectangle,this._rectangle),tht(this,e)};function T0e(e,t,n,i){return e?l(n)?(Vt.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function C0e(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function $dt(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function Zdt(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function Qdt(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function Jdt(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==ne.SCENE2D&&t.context.depthTexture}function eht(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function tht(e,t){e._derivedCommandsLength=NX(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=NX(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=NX(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<xb;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!l(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=_ht())}function NX(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,u=e._requiresManualDepthTest,f=i?_a.PICK_FRONT_FACE:u?_a.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:_a.TRANSLUCENT_FRONT_FACE,d=i?_a.PICK_BACK_FACE:u?_a.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:_a.TRANSLUCENT_BACK_FACE;return t.mode===ne.SCENE2D?(o[r++]=_a.DEPTH_ONLY_FRONT_FACE,o[r++]=f,r):(a?(n||(o[r++]=_a.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=f,o[r++]=d):(o[r++]=d,o[r++]=f)):c?(n||(o[r++]=_a.DEPTH_ONLY_BACK_FACE),o[r++]=_a.OPAQUE_FRONT_FACE,o[r++]=d):(n||(o[r++]=_a.DEPTH_ONLY_FRONT_FACE),o[r++]=_a.OPAQUE_BACK_FACE,o[r++]=f),r)}function zf(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function A0e(e,t){return e.indexOf(t)>-1}function nht(e,t){zf(e.defines,"TRANSLUCENT"),zf(t.defines,"TRANSLUCENT")}function iht(e,t){zf(e.defines,"GROUND_ATMOSPHERE"),zf(t.defines,"GROUND_ATMOSPHERE"),zf(e.defines,"FOG"),zf(t.defines,"FOG"),zf(e.defines,"TRANSLUCENT"),zf(t.defines,"TRANSLUCENT")}function FX(e,t){if(A0e(t.defines,"TILE_LIMIT_RECTANGLE")||A0e(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main() -{ - out_FragColor = vec4(1.0); -} -`;t.sources=[n]}function BX(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=Ge.replaceMain(n[r],"czm_globe_translucency_main");n.push(` - -uniform sampler2D u_classificationTexture; -void main() -{ - vec2 st = gl_FragCoord.xy / czm_viewport.zw; -#ifdef MANUAL_DEPTH_TEST - float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); - if (logDepthOrDepth != 0.0) - { - vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); - float depthEC = eyeCoordinate.z / eyeCoordinate.w; - if (v_positionEC.z < depthEC) - { - discard; - } - } -#endif - czm_globe_translucency_main(); - vec4 classificationColor = texture(u_classificationTexture, st); - if (classificationColor.a > 0.0) - { - // Reverse premultiplication process to get the correct composited result of the classification primitives - classificationColor.rgb /= classificationColor.a; - } - out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); -} -`)}function R0e(e,t){BX(e,t),zf(e.defines,"GROUND_ATMOSPHERE"),zf(t.defines,"GROUND_ATMOSPHERE"),zf(e.defines,"FOG"),zf(t.defines,"FOG")}function oht(e,t){BX(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function rht(e,t){R0e(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function E0e(e,t){let n=`uniform sampler2D u_classificationTexture; -void main() -{ - vec2 st = gl_FragCoord.xy / czm_viewport.zw; - vec4 pickColor = texture(u_classificationTexture, st); - if (pickColor == vec4(0.0)) - { - discard; - } - out_FragColor = pickColor; -} -`;t.sources=[n]}function sht(e,t,n,i,o,r){if(!l(o))return t;if(!i&&l(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!l(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),u=t.fragmentShaderSource.clone();c.defines=l(c.defines)?c.defines.slice(0):[],u.defines=l(u.defines)?u.defines.slice(0):[],o(c,u),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:a})}return s}function aht(e){e.cull.face=yi.BACK,e.cull.enabled=!0}function cht(e){e.cull.face=yi.FRONT,e.cull.enabled=!0}function lht(e){e.cull.face=yi.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function uht(e){e.cull.face=yi.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function fht(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function S0e(e){e.cull.face=yi.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=fn.ALPHA_BLEND}function w0e(e){e.cull.face=yi.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=fn.ALPHA_BLEND}function dht(e){e.cull.face=yi.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function hht(e){e.cull.face=yi.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function mht(e,t,n,i,o){if(!l(i))return e;if(!n&&l(t))return t;let r=o[e.id];if(!l(r)){let s=ze.getState(e);i(s),r=ze.fromCache(s),o[e.id]=r}return r}function JE(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function pht(e,t,n,i,o){return l(o)?!i&&l(n)?n:xt(t,o(e),!1):t}function rh(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function _ht(){return[new rh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:nht,getRenderStateFunction:aht,getUniformMapFunction:void 0}),new rh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:iht,getRenderStateFunction:cht,getUniformMapFunction:void 0}),new rh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:FX,getRenderStateFunction:lht,getUniformMapFunction:void 0}),new rh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:FX,getRenderStateFunction:uht,getUniformMapFunction:void 0}),new rh({pass:Se.GLOBE,pickOnly:!1,getShaderProgramFunction:FX,getRenderStateFunction:fht,getUniformMapFunction:void 0}),new rh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:BX,getRenderStateFunction:S0e,getUniformMapFunction:JE}),new rh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:R0e,getRenderStateFunction:w0e,getUniformMapFunction:JE}),new rh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:oht,getRenderStateFunction:S0e,getUniformMapFunction:JE}),new rh({pass:Se.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:rht,getRenderStateFunction:w0e,getUniformMapFunction:JE}),new rh({pass:Se.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:E0e,getRenderStateFunction:dht,getUniformMapFunction:JE}),new rh({pass:Se.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:E0e,getRenderStateFunction:hht,getUniformMapFunction:JE})]}var v0e=new Array(xb),D0e=new Array(xb);bb.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)D0e[o]=this._derivedCommandPacks[n[o]],v0e[o]=P0e[n[o]];ght(this,e,i,n,v0e,D0e,t)}};function ght(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!l(a)||c){t.dirty=!1,l(a)||(a={},t.derivedCommands.globeTranslucency=a);let u=s.frameNumber,f=y(a.uniformMapDirtyFrame,0),d=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,m=a.shaderProgramId!==t.shaderProgram.id,x=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=u),m&&(a.shaderProgramDirtyFrame=u),x&&(a.renderStateDirtyFrame=u),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let b=0;b<n;++b){let T=r[b],C=i[b],A=o[b],S=a[A],w,D,O;l(S)?(w=S.uniformMap,D=S.shaderProgram,O=S.renderState):(w=void 0,D=void 0,O=void 0),S=et.shallowClone(t,S),a[A]=S;let R=y(S.derivedCommands.uniformMapDirtyFrame,0),M=y(S.derivedCommands.shaderProgramDirtyFrame,0),L=y(S.derivedCommands.renderStateDirtyFrame,0),_=g||R<f,E=m||M<d,v=x||L<p;_&&(S.derivedCommands.uniformMapDirtyFrame=u),E&&(S.derivedCommands.shaderProgramDirtyFrame=u),v&&(S.derivedCommands.renderStateDirtyFrame=u),S.derivedCommands.type=C,S.pass=T.pass,S.pickOnly=T.pickOnly,S.uniformMap=pht(e,t.uniformMap,w,_,T.getUniformMapFunction),S.shaderProgram=sht(s.context,t.shaderProgram,D,E,T.getShaderProgramFunction,A),S.renderState=mht(t.renderState,O,v,T.getRenderStateFunction,T.renderStateCache)}}}bb.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick||n.passes.pickVoxel;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=P0e[o[a]];n.commandList.push(s[c])}};function O0e(e,t,n,i,o,r){for(let s=0;s<t;++s){let a=e[s],c=a.derivedCommands.type;(!l(r)||r.indexOf(c)>-1)&&n(a,i,o)}}function I0e(e,t,n,i,o){for(let r=0;r<t;++r)n(e[r],i,o)}var yht=[_a.OPAQUE_FRONT_FACE,_a.OPAQUE_BACK_FACE],xht=[_a.DEPTH_ONLY_FRONT_FACE,_a.DEPTH_ONLY_BACK_FACE,_a.DEPTH_ONLY_FRONT_AND_BACK_FACE];bb.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[Se.GLOBE],a=e.indices[Se.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),O0e(s,a,t,i,o,yht))};bb.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let{context:r}=i,{uniformState:s}=r,a=e.commands[Se.GLOBE],c=e.indices[Se.GLOBE],u=e.commands[Se.TERRAIN_CLASSIFICATION],f=e.indices[Se.TERRAIN_CLASSIFICATION];if(c===0||f===0)return;let d=this._frontFaceTranslucent,p=this._backFaceTranslucent;if((!d||!p)&&I0e(u,f,t,i,o),!d&&!p)return;this._globeTranslucencyFramebuffer=n;let g=s.globeDepthTexture,m=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,O0e(a,c,t,i,o,xht),r.depthTexture){let x=n.packDepth(r,o);s.globeDepthTexture=x}I0e(u,f,t,i,o),s.globeDepthTexture=g,o.framebuffer=m};var a4=bb;var bht=1953029805,Tht=2917034100;function kX(e,t){if(kX.passThroughDataForTesting)return t;let n=e.byteLength;if(n===0||n%4!==0)throw new ce("The length of key must be greater than 0 and a multiple of 4.");let i=new DataView(t),o=i.getUint32(0,!0);if(o===bht||o===Tht)return t;let r=new DataView(e),s=0,a=t.byteLength,c=a-a%8,u=n,f,d=8;for(;s<c;)for(d=(d+8)%24,f=d;s<c&&f<u;)i.setUint32(s,i.getUint32(s,!0)^r.getUint32(f,!0),!0),i.setUint32(s+4,i.getUint32(s+4,!0)^r.getUint32(f+4,!0),!0),s+=8,f+=24;if(s<a)for(f>=u&&(d=(d+8)%24,f=d);s<a;)i.setUint8(s,i.getUint8(s)^r.getUint8(f)),s++,f++}kX.passThroughDataForTesting=!1;var c4=kX;var vht=Er(VX(),1);function Cht(e,t){return(e&t)!==0}var Kc=Cht;var Aht=[1,2,4,8],M0e=15,Eht=16,Sht=64,wht=128;function Nm(e,t,n,i,o,r){this._bits=e,this.cnodeVersion=t,this.imageryVersion=n,this.terrainVersion=i,this.imageryProvider=o,this.terrainProvider=r,this.ancestorHasTerrain=!1,this.terrainState=void 0}Nm.clone=function(e,t){return l(t)?(t._bits=e._bits,t.cnodeVersion=e.cnodeVersion,t.imageryVersion=e.imageryVersion,t.terrainVersion=e.terrainVersion,t.imageryProvider=e.imageryProvider,t.terrainProvider=e.terrainProvider):t=new Nm(e._bits,e.cnodeVersion,e.imageryVersion,e.terrainVersion,e.imageryProvider,e.terrainProvider),t.ancestorHasTerrain=e.ancestorHasTerrain,t.terrainState=e.terrainState,t};Nm.prototype.setParent=function(e){this.ancestorHasTerrain=e.ancestorHasTerrain||this.hasTerrain()};Nm.prototype.hasSubtree=function(){return Kc(this._bits,Eht)};Nm.prototype.hasImagery=function(){return Kc(this._bits,Sht)};Nm.prototype.hasTerrain=function(){return Kc(this._bits,wht)};Nm.prototype.hasChildren=function(){return Kc(this._bits,M0e)};Nm.prototype.hasChild=function(e){return Kc(this._bits,Aht[e])};Nm.prototype.getChildBitmask=function(){return this._bits&M0e};var l4=Nm;function Dht(e){let t=e.length,n=new ArrayBuffer(t),i=new Uint8Array(n);for(let o=0;o<t;++o)i[o]=e.charCodeAt(o);return n}var Iht=Dht(`E\xF4\xBD\vy\xE2jE"\x92,\xCDq\xF8IFgQ\0B%\xC6\xE8a,f)\b\xC64\xDCjb%y -wmi\xD6\xF0\x9Ck\x93\xA1\xBDNu\xE0A[\xDF@V\f\xD9\xBBr\x9B\x81|3S\xEEOl\xD4q\xB0{\xC0\x7FEVZ\xADwUe\v3\x92*\xACl5\xC50s\xF83>mF8J\xB4\xDD\xF0.\xDDu\xDA\x8CDt"\xFAa"\f3"So\xAF9D\v\x8C9\xD99L\xB9\xBF\x7F\xAB\\\x8CP_\x9F"ux\xE9\x07q\x91h;\xC1\xC4\x9B\x7F\xF0<VqH\x82'UfYNe\x98u\xA3aF}a?A\0\x9F\xD7\xB44M\xCE\x87F\xB0\xD5\xB8\x8A'{\x8B\xDC+\xBBMg0\xC8\xD1\xF6\\\x8FP\xFA[/F\x9Bn5/'C.\xEB -\f^\xA5s\x1Be4\xE5l.jC'c#U\xA9?q{gC}:\xAF\xCD\xE2TU\x9C\xFDK\xC6\xE2\x9F/(\xED\xCB\\\xC6-f\x07\x88\xA7;/*"N\xB0k.\xDD\r\x95}}G\xBAC\xB2\xB2+>M\xAA>}\xE6\xCEI\x89\xC6\xE6x\fa1-\xA4O\xA5~q \x88\xEC\r1\xE8N\v\0nPh}=\b\r\x95\xA6n\xA3h\x97$[k\xF3#\xF3\xB6s\xB3\r\v@\xC0\x9F\xD8Q]\xFA".j\xDFI\0\xB9\xA0wU\xC6\xEFj\xBF{GL\x7F\x83\xEE\xDC\xDCF\x85\xA9\xADS\x07+S4\x07\xFF\x94Y\xE48\xE81\x83N\xB9XFk\xCB-#\x86\x92p\x005\x88"\xCF1\xB2&/\xE7\xC3u-6,rt\xB0#G\xB7\xD3\xD1&\x857r\xE2\0\x8CD\xCF\xDA3-\xDE\`\x86i#i*|\xCDKQ\r\x95T9w.)\xEA\x1B\xA6P\xA2j\x8FoP\x99\\>T\xFB\xEFP[\v\x07E\x89m(w7\xDB\x8EJfJo\x99 \xE5p\xE2\xB9q~\fmI-z\xFEr\xC7\xF2Y0\x8F\xBB]s\xE5\xC9 \xEAx\xEC \x90\xF0\x8A\x7FB|G\`\xB0\xBD&\xB7q\xB6\xC7\x9F\xD13\x82=\xD3\xAB\xEEc\x99\xC8+S\xA0D\\q\xC6\xCCD2O<\xCA\xC0)=R\xD3aX\xA9}e\xB4\xDC\xCF\r\xF4=\xF1\b\xA9B\xDA# \xD8\xBF^PI\xF8M\xC0\xCBGLO\xF7{+\xD8\xC51\x92;\xB5o\xDCl\r\x92\x88\xD1\x9E\xDB?\xE2\xE9\xDA_\xD4\x84\xE2FaZ\xDEU\xCF\xA4\0\xBE\xFD\xCEg\xF1Ji\x97\xE6 H\xD8]\x7F~\xAEq N\xAE\xC0V\xA9\x91<\x82r\xE7v\xEC)I\xD6]-\x83\xE3\xDB6\xA9;f\x97\x87j\xD5\xB6=P^R\xB9K\xC7sWx\xC9\xF4.Y\x07\x95\x93o\xD0KW>''\xC7\`\xDB;\xED\x9ASD>?\x8D\x92mw\xA2 -\xEB?R\xA8\xC6U^1I7\x85\xF4\xC5&-\xA9\xBF\x8B'T\xDA\xC3j \xE5*x\xB0\xD6\x90pr\xAA\x8Bh\xBD\x88\xF7_H\xB1~\xC0XL?f\xF9>\xE1e\xC0p\xA7\xCF8i\xAF\xF0VldI\x9C'\xADxtO\xC2\x87\xDEV9\0\xDAw\v\xCB-\x1B\x89\xFB5O\xF5\bQ\`\xC1 -ZGM&30x\xDA\xC0\x9CFG\xE2[y\`In7gS ->\xE9\xECF9\xB2\xF14\r\xC6\x84Sun\xE1\fY\xD9\xDE)\x85{II\xA5wy\xBEIV.6\xE7\v:\xBBOb{\xD2M1\x95/\xBD8{\xA8O!\xE1\xECFpv\x95})"x\x88 -\x90\xDD\x9D\\\xDA\xDEQ\xCF\xF0\xFCYRe|3\xDF\xF3H\xDA\xBB*u\xDB\`\xB2\xD4\xFC\xED\x1B\xEC\x7F5\xA8\xFF(1\x07-\xC8\xDC\x88F|\x8A["`);function Ru(e){this.imageryPresent=!0,this.protoImagery=void 0,this.terrainPresent=!0,this.negativeAltitudeExponentBias=32,this.negativeAltitudeThreshold=P.EPSILON12,this.providers={},this.key=void 0,this._resource=void 0,this._quadPacketVersion=1,this._tileInfo={},this._subtreePromises={}}Object.defineProperties(Ru.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},resource:{get:function(){return this._resource}}});Ru.fromUrl=async function(e){let t=e;typeof t!="string"&&!(t instanceof ve)&&(t=e.url);let n=ve.createIfNeeded(t);n.appendForwardSlash();let i=new Ru;i._resource=n;try{await Pht(i),await i.getQuadTreePacket("",i._quadPacketVersion)}catch(o){let r=`An error occurred while accessing ${N0e(i,"",1).url}: ${o}`;throw new ce(r)}return i};Ru.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;Kc(t,r)?Kc(e,r)&&(s|=1):(s|=2,Kc(e,r)||(s|=1)),i+=s}return i};Ru.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];Kc(s,2)?Kc(s,1)||(t|=r):(n|=r,Kc(s,1)&&(t|=r))}return{x:t,y:n,level:i}};Ru.prototype.isValid=function(e){let t=this.getTileInformationFromQuadKey(e);if(l(t))return t!==null;let n=!0,i=e,o;for(;i.length>1;)if(o=i.substring(i.length-1),i=i.substring(0,i.length-1),t=this.getTileInformationFromQuadKey(i),l(t)){!t.hasSubtree()&&!t.hasChild(parseInt(o))&&(n=!1);break}else if(t===null){n=!1;break}return n};var L0e=new _i("decodeGoogleEarthEnterprisePacket");Ru.prototype.getQuadTreePacket=function(e,t,n){t=y(t,1),e=y(e,"");let o=N0e(this,e,t,n).fetchArrayBuffer();if(!l(o))return;let r=this._tileInfo,s=this.key;return o.then(function(a){return L0e.scheduleTask({buffer:a,quadKey:e,type:"Metadata",key:s},[a]).then(function(u){let f,d=-1;if(e!==""){d=e.length+1;let m=u[e];f=r[e],f._bits|=m._bits,delete u[e]}let p=Object.keys(u);p.sort(function(m,x){return m.length-x.length});let g=p.length;for(let m=0;m<g;++m){let x=p[m];if(u[x]!==null){let T=l4.clone(u[x]),C=x.length;if(C===d)T.setParent(f);else if(C>1){let A=r[x.substring(0,x.length-1)];T.setParent(A)}r[x]=T}else r[x]=null}})})};Ru.prototype.populateSubtree=function(e,t,n,i){let o=Ru.tileXYToQuadKey(e,t,n);return HX(this,o,i)};function HX(e,t,n){let i=e._tileInfo,o=t,r=i[o];if(l(r)&&(!r.hasSubtree()||r.hasChildren()))return r;for(;r===void 0&&o.length>1;)o=o.substring(0,o.length-1),r=i[o];let s,a=e._subtreePromises,c=a[o];if(l(c))return c.then(function(){return s=new or({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),HX(e,t,s)});if(!l(r)||!r.hasSubtree())return Promise.reject(new ce(`Couldn't load metadata for tile ${t}`));if(c=e.getQuadTreePacket(o,r.cnodeVersion,n),!!l(c))return a[o]=c,c.then(function(){return s=new or({throttle:n.throttle,throttleByServer:n.throttleByServer,type:n.type,priorityFunction:n.priorityFunction}),HX(e,t,s)}).finally(function(){delete a[o]})}Ru.prototype.getTileInformation=function(e,t,n){let i=Ru.tileXYToQuadKey(e,t,n);return this._tileInfo[i]};Ru.prototype.getTileInformationFromQuadKey=function(e){return this._tileInfo[e]};function N0e(e,t,n,i){return e._resource.getDerivedResource({url:`flatfile?q2-0${t}-q.${n.toString()}`,request:i})}var UX,zX;function Pht(e){let t=e._resource.getDerivedResource({url:"dbRoot.v5",queryParameters:{output:"proto"}});if(!l(zX)){let n=on("ThirdParty/google-earth-dbroot-parser.js"),i=window.cesiumGoogleEarthDbRootParser;zX=fT(n).then(function(){UX=window.cesiumGoogleEarthDbRootParser(vht),l(i)?window.cesiumGoogleEarthDbRootParser=i:delete window.cesiumGoogleEarthDbRootParser})}return zX.then(function(){return t.fetchArrayBuffer()}).then(function(n){let i=UX.EncryptedDbRootProto.decode(new Uint8Array(n)),o=i.encryptionData,r=o.byteOffset,s=r+o.byteLength,a=e.key=o.buffer.slice(r,s);o=i.dbrootData,r=o.byteOffset,s=r+o.byteLength;let c=o.buffer.slice(r,s);return L0e.scheduleTask({buffer:c,type:"DbRoot",key:a},[c])}).then(function(n){let i=UX.DbRootProto.decode(new Uint8Array(n.buffer));if(e.imageryPresent=y(i.imageryPresent,e.imageryPresent),e.protoImagery=i.protoImagery,e.terrainPresent=y(i.terrainPresent,e.terrainPresent),l(i.endSnippet)&&l(i.endSnippet.model)){let a=i.endSnippet.model;e.negativeAltitudeExponentBias=y(a.negativeAltitudeExponentBias,e.negativeAltitudeExponentBias),e.negativeAltitudeThreshold=y(a.compressedNegativeAltitudeThreshold,e.negativeAltitudeThreshold)}l(i.databaseVersion)&&(e._quadPacketVersion=y(i.databaseVersion.quadtreeVersion,e._quadPacketVersion));let o=e.providers,r=y(i.providerInfo,[]),s=r.length;for(let a=0;a<s;++a){let c=r[a],u=c.copyrightString;l(u)&&(o[c.providerId]=new vt(u.value))}}).catch(function(){console.log(`Failed to retrieve ${t.url}. Using defaults.`),e.key=Iht})}var $y=Ru;var F0e=Er(VX(),1);function GX(){this._image=new Image}GX.prototype.isReady=function(){return!0};GX.prototype.shouldDiscardImage=function(e){return e===this._image};function Tb(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new qi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new se(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new vt(t)),this._credit=t,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new GX),this._errorEvent=new me}Object.defineProperties(Tb.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});Tb.fromMetadata=function(e,t){if(!e.imageryPresent)throw new ce(`The server ${e.url} doesn't have imagery`);let n=new Tb(t);return n._metadata=e,n};Tb.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(l(o)){let r=i.providers[o.imageryProvider];if(l(r))return[r]}};Tb.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=$y.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!l(a)){if(r.isValid(s)){let u=new or({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,u);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=Rht(this,a,e,t,n,i).fetchArrayBuffer();if(l(c))return c.then(function(u){c4(r.key,u);let f=new Uint8Array(u),d,p=r.protoImagery;if((!l(p)||!p)&&(d=Oht(f)),!l(d)&&(!l(p)||p)){let g=Mht(f);d=g.imageType,f=g.imageData}return!l(d)||!l(f)?o:dC({uint8Array:f,format:d,flipY:!0})})};Tb.prototype.pickFeatures=function(e,t,n,i,o){};function Rht(e,t,n,i,o,r){let s=$y.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=l(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function Oht(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function Mht(e){let t=F0e.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,l(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(l(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new ce("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return l(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var B0e=Tb;var Lht=new H(1,1,1,.4),Nht=new H(0,1,0,.05),Fht=new H(0,.5,0,.2);function Cb(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new qi({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,Lht),this._glowColor=y(e.glowColor,Nht),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,Fht),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas()}Object.defineProperties(Cb.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});Cb.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let r=1+i/this._cells*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};Cb.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};Cb.prototype.getTileCredits=function(e,t,n){};Cb.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};Cb.prototype.pickFeatures=function(e,t,n,i,o){};var k0e=Cb;function sh(){}sh._maxDecodingConcurrency=Math.max(Wt.hardwareConcurrency-1,1);sh._decodeTaskProcessor=new _i("decodeI3S",sh._maxDecodingConcurrency);sh._promise=void 0;async function Bht(){if(await sh._decodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}))return sh._decodeTaskProcessor;throw new ce("I3S decoder could not be initialized.")}sh.decode=async function(e,t,n,i,o){return l(sh._promise)||(sh._promise=Bht()),sh._promise.then(function(r){let s=n._parent._data,a=n._parent._inverseRotationMatrix,c=0,u=0,f=0;l(s.obb)?(c=s.obb.center[0],u=s.obb.center[1],f=s.obb.center[2]):l(s.mbs)&&(c=s.mbs[0],u=s.mbs[1],f=s.mbs[2]);let d=Z.fromRotationX(-P.PI_OVER_TWO),p=new Z;Z.multiply(d,a,p);let g=fe.fromDegrees(c,u,f),m=ee.WGS84.cartographicToCartesian(g),x={binaryData:n._data,featureData:l(i)&&l(i[0])?i[0].data:void 0,schema:t,bufferInfo:n._geometryBufferInfo,ellipsoidRadiiSquare:ee.WGS84.radiiSquared,url:e,geoidDataList:n._dataProvider._geoidDataList,cartographicCenter:g,cartesianCenter:m,parentRotation:p,enableFeatures:n._dataProvider.showFeatures,splitGeometryByColorTransparency:n._dataProvider.adjustMaterialAlphaMode,symbologyData:o,calculateNormals:n._dataProvider.calculateNormals};return r.scheduleTask(x)})};var u4=sh;function WX(e,t){this._parent=e,this._dataProvider=e._dataProvider,this._layer=e._layer,l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${t}`}):this._resource=this._parent.resource.getDerivedResource({url:t})}Object.defineProperties(WX.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});WX.prototype.load=async function(){return this._data=await Fm.loadJson(this._resource),this._data};var f4=WX;function x_(e,t){this._storageInfo=t,this._parent=e,this._dataProvider=e._dataProvider,this._loadPromise=void 0;let n=`attributes/${t.key}/0`;l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${n}`}):this._resource=this._parent.resource.getDerivedResource({url:n})}Object.defineProperties(x_.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){if(l(this._values)){if(l(this._values.attributeValues))return this._values.attributeValues;if(l(this._values.objectIds))return this._values.objectIds}return[]}},name:{get:function(){return this._storageInfo.name}}});function d4(e){return e==="UInt8"||e==="Int8"?1:e==="UInt16"||e==="Int16"?2:e==="UInt32"||e==="Int32"||e==="Oid32"||e==="Float32"?4:e==="UInt64"||e==="Int64"||e==="Float64"?8:0}function kht(e){return e==="String"?1:d4(e)}async function Vht(e){let t=await e._dataProvider._loadBinary(e._resource),n=new DataView(t);e._data=t,e._validateHeader(n);let i=e._parseHeader(n),o=e._getBodyOffset(i);e._validateBody(n,o),e._parseBody(n,o)}x_.prototype.load=function(){return l(this._loadPromise)?this._loadPromise:(this._loadPromise=Vht(this).catch(function(e){console.error(e)}),this._loadPromise)};x_.prototype._parseValue=function(e,t,n){let i;if(t==="UInt8")i=e.getUint8(n),n+=1;else if(t==="Int8")i=e.getInt8(n),n+=1;else if(t==="UInt16")i=e.getUint16(n,!0),n+=2;else if(t==="Int16")i=e.getInt16(n,!0),n+=2;else if(t==="UInt32")i=e.getUint32(n,!0),n+=4;else if(t==="Oid32")i=e.getUint32(n,!0),n+=4;else if(t==="Int32")i=e.getInt32(n,!0),n+=4;else if(t==="UInt64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);i=o+Math.pow(2,32)*r,n+=8}else if(t==="Int64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);r<Math.pow(2,31)?i=o+Math.pow(2,32)*r:i=o+Math.pow(2,32)*(r-Math.pow(2,32)),n+=8}else t==="Float32"?(i=e.getFloat32(n,!0),n+=4):t==="Float64"?(i=e.getFloat64(n,!0),n+=8):t==="String"&&(i=String.fromCharCode(e.getUint8(n)),n+=1);return{value:i,offset:n}};x_.prototype._parseHeader=function(e){let t=0;this._header={};for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n],o=this._parseValue(e,i.valueType,t);this._header[i.property]=o.value,t=o.offset}return t};x_.prototype._parseBody=function(e,t){this._values={};for(let n=0;n<this._storageInfo.ordering.length;n++){let i=this._storageInfo.ordering[n],o=i==="ObjectIds"?"objectIds":i,r=this._storageInfo[o];if(l(r)){this._values[o]=[];for(let s=0;s<this._header.count;++s)if(r.valueType!=="String"){let a=this._parseValue(e,r.valueType,t);this._values[o].push(a.value),t=a.offset}else{let a=this._values.attributeByteCounts[s],c="";for(let u=0;u<a;++u){let f=this._parseValue(e,r.valueType,t);f.value.charCodeAt(0)!==0&&(c+=f.value),t=f.offset}this._values[o].push(c)}}}};x_.prototype._getBodyOffset=function(e){let t=0;return l(this._storageInfo.attributeValues)?t=d4(this._storageInfo.attributeValues.valueType):l(this._storageInfo.objectIds)&&(t=d4(this._storageInfo.objectIds.valueType)),t>0?Math.ceil(e/t)*t:e};x_.prototype._validateHeader=function(e){let t=0;for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n];t+=kht(i.valueType)}if(e.byteLength<t)throw new ce(`Invalid attribute buffer size (field: ${this.name}, header: ${t}, actual: ${e.byteLength})`)};x_.prototype._validateBody=function(e,t){if(!l(this._header.count))throw new ce(`Invalid attribute buffer (field: ${this.name}, count is missing)`);let n;for(let i=0;i<this._storageInfo.ordering.length&&t<e.byteLength;i++){let o=this._storageInfo.ordering[i],r=o==="ObjectIds"?"objectIds":o,s=this._storageInfo[r];if(l(s))if(s.valueType!=="String"){r==="attributeByteCounts"&&(n=t);let a=d4(s.valueType);t+=a*this._header.count}else{if(!l(n))throw new ce(`Invalid attribute buffer (field: ${this.name}, attributeByteCounts is missing)`);for(let a=0;a<this._header.count&&t<e.byteLength;++a){let c=this._parseValue(e,this._storageInfo.attributeByteCounts.valueType,n);t+=c.value,n=c.offset}}else throw new ce(`Invalid attribute buffer (field: ${this.name}, ${r} is missing)`)}if(e.byteLength<t)throw new ce(`Invalid attribute buffer size (field: ${this.name}, expected: ${t}, actual: ${e.byteLength})`)};var h4=x_;function Uht(e){return e<=.04045?e*.07739938080495357:Math.pow((e+.055)*.9478672985781991,2.4)}var eS=Uht;function QI(e,t){let n=e._dataProvider,i=e._layer,o;l(e._nodeIndex)?o=i.resource.getDerivedResource({url:`nodes/${e._data.mesh.geometry.resource}/${t}`}):o=e.resource.getDerivedResource({url:t}),this._parent=e,this._dataProvider=n,this._layer=i,this._resource=o,this._customAttributes=void 0}Object.defineProperties(QI.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});QI.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){return e._data=t,t})};var zht=new h,Hht=new h,Ght=new h,Wht=new h,jht=new h;function jX(e,t,n,i){let o=h.subtract(i,n,zht),r=h.cross(o,h.subtract(e,n,Hht),Wht),s=h.cross(o,h.subtract(t,n,Ght),jht);return h.dot(r,s)>=0}var qht=new h,Yht=new h,Xht=new h,Kht=new h,$ht=new h,Zht=new h,Qht=new h,Jht=new h,emt=new h,tmt=new h;QI.prototype.getClosestPointIndexOnTriangle=function(e,t,n){if(l(this._customAttributes)&&l(this._customAttributes.positions)){let i=new h(e,t,n);i.x-=this._customAttributes.cartesianCenter.x,i.y-=this._customAttributes.cartesianCenter.y,i.z-=this._customAttributes.cartesianCenter.z,Z.multiplyByVector(this._customAttributes.parentRotation,i,i);let o=Number.MAX_VALUE,r,s,a,c,u=this._customAttributes.positions,f=this._customAttributes.indices,d;l(f)?d=f.length:d=u.length/3;for(let p=0;p<d;p++){let g,m,x;l(f)?(g=f[p],m=f[p+1],x=f[p+2]):(g=p*3,m=p*3+1,x=p*3+2);let b=h.fromElements(u[g*3],u[g*3+1],u[g*3+2],qht),T=h.fromElements(u[m*3],u[m*3+1],u[m*3+2],Yht),C=new h(u[x*3],u[x*3+1],u[x*3+2],Xht);if(!jX(i,b,T,C)||!jX(i,T,b,C)||!jX(i,C,b,T))continue;let A=h.subtract(T,b,Kht),S=h.subtract(C,b,$ht),w=h.cross(A,S,Zht);if(h.magnitude(w)===0)continue;let D=h.normalize(w,Qht),O=h.subtract(i,b,Jht),R=Math.abs(h.dot(O,D));if(R<o){o=R,r=p;let M=h.magnitudeSquared(h.subtract(i,b,O)),L=h.magnitudeSquared(h.subtract(i,T,emt)),_=h.magnitudeSquared(h.subtract(i,C,tmt));M<L&&M<_?(a=g,c=b,s=M):L<_?(a=m,c=T,s=L):(a=x,c=C,s=_)}}if(l(r))return{index:a,distanceSquared:s,distance:Math.sqrt(s),queriedPosition:i,closestPosition:h.clone(c)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};function V0e(e){let t=[],n=e.length;for(let i=0;i<n;i++)i<3?t.push(eS(e[i])):t.push(e[i]);return t}QI.prototype._generateGltf=function(e,t,n,i,o,r,s,a){let c={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},u=!1,f,d="";if(l(this._parent._data.mesh)&&l(this._layer._data.materialDefinitions)){let A=this._parent._data.mesh.material.definition;if(A>=0&&A<this._layer._data.materialDefinitions.length){if(f=this._layer._data.materialDefinitions[A],c=f,l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorTexture)){u=!0,c.pbrMetallicRoughness.baseColorTexture.index=0;let S="0";if(l(this._layer._data.textureSetDefinitions))for(let w=0;w<this._layer._data.textureSetDefinitions.length;w++){let D=this._layer._data.textureSetDefinitions[w];for(let O=0;O<D.formats.length;O++){let R=D.formats[O];if(R.format==="jpg"){S=R.name;break}}}l(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(d=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${S}`}).url)}l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorFactor)&&(c.pbrMetallicRoughness.baseColorFactor=V0e(c.pbrMetallicRoughness.baseColorFactor)),l(c.emissiveFactor)&&(c.emissiveFactor=V0e(c.emissiveFactor))}}else l(this._parent._data.textureData)&&(u=!0,d=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,c.pbrMetallicRoughness.baseColorTexture={index:0});l(c.alphaMode)&&(c.alphaMode=c.alphaMode.toUpperCase());let p=[],g=[],m=[];u&&(p=[{sampler:0,source:0}],g=[{uri:d}],m=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]);let x=[],b=n.length;for(let C=0;C<b;C++){let A=n[C].primitives,S=A.length;for(let w=0;w<S;w++){let D=A[w];if(l(D.material)){for(;D.material>=x.length;){let R=We(c,!0);x.push(R)}let O=x[D.material];l(D.extra)&&D.extra.isTransparent?l(O.alphaMode)||(O.alphaMode="BLEND"):O.alphaMode==="BLEND"&&(O.alphaMode="OPAQUE")}}}return{scene:0,scenes:[{nodes:e}],nodes:t,meshes:n,buffers:i,bufferViews:o,accessors:r,materials:x,textures:p,images:g,samplers:m,asset:{version:"2.0"},extensions:s,extensionsUsed:a}};var JI=QI;function hc(e,t,n){let i,o,r,s;n?(i=0,o=e):(i=e._level+1,o=e._layer),typeof t=="number"?r=t:s=e.resource.getDerivedResource({url:`${t}/`}),this._parent=e,this._dataProvider=e._dataProvider,this._isRoot=n,this._level=i,this._layer=o,this._nodeIndex=r,this._resource=s,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0,this._symbologyData=void 0}Object.defineProperties(hc.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});hc.prototype.load=async function(){let e=this;function t(){if(!e._isRoot){let o=e._create3DTileDefinition();e._tile=new wd(e._layer._tileset,e._dataProvider.resource,o,e._parent._tile),e._tile._i3sNode=e}}if(!l(this._nodeIndex)){let o=await Fm.loadJson(this._resource);e._data=o,t();return}let n=await this._layer._getNodeInNodePages(this._nodeIndex);e._data=n;let i;e._isRoot?i="nodes/root/":l(n.mesh)&&(i=`../${n.mesh.geometry.resource}/`),l(i)&&l(e._parent.resource)&&(e._resource=e._parent.resource.getDerivedResource({url:i})),t()};function U0e(e,t){let n=new h4(e,t);return e._fields[t.name]=n,n.load()}hc.prototype.loadFields=function(){let e=this._layer._data.attributeStorageInfo,t=[];if(l(e))for(let n=0;n<e.length;n++){let i=e[n],o=this._fields[i.name];l(o)?t.push(o.load()):t.push(U0e(this,i))}return Promise.all(t)};hc.prototype.loadField=function(e){let t=this._fields[e];if(l(t))return t.load();let n=this._layer._data.attributeStorageInfo;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];if(o.name===e)return U0e(this,o)}return Promise.resolve()};hc.prototype.getFieldsForPickedPosition=function(e){let t=this.geometryData[0];if(!l(t.customAttributes.featureIndex))return{};let n=t.getClosestPointIndexOnTriangle(e.x,e.y,e.z);if(n.index===-1||n.index>t.customAttributes.featureIndex.length)return{};let i=t.customAttributes.featureIndex[n.index];return this.getFieldsForFeature(i)};hc.prototype.getFieldsForFeature=function(e){let t={};for(let n in this.fields)if(this.fields.hasOwnProperty(n)){let i=this.fields[n];e>=0&&e<i.values.length&&(t[i.name]=i.values[e])}return t};hc.prototype._loadChildren=function(){let e=this;if(l(this._childrenReadyPromise))return this._childrenReadyPromise;let t=[];if(l(e._data.children))for(let n=0;n<e._data.children.length;n++){let i=e._data.children[n],o=new hc(e,y(i.href,i),!1);e._children.push(o),t.push(o.load())}return this._childrenReadyPromise=Promise.all(t).then(function(){for(let n=0;n<e._children.length;n++)e._tile.children.push(e._children[n]._tile)}),this._childrenReadyPromise};hc.prototype._loadGeometryData=function(){let e=[];if(l(this._data.geometryData))for(let t=0;t<this._data.geometryData.length;t++){let n=new JI(this,this._data.geometryData[t].href);this._geometryData.push(n),e.push(n.load())}else if(l(this._data.mesh)){let t=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),n=`./geometries/${t.bufferIndex}/`,i=new JI(this,n);i._geometryDefinitions=t.definition,i._geometryBufferInfo=t.geometryBufferInfo,this._geometryData.push(i),e.push(i.load())}return Promise.all(e)};hc.prototype._loadFeatureData=function(){let e=[];if(l(this._data.featureData))for(let t=0;t<this._data.featureData.length;t++){let n=new f4(this,this._data.featureData[t].href);this._featureData.push(n),e.push(n.load())}return Promise.all(e)};hc.prototype._clearGeometryData=function(){this._geometryData=[]};hc.prototype._create3DTileDefinition=function(){let e=this._data.obb,t=this._data.mbs;if(!l(e)&&!l(t)){console.error("Failed to load I3S node. Bounding volume is required.");return}let n;if(l(e)?n=fe.fromDegrees(e.center[0],e.center[1],e.center[2]):n=fe.fromDegrees(t[0],t[1],t[2]),l(this._dataProvider._geoidDataList)&&l(n))for(let T=0;T<this._dataProvider._geoidDataList.length;T++){let C=this._dataProvider._geoidDataList[T],A=C.projection.project(n);if(A.x>C.nativeExtent.west&&A.x<C.nativeExtent.east&&A.y>C.nativeExtent.south&&A.y<C.nativeExtent.north){n.height+=rmt(A.x,A.y,C);break}}let i={},o,r=0;l(e)?(i={box:[0,0,0,e.halfSize[0],0,0,0,e.halfSize[1],0,0,0,e.halfSize[2]]},r=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),o=ee.WGS84.cartographicToCartesian(n)):(i={sphere:[0,0,0,t[3]]},o=ee.WGS84.cartographicToCartesian(n),r=this._data.mbs[3]),r*=2;let s=1/0;if(l(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let T=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));s=r/T}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let T=this._data.lodThreshold;s=r/T}else console.error("Invalid lodSelectionMetricType in Layer");else if(l(this._data.lodSelection))for(let T=0;T<this._data.lodSelection.length;T++)this._data.lodSelection[T].metricType==="maxScreenThreshold"&&(s=r/this._data.lodSelection[T].maxError);s===1/0&&(s=1e5);let a=s*16,c=new Ga(0,0,0),u=Bt.headingPitchRollQuaternion(o,c);l(this._data.obb)&&(u=new Ne(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let f=Z.fromQuaternion(u),d=Z.inverse(f,new Z),p=new F(f[0],f[1],f[2],0,f[3],f[4],f[5],0,f[6],f[7],f[8],0,o.x,o.y,o.z,1),g=F.inverse(p,new F),m=F.clone(p);l(this._parent._globalTransform)&&F.multiply(p,this._parent._inverseGlobalTransform,m),this._globalTransform=p,this._inverseGlobalTransform=g,this._inverseRotationMatrix=d;let x=[];for(let T=0;T<this._children.length;T++)x.push(this._children[T]._create3DTileDefinition());return{children:x,refine:"REPLACE",boundingVolume:i,transform:[m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]],content:{uri:l(this._resource)?this._resource.url:void 0},geometricError:a}};hc.prototype._loadSymbology=async function(){!l(this._symbologyData)&&l(this._layer._symbology)&&(this._symbologyData=await this._layer._symbology._getSymbology(this))};hc.prototype._createContentURL=async function(){let e={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},t=[this._loadGeometryData()];if(this._dataProvider.legacyVersion16&&t.push(this._loadFeatureData()),await Promise.all(t),l(this._geometryData)&&this._geometryData.length>0){this._dataProvider._applySymbology&&await this._loadSymbology();let o=this._geometryData[0].resource.url,r=this._layer._data.store.defaultGeometrySchema,s=this._geometryData[0],a=await u4.decode(o,r,s,this._featureData[0],this._symbologyData);if(!l(a))return;e=s._generateGltf(a.meshData.nodesInScene,a.meshData.nodes,a.meshData.meshes,a.meshData.buffers,a.meshData.bufferViews,a.meshData.accessors,a.meshData.rootExtensions,a.meshData.extensionsUsed),this._geometryData[0]._customAttributes=a.meshData._customAttributes}let n=this._dataProvider._binarizeGltf(e),i=new Blob([n],{type:"application/binary"});return URL.createObjectURL(i)};async function nmt(e){let t=e._layer._filters,n=[];for(let i=0;i<t.length;i++){let o=e.loadField(t[i].name);n.push(o)}return await Promise.all(n),t}function imt(e,t,n){if(!l(n.values)||n.values.length===0)return!1;let i=l(t)?t.values:[],o;e<i.length&&(o=i[e]);let r=!1;for(let s=0;s<n.values.length;s++)if(n.values[s]===o){r=!0;break}return r}async function z0e(e,t){let n=e._tile.content.batchTable;if(l(n)&&n.featuresLength>0){n.setAllShow(!0);let i=await nmt(e);if(i.length>0)for(let o=0;o<n.featuresLength;o++)for(let r=0;r<i.length;r++){let s=i[r];if(!imt(o,e._fields[s.name],s)){n.setShow(o,!1);break}}}t.show=!0}hc.prototype._filterFeatures=function(){let e=[];for(let n=0;n<this._children.length;n++){let i=this._children[n]._filterFeatures();e.push(i)}let t=this._tile?.content?._model;if(l(this._geometryData)&&this._geometryData.length>0&&l(t)&&t.ready){t.show=!1;let n=z0e(this,t);e.push(n)}return Promise.all(e)};wd.prototype._hookedRequestContent=wd.prototype.requestContent;wd.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading){this._isLoading=!0;let e=this;return this._i3sNode._createContentURL().then(t=>{if(!l(t)){e._isLoading=!1;return}return e._contentResource=new ve({url:t}),e._hookedRequestContent()}).then(t=>{let n=t?._model;return l(e._i3sNode._geometryData)&&e._i3sNode._geometryData.length>0&&l(n)&&(n.show=!1,n.readyEvent.addEventListener(()=>{z0e(e._i3sNode,n)})),e._isLoading=!1,t})}};function omt(e,t,n,i,o,r){let s=n*(1-e)+i*e,a=o*(1-e)+r*e;return s*(1-t)+a*t}function m4(e,t,n,i){let o=e+t*n;return i[o]}function rmt(e,t,n){let i=n.nativeExtent,o=(e-i.west)/(i.east-i.west)*(n.width-1),r=(t-i.south)/(i.north-i.south)*(n.height-1),s=Math.floor(o),a=Math.floor(r);o-=s,r-=a;let c=s<n.width?s+1:s,u=a<n.height?a+1:a;a=n.height-1-a,u=n.height-1-u;let f=m4(s,a,n.width,n.buffer),d=m4(c,a,n.width,n.buffer),p=m4(s,u,n.width,n.buffer),g=m4(c,u,n.width,n.buffer),m=omt(o,r,f,d,p,g);return m=m*n.scale+n.offset,m}Object.defineProperties(wd.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var eP=hc;function p4(e){this._layer=e,this._defaultSymbology=void 0,this._valueFields=[],this._uniqueValueHash=void 0,this._classBreaksHash=void 0,this._parseLayerSymbology()}Object.defineProperties(p4.prototype,{defaultSymbology:{get:function(){return this._defaultSymbology}}});function qX(e,t){let n=[];for(let i=0;i<e.length;i++){let o=H.byteToFloat(e[i]);i<3?n.push(eS(o)):n.push(o)}return n.length===3&&(l(t)?n.push(1-t/100):n.push(1)),n}function tS(e,t){let n={edges:void 0,material:void 0};if(l(e)&&l(e.symbolLayers))for(let i=0;i<e.symbolLayers.length;i++){let o=e.symbolLayers[i];if(o.type==="Fill"){let r=o.edges,s=o.outline;if(l(r)?(n.edges={},l(r.color)&&(n.edges.color=qX(r.color,r.transparency))):l(s)&&(n.edges={},l(s.color)&&(n.edges.color=qX(s.color,s.transparency))),!t){let a=o.material;l(a)&&(n.material={colorMixMode:a.colorMixMode},l(a.color)&&(n.material.color=qX(a.color,a.transparency)))}break}}return n}function smt(e,t){if(l(e.uniqueValueGroups)){let n={};for(let i=0;i<e.uniqueValueGroups.length;i++){let o=e.uniqueValueGroups[i].classes;if(l(o))for(let r=0;r<o.length;r++){let s=tS(o[r].symbol,t),a=o[r].values;for(let c=0;c<a.length;c++){let u=a[c],f=n;for(let d=0;d<u.length;d++){let p=u[d];d===u.length-1?f[p]=s:(l(f[p])||(f[p]={}),f=f[p])}}}}return n}if(l(e.uniqueValueInfos)){let n={};for(let i=0;i<e.uniqueValueInfos.length;i++){let o=e.uniqueValueInfos[i];n[o.value]=tS(o.symbol,t)}return n}}function amt(e,t){if(l(e.classBreakInfos)){let n=[...e.classBreakInfos];n.sort(function(o,r){let s=y(o.classMaxValue,o.classMinValue),a=y(r.classMaxValue,r.classMinValue);return s-a});let i={ranges:[],symbols:[]};l(e.minValue)&&(i.ranges.push(e.minValue),i.symbols.push(void 0));for(let o=0;o<n.length;o++){let r=n[o];l(r.classMinValue)&&(i.ranges.length===0||r.classMinValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMinValue),i.symbols.push(void 0)),l(r.classMaxValue)&&(i.ranges.length===0||r.classMaxValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMaxValue),i.symbols.push(tS(r.symbol,t)))}return i.symbols.push(void 0),i}}p4.prototype._parseLayerSymbology=function(){let e=this._layer.data.drawingInfo;if(l(e)&&l(e.renderer)){let t=this._layer.data.cachedDrawingInfo,n=l(t)&&t.color===!0,i=e.renderer;i.type==="simple"?this._defaultSymbology=tS(i.symbol,n):i.type==="uniqueValue"?(this._defaultSymbology=tS(i.defaultSymbol,n),this._valueFields.push(i.field1),l(i.field2)&&this._valueFields.push(i.field2),l(i.field3)&&this._valueFields.push(i.field3),this._uniqueValueHash=smt(i,n)):i.type==="classBreaks"&&(this._defaultSymbology=tS(i.defaultSymbol,n),this._valueFields.push(i.field),this._classBreaksHash=amt(i,n))}};function H0e(e,t,n,i){let o=t[n];if(i<o.length){let r=o[i],s=e[r];return l(s)&&++n<t.length?H0e(s,t,n,i):s}}function cmt(e,t){let n=0,i=e.length;if(n<i)do{let o=n+i>>>1;e[o]<t?n=o+1:i=o}while(n<i);return n}function lmt(e,t,n){let i=t[n],o=cmt(e.ranges,i);return e.symbols[o]}p4.prototype._getSymbology=async function(e){let t={default:this._defaultSymbology};if(this._valueFields.length>0){let n=[];for(let r=0;r<this._valueFields.length;r++)n.push(e.loadField(this._valueFields[r]));await Promise.all(n);let i=[];for(let r=0;r<this._valueFields.length;r++)i.push(e.fields[this._valueFields[r]].values);let o;if(l(this._uniqueValueHash)?o=r=>H0e(this._uniqueValueHash,i,0,r):l(this._classBreaksHash)&&(o=r=>lmt(this._classBreaksHash,i[0],r)),l(o)){let r=i[0];for(let s=0;s<r.length;s++){let a=o(s);l(a)&&(t[s]=a)}}}return t};var _4=p4;function Fl(e,t,n){this._dataProvider=e,this._parent=n,!l(t.href)&&l(t.id)&&(t.href=`layers/${t.id}`);let i=this._parent.resource.getUrlComponent(),o="";i.match(/layers\/\d/)?o=`${i}`.replace(/\/+$/,""):o=`${i}`.replace(/\/?$/,"/").concat(`${t.href}`),this._version=t.store.version;let r=this._version.split(".");this._majorVersion=parseInt(r[0]),this._minorVersion=r.length>1?parseInt(r[1]):0,this._resource=new ve({url:o}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=t,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._filters=[],this._symbology=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(Fl.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(l(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});Fl.prototype.load=async function(e){if(this._data.spatialReference.wkid!==4326)throw new ce(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(this._dataProvider.applySymbology&&(this._symbology=new _4(this)),await this._dataProvider.loadGeoidData(),await this._loadRootNode(e),await this._create3DTileset(e),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};Fl.prototype._computeGeometryDefinitions=function(e){if(this._geometryDefinitions=[],l(this._data.geometryDefinitions))for(let t=0;t<this._data.geometryDefinitions.length;t++){let n=[],i=this._data.geometryDefinitions[t].geometryBuffers;for(let o=0;o<i.length;o++){let r=i[o],s=[],a=!1;if(l(r.compressedAttributes)&&e){a=!0;let c=r.compressedAttributes.attributes;for(let u=0;u<c.length;u++)s.push(c[u])}else for(let c in r)c!=="offset"&&s.push(c);n.push({compressed:a,attributes:s,index:i.indexOf(r)})}n.sort(function(o,r){return o.compressed&&!r.compressed?-1:!o.compressed&&r.compressed?1:o.attributes.length-r.attributes.length}),this._geometryDefinitions.push(n)}};Fl.prototype._findBestGeometryBuffers=function(e,t){let n=this._geometryDefinitions[e];if(l(n)){for(let i=0;i<n.length;++i){let o=n[i],r=!1,s=o.attributes;for(let a=0;a<t.length;a++)if(!s.includes(t[a])){r=!0;break}if(!r)return{bufferIndex:o.index,definition:n,geometryBufferInfo:o}}if(l(n[0]))return{bufferIndex:0,definition:n,geometryBufferInfo:n[0]}}};Fl.prototype._loadRootNode=function(e){if(l(this._data.nodePages)){let t=0;l(this._data.nodePages.rootIndex)&&(t=this._data.nodePages.rootIndex),this._rootNode=new eP(this,t,!0)}else this._rootNode=new eP(this,this._data.store.rootNode,!0);return this._rootNode.load(e)};Fl.prototype._getNodeInNodePages=function(e){let t=Math.floor(e/this._data.nodePages.nodesPerPage),n=e%this._data.nodePages.nodesPerPage;return this._loadNodePage(t).then(function(i){return i.nodes[n]})};Fl._fetchJson=function(e){return e.fetchJson()};Fl.prototype._loadNodePage=function(e){let t=this;if(!l(this._nodePageFetches[e])){let n=this.resource.getDerivedResource({url:`nodepages/${e}/`}),i=Fl._fetchJson(n).then(function(o){return l(o.error)&&o.error.code!==200?Promise.reject(o.error):(t._nodePages[e]=o.nodes,o)});this._nodePageFetches[e]=i}return this._nodePageFetches[e]};Fl.prototype._computeExtent=function(){l(this._data.fullExtent)?this._extent=se.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):l(this._data.store.extent)&&(this._extent=se.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};Fl.prototype._create3DTileset=async function(e){let t={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},n=new Blob([JSON.stringify(t)],{type:"application/json"}),i=URL.createObjectURL(n),o=this._symbology?.defaultSymbology?.edges?.color;l(o)&&!l(e?.outlineColor)&&(e=l(e)?We(e):{},e.outlineColor=H.fromCartesian4(oe.fromArray(o))),this._tileset=await Da.fromUrl(i,e),this._tileset.show=this._parent.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(r){r._i3sNode._clearGeometryData(),URL.revokeObjectURL(r._contentResource._url),r._contentResource=r._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(r){l(r._i3sNode)&&r._i3sNode._loadChildren()})};Fl.prototype._updateVisibility=function(){l(this._tileset)&&(this._tileset.show=this._parent.show)};Fl.prototype.filterByAttributes=function(e){this._filters=l(e)?We(e,!0):[];let t=this._rootNode;return l(t)?t._filterFeatures():Promise.resolve()};var nS=Fl;function g4(e,t){this._dataProvider=e,this._resource=new ve({url:t}),this._resource.setQueryParameters(e.resource.queryParameters),this._resource.appendForwardSlash()}Object.defineProperties(g4.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},names:{get:function(){let e=[],t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n)e.push(t[n].fieldName);return e}}});g4.prototype.load=async function(){return this._data=await Fm.loadJson(this._resource),this._data};g4.prototype._getValues=function(e){let t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n){let i=t[n];if(i.fieldName===e)return l(i.mostFrequentValues)?[...i.mostFrequentValues]:[]}};var y4=g4;function tP(e,t,n){this._dataProvider=e,this._parent=t,this._data=n,this._name=n.name,this._modelName=n.modelName,this._visibility=y(n.visibility,!0),this._resource=void 0,this._sublayers=[],this._i3sLayers=[]}Object.defineProperties(tP.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},name:{get:function(){return this._name}},modelName:{get:function(){return this._modelName}},sublayers:{get:function(){return this._sublayers}},visibility:{get:function(){return this._visibility},set:function(e){if(this._visibility!==e){this._visibility=e;for(let t=0;t<this._i3sLayers.length;t++)this._i3sLayers[t]._updateVisibility()}}},show:{get:function(){return this._visibility&&this._parent.show}}});tP._fromData=async function(e,t,n,i){let o=new tP(e,i,n);if(o._data.layerType==="group"){let r=o._data.sublayers;if(l(r)){let s=[];for(let c=0;c<r.length;c++){let u=tP._fromData(e,t,r[c],o);s.push(u)}let a=await Promise.all(s);for(let c=0;c<a.length;c++){let u=a[c];o._sublayers.push(u),o._i3sLayers.push(...u._i3sLayers)}}}else if(o._data.layerType==="3DObject"){let r=t.concat(`/sublayers/${o._data.id}`),s=new ve({url:r});s.setQueryParameters(e.resource.queryParameters),s.appendForwardSlash(),o._resource=s;let a=await Fm.loadJson(o._resource),c=new nS(e,a,o);o._i3sLayers.push(c)}else console.log(`${o._data.layerType} layer ${o._data.name} is skipped as not supported.`);return o};var x4=tP;var j0e=Er(G0e(),1);function us(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._show=y(e.show,!0),this._geoidTiledTerrainProvider=e.geoidTiledTerrainProvider,this._showFeatures=y(e.showFeatures,!1),this._adjustMaterialAlphaMode=y(e.adjustMaterialAlphaMode,!1),this._applySymbology=y(e.applySymbology,!1),this._calculateNormals=y(e.calculateNormals,!1),this._cesium3dTilesetOptions=y(e.cesium3dTilesetOptions,y.EMPTY_OBJECT),this._layers=[],this._sublayers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,this._attributeStatistics=[],this._layersExtent=[]}Object.defineProperties(us.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;for(let t=0;t<this._layers.length;t++)this._layers[t]._updateVisibility()}}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},sublayers:{get:function(){return this._sublayers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},resource:{get:function(){return this._resource}},showFeatures:{get:function(){return this._showFeatures}},adjustMaterialAlphaMode:{get:function(){return this._adjustMaterialAlphaMode}},applySymbology:{get:function(){return this._applySymbology}},calculateNormals:{get:function(){return this._calculateNormals}}});us.prototype.destroy=function(){for(let e=0;e<this._layers.length;e++)l(this._layers[e]._tileset)&&this._layers[e]._tileset.destroy();return ue(this)};us.prototype.isDestroyed=function(){return!1};us.prototype.update=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.update(e)};us.prototype.prePassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.prePassesUpdate(e)};us.prototype.postPassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.postPassesUpdate(e)};us.prototype.updateForPass=function(e,t){for(let n=0;n<this._layers.length;n++)l(this._layers[n]._tileset)&&this._layers[n]._tileset.updateForPass(e,t)};function umt(e,t){let n=e.resource.getUrlComponent(),i="";return n.match(/layers\/\d/)?i=`${n}`.replace(/\/+$/,""):i=`${n}`.replace(/\/?$/,"/").concat(`layers/${t}`),i}async function W0e(e,t,n){if(t.layerType==="Building"){l(n.showFeatures)||(e._showFeatures=!0),l(n.adjustMaterialAlphaMode)||(e._adjustMaterialAlphaMode=!0),l(n.applySymbology)||(e._applySymbology=!0),l(n.calculateNormals)||(e._calculateNormals=!0);let i=umt(e,t.id);if(l(t.sublayers)){let o=[];for(let s=0;s<t.sublayers.length;s++){let a=x4._fromData(e,i,t.sublayers[s],e);o.push(a)}let r=await Promise.all(o);for(let s=0;s<r.length;s++){let a=r[s];e._sublayers.push(a),e._layers.push(...a._i3sLayers)}}if(l(t.statisticsHRef)){let o=i.concat(`/${t.statisticsHRef}`),r=new y4(e,o);await r.load(),e._attributeStatistics.push(r)}if(l(t.fullExtent)){let o=se.fromDegrees(t.fullExtent.xmin,t.fullExtent.ymin,t.fullExtent.xmax,t.fullExtent.ymax);e._layersExtent.push(o)}}else if(t.layerType==="3DObject"||t.layerType==="IntegratedMesh"){!l(n.calculateNormals)&&!l(t.textureSetDefinitions)&&(e._calculateNormals=!0);let i=new nS(e,t,e);e._layers.push(i),l(i._extent)&&e._layersExtent.push(i._extent)}else console.log(`${t.layerType} layer ${t.name} is skipped as not supported.`)}us.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=ve.createIfNeeded(e);n.setQueryParameters({f:"pjson"},!0);let i=await us.loadJson(n),o=new us(t);if(o._resource=n,o._data=i,l(i.layers)){let s=[];for(let a=0;a<i.layers.length;a++){let c=W0e(o,i.layers[a],t);s.push(c)}await Promise.all(s)}else await W0e(o,i,t);o._computeExtent();let r=[];for(let s=0;s<o._layers.length;s++)r.push(o._layers[s].load(t.cesium3dTilesetOptions));return await Promise.all(r),o};us._fetchJson=function(e){return e.fetchJson()};us.loadJson=async function(e){let t=await us._fetchJson(e);if(l(t.error)){if(console.error("Failed to fetch I3S ",e.url),l(t.error.message)&&console.error(t.error.message),l(t.error.details))for(let n=0;n<t.error.details.length;n++)console.log(t.error.details[n]);throw new ce(t.error)}return t};us.prototype._loadBinary=async function(e){let t=await e.fetchArrayBuffer();if(t.byteLength>0&&new Uint8Array(t)[0]===123&&new TextDecoder().decode(t).includes("404"))throw new ce(`Failed to load binary: ${e.url}`);return t};us.prototype._binarizeGltf=function(e){let n=new TextEncoder().encode(JSON.stringify(e)),i=new Uint8Array(n.byteLength+20),o={magic:new Uint8Array(i.buffer,0,4),version:new Uint32Array(i.buffer,4,1),length:new Uint32Array(i.buffer,8,1),chunkLength:new Uint32Array(i.buffer,12,1),chunkType:new Uint32Array(i.buffer,16,1),chunkData:new Uint8Array(i.buffer,20,n.byteLength)};return o.magic[0]=103,o.magic[1]=108,o.magic[2]=84,o.magic[3]=70,o.version[0]=2,o.length[0]=i.byteLength,o.chunkLength[0]=n.byteLength,o.chunkType[0]=1313821514,o.chunkData.set(n),i};var fmt=new U;function dmt(e,t){let n=e.tilingScheme,i=[],o={},r=e._lodCount,s=fe.fromRadians(t.west,t.north),a=fe.fromRadians(t.east,t.south),c=n.positionToTileXY(s,r),u=n.positionToTileXY(a,r);for(let d=c.x;d<=u.x;d++)for(let p=c.y;p<=u.y;p++){let g=U.fromElements(d,p,fmt),m=g.toString();if(!o.hasOwnProperty(m)){let x={x:g.x,y:g.y,level:r,tilingScheme:n,terrainProvider:e,positions:[]};o[m]=x,i.push(x)}}let f=[];for(let d=0;d<i.length;++d){let p=i[d],g=p.terrainProvider.requestTileGeometry(p.x,p.y,p.level);f.push(g)}return Promise.all(f).then(function(d){let p=[];for(let g=0;g<d.length;g++){let m={tilingScheme:n,x:i[g].x,y:i[g].y,level:i[g].level},x=d[g],b="Geographic";n._projection instanceof Ii&&(b="WebMercator");let T={projectionType:b,projection:n._projection,nativeExtent:n.tileXYToNativeRectangle(m.x,m.y,m.level),height:x._height,width:x._width,scale:x._structure.heightScale,offset:x._structure.heightOffset};if(x._encoding===th.LERC){let C=j0e.default.decode(x._buffer);T.buffer=C.pixels[0]}else T.buffer=x._buffer;p.push(T)}return p})}async function hmt(e){let t=e._geoidTiledTerrainProvider;if(l(t))try{let n=await dmt(t,e._extent);e._geoidDataList=n}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}us.prototype.loadGeoidData=async function(){return l(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=hmt(this),this._geoidDataPromise)};us.prototype._computeExtent=function(){let e;for(let t=0;t<this._layersExtent.length;t++){let n=this._layersExtent[t];l(e)?se.union(e,n,e):e=se.clone(n)}this._extent=e};us.prototype.getAttributeNames=function(){let e=[];for(let t=0;t<this._attributeStatistics.length;++t)e.push(...this._attributeStatistics[t].names);return e};us.prototype.getAttributeValues=function(e){for(let t=0;t<this._attributeStatistics.length;++t){let n=this._attributeStatistics[t]._getValues(e);if(l(n))return n}return[]};us.prototype.filterByAttributes=function(e){let t=[];for(let n=0;n<this._layers.length;n++){let i=this._layers[n].filterByAttributes(e);t.push(i)}return Promise.all(t)};var Fm=us;function Bm(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new hi({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new hi({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new ni({color:new H(0,0,0,0),owner:this}),this._clearCommand=new ni({color:new H(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(Bm.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});Bm.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var mmt={depthMask:!1,stencilTest:{enabled:!0,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.NEVER,reference:0,mask:zt.CLASSIFICATION_MASK},blending:fn.ALPHA_BLEND},pmt={depthMask:!1,stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.NEVER,reference:0,mask:zt.CLASSIFICATION_MASK},blending:fn.ALPHA_BLEND},_mt={depthMask:!0,depthTest:{enabled:!0},stencilTest:zt.setCesium3DTileBit(),stencilMask:zt.CESIUM_3D_TILE_MASK,blending:fn.ALPHA_BLEND},gmt=`uniform sampler2D colorTexture; -uniform sampler2D depthTexture; -uniform sampler2D classifiedTexture; -in vec2 v_textureCoordinates; -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - if (color.a == 0.0) - { - discard; - } - bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); -#ifdef UNCLASSIFIED - vec4 highlightColor = czm_invertClassificationColor; - if (isClassified) - { - discard; - } -#else - vec4 highlightColor = vec4(1.0); - if (!isClassified) - { - discard; - } -#endif - out_FragColor = color * highlightColor; - gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; -} -`,ymt=`uniform sampler2D colorTexture; -in vec2 v_textureCoordinates; -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - if (color.a == 0.0) - { - discard; - } -#ifdef UNCLASSIFIED - out_FragColor = color * czm_invertClassificationColor; -#else - out_FragColor = color; -#endif -} -`;Bm.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!l(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._previousFramebuffer)||(this._depthStencilTexture=new Mt({context:e,width:s,height:a,pixelFormat:ct.DEPTH_STENCIL,pixelDatatype:nt.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new Wu({context:e,width:s,height:a,format:sl.DEPTH24_STENCIL8,numSamples:t})))),!l(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let u,f;l(this._previousFramebuffer)?(u=n.getDepthStencilTexture(),f=n.getDepthStencilRenderbuffer()):(u=this._depthStencilTexture,f=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(u),l(f)&&this._fbo.setDepthStencilRenderbuffer(f),this._fbo.update(e,s,a,t),l(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(u),this._fboClassified.update(e,s,a))}if(l(this._rsUnclassified)||(this._rsUnclassified=ze.fromCache(mmt),this._rsClassified=ze.fromCache(pmt),this._rsDefault=ze.fromCache(_mt)),!l(this._unclassifiedCommand)||o||r){l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let u=l(this._previousFramebuffer)?ymt:gmt,f=new Ge({defines:["UNCLASSIFIED"],sources:[u]}),d=new Ge({sources:[u]});this._unclassifiedCommand=e.createViewportQuadCommand(f,{renderState:l(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(d,{renderState:l(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),l(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),l(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(Pu,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};Bm.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};Bm.prototype.clear=function(e,t){l(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};Bm.prototype.executeClassified=function(e,t){if(!l(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};Bm.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};Bm.prototype.isDestroyed=function(){return!1};Bm.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),ue(this)};var nP=Bm;function T4(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(T4.prototype,{total:{get:function(){return this._total}}});function Zy(e){let t=new Array(Qa.NUMBER_OF_JOB_TYPES);t[Qa.TEXTURE]=new T4(l(e)?e[Qa.TEXTURE]:10),t[Qa.PROGRAM]=new T4(l(e)?e[Qa.PROGRAM]:10),t[Qa.BUFFER]=new T4(l(e)?e[Qa.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}Zy.getTimestamp=Ti;Object.defineProperties(Zy.prototype,{totalBudget:{get:function(){return this._totalBudget}}});Zy.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};Zy.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};Zy.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,u;for(u=0;u<c&&(r=n[u],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++u);if(u===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=Zy.getTimestamp();e.execute();let a=Zy.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var C4=Zy;var q0e=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function A4(e,t){this.spatialNode=e,this.keyframe=t,this.state=q0e.UNLOADED,this.metadata=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}A4.priorityComparator=function(e,t){return e.priority-t.priority};A4.searchComparator=function(e,t){return e.keyframe-t.keyframe};A4.LoadState=q0e;var Ji=A4;function Y0e(){}Object.defineProperties(Y0e.prototype,{color:{get:de.throwInstantiationError},intensity:{get:de.throwInstantiationError}});var X0e=Y0e;var xmt=/\/$/,K0e=new vt('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function iS(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=ve.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=l(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();xmt.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;l(e.credit)?(c=e.credit,typeof c=="string"&&(c=new vt(c))):c=K0e,this._resource=i,this._imageryProvider=new uc({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(iS.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});iS.prototype.getTileCredits=function(e,t,n){};iS.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};iS.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};iS._defaultCredit=K0e;var $0e=iS;function Qy(e,t,n,i,o){i===Gt.UNSIGNED_SHORT&&(i=Gt.FLOAT32);let r=e.floatingPointTexture;if(i===Gt.FLOAT32&&!r)throw new ce("Floating point texture not supported");let s;i===Gt.FLOAT32||i===Gt.FLOAT64?s=nt.FLOAT:i===Gt.UINT8&&(s=nt.UNSIGNED_BYTE);let a;n===1?a=e.webgl2?ct.RED:ct.LUMINANCE:n===2?a=e.webgl2?ct.RG:ct.LUMINANCE_ALPHA:n===3?a=ct.RGB:n===4&&(a=ct.RGBA);let c=512*1024*1024,u=128*1024*1024;o=Math.min(y(o,u),c);let f=Ut.maximumTextureSize,d=Gt.getSizeInBytes(i),p=Math.floor(o/(n*d)),g=Math.min(f,P.previousPowerOfTwo(Math.floor(Math.sqrt(p)))),m=Math.ceil(Math.sqrt(t.x)),x=Math.ceil(t.z/m),b=m*t.x,T=x*t.y,C=Math.floor(g/b),A=Math.floor(g/T);if(C===0||A===0)throw new ce("Tileset is too large to fit into megatexture");this.channelCount=n,this.componentType=i,this.voxelCountPerTile=h.clone(t,new h),this.maximumTileCount=C*A,this.regionCountPerMegatexture=new U(C,A),this.voxelCountPerRegion=new U(b,T),this.sliceCountPerRegion=new U(m,x),this.voxelSizeUv=new U(1/g,1/g),this.sliceSizeUv=new U(t.x/g,t.y/g),this.regionSizeUv=new U(b/g,T/g),this.texture=new Mt({context:e,pixelFormat:a,pixelDatatype:s,flipY:!1,width:g,height:g,sampler:new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:en.LINEAR,magnificationFilter:fi.LINEAR})});let S=Gt.toComponentDatatype(i);this.tileVoxelDataTemp=X.createTypedArray(S,b*T*n),this.nodes=new Array(this.maximumTileCount);for(let w=0;w<this.maximumTileCount;w++)this.nodes[w]=new bmt(w);for(let w=0;w<this.maximumTileCount;w++){let D=this.nodes[w];D.previousNode=w>0?this.nodes[w-1]:void 0,D.nextNode=w<this.maximumTileCount-1?this.nodes[w+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function bmt(e){this.index=e,this.nextNode=void 0,this.previousNode=void 0}Qy.prototype.add=function(e){if(this.isFull())throw new de("Trying to add when there are no empty spots");let t=this.emptyList;this.emptyList=this.emptyList.nextNode,l(this.emptyList)&&(this.emptyList.previousNode=void 0),t.nextNode=this.occupiedList,l(t.nextNode)&&(t.nextNode.previousNode=t),this.occupiedList=t;let n=t.index;return this.writeDataToTexture(n,e),this.occupiedCount++,n};Qy.prototype.remove=function(e){if(e<0||e>=this.maximumTileCount)throw new de("Megatexture index out of bounds");let t=this.nodes[e];l(t.previousNode)&&(t.previousNode.nextNode=t.nextNode),l(t.nextNode)&&(t.nextNode.previousNode=t.previousNode),t.nextNode=this.emptyList,l(t.nextNode)&&(t.nextNode.previousNode=t),t.previousNode=void 0,this.emptyList=t,this.occupiedCount--};Qy.prototype.isFull=function(){return this.emptyList===void 0};Qy.getApproximateTextureMemoryByteLength=function(e,t,n,i){i===Gt.UNSIGNED_SHORT&&(i=Gt.FLOAT32);let o=Gt.getSizeInBytes(i),r=e*t.x*t.y*t.z,s=Math.ceil(Math.sqrt(t.x)),a=Math.ceil(t.z/s),c=s*t.x,u=a*t.y,f=P.previousPowerOfTwo(Math.floor(Math.sqrt(r)));for(;;){let p=Math.floor(f/c),g=Math.floor(f/u);if(p*g>=e)break;f*=2}return f*f*n*o};Qy.prototype.writeDataToTexture=function(e,t){let n=t.constructor===Uint16Array?new Float32Array(t):t,i=this.voxelCountPerTile,o=this.sliceCountPerRegion,r=this.voxelCountPerRegion,s=this.channelCount,a=this.tileVoxelDataTemp;for(let x=0;x<i.z;x++){let b=x%o.x*i.x,T=Math.floor(x/o.x)*i.y;for(let C=0;C<i.y;C++)for(let A=0;A<i.x;A++){let S=x*i.y*i.x+C*i.x+A,w=(T+C)*r.x+(b+A);for(let D=0;D<s;D++)a[w*s+D]=n[S*s+D]}}let c=this.regionCountPerMegatexture,u=r.x,f=r.y,d=e%c.x*r.x,p=Math.floor(e/c.x)*r.y,m={source:{arrayBufferView:a,width:u,height:f},xOffset:d,yOffset:p};this.texture.copyFrom(m)};Qy.prototype.isDestroyed=function(){return!1};Qy.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),ue(this)};var iP=Qy;var $c={};$c.decodeRawMetadataValue=function(e,t,n){switch(e){case Gt.INT8:return t.getInt8(n);case Gt.UINT8:return t.getUint8(n);case Gt.INT16:return t.getInt16(n);case Gt.UINT16:return t.getUint16(n);case Gt.INT32:return t.getInt32(n);case Gt.UINT32:return t.getUint32(n);case Gt.INT64:return t.getBigInt64(n);case Gt.UINT64:return t.getBigUint64(n);case Gt.FLOAT32:return t.getFloat32(n);case Gt.FLOAT64:return t.getFloat64(n)}throw new ce(`Invalid component type: ${e}`)};$c.decodeRawMetadataValueComponent=function(e,t,n){let i=e.componentType,o=$c.decodeRawMetadataValue(i,t,n);return e.normalized?Gt.normalize(o,i):o};$c.decodeRawMetadataValueElement=function(e,t,n){let i=e.componentType,o=Gt.getSizeInBytes(i),r=e.type,s=Et.getComponentCount(r),a=o*s;if(s>1){let f=Array(s);for(let d=0;d<s;d++){let p=n*a+d*o,g=$c.decodeRawMetadataValueComponent(e,t,p);f[d]=g}return f}let c=n*a;return $c.decodeRawMetadataValueComponent(e,t,c)};$c.decodeRawMetadataValues=function(e,t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=$c.decodeRawMetadataValueElement(e,n,s);r[s]=a}return r}return $c.decodeRawMetadataValueElement(e,n,0)};$c.convertToObjectType=function(e,t){if(!l(t)||e===Et.SCALAR||e===Et.STRING||e===Et.BOOLEAN||e===Et.ENUM)return t;let n=t.map(i=>Number(i));switch(e){case Et.VEC2:return U.unpack(n,0,new U);case Et.VEC3:return h.unpack(n,0,new h);case Et.VEC4:return oe.unpack(n,0,new h);case Et.MAT2:return Fi.unpack(n,0,new Fi);case Et.MAT3:return Z.unpack(n,0,new Z);case Et.MAT4:return F.unpack(n,0,new F)}return t};$c.decodeMetadataValues=function(e,t){let n=$c.decodeRawMetadataValues(e,t);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=n[s],c=$c.convertToObjectType(e.type,a);r[s]=c}return r}return $c.convertToObjectType(e.type,n)};var E4=Object.freeze($c);function Tmt(e,t,n,i){this.rightAscension=e,this.declination=t,this.rotation=n,this.rotationRate=i}var S4=Tmt;var uxe={},Cmt=32.184,Amt=2451545,Z0e=-.0529921,Q0e=-.1059842,J0e=13.0120009,exe=13.3407154,txe=.9856003,nxe=26.4057084,ixe=13.064993,oxe=.3287146,rxe=1.7484877,sxe=-.1589763,axe=.0036096,cxe=.1643573,lxe=12.9590088,YX=new K;uxe.ComputeMoon=function(e,t){l(e)||(e=K.now()),YX=K.addSeconds(e,Cmt,YX);let n=K.totalDays(YX)-Amt,i=n/Yn.DAYS_PER_JULIAN_CENTURY,o=(125.045+Z0e*n)*P.RADIANS_PER_DEGREE,r=(250.089+Q0e*n)*P.RADIANS_PER_DEGREE,s=(260.008+J0e*n)*P.RADIANS_PER_DEGREE,a=(176.625+exe*n)*P.RADIANS_PER_DEGREE,c=(357.529+txe*n)*P.RADIANS_PER_DEGREE,u=(311.589+nxe*n)*P.RADIANS_PER_DEGREE,f=(134.963+ixe*n)*P.RADIANS_PER_DEGREE,d=(276.617+oxe*n)*P.RADIANS_PER_DEGREE,p=(34.226+rxe*n)*P.RADIANS_PER_DEGREE,g=(15.134+sxe*n)*P.RADIANS_PER_DEGREE,m=(119.743+axe*n)*P.RADIANS_PER_DEGREE,x=(239.961+cxe*n)*P.RADIANS_PER_DEGREE,b=(25.053+lxe*n)*P.RADIANS_PER_DEGREE,T=Math.sin(o),C=Math.sin(r),A=Math.sin(s),S=Math.sin(a),w=Math.sin(c),D=Math.sin(u),O=Math.sin(f),R=Math.sin(d),M=Math.sin(p),L=Math.sin(g),_=Math.sin(m),E=Math.sin(x),v=Math.sin(b),I=Math.cos(o),N=Math.cos(r),B=Math.cos(s),z=Math.cos(a),V=Math.cos(c),G=Math.cos(u),k=Math.cos(f),Y=Math.cos(d),W=Math.cos(p),J=Math.cos(g),j=Math.cos(m),$=Math.cos(x),Q=Math.cos(b),he=(269.9949+.0031*i-3.8787*T-.1204*C+.07*A-.0172*S+.0072*D-.0052*L+.0043*v)*P.RADIANS_PER_DEGREE,ye=(66.5392+.013*i+1.5419*I+.0239*N-.0278*B+.0068*z-.0029*G+9e-4*k+8e-4*J-9e-4*Q)*P.RADIANS_PER_DEGREE,re=(38.3213+13.17635815*n-14e-13*n*n+3.561*T+.1208*C-.0642*A+.0158*S+.0252*w-.0066*D-.0047*O-.0046*R+.0028*M+.0052*L+.004*_+.0019*E-.0044*v)*P.RADIANS_PER_DEGREE,_e=(13.17635815-14e-13*(2*n)+3.561*I*Z0e+.1208*N*Q0e-.0642*B*J0e+.0158*z*exe+.0252*V*txe-.0066*G*nxe-.0047*k*ixe-.0046*Y*oxe+.0028*W*rxe+.0052*J*sxe+.004*j*axe+.0019*$*cxe-.0044*Q*lxe)/86400*P.RADIANS_PER_DEGREE;return l(t)||(t=new S4),t.rightAscension=he,t.declination=ye,t.rotation=re,t.rotationRate=_e,t};var w4=uxe;function fxe(e){(!l(e)||typeof e!="function")&&(e=w4.ComputeMoon),this._computeFunction=e}var Emt=new h,Smt=new h,wmt=new h;function vmt(e,t,n){let i=Emt;i.x=Math.cos(e+P.PI_OVER_TWO),i.y=Math.sin(e+P.PI_OVER_TWO),i.z=0;let o=Math.cos(t),r=wmt;r.x=o*Math.cos(e),r.y=o*Math.sin(e),r.z=Math.sin(t);let s=h.cross(r,i,Smt);return l(n)||(n=new Z),n[0]=i.x,n[1]=s.x,n[2]=r.x,n[3]=i.y,n[4]=s.y,n[5]=r.y,n[6]=i.z,n[7]=s.z,n[8]=r.z,n}var Dmt=new Z,Imt=new Ne;fxe.prototype.evaluate=function(e,t){l(e)||(e=K.now());let n=this._computeFunction(e),i=vmt(n.rightAscension,n.declination,t),o=P.zeroToTwoPi(n.rotation),r=Ne.fromAxisAngle(h.UNIT_Z,o,Imt),s=Z.fromQuaternion(Ne.conjugate(r,r),Dmt);return Z.multiply(s,i,i)};var v4=fxe;function oP(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;l(t)||(t=on("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,ee.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new _z({radii:this.ellipsoid.radii,material:ji.fromType(ji.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new v4}Object.defineProperties(oP.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var D4=new Z,Pmt=new Z,Rmt=new h,I4=[];oP.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;l(Bt.computeIcrfToFixedMatrix(n,D4))||Bt.computeTemeToPseudoFixedMatrix(n,D4);let i=this._axes.evaluate(n,Pmt);Z.transpose(i,i),Z.multiply(D4,i,i);let o=I0.computeMoonPositionInEarthInertialFrame(n,Rmt);Z.multiplyByVector(D4,o,o),F.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=I4,I4.length=0,t.update(e),e.commandList=r,I4.length===1?I4[0]:void 0};oP.prototype.isDestroyed=function(){return!1};oP.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),ue(this)};var P4=oP;function XX(e){}XX.prototype.isReady=function(){return!0};XX.prototype.shouldDiscardImage=function(e){return!1};var dxe=XX;var rP=`#ifdef MRT -layout (location = 0) out vec4 out_FragData_0; -layout (location = 1) out vec4 out_FragData_1; -#else -layout (location = 0) out vec4 out_FragColor; -#endif - -uniform vec4 u_bgColor; -uniform sampler2D u_depthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - if (texture(u_depthTexture, v_textureCoordinates).r < 1.0) - { -#ifdef MRT - out_FragData_0 = u_bgColor; - out_FragData_1 = vec4(u_bgColor.a); -#else - out_FragColor = u_bgColor; -#endif - return; - } - - discard; -} -`;var R4=`/** - * Compositing for Weighted Blended Order-Independent Transparency. See: - * - http://jcgt.org/published/0002/02/09/ - * - http://casual-effects.blogspot.com/2014/03/weighted-blended-order-independent.html - */ - -uniform sampler2D u_opaque; -uniform sampler2D u_accumulation; -uniform sampler2D u_revealage; - -in vec2 v_textureCoordinates; - -void main() -{ - vec4 opaque = texture(u_opaque, v_textureCoordinates); - vec4 accum = texture(u_accumulation, v_textureCoordinates); - float r = texture(u_revealage, v_textureCoordinates).r; - -#ifdef MRT - vec4 transparent = vec4(accum.rgb / clamp(r, 1e-4, 5e4), accum.a); -#else - vec4 transparent = vec4(accum.rgb / clamp(accum.a, 1e-4, 5e4), r); -#endif - - out_FragColor = (1.0 - transparent.a) * transparent + transparent.a * opaque; - - if (opaque != czm_backgroundColor) - { - out_FragColor.a = 1.0; - } -} -`;function b_(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new hi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new hi({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new hi({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new hi({createColorAttachments:!1}),this._opaqueClearCommand=new ni({color:new H(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new ni({color:new H(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new ni({color:new H(0,0,0,0),owner:this}),this._alphaClearCommand=new ni({color:new H(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new qe,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function hxe(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function KX(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function mxe(e){hxe(e),KX(e)}function Omt(e,t,n,i){hxe(e),e._accumulationTexture=new Mt({context:t,width:n,height:i,pixelFormat:ct.RGBA,pixelDatatype:nt.FLOAT}),e._revealageTexture=new Mt({context:t,pixelFormat:ct.RGBA,pixelDatatype:nt.FLOAT,width:n,height:i,flipY:!1})}function Mmt(e,t){KX(e);let n=te.FRAMEBUFFER_COMPLETE,i=!0,{width:o,height:r}=e._accumulationTexture;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&(KX(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,u=e._adjustAlphaFBO.status===n;(!s||!a||!c||!u)&&(mxe(e),e._translucentMultipassSupport=!1,i=!1)}return i}b_.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let{width:r,height:s}=this._opaqueTexture,a=this._accumulationTexture,c=!l(a)||a.width!==r||a.height!==s||i!==this._useHDR,u=this._numSamples!==o;if((c||u)&&(this._numSamples=o,Omt(this,e,r,s)),(!l(this._translucentFBO.framebuffer)||c||u)&&!Mmt(this,e))return;this._useHDR=i;let f=this,d,p;l(this._compositeCommand)||(d=new Ge({sources:[R4]}),this._translucentMRTSupport&&d.defines.push("MRT"),p={u_opaque:function(){return f._opaqueTexture},u_accumulation:function(){return f._accumulationTexture},u_revealage:function(){return f._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})),l(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(d=new Ge({defines:["MRT"],sources:[rP]}),p={u_bgColor:function(){return f._translucentMRTClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(d=new Ge({sources:[rP]}),p={u_bgColor:function(){return f._translucentMultipassClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}),p={u_bgColor:function(){return f._alphaClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!qe.equals(this._viewport,t.viewport),m=g!==this._useScissorTest;this._useScissorTest=g,qe.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=qe.clone(t.viewport,this._scissorRectangle),m=!0),(!l(this._rs)||!qe.equals(this._viewport,this._rs.viewport)||m)&&(this._rs=ze.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),l(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var Lmt={enabled:!0,color:new H(0,0,0,0),equationRgb:Xa.ADD,equationAlpha:Xa.ADD,functionSourceRgb:Ao.ONE,functionDestinationRgb:Ao.ONE,functionSourceAlpha:Ao.ZERO,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA},Nmt={enabled:!0,color:new H(0,0,0,0),equationRgb:Xa.ADD,equationAlpha:Xa.ADD,functionSourceRgb:Ao.ONE,functionDestinationRgb:Ao.ONE,functionSourceAlpha:Ao.ONE,functionDestinationAlpha:Ao.ONE},Fmt={enabled:!0,color:new H(0,0,0,0),equationRgb:Xa.ADD,equationAlpha:Xa.ADD,functionSourceRgb:Ao.ZERO,functionDestinationRgb:Ao.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:Ao.ZERO,functionDestinationAlpha:Ao.ONE_MINUS_SOURCE_ALPHA};function $X(e,t,n,i){let o=n[i.id];if(!l(o)){let r=ze.getState(i);r.depthMask=!1,r.blending=t,o=ze.fromCache(r),n[i.id]=o}return o}function Bmt(e,t,n){return $X(t,Lmt,e._translucentRenderStateCache,n)}function kmt(e,t,n){return $X(t,Nmt,e._translucentRenderStateCache,n)}function Vmt(e,t,n){return $X(t,Fmt,e._alphaRenderStateCache,n)}var Umt=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; - float ai = czm_out_FragColor.a; - float wzi = czm_alphaWeight(ai); - out_FragData_0 = vec4(Ci * wzi, ai); - out_FragData_1 = vec4(ai * wzi); -`,zmt=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; - float ai = czm_out_FragColor.a; - float wzi = czm_alphaWeight(ai); - out_FragColor = vec4(Ci, ai) * wzi; -`,Hmt=` float ai = czm_out_FragColor.a; - out_FragColor = vec4(ai); -`;function ZX(e,t,n,i){let{shaderCache:o}=e,r=o.getDerivedShaderProgram(t,n);if(l(r))return r;let s=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map(function(f){return Ge.replaceMain(f,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,`vec4 czm_out_FragColor; -bool czm_discard = false; -`);let c=[...i.matchAll(/out_FragData_(\d+)/g)],u="";for(let f=0;f<c.length;f++){let d=c[f];u=`layout (location = ${d[1]}) out vec4 ${d[0]}; -${u}`}return a.sources.push(u),a.sources.push(`void main() -{ - czm_translucent_main(); - if (czm_discard) - { - discard; - } -${i}} -`),o.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:s})}function Gmt(e,t){return ZX(e,t,"translucentMRT",Umt)}function Wmt(e,t){return ZX(e,t,"translucentMultipass",zmt)}function jmt(e,t){return ZX(e,t,"alphaMultipass",Hmt)}b_.prototype.createDerivedCommands=function(e,t,n){if(l(n)||(n={}),this._translucentMRTSupport){let a,c;return l(n.translucentCommand)&&(a=n.translucentCommand.shaderProgram,c=n.translucentCommand.renderState),n.translucentCommand=et.shallowClone(e,n.translucentCommand),!l(a)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=Gmt(t,e.shaderProgram),n.translucentCommand.renderState=Bmt(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=a,n.translucentCommand.renderState=c),n}let i,o,r,s;return l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=et.shallowClone(e,n.translucentCommand),n.alphaCommand=et.shallowClone(e,n.alphaCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=Wmt(t,e.shaderProgram),n.translucentCommand.renderState=kmt(this,t,e.renderState),n.alphaCommand.shaderProgram=jmt(t,e.shaderProgram),n.alphaCommand.renderState=Vmt(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s),n};function qmt(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=e._alphaFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.alphaCommand:m.derivedCommands.oit.alphaCommand;n(x,t,i,g)}i.framebuffer=d}function Ymt(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=d}b_.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){Ymt(this,e,t,n,i,o);return}qmt(this,e,t,n,i,o)};b_.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};b_.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,H.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};b_.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};b_.prototype.isDestroyed=function(){return!1};b_.prototype.destroy=function(){return mxe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),ue(this)};var O4=b_;var Xmt=new vt("MapQuest, Open Street Map and contributors, CC-BY-SA");function M4(e){e=y(e,y.EMPTY_OBJECT);let t=ve.createIfNeeded(y(e.url,"https://tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}${e.retinaTiles?"@2x":""}.${y(e.fileExtension,"png")}`;let n=new cs({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(se.southwest(a),r),u=n.positionToTileXY(se.northeast(a),r),f=(Math.abs(u.x-c.x)+1)*(Math.abs(u.y-c.y)+1),d=y(e.credit,Xmt);typeof d=="string"&&(d=new vt(d)),uc.call(this,{url:t,credit:d,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}l(Object.create)&&(M4.prototype=Object.create(uc.prototype),M4.prototype.constructor=M4);var Jy=M4;var Kmt=new U(1,1);function QX(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=H.clone(y(e.startColor,H.WHITE)),this.endColor=H.clone(y(e.endColor,H.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=U.clone(y(e.imageSize,Kmt)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(QX.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var pxe=new h;QX.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,pxe),h.add(this.position,pxe,this.position),l(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var sP=QX;function _xe(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(_xe.prototype,{complete:{get:function(){return this._complete}}});var gxe=_xe;function yxe(e){}yxe.prototype.emit=function(e){de.throwInstantiationError()};var xxe=yxe;var bxe=new U(1,1);function aP(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;l(t)||(t=new LU(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._emitterModelMatrix=F.clone(y(e.emitterModelMatrix,F.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new F,this._startColor=H.clone(y(e.color,y(e.startColor,H.WHITE))),this._endColor=H.clone(y(e.color,y(e.endColor,H.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=U.clone(y(e.imageSize,y(e.minimumImageSize,bxe))),this._maximumImageSize=U.clone(y(e.imageSize,y(e.maximumImageSize,bxe))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new me,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(aP.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._modelMatrix,e),F.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._emitterModelMatrix,e),F.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){H.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){H.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function $mt(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(l(o)){let d=o.length;for(let p=0;p<d;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,u=e._particlePool,f=Math.max(a-c.length-u.length,0);for(let d=0;d<f;++d){let p=new sP;p._billboard=r.add({image:s,show:!1}),u.push(p)}e._particleEstimate=a}function Zmt(e){let t=e._particlePool.pop();return l(t)||(t=new sP),t}function Qmt(e,t){e._particlePool.push(t)}function Jmt(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let u=n[c];i.remove(u._billboard)}n.length=a}function ept(e){l(e._billboard)&&(e._billboard.show=!1)}function Txe(e,t){let n=t._billboard;l(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=P.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=P.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=P.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=P.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new H(i,o,r,s),n.scale=P.lerp(t.startScale,t.endScale,t.normalizedAge)}function tpt(e,t){t.startColor=H.clone(e._startColor,t.startColor),t.endColor=H.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=P.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=P.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=P.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=P.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=P.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function npt(e,t){if(e._isComplete)return 0;t=P.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),l(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;l(s)&&!s._complete&&a>s.time&&(i+=P.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var L4=new h;aP.prototype.update=function(e){if(!this.show)return;l(this._billboardCollection)||(this._billboardCollection=new hf),this._updateParticlePool&&($mt(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=K.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?Txe(this,s):(ept(s),Qmt(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=npt(this,t);if(c>0&&l(i)){this._matrixDirty&&(this._combinedMatrix=F.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let u=this._combinedMatrix;for(r=0;r<c;r++)s=Zmt(this),this._emitter.emit(s),h.add(s.position,s.velocity,L4),F.multiplyByPoint(u,L4,L4),s.position=F.multiplyByPoint(u,s.position,s.position),h.subtract(L4,s.position,s.velocity),h.normalize(s.velocity,s.velocity),tpt(this,s),Txe(this,s)}if(this._billboardCollection.update(e),this._previousTime=K.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=P.mod(this._currentTime,this._lifetime),this.bursts){let u=this.bursts.length;for(r=0;r<u;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&Jmt(this)};aP.prototype.isDestroyed=function(){return!1};aP.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),ue(this)};var Cxe=aP;function N4(e){e=y(e,y.EMPTY_OBJECT);let t=Mn(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=Ti(),this._lastMsSampleTime=Ti(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(N4.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});N4.prototype.update=function(e){let t=Ti(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};N4.prototype.destroy=function(){return ue(this)};var e0=N4;function Ab(){this._framebuffer=new hi,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(Ab.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function ipt(e,t,n){let{width:i,height:o}=n;e._framebuffer.update(t,i,o)}function opt(e,t,n){l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(`uniform highp sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - vec4 globeDepthPacked = texture(czm_globeDepthTexture, v_textureCoordinates); - float globeDepth = czm_unpackDepth(globeDepthPacked); - float depth = texture(colorTexture, v_textureCoordinates).r; - out_FragColor = czm_branchFreeTernary(globeDepth <= 0.0 || globeDepth >= 1.0 || depth < globeDepth && depth > 0.0 && depth < 1.0, - czm_packDepth(depth), globeDepthPacked); -} -`,{renderState:ze.fromCache(),uniformMap:{colorTexture:function(){return e._textureToCopy}},owner:e})),e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}Ab.prototype.update=function(e,t){ipt(this,e,t),opt(this,e,t)};var rpt=new oe,spt=new oe(1,1/255,1/65025,1/16581375);Ab.prototype.getDepth=function(e,t,n){if(!l(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=oe.unpack(i,0,rpt);return oe.divideByScalar(o,255,o),oe.dot(o,spt)};Ab.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};Ab.prototype.isDestroyed=function(){return!1};Ab.prototype.destroy=function(){return this._framebuffer.destroy(),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=l(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),ue(this)};var F4=Ab;function cP(){this._framebuffer=new hi({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(cP.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function apt(e){e._framebuffer.destroy()}function cpt(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new Tc(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new qe},o.viewport=new qe,e._passState=o}cP.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&cpt(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};cP.prototype.isDestroyed=function(){return!1};cP.prototype.destroy=function(){return apt(this),ue(this)};var B4=cP;function lpt(e,t,n,i){this.schemaId=e,this.className=t,this.propertyName=n,this.classProperty=i}var k4=lpt;function oS(e){let t=new Tc(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new qe},t.viewport=new qe,this._context=e,this._fb=new hi({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}oS.prototype.begin=function(e,t){let n=this._context,{width:i,height:o}=t;return qe.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var lP=new H;oS.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),u=0,f=0,d=0,p=-1;for(let g=0;g<s;++g){if(-a<=u&&u<=a&&-c<=f&&f<=c){let m=4*((c-f)*t+u+a);lP.red=H.byteToFloat(o[m]),lP.green=H.byteToFloat(o[m+1]),lP.blue=H.byteToFloat(o[m+2]),lP.alpha=H.byteToFloat(o[m+3]);let x=i.getObjectByPickColor(lP);if(l(x))return x}if(u===f||u<0&&-u===f||u>0&&u===1-f){let m=d;d=-p,p=m}u+=d,f+=p}};oS.prototype.readCenterPixel=function(e){let t=y(e.width,1),n=y(e.height,1),o=this._context.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.floor(t*.5),a=4*(Math.floor(n*.5)*t+r);return o.slice(a,a+4)};oS.prototype.isDestroyed=function(){return!1};oS.prototype.destroy=function(){return this._fb.destroy(),ue(this)};var V4=oS;function T_(){this._numSamples=1,this._colorFramebuffer=new hi({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new hi({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new H(0,0,0,0),this._clearCommand=new ni({color:new H(0,0,0,0),depth:1,owner:this})}function upt(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(T_.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});T_.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?nt.HALF_FLOAT:nt.FLOAT:nt.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};T_.prototype.clear=function(e,t,n){H.clone(n,this._clearCommand.color),H.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};T_.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};T_.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};T_.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};T_.prototype.isDestroyed=function(){return!1};T_.prototype.destroy=function(){return upt(this),ue(this)};var rS=T_;function Eb(){}Eb.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};Eb.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=Ge.findPositionVarying(e),s=l(r);if(t&&!s){let a=o.length;for(let u=0;u<a;++u)o[u]=Ge.replaceMain(o[u],"czm_shadow_cast_main");o.push(`out vec3 v_positionEC; -void main() -{ - czm_shadow_cast_main(); - v_positionEC = (czm_inverseProjection * gl_Position).xyz; -}`)}return new Ge({defines:i,sources:o})};Eb.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=Ge.findPositionVarying(e),a=l(s);a||(s="v_positionEC");let c=r.length;for(let f=0;f<c;++f)r[f]=Ge.replaceMain(r[f],"czm_shadow_cast_main");let u="";return t&&(a||(u+=`in vec3 v_positionEC; -`),u+=`uniform vec4 shadowMap_lightPositionEC; -`),i?u+=`void main() -{ -`:u+=`void main() -{ - czm_shadow_cast_main(); - if (out_FragColor.a == 0.0) - { - discard; - } -`,t?u+=` float distance = length(${s}); - if (distance >= shadowMap_lightPositionEC.w) - { - discard; - } - distance /= shadowMap_lightPositionEC.w; // radius - out_FragColor = czm_packDepth(distance); -`:n?u+=` out_FragColor = vec4(1.0); -`:u+=` out_FragColor = czm_packDepth(gl_FragCoord.z); -`,u+=`} -`,r.push(u),new Ge({defines:o,sources:r})};Eb.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,u=e.debugCascadeColors,f=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${u}${f}${t}${n}${i}`};Eb.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new Ge({defines:i,sources:o})};Eb.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=Ge.findNormalVarying(e),s=!i&&l(r)||i&&o,a=Ge.findPositionVarying(e),c=l(a),u=t._usesDepthTexture,f=t._polygonOffsetSupported,d=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,m=t.debugCascadeColors,x=t.softShadows,b=d?t._pointBias:i?t._terrainBias:t._primitiveBias,T=e.defines.slice(0),C=e.sources.slice(0),A=C.length;for(let D=0;D<A;++D)C[D]=Ge.replaceMain(C[D],"czm_shadow_receive_main");d?T.push("USE_CUBE_MAP_SHADOW"):u&&T.push("USE_SHADOW_DEPTH_TEXTURE"),x&&!d&&T.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?T.push("ENABLE_VERTEX_LIGHTING"):T.push("ENABLE_DAYNIGHT_SHADING")),n&&b.normalShading&&s&&(T.push("USE_NORMAL_SHADING"),b.normalShadingSmooth>0&&T.push("USE_NORMAL_SHADING_SMOOTH"));let S="";d?S+=`uniform samplerCube shadowMap_textureCube; -`:S+=`uniform sampler2D shadowMap_texture; -`;let w;return c?w=` return vec4(${a}, 1.0); -`:w=`#ifndef LOG_DEPTH - return czm_windowToEyeCoordinates(gl_FragCoord); -#else - return vec4(v_logPositionEC, 1.0); -#endif -`,S+=`uniform mat4 shadowMap_matrix; -uniform vec3 shadowMap_lightDirectionEC; -uniform vec4 shadowMap_lightPositionEC; -uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; -uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; -#ifdef LOG_DEPTH -in vec3 v_logPositionEC; -#endif -vec4 getPositionEC() -{ -${w}} -vec3 getNormalEC() -{ -${s?` return normalize(${r}); -`:` return vec3(1.0); -`}} -void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) -{ -${b.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; - float normalOffsetScale = 1.0 - nDotL; - vec3 offset = normalOffset * normalOffsetScale * normalEC; - positionEC.xyz += offset; -`:""}} -`,S+=`void main() -{ - czm_shadow_receive_main(); - vec4 positionEC = getPositionEC(); - vec3 normalEC = getNormalEC(); - float depth = -positionEC.z; -`,S+=` czm_shadowParameters shadowParameters; - shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; - shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; - shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; - shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; -`,i?S+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); -`:f||(S+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); -`),d?S+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; - float distance = length(directionEC); - directionEC = normalize(directionEC); - float radius = shadowMap_lightPositionEC.w; - // Stop early if the fragment is beyond the point light radius - if (distance > radius) - { - return; - } - vec3 directionWC = czm_inverseViewRotation * directionEC; - shadowParameters.depth = distance / radius; - shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); - shadowParameters.texCoords = directionWC; - float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); -`:p?S+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); - float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - vec4 shadowPosition = shadowMap_matrix * positionEC; - // Spot light uses a perspective projection, so perform the perspective divide - shadowPosition /= shadowPosition.w; - // Stop early if the fragment is not in the shadow bounds - if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) - { - return; - } - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); -`:g?S+=` float maxDepth = shadowMap_cascadeSplits[1].w; - // Stop early if the eye depth exceeds the last cascade - if (depth > maxDepth) - { - return; - } - // Get the cascade based on the eye-space depth - vec4 weights = czm_cascadeWeights(depth); - // Apply normal offset - float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - // Transform position into the cascade - vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; - // Get visibility - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); - // Fade out shadows that are far away - float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; - float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); - visibility = mix(visibility, 1.0, fade); -${m?` // Draw cascade colors for debugging - out_FragColor *= czm_cascadeColor(weights); -`:""}`:S+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); - applyNormalOffset(positionEC, normalEC, nDotL); - vec4 shadowPosition = shadowMap_matrix * positionEC; - // Stop early if the fragment is not in the shadow bounds - if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) - { - return; - } - shadowParameters.texCoords = shadowPosition.xy; - shadowParameters.depth = shadowPosition.z; - shadowParameters.nDotL = nDotL; - float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); -`,S+=` out_FragColor.rgb *= visibility; -} -`,C.push(S),new Ge({defines:T,sources:C})};var C_=Eb;function km(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(Wt.isInternetExplorer()||Wt.isEdge()||(Wt.isChrome()||Wt.isFirefox())&&Wt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n;let i=y(e.depthBiasStep,1);this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4*i},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*i},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4*i},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new F,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new oe,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new U4,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new ae,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new U,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Br:l(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new oe,new oe],this._cascadeMatrices=[new F,new F,new F,new F],this._cascadeDistances=new oe;let o;this._isPointLight?o=6:this._cascadesEnabled?o=this._numberOfCascades:o=1,this._passes=new Array(o);for(let r=0;r<o;++r)this._passes[r]=new fpt(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,eK(this),this._clearCommand=new ni({depth:1,color:new H}),this._clearPassState=new Tc(t),this._size=y(e.size,2048),this.size=this._size}km.MAXIMUM_DISTANCE=2e4;function fpt(e){this.camera=new U4,this.passState=new Tc(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function JX(e,t){return ze.fromCache({cull:{enabled:!0,face:yi.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function eK(e){let t=!e._usesDepthTexture;e._primitiveRenderState=JX(t,e._primitiveBias),e._terrainRenderState=JX(t,e._terrainBias),e._pointRenderState=JX(t,e._pointBias)}km.prototype.debugCreateRenderStates=function(){eK(this)};Object.defineProperties(km.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){gpt(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function tK(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;l(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function dpt(e,t){let n=new Wu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:sl.DEPTH_COMPONENT16}),i=new Mt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,sampler:tn.NEAREST}),o=new Ca({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function hpt(e,t){let n=new Mt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ct.DEPTH_STENCIL,pixelDatatype:nt.UNSIGNED_INT_24_8,sampler:tn.NEAREST}),i=new Ca({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function mpt(e,t){let n=new Wu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:sl.DEPTH_COMPONENT16}),i=new qa({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,sampler:tn.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new Ca({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function Sxe(e,t){e._isPointLight?mpt(e,t):e._usesDepthTexture?hpt(e,t):dpt(e,t)}function ppt(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==te.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,eK(e),tK(e),Sxe(e,t))}function _pt(e,t){(!l(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(tK(e),Sxe(e,t),ppt(e,t),wxe(e,t))}function wxe(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function gpt(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=Ut.maximumCubeMapSize>=t?t:Ut.maximumCubeMapSize,o.x=t,o.y=t;let r=new qe(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=Ut.maximumTextureSize>=t?t:Ut.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new qe(0,0,t,t)):i===4&&(t=Ut.maximumTextureSize>=t*2?t:Ut.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new qe(0,0,t,t),n[1].passState.viewport=new qe(t,0,t,t),n[2].passState.viewport=new qe(0,t,t,t),n[3].passState.viewport=new qe(t,t,t,t));e._clearPassState.viewport=new qe(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,u=a.y/o.y,f=a.width/o.x,d=a.height/o.y;s.textureOffsets=new F(f,0,0,c,0,d,0,u,0,0,1,0,0,0,0,1)}}var ypt=new qe;function xpt(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube; -in vec2 v_textureCoordinates; -void main() -{ - vec2 uv = v_textureCoordinates; - vec3 dir; - - if (uv.y < 0.5) - { - if (uv.x < 0.333) - { - dir.x = -1.0; - dir.y = uv.x * 6.0 - 1.0; - dir.z = uv.y * 4.0 - 1.0; - } - else if (uv.x < 0.666) - { - dir.y = -1.0; - dir.x = uv.x * 6.0 - 3.0; - dir.z = uv.y * 4.0 - 1.0; - } - else - { - dir.z = -1.0; - dir.x = uv.x * 6.0 - 5.0; - dir.y = uv.y * 4.0 - 1.0; - } - } - else - { - if (uv.x < 0.333) - { - dir.x = 1.0; - dir.y = uv.x * 6.0 - 1.0; - dir.z = uv.y * 4.0 - 3.0; - } - else if (uv.x < 0.666) - { - dir.y = 1.0; - dir.x = uv.x * 6.0 - 3.0; - dir.z = uv.y * 4.0 - 3.0; - } - else - { - dir.z = 1.0; - dir.x = uv.x * 6.0 - 5.0; - dir.y = uv.y * 4.0 - 3.0; - } - } - - float shadow = czm_unpackDepth(czm_textureCube(shadowMap_textureCube, dir)); - out_FragColor = vec4(vec3(shadow), 1.0); -} -`:n=`uniform sampler2D shadowMap_texture; -in vec2 v_textureCoordinates; -void main() -{ -${e._usesDepthTexture?` float shadow = texture(shadowMap_texture, v_textureCoordinates).r; -`:` float shadow = czm_unpackDepth(texture(shadowMap_texture, v_textureCoordinates)); -`} out_FragColor = vec4(vec3(shadow), 1.0); -} -`;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=Se.OVERLAY,i}function bpt(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=ypt;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;l(a)||(a=xpt(e,n),e._debugShadowViewCommand=a),(!l(a.renderState)||!qe.equals(a.renderState.viewport,s))&&(a.renderState=ze.fromCache({viewport:qe.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var Vm=new Array(8);Vm[0]=new oe(-1,-1,-1,1);Vm[1]=new oe(1,-1,-1,1);Vm[2]=new oe(1,1,-1,1);Vm[3]=new oe(-1,1,-1,1);Vm[4]=new oe(-1,-1,1,1);Vm[5]=new oe(1,-1,1,1);Vm[6]=new oe(1,1,1,1);Vm[7]=new oe(-1,1,1,1);var t0=new F,nK=new Array(8);for(let e=0;e<8;++e)nK[e]=new oe;function Tpt(e,t){let n=new wt({geometry:new wh({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:jt.fromColor(t)}}),i=new wt({geometry:new jg({radius:.5}),attributes:{color:jt.fromColor(t)}});return new Rn({geometryInstances:[n,i],appearance:new un({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var Cpt=[H.RED,H.GREEN,H.BLUE,H.MAGENTA],Apt=new h;function Ept(e,t){bpt(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new p_({camera:e._sceneCamera,color:H.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new p_({camera:e._shadowMapCamera,color:H.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new p_({camera:e._passes[i].camera,color:Cpt[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!l(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Ne.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,Apt),a=F.fromTranslationQuaternionRotationScale(i,o,s,t0);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=Tpt(a,H.YELLOW)}e._debugLightFrustum.update(t)}else(!l(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new p_({camera:e._shadowMapCamera,color:H.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function U4(){this.viewMatrix=new F,this.inverseViewMatrix=new F,this.frustum=void 0,this.positionCartographic=new fe,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new F}U4.prototype.clone=function(e){F.clone(e.viewMatrix,this.viewMatrix),F.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),fe.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var Spt=new F(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);U4.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return F.multiply(t,e,this.viewProjectionMatrix),F.multiply(Spt,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var wpt=new Array(5),vpt=new Si,Dpt=new Array(4),vxe=new h,Dxe=new h;function Ipt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,u=r/o,f=.9,d=!1;t.shadowState.closestObjectSize<200&&(d=!0,f=.9);let p=Dpt,g=wpt;for(g[0]=o,g[s]=r,a=0;a<s;++a){let L=(a+1)/s,_=o*Math.pow(u,L),E=o+c*L,v=P.lerp(E,_,f);g[a+1]=v,p[a]=v-g[a]}if(d){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let L=g[0];for(a=0;a<s-1;++a)L+=p[a],g[a+1]=L}oe.unpack(g,0,e._cascadeSplits[0]),oe.unpack(g,1,e._cascadeSplits[1]),oe.unpack(p,0,e._cascadeDistances);let m=n.frustum,x=m.left,b=m.right,T=m.bottom,C=m.top,A=m.near,S=m.far,w=n.positionWC,D=n.directionWC,O=n.upWC,R=i.frustum.clone(vpt),M=n.getViewProjection();for(a=0;a<s;++a){R.near=g[a],R.far=g[a+1];let L=F.multiply(R.projectionMatrix,i.viewMatrix,t0),_=F.inverse(L,t0),E=F.multiply(M,_,t0),v=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,vxe),I=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Dxe);for(let G=0;G<8;++G){let k=oe.clone(Vm[G],nK[G]);F.multiplyByVector(E,k,k),h.divideByScalar(k,k.w,k),h.minimumByComponent(k,v,v),h.maximumByComponent(k,I,I)}v.x=Math.max(v.x,0),v.y=Math.max(v.y,0),v.z=0,I.x=Math.min(I.x,1),I.y=Math.min(I.y,1),I.z=Math.min(I.z,1);let N=e._passes[a],B=N.camera;B.clone(n);let z=B.frustum;z.left=x+v.x*(b-x),z.right=x+I.x*(b-x),z.bottom=T+v.y*(C-T),z.top=T+I.y*(C-T),z.near=A+v.z*(S-A),z.far=A+I.z*(S-A),N.cullingVolume=B.frustum.computeCullingVolume(w,D,O);let V=e._cascadeMatrices[a];F.multiply(B.getViewProjection(),i.inverseViewMatrix,V),F.multiply(N.textureOffsets,V,V)}}var Ppt=new F,Rpt=new h,Opt=new h,Axe=new h;function Mpt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=F.multiply(i.frustum.projectionMatrix,i.viewMatrix,t0),r=F.inverse(o,t0),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,P.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,Rpt);a=h.cross(c,s,Opt),h.normalize(a,a),h.normalize(c,c);let u=h.fromElements(0,0,0,Axe),f=F.computeView(u,s,a,c,Ppt),d=F.multiply(f,r,t0),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,vxe),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Dxe);for(let S=0;S<8;++S){let w=oe.clone(Vm[S],nK[S]);F.multiplyByVector(d,w,w),h.divideByScalar(w,w.w,w),h.minimumByComponent(w,p,p),h.maximumByComponent(w,g,g)}g.z+=1e3,p.z-=10;let m=Axe;m.x=-(.5*(p.x+g.x)),m.y=-(.5*(p.y+g.y)),m.z=-g.z;let x=F.fromTranslation(m,t0);f=F.multiply(x,f,f);let b=.5*(g.x-p.x),T=.5*(g.y-p.y),C=g.z-p.z,A=n.frustum;A.left=-b,A.right=b,A.bottom=-T,A.top=T,A.near=.01,A.far=C,F.clone(f,n.viewMatrix),F.inverse(f,n.inverseViewMatrix),F.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var Lpt=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],Npt=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],Fpt=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function Bpt(e,t){let n=new Si;n.fov=P.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=Lpt[i],o.upWC=Npt[i],o.rightWC=Fpt[i],F.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),F.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var kpt=new h,Vpt=new h,Ixe=new ae,Exe=Ixe.center;function Upt(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=Ixe;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,kpt),s=h.negate(i.directionWC,Vpt),a=h.dot(r,s);if(e.fadingEnabled){let c=P.clamp(a/.1,0,1);e._darkness=P.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===qt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ae.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,Exe),Exe);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===qt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ae.clone(o,e._boundingSphere)}}function zpt(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;F.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),F.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=oo.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,Upt(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}km.prototype.update=function(e){if(zpt(this,e),this._needsUpdate)if(_pt(this,e.context),this._isPointLight&&Bpt(this,e),this._cascadesEnabled&&(Mpt(this,e),this._numberOfCascades>1&&Ipt(this,e)),this._isPointLight)this._shadowMapCullingVolume=ys.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;F.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&Ept(this,e)};km.prototype.updatePass=function(e,t){wxe(this,e,t)};var Hpt=new U;function Pxe(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=Hpt;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,oe.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return oe.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new oe,combinedUniforms2:new oe};return xt(t,o,!1)}function Gpt(e,t,n,i,o,r){let s,a,c;if(l(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=et.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!l(s)||o!==n.shaderProgram.id||t){let u=n.shaderProgram,f=n.pass===Se.GLOBE,d=n.pass!==Se.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,m=C_.getShadowCastShaderKeyword(p,f,g,d);if(s=i.shaderCache.getDerivedShaderProgram(u,m),!l(s)){let b=u.vertexShaderSource,T=u.fragmentShaderSource,C=C_.createShadowCastVertexShader(b,p,f),A=C_.createShadowCastFragmentShader(T,p,g,d);s=i.shaderCache.createDerivedShaderProgram(u,m,{vertexShaderSource:C,fragmentShaderSource:A,attributeLocations:u._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:f&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=We(a,!1),a.cull=We(a.cull,!1),a.cull.enabled=!1,a=ze.fromCache(a)),c=Pxe(e,n.uniformMap,f)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}km.createReceiveDerivedCommand=function(e,t,n,i,o){l(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,u=t.pass===Se.GLOBE,f=!1;if(u&&(f=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let d,p;l(o.receiveCommand)&&(d=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=et.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,m=o.receiveShaderProgramId!==t.shaderProgram.id;if(!l(d)||m||n||g){let x=C_.getShadowReceiveShaderKeyword(e[0],t.castShadows,u,f);if(d=i.shaderCache.getDerivedShaderProgram(s,x),!l(d)){let b=C_.createShadowReceiveVertexShader(a,u,f),T=C_.createShadowReceiveFragmentShader(c,e[0],t.castShadows,u,f);d=i.shaderCache.createDerivedShaderProgram(s,x,{vertexShaderSource:b,fragmentShaderSource:T,attributeLocations:s._attributeLocations})}p=Pxe(e[0],t.uniformMap,u)}o.receiveCommand.shaderProgram=d,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};km.createCastDerivedCommand=function(e,t,n,i,o){if(l(o)||(o={}),t.castShadows){let r=o.castCommands;l(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=Gpt(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};km.prototype.isDestroyed=function(){return!1};km.prototype.destroy=function(){tK(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return ue(this)};var n0=km;var z4=`uniform sampler2D u_opaqueDepthTexture; -uniform sampler2D u_translucentDepthTexture; - -in vec2 v_textureCoordinates; - -void main() -{ - float opaqueDepth = texture(u_opaqueDepthTexture, v_textureCoordinates).r; - float translucentDepth = texture(u_translucentDepthTexture, v_textureCoordinates).r; - translucentDepth = czm_branchFreeTernary(translucentDepth > opaqueDepth, 1.0, translucentDepth); - out_FragColor = czm_packDepth(translucentDepth); -} -`;var sS=`uniform sampler2D colorTexture; - -#ifdef DEBUG_SHOW_DEPTH -uniform sampler2D u_packedTranslucentDepth; -#endif - -in vec2 v_textureCoordinates; - -void main() -{ -#ifdef DEBUG_SHOW_DEPTH - if (v_textureCoordinates.x < 0.5) - { - out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); - out_FragColor.a = 1.0; - } -#else - vec4 color = texture(colorTexture, v_textureCoordinates); - -#ifdef PICK - if (color == vec4(0.0)) - { - discard; - } -#else - // Reverse premultiplication process to get the correct composited result of the classification primitives - color.rgb /= color.a; -#endif - out_FragColor = color; -#endif -} -`;var Wpt=!1;function i0(e){this._drawClassificationFBO=new hi({createDepthAttachments:!1}),this._accumulationFBO=new hi({createDepthAttachments:!1}),this._packFBO=new hi,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new ni({color:new H(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new ni({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new qe,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(i0.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function Rxe(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function Oxe(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function jpt(e,t,n,i){Rxe(e),e._translucentDepthStencilTexture=new Mt({context:t,width:n,height:i,pixelFormat:ct.DEPTH_STENCIL,pixelDatatype:nt.UNSIGNED_INT_24_8,sampler:tn.NEAREST})}function qpt(e,t,n,i){Oxe(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function Ypt(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(jpt(e,t,o,r),qpt(e,t,o,r));let s,a;if(l(e._packDepthCommand)||(s=new Ge({sources:[z4]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!l(e._compositeCommand)){s=new Ge({sources:[sS]}),a={colorTexture:function(){return e._textureToComposite}},Wpt&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let f=e._compositeCommand,d=f.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(d,"pick",{vertexShaderSource:d.vertexShaderSource,fragmentShaderSource:new Ge({sources:s.sources,defines:["PICK"]}),attributeLocations:d._attributeLocations}),g=et.shallowClone(f);g.shaderProgram=p,f.derivedCommands.pick=g}l(e._copyCommand)||(s=new Ge({sources:[sS]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),l(e._accumulateCommand)||(s=new Ge({sources:[sS]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!qe.equals(e._viewport,n.viewport),u=c!==e._useScissorTest;e._useScissorTest=c,qe.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=qe.clone(n.viewport,e._scissorRectangle),u=!0),(!l(e._rsDepth)||!qe.equals(e._viewport,e._rsDepth.viewport)||u)&&(e._rsDepth=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!l(e._rsAccumulate)||!qe.equals(e._viewport,e._rsAccumulate.viewport)||u)&&(e._rsAccumulate=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:zn.EQUAL,reference:zt.CESIUM_3D_TILE_MASK}})),l(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!l(e._rsComp)||!qe.equals(e._viewport,e._rsComp.viewport)||u)&&(e._rsComp=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:fn.ALPHA_BLEND})),l(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}i0.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=e.frameState.useLogDepth,s=e.context,a=n.framebuffer;for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,u.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}}if(this._hasTranslucentDepth){Ypt(this,s,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(s,n);for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,!u.depthForTranslucentClassification)continue;let f=u.derivedCommands.depth.depthOnlyCommand;t(f,e,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(s,n)),n.framebuffer=a}};i0.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(Se.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[Se.CESIUM_3D_TILE_CLASSIFICATION],u=i.indices[Se.CESIUM_3D_TILE_CLASSIFICATION];for(let f=0;f<u;++f)t(c[f],e,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};i0.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),Xpt(this,e,t)};function Xpt(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}i0.prototype.isSupported=function(){return this._supported};i0.prototype.isDestroyed=function(){return!1};i0.prototype.destroy=function(){return Rxe(this),Oxe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),ue(this)};var H4=i0;function Kpt(){this.command=void 0,this.near=void 0,this.far=void 0}function G4(e,t,n){let i=e.context,o;i.depthTexture&&(o=new r4);let r;e._useOIT&&i.depthTexture&&(r=new O4(i));let s=new Tc(i);s.viewport=qe.clone(n),this.camera=t,this._cameraClone=oo.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new V4(i),this.pickDepthFramebuffer=new B4,this.sceneFramebuffer=new rS,this.globeDepth=o,this.globeTranslucencyFramebuffer=new s4,this.oit=r,this.translucentTileClassification=new H4(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var iK=new h,oK=new h;function $pt(e,t,n){let i=Math.max(h.maximumComponent(h.abs(e.position,iK)),h.maximumComponent(h.abs(t.position,oK))),o=1/Math.max(1,i);return h.multiplyByScalar(e.position,o,iK),h.multiplyByScalar(t.position,o,oK),h.equalsEpsilon(iK,oK,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&F.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}G4.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return $pt(t,n,P.EPSILON15)?(this._cameraStartFired&&Ti()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=Ti(),oo.clone(t,n),!0)};function Zpt(e,t,n,i){let{frameState:o}=t,{camera:r,useLogDepth:s}=o,a=s?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,c=t.mode===ne.SCENE2D,u=t.nearToFarDistance2D;i*=1+P.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n),isNaN(n)&&(n=r.frustum.near),isNaN(i)&&(i=r.frustum.far);let f;c?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),f=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):f=Math.ceil(Math.log(i/n)/Math.log(a));let{frustumCommandsList:d}=e;d.length=f;for(let p=0;p<f;++p){let g,m;c?(g=Math.min(i-u,n+p*u),m=Math.min(i,g+u)):(g=Math.max(n,Math.pow(a,p)*n),m=Math.min(i,a*g));let x=d[p];l(x)?(x.near=g,x.far=m):x=d[p]=new Az(g,m)}}function Qpt(e,t,n){let{command:i,near:o,far:r}=n;t.debugShowFrustums&&(i.debugOverlappingFrustums=0);let{frustumCommandsList:s}=e;for(let a=0;a<s.length;++a){let c=s[a];if(o>c.far)continue;if(r<c.near)break;let u=i.pass,f=c.indices[u]++;if(c.commands[u][f]=i,t.debugShowFrustums&&(i.debugOverlappingFrustums|=1<<a),i.executeInClosestFrustum)break}if(t.debugShowFrustums){let{debugFrustumStatistics:a}=e,{debugOverlappingFrustums:c}=i,u=a.commandsInFrustums;u[c]=l(u[c])?u[c]+1:1,++a.totalCommands}t.updateDerivedCommands(i)}var Mxe=new ys,Jpt=new Ya;G4.prototype.createPotentiallyVisibleSet=function(e){let{frameState:t}=e,{camera:n,commandList:i,shadowState:o}=t,{positionWC:r,directionWC:s,frustum:a}=n,c=e._computeCommandList,u=e._overlayCommandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let f=this.frustumCommandsList;for(let M=0;M<f.length;++M)for(let L=0;L<Se.NUMBER_OF_PASSES;++L)f[M].indices[L]=0;c.length=0,u.length=0;let d=this._commandExtents,p=d.length,g=0,m=+Number.MAX_VALUE,x=-Number.MAX_VALUE,{shadowsEnabled:b}=o,T=+Number.MAX_VALUE,C=-Number.MAX_VALUE,A=Number.MAX_VALUE,S=t.mode===ne.SCENE3D?t.occluder:void 0,{cullingVolume:w}=t,D=Mxe.planes;for(let M=0;M<5;++M)D[M]=w.planes[M];w=Mxe;for(let M=0;M<i.length;++M){let L=i[M],{pass:_,boundingVolume:E}=L;if(_===Se.COMPUTE)c.push(L);else if(_===Se.OVERLAY)u.push(L);else{let v,I;if(l(E)){if(!e.isVisible(w,L,S))continue;let B=E.computePlaneDistances(r,s,Jpt);if(v=B.start,I=B.stop,m=Math.min(m,v),x=Math.max(x,I),b&&L.receiveShadows&&v<n0.MAXIMUM_DISTANCE&&!(_===Se.GLOBE&&v<-100&&I>100)){let z=I-v;_!==Se.GLOBE&&v<100&&(A=Math.min(A,z)),T=Math.min(T,v),C=Math.max(C,I)}}else L instanceof ni?(v=a.near,I=a.far):(v=a.near,I=a.far,m=Math.min(m,v),x=Math.max(x,I));let N=d[g];l(N)||(N=d[g]=new Kpt),N.command=L,N.near=v,N.far=I,g++}}b&&(T=Math.min(Math.max(T,a.near),a.far),C=Math.max(Math.min(C,a.far),T),o.nearPlane=T,o.farPlane=C,o.closestObjectSize=A),Zpt(this,e,m,x);for(let M=0;M<g;M++)Qpt(this,e,d[M]);if(g<p)for(let M=g;M<p;M++){let L=d[M];if(!l(L.command))break;L.command=void 0}let O=f.length,{frustumSplits:R}=t;R.length=O+1;for(let M=0;M<O;++M)R[M]=f[M].near,M===O-1&&(R[M+1]=f[M].far)};G4.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e=this.pickDepths;for(let t=0;t<e.length;++t)e[t].destroy()};var aS=G4;var Nxe=.1,e_t=new $d({pass:Fo.MOST_DETAILED_PRELOAD}),t_t=new $d({pass:Fo.MOST_DETAILED_PICK}),uP=new $d({pass:Fo.PICK});function qs(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new qe(0,0,1,1),n=new oo(e);n.frustum=new an({width:Nxe,aspectRatio:1,near:.1}),this._pickOffscreenView=new aS(e,n,t)}qs.prototype.update=function(){this._pickPositionCacheDirty=!0};qs.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return l(i)||(i=new F4,n[t]=i),i};var n_t=new Br,i_t=new h,W4=new h,o_t=new U,r_t=new F;function s_t(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2*(t.x-o.x)/o.width-1;c*=(s.right-s.left)*.5;let u=2*(o.height-t.y-o.y)/o.height-1;u*=(s.top-s.bottom)*.5;let f=F.clone(r.transform,r_t);r._setTransform(F.IDENTITY);let d=h.clone(r.position,i_t);h.multiplyByScalar(r.right,c,W4),h.add(W4,d,d),h.multiplyByScalar(r.up,u,W4),h.add(W4,d,d),r._setTransform(f),e.mode===ne.SCENE2D&&h.fromElements(d.z,d.x,d.y,d);let p=s.getPixelDimensions(o.width,o.height,1,1,o_t),g=n_t;return g.right=p.x*.5,g.left=-g.right,g.top=p.y*.5,g.bottom=-g.top,g.near=s.near,g.far=s.far,g.computeCullingVolume(d,r.directionWC,r.upWC)}var a_t=new Pl,c_t=new U;function l_t(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),u=s.aspectRatio*c,f=2*(t.x-o.x)/o.width-1,d=2*(o.height-t.y-o.y)/o.height-1,p=f*a*u,g=d*a*c,m=s.getPixelDimensions(o.width,o.height,1,1,c_t),x=m.x*n*.5,b=m.y*i*.5,T=a_t;return T.top=g+b,T.bottom=g-b,T.right=p+x,T.left=p-x,T.near=a,T.far=s.far,T.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function j4(e,t,n,i,o){let r=e.camera.frustum;return r instanceof an||r instanceof Br?s_t(e,t,n,i,o):l_t(e,t,n,i,o)}var q4=new qe(0,0,3,3),Y4=new U,fP=new H(0,0,0,0);function rK(e,t,n,i,o){return o.width=y(n,3),o.height=y(i,o.width),o.x=t.x-(o.width-1)*.5,o.y=e-t.y-(o.height-1)*.5,o}qs.prototype.pick=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=qe.clone(a,u.viewport);let f=ki.transformWindowToDrawingBuffer(e,t,Y4),d=rK(o.drawingBufferHeight,f,n,i,q4);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=j4(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pick=!0,r.tilesetPassState=uP,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,fP),e.resolveFramebuffers(u);let p=c.end(d);return o.endFrame(),p};qs.prototype.pickVoxelCoordinate=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=qe.clone(a,u.viewport);let f=ki.transformWindowToDrawingBuffer(e,t,Y4),d=rK(o.drawingBufferHeight,f,n,i,q4);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=j4(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pickVoxel=!0,r.tilesetPassState=uP,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,fP),e.resolveFramebuffers(u);let p=c.readCenterPixel(d);return o.endFrame(),p};qs.prototype.pickMetadata=function(e,t,n){let{context:i,frameState:o,defaultView:r}=e,{viewport:s,pickFramebuffer:a}=r;e.view=r,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=r.passState;c.viewport=qe.clone(s,c.viewport);let u=ki.transformWindowToDrawingBuffer(e,t,Y4),f=rK(i.drawingBufferHeight,u,1,1,q4);e.jobScheduler.disableThisFrame(),e.updateFrameState(),o.cullingVolume=j4(e,u,f.width,f.height,s),o.invertClassification=!1,o.passes.pick=!0,o.tilesetPassState=uP,o.pickingMetadata=!0,o.pickedMetadataInfo=n,i.uniformState.update(o),e.updateEnvironment(),c=a.begin(f,s),e.updateAndExecuteCommands(c,fP);let d=e._environmentState.useOIT;e._environmentState.useOIT=!1,e.resolveFramebuffers(c),e._environmentState.useOIT=d;let p=a.readCenterPixel(f);return i.endFrame(),o.pickingMetadata=!1,E4.decodeMetadataValues(n.classProperty,p)};function u_t(e,t){let{defaultView:n,context:i,frameState:o,environmentState:r}=e,{viewport:s,pickDepthFramebuffer:a}=n;e.view=n,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=n.passState;c.viewport=qe.clone(s,c.viewport),e.clearPasses(o.passes),o.passes.pick=!0,o.passes.depth=!0,o.cullingVolume=j4(e,t,1,1,s),o.tilesetPassState=uP,e.updateEnvironment(),r.renderTranslucentDepthForPick=!0,c=a.update(i,t,s),e.updateAndExecuteCommands(c,fP),e.resolveFramebuffers(c),i.endFrame()}var f_t=new Si,d_t=new Pl,h_t=new an,m_t=new Br;qs.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let{context:o,frameState:r,camera:s,defaultView:a}=e,{uniformState:c}=o;e.view=a;let u=ki.transformWindowToDrawingBuffer(e,t,Y4);e.pickTranslucentDepth?u_t(e,u):(e.updateFrameState(),c.update(r),e.updateEnvironment()),u.y=e.drawingBufferHeight-u.y;let f;l(s.frustum.fov)?f=s.frustum.clone(f_t):l(s.frustum.infiniteProjectionMatrix)?f=s.frustum.clone(d_t):l(s.frustum.width)?f=s.frustum.clone(h_t):f=s.frustum.clone(m_t);let{frustumCommandsList:d}=a,p=d.length;for(let g=0;g<p;++g){let x=this.getPickDepth(e,g).getDepth(o,u.x,u.y);if(l(x)&&x>0&&x<1){let b=d[g],T;return e.mode===ne.SCENE2D?(T=s.position.z,s.position.z=T-b.near+1,f.far=Math.max(1,b.far-b.near),f.near=1,c.update(r),c.updateFrustum(f)):(f.near=b.near*(g!==0?e.opaqueFrustumNearOffset:1),f.far=b.far,c.updateFrustum(f)),n=ki.drawingBufferToWorldCoordinates(e,u,x,n),e.mode===ne.SCENE2D&&(s.position.z=T,c.update(r)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var p_t=new fe;qs.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),l(n)&&e.mode!==ne.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,p_t);o.cartographicToCartesian(r,n)}return n};function Fxe(e,t){let n,i,o=[],r=[],s=[],a=[];l(e)||(e=Number.MAX_VALUE);let c=t();for(;l(c);){let u=c.object,f=c.position,d=c.exclude;if(l(f)&&!l(u)){o.push(c);break}if(!l(u)||!l(u.primitive)||!d&&(o.push(c),0>=--e))break;let p=u.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&l(u.id)&&(i=p.getGeometryInstanceAttributes(u.id),l(i)&&l(i.show)&&(g=!0,i.show=xn.toValue(!1,i.show),s.push(i))),u instanceof Js&&(g=!0,u.show=!1,a.push(u)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=xn.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}qs.prototype.drillPick=function(e,t,n,i,o){let r=this;return Fxe(n,function(){let c=r.pick(e,t,i,o);if(l(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var Lxe=new h,__t=new h;function g_t(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function Bxe(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,Lxe),s=h.cross(o,r,Lxe),a=h.cross(o,s,__t);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,Nxe),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function y_t(e,t,n){let i=t.frameState,{ray:o,width:r,tilesets:s}=n,a=e._pickOffscreenView.camera,c=Bxe(e,o,r,a),u=e_t;u.camera=a,u.cullingVolume=c;let f=!0,d=s.length;for(let p=0;p<d;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,u),f=f&&u.ready)}return f&&n._completePick(),f}qs.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)y_t(this,e,t[n])&&t.splice(n--,1)};function kxe(e,t,n){for(let i=0;i<e.length;++i){let o=e.get(i);o.show&&(l(o.isCesium3DTileset)?(!l(t)||t.indexOf(o)===-1)&&n.push(o):o instanceof du&&kxe(o,t,n))}}function X4(e,t,n,i,o,r){let s=[];if(kxe(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new g_t(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function x_t(e,t){return!l(e)||!l(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function b_t(e,t,n,i,o,r,s){let{context:a,frameState:c}=t,u=a.uniformState,f=e._pickOffscreenView;t.view=f,Bxe(e,n,o,f.camera);let d=qe.clone(f.viewport,q4),p=f.pickFramebuffer.begin(d,f.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),c.invertClassification=!1,c.passes.pick=!0,c.passes.offscreen=!0,s?c.tilesetPassState=t_t:c.tilesetPassState=uP,u.update(c),t.updateEnvironment(),t.updateAndExecuteCommands(p,fP),t.resolveFramebuffers(p);let g,m=f.pickFramebuffer.end(d);if(t.context.depthTexture){let{frustumCommandsList:x}=f,b=x.length;for(let T=0;T<b;++T){let A=e.getPickDepth(t,T).getDepth(a,0,0);if(l(A)&&A>0&&A<1){let S=x[T],w=S.near*(T!==0?t.opaqueFrustumNearOffset:1),D=S.far,O=w+A*(D-w);g=_n.getPoint(n,O);break}}}if(t.view=t.defaultView,a.endFrame(),l(m)||l(g))return{object:m,position:g,exclude:!l(g)&&r||x_t(m,i)}}function Vxe(e,t,n,i,o,r,s,a){return Fxe(i,function(){return b_t(e,t,n,o,r,s,a)})}function cS(e,t,n,i,o,r,s){let a=Vxe(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function Uxe(e,t,n,i,o,r,s,a){return Vxe(e,t,n,i,o,r,s,a)}function K4(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}qs.prototype.pickFromRay=function(e,t,n,i){return cS(this,e,t,n,i,!1,!1)};qs.prototype.drillPickFromRay=function(e,t,n,i,o){return Uxe(this,e,t,n,i,o,!1,!1)};qs.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=_n.clone(t),n=l(n)?n.slice():n,K4(e,X4(o,e,t,n,i,function(){return cS(o,e,t,n,i,!1,!0)}))};qs.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=_n.clone(t),i=l(i)?i.slice():i,K4(e,X4(r,e,t,i,o,function(){return Uxe(r,e,t,n,i,o,!1,!0)}))};var T_t=new h,C_t=new h,A_t=new _n,zxe=new fe;function sK(e,t){let n=e.ellipsoid,i=li._defaultMaxTerrainHeight,o=n.geodeticSurfaceNormalCartographic(t,C_t),r=fe.toCartesian(t,n,T_t),s=A_t;s.origin=r,s.direction=o;let a=new _n;return _n.getPoint(s,i,a.origin),h.negate(o,a.direction),a}function Hxe(e,t){let n=e.ellipsoid,i=fe.fromCartesian(t,n,zxe);return sK(e,i)}function Gxe(e,t){let n=e.ellipsoid;return fe.fromCartesian(t,n,zxe).height}function E_t(e,t,n,i,o){let r=sK(t,n);return X4(e,t,r,i,o,function(){let s=cS(e,t,r,i,o,!0,!0);if(l(s))return Gxe(t,s.position)})}function S_t(e,t,n,i,o,r){let s=Hxe(t,n);return X4(e,t,s,i,o,function(){let a=cS(e,t,s,i,o,!0,!0);if(l(a))return h.clone(a.position,r)})}qs.prototype.sampleHeight=function(e,t,n,i){let o=sK(e,t),r=cS(this,e,o,n,i,!0,!1);if(l(r))return Gxe(e,r.position)};qs.prototype.clampToHeight=function(e,t,n,i,o){let r=Hxe(e,t),s=cS(this,e,r,n,i,!0,!1);if(l(s))return h.clone(s.position,o)};qs.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=E_t(this,e,t[s],n,i);return K4(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};qs.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=S_t(this,e,t[s],n,i,t[s]);return K4(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};qs.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var $4=qs;var qxe=Er($P(),1);var w_t={modifyFragmentShader:function(t){return t=Ge.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection; -void main() -{ -#ifndef SHADOW_MAP - if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; - if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; -#endif - czm_splitter_main(); -} -`,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},dP=w_t;var Sb={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function hP(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=H.clone(H.DARKGRAY),this._highlightColor=H.clone(H.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=Sb.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,Se.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=F.clone(F.IDENTITY),this._modelMatrix=F.clone(F.IDENTITY),this.time=0,this.shadows=bn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,kr.NONE),this._splittingEnabled=!1,this._error=void 0,v_t(this,e)}Object.defineProperties(hP.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return H.clone(this._highlightColor)},set:function(e){this._highlightColor=H.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(l(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=ae.clone(e,this._boundingSphere)}}});function v_t(e,t){let n=qC.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&l(n.batchTableBinary)&&(n.styleableProperties=ig.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),l(n.draco)){let a=n.draco;e._decodingState=Sb.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;l(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;l(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;l(r)&&(l(r.constantColor)&&(e._constantColor=H.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;l(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength}var D_t=new h,I_t=new h,P_t=new h,Wxe,Z4;function R_t(e){if(!l(Z4)){Wxe=new qxe.default(0),Z4=new Array(e);for(let t=0;t<e;++t)Z4[t]=Wxe.random()}return Z4}function O_t(e){let n=e.length/3,i=Math.min(n,20),o=R_t(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,D_t),c=h.fromElements(s,s,s,I_t);for(let f=0;f<i;++f){let d=Math.floor(o[f]*n),p=h.unpack(e,d*3,P_t);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let u=ae.fromCornerPoints(a,c);return u.radius+=P.EPSILON2,u}function jxe(e,t){let n=X.fromTypedArray(e);return n===X.INT||n===X.UNSIGNED_INT||n===X.DOUBLE?(Tt("Cast pnts property to floats",`Point cloud property "${t}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var M_t=new oe,L_t=new oe,N_t=new H,Yxe=0,Q4=1,fK=2,Xxe=3,F_t=4,aK=new F,B_t=new F;function k_t(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,u=i.styleableProperties,f=l(u),d=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,m=e._isOctEncodedDraco,x=e._quantizedRange,b=e._octEncodedRange,T=e._isRGB565,C=e._isTranslucent,A=e._hasColors,S=e._hasNormals,w=e._hasBatchIds,D,O,R=[],M={};if(e._styleableShaderAttributes=M,f){let V=F_t;for(let G in u)if(u.hasOwnProperty(G)){let k=u[G],Y=jxe(k.typedArray,G);D=k.componentCount,O=X.fromTypedArray(Y);let W=yt.createVertexBuffer({context:n,typedArray:Y,usage:Ve.STATIC_DRAW});e._geometryByteLength+=W.sizeInBytes;let J={index:V,vertexBuffer:W,componentsPerAttribute:D,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0};R.push(J),M[G]={location:V,componentCount:D},++V}}let L=yt.createVertexBuffer({context:n,typedArray:r.typedArray,usage:Ve.STATIC_DRAW});e._geometryByteLength+=L.sizeInBytes;let _;A&&(_=yt.createVertexBuffer({context:n,typedArray:s.typedArray,usage:Ve.STATIC_DRAW}),e._geometryByteLength+=_.sizeInBytes);let E;S&&(E=yt.createVertexBuffer({context:n,typedArray:a.typedArray,usage:Ve.STATIC_DRAW}),e._geometryByteLength+=E.sizeInBytes);let v;w&&(c.typedArray=jxe(c.typedArray,"batchIds"),v=yt.createVertexBuffer({context:n,typedArray:c.typedArray,usage:Ve.STATIC_DRAW}),e._geometryByteLength+=v.sizeInBytes);let I=[];if(d?O=X.UNSIGNED_SHORT:p?O=x<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT:O=X.FLOAT,I.push({index:Yxe,vertexBuffer:L,componentsPerAttribute:3,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(d||p?e._boundingSphere=ae.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=O_t(r.typedArray)),A)if(T)I.push({index:Q4,vertexBuffer:_,componentsPerAttribute:1,componentDatatype:X.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let V=C?4:3;I.push({index:Q4,vertexBuffer:_,componentsPerAttribute:V,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}S&&(g?(D=2,O=X.UNSIGNED_BYTE):m?(D=2,O=b<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT):(D=3,O=X.FLOAT),I.push({index:fK,vertexBuffer:E,componentsPerAttribute:D,componentDatatype:O,normalize:!1,offsetInBytes:0,strideInBytes:0})),w&&I.push({index:Xxe,vertexBuffer:v,componentsPerAttribute:1,componentDatatype:X.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),f&&(I=I.concat(R));let N=new di({context:n,attributes:I}),B={depthTest:{enabled:!0}},z={depthTest:{enabled:!0},depthMask:!1,blending:fn.ALPHA_BLEND};e._opaquePass===Se.CESIUM_3D_TILE&&(B.stencilTest=zt.setCesium3DTileBit(),B.stencilMask=zt.CESIUM_3D_TILE_MASK,z.stencilTest=zt.setCesium3DTileBit(),z.stencilMask=zt.CESIUM_3D_TILE_MASK),e._opaqueRenderState=ze.fromCache(B),e._translucentRenderState=ze.fromCache(z),e._drawCommand=new et({boundingVolume:new ae,cull:e._cull,modelMatrix:new F,primitiveType:Fe.POINTS,vertexArray:N,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:C?e._translucentRenderState:e._opaqueRenderState,pass:C?Se.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function V_t(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=M_t;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,u;t.mode===ne.SCENE2D||c instanceof an?u=Number.POSITIVE_INFINITY:u=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=u}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!l(a))return H.TRANSPARENT;let c=H.clone(a.edgeColor,N_t);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!l(a))return F.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);F.multiply(n.uniformState.view3D,c,aK);let u=F.multiply(aK,a.modelMatrix,aK);return F.inverseTranspose(u,B_t)}};dP.addUniforms(e,s),(i||o||r)&&(s=xt(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=L_t;if(l(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),l(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function cK(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function lK(e,t){e=e.slice(e.indexOf(` -`));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function uK(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var U_t={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function z_t(e,t,n){let i,o,r,s=t.context,a=l(n),c=e._isQuantized,u=e._isQuantizedDraco,f=e._isOctEncoded16P,d=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,m=e._hasColors,x=e._hasNormals,b=e._hasBatchIds,T=e._backFaceCulling,C=e._normalShading,A=e._drawCommand.vertexArray,S=e.clippingPlanes,w=e._attenuation,D,O,R,M=g,L=We(U_t),_={},E=e._styleableShaderAttributes;for(o in E)E.hasOwnProperty(o)&&(r=E[o],L[o]=`czm_3dtiles_property_${r.location}`,_[r.location]=r);if(a){let re={translucent:!1},_e="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";D=n.getColorShaderFunction(`getColorFromStyle${_e}`,L,re),O=n.getShowShaderFunction(`getShowFromStyle${_e}`,L,re),R=n.getPointSizeShaderFunction(`getPointSizeFromStyle${_e}`,L,re),l(D)&&re.translucent&&(M=!0)}e._styleTranslucent=M;let v=l(D),I=l(O),N=l(R),B=e.isClipped,z=[],V=[];v&&(cK(D,z),lK(D,V)),I&&(cK(O,z),lK(O,V)),N&&(cK(R,z),lK(R,V));let G=V.indexOf("COLOR")>=0,k=V.indexOf("NORMAL")>=0;if(k&&!x)throw new ce("Style references the NORMAL semantic but the point cloud does not have normals");for(o in E)if(E.hasOwnProperty(o)){r=E[o];let re=z.indexOf(r.location)>=0,_e=uK(A,r.location);_e.enabled=re}let Y=m&&(!v||G);if(m){let re=uK(A,Q4);re.enabled=Y}let W=x&&(C||T||k);if(x){let re=uK(A,fK);re.enabled=W}let J={a_position:Yxe};Y&&(J.a_color=Q4),W&&(J.a_normal=fK),b&&(J.a_batchId=Xxe);let j="",$=z.length;for(i=0;i<$;++i){let re=z[i];r=_[re];let _e=r.componentCount,xe=`czm_3dtiles_property_${re}`,De;_e===1?De="float":De=`vec${_e}`,j+=`in ${De} ${xe}; -`,J[xe]=r.location}V_t(e,t);let Q=`in vec3 a_position; -out vec4 v_color; -uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; -uniform vec4 u_constantColor; -uniform vec4 u_highlightColor; -`;Q+=`float u_pointSize; -float tiles3d_tileset_time; -`,w&&(Q+=`float u_geometricError; -float u_depthMultiplier; -`),Q+=j,Y&&(g?Q+=`in vec4 a_color; -`:p?Q+=`in float a_color; -const float SHIFT_RIGHT_11 = 1.0 / 2048.0; -const float SHIFT_RIGHT_5 = 1.0 / 32.0; -const float SHIFT_LEFT_11 = 2048.0; -const float SHIFT_LEFT_5 = 32.0; -const float NORMALIZE_6 = 1.0 / 64.0; -const float NORMALIZE_5 = 1.0 / 32.0; -`:Q+=`in vec3 a_color; -`),W&&(f||d?Q+=`in vec2 a_normal; -`:Q+=`in vec3 a_normal; -`),b&&(Q+=`in float a_batchId; -`),(c||u||d)&&(Q+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; -`),v&&(Q+=D),I&&(Q+=O),N&&(Q+=R),Q+=`void main() -{ - u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; - tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; -`,w&&(Q+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; - u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; -`),Y?g?Q+=` vec4 color = a_color; -`:p?Q+=` float compressed = a_color; - float r = floor(compressed * SHIFT_RIGHT_11); - compressed -= r * SHIFT_LEFT_11; - float g = floor(compressed * SHIFT_RIGHT_5); - compressed -= g * SHIFT_LEFT_5; - float b = compressed; - vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); - vec4 color = vec4(rgb, 1.0); -`:Q+=` vec4 color = vec4(a_color, 1.0); -`:Q+=` vec4 color = u_constantColor; -`,c||u?Q+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; -`:Q+=` vec3 position = a_position; -`,Q+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); -`,W?(f?Q+=` vec3 normal = czm_octDecode(a_normal); -`:d?Q+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; -`:Q+=` vec3 normal = a_normal; -`,Q+=` vec3 normalEC = czm_normal * normal; -`):Q+=` vec3 normal = vec3(1.0); -`,v&&(Q+=` color = getColorFromStyle(position, position_absolute, color, normal); -`),I&&(Q+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); -`),N?Q+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; -`:w?Q+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); - float depth = -positionEC.z; - gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); -`:Q+=` gl_PointSize = u_pointSize; -`,Q+=` color = color * u_highlightColor; -`,W&&C&&(Q+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); - diffuseStrength = max(diffuseStrength, 0.4); - color.xyz *= diffuseStrength * czm_lightColor; -`),Q+=` v_color = color; - gl_Position = czm_modelViewProjection * vec4(position, 1.0); -`,W&&T&&(Q+=` float visible = step(-normalEC.z, 0.0); - gl_Position *= visible; - gl_PointSize *= visible; -`),I&&(Q+=` gl_Position.w *= float(show); - gl_PointSize *= float(show); -`),Q+=`} -`;let he=`in vec4 v_color; -`;B&&(he+=`uniform highp sampler2D u_clippingPlanes; -uniform mat4 u_clippingPlanesMatrix; -uniform vec4 u_clippingPlanesEdgeStyle; -`,he+=` -`,he+=ky(S,s),he+=` -`),he+=`void main() -{ - out_FragColor = czm_gammaCorrect(v_color); -`,B&&(he+=Ez("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),he+=`} -`,e.splitDirection!==kr.NONE&&(he=dP.modifyFragmentShader(he)),l(e._vertexShaderLoaded)&&(Q=e._vertexShaderLoaded(Q)),l(e._fragmentShaderLoaded)&&(he=e._fragmentShaderLoaded(he));let ye=e._drawCommand;l(ye.shaderProgram)&&ye.shaderProgram.destroy(),ye.shaderProgram=sn.fromCache({context:s,vertexShaderSource:Q,fragmentShaderSource:he,attributeLocations:J});try{ye.shaderProgram._bind()}catch{throw new ce("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function H_t(e,t){if(e._decodingState===Sb.READY)return!1;if(e._decodingState===Sb.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=dg.decodePointCloud(i,t);l(o)&&(e._decodingState=Sb.DECODING,o.then(function(r){e._decodingState=Sb.READY;let s=l(r.POSITION)?r.POSITION.array:void 0,a=l(r.RGB)?r.RGB.array:void 0,c=l(r.RGBA)?r.RGBA.array:void 0,u=l(r.NORMAL)?r.NORMAL.array:void 0,f=l(r.BATCH_ID)?r.BATCH_ID.array:void 0,d=l(s)&&l(r.POSITION.data.quantization),p=l(u)&&l(r.NORMAL.data.quantization);if(d){let b=r.POSITION.data.quantization,T=b.range;e._quantizedVolumeScale=h.fromElements(T,T,T),e._quantizedVolumeOffset=h.unpack(b.minValues),e._quantizedRange=(1<<b.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,m=i.batchTableProperties;for(let b in m)if(m.hasOwnProperty(b)){let T=r[b];l(g)||(g={}),g[b]={typedArray:T.array,componentCount:T.data.componentsPerAttribute}}l(s)&&(n.positions={typedArray:s});let x=y(c,a);l(x)&&(n.colors={typedArray:x}),l(u)&&(n.normals={typedArray:u}),l(f)&&(n.batchIds={typedArray:f}),n.styleableProperties=g}).catch(function(r){e._decodingState=Sb.FAILED,e._error=r}))}return!0}var G_t=new oe,W_t=new h;hP.prototype.update=function(e){let t=e.context;if(l(this._error)){let u=this._error;throw this._error=void 0,u}if(H_t(this,t))return;let i=!1,o=!F.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),l(this._drawCommand)||(k_t(this,e),o=!0,i=!0,this._ready=!0,this._parsedContent=void 0),o){F.clone(this.modelMatrix,this._modelMatrix);let u=this._drawCommand.modelMatrix;if(F.clone(this._modelMatrix,u),l(this._rtcCenter)&&F.multiplyByTranslation(u,this._rtcCenter,u),l(this._quantizedVolumeOffset)&&F.multiplyByTranslation(u,this._quantizedVolumeOffset,u),e.mode!==ne.SCENE3D){let d=e.mapProjection,p=F.getColumn(u,3,G_t);oe.equals(p,oe.UNIT_W)||Bt.basisTo2D(d,u,u)}let f=this._drawCommand.boundingVolume;if(ae.clone(this._boundingSphere,f),this._cull){let d=f.center;F.multiplyByPoint(u,d,d);let p=F.getScale(u,W_t);f.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==kr.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&z_t(this,e,this._style),this._drawCommand.castShadows=bn.castShadows(this.shadows),this._drawCommand.receiveShadows=bn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?Se.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};hP.prototype.isDestroyed=function(){return!1};hP.prototype.destroy=function(){let e=this._drawCommand;return l(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),ue(this)};var J4=hP;var j_t={NEAREST:0,LINEAR:1},Hf=j_t;function wb(e){e=y(e,y.EMPTY_OBJECT);let{fragmentShader:t,textureScale:n=1,pixelFormat:i=ct.RGBA}=e;this._fragmentShader=t,this._uniforms=e.uniforms,this._textureScale=n,this._forcePowerOfTwo=y(e.forcePowerOfTwo,!1),this._sampleMode=y(e.sampleMode,Hf.NEAREST),this._pixelFormat=i,this._pixelDatatype=y(e.pixelDatatype,nt.UNSIGNED_BYTE),this._clearColor=y(e.clearColor,H.BLACK),this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let o=new Tc;o.scissorTest={enabled:!0,rectangle:l(e.scissorRectangle)?qe.clone(e.scissorRectangle):new qe},this._passState=o,this._ready=!1;let r=e.name;l(r)||(r=Gn()),this._name=r,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(wb.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(l(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(l(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var q_t=/uniform\s+sampler2D\s+depthTexture/g;wb.prototype._isSupported=function(e){return!q_t.test(this._fragmentShader)||e.depthTexture};function Y_t(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];l(a)&&a!==r&&a instanceof Mt&&!l(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof Mt&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function X_t(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function K_t(e,t){return function(){let n=e[t]();if(l(n))return n.dimensions}}function $_t(e){if(l(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i){if(!i.hasOwnProperty(r))continue;typeof i[r]!="function"?(t[r]=X_t(e,r),n[r]=Y_t(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof Mt||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=K_t(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=xt(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function Z_t(e,t){return e=e.replace(/in\s+vec2\s+v_textureCoordinates;/g,""),`#define CZM_SELECTED_FEATURE -uniform sampler2D czm_idTexture; -uniform sampler2D czm_selectedIdTexture; -uniform float czm_selectedIdTextureStep; -in vec2 v_textureCoordinates; -bool czm_selected(vec2 offset) -{ - bool selected = false; - vec4 id = texture(czm_idTexture, v_textureCoordinates + offset); - for (int i = 0; i < ${t}; ++i) - { - vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); - if (all(equal(id, selectedId))) - { - return true; - } - } - return false; -} -bool czm_selected() -{ - return czm_selected(vec2(0.0)); -} - -${e}`}function Q_t(e,t){if(l(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(l(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=Z_t(n,o)}let i=new Ge({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function J_t(e){let t=e._sampleMode,n,i;t===Hf.LINEAR?(n=en.LINEAR,i=fi.LINEAR):(n=en.NEAREST,i=fi.NEAREST);let o=e._sampler;(!l(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new tn({wrapS:wn.CLAMP_TO_EDGE,wrapT:wn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function egt(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function tgt(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function ngt(e,t){let n=e._texturesToRelease;for(let a=0;a<n.length;++a){let c=n[a];c=c&&c.destroy()}n.length=0;let i=e._texturesToCreate;for(let a=0;a<i.length;++a){let{name:c,source:u}=i[a];e._actualUniforms[c]=new Mt({context:t,source:u})}i.length=0;let o=e._dirtyUniforms;if(o.length===0&&!l(e._texturePromise)){e._ready=!0;return}if(o.length===0||l(e._texturePromise))return;let r=e._uniforms,s=[];for(let a=0;a<o.length;++a){let c=o[a],u=r[c],f=e._textureCache.getStageByName(u);if(l(f))e._actualUniforms[c]=tgt(e,u);else if(typeof u=="string"){let d=new ve({url:u});s.push(d.fetchImage().then(egt(e,c)))}else e._texturesToCreate.push({name:c,source:u})}o.length=0,s.length>0?(e._ready=!1,e._texturePromise=Promise.all(s).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function Kxe(e){l(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!l(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i){if(!i.hasOwnProperty(o))continue;let r=i[o];r instanceof Mt&&(l(t.getStageByName(n[o]))||r.destroy(),e._dirtyUniforms.push(o))}}function igt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength;if(l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;for(let o=0;o<e._combinedSelected.length;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function ogt(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!l(n))return;let i=0;for(let s=0;s<n.length;++s){let a=n[s];l(a.pickIds)?i+=a.pickIds.length:l(a.pickId)&&++i}if(n.length===0||i===0){let s=new Uint8Array([255,255,255,255]);e._selectedIdTexture=new Mt({context:t,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,source:{arrayBufferView:s,width:1,height:1},sampler:tn.NEAREST});return}let o=0,r=new Uint8Array(i*4);for(let s=0;s<n.length;++s){let a=n[s];if(l(a.pickIds)){let c=a.pickIds,u=c.length;for(let f=0;f<u;++f){let d=c[f].color;r[o]=H.floatToByte(d.red),r[o+1]=H.floatToByte(d.green),r[o+2]=H.floatToByte(d.blue),r[o+3]=H.floatToByte(d.alpha),o+=4}}else if(l(a.pickId)){let c=a.pickId.color;r[o]=H.floatToByte(c.red),r[o+1]=H.floatToByte(c.green),r[o+2]=H.floatToByte(c.blue),r[o+3]=H.floatToByte(c.alpha),o+=4}}e._selectedIdTexture=new Mt({context:t,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,source:{arrayBufferView:r,width:i,height:1},sampler:tn.NEAREST})}wb.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&&Kxe(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=igt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0,ogt(this,e),$_t(this),ngt(this,e),Q_t(this,e),J_t(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!l(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!l(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=ze.fromCache({viewport:new qe(0,0,i.width,i.height)}))),this._command.renderState=o};wb.prototype.execute=function(e,t,n,i){if(!l(this._command)||!l(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,tn.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;l(o)&&(o.context=e),this._command.execute(e,o)};wb.prototype.isDestroyed=function(){return!1};wb.prototype.destroy=function(){return Kxe(this),ue(this)};var mo=wb;var eH=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - color /= texture(autoExposure, vec2(0.5)).r; -#else - color *= vec3(exposure); -#endif - color = czm_acesTonemapping(color); - color = czm_inverseGamma(color); - - out_FragColor = vec4(color, fragmentColor.a); -} -`;var tH=`precision highp float; - -uniform sampler2D randomTexture; -uniform sampler2D depthTexture; -uniform float intensity; -uniform float bias; -uniform float lengthCap; -uniform float stepSize; -uniform float frustumLength; - -vec3 pixelToEye(vec2 screenCoordinate) -{ - vec2 uv = screenCoordinate / czm_viewport.zw; - float depth = czm_readDepth(depthTexture, uv); - vec2 xy = 2.0 * uv - vec2(1.0); - vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); - return posEC.xyz / posEC.w; -} - -// Reconstruct surface normal in eye coordinates, avoiding edges -vec3 getNormalXEdge(vec3 positionEC) -{ - // Find the 3D surface positions at adjacent screen pixels - vec2 centerCoord = gl_FragCoord.xy; - vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0)); - vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0)); - vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0)); - vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0)); - - // Compute potential tangent vectors - vec3 dx0 = positionEC - positionLeft; - vec3 dx1 = positionRight - positionEC; - vec3 dy0 = positionEC - positionDown; - vec3 dy1 = positionUp - positionEC; - - // The shorter tangent is more likely to be on the same surface - vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1; - vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1; - - return normalize(cross(dx, dy)); -} - -void main(void) -{ - vec3 positionEC = pixelToEye(gl_FragCoord.xy); - - if (positionEC.z > frustumLength) - { - out_FragColor = vec4(1.0); - return; - } - - vec3 normalEC = getNormalXEdge(positionEC); - - float ao = 0.0; - - const int ANGLE_STEPS = 4; - float angleStepScale = 1.0 / float(ANGLE_STEPS); - float angleStep = angleStepScale * czm_twoPi; - float cosStep = cos(angleStep); - float sinStep = sin(angleStep); - mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep); - - // Initial sampling direction (different for each pixel) - const float randomTextureSize = 255.0; - vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize); - float randomVal = texture(randomTexture, randomTexCoord).x; - vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal)); - - // Loop over sampling directions - for (int i = 0; i < ANGLE_STEPS; i++) - { - sampleDirection = rotateStep * sampleDirection; - - float localAO = 0.0; - vec2 radialStep = stepSize * sampleDirection; - - for (int j = 0; j < 6; j++) - { - // Step along sampling direction, away from output pixel - vec2 newCoords = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5); - - // Exit if we stepped off the screen - if (clamp(newCoords, vec2(0.0), czm_viewport.zw) != newCoords) - { - break; - } - - vec3 stepPositionEC = pixelToEye(newCoords); - vec3 stepVector = stepPositionEC - positionEC; - float stepLength = length(stepVector); - - if (stepLength > lengthCap) - { - break; - } - - float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0); - if (dotVal < bias) - { - dotVal = 0.0; - } - - float weight = stepLength / lengthCap; - weight = 1.0 - weight * weight; - localAO = max(localAO, dotVal * weight); - } - ao += localAO; - } - - ao *= angleStepScale; - ao = 1.0 - clamp(ao, 0.0, 1.0); - ao = pow(ao, intensity); - out_FragColor = vec4(vec3(ao), 1.0); -} -`;var nH=`uniform sampler2D colorTexture; -uniform sampler2D ambientOcclusionTexture; -uniform bool ambientOcclusionOnly; -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); - out_FragColor = ambientOcclusionOnly ? ao : ao * color; -} -`;var iH=`uniform sampler2D colorTexture; -uniform float gradations; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; -#ifdef CZM_SELECTED_FEATURE - if (czm_selected()) { - out_FragColor = vec4(rgb, 1.0); - return; - } -#endif - float luminance = czm_luminance(rgb); - float darkness = luminance * gradations; - darkness = (darkness - fract(darkness)) / gradations; - out_FragColor = vec4(vec3(darkness), 1.0); -} -`;var oH=`uniform sampler2D colorTexture; -uniform sampler2D bloomTexture; -uniform bool glowOnly; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - -#ifdef CZM_SELECTED_FEATURE - if (czm_selected()) { - out_FragColor = color; - return; - } -#endif - - vec4 bloom = texture(bloomTexture, v_textureCoordinates); - out_FragColor = glowOnly ? bloom : bloom + color; -} -`;var rH=`uniform sampler2D colorTexture; -uniform float brightness; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; - vec3 target = vec3(0.0); - out_FragColor = vec4(mix(target, rgb, brightness), 1.0); -} -`;var sH=`uniform sampler2D colorTexture; -uniform float contrast; -uniform float brightness; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; - sceneColor = czm_RGBToHSB(sceneColor); - sceneColor.z += brightness; - sceneColor = czm_HSBToRGB(sceneColor); - - float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); - sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); - out_FragColor = vec4(sceneColor, 1.0); -} -`;var aH=`uniform sampler2D colorTexture; -uniform sampler2D blurTexture; -uniform sampler2D depthTexture; -uniform float focalDistance; - -in vec2 v_textureCoordinates; - -vec4 toEye(vec2 uv, float depth) -{ - vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); - vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); - posInCamera = posInCamera / posInCamera.w; - return posInCamera; -} - -float computeDepthBlur(float depth) -{ - float f; - if (depth < focalDistance) - { - f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); - } - else - { - f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); - f = pow(f, 0.1); - } - f *= f; - f = clamp(f, 0.0, 1.0); - return pow(f, 0.5); -} - -void main(void) -{ - float depth = czm_readDepth(depthTexture, v_textureCoordinates); - vec4 posInCamera = toEye(v_textureCoordinates, depth); - float d = computeDepthBlur(-posInCamera.z); - out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); -} -`;var cH=`uniform sampler2D depthTexture; - -in vec2 v_textureCoordinates; - -void main(void) -{ - float depth = czm_readDepth(depthTexture, v_textureCoordinates); - out_FragColor = vec4(vec3(depth), 1.0); -} -`;var lH=`uniform sampler2D depthTexture; -uniform float length; -uniform vec4 color; - -in vec2 v_textureCoordinates; - -void main(void) -{ - float directions[3]; - directions[0] = -1.0; - directions[1] = 0.0; - directions[2] = 1.0; - - float scalars[3]; - scalars[0] = 3.0; - scalars[1] = 10.0; - scalars[2] = 3.0; - - float padx = czm_pixelRatio / czm_viewport.z; - float pady = czm_pixelRatio / czm_viewport.w; - -#ifdef CZM_SELECTED_FEATURE - bool selected = false; - for (int i = 0; i < 3; ++i) - { - float dir = directions[i]; - selected = selected || czm_selected(vec2(-padx, dir * pady)); - selected = selected || czm_selected(vec2(padx, dir * pady)); - selected = selected || czm_selected(vec2(dir * padx, -pady)); - selected = selected || czm_selected(vec2(dir * padx, pady)); - if (selected) - { - break; - } - } - if (!selected) - { - out_FragColor = vec4(color.rgb, 0.0); - return; - } -#endif - - float horizEdge = 0.0; - float vertEdge = 0.0; - - for (int i = 0; i < 3; ++i) - { - float dir = directions[i]; - float scale = scalars[i]; - - horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; - horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; - - vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; - vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; - } - - float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); - out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); -} -`;var uH=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See slides 142 and 143: -// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - - const float A = 0.22; // shoulder strength - const float B = 0.30; // linear strength - const float C = 0.10; // linear angle - const float D = 0.20; // toe strength - const float E = 0.01; // toe numerator - const float F = 0.30; // toe denominator - - const float white = 11.2; // linear white point value - - vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; - float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; - - c = czm_inverseGamma(c / w); - out_FragColor = vec4(c, fragmentColor.a); -} -`;var fH=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; - -#ifdef AUTO_EXPOSURE - color /= texture(autoExposure, vec2(0.5)).r; -#else - color *= vec3(exposure); -#endif - color = czm_pbrNeutralTonemapping(color); - color = czm_inverseGamma(color); - - out_FragColor = vec4(color, fragmentColor.a); -} -`;var dH=`in vec2 v_textureCoordinates; - -uniform sampler2D colorTexture; - -const float fxaaQualitySubpix = 0.5; -const float fxaaQualityEdgeThreshold = 0.125; -const float fxaaQualityEdgeThresholdMin = 0.0833; - -void main() -{ - vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; - vec4 color = FxaaPixelShader( - v_textureCoordinates, - colorTexture, - fxaaQualityRcpFrame, - fxaaQualitySubpix, - fxaaQualityEdgeThreshold, - fxaaQualityEdgeThresholdMin); - float alpha = texture(colorTexture, v_textureCoordinates).a; - out_FragColor = vec4(color.rgb, alpha); -} -`;var vb=`#define SAMPLES 8 - -uniform float delta; -uniform float sigma; -uniform float direction; // 0.0 for x direction, 1.0 for y direction - -uniform sampler2D colorTexture; - -#ifdef USE_STEP_SIZE -uniform float stepSize; -#else -uniform vec2 step; -#endif - -in vec2 v_textureCoordinates; - -// Incremental Computation of the Gaussian: -// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html - -void main() -{ - vec2 st = v_textureCoordinates; - vec2 dir = vec2(1.0 - direction, direction); - -#ifdef USE_STEP_SIZE - vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); -#else - vec2 step = step; -#endif - - vec3 g; - g.x = 1.0 / (sqrt(czm_twoPi) * sigma); - g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); - g.z = g.y * g.y; - - vec4 result = texture(colorTexture, st) * g.x; - for (int i = 1; i < SAMPLES; ++i) - { - g.xy *= g.yz; - - vec2 offset = float(i) * dir * step; - result += texture(colorTexture, st - offset) * g.x; - result += texture(colorTexture, st + offset) * g.x; - } - - out_FragColor = result; -} -`;var hH=`uniform sampler2D colorTexture; -uniform sampler2D dirtTexture; -uniform sampler2D starTexture; -uniform vec2 dirtTextureDimensions; -uniform float distortion; -uniform float ghostDispersal; -uniform float haloWidth; -uniform float dirtAmount; -uniform float earthRadius; -uniform float intensity; - -in vec2 v_textureCoordinates; - -// whether it is in space or not -// 6500000.0 is empirical value -#define DISTANCE_TO_SPACE 6500000.0 - -// return ndc from world coordinate biased earthRadius -vec4 getNDCFromWC(vec3 WC, float earthRadius) -{ - vec4 positionEC = czm_view * vec4(WC, 1.0); - positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); - vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); - return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); -} - -// Check if current pixel is included Earth -// if then mask it gradually -float isInEarth(vec2 texcoord, vec2 sceneSize) -{ - vec2 NDC = texcoord * 2.0 - 1.0; - vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); - vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); - NDC.xy -= earthPosSC.xy; - - float X = abs(NDC.x) * sceneSize.x; - float Y = abs(NDC.y) * sceneSize.y; - - return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); -} - -// For Chromatic effect -vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) -{ - vec2 sceneSize = czm_viewport.zw; - vec3 color; - if(isSpace) - { - color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; - color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; - color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; - } - else - { - color.r = texture(tex, texcoord + direction * distortion.r).r; - color.g = texture(tex, texcoord + direction * distortion.g).g; - color.b = texture(tex, texcoord + direction * distortion.b).b; - } - return vec4(clamp(color, 0.0, 1.0), 0.0); -} - -void main(void) -{ - vec4 originalColor = texture(colorTexture, v_textureCoordinates); - vec3 rgb = originalColor.rgb; - bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; - - // Sun position - vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); - vec4 sunPositionEC = czm_view * sunPos; - vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); - sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); - - // If sun is not in the screen space, use original color. - if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) - { - // Lens flare is disabled when not in space until #5932 is fixed. - // https://github.com/CesiumGS/cesium/issues/5932 - out_FragColor = originalColor; - return; - } - - vec2 texcoord = vec2(1.0) - v_textureCoordinates; - vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; - vec2 invPixelSize = 1.0 / pixelSize; - vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); - - // ghost vector to image centre: - vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; - vec3 direction = normalize(vec3(ghostVec, 0.0)); - - // sample ghosts: - vec4 result = vec4(0.0); - vec4 ghost = vec4(0.0); - for (int i = 0; i < 4; ++i) - { - vec2 offset = fract(texcoord + ghostVec * float(i)); - // Only bright spots from the centre of the source image - ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); - } - result += ghost; - - // sample halo - vec2 haloVec = normalize(ghostVec) * haloWidth; - float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); - weightForHalo = pow(1.0 - weightForHalo, 5.0); - - result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; - - // dirt on lens - vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; - if (dirtTexCoords.x > 1.0) - { - dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); - } - if (dirtTexCoords.y > 1.0) - { - dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); - } - result += dirtAmount * texture(dirtTexture, dirtTexCoords); - - // Rotating starburst texture's coordinate - // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) - float camrot = czm_view[0].z + czm_view[1].y; - float cosValue = cos(camrot); - float sinValue = sin(camrot); - mat3 rotation = mat3( - cosValue, -sinValue, 0.0, - sinValue, cosValue, 0.0, - 0.0, 0.0, 1.0 - ); - - vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); - vec3 st2 = vec3((rotation * st1).xy, 1.0); - vec3 st3 = st2 * 0.5 + vec3(0.5); - vec2 lensStarTexcoord = st3.xy; - float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); - float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); - - if (!isSpace) - { - result *= oneMinusWeightForLensFlare * intensity * 0.2; - } - else - { - result *= oneMinusWeightForLensFlare * intensity; - result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; - } - - result += texture(colorTexture, v_textureCoordinates); - - out_FragColor = result; -} -`;var mH=`uniform sampler2D colorTexture; -uniform vec3 white; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See equation 4: -// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - color = (color * (1.0 + color / white)) / (1.0 + color); - color = czm_inverseGamma(color); - out_FragColor = vec4(color, fragmentColor.a); -} -`;var pH=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -float rand(vec2 co) -{ - return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); -} - -void main(void) -{ - float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; - vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; - vec3 green = vec3(0.0, 1.0, 0.0); - out_FragColor = vec4((noiseValue + rgb) * green, 1.0); -} -`;var _H=`uniform sampler2D colorTexture; - -in vec2 v_textureCoordinates; - -#ifdef AUTO_EXPOSURE -uniform sampler2D autoExposure; -#else -uniform float exposure; -#endif - -// See equation 3: -// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf - -void main() -{ - vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); - vec3 color = fragmentColor.rgb; -#ifdef AUTO_EXPOSURE - float exposure = texture(autoExposure, vec2(0.5)).r; - color /= exposure; -#else - color *= vec3(exposure); -#endif - color = color / (1.0 + color); - color = czm_inverseGamma(color); - out_FragColor = vec4(color, fragmentColor.a); -} -`;var gH=`uniform sampler2D colorTexture; -uniform sampler2D silhouetteTexture; - -in vec2 v_textureCoordinates; - -void main(void) -{ - vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); - vec4 color = texture(colorTexture, v_textureCoordinates); - out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); -} -`;/** - * @license - * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of NVIDIA CORPORATION nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */var yH=`/** - * @license - * Copyright (c) 2014-2015, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of NVIDIA CORPORATION nor the names of its - * contributors may be used to endorse or promote products derived - * from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS \`\`AS IS'' AND ANY - * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE - * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -// NVIDIA GameWorks Graphics Samples GitHub link: https://github.com/NVIDIAGameWorks/GraphicsSamples -// Original FXAA 3.11 shader link: https://github.com/NVIDIAGameWorks/GraphicsSamples/blob/master/samples/es3-kepler/FXAA/FXAA3_11.h - -// Steps used to integrate into Cesium: -// * The following defines are set: -// #define FXAA_PC 1 -// #define FXAA_WEBGL_1 1 -// #define FXAA_GREEN_AS_LUMA 1 -// #define FXAA_EARLY_EXIT 1 -// #define FXAA_GLSL_120 1 -// * All other preprocessor directives besides the FXAA_QUALITY__P* directives were removed. -// * Double underscores are invalid for preprocessor directives so replace them with a single underscore. Replace -// /FXAA_QUALITY__P(.*)/g with /FXAA_QUALITY__P$1/. -// * There are no implicit conversions from ivec* to vec* so replace: -// #define FxaaInt2 ivec2 -// with -// #define FxaaInt2 vec2 -// * The texture2DLod function is only available in vertex shaders so replace: -// #define FxaaTexTop(t, p) texture2DLod(t, p, 0.0) -// #define FxaaTexOff(t, p, o, r) texture2DLod(t, p + (o * r), 0.0) -// with -// #define FxaaTexTop(t, p) texture(t, p) -// #define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) -// * FXAA_QUALITY_PRESET is prepended in the javascript code. We may want to expose that setting in the future. -// * The following parameters to FxaaPixelShader are unused and can be removed: -// fxaaConsolePosPos -// fxaaConsoleRcpFrameOpt -// fxaaConsoleRcpFrameOpt2 -// fxaaConsole360RcpFrameOpt2 -// fxaaConsoleEdgeSharpness -// fxaaConsoleEdgeThreshold -// fxaaConsoleEdgeThresholdMi -// fxaaConsole360ConstDir - -// -// Choose the quality preset. -// This needs to be compiled into the shader as it effects code. -// Best option to include multiple presets is to -// in each shader define the preset, then include this file. -// -// OPTIONS -// ----------------------------------------------------------------------- -// 10 to 15 - default medium dither (10=fastest, 15=highest quality) -// 20 to 29 - less dither, more expensive (20=fastest, 29=highest quality) -// 39 - no dither, very expensive -// -// NOTES -// ----------------------------------------------------------------------- -// 12 = slightly faster then FXAA 3.9 and higher edge quality (default) -// 13 = about same speed as FXAA 3.9 and better than 12 -// 23 = closest to FXAA 3.9 visually and performance wise -// _ = the lowest digit is directly related to performance -// _ = the highest digit is directly related to style -// -//#define FXAA_QUALITY_PRESET 12 - - -#if (FXAA_QUALITY_PRESET == 10) - #define FXAA_QUALITY_PS 3 - #define FXAA_QUALITY_P0 1.5 - #define FXAA_QUALITY_P1 3.0 - #define FXAA_QUALITY_P2 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 11) - #define FXAA_QUALITY_PS 4 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 3.0 - #define FXAA_QUALITY_P3 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 12) - #define FXAA_QUALITY_PS 5 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 4.0 - #define FXAA_QUALITY_P4 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 13) - #define FXAA_QUALITY_PS 6 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 4.0 - #define FXAA_QUALITY_P5 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 14) - #define FXAA_QUALITY_PS 7 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 4.0 - #define FXAA_QUALITY_P6 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 15) - #define FXAA_QUALITY_PS 8 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 4.0 - #define FXAA_QUALITY_P7 12.0 -#endif -#if (FXAA_QUALITY_PRESET == 20) - #define FXAA_QUALITY_PS 3 - #define FXAA_QUALITY_P0 1.5 - #define FXAA_QUALITY_P1 2.0 - #define FXAA_QUALITY_P2 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 21) - #define FXAA_QUALITY_PS 4 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 22) - #define FXAA_QUALITY_PS 5 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 23) - #define FXAA_QUALITY_PS 6 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 24) - #define FXAA_QUALITY_PS 7 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 3.0 - #define FXAA_QUALITY_P6 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 25) - #define FXAA_QUALITY_PS 8 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 4.0 - #define FXAA_QUALITY_P7 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 26) - #define FXAA_QUALITY_PS 9 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 4.0 - #define FXAA_QUALITY_P8 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 27) - #define FXAA_QUALITY_PS 10 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 4.0 - #define FXAA_QUALITY_P9 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 28) - #define FXAA_QUALITY_PS 11 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 4.0 - #define FXAA_QUALITY_P10 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 29) - #define FXAA_QUALITY_PS 12 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.5 - #define FXAA_QUALITY_P2 2.0 - #define FXAA_QUALITY_P3 2.0 - #define FXAA_QUALITY_P4 2.0 - #define FXAA_QUALITY_P5 2.0 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 2.0 - #define FXAA_QUALITY_P10 4.0 - #define FXAA_QUALITY_P11 8.0 -#endif -#if (FXAA_QUALITY_PRESET == 39) - #define FXAA_QUALITY_PS 12 - #define FXAA_QUALITY_P0 1.0 - #define FXAA_QUALITY_P1 1.0 - #define FXAA_QUALITY_P2 1.0 - #define FXAA_QUALITY_P3 1.0 - #define FXAA_QUALITY_P4 1.0 - #define FXAA_QUALITY_P5 1.5 - #define FXAA_QUALITY_P6 2.0 - #define FXAA_QUALITY_P7 2.0 - #define FXAA_QUALITY_P8 2.0 - #define FXAA_QUALITY_P9 2.0 - #define FXAA_QUALITY_P10 4.0 - #define FXAA_QUALITY_P11 8.0 -#endif - -#define FxaaBool bool -#define FxaaFloat float -#define FxaaFloat2 vec2 -#define FxaaFloat3 vec3 -#define FxaaFloat4 vec4 -#define FxaaHalf float -#define FxaaHalf2 vec2 -#define FxaaHalf3 vec3 -#define FxaaHalf4 vec4 -#define FxaaInt2 vec2 -#define FxaaTex sampler2D - -#define FxaaSat(x) clamp(x, 0.0, 1.0) -#define FxaaTexTop(t, p) texture(t, p) -#define FxaaTexOff(t, p, o, r) texture(t, p + (o * r)) - -FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } +FxaaFloat FxaaLuma(FxaaFloat4 rgba) { return rgba.y; } FxaaFloat4 FxaaPixelShader( // @@ -15508,434 +11100,5058 @@ FxaaFloat4 FxaaPixelShader( #endif /*--------------------------------------------------------------------------*/ } - #endif -/*--------------------------------------------------------------------------*/ + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } + #endif +/*--------------------------------------------------------------------------*/ + } +/*--------------------------------------------------------------------------*/ + FxaaFloat dstN = posM.x - posN.x; + FxaaFloat dstP = posP.x - posM.x; + if(!horzSpan) dstN = posM.y - posN.y; + if(!horzSpan) dstP = posP.y - posM.y; +/*--------------------------------------------------------------------------*/ + FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; + FxaaFloat spanLength = (dstP + dstN); + FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; + FxaaFloat spanLengthRcp = 1.0/spanLength; +/*--------------------------------------------------------------------------*/ + FxaaBool directionN = dstN < dstP; + FxaaFloat dst = min(dstN, dstP); + FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; + FxaaFloat subpixG = subpixF * subpixF; + FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; + FxaaFloat subpixH = subpixG * fxaaQualitySubpix; +/*--------------------------------------------------------------------------*/ + FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; + FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); + if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; + if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; + return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); +} +`;var GU=`uniform vec4 u_initialColor; + +#if TEXTURE_UNITS > 0 +uniform sampler2D u_dayTextures[TEXTURE_UNITS]; +uniform vec4 u_dayTextureTranslationAndScale[TEXTURE_UNITS]; +uniform bool u_dayTextureUseWebMercatorT[TEXTURE_UNITS]; + +#ifdef APPLY_ALPHA +uniform float u_dayTextureAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_DAY_NIGHT_ALPHA +uniform float u_dayTextureNightAlpha[TEXTURE_UNITS]; +uniform float u_dayTextureDayAlpha[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SPLIT +uniform float u_dayTextureSplit[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_BRIGHTNESS +uniform float u_dayTextureBrightness[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_CONTRAST +uniform float u_dayTextureContrast[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_HUE +uniform float u_dayTextureHue[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_SATURATION +uniform float u_dayTextureSaturation[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_GAMMA +uniform float u_dayTextureOneOverGamma[TEXTURE_UNITS]; +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C +#ifdef APPLY_INVERT_COLOR_MARS3D +uniform bool u_mars3dTextureInvertColor[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_FILTER_COLOR_MARS3D +uniform vec3 u_mars3dTextureFilterColor[TEXTURE_UNITS]; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + +#ifdef APPLY_IMAGERY_CUTOUT +uniform vec4 u_dayTextureCutoutRectangles[TEXTURE_UNITS]; +#endif + +#ifdef APPLY_COLOR_TO_ALPHA +uniform vec4 u_colorsToAlpha[TEXTURE_UNITS]; +#endif + +uniform vec4 u_dayTextureTexCoordsRectangle[TEXTURE_UNITS]; +#endif + +#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) +uniform sampler2D u_waterMask; +uniform vec4 u_waterMaskTranslationAndScale; +uniform float u_zoomedOutOceanSpecularIntensity; +#endif + +#ifdef SHOW_OCEAN_WAVES +uniform sampler2D u_oceanNormalMap; +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) +uniform vec2 u_lightingFadeDistance; +#endif + +#ifdef TILE_LIMIT_RECTANGLE +uniform vec4 u_cartographicLimitRectangle; +#endif + +#ifdef GROUND_ATMOSPHERE +uniform vec2 u_nightFadeDistance; +#endif + +#ifdef ENABLE_CLIPPING_PLANES +uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS +uniform highp sampler2D u_clippingDistance; +in vec2 v_clippingPosition; +flat in int v_regionIndex; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) && defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) +uniform float u_minimumBrightness; +#endif + +#ifdef COLOR_CORRECT +uniform vec3 u_hsbShift; // Hue, saturation, brightness +#endif + +#ifdef HIGHLIGHT_FILL_TILE +uniform vec4 u_fillHighlightColor; +#endif + +#ifdef TRANSLUCENT +uniform vec4 u_frontFaceAlphaByDistance; +uniform vec4 u_backFaceAlphaByDistance; +uniform vec4 u_translucencyRectangle; +#endif + +#ifdef UNDERGROUND_COLOR +uniform vec4 u_undergroundColor; +uniform vec4 u_undergroundColorAlphaByDistance; +#endif + +#ifdef ENABLE_VERTEX_LIGHTING +uniform float u_lambertDiffuseMultiplier; +uniform float u_vertexShadowDarkness; +#endif + +in vec3 v_positionMC; +in vec3 v_positionEC; +in vec3 v_textureCoordinates; +in vec3 v_normalMC; +in vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +in float v_height; +in float v_slope; +in float v_aspect; +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) +#ifdef APPLY_MARS3D_FLOOD +uniform bool u_mars_flood_enabled; +uniform bool u_mars_flood_only; +uniform vec4 u_mars_flood_rectangle; +uniform highp sampler2D u_mars_flood_texture; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 +#ifdef APPLY_MARS3D_CLIP +uniform bool u_mars_clip_enabled; +uniform bool u_mars_clip_only; +uniform vec4 u_mars_clip_rectangle; +uniform highp sampler2D u_mars_clip_texture; +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 +uniform highp float u_mars_inverseTileWidth; +uniform highp vec2 u_mars_cartographicTileRectangle; + +bool inAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture) { + float lo = v_textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; + float la = v_textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; + + float newX = (lo - rectangle.x) / rectangle.z; + float newY = (la - rectangle.y) / rectangle.w; + + if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ + vec4 point = texture(rangeTexture, vec2(newX, newY)); + return point.r > 0.0; + } + + return false; +} +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u7F16\u8F91\u901A\u7528\u7684\u8303\u56F4\u5224\u65AD\u65B9\u6CD5\uFF08\u542B \u5730\u5F62\u62AC\u5347/\u5730\u5F62\u538B\u5E73/\u5730\u5F62\u5F00\u6316/\u5730\u5F62\u533A\u57DF\u6750\u8D28\uFF09 + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +in float v_distance; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) +in vec3 v_atmosphereRayleighColor; +in vec3 v_atmosphereMieColor; +in float v_atmosphereOpacity; +#endif + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 +#ifdef APPLY_MARS3D_UPLIFT +uniform vec4 u_mars_uplift_rectangle; +uniform highp sampler2D u_mars_uplift_texture; +uniform bool u_mars_uplift_enabled; +uniform bool u_mars_uplift_hideInsideOrOutside; +#endif +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} +#endif + +#if defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) || defined(APPLY_MATERIAL) +vec4 alphaBlend(vec4 sourceColor, vec4 destinationColor) +{ + return sourceColor * vec4(sourceColor.aaa, 1.0) + destinationColor * (1.0 - sourceColor.a); +} +#endif + +#ifdef TRANSLUCENT +bool inTranslucencyRectangle() +{ + return + v_textureCoordinates.x > u_translucencyRectangle.x && + v_textureCoordinates.x < u_translucencyRectangle.z && + v_textureCoordinates.y > u_translucencyRectangle.y && + v_textureCoordinates.y < u_translucencyRectangle.w; +} +#endif + +vec4 sampleAndBlend( + vec4 previousColor, + sampler2D textureToSample, + vec2 tileTextureCoordinates, + vec4 textureCoordinateRectangle, + vec4 textureCoordinateTranslationAndScale, + float textureAlpha, + float textureNightAlpha, + float textureDayAlpha, + float textureBrightness, + float textureContrast, + float textureHue, + float textureSaturation, + float textureOneOverGamma, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + bool textureInvertColor, + vec3 texturefilterColor, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + float split, + vec4 colorToAlpha, + float nightBlend) +{ + // This crazy step stuff sets the alpha to 0.0 if this following condition is true: + // tileTextureCoordinates.s < textureCoordinateRectangle.s || + // tileTextureCoordinates.s > textureCoordinateRectangle.p || + // tileTextureCoordinates.t < textureCoordinateRectangle.t || + // tileTextureCoordinates.t > textureCoordinateRectangle.q + // In other words, the alpha is zero if the fragment is outside the rectangle + // covered by this texture. Would an actual 'if' yield better performance? + vec2 alphaMultiplier = step(textureCoordinateRectangle.st, tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + + alphaMultiplier = step(vec2(0.0), textureCoordinateRectangle.pq - tileTextureCoordinates); + textureAlpha = textureAlpha * alphaMultiplier.x * alphaMultiplier.y; + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + textureAlpha *= mix(textureDayAlpha, textureNightAlpha, nightBlend); +#endif + + vec2 translation = textureCoordinateTranslationAndScale.xy; + vec2 scale = textureCoordinateTranslationAndScale.zw; + vec2 textureCoordinates = tileTextureCoordinates * scale + translation; + vec4 value = texture(textureToSample, textureCoordinates); + vec3 color = value.rgb; + float alpha = value.a; + +#ifdef APPLY_COLOR_TO_ALPHA + vec3 colorDiff = abs(color.rgb - colorToAlpha.rgb); + colorDiff.r = czm_maximumComponent(colorDiff); + alpha = czm_branchFreeTernary(colorDiff.r < colorToAlpha.a, 0.0, alpha); +#endif + +#if !defined(APPLY_GAMMA) + vec4 tempColor = czm_gammaCorrect(vec4(color, alpha)); + color = tempColor.rgb; + alpha = tempColor.a; +#else + color = pow(color, vec3(textureOneOverGamma)); +#endif + +#ifdef APPLY_SPLIT + float splitPosition = czm_splitPosition; + // Split to the left + if (split < 0.0 && gl_FragCoord.x > splitPosition) { + alpha = 0.0; + } + // Split to the right + else if (split > 0.0 && gl_FragCoord.x < splitPosition) { + alpha = 0.0; + } +#endif + +#ifdef APPLY_BRIGHTNESS + color = mix(vec3(0.0), color, textureBrightness); +#endif + +#ifdef APPLY_CONTRAST + color = mix(vec3(0.5), color, textureContrast); +#endif + +#ifdef APPLY_HUE + color = czm_hue(color, textureHue); +#endif + +#ifdef APPLY_SATURATION + color = czm_saturation(color, textureSaturation); +#endif + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C +#ifdef APPLY_INVERT_COLOR_MARS3D + if(textureInvertColor) { + color = vec3(1.0 - color.r, 1.0 - color.g, 1.0 - color.b); + } +#endif + +#ifdef APPLY_FILTER_COLOR_MARS3D + if(texturefilterColor.x != 1.0 || texturefilterColor.y != 1.0 || texturefilterColor.z != 1.0) { + color = vec3(color.r * texturefilterColor.x, color.g * texturefilterColor.y, color.b * texturefilterColor.z); + } +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + + float sourceAlpha = alpha * textureAlpha; + float outAlpha = mix(previousColor.a, 1.0, sourceAlpha); + outAlpha += sign(outAlpha) - 1.0; + + vec3 outColor = mix(previousColor.rgb * previousColor.a, color, sourceAlpha) / outAlpha; + + // When rendering imagery for a tile in multiple passes, + // some GPU/WebGL implementation combinations will not blend fragments in + // additional passes correctly if their computation includes an unmasked + // divide-by-zero operation, + // even if it's not in the output or if the output has alpha zero. + // + // For example, without sanitization for outAlpha, + // this renders without artifacts: + // if (outAlpha == 0.0) { outColor = vec3(0.0); } + // + // but using czm_branchFreeTernary will cause portions of the tile that are + // alpha-zero in the additional pass to render as black instead of blending + // with the previous pass: + // outColor = czm_branchFreeTernary(outAlpha == 0.0, vec3(0.0), outColor); + // + // So instead, sanitize against divide-by-zero, + // store this state on the sign of outAlpha, and correct on return. + + return vec4(outColor, max(outAlpha, 0.0)); +} + +vec3 colorCorrect(vec3 rgb) { +#ifdef COLOR_CORRECT + // Convert rgb color to hsb + vec3 hsb = czm_RGBToHSB(rgb); + // Perform hsb shift + hsb.x += u_hsbShift.x; // hue + hsb.y = clamp(hsb.y + u_hsbShift.y, 0.0, 1.0); // saturation + hsb.z = hsb.z > czm_epsilon7 ? hsb.z + u_hsbShift.z : 0.0; // brightness + // Convert shifted hsb back to rgb + rgb = czm_HSBToRGB(hsb); +#endif + return rgb; +} + +vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend); +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float specularMapValue, float fade); + +const float fExposure = 2.0; + +vec3 computeEllipsoidPosition() +{ + float mpp = czm_metersPerPixel(vec4(0.0, 0.0, -czm_currentFrustum.x, 1.0), 1.0); + vec2 xy = gl_FragCoord.xy / czm_viewport.zw * 2.0 - vec2(1.0); + xy *= czm_viewport.zw * mpp * 0.5; + + vec3 direction = normalize(vec3(xy, -czm_currentFrustum.x)); + czm_ray ray = czm_ray(vec3(0.0), direction); + + vec3 ellipsoid_center = czm_view[3].xyz; + + czm_raySegment intersection = czm_rayEllipsoidIntersectionInterval(ray, ellipsoid_center, czm_ellipsoidInverseRadii); + + vec3 ellipsoidPosition = czm_pointAlongRay(ray, intersection.start); + return (czm_inverseView * vec4(ellipsoidPosition, 1.0)).xyz; +} + +void main() +{ + +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 +#ifdef APPLY_MARS3D_CLIP + if(u_mars_clip_enabled) { + if(u_mars_clip_only) { + if(!inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { + discard; + } + } else { + if(inAreaMars3DRange(u_mars_clip_rectangle, u_mars_clip_texture)) { + discard; + } + } + } +#endif +//\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u5F00\u6316 + +#ifdef TILE_LIMIT_RECTANGLE + if (v_textureCoordinates.x < u_cartographicLimitRectangle.x || u_cartographicLimitRectangle.z < v_textureCoordinates.x || + v_textureCoordinates.y < u_cartographicLimitRectangle.y || u_cartographicLimitRectangle.w < v_textureCoordinates.y) + { + discard; + } +#endif + +#ifdef ENABLE_CLIPPING_PLANES + float clipDistance = clip(gl_FragCoord, u_clippingPlanes, u_clippingPlanesMatrix); +#endif + +#if defined(SHOW_REFLECTIVE_OCEAN) || defined(ENABLE_DAYNIGHT_SHADING) || defined(HDR) + vec3 normalMC = czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0)); // normalized surface normal in model coordinates + vec3 normalEC = czm_normal3D * normalMC; // normalized surface normal in eye coordinates +#endif + +#if defined(APPLY_DAY_NIGHT_ALPHA) && defined(ENABLE_DAYNIGHT_SHADING) + float nightBlend = 1.0 - clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0, 0.0, 1.0); +#else + float nightBlend = 0.0; +#endif + + // The clamp below works around an apparent bug in Chrome Canary v23.0.1241.0 + // where the fragment shader sees textures coordinates < 0.0 and > 1.0 for the + // fragments on the edges of tiles even though the vertex shader is outputting + // coordinates strictly in the 0-1 range. + vec4 color = computeDayColor(u_initialColor, clamp(v_textureCoordinates, 0.0, 1.0), nightBlend); + +#ifdef SHOW_TILE_BOUNDARIES + if (v_textureCoordinates.x < (1.0/256.0) || v_textureCoordinates.x > (255.0/256.0) || + v_textureCoordinates.y < (1.0/256.0) || v_textureCoordinates.y > (255.0/256.0)) + { + color = vec4(1.0, 0.0, 0.0, 1.0); + } +#endif + +#if defined(ENABLE_DAYNIGHT_SHADING) || defined(GROUND_ATMOSPHERE) + float cameraDist; + if (czm_sceneMode == czm_sceneMode2D) + { + cameraDist = max(czm_frustumPlanes.x - czm_frustumPlanes.y, czm_frustumPlanes.w - czm_frustumPlanes.z) * 0.5; + } + else if (czm_sceneMode == czm_sceneModeColumbusView) + { + cameraDist = -czm_view[3].z; + } + else + { + cameraDist = length(czm_view[3]); + } + float fadeOutDist = u_lightingFadeDistance.x; + float fadeInDist = u_lightingFadeDistance.y; + if (czm_sceneMode != czm_sceneMode3D) { + vec3 radii = czm_ellipsoidRadii; + float maxRadii = max(radii.x, max(radii.y, radii.z)); + fadeOutDist -= maxRadii; + fadeInDist -= maxRadii; + } + float fade = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.0, 1.0); +#else + float fade = 0.0; +#endif + +#if defined(HAS_WATER_MASK) && (defined(SHOW_REFLECTIVE_OCEAN) || defined(APPLY_MATERIAL)) + vec2 waterMaskTranslation = u_waterMaskTranslationAndScale.xy; + vec2 waterMaskScale = u_waterMaskTranslationAndScale.zw; + vec2 waterMaskTextureCoordinates = v_textureCoordinates.xy * waterMaskScale + waterMaskTranslation; + waterMaskTextureCoordinates.y = 1.0 - waterMaskTextureCoordinates.y; + + float mask = texture(u_waterMask, waterMaskTextureCoordinates).r; + + #ifdef SHOW_REFLECTIVE_OCEAN + if (mask > 0.0) + { + mat3 enuToEye = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalEC); + + vec2 ellipsoidTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC); + vec2 ellipsoidFlippedTextureCoordinates = czm_ellipsoidTextureCoordinates(normalMC.zyx); + + vec2 textureCoordinates = mix(ellipsoidTextureCoordinates, ellipsoidFlippedTextureCoordinates, czm_morphTime * smoothstep(0.9, 0.95, normalMC.z)); + + color = computeWaterColor(v_positionEC, textureCoordinates, enuToEye, color, mask, fade); + } + #endif +#endif + +#ifdef APPLY_MATERIAL + czm_materialInput materialInput; + materialInput.st = v_textureCoordinates.st; + materialInput.normalEC = normalize(v_normalEC); + materialInput.positionToEyeEC = -v_positionEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, normalize(v_normalEC)); + materialInput.slope = v_slope; + materialInput.height = v_height; + materialInput.aspect = v_aspect; + #ifdef HAS_WATER_MASK + materialInput.waterMask = mask; + #endif + + czm_material material = czm_getMaterial(materialInput); + + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + bool hasAlphaBlend = true; + #ifdef APPLY_MARS3D_FLOOD + hasAlphaBlend = !u_mars_flood_enabled || (u_mars_flood_enabled && inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)); + if(u_mars_flood_enabled) { + if(u_mars_flood_only) { + if(! inAreaMars3DRange(u_mars_flood_rectangle, u_mars_flood_texture)) { + discard; + } + } + } + #endif + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-07-19 \u5730\u5F62\u533A\u57DF\u6750\u8D28(\u6DF9\u6CA1\uFF0C\u7B49\u9AD8\u7EBF) + + if(hasAlphaBlend) { + vec4 materialColor = vec4(material.diffuse, material.alpha); + color = alphaBlend(materialColor, color); + } + +#endif + +#ifdef ENABLE_VERTEX_LIGHTING + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalize(v_normalEC)) * u_lambertDiffuseMultiplier + u_vertexShadowDarkness, 0.0, 1.0); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#elif defined(ENABLE_DAYNIGHT_SHADING) + float diffuseIntensity = clamp(czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * 5.0 + 0.3, 0.0, 1.0); + diffuseIntensity = mix(1.0, diffuseIntensity, fade); + vec4 finalColor = vec4(color.rgb * czm_lightColor * diffuseIntensity, color.a); +#else + vec4 finalColor = color; +#endif + +#ifdef ENABLE_CLIPPING_PLANES + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = u_clippingPlanesEdgeStyle.rgb; + float clippingPlanesEdgeWidth = u_clippingPlanesEdgeStyle.a; + + if (clipDistance < clippingPlanesEdgeWidth) + { + finalColor = clippingPlanesEdgeColor; + } +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS + vec2 clippingPosition = v_clippingPosition; + int regionIndex = v_regionIndex; + clipPolygons(u_clippingDistance, CLIPPING_POLYGON_REGIONS_LENGTH, clippingPosition, regionIndex); +#endif + +#ifdef HIGHLIGHT_FILL_TILE + finalColor = vec4(mix(finalColor.rgb, u_fillHighlightColor.rgb, u_fillHighlightColor.a), finalColor.a); +#endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + +#if defined(GROUND_ATMOSPHERE) || defined(FOG) + if (!czm_backFacing()) + { + bool dynamicLighting = false; + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + + vec3 rayleighColor; + vec3 mieColor; + float opacity; + + vec3 positionWC; + vec3 lightDirection; + + // When the camera is far away (camera distance > nightFadeOutDistance), the scattering is computed in the fragment shader. + // Otherwise, the scattering is computed in the vertex shader. + #ifdef PER_FRAGMENT_GROUND_ATMOSPHERE + positionWC = computeEllipsoidPosition(); + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + computeAtmosphereScattering( + positionWC, + lightDirection, + rayleighColor, + mieColor, + opacity + ); + #else + positionWC = v_positionMC; + lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(positionWC)); + rayleighColor = v_atmosphereRayleighColor; + mieColor = v_atmosphereMieColor; + opacity = v_atmosphereOpacity; + #endif + + #ifdef COLOR_CORRECT + const bool ignoreBlackPixels = true; + rayleighColor = czm_applyHSBShift(rayleighColor, u_hsbShift, ignoreBlackPixels); + mieColor = czm_applyHSBShift(mieColor, u_hsbShift, ignoreBlackPixels); + #endif + + vec4 groundAtmosphereColor = computeAtmosphereColor(positionWC, lightDirection, rayleighColor, mieColor, opacity); + + // Fog is applied to tiles selected for fog, close to the Earth. + #ifdef FOG + vec3 fogColor = groundAtmosphereColor.rgb; + + // If there is lighting, apply that to the fog. + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float darken = clamp(dot(normalize(czm_viewerPositionWC), atmosphereLightDirection), u_minimumBrightness, 1.0); + fogColor *= darken; + #endif + + #ifndef HDR + fogColor.rgb = czm_pbrNeutralTonemapping(fogColor.rgb); + fogColor.rgb = czm_inverseGamma(fogColor.rgb); + #endif + + finalColor = vec4(czm_fog(v_distance, finalColor.rgb, fogColor.rgb, czm_fogVisualDensityScalar), finalColor.a); + + #else + // Apply ground atmosphere. This happens when the camera is far away from the earth. + + // The transmittance is based on optical depth i.e. the length of segment of the ray inside the atmosphere. + // This value is larger near the "circumference", as it is further away from the camera. We use it to + // brighten up that area of the ground atmosphere. + const float transmittanceModifier = 0.5; + float transmittance = transmittanceModifier + clamp(1.0 - groundAtmosphereColor.a, 0.0, 1.0); + + vec3 finalAtmosphereColor = finalColor.rgb + groundAtmosphereColor.rgb * transmittance; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_VERTEX_LIGHTING) || defined(ENABLE_DAYNIGHT_SHADING)) + float fadeInDist = u_nightFadeDistance.x; + float fadeOutDist = u_nightFadeDistance.y; + + float sunlitAtmosphereIntensity = clamp((cameraDist - fadeOutDist) / (fadeInDist - fadeOutDist), 0.05, 1.0); + float darken = clamp(dot(normalize(positionWC), atmosphereLightDirection), 0.0, 1.0); + vec3 darkenendGroundAtmosphereColor = mix(groundAtmosphereColor.rgb, finalAtmosphereColor.rgb, darken); + + finalAtmosphereColor = mix(darkenendGroundAtmosphereColor, finalAtmosphereColor, sunlitAtmosphereIntensity); + #endif + + #ifndef HDR + finalAtmosphereColor.rgb = vec3(1.0) - exp(-fExposure * finalAtmosphereColor.rgb); + #else + finalAtmosphereColor.rgb = czm_saturation(finalAtmosphereColor.rgb, 1.6); + #endif + + finalColor.rgb = mix(finalColor.rgb, finalAtmosphereColor.rgb, fade); + #endif + } +#endif + +#ifdef UNDERGROUND_COLOR + if (czm_backFacing()) + { + float distanceFromEllipsoid = max(czm_eyeHeight, 0.0); + float distance = max(v_distance - distanceFromEllipsoid, 0.0); + float blendAmount = interpolateByDistance(u_undergroundColorAlphaByDistance, distance); + vec4 undergroundColor = vec4(u_undergroundColor.rgb, u_undergroundColor.a * blendAmount); + finalColor = alphaBlend(undergroundColor, finalColor); + } +#endif + +#ifdef TRANSLUCENT + if (inTranslucencyRectangle()) + { + vec4 alphaByDistance = gl_FrontFacing ? u_frontFaceAlphaByDistance : u_backFaceAlphaByDistance; + finalColor.a *= interpolateByDistance(alphaByDistance, v_distance); + } +#endif + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u62AC\u5347 +#ifdef APPLY_MARS3D_UPLIFT + if(u_mars_uplift_enabled) { + bool isInSlopeRampRectangle = inAreaMars3DRange(u_mars_uplift_rectangle, u_mars_uplift_texture); + if(isInSlopeRampRectangle == u_mars_uplift_hideInsideOrOutside) { + discard; + } + } +#endif + + out_FragColor = finalColor; +} + + +#ifdef SHOW_REFLECTIVE_OCEAN + +float waveFade(float edge0, float edge1, float x) +{ + float y = clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); + return pow(1.0 - y, 5.0); +} + +float linearFade(float edge0, float edge1, float x) +{ + return clamp((x - edge0) / (edge1 - edge0), 0.0, 1.0); +} + +// Based on water rendering by Jonas Wagner: +// http://29a.ch/2012/7/19/webgl-terrain-rendering-water-fog + +// low altitude wave settings +const float oceanFrequencyLowAltitude = 825000.0; +const float oceanAnimationSpeedLowAltitude = 0.004; +const float oceanOneOverAmplitudeLowAltitude = 1.0 / 2.0; +const float oceanSpecularIntensity = 0.5; + +// high altitude wave settings +const float oceanFrequencyHighAltitude = 125000.0; +const float oceanAnimationSpeedHighAltitude = 0.008; +const float oceanOneOverAmplitudeHighAltitude = 1.0 / 2.0; + +vec4 computeWaterColor(vec3 positionEyeCoordinates, vec2 textureCoordinates, mat3 enuToEye, vec4 imageryColor, float maskValue, float fade) +{ + vec3 positionToEyeEC = -positionEyeCoordinates; + float positionToEyeECLength = length(positionToEyeEC); + + // The double normalize below works around a bug in Firefox on Android devices. + vec3 normalizedPositionToEyeEC = normalize(normalize(positionToEyeEC)); + + // Fade out the waves as the camera moves far from the surface. + float waveIntensity = waveFade(70000.0, 1000000.0, positionToEyeECLength); + +#ifdef SHOW_OCEAN_WAVES + // high altitude waves + float time = czm_frameNumber * oceanAnimationSpeedHighAltitude; + vec4 noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyHighAltitude, time, 0.0); + vec3 normalTangentSpaceHighAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeHighAltitude); + + // low altitude waves + time = czm_frameNumber * oceanAnimationSpeedLowAltitude; + noise = czm_getWaterNoise(u_oceanNormalMap, textureCoordinates * oceanFrequencyLowAltitude, time, 0.0); + vec3 normalTangentSpaceLowAltitude = vec3(noise.xy, noise.z * oceanOneOverAmplitudeLowAltitude); + + // blend the 2 wave layers based on distance to surface + float highAltitudeFade = linearFade(0.0, 60000.0, positionToEyeECLength); + float lowAltitudeFade = 1.0 - linearFade(20000.0, 60000.0, positionToEyeECLength); + vec3 normalTangentSpace = + (highAltitudeFade * normalTangentSpaceHighAltitude) + + (lowAltitudeFade * normalTangentSpaceLowAltitude); + normalTangentSpace = normalize(normalTangentSpace); + + // fade out the normal perturbation as we move farther from the water surface + normalTangentSpace.xy *= waveIntensity; + normalTangentSpace = normalize(normalTangentSpace); +#else + vec3 normalTangentSpace = vec3(0.0, 0.0, 1.0); +#endif + + vec3 normalEC = enuToEye * normalTangentSpace; + + const vec3 waveHighlightColor = vec3(0.3, 0.45, 0.6); + + // Use diffuse light to highlight the waves + float diffuseIntensity = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC) * maskValue; + vec3 diffuseHighlight = waveHighlightColor * diffuseIntensity * (1.0 - fade); + +#ifdef SHOW_OCEAN_WAVES + // Where diffuse light is low or non-existent, use wave highlights based solely on + // the wave bumpiness and no particular light direction. + float tsPerturbationRatio = normalTangentSpace.z; + vec3 nonDiffuseHighlight = mix(waveHighlightColor * 5.0 * (1.0 - tsPerturbationRatio), vec3(0.0), diffuseIntensity); +#else + vec3 nonDiffuseHighlight = vec3(0.0); +#endif + + // Add specular highlights in 3D, and in all modes when zoomed in. + float specularIntensity = czm_getSpecular(czm_lightDirectionEC, normalizedPositionToEyeEC, normalEC, 10.0); + float surfaceReflectance = mix(0.0, mix(u_zoomedOutOceanSpecularIntensity, oceanSpecularIntensity, waveIntensity), maskValue); + float specular = specularIntensity * surfaceReflectance; + +#ifdef HDR + specular *= 1.4; + + float e = 0.2; + float d = 3.3; + float c = 1.7; + + vec3 color = imageryColor.rgb + (c * (vec3(e) + imageryColor.rgb * d) * (diffuseHighlight + nonDiffuseHighlight + specular)); +#else + vec3 color = imageryColor.rgb + diffuseHighlight + nonDiffuseHighlight + specular; +#endif + + return vec4(color, imageryColor.a); +} + +#endif // #ifdef SHOW_REFLECTIVE_OCEAN +`;var WU=`#ifdef QUANTIZATION_BITS12 +in vec4 compressed0; +in float compressed1; +#else +in vec4 position3DAndHeight; +in vec4 textureCoordAndEncodedNormals; +#endif + +#ifdef GEODETIC_SURFACE_NORMALS +in vec3 geodeticSurfaceNormal; +#endif + +#ifdef EXAGGERATION +uniform vec2 u_verticalExaggerationAndRelativeHeight; +#endif + +uniform vec3 u_center3D; +uniform mat4 u_modifiedModelView; +uniform mat4 u_modifiedModelViewProjection; +uniform vec4 u_tileRectangle; + +// Uniforms for 2D Mercator projection +uniform vec2 u_southAndNorthLatitude; +uniform vec2 u_southMercatorYAndOneOverHeight; + +out vec3 v_positionMC; +out vec3 v_positionEC; + +out vec3 v_textureCoordinates; +out vec3 v_normalMC; +out vec3 v_normalEC; + +#ifdef APPLY_MATERIAL +out float v_slope; +out float v_aspect; +out float v_height; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) +out float v_distance; +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) +out vec3 v_atmosphereRayleighColor; +out vec3 v_atmosphereMieColor; +out float v_atmosphereOpacity; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS +uniform highp sampler2D u_clippingExtents; +out vec2 v_clippingPosition; +flat out int v_regionIndex; +#endif + +// These functions are generated at runtime. +vec4 getPosition(vec3 position, float height, vec2 textureCoordinates); +float get2DYPositionFraction(vec2 textureCoordinates); + +vec4 getPosition3DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return u_modifiedModelViewProjection * vec4(position, 1.0); +} + +float get2DMercatorYPositionFraction(vec2 textureCoordinates) +{ + // The width of a tile at level 11, in radians and assuming a single root tile, is + // 2.0 * czm_pi / pow(2.0, 11.0) + // We want to just linearly interpolate the 2D position from the texture coordinates + // when we're at this level or higher. The constant below is the expression + // above evaluated and then rounded up at the 4th significant digit. + const float maxTileWidth = 0.003068; + float positionFraction = textureCoordinates.y; + float southLatitude = u_southAndNorthLatitude.x; + float northLatitude = u_southAndNorthLatitude.y; + if (northLatitude - southLatitude > maxTileWidth) + { + float southMercatorY = u_southMercatorYAndOneOverHeight.x; + float oneOverMercatorHeight = u_southMercatorYAndOneOverHeight.y; + + float currentLatitude = mix(southLatitude, northLatitude, textureCoordinates.y); + currentLatitude = clamp(currentLatitude, -czm_webMercatorMaxLatitude, czm_webMercatorMaxLatitude); + positionFraction = czm_latitudeToWebMercatorFraction(currentLatitude, southMercatorY, oneOverMercatorHeight); + } + return positionFraction; +} + +float get2DGeographicYPositionFraction(vec2 textureCoordinates) +{ + return textureCoordinates.y; +} + +vec4 getPositionPlanarEarth(vec3 position, float height, vec2 textureCoordinates) +{ + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 rtcPosition2D = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + return u_modifiedModelViewProjection * rtcPosition2D; +} + +vec4 getPosition2DMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, 0.0, textureCoordinates); +} + +vec4 getPositionColumbusViewMode(vec3 position, float height, vec2 textureCoordinates) +{ + return getPositionPlanarEarth(position, height, textureCoordinates); +} + +vec4 getPositionMorphingMode(vec3 position, float height, vec2 textureCoordinates) +{ + // We do not do RTC while morphing, so there is potential for jitter. + // This is unlikely to be noticeable, though. + vec3 position3DWC = position + u_center3D; + float yPositionFraction = get2DYPositionFraction(textureCoordinates); + vec4 position2DWC = vec4(height, mix(u_tileRectangle.st, u_tileRectangle.pq, vec2(textureCoordinates.x, yPositionFraction)), 1.0); + vec4 morphPosition = czm_columbusViewMorph(position2DWC, vec4(position3DWC, 1.0), czm_morphTime); + return czm_modelViewProjection * morphPosition; +} + +#ifdef QUANTIZATION_BITS12 +uniform vec2 u_minMaxHeight; +uniform mat4 u_scaleAndBias; +#endif + + +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 +#ifdef APPLY_MARS3D_FLAT +uniform bool u_mars_flat_enabled; +uniform vec4 u_mars_flat_rectangle; +uniform highp sampler2D u_mars_flat_texture; + +uniform highp float u_mars_inverseTileWidth; +uniform highp vec2 u_mars_cartographicTileRectangle; + +vec4 getAreaMars3DRange(vec4 rectangle, sampler2D rangeTexture, vec2 textureCoordinates) { + float lo = textureCoordinates.x / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.x; + float la = textureCoordinates.y / u_mars_inverseTileWidth + u_mars_cartographicTileRectangle.y; + + float newX = (lo - rectangle.x) / rectangle.z; + float newY = (la - rectangle.y) / rectangle.w; + + vec4 point; + if(newX >= 0.0 && newX <= 1.0 && newY >= 0.0 && newY <= 1.0){ + vec4 point = texture(rangeTexture, vec2(newX, newY)); + return point; + }else{ + return vec4(0.0); + } +} +#endif +// \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 + + +void main() +{ +#ifdef QUANTIZATION_BITS12 + vec2 xy = czm_decompressTextureCoordinates(compressed0.x); + vec2 zh = czm_decompressTextureCoordinates(compressed0.y); + vec3 position = vec3(xy, zh.x); + float height = zh.y; + vec2 textureCoordinates = czm_decompressTextureCoordinates(compressed0.z); + + height = height * (u_minMaxHeight.y - u_minMaxHeight.x) + u_minMaxHeight.x; + position = (u_scaleAndBias * vec4(position, 1.0)).xyz; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL)) && defined(INCLUDE_WEB_MERCATOR_Y) || defined(APPLY_MATERIAL) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = compressed1; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = czm_decompressTextureCoordinates(compressed0.w).x; + float encodedNormal = 0.0; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = compressed0.w; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#else + // A single float per element + vec3 position = position3DAndHeight.xyz; + float height = position3DAndHeight.w; + vec2 textureCoordinates = textureCoordAndEncodedNormals.xy; + +#if (defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL)) && defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = textureCoordAndEncodedNormals.w; +#elif defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + float webMercatorT = textureCoordinates.y; + float encodedNormal = textureCoordAndEncodedNormals.z; +#elif defined(INCLUDE_WEB_MERCATOR_Y) + float webMercatorT = textureCoordAndEncodedNormals.z; + float encodedNormal = 0.0; +#else + float webMercatorT = textureCoordinates.y; + float encodedNormal = 0.0; +#endif + +#endif + + vec3 position3DWC = position + u_center3D; + +#ifdef GEODETIC_SURFACE_NORMALS + vec3 ellipsoidNormal = geodeticSurfaceNormal; +#else + vec3 ellipsoidNormal = normalize(position3DWC); +#endif + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + float exaggeration = u_verticalExaggerationAndRelativeHeight.x; + float relativeHeight = u_verticalExaggerationAndRelativeHeight.y; + float newHeight = (height - relativeHeight) * exaggeration + relativeHeight; + + // stop from going through center of earth + float minRadius = min(min(czm_ellipsoidRadii.x, czm_ellipsoidRadii.y), czm_ellipsoidRadii.z); + newHeight = max(newHeight, -minRadius); + + vec3 offset = ellipsoidNormal * (newHeight - height); + position += offset; + position3DWC += offset; + height = newHeight; +#endif + + // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 +#ifdef APPLY_MARS3D_FLAT + if(u_mars_flat_enabled) { + vec4 isInside = getAreaMars3DRange(u_mars_flat_rectangle,u_mars_flat_texture,textureCoordinates); + if(isInside.r>0.0 || isInside.g>0.0 || isInside.b>0.0 || isInside.a>0.0){ + float newHeight = czm_unpackFloat(isInside); + if(newHeight>-9999.0 && newHeight<9999.0){ + vec3 offset = (newHeight - height) * ellipsoidNormal; + position += offset; + position3DWC += offset; + height = newHeight; + // vec3 newPosition = (position3DWC + offset) - u_center3D; + } + } + } +#endif + // \u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Muyao 2023-02-20 \u5730\u5F62\u538B\u5E73 + + gl_Position = getPosition(position, height, textureCoordinates); + + v_positionEC = (u_modifiedModelView * vec4(position, 1.0)).xyz; + v_positionMC = position3DWC; // position in model coordinates + + v_textureCoordinates = vec3(textureCoordinates, webMercatorT); + +#if defined(ENABLE_VERTEX_LIGHTING) || defined(GENERATE_POSITION_AND_NORMAL) || defined(APPLY_MATERIAL) + vec3 normalMC = czm_octDecode(encodedNormal); + +#if defined(EXAGGERATION) && defined(GEODETIC_SURFACE_NORMALS) + vec3 projection = dot(normalMC, ellipsoidNormal) * ellipsoidNormal; + vec3 rejection = normalMC - projection; + normalMC = normalize(projection + rejection * exaggeration); +#endif + + v_normalMC = normalMC; + v_normalEC = czm_normal3D * v_normalMC; +#endif + +#ifdef ENABLE_CLIPPING_POLYGONS + vec2 sphericalLatLong = czm_approximateSphericalCoordinates(position3DWC); + sphericalLatLong.y = czm_branchFreeTernary(sphericalLatLong.y < czm_pi, sphericalLatLong.y, sphericalLatLong.y - czm_twoPi); + + vec2 minDistance = vec2(czm_infinity); + v_clippingPosition = vec2(czm_infinity); + v_regionIndex = -1; + + for (int regionIndex = 0; regionIndex < CLIPPING_POLYGON_REGIONS_LENGTH; regionIndex++) { + vec4 extents = unpackClippingExtents(u_clippingExtents, regionIndex); + vec2 rectUv = (sphericalLatLong.yx - extents.yx) * extents.wz; + + vec2 clamped = clamp(rectUv, vec2(0.0), vec2(1.0)); + vec2 distance = abs(rectUv - clamped) * extents.wz; + + float threshold = 0.01; + if (minDistance.x > distance.x || minDistance.y > distance.y) { + minDistance = distance; + v_clippingPosition = rectUv; + if (rectUv.x > threshold && rectUv.y > threshold && rectUv.x < 1.0 - threshold && rectUv.y < 1.0 - threshold) { + v_regionIndex = regionIndex; + } + } + } +#endif + +#if defined(FOG) || (defined(GROUND_ATMOSPHERE) && !defined(PER_FRAGMENT_GROUND_ATMOSPHERE)) + + bool dynamicLighting = false; + + #if defined(DYNAMIC_ATMOSPHERE_LIGHTING) && (defined(ENABLE_DAYNIGHT_SHADING) || defined(ENABLE_VERTEX_LIGHTING)) + dynamicLighting = true; + #endif + +#if defined(DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN) + vec3 atmosphereLightDirection = czm_sunDirectionWC; +#else + vec3 atmosphereLightDirection = czm_lightDirectionWC; +#endif + + vec3 lightDirection = czm_branchFreeTernary(dynamicLighting, atmosphereLightDirection, normalize(position3DWC)); + + computeAtmosphereScattering( + position3DWC, + lightDirection, + v_atmosphereRayleighColor, + v_atmosphereMieColor, + v_atmosphereOpacity + ); +#endif + +#if defined(FOG) || defined(GROUND_ATMOSPHERE) || defined(UNDERGROUND_COLOR) || defined(TRANSLUCENT) + v_distance = length((czm_modelView3D * vec4(position3DWC, 1.0)).xyz); +#endif + +#ifdef APPLY_MATERIAL + float northPoleZ = czm_ellipsoidRadii.z; + vec3 northPolePositionMC = vec3(0.0, 0.0, northPoleZ); + vec3 vectorEastMC = normalize(cross(northPolePositionMC - v_positionMC, ellipsoidNormal)); + float dotProd = abs(dot(ellipsoidNormal, v_normalMC)); + v_slope = acos(dotProd); + vec3 normalRejected = ellipsoidNormal * dotProd; + vec3 normalProjected = v_normalMC - normalRejected; + vec3 aspectVector = normalize(normalProjected); + v_aspect = acos(dot(aspectVector, vectorEastMC)); + float determ = dot(cross(vectorEastMC, aspectVector), ellipsoidNormal); + v_aspect = czm_branchFreeTernary(determ < 0.0, 2.0 * czm_pi - v_aspect, v_aspect); + v_height = height; +#endif +} +`;var FI=`void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity) { + + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + float atmosphereInnerRadius = length(positionWC); + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); +} +`;var jU=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(u_texture, v_textureCoordinates); +} +`;var qU=`in vec4 position; +in float webMercatorT; + +uniform vec2 u_textureDimensions; + +out vec2 v_textureCoordinates; + +void main() +{ + v_textureCoordinates = vec2(position.x, webMercatorT); + gl_Position = czm_viewportOrthographic * (position * vec4(u_textureDimensions, 1.0, 1.0)); +} +`;var BI=`float interpolateByDistance(vec4 nearFarScalar, float distance) +{ + float startDistance = nearFarScalar.x; + float startValue = nearFarScalar.y; + float endDistance = nearFarScalar.z; + float endValue = nearFarScalar.w; + float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); + return mix(startValue, endValue, t); +} + +void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) +{ + float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; + + // Adjustment to the atmosphere radius applied based on the camera height. + float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; + float distanceAdjustMax = czm_ellipsoidRadii.x; + float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; + float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); + + // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit + // for the position on the ellipsoid. + float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; + float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; + + // Setup the primary ray: from the camera position to the vertex position. + vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; + vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); + czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + + underTranslucentGlobe = 0.0; + + // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. + #if defined(GLOBE_TRANSLUCENT) + + // Check for intersection with the inner radius of the atmopshere. + czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); + if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { + + // Compute position on globe. + vec3 direction = normalize(positionWC); + czm_ray ellipsoidRay = czm_ray(positionWC, -direction); + czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); + vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); + + // Control the color using the camera angle. + float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); + + // Control the opacity using the distance from Earth. + opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); + vec3 horizonColor = vec3(0.1, 0.2, 0.3); + vec3 nearColor = vec3(0.0); + + rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); + + // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. + underTranslucentGlobe = 1.0; + return; + } + #endif + + computeScattering( + primaryRay, + length(cameraToPositionWC), + lightDirection, + atmosphereInnerRadius, + rayleighColor, + mieColor, + opacity + ); + + // Alter the opacity based on how close the viewer is to the ground. + // (0.0 = At edge of atmosphere, 1.0 = On ground) + float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; + float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; + opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); + + // Alter alpha based on time of day (0.0 = night , 1.0 = day) + float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; + opacity *= pow(nightAlpha, 0.5); +} +`;var YU=`in vec3 v_outerPositionWC; + +uniform vec3 u_hsbShift; + +#ifndef PER_FRAGMENT_ATMOSPHERE +in vec3 v_mieColor; +in vec3 v_rayleighColor; +in float v_opacity; +in float v_translucent; +#endif + +void main (void) +{ + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_outerPositionWC, lightEnum); + + vec3 mieColor; + vec3 rayleighColor; + float opacity; + float translucent; + + #ifdef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + v_outerPositionWC, + lightDirection, + rayleighColor, + mieColor, + opacity, + translucent + ); + #else + mieColor = v_mieColor; + rayleighColor = v_rayleighColor; + opacity = v_opacity; + translucent = v_translucent; + #endif + + vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); + + #ifndef HDR + color.rgb = czm_pbrNeutralTonemapping(color.rgb); + color.rgb = czm_inverseGamma(color.rgb); + #endif + + #ifdef COLOR_CORRECT + const bool ignoreBlackPixels = true; + color.rgb = czm_applyHSBShift(color.rgb, u_hsbShift, ignoreBlackPixels); + #endif + + // For the parts of the sky atmosphere that are not behind a translucent globe, + // we mix in the default opacity so that the sky atmosphere still appears at distance. + // This is needed because the opacity in the sky atmosphere is initially adjusted based + // on the camera height. + if (translucent == 0.0) { + color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); + } + + out_FragColor = color; +} +`;var XU=`in vec4 position; + +out vec3 v_outerPositionWC; + +#ifndef PER_FRAGMENT_ATMOSPHERE +out vec3 v_mieColor; +out vec3 v_rayleighColor; +out float v_opacity; +out float v_translucent; +#endif + +void main(void) +{ + vec4 positionWC = czm_model * position; + float lightEnum = u_radiiAndDynamicAtmosphereColor.z; + vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC.xyz, lightEnum); + + #ifndef PER_FRAGMENT_ATMOSPHERE + computeAtmosphereScattering( + positionWC.xyz, + lightDirection, + v_rayleighColor, + v_mieColor, + v_opacity, + v_translucent + ); + #endif + + v_outerPositionWC = positionWC.xyz; + gl_Position = czm_modelViewProjection * position; +} +`;var KU=`uniform samplerCube u_cubeMap; + +in vec3 v_texCoord; + +void main() +{ + vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); + out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); +} +`;var ZU=`in vec3 position; +out vec3 v_texCoord; + +void main() +{ + vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); + gl_Position = czm_projection * vec4(p, 1.0); + v_texCoord = position.xyz; +} +`;var $U=`uniform sampler2D u_texture; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color = texture(u_texture, v_textureCoordinates); + out_FragColor = czm_gammaCorrect(color); +} +`;var QU=`uniform float u_radiusTS; + +in vec2 v_textureCoordinates; + +vec2 rotate(vec2 p, vec2 direction) +{ + return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); +} + +vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) +{ + vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); + float radius = length(rotatedPosition) * lengthScalar; + float burst = 1.0 - smoothstep(0.0, 0.55, radius); + return vec4(burst); +} + +void main() +{ + float lengthScalar = 2.0 / sqrt(2.0); + vec2 position = v_textureCoordinates - vec2(0.5); + float radius = length(position) * lengthScalar; + float surface = step(radius, u_radiusTS); + vec4 color = vec4(vec2(1.0), surface + 0.2, surface); + + float glow = 1.0 - smoothstep(0.0, 0.55, radius); + color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; + + vec4 burst = vec4(0.0); + + // The following loop has been manually unrolled for speed, to + // avoid sin() and cos(). + // + //for (float i = 0.4; i < 3.2; i += 1.047) { + // vec2 direction = vec2(sin(i), cos(i)); + // burst += 0.4 * addBurst(position, direction, lengthScalar); + // + // direction = vec2(sin(i - 0.08), cos(i - 0.08)); + // burst += 0.3 * addBurst(position, direction, lengthScalar); + //} + + burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 + burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 + burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 + + burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 + burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 + + // End of manual loop unrolling. + + color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; + + out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); +} +`;var JU=`in vec2 direction; + +uniform float u_size; + +out vec2 v_textureCoordinates; + +void main() +{ + vec4 position; + if (czm_morphTime == 1.0) + { + position = vec4(czm_sunPositionWC, 1.0); + } + else + { + position = vec4(czm_sunPositionColumbusView.zxy, 1.0); + } + + vec4 positionEC = czm_view * position; + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + + vec2 halfSize = vec2(u_size * 0.5); + halfSize *= ((direction * 2.0) - 1.0); + + gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); + + v_textureCoordinates = direction; +} +`;var ez=` +in vec2 v_textureCoordinates; + +void main() +{ + czm_materialInput materialInput; + + materialInput.s = v_textureCoordinates.s; + materialInput.st = v_textureCoordinates; + materialInput.str = vec3(v_textureCoordinates, 0.0); + materialInput.normalEC = vec3(0.0, 0.0, -1.0); + + czm_material material = czm_getMaterial(materialInput); + + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +} +`;async function dX(e,t){let n=t.terrainProvider,i=t.mapProjection,o=i.ellipsoid,r,s=t.camera.getRectangleCameraCoordinates(e);if(t.mode===ne.SCENE3D?r=o.cartesianToCartographic(s):r=i.unproject(s),!l(n))return r;let a=n.availability;if(!l(a)||t.mode===ne.SCENE2D)return r;let c=[ae.center(e),ae.southeast(e),ae.southwest(e),ae.northeast(e),ae.northwest(e)],u=await dX._sampleTerrainMostDetailed(n,c),f=!1,d=u.reduce(function(g,m){return l(m.height)?(f=!0,Math.max(m.height,g)):g},-Number.MAX_VALUE),p=r;return f&&(p.height+=d),p}dX._sampleTerrainMostDetailed=qE;var KE=dX;var Pat=new U;function Oat(e,t){let n=e.unionClippingRegions,i=e.length,o=Ss.useFloatTexture(t),r=Ss.getTextureResolution(e,t,Pat),s=r.x,a=r.y,c=o?Lat(s,a):Nat(s,a);return c+=` +`,c+=n?Rat(i):Mat(i),c}function Rat(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount; + float pixelWidth = czm_metersPerPixel(position); + bool breakAndDiscard = false; + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = czm_branchFreeTernary(i == 0, amount, min(amount, clipAmount)); + if (amount <= 0.0) + { + breakAndDiscard = true; + break; + } + } + if (breakAndDiscard) { + discard; + } + return clipAmount; +} +`}function Mat(e){return`float clip(vec4 fragCoord, sampler2D clippingPlanes, mat4 clippingPlanesMatrix) +{ + bool clipped = true; + vec4 position = czm_windowToEyeCoordinates(fragCoord); + vec3 clipNormal = vec3(0.0); + vec3 clipPosition = vec3(0.0); + float clipAmount = 0.0; + float pixelWidth = czm_metersPerPixel(position); + for (int i = 0; i < ${e}; ++i) + { + vec4 clippingPlane = getClippingPlane(clippingPlanes, i, clippingPlanesMatrix); + clipNormal = clippingPlane.xyz; + clipPosition = -clippingPlane.w * clipNormal; + float amount = dot(clipNormal, (position.xyz - clipPosition)) / pixelWidth; + clipAmount = max(amount, clipAmount); + clipped = clipped && (amount <= 0.0); + } + if (clipped) + { + discard; + } + return clipAmount; +} +`}function Lat(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int pixY = clippingPlaneNumber / ${e}; + int pixX = clippingPlaneNumber - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 plane = texture(packedClippingPlanes, vec2(u, v)); + return czm_transformPlane(plane, transform); +} +`}function Nat(e,t){let n=1/e,i=1/t,o=`${n}`;o.indexOf(".")===-1&&(o+=".0");let r=`${i}`;return r.indexOf(".")===-1&&(r+=".0"),`vec4 getClippingPlane(highp sampler2D packedClippingPlanes, int clippingPlaneNumber, mat4 transform) +{ + int clippingPlaneStartIndex = clippingPlaneNumber * 2; + int pixY = clippingPlaneStartIndex / ${e}; + int pixX = clippingPlaneStartIndex - (pixY * ${e}); + float u = (float(pixX) + 0.5) * ${o}; + float v = (float(pixY) + 0.5) * ${r}; + vec4 oct32 = texture(packedClippingPlanes, vec2(u, v)) * 255.0; + vec2 oct = vec2(oct32.x * 256.0 + oct32.y, oct32.z * 256.0 + oct32.w); + vec4 plane; + plane.xyz = czm_octDecode(oct, 65535.0); + plane.w = czm_unpackFloat(texture(packedClippingPlanes, vec2(u + ${o}, v))); + return czm_transformPlane(plane, transform); +} +`}var r0=Oat;function Fat(e,t,n,i,o,r){this.numberOfDayTextures=e,this.flags=t,this.material=n,this.shaderProgram=i,this.clippingShaderState=o,this.clippingPolygonShaderState=r}function hX(){this.baseVertexShaderSource=void 0,this.baseFragmentShaderSource=void 0,this._shadersByTexturesFlags=[],this.material=void 0}function Bat(e){let t="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPosition3DMode(position, height, textureCoordinates); }",n="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionColumbusViewMode(position, height, textureCoordinates); }",i="vec4 getPosition(vec3 position, float height, vec2 textureCoordinates) { return getPositionMorphingMode(position, height, textureCoordinates); }",o;switch(e){case ne.SCENE3D:o=t;break;case ne.SCENE2D:case ne.COLUMBUS_VIEW:o=n;break;case ne.MORPHING:o=i;break}return o}function kat(e){return e.webgl2?`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { + czm_clipPolygons(clippingDistance, regionsLength, clippingPosition, regionIndex); + }`:`void clipPolygons(highp sampler2D clippingDistance, int regionsLength, vec2 clippingPosition, int regionIndex) { + }`}function Vat(e){return e.webgl2?`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { + return czm_unpackClippingExtents(extentsTexture, index); + }`:`vec4 unpackClippingExtents(highp sampler2D extentsTexture, int index) { + return vec4(); + }`}function Uat(e){return e?"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DMercatorYPositionFraction(textureCoordinates); }":"float get2DYPositionFraction(vec2 textureCoordinates) { return get2DGeographicYPositionFraction(textureCoordinates); }"}hX.prototype.getShaderProgram=function(e){let t=e.frameState,n=e.surfaceTile,i=e.numberOfDayTextures,o=e.applyBrightness,r=e.applyContrast,s=e.applyHue,a=e.applySaturation,c=e.applyGamma,u=e.applyAlpha,f=e.applyDayNightAlpha,d=e.applySplit,p=e.hasWaterMask,g=e.showReflectiveOcean,m=e.showOceanWaves,x=e.enableLighting,b=e.dynamicAtmosphereLighting,T=e.dynamicAtmosphereLightingFromSun,C=e.showGroundAtmosphere,A=e.perFragmentGroundAtmosphere,S=e.hasVertexNormals,v=e.useWebMercatorProjection,D=e.enableFog,R=e.enableClippingPlanes,O=e.clippingPlanes,M=e.enableClippingPolygons,N=e.clippingPolygons,_=e.clippedByBoundaries,E=e.hasImageryLayerCutout,w=e.colorCorrect,I=e.highlightFillTile,L=e.colorToAlpha,B=e.hasGeodeticSurfaceNormals,H=e.hasExaggeration,V=e.showUndergroundColor,G=e.translucent,k=e.marsOptions||{},W=0,Y="",j=n.renderedMesh.encoding;j.quantization===ga.BITS12&&(W=1,Y="QUANTIZATION_BITS12");let Q=0,he="";_&&(Q=1,he="TILE_LIMIT_RECTANGLE");let ye=0,re="";E&&(ye=1,re="APPLY_IMAGERY_CUTOUT");let _e=t.mode,xe=_e|o<<2|r<<3|s<<4|a<<5|c<<6|u<<7|p<<8|g<<9|m<<10|x<<11|b<<12|T<<13|C<<14|A<<15|S<<16|v<<17|D<<18|W<<19|d<<20|R<<21|M<<22|Q<<23|ye<<24|w<<25|I<<26|L<<27|B<<28|H<<29|V<<30|G<<31|f<<32,Ie=0;l(O)&&O.length>0&&(Ie=R?O.clippingPlanesState:0);let De=0;l(N)&&N.length>0&&(De=M?N.clippingPolygonsState:0);let Ne=n.surfaceShader;if(l(Ne)&&Ne.numberOfDayTextures===i&&Ne.flags===xe&&Ne.material===this.material&&Ne.clippingShaderState===Ie&&Ne.clippingPolygonShaderState===De)return Ne.shaderProgram;let Ce=this._shadersByTexturesFlags[i];if(l(Ce)||(Ce=this._shadersByTexturesFlags[i]=[]),Ne=Ce[xe],!l(Ne)||Ne.material!==this.material||Ne.clippingShaderState!==Ie||Ne.clippingPolygonShaderState!==De){let Be=this.baseVertexShaderSource.clone(),Ve=this.baseFragmentShaderSource.clone();Ie!==0&&Ve.sources.unshift(r0(O,t.context)),De!==0&&(Ve.sources.unshift(kat(t.context)),Be.sources.unshift(Vat(t.context))),k.enableUplift&&Ve.defines.push("APPLY_MARS3D_UPLIFT"),k.enableFlat&&Be.defines.push("APPLY_MARS3D_FLAT"),k.enableClip&&Ve.defines.push("APPLY_MARS3D_CLIP"),k.enableFlood&&Ve.defines.push("APPLY_MARS3D_FLOOD"),Be.defines.push(Y),Ve.defines.push(`TEXTURE_UNITS ${i}`,he,re),o&&Ve.defines.push("APPLY_BRIGHTNESS"),r&&Ve.defines.push("APPLY_CONTRAST"),s&&Ve.defines.push("APPLY_HUE"),a&&Ve.defines.push("APPLY_SATURATION"),c&&Ve.defines.push("APPLY_GAMMA"),k.invertColor&&Ve.defines.push("APPLY_INVERT_COLOR_MARS3D"),k.filterColor&&Ve.defines.push("APPLY_FILTER_COLOR_MARS3D"),u&&Ve.defines.push("APPLY_ALPHA"),f&&Ve.defines.push("APPLY_DAY_NIGHT_ALPHA"),p&&Ve.defines.push("HAS_WATER_MASK"),g&&(Ve.defines.push("SHOW_REFLECTIVE_OCEAN"),Be.defines.push("SHOW_REFLECTIVE_OCEAN")),m&&Ve.defines.push("SHOW_OCEAN_WAVES"),L&&Ve.defines.push("APPLY_COLOR_TO_ALPHA"),V&&(Be.defines.push("UNDERGROUND_COLOR"),Ve.defines.push("UNDERGROUND_COLOR")),G&&(Be.defines.push("TRANSLUCENT"),Ve.defines.push("TRANSLUCENT")),x&&(S?(Be.defines.push("ENABLE_VERTEX_LIGHTING"),Ve.defines.push("ENABLE_VERTEX_LIGHTING")):(Be.defines.push("ENABLE_DAYNIGHT_SHADING"),Ve.defines.push("ENABLE_DAYNIGHT_SHADING"))),b&&(Be.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),Ve.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING"),T&&(Be.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"),Ve.defines.push("DYNAMIC_ATMOSPHERE_LIGHTING_FROM_SUN"))),C&&(Be.defines.push("GROUND_ATMOSPHERE"),Ve.defines.push("GROUND_ATMOSPHERE"),A&&(Be.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"),Ve.defines.push("PER_FRAGMENT_GROUND_ATMOSPHERE"))),Be.defines.push("INCLUDE_WEB_MERCATOR_Y"),Ve.defines.push("INCLUDE_WEB_MERCATOR_Y"),D&&(Be.defines.push("FOG"),Ve.defines.push("FOG")),d&&Ve.defines.push("APPLY_SPLIT"),R&&Ve.defines.push("ENABLE_CLIPPING_PLANES"),M&&(Ve.defines.push("ENABLE_CLIPPING_POLYGONS"),Be.defines.push("ENABLE_CLIPPING_POLYGONS"),N.inverse&&Ve.defines.push("CLIPPING_INVERSE"),Ve.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${N.extentsCount}`),Be.defines.push(`CLIPPING_POLYGON_REGIONS_LENGTH ${N.extentsCount}`)),w&&Ve.defines.push("COLOR_CORRECT"),I&&Ve.defines.push("HIGHLIGHT_FILL_TILE"),B&&Be.defines.push("GEODETIC_SURFACE_NORMALS"),H&&Be.defines.push("EXAGGERATION");let $e=` vec4 computeDayColor(vec4 initialColor, vec3 textureCoordinates, float nightBlend) + { + vec4 color = initialColor; +`;E&&($e+=` vec4 cutoutAndColorResult; + bool texelUnclipped; +`);for(let pt=0;pt<i;++pt)E?$e+=` cutoutAndColorResult = u_dayTextureCutoutRectangles[${pt}]; + texelUnclipped = v_textureCoordinates.x < cutoutAndColorResult.x || cutoutAndColorResult.z < v_textureCoordinates.x || v_textureCoordinates.y < cutoutAndColorResult.y || cutoutAndColorResult.w < v_textureCoordinates.y; + cutoutAndColorResult = sampleAndBlend( +`:$e+=` color = sampleAndBlend( +`,$e+=` color, + u_dayTextures[${pt}], + u_dayTextureUseWebMercatorT[${pt}] ? textureCoordinates.xz : textureCoordinates.xy, + u_dayTextureTexCoordsRectangle[${pt}], + u_dayTextureTranslationAndScale[${pt}], + ${u?`u_dayTextureAlpha[${pt}]`:"1.0"}, + ${f?`u_dayTextureNightAlpha[${pt}]`:"1.0"}, +${f?`u_dayTextureDayAlpha[${pt}]`:"1.0"}, +${o?`u_dayTextureBrightness[${pt}]`:"0.0"}, + ${r?`u_dayTextureContrast[${pt}]`:"0.0"}, + ${s?`u_dayTextureHue[${pt}]`:"0.0"}, + ${a?`u_dayTextureSaturation[${pt}]`:"0.0"}, + ${c?`u_dayTextureOneOverGamma[${pt}]`:"0.0"}, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + ${k.invertColor?`u_mars3dTextureInvertColor[${pt}]`:"false"}, + ${k.filterColor?`u_mars3dTextureFilterColor[${pt}]`:"vec3(1.0)"}, + //\u3010\u706B\u661F\u79D1\u6280marsgis.cn\u3011 Hao 2022-1-5 \u74E6\u7247\u6EE4\u955C\u6548\u679C + ${d?`u_dayTextureSplit[${pt}]`:"0.0"}, + ${L?`u_colorsToAlpha[${pt}]`:"vec4(0.0)"}, + nightBlend ); +`,E&&($e+=` color = czm_branchFreeTernary(texelUnclipped, cutoutAndColorResult, color); +`);$e+=` return color; + }`,Ve.sources.push($e),Be.sources.push(Bat(_e)),Be.sources.push(Uat(v));let qe=tn.fromCache({context:t.context,vertexShaderSource:Be,fragmentShaderSource:Ve,attributeLocations:j.getAttributeLocations()});Ne=Ce[xe]=new Fat(i,xe,this.material,qe,Ie,De)}return n.surfaceShader=Ne,Ne.shaderProgram};hX.prototype.destroy=function(){let e,t,n=this._shadersByTexturesFlags;for(let i in n)if(n.hasOwnProperty(i)){let o=n[i];if(!l(o))continue;for(e in o)o.hasOwnProperty(e)&&(t=o[e],l(t)&&t.shaderProgram.destroy())}return ue(this)};var tz=hX;var zat={UNLOADED:0,TRANSITIONING:1,RECEIVED:2,TEXTURE_LOADED:3,READY:4,FAILED:5,INVALID:6,PLACEHOLDER:7},Jn=Object.freeze(zat);var Hat={START:0,LOADING:1,DONE:2,FAILED:3},xa=Object.freeze(Hat);var Gat={FAILED:0,UNLOADED:1,RECEIVING:2,RECEIVED:3,TRANSFORMING:4,TRANSFORMED:5,READY:6},mo=Object.freeze(Gat);function er(){this.imagery=[],this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe(0,0,1,1),this.terrainData=void 0,this.vertexArray=void 0,this.tileBoundingRegion=void 0,this.occludeePointInScaledSpace=new h,this.boundingVolumeSourceTile=void 0,this.boundingVolumeIsFromMesh=!1,this.terrainState=mo.UNLOADED,this.mesh=void 0,this.fill=void 0,this.pickBoundingSphere=new ce,this.surfaceShader=void 0,this.isClipped=!0,this.clippedByBoundaries=!1}Object.defineProperties(er.prototype,{eligibleForUnloading:{get:function(){let e=this.terrainState,n=!(e===mo.RECEIVING||e===mo.TRANSFORMING),i=this.imagery;for(let o=0,r=i.length;n&&o<r;++o){let s=i[o];n=!l(s.loadingImagery)||s.loadingImagery.state!==Jn.TRANSITIONING}return n}},renderedMesh:{get:function(){if(l(this.vertexArray))return this.mesh;if(l(this.fill))return this.fill.mesh}}});var Wat=new fe;function mX(e,t,n,i,o,r){let s=e.getExaggeratedPosition(i,o,r);if(l(t)&&t!==ne.SCENE3D){let c=n.ellipsoid.cartesianToCartographic(s,Wat);s=n.project(c,r),s=h.fromElements(s.z,s.x,s.y,r)}return s}var jat=new h,qat=new h,Yat=new h;er.prototype.pick=function(e,t,n,i,o){let r=this.renderedMesh;if(!l(r))return;let s=r.vertices,a=r.indices,c=r.encoding,u=a.length,f=Number.MAX_VALUE;for(let d=0;d<u;d+=3){let p=a[d],g=a[d+1],m=a[d+2],x=mX(c,t,n,s,p,jat),b=mX(c,t,n,s,g,qat),T=mX(c,t,n,s,m,Yat),C=ti.rayTriangleParametric(e,x,b,T,i);l(C)&&C<f&&C>=0&&(f=C)}return f!==Number.MAX_VALUE?_n.getPoint(e,f,o):void 0};er.prototype.freeResources=function(){l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0),this.terrainData=void 0,this.terrainState=mo.UNLOADED,this.mesh=void 0,this.fill=this.fill&&this.fill.destroy();let e=this.imagery;for(let t=0,n=e.length;t<n;++t)e[t].freeResources();this.imagery.length=0,this.freeVertexArray()};er.prototype.freeVertexArray=function(){er._freeVertexArray(this.vertexArray),this.vertexArray=void 0,er._freeVertexArray(this.wireframeVertexArray),this.wireframeVertexArray=void 0};er.initialize=function(e,t,n){let i=e.data;l(i)||(i=e.data=new er),e.state===xa.START&&(Xat(e,t,n),e.state=xa.LOADING)};er.processStateMachine=function(e,t,n,i,o,r,s){er.initialize(e,n,i);let a=e.data;if(e.state===xa.LOADING&&Kat(e,t,n,i,o,r),s)return;let c=e.renderable;e.renderable=l(a.vertexArray);let u=a.terrainState===mo.READY;e.upsampledFromParent=l(a.terrainData)&&a.terrainData.wasCreatedByUpsampling();let f=a.processImagery(e,n,t);if(u&&f){let d=e._loadedCallbacks,p={};for(let g in d)d.hasOwnProperty(g)&&(d[g](e)||(p[g]=d[g]));e._loadedCallbacks=p,e.state=xa.DONE}c&&(e.renderable=!0)};er.prototype.processImagery=function(e,t,n,i){let o=e.data,r=e.upsampledFromParent,s=!1,a=!0,c=o.imagery,u,f;for(u=0,f=c.length;u<f;++u){let d=c[u];if(!l(d.loadingImagery)){r=!1;continue}if(d.loadingImagery.state===Jn.PLACEHOLDER){let g=d.loadingImagery.imageryLayer;if(g.ready){d.freeResources(),c.splice(u,1),g._createTileImagerySkeletons(e,t,u),--u,f=c.length;continue}else r=!1}let p=d.processStateMachine(e,n,i);a=a&&p,s=s||p||l(d.readyImagery),r=r&&l(d.loadingImagery)&&(d.loadingImagery.state===Jn.FAILED||d.loadingImagery.state===Jn.INVALID)}return e.upsampledFromParent=r,e.renderable=e.renderable&&(s||a),a};function yye(e,t,n,i){let o=e.renderedMesh,r=o.vertices,s=o.encoding,a=r.length/s.stride,c=Xc.clone(s);c.hasGeodeticSurfaceNormals=t,c=Xc.clone(c);let u=c.stride,f=new Float32Array(a*u);t?s.addGeodeticSurfaceNormals(r,f,n):s.removeGeodeticSurfaceNormals(r,f),o.vertices=f,o.stride=u,o!==e.mesh?(er._freeVertexArray(e.fill.vertexArray),e.fill.vertexArray=er._createVertexArrayForMesh(i.context,o)):(er._freeVertexArray(e.vertexArray),e.vertexArray=er._createVertexArrayForMesh(i.context,o)),er._freeVertexArray(e.wireframeVertexArray),e.wireframeVertexArray=void 0}er.prototype.addGeodeticSurfaceNormals=function(e,t){yye(this,!0,e,t)};er.prototype.removeGeodeticSurfaceNormals=function(e){yye(this,!1,void 0,e)};er.prototype.updateExaggeration=function(e,t,n){let i=this,o=i.renderedMesh;if(o===void 0)return;let r=t.verticalExaggeration,s=t.verticalExaggerationRelativeHeight,a=r!==1,c=o.encoding,u=c.exaggeration!==r,f=c.exaggerationRelativeHeight!==s;if(u||f){if(u)if(a&&!c.hasGeodeticSurfaceNormals){let d=e.tilingScheme.ellipsoid;i.addGeodeticSurfaceNormals(d,t)}else!a&&c.hasGeodeticSurfaceNormals&&i.removeGeodeticSurfaceNormals(t);if(c.exaggeration=r,c.exaggerationRelativeHeight=s,n!==void 0){n._tileToUpdateHeights.push(e);let d=e.customData,p=d.length;for(let g=0;g<p;g++){let m=d[g];m.level=-1}}}};function Xat(e,t,n){let i=t.getTileDataAvailable(e.x,e.y,e.level);if(!l(i)&&l(e.parent)){let o=e.parent,r=o.data;l(r)&&l(r.terrainData)&&(i=r.terrainData.isChildAvailable(o.x,o.y,e.x,e.y))}i===!1&&(e.data.terrainState=mo.FAILED);for(let o=0,r=n.length;o<r;++o){let s=n.get(o);s.show&&s._createTileImagerySkeletons(e,t)}}function Kat(e,t,n,i,o,r){let s=e.data,a=e.parent;if(s.terrainState===mo.FAILED&&a!==void 0&&(a.data!==void 0&&a.data.terrainData!==void 0&&a.data.terrainData.canUpsample!==!1||er.processStateMachine(a,t,n,i,o,r,!0)),s.terrainState===mo.FAILED&&Zat(s,e,t,n,e.x,e.y,e.level),s.terrainState===mo.UNLOADED&&$at(s,n,e.x,e.y,e.level),s.terrainState===mo.RECEIVED&&Jat(s,t,n,e.x,e.y,e.level),s.terrainState===mo.TRANSFORMED&&(ect(s,t.context,n,e.x,e.y,e.level,r),s.updateExaggeration(e,t,o)),s.terrainState>=mo.RECEIVED&&s.waterMaskTexture===void 0&&n.hasWaterMask)if(s.terrainData.waterMask!==void 0)nct(t.context,s);else{let u=s._findAncestorTileWithTerrainData(e);l(u)&&l(u.data.waterMaskTexture)&&(s.waterMaskTexture=u.data.waterMaskTexture,++s.waterMaskTexture.referenceCount,s._computeWaterMaskTranslationAndScale(e,u,s.waterMaskTranslationAndScale))}}function Zat(e,t,n,i,o,r,s){let a=t.parent;if(!a){t.state=xa.FAILED;return}let c=a.data.terrainData,u=a.x,f=a.y,d=a.level;if(!l(c))return;let p=c.upsample(i.tilingScheme,u,f,d,o,r,s);l(p)&&(e.terrainState=mo.RECEIVING,Promise.resolve(p).then(function(g){l(g)&&(e.terrainData=g,e.terrainState=mo.RECEIVED)}).catch(function(){e.terrainState=mo.FAILED}))}function $at(e,t,n,i,o){function r(c){if(!l(c)){e.terrainState=mo.UNLOADED,e.request=void 0;return}e.terrainData=c,e.terrainState=mo.RECEIVED,e.request=void 0}function s(c){if(e.request.state===ei.CANCELLED){e.terrainData=void 0,e.terrainState=mo.UNLOADED,e.request=void 0;return}e.terrainState=mo.FAILED,e.request=void 0;let u=`Failed to obtain terrain tile X: ${n} Y: ${i} Level: ${o}. Error message: "${c}"`;t._requestError=Io.reportError(t._requestError,t,t.errorEvent,u,n,i,o),t._requestError.retry&&a()}function a(){let c=new or({throttle:!1,throttleByServer:!0,type:bs.TERRAIN});e.request=c;let u=t.requestTileGeometry(n,i,o,c);l(u)?(e.terrainState=mo.RECEIVING,Promise.resolve(u).then(function(f){r(f)}).catch(function(f){s(f)})):(e.terrainState=mo.UNLOADED,e.request=void 0)}a()}var Qat={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0,throttle:!0};function Jat(e,t,n,i,o,r){let s=n.tilingScheme,a=Qat;a.tilingScheme=s,a.x=i,a.y=o,a.level=r,a.exaggeration=t.verticalExaggeration,a.exaggerationRelativeHeight=t.verticalExaggerationRelativeHeight,a.throttle=!0;let u=e.terrainData.createMesh(a);l(u)&&(e.terrainState=mo.TRANSFORMING,Promise.resolve(u).then(function(f){e.mesh=f,e.terrainState=mo.TRANSFORMED}).catch(function(){e.terrainState=mo.FAILED}))}er._createVertexArrayForMesh=function(e,t){let n=t.vertices,i=bt.createVertexBuffer({context:e,typedArray:n,usage:Ue.STATIC_DRAW}),o=t.encoding.getAttributes(i),r=t.indices.indexBuffers||{},s=r[e.id];if(!l(s)||s.isDestroyed()){let a=t.indices;s=bt.createIndexBuffer({context:e,typedArray:a,usage:Ue.STATIC_DRAW,indexDatatype:ke.fromSizeInBytes(a.BYTES_PER_ELEMENT)}),s.vertexArrayDestroyable=!1,s.referenceCount=1,r[e.id]=s,t.indices.indexBuffers=r}else++s.referenceCount;return new si({context:e,attributes:o,indexBuffer:s})};er._freeVertexArray=function(e){if(l(e)){let t=e.indexBuffer;e.isDestroyed()||e.destroy(),l(t)&&!t.isDestroyed()&&l(t.referenceCount)&&(--t.referenceCount,t.referenceCount===0&&t.destroy())}};function ect(e,t,n,i,o,r,s){e.vertexArray=er._createVertexArrayForMesh(t,e.mesh),e.terrainState=mo.READY,e.fill=e.fill&&e.fill.destroy(s)}function tct(e){let t=e.cache.tile_waterMaskData;if(!l(t)){let n=Pt.create({context:e,pixelFormat:ot.LUMINANCE,pixelDatatype:Ze.UNSIGNED_BYTE,source:{arrayBufferView:new Uint8Array([255]),width:1,height:1}});n.referenceCount=1;let i=new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.LINEAR,magnificationFilter:pi.LINEAR});t={allWaterTexture:n,sampler:i,destroy:function(){this.allWaterTexture.destroy()}},e.cache.tile_waterMaskData=t}return t}function nct(e,t){let n=t.terrainData.waterMask,i=tct(e),o,r=n.length;if(r===1)if(n[0]!==0)o=i.allWaterTexture;else return;else{let s=Math.sqrt(r);o=Pt.create({context:e,pixelFormat:ot.LUMINANCE,pixelDatatype:Ze.UNSIGNED_BYTE,source:{width:s,height:s,arrayBufferView:n},sampler:i.sampler,flipY:!1}),o.referenceCount=0}++o.referenceCount,t.waterMaskTexture=o,oe.fromElements(0,0,1,1,t.waterMaskTranslationAndScale)}er.prototype._findAncestorTileWithTerrainData=function(e){let t=e.parent;for(;l(t)&&(!l(t.data)||!l(t.data.terrainData)||t.data.terrainData.wasCreatedByUpsampling());)t=t.parent;return t};er.prototype._computeWaterMaskTranslationAndScale=function(e,t,n){let i=t.rectangle,o=e.rectangle,r=o.width,s=o.height,a=r/i.width,c=s/i.height;return n.x=a*(o.west-i.west)/r,n.y=c*(o.south-i.south)/s,n.z=a,n.w=c,n};var oh=er;var pX,xye="AAPTxy8BH1VEsoebNVZXo8HurEOF051kAEKlhkOhBEc9BmSrZYLHFXe7j_lQcsSJKc8-7rwh0IFSNWLGZErkzXRnYjMjURTz-hGiKMEeAJIZBG7uiYEn0Mt1rrwlJGIpirZQC4iO428519DlO3QC9DnRBqLXGTBhirgoU7-Z2209sy87s49kw6NOC8_Eew6nCLf-pZ883DRPRyAYH7LC8cvRLInud0EdndtUFa4y83TamrA.AT1_ahjrWDrq",ZE={};ZE.defaultAccessToken=xye;ZE.defaultWorldImageryServer=new Ae({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/World_Imagery/MapServer"});ZE.defaultWorldHillshadeServer=new Ae({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Elevation/World_Hillshade/MapServer"});ZE.defaultWorldOceanServer=new Ae({url:"https://ibasemaps-api.arcgis.com/arcgis/rest/services/Ocean/World_Ocean_Base/MapServer"});ZE.getDefaultTokenCredit=function(e){if(e===xye){if(!l(pX)){let t='<b> This application is using a default ArcGIS access token. Please assign <i>Cesium.ArcGisMapService.defaultAccessToken</i> with an API key from your ArcGIS Developer account before using the ArcGIS tile services. You can sign up for a free ArcGIS Developer account at <a href="https://developers.arcgis.com/">https://developers.arcgis.com/</a>.</b>';pX=new Et(t,!0)}return pX}};var Wf=ZE;function _X(e){e=y(e,y.EMPTY_OBJECT),this._pixelsToCheck=e.pixelsToCheck,this._missingImagePixels=void 0,this._missingImageByteLength=void 0,this._isReady=!1;let t=Ae.createIfNeeded(e.missingImageUrl),n=this;function i(r){l(r.blob)&&(n._missingImageByteLength=r.blob.size);let s=xh(r);if(e.disableCheckIfAllPixelsAreTransparent){let a=!0,c=r.width,u=e.pixelsToCheck;for(let f=0,d=u.length;a&&f<d;++f){let p=u[f],g=p.x*4+p.y*c;s[g+3]>0&&(a=!1)}a&&(s=void 0)}n._missingImagePixels=s,n._isReady=!0}function o(){n._missingImagePixels=void 0,n._isReady=!0}t.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}).then(i).catch(o)}_X.prototype.isReady=function(){return this._isReady};_X.prototype.shouldDiscardImage=function(e){let t=this._pixelsToCheck,n=this._missingImagePixels;if(!l(n)||l(e.blob)&&e.blob.size!==this._missingImageByteLength)return!1;let i=xh(e),o=e.width;for(let r=0,s=t.length;r<s;++r){let a=t[r],c=a.x*4+a.y*o;for(let u=0;u<4;++u){let f=c+u;if(i[f]!==n[f])return!1}}return!0};var nz=_X;function gX(){this.name=void 0,this.description=void 0,this.position=void 0,this.data=void 0,this.imageryLayer=void 0}gX.prototype.configureNameFromProperties=function(e){let t=10,n;for(let i in e)if(e.hasOwnProperty(i)&&e[i]){let o=i.toLowerCase();t>1&&o==="name"?(t=1,n=i):t>2&&o==="title"?(t=2,n=i):t>3&&/name/i.test(i)?(t=3,n=i):t>4&&/title/i.test(i)&&(t=4,n=i)}l(n)&&(this.name=e[n])};gX.prototype.configureDescriptionFromProperties=function(e){function t(n){let i='<table class="cesium-infoBox-defaultTable">';for(let o in n)if(n.hasOwnProperty(o)){let r=n[o];l(r)&&(typeof r=="object"?i+=`<tr><td>${o}</td><td>${t(r)}</td></tr>`:i+=`<tr><td>${o}</td><td>${r}</td></tr>`)}return i+="</table>",i}this.description=t(e)};var Lm=gX;function $E(){de.throwInstantiationError()}Object.defineProperties($E.prototype,{rectangle:{get:de.throwInstantiationError},tileWidth:{get:de.throwInstantiationError},tileHeight:{get:de.throwInstantiationError},maximumLevel:{get:de.throwInstantiationError},minimumLevel:{get:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},tileDiscardPolicy:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError},credit:{get:de.throwInstantiationError},proxy:{get:de.throwInstantiationError},hasAlphaChannel:{get:de.throwInstantiationError}});$E.prototype.getTileCredits=function(e,t,n){de.throwInstantiationError()};$E.prototype.requestImage=function(e,t,n,i){de.throwInstantiationError()};$E.prototype.pickFeatures=function(e,t,n,i,o){de.throwInstantiationError()};var ict=/\.ktx2$/i;$E.loadImage=function(e,t){let n=Ae.createIfNeeded(t);return ict.test(n.url)?Yl(n):l(e)&&l(e.tileDiscardPolicy)?n.fetchImage({preferBlob:!0,preferImageBitmap:!0,flipY:!0}):n.fetchImage({preferImageBitmap:!0,flipY:!0})};var Nl=$E;var oct={SATELLITE:1,OCEANS:2,HILLSHADE:3},Nm=Object.freeze(oct);function bye(e){this.useTiles=y(e.usePreCachedTilesIfAvailable,!0);let t=e.ellipsoid;this.tilingScheme=y(e.tilingScheme,new Xi({ellipsoid:t})),this.rectangle=y(e.rectangle,this.tilingScheme.rectangle),this.ellipsoid=t;let n=e.credit;typeof n=="string"&&(n=new Et(n)),this.credit=n,this.tileCredits=void 0,this.tileDiscardPolicy=e.tileDiscardPolicy,this.tileWidth=y(e.tileWidth,256),this.tileHeight=y(e.tileHeight,256),this.maximumLevel=e.maximumLevel}bye.prototype.build=function(e){e._useTiles=this.useTiles,e._tilingScheme=this.tilingScheme,e._rectangle=this.rectangle,e._credit=this.credit,e._tileCredits=this.tileCredits,e._tileDiscardPolicy=this.tileDiscardPolicy,e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,this.useTiles&&!l(this.tileDiscardPolicy)&&(e._tileDiscardPolicy=new nz({missingImageUrl:Tye(e,0,0,this.maximumLevel).url,pixelsToCheck:[new U(0,0),new U(200,20),new U(20,200),new U(80,110),new U(160,130)],disableCheckIfAllPixelsAreTransparent:!0}))};function rct(e,t){let n=e.tileInfo;if(!l(n))t.useTiles=!1;else{if(t.tileWidth=n.rows,t.tileHeight=n.cols,n.spatialReference.wkid===102100||n.spatialReference.wkid===102113)t.tilingScheme=new hs({ellipsoid:t.ellipsoid});else if(e.tileInfo.spatialReference.wkid===4326)t.tilingScheme=new Xi({ellipsoid:t.ellipsoid});else{let i=`Tile spatial reference WKID ${e.tileInfo.spatialReference.wkid} is not supported.`;throw new se(i)}if(t.maximumLevel=e.tileInfo.lods.length-1,l(e.fullExtent)){if(l(e.fullExtent.spatialReference)&&l(e.fullExtent.spatialReference.wkid))if(e.fullExtent.spatialReference.wkid===102100||e.fullExtent.spatialReference.wkid===102113){let i=new Ri,o=e.fullExtent,r=i.unproject(new h(Math.max(o.xmin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.max(o.ymin,-t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0)),s=i.unproject(new h(Math.min(o.xmax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),Math.min(o.ymax,t.tilingScheme.ellipsoid.maximumRadius*Math.PI),0));t.rectangle=new ae(r.longitude,r.latitude,s.longitude,s.latitude)}else if(e.fullExtent.spatialReference.wkid===4326)t.rectangle=ae.fromDegrees(e.fullExtent.xmin,e.fullExtent.ymin,e.fullExtent.xmax,e.fullExtent.ymax);else{let i=`fullExtent.spatialReference WKID ${e.fullExtent.spatialReference.wkid} is not supported.`;throw new se(i)}}else t.rectangle=t.tilingScheme.rectangle;t.useTiles=!0}l(e.copyrightText)&&e.copyrightText.length>0&&(l(t.credit)?t.tileCredits=[new Et(e.copyrightText)]:t.credit=new Et(e.copyrightText))}function sct(e,t){let n=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(n+=`: ${t.message}`),new se(n)}async function act(e,t){let n=e.getDerivedResource({queryParameters:{f:"json"}});try{let i=await n.fetchJson();rct(i,t)}catch(i){sct(e,i)}}function Fm(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new Xi({ellipsoid:e.ellipsoid})),this._useTiles=y(e.usePreCachedTilesIfAvailable,!0),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._layers=e.layers,this._credit=e.credit,this._tileCredits=void 0;let t=e.credit;typeof t=="string"&&(t=new Et(t)),this.enablePickFeatures=y(e.enablePickFeatures,!0),this._errorEvent=new me}Fm.fromBasemapType=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n,i,o;switch(e){case Nm.SATELLITE:{n=y(t.token,Wf.defaultAccessToken),i=Ae.createIfNeeded(Wf.defaultWorldImageryServer),i.appendForwardSlash();let r=Wf.getDefaultTokenCredit(n);l(r)&&(o=Et.clone(r))}break;case Nm.OCEANS:{n=y(t.token,Wf.defaultAccessToken),i=Ae.createIfNeeded(Wf.defaultWorldOceanServer),i.appendForwardSlash();let r=Wf.getDefaultTokenCredit(n);l(r)&&(o=Et.clone(r))}break;case Nm.HILLSHADE:{n=y(t.token,Wf.defaultAccessToken),i=Ae.createIfNeeded(Wf.defaultWorldHillshadeServer),i.appendForwardSlash();let r=Wf.getDefaultTokenCredit(n);l(r)&&(o=Et.clone(r))}break;default:}return Fm.fromUrl(i,{...t,token:n,credit:o,usePreCachedTilesIfAvailable:!0})};function Tye(e,t,n,i,o){let r;if(e._useTiles)r=e._resource.getDerivedResource({url:`tile/${i}/${n}/${t}`,request:o});else{let s=e._tilingScheme.tileXYToNativeRectangle(t,n,i),c={bbox:`${s.west},${s.south},${s.east},${s.north}`,size:`${e._tileWidth},${e._tileHeight}`,format:"png32",transparent:!0,f:"image"};e._tilingScheme.projection instanceof Ii?(c.bboxSR=4326,c.imageSR=4326):(c.bboxSR=3857,c.imageSR=3857),e.layers&&(c.layers=`show:${e.layers}`),r=e._resource.getDerivedResource({url:"export",request:o,queryParameters:c})}return r}Object.defineProperties(Fm.prototype,{url:{get:function(){return this._resource._url}},token:{get:function(){return this._resource.queryParameters.token}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},usingPrecachedTiles:{get:function(){return this._useTiles}},hasAlphaChannel:{get:function(){return!0}},layers:{get:function(){return this._layers}}});Fm.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&n.setQueryParameters({token:t.token});let i=new Fm(t);i._resource=n;let o=new bye(t);return y(t.usePreCachedTilesIfAvailable,!0)&&await act(n,o),o.build(i),i};Fm.prototype.getTileCredits=function(e,t,n){return this._tileCredits};Fm.prototype.requestImage=function(e,t,n,i){return Nl.loadImage(this,Tye(this,e,t,n,i))};Fm.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures)return;let r=this._tilingScheme.tileXYToNativeRectangle(e,t,n),s,a,c;if(this._tilingScheme.projection instanceof Ii)s=P.toDegrees(i),a=P.toDegrees(o),c="4326";else{let p=this._tilingScheme.projection.project(new fe(i,o,0));s=p.x,a=p.y,c="3857"}let u="visible";l(this._layers)&&(u+=`:${this._layers}`);let f={f:"json",tolerance:2,geometryType:"esriGeometryPoint",geometry:`${s},${a}`,mapExtent:`${r.west},${r.south},${r.east},${r.north}`,imageDisplay:`${this._tileWidth},${this._tileHeight},96`,sr:c,layers:u};return this._resource.getDerivedResource({url:"identify",queryParameters:f}).fetchJson().then(function(p){let g=[],m=p.results;if(!l(m))return g;for(let x=0;x<m.length;++x){let b=m[x],T=new Lm;if(T.data=b,T.name=b.value,T.properties=b.attributes,T.configureDescriptionFromProperties(b.attributes),b.geometryType==="esriGeometryPoint"&&b.geometry){let C=b.geometry.spatialReference&&b.geometry.spatialReference.wkid?b.geometry.spatialReference.wkid:4326;if(C===4326||C===4283)T.position=fe.fromDegrees(b.geometry.x,b.geometry.y,b.geometry.z);else if(C===102100||C===900913||C===3857){let A=new Ri;T.position=A.unproject(new h(b.geometry.x,b.geometry.y,b.geometry.z))}}g.push(T)}return g})};Fm._metadataCache={};var s0=Fm;var cct={AERIAL:"Aerial",AERIAL_WITH_LABELS:"AerialWithLabels",AERIAL_WITH_LABELS_ON_DEMAND:"AerialWithLabelsOnDemand",ROAD:"Road",ROAD_ON_DEMAND:"RoadOnDemand",CANVAS_DARK:"CanvasDark",CANVAS_LIGHT:"CanvasLight",CANVAS_GRAY:"CanvasGray",ORDNANCE_SURVEY:"OrdnanceSurvey",COLLINS_BART:"CollinsBart"},kI=Object.freeze(cct);function VI(e){}VI.prototype.isReady=function(){return!0};VI.prototype.shouldDiscardImage=function(e){return VI.EMPTY_IMAGE===e};var iz;Object.defineProperties(VI,{EMPTY_IMAGE:{get:function(){return l(iz)||(iz=new Image,iz.src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),iz}}});var UI=VI;function Cye(e){this.tileWidth=void 0,this.tileHeight=void 0,this.maximumLevel=void 0,this.imageUrlSubdomains=void 0,this.imageUrlTemplate=void 0,this.attributionList=void 0}Cye.prototype.build=function(e){e._tileWidth=this.tileWidth,e._tileHeight=this.tileHeight,e._maximumLevel=this.maximumLevel,e._imageUrlSubdomains=this.imageUrlSubdomains,e._imageUrlTemplate=this.imageUrlTemplate;let t=e._attributionList=this.attributionList;t||(t=[]),e._attributionList=t;for(let n=0,i=t.length;n<i;++n){let o=t[n];if(o.credit instanceof Et)break;o.credit=new Et(o.attribution);let r=o.coverageAreas;for(let s=0,a=o.coverageAreas.length;s<a;++s){let c=r[s],u=c.bbox;c.bbox=new ae(P.toRadians(u[1]),P.toRadians(u[0]),P.toRadians(u[3]),P.toRadians(u[2]))}}};function lct(e,t){if(e.resourceSets.length!==1)throw new se("metadata does not specify one resource in resourceSets");let n=e.resourceSets[0].resources[0];t.tileWidth=n.imageWidth,t.tileHeight=n.imageHeight,t.maximumLevel=n.zoomMax-1,t.imageUrlSubdomains=n.imageUrlSubdomains,t.imageUrlTemplate=n.imageUrl;let i=n.imageryProviders;l(n.imageryProviders)&&(i=n.imageryProviders.filter(o=>o.coverageAreas?.some(r=>l(r.bbox)))),t.attributionList=i}function uct(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i+=`: ${t.message}`),Io.reportError(void 0,n,l(n)?n._errorEvent:void 0,i,void 0,void 0,void 0,t),new se(i)}async function fct(e,t,n){let i=e.url,o=Rs._metadataCache[i];l(o)||(o=e.fetchJsonp("jsonp"),Rs._metadataCache[i]=o);try{let r=await o;return lct(r,t)}catch(r){uct(e,r,n)}}function Rs(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._mapStyle=y(e.mapStyle,kI.AERIAL),this._mapLayer=e.mapLayer,this._culture=y(e.culture,""),this._key=e.key,this._tileDiscardPolicy=e.tileDiscardPolicy,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new UI),this._proxy=e.proxy,this._credit=new Et(`<a href="https://www.microsoft.com/en-us/maps/bing-maps/product"><img src="${Rs.logoUrl}" title="Bing Imagery"/></a>`),this._tilingScheme=new hs({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:e.ellipsoid}),this._tileWidth=void 0,this._tileHeight=void 0,this._maximumLevel=void 0,this._imageUrlTemplate=void 0,this._imageUrlSubdomains=void 0,this._attributionList=void 0,this._errorEvent=new me}Object.defineProperties(Rs.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},key:{get:function(){return this._key}},mapStyle:{get:function(){return this._mapStyle}},mapLayer:{get:function(){return this._mapLayer}},culture:{get:function(){return this._culture}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return l(this.mapLayer)}}});Rs.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.tileProtocol;l(n)?n.length>0&&n[n.length-1]===":"&&(n=n.substr(0,n.length-1)):n=document.location.protocol==="http:"?"http":"https";let i=y(t.mapStyle,kI.AERIAL),o=Ae.createIfNeeded(e);o.appendForwardSlash();let r={incl:"ImageryProviders",key:t.key,uriScheme:n};l(t.mapLayer)&&(r.mapLayer=t.mapLayer),l(t.culture)&&(r.culture=t.culture);let s=o.getDerivedResource({url:`REST/v1/Imagery/Metadata/${i}`,queryParameters:r}),a=new Rs(t);a._resource=o;let c=new Cye(t);return await fct(s,c),c.build(a),a};var dct=new ae;Rs.prototype.getTileCredits=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(e,t,n,dct);return pct(this._attributionList,n,i)};Rs.prototype.requestImage=function(e,t,n,i){let o=Nl.loadImage(this,hct(this,e,t,n,i));if(l(o))return o.catch(function(r){return l(r.blob)&&r.blob.size===0?UI.EMPTY_IMAGE:Promise.reject(r)})};Rs.prototype.pickFeatures=function(e,t,n,i,o){};Rs.tileXYToQuadKey=function(e,t,n){let i="";for(let o=n;o>=0;--o){let r=1<<o,s=0;e&r&&(s|=1),t&r&&(s|=2),i+=s}return i};Rs.quadKeyToTileXY=function(e){let t=0,n=0,i=e.length-1;for(let o=i;o>=0;--o){let r=1<<o,s=+e[i-o];s&1&&(t|=r),s&2&&(n|=r)}return{x:t,y:n,level:i}};Rs._logoUrl=void 0;Object.defineProperties(Rs,{logoUrl:{get:function(){return l(Rs._logoUrl)||(Rs._logoUrl=rn("Assets/Images/bing_maps_credit.png")),Rs._logoUrl},set:function(e){Rs._logoUrl=e}}});function hct(e,t,n,i,o){let r=e._imageUrlTemplate,s=e._imageUrlSubdomains,a=(t+n+i)%s.length;return e._resource.getDerivedResource({url:r,request:o,templateValues:{quadkey:Rs.tileXYToQuadKey(t,n,i),subdomain:s[a],culture:e._culture},queryParameters:{n:"z"}})}var mct=new ae;function pct(e,t,n){++t;let i=[];for(let o=0,r=e.length;o<r;++o){let s=e[o],a=s.coverageAreas,c=!1;for(let u=0,f=s.coverageAreas.length;!c&&u<f;++u){let d=a[u];if(t>=d.zoomMin&&t<=d.zoomMax){let p=ae.intersection(n,d.bbox,mct);l(p)&&(c=!0)}}c&&i.push(s.credit)}return i}Rs._metadataCache={};var oz=Rs;var Aye=/{[^}]+}/g,Eye={x:xct,y:Tct,z:Ect,s:Sct,reverseX:bct,reverseY:Cct,reverseZ:Act,westDegrees:vct,southDegrees:wct,eastDegrees:Dct,northDegrees:Ict,westProjected:Pct,southProjected:Oct,eastProjected:Rct,northProjected:Mct,width:Lct,height:Nct},_ct=Ct(Eye,{i:Fct,j:Bct,reverseI:kct,reverseJ:Vct,longitudeDegrees:zct,latitudeDegrees:Hct,longitudeProjected:Gct,latitudeProjected:Wct,format:qct});function zI(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me;let t=Ae.createIfNeeded(e.url),n=Ae.createIfNeeded(e.pickFeaturesUrl);this._resource=t,this._urlSchemeZeroPadding=e.urlSchemeZeroPadding,this._getFeatureInfoFormats=e.getFeatureInfoFormats,this._pickFeaturesResource=n;let i=e.subdomains;Array.isArray(i)?i=i.slice():l(i)&&i.length>0?i=i.split(""):i=["a","b","c"],this._subdomains=i,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._tilingScheme=y(e.tilingScheme,new hs({ellipsoid:e.ellipsoid})),this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._rectangle=ae.intersection(this._rectangle,this._tilingScheme.rectangle),this._tileDiscardPolicy=e.tileDiscardPolicy;let o=e.credit;typeof o=="string"&&(o=new Et(o)),this._credit=o,this._hasAlphaChannel=y(e.hasAlphaChannel,!0);let r=e.customTags,s=Ct(Eye,r),a=Ct(_ct,r);this._tags=s,this._pickFeaturesTags=a,this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this.enablePickFeatures=y(e.enablePickFeatures,!0)}Object.defineProperties(zI.prototype,{url:{get:function(){return this._resource.url}},urlSchemeZeroPadding:{get:function(){return this._urlSchemeZeroPadding}},pickFeaturesUrl:{get:function(){return this._pickFeaturesResource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return this._hasAlphaChannel}}});zI.prototype.getTileCredits=function(e,t,n){};zI.prototype.requestImage=function(e,t,n,i){return Nl.loadImage(this,gct(this,e,t,n,i))};zI.prototype.pickFeatures=function(e,t,n,i,o){if(!this.enablePickFeatures||!l(this._pickFeaturesResource)||this._getFeatureInfoFormats.length===0)return;let r=0,s=this;function a(u,f){return u.callback(f)}function c(){if(r>=s._getFeatureInfoFormats.length)return Promise.resolve([]);let u=s._getFeatureInfoFormats[r],f=yct(s,e,t,n,i,o,u.format);return++r,u.type==="json"?f.fetchJson().then(u.callback).catch(c):u.type==="xml"?f.fetchXML().then(u.callback).catch(c):u.type==="text"||u.type==="html"?f.fetchText().then(u.callback).catch(c):f.fetch({responseType:u.format}).then(a.bind(void 0,u)).catch(c)}return c()};var rz=!1,Ou=new ae,sz=!1,HI=new ae;function gct(e,t,n,i,o){rz=!1,sz=!1;let r=e._resource,s=r.getUrlComponent(!0),a=e._tags,c={},u=s.match(Aye);return l(u)&&u.forEach(function(f){let d=f.substring(1,f.length-1);l(a[d])&&(c[d]=a[d](e,t,n,i))}),r.getDerivedResource({request:o,templateValues:c})}var yX=!1,JE=new U,xX=!1;function yct(e,t,n,i,o,r,s){rz=!1,sz=!1,yX=!1,xX=!1;let a=e._pickFeaturesResource,c=a.getUrlComponent(!0),u=e._pickFeaturesTags,f={},d=c.match(Aye);return l(d)&&d.forEach(function(p){let g=p.substring(1,p.length-1);l(u[g])&&(f[g]=u[g](e,t,n,i,o,r,s))}),a.getDerivedResource({templateValues:f})}function eS(e,t,n){if(e&&e.urlSchemeZeroPadding&&e.urlSchemeZeroPadding.hasOwnProperty(t)){let i=e.urlSchemeZeroPadding[t];if(typeof i=="string"){let o=i.length;o>1&&(n=n.length>=o?n:new Array(o-n.toString().length+1).join("0")+n)}}return n}function xct(e,t,n,i){return eS(e,"{x}",t)}function bct(e,t,n,i){let o=e.tilingScheme.getNumberOfXTilesAtLevel(i)-t-1;return eS(e,"{reverseX}",o)}function Tct(e,t,n,i){return eS(e,"{y}",n)}function Cct(e,t,n,i){let o=e.tilingScheme.getNumberOfYTilesAtLevel(i)-n-1;return eS(e,"{reverseY}",o)}function Act(e,t,n,i){let o=e.maximumLevel,r=l(o)&&i<o?o-i-1:i;return eS(e,"{reverseZ}",r)}function Ect(e,t,n,i){return eS(e,"{z}",i)}function Sct(e,t,n,i){let o=(t+n+i)%e._subdomains.length;return e._subdomains[o]}function az(e,t,n,i){rz||(e.tilingScheme.tileXYToRectangle(t,n,i,Ou),Ou.west=P.toDegrees(Ou.west),Ou.south=P.toDegrees(Ou.south),Ou.east=P.toDegrees(Ou.east),Ou.north=P.toDegrees(Ou.north),rz=!0)}function vct(e,t,n,i){return az(e,t,n,i),Ou.west}function wct(e,t,n,i){return az(e,t,n,i),Ou.south}function Dct(e,t,n,i){return az(e,t,n,i),Ou.east}function Ict(e,t,n,i){return az(e,t,n,i),Ou.north}function cz(e,t,n,i){sz||(e.tilingScheme.tileXYToNativeRectangle(t,n,i,HI),sz=!0)}function Pct(e,t,n,i){return cz(e,t,n,i),HI.west}function Oct(e,t,n,i){return cz(e,t,n,i),HI.south}function Rct(e,t,n,i){return cz(e,t,n,i),HI.east}function Mct(e,t,n,i){return cz(e,t,n,i),HI.north}function Lct(e,t,n,i){return e.tileWidth}function Nct(e,t,n,i){return e.tileHeight}function Fct(e,t,n,i,o,r,s){return lz(e,t,n,i,o,r),JE.x}function Bct(e,t,n,i,o,r,s){return lz(e,t,n,i,o,r),JE.y}function kct(e,t,n,i,o,r,s){return lz(e,t,n,i,o,r),e.tileWidth-JE.x-1}function Vct(e,t,n,i,o,r,s){return lz(e,t,n,i,o,r),e.tileHeight-JE.y-1}var Uct=new ae,QE=new h;function lz(e,t,n,i,o,r,s){if(yX)return;bX(e,t,n,i,o,r);let a=QE,c=e.tilingScheme.tileXYToNativeRectangle(t,n,i,Uct);JE.x=e.tileWidth*(a.x-c.west)/c.width|0,JE.y=e.tileHeight*(c.north-a.y)/c.height|0,yX=!0}function zct(e,t,n,i,o,r,s){return P.toDegrees(o)}function Hct(e,t,n,i,o,r,s){return P.toDegrees(r)}function Gct(e,t,n,i,o,r,s){return bX(e,t,n,i,o,r),QE.x}function Wct(e,t,n,i,o,r,s){return bX(e,t,n,i,o,r),QE.y}var jct=new fe;function bX(e,t,n,i,o,r,s){if(!xX){if(e.tilingScheme.projection instanceof Ii)QE.x=P.toDegrees(o),QE.y=P.toDegrees(r);else{let a=jct;a.longitude=o,a.latitude=r,e.tilingScheme.projection.project(a,QE)}xX=!0}}function qct(e,t,n,i,o,r,s){return s}var mc=zI;function jf(e){mc.call(this,e)}jf._requestMetadata=async function(e,t,n,i){try{let o=await n.fetchXML();return jf._metadataSuccess(o,e,t,n,i)}catch(o){if(o instanceof np)return jf._metadataFailure(e,t);throw o}};jf.fromUrl=async function(e,t){let n=Ae.createIfNeeded(e);n.appendForwardSlash();let i=n,o=n.getDerivedResource({url:"tilemapresource.xml"});t=y(t,y.EMPTY_OBJECT);let r=await jf._requestMetadata(t,i,o);return new jf(r)};l(Object.create)&&(jf.prototype=Object.create(mc.prototype),jf.prototype.constructor=jf);function Sye(e,t){return e.west<t.rectangle.west&&(e.west=t.rectangle.west),e.east>t.rectangle.east&&(e.east=t.rectangle.east),e.south<t.rectangle.south&&(e.south=t.rectangle.south),e.north>t.rectangle.north&&(e.north=t.rectangle.north),e}function vye(e,t,n){let i=e.positionToTileXY(ae.southwest(t),n),o=e.positionToTileXY(ae.northeast(t),n);return(Math.abs(o.x-i.x)+1)*(Math.abs(o.y-i.y)+1)>4?0:n}jf._metadataSuccess=function(e,t,n,i,o){let r=/tileformat/i,s=/tileset/i,a=/tilesets/i,c=/boundingbox/i,u,f,d,p=[],g=e.childNodes[0].childNodes;for(let O=0;O<g.length;O++)if(r.test(g.item(O).nodeName))u=g.item(O);else if(a.test(g.item(O).nodeName)){d=g.item(O);let M=g.item(O).childNodes;for(let N=0;N<M.length;N++)s.test(M.item(N).nodeName)&&p.push(M.item(N))}else c.test(g.item(O).nodeName)&&(f=g.item(O));let m;if(!l(d)||!l(f))throw m=`Unable to find expected tilesets or bbox attributes in ${i.url}.`,l(o)&&Io.reportError(void 0,o,o.errorEvent,m),new se(m);let x=y(t.fileExtension,u.getAttribute("extension")),b=y(t.tileWidth,parseInt(u.getAttribute("width"),10)),T=y(t.tileHeight,parseInt(u.getAttribute("height"),10)),C=y(t.minimumLevel,parseInt(p[0].getAttribute("order"),10)),A=y(t.maximumLevel,parseInt(p[p.length-1].getAttribute("order"),10)),S=d.getAttribute("profile"),v=t.tilingScheme;if(!l(v))if(S==="geodetic"||S==="global-geodetic")v=new Xi({ellipsoid:t.ellipsoid});else if(S==="mercator"||S==="global-mercator")v=new hs({ellipsoid:t.ellipsoid});else throw m=`${i.url} specifies an unsupported profile attribute, ${S}.`,l(o)&&Io.reportError(void 0,o,o.errorEvent,m),new se(m);let D=ae.clone(t.rectangle);if(!l(D)){let O,M,N,_;y(t.flipXY,!1)?(N=new U(parseFloat(f.getAttribute("miny")),parseFloat(f.getAttribute("minx"))),_=new U(parseFloat(f.getAttribute("maxy")),parseFloat(f.getAttribute("maxx")))):(N=new U(parseFloat(f.getAttribute("minx")),parseFloat(f.getAttribute("miny"))),_=new U(parseFloat(f.getAttribute("maxx")),parseFloat(f.getAttribute("maxy"))));let w=S==="geodetic"||S==="mercator";if(v.projection instanceof Ii||w)O=fe.fromDegrees(N.x,N.y),M=fe.fromDegrees(_.x,_.y);else{let I=v.projection;O=I.unproject(N),M=I.unproject(_)}D=new ae(O.longitude,O.latitude,M.longitude,M.latitude)}return D=Sye(D,v),C=vye(v,D,C),{url:n.getDerivedResource({url:`{z}/{x}/{reverseY}.${x}`}),tilingScheme:v,rectangle:D,tileWidth:b,tileHeight:T,minimumLevel:C,maximumLevel:A,tileDiscardPolicy:t.tileDiscardPolicy,credit:t.credit}};jf._metadataFailure=function(e,t){let n=y(e.fileExtension,"png"),i=y(e.tileWidth,256),o=y(e.tileHeight,256),r=e.maximumLevel,s=l(e.tilingScheme)?e.tilingScheme:new hs({ellipsoid:e.ellipsoid}),a=y(e.rectangle,s.rectangle);a=Sye(a,s);let c=vye(s,a,e.minimumLevel);return{url:t.getDerivedResource({url:`{z}/{x}/{reverseY}.${n}`}),tilingScheme:s,rectangle:a,tileWidth:i,tileHeight:o,minimumLevel:c,maximumLevel:r,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit}};var Eb=jf;function wye(e){this.channel=e.channel,this.ellipsoid=e.ellipsoid,this.tilingScheme=void 0,this.version=void 0}wye.prototype.build=function(e){e._channel=this.channel,e._version=this.version,e._tilingScheme=this.tilingScheme};function Yct(e,t){let n;try{n=JSON.parse(e)}catch{n=JSON.parse(e.replace(/([\[\{,])[\n\r ]*([A-Za-z0-9]+)[\n\r ]*:/g,'$1"$2":'))}let i;for(let o=0;o<n.layers.length;o++)if(n.layers[o].id===t.channel){i=n.layers[o];break}if(!l(i)){let o=`Could not find layer with channel (id) of ${t.channel}.`;throw new se(o)}if(!l(i.version)){let o=`Could not find a version in channel (id) ${t.channel}.`;throw new se(o)}if(t.version=i.version,l(n.projection)&&n.projection==="flat")t.tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ae(-Math.PI,-Math.PI,Math.PI,Math.PI),ellipsoid:t.ellipsoid});else if(!l(n.projection)||n.projection==="mercator")t.tilingScheme=new hs({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,ellipsoid:t.ellipsoid});else{let o=`Unsupported projection ${n.projection}.`;throw new se(o)}return!0}function Xct(e,t,n){let i=`An error occurred while accessing ${t.url}.`;throw l(e)&&l(e.message)&&(i+=`: ${e.message}`),Io.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new se(i)}async function Kct(e,t,n){try{let i=await e.fetchText();Yct(i,t)}catch(i){Xct(i,e,n)}}function Fl(e){e=y(e,{}),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=1.9,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._channel=e.channel,this._requestType="ImageryMaps",this._credit=new Et(`<a href="http://www.google.com/enterprise/mapsearth/products/earthenterprise.html"><img src="${Fl.logoUrl}" title="Google Imagery"/></a>`),this._tilingScheme=void 0,this._version=void 0,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=e.maximumLevel,this._errorEvent=new me}Object.defineProperties(Fl.prototype,{url:{get:function(){return this._url}},path:{get:function(){return this._path}},proxy:{get:function(){return this._resource.proxy}},channel:{get:function(){return this._channel}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},version:{get:function(){return this._version}},requestType:{get:function(){return this._requestType}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});Fl.fromUrl=async function(e,t,n){n=y(n,{});let i=y(n.path,"/default_map"),o=Ae.createIfNeeded(e).getDerivedResource({url:i[0]==="/"?i.substring(1):i});o.appendForwardSlash();let r=o.getDerivedResource({url:"query",queryParameters:{request:"Json",vars:"geeServerDefs",is2d:"t"}}),s=new wye(n);s.channel=t,await Kct(r,s);let a=new Fl(n);return s.build(a),a._resource=o,a._url=e,a._path=i,a};Fl.prototype.getTileCredits=function(e,t,n){};Fl.prototype.requestImage=function(e,t,n,i){let o=this._resource.getDerivedResource({url:"query",request:i,queryParameters:{request:this._requestType,channel:this._channel,version:this._version,x:e,y:t,z:n+1}});return Nl.loadImage(this,o)};Fl.prototype.pickFeatures=function(e,t,n,i,o){};Fl._logoUrl=void 0;Object.defineProperties(Fl,{logoUrl:{get:function(){return l(Fl._logoUrl)||(Fl._logoUrl=rn("Assets/Images/google_earth_credit.png")),Fl._logoUrl},set:function(e){Fl._logoUrl=e}}});var uz=Fl;var Zct=/\/$/,Dye=new Et('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function tS(e){e=y(e,y.EMPTY_OBJECT);let t=e.mapId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Ae.createIfNeeded(y(e.url,"https://{s}.tiles.mapbox.com/v4/"));this._mapId=t,this._accessToken=n;let o=y(e.format,"png");/\./.test(o)||(o=`.${o}`),this._format=o;let r=i.getUrlComponent();Zct.test(r)||(r+="/"),r+=`${t}/{z}/{x}/{y}${this._format}`,i.url=r,i.setQueryParameters({access_token:n});let s;l(e.credit)?(s=e.credit,typeof s=="string"&&(s=new Et(s))):s=Dye,this._resource=i,this._imageryProvider=new mc({url:i,credit:s,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(tS.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});tS.prototype.getTileCredits=function(e,t,n){};tS.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};tS.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};tS._defaultCredit=Dye;var fz=tS;function Sb(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=y(e.rectangle,ae.MAX_VALUE),n=new Xi({rectangle:t,numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});this._tilingScheme=n,this._image=void 0,this._texture=void 0,this._hasError=!1,this._errorEvent=new me;let i=e.credit;typeof i=="string"&&(i=new Et(i)),this._credit=i;let o=Ae.createIfNeeded(e.url);this._resource=o,this._tileWidth=e.tileWidth,this._tileHeight=e.tileHeight}Object.defineProperties(Sb.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return 0}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}}});function $ct(e,t,n,i){let o=`Failed to load image ${e.url}`;l(t)&&l(t.message)&&(o+=`: ${t.message}`);let r=Io.reportError(i,n,l(n)?n._errorEvent:void 0,o,0,0,0,t);if(r.retry)return TX(e,n,r);throw l(n)&&(n._hasError=!0),new se(o)}async function TX(e,t,n){try{return await Nl.loadImage(null,e)}catch(i){return $ct(e,i,t,n)}}Sb.fromUrl=async function(e,t){let n=Ae.createIfNeeded(e),i=await TX(n);t=y(t,y.EMPTY_OBJECT);let o=new Sb({...t,url:e,tileWidth:i.width,tileHeight:i.height});return o._image=i,o};Sb.prototype.getTileCredits=function(e,t,n){};Sb.prototype.requestImage=async function(e,t,n,i){if(!this._hasError&&!l(this._image)){let o=await TX(this._resource,this);return this._image=o,Io.reportSuccess(this._errorEvent),o}return this._image};Sb.prototype.pickFeatures=function(e,t,n,i,o){};var dz=Sb;function Qct(e,t,n){this.type=e,l(t)||(e==="json"?t="application/json":e==="xml"?t="text/xml":e==="html"?t="text/html":e==="text"&&(t="text/plain")),this.format=t,l(n)||(e==="json"?n=Jct:e==="xml"?n=ilt:(e==="html"||e==="text")&&(n=Iye)),this.callback=n}function Jct(e){let t=[],n=e.features;for(let i=0;i<n.length;++i){let o=n[i],r=new Lm;if(r.data=o,r.properties=o.properties,r.configureNameFromProperties(o.properties),r.configureDescriptionFromProperties(o.properties),l(o.geometry)&&o.geometry.type==="Point"){let s=o.geometry.coordinates[0],a=o.geometry.coordinates[1];r.position=fe.fromDegrees(s,a)}t.push(r)}return t}var CX="http://www.mapinfo.com/mxp",elt="http://www.esri.com/wms",tlt="http://www.opengis.net/wfs",nlt="http://www.opengis.net/gml";function ilt(e){let t=e.documentElement;if(t.localName==="MultiFeatureCollection"&&t.namespaceURI===CX)return olt(e);if(t.localName==="FeatureInfoResponse"&&t.namespaceURI===elt)return rlt(e);if(t.localName==="FeatureCollection"&&t.namespaceURI===tlt)return slt(e);if(t.localName==="ServiceExceptionReport")throw new se(new XMLSerializer().serializeToString(t));return t.localName==="msGMLOutput"?alt(e):clt(e)}function olt(e){let t=[],i=e.documentElement.getElementsByTagNameNS(CX,"Feature");for(let o=0;o<i.length;++o){let r=i[o],s={},a=r.getElementsByTagNameNS(CX,"Val");for(let u=0;u<a.length;++u){let f=a[u];if(f.hasAttribute("ref")){let d=f.getAttribute("ref"),p=f.textContent.trim();s[d]=p}}let c=new Lm;c.data=r,c.properties=s,c.configureNameFromProperties(s),c.configureDescriptionFromProperties(s),t.push(c)}return t}function rlt(e){let t=e.documentElement,n=[],i,o=t.getElementsByTagNameNS("*","FIELDS");if(o.length>0)for(let r=0;r<o.length;++r){let s=o[r];i={};let a=s.attributes;for(let c=0;c<a.length;++c){let u=a[c];i[u.name]=u.value}n.push(hz(s,i))}else{let r=t.getElementsByTagNameNS("*","FeatureInfo");for(let s=0;s<r.length;++s){let a=r[s];i={};let c=a.childNodes;for(let u=0;u<c.length;++u){let f=c[u];f.nodeType===Node.ELEMENT_NODE&&(i[f.localName]=f.textContent)}n.push(hz(a,i))}}return n}function slt(e){let t=[],i=e.documentElement.getElementsByTagNameNS(nlt,"featureMember");for(let o=0;o<i.length;++o){let r=i[o],s={};AX(r,s),t.push(hz(r,s))}return t}function alt(e){let t=[],n,i=e.documentElement.childNodes;for(let r=0;r<i.length;r++)if(i[r].nodeType===Node.ELEMENT_NODE){n=i[r];break}if(!l(n))throw new se("Unable to find first child of the feature info xml document");let o=n.childNodes;for(let r=0;r<o.length;++r){let s=o[r];if(s.nodeType===Node.ELEMENT_NODE){let a={};AX(s,a),t.push(hz(s,a))}}return t}function AX(e,t){let n=!0;for(let i=0;i<e.childNodes.length;++i){let o=e.childNodes[i];o.nodeType===Node.ELEMENT_NODE&&(n=!1),!(o.localName==="Point"||o.localName==="LineString"||o.localName==="Polygon"||o.localName==="boundedBy")&&o.hasChildNodes()&&AX(o,t)&&(t[o.localName]=o.textContent)}return n}function hz(e,t){let n=new Lm;return n.data=e,n.properties=t,n.configureNameFromProperties(t),n.configureDescriptionFromProperties(t),n}function clt(e){let t=new XMLSerializer().serializeToString(e),n=document.createElement("div"),i=document.createElement("pre");i.textContent=t,n.appendChild(i);let o=new Lm;return o.data=e,o.description=n.innerHTML,[o]}var llt=/<body>\s*<\/body>/im,ult=/<ServiceExceptionReport([\s\S]*)<\/ServiceExceptionReport>/im,flt=/<title>([\s\S]*)<\/title>/im;function Iye(e){if(llt.test(e)||ult.test(e))return;let t,n=flt.exec(e);n&&n.length>1&&(t=n[1]);let i=new Lm;return i.name=t,i.description=e,i.data=e,[i]}var nS=Qct;function GI(e){e=y(e,y.EMPTY_OBJECT),this._tileCache={},this._tilesRequestedForInterval=[];let t=this._clock=e.clock;this._times=e.times,this._requestImageFunction=e.requestImageFunction,this._reloadFunction=e.reloadFunction,this._currentIntervalIndex=-1,t.onTick.addEventListener(this._clockOnTick,this),this._clockOnTick(t)}Object.defineProperties(GI.prototype,{clock:{get:function(){return this._clock},set:function(e){this._clock!==e&&(this._clock=e,this._clockOnTick(e),this._reloadFunction())}},times:{get:function(){return this._times},set:function(e){this._times!==e&&(this._times=e,this._clockOnTick(this._clock),this._reloadFunction())}},currentInterval:{get:function(){return this._times.get(this._currentIntervalIndex)}}});GI.prototype.getFromCache=function(e,t,n,i){let o=Pye(e,t,n),r,s=this._tileCache[this._currentIntervalIndex];if(l(s)&&l(s[o])){let a=s[o];r=a.promise.catch(function(c){throw i.state=a.request.state,c}),delete s[o]}return r};GI.prototype.checkApproachingInterval=function(e,t,n,i){let o=Pye(e,t,n),r=this._tilesRequestedForInterval,s=Oye(this),a={key:o,priorityFunction:i.priorityFunction};(!l(s)||!Rye(this,a,s))&&r.push(a),r.length>=512&&r.splice(0,256)};GI.prototype._clockOnTick=function(e){let t=e.currentTime,i=this._times.indexOf(t),o=this._currentIntervalIndex;if(i!==o){let s=this._tileCache[o];for(let a in s)s.hasOwnProperty(a)&&s[a].request.cancel();delete this._tileCache[o],this._tilesRequestedForInterval=[],this._currentIntervalIndex=i,this._reloadFunction();return}let r=Oye(this);if(l(r)){let s=this._tilesRequestedForInterval,a=!0;for(;a&&s.length!==0;){let c=s.pop();a=Rye(this,c,r),a||s.push(c)}}};function Pye(e,t,n){return`${e}-${t}-${n}`}function dlt(e){let t=e.split("-");if(t.length===3)return{x:Number(t[0]),y:Number(t[1]),level:Number(t[2])}}function Oye(e){let t=e._times;if(!l(t))return;let n=e._clock,i=n.currentTime,o=n.canAnimate&&n.shouldAnimate,r=n.multiplier;if(!o&&r!==0)return;let s,a=t.indexOf(i);if(a<0)return;let c=t.get(a);return r>0?(s=K.secondsDifference(c.stop,i),++a):(s=K.secondsDifference(c.start,i),--a),s/=r,a>=0&&s<=5?t.get(a):void 0}function Rye(e,t,n){let i=e._times.indexOf(n.start),o=e._tileCache,r=o[i];l(r)||(r=o[i]={});let s=t.key;if(l(r[s]))return!0;let a=dlt(s),c=new or({throttle:!1,throttleByServer:!0,type:bs.IMAGERY,priorityFunction:t.priorityFunction}),u=e._requestImageFunction(a.x,a.y,a.level,c,n);return l(u)?(r[s]={promise:u,request:c},!0):!1}var iS=GI;var hlt=[3034,3035,3042,3043,3044],mlt=[4471,4559];function rh(e){if(e=y(e,y.EMPTY_OBJECT),l(e.times)&&!l(e.clock))throw new de("options.times was specified, so options.clock is required.");this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._getFeatureInfoUrl=y(e.getFeatureInfoUrl,e.url);let t=Ae.createIfNeeded(e.url),n=Ae.createIfNeeded(this._getFeatureInfoUrl);t.setQueryParameters(rh.DefaultParameters,!0),n.setQueryParameters(rh.GetFeatureInfoDefaultParameters,!0),l(e.parameters)&&t.setQueryParameters(Mye(e.parameters,e.toLowerCase)),l(e.getFeatureInfoParameters)&&n.setQueryParameters(Mye(e.getFeatureInfoParameters,e.toLowerCase));let i=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new iS({clock:e.clock,times:e.times,requestImageFunction:function(s,a,c,u,f){return Lye(i,s,a,c,u,f)},reloadFunction:function(){l(i._reload)&&i._reload()}}));let o={};if(o.layers=e.layers,o.bbox="{westProjected},{southProjected},{eastProjected},{northProjected}",o.width="{width}",o.height="{height}",parseFloat(t.queryParameters.version)>=1.3){o.crs=y(e.crs,e.tilingScheme&&e.tilingScheme.projection instanceof Ri?"EPSG:3857":"CRS:84");let s=o.crs.split(":");if(s[0]==="EPSG"&&s.length===2){let a=Number(s[1]);(a>=4e3&&a<5e3&&!mlt.includes(a)||hlt.includes(a))&&(o.bbox="{southProjected},{westProjected},{northProjected},{eastProjected}")}}else o.srs=y(e.srs,e.tilingScheme&&e.tilingScheme.projection instanceof Ri?"EPSG:3857":"EPSG:4326");t.setQueryParameters(o,!0),n.setQueryParameters(o,!0);let r={query_layers:e.layers,info_format:"{format}"};parseFloat(n.queryParameters.version)>=1.3?(r.i="{i}",r.j="{j}"):(r.x="{i}",r.y="{j}"),n.setQueryParameters(r,!0),this._resource=t,this._pickFeaturesResource=n,this._layers=e.layers,this._tileProvider=new mc({url:t,pickFeaturesUrl:n,tilingScheme:y(e.tilingScheme,new Xi({ellipsoid:e.ellipsoid})),rectangle:e.rectangle,tileWidth:e.tileWidth,tileHeight:e.tileHeight,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,subdomains:e.subdomains,tileDiscardPolicy:e.tileDiscardPolicy,credit:e.credit,getFeatureInfoFormats:y(e.getFeatureInfoFormats,rh.DefaultGetFeatureInfoFormats),enablePickFeatures:e.enablePickFeatures})}function Lye(e,t,n,i,o,r){let s=l(r)?r.data:void 0,a=e._tileProvider;return l(s)&&a._resource.setQueryParameters(s),a.requestImage(t,n,i,o)}function plt(e,t,n,i,o,r,s){let a=l(s)?s.data:void 0,c=e._tileProvider;return l(a)&&c._pickFeaturesResource.setQueryParameters(a),c.pickFeatures(t,n,i,o,r)}Object.defineProperties(rh.prototype,{url:{get:function(){return this._resource._url}},proxy:{get:function(){return this._resource.proxy}},layers:{get:function(){return this._layers}},tileWidth:{get:function(){return this._tileProvider.tileWidth}},tileHeight:{get:function(){return this._tileProvider.tileHeight}},maximumLevel:{get:function(){return this._tileProvider.maximumLevel}},minimumLevel:{get:function(){return this._tileProvider.minimumLevel}},tilingScheme:{get:function(){return this._tileProvider.tilingScheme}},rectangle:{get:function(){return this._tileProvider.rectangle}},tileDiscardPolicy:{get:function(){return this._tileProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._tileProvider.errorEvent}},credit:{get:function(){return this._tileProvider.credit}},hasAlphaChannel:{get:function(){return this._tileProvider.hasAlphaChannel}},enablePickFeatures:{get:function(){return this._tileProvider.enablePickFeatures},set:function(e){this._tileProvider.enablePickFeatures=e}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},getFeatureInfoUrl:{get:function(){return this._getFeatureInfoUrl}}});rh.prototype.getTileCredits=function(e,t,n){return this._tileProvider.getTileCredits(e,t,n)};rh.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=Lye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};rh.prototype.pickFeatures=function(e,t,n,i,o){let r=this._timeDynamicImagery,s=l(r)?r.currentInterval:void 0;return plt(this,e,t,n,i,o,s)};rh.DefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetMap",styles:"",format:"image/jpeg"});rh.GetFeatureInfoDefaultParameters=Object.freeze({service:"WMS",version:"1.1.1",request:"GetFeatureInfo"});rh.DefaultGetFeatureInfoFormats=Object.freeze([Object.freeze(new nS("json","application/json")),Object.freeze(new nS("xml","text/xml")),Object.freeze(new nS("text","text/html"))]);function Mye(e,t=!0){if(t){let n={};for(let i in e)e.hasOwnProperty(i)&&(n[i.toLowerCase()]=e[i]);return n}return e}var mz=rh;var _lt=Object.freeze({service:"WMTS",version:"1.0.0",request:"GetTile"});function WI(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let t=Ae.createIfNeeded(e.url),n=e.style,i=e.tileMatrixSetID,o=t.url,r=o.match(/{/g);if(!l(r)||r.length===1&&/{s}/.test(o))t.setQueryParameters(_lt),this._useKvp=!0;else{let d={style:n,Style:n,TileMatrixSet:i};t.setTemplateValues(d),this._useKvp=!1}this._resource=t,this._layer=e.layer,this._style=n,this._tileMatrixSetID=i,this._tileMatrixLabels=e.tileMatrixLabels,this._format=y(e.format,"image/jpeg"),this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new hs({ellipsoid:e.ellipsoid}),this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._minimumLevel=y(e.minimumLevel,0),this._maximumLevel=e.maximumLevel,this._rectangle=y(e.rectangle,this._tilingScheme.rectangle),this._dimensions=e.dimensions;let s=this;this._reload=void 0,l(e.times)&&(this._timeDynamicImagery=new iS({clock:e.clock,times:e.times,requestImageFunction:function(d,p,g,m,x){return Nye(s,d,p,g,m,x)},reloadFunction:function(){l(s._reload)&&s._reload()}}));let a=this._tilingScheme.positionToTileXY(ae.southwest(this._rectangle),this._minimumLevel),c=this._tilingScheme.positionToTileXY(ae.northeast(this._rectangle),this._minimumLevel),u=(Math.abs(c.x-a.x)+1)*(Math.abs(c.y-a.y)+1);this._errorEvent=new me;let f=e.credit;this._credit=typeof f=="string"?new Et(f):f,this._subdomains=e.subdomains,Array.isArray(this._subdomains)?this._subdomains=this._subdomains.slice():l(this._subdomains)&&this._subdomains.length>0?this._subdomains=this._subdomains.split(""):this._subdomains=["a","b","c"]}function Nye(e,t,n,i,o,r){let s=e._tileMatrixLabels,a=l(s)?s[i]:i.toString(),c=e._subdomains,u=e._dimensions,f=l(r)?r.data:void 0,d,p;if(!e._useKvp)p={TileMatrix:a,TileRow:n.toString(),TileCol:t.toString(),s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({request:o}),d.setTemplateValues(p),l(u)&&d.setTemplateValues(u),l(f)&&d.setTemplateValues(f);else{let g={};g.tilematrix=a,g.layer=e._layer,g.style=e._style,g.tilerow=n,g.tilecol=t,g.tilematrixset=e._tileMatrixSetID,g.format=e._format,l(u)&&(g=Ct(g,u)),l(f)&&(g=Ct(g,f)),p={s:c[(t+n+i)%c.length]},d=e._resource.getDerivedResource({queryParameters:g,request:o}),d.setTemplateValues(p)}return Nl.loadImage(e,d)}Object.defineProperties(WI.prototype,{url:{get:function(){return this._resource.url}},proxy:{get:function(){return this._resource.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return this._minimumLevel}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},format:{get:function(){return this._format}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!0}},clock:{get:function(){return this._timeDynamicImagery.clock},set:function(e){this._timeDynamicImagery.clock=e}},times:{get:function(){return this._timeDynamicImagery.times},set:function(e){this._timeDynamicImagery.times=e}},dimensions:{get:function(){return this._dimensions},set:function(e){this._dimensions!==e&&(this._dimensions=e,l(this._reload)&&this._reload())}}});WI.prototype.getTileCredits=function(e,t,n){};WI.prototype.requestImage=function(e,t,n,i){let o,r=this._timeDynamicImagery,s;return l(r)&&(s=r.currentInterval,o=r.getFromCache(e,t,n,i)),l(o)||(o=Nye(this,e,t,n,i,s)),l(o)&&l(r)&&r.checkApproachingInterval(e,t,n,i),o};WI.prototype.pickFeatures=function(e,t,n,i,o){};var pz=WI;var glt={ARCGIS_MAPSERVER:s0.fromUrl,BING:async(e,t)=>oz.fromUrl(e,t),GOOGLE_EARTH:async(e,t)=>{let n=t.channel;return delete t.channel,uz.fromUrl(e,n,t)},MAPBOX:(e,t)=>new fz({url:e,...t}),SINGLE_TILE:dz.fromUrl,TMS:Eb.fromUrl,URL_TEMPLATE:(e,t)=>new mc({url:e,...t}),WMS:(e,t)=>new mz({url:e,...t}),WMTS:(e,t)=>new pz({url:e,...t})};function Bm(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileCredits=void 0,this._errorEvent=new me}Object.defineProperties(Bm.prototype,{rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}},proxy:{get:function(){}}});Bm.fromAssetId=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=of._createEndpointResource(e,t),i=e.toString()+t.accessToken+t.server,o=Bm._endpointCache[i];l(o)||(o=n.fetchJson(),Bm._endpointCache[i]=o);let r=await o;if(r.type!=="IMAGERY")throw new se(`Cesium ion asset ${e} is not an imagery asset.`);let s,a=r.externalType;if(!l(a))s=await Eb.fromUrl(new of(r,n));else{let u=glt[a];if(!l(u))throw new se(`Unrecognized Cesium ion imagery type: ${a}`);let f={...r.options},d=f.url;delete f.url,s=await u(d,f)}let c=new Bm(t);return s.errorEvent.addEventListener(function(u){u.provider=c,c._errorEvent.raiseEvent(u)}),c._tileCredits=of.getCreditsFromEndpoint(r,n),c._imageryProvider=s,c};Bm.prototype.getTileCredits=function(e,t,n){let i=this._imageryProvider.getTileCredits(e,t,n);return l(i)?this._tileCredits.concat(i):this._tileCredits};Bm.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};Bm.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};Bm._endpointCache={};var a0=Bm;var ylt={AERIAL:2,AERIAL_WITH_LABELS:3,ROAD:4},c0=Object.freeze(ylt);function xlt(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.style,c0.AERIAL);return a0.fromAssetId(t)}var l0=xlt;function oS(e,t,n,i,o){if(this.imageryLayer=e,this.x=t,this.y=n,this.level=i,this.request=void 0,i!==0){let r=t/2|0,s=n/2|0,a=i-1;this.parent=e.getImageryFromCache(r,s,a)}this.state=Jn.UNLOADED,this.imageUrl=void 0,this.image=void 0,this.texture=void 0,this.textureWebMercator=void 0,this.credits=void 0,this.referenceCount=0,!l(o)&&e.ready&&(o=e.imageryProvider.tilingScheme.tileXYToRectangle(t,n,i)),this.rectangle=o}oS.createPlaceholder=function(e){let t=new oS(e,0,0,0);return t.addReference(),t.state=Jn.PLACEHOLDER,t};oS.prototype.addReference=function(){++this.referenceCount};oS.prototype.releaseReference=function(){return--this.referenceCount,this.referenceCount===0?(this.imageryLayer.removeImageryFromCache(this),l(this.parent)&&this.parent.releaseReference(),l(this.image)&&l(this.image.destroy)&&this.image.destroy(),l(this.texture)&&this.texture.destroy(),l(this.textureWebMercator)&&this.texture!==this.textureWebMercator&&this.textureWebMercator.destroy(),ue(this),0):this.referenceCount};oS.prototype.processStateMachine=function(e,t,n){this.state===Jn.UNLOADED&&!n&&(this.state=Jn.TRANSITIONING,this.imageryLayer._requestImagery(this)),this.state===Jn.RECEIVED&&(this.state=Jn.TRANSITIONING,this.imageryLayer._createTexture(e.context,this));let i=this.state===Jn.READY&&t&&!this.texture;(this.state===Jn.TEXTURE_LOADED||i)&&(this.state=Jn.TRANSITIONING,this.imageryLayer._reprojectTexture(e,this,t))};var jI=oS;function EX(e,t,n){this.readyImagery=void 0,this.loadingImagery=e,this.textureCoordinateRectangle=t,this.textureTranslationAndScale=void 0,this.useWebMercatorT=n}EX.prototype.freeResources=function(){l(this.readyImagery)&&this.readyImagery.releaseReference(),l(this.loadingImagery)&&this.loadingImagery.releaseReference()};EX.prototype.processStateMachine=function(e,t,n){let i=this.loadingImagery,o=i.imageryLayer;if(i.processStateMachine(t,!this.useWebMercatorT,n),i.state===Jn.READY)return l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=this.loadingImagery,this.loadingImagery=void 0,this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this),!0;let r=i.parent,s;for(;l(r)&&(r.state!==Jn.READY||!this.useWebMercatorT&&!l(r.texture));)r.state!==Jn.FAILED&&r.state!==Jn.INVALID&&(s=s||r),r=r.parent;return this.readyImagery!==r&&(l(this.readyImagery)&&this.readyImagery.releaseReference(),this.readyImagery=r,l(r)&&(r.addReference(),this.textureTranslationAndScale=o._calculateTextureTranslationAndScale(e,this))),i.state===Jn.FAILED||i.state===Jn.INVALID?l(s)?(s.processStateMachine(t,!this.useWebMercatorT,n),!1):!0:!1};var qI=EX;function yi(e,t){this._imageryProvider=e,this._readyEvent=new me,this._errorEvent=new me,t=y(t,y.EMPTY_OBJECT),e=y(e,y.EMPTY_OBJECT),this.alpha=y(t.alpha,y(e._defaultAlpha,1)),this.nightAlpha=y(t.nightAlpha,y(e._defaultNightAlpha,1)),this.dayAlpha=y(t.dayAlpha,y(e._defaultDayAlpha,1)),this.brightness=y(t.brightness,y(e._defaultBrightness,yi.DEFAULT_BRIGHTNESS)),this.contrast=y(t.contrast,y(e._defaultContrast,yi.DEFAULT_CONTRAST)),this.hue=y(t.hue,y(e._defaultHue,yi.DEFAULT_HUE)),this.saturation=y(t.saturation,y(e._defaultSaturation,yi.DEFAULT_SATURATION)),this.gamma=y(t.gamma,y(e._defaultGamma,yi.DEFAULT_GAMMA)),this.splitDirection=y(t.splitDirection,yi.DEFAULT_SPLIT),this.minificationFilter=y(t.minificationFilter,y(e._defaultMinificationFilter,yi.DEFAULT_MINIFICATION_FILTER)),this.magnificationFilter=y(t.magnificationFilter,y(e._defaultMagnificationFilter,yi.DEFAULT_MAGNIFICATION_FILTER)),this.show=y(t.show,!0),this._minimumTerrainLevel=t.minimumTerrainLevel,this._maximumTerrainLevel=t.maximumTerrainLevel,this._rectangle=y(t.rectangle,ae.MAX_VALUE),this._maximumAnisotropy=t.maximumAnisotropy,this._imageryCache={},this._skeletonPlaceholder=new qI(jI.createPlaceholder(this)),this._show=!0,this._layerIndex=-1,this._isBaseLayer=!1,this._requestImageError=void 0,this._reprojectComputeCommands=[],this.cutoutRectangle=t.cutoutRectangle,this.colorToAlpha=t.colorToAlpha,this.colorToAlphaThreshold=y(t.colorToAlphaThreshold,yi.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD),this._marsOptions=y(t.marsOptions,{}),this._initByMars3D&&this._initByMars3D(e,t)}Object.defineProperties(yi.prototype,{imageryProvider:{get:function(){return this._imageryProvider}},ready:{get:function(){return l(this._imageryProvider)}},errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},rectangle:{get:function(){return this._rectangle}}});yi.DEFAULT_BRIGHTNESS=1;yi.DEFAULT_CONTRAST=1;yi.DEFAULT_HUE=0;yi.DEFAULT_SATURATION=1;yi.DEFAULT_GAMMA=1;yi.DEFAULT_SPLIT=jr.NONE;yi.DEFAULT_MINIFICATION_FILTER=Zt.LINEAR;yi.DEFAULT_MAGNIFICATION_FILTER=pi.LINEAR;yi.DEFAULT_APPLY_COLOR_TO_ALPHA_THRESHOLD=.004;yi.fromProviderAsync=function(e,t){let n=new yi(void 0,t);return Elt(n,Promise.resolve(e)),n};yi.fromWorldImagery=function(e){return e=y(e,y.EMPTY_OBJECT),yi.fromProviderAsync(l0({style:e.style}),e)};yi.prototype.isBaseLayer=function(){return this._isBaseLayer};yi.prototype.isDestroyed=function(){return!1};yi.prototype.destroy=function(){return ue(this)};var kye=new ae,Fye=new ae,SX=new ae,Vye=new ae;yi.prototype.getImageryRectangle=function(){let e=this._imageryProvider,t=this._rectangle;return ae.intersection(e.rectangle,t)};yi.prototype._createTileImagerySkeletons=function(e,t,n){let i=e.data;if(!l(t)||l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel||l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return!1;l(n)||(n=i.imagery.length);let o=this._imageryProvider;if(!this.ready)return this._skeletonPlaceholder.loadingImagery.addReference(),i.imagery.splice(n,0,this._skeletonPlaceholder),!0;let r=o.tilingScheme.projection instanceof Ri&&e.rectangle.north<Ri.MaximumLatitude&&e.rectangle.south>-Ri.MaximumLatitude,s=ae.intersection(o.rectangle,this._rectangle,kye),a=ae.intersection(e.rectangle,s,Fye);if(!l(a)){if(!this.isBaseLayer())return!1;let w=s,I=e.rectangle;a=Fye,I.south>=w.north?a.north=a.south=w.north:I.north<=w.south?a.north=a.south=w.south:(a.south=Math.max(I.south,w.south),a.north=Math.min(I.north,w.north)),I.west>=w.east?a.west=a.east=w.east:I.east<=w.west?a.west=a.east=w.west:(a.west=Math.max(I.west,w.west),a.east=Math.min(I.east,w.east))}let c=0;a.south>0?c=a.south:a.north<0&&(c=a.north);let f=1*t.getLevelMaximumGeometricError(e.level),d=Clt(this,f,c);d=Math.max(0,d);let p=o.maximumLevel;if(d>p&&(d=p),l(o.minimumLevel)){let w=o.minimumLevel;d<w&&(d=w)}let g=o.tilingScheme,m=g.positionToTileXY(ae.northwest(a),d),x=g.positionToTileXY(ae.southeast(a),d),b=e.rectangle.width/512,T=e.rectangle.height/512,C=g.tileXYToRectangle(m.x,m.y,d);Math.abs(C.south-e.rectangle.north)<T&&m.y<x.y&&++m.y,Math.abs(C.east-e.rectangle.west)<b&&m.x<x.x&&++m.x;let A=g.tileXYToRectangle(x.x,x.y,d);Math.abs(A.north-e.rectangle.south)<T&&x.y>m.y&&--x.y,Math.abs(A.west-e.rectangle.east)<b&&x.x>m.x&&--x.x;let S=ae.clone(e.rectangle,Vye),v=g.tileXYToRectangle(m.x,m.y,d),D=ae.intersection(v,s,SX),R;r?(g.rectangleToNativeRectangle(S,S),g.rectangleToNativeRectangle(v,v),g.rectangleToNativeRectangle(D,D),g.rectangleToNativeRectangle(s,s),R=g.tileXYToNativeRectangle.bind(g),b=S.width/512,T=S.height/512):R=g.tileXYToRectangle.bind(g);let O,M=0,N=1,_;!this.isBaseLayer()&&Math.abs(D.west-S.west)>=b&&(M=Math.min(1,(D.west-S.west)/S.width)),!this.isBaseLayer()&&Math.abs(D.north-S.north)>=T&&(N=Math.max(0,(D.north-S.south)/S.height));let E=N;for(let w=m.x;w<=x.x;w++)if(O=M,v=R(w,m.y,d),D=ae.simpleIntersection(v,s,SX),!!l(D)){M=Math.min(1,(D.east-S.west)/S.width),w===x.x&&(this.isBaseLayer()||Math.abs(D.east-S.east)<b)&&(M=1),N=E;for(let I=m.y;I<=x.y;I++){if(_=N,v=R(w,I,d),D=ae.simpleIntersection(v,s,SX),!l(D))continue;N=Math.max(0,(D.south-S.south)/S.height),I===x.y&&(this.isBaseLayer()||Math.abs(D.south-S.south)<T)&&(N=0);let L=new oe(O,N,M,_),B=this.getImageryFromCache(w,I,d);i.imagery.splice(n,0,new qI(B,L,r)),++n}}return!0};yi.prototype._calculateTextureTranslationAndScale=function(e,t){let n=t.readyImagery.rectangle,i=e.rectangle;if(t.useWebMercatorT){let c=t.readyImagery.imageryLayer.imageryProvider.tilingScheme;n=c.rectangleToNativeRectangle(n,kye),i=c.rectangleToNativeRectangle(i,Vye)}let o=i.width,r=i.height,s=o/n.width,a=r/n.height;return new oe(s*(i.west-n.west)/o,a*(i.south-n.south)/r,s,a)};yi.prototype._requestImagery=function(e){if(l(this._minimumTerrainLevel)&&e.level<this._minimumTerrainLevel)return e.state=Jn.FAILED,e.request=void 0,!1;if(l(this._maximumTerrainLevel)&&e.level>this._maximumTerrainLevel)return e.state=Jn.FAILED,e.request=void 0,!1;let t=this._imageryProvider,n=this;function i(s){if(!l(s))return o();e.image=s,e.state=Jn.RECEIVED,e.request=void 0,Io.reportSuccess(n._requestImageError),n._marsOptions.onAddTileSuccess&&n._marsOptions.onAddTileSuccess(e)}function o(s){if(e.request.state===ei.CANCELLED){e.state=Jn.UNLOADED,e.request=void 0;return}e.state=Jn.FAILED,e.request=void 0;let a=`\u65E0\u6CD5\u83B7\u5F97\u56FE\u5757 x:${e.x},y: ${e.y},z:${e.level}. `;t._resource&&t._resource._last_url&&(a+=t._resource._last_url),n._requestImageError=Io.reportError(n._requestImageError,t,t.errorEvent,a,e.x,e.y,e.level,s),n._requestImageError.retry&&r(),n._marsOptions.onAddTileError&&n._marsOptions.onAddTileError(e)}function r(){let s=new or({throttle:!1,throttleByServer:!0,type:bs.IMAGERY});e.request=s,e.state=Jn.TRANSITIONING;let a=t.requestImage(e.x,e.y,e.level,s);if(!l(a)){e.state=Jn.UNLOADED,e.request=void 0;return}l(t.getTileCredits)&&(e.credits=t.getTileCredits(e.x,e.y,e.level)),n._marsOptions.onAddTile&&n._marsOptions.onAddTile(e),a.then?a.then(function(c){i(c)}).catch(function(c){o(c)}):i(a)}r()};yi.prototype._createTextureWebGL=function(e,t){let n=new $t({minificationFilter:this.minificationFilter,magnificationFilter:this.magnificationFilter}),i=t.image;return l(i.internalFormat)?new Pt({context:e,pixelFormat:i.internalFormat,width:i.width,height:i.height,source:{arrayBufferView:i.bufferView},sampler:n}):new Pt({context:e,source:i,pixelFormat:this._imageryProvider.hasAlphaChannel?ot.RGBA:ot.RGB,sampler:n})};yi.prototype._createTexture=function(e,t){let n=this._imageryProvider,i=t.image;if(l(n.tileDiscardPolicy)){let r=n.tileDiscardPolicy;if(l(r)){if(!r.isReady()){t.state=Jn.RECEIVED;return}if(r.shouldDiscardImage(i)){t.state=Jn.INVALID;return}}}let o=this._createTextureWebGL(e,t);n.tilingScheme.projection instanceof Ri?t.textureWebMercator=o:t.texture=o,t.image=void 0,t.state=Jn.TEXTURE_LOADED};function Bye(e,t,n){return`${e}:${t}:${n}`}yi.prototype._finalizeReprojectTexture=function(e,t){let n=this.minificationFilter,i=this.magnificationFilter;if(n===Zt.LINEAR&&i===pi.LINEAR&&!ot.isCompressedFormat(t.pixelFormat)&&P.isPowerOfTwo(t.width)&&P.isPowerOfTwo(t.height)){n=Zt.LINEAR_MIPMAP_LINEAR;let r=Bt.maximumTextureFilterAnisotropy,s=Math.min(r,y(this._maximumAnisotropy,r)),a=Bye(n,i,s),c=e.cache.imageryLayerMipmapSamplers;l(c)||(c={},e.cache.imageryLayerMipmapSamplers=c);let u=c[a];l(u)||(u=c[a]=new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i,maximumAnisotropy:s})),t.generateMipmap(lp.NICEST),t.sampler=u}else{let r=Bye(n,i,0),s=e.cache.imageryLayerNonMipmapSamplers;l(s)||(s={},e.cache.imageryLayerNonMipmapSamplers=s);let a=s[r];l(a)||(a=s[r]=new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i})),t.sampler=a}};yi.prototype._reprojectTexture=function(e,t,n){let i=t.textureWebMercator||t.texture,o=t.rectangle,r=e.context;if(n=y(n,!0),n&&!(this._imageryProvider.tilingScheme.projection instanceof Ii)&&o.width/i.width>1e-5){let s=this;t.addReference();let a=new rl({persists:!0,owner:this,preExecute:function(c){Tlt(c,r,i,t.rectangle)},postExecute:function(c){t.texture=c,s._finalizeReprojectTexture(r,c),t.state=Jn.READY,t.releaseReference()},canceled:function(){t.state=Jn.TEXTURE_LOADED,t.releaseReference()}});this._reprojectComputeCommands.push(a)}else n&&(t.texture=i),this._finalizeReprojectTexture(r,i),t.state=Jn.READY};yi.prototype.queueReprojectionCommands=function(e){let t=this._reprojectComputeCommands,n=t.length;for(let i=0;i<n;++i)e.commandList.push(t[i]);t.length=0};yi.prototype.cancelReprojections=function(){this._reprojectComputeCommands.forEach(function(e){l(e.canceled)&&e.canceled()}),this._reprojectComputeCommands.length=0};yi.prototype.getImageryFromCache=function(e,t,n,i){let o=Uye(e,t,n),r=this._imageryCache[o];return l(r)||(r=new jI(this,e,t,n,i),this._imageryCache[o]=r),r.addReference(),r};yi.prototype.removeImageryFromCache=function(e){this._marsOptions.onRemoveTile&&this._marsOptions.onRemoveTile(e);let t=Uye(e.x,e.y,e.level);delete this._imageryCache[t]};function Uye(e,t,n){return JSON.stringify([e,t,n])}var _z={u_textureDimensions:function(){return this.textureDimensions},u_texture:function(){return this.texture},textureDimensions:new U,texture:void 0},blt=Gt.supportsTypedArrays()?new Float32Array(2*64):void 0;function Tlt(e,t,n,i){let o=t.cache.imageryLayer_reproject;if(!l(o)){o=t.cache.imageryLayer_reproject={vertexArray:void 0,shaderProgram:void 0,sampler:void 0,destroy:function(){l(this.framebuffer)&&this.framebuffer.destroy(),l(this.vertexArray)&&this.vertexArray.destroy(),l(this.shaderProgram)&&this.shaderProgram.destroy()}};let b=new Float32Array(2*64*2),T=0;for(let D=0;D<64;++D){let R=D/63;b[T++]=0,b[T++]=R,b[T++]=1,b[T++]=R}let C={position:0,webMercatorT:1},A=ds.getRegularGridIndices(2,64),S=bt.createIndexBuffer({context:t,typedArray:A,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT});o.vertexArray=new si({context:t,attributes:[{index:C.position,vertexBuffer:bt.createVertexBuffer({context:t,typedArray:b,usage:Ue.STATIC_DRAW}),componentsPerAttribute:2},{index:C.webMercatorT,vertexBuffer:bt.createVertexBuffer({context:t,sizeInBytes:64*2*4,usage:Ue.STREAM_DRAW}),componentsPerAttribute:1}],indexBuffer:S});let v=new He({sources:[qU]});o.shaderProgram=tn.fromCache({context:t,vertexShaderSource:v,fragmentShaderSource:jU,attributeLocations:C}),o.sampler=new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.LINEAR,magnificationFilter:pi.LINEAR})}n.sampler=o.sampler;let r=n.width,s=n.height;_z.textureDimensions.x=r,_z.textureDimensions.y=s,_z.texture=n;let a=Math.sin(i.south),c=.5*Math.log((1+a)/(1-a));a=Math.sin(i.north);let f=1/(.5*Math.log((1+a)/(1-a))-c),d=new Pt({context:t,width:r,height:s,pixelFormat:n.pixelFormat,pixelDatatype:n.pixelDatatype,preMultiplyAlpha:n.preMultiplyAlpha});P.isPowerOfTwo(r)&&P.isPowerOfTwo(s)&&d.generateMipmap(lp.NICEST);let p=i.south,g=i.north,m=blt,x=0;for(let b=0;b<64;++b){let T=b/63,C=P.lerp(p,g,T);a=Math.sin(C);let S=(.5*Math.log((1+a)/(1-a))-c)*f;m[x++]=S,m[x++]=S}o.vertexArray.getAttribute(1).vertexBuffer.copyFromArrayView(m),e.shaderProgram=o.shaderProgram,e.outputTexture=d,e.uniformMap=_z,e.vertexArray=o.vertexArray}function Clt(e,t,n){let i=e._imageryProvider,o=i.tilingScheme,r=o.ellipsoid,s=e._imageryProvider.tilingScheme.projection instanceof Ii?1:Math.cos(n),a=o.rectangle,u=r.maximumRadius*a.width*s/(i.tileWidth*o.getNumberOfXTilesAtLevel(0))/t,f=Math.log(u)/Math.log(2);return Math.round(f)|0}function Alt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function Elt(e,t){let n;try{if(n=await Promise.resolve(t),e.isDestroyed())return;e._imageryProvider=n,e._readyEvent.raiseEvent(n)}catch(i){Alt(e._errorEvent,i)}}var pc=yi;var zye={NONE:0,CULLED:1,RENDERED:2,REFINED:3,RENDERED_AND_KICKED:6,REFINED_AND_KICKED:7,CULLED_BUT_NEEDED:9,wasKicked:function(e){return e>=zye.RENDERED_AND_KICKED},originalResult:function(e){return e&3},kick:function(e){return e|4}},Kn=zye;function sS(e){this.tile=e,this.frameLastUpdated=void 0,this.westMeshes=[],this.westTiles=[],this.southMeshes=[],this.southTiles=[],this.eastMeshes=[],this.eastTiles=[],this.northMeshes=[],this.northTiles=[],this.southwestMesh=void 0,this.southwestTile=void 0,this.southeastMesh=void 0,this.southeastTile=void 0,this.northwestMesh=void 0,this.northwestTile=void 0,this.northeastMesh=void 0,this.northeastTile=void 0,this.changedThisFrame=!0,this.visitedFrame=void 0,this.enqueuedFrame=void 0,this.mesh=void 0,this.vertexArray=void 0,this.waterMaskTexture=void 0,this.waterMaskTranslationAndScale=new oe}sS.prototype.update=function(e,t,n){this.changedThisFrame&&(Xye(e,t,this.tile,n),this.changedThisFrame=!1)};sS.prototype.destroy=function(e){this._destroyVertexArray(e),l(this.waterMaskTexture)&&(--this.waterMaskTexture.referenceCount,this.waterMaskTexture.referenceCount===0&&this.waterMaskTexture.destroy(),this.waterMaskTexture=void 0)};sS.prototype._destroyVertexArray=function(e){l(this.vertexArray)&&(l(e)?e.push(this.vertexArray):oh._freeVertexArray(this.vertexArray),this.vertexArray=void 0)};var Slt=new yx;sS.updateFillTiles=function(e,t,n,i){let o=e._quadtree,r=o._levelZeroTiles,s=o._lastSelectionFrameNumber,a=Slt;a.clear();for(let u=0;u<t.length;++u){let f=t[u];l(f.data.vertexArray)&&a.enqueue(t[u])}let c=a.dequeue();for(;c!==void 0;){let u=c.findTileToWest(r),f=c.findTileToSouth(r),d=c.findTileToEast(r),p=c.findTileToNorth(r);Ms(e,n,c,u,s,gn.EAST,!1,a,i),Ms(e,n,c,f,s,gn.NORTH,!1,a,i),Ms(e,n,c,d,s,gn.WEST,!1,a,i),Ms(e,n,c,p,s,gn.SOUTH,!1,a,i);let g=u.findTileToNorth(r),m=u.findTileToSouth(r),x=d.findTileToNorth(r),b=d.findTileToSouth(r);Ms(e,n,c,g,s,gn.SOUTHEAST,!1,a,i),Ms(e,n,c,x,s,gn.SOUTHWEST,!1,a,i),Ms(e,n,c,m,s,gn.NORTHEAST,!1,a,i),Ms(e,n,c,b,s,gn.NORTHWEST,!1,a,i),c=a.dequeue()}};function Ms(e,t,n,i,o,r,s,a,c){if(i===void 0)return;let u=i;for(;u&&(u._lastSelectionResultFrame!==o||Kn.wasKicked(u._lastSelectionResult)||Kn.originalResult(u._lastSelectionResult)===Kn.CULLED);){if(s)return;let f=u.parent;if(r>=gn.NORTHWEST&&f!==void 0)switch(r){case gn.NORTHWEST:u=u===f.northwestChild?f:void 0;break;case gn.NORTHEAST:u=u===f.northeastChild?f:void 0;break;case gn.SOUTHWEST:u=u===f.southwestChild?f:void 0;break;case gn.SOUTHEAST:u=u===f.southeastChild?f:void 0;break}else u=f}if(u!==void 0){if(u._lastSelectionResult===Kn.RENDERED){if(l(u.data.vertexArray))return;vlt(e,t,n,u,r,o,a,c);return}if(Kn.originalResult(i._lastSelectionResult)!==Kn.CULLED)switch(r){case gn.WEST:Ms(e,t,n,i.northwestChild,o,r,!0,a,c),Ms(e,t,n,i.southwestChild,o,r,!0,a,c);break;case gn.EAST:Ms(e,t,n,i.southeastChild,o,r,!0,a,c),Ms(e,t,n,i.northeastChild,o,r,!0,a,c);break;case gn.SOUTH:Ms(e,t,n,i.southwestChild,o,r,!0,a,c),Ms(e,t,n,i.southeastChild,o,r,!0,a,c);break;case gn.NORTH:Ms(e,t,n,i.northeastChild,o,r,!0,a,c),Ms(e,t,n,i.northwestChild,o,r,!0,a,c);break;case gn.NORTHWEST:Ms(e,t,n,i.northwestChild,o,r,!0,a,c);break;case gn.NORTHEAST:Ms(e,t,n,i.northeastChild,o,r,!0,a,c);break;case gn.SOUTHWEST:Ms(e,t,n,i.southwestChild,o,r,!0,a,c);break;case gn.SOUTHEAST:Ms(e,t,n,i.southeastChild,o,r,!0,a,c);break;default:throw new de("Invalid edge")}}}function vlt(e,t,n,i,o,r,s,a){let c=i.data;if(c.fill===void 0)c.fill=new sS(i);else if(c.fill.visitedFrame===r)return;c.fill.enqueuedFrame!==r&&(c.fill.enqueuedFrame=r,c.fill.changedThisFrame=!1,s.enqueue(i)),wlt(e,t,n,i,o,a)}function wlt(e,t,n,i,o,r){let s=i.data.fill,a,c=n.data.fill;l(c)?(c.visitedFrame=t.frameNumber,c.changedThisFrame&&(Xye(e,t,n,r),c.changedThisFrame=!1),a=n.data.fill.mesh):a=n.data.mesh;let u,f;switch(o){case gn.WEST:u=s.westMeshes,f=s.westTiles;break;case gn.SOUTH:u=s.southMeshes,f=s.southTiles;break;case gn.EAST:u=s.eastMeshes,f=s.eastTiles;break;case gn.NORTH:u=s.northMeshes,f=s.northTiles;break;case gn.NORTHWEST:s.changedThisFrame=s.changedThisFrame||s.northwestMesh!==a,s.northwestMesh=a,s.northwestTile=n;return;case gn.NORTHEAST:s.changedThisFrame=s.changedThisFrame||s.northeastMesh!==a,s.northeastMesh=a,s.northeastTile=n;return;case gn.SOUTHWEST:s.changedThisFrame=s.changedThisFrame||s.southwestMesh!==a,s.southwestMesh=a,s.southwestTile=n;return;case gn.SOUTHEAST:s.changedThisFrame=s.changedThisFrame||s.southeastMesh!==a,s.southeastMesh=a,s.southeastTile=n;return}if(n.level<=i.level){s.changedThisFrame=s.changedThisFrame||u[0]!==a||u.length!==1,u[0]=a,f[0]=n,u.length=1,f.length=1;return}let d,p,g,m,x=n.rectangle,b,T=i.rectangle;switch(o){case gn.WEST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.north,m.south,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.south,m.north,b));++p);break;case gn.SOUTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.west,m.east,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.east,m.west,b));++p);break;case gn.EAST:for(b=(T.north-T.south)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.lessThan(x.south,m.north,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.lessThanOrEquals(x.north,m.south,b));++p);break;case gn.NORTH:for(b=(T.east-T.west)*P.EPSILON5,d=0;d<f.length&&(g=f[d],m=g.rectangle,!P.greaterThan(x.east,m.west,b));++d);for(p=d;p<f.length&&(g=f[p],m=g.rectangle,!P.greaterThanOrEquals(x.west,m.east,b));++p);break}p-d===1?(s.changedThisFrame=s.changedThisFrame||u[d]!==a,u[d]=a,f[d]=n):(s.changedThisFrame=!0,u.splice(d,p-d,a),f.splice(d,p-d,n))}var vb=new fe,Dlt=new fe,rS=new h,IX=new h,vX=new U,wX=new U,Ru=new U;function Az(){this.height=0,this.encodedNormal=new U}function gz(e,t,n,i,o,r,s,a,c){if(l(o))return o;let u;if(l(r)&&l(s))u=(r.height+s.height)*.5;else if(l(r))u=r.height;else if(l(s))u=s.height;else if(l(a))u=a.height;else{let d=e.tile.data.tileBoundingRegion,p=0,g=0;l(d)&&(p=d.minimumHeight,g=d.maximumHeight),u=(p+g)*.5}return Kye(e,t,n,i,u,c),c}var Ilt={minimumHeight:0,maximumHeight:0},Plt=new h,Hye=new Az,Gye=new Az,Wye=new Az,jye=new Az,Olt=typeof Uint8Array<"u"?new Uint8Array(9*9):void 0,Rlt={tilingScheme:void 0,x:0,y:0,level:0,exaggeration:1,exaggerationRelativeHeight:0};function Xye(e,t,n,i){oh.initialize(n,e.terrainProvider,e._imageryLayers);let o=n.data,r=o.fill,s=n.rectangle,a=t.verticalExaggeration,c=t.verticalExaggerationRelativeHeight,u=a!==1,f=n.tilingScheme.ellipsoid,d=xz(r,f,0,1,r.northwestTile,r.northwestMesh,r.northTiles,r.northMeshes,r.westTiles,r.westMeshes,Wye),p=xz(r,f,0,0,r.southwestTile,r.southwestMesh,r.westTiles,r.westMeshes,r.southTiles,r.southMeshes,Hye),g=xz(r,f,1,0,r.southeastTile,r.southeastMesh,r.southTiles,r.southMeshes,r.eastTiles,r.eastMeshes,Gye),m=xz(r,f,1,1,r.northeastTile,r.northeastMesh,r.eastTiles,r.eastMeshes,r.northTiles,r.northMeshes,jye);d=gz(r,f,0,1,d,p,m,g,Wye),p=gz(r,f,0,0,p,d,g,m,Hye),g=gz(r,f,1,1,g,p,m,d,Gye),m=gz(r,f,1,1,m,g,d,p,jye);let x=p.height,b=g.height,T=d.height,C=m.height,A=Math.min(x,b,T,C),S=Math.max(x,b,T,C),v=(A+S)*.5,D,R,O=e.getLevelMaximumGeometricError(n.level),M=f.maximumRadius-O,N=Math.acos(M/f.maximumRadius)*4;if(N*=1.5,s.width>N&&S-A<=O){let w=new fc({width:9,height:9,buffer:Olt,structure:{heightOffset:S}}),I=Rlt;I.tilingScheme=n.tilingScheme,I.x=n.x,I.y=n.y,I.level=n.level,I.exaggeration=a,I.exaggerationRelativeHeight=c,r.mesh=w._createMeshSync(I)}else{let w=u,I=ae.center(s,Dlt);I.height=v;let L=f.cartographicToCartesian(I,Plt),B=new Xc(L,void 0,void 0,void 0,void 0,!0,!0,w,a,c),H=5,V;for(V=r.westMeshes,D=0,R=V.length;D<R;++D)H+=V[D].eastIndicesNorthToSouth.length;for(V=r.southMeshes,D=0,R=V.length;D<R;++D)H+=V[D].northIndicesWestToEast.length;for(V=r.eastMeshes,D=0,R=V.length;D<R;++D)H+=V[D].westIndicesSouthToNorth.length;for(V=r.northMeshes,D=0,R=V.length;D<R;++D)H+=V[D].southIndicesEastToWest.length;let G=Ilt;G.minimumHeight=A,G.maximumHeight=S;let k=B.stride,W=new Float32Array(H*k),Y=0,J=Y;Y=yz(f,s,B,W,Y,0,1,d.height,d.encodedNormal,1,G),Y=Tz(r,f,B,W,Y,r.westTiles,r.westMeshes,gn.EAST,G);let j=Y;Y=yz(f,s,B,W,Y,0,0,p.height,p.encodedNormal,0,G),Y=Tz(r,f,B,W,Y,r.southTiles,r.southMeshes,gn.NORTH,G);let Z=Y;Y=yz(f,s,B,W,Y,1,0,g.height,g.encodedNormal,0,G),Y=Tz(r,f,B,W,Y,r.eastTiles,r.eastMeshes,gn.WEST,G);let Q=Y;Y=yz(f,s,B,W,Y,1,1,m.height,m.encodedNormal,1,G),Y=Tz(r,f,B,W,Y,r.northTiles,r.northMeshes,gn.SOUTH,G),A=G.minimumHeight,S=G.maximumHeight;let he=In.fromRectangle(s,A,S,n.tilingScheme.ellipsoid),ye=Ri.geodeticLatitudeToMercatorAngle(s.south),re=1/(Ri.geodeticLatitudeToMercatorAngle(s.north)-ye),_e=(Ri.geodeticLatitudeToMercatorAngle(I.latitude)-ye)*re,xe=f.geodeticSurfaceNormalCartographic(vb,IX),Ie=Fn.octEncode(xe,vX),De=Y;B.encode(W,Y*k,he.center,U.fromElements(.5,.5,Ru),v,Ie,_e,xe),++Y;let Ne=Y,Ce=Ne<256?1:2,Be=(Ne-1)*3,Ve=Be*Ce,$e=(W.length-Ne*k)*Float32Array.BYTES_PER_ELEMENT,qe;if($e>=Ve){let Ee=Ne*k*Float32Array.BYTES_PER_ELEMENT;qe=Ne<256?new Uint8Array(W.buffer,Ee,Be):new Uint16Array(W.buffer,Ee,Be)}else qe=Ne<256?new Uint8Array(Be):new Uint16Array(Be);W=new Float32Array(W.buffer,0,Ne*k);let pt=0;for(D=0;D<Ne-2;++D)qe[pt++]=De,qe[pt++]=D,qe[pt++]=D+1;qe[pt++]=De,qe[pt++]=D,qe[pt++]=0;let ht=[];for(D=j;D>=J;--D)ht.push(D);let yt=[];for(D=Z;D>=j;--D)yt.push(D);let Jt=[];for(D=Q;D>=Z;--D)Jt.push(D);let Te=[];for(Te.push(0),D=De-1;D>=Q;--D)Te.push(D);r.mesh=new Jd(B.center,W,qe,Be,Ne,A,S,ce.fromOrientedBoundingBox(he),Vlt(e,he.center,s,A,S),B.stride,he,B,ht,yt,Jt,Te)}let _=t.context;r._destroyVertexArray(i),r.vertexArray=oh._createVertexArrayForMesh(_,r.mesh),o.processImagery(n,e.terrainProvider,t,!0);let E=r.waterMaskTexture;if(r.waterMaskTexture=void 0,e.terrainProvider.hasWaterMask){let w=o._findAncestorTileWithTerrainData(n);l(w)&&l(w.data.waterMaskTexture)&&(r.waterMaskTexture=w.data.waterMaskTexture,++r.waterMaskTexture.referenceCount,o._computeWaterMaskTranslationAndScale(n,w,r.waterMaskTranslationAndScale))}l(E)&&(--E.referenceCount,E.referenceCount===0&&E.destroy())}function yz(e,t,n,i,o,r,s,a,c,u,f){let d=vb;d.longitude=P.lerp(t.west,t.east,r),d.latitude=P.lerp(t.south,t.north,s),d.height=a;let p=e.cartographicToCartesian(d,rS),g;n.hasGeodeticSurfaceNormals&&(g=e.geodeticSurfaceNormal(p,IX));let m=wX;return m.x=r,m.y=s,n.encode(i,o*n.stride,p,m,a,c,u,g),f.minimumHeight=Math.min(f.minimumHeight,a),f.maximumHeight=Math.max(f.maximumHeight,a),o+1}var Cz=new ae;function YI(e,t,n,i){let o=e.rectangle,r=t.rectangle;t.x===0&&n.x===1&&e.x===e.tilingScheme.getNumberOfXTilesAtLevel(e.level)-1?(o=ae.clone(e.rectangle,Cz),o.west-=P.TWO_PI,o.east-=P.TWO_PI):e.x===0&&n.x===0&&t.x===t.tilingScheme.getNumberOfXTilesAtLevel(t.level)-1&&(o=ae.clone(e.rectangle,Cz),o.west+=P.TWO_PI,o.east+=P.TWO_PI);let s=o.east-o.west,a=(r.west-o.west)/s,c=(r.east-o.west)/s,u=o.north-o.south,f=(r.south-o.south)/u,d=(r.north-o.south)/u,p=(n.x-a)/(c-a),g=(n.y-f)/(d-f);return Math.abs(p)<Math.EPSILON5?p=0:Math.abs(p-1)<Math.EPSILON5&&(p=1),Math.abs(g)<Math.EPSILON5?g=0:Math.abs(g-1)<Math.EPSILON5&&(g=1),i.x=p,i.y=g,i}var Mlt=new U;function DX(e,t,n,i,o){let r=e.encoding,s=e.vertices;if(o.height=r.decodeHeight(s,t),r.hasVertexNormals)r.getOctEncodedNormal(s,t,o.encodedNormal);else{let a=o.encodedNormal;a.x=0,a.y=0}}var Llt=new U,Nlt=new h;function Flt(e,t,n,i,o,r,s,a,c,u){let f=i.encoding,d=i.vertices,p=YI(t,n,f.decodeTextureCoordinates(d,o,Ru),Ru),g=YI(t,n,f.decodeTextureCoordinates(d,r,wX),wX),m;c?m=(s-p.x)/(g.x-p.x):m=(a-p.y)/(g.y-p.y);let x=f.decodeHeight(d,o),b=f.decodeHeight(d,r),T=n.rectangle;vb.longitude=P.lerp(T.west,T.east,s),vb.latitude=P.lerp(T.south,T.north,a),u.height=vb.height=P.lerp(x,b,m);let C;if(f.hasVertexNormals){let A=f.getOctEncodedNormal(d,o,Mlt),S=f.getOctEncodedNormal(d,r,Llt),v=Fn.octDecode(A.x,A.y,rS),D=Fn.octDecode(S.x,S.y,Nlt);C=h.lerp(v,D,m,rS),h.normalize(C,C),Fn.octEncode(C,u.encodedNormal)}else C=e.geodeticSurfaceNormalCartographic(vb,rS),Fn.octEncode(C,u.encodedNormal)}function Kye(e,t,n,i,o,r){r.height=o;let s=t.geodeticSurfaceNormalCartographic(vb,rS);Fn.octEncode(s,r.encodedNormal)}function xz(e,t,n,i,o,r,s,a,c,u,f){if(Yye(e,t,a,s,!1,n,i,f)||Yye(e,t,u,c,!0,n,i,f))return f;let p;if(PX(o,r))return n===0?i===0?p=r.eastIndicesNorthToSouth[0]:p=r.southIndicesEastToWest[0]:i===0?p=r.northIndicesWestToEast[0]:p=r.westIndicesSouthToNorth[0],DX(r,p,n,i,f),f;let g;if(n===0?i===0?g=bz(e.westMeshes,e.westTiles,gn.EAST,e.southMeshes,e.southTiles,gn.NORTH,n,i):g=bz(e.northMeshes,e.northTiles,gn.SOUTH,e.westMeshes,e.westTiles,gn.EAST,n,i):i===0?g=bz(e.southMeshes,e.southTiles,gn.NORTH,e.eastMeshes,e.eastTiles,gn.WEST,n,i):g=bz(e.eastMeshes,e.eastTiles,gn.WEST,e.northMeshes,e.northTiles,gn.SOUTH,n,i),l(g))return Kye(e,t,n,i,g,f),f}function bz(e,t,n,i,o,r,s,a){let c=qye(e,t,!1,n,s,a),u=qye(i,o,!0,r,s,a);return l(c)&&l(u)?(c+u)*.5:l(c)?c:u}function Tz(e,t,n,i,o,r,s,a,c){for(let u=0;u<r.length;++u)o=Blt(e,t,n,i,o,r[u],s[u],a,c);return o}function Blt(e,t,n,i,o,r,s,a,c){let u=r.rectangle;a===gn.EAST&&e.tile.x===0?(u=ae.clone(r.rectangle,Cz),u.west-=P.TWO_PI,u.east-=P.TWO_PI):a===gn.WEST&&r.x===0&&(u=ae.clone(r.rectangle,Cz),u.west+=P.TWO_PI,u.east+=P.TWO_PI);let f=e.tile.rectangle,d,p;o>0&&(n.decodeTextureCoordinates(i,o-1,Ru),d=Ru.x,p=Ru.y);let g,m;switch(a){case gn.WEST:g=s.westIndicesSouthToNorth,m=!1;break;case gn.NORTH:g=s.northIndicesWestToEast,m=!0;break;case gn.EAST:g=s.eastIndicesNorthToSouth,m=!1;break;case gn.SOUTH:g=s.southIndicesEastToWest,m=!0;break}let x=r,b=e.tile,T=s.encoding,C=s.vertices,A=n.stride,S,v;T.hasWebMercatorT&&(S=Ri.geodeticLatitudeToMercatorAngle(f.south),v=1/(Ri.geodeticLatitudeToMercatorAngle(f.north)-S));for(let D=0;D<g.length;++D){let R=g[D],O=T.decodeTextureCoordinates(C,R,Ru);YI(x,b,O,O);let M=O.x,N=O.y,_=m?M:N;if(_<0||_>1||Math.abs(M-d)<P.EPSILON5&&Math.abs(N-p)<P.EPSILON5)continue;let E=Math.abs(M)<P.EPSILON5||Math.abs(M-1)<P.EPSILON5,w=Math.abs(N)<P.EPSILON5||Math.abs(N-1)<P.EPSILON5;if(E&&w)continue;let I=T.decodePosition(C,R,rS),L=T.decodeHeight(C,R),B;T.hasVertexNormals?B=T.getOctEncodedNormal(C,R,vX):(B=vX,B.x=0,B.y=0);let H=N;if(T.hasWebMercatorT){let G=P.lerp(f.south,f.north,N);H=(Ri.geodeticLatitudeToMercatorAngle(G)-S)*v}let V;n.hasGeodeticSurfaceNormals&&(V=t.geodeticSurfaceNormal(I,IX)),n.encode(i,o*A,I,O,L,B,H,V),c.minimumHeight=Math.min(c.minimumHeight,L),c.maximumHeight=Math.max(c.maximumHeight,L),++o}return o}function qye(e,t,n,i,o,r){let s,a,c;n?(s=0,a=e.length,c=1):(s=e.length-1,a=-1,c=-1);for(let u=s;u!==a;u+=c){let f=e[u],d=t[u];if(!PX(d,f))continue;let p;switch(i){case gn.WEST:p=f.westIndicesSouthToNorth;break;case gn.SOUTH:p=f.southIndicesEastToWest;break;case gn.EAST:p=f.eastIndicesNorthToSouth;break;case gn.NORTH:p=f.northIndicesWestToEast;break}let g=p[n?0:p.length-1];if(l(g))return f.encoding.decodeHeight(f.vertices,g)}}function PX(e,t){return l(t)&&(!l(e.data.fill)||!e.data.fill.changedThisFrame)}function Yye(e,t,n,i,o,r,s,a){let c,u,f,d,p,g=i[o?0:n.length-1],m=n[o?0:n.length-1];if(PX(g,m)&&(r===0?s===0?(c=o?m.northIndicesWestToEast:m.eastIndicesNorthToSouth,u=o,f=o):(c=o?m.eastIndicesNorthToSouth:m.southIndicesEastToWest,u=!o,f=!1):s===0?(c=o?m.westIndicesSouthToNorth:m.northIndicesWestToEast,u=!o,f=!0):(c=o?m.southIndicesEastToWest:m.westIndicesSouthToNorth,u=o,f=!o),c.length>0)){d=o?0:c.length-1,p=c[d],m.encoding.decodeTextureCoordinates(m.vertices,p,Ru);let x=YI(g,e.tile,Ru,Ru);if(x.x===r&&x.y===s)return DX(m,p,r,s,a),!0;if(d=Ro(c,u?r:s,function(b,T){m.encoding.decodeTextureCoordinates(m.vertices,b,Ru);let C=YI(g,e.tile,Ru,Ru);return f?u?C.x-r:C.y-s:u?r-C.x:s-C.y}),d<0){if(d=~d,d>0&&d<c.length)return Flt(t,g,e.tile,m,c[d-1],c[d],r,s,u,a),!0}else return DX(m,c[d],r,s,a),!0}return!1}var klt=[new h,new h,new h,new h];function Vlt(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=klt;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}var XI=sS;function tr(e){this.lightingFadeOutDistance=65e5,this.lightingFadeInDistance=9e6,this.hasWaterMask=!1,this.showWaterEffect=!1,this.oceanNormalMap=void 0,this.zoomedOutOceanSpecularIntensity=.5,this.enableLighting=!1,this.dynamicAtmosphereLighting=!1,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=!1,this.shadows=bn.RECEIVE_ONLY,this.vertexShadowDarkness=.3,this.fillHighlightColor=void 0,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this.undergroundColor=void 0,this.undergroundColorAlphaByDistance=void 0,this.lambertDiffuseMultiplier=0,this.materialUniformMap=void 0,this._materialUniformMap=void 0,this._quadtree=void 0,this._terrainProvider=e.terrainProvider,this._imageryLayers=e.imageryLayers,this._surfaceShaderSet=e.surfaceShaderSet,this._renderState=void 0,this._blendRenderState=void 0,this._disableCullingRenderState=void 0,this._disableCullingBlendRenderState=void 0,this._errorEvent=new me,this._removeLayerAddedListener=this._imageryLayers.layerAdded.addEventListener(tr.prototype._onLayerAdded,this),this._removeLayerRemovedListener=this._imageryLayers.layerRemoved.addEventListener(tr.prototype._onLayerRemoved,this),this._removeLayerMovedListener=this._imageryLayers.layerMoved.addEventListener(tr.prototype._onLayerMoved,this),this._removeLayerShownListener=this._imageryLayers.layerShownOrHidden.addEventListener(tr.prototype._onLayerShownOrHidden,this),this._imageryLayersUpdatedEvent=new me,this._layerOrderChanged=!1,this._tilesToRenderByTextureCount=[],this._drawCommands=[],this._uniformMaps=[],this._usedDrawCommands=0,this._vertexArraysToDestroy=[],this._debug={wireframe:!1,boundingSphereTile:void 0},this._baseColor=void 0,this._firstPassInitialColor=void 0,this.baseColor=new z(0,0,.5,1),this._clippingPlanes=void 0,this._clippingPolygons=void 0,this.cartographicLimitRectangle=ae.clone(ae.MAX_VALUE),this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1,this._oldVerticalExaggeration=void 0,this._oldVerticalExaggerationRelativeHeight=void 0,this._initByMars3D&&this._initByMars3D(e)}Object.defineProperties(tr.prototype,{baseColor:{get:function(){return this._baseColor},set:function(e){this._baseColor=e,this._firstPassInitialColor=oe.fromColor(e,this._firstPassInitialColor)}},quadtree:{get:function(){return this._quadtree},set:function(e){this._quadtree=e}},tilingScheme:{get:function(){if(l(this._terrainProvider))return this._terrainProvider.tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},imageryLayersUpdatedEvent:{get:function(){return this._imageryLayersUpdatedEvent}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){this._terrainProvider!==e&&(this._terrainProvider=e,l(this._quadtree)&&this._quadtree.invalidateAllTiles())}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ss.setOwner(e,this,"_clippingPlanes")}},clippingPolygons:{get:function(){return this._clippingPolygons},set:function(e){Xh.setOwner(e,this,"_clippingPolygons")}}});function Ult(e,t){let n=e.loadingImagery;l(n)||(n=e.readyImagery);let i=t.loadingImagery;return l(i)||(i=t.readyImagery),n.imageryLayer._layerIndex-i.imageryLayer._layerIndex}tr.prototype.update=function(e){this._imageryLayers._update()};function zlt(e,t){let n=t.creditDisplay,i=e._terrainProvider;l(i)&&l(i.credit)&&n.addCreditToNextFrame(i.credit);let o=e._imageryLayers;for(let r=0,s=o.length;r<s;++r){let a=o.get(r);a.ready&&a.show&&l(a.imageryProvider.credit)&&n.addCreditToNextFrame(a.imageryProvider.credit)}}tr.prototype.initialize=function(e){this._imageryLayers.queueReprojectionCommands(e),this._layerOrderChanged&&(this._layerOrderChanged=!1,this._quadtree.forEachLoadedTile(function(i){i.data.imagery.sort(Ult)})),zlt(this,e);let t=this._vertexArraysToDestroy,n=t.length;for(let i=0;i<n;++i)oh._freeVertexArray(t[i]);t.length=0};tr.prototype.beginUpdate=function(e){let t=this._tilesToRenderByTextureCount;for(let o=0,r=t.length;o<r;++o){let s=t[o];l(s)&&(s.length=0)}let n=this._clippingPlanes;l(n)&&n.enabled&&n.update(e);let i=this._clippingPolygons;l(i)&&i.enabled&&(i.update(e),i.queueCommands(e)),this._usedDrawCommands=0,this._hasLoadedTilesThisFrame=!1,this._hasFillTilesThisFrame=!1};tr.prototype.endUpdate=function(e){if(!l(this._renderState)){this._renderState=ze.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Dc.LESS}}),this._blendRenderState=ze.fromCache({cull:{enabled:!0},depthTest:{enabled:!0,func:Dc.LESS_OR_EQUAL},blending:fn.ALPHA_BLEND});let s=We(this._renderState,!0);s.cull.enabled=!1,this._disableCullingRenderState=ze.fromCache(s),s=We(this._blendRenderState,!0),s.cull.enabled=!1,this._disableCullingBlendRenderState=ze.fromCache(s)}this._hasFillTilesThisFrame&&this._hasLoadedTilesThisFrame&&XI.updateFillTiles(this,this._quadtree._tilesToRender,e,this._vertexArraysToDestroy);let t=this.quadtree,n=e.verticalExaggeration,i=e.verticalExaggerationRelativeHeight,o=this._oldVerticalExaggeration!==n||this._oldVerticalExaggerationRelativeHeight!==i;this._oldVerticalExaggeration=n,this._oldVerticalExaggerationRelativeHeight=i,o&&t.forEachLoadedTile(function(s){s.data.updateExaggeration(s,e,t)});let r=this._tilesToRenderByTextureCount;for(let s=0,a=r.length;s<a;++s){let c=r[s];if(l(c))for(let u=0,f=c.length;u<f;++u){let d=c[u],p=d.data.tileBoundingRegion;e0e(this,d,e,!1);let g=this.marsOptions?.uplift;if(g&&g.enabled&&g.height!==0&&g.rectangles){for(let m=0;m<g.rectangles.length;m++)if(ae.intersection(p.rectangle,g.rectangles[m])){e0e(this,d,e,!0);break}}e.minimumTerrainHeight=Math.min(e.minimumTerrainHeight,p.minimumHeight)}}};function t0e(e,t){let n=t.globeTranslucencyState;if(n.translucent){let i=e.renderState.blending.enabled;n.pushDerivedCommands(e,i,t)}else t.commandList.push(e)}tr.prototype.updateForPick=function(e){let t=this._drawCommands;for(let n=0,i=this._usedDrawCommands;n<i;++n)t0e(t[n],e)};tr.prototype.cancelReprojections=function(){this._imageryLayers.cancelReprojections()};tr.prototype.getLevelMaximumGeometricError=function(e){return l(this._terrainProvider)?this._terrainProvider.getLevelMaximumGeometricError(e):0};tr.prototype.loadTile=function(e,t){let n=t.data,i=!0,o;l(n)&&(i=n.boundingVolumeSourceTile!==t||t._lastSelectionResult===Kn.CULLED_BUT_NEEDED,o=n.terrainState),oh.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i),n=t.data,i&&o!==t.data.terrainState&&this.computeTileVisibility(t,e,this.quadtree.occluders)!==Cr.NONE&&n.boundingVolumeSourceTile===t&&(i=!1,oh.processStateMachine(t,e,this.terrainProvider,this._imageryLayers,this.quadtree,this._vertexArraysToDestroy,i))};var Hlt=new ce,n0e=new ae,Glt=new ae,Wlt=new fe;function Sz(e,t){if(t.west<t.east)return t;let n=ae.clone(t,Glt);return ae.center(e,Wlt).longitude>0?n.east=P.PI:n.west=-P.PI,n}function i0e(e,t){if(t.cameraUnderground||t.globeTranslucencyState.translucent)return!0;if(e.backFaceCulling)return!1;let n=e._clippingPlanes;if(l(n)&&n.enabled)return!0;let i=e._clippingPolygons;return!!(l(i)&&i.enabled||!ae.equals(e.cartographicLimitRectangle,ae.MAX_VALUE))}tr.prototype.computeTileVisibility=function(e,t,n){let i=this.computeDistanceToTile(e,t);e._distance=i;let o=i0e(this,t);if(t.fog.enabled&&!o&&P.fog(i,t.fog.density)>=1)return Cr.NONE;let r=e.data,s=r.tileBoundingRegion;if(r.boundingVolumeSourceTile===void 0)return Cr.PARTIAL;let a=t.cullingVolume,c=s.boundingVolume;l(c)||(c=s.boundingSphere),r.clippedByBoundaries=!1;let u=Sz(e.rectangle,this.cartographicLimitRectangle),f=ae.simpleIntersection(u,e.rectangle,n0e);if(!l(f))return Cr.NONE;if(ae.equals(f,e.rectangle)||(r.clippedByBoundaries=!0),t.mode!==ne.SCENE3D&&(c=Hlt,ce.fromRectangleWithHeights2D(e.rectangle,t.mapProjection,s.minimumHeight,s.maximumHeight,c),h.fromElements(c.center.z,c.center.x,c.center.y,c.center),t.mode===ne.MORPHING&&l(r.renderedMesh)&&(c=ce.union(s.boundingSphere,c,c))),!l(c))return Cr.PARTIAL;let d=this._clippingPlanes;if(l(d)&&d.enabled){let b=d.computeIntersectionWithBoundingVolume(c);if(e.isClipped=b!==jt.INSIDE,b===jt.OUTSIDE)return Cr.NONE}let p=this._clippingPolygons;if(l(p)&&p.enabled){let b=p.computeIntersectionWithBoundingVolume(s);e.isClipped=b!==jt.OUTSIDE}let g,m=a.computeVisibility(c);if(m===jt.OUTSIDE?g=Cr.NONE:m===jt.INTERSECTING?g=Cr.PARTIAL:m===jt.INSIDE&&(g=Cr.FULL),g===Cr.NONE)return g;let x=t.mode===ne.SCENE3D&&t.camera.frustum instanceof an;if(t.mode===ne.SCENE3D&&!x&&l(n)&&!o){let b=r.occludeePointInScaledSpace;return!l(b)||n.ellipsoid.isScaledSpacePointVisiblePossiblyUnderEllipsoid(b,s.minimumHeight)?g:Cr.NONE}return g};tr.prototype.canRefine=function(e){return l(e.data.terrainData)?!0:this.terrainProvider.getTileDataAvailable(e.x*2,e.y*2,e.level+1)!==void 0};var jlt=[],qlt=[];tr.prototype.canRenderWithoutLosingDetail=function(e,t){let n=e.data,i=jlt;i.length=this._imageryLayers.length;let o=!1,r=!1,s;l(n)&&(o=n.terrainState===mo.READY,r=!0,s=n.imagery);let a,c;for(a=0,c=i.length;a<c;++a)i[a]=r;if(l(s))for(a=0,c=s.length;a<c;++a){let d=s[a],p=d.loadingImagery,g=!l(p)||p.state===Jn.FAILED||p.state===Jn.INVALID,m=(d.loadingImagery||d.readyImagery).imageryLayer._layerIndex;i[m]=g&&i[m]}let u=this.quadtree._lastSelectionFrameNumber,f=qlt;for(f.length=0,f.push(e.southwestChild,e.southeastChild,e.northwestChild,e.northeastChild);f.length>0;){let d=f.pop(),p=d._lastSelectionResultFrame===u?d._lastSelectionResult:Kn.NONE;if(p===Kn.RENDERED){let g=d.data;if(!l(g))continue;if(!o&&d.data.terrainState===mo.READY)return!1;let m=d.data.imagery;for(a=0,c=m.length;a<c;++a){let x=m[a],b=x.loadingImagery,T=!l(b)||b.state===Jn.FAILED||b.state===Jn.INVALID,C=(x.loadingImagery||x.readyImagery).imageryLayer._layerIndex;if(T&&!i[C])return!1}}else p===Kn.REFINED&&f.push(d.southwestChild,d.southeastChild,d.northwestChild,d.northeastChild)}return!0};var Ylt=new h;tr.prototype.computeTileLoadPriority=function(e,t){let n=e.data;if(n===void 0)return 0;let i=n.tileBoundingRegion.boundingVolume;if(i===void 0)return 0;let o=t.camera.positionWC,r=t.camera.directionWC,s=h.subtract(i.center,o,Ylt),a=h.magnitude(s);return a<P.EPSILON5?0:(h.divideByScalar(s,a,s),(1-h.dot(s,r))*e._distance)};var Zye=new F,Ez=new F,Xlt=new oe,Klt=new oe,Zlt=new oe,$lt=new h,$ye=new h,Qlt=new h,Jlt=new h;tr.prototype.showTileThisFrame=function(e,t){let n=0,i=e.data.imagery;for(let a=0,c=i.length;a<c;++a){let u=i[a];l(u.readyImagery)&&u.readyImagery.imageryLayer.alpha!==0&&++n}let o=this._tilesToRenderByTextureCount[n];l(o)||(o=[],this._tilesToRenderByTextureCount[n]=o),o.push(e);let r=e.data;l(r.vertexArray)?this._hasLoadedTilesThisFrame=!0:this._hasFillTilesThisFrame=!0;let s=this._debug;++s.tilesRendered,s.texturesRendered+=n};var eut=[new h,new h,new h,new h];function Qye(e,t,n,i,o,r){let s=e.quadtree._occluders.ellipsoid,a=s.ellipsoid,c=eut;return h.fromRadians(n.west,n.south,o,a,c[0]),h.fromRadians(n.east,n.south,o,a,c[1]),h.fromRadians(n.west,n.north,o,a,c[2]),h.fromRadians(n.east,n.north,o,a,c[3]),s.computeHorizonCullingPointPossiblyUnderEllipsoid(t,c,i,r)}tr.prototype.computeDistanceToTile=function(e,t){tut(e,this,t);let n=e.data;if(n.boundingVolumeSourceTile===void 0)return 9999999999;let o=n.tileBoundingRegion,r=o.minimumHeight,s=o.maximumHeight;if(n.boundingVolumeSourceTile!==e){let c=t.camera.positionCartographic.height,u=Math.abs(c-r),f=Math.abs(c-s);u>f?(o.minimumHeight=r,o.maximumHeight=r):(o.minimumHeight=s,o.maximumHeight=s)}let a=o.distanceToCamera(t);return o.minimumHeight=r,o.maximumHeight=s,a};function tut(e,t,n){let i=e.data;i===void 0&&(i=e.data=new oh);let o=e.tilingScheme.ellipsoid;i.tileBoundingRegion===void 0&&(i.tileBoundingRegion=new Id({computeBoundingVolumes:!1,rectangle:e.rectangle,ellipsoid:o,minimumHeight:0,maximumHeight:0}));let r=i.tileBoundingRegion,s=r.minimumHeight,a=r.maximumHeight,c=!1,u=e,f=0,d=t.marsOptions?.flat;if(d&&d.enabled&&d.rectangles){for(let b=0;b<d.rectangles.length;b++)if(ae.intersection(e.rectangle,d.rectangles[b])){f=d.rectangles[b]._flatHeight??d.heights[b];break}}let p=t.marsOptions?.uplift,g=0;if(p&&p.enabled&&p.height!==0&&p.rectangles){for(let b=0;b<p.rectangles.length;b++)if(ae.intersection(r.rectangle,p.rectangles[b])){g=p.height;break}}let m=i.mesh,x=i.terrainData;if(m!==void 0&&m.minimumHeight!==void 0&&m.maximumHeight!==void 0)r.minimumHeight=m.minimumHeight,r.maximumHeight=m.maximumHeight,c=!0;else if(x!==void 0&&x._minimumHeight!==void 0&&x._maximumHeight!==void 0)r.minimumHeight=x._minimumHeight,r.maximumHeight=x._maximumHeight;else{r.minimumHeight=Number.NaN,r.maximumHeight=Number.NaN;let b=e.parent;for(;b!==void 0;){let T=b.data;if(T!==void 0){let C=T.mesh,A=T.terrainData;if(C!==void 0&&C.minimumHeight!==void 0&&C.maximumHeight!==void 0){r.minimumHeight=C.minimumHeight,r.maximumHeight=C.maximumHeight;break}else if(A!==void 0&&A._minimumHeight!==void 0&&A._maximumHeight!==void 0){r.minimumHeight=A._minimumHeight,r.maximumHeight=A._maximumHeight;break}}b=b.parent}u=b}if(r.maximumHeight+=g,r.minimumHeight-=f,u!==void 0){let b=n.verticalExaggeration,T=n.verticalExaggerationRelativeHeight;if((b!==1||f!==0)&&(c=!1,r.minimumHeight=Pr.getHeight(r.minimumHeight,b,T),r.maximumHeight=Pr.getHeight(r.maximumHeight,b,T)),c)i.boundingVolumeIsFromMesh||(r._orientedBoundingBox=In.clone(m.orientedBoundingBox,r._orientedBoundingBox),r._boundingSphere=ce.clone(m.boundingSphere3D,r._boundingSphere),i.occludeePointInScaledSpace=h.clone(m.occludeePointInScaledSpace,i.occludeePointInScaledSpace),l(i.occludeePointInScaledSpace)||(i.occludeePointInScaledSpace=Qye(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace)));else{let A=r._orientedBoundingBox===void 0||r._boundingSphere===void 0;(r.minimumHeight!==s||r.maximumHeight!==a||A)&&(r.computeBoundingVolumes(o),i.occludeePointInScaledSpace=Qye(t,r._orientedBoundingBox.center,e.rectangle,r.minimumHeight,r.maximumHeight,i.occludeePointInScaledSpace))}i.boundingVolumeSourceTile=u,i.boundingVolumeIsFromMesh=c}else i.boundingVolumeSourceTile=void 0,i.boundingVolumeIsFromMesh=!1}tr.prototype.isDestroyed=function(){return!1};tr.prototype.destroy=function(){return this._tileProvider=this._tileProvider&&this._tileProvider.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._clippingPolygons=this._clippingPolygons&&this._clippingPolygons.destroy(),this._removeLayerAddedListener=this._removeLayerAddedListener&&this._removeLayerAddedListener(),this._removeLayerRemovedListener=this._removeLayerRemovedListener&&this._removeLayerRemovedListener(),this._removeLayerMovedListener=this._removeLayerMovedListener&&this._removeLayerMovedListener(),this._removeLayerShownListener=this._removeLayerShownListener&&this._removeLayerShownListener(),ue(this)};function nut(e,t,n){return function(i){let o,r,s=-1,a=i.data.imagery,c=a.length,u;for(u=0;u<c;++u)if(o=a[u],r=y(o.readyImagery,o.loadingImagery),r.imageryLayer===t){s=u;break}if(s!==-1){let f=s+e;if(o=a[f],r=l(o)?y(o.readyImagery,o.loadingImagery):void 0,!l(r)||r.imageryLayer!==t)return!t._createTileImagerySkeletons(i,n,f);for(u=s;u<f;++u)a[u].freeResources();a.splice(s,e)}return!0}}tr.prototype._onLayerAdded=function(e,t){if(!this.isDestroyed()&&e.show){let n=this._terrainProvider,i=this,o=this._imageryLayersUpdatedEvent,r=function(){e._imageryCache={},i._quadtree.forEachLoadedTile(function(s){if(l(s._loadedCallbacks[e._layerIndex]))return;let a,c=s.data.imagery,u=c.length,f=-1,d=0;for(a=0;a<u;++a){let g=c[a];if(y(g.readyImagery,g.loadingImagery).imageryLayer===e)f===-1&&(f=a),++d;else if(f!==-1)break}if(f===-1)return;let p=f+d;e._createTileImagerySkeletons(s,n,p)&&(s._loadedCallbacks[e._layerIndex]=nut(d,e,n),s.state=xa.LOADING)})};if(e.ready){let s=e.imageryProvider;s._reload=r}this._quadtree.forEachLoadedTile(function(s){e._createTileImagerySkeletons(s,n)&&(s.state=xa.LOADING,s.level!==0&&(s._lastSelectionResultFrame!==i.quadtree._lastSelectionFrameNumber||s._lastSelectionResult!==Kn.RENDERED)&&(s.renderable=!1))}),this._layerOrderChanged=!0,o.raiseEvent()}};tr.prototype._onLayerRemoved=function(e,t){this._quadtree.forEachLoadedTile(function(n){let i=n.data.imagery,o=-1,r=0;for(let s=0,a=i.length;s<a;++s){let c=i[s],u=c.loadingImagery;if(l(u)||(u=c.readyImagery),u.imageryLayer===e)o===-1&&(o=s),c.freeResources(),++r;else if(o!==-1)break}o!==-1&&i.splice(o,r)}),l(e.imageryProvider)&&(e.imageryProvider._reload=void 0),this._imageryLayersUpdatedEvent.raiseEvent()};tr.prototype._onLayerMoved=function(e,t,n){this._layerOrderChanged=!0,this._imageryLayersUpdatedEvent.raiseEvent()};tr.prototype._onLayerShownOrHidden=function(e,t,n){n?this._onLayerAdded(e,t):this._onLayerRemoved(e,t)};var iut=new F,out=new F;function Jye(e,t){let n={u_initialColor:function(){return this.properties.initialColor},u_fillHighlightColor:function(){return this.properties.fillHighlightColor},u_zoomedOutOceanSpecularIntensity:function(){return this.properties.zoomedOutOceanSpecularIntensity},u_oceanNormalMap:function(){return this.properties.oceanNormalMap},u_atmosphereLightIntensity:function(){return this.properties.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return this.properties.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return this.properties.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return this.properties.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return this.properties.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return this.properties.atmosphereMieAnisotropy},u_lightingFadeDistance:function(){return this.properties.lightingFadeDistance},u_nightFadeDistance:function(){return this.properties.nightFadeDistance},u_center3D:function(){return this.properties.center3D},u_verticalExaggerationAndRelativeHeight:function(){return this.properties.verticalExaggerationAndRelativeHeight},u_tileRectangle:function(){return this.properties.tileRectangle},u_modifiedModelView:function(){let i=e.context.uniformState.view,o=F.multiplyByPoint(i,this.properties.rtc,$ye);return F.setTranslation(i,o,Zye),Zye},u_modifiedModelViewProjection:function(){let i=e.context.uniformState.view,o=e.context.uniformState.projection,r=F.multiplyByPoint(i,this.properties.rtc,$ye);return F.setTranslation(i,r,Ez),F.multiply(o,Ez,Ez),Ez},u_dayTextures:function(){return this.properties.dayTextures},u_dayTextureTranslationAndScale:function(){return this.properties.dayTextureTranslationAndScale},u_dayTextureTexCoordsRectangle:function(){return this.properties.dayTextureTexCoordsRectangle},u_dayTextureUseWebMercatorT:function(){return this.properties.dayTextureUseWebMercatorT},u_dayTextureAlpha:function(){return this.properties.dayTextureAlpha},u_dayTextureNightAlpha:function(){return this.properties.dayTextureNightAlpha},u_dayTextureDayAlpha:function(){return this.properties.dayTextureDayAlpha},u_dayTextureBrightness:function(){return this.properties.dayTextureBrightness},u_dayTextureContrast:function(){return this.properties.dayTextureContrast},u_dayTextureHue:function(){return this.properties.dayTextureHue},u_dayTextureSaturation:function(){return this.properties.dayTextureSaturation},u_dayTextureOneOverGamma:function(){return this.properties.dayTextureOneOverGamma},u_dayIntensity:function(){return this.properties.dayIntensity},u_southAndNorthLatitude:function(){return this.properties.southAndNorthLatitude},u_southMercatorYAndOneOverHeight:function(){return this.properties.southMercatorYAndOneOverHeight},u_waterMask:function(){return this.properties.waterMask},u_waterMaskTranslationAndScale:function(){return this.properties.waterMaskTranslationAndScale},u_minMaxHeight:function(){return this.properties.minMaxHeight},u_scaleAndBias:function(){return this.properties.scaleAndBias},u_dayTextureSplit:function(){return this.properties.dayTextureSplit},u_dayTextureCutoutRectangles:function(){return this.properties.dayTextureCutoutRectangles},u_clippingPlanes:function(){let i=t._clippingPlanes;return l(i)&&l(i.texture)?i.texture:e.context.defaultTexture},u_cartographicLimitRectangle:function(){return this.properties.localizedCartographicLimitRectangle},u_clippingPlanesMatrix:function(){let i=t._clippingPlanes,o=l(i)?F.multiply(e.context.uniformState.view,i.modelMatrix,iut):F.IDENTITY;return F.inverseTranspose(o,out)},u_clippingPlanesEdgeStyle:function(){let i=this.properties.clippingPlanesEdgeColor;return i.alpha=this.properties.clippingPlanesEdgeWidth,i},u_clippingDistance:function(){let i=t._clippingPolygons.clippingTexture;return l(i)?i:e.context.defaultTexture},u_clippingExtents:function(){let i=t._clippingPolygons.extentsTexture;return l(i)?i:e.context.defaultTexture},u_minimumBrightness:function(){return e.fog.minimumBrightness},u_hsbShift:function(){return this.properties.hsbShift},u_colorsToAlpha:function(){return this.properties.colorsToAlpha},u_frontFaceAlphaByDistance:function(){return this.properties.frontFaceAlphaByDistance},u_backFaceAlphaByDistance:function(){return this.properties.backFaceAlphaByDistance},u_translucencyRectangle:function(){return this.properties.localizedTranslucencyRectangle},u_undergroundColor:function(){return this.properties.undergroundColor},u_undergroundColorAlphaByDistance:function(){return this.properties.undergroundColorAlphaByDistance},u_lambertDiffuseMultiplier:function(){return this.properties.lambertDiffuseMultiplier},u_vertexShadowDarkness:function(){return this.properties.vertexShadowDarkness},u_mars3dTextureInvertColor:function(){return this.properties.mars3dTextureInvertColor},u_mars3dTextureFilterColor:function(){return this.properties.mars3dTextureFilterColor},u_mars_inverseTileWidth:function(){return this.properties.mars_inverseTileWidth},u_mars_cartographicTileRectangle:function(){return this.properties.mars_cartographicTileRectangle},u_mars_flat_enabled:function(){return this.properties.mars_flat_enabled},u_mars_flat_rectangle:function(){return this.properties.mars_flat_rectangle},u_mars_flat_texture:function(){return l(this.properties.mars_flat_texture)?this.properties.mars_flat_texture:e.context.defaultTexture},u_mars_uplift_enabled:function(){return this.properties.mars_uplift_enabled},u_mars_uplift_hideInsideOrOutside:function(){return this.properties.mars_uplift_hideInsideOrOutside},u_mars_uplift_rectangle:function(){return this.properties.mars_uplift_rectangle},u_mars_uplift_texture:function(){return l(this.properties.mars_uplift_texture)?this.properties.mars_uplift_texture:e.context.defaultTexture},u_mars_clip_enabled:function(){return this.properties.mars_clip_enabled},u_mars_clip_rectangle:function(){return this.properties.mars_clip_rectangle},u_mars_clip_texture:function(){return l(this.properties.mars_clip_texture)?this.properties.mars_clip_texture:e.context.defaultTexture},u_mars_clip_only:function(){return this.properties.mars_clip_only},u_mars_flood_enabled:function(){return this.properties.mars_flood_enabled},u_mars_flood_rectangle:function(){return this.properties.mars_flood_rectangle},u_mars_flood_texture:function(){return l(this.properties.mars_flood_texture)?this.properties.mars_flood_texture:e.context.defaultTexture},u_mars_flood_only:function(){return this.properties.mars_flood_only},properties:{initialColor:new oe(0,0,.5,1),fillHighlightColor:new z(0,0,0,0),zoomedOutOceanSpecularIntensity:.5,oceanNormalMap:void 0,lightingFadeDistance:new U(65e5,9e6),nightFadeDistance:new U(1e7,4e7),atmosphereLightIntensity:10,atmosphereRayleighCoefficient:new h(55e-7,13e-6,284e-7),atmosphereMieCoefficient:new h(21e-6,21e-6,21e-6),atmosphereRayleighScaleHeight:1e4,atmosphereMieScaleHeight:3200,atmosphereMieAnisotropy:.9,hsbShift:new h,center3D:void 0,rtc:new h,modifiedModelView:new F,tileRectangle:new oe,verticalExaggerationAndRelativeHeight:new U(1,0),dayTextures:[],dayTextureTranslationAndScale:[],dayTextureTexCoordsRectangle:[],dayTextureUseWebMercatorT:[],dayTextureAlpha:[],dayTextureNightAlpha:[],dayTextureDayAlpha:[],dayTextureBrightness:[],dayTextureContrast:[],dayTextureHue:[],dayTextureSaturation:[],dayTextureOneOverGamma:[],dayTextureSplit:[],dayTextureCutoutRectangles:[],dayIntensity:0,colorsToAlpha:[],southAndNorthLatitude:new U,southMercatorYAndOneOverHeight:new U,waterMask:void 0,waterMaskTranslationAndScale:new oe,minMaxHeight:new U,scaleAndBias:new F,clippingPlanesEdgeColor:z.clone(z.WHITE),clippingPlanesEdgeWidth:0,localizedCartographicLimitRectangle:new oe,frontFaceAlphaByDistance:new oe,backFaceAlphaByDistance:new oe,localizedTranslucencyRectangle:new oe,undergroundColor:z.clone(z.TRANSPARENT),undergroundColorAlphaByDistance:new oe,lambertDiffuseMultiplier:0,vertexShadowDarkness:0,mars3dTextureInvertColor:[],mars3dTextureFilterColor:[],mars_inverseTileWidth:0,mars_cartographicTileRectangle:void 0,mars_flat_enabled:!1,mars_flat_rectangle:new oe,mars_flat_texture:void 0,mars_uplift_enabled:!1,mars_uplift_hideInsideOrOutside:!1,mars_uplift_rectangle:new oe,mars_uplift_texture:void 0,mars_clip_enabled:!1,mars_clip_rectangle:new oe,mars_clip_texture:void 0,mars_clip_only:!1,mars_flood_enabled:!1,mars_flood_rectangle:new oe,mars_flood_texture:void 0,mars_flood_only:!1}};return l(t.materialUniformMap)?Ct(n,t.materialUniformMap):n}function rut(e,t,n){let i=n.data,o,r;if(l(i.vertexArray)?(o=i.mesh,r=i.vertexArray):l(i.fill)&&l(i.fill.vertexArray)&&(o=i.fill.mesh,r=i.fill.vertexArray),!(!l(o)||!l(r))){if(l(i.wireframeVertexArray)){if(i.wireframeVertexArray.mesh===o)return;i.wireframeVertexArray.destroy(),i.wireframeVertexArray=void 0}i.wireframeVertexArray=sut(e,r,o),i.wireframeVertexArray.mesh=o}}function sut(e,t,n){let o={indices:n.indices,primitiveType:Fe.TRIANGLES};Bn.toWireframe(o);let r=o.indices,s=bt.createIndexBuffer({context:e,typedArray:r,usage:Ue.STATIC_DRAW,indexDatatype:ke.fromSizeInBytes(r.BYTES_PER_ELEMENT)});return new si({context:e,attributes:t._attributes,indexBuffer:s})}var o0e,r0e,vz;(function(){let e=new wt({geometry:Ph.fromDimensions({dimensions:new h(2,2,2)})}),t=new wt({geometry:new Qg({radius:1})}),n=new F,i,o;function r(s){return new On({geometryInstances:s,appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})}o0e=function(s,a){return s===i||(vz(),i=s,n=F.fromRotationTranslation(s.halfAxes,s.center,n),e.modelMatrix=n,e.attributes.color=Wt.fromColor(a),o=r(e)),o},r0e=function(s,a){return s===i||(vz(),i=s,n=F.fromTranslation(s.center,n),n=F.multiplyByUniformScale(n,s.radius,n),t.modelMatrix=n,t.attributes.color=Wt.fromColor(a),o=r(t)),o},vz=function(){l(o)&&(o.destroy(),o=void 0,i=void 0)}})();var aut=new oe(0,0,0,0),cut={frameState:void 0,surfaceTile:void 0,numberOfDayTextures:void 0,applyBrightness:void 0,applyContrast:void 0,applyHue:void 0,applySaturation:void 0,applyGamma:void 0,applyAlpha:void 0,applyDayNightAlpha:void 0,applySplit:void 0,showReflectiveOcean:void 0,showOceanWaves:void 0,enableLighting:void 0,dynamicAtmosphereLighting:void 0,dynamicAtmosphereLightingFromSun:void 0,showGroundAtmosphere:void 0,perFragmentGroundAtmosphere:void 0,hasVertexNormals:void 0,useWebMercatorProjection:void 0,enableFog:void 0,enableClippingPlanes:void 0,clippingPlanes:void 0,enableClippingPolygons:void 0,clippingPolygons:void 0,clippedByBoundaries:void 0,hasImageryLayerCutout:void 0,colorCorrect:void 0,colorToAlpha:void 0,hasGeodeticSurfaceNormals:void 0,hasExaggeration:void 0},lut=z.TRANSPARENT,uut=new kt;function e0e(e,t,n,i){let o=t.data;l(o.vertexArray)||(o.fill===void 0&&(o.fill=new XI(t)),o.fill.update(e,n));let r=n.creditDisplay,s=o.terrainData;if(l(s)&&l(s.credits)){let en=s.credits;for(let Xt=0,ji=en.length;Xt<ji;++Xt)r.addCreditToNextFrame(en[Xt])}let a=Bt.maximumTextureImageUnits,c=o.waterMaskTexture,u=o.waterMaskTranslationAndScale;!l(c)&&l(o.fill)&&(c=o.fill.waterMaskTexture,u=o.fill.waterMaskTranslationAndScale);let f=n.cameraUnderground,d=n.globeTranslucencyState,p=d.translucent,g=d.frontFaceAlphaByDistance,m=d.backFaceAlphaByDistance,x=d.rectangle,b=y(e.undergroundColor,lut),T=y(e.undergroundColorAlphaByDistance,uut),C=i0e(e,n)&&n.mode===ne.SCENE3D&&b.alpha>0&&(T.nearValue>0||T.farValue>0),A=e.lambertDiffuseMultiplier,S=e.vertexShadowDarkness,v=e.hasWaterMask&&l(c),D=v&&e.showWaterEffect,R=e.oceanNormalMap,O=D&&l(R),M=e.terrainProvider,N=l(M)&&e.terrainProvider.hasVertexNormals,_=n.fog.enabled&&n.fog.renderable&&!f,E=e.showGroundAtmosphere&&n.mode===ne.SCENE3D,w=bn.castShadows(e.shadows)&&!p,I=bn.receiveShadows(e.shadows)&&!p,L=e.hueShift,B=e.saturationShift,H=e.brightnessShift,V=!(P.equalsEpsilon(L,0,P.EPSILON7)&&P.equalsEpsilon(B,0,P.EPSILON7)&&P.equalsEpsilon(H,0,P.EPSILON7)),G=!1;if(E){let en=h.magnitude(n.camera.positionWC),Xt=e.nightFadeOutDistance;G=en>Xt}v&&--a,O&&--a,l(n.shadowState)&&n.shadowState.shadowsEnabled&&--a,l(e.clippingPlanes)&&e.clippingPlanes.enabled&&--a,l(e.clippingPolygons)&&e.clippingPolygons.enabled&&(--a,--a),a-=d.numberOfTextureUniforms;let k=o.renderedMesh,W=k.center,Y=k.encoding,J=o.tileBoundingRegion,j=n.verticalExaggeration,Z=n.verticalExaggerationRelativeHeight,Q=e.marsOptions?.uplift;i&&Q&&(Z=n.verticalExaggerationRelativeHeight-Q.height/(j-1)),e.marsOptions?.uplift?.enabled&&--a,e.marsOptions?.clip?.enabled&&--a,e.marsOptions?.flat?.enabled&&--a,e.marsOptions?.flood?.enabled&&--a;let he=j!==1,ye=Y.hasGeodeticSurfaceNormals,re=Xlt,_e=0,xe=0,Ie=0,De=0,Ne=!1;if(n.mode!==ne.SCENE3D){let en=n.mapProjection,Xt=en.project(ae.southwest(t.rectangle),Qlt),ji=en.project(ae.northeast(t.rectangle),Jlt);if(re.x=Xt.x,re.y=Xt.y,re.z=ji.x,re.w=ji.y,n.mode!==ne.MORPHING&&(W=$lt,W.x=0,W.y=(re.z+re.x)*.5,W.z=(re.w+re.y)*.5,re.x-=W.y,re.y-=W.z,re.z-=W.y,re.w-=W.z),n.mode===ne.SCENE2D&&Y.quantization===ga.BITS12){let Ke=1/(Math.pow(2,12)-1)*.5,ns=(re.z-re.x)*Ke,Ur=(re.w-re.y)*Ke;re.x-=ns,re.y-=Ur,re.z+=ns,re.w+=Ur}en instanceof Ri&&(_e=t.rectangle.south,xe=t.rectangle.north,Ie=Ri.geodeticLatitudeToMercatorAngle(_e),De=1/(Ri.geodeticLatitudeToMercatorAngle(xe)-Ie),Ne=!0)}let Ce=cut;Ce.frameState=n,Ce.surfaceTile=o,Ce.hasWaterMask=v,Ce.showReflectiveOcean=D,Ce.showOceanWaves=O,Ce.enableLighting=e.enableLighting,Ce.dynamicAtmosphereLighting=e.dynamicAtmosphereLighting,Ce.dynamicAtmosphereLightingFromSun=e.dynamicAtmosphereLightingFromSun,Ce.showGroundAtmosphere=E,Ce.atmosphereLightIntensity=e.atmosphereLightIntensity,Ce.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Ce.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Ce.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Ce.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Ce.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Ce.perFragmentGroundAtmosphere=G,Ce.hasVertexNormals=N,Ce.useWebMercatorProjection=Ne,Ce.clippedByBoundaries=o.clippedByBoundaries,Ce.hasGeodeticSurfaceNormals=ye,Ce.hasExaggeration=he;let Be=o.imagery,Ve=0,$e=Be.length,qe=e.showSkirts&&!f&&!p,pt=e.backFaceCulling&&!f&&!p,ht=pt?e._renderState:e._disableCullingRenderState,yt=pt?e._blendRenderState:e._disableCullingBlendRenderState,Jt=ht,Te=e._firstPassInitialColor,Ee=n.context;if(l(e._debug.boundingSphereTile)||vz(),e._materialUniformMap!==e.materialUniformMap){e._materialUniformMap=e.materialUniformMap;let en=e._drawCommands.length;for(let Xt=0;Xt<en;++Xt)e._uniformMaps[Xt]=Jye(n,e)}do{let en=0,Xt,ji;if(e._drawCommands.length<=e._usedDrawCommands?(Xt=new tt,Xt.owner=t,Xt.cull=!1,Xt.boundingVolume=new ce,Xt.orientedBoundingBox=void 0,ji=Jye(n,e),e._drawCommands.push(Xt),e._uniformMaps.push(ji)):(Xt=e._drawCommands[e._usedDrawCommands],ji=e._uniformMaps[e._usedDrawCommands]),Xt.owner=t,++e._usedDrawCommands,t===e._debug.boundingSphereTile){let Hr=J.boundingVolume,Ea=J.boundingSphere;l(Hr)?o0e(Hr,z.RED).update(n):l(Ea)&&r0e(Ea,z.RED).update(n)}let Ke=ji.properties;oe.clone(Te,Ke.initialColor),Ke.oceanNormalMap=R,Ke.lightingFadeDistance.x=e.lightingFadeOutDistance,Ke.lightingFadeDistance.y=e.lightingFadeInDistance,Ke.nightFadeDistance.x=e.nightFadeOutDistance,Ke.nightFadeDistance.y=e.nightFadeInDistance,Ke.atmosphereLightIntensity=e.atmosphereLightIntensity,Ke.atmosphereRayleighCoefficient=e.atmosphereRayleighCoefficient,Ke.atmosphereMieCoefficient=e.atmosphereMieCoefficient,Ke.atmosphereRayleighScaleHeight=e.atmosphereRayleighScaleHeight,Ke.atmosphereMieScaleHeight=e.atmosphereMieScaleHeight,Ke.atmosphereMieAnisotropy=e.atmosphereMieAnisotropy,Ke.zoomedOutOceanSpecularIntensity=e.zoomedOutOceanSpecularIntensity;let ns=f?m:g,Ur=f?g:m;l(ns)&&(oe.fromElements(ns.near,ns.nearValue,ns.far,ns.farValue,Ke.frontFaceAlphaByDistance),oe.fromElements(Ur.near,Ur.nearValue,Ur.far,Ur.farValue,Ke.backFaceAlphaByDistance)),oe.fromElements(T.near,T.nearValue,T.far,T.farValue,Ke.undergroundColorAlphaByDistance),z.clone(b,Ke.undergroundColor),Ke.lambertDiffuseMultiplier=A,Ke.vertexShadowDarkness=S;let Aa=!l(o.vertexArray)&&l(e.fillHighlightColor)&&e.fillHighlightColor.alpha>0;Aa&&z.clone(e.fillHighlightColor,Ke.fillHighlightColor),Ke.verticalExaggerationAndRelativeHeight.x=j,Ke.verticalExaggerationAndRelativeHeight.y=Z,Ke.center3D=k.center,h.clone(W,Ke.rtc),oe.clone(re,Ke.tileRectangle),Ke.southAndNorthLatitude.x=_e,Ke.southAndNorthLatitude.y=xe,Ke.southMercatorYAndOneOverHeight.x=Ie,Ke.southMercatorYAndOneOverHeight.y=De;let Me=Klt,at=Sz(t.rectangle,e.cartographicLimitRectangle),Je=Zlt,Qe=Sz(t.rectangle,x);h.fromElements(L,B,H,Ke.hsbShift);let ct=t.rectangle,zt=1/ct.width,yn=1/ct.height;Me.x=(at.west-ct.west)*zt,Me.y=(at.south-ct.south)*yn,Me.z=(at.east-ct.west)*zt,Me.w=(at.north-ct.south)*yn,oe.clone(Me,Ke.localizedCartographicLimitRectangle),Je.x=(Qe.west-ct.west)*zt,Je.y=(Qe.south-ct.south)*yn,Je.z=(Qe.east-ct.west)*zt,Je.w=(Qe.north-ct.south)*yn,Ke.mars_inverseTileWidth=zt,Ke.mars_cartographicTileRectangle=new U(ct.west,ct.south);let Zn=e.marsOptions?.clip;Zn?(Zn.rectangle?Ke.mars_clip_rectangle=new oe(Zn.rectangle.west,Zn.rectangle.south,Zn.rectangle.width,Zn.rectangle.height):Ke.mars_clip_rectangle=new oe,Ke.mars_clip_texture=Zn.texture,Ke.mars_clip_only=Zn.onlySelf,Ke.mars_clip_enabled=Zn.enabled):(Ke.mars_clip_enabled=!1,Ke.mars_clip_rectangle=new oe,Ke.mars_clip_texture=void 0,Ke.mars_clip_only=!1);let $i=e.marsOptions?.flood;$i?($i.rectangle?Ke.mars_flood_rectangle=new oe($i.rectangle.west,$i.rectangle.south,$i.rectangle.width,$i.rectangle.height):Ke.mars_flood_rectangle=new oe,Ke.mars_flood_texture=$i.texture,Ke.mars_flood_only=$i.onlySelf,Ke.mars_flood_enabled=$i.enabled):(Ke.mars_flood_enabled=!1,Ke.mars_flood_rectangle=new oe,Ke.mars_flood_texture=void 0);let Er=e.marsOptions?.flat;Er?(Er.rectangle?Ke.mars_flat_rectangle=new oe(Er.rectangle.west,Er.rectangle.south,Er.rectangle.width,Er.rectangle.height):Ke.mars_flat_rectangle=new oe,Ke.mars_flat_texture=Er.texture,Ke.mars_flat_enabled=Er.enabled):(Ke.mars_flat_enabled=!1,Ke.mars_flat_rectangle=new oe,Ke.mars_flat_texture=void 0);let Po=e.marsOptions?.uplift;Po?(Po.rectangle?Ke.mars_uplift_rectangle=new oe(Po.rectangle.west,Po.rectangle.south,Po.rectangle.width,Po.rectangle.height):Ke.mars_uplift_rectangle=new oe,Ke.mars_uplift_texture=Po.texture,Ke.mars_uplift_enabled=(!Po.showUp||Po.enabled&&Po.height!==0)&&l(Po.rectangles)&&Po.rectangles.length>0,Ke.mars_uplift_hideInsideOrOutside=!i):(Ke.mars_uplift_enabled=!1,Ke.mars_uplift_rectangle=new oe,Ke.mars_uplift_texture=void 0,Ke.mars_uplift_hideInsideOrOutside=!1),oe.clone(Je,Ke.localizedTranslucencyRectangle);let gs=_&&P.fog(t._distance,n.fog.density)>P.EPSILON3;V=V&&(gs||E);let io=!1,$s=!1,zr=!1,zl=!1,Yn=!1,fr=!1,Eo=!1,Va=!1,yo=!1,Hl=!1,mh=!1,Xm=!1;for(;en<a&&Ve<$e;){let Hr=Be[Ve],Ea=Hr.readyImagery;if(++Ve,!l(Ea)||Ea.imageryLayer.alpha===0)continue;let S0=Hr.useWebMercatorT?Ea.textureWebMercator:Ea.texture,Go=Ea.imageryLayer;l(Hr.textureTranslationAndScale)||(Hr.textureTranslationAndScale=Go._calculateTextureTranslationAndScale(t,Hr)),Ke.dayTextures[en]=S0,Ke.dayTextureTranslationAndScale[en]=Hr.textureTranslationAndScale,Ke.dayTextureTexCoordsRectangle[en]=Hr.textureCoordinateRectangle,Ke.dayTextureUseWebMercatorT[en]=Hr.useWebMercatorT,Ke.dayTextureAlpha[en]=Go.alpha,fr=fr||Ke.dayTextureAlpha[en]!==1,Ke.dayTextureNightAlpha[en]=Go.nightAlpha,Eo=Eo||Ke.dayTextureNightAlpha[en]!==1,Ke.dayTextureDayAlpha[en]=Go.dayAlpha,Eo=Eo||Ke.dayTextureDayAlpha[en]!==1,Ke.dayTextureBrightness[en]=Go.brightness,io=io||Ke.dayTextureBrightness[en]!==pc.DEFAULT_BRIGHTNESS,Ke.dayTextureContrast[en]=Go.contrast,$s=$s||Ke.dayTextureContrast[en]!==pc.DEFAULT_CONTRAST,Ke.dayTextureHue[en]=Go.hue,zr=zr||Ke.dayTextureHue[en]!==pc.DEFAULT_HUE,Ke.dayTextureSaturation[en]=Go.saturation,zl=zl||Ke.dayTextureSaturation[en]!==pc.DEFAULT_SATURATION,Ke.dayTextureOneOverGamma[en]=1/Go.gamma,Yn=Yn||Ke.dayTextureOneOverGamma[en]!==1/pc.DEFAULT_GAMMA,Ke.dayTextureSplit[en]=Go.splitDirection,Va=Va||Ke.dayTextureSplit[en]!==0,mh=mh||!!Go.invertColor,Ke.mars3dTextureInvertColor[en]=!!Go.invertColor,Xm=Xm||!!Go.filterColor,Go.filterColor?Ke.mars3dTextureFilterColor[en]=new h(Go.filterColor.red,Go.filterColor.green,Go.filterColor.blue):Ke.mars3dTextureFilterColor[en]=new h(1,1,1);let gh=Ke.dayTextureCutoutRectangles[en];if(l(gh)||(gh=Ke.dayTextureCutoutRectangles[en]=new oe),oe.clone(oe.ZERO,gh),l(Go.cutoutRectangle)){let Js=Sz(ct,Go.cutoutRectangle),zu=ae.simpleIntersection(Js,ct,n0e);yo=l(zu)||yo,gh.x=(Js.west-ct.west)*zt,gh.y=(Js.south-ct.south)*yn,gh.z=(Js.east-ct.west)*zt,gh.w=(Js.north-ct.south)*yn}let Zm=Ke.colorsToAlpha[en];l(Zm)||(Zm=Ke.colorsToAlpha[en]=new oe);let iT=l(Go.colorToAlpha)&&Go.colorToAlphaThreshold>0;if(Hl=Hl||iT,iT){let Js=Go.colorToAlpha;Zm.x=Js.red,Zm.y=Js.green,Zm.z=Js.blue,Zm.w=Go.colorToAlphaThreshold}else Zm.w=-1;if(l(Ea.credits)){let Js=Ea.credits;for(let zu=0,R_=Js.length;zu<R_;++zu)r.addCreditToNextFrame(Js[zu])}++en}Ke.dayTextures.length=en,Ke.waterMask=c,oe.clone(u,Ke.waterMaskTranslationAndScale),Ke.minMaxHeight.x=Y.minimumHeight,Ke.minMaxHeight.y=Y.maximumHeight,F.clone(Y.matrix,Ke.scaleAndBias);let ph=e._clippingPlanes,Km=l(ph)&&ph.enabled&&t.isClipped;Km&&(Ke.clippingPlanesEdgeColor=z.clone(ph.edgeColor,Ke.clippingPlanesEdgeColor),Ke.clippingPlanesEdgeWidth=ph.edgeWidth);let O_=e._clippingPolygons,_h=l(O_)&&O_.enabled&&t.isClipped;Ce.numberOfDayTextures=en,Ce.applyBrightness=io,Ce.applyContrast=$s,Ce.applyHue=zr,Ce.applySaturation=zl,Ce.applyGamma=Yn,Ce.applyAlpha=fr,Ce.applyDayNightAlpha=Eo,Ce.applySplit=Va,Ce.enableFog=gs,Ce.enableClippingPlanes=Km,Ce.clippingPlanes=ph,Ce.enableClippingPolygons=_h,Ce.clippingPolygons=O_,Ce.hasImageryLayerCutout=yo,Ce.colorCorrect=V,Ce.highlightFillTile=Aa,Ce.colorToAlpha=Hl,Ce.showUndergroundColor=C,Ce.translucent=p,Ce.marsOptions={invertColor:mh,filterColor:Xm,enableUplift:e?._marsOptions?.uplift?.enabled,enableFlat:e?._marsOptions?.flat?.enabled,enableClip:e?._marsOptions?.clip?.enabled,enableFlood:e?._marsOptions?.flood?.enabled};let Gl=o.renderedMesh.indices.length;qe||(Gl=o.renderedMesh.indexCountWithoutSkirts),Xt.shaderProgram=e._surfaceShaderSet.getShaderProgram(Ce),Xt.castShadows=w,Xt.receiveShadows=I,Xt.renderState=Jt,Xt.primitiveType=Fe.TRIANGLES,Xt.vertexArray=o.vertexArray||o.fill.vertexArray,Xt.count=Gl,Xt.uniformMap=ji,Xt.pass=ve.GLOBE,e._debug.wireframe&&(rut(Ee,e,t),l(o.wireframeVertexArray)&&(Xt.vertexArray=o.wireframeVertexArray,Xt.primitiveType=Fe.LINES,Xt.count=Gl*2));let ys=Xt.boundingVolume,Qs=Xt.orientedBoundingBox;n.mode!==ne.SCENE3D?(ce.fromRectangleWithHeights2D(t.rectangle,n.mapProjection,J.minimumHeight,J.maximumHeight,ys),h.fromElements(ys.center.z,ys.center.x,ys.center.y,ys.center),n.mode===ne.MORPHING&&(ys=ce.union(J.boundingSphere,ys,ys))):(Xt.boundingVolume=ce.clone(J.boundingSphere,ys),Xt.orientedBoundingBox=In.clone(J.boundingVolume,Qs)),Xt.dirty=!0,p&&d.updateDerivedCommands(Xt,n),t0e(Xt,n),Jt=yt,Te=aut}while(Ve<$e)}var wz=tr;function s0e(){this._enabled=!1,this._frontFaceAlpha=1,this._frontFaceAlphaByDistance=void 0,this._backFaceAlpha=1,this._backFaceAlphaByDistance=void 0,this._rectangle=ae.clone(ae.MAX_VALUE)}Object.defineProperties(s0e.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this._enabled=e}},frontFaceAlpha:{get:function(){return this._frontFaceAlpha},set:function(e){this._frontFaceAlpha=e}},frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance},set:function(e){this._frontFaceAlphaByDistance=kt.clone(e,this._frontFaceAlphaByDistance)}},backFaceAlpha:{get:function(){return this._backFaceAlpha},set:function(e){this._backFaceAlpha=e}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance},set:function(e){this._backFaceAlphaByDistance=kt.clone(e,this._backFaceAlphaByDistance)}},rectangle:{get:function(){return this._rectangle},set:function(e){l(e)||(e=ae.clone(ae.MAX_VALUE)),ae.clone(e,this._rectangle)}}});var Dz=s0e;function ms(){this._layers=[],this.layerAdded=new me,this.layerRemoved=new me,this.layerMoved=new me,this.layerShownOrHidden=new me}Object.defineProperties(ms.prototype,{length:{get:function(){return this._layers.length}}});ms.prototype.add=function(e,t){l(t)?this._layers.splice(t,0,e):(t=this._layers.length,this._layers.push(e)),this._update(),this.layerAdded.raiseEvent(e,t);let i=e.readyEvent.addEventListener(()=>{this.layerShownOrHidden.raiseEvent(e,e._layerIndex,e.show),i()})};ms.prototype.addImageryProvider=function(e,t){let n=new pc(e);return this.add(n,t),n};ms.prototype.remove=function(e,t){t=y(t,!0);let n=this._layers.indexOf(e);return n!==-1?(this._layers.splice(n,1),this._update(),this.layerRemoved.raiseEvent(e,n),t&&e.destroy(),!0):!1};ms.prototype.removeAll=function(e){e=y(e,!0);let t=this._layers;for(let n=0,i=t.length;n<i;n++){let o=t[n];this.layerRemoved.raiseEvent(o,n),e&&o.destroy()}this._layers=[]};ms.prototype.contains=function(e){return this.indexOf(e)!==-1};ms.prototype.indexOf=function(e){return this._layers.indexOf(e)};ms.prototype.get=function(e){return this._layers[e]};function Iz(e,t){return e.indexOf(t)}function a0e(e,t,n){let i=e._layers;if(t=P.clamp(t,0,i.length-1),n=P.clamp(n,0,i.length-1),t===n)return;let o=i[t];i[t]=i[n],i[n]=o,e._update(),e.layerMoved.raiseEvent(o,n,t)}ms.prototype.raise=function(e){let t=Iz(this._layers,e);a0e(this,t,t+1)};ms.prototype.lower=function(e){let t=Iz(this._layers,e);a0e(this,t,t-1)};ms.prototype.raiseToTop=function(e){let t=Iz(this._layers,e);t!==this._layers.length-1&&(this._layers.splice(t,1),this._layers.push(e),this._update(),this.layerMoved.raiseEvent(e,this._layers.length-1,t))};ms.prototype.lowerToBottom=function(e){let t=Iz(this._layers,e);t!==0&&(this._layers.splice(t,1),this._layers.splice(0,0,e),this._update(),this.layerMoved.raiseEvent(e,0,t))};var fut=new ae;function OX(e,t,n,i){let o=e.globe._surface._tilesToRender,r;for(let a=0;!l(r)&&a<o.length;++a){let c=o[a];ae.contains(c.rectangle,t)&&(r=c)}if(!l(r))return;let s=r.data.imagery;for(let a=s.length-1;a>=0;--a){let c=s[a],u=c.readyImagery;if(!l(u)||!u.imageryLayer.ready)continue;let f=u.imageryLayer.imageryProvider;if(n&&!l(f.pickFeatures)||!ae.contains(u.rectangle,t))continue;let d=fut,p=1/1024;d.west=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.x-p),d.east=P.lerp(r.rectangle.west,r.rectangle.east,c.textureCoordinateRectangle.z+p),d.south=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.y-p),d.north=P.lerp(r.rectangle.south,r.rectangle.north,c.textureCoordinateRectangle.w+p),ae.contains(d,t)&&i(u)}}ms.pickImageryHelper=OX;ms.prototype.pickImageryLayers=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[];if(OX(t,i,!1,function(r){o.push(r.imageryLayer)}),o.length!==0)return o};ms.prototype.pickImageryLayerFeatures=function(e,t){let n=t.globe.pick(e,t);if(!l(n))return;let i=t.ellipsoid.cartesianToCartographic(n),o=[],r=[];if(OX(t,i,!0,function(s){if(!s.imageryLayer.ready)return;let a=s.imageryLayer.imageryProvider;for(let u=0;u<r.length;u++)if(r[u]===s.imageryLayer)return;let c=a.pickFeatures(s.x,s.y,s.level,i.longitude,i.latitude);l(c)&&(o.push(c),r.push(s.imageryLayer))}),o.length!==0)return Promise.all(o).then(function(s){let a=[];for(let c=0;c<s.length;++c){let u=s[c],f=r[c];if(l(u)&&u.length>0)for(let d=0;d<u.length;++d){let p=u[d];p.imageryLayer=f,l(p.position)||(p.position=i),a.push(p)}}return a})};ms.prototype.queueReprojectionCommands=function(e){let t=this._layers;for(let n=0,i=t.length;n<i;++n)t[n].queueReprojectionCommands(e)};ms.prototype.cancelReprojections=function(){let e=this._layers;for(let t=0,n=e.length;t<n;++t)e[t].cancelReprojections()};ms.prototype.isDestroyed=function(){return!1};ms.prototype.destroy=function(){return this.removeAll(!0),ue(this)};ms.prototype._update=function(){let e=!0,t=this._layers,n,i,o,r;for(o=0,r=t.length;o<r;++o)i=t[o],i._layerIndex=o,i.show?(i._isBaseLayer=e,e=!1):i._isBaseLayer=!1,i.show!==i._show&&(l(i._show)&&(l(n)||(n=[]),n.push(i)),i._show=i.show);if(l(n))for(o=0,r=n.length;o<r;++o)i=n[o],this.layerShownOrHidden.raiseEvent(i,i._layerIndex,i.show)};var Pz=ms;function c0e(e){this._ellipsoid=new cy(e.ellipsoid,h.ZERO)}Object.defineProperties(c0e.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var Oz=c0e;function $c(e){this._tilingScheme=e.tilingScheme,this._x=e.x,this._y=e.y,this._level=e.level,this._parent=e.parent,this._rectangle=this._tilingScheme.tileXYToRectangle(this._x,this._y,this._level),this._southwestChild=void 0,this._southeastChild=void 0,this._northwestChild=void 0,this._northeastChild=void 0,this.replacementPrevious=void 0,this.replacementNext=void 0,this._distance=0,this._loadPriority=0,this._customData=[],this._frameUpdated=void 0,this._lastSelectionResult=Kn.NONE,this._lastSelectionResultFrame=void 0,this._loadedCallbacks={},this.state=xa.START,this.renderable=!1,this.upsampledFromParent=!1,this.data=void 0}$c.createLevelZeroTiles=function(e){let t=e.getNumberOfXTilesAtLevel(0),n=e.getNumberOfYTilesAtLevel(0),i=new Array(t*n),o=0;for(let r=0;r<n;++r)for(let s=0;s<t;++s)i[o++]=new $c({tilingScheme:e,x:s,y:r,level:0});return i};$c.prototype._updateCustomData=function(e,t,n){let i=this.customData,o,r,s;if(l(t)&&l(n)){for(i=i.filter(function(a){return n.indexOf(a)===-1}),this._customData=i,s=this._rectangle,o=0;o<t.length;++o)r=t[o],ae.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=e}else{let a=this._parent;if(l(a)&&this._frameUpdated!==a._frameUpdated){i.length=0,s=this._rectangle;let c=a.customData;for(o=0;o<c.length;++o)r=c[o],ae.contains(s,r.positionCartographic)&&i.push(r);this._frameUpdated=a._frameUpdated}}};Object.defineProperties($c.prototype,{tilingScheme:{get:function(){return this._tilingScheme}},x:{get:function(){return this._x}},y:{get:function(){return this._y}},level:{get:function(){return this._level}},parent:{get:function(){return this._parent}},rectangle:{get:function(){return this._rectangle}},children:{get:function(){return[this.northwestChild,this.northeastChild,this.southwestChild,this.southeastChild]}},southwestChild:{get:function(){return l(this._southwestChild)||(this._southwestChild=new $c({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2+1,level:this.level+1,parent:this})),this._southwestChild}},southeastChild:{get:function(){return l(this._southeastChild)||(this._southeastChild=new $c({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2+1,level:this.level+1,parent:this})),this._southeastChild}},northwestChild:{get:function(){return l(this._northwestChild)||(this._northwestChild=new $c({tilingScheme:this.tilingScheme,x:this.x*2,y:this.y*2,level:this.level+1,parent:this})),this._northwestChild}},northeastChild:{get:function(){return l(this._northeastChild)||(this._northeastChild=new $c({tilingScheme:this.tilingScheme,x:this.x*2+1,y:this.y*2,level:this.level+1,parent:this})),this._northeastChild}},customData:{get:function(){return this._customData}},needsLoading:{get:function(){return this.state<xa.DONE}},eligibleForUnloading:{get:function(){let e=!0;return l(this.data)&&(e=this.data.eligibleForUnloading,l(e)||(e=!0)),e}}});$c.prototype.findLevelZeroTile=function(e,t,n){let i=this.tilingScheme.getNumberOfXTilesAtLevel(0);if(t<0?t+=i:t>=i&&(t-=i),!(n<0||n>=this.tilingScheme.getNumberOfYTilesAtLevel(0)))return e.filter(function(o){return o.x===t&&o.y===n})[0]};$c.prototype.findTileToWest=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x-1,this.y);if(t.southeastChild===this)return t.southwestChild;if(t.northeastChild===this)return t.northwestChild;let n=t.findTileToWest(e);if(n!==void 0)return t.southwestChild===this?n.southeastChild:n.northeastChild};$c.prototype.findTileToEast=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x+1,this.y);if(t.southwestChild===this)return t.southeastChild;if(t.northwestChild===this)return t.northeastChild;let n=t.findTileToEast(e);if(n!==void 0)return t.southeastChild===this?n.southwestChild:n.northwestChild};$c.prototype.findTileToSouth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y+1);if(t.northwestChild===this)return t.southwestChild;if(t.northeastChild===this)return t.southeastChild;let n=t.findTileToSouth(e);if(n!==void 0)return t.southwestChild===this?n.northwestChild:n.northeastChild};$c.prototype.findTileToNorth=function(e){let t=this.parent;if(t===void 0)return this.findLevelZeroTile(e,this.x,this.y-1);if(t.southwestChild===this)return t.northwestChild;if(t.southeastChild===this)return t.northeastChild;let n=t.findTileToNorth(e);if(n!==void 0)return t.northwestChild===this?n.southwestChild:n.southeastChild};$c.prototype.freeResources=function(){this.state=xa.START,this.renderable=!1,this.upsampledFromParent=!1,l(this.data)&&l(this.data.freeResources)&&this.data.freeResources(),Rz(this._southwestChild),this._southwestChild=void 0,Rz(this._southeastChild),this._southeastChild=void 0,Rz(this._northwestChild),this._northwestChild=void 0,Rz(this._northeastChild),this._northeastChild=void 0};function Rz(e){l(e)&&e.freeResources()}var Mz=$c;function Lz(){this.head=void 0,this.tail=void 0,this.count=0,this._lastBeforeStartOfFrame=void 0}Lz.prototype.markStartOfRenderFrame=function(){this._lastBeforeStartOfFrame=this.head};Lz.prototype.trimTiles=function(e){let t=this.tail,n=!0;for(;n&&l(this._lastBeforeStartOfFrame)&&this.count>e&&l(t);){n=t!==this._lastBeforeStartOfFrame;let i=t.replacementPrevious;t.eligibleForUnloading&&(t.freeResources(),l0e(this,t)),t=i}};function l0e(e,t){let n=t.replacementPrevious,i=t.replacementNext;t===e._lastBeforeStartOfFrame&&(e._lastBeforeStartOfFrame=i),t===e.head?e.head=i:n.replacementNext=i,t===e.tail?e.tail=n:i.replacementPrevious=n,t.replacementPrevious=void 0,t.replacementNext=void 0,--e.count}Lz.prototype.markTileRendered=function(e){let t=this.head;if(t===e){e===this._lastBeforeStartOfFrame&&(this._lastBeforeStartOfFrame=e.replacementNext);return}if(++this.count,!l(t)){e.replacementPrevious=void 0,e.replacementNext=void 0,this.head=e,this.tail=e;return}(l(e.replacementPrevious)||l(e.replacementNext))&&l0e(this,e),e.replacementPrevious=void 0,e.replacementNext=t,t.replacementPrevious=e,this.head=e};var Nz=Lz;function qf(e){this._tileProvider=e.tileProvider,this._tileProvider.quadtree=this,this._debug={enableDebugOutput:!1,maxDepth:0,maxDepthVisited:0,tilesVisited:0,tilesCulled:0,tilesRendered:0,tilesWaitingForChildren:0,lastMaxDepth:-1,lastMaxDepthVisited:-1,lastTilesVisited:-1,lastTilesCulled:-1,lastTilesRendered:-1,lastTilesWaitingForChildren:-1,suspendLodUpdate:!1};let n=this._tileProvider.tilingScheme.ellipsoid;this._tilesToRender=[],this._tileLoadQueueHigh=[],this._tileLoadQueueMedium=[],this._tileLoadQueueLow=[],this._tileReplacementQueue=new Nz,this._levelZeroTiles=void 0,this._loadQueueTimeSlice=5,this._tilesInvalidated=!1,this._addHeightCallbacks=[],this._removeHeightCallbacks=[],this._tileToUpdateHeights=[],this._lastTileIndex=0,this._updateHeightsTimeSlice=2,this._cameraPositionCartographic=void 0,this._cameraReferenceFrameOriginCartographic=void 0,this.maximumScreenSpaceError=y(e.maximumScreenSpaceError,2),this.tileCacheSize=y(e.tileCacheSize,100),this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this._occluders=new Oz({ellipsoid:n}),this._tileLoadProgressEvent=new me,this._lastTileLoadQueueLength=0,this._lastSelectionFrameNumber=void 0}Object.defineProperties(qf.prototype,{tileProvider:{get:function(){return this._tileProvider}},tileLoadProgressEvent:{get:function(){return this._tileLoadProgressEvent}},occluders:{get:function(){return this._occluders}}});qf.prototype.invalidateAllTiles=function(){this._tilesInvalidated=!0};function dut(e){let t=e._tileReplacementQueue;t.head=void 0,t.tail=void 0,t.count=0,f0e(e);let n=e._levelZeroTiles;if(l(n))for(let i=0;i<n.length;++i){let r=n[i].customData,s=r.length;for(let a=0;a<s;++a){let c=r[a];c.level=0,e._addHeightCallbacks.push(c)}n[i].freeResources()}e._levelZeroTiles=void 0,e._tileProvider.cancelReprojections()}qf.prototype.forEachLoadedTile=function(e){let t=this._tileReplacementQueue.head;for(;l(t);)t.state!==xa.START&&e(t),t=t.replacementNext};qf.prototype.forEachRenderedTile=function(e){let t=this._tilesToRender;for(let n=0,i=t.length;n<i;++n)e(t[n])};qf.prototype.updateHeight=function(e,t){let n=this,i={positionOnEllipsoidSurface:void 0,positionCartographic:e,level:-1,callback:t};return i.removeFunc=function(){let o=n._addHeightCallbacks,r=o.length;for(let s=0;s<r;++s)if(o[s]===i){o.splice(s,1);break}n._removeHeightCallbacks.push(i),i.callback&&(i.callback=void 0)},n._addHeightCallbacks.push(i),i.removeFunc};qf.prototype.update=function(e){l(this._tileProvider.update)&&this._tileProvider.update(e)};function f0e(e){let t=e._debug;t.maxDepth=0,t.maxDepthVisited=0,t.tilesVisited=0,t.tilesCulled=0,t.tilesRendered=0,t.tilesWaitingForChildren=0,e._tileLoadQueueHigh.length=0,e._tileLoadQueueMedium.length=0,e._tileLoadQueueLow.length=0}qf.prototype.beginFrame=function(e){e.passes.render&&(this._tilesInvalidated&&(dut(this),this._tilesInvalidated=!1),this._tileProvider.initialize(e),f0e(this),!this._debug.suspendLodUpdate&&this._tileReplacementQueue.markStartOfRenderFrame())};qf.prototype.render=function(e){let t=e.passes,n=this._tileProvider;t.render&&(n.beginUpdate(e),_ut(this,e),vut(this,e),n.endUpdate(e)),t.pick&&this._tilesToRender.length>0&&n.updateForPick(e)};function hut(e,t){let n=e._tileLoadQueueHigh.length+e._tileLoadQueueMedium.length+e._tileLoadQueueLow.length;if(n!==e._lastTileLoadQueueLength||e._tilesInvalidated){let o=me.prototype.raiseEvent.bind(e._tileLoadProgressEvent,n);t.afterRender.push(()=>(o(),!0)),e._lastTileLoadQueueLength=n}let i=e._debug;i.enableDebugOutput&&!i.suspendLodUpdate&&(i.maxDepth=e._tilesToRender.reduce(function(o,r){return Math.max(o,r.level)},-1),i.tilesRendered=e._tilesToRender.length,(i.tilesVisited!==i.lastTilesVisited||i.tilesRendered!==i.lastTilesRendered||i.tilesCulled!==i.lastTilesCulled||i.maxDepth!==i.lastMaxDepth||i.tilesWaitingForChildren!==i.lastTilesWaitingForChildren||i.maxDepthVisited!==i.lastMaxDepthVisited)&&(console.log(`Visited ${i.tilesVisited}, Rendered: ${i.tilesRendered}, Culled: ${i.tilesCulled}, Max Depth Rendered: ${i.maxDepth}, Max Depth Visited: ${i.maxDepthVisited}, Waiting for children: ${i.tilesWaitingForChildren}`),i.lastTilesVisited=i.tilesVisited,i.lastTilesRendered=i.tilesRendered,i.lastTilesCulled=i.tilesCulled,i.lastMaxDepth=i.maxDepth,i.lastTilesWaitingForChildren=i.tilesWaitingForChildren,i.lastMaxDepthVisited=i.maxDepthVisited))}qf.prototype.endFrame=function(e){!e.passes.render||e.mode===ne.MORPHING||(Cut(this,e),Sut(this,e),hut(this,e))};qf.prototype.isDestroyed=function(){return!1};qf.prototype.destroy=function(){this._tileProvider=this._tileProvider&&this._tileProvider.destroy()};var ZI,u0e=new fe;function mut(e,t){let n=ae.center(e.rectangle,u0e),i=n.longitude-ZI.longitude,o=n.latitude-ZI.latitude;n=ae.center(t.rectangle,u0e);let r=n.longitude-ZI.longitude,s=n.latitude-ZI.latitude;return i*i+o*o-(r*r+s*s)}var put=new h,KI=[];function _ut(e,t){let n=e._debug;if(n.suspendLodUpdate)return;let i=e._tilesToRender;i.length=0;let o,r=e._tileProvider;if(!l(e._levelZeroTiles)){let x=r.tilingScheme;if(l(x)){let b=r.tilingScheme;e._levelZeroTiles=Mz.createLevelZeroTiles(b);let T=e._levelZeroTiles.length;if(KI.length<T)for(KI=new Array(T),o=0;o<T;++o)KI[o]===void 0&&(KI[o]=new $I)}else return}e._occluders.ellipsoid.cameraPosition=t.camera.positionWC;let s,a=e._levelZeroTiles,c=a.length>1?e._occluders:void 0;ZI=t.camera.positionCartographic,a.sort(mut);let u=e._addHeightCallbacks,f=e._removeHeightCallbacks,d=t.frameNumber,p;if(u.length>0||f.length>0){for(o=0,p=a.length;o<p;++o)s=a[o],s._updateCustomData(d,u,f);u.length=0,f.length=0}let g=t.camera;e._cameraPositionCartographic=g.positionCartographic;let m=F.getTranslation(g.transform,put);for(e._cameraReferenceFrameOriginCartographic=e.tileProvider.tilingScheme.ellipsoid.cartesianToCartographic(m,e._cameraReferenceFrameOriginCartographic),o=0,p=a.length;o<p;++o)s=a[o],e._tileReplacementQueue.markTileRendered(s),s.renderable?Ba(e,s,r,t,c,!1,KI[o]):(__(e,e._tileLoadQueueHigh,s,t),++n.tilesWaitingForChildren);e._lastSelectionFrameNumber=d}function __(e,t,n,i){n.needsLoading&&(e.tileProvider.computeTileLoadPriority!==void 0&&(n._loadPriority=e.tileProvider.computeTileLoadPriority(n,i)),t.push(n))}function $I(){this.allAreRenderable=!0,this.anyWereRenderedLastFrame=!1,this.notYetRenderableCount=0}function d0e(){this.southwest=new $I,this.southeast=new $I,this.northwest=new $I,this.northeast=new $I}d0e.prototype.combine=function(e){let t=this.southwest,n=this.southeast,i=this.northwest,o=this.northeast;e.allAreRenderable=t.allAreRenderable&&n.allAreRenderable&&i.allAreRenderable&&o.allAreRenderable,e.anyWereRenderedLastFrame=t.anyWereRenderedLastFrame||n.anyWereRenderedLastFrame||i.anyWereRenderedLastFrame||o.anyWereRenderedLastFrame,e.notYetRenderableCount=t.notYetRenderableCount+n.notYetRenderableCount+i.notYetRenderableCount+o.notYetRenderableCount};var LX=new Array(31);for(let e=0;e<LX.length;++e)LX[e]=new d0e;function gut(e,t,n,i,o){let r=e._debug;++r.tilesVisited,e._tileReplacementQueue.markTileRendered(n),n._updateCustomData(t.frameNumber),n.level>r.maxDepthVisited&&(r.maxDepthVisited=n.level);let s=but(e,t,n)<e.maximumScreenSpaceError,a=n.southwestChild,c=n.southeastChild,u=n.northwestChild,f=n.northeastChild,d=e._lastSelectionFrameNumber,p=n._lastSelectionResultFrame===d?n._lastSelectionResult:Kn.NONE,g=e.tileProvider;if(s||i){let m=Kn.originalResult(p)===Kn.RENDERED,x=Kn.originalResult(p)===Kn.CULLED||p===Kn.NONE,b=n.state===xa.DONE,T=m||x||b;if(T||l(g.canRenderWithoutLosingDetail)&&(T=g.canRenderWithoutLosingDetail(n)),T){s&&__(e,e._tileLoadQueueMedium,n,t),Fz(e,n),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Kn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}i=!0,s&&__(e,e._tileLoadQueueHigh,n,t)}if(g.canRefine(n)){if(a.upsampledFromParent&&c.upsampledFromParent&&u.upsampledFromParent&&f.upsampledFromParent){Fz(e,n),__(e,e._tileLoadQueueMedium,n,t),e._tileReplacementQueue.markTileRendered(a),e._tileReplacementQueue.markTileRendered(c),e._tileReplacementQueue.markTileRendered(u),e._tileReplacementQueue.markTileRendered(f),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Kn.RENDERED,o.notYetRenderableCount=n.renderable?0:1,n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.RENDERED,o.anyWereRenderedLastFrame||e._tileToUpdateHeights.push(n);return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.REFINED;let x=e._tilesToRender.length,b=e._tileLoadQueueLow.length,T=e._tileLoadQueueMedium.length,C=e._tileLoadQueueHigh.length,A=e._tileToUpdateHeights.length;if(yut(e,a,c,u,f,t,i,o),x!==e._tilesToRender.length){let S=o.allAreRenderable,v=o.anyWereRenderedLastFrame,D=o.notYetRenderableCount,R=!1;if(!S&&!v){let O=e._tilesToRender;for(let N=x;N<O.length;++N){let _=O[N];for(;_!==void 0&&_._lastSelectionResult!==Kn.KICKED&&_!==n;)_._lastSelectionResult=Kn.kick(_._lastSelectionResult),_=_.parent}e._tilesToRender.length=x,e._tileToUpdateHeights.length=A,Fz(e,n),n._lastSelectionResult=Kn.RENDERED;let M=p===Kn.RENDERED;!M&&D>e.loadingDescendantLimit&&(e._tileLoadQueueLow.length=b,e._tileLoadQueueMedium.length=T,e._tileLoadQueueHigh.length=C,__(e,e._tileLoadQueueMedium,n,t),o.notYetRenderableCount=n.renderable?0:1,R=!0),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=M,M||e._tileToUpdateHeights.push(n),++r.tilesWaitingForChildren}e.preloadAncestors&&!R&&__(e,e._tileLoadQueueLow,n,t)}return}n._lastSelectionResultFrame=t.frameNumber,n._lastSelectionResult=Kn.RENDERED,Fz(e,n),__(e,e._tileLoadQueueHigh,n,t),o.allAreRenderable=n.renderable,o.anyWereRenderedLastFrame=p===Kn.RENDERED,o.notYetRenderableCount=n.renderable?0:1}function yut(e,t,n,i,o,r,s,a){let c=r.camera.positionCartographic,u=e._tileProvider,f=e._occluders,d=LX[t.level],p=d.southwest,g=d.southeast,m=d.northwest,x=d.northeast;c.longitude<t.rectangle.east?c.latitude<t.rectangle.north?(Ba(e,t,u,r,f,s,p),Ba(e,n,u,r,f,s,g),Ba(e,i,u,r,f,s,m),Ba(e,o,u,r,f,s,x)):(Ba(e,i,u,r,f,s,m),Ba(e,t,u,r,f,s,p),Ba(e,o,u,r,f,s,x),Ba(e,n,u,r,f,s,g)):c.latitude<t.rectangle.north?(Ba(e,n,u,r,f,s,g),Ba(e,t,u,r,f,s,p),Ba(e,o,u,r,f,s,x),Ba(e,i,u,r,f,s,m)):(Ba(e,o,u,r,f,s,x),Ba(e,i,u,r,f,s,m),Ba(e,n,u,r,f,s,g),Ba(e,t,u,r,f,s,p)),d.combine(a)}function xut(e,t){let n=t.rectangle;return l(e._cameraPositionCartographic)&&ae.contains(n,e._cameraPositionCartographic)||l(e._cameraReferenceFrameOriginCartographic)&&ae.contains(n,e._cameraReferenceFrameOriginCartographic)}function Ba(e,t,n,i,o,r,s){if(n.computeTileVisibility(t,i,o)!==Cr.NONE)return gut(e,i,t,r,s);if(++e._debug.tilesCulled,e._tileReplacementQueue.markTileRendered(t),s.allAreRenderable=!0,s.anyWereRenderedLastFrame=!1,s.notYetRenderableCount=0,xut(e,t)){(!l(t.data)||!l(t.data.vertexArray))&&__(e,e._tileLoadQueueMedium,t,i);let a=e._lastSelectionFrameNumber,c=t._lastSelectionResultFrame===a?t._lastSelectionResult:Kn.NONE;c!==Kn.CULLED_BUT_NEEDED&&c!==Kn.RENDERED&&e._tileToUpdateHeights.push(t),t._lastSelectionResult=Kn.CULLED_BUT_NEEDED}else e.preloadSiblings||t.level===0?(__(e,e._tileLoadQueueLow,t,i),t._lastSelectionResult=Kn.CULLED):t._lastSelectionResult=Kn.CULLED;t._lastSelectionResultFrame=i.frameNumber}function but(e,t,n){if(t.mode===ne.SCENE2D||t.camera.frustum instanceof an||t.camera.frustum instanceof Wr)return Tut(e,t,n);let i=e._tileProvider.getLevelMaximumGeometricError(n.level),o=n._distance,r=t.context.drawingBufferHeight,s=t.camera.frustum.sseDenominator,a=i*r/(o*s);return t.fog.enabled&&(a-=P.fog(o,t.fog.density)*t.fog.sse),a/=t.pixelRatio,a}function Tut(e,t,n){let o=t.camera.frustum,r=o.offCenterFrustum;l(r)&&(o=r);let s=t.context,a=s.drawingBufferWidth,c=s.drawingBufferHeight,u=e._tileProvider.getLevelMaximumGeometricError(n.level),f=Math.max(o.top-o.bottom,o.right-o.left)/Math.max(a,c),d=u/f;return t.fog.enabled&&t.mode!==ne.SCENE2D&&(d-=P.fog(n._distance,t.fog.density)*t.fog.sse),d/=t.pixelRatio,d}function Fz(e,t){e._tilesToRender.push(t)}function Cut(e,t){let n=e._tileLoadQueueHigh,i=e._tileLoadQueueMedium,o=e._tileLoadQueueLow;if(n.length===0&&i.length===0&&o.length===0)return;e._tileReplacementQueue.trimTiles(e.tileCacheSize);let r=Ei()+e._loadQueueTimeSlice,s=e._tileProvider,a=RX(e,t,s,r,n,!1);a=RX(e,t,s,r,i,a),RX(e,t,s,r,o,a)}function Aut(e,t){return e._loadPriority-t._loadPriority}function RX(e,t,n,i,o,r){n.computeTileLoadPriority!==void 0&&o.sort(Aut);for(let s=0,a=o.length;s<a&&(Ei()<i||!r);++s){let c=o[s];e._tileReplacementQueue.markTileRendered(c),n.loadTile(t,c),r=!0}return r}var aS=new _n,MX=new fe,u0=new h,Eut=[];function Sut(e,t){if(!l(e.tileProvider.tilingScheme))return;let n=Eut;n.length=0;let i=e._tileToUpdateHeights,o=Ei(),r=e._updateHeightsTimeSlice,s=o+r,a=t.mode,c=t.mapProjection,u=e.tileProvider.tilingScheme.ellipsoid,f;for(;i.length>0;){let d=i[0];if(!l(d.data)||!l(d.data.mesh)){let x=d._lastSelectionResultFrame===e._lastSelectionFrameNumber?d._lastSelectionResult:Kn.NONE;(x===Kn.RENDERED||x===Kn.CULLED_BUT_NEEDED)&&n.push(d),i.shift(),e._lastTileIndex=0;continue}let p=d.customData,g=p.length,m=!1;for(f=e._lastTileIndex;f<g;++f){let x=p[f],b=d.data.terrainData,T=l(b)&&b.wasCreatedByUpsampling();if(d.level>x.level&&!T){if(l(x.positionOnEllipsoidSurface)||(x.positionOnEllipsoidSurface=h.fromRadians(x.positionCartographic.longitude,x.positionCartographic.latitude,0,u)),a===ne.SCENE3D){let A=u.geodeticSurfaceNormal(x.positionOnEllipsoidSurface,aS.direction),S=u.getSurfaceNormalIntersectionWithZAxis(x.positionOnEllipsoidSurface,11500,aS.origin);if(!l(S)){let v=0;l(d.data.tileBoundingRegion)&&(v=d.data.tileBoundingRegion.minimumHeight);let D=Math.min(v,-11500),R=h.multiplyByScalar(A,Math.abs(D)+1,u0);h.subtract(x.positionOnEllipsoidSurface,R,aS.origin)}}else fe.clone(x.positionCartographic,MX),MX.height=-11500,c.project(MX,u0),h.fromElements(u0.z,u0.x,u0.y,u0),h.clone(u0,aS.origin),h.clone(h.UNIT_X,aS.direction);let C=d.data.pick(aS,a,c,!1,u0);l(C)&&(l(x.callback)&&x.callback(C),x.level=d.level)}if(Ei()>=s){m=!0;break}}if(m){e._lastTileIndex=f;break}else e._lastTileIndex=0,i.shift()}for(f=0;f<n.length;f++)i.push(n[f])}function vut(e,t){let n=e._tileProvider,i=e._tilesToRender;for(let o=0,r=i.length;o<r;++o){let s=i[o];n.showTileThisFrame(s,t)}}var Bz=qf;function sh(e){e=y(e,ee.default);let t=new UE({ellipsoid:e}),n=new Pz;this._ellipsoid=e,this._imageryLayerCollection=n,this._surfaceShaderSet=new tz,this._material=void 0,this._surface=new Bz({tileProvider:new wz({terrainProvider:t,imageryLayers:n,surfaceShaderSet:this._surfaceShaderSet})}),this._terrainProvider=t,this._terrainProviderChanged=new me,this._undergroundColor=z.clone(z.BLACK),this._undergroundColorAlphaByDistance=new kt(e.maximumRadius/1e3,0,e.maximumRadius/5,1),this._translucency=new Dz,FX(this),this.show=!0,this._oceanNormalMapResourceDirty=!0,this._oceanNormalMapResource=new Ae({url:rn("Assets/Textures/waterNormalsSmall.jpg")}),this.maximumScreenSpaceError=2,this.tileCacheSize=100,this.loadingDescendantLimit=20,this.preloadAncestors=!0,this.preloadSiblings=!1,this.fillHighlightColor=void 0,this.enableLighting=!1,this.lambertDiffuseMultiplier=.9,this.dynamicAtmosphereLighting=!0,this.dynamicAtmosphereLightingFromSun=!1,this.showGroundAtmosphere=ee.WGS84.equals(e),this.atmosphereLightIntensity=10,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.lightingFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.lightingFadeInDistance=P.PI*e.minimumRadius,this.nightFadeOutDistance=P.PI_OVER_TWO*e.minimumRadius,this.nightFadeInDistance=5*P.PI_OVER_TWO*e.minimumRadius,this.showWaterEffect=!0,this.depthTestAgainstTerrain=!1,this.shadows=bn.RECEIVE_ONLY,this.atmosphereHueShift=0,this.atmosphereSaturationShift=0,this.atmosphereBrightnessShift=0,this.showSkirts=!0,this.backFaceCulling=!0,this._oceanNormalMap=void 0,this._zoomedOutOceanSpecularIntensity=void 0,this.vertexShadowDarkness=.3}Object.defineProperties(sh.prototype,{ellipsoid:{get:function(){return this._ellipsoid}},imageryLayers:{get:function(){return this._imageryLayerCollection}},imageryLayersUpdatedEvent:{get:function(){return this._surface.tileProvider.imageryLayersUpdatedEvent}},tilesLoaded:{get:function(){return l(this._surface)?this._surface._tileLoadQueueHigh.length===0&&this._surface._tileLoadQueueMedium.length===0&&this._surface._tileLoadQueueLow.length===0:!0}},baseColor:{get:function(){return this._surface.tileProvider.baseColor},set:function(e){this._surface.tileProvider.baseColor=e}},clippingPlanes:{get:function(){return this._surface.tileProvider.clippingPlanes},set:function(e){this._surface.tileProvider.clippingPlanes=e}},clippingPolygons:{get:function(){return this._surface.tileProvider.clippingPolygons},set:function(e){this._surface.tileProvider.clippingPolygons=e}},cartographicLimitRectangle:{get:function(){return this._surface.tileProvider.cartographicLimitRectangle},set:function(e){l(e)||(e=ae.clone(ae.MAX_VALUE)),this._surface.tileProvider.cartographicLimitRectangle=e}},oceanNormalMapUrl:{get:function(){return this._oceanNormalMapResource.url},set:function(e){this._oceanNormalMapResource.url=e,this._oceanNormalMapResourceDirty=!0}},terrainProvider:{get:function(){return this._terrainProvider},set:function(e){e!==this._terrainProvider&&(this._terrainProvider=e,this._terrainProviderChanged.raiseEvent(e),l(this._material)&&FX(this))}},terrainProviderChanged:{get:function(){return this._terrainProviderChanged}},tileLoadProgressEvent:{get:function(){return this._surface.tileLoadProgressEvent}},material:{get:function(){return this._material},set:function(e){this._material!==e&&(this._material=e,FX(this))}},undergroundColor:{get:function(){return this._undergroundColor},set:function(e){this._undergroundColor=z.clone(e,this._undergroundColor)}},undergroundColorAlphaByDistance:{get:function(){return this._undergroundColorAlphaByDistance},set:function(e){this._undergroundColorAlphaByDistance=kt.clone(e,this._undergroundColorAlphaByDistance)}},translucency:{get:function(){return this._translucency}}});function FX(e){let t=[],n=l(e._material)&&(l(e._material.shaderSource.match(/slope/))||l(e._material.shaderSource.match("normalEC"))),i=[Kh,FI];l(e._material)&&(!n||e._terrainProvider.requestVertexNormals)?(i.push(e._material.shaderSource),t.push("APPLY_MATERIAL"),e._surface._tileProvider.materialUniformMap=e._material._uniforms):e._surface._tileProvider.materialUniformMap=void 0,i.push(GU),e._surfaceShaderSet.baseVertexShaderSource=new He({sources:[Kh,FI,WU],defines:t}),e._surfaceShaderSet.baseFragmentShaderSource=new He({sources:i,defines:t}),e._surfaceShaderSet.material=e._material}function wut(e){return function(t,n){let i=ce.distanceSquaredTo(t.pickBoundingSphere,e),o=ce.distanceSquaredTo(n.pickBoundingSphere,e);return i-o}}var Dut=[],Iut={start:0,stop:0};sh.prototype.pickWorldCoordinates=function(e,t,n,i){n=y(n,!0);let o=t.mode,r=t.mapProjection,s=Dut;s.length=0;let a=this._surface._tilesToRender,c=a.length,u,f;for(f=0;f<c;++f){u=a[f];let p=u.data;if(!l(p))continue;let g=p.pickBoundingSphere;if(o!==ne.SCENE3D)p.pickBoundingSphere=g=ce.fromRectangleWithHeights2D(u.rectangle,r,p.tileBoundingRegion.minimumHeight,p.tileBoundingRegion.maximumHeight,g),h.fromElements(g.center.z,g.center.x,g.center.y,g.center);else if(l(p.renderedMesh))ce.clone(p.tileBoundingRegion.boundingSphere,g);else continue;let m=ti.raySphere(e,g,Iut);l(m)&&s.push(p)}s.sort(wut(e.origin));let d;for(c=s.length,f=0;f<c&&(d=s[f].pick(e,t.mode,t.mapProjection,n,i),!l(d));++f);return d};var Put=new fe;sh.prototype.pick=function(e,t,n){if(n=this.pickWorldCoordinates(e,t,!0,n),l(n)&&t.mode!==ne.SCENE3D){n=h.fromElements(n.y,n.z,n.x,n);let i=t.mapProjection.unproject(n,Put);n=this._ellipsoid.cartographicToCartesian(i,n)}return n};var Out=new h,h0e=new h,Rut=new fe,Mut=new _n;function NX(e,t){return l(e)&&ae.contains(e.rectangle,t)?e:void 0}sh.prototype.getHeight=function(e){let t=this._surface._levelZeroTiles;if(!l(t))return;let n,i,o=t.length;for(i=0;i<o&&(n=t[i],!ae.contains(n.rectangle,e));++i);if(i>=o)return;let r=n;for(;l(n);)n=NX(n._southwestChild,e)||NX(n._southeastChild,e)||NX(n._northwestChild,e)||n._northeastChild,l(n)&&l(n.data)&&l(n.data.renderedMesh)&&(r=n);if(n=r,!l(n)||!l(n.data)||!l(n.data.renderedMesh))return;let s=this._surface._tileProvider.tilingScheme.projection,a=this._surface._tileProvider.tilingScheme.ellipsoid,c=h.fromRadians(e.longitude,e.latitude,0,a,Out),u=Mut,f=a.geodeticSurfaceNormal(c,u.direction),d=a.getSurfaceNormalIntersectionWithZAxis(c,11500,u.origin);if(!l(d)){let g;l(n.data.tileBoundingRegion)&&(g=n.data.tileBoundingRegion.minimumHeight);let m=Math.min(y(g,0),-11500),x=h.multiplyByScalar(f,Math.abs(m)+1,h0e);h.subtract(c,x,u.origin)}let p=n.data.pick(u,void 0,s,!1,h0e);if(l(p))return a.cartesianToCartographic(p,Rut).height};sh.prototype.update=function(e){this.show&&e.passes.render&&this._surface.update(e)};sh.prototype.beginFrame=function(e){let t=this._surface,n=t.tileProvider,i=this.terrainProvider,o=l(i)&&i.hasWaterMask&&i.hasWaterMask;if(o&&this._oceanNormalMapResourceDirty){this._oceanNormalMapResourceDirty=!1;let a=this._oceanNormalMapResource,c=a.url;if(l(c)){let u=this;a.fetchImage().then(function(f){c===u._oceanNormalMapResource.url&&(u._oceanNormalMap=u._oceanNormalMap&&u._oceanNormalMap.destroy(),u._oceanNormalMap=new Pt({context:e.context,source:f}))})}else this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy()}let r=e.passes,s=e.mode;r.render&&(this.showGroundAtmosphere?this._zoomedOutOceanSpecularIntensity=.4:this._zoomedOutOceanSpecularIntensity=.5,t.maximumScreenSpaceError=this.maximumScreenSpaceError,t.tileCacheSize=this.tileCacheSize,t.loadingDescendantLimit=this.loadingDescendantLimit,t.preloadAncestors=this.preloadAncestors,t.preloadSiblings=this.preloadSiblings,n.terrainProvider=this.terrainProvider,n.lightingFadeOutDistance=this.lightingFadeOutDistance,n.lightingFadeInDistance=this.lightingFadeInDistance,n.nightFadeOutDistance=this.nightFadeOutDistance,n.nightFadeInDistance=this.nightFadeInDistance,n.zoomedOutOceanSpecularIntensity=s===ne.SCENE3D?this._zoomedOutOceanSpecularIntensity:0,n.hasWaterMask=o,n.showWaterEffect=this.showWaterEffect,n.oceanNormalMap=this._oceanNormalMap,n.enableLighting=this.enableLighting,n.dynamicAtmosphereLighting=this.dynamicAtmosphereLighting,n.dynamicAtmosphereLightingFromSun=this.dynamicAtmosphereLightingFromSun,n.showGroundAtmosphere=this.showGroundAtmosphere,n.atmosphereLightIntensity=this.atmosphereLightIntensity,n.atmosphereRayleighCoefficient=this.atmosphereRayleighCoefficient,n.atmosphereMieCoefficient=this.atmosphereMieCoefficient,n.atmosphereRayleighScaleHeight=this.atmosphereRayleighScaleHeight,n.atmosphereMieScaleHeight=this.atmosphereMieScaleHeight,n.atmosphereMieAnisotropy=this.atmosphereMieAnisotropy,n.shadows=this.shadows,n.hueShift=this.atmosphereHueShift,n.saturationShift=this.atmosphereSaturationShift,n.brightnessShift=this.atmosphereBrightnessShift,n.fillHighlightColor=this.fillHighlightColor,n.showSkirts=this.showSkirts,n.backFaceCulling=this.backFaceCulling,n.vertexShadowDarkness=this.vertexShadowDarkness,n.undergroundColor=this._undergroundColor,n.undergroundColorAlphaByDistance=this._undergroundColorAlphaByDistance,n.lambertDiffuseMultiplier=this.lambertDiffuseMultiplier,t.beginFrame(e))};sh.prototype.render=function(e){this.show&&(l(this._material)&&this._material.update(e.context),this._surface.render(e))};sh.prototype.endFrame=function(e){this.show&&e.passes.render&&this._surface.endFrame(e)};sh.prototype.isDestroyed=function(){return!1};sh.prototype.destroy=function(){return this._surfaceShaderSet=this._surfaceShaderSet&&this._surfaceShaderSet.destroy(),this._surface=this._surface&&this._surface.destroy(),this._oceanNormalMap=this._oceanNormalMap&&this._oceanNormalMap.destroy(),ue(this)};var kz=sh;var BX={position:0};function Vz(e){e=y(e,y.EMPTY_OBJECT),this.center=h.clone(y(e.center,h.ZERO)),this._center=new h,this.radii=h.clone(e.radii),this._radii=new h,this._oneOverEllipsoidRadiiSquared=new h,this._boundingSphere=new ce,this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this._computedModelMatrix=new F,this.show=y(e.show,!0),this.material=y(e.material,Yi.fromType(Yi.ColorType)),this._material=void 0,this._translucent=void 0,this.id=e.id,this._id=void 0,this.debugShowBoundingVolume=y(e.debugShowBoundingVolume,!1),this.onlySunLighting=y(e.onlySunLighting,!1),this._onlySunLighting=!1,this._depthTestEnabled=y(e.depthTestEnabled,!0),this._useLogDepth=!1,this._sp=void 0,this._rs=void 0,this._va=void 0,this._pickSP=void 0,this._pickId=void 0,this._colorCommand=new tt({owner:y(e._owner,this)}),this._pickCommand=new tt({owner:y(e._owner,this),pickOnly:!0});let t=this;this._uniforms={u_radii:function(){return t.radii},u_oneOverEllipsoidRadiiSquared:function(){return t._oneOverEllipsoidRadiiSquared}},this._pickUniforms={czm_pickColor:function(){return t._pickId.color}}}function Lut(e){let t=e.cache.ellipsoidPrimitive_vertexArray;if(l(t))return t;let n=Ka.createGeometry(Ka.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Pe.POSITION_ONLY}));return t=si.fromGeometry({context:e,geometry:n,attributeLocations:BX,bufferUsage:Ue.STATIC_DRAW,interleave:!0}),e.cache.ellipsoidPrimitive_vertexArray=t,t}Vz.prototype.update=function(e){if(!this.show||e.mode!==ne.SCENE3D||!l(this.center)||!l(this.radii))return;let t=e.context,n=this.material.isTranslucent(),i=this._translucent!==n;(!l(this._rs)||i)&&(this._translucent=n,this._rs=ze.fromCache({cull:{enabled:!0,face:Ti.FRONT},depthTest:{enabled:this._depthTestEnabled},depthMask:!n&&t.fragmentDepth,blending:n?fn.ALPHA_BLEND:void 0})),l(this._va)||(this._va=Lut(t));let o=!1,r=this.radii;if(!h.equals(this._radii,r)){h.clone(r,this._radii);let x=this._oneOverEllipsoidRadiiSquared;x.x=1/(r.x*r.x),x.y=1/(r.y*r.y),x.z=1/(r.z*r.z),o=!0}(!F.equals(this.modelMatrix,this._modelMatrix)||!h.equals(this.center,this._center))&&(F.clone(this.modelMatrix,this._modelMatrix),h.clone(this.center,this._center),F.multiplyByTranslation(this.modelMatrix,this.center,this._computedModelMatrix),o=!0),o&&(h.clone(h.ZERO,this._boundingSphere.center),this._boundingSphere.radius=h.maximumComponent(r),ce.transform(this._boundingSphere,this._computedModelMatrix,this._boundingSphere));let s=this._material!==this.material;this._material=this.material,this._material.update(t);let a=this.onlySunLighting!==this._onlySunLighting;this._onlySunLighting=this.onlySunLighting;let c=e.useLogDepth,u=this._useLogDepth!==c;this._useLogDepth=c;let f=this._colorCommand,d,p;(s||a||i||u)&&(d=new He({sources:[NI]}),p=new He({sources:[this.material.shaderSource,LI]}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._sp=tn.replaceCache({context:t,shaderProgram:this._sp,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:BX}),f.vertexArray=this._va,f.renderState=this._rs,f.shaderProgram=this._sp,f.uniformMap=Ct(this._uniforms,this.material._uniforms),f.executeInClosestFrustum=n);let g=e.commandList,m=e.passes;if(m.render&&(f.boundingVolume=this._boundingSphere,f.debugShowBoundingVolume=this.debugShowBoundingVolume,f.modelMatrix=this._computedModelMatrix,f.pass=n?ve.TRANSLUCENT:ve.OPAQUE,g.push(f)),m.pick){let x=this._pickCommand;(!l(this._pickId)||this._id!==this.id)&&(this._id=this.id,this._pickId=this._pickId&&this._pickId.destroy(),this._pickId=t.createPickId({primitive:this,id:this.id})),(s||a||!l(this._pickSP)||u)&&(d=new He({sources:[NI]}),p=new He({sources:[this.material.shaderSource,LI],pickColorQualifier:"uniform"}),this.onlySunLighting&&p.defines.push("ONLY_SUN_LIGHTING"),!n&&t.fragmentDepth&&p.defines.push("WRITE_DEPTH"),this._useLogDepth&&(d.defines.push("LOG_DEPTH"),p.defines.push("LOG_DEPTH")),this._pickSP=tn.replaceCache({context:t,shaderProgram:this._pickSP,vertexShaderSource:d,fragmentShaderSource:p,attributeLocations:BX}),x.vertexArray=this._va,x.renderState=this._rs,x.shaderProgram=this._pickSP,x.uniformMap=Ct(Ct(this._uniforms,this._pickUniforms),this.material._uniforms),x.executeInClosestFrustum=n),x.boundingVolume=this._boundingSphere,x.modelMatrix=this._computedModelMatrix,x.pass=n?ve.TRANSLUCENT:ve.OPAQUE,g.push(x)}};Vz.prototype.isDestroyed=function(){return!1};Vz.prototype.destroy=function(){return this._sp=this._sp&&this._sp.destroy(),this._pickSP=this._pickSP&&this._pickSP.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var Uz=Vz;function QI(e){e=y(e,y.EMPTY_OBJECT);let t=e.textureUrl;l(t)||(t=rn("Assets/Textures/moonSmall.jpg")),this.show=y(e.show,!0),this.textureUrl=t,this._ellipsoid=y(e.ellipsoid,ee.MOON),this.onlySunLighting=y(e.onlySunLighting,!0),this._ellipsoidPrimitive=new Uz({radii:this.ellipsoid.radii,material:Yi.fromType(Yi.ImageType),depthTestEnabled:!1,_owner:this}),this._ellipsoidPrimitive.material.translucent=!1,this._axes=new bU}Object.defineProperties(QI.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});var zz=new $,Nut=new $,Fut=new h,Hz=[];QI.prototype.update=function(e){if(!this.show)return;let t=this._ellipsoidPrimitive;t.material.uniforms.image=this.textureUrl,t.onlySunLighting=this.onlySunLighting;let n=e.time;l(Mt.computeIcrfToFixedMatrix(n,zz))||Mt.computeTemeToPseudoFixedMatrix(n,zz);let i=this._axes.evaluate(n,Nut);$.transpose(i,i),$.multiply(zz,i,i);let o=W0.computeMoonPositionInEarthInertialFrame(n,Fut);$.multiplyByVector(zz,o,o),F.fromRotationTranslation(i,o,t.modelMatrix);let r=e.commandList;return e.commandList=Hz,Hz.length=0,t.update(e),e.commandList=r,Hz.length===1?Hz[0]:void 0};QI.prototype.isDestroyed=function(){return!1};QI.prototype.destroy=function(){return this._ellipsoidPrimitive=this._ellipsoidPrimitive&&this._ellipsoidPrimitive.destroy(),ue(this)};var Gz=QI;function JI(){this._colorTexture=void 0,this._drawCommand=void 0}Object.defineProperties(JI.prototype,{colorTexture:{get:function(){return this._colorTexture}}});function But(e,t,n){let i=t.createViewportQuadCommand(MU,{framebuffer:n,renderState:ze.fromCache({viewport:new Ye(0,0,256,256)})});e._drawCommand=i}JI.prototype.update=function(e){if(!l(this._colorTexture)){let t=e.context,n=new Pt({context:t,width:256,height:256,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,sampler:$t.NEAREST});this._colorTexture=n;let i=new Gr({context:t,colorTextures:[n],destroyAttachments:!1});But(this,t,i),this._drawCommand.execute(t),i.destroy(),this._drawCommand.shaderProgram=this._drawCommand.shaderProgram&&this._drawCommand.shaderProgram.destroy()}};JI.prototype.isDestroyed=function(){return!1};JI.prototype.destroy=function(){return this._colorTexture=this._colorTexture&&this._colorTexture.destroy(),ue(this)};var Wz=JI;var g0e={};function kut(e,t,n){let i,o,r;if(e instanceof Di){let s=Math.tan(.5*e.fovy);return i=e.near,o=e.near*s,r=e.aspectRatio*o,Math.max(t*i/r,n*i/o)}else if(e instanceof Ml)return i=e.near,o=e.top,r=e.right,Math.max(t*i/r,n*i/o);return Math.max(t,n)}var Vut=new h,m0e=new h;function y0e(e,t,n,i){if(l(i)&&n(.5)>i){let o=n(0),r=n(1),s=n(.5),a=s-o,c=s-r;return function(u){let f=n(u);if(u<=.5){let p=(f-o)/a;return P.lerp(e,-P.PI_OVER_TWO,p)}let d=(f-r)/c;return P.lerp(-P.PI_OVER_TWO,t,1-d)}}return function(o){return P.lerp(e,t,o)}}function VX(e,t,n,i,o){let r=o,s=Math.max(n,i);if(!l(r)){let a=e.position,c=t,u=e.up,f=e.right,d=e.frustum,p=h.subtract(a,c,Vut),g=h.magnitude(h.multiplyByScalar(u,h.dot(p,u),m0e)),m=h.magnitude(h.multiplyByScalar(f,h.dot(p,f),m0e));r=Math.min(kut(d,g,m)*.2,1e9)}if(s<r){let u=-Math.pow((r-n)*1e6,.125),f=Math.pow((r-i)*1e6,1/8);return function(d){let p=d*(f-u)+u;return-Math.pow(p,8)/1e6+r}}return function(a){return P.lerp(n,i,a)}}function eP(e,t){return P.equalsEpsilon(e,P.TWO_PI,P.EPSILON11)&&(e=0),t>e+Math.PI?e+=P.TWO_PI:t<e-Math.PI&&(e-=P.TWO_PI),e}var x0e=new h;function Uut(e,t,n,i,o,r,s,a){let c=e.camera,u=h.clone(c.position,x0e),f=c.pitch,d=eP(c.heading,i),p=eP(c.roll,r),g=VX(c,n,u.z,n.z,s),m=y0e(f,o,g,a);function x(b){let T=b.time/t;c.setView({orientation:{heading:P.lerp(d,i,T),pitch:m(T),roll:P.lerp(p,r,T)}}),U.lerp(u,n,T,c.position),c.position.z=g(T)}return x}function zut(e,t){e.longitude<t.longitude?e.longitude+=P.TWO_PI:t.longitude+=P.TWO_PI}function Hut(e,t){let n=e.longitude-t.longitude;n<-P.PI?e.longitude+=P.TWO_PI:n>P.PI&&(t.longitude+=P.TWO_PI)}var Gut=new fe,Wut=new fe;function jut(e,t,n,i,o,r,s,a,c,u){let f=e.camera,p=e.mapProjection.ellipsoid,g=fe.clone(f.positionCartographic,Gut),m=f.pitch,x=eP(f.heading,i),b=eP(f.roll,r),T=p.cartesianToCartographic(n,Wut);g.longitude=P.zeroToTwoPi(g.longitude),T.longitude=P.zeroToTwoPi(T.longitude);let C=!1;if(l(a)){let D=P.zeroToTwoPi(a),R=Math.min(g.longitude,T.longitude),O=Math.max(g.longitude,T.longitude),M=D>=R&&D<=O;if(l(c)){let N=Math.abs(g.longitude-T.longitude),_=P.TWO_PI-N;(M?N:_)<(M?_:N)*c&&!M&&(C=!0)}else M||(C=!0)}C?zut(g,T):Hut(g,T);let A=VX(f,n,g.height,T.height,s),S=y0e(m,o,A,u);function v(){let D=g.longitude,R=T.longitude,O=g.latitude,M=T.latitude;return function(_){let E=_.time/t,w=h.fromRadians(P.lerp(D,R,E),P.lerp(O,M,E),A(E),p);f.setView({destination:w,orientation:{heading:P.lerp(x,i,E),pitch:S(E),roll:P.lerp(b,r,E)}})}}return v()}function qut(e,t,n,i,o,r,s){let a=e.camera,c=h.clone(a.position,x0e),u=eP(a.heading,i),f=a.frustum.right-a.frustum.left,d=VX(a,n,f,n.z,s);function p(g){let m=g.time/t;a.setView({orientation:{heading:P.lerp(u,i,m)}}),U.lerp(c,n,m,a.position);let x=d(m),b=a.frustum,T=b.top/b.right,C=(x-(b.right-b.left))*.5;b.right+=C,b.left-=C,b.top=T*b.right,b.bottom=-b.top}return p}var p0e=new fe,Yut=new h;function kX(e,t){return{startObject:{},stopObject:{},duration:0,complete:e,cancel:t}}function _0e(e,t){function n(){typeof t=="function"&&t(),e.enableInputs=!0}return n}g0e.createTween=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=t.destination,i=e.mode;if(i===ne.MORPHING)return kX();let o=y(t.convert,!0),r=e.mapProjection,s=r.ellipsoid,a=t.maximumHeight,c=t.flyOverLongitude,u=t.flyOverLongitudeWeight,f=t.pitchAdjustHeight,d=t.easingFunction;o&&i!==ne.SCENE3D&&(s.cartesianToCartographic(n,p0e),n=r.project(p0e,Yut));let p=e.camera,g=t.endTransform;l(g)&&p._setTransform(g);let m=t.duration;l(m)||(m=Math.ceil(h.distance(p.position,n)/1e6)+2,m=Math.min(m,3));let x=y(t.heading,0),b=y(t.pitch,-P.PI_OVER_TWO),T=y(t.roll,0),C=e.screenSpaceCameraController;C.enableInputs=!1;let A=_0e(C,t.complete),S=_0e(C,t.cancel),v=p.frustum,D=e.mode===ne.SCENE2D;if(D=D&&U.equalsEpsilon(p.position,n,P.EPSILON6),D=D&&P.equalsEpsilon(Math.max(v.right-v.left,v.top-v.bottom),n.z,P.EPSILON6),D=D||e.mode!==ne.SCENE2D&&h.equalsEpsilon(n,p.position,P.EPSILON10),D=D&&P.equalsEpsilon(P.negativePiToPi(x),P.negativePiToPi(p.heading),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(b),P.negativePiToPi(p.pitch),P.EPSILON10)&&P.equalsEpsilon(P.negativePiToPi(T),P.negativePiToPi(p.roll),P.EPSILON10),D)return kX(A,S);let R=new Array(4);if(R[ne.SCENE2D]=qut,R[ne.SCENE3D]=jut,R[ne.COLUMBUS_VIEW]=Uut,m<=0)return kX(function(){R[i](e,1,n,x,b,T,a,c,u,f)({time:1}),typeof A=="function"&&A()},S);let O=R[i](e,m,n,x,b,T,a,c,u,f);if(!l(d)){let M=p.positionCartographic.height,N=i===ne.SCENE3D?s.cartesianToCartographic(n).height:n.z;M>N&&M>11500?d=Jr.CUBIC_OUT:d=Jr.QUINTIC_IN_OUT}return{duration:m,easingFunction:d,startObject:{time:0},stopObject:{time:m},update:O,complete:A,cancel:S}};var jz=g0e;var Xut={ROTATE:0,INFINITE_SCROLL:1},Mu=Object.freeze(Xut);function Qt(e){this._scene=e,this._transform=F.clone(F.IDENTITY),this._invTransform=F.clone(F.IDENTITY),this._actualTransform=F.clone(F.IDENTITY),this._actualInvTransform=F.clone(F.IDENTITY),this._transformChanged=!1,this.position=new h,this._position=new h,this._positionWC=new h,this._positionCartographic=new fe,this._oldPositionWC=void 0,this.positionWCDeltaMagnitude=0,this.positionWCDeltaMagnitudeLastFrame=0,this.timeSinceMoved=0,this._lastMovedTimestamp=0,this.direction=new h,this._direction=new h,this._directionWC=new h,this.up=new h,this._up=new h,this._upWC=new h,this.right=new h,this._right=new h,this._rightWC=new h,this.frustum=new Di,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60),this.defaultMoveAmount=1e5,this.defaultLookAmount=Math.PI/60,this.defaultRotateAmount=Math.PI/3600,this.defaultZoomAmount=1e5,this.constrainedAxis=void 0,this.maximumZoomFactor=1.5,this._moveStart=new me,this._moveEnd=new me,this._changed=new me,this._changedPosition=void 0,this._changedDirection=void 0,this._changedFrustum=void 0,this._changedHeading=void 0,this._changedRoll=void 0,this.percentageChanged=.5,this._viewMatrix=new F,this._invViewMatrix=new F,w0e(this),this._mode=ne.SCENE3D,this._modeChanged=!0;let t=e.mapProjection;this._projection=t,this._maxCoord=t.project(new fe(Math.PI,P.PI_OVER_TWO)),this._max2Dfrustum=void 0,V0e(this,Qt.DEFAULT_VIEW_RECTANGLE,this.position,!0);let n=h.magnitude(this.position);n+=n*Qt.DEFAULT_VIEW_FACTOR,h.normalize(this.position,this.position),h.multiplyByScalar(this.position,n,this.position)}Qt.TRANSFORM_2D=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);Qt.TRANSFORM_2D_INVERSE=F.inverseTransformation(Qt.TRANSFORM_2D,new F);Qt.DEFAULT_VIEW_RECTANGLE=ae.fromDegrees(-95,-20,-70,90);Qt.DEFAULT_VIEW_FACTOR=.5;Qt.DEFAULT_OFFSET=new jd(0,-P.PI_OVER_FOUR,0);function w0e(e){F.computeView(e._position,e._direction,e._up,e._right,e._viewMatrix),F.multiply(e._viewMatrix,e._actualInvTransform,e._viewMatrix),F.inverseTransformation(e._viewMatrix,e._invViewMatrix)}function Kut(e){if(!l(e._oldPositionWC))e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC);else{e.positionWCDeltaMagnitudeLastFrame=e.positionWCDeltaMagnitude;let t=h.subtract(e.positionWC,e._oldPositionWC,e._oldPositionWC);e.positionWCDeltaMagnitude=h.magnitude(t),e._oldPositionWC=h.clone(e.positionWC,e._oldPositionWC),e.positionWCDeltaMagnitude>0?(e.timeSinceMoved=0,e._lastMovedTimestamp=Ei()):e.timeSinceMoved=Math.max(Ei()-e._lastMovedTimestamp,0)/1e3}}Qt.prototype.canPreloadFlight=function(){return l(this._currentFlight)&&this._mode!==ne.SCENE2D};Qt.prototype._updateCameraChanged=function(){let e=this;if(Kut(e),e._changed.numberOfListeners===0)return;let t=e.percentageChanged,n=e.heading;l(e._changedHeading)||(e._changedHeading=n);let i=Math.abs(e._changedHeading-n)%P.TWO_PI;i=i>P.PI?P.TWO_PI-i:i;let o=i/Math.PI;o>t&&(e._changedHeading=n);let r=e.roll;l(e._changedRoll)||(e._changedRoll=r);let s=Math.abs(e._changedRoll-r)%P.TWO_PI;s=s>P.PI?P.TWO_PI-s:s;let a=s/Math.PI;if(a>t&&(e._changedRoll=r),(a>t||o>t)&&e._changed.raiseEvent(Math.max(a,o)),e._mode===ne.SCENE2D){if(!l(e._changedFrustum)){e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone();return}let p=e.position,g=e._changedPosition,m=e.frustum,x=e._changedFrustum,b=p.x+m.left,T=p.x+m.right,C=g.x+x.left,A=g.x+x.right,S=p.y+m.bottom,v=p.y+m.top,D=g.y+x.bottom,R=g.y+x.top,O=Math.max(b,C),M=Math.min(T,A),N=Math.max(S,D),_=Math.min(v,R),E;if(O>=M||N>=v)E=1;else{let w=x;b<C&&T>A&&S<D&&v>R&&(w=m),E=1-(M-O)*(_-N)/((w.right-w.left)*(w.top-w.bottom))}E>t&&(e._changed.raiseEvent(E),e._changedPosition=h.clone(e.position,e._changedPosition),e._changedFrustum=e.frustum.clone(e._changedFrustum));return}if(!l(e._changedDirection)){e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection);return}let c=P.acosClamped(h.dot(e.directionWC,e._changedDirection)),u;l(e.frustum.fovy)?u=c/(e.frustum.fovy*.5):u=c;let d=h.distance(e.positionWC,e._changedPosition)/e.positionCartographic.height;(u>t||d>t)&&(e._changed.raiseEvent(Math.max(u,d)),e._changedPosition=h.clone(e.positionWC,e._changedPosition),e._changedDirection=h.clone(e.directionWC,e._changedDirection))};function Zut(e){Mt.basisTo2D(e._projection,e._transform,e._actualTransform)}var $ut=new fe,Qut=new h,qz=new h,Jut=new oe,eft=new oe,tft=new oe,nft=new oe,ift=new oe;function oft(e){let t=e._projection,n=t.ellipsoid,i=F.getColumn(e._transform,3,Jut),o=n.cartesianToCartographic(i,$ut),r=t.project(o,Qut),s=eft;s.x=r.z,s.y=r.x,s.z=r.y,s.w=1;let a=oe.clone(oe.UNIT_X,ift),c=oe.add(F.getColumn(e._transform,0,qz),i,qz);n.cartesianToCartographic(c,o),t.project(o,r);let u=tft;u.x=r.z,u.y=r.x,u.z=r.y,u.w=0,h.subtract(u,s,u),u.x=0;let f=nft;if(h.magnitudeSquared(u)>P.EPSILON10)h.cross(a,u,f);else{let d=oe.add(F.getColumn(e._transform,1,qz),i,qz);n.cartesianToCartographic(d,o),t.project(o,r),f.x=r.z,f.y=r.x,f.z=r.y,f.w=0,h.subtract(f,s,f),f.x=0,h.magnitudeSquared(f)<P.EPSILON10&&(oe.clone(oe.UNIT_Y,u),oe.clone(oe.UNIT_Z,f))}h.cross(f,a,u),h.normalize(u,u),h.cross(a,u,f),h.normalize(f,f),F.setColumn(e._actualTransform,0,u,e._actualTransform),F.setColumn(e._actualTransform,1,f,e._actualTransform),F.setColumn(e._actualTransform,2,a,e._actualTransform),F.setColumn(e._actualTransform,3,s,e._actualTransform)}var UX=new h;function gc(e){let t=e._mode,n=!1,i=0;t===ne.SCENE2D&&(i=e.frustum.right-e.frustum.left,n=i!==e._positionCartographic.height);let o=e._position,r=!h.equals(o,e.position)||n;r&&(o=h.clone(e.position,e._position));let s=e._direction,a=!h.equals(s,e.direction);a&&(h.normalize(e.direction,e.direction),s=h.clone(e.direction,e._direction));let c=e._up,u=!h.equals(c,e.up);u&&(h.normalize(e.up,e.up),c=h.clone(e.up,e._up));let f=e._right,d=!h.equals(f,e.right);d&&(h.normalize(e.right,e.right),f=h.clone(e.right,e._right));let p=e._transformChanged||e._modeChanged;e._transformChanged=!1,p&&(F.inverseTransformation(e._transform,e._invTransform),e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D?F.equals(F.IDENTITY,e._transform)?F.clone(Qt.TRANSFORM_2D,e._actualTransform):e._mode===ne.COLUMBUS_VIEW?Zut(e):oft(e):F.clone(e._transform,e._actualTransform),F.inverseTransformation(e._actualTransform,e._actualInvTransform),e._modeChanged=!1);let g=e._actualTransform;if(r||p)if(e._positionWC=F.multiplyByPoint(g,o,e._positionWC),t===ne.SCENE3D||t===ne.MORPHING)e._positionCartographic=e._projection.ellipsoid.cartesianToCartographic(e._positionWC,e._positionCartographic);else{let m=UX;m.x=e._positionWC.y,m.y=e._positionWC.z,m.z=e._positionWC.x,t===ne.SCENE2D&&(m.z=i),e._projection.unproject(m,e._positionCartographic)}if(a||u||d){let m=h.dot(s,h.cross(c,f,UX));if(Math.abs(1-m)>P.EPSILON2){let x=1/h.magnitudeSquared(c),b=h.dot(c,s)*x,T=h.multiplyByScalar(s,b,UX);c=h.normalize(h.subtract(c,T,e._up),e._up),h.clone(c,e.up),f=h.cross(s,c,e._right),h.clone(f,e.right)}}(a||p)&&(e._directionWC=F.multiplyByPointAsVector(g,s,e._directionWC),h.normalize(e._directionWC,e._directionWC)),(u||p)&&(e._upWC=F.multiplyByPointAsVector(g,c,e._upWC),h.normalize(e._upWC,e._upWC)),(d||p)&&(e._rightWC=F.multiplyByPointAsVector(g,f,e._rightWC),h.normalize(e._rightWC,e._rightWC)),(r||a||u||d||p)&&w0e(e)}function D0e(e,t){let n;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)?n=Math.atan2(t.y,t.x)-P.PI_OVER_TWO:n=Math.atan2(e.y,e.x)-P.PI_OVER_TWO,P.TWO_PI-P.zeroToTwoPi(n)}function I0e(e){return P.PI_OVER_TWO-P.acosClamped(e.z)}function P0e(e,t,n){let i=0;return P.equalsEpsilon(Math.abs(e.z),1,P.EPSILON3)||(i=Math.atan2(-n.z,t.z),i=P.zeroToTwoPi(i+P.TWO_PI)),i}var Kz=new F,Zz=new F;Object.defineProperties(Qt.prototype,{transform:{get:function(){return this._transform}},inverseTransform:{get:function(){return gc(this),this._invTransform}},viewMatrix:{get:function(){return gc(this),this._viewMatrix}},inverseViewMatrix:{get:function(){return gc(this),this._invViewMatrix}},positionCartographic:{get:function(){return gc(this),this._positionCartographic}},positionWC:{get:function(){return gc(this),this._positionWC}},directionWC:{get:function(){return gc(this),this._directionWC}},upWC:{get:function(){return gc(this),this._upWC}},rightWC:{get:function(){return gc(this),this._rightWC}},heading:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,Kz),n=Mt.eastNorthUpToFixedFrame(this.positionWC,e,Zz);this._setTransform(n);let i=D0e(this.direction,this.up);return this._setTransform(t),i}}},pitch:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,Kz),n=Mt.eastNorthUpToFixedFrame(this.positionWC,e,Zz);this._setTransform(n);let i=I0e(this.direction);return this._setTransform(t),i}}},roll:{get:function(){if(this._mode!==ne.MORPHING){let e=this._projection.ellipsoid,t=F.clone(this._transform,Kz),n=Mt.eastNorthUpToFixedFrame(this.positionWC,e,Zz);this._setTransform(n);let i=P0e(this.direction,this.up,this.right);return this._setTransform(t),i}}},moveStart:{get:function(){return this._moveStart}},moveEnd:{get:function(){return this._moveEnd}},changed:{get:function(){return this._changed}}});Qt.prototype.update=function(e){let t=!1;if(e!==this._mode&&(this._mode=e,this._modeChanged=e!==ne.MORPHING,t=this._mode===ne.SCENE2D),t){let n=this._max2Dfrustum=this.frustum.clone(),i=2,o=n.top/n.right;n.right=this._maxCoord.x*i,n.left=-n.right,n.top=o*n.right,n.bottom=-n.top}this._mode===ne.SCENE2D&&L0e(this,this.position)};var rft=new h,sft=new h,aft=new h;Qt.prototype._setTransform=function(e){let t=h.clone(this.positionWC,rft),n=h.clone(this.upWC,sft),i=h.clone(this.directionWC,aft);F.clone(e,this._transform),this._transformChanged=!0,gc(this);let o=this._actualInvTransform;F.multiplyByPoint(o,t,this.position),F.multiplyByPointAsVector(o,i,this.direction),F.multiplyByPointAsVector(o,n,this.up),h.cross(this.direction,this.up,this.right),gc(this)};var cft=new U,lft=new _n,uft=new h,fft=new h;function O0e(e){if(!F.equals(F.IDENTITY,e.transform))return h.magnitude(e.position);let t=e._scene,n=t.globe,i=cft;i.x=t.drawingBufferWidth/2,i.y=t.drawingBufferHeight/2;let o;if(l(n)){let a=e.getPickRay(i,lft);o=n.pickWorldCoordinates(a,t,!0,uft)}let r;t.pickPositionSupported&&(r=t.pickPositionWorldCoordinates(i,fft));let s;if(l(o)||l(r)){let a=l(r)?h.distance(r,e.positionWC):Number.POSITIVE_INFINITY,c=l(o)?h.distance(o,e.positionWC):Number.POSITIVE_INFINITY;s=Math.min(a,c)}else s=Math.max(e.positionCartographic.height,0);return s}Qt.prototype._adjustOrthographicFrustum=function(e){this.frustum instanceof an&&(!e&&this._positionCartographic.height<15e4||(this.frustum.width=O0e(this)))};var $z=new h,jX=new F,dft=new F,qX=new Le,YX=new $,R0e=new fe;function hft(e,t,n){let i=F.clone(e.transform,jX),o=Mt.eastNorthUpToFixedFrame(t,e._projection.ellipsoid,dft);e._setTransform(o),h.clone(h.ZERO,e.position),n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,qX),s=$.fromQuaternion(r,YX);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(i),e._adjustOrthographicFrustum(!0)}function mft(e,t,n,i){let o=F.clone(e.transform,jX);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let a=e._projection,c=a.ellipsoid.cartesianToCartographic(t,R0e);t=a.project(c,$z)}h.clone(t,e.position)}n.heading=n.heading-P.PI_OVER_TWO;let r=Le.fromHeadingPitchRoll(n,qX),s=$.fromQuaternion(r,YX);$.getColumn(s,0,e.direction),$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right),e._setTransform(o),e._adjustOrthographicFrustum(!0)}function pft(e,t,n,i){let o=F.clone(e.transform,jX);if(e._setTransform(F.IDENTITY),!h.equals(t,e.positionWC)){if(i){let c=e._projection,u=c.ellipsoid.cartesianToCartographic(t,R0e);t=c.project(u,$z)}U.clone(t,e.position);let r=-t.z*.5,s=-r,a=e.frustum;if(s>r){let c=a.top/a.right;a.right=s,a.left=r,a.top=a.right*c,a.bottom=-a.top}}if(e._scene.mapMode2D===Mu.ROTATE){n.heading=n.heading-P.PI_OVER_TWO,n.pitch=-P.PI_OVER_TWO,n.roll=0;let r=Le.fromHeadingPitchRoll(n,qX),s=$.fromQuaternion(r,YX);$.getColumn(s,2,e.up),h.cross(e.direction,e.up,e.right)}e._setTransform(o)}var _ft=new h,gft=new h,yft=new h;function M0e(e,t,n,i){let o=h.clone(n.direction,_ft),r=h.clone(n.up,gft);if(e._scene.mode===ne.SCENE3D){let a=e._projection.ellipsoid,c=Mt.eastNorthUpToFixedFrame(t,a,Kz),u=F.inverseTransformation(c,Zz);F.multiplyByPointAsVector(u,o,o),F.multiplyByPointAsVector(u,r,r)}let s=h.cross(o,r,yft);return i.heading=D0e(o,r),i.pitch=I0e(o),i.roll=P0e(o,r,s),i}var WX={destination:void 0,orientation:{direction:void 0,up:void 0,heading:void 0,pitch:void 0,roll:void 0},convert:void 0,endTransform:void 0},cS=new qa;Qt.prototype.setView=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.orientation,y.EMPTY_OBJECT),n=this._mode;if(n===ne.MORPHING)return;l(e.endTransform)&&this._setTransform(e.endTransform);let i=y(e.convert,!0),o=y(e.destination,h.clone(this.positionWC,$z));l(o)&&l(o.west)&&(o=this.getRectangleCameraCoordinates(o,$z),i=!1),l(t.direction)&&(t=M0e(this,o,t,WX.orientation)),cS.heading=y(t.heading,0),cS.pitch=y(t.pitch,-P.PI_OVER_TWO),cS.roll=y(t.roll,0),n===ne.SCENE3D?hft(this,o,cS):n===ne.SCENE2D?pft(this,o,cS,i):mft(this,o,cS,i)};var xft=new h;Qt.prototype.flyHome=function(e){let t=this._mode;if(t===ne.MORPHING&&this._scene.completeMorph(),t===ne.SCENE2D)this.flyTo({destination:Qt.DEFAULT_VIEW_RECTANGLE,duration:e,endTransform:F.IDENTITY});else if(t===ne.SCENE3D){let n=this.getRectangleCameraCoordinates(Qt.DEFAULT_VIEW_RECTANGLE),i=h.magnitude(n);i+=i*Qt.DEFAULT_VIEW_FACTOR,h.normalize(n,n),h.multiplyByScalar(n,i,n),this.flyTo({destination:n,duration:e,endTransform:F.IDENTITY})}else if(t===ne.COLUMBUS_VIEW){let n=this._projection.ellipsoid.maximumRadius,i=new h(0,-1,1);i=h.multiplyByScalar(h.normalize(i,i),5*n,i),this.flyTo({destination:i,duration:e,orientation:{heading:0,pitch:-Math.acos(h.normalize(i,xft).z),roll:0},endTransform:F.IDENTITY,convert:!1})}};Qt.prototype.worldToCameraCoordinates=function(e,t){return l(t)||(t=new oe),gc(this),F.multiplyByVector(this._actualInvTransform,e,t)};Qt.prototype.worldToCameraCoordinatesPoint=function(e,t){return l(t)||(t=new h),gc(this),F.multiplyByPoint(this._actualInvTransform,e,t)};Qt.prototype.worldToCameraCoordinatesVector=function(e,t){return l(t)||(t=new h),gc(this),F.multiplyByPointAsVector(this._actualInvTransform,e,t)};Qt.prototype.cameraToWorldCoordinates=function(e,t){return l(t)||(t=new oe),gc(this),F.multiplyByVector(this._actualTransform,e,t)};Qt.prototype.cameraToWorldCoordinatesPoint=function(e,t){return l(t)||(t=new h),gc(this),F.multiplyByPoint(this._actualTransform,e,t)};Qt.prototype.cameraToWorldCoordinatesVector=function(e,t){return l(t)||(t=new h),gc(this),F.multiplyByPointAsVector(this._actualTransform,e,t)};function L0e(e,t){let n=e._scene.mapMode2D===Mu.ROTATE,i=e._maxCoord.x,o=e._maxCoord.y,r,s;n?(s=i,r=-s):(s=t.x-i*2,r=t.x+i*2),t.x>i&&(t.x=s),t.x<-i&&(t.x=r),t.y>o&&(t.y=o),t.y<-o&&(t.y=-o)}var b0e=new h;Qt.prototype.move=function(e,t){let n=this.position;h.multiplyByScalar(e,t,b0e),h.add(n,b0e,n),this._mode===ne.SCENE2D&&L0e(this,n),this._adjustOrthographicFrustum(!0)};Qt.prototype.moveForward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?Qz(this,e):this.move(this.direction,e)};Qt.prototype.moveBackward=function(e){e=y(e,this.defaultMoveAmount),this._mode===ne.SCENE2D?Qz(this,-e):this.move(this.direction,-e)};Qt.prototype.moveUp=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,e)};Qt.prototype.moveDown=function(e){e=y(e,this.defaultMoveAmount),this.move(this.up,-e)};Qt.prototype.moveRight=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,e)};Qt.prototype.moveLeft=function(e){e=y(e,this.defaultMoveAmount),this.move(this.right,-e)};Qt.prototype.lookLeft=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,-e)};Qt.prototype.lookRight=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.up,e)};Qt.prototype.lookUp=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,-e)};Qt.prototype.lookDown=function(e){e=y(e,this.defaultLookAmount),this._mode!==ne.SCENE2D&&this.look(this.right,e)};var bft=new Le,Tft=new $;Qt.prototype.look=function(e,t){let n=y(t,this.defaultLookAmount),i=Le.fromAxisAngle(e,-n,bft),o=$.fromQuaternion(i,Tft),r=this.direction,s=this.up,a=this.right;$.multiplyByVector(o,r,r),$.multiplyByVector(o,s,s),$.multiplyByVector(o,a,a)};Qt.prototype.twistLeft=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,e)};Qt.prototype.twistRight=function(e){e=y(e,this.defaultLookAmount),this.look(this.direction,-e)};var Cft=new Le,Aft=new $;Qt.prototype.rotate=function(e,t){let n=y(t,this.defaultRotateAmount),i=Le.fromAxisAngle(e,-n,Cft),o=$.fromQuaternion(i,Aft);$.multiplyByVector(o,this.position,this.position),$.multiplyByVector(o,this.direction,this.direction),$.multiplyByVector(o,this.up,this.up),h.cross(this.direction,this.up,this.right),h.cross(this.right,this.direction,this.up),this._adjustOrthographicFrustum(!1)};Qt.prototype.rotateDown=function(e){e=y(e,this.defaultRotateAmount),N0e(this,e)};Qt.prototype.rotateUp=function(e){e=y(e,this.defaultRotateAmount),N0e(this,-e)};var Eft=new h,Sft=new h,vft=new h,T0e=new h;function N0e(e,t){let n=e.position;if(l(e.constrainedAxis)&&!h.equalsEpsilon(e.position,h.ZERO,P.EPSILON2)){let i=h.normalize(n,Eft),o=h.equalsEpsilon(i,e.constrainedAxis,P.EPSILON2),r=h.equalsEpsilon(i,h.negate(e.constrainedAxis,T0e),P.EPSILON2);if(!o&&!r){let s=h.normalize(e.constrainedAxis,Sft),a=h.dot(i,s),c=P.acosClamped(a);t>0&&t>c&&(t=c-P.EPSILON4),a=h.dot(i,h.negate(s,T0e)),c=P.acosClamped(a),t<0&&-t>c&&(t=-c+P.EPSILON4);let u=h.cross(s,i,vft);e.rotate(u,t)}else(o&&t<0||r&&t>0)&&e.rotate(e.right,t)}else e.rotate(e.right,t)}Qt.prototype.rotateRight=function(e){e=y(e,this.defaultRotateAmount),F0e(this,-e)};Qt.prototype.rotateLeft=function(e){e=y(e,this.defaultRotateAmount),F0e(this,e)};function F0e(e,t){l(e.constrainedAxis)?e.rotate(e.constrainedAxis,t):e.rotate(e.up,t)}function Qz(e,t){let n=e.frustum,i;if(t=t*.5,Math.abs(n.top)+Math.abs(n.bottom)>Math.abs(n.left)+Math.abs(n.right)){let o=n.top-t,r=n.bottom+t,s=e._maxCoord.y;e._scene.mapMode2D===Mu.ROTATE&&(s*=e.maximumZoomFactor),r>s&&(r=s,o=-s),o<=r&&(o=1,r=-1),i=n.right/n.top,n.top=o,n.bottom=r,n.right=n.top*i,n.left=-n.right}else{let o=n.right-t,r=n.left+t,s=e._maxCoord.x;e._scene.mapMode2D===Mu.ROTATE&&(s*=e.maximumZoomFactor),o>s&&(o=s,r=-s),o<=r&&(o=1,r=-1),i=n.top/n.right,n.right=o,n.left=r,n.top=n.right*i,n.bottom=-n.top}}function B0e(e,t){e.move(e.direction,t)}Qt.prototype.zoomIn=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?Qz(this,e):B0e(this,e)};Qt.prototype.zoomOut=function(e){e=y(e,this.defaultZoomAmount),this._mode===ne.SCENE2D?Qz(this,-e):B0e(this,-e)};Qt.prototype.getMagnitude=function(){if(this._mode===ne.SCENE3D)return h.magnitude(this.position);if(this._mode===ne.COLUMBUS_VIEW)return Math.abs(this.position.z);if(this._mode===ne.SCENE2D)return Math.max(this.frustum.right-this.frustum.left,this.frustum.top-this.frustum.bottom)};var wft=new F;Qt.prototype.lookAt=function(e,t){let n=this._scene,i=y(n.ellipsoid,ee.default),o=Mt.eastNorthUpToFixedFrame(e,i,wft);this.lookAtTransform(o,t)};var Dft=new h,Ift=new Le,Pft=new Le,Oft=new $;function k0e(e,t,n){t=P.clamp(t,-P.PI_OVER_TWO,P.PI_OVER_TWO),e=P.zeroToTwoPi(e)-P.PI_OVER_TWO;let i=Le.fromAxisAngle(h.UNIT_Y,-t,Ift),o=Le.fromAxisAngle(h.UNIT_Z,-e,Pft),r=Le.multiply(o,i,o),s=$.fromQuaternion(r,Oft),a=h.clone(h.UNIT_X,Dft);return $.multiplyByVector(s,a,a),h.negate(a,a),h.multiplyByScalar(a,n,a),a}Qt.prototype.lookAtTransform=function(e,t){if(this._setTransform(e),!l(t))return;let n;if(l(t.heading)?n=k0e(t.heading,t.pitch,t.range):n=t,this._mode===ne.SCENE2D){U.clone(U.ZERO,this.position),h.negate(n,this.up),this.up.z=0,h.magnitudeSquared(this.up)<P.EPSILON10&&h.clone(h.UNIT_Y,this.up),h.normalize(this.up,this.up),this._setTransform(F.IDENTITY),h.negate(h.UNIT_Z,this.direction),h.cross(this.direction,this.up,this.right),h.normalize(this.right,this.right);let i=this.frustum,o=i.top/i.right;i.right=h.magnitude(n)*.5,i.left=-i.right,i.top=o*i.right,i.bottom=-i.top,this._setTransform(e);return}h.clone(n,this.position),h.negate(this.position,this.direction),h.normalize(this.direction,this.direction),h.cross(this.direction,h.UNIT_Z,this.right),h.magnitudeSquared(this.right)<P.EPSILON10&&h.clone(h.UNIT_X,this.right),h.normalize(this.right,this.right),h.cross(this.right,this.direction,this.up),h.normalize(this.up,this.up),this._adjustOrthographicFrustum(!0)};var tP=new fe,Rft=new fe,Mft=new h,Lft=new h,Nft=new h,Fft=new h,Bft=new h,kft=new h,Vft=new h,zX=new h,Uft={direction:new h,right:new h,up:new h},C0e;function _c(e,t,n,i){return Math.abs(h.dot(t,n))/i-h.dot(e,n)}function V0e(e,t,n,i){let o=e._projection.ellipsoid,r=i?e:Uft,{north:s,south:a,west:c}=t,{east:u}=t;c>u&&(u+=P.TWO_PI);let f=(c+u)*.5,d;if(a<-P.PI_OVER_TWO+P.RADIANS_PER_DEGREE&&s>P.PI_OVER_TWO-P.RADIANS_PER_DEGREE)d=0;else{let M=tP;M.longitude=f,M.latitude=s,M.height=0;let N=Rft;N.longitude=f,N.latitude=a,N.height=0;let _=C0e;(!l(_)||_.ellipsoid!==o)&&(C0e=_=new J_(void 0,void 0,o)),_.setEndPoints(M,N),d=_.interpolateUsingFraction(.5,tP).latitude}let p=tP;p.longitude=f,p.latitude=d,p.height=0;let g=o.cartographicToCartesian(p,Vft),m=tP;m.longitude=u,m.latitude=s;let x=o.cartographicToCartesian(m,Mft);m.longitude=c;let b=o.cartographicToCartesian(m,Nft);m.longitude=f;let T=o.cartographicToCartesian(m,Bft);m.latitude=a;let C=o.cartographicToCartesian(m,kft);m.longitude=u;let A=o.cartographicToCartesian(m,Fft);m.longitude=c;let S=o.cartographicToCartesian(m,Lft);h.subtract(b,g,b),h.subtract(A,g,A),h.subtract(x,g,x),h.subtract(S,g,S),h.subtract(T,g,T),h.subtract(C,g,C);let v=o.geodeticSurfaceNormal(g,r.direction);h.negate(v,v);let D=h.cross(v,h.UNIT_Z,r.right);h.normalize(D,D);let R=h.cross(D,v,r.up),O;if(e.frustum instanceof an){let M=Math.max(h.distance(x,b),h.distance(A,S)),N=Math.max(h.distance(x,A),h.distance(b,S)),_,E,w=e.frustum._offCenterFrustum,I=w.right/w.top,L=N*I;M>L?(_=M,E=_/I):(E=N,_=L),O=Math.max(_,E)}else{let M=Math.tan(e.frustum.fovy*.5),N=e.frustum.aspectRatio*M;if(O=Math.max(_c(v,R,b,M),_c(v,R,A,M),_c(v,R,x,M),_c(v,R,S,M),_c(v,R,T,M),_c(v,R,C,M),_c(v,D,b,N),_c(v,D,A,N),_c(v,D,x,N),_c(v,D,S,N),_c(v,D,T,N),_c(v,D,C,N)),a<0&&s>0){let _=tP;_.longitude=c,_.latitude=0,_.height=0;let E=o.cartographicToCartesian(_,zX);h.subtract(E,g,E),O=Math.max(O,_c(v,R,E,M),_c(v,D,E,N)),_.longitude=u,E=o.cartographicToCartesian(_,zX),h.subtract(E,g,E),O=Math.max(O,_c(v,R,E,M),_c(v,D,E,N))}}return h.add(g,h.multiplyByScalar(v,-O,zX),n)}var zft=new fe,Hft=new h,Gft=new h;function Wft(e,t,n){let i=e._projection;t.west>t.east&&(t=ae.MAX_VALUE);let o=e._actualTransform,r=e._actualInvTransform,s=zft;s.longitude=t.east,s.latitude=t.north;let a=i.project(s,Hft);F.multiplyByPoint(o,a,a),F.multiplyByPoint(r,a,a),s.longitude=t.west,s.latitude=t.south;let c=i.project(s,Gft);if(F.multiplyByPoint(o,c,c),F.multiplyByPoint(r,c,c),n.x=(a.x-c.x)*.5+c.x,n.y=(a.y-c.y)*.5+c.y,l(e.frustum.fovy)){let u=Math.tan(e.frustum.fovy*.5),f=e.frustum.aspectRatio*u;n.z=Math.max((a.x-c.x)/f,(a.y-c.y)/u)*.5}else{let u=a.x-c.x,f=a.y-c.y;n.z=Math.max(u,f)}return n}var jft=new fe,qft=new h,Yft=new h;function Xft(e,t,n){let i=e._projection,o=t.east;t.west>t.east&&(e._scene.mapMode2D===Mu.INFINITE_SCROLL?o+=P.TWO_PI:(t=ae.MAX_VALUE,o=t.east));let r=jft;r.longitude=o,r.latitude=t.north;let s=i.project(r,qft);r.longitude=t.west,r.latitude=t.south;let a=i.project(r,Yft),c=Math.abs(s.x-a.x)*.5,u=Math.abs(s.y-a.y)*.5,f,d,p=e.frustum.right/e.frustum.top,g=u*p;return c>g?(f=c,d=f/p):(d=u,f=g),u=Math.max(2*f,2*d),n.x=(s.x-a.x)*.5+a.x,n.y=(s.y-a.y)*.5+a.y,r=i.unproject(n,r),r.height=u,n=i.project(r,n),n}Qt.prototype.getRectangleCameraCoordinates=function(e,t){let n=this._mode;if(l(t)||(t=new h),n===ne.SCENE3D)return V0e(this,e,t);if(n===ne.COLUMBUS_VIEW)return Wft(this,e,t);if(n===ne.SCENE2D)return Xft(this,e,t)};var Kft=new _n;function Zft(e,t,n,i){n=y(n,ee.default);let o=e.getPickRay(t,Kft),r=ti.rayEllipsoid(o,n);if(!r)return;let s=r.start>0?r.start:r.stop;return _n.getPoint(o,s,i)}var $ft=new _n;function Qft(e,t,n,i){let r=e.getPickRay(t,$ft).origin;r=h.fromElements(r.y,r.z,0,r);let s=n.unproject(r);if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO))return n.ellipsoid.cartographicToCartesian(s,i)}var Jft=new _n;function edt(e,t,n,i){let o=e.getPickRay(t,Jft),r=-o.origin.x/o.direction.x;_n.getPoint(o,r,i);let s=n.unproject(new h(i.y,i.z,0));if(!(s.latitude<-P.PI_OVER_TWO||s.latitude>P.PI_OVER_TWO||s.longitude<-Math.PI||s.longitude>Math.PI))return n.ellipsoid.cartographicToCartesian(s,i)}Qt.prototype.pickEllipsoid=function(e,t,n){let i=this._scene.canvas;if(!(i.clientWidth===0||i.clientHeight===0)){if(l(n)||(n=new h),t=y(t,ee.default),this._mode===ne.SCENE3D)n=Zft(this,e,t,n);else if(this._mode===ne.SCENE2D)n=Qft(this,e,this._projection,n);else if(this._mode===ne.COLUMBUS_VIEW)n=edt(this,e,this._projection,n);else return;return n}};var tdt=new h,ndt=new h,idt=new h;function odt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=Math.tan(e.frustum.fovy*.5),a=e.frustum.aspectRatio*s,c=e.frustum.near,u=2/o*t.x-1,f=2/r*(r-t.y)-1,d=e.positionWC;h.clone(d,n.origin);let p=h.multiplyByScalar(e.directionWC,c,tdt);h.add(d,p,p);let g=h.multiplyByScalar(e.rightWC,u*c*a,ndt),m=h.multiplyByScalar(e.upWC,f*c*s,idt),x=h.add(p,g,n.direction);return h.add(x,m,x),h.subtract(x,d,x),h.normalize(x,x),n}var Yz=new h;function rdt(e,t,n){let i=e._scene.canvas,o=i.clientWidth,r=i.clientHeight,s=e.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2/o*t.x-1;c*=(s.right-s.left)*.5;let u=2/r*(r-t.y)-1;u*=(s.top-s.bottom)*.5;let f=n.origin;return h.clone(e.position,f),h.multiplyByScalar(e.right,c,Yz),h.add(Yz,f,f),h.multiplyByScalar(e.up,u,Yz),h.add(Yz,f,f),h.clone(e.directionWC,n.direction),(e._mode===ne.COLUMBUS_VIEW||e._mode===ne.SCENE2D)&&h.fromElements(n.origin.z,n.origin.x,n.origin.y,n.origin),n}Qt.prototype.getPickRay=function(e,t){l(t)||(t=new _n);let n=this._scene.canvas;if(n.clientWidth<=0||n.clientHeight<=0)return;let i=this.frustum;return l(i.aspectRatio)&&l(i.fov)&&l(i.near)?odt(this,e,t):rdt(this,e,t)};var sdt=new h,adt=new h;Qt.prototype.distanceToBoundingSphere=function(e){let t=h.subtract(this.positionWC,e.center,sdt),n=h.multiplyByScalar(this.directionWC,h.dot(t,this.directionWC),adt);return Math.max(0,h.magnitude(n)-e.radius)};var cdt=new U;Qt.prototype.getPixelSize=function(e,t,n){let i=this.distanceToBoundingSphere(e),o=this.frustum.getPixelDimensions(t,n,i,this._scene.pixelRatio,cdt);return Math.max(o.x,o.y)};function ldt(e,t,n,i,o,r){let s=h.clone(t);n.y>i?s.y-=n.y-i:n.y<-i&&(s.y+=-i-n.y),n.z>o?s.z-=n.z-o:n.z<-o&&(s.z+=-o-n.z);function a(c){let u=h.lerp(t,s,c.time,new h);e.worldToCameraCoordinatesPoint(u,e.position)}return{easingFunction:Jr.EXPONENTIAL_OUT,startObject:{time:0},stopObject:{time:1},duration:r,update:a}}var udt=new h,A0e=new h,fdt=new h,ddt=new h;function hdt(e,t){let n=e.position,i=e.direction,o=e.worldToCameraCoordinatesVector(h.UNIT_X,udt),r=-h.dot(o,n)/h.dot(o,i),s=h.add(n,h.multiplyByScalar(i,r,A0e),A0e);e.cameraToWorldCoordinatesPoint(s,s),n=e.cameraToWorldCoordinatesPoint(e.position,fdt);let a=Math.tan(e.frustum.fovy*.5),c=e.frustum.aspectRatio*a,u=h.magnitude(h.subtract(n,s,ddt)),f=c*u,d=a*u,p=e._maxCoord.x,g=e._maxCoord.y,m=Math.max(f-p,p),x=Math.max(d-g,g);if(n.z<-m||n.z>m||n.y<-x||n.y>x){let b=s.y<-m||s.y>m,T=s.z<-x||s.z>x;if(b||T)return ldt(e,n,s,m,x,t)}}Qt.prototype.createCorrectPositionTween=function(e){if(this._mode===ne.COLUMBUS_VIEW)return hdt(this,e)};var mdt=new h,Xs={destination:void 0,heading:void 0,pitch:void 0,roll:void 0,duration:void 0,complete:void 0,cancel:void 0,endTransform:void 0,maximumHeight:void 0,easingFunction:void 0};Qt.prototype.cancelFlight=function(){l(this._currentFlight)&&(this._currentFlight.cancelTween(),this._currentFlight=void 0)};Qt.prototype.completeFlight=function(){if(l(this._currentFlight)){this._currentFlight.cancelTween();let e={destination:void 0,orientation:{heading:void 0,pitch:void 0,roll:void 0}};e.destination=Xs.destination,e.orientation.heading=Xs.heading,e.orientation.pitch=Xs.pitch,e.orientation.roll=Xs.roll,this.setView(e),l(this._currentFlight.complete)&&this._currentFlight.complete(),this._currentFlight=void 0}};Qt.prototype.flyTo=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.destination;if(this._mode===ne.MORPHING)return;this.cancelFlight();let i=t instanceof ae;i&&(t=this.getRectangleCameraCoordinates(t,mdt));let o=y(e.orientation,y.EMPTY_OBJECT);if(l(o.direction)&&(o=M0e(this,t,o,WX.orientation)),l(e.duration)&&e.duration<=0){let f=WX;f.destination=e.destination,f.orientation.heading=o.heading,f.orientation.pitch=o.pitch,f.orientation.roll=o.roll,f.convert=e.convert,f.endTransform=e.endTransform,this.setView(f),typeof e.complete=="function"&&e.complete();return}let r=this,s;Xs.destination=t,Xs.heading=o.heading,Xs.pitch=o.pitch,Xs.roll=o.roll,Xs.duration=e.duration,Xs.complete=function(){s===r._currentFlight&&(r._currentFlight=void 0),l(e.complete)&&e.complete()},Xs.cancel=e.cancel,Xs.endTransform=e.endTransform,Xs.convert=i?!1:e.convert,Xs.maximumHeight=e.maximumHeight,Xs.pitchAdjustHeight=e.pitchAdjustHeight,Xs.flyOverLongitude=e.flyOverLongitude,Xs.flyOverLongitudeWeight=e.flyOverLongitudeWeight,Xs.easingFunction=e.easingFunction;let a=this._scene,c=jz.createTween(a,Xs);if(c.duration===0){typeof c.complete=="function"&&c.complete();return}s=a.tweens.add(c),this._currentFlight=s;let u=this._scene.preloadFlightCamera;this._mode!==ne.SCENE2D&&(l(u)||(u=Qt.clone(this)),u.setView({destination:t,orientation:o}),this._scene.preloadFlightCullingVolume=u.frustum.computeCullingVolume(u.positionWC,u.directionWC,u.upWC))};function pdt(e,t){let n=e.frustum,i=Math.tan(n.fovy*.5),o=n.aspectRatio*i;return Math.max(t/o,t/i)}function _dt(e,t){let n=e.frustum,i=n.offCenterFrustum;l(i)&&(n=i);let o,r,s=n.right/n.top,a=t*s;return t>a?(o=t,r=o/s):(r=t,o=a),Math.max(o,r)*1.5}var gdt=100;function U0e(e,t,n){n=jd.clone(l(n)?n:Qt.DEFAULT_OFFSET);let i=e._scene.screenSpaceCameraController.minimumZoomDistance,o=e._scene.screenSpaceCameraController.maximumZoomDistance,r=n.range;if(!l(r)||r===0){let s=t.radius;s===0?n.range=gdt:e.frustum instanceof an||e._mode===ne.SCENE2D?n.range=_dt(e,s):n.range=pdt(e,s),n.range=P.clamp(n.range,i,o)}return n}Qt.prototype.viewBoundingSphere=function(e,t){t=U0e(this,e,t),this.lookAt(e.center,t)};var ydt=new F,xdt=new h,bdt=new h,Tdt=new h,Cdt=new h,Adt=new oe,Edt=new Le,Sdt=new $;Qt.prototype.flyToBoundingSphere=function(e,t){t=y(t,y.EMPTY_OBJECT);let n=this._mode===ne.SCENE2D||this._mode===ne.COLUMBUS_VIEW;this._setTransform(F.IDENTITY);let i=U0e(this,e,t.offset),o;n?o=h.multiplyByScalar(h.UNIT_Z,i.range,xdt):o=k0e(i.heading,i.pitch,i.range);let r=this._scene,s=y(r.ellipsoid,ee.default),a=Mt.eastNorthUpToFixedFrame(e.center,s,ydt);F.multiplyByPoint(a,o,o);let c,u;if(!n){if(c=h.subtract(e.center,o,bdt),h.normalize(c,c),u=F.multiplyByPointAsVector(a,h.UNIT_Z,Tdt),1-Math.abs(h.dot(c,u))<P.EPSILON6){let d=Le.fromAxisAngle(c,i.heading,Edt),p=$.fromQuaternion(d,Sdt);h.fromCartesian4(F.getColumn(a,1,Adt),u),$.multiplyByVector(p,u,u)}let f=h.cross(c,u,Cdt);h.cross(f,c,u),h.normalize(u,u)}this.flyTo({destination:o,orientation:{direction:c,up:u},duration:t.duration,complete:t.complete,cancel:t.cancel,endTransform:t.endTransform,maximumHeight:t.maximumHeight,easingFunction:t.easingFunction,flyOverLongitude:t.flyOverLongitude,flyOverLongitudeWeight:t.flyOverLongitudeWeight,pitchAdjustHeight:t.pitchAdjustHeight})};var E0e=new h,S0e=new h,HX=new h,v0e=new h,nP=[new h,new h,new h,new h];function vdt(e,t){let n=t.radii,i=e.positionWC,o=h.multiplyComponents(t.oneOverRadii,i,E0e),r=h.magnitude(o),s=h.normalize(o,S0e),a,c;h.equalsEpsilon(s,h.UNIT_Z,P.EPSILON10)?(a=new h(0,1,0),c=new h(0,0,1)):(a=h.normalize(h.cross(h.UNIT_Z,s,HX),HX),c=h.normalize(h.cross(s,a,v0e),v0e));let u=Math.sqrt(h.magnitudeSquared(o)-1),f=h.multiplyByScalar(s,1/r,E0e),d=u/r,p=h.multiplyByScalar(a,d,S0e),g=h.multiplyByScalar(c,d,HX),m=h.add(f,g,nP[0]);h.subtract(m,p,m),h.multiplyComponents(n,m,m);let x=h.subtract(f,g,nP[1]);h.subtract(x,p,x),h.multiplyComponents(n,x,x);let b=h.subtract(f,g,nP[2]);h.add(b,p,b),h.multiplyComponents(n,b,b);let T=h.add(f,g,nP[3]);return h.add(T,p,T),h.multiplyComponents(n,T,T),nP}var GX=new U,wdt=new h,f0=[new fe,new fe,new fe,new fe];function Xz(e,t,n,i,o,r){GX.x=e,GX.y=t;let s=i.pickEllipsoid(GX,o,wdt);return l(s)?(f0[n]=o.cartesianToCartographic(s,f0[n]),1):(f0[n]=o.cartesianToCartographic(r[n],f0[n]),0)}Qt.prototype.computeViewRectangle=function(e,t){e=y(e,ee.default);let n=this.frustum.computeCullingVolume(this.positionWC,this.directionWC,this.upWC),i=new ce(h.ZERO,e.maximumRadius);if(n.computeVisibility(i)===jt.OUTSIDE)return;let r=this._scene.canvas,s=r.clientWidth,a=r.clientHeight,c=0,u=vdt(this,e);if(c+=Xz(0,0,0,this,e,u),c+=Xz(0,a,1,this,e,u),c+=Xz(s,a,2,this,e,u),c+=Xz(s,0,3,this,e,u),c<2)return ae.MAX_VALUE;t=ae.fromCartographicArray(f0,t);let f=0,d=f0[3].longitude;for(let p=0;p<4;++p){let g=f0[p].longitude,m=Math.abs(g-d);m>P.PI?f+=P.TWO_PI-m:f+=m,d=g}return P.equalsEpsilon(Math.abs(f),P.TWO_PI,P.EPSILON9)&&(t.west=-P.PI,t.east=P.PI,f0[0].latitude>=0?t.north=P.PI_OVER_TWO:t.south=-P.PI_OVER_TWO),t};Qt.prototype.switchToPerspectiveFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof Di)return;let e=this._scene;this.frustum=new Di,this.frustum.aspectRatio=e.drawingBufferWidth/e.drawingBufferHeight,this.frustum.fov=P.toRadians(60)};Qt.prototype.switchToOrthographicFrustum=function(){if(this._mode===ne.SCENE2D||this.frustum instanceof an)return;let e=O0e(this),t=this._scene;this.frustum=new an,this.frustum.aspectRatio=t.drawingBufferWidth/t.drawingBufferHeight,this.frustum.width=e};Qt.clone=function(e,t){return l(t)||(t=new Qt(e._scene)),h.clone(e.position,t.position),h.clone(e.direction,t.direction),h.clone(e.up,t.up),h.clone(e.right,t.right),F.clone(e._transform,t.transform),t._transformChanged=!0,t.frustum=e.frustum.clone(),t};var co=Qt;function Ddt(e){this.pass=e.pass,this.commandList=e.commandList,this.camera=e.camera,this.cullingVolume=e.cullingVolume,this.ready=!1}var ah=Ddt;var j0e=Sr(jl(),1),z0e=576,Idt=100,iP="#ffffff",Jz="#48b";function q0e(e,t){this.credit=e,this.count=y(t,1)}function Pdt(e,t){let n=e.length;for(let i=0;i<n;i++){let o=e[i];if(Et.equals(o,t))return!0}return!1}function Odt(e){let t=e._previousCesiumCredit,n=e._currentCesiumCredit;Et.equals(n,t)||(l(t)&&e._cesiumCreditContainer.removeChild(t.element),l(n)&&e._cesiumCreditContainer.appendChild(n.element),e._previousCesiumCredit=n)}var Y0e="cesium-credit-delimiter";function H0e(e){let t=document.createElement("span");return t.textContent=e,t.className=Y0e,t}function G0e(e,t){if(l(t)){let n=document.createElement(t);n._creditId=e._creditId,n.appendChild(e),e=n}return e}function W0e(e,t,n,i){let o=e.childNodes,r=-1;t.sort(function(s,a){return a.count-s.count});for(let s=0;s<t.length;++s){let a=t[s].credit;if(l(a)){if(r=s,l(n)&&(r*=2,s>0)){let u=r-1;if(o.length<=u)e.appendChild(H0e(n));else{let f=o[u];f.className!==Y0e&&e.replaceChild(H0e(n),f)}}let c=a.element;if(o.length<=r)e.appendChild(G0e(c,i));else{let u=o[r];u._creditId!==a._id&&e.replaceChild(G0e(c,i),u)}}}for(++r;r<o.length;)e.removeChild(o[r])}function Rdt(e){let t=e._lightboxCredits,n=e.viewport.clientWidth,i=e.viewport.clientHeight;n!==e._lastViewportWidth&&(n<z0e?(t.className="cesium-credit-lightbox cesium-credit-lightbox-mobile",t.style.marginTop="0"):(t.className="cesium-credit-lightbox cesium-credit-lightbox-expanded",t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`),e._lastViewportWidth=n),n>=z0e&&i!==e._lastViewportHeight&&(t.style.marginTop=`${Math.floor((i-t.clientHeight)*.5)}px`,e._lastViewportHeight=i)}function Mdt(e){let t=` +.cesium-credit-lightbox-overlay { + display: none; + z-index: 1; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(80, 80, 80, 0.8); +} + +.cesium-credit-lightbox { + background-color: #303336; + color: ${iP}; + position: relative; + min-height: ${Idt}px; + margin: auto; +} +.cesium-credit-lightbox > ul > li a, +.cesium-credit-lightbox > ul > li a:visited, +.cesium-credit-wrapper a, +.cesium-credit-wrapper a:visited { + color: ${iP}; +} +.cesium-credit-lightbox > ul > li a:hover { + color: ${Jz}; +} +.cesium-credit-lightbox.cesium-credit-lightbox-expanded { + border: 1px solid #444; + border-radius: 5px; + max-width: 370px; +} +.cesium-credit-lightbox.cesium-credit-lightbox-mobile { + height: 100%; + width: 100%; +} +.cesium-credit-lightbox-title { + padding: 20px 20px 0 20px; +} +.cesium-credit-lightbox-close { + font-size: 18pt; + cursor: pointer; + position: absolute; + top: 0; + right: 6px; + color: ${iP}; +} +.cesium-credit-lightbox-close:hover { + color: ${Jz}; +} +.cesium-credit-lightbox > ul { + margin: 0; + padding: 12px 20px 12px 40px; + font-size: 13px; +} +.cesium-credit-lightbox > ul > li { + padding-bottom: 6px; +} +.cesium-credit-lightbox > ul > li * { + padding: 0; + margin: 0; +} + +.cesium-credit-expand-link { + padding-left: 5px; + cursor: pointer; + text-decoration: underline; + color: ${iP}; +} +.cesium-credit-expand-link:hover { + color: ${Jz}; +} + +.cesium-credit-text { + color: ${iP}; +} + +.cesium-credit-delimiter { + padding: 0 5px; +} + +.cesium-credit-textContainer *, +.cesium-credit-logoContainer * { + display: inline; +} + +.cesium-credit-textContainer a:hover { + color: ${Jz} +} + +.cesium-credit-textContainer .cesium-credit-wrapper:first-of-type { + padding-left: 5px; +} +`;function n(r){if(r.shadowRoot)return r.shadowRoot;if(r.getRootNode){let s=r.getRootNode();if(s instanceof ShadowRoot)return s}}let i=y(n(e),document.head),o=document.createElement("style");o.innerHTML=t,i.appendChild(o)}function ur(e,t,n){let i=this;n=y(n,document.body);let o=document.createElement("div");o.className="cesium-credit-lightbox-overlay",n.appendChild(o);let r=document.createElement("div");r.className="cesium-credit-lightbox",o.appendChild(r);function s(m){r.contains(m.target)||i.hideLightbox()}o.addEventListener("click",s,!1);let a=document.createElement("div");a.className="cesium-credit-lightbox-title",a.textContent="Data provided by:",r.appendChild(a);let c=document.createElement("a");c.onclick=this.hideLightbox.bind(this),c.innerHTML="×",c.className="cesium-credit-lightbox-close",r.appendChild(c);let u=document.createElement("ul");r.appendChild(u);let f=document.createElement("div");f.className="cesium-credit-logoContainer",f.style.display="inline",e.appendChild(f);let d=document.createElement("div");d.className="cesium-credit-textContainer",d.style.display="inline",e.appendChild(d);let p=document.createElement("a");p.className="cesium-credit-expand-link",p.onclick=this.showLightbox.bind(this),p.textContent="Data attribution",e.appendChild(p),Mdt(e);let g=Et.clone(ur.cesiumCredit);this._delimiter=y(t,"\u2022"),this._screenContainer=d,this._cesiumCreditContainer=f,this._lastViewportHeight=void 0,this._lastViewportWidth=void 0,this._lightboxCredits=r,this._creditList=u,this._lightbox=o,this._hideLightbox=s,this._expandLink=p,this._expanded=!1,this._staticCredits=[],this._cesiumCredit=g,this._previousCesiumCredit=void 0,this._currentCesiumCredit=g,this._creditDisplayElementPool=[],this._creditDisplayElementIndex=0,this._currentFrameCredits={screenCredits:new vt,lightboxCredits:new vt},this._defaultCredit=void 0,this.viewport=n,this.container=e}function X0e(e,t,n,i){i=y(i,1);let o=t.get(n.id);if(l(o))o.count<Number.MAX_VALUE&&(o.count+=i);else{let r=e._creditDisplayElementPool,s=e._creditDisplayElementPoolIndex;s<r.length?(o=r[s],o.credit=n,o.count=i):(o=new q0e(n,i),r.push(o)),++e._creditDisplayElementPoolIndex,t.set(n.id,o)}}ur.prototype.addCreditToNextFrame=function(e){if(e.isIon()){l(this._defaultCredit)||(this._defaultCredit=Et.clone(K0e())),this._currentCesiumCredit=this._defaultCredit;return}let t;e.showOnScreen?t=this._currentFrameCredits.screenCredits:t=this._currentFrameCredits.lightboxCredits,X0e(this,t,e)};ur.prototype.addStaticCredit=function(e){let t=this._staticCredits;Pdt(t,e)||t.push(e)};ur.prototype.removeStaticCredit=function(e){let t=this._staticCredits,n=t.indexOf(e);n!==-1&&t.splice(n,1)};ur.prototype.showLightbox=function(){this._lightbox.style.display="block",this._expanded=!0};ur.prototype.hideLightbox=function(){this._lightbox.style.display="none",this._expanded=!1};ur.prototype.update=function(){this._expanded&&Rdt(this)};ur.prototype.beginFrame=function(){let e=this._currentFrameCredits;this._creditDisplayElementPoolIndex=0;let t=e.screenCredits,n=e.lightboxCredits;t.removeAll(),n.removeAll();let i=this._staticCredits;for(let o=0;o<i.length;++o){let r=i[o],s=r.showOnScreen?t:n;r.isIon()&&Et.equals(ur.cesiumCredit,this._cesiumCredit)||X0e(this,s,r,Number.MAX_VALUE)}Et.equals(ur.cesiumCredit,this._cesiumCredit)||(this._cesiumCredit=Et.clone(ur.cesiumCredit)),this._currentCesiumCredit=this._cesiumCredit};ur.prototype.endFrame=function(){let e=this._currentFrameCredits.screenCredits.values;W0e(this._screenContainer,e,this._delimiter,void 0);let t=this._currentFrameCredits.lightboxCredits.values;this._expandLink.style.display=t.length>0?"inline":"none",W0e(this._creditList,t,void 0,"li"),Odt(this)};ur.prototype.destroy=function(){return this._lightbox.removeEventListener("click",this._hideLightbox,!1),this.container.removeChild(this._cesiumCreditContainer),this.container.removeChild(this._screenContainer),this.container.removeChild(this._expandLink),this.viewport.removeChild(this._lightbox),ue(this)};ur.prototype.isDestroyed=function(){return!1};ur._cesiumCredit=void 0;ur._cesiumCreditInitialized=!1;var e4;function K0e(){if(!l(e4)){let e=rn("Assets/Images/ion-credit.png");e.indexOf("http://")!==0&&e.indexOf("https://")!==0&&e.indexOf("data:")!==0&&(e=new j0e.default(e).path()),e4=new Et(`<a href="https://cesium.com/" target="_blank"><img src="${e}" style="vertical-align: -7px" title="Cesium ion"/></a>`,!0)}return ur._cesiumCreditInitialized||(ur._cesiumCredit=e4,ur._cesiumCreditInitialized=!0),e4}Object.defineProperties(ur,{cesiumCredit:{get:function(){return K0e(),ur._cesiumCredit},set:function(e){ur._cesiumCredit=e,ur._cesiumCreditInitialized=!0}}});ur.CreditDisplayElement=q0e;var t4=ur;function n4(e){e=y(e,y.EMPTY_OBJECT),this._camera=e.camera,this._frustumSplits=e.frustumSplits,this._color=y(e.color,z.CYAN),this._updateOnChange=y(e.updateOnChange,!0),this.show=y(e.show,!0),this.id=e.id,this._id=void 0,this._outlinePrimitives=[],this._planesPrimitives=[]}var Ldt=new h,Ndt=new $,Fdt=new Le,Bdt=new Di,kdt=new Ml,Vdt=new an,Udt=new Wr,zdt=new z,Hdt=[1,1e5];n4.prototype.update=function(e){if(!this.show)return;let t=this._planesPrimitives,n=this._outlinePrimitives,i,o;if(this._updateOnChange){for(o=t.length,i=0;i<o;++i)n[i]=n[i]&&n[i].destroy(),t[i]=t[i]&&t[i].destroy();t.length=0,n.length=0}if(t.length===0){let r=this._camera,s=r.frustum,a;s instanceof Di?a=Bdt:s instanceof Ml?a=kdt:s instanceof an?a=Vdt:a=Udt,a=s.clone(a);let c,u=this._frustumSplits;!l(u)||u.length<=1?(u=Hdt,u[0]=this._camera.frustum.near,u[1]=this._camera.frustum.far,c=1):c=u.length-1;let f=r.positionWC,d=r.directionWC,p=r.upWC,g=r.rightWC;g=h.negate(g,Ldt);let m=Ndt;$.setColumn(m,0,g,m),$.setColumn(m,1,p,m),$.setColumn(m,2,d,m);let x=Le.fromRotationMatrix(m,Fdt);for(t.length=n.length=c,i=0;i<c;++i)a.near=u[i],a.far=u[i+1],t[i]=new On({geometryInstances:new wt({geometry:new HE({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Wt.fromColor(z.fromAlpha(this._color,.1,zdt))},id:this.id,pickPrimitive:this}),appearance:new un({translucent:!0,flat:!0}),asynchronous:!1}),n[i]=new On({geometryInstances:new wt({geometry:new fU({origin:f,orientation:x,frustum:a,_drawNearPlane:i===0}),attributes:{color:Wt.fromColor(this._color)},id:this.id,pickPrimitive:this}),appearance:new un({translucent:!1,flat:!0}),asynchronous:!1})}for(o=t.length,i=0;i<o;++i)n[i].update(e),t[i].update(e)};n4.prototype.isDestroyed=function(){return!1};n4.prototype.destroy=function(){let e=this._planesPrimitives.length;for(let t=0;t<e;++t)this._outlinePrimitives[t]=this._outlinePrimitives[t]&&this._outlinePrimitives[t].destroy(),this._planesPrimitives[t]=this._planesPrimitives[t]&&this._planesPrimitives[t].destroy();return ue(this)};var g_=n4;function rP(e){this._rs=void 0,this._sp=void 0,this._va=void 0,this._command=void 0,this._mode=void 0,this._useLogDepth=!1,this._ellipsoidOffset=y(e,0)}var oP=Gt.supportsTypedArrays()?new Float32Array(12):[],Z0e=new h,$0e=new h,XX=new h,Q0e=new h,i4=new h;function Gdt(e,t){let n=e.radii,i=t.camera,o,r,s;if(i.frustum instanceof an)o=h.ZERO,r=i.rightWC,s=i.upWC;else{let d=i.positionWC,p=h.multiplyComponents(e.oneOverRadii,d,Z0e),g=h.normalize(p,$0e),m=h.normalize(h.cross(h.UNIT_Z,p,XX),XX),x=h.normalize(h.cross(g,m,Q0e),Q0e),b=h.magnitude(p),T=Math.sqrt(b*b-1);o=h.multiplyByScalar(g,1/b,Z0e);let C=T/b;r=h.multiplyByScalar(m,C,$0e),s=h.multiplyByScalar(x,C,XX)}let a=h.add(o,s,i4);h.subtract(a,r,a),h.multiplyComponents(n,a,a),h.pack(a,oP,0);let c=h.subtract(o,s,i4);h.subtract(c,r,c),h.multiplyComponents(n,c,c),h.pack(c,oP,3);let u=h.add(o,s,i4);h.add(u,r,u),h.multiplyComponents(n,u,u),h.pack(u,oP,6);let f=h.subtract(o,s,i4);return h.add(f,r,f),h.multiplyComponents(n,f,f),h.pack(f,oP,9),oP}rP.prototype.update=function(e){if(this._mode=e.mode,e.mode!==ne.SCENE3D)return;let t=e.context,n=e.mapProjection.ellipsoid.radii,i=new ee(n.x+this._ellipsoidOffset,n.y+this._ellipsoidOffset,n.z+this._ellipsoidOffset),o=e.useLogDepth;if(l(this._command)||(this._rs=ze.fromCache({cull:{enabled:!0},depthTest:{enabled:!0},colorMask:{red:!1,green:!1,blue:!1,alpha:!1}}),this._command=new tt({renderState:this._rs,boundingVolume:new ce(h.ZERO,i.maximumRadius),pass:ve.OPAQUE,owner:this})),!l(this._sp)||this._useLogDepth!==o){this._useLogDepth=o;let s=new He({sources:[zU]}),a=new He({sources:[UU]});o&&(a.defines.push("LOG_DEPTH"),s.defines.push("LOG_DEPTH")),this._sp=tn.replaceCache({shaderProgram:this._sp,context:t,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:{position:0}}),this._command.shaderProgram=this._sp}let r=Gdt(i,e);if(l(this._va))this._va.getAttribute(0).vertexBuffer.copyFromArrayView(r);else{let s=new ft({attributes:{position:new Se({componentDatatype:X.FLOAT,componentsPerAttribute:3,values:r})},indices:[0,1,2,2,1,3],primitiveType:Fe.TRIANGLES});this._va=si.fromGeometry({context:t,geometry:s,attributeLocations:{position:0},bufferUsage:Ue.DYNAMIC_DRAW}),this._command.vertexArray=this._va}};rP.prototype.execute=function(e,t){this._mode===ne.SCENE3D&&this._command.execute(e,t)};rP.prototype.isDestroyed=function(){return!1};rP.prototype.destroy=function(){this._sp=this._sp&&this._sp.destroy(),this._va=this._va&&this._va.destroy()};var o4=rP;function uS(){}var Wdt=/\bgl_FragDepth\b/,jdt=/\bdiscard\b/;function qdt(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"depthOnly");if(l(n))return n;let i=t.fragmentShaderSource,o=!1,r=i.sources;for(let a=0;a<r.length;++a)if(Wdt.test(r[a])||jdt.test(r[a])){o=!0;break}let s=i.defines.indexOf("LOG_DEPTH")>=0;if(!o&&!s){let a=`void main() +{ + out_FragColor = vec4(1.0); +} +`;i=new He({sources:[a]})}else if(!o&&s){let a=`void main() +{ + out_FragColor = vec4(1.0); + czm_writeLogDepth(); +} +`;i=new He({defines:["LOG_DEPTH"],sources:[a]})}return e.shaderCache.createDerivedShaderProgram(t,"depthOnly",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:i,attributeLocations:t._attributeLocations})}function Ydt(e,t){let n=e._depthOnlyRenderStateCache,i=n[t.id];if(l(i))return i;let o=ze.getState(t);o.depthMask=!0,o.colorMask={red:!1,green:!1,blue:!1,alpha:!1};let r=ze.fromCache(o);return n[t.id]=r,r}uS.createDepthOnlyDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.depthOnlyCommand?.shaderProgram,r=i.depthOnlyCommand?.renderState;return i.depthOnlyCommand=tt.shallowClone(t,i.depthOnlyCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.depthOnlyCommand.shaderProgram=qdt(n,t.shaderProgram),i.depthOnlyCommand.renderState=Ydt(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.depthOnlyCommand.shaderProgram=o,i.depthOnlyCommand.renderState=r),i};var Xdt=/\s+czm_writeLogDepth\(/,Kdt=/\s+czm_vertexLogDepth\(/;function Zdt(e,t){if(t.fragmentShaderSource.defines.indexOf("LOG_DEPTH_READ_ONLY")>=0)return t;let i=e.shaderCache.getDerivedShaderProgram(t,"logDepth");if(l(i))return i;let o=t._attributeLocations,r=t.vertexShaderSource.clone(),s=t.fragmentShaderSource.clone();r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("LOG_DEPTH"),s.defines=l(s.defines)?s.defines.slice(0):[],s.defines.push("LOG_DEPTH");let a=!1,c=r.sources;for(let f=0;f<c.length;++f)if(Kdt.test(c[f])){a=!0;break}if(!a){for(let d=0;d<c.length;++d)c[d]=He.replaceMain(c[d],"czm_log_depth_main");c.push(` + +void main() +{ + czm_log_depth_main(); + czm_vertexLogDepth(); +} +`)}c=s.sources,a=!1;for(let f=0;f<c.length;++f)Xdt.test(c[f])&&(a=!0);s.defines.indexOf("LOG_DEPTH_WRITE")!==-1&&(a=!0);let u="";if(!a){for(let f=0;f<c.length;f++)c[f]=He.replaceMain(c[f],"czm_log_depth_main");u=` +void main() +{ + czm_log_depth_main(); + czm_writeLogDepth(); +} +`}return c.push(u),e.shaderCache.createDerivedShaderProgram(t,"logDepth",{vertexShaderSource:r,fragmentShaderSource:s,attributeLocations:o})}uS.createLogDepthCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=tt.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=Zdt(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};function $dt(e,t,n){let i=e.shaderCache.getDerivedShaderProgram(t,"pick");if(l(i))return i;Object.prototype.toString.call(n)==="[object Object]"&&(n.color?n=`vec4(${z.floatToByte(n.color.red)}, ${z.floatToByte(n.color.green)}, ${z.floatToByte(n.color.blue)}, ${z.floatToByte(n.color.alpha)})`:n="vec4(1.0)");let o=t._attributeLocations,{sources:r,defines:s}=t.fragmentShaderSource,c=r.some(g=>g.includes("out_FragData"))?"out_FragData_0":"out_FragColor",u=`void main () +{ + czm_non_pick_main(); + if (${c}.a == 0.0) { + discard; + } + ${c} = ${n}; +} `,f=r.length,d=new Array(f+1);for(let g=0;g<f;++g)d[g]=He.replaceMain(r[g],"czm_non_pick_main");d[f]=u;let p=new He({sources:d,defines:s});return e.shaderCache.createDerivedShaderProgram(t,"pick",{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:p,attributeLocations:o})}function J0e(e,t){let n=e.picking.pickRenderStateCache,i=n[t.id];if(l(i))return i;let o=ze.getState(t);o.blending.enabled=!1,o.depthMask=!0;let r=ze.fromCache(o);return n[t.id]=r,r}uS.createPickDerivedCommand=function(e,t,n,i){l(i)||(i={});let o=i.pickCommand?.shaderProgram,r=i.pickCommand?.renderState;return i.pickCommand=tt.shallowClone(t,i.pickCommand),!l(o)||i.shaderProgramId!==t.shaderProgram.id?(i.pickCommand.shaderProgram=$dt(n,t.shaderProgram,t.pickId),i.pickCommand.renderState=J0e(e,t.renderState),i.shaderProgramId=t.shaderProgram.id):(i.pickCommand.shaderProgram=o,i.pickCommand.renderState=r),i};function lS(e,t,n){let i=e.length;for(let o=0;o<i;o++)e[o].trimStart().split(/\s+/)[0]===t&&(e[o]=`${t} ${n}`)}function exe(e){return e.isArray?e.arrayLength:dt.getComponentCount(e.type)}function Qdt(e){let t=exe(e);return e.normalized?t===1?"float":`vec${t}`:t===1?"int":`ivec${t}`}function txe(e,t,n){return`((${e} - float(${t})) / float(${n}))`}function nxe(e,t){let n=Vt.getMaximum(t);return`(${e}) / float(${n})`}function Jdt(e,t){let n="float(value)";if(t.hasValueTransform){let i=t.offset,o=t.scale;n=txe(n,i,o)}return e.normalized||(n=nxe(n,e.componentType)),n}function eht(e,t,n){let o=`float(${`value.${n}`})`;if(t.hasValueTransform){let r=t.offset[n],s=t.scale[n];o=txe(o,r,s)}return e.normalized||(o=nxe(o,e.componentType)),o}function tht(e,t,n){let i=n.schemaId,o=n.className,r=n.propertyName,s=`pickMetadata-${i}-${o}-${r}`,a=e.shaderCache.getDerivedShaderProgram(t,s);if(l(a))return a;let c=n.metadataProperty,u=n.classProperty,f=Qdt(u),d=["0.0","0.0","0.0","0.0"],p=exe(u);if(p===1)d[0]=Jdt(u,c);else{let b=["x","y","z","w"];for(let T=0;T<p;T++)d[T]=eht(u,c,b[T])}let g=t.fragmentShaderSource.defines.slice();g.push(df.METADATA_PICKING_ENABLED),lS(g,df.METADATA_PICKING_VALUE_TYPE,f),lS(g,df.METADATA_PICKING_VALUE_STRING,`metadata.${r}`),lS(g,df.METADATA_PICKING_VALUE_COMPONENT_X,d[0]),lS(g,df.METADATA_PICKING_VALUE_COMPONENT_Y,d[1]),lS(g,df.METADATA_PICKING_VALUE_COMPONENT_Z,d[2]),lS(g,df.METADATA_PICKING_VALUE_COMPONENT_W,d[3]);let m=new He({sources:t.fragmentShaderSource.sources,defines:g});return e.shaderCache.createDerivedShaderProgram(t,s,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:m,attributeLocations:t._attributeLocations})}uS.createPickMetadataDerivedCommand=function(e,t,n,i){return l(i)||(i={}),i.pickMetadataCommand=tt.shallowClone(t,i.pickMetadataCommand),i.pickMetadataCommand.shaderProgram=tht(n,t.shaderProgram,t.pickedMetadataInfo),i.pickMetadataCommand.renderState=J0e(e,t.renderState),i.shaderProgramId=t.shaderProgram.id,i};function nht(e,t){let n=e.shaderCache.getDerivedShaderProgram(t,"HDR");if(l(n))return n;let i=t._attributeLocations,o=t.vertexShaderSource.clone(),r=t.fragmentShaderSource.clone();return o.defines=l(o.defines)?o.defines.slice(0):[],o.defines.push("HDR"),r.defines=l(r.defines)?r.defines.slice(0):[],r.defines.push("HDR"),e.shaderCache.createDerivedShaderProgram(t,"HDR",{vertexShaderSource:o,fragmentShaderSource:r,attributeLocations:i})}uS.createHdrCommand=function(e,t,n){l(n)||(n={});let i=n.command?.shaderProgram;return n.command=tt.shallowClone(e,n.command),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.command.shaderProgram=nht(t,e.shaderProgram),n.shaderProgramId=e.shaderProgram.id):n.command.shaderProgram=i,n};var y_=uS;function r4(e){this._scene=e,this._lastAlpha=void 0,this._lastBeta=void 0,this._lastGamma=void 0,this._alpha=void 0,this._beta=void 0,this._gamma=void 0;let t=this;function n(i){let o=i.alpha;if(!l(o)){t._alpha=void 0,t._beta=void 0,t._gamma=void 0;return}t._alpha=P.toRadians(o),t._beta=P.toRadians(i.beta),t._gamma=P.toRadians(i.gamma)}window.addEventListener("deviceorientation",n,!1),this._removeListener=function(){window.removeEventListener("deviceorientation",n,!1)}}var iht=new Le,ixe=new Le,oht=new $;function rht(e,t,n,i){let o=e.direction,r=e.right,s=e.up,a=Le.fromAxisAngle(o,n,ixe),c=Le.fromAxisAngle(r,i,iht),u=Le.multiply(c,a,c),f=Le.fromAxisAngle(s,t,ixe);Le.multiply(f,u,u);let d=$.fromQuaternion(u,oht);$.multiplyByVector(d,r,r),$.multiplyByVector(d,s,s),$.multiplyByVector(d,o,o)}r4.prototype.update=function(){if(!l(this._alpha))return;l(this._lastAlpha)||(this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma);let e=this._lastAlpha-this._alpha,t=this._lastBeta-this._beta,n=this._lastGamma-this._gamma;rht(this._scene.camera,-e,t,n),this._lastAlpha=this._alpha,this._lastBeta=this._beta,this._lastGamma=this._gamma};r4.prototype.isDestroyed=function(){return!1};r4.prototype.destroy=function(){return this._removeListener(),ue(this)};var s4=r4;function KX(){this.enabled=!0,this.renderable=!0,this.density=6e-4,this.heightScalar=.001,this._heightFalloff=.59,this.maxHeight=8e5,this.visualDensityScalar=.15,this.screenSpaceErrorFactor=2,this.minimumBrightness=.03}Object.defineProperties(KX.prototype,{heightFalloff:{get:function(){return this._heightFalloff},set:function(e){this._heightFalloff=e}}});var sht=new h;KX.prototype.update=function(e){if(!(e.fog.enabled=this.enabled))return;e.fog.renderable=this.renderable;let n=e.camera,i=n.positionCartographic;if(!l(i)||i.height>this.maxHeight||e.mode!==ne.SCENE3D){e.fog.enabled=!1,e.fog.density=0;return}let o=i.height,r=this.density*this.heightScalar*Math.pow(Math.max(o/this.maxHeight,P.EPSILON4),-Math.max(this._heightFalloff,0)),s=h.normalize(n.positionWC,sht),a=Math.abs(h.dot(n.directionWC,s));r*=1-a,e.fog.density=r,e.fog.visualDensityScalar=this.visualDensityScalar,e.fog.sse=this.screenSpaceErrorFactor,e.fog.minimumBrightness=this.minimumBrightness};var a4=KX;function aht(e,t,n){this.context=e,this.commandList=[],this.shadowMaps=[],this.brdfLutGenerator=void 0,this.environmentMap=void 0,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this.specularEnvironmentMapsMaximumLOD=void 0,this.mode=ne.SCENE3D,this.morphTime=ne.getMorphTime(ne.SCENE3D),this.frameNumber=0,this.newFrame=!1,this.time=void 0,this.jobScheduler=n,this.mapProjection=void 0,this.camera=void 0,this.cameraUnderground=!1,this.globeTranslucencyState=void 0,this.cullingVolume=void 0,this.occluder=void 0,this.maximumScreenSpaceError=void 0,this.pixelRatio=1,this.passes={render:!1,pick:!1,pickVoxel:!1,depth:!1,postProcess:!1,offscreen:!1},this.creditDisplay=t,this.afterRender=[],this.scene3DOnly=!1,this.fog={enabled:!1,renderable:!1,density:void 0,visualDensityScalar:void 0,sse:void 0,minimumBrightness:void 0},this.atmosphere=void 0,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.shadowState={shadowsEnabled:!0,shadowMaps:[],lightShadowMaps:[],nearPlane:1,farPlane:5e3,closestObjectSize:1e3,lastDirtyTime:0,outOfView:!0},this.splitPosition=0,this.frustumSplits=[],this.backgroundColor=void 0,this.light=void 0,this.minimumDisableDepthTestDistance=void 0,this.invertClassification=!1,this.invertClassificationColor=void 0,this.useLogDepth=!1,this.tilesetPassState=void 0,this.minimumTerrainHeight=0,this.pickingMetadata=!1,this.pickedMetadataInfo=void 0}var c4=aht;var ba={OPAQUE_FRONT_FACE:0,OPAQUE_BACK_FACE:1,DEPTH_ONLY_FRONT_FACE:2,DEPTH_ONLY_BACK_FACE:3,DEPTH_ONLY_FRONT_AND_BACK_FACE:4,TRANSLUCENT_FRONT_FACE:5,TRANSLUCENT_BACK_FACE:6,TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:7,TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:8,PICK_FRONT_FACE:9,PICK_BACK_FACE:10,DERIVED_COMMANDS_MAXIMUM_LENGTH:11},wb=ba.DERIVED_COMMANDS_MAXIMUM_LENGTH,hxe=["opaqueFrontFaceCommand","opaqueBackFaceCommand","depthOnlyFrontFaceCommand","depthOnlyBackFaceCommand","depthOnlyFrontAndBackFaceCommand","translucentFrontFaceCommand","translucentBackFaceCommand","translucentFrontFaceManualDepthTestCommand","translucentBackFaceManualDepthTestCommand","pickFrontFaceCommand","pickBackFaceCommand"];function Db(){this._frontFaceAlphaByDistance=new kt(0,1,0,1),this._backFaceAlphaByDistance=new kt(0,1,0,1),this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._requiresManualDepthTest=!1,this._sunVisibleThroughGlobe=!1,this._environmentVisible=!1,this._useDepthPlane=!1,this._numberOfTextureUniforms=0,this._globeTranslucencyFramebuffer=void 0,this._rectangle=ae.clone(ae.MAX_VALUE),this._derivedCommandKey=0,this._derivedCommandsDirty=!1,this._derivedCommandPacks=void 0,this._derivedCommandTypes=new Array(wb),this._derivedBlendCommandTypes=new Array(wb),this._derivedPickCommandTypes=new Array(wb),this._derivedCommandTypesToUpdate=new Array(wb),this._derivedCommandsLength=0,this._derivedBlendCommandsLength=0,this._derivedPickCommandsLength=0,this._derivedCommandsToUpdateLength=0}Object.defineProperties(Db.prototype,{frontFaceAlphaByDistance:{get:function(){return this._frontFaceAlphaByDistance}},backFaceAlphaByDistance:{get:function(){return this._backFaceAlphaByDistance}},translucent:{get:function(){return this._frontFaceTranslucent}},sunVisibleThroughGlobe:{get:function(){return this._sunVisibleThroughGlobe}},environmentVisible:{get:function(){return this._environmentVisible}},useDepthPlane:{get:function(){return this._useDepthPlane}},numberOfTextureUniforms:{get:function(){return this._numberOfTextureUniforms}},rectangle:{get:function(){return this._rectangle}}});Db.prototype.update=function(e){let t=e.globe;if(!l(t)||!t.show){this._frontFaceTranslucent=!1,this._backFaceTranslucent=!1,this._sunVisibleThroughGlobe=!0,this._environmentVisible=!0,this._useDepthPlane=!1;return}this._frontFaceAlphaByDistance=oxe(t.translucency.enabled,t.translucency.frontFaceAlpha,t.translucency.frontFaceAlphaByDistance,this._frontFaceAlphaByDistance),this._backFaceAlphaByDistance=oxe(t.translucency.enabled,t.translucency.backFaceAlpha,t.translucency.backFaceAlphaByDistance,this._backFaceAlphaByDistance),this._frontFaceTranslucent=rxe(t.translucency.enabled,this._frontFaceAlphaByDistance,t),this._backFaceTranslucent=rxe(t.translucency.enabled,this._backFaceAlphaByDistance,t),this._requiresManualDepthTest=fht(this,e,t),this._sunVisibleThroughGlobe=cht(this,e),this._environmentVisible=lht(this,e),this._useDepthPlane=uht(this,e),this._numberOfTextureUniforms=dht(this),this._rectangle=ae.clone(t.translucency.rectangle,this._rectangle),hht(this,e)};function oxe(e,t,n,i){return e?l(n)?(kt.clone(n,i),i.nearValue*=t,i.farValue*=t,i):(i.nearValue=t,i.farValue=t,i):(i.nearValue=1,i.farValue=1,i)}function rxe(e,t,n){return e&&(n.baseColor.alpha<1||t.nearValue<1||t.farValue<1)}function cht(e,t){let n=e._frontFaceTranslucent,i=e._backFaceTranslucent;return n&&(t.cameraUnderground||i)}function lht(e,t){return!t.cameraUnderground||e._frontFaceTranslucent}function uht(e,t){return!t.cameraUnderground&&!e._frontFaceTranslucent}function fht(e,t,n){return e._frontFaceTranslucent&&!e._backFaceTranslucent&&!n.depthTestAgainstTerrain&&t.mode!==ne.SCENE2D&&t.context.depthTexture}function dht(e){let t=0;return e._frontFaceTranslucent&&++t,e._requiresManualDepthTest&&++t,t}function hht(e,t){e._derivedCommandsLength=ZX(e,t,!1,!1,e._derivedCommandTypes),e._derivedBlendCommandsLength=ZX(e,t,!0,!1,e._derivedBlendCommandTypes),e._derivedPickCommandsLength=ZX(e,t,!1,!0,e._derivedPickCommandTypes);let n,i=0;for(n=0;n<e._derivedCommandsLength;++n)i|=1<<e._derivedCommandTypes[n];for(n=0;n<e._derivedBlendCommandsLength;++n)i|=1<<e._derivedBlendCommandTypes[n];for(n=0;n<e._derivedPickCommandsLength;++n)i|=1<<e._derivedPickCommandTypes[n];let o=0;for(n=0;n<wb;++n)(i&1<<n)>0&&(e._derivedCommandTypesToUpdate[o++]=n);e._derivedCommandsToUpdateLength=o;let r=i!==e._derivedCommandKey;e._derivedCommandKey=i,e._derivedCommandsDirty=r,!l(e._derivedCommandPacks)&&e._frontFaceTranslucent&&(e._derivedCommandPacks=Dht())}function ZX(e,t,n,i,o){let r=0,s=e._frontFaceTranslucent,a=e._backFaceTranslucent;if(!s)return r;let c=t.cameraUnderground,u=e._requiresManualDepthTest,f=i?ba.PICK_FRONT_FACE:u?ba.TRANSLUCENT_FRONT_FACE_MANUAL_DEPTH_TEST:ba.TRANSLUCENT_FRONT_FACE,d=i?ba.PICK_BACK_FACE:u?ba.TRANSLUCENT_BACK_FACE_MANUAL_DEPTH_TEST:ba.TRANSLUCENT_BACK_FACE;return t.mode===ne.SCENE2D?(o[r++]=ba.DEPTH_ONLY_FRONT_FACE,o[r++]=f,r):(a?(n||(o[r++]=ba.DEPTH_ONLY_FRONT_AND_BACK_FACE),c?(o[r++]=f,o[r++]=d):(o[r++]=d,o[r++]=f)):c?(n||(o[r++]=ba.DEPTH_ONLY_BACK_FACE),o[r++]=ba.OPAQUE_FRONT_FACE,o[r++]=d):(n||(o[r++]=ba.DEPTH_ONLY_FRONT_FACE),o[r++]=ba.OPAQUE_BACK_FACE,o[r++]=f),r)}function Yf(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function sxe(e,t){return e.indexOf(t)>-1}function mht(e,t){Yf(e.defines,"TRANSLUCENT"),Yf(t.defines,"TRANSLUCENT")}function pht(e,t){Yf(e.defines,"GROUND_ATMOSPHERE"),Yf(t.defines,"GROUND_ATMOSPHERE"),Yf(e.defines,"FOG"),Yf(t.defines,"FOG"),Yf(e.defines,"TRANSLUCENT"),Yf(t.defines,"TRANSLUCENT")}function $X(e,t){if(sxe(t.defines,"TILE_LIMIT_RECTANGLE")||sxe(t.defines,"ENABLE_CLIPPING_PLANES"))return;let n=`void main() +{ + out_FragColor = vec4(1.0); +} +`;t.sources=[n]}function QX(e,t){let n=t.sources,i=n.length;for(let r=0;r<i;++r)n[r]=He.replaceMain(n[r],"czm_globe_translucency_main");n.push(` + +uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; +#ifdef MANUAL_DEPTH_TEST + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, st)); + if (logDepthOrDepth != 0.0) + { + vec4 eyeCoordinate = czm_windowToEyeCoordinates(gl_FragCoord.xy, logDepthOrDepth); + float depthEC = eyeCoordinate.z / eyeCoordinate.w; + if (v_positionEC.z < depthEC) + { + discard; + } + } +#endif + czm_globe_translucency_main(); + vec4 classificationColor = texture(u_classificationTexture, st); + if (classificationColor.a > 0.0) + { + // Reverse premultiplication process to get the correct composited result of the classification primitives + classificationColor.rgb /= classificationColor.a; + } + out_FragColor = classificationColor * vec4(classificationColor.aaa, 1.0) + out_FragColor * (1.0 - classificationColor.a); +} +`)}function mxe(e,t){QX(e,t),Yf(e.defines,"GROUND_ATMOSPHERE"),Yf(t.defines,"GROUND_ATMOSPHERE"),Yf(e.defines,"FOG"),Yf(t.defines,"FOG")}function _ht(e,t){QX(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function ght(e,t){mxe(e,t),e.defines.push("GENERATE_POSITION"),t.defines.push("MANUAL_DEPTH_TEST")}function axe(e,t){let n=`uniform sampler2D u_classificationTexture; +void main() +{ + vec2 st = gl_FragCoord.xy / czm_viewport.zw; + vec4 pickColor = texture(u_classificationTexture, st); + if (pickColor == vec4(0.0)) + { + discard; + } + out_FragColor = pickColor; +} +`;t.sources=[n]}function yht(e,t,n,i,o,r){if(!l(o))return t;if(!i&&l(n))return n;let s=e.shaderCache.getDerivedShaderProgram(t,r);if(!l(s)){let a=t._attributeLocations,c=t.vertexShaderSource.clone(),u=t.fragmentShaderSource.clone();c.defines=l(c.defines)?c.defines.slice(0):[],u.defines=l(u.defines)?u.defines.slice(0):[],o(c,u),s=e.shaderCache.createDerivedShaderProgram(t,r,{vertexShaderSource:c,fragmentShaderSource:u,attributeLocations:a})}return s}function xht(e){e.cull.face=Ti.BACK,e.cull.enabled=!0}function bht(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0}function Tht(e){e.cull.face=Ti.BACK,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Cht(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function Aht(e){e.cull.enabled=!1,e.colorMask={red:!1,green:!1,blue:!1,alpha:!1}}function cxe(e){e.cull.face=Ti.BACK,e.cull.enabled=!0,e.depthMask=!1,e.blending=fn.ALPHA_BLEND}function lxe(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0,e.depthMask=!1,e.blending=fn.ALPHA_BLEND}function Eht(e){e.cull.face=Ti.BACK,e.cull.enabled=!0,e.blending.enabled=!1}function Sht(e){e.cull.face=Ti.FRONT,e.cull.enabled=!0,e.blending.enabled=!1}function vht(e,t,n,i,o){if(!l(i))return e;if(!n&&l(t))return t;let r=o[e.id];if(!l(r)){let s=ze.getState(e);i(s),r=ze.fromCache(s),o[e.id]=r}return r}function fS(e){return{u_classificationTexture:function(){return e._globeTranslucencyFramebuffer.classificationTexture}}}function wht(e,t,n,i,o){return l(o)?!i&&l(n)?n:Ct(t,o(e),!1):t}function ch(e){this.pass=e.pass,this.pickOnly=e.pickOnly,this.getShaderProgramFunction=e.getShaderProgramFunction,this.getRenderStateFunction=e.getRenderStateFunction,this.getUniformMapFunction=e.getUniformMapFunction,this.renderStateCache={}}function Dht(){return[new ch({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:mht,getRenderStateFunction:xht,getUniformMapFunction:void 0}),new ch({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:pht,getRenderStateFunction:bht,getUniformMapFunction:void 0}),new ch({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:$X,getRenderStateFunction:Tht,getUniformMapFunction:void 0}),new ch({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:$X,getRenderStateFunction:Cht,getUniformMapFunction:void 0}),new ch({pass:ve.GLOBE,pickOnly:!1,getShaderProgramFunction:$X,getRenderStateFunction:Aht,getUniformMapFunction:void 0}),new ch({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:QX,getRenderStateFunction:cxe,getUniformMapFunction:fS}),new ch({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:mxe,getRenderStateFunction:lxe,getUniformMapFunction:fS}),new ch({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:_ht,getRenderStateFunction:cxe,getUniformMapFunction:fS}),new ch({pass:ve.TRANSLUCENT,pickOnly:!1,getShaderProgramFunction:ght,getRenderStateFunction:lxe,getUniformMapFunction:fS}),new ch({pass:ve.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:axe,getRenderStateFunction:Eht,getUniformMapFunction:fS}),new ch({pass:ve.TRANSLUCENT,pickOnly:!0,getShaderProgramFunction:axe,getRenderStateFunction:Sht,getUniformMapFunction:fS})]}var uxe=new Array(wb),fxe=new Array(wb);Db.prototype.updateDerivedCommands=function(e,t){let n=this._derivedCommandTypesToUpdate,i=this._derivedCommandsToUpdateLength;if(i!==0){for(let o=0;o<i;++o)fxe[o]=this._derivedCommandPacks[n[o]],uxe[o]=hxe[n[o]];Iht(this,e,i,n,uxe,fxe,t)}};function Iht(e,t,n,i,o,r,s){let a=t.derivedCommands.globeTranslucency,c=e._derivedCommandsDirty;if(t.dirty||!l(a)||c){t.dirty=!1,l(a)||(a={},t.derivedCommands.globeTranslucency=a);let u=s.frameNumber,f=y(a.uniformMapDirtyFrame,0),d=y(a.shaderProgramDirtyFrame,0),p=y(a.renderStateDirtyFrame,0),g=a.uniformMap!==t.uniformMap,m=a.shaderProgramId!==t.shaderProgram.id,x=a.renderStateId!==t.renderState.id;g&&(a.uniformMapDirtyFrame=u),m&&(a.shaderProgramDirtyFrame=u),x&&(a.renderStateDirtyFrame=u),a.uniformMap=t.uniformMap,a.shaderProgramId=t.shaderProgram.id,a.renderStateId=t.renderState.id;for(let b=0;b<n;++b){let T=r[b],C=i[b],A=o[b],S=a[A],v,D,R;l(S)?(v=S.uniformMap,D=S.shaderProgram,R=S.renderState):(v=void 0,D=void 0,R=void 0),S=tt.shallowClone(t,S),a[A]=S;let O=y(S.derivedCommands.uniformMapDirtyFrame,0),M=y(S.derivedCommands.shaderProgramDirtyFrame,0),N=y(S.derivedCommands.renderStateDirtyFrame,0),_=g||O<f,E=m||M<d,w=x||N<p;_&&(S.derivedCommands.uniformMapDirtyFrame=u),E&&(S.derivedCommands.shaderProgramDirtyFrame=u),w&&(S.derivedCommands.renderStateDirtyFrame=u),S.derivedCommands.type=C,S.pass=T.pass,S.pickOnly=T.pickOnly,S.uniformMap=wht(e,t.uniformMap,v,_,T.getUniformMapFunction),S.shaderProgram=yht(s.context,t.shaderProgram,D,E,T.getShaderProgramFunction,A),S.renderState=vht(t.renderState,R,w,T.getRenderStateFunction,T.renderStateCache)}}}Db.prototype.pushDerivedCommands=function(e,t,n){let i=n.passes.pick||n.passes.pickVoxel;if(i&&t)return;let o=this._derivedCommandTypes,r=this._derivedCommandsLength;if(i?(o=this._derivedPickCommandTypes,r=this._derivedPickCommandsLength):t&&(o=this._derivedBlendCommandTypes,r=this._derivedBlendCommandsLength),r===0){n.commandList.push(e);return}let s=e.derivedCommands.globeTranslucency;for(let a=0;a<r;++a){let c=hxe[o[a]];n.commandList.push(s[c])}};function pxe(e,t,n,i,o,r){for(let s=0;s<t;++s){let a=e[s],c=a.derivedCommands.type;(!l(r)||r.indexOf(c)>-1)&&n(a,i,o)}}function dxe(e,t,n,i,o){for(let r=0;r<t;++r)n(e[r],i,o)}var Pht=[ba.OPAQUE_FRONT_FACE,ba.OPAQUE_BACK_FACE],Oht=[ba.DEPTH_ONLY_FRONT_FACE,ba.DEPTH_ONLY_BACK_FACE,ba.DEPTH_ONLY_FRONT_AND_BACK_FACE];Db.prototype.executeGlobeCommands=function(e,t,n,i,o){let r=i.context,s=e.commands[ve.GLOBE],a=e.indices[ve.GLOBE];a!==0&&(this._globeTranslucencyFramebuffer=n,n.clearClassification(r,o),pxe(s,a,t,i,o,Pht))};Db.prototype.executeGlobeClassificationCommands=function(e,t,n,i,o){let{context:r}=i,{uniformState:s}=r,a=e.commands[ve.GLOBE],c=e.indices[ve.GLOBE],u=e.commands[ve.TERRAIN_CLASSIFICATION],f=e.indices[ve.TERRAIN_CLASSIFICATION];if(c===0||f===0)return;let d=this._frontFaceTranslucent,p=this._backFaceTranslucent;if((!d||!p)&&dxe(u,f,t,i,o),!d&&!p)return;this._globeTranslucencyFramebuffer=n;let g=s.globeDepthTexture,m=o.framebuffer;if(o.framebuffer=n.classificationFramebuffer,pxe(a,c,t,i,o,Oht),r.depthTexture){let x=n.packDepth(r,o);s.globeDepthTexture=x}dxe(u,f,t,i,o),s.globeDepthTexture=g,o.framebuffer=m};var l4=Db;var Lu=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = texture(colorTexture, v_textureCoordinates); +} +`;function km(){this._numSamples=1,this.previousFramebuffer=void 0,this._previousFramebuffer=void 0,this._depthStencilTexture=void 0,this._depthStencilRenderbuffer=void 0,this._fbo=new _i({depthStencil:!0,createDepthAttachments:!1}),this._fboClassified=new _i({depthStencil:!0,createDepthAttachments:!1}),this._rsUnclassified=void 0,this._rsClassified=void 0,this._unclassifiedCommand=void 0,this._classifiedCommand=void 0,this._translucentCommand=void 0,this._clearColorCommand=new ri({color:new z(0,0,0,0),owner:this}),this._clearCommand=new ri({color:new z(0,0,0,0),depth:1,stencil:0});let e=this;this._uniformMap={colorTexture:function(){return e._fbo.getColorTexture()},depthTexture:function(){return e._depthStencilTexture},classifiedTexture:function(){return e._fboClassified.getColorTexture()}}}Object.defineProperties(km.prototype,{unclassifiedCommand:{get:function(){return this._unclassifiedCommand}}});km.isTranslucencySupported=function(e){return e.depthTexture&&e.fragmentDepth};var Rht={depthMask:!1,stencilTest:{enabled:!0,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.NEVER,reference:0,mask:Ut.CLASSIFICATION_MASK},blending:fn.ALPHA_BLEND},Mht={depthMask:!1,stencilTest:{enabled:!0,frontFunction:zn.NOT_EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.NEVER,reference:0,mask:Ut.CLASSIFICATION_MASK},blending:fn.ALPHA_BLEND},Lht={depthMask:!0,depthTest:{enabled:!0},stencilTest:Ut.setCesium3DTileBit(),stencilMask:Ut.CESIUM_3D_TILE_MASK,blending:fn.ALPHA_BLEND},Nht=`uniform sampler2D colorTexture; +uniform sampler2D depthTexture; +uniform sampler2D classifiedTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } + bool isClassified = all(equal(texture(classifiedTexture, v_textureCoordinates), vec4(0.0))); +#ifdef UNCLASSIFIED + vec4 highlightColor = czm_invertClassificationColor; + if (isClassified) + { + discard; + } +#else + vec4 highlightColor = vec4(1.0); + if (!isClassified) + { + discard; + } +#endif + out_FragColor = color * highlightColor; + gl_FragDepth = texture(depthTexture, v_textureCoordinates).r; +} +`,Fht=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + if (color.a == 0.0) + { + discard; + } +#ifdef UNCLASSIFIED + out_FragColor = color * czm_invertClassificationColor; +#else + out_FragColor = color; +#endif +} +`;km.prototype.update=function(e,t,n){let i=this._fbo.getColorTexture(),o=this.previousFramebuffer!==this._previousFramebuffer;this._previousFramebuffer=this.previousFramebuffer;let r=this._numSamples!==t,s=e.drawingBufferWidth,a=e.drawingBufferHeight,c=!l(i)||i.width!==s||i.height!==a;if((c||o||r)&&(this._numSamples=t,this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._previousFramebuffer)||(this._depthStencilTexture=new Pt({context:e,width:s,height:a,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Ze.UNSIGNED_INT_24_8}),t>1&&(this._depthStencilRenderbuffer=new Zu({context:e,width:s,height:a,format:ul.DEPTH24_STENCIL8,numSamples:t})))),!l(this._fbo.framebuffer)||c||o||r){this._fbo.destroy(),this._fboClassified.destroy();let u,f;l(this._previousFramebuffer)?(u=n.getDepthStencilTexture(),f=n.getDepthStencilRenderbuffer()):(u=this._depthStencilTexture,f=this._depthStencilRenderbuffer),this._fbo.setDepthStencilTexture(u),l(f)&&this._fbo.setDepthStencilRenderbuffer(f),this._fbo.update(e,s,a,t),l(this._previousFramebuffer)||(this._fboClassified.setDepthStencilTexture(u),this._fboClassified.update(e,s,a))}if(l(this._rsUnclassified)||(this._rsUnclassified=ze.fromCache(Rht),this._rsClassified=ze.fromCache(Mht),this._rsDefault=ze.fromCache(Lht)),!l(this._unclassifiedCommand)||o||r){l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy());let u=l(this._previousFramebuffer)?Fht:Nht,f=new He({defines:["UNCLASSIFIED"],sources:[u]}),d=new He({sources:[u]});this._unclassifiedCommand=e.createViewportQuadCommand(f,{renderState:l(this._previousFramebuffer)?this._rsUnclassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),this._classifiedCommand=e.createViewportQuadCommand(d,{renderState:l(this._previousFramebuffer)?this._rsClassified:this._rsDefault,uniformMap:this._uniformMap,owner:this}),l(this._translucentCommand)&&(this._translucentCommand.shaderProgram=this._translucentCommand.shaderProgram&&this._translucentCommand.shaderProgram.destroy()),l(this._previousFramebuffer)||(this._translucentCommand=e.createViewportQuadCommand(Lu,{renderState:this._rsUnclassified,uniformMap:this._uniformMap,owner:this}))}};km.prototype.prepareTextures=function(e,t){this._fbo._numSamples>1&&this._fbo.prepareTextures(e,t)};km.prototype.clear=function(e,t){l(this._previousFramebuffer)?this._fbo.clear(e,this._clearColorCommand,t):(this._fbo.clear(e,this._clearCommand,t),this._fboClassified.clear(e,this._clearCommand,t))};km.prototype.executeClassified=function(e,t){if(!l(this._previousFramebuffer)){let n=t.framebuffer;this.prepareTextures(e,!0),t.framebuffer=this._fboClassified.framebuffer,this._translucentCommand.execute(e,t),t.framebuffer=n}this._classifiedCommand.execute(e,t)};km.prototype.executeUnclassified=function(e,t){this._unclassifiedCommand.execute(e,t)};km.prototype.isDestroyed=function(){return!1};km.prototype.destroy=function(){return this._fbo.destroy(),this._fboClassified.destroy(),this._depthStencilTexture=this._depthStencilTexture&&this._depthStencilTexture.destroy(),this._depthStencilRenderbuffer=this._depthStencilRenderbuffer&&this._depthStencilRenderbuffer.destroy(),l(this._unclassifiedCommand)&&(this._unclassifiedCommand.shaderProgram=this._unclassifiedCommand.shaderProgram&&this._unclassifiedCommand.shaderProgram.destroy(),this._classifiedCommand.shaderProgram=this._classifiedCommand.shaderProgram&&this._classifiedCommand.shaderProgram.destroy()),ue(this)};var sP=km;function u4(e){this._total=e,this.usedThisFrame=0,this.stolenFromMeThisFrame=0,this.starvedThisFrame=!1,this.starvedLastFrame=!1}Object.defineProperties(u4.prototype,{total:{get:function(){return this._total}}});function d0(e){let t=new Array(ec.NUMBER_OF_JOB_TYPES);t[ec.TEXTURE]=new u4(l(e)?e[ec.TEXTURE]:10),t[ec.PROGRAM]=new u4(l(e)?e[ec.PROGRAM]:10),t[ec.BUFFER]=new u4(l(e)?e[ec.BUFFER]:30);let n=t.length,i,o=0;for(i=0;i<n;++i)o+=t[i].total;let r=new Array(n);for(i=0;i<n;++i)r[i]=!1;this._totalBudget=o,this._totalUsedThisFrame=0,this._budgets=t,this._executedThisFrame=r}d0.getTimestamp=Ei;Object.defineProperties(d0.prototype,{totalBudget:{get:function(){return this._totalBudget}}});d0.prototype.disableThisFrame=function(){this._totalUsedThisFrame=this._totalBudget};d0.prototype.resetBudgets=function(){let e=this._budgets,t=e.length;for(let n=0;n<t;++n){let i=e[n];i.starvedLastFrame=i.starvedThisFrame,i.starvedThisFrame=!1,i.usedThisFrame=0,i.stolenFromMeThisFrame=0}this._totalUsedThisFrame=0};d0.prototype.execute=function(e,t){let n=this._budgets,i=n[t],o=this._executedThisFrame[t];if(this._totalUsedThisFrame>=this._totalBudget&&o)return i.starvedThisFrame=!0,!1;let r;if(i.usedThisFrame+i.stolenFromMeThisFrame>=i.total){let c=n.length,u;for(u=0;u<c&&(r=n[u],!(r.usedThisFrame+r.stolenFromMeThisFrame<r.total&&!r.starvedLastFrame));++u);if(u===c&&o)return!1;o&&(i.starvedThisFrame=!0)}let s=d0.getTimestamp();e.execute();let a=d0.getTimestamp()-s;return this._totalUsedThisFrame+=a,r?r.stolenFromMeThisFrame+=a:i.usedThisFrame+=a,this._executedThisFrame[t]=!0,!0};var f4=d0;function d4(e){e=y(e,y.EMPTY_OBJECT);let t=Mn(e.container);this._container=t;let n=document.createElement("div");n.className="cesium-performanceDisplay";let i=document.createElement("div");i.className="cesium-performanceDisplay-fps",this._fpsText=document.createTextNode(""),i.appendChild(this._fpsText);let o=document.createElement("div");o.className="cesium-performanceDisplay-ms",this._msText=document.createTextNode(""),o.appendChild(this._msText),n.appendChild(o),n.appendChild(i),this._container.appendChild(n),this._lastFpsSampleTime=Ei(),this._lastMsSampleTime=Ei(),this._fpsFrameCount=0,this._msFrameCount=0,this._throttled=!1;let r=document.createElement("div");r.className="cesium-performanceDisplay-throttled",this._throttledText=document.createTextNode(""),r.appendChild(this._throttledText),n.appendChild(r)}Object.defineProperties(d4.prototype,{throttled:{get:function(){return this._throttled},set:function(e){this._throttled!==e&&(e?this._throttledText.nodeValue="(throttled)":this._throttledText.nodeValue="",this._throttled=e)}}});d4.prototype.update=function(e){let t=Ei(),n=y(e,!0);this._fpsFrameCount++;let i=t-this._lastFpsSampleTime;if(i>1e3){let r="N/A";n&&(r=this._fpsFrameCount*1e3/i|0),this._fpsText.nodeValue=`${r} FPS`,this._lastFpsSampleTime=t,this._fpsFrameCount=0}this._msFrameCount++;let o=t-this._lastMsSampleTime;if(o>200){let r="N/A";n&&(r=(o/this._msFrameCount).toFixed(2)),this._msText.nodeValue=`${r} MS`,this._lastMsSampleTime=t,this._msFrameCount=0}};d4.prototype.destroy=function(){return ue(this)};var h0=d4;var Ta={};Ta.decodeRawMetadataValue=function(e,t,n){switch(e){case Vt.INT8:return t.getInt8(n);case Vt.UINT8:return t.getUint8(n);case Vt.INT16:return t.getInt16(n,!0);case Vt.UINT16:return t.getUint16(n,!0);case Vt.INT32:return t.getInt32(n,!0);case Vt.UINT32:return t.getUint32(n,!0);case Vt.INT64:return t.getBigInt64(n,!0);case Vt.UINT64:return t.getBigUint64(n,!0);case Vt.FLOAT32:return t.getFloat32(n,!0);case Vt.FLOAT64:return t.getFloat64(n,!0)}throw new se(`Invalid component type: ${e}`)};Ta.decodeRawMetadataValueComponent=function(e,t,n){let i=e.componentType,o=Ta.decodeRawMetadataValue(i,t,n);return e.normalized?Vt.normalize(o,i):o};Ta.decodeRawMetadataValueElement=function(e,t,n){let i=e.componentType,o=Vt.getSizeInBytes(i),r=e.type,s=dt.getComponentCount(r),a=o*s;if(s>1){let f=Array(s);for(let d=0;d<s;d++){let p=n*a+d*o,g=Ta.decodeRawMetadataValueComponent(e,t,p);f[d]=g}return f}let c=n*a;return Ta.decodeRawMetadataValueComponent(e,t,c)};Ta.decodeRawMetadataValues=function(e,t){let n=new DataView(t.buffer,t.byteOffset,t.byteLength);if(e.isArray){let o=e.arrayLength,r=Array(o);for(let s=0;s<o;s++){let a=Ta.decodeRawMetadataValueElement(e,n,s);r[s]=a}return r}return Ta.decodeRawMetadataValueElement(e,n,0)};Ta.convertToObjectType=function(e,t){if(!l(t)||e===dt.SCALAR||e===dt.STRING||e===dt.BOOLEAN||e===dt.ENUM)return t;let n=t.map(i=>Number(i));switch(e){case dt.VEC2:return U.unpack(n,0,new U);case dt.VEC3:return h.unpack(n,0,new h);case dt.VEC4:return oe.unpack(n,0,new oe);case dt.MAT2:return Pi.unpack(n,0,new Pi);case dt.MAT3:return $.unpack(n,0,new $);case dt.MAT4:return F.unpack(n,0,new F)}throw new se(`Invalid metadata object type: ${e}`)};Ta.convertFromObjectType=function(e,t){if(!l(t)||e===dt.SCALAR||e===dt.STRING||e===dt.BOOLEAN||e===dt.ENUM)return t;switch(e){case dt.VEC2:return U.pack(t,Array(2));case dt.VEC3:return h.pack(t,Array(3));case dt.VEC4:return oe.pack(t,Array(4));case dt.MAT2:return Pi.pack(t,Array(4));case dt.MAT3:return $.pack(t,Array(9));case dt.MAT4:return F.pack(t,Array(16))}throw new se(`Invalid metadata object type: ${e}`)};Ta.decodeMetadataValues=function(e,t,n){let i=Ta.decodeRawMetadataValues(e,n);if(t.hasValueTransform){let r=Ta.convertFromObjectType(e.type,t.offset),s=Ta.convertFromObjectType(e.type,t.scale);i=Ep.valueTransformInPlace(i,r,s,Vt.applyValueTransform)}if(e.isArray){let r=e.arrayLength,s=Array(r);for(let a=0;a<r;a++){let c=i[a],u=Ta.convertToObjectType(e.type,c);s[a]=u}return s}return Ta.convertToObjectType(e.type,i)};var h4=Object.freeze(Ta);function Ib(){this._framebuffer=new _i,this._textureToCopy=void 0,this._copyDepthCommand=void 0}Object.defineProperties(Ib.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function Bht(e,t,n){let{width:i,height:o}=n;e._framebuffer.update(t,i,o)}function kht(e,t,n){l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(`uniform highp sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 globeDepthPacked = texture(czm_globeDepthTexture, v_textureCoordinates); + float globeDepth = czm_unpackDepth(globeDepthPacked); + float depth = texture(colorTexture, v_textureCoordinates).r; + out_FragColor = czm_branchFreeTernary(globeDepth <= 0.0 || globeDepth >= 1.0 || depth < globeDepth && depth > 0.0 && depth < 1.0, + czm_packDepth(depth), globeDepthPacked); +} +`,{renderState:ze.fromCache(),uniformMap:{colorTexture:function(){return e._textureToCopy}},owner:e})),e._textureToCopy=n,e._copyDepthCommand.framebuffer=e.framebuffer}Ib.prototype.update=function(e,t){Bht(this,e,t),kht(this,e,t)};var Vht=new oe,Uht=new oe(1,1/255,1/65025,1/16581375);Ib.prototype.getDepth=function(e,t,n){if(!l(this.framebuffer))return;let i=e.readPixels({x:t,y:n,width:1,height:1,framebuffer:this.framebuffer}),o=oe.unpack(i,0,Vht);return oe.divideByScalar(o,255,o),oe.dot(o,Uht)};Ib.prototype.executeCopyDepth=function(e,t){this._copyDepthCommand.execute(e,t)};Ib.prototype.isDestroyed=function(){return!1};Ib.prototype.destroy=function(){return this._framebuffer.destroy(),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=l(this._copyDepthCommand.shaderProgram)&&this._copyDepthCommand.shaderProgram.destroy()),ue(this)};var m4=Ib;function zht(e,t){this.near=y(e,0),this.far=y(t,0);let n=ve.NUMBER_OF_PASSES,i=new Array(n),o=new Array(n);for(let r=0;r<n;++r)i[r]=[],o[r]=0;this.commands=i,this.indices=o}var p4=zht;var Pb=`uniform highp sampler2D u_depthTexture; + +in vec2 v_textureCoordinates; + +void main() +{ + out_FragColor = czm_packDepth(texture(u_depthTexture, v_textureCoordinates).r); +} +`;function Vm(){this._picking=!1,this._numSamples=1,this._tempCopyDepthTexture=void 0,this._pickColorFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._outputFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._copyDepthFramebuffer=new _i,this._tempCopyDepthFramebuffer=new _i,this._updateDepthFramebuffer=new _i({createColorAttachments:!1,createDepthAttachments:!1,depthStencil:!0}),this._clearGlobeColorCommand=void 0,this._copyColorCommand=void 0,this._copyDepthCommand=void 0,this._tempCopyDepthCommand=void 0,this._updateDepthCommand=void 0,this._viewport=new Ye,this._rs=void 0,this._rsBlend=void 0,this._rsUpdate=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0,this._clearGlobeDepth=void 0}Object.defineProperties(Vm.prototype,{colorFramebufferManager:{get:function(){return this._picking?this._pickColorFramebuffer:this._outputFramebuffer}},framebuffer:{get:function(){return this.colorFramebufferManager.framebuffer}},depthStencilTexture:{get:function(){return this.colorFramebufferManager.getDepthStencilTexture()}},picking:{get:function(){return this._picking},set:function(e){this._picking=e}}});function _xe(e,t,n,i,o){let r=e._viewport;r.width=n,r.height=i;let s=!Ye.equals(r,o.viewport),a=s!==e._useScissorTest;e._useScissorTest=s,Ye.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ye.clone(o.viewport,e._scissorRectangle),a=!0),(!l(e._rs)||!Ye.equals(r,e._rs.viewport)||a)&&(e._rs=ze.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}}),e._rsBlend=ze.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:fn.ALPHA_BLEND}),e._rsUpdate=ze.fromCache({viewport:r,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:zn.EQUAL,frontOperation:{fail:mt.KEEP,zFail:mt.KEEP,zPass:mt.KEEP},backFunction:zn.NEVER,reference:Ut.CESIUM_3D_TILE_MASK,mask:Ut.CESIUM_3D_TILE_MASK}})),l(e._copyDepthCommand)||(e._copyDepthCommand=t.createViewportQuadCommand(Pb,{uniformMap:{u_depthTexture:function(){return e.colorFramebufferManager.getDepthStencilTexture()}},owner:e})),e._copyDepthCommand.framebuffer=e._copyDepthFramebuffer.framebuffer,e._copyDepthCommand.renderState=e._rs,l(e._copyColorCommand)||(e._copyColorCommand=t.createViewportQuadCommand(Lu,{uniformMap:{colorTexture:function(){return e.colorFramebufferManager.getColorTexture()}},owner:e})),e._copyColorCommand.renderState=e._rs,l(e._tempCopyDepthCommand)||(e._tempCopyDepthCommand=t.createViewportQuadCommand(Pb,{uniformMap:{u_depthTexture:function(){return e._tempCopyDepthTexture}},owner:e})),e._tempCopyDepthCommand.framebuffer=e._tempCopyDepthFramebuffer.framebuffer,e._tempCopyDepthCommand.renderState=e._rs,l(e._updateDepthCommand)||(e._updateDepthCommand=t.createViewportQuadCommand(Lu,{uniformMap:{colorTexture:function(){return e._tempCopyDepthFramebuffer.getColorTexture()}},owner:e})),e._updateDepthCommand.framebuffer=e._updateDepthFramebuffer.framebuffer,e._updateDepthCommand.renderState=e._rsUpdate,l(e._clearGlobeColorCommand)||(e._clearGlobeColorCommand=new ri({color:new z(0,0,0,0),stencil:0,owner:e})),e._clearGlobeColorCommand.framebuffer=e.framebuffer}Vm.prototype.update=function(e,t,n,i,o,r){let{width:s,height:a}=n,c=o?e.halfFloatingPointTexture?Ze.HALF_FLOAT:Ze.FLOAT:Ze.UNSIGNED_BYTE;this._numSamples=i,this.picking?this._pickColorFramebuffer.update(e,s,a):this._outputFramebuffer.update(e,s,a,i,c),this._copyDepthFramebuffer.update(e,s,a),_xe(this,e,s,a,t),e.uniformState.globeDepthTexture=void 0,this._clearGlobeDepth=r};Vm.prototype.prepareColorTextures=function(e,t){!this.picking&&this._numSamples>1&&this._outputFramebuffer.prepareTextures(e,t)};Vm.prototype.executeCopyDepth=function(e,t){l(this._copyDepthCommand)&&(this.prepareColorTextures(e),this._copyDepthCommand.execute(e,t),e.uniformState.globeDepthTexture=this._copyDepthFramebuffer.getColorTexture())};Vm.prototype.executeUpdateDepth=function(e,t,n){let i=l(n)?n:t.framebuffer.depthStencilTexture;if(!this._clearGlobeDepth&&i===this.colorFramebufferManager.getDepthStencilTexture()){l(this._copyDepthCommand)&&this._copyDepthCommand.execute(e,t);return}if(!l(this._updateDepthCommand))return;let o=this._updateDepthFramebuffer;if(!l(o.framebuffer)||o.getDepthStencilTexture()!==i||o.getColorTexture()!==this._copyDepthFramebuffer.getColorTexture()){let r=this._copyDepthFramebuffer.getColorTexture(),{width:s,height:a}=r;this._tempCopyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.update(e,s,a),o.setColorTexture(r,0),o.setDepthStencilTexture(i),o.update(e,s,a),_xe(this,e,s,a,t)}this._tempCopyDepthTexture=i,this._tempCopyDepthCommand.execute(e,t),this._updateDepthCommand.execute(e,t)};Vm.prototype.executeCopyColor=function(e,t){l(this._copyColorCommand)&&this._copyColorCommand.execute(e,t)};Vm.prototype.clear=function(e,t,n){let i=this._clearGlobeColorCommand;l(i)&&(z.clone(n,i.color),this.colorFramebufferManager.clear(e,i,t))};Vm.prototype.isDestroyed=function(){return!1};Vm.prototype.destroy=function(){return this._pickColorFramebuffer.destroy(),this._outputFramebuffer.destroy(),this._copyDepthFramebuffer.destroy(),this._tempCopyDepthFramebuffer.destroy(),this._updateDepthFramebuffer.destroy(),l(this._copyColorCommand)&&(this._copyColorCommand.shaderProgram=this._copyColorCommand.shaderProgram.destroy()),l(this._copyDepthCommand)&&(this._copyDepthCommand.shaderProgram=this._copyDepthCommand.shaderProgram.destroy()),l(this._tempCopyDepthCommand)&&(this._tempCopyDepthCommand.shaderProgram=this._tempCopyDepthCommand.shaderProgram.destroy()),l(this._updateDepthCommand)&&(this._updateDepthCommand.shaderProgram=this._updateDepthCommand.shaderProgram.destroy()),ue(this)};var _4=Vm;function Ob(){this._framebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._packedDepthFramebuffer=new _i,this._renderState=void 0,this._packedDepthCommand=void 0,this._clearCommand=void 0,this._viewport=new Ye,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHdr=void 0}Object.defineProperties(Ob.prototype,{classificationTexture:{get:function(){return this._framebuffer.getColorTexture()}},classificationFramebuffer:{get:function(){return this._framebuffer.framebuffer}},packedDepthFramebuffer:{get:function(){return this._packedDepthFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._framebuffer.getDepthStencilTexture()}},depthStencilRenderbuffer:{get:function(){return this._framebuffer.getDepthStencilRenderbuffer()}},packedDepthTexture:{get:function(){return this._packedDepthFramebuffer.getColorTexture()}}});function Hht(e){e._framebuffer.destroy(),e._packedDepthFramebuffer.destroy()}function Ght(e,t,n,i,o){let r=o?t.halfFloatingPointTexture?Ze.HALF_FLOAT:Ze.FLOAT:Ze.UNSIGNED_BYTE;e._framebuffer.update(t,n,i,1,r),e._packedDepthFramebuffer.update(t,n,i)}function Wht(e,t,n,i,o){e._viewport.width=n,e._viewport.height=i;let r=!Ye.equals(e._viewport,o.viewport),s=r!==e._useScissorTest;e._useScissorTest=r,Ye.equals(e._scissorRectangle,o.viewport)||(e._scissorRectangle=Ye.clone(o.viewport,e._scissorRectangle),s=!0),(!l(e._renderState)||!Ye.equals(e._viewport,e._renderState.viewport)||s)&&(e._renderState=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packedDepthCommand)||(e._packedDepthCommand=t.createViewportQuadCommand(Pb,{uniformMap:{u_depthTexture:function(){return e.depthStencilTexture}},owner:e})),l(e._clearCommand)||(e._clearCommand=new ri({color:new z(0,0,0,0),depth:1,stencil:0,owner:e})),e._packedDepthCommand.framebuffer=e._packedDepthFramebuffer.framebuffer,e._packedDepthCommand.renderState=e._renderState,e._clearCommand.framebuffer=e.classificationFramebuffer,e._clearCommand.renderState=e._renderState}Ob.prototype.updateAndClear=function(e,t,n,i){let o=t.width,r=t.height;Ght(this,n,o,r,e),Wht(this,n,o,r,i),this._useHdr=e};Ob.prototype.clearClassification=function(e,t){this._clearCommand.execute(e,t)};Ob.prototype.packDepth=function(e,t){return this._packedDepthCommand.execute(e,t),this.packedDepthTexture};Ob.prototype.isDestroyed=function(){return!1};Ob.prototype.destroy=function(){return Hht(this),ue(this)};var g4=Ob;function x_(e){this._numSamples=1,this._translucentMultipassSupport=!1,this._translucentMRTSupport=!1;let t=e.colorBufferFloat&&e.depthTexture&&e.floatBlend;this._translucentMRTSupport=e.drawBuffers&&t,this._translucentMultipassSupport=!this._translucentMRTSupport&&t,this._opaqueFBO=void 0,this._opaqueTexture=void 0,this._depthStencilTexture=void 0,this._accumulationTexture=void 0,this._translucentFBO=new _i({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._alphaFBO=new _i({createColorAttachments:!1,createDepthAttachments:!1,depth:!0}),this._adjustTranslucentFBO=new _i({colorAttachmentsLength:this._translucentMRTSupport?2:1,createColorAttachments:!1}),this._adjustAlphaFBO=new _i({createColorAttachments:!1}),this._opaqueClearCommand=new ri({color:new z(0,0,0,0),owner:this}),this._translucentMRTClearCommand=new ri({color:new z(0,0,0,1),owner:this}),this._translucentMultipassClearCommand=new ri({color:new z(0,0,0,0),owner:this}),this._alphaClearCommand=new ri({color:new z(1,1,1,1),owner:this}),this._translucentRenderStateCache={},this._alphaRenderStateCache={},this._compositeCommand=void 0,this._adjustTranslucentCommand=void 0,this._adjustAlphaCommand=void 0,this._viewport=new Ye,this._rs=void 0,this._useScissorTest=!1,this._scissorRectangle=void 0,this._useHDR=!1}function gxe(e){e._accumulationTexture=e._accumulationTexture&&!e._accumulationTexture.isDestroyed()&&e._accumulationTexture.destroy(),e._revealageTexture=e._revealageTexture&&!e._revealageTexture.isDestroyed()&&e._revealageTexture.destroy()}function JX(e){e._translucentFBO.destroy(),e._alphaFBO.destroy(),e._adjustTranslucentFBO.destroy(),e._adjustAlphaFBO.destroy()}function yxe(e){gxe(e),JX(e)}function jht(e,t,n,i){gxe(e),e._accumulationTexture=new Pt({context:t,width:n,height:i,pixelFormat:ot.RGBA,pixelDatatype:Ze.FLOAT}),e._revealageTexture=new Pt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Ze.FLOAT,width:n,height:i,flipY:!1})}function qht(e,t){JX(e);let n=te.FRAMEBUFFER_COMPLETE,i=!0,{width:o,height:r}=e._accumulationTexture;if(e._translucentMRTSupport&&(e._translucentFBO.setColorTexture(e._accumulationTexture,0),e._translucentFBO.setColorTexture(e._revealageTexture,1),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture,0),e._adjustTranslucentFBO.setColorTexture(e._revealageTexture,1),e._adjustTranslucentFBO.update(t,o,r),(e._translucentFBO.status!==n||e._adjustTranslucentFBO.status!==n)&&(JX(e),e._translucentMRTSupport=!1)),!e._translucentMRTSupport){e._translucentFBO.setColorTexture(e._accumulationTexture),e._translucentFBO.setDepthStencilTexture(e._depthStencilTexture),e._translucentFBO.update(t,o,r),e._alphaFBO.setColorTexture(e._revealageTexture),e._alphaFBO.setDepthStencilTexture(e._depthStencilTexture),e._alphaFBO.update(t,o,r),e._adjustTranslucentFBO.setColorTexture(e._accumulationTexture),e._adjustTranslucentFBO.update(t,o,r),e._adjustAlphaFBO.setColorTexture(e._revealageTexture),e._adjustAlphaFBO.update(t,o,r);let s=e._translucentFBO.status===n,a=e._alphaFBO.status===n,c=e._adjustTranslucentFBO.status===n,u=e._adjustAlphaFBO.status===n;(!s||!a||!c||!u)&&(yxe(e),e._translucentMultipassSupport=!1,i=!1)}return i}x_.prototype.update=function(e,t,n,i,o){if(!this.isSupported())return;this._opaqueFBO=n,this._opaqueTexture=n.getColorTexture(0),this._depthStencilTexture=n.getDepthStencilTexture();let{width:r,height:s}=this._opaqueTexture,a=this._accumulationTexture,c=!l(a)||a.width!==r||a.height!==s||i!==this._useHDR,u=this._numSamples!==o;if((c||u)&&(this._numSamples=o,jht(this,e,r,s)),(!l(this._translucentFBO.framebuffer)||c||u)&&!qht(this,e))return;this._useHDR=i;let f=this,d,p;l(this._compositeCommand)||(d=new He({sources:[VU]}),this._translucentMRTSupport&&d.defines.push("MRT"),p={u_opaque:function(){return f._opaqueTexture},u_accumulation:function(){return f._accumulationTexture},u_revealage:function(){return f._revealageTexture}},this._compositeCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})),l(this._adjustTranslucentCommand)||(this._translucentMRTSupport?(d=new He({defines:["MRT"],sources:[MI]}),p={u_bgColor:function(){return f._translucentMRTClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this})):this._translucentMultipassSupport&&(d=new He({sources:[MI]}),p={u_bgColor:function(){return f._translucentMultipassClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustTranslucentCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}),p={u_bgColor:function(){return f._alphaClearCommand.color},u_depthTexture:function(){return f._depthStencilTexture}},this._adjustAlphaCommand=e.createViewportQuadCommand(d,{uniformMap:p,owner:this}))),this._viewport.width=r,this._viewport.height=s;let g=!Ye.equals(this._viewport,t.viewport),m=g!==this._useScissorTest;this._useScissorTest=g,Ye.equals(this._scissorRectangle,t.viewport)||(this._scissorRectangle=Ye.clone(t.viewport,this._scissorRectangle),m=!0),(!l(this._rs)||!Ye.equals(this._viewport,this._rs.viewport)||m)&&(this._rs=ze.fromCache({viewport:this._viewport,scissorTest:{enabled:this._useScissorTest,rectangle:this._scissorRectangle}})),l(this._compositeCommand)&&(this._compositeCommand.renderState=this._rs),this._adjustTranslucentCommand&&(this._adjustTranslucentCommand.renderState=this._rs),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.renderState=this._rs)};var Yht={enabled:!0,color:new z(0,0,0,0),equationRgb:Za.ADD,equationAlpha:Za.ADD,functionSourceRgb:So.ONE,functionDestinationRgb:So.ONE,functionSourceAlpha:So.ZERO,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA},Xht={enabled:!0,color:new z(0,0,0,0),equationRgb:Za.ADD,equationAlpha:Za.ADD,functionSourceRgb:So.ONE,functionDestinationRgb:So.ONE,functionSourceAlpha:So.ONE,functionDestinationAlpha:So.ONE},Kht={enabled:!0,color:new z(0,0,0,0),equationRgb:Za.ADD,equationAlpha:Za.ADD,functionSourceRgb:So.ZERO,functionDestinationRgb:So.ONE_MINUS_SOURCE_ALPHA,functionSourceAlpha:So.ZERO,functionDestinationAlpha:So.ONE_MINUS_SOURCE_ALPHA};function eK(e,t,n,i){let o=n[i.id];if(!l(o)){let r=ze.getState(i);r.depthMask=!1,r.blending=t,o=ze.fromCache(r),n[i.id]=o}return o}function Zht(e,t,n){return eK(t,Yht,e._translucentRenderStateCache,n)}function $ht(e,t,n){return eK(t,Xht,e._translucentRenderStateCache,n)}function Qht(e,t,n){return eK(t,Kht,e._alphaRenderStateCache,n)}var Jht=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragData_0 = vec4(Ci * wzi, ai); + out_FragData_1 = vec4(ai * wzi); +`,emt=` vec3 Ci = czm_out_FragColor.rgb * czm_out_FragColor.a; + float ai = czm_out_FragColor.a; + float wzi = czm_alphaWeight(ai); + out_FragColor = vec4(Ci, ai) * wzi; +`,tmt=` float ai = czm_out_FragColor.a; + out_FragColor = vec4(ai); +`;function tK(e,t,n,i){let{shaderCache:o}=e,r=o.getDerivedShaderProgram(t,n);if(l(r))return r;let s=t._attributeLocations,a=t.fragmentShaderSource.clone();a.sources=a.sources.map(function(f){return He.replaceMain(f,"czm_translucent_main").replace(/out_FragColor/g,"czm_out_FragColor").replace(/layout\s*\(location\s*=\s*0\)\s*out\s+vec4\s+out_FragColor;/g,"").replace(/\bdiscard\b/g,"czm_discard = true").replace(/czm_phong/g,"czm_translucentPhong")}),a.sources.splice(0,0,`vec4 czm_out_FragColor; +bool czm_discard = false; +`);let c=[...i.matchAll(/out_FragData_(\d+)/g)],u="";for(let f=0;f<c.length;f++){let d=c[f];u=`layout (location = ${d[1]}) out vec4 ${d[0]}; +${u}`}return a.sources.push(u),a.sources.push(`void main() +{ + czm_translucent_main(); + if (czm_discard) + { + discard; + } +${i}} +`),o.createDerivedShaderProgram(t,n,{vertexShaderSource:t.vertexShaderSource,fragmentShaderSource:a,attributeLocations:s})}function nmt(e,t){return tK(e,t,"translucentMRT",Jht)}function imt(e,t){return tK(e,t,"translucentMultipass",emt)}function omt(e,t){return tK(e,t,"alphaMultipass",tmt)}x_.prototype.createDerivedCommands=function(e,t,n){if(l(n)||(n={}),this._translucentMRTSupport){let a,c;return l(n.translucentCommand)&&(a=n.translucentCommand.shaderProgram,c=n.translucentCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),!l(a)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=nmt(t,e.shaderProgram),n.translucentCommand.renderState=Zht(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=a,n.translucentCommand.renderState=c),n}let i,o,r,s;return l(n.translucentCommand)&&(i=n.translucentCommand.shaderProgram,o=n.translucentCommand.renderState,r=n.alphaCommand.shaderProgram,s=n.alphaCommand.renderState),n.translucentCommand=tt.shallowClone(e,n.translucentCommand),n.alphaCommand=tt.shallowClone(e,n.alphaCommand),!l(i)||n.shaderProgramId!==e.shaderProgram.id?(n.translucentCommand.shaderProgram=imt(t,e.shaderProgram),n.translucentCommand.renderState=$ht(this,t,e.renderState),n.alphaCommand.shaderProgram=omt(t,e.shaderProgram),n.alphaCommand.renderState=Qht(this,t,e.renderState),n.shaderProgramId=e.shaderProgram.id):(n.translucentCommand.shaderProgram=i,n.translucentCommand.renderState=o,n.alphaCommand.shaderProgram=r,n.alphaCommand.renderState=s),n};function rmt(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i),i.framebuffer=e._adjustAlphaFBO.framebuffer,e._adjustAlphaCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=e._alphaFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.alphaCommand:x.derivedCommands.oit.alphaCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.alphaCommand:m.derivedCommands.oit.alphaCommand;n(x,t,i,g)}i.framebuffer=d}function smt(e,t,n,i,o,r){let{context:s,frameState:a}=t,{useLogDepth:c,shadowState:u}=a,f=t._hdr,d=i.framebuffer,p=u.lightShadowsEnabled;i.framebuffer=e._adjustTranslucentFBO.framebuffer,e._adjustTranslucentCommand.execute(s,i);let g=e._opaqueFBO.framebuffer;i.framebuffer=e._translucentFBO.framebuffer;for(let m=0;m<o.length;++m){let x=o[m];x=c?x.derivedCommands.logDepth.command:x,x=f?x.derivedCommands.hdr.command:x;let b=p&&x.receiveShadows?x.derivedCommands.oit.shadows.translucentCommand:x.derivedCommands.oit.translucentCommand;n(b,t,i,g)}if(l(r)){let m=r.unclassifiedCommand,x=p&&m.receiveShadows?m.derivedCommands.oit.shadows.translucentCommand:m.derivedCommands.oit.translucentCommand;n(x,t,i,g)}i.framebuffer=d}x_.prototype.executeCommands=function(e,t,n,i,o){if(this._translucentMRTSupport){smt(this,e,t,n,i,o);return}rmt(this,e,t,n,i,o)};x_.prototype.execute=function(e,t){this._compositeCommand.execute(e,t)};x_.prototype.clear=function(e,t,n){let i=t.framebuffer;t.framebuffer=this._opaqueFBO.framebuffer,z.clone(n,this._opaqueClearCommand.color),this._opaqueClearCommand.execute(e,t),t.framebuffer=this._translucentFBO.framebuffer,(this._translucentMRTSupport?this._translucentMRTClearCommand:this._translucentMultipassClearCommand).execute(e,t),this._translucentMultipassSupport&&(t.framebuffer=this._alphaFBO.framebuffer,this._alphaClearCommand.execute(e,t)),t.framebuffer=i};x_.prototype.isSupported=function(){return this._translucentMRTSupport||this._translucentMultipassSupport};x_.prototype.isDestroyed=function(){return!1};x_.prototype.destroy=function(){return yxe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._adjustTranslucentCommand)&&(this._adjustTranslucentCommand.shaderProgram=this._adjustTranslucentCommand.shaderProgram&&this._adjustTranslucentCommand.shaderProgram.destroy()),l(this._adjustAlphaCommand)&&(this._adjustAlphaCommand.shaderProgram=this._adjustAlphaCommand.shaderProgram&&this._adjustAlphaCommand.shaderProgram.destroy()),ue(this)};var y4=x_;function aP(){this._framebuffer=new _i({color:!1,depthStencil:!0,supportsDepthTexture:!0}),this._passState=void 0}Object.defineProperties(aP.prototype,{framebuffer:{get:function(){return this._framebuffer.framebuffer}}});function amt(e){e._framebuffer.destroy()}function cmt(e,t){let n=t.drawingBufferWidth,i=t.drawingBufferHeight;e._framebuffer.update(t,n,i);let o=new Ec(t);o.blendingEnabled=!1,o.scissorTest={enabled:!0,rectangle:new Ye},o.viewport=new Ye,e._passState=o}aP.prototype.update=function(e,t,n){let i=n.width,o=n.height;this._framebuffer.isDirty(i,o)&&cmt(this,e);let r=this.framebuffer,s=this._passState;return s.framebuffer=r,s.viewport.width=i,s.viewport.height=o,s.scissorTest.rectangle.x=t.x,s.scissorTest.rectangle.y=o-t.y,s.scissorTest.rectangle.width=1,s.scissorTest.rectangle.height=1,s};aP.prototype.isDestroyed=function(){return!1};aP.prototype.destroy=function(){return amt(this),ue(this)};var x4=aP;function dS(e){let t=new Ec(e);t.blendingEnabled=!1,t.scissorTest={enabled:!0,rectangle:new Ye},t.viewport=new Ye,this._context=e,this._fb=new _i({depthStencil:!0}),this._passState=t,this._width=0,this._height=0}dS.prototype.begin=function(e,t){let n=this._context,{width:i,height:o}=t;return Ye.clone(e,this._passState.scissorTest.rectangle),this._width=i,this._height=o,this._fb.update(n,i,o),this._passState.framebuffer=this._fb.framebuffer,this._passState.viewport.width=i,this._passState.viewport.height=o,this._passState};var cP=new z;dS.prototype.end=function(e){let t=y(e.width,1),n=y(e.height,1),i=this._context,o=i.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.max(t,n),s=r*r,a=Math.floor(t*.5),c=Math.floor(n*.5),u=0,f=0,d=0,p=-1;for(let g=0;g<s;++g){if(-a<=u&&u<=a&&-c<=f&&f<=c){let m=4*((c-f)*t+u+a);cP.red=z.byteToFloat(o[m]),cP.green=z.byteToFloat(o[m+1]),cP.blue=z.byteToFloat(o[m+2]),cP.alpha=z.byteToFloat(o[m+3]);let x=i.getObjectByPickColor(cP);if(l(x))return x}if(u===f||u<0&&-u===f||u>0&&u===1-f){let m=d;d=-p,p=m}u+=d,f+=p}};dS.prototype.readCenterPixel=function(e){let t=y(e.width,1),n=y(e.height,1),o=this._context.readPixels({x:e.x,y:e.y,width:t,height:n,framebuffer:this._fb.framebuffer}),r=Math.floor(t*.5),a=4*(Math.floor(n*.5)*t+r);return o.slice(a,a+4)};dS.prototype.isDestroyed=function(){return!1};dS.prototype.destroy=function(){return this._fb.destroy(),ue(this)};var b4=dS;function b_(){this._numSamples=1,this._colorFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._idFramebuffer=new _i({depthStencil:!0,supportsDepthTexture:!0}),this._idClearColor=new z(0,0,0,0),this._clearCommand=new ri({color:new z(0,0,0,0),depth:1,owner:this})}function lmt(e){e._colorFramebuffer.destroy(),e._idFramebuffer.destroy()}Object.defineProperties(b_.prototype,{framebuffer:{get:function(){return this._colorFramebuffer.framebuffer}},idFramebuffer:{get:function(){return this._idFramebuffer.framebuffer}},depthStencilTexture:{get:function(){return this._colorFramebuffer.getDepthStencilTexture()}}});b_.prototype.update=function(e,t,n,i){let o=t.width,r=t.height,s=n?e.halfFloatingPointTexture?Ze.HALF_FLOAT:Ze.FLOAT:Ze.UNSIGNED_BYTE;this._numSamples=i,this._colorFramebuffer.update(e,o,r,i,s),this._idFramebuffer.update(e,o,r)};b_.prototype.clear=function(e,t,n){z.clone(n,this._clearCommand.color),z.clone(this._idClearColor,this._clearCommand.color),this._colorFramebuffer.clear(e,this._clearCommand,t),this._idFramebuffer.clear(e,this._clearCommand,t)};b_.prototype.getFramebuffer=function(){return this._colorFramebuffer.framebuffer};b_.prototype.getIdFramebuffer=function(){return this._idFramebuffer.framebuffer};b_.prototype.prepareColorTextures=function(e){this._numSamples>1&&this._colorFramebuffer.prepareTextures(e)};b_.prototype.isDestroyed=function(){return!1};b_.prototype.destroy=function(){return lmt(this),ue(this)};var hS=b_;function Rb(){}Rb.getShadowCastShaderKeyword=function(e,t,n,i){return`castShadow ${e} ${t} ${n} ${i}`};Rb.createShadowCastVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);i.push("SHADOW_MAP"),n&&i.push("GENERATE_POSITION");let r=He.findPositionVarying(e),s=l(r);if(t&&!s){let a=o.length;for(let u=0;u<a;++u)o[u]=He.replaceMain(o[u],"czm_shadow_cast_main");o.push(`out vec3 v_positionEC; +void main() +{ + czm_shadow_cast_main(); + v_positionEC = (czm_inverseProjection * gl_Position).xyz; +}`)}return new He({defines:i,sources:o})};Rb.createShadowCastFragmentShader=function(e,t,n,i){let o=e.defines.slice(0),r=e.sources.slice(0);o.push("SHADOW_MAP");let s=He.findPositionVarying(e),a=l(s);a||(s="v_positionEC");let c=r.length;for(let f=0;f<c;++f)r[f]=He.replaceMain(r[f],"czm_shadow_cast_main");let u="";return t&&(a||(u+=`in vec3 v_positionEC; +`),u+=`uniform vec4 shadowMap_lightPositionEC; +`),i?u+=`void main() +{ +`:u+=`void main() +{ + czm_shadow_cast_main(); + if (out_FragColor.a == 0.0) + { + discard; + } +`,t?u+=` float distance = length(${s}); + if (distance >= shadowMap_lightPositionEC.w) + { + discard; + } + distance /= shadowMap_lightPositionEC.w; // radius + out_FragColor = czm_packDepth(distance); +`:n?u+=` out_FragColor = vec4(1.0); +`:u+=` out_FragColor = czm_packDepth(gl_FragCoord.z); +`,u+=`} +`,r.push(u),new He({defines:o,sources:r})};Rb.getShadowReceiveShaderKeyword=function(e,t,n,i){let o=e._usesDepthTexture,r=e._polygonOffsetSupported,s=e._isPointLight,a=e._isSpotLight,c=e._numberOfCascades>1,u=e.debugCascadeColors,f=e.softShadows;return`receiveShadow ${o}${r}${s}${a}${c}${u}${f}${t}${n}${i}`};Rb.createShadowReceiveVertexShader=function(e,t,n){let i=e.defines.slice(0),o=e.sources.slice(0);return i.push("SHADOW_MAP"),t&&(n?i.push("GENERATE_POSITION_AND_NORMAL"):i.push("GENERATE_POSITION")),new He({defines:i,sources:o})};Rb.createShadowReceiveFragmentShader=function(e,t,n,i,o){let r=He.findNormalVarying(e),s=!i&&l(r)||i&&o,a=He.findPositionVarying(e),c=l(a),u=t._usesDepthTexture,f=t._polygonOffsetSupported,d=t._isPointLight,p=t._isSpotLight,g=t._numberOfCascades>1,m=t.debugCascadeColors,x=t.softShadows,b=d?t._pointBias:i?t._terrainBias:t._primitiveBias,T=e.defines.slice(0),C=e.sources.slice(0),A=C.length;for(let D=0;D<A;++D)C[D]=He.replaceMain(C[D],"czm_shadow_receive_main");d?T.push("USE_CUBE_MAP_SHADOW"):u&&T.push("USE_SHADOW_DEPTH_TEXTURE"),x&&!d&&T.push("USE_SOFT_SHADOWS"),g&&n&&i&&(s?T.push("ENABLE_VERTEX_LIGHTING"):T.push("ENABLE_DAYNIGHT_SHADING")),n&&b.normalShading&&s&&(T.push("USE_NORMAL_SHADING"),b.normalShadingSmooth>0&&T.push("USE_NORMAL_SHADING_SMOOTH"));let S="";d?S+=`uniform samplerCube shadowMap_textureCube; +`:S+=`uniform sampler2D shadowMap_texture; +`;let v;return c?v=` return vec4(${a}, 1.0); +`:v=`#ifndef LOG_DEPTH + return czm_windowToEyeCoordinates(gl_FragCoord); +#else + return vec4(v_logPositionEC, 1.0); +#endif +`,S+=`uniform mat4 shadowMap_matrix; +uniform vec3 shadowMap_lightDirectionEC; +uniform vec4 shadowMap_lightPositionEC; +uniform vec4 shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness; +uniform vec4 shadowMap_texelSizeDepthBiasAndNormalShadingSmooth; +#ifdef LOG_DEPTH +in vec3 v_logPositionEC; +#endif +vec4 getPositionEC() +{ +${v}} +vec3 getNormalEC() +{ +${s?` return normalize(${r}); +`:` return vec3(1.0); +`}} +void applyNormalOffset(inout vec4 positionEC, vec3 normalEC, float nDotL) +{ +${b.normalOffset&&s?` float normalOffset = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.x; + float normalOffsetScale = 1.0 - nDotL; + vec3 offset = normalOffset * normalOffsetScale * normalEC; + positionEC.xyz += offset; +`:""}} +`,S+=`void main() +{ + czm_shadow_receive_main(); + vec4 positionEC = getPositionEC(); + vec3 normalEC = getNormalEC(); + float depth = -positionEC.z; +`,S+=` czm_shadowParameters shadowParameters; + shadowParameters.texelStepSize = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.xy; + shadowParameters.depthBias = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.z; + shadowParameters.normalShadingSmooth = shadowMap_texelSizeDepthBiasAndNormalShadingSmooth.w; + shadowParameters.darkness = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.w; +`,i?S+=` shadowParameters.depthBias *= max(depth * 0.01, 1.0); +`:f||(S+=` shadowParameters.depthBias *= mix(1.0, 100.0, depth * 0.0015); +`),d?S+=` vec3 directionEC = positionEC.xyz - shadowMap_lightPositionEC.xyz; + float distance = length(directionEC); + directionEC = normalize(directionEC); + float radius = shadowMap_lightPositionEC.w; + // Stop early if the fragment is beyond the point light radius + if (distance > radius) + { + return; + } + vec3 directionWC = czm_inverseViewRotation * directionEC; + shadowParameters.depth = distance / radius; + shadowParameters.nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + shadowParameters.texCoords = directionWC; + float visibility = czm_shadowVisibility(shadowMap_textureCube, shadowParameters); +`:p?S+=` vec3 directionEC = normalize(positionEC.xyz - shadowMap_lightPositionEC.xyz); + float nDotL = clamp(dot(normalEC, -directionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Spot light uses a perspective projection, so perform the perspective divide + shadowPosition /= shadowPosition.w; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`:g?S+=` float maxDepth = shadowMap_cascadeSplits[1].w; + // Stop early if the eye depth exceeds the last cascade + if (depth > maxDepth) + { + return; + } + // Get the cascade based on the eye-space depth + vec4 weights = czm_cascadeWeights(depth); + // Apply normal offset + float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + // Transform position into the cascade + vec4 shadowPosition = czm_cascadeMatrix(weights) * positionEC; + // Get visibility + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); + // Fade out shadows that are far away + float shadowMapMaximumDistance = shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness.z; + float fade = max((depth - shadowMapMaximumDistance * 0.8) / (shadowMapMaximumDistance * 0.2), 0.0); + visibility = mix(visibility, 1.0, fade); +${m?` // Draw cascade colors for debugging + out_FragColor *= czm_cascadeColor(weights); +`:""}`:S+=` float nDotL = clamp(dot(normalEC, shadowMap_lightDirectionEC), 0.0, 1.0); + applyNormalOffset(positionEC, normalEC, nDotL); + vec4 shadowPosition = shadowMap_matrix * positionEC; + // Stop early if the fragment is not in the shadow bounds + if (any(lessThan(shadowPosition.xyz, vec3(0.0))) || any(greaterThan(shadowPosition.xyz, vec3(1.0)))) + { + return; + } + shadowParameters.texCoords = shadowPosition.xy; + shadowParameters.depth = shadowPosition.z; + shadowParameters.nDotL = nDotL; + float visibility = czm_shadowVisibility(shadowMap_texture, shadowParameters); +`,S+=` out_FragColor.rgb *= visibility; +} +`,C.push(S),new He({defines:T,sources:C})};var T_=Rb;function Um(e){e=y(e,y.EMPTY_OBJECT);let t=e.context;this._enabled=y(e.enabled,!0),this._softShadows=y(e.softShadows,!1),this._normalOffset=y(e.normalOffset,!0),this.dirty=!0,this.fromLightSource=y(e.fromLightSource,!0),this.darkness=y(e.darkness,.3),this._darkness=this.darkness,this.fadingEnabled=y(e.fadingEnabled,!0),this.maximumDistance=y(e.maximumDistance,5e3),this._outOfView=!1,this._outOfViewPrevious=!1,this._needsUpdate=!0;let n=!0;(Gt.isInternetExplorer()||Gt.isEdge()||(Gt.isChrome()||Gt.isFirefox())&&Gt.isWindows()&&!t.depthTexture)&&(n=!1),this._polygonOffsetSupported=n;let i=y(e.depthBiasStep,1);this._terrainBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.5,normalShading:!0,normalShadingSmooth:.3,depthBias:1e-4*i},this._primitiveBias={polygonOffset:n,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:.1,normalShading:!0,normalShadingSmooth:.05,depthBias:2e-5*i},this._pointBias={polygonOffset:!1,polygonOffsetFactor:1.1,polygonOffsetUnits:4,normalOffset:this._normalOffset,normalOffsetScale:0,normalShading:!0,normalShadingSmooth:.1,depthBias:5e-4*i},this._depthAttachment=void 0,this._colorAttachment=void 0,this._shadowMapMatrix=new F,this._shadowMapTexture=void 0,this._lightDirectionEC=new h,this._lightPositionEC=new oe,this._distance=0,this._lightCamera=e.lightCamera,this._shadowMapCamera=new T4,this._shadowMapCullingVolume=void 0,this._sceneCamera=void 0,this._boundingSphere=new ce,this._isPointLight=y(e.isPointLight,!1),this._pointLightRadius=y(e.pointLightRadius,100),this._cascadesEnabled=this._isPointLight?!1:y(e.cascadesEnabled,!0),this._numberOfCascades=this._cascadesEnabled?y(e.numberOfCascades,4):0,this._fitNearFar=!0,this._maximumCascadeDistances=[25,150,700,Number.MAX_VALUE],this._textureSize=new U,this._isSpotLight=!1,this._cascadesEnabled?this._shadowMapCamera.frustum=new Wr:l(this._lightCamera.frustum.fov)&&(this._isSpotLight=!0),this._cascadeSplits=[new oe,new oe],this._cascadeMatrices=[new F,new F,new F,new F],this._cascadeDistances=new oe;let o;this._isPointLight?o=6:this._cascadesEnabled?o=this._numberOfCascades:o=1,this._passes=new Array(o);for(let r=0;r<o;++r)this._passes[r]=new umt(t);this.debugShow=!1,this.debugFreezeFrame=!1,this._debugFreezeFrame=!1,this._debugCascadeColors=!1,this._debugLightFrustum=void 0,this._debugCameraFrustum=void 0,this._debugCascadeFrustums=new Array(this._numberOfCascades),this._debugShadowViewCommand=void 0,this._usesDepthTexture=t.depthTexture,this._isPointLight&&(this._usesDepthTexture=!1),this._primitiveRenderState=void 0,this._terrainRenderState=void 0,this._pointRenderState=void 0,iK(this),this._clearCommand=new ri({depth:1,color:new z}),this._clearPassState=new Ec(t),this._size=y(e.size,2048),this.size=this._size}Um.MAXIMUM_DISTANCE=2e4;function umt(e){this.camera=new T4,this.passState=new Ec(e),this.framebuffer=void 0,this.textureOffsets=void 0,this.commandList=[],this.cullingVolume=void 0}function nK(e,t){return ze.fromCache({cull:{enabled:!0,face:Ti.BACK},depthTest:{enabled:!0},colorMask:{red:e,green:e,blue:e,alpha:e},depthMask:!0,polygonOffset:{enabled:t.polygonOffset,factor:t.polygonOffsetFactor,units:t.polygonOffsetUnits}})}function iK(e){let t=!e._usesDepthTexture;e._primitiveRenderState=nK(t,e._primitiveBias),e._terrainRenderState=nK(t,e._terrainBias),e._pointRenderState=nK(t,e._pointBias)}Um.prototype.debugCreateRenderStates=function(){iK(this)};Object.defineProperties(Um.prototype,{enabled:{get:function(){return this._enabled},set:function(e){this.dirty=this._enabled!==e,this._enabled=e}},normalOffset:{get:function(){return this._normalOffset},set:function(e){this.dirty=this._normalOffset!==e,this._normalOffset=e,this._terrainBias.normalOffset=e,this._primitiveBias.normalOffset=e,this._pointBias.normalOffset=e}},softShadows:{get:function(){return this._softShadows},set:function(e){this.dirty=this._softShadows!==e,this._softShadows=e}},size:{get:function(){return this._size},set:function(e){_mt(this,e)}},outOfView:{get:function(){return this._outOfView}},shadowMapCullingVolume:{get:function(){return this._shadowMapCullingVolume}},passes:{get:function(){return this._passes}},isPointLight:{get:function(){return this._isPointLight}},debugCascadeColors:{get:function(){return this._debugCascadeColors},set:function(e){this.dirty=this._debugCascadeColors!==e,this._debugCascadeColors=e}}});function oK(e){let t=e._passes.length;for(let n=0;n<t;++n){let i=e._passes[n],o=i.framebuffer;l(o)&&!o.isDestroyed()&&o.destroy(),i.framebuffer=void 0}e._depthAttachment=e._depthAttachment&&e._depthAttachment.destroy(),e._colorAttachment=e._colorAttachment&&e._colorAttachment.destroy()}function fmt(e,t){let n=new Zu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:ul.DEPTH_COMPONENT16}),i=new Pt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,sampler:$t.NEAREST}),o=new Gr({context:t,depthRenderbuffer:n,colorTextures:[i],destroyAttachments:!1}),r=e._passes.length;for(let s=0;s<r;++s){let a=e._passes[s];a.framebuffer=o,a.passState.framebuffer=o}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function dmt(e,t){let n=new Pt({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Ze.UNSIGNED_INT_24_8,sampler:$t.NEAREST}),i=new Gr({context:t,depthStencilTexture:n,destroyAttachments:!1}),o=e._passes.length;for(let r=0;r<o;++r){let s=e._passes[r];s.framebuffer=i,s.passState.framebuffer=i}e._shadowMapTexture=n,e._depthAttachment=n}function hmt(e,t){let n=new Zu({context:t,width:e._textureSize.x,height:e._textureSize.y,format:ul.DEPTH_COMPONENT16}),i=new Ir({context:t,width:e._textureSize.x,height:e._textureSize.y,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,sampler:$t.NEAREST}),o=[i.negativeX,i.negativeY,i.negativeZ,i.positiveX,i.positiveY,i.positiveZ];for(let r=0;r<6;++r){let s=new Gr({context:t,depthRenderbuffer:n,colorTextures:[o[r]],destroyAttachments:!1}),a=e._passes[r];a.framebuffer=s,a.passState.framebuffer=s}e._shadowMapTexture=i,e._depthAttachment=n,e._colorAttachment=i}function Txe(e,t){e._isPointLight?hmt(e,t):e._usesDepthTexture?dmt(e,t):fmt(e,t)}function mmt(e,t){e._usesDepthTexture&&e._passes[0].framebuffer.status!==te.FRAMEBUFFER_COMPLETE&&(e._usesDepthTexture=!1,iK(e),oK(e),Txe(e,t))}function pmt(e,t){(!l(e._passes[0].framebuffer)||e._shadowMapTexture.width!==e._textureSize.x)&&(oK(e),Txe(e,t),mmt(e,t),Cxe(e,t))}function Cxe(e,t,n){n=y(n,0),(e._isPointLight||n===0)&&(e._clearCommand.framebuffer=e._passes[n].framebuffer,e._clearCommand.execute(t,e._clearPassState))}function _mt(e,t){e._size=t;let n=e._passes,i=n.length,o=e._textureSize;if(e._isPointLight){t=Bt.maximumCubeMapSize>=t?t:Bt.maximumCubeMapSize,o.x=t,o.y=t;let r=new Ye(0,0,t,t);n[0].passState.viewport=r,n[1].passState.viewport=r,n[2].passState.viewport=r,n[3].passState.viewport=r,n[4].passState.viewport=r,n[5].passState.viewport=r}else i===1?(t=Bt.maximumTextureSize>=t?t:Bt.maximumTextureSize,o.x=t,o.y=t,n[0].passState.viewport=new Ye(0,0,t,t)):i===4&&(t=Bt.maximumTextureSize>=t*2?t:Bt.maximumTextureSize/2,o.x=t*2,o.y=t*2,n[0].passState.viewport=new Ye(0,0,t,t),n[1].passState.viewport=new Ye(t,0,t,t),n[2].passState.viewport=new Ye(0,t,t,t),n[3].passState.viewport=new Ye(t,t,t,t));e._clearPassState.viewport=new Ye(0,0,o.x,o.y);for(let r=0;r<i;++r){let s=n[r],a=s.passState.viewport,c=a.x/o.x,u=a.y/o.y,f=a.width/o.x,d=a.height/o.y;s.textureOffsets=new F(f,0,0,c,0,d,0,u,0,0,1,0,0,0,0,1)}}var gmt=new Ye;function ymt(e,t){let n;e._isPointLight?n=`uniform samplerCube shadowMap_textureCube; +in vec2 v_textureCoordinates; +void main() +{ + vec2 uv = v_textureCoordinates; + vec3 dir; + + if (uv.y < 0.5) + { + if (uv.x < 0.333) + { + dir.x = -1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 1.0; + } + else if (uv.x < 0.666) + { + dir.y = -1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 1.0; + } + else + { + dir.z = -1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 1.0; + } + } + else + { + if (uv.x < 0.333) + { + dir.x = 1.0; + dir.y = uv.x * 6.0 - 1.0; + dir.z = uv.y * 4.0 - 3.0; + } + else if (uv.x < 0.666) + { + dir.y = 1.0; + dir.x = uv.x * 6.0 - 3.0; + dir.z = uv.y * 4.0 - 3.0; + } + else + { + dir.z = 1.0; + dir.x = uv.x * 6.0 - 5.0; + dir.y = uv.y * 4.0 - 3.0; + } + } + + float shadow = czm_unpackDepth(czm_textureCube(shadowMap_textureCube, dir)); + out_FragColor = vec4(vec3(shadow), 1.0); +} +`:n=`uniform sampler2D shadowMap_texture; +in vec2 v_textureCoordinates; +void main() +{ +${e._usesDepthTexture?` float shadow = texture(shadowMap_texture, v_textureCoordinates).r; +`:` float shadow = czm_unpackDepth(texture(shadowMap_texture, v_textureCoordinates)); +`} out_FragColor = vec4(vec3(shadow), 1.0); +} +`;let i=t.createViewportQuadCommand(n,{uniformMap:{shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture}}});return i.pass=ve.OVERLAY,i}function xmt(e,t){let n=t.context,i=t.context.drawingBufferWidth,o=t.context.drawingBufferHeight,r=Math.min(i,o)*.3,s=gmt;s.x=i-r,s.y=0,s.width=r,s.height=r;let a=e._debugShadowViewCommand;l(a)||(a=ymt(e,n),e._debugShadowViewCommand=a),(!l(a.renderState)||!Ye.equals(a.renderState.viewport,s))&&(a.renderState=ze.fromCache({viewport:Ye.clone(s)})),t.commandList.push(e._debugShadowViewCommand)}var zm=new Array(8);zm[0]=new oe(-1,-1,-1,1);zm[1]=new oe(1,-1,-1,1);zm[2]=new oe(1,1,-1,1);zm[3]=new oe(-1,1,-1,1);zm[4]=new oe(-1,-1,1,1);zm[5]=new oe(1,-1,1,1);zm[6]=new oe(1,1,1,1);zm[7]=new oe(-1,1,1,1);var m0=new F,rK=new Array(8);for(let e=0;e<8;++e)rK[e]=new oe;function bmt(e,t){let n=new wt({geometry:new Ph({minimum:new h(-.5,-.5,-.5),maximum:new h(.5,.5,.5)}),attributes:{color:Wt.fromColor(t)}}),i=new wt({geometry:new Qg({radius:.5}),attributes:{color:Wt.fromColor(t)}});return new On({geometryInstances:[n,i],appearance:new un({translucent:!1,flat:!0}),asynchronous:!1,modelMatrix:e})}var Tmt=[z.RED,z.GREEN,z.BLUE,z.MAGENTA],Cmt=new h;function Amt(e,t){xmt(e,t);let n=e.debugFreezeFrame&&!e._debugFreezeFrame;if(e._debugFreezeFrame=e.debugFreezeFrame,e.debugFreezeFrame&&(n&&(e._debugCameraFrustum=e._debugCameraFrustum&&e._debugCameraFrustum.destroy(),e._debugCameraFrustum=new g_({camera:e._sceneCamera,color:z.CYAN,updateOnChange:!1})),e._debugCameraFrustum.update(t)),e._cascadesEnabled){if(e.debugFreezeFrame){n&&(e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=new g_({camera:e._shadowMapCamera,color:z.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t);for(let i=0;i<e._numberOfCascades;++i)n&&(e._debugCascadeFrustums[i]=e._debugCascadeFrustums[i]&&e._debugCascadeFrustums[i].destroy(),e._debugCascadeFrustums[i]=new g_({camera:e._passes[i].camera,color:Tmt[i],updateOnChange:!1})),e._debugCascadeFrustums[i].update(t)}}else if(e._isPointLight){if(!l(e._debugLightFrustum)||e._needsUpdate){let i=e._shadowMapCamera.positionWC,o=Le.IDENTITY,r=e._pointLightRadius*2,s=h.fromElements(r,r,r,Cmt),a=F.fromTranslationQuaternionRotationScale(i,o,s,m0);e._debugLightFrustum=e._debugLightFrustum&&e._debugLightFrustum.destroy(),e._debugLightFrustum=bmt(a,z.YELLOW)}e._debugLightFrustum.update(t)}else(!l(e._debugLightFrustum)||e._needsUpdate)&&(e._debugLightFrustum=new g_({camera:e._shadowMapCamera,color:z.YELLOW,updateOnChange:!1})),e._debugLightFrustum.update(t)}function T4(){this.viewMatrix=new F,this.inverseViewMatrix=new F,this.frustum=void 0,this.positionCartographic=new fe,this.positionWC=new h,this.directionWC=h.clone(h.UNIT_Z),this.upWC=h.clone(h.UNIT_Y),this.rightWC=h.clone(h.UNIT_X),this.viewProjectionMatrix=new F}T4.prototype.clone=function(e){F.clone(e.viewMatrix,this.viewMatrix),F.clone(e.inverseViewMatrix,this.inverseViewMatrix),this.frustum=e.frustum.clone(this.frustum),fe.clone(e.positionCartographic,this.positionCartographic),h.clone(e.positionWC,this.positionWC),h.clone(e.directionWC,this.directionWC),h.clone(e.upWC,this.upWC),h.clone(e.rightWC,this.rightWC)};var Emt=new F(.5,0,0,.5,0,.5,0,.5,0,0,.5,.5,0,0,0,1);T4.prototype.getViewProjection=function(){let e=this.viewMatrix,t=this.frustum.projectionMatrix;return F.multiply(t,e,this.viewProjectionMatrix),F.multiply(Emt,this.viewProjectionMatrix,this.viewProjectionMatrix),this.viewProjectionMatrix};var Smt=new Array(5),vmt=new Di,wmt=new Array(4),Axe=new h,Exe=new h;function Dmt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=i.frustum.near,r=i.frustum.far,s=e._numberOfCascades,a,c=r-o,u=r/o,f=.9,d=!1;t.shadowState.closestObjectSize<200&&(d=!0,f=.9);let p=wmt,g=Smt;for(g[0]=o,g[s]=r,a=0;a<s;++a){let N=(a+1)/s,_=o*Math.pow(u,N),E=o+c*N,w=P.lerp(E,_,f);g[a+1]=w,p[a]=w-g[a]}if(d){for(a=0;a<s;++a)p[a]=Math.min(p[a],e._maximumCascadeDistances[a]);let N=g[0];for(a=0;a<s-1;++a)N+=p[a],g[a+1]=N}oe.unpack(g,0,e._cascadeSplits[0]),oe.unpack(g,1,e._cascadeSplits[1]),oe.unpack(p,0,e._cascadeDistances);let m=n.frustum,x=m.left,b=m.right,T=m.bottom,C=m.top,A=m.near,S=m.far,v=n.positionWC,D=n.directionWC,R=n.upWC,O=i.frustum.clone(vmt),M=n.getViewProjection();for(a=0;a<s;++a){O.near=g[a],O.far=g[a+1];let N=F.multiply(O.projectionMatrix,i.viewMatrix,m0),_=F.inverse(N,m0),E=F.multiply(M,_,m0),w=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Axe),I=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Exe);for(let G=0;G<8;++G){let k=oe.clone(zm[G],rK[G]);F.multiplyByVector(E,k,k),h.divideByScalar(k,k.w,k),h.minimumByComponent(k,w,w),h.maximumByComponent(k,I,I)}w.x=Math.max(w.x,0),w.y=Math.max(w.y,0),w.z=0,I.x=Math.min(I.x,1),I.y=Math.min(I.y,1),I.z=Math.min(I.z,1);let L=e._passes[a],B=L.camera;B.clone(n);let H=B.frustum;H.left=x+w.x*(b-x),H.right=x+I.x*(b-x),H.bottom=T+w.y*(C-T),H.top=T+I.y*(C-T),H.near=A+w.z*(S-A),H.far=A+I.z*(S-A),L.cullingVolume=B.frustum.computeCullingVolume(v,D,R);let V=e._cascadeMatrices[a];F.multiply(B.getViewProjection(),i.inverseViewMatrix,V),F.multiply(L.textureOffsets,V,V)}}var Imt=new F,Pmt=new h,Omt=new h,xxe=new h;function Rmt(e,t){let n=e._shadowMapCamera,i=e._sceneCamera,o=F.multiply(i.frustum.projectionMatrix,i.viewMatrix,m0),r=F.inverse(o,m0),s=n.directionWC,a=i.directionWC;h.equalsEpsilon(s,a,P.EPSILON10)&&(a=i.upWC);let c=h.cross(s,a,Pmt);a=h.cross(c,s,Omt),h.normalize(a,a),h.normalize(c,c);let u=h.fromElements(0,0,0,xxe),f=F.computeView(u,s,a,c,Imt),d=F.multiply(f,r,m0),p=h.fromElements(Number.MAX_VALUE,Number.MAX_VALUE,Number.MAX_VALUE,Axe),g=h.fromElements(-Number.MAX_VALUE,-Number.MAX_VALUE,-Number.MAX_VALUE,Exe);for(let S=0;S<8;++S){let v=oe.clone(zm[S],rK[S]);F.multiplyByVector(d,v,v),h.divideByScalar(v,v.w,v),h.minimumByComponent(v,p,p),h.maximumByComponent(v,g,g)}g.z+=1e3,p.z-=10;let m=xxe;m.x=-(.5*(p.x+g.x)),m.y=-(.5*(p.y+g.y)),m.z=-g.z;let x=F.fromTranslation(m,m0);f=F.multiply(x,f,f);let b=.5*(g.x-p.x),T=.5*(g.y-p.y),C=g.z-p.z,A=n.frustum;A.left=-b,A.right=b,A.bottom=-T,A.top=T,A.near=.01,A.far=C,F.clone(f,n.viewMatrix),F.inverse(f,n.inverseViewMatrix),F.getTranslation(n.inverseViewMatrix,n.positionWC),t.mapProjection.ellipsoid.cartesianToCartographic(n.positionWC,n.positionCartographic),h.clone(s,n.directionWC),h.clone(a,n.upWC),h.clone(c,n.rightWC)}var Mmt=[new h(-1,0,0),new h(0,-1,0),new h(0,0,-1),new h(1,0,0),new h(0,1,0),new h(0,0,1)],Lmt=[new h(0,-1,0),new h(0,0,-1),new h(0,-1,0),new h(0,-1,0),new h(0,0,1),new h(0,-1,0)],Nmt=[new h(0,0,1),new h(1,0,0),new h(-1,0,0),new h(0,0,-1),new h(1,0,0),new h(1,0,0)];function Fmt(e,t){let n=new Di;n.fov=P.PI_OVER_TWO,n.near=1,n.far=e._pointLightRadius,n.aspectRatio=1;for(let i=0;i<6;++i){let o=e._passes[i].camera;o.positionWC=e._shadowMapCamera.positionWC,o.positionCartographic=t.mapProjection.ellipsoid.cartesianToCartographic(o.positionWC,o.positionCartographic),o.directionWC=Mmt[i],o.upWC=Lmt[i],o.rightWC=Nmt[i],F.computeView(o.positionWC,o.directionWC,o.upWC,o.rightWC,o.viewMatrix),F.inverse(o.viewMatrix,o.inverseViewMatrix),o.frustum=n}}var Bmt=new h,kmt=new h,Sxe=new ce,bxe=Sxe.center;function Vmt(e,t){let n=e._sceneCamera,i=e._shadowMapCamera,o=Sxe;if(e._cascadesEnabled){if(n.frustum.near>=e.maximumDistance){e._outOfView=!0,e._needsUpdate=!1;return}let r=t.mapProjection.ellipsoid.geodeticSurfaceNormal(n.positionWC,Bmt),s=h.negate(i.directionWC,kmt),a=h.dot(r,s);if(e.fadingEnabled){let c=P.clamp(a/.1,0,1);e._darkness=P.lerp(1,e.darkness,c)}else e._darkness=e.darkness;if(a<0){e._outOfView=!0,e._needsUpdate=!1;return}e._needsUpdate=!0,e._outOfView=!1}else if(e._isPointLight)o.center=i.positionWC,o.radius=e._pointLightRadius,e._outOfView=t.cullingVolume.computeVisibility(o)===jt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ce.clone(o,e._boundingSphere);else{let r=i.frustum.far/2,s=h.add(i.positionWC,h.multiplyByScalar(i.directionWC,r,bxe),bxe);o.center=s,o.radius=r,e._outOfView=t.cullingVolume.computeVisibility(o)===jt.OUTSIDE,e._needsUpdate=!e._outOfView&&!e._boundingSphere.equals(o),ce.clone(o,e._boundingSphere)}}function Umt(e,t){let n=t.camera,i=e._lightCamera,o=e._sceneCamera,r=e._shadowMapCamera;e._cascadesEnabled?h.clone(i.directionWC,r.directionWC):e._isPointLight?h.clone(i.positionWC,r.positionWC):r.clone(i);let s=e._lightDirectionEC;F.multiplyByPointAsVector(n.viewMatrix,r.directionWC,s),h.normalize(s,s),h.negate(s,s),F.multiplyByPoint(n.viewMatrix,r.positionWC,e._lightPositionEC),e._lightPositionEC.w=e._pointLightRadius;let a,c;e._fitNearFar?(a=Math.min(t.shadowState.nearPlane,e.maximumDistance),c=Math.min(t.shadowState.farPlane,e.maximumDistance),c=Math.max(c,a+1)):(a=n.frustum.near,c=e.maximumDistance),e._sceneCamera=co.clone(n,o),n.frustum.clone(e._sceneCamera.frustum),e._sceneCamera.frustum.near=a,e._sceneCamera.frustum.far=c,e._distance=c-a,Vmt(e,t),!e._outOfViewPrevious&&e._outOfView&&(e._needsUpdate=!0),e._outOfViewPrevious=e._outOfView}Um.prototype.update=function(e){if(Umt(this,e),this._needsUpdate)if(pmt(this,e.context),this._isPointLight&&Fmt(this,e),this._cascadesEnabled&&(Rmt(this,e),this._numberOfCascades>1&&Dmt(this,e)),this._isPointLight)this._shadowMapCullingVolume=As.fromBoundingSphere(this._boundingSphere);else{let t=this._shadowMapCamera,n=t.positionWC,i=t.directionWC,o=t.upWC;this._shadowMapCullingVolume=t.frustum.computeCullingVolume(n,i,o),this._passes.length===1&&this._passes[0].camera.clone(t)}if(this._passes.length===1){let t=this._sceneCamera.inverseViewMatrix;F.multiply(this._shadowMapCamera.getViewProjection(),t,this._shadowMapMatrix)}this.debugShow&&Amt(this,e)};Um.prototype.updatePass=function(e,t){Cxe(this,e,t)};var zmt=new U;function vxe(e,t,n){let i=e._isPointLight?e._pointBias:n?e._terrainBias:e._primitiveBias,o={shadowMap_texture:function(){return e._shadowMapTexture},shadowMap_textureCube:function(){return e._shadowMapTexture},shadowMap_matrix:function(){return e._shadowMapMatrix},shadowMap_cascadeSplits:function(){return e._cascadeSplits},shadowMap_cascadeMatrices:function(){return e._cascadeMatrices},shadowMap_lightDirectionEC:function(){return e._lightDirectionEC},shadowMap_lightPositionEC:function(){return e._lightPositionEC},shadowMap_cascadeDistances:function(){return e._cascadeDistances},shadowMap_texelSizeDepthBiasAndNormalShadingSmooth:function(){let r=zmt;return r.x=1/e._textureSize.x,r.y=1/e._textureSize.y,oe.fromElements(r.x,r.y,i.depthBias,i.normalShadingSmooth,this.combinedUniforms1)},shadowMap_normalOffsetScaleDistanceMaxDistanceAndDarkness:function(){return oe.fromElements(i.normalOffsetScale,e._distance,e.maximumDistance,e._darkness,this.combinedUniforms2)},combinedUniforms1:new oe,combinedUniforms2:new oe};return Ct(t,o,!1)}function Hmt(e,t,n,i,o,r){let s,a,c;if(l(r)&&(s=r.shaderProgram,a=r.renderState,c=r.uniformMap),r=tt.shallowClone(n,r),r.castShadows=!0,r.receiveShadows=!1,!l(s)||o!==n.shaderProgram.id||t){let u=n.shaderProgram,f=n.pass===ve.GLOBE,d=n.pass!==ve.TRANSLUCENT,p=e._isPointLight,g=e._usesDepthTexture,m=T_.getShadowCastShaderKeyword(p,f,g,d);if(s=i.shaderCache.getDerivedShaderProgram(u,m),!l(s)){let b=u.vertexShaderSource,T=u.fragmentShaderSource,C=T_.createShadowCastVertexShader(b,p,f),A=T_.createShadowCastFragmentShader(T,p,g,d);s=i.shaderCache.createDerivedShaderProgram(u,m,{vertexShaderSource:C,fragmentShaderSource:A,attributeLocations:u._attributeLocations})}a=e._primitiveRenderState,p?a=e._pointRenderState:f&&(a=e._terrainRenderState),n.renderState.cull.enabled||(a=We(a,!1),a.cull=We(a.cull,!1),a.cull.enabled=!1,a=ze.fromCache(a)),c=vxe(e,n.uniformMap,f)}return r.shaderProgram=s,r.renderState=a,r.uniformMap=c,r}Um.createReceiveDerivedCommand=function(e,t,n,i,o){l(o)||(o={});let r=e.length>0,s=t.shaderProgram,a=s.vertexShaderSource,c=s.fragmentShaderSource,u=t.pass===ve.GLOBE,f=!1;if(u&&(f=t.owner.data.renderedMesh.encoding.hasVertexNormals),t.receiveShadows&&r){let d,p;l(o.receiveCommand)&&(d=o.receiveCommand.shaderProgram,p=o.receiveCommand.uniformMap),o.receiveCommand=tt.shallowClone(t,o.receiveCommand),o.castShadows=!1,o.receiveShadows=!0;let g=o.receiveShaderCastShadows!==t.castShadows,m=o.receiveShaderProgramId!==t.shaderProgram.id;if(!l(d)||m||n||g){let x=T_.getShadowReceiveShaderKeyword(e[0],t.castShadows,u,f);if(d=i.shaderCache.getDerivedShaderProgram(s,x),!l(d)){let b=T_.createShadowReceiveVertexShader(a,u,f),T=T_.createShadowReceiveFragmentShader(c,e[0],t.castShadows,u,f);d=i.shaderCache.createDerivedShaderProgram(s,x,{vertexShaderSource:b,fragmentShaderSource:T,attributeLocations:s._attributeLocations})}p=vxe(e[0],t.uniformMap,u)}o.receiveCommand.shaderProgram=d,o.receiveCommand.uniformMap=p,o.receiveShaderProgramId=t.shaderProgram.id,o.receiveShaderCastShadows=t.castShadows}return o};Um.createCastDerivedCommand=function(e,t,n,i,o){if(l(o)||(o={}),t.castShadows){let r=o.castCommands;l(r)||(r=o.castCommands=[]);let s=o.castShaderProgramId,a=e.length;r.length=a;for(let c=0;c<a;++c)r[c]=Hmt(e[c],n,t,i,s,r[c]);o.castShaderProgramId=t.shaderProgram.id}return o};Um.prototype.isDestroyed=function(){return!1};Um.prototype.destroy=function(){oK(this),this._debugLightFrustum=this._debugLightFrustum&&this._debugLightFrustum.destroy(),this._debugCameraFrustum=this._debugCameraFrustum&&this._debugCameraFrustum.destroy(),this._debugShadowViewCommand=this._debugShadowViewCommand&&this._debugShadowViewCommand.shaderProgram&&this._debugShadowViewCommand.shaderProgram.destroy();for(let e=0;e<this._numberOfCascades;++e)this._debugCascadeFrustums[e]=this._debugCascadeFrustums[e]&&this._debugCascadeFrustums[e].destroy();return ue(this)};var p0=Um;var mS=`uniform sampler2D colorTexture; + +#ifdef DEBUG_SHOW_DEPTH +uniform sampler2D u_packedTranslucentDepth; +#endif + +in vec2 v_textureCoordinates; + +void main() +{ +#ifdef DEBUG_SHOW_DEPTH + if (v_textureCoordinates.x < 0.5) + { + out_FragColor.rgb = vec3(czm_unpackDepth(texture(u_packedTranslucentDepth, v_textureCoordinates))); + out_FragColor.a = 1.0; + } +#else + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef PICK + if (color == vec4(0.0)) + { + discard; + } +#else + // Reverse premultiplication process to get the correct composited result of the classification primitives + color.rgb /= color.a; +#endif + out_FragColor = color; +#endif +} +`;var Gmt=!1;function _0(e){this._drawClassificationFBO=new _i({createDepthAttachments:!1}),this._accumulationFBO=new _i({createDepthAttachments:!1}),this._packFBO=new _i,this._opaqueDepthStencilTexture=void 0,this._textureToComposite=void 0,this._translucentDepthStencilTexture=void 0,this._packDepthCommand=void 0,this._accumulateCommand=void 0,this._compositeCommand=void 0,this._copyCommand=void 0,this._clearColorCommand=new ri({color:new z(0,0,0,0),owner:this}),this._clearDepthStencilCommand=new ri({depth:1,stencil:0,owner:this}),this._supported=e.depthTexture,this._viewport=new Ye,this._rsDepth=void 0,this._rsAccumulate=void 0,this._rsComp=void 0,this._useScissorTest=void 0,this._scissorRectangle=void 0,this._hasTranslucentDepth=!1,this._frustumsDrawn=0}Object.defineProperties(_0.prototype,{hasTranslucentDepth:{get:function(){return this._hasTranslucentDepth}}});function wxe(e){e._textureToComposite=void 0,e._translucentDepthStencilTexture=e._translucentDepthStencilTexture&&!e._translucentDepthStencilTexture.isDestroyed()&&e._translucentDepthStencilTexture.destroy()}function Dxe(e){e._drawClassificationFBO.destroy(),e._accumulationFBO.destroy(),e._packFBO.destroy()}function Wmt(e,t,n,i){wxe(e),e._translucentDepthStencilTexture=new Pt({context:t,width:n,height:i,pixelFormat:ot.DEPTH_STENCIL,pixelDatatype:Ze.UNSIGNED_INT_24_8,sampler:$t.NEAREST})}function jmt(e,t,n,i){Dxe(e),e._drawClassificationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._drawClassificationFBO.update(t,n,i),e._accumulationFBO.setDepthStencilTexture(e._translucentDepthStencilTexture),e._accumulationFBO.update(t,n,i),e._packFBO.update(t,n,i)}function qmt(e,t,n,i){if(!e.isSupported())return;e._opaqueDepthStencilTexture=i;let o=e._opaqueDepthStencilTexture.width,r=e._opaqueDepthStencilTexture.height;e._drawClassificationFBO.isDirty(o,r)&&(Wmt(e,t,o,r),jmt(e,t,o,r));let s,a;if(l(e._packDepthCommand)||(s=new He({sources:[kU]}),a={u_opaqueDepthTexture:function(){return e._opaqueDepthStencilTexture},u_translucentDepthTexture:function(){return e._translucentDepthStencilTexture}},e._packDepthCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),!l(e._compositeCommand)){s=new He({sources:[mS]}),a={colorTexture:function(){return e._textureToComposite}},Gmt&&(s.defines=["DEBUG_SHOW_DEPTH"],a.u_packedTranslucentDepth=function(){return e._packFBO.getColorTexture()}),e._compositeCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e});let f=e._compositeCommand,d=f.shaderProgram,p=t.shaderCache.createDerivedShaderProgram(d,"pick",{vertexShaderSource:d.vertexShaderSource,fragmentShaderSource:new He({sources:s.sources,defines:["PICK"]}),attributeLocations:d._attributeLocations}),g=tt.shallowClone(f);g.shaderProgram=p,f.derivedCommands.pick=g}l(e._copyCommand)||(s=new He({sources:[mS]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._copyCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),l(e._accumulateCommand)||(s=new He({sources:[mS]}),a={colorTexture:function(){return e._drawClassificationFBO.getColorTexture()}},e._accumulateCommand=t.createViewportQuadCommand(s,{uniformMap:a,owner:e})),e._viewport.width=o,e._viewport.height=r;let c=!Ye.equals(e._viewport,n.viewport),u=c!==e._useScissorTest;e._useScissorTest=c,Ye.equals(e._scissorRectangle,n.viewport)||(e._scissorRectangle=Ye.clone(n.viewport,e._scissorRectangle),u=!0),(!l(e._rsDepth)||!Ye.equals(e._viewport,e._rsDepth.viewport)||u)&&(e._rsDepth=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle}})),l(e._packDepthCommand)&&(e._packDepthCommand.renderState=e._rsDepth),(!l(e._rsAccumulate)||!Ye.equals(e._viewport,e._rsAccumulate.viewport)||u)&&(e._rsAccumulate=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},stencilTest:{enabled:!0,frontFunction:zn.EQUAL,reference:Ut.CESIUM_3D_TILE_MASK}})),l(e._accumulateCommand)&&(e._accumulateCommand.renderState=e._rsAccumulate),(!l(e._rsComp)||!Ye.equals(e._viewport,e._rsComp.viewport)||u)&&(e._rsComp=ze.fromCache({viewport:e._viewport,scissorTest:{enabled:e._useScissorTest,rectangle:e._scissorRectangle},blending:fn.ALPHA_BLEND})),l(e._compositeCommand)&&(e._compositeCommand.renderState=e._rsComp,e._compositeCommand.derivedCommands.pick.renderState=e._rsComp)}_0.prototype.executeTranslucentCommands=function(e,t,n,i,o){let r=e.frameState.useLogDepth,s=e.context,a=n.framebuffer;for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,u.depthForTranslucentClassification){this._hasTranslucentDepth=!0;break}}if(this._hasTranslucentDepth){qmt(this,s,n,o),n.framebuffer=this._drawClassificationFBO.framebuffer,this._clearDepthStencilCommand.execute(s,n);for(let c=0;c<i.length;++c){let u=i[c];if(u=r?u.derivedCommands.logDepth.command:u,!u.depthForTranslucentClassification)continue;let f=u.derivedCommands.depth.depthOnlyCommand;t(f,e,n)}this._frustumsDrawn+=this._hasTranslucentDepth?1:0,this._hasTranslucentDepth&&(n.framebuffer=this._packFBO.framebuffer,this._packDepthCommand.execute(s,n)),n.framebuffer=a}};_0.prototype.executeClassificationCommands=function(e,t,n,i){if(!this._hasTranslucentDepth)return;let o=e.context,r=o.uniformState,s=n.framebuffer;n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=this._drawClassificationFBO.framebuffer,this._frustumsDrawn>1&&this._clearColorCommand.execute(o,n),r.updatePass(ve.CESIUM_3D_TILE_CLASSIFICATION);let a=r.globeDepthTexture;r.globeDepthTexture=this._packFBO.getColorTexture();let c=i.commands[ve.CESIUM_3D_TILE_CLASSIFICATION],u=i.indices[ve.CESIUM_3D_TILE_CLASSIFICATION];for(let f=0;f<u;++f)t(c[f],e,n);r.globeDepthTexture=a,n.framebuffer=s,this._frustumsDrawn!==1&&(n.framebuffer=this._accumulationFBO.framebuffer,this._accumulateCommand.execute(o,n),n.framebuffer=s)};_0.prototype.execute=function(e,t){if(!this._hasTranslucentDepth)return;this._frustumsDrawn===1?this._textureToComposite=this._drawClassificationFBO.getColorTexture():this._textureToComposite=this._accumulationFBO.getColorTexture(),(e.frameState.passes.pick?this._compositeCommand.derivedCommands.pick:this._compositeCommand).execute(e.context,t),Ymt(this,e,t)};function Ymt(e,t,n){if(!e._hasTranslucentDepth)return;let i=n.framebuffer;n.framebuffer=e._drawClassificationFBO.framebuffer,e._clearColorCommand.execute(t._context,n),n.framebuffer=i,e._frustumsDrawn>1&&(n.framebuffer=e._accumulationFBO.framebuffer,e._clearColorCommand.execute(t._context,n)),e._hasTranslucentDepth=!1,e._frustumsDrawn=0}_0.prototype.isSupported=function(){return this._supported};_0.prototype.isDestroyed=function(){return!1};_0.prototype.destroy=function(){return wxe(this),Dxe(this),l(this._compositeCommand)&&(this._compositeCommand.shaderProgram=this._compositeCommand.shaderProgram&&this._compositeCommand.shaderProgram.destroy()),l(this._packDepthCommand)&&(this._packDepthCommand.shaderProgram=this._packDepthCommand.shaderProgram&&this._packDepthCommand.shaderProgram.destroy()),ue(this)};var C4=_0;function Xmt(){this.command=void 0,this.near=void 0,this.far=void 0}function A4(e,t,n){let i=e.context,o;i.depthTexture&&(o=new _4);let r;e._useOIT&&i.depthTexture&&(r=new y4(i));let s=new Ec(i);s.viewport=Ye.clone(n),this.camera=t,this._cameraClone=co.clone(t),this._cameraStartFired=!1,this._cameraMovedTime=void 0,this.viewport=n,this.passState=s,this.pickFramebuffer=new b4(i),this.pickDepthFramebuffer=new x4,this.sceneFramebuffer=new hS,this.globeDepth=o,this.globeTranslucencyFramebuffer=new g4,this.oit=r,this.translucentTileClassification=new C4(i),this.pickDepths=[],this.frustumCommandsList=[],this.debugFrustumStatistics=void 0,this._commandExtents=[]}var sK=new h,aK=new h;function Kmt(e,t,n){let i=Math.max(h.maximumComponent(h.abs(e.position,sK)),h.maximumComponent(h.abs(t.position,aK))),o=1/Math.max(1,i);return h.multiplyByScalar(e.position,o,sK),h.multiplyByScalar(t.position,o,aK),h.equalsEpsilon(sK,aK,n)&&h.equalsEpsilon(e.direction,t.direction,n)&&h.equalsEpsilon(e.up,t.up,n)&&h.equalsEpsilon(e.right,t.right,n)&&F.equalsEpsilon(e.transform,t.transform,n)&&e.frustum.equalsEpsilon(t.frustum,n)}A4.prototype.checkForCameraUpdates=function(e){let t=this.camera,n=this._cameraClone;return Kmt(t,n,P.EPSILON15)?(this._cameraStartFired&&Ei()-this._cameraMovedTime>e.cameraEventWaitTime&&(t.moveEnd.raiseEvent(),this._cameraStartFired=!1),!1):(this._cameraStartFired||(t.moveStart.raiseEvent(),this._cameraStartFired=!0),this._cameraMovedTime=Ei(),co.clone(t,n),!0)};function Zmt(e,t,n,i){let{frameState:o}=t,{camera:r,useLogDepth:s}=o,a=s?t.logarithmicDepthFarToNearRatio:t.farToNearRatio,c=t.mode===ne.SCENE2D,u=t.nearToFarDistance2D;i*=1+P.EPSILON2,n=Math.min(Math.max(n,r.frustum.near),r.frustum.far),i=Math.max(Math.min(i,r.frustum.far),n),isNaN(n)&&(n=r.frustum.near),isNaN(i)&&(i=r.frustum.far);let f;c?(i=Math.min(i,r.position.z+t.nearToFarDistance2D),n=Math.min(n,i),f=Math.ceil(Math.max(1,i-n)/t.nearToFarDistance2D)):f=Math.ceil(Math.log(i/n)/Math.log(a));let{frustumCommandsList:d}=e;d.length=f;for(let p=0;p<f;++p){let g,m;c?(g=Math.min(i-u,n+p*u),m=Math.min(i,g+u)):(g=Math.max(n,Math.pow(a,p)*n),m=Math.min(i,a*g));let x=d[p];l(x)?(x.near=g,x.far=m):x=d[p]=new p4(g,m)}}function $mt(e,t,n){let{command:i,near:o,far:r}=n;t.debugShowFrustums&&(i.debugOverlappingFrustums=0);let{frustumCommandsList:s}=e;for(let a=0;a<s.length;++a){let c=s[a];if(o>c.far)continue;if(r<c.near)break;let u=i.pass,f=c.indices[u]++;if(c.commands[u][f]=i,t.debugShowFrustums&&(i.debugOverlappingFrustums|=1<<a),i.executeInClosestFrustum)break}if(t.debugShowFrustums){let{debugFrustumStatistics:a}=e,{debugOverlappingFrustums:c}=i,u=a.commandsInFrustums;u[c]=l(u[c])?u[c]+1:1,++a.totalCommands}t.updateDerivedCommands(i)}var Ixe=new As,Qmt=new Xa;A4.prototype.createPotentiallyVisibleSet=function(e){let{frameState:t}=e,{camera:n,commandList:i,shadowState:o}=t,{positionWC:r,directionWC:s,frustum:a}=n,c=e._computeCommandList,u=e._overlayCommandList;e.debugShowFrustums&&(this.debugFrustumStatistics={totalCommands:0,commandsInFrustums:{}});let f=this.frustumCommandsList;for(let M=0;M<f.length;++M)for(let N=0;N<ve.NUMBER_OF_PASSES;++N)f[M].indices[N]=0;c.length=0,u.length=0;let d=this._commandExtents,p=d.length,g=0,m=+Number.MAX_VALUE,x=-Number.MAX_VALUE,{shadowsEnabled:b}=o,T=+Number.MAX_VALUE,C=-Number.MAX_VALUE,A=Number.MAX_VALUE,S=t.mode===ne.SCENE3D?t.occluder:void 0,{cullingVolume:v}=t,D=Ixe.planes;for(let M=0;M<5;++M)D[M]=v.planes[M];v=Ixe;for(let M=0;M<i.length;++M){let N=i[M],{pass:_,boundingVolume:E}=N;if(_===ve.COMPUTE)c.push(N);else if(_===ve.OVERLAY)u.push(N);else{let w,I;if(l(E)){if(!e.isVisible(v,N,S))continue;let B=E.computePlaneDistances(r,s,Qmt);if(w=B.start,I=B.stop,m=Math.min(m,w),x=Math.max(x,I),b&&N.receiveShadows&&w<p0.MAXIMUM_DISTANCE&&!(_===ve.GLOBE&&w<-100&&I>100)){let H=I-w;_!==ve.GLOBE&&w<100&&(A=Math.min(A,H)),T=Math.min(T,w),C=Math.max(C,I)}}else N instanceof ri?(w=a.near,I=a.far):(w=a.near,I=a.far,m=Math.min(m,w),x=Math.max(x,I));let L=d[g];l(L)||(L=d[g]=new Xmt),L.command=N,L.near=w,L.far=I,g++}}b&&(T=Math.min(Math.max(T,a.near),a.far),C=Math.max(Math.min(C,a.far),T),o.nearPlane=T,o.farPlane=C,o.closestObjectSize=A),Zmt(this,e,m,x);for(let M=0;M<g;M++)$mt(this,e,d[M]);if(g<p)for(let M=g;M<p;M++){let N=d[M];if(!l(N.command))break;N.command=void 0}let R=f.length,{frustumSplits:O}=t;O.length=R+1;for(let M=0;M<R;++M)O[M]=f[M].near,M===R-1&&(O[M+1]=f[M].far)};A4.prototype.destroy=function(){this.pickFramebuffer=this.pickFramebuffer&&this.pickFramebuffer.destroy(),this.pickDepthFramebuffer=this.pickDepthFramebuffer&&this.pickDepthFramebuffer.destroy(),this.sceneFramebuffer=this.sceneFramebuffer&&this.sceneFramebuffer.destroy(),this.globeDepth=this.globeDepth&&this.globeDepth.destroy(),this.oit=this.oit&&this.oit.destroy(),this.translucentTileClassification=this.translucentTileClassification&&this.translucentTileClassification.destroy(),this.globeTranslucencyFramebuffer=this.globeTranslucencyFramebuffer&&this.globeTranslucencyFramebuffer.destroy();let e=this.pickDepths;for(let t=0;t<e.length;++t)e[t].destroy()};var pS=A4;var Oxe=.1,Jmt=new ah({pass:Vo.MOST_DETAILED_PRELOAD}),ept=new ah({pass:Vo.MOST_DETAILED_PICK}),lP=new ah({pass:Vo.PICK});function Ks(e){this._mostDetailedRayPicks=[],this.pickRenderStateCache={},this._pickPositionCache={},this._pickPositionCacheDirty=!1;let t=new Ye(0,0,1,1),n=new co(e);n.frustum=new an({width:Oxe,aspectRatio:1,near:.1}),this._pickOffscreenView=new pS(e,n,t)}Ks.prototype.update=function(){this._pickPositionCacheDirty=!0};Ks.prototype.getPickDepth=function(e,t){let n=e.view.pickDepths,i=n[t];return l(i)||(i=new m4,n[t]=i),i};var tpt=new Wr,npt=new h,E4=new h,ipt=new U,opt=new F;function rpt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.offCenterFrustum;l(a)&&(s=a);let c=2*(t.x-o.x)/o.width-1;c*=(s.right-s.left)*.5;let u=2*(o.height-t.y-o.y)/o.height-1;u*=(s.top-s.bottom)*.5;let f=F.clone(r.transform,opt);r._setTransform(F.IDENTITY);let d=h.clone(r.position,npt);h.multiplyByScalar(r.right,c,E4),h.add(E4,d,d),h.multiplyByScalar(r.up,u,E4),h.add(E4,d,d),r._setTransform(f),e.mode===ne.SCENE2D&&h.fromElements(d.z,d.x,d.y,d);let p=s.getPixelDimensions(o.width,o.height,1,1,ipt),g=tpt;return g.right=p.x*.5,g.left=-g.right,g.top=p.y*.5,g.bottom=-g.top,g.near=s.near,g.far=s.far,g.computeCullingVolume(d,r.directionWC,r.upWC)}var spt=new Ml,apt=new U;function cpt(e,t,n,i,o){let r=e.camera,s=r.frustum,a=s.near,c=Math.tan(s.fovy*.5),u=s.aspectRatio*c,f=2*(t.x-o.x)/o.width-1,d=2*(o.height-t.y-o.y)/o.height-1,p=f*a*u,g=d*a*c,m=s.getPixelDimensions(o.width,o.height,1,1,apt),x=m.x*n*.5,b=m.y*i*.5,T=spt;return T.top=g+b,T.bottom=g-b,T.right=p+x,T.left=p-x,T.near=a,T.far=s.far,T.computeCullingVolume(r.positionWC,r.directionWC,r.upWC)}function S4(e,t,n,i,o){let r=e.camera.frustum;return r instanceof an||r instanceof Wr?rpt(e,t,n,i,o):cpt(e,t,n,i,o)}var v4=new Ye(0,0,3,3),w4=new U,uP=new z(0,0,0,0);function cK(e,t,n,i,o){return o.width=y(n,3),o.height=y(i,o.width),o.x=t.x-(o.width-1)*.5,o.y=e-t.y-(o.height-1)*.5,o}Ks.prototype.pick=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=Ye.clone(a,u.viewport);let f=Ui.transformWindowToDrawingBuffer(e,t,w4),d=cK(o.drawingBufferHeight,f,n,i,v4);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=S4(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pick=!0,r.tilesetPassState=lP,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,uP),e.resolveFramebuffers(u);let p=c.end(d);return o.endFrame(),p};Ks.prototype.pickVoxelCoordinate=function(e,t,n,i){let{context:o,frameState:r,defaultView:s}=e,{viewport:a,pickFramebuffer:c}=s;e.view=s,a.x=0,a.y=0,a.width=o.drawingBufferWidth,a.height=o.drawingBufferHeight;let u=s.passState;u.viewport=Ye.clone(a,u.viewport);let f=Ui.transformWindowToDrawingBuffer(e,t,w4),d=cK(o.drawingBufferHeight,f,n,i,v4);e.jobScheduler.disableThisFrame(),e.updateFrameState(),r.cullingVolume=S4(e,f,d.width,d.height,a),r.invertClassification=!1,r.passes.pickVoxel=!0,r.tilesetPassState=lP,o.uniformState.update(r),e.updateEnvironment(),u=c.begin(d,a),e.updateAndExecuteCommands(u,uP),e.resolveFramebuffers(u);let p=c.readCenterPixel(d);return o.endFrame(),p};Ks.prototype.pickMetadata=function(e,t,n){let{context:i,frameState:o,defaultView:r}=e,{viewport:s,pickFramebuffer:a}=r;e.view=r,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=r.passState;c.viewport=Ye.clone(s,c.viewport);let u=Ui.transformWindowToDrawingBuffer(e,t,w4),f=cK(i.drawingBufferHeight,u,1,1,v4);e.jobScheduler.disableThisFrame(),e.updateFrameState(),o.cullingVolume=S4(e,u,f.width,f.height,s),o.invertClassification=!1,o.passes.pick=!0,o.tilesetPassState=lP,o.pickingMetadata=!0,o.pickedMetadataInfo=n,i.uniformState.update(o),e.updateEnvironment(),c=a.begin(f,s),e.updateAndExecuteCommands(c,uP);let d=e._environmentState.useOIT;e._environmentState.useOIT=!1,e.resolveFramebuffers(c),e._environmentState.useOIT=d;let p=a.readCenterPixel(f);return i.endFrame(),o.pickingMetadata=!1,h4.decodeMetadataValues(n.classProperty,n.metadataProperty,p)};function lpt(e,t){let{defaultView:n,context:i,frameState:o,environmentState:r}=e,{viewport:s,pickDepthFramebuffer:a}=n;e.view=n,s.x=0,s.y=0,s.width=i.drawingBufferWidth,s.height=i.drawingBufferHeight;let c=n.passState;c.viewport=Ye.clone(s,c.viewport),e.clearPasses(o.passes),o.passes.pick=!0,o.passes.depth=!0,o.cullingVolume=S4(e,t,1,1,s),o.tilesetPassState=lP,e.updateEnvironment(),r.renderTranslucentDepthForPick=!0,c=a.update(i,t,s),e.updateAndExecuteCommands(c,uP),e.resolveFramebuffers(c),i.endFrame()}var upt=new Di,fpt=new Ml,dpt=new an,hpt=new Wr;Ks.prototype.pickPositionWorldCoordinates=function(e,t,n){if(!e.useDepthPicking)return;let i=t.toString();if(this._pickPositionCacheDirty)this._pickPositionCache={},this._pickPositionCacheDirty=!1;else if(this._pickPositionCache.hasOwnProperty(i))return h.clone(this._pickPositionCache[i],n);let{context:o,frameState:r,camera:s,defaultView:a}=e,{uniformState:c}=o;e.view=a;let u=Ui.transformWindowToDrawingBuffer(e,t,w4);e.pickTranslucentDepth?lpt(e,u):(e.updateFrameState(),c.update(r),e.updateEnvironment()),u.y=e.drawingBufferHeight-u.y;let f;l(s.frustum.fov)?f=s.frustum.clone(upt):l(s.frustum.infiniteProjectionMatrix)?f=s.frustum.clone(fpt):l(s.frustum.width)?f=s.frustum.clone(dpt):f=s.frustum.clone(hpt);let{frustumCommandsList:d}=a,p=d.length;for(let g=0;g<p;++g){let x=this.getPickDepth(e,g).getDepth(o,u.x,u.y);if(l(x)&&x>0&&x<1){let b=d[g],T;return e.mode===ne.SCENE2D?(T=s.position.z,s.position.z=T-b.near+1,f.far=Math.max(1,b.far-b.near),f.near=1,c.update(r),c.updateFrustum(f)):(f.near=b.near*(g!==0?e.opaqueFrustumNearOffset:1),f.far=b.far,c.updateFrustum(f)),n=Ui.drawingBufferToWorldCoordinates(e,u,x,n),e.mode===ne.SCENE2D&&(s.position.z=T,c.update(r)),this._pickPositionCache[i]=h.clone(n),n}}this._pickPositionCache[i]=void 0};var mpt=new fe;Ks.prototype.pickPosition=function(e,t,n){if(n=this.pickPositionWorldCoordinates(e,t,n),l(n)&&e.mode!==ne.SCENE3D){h.fromElements(n.y,n.z,n.x,n);let i=e.mapProjection,o=i.ellipsoid,r=i.unproject(n,mpt);o.cartographicToCartesian(r,n)}return n};function Rxe(e,t){let n,i,o=[],r=[],s=[],a=[];l(e)||(e=Number.MAX_VALUE);let c=t();for(;l(c);){let u=c.object,f=c.position,d=c.exclude;if(l(f)&&!l(u)){o.push(c);break}if(!l(u)||!l(u.primitive)||!d&&(o.push(c),0>=--e))break;let p=u.primitive,g=!1;typeof p.getGeometryInstanceAttributes=="function"&&l(u.id)&&(i=p.getGeometryInstanceAttributes(u.id),l(i)&&l(i.show)&&(g=!0,i.show=xn.toValue(!1,i.show),s.push(i))),u instanceof oa&&(g=!0,u.show=!1,a.push(u)),g||(p.show=!1,r.push(p)),c=t()}for(n=0;n<r.length;++n)r[n].show=!0;for(n=0;n<s.length;++n)i=s[n],i.show=xn.toValue(!0,i.show);for(n=0;n<a.length;++n)a[n].show=!0;return o}Ks.prototype.drillPick=function(e,t,n,i,o){let r=this;return Rxe(n,function(){let c=r.pick(e,t,i,o);if(l(c))return{object:c,position:void 0,exclude:!1}}).map(function(c){return c.object})};var Pxe=new h,ppt=new h;function _pt(e,t,n){this.ray=e,this.width=t,this.tilesets=n,this.ready=!1;let i=this;this.promise=new Promise(o=>{i._completePick=()=>{o()}})}function Mxe(e,t,n,i){let o=t.direction,r=h.mostOrthogonalAxis(o,Pxe),s=h.cross(o,r,Pxe),a=h.cross(o,s,ppt);return i.position=t.origin,i.direction=o,i.up=a,i.right=s,i.frustum.width=y(n,Oxe),i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC)}function gpt(e,t,n){let i=t.frameState,{ray:o,width:r,tilesets:s}=n,a=e._pickOffscreenView.camera,c=Mxe(e,o,r,a),u=Jmt;u.camera=a,u.cullingVolume=c;let f=!0,d=s.length;for(let p=0;p<d;++p){let g=s[p];g.show&&t.primitives.contains(g)&&(g.updateForPass(i,u),f=f&&u.ready)}return f&&n._completePick(),f}Ks.prototype.updateMostDetailedRayPicks=function(e){let t=this._mostDetailedRayPicks;for(let n=0;n<t.length;++n)gpt(this,e,t[n])&&t.splice(n--,1)};function Lxe(e,t,n){for(let i=0;i<e.length;++i){let o=e.get(i);o.show&&(l(o.isCesium3DTileset)?(!l(t)||t.indexOf(o)===-1)&&n.push(o):o instanceof _u&&Lxe(o,t,n))}}function D4(e,t,n,i,o,r){let s=[];if(Lxe(t.primitives,i,s),s.length===0)return Promise.resolve(r());let a=new _pt(n,o,s);return e._mostDetailedRayPicks.push(a),a.promise.then(function(){return r()})}function ypt(e,t){return!l(e)||!l(t)||t.length===0?!1:t.indexOf(e)>-1||t.indexOf(e.primitive)>-1||t.indexOf(e.id)>-1}function xpt(e,t,n,i,o,r,s){let{context:a,frameState:c}=t,u=a.uniformState,f=e._pickOffscreenView;t.view=f,Mxe(e,n,o,f.camera);let d=Ye.clone(f.viewport,v4),p=f.pickFramebuffer.begin(d,f.viewport);t.jobScheduler.disableThisFrame(),t.updateFrameState(),c.invertClassification=!1,c.passes.pick=!0,c.passes.offscreen=!0,s?c.tilesetPassState=ept:c.tilesetPassState=lP,u.update(c),t.updateEnvironment(),t.updateAndExecuteCommands(p,uP),t.resolveFramebuffers(p);let g,m=f.pickFramebuffer.end(d);if(t.context.depthTexture){let{frustumCommandsList:x}=f,b=x.length;for(let T=0;T<b;++T){let A=e.getPickDepth(t,T).getDepth(a,0,0);if(l(A)&&A>0&&A<1){let S=x[T],v=S.near*(T!==0?t.opaqueFrustumNearOffset:1),D=S.far,R=v+A*(D-v);g=_n.getPoint(n,R);break}}}if(t.view=t.defaultView,a.endFrame(),l(m)||l(g))return{object:m,position:g,exclude:!l(g)&&r||ypt(m,i)}}function Nxe(e,t,n,i,o,r,s,a){return Rxe(i,function(){return xpt(e,t,n,o,r,s,a)})}function _S(e,t,n,i,o,r,s){let a=Nxe(e,t,n,1,i,o,r,s);if(a.length>0)return a[0]}function Fxe(e,t,n,i,o,r,s,a){return Nxe(e,t,n,i,o,r,s,a)}function I4(e,t){return new Promise((n,i)=>{t.then(function(o){let r=e.postRender.addEventListener(function(){r(),n(o)});e.requestRender()}).catch(function(o){i(o)})})}Ks.prototype.pickFromRay=function(e,t,n,i){return _S(this,e,t,n,i,!1,!1)};Ks.prototype.drillPickFromRay=function(e,t,n,i,o){return Fxe(this,e,t,n,i,o,!1,!1)};Ks.prototype.pickFromRayMostDetailed=function(e,t,n,i){let o=this;return t=_n.clone(t),n=l(n)?n.slice():n,I4(e,D4(o,e,t,n,i,function(){return _S(o,e,t,n,i,!1,!0)}))};Ks.prototype.drillPickFromRayMostDetailed=function(e,t,n,i,o){let r=this;return t=_n.clone(t),i=l(i)?i.slice():i,I4(e,D4(r,e,t,i,o,function(){return Fxe(r,e,t,n,i,o,!1,!0)}))};var bpt=new h,Tpt=new h,Cpt=new _n,Bxe=new fe;function lK(e,t){let n=e.ellipsoid,i=hi._defaultMaxTerrainHeight,o=n.geodeticSurfaceNormalCartographic(t,Tpt),r=fe.toCartesian(t,n,bpt),s=Cpt;s.origin=r,s.direction=o;let a=new _n;return _n.getPoint(s,i,a.origin),h.negate(o,a.direction),a}function kxe(e,t){let n=e.ellipsoid,i=fe.fromCartesian(t,n,Bxe);return lK(e,i)}function Vxe(e,t){let n=e.ellipsoid;return fe.fromCartesian(t,n,Bxe).height}function Apt(e,t,n,i,o){let r=lK(t,n);return D4(e,t,r,i,o,function(){let s=_S(e,t,r,i,o,!0,!0);if(l(s))return Vxe(t,s.position)})}function Ept(e,t,n,i,o,r){let s=kxe(t,n);return D4(e,t,s,i,o,function(){let a=_S(e,t,s,i,o,!0,!0);if(l(a))return h.clone(a.position,r)})}Ks.prototype.sampleHeight=function(e,t,n,i){let o=lK(e,t),r=_S(this,e,o,n,i,!0,!1);if(l(r))return Vxe(e,r.position)};Ks.prototype.clampToHeight=function(e,t,n,i,o){let r=kxe(e,t),s=_S(this,e,r,n,i,!0,!1);if(l(s))return h.clone(s.position,o)};Ks.prototype.sampleHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Apt(this,e,t[s],n,i);return I4(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c].height=s[c];return t}))};Ks.prototype.clampToHeightMostDetailed=function(e,t,n,i){n=l(n)?n.slice():n;let o=t.length,r=new Array(o);for(let s=0;s<o;++s)r[s]=Ept(this,e,t[s],n,i,t[s]);return I4(e,Promise.all(r).then(function(s){let a=s.length;for(let c=0;c<a;++c)t[c]=s[c];return t}))};Ks.prototype.destroy=function(){this._pickOffscreenView=this._pickOffscreenView&&this._pickOffscreenView.destroy()};var P4=Ks;var O4=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + color /= texture(autoExposure, vec2(0.5)).r; +#else + color *= vec3(exposure); +#endif + color = czm_acesTonemapping(color); + color = czm_inverseGamma(color); + + out_FragColor = vec4(color, fragmentColor.a); +} +`;var R4=`precision highp float; + +uniform sampler2D randomTexture; +uniform sampler2D depthTexture; +uniform float intensity; +uniform float bias; +uniform float lengthCap; +uniform int stepCount; +uniform int directionCount; + +vec4 pixelToEye(vec2 screenCoordinate) +{ + vec2 uv = screenCoordinate / czm_viewport.zw; + float depth = czm_readDepth(depthTexture, uv); + vec2 xy = 2.0 * uv - vec2(1.0); + vec4 posEC = czm_inverseProjection * vec4(xy, depth, 1.0); + posEC = posEC / posEC.w; + // Avoid numerical error at far plane + if (depth >= 1.0) { + posEC.z = czm_currentFrustum.y; + } + return posEC; +} + +// Reconstruct surface normal in eye coordinates, avoiding edges +vec3 getNormalXEdge(vec3 positionEC) +{ + // Find the 3D surface positions at adjacent screen pixels + vec2 centerCoord = gl_FragCoord.xy; + vec3 positionLeft = pixelToEye(centerCoord + vec2(-1.0, 0.0)).xyz; + vec3 positionRight = pixelToEye(centerCoord + vec2(1.0, 0.0)).xyz; + vec3 positionUp = pixelToEye(centerCoord + vec2(0.0, 1.0)).xyz; + vec3 positionDown = pixelToEye(centerCoord + vec2(0.0, -1.0)).xyz; + + // Compute potential tangent vectors + vec3 dx0 = positionEC - positionLeft; + vec3 dx1 = positionRight - positionEC; + vec3 dy0 = positionEC - positionDown; + vec3 dy1 = positionUp - positionEC; + + // The shorter tangent is more likely to be on the same surface + vec3 dx = length(dx0) < length(dx1) ? dx0 : dx1; + vec3 dy = length(dy0) < length(dy1) ? dy0 : dy1; + + return normalize(cross(dx, dy)); +} + +const float sqrtTwoPi = sqrt(czm_twoPi); + +float gaussian(float x, float standardDeviation) { + float argument = x / standardDeviation; + return exp(-0.5 * argument * argument) / (sqrtTwoPi * standardDeviation); +} + +void main(void) +{ + vec4 positionEC = pixelToEye(gl_FragCoord.xy); + + // Exit if we are too close to the back of the frustum, where the depth value is invalid. + float maxValidDepth = czm_currentFrustum.y - lengthCap; + if (-positionEC.z > maxValidDepth) + { + out_FragColor = vec4(1.0); + return; + } + + vec3 normalEC = getNormalXEdge(positionEC.xyz); + float gaussianVariance = lengthCap * sqrt(-positionEC.z); + // Choose a step length such that the marching stops just before 3 * variance. + float stepLength = 3.0 * gaussianVariance / (float(stepCount) + 1.0); + float metersPerPixel = czm_metersPerPixel(positionEC, 1.0); + // Minimum step is 1 pixel to avoid double sampling + float pixelsPerStep = max(stepLength / metersPerPixel, 1.0); + stepLength = pixelsPerStep * metersPerPixel; + + float angleStepScale = 1.0 / float(directionCount); + float angleStep = angleStepScale * czm_twoPi; + float cosStep = cos(angleStep); + float sinStep = sin(angleStep); + mat2 rotateStep = mat2(cosStep, sinStep, -sinStep, cosStep); + + // Initial sampling direction (different for each pixel) + const float randomTextureSize = 255.0; + vec2 randomTexCoord = fract(gl_FragCoord.xy / randomTextureSize); + float randomVal = texture(randomTexture, randomTexCoord).x; + vec2 sampleDirection = vec2(cos(angleStep * randomVal), sin(angleStep * randomVal)); + + float ao = 0.0; + // Loop over sampling directions +#if __VERSION__ == 300 + for (int i = 0; i < directionCount; i++) + { +#else + for (int i = 0; i < 16; i++) + { + if (i >= directionCount) { + break; + } +#endif + sampleDirection = rotateStep * sampleDirection; + + float localAO = 0.0; + vec2 radialStep = pixelsPerStep * sampleDirection; + +#if __VERSION__ == 300 + for (int j = 0; j < stepCount; j++) + { +#else + for (int j = 0; j < 64; j++) + { + if (j >= stepCount) { + break; + } +#endif + // Step along sampling direction, away from output pixel + vec2 samplePixel = floor(gl_FragCoord.xy + float(j + 1) * radialStep) + vec2(0.5); + + // Exit if we stepped off the screen + if (clamp(samplePixel, vec2(0.0), czm_viewport.zw) != samplePixel) { + break; + } + + // Compute step vector from output point to sampled point + vec4 samplePositionEC = pixelToEye(samplePixel); + vec3 stepVector = samplePositionEC.xyz - positionEC.xyz; + + // Estimate the angle from the surface normal. + float dotVal = clamp(dot(normalEC, normalize(stepVector)), 0.0, 1.0); + dotVal = czm_branchFreeTernary(dotVal > bias, dotVal, 0.0); + dotVal = czm_branchFreeTernary(-samplePositionEC.z <= maxValidDepth, dotVal, 0.0); + + // Weight contribution based on the distance from the output point + float sampleDistance = length(stepVector); + float weight = gaussian(sampleDistance, gaussianVariance); + localAO += weight * dotVal; + } + ao += localAO; + } + + ao *= angleStepScale * stepLength; + ao = 1.0 - clamp(ao, 0.0, 1.0); + ao = pow(ao, intensity); + out_FragColor = vec4(vec3(ao), 1.0); +} +`;var M4=`uniform sampler2D colorTexture; +uniform sampler2D ambientOcclusionTexture; +uniform bool ambientOcclusionOnly; +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + vec4 ao = texture(ambientOcclusionTexture, v_textureCoordinates); + out_FragColor = ambientOcclusionOnly ? ao : ao * color; +} +`;var L4=`uniform sampler2D colorTexture; +uniform float gradations; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = vec4(rgb, 1.0); + return; + } +#endif + float luminance = czm_luminance(rgb); + float darkness = luminance * gradations; + darkness = (darkness - fract(darkness)) / gradations; + out_FragColor = vec4(vec3(darkness), 1.0); +} +`;var N4=`uniform sampler2D colorTexture; +uniform sampler2D bloomTexture; +uniform bool glowOnly; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + +#ifdef CZM_SELECTED_FEATURE + if (czm_selected()) { + out_FragColor = color; + return; + } +#endif + + vec4 bloom = texture(bloomTexture, v_textureCoordinates); + out_FragColor = glowOnly ? bloom : bloom + color; +} +`;var F4=`uniform sampler2D colorTexture; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 target = vec3(0.0); + out_FragColor = vec4(mix(target, rgb, brightness), 1.0); +} +`;var B4=`uniform sampler2D colorTexture; +uniform float contrast; +uniform float brightness; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec3 sceneColor = texture(colorTexture, v_textureCoordinates).xyz; + sceneColor = czm_RGBToHSB(sceneColor); + sceneColor.z += brightness; + sceneColor = czm_HSBToRGB(sceneColor); + + float factor = (259.0 * (contrast + 255.0)) / (255.0 * (259.0 - contrast)); + sceneColor = factor * (sceneColor - vec3(0.5)) + vec3(0.5); + out_FragColor = vec4(sceneColor, 1.0); +} +`;var k4=`uniform sampler2D colorTexture; +uniform sampler2D blurTexture; +uniform sampler2D depthTexture; +uniform float focalDistance; + +in vec2 v_textureCoordinates; + +vec4 toEye(vec2 uv, float depth) +{ + vec2 xy = vec2((uv.x * 2.0 - 1.0), ((1.0 - uv.y) * 2.0 - 1.0)); + vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0); + posInCamera = posInCamera / posInCamera.w; + return posInCamera; +} + +float computeDepthBlur(float depth) +{ + float f; + if (depth < focalDistance) + { + f = (focalDistance - depth) / (focalDistance - czm_currentFrustum.x); + } + else + { + f = (depth - focalDistance) / (czm_currentFrustum.y - focalDistance); + f = pow(f, 0.1); + } + f *= f; + f = clamp(f, 0.0, 1.0); + return pow(f, 0.5); +} + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + vec4 posInCamera = toEye(v_textureCoordinates, depth); + float d = computeDepthBlur(-posInCamera.z); + out_FragColor = mix(texture(colorTexture, v_textureCoordinates), texture(blurTexture, v_textureCoordinates), d); +} +`;var V4=`uniform sampler2D depthTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float depth = czm_readDepth(depthTexture, v_textureCoordinates); + out_FragColor = vec4(vec3(depth), 1.0); +} +`;var U4=`uniform sampler2D depthTexture; +uniform float length; +uniform vec4 color; + +in vec2 v_textureCoordinates; + +void main(void) +{ + float directions[3]; + directions[0] = -1.0; + directions[1] = 0.0; + directions[2] = 1.0; + + float scalars[3]; + scalars[0] = 3.0; + scalars[1] = 10.0; + scalars[2] = 3.0; + + float padx = czm_pixelRatio / czm_viewport.z; + float pady = czm_pixelRatio / czm_viewport.w; + +#ifdef CZM_SELECTED_FEATURE + bool selected = false; + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + selected = selected || czm_selected(vec2(-padx, dir * pady)); + selected = selected || czm_selected(vec2(padx, dir * pady)); + selected = selected || czm_selected(vec2(dir * padx, -pady)); + selected = selected || czm_selected(vec2(dir * padx, pady)); + if (selected) + { + break; + } + } + if (!selected) + { + out_FragColor = vec4(color.rgb, 0.0); + return; + } +#endif + + float horizEdge = 0.0; + float vertEdge = 0.0; + + for (int i = 0; i < 3; ++i) + { + float dir = directions[i]; + float scale = scalars[i]; + + horizEdge -= texture(depthTexture, v_textureCoordinates + vec2(-padx, dir * pady)).x * scale; + horizEdge += texture(depthTexture, v_textureCoordinates + vec2(padx, dir * pady)).x * scale; + + vertEdge -= texture(depthTexture, v_textureCoordinates + vec2(dir * padx, -pady)).x * scale; + vertEdge += texture(depthTexture, v_textureCoordinates + vec2(dir * padx, pady)).x * scale; + } + + float len = sqrt(horizEdge * horizEdge + vertEdge * vertEdge); + out_FragColor = vec4(color.rgb, len > length ? color.a : 0.0); +} +`;var z4=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See slides 142 and 143: +// http://www.gdcvault.com/play/1012459/Uncharted_2__HDR_Lighting + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + + const float A = 0.22; // shoulder strength + const float B = 0.30; // linear strength + const float C = 0.10; // linear angle + const float D = 0.20; // toe strength + const float E = 0.01; // toe numerator + const float F = 0.30; // toe denominator + + const float white = 11.2; // linear white point value + + vec3 c = ((color * (A * color + C * B) + D * E) / (color * ( A * color + B) + D * F)) - E / F; + float w = ((white * (A * white + C * B) + D * E) / (white * ( A * white + B) + D * F)) - E / F; + + c = czm_inverseGamma(c / w); + out_FragColor = vec4(c, fragmentColor.a); +} +`;var H4=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; + +#ifdef AUTO_EXPOSURE + color /= texture(autoExposure, vec2(0.5)).r; +#else + color *= vec3(exposure); +#endif + color = czm_pbrNeutralTonemapping(color); + color = czm_inverseGamma(color); + + out_FragColor = vec4(color, fragmentColor.a); +} +`;var G4=`in vec2 v_textureCoordinates; + +uniform sampler2D colorTexture; + +const float fxaaQualitySubpix = 0.5; +const float fxaaQualityEdgeThreshold = 0.125; +const float fxaaQualityEdgeThresholdMin = 0.0833; + +void main() +{ + vec2 fxaaQualityRcpFrame = vec2(1.0) / czm_viewport.zw; + vec4 color = FxaaPixelShader( + v_textureCoordinates, + colorTexture, + fxaaQualityRcpFrame, + fxaaQualitySubpix, + fxaaQualityEdgeThreshold, + fxaaQualityEdgeThresholdMin); + float alpha = texture(colorTexture, v_textureCoordinates).a; + out_FragColor = vec4(color.rgb, alpha); +} +`;var Mb=`#define SAMPLES 8 + +uniform float delta; +uniform float sigma; +uniform float direction; // 0.0 for x direction, 1.0 for y direction + +uniform sampler2D colorTexture; + +#ifdef USE_STEP_SIZE +uniform float stepSize; +#else +uniform vec2 step; +#endif + +in vec2 v_textureCoordinates; + +// Incremental Computation of the Gaussian: +// https://developer.nvidia.com/gpugems/GPUGems3/gpugems3_ch40.html + +void main() +{ + vec2 st = v_textureCoordinates; + vec2 dir = vec2(1.0 - direction, direction); + +#ifdef USE_STEP_SIZE + vec2 step = vec2(stepSize * (czm_pixelRatio / czm_viewport.zw)); +#else + vec2 step = step; +#endif + + vec3 g; + g.x = 1.0 / (sqrt(czm_twoPi) * sigma); + g.y = exp((-0.5 * delta * delta) / (sigma * sigma)); + g.z = g.y * g.y; + + vec4 result = texture(colorTexture, st) * g.x; + for (int i = 1; i < SAMPLES; ++i) + { + g.xy *= g.yz; + + vec2 offset = float(i) * dir * step; + result += texture(colorTexture, st - offset) * g.x; + result += texture(colorTexture, st + offset) * g.x; + } + + out_FragColor = result; +} +`;var W4=`uniform sampler2D colorTexture; +uniform sampler2D dirtTexture; +uniform sampler2D starTexture; +uniform vec2 dirtTextureDimensions; +uniform float distortion; +uniform float ghostDispersal; +uniform float haloWidth; +uniform float dirtAmount; +uniform float earthRadius; +uniform float intensity; + +in vec2 v_textureCoordinates; + +// whether it is in space or not +// 6500000.0 is empirical value +#define DISTANCE_TO_SPACE 6500000.0 + +// return ndc from world coordinate biased earthRadius +vec4 getNDCFromWC(vec3 WC, float earthRadius) +{ + vec4 positionEC = czm_view * vec4(WC, 1.0); + positionEC = vec4(positionEC.x + earthRadius, positionEC.y, positionEC.z, 1.0); + vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); + return czm_viewportOrthographic * vec4(positionWC.xy, -positionWC.z, 1.0); +} + +// Check if current pixel is included Earth +// if then mask it gradually +float isInEarth(vec2 texcoord, vec2 sceneSize) +{ + vec2 NDC = texcoord * 2.0 - 1.0; + vec4 earthPosSC = getNDCFromWC(vec3(0.0), 0.0); + vec4 earthPosSCEdge = getNDCFromWC(vec3(0.0), earthRadius * 1.5); + NDC.xy -= earthPosSC.xy; + + float X = abs(NDC.x) * sceneSize.x; + float Y = abs(NDC.y) * sceneSize.y; + + return clamp(0.0, 1.0, max(sqrt(X * X + Y * Y) / max(abs(earthPosSCEdge.x * sceneSize.x), 1.0) - 0.8 , 0.0)); +} + +// For Chromatic effect +vec4 textureDistorted(sampler2D tex, vec2 texcoord, vec2 direction, vec3 distortion, bool isSpace) +{ + vec2 sceneSize = czm_viewport.zw; + vec3 color; + if(isSpace) + { + color.r = isInEarth(texcoord + direction * distortion.r, sceneSize) * texture(tex, texcoord + direction * distortion.r).r; + color.g = isInEarth(texcoord + direction * distortion.g, sceneSize) * texture(tex, texcoord + direction * distortion.g).g; + color.b = isInEarth(texcoord + direction * distortion.b, sceneSize) * texture(tex, texcoord + direction * distortion.b).b; + } + else + { + color.r = texture(tex, texcoord + direction * distortion.r).r; + color.g = texture(tex, texcoord + direction * distortion.g).g; + color.b = texture(tex, texcoord + direction * distortion.b).b; + } + return vec4(clamp(color, 0.0, 1.0), 0.0); +} + +void main(void) +{ + vec4 originalColor = texture(colorTexture, v_textureCoordinates); + vec3 rgb = originalColor.rgb; + bool isSpace = length(czm_viewerPositionWC.xyz) > DISTANCE_TO_SPACE; + + // Sun position + vec4 sunPos = czm_morphTime == 1.0 ? vec4(czm_sunPositionWC, 1.0) : vec4(czm_sunPositionColumbusView.zxy, 1.0); + vec4 sunPositionEC = czm_view * sunPos; + vec4 sunPositionWC = czm_eyeToWindowCoordinates(sunPositionEC); + sunPos = czm_viewportOrthographic * vec4(sunPositionWC.xy, -sunPositionWC.z, 1.0); + + // If sun is not in the screen space, use original color. + if(!isSpace || !((sunPos.x >= -1.1 && sunPos.x <= 1.1) && (sunPos.y >= -1.1 && sunPos.y <= 1.1))) + { + // Lens flare is disabled when not in space until #5932 is fixed. + // https://github.com/CesiumGS/cesium/issues/5932 + out_FragColor = originalColor; + return; + } + + vec2 texcoord = vec2(1.0) - v_textureCoordinates; + vec2 pixelSize = czm_pixelRatio / czm_viewport.zw; + vec2 invPixelSize = 1.0 / pixelSize; + vec3 distortionVec = pixelSize.x * vec3(-distortion, 0.0, distortion); + + // ghost vector to image centre: + vec2 ghostVec = (vec2(0.5) - texcoord) * ghostDispersal; + vec3 direction = normalize(vec3(ghostVec, 0.0)); + + // sample ghosts: + vec4 result = vec4(0.0); + vec4 ghost = vec4(0.0); + for (int i = 0; i < 4; ++i) + { + vec2 offset = fract(texcoord + ghostVec * float(i)); + // Only bright spots from the centre of the source image + ghost += textureDistorted(colorTexture, offset, direction.xy, distortionVec, isSpace); + } + result += ghost; + + // sample halo + vec2 haloVec = normalize(ghostVec) * haloWidth; + float weightForHalo = length(vec2(0.5) - fract(texcoord + haloVec)) / length(vec2(0.5)); + weightForHalo = pow(1.0 - weightForHalo, 5.0); + + result += textureDistorted(colorTexture, texcoord + haloVec, direction.xy, distortionVec, isSpace) * weightForHalo * 1.5; + + // dirt on lens + vec2 dirtTexCoords = (v_textureCoordinates * invPixelSize) / dirtTextureDimensions; + if (dirtTexCoords.x > 1.0) + { + dirtTexCoords.x = mod(floor(dirtTexCoords.x), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.x) : fract(dirtTexCoords.x); + } + if (dirtTexCoords.y > 1.0) + { + dirtTexCoords.y = mod(floor(dirtTexCoords.y), 2.0) == 1.0 ? 1.0 - fract(dirtTexCoords.y) : fract(dirtTexCoords.y); + } + result += dirtAmount * texture(dirtTexture, dirtTexCoords); + + // Rotating starburst texture's coordinate + // dot(czm_view[0].xyz, vec3(0.0, 0.0, 1.0)) + dot(czm_view[1].xyz, vec3(0.0, 1.0, 0.0)) + float camrot = czm_view[0].z + czm_view[1].y; + float cosValue = cos(camrot); + float sinValue = sin(camrot); + mat3 rotation = mat3( + cosValue, -sinValue, 0.0, + sinValue, cosValue, 0.0, + 0.0, 0.0, 1.0 + ); + + vec3 st1 = vec3(v_textureCoordinates * 2.0 - vec2(1.0), 1.0); + vec3 st2 = vec3((rotation * st1).xy, 1.0); + vec3 st3 = st2 * 0.5 + vec3(0.5); + vec2 lensStarTexcoord = st3.xy; + float weightForLensFlare = length(vec3(sunPos.xy, 0.0)); + float oneMinusWeightForLensFlare = max(1.0 - weightForLensFlare, 0.0); + + if (!isSpace) + { + result *= oneMinusWeightForLensFlare * intensity * 0.2; + } + else + { + result *= oneMinusWeightForLensFlare * intensity; + result *= texture(starTexture, lensStarTexcoord) * pow(weightForLensFlare, 1.0) * max((1.0 - length(vec3(st1.xy, 0.0))), 0.0) * 2.0; + } + + result += texture(colorTexture, v_textureCoordinates); + + out_FragColor = result; +} +`;var j4=`uniform sampler2D colorTexture; +uniform vec3 white; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See equation 4: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + color = (color * (1.0 + color / white)) / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var q4=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +float rand(vec2 co) +{ + return fract(sin(dot(co.xy ,vec2(12.9898, 78.233))) * 43758.5453); +} + +void main(void) +{ + float noiseValue = rand(v_textureCoordinates + sin(czm_frameNumber)) * 0.1; + vec3 rgb = texture(colorTexture, v_textureCoordinates).rgb; + vec3 green = vec3(0.0, 1.0, 0.0); + out_FragColor = vec4((noiseValue + rgb) * green, 1.0); +} +`;var Y4=`uniform sampler2D colorTexture; + +in vec2 v_textureCoordinates; + +#ifdef AUTO_EXPOSURE +uniform sampler2D autoExposure; +#else +uniform float exposure; +#endif + +// See equation 3: +// http://www.cs.utah.edu/~reinhard/cdrom/tonemap.pdf + +void main() +{ + vec4 fragmentColor = texture(colorTexture, v_textureCoordinates); + vec3 color = fragmentColor.rgb; +#ifdef AUTO_EXPOSURE + float exposure = texture(autoExposure, vec2(0.5)).r; + color /= exposure; +#else + color *= vec3(exposure); +#endif + color = color / (1.0 + color); + color = czm_inverseGamma(color); + out_FragColor = vec4(color, fragmentColor.a); +} +`;var X4=`uniform sampler2D colorTexture; +uniform sampler2D silhouetteTexture; + +in vec2 v_textureCoordinates; + +void main(void) +{ + vec4 silhouetteColor = texture(silhouetteTexture, v_textureCoordinates); + vec4 color = texture(colorTexture, v_textureCoordinates); + out_FragColor = mix(color, silhouetteColor, silhouetteColor.a); +} +`;function Lb(){this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._ready=!1,this._name="czm_autoexposure",this._logDepthChanged=void 0,this._useLogDepth=void 0,this._framebuffers=void 0,this._previousLuminance=new _i,this._commands=void 0,this._clearCommand=void 0,this._minMaxLuminance=new U,this.enabled=!0,this._enabled=!0,this.minimumLuminance=.1,this.maximumLuminance=10}Object.defineProperties(Lb.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},outputTexture:{get:function(){let e=this._framebuffers;if(l(e))return e[e.length-1].getColorTexture(0)}}});function Uxe(e){let t=e._framebuffers;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].destroy();e._framebuffers=void 0,e._previousLuminance.destroy(),e._previousLuminance=void 0}function Spt(e,t){Uxe(e);let n=e._width,i=e._height,o=t.halfFloatingPointTexture?Ze.HALF_FLOAT:Ze.FLOAT,r=Math.ceil(Math.log(Math.max(n,i))/Math.log(3)),s=new Array(r);for(let c=0;c<r;++c)n=Math.max(Math.ceil(n/3),1),i=Math.max(Math.ceil(i/3),1),s[c]=new _i,s[c].update(t,n,i,1,o);let a=s[r-1].getColorTexture(0);e._previousLuminance.update(t,a.width,a.height,1,o),e._framebuffers=s}function zxe(e){let t=e._commands;if(!l(t))return;let n=t.length;for(let i=0;i<n;++i)t[i].shaderProgram.destroy();e._commands=void 0}function vpt(e,t){let n;if(t===0)n={colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions}};else{let i=e._framebuffers[t-1].getColorTexture(0);n={colorTexture:function(){return i},colorTextureDimensions:function(){return i.dimensions}}}return n.minMaxLuminance=function(){return e._minMaxLuminance},n.previousLuminance=function(){return e._previousLuminance.getColorTexture(0)},n}function wpt(e,t){let n=`uniform sampler2D colorTexture; +in vec2 v_textureCoordinates; +float sampleTexture(vec2 offset) { +`;return e===0?n+=` vec4 color = texture(colorTexture, v_textureCoordinates + offset); + return czm_luminance(color.rgb); +`:n+=` return texture(colorTexture, v_textureCoordinates + offset).r; +`,n+=`} + +`,n+=`uniform vec2 colorTextureDimensions; +uniform vec2 minMaxLuminance; +uniform sampler2D previousLuminance; +void main() { + float color = 0.0; + float xStep = 1.0 / colorTextureDimensions.x; + float yStep = 1.0 / colorTextureDimensions.y; + int count = 0; + for (int i = 0; i < 3; ++i) { + for (int j = 0; j < 3; ++j) { + vec2 offset; + offset.x = -xStep + float(i) * xStep; + offset.y = -yStep + float(j) * yStep; + if (offset.x < 0.0 || offset.x > 1.0 || offset.y < 0.0 || offset.y > 1.0) { + continue; + } + color += sampleTexture(offset); + ++count; + } + } + if (count > 0) { + color /= float(count); + } +`,e===t-1&&(n+=` float previous = texture(previousLuminance, vec2(0.5)).r; + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); + color = previous + (color - previous) / (60.0 * 1.5); + color = clamp(color, minMaxLuminance.x, minMaxLuminance.y); +`),n+=` out_FragColor = vec4(color); +} +`,n}function Dpt(e,t){zxe(e);let n=e._framebuffers,i=n.length,o=new Array(i);for(let r=0;r<i;++r)o[r]=t.createViewportQuadCommand(wpt(r,i),{framebuffer:n[r].framebuffer,uniformMap:vpt(e,r)});e._commands=o}Lb.prototype.clear=function(e){let t=this._framebuffers;if(!l(t))return;let n=this._clearCommand;l(n)||(n=this._clearCommand=new ri({color:new z(0,0,0,0),framebuffer:void 0}));let i=t.length;for(let o=0;o<i;++o)t[o].clear(e,n)};Lb.prototype.update=function(e){let t=e.drawingBufferWidth,n=e.drawingBufferHeight;(t!==this._width||n!==this._height)&&(this._width=t,this._height=n,Spt(this,e),Dpt(this,e),this._ready||(this._ready=!0)),this._minMaxLuminance.x=this.minimumLuminance,this._minMaxLuminance.y=this.maximumLuminance;let i=this._framebuffers,o=i[i.length-1];i[i.length-1]=this._previousLuminance,this._commands[this._commands.length-1].framebuffer=this._previousLuminance.framebuffer,this._previousLuminance=o};Lb.prototype.execute=function(e,t){this._colorTexture=t;let n=this._commands;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o)n[o].execute(e)};Lb.prototype.isDestroyed=function(){return!1};Lb.prototype.destroy=function(){return Uxe(this),zxe(this),ue(this)};var K4=Lb;var Ipt={NEAREST:0,LINEAR:1},Xf=Ipt;function Nb(e){e=y(e,y.EMPTY_OBJECT);let{name:t=Gn(),fragmentShader:n,uniforms:i,textureScale:o=1,forcePowerOfTwo:r=!1,sampleMode:s=Xf.NEAREST,pixelFormat:a=ot.RGBA,pixelDatatype:c=Ze.UNSIGNED_BYTE,clearColor:u=z.BLACK,scissorRectangle:f}=e;this._fragmentShader=n,this._uniforms=i,this._textureScale=o,this._forcePowerOfTwo=r,this._sampleMode=s,this._pixelFormat=a,this._pixelDatatype=c,this._clearColor=u,this._uniformMap=void 0,this._command=void 0,this._colorTexture=void 0,this._depthTexture=void 0,this._idTexture=void 0,this._actualUniforms={},this._dirtyUniforms=[],this._texturesToRelease=[],this._texturesToCreate=[],this._texturePromise=void 0;let d=new Ec;d.scissorTest={enabled:!0,rectangle:l(f)?Ye.clone(f):new Ye},this._passState=d,this._ready=!1,this._name=t,this._logDepthChanged=void 0,this._useLogDepth=void 0,this._selectedIdTexture=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0,this._textureCache=void 0,this._index=void 0,this.enabled=!0,this._enabled=!0}Object.defineProperties(Nb.prototype,{ready:{get:function(){return this._ready}},name:{get:function(){return this._name}},fragmentShader:{get:function(){return this._fragmentShader}},uniforms:{get:function(){return this._uniforms}},textureScale:{get:function(){return this._textureScale}},forcePowerOfTwo:{get:function(){return this._forcePowerOfTwo}},sampleMode:{get:function(){return this._sampleMode}},pixelFormat:{get:function(){return this._pixelFormat}},pixelDatatype:{get:function(){return this._pixelDatatype}},clearColor:{get:function(){return this._clearColor}},scissorRectangle:{get:function(){return this._passState.scissorTest.rectangle}},outputTexture:{get:function(){if(l(this._textureCache)){let e=this._textureCache.getFramebuffer(this._name);if(l(e))return e.getColorTexture(0)}}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});var Ppt=/uniform\s+sampler2D\s+depthTexture/g;Nb.prototype._isSupported=function(e){return!Ppt.test(this._fragmentShader)||e.depthTexture};function Opt(e,t,n){let i=t[n];return(typeof i=="string"||i instanceof HTMLCanvasElement||i instanceof HTMLImageElement||i instanceof HTMLVideoElement||i instanceof ImageData)&&e._dirtyUniforms.push(n),{get:function(){return t[n]},set:function(o){let r=t[n];t[n]=o;let s=e._actualUniforms,a=s[n];l(a)&&a!==r&&a instanceof Pt&&!l(e._textureCache.getStageByName(n))&&(e._texturesToRelease.push(a),delete s[n],delete s[`${n}Dimensions`]),r instanceof Pt&&e._texturesToRelease.push(r),typeof o=="string"||o instanceof HTMLCanvasElement||o instanceof HTMLImageElement||o instanceof HTMLVideoElement||o instanceof ImageData?e._dirtyUniforms.push(n):s[n]=o}}}function Rpt(e,t){return function(){let n=e._actualUniforms[t];return typeof n=="function"?n():n}}function Mpt(e,t){return function(){let n=e[t]();if(l(n))return n.dimensions}}function Lpt(e){if(l(e._uniformMap))return;let t={},n={},i=e._uniforms,o=e._actualUniforms;for(let r in i){if(!i.hasOwnProperty(r))continue;typeof i[r]!="function"?(t[r]=Rpt(e,r),n[r]=Opt(e,i,r)):(t[r]=i[r],n[r]=i[r]),o[r]=i[r];let s=t[r]();(typeof s=="string"||s instanceof Pt||s instanceof HTMLImageElement||s instanceof HTMLCanvasElement||s instanceof HTMLVideoElement)&&(t[`${r}Dimensions`]=Mpt(t,r))}e._uniforms={},Object.defineProperties(e._uniforms,n),e._uniformMap=Ct(t,{colorTexture:function(){return e._colorTexture},colorTextureDimensions:function(){return e._colorTexture.dimensions},depthTexture:function(){return e._depthTexture},depthTextureDimensions:function(){return e._depthTexture.dimensions},czm_idTexture:function(){return e._idTexture},czm_selectedIdTexture:function(){return e._selectedIdTexture},czm_selectedIdTextureStep:function(){return 1/e._selectedIdTexture.width}})}function Npt(e,t){return e=e.replace(/in\s+vec2\s+v_textureCoordinates;/g,""),`#define CZM_SELECTED_FEATURE +uniform sampler2D czm_idTexture; +uniform sampler2D czm_selectedIdTexture; +uniform float czm_selectedIdTextureStep; +in vec2 v_textureCoordinates; +bool czm_selected(vec2 offset) +{ + bool selected = false; + vec4 id = texture(czm_idTexture, v_textureCoordinates + offset); + for (int i = 0; i < ${t}; ++i) + { + vec4 selectedId = texture(czm_selectedIdTexture, vec2((float(i) + 0.5) * czm_selectedIdTextureStep, 0.5)); + if (all(equal(id, selectedId))) + { + return true; + } + } + return false; +} +bool czm_selected() +{ + return czm_selected(vec2(0.0)); +} + +${e}`}function Fpt(e,t){if(l(e._command)&&!e._logDepthChanged&&!e._selectedDirty)return;let n=e._fragmentShader;if(l(e._selectedIdTexture)){let o=e._selectedIdTexture.width;n=Npt(n,o)}let i=new He({defines:[e._useLogDepth?"LOG_DEPTH":""],sources:[n]});e._command=t.createViewportQuadCommand(i,{uniformMap:e._uniformMap,owner:e})}function Bpt(e){let t=e._sampleMode,n,i;t===Xf.LINEAR?(n=Zt.LINEAR,i=pi.LINEAR):(n=Zt.NEAREST,i=pi.NEAREST);let o=e._sampler;(!l(o)||o.minificationFilter!==n||o.magnificationFilter!==i)&&(e._sampler=new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:n,magnificationFilter:i}))}function kpt(e,t){return function(n){e._texturesToCreate.push({name:t,source:n})}}function Vpt(e,t){return function(){return e._textureCache.getOutputTexture(t)}}function Upt(e,t){let n=e._texturesToRelease;for(let a=0;a<n.length;++a){let c=n[a];c=c&&c.destroy()}n.length=0;let i=e._texturesToCreate;for(let a=0;a<i.length;++a){let{name:c,source:u}=i[a];e._actualUniforms[c]=new Pt({context:t,source:u})}i.length=0;let o=e._dirtyUniforms;if(o.length===0&&!l(e._texturePromise)){e._ready=!0;return}if(o.length===0||l(e._texturePromise))return;let r=e._uniforms,s=[];for(let a=0;a<o.length;++a){let c=o[a],u=r[c],f=e._textureCache.getStageByName(u);if(l(f))e._actualUniforms[c]=Vpt(e,u);else if(typeof u=="string"){let d=new Ae({url:u});s.push(d.fetchImage().then(kpt(e,c)))}else e._texturesToCreate.push({name:c,source:u})}o.length=0,s.length>0?(e._ready=!1,e._texturePromise=Promise.all(s).then(function(){e._ready=!0,e._texturePromise=void 0})):e._ready=!0}function Hxe(e){l(e._command)&&(e._command.shaderProgram=e._command.shaderProgram&&e._command.shaderProgram.destroy(),e._command=void 0),e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy();let t=e._textureCache;if(!l(t))return;let n=e._uniforms,i=e._actualUniforms;for(let o in i){if(!i.hasOwnProperty(o))continue;let r=i[o];r instanceof Pt&&(l(t.getStageByName(n[o]))||r.destroy(),e._dirtyUniforms.push(o))}}function zpt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength;if(l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;for(let o=0;o<e._combinedSelected.length;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}function Hpt(e,t){if(!e._selectedDirty)return;e._selectedIdTexture=e._selectedIdTexture&&e._selectedIdTexture.destroy(),e._selectedIdTexture=void 0;let n=e._combinedSelected;if(!l(n))return;let i=0;for(let s=0;s<n.length;++s){let a=n[s];l(a.pickIds)?i+=a.pickIds.length:l(a.pickId)&&++i}if(n.length===0||i===0){let s=new Uint8Array([255,255,255,255]);e._selectedIdTexture=new Pt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,source:{arrayBufferView:s,width:1,height:1},sampler:$t.NEAREST});return}let o=0,r=new Uint8Array(i*4);for(let s=0;s<n.length;++s){let a=n[s];if(l(a.pickIds)){let c=a.pickIds,u=c.length;for(let f=0;f<u;++f){let d=c[f].color;r[o]=z.floatToByte(d.red),r[o+1]=z.floatToByte(d.green),r[o+2]=z.floatToByte(d.blue),r[o+3]=z.floatToByte(d.alpha),o+=4}}else if(l(a.pickId)){let c=a.pickId.color;r[o]=z.floatToByte(c.red),r[o+1]=z.floatToByte(c.green),r[o+2]=z.floatToByte(c.blue),r[o+3]=z.floatToByte(c.alpha),o+=4}}e._selectedIdTexture=new Pt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,source:{arrayBufferView:r,width:i,height:1},sampler:$t.NEAREST})}Nb.prototype.update=function(e,t){if(this.enabled!==this._enabled&&!this.enabled&&Hxe(this),this._enabled=this.enabled,!this._enabled||(this._logDepthChanged=t!==this._useLogDepth,this._useLogDepth=t,this._selectedDirty=zpt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0,Hpt(this,e),Lpt(this),Upt(this,e),Fpt(this,e),Bpt(this),this._selectedDirty=!1,!this._ready))return;let n=this._textureCache.getFramebuffer(this._name);if(this._command.framebuffer=n,!l(n))return;let i=n.getColorTexture(0),o;(i.width!==e.drawingBufferWidth||i.height!==e.drawingBufferHeight)&&(o=this._renderState,(!l(o)||i.width!==o.viewport.width||i.height!==o.viewport.height)&&(this._renderState=ze.fromCache({viewport:new Ye(0,0,i.width,i.height)}))),this._command.renderState=o};Nb.prototype.execute=function(e,t,n,i){if(!l(this._command)||!l(this._command.framebuffer)||!this._ready||!this._enabled)return;this._colorTexture=t,this._depthTexture=n,this._idTexture=i,$t.equals(this._colorTexture.sampler,this._sampler)||(this._colorTexture.sampler=this._sampler);let o=this.scissorRectangle.width>0&&this.scissorRectangle.height>0?this._passState:void 0;l(o)&&(o.context=e),this._command.execute(e,o)};Nb.prototype.isDestroyed=function(){return!1};Nb.prototype.destroy=function(){return Hxe(this),ue(this)};var po=Nb;function Fb(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;l(t)||(t=Gn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(Fb.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});Fb.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};Fb.prototype.get=function(e){return this._stages[e]};function Gpt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}Fb.prototype.update=function(e,t){this._selectedDirty=Gpt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};Fb.prototype.isDestroyed=function(){return!1};Fb.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var Nu=Fb;var Ar={};function uK(e){let o=`#define USE_STEP_SIZE +${Mb}`,r=new po({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:Xf.LINEAR}),s=new po({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:Xf.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let u=r.uniforms,f=s.uniforms;u.delta=f.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let u=r.uniforms,f=s.uniforms;u.sigma=f.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let u=r.uniforms,f=s.uniforms;u.stepSize=f.stepSize=c}}}),new Nu({name:e,stages:[r,s],uniforms:a})}Ar.createBlurStage=function(){return uK("czm_blur")};Ar.createDepthOfFieldStage=function(){let e=uK("czm_depth_of_field_blur"),t=new po({name:"czm_depth_of_field_composite",fragmentShader:k4,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new Nu({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Ar.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Ar.createEdgeDetectionStage=function(){let e=Gn();return new po({name:`czm_edge_detection_${e}`,fragmentShader:U4,uniforms:{length:.25,color:z.clone(z.BLACK)}})};Ar.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function Wpt(e){if(!l(e))return Ar.createEdgeDetectionStage();let t=new Nu({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a}; +`,o+=` vec4 edge${a} = texture(edgeTexture${a}, v_textureCoordinates); + if (edge${a}.a > 0.0) + { + color = edge${a}; + break; + } +`,n[`edgeTexture${a}`]=e[a].name;let r=`${i}in vec2 v_textureCoordinates; +void main() { + vec4 color = vec4(0.0); + for (int i = 0; i < ${e.length}; i++) + { +${o} } + out_FragColor = color; +} +`,s=new po({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new Nu({name:"czm_edge_detection_composite",stages:[t,s]})}Ar.createSilhouetteStage=function(e){let t=Wpt(e),n=new po({name:"czm_silhouette_color_edges",fragmentShader:X4,uniforms:{silhouetteTexture:t.name}});return new Nu({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Ar.isSilhouetteSupported=function(e){return e.context.depthTexture};Ar.createBloomStage=function(){let e=new po({name:"czm_bloom_contrast_bias",fragmentShader:B4,uniforms:{contrast:128,brightness:-.3}}),t=uK("czm_bloom_blur"),n=new Nu({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new po({name:"czm_bloom_generate_composite",fragmentShader:N4,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new Nu({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Ar.createAmbientOcclusionStage=function(){let e=new po({name:"czm_ambient_occlusion_generate",fragmentShader:R4,uniforms:{intensity:3,bias:.1,lengthCap:.26,directionCount:8,stepCount:32,randomTexture:void 0}}),t=new po({name:"czm_ambient_occlusion_composite",fragmentShader:M4,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:e.name}}),n={};return Object.defineProperties(n,{intensity:{get:function(){return e.uniforms.intensity},set:function(i){e.uniforms.intensity=i}},bias:{get:function(){return e.uniforms.bias},set:function(i){e.uniforms.bias=i}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(i){e.uniforms.lengthCap=i}},directionCount:{get:function(){return e.uniforms.directionCount},set:function(i){e.uniforms.directionCount=i}},stepCount:{get:function(){return e.uniforms.stepCount},set:function(i){e.uniforms.stepCount=i}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(i){e.uniforms.randomTexture=i}},ambientOcclusionOnly:{get:function(){return t.uniforms.ambientOcclusionOnly},set:function(i){t.uniforms.ambientOcclusionOnly=i}}}),new Nu({name:"czm_ambient_occlusion",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Ar.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var jpt=`#define FXAA_QUALITY_PRESET 39 +${HU} +${G4}`;Ar.createFXAAStage=function(){return new po({name:"czm_FXAA",fragmentShader:jpt,sampleMode:Xf.LINEAR})};Ar.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=O4,new po({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Ar.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=z4,new po({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Ar.createPbrNeutralTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=H4,new po({name:"czm_pbr_neutral",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Ar.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=Y4,new po({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Ar.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE +`:"";return t+=j4,new po({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:z.WHITE,autoExposure:void 0,exposure:1}})};Ar.createAutoExposureStage=function(){return new K4};Ar.createBlackAndWhiteStage=function(){return new po({name:"czm_black_and_white",fragmentShader:L4,uniforms:{gradations:5}})};Ar.createBrightnessStage=function(){return new po({name:"czm_brightness",fragmentShader:F4,uniforms:{brightness:.5}})};Ar.createNightVisionStage=function(){return new po({name:"czm_night_vision",fragmentShader:q4})};Ar.createDepthViewStage=function(){return new po({name:"czm_depth_view",fragmentShader:V4})};Ar.createLensFlareStage=function(){return new po({name:"czm_lens_flare",fragmentShader:W4,uniforms:{dirtTexture:rn("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:rn("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:ee.WGS84.maximumRadius}})};var Kf=Ar;function C_(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function dP(e){for(;l(e.length);)e=e.get(e.length-1);return e.name}function fK(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(l(o)){let a=e.getStageByName(o);r[dP(a)]=!0}let s=i.uniforms;if(l(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let u=0;u<c;++u){let f=s[a[u]];if(typeof f=="string"){let d=e.getStageByName(f);l(d)&&(r[dP(d)]=!0)}}}return i.name}function fP(e,t,n,i,o){if(l(i.enabled)&&!i.enabled||l(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!l(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let d=0;d<c;++d){let p=i.get(d);l(p.length)?a=fP(e,t,n,p,o):a=fK(e,t,n,p,o),s&&(o=a)}let u,f;if(s)for(u=1;u<c;++u)f=dP(i.get(u)),l(n[f])||(n[f]={}),n[f][r]=!0;else for(u=1;u<c;++u){f=dP(i.get(u));let d=n[f];for(let p=0;p<u;++p)d[dP(i.get(p))]=!0}return a}function qpt(e,t){let n={};if(l(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=fP(e,t,n,i,void 0);a=fP(e,t,n,o,a),a=fK(e,t,n,r,a),a=fP(e,t,n,e,a),fK(e,t,n,s,a)}else fP(e,t,n,e,void 0);return n}function Ypt(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,u=o._clearColor,f,d,p=e._framebuffers,g=p.length;for(f=0;f<g;++f){if(d=p[f],r!==d.textureScale||s!==d.forcePowerOfTwo||a!==d.pixelFormat||c!==d.pixelDatatype||!z.equals(u,d.clearColor))continue;let m=d.stages,x=m.length,b=!1;for(let T=0;T<x;++T)if(n[m[T]]){b=!0;break}if(!b)break}return l(d)&&f<g?(d.stages.push(t),d):(d={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:u,stages:[t],buffer:new _i({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(d),d)}function Xpt(e,t){let n=qpt(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=Ypt(e,i,n[i]))}function dK(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function Kpt(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,u=Math.ceil(n*c),f=Math.ceil(i*c),d=Math.min(u,f);a.forcePowerOfTwo&&(P.isPowerOfTwo(d)||(d=P.nextPowerOfTwo(d)),u=d,f=d),a.buffer.update(t,u,f),a.clear=new ri({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}C_.prototype.updateDependencies=function(){this._updateDependencies=!0};C_.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=l(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=l(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=l(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=l(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!l(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(dK(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&Xpt(this,e);let c=e.drawingBufferWidth,u=e.drawingBufferHeight,f=this._width!==c||this._height!==u;!n&&!f||(this._width=c,this._height=u,this._updateDependencies=!1,dK(this),Kpt(this,e))};C_.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};C_.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};C_.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};C_.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(l(t))return t.buffer.framebuffer};C_.prototype.isDestroyed=function(){return!1};C_.prototype.destroy=function(){return dK(this),ue(this)};var gS=C_;var Zpt={REINHARD:"REINHARD",MODIFIED_REINHARD:"MODIFIED_REINHARD",FILMIC:"FILMIC",ACES:"ACES",PBR_NEUTRAL:"PBR_NEUTRAL"};var g0=Object.freeze(Zpt);var hK=[];function Qc(){let e=Kf.createFXAAStage(),t=Kf.createAmbientOcclusionStage(),n=Kf.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=Kf.createAutoExposureStage(),this._exposure=1,this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=g0.PBR_NEUTRAL;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new gS(this),r={},s=hK;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let u=c.length;if(l(u))for(let f=0;f<u;++f)s.push(c.get(f))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(Qc.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return mK(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(l(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!l(t))continue;if(l(t.selected))return!0;let n=t.length;if(l(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;l(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case g0.REINHARD:n=Kf.createReinhardTonemappingStage(t);break;case g0.MODIFIED_REINHARD:n=Kf.createModifiedReinhardTonemappingStage(t);break;case g0.FILMIC:n=Kf.createFilmicTonemappingStage(t);break;case g0.PBR_NEUTRAL:n=Kf.createPbrNeutralTonemappingStage(t);break;default:n=Kf.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}else n.uniforms.exposure=this._exposure;this._tonemapper=e,this._tonemapping=n,l(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}},exposure:{get:function(){return this._exposure},set:function(e){this._tonemapping.uniforms.exposure=e,this._exposure=e}}});function mK(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages;for(let i=0,o=0;i<n.length;++i){let r=n[i];r&&(r._index=o++,t.push(r))}e._stages=t}Qc.prototype.add=function(e){let t=this._stageNames,n=hK;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(l(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};Qc.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=hK;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(l(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};Qc.prototype.contains=function(e){return l(e)&&l(e._index)&&e._textureCache===this._textureCache};Qc.prototype.get=function(e){return mK(this),this._stages[e]};Qc.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};Qc.prototype.getStageByName=function(e){return this._stageNames[e]};Qc.prototype.update=function(e,t,n){mK(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages;o.length=r.length;let s=0;for(let T=0;T<r.length;++T){let C=r[T];C.ready&&C.enabled&&C._isSupported(e)&&(o[s++]=C)}o.length=s;let a=s!==i.length;if(!a){for(let T=0;T<s;++T)if(o[T]!==i[T]){a=!0;break}}let c=this._ao,u=this._bloom,f=this._autoExposure,d=this._tonemapping,p=this._fxaa;d.enabled=n;let g=c.enabled&&c._isSupported(e),m=u.enabled&&u._isSupported(e),x=d.enabled&&d._isSupported(e),b=p.enabled&&p._isSupported(e);if((a||this._textureCacheDirty||g!==this._aoEnabled||m!==this._bloomEnabled||x!==this._tonemappingEnabled||b!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=g,this._bloomEnabled=m,this._tonemappingEnabled=x,this._fxaaEnabled=b,this._textureCacheDirty=!1),l(this._randomTexture)&&!g&&(this._randomTexture.destroy(),this._randomTexture=void 0),!l(this._randomTexture)&&g){let C=new Uint8Array(196608);for(let A=0;A<196608;A+=3)C[A]=Math.floor(Math.random()*255);this._randomTexture=new Pt({context:e,pixelFormat:ot.RGB,pixelDatatype:Ze.UNSIGNED_BYTE,source:{arrayBufferView:C,width:256,height:256},sampler:new $t({wrapS:Sn.REPEAT,wrapT:Sn.REPEAT,minificationFilter:Zt.NEAREST,magnificationFilter:pi.NEAREST})})}this._textureCache.update(e),p.update(e,t),c.update(e,t),u.update(e,t),d.update(e,t),this._autoExposureEnabled&&f.update(e,t);for(let T=0;T<r.length;++T)r[T].update(e,t);s=0;for(let T=0;T<r.length;++T){let C=r[T];C.ready&&C.enabled&&C._isSupported(e)&&s++}a=s!==o.length,a&&this.update(e,t,n)};Qc.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function Bb(e){for(;l(e.length);)e=e.get(e.length-1);return e.outputTexture}Qc.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(l(t))return Bb(t)};function Hm(e,t,n,i,o){if(l(e.execute)){e.execute(t,n,i,o);return}if(e.inputPreviousStageTexture){Hm(e.get(0),t,n,i,o);for(let r=1;r<e.length;++r)Hm(e.get(r),t,Bb(e.get(r-1)),i,o)}else for(let r=0;r<e.length;++r)Hm(e.get(r),t,n,i,o)}Qc.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,u=this._autoExposure,f=this._tonemapping,d=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,m=f.enabled&&f._isSupported(e),x=s.enabled&&s._isSupported(e);if(!x&&!d&&!p&&!m&&r===0)return;let b=t;d&&a.ready&&(Hm(a,e,b,n,i),b=Bb(a)),p&&c.ready&&(Hm(c,e,b,n,i),b=Bb(c)),g&&u.ready&&Hm(u,e,b,n,i),m&&f.ready&&(Hm(f,e,b,n,i),b=Bb(f));let T=b;if(r>0){Hm(o[0],e,b,n,i);for(let C=1;C<r;++C)Hm(o[C],e,Bb(o[C-1]),n,i);T=Bb(o[r-1])}x&&s.ready&&Hm(s,e,T,n,i)};Qc.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Lu,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};Qc.prototype.isDestroyed=function(){return!1};Qc.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),ue(this)};var Z4=Qc;function kb(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}kb.prototype.completeMorph=function(){l(this._completeMorph)&&this._completeMorph()};kb.prototype.morphTo2D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof an,!(this._previousMode===ne.SCENE2D||this._previousMode===ne.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE2D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.COLUMBUS_VIEW?I_t(this,e):F_t(this,e,t),e===0&&l(this._completeMorph)&&this._completeMorph())};var $pt=new h,Qpt=new h,Jpt=new h,e_t=new h,t_t=new h,n_t=new h,i_t=new h,o_t=new fe,r_t=new F,s_t=new Di,a_t=new an,c_t={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};kb.prototype.morphToColumbusView=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===ne.COLUMBUS_VIEW||this._previousMode===ne.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,ne.COLUMBUS_VIEW,!0),n.camera._setTransform(F.IDENTITY);let i=$pt,o=Qpt,r=Jpt;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let u=n.camera;if(this._previousMode===ne.SCENE2D)h.clone(u.position,i),i.z=u.frustum.right-u.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(u.positionWC,i),h.clone(u.directionWC,o),h.clone(u.upWC,r);let f=t.scaleToGeodeticSurface(i,i_t),d=Mt.eastNorthUpToFixedFrame(f,t,r_t);F.inverseTransformation(d,d),n.mapProjection.project(t.cartesianToCartographic(i,o_t),i),F.multiplyByPointAsVector(d,o,o),F.multiplyByPointAsVector(d,r,r)}}let s;this._morphToOrthographic?(s=a_t,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=s_t,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=P.toRadians(60));let a=c_t;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=k_t(a);hP(this,c),this._previousMode===ne.SCENE2D?B_t(this,e,a,c):(a.position2D=F.multiplyByPoint(co.TRANSFORM_2D,i,e_t),a.direction2D=F.multiplyByPointAsVector(co.TRANSFORM_2D,o,t_t),a.up2D=F.multiplyByPointAsVector(co.TRANSFORM_2D,r,n_t),n._mode=ne.MORPHING,Jxe(this,e,a,c)),e===0&&l(this._completeMorph)&&this._completeMorph()};var gK={position:new h,direction:new h,up:new h,frustum:void 0},Wxe=new Di;kb.prototype.morphTo3D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===ne.SCENE3D||this._previousMode===ne.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE3D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.SCENE2D)x_t(this,e,t);else{let i;e>0?(i=gK,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=jxe(this,t);let o,r=n.camera;r.frustum instanceof an?o=r.frustum.clone():(o=Wxe,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=P.toRadians(60)),i.frustum=o;let s=tbe(i);hP(this,s),_K(this,e,i,s)}e===0&&l(this._completeMorph)&&this._completeMorph()}};kb.prototype.isDestroyed=function(){return!1};kb.prototype.destroy=function(){return $4(this),ue(this)};function hP(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new Gf(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,Cn.LEFT_DOWN),e._morphHandler.setInputAction(n,Cn.MIDDLE_DOWN),e._morphHandler.setInputAction(n,Cn.RIGHT_DOWN),e._morphHandler.setInputAction(n,Cn.WHEEL)}}function $4(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var l_t=new fe,u_t=new h,f_t=new F;function jxe(e,t){let n=e._scene,i=n.camera,o=gK,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,l_t);t.cartographicToCartesian(c,r);let u=t.scaleToGeodeticSurface(r,u_t),f=Mt.eastNorthUpToFixedFrame(u,t,f_t);return F.multiplyByPointAsVector(f,i.direction,s),F.multiplyByPointAsVector(f,i.up,a),o}var d_t=new h,h_t=new h,m_t=new h,p_t=new h,__t=new h,g_t=new h;function _K(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,d_t),a=h.clone(r.direction,h_t),c=h.clone(r.up,m_t),u=F.multiplyByPoint(co.TRANSFORM_2D_INVERSE,n.position,p_t),f=F.multiplyByPointAsVector(co.TRANSFORM_2D_INVERSE,n.direction,__t),d=F.multiplyByPointAsVector(co.TRANSFORM_2D_INVERSE,n.up,g_t);function p(m){Zf(s,u,m.time,r.position),Zf(a,f,m.time,r.direction),Zf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){ebe(e,o,0,1,t,i)}});e._currentTweens.push(g)}var y_t=new an,qxe=new h,Yxe=new h,Xxe=new h,yK=new h,Kxe=new h,Zxe=new h;function x_t(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=gK,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=jxe(e,n));let s;e._morphToOrthographic?(s=y_t,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=Wxe,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=P.toRadians(60)),r.frustum=s;let a=tbe(r);hP(e,a);let c;e._morphToOrthographic?c=function(){_K(e,t,r,a)}:c=function(){Qxe(e,t,r,function(){_K(e,t,r,a)})},t>0?(i._mode=ne.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,yK),complete:function(){i._mode=ne.MORPHING,c()}})):c()}function Zf(e,t,n,i){return h.lerp(e,t,n,i)}function $xe(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof an)return;let a=s.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=n.position.z*Math.tan(a*.5);s.frustum.far=u/Math.tan(c*.5)+1e7;function f(p){s.frustum.fov=P.lerp(a,c,p.time);let g=u/Math.tan(s.frustum.fov*.5);i(s,g)}let d=r.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(d)}var b_t=new h,T_t=new h,C_t=new h,pK=new h,A_t=new h,E_t=new h,S_t=new Wr,v_t=new _n,w_t=new h,D_t={position:void 0,direction:void 0,up:void 0,frustum:void 0};function I_t(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,b_t),r=h.clone(i.direction,T_t),s=h.clone(i.up,C_t),a=h.negate(h.UNIT_Z,A_t),c=h.clone(h.UNIT_Y,E_t),u=pK;if(t>0)h.clone(h.ZERO,pK),u.z=5*n.ellipsoid.maximumRadius;else{h.clone(o,pK);let b=v_t;F.multiplyByPoint(co.TRANSFORM_2D,o,b.origin),F.multiplyByPointAsVector(co.TRANSFORM_2D,r,b.direction);let T=n.globe;if(l(T)){let C=T.pickWorldCoordinates(b,n,!0,w_t);l(C)&&(F.multiplyByPoint(co.TRANSFORM_2D_INVERSE,C,u),u.z+=h.distance(o,u))}}let f=S_t;f.right=u.z*.5,f.left=-f.right,f.top=f.right*(n.drawingBufferHeight/n.drawingBufferWidth),f.bottom=-f.top;let d=D_t;d.position=u,d.direction=a,d.up=c,d.frustum=f;let p=nbe(d);hP(e,p);function g(b){Zf(o,u,b.time,i.position),Zf(r,a,b.time,i.direction),Zf(s,c,b.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function m(b,T){b.position.z=T}let x=n.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){$xe(e,t,d,m,p)}});e._currentTweens.push(x)}var Gxe=new fe,P_t={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new Wr},O_t={position:new h,direction:new h,up:new h,frustum:void 0},R_t=new h,M_t=new _n,L_t=new F,N_t=new h;function F_t(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=P_t;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,Gxe),i.mapProjection.project(Gxe,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let d=M_t;h.clone(r.position2D,d.origin);let p=h.clone(o.directionWC,d.direction),g=n.scaleToGeodeticSurface(o.positionWC,N_t),m=Mt.eastNorthUpToFixedFrame(g,n,L_t);F.inverseTransformation(m,m),F.multiplyByPointAsVector(m,p,p),F.multiplyByPointAsVector(co.TRANSFORM_2D,p,p);let x=i.globe;if(l(x)){let b=x.pickWorldCoordinates(d,i,!0,R_t);if(l(b)){let T=h.distance(r.position2D,b);b.x+=T,h.clone(b,r.position2D)}}}function s(d,p){d.position.x=p}F.multiplyByPoint(co.TRANSFORM_2D,r.position,r.position2D),F.multiplyByPointAsVector(co.TRANSFORM_2D,r.direction,r.direction2D),F.multiplyByPointAsVector(co.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=O_t;F.multiplyByPoint(co.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let u=nbe(c);hP(e,u);function f(){$xe(e,t,r,s,u)}Jxe(e,t,r,f)}function Qxe(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=s*Math.tan(a*.5);r.frustum.far=u/Math.tan(c*.5)+1e7,r.frustum.fov=c;function f(p){r.frustum.fov=P.lerp(c,a,p.time),r.position.z=u/Math.tan(r.frustum.fov*.5)}let d=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){i(e)}});e._currentTweens.push(d)}function B_t(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,yK),a=h.clone(n.direction,Kxe),c=h.clone(n.up,Zxe);o._mode=ne.MORPHING;function u(){r.frustum=n.frustum.clone();let f=h.clone(r.position,qxe),d=h.clone(r.direction,Yxe),p=h.clone(r.up,Xxe);f.z=s.z;function g(x){Zf(f,s,x.time,r.position),Zf(d,a,x.time,r.direction),Zf(p,c,x.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let m=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(m)}e._morphToOrthographic?u():Qxe(e,0,n,u)}function Jxe(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,qxe),a=h.clone(r.direction,Yxe),c=h.clone(r.up,Xxe),u=h.clone(n.position2D,yK),f=h.clone(n.direction2D,Kxe),d=h.clone(n.up2D,Zxe);function p(m){Zf(s,u,m.time,r.position),Zf(a,f,m.time,r.direction),Zf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:Jr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){ebe(e,o,1,0,t,i)}});e._currentTweens.push(g)}function ebe(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Jr.QUARTIC_OUT};l(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function tbe(e){return function(t){let n=t._scene;n._mode=ne.SCENE3D,n.morphTime=ne.getMorphTime(ne.SCENE3D),$4(t);let i=n.camera;(t._previousMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE3D,r)}}function nbe(e){return function(t){let n=t._scene;n._mode=ne.SCENE2D,n.morphTime=ne.getMorphTime(ne.SCENE2D),$4(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE2D,o)}}function k_t(e){return function(t){let n=t._scene;n._mode=ne.COLUMBUS_VIEW,n.morphTime=ne.getMorphTime(ne.COLUMBUS_VIEW),$4(t);let i=n.camera;(t._previousModeMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.COLUMBUS_VIEW,r)}}var Q4=kb;var V_t={LEFT_DRAG:0,RIGHT_DRAG:1,MIDDLE_DRAG:2,WHEEL:3,PINCH:4},Bi=Object.freeze(V_t);function Zs(e,t){let n=`${e}`;return l(t)&&(n+=`+${t}`),n}function U_t(e,t){U.clone(e.distance.startPosition,t.distance.startPosition),U.clone(e.distance.endPosition,t.distance.endPosition),U.clone(e.angleAndHeight.startPosition,t.angleAndHeight.startPosition),U.clone(e.angleAndHeight.endPosition,t.angleAndHeight.endPosition)}function ibe(e,t,n){let i=Zs(Bi.PINCH,t),o=e._update,r=e._isDown,s=e._eventStartPosition,a=e._pressTime,c=e._releaseTime;o[i]=!0,r[i]=!1,s[i]=new U;let u=e._movement[i];l(u)||(u=e._movement[i]={}),u.distance={startPosition:new U,endPosition:new U},u.angleAndHeight={startPosition:new U,endPosition:new U},u.prevAngle=0,e._eventHandler.setInputAction(function(f){e._buttonsDown++,r[i]=!0,a[i]=new Date,U.lerp(f.position1,f.position2,.5,s[i])},Cn.PINCH_START,t),e._eventHandler.setInputAction(function(){e._buttonsDown=Math.max(e._buttonsDown-1,0),r[i]=!1,c[i]=new Date},Cn.PINCH_END,t),e._eventHandler.setInputAction(function(f){if(r[i]){o[i]?(U_t(f,u),o[i]=!1,u.prevAngle=u.angleAndHeight.startPosition.x):(U.clone(f.distance.endPosition,u.distance.endPosition),U.clone(f.angleAndHeight.endPosition,u.angleAndHeight.endPosition));let d=u.angleAndHeight.endPosition.x,p=u.prevAngle,g=Math.PI*2;for(;d>=p+Math.PI;)d-=g;for(;d<p-Math.PI;)d+=g;u.angleAndHeight.endPosition.x=-d*n.clientWidth/12,u.angleAndHeight.startPosition.x=-p*n.clientWidth/12}},Cn.PINCH_MOVE,t)}function obe(e,t){let n=Zs(Bi.WHEEL,t),i=e._pressTime,o=e._releaseTime,r=e._update;r[n]=!0;let s=e._movement[n];l(s)||(s=e._movement[n]={});let a=e._lastMovement[n];l(a)||(a=e._lastMovement[n]={startPosition:new U,endPosition:new U,valid:!1}),s.startPosition=new U,U.clone(U.ZERO,s.startPosition),s.endPosition=new U,e._eventHandler.setInputAction(function(c){let u=7.5*P.toRadians(c);i[n]=o[n]=new Date,s.endPosition.x=0,s.endPosition.y=u,U.clone(s.endPosition,a.endPosition),a.valid=!0,r[n]=!1},Cn.WHEEL,t)}function yS(e,t,n){let i=Zs(n,t),o=e._isDown,r=e._eventStartPosition,s=e._pressTime;o[i]=!1,r[i]=new U;let a=e._lastMovement[i];l(a)||(a=e._lastMovement[i]={startPosition:new U,endPosition:new U,valid:!1});let c,u;n===Bi.LEFT_DRAG?(c=Cn.LEFT_DOWN,u=Cn.LEFT_UP):n===Bi.RIGHT_DRAG?(c=Cn.RIGHT_DOWN,u=Cn.RIGHT_UP):n===Bi.MIDDLE_DRAG&&(c=Cn.MIDDLE_DOWN,u=Cn.MIDDLE_UP),e._eventHandler.setInputAction(function(f){e._buttonsDown++,a.valid=!1,o[i]=!0,s[i]=new Date,U.clone(f.position,r[i])},c,t),e._eventHandler.setInputAction(function(){xK(Zs(n,void 0),e);for(let f of Object.values(ya)){let d=Zs(n,f);xK(d,e)}},u,t)}function xK(e,t){let n=t._releaseTime,i=t._isDown;i[e]&&(t._buttonsDown=Math.max(t._buttonsDown-1,0)),i[e]=!1,n[e]=new Date}function rbe(e,t){U.clone(e.startPosition,t.startPosition),U.clone(e.endPosition,t.endPosition)}function z_t(e,t,n){let i=n._isDown,o=!1,r=Zs(e,t);for(let[c,u]of Object.entries(i))c.startsWith(e)&&u&&c!==r&&(o=!0,xK(c,n));if(!o)return;let s=n._pressTime,a=n._lastMovement[r];l(a)||(a=n._lastMovement[r]={startPosition:new U,endPosition:new U,valid:!1}),n._buttonsDown++,a.valid=!1,i[r]=!0,s[r]=new Date}function sbe(e,t){let n=e._update,i=e._movement,o=e._lastMovement,r=e._isDown;for(let s in Bi)if(Bi.hasOwnProperty(s)){let a=Bi[s];if(l(a)){let c=Zs(a,t);n[c]=!0,l(e._lastMovement[c])||(e._lastMovement[c]={startPosition:new U,endPosition:new U,valid:!1}),l(e._movement[c])||(e._movement[c]={startPosition:new U,endPosition:new U})}}e._eventHandler.setInputAction(function(s){for(let a in Bi)if(Bi.hasOwnProperty(a)){let c=Bi[a];if(l(c)){let u=Zs(c,t);z_t(c,t,e),r[u]&&(n[u]?(rbe(i[u],o[u]),o[u].valid=!0,rbe(s,i[u]),n[u]=!1):U.clone(s.endPosition,i[u].endPosition))}}U.clone(s.endPosition,e._currentMousePosition)},Cn.MOUSE_MOVE,t)}function $f(e){this._eventHandler=new Gf(e),this._update={},this._movement={},this._lastMovement={},this._isDown={},this._eventStartPosition={},this._pressTime={},this._releaseTime={},this._buttonsDown=0,this._currentMousePosition=new U,obe(this,void 0),ibe(this,void 0,e),yS(this,void 0,Bi.LEFT_DRAG),yS(this,void 0,Bi.RIGHT_DRAG),yS(this,void 0,Bi.MIDDLE_DRAG),sbe(this,void 0);for(let t in ya)if(ya.hasOwnProperty(t)){let n=ya[t];l(n)&&(obe(this,n),ibe(this,n,e),yS(this,n,Bi.LEFT_DRAG),yS(this,n,Bi.RIGHT_DRAG),yS(this,n,Bi.MIDDLE_DRAG),sbe(this,n))}}Object.defineProperties($f.prototype,{currentMousePosition:{get:function(){return this._currentMousePosition}},anyButtonDown:{get:function(){let e=!this._update[Zs(Bi.WHEEL)]||!this._update[Zs(Bi.WHEEL,ya.SHIFT)]||!this._update[Zs(Bi.WHEEL,ya.CTRL)]||!this._update[Zs(Bi.WHEEL,ya.ALT)];return this._buttonsDown>0||e}}});$f.prototype.isMoving=function(e,t){let n=Zs(e,t);return!this._update[n]};$f.prototype.getMovement=function(e,t){let n=Zs(e,t);return this._movement[n]};$f.prototype.getLastMovement=function(e,t){let n=Zs(e,t),i=this._lastMovement[n];if(i.valid)return i};$f.prototype.isButtonDown=function(e,t){let n=Zs(e,t);return this._isDown[n]};$f.prototype.getStartMousePosition=function(e,t){if(e===Bi.WHEEL)return this._currentMousePosition;let n=Zs(e,t);return this._eventStartPosition[n]};$f.prototype.getButtonPressTime=function(e,t){let n=Zs(e,t);return this._pressTime[n]};$f.prototype.getButtonReleaseTime=function(e,t){let n=Zs(e,t);return this._releaseTime[n]};$f.prototype.reset=function(){for(let e in this._update)this._update.hasOwnProperty(e)&&(this._update[e]=!0)};$f.prototype.isDestroyed=function(){return!1};$f.prototype.destroy=function(){return this._eventHandler=this._eventHandler&&this._eventHandler.destroy(),ue(this)};var J4=$f;function eH(e,t,n,i,o,r,s,a,c,u){this._tweens=e,this._tweenjs=t,this._startObject=We(n),this._stopObject=We(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=u,this.needsStart=!0}Object.defineProperties(eH.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});eH.prototype.cancelTween=function(){this._tweens.remove(this)};function lh(){this._tweens=[]}Object.defineProperties(lh.prototype,{length:{get:function(){return this._tweens.length}}});lh.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return l(e.complete)&&e.complete(),new eH(this);let t=e.duration/Xn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Xn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,Jr.LINEAR_NONE),r=e.startObject,s=new Qpe(r);s.to(We(e.stopObject),t),s.delay(i),s.easing(o),l(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new eH(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};lh.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};lh.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&l(t.uniforms[o])&&l(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};lh.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};lh.prototype.remove=function(e){if(!l(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),l(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};lh.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),l(n.cancel)&&n.cancel()}e.length=0};lh.prototype.contains=function(e){return l(e)&&this._tweens.indexOf(e)!==-1};lh.prototype.get=function(e){return this._tweens[e]};lh.prototype.update=function(e){let t=this._tweens,n=0;for(e=l(e)?e/Xn.SECONDS_PER_MILLISECOND:Ei();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var xS=lh;function pP(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.zoomFactor=5,this.translateEventTypes=Bi.LEFT_DRAG,this.zoomEventTypes=[Bi.RIGHT_DRAG,Bi.WHEEL,Bi.PINCH],this.rotateEventTypes=Bi.LEFT_DRAG,this.tiltEventTypes=[Bi.MIDDLE_DRAG,Bi.PINCH,{eventType:Bi.LEFT_DRAG,modifier:ya.CTRL},{eventType:Bi.RIGHT_DRAG,modifier:ya.CTRL}],this.lookEventTypes={eventType:Bi.LEFT_DRAG,modifier:ya.SHIFT};let t=y(e.ellipsoid,ee.default);this.minimumPickingTerrainHeight=ee.WGS84.equals(t)?15e4:t.minimumRadius*.025,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=ee.WGS84.equals(t)?4e3:t.minimumRadius*63e-5,this.minimumCollisionTerrainHeight=ee.WGS84.equals(t)?15e3:t.minimumRadius*.0025,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=ee.WGS84.equals(t)?75e5:t.minimumRadius*1.175,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.maximumTiltAngle=void 0,this._scene=e,this._globe=void 0,this._ellipsoid=t,this._lastGlobeHeight=0,this._aggregator=new J4(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new xS,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new U(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new U(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new U,this._strafeEndMousePosition=new U,this._zoomMouseStart=new U(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._panLastMousePosition=new U,this._panLastWorldPosition=new h,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let n=e.mapProjection;this._maxCoord=n.project(new fe(Math.PI,P.PI_OVER_TWO)),this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function H_t(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function G_t(e){return U.equalsEpsilon(e.startPosition,e.endPosition,P.EPSILON14)}var W_t=.4;function j_t(e,t,n,i,o,r,s){let a=r[s];l(a)||(a=r[s]={startPosition:new U,endPosition:new U,motion:new U,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),u=e.getButtonReleaseTime(t,n),f=c&&u&&(u.getTime()-c.getTime())/1e3,p=u&&(new Date().getTime()-u.getTime())/1e3;if(c&&u&&f<W_t){let g=H_t(p,i),m=e.getLastMovement(t,n);if(!l(m)||G_t(m)||!a.inertiaEnabled||(a.motion.x=(m.endPosition.x-m.startPosition.x)*.5,a.motion.y=(m.endPosition.y-m.startPosition.y)*.5,a.startPosition=U.clone(m.startPosition,a.startPosition),a.endPosition=U.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=U.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||U.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let x=e.getStartMousePosition(t,n);o(r,x,a)}}}function q_t(e,t){if(l(t)){let n=e[t];l(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(l(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],l(n)&&(n.inertiaEnabled=!1)}}}var abe=[];function Jc(e,t,n,i,o,r){if(!l(n))return;let s=e._aggregator;Array.isArray(n)||(abe[0]=n,n=abe);let a=n.length;for(let c=0;c<a;++c){let u=n[c],f=l(u.eventType)?u.eventType:u,d=u.modifier,p=s.isMoving(f,d)&&s.getMovement(f,d),g=s.getStartMousePosition(f,d);e.enableInputs&&t&&(p?(i(e,g,p),q_t(e,r)):o<1&&j_t(s,f,d,o,i,e,r))}}var tH=new _n,Y_t=new h,X_t=new U,K_t=new h,Z_t=new U,$_t=new h,Q_t=new h,J_t=new h,egt=new h,xbe=new h,tgt=new h,ngt=new h,igt=new h,ogt=new h,rgt=new h,sgt=new h,agt=new h,cgt=new h,lgt=new h,ugt=new h,Vb=new h,cbe=new h,lbe=new h,bK={orientation:new qa};function DK(e,t,n,i,o,r){let s=1;l(r)&&(s=P.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,u=a>0?e.minimumZoomDistance*s:0,f=e.maximumZoomDistance,d=o-u,p=i*d;p=P.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let m=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!l(e._globe)){if(m>0&&Math.abs(o-u)<1||m<0&&Math.abs(o-f)<1)return;o-m<u?m=o-u-1:o-m>f&&(m=o-f)}let x=e._scene,b=x.camera,T=x.mode,C=bK.orientation;if(C.heading=b.heading,C.pitch=b.pitch,C.roll=b.roll,b.frustum instanceof an){Math.abs(m)>0&&(b.zoomIn(m),b._adjustOrthographicFrustum(!0));return}let A=y(n.inertiaEnabled,U.equals(t,e._zoomMouseStart)),S=e._zoomingOnVector,v=e._rotatingZoom,D;if(A||(e._zoomMouseStart=U.clone(t,e._zoomMouseStart),l(e._globe)&&T===ne.SCENE2D?(D=b.getPickRay(t,tH).origin,D=h.fromElements(D.y,D.z,D.x)):l(e._globe)&&(D=A_(e,t,Y_t)),l(D)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,S=e._zoomingOnVector=!1,v=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){b.zoomIn(m);return}let R=T===ne.COLUMBUS_VIEW;if(b.positionCartographic.height<2e6&&(v=!0),!A||v){if(T===ne.SCENE2D){let O=e._zoomWorldPosition,M=b.position;if(!h.equals(O,M)&&b.positionCartographic.height<e._maxCoord.x*2){let N=b.position.x,_=h.subtract(O,M,K_t);h.normalize(_,_);let E=h.distance(O,M)*m/(b.getMagnitude()*.5);b.move(_,E*.5),(b.position.x<0&&N>0||b.position.x>0&&N<0)&&(D=b.getPickRay(t,tH).origin,D=h.fromElements(D.y,D.z,D.x),e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition))}}else if(T===ne.SCENE3D){let O=h.normalize(b.position,xbe);if(e._cameraUnderground||e._zoomingUnderground||b.positionCartographic.height<3e3&&Math.abs(h.dot(b.direction,O))<.6)R=!0;else{let M=x.canvas,N=Z_t;N.x=M.clientWidth/2,N.y=M.clientHeight/2;let _=A_(e,N,$_t);if(!l(_))R=!0;else if(b.positionCartographic.height<1e6)if(h.dot(b.direction,O)>=-.5)R=!0;else{let E=ngt;h.clone(b.position,E);let w=e._zoomWorldPosition,I=tgt;if(I=h.normalize(w,I),h.dot(I,O)<0)return;let L=ugt,B=rgt;h.clone(b.direction,B),h.add(E,h.multiplyByScalar(B,1e3,Vb),L);let H=sgt,V=agt;h.subtract(w,E,H),h.normalize(H,V);let G=h.dot(O,V);if(G>=0){e._zoomMouseStart.x=-1;return}let k=Math.acos(-G),W=h.magnitude(E),Y=h.magnitude(w),J=W-m,j=h.magnitude(H),Z=Math.asin(P.clamp(j/Y*Math.sin(k),-1,1)),Q=Math.asin(P.clamp(J/Y*Math.sin(k),-1,1)),he=Z-Q+k,ye=igt;h.normalize(E,ye);let re=ogt;re=h.cross(V,ye,re),re=h.normalize(re,re),h.normalize(h.cross(ye,re,Vb),B),h.multiplyByScalar(h.normalize(L,Vb),h.magnitude(L)-m,L),h.normalize(E,E),h.multiplyByScalar(E,J,E);let _e=cgt;h.multiplyByScalar(h.add(h.multiplyByScalar(ye,Math.cos(he)-1,cbe),h.multiplyByScalar(B,Math.sin(he),lbe),Vb),J,_e),h.add(E,_e,E),h.normalize(L,ye),h.normalize(h.cross(ye,re,Vb),B);let xe=lgt;h.multiplyByScalar(h.add(h.multiplyByScalar(ye,Math.cos(he)-1,cbe),h.multiplyByScalar(B,Math.sin(he),lbe),Vb),h.magnitude(L),xe),h.add(L,xe,L),h.clone(E,b.position),h.normalize(h.subtract(L,E,Vb),b.direction),h.clone(b.direction,b.direction),h.cross(b.direction,b.up,b.right),h.cross(b.right,b.direction,b.up),b.setView(bK);return}else{let E=h.normalize(_,Q_t),w=h.normalize(e._zoomWorldPosition,J_t),I=h.dot(w,E);if(I>0&&I<1){let L=P.acosClamped(I),B=h.cross(w,E,egt),H=Math.abs(L)>P.toRadians(20)?b.positionCartographic.height*.75:b.positionCartographic.height-m,V=m/H;b.rotate(B,L*V)}}}}e._rotatingZoom=!R}if(!A&&R||S){let O,M=Ui.worldToWindowCoordinates(x,e._zoomWorldPosition,X_t);T!==ne.COLUMBUS_VIEW&&U.equals(t,e._zoomMouseStart)&&l(M)?O=b.getPickRay(M,tH):O=b.getPickRay(t,tH);let N=O.direction;(T===ne.COLUMBUS_VIEW||T===ne.SCENE2D)&&h.fromElements(N.y,N.z,N.x,N),b.move(N,m),e._zoomingOnVector=!0}else b.zoomIn(m);e._cameraUnderground||b.setView(bK)}var fgt=new _n,dgt=new _n,hgt=new h;function mgt(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,fgt).origin,s=o.getPickRay(n.endPosition,dgt).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,hgt),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function ube(e,t,n){l(n.distance)&&(n=n.distance);let o=e._scene.camera;DK(e,t,n,e.zoomFactor,o.getMagnitude())}var pgt=new U,_gt=new U;function fbe(e,t,n){if(l(n.angleAndHeight)){ggt(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=pgt;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=U.normalize(c,c);let u=_gt;u.x=2/s*n.endPosition.x-1,u.y=2/a*(a-n.endPosition.y)-1,u=U.normalize(u,u);let f=P.acosClamped(c.x);c.y<0&&(f=P.TWO_PI-f);let d=P.acosClamped(u.x);u.y<0&&(d=P.TWO_PI-d);let p=d-f;o.twistRight(p)}function ggt(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function ygt(e){let t=e._scene.mapMode2D===Mu.ROTATE;F.equals(F.IDENTITY,e._scene.camera.transform)?(Jc(e,e.enableTranslate,e.translateEventTypes,mgt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Jc(e,e.enableZoom,e.zoomEventTypes,ube,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Jc(e,e.enableRotate,e.tiltEventTypes,fbe,e.inertiaSpin,"_lastInertiaTiltMovement")):(Jc(e,e.enableZoom,e.zoomEventTypes,ube,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Jc(e,e.enableRotate,e.translateEventTypes,fbe,e.inertiaSpin,"_lastInertiaSpinMovement"))}var bbe=new _n,xgt=new h,bgt=new h;function A_(e,t,n){let i=e._scene,o=e._globe,r=i.camera,s;if(i.pickPositionSupported&&(s=i.pickPositionWorldCoordinates(t,xgt)),!l(o))return h.clone(s,n);let a=!e._cameraUnderground,c=r.getPickRay(t,bbe),u=o.pickWorldCoordinates(c,i,a,bgt),f=l(s)?h.distance(s,r.positionWC):Number.POSITIVE_INFINITY,d=l(u)?h.distance(u,r.positionWC):Number.POSITIVE_INFINITY;return f<d?h.clone(s,n):h.clone(u,n)}var Tgt=new fe;function cH(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===ne.SCENE3D){let c=t.cartesianToCartographic(i.position,Tgt);l(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var Cgt=new h;function Tbe(e,t){let n=t.origin,i=t.direction,o=cH(e),r=h.normalize(n,Cgt),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function Cbe(e,t,n,i){let o=h.distance(t.origin,n),r=cH(e),s=P.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),_n.getPoint(t,o,i)}function Abe(e,t,n,i){let o;return l(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=cH(e))):o=cH(e),_n.getPoint(t,o,i)}var Agt=new U;function Ebe(e,t){let n=t.endPosition,i=U.subtract(t.endPosition,t.startPosition,Agt),o=e._strafeEndMousePosition;U.add(o,i,o),t.endPosition=o,IK(e,t,e._strafeStartPosition),t.endPosition=n}var dbe=new _n,Egt=new _n,TK=new h,Sgt=new h,vgt=new h,wgt=new h,Dgt=new ln(h.UNIT_X,0),Igt=new U,Pgt=new U;function Ogt(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){Bu(e,t,n);return}if(e._strafing){Ebe(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=U.clone(n.startPosition,Igt),a=U.clone(n.endPosition,Pgt),c=o.getPickRay(s,dbe),u=h.clone(h.ZERO,wgt),f=h.UNIT_X,d;if(o.position.z<e._minimumPickingTerrainHeight&&(d=A_(e,s,TK),l(d)&&(u.x=d.x)),r||u.x>o.position.z&&l(d)){let A=d;r&&(A=Abe(e,c,d,TK)),U.clone(t,e._strafeMousePosition),U.clone(t,e._strafeEndMousePosition),h.clone(A,e._strafeStartPosition),e._strafing=!0,IK(e,n,e._strafeStartPosition);return}let p=ln.fromPointNormal(u,f,Dgt);c=o.getPickRay(s,dbe);let g=ti.rayPlane(c,p,TK),m=o.getPickRay(a,Egt),x=ti.rayPlane(m,p,Sgt);if(!l(g)||!l(x)){e._looking=!0,Bu(e,t,n),U.clone(t,e._translateMousePosition);return}let b=h.subtract(g,x,vgt),T=b.x;b.x=b.y,b.y=b.z,b.z=T;let C=h.magnitude(b);C>P.EPSILON6&&(h.normalize(b,b),o.move(b,C))}var Sbe=new U,oH=new _n,rH=new h,Rgt=new h,vbe=new F,Mgt=new F,Lgt=new h,Ngt=new ln(h.UNIT_X,0),CK=new h,SK=new fe,wbe=new F,Fgt=new Le,Bgt=new $,sH=new h;function kgt(e,t,n){if(l(n.angleAndHeight)&&(n=n.angleAndHeight),U.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){Bu(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,Vgt(e,t,n)):Ugt(e,t,n)}function Vgt(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=Sbe;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,oH),c=h.UNIT_X,u=a.origin,f=a.direction,d,p=h.dot(c,f);if(Math.abs(p)>P.EPSILON6&&(d=-h.dot(c,u)/p),!l(d)||d<=0){e._looking=!0,Bu(e,t,n),U.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(f,d,rH);h.add(u,g,g);let m=i.mapProjection,x=m.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let b=m.unproject(g,SK);x.cartographicToCartesian(b,g);let T=Mt.eastNorthUpToFixedFrame(g,x,vbe),C=e._globe,A=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let S=F.clone(o.transform,wbe);o._setTransform(T),Fu(e,t,n,h.UNIT_Z),o._setTransform(S),e._globe=C,e._ellipsoid=A;let v=A.maximumRadius;e._rotateFactor=1/v,e._rotateRateRangeAdjustment=v}function Ugt(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(U.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,rH);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=A_(e,t,rH)),!l(s)){a=o.getPickRay(t,oH);let _=a.origin,E=a.direction,w,I=h.dot(c,E);if(Math.abs(I)>P.EPSILON6&&(w=-h.dot(c,_)/I),!l(w)||w<=0){e._looking=!0,Bu(e,t,n),U.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(E,w,rH),h.add(_,s,s)}r&&(l(a)||(a=o.getPickRay(t,oH)),Cbe(e,a,s,s)),U.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let u=i.canvas,f=Sbe;f.x=u.clientWidth/2,f.y=e._tiltCenterMousePosition.y,a=o.getPickRay(f,oH);let d=h.clone(h.ZERO,Lgt);d.x=s.x;let p=ln.fromPointNormal(d,c,Ngt),g=ti.rayPlane(a,p,Rgt),m=o._projection,x=m.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let b=m.unproject(s,SK);x.cartographicToCartesian(b,s);let T=Mt.eastNorthUpToFixedFrame(s,x,vbe),C;l(g)?(h.fromElements(g.y,g.z,g.x,g),b=m.unproject(g,SK),x.cartographicToCartesian(b,g),C=Mt.eastNorthUpToFixedFrame(g,x,Mgt)):C=T;let A=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,D=F.clone(o.transform,wbe);o._setTransform(T);let R=h.cross(h.UNIT_Z,h.normalize(o.position,CK),CK),O=h.dot(o.right,R);if(Fu(e,t,n,v,!1,!0),o._setTransform(C),O<0){let _=n.startPosition.y-n.endPosition.y;(r&&_<0||!r&&_>0)&&(v=void 0);let E=o.constrainedAxis;o.constrainedAxis=void 0,Fu(e,t,n,v,!0,!1),o.constrainedAxis=E}else Fu(e,t,n,v,!0,!1);if(l(o.constrainedAxis)){let _=h.cross(o.direction,o.constrainedAxis,sH);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,o.right)<0&&h.negate(_,_),h.cross(_,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(D),e._globe=A,e._ellipsoid=S;let M=S.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let N=h.clone(o.positionWC,CK);if(e.enableCollisionDetection&&RK(e,!0),!h.equals(o.positionWC,N)){o._setTransform(C),o.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(o.position)>_&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(_),o.position));let E=h.angleBetween(N,o.position),w=h.cross(N,o.position,N);h.normalize(w,w);let I=Le.fromAxisAngle(w,E,Fgt),L=$.fromQuaternion(I,Bgt);$.multiplyByVector(L,o.direction,o.direction),$.multiplyByVector(L,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(D)}}var Dbe=new U,Ibe=new _n,Pbe=new h;function zgt(e,t,n){l(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=Dbe,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,Ibe),u=c.origin,f=c.direction,d=o.position.z,p;d<e._minimumPickingTerrainHeight&&(p=A_(e,a,Pbe));let g;if(l(p)&&(g=h.distance(u,p)),s){let m=Tbe(e,c,d);l(g)?g=Math.min(g,m):g=m}if(!l(g)){let m=h.UNIT_X;g=-h.dot(m,u)/h.dot(m,f)}DK(e,t,n,e.zoomFactor,g)}function Hgt(e){let n=e._scene.camera;if(!F.equals(F.IDENTITY,n.transform))Jc(e,e.enableRotate,e.rotateEventTypes,Fu,e.inertiaSpin,"_lastInertiaSpinMovement"),Jc(e,e.enableZoom,e.zoomEventTypes,Rbe,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),Jc(e,e.enableTilt,e.tiltEventTypes,kgt,e.inertiaSpin,"_lastInertiaTiltMovement"),Jc(e,e.enableTranslate,e.translateEventTypes,Ogt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Jc(e,e.enableZoom,e.zoomEventTypes,zgt,e.inertiaZoom,"_lastInertiaZoomMovement"),Jc(e,e.enableLook,e.lookEventTypes,Bu),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);l(o)&&(e._tween=i.add(o))}i.update()}}var Ggt=new _n,Wgt=new ln(h.UNIT_X,0),jgt=new h,qgt=new h;function IK(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,Ggt),s=h.clone(o.direction,qgt);i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=ln.fromPointNormal(n,s,Wgt),c=ti.rayPlane(r,a,jgt);l(c)&&(s=h.subtract(n,c,s),i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var hbe=new h,Obe=new fe,vK=new h,wK=new ee,Ygt=new h,Xgt=new h,Kgt=new h;function Zgt(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!F.equals(o.transform,F.IDENTITY)){Fu(e,t,n);return}let a,c,u=s.geodeticSurfaceNormal(o.position,Ygt);if(U.equals(t,e._rotateMousePosition)){if(e._looking)Bu(e,t,n,u);else if(e._rotating)Fu(e,t,n);else if(e._strafing)Ebe(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=vK,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,wK),EK(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let f=s.cartesianToCartographic(o.positionWC,Obe).height,d=e._globe;if(l(d)&&f<e._minimumPickingTerrainHeight){let p=A_(e,n.startPosition,Kgt);if(l(p)){let g=!1,m=o.getPickRay(n.startPosition,bbe);if(r)g=!0,Abe(e,m,p,p);else{let x=s.geodeticSurfaceNormal(p,Xgt);Math.abs(h.dot(m.direction,x))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(U.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,IK(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=vK,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,wK),EK(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,Bu(e,t,n,u)}else l(o.pickEllipsoid(n.startPosition,e._ellipsoid,hbe))?(EK(e,t,n,e._ellipsoid),h.clone(hbe,e._rotateStartPosition)):f>e._minimumTrackBallHeight?(e._rotating=!0,Fu(e,t,n)):(e._looking=!0,Bu(e,t,n,u));U.clone(t,e._rotateMousePosition)}function Fu(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,u=a.constrainedAxis;l(i)&&(a.constrainedAxis=i);let f=h.magnitude(a.position),d=e._rotateFactor*(f-e._rotateRateRangeAdjustment);d>e._maximumRotateRate&&(d=e._maximumRotateRate),d<e._minimumRotateRate&&(d=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let m=d*p*Math.PI*2,x=d*g*Math.PI;if(l(i)&&l(e.maximumTiltAngle)){let b=e.maximumTiltAngle,T=h.dot(a.direction,i),C=Math.PI-Math.acos(T)+x;C>b&&(x-=C-b)}o||a.rotateRight(m),r||a.rotateUp(x),a.constrainedAxis=u}var AK=oe.clone(oe.UNIT_W),mbe=oe.clone(oe.UNIT_W),nH=new h,bS=new h,iH=new h,pbe=new h,$gt=new U,Qgt=new U,Jgt=new U,eyt=new U,tyt=new _n;function EK(e,t,n,i){let o=e._scene,r=o.camera,s=U.clone(n.startPosition,$gt),a=U.clone(n.endPosition,Qgt),c=i.cartesianToCartographic(r.positionWC,Obe).height,u,f;if(!n.inertiaEnabled&&c<e._minimumPickingTerrainHeight&&(u=h.clone(e._panLastWorldPosition,AK),!l(e._globe)&&!U.equalsEpsilon(s,e._panLastMousePosition)&&(u=A_(e,s,AK)),!l(e._globe)&&l(u))){let d=h.subtract(u,r.positionWC,bS),p=h.multiplyByScalar(r.directionWC,h.dot(r.directionWC,d),bS),g=h.magnitude(p),m=r.frustum.getPixelDimensions(o.drawingBufferWidth,o.drawingBufferHeight,g,o.pixelRatio,eyt),x=U.subtract(a,s,Jgt),b=h.multiplyByScalar(r.rightWC,x.x*m.x,bS),T=h.normalize(r.positionWC,xbe),C=r.getPickRay(a,tyt).direction,A=h.subtract(C,h.projectVector(C,r.rightWC,iH),iH),S=h.angleBetween(A,r.directionWC),v=1;l(r.frustum.fov)&&(v=Math.max(Math.tan(S),.1));let D=Math.abs(h.dot(r.directionWC,T)),R=-x.y*m.y*2/Math.sqrt(v)*(1-D),O=h.multiplyByScalar(C,R,iH);D=Math.abs(h.dot(r.upWC,T));let M=h.multiplyByScalar(r.upWC,-x.y*(1-D)*m.y,pbe);f=h.add(u,b,mbe),f=h.add(f,O,f),f=h.add(f,M,f),h.clone(f,e._panLastWorldPosition),U.clone(a,e._panLastMousePosition)}if((!l(u)||!l(f))&&(u=r.pickEllipsoid(s,i,AK),f=r.pickEllipsoid(a,i,mbe)),!l(u)||!l(f)){e._rotating=!0,Fu(e,t,n);return}if(u=r.worldToCameraCoordinates(u,u),f=r.worldToCameraCoordinates(f,f),l(r.constrainedAxis)){let d=r.constrainedAxis,p=h.mostOrthogonalAxis(d,nH);h.cross(p,d,p),h.normalize(p,p);let g=h.cross(d,p,bS),m=h.magnitude(u),x=h.dot(d,u),b=Math.acos(x/m),T=h.multiplyByScalar(d,x,iH);h.subtract(u,T,T),h.normalize(T,T);let C=h.magnitude(f),A=h.dot(d,f),S=Math.acos(A/C),v=h.multiplyByScalar(d,A,pbe);h.subtract(f,v,v),h.normalize(v,v);let D=Math.acos(h.dot(T,p));h.dot(T,g)<0&&(D=P.TWO_PI-D);let R=Math.acos(h.dot(v,p));h.dot(v,g)<0&&(R=P.TWO_PI-R);let O=D-R,M;h.equalsEpsilon(d,r.position,P.EPSILON2)?M=r.right:M=h.cross(d,r.position,nH);let N=h.cross(d,M,nH),_=h.dot(N,h.subtract(u,d,bS)),E=h.dot(N,h.subtract(f,d,bS)),w;_>0&&E>0?w=S-b:_>0&&E<=0?h.dot(r.position,d)>0?w=-b-S:w=b+S:w=b-S,r.rotateRight(O),r.rotateUp(w)}else{h.normalize(u,u),h.normalize(f,f);let d=h.dot(u,f),p=h.cross(u,f,nH);if(d<1&&!h.equalsEpsilon(p,h.ZERO,P.EPSILON14)){let g=Math.acos(d);r.rotate(p,g)}}}var nyt=new h,iyt=new fe,_be=0;function Rbe(e,t,n){l(n.distance)&&(n=n.distance);let i=n.inertiaEnabled,o=e._ellipsoid,r=e._scene,s=r.camera,a=r.canvas,c=e._cameraUnderground,u;c?u=t:(u=Dbe,u.x=a.clientWidth/2,u.y=a.clientHeight/2);let f=s.getPickRay(u,Ibe),d,p=o.cartesianToCartographic(s.position,iyt).height,g=Math.abs(_be)<e.minimumPickingTerrainDistanceWithInertia;(i?g:p<e._minimumPickingTerrainHeight)&&(d=A_(e,u,Pbe));let x;if(l(d)&&(x=h.distance(f.origin,d),_be=x),c){let T=Tbe(e,f,p);l(x)?x=Math.min(x,T):x=T}l(x)||(x=p);let b=h.normalize(s.position,nyt);DK(e,t,n,e.zoomFactor,x,h.dot(b,s.direction))}var Mbe=new U,aH=new _n,mP=new h,oyt=new h,Lbe=new F,ryt=new F,Nbe=new F,syt=new Le,ayt=new $,PK=new fe,OK=new h;function cyt(e,t,n){let o=e._scene.camera;if(!F.equals(o.transform,F.IDENTITY))return;if(l(n.angleAndHeight)&&(n=n.angleAndHeight),U.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,OK);Bu(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,PK);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,uyt(e,t,n)):fyt(e,t,n)}var lyt=new fe;function uyt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,lyt).height;if(a-s-1<P.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,u=Mbe;u.x=c.clientWidth/2,u.y=c.clientHeight/2;let f=r.getPickRay(u,aH),d,p=ti.rayEllipsoid(f,i);if(l(p))d=_n.getPoint(f,p.start,mP);else if(a>e._minimumTrackBallHeight){let C=ti.grazingAltitudeLocation(f,i);if(!l(C))return;let A=i.cartesianToCartographic(C,PK);A.height=0,d=i.cartographicToCartesian(A,mP)}else{e._looking=!0;let C=e._ellipsoid.geodeticSurfaceNormal(r.position,OK);Bu(e,t,n,C),U.clone(t,e._tiltCenterMousePosition);return}let g=Mt.eastNorthUpToFixedFrame(d,i,Lbe),m=e._globe,x=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let b=F.clone(r.transform,Nbe);r._setTransform(g),Fu(e,t,n,h.UNIT_Z),r._setTransform(b),e._globe=m,e._ellipsoid=x;let T=x.maximumRadius;e._rotateFactor=1/T,e._rotateRateRangeAdjustment=T}function fyt(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,u;if(U.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,mP);else{if(a=A_(e,t,mP),!l(a)){if(c=r.getPickRay(t,aH),u=ti.rayEllipsoid(c,i),!l(u)){if(i.cartesianToCartographic(r.position,PK).height<=e._minimumTrackBallHeight){e._looking=!0;let E=e._ellipsoid.geodeticSurfaceNormal(r.position,OK);Bu(e,t,n,E),U.clone(t,e._tiltCenterMousePosition)}return}a=_n.getPoint(c,u.start,mP)}s&&(l(c)||(c=r.getPickRay(t,aH)),Cbe(e,c,a,a)),U.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let f=o.canvas,d=Mbe;d.x=f.clientWidth/2,d.y=e._tiltCenterMousePosition.y,c=r.getPickRay(d,aH);let p=h.magnitude(a),g=h.fromElements(p,p,p,vK),m=ee.fromCartesian3(g,wK);if(u=ti.rayEllipsoid(c,m),!l(u))return;let x=h.magnitude(c.origin)>p?u.start:u.stop,b=_n.getPoint(c,x,oyt),T=Mt.eastNorthUpToFixedFrame(a,i,Lbe),C=Mt.eastNorthUpToFixedFrame(b,m,ryt),A=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let v=h.UNIT_Z,D=F.clone(r.transform,Nbe);r._setTransform(C);let R=h.cross(b,r.positionWC,sH);if(h.dot(r.rightWC,R)<0){let _=n.startPosition.y-n.endPosition.y;(s&&_<0||!s&&_>0)&&(v=void 0);let E=r.constrainedAxis;r.constrainedAxis=void 0,Fu(e,t,n,v,!0,!1),r.constrainedAxis=E}else Fu(e,t,n,v,!0,!1);if(r._setTransform(T),Fu(e,t,n,v,!1,!0),l(r.constrainedAxis)){let _=h.cross(r.direction,r.constrainedAxis,sH);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,r.right)<0&&h.negate(_,_),h.cross(_,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(D),e._globe=A,e._ellipsoid=S;let M=S.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let N=h.clone(r.positionWC,sH);if(e.enableCollisionDetection&&RK(e,!0),!h.equals(r.positionWC,N)){r._setTransform(C),r.worldToCameraCoordinatesPoint(N,N);let _=h.magnitudeSquared(N);h.magnitudeSquared(r.position)>_&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(_),r.position));let E=h.angleBetween(N,r.position),w=h.cross(N,r.position,N);h.normalize(w,w);let I=Le.fromAxisAngle(w,E,syt),L=$.fromQuaternion(I,ayt);$.multiplyByVector(L,r.direction,r.direction),$.multiplyByVector(L,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(D)}}var dyt=new U,hyt=new U,gbe=new _n,ybe=new _n,myt=new h,pyt=new h;function Bu(e,t,n,i){let r=e._scene.camera,s=dyt;s.x=n.startPosition.x,s.y=0;let a=hyt;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,gbe),u=r.getPickRay(a,ybe),f=0,d,p;r.frustum instanceof an?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction);let g=h.dot(d,p);g<1&&(f=Math.acos(g)),f=n.startPosition.x>n.endPosition.x?-f:f;let m=e._horizontalRotationAxis;if(l(i)?r.look(i,-f):l(m)?r.look(m,-f):r.lookLeft(f),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,gbe),u=r.getPickRay(a,ybe),f=0,r.frustum instanceof an?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction),g=h.dot(d,p),g<1&&(f=Math.acos(g)),f=n.startPosition.y>n.endPosition.y?-f:f,i=y(i,m),l(i)){let x=r.direction,b=h.negate(i,myt),T=h.equalsEpsilon(x,i,P.EPSILON2),C=h.equalsEpsilon(x,b,P.EPSILON2);if(!T&&!C){g=h.dot(x,i);let A=P.acosClamped(g);f>0&&f>A&&(f=A-P.EPSILON4),g=h.dot(x,b),A=P.acosClamped(g),f<0&&-f>A&&(f=-A+P.EPSILON4);let S=h.cross(i,x,pyt);r.look(S,f)}else(T&&f<0||C&&f>0)&&r.look(r.right,-f)}else r.lookUp(f)}function _yt(e){Jc(e,e.enableRotate,e.rotateEventTypes,Zgt,e.inertiaSpin,"_lastInertiaSpinMovement"),Jc(e,e.enableZoom,e.zoomEventTypes,Rbe,e.inertiaZoom,"_lastInertiaZoomMovement"),Jc(e,e.enableTilt,e.tiltEventTypes,cyt,e.inertiaSpin,"_lastInertiaTiltMovement"),Jc(e,e.enableLook,e.lookEventTypes,Bu)}var gyt=new F,yyt=new fe;function RK(e,t){e._adjustedHeightForTerrain=!0;let n=e._scene,i=n.mode;if(i===ne.SCENE2D||i===ne.MORPHING)return;let o=n.camera,r=y(n.ellipsoid,ee.WGS84),s=n.mapProjection,a,c;F.equals(o.transform,F.IDENTITY)||(a=F.clone(o.transform,gyt),c=h.magnitude(o.position),o._setTransform(F.IDENTITY));let u=yyt;i===ne.SCENE3D?r.cartesianToCartographic(o.position,u):s.unproject(o.position,u);let f=!1;if(u.height<e._minimumCollisionTerrainHeight){let d=e._scene.globeHeight;if(l(d)){let p=d+e.minimumZoomDistance,g=d-e._lastGlobeHeight,m=g/e._lastGlobeHeight;u.height<p&&(t||Math.abs(m)<=.1)&&(u.height=p,i===ne.SCENE3D?r.cartographicToCartesian(u,o.position):s.project(u,o.position),f=!0),t||Math.abs(m)<=.1?e._lastGlobeHeight=d:e._lastGlobeHeight+=g*.1}}l(a)&&(o._setTransform(a),f&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}pP.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===ne.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var xyt=new h,byt=new h;pP.prototype.update=function(){let e=this._scene,{camera:t,globe:n,mode:i}=e;F.equals(t.transform,F.IDENTITY)?(this._globe=n,this._ellipsoid=y(e.ellipsoid,ee.default)):(this._globe=void 0,this._ellipsoid=ee.UNIT_SPHERE);let{verticalExaggeration:o,verticalExaggerationRelativeHeight:r}=e;this._minimumCollisionTerrainHeight=Pr.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=Pr.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=Pr.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&l(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,xyt),c=h.clone(t.directionWC,byt);if(i===ne.SCENE2D?ygt(this):i===ne.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,Hgt(this)):i===ne.SCENE3D&&(this._horizontalRotationAxis=void 0,_yt(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain){let u=!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC);RK(this,u)}this._aggregator.reset()};pP.prototype.isDestroyed=function(){return!1};pP.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),ue(this)};var lH=pP;var uH=`uniform sampler2D colorTexture; +uniform sampler2D colorTexture2; + +uniform vec2 center; +uniform float radius; + +in vec2 v_textureCoordinates; + +void main() +{ + vec4 color0 = texture(colorTexture, v_textureCoordinates); + vec4 color1 = texture(colorTexture2, v_textureCoordinates); + + float x = length(gl_FragCoord.xy - center) / radius; + float t = smoothstep(0.5, 0.8, x); + out_FragColor = mix(color0 + color1, color1, t); +} +`;var fH=`uniform sampler2D colorTexture; + +uniform float avgLuminance; +uniform float threshold; +uniform float offset; + +in vec2 v_textureCoordinates; + +float key(float avg) +{ + float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); + return max(0.0, guess) + 0.1; +} + +// See section 9. "The bright-pass filter" of Realtime HDR Rendering +// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf + +void main() +{ + vec4 color = texture(colorTexture, v_textureCoordinates); + vec3 xyz = czm_RGBToXYZ(color.rgb); + float luminance = xyz.r; + + float scaledLum = key(avgLuminance) * luminance / avgLuminance; + float brightLum = max(scaledLum - threshold, 0.0); + float brightness = brightLum / (offset + brightLum); + + xyz.r = brightness; + out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); +} +`;function E_(){this._sceneFramebuffer=new hS;let e=.125,t=new Array(6);t[0]=new po({fragmentShader:Lu,textureScale:e,forcePowerOfTwo:!0,sampleMode:Xf.LINEAR});let n=t[1]=new po({fragmentShader:fH,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new U,t[2]=new po({fragmentShader:Mb,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new po({fragmentShader:Mb,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new po({fragmentShader:Lu,sampleMode:Xf.LINEAR}),this._uCenter=new U,this._uRadius=void 0,t[5]=new po({fragmentShader:uH,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new Nu({stages:t});let o=new gS(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}E_.prototype.get=function(e){return this._stages.get(e)};E_.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var Tyt=new oe,Fbe=new U,Cyt=new U,Bbe=new F;function Ayt(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=F.computeViewportTransformation(n,0,1,Bbe),u=F.multiplyByPoint(r,o,Tyt),f=Mt.pointToGLWindowCoordinates(s,c,o,Fbe);u.x+=P.SOLAR_RADIUS;let d=Mt.pointToGLWindowCoordinates(a,c,u,u),p=U.magnitude(U.subtract(d,f,d))*30*2,g=Cyt;g.x=p,g.y=p,e._uCenter=U.clone(f,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let m=t.drawingBufferWidth,x=t.drawingBufferHeight,b=e._stages,T=b.get(0),C=T.outputTexture.width,A=T.outputTexture.height,S=new Ye;S.width=C,S.height=A,c=F.computeViewportTransformation(S,0,1,Bbe),f=Mt.pointToGLWindowCoordinates(s,c,o,Fbe),g.x*=C/m,g.y*=A/x;let v=T.scissorRectangle;v.x=Math.max(f.x-g.x*.5,0),v.y=Math.max(f.y-g.y*.5,0),v.width=Math.min(g.x,m),v.height=Math.min(g.y,x);for(let D=1;D<4;++D)Ye.clone(v,b.get(D).scissorRectangle)}E_.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};E_.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),Ayt(this,t,n),o};E_.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};E_.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Lu,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};E_.prototype.isDestroyed=function(){return!1};E_.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),ue(this)};var dH=E_;function kbe(){this._cachedShowFrustumsShaders={}}function Eyt(e){let t={},n=e.vertexAttributes;for(let i in n)n.hasOwnProperty(i)&&(t[i]=n[i].index);return t}function Syt(e,t){let n=e.context,i=t,o=i.fragmentShaderSource.clone(),r=[];o.sources=o.sources.map(function(f){f=He.replaceMain(f,"czm_Debug_main");let d=/out_FragData_(\d+)/g,p;for(;(p=d.exec(f))!==null;)r.indexOf(p[1])===-1&&r.push(p[1]);return f});let s=r.length,a="";a+=`uniform vec3 debugShowCommandsColor; +`,a+=`uniform vec3 debugShowFrustumsColor; +`,a+=`void main() +{ + czm_Debug_main(); +`;let c;if(s>0)for(c=0;c<s;++c)a+=` out_FragData_${r[c]}.rgb *= debugShowCommandsColor; +`,a+=` out_FragData_${r[c]}.rgb *= debugShowFrustumsColor; +`;else a+=` out_FragColor.rgb *= debugShowCommandsColor; +`,a+=` out_FragColor.rgb *= debugShowFrustumsColor; +`;a+="}",o.sources.push(a);let u=Eyt(i);return tn.fromCache({context:n,vertexShaderSource:i.vertexShaderSource,fragmentShaderSource:o,attributeLocations:u})}var _P=new z;function vyt(e,t){let n;return l(t.uniformMap)?n=t.uniformMap:n={},l(n.debugShowCommandsColor)||l(n.debugShowFrustumsColor)||(n.debugShowCommandsColor=function(){return e.debugShowCommands?(l(t._debugColor)||(t._debugColor=z.fromRandom()),t._debugColor):z.WHITE},n.debugShowFrustumsColor=function(){return e.debugShowFrustums?(_P.red=t.debugOverlappingFrustums&1?1:0,_P.green=t.debugOverlappingFrustums&2?1:0,_P.blue=t.debugOverlappingFrustums&4?1:0,_P.alpha=1,_P):z.WHITE}),n}var wyt=new tt;kbe.prototype.executeDebugShowFrustumsCommand=function(e,t,n){let i=t.shaderProgram.id,o=this._cachedShowFrustumsShaders[i];l(o)||(o=Syt(e,t.shaderProgram),this._cachedShowFrustumsShaders[i]=o);let r=tt.shallowClone(t,wyt);r.shaderProgram=o,r.uniformMap=vyt(e,t),r.execute(e.context,n)};var hH=kbe;function Ub(e,t,n){this._primitive=e,this._tileIndex=t,this._sampleIndex=n,this._metadata={},this._orientedBoundingBox=new In}Ub.fromKeyframeNode=function(e,t,n,i){let o=new Ub(e,t,n),{spatialNode:r,metadata:s}=i;return o._metadata=Dyt(e,s,n),o._orientedBoundingBox=Pyt(e,r,n,o._orientedBoundingBox),o};function Dyt(e,t,n){if(!l(t))return;let{names:i,types:o}=e.provider,r={};for(let s=0;s<i.length;s++){let a=i[s],c=dt.getComponentCount(o[s]),u=t[s].slice(n*c,(n+1)*c);r[a]=u}return r}var Vbe=new h,Iyt=new h;function Pyt(e,t,n,i){let o=t.dimensions,r=o.x*o.y,s=Math.floor(n/r),a=n-s*r,c=Math.floor(a/o.x),u=a-c*o.x,f=h.fromElements(u,c,s,Vbe),d=h.divideComponents(h.subtract(f,e._paddingBefore,Vbe),e.dimensions,Iyt);return e._shape.computeOrientedBoundingBoxForSample(t,e.dimensions,d,i)}Object.defineProperties(Ub.prototype,{metadata:{get:function(){return this._metadata}},primitive:{get:function(){return this._primitive}},sampleIndex:{get:function(){return this._sampleIndex}},tileIndex:{get:function(){return this._tileIndex}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox.clone()}}});Ub.prototype.hasProperty=function(e){return l(this._metadata[e])};Ub.prototype.getNames=function(){return Object.keys(this._metadata)};Ub.prototype.getProperty=function(e){return this._metadata[e]};var mH=Ub;var pH=`struct Ray { + vec3 pos; + vec3 dir; + vec3 rawDir; +}; + +#if defined(JITTER) +/** + * Generate a pseudo-random value for a given 2D screen coordinate. + * Similar to https://www.shadertoy.com/view/4djSRW with a modified hashscale. + */ +float hash(vec2 p) +{ + vec3 p3 = fract(vec3(p.xyx) * 50.0); + p3 += dot(p3, p3.yzx + 19.19); + return fract((p3.x + p3.y) * p3.z); +} +#endif + +float minComponent(in vec3 v) { + return min(min(v.x, v.y), v.z); +} + +float maxComponent(in vec3 v) { + return max(max(v.x, v.y), v.z); +} + +struct PointJacobianT { + vec3 point; + mat3 jacobianT; +}; +`;var _H=`// See Intersection.glsl for the definition of intersectScene +// See IntersectionUtils.glsl for the definition of nextIntersection +// See convertUvToBox.glsl, convertUvToCylinder.glsl, or convertUvToEllipsoid.glsl +// for the definition of convertUvToShapeUvSpace. The appropriate function is +// selected based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See Octree.glsl for the definitions of TraversalData, SampleData, +// traverseOctreeFromBeginning, and traverseOctreeFromExisting +// See Megatexture.glsl for the definition of accumulatePropertiesFromMegatexture + +#define STEP_COUNT_MAX 1000 // Harcoded value because GLSL doesn't like variable length loops +#if defined(PICKING_VOXEL) + #define ALPHA_ACCUM_MAX 0.1 +#else + #define ALPHA_ACCUM_MAX 0.98 // Must be > 0.0 and <= 1.0 +#endif + +uniform mat3 u_transformDirectionViewToLocal; +uniform vec3 u_cameraPositionUv; +uniform float u_stepSize; + +#if defined(PICKING) + uniform vec4 u_pickColor; +#endif + +vec3 getSampleSize(in int level) { + vec3 sampleCount = exp2(float(level)) * vec3(u_dimensions); + vec3 sampleSizeUv = 1.0 / sampleCount; + return scaleShapeUvToShapeSpace(sampleSizeUv); +} + +#define MINIMUM_STEP_SCALAR (0.02) +#define SHIFT_FRACTION (0.001) + +/** + * Given a coordinate within a tile, and sample spacings along a ray through + * the coordinate, find the distance to the points where the ray entered and + * exited the voxel cell, along with the surface normals at those points. + * The surface normals are returned in shape space coordinates. + */ +RayShapeIntersection getVoxelIntersection(in vec3 tileUv, in vec3 sampleSizeAlongRay) { + vec3 voxelCoord = tileUv * vec3(u_dimensions); + vec3 directions = sign(sampleSizeAlongRay); + vec3 positiveDirections = max(directions, 0.0); + vec3 entryCoord = mix(ceil(voxelCoord), floor(voxelCoord), positiveDirections); + vec3 exitCoord = entryCoord + directions; + + vec3 distanceFromEntry = -abs((entryCoord - voxelCoord) * sampleSizeAlongRay); + float lastEntry = maxComponent(distanceFromEntry); + bvec3 isLastEntry = equal(distanceFromEntry, vec3(lastEntry)); + vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; + vec4 entry = vec4(entryNormal, lastEntry); + + vec3 distanceToExit = abs((exitCoord - voxelCoord) * sampleSizeAlongRay); + float firstExit = minComponent(distanceToExit); + bvec3 isFirstExit = equal(distanceToExit, vec3(firstExit)); + vec3 exitNormal = vec3(isFirstExit) * directions; + vec4 exit = vec4(exitNormal, firstExit); + + return RayShapeIntersection(entry, exit); +} + +vec4 getStepSize(in SampleData sampleData, in Ray viewRay, in RayShapeIntersection shapeIntersection, in mat3 jacobianT, in float currentT) { + // The Jacobian is computed in a space where the shape spans [-1, 1]. + // But the ray is marched in a space where the shape fills [0, 1]. + // So we need to scale the Jacobian by 2. + vec3 gradient = 2.0 * viewRay.rawDir * jacobianT; + vec3 sampleSizeAlongRay = getSampleSize(sampleData.tileCoords.w) / gradient; + + RayShapeIntersection voxelIntersection = getVoxelIntersection(sampleData.tileUv, sampleSizeAlongRay); + + // Transform normal from shape space to Cartesian space + vec3 voxelNormal = normalize(jacobianT * voxelIntersection.entry.xyz); + // Compare with the shape intersection, to choose the appropriate normal + vec4 voxelEntry = vec4(voxelNormal, currentT + voxelIntersection.entry.w); + vec4 entry = intersectionMax(shapeIntersection.entry, voxelEntry); + + float fixedStep = minComponent(abs(sampleSizeAlongRay)) * u_stepSize; + float shift = fixedStep * SHIFT_FRACTION; + float dt = voxelIntersection.exit.w + shift; + if ((currentT + dt) > shapeIntersection.exit.w) { + // Stop at end of shape + dt = shapeIntersection.exit.w - currentT + shift; + } + float stepSize = clamp(dt, fixedStep * MINIMUM_STEP_SCALAR, fixedStep + shift); + + return vec4(entry.xyz, stepSize); +} + +vec2 packIntToVec2(int value) { + float shifted = float(value) / 255.0; + float lowBits = fract(shifted); + float highBits = floor(shifted) / 255.0; + return vec2(highBits, lowBits); +} + +vec2 packFloatToVec2(float value) { + float lowBits = fract(value); + float highBits = floor(value) / 255.0; + return vec2(highBits, lowBits); +} + +int getSampleIndex(in vec3 tileUv) { + ivec3 voxelDimensions = u_dimensions; + vec3 sampleCoordinate = tileUv * vec3(voxelDimensions); + // tileUv = 1.0 is a valid coordinate but sampleIndex = voxelDimensions is not. + // (tileUv = 1.0 corresponds to the last sample, at index = voxelDimensions - 1). + // Clamp to [0, voxelDimensions - 0.5) to avoid numerical error before flooring + vec3 maxCoordinate = vec3(voxelDimensions) - vec3(0.5); + sampleCoordinate = clamp(sampleCoordinate, vec3(0.0), maxCoordinate); + ivec3 sampleIndex = ivec3(floor(sampleCoordinate)); + #if defined(PADDING) + voxelDimensions += u_paddingBefore + u_paddingAfter; + sampleIndex += u_paddingBefore; + #endif + // Convert to a 1D index for lookup in a 1D data array + return sampleIndex.x + voxelDimensions.x * (sampleIndex.y + voxelDimensions.y * sampleIndex.z); +} + +void main() +{ + vec4 fragCoord = gl_FragCoord; + vec2 screenCoord = (fragCoord.xy - czm_viewport.xy) / czm_viewport.zw; // [0,1] + vec3 eyeDirection = normalize(czm_windowToEyeCoordinates(fragCoord).xyz); + vec3 viewDirWorld = normalize(czm_inverseViewRotation * eyeDirection); // normalize again just in case + vec3 viewDirUv = normalize(u_transformDirectionViewToLocal * eyeDirection); // normalize again just in case + vec3 viewPosUv = u_cameraPositionUv; + #if defined(SHAPE_ELLIPSOID) + // viewDirUv has been scaled to a space where the ellipsoid is a sphere. + // Undo this scaling to get the raw direction. + vec3 rawDir = viewDirUv * u_ellipsoidRadiiUv; + Ray viewRayUv = Ray(viewPosUv, viewDirUv, rawDir); + #else + Ray viewRayUv = Ray(viewPosUv, viewDirUv, viewDirUv); + #endif + + Intersections ix; + RayShapeIntersection shapeIntersection = intersectScene(screenCoord, viewRayUv, ix); + + // Exit early if the scene was completely missed. + if (shapeIntersection.entry.w == NO_HIT) { + discard; + } + + float currentT = shapeIntersection.entry.w; + float endT = shapeIntersection.exit.w; + vec3 positionUv = viewPosUv + currentT * viewDirUv; + PointJacobianT pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + + // Traverse the tree from the start position + TraversalData traversalData; + SampleData sampleDatas[SAMPLE_COUNT]; + traverseOctreeFromBeginning(pointJacobian.point, traversalData, sampleDatas); + vec4 step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + + #if defined(JITTER) + float noise = hash(screenCoord); // [0,1] + currentT += noise * step.w; + positionUv += noise * step.w * viewDirUv; + #endif + + FragmentInput fragmentInput; + #if defined(STATISTICS) + setStatistics(fragmentInput.metadata.statistics); + #endif + + vec4 colorAccum = vec4(0.0); + + for (int stepCount = 0; stepCount < STEP_COUNT_MAX; ++stepCount) { + // Read properties from the megatexture based on the traversal state + Properties properties = accumulatePropertiesFromMegatexture(sampleDatas); + + // Prepare the custom shader inputs + copyPropertiesToMetadata(properties, fragmentInput.metadata); + fragmentInput.voxel.positionUv = positionUv; + fragmentInput.voxel.positionShapeUv = pointJacobian.point; + fragmentInput.voxel.positionUvLocal = sampleDatas[0].tileUv; + fragmentInput.voxel.viewDirUv = viewDirUv; + fragmentInput.voxel.viewDirWorld = viewDirWorld; + fragmentInput.voxel.surfaceNormal = step.xyz; + fragmentInput.voxel.travelDistance = step.w; + fragmentInput.voxel.stepCount = stepCount; + fragmentInput.voxel.tileIndex = sampleDatas[0].megatextureIndex; + fragmentInput.voxel.sampleIndex = getSampleIndex(sampleDatas[0].tileUv); + + // Run the custom shader + czm_modelMaterial materialOutput; + fragmentMain(fragmentInput, materialOutput); + + // Sanitize the custom shader output + vec4 color = vec4(materialOutput.diffuse, materialOutput.alpha); + color.rgb = max(color.rgb, vec3(0.0)); + color.a = clamp(color.a, 0.0, 1.0); + + // Pre-multiplied alpha blend + colorAccum += (1.0 - colorAccum.a) * vec4(color.rgb * color.a, color.a); + + // Stop traversing if the alpha has been fully saturated + if (colorAccum.a > ALPHA_ACCUM_MAX) { + colorAccum.a = ALPHA_ACCUM_MAX; + break; + } + + if (step.w == 0.0) { + // Shape is infinitely thin. The ray may have hit the edge of a + // foreground voxel. Step ahead slightly to check for more voxels + step.w == 0.00001; + } + + // Keep raymarching + currentT += step.w; + positionUv = viewPosUv + currentT * viewDirUv; + + // Check if there's more intersections. + if (currentT > endT) { + #if (INTERSECTION_COUNT == 1) + break; + #else + shapeIntersection = nextIntersection(ix); + if (shapeIntersection.entry.w == NO_HIT) { + break; + } else { + // Found another intersection. Resume raymarching there + currentT = shapeIntersection.entry.w; + endT = shapeIntersection.exit.w; + positionUv = viewPosUv + currentT * viewDirUv; + } + #endif + } + + // Traverse the tree from the current ray position. + // This is similar to traverseOctreeFromBeginning but is faster when the ray is in the same tile as the previous step. + pointJacobian = convertUvToShapeUvSpaceDerivative(positionUv); + traverseOctreeFromExisting(pointJacobian.point, traversalData, sampleDatas); + step = getStepSize(sampleDatas[0], viewRayUv, shapeIntersection, pointJacobian.jacobianT, currentT); + } + + // Convert the alpha from [0,ALPHA_ACCUM_MAX] to [0,1] + colorAccum.a /= ALPHA_ACCUM_MAX; + + #if defined(PICKING) + // If alpha is 0.0 there is nothing to pick + if (colorAccum.a == 0.0) { + discard; + } + out_FragColor = u_pickColor; + #elif defined(PICKING_VOXEL) + // If alpha is 0.0 there is nothing to pick + if (colorAccum.a == 0.0) { + discard; + } + vec2 megatextureId = packIntToVec2(sampleDatas[0].megatextureIndex); + vec2 sampleIndex = packIntToVec2(getSampleIndex(sampleDatas[0].tileUv)); + out_FragColor = vec4(megatextureId, sampleIndex); + #else + out_FragColor = colorAccum; + #endif +} +`;var gH=`in vec2 position; + +uniform vec4 u_ndcSpaceAxisAlignedBoundingBox; + +void main() { + vec2 aabbMin = u_ndcSpaceAxisAlignedBoundingBox.xy; + vec2 aabbMax = u_ndcSpaceAxisAlignedBoundingBox.zw; + vec2 translation = 0.5 * (aabbMax + aabbMin); + vec2 scale = 0.5 * (aabbMax - aabbMin); + gl_Position = vec4(position * scale + translation, 0.0, 1.0); +} +`;var yH=`/* Intersection defines +#define INTERSECTION_COUNT ### +*/ + +#define NO_HIT (-czm_infinity) +#define INF_HIT (czm_infinity * 0.5) + +struct RayShapeIntersection { + vec4 entry; + vec4 exit; +}; + +vec4 intersectionMin(in vec4 intersect0, in vec4 intersect1) +{ + if (intersect0.w == NO_HIT) { + return intersect1; + } else if (intersect1.w == NO_HIT) { + return intersect0; + } + return (intersect0.w <= intersect1.w) ? intersect0 : intersect1; +} + +vec4 intersectionMax(in vec4 intersect0, in vec4 intersect1) +{ + return (intersect0.w >= intersect1.w) ? intersect0 : intersect1; +} + +RayShapeIntersection intersectIntersections(in Ray ray, in RayShapeIntersection intersect0, in RayShapeIntersection intersect1) +{ + bool missed = (intersect0.entry.w == NO_HIT) || + (intersect1.entry.w == NO_HIT) || + (intersect0.exit.w < intersect1.entry.w) || + (intersect0.entry.w > intersect1.exit.w); + if (missed) { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + vec4 entry = intersectionMax(intersect0.entry, intersect1.entry); + vec4 exit = intersectionMin(intersect0.exit, intersect1.exit); + + return RayShapeIntersection(entry, exit); +} + +struct Intersections { + // Don't access these member variables directly - call the functions instead. + + // Store an array of ray-surface intersections. Each intersection is composed of: + // .xyz for the surface normal at the intersection point + // .w for the T value + // The scale of the normal encodes the shape intersection type: + // length(intersection.xyz) = 1: positive shape entry + // length(intersection.xyz) = 2: positive shape exit + // length(intersection.xyz) = 3: negative shape entry + // length(intersection.xyz) = 4: negative shape exit + // INTERSECTION_COUNT is the number of ray-*shape* (volume) intersections, + // so we need twice as many to track ray-*surface* intersections + vec4 intersections[INTERSECTION_COUNT * 2]; + + #if (INTERSECTION_COUNT > 1) + // Maintain state for future nextIntersection calls + int index; + int surroundCount; + bool surroundIsPositive; + #endif +}; + +RayShapeIntersection getFirstIntersection(in Intersections ix) +{ + return RayShapeIntersection(ix.intersections[0], ix.intersections[1]); +} + +vec4 encodeIntersectionType(vec4 intersection, int index, bool entry) +{ + float scale = float(index > 0) * 2.0 + float(!entry) + 1.0; + return vec4(intersection.xyz * scale, intersection.w); +} + +// Use defines instead of real functions because WebGL1 cannot access array with non-constant index. +#define setIntersection(/*inout Intersections*/ ix, /*int*/ index, /*float*/ t, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = vec4(0.0, float(!positive) * 2.0 + float(!enter) + 1.0, 0.0, (t)) +#define setIntersectionPair(/*inout Intersections*/ ix, /*int*/ index, /*vec2*/ entryExit) (ix).intersections[(index) * 2 + 0] = vec4(0.0, float((index) > 0) * 2.0 + 1.0, 0.0, (entryExit).x); (ix).intersections[(index) * 2 + 1] = vec4(0.0, float((index) > 0) * 2.0 + 2.0, 0.0, (entryExit).y) +#define setSurfaceIntersection(/*inout Intersections*/ ix, /*int*/ index, /*vec4*/ intersection, /*bool*/ positive, /*bool*/ enter) (ix).intersections[(index)] = encodeIntersectionType((intersection), int(!positive), (enter)) +#define setShapeIntersection(/*inout Intersections*/ ix, /*int*/ index, /*RayShapeIntersection*/ intersection) (ix).intersections[(index) * 2 + 0] = encodeIntersectionType((intersection).entry, (index), true); (ix).intersections[(index) * 2 + 1] = encodeIntersectionType((intersection).exit, (index), false) + +#if (INTERSECTION_COUNT > 1) +void initializeIntersections(inout Intersections ix) { + // Sort the intersections from min T to max T with bubble sort. + // Note: If this sorting function changes, some of the intersection test may + // need to be updated. Search for "bubble sort" to find those areas. + const int sortPasses = INTERSECTION_COUNT * 2 - 1; + for (int n = sortPasses; n > 0; --n) { + for (int i = 0; i < sortPasses; ++i) { + // The loop should be: for (i = 0; i < n; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to break early instead + if (i >= n) { break; } + + vec4 intersect0 = ix.intersections[i + 0]; + vec4 intersect1 = ix.intersections[i + 1]; + + bool inOrder = intersect0.w <= intersect1.w; + + ix.intersections[i + 0] = inOrder ? intersect0 : intersect1; + ix.intersections[i + 1] = inOrder ? intersect1 : intersect0; + } + } + + // Prepare initial state for nextIntersection + ix.index = 0; + ix.surroundCount = 0; + ix.surroundIsPositive = false; +} +#endif + +#if (INTERSECTION_COUNT > 1) +RayShapeIntersection nextIntersection(inout Intersections ix) { + vec4 surfaceIntersection = vec4(0.0, 0.0, 0.0, NO_HIT); + RayShapeIntersection shapeIntersection = RayShapeIntersection(surfaceIntersection, surfaceIntersection); + + const int passCount = INTERSECTION_COUNT * 2; + + if (ix.index == passCount) { + return shapeIntersection; + } + + for (int i = 0; i < passCount; ++i) { + // The loop should be: for (i = ix.index; i < passCount; ++i) {...} but WebGL1 cannot + // loop with non-constant condition, so it has to continue instead. + if (i < ix.index) { + continue; + } + + ix.index = i + 1; + + surfaceIntersection = ix.intersections[i]; + int intersectionType = int(length(surfaceIntersection.xyz) - 0.5); + bool currShapeIsPositive = intersectionType < 2; + bool enter = intMod(intersectionType, 2) == 0; + + ix.surroundCount += enter ? +1 : -1; + ix.surroundIsPositive = currShapeIsPositive ? enter : ix.surroundIsPositive; + + // entering positive or exiting negative + if (ix.surroundCount == 1 && ix.surroundIsPositive && enter == currShapeIsPositive) { + shapeIntersection.entry = surfaceIntersection; + } + + // exiting positive or entering negative after being inside positive + bool exitPositive = !enter && currShapeIsPositive && ix.surroundCount == 0; + bool enterNegativeFromPositive = enter && !currShapeIsPositive && ix.surroundCount == 2 && ix.surroundIsPositive; + if (exitPositive || enterNegativeFromPositive) { + shapeIntersection.exit = surfaceIntersection; + + // entry and exit have been found, so the loop can stop + if (exitPositive) { + // After exiting positive shape there is nothing left to intersect, so jump to the end index. + ix.index = passCount; + } + break; + } + } + + return shapeIntersection; +} +#endif + +// NOTE: initializeIntersections, nextIntersection aren't even declared unless INTERSECTION_COUNT > 1 +`;var xH=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, +// setIntersectionPair, INF_HIT, NO_HIT + +/* intersectDepth defines (set in Scene/VoxelRenderResources.js) +#define DEPTH_INTERSECTION_INDEX ### +*/ + +uniform mat4 u_transformPositionViewToUv; + +void intersectDepth(in vec2 screenCoord, in Ray ray, inout Intersections ix) { + float logDepthOrDepth = czm_unpackDepth(texture(czm_globeDepthTexture, screenCoord)); + if (logDepthOrDepth != 0.0) { + // Calculate how far the ray must travel before it hits the depth buffer. + vec4 eyeCoordinateDepth = czm_screenToEyeCoordinates(screenCoord, logDepthOrDepth); + eyeCoordinateDepth /= eyeCoordinateDepth.w; + vec3 depthPositionUv = vec3(u_transformPositionViewToUv * eyeCoordinateDepth); + float t = dot(depthPositionUv - ray.pos, ray.dir); + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(t, +INF_HIT)); + } else { + // There's no depth at this location. + setIntersectionPair(ix, DEPTH_INTERSECTION_INDEX, vec2(NO_HIT)); + } +} +`;var bH=`// See IntersectionUtils.glsl for the definitions of Ray, Intersections, INF_HIT, +// NO_HIT, setShapeIntersection + +/* Clipping plane defines (set in Scene/VoxelRenderResources.js) +#define CLIPPING_PLANES_UNION +#define CLIPPING_PLANES_COUNT +#define CLIPPING_PLANES_INTERSECTION_INDEX +*/ + +uniform sampler2D u_clippingPlanesTexture; +uniform mat4 u_clippingPlanesMatrix; + +// Plane is in Hessian Normal Form +vec4 intersectPlane(in Ray ray, in vec4 plane) { + vec3 n = plane.xyz; // normal + float w = plane.w; // -dot(pointOnPlane, normal) + + float a = dot(ray.pos, n); + float b = dot(ray.dir, n); + float t = -(w + a) / b; + + return vec4(n, t); +} + +void intersectClippingPlanes(in Ray ray, inout Intersections ix) { + vec4 backSide = vec4(-ray.dir, -INF_HIT); + vec4 farSide = vec4(ray.dir, +INF_HIT); + RayShapeIntersection clippingVolume; + + #if (CLIPPING_PLANES_COUNT == 1) + // Union and intersection are the same when there's one clipping plane, and the code + // is more simplified. + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, 0, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + bool reflects = dot(ray.dir, intersection.xyz) < 0.0; + clippingVolume.entry = reflects ? backSide : intersection; + clippingVolume.exit = reflects ? intersection : farSide; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); + #elif defined(CLIPPING_PLANES_UNION) + vec4 firstTransmission = vec4(ray.dir, +INF_HIT); + vec4 lastReflection = vec4(-ray.dir, -INF_HIT); + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + if (dot(ray.dir, planeUv.xyz) > 0.0) { + firstTransmission = intersection.w <= firstTransmission.w ? intersection : firstTransmission; + } else { + lastReflection = intersection.w >= lastReflection.w ? intersection : lastReflection; + } + } + clippingVolume.entry = backSide; + clippingVolume.exit = lastReflection; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 0, clippingVolume); + clippingVolume.entry = firstTransmission; + clippingVolume.exit = farSide; + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX + 1, clippingVolume); + #else // intersection + vec4 lastTransmission = vec4(ray.dir, -INF_HIT); + vec4 firstReflection = vec4(-ray.dir, +INF_HIT); + for (int i = 0; i < CLIPPING_PLANES_COUNT; i++) { + vec4 planeUv = getClippingPlane(u_clippingPlanesTexture, i, u_clippingPlanesMatrix); + vec4 intersection = intersectPlane(ray, planeUv); + if (dot(ray.dir, planeUv.xyz) > 0.0) { + lastTransmission = intersection.w > lastTransmission.w ? intersection : lastTransmission; + } else { + firstReflection = intersection.w < firstReflection.w ? intersection: firstReflection; + } + } + if (lastTransmission.w < firstReflection.w) { + clippingVolume.entry = lastTransmission; + clippingVolume.exit = firstReflection; + } else { + clippingVolume.entry = vec4(-ray.dir, NO_HIT); + clippingVolume.exit = vec4(ray.dir, NO_HIT); + } + setShapeIntersection(ix, CLIPPING_PLANES_INTERSECTION_INDEX, clippingVolume); + #endif +} +`;var gP=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, +// RayShapeIntersection + +vec4 intersectLongitude(in Ray ray, in float angle, in bool positiveNormal) { + float normalSign = positiveNormal ? 1.0 : -1.0; + vec2 planeNormal = vec2(-sin(angle), cos(angle)) * normalSign; + + vec2 position = ray.pos.xy; + vec2 direction = ray.dir.xy; + float approachRate = dot(direction, planeNormal); + float distance = -dot(position, planeNormal); + + float t = (approachRate == 0.0) + ? NO_HIT + : distance / approachRate; + + return vec4(planeNormal, 0.0, t); +} + +RayShapeIntersection intersectHalfSpace(in Ray ray, in float angle, in bool positiveNormal) +{ + vec4 intersection = intersectLongitude(ray, angle, positiveNormal); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + bool hitFront = (intersection.w > 0.0) == (dot(ray.pos.xy, intersection.xy) > 0.0); + if (!hitFront) { + return RayShapeIntersection(intersection, farSide); + } else { + return RayShapeIntersection(-1.0 * farSide, intersection); + } +} + +void intersectFlippedWedge(in Ray ray, in vec2 minMaxAngle, out RayShapeIntersection intersections[2]) +{ + intersections[0] = intersectHalfSpace(ray, minMaxAngle.x, false); + intersections[1] = intersectHalfSpace(ray, minMaxAngle.y, true); +} + +bool hitPositiveHalfPlane(in Ray ray, in vec4 intersection, in bool positiveNormal) { + float normalSign = positiveNormal ? 1.0 : -1.0; + vec2 planeDirection = vec2(intersection.y, -intersection.x) * normalSign; + vec2 hit = ray.pos.xy + intersection.w * ray.dir.xy; + return dot(hit, planeDirection) > 0.0; +} + +void intersectHalfPlane(in Ray ray, in float angle, out RayShapeIntersection intersections[2]) { + vec4 intersection = intersectLongitude(ray, angle, true); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (hitPositiveHalfPlane(ray, intersection, true)) { + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = vec4(-1.0 * intersection.xy, 0.0, intersection.w); + intersections[1].entry = intersection; + intersections[1].exit = farSide; + } else { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = farSide; + intersections[1].entry = miss; + intersections[1].exit = miss; + } +} + +RayShapeIntersection intersectRegularWedge(in Ray ray, in vec2 minMaxAngle) +{ + // Note: works for maxAngle > minAngle + pi, where the "regular wedge" + // is actually a negative volume. + // Compute intersections with the two planes. + // Normals will point toward the "outside" (negative space) + vec4 intersect1 = intersectLongitude(ray, minMaxAngle.x, false); + vec4 intersect2 = intersectLongitude(ray, minMaxAngle.y, true); + + // Choose intersection with smallest T as the "first", the other as "last" + // Note: first or last could be in the "shadow" wedge, beyond the tip + bool inOrder = intersect1.w <= intersect2.w; + vec4 first = inOrder ? intersect1 : intersect2; + vec4 last = inOrder ? intersect2 : intersect1; + + bool firstIsAhead = first.w >= 0.0; + bool startedInsideFirst = dot(ray.pos.xy, first.xy) < 0.0; + bool exitFromInside = firstIsAhead == startedInsideFirst; + bool lastIsAhead = last.w > 0.0; + bool startedOutsideLast = dot(ray.pos.xy, last.xy) >= 0.0; + bool enterFromOutside = lastIsAhead == startedOutsideLast; + + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + + if (exitFromInside && enterFromOutside) { + // Ray crosses both faces of negative wedge, exiting then entering the positive shape + return RayShapeIntersection(first, last); + } else if (!exitFromInside && enterFromOutside) { + // Ray starts inside wedge. last is in shadow wedge, and first is actually the entry + return RayShapeIntersection(-1.0 * farSide, first); + } else if (exitFromInside && !enterFromOutside) { + // First intersection was in the shadow wedge, so last is actually the exit + return RayShapeIntersection(last, farSide); + } else { // !exitFromInside && !enterFromOutside + // Both intersections were in the shadow wedge + return RayShapeIntersection(miss, miss); + } +} +`;var TH=`// See IntersectionUtils.glsl for the definitions of Ray, RayShapeIntersection, +// NO_HIT, Intersections + +/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_INTERSECTION_INDEX ### // always 0 +*/ + +uniform vec3 u_renderMinBounds; +uniform vec3 u_renderMaxBounds; + +RayShapeIntersection intersectBox(in Ray ray, in vec3 minBound, in vec3 maxBound) +{ + // Consider the box as the intersection of the space between 3 pairs of parallel planes + // Compute the distance along the ray to each plane + vec3 t0 = (minBound - ray.pos) / ray.dir; + vec3 t1 = (maxBound - ray.pos) / ray.dir; + + // Identify candidate entries/exits based on distance from ray.pos + vec3 entries = min(t0, t1); + vec3 exits = max(t0, t1); + + vec3 directions = sign(ray.dir); + + // The actual intersection points are the furthest entry and the closest exit + float lastEntry = maxComponent(entries); + bvec3 isLastEntry = equal(entries, vec3(lastEntry)); + vec3 entryNormal = -1.0 * vec3(isLastEntry) * directions; + vec4 entry = vec4(entryNormal, lastEntry); + + float firstExit = minComponent(exits); + bvec3 isFirstExit = equal(exits, vec3(firstExit)); + vec3 exitNormal = vec3(isLastEntry) * directions; + vec4 exit = vec4(exitNormal, firstExit); + + if (entry.w > exit.w) { + entry.w = NO_HIT; + exit.w = NO_HIT; + } + + return RayShapeIntersection(entry, exit); +} + +void intersectShape(in Ray ray, inout Intersections ix) +{ + RayShapeIntersection intersection = intersectBox(ray, u_renderMinBounds, u_renderMaxBounds); + setShapeIntersection(ix, BOX_INTERSECTION_INDEX, intersection); +} +`;var CH=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, Intersections, +// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection, +// intersectIntersections +// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, +// intersectFlippedWedge, intersectRegularWedge + +/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN +#define CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF +#define CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO + +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MAX +#define CYLINDER_INTERSECTION_INDEX_RADIUS_MIN +#define CYLINDER_INTERSECTION_INDEX_ANGLE +*/ + +// Cylinder uniforms +uniform vec2 u_cylinderRenderRadiusMinMax; +uniform vec2 u_cylinderRenderHeightMinMax; +#if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE) + uniform vec2 u_cylinderRenderAngleMinMax; +#endif + +/** + * Find the intersection of a ray with the volume defined by two planes of constant z + */ +RayShapeIntersection intersectHeightBounds(in Ray ray, in vec2 minMaxHeight, in bool convex) +{ + float zPosition = ray.pos.z; + float zDirection = ray.dir.z; + + float tmin = (minMaxHeight.x - zPosition) / zDirection; + float tmax = (minMaxHeight.y - zPosition) / zDirection; + + // Normals point outside the volume + float signFlip = convex ? 1.0 : -1.0; + vec4 intersectMin = vec4(0.0, 0.0, -1.0 * signFlip, tmin); + vec4 intersectMax = vec4(0.0, 0.0, 1.0 * signFlip, tmax); + + bool topEntry = zDirection < 0.0; + vec4 entry = topEntry ? intersectMax : intersectMin; + vec4 exit = topEntry ? intersectMin : intersectMax; + + return RayShapeIntersection(entry, exit); +} + +/** + * Find the intersection of a ray with a right cylindrical surface of a given radius + * about the z-axis. + */ +RayShapeIntersection intersectCylinder(in Ray ray, in float radius, in bool convex) +{ + vec2 position = ray.pos.xy; + vec2 direction = ray.dir.xy; + + float a = dot(direction, direction); + float b = dot(position, direction); + float c = dot(position, position) - radius * radius; + float determinant = b * b - a * c; + + if (determinant < 0.0) { + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + determinant = sqrt(determinant); + float t1 = (-b - determinant) / a; + float t2 = (-b + determinant) / a; + float signFlip = convex ? 1.0 : -1.0; + vec4 intersect1 = vec4(normalize(position + t1 * direction) * signFlip, 0.0, t1); + vec4 intersect2 = vec4(normalize(position + t2 * direction) * signFlip, 0.0, t2); + + return RayShapeIntersection(intersect1, intersect2); +} + +/** + * Find the intersection of a ray with a right cylindrical solid of given + * radius and height bounds. NOTE: The shape is assumed to be convex. + */ +RayShapeIntersection intersectBoundedCylinder(in Ray ray, in float radius, in vec2 minMaxHeight) +{ + RayShapeIntersection cylinderIntersection = intersectCylinder(ray, radius, true); + RayShapeIntersection heightBoundsIntersection = intersectHeightBounds(ray, minMaxHeight, true); + return intersectIntersections(ray, cylinderIntersection, heightBoundsIntersection); +} + +void intersectShape(Ray ray, inout Intersections ix) +{ + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + + RayShapeIntersection outerIntersect = intersectBoundedCylinder(ray, u_cylinderRenderRadiusMinMax.y, u_cylinderRenderHeightMinMax); + + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MAX, outerIntersect); + + if (outerIntersect.entry.w == NO_HIT) { + return; + } + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT) + // When the cylinder is perfectly thin it's necessary to sandwich the + // inner cylinder intersection inside the outer cylinder intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the cylinder to be invisible because it will think the ray + // is still inside the inner (negative) cylinder after exiting the + // outer (positive) cylinder. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + RayShapeIntersection innerIntersect = intersectCylinder(ray, 1.0, false); + setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter + setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter + setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit + setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN) + RayShapeIntersection innerIntersect = intersectCylinder(ray, u_cylinderRenderRadiusMinMax.x, false); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_RADIUS_MIN, innerIntersect); + #endif + + #if defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF) + RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_cylinderRenderAngleMinMax); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE, wedgeIntersect); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF) + RayShapeIntersection wedgeIntersects[2]; + intersectFlippedWedge(ray, u_cylinderRenderAngleMinMax, wedgeIntersects); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); + #elif defined(CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO) + RayShapeIntersection wedgeIntersects[2]; + intersectHalfPlane(ray, u_cylinderRenderAngleMinMax.x, wedgeIntersects); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, CYLINDER_INTERSECTION_INDEX_ANGLE + 1, wedgeIntersects[1]); + #endif +} +`;var AH=`// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, INF_HIT, Intersections, +// RayShapeIntersection, setSurfaceIntersection, setShapeIntersection +// See IntersectLongitude.glsl for the definitions of intersectHalfPlane, +// intersectFlippedWedge, intersectRegularWedge + +/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF +#define ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF +#define ELLIPSOID_INTERSECTION_INDEX_LONGITUDE +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX +#define ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX +#define ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN +*/ + +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidRenderLongitudeMinMax; +#endif +uniform float u_eccentricitySquared; +uniform vec2 u_ellipsoidRenderLatitudeSinMinMax; +uniform vec2 u_clipMinMaxHeight; + +RayShapeIntersection intersectZPlane(in Ray ray, in float z) { + float t = -ray.pos.z / ray.dir.z; + + bool startsOutside = sign(ray.pos.z) == sign(z); + bool entry = (t >= 0.0) != startsOutside; + + vec4 intersect = vec4(0.0, 0.0, z, t); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (entry) { + return RayShapeIntersection(intersect, farSide); + } else { + return RayShapeIntersection(-1.0 * farSide, intersect); + } +} + +RayShapeIntersection intersectHeight(in Ray ray, in float relativeHeight, in bool convex) +{ + // Scale the ray by the ellipsoid axes to make it a unit sphere + // Note: approximating ellipsoid + height as an ellipsoid + vec3 radiiCorrection = u_ellipsoidRadiiUv / (u_ellipsoidRadiiUv + relativeHeight); + vec3 position = ray.pos * radiiCorrection; + vec3 direction = ray.dir * radiiCorrection; + + float a = dot(direction, direction); // ~ 1.0 (or maybe 4.0 if ray is scaled) + float b = dot(direction, position); // roughly inside [-1.0, 1.0] when zoomed in + float c = dot(position, position) - 1.0; // ~ 0.0 when zoomed in. + float determinant = b * b - a * c; // ~ b * b when zoomed in + + if (determinant < 0.0) { + vec4 miss = vec4(normalize(direction), NO_HIT); + return RayShapeIntersection(miss, miss); + } + + determinant = sqrt(determinant); + + // Compute larger root using standard formula + float signB = b < 0.0 ? -1.0 : 1.0; + // The other root may suffer from subtractive cancellation in the standard formula. + // Compute it from the first root instead. + float t1 = (-b - signB * determinant) / a; + float t2 = c / (a * t1); + float tmin = min(t1, t2); + float tmax = max(t1, t2); + + float directionScale = convex ? 1.0 : -1.0; + vec3 d1 = directionScale * normalize(position + tmin * direction); + vec3 d2 = directionScale * normalize(position + tmax * direction); + + return RayShapeIntersection(vec4(d1, tmin), vec4(d2, tmax)); +} + +/** + * Given a circular cone around the z-axis, with apex at the origin, + * find the parametric distance(s) along a ray where that ray intersects + * the cone. + * The cone opening angle is described by the squared cosine of + * its half-angle (the angle between the Z-axis and the surface) + */ +vec2 intersectDoubleEndedCone(in Ray ray, in float cosSqrHalfAngle) +{ + vec3 o = ray.pos; + vec3 d = ray.dir; + float sinSqrHalfAngle = 1.0 - cosSqrHalfAngle; + + float aSin = d.z * d.z * sinSqrHalfAngle; + float aCos = -dot(d.xy, d.xy) * cosSqrHalfAngle; + float a = aSin + aCos; + + float bSin = d.z * o.z * sinSqrHalfAngle; + float bCos = -dot(o.xy, d.xy) * cosSqrHalfAngle; + float b = bSin + bCos; + + float cSin = o.z * o.z * sinSqrHalfAngle; + float cCos = -dot(o.xy, o.xy) * cosSqrHalfAngle; + float c = cSin + cCos; + // determinant = b * b - a * c. But bSin * bSin = aSin * cSin. + // Avoid subtractive cancellation by expanding to eliminate these terms + float determinant = 2.0 * bSin * bCos + bCos * bCos - aSin * cCos - aCos * cSin - aCos * cCos; + + if (determinant < 0.0) { + return vec2(NO_HIT); + } else if (a == 0.0) { + // Ray is parallel to cone surface + return (b == 0.0) + ? vec2(NO_HIT) // Ray is on cone surface + : vec2(-0.5 * c / b, NO_HIT); + } + + determinant = sqrt(determinant); + + // Compute larger root using standard formula + float signB = b < 0.0 ? -1.0 : 1.0; + float t1 = (-b - signB * determinant) / a; + // The other root may suffer from subtractive cancellation in the standard formula. + // Compute it from the first root instead. + float t2 = c / (a * t1); + float tmin = min(t1, t2); + float tmax = max(t1, t2); + return vec2(tmin, tmax); +} + +/** + * Given a point on a conical surface, find the surface normal at that point. + */ +vec3 getConeNormal(in vec3 p, in bool convex) { + // Start with radial component pointing toward z-axis + vec2 radial = -abs(p.z) * normalize(p.xy); + // Z component points toward opening of cone + float zSign = (p.z < 0.0) ? -1.0 : 1.0; + float z = length(p.xy) * zSign; + // Flip normal if shape is convex + float flip = (convex) ? -1.0 : 1.0; + return normalize(vec3(radial, z) * flip); +} + +/** + * Compute the shift between the ellipsoid origin and the apex of a cone of latitude + */ +float getLatitudeConeShift(in float sinLatitude) { + // Find prime vertical radius of curvature: + // the distance along the ellipsoid normal to the intersection with the z-axis + float x2 = u_eccentricitySquared * sinLatitude * sinLatitude; + float primeVerticalRadius = inversesqrt(1.0 - x2); + + // Compute a shift from the origin to the intersection of the cone with the z-axis + return primeVerticalRadius * u_eccentricitySquared * sinLatitude; +} + +void intersectFlippedCone(in Ray ray, in float cosHalfAngle, out RayShapeIntersection intersections[2]) { + // Undo the scaling from ellipsoid to sphere + ray.pos = ray.pos * u_ellipsoidRadiiUv; + ray.dir = ray.dir * u_ellipsoidRadiiUv; + // Shift the ray to account for the latitude cone not being centered at the Earth center + ray.pos.z += getLatitudeConeShift(cosHalfAngle); + + float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + // Initialize output with no intersections + intersections[0].entry = -1.0 * farSide; + intersections[0].exit = farSide; + intersections[1].entry = miss; + intersections[1].exit = miss; + + if (intersect.x == NO_HIT) { + return; + } + + // Find the points of intersection + float tmin = intersect.x; + float tmax = intersect.y; + vec3 p0 = ray.pos + tmin * ray.dir; + vec3 p1 = ray.pos + tmax * ray.dir; + + vec4 intersect0 = vec4(getConeNormal(p0, true), tmin); + vec4 intersect1 = vec4(getConeNormal(p1, true), tmax); + + bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); + bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + + if (p0InShadowCone && p1InShadowCone) { + // no valid intersections + } else if (p0InShadowCone) { + intersections[0].exit = intersect1; + } else if (p1InShadowCone) { + intersections[0].entry = intersect0; + } else { + intersections[0].exit = intersect0; + intersections[1].entry = intersect1; + intersections[1].exit = farSide; + } +} + +RayShapeIntersection intersectRegularCone(in Ray ray, in float cosHalfAngle, in bool convex) { + // Undo the scaling from ellipsoid to sphere + ray.pos = ray.pos * u_ellipsoidRadiiUv; + ray.dir = ray.dir * u_ellipsoidRadiiUv; + // Shift the ray to account for the latitude cone not being centered at the Earth center + ray.pos.z += getLatitudeConeShift(cosHalfAngle); + + float cosSqrHalfAngle = cosHalfAngle * cosHalfAngle; + vec2 intersect = intersectDoubleEndedCone(ray, cosSqrHalfAngle); + + vec4 miss = vec4(normalize(ray.dir), NO_HIT); + vec4 farSide = vec4(normalize(ray.dir), INF_HIT); + + if (intersect.x == NO_HIT) { + return RayShapeIntersection(miss, miss); + } + + // Find the points of intersection + float tmin = intersect.x; + float tmax = intersect.y; + vec3 p0 = ray.pos + tmin * ray.dir; + vec3 p1 = ray.pos + tmax * ray.dir; + + vec4 intersect0 = vec4(getConeNormal(p0, convex), tmin); + vec4 intersect1 = vec4(getConeNormal(p1, convex), tmax); + + bool p0InShadowCone = sign(p0.z) != sign(cosHalfAngle); + bool p1InShadowCone = sign(p1.z) != sign(cosHalfAngle); + + if (p0InShadowCone && p1InShadowCone) { + return RayShapeIntersection(miss, miss); + } else if (p0InShadowCone) { + return RayShapeIntersection(intersect1, farSide); + } else if (p1InShadowCone) { + return RayShapeIntersection(-1.0 * farSide, intersect0); + } else { + return RayShapeIntersection(intersect0, intersect1); + } +} + +void intersectShape(in Ray ray, inout Intersections ix) { + // Position is converted from [0,1] to [-1,+1] because shape intersections assume unit space is [-1,+1]. + // Direction is scaled as well to be in sync with position. + ray.pos = ray.pos * 2.0 - 1.0; + ray.dir *= 2.0; + + // Outer ellipsoid + RayShapeIntersection outerIntersect = intersectHeight(ray, u_clipMinMaxHeight.y, true); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX, outerIntersect); + + // Exit early if the outer ellipsoid was missed. + if (outerIntersect.entry.w == NO_HIT) { + return; + } + + // Inner ellipsoid + RayShapeIntersection innerIntersect = intersectHeight(ray, u_clipMinMaxHeight.x, false); + + if (innerIntersect.entry.w == NO_HIT) { + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN, innerIntersect); + } else { + // When the ellipsoid is large and thin it's possible for floating point math + // to cause the ray to intersect the inner ellipsoid before the outer ellipsoid. + // To prevent this from happening, clamp innerIntersect to outerIntersect and + // sandwich the inner ellipsoid intersection inside the outer ellipsoid intersection. + + // Without this special case, + // [outerMin, outerMax, innerMin, innerMax] will bubble sort to + // [outerMin, innerMin, outerMax, innerMax] which will cause the back + // side of the ellipsoid to be invisible because it will think the ray + // is still inside the inner (negative) ellipsoid after exiting the + // outer (positive) ellipsoid. + + // With this special case, + // [outerMin, innerMin, innerMax, outerMax] will bubble sort to + // [outerMin, innerMin, innerMax, outerMax] which will work correctly. + + // Note: If initializeIntersections() changes its sorting function + // from bubble sort to something else, this code may need to change. + innerIntersect.entry.w = max(innerIntersect.entry.w, outerIntersect.entry.w); + innerIntersect.exit.w = min(innerIntersect.exit.w, outerIntersect.exit.w); + setSurfaceIntersection(ix, 0, outerIntersect.entry, true, true); // positive, enter + setSurfaceIntersection(ix, 1, innerIntersect.entry, false, true); // negative, enter + setSurfaceIntersection(ix, 2, innerIntersect.exit, false, false); // negative, exit + setSurfaceIntersection(ix, 3, outerIntersect.exit, true, false); // positive, exit + } + + // Bottom cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF) + RayShapeIntersection bottomConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, false); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF) + RayShapeIntersection bottomConeIntersection = intersectZPlane(ray, -1.0); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN, bottomConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF) + RayShapeIntersection bottomConeIntersections[2]; + intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.x, bottomConeIntersections); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 0, bottomConeIntersections[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN + 1, bottomConeIntersections[1]); + #endif + + // Top cone + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF) + RayShapeIntersection topConeIntersections[2]; + intersectFlippedCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, topConeIntersections); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 0, topConeIntersections[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX + 1, topConeIntersections[1]); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF) + RayShapeIntersection topConeIntersection = intersectZPlane(ray, 1.0); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF) + RayShapeIntersection topConeIntersection = intersectRegularCone(ray, u_ellipsoidRenderLatitudeSinMinMax.y, false); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX, topConeIntersection); + #endif + + // Wedge + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO) + RayShapeIntersection wedgeIntersects[2]; + intersectHalfPlane(ray, u_ellipsoidRenderLongitudeMinMax.x, wedgeIntersects); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF) + RayShapeIntersection wedgeIntersect = intersectRegularWedge(ray, u_ellipsoidRenderLongitudeMinMax); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE, wedgeIntersect); + #elif defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF) + RayShapeIntersection wedgeIntersects[2]; + intersectFlippedWedge(ray, u_ellipsoidRenderLongitudeMinMax, wedgeIntersects); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 0, wedgeIntersects[0]); + setShapeIntersection(ix, ELLIPSOID_INTERSECTION_INDEX_LONGITUDE + 1, wedgeIntersects[1]); + #endif +} +`;var TS=`// Main intersection function for Voxel scenes. +// See IntersectBox.glsl, IntersectCylinder.glsl, or IntersectEllipsoid.glsl +// for the definition of intersectShape. The appropriate function is selected +// based on the VoxelPrimitive shape type, and added to the shader in +// Scene/VoxelRenderResources.js. +// See also IntersectClippingPlane.glsl and IntersectDepth.glsl. +// See IntersectionUtils.glsl for the definitions of Ray, NO_HIT, +// getFirstIntersection, initializeIntersections, nextIntersection. + +/* Intersection defines (set in Scene/VoxelRenderResources.js) +#define INTERSECTION_COUNT ### +*/ + +RayShapeIntersection intersectScene(in vec2 screenCoord, in Ray ray, out Intersections ix) { + // Do a ray-shape intersection to find the exact starting and ending points. + intersectShape(ray, ix); + + // Exit early if the positive shape was completely missed or behind the ray. + RayShapeIntersection intersection = getFirstIntersection(ix); + if (intersection.entry.w == NO_HIT) { + // Positive shape was completely missed - so exit early. + return intersection; + } + + // Clipping planes + #if defined(CLIPPING_PLANES) + intersectClippingPlanes(ray, ix); + #endif + + // Depth + #if defined(DEPTH_TEST) + intersectDepth(screenCoord, ray, ix); + #endif + + // Find the first intersection that's in front of the ray + #if (INTERSECTION_COUNT > 1) + initializeIntersections(ix); + for (int i = 0; i < INTERSECTION_COUNT; ++i) { + intersection = nextIntersection(ix); + if (intersection.exit.w > 0.0) { + // Set start to 0.0 when ray is inside the shape. + intersection.entry.w = max(intersection.entry.w, 0.0); + break; } - #endif -/*--------------------------------------------------------------------------*/ } + #else + // Set start to 0.0 when ray is inside the shape. + intersection.entry.w = max(intersection.entry.w, 0.0); + #endif + + return intersection; +} +`;var EH=`/* Box defines (set in Scene/VoxelBoxShape.js) +#define BOX_HAS_SHAPE_BOUNDS +*/ + +#if defined(BOX_HAS_SHAPE_BOUNDS) + uniform vec3 u_boxUvToShapeUvScale; + uniform vec3 u_boxUvToShapeUvTranslate; +#endif + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // For BOX, UV space = shape space, so we can use positionUv as-is, + // and the Jacobian is the identity matrix, except that a step of 1 + // only spans half the shape space [-1, 1], so the identity is scaled. + return PointJacobianT(positionUv, mat3(0.5)); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return positionShape * u_boxUvToShapeUvScale + u_boxUvToShapeUvTranslate; +#else + return positionShape; +#endif +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 convertShapeUvToUvSpace(in vec3 shapeUv) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return (shapeUv - u_boxUvToShapeUvTranslate) / u_boxUvToShapeUvScale; +#else + return shapeUv; +#endif +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { +#if defined(BOX_HAS_SHAPE_BOUNDS) + return shapeUv / u_boxUvToShapeUvScale; +#else + return shapeUv; +#endif +}`;var SH=`/* Cylinder defines (set in Scene/VoxelCylinderShape.js) +#define CYLINDER_HAS_SHAPE_BOUNDS_RADIUS +#define CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY +#define CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED +*/ + +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + uniform vec2 u_cylinderUvToShapeUvRadius; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + uniform vec2 u_cylinderUvToShapeUvHeight; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + uniform vec2 u_cylinderUvToShapeUvAngle; // x = scale, y = offset +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + uniform vec2 u_cylinderShapeUvAngleMinMax; +#endif +#if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) || defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + uniform float u_cylinderShapeUvAngleRangeZeroMid; +#endif + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // Convert from Cartesian UV space [0, 1] to Cartesian local space [-1, 1] + vec3 position = positionUv * 2.0 - 1.0; + + float radius = length(position.xy); // [0, 1] + vec3 radial = normalize(vec3(position.xy, 0.0)); + + // Shape space height is defined within [0, 1] + float height = positionUv.z; // [0, 1] + vec3 z = vec3(0.0, 0.0, 1.0); + + float angle = atan(position.y, position.x); + vec3 east = normalize(vec3(-position.y, position.x, 0.0)); + + vec3 point = vec3(radius, height, angle); + mat3 jacobianT = mat3(radial, z, east / length(position.xy)); + return PointJacobianT(point, jacobianT); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { + float radius = positionShape.x; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + radius = radius * u_cylinderUvToShapeUvRadius.x + u_cylinderUvToShapeUvRadius.y; + #endif + + float height = positionShape.y; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + height = height * u_cylinderUvToShapeUvHeight.x + u_cylinderUvToShapeUvHeight.y; + #endif + + float angle = (positionShape.z + czm_pi) / czm_twoPi; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED) + // Comparing against u_cylinderShapeUvAngleMinMax has precision problems. u_cylinderShapeUvAngleRangeZeroMid is more conservative. + angle += float(angle < u_cylinderShapeUvAngleRangeZeroMid); #endif -/*--------------------------------------------------------------------------*/ + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY) + angle = angle > u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.x : angle; + #elif defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY) + angle = angle < u_cylinderShapeUvAngleRangeZeroMid ? u_cylinderShapeUvAngleMinMax.y : angle; + #endif + + angle = angle * u_cylinderUvToShapeUvAngle.x + u_cylinderUvToShapeUvAngle.y; + #endif + + return vec3(radius, height, angle); +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { + float radius = shapeUv.x; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_RADIUS) + radius /= u_cylinderUvToShapeUvRadius.x; + #endif + + float height = shapeUv.y; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT) + height /= u_cylinderUvToShapeUvHeight.x; + #endif + + float angle = shapeUv.z * czm_twoPi; + #if defined(CYLINDER_HAS_SHAPE_BOUNDS_ANGLE) + angle /= u_cylinderUvToShapeUvAngle.x; + #endif + + return vec3(radius, height, angle); +} +`;var vH=`/* Ellipsoid defines (set in Scene/VoxelEllipsoidShape.js) +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY +#define ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED +#define ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE +*/ + +uniform vec3 u_ellipsoidRadiiUv; // [0,1] +uniform vec2 u_evoluteScale; // (radiiUv.x ^ 2 - radiiUv.z ^ 2) * vec2(1.0, -1.0) / radiiUv; +uniform vec3 u_ellipsoidInverseRadiiSquaredUv; +#if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) || defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) || defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + uniform vec3 u_ellipsoidShapeUvLongitudeMinMaxMid; +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLongitude; // x = scale, y = offset +#endif +#if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + uniform vec2 u_ellipsoidUvToShapeUvLatitude; // x = scale, y = offset +#endif +uniform float u_ellipsoidInverseHeightDifferenceUv; + +// robust iterative solution without trig functions +// https://github.com/0xfaded/ellipse_demo/issues/1 +// https://stackoverflow.com/questions/22959698/distance-from-given-point-to-given-ellipse +// Extended to return radius of curvature along with the point +vec3 nearestPointAndRadiusOnEllipse(vec2 pos, vec2 radii) { + vec2 p = abs(pos); + vec2 inverseRadii = 1.0 / radii; + + // We describe the ellipse parametrically: v = radii * vec2(cos(t), sin(t)) + // but store the cos and sin of t in a vec2 for efficiency. + // Initial guess: t = pi/4 + vec2 tTrigs = vec2(0.7071067811865476); + // Initial guess of point on ellipsoid + vec2 v = radii * tTrigs; + // Center of curvature of the ellipse at v + vec2 evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; + + const int iterations = 3; + for (int i = 0; i < iterations; ++i) { + // Find the (approximate) intersection of p - evolute with the ellipsoid. + vec2 q = normalize(p - evolute) * length(v - evolute); + // Update the estimate of t. + tTrigs = (q + evolute) * inverseRadii; + tTrigs = normalize(clamp(tTrigs, 0.0, 1.0)); + v = radii * tTrigs; + evolute = u_evoluteScale * tTrigs * tTrigs * tTrigs; } + + return vec3(v * sign(pos), length(v - evolute)); +} + +PointJacobianT convertUvToShapeSpaceDerivative(in vec3 positionUv) { + // Convert from UV space [0, 1] to local space [-1, 1] + vec3 position = positionUv * 2.0 - 1.0; + // Undo the scaling from ellipsoid to sphere + position = position * u_ellipsoidRadiiUv; + + float longitude = atan(position.y, position.x); + vec3 east = normalize(vec3(-position.y, position.x, 0.0)); + + // Convert the 3D position to a 2D position relative to the ellipse (radii.x, radii.z) + // (assume radii.y == radii.x) and find the nearest point on the ellipse and its normal + float distanceFromZAxis = length(position.xy); + vec2 posEllipse = vec2(distanceFromZAxis, position.z); + vec3 surfacePointAndRadius = nearestPointAndRadiusOnEllipse(posEllipse, u_ellipsoidRadiiUv.xz); + vec2 surfacePoint = surfacePointAndRadius.xy; + + vec2 normal2d = normalize(surfacePoint * u_ellipsoidInverseRadiiSquaredUv.xz); + float latitude = atan(normal2d.y, normal2d.x); + vec3 north = vec3(-normal2d.y * normalize(position.xy), abs(normal2d.x)); + + float heightSign = length(posEllipse) < length(surfacePoint) ? -1.0 : 1.0; + float height = heightSign * length(posEllipse - surfacePoint); + vec3 up = normalize(cross(east, north)); + + vec3 point = vec3(longitude, latitude, height); + mat3 jacobianT = mat3(east / distanceFromZAxis, north / (surfacePointAndRadius.z + height), up); + return PointJacobianT(point, jacobianT); +} + +vec3 convertShapeToShapeUvSpace(in vec3 positionShape) { + // Longitude: shift & scale to [0, 1] + float longitude = (positionShape.x + czm_pi) / czm_twoPi; + + // Correct the angle when max < min + // Technically this should compare against min longitude - but it has precision problems so compare against the middle of empty space. + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED) + longitude += float(longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z); + #endif + + // Avoid flickering from reading voxels from both sides of the -pi/+pi discontinuity. + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY) + longitude = longitude > u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.x : longitude; + #endif + #if defined(ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY) + longitude = longitude < u_ellipsoidShapeUvLongitudeMinMaxMid.z ? u_ellipsoidShapeUvLongitudeMinMaxMid.y : longitude; + #endif + + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + longitude = longitude * u_ellipsoidUvToShapeUvLongitude.x + u_ellipsoidUvToShapeUvLongitude.y; + #endif + + // Latitude: shift and scale to [0, 1] + float latitude = (positionShape.y + czm_piOverTwo) / czm_pi; + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + latitude = latitude * u_ellipsoidUvToShapeUvLatitude.x + u_ellipsoidUvToShapeUvLatitude.y; + #endif + + // Height: scale to the range [0, 1] + float height = 1.0 + positionShape.z * u_ellipsoidInverseHeightDifferenceUv; + + return vec3(longitude, latitude, height); +} + +PointJacobianT convertUvToShapeUvSpaceDerivative(in vec3 positionUv) { + PointJacobianT pointJacobian = convertUvToShapeSpaceDerivative(positionUv); + pointJacobian.point = convertShapeToShapeUvSpace(pointJacobian.point); + return pointJacobian; +} + +vec3 scaleShapeUvToShapeSpace(in vec3 shapeUv) { + // Convert from [0, 1] to radians [-pi, pi] + float longitude = shapeUv.x * czm_twoPi; + #if defined (ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE) + longitude /= u_ellipsoidUvToShapeUvLongitude.x; #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } - #endif -/*--------------------------------------------------------------------------*/ - } -/*--------------------------------------------------------------------------*/ - FxaaFloat dstN = posM.x - posN.x; - FxaaFloat dstP = posP.x - posM.x; - if(!horzSpan) dstN = posM.y - posN.y; - if(!horzSpan) dstP = posP.y - posM.y; -/*--------------------------------------------------------------------------*/ - FxaaBool goodSpanN = (lumaEndN < 0.0) != lumaMLTZero; - FxaaFloat spanLength = (dstP + dstN); - FxaaBool goodSpanP = (lumaEndP < 0.0) != lumaMLTZero; - FxaaFloat spanLengthRcp = 1.0/spanLength; -/*--------------------------------------------------------------------------*/ - FxaaBool directionN = dstN < dstP; - FxaaFloat dst = min(dstN, dstP); - FxaaBool goodSpan = directionN ? goodSpanN : goodSpanP; - FxaaFloat subpixG = subpixF * subpixF; - FxaaFloat pixelOffset = (dst * (-spanLengthRcp)) + 0.5; - FxaaFloat subpixH = subpixG * fxaaQualitySubpix; -/*--------------------------------------------------------------------------*/ - FxaaFloat pixelOffsetGood = goodSpan ? pixelOffset : 0.0; - FxaaFloat pixelOffsetSubpix = max(pixelOffsetGood, subpixH); - if(!horzSpan) posM.x += pixelOffsetSubpix * lengthSign; - if( horzSpan) posM.y += pixelOffsetSubpix * lengthSign; - return FxaaFloat4(FxaaTexTop(tex, posM).xyz, lumaM); + + // Convert from [0, 1] to radians [-pi/2, pi/2] + float latitude = shapeUv.y * czm_pi; + #if defined(ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE) + latitude /= u_ellipsoidUvToShapeUvLatitude.x; + #endif + + float height = shapeUv.z / u_ellipsoidInverseHeightDifferenceUv; + + return vec3(longitude, latitude, height); } -`;function Db(e){e=y(e,y.EMPTY_OBJECT),this._stages=e.stages,this._inputPreviousStageTexture=y(e.inputPreviousStageTexture,!0);let t=e.name;l(t)||(t=Gn()),this._name=t,this._uniforms=e.uniforms,this._textureCache=void 0,this._index=void 0,this._selected=void 0,this._selectedShadow=void 0,this._parentSelected=void 0,this._parentSelectedShadow=void 0,this._combinedSelected=void 0,this._combinedSelectedShadow=void 0,this._selectedLength=0,this._parentSelectedLength=0,this._selectedDirty=!0}Object.defineProperties(Db.prototype,{ready:{get:function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)if(!e[n].ready)return!1;return!0}},name:{get:function(){return this._name}},enabled:{get:function(){return this._stages[0].enabled},set:function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)t[i].enabled=e}},uniforms:{get:function(){return this._uniforms}},inputPreviousStageTexture:{get:function(){return this._inputPreviousStageTexture}},length:{get:function(){return this._stages.length}},selected:{get:function(){return this._selected},set:function(e){this._selected=e}},parentSelected:{get:function(){return this._parentSelected},set:function(e){this._parentSelected=e}}});Db.prototype._isSupported=function(e){let t=this._stages,n=t.length;for(let i=0;i<n;++i)if(!t[i]._isSupported(e))return!1;return!0};Db.prototype.get=function(e){return this._stages[e]};function rgt(e){let t=l(e._selected)?e._selected.length:0,n=l(e._parentSelected)?e._parentSelected:0,i=e._selected!==e._selectedShadow||t!==e._selectedLength;if(i=i||e._parentSelected!==e._parentSelectedShadow||n!==e._parentSelectedLength,l(e._selected)&&l(e._parentSelected)?e._combinedSelected=e._selected.concat(e._parentSelected):l(e._parentSelected)?e._combinedSelected=e._parentSelected:e._combinedSelected=e._selected,!i&&l(e._combinedSelected)){if(!l(e._combinedSelectedShadow))return!0;t=e._combinedSelected.length;for(let o=0;o<t;++o)if(e._combinedSelected[o]!==e._combinedSelectedShadow[o])return!0}return i}Db.prototype.update=function(e,t){this._selectedDirty=rgt(this),this._selectedShadow=this._selected,this._parentSelectedShadow=this._parentSelected,this._combinedSelectedShadow=this._combinedSelected,this._selectedLength=l(this._selected)?this._selected.length:0,this._parentSelectedLength=l(this._parentSelected)?this._parentSelected.length:0;let n=this._stages,i=n.length;for(let o=0;o<i;++o){let r=n[o];this._selectedDirty&&(r.parentSelected=this._combinedSelected),r.update(e,t)}};Db.prototype.isDestroyed=function(){return!1};Db.prototype.destroy=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)e[n].destroy();return ue(this)};var Bl=Db;var Tr={};function xH(e){let o=`#define USE_STEP_SIZE -${vb}`,r=new mo({name:`${e}_x_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:0},sampleMode:Hf.LINEAR}),s=new mo({name:`${e}_y_direction`,fragmentShader:o,uniforms:{delta:1,sigma:2,stepSize:1,direction:1},sampleMode:Hf.LINEAR}),a={};return Object.defineProperties(a,{delta:{get:function(){return r.uniforms.delta},set:function(c){let u=r.uniforms,f=s.uniforms;u.delta=f.delta=c}},sigma:{get:function(){return r.uniforms.sigma},set:function(c){let u=r.uniforms,f=s.uniforms;u.sigma=f.sigma=c}},stepSize:{get:function(){return r.uniforms.stepSize},set:function(c){let u=r.uniforms,f=s.uniforms;u.stepSize=f.stepSize=c}}}),new Bl({name:e,stages:[r,s],uniforms:a})}Tr.createBlurStage=function(){return xH("czm_blur")};Tr.createDepthOfFieldStage=function(){let e=xH("czm_depth_of_field_blur"),t=new mo({name:"czm_depth_of_field_composite",fragmentShader:aH,uniforms:{focalDistance:5,blurTexture:e.name}}),n={};return Object.defineProperties(n,{focalDistance:{get:function(){return t.uniforms.focalDistance},set:function(i){t.uniforms.focalDistance=i}},delta:{get:function(){return e.uniforms.delta},set:function(i){e.uniforms.delta=i}},sigma:{get:function(){return e.uniforms.sigma},set:function(i){e.uniforms.sigma=i}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(i){e.uniforms.stepSize=i}}}),new Bl({name:"czm_depth_of_field",stages:[e,t],inputPreviousStageTexture:!1,uniforms:n})};Tr.isDepthOfFieldSupported=function(e){return e.context.depthTexture};Tr.createEdgeDetectionStage=function(){let e=Gn();return new mo({name:`czm_edge_detection_${e}`,fragmentShader:lH,uniforms:{length:.25,color:H.clone(H.BLACK)}})};Tr.isEdgeDetectionSupported=function(e){return e.context.depthTexture};function sgt(e){if(!l(e))return Tr.createEdgeDetectionStage();let t=new Bl({name:"czm_edge_detection_multiple",stages:e,inputPreviousStageTexture:!1}),n={},i="",o="";for(let a=0;a<e.length;++a)i+=`uniform sampler2D edgeTexture${a}; -`,o+=` vec4 edge${a} = texture(edgeTexture${a}, v_textureCoordinates); - if (edge${a}.a > 0.0) - { - color = edge${a}; - break; - } -`,n[`edgeTexture${a}`]=e[a].name;let r=`${i}in vec2 v_textureCoordinates; -void main() { - vec4 color = vec4(0.0); - for (int i = 0; i < ${e.length}; i++) - { -${o} } - out_FragColor = color; -} -`,s=new mo({name:"czm_edge_detection_combine",fragmentShader:r,uniforms:n});return new Bl({name:"czm_edge_detection_composite",stages:[t,s]})}Tr.createSilhouetteStage=function(e){let t=sgt(e),n=new mo({name:"czm_silhouette_color_edges",fragmentShader:gH,uniforms:{silhouetteTexture:t.name}});return new Bl({name:"czm_silhouette",stages:[t,n],inputPreviousStageTexture:!1,uniforms:t.uniforms})};Tr.isSilhouetteSupported=function(e){return e.context.depthTexture};Tr.createBloomStage=function(){let e=new mo({name:"czm_bloom_contrast_bias",fragmentShader:sH,uniforms:{contrast:128,brightness:-.3}}),t=xH("czm_bloom_blur"),n=new Bl({name:"czm_bloom_contrast_bias_blur",stages:[e,t]}),i=new mo({name:"czm_bloom_generate_composite",fragmentShader:oH,uniforms:{glowOnly:!1,bloomTexture:n.name}}),o={};return Object.defineProperties(o,{glowOnly:{get:function(){return i.uniforms.glowOnly},set:function(r){i.uniforms.glowOnly=r}},contrast:{get:function(){return e.uniforms.contrast},set:function(r){e.uniforms.contrast=r}},brightness:{get:function(){return e.uniforms.brightness},set:function(r){e.uniforms.brightness=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},stepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}}}),new Bl({name:"czm_bloom",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Tr.createAmbientOcclusionStage=function(){let e=new mo({name:"czm_ambient_occlusion_generate",fragmentShader:tH,uniforms:{intensity:3,bias:.1,lengthCap:.26,stepSize:1.95,frustumLength:1e3,randomTexture:void 0}}),t=xH("czm_ambient_occlusion_blur");t.uniforms.stepSize=.86;let n=new Bl({name:"czm_ambient_occlusion_generate_blur",stages:[e,t]}),i=new mo({name:"czm_ambient_occlusion_composite",fragmentShader:nH,uniforms:{ambientOcclusionOnly:!1,ambientOcclusionTexture:n.name}}),o={};return Object.defineProperties(o,{intensity:{get:function(){return e.uniforms.intensity},set:function(r){e.uniforms.intensity=r}},bias:{get:function(){return e.uniforms.bias},set:function(r){e.uniforms.bias=r}},lengthCap:{get:function(){return e.uniforms.lengthCap},set:function(r){e.uniforms.lengthCap=r}},stepSize:{get:function(){return e.uniforms.stepSize},set:function(r){e.uniforms.stepSize=r}},frustumLength:{get:function(){return e.uniforms.frustumLength},set:function(r){e.uniforms.frustumLength=r}},randomTexture:{get:function(){return e.uniforms.randomTexture},set:function(r){e.uniforms.randomTexture=r}},delta:{get:function(){return t.uniforms.delta},set:function(r){t.uniforms.delta=r}},sigma:{get:function(){return t.uniforms.sigma},set:function(r){t.uniforms.sigma=r}},blurStepSize:{get:function(){return t.uniforms.stepSize},set:function(r){t.uniforms.stepSize=r}},ambientOcclusionOnly:{get:function(){return i.uniforms.ambientOcclusionOnly},set:function(r){i.uniforms.ambientOcclusionOnly=r}}}),new Bl({name:"czm_ambient_occlusion",stages:[n,i],inputPreviousStageTexture:!1,uniforms:o})};Tr.isAmbientOcclusionSupported=function(e){return e.context.depthTexture};var agt=`#define FXAA_QUALITY_PRESET 39 -${yH} -${dH}`;Tr.createFXAAStage=function(){return new mo({name:"czm_FXAA",fragmentShader:agt,sampleMode:Hf.LINEAR})};Tr.createAcesTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=eH,new mo({name:"czm_aces",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Tr.createFilmicTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=uH,new mo({name:"czm_filmic",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Tr.createPbrNeutralTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=fH,new mo({name:"czm_pbr_neutral",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Tr.createReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=_H,new mo({name:"czm_reinhard",fragmentShader:t,uniforms:{autoExposure:void 0,exposure:1}})};Tr.createModifiedReinhardTonemappingStage=function(e){let t=e?`#define AUTO_EXPOSURE -`:"";return t+=mH,new mo({name:"czm_modified_reinhard",fragmentShader:t,uniforms:{white:H.WHITE,autoExposure:void 0,exposure:1}})};Tr.createAutoExposureStage=function(){return new YV};Tr.createBlackAndWhiteStage=function(){return new mo({name:"czm_black_and_white",fragmentShader:iH,uniforms:{gradations:5}})};Tr.createBrightnessStage=function(){return new mo({name:"czm_brightness",fragmentShader:rH,uniforms:{brightness:.5}})};Tr.createNightVisionStage=function(){return new mo({name:"czm_night_vision",fragmentShader:pH})};Tr.createDepthViewStage=function(){return new mo({name:"czm_depth_view",fragmentShader:cH})};Tr.createLensFlareStage=function(){return new mo({name:"czm_lens_flare",fragmentShader:hH,uniforms:{dirtTexture:on("Assets/Textures/LensFlare/DirtMask.jpg"),starTexture:on("Assets/Textures/LensFlare/StarBurst.jpg"),intensity:2,distortion:10,ghostDispersal:.4,haloWidth:.4,dirtAmount:.4,earthRadius:ee.WGS84.maximumRadius}})};var Gf=Tr;function A_(e){this._collection=e,this._framebuffers=[],this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0,this._updateDependencies=!1}function pP(e){for(;l(e.length);)e=e.get(e.length-1);return e.name}function dK(e,t,n,i,o){if(!i.enabled||!i._isSupported(t))return o;let r=n[i.name]={};if(l(o)){let a=e.getStageByName(o);r[pP(a)]=!0}let s=i.uniforms;if(l(s)){let a=Object.getOwnPropertyNames(s),c=a.length;for(let u=0;u<c;++u){let f=s[a[u]];if(typeof f=="string"){let d=e.getStageByName(f);l(d)&&(r[pP(d)]=!0)}}}return i.name}function mP(e,t,n,i,o){if(l(i.enabled)&&!i.enabled||l(i._isSupported)&&!i._isSupported(t))return o;let r=o,s=!l(i.inputPreviousStageTexture)||i.inputPreviousStageTexture,a=o,c=i.length;for(let d=0;d<c;++d){let p=i.get(d);l(p.length)?a=mP(e,t,n,p,o):a=dK(e,t,n,p,o),s&&(o=a)}let u,f;if(s)for(u=1;u<c;++u)f=pP(i.get(u)),l(n[f])||(n[f]={}),n[f][r]=!0;else for(u=1;u<c;++u){f=pP(i.get(u));let d=n[f];for(let p=0;p<u;++p)d[pP(i.get(p))]=!0}return a}function cgt(e,t){let n={};if(l(e.ambientOcclusion)){let i=e.ambientOcclusion,o=e.bloom,r=e._tonemapping,s=e.fxaa,a=mP(e,t,n,i,void 0);a=mP(e,t,n,o,a),a=dK(e,t,n,r,a),a=mP(e,t,n,e,a),dK(e,t,n,s,a)}else mP(e,t,n,e,void 0);return n}function lgt(e,t,n){let o=e._collection.getStageByName(t),r=o._textureScale,s=o._forcePowerOfTwo,a=o._pixelFormat,c=o._pixelDatatype,u=o._clearColor,f,d,p=e._framebuffers,g=p.length;for(f=0;f<g;++f){if(d=p[f],r!==d.textureScale||s!==d.forcePowerOfTwo||a!==d.pixelFormat||c!==d.pixelDatatype||!H.equals(u,d.clearColor))continue;let m=d.stages,x=m.length,b=!1;for(let T=0;T<x;++T)if(n[m[T]]){b=!0;break}if(!b)break}return l(d)&&f<g?(d.stages.push(t),d):(d={textureScale:r,forcePowerOfTwo:s,pixelFormat:a,pixelDatatype:c,clearColor:u,stages:[t],buffer:new hi({pixelFormat:a,pixelDatatype:c}),clear:void 0},p.push(d),d)}function ugt(e,t){let n=cgt(e._collection,t);for(let i in n)n.hasOwnProperty(i)&&(e._stageNameToFramebuffer[i]=lgt(e,i,n[i]))}function hK(e){let t=e._framebuffers,n=t.length;for(let i=0;i<n;++i)t[i].buffer.destroy()}function fgt(e,t){let n=e._width,i=e._height,o=e._framebuffers,r=o.length;for(let s=0;s<r;++s){let a=o[s],c=a.textureScale,u=Math.ceil(n*c),f=Math.ceil(i*c),d=Math.min(u,f);a.forcePowerOfTwo&&(P.isPowerOfTwo(d)||(d=P.nextPowerOfTwo(d)),u=d,f=d),a.buffer.update(t,u,f),a.clear=new ni({color:a.clearColor,framebuffer:a.buffer.framebuffer})}}A_.prototype.updateDependencies=function(){this._updateDependencies=!0};A_.prototype.update=function(e){let t=this._collection,n=this._updateDependencies,i=l(t.ambientOcclusion)&&t.ambientOcclusion.enabled&&t.ambientOcclusion._isSupported(e),o=l(t.bloom)&&t.bloom.enabled&&t.bloom._isSupported(e),r=l(t._tonemapping)&&t._tonemapping.enabled&&t._tonemapping._isSupported(e),s=l(t.fxaa)&&t.fxaa.enabled&&t.fxaa._isSupported(e),a=!l(t._activeStages)||t._activeStages.length>0||i||o||r||s;if((n||!a&&this._framebuffers.length>0)&&(hK(this),this._framebuffers.length=0,this._stageNameToFramebuffer={},this._width=void 0,this._height=void 0),!n&&!a)return;this._framebuffers.length===0&&ugt(this,e);let c=e.drawingBufferWidth,u=e.drawingBufferHeight,f=this._width!==c||this._height!==u;!n&&!f||(this._width=c,this._height=u,this._updateDependencies=!1,hK(this),fgt(this,e))};A_.prototype.clear=function(e){let t=this._framebuffers;for(let n=0;n<t.length;++n)t[n].clear.execute(e)};A_.prototype.getStageByName=function(e){return this._collection.getStageByName(e)};A_.prototype.getOutputTexture=function(e){return this._collection.getOutputTexture(e)};A_.prototype.getFramebuffer=function(e){let t=this._stageNameToFramebuffer[e];if(l(t))return t.buffer.framebuffer};A_.prototype.isDestroyed=function(){return!1};A_.prototype.destroy=function(){return hK(this),ue(this)};var lS=A_;var dgt={REINHARD:"REINHARD",MODIFIED_REINHARD:"MODIFIED_REINHARD",FILMIC:"FILMIC",ACES:"ACES",PBR_NEUTRAL:"PBR_NEUTRAL"};var o0=Object.freeze(dgt);var mK=[];function Zc(){let e=Gf.createFXAAStage(),t=Gf.createAmbientOcclusionStage(),n=Gf.createBloomStage();this._autoExposureEnabled=!1,this._autoExposure=Gf.createAutoExposureStage(),this._exposure=1,this._tonemapping=void 0,this._tonemapper=void 0,this.tonemapper=o0.PBR_NEUTRAL;let i=this._tonemapping;e.enabled=!1,t.enabled=!1,n.enabled=!1,i.enabled=!1;let o=new lS(this),r={},s=mK;for(s.push(e,t,n,i);s.length>0;){let c=s.pop();r[c.name]=c,c._textureCache=o;let u=c.length;if(l(u))for(let f=0;f<u;++f)s.push(c.get(f))}this._stages=[],this._activeStages=[],this._previousActiveStages=[],this._randomTexture=void 0;let a=this;t.uniforms.randomTexture=function(){return a._randomTexture},this._ao=t,this._bloom=n,this._fxaa=e,this._aoEnabled=void 0,this._bloomEnabled=void 0,this._tonemappingEnabled=void 0,this._fxaaEnabled=void 0,this._activeStagesChanged=!1,this._stagesRemoved=!1,this._textureCacheDirty=!1,this._stageNames=r,this._textureCache=o}Object.defineProperties(Zc.prototype,{ready:{get:function(){let e=!1,t=this._stages,n=t.length;for(let a=n-1;a>=0;--a){let c=t[a];e=e||c.ready&&c.enabled}let i=this._fxaa,o=this._ao,r=this._bloom,s=this._tonemapping;return e=e||i.ready&&i.enabled,e=e||o.ready&&o.enabled,e=e||r.ready&&r.enabled,e=e||s.ready&&s.enabled,e}},fxaa:{get:function(){return this._fxaa}},ambientOcclusion:{get:function(){return this._ao}},bloom:{get:function(){return this._bloom}},length:{get:function(){return pK(this),this._stages.length}},outputTexture:{get:function(){let e=this._fxaa;if(e.enabled&&e.ready)return this.getOutputTexture(e.name);let t=this._stages,n=t.length;for(let s=n-1;s>=0;--s){let a=t[s];if(l(a)&&a.ready&&a.enabled)return this.getOutputTexture(a.name)}let i=this._tonemapping;if(i.enabled&&i.ready)return this.getOutputTexture(i.name);let o=this._bloom;if(o.enabled&&o.ready)return this.getOutputTexture(o.name);let r=this._ao;if(r.enabled&&r.ready)return this.getOutputTexture(r.name)}},hasSelected:{get:function(){let e=this._stages.slice();for(;e.length>0;){let t=e.pop();if(!l(t))continue;if(l(t.selected))return!0;let n=t.length;if(l(n))for(let i=0;i<n;++i)e.push(t.get(i))}return!1}},tonemapper:{get:function(){return this._tonemapper},set:function(e){if(this._tonemapper===e)return;l(this._tonemapping)&&(delete this._stageNames[this._tonemapping.name],this._tonemapping.destroy());let t=this._autoExposureEnabled,n;switch(e){case o0.REINHARD:n=Gf.createReinhardTonemappingStage(t);break;case o0.MODIFIED_REINHARD:n=Gf.createModifiedReinhardTonemappingStage(t);break;case o0.FILMIC:n=Gf.createFilmicTonemappingStage(t);break;case o0.PBR_NEUTRAL:n=Gf.createPbrNeutralTonemappingStage(t);break;default:n=Gf.createAcesTonemappingStage(t);break}if(t){let i=this._autoExposure;n.uniforms.autoExposure=function(){return i.outputTexture}}else n.uniforms.exposure=this._exposure;this._tonemapper=e,this._tonemapping=n,l(this._stageNames)&&(this._stageNames[n.name]=n,n._textureCache=this._textureCache),this._textureCacheDirty=!0}},exposure:{get:function(){return this._exposure},set:function(e){this._tonemapping.uniforms.exposure=e,this._exposure=e}}});function pK(e){if(!e._stagesRemoved)return;e._stagesRemoved=!1;let t=[],n=e._stages;for(let i=0,o=0;i<n.length;++i){let r=n[i];r&&(r._index=o++,t.push(r))}e._stages=t}Zc.prototype.add=function(e){let t=this._stageNames,n=mK;for(n.push(e);n.length>0;){let o=n.pop();t[o.name]=o,o._textureCache=this._textureCache;let r=o.length;if(l(r))for(let s=0;s<r;++s)n.push(o.get(s))}let i=this._stages;return e._index=i.length,i.push(e),this._textureCacheDirty=!0,e};Zc.prototype.remove=function(e){if(!this.contains(e))return!1;let t=this._stageNames,n=mK;for(n.push(e);n.length>0;){let i=n.pop();delete t[i.name];let o=i.length;if(l(o))for(let r=0;r<o;++r)n.push(i.get(r))}return this._stages[e._index]=void 0,this._stagesRemoved=!0,this._textureCacheDirty=!0,e._index=void 0,e._textureCache=void 0,e.destroy(),!0};Zc.prototype.contains=function(e){return l(e)&&l(e._index)&&e._textureCache===this._textureCache};Zc.prototype.get=function(e){return pK(this),this._stages[e]};Zc.prototype.removeAll=function(){let e=this._stages,t=e.length;for(let n=0;n<t;++n)this.remove(e[n]);e.length=0};Zc.prototype.getStageByName=function(e){return this._stageNames[e]};Zc.prototype.update=function(e,t,n){pK(this);let i=this._activeStages,o=this._activeStages=this._previousActiveStages;this._previousActiveStages=i;let r=this._stages;o.length=r.length;let s=0;for(let T=0;T<r.length;++T){let C=r[T];C.ready&&C.enabled&&C._isSupported(e)&&(o[s++]=C)}o.length=s;let a=s!==i.length;if(!a){for(let T=0;T<s;++T)if(o[T]!==i[T]){a=!0;break}}let c=this._ao,u=this._bloom,f=this._autoExposure,d=this._tonemapping,p=this._fxaa;d.enabled=n;let g=c.enabled&&c._isSupported(e),m=u.enabled&&u._isSupported(e),x=d.enabled&&d._isSupported(e),b=p.enabled&&p._isSupported(e);if((a||this._textureCacheDirty||g!==this._aoEnabled||m!==this._bloomEnabled||x!==this._tonemappingEnabled||b!==this._fxaaEnabled)&&(this._textureCache.updateDependencies(),this._aoEnabled=g,this._bloomEnabled=m,this._tonemappingEnabled=x,this._fxaaEnabled=b,this._textureCacheDirty=!1),l(this._randomTexture)&&!g&&(this._randomTexture.destroy(),this._randomTexture=void 0),!l(this._randomTexture)&&g){let C=new Uint8Array(196608);for(let A=0;A<196608;A+=3)C[A]=Math.floor(Math.random()*255);this._randomTexture=new Mt({context:e,pixelFormat:ct.RGB,pixelDatatype:nt.UNSIGNED_BYTE,source:{arrayBufferView:C,width:256,height:256},sampler:new tn({wrapS:wn.REPEAT,wrapT:wn.REPEAT,minificationFilter:en.NEAREST,magnificationFilter:fi.NEAREST})})}this._textureCache.update(e),p.update(e,t),c.update(e,t),u.update(e,t),d.update(e,t),this._autoExposureEnabled&&f.update(e,t);for(let T=0;T<r.length;++T)r[T].update(e,t);s=0;for(let T=0;T<r.length;++T){let C=r[T];C.ready&&C.enabled&&C._isSupported(e)&&s++}a=s!==o.length,a&&this.update(e,t,n)};Zc.prototype.clear=function(e){this._textureCache.clear(e),this._autoExposureEnabled&&this._autoExposure.clear(e)};function Ib(e){for(;l(e.length);)e=e.get(e.length-1);return e.outputTexture}Zc.prototype.getOutputTexture=function(e){let t=this.getStageByName(e);if(l(t))return Ib(t)};function Um(e,t,n,i,o){if(l(e.execute)){e.execute(t,n,i,o);return}if(e.inputPreviousStageTexture){Um(e.get(0),t,n,i,o);for(let r=1;r<e.length;++r)Um(e.get(r),t,Ib(e.get(r-1)),i,o)}else for(let r=0;r<e.length;++r)Um(e.get(r),t,n,i,o)}Zc.prototype.execute=function(e,t,n,i){let o=this._activeStages,r=o.length,s=this._fxaa,a=this._ao,c=this._bloom,u=this._autoExposure,f=this._tonemapping,d=a.enabled&&a._isSupported(e),p=c.enabled&&c._isSupported(e),g=this._autoExposureEnabled,m=f.enabled&&f._isSupported(e),x=s.enabled&&s._isSupported(e);if(!x&&!d&&!p&&!m&&r===0)return;let b=t;d&&a.ready&&(Um(a,e,b,n,i),b=Ib(a)),p&&c.ready&&(Um(c,e,b,n,i),b=Ib(c)),g&&u.ready&&Um(u,e,b,n,i),m&&f.ready&&(Um(f,e,b,n,i),b=Ib(f));let T=b;if(r>0){Um(o[0],e,b,n,i);for(let C=1;C<r;++C)Um(o[C],e,Ib(o[C-1]),n,i);T=Ib(o[r-1])}x&&s.ready&&Um(s,e,T,n,i)};Zc.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Pu,{uniformMap:{colorTexture:function(){return n.outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};Zc.prototype.isDestroyed=function(){return!1};Zc.prototype.destroy=function(){return this._fxaa.destroy(),this._ao.destroy(),this._bloom.destroy(),this._autoExposure.destroy(),this._tonemapping.destroy(),this.removeAll(),this._textureCache=this._textureCache&&this._textureCache.destroy(),ue(this)};var bH=Zc;function Ou(){de.throwInstantiationError()}Ou.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties(Ou.prototype,{quadtree:{get:de.throwInstantiationError,set:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError}});Ou.prototype.update=de.throwInstantiationError;Ou.prototype.beginUpdate=de.throwInstantiationError;Ou.prototype.endUpdate=de.throwInstantiationError;Ou.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;Ou.prototype.loadTile=de.throwInstantiationError;Ou.prototype.computeTileVisibility=de.throwInstantiationError;Ou.prototype.showTileThisFrame=de.throwInstantiationError;Ou.prototype.computeDistanceToTile=de.throwInstantiationError;Ou.prototype.isDestroyed=de.throwInstantiationError;Ou.prototype.destroy=de.throwInstantiationError;var $xe=Ou;function mc(e,t){this._occluderPosition=h.clone(e.center),this._occluderRadius=e.radius,this._horizonDistance=0,this._horizonPlaneNormal=void 0,this._horizonPlanePosition=void 0,this._cameraPosition=void 0,this.cameraPosition=t}var TH=new h;Object.defineProperties(mc.prototype,{position:{get:function(){return this._occluderPosition}},radius:{get:function(){return this._occluderRadius}},cameraPosition:{set:function(e){e=h.clone(e,this._cameraPosition);let t=h.subtract(this._occluderPosition,e,TH),n=h.magnitudeSquared(t),i=this._occluderRadius*this._occluderRadius,o,r,s;if(n>i){o=Math.sqrt(n-i),n=1/Math.sqrt(n),r=h.multiplyByScalar(t,n,TH);let a=o*o*n;s=h.add(e,h.multiplyByScalar(r,a,TH),TH)}else o=Number.MAX_VALUE;this._horizonDistance=o,this._horizonPlaneNormal=r,this._horizonPlanePosition=s,this._cameraPosition=e}}});mc.fromBoundingSphere=function(e,t,n){return l(n)?(h.clone(e.center,n._occluderPosition),n._occluderRadius=e.radius,n.cameraPosition=t,n):new mc(e,t)};var Qxe=new h;mc.prototype.isPointVisible=function(e){if(this._horizonDistance!==Number.MAX_VALUE){let t=h.subtract(e,this._occluderPosition,Qxe),n=this._occluderRadius;if(n=h.magnitudeSquared(t)-n*n,n>0)return n=Math.sqrt(n)+this._horizonDistance,t=h.subtract(e,this._cameraPosition,t),n*n>h.magnitudeSquared(t)}return!1};var hgt=new h;mc.prototype.isBoundingSphereVisible=function(e){let t=h.clone(e.center,hgt),n=e.radius;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,Qxe),o=this._occluderRadius-n;if(o=h.magnitudeSquared(i)-o*o,n<this._occluderRadius)return o>0?(o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i),o*o+n*n>h.magnitudeSquared(i)):!1;if(o>0){i=h.subtract(t,this._cameraPosition,i);let r=h.magnitudeSquared(i),s=this._occluderRadius*this._occluderRadius,a=n*n;return(this._horizonDistance*this._horizonDistance+s)*a>r*s?!0:(o=Math.sqrt(o)+this._horizonDistance,o*o+a>r)}return!0}return!1};var mgt=new h;mc.prototype.computeVisibility=function(e){let t=h.clone(e.center),n=e.radius;if(n>this._occluderRadius)return br.FULL;if(this._horizonDistance!==Number.MAX_VALUE){let i=h.subtract(t,this._occluderPosition,mgt),o=this._occluderRadius-n,r=h.magnitudeSquared(i);if(o=r-o*o,o>0){o=Math.sqrt(o)+this._horizonDistance,i=h.subtract(t,this._cameraPosition,i);let s=h.magnitudeSquared(i);return o*o+n*n<s?br.NONE:(o=this._occluderRadius+n,o=r-o*o,o>0?(o=Math.sqrt(o)+this._horizonDistance,s<o*o+n*n?br.FULL:br.PARTIAL):(i=h.subtract(t,this._horizonPlanePosition,i),h.dot(i,this._horizonPlaneNormal)>-n?br.PARTIAL:br.FULL))}}return br.NONE};var CH=new h;mc.computeOccludeePoint=function(e,t,n){let i=h.clone(t),o=h.clone(e.center),r=e.radius,s=n.length,a=h.normalize(h.subtract(i,o,CH),CH),c=-h.dot(a,o),u=mc._anyRotationVector(o,a,c),f=mc._horizonToPlaneNormalDotProduct(e,a,c,u,n[0]);if(!f)return;let d;for(let g=1;g<s;++g){if(d=mc._horizonToPlaneNormalDotProduct(e,a,c,u,n[g]),!d)return;d<f&&(f=d)}if(f<.0017453283658983088)return;let p=r/f;return h.add(o,h.multiplyByScalar(a,p,CH),CH)};var pgt=[];mc.computeOccludeePointFromRectangle=function(e,t){t=y(t,ee.default);let n=se.subsample(e,t,0,pgt),i=ae.fromPoints(n),o=h.ZERO;if(!h.equals(o,i.center))return mc.computeOccludeePoint(new ae(o,t.minimumRadius),i.center,n)};var _gt=new h;mc._anyRotationVector=function(e,t,n){let i=h.abs(t,_gt),o=i.x>i.y?0:1;(o===0&&i.z>i.x||o===1&&i.z>i.y)&&(o=2);let r=new h,s;o===0?(i.x=e.x,i.y=e.y+1,i.z=e.z+1,s=h.UNIT_X):o===1?(i.x=e.x+1,i.y=e.y,i.z=e.z+1,s=h.UNIT_Y):(i.x=e.x+1,i.y=e.y+1,i.z=e.z,s=h.UNIT_Z);let a=(h.dot(t,i)+n)/-h.dot(t,s);return h.normalize(h.subtract(h.add(i,h.multiplyByScalar(s,a,r),i),e,i),i)};var ggt=new h;mc._rotationVector=function(e,t,n,i,o){let r=h.subtract(i,e,ggt);if(r=h.normalize(r,r),h.dot(t,r)<.9999999847691291){let s=h.cross(t,r,r);if(h.magnitude(s)>P.EPSILON13)return h.normalize(s,new h)}return o};var _K=new h,ygt=new h,AH=new h,Zxe=new h;mc._horizonToPlaneNormalDotProduct=function(e,t,n,i,o){let r=h.clone(o,_K),s=h.clone(e.center,ygt),a=e.radius,c=h.subtract(s,r,AH),u=h.magnitudeSquared(c),f=a*a;if(u<f)return!1;let d=u-f,p=Math.sqrt(d),m=1/Math.sqrt(u),b=p*m*p;c=h.normalize(c,c);let T=h.add(r,h.multiplyByScalar(c,b,Zxe),Zxe),C=Math.sqrt(d-b*b),A=this._rotationVector(s,t,n,r,i),S=h.fromElements(A.x*A.x*c.x+(A.x*A.y-A.z)*c.y+(A.x*A.z+A.y)*c.z,(A.x*A.y+A.z)*c.x+A.y*A.y*c.y+(A.y*A.z-A.x)*c.z,(A.x*A.z-A.y)*c.x+(A.y*A.z+A.x)*c.y+A.z*A.z*c.z,_K);S=h.normalize(S,S);let w=h.multiplyByScalar(S,C,_K);A=h.normalize(h.subtract(h.add(T,w,AH),s,AH),AH);let D=h.dot(t,A);A=h.normalize(h.subtract(h.subtract(T,w,A),s,A),A);let O=h.dot(t,A);return D<O?D:O};var EH=mc;function Pb(e){this._scene=e,this._currentTweens=[],this._morphHandler=void 0,this._morphCancelled=!1,this._completeMorph=void 0,this._morphToOrthographic=!1}Pb.prototype.completeMorph=function(){l(this._completeMorph)&&this._completeMorph()};Pb.prototype.morphTo2D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;this._previousMode=n.mode,this._morphToOrthographic=n.camera.frustum instanceof an,!(this._previousMode===ne.SCENE2D||this._previousMode===ne.MORPHING)&&(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE2D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.COLUMBUS_VIEW?Zgt(this,e):oyt(this,e,t),e===0&&l(this._completeMorph)&&this._completeMorph())};var xgt=new h,bgt=new h,Tgt=new h,Cgt=new h,Agt=new h,Egt=new h,Sgt=new h,wgt=new fe,vgt=new F,Dgt=new Si,Igt=new an,Pgt={position:void 0,direction:void 0,up:void 0,position2D:void 0,direction2D:void 0,up2D:void 0,frustum:void 0};Pb.prototype.morphToColumbusView=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,this._previousMode===ne.COLUMBUS_VIEW||this._previousMode===ne.MORPHING)return;this._scene.morphStart.raiseEvent(this,this._previousMode,ne.COLUMBUS_VIEW,!0),n.camera._setTransform(F.IDENTITY);let i=xgt,o=bgt,r=Tgt;if(e>0)i.x=0,i.y=-1,i.z=1,i=h.multiplyByScalar(h.normalize(i,i),5*t.maximumRadius,i),h.negate(h.normalize(i,o),o),h.cross(h.UNIT_X,o,r);else{let u=n.camera;if(this._previousMode===ne.SCENE2D)h.clone(u.position,i),i.z=u.frustum.right-u.frustum.left,h.negate(h.UNIT_Z,o),h.clone(h.UNIT_Y,r);else{h.clone(u.positionWC,i),h.clone(u.directionWC,o),h.clone(u.upWC,r);let f=t.scaleToGeodeticSurface(i,Sgt),d=Bt.eastNorthUpToFixedFrame(f,t,vgt);F.inverseTransformation(d,d),n.mapProjection.project(t.cartesianToCartographic(i,wgt),i),F.multiplyByPointAsVector(d,o,o),F.multiplyByPointAsVector(d,r,r)}}let s;this._morphToOrthographic?(s=Igt,s.width=n.camera.frustum.right-n.camera.frustum.left,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight):(s=Dgt,s.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,s.fov=P.toRadians(60));let a=Pgt;a.position=i,a.direction=o,a.up=r,a.frustum=s;let c=syt(a);_P(this,c),this._previousMode===ne.SCENE2D?ryt(this,e,a,c):(a.position2D=F.multiplyByPoint(oo.TRANSFORM_2D,i,Cgt),a.direction2D=F.multiplyByPointAsVector(oo.TRANSFORM_2D,o,Agt),a.up2D=F.multiplyByPointAsVector(oo.TRANSFORM_2D,r,Egt),n._mode=ne.MORPHING,lbe(this,e,a,c)),e===0&&l(this._completeMorph)&&this._completeMorph()};var xK={position:new h,direction:new h,up:new h,frustum:void 0},ebe=new Si;Pb.prototype.morphTo3D=function(e,t){l(this._completeMorph)&&this._completeMorph();let n=this._scene;if(this._previousMode=n.mode,!(this._previousMode===ne.SCENE3D||this._previousMode===ne.MORPHING)){if(this._scene.morphStart.raiseEvent(this,this._previousMode,ne.SCENE3D,!0),n._mode=ne.MORPHING,n.camera._setTransform(F.IDENTITY),this._previousMode===ne.SCENE2D)zgt(this,e,t);else{let i;e>0?(i=xK,h.fromDegrees(0,0,5*t.maximumRadius,t,i.position),h.negate(i.position,i.direction),h.normalize(i.direction,i.direction),h.clone(h.UNIT_Z,i.up)):i=tbe(this,t);let o,r=n.camera;r.frustum instanceof an?o=r.frustum.clone():(o=ebe,o.aspectRatio=n.drawingBufferWidth/n.drawingBufferHeight,o.fov=P.toRadians(60)),i.frustum=o;let s=fbe(i);_P(this,s),yK(this,e,i,s)}e===0&&l(this._completeMorph)&&this._completeMorph()}};Pb.prototype.isDestroyed=function(){return!1};Pb.prototype.destroy=function(){return SH(this),ue(this)};function _P(e,t){if(e._scene.completeMorphOnUserInput){e._morphHandler=new Nf(e._scene.canvas);let n=function(){e._morphCancelled=!0,e._scene.camera.cancelFlight(),t(e)};e._completeMorph=n,e._morphHandler.setInputAction(n,Cn.LEFT_DOWN),e._morphHandler.setInputAction(n,Cn.MIDDLE_DOWN),e._morphHandler.setInputAction(n,Cn.RIGHT_DOWN),e._morphHandler.setInputAction(n,Cn.WHEEL)}}function SH(e){let t=e._currentTweens;for(let n=0;n<t.length;++n)t[n].cancelTween();e._currentTweens.length=0,e._morphHandler=e._morphHandler&&e._morphHandler.destroy()}var Rgt=new fe,Ogt=new h,Mgt=new F;function tbe(e,t){let n=e._scene,i=n.camera,o=xK,r=o.position,s=o.direction,a=o.up,c=n.mapProjection.unproject(i.position,Rgt);t.cartographicToCartesian(c,r);let u=t.scaleToGeodeticSurface(r,Ogt),f=Bt.eastNorthUpToFixedFrame(u,t,Mgt);return F.multiplyByPointAsVector(f,i.direction,s),F.multiplyByPointAsVector(f,i.up,a),o}var Lgt=new h,Ngt=new h,Fgt=new h,Bgt=new h,kgt=new h,Vgt=new h;function yK(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(r.position,Lgt),a=h.clone(r.direction,Ngt),c=h.clone(r.up,Fgt),u=F.multiplyByPoint(oo.TRANSFORM_2D_INVERSE,n.position,Bgt),f=F.multiplyByPointAsVector(oo.TRANSFORM_2D_INVERSE,n.direction,kgt),d=F.multiplyByPointAsVector(oo.TRANSFORM_2D_INVERSE,n.up,Vgt);function p(m){Wf(s,u,m.time,r.position),Wf(a,f,m.time,r.direction),Wf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let g=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){ube(e,o,0,1,t,i)}});e._currentTweens.push(g)}var Ugt=new an,nbe=new h,ibe=new h,obe=new h,bK=new h,rbe=new h,sbe=new h;function zgt(e,t,n){t/=3;let i=e._scene,o=i.camera,r;t>0?(r=xK,h.fromDegrees(0,0,5*n.maximumRadius,n,r.position),h.negate(r.position,r.direction),h.normalize(r.direction,r.direction),h.clone(h.UNIT_Z,r.up)):(o.position.z=o.frustum.right-o.frustum.left,r=tbe(e,n));let s;e._morphToOrthographic?(s=Ugt,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.width=o.frustum.right-o.frustum.left):(s=ebe,s.aspectRatio=i.drawingBufferWidth/i.drawingBufferHeight,s.fov=P.toRadians(60)),r.frustum=s;let a=fbe(r);_P(e,a);let c;e._morphToOrthographic?c=function(){yK(e,t,r,a)}:c=function(){cbe(e,t,r,function(){yK(e,t,r,a)})},t>0?(i._mode=ne.SCENE2D,o.flyTo({duration:t,destination:h.fromDegrees(0,0,5*n.maximumRadius,n,bK),complete:function(){i._mode=ne.MORPHING,c()}})):c()}function Wf(e,t,n,i){return h.lerp(e,t,n,i)}function abe(e,t,n,i,o){let r=e._scene,s=r.camera;if(s.frustum instanceof an)return;let a=s.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=n.position.z*Math.tan(a*.5);s.frustum.far=u/Math.tan(c*.5)+1e7;function f(p){s.frustum.fov=P.lerp(a,c,p.time);let g=u/Math.tan(s.frustum.fov*.5);i(s,g)}let d=r.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){s.frustum=n.frustum.clone(),o(e)}});e._currentTweens.push(d)}var Hgt=new h,Ggt=new h,Wgt=new h,gK=new h,jgt=new h,qgt=new h,Ygt=new Br,Xgt=new _n,Kgt=new h,$gt={position:void 0,direction:void 0,up:void 0,frustum:void 0};function Zgt(e,t){t*=.5;let n=e._scene,i=n.camera,o=h.clone(i.position,Hgt),r=h.clone(i.direction,Ggt),s=h.clone(i.up,Wgt),a=h.negate(h.UNIT_Z,jgt),c=h.clone(h.UNIT_Y,qgt),u=gK;if(t>0)h.clone(h.ZERO,gK),u.z=5*n.ellipsoid.maximumRadius;else{h.clone(o,gK);let b=Xgt;F.multiplyByPoint(oo.TRANSFORM_2D,o,b.origin),F.multiplyByPointAsVector(oo.TRANSFORM_2D,r,b.direction);let T=n.globe;if(l(T)){let C=T.pickWorldCoordinates(b,n,!0,Kgt);l(C)&&(F.multiplyByPoint(oo.TRANSFORM_2D_INVERSE,C,u),u.z+=h.distance(o,u))}}let f=Ygt;f.right=u.z*.5,f.left=-f.right,f.top=f.right*(n.drawingBufferHeight/n.drawingBufferWidth),f.bottom=-f.top;let d=$gt;d.position=u,d.direction=a,d.up=c,d.frustum=f;let p=dbe(d);_P(e,p);function g(b){Wf(o,u,b.time,i.position),Wf(r,a,b.time,i.direction),Wf(s,c,b.time,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i._adjustOrthographicFrustum(!0)}function m(b,T){b.position.z=T}let x=n.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){abe(e,t,d,m,p)}});e._currentTweens.push(x)}var Jxe=new fe,Qgt={position:new h,direction:new h,up:new h,position2D:new h,direction2D:new h,up2D:new h,frustum:new Br},Jgt={position:new h,direction:new h,up:new h,frustum:void 0},eyt=new h,tyt=new _n,nyt=new F,iyt=new h;function oyt(e,t,n){t*=.5;let i=e._scene,o=i.camera,r=Qgt;if(t>0)h.clone(h.ZERO,r.position),r.position.z=5*n.maximumRadius,h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);else{n.cartesianToCartographic(o.positionWC,Jxe),i.mapProjection.project(Jxe,r.position),h.negate(h.UNIT_Z,r.direction),h.clone(h.UNIT_Y,r.up);let d=tyt;h.clone(r.position2D,d.origin);let p=h.clone(o.directionWC,d.direction),g=n.scaleToGeodeticSurface(o.positionWC,iyt),m=Bt.eastNorthUpToFixedFrame(g,n,nyt);F.inverseTransformation(m,m),F.multiplyByPointAsVector(m,p,p),F.multiplyByPointAsVector(oo.TRANSFORM_2D,p,p);let x=i.globe;if(l(x)){let b=x.pickWorldCoordinates(d,i,!0,eyt);if(l(b)){let T=h.distance(r.position2D,b);b.x+=T,h.clone(b,r.position2D)}}}function s(d,p){d.position.x=p}F.multiplyByPoint(oo.TRANSFORM_2D,r.position,r.position2D),F.multiplyByPointAsVector(oo.TRANSFORM_2D,r.direction,r.direction2D),F.multiplyByPointAsVector(oo.TRANSFORM_2D,r.up,r.up2D);let a=r.frustum;a.right=r.position.z*.5,a.left=-a.right,a.top=a.right*(i.drawingBufferHeight/i.drawingBufferWidth),a.bottom=-a.top;let c=Jgt;F.multiplyByPoint(oo.TRANSFORM_2D_INVERSE,r.position2D,c.position),h.clone(r.direction,c.direction),h.clone(r.up,c.up),c.frustum=a;let u=dbe(c);_P(e,u);function f(){abe(e,t,r,s,u)}lbe(e,t,r,f)}function cbe(e,t,n,i){let o=e._scene,r=o.camera,s=r.frustum.right-r.frustum.left;r.frustum=n.frustum.clone();let a=r.frustum.fov,c=P.RADIANS_PER_DEGREE*.5,u=s*Math.tan(a*.5);r.frustum.far=u/Math.tan(c*.5)+1e7,r.frustum.fov=c;function f(p){r.frustum.fov=P.lerp(c,a,p.time),r.position.z=u/Math.tan(r.frustum.fov*.5)}let d=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:f,complete:function(){i(e)}});e._currentTweens.push(d)}function ryt(e,t,n,i){t*=.5;let o=e._scene,r=o.camera,s=h.clone(n.position,bK),a=h.clone(n.direction,rbe),c=h.clone(n.up,sbe);o._mode=ne.MORPHING;function u(){r.frustum=n.frustum.clone();let f=h.clone(r.position,nbe),d=h.clone(r.direction,ibe),p=h.clone(r.up,obe);f.z=s.z;function g(x){Wf(f,s,x.time,r.position),Wf(d,a,x.time,r.direction),Wf(p,c,x.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right)}let m=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:g,complete:function(){i(e)}});e._currentTweens.push(m)}e._morphToOrthographic?u():cbe(e,0,n,u)}function lbe(e,t,n,i){let o=e._scene,r=o.camera,s=h.clone(r.position,nbe),a=h.clone(r.direction,ibe),c=h.clone(r.up,obe),u=h.clone(n.position2D,bK),f=h.clone(n.direction2D,rbe),d=h.clone(n.up2D,sbe);function p(m){Wf(s,u,m.time,r.position),Wf(a,f,m.time,r.direction),Wf(c,d,m.time,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.right,r.right),r._adjustOrthographicFrustum(!0)}let g=o.tweens.add({duration:t,easingFunction:Yr.QUARTIC_OUT,startObject:{time:0},stopObject:{time:1},update:p,complete:function(){ube(e,o,1,0,t,i)}});e._currentTweens.push(g)}function ube(e,t,n,i,o,r){let s={object:t,property:"morphTime",startValue:n,stopValue:i,duration:o,easingFunction:Yr.QUARTIC_OUT};l(r)&&(s.complete=function(){r(e)});let a=t.tweens.addProperty(s);e._currentTweens.push(a)}function fbe(e){return function(t){let n=t._scene;n._mode=ne.SCENE3D,n.morphTime=ne.getMorphTime(ne.SCENE3D),SH(t);let i=n.camera;(t._previousMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone());let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE3D,r)}}function dbe(e){return function(t){let n=t._scene;n._mode=ne.SCENE2D,n.morphTime=ne.getMorphTime(ne.SCENE2D),SH(t);let i=n.camera;h.clone(e.position,i.position),i.position.z=n.ellipsoid.maximumRadius*2,h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right),i.frustum=e.frustum.clone();let o=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.SCENE2D,o)}}function syt(e){return function(t){let n=t._scene;n._mode=ne.COLUMBUS_VIEW,n.morphTime=ne.getMorphTime(ne.COLUMBUS_VIEW),SH(t);let i=n.camera;(t._previousModeMode!==ne.MORPHING||t._morphCancelled)&&(t._morphCancelled=!1,h.clone(e.position,i.position),h.clone(e.direction,i.direction),h.clone(e.up,i.up),h.cross(i.direction,i.up,i.right),h.normalize(i.right,i.right));let o=i.frustum;n.frameState.useLogDepth&&(o.near=.1,o.far=1e10);let r=l(t._completeMorph);t._completeMorph=void 0,n.camera.update(n.mode),t._scene.morphComplete.raiseEvent(t,t._previousMode,ne.COLUMBUS_VIEW,r)}}var wH=Pb;function vH(e,t,n,i,o,r,s,a,c,u){this._tweens=e,this._tweenjs=t,this._startObject=We(n),this._stopObject=We(i),this._duration=o,this._delay=r,this._easingFunction=s,this._update=a,this._complete=c,this.cancel=u,this.needsStart=!0}Object.defineProperties(vH.prototype,{startObject:{get:function(){return this._startObject}},stopObject:{get:function(){return this._stopObject}},duration:{get:function(){return this._duration}},delay:{get:function(){return this._delay}},easingFunction:{get:function(){return this._easingFunction}},update:{get:function(){return this._update}},complete:{get:function(){return this._complete}},tweenjs:{get:function(){return this._tweenjs}}});vH.prototype.cancelTween=function(){this._tweens.remove(this)};function ah(){this._tweens=[]}Object.defineProperties(ah.prototype,{length:{get:function(){return this._tweens.length}}});ah.prototype.add=function(e){if(e=y(e,y.EMPTY_OBJECT),e.duration===0)return l(e.complete)&&e.complete(),new vH(this);let t=e.duration/Yn.SECONDS_PER_MILLISECOND,n=y(e.delay,0),i=n/Yn.SECONDS_PER_MILLISECOND,o=y(e.easingFunction,Yr.LINEAR_NONE),r=e.startObject,s=new zpe(r);s.to(We(e.stopObject),t),s.delay(i),s.easing(o),l(e.update)&&s.onUpdate(function(){e.update(r)}),s.onComplete(y(e.complete,null)),s.repeat(y(e._repeat,0));let a=new vH(this,s,e.startObject,e.stopObject,e.duration,n,o,e.update,e.complete,e.cancel);return this._tweens.push(a),a};ah.prototype.addProperty=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.object,n=e.property,i=e.startValue,o=e.stopValue;function r(s){t[n]=s.value}return this.add({startObject:{value:i},stopObject:{value:o},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:r,complete:e.complete,cancel:e.cancel,_repeat:e._repeat})};ah.prototype.addAlpha=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.material,n=[];for(let o in t.uniforms)t.uniforms.hasOwnProperty(o)&&l(t.uniforms[o])&&l(t.uniforms[o].alpha)&&n.push(o);function i(o){let r=n.length;for(let s=0;s<r;++s)t.uniforms[n[s]].alpha=o.alpha}return this.add({startObject:{alpha:y(e.startValue,0)},stopObject:{alpha:y(e.stopValue,1)},duration:y(e.duration,3),delay:e.delay,easingFunction:e.easingFunction,update:i,complete:e.complete,cancel:e.cancel})};ah.prototype.addOffsetIncrement=function(e){e=y(e,y.EMPTY_OBJECT);let n=e.material.uniforms;return this.addProperty({object:n,property:"offset",startValue:n.offset,stopValue:n.offset+1,duration:e.duration,delay:e.delay,easingFunction:e.easingFunction,update:e.update,cancel:e.cancel,_repeat:1/0})};ah.prototype.remove=function(e){if(!l(e))return!1;let t=this._tweens.indexOf(e);return t!==-1?(e.tweenjs.stop(),l(e.cancel)&&e.cancel(),this._tweens.splice(t,1),!0):!1};ah.prototype.removeAll=function(){let e=this._tweens;for(let t=0;t<e.length;++t){let n=e[t];n.tweenjs.stop(),l(n.cancel)&&n.cancel()}e.length=0};ah.prototype.contains=function(e){return l(e)&&this._tweens.indexOf(e)!==-1};ah.prototype.get=function(e){return this._tweens[e]};ah.prototype.update=function(e){let t=this._tweens,n=0;for(e=l(e)?e/Yn.SECONDS_PER_MILLISECOND:Ti();n<t.length;){let i=t[n],o=i.tweenjs;i.needsStart?(i.needsStart=!1,o.start(e)):o.update(e)?n++:(o.stop(),t.splice(n,1))}};var uS=ah;function yP(e){this.enableInputs=!0,this.enableTranslate=!0,this.enableZoom=!0,this.enableRotate=!0,this.enableTilt=!0,this.enableLook=!0,this.inertiaSpin=.9,this.inertiaTranslate=.9,this.inertiaZoom=.8,this.maximumMovementRatio=.1,this.bounceAnimationTime=3,this.minimumZoomDistance=1,this.maximumZoomDistance=Number.POSITIVE_INFINITY,this.zoomFactor=5,this.translateEventTypes=Li.LEFT_DRAG,this.zoomEventTypes=[Li.RIGHT_DRAG,Li.WHEEL,Li.PINCH],this.rotateEventTypes=Li.LEFT_DRAG,this.tiltEventTypes=[Li.MIDDLE_DRAG,Li.PINCH,{eventType:Li.LEFT_DRAG,modifier:da.CTRL},{eventType:Li.RIGHT_DRAG,modifier:da.CTRL}],this.lookEventTypes={eventType:Li.LEFT_DRAG,modifier:da.SHIFT};let t=y(e.ellipsoid,ee.default);this.minimumPickingTerrainHeight=ee.WGS84.equals(t)?15e4:t.minimumRadius*.025,this._minimumPickingTerrainHeight=this.minimumPickingTerrainHeight,this.minimumPickingTerrainDistanceWithInertia=ee.WGS84.equals(t)?4e3:t.minimumRadius*63e-5,this.minimumCollisionTerrainHeight=ee.WGS84.equals(t)?15e3:t.minimumRadius*.0025,this._minimumCollisionTerrainHeight=this.minimumCollisionTerrainHeight,this.minimumTrackBallHeight=ee.WGS84.equals(t)?75e5:t.minimumRadius*1.175,this._minimumTrackBallHeight=this.minimumTrackBallHeight,this.enableCollisionDetection=!0,this.maximumTiltAngle=void 0,this._scene=e,this._globe=void 0,this._ellipsoid=t,this._lastGlobeHeight=0,this._aggregator=new wU(e.canvas),this._lastInertiaSpinMovement=void 0,this._lastInertiaZoomMovement=void 0,this._lastInertiaTranslateMovement=void 0,this._lastInertiaTiltMovement=void 0,this._inertiaDisablers={_lastInertiaZoomMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement","_lastInertiaTiltMovement"],_lastInertiaTiltMovement:["_lastInertiaSpinMovement","_lastInertiaTranslateMovement"]},this._tweens=new uS,this._tween=void 0,this._horizontalRotationAxis=void 0,this._tiltCenterMousePosition=new U(-1,-1),this._tiltCenter=new h,this._rotateMousePosition=new U(-1,-1),this._rotateStartPosition=new h,this._strafeStartPosition=new h,this._strafeMousePosition=new U,this._strafeEndMousePosition=new U,this._zoomMouseStart=new U(-1,-1),this._zoomWorldPosition=new h,this._useZoomWorldPosition=!1,this._panLastMousePosition=new U,this._panLastWorldPosition=new h,this._tiltCVOffMap=!1,this._looking=!1,this._rotating=!1,this._strafing=!1,this._zoomingOnVector=!1,this._zoomingUnderground=!1,this._rotatingZoom=!1,this._adjustedHeightForTerrain=!1,this._cameraUnderground=!1;let n=e.mapProjection;this._maxCoord=n.project(new fe(Math.PI,P.PI_OVER_TWO)),this._rotateFactor=void 0,this._rotateRateRangeAdjustment=void 0,this._maximumRotateRate=1.77,this._minimumRotateRate=1/5e3,this._minimumZoomRate=20,this._maximumZoomRate=5906376272e3,this._minimumUndergroundPickDistance=2e3,this._maximumUndergroundPickDistance=1e4}function ayt(e,t){if(e<0)return 0;let n=(1-t)*25;return Math.exp(-n*e)}function cyt(e){return U.equalsEpsilon(e.startPosition,e.endPosition,P.EPSILON14)}var lyt=.4;function uyt(e,t,n,i,o,r,s){let a=r[s];l(a)||(a=r[s]={startPosition:new U,endPosition:new U,motion:new U,inertiaEnabled:!0});let c=e.getButtonPressTime(t,n),u=e.getButtonReleaseTime(t,n),f=c&&u&&(u.getTime()-c.getTime())/1e3,p=u&&(new Date().getTime()-u.getTime())/1e3;if(c&&u&&f<lyt){let g=ayt(p,i),m=e.getLastMovement(t,n);if(!l(m)||cyt(m)||!a.inertiaEnabled||(a.motion.x=(m.endPosition.x-m.startPosition.x)*.5,a.motion.y=(m.endPosition.y-m.startPosition.y)*.5,a.startPosition=U.clone(m.startPosition,a.startPosition),a.endPosition=U.multiplyByScalar(a.motion,g,a.endPosition),a.endPosition=U.add(a.startPosition,a.endPosition,a.endPosition),isNaN(a.endPosition.x)||isNaN(a.endPosition.y)||U.distance(a.startPosition,a.endPosition)<.5))return;if(!e.isButtonDown(t,n)){let x=e.getStartMousePosition(t,n);o(r,x,a)}}}function fyt(e,t){if(l(t)){let n=e[t];l(n)&&(n.inertiaEnabled=!0);let i=e._inertiaDisablers[t];if(l(i)){let o=i.length;for(let r=0;r<o;++r)n=e[i[r]],l(n)&&(n.inertiaEnabled=!1)}}}var hbe=[];function Qc(e,t,n,i,o,r){if(!l(n))return;let s=e._aggregator;Array.isArray(n)||(hbe[0]=n,n=hbe);let a=n.length;for(let c=0;c<a;++c){let u=n[c],f=l(u.eventType)?u.eventType:u,d=u.modifier,p=s.isMoving(f,d)&&s.getMovement(f,d),g=s.getStartMousePosition(f,d);e.enableInputs&&t&&(p?(i(e,g,p),fyt(e,r)):o<1&&uyt(s,f,d,o,i,e,r))}}var DH=new _n,dyt=new h,hyt=new U,myt=new h,pyt=new U,_yt=new h,gyt=new h,yyt=new h,xyt=new h,Sbe=new h,byt=new h,Tyt=new h,Cyt=new h,Ayt=new h,Eyt=new h,Syt=new h,wyt=new h,vyt=new h,Dyt=new h,Iyt=new h,Rb=new h,mbe=new h,pbe=new h,TK={orientation:new Ga};function IK(e,t,n,i,o,r){let s=1;l(r)&&(s=P.clamp(Math.abs(r),.25,1));let a=n.endPosition.y-n.startPosition.y,u=a>0?e.minimumZoomDistance*s:0,f=e.maximumZoomDistance,d=o-u,p=i*d;p=P.clamp(p,e._minimumZoomRate,e._maximumZoomRate);let g=a/e._scene.canvas.clientHeight;g=Math.min(g,e.maximumMovementRatio);let m=p*g;if(e.enableCollisionDetection||e.minimumZoomDistance===0||!l(e._globe)){if(m>0&&Math.abs(o-u)<1||m<0&&Math.abs(o-f)<1)return;o-m<u?m=o-u-1:o-m>f&&(m=o-f)}let x=e._scene,b=x.camera,T=x.mode,C=TK.orientation;if(C.heading=b.heading,C.pitch=b.pitch,C.roll=b.roll,b.frustum instanceof an){Math.abs(m)>0&&(b.zoomIn(m),b._adjustOrthographicFrustum(!0));return}let A=y(n.inertiaEnabled,U.equals(t,e._zoomMouseStart)),S=e._zoomingOnVector,w=e._rotatingZoom,D;if(A||(e._zoomMouseStart=U.clone(t,e._zoomMouseStart),l(e._globe)&&T===ne.SCENE2D?(D=b.getPickRay(t,DH).origin,D=h.fromElements(D.y,D.z,D.x)):l(e._globe)&&(D=E_(e,t,dyt)),l(D)?(e._useZoomWorldPosition=!0,e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition)):e._useZoomWorldPosition=!1,S=e._zoomingOnVector=!1,w=e._rotatingZoom=!1,e._zoomingUnderground=e._cameraUnderground),!e._useZoomWorldPosition){b.zoomIn(m);return}let O=T===ne.COLUMBUS_VIEW;if(b.positionCartographic.height<2e6&&(w=!0),!A||w){if(T===ne.SCENE2D){let R=e._zoomWorldPosition,M=b.position;if(!h.equals(R,M)&&b.positionCartographic.height<e._maxCoord.x*2){let L=b.position.x,_=h.subtract(R,M,myt);h.normalize(_,_);let E=h.distance(R,M)*m/(b.getMagnitude()*.5);b.move(_,E*.5),(b.position.x<0&&L>0||b.position.x>0&&L<0)&&(D=b.getPickRay(t,DH).origin,D=h.fromElements(D.y,D.z,D.x),e._zoomWorldPosition=h.clone(D,e._zoomWorldPosition))}}else if(T===ne.SCENE3D){let R=h.normalize(b.position,Sbe);if(e._cameraUnderground||e._zoomingUnderground||b.positionCartographic.height<3e3&&Math.abs(h.dot(b.direction,R))<.6)O=!0;else{let M=x.canvas,L=pyt;L.x=M.clientWidth/2,L.y=M.clientHeight/2;let _=E_(e,L,_yt);if(!l(_))O=!0;else if(b.positionCartographic.height<1e6)if(h.dot(b.direction,R)>=-.5)O=!0;else{let E=Tyt;h.clone(b.position,E);let v=e._zoomWorldPosition,I=byt;if(I=h.normalize(v,I),h.dot(I,R)<0)return;let N=Iyt,B=Eyt;h.clone(b.direction,B),h.add(E,h.multiplyByScalar(B,1e3,Rb),N);let z=Syt,V=wyt;h.subtract(v,E,z),h.normalize(z,V);let G=h.dot(R,V);if(G>=0){e._zoomMouseStart.x=-1;return}let k=Math.acos(-G),Y=h.magnitude(E),W=h.magnitude(v),J=Y-m,j=h.magnitude(z),$=Math.asin(P.clamp(j/W*Math.sin(k),-1,1)),Q=Math.asin(P.clamp(J/W*Math.sin(k),-1,1)),he=$-Q+k,ye=Cyt;h.normalize(E,ye);let re=Ayt;re=h.cross(V,ye,re),re=h.normalize(re,re),h.normalize(h.cross(ye,re,Rb),B),h.multiplyByScalar(h.normalize(N,Rb),h.magnitude(N)-m,N),h.normalize(E,E),h.multiplyByScalar(E,J,E);let _e=vyt;h.multiplyByScalar(h.add(h.multiplyByScalar(ye,Math.cos(he)-1,mbe),h.multiplyByScalar(B,Math.sin(he),pbe),Rb),J,_e),h.add(E,_e,E),h.normalize(N,ye),h.normalize(h.cross(ye,re,Rb),B);let xe=Dyt;h.multiplyByScalar(h.add(h.multiplyByScalar(ye,Math.cos(he)-1,mbe),h.multiplyByScalar(B,Math.sin(he),pbe),Rb),h.magnitude(N),xe),h.add(N,xe,N),h.clone(E,b.position),h.normalize(h.subtract(N,E,Rb),b.direction),h.clone(b.direction,b.direction),h.cross(b.direction,b.up,b.right),h.cross(b.right,b.direction,b.up),b.setView(TK);return}else{let E=h.normalize(_,gyt),v=h.normalize(e._zoomWorldPosition,yyt),I=h.dot(v,E);if(I>0&&I<1){let N=P.acosClamped(I),B=h.cross(v,E,xyt),z=Math.abs(N)>P.toRadians(20)?b.positionCartographic.height*.75:b.positionCartographic.height-m,V=m/z;b.rotate(B,N*V)}}}}e._rotatingZoom=!O}if(!A&&O||S){let R,M=ki.worldToWindowCoordinates(x,e._zoomWorldPosition,hyt);T!==ne.COLUMBUS_VIEW&&U.equals(t,e._zoomMouseStart)&&l(M)?R=b.getPickRay(M,DH):R=b.getPickRay(t,DH);let L=R.direction;(T===ne.COLUMBUS_VIEW||T===ne.SCENE2D)&&h.fromElements(L.y,L.z,L.x,L),b.move(L,m),e._zoomingOnVector=!0}else b.zoomIn(m);e._cameraUnderground||b.setView(TK)}var Pyt=new _n,Ryt=new _n,Oyt=new h;function Myt(e,t,n){let o=e._scene.camera,r=o.getPickRay(n.startPosition,Pyt).origin,s=o.getPickRay(n.endPosition,Ryt).origin;r=h.fromElements(r.y,r.z,r.x,r),s=h.fromElements(s.y,s.z,s.x,s);let a=h.subtract(r,s,Oyt),c=h.magnitude(a);c>0&&(h.normalize(a,a),o.move(a,c))}function _be(e,t,n){l(n.distance)&&(n=n.distance);let o=e._scene.camera;IK(e,t,n,e.zoomFactor,o.getMagnitude())}var Lyt=new U,Nyt=new U;function gbe(e,t,n){if(l(n.angleAndHeight)){Fyt(e,t,n.angleAndHeight);return}let i=e._scene,o=i.camera,r=i.canvas,s=r.clientWidth,a=r.clientHeight,c=Lyt;c.x=2/s*n.startPosition.x-1,c.y=2/a*(a-n.startPosition.y)-1,c=U.normalize(c,c);let u=Nyt;u.x=2/s*n.endPosition.x-1,u.y=2/a*(a-n.endPosition.y)-1,u=U.normalize(u,u);let f=P.acosClamped(c.x);c.y<0&&(f=P.TWO_PI-f);let d=P.acosClamped(u.x);u.y<0&&(d=P.TWO_PI-d);let p=d-f;o.twistRight(p)}function Fyt(e,t,n){let i=e._rotateFactor*e._rotateRateRangeAdjustment;i>e._maximumRotateRate&&(i=e._maximumRotateRate),i<e._minimumRotateRate&&(i=e._minimumRotateRate);let o=e._scene,r=o.camera,s=o.canvas,a=(n.endPosition.x-n.startPosition.x)/s.clientWidth;a=Math.min(a,e.maximumMovementRatio);let c=i*a*Math.PI*4;r.twistRight(c)}function Byt(e){let t=e._scene.mapMode2D===Eu.ROTATE;F.equals(F.IDENTITY,e._scene.camera.transform)?(Qc(e,e.enableTranslate,e.translateEventTypes,Myt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Qc(e,e.enableZoom,e.zoomEventTypes,_be,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Qc(e,e.enableRotate,e.tiltEventTypes,gbe,e.inertiaSpin,"_lastInertiaTiltMovement")):(Qc(e,e.enableZoom,e.zoomEventTypes,_be,e.inertiaZoom,"_lastInertiaZoomMovement"),t&&Qc(e,e.enableRotate,e.translateEventTypes,gbe,e.inertiaSpin,"_lastInertiaSpinMovement"))}var wbe=new _n,kyt=new h,Vyt=new h;function E_(e,t,n){let i=e._scene,o=e._globe,r=i.camera,s;if(i.pickPositionSupported&&(s=i.pickPositionWorldCoordinates(t,kyt)),!l(o))return h.clone(s,n);let a=!e._cameraUnderground,c=r.getPickRay(t,wbe),u=o.pickWorldCoordinates(c,i,a,Vyt),f=l(s)?h.distance(s,r.positionWC):Number.POSITIVE_INFINITY,d=l(u)?h.distance(u,r.positionWC):Number.POSITIVE_INFINITY;return f<d?h.clone(s,n):h.clone(u,n)}var Uyt=new fe;function NH(e){let t=e._ellipsoid,n=e._scene,i=n.camera,o=n.mode,r=0;if(o===ne.SCENE3D){let c=t.cartesianToCartographic(i.position,Uyt);l(c)&&(r=c.height)}else r=i.position.z;let s=y(e._scene.globeHeight,0);return Math.abs(s-r)}var zyt=new h;function vbe(e,t){let n=t.origin,i=t.direction,o=NH(e),r=h.normalize(n,zyt),s=Math.abs(h.dot(r,i));return s=Math.max(s,.5)*2,o*s}function Dbe(e,t,n,i){let o=h.distance(t.origin,n),r=NH(e),s=P.clamp(r*5,e._minimumUndergroundPickDistance,e._maximumUndergroundPickDistance);return o>s&&(o=Math.min(o,r/5),o=Math.max(o,100)),_n.getPoint(t,o,i)}function Ibe(e,t,n,i){let o;return l(n)?(o=h.distance(t.origin,n),o>e._maximumUndergroundPickDistance&&(o=NH(e))):o=NH(e),_n.getPoint(t,o,i)}var Hyt=new U;function Pbe(e,t){let n=t.endPosition,i=U.subtract(t.endPosition,t.startPosition,Hyt),o=e._strafeEndMousePosition;U.add(o,i,o),t.endPosition=o,PK(e,t,e._strafeStartPosition),t.endPosition=n}var ybe=new _n,Gyt=new _n,CK=new h,Wyt=new h,jyt=new h,qyt=new h,Yyt=new cn(h.UNIT_X,0),Xyt=new U,Kyt=new U;function $yt(e,t,n){if(h.equals(t,e._translateMousePosition)||(e._looking=!1),h.equals(t,e._strafeMousePosition)||(e._strafing=!1),e._looking){Lu(e,t,n);return}if(e._strafing){Pbe(e,n);return}let o=e._scene.camera,r=e._cameraUnderground,s=U.clone(n.startPosition,Xyt),a=U.clone(n.endPosition,Kyt),c=o.getPickRay(s,ybe),u=h.clone(h.ZERO,qyt),f=h.UNIT_X,d;if(o.position.z<e._minimumPickingTerrainHeight&&(d=E_(e,s,CK),l(d)&&(u.x=d.x)),r||u.x>o.position.z&&l(d)){let A=d;r&&(A=Ibe(e,c,d,CK)),U.clone(t,e._strafeMousePosition),U.clone(t,e._strafeEndMousePosition),h.clone(A,e._strafeStartPosition),e._strafing=!0,PK(e,n,e._strafeStartPosition);return}let p=cn.fromPointNormal(u,f,Yyt);c=o.getPickRay(s,ybe);let g=Jn.rayPlane(c,p,CK),m=o.getPickRay(a,Gyt),x=Jn.rayPlane(m,p,Wyt);if(!l(g)||!l(x)){e._looking=!0,Lu(e,t,n),U.clone(t,e._translateMousePosition);return}let b=h.subtract(g,x,jyt),T=b.x;b.x=b.y,b.y=b.z,b.z=T;let C=h.magnitude(b);C>P.EPSILON6&&(h.normalize(b,b),o.move(b,C))}var Rbe=new U,RH=new _n,OH=new h,Zyt=new h,Obe=new F,Qyt=new F,Jyt=new h,e0t=new cn(h.UNIT_X,0),AK=new h,wK=new fe,Mbe=new F,t0t=new Ne,n0t=new Z,MH=new h;function i0t(e,t,n){if(l(n.angleAndHeight)&&(n=n.angleAndHeight),U.equals(t,e._tiltCenterMousePosition)||(e._tiltCVOffMap=!1,e._looking=!1),e._looking){Lu(e,t,n);return}let o=e._scene.camera;e._tiltCVOffMap||!e.onMap()||Math.abs(o.position.z)>e._minimumPickingTerrainHeight?(e._tiltCVOffMap=!0,o0t(e,t,n)):r0t(e,t,n)}function o0t(e,t,n){let i=e._scene,o=i.camera,r=i.canvas,s=Rbe;s.x=r.clientWidth/2,s.y=r.clientHeight/2;let a=o.getPickRay(s,RH),c=h.UNIT_X,u=a.origin,f=a.direction,d,p=h.dot(c,f);if(Math.abs(p)>P.EPSILON6&&(d=-h.dot(c,u)/p),!l(d)||d<=0){e._looking=!0,Lu(e,t,n),U.clone(t,e._tiltCenterMousePosition);return}let g=h.multiplyByScalar(f,d,OH);h.add(u,g,g);let m=i.mapProjection,x=m.ellipsoid;h.fromElements(g.y,g.z,g.x,g);let b=m.unproject(g,wK);x.cartographicToCartesian(b,g);let T=Bt.eastNorthUpToFixedFrame(g,x,Obe),C=e._globe,A=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let S=F.clone(o.transform,Mbe);o._setTransform(T),Mu(e,t,n,h.UNIT_Z),o._setTransform(S),e._globe=C,e._ellipsoid=A;let w=A.maximumRadius;e._rotateFactor=1/w,e._rotateRateRangeAdjustment=w}function r0t(e,t,n){let i=e._scene,o=i.camera,r=e._cameraUnderground,s,a,c=h.UNIT_X;if(U.equals(t,e._tiltCenterMousePosition))s=h.clone(e._tiltCenter,OH);else{if(o.position.z<e._minimumPickingTerrainHeight&&(s=E_(e,t,OH)),!l(s)){a=o.getPickRay(t,RH);let _=a.origin,E=a.direction,v,I=h.dot(c,E);if(Math.abs(I)>P.EPSILON6&&(v=-h.dot(c,_)/I),!l(v)||v<=0){e._looking=!0,Lu(e,t,n),U.clone(t,e._tiltCenterMousePosition);return}s=h.multiplyByScalar(E,v,OH),h.add(_,s,s)}r&&(l(a)||(a=o.getPickRay(t,RH)),Dbe(e,a,s,s)),U.clone(t,e._tiltCenterMousePosition),h.clone(s,e._tiltCenter)}let u=i.canvas,f=Rbe;f.x=u.clientWidth/2,f.y=e._tiltCenterMousePosition.y,a=o.getPickRay(f,RH);let d=h.clone(h.ZERO,Jyt);d.x=s.x;let p=cn.fromPointNormal(d,c,e0t),g=Jn.rayPlane(a,p,Zyt),m=o._projection,x=m.ellipsoid;h.fromElements(s.y,s.z,s.x,s);let b=m.unproject(s,wK);x.cartographicToCartesian(b,s);let T=Bt.eastNorthUpToFixedFrame(s,x,Obe),C;l(g)?(h.fromElements(g.y,g.z,g.x,g),b=m.unproject(g,wK),x.cartographicToCartesian(b,g),C=Bt.eastNorthUpToFixedFrame(g,x,Qyt)):C=T;let A=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let w=h.UNIT_Z,D=F.clone(o.transform,Mbe);o._setTransform(T);let O=h.cross(h.UNIT_Z,h.normalize(o.position,AK),AK),R=h.dot(o.right,O);if(Mu(e,t,n,w,!1,!0),o._setTransform(C),R<0){let _=n.startPosition.y-n.endPosition.y;(r&&_<0||!r&&_>0)&&(w=void 0);let E=o.constrainedAxis;o.constrainedAxis=void 0,Mu(e,t,n,w,!0,!1),o.constrainedAxis=E}else Mu(e,t,n,w,!0,!1);if(l(o.constrainedAxis)){let _=h.cross(o.direction,o.constrainedAxis,MH);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,o.right)<0&&h.negate(_,_),h.cross(_,o.direction,o.up),h.cross(o.direction,o.up,o.right),h.normalize(o.up,o.up),h.normalize(o.right,o.right))}o._setTransform(D),e._globe=A,e._ellipsoid=S;let M=S.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let L=h.clone(o.positionWC,AK);if(e.enableCollisionDetection&&MK(e,!0),!h.equals(o.positionWC,L)){o._setTransform(C),o.worldToCameraCoordinatesPoint(L,L);let _=h.magnitudeSquared(L);h.magnitudeSquared(o.position)>_&&(h.normalize(o.position,o.position),h.multiplyByScalar(o.position,Math.sqrt(_),o.position));let E=h.angleBetween(L,o.position),v=h.cross(L,o.position,L);h.normalize(v,v);let I=Ne.fromAxisAngle(v,E,t0t),N=Z.fromQuaternion(I,n0t);Z.multiplyByVector(N,o.direction,o.direction),Z.multiplyByVector(N,o.up,o.up),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up),o._setTransform(D)}}var Lbe=new U,Nbe=new _n,Fbe=new h;function s0t(e,t,n){l(n.distance)&&(n=n.distance);let i=e._scene,o=i.camera,r=i.canvas,s=e._cameraUnderground,a;s?a=t:(a=Lbe,a.x=r.clientWidth/2,a.y=r.clientHeight/2);let c=o.getPickRay(a,Nbe),u=c.origin,f=c.direction,d=o.position.z,p;d<e._minimumPickingTerrainHeight&&(p=E_(e,a,Fbe));let g;if(l(p)&&(g=h.distance(u,p)),s){let m=vbe(e,c,d);l(g)?g=Math.min(g,m):g=m}if(!l(g)){let m=h.UNIT_X;g=-h.dot(m,u)/h.dot(m,f)}IK(e,t,n,e.zoomFactor,g)}function a0t(e){let n=e._scene.camera;if(!F.equals(F.IDENTITY,n.transform))Qc(e,e.enableRotate,e.rotateEventTypes,Mu,e.inertiaSpin,"_lastInertiaSpinMovement"),Qc(e,e.enableZoom,e.zoomEventTypes,kbe,e.inertiaZoom,"_lastInertiaZoomMovement");else{let i=e._tweens;if(e._aggregator.anyButtonDown&&i.removeAll(),Qc(e,e.enableTilt,e.tiltEventTypes,i0t,e.inertiaSpin,"_lastInertiaTiltMovement"),Qc(e,e.enableTranslate,e.translateEventTypes,$yt,e.inertiaTranslate,"_lastInertiaTranslateMovement"),Qc(e,e.enableZoom,e.zoomEventTypes,s0t,e.inertiaZoom,"_lastInertiaZoomMovement"),Qc(e,e.enableLook,e.lookEventTypes,Lu),!e._aggregator.anyButtonDown&&!i.contains(e._tween)){let o=n.createCorrectPositionTween(e.bounceAnimationTime);l(o)&&(e._tween=i.add(o))}i.update()}}var c0t=new _n,l0t=new cn(h.UNIT_X,0),u0t=new h,f0t=new h;function PK(e,t,n){let i=e._scene,o=i.camera,r=o.getPickRay(t.endPosition,c0t),s=h.clone(o.direction,f0t);i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.z,s.x,s.y,s);let a=cn.fromPointNormal(n,s,l0t),c=Jn.rayPlane(r,a,u0t);l(c)&&(s=h.subtract(n,c,s),i.mode===ne.COLUMBUS_VIEW&&h.fromElements(s.y,s.z,s.x,s),h.add(o.position,s,o.position))}var xbe=new h,Bbe=new fe,vK=new h,DK=new ee,d0t=new h,h0t=new h,m0t=new h;function p0t(e,t,n){let o=e._scene.camera,r=e._cameraUnderground,s=e._ellipsoid;if(!F.equals(o.transform,F.IDENTITY)){Mu(e,t,n);return}let a,c,u=s.geodeticSurfaceNormal(o.position,d0t);if(U.equals(t,e._rotateMousePosition)){if(e._looking)Lu(e,t,n,u);else if(e._rotating)Mu(e,t,n);else if(e._strafing)Pbe(e,n);else{if(h.magnitude(o.position)<h.magnitude(e._rotateStartPosition))return;a=h.magnitude(e._rotateStartPosition),c=vK,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,DK),SK(e,t,n,s)}return}e._looking=!1,e._rotating=!1,e._strafing=!1;let f=s.cartesianToCartographic(o.positionWC,Bbe).height,d=e._globe;if(l(d)&&f<e._minimumPickingTerrainHeight){let p=E_(e,n.startPosition,m0t);if(l(p)){let g=!1,m=o.getPickRay(n.startPosition,wbe);if(r)g=!0,Ibe(e,m,p,p);else{let x=s.geodeticSurfaceNormal(p,h0t);Math.abs(h.dot(m.direction,x))<.05?g=!0:g=h.magnitude(o.position)<h.magnitude(p)}g?(U.clone(t,e._strafeEndMousePosition),h.clone(p,e._strafeStartPosition),e._strafing=!0,PK(e,n,e._strafeStartPosition)):(a=h.magnitude(p),c=vK,c.x=c.y=c.z=a,s=ee.fromCartesian3(c,DK),SK(e,t,n,s),h.clone(p,e._rotateStartPosition))}else e._looking=!0,Lu(e,t,n,u)}else l(o.pickEllipsoid(n.startPosition,e._ellipsoid,xbe))?(SK(e,t,n,e._ellipsoid),h.clone(xbe,e._rotateStartPosition)):f>e._minimumTrackBallHeight?(e._rotating=!0,Mu(e,t,n)):(e._looking=!0,Lu(e,t,n,u));U.clone(t,e._rotateMousePosition)}function Mu(e,t,n,i,o,r){o=y(o,!1),r=y(r,!1);let s=e._scene,a=s.camera,c=s.canvas,u=a.constrainedAxis;l(i)&&(a.constrainedAxis=i);let f=h.magnitude(a.position),d=e._rotateFactor*(f-e._rotateRateRangeAdjustment);d>e._maximumRotateRate&&(d=e._maximumRotateRate),d<e._minimumRotateRate&&(d=e._minimumRotateRate);let p=(n.startPosition.x-n.endPosition.x)/c.clientWidth,g=(n.startPosition.y-n.endPosition.y)/c.clientHeight;p=Math.min(p,e.maximumMovementRatio),g=Math.min(g,e.maximumMovementRatio);let m=d*p*Math.PI*2,x=d*g*Math.PI;if(l(i)&&l(e.maximumTiltAngle)){let b=e.maximumTiltAngle,T=h.dot(a.direction,i),C=Math.PI-Math.acos(T)+x;C>b&&(x-=C-b)}o||a.rotateRight(m),r||a.rotateUp(x),a.constrainedAxis=u}var EK=oe.clone(oe.UNIT_W),bbe=oe.clone(oe.UNIT_W),IH=new h,fS=new h,PH=new h,Tbe=new h,_0t=new U,g0t=new U,y0t=new U,x0t=new U,b0t=new _n;function SK(e,t,n,i){let o=e._scene,r=o.camera,s=U.clone(n.startPosition,_0t),a=U.clone(n.endPosition,g0t),c=i.cartesianToCartographic(r.positionWC,Bbe).height,u,f;if(!n.inertiaEnabled&&c<e._minimumPickingTerrainHeight&&(u=h.clone(e._panLastWorldPosition,EK),!l(e._globe)&&!U.equalsEpsilon(s,e._panLastMousePosition)&&(u=E_(e,s,EK)),!l(e._globe)&&l(u))){let d=h.subtract(u,r.positionWC,fS),p=h.multiplyByScalar(r.directionWC,h.dot(r.directionWC,d),fS),g=h.magnitude(p),m=r.frustum.getPixelDimensions(o.drawingBufferWidth,o.drawingBufferHeight,g,o.pixelRatio,x0t),x=U.subtract(a,s,y0t),b=h.multiplyByScalar(r.rightWC,x.x*m.x,fS),T=h.normalize(r.positionWC,Sbe),C=r.getPickRay(a,b0t).direction,A=h.subtract(C,h.projectVector(C,r.rightWC,PH),PH),S=h.angleBetween(A,r.directionWC),w=1;l(r.frustum.fov)&&(w=Math.max(Math.tan(S),.1));let D=Math.abs(h.dot(r.directionWC,T)),O=-x.y*m.y*2/Math.sqrt(w)*(1-D),R=h.multiplyByScalar(C,O,PH);D=Math.abs(h.dot(r.upWC,T));let M=h.multiplyByScalar(r.upWC,-x.y*(1-D)*m.y,Tbe);f=h.add(u,b,bbe),f=h.add(f,R,f),f=h.add(f,M,f),h.clone(f,e._panLastWorldPosition),U.clone(a,e._panLastMousePosition)}if((!l(u)||!l(f))&&(u=r.pickEllipsoid(s,i,EK),f=r.pickEllipsoid(a,i,bbe)),!l(u)||!l(f)){e._rotating=!0,Mu(e,t,n);return}if(u=r.worldToCameraCoordinates(u,u),f=r.worldToCameraCoordinates(f,f),l(r.constrainedAxis)){let d=r.constrainedAxis,p=h.mostOrthogonalAxis(d,IH);h.cross(p,d,p),h.normalize(p,p);let g=h.cross(d,p,fS),m=h.magnitude(u),x=h.dot(d,u),b=Math.acos(x/m),T=h.multiplyByScalar(d,x,PH);h.subtract(u,T,T),h.normalize(T,T);let C=h.magnitude(f),A=h.dot(d,f),S=Math.acos(A/C),w=h.multiplyByScalar(d,A,Tbe);h.subtract(f,w,w),h.normalize(w,w);let D=Math.acos(h.dot(T,p));h.dot(T,g)<0&&(D=P.TWO_PI-D);let O=Math.acos(h.dot(w,p));h.dot(w,g)<0&&(O=P.TWO_PI-O);let R=D-O,M;h.equalsEpsilon(d,r.position,P.EPSILON2)?M=r.right:M=h.cross(d,r.position,IH);let L=h.cross(d,M,IH),_=h.dot(L,h.subtract(u,d,fS)),E=h.dot(L,h.subtract(f,d,fS)),v;_>0&&E>0?v=S-b:_>0&&E<=0?h.dot(r.position,d)>0?v=-b-S:v=b+S:v=b-S,r.rotateRight(R),r.rotateUp(v)}else{h.normalize(u,u),h.normalize(f,f);let d=h.dot(u,f),p=h.cross(u,f,IH);if(d<1&&!h.equalsEpsilon(p,h.ZERO,P.EPSILON14)){let g=Math.acos(d);r.rotate(p,g)}}}var T0t=new h,C0t=new fe,Cbe=0;function kbe(e,t,n){l(n.distance)&&(n=n.distance);let i=n.inertiaEnabled,o=e._ellipsoid,r=e._scene,s=r.camera,a=r.canvas,c=e._cameraUnderground,u;c?u=t:(u=Lbe,u.x=a.clientWidth/2,u.y=a.clientHeight/2);let f=s.getPickRay(u,Nbe),d,p=o.cartesianToCartographic(s.position,C0t).height,g=Math.abs(Cbe)<e.minimumPickingTerrainDistanceWithInertia;(i?g:p<e._minimumPickingTerrainHeight)&&(d=E_(e,u,Fbe));let x;if(l(d)&&(x=h.distance(f.origin,d),Cbe=x),c){let T=vbe(e,f,p);l(x)?x=Math.min(x,T):x=T}l(x)||(x=p);let b=h.normalize(s.position,T0t);IK(e,t,n,e.zoomFactor,x,h.dot(b,s.direction))}var Vbe=new U,LH=new _n,gP=new h,A0t=new h,Ube=new F,E0t=new F,zbe=new F,S0t=new Ne,w0t=new Z,RK=new fe,OK=new h;function v0t(e,t,n){let o=e._scene.camera;if(!F.equals(o.transform,F.IDENTITY))return;if(l(n.angleAndHeight)&&(n=n.angleAndHeight),U.equals(t,e._tiltCenterMousePosition)||(e._tiltOnEllipsoid=!1,e._looking=!1),e._looking){let a=e._ellipsoid.geodeticSurfaceNormal(o.position,OK);Lu(e,t,n,a);return}let s=e._ellipsoid.cartesianToCartographic(o.position,RK);e._tiltOnEllipsoid||s.height>e._minimumCollisionTerrainHeight?(e._tiltOnEllipsoid=!0,I0t(e,t,n)):P0t(e,t,n)}var D0t=new fe;function I0t(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e.minimumZoomDistance*.25,a=i.cartesianToCartographic(r.positionWC,D0t).height;if(a-s-1<P.EPSILON3&&n.endPosition.y-n.startPosition.y<0)return;let c=o.canvas,u=Vbe;u.x=c.clientWidth/2,u.y=c.clientHeight/2;let f=r.getPickRay(u,LH),d,p=Jn.rayEllipsoid(f,i);if(l(p))d=_n.getPoint(f,p.start,gP);else if(a>e._minimumTrackBallHeight){let C=Jn.grazingAltitudeLocation(f,i);if(!l(C))return;let A=i.cartesianToCartographic(C,RK);A.height=0,d=i.cartographicToCartesian(A,gP)}else{e._looking=!0;let C=e._ellipsoid.geodeticSurfaceNormal(r.position,OK);Lu(e,t,n,C),U.clone(t,e._tiltCenterMousePosition);return}let g=Bt.eastNorthUpToFixedFrame(d,i,Ube),m=e._globe,x=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let b=F.clone(r.transform,zbe);r._setTransform(g),Mu(e,t,n,h.UNIT_Z),r._setTransform(b),e._globe=m,e._ellipsoid=x;let T=x.maximumRadius;e._rotateFactor=1/T,e._rotateRateRangeAdjustment=T}function P0t(e,t,n){let i=e._ellipsoid,o=e._scene,r=o.camera,s=e._cameraUnderground,a,c,u;if(U.equals(t,e._tiltCenterMousePosition))a=h.clone(e._tiltCenter,gP);else{if(a=E_(e,t,gP),!l(a)){if(c=r.getPickRay(t,LH),u=Jn.rayEllipsoid(c,i),!l(u)){if(i.cartesianToCartographic(r.position,RK).height<=e._minimumTrackBallHeight){e._looking=!0;let E=e._ellipsoid.geodeticSurfaceNormal(r.position,OK);Lu(e,t,n,E),U.clone(t,e._tiltCenterMousePosition)}return}a=_n.getPoint(c,u.start,gP)}s&&(l(c)||(c=r.getPickRay(t,LH)),Dbe(e,c,a,a)),U.clone(t,e._tiltCenterMousePosition),h.clone(a,e._tiltCenter)}let f=o.canvas,d=Vbe;d.x=f.clientWidth/2,d.y=e._tiltCenterMousePosition.y,c=r.getPickRay(d,LH);let p=h.magnitude(a),g=h.fromElements(p,p,p,vK),m=ee.fromCartesian3(g,DK);if(u=Jn.rayEllipsoid(c,m),!l(u))return;let x=h.magnitude(c.origin)>p?u.start:u.stop,b=_n.getPoint(c,x,A0t),T=Bt.eastNorthUpToFixedFrame(a,i,Ube),C=Bt.eastNorthUpToFixedFrame(b,m,E0t),A=e._globe,S=e._ellipsoid;e._globe=void 0,e._ellipsoid=ee.UNIT_SPHERE,e._rotateFactor=1,e._rotateRateRangeAdjustment=1;let w=h.UNIT_Z,D=F.clone(r.transform,zbe);r._setTransform(C);let O=h.cross(b,r.positionWC,MH);if(h.dot(r.rightWC,O)<0){let _=n.startPosition.y-n.endPosition.y;(s&&_<0||!s&&_>0)&&(w=void 0);let E=r.constrainedAxis;r.constrainedAxis=void 0,Mu(e,t,n,w,!0,!1),r.constrainedAxis=E}else Mu(e,t,n,w,!0,!1);if(r._setTransform(T),Mu(e,t,n,w,!1,!0),l(r.constrainedAxis)){let _=h.cross(r.direction,r.constrainedAxis,MH);h.equalsEpsilon(_,h.ZERO,P.EPSILON6)||(h.dot(_,r.right)<0&&h.negate(_,_),h.cross(_,r.direction,r.up),h.cross(r.direction,r.up,r.right),h.normalize(r.up,r.up),h.normalize(r.right,r.right))}r._setTransform(D),e._globe=A,e._ellipsoid=S;let M=S.maximumRadius;e._rotateFactor=1/M,e._rotateRateRangeAdjustment=M;let L=h.clone(r.positionWC,MH);if(e.enableCollisionDetection&&MK(e,!0),!h.equals(r.positionWC,L)){r._setTransform(C),r.worldToCameraCoordinatesPoint(L,L);let _=h.magnitudeSquared(L);h.magnitudeSquared(r.position)>_&&(h.normalize(r.position,r.position),h.multiplyByScalar(r.position,Math.sqrt(_),r.position));let E=h.angleBetween(L,r.position),v=h.cross(L,r.position,L);h.normalize(v,v);let I=Ne.fromAxisAngle(v,E,S0t),N=Z.fromQuaternion(I,w0t);Z.multiplyByVector(N,r.direction,r.direction),Z.multiplyByVector(N,r.up,r.up),h.cross(r.direction,r.up,r.right),h.cross(r.right,r.direction,r.up),r._setTransform(D)}}var R0t=new U,O0t=new U,Abe=new _n,Ebe=new _n,M0t=new h,L0t=new h;function Lu(e,t,n,i){let r=e._scene.camera,s=R0t;s.x=n.startPosition.x,s.y=0;let a=O0t;a.x=n.endPosition.x,a.y=0;let c=r.getPickRay(s,Abe),u=r.getPickRay(a,Ebe),f=0,d,p;r.frustum instanceof an?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction);let g=h.dot(d,p);g<1&&(f=Math.acos(g)),f=n.startPosition.x>n.endPosition.x?-f:f;let m=e._horizontalRotationAxis;if(l(i)?r.look(i,-f):l(m)?r.look(m,-f):r.lookLeft(f),s.x=0,s.y=n.startPosition.y,a.x=0,a.y=n.endPosition.y,c=r.getPickRay(s,Abe),u=r.getPickRay(a,Ebe),f=0,r.frustum instanceof an?(d=c.origin,p=u.origin,h.add(r.direction,d,d),h.add(r.direction,p,p),h.subtract(d,r.position,d),h.subtract(p,r.position,p),h.normalize(d,d),h.normalize(p,p)):(d=c.direction,p=u.direction),g=h.dot(d,p),g<1&&(f=Math.acos(g)),f=n.startPosition.y>n.endPosition.y?-f:f,i=y(i,m),l(i)){let x=r.direction,b=h.negate(i,M0t),T=h.equalsEpsilon(x,i,P.EPSILON2),C=h.equalsEpsilon(x,b,P.EPSILON2);if(!T&&!C){g=h.dot(x,i);let A=P.acosClamped(g);f>0&&f>A&&(f=A-P.EPSILON4),g=h.dot(x,b),A=P.acosClamped(g),f<0&&-f>A&&(f=-A+P.EPSILON4);let S=h.cross(i,x,L0t);r.look(S,f)}else(T&&f<0||C&&f>0)&&r.look(r.right,-f)}else r.lookUp(f)}function N0t(e){Qc(e,e.enableRotate,e.rotateEventTypes,p0t,e.inertiaSpin,"_lastInertiaSpinMovement"),Qc(e,e.enableZoom,e.zoomEventTypes,kbe,e.inertiaZoom,"_lastInertiaZoomMovement"),Qc(e,e.enableTilt,e.tiltEventTypes,v0t,e.inertiaSpin,"_lastInertiaTiltMovement"),Qc(e,e.enableLook,e.lookEventTypes,Lu)}var F0t=new F,B0t=new fe;function MK(e,t){e._adjustedHeightForTerrain=!0;let n=e._scene,i=n.mode;if(i===ne.SCENE2D||i===ne.MORPHING)return;let o=n.camera,r=y(n.ellipsoid,ee.WGS84),s=n.mapProjection,a,c;F.equals(o.transform,F.IDENTITY)||(a=F.clone(o.transform,F0t),c=h.magnitude(o.position),o._setTransform(F.IDENTITY));let u=B0t;i===ne.SCENE3D?r.cartesianToCartographic(o.position,u):s.unproject(o.position,u);let f=!1;if(u.height<e._minimumCollisionTerrainHeight){let d=e._scene.globeHeight;if(l(d)){let p=d+e.minimumZoomDistance,g=d-e._lastGlobeHeight,m=g/e._lastGlobeHeight;u.height<p&&(t||Math.abs(m)<=.1)&&(u.height=p,i===ne.SCENE3D?r.cartographicToCartesian(u,o.position):s.project(u,o.position),f=!0),t||Math.abs(m)<=.1?e._lastGlobeHeight=d:e._lastGlobeHeight+=g*.1}}l(a)&&(o._setTransform(a),f&&(h.normalize(o.position,o.position),h.negate(o.position,o.direction),h.multiplyByScalar(o.position,Math.max(c,e.minimumZoomDistance),o.position),h.normalize(o.direction,o.direction),h.cross(o.direction,o.up,o.right),h.cross(o.right,o.direction,o.up)))}yP.prototype.onMap=function(){let e=this._scene,t=e.mode,n=e.camera;return t===ne.COLUMBUS_VIEW?Math.abs(n.position.x)-this._maxCoord.x<0&&Math.abs(n.position.y)-this._maxCoord.y<0:!0};var k0t=new h,V0t=new h;yP.prototype.update=function(){let e=this._scene,{camera:t,globe:n,mode:i}=e;F.equals(t.transform,F.IDENTITY)?(this._globe=n,this._ellipsoid=y(e.ellipsoid,ee.default)):(this._globe=void 0,this._ellipsoid=ee.UNIT_SPHERE);let{verticalExaggeration:o,verticalExaggerationRelativeHeight:r}=e;this._minimumCollisionTerrainHeight=Dr.getHeight(this.minimumCollisionTerrainHeight,o,r),this._minimumPickingTerrainHeight=Dr.getHeight(this.minimumPickingTerrainHeight,o,r),this._minimumTrackBallHeight=Dr.getHeight(this.minimumTrackBallHeight,o,r),this._cameraUnderground=e.cameraUnderground&&l(this._globe);let s=this._ellipsoid.maximumRadius;this._rotateFactor=1/s,this._rotateRateRangeAdjustment=s,this._adjustedHeightForTerrain=!1;let a=h.clone(t.positionWC,k0t),c=h.clone(t.directionWC,V0t);if(i===ne.SCENE2D?Byt(this):i===ne.COLUMBUS_VIEW?(this._horizontalRotationAxis=h.UNIT_Z,a0t(this)):i===ne.SCENE3D&&(this._horizontalRotationAxis=void 0,N0t(this)),this.enableCollisionDetection&&!this._adjustedHeightForTerrain){let u=!h.equals(a,t.positionWC)||!h.equals(c,t.directionWC);MK(this,u)}this._aggregator.reset()};yP.prototype.isDestroyed=function(){return!1};yP.prototype.destroy=function(){return this._tweens.removeAll(),this._aggregator=this._aggregator&&this._aggregator.destroy(),ue(this)};var FH=yP;var BH=`uniform sampler2D colorTexture; -uniform sampler2D colorTexture2; +`;var wH=`// These octree flags must be in sync with GpuOctreeFlag in VoxelTraversal.js +#define OCTREE_FLAG_INTERNAL 0 +#define OCTREE_FLAG_LEAF 1 +#define OCTREE_FLAG_PACKED_LEAF_FROM_PARENT 2 -uniform vec2 center; -uniform float radius; +#define OCTREE_MAX_LEVELS 32 // Harcoded value because GLSL doesn't like variable length loops -in vec2 v_textureCoordinates; +uniform sampler2D u_octreeInternalNodeTexture; +uniform vec2 u_octreeInternalNodeTexelSizeUv; +uniform int u_octreeInternalNodeTilesPerRow; +#if (SAMPLE_COUNT > 1) +uniform sampler2D u_octreeLeafNodeTexture; +uniform vec2 u_octreeLeafNodeTexelSizeUv; +uniform int u_octreeLeafNodeTilesPerRow; +#endif -void main() -{ - vec4 color0 = texture(colorTexture, v_textureCoordinates); - vec4 color1 = texture(colorTexture2, v_textureCoordinates); +struct OctreeNodeData { + int data; + int flag; +}; - float x = length(gl_FragCoord.xy - center) / radius; - float t = smoothstep(0.5, 0.8, x); - out_FragColor = mix(color0 + color1, color1, t); +struct TraversalData { + ivec4 octreeCoords; + int parentOctreeIndex; +}; + +struct SampleData { + int megatextureIndex; + ivec4 tileCoords; + vec3 tileUv; + #if (SAMPLE_COUNT > 1) + float weight; + #endif +}; + +// Integer mod: For WebGL1 only +int intMod(in int a, in int b) { + return a - (b * (a / b)); +} +int normU8_toInt(in float value) { + return int(value * 255.0); +} +int normU8x2_toInt(in vec2 value) { + return int(value.x * 255.0) + 256 * int(value.y * 255.0); +} +float normU8x2_toFloat(in vec2 value) { + return float(normU8x2_toInt(value)) / 65535.0; } -`;var kH=`uniform sampler2D colorTexture; -uniform float avgLuminance; -uniform float threshold; -uniform float offset; +OctreeNodeData getOctreeNodeData(in vec2 octreeUv) { + vec4 texData = texture(u_octreeInternalNodeTexture, octreeUv); -in vec2 v_textureCoordinates; + OctreeNodeData data; + data.data = normU8x2_toInt(texData.xy); + data.flag = normU8x2_toInt(texData.zw); + return data; +} -float key(float avg) -{ - float guess = 1.5 - (1.5 / (avg * 0.1 + 1.0)); - return max(0.0, guess) + 0.1; +OctreeNodeData getOctreeChildData(in int parentOctreeIndex, in ivec3 childCoord) { + int childIndex = childCoord.z * 4 + childCoord.y * 2 + childCoord.x; + int octreeCoordX = intMod(parentOctreeIndex, u_octreeInternalNodeTilesPerRow) * 9 + 1 + childIndex; + int octreeCoordY = parentOctreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + return getOctreeNodeData(octreeUv); } -// See section 9. "The bright-pass filter" of Realtime HDR Rendering -// http://www.cg.tuwien.ac.at/research/publications/2007/Luksch_2007_RHR/Luksch_2007_RHR-RealtimeHDR%20.pdf +int getOctreeParentIndex(in int octreeIndex) { + int octreeCoordX = intMod(octreeIndex, u_octreeInternalNodeTilesPerRow) * 9; + int octreeCoordY = octreeIndex / u_octreeInternalNodeTilesPerRow; + vec2 octreeUv = u_octreeInternalNodeTexelSizeUv * vec2(float(octreeCoordX) + 0.5, float(octreeCoordY) + 0.5); + vec4 parentData = texture(u_octreeInternalNodeTexture, octreeUv); + int parentOctreeIndex = normU8x2_toInt(parentData.xy); + return parentOctreeIndex; +} -void main() -{ - vec4 color = texture(colorTexture, v_textureCoordinates); - vec3 xyz = czm_RGBToXYZ(color.rgb); - float luminance = xyz.r; +/** +* Convert a position in the uv-space of the tileset bounding shape +* into the uv-space of a tile within the tileset +*/ +vec3 getTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { + // PERFORMANCE_IDEA: use bit-shifting (only in WebGL2) + float dimAtLevel = exp2(float(octreeCoords.w)); + return shapePosition * dimAtLevel - vec3(octreeCoords.xyz); +} - float scaledLum = key(avgLuminance) * luminance / avgLuminance; - float brightLum = max(scaledLum - threshold, 0.0); - float brightness = brightLum / (offset + brightLum); +vec3 getClampedTileUv(in vec3 shapePosition, in ivec4 octreeCoords) { + vec3 tileUv = getTileUv(shapePosition, octreeCoords); + return clamp(tileUv, vec3(0.0), vec3(1.0)); +} - xyz.r = brightness; - out_FragColor = vec4(czm_XYZToRGB(xyz), 1.0); +void getOctreeLeafSampleData(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleData) { + sampleData.megatextureIndex = data.data; + sampleData.tileCoords = (data.flag == OCTREE_FLAG_PACKED_LEAF_FROM_PARENT) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; } -`;function S_(){this._sceneFramebuffer=new rS;let e=.125,t=new Array(6);t[0]=new mo({fragmentShader:Pu,textureScale:e,forcePowerOfTwo:!0,sampleMode:Hf.LINEAR});let n=t[1]=new mo({fragmentShader:kH,uniforms:{avgLuminance:.5,threshold:.25,offset:.1},textureScale:e,forcePowerOfTwo:!0}),i=this;this._delta=1,this._sigma=2,this._blurStep=new U,t[2]=new mo({fragmentShader:vb,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:0},textureScale:e,forcePowerOfTwo:!0}),t[3]=new mo({fragmentShader:vb,uniforms:{step:function(){return i._blurStep.x=i._blurStep.y=1/n.outputTexture.width,i._blurStep},delta:function(){return i._delta},sigma:function(){return i._sigma},direction:1},textureScale:e,forcePowerOfTwo:!0}),t[4]=new mo({fragmentShader:Pu,sampleMode:Hf.LINEAR}),this._uCenter=new U,this._uRadius=void 0,t[5]=new mo({fragmentShader:BH,uniforms:{center:function(){return i._uCenter},radius:function(){return i._uRadius},colorTexture2:function(){return i._sceneFramebuffer.framebuffer.getColorTexture(0)}}}),this._stages=new Bl({stages:t});let o=new lS(this),r=t.length;for(let s=0;s<r;++s)t[s]._textureCache=o;this._textureCache=o,this.length=t.length}S_.prototype.get=function(e){return this._stages.get(e)};S_.prototype.getStageByName=function(e){let t=this._stages.length;for(let n=0;n<t;++n){let i=this._stages.get(n);if(i.name===e)return i}};var U0t=new oe,Hbe=new U,z0t=new U,Gbe=new F;function H0t(e,t,n){let i=t.uniformState,o=i.sunPositionWC,r=i.view,s=i.viewProjection,a=i.projection,c=F.computeViewportTransformation(n,0,1,Gbe),u=F.multiplyByPoint(r,o,U0t),f=Bt.pointToGLWindowCoordinates(s,c,o,Hbe);u.x+=P.SOLAR_RADIUS;let d=Bt.pointToGLWindowCoordinates(a,c,u,u),p=U.magnitude(U.subtract(d,f,d))*30*2,g=z0t;g.x=p,g.y=p,e._uCenter=U.clone(f,e._uCenter),e._uRadius=Math.max(g.x,g.y)*.15;let m=t.drawingBufferWidth,x=t.drawingBufferHeight,b=e._stages,T=b.get(0),C=T.outputTexture.width,A=T.outputTexture.height,S=new qe;S.width=C,S.height=A,c=F.computeViewportTransformation(S,0,1,Gbe),f=Bt.pointToGLWindowCoordinates(s,c,o,Hbe),g.x*=C/m,g.y*=A/x;let w=T.scissorRectangle;w.x=Math.max(f.x-g.x*.5,0),w.y=Math.max(f.y-g.y*.5,0),w.width=Math.min(g.x,m),w.height=Math.min(g.y,x);for(let D=1;D<4;++D)qe.clone(w,b.get(D).scissorRectangle)}S_.prototype.clear=function(e,t,n){this._sceneFramebuffer.clear(e,t,n),this._textureCache.clear(e)};S_.prototype.update=function(e){let t=e.context,n=e.viewport,i=this._sceneFramebuffer;i.update(t,n);let o=i.framebuffer;return this._textureCache.update(t),this._stages.update(t,!1),H0t(this,t,n),o};S_.prototype.execute=function(e){let t=this._sceneFramebuffer.framebuffer.getColorTexture(0),n=this._stages,i=n.length;n.get(0).execute(e,t);for(let o=1;o<i;++o)n.get(o).execute(e,n.get(o-1).outputTexture)};S_.prototype.copy=function(e,t){if(!l(this._copyColorCommand)){let n=this;this._copyColorCommand=e.createViewportQuadCommand(Pu,{uniformMap:{colorTexture:function(){return n._stages.get(n._stages.length-1).outputTexture}},owner:this})}this._copyColorCommand.framebuffer=t,this._copyColorCommand.execute(e)};S_.prototype.isDestroyed=function(){return!1};S_.prototype.destroy=function(){return this._textureCache.destroy(),this._stages.destroy(),ue(this)};var VH=S_;function Ob(e,t,n){this._primitive=e,this._tileIndex=t,this._sampleIndex=n,this._metadata={},this._orientedBoundingBox=new In}Ob.fromKeyframeNode=function(e,t,n,i){let o=new Ob(e,t,n),{spatialNode:r,metadata:s}=i;return o._metadata=G0t(e,s,n),o._orientedBoundingBox=j0t(e,r,n,o._orientedBoundingBox),o};function G0t(e,t,n){if(!l(t))return;let{names:i,types:o}=e.provider,r={};for(let s=0;s<i.length;s++){let a=i[s],c=Et.getComponentCount(o[s]),u=t[s].slice(n*c,(n+1)*c);r[a]=u}return r}var Wbe=new h,W0t=new h;function j0t(e,t,n,i){let o=t.dimensions,r=o.x*o.y,s=Math.floor(n/r),a=n-s*r,c=Math.floor(a/o.x),u=a-c*o.x,f=h.fromElements(u,c,s,Wbe),d=h.divideComponents(h.subtract(f,e._paddingBefore,Wbe),e.dimensions,W0t);return e._shape.computeOrientedBoundingBoxForSample(t,e.dimensions,d,i)}Object.defineProperties(Ob.prototype,{metadata:{get:function(){return this._metadata}},primitive:{get:function(){return this._primitive}},sampleIndex:{get:function(){return this._sampleIndex}},tileIndex:{get:function(){return this._tileIndex}},orientedBoundingBox:{get:function(){return this._orientedBoundingBox.clone()}}});Ob.prototype.hasProperty=function(e){return l(this._metadata[e])};Ob.prototype.getNames=function(){return Object.keys(this._metadata)};Ob.prototype.getProperty=function(e){return this._metadata[e]};var UH=Ob;function jf(e,t,n,i,o,r,s){this.children=void 0,this.parent=o,this.level=e,this.x=t,this.y=n,this.z=i,this.dimensions=h.clone(s),this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new In,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(r)}var q0t=new h;jf.prototype.computeBoundingVolumes=function(e){this.orientedBoundingBox=e.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let t=Z.getScale(this.orientedBoundingBox.halfAxes,q0t),n=2*h.maximumComponent(t);this.approximateVoxelSize=n/h.minimumComponent(this.dimensions)};jf.prototype.constructChildNodes=function(e){let{level:t,x:n,y:i,z:o}=this,r=n*2,s=i*2,a=o*2,c=s+1,u=r+1,f=a+1,d=t+1,p=[[d,r,s,a],[d,u,s,a],[d,r,c,a],[d,u,c,a],[d,r,s,f],[d,u,s,f],[d,r,c,f],[d,u,c,f]];this.children=p.map(([g,m,x,b])=>new jf(g,m,x,b,this,e,this.dimensions))};jf.prototype.visibility=function(e,t){let n=this.orientedBoundingBox;return e.cullingVolume.computeVisibilityWithPlaneMask(n,t)};jf.prototype.computeScreenSpaceError=function(e,t){let n=this.orientedBoundingBox,i=Math.sqrt(n.distanceSquaredTo(e));i=Math.max(i,P.EPSILON7);let o=this.approximateVoxelSize,r=t*(o/i);this.screenSpaceError=r};var jbe={keyframe:0};function xP(e,t){return jbe.keyframe=e,Po(t,jbe,Ji.searchComparator)}jf.prototype.computeSurroundingRenderableKeyframeNodes=function(e){let t=this,n=t.level,i=Math.floor(e),o=Math.ceil(e),r,s,a=+Number.MAX_VALUE,c=+Number.MAX_VALUE;for(;l(t);){let{renderableKeyframeNodes:d}=t;if(d.length>=1){let p=Y0t(i,d),g=d[p],m=o===i||i<g.keyframe?p:Math.min(p+1,d.length-1),x=d[m],b=i-g.keyframe,T=qbe(n-t.level,b);T<a&&(a=T,r=g);let C=x.keyframe-o,A=qbe(n-t.level,C);if(A<c&&(c=A,s=x),b===0&&C===0)break}t=t.parent}if(this.renderableKeyframeNodePrevious=r,this.renderableKeyframeNodeNext=s,!l(r)||!l(s))return;let u=r.keyframe,f=s.keyframe;this.renderableKeyframeNodeLerp=u===f?0:P.clamp((e-u)/(f-u),0,1)};function Y0t(e,t){let n=xP(e,t);return n<0?P.clamp(~n-1,0,t.length-1):n}function qbe(e,t){let n=Math.exp(e*4),i=t>=0?1:-200;return e*n+t*i}jf.prototype.isVisited=function(e){return this.visitedFrameNumber===e};jf.prototype.createKeyframeNode=function(e){let t=xP(e,this.keyframeNodes);if(t<0){t=~t;let n=new Ji(this,e);this.keyframeNodes.splice(t,0,n)}};jf.prototype.destroyKeyframeNode=function(e,t){let n=e.keyframe,i=xP(n,this.keyframeNodes);if(i<0)throw new de("Keyframe node does not exist.");if(this.keyframeNodes.splice(i,1),e.megatextureIndex!==-1){for(let r=0;r<t.length;r++)t[r].remove(e.megatextureIndex);let o=xP(n,this.renderableKeyframeNodes);if(o<0)throw new de("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(o,1)}e.spatialNode=void 0,e.state=Ji.LoadState.UNLOADED,e.metadata={},e.megatextureIndex=-1,e.priority=-Number.MAX_VALUE,e.highPriorityFrameNumber=-1};jf.prototype.addKeyframeNodeToMegatextures=function(e,t){if(e.state!==Ji.LoadState.RECEIVED||e.megatextureIndex!==-1||e.metadata.length!==t.length)throw new de("Keyframe node cannot be added to megatexture");for(let o=0;o<t.length;o++){let r=t[o];e.megatextureIndex=r.add(e.metadata[o])}e.state=Ji.LoadState.LOADED;let n=this.renderableKeyframeNodes,i=xP(e.keyframe,n);if(i>=0)throw new de("Keyframe already renderable");i=~i,n.splice(i,0,e)};jf.prototype.isRenderable=function(e){let t=this.renderableKeyframeNodePrevious,n=this.renderableKeyframeNodeNext,i=this.level;return l(t)&&l(n)&&(t.spatialNode.level===i||n.spatialNode.level===i)&&this.visitedFrameNumber===e};var zH=jf;function w_(e,t,n,i,o,r,s){this._primitive=e,this.megatextures=new Array(i.length);for(let m=0;m<i.length;m++){let x=i[m],b=Et.getComponentCount(x),T=o[m];this.megatextures[m]=new iP(t,n,b,T,s)}let a=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let c=e._shape;this.rootNode=new zH(0,0,0,0,void 0,c,n),this._priorityQueue=new OE({maximumLength:a,comparator:Ji.priorityComparator}),this._highPriorityKeyframeNodes=new Array(a),this._keyframeNodesInMegatexture=new Array(a),this._keyframeCount=r,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(r);let u=this._binaryTreeKeyframeWeighting;u[0]=0,u[r-1]=0,LK(u,1,r-2,0);let f=9,d=2048,p=Math.floor(d/f),g=Math.ceil(a/p);this.internalNodeTexture=new Mt({context:t,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,flipY:!1,width:d,height:g,sampler:new tn({minificationFilter:en.NEAREST,magnificationFilter:fi.NEAREST})}),this.internalNodeTilesPerRow=p,this.internalNodeTexelSizeUv=new U(1/d,1/g),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new U}w_.prototype.findKeyframeNode=function(e){return this._keyframeNodesInMegatexture.find(function(t){return t.megatextureIndex===e})};function LK(e,t,n,i){if(t>n)return;let o=Math.floor((t+n)/2);e[o]=i,LK(e,t,o-1,i+1),LK(e,o+1,n,i+1)}w_.simultaneousRequestCountMaximum=50;w_.prototype.update=function(e,t,n,i){let o=this._primitive,r=e.context,s=this.megatextures[0].maximumTileCount,a=this._keyframeCount,c=o._levelBlendFactor,u=c>0,f=a>1,d=(u?2:1)*(f?2:1);this._sampleCount=d;let p=d>=2;if(p&&!l(this.leafNodeTexture)){let C=Math.floor(512),A=Math.ceil(s/C);this.leafNodeTexture=new Mt({context:r,pixelFormat:ct.RGBA,pixelDatatype:nt.UNSIGNED_BYTE,flipY:!1,width:1024,height:A,sampler:new tn({minificationFilter:en.NEAREST,magnificationFilter:fi.NEAREST})}),this.leafNodeTexelSizeUv=U.fromElements(1/1024,1/A,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=C}else!p&&l(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=P.clamp(t,0,a-1),n&&Ybe(this,this.rootNode),i)return;this._frameNumber=e.frameNumber;let g=Ti();$0t(this,e);let m=Ti();J0t(this,d,c);let x=Ti();if(this._debugPrint){let b=m-g,T=x-m,C=x-g;Q0t(this,b,T,C)}};w_.prototype.isRenderable=function(e){return e.isRenderable(this._frameNumber)};w_.prototype.isDestroyed=function(){return!1};w_.prototype.destroy=function(){let e=this.megatextures,t=e.length;for(let n=0;n<t;n++)e[n]=e[n]&&e[n].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),ue(this)};function Ybe(e,t){if(t.computeBoundingVolumes(e._primitive._shape),l(t.children))for(let n=0;n<8;n++){let i=t.children[n];Ybe(e,i)}}function X0t(e,t){if(e._simultaneousRequestCount>=w_.simultaneousRequestCountMaximum)return;let n=e._primitive._provider;function i(c){e._simultaneousRequestCount--;let u=n.types.length;if(!l(c))t.state=Ji.LoadState.UNAVAILABLE;else if(c===Ji.LoadState.FAILED)t.state=Ji.LoadState.FAILED;else if(!Array.isArray(c)||c.length!==u)t.state=Ji.LoadState.FAILED;else{let f=e.megatextures;for(let d=0;d<u;d++){let{voxelCountPerTile:p,channelCount:g}=f[d],{x:m,y:x,z:b}=p,T=m*x*b,C=c[d],A=T*g;if(C.length===A)t.metadata[d]=C,t.state=Ji.LoadState.RECEIVED;else{t.state=Ji.LoadState.FAILED;break}}}}function o(){e._simultaneousRequestCount--,t.state=Ji.LoadState.FAILED}let{keyframe:r,spatialNode:s}=t,a=n.requestData({tileLevel:s.level,tileX:s.x,tileY:s.y,tileZ:s.z,keyframe:r});l(a)?(e._simultaneousRequestCount++,t.state=Ji.LoadState.RECEIVING,a.then(i).catch(o)):t.state=Ji.LoadState.FAILED}function K0t(e){return e/(1+e)}function $0t(e,t){let n=e._frameNumber,i=e._primitive,o=i._shape,r=i.screenSpaceError,s=e._priorityQueue,a=e._keyframeCount,c=P.clamp(Math.floor(e._keyframeLocation),0,a-2),u=c+1,{camera:f,context:d,pixelRatio:p}=t,{positionWC:g,frustum:m}=f,b=d.drawingBufferHeight/p/m.sseDenominator;function T(L,_){if(L.computeScreenSpaceError(g,b),_=L.visibility(t,_),_===ys.MASK_OUTSIDE)return;if(L.visitedFrameNumber=n,a===1)L.createKeyframeNode(0);else if(L.keyframeNodes.length!==a)for(let B=0;B<a;B++)L.createKeyframeNode(B);let{screenSpaceError:E,keyframeNodes:v}=L,I=K0t(E),N=!1;for(let B=0;B<v.length;B++){let z=v[B];z.priority=10*I+Z0t(c,z.keyframe,u,e),z.state!==Ji.LoadState.UNAVAILABLE&&z.state!==Ji.LoadState.FAILED&&z.priority!==-Number.MAX_VALUE&&s.insert(z),z.state===Ji.LoadState.LOADED&&(N=!0)}if(E<r||!N){L.children=void 0;return}l(L.children)||L.constructChildNodes(o);for(let B=0;B<8;B++){let z=L.children[B];T(z,_)}}s.reset(),T(e.rootNode,ys.MASK_INDETERMINATE);let C=e._highPriorityKeyframeNodes,A=0,S;for(;s.length>0;)S=s.removeMaximum(),S.highPriorityFrameNumber=n,C[A]=S,A++;let w=e._keyframeNodesInMegatexture,D=e.megatextures[0],O=D.occupiedCount;w.length=O,w.sort(function(L,_){return L.highPriorityFrameNumber===_.highPriorityFrameNumber?_.priority-L.priority:_.highPriorityFrameNumber-L.highPriorityFrameNumber});let R=0,M=0;for(let L=0;L<A;L++)if(S=C[L],!(S.state===Ji.LoadState.LOADED||S.spatialNode===void 0)&&(S.state===Ji.LoadState.UNLOADED&&X0t(e,S),S.state===Ji.LoadState.RECEIVED)){let _=0;if(D.isFull()){_=O-1-R,R++;let E=w[_];E.spatialNode.destroyKeyframeNode(E,e.megatextures)}else _=O+M,M++;S.spatialNode.addKeyframeNodeToMegatextures(S,e.megatextures),w[_]=S}}function Z0t(e,t,n,i){let o=Math.min(Math.abs(t-e),Math.abs(t-n)),r=Math.max(e,i._keyframeCount-n-1,1),s=Math.pow(1-o/r,4),a=Math.exp(-i._binaryTreeKeyframeWeighting[t]);return P.lerp(a,s,.15+.85*s)}function Q0t(e,t,n,i){let o=e._keyframeCount,r=e.rootNode,s=Object.keys(Ji.LoadState).length,a=new Array(s),c=new Array(s),u=0;for(let T=0;T<s;T++){let C=new Array(o);a[T]=C;for(let A=0;A<o;A++)C[A]=0;c[T]=0}function f(T){let C=T.keyframeNodes;for(let A=0;A<C.length;A++){let S=C[A],w=S.keyframe,D=S.state;a[D][w]+=1,c[D]+=1,u++}if(l(T.children))for(let A=0;A<8;A++){let S=T.children[A];f(S)}}f(r);let d=`KEYFRAMES: ${a[Ji.LoadState.LOADED]}`,p=`UNLOADED: ${c[Ji.LoadState.UNLOADED]} | RECEIVING: ${c[Ji.LoadState.RECEIVING]} | RECEIVED: ${c[Ji.LoadState.RECEIVED]} | LOADED: ${c[Ji.LoadState.LOADED]} | FAILED: ${c[Ji.LoadState.FAILED]} | UNAVAILABLE: ${c[Ji.LoadState.UNAVAILABLE]} | TOTAL: ${u}`,g=Math.round(t*100)/100,m=Math.round(n*100)/100,x=Math.round(i*100)/100,b=`LOAD: ${g} | OCT: ${m} | ALL: ${x}`;console.log(`${d} || ${p} || ${b}`)}var HH={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function J0t(e,t,n){let i=e._primitive._screenSpaceError,o=e._keyframeLocation,r=e._frameNumber,s=t>=2,a=0,c=0,u=[],f=[];function d(g,m,x,b,T){let C=!1;if(l(g.children))for(let A=0;A<8;A++){let S=g.children[A];S.computeSurroundingRenderableKeyframeNodes(o),S.isRenderable(r)&&(C=!0)}if(C){u[T]=HH.INTERNAL<<16|m,u[x]=b,a++,b=m,T=b*9+1;for(let A=0;A<8;A++){let S=g.children[A];m=a,x=m*9+0,d(S,m,x,b,T+A)}}else{if(s){let A=c*5,S=g.renderableKeyframeNodePrevious,w=g.level-S.spatialNode.level,D=S.spatialNode.parent,O=l(D)?D.renderableKeyframeNodePrevious:S,R=ext(g,i,n),M=w,L=1,_=S.megatextureIndex,E=O.megatextureIndex;f[A+0]=R,f[A+1]=M,f[A+2]=L,f[A+3]=_,f[A+4]=E,u[T]=HH.LEAF<<16|c}else{let A=g.renderableKeyframeNodePrevious,w=g.level-A.spatialNode.level===0?HH.LEAF:HH.PACKED_LEAF_FROM_PARENT;u[T]=w<<16|A.megatextureIndex}c++}}let p=e.rootNode;p.computeSurroundingRenderableKeyframeNodes(o),p.isRenderable(r)&&d(p,0,0,0,0),txt(u,9,e.internalNodeTilesPerRow,e.internalNodeTexture),s&&nxt(f,2,e.leafNodeTilesPerRow,e.leafNodeTexture)}function ext(e,t,n){if(e.parent===void 0)return 0;let i=e.screenSpaceError,o=e.parent.screenSpaceError,s=((t-i)/(o-i)+n-1)/n;return P.clamp(s,0,1)}function txt(e,t,n,i){let o=ct.componentsLength(i.pixelFormat),r=Math.ceil(e.length/t),s=Math.max(1,t*Math.min(r,n)),a=Math.max(1,Math.ceil(r/n)),c=new Uint8Array(s*a*o);for(let d=0;d<e.length;d++){let p=e[d],g=d*o;for(let m=0;m<o;m++)c[g+m]=p>>>m*8&255}let f={source:{arrayBufferView:c,width:s,height:a},xOffset:0,yOffset:0};i.copyFrom(f)}function nxt(e,t,n,i){let o=ct.componentsLength(i.pixelFormat),r=5,s=Math.ceil(e.length/r),a=Math.max(1,t*Math.min(s,n)),c=Math.max(1,Math.ceil(s/n)),u=new Uint8Array(a*c*o);for(let p=0;p<s;p++){let g=e[p*r+0],m=e[p*r+1],x=e[p*r+2],b=e[p*r+3],T=e[p*r+4],C=P.clamp(Math.floor(65536*g),0,65535);u[p*8+0]=C>>>0&255,u[p*8+1]=C>>>8&255,u[p*8+2]=m&255,u[p*8+3]=x&255,u[p*8+4]=b>>>0&255,u[p*8+5]=b>>>8&255,u[p*8+6]=T>>>0&255,u[p*8+7]=T>>>8&255}let d={source:{arrayBufferView:u,width:a,height:c},xOffset:0,yOffset:0};i.copyFrom(d)}w_.getApproximateTextureMemoryByteLength=function(e,t,n,i){let o=0,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=i[s],u=Et.getComponentCount(a);o+=iP.getApproximateTextureMemoryByteLength(e,t,u,c)}return o};var bP=w_;var ixt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},TP=Object.freeze(ixt);function oxt(e,t,n){let i=new Uint8ClampedArray(e.buffer),o=new ImageData(i,t,n),r=document.createElement("canvas");return r.width=t,r.height=n,r.getContext("2d").putImageData(o,0,0),r}var GH=oxt;function dS(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}dS.prototype.getTexture=function(e){return this._textures[e]};function rxt(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];l(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}dS.prototype.loadTexture2D=function(e,t){l(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):rxt(this,e,t)};function sxt(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?WH(o,r,n):axt(o,r,n),a=e._textures[i];l(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function WH(e,t,n){let{typedArray:i,sampler:o}=e,r=l(i)?Kbe(e,n):new Mt({context:n,source:t,sampler:o});return Xbe(o)&&r.generateMipmap(),r}function axt(e,t,n){let{typedArray:i,sampler:o}=e,r=Xbe(o),s=o.wrapS===wn.REPEAT||o.wrapS===wn.MIRRORED_REPEAT||o.wrapT===wn.REPEAT||o.wrapT===wn.MIRRORED_REPEAT,{width:a,height:c}=l(i)?e:t,u=[a,c].every(P.isPowerOfTwo);if((r||s)&&!u)if(l(i)){if(e.pixelDatatype===nt.UNSIGNED_BYTE){let d=GH(i,a,c),p=rx(d);return WH({sampler:o},p,n)}}else{let d=rx(t);return WH(e,d,n)}else return WH(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),Kbe(e,n)}function Xbe(e){return[en.NEAREST_MIPMAP_NEAREST,en.NEAREST_MIPMAP_LINEAR,en.LINEAR_MIPMAP_NEAREST,en.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function Kbe(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new Mt({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}dS.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];sxt(this,o,t)}n.length=0};dS.prototype.isDestroyed=function(){return!1};dS.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return ue(this)};var jH=dS;function CP(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,Lg.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,yx.INHERIT),this._textureManager=new jH,this._defaultTexture=void 0,this.uniformMap=cxt(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},fxt(this),dxt(this)}function cxt(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===TP.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=lxt(e,i)):n[i]=uxt(e,i)}return n}function lxt(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function uxt(e,t){return function(){return e.uniforms[t].value}}function Mb(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function fxt(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;l(r)&&(o=e.usedVariablesVertex.attributeSet,Mb(r,t,o),o=e.usedVariablesVertex.featureIdSet,Mb(r,n,o),o=e.usedVariablesVertex.metadataSet,Mb(r,i,o));let s=e.fragmentShaderText;if(l(s)){o=e.usedVariablesFragment.attributeSet,Mb(s,t,o),o=e.usedVariablesFragment.featureIdSet,Mb(s,n,o),o=e.usedVariablesFragment.metadataSet,Mb(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;Mb(s,a,c)}}function $be(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function pc(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${$be(t)} is not available in the ${i} shader. Did you mean ${$be(n)} instead?`;throw new de(o)}}function dxt(e){let t=e.usedVariablesVertex.attributeSet;pc(t,"position","positionMC","vertex"),pc(t,"normal","normalMC","vertex"),pc(t,"tangent","tangentMC","vertex"),pc(t,"bitangent","bitangentMC","vertex"),pc(t,"positionWC","positionMC","vertex"),pc(t,"positionEC","positionMC","vertex"),pc(t,"normalEC","normalMC","vertex"),pc(t,"tangentEC","tangentMC","vertex"),pc(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;pc(n,"position","positionEC","fragment"),pc(n,"normal","normalEC","fragment"),pc(n,"tangent","tangentEC","fragment"),pc(n,"bitangent","bitangentEC","fragment"),pc(n,"normalMC","normalEC","fragment"),pc(n,"tangentMC","tangentEC","fragment"),pc(n,"bitangentMC","bitangentEC","fragment")}CP.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===TP.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):l(t.clone)?n.value=t.clone(n.value):n.value=t};CP.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};CP.prototype.isDestroyed=function(){return!1};CP.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),ue(this)};var hS=CP;function zm(e){e=y(e,y.EMPTY_OBJECT),this._ready=!1,this._provider=y(e.provider,zm.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new h,this._paddingAfter=new h,this._minBounds=new h,this._minBoundsOld=new h,this._maxBounds=new h,this._maxBoundsOld=new h,this._exaggeratedMinBounds=new h,this._exaggeratedMinBoundsOld=new h,this._exaggeratedMaxBounds=new h,this._exaggeratedMaxBoundsOld=new h,this._minClippingBounds=new h,this._minClippingBoundsOld=new h,this._maxClippingBounds=new h,this._maxClippingBoundsOld=new h,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._exaggeratedModelMatrix=F.clone(this._modelMatrix),this._compoundModelMatrix=new F,this._compoundModelMatrixOld=new F,this._customShader=y(e.customShader,zm.DefaultCustomShader),this._customShaderCompilationEvent=new me,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=e.clock,this._transformPositionWorldToUv=new F,this._transformPositionUvToWorld=new F,this._transformDirectionWorldToLocal=new Z,this._transformNormalLocalToWorld=new Z,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new em,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new U,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new U,megatextureTextures:[],megatextureSliceDimensions:new U,megatextureTileDimensions:new U,megatextureVoxelSizeUv:new U,megatextureSliceSizeUv:new U,megatextureTileSizeUv:new U,dimensions:new h,paddingBefore:new h,paddingAfter:new h,transformPositionViewToUv:new F,transformPositionUvToView:new F,transformDirectionViewToLocal:new Z,transformNormalLocalToWorld:new Z,cameraPositionUv:new h,ndcSpaceAxisAlignedBoundingBox:new oe,clippingPlanesTexture:void 0,clippingPlanesMatrix:new F,stepSize:0,pickColor:new H},this._shapeDefinesOld={},this._uniformMap={};let t=this._uniforms,n=this._uniformMap;for(let o in t)if(t.hasOwnProperty(o)){let r=`u_${o}`;n[r]=function(){return t[o]}}let i=this._provider;hxt(this,i)}function hxt(e,t){let{shape:n,minBounds:i=Ni.getMinBounds(n),maxBounds:o=Ni.getMaxBounds(n)}=t;e.minBounds=i,e.maxBounds=o,e.minClippingBounds=Ni.getMinBounds(n),e.maxClippingBounds=Ni.getMaxBounds(n),e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e._exaggeratedModelMatrix=F.clone(e._modelMatrix,e._exaggeratedModelMatrix),Qbe(e,t);let r=Ni.getShapeConstructor(n);e._shape=new r,e._shapeVisible=Jbe(e,e._shape,t)}Object.defineProperties(zm.prototype,{ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this._shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(e){this._disableRender=!e}},disableUpdate:{get:function(){return this._disableUpdate},set:function(e){this._disableUpdate=e}},debugDraw:{get:function(){return this._debugDraw},set:function(e){this._debugDraw=e}},depthTest:{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(e){this._nearestSampling!==e&&(this._nearestSampling=e,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(e){this._levelBlendFactor=P.clamp(e,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(e){this._screenSpaceError=e}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(e){this._stepSizeMultiplier=e}},minBounds:{get:function(){return this._minBounds},set:function(e){this._minBounds=h.clone(e,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(e){this._maxBounds=h.clone(e,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(e){this._minClippingBounds=h.clone(e,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(e){this._maxClippingBounds=h.clone(e,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){bs.setOwner(e,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(e){if(this._customShader!==e){let t=this._uniformMap,i=this._customShader.uniformMap;for(let o in i)i.hasOwnProperty(o)&&delete t[o];l(e)?this._customShader=e:this._customShader=zm.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var mxt=new h,pxt=new oe,_xt=new oe,gxt=new h,yxt=new h,xxt=new Z,bxt=new Z,Txt=new F,Cxt=new F,Axt=new F,Ext=F.fromRotationTranslation(Z.fromUniformScale(.5,new Z),new h(.5,.5,.5),new F),Sxt=F.fromRotationTranslation(Z.fromUniformScale(2,new Z),new h(-1,-1,-1),new F);zm.prototype.update=function(e){let t=this._provider;this._customShader.update(e);let n=e.context;if(!this._ready){Rxt(this,t,n),e.afterRender.push(()=>(this._ready=!0,!0));return}Ixt(this,e);let i=Qbe(this,t),o=this._shape;if(i&&(this._shapeVisible=Jbe(this,o,t),Lxt(this,o)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let r=Nxt(t.timeIntervalCollection,this._clock),s=this._traversal,a=s._sampleCount;if(s.update(e,r,i,this._disableUpdate),a!==s._sampleCount&&(this._shaderDirty=!0),!s.isRenderable(s.rootNode)||(this._debugDraw&&Gxt(this,e),this._disableRender))return;this._useLogDepth!==e.useLogDepth&&(this._useLogDepth=e.useLogDepth,this._shaderDirty=!0),Fxt(this,e)&&(this._shaderDirty=!0);let u=s.leafNodeTexture,f=this._uniforms;l(u)&&(f.octreeLeafNodeTexture=s.leafNodeTexture,f.octreeLeafNodeTexelSizeUv=U.clone(s.leafNodeTexelSizeUv,f.octreeLeafNodeTexelSizeUv),f.octreeLeafNodeTilesPerRow=s.leafNodeTilesPerRow),this._shaderDirty&&(_U(this,n),this._shaderDirty=!1);let d=n.uniformState.viewProjection,p=o.orientedBoundingBox,g=Vxt(p,d,_xt);if(g.x===1||g.y===1||g.z===-1||g.w===-1)return;f.ndcSpaceAxisAlignedBoundingBox=oe.clone(g,f.ndcSpaceAxisAlignedBoundingBox);let x=n.uniformState.inverseView;f.transformPositionViewToUv=F.multiplyTransformation(this._transformPositionWorldToUv,x,f.transformPositionViewToUv);let b=n.uniformState.view;f.transformPositionUvToView=F.multiplyTransformation(b,this._transformPositionUvToWorld,f.transformPositionUvToView);let T=n.uniformState.inverseViewRotation;f.transformDirectionViewToLocal=Z.multiply(this._transformDirectionWorldToLocal,T,f.transformDirectionViewToLocal),f.transformNormalLocalToWorld=Z.clone(this._transformNormalLocalToWorld,f.transformNormalLocalToWorld);let C=e.camera.positionWC;f.cameraPositionUv=F.multiplyByPoint(this._transformPositionWorldToUv,C,f.cameraPositionUv),f.stepSize=this._stepSizeMultiplier;let A=e.passes.pick?this._drawCommandPick:e.passes.pickVoxel?this._drawCommandPickVoxel:this._drawCommand;A.boundingVolume=o.boundingSphere,e.commandList.push(A)};var wxt=new h,NK=new h,vxt=new fe,Dxt=new h;function Ixt(e,t){if(e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e.shape===Ni.ELLIPSOID){let n=t.verticalExaggerationRelativeHeight,i=t.verticalExaggeration;e._exaggeratedMinBounds.z=(e._minBounds.z-n)*i+n,e._exaggeratedMaxBounds.z=(e._maxBounds.z-n)*i+n}else if(e.shape===Ni.BOX){let n=h.fromElements(1,1,t.verticalExaggeration,wxt);e._exaggeratedModelMatrix=F.multiplyByScale(e._modelMatrix,n,e._exaggeratedModelMatrix),e._exaggeratedModelMatrix=F.multiplyByTranslation(e._exaggeratedModelMatrix,Pxt(e,t),e._exaggeratedModelMatrix)}}function Pxt(e,t){let{shapeTransform:n=F.IDENTITY,globalTransform:i=F.IDENTITY}=e._provider,o=F.getTranslation(n,NK),r=F.multiplyByPoint(e._modelMatrix,o,NK),s=F.multiplyByPoint(i,r,NK),c=ee.WGS84.cartesianToCartographic(s,vxt),u=0;l(c)&&(u=c.height);let f=Dr.getHeight(u,t.verticalExaggeration,t.verticalExaggerationRelativeHeight);return h.fromElements(0,0,(f-u)/t.verticalExaggeration,Dxt)}function Rxt(e,t,n){let i=e._uniforms;e._pickId=n.createPickId({primitive:e}),i.pickColor=H.clone(e._pickId.color,i.pickColor);let{shaderDefines:o,shaderUniforms:r}=e._shape;e._shapeDefinesOld=We(o,!0);let s=e._uniformMap;for(let a in r)if(r.hasOwnProperty(a)){let c=`u_${a}`;s[c]=function(){return r[a]}}i.dimensions=h.clone(t.dimensions,i.dimensions),e._paddingBefore=h.clone(y(t.paddingBefore,h.ZERO),e._paddingBefore),i.paddingBefore=h.clone(e._paddingBefore,i.paddingBefore),e._paddingAfter=h.clone(y(t.paddingAfter,h.ZERO),e._paddingBefore),i.paddingAfter=h.clone(e._paddingAfter,i.paddingAfter),e._traversal=Oxt(e,t,n),Mxt(e._traversal,i)}function Qbe(e,t){let n=y(t.shapeTransform,F.IDENTITY),i=y(t.globalTransform,F.IDENTITY);return F.multiplyTransformation(i,e._exaggeratedModelMatrix,e._compoundModelMatrix),F.multiplyTransformation(e._compoundModelMatrix,n,e._compoundModelMatrix),Lb(e,"_compoundModelMatrix","_compoundModelMatrixOld")+Lb(e,"_minBounds","_minBoundsOld")+Lb(e,"_maxBounds","_maxBoundsOld")+Lb(e,"_exaggeratedMinBounds","_exaggeratedMinBoundsOld")+Lb(e,"_exaggeratedMaxBounds","_exaggeratedMaxBoundsOld")+Lb(e,"_minClippingBounds","_minClippingBoundsOld")+Lb(e,"_maxClippingBounds","_maxClippingBoundsOld")>0}function Lb(e,t,n){let i=e[t],o=e[n],r=!i.equals(o);return r&&i.clone(o),r?1:0}function Jbe(e,t,n){if(!t.update(e._compoundModelMatrix,e._exaggeratedMinBounds,e._exaggeratedMaxBounds,e.minClippingBounds,e.maxClippingBounds))return!1;let o=t.shapeTransform,r=F.inverse(o,Txt),s=F.getRotation(o,xxt),a=F.getScale(o,gxt),c=h.maximumComponent(a),u=h.divideByScalar(a,c,yxt),f=Z.multiplyByScale(s,u,bxt);return e._transformPositionWorldToUv=F.multiplyTransformation(Ext,r,e._transformPositionWorldToUv),e._transformPositionUvToWorld=F.multiplyTransformation(o,Sxt,e._transformPositionUvToWorld),e._transformDirectionWorldToLocal=F.getMatrix3(r,e._transformDirectionWorldToLocal),e._transformNormalLocalToWorld=Z.inverseTranspose(f,e._transformNormalLocalToWorld),!0}function Oxt(e,t,n){let i=h.clone(t.dimensions,mxt);h.add(i,e._paddingBefore,i),h.add(i,e._paddingAfter,i);let o=t.maximumTileCount,r=l(o)?bP.getApproximateTextureMemoryByteLength(o,i,t.types,t.componentTypes):void 0,s=y(t.keyframeCount,1);return new bP(e,n,i,t.types,t.componentTypes,s,r)}function Mxt(e,t){t.octreeInternalNodeTexture=e.internalNodeTexture,t.octreeInternalNodeTexelSizeUv=U.clone(e.internalNodeTexelSizeUv,t.octreeInternalNodeTexelSizeUv),t.octreeInternalNodeTilesPerRow=e.internalNodeTilesPerRow;let n=e.megatextures,i=n[0],o=n.length;t.megatextureTextures=new Array(o);for(let r=0;r<o;r++)t.megatextureTextures[r]=n[r].texture;t.megatextureSliceDimensions=U.clone(i.sliceCountPerRegion,t.megatextureSliceDimensions),t.megatextureTileDimensions=U.clone(i.regionCountPerMegatexture,t.megatextureTileDimensions),t.megatextureVoxelSizeUv=U.clone(i.voxelSizeUv,t.megatextureVoxelSizeUv),t.megatextureSliceSizeUv=U.clone(i.sliceSizeUv,t.megatextureSliceSizeUv),t.megatextureTileSizeUv=U.clone(i.regionSizeUv,t.megatextureTileSizeUv)}function Lxt(e,t){let n=t.shaderDefines,i=Object.keys(n).some(o=>n[o]!==e._shapeDefinesOld[o]);return i&&(e._shapeDefinesOld=We(n,!0)),i}function Nxt(e,t){if(!l(e)||!l(t))return 0;let n=t.currentTime,i,o=e.indexOf(n);o>=0?i=e.get(o):(o=~o,o===e.length?(o=e.length-1,i=e.get(o),n=i.stop):(i=e.get(o),n=i.start));let r=K.secondsDifference(i.stop,i.start),a=K.secondsDifference(n,i.start)/r;return o+a}function Fxt(e,t){let n=e.clippingPlanes;if(!l(n))return!1;n.update(t);let{clippingPlanesState:i,enabled:o}=n;if(o){let r=e._uniforms;r.clippingPlanesTexture=n.texture,r.clippingPlanesMatrix=F.transpose(F.multiplyTransformation(F.inverse(n.modelMatrix,r.clippingPlanesMatrix),e._transformPositionUvToWorld,r.clippingPlanesMatrix),r.clippingPlanesMatrix)}return e._clippingPlanesState===i&&e._clippingPlanesEnabled===o?!1:(e._clippingPlanesState=i,e._clippingPlanesEnabled=o,!0)}zm.prototype.isDestroyed=function(){return!1};zm.prototype.destroy=function(){let e=this._drawCommand;l(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy());let t=this._drawCommandPick;return l(t)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),ue(this)};var Zbe=new Array(new oe(-1,-1,-1,1),new oe(1,-1,-1,1),new oe(-1,1,-1,1),new oe(1,1,-1,1),new oe(-1,-1,1,1),new oe(1,-1,1,1),new oe(-1,1,1,1),new oe(1,1,1,1)),Bxt=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),kxt=new Array(new oe,new oe,new oe,new oe,new oe,new oe,new oe,new oe);function Vxt(e,t,n){let i=F.fromRotationTranslation(e.halfAxes,e.center,Cxt),o=F.multiply(t,i,Axt),r=+Number.MAX_VALUE,s=-Number.MAX_VALUE,a=+Number.MAX_VALUE,c=-Number.MAX_VALUE,u,f=kxt,d=Zbe.length;for(u=0;u<d;u++)F.multiplyByVector(o,Zbe[u],f[u]);for(u=0;u<d;u++){let p=f[u];if(p.z>=-p.w){let g=p.x/p.w,m=p.y/p.w;r=Math.min(r,g),s=Math.max(s,g),a=Math.min(a,m),c=Math.max(c,m)}else for(let g=0;g<3;g++){let m=Bxt[u*3+g],x=f[m];if(x.z>=-x.w){let b=p.z+p.w,T=x.z+x.w,C=b/(b-T),A=oe.lerp(p,x,C,pxt),S=A.x/A.w,w=A.y/A.w;r=Math.min(r,S),s=Math.max(s,S),a=Math.min(a,w),c=Math.max(c,w)}}}return r=P.clamp(r,-1,1),a=P.clamp(a,-1,1),s=P.clamp(s,-1,1),c=P.clamp(c,-1,1),n=oe.fromElements(r,a,s,c,n),n}var FK=3e7,Uxt=new h(FK,0,0),zxt=new h(0,FK,0),Hxt=new h(0,0,FK);function Gxt(e,t){let n=e._traversal,i=e._debugPolylines;i.removeAll();function o(c,u,f,d){i.add({positions:[c,u],width:d,material:ji.fromType("Color",{color:f})})}function r(c,u,f){let d=c.computeCorners();o(d[0],d[1],u,f),o(d[2],d[3],u,f),o(d[4],d[5],u,f),o(d[6],d[7],u,f),o(d[0],d[2],u,f),o(d[4],d[6],u,f),o(d[1],d[3],u,f),o(d[5],d[7],u,f),o(d[0],d[4],u,f),o(d[2],d[6],u,f),o(d[1],d[5],u,f),o(d[3],d[7],u,f)}function s(c){if(!n.isRenderable(c))return;let u=c.level,d=Math.max(1,5/Math.pow(2,u)),g=[H.RED,H.LIME,H.BLUE][u%3];if(r(c.orientedBoundingBox,g,d),l(c.children))for(let m=0;m<8;m++)s(c.children[m])}r(e._shape.orientedBoundingBox,H.WHITE,5),s(n.rootNode);let a=10;o(h.ZERO,Uxt,H.RED,a),o(h.ZERO,zxt,H.LIME,a),o(h.ZERO,Hxt,H.BLUE,a),i.update(t)}zm.DefaultCustomShader=new hS({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) -{ - material.diffuse = vec3(1.0); - material.alpha = 1.0; -}`});function eTe(){this.ready=!0,this.shape=Ni.BOX,this.dimensions=new h(1,1,1),this.names=["data"],this.types=[Et.SCALAR],this.componentTypes=[Gt.FLOAT32],this.maximumTileCount=1}eTe.prototype.requestData=function(e){if(!((l(e)?y(e.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};zm.DefaultProvider=new eTe;var Nb=zm;var YH=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function ti(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=We(e.contextOptions),r=l(n),s=new MM(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),l(i)||(i=t.parentNode),this._id=Gn(),this._jobScheduler=new C4,this._frameState=new Cz(s,new nz(n,"\u2022",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new W1(s),this._ellipsoid=y(e.ellipsoid,ee.default),this._globe=void 0,this._globeTranslucencyState=new a4,this._primitives=new du,this._groundPrimitives=new du,this._globeHeight=void 0,this._globeHeightDirty=!0,this._cameraUnderground=!1,this._removeUpdateHeightCallback=void 0,this._logDepthBuffer=ti.defaultLogDepthBuffer&&s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new uS,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new dz(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new ni({color:new H,stencil:0,owner:this}),this._depthClearCommand=new ni({depth:1,owner:this}),this._stencilClearCommand=new ni({stencil:0}),this._classificationStencilClearCommand=new ni({stencil:0,renderState:ze.fromCache({stencilMask:zt.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new wH(this),this._preUpdate=new me,this._postUpdate=new me,this._renderError=new me,this._preRender=new me,this._postRender=new me,this._minimumDisableDepthTestDistance=0,this._debugInspector=new sz,this._msaaSamples=y(e.msaaSamples,4),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new me,this.morphComplete=new me,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=H.clone(H.BLACK),this._mode=ne.SCENE3D,this._mapProjection=l(e.mapProjection)?e.mapProjection:new vi(this._ellipsoid),this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.atmosphere=new qV,this.fog=new bz,this.fog.enabled=ee.WGS84.equals(this._ellipsoid),ee.WGS84.equals(this._ellipsoid)||(oo.DEFAULT_VIEW_RECTANGLE=se.fromDegrees(-45,-45,45,45)),this._shadowMapCamera=new oo(this),this.shadowMap=new n0({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=H.clone(H.WHITE),this._actualInvertClassificationColor=H.clone(this._invertClassificationColor),this._invertClassification=new nP,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new bH,this._brdfLutGenerator=new QV,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new FH(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,Eu.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=bc.requestCompletedEvent.addEventListener(YH(this)),this._removeTaskProcessorListenerCallback=_i.taskCompletedEvent.addEventListener(YH(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let a=new qe(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new oo(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new oo(this),this.preloadFlightCullingVolume=void 0,this._picking=new $4(this),this._defaultView=new aS(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentCubeMap=void 0,this.light=new H_,rTe(this,0,K.now()),this.updateFrameState(),this.initializeFrame()}ti.defaultLogDepthBuffer=!0;function Wxt(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];l(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener(YH(e))),n.push(t.terrainProviderChanged.addEventListener(YH(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(ti.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return Ut.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return Ut.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return Fh.isSupported(this._context)}},ellipsoid:{get:function(){return this._ellipsoid}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,Wxt(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(l(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(l(this.globe))return this.globe.terrainProvider},set:function(e){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),l(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(l(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===ne.SCENE2D?this.morphTo2D(0):e===ne.SCENE3D?this.morphTo3D(0):e===ne.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new oo(this),l(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new mz(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,Ut.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});ti.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function jxt(e,t){let n=e.pickedMetadataInfo,i=t.pickedMetadataInfo;return n?.schemaId!==i?.schemaId||n?.className!==i?.className||n?.propertyName!==i?.propertyName}function tTe(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,{lightShadowMaps:s,lightShadowsEnabled:a}=i.shadowState,c=t.derivedCommands;l(t.pickId)&&(c.picking=__.createPickDerivedCommand(e,t,o,c.picking)),i.pickingMetadata&&t.pickMetadataAllowed&&(t.pickedMetadataInfo=i.pickedMetadataInfo,l(t.pickedMetadataInfo)&&(c.pickingMetadata=__.createPickMetadataDerivedCommand(e,t,o,c.pickingMetadata))),t.pickOnly||(c.depth=__.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=__.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=n0.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===Se.TRANSLUCENT&&l(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=l(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}ti.prototype.updateDerivedCommands=function(e){let{derivedCommands:t}=e;if(!l(t))return;let n=this._frameState,{shadowState:i,useLogDepth:o}=this._frameState,r=this._context,s=!1,a=i.lastDirtyTime;e.lastDirtyTime!==a&&(e.lastDirtyTime=a,e.dirty=!0,s=!0);let c=this._hdr,u=l(t.logDepth),f=l(t.hdr),d=l(t.originalCommand),p=o&&!u,g=c&&!f,m=(!o||!c)&&!d,x=n.pickingMetadata&&jxt(e,n);if(e.dirty=e.dirty||p||g||m||x,!e.dirty)return;e.dirty=!1;let{shadowsEnabled:b,shadowMaps:T}=i;b&&e.castShadows&&(t.shadows=n0.createCastDerivedCommand(T,e,s,r,t.shadows)),(u||p)&&(t.logDepth=__.createLogDepthCommand(e,r,t.logDepth),tTe(this,t.logDepth.command,s)),(d||m)&&tTe(this,e,s)};var qxt=new $d({pass:Fo.RENDER}),BK=new $d({pass:Fo.PRELOAD}),kK=new $d({pass:Fo.PRELOAD_FLIGHT}),Yxt=new $d({pass:Fo.REQUEST_RENDER_MODE_DEFER_CHECK}),nTe=new ae,VK;function Xxt(e){if(!(e._mode!==ne.SCENE3D||!e.globe?.show||e._cameraUnderground||e._globeTranslucencyState.translucent))return nTe.radius=e.ellipsoid.minimumRadius+e.frameState.minimumTerrainHeight,VK=EH.fromBoundingSphere(nTe,e.camera.positionWC,VK),VK}ti.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.pickVoxel=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function rTe(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=K.clone(n,i.time)}ti.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=Xxt(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof an||this.camera.frustum instanceof Br),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState;let{globe:n}=this;l(n)&&n._terrainExaggerationChanged&&(this.verticalExaggeration=n._terrainExaggeration,this.verticalExaggerationRelativeHeight=n._terrainExaggerationRelativeHeight,n._terrainExaggerationChanged=!1),t.verticalExaggeration=this.verticalExaggeration,t.verticalExaggerationRelativeHeight=this.verticalExaggerationRelativeHeight,l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready?(t.specularEnvironmentMaps=this._specularEnvironmentCubeMap.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentCubeMap.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=H.clone(this.invertClassificationColor,this._actualInvertClassificationColor),nP.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,l(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};ti.prototype.isVisible=function(e,t,n){if(!l(t))return!1;let{boundingVolume:i}=t;return!l(i)||!t.cull?!0:e.computeVisibility(i)===qt.OUTSIDE?!1:!l(n)||!t.occlude||!i.isOccluded(n)};var qH=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);qH=F.inverseTransformation(qH,qH);function Kxt(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;l(t._debugVolume)&&t._debugVolume.destroy();let a=h.clone(s.center);if(o.mode!==ne.SCENE3D){a=F.multiplyByPoint(qH,a,a);let m=o.mapProjection,x=m.unproject(a);a=m.ellipsoid.cartographicToCartesian(x)}let c,u,{radius:f}=s;l(f)?(c=la.createGeometry(new la({radii:new h(f,f,f),vertexFormat:un.FLAT_VERTEX_FORMAT})),u=F.fromTranslation(a)):(c=ql.createGeometry(ql.fromDimensions({dimensions:new h(2,2,2),vertexFormat:un.FLAT_VERTEX_FORMAT})),u=F.fromRotationTranslation(s.halfAxes,a,new F)),t._debugVolume=new Rn({geometryInstances:new wt({geometry:Un.toWireframe(c),modelMatrix:u,attributes:{color:new jt(1,0,0,1)}}),appearance:new un({flat:!0,translucent:!1}),asynchronous:!1});let d=o.commandList,p=o.commandList=[];t._debugVolume.update(o),e=p[0],o.useLogDepth&&(e=__.createLogDepthCommand(e,r).command);let g;l(i)&&(g=n.framebuffer,n.framebuffer=i),e.execute(r,n),l(g)&&(n.framebuffer=g),o.commandList=d}function Hm(e,t,n,i){let o=t._frameState,r=t._context;if(l(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof ni){e.execute(r,n);return}e.debugShowBoundingVolume&&l(e.boundingVolume)&&Kxt(e,t,n,i),o.useLogDepth&&l(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=o.passes;if(!s.pick&&!s.pickVoxel&&!s.depth&&t._hdr&&l(e.derivedCommands)&&l(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth){if(o.pickingMetadata&&l(e.derivedCommands.pickingMetadata)){e=e.derivedCommands.pickingMetadata.pickMetadataCommand,e.execute(r,n);return}if(!o.pickingMetadata&&l(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(r,n);return}}else if(l(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(r,n);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,n);return}o.shadowState.lightShadowsEnabled&&e.receiveShadows&&l(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(r,n):e.execute(r,n)}function iTe(e,t,n){let{derivedCommands:i}=e;if(!l(i))return;let o=t._frameState,r=t._context;o.useLogDepth&&l(i.logDepth)&&(e=i.logDepth.command);let{picking:s,pickingMetadata:a,depth:c}=e.derivedCommands;l(a)&&(e=i.pickingMetadata.pickMetadataCommand,e.execute(r,n)),l(s)?(e=s.pickCommand,e.execute(r,n)):l(c)&&(e=c.depthOnlyCommand,e.execute(r,n))}function sTe(e,t,n){return t.boundingVolume?.distanceSquaredTo(n)-e.boundingVolume?.distanceSquaredTo(n)}function $xt(e,t,n){return e.boundingVolume?.distanceSquaredTo(n)-t.boundingVolume?.distanceSquaredTo(n)+P.EPSILON12}function Zxt(e,t,n,i,o){Hy(i,sTe,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function Qxt(e,t,n,i,o){Hy(i,$xt,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function Jxt(e,t,n){e.context.uniformState.updatePass(Se.VOXELS);let i=n.commands[Se.VOXELS];i.length=n.indices[Se.VOXELS],Hy(i,sTe,e.camera.positionWC);for(let o=0;o<i.length;++o)Hm(i[o],e,t)}var ebt=new Si,tbt=new Pl,nbt=new an,ibt=new Br;function obt(e){let{frustum:t}=e;return l(t.fov)?t.clone(ebt):l(t.infiniteProjectionMatrix)?t.clone(tbt):l(t.width)?t.clone(nbt):t.clone(ibt)}function rbt(e){if(e._environmentState.useOIT){if(!l(e._executeOITFunction)){let{view:t,context:n}=e;e._executeOITFunction=function(i,o,r,s,a){t.globeDepth.prepareColorTextures(n),t.oit.executeCommands(i,o,r,s,a)}}return e._executeOITFunction}return e.frameState.passes.render?Zxt:Qxt}function sbt(e,t,n){let{frameState:i,context:o}=e,{pick:r,pickVoxel:s}=i.passes,a=r||s,c;!a&&e._environmentState.useInvertClassification&&i.invertClassificationColor.alpha<1&&(c=e._invertClassification);let u=rbt(e);o.uniformState.updatePass(Se.TRANSLUCENT);let f=n.commands[Se.TRANSLUCENT];f.length=n.indices[Se.TRANSLUCENT],u(e,Hm,t,f,c)}function abt(e,t,n){let{translucentTileClassification:i,globeDepth:o}=e._view;if(!(n.indices[Se.CESIUM_3D_TILE_CLASSIFICATION]>0)||!i.isSupported())return;let s=n.commands[Se.TRANSLUCENT];i.executeTranslucentCommands(e,Hm,t,s,o.depthStencilTexture),i.executeClassificationCommands(e,Hm,t,n)}function zK(e,t){let{camera:n,context:i,frameState:o}=e,{uniformState:r}=i;r.updateCamera(n);let s=obt(n);s.near=n.frustum.near,s.far=n.frustum.far;let a=o.passes,c=a.pick||a.pickVoxel;c||cbt(e,t);let{clearGlobeDepth:u,renderTranslucentDepthForPick:f,useDepthPlane:d,useGlobeDepthFramebuffer:p,useInvertClassification:g,usePostProcessSelected:m}=e._environmentState,{globeDepth:x,globeTranslucencyFramebuffer:b,sceneFramebuffer:T,frustumCommandsList:C}=e._view,A=C.length,S=e._globeTranslucencyState,w=e._depthClearCommand,D=e._stencilClearCommand,O=e._classificationStencilClearCommand,R=e._depthPlane,M=n.position.z;function L(E,v){r.updatePass(v);let I=E.commands[v],N=E.indices[v];for(let B=0;B<N;++B)Hm(I[B],e,t);return N}function _(E,v){r.updatePass(v);let I=E.commands[v],N=E.indices[v];for(let B=0;B<N;++B)iTe(I[B],e,t)}for(let E=0;E<A;++E){let v=A-E-1,I=C[v];e.mode===ne.SCENE2D?(n.position.z=M-I.near+1,s.far=Math.max(1,I.far-I.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=v!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s)),w.execute(i,t),i.stencilBuffer&&D.execute(i,t),S.translucent?(r.updatePass(Se.GLOBE),S.executeGlobeCommands(I,Hm,b,e,t)):L(I,Se.GLOBE),p&&x.executeCopyDepth(i,t),f||(S.translucent?(r.updatePass(Se.TERRAIN_CLASSIFICATION),S.executeGlobeClassificationCommands(I,Hm,b,e,t)):L(I,Se.TERRAIN_CLASSIFICATION)),u&&(w.execute(i,t),d&&R.execute(i,t));let N;if(!g||c||f)N=L(I,Se.CESIUM_3D_TILE),N>0&&(p&&(x.prepareColorTextures(i,u),x.executeUpdateDepth(i,t,x.depthStencilTexture)),f||(N=L(I,Se.CESIUM_3D_TILE_CLASSIFICATION)));else{e._invertClassification.clear(i,t);let z=t.framebuffer;t.framebuffer=e._invertClassification._fbo.framebuffer,N=L(I,Se.CESIUM_3D_TILE),p&&(e._invertClassification.prepareTextures(i),x.executeUpdateDepth(i,t,e._invertClassification._fbo.getDepthStencilTexture())),N=L(I,Se.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),t.framebuffer=z,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),N>0&&i.stencilBuffer&&O.execute(i,t),N=L(I,Se.CESIUM_3D_TILE_CLASSIFICATION)}if(N>0&&i.stencilBuffer&&D.execute(i,t),Jxt(e,t,I),L(I,Se.OPAQUE),v!==0&&e.mode!==ne.SCENE2D&&(s.near=I.near,r.updateFrustum(s)),sbt(e,t,I),abt(e,t,I),i.depthTexture&&e.useDepthPicking&&(p||f)){let z=e._picking.getPickDepth(e,v);z.update(i,x.depthStencilTexture),z.executeCopyDepth(i,t)}if(c||!m)continue;let B=t.framebuffer;t.framebuffer=T.getIdFramebuffer(),s.near=v!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s),S.translucent?(r.updatePass(Se.GLOBE),S.executeGlobeCommands(I,iTe,b,e,t)):_(I,Se.GLOBE),u&&(w.framebuffer=t.framebuffer,w.execute(i,t),w.framebuffer=void 0),u&&d&&R.execute(i,t),_(I,Se.CESIUM_3D_TILE),_(I,Se.OPAQUE),_(I,Se.TRANSLUCENT),t.framebuffer=B}}function cbt(e,t){let{context:n,environmentState:i,view:o}=e;if(n.uniformState.updatePass(Se.ENVIRONMENT),l(i.skyBoxCommand)&&Hm(i.skyBoxCommand,e,t),i.isSkyAtmosphereVisible&&Hm(i.skyAtmosphereCommand,e,t),i.isSunVisible&&(i.sunDrawCommand.execute(n,t),e.sunBloom&&!i.useWebVR)){let r;i.useGlobeDepthFramebuffer?r=o.globeDepth.framebuffer:i.usePostProcess?r=o.sceneFramebuffer.framebuffer:r=i.originalFramebuffer,e._sunPostProcess.execute(n),e._sunPostProcess.copy(n,r),t.framebuffer=r}i.isMoonVisible&&i.moonCommand.execute(n,t)}function aTe(e){e.context.uniformState.updatePass(Se.COMPUTE);let t=e._environmentState.sunComputeCommand;l(t)&&t.execute(e._computeEngine);let n=e._computeCommandList;for(let i=0;i<n.length;++i)n[i].execute(e._computeEngine)}function lbt(e,t){e.context.uniformState.updatePass(Se.OVERLAY);let n=e.context,i=e._overlayCommandList;for(let o=0;o<i.length;++o)i[o].execute(n,t)}function ubt(e,t,n){let{shadowMapCullingVolume:i,isPointLight:o,passes:r}=n,s=r.length,a=[Se.GLOBE,Se.CESIUM_3D_TILE,Se.OPAQUE,Se.TRANSLUCENT];for(let c=0;c<t.length;++c){let u=t[c];if(e.updateDerivedCommands(u),!(!u.castShadows||a.indexOf(u.pass)<0||!e.isVisible(i,u)))if(o)for(let f=0;f<s;++f)r[f].commandList.push(u);else if(s===1)r[0].commandList.push(u);else{let f=!1;for(let d=s-1;d>=0;--d){let p=r[d].cullingVolume;if(e.isVisible(p,u))r[d].commandList.push(u),f=!0;else if(f)break}}}}function cTe(e){let{shadowState:t,commandList:n}=e.frameState,{shadowsEnabled:i,shadowMaps:o}=t;if(!i)return;let{context:r}=e,{uniformState:s}=r;for(let a=0;a<o.length;++a){let c=o[a];if(c.outOfView)continue;let{passes:u}=c;for(let f=0;f<u.length;++f)u[f].commandList.length=0;ubt(e,n,c);for(let f=0;f<u.length;++f){let d=c.passes[f],{camera:p,commandList:g}=d;s.updateCamera(p),c.updatePass(r,f);for(let m=0;m<g.length;++m){let x=g[m];s.updatePass(x.pass);let b=x.derivedCommands.shadows.castCommands[a];Hm(b,e,d.passState)}}}}var fbt=new h;ti.prototype.updateAndExecuteCommands=function(e,t){Ebt(this,e,t),this._environmentState.useWebVR?dbt(this,e,t):this._frameState.mode!==ne.SCENE2D||this._mapMode2D===Eu.ROTATE?r0(!0,this,e):Tbt(this,e)};function dbt(e,t){let n=e._view,i=n.camera,r=e._environmentState.renderTranslucentDepthForPick;lTe(e),n.createPotentiallyVisibleSet(e),aTe(e),r||cTe(e);let s=t.viewport;s.x=0,s.y=0,s.width=s.width*.5;let a=oo.clone(i,e._cameraVR);a.frustum=i.frustum;let c=i.frustum.near,u=c*y(e.focalLength,5),f=y(e.eyeSeparation,u/30),d=h.multiplyByScalar(a.right,f*.5,fbt);i.frustum.aspectRatio=s.width/s.height;let p=.5*f*c/u;h.add(a.position,d,i.position),i.frustum.xOffset=p,zK(e,t),s.x=s.width,h.subtract(a.position,d,i.position),i.frustum.xOffset=-p,zK(e,t),oo.clone(a,i)}var hbt=new fe(Math.PI,P.PI_OVER_TWO),mbt=new h,pbt=new h,_bt=new F,gbt=new F,ybt=new h,xbt=new h,bbt=new qe;function Tbt(e,t){let{frameState:n,camera:i}=e,{uniformState:o}=e.context,r=t.viewport,s=qe.clone(r,bbt);t.viewport=s;let a=hbt,c=mbt;e.mapProjection.project(a,c);let f=h.clone(i.position,pbt),d=F.clone(i.transform,gbt),p=i.frustum.clone();i._setTransform(F.IDENTITY);let g=F.computeViewportTransformation(s,0,1,_bt),m=i.frustum.projectionMatrix,x=i.positionWC.y,b=h.fromElements(P.sign(x)*c.x-x,0,-i.positionWC.x,ybt),T=Bt.pointToGLWindowCoordinates(m,g,b,xbt);T.x=Math.floor(T.x);let C=s.x,A=s.width;if(x===0||T.x<=C||T.x>=C+A)r0(!0,e,t);else if(Math.abs(C+A*.5-T.x)<1)s.width=T.x-s.x,i.position.x*=P.sign(i.position.x),i.frustum.right=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),r0(!0,e,t),s.x=T.x,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),r0(!1,e,t);else if(T.x>C+A*.5){s.width=T.x-C;let S=i.frustum.right;i.frustum.right=c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),r0(!0,e,t),s.x=T.x,s.width=C+A-T.x,i.position.x=-i.position.x,i.frustum.left=-i.frustum.right,i.frustum.right=S-i.frustum.right*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),r0(!1,e,t)}else{s.x=T.x,s.width=C+A-T.x;let S=i.frustum.left;i.frustum.left=-c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),r0(!0,e,t),s.x=C,s.width=T.x-C,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=S-i.frustum.left*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),r0(!1,e,t)}i._setTransform(d),h.clone(f,i.position),i.frustum=p.clone(),t.viewport=r}function r0(e,t,n){let i=t._view,{renderTranslucentDepthForPick:o}=t._environmentState;e||(t.frameState.commandList.length=0),lTe(t),i.createPotentiallyVisibleSet(t),e&&(aTe(t),o||cTe(t)),zK(t,n)}var oTe=new ys;ti.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.atmosphere,s=this.skyAtmosphere,a=this.globe,c=this._globeTranslucencyState;if(!i||this._mode!==ne.SCENE2D&&t.camera.frustum instanceof an||!c.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{if(l(s)){if(l(a))s.setDynamicLighting(wE.fromGlobeFlags(a)),n.isReadyForAtmosphere=n.isReadyForAtmosphere||!a.show||a._surface._tilesToRender.length>0;else{let T=r.dynamicLighting;s.setDynamicLighting(T),n.isReadyForAtmosphere=!0}n.skyAtmosphereCommand=s.update(e,a),l(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)}else n.skyAtmosphereCommand=void 0;n.skyBoxCommand=l(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let b=l(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=l(b)?b.drawCommand:void 0,n.sunComputeCommand=l(b)?b.computeCommand:void 0,n.moonCommand=l(this.moon)?this.moon.update(e):void 0}let u=n.clearGlobeDepth=l(a)&&a.show&&(!a.depthTestAgainstTerrain||this.mode===ne.SCENE2D);(n.useDepthPlane=u&&this.mode===ne.SCENE3D&&c.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==ne.SCENE2D&&!o;let d=e.mode===ne.SCENE3D&&!c.sunVisibleThroughGlobe?e.occluder:void 0,p=e.cullingVolume,g=oTe.planes;for(let b=0;b<5;++b)g[b]=p.planes[b];p=oTe,n.isSkyAtmosphereVisible=l(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(p,n.sunDrawCommand,d),n.isMoonVisible=this.isVisible(p,n.moonCommand,d);let m=this.specularEnvironmentMaps,x=this._specularEnvironmentCubeMap;l(m)&&x?.url!==m?(x=x&&x.destroy(),this._specularEnvironmentCubeMap=new Fh(m)):!l(m)&&l(x)&&(x.destroy(),this._specularEnvironmentCubeMap=void 0),l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.update(e)};function Cbt(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new p_({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),l(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function Abt(e){let t=e._frameState,{passes:n,shadowState:i,shadowMaps:o}=t,r=o.length,s=r>0&&!n.pick&&!n.pickVoxel&&e.mode===ne.SCENE3D;if(s!==i.shadowsEnabled&&(++i.lastDirtyTime,i.shadowsEnabled=s),i.lightShadowsEnabled=!1,!!s){for(let a=0;a<r;++a)if(o[a]!==i.shadowMaps[a]){++i.lastDirtyTime;break}i.shadowMaps.length=0,i.lightShadowMaps.length=0;for(let a=0;a<r;++a){let c=o[a];c.update(t),i.shadowMaps.push(c),c.fromLightSource&&(i.lightShadowMaps.push(c),i.lightShadowsEnabled=!0),c.dirty&&(++i.lastDirtyTime,c.dirty=!1)}}}function lTe(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),Cbt(e),Abt(e),e._globe&&e._globe.render(t)}function Ebt(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,a=o.passes,c=a.pick||a.pickVoxel;l(s.globeDepth)&&(s.globeDepth.picking=c);let u=r.useWebVR;r.originalFramebuffer=t.framebuffer,l(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!u?e._sunPostProcess=new VH:l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!l(e.sun)&&l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let f=e._clearColorCommand;H.clone(n,f.color),f.execute(i,t);let d=r.useGlobeDepthFramebuffer=l(s.globeDepth);d&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&l(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let m=e.postProcessStages,x=r.usePostProcess=!c&&(e._hdr||m.length>0||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);if(r.usePostProcessSelected=!1,x&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),m.update(i,o.useLogDepth,e._hdr),m.clear(i),x=r.usePostProcess=m.ready,r.usePostProcessSelected=x&&m.hasSelected),r.isSunVisible&&e.sunBloom&&!u?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):d?t.framebuffer=s.globeDepth.framebuffer:x&&(t.framebuffer=s.sceneFramebuffer.framebuffer),l(t.framebuffer)&&f.execute(i,t),r.useInvertClassification=!c&&l(t.framebuffer)&&e.invertClassification){let T;if(o.invertClassificationColor.alpha===1&&d&&(T=s.globeDepth.framebuffer),l(T)||i.depthTexture){if(e._invertClassification.previousFramebuffer=T,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),o.invertClassificationColor.alpha<1&&g){let C=e._invertClassification.unclassifiedCommand,A=C.derivedCommands;A.oit=p.createDerivedCommands(C,i,A.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}ti.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,{globeDepth:o,translucentTileClassification:r}=i;l(o)&&o.prepareColorTextures(t);let{useOIT:s,useGlobeDepthFramebuffer:a,usePostProcess:c,originalFramebuffer:u}=n,f=a?o.colorFramebufferManager:void 0,d=i.sceneFramebuffer._colorFramebuffer,p=i.sceneFramebuffer.idFramebuffer;if(s&&(e.framebuffer=c?d.framebuffer:u,i.oit.execute(t,e)),r.hasTranslucentDepth&&r.isSupported()&&r.execute(this,e),c){i.sceneFramebuffer.prepareColorTextures(t);let g=d;a&&!s&&(g=f);let m=this.postProcessStages,x=g.getColorTexture(0),b=p.getColorTexture(0),T=y(f,d).getDepthStencilTexture();m.execute(t,x,T,b),m.copy(t,u)}!s&&!c&&a&&(e.framebuffer=u,o.executeCopyColor(t,e))};function Sbt(e){let t=e._frameState.afterRender;for(let n=0;n<t.length;++n)t[n]()&&e.requestRender();t.length=0}function wbt(e){if(e.mode===ne.MORPHING)return;let t=e.camera.positionCartographic;return e.getHeight(t)}ti.prototype.getHeight=function(e,t){if(!l(e))return;let n=t===Ye.CLAMP_TO_TERRAIN||t===Ye.RELATIVE_TO_TERRAIN,i=t===Ye.CLAMP_TO_3D_TILE||t===Ye.RELATIVE_TO_3D_TILE;if(!l(e))return;let o=Number.NEGATIVE_INFINITY;if(!n){let s=this.primitives.length;for(let a=0;a<s;++a){let c=this.primitives.get(a);if(!c.isCesium3DTileset||!c.show||!c.enableCollision)continue;let u=c.getHeight(e,this);l(u)&&u>o&&(o=u)}}let r=this._globe;if(!i&&l(r)&&r.show){let s=r.getHeight(e);s>o&&(o=s)}if(o>Number.NEGATIVE_INFINITY)return o};var UK=new fe;ti.prototype.updateHeight=function(e,t,n){let i=()=>{fe.clone(e,UK);let g=this.getHeight(e,n);l(g)&&(UK.height=g,t(UK))},o=n===Ye.CLAMP_TO_TERRAIN||n===Ye.RELATIVE_TO_TERRAIN,r=n===Ye.CLAMP_TO_3D_TILE||n===Ye.RELATIVE_TO_3D_TILE,s;!r&&l(this.globe)&&(s=this.globe._surface.updateHeight(e,i));let a={},c=this._ellipsoid,u=g=>{if(o||g.isDestroyed()||!g.isCesium3DTileset)return;let m=g.updateHeight(e,i,c);a[g.id]=m};if(!o){let g=this.primitives.length;for(let m=0;m<g;++m){let x=this.primitives.get(m);u(x)}}let f=this.primitives.primitiveAdded.addEventListener(u),d=this.primitives.primitiveRemoved.addEventListener(g=>{g.isDestroyed()||!g.isCesium3DTileset||(l(a[g.id])&&a[g.id](),delete a[g.id])});return()=>{s=s&&s(),Object.values(a).forEach(g=>g()),a={},f(),d()}};function vbt(e){let t=e.camera,n=e._mode,i=e._screenSpaceCameraController,o=t.positionCartographic;if(!l(o))return!1;if(!i.onMap()&&o.height<0)return!0;if(n===ne.SCENE2D||n===ne.MORPHING)return!1;let r=e._globeHeight;return l(r)&&o.height<r}ti.prototype.initializeFrame=function(){if(this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeightDirty){l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),this._globeHeight=wbt(this),this._globeHeightDirty=!1;let e=this.camera.positionCartographic;this._removeUpdateHeightCallback=this.updateHeight(e,t=>{this.isDestroyed()||(this._globeHeight=t.height)})}this._cameraUnderground=vbt(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),l(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function Dbt(e,t){if(e.debugShowFramesPerSecond){if(!l(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new e0({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else l(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function Ibt(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),l(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function Pbt(e){e.primitives.postPassesUpdate(e._frameState),bc.update()}var Rbt=new H;function Obt(e){let t=e._frameState,n=e.context,{uniformState:i}=n,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=qxt;let r=y(e.backgroundColor,H.BLACK);e._hdr&&(r=H.clone(r,Rbt),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,t.atmosphere=e.atmosphere,e.fog.update(t),i.update(t);let s=e.shadowMap;l(s)&&s.enabled&&(!l(e.light)||e.light instanceof H_?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=qe.clone(a,c.viewport),l(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,lbt(e,c),l(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function Fb(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function Mbt(e){return e._picking.updateMostDetailedRayPicks(e)}ti.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,l(e)||(e=K.now());let n=this._view.checkForCameraUpdates(this);n&&(this._globeHeightDirty=!0);let i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===ne.MORPHING;if(!i&&l(this.maximumRenderTimeChange)&&l(this._lastRenderTime)){let o=Math.abs(K.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=K.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=P.incrementWrap(t.frameNumber,15e6,1);rTe(this,o,e),t.newFrame=!0}Fb(this,Ibt),this.primitives.show&&(Fb(this,Mbt),Fb(this,Lbt),Fb(this,Nbt),i||Fb(this,Fbt)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),Fb(this,Obt)),Dbt(this,i),Fb(this,Pbt),Sbt(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};ti.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};ti.prototype.requestRender=function(){this._renderRequested=!0};ti.prototype.clampLineWidth=function(e){return Math.max(Ut.minimumAliasedLineWidth,Math.min(e,Ut.maximumAliasedLineWidth))};ti.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};ti.prototype.pickVoxel=function(e,t,n){let i=this.pick(e,t,n);if(!l(i))return;let o=i.primitive;if(!(o instanceof Nb))return;let r=this._picking.pickVoxelCoordinate(this,e,t,n),s=255*r[0]+r[1],a=o._traversal.findKeyframeNode(s);if(!l(a))return;let c=255*r[2]+r[3];return UH.fromKeyframeNode(o,s,c,a)};ti.prototype.pickMetadata=function(e,t,n,i){let o=this.pick(e);if(!l(o))return;let r=o.detail?.model?.structuralMetadata?.schema,s=Sz(r,t,n,i);if(!l(s))return;let a=new k4(t,n,i,s);return this._picking.pickMetadata(this,e,a)};ti.prototype.pickMetadataSchema=function(e){let t=this.pick(e);return l(t)?t.detail?.model?.structuralMetadata?.schema:void 0};ti.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};ti.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};ti.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function Lbt(e){let t=e._frameState;BK.camera=t.camera,BK.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,BK)}function Nbt(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;kK.camera=e.preloadFlightCamera,kK.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,kK)}function Fbt(e){e.primitives.updateForPass(e._frameState,Yxt)}ti.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};ti.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};ti.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};ti.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};ti.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};ti.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};ti.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};ti.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};ti.prototype.cartesianToCanvasCoordinates=function(e,t){return ki.worldToWindowCoordinates(this,e,t)};ti.prototype.completeMorph=function(){this._transitioner.completeMorph()};ti.prototype.morphTo2D=function(e){e=y(e,2),this._transitioner.morphTo2D(e,this._ellipsoid)};ti.prototype.morphToColumbusView=function(e){e=y(e,2),this._transitioner.morphToColumbusView(e,this._ellipsoid)};ti.prototype.morphTo3D=function(e){e=y(e,2),this._transitioner.morphTo3D(e,this._ellipsoid)};function Bbt(e,t){if(e._removeTerrainProviderReadyListener=e._removeTerrainProviderReadyListener&&e._removeTerrainProviderReadyListener(),t.ready){l(e.globe)&&(e.globe.terrainProvider=t.provider);return}e.globe.terrainProvider=void 0,e._removeTerrainProviderReadyListener=t.readyEvent.addEventListener(n=>{l(e)&&l(e.globe)&&(e.globe.terrainProvider=n),e._removeTerrainProviderReadyListener()})}ti.prototype.setTerrain=function(e){return Bbt(this,e),e};ti.prototype.isDestroyed=function(){return!1};ti.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),l(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),ue(this)};var XH=ti;var AP=`float interpolateByDistance(vec4 nearFarScalar, float distance) -{ - float startDistance = nearFarScalar.x; - float startValue = nearFarScalar.y; - float endDistance = nearFarScalar.z; - float endValue = nearFarScalar.w; - float t = clamp((distance - startDistance) / (endDistance - startDistance), 0.0, 1.0); - return mix(startValue, endValue, t); + +#if (SAMPLE_COUNT > 1) +void getOctreeLeafSampleDatas(in OctreeNodeData data, in ivec4 octreeCoords, out SampleData sampleDatas[SAMPLE_COUNT]) { + int leafIndex = data.data; + int leafNodeTexelCount = 2; + // Adding 0.5 moves to the center of the texel + float leafCoordXStart = float(intMod(leafIndex, u_octreeLeafNodeTilesPerRow) * leafNodeTexelCount) + 0.5; + float leafCoordY = float(leafIndex / u_octreeLeafNodeTilesPerRow) + 0.5; + + // Get an interpolation weight and a flag to determine whether to read the parent texture + vec2 leafUv0 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 0.0, leafCoordY); + vec4 leafData0 = texture(u_octreeLeafNodeTexture, leafUv0); + float lerp = normU8x2_toFloat(leafData0.xy); + sampleDatas[0].weight = 1.0 - lerp; + sampleDatas[1].weight = lerp; + // TODO: this looks wrong? Should be comparing to OCTREE_FLAG_PACKED_LEAF_FROM_PARENT + sampleDatas[0].tileCoords = (normU8_toInt(leafData0.z) == 1) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; + sampleDatas[1].tileCoords = (normU8_toInt(leafData0.w) == 1) + ? ivec4(octreeCoords.xyz / 2, octreeCoords.w - 1) + : octreeCoords; + + // Get megatexture indices for both samples + vec2 leafUv1 = u_octreeLeafNodeTexelSizeUv * vec2(leafCoordXStart + 1.0, leafCoordY); + vec4 leafData1 = texture(u_octreeLeafNodeTexture, leafUv1); + sampleDatas[0].megatextureIndex = normU8x2_toInt(leafData1.xy); + sampleDatas[1].megatextureIndex = normU8x2_toInt(leafData1.zw); } +#endif -void computeAtmosphereScattering(vec3 positionWC, vec3 lightDirection, out vec3 rayleighColor, out vec3 mieColor, out float opacity, out float underTranslucentGlobe) -{ - float ellipsoidRadiiDifference = czm_ellipsoidRadii.x - czm_ellipsoidRadii.z; +OctreeNodeData traverseOctreeDownwards(in vec3 shapePosition, inout TraversalData traversalData) { + float sizeAtLevel = exp2(-1.0 * float(traversalData.octreeCoords.w)); + vec3 start = vec3(traversalData.octreeCoords.xyz) * sizeAtLevel; + vec3 end = start + vec3(sizeAtLevel); + OctreeNodeData childData; - // Adjustment to the atmosphere radius applied based on the camera height. - float distanceAdjustMin = czm_ellipsoidRadii.x / 4.0; - float distanceAdjustMax = czm_ellipsoidRadii.x; - float distanceAdjustModifier = ellipsoidRadiiDifference / 2.0; - float distanceAdjust = distanceAdjustModifier * clamp((czm_eyeHeight - distanceAdjustMin) / (distanceAdjustMax - distanceAdjustMin), 0.0, 1.0); + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { + // Find out which octree child contains the position + // 0 if before center, 1 if after + vec3 center = 0.5 * (start + end); + vec3 childCoord = step(center, shapePosition); - // Since atmosphere scattering assumes the atmosphere is a spherical shell, we compute an inner radius of the atmosphere best fit - // for the position on the ellipsoid. - float radiusAdjust = (ellipsoidRadiiDifference / 4.0) + distanceAdjust; - float atmosphereInnerRadius = (length(czm_viewerPositionWC) - czm_eyeHeight) - radiusAdjust; + // Get octree coords for the next level down + ivec4 octreeCoords = traversalData.octreeCoords; + traversalData.octreeCoords = ivec4(octreeCoords.xyz * 2 + ivec3(childCoord), octreeCoords.w + 1); - // Setup the primary ray: from the camera position to the vertex position. - vec3 cameraToPositionWC = positionWC - czm_viewerPositionWC; - vec3 cameraToPositionWCDirection = normalize(cameraToPositionWC); - czm_ray primaryRay = czm_ray(czm_viewerPositionWC, cameraToPositionWCDirection); + childData = getOctreeChildData(traversalData.parentOctreeIndex, ivec3(childCoord)); + + if (childData.flag != OCTREE_FLAG_INTERNAL) { + // leaf tile - stop traversing + break; + } + + // interior tile - keep going deeper + start = mix(start, center, childCoord); + end = mix(center, end, childCoord); + traversalData.parentOctreeIndex = childData.data; + } - underTranslucentGlobe = 0.0; + return childData; +} - // Brighten the sky atmosphere under the Earth's atmosphere when translucency is enabled. - #if defined(GLOBE_TRANSLUCENT) +/** +* Transform a given position to an octree tile coordinate and a position within that tile, +* and find the corresponding megatexture index and texture coordinates +*/ +void traverseOctreeFromBeginning(in vec3 shapePosition, out TraversalData traversalData, out SampleData sampleDatas[SAMPLE_COUNT]) { + traversalData.octreeCoords = ivec4(0); + traversalData.parentOctreeIndex = 0; - // Check for intersection with the inner radius of the atmopshere. - czm_raySegment primaryRayEarthIntersect = czm_raySphereIntersectionInterval(primaryRay, vec3(0.0), atmosphereInnerRadius + radiusAdjust); - if (primaryRayEarthIntersect.start > 0.0 && primaryRayEarthIntersect.stop > 0.0) { + OctreeNodeData nodeData = getOctreeNodeData(vec2(0.0)); + if (nodeData.flag != OCTREE_FLAG_LEAF) { + nodeData = traverseOctreeDownwards(shapePosition, traversalData); + } - // Compute position on globe. - vec3 direction = normalize(positionWC); - czm_ray ellipsoidRay = czm_ray(positionWC, -direction); - czm_raySegment ellipsoidIntersection = czm_rayEllipsoidIntersectionInterval(ellipsoidRay, vec3(0.0), czm_ellipsoidInverseRadii); - vec3 onEarth = positionWC - (direction * ellipsoidIntersection.start); + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + #else + getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); + #endif +} - // Control the color using the camera angle. - float angle = dot(normalize(czm_viewerPositionWC), normalize(onEarth)); +bool inRange(in vec3 v, in vec3 minVal, in vec3 maxVal) { + return clamp(v, minVal, maxVal) == v; +} - // Control the opacity using the distance from Earth. - opacity = interpolateByDistance(vec4(0.0, 1.0, czm_ellipsoidRadii.x, 0.0), length(czm_viewerPositionWC - onEarth)); - vec3 horizonColor = vec3(0.1, 0.2, 0.3); - vec3 nearColor = vec3(0.0); +bool insideTile(in vec3 shapePosition, in ivec4 octreeCoords) { + vec3 tileUv = getTileUv(shapePosition, octreeCoords); + bool inside = inRange(tileUv, vec3(0.0), vec3(1.0)); + // Assume (!) the position is always inside the root tile. + return inside || octreeCoords.w == 0; +} - rayleighColor = mix(nearColor, horizonColor, exp(-angle) * opacity); +void traverseOctreeFromExisting(in vec3 shapePosition, inout TraversalData traversalData, inout SampleData sampleDatas[SAMPLE_COUNT]) { + if (insideTile(shapePosition, traversalData.octreeCoords)) { + for (int i = 0; i < SAMPLE_COUNT; i++) { + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + } + return; + } - // Set the traslucent flag to avoid alpha adjustment in computeFinalColor funciton. - underTranslucentGlobe = 1.0; - return; + // Go up tree until we find a parent tile containing shapePosition + for (int i = 0; i < OCTREE_MAX_LEVELS; ++i) { + traversalData.octreeCoords.xyz /= 2; + traversalData.octreeCoords.w -= 1; + + if (insideTile(shapePosition, traversalData.octreeCoords)) { + break; } - #endif - computeScattering( - primaryRay, - length(cameraToPositionWC), - lightDirection, - atmosphereInnerRadius, - rayleighColor, - mieColor, - opacity - ); + traversalData.parentOctreeIndex = getOctreeParentIndex(traversalData.parentOctreeIndex); + } - // Alter the opacity based on how close the viewer is to the ground. - // (0.0 = At edge of atmosphere, 1.0 = On ground) - float cameraHeight = czm_eyeHeight + atmosphereInnerRadius; - float atmosphereOuterRadius = atmosphereInnerRadius + ATMOSPHERE_THICKNESS; - opacity = clamp((atmosphereOuterRadius - cameraHeight) / (atmosphereOuterRadius - atmosphereInnerRadius), 0.0, 1.0); + // Go down tree + OctreeNodeData nodeData = traverseOctreeDownwards(shapePosition, traversalData); - // Alter alpha based on time of day (0.0 = night , 1.0 = day) - float nightAlpha = (u_radiiAndDynamicAtmosphereColor.z != 0.0) ? clamp(dot(normalize(positionWC), lightDirection), 0.0, 1.0) : 1.0; - opacity *= pow(nightAlpha, 0.5); + #if (SAMPLE_COUNT == 1) + getOctreeLeafSampleData(nodeData, traversalData.octreeCoords, sampleDatas[0]); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + #else + getOctreeLeafSampleDatas(nodeData, traversalData.octreeCoords, sampleDatas); + sampleDatas[0].tileUv = getClampedTileUv(shapePosition, sampleDatas[0].tileCoords); + sampleDatas[1].tileUv = getClampedTileUv(shapePosition, sampleDatas[1].tileCoords); + #endif } -`;var KH=`in vec3 v_outerPositionWC; +`;var DH=`// See Octree.glsl for the definitions of SampleData and intMod -uniform vec3 u_hsbShift; +/* Megatexture defines (set in Scene/VoxelRenderResources.js) +#define SAMPLE_COUNT ### +#define NEAREST_SAMPLING +#define PADDING +*/ -#ifndef PER_FRAGMENT_ATMOSPHERE -in vec3 v_mieColor; -in vec3 v_rayleighColor; -in float v_opacity; -in float v_translucent; +uniform ivec2 u_megatextureSliceDimensions; // number of slices per tile, in two dimensions +uniform ivec2 u_megatextureTileDimensions; // number of tiles per megatexture, in two dimensions +uniform vec2 u_megatextureVoxelSizeUv; +uniform vec2 u_megatextureSliceSizeUv; +uniform vec2 u_megatextureTileSizeUv; + +uniform ivec3 u_dimensions; // does not include padding +#if defined(PADDING) + uniform ivec3 u_paddingBefore; + uniform ivec3 u_paddingAfter; #endif -void main (void) +// Integer min, max, clamp: For WebGL1 only +int intMin(int a, int b) { + return a <= b ? a : b; +} +int intMax(int a, int b) { + return a >= b ? a : b; +} +int intClamp(int v, int minVal, int maxVal) { + return intMin(intMax(v, minVal), maxVal); +} + +vec2 index1DTo2DTexcoord(int index, ivec2 dimensions, vec2 uvScale) { - float lightEnum = u_radiiAndDynamicAtmosphereColor.z; - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(v_outerPositionWC, lightEnum); + int indexX = intMod(index, dimensions.x); + int indexY = index / dimensions.x; + return vec2(indexX, indexY) * uvScale; +} - vec3 mieColor; - vec3 rayleighColor; - float opacity; - float translucent; +/* + How is 3D data stored in a 2D megatexture? - #ifdef PER_FRAGMENT_ATMOSPHERE - computeAtmosphereScattering( - v_outerPositionWC, - lightDirection, - rayleighColor, - mieColor, - opacity, - translucent - ); - #else - mieColor = v_mieColor; - rayleighColor = v_rayleighColor; - opacity = v_opacity; - translucent = v_translucent; - #endif + In this example there is only one loaded tile and it has 2x2x2 voxels (8 voxels total). + The data is sliced by Z. The data at Z = 0 is placed in texels (0,0), (0,1), (1,0), (1,1) and + the data at Z = 1 is placed in texels (2,0), (2,1), (3,0), (3,1). + Note that there could be empty space in the megatexture because it's a power of two. - vec4 color = computeAtmosphereColor(v_outerPositionWC, lightDirection, rayleighColor, mieColor, opacity); + 0 1 2 3 + +---+---+---+---+ + | | | | | 3 + +---+---+---+---+ + | | | | | 2 + +-------+-------+ + |010|110|011|111| 1 + |--- ---|--- ---| + |000|100|001|101| 0 + +-------+-------+ - #ifndef HDR - color.rgb = czm_pbrNeutralTonemapping(color.rgb); - color.rgb = czm_inverseGamma(color.rgb); - #endif + When doing linear interpolation the megatexture needs to be sampled twice: once for + the Z slice above the voxel coordinate and once for the slice below. The two slices + are interpolated with fract(coord.z - 0.5). For example, a Z coordinate of 1.0 is + halfway between two Z slices so the interpolation factor is 0.5. Below is a side view + of the 3D voxel grid with voxel coordinates on the left side. - #ifdef COLOR_CORRECT - const bool ignoreBlackPixels = true; - color.rgb = czm_applyHSBShift(color.rgb, u_hsbShift, ignoreBlackPixels); + 2 +---+ + |001| + 1 +-z-+ + |000| + 0 +---+ + + When doing nearest neighbor the megatexture only needs to be sampled once at the closest Z slice. +*/ + +Properties getPropertiesFromMegatexture(in SampleData sampleData) { + int tileIndex = sampleData.megatextureIndex; + vec3 voxelCoord = sampleData.tileUv * vec3(u_dimensions); + ivec3 voxelDimensions = u_dimensions; + + #if defined(PADDING) + voxelDimensions += u_paddingBefore + u_paddingAfter; + voxelCoord += vec3(u_paddingBefore); #endif - // For the parts of the sky atmosphere that are not behind a translucent globe, - // we mix in the default opacity so that the sky atmosphere still appears at distance. - // This is needed because the opacity in the sky atmosphere is initially adjusted based - // on the camera height. - if (translucent == 0.0) { - color.a = mix(color.b, 1.0, color.a) * smoothstep(0.0, 1.0, czm_morphTime); - } + #if defined(NEAREST_SAMPLING) + // Round to the center of the nearest voxel + voxelCoord = floor(voxelCoord) + vec3(0.5); + #endif - out_FragColor = color; -} -`;var $H=`in vec4 position; + // Tile location + vec2 tileUvOffset = index1DTo2DTexcoord(tileIndex, u_megatextureTileDimensions, u_megatextureTileSizeUv); -out vec3 v_outerPositionWC; + // Slice location + float slice = voxelCoord.z - 0.5; + int sliceIndex = int(floor(slice)); + int sliceIndex0 = intClamp(sliceIndex, 0, voxelDimensions.z - 1); + vec2 sliceUvOffset0 = index1DTo2DTexcoord(sliceIndex0, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); -#ifndef PER_FRAGMENT_ATMOSPHERE -out vec3 v_mieColor; -out vec3 v_rayleighColor; -out float v_opacity; -out float v_translucent; -#endif + // Voxel location + vec2 voxelUvOffset = clamp(voxelCoord.xy, vec2(0.5), vec2(voxelDimensions.xy) - vec2(0.5)) * u_megatextureVoxelSizeUv; -void main(void) -{ - vec4 positionWC = czm_model * position; - float lightEnum = u_radiiAndDynamicAtmosphereColor.z; - vec3 lightDirection = czm_getDynamicAtmosphereLightDirection(positionWC.xyz, lightEnum); + // Final location in the megatexture + vec2 uv0 = tileUvOffset + sliceUvOffset0 + voxelUvOffset; - #ifndef PER_FRAGMENT_ATMOSPHERE - computeAtmosphereScattering( - positionWC.xyz, - lightDirection, - v_rayleighColor, - v_mieColor, - v_opacity, - v_translucent - ); + #if defined(NEAREST_SAMPLING) + return getPropertiesFromMegatextureAtUv(uv0); + #else + float sliceLerp = fract(slice); + int sliceIndex1 = intMin(sliceIndex + 1, voxelDimensions.z - 1); + vec2 sliceUvOffset1 = index1DTo2DTexcoord(sliceIndex1, u_megatextureSliceDimensions, u_megatextureSliceSizeUv); + vec2 uv1 = tileUvOffset + sliceUvOffset1 + voxelUvOffset; + Properties properties0 = getPropertiesFromMegatextureAtUv(uv0); + Properties properties1 = getPropertiesFromMegatextureAtUv(uv1); + return mixProperties(properties0, properties1, sliceLerp); #endif - - v_outerPositionWC = positionWC.xyz; - gl_Position = czm_modelViewProjection * position; } -`;function mS(e){e=y(e,ee.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=F.fromScale(n),this._modelMatrix=new F,this._command=new et({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties(mS.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});mS.prototype.setDynamicLighting=function(e){this._radiiAndDynamicAtmosphereColor.z=e};var HK=new F;mS.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==ne.SCENE3D&&n!==ne.MORPHING||!e.passes.render)return;let i=F.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,HK),o=F.multiplyTransformation(i,Mo.Y_UP_TO_Z_UP,HK),r=F.multiply(this._scaleMatrix,o,HK);F.clone(r,this._modelMatrix);let s=e.context,a=kbt(this),c=e.globeTranslucencyState.translucent,u=this.perFragmentAtmosphere||c||!l(t)||!t.show,f=this._command;if(!l(f.vertexArray)){let p=la.createGeometry(new la({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:Pe.POSITION_ONLY}));f.vertexArray=di.fromGeometry({context:s,geometry:p,attributeLocations:Un.createAttributeLocations(p),bufferUsage:Ve.STATIC_DRAW}),f.renderState=ze.fromCache({cull:{enabled:!0,face:yi.FRONT},blending:fn.ALPHA_BLEND,depthMask:!1})}let d=a|u<<2|c<<3;if(d!==this._flags){this._flags=d;let p=[];a&&p.push("COLOR_CORRECT"),u&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new Ge({defines:p,sources:[Xy,AP,$H]}),m=new Ge({defines:p,sources:[Xy,AP,KH]});this._spSkyAtmosphere=sn.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:m}),f.shaderProgram=this._spSkyAtmosphere}return f};function kbt(e){return!(P.equalsEpsilon(e.hueShift,0,P.EPSILON7)&&P.equalsEpsilon(e.saturationShift,0,P.EPSILON7)&&P.equalsEpsilon(e.brightnessShift,0,P.EPSILON7))}mS.prototype.isDestroyed=function(){return!1};mS.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),ue(this)};var ZH=mS;var QH=`uniform samplerCube u_cubeMap; -in vec3 v_texCoord; +// Convert an array of sample datas to a final weighted properties. +Properties accumulatePropertiesFromMegatexture(in SampleData sampleDatas[SAMPLE_COUNT]) { + #if (SAMPLE_COUNT == 1) + return getPropertiesFromMegatexture(sampleDatas[0]); + #else + // When more than one sample is taken the accumulator needs to start at 0 + Properties properties = clearProperties(); + for (int i = 0; i < SAMPLE_COUNT; ++i) { + float weight = sampleDatas[i].weight; -void main() -{ - vec4 color = czm_textureCube(u_cubeMap, normalize(v_texCoord)); - out_FragColor = vec4(czm_gammaCorrect(color).rgb, czm_morphTime); + // Avoid reading the megatexture when the weight is 0 as it can be costly. + if (weight > 0.0) { + Properties tempProperties = getPropertiesFromMegatexture(sampleDatas[i]); + tempProperties = scaleProperties(tempProperties, weight); + properties = sumProperties(properties, tempProperties); + } + } + return properties; + #endif } -`;var JH=`in vec3 position; - -out vec3 v_texCoord; - -void main() +`;function Oyt(e){let t=new BT;this.shaderBuilder=t;let n=e._customShader,i=Ct(e._uniformMap,n.uniformMap);e._uniformMap=i;let o=n.uniforms;for(let p in o)if(o.hasOwnProperty(p)){let g=o[p];t.addUniform(g.type,p,pe.FRAGMENT)}t.addUniform("sampler2D","u_megatextureTextures[METADATA_COUNT]",pe.FRAGMENT),this.uniformMap=i;let r=e._clippingPlanes,s=l(r)&&r.enabled?r.length:0;this.clippingPlanes=r,this.clippingPlanesLength=s,t.addVertexLines([gH]),t.addFragmentLines([n.fragmentShaderText,"#line 0",wH,pH,yH,DH]),s>0&&(t.addDefine("CLIPPING_PLANES",void 0,pe.FRAGMENT),t.addDefine("CLIPPING_PLANES_COUNT",s,pe.FRAGMENT),r.unionClippingRegions&&t.addDefine("CLIPPING_PLANES_UNION",void 0,pe.FRAGMENT),t.addFragmentLines([bH])),e._depthTest&&(t.addDefine("DEPTH_TEST",void 0,pe.FRAGMENT),t.addFragmentLines([xH]));let a=e._provider.shape;a==="BOX"?t.addFragmentLines([EH,TH,TS]):a==="CYLINDER"?t.addFragmentLines([SH,gP,CH,TS]):a==="ELLIPSOID"&&(t.addDefine("SHAPE_ELLIPSOID",void 0,pe.FRAGMENT),t.addFragmentLines([vH,gP,AH,TS])),t.addFragmentLines([_H]);let c=e._shape,u=c.shaderDefines;for(let p in u)if(u.hasOwnProperty(p)){let g=u[p];l(g)&&(g=g===!0?void 0:g,t.addDefine(p,g,pe.FRAGMENT))}let f=c.shaderMaximumIntersectionsLength;s>0&&(t.addDefine("CLIPPING_PLANES_INTERSECTION_INDEX",f,pe.FRAGMENT),s===1?f+=1:r.unionClippingRegions?f+=2:f+=1),e._depthTest&&(t.addDefine("DEPTH_INTERSECTION_INDEX",f,pe.FRAGMENT),f+=1),t.addDefine("INTERSECTION_COUNT",f,pe.FRAGMENT),(!h.equals(e.paddingBefore,h.ZERO)||!h.equals(e.paddingAfter,h.ZERO))&&t.addDefine("PADDING",void 0,pe.FRAGMENT),e._useLogDepth&&t.addDefine("LOG_DEPTH_READ_ONLY",void 0,pe.FRAGMENT),e._nearestSampling&&t.addDefine("NEAREST_SAMPLING",void 0,pe.FRAGMENT);let d=e._traversal;t.addDefine("SAMPLE_COUNT",`${d._sampleCount}`,pe.FRAGMENT)}var IH=Oyt;function Ryt(e,t){let{shaderBuilder:n}=e,{names:i,types:o,componentTypes:r,minimumValues:s,maximumValues:a}=t._provider,c=o.length,u=l(s)&&l(a);n.addDefine("METADATA_COUNT",c,pe.FRAGMENT),u&&n.addDefine("STATISTICS",void 0,pe.FRAGMENT);for(let O=0;O<c;O++){let M=i[O],N=o[O],_=`PropertyStatistics_${M}`,E=`PropertyStatistics_${M}`;n.addStruct(_,E,pe.FRAGMENT);let w=PH(N);n.addStructField(_,w,"min"),n.addStructField(_,w,"max")}let f="Statistics",d="Statistics",p="statistics";n.addStruct(f,d,pe.FRAGMENT);for(let O=0;O<c;O++){let M=i[O],N=`PropertyStatistics_${M}`,_=M;n.addStructField(f,N,_)}let g="Metadata",m="Metadata",x="metadata";n.addStruct(g,m,pe.FRAGMENT),n.addStructField(g,d,p);for(let O=0;O<c;O++){let M=i[O],N=o[O],_=PH(N);n.addStructField(g,_,M)}for(let O=0;O<c;O++){let M=i[O],N=o[O],_=Lyt(N),E=`VoxelProperty_${M}`,w=`VoxelProperty_${M}`;n.addStruct(E,w,pe.FRAGMENT),n.addStructField(E,_,"partialDerivativeLocal"),n.addStructField(E,_,"partialDerivativeWorld"),n.addStructField(E,_,"partialDerivativeView"),n.addStructField(E,_,"partialDerivativeValid")}let b="Voxel",T="Voxel",C="voxel";n.addStruct(b,T,pe.FRAGMENT);for(let O=0;O<c;O++){let M=i[O],N=`VoxelProperty_${M}`;n.addStructField(b,N,M)}n.addStructField(b,"vec3","positionEC"),n.addStructField(b,"vec3","positionUv"),n.addStructField(b,"vec3","positionShapeUv"),n.addStructField(b,"vec3","positionUvLocal"),n.addStructField(b,"vec3","viewDirUv"),n.addStructField(b,"vec3","viewDirWorld"),n.addStructField(b,"vec3","surfaceNormal"),n.addStructField(b,"float","travelDistance"),n.addStructField(b,"int","stepCount"),n.addStructField(b,"int","tileIndex"),n.addStructField(b,"int","sampleIndex");let A="FragmentInput";n.addStruct(A,"FragmentInput",pe.FRAGMENT),n.addStructField(A,m,x),n.addStructField(A,T,C);let v="Properties",D="Properties",R="properties";n.addStruct(v,D,pe.FRAGMENT);for(let O=0;O<c;O++){let M=i[O],N=o[O],_=PH(N);n.addStructField(v,_,M)}{let O="clearProperties";n.addFunction(O,`${D} clearProperties()`,pe.FRAGMENT),n.addFunctionLines(O,[`${D} ${R};`]);for(let M=0;M<c;M++){let N=i[M],_=o[M],E=r[M],w=PH(_,E);n.addFunctionLines(O,[`${R}.${N} = ${w}(0.0);`])}n.addFunctionLines(O,[`return ${R};`])}{let O="sumProperties";n.addFunction(O,`${D} sumProperties(${D} propertiesA, ${D} propertiesB)`,pe.FRAGMENT),n.addFunctionLines(O,[`${D} ${R};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(O,[`${R}.${N} = propertiesA.${N} + propertiesB.${N};`])}n.addFunctionLines(O,[`return ${R};`])}{let O="scaleProperties";n.addFunction(O,`${D} scaleProperties(${D} ${R}, float scale)`,pe.FRAGMENT),n.addFunctionLines(O,[`${D} scaledProperties = ${R};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(O,[`scaledProperties.${N} *= scale;`])}n.addFunctionLines(O,["return scaledProperties;"])}{let O="mixProperties";n.addFunction(O,`${D} mixProperties(${D} propertiesA, ${D} propertiesB, float mixFactor)`,pe.FRAGMENT),n.addFunctionLines(O,[`${D} ${R};`]);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(O,[`${R}.${N} = mix(propertiesA.${N}, propertiesB.${N}, mixFactor);`])}n.addFunctionLines(O,[`return ${R};`])}{let O="copyPropertiesToMetadata";n.addFunction(O,`void copyPropertiesToMetadata(in ${D} ${R}, inout ${m} ${x})`,pe.FRAGMENT);for(let M=0;M<c;M++){let N=i[M];n.addFunctionLines(O,[`${x}.${N} = ${R}.${N};`])}}if(u){let O="setStatistics";n.addFunction(O,`void setStatistics(inout ${d} ${p})`,pe.FRAGMENT);for(let M=0;M<c;M++){let N=i[M],_=o[M],E=dt.getComponentCount(_);for(let w=0;w<E;w++){let I=Nyt(_,w),L=s[M][w],B=a[M][w];n.addFunctionLines(O,[`${p}.${N}.min${I} = ${Ube(L)};`,`${p}.${N}.max${I} = ${Ube(B)};`])}}}{let O="getPropertiesFromMegatextureAtUv";n.addFunction(O,`${D} getPropertiesFromMegatextureAtUv(vec2 texcoord)`,pe.FRAGMENT),n.addFunctionLines(O,[`${D} ${R};`]);for(let M=0;M<c;M++){let N=i[M],_=o[M],E=r[M],w=Myt(_,E);n.addFunctionLines(O,[`properties.${N} = texture(u_megatextureTextures[${M}], texcoord)${w};`])}n.addFunctionLines(O,[`return ${R};`])}}function PH(e){if(e===dt.SCALAR)return"float";if(e===dt.VEC2)return"vec2";if(e===dt.VEC3)return"vec3";if(e===dt.VEC4)return"vec4"}function Myt(e){if(e===dt.SCALAR)return".r";if(e===dt.VEC2)return".ra";if(e===dt.VEC3)return".rgb";if(e===dt.VEC4)return""}function Lyt(e){if(e===dt.SCALAR)return"vec3";if(e===dt.VEC2)return"mat2";if(e===dt.VEC3)return"mat3";if(e===dt.VEC4)return"mat4"}function Ube(e){let t=e.toString();return t.indexOf(".")===-1&&(t=`${e}.0`),t}function Nyt(e,t){return e===dt.SCALAR?"":`[${t}]`}var OH=Ryt;function Fyt(e,t){let n=new IH(e);OH(n,e);let{shaderBuilder:i,clippingPlanes:o,clippingPlanesLength:r}=n;if(r>0){let T="getClippingPlane",C=r0(o,t),A=0,S=C.indexOf(")")+1,v=C.indexOf("{",S)+1,D=C.indexOf("}",v),R=C.slice(A,S),O=C.slice(v,D);i.addFunction(T,R,pe.FRAGMENT),i.addFunctionLines(T,[O])}let s=i.clone();s.addDefine("PICKING",void 0,pe.FRAGMENT);let a=i.clone();a.addDefine("PICKING_VOXEL",void 0,pe.FRAGMENT);let c=i.buildShaderProgram(t),u=s.buildShaderProgram(t),f=a.buildShaderProgram(t),d=ze.fromCache({cull:{enabled:!0,face:Ti.BACK},depthTest:{enabled:!1},depthMask:!1,blending:fn.PRE_MULTIPLIED_ALPHA_BLEND}),p=t.getViewportQuadVertexArray(),g=e._depthTest,m=new tt({vertexArray:p,primitiveType:Fe.TRIANGLES,renderState:d,shaderProgram:c,uniformMap:n.uniformMap,modelMatrix:e._compoundModelMatrix,pass:ve.VOXELS,executeInClosestFrustum:!0,owner:this,cull:g,occlude:g}),x=tt.shallowClone(m,new tt);x.shaderProgram=u,x.pickOnly=!0;let b=tt.shallowClone(m,new tt);if(b.shaderProgram=f,b.pickOnly=!0,l(e._drawCommand)){let T=e._drawCommand;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPick)){let T=e._drawCommandPick;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}if(l(e._drawCommandPickVoxel)){let T=e._drawCommandPickVoxel;T.shaderProgram=T.shaderProgram&&T.shaderProgram.destroy()}e._drawCommand=m,e._drawCommandPick=x,e._drawCommandPickVoxel=b}var RH=Fyt;function Bl(){this.orientedBoundingBox=new In,this.boundingSphere=new ce,this.boundTransform=new F,this.shapeTransform=new F,this._minBounds=h.clone(Bl.DefaultMinBounds,new h),this._maxBounds=h.clone(Bl.DefaultMaxBounds,new h),this.shaderUniforms={renderMinBounds:new h,renderMaxBounds:new h,boxUvToShapeUvScale:new h,boxUvToShapeUvTranslate:new h},this.shaderDefines={BOX_INTERSECTION_INDEX:void 0,BOX_HAS_SHAPE_BOUNDS:void 0},this.shaderMaximumIntersectionsLength=0}var Byt=new h,MK=new h,kyt=new $,Vyt=new h,Uyt=new h,zyt=new h,Hyt=new h,zbe=F.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new F);Bl.prototype.update=function(e,t,n,i,o){i=y(i,Bl.DefaultMinBounds),o=y(o,Bl.DefaultMaxBounds);let r=Bl.DefaultMinBounds,s=Bl.DefaultMaxBounds;t=this._minBounds=h.clamp(t,r,s,this._minBounds),n=this._maxBounds=h.clamp(n,r,s,this._maxBounds),i=h.clamp(i,r,s,Vyt),o=h.clamp(o,r,s,Uyt);let a=h.clamp(t,i,o,zyt),c=h.clamp(n,i,o,Hyt),u=F.getScale(e,MK);if(a.x>c.x||a.y>c.y||a.z>c.z||(a.x===c.x)+(a.y===c.y)+(a.z===c.z)>=2||i.x>o.x||i.y>o.y||i.z>o.z||u.x===0||u.y===0||u.z===0)return!1;this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=NK(a,c,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ce.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let{shaderUniforms:f,shaderDefines:d}=this;for(let m in d)d.hasOwnProperty(m)&&(d[m]=void 0);let p=!h.equals(t,r)||!h.equals(n,s),g=0;if(d.BOX_INTERSECTION_INDEX=g,g+=1,f.renderMinBounds=F.multiplyByPoint(zbe,a,f.renderMinBounds),f.renderMaxBounds=F.multiplyByPoint(zbe,c,f.renderMaxBounds),p){d.BOX_HAS_SHAPE_BOUNDS=!0;let m=t,x=n;f.boxUvToShapeUvScale=h.fromElements(2/(m.x===x.x?1:x.x-m.x),2/(m.y===x.y?1:x.y-m.y),2/(m.z===x.z?1:x.z-m.z),f.boxUvToShapeUvScale),f.boxUvToShapeUvTranslate=h.fromElements(-f.boxUvToShapeUvScale.x*(m.x*.5+.5),-f.boxUvToShapeUvScale.y*(m.y*.5+.5),-f.boxUvToShapeUvScale.z*(m.z*.5+.5),f.boxUvToShapeUvTranslate)}return this.shaderMaximumIntersectionsLength=g,!0};var MH=new h,LK=new h;Bl.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minBounds,s=this._maxBounds,a=1/Math.pow(2,e),c=h.fromElements(P.lerp(r.x,s.x,a*t),P.lerp(r.y,s.y,a*n),P.lerp(r.z,s.z,a*i),MH),u=h.fromElements(P.lerp(r.x,s.x,a*(t+1)),P.lerp(r.y,s.y,a*(n+1)),P.lerp(r.z,s.z,a*(i+1)),LK);return NK(c,u,this.shapeTransform,o)};var Hbe=new h;Bl.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,Hbe),s=h.multiplyByScalar(r,o,Hbe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,MH),o,MH),c=h.add(a,s,LK),u=this._minBounds,f=this._maxBounds,d=h.fromElements(P.lerp(u.x,f.x,a.x),P.lerp(u.y,f.y,a.y),P.lerp(u.z,f.z,a.z),MH),p=h.fromElements(P.lerp(u.x,f.x,c.x),P.lerp(u.y,f.y,c.y),P.lerp(u.z,f.z,c.z),LK);return NK(d,p,this.shapeTransform,i)};Bl.DefaultMinBounds=Object.freeze(new h(-1,-1,-1));Bl.DefaultMaxBounds=Object.freeze(new h(1,1,1));function NK(e,t,n,i){let o=Bl.DefaultMinBounds,r=Bl.DefaultMaxBounds;if(h.equals(e,o)&&h.equals(t,r))i.center=F.getTranslation(n,i.center),i.halfAxes=F.getMatrix3(n,i.halfAxes);else{let a=F.getScale(n,MK),c=h.midpoint(e,t,Byt);i.center=F.multiplyByPoint(n,c,i.center),a=h.fromElements(a.x*.5*(t.x-e.x),a.y*.5*(t.y-e.y),a.z*.5*(t.z-e.z),MK);let u=F.getRotation(n,kyt);i.halfAxes=$.setScale(u,a,i.halfAxes)}return i}var S_=Bl;function es(){this.orientedBoundingBox=new In,this.boundingSphere=new ce,this.boundTransform=new F,this.shapeTransform=new F,this._minimumRadius=es.DefaultMinBounds.x,this._maximumRadius=es.DefaultMaxBounds.x,this._minimumHeight=es.DefaultMinBounds.y,this._maximumHeight=es.DefaultMaxBounds.y,this._minimumAngle=es.DefaultMinBounds.z,this._maximumAngle=es.DefaultMaxBounds.z,this.shaderUniforms={cylinderRenderHeightMinMax:new U,cylinderRenderRadiusMinMax:new U,cylinderRenderAngleMinMax:new U,cylinderUvToShapeUvRadius:new U,cylinderUvToShapeUvHeight:new U,cylinderUvToShapeUvAngle:new U,cylinderShapeUvAngleMinMax:new U,cylinderShapeUvAngleRangeZeroMid:0},this.shaderDefines={CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN:void 0,CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF:void 0,CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF:void 0,CYLINDER_HAS_SHAPE_BOUNDS_RADIUS:void 0,CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY:void 0,CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MAX:void 0,CYLINDER_INTERSECTION_INDEX_RADIUS_MIN:void 0,CYLINDER_INTERSECTION_INDEX_ANGLE:void 0},this.shaderMaximumIntersectionsLength=0}var qbe=new h;es.prototype.update=function(e,t,n,i,o){i=y(i,es.DefaultMinBounds),o=y(o,es.DefaultMaxBounds);let r=es.DefaultMinBounds.x,s=es.DefaultMaxBounds.x,a=es.DefaultMinBounds.y,c=es.DefaultMaxBounds.y,u=es.DefaultMinBounds.z,f=es.DefaultMaxBounds.z,d=f-u,p=.5*d,g=P.EPSILON10,m=P.EPSILON3,x=P.EPSILON10,b=P.clamp(t.x,r,s),T=P.clamp(n.x,r,s),C=P.clamp(i.x,r,s),A=P.clamp(o.x,r,s),S=Math.max(b,C),v=Math.min(T,A),D=P.clamp(t.y,a,c),R=P.clamp(n.y,a,c),O=P.clamp(i.y,a,c),M=P.clamp(o.y,a,c),N=Math.max(D,O),_=Math.min(R,M),E=P.negativePiToPi(t.z),w=P.negativePiToPi(n.z),I=P.negativePiToPi(i.z),L=P.negativePiToPi(o.z),B=Math.max(E,I),H=Math.min(w,L),V=F.getScale(e,qbe);if(v===0||S>v||N>_||P.equalsEpsilon(V.x,0,void 0,g)||P.equalsEpsilon(V.y,0,void 0,g)||P.equalsEpsilon(V.z,0,void 0,g))return!1;this._minimumRadius=b,this._maximumRadius=T,this._minimumHeight=D,this._maximumHeight=R,this._minimumAngle=E,this._maximumAngle=w,this.shapeTransform=F.clone(e,this.shapeTransform),this.orientedBoundingBox=BK(S,v,N,_,B,H,this.shapeTransform,this.orientedBoundingBox),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ce.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let W=b===r&&T===s,Y=D===a&&R===c,J=w<E,j=w-E+J*d,Z=j>p+x&&j<d-x,Q=j<p-x,he=j>=p-x&&j<=p+x,ye=Z||Q||he,re=P.equalsEpsilon(E,u,void 0,m),_e=P.equalsEpsilon(w,f,void 0,m),xe=S===r,Ie=H<B,De=H-B+Ie*d,Ne=De>=p-x&&De<d-x,Ce=De>x&&De<p-x,Be=De<=x,Ve=Ne||Ce||Be,{shaderUniforms:$e,shaderDefines:qe}=this;for(let ht in qe)qe.hasOwnProperty(ht)&&(qe[ht]=void 0);let pt=0;if(qe.CYLINDER_INTERSECTION_INDEX_RADIUS_MAX=pt,pt+=1,xe||(qe.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_MIN=!0,qe.CYLINDER_INTERSECTION_INDEX_RADIUS_MIN=pt,pt+=1),$e.cylinderRenderRadiusMinMax=U.fromElements(S,v,$e.cylinderRenderRadiusMinMax),S===v&&(qe.CYLINDER_HAS_RENDER_BOUNDS_RADIUS_FLAT=!0),!W){qe.CYLINDER_HAS_SHAPE_BOUNDS_RADIUS=!0;let ht=T-b,yt=0,Jt=1;ht!==0&&(yt=1/ht,Jt=-b/ht),$e.cylinderUvToShapeUvRadius=U.fromElements(yt,Jt,$e.cylinderUvToShapeUvRadius)}if(!Y){qe.CYLINDER_HAS_SHAPE_BOUNDS_HEIGHT=!0;let ht=R-D,yt=0,Jt=1;ht!==0&&(yt=2/ht,Jt=-(D+1)/ht),$e.cylinderUvToShapeUvHeight=U.fromElements(yt,Jt,$e.cylinderUvToShapeUvHeight)}if($e.cylinderRenderHeightMinMax=U.fromElements(N,_,$e.cylinderRenderHeightMinMax),J&&(qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_MAX_REVERSED=!0),Ve&&(qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE=!0,qe.CYLINDER_INTERSECTION_INDEX_ANGLE=pt,Ne?(qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_UNDER_HALF=!0,pt+=1):Ce?(qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_OVER_HALF=!0,pt+=2):Be&&(qe.CYLINDER_HAS_RENDER_BOUNDS_ANGLE_RANGE_EQUAL_ZERO=!0,pt+=2),$e.cylinderRenderAngleMinMax=U.fromElements(B,H,$e.cylinderRenderAngleMinMax)),ye){qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE=!0,re&&(qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MIN_DISCONTINUITY=!0),_e&&(qe.CYLINDER_HAS_SHAPE_BOUNDS_ANGLE_MAX_DISCONTINUITY=!0);let ht=(E-u)/d,yt=(w-u)/d,Jt=1-j/d;if($e.cylinderShapeUvAngleMinMax=U.fromElements(ht,yt,$e.cylinderShapeUvAngleMinMax),$e.cylinderShapeUvAngleRangeZeroMid=(yt+.5*Jt)%1,j<=x)$e.cylinderUvToShapeUvAngle=U.fromElements(0,1,$e.cylinderUvToShapeUvAngle);else{let Te=d/j,Ee=-(E-u)/j;$e.cylinderUvToShapeUvAngle=U.fromElements(Te,Ee,$e.cylinderUvToShapeUvAngle)}}return this.shaderMaximumIntersectionsLength=pt,!0};es.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=this._minimumRadius,s=this._maximumRadius,a=this._minimumHeight,c=this._maximumHeight,u=this._minimumAngle,f=this._maximumAngle,d=1/Math.pow(2,e),p=P.lerp(r,s,t*d),g=P.lerp(r,s,(t+1)*d),m=P.lerp(a,c,n*d),x=P.lerp(a,c,(n+1)*d),b=P.lerp(u,f,i*d),T=P.lerp(u,f,(i+1)*d);return BK(p,g,m,x,b,T,this.shapeTransform,o)};var Gbe=new h,Wbe=new h,Gyt=new h;es.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,Gbe),s=h.multiplyByScalar(r,o,Gbe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,Wbe),o,Wbe),c=h.add(a,s,Gyt),u=this._minimumRadius,f=this._maximumRadius,d=this._minimumHeight,p=this._maximumHeight,g=this._minimumAngle,m=this._maximumAngle,x=P.lerp(u,f,a.x),b=P.lerp(u,f,c.x),T=P.lerp(d,p,a.y),C=P.lerp(d,p,c.y),A=P.lerp(g,m,a.z),S=P.lerp(g,m,c.z);return BK(x,b,T,C,A,S,this.shapeTransform,i)};es.DefaultMinBounds=Object.freeze(new h(0,-1,-P.PI));es.DefaultMaxBounds=Object.freeze(new h(1,1,+P.PI));var Wyt=5,jyt=new Array(Wyt),qyt=new h,Yyt=new $,Xyt=new F,Kyt=new F,Zyt=new F,FK=new F,$yt=new h,Qyt=new h,Jyt=new h,Ybe=new Array(8);for(let e=0;e<8;e++)Ybe[e]=new h;function jbe(e,t,n){return Math.abs(oe.dot(e,t))<n}function e0t(e){let t=F.getColumn(e,0,$yt),n=F.getColumn(e,1,Qyt),i=F.getColumn(e,2,Jyt),o=P.EPSILON4;return jbe(t,n,o)&&jbe(n,i,o)}function t0t(e,t){let n=Ybe;h.fromElements(-.5,-.5,-.5,n[0]),h.fromElements(-.5,-.5,.5,n[1]),h.fromElements(-.5,.5,-.5,n[2]),h.fromElements(-.5,.5,.5,n[3]),h.fromElements(.5,-.5,-.5,n[4]),h.fromElements(.5,-.5,.5,n[5]),h.fromElements(.5,.5,-.5,n[6]),h.fromElements(.5,.5,.5,n[7]);for(let i=0;i<8;++i)F.multiplyByPoint(e,n[i],n[i]);return In.fromPoints(n,t)}function BK(e,t,n,i,o,r,s,a){let c=es.DefaultMinBounds,u=es.DefaultMaxBounds,f=c.x,d=u.x,p=c.y,g=u.y,m=c.z,x=u.z;if(e===f&&t===d&&n===p&&i===g&&o===m&&r===x)return a.center=F.getTranslation(s,a.center),a.halfAxes=F.getMatrix3(s,a.halfAxes),a;r<o&&(r+=P.TWO_PI);let T=r-o,C=o+T*.5,A=jyt,S=0;A[S++]=o,A[S++]=r,A[S++]=C,T>P.PI&&(A[S++]=C-P.PI_OVER_TWO,A[S++]=C+P.PI_OVER_TWO);let v=1,D=1,R=-1,O=-1;for(let J=0;J<S;++J){let j=A[J]-C,Z=Math.cos(j),Q=Math.sin(j),he=Z*e,ye=Q*e,re=Z*t,_e=Q*t;v=Math.min(v,he),D=Math.min(D,ye),v=Math.min(v,re),D=Math.min(D,_e),R=Math.max(R,he),O=Math.max(O,ye),R=Math.max(R,re),O=Math.max(O,_e)}let M=R-v,N=O-D,_=i-n,E=(v+R)*.5,w=(D+O)*.5,I=(n+i)*.5,L=h.fromElements(E,w,I,qyt),B=$.fromRotationZ(C,Yyt),H=h.fromElements(M,N,_,qbe),V=F.fromScale(H,Zyt),G=F.fromRotation(B,Kyt),k=F.fromTranslation(L,Xyt),W=F.multiplyTransformation(G,F.multiplyTransformation(k,V,FK),FK),Y=F.multiplyTransformation(s,W,FK);return e0t(Y)?In.fromTransformation(Y,a):t0t(Y,a)}var v_=es;function w_(){this.orientedBoundingBox=new In,this.boundingSphere=new ce,this.boundTransform=new F,this.shapeTransform=new F,this._rectangle=new ae,this._minimumHeight=w_.DefaultMinBounds.z,this._maximumHeight=w_.DefaultMaxBounds.z,this._ellipsoid=new ee,this._translation=new h,this._rotation=new $,this.shaderUniforms={ellipsoidRadiiUv:new h,eccentricitySquared:0,evoluteScale:new U,ellipsoidInverseRadiiSquaredUv:new h,ellipsoidRenderLongitudeMinMax:new U,ellipsoidShapeUvLongitudeMinMaxMid:new h,ellipsoidUvToShapeUvLongitude:new U,ellipsoidUvToShapeUvLatitude:new U,ellipsoidRenderLatitudeSinMinMax:new U,ellipsoidInverseHeightDifferenceUv:0,clipMinMaxHeight:new U},this.shaderDefines={ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF:void 0,ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF:void 0,ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LONGITUDE:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX:void 0,ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN:void 0},this.shaderMaximumIntersectionsLength=0}var n0t=new h,i0t=new h,o0t=new h,r0t=new h,s0t=new h,a0t=new h,c0t=new h,l0t=new h,u0t=new $,Xbe=new h,Kbe=new h,f0t=new ae;w_.prototype.update=function(e,t,n,i,o){let{DefaultMinBounds:r,DefaultMaxBounds:s}=w_;i=y(i,r),o=y(o,s);let a=P.EPSILON10,c=P.EPSILON3,u=P.EPSILON10,f=P.EPSILON10,d=P.EPSILON3,p=F.getScale(e,l0t),g=h.clone(r,n0t);g.z=-h.minimumComponent(p);let m=h.clamp(t,g,s,i0t),x=h.clamp(n,g,s,o0t),b=h.clamp(i,g,s,r0t),T=h.clamp(o,g,s,s0t),C=h.maximumByComponent(m,b,a0t),A=h.minimumByComponent(x,T,c0t),S=h.add(p,h.fromElements(x.z,x.z,x.z,Xbe),Xbe),v=h.maximumComponent(S),D=h.add(p,h.fromElements(A.z,A.z,A.z,Kbe),Kbe);if(C.y>A.y||C.y===s.y||A.y===r.y||C.z>A.z||P.equalsEpsilon(D,h.ZERO,void 0,a))return!1;this._rectangle=ae.fromRadians(m.x,m.y,x.x,x.y),this._translation=F.getTranslation(e,this._translation),this._rotation=F.getRotation(e,this._rotation),this._ellipsoid=ee.fromCartesian3(p,this._ellipsoid),this._minimumHeight=m.z,this._maximumHeight=x.z;let R=ae.fromRadians(C.x,C.y,A.x,A.y,f0t);this.orientedBoundingBox=kK(R,C.z,A.z,this._ellipsoid,this._translation,this._rotation,this.orientedBoundingBox),this.shapeTransform=F.fromRotationTranslation($.setScale(this._rotation,S,u0t),this._translation,this.shapeTransform),this.boundTransform=F.fromRotationTranslation(this.orientedBoundingBox.halfAxes,this.orientedBoundingBox.center,this.boundTransform),this.boundingSphere=ce.fromOrientedBoundingBox(this.orientedBoundingBox,this.boundingSphere);let O=s.x-r.x,M=.5*O,N=A.x<C.x,_=A.x-C.x+N*O,E=_<=u,w=_>=M-u&&_<O-u,I=_>u&&_<M-u,L=E||w||I,B=x.x<m.x,H=x.x-m.x+B*O,V=H>M+u&&H<O-u,G=H>=M-u&&H<=M+u,k=H<M-u,W=V||G||k,Y=A.y<-d,J=A.y>=-d&&A.y<=+d,j=A.y>+d&&A.y<s.y-f,Z=Y||J||j,Q=C.y>r.y+f&&C.y<-d,he=C.y>=-d&&C.y<=+d,ye=C.y>+d,re=Q||he||ye,_e=Z||re,xe=x.y-m.y,Ie=x.y<-d,De=x.y>=-d&&x.y<=+d,Ne=x.y>+d&&x.y<s.y-f,Ce=Ie||De||Ne,Be=m.y>r.y+f&&m.y<-d,Ve=m.y>=-d&&m.y<=+d,$e=m.y>+d,pt=Ce||(Be||Ve||$e),{shaderUniforms:ht,shaderDefines:yt}=this;for(let Xt in yt)yt.hasOwnProperty(Xt)&&(yt[Xt]=void 0);ht.ellipsoidRadiiUv=h.divideByScalar(S,v,ht.ellipsoidRadiiUv);let{x:Jt,z:Te}=ht.ellipsoidRadiiUv,Ee=Te/Jt;ht.eccentricitySquared=1-Ee*Ee,ht.evoluteScale=U.fromElements((Jt*Jt-Te*Te)/Jt,(Te*Te-Jt*Jt)/Te,ht.evoluteScale),ht.ellipsoidInverseRadiiSquaredUv=h.divideComponents(h.ONE,h.multiplyComponents(ht.ellipsoidRadiiUv,ht.ellipsoidRadiiUv,ht.ellipsoidInverseRadiiSquaredUv),ht.ellipsoidInverseRadiiSquaredUv);let on=0;yt.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MAX=on,on+=1,yt.ELLIPSOID_INTERSECTION_INDEX_HEIGHT_MIN=on,on+=1,ht.clipMinMaxHeight=U.fromElements((C.z-x.z)/v,(A.z-x.z)/v,ht.clipMinMaxHeight);let en=(x.z-m.z)/v;if(ht.ellipsoidInverseHeightDifferenceUv=1/en,m.z===x.z&&(ht.ellipsoidInverseHeightDifferenceUv=0),L&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE=!0,yt.ELLIPSOID_INTERSECTION_INDEX_LONGITUDE=on,w?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_UNDER_HALF=!0,on+=1):I?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_OVER_HALF=!0,on+=2):E&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_RANGE_EQUAL_ZERO=!0,on+=2),ht.ellipsoidRenderLongitudeMinMax=U.fromElements(C.x,A.x,ht.ellipsoidRenderLongitudeMinMax)),W)if(yt.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE=!0,x.x<m.x&&(yt.ELLIPSOID_HAS_SHAPE_BOUNDS_LONGITUDE_MIN_MAX_REVERSED=!0),H<=u)ht.ellipsoidUvToShapeUvLongitude=U.fromElements(0,1,ht.ellipsoidUvToShapeUvLongitude);else{let ji=O/H,Ke=-(m.x-r.x)/H;ht.ellipsoidUvToShapeUvLongitude=U.fromElements(ji,Ke,ht.ellipsoidUvToShapeUvLongitude)}if(L){let Xt=P.equalsEpsilon(C.x,r.x,void 0,c),ji=P.equalsEpsilon(A.x,s.x,void 0,c);Xt&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MIN_DISCONTINUITY=!0),ji&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LONGITUDE_MAX_DISCONTINUITY=!0);let Ke=(m.x-r.x)/O,ns=(x.x-r.x)/O,Ur=(A.x-r.x)/O,Aa=1-_/O,Me=(Ur+.5*Aa)%1;ht.ellipsoidShapeUvLongitudeMinMaxMid=h.fromElements(Ke,ns,Me,ht.ellipsoidShapeUvLongitudeMinMaxMid)}if(_e&&(re&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN=!0,yt.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MIN=on,Q?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_UNDER_HALF=!0,on+=1):he?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_EQUAL_HALF=!0,on+=1):ye&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MIN_OVER_HALF=!0,on+=2)),Z&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX=!0,yt.ELLIPSOID_INTERSECTION_INDEX_LATITUDE_MAX=on,Y?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_UNDER_HALF=!0,on+=2):J?(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_EQUAL_HALF=!0,on+=1):j&&(yt.ELLIPSOID_HAS_RENDER_BOUNDS_LATITUDE_MAX_OVER_HALF=!0,on+=1)),ht.ellipsoidRenderLatitudeSinMinMax=U.fromElements(Math.sin(C.y),Math.sin(A.y),ht.ellipsoidRenderLatitudeSinMinMax)),pt)if(yt.ELLIPSOID_HAS_SHAPE_BOUNDS_LATITUDE=!0,xe<f)ht.ellipsoidUvToShapeUvLatitude=U.fromElements(0,1,ht.ellipsoidUvToShapeUvLatitude);else{let ji=(s.y-r.y)/xe,Ke=(r.y-m.y)/xe;ht.ellipsoidUvToShapeUvLatitude=U.fromElements(ji,Ke,ht.ellipsoidUvToShapeUvLatitude)}return this.shaderMaximumIntersectionsLength=on,!0};var Qbe=new ae;w_.prototype.computeOrientedBoundingBoxForTile=function(e,t,n,i,o){let r=1/Math.pow(2,e),s=t*r,a=(t+1)*r,c=n*r,u=(n+1)*r,f=i*r,d=(i+1)*r,p=ae.subsection(this._rectangle,s,c,a,u,Qbe),g=P.lerp(this._minimumHeight,this._maximumHeight,f),m=P.lerp(this._minimumHeight,this._maximumHeight,d);return kK(p,g,m,this._ellipsoid,this._translation,this._rotation,o)};var Zbe=new h,$be=new h,d0t=new h;w_.prototype.computeOrientedBoundingBoxForSample=function(e,t,n,i){let o=1/Math.pow(2,e.level),r=h.divideComponents(h.ONE,t,Zbe),s=h.multiplyByScalar(r,o,Zbe),a=h.multiplyByScalar(h.fromElements(e.x+n.x,e.y+n.y,e.z+n.z,$be),o,$be),c=h.add(a,s,d0t),u=ae.subsection(this._rectangle,a.x,a.y,c.x,c.y,Qbe),f=P.lerp(this._minimumHeight,this._maximumHeight,a.z),d=P.lerp(this._minimumHeight,this._maximumHeight,c.z);return kK(u,f,d,this._ellipsoid,this._translation,this._rotation,i)};function kK(e,t,n,i,o,r,s){return s=In.fromRectangle(e,t,n,i,s),s.center=h.add(s.center,o,s.center),s.halfAxes=$.multiply(s.halfAxes,r,s.halfAxes),s}w_.DefaultMinBounds=Object.freeze(new h(-P.PI,-P.PI_OVER_TWO,-ee.WGS84.minimumRadius));w_.DefaultMaxBounds=Object.freeze(new h(P.PI,P.PI_OVER_TWO,10*ee.WGS84.maximumRadius));var CS=w_;var ku={BOX:"BOX",ELLIPSOID:"ELLIPSOID",CYLINDER:"CYLINDER"};ku.getMinBounds=function(e){switch(e){case ku.BOX:return S_.DefaultMinBounds;case ku.ELLIPSOID:return CS.DefaultMinBounds;case ku.CYLINDER:return v_.DefaultMinBounds}};ku.getMaxBounds=function(e){switch(e){case ku.BOX:return S_.DefaultMaxBounds;case ku.ELLIPSOID:return CS.DefaultMaxBounds;case ku.CYLINDER:return v_.DefaultMaxBounds}};ku.getShapeConstructor=function(e){switch(e){case ku.BOX:return S_;case ku.ELLIPSOID:return CS;case ku.CYLINDER:return v_}};var ki=Object.freeze(ku);var Jbe=Object.freeze({UNLOADED:0,RECEIVING:1,RECEIVED:2,LOADED:3,FAILED:4,UNAVAILABLE:5});function LH(e,t){this.spatialNode=e,this.keyframe=t,this.state=Jbe.UNLOADED,this.metadata=[],this.megatextureIndex=-1,this.priority=-Number.MAX_VALUE,this.highPriorityFrameNumber=-1}LH.priorityComparator=function(e,t){return e.priority-t.priority};LH.searchComparator=function(e,t){return e.keyframe-t.keyframe};LH.LoadState=Jbe;var no=LH;function y0(e,t,n,i,o){i===Vt.UNSIGNED_SHORT&&(i=Vt.FLOAT32);let r=e.floatingPointTexture;if(i===Vt.FLOAT32&&!r)throw new se("Floating point texture not supported");let s;i===Vt.FLOAT32||i===Vt.FLOAT64?s=Ze.FLOAT:i===Vt.UINT8&&(s=Ze.UNSIGNED_BYTE);let a;n===1?a=e.webgl2?ot.RED:ot.LUMINANCE:n===2?a=e.webgl2?ot.RG:ot.LUMINANCE_ALPHA:n===3?a=ot.RGB:n===4&&(a=ot.RGBA);let c=512*1024*1024,u=128*1024*1024;o=Math.min(y(o,u),c);let f=Bt.maximumTextureSize,d=Vt.getSizeInBytes(i),p=Math.floor(o/(n*d)),g=Math.min(f,P.previousPowerOfTwo(Math.floor(Math.sqrt(p)))),m=Math.ceil(Math.sqrt(t.x)),x=Math.ceil(t.z/m),b=m*t.x,T=x*t.y,C=Math.floor(g/b),A=Math.floor(g/T);if(C===0||A===0)throw new se("Tileset is too large to fit into megatexture");this.channelCount=n,this.componentType=i,this.voxelCountPerTile=h.clone(t,new h),this.maximumTileCount=C*A,this.regionCountPerMegatexture=new U(C,A),this.voxelCountPerRegion=new U(b,T),this.sliceCountPerRegion=new U(m,x),this.voxelSizeUv=new U(1/g,1/g),this.sliceSizeUv=new U(t.x/g,t.y/g),this.regionSizeUv=new U(b/g,T/g),this.texture=new Pt({context:e,pixelFormat:a,pixelDatatype:s,flipY:!1,width:g,height:g,sampler:new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.LINEAR,magnificationFilter:pi.LINEAR})});let S=Vt.toComponentDatatype(i);this.tileVoxelDataTemp=X.createTypedArray(S,b*T*n),this.nodes=new Array(this.maximumTileCount);for(let v=0;v<this.maximumTileCount;v++)this.nodes[v]=new h0t(v);for(let v=0;v<this.maximumTileCount;v++){let D=this.nodes[v];D.previousNode=v>0?this.nodes[v-1]:void 0,D.nextNode=v<this.maximumTileCount-1?this.nodes[v+1]:void 0}this.occupiedList=void 0,this.emptyList=this.nodes[0],this.occupiedCount=0}function h0t(e){this.index=e,this.nextNode=void 0,this.previousNode=void 0}y0.prototype.add=function(e){if(this.isFull())throw new de("Trying to add when there are no empty spots");let t=this.emptyList;this.emptyList=this.emptyList.nextNode,l(this.emptyList)&&(this.emptyList.previousNode=void 0),t.nextNode=this.occupiedList,l(t.nextNode)&&(t.nextNode.previousNode=t),this.occupiedList=t;let n=t.index;return this.writeDataToTexture(n,e),this.occupiedCount++,n};y0.prototype.remove=function(e){if(e<0||e>=this.maximumTileCount)throw new de("Megatexture index out of bounds");let t=this.nodes[e];l(t.previousNode)&&(t.previousNode.nextNode=t.nextNode),l(t.nextNode)&&(t.nextNode.previousNode=t.previousNode),t.nextNode=this.emptyList,l(t.nextNode)&&(t.nextNode.previousNode=t),t.previousNode=void 0,this.emptyList=t,this.occupiedCount--};y0.prototype.isFull=function(){return this.emptyList===void 0};y0.getApproximateTextureMemoryByteLength=function(e,t,n,i){i===Vt.UNSIGNED_SHORT&&(i=Vt.FLOAT32);let o=Vt.getSizeInBytes(i),r=e*t.x*t.y*t.z,s=Math.ceil(Math.sqrt(t.x)),a=Math.ceil(t.z/s),c=s*t.x,u=a*t.y,f=P.previousPowerOfTwo(Math.floor(Math.sqrt(r)));for(;;){let p=Math.floor(f/c),g=Math.floor(f/u);if(p*g>=e)break;f*=2}return f*f*n*o};y0.prototype.writeDataToTexture=function(e,t){let n=t.constructor===Uint16Array?new Float32Array(t):t,i=this.voxelCountPerTile,o=this.sliceCountPerRegion,r=this.voxelCountPerRegion,s=this.channelCount,a=this.tileVoxelDataTemp;for(let x=0;x<i.z;x++){let b=x%o.x*i.x,T=Math.floor(x/o.x)*i.y;for(let C=0;C<i.y;C++)for(let A=0;A<i.x;A++){let S=x*i.y*i.x+C*i.x+A,v=(T+C)*r.x+(b+A);for(let D=0;D<s;D++)a[v*s+D]=n[S*s+D]}}let c=this.regionCountPerMegatexture,u=r.x,f=r.y,d=e%c.x*r.x,p=Math.floor(e/c.x)*r.y,m={source:{arrayBufferView:a,width:u,height:f},xOffset:d,yOffset:p};this.texture.copyFrom(m)};y0.prototype.isDestroyed=function(){return!1};y0.prototype.destroy=function(){return this.texture=this.texture&&this.texture.destroy(),ue(this)};var yP=y0;function Qf(e,t,n,i,o,r,s){this.children=void 0,this.parent=o,this.level=e,this.x=t,this.y=n,this.z=i,this.dimensions=h.clone(s),this.keyframeNodes=[],this.renderableKeyframeNodes=[],this.renderableKeyframeNodeLerp=0,this.renderableKeyframeNodePrevious=void 0,this.renderableKeyframeNodeNext=void 0,this.orientedBoundingBox=new In,this.approximateVoxelSize=0,this.screenSpaceError=0,this.visitedFrameNumber=-1,this.computeBoundingVolumes(r)}var m0t=new h;Qf.prototype.computeBoundingVolumes=function(e){this.orientedBoundingBox=e.computeOrientedBoundingBoxForTile(this.level,this.x,this.y,this.z,this.orientedBoundingBox);let t=$.getScale(this.orientedBoundingBox.halfAxes,m0t),n=2*h.maximumComponent(t);this.approximateVoxelSize=n/h.minimumComponent(this.dimensions)};Qf.prototype.constructChildNodes=function(e){let{level:t,x:n,y:i,z:o}=this,r=n*2,s=i*2,a=o*2,c=s+1,u=r+1,f=a+1,d=t+1,p=[[d,r,s,a],[d,u,s,a],[d,r,c,a],[d,u,c,a],[d,r,s,f],[d,u,s,f],[d,r,c,f],[d,u,c,f]];this.children=p.map(([g,m,x,b])=>new Qf(g,m,x,b,this,e,this.dimensions))};Qf.prototype.visibility=function(e,t){let n=this.orientedBoundingBox;return e.cullingVolume.computeVisibilityWithPlaneMask(n,t)};Qf.prototype.computeScreenSpaceError=function(e,t){let n=this.orientedBoundingBox,i=Math.sqrt(n.distanceSquaredTo(e));i=Math.max(i,P.EPSILON7);let o=this.approximateVoxelSize,r=t*(o/i);this.screenSpaceError=r};var eTe={keyframe:0};function xP(e,t){return eTe.keyframe=e,Ro(t,eTe,no.searchComparator)}Qf.prototype.computeSurroundingRenderableKeyframeNodes=function(e){let t=this,n=t.level,i=Math.floor(e),o=Math.ceil(e),r,s,a=+Number.MAX_VALUE,c=+Number.MAX_VALUE;for(;l(t);){let{renderableKeyframeNodes:d}=t;if(d.length>=1){let p=p0t(i,d),g=d[p],m=o===i||i<g.keyframe?p:Math.min(p+1,d.length-1),x=d[m],b=i-g.keyframe,T=tTe(n-t.level,b);T<a&&(a=T,r=g);let C=x.keyframe-o,A=tTe(n-t.level,C);if(A<c&&(c=A,s=x),b===0&&C===0)break}t=t.parent}if(this.renderableKeyframeNodePrevious=r,this.renderableKeyframeNodeNext=s,!l(r)||!l(s))return;let u=r.keyframe,f=s.keyframe;this.renderableKeyframeNodeLerp=u===f?0:P.clamp((e-u)/(f-u),0,1)};function p0t(e,t){let n=xP(e,t);return n<0?P.clamp(~n-1,0,t.length-1):n}function tTe(e,t){let n=Math.exp(e*4),i=t>=0?1:-200;return e*n+t*i}Qf.prototype.isVisited=function(e){return this.visitedFrameNumber===e};Qf.prototype.createKeyframeNode=function(e){let t=xP(e,this.keyframeNodes);if(t<0){t=~t;let n=new no(this,e);this.keyframeNodes.splice(t,0,n)}};Qf.prototype.destroyKeyframeNode=function(e,t){let n=e.keyframe,i=xP(n,this.keyframeNodes);if(i<0)throw new de("Keyframe node does not exist.");if(this.keyframeNodes.splice(i,1),e.megatextureIndex!==-1){for(let r=0;r<t.length;r++)t[r].remove(e.megatextureIndex);let o=xP(n,this.renderableKeyframeNodes);if(o<0)throw new de("Renderable keyframe node does not exist.");this.renderableKeyframeNodes.splice(o,1)}e.spatialNode=void 0,e.state=no.LoadState.UNLOADED,e.metadata={},e.megatextureIndex=-1,e.priority=-Number.MAX_VALUE,e.highPriorityFrameNumber=-1};Qf.prototype.addKeyframeNodeToMegatextures=function(e,t){if(e.state!==no.LoadState.RECEIVED||e.megatextureIndex!==-1||e.metadata.length!==t.length)throw new de("Keyframe node cannot be added to megatexture");for(let o=0;o<t.length;o++){let r=t[o];e.megatextureIndex=r.add(e.metadata[o])}e.state=no.LoadState.LOADED;let n=this.renderableKeyframeNodes,i=xP(e.keyframe,n);if(i>=0)throw new de("Keyframe already renderable");i=~i,n.splice(i,0,e)};Qf.prototype.isRenderable=function(e){let t=this.renderableKeyframeNodePrevious,n=this.renderableKeyframeNodeNext,i=this.level;return l(t)&&l(n)&&(t.spatialNode.level===i||n.spatialNode.level===i)&&this.visitedFrameNumber===e};var NH=Qf;function D_(e,t,n,i,o,r,s){this._primitive=e,this.megatextures=new Array(i.length);for(let m=0;m<i.length;m++){let x=i[m],b=dt.getComponentCount(x),T=o[m];this.megatextures[m]=new yP(t,n,b,T,s)}let a=this.megatextures[0].maximumTileCount;this._simultaneousRequestCount=0,this._debugPrint=!1,this._frameNumber=0;let c=e._shape;this.rootNode=new NH(0,0,0,0,void 0,c,n),this._priorityQueue=new kE({maximumLength:a,comparator:no.priorityComparator}),this._highPriorityKeyframeNodes=new Array(a),this._keyframeNodesInMegatexture=new Array(a),this._keyframeCount=r,this._sampleCount=void 0,this._keyframeLocation=0,this._binaryTreeKeyframeWeighting=new Array(r);let u=this._binaryTreeKeyframeWeighting;u[0]=0,u[r-1]=0,VK(u,1,r-2,0);let f=9,d=2048,p=Math.floor(d/f),g=Math.ceil(a/p);this.internalNodeTexture=new Pt({context:t,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,flipY:!1,width:d,height:g,sampler:new $t({minificationFilter:Zt.NEAREST,magnificationFilter:pi.NEAREST})}),this.internalNodeTilesPerRow=p,this.internalNodeTexelSizeUv=new U(1/d,1/g),this.leafNodeTexture=void 0,this.leafNodeTilesPerRow=void 0,this.leafNodeTexelSizeUv=new U}D_.prototype.findKeyframeNode=function(e){return this._keyframeNodesInMegatexture.find(function(t){return t.megatextureIndex===e})};function VK(e,t,n,i){if(t>n)return;let o=Math.floor((t+n)/2);e[o]=i,VK(e,t,o-1,i+1),VK(e,o+1,n,i+1)}D_.simultaneousRequestCountMaximum=50;D_.prototype.update=function(e,t,n,i){let o=this._primitive,r=e.context,s=this.megatextures[0].maximumTileCount,a=this._keyframeCount,c=o._levelBlendFactor,u=c>0,f=a>1,d=(u?2:1)*(f?2:1);this._sampleCount=d;let p=d>=2;if(p&&!l(this.leafNodeTexture)){let C=Math.floor(512),A=Math.ceil(s/C);this.leafNodeTexture=new Pt({context:r,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,flipY:!1,width:1024,height:A,sampler:new $t({minificationFilter:Zt.NEAREST,magnificationFilter:pi.NEAREST})}),this.leafNodeTexelSizeUv=U.fromElements(1/1024,1/A,this.leafNodeTexelSizeUv),this.leafNodeTilesPerRow=C}else!p&&l(this.leafNodeTexture)&&(this.leafNodeTexture=this.leafNodeTexture.destroy());if(this._keyframeLocation=P.clamp(t,0,a-1),n&&nTe(this,this.rootNode),i)return;this._frameNumber=e.frameNumber;let g=Ei();y0t(this,e);let m=Ei();T0t(this,d,c);let x=Ei();if(this._debugPrint){let b=m-g,T=x-m,C=x-g;b0t(this,b,T,C)}};D_.prototype.isRenderable=function(e){return e.isRenderable(this._frameNumber)};D_.prototype.isDestroyed=function(){return!1};D_.prototype.destroy=function(){let e=this.megatextures,t=e.length;for(let n=0;n<t;n++)e[n]=e[n]&&e[n].destroy();return this.internalNodeTexture=this.internalNodeTexture&&this.internalNodeTexture.destroy(),this.leafNodeTexture=this.leafNodeTexture&&this.leafNodeTexture.destroy(),ue(this)};function nTe(e,t){if(t.computeBoundingVolumes(e._primitive._shape),l(t.children))for(let n=0;n<8;n++){let i=t.children[n];nTe(e,i)}}function _0t(e,t){if(e._simultaneousRequestCount>=D_.simultaneousRequestCountMaximum)return;let n=e._primitive._provider;function i(c){e._simultaneousRequestCount--;let u=n.types.length;if(!l(c))t.state=no.LoadState.UNAVAILABLE;else if(c===no.LoadState.FAILED)t.state=no.LoadState.FAILED;else if(!Array.isArray(c)||c.length!==u)t.state=no.LoadState.FAILED;else{let f=e.megatextures;for(let d=0;d<u;d++){let{voxelCountPerTile:p,channelCount:g}=f[d],{x:m,y:x,z:b}=p,T=m*x*b,C=c[d],A=T*g;if(C.length===A)t.metadata[d]=C,t.state=no.LoadState.RECEIVED;else{t.state=no.LoadState.FAILED;break}}}}function o(){e._simultaneousRequestCount--,t.state=no.LoadState.FAILED}let{keyframe:r,spatialNode:s}=t,a=n.requestData({tileLevel:s.level,tileX:s.x,tileY:s.y,tileZ:s.z,keyframe:r});l(a)?(e._simultaneousRequestCount++,t.state=no.LoadState.RECEIVING,a.then(i).catch(o)):t.state=no.LoadState.FAILED}function g0t(e){return e/(1+e)}function y0t(e,t){let n=e._frameNumber,i=e._primitive,o=i._shape,r=i.screenSpaceError,s=e._priorityQueue,a=e._keyframeCount,c=P.clamp(Math.floor(e._keyframeLocation),0,a-2),u=c+1,{camera:f,context:d,pixelRatio:p}=t,{positionWC:g,frustum:m}=f,b=d.drawingBufferHeight/p/m.sseDenominator;function T(N,_){if(N.computeScreenSpaceError(g,b),_=N.visibility(t,_),_===As.MASK_OUTSIDE)return;if(N.visitedFrameNumber=n,a===1)N.createKeyframeNode(0);else if(N.keyframeNodes.length!==a)for(let B=0;B<a;B++)N.createKeyframeNode(B);let{screenSpaceError:E,keyframeNodes:w}=N,I=g0t(E),L=!1;for(let B=0;B<w.length;B++){let H=w[B];H.priority=10*I+x0t(c,H.keyframe,u,e),H.state!==no.LoadState.UNAVAILABLE&&H.state!==no.LoadState.FAILED&&H.priority!==-Number.MAX_VALUE&&s.insert(H),H.state===no.LoadState.LOADED&&(L=!0)}if(E<r||!L){N.children=void 0;return}l(N.children)||N.constructChildNodes(o);for(let B=0;B<8;B++){let H=N.children[B];T(H,_)}}s.reset(),T(e.rootNode,As.MASK_INDETERMINATE);let C=e._highPriorityKeyframeNodes,A=0,S;for(;s.length>0;)S=s.removeMaximum(),S.highPriorityFrameNumber=n,C[A]=S,A++;let v=e._keyframeNodesInMegatexture,D=e.megatextures[0],R=D.occupiedCount;v.length=R,v.sort(function(N,_){return N.highPriorityFrameNumber===_.highPriorityFrameNumber?_.priority-N.priority:_.highPriorityFrameNumber-N.highPriorityFrameNumber});let O=0,M=0;for(let N=0;N<A;N++)if(S=C[N],!(S.state===no.LoadState.LOADED||S.spatialNode===void 0)&&(S.state===no.LoadState.UNLOADED&&_0t(e,S),S.state===no.LoadState.RECEIVED)){let _=0;if(D.isFull()){_=R-1-O,O++;let E=v[_];E.spatialNode.destroyKeyframeNode(E,e.megatextures)}else _=R+M,M++;S.spatialNode.addKeyframeNodeToMegatextures(S,e.megatextures),v[_]=S}}function x0t(e,t,n,i){let o=Math.min(Math.abs(t-e),Math.abs(t-n)),r=Math.max(e,i._keyframeCount-n-1,1),s=Math.pow(1-o/r,4),a=Math.exp(-i._binaryTreeKeyframeWeighting[t]);return P.lerp(a,s,.15+.85*s)}function b0t(e,t,n,i){let o=e._keyframeCount,r=e.rootNode,s=Object.keys(no.LoadState).length,a=new Array(s),c=new Array(s),u=0;for(let T=0;T<s;T++){let C=new Array(o);a[T]=C;for(let A=0;A<o;A++)C[A]=0;c[T]=0}function f(T){let C=T.keyframeNodes;for(let A=0;A<C.length;A++){let S=C[A],v=S.keyframe,D=S.state;a[D][v]+=1,c[D]+=1,u++}if(l(T.children))for(let A=0;A<8;A++){let S=T.children[A];f(S)}}f(r);let d=`KEYFRAMES: ${a[no.LoadState.LOADED]}`,p=`UNLOADED: ${c[no.LoadState.UNLOADED]} | RECEIVING: ${c[no.LoadState.RECEIVING]} | RECEIVED: ${c[no.LoadState.RECEIVED]} | LOADED: ${c[no.LoadState.LOADED]} | FAILED: ${c[no.LoadState.FAILED]} | UNAVAILABLE: ${c[no.LoadState.UNAVAILABLE]} | TOTAL: ${u}`,g=Math.round(t*100)/100,m=Math.round(n*100)/100,x=Math.round(i*100)/100,b=`LOAD: ${g} | OCT: ${m} | ALL: ${x}`;console.log(`${d} || ${p} || ${b}`)}var FH={INTERNAL:0,LEAF:1,PACKED_LEAF_FROM_PARENT:2};function T0t(e,t,n){let i=e._primitive._screenSpaceError,o=e._keyframeLocation,r=e._frameNumber,s=t>=2,a=0,c=0,u=[],f=[];function d(g,m,x,b,T){let C=!1;if(l(g.children))for(let A=0;A<8;A++){let S=g.children[A];S.computeSurroundingRenderableKeyframeNodes(o),S.isRenderable(r)&&(C=!0)}if(C){u[T]=FH.INTERNAL<<16|m,u[x]=b,a++,b=m,T=b*9+1;for(let A=0;A<8;A++){let S=g.children[A];m=a,x=m*9+0,d(S,m,x,b,T+A)}}else{if(s){let A=c*5,S=g.renderableKeyframeNodePrevious,v=g.level-S.spatialNode.level,D=S.spatialNode.parent,R=l(D)?D.renderableKeyframeNodePrevious:S,O=C0t(g,i,n),M=v,N=1,_=S.megatextureIndex,E=R.megatextureIndex;f[A+0]=O,f[A+1]=M,f[A+2]=N,f[A+3]=_,f[A+4]=E,u[T]=FH.LEAF<<16|c}else{let A=g.renderableKeyframeNodePrevious,v=g.level-A.spatialNode.level===0?FH.LEAF:FH.PACKED_LEAF_FROM_PARENT;u[T]=v<<16|A.megatextureIndex}c++}}let p=e.rootNode;p.computeSurroundingRenderableKeyframeNodes(o),p.isRenderable(r)&&d(p,0,0,0,0),A0t(u,9,e.internalNodeTilesPerRow,e.internalNodeTexture),s&&E0t(f,2,e.leafNodeTilesPerRow,e.leafNodeTexture)}function C0t(e,t,n){if(e.parent===void 0)return 0;let i=e.screenSpaceError,o=e.parent.screenSpaceError,s=((t-i)/(o-i)+n-1)/n;return P.clamp(s,0,1)}function A0t(e,t,n,i){let o=ot.componentsLength(i.pixelFormat),r=Math.ceil(e.length/t),s=Math.max(1,t*Math.min(r,n)),a=Math.max(1,Math.ceil(r/n)),c=new Uint8Array(s*a*o);for(let d=0;d<e.length;d++){let p=e[d],g=d*o;for(let m=0;m<o;m++)c[g+m]=p>>>m*8&255}let f={source:{arrayBufferView:c,width:s,height:a},xOffset:0,yOffset:0};i.copyFrom(f)}function E0t(e,t,n,i){let o=ot.componentsLength(i.pixelFormat),r=5,s=Math.ceil(e.length/r),a=Math.max(1,t*Math.min(s,n)),c=Math.max(1,Math.ceil(s/n)),u=new Uint8Array(a*c*o);for(let p=0;p<s;p++){let g=e[p*r+0],m=e[p*r+1],x=e[p*r+2],b=e[p*r+3],T=e[p*r+4],C=P.clamp(Math.floor(65536*g),0,65535);u[p*8+0]=C>>>0&255,u[p*8+1]=C>>>8&255,u[p*8+2]=m&255,u[p*8+3]=x&255,u[p*8+4]=b>>>0&255,u[p*8+5]=b>>>8&255,u[p*8+6]=T>>>0&255,u[p*8+7]=T>>>8&255}let d={source:{arrayBufferView:u,width:a,height:c},xOffset:0,yOffset:0};i.copyFrom(d)}D_.getApproximateTextureMemoryByteLength=function(e,t,n,i){let o=0,r=n.length;for(let s=0;s<r;s++){let a=n[s],c=i[s],u=dt.getComponentCount(a);o+=yP.getApproximateTextureMemoryByteLength(e,t,u,c)}return o};var bP=D_;var S0t={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",INT:"int",INT_VEC2:"ivec2",INT_VEC3:"ivec3",INT_VEC4:"ivec4",BOOL:"bool",BOOL_VEC2:"bvec2",BOOL_VEC3:"bvec3",BOOL_VEC4:"bvec4",MAT2:"mat2",MAT3:"mat3",MAT4:"mat4",SAMPLER_2D:"sampler2D",SAMPLER_CUBE:"samplerCube"},TP=Object.freeze(S0t);function AS(){this._defaultTexture=void 0,this._textures={},this._loadedImages=[],this._lastUpdatedFrame=-1}AS.prototype.getTexture=function(e){return this._textures[e]};function v0t(e,t,n){n.resource.fetchImage().then(function(i){e._loadedImages.push({id:t,image:i,textureUniform:n})}).catch(function(){let i=e._textures[t];l(i)&&i!==e._defaultTexture&&i.destroy(),e._textures[t]=e._defaultTexture})}AS.prototype.loadTexture2D=function(e,t){l(t.typedArray)?this._loadedImages.push({id:e,textureUniform:t}):v0t(this,e,t)};function w0t(e,t,n){let{id:i,textureUniform:o,image:r}=t,s=n.webgl2?BH(o,r,n):D0t(o,r,n),a=e._textures[i];l(a)&&a!==n.defaultTexture&&a.destroy(),e._textures[i]=s}function BH(e,t,n){let{typedArray:i,sampler:o}=e,r=l(i)?oTe(e,n):new Pt({context:n,source:t,sampler:o});return iTe(o)&&r.generateMipmap(),r}function D0t(e,t,n){let{typedArray:i,sampler:o}=e,r=iTe(o),s=o.wrapS===Sn.REPEAT||o.wrapS===Sn.MIRRORED_REPEAT||o.wrapT===Sn.REPEAT||o.wrapT===Sn.MIRRORED_REPEAT,{width:a,height:c}=l(i)?e:t,u=[a,c].every(P.isPowerOfTwo);if((r||s)&&!u)if(l(i)){if(e.pixelDatatype===Ze.UNSIGNED_BYTE){let d=hU(i,a,c),p=px(d);return BH({sampler:o},p,n)}}else{let d=px(t);return BH(e,d,n)}else return BH(e,t,n);return r?console.warn("Texture requires resizing for mipmaps but pixelDataType cannot be resized. The texture may be rendered incorrectly."):s&&console.warn("Texture requires resizing for wrapping but pixelDataType cannot be resized. The texture may be rendered incorrectly."),oTe(e,n)}function iTe(e){return[Zt.NEAREST_MIPMAP_NEAREST,Zt.NEAREST_MIPMAP_LINEAR,Zt.LINEAR_MIPMAP_NEAREST,Zt.LINEAR_MIPMAP_LINEAR].includes(e.minificationFilter)}function oTe(e,t){let{pixelFormat:n,pixelDatatype:i,width:o,height:r,typedArray:s,sampler:a}=e;return new Pt({context:t,pixelFormat:n,pixelDatatype:i,source:{arrayBufferView:s,width:o,height:r},sampler:a,flipY:!1})}AS.prototype.update=function(e){if(e.frameNumber===this._lastUpdatedFrame)return;this._lastUpdatedFrame=e.frameNumber;let t=e.context;this._defaultTexture=t.defaultTexture;let n=this._loadedImages;for(let i=0;i<n.length;i++){let o=n[i];w0t(this,o,t)}n.length=0};AS.prototype.isDestroyed=function(){return!1};AS.prototype.destroy=function(){let e=this._textures;for(let t in e)if(e.hasOwnProperty(t)){let n=e[t];n!==this._defaultTexture&&n.destroy()}return ue(this)};var kH=AS;function CP(e){e=y(e,y.EMPTY_OBJECT),this.mode=y(e.mode,zg.MODIFY_MATERIAL),this.lightingModel=e.lightingModel,this.uniforms=y(e.uniforms,y.EMPTY_OBJECT),this.varyings=y(e.varyings,y.EMPTY_OBJECT),this.vertexShaderText=e.vertexShaderText,this.fragmentShaderText=e.fragmentShaderText,this.translucencyMode=y(e.translucencyMode,Dx.INHERIT),this._textureManager=new kH,this._defaultTexture=void 0,this.uniformMap=I0t(this),this.usedVariablesVertex={attributeSet:{},featureIdSet:{},metadataSet:{}},this.usedVariablesFragment={attributeSet:{},featureIdSet:{},metadataSet:{},materialSet:{}},R0t(this),M0t(this)}function I0t(e){let t=e.uniforms,n={};for(let i in t)if(t.hasOwnProperty(i)){let o=t[i];o.type===TP.SAMPLER_2D?(e._textureManager.loadTexture2D(i,o.value),n[i]=P0t(e,i)):n[i]=O0t(e,i)}return n}function P0t(e,t){return function(){return y(e._textureManager.getTexture(t),e._defaultTexture)}}function O0t(e,t){return function(){return e.uniforms[t].value}}function zb(e,t,n){let i;for(;(i=t.exec(e))!==null;){let o=i[1];n[o]=!0}}function R0t(e){let t=/[vf]sInput\.attributes\.(\w+)/g,n=/[vf]sInput\.featureIds\.(\w+)/g,i=/[vf]sInput\.metadata.(\w+)/g,o,r=e.vertexShaderText;l(r)&&(o=e.usedVariablesVertex.attributeSet,zb(r,t,o),o=e.usedVariablesVertex.featureIdSet,zb(r,n,o),o=e.usedVariablesVertex.metadataSet,zb(r,i,o));let s=e.fragmentShaderText;if(l(s)){o=e.usedVariablesFragment.attributeSet,zb(s,t,o),o=e.usedVariablesFragment.featureIdSet,zb(s,n,o),o=e.usedVariablesFragment.metadataSet,zb(s,i,o);let a=/material\.(\w+)/g,c=e.usedVariablesFragment.materialSet;zb(s,a,c)}}function rTe(e){let t=/^.*MC$/,n=/^.*WC$/,i=/^.*EC$/;return t.test(e)?`${e} (model coordinates)`:n.test(e)?`${e} (Cartesian world coordinates)`:i.test(e)?`${e} (eye coordinates)`:e}function yc(e,t,n,i){if(e.hasOwnProperty(t)){let o=`${rTe(t)} is not available in the ${i} shader. Did you mean ${rTe(n)} instead?`;throw new de(o)}}function M0t(e){let t=e.usedVariablesVertex.attributeSet;yc(t,"position","positionMC","vertex"),yc(t,"normal","normalMC","vertex"),yc(t,"tangent","tangentMC","vertex"),yc(t,"bitangent","bitangentMC","vertex"),yc(t,"positionWC","positionMC","vertex"),yc(t,"positionEC","positionMC","vertex"),yc(t,"normalEC","normalMC","vertex"),yc(t,"tangentEC","tangentMC","vertex"),yc(t,"bitangentEC","bitangentMC","vertex");let n=e.usedVariablesFragment.attributeSet;yc(n,"position","positionEC","fragment"),yc(n,"normal","normalEC","fragment"),yc(n,"tangent","tangentEC","fragment"),yc(n,"bitangent","bitangentEC","fragment"),yc(n,"normalMC","normalEC","fragment"),yc(n,"tangentMC","tangentEC","fragment"),yc(n,"bitangentMC","bitangentEC","fragment")}CP.prototype.setUniform=function(e,t){let n=this.uniforms[e];n.type===TP.SAMPLER_2D?this._textureManager.loadTexture2D(e,t):l(t.clone)?n.value=t.clone(n.value):n.value=t};CP.prototype.update=function(e){this._defaultTexture=e.context.defaultTexture,this._textureManager.update(e)};CP.prototype.isDestroyed=function(){return!1};CP.prototype.destroy=function(){this._textureManager=this._textureManager&&this._textureManager.destroy(),ue(this)};var ES=CP;function Gm(e){e=y(e,y.EMPTY_OBJECT),this._ready=!1,this._provider=y(e.provider,Gm.DefaultProvider),this._traversal=void 0,this._shape=void 0,this._shapeVisible=!1,this._paddingBefore=new h,this._paddingAfter=new h,this._minBounds=new h,this._minBoundsOld=new h,this._maxBounds=new h,this._maxBoundsOld=new h,this._exaggeratedMinBounds=new h,this._exaggeratedMinBoundsOld=new h,this._exaggeratedMaxBounds=new h,this._exaggeratedMaxBoundsOld=new h,this._minClippingBounds=new h,this._minClippingBoundsOld=new h,this._maxClippingBounds=new h,this._maxClippingBoundsOld=new h,this._clippingPlanes=void 0,this._clippingPlanesState=0,this._clippingPlanesEnabled=!1,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._exaggeratedModelMatrix=F.clone(this._modelMatrix),this._compoundModelMatrix=new F,this._compoundModelMatrixOld=new F,this._customShader=y(e.customShader,Gm.DefaultCustomShader),this._customShaderCompilationEvent=new me,this._shaderDirty=!0,this._drawCommand=void 0,this._drawCommandPick=void 0,this._pickId=void 0,this._clock=e.clock,this._transformPositionWorldToUv=new F,this._transformPositionUvToWorld=new F,this._transformDirectionWorldToLocal=new $,this._transformNormalLocalToWorld=new $,this._nearestSampling=!1,this._levelBlendFactor=0,this._stepSizeMultiplier=1,this._depthTest=!0,this._useLogDepth=void 0,this._screenSpaceError=4,this._debugPolylines=new om,this._debugDraw=!1,this._disableRender=!1,this._disableUpdate=!1,this._uniforms={octreeInternalNodeTexture:void 0,octreeInternalNodeTilesPerRow:0,octreeInternalNodeTexelSizeUv:new U,octreeLeafNodeTexture:void 0,octreeLeafNodeTilesPerRow:0,octreeLeafNodeTexelSizeUv:new U,megatextureTextures:[],megatextureSliceDimensions:new U,megatextureTileDimensions:new U,megatextureVoxelSizeUv:new U,megatextureSliceSizeUv:new U,megatextureTileSizeUv:new U,dimensions:new h,paddingBefore:new h,paddingAfter:new h,transformPositionViewToUv:new F,transformPositionUvToView:new F,transformDirectionViewToLocal:new $,transformNormalLocalToWorld:new $,cameraPositionUv:new h,ndcSpaceAxisAlignedBoundingBox:new oe,clippingPlanesTexture:void 0,clippingPlanesMatrix:new F,stepSize:0,pickColor:new z},this._shapeDefinesOld={},this._uniformMap={};let t=this._uniforms,n=this._uniformMap;for(let o in t)if(t.hasOwnProperty(o)){let r=`u_${o}`;n[r]=function(){return t[o]}}let i=this._provider;L0t(this,i)}function L0t(e,t){let{shape:n,minBounds:i=ki.getMinBounds(n),maxBounds:o=ki.getMaxBounds(n)}=t;e.minBounds=i,e.maxBounds=o,e.minClippingBounds=ki.getMinBounds(n),e.maxClippingBounds=ki.getMaxBounds(n),e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e._exaggeratedModelMatrix=F.clone(e._modelMatrix,e._exaggeratedModelMatrix),aTe(e,t);let r=ki.getShapeConstructor(n);e._shape=new r,e._shapeVisible=cTe(e,e._shape,t)}Object.defineProperties(Gm.prototype,{ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}},boundingSphere:{get:function(){return this._shape.boundingSphere}},orientedBoundingBox:{get:function(){return this._shape.orientedBoundingBox}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._modelMatrix=F.clone(e,this._modelMatrix)}},shape:{get:function(){return this._provider.shape}},dimensions:{get:function(){return this._provider.dimensions}},minimumValues:{get:function(){return this._provider.minimumValues}},maximumValues:{get:function(){return this._provider.maximumValues}},show:{get:function(){return!this._disableRender},set:function(e){this._disableRender=!e}},disableUpdate:{get:function(){return this._disableUpdate},set:function(e){this._disableUpdate=e}},debugDraw:{get:function(){return this._debugDraw},set:function(e){this._debugDraw=e}},depthTest:{get:function(){return this._depthTest},set:function(e){this._depthTest!==e&&(this._depthTest=e,this._shaderDirty=!0)}},nearestSampling:{get:function(){return this._nearestSampling},set:function(e){this._nearestSampling!==e&&(this._nearestSampling=e,this._shaderDirty=!0)}},levelBlendFactor:{get:function(){return this._levelBlendFactor},set:function(e){this._levelBlendFactor=P.clamp(e,0,1)}},screenSpaceError:{get:function(){return this._screenSpaceError},set:function(e){this._screenSpaceError=e}},stepSize:{get:function(){return this._stepSizeMultiplier},set:function(e){this._stepSizeMultiplier=e}},minBounds:{get:function(){return this._minBounds},set:function(e){this._minBounds=h.clone(e,this._minBounds)}},maxBounds:{get:function(){return this._maxBounds},set:function(e){this._maxBounds=h.clone(e,this._maxBounds)}},minClippingBounds:{get:function(){return this._minClippingBounds},set:function(e){this._minClippingBounds=h.clone(e,this._minClippingBounds)}},maxClippingBounds:{get:function(){return this._maxClippingBounds},set:function(e){this._maxClippingBounds=h.clone(e,this._maxClippingBounds)}},clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ss.setOwner(e,this,"_clippingPlanes")}},customShader:{get:function(){return this._customShader},set:function(e){if(this._customShader!==e){let t=this._uniformMap,i=this._customShader.uniformMap;for(let o in i)i.hasOwnProperty(o)&&delete t[o];l(e)?this._customShader=e:this._customShader=Gm.DefaultCustomShader,this._shaderDirty=!0}}},customShaderCompilationEvent:{get:function(){return this._customShaderCompilationEvent}}});var N0t=new h,F0t=new oe,B0t=new oe,k0t=new h,V0t=new h,U0t=new $,z0t=new $,H0t=new F,G0t=new F,W0t=new F,j0t=F.fromRotationTranslation($.fromUniformScale(.5,new $),new h(.5,.5,.5),new F),q0t=F.fromRotationTranslation($.fromUniformScale(2,new $),new h(-1,-1,-1),new F);Gm.prototype.update=function(e){let t=this._provider;this._customShader.update(e);let n=e.context;if(!this._ready){Q0t(this,t,n),e.afterRender.push(()=>(this._ready=!0,!0));return}Z0t(this,e);let i=aTe(this,t),o=this._shape;if(i&&(this._shapeVisible=cTe(this,o,t),txt(this,o)&&(this._shaderDirty=!0)),!this._shapeVisible)return;let r=nxt(t.timeIntervalCollection,this._clock),s=this._traversal,a=s._sampleCount;if(s.update(e,r,i,this._disableUpdate),a!==s._sampleCount&&(this._shaderDirty=!0),!s.isRenderable(s.rootNode)||(this._debugDraw&&uxt(this,e),this._disableRender))return;this._useLogDepth!==e.useLogDepth&&(this._useLogDepth=e.useLogDepth,this._shaderDirty=!0),ixt(this,e)&&(this._shaderDirty=!0);let u=s.leafNodeTexture,f=this._uniforms;l(u)&&(f.octreeLeafNodeTexture=s.leafNodeTexture,f.octreeLeafNodeTexelSizeUv=U.clone(s.leafNodeTexelSizeUv,f.octreeLeafNodeTexelSizeUv),f.octreeLeafNodeTilesPerRow=s.leafNodeTilesPerRow),this._shaderDirty&&(RH(this,n),this._shaderDirty=!1);let d=n.uniformState.viewProjection,p=o.orientedBoundingBox,g=sxt(p,d,B0t);if(g.x===1||g.y===1||g.z===-1||g.w===-1)return;f.ndcSpaceAxisAlignedBoundingBox=oe.clone(g,f.ndcSpaceAxisAlignedBoundingBox);let x=n.uniformState.inverseView;f.transformPositionViewToUv=F.multiplyTransformation(this._transformPositionWorldToUv,x,f.transformPositionViewToUv);let b=n.uniformState.view;f.transformPositionUvToView=F.multiplyTransformation(b,this._transformPositionUvToWorld,f.transformPositionUvToView);let T=n.uniformState.inverseViewRotation;f.transformDirectionViewToLocal=$.multiply(this._transformDirectionWorldToLocal,T,f.transformDirectionViewToLocal),f.transformNormalLocalToWorld=$.clone(this._transformNormalLocalToWorld,f.transformNormalLocalToWorld);let C=e.camera.positionWC;f.cameraPositionUv=F.multiplyByPoint(this._transformPositionWorldToUv,C,f.cameraPositionUv),f.stepSize=this._stepSizeMultiplier;let A=e.passes.pick?this._drawCommandPick:e.passes.pickVoxel?this._drawCommandPickVoxel:this._drawCommand;A.boundingVolume=o.boundingSphere,e.commandList.push(A)};var Y0t=new h,UK=new h,X0t=new fe,K0t=new h;function Z0t(e,t){if(e._exaggeratedMinBounds=h.clone(e._minBounds,e._exaggeratedMinBounds),e._exaggeratedMaxBounds=h.clone(e._maxBounds,e._exaggeratedMaxBounds),e.shape===ki.ELLIPSOID){let n=t.verticalExaggerationRelativeHeight,i=t.verticalExaggeration;e._exaggeratedMinBounds.z=(e._minBounds.z-n)*i+n,e._exaggeratedMaxBounds.z=(e._maxBounds.z-n)*i+n}else if(e.shape===ki.BOX){let n=h.fromElements(1,1,t.verticalExaggeration,Y0t);e._exaggeratedModelMatrix=F.multiplyByScale(e._modelMatrix,n,e._exaggeratedModelMatrix),e._exaggeratedModelMatrix=F.multiplyByTranslation(e._exaggeratedModelMatrix,$0t(e,t),e._exaggeratedModelMatrix)}}function $0t(e,t){let{shapeTransform:n=F.IDENTITY,globalTransform:i=F.IDENTITY}=e._provider,o=F.getTranslation(n,UK),r=F.multiplyByPoint(e._modelMatrix,o,UK),s=F.multiplyByPoint(i,r,UK),c=ee.WGS84.cartesianToCartographic(s,X0t),u=0;l(c)&&(u=c.height);let f=Pr.getHeight(u,t.verticalExaggeration,t.verticalExaggerationRelativeHeight);return h.fromElements(0,0,(f-u)/t.verticalExaggeration,K0t)}function Q0t(e,t,n){let i=e._uniforms;e._pickId=n.createPickId({primitive:e}),i.pickColor=z.clone(e._pickId.color,i.pickColor);let{shaderDefines:o,shaderUniforms:r}=e._shape;e._shapeDefinesOld=We(o,!0);let s=e._uniformMap;for(let a in r)if(r.hasOwnProperty(a)){let c=`u_${a}`;s[c]=function(){return r[a]}}i.dimensions=h.clone(t.dimensions,i.dimensions),e._paddingBefore=h.clone(y(t.paddingBefore,h.ZERO),e._paddingBefore),i.paddingBefore=h.clone(e._paddingBefore,i.paddingBefore),e._paddingAfter=h.clone(y(t.paddingAfter,h.ZERO),e._paddingBefore),i.paddingAfter=h.clone(e._paddingAfter,i.paddingAfter),e._traversal=J0t(e,t,n),ext(e._traversal,i)}function aTe(e,t){let n=y(t.shapeTransform,F.IDENTITY),i=y(t.globalTransform,F.IDENTITY);return F.multiplyTransformation(i,e._exaggeratedModelMatrix,e._compoundModelMatrix),F.multiplyTransformation(e._compoundModelMatrix,n,e._compoundModelMatrix),Hb(e,"_compoundModelMatrix","_compoundModelMatrixOld")+Hb(e,"_minBounds","_minBoundsOld")+Hb(e,"_maxBounds","_maxBoundsOld")+Hb(e,"_exaggeratedMinBounds","_exaggeratedMinBoundsOld")+Hb(e,"_exaggeratedMaxBounds","_exaggeratedMaxBoundsOld")+Hb(e,"_minClippingBounds","_minClippingBoundsOld")+Hb(e,"_maxClippingBounds","_maxClippingBoundsOld")>0}function Hb(e,t,n){let i=e[t],o=e[n],r=!i.equals(o);return r&&i.clone(o),r?1:0}function cTe(e,t,n){if(!t.update(e._compoundModelMatrix,e._exaggeratedMinBounds,e._exaggeratedMaxBounds,e.minClippingBounds,e.maxClippingBounds))return!1;let o=t.shapeTransform,r=F.inverse(o,H0t),s=F.getRotation(o,U0t),a=F.getScale(o,k0t),c=h.maximumComponent(a),u=h.divideByScalar(a,c,V0t),f=$.multiplyByScale(s,u,z0t);return e._transformPositionWorldToUv=F.multiplyTransformation(j0t,r,e._transformPositionWorldToUv),e._transformPositionUvToWorld=F.multiplyTransformation(o,q0t,e._transformPositionUvToWorld),e._transformDirectionWorldToLocal=F.getMatrix3(r,e._transformDirectionWorldToLocal),e._transformNormalLocalToWorld=$.inverseTranspose(f,e._transformNormalLocalToWorld),!0}function J0t(e,t,n){let i=h.clone(t.dimensions,N0t);h.add(i,e._paddingBefore,i),h.add(i,e._paddingAfter,i);let o=t.maximumTileCount,r=l(o)?bP.getApproximateTextureMemoryByteLength(o,i,t.types,t.componentTypes):void 0,s=y(t.keyframeCount,1);return new bP(e,n,i,t.types,t.componentTypes,s,r)}function ext(e,t){t.octreeInternalNodeTexture=e.internalNodeTexture,t.octreeInternalNodeTexelSizeUv=U.clone(e.internalNodeTexelSizeUv,t.octreeInternalNodeTexelSizeUv),t.octreeInternalNodeTilesPerRow=e.internalNodeTilesPerRow;let n=e.megatextures,i=n[0],o=n.length;t.megatextureTextures=new Array(o);for(let r=0;r<o;r++)t.megatextureTextures[r]=n[r].texture;t.megatextureSliceDimensions=U.clone(i.sliceCountPerRegion,t.megatextureSliceDimensions),t.megatextureTileDimensions=U.clone(i.regionCountPerMegatexture,t.megatextureTileDimensions),t.megatextureVoxelSizeUv=U.clone(i.voxelSizeUv,t.megatextureVoxelSizeUv),t.megatextureSliceSizeUv=U.clone(i.sliceSizeUv,t.megatextureSliceSizeUv),t.megatextureTileSizeUv=U.clone(i.regionSizeUv,t.megatextureTileSizeUv)}function txt(e,t){let n=t.shaderDefines,i=Object.keys(n).some(o=>n[o]!==e._shapeDefinesOld[o]);return i&&(e._shapeDefinesOld=We(n,!0)),i}function nxt(e,t){if(!l(e)||!l(t))return 0;let n=t.currentTime,i,o=e.indexOf(n);o>=0?i=e.get(o):(o=~o,o===e.length?(o=e.length-1,i=e.get(o),n=i.stop):(i=e.get(o),n=i.start));let r=K.secondsDifference(i.stop,i.start),a=K.secondsDifference(n,i.start)/r;return o+a}function ixt(e,t){let n=e.clippingPlanes;if(!l(n))return!1;n.update(t);let{clippingPlanesState:i,enabled:o}=n;if(o){let r=e._uniforms;r.clippingPlanesTexture=n.texture,r.clippingPlanesMatrix=F.transpose(F.multiplyTransformation(F.inverse(n.modelMatrix,r.clippingPlanesMatrix),e._transformPositionUvToWorld,r.clippingPlanesMatrix),r.clippingPlanesMatrix)}return e._clippingPlanesState===i&&e._clippingPlanesEnabled===o?!1:(e._clippingPlanesState=i,e._clippingPlanesEnabled=o,!0)}Gm.prototype.isDestroyed=function(){return!1};Gm.prototype.destroy=function(){let e=this._drawCommand;l(e)&&(e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy());let t=this._drawCommandPick;return l(t)&&(t.shaderProgram=t.shaderProgram&&t.shaderProgram.destroy()),this._pickId=this._pickId&&this._pickId.destroy(),this._traversal=this._traversal&&this._traversal.destroy(),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),ue(this)};var sTe=new Array(new oe(-1,-1,-1,1),new oe(1,-1,-1,1),new oe(-1,1,-1,1),new oe(1,1,-1,1),new oe(-1,-1,1,1),new oe(1,-1,1,1),new oe(-1,1,1,1),new oe(1,1,1,1)),oxt=new Array(1,2,4,0,3,5,0,3,6,1,2,7,0,5,6,1,4,7,2,4,7,3,5,6),rxt=new Array(new oe,new oe,new oe,new oe,new oe,new oe,new oe,new oe);function sxt(e,t,n){let i=F.fromRotationTranslation(e.halfAxes,e.center,G0t),o=F.multiply(t,i,W0t),r=+Number.MAX_VALUE,s=-Number.MAX_VALUE,a=+Number.MAX_VALUE,c=-Number.MAX_VALUE,u,f=rxt,d=sTe.length;for(u=0;u<d;u++)F.multiplyByVector(o,sTe[u],f[u]);for(u=0;u<d;u++){let p=f[u];if(p.z>=-p.w){let g=p.x/p.w,m=p.y/p.w;r=Math.min(r,g),s=Math.max(s,g),a=Math.min(a,m),c=Math.max(c,m)}else for(let g=0;g<3;g++){let m=oxt[u*3+g],x=f[m];if(x.z>=-x.w){let b=p.z+p.w,T=x.z+x.w,C=b/(b-T),A=oe.lerp(p,x,C,F0t),S=A.x/A.w,v=A.y/A.w;r=Math.min(r,S),s=Math.max(s,S),a=Math.min(a,v),c=Math.max(c,v)}}}return r=P.clamp(r,-1,1),a=P.clamp(a,-1,1),s=P.clamp(s,-1,1),c=P.clamp(c,-1,1),n=oe.fromElements(r,a,s,c,n),n}var zK=3e7,axt=new h(zK,0,0),cxt=new h(0,zK,0),lxt=new h(0,0,zK);function uxt(e,t){let n=e._traversal,i=e._debugPolylines;i.removeAll();function o(c,u,f,d){i.add({positions:[c,u],width:d,material:Yi.fromType("Color",{color:f})})}function r(c,u,f){let d=c.computeCorners();o(d[0],d[1],u,f),o(d[2],d[3],u,f),o(d[4],d[5],u,f),o(d[6],d[7],u,f),o(d[0],d[2],u,f),o(d[4],d[6],u,f),o(d[1],d[3],u,f),o(d[5],d[7],u,f),o(d[0],d[4],u,f),o(d[2],d[6],u,f),o(d[1],d[5],u,f),o(d[3],d[7],u,f)}function s(c){if(!n.isRenderable(c))return;let u=c.level,d=Math.max(1,5/Math.pow(2,u)),g=[z.RED,z.LIME,z.BLUE][u%3];if(r(c.orientedBoundingBox,g,d),l(c.children))for(let m=0;m<8;m++)s(c.children[m])}r(e._shape.orientedBoundingBox,z.WHITE,5),s(n.rootNode);let a=10;o(h.ZERO,axt,z.RED,a),o(h.ZERO,cxt,z.LIME,a),o(h.ZERO,lxt,z.BLUE,a),i.update(t)}Gm.DefaultCustomShader=new ES({fragmentShaderText:`void fragmentMain(FragmentInput fsInput, inout czm_modelMaterial material) { - vec3 p = czm_viewRotation * (czm_temeToPseudoFixed * (czm_entireFrustum.y * position)); - gl_Position = czm_projection * vec4(p, 1.0); - v_texCoord = position.xyz; -} -`;function _S(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new et({modelMatrix:F.clone(F.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0}_S.prototype.update=function(e,t){let n=this,{mode:i,passes:o,context:r}=e;if(!this.show||i!==ne.SCENE3D&&i!==ne.MORPHING||!o.render)return;if(this._sources!==this.sources){this._sources=this.sources;let a=this.sources;typeof a.positiveX=="string"?NM(r,this._sources).then(function(c){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=c}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new qa({context:r,source:a}))}let s=this._command;if(!l(s.vertexArray)){s.uniformMap={u_cubeMap:function(){return n._cubeMap}};let a=ql.createGeometry(ql.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Pe.POSITION_ONLY})),c=this._attributeLocations=Un.createAttributeLocations(a);s.vertexArray=di.fromGeometry({context:r,geometry:a,attributeLocations:c,bufferUsage:Ve.STATIC_DRAW}),s.renderState=ze.fromCache({blending:fn.ALPHA_BLEND})}if(!l(s.shaderProgram)||this._useHdr!==t){let a=new Ge({defines:[t?"HDR":""],sources:[QH]});s.shaderProgram=sn.fromCache({context:r,vertexShaderSource:JH,fragmentShaderSource:a,attributeLocations:this._attributeLocations}),this._useHdr=t}if(l(this._cubeMap))return s};_S.prototype.isDestroyed=function(){return!1};_S.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),ue(this)};function pS(e){return on(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}_S.createEarthSkyBox=function(){return new _S({sources:{positiveX:pS("px"),negativeX:pS("mx"),positiveY:pS("py"),negativeY:pS("my"),positiveZ:pS("pz"),negativeZ:pS("mz")}})};var e8=_S;function GK(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(GK.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});GK.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,P.PI),i=P.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var uTe=GK;function EP(){}EP.prototype.evaluate=function(e,t){de.throwInstantiationError()};EP.prototype.evaluateColor=function(e,t){de.throwInstantiationError()};EP.prototype.getShaderFunction=function(e,t,n,i){de.throwInstantiationError()};EP.prototype.getVariables=function(){de.throwInstantiationError()};var fTe=EP;var t8=`uniform sampler2D u_texture; - -in vec2 v_textureCoordinates; - -void main() + material.diffuse = vec3(1.0); + material.alpha = 1.0; +}`});function lTe(){this.ready=!0,this.shape=ki.BOX,this.dimensions=new h(1,1,1),this.names=["data"],this.types=[dt.SCALAR],this.componentTypes=[Vt.FLOAT32],this.maximumTileCount=1}lTe.prototype.requestData=function(e){if(!((l(e)?y(e.tileLevel,0):0)>=1))return Promise.resolve([new Float32Array(1)])};Gm.DefaultProvider=new lTe;var Gb=Gm;function fxt(e,t,n,i){if(!l(e)||l(t)&&e.id!==t)return;let r=(e.classes||{})[n];if(!l(r))return;let a=(r.properties||{})[i];if(l(a))return a}var VH=fxt;function dxt(e,t,n,i,o){this.schemaId=e,this.className=t,this.propertyName=n,this.classProperty=i,this.metadataProperty=o}var UH=dxt;function hxt(e,t,n){if(!l(e))return;let i=e.propertyTextures;for(let o of i)if(o.class.id===t){let a=o.properties[n];if(l(a))return a}}var zH=hxt;var GH=function(e){return function(){e.frameState.afterRender.push(function(){e.requestRender()})}};function oi(e){e=y(e,y.EMPTY_OBJECT);let t=e.canvas,n=e.creditContainer,i=e.creditViewport,o=We(e.contextOptions),r=l(n),s=new XM(t,o);r||(n=document.createElement("div"),n.style.position="absolute",n.style.bottom="0",n.style["text-shadow"]="0 0 2px #000000",n.style.color="#ffffff",n.style["font-size"]="10px",n.style["padding-right"]="5px",t.parentNode.appendChild(n)),l(i)||(i=t.parentNode),this._id=Gn(),this._jobScheduler=new f4,this._frameState=new c4(s,new t4(n,"\u2022",i),this._jobScheduler),this._frameState.scene3DOnly=y(e.scene3DOnly,!1),this._removeCreditContainer=!r,this._creditContainer=n,this._canvas=t,this._context=s,this._computeEngine=new X1(s),this._ellipsoid=y(e.ellipsoid,ee.default),this._globe=void 0,this._globeTranslucencyState=new l4,this._primitives=new _u,this._groundPrimitives=new _u,this._globeHeight=void 0,this._globeHeightDirty=!0,this._cameraUnderground=!1,this._removeUpdateHeightCallback=void 0,this._logDepthBuffer=oi.defaultLogDepthBuffer&&s.fragmentDepth,this._logDepthBufferDirty=!0,this._tweens=new xS,this._shaderFrameCount=0,this._sunPostProcess=void 0,this._computeCommandList=[],this._overlayCommandList=[],this._useOIT=y(e.orderIndependentTranslucency,!0),this._executeOITFunction=void 0,this._depthPlane=new o4(e.depthPlaneEllipsoidOffset),this._clearColorCommand=new ri({color:new z,stencil:0,owner:this}),this._depthClearCommand=new ri({depth:1,owner:this}),this._stencilClearCommand=new ri({stencil:0}),this._classificationStencilClearCommand=new ri({stencil:0,renderState:ze.fromCache({stencilMask:Ut.CLASSIFICATION_MASK})}),this._depthOnlyRenderStateCache={},this._transitioner=new Q4(this),this._preUpdate=new me,this._postUpdate=new me,this._renderError=new me,this._preRender=new me,this._postRender=new me,this._minimumDisableDepthTestDistance=0,this._debugInspector=new hH,this._msaaSamples=y(e.msaaSamples,4),this.rethrowRenderErrors=!1,this.completeMorphOnUserInput=!0,this.morphStart=new me,this.morphComplete=new me,this.skyBox=void 0,this.skyAtmosphere=void 0,this.sun=void 0,this.sunBloom=!0,this._sunBloom=void 0,this.moon=void 0,this.backgroundColor=z.clone(z.BLACK),this._mode=ne.SCENE3D,this._mapProjection=l(e.mapProjection)?e.mapProjection:new Ii(this._ellipsoid),this.morphTime=1,this.farToNearRatio=1e3,this.logarithmicDepthFarToNearRatio=1e9,this.nearToFarDistance2D=175e4,this.verticalExaggeration=1,this.verticalExaggerationRelativeHeight=0,this.debugCommandFilter=void 0,this.debugShowCommands=!1,this.debugShowFrustums=!1,this.debugShowFramesPerSecond=!1,this.debugShowDepthFrustum=1,this.debugShowFrustumPlanes=!1,this._debugShowFrustumPlanes=!1,this._debugFrustumPlanes=void 0,this.useDepthPicking=!0,this.pickTranslucentDepth=!1,this.cameraEventWaitTime=500,this.atmosphere=new MC,this.fog=new a4,this.fog.enabled=ee.WGS84.equals(this._ellipsoid),ee.WGS84.equals(this._ellipsoid)||(co.DEFAULT_VIEW_RECTANGLE=ae.fromDegrees(-45,-45,45,45)),this._shadowMapCamera=new co(this),this.shadowMap=new p0({context:s,lightCamera:this._shadowMapCamera,enabled:y(e.shadows,!1)}),this.invertClassification=!1,this.invertClassificationColor=z.clone(z.WHITE),this._actualInvertClassificationColor=z.clone(this._invertClassificationColor),this._invertClassification=new sP,this.focalLength=void 0,this.eyeSeparation=void 0,this.postProcessStages=new Z4,this._brdfLutGenerator=new Wz,this._performanceDisplay=void 0,this._debugVolume=void 0,this._screenSpaceCameraController=new lH(this),this._cameraUnderground=!1,this._mapMode2D=y(e.mapMode2D,Mu.INFINITE_SCROLL),this._environmentState={skyBoxCommand:void 0,skyAtmosphereCommand:void 0,sunDrawCommand:void 0,sunComputeCommand:void 0,moonCommand:void 0,isSunVisible:!1,isMoonVisible:!1,isReadyForAtmosphere:!1,isSkyAtmosphereVisible:!1,clearGlobeDepth:!1,useDepthPlane:!1,renderTranslucentDepthForPick:!1,originalFramebuffer:void 0,useGlobeDepthFramebuffer:!1,useOIT:!1,useInvertClassification:!1,usePostProcess:!1,usePostProcessSelected:!1,useWebVR:!1},this._useWebVR=!1,this._cameraVR=void 0,this._aspectRatioVR=void 0,this.requestRenderMode=y(e.requestRenderMode,!1),this._renderRequested=!0,this.maximumRenderTimeChange=y(e.maximumRenderTimeChange,0),this._lastRenderTime=void 0,this._frameRateMonitor=void 0,this._removeRequestListenerCallback=Cc.requestCompletedEvent.addEventListener(GH(this)),this._removeTaskProcessorListenerCallback=xi.taskCompletedEvent.addEventListener(GH(this)),this._removeGlobeCallbacks=[],this._removeTerrainProviderReadyListener=void 0;let a=new Ye(0,0,s.drawingBufferWidth,s.drawingBufferHeight),c=new co(this);this._logDepthBuffer&&(c.frustum.near=.1,c.frustum.far=1e10),this.preloadFlightCamera=new co(this),this.preloadFlightCullingVolume=void 0,this._picking=new P4(this),this._defaultView=new pS(this,c,a),this._view=this._defaultView,this._hdr=void 0,this._hdrDirty=void 0,this.highDynamicRange=!1,this.gamma=2.2,this.sphericalHarmonicCoefficients=void 0,this.specularEnvironmentMaps=void 0,this._specularEnvironmentCubeMap=void 0,this.light=new q_,mTe(this,0,K.now()),this.updateFrameState(),this.initializeFrame()}oi.defaultLogDepthBuffer=!0;function mxt(e,t){for(let i=0;i<e._removeGlobeCallbacks.length;++i)e._removeGlobeCallbacks[i]();e._removeGlobeCallbacks.length=0;let n=[];l(t)&&(n.push(t.imageryLayersUpdatedEvent.addEventListener(GH(e))),n.push(t.terrainProviderChanged.addEventListener(GH(e)))),e._removeGlobeCallbacks=n}Object.defineProperties(oi.prototype,{canvas:{get:function(){return this._canvas}},drawingBufferHeight:{get:function(){return this._context.drawingBufferHeight}},drawingBufferWidth:{get:function(){return this._context.drawingBufferWidth}},maximumAliasedLineWidth:{get:function(){return Bt.maximumAliasedLineWidth}},maximumCubeMapSize:{get:function(){return Bt.maximumCubeMapSize}},pickPositionSupported:{get:function(){return this._context.depthTexture}},sampleHeightSupported:{get:function(){return this._context.depthTexture}},clampToHeightSupported:{get:function(){return this._context.depthTexture}},invertClassificationSupported:{get:function(){return this._context.depthTexture}},specularEnvironmentMapsSupported:{get:function(){return Vh.isSupported(this._context)}},ellipsoid:{get:function(){return this._ellipsoid}},globe:{get:function(){return this._globe},set:function(e){this._globe=this._globe&&this._globe.destroy(),this._globe=e,mxt(this,e)}},primitives:{get:function(){return this._primitives}},groundPrimitives:{get:function(){return this._groundPrimitives}},camera:{get:function(){return this._view.camera},set:function(e){this._view.camera=e}},view:{get:function(){return this._view},set:function(e){this._view=e}},defaultView:{get:function(){return this._defaultView}},picking:{get:function(){return this._picking}},screenSpaceCameraController:{get:function(){return this._screenSpaceCameraController}},mapProjection:{get:function(){return this._mapProjection}},jobScheduler:{get:function(){return this._jobScheduler}},frameState:{get:function(){return this._frameState}},environmentState:{get:function(){return this._environmentState}},tweens:{get:function(){return this._tweens}},imageryLayers:{get:function(){if(l(this.globe))return this.globe.imageryLayers}},terrainProvider:{get:function(){if(l(this.globe))return this.globe.terrainProvider},set:function(e){this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),l(this.globe)&&(this.globe.terrainProvider=e)}},terrainProviderChanged:{get:function(){if(l(this.globe))return this.globe.terrainProviderChanged}},preUpdate:{get:function(){return this._preUpdate}},postUpdate:{get:function(){return this._postUpdate}},renderError:{get:function(){return this._renderError}},preRender:{get:function(){return this._preRender}},postRender:{get:function(){return this._postRender}},lastRenderTime:{get:function(){return this._lastRenderTime}},context:{get:function(){return this._context}},debugFrustumStatistics:{get:function(){return this._view.debugFrustumStatistics}},scene3DOnly:{get:function(){return this._frameState.scene3DOnly}},orderIndependentTranslucency:{get:function(){return this._useOIT}},id:{get:function(){return this._id}},mode:{get:function(){return this._mode},set:function(e){e===ne.SCENE2D?this.morphTo2D(0):e===ne.SCENE3D?this.morphTo3D(0):e===ne.COLUMBUS_VIEW&&this.morphToColumbusView(0),this._mode=e}},frustumCommandsList:{get:function(){return this._view.frustumCommandsList}},numberOfFrustums:{get:function(){return this._view.frustumCommandsList.length}},useWebVR:{get:function(){return this._useWebVR},set:function(e){this._useWebVR=e,this._useWebVR?(this._frameState.creditDisplay.container.style.visibility="hidden",this._cameraVR=new co(this),l(this._deviceOrientationCameraController)||(this._deviceOrientationCameraController=new s4(this)),this._aspectRatioVR=this.camera.frustum.aspectRatio):(this._frameState.creditDisplay.container.style.visibility="visible",this._cameraVR=void 0,this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this.camera.frustum.aspectRatio=this._aspectRatioVR,this.camera.frustum.xOffset=0)}},mapMode2D:{get:function(){return this._mapMode2D}},splitPosition:{get:function(){return this._frameState.splitPosition},set:function(e){this._frameState.splitPosition=e}},minimumDisableDepthTestDistance:{get:function(){return this._minimumDisableDepthTestDistance},set:function(e){this._minimumDisableDepthTestDistance=e}},logarithmicDepthBuffer:{get:function(){return this._logDepthBuffer},set:function(e){e=this._context.fragmentDepth&&e,this._logDepthBuffer!==e&&(this._logDepthBuffer=e,this._logDepthBufferDirty=!0)}},gamma:{get:function(){return this._context.uniformState.gamma},set:function(e){this._context.uniformState.gamma=e}},highDynamicRange:{get:function(){return this._hdr},set:function(e){let t=this._context,n=e&&t.depthTexture&&(t.colorBufferFloat||t.colorBufferHalfFloat);this._hdrDirty=n!==this._hdr,this._hdr=n}},highDynamicRangeSupported:{get:function(){let e=this._context;return e.depthTexture&&(e.colorBufferFloat||e.colorBufferHalfFloat)}},cameraUnderground:{get:function(){return this._cameraUnderground}},msaaSamples:{get:function(){return this._msaaSamples},set:function(e){e=Math.min(e,Bt.maximumSamples),this._msaaSamples=e}},msaaSupported:{get:function(){return this._context.msaa}},pixelRatio:{get:function(){return this._frameState.pixelRatio},set:function(e){this._frameState.pixelRatio=e}},opaqueFrustumNearOffset:{get:function(){return .9999}},globeHeight:{get:function(){return this._globeHeight}}});oi.prototype.getCompressedTextureFormatSupported=function(e){let t=this.context;return(e==="WEBGL_compressed_texture_s3tc"||e==="s3tc")&&t.s3tc||(e==="WEBGL_compressed_texture_pvrtc"||e==="pvrtc")&&t.pvrtc||(e==="WEBGL_compressed_texture_etc"||e==="etc")&&t.etc||(e==="WEBGL_compressed_texture_etc1"||e==="etc1")&&t.etc1||(e==="WEBGL_compressed_texture_astc"||e==="astc")&&t.astc||(e==="EXT_texture_compression_bptc"||e==="bc7")&&t.bc7};function pxt(e,t){let n=e.pickedMetadataInfo,i=t.pickedMetadataInfo;return n?.schemaId!==i?.schemaId||n?.className!==i?.className||n?.propertyName!==i?.propertyName}function uTe(e,t,n){let i=e._frameState,o=e._context,r=e._view.oit,{lightShadowMaps:s,lightShadowsEnabled:a}=i.shadowState,c=t.derivedCommands;l(t.pickId)&&(c.picking=y_.createPickDerivedCommand(e,t,o,c.picking)),i.pickingMetadata&&t.pickMetadataAllowed&&(t.pickedMetadataInfo=i.pickedMetadataInfo,l(t.pickedMetadataInfo)&&(c.pickingMetadata=y_.createPickMetadataDerivedCommand(e,t,o,c.pickingMetadata))),t.pickOnly||(c.depth=y_.createDepthOnlyDerivedCommand(e,t,o,c.depth)),c.originalCommand=t,e._hdr&&(c.hdr=y_.createHdrCommand(t,o,c.hdr),t=c.hdr.command,c=t.derivedCommands),a&&t.receiveShadows&&(c.shadows=p0.createReceiveDerivedCommand(s,t,n,o,c.shadows)),t.pass===ve.TRANSLUCENT&&l(r)&&r.isSupported()&&(a&&t.receiveShadows?(c.oit=l(c.oit)?c.oit:{},c.oit.shadows=r.createDerivedCommands(c.shadows.receiveCommand,o,c.oit.shadows)):c.oit=r.createDerivedCommands(t,o,c.oit))}oi.prototype.updateDerivedCommands=function(e){let{derivedCommands:t}=e;if(!l(t))return;let n=this._frameState,{shadowState:i,useLogDepth:o}=this._frameState,r=this._context,s=!1,a=i.lastDirtyTime;e.lastDirtyTime!==a&&(e.lastDirtyTime=a,e.dirty=!0,s=!0);let c=this._hdr,u=l(t.logDepth),f=l(t.hdr),d=l(t.originalCommand),p=o&&!u,g=c&&!f,m=(!o||!c)&&!d,x=n.pickingMetadata&&pxt(e,n);if(e.dirty=e.dirty||p||g||m||x,!e.dirty)return;e.dirty=!1;let{shadowsEnabled:b,shadowMaps:T}=i;b&&e.castShadows&&(t.shadows=p0.createCastDerivedCommand(T,e,s,r,t.shadows)),(u||p)&&(t.logDepth=y_.createLogDepthCommand(e,r,t.logDepth),uTe(this,t.logDepth.command,s)),(d||m)&&uTe(this,e,s)};var _xt=new ah({pass:Vo.RENDER}),HK=new ah({pass:Vo.PRELOAD}),GK=new ah({pass:Vo.PRELOAD_FLIGHT}),gxt=new ah({pass:Vo.REQUEST_RENDER_MODE_DEFER_CHECK}),fTe=new ce,WK;function yxt(e){if(!(e._mode!==ne.SCENE3D||!e.globe?.show||e._cameraUnderground||e._globeTranslucencyState.translucent))return fTe.radius=e.ellipsoid.minimumRadius+e.frameState.minimumTerrainHeight,WK=vU.fromBoundingSphere(fTe,e.camera.positionWC,WK),WK}oi.prototype.clearPasses=function(e){e.render=!1,e.pick=!1,e.pickVoxel=!1,e.depth=!1,e.postProcess=!1,e.offscreen=!1};function mTe(e,t,n){let i=e._frameState;i.frameNumber=t,i.time=K.clone(n,i.time)}oi.prototype.updateFrameState=function(){let e=this.camera,t=this._frameState;t.commandList.length=0,t.shadowMaps.length=0,t.brdfLutGenerator=this._brdfLutGenerator,t.environmentMap=this.skyBox&&this.skyBox._cubeMap,t.mode=this._mode,t.morphTime=this.morphTime,t.mapProjection=this.mapProjection,t.camera=e,t.cullingVolume=e.frustum.computeCullingVolume(e.positionWC,e.directionWC,e.upWC),t.occluder=yxt(this),t.minimumTerrainHeight=0,t.minimumDisableDepthTestDistance=this._minimumDisableDepthTestDistance,t.invertClassification=this.invertClassification,t.useLogDepth=this._logDepthBuffer&&!(this.camera.frustum instanceof an||this.camera.frustum instanceof Wr),t.light=this.light,t.cameraUnderground=this._cameraUnderground,t.globeTranslucencyState=this._globeTranslucencyState;let{globe:n}=this;l(n)&&n._terrainExaggerationChanged&&(this.verticalExaggeration=n._terrainExaggeration,this.verticalExaggerationRelativeHeight=n._terrainExaggerationRelativeHeight,n._terrainExaggerationChanged=!1),t.verticalExaggeration=this.verticalExaggeration,t.verticalExaggerationRelativeHeight=this.verticalExaggerationRelativeHeight,l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.ready?(t.specularEnvironmentMaps=this._specularEnvironmentCubeMap.texture,t.specularEnvironmentMapsMaximumLOD=this._specularEnvironmentCubeMap.maximumMipmapLevel):(t.specularEnvironmentMaps=void 0,t.specularEnvironmentMapsMaximumLOD=void 0),t.sphericalHarmonicCoefficients=this.sphericalHarmonicCoefficients,this._actualInvertClassificationColor=z.clone(this.invertClassificationColor,this._actualInvertClassificationColor),sP.isTranslucencySupported(this._context)||(this._actualInvertClassificationColor.alpha=1),t.invertClassificationColor=this._actualInvertClassificationColor,l(this.globe)?t.maximumScreenSpaceError=this.globe.maximumScreenSpaceError:t.maximumScreenSpaceError=2,this.clearPasses(t.passes),t.tilesetPassState=void 0};oi.prototype.isVisible=function(e,t,n){if(!l(t))return!1;let{boundingVolume:i}=t;return!l(i)||!t.cull?!0:e.computeVisibility(i)===jt.OUTSIDE?!1:!l(n)||!t.occlude||!i.isOccluded(n)};var HH=new F(0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,1);HH=F.inverseTransformation(HH,HH);function xxt(e,t,n,i){let o=t._frameState,r=o.context,s=e.boundingVolume;l(t._debugVolume)&&t._debugVolume.destroy();let a=h.clone(s.center);if(o.mode!==ne.SCENE3D){a=F.multiplyByPoint(HH,a,a);let m=o.mapProjection,x=m.unproject(a);a=m.ellipsoid.cartographicToCartesian(x)}let c,u,{radius:f}=s;l(f)?(c=ma.createGeometry(new ma({radii:new h(f,f,f),vertexFormat:un.FLAT_VERTEX_FORMAT})),u=F.fromTranslation(a)):(c=Ka.createGeometry(Ka.fromDimensions({dimensions:new h(2,2,2),vertexFormat:un.FLAT_VERTEX_FORMAT})),u=F.fromRotationTranslation(s.halfAxes,a,new F)),t._debugVolume=new On({geometryInstances:new wt({geometry:Bn.toWireframe(c),modelMatrix:u,attributes:{color:new Wt(1,0,0,1)}}),appearance:new un({flat:!0,translucent:!1}),asynchronous:!1});let d=o.commandList,p=o.commandList=[];t._debugVolume.update(o),e=p[0],o.useLogDepth&&(e=y_.createLogDepthCommand(e,r).command);let g;l(i)&&(g=n.framebuffer,n.framebuffer=i),e.execute(r,n),l(g)&&(n.framebuffer=g),o.commandList=d}function Wm(e,t,n,i){let o=t._frameState,r=t._context;if(l(t.debugCommandFilter)&&!t.debugCommandFilter(e))return;if(e instanceof ri){e.execute(r,n);return}e.debugShowBoundingVolume&&l(e.boundingVolume)&&xxt(e,t,n,i),o.useLogDepth&&l(e.derivedCommands.logDepth)&&(e=e.derivedCommands.logDepth.command);let s=o.passes;if(!s.pick&&!s.pickVoxel&&!s.depth&&t._hdr&&l(e.derivedCommands)&&l(e.derivedCommands.hdr)&&(e=e.derivedCommands.hdr.command),s.pick||s.depth){if(s.pick&&!s.depth){if(o.pickingMetadata&&l(e.derivedCommands.pickingMetadata)){e=e.derivedCommands.pickingMetadata.pickMetadataCommand,e.execute(r,n);return}if(!o.pickingMetadata&&l(e.derivedCommands.picking)){e=e.derivedCommands.picking.pickCommand,e.execute(r,n);return}}else if(l(e.derivedCommands.depth)){e=e.derivedCommands.depth.depthOnlyCommand,e.execute(r,n);return}}if(t.debugShowCommands||t.debugShowFrustums){t._debugInspector.executeDebugShowFrustumsCommand(t,e,n);return}o.shadowState.lightShadowsEnabled&&e.receiveShadows&&l(e.derivedCommands.shadows)?e.derivedCommands.shadows.receiveCommand.execute(r,n):e.execute(r,n)}function dTe(e,t,n){let{derivedCommands:i}=e;if(!l(i))return;let o=t._frameState,r=t._context;o.useLogDepth&&l(i.logDepth)&&(e=i.logDepth.command);let{picking:s,pickingMetadata:a,depth:c}=e.derivedCommands;l(a)&&(e=i.pickingMetadata.pickMetadataCommand,e.execute(r,n)),l(s)?(e=s.pickCommand,e.execute(r,n)):l(c)&&(e=c.depthOnlyCommand,e.execute(r,n))}function pTe(e,t,n){return t.boundingVolume?.distanceSquaredTo(n)-e.boundingVolume?.distanceSquaredTo(n)}function bxt(e,t,n){return e.boundingVolume?.distanceSquaredTo(n)-t.boundingVolume?.distanceSquaredTo(n)+P.EPSILON12}function Txt(e,t,n,i,o){e0(i,pTe,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function Cxt(e,t,n,i,o){e0(i,bxt,e.camera.positionWC),l(o)&&t(o.unclassifiedCommand,e,n);for(let r=0;r<i.length;++r)t(i[r],e,n)}function Axt(e,t,n){e.context.uniformState.updatePass(ve.VOXELS);let i=n.commands[ve.VOXELS];i.length=n.indices[ve.VOXELS],e0(i,pTe,e.camera.positionWC);for(let o=0;o<i.length;++o)Wm(i[o],e,t)}var Ext=new Di,Sxt=new Ml,vxt=new an,wxt=new Wr;function Dxt(e){let{frustum:t}=e;return l(t.fov)?t.clone(Ext):l(t.infiniteProjectionMatrix)?t.clone(Sxt):l(t.width)?t.clone(vxt):t.clone(wxt)}function Ixt(e){if(e._environmentState.useOIT){if(!l(e._executeOITFunction)){let{view:t,context:n}=e;e._executeOITFunction=function(i,o,r,s,a){t.globeDepth.prepareColorTextures(n),t.oit.executeCommands(i,o,r,s,a)}}return e._executeOITFunction}return e.frameState.passes.render?Txt:Cxt}function Pxt(e,t,n){let{frameState:i,context:o}=e,{pick:r,pickVoxel:s}=i.passes,a=r||s,c;!a&&e._environmentState.useInvertClassification&&i.invertClassificationColor.alpha<1&&(c=e._invertClassification);let u=Ixt(e);o.uniformState.updatePass(ve.TRANSLUCENT);let f=n.commands[ve.TRANSLUCENT];f.length=n.indices[ve.TRANSLUCENT],u(e,Wm,t,f,c)}function Oxt(e,t,n){let{translucentTileClassification:i,globeDepth:o}=e._view;if(!(n.indices[ve.CESIUM_3D_TILE_CLASSIFICATION]>0)||!i.isSupported())return;let s=n.commands[ve.TRANSLUCENT];i.executeTranslucentCommands(e,Wm,t,s,o.depthStencilTexture),i.executeClassificationCommands(e,Wm,t,n)}function qK(e,t){let{camera:n,context:i,frameState:o}=e,{uniformState:r}=i;r.updateCamera(n);let s=Dxt(n);s.near=n.frustum.near,s.far=n.frustum.far;let a=o.passes,c=a.pick||a.pickVoxel;c||Rxt(e,t);let{clearGlobeDepth:u,renderTranslucentDepthForPick:f,useDepthPlane:d,useGlobeDepthFramebuffer:p,useInvertClassification:g,usePostProcessSelected:m}=e._environmentState,{globeDepth:x,globeTranslucencyFramebuffer:b,sceneFramebuffer:T,frustumCommandsList:C}=e._view,A=C.length,S=e._globeTranslucencyState,v=e._depthClearCommand,D=e._stencilClearCommand,R=e._classificationStencilClearCommand,O=e._depthPlane,M=n.position.z;function N(E,w){r.updatePass(w);let I=E.commands[w],L=E.indices[w];for(let B=0;B<L;++B)Wm(I[B],e,t);return L}function _(E,w){r.updatePass(w);let I=E.commands[w],L=E.indices[w];for(let B=0;B<L;++B)dTe(I[B],e,t)}for(let E=0;E<A;++E){let w=A-E-1,I=C[w];e.mode===ne.SCENE2D?(n.position.z=M-I.near+1,s.far=Math.max(1,I.far-I.near),s.near=1,r.update(o),r.updateFrustum(s)):(s.near=w!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s)),v.execute(i,t),i.stencilBuffer&&D.execute(i,t),S.translucent?(r.updatePass(ve.GLOBE),S.executeGlobeCommands(I,Wm,b,e,t)):N(I,ve.GLOBE),p&&x.executeCopyDepth(i,t),f||(S.translucent?(r.updatePass(ve.TERRAIN_CLASSIFICATION),S.executeGlobeClassificationCommands(I,Wm,b,e,t)):N(I,ve.TERRAIN_CLASSIFICATION)),u&&(v.execute(i,t),d&&O.execute(i,t));let L;if(!g||c||f)L=N(I,ve.CESIUM_3D_TILE),L>0&&(p&&(x.prepareColorTextures(i,u),x.executeUpdateDepth(i,t,x.depthStencilTexture)),f||(L=N(I,ve.CESIUM_3D_TILE_CLASSIFICATION)));else{e._invertClassification.clear(i,t);let H=t.framebuffer;t.framebuffer=e._invertClassification._fbo.framebuffer,L=N(I,ve.CESIUM_3D_TILE),p&&(e._invertClassification.prepareTextures(i),x.executeUpdateDepth(i,t,e._invertClassification._fbo.getDepthStencilTexture())),L=N(I,ve.CESIUM_3D_TILE_CLASSIFICATION_IGNORE_SHOW),t.framebuffer=H,e._invertClassification.executeClassified(i,t),o.invertClassificationColor.alpha===1&&e._invertClassification.executeUnclassified(i,t),L>0&&i.stencilBuffer&&R.execute(i,t),L=N(I,ve.CESIUM_3D_TILE_CLASSIFICATION)}if(L>0&&i.stencilBuffer&&D.execute(i,t),Axt(e,t,I),N(I,ve.OPAQUE),w!==0&&e.mode!==ne.SCENE2D&&(s.near=I.near,r.updateFrustum(s)),Pxt(e,t,I),Oxt(e,t,I),i.depthTexture&&e.useDepthPicking&&(p||f)){let H=e._picking.getPickDepth(e,w);H.update(i,x.depthStencilTexture),H.executeCopyDepth(i,t)}if(c||!m)continue;let B=t.framebuffer;t.framebuffer=T.getIdFramebuffer(),s.near=w!==0?I.near*e.opaqueFrustumNearOffset:I.near,s.far=I.far,r.updateFrustum(s),S.translucent?(r.updatePass(ve.GLOBE),S.executeGlobeCommands(I,dTe,b,e,t)):_(I,ve.GLOBE),u&&(v.framebuffer=t.framebuffer,v.execute(i,t),v.framebuffer=void 0),u&&d&&O.execute(i,t),_(I,ve.CESIUM_3D_TILE),_(I,ve.OPAQUE),_(I,ve.TRANSLUCENT),t.framebuffer=B}}function Rxt(e,t){let{context:n,environmentState:i,view:o}=e;if(n.uniformState.updatePass(ve.ENVIRONMENT),l(i.skyBoxCommand)&&Wm(i.skyBoxCommand,e,t),i.isSkyAtmosphereVisible&&Wm(i.skyAtmosphereCommand,e,t),i.isSunVisible&&(i.sunDrawCommand.execute(n,t),e.sunBloom&&!i.useWebVR)){let r;i.useGlobeDepthFramebuffer?r=o.globeDepth.framebuffer:i.usePostProcess?r=o.sceneFramebuffer.framebuffer:r=i.originalFramebuffer,e._sunPostProcess.execute(n),e._sunPostProcess.copy(n,r),t.framebuffer=r}i.isMoonVisible&&i.moonCommand.execute(n,t)}function _Te(e){e.context.uniformState.updatePass(ve.COMPUTE);let t=e._environmentState.sunComputeCommand;l(t)&&t.execute(e._computeEngine);let n=e._computeCommandList;for(let i=0;i<n.length;++i)n[i].execute(e._computeEngine)}function Mxt(e,t){e.context.uniformState.updatePass(ve.OVERLAY);let n=e.context,i=e._overlayCommandList;for(let o=0;o<i.length;++o)i[o].execute(n,t)}function Lxt(e,t,n){let{shadowMapCullingVolume:i,isPointLight:o,passes:r}=n,s=r.length,a=[ve.GLOBE,ve.CESIUM_3D_TILE,ve.OPAQUE,ve.TRANSLUCENT];for(let c=0;c<t.length;++c){let u=t[c];if(e.updateDerivedCommands(u),!(!u.castShadows||a.indexOf(u.pass)<0||!e.isVisible(i,u)))if(o)for(let f=0;f<s;++f)r[f].commandList.push(u);else if(s===1)r[0].commandList.push(u);else{let f=!1;for(let d=s-1;d>=0;--d){let p=r[d].cullingVolume;if(e.isVisible(p,u))r[d].commandList.push(u),f=!0;else if(f)break}}}}function gTe(e){let{shadowState:t,commandList:n}=e.frameState,{shadowsEnabled:i,shadowMaps:o}=t;if(!i)return;let{context:r}=e,{uniformState:s}=r;for(let a=0;a<o.length;++a){let c=o[a];if(c.outOfView)continue;let{passes:u}=c;for(let f=0;f<u.length;++f)u[f].commandList.length=0;Lxt(e,n,c);for(let f=0;f<u.length;++f){let d=c.passes[f],{camera:p,commandList:g}=d;s.updateCamera(p),c.updatePass(r,f);for(let m=0;m<g.length;++m){let x=g[m];s.updatePass(x.pass);let b=x.derivedCommands.shadows.castCommands[a];Wm(b,e,d.passState)}}}}var Nxt=new h;oi.prototype.updateAndExecuteCommands=function(e,t){Xxt(this,e,t),this._environmentState.useWebVR?Fxt(this,e,t):this._frameState.mode!==ne.SCENE2D||this._mapMode2D===Mu.ROTATE?x0(!0,this,e):jxt(this,e)};function Fxt(e,t){let n=e._view,i=n.camera,r=e._environmentState.renderTranslucentDepthForPick;yTe(e),n.createPotentiallyVisibleSet(e),_Te(e),r||gTe(e);let s=t.viewport;s.x=0,s.y=0,s.width=s.width*.5;let a=co.clone(i,e._cameraVR);a.frustum=i.frustum;let c=i.frustum.near,u=c*y(e.focalLength,5),f=y(e.eyeSeparation,u/30),d=h.multiplyByScalar(a.right,f*.5,Nxt);i.frustum.aspectRatio=s.width/s.height;let p=.5*f*c/u;h.add(a.position,d,i.position),i.frustum.xOffset=p,qK(e,t),s.x=s.width,h.subtract(a.position,d,i.position),i.frustum.xOffset=-p,qK(e,t),co.clone(a,i)}var Bxt=new fe(Math.PI,P.PI_OVER_TWO),kxt=new h,Vxt=new h,Uxt=new F,zxt=new F,Hxt=new h,Gxt=new h,Wxt=new Ye;function jxt(e,t){let{frameState:n,camera:i}=e,{uniformState:o}=e.context,r=t.viewport,s=Ye.clone(r,Wxt);t.viewport=s;let a=Bxt,c=kxt;e.mapProjection.project(a,c);let f=h.clone(i.position,Vxt),d=F.clone(i.transform,zxt),p=i.frustum.clone();i._setTransform(F.IDENTITY);let g=F.computeViewportTransformation(s,0,1,Uxt),m=i.frustum.projectionMatrix,x=i.positionWC.y,b=h.fromElements(P.sign(x)*c.x-x,0,-i.positionWC.x,Hxt),T=Mt.pointToGLWindowCoordinates(m,g,b,Gxt);T.x=Math.floor(T.x);let C=s.x,A=s.width;if(x===0||T.x<=C||T.x>=C+A)x0(!0,e,t);else if(Math.abs(C+A*.5-T.x)<1)s.width=T.x-s.x,i.position.x*=P.sign(i.position.x),i.frustum.right=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),x0(!0,e,t),s.x=T.x,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=0,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),x0(!1,e,t);else if(T.x>C+A*.5){s.width=T.x-C;let S=i.frustum.right;i.frustum.right=c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),x0(!0,e,t),s.x=T.x,s.width=C+A-T.x,i.position.x=-i.position.x,i.frustum.left=-i.frustum.right,i.frustum.right=S-i.frustum.right*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),x0(!1,e,t)}else{s.x=T.x,s.width=C+A-T.x;let S=i.frustum.left;i.frustum.left=-c.x-x,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),x0(!0,e,t),s.x=C,s.width=T.x-C,i.position.x=-i.position.x,i.frustum.right=-i.frustum.left,i.frustum.left=S-i.frustum.left*2,n.cullingVolume=i.frustum.computeCullingVolume(i.positionWC,i.directionWC,i.upWC),o.update(n),x0(!1,e,t)}i._setTransform(d),h.clone(f,i.position),i.frustum=p.clone(),t.viewport=r}function x0(e,t,n){let i=t._view,{renderTranslucentDepthForPick:o}=t._environmentState;e||(t.frameState.commandList.length=0),yTe(t),i.createPotentiallyVisibleSet(t),e&&(_Te(t),o||gTe(t)),qK(t,n)}var hTe=new As;oi.prototype.updateEnvironment=function(){let e=this._frameState,t=this._view,n=this._environmentState,i=e.passes.render,o=e.passes.offscreen,r=this.atmosphere,s=this.skyAtmosphere,a=this.globe,c=this._globeTranslucencyState;if(!i||this._mode!==ne.SCENE2D&&t.camera.frustum instanceof an||!c.environmentVisible)n.skyAtmosphereCommand=void 0,n.skyBoxCommand=void 0,n.sunDrawCommand=void 0,n.sunComputeCommand=void 0,n.moonCommand=void 0;else{if(l(s)){if(l(a))s.setDynamicLighting(Ig.fromGlobeFlags(a)),n.isReadyForAtmosphere=n.isReadyForAtmosphere||!a.show||a._surface._tilesToRender.length>0;else{let T=r.dynamicLighting;s.setDynamicLighting(T),n.isReadyForAtmosphere=!0}n.skyAtmosphereCommand=s.update(e,a),l(n.skyAtmosphereCommand)&&this.updateDerivedCommands(n.skyAtmosphereCommand)}else n.skyAtmosphereCommand=void 0;n.skyBoxCommand=l(this.skyBox)?this.skyBox.update(e,this._hdr):void 0;let b=l(this.sun)?this.sun.update(e,t.passState,this._hdr):void 0;n.sunDrawCommand=l(b)?b.drawCommand:void 0,n.sunComputeCommand=l(b)?b.computeCommand:void 0,n.moonCommand=l(this.moon)?this.moon.update(e):void 0}let u=n.clearGlobeDepth=l(a)&&a.show&&(!a.depthTestAgainstTerrain||this.mode===ne.SCENE2D);(n.useDepthPlane=u&&this.mode===ne.SCENE3D&&c.useDepthPlane)&&this._depthPlane.update(e),n.renderTranslucentDepthForPick=!1,n.useWebVR=this._useWebVR&&this.mode!==ne.SCENE2D&&!o;let d=e.mode===ne.SCENE3D&&!c.sunVisibleThroughGlobe?e.occluder:void 0,p=e.cullingVolume,g=hTe.planes;for(let b=0;b<5;++b)g[b]=p.planes[b];p=hTe,n.isSkyAtmosphereVisible=l(n.skyAtmosphereCommand)&&n.isReadyForAtmosphere,n.isSunVisible=this.isVisible(p,n.sunDrawCommand,d),n.isMoonVisible=this.isVisible(p,n.moonCommand,d);let m=this.specularEnvironmentMaps,x=this._specularEnvironmentCubeMap;l(m)&&x?.url!==m?(x=x&&x.destroy(),this._specularEnvironmentCubeMap=new Vh(m)):!l(m)&&l(x)&&(x.destroy(),this._specularEnvironmentCubeMap=void 0),l(this._specularEnvironmentCubeMap)&&this._specularEnvironmentCubeMap.update(e)};function qxt(e){let t=e._frameState;e.debugShowFrustumPlanes!==e._debugShowFrustumPlanes&&(e.debugShowFrustumPlanes?e._debugFrustumPlanes=new g_({camera:e.camera,updateOnChange:!1,frustumSplits:t.frustumSplits}):e._debugFrustumPlanes=e._debugFrustumPlanes&&e._debugFrustumPlanes.destroy(),e._debugShowFrustumPlanes=e.debugShowFrustumPlanes),l(e._debugFrustumPlanes)&&e._debugFrustumPlanes.update(t)}function Yxt(e){let t=e._frameState,{passes:n,shadowState:i,shadowMaps:o}=t,r=o.length,s=r>0&&!n.pick&&!n.pickVoxel&&e.mode===ne.SCENE3D;if(s!==i.shadowsEnabled&&(++i.lastDirtyTime,i.shadowsEnabled=s),i.lightShadowsEnabled=!1,!!s){for(let a=0;a<r;++a)if(o[a]!==i.shadowMaps[a]){++i.lastDirtyTime;break}i.shadowMaps.length=0,i.lightShadowMaps.length=0;for(let a=0;a<r;++a){let c=o[a];c.update(t),i.shadowMaps.push(c),c.fromLightSource&&(i.lightShadowMaps.push(c),i.lightShadowsEnabled=!0),c.dirty&&(++i.lastDirtyTime,c.dirty=!1)}}}function yTe(e){let t=e._frameState;e._groundPrimitives.update(t),e._primitives.update(t),qxt(e),Yxt(e),e._globe&&e._globe.render(t)}function Xxt(e,t,n){let i=e._context,o=e._frameState,r=e._environmentState,s=e._view,a=o.passes,c=a.pick||a.pickVoxel;l(s.globeDepth)&&(s.globeDepth.picking=c);let u=r.useWebVR;r.originalFramebuffer=t.framebuffer,l(e.sun)&&e.sunBloom!==e._sunBloom?(e.sunBloom&&!u?e._sunPostProcess=new dH:l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy()),e._sunBloom=e.sunBloom):!l(e.sun)&&l(e._sunPostProcess)&&(e._sunPostProcess=e._sunPostProcess.destroy(),e._sunBloom=!1);let f=e._clearColorCommand;z.clone(n,f.color),f.execute(i,t);let d=r.useGlobeDepthFramebuffer=l(s.globeDepth);d&&(s.globeDepth.update(i,t,s.viewport,e.msaaSamples,e._hdr,r.clearGlobeDepth),s.globeDepth.clear(i,t,n));let p=s.oit,g=r.useOIT=!c&&l(p)&&p.isSupported();g&&(p.update(i,t,s.globeDepth.colorFramebufferManager,e._hdr,e.msaaSamples),p.clear(i,t,n),r.useOIT=p.isSupported());let m=e.postProcessStages,x=r.usePostProcess=!c&&(e._hdr||m.length>0||m.ambientOcclusion.enabled||m.fxaa.enabled||m.bloom.enabled);if(r.usePostProcessSelected=!1,x&&(s.sceneFramebuffer.update(i,s.viewport,e._hdr,e.msaaSamples),s.sceneFramebuffer.clear(i,t,n),m.update(i,o.useLogDepth,e._hdr),m.clear(i),x=r.usePostProcess=m.ready,r.usePostProcessSelected=x&&m.hasSelected),r.isSunVisible&&e.sunBloom&&!u?(t.framebuffer=e._sunPostProcess.update(t),e._sunPostProcess.clear(i,t,n)):d?t.framebuffer=s.globeDepth.framebuffer:x&&(t.framebuffer=s.sceneFramebuffer.framebuffer),l(t.framebuffer)&&f.execute(i,t),r.useInvertClassification=!c&&l(t.framebuffer)&&e.invertClassification){let T;if(o.invertClassificationColor.alpha===1&&d&&(T=s.globeDepth.framebuffer),l(T)||i.depthTexture){if(e._invertClassification.previousFramebuffer=T,e._invertClassification.update(i,e.msaaSamples,s.globeDepth.colorFramebufferManager),e._invertClassification.clear(i,t),o.invertClassificationColor.alpha<1&&g){let C=e._invertClassification.unclassifiedCommand,A=C.derivedCommands;A.oit=p.createDerivedCommands(C,i,A.oit)}}else r.useInvertClassification=!1}e._globeTranslucencyState.translucent&&s.globeTranslucencyFramebuffer.updateAndClear(e._hdr,s.viewport,i,t)}oi.prototype.resolveFramebuffers=function(e){let t=this._context,n=this._environmentState,i=this._view,{globeDepth:o,translucentTileClassification:r}=i;l(o)&&o.prepareColorTextures(t);let{useOIT:s,useGlobeDepthFramebuffer:a,usePostProcess:c,originalFramebuffer:u}=n,f=a?o.colorFramebufferManager:void 0,d=i.sceneFramebuffer._colorFramebuffer,p=i.sceneFramebuffer.idFramebuffer;if(s&&(e.framebuffer=c?d.framebuffer:u,i.oit.execute(t,e)),r.hasTranslucentDepth&&r.isSupported()&&r.execute(this,e),c){i.sceneFramebuffer.prepareColorTextures(t);let g=d;a&&!s&&(g=f);let m=this.postProcessStages,x=g.getColorTexture(0),b=p.getColorTexture(0),T=y(f,d).getDepthStencilTexture();m.execute(t,x,T,b),m.copy(t,u)}!s&&!c&&a&&(e.framebuffer=u,o.executeCopyColor(t,e))};function Kxt(e){let t=e._frameState.afterRender;for(let n=0;n<t.length;++n)t[n]()&&e.requestRender();t.length=0}function Zxt(e){if(e.mode===ne.MORPHING)return;let t=e.camera.positionCartographic;return e.getHeight(t)}oi.prototype.getHeight=function(e,t){if(!l(e))return;let n=t===Xe.CLAMP_TO_TERRAIN||t===Xe.RELATIVE_TO_TERRAIN,i=t===Xe.CLAMP_TO_3D_TILE||t===Xe.RELATIVE_TO_3D_TILE;if(!l(e))return;let o=Number.NEGATIVE_INFINITY;if(!n){let s=this.primitives.length;for(let a=0;a<s;++a){let c=this.primitives.get(a);if(!c.isCesium3DTileset||!c.show||!c.enableCollision)continue;let u=c.getHeight(e,this);l(u)&&u>o&&(o=u)}}let r=this._globe;if(!i&&l(r)&&r.show){let s=r.getHeight(e);s>o&&(o=s)}if(o>Number.NEGATIVE_INFINITY)return o};var jK=new fe;oi.prototype.updateHeight=function(e,t,n){let i=()=>{fe.clone(e,jK);let g=this.getHeight(e,n);l(g)&&(jK.height=g,t(jK))},o=n===Xe.CLAMP_TO_TERRAIN||n===Xe.RELATIVE_TO_TERRAIN,r=n===Xe.CLAMP_TO_3D_TILE||n===Xe.RELATIVE_TO_3D_TILE,s;!r&&l(this.globe)&&(s=this.globe._surface.updateHeight(e,i));let a={},c=this._ellipsoid,u=g=>{if(o||g.isDestroyed()||!g.isCesium3DTileset)return;let m=g.updateHeight(e,i,c);a[g.id]=m};if(!o){let g=this.primitives.length;for(let m=0;m<g;++m){let x=this.primitives.get(m);u(x)}}let f=this.primitives.primitiveAdded.addEventListener(u),d=this.primitives.primitiveRemoved.addEventListener(g=>{g.isDestroyed()||!g.isCesium3DTileset||(l(a[g.id])&&a[g.id](),delete a[g.id])});return()=>{s=s&&s(),Object.values(a).forEach(g=>g()),a={},f(),d()}};function $xt(e){let t=e.camera,n=e._mode,i=e._screenSpaceCameraController,o=t.positionCartographic;if(!l(o))return!1;if(!i.onMap()&&o.height<0)return!0;if(n===ne.SCENE2D||n===ne.MORPHING)return!1;let r=e._globeHeight;return l(r)&&o.height<r}oi.prototype.initializeFrame=function(){if(this._shaderFrameCount++===120&&(this._shaderFrameCount=0,this._context.shaderCache.destroyReleasedShaderPrograms(),this._context.textureCache.destroyReleasedTextures()),this._tweens.update(),this._globeHeightDirty){l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),this._globeHeight=Zxt(this),this._globeHeightDirty=!1;let e=this.camera.positionCartographic;this._removeUpdateHeightCallback=this.updateHeight(e,t=>{this.isDestroyed()||(this._globeHeight=t.height)})}this._cameraUnderground=$xt(this),this._globeTranslucencyState.update(this),this._screenSpaceCameraController.update(),l(this._deviceOrientationCameraController)&&this._deviceOrientationCameraController.update(),this.camera.update(this._mode),this.camera._updateCameraChanged()};function Qxt(e,t){if(e.debugShowFramesPerSecond){if(!l(e._performanceDisplay)){let n=document.createElement("div");n.className="cesium-performanceDisplay-defaultContainer",e._canvas.parentNode.appendChild(n);let o=new h0({container:n});e._performanceDisplay=o,e._performanceContainer=n}e._performanceDisplay.throttled=e.requestRenderMode,e._performanceDisplay.update(t)}else l(e._performanceDisplay)&&(e._performanceDisplay=e._performanceDisplay&&e._performanceDisplay.destroy(),e._performanceContainer.parentNode.removeChild(e._performanceContainer))}function Jxt(e){e._jobScheduler.resetBudgets();let t=e._frameState;e.primitives.prePassesUpdate(t),l(e.globe)&&e.globe.update(t),e._picking.update(),t.creditDisplay.update()}function ebt(e){e.primitives.postPassesUpdate(e._frameState),Cc.update()}var tbt=new z;function nbt(e){let t=e._frameState,n=e.context,{uniformState:i}=n,o=e._defaultView;e._view=o,e.updateFrameState(),t.passes.render=!0,t.passes.postProcess=e.postProcessStages.hasSelected,t.tilesetPassState=_xt;let r=y(e.backgroundColor,z.BLACK);e._hdr&&(r=z.clone(r,tbt),r.red=Math.pow(r.red,e.gamma),r.green=Math.pow(r.green,e.gamma),r.blue=Math.pow(r.blue,e.gamma)),t.backgroundColor=r,t.atmosphere=e.atmosphere,e.fog.update(t),i.update(t);let s=e.shadowMap;l(s)&&s.enabled&&(!l(e.light)||e.light instanceof q_?h.negate(i.sunDirectionWC,e._shadowMapCamera.direction):h.clone(e.light.direction,e._shadowMapCamera.direction),t.shadowMaps.push(s)),e._computeCommandList.length=0,e._overlayCommandList.length=0;let a=o.viewport;a.x=0,a.y=0,a.width=n.drawingBufferWidth,a.height=n.drawingBufferHeight;let c=o.passState;c.framebuffer=void 0,c.blendingEnabled=void 0,c.scissorTest=void 0,c.viewport=Ye.clone(a,c.viewport),l(e.globe)&&e.globe.beginFrame(t),e.updateEnvironment(),e.updateAndExecuteCommands(c,r),e.resolveFramebuffers(c),c.framebuffer=void 0,Mxt(e,c),l(e.globe)&&(e.globe.endFrame(t),e.globe.tilesLoaded||(e._renderRequested=!0)),n.endFrame()}function Wb(e,t){try{t(e)}catch(n){if(e._renderError.raiseEvent(e,n),e.rethrowRenderErrors)throw n}}function ibt(e){return e._picking.updateMostDetailedRayPicks(e)}oi.prototype.render=function(e){this._preUpdate.raiseEvent(this,e);let t=this._frameState;t.newFrame=!1,l(e)||(e=K.now());let n=this._view.checkForCameraUpdates(this);n&&(this._globeHeightDirty=!0);let i=!this.requestRenderMode||this._renderRequested||n||this._logDepthBufferDirty||this._hdrDirty||this.mode===ne.MORPHING;if(!i&&l(this.maximumRenderTimeChange)&&l(this._lastRenderTime)){let o=Math.abs(K.secondsDifference(this._lastRenderTime,e));i=i||o>this.maximumRenderTimeChange}if(i){this._lastRenderTime=K.clone(e,this._lastRenderTime),this._renderRequested=!1,this._logDepthBufferDirty=!1,this._hdrDirty=!1;let o=P.incrementWrap(t.frameNumber,15e6,1);mTe(this,o,e),t.newFrame=!0}Wb(this,Jxt),this.primitives.show&&(Wb(this,ibt),Wb(this,obt),Wb(this,rbt),i||Wb(this,sbt)),this._postUpdate.raiseEvent(this,e),i&&(this._preRender.raiseEvent(this,e),t.creditDisplay.beginFrame(),Wb(this,nbt)),Qxt(this,i),Wb(this,ebt),Kxt(this),i&&(this._postRender.raiseEvent(this,e),t.creditDisplay.endFrame())};oi.prototype.forceRender=function(e){this._renderRequested=!0,this.render(e)};oi.prototype.requestRender=function(){this._renderRequested=!0};oi.prototype.clampLineWidth=function(e){return Math.max(Bt.minimumAliasedLineWidth,Math.min(e,Bt.maximumAliasedLineWidth))};oi.prototype.pick=function(e,t,n){return this._picking.pick(this,e,t,n)};oi.prototype.pickVoxel=function(e,t,n){let i=this.pick(e,t,n);if(!l(i))return;let o=i.primitive;if(!(o instanceof Gb))return;let r=this._picking.pickVoxelCoordinate(this,e,t,n),s=255*r[0]+r[1],a=o._traversal.findKeyframeNode(s);if(!l(a))return;let c=255*r[2]+r[3];return mH.fromKeyframeNode(o,s,c,a)};oi.prototype.pickMetadata=function(e,t,n,i){let o=this.pick(e);if(!l(o))return;let r=o.detail?.model?.structuralMetadata;if(!l(r))return;let s=r.schema,a=VH(s,t,n,i);if(!l(a))return;let c=zH(r,n,i);if(!l(c))return;let u=new UH(t,n,i,a,c);return this._picking.pickMetadata(this,e,u)};oi.prototype.pickMetadataSchema=function(e){let t=this.pick(e);return l(t)?t.detail?.model?.structuralMetadata?.schema:void 0};oi.prototype.pickPositionWorldCoordinates=function(e,t){return this._picking.pickPositionWorldCoordinates(this,e,t)};oi.prototype.pickPosition=function(e,t){return this._picking.pickPosition(this,e,t)};oi.prototype.drillPick=function(e,t,n,i){return this._picking.drillPick(this,e,t,n,i)};function obt(e){let t=e._frameState;HK.camera=t.camera,HK.cullingVolume=t.cullingVolume,e.primitives.updateForPass(t,HK)}function rbt(e){let t=e._frameState;if(!t.camera.canPreloadFlight())return;GK.camera=e.preloadFlightCamera,GK.cullingVolume=e.preloadFlightCullingVolume,e.primitives.updateForPass(t,GK)}function sbt(e){e.primitives.updateForPass(e._frameState,gxt)}oi.prototype.pickFromRay=function(e,t,n){return this._picking.pickFromRay(this,e,t,n)};oi.prototype.drillPickFromRay=function(e,t,n,i){return this._picking.drillPickFromRay(this,e,t,n,i)};oi.prototype.pickFromRayMostDetailed=function(e,t,n){return this._picking.pickFromRayMostDetailed(this,e,t,n)};oi.prototype.drillPickFromRayMostDetailed=function(e,t,n,i){return this._picking.drillPickFromRayMostDetailed(this,e,t,n,i)};oi.prototype.sampleHeight=function(e,t,n){return this._picking.sampleHeight(this,e,t,n)};oi.prototype.clampToHeight=function(e,t,n,i){return this._picking.clampToHeight(this,e,t,n,i)};oi.prototype.sampleHeightMostDetailed=function(e,t,n){return this._picking.sampleHeightMostDetailed(this,e,t,n)};oi.prototype.clampToHeightMostDetailed=function(e,t,n){return this._picking.clampToHeightMostDetailed(this,e,t,n)};oi.prototype.cartesianToCanvasCoordinates=function(e,t){return Ui.worldToWindowCoordinates(this,e,t)};oi.prototype.completeMorph=function(){this._transitioner.completeMorph()};oi.prototype.morphTo2D=function(e){e=y(e,2),this._transitioner.morphTo2D(e,this._ellipsoid)};oi.prototype.morphToColumbusView=function(e){e=y(e,2),this._transitioner.morphToColumbusView(e,this._ellipsoid)};oi.prototype.morphTo3D=function(e){e=y(e,2),this._transitioner.morphTo3D(e,this._ellipsoid)};function abt(e,t){if(e._removeTerrainProviderReadyListener=e._removeTerrainProviderReadyListener&&e._removeTerrainProviderReadyListener(),t.ready){l(e.globe)&&(e.globe.terrainProvider=t.provider);return}e.globe.terrainProvider=void 0,e._removeTerrainProviderReadyListener=t.readyEvent.addEventListener(n=>{l(e)&&l(e.globe)&&(e.globe.terrainProvider=n),e._removeTerrainProviderReadyListener()})}oi.prototype.setTerrain=function(e){return abt(this,e),e};oi.prototype.isDestroyed=function(){return!1};oi.prototype.destroy=function(){this._tweens.removeAll(),this._computeEngine=this._computeEngine&&this._computeEngine.destroy(),this._screenSpaceCameraController=this._screenSpaceCameraController&&this._screenSpaceCameraController.destroy(),this._deviceOrientationCameraController=this._deviceOrientationCameraController&&!this._deviceOrientationCameraController.isDestroyed()&&this._deviceOrientationCameraController.destroy(),this._primitives=this._primitives&&this._primitives.destroy(),this._groundPrimitives=this._groundPrimitives&&this._groundPrimitives.destroy(),this._globe=this._globe&&this._globe.destroy(),this._removeTerrainProviderReadyListener=this._removeTerrainProviderReadyListener&&this._removeTerrainProviderReadyListener(),this.skyBox=this.skyBox&&this.skyBox.destroy(),this.skyAtmosphere=this.skyAtmosphere&&this.skyAtmosphere.destroy(),this._debugSphere=this._debugSphere&&this._debugSphere.destroy(),this.sun=this.sun&&this.sun.destroy(),this._sunPostProcess=this._sunPostProcess&&this._sunPostProcess.destroy(),this._depthPlane=this._depthPlane&&this._depthPlane.destroy(),this._transitioner=this._transitioner&&this._transitioner.destroy(),this._debugFrustumPlanes=this._debugFrustumPlanes&&this._debugFrustumPlanes.destroy(),this._brdfLutGenerator=this._brdfLutGenerator&&this._brdfLutGenerator.destroy(),this._picking=this._picking&&this._picking.destroy(),this._defaultView=this._defaultView&&this._defaultView.destroy(),this._view=void 0,this._removeCreditContainer&&this._canvas.parentNode.removeChild(this._creditContainer),this.postProcessStages=this.postProcessStages&&this.postProcessStages.destroy(),this._context=this._context&&this._context.destroy(),this._frameState.creditDisplay=this._frameState.creditDisplay&&this._frameState.creditDisplay.destroy(),l(this._performanceDisplay)&&(this._performanceDisplay=this._performanceDisplay&&this._performanceDisplay.destroy(),this._performanceContainer.parentNode.removeChild(this._performanceContainer)),this._removeRequestListenerCallback(),this._removeTaskProcessorListenerCallback();for(let e=0;e<this._removeGlobeCallbacks.length;++e)this._removeGlobeCallbacks[e]();return this._removeGlobeCallbacks.length=0,l(this._removeUpdateHeightCallback)&&(this._removeUpdateHeightCallback(),this._removeUpdateHeightCallback=void 0),ue(this)};var WH=oi;function SS(e){e=y(e,ee.WGS84),this.show=!0,this.perFragmentAtmosphere=!1,this._ellipsoid=e;let t=1.025,n=h.multiplyByScalar(e.radii,t,new h);this._scaleMatrix=F.fromScale(n),this._modelMatrix=new F,this._command=new tt({owner:this,modelMatrix:this._modelMatrix}),this._spSkyFromSpace=void 0,this._spSkyFromAtmosphere=void 0,this._flags=void 0,this.atmosphereLightIntensity=50,this.atmosphereRayleighCoefficient=new h(55e-7,13e-6,284e-7),this.atmosphereMieCoefficient=new h(21e-6,21e-6,21e-6),this.atmosphereRayleighScaleHeight=1e4,this.atmosphereMieScaleHeight=3200,this.atmosphereMieAnisotropy=.9,this.hueShift=0,this.saturationShift=0,this.brightnessShift=0,this._hueSaturationBrightness=new h;let i=new h;i.x=e.maximumRadius*t,i.y=e.maximumRadius,i.z=0,this._radiiAndDynamicAtmosphereColor=i;let o=this;this._command.uniformMap={u_radiiAndDynamicAtmosphereColor:function(){return o._radiiAndDynamicAtmosphereColor},u_hsbShift:function(){return o._hueSaturationBrightness.x=o.hueShift,o._hueSaturationBrightness.y=o.saturationShift,o._hueSaturationBrightness.z=o.brightnessShift,o._hueSaturationBrightness},u_atmosphereLightIntensity:function(){return o.atmosphereLightIntensity},u_atmosphereRayleighCoefficient:function(){return o.atmosphereRayleighCoefficient},u_atmosphereMieCoefficient:function(){return o.atmosphereMieCoefficient},u_atmosphereRayleighScaleHeight:function(){return o.atmosphereRayleighScaleHeight},u_atmosphereMieScaleHeight:function(){return o.atmosphereMieScaleHeight},u_atmosphereMieAnisotropy:function(){return o.atmosphereMieAnisotropy}}}Object.defineProperties(SS.prototype,{ellipsoid:{get:function(){return this._ellipsoid}}});SS.prototype.setDynamicLighting=function(e){this._radiiAndDynamicAtmosphereColor.z=e};var YK=new F;SS.prototype.update=function(e,t){if(!this.show)return;let n=e.mode;if(n!==ne.SCENE3D&&n!==ne.MORPHING||!e.passes.render)return;let i=F.fromRotationTranslation(e.context.uniformState.inverseViewRotation,h.ZERO,YK),o=F.multiplyTransformation(i,No.Y_UP_TO_Z_UP,YK),r=F.multiply(this._scaleMatrix,o,YK);F.clone(r,this._modelMatrix);let s=e.context,a=cbt(this),c=e.globeTranslucencyState.translucent,u=this.perFragmentAtmosphere||c||!l(t)||!t.show,f=this._command;if(!l(f.vertexArray)){let p=ma.createGeometry(new ma({radii:new h(1,1,1),slicePartitions:256,stackPartitions:256,vertexFormat:Pe.POSITION_ONLY}));f.vertexArray=si.fromGeometry({context:s,geometry:p,attributeLocations:Bn.createAttributeLocations(p),bufferUsage:Ue.STATIC_DRAW}),f.renderState=ze.fromCache({cull:{enabled:!0,face:Ti.FRONT},blending:fn.ALPHA_BLEND,depthMask:!1})}let d=a|u<<2|c<<3;if(d!==this._flags){this._flags=d;let p=[];a&&p.push("COLOR_CORRECT"),u&&p.push("PER_FRAGMENT_ATMOSPHERE"),c&&p.push("GLOBE_TRANSLUCENT");let g=new He({defines:p,sources:[Kh,BI,XU]}),m=new He({defines:p,sources:[Kh,BI,YU]});this._spSkyAtmosphere=tn.fromCache({context:s,vertexShaderSource:g,fragmentShaderSource:m}),f.shaderProgram=this._spSkyAtmosphere}return f};function cbt(e){return!(P.equalsEpsilon(e.hueShift,0,P.EPSILON7)&&P.equalsEpsilon(e.saturationShift,0,P.EPSILON7)&&P.equalsEpsilon(e.brightnessShift,0,P.EPSILON7))}SS.prototype.isDestroyed=function(){return!1};SS.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),this._spSkyAtmosphere=this._spSkyAtmosphere&&this._spSkyAtmosphere.destroy(),ue(this)};var jH=SS;function wS(e){this.sources=e.sources,this._sources=void 0,this.show=y(e.show,!0),this._command=new tt({modelMatrix:F.clone(F.IDENTITY),owner:this}),this._cubeMap=void 0,this._attributeLocations=void 0,this._useHdr=void 0,this._hasError=!1,this._error=void 0}wS.prototype.update=function(e,t){let n=this,{mode:i,passes:o,context:r}=e;if(!this.show||i!==ne.SCENE3D&&i!==ne.MORPHING||!o.render)return;if(this._hasError){let a=this._error;throw this._hasError=!1,this._error=void 0,a}if(this._sources!==this.sources){this._sources=this.sources;let a=this.sources;typeof a.positiveX=="string"?ZM(r,this._sources).then(function(c){n._cubeMap=n._cubeMap&&n._cubeMap.destroy(),n._cubeMap=c}).catch(c=>{this._hasError=!0,this._error=c}):(this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),this._cubeMap=new Ir({context:r,source:a}))}let s=this._command;if(!l(s.vertexArray)){s.uniformMap={u_cubeMap:function(){return n._cubeMap}};let a=Ka.createGeometry(Ka.fromDimensions({dimensions:new h(2,2,2),vertexFormat:Pe.POSITION_ONLY})),c=this._attributeLocations=Bn.createAttributeLocations(a);s.vertexArray=si.fromGeometry({context:r,geometry:a,attributeLocations:c,bufferUsage:Ue.STATIC_DRAW}),s.renderState=ze.fromCache({blending:fn.ALPHA_BLEND})}if(!l(s.shaderProgram)||this._useHdr!==t){let a=new He({defines:[t?"HDR":""],sources:[KU]});s.shaderProgram=tn.fromCache({context:r,vertexShaderSource:ZU,fragmentShaderSource:a,attributeLocations:this._attributeLocations}),this._useHdr=t}if(l(this._cubeMap))return s};wS.prototype.isDestroyed=function(){return!1};wS.prototype.destroy=function(){let e=this._command;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._cubeMap=this._cubeMap&&this._cubeMap.destroy(),ue(this)};function vS(e){return rn(`Assets/Textures/SkyBox/tycho2t3_80_${e}.jpg`)}wS.createEarthSkyBox=function(){return new wS({sources:{positiveX:vS("px"),negativeX:vS("mx"),positiveY:vS("py"),negativeY:vS("my"),positiveZ:vS("pz"),negativeZ:vS("mz")}})};var qH=wS;function EP(){this.show=!0,this._drawCommand=new tt({primitiveType:Fe.TRIANGLES,boundingVolume:new ce,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new ce,this._boundingVolume2D=new ce,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(EP.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var lbt=new U,ubt=new U,fbt=new oe,AP=new oe;EP.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===ne.SCENE2D||i===ne.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!l(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let S=Math.max(r,s);S=Math.pow(2,Math.ceil(Math.log(S)/Math.log(2))-2),S=Math.max(1,S);let v=n?o.halfFloatingPointTexture?Ze.HALF_FLOAT:Ze.FLOAT:Ze.UNSIGNED_BYTE;this._texture=new Pt({context:o,width:S,height:S,pixelFormat:ot.RGBA,pixelDatatype:v}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let D=this,R={u_radiusTS:function(){return D._radiusTS}};this._commands.computeCommand=new rl({fragmentShaderSource:QU,outputTexture:this._texture,uniformMap:R,persists:!1,owner:this,postExecute:function(){D._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!l(a.vertexArray)){let S={direction:0},v=new Uint8Array(4*2);v[0]=0,v[1]=0,v[2]=255,v[3]=0,v[4]=255,v[5]=255,v[6]=0,v[7]=255;let D=bt.createVertexBuffer({context:o,typedArray:v,usage:Ue.STATIC_DRAW}),R=[{index:S.direction,vertexBuffer:D,componentsPerAttribute:2,normalize:!0,componentDatatype:X.UNSIGNED_BYTE}],O=bt.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT});a.vertexArray=new si({context:o,attributes:R,indexBuffer:O}),a.shaderProgram=tn.fromCache({context:o,vertexShaderSource:JU,fragmentShaderSource:$U,attributeLocations:S}),a.renderState=ze.fromCache({blending:fn.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,u=o.uniformState.sunPositionColumbusView,f=this._boundingVolume,d=this._boundingVolume2D;h.clone(c,f.center),d.center.x=u.z,d.center.y=u.x,d.center.z=u.y,f.radius=P.SOLAR_RADIUS+P.SOLAR_RADIUS*this._glowLengthTS,d.radius=f.radius,i===ne.SCENE3D?ce.clone(f,a.boundingVolume):i===ne.COLUMBUS_VIEW&&ce.clone(d,a.boundingVolume);let p=Ui.computeActualEllipsoidPosition(e,c,AP),g=h.magnitude(h.subtract(p,e.camera.position,AP)),m=o.uniformState.projection,x=fbt;x.x=0,x.y=0,x.z=-g,x.w=1;let b=F.multiplyByVector(m,x,AP),T=Ui.clipToGLWindowCoordinates(t.viewport,b,lbt);x.x=P.SOLAR_RADIUS;let C=F.multiplyByVector(m,x,AP),A=Ui.clipToGLWindowCoordinates(t.viewport,C,ubt);return this._size=U.magnitude(U.subtract(A,T,AP)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};EP.prototype.isDestroyed=function(){return!1};EP.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),ue(this)};var YH=EP;var TTe=Sr(e1(),1);function dbt(e,t,n){return` float clipDistance = clip(gl_FragCoord, ${e}, ${t}); + vec4 clippingPlanesEdgeColor = vec4(1.0); + clippingPlanesEdgeColor.rgb = ${n}.rgb; + float clippingPlanesEdgeWidth = ${n}.a; + if (clipDistance > 0.0 && clipDistance < clippingPlanesEdgeWidth) + { + out_FragColor = clippingPlanesEdgeColor; + } +`}var XH=dbt;var hbt={modifyFragmentShader:function(t){return t=He.replaceMain(t,"czm_splitter_main"),t+=`uniform float czm_splitDirection; +void main() +{ +#ifndef SHADOW_MAP + if (czm_splitDirection < 0.0 && gl_FragCoord.x > czm_splitPosition) discard; + if (czm_splitDirection > 0.0 && gl_FragCoord.x < czm_splitPosition) discard; +#endif + czm_splitter_main(); +} +`,t},addUniforms:function(t,n){n.czm_splitDirection=function(){return t.splitDirection}}},SP=hbt;var jb={NEEDS_DECODE:0,DECODING:1,READY:2,FAILED:3};function vP(e){this._parsedContent=void 0,this._drawCommand=void 0,this._isTranslucent=!1,this._styleTranslucent=!1,this._constantColor=z.clone(z.DARKGRAY),this._highlightColor=z.clone(z.WHITE),this._pointSize=1,this._rtcCenter=void 0,this._quantizedVolumeScale=void 0,this._quantizedVolumeOffset=void 0,this._styleableShaderAttributes=void 0,this._isQuantized=!1,this._isOctEncoded16P=!1,this._isRGB565=!1,this._hasColors=!1,this._hasNormals=!1,this._hasBatchIds=!1,this._decodingState=jb.READY,this._dequantizeInShader=!0,this._isQuantizedDraco=!1,this._isOctEncodedDraco=!1,this._quantizedRange=0,this._octEncodedRange=0,this.backFaceCulling=!1,this._backFaceCulling=!1,this.normalShading=!0,this._normalShading=!0,this._opaqueRenderState=void 0,this._translucentRenderState=void 0,this._mode=void 0,this._ready=!1,this._pointsLength=0,this._geometryByteLength=0,this._vertexShaderLoaded=e.vertexShaderLoaded,this._fragmentShaderLoaded=e.fragmentShaderLoaded,this._uniformMapLoaded=e.uniformMapLoaded,this._batchTableLoaded=e.batchTableLoaded,this._pickIdLoaded=e.pickIdLoaded,this._opaquePass=y(e.opaquePass,ve.OPAQUE),this._cull=y(e.cull,!0),this.style=void 0,this._style=void 0,this.styleDirty=!1,this.modelMatrix=F.clone(F.IDENTITY),this._modelMatrix=F.clone(F.IDENTITY),this.time=0,this.shadows=bn.ENABLED,this._boundingSphere=void 0,this.clippingPlanes=void 0,this.isClipped=!1,this.clippingPlanesDirty=!1,this.clippingPlanesOriginMatrix=void 0,this.attenuation=!1,this._attenuation=!1,this.geometricError=0,this.geometricErrorScale=1,this.maximumAttenuation=this._pointSize,this.splitDirection=y(e.splitDirection,jr.NONE),this._splittingEnabled=!1,this._error=void 0,mbt(this,e)}Object.defineProperties(vP.prototype,{pointsLength:{get:function(){return this._pointsLength}},geometryByteLength:{get:function(){return this._geometryByteLength}},ready:{get:function(){return this._ready}},color:{get:function(){return z.clone(this._highlightColor)},set:function(e){this._highlightColor=z.clone(e,this._highlightColor)}},boundingSphere:{get:function(){if(l(this._drawCommand))return this._drawCommand.boundingVolume},set:function(e){this._boundingSphere=ce.clone(e,this._boundingSphere)}}});function mbt(e,t){let n=QC.parse(t.arrayBuffer,t.byteOffset);if(e._parsedContent=n,e._rtcCenter=n.rtcCenter,e._hasNormals=n.hasNormals,e._hasColors=n.hasColors,e._hasBatchIds=n.hasBatchIds,e._isTranslucent=n.isTranslucent,!n.hasBatchIds&&l(n.batchTableBinary)&&(n.styleableProperties=cg.getBinaryProperties(n.pointsLength,n.batchTableJson,n.batchTableBinary)),l(n.draco)){let a=n.draco;e._decodingState=jb.NEEDS_DECODE,a.dequantizeInShader=e._dequantizeInShader}let i=n.positions;l(i)&&(e._isQuantized=i.isQuantized,e._quantizedVolumeScale=i.quantizedVolumeScale,e._quantizedVolumeOffset=i.quantizedVolumeOffset,e._quantizedRange=i.quantizedRange);let o=n.normals;l(o)&&(e._isOctEncoded16P=o.octEncoded);let r=n.colors;l(r)&&(l(r.constantColor)&&(e._constantColor=z.clone(r.constantColor,e._constantColor),e._hasColors=!1),e._isRGB565=r.isRGB565);let s=n.batchIds;l(n.batchIds)&&(s.name="BATCH_ID",s.semantic="BATCH_ID",s.setIndex=void 0),n.hasBatchIds&&e._batchTableLoaded(n.batchLength,n.batchTableJson,n.batchTableBinary),e._pointsLength=n.pointsLength}var pbt=new h,_bt=new h,gbt=new h,xTe,KH;function ybt(e){if(!l(KH)){xTe=new TTe.default(0),KH=new Array(e);for(let t=0;t<e;++t)KH[t]=xTe.random()}return KH}function xbt(e){let n=e.length/3,i=Math.min(n,20),o=ybt(20),r=Number.MAX_VALUE,s=-Number.MAX_VALUE,a=h.fromElements(r,r,r,pbt),c=h.fromElements(s,s,s,_bt);for(let f=0;f<i;++f){let d=Math.floor(o[f]*n),p=h.unpack(e,d*3,gbt);h.minimumByComponent(a,p,a),h.maximumByComponent(c,p,c)}let u=ce.fromCornerPoints(a,c);return u.radius+=P.EPSILON2,u}function bTe(e,t){let n=X.fromTypedArray(e);return n===X.INT||n===X.UNSIGNED_INT||n===X.DOUBLE?(Tt("Cast pnts property to floats",`Point cloud property "${t}" will be cast to a float array because INT, UNSIGNED_INT, and DOUBLE are not valid WebGL vertex attribute types. Some precision may be lost.`),new Float32Array(e)):e}var bbt=new oe,Tbt=new oe,Cbt=new z,CTe=0,ZH=1,QK=2,ATe=3,Abt=4,XK=new F,Ebt=new F;function Sbt(e,t){let n=t.context,i=e._parsedContent,o=e._pointsLength,r=i.positions,s=i.colors,a=i.normals,c=i.batchIds,u=i.styleableProperties,f=l(u),d=e._isQuantized,p=e._isQuantizedDraco,g=e._isOctEncoded16P,m=e._isOctEncodedDraco,x=e._quantizedRange,b=e._octEncodedRange,T=e._isRGB565,C=e._isTranslucent,A=e._hasColors,S=e._hasNormals,v=e._hasBatchIds,D,R,O=[],M={};if(e._styleableShaderAttributes=M,f){let V=Abt;for(let G in u)if(u.hasOwnProperty(G)){let k=u[G],W=bTe(k.typedArray,G);D=k.componentCount,R=X.fromTypedArray(W);let Y=bt.createVertexBuffer({context:n,typedArray:W,usage:Ue.STATIC_DRAW});e._geometryByteLength+=Y.sizeInBytes;let J={index:V,vertexBuffer:Y,componentsPerAttribute:D,componentDatatype:R,normalize:!1,offsetInBytes:0,strideInBytes:0};O.push(J),M[G]={location:V,componentCount:D},++V}}let N=bt.createVertexBuffer({context:n,typedArray:r.typedArray,usage:Ue.STATIC_DRAW});e._geometryByteLength+=N.sizeInBytes;let _;A&&(_=bt.createVertexBuffer({context:n,typedArray:s.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=_.sizeInBytes);let E;S&&(E=bt.createVertexBuffer({context:n,typedArray:a.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=E.sizeInBytes);let w;v&&(c.typedArray=bTe(c.typedArray,"batchIds"),w=bt.createVertexBuffer({context:n,typedArray:c.typedArray,usage:Ue.STATIC_DRAW}),e._geometryByteLength+=w.sizeInBytes);let I=[];if(d?R=X.UNSIGNED_SHORT:p?R=x<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT:R=X.FLOAT,I.push({index:CTe,vertexBuffer:N,componentsPerAttribute:3,componentDatatype:R,normalize:!1,offsetInBytes:0,strideInBytes:0}),e._cull&&(d||p?e._boundingSphere=ce.fromCornerPoints(h.ZERO,e._quantizedVolumeScale):e._boundingSphere=xbt(r.typedArray)),A)if(T)I.push({index:ZH,vertexBuffer:_,componentsPerAttribute:1,componentDatatype:X.UNSIGNED_SHORT,normalize:!1,offsetInBytes:0,strideInBytes:0});else{let V=C?4:3;I.push({index:ZH,vertexBuffer:_,componentsPerAttribute:V,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,offsetInBytes:0,strideInBytes:0})}S&&(g?(D=2,R=X.UNSIGNED_BYTE):m?(D=2,R=b<=255?X.UNSIGNED_BYTE:X.UNSIGNED_SHORT):(D=3,R=X.FLOAT),I.push({index:QK,vertexBuffer:E,componentsPerAttribute:D,componentDatatype:R,normalize:!1,offsetInBytes:0,strideInBytes:0})),v&&I.push({index:ATe,vertexBuffer:w,componentsPerAttribute:1,componentDatatype:X.fromTypedArray(c.typedArray),normalize:!1,offsetInBytes:0,strideInBytes:0}),f&&(I=I.concat(O));let L=new si({context:n,attributes:I}),B={depthTest:{enabled:!0}},H={depthTest:{enabled:!0},depthMask:!1,blending:fn.ALPHA_BLEND};e._opaquePass===ve.CESIUM_3D_TILE&&(B.stencilTest=Ut.setCesium3DTileBit(),B.stencilMask=Ut.CESIUM_3D_TILE_MASK,H.stencilTest=Ut.setCesium3DTileBit(),H.stencilMask=Ut.CESIUM_3D_TILE_MASK),e._opaqueRenderState=ze.fromCache(B),e._translucentRenderState=ze.fromCache(H),e._drawCommand=new tt({boundingVolume:new ce,cull:e._cull,modelMatrix:new F,primitiveType:Fe.POINTS,vertexArray:L,count:o,shaderProgram:void 0,uniformMap:void 0,renderState:C?e._translucentRenderState:e._opaqueRenderState,pass:C?ve.TRANSLUCENT:e._opaquePass,owner:e,castShadows:!1,receiveShadows:!1,pickId:e._pickIdLoaded()})}function vbt(e,t){let n=t.context,i=e._isQuantized,o=e._isQuantizedDraco,r=e._isOctEncodedDraco,s={u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier:function(){let a=bbt;if(a.x=e._attenuation?e.maximumAttenuation:e._pointSize,a.x*=t.pixelRatio,a.y=e.time,e._attenuation){let c=t.camera.frustum,u;t.mode===ne.SCENE2D||c instanceof an?u=Number.POSITIVE_INFINITY:u=n.drawingBufferHeight/t.camera.frustum.sseDenominator,a.z=e.geometricError*e.geometricErrorScale,a.w=u}return a},u_highlightColor:function(){return e._highlightColor},u_constantColor:function(){return e._constantColor},u_clippingPlanes:function(){let a=e.clippingPlanes;return e.isClipped?a.texture:n.defaultTexture},u_clippingPlanesEdgeStyle:function(){let a=e.clippingPlanes;if(!l(a))return z.TRANSPARENT;let c=z.clone(a.edgeColor,Cbt);return c.alpha=a.edgeWidth,c},u_clippingPlanesMatrix:function(){let a=e.clippingPlanes;if(!l(a))return F.IDENTITY;let c=y(e.clippingPlanesOriginMatrix,e._modelMatrix);F.multiply(n.uniformState.view3D,c,XK);let u=F.multiply(XK,a.modelMatrix,XK);return F.inverseTranspose(u,Ebt)}};SP.addUniforms(e,s),(i||o||r)&&(s=Ct(s,{u_quantizedVolumeScaleAndOctEncodedRange:function(){let a=Tbt;if(l(e._quantizedVolumeScale)){let c=h.clone(e._quantizedVolumeScale,a);h.divideByScalar(c,e._quantizedRange,a)}return a.w=e._octEncodedRange,a}})),l(e._uniformMapLoaded)&&(s=e._uniformMapLoaded(s)),e._drawCommand.uniformMap=s}function KK(e,t){let n=/czm_3dtiles_property_(\d+)/g,i=n.exec(e);for(;i!==null;){let o=parseInt(i[1]);t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function ZK(e,t){e=e.slice(e.indexOf(` +`));let n=/czm_3dtiles_builtin_property_(\w+)/g,i=n.exec(e);for(;i!==null;){let o=i[1];t.indexOf(o)===-1&&t.push(o),i=n.exec(e)}}function $K(e,t){let n=e.numberOfAttributes;for(let i=0;i<n;++i){let o=e.getAttribute(i);if(o.index===t)return o}}var wbt={POSITION:"czm_3dtiles_builtin_property_POSITION",POSITION_ABSOLUTE:"czm_3dtiles_builtin_property_POSITION_ABSOLUTE",COLOR:"czm_3dtiles_builtin_property_COLOR",NORMAL:"czm_3dtiles_builtin_property_NORMAL"};function Dbt(e,t,n){let i,o,r,s=t.context,a=l(n),c=e._isQuantized,u=e._isQuantizedDraco,f=e._isOctEncoded16P,d=e._isOctEncodedDraco,p=e._isRGB565,g=e._isTranslucent,m=e._hasColors,x=e._hasNormals,b=e._hasBatchIds,T=e._backFaceCulling,C=e._normalShading,A=e._drawCommand.vertexArray,S=e.clippingPlanes,v=e._attenuation,D,R,O,M=g,N=We(wbt),_={},E=e._styleableShaderAttributes;for(o in E)E.hasOwnProperty(o)&&(r=E[o],N[o]=`czm_3dtiles_property_${r.location}`,_[r.location]=r);if(a){let re={translucent:!1},_e="(vec3 czm_3dtiles_builtin_property_POSITION, vec3 czm_3dtiles_builtin_property_POSITION_ABSOLUTE, vec4 czm_3dtiles_builtin_property_COLOR, vec3 czm_3dtiles_builtin_property_NORMAL)";D=n.getColorShaderFunction(`getColorFromStyle${_e}`,N,re),R=n.getShowShaderFunction(`getShowFromStyle${_e}`,N,re),O=n.getPointSizeShaderFunction(`getPointSizeFromStyle${_e}`,N,re),l(D)&&re.translucent&&(M=!0)}e._styleTranslucent=M;let w=l(D),I=l(R),L=l(O),B=e.isClipped,H=[],V=[];w&&(KK(D,H),ZK(D,V)),I&&(KK(R,H),ZK(R,V)),L&&(KK(O,H),ZK(O,V));let G=V.indexOf("COLOR")>=0,k=V.indexOf("NORMAL")>=0;if(k&&!x)throw new se("Style references the NORMAL semantic but the point cloud does not have normals");for(o in E)if(E.hasOwnProperty(o)){r=E[o];let re=H.indexOf(r.location)>=0,_e=$K(A,r.location);_e.enabled=re}let W=m&&(!w||G);if(m){let re=$K(A,ZH);re.enabled=W}let Y=x&&(C||T||k);if(x){let re=$K(A,QK);re.enabled=Y}let J={a_position:CTe};W&&(J.a_color=ZH),Y&&(J.a_normal=QK),b&&(J.a_batchId=ATe);let j="",Z=H.length;for(i=0;i<Z;++i){let re=H[i];r=_[re];let _e=r.componentCount,xe=`czm_3dtiles_property_${re}`,Ie;_e===1?Ie="float":Ie=`vec${_e}`,j+=`in ${Ie} ${xe}; +`,J[xe]=r.location}vbt(e,t);let Q=`in vec3 a_position; +out vec4 v_color; +uniform vec4 u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier; +uniform vec4 u_constantColor; +uniform vec4 u_highlightColor; +`;Q+=`float u_pointSize; +float tiles3d_tileset_time; +`,v&&(Q+=`float u_geometricError; +float u_depthMultiplier; +`),Q+=j,W&&(g?Q+=`in vec4 a_color; +`:p?Q+=`in float a_color; +const float SHIFT_RIGHT_11 = 1.0 / 2048.0; +const float SHIFT_RIGHT_5 = 1.0 / 32.0; +const float SHIFT_LEFT_11 = 2048.0; +const float SHIFT_LEFT_5 = 32.0; +const float NORMALIZE_6 = 1.0 / 64.0; +const float NORMALIZE_5 = 1.0 / 32.0; +`:Q+=`in vec3 a_color; +`),Y&&(f||d?Q+=`in vec2 a_normal; +`:Q+=`in vec3 a_normal; +`),b&&(Q+=`in float a_batchId; +`),(c||u||d)&&(Q+=`uniform vec4 u_quantizedVolumeScaleAndOctEncodedRange; +`),w&&(Q+=D),I&&(Q+=R),L&&(Q+=O),Q+=`void main() +{ + u_pointSize = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.x; + tiles3d_tileset_time = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.y; +`,v&&(Q+=` u_geometricError = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.z; + u_depthMultiplier = u_pointSizeAndTimeAndGeometricErrorAndDepthMultiplier.w; +`),W?g?Q+=` vec4 color = a_color; +`:p?Q+=` float compressed = a_color; + float r = floor(compressed * SHIFT_RIGHT_11); + compressed -= r * SHIFT_LEFT_11; + float g = floor(compressed * SHIFT_RIGHT_5); + compressed -= g * SHIFT_LEFT_5; + float b = compressed; + vec3 rgb = vec3(r * NORMALIZE_5, g * NORMALIZE_6, b * NORMALIZE_5); + vec4 color = vec4(rgb, 1.0); +`:Q+=` vec4 color = vec4(a_color, 1.0); +`:Q+=` vec4 color = u_constantColor; +`,c||u?Q+=` vec3 position = a_position * u_quantizedVolumeScaleAndOctEncodedRange.xyz; +`:Q+=` vec3 position = a_position; +`,Q+=` vec3 position_absolute = vec3(czm_model * vec4(position, 1.0)); +`,Y?(f?Q+=` vec3 normal = czm_octDecode(a_normal); +`:d?Q+=` vec3 normal = czm_octDecode(a_normal, u_quantizedVolumeScaleAndOctEncodedRange.w).zxy; +`:Q+=` vec3 normal = a_normal; +`,Q+=` vec3 normalEC = czm_normal * normal; +`):Q+=` vec3 normal = vec3(1.0); +`,w&&(Q+=` color = getColorFromStyle(position, position_absolute, color, normal); +`),I&&(Q+=` float show = float(getShowFromStyle(position, position_absolute, color, normal)); +`),L?Q+=` gl_PointSize = getPointSizeFromStyle(position, position_absolute, color, normal) * czm_pixelRatio; +`:v?Q+=` vec4 positionEC = czm_modelView * vec4(position, 1.0); + float depth = -positionEC.z; + gl_PointSize = min((u_geometricError / depth) * u_depthMultiplier, u_pointSize); +`:Q+=` gl_PointSize = u_pointSize; +`,Q+=` color = color * u_highlightColor; +`,Y&&C&&(Q+=` float diffuseStrength = czm_getLambertDiffuse(czm_lightDirectionEC, normalEC); + diffuseStrength = max(diffuseStrength, 0.4); + color.xyz *= diffuseStrength * czm_lightColor; +`),Q+=` v_color = color; + gl_Position = czm_modelViewProjection * vec4(position, 1.0); +`,Y&&T&&(Q+=` float visible = step(-normalEC.z, 0.0); + gl_Position *= visible; + gl_PointSize *= visible; +`),I&&(Q+=` gl_Position.w *= float(show); + gl_PointSize *= float(show); +`),Q+=`} +`;let he=`in vec4 v_color; +`;B&&(he+=`uniform highp sampler2D u_clippingPlanes; +uniform mat4 u_clippingPlanesMatrix; +uniform vec4 u_clippingPlanesEdgeStyle; +`,he+=` +`,he+=r0(S,s),he+=` +`),he+=`void main() +{ + out_FragColor = czm_gammaCorrect(v_color); +`,B&&(he+=XH("u_clippingPlanes","u_clippingPlanesMatrix","u_clippingPlanesEdgeStyle")),he+=`} +`,e.splitDirection!==jr.NONE&&(he=SP.modifyFragmentShader(he)),l(e._vertexShaderLoaded)&&(Q=e._vertexShaderLoaded(Q)),l(e._fragmentShaderLoaded)&&(he=e._fragmentShaderLoaded(he));let ye=e._drawCommand;l(ye.shaderProgram)&&ye.shaderProgram.destroy(),ye.shaderProgram=tn.fromCache({context:s,vertexShaderSource:Q,fragmentShaderSource:he,attributeLocations:J});try{ye.shaderProgram._bind()}catch{throw new se("Error generating style shader: this may be caused by a type mismatch, index out-of-bounds, or other syntax error.")}}function Ibt(e,t){if(e._decodingState===jb.READY)return!1;if(e._decodingState===jb.NEEDS_DECODE){let n=e._parsedContent,i=n.draco,o=gg.decodePointCloud(i,t);l(o)&&(e._decodingState=jb.DECODING,o.then(function(r){e._decodingState=jb.READY;let s=l(r.POSITION)?r.POSITION.array:void 0,a=l(r.RGB)?r.RGB.array:void 0,c=l(r.RGBA)?r.RGBA.array:void 0,u=l(r.NORMAL)?r.NORMAL.array:void 0,f=l(r.BATCH_ID)?r.BATCH_ID.array:void 0,d=l(s)&&l(r.POSITION.data.quantization),p=l(u)&&l(r.NORMAL.data.quantization);if(d){let b=r.POSITION.data.quantization,T=b.range;e._quantizedVolumeScale=h.fromElements(T,T,T),e._quantizedVolumeOffset=h.unpack(b.minValues),e._quantizedRange=(1<<b.quantizationBits)-1,e._isQuantizedDraco=!0}p&&(e._octEncodedRange=(1<<r.NORMAL.data.quantization.quantizationBits)-1,e._isOctEncodedDraco=!0);let g=n.styleableProperties,m=i.batchTableProperties;for(let b in m)if(m.hasOwnProperty(b)){let T=r[b];l(g)||(g={}),g[b]={typedArray:T.array,componentCount:T.data.componentsPerAttribute}}l(s)&&(n.positions={typedArray:s});let x=y(c,a);l(x)&&(n.colors={typedArray:x}),l(u)&&(n.normals={typedArray:u}),l(f)&&(n.batchIds={typedArray:f}),n.styleableProperties=g}).catch(function(r){e._decodingState=jb.FAILED,e._error=r}))}return!0}var Pbt=new oe,Obt=new h;vP.prototype.update=function(e){let t=e.context;if(l(this._error)){let u=this._error;throw this._error=void 0,u}if(Ibt(this,t))return;let i=!1,o=!F.equals(this._modelMatrix,this.modelMatrix);if(this._mode!==e.mode&&(this._mode=e.mode,o=!0),l(this._drawCommand)||(Sbt(this,e),o=!0,i=!0,this._ready=!0,this._parsedContent=void 0),o){F.clone(this.modelMatrix,this._modelMatrix);let u=this._drawCommand.modelMatrix;if(F.clone(this._modelMatrix,u),l(this._rtcCenter)&&F.multiplyByTranslation(u,this._rtcCenter,u),l(this._quantizedVolumeOffset)&&F.multiplyByTranslation(u,this._quantizedVolumeOffset,u),e.mode!==ne.SCENE3D){let d=e.mapProjection,p=F.getColumn(u,3,Pbt);oe.equals(p,oe.UNIT_W)||Mt.basisTo2D(d,u,u)}let f=this._drawCommand.boundingVolume;if(ce.clone(this._boundingSphere,f),this._cull){let d=f.center;F.multiplyByPoint(u,d,d);let p=F.getScale(u,Obt);f.radius*=h.maximumComponent(p)}}this.clippingPlanesDirty&&(this.clippingPlanesDirty=!1,i=!0),this._attenuation!==this.attenuation&&(this._attenuation=this.attenuation,i=!0),this.backFaceCulling!==this._backFaceCulling&&(this._backFaceCulling=this.backFaceCulling,i=!0),this.normalShading!==this._normalShading&&(this._normalShading=this.normalShading,i=!0),(this._style!==this.style||this.styleDirty)&&(this._style=this.style,this.styleDirty=!1,i=!0);let r=this.splitDirection!==jr.NONE;this._splittingEnabled!==r&&(this._splittingEnabled=r,i=!0),i&&Dbt(this,e,this._style),this._drawCommand.castShadows=bn.castShadows(this.shadows),this._drawCommand.receiveShadows=bn.receiveShadows(this.shadows);let s=this._highlightColor.alpha<1||this._constantColor.alpha<1||this._styleTranslucent;this._drawCommand.renderState=s?this._translucentRenderState:this._opaqueRenderState,this._drawCommand.pass=s?ve.TRANSLUCENT:this._opaquePass;let a=e.commandList,c=e.passes;(c.render||c.pick)&&a.push(this._drawCommand)};vP.prototype.isDestroyed=function(){return!1};vP.prototype.destroy=function(){let e=this._drawCommand;return l(e)&&(e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy()),ue(this)};var $H=vP;function Yb(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.shadows=y(e.shadows,bn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new Ip(e.shading),this.style=e.style,this.frameFailed=new me,this.frameChanged=new me,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new Ng,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(Yb.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){Ss.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(l(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}}});function Rbt(e){return`uniform vec4 czm_pickColor; +${e}`}function Mbt(e){return function(t){return Ct(t,{czm_pickColor:function(){return e._pickId.color}})}}function Lbt(){return"czm_pickColor"}Yb.prototype.makeStyleDirty=function(){this._styleDirty=!0};Yb.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var Nbt=new K;function eZ(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function qb(e,t){return e._intervals.indexOf(t.start)}function Fbt(e,t){let n=e._intervals,i=e._clock,o=eZ(e);if(o===0)return;let r=e._getAverageLoadTime(),s=K.addSeconds(i.currentTime,r*o,Nbt),a=n.indexOf(s),c=qb(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function Bbt(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function kbt(e,t,n){let i=eZ(e),o=qb(e,t),r=qb(e,n);return i>=0?o>=r:o<=r}function STe(e,t){return function(n){let i=l(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function Vbt(e,t,n){let i=qb(e,t),o=e._frames,r=o[i];if(!l(r)){let s=t.data.transform,a=l(s)?F.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:Ei(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber,uri:c},o[i]=r,Ae.fetchArrayBuffer({url:c}).then(function(u){r.pointCloud=new $H({arrayBuffer:u,cull:!0,fragmentShaderLoaded:Rbt,uniformMapLoaded:Mbt(e),pickIdLoaded:Lbt})}).catch(STe(e,c))}return r}function Ubt(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function zbt(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(l(o)&&!t.ready){let r=i.commandList,s=r.length;if(vTe(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(Ei()-t.timestamp)/1e3;Ubt(e,a)}}t.touchedFrameNumber=i.frameNumber}var Hbt=new F;function Gbt(e,t){let n=e.shading;return l(n)&&l(n.baseResolution)?n.baseResolution:l(t.boundingSphere)?P.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function Wbt(e){let t=e.shading;return l(t)&&l(t.maximumAttenuation)?t.maximumAttenuation:10}var jbt=new Ip;function vTe(e,t,n,i){let o=y(e.shading,jbt),r=t.pointCloud,s=y(t.transform,F.IDENTITY);r.modelMatrix=F.multiplyTransformation(e.modelMatrix,s,Hbt),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=Gbt(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=Wbt(e);try{r.update(i)}catch(a){STe(e,t.uri)(a)}t.touchedFrameNumber=i.frameNumber}function JK(e,t,n,i){let o=Vbt(e,t,i);zbt(e,o,n,i)}function qbt(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function wTe(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(l(r)&&(!l(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),l(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function Ybt(e,t){let n=qb(e,t),i=e._frames[n];if(l(i)&&i.ready)return i}function ETe(e,t,n,i,o){return l(n)?n.ready?!0:(JK(e,t,i,o),n.ready):!1}function Xbt(e,t,n,i,o){let r,s,a,c=e._intervals,u=e._frames,f=qb(e,n),d=qb(e,t);if(f>=d){for(r=f;r>=d;--r)if(s=c.get(r),a=u[r],ETe(e,s,a,i,o))return s}else for(r=f;r<=d;++r)if(s=c.get(r),a=u[r],ETe(e,s,a,i,o))return s;return t}function Kbt(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];l(s)&&l(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var DS={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};Yb.prototype.update=function(e){if(e.mode===ne.MORPHING||!this.show)return;l(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time));let t=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=l(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&Kbt(this,o,s),DS.timeSinceLoad=t,DS.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,u=e.commandList,f=u.length,d=this._previousInterval,p=this._nextInterval,g=Bbt(this);if(!l(g))return;let m=!1,x=eZ(this),b=x===0;x!==this._clockMultiplier&&(m=!0,this._clockMultiplier=x),(!l(d)||b)&&(d=g),(!l(p)||m||kbt(this,g,p))&&(p=Fbt(this,g)),d=Xbt(this,d,g,DS,e);let T=Ybt(this,d);l(T)||(JK(this,d,DS,e),T=this._lastRenderedFrame),l(T)&&vTe(this,T,DS,e),l(p)&&JK(this,p,DS,e);let C=this;l(T)&&!l(this._lastRenderedFrame)&&e.afterRender.push(function(){return!0}),l(T)&&T!==this._lastRenderedFrame&&C.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){return C.frameChanged.raiseEvent(C),!0}),this._previousInterval=d,this._nextInterval=p,this._lastRenderedFrame=T;let A=this._totalMemoryUsageInBytes,S=this.maximumMemoryUsage*1024*1024;A>S&&wTe(this,qbt(e));let D=u.length-f;l(a)&&a.attenuation&&a.eyeDomeLighting&&D>0&&c.update(e,f,a,this.boundingSphere)};Yb.prototype.isDestroyed=function(){return!1};Yb.prototype.destroy=function(){return wTe(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var wP=Yb;function DTe(e,t){if(l(t)){let n=t.clock;l(n)&&n.getValue(e)}}function Zbt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!l(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors&&e.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,o)}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function ITe(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,l(e._scene)&&(e._scene.pixelRatio=t),t}function PTe(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=ITe(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function OTe(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;l(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function Ao(e,t){e=Mn(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=Gt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=Gt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=l(t.creditContainer)?Mn(t.creditContainer):n;c.appendChild(a);let u=l(t.creditViewport)?Mn(t.creditViewport):n,f=y(t.showRenderLoopErrors,!0),d=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=u,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=f,this._resolutionScale=1,this._useBrowserRecommendedResolution=d,this._forceResize=!1,this._entityView=void 0,this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._trackedEntityChanged=new me,this._allowDataSourcesToSuspendAnimation=!0,this._clock=l(t.clock)?t.clock:new lm,l(t.shouldAnimate)&&(this._clock.shouldAnimate=t.shouldAnimate),PTe(this);try{let p=y(t.ellipsoid,ee.default),g=new WH({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:u,ellipsoid:p,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=g,g.camera.constrainedAxis=h.UNIT_Z,ITe(this),OTe(this);let m=t.globe;l(m)||(m=new kz(p)),m!==!1&&(g.globe=m,g.globe.shadows=y(t.terrainShadows,bn.RECEIVE_ONLY));let x=t.skyBox;!l(x)&&ee.WGS84.equals(p)&&(x=qH.createEarthSkyBox()),x!==!1&&(g.skyBox=x,g.sun=new YH,ee.WGS84.equals(p)&&(g.moon=new Gz));let b=t.skyAtmosphere;!l(b)&&ee.WGS84.equals(p)&&(b=new jH(p),b.show=t.globe!==!1&&m.show),b!==!1&&(g.skyAtmosphere=b);let T=t.baseLayer;t.globe!==!1&&T!==!1&&(l(T)||(T=pc.fromWorldImagery()),g.imageryLayers.add(T)),l(t.terrainProvider)&&t.globe!==!1&&(g.terrainProvider=t.terrainProvider),l(t.terrain)&&t.globe!==!1&&g.setTerrain(t.terrain),this._screenSpaceEventHandler=new Gf(i),l(t.sceneMode)&&(t.sceneMode===ne.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===ne.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let C=this;this._onRenderError=function(O,M){C._useDefaultRenderLoop=!1,C._renderLoopRunning=!1,C._showRenderLoopErrors&&C.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,M)},g.renderError.addEventListener(this._onRenderError);let A=t.dataSources,S=!1;l(A)||(A=new L3,S=!0);let v=new Ck({scene:g,dataSourceCollection:A}),D=new xr;this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=t.automaticallyTrackDataSourceClocks??!0,this._dataSourceCollection=A,this._destroyDataSourceCollection=S,this._dataSourceDisplay=v,this._eventHelper=D,this._canAnimateUpdateCallback=this._updateCanAnimate,D.add(this._clock.onTick,Ao.prototype._onTick,this),D.add(g.morphStart,Ao.prototype._clearTrackedObject,this),D.add(A.dataSourceAdded,Ao.prototype._onDataSourceAdded,this),D.add(A.dataSourceRemoved,Ao.prototype._onDataSourceRemoved,this),D.add(g.postRender,Ao.prototype._postRender,this);let R=A.length;for(let O=0;O<R;O++)this._dataSourceAdded(A,A.get(O));this._dataSourceAdded(void 0,v.defaultDataSource),D.add(A.dataSourceAdded,Ao.prototype._dataSourceAdded,this),D.add(A.dataSourceRemoved,Ao.prototype._dataSourceRemoved,this)}catch(p){throw f&&this.showErrorPanel("Error constructing CesiumWidget.",'Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:',p),p}}Object.defineProperties(Ao.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},camera:{get:function(){return this._scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&Zbt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,tZ(this);let t=this.scene,n=t.mode;!l(e)||!l(e.position)?(this._needTrackedEntityUpdate=!1,(n===ne.COLUMBUS_VIEW||n===ne.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===ne.COLUMBUS_VIEW||n===ne.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(F.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,DTe(this.clock,e))}}});Ao.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),l(window.addEventListener)&&window.addEventListener("resize",c,!1);let u=l(t),f=l(n);if(u||f){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),f){let m=m_(n);u||(typeof n=="string"&&(n=new Error(n)),t=m_({name:n.name,message:n.message}),m=n.stack),typeof console<"u"&&console.error(`${e} +${t} +${m}`);let x=document.createElement("div");x.className="cesium-widget-errorPanel-message-details collapsed";let b=document.createElement("span");b.className="cesium-widget-errorPanel-more-details",b.appendChild(document.createTextNode("See more...")),x.appendChild(b),x.onclick=function(T){x.removeChild(b),x.appendChild(document.createTextNode(m)),x.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",x.onclick=void 0},a.appendChild(x)}g.innerHTML=`<p>${t}</p>`}let d=document.createElement("div");d.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(d);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){l(c)&&l(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},d.appendChild(p),i.appendChild(o)};Ao.prototype.isDestroyed=function(){return!1};Ao.prototype.destroy=function(){let e=this.dataSources,t=e.length;for(let n=0;n<t;n++)this._dataSourceRemoved(e,e.get(n));this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),l(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),this._eventHelper.removeAll(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),ue(this)};Ao.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,PTe(this),OTe(this),this._scene.requestRender())};Ao.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};Ao.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Ao.prototype._onEntityCollectionChanged,this)};Ao.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Ao.prototype._onEntityCollectionChanged,this),l(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0)};Ao.prototype._updateCanAnimate=function(e){this._clock.canAnimate=e};var IS=new ce;Ao.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&this._canAnimateUpdateCallback(n);let i=this._entityView;if(l(i)){let o=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(o,!0,IS)===ut.DONE&&i.update(t,IS)}};Ao.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0)}};Ao.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Ao.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&DTe(this.clock,e)};Ao.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Ao.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Ao.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};Ao.prototype.zoomTo=function(e,t){return RTe(this,e,{offset:t},!1)};Ao.prototype.flyTo=function(e,t){return RTe(this,e,t,!0)};function RTe(e,t,n,i){tZ(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof pc){let s;l(r.imageryProvider)?s=Promise.resolve(r.getImageryRectangle()):s=new Promise(a=>{let c=r.readyEvent.addEventListener(()=>{c(),a(r.getImageryRectangle())})}),s.then(function(a){return KE(a,e.scene)}).then(function(a){e._zoomPromise===o&&(e._zoomTarget=a)});return}if(r instanceof ws||r instanceof wP||r instanceof Gb){e._zoomTarget=r;return}if(r.isLoading&&l(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=r.values??r,l(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function DP(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function tZ(e){let t=e._zoomPromise;l(t)&&(DP(e),e._completeZoom(!1))}Ao.prototype._postRender=function(){$bt(this),Qbt(this)};function $bt(e){let t=e._zoomTarget;if(!l(t)||e.scene.mode===ne.MORPHING)return;let n=e.scene,i=n.camera,o=e._zoomOptions??{},r;function s(f){l(o.offset)||(o.offset=new jd(0,-.5,f.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(f,o.offset),i.lookAtTransform(F.IDENTITY),e._completeZoom(!0)),DP(e)}if(t instanceof wP){if(l(t.boundingSphere)){s(t.boundingSphere);return}let f=t.frameChanged.addEventListener(function(d){s(d.boundingSphere),f()});return}if(t instanceof ws||t instanceof Gb){s(t.boundingSphere);return}if(t instanceof fe){r={destination:n.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),DP(e);return}let a=t,c=[];for(let f=0,d=a.length;f<d;f++){let p=e._dataSourceDisplay.getBoundingSphere(a[f],!1,IS);if(p===ut.PENDING)return;p!==ut.FAILED&&c.push(ce.clone(IS))}if(c.length===0){tZ(e);return}e.trackedEntity=void 0;let u=ce.fromBoundingSpheres(c);e._zoomIsFlight?(DP(e),i.flyToBoundingSphere(u,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(F.IDENTITY),DP(e),e._completeZoom(!0))}function Qbt(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=q.getValueOrUndefined(t.position,n);if(!l(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,IS);if(r===ut.PENDING)return;let s=o.mode;(s===ne.COLUMBUS_VIEW||s===ne.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===ne.COLUMBUS_VIEW||s===ne.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==ut.FAILED?IS:void 0;e._entityView=new Sk(t,o,o.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var QH=Ao;var Jbt=new h(1,1,1);function nZ(e){e=y(e,Jbt),this._dimensions=h.clone(e)}Object.defineProperties(nZ.prototype,{dimensions:{get:function(){return this._dimensions},set:function(e){h.clone(e,this._dimensions)}}});var eTt=new h;nZ.prototype.emit=function(e){let t=this._dimensions,n=h.multiplyByScalar(t,.5,eTt),i=P.randomBetween(-n.x,n.x),o=P.randomBetween(-n.y,n.y),r=P.randomBetween(-n.z,n.z);e.position=h.fromElements(i,o,r,e.position),e.velocity=h.normalize(e.position,e.velocity)};var MTe=nZ;function jm(){this.featurePropertiesDirty=!1}Object.defineProperties(jm.prototype,{featuresLength:{get:function(){de.throwInstantiationError()}},pointsLength:{get:function(){de.throwInstantiationError()}},trianglesLength:{get:function(){de.throwInstantiationError()}},geometryByteLength:{get:function(){de.throwInstantiationError()}},texturesByteLength:{get:function(){de.throwInstantiationError()}},batchTableByteLength:{get:function(){de.throwInstantiationError()}},innerContents:{get:function(){de.throwInstantiationError()}},ready:{get:function(){de.throwInstantiationError()}},tileset:{get:function(){de.throwInstantiationError()}},tile:{get:function(){de.throwInstantiationError()}},url:{get:function(){de.throwInstantiationError()}},batchTable:{get:function(){de.throwInstantiationError()}},metadata:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}},group:{get:function(){de.throwInstantiationError()},set:function(e){de.throwInstantiationError()}}});jm.prototype.hasProperty=function(e,t){de.throwInstantiationError()};jm.prototype.getFeature=function(e){de.throwInstantiationError()};jm.prototype.applyDebugSettings=function(e,t){de.throwInstantiationError()};jm.prototype.applyStyle=function(e){de.throwInstantiationError()};jm.prototype.update=function(e,t){de.throwInstantiationError()};jm.prototype.pick=function(e,t,n){de.throwInstantiationError()};jm.prototype.isDestroyed=function(){de.throwInstantiationError()};jm.prototype.destroy=function(){de.throwInstantiationError()};var LTe=jm;function PS(e,t){this._conditionsExpression=We(e,!0),this._conditions=e.conditions,this._runtimeConditions=void 0,nTt(this,t)}Object.defineProperties(PS.prototype,{conditionsExpression:{get:function(){return this._conditionsExpression}}});function tTt(e,t){this.condition=e,this.expression=t}function nTt(e,t){let n=[],i=e._conditions;if(!l(i))return;let o=i.length;for(let r=0;r<o;++r){let s=i[r],a=String(s[0]),c=String(s[1]);n.push(new tTt(new md(a,t),new md(c,t)))}e._runtimeConditions=n}PS.prototype.evaluate=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluate(e,t)}};PS.prototype.evaluateColor=function(e,t){let n=this._runtimeConditions;if(!l(n))return;let i=n.length;for(let o=0;o<i;++o){let r=n[o];if(r.condition.evaluate(e))return r.expression.evaluateColor(e,t)}};PS.prototype.getShaderFunction=function(e,t,n,i){let o=this._runtimeConditions;if(!l(o)||o.length===0)return;let r="",s=o.length;for(let a=0;a<s;++a){let c=o[a],u=c.condition.getShaderExpression(t,n),f=c.expression.getShaderExpression(t,n);r+=` ${a===0?"if":"else if"} (${u}) + { + return ${f}; + } +`}return r=`${i} ${e} { - vec4 color = texture(u_texture, v_textureCoordinates); - out_FragColor = czm_gammaCorrect(color); +${r} return ${i}(1.0); } -`;var n8=`uniform float u_radiusTS; - -in vec2 v_textureCoordinates; - -vec2 rotate(vec2 p, vec2 direction) +`,r};PS.prototype.getVariables=function(){let e=[],t=this._runtimeConditions;if(!l(t)||t.length===0)return e;let n=t.length;for(let i=0;i<n;++i){let o=t[i];e.push.apply(e,o.condition.getVariables()),e.push.apply(e,o.expression.getVariables())}return e=e.filter(function(i,o,r){return r.indexOf(i)===o}),e};var JH=PS;function b0(e){this._style={},this._ready=!1,this._show=void 0,this._color=void 0,this._pointSize=void 0,this._pointOutlineColor=void 0,this._pointOutlineWidth=void 0,this._labelColor=void 0,this._labelOutlineColor=void 0,this._labelOutlineWidth=void 0,this._font=void 0,this._labelStyle=void 0,this._labelText=void 0,this._backgroundColor=void 0,this._backgroundPadding=void 0,this._backgroundEnabled=void 0,this._scaleByDistance=void 0,this._translucencyByDistance=void 0,this._distanceDisplayCondition=void 0,this._heightOffset=void 0,this._anchorLineEnabled=void 0,this._anchorLineColor=void 0,this._image=void 0,this._disableDepthTestDistance=void 0,this._horizontalOrigin=void 0,this._verticalOrigin=void 0,this._labelHorizontalOrigin=void 0,this._labelVerticalOrigin=void 0,this._meta=void 0,this._colorShaderFunction=void 0,this._showShaderFunction=void 0,this._pointSizeShaderFunction=void 0,this._colorShaderFunctionReady=!1,this._showShaderFunctionReady=!1,this._pointSizeShaderFunctionReady=!1,this._colorShaderTranslucent=!1,iTt(this,e)}function iTt(e,t){t=y(We(t,!0),e._style),e._style=t,e.show=t.show,e.color=t.color,e.pointSize=t.pointSize,e.pointOutlineColor=t.pointOutlineColor,e.pointOutlineWidth=t.pointOutlineWidth,e.labelColor=t.labelColor,e.labelOutlineColor=t.labelOutlineColor,e.labelOutlineWidth=t.labelOutlineWidth,e.labelStyle=t.labelStyle,e.font=t.font,e.labelText=t.labelText,e.backgroundColor=t.backgroundColor,e.backgroundPadding=t.backgroundPadding,e.backgroundEnabled=t.backgroundEnabled,e.scaleByDistance=t.scaleByDistance,e.translucencyByDistance=t.translucencyByDistance,e.distanceDisplayCondition=t.distanceDisplayCondition,e.heightOffset=t.heightOffset,e.anchorLineEnabled=t.anchorLineEnabled,e.anchorLineColor=t.anchorLineColor,e.image=t.image,e.disableDepthTestDistance=t.disableDepthTestDistance,e.horizontalOrigin=t.horizontalOrigin,e.verticalOrigin=t.verticalOrigin,e.labelHorizontalOrigin=t.labelHorizontalOrigin,e.labelVerticalOrigin=t.labelVerticalOrigin;let n={};if(l(t.meta)){let i=t.defines,o=y(t.meta,y.EMPTY_OBJECT);for(let r in o)o.hasOwnProperty(r)&&(n[r]=new md(o[r],i))}e._meta=n,e._ready=!0}function nr(e,t){let n=y(e._style,y.EMPTY_OBJECT).defines;if(l(t)){if(typeof t=="boolean"||typeof t=="number")return new md(String(t));if(typeof t=="string")return new md(t,n);if(l(t.conditions))return new JH(t,n)}else return;return t}function ir(e){if(l(e)){if(l(e.expression))return e.expression;if(l(e.conditionsExpression))return We(e.conditionsExpression,!0)}else return;return e}Object.defineProperties(b0.prototype,{style:{get:function(){return this._style}},show:{get:function(){return this._show},set:function(e){this._show=nr(this,e),this._style.show=ir(this._show),this._showShaderFunctionReady=!1}},color:{get:function(){return this._color},set:function(e){this._color=nr(this,e),this._style.color=ir(this._color),this._colorShaderFunctionReady=!1}},pointSize:{get:function(){return this._pointSize},set:function(e){this._pointSize=nr(this,e),this._style.pointSize=ir(this._pointSize),this._pointSizeShaderFunctionReady=!1}},pointOutlineColor:{get:function(){return this._pointOutlineColor},set:function(e){this._pointOutlineColor=nr(this,e),this._style.pointOutlineColor=ir(this._pointOutlineColor)}},pointOutlineWidth:{get:function(){return this._pointOutlineWidth},set:function(e){this._pointOutlineWidth=nr(this,e),this._style.pointOutlineWidth=ir(this._pointOutlineWidth)}},labelColor:{get:function(){return this._labelColor},set:function(e){this._labelColor=nr(this,e),this._style.labelColor=ir(this._labelColor)}},labelOutlineColor:{get:function(){return this._labelOutlineColor},set:function(e){this._labelOutlineColor=nr(this,e),this._style.labelOutlineColor=ir(this._labelOutlineColor)}},labelOutlineWidth:{get:function(){return this._labelOutlineWidth},set:function(e){this._labelOutlineWidth=nr(this,e),this._style.labelOutlineWidth=ir(this._labelOutlineWidth)}},font:{get:function(){return this._font},set:function(e){this._font=nr(this,e),this._style.font=ir(this._font)}},labelStyle:{get:function(){return this._labelStyle},set:function(e){this._labelStyle=nr(this,e),this._style.labelStyle=ir(this._labelStyle)}},labelText:{get:function(){return this._labelText},set:function(e){this._labelText=nr(this,e),this._style.labelText=ir(this._labelText)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(e){this._backgroundColor=nr(this,e),this._style.backgroundColor=ir(this._backgroundColor)}},backgroundPadding:{get:function(){return this._backgroundPadding},set:function(e){this._backgroundPadding=nr(this,e),this._style.backgroundPadding=ir(this._backgroundPadding)}},backgroundEnabled:{get:function(){return this._backgroundEnabled},set:function(e){this._backgroundEnabled=nr(this,e),this._style.backgroundEnabled=ir(this._backgroundEnabled)}},scaleByDistance:{get:function(){return this._scaleByDistance},set:function(e){this._scaleByDistance=nr(this,e),this._style.scaleByDistance=ir(this._scaleByDistance)}},translucencyByDistance:{get:function(){return this._translucencyByDistance},set:function(e){this._translucencyByDistance=nr(this,e),this._style.translucencyByDistance=ir(this._translucencyByDistance)}},distanceDisplayCondition:{get:function(){return this._distanceDisplayCondition},set:function(e){this._distanceDisplayCondition=nr(this,e),this._style.distanceDisplayCondition=ir(this._distanceDisplayCondition)}},heightOffset:{get:function(){return this._heightOffset},set:function(e){this._heightOffset=nr(this,e),this._style.heightOffset=ir(this._heightOffset)}},anchorLineEnabled:{get:function(){return this._anchorLineEnabled},set:function(e){this._anchorLineEnabled=nr(this,e),this._style.anchorLineEnabled=ir(this._anchorLineEnabled)}},anchorLineColor:{get:function(){return this._anchorLineColor},set:function(e){this._anchorLineColor=nr(this,e),this._style.anchorLineColor=ir(this._anchorLineColor)}},image:{get:function(){return this._image},set:function(e){this._image=nr(this,e),this._style.image=ir(this._image)}},disableDepthTestDistance:{get:function(){return this._disableDepthTestDistance},set:function(e){this._disableDepthTestDistance=nr(this,e),this._style.disableDepthTestDistance=ir(this._disableDepthTestDistance)}},horizontalOrigin:{get:function(){return this._horizontalOrigin},set:function(e){this._horizontalOrigin=nr(this,e),this._style.horizontalOrigin=ir(this._horizontalOrigin)}},verticalOrigin:{get:function(){return this._verticalOrigin},set:function(e){this._verticalOrigin=nr(this,e),this._style.verticalOrigin=ir(this._verticalOrigin)}},labelHorizontalOrigin:{get:function(){return this._labelHorizontalOrigin},set:function(e){this._labelHorizontalOrigin=nr(this,e),this._style.labelHorizontalOrigin=ir(this._labelHorizontalOrigin)}},labelVerticalOrigin:{get:function(){return this._labelVerticalOrigin},set:function(e){this._labelVerticalOrigin=nr(this,e),this._style.labelVerticalOrigin=ir(this._labelVerticalOrigin)}},meta:{get:function(){return this._meta},set:function(e){this._meta=e}}});b0.fromUrl=function(e){return Ae.createIfNeeded(e).fetchJson(e).then(function(n){return new b0(n)})};b0.prototype.getColorShaderFunction=function(e,t,n){return this._colorShaderFunctionReady?(n.translucent=this._colorShaderTranslucent,this._colorShaderFunction):(this._colorShaderFunctionReady=!0,l(this.color)&&l(this.color.getShaderFunction)?this._colorShaderFunction=this.color.getShaderFunction(e,t,n,"vec4"):this._colorShaderFunction=void 0,this._colorShaderTranslucent=n.translucent,this._colorShaderFunction)};b0.prototype.getShowShaderFunction=function(e,t,n){return this._showShaderFunctionReady?this._showShaderFunction:(this._showShaderFunctionReady=!0,l(this.show)&&l(this.show.getShaderFunction)?this._showShaderFunction=this.show.getShaderFunction(e,t,n,"bool"):this._showShaderFunction=void 0,this._showShaderFunction)};b0.prototype.getPointSizeShaderFunction=function(e,t,n){return this._pointSizeShaderFunctionReady?this._pointSizeShaderFunction:(this._pointSizeShaderFunctionReady=!0,l(this.pointSize)&&l(this.pointSize.getShaderFunction)?this._pointSizeShaderFunction=this.pointSize.getShaderFunction(e,t,n,"float"):this._pointSizeShaderFunction=void 0,this._pointSizeShaderFunction)};b0.prototype.getVariables=function(){let e=[];return l(this.color)&&l(this.color.getVariables)&&e.push.apply(e,this.color.getVariables()),l(this.show)&&l(this.show.getVariables)&&e.push.apply(e,this.show.getVariables()),l(this.pointSize)&&l(this.pointSize.getVariables)&&e.push.apply(e,this.pointSize.getVariables()),e=e.filter(function(t,n,i){return i.indexOf(t)===n}),e};var OS=b0;function IP(e){e=y(e,y.EMPTY_OBJECT),this._maximumSubtreeCount=y(e.maximumSubtreeCount,0),this._subtreeRequestCounter=0,this._queue=new kE({comparator:IP.comparator})}IP.prototype.addSubtree=function(e){let t=new oTt(e,this._subtreeRequestCounter);this._subtreeRequestCounter++,this._queue.insert(t);let n=e.implicitCoordinates;if(n.level>0){let i=n.getParentSubtreeCoordinates(),o=this.find(i)}if(this._maximumSubtreeCount>0)for(;this._queue.length>this._maximumSubtreeCount&&this._queue.getMinimum()!==t;)this._queue.removeMinimum()};IP.prototype.find=function(e){let t=this._queue,n=t.internalArray,i=t.length;for(let o=0;o<i;o++){let r=n[o],a=r.subtree.implicitCoordinates;if(e.isEqual(a))return r.subtree}};IP.comparator=function(e,t){let n=e.subtree.implicitCoordinates,i=t.subtree.implicitCoordinates;return n.isAncestor(i)?1:i.isAncestor(n)?-1:e.stamp-t.stamp};function oTt(e,t){this.subtree=e,this.stamp=t}var e8=IP;function t8(e){this._resource=e,this._metadataTable=void 0}Object.defineProperties(t8.prototype,{metadataTable:{get:function(){return this._metadataTable}}});t8.fromJson=async function(e,t,n,i){let o;l(t)?o={json:t,binary:void 0}:o=sTt(n);let r=await rTt(e,o.json,o.binary),s={},a=o.json.bufferViews.length;for(let d=0;d<a;++d){let p=o.json.bufferViews[d],g=p.byteOffset,m=g+p.byteLength,b=r[p.buffer].subarray(g,m);s[d]=b}let c=o.json.voxelTable,u=o.json.propertyTables[c],f=new t8(e);return f._metadataTable=new ou({count:u.count,properties:u.properties,class:i.classes[u.class],bufferViews:s}),f};function rTt(e,t,n){let i=t.buffers.length,o=new Array(i);for(let r=0;r<i;r++){let s=t.buffers[r];if(l(s.uri)){let c=e.getDerivedResource({url:s.uri});o[r]=c.fetchArrayBuffer().then(function(u){return new Uint8Array(u)})}else o[r]=Promise.resolve(n)}return Promise.all(o)}function sTt(e){let n=new DataView(e.buffer,e.byteOffset),i=8,o=n.getUint32(i,!0);i+=8;let r=n.getUint32(i,!0);i+=8;let s=Fo(e,i,o);i+=o;let a=e.subarray(i,i+r);return{json:s,binary:a}}var n8=t8;function i8(e){e=y(e,y.EMPTY_OBJECT),this.shapeTransform=void 0,this.globalTransform=void 0,this.shape=void 0,this.minBounds=void 0,this.maxBounds=void 0,this.dimensions=void 0,this.paddingBefore=void 0,this.paddingAfter=void 0,this.names=void 0,this.types=void 0,this.componentTypes=void 0,this.minimumValues=void 0,this.maximumValues=void 0,this.maximumTileCount=void 0,this._implicitTileset=void 0,this._subtreeCache=new e8}i8.fromUrl=async function(e){let t=Ae.createIfNeeded(e),n=await t.fetchJson();cTt(n);let i=hTt(n,t);await i.load();let o=n.root,r=o.content.extensions["3DTILES_content_voxels"],s=r.class,a=li(n,"3DTILES_metadata")?n.extensions["3DTILES_metadata"]:n,c=i.schema,u=new xA({metadataJson:a,schema:c}),f=new i8;mTt(f,u,s);let d=new TA(t,o,c),{shape:p,minBounds:g,maxBounds:m,shapeTransform:x,globalTransform:b}=lTt(o);f.shape=p,f.minBounds=g,f.maxBounds=m,f.dimensions=h.unpack(r.dimensions),f.shapeTransform=x,f.globalTransform=b,f.maximumTileCount=aTt(u);let T,C;return l(r.padding)&&(T=h.unpack(r.padding.before),C=h.unpack(r.padding.after)),f.paddingBefore=T,f.paddingAfter=C,f._implicitTileset=d,Si.unload(i),f};function aTt(e){if(l(e.tileset))return e.tileset.getPropertyBySemantic(SC.TILESET_TILE_COUNT)}function cTt(e){let t=e.root;if(!l(t.content))throw new se("Root must have content");if(!li(t.content,"3DTILES_content_voxels"))throw new se("Root tile content must have 3DTILES_content_voxels extension");if(!li(t,"3DTILES_implicit_tiling")&&!l(t.implicitTiling))throw new se("Root tile must have implicit tiling");if(!l(e.schema)&&!l(e.schemaUri)&&!li(e,"3DTILES_metadata"))throw new se("Tileset must have a metadata schema")}function lTt(e){let t=e.boundingVolume,n;if(l(e.transform)?n=F.unpack(e.transform):n=F.clone(F.IDENTITY),l(t.box))return fTt(t.box,n);if(l(t.region))return uTt(t.region);if(li(t,"3DTILES_bounding_volume_cylinder"))return dTt(t.extensions["3DTILES_bounding_volume_cylinder"].cylinder,n);throw new se("Only box, region and 3DTILES_bounding_volume_cylinder are supported in Cesium3DTilesVoxelProvider")}function uTt(e){let t=e[0],n=e[1],i=e[2],o=e[3],r=e[4],s=e[5],a=F.fromScale(ee.WGS84.radii),c=new h(t,n,r),u=new h(i,o,s);return{shape:ki.ELLIPSOID,minBounds:c,maxBounds:u,shapeTransform:a,globalTransform:F.clone(F.IDENTITY)}}function fTt(e,t){let n=In.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:ki.BOX,minBounds:h.clone(S_.DefaultMinBounds),maxBounds:h.clone(S_.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function dTt(e,t){let n=In.unpack(e),i=F.fromRotationTranslation(n.halfAxes,n.center);return{shape:ki.CYLINDER,minBounds:h.clone(v_.DefaultMinBounds),maxBounds:h.clone(v_.DefaultMaxBounds),shapeTransform:i,globalTransform:t}}function hTt(e,t){let{schemaUri:n,schema:i}=e;return l(n)?Si.getSchemaLoader({resource:t.getDerivedResource({url:n})}):Si.getSchemaLoader({schema:i})}function mTt(e,t,n){let{schema:i,statistics:o}=t,r=o?.classes[n],s=i.classes[n].properties,a=Object.entries(s).map(([d,p])=>{let{type:g,componentType:m}=p,x=r?.properties[d].min,b=r?.properties[d].max,T=dt.getComponentCount(g),C=NTe(x,T),A=NTe(b,T);return{id:d,type:g,componentType:m,minValue:C,maxValue:A}});e.names=a.map(d=>d.id),e.types=a.map(d=>d.type),e.componentTypes=a.map(d=>d.componentType);let c=a.map(d=>d.minValue),u=a.map(d=>d.maxValue),f=c.some(l);e.minimumValues=f?c:void 0,e.maximumValues=f?u:void 0}function NTe(e,t){if(!l(e))return;let n=Array.isArray(e)?e:[e];return Array.from({length:t},(i,o)=>n[o])}async function pTt(e,t){let n=e.contentUriTemplates[0].getDerivedResource({templateValues:t.getTemplateValues()}),i=e.baseResource.getDerivedResource({url:n.url}),o=await i.fetchArrayBuffer(),r=jp(o);return await n8.fromJson(i,r.jsonPayload,r.binaryPayload,e.metadataSchema)}async function _Tt(e,t){let n=e._implicitTileset,i=e._subtreeCache,o=i.find(t);if(l(o))return o;let r=n.subtreeUriTemplate.getDerivedResource({templateValues:t.getTemplateValues()}),s=n.baseResource.getDerivedResource({url:r.url}),a=await s.fetchArrayBuffer();if(o=i.find(t),l(o))return o;let c=jp(a);return o=await EC.fromSubtreeJson(s,c.jsonPayload,c.binaryPayload,n,t),i.addSubtree(o),o}i8.prototype.requestData=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.tileLevel,0),n=y(e.tileX,0),i=y(e.tileY,0),o=y(e.tileZ,0);if(y(e.keyframe,0)!==0)return;let s=this._implicitTileset,a=this.names,c=new CA({subdivisionScheme:s.subdivisionScheme,subtreeLevels:s.subtreeLevels,level:t,x:n,y:i,z:o}),u=c.isSubtreeRoot()&&c.level>0,f=u?c.getParentSubtreeCoordinates():c.getSubtreeCoordinates();return _Tt(this,f).then(function(p){return(u?p.childSubtreeIsAvailableAtCoordinates(c):p.tileIsAvailableAtCoordinates(c))?pTt(s,c):Promise.reject("Tile is not available")}).then(function(p){return a.map(function(g){return p.metadataTable.getPropertyTypedArray(g)})})};var FTe=i8;function iZ(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(iZ.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});iZ.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,this._radius),i=n*Math.cos(t),o=n*Math.sin(t),r=0;e.position=h.fromElements(i,o,r,e.position),e.velocity=h.clone(h.UNIT_Z,e.velocity)};var o8=iZ;var oZ={CUMULUS:0};oZ.validate=function(e){return e===oZ.CUMULUS};var PP=Object.freeze(oZ);function uh(e,t){if(e=y(e,y.EMPTY_OBJECT),this._show=y(e.show,!0),this._position=h.clone(y(e.position,h.ZERO)),!l(e.scale)&&l(e.maximumSize))this._maximumSize=h.clone(e.maximumSize),this._scale=new U(this._maximumSize.x,this._maximumSize.y);else{this._scale=U.clone(y(e.scale,new U(20,12)));let n=new h(this._scale.x,this._scale.y,Math.min(this._scale.x,this._scale.y)/1.5);this._maximumSize=h.clone(y(e.maximumSize,n))}this._slice=y(e.slice,-1),this._color=z.clone(y(e.color,z.WHITE)),this._brightness=y(e.brightness,1),this._cloudCollection=t,this._index=-1}var gTt=uh.SHOW_INDEX=0,yTt=uh.POSITION_INDEX=1,xTt=uh.SCALE_INDEX=2,bTt=uh.MAXIMUM_SIZE_INDEX=3,TTt=uh.SLICE_INDEX=4,CTt=uh.BRIGHTNESS_INDEX=5,ATt=uh.COLOR_INDEX=6;uh.NUMBER_OF_PROPERTIES=7;function Xb(e,t){let n=e._cloudCollection;l(n)&&(n._updateCloud(e,t),e._dirty=!0)}Object.defineProperties(uh.prototype,{show:{get:function(){return this._show},set:function(e){this._show!==e&&(this._show=e,Xb(this,gTt))}},position:{get:function(){return this._position},set:function(e){let t=this._position;h.equals(t,e)||(h.clone(e,t),Xb(this,yTt))}},scale:{get:function(){return this._scale},set:function(e){let t=this._scale;U.equals(t,e)||(U.clone(e,t),Xb(this,xTt))}},maximumSize:{get:function(){return this._maximumSize},set:function(e){let t=this._maximumSize;h.equals(t,e)||(h.clone(e,t),Xb(this,bTt))}},color:{get:function(){return this._color},set:function(e){let t=this._color;z.equals(t,e)||(z.clone(e,t),Xb(this,ATt))}},slice:{get:function(){return this._slice},set:function(e){this._slice!==e&&(this._slice=e,Xb(this,TTt))}},brightness:{get:function(){return this._brightness},set:function(e){this._brightness!==e&&(this._brightness=e,Xb(this,CTt))}}});uh.prototype._destroy=function(){this._cloudCollection=void 0};var Jf=uh;var Vu,r8=new h,ETt={positionHighAndScaleX:0,positionLowAndScaleY:1,packedAttribute0:2,packedAttribute1:3,color:4},STt={direction:0,positionHighAndScaleX:1,positionLowAndScaleY:2,packedAttribute0:3,packedAttribute1:4,color:5},vTt=Jf.SHOW_INDEX,wTt=Jf.POSITION_INDEX,DTt=Jf.SCALE_INDEX,ITt=Jf.MAXIMUM_SIZE_INDEX,PTt=Jf.SLICE_INDEX,OTt=Jf.BRIGHTNESS_INDEX,RTt=Jf.NUMBER_OF_PROPERTIES,MTt=Jf.COLOR_INDEX;function fh(e){e=y(e,y.EMPTY_OBJECT),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!1,this._propertiesChanged=new Uint32Array(RTt),this._noiseTexture=void 0,this._textureSliceWidth=128,this._noiseTextureRows=4,this.noiseDetail=y(e.noiseDetail,16),this.noiseOffset=h.clone(y(e.noiseOffset,h.ZERO)),this._loading=!1,this._ready=!1;let t=this;this._uniforms={u_noiseTexture:function(){return t._noiseTexture},u_noiseTextureDimensions:BTe(t),u_noiseDetail:function(){return t.noiseDetail}},this._vaNoise=void 0,this._spNoise=void 0,this._spCreated=!1,this._sp=void 0,this._rs=void 0,this.show=y(e.show,!0),this._colorCommands=[],this.debugBillboards=y(e.debugBillboards,!1),this._compiledDebugBillboards=!1,this.debugEllipsoids=y(e.debugEllipsoids,!1),this._compiledDebugEllipsoids=!1}function BTe(e){return function(){return r8.x=e._textureSliceWidth,r8.y=e._noiseTextureRows,r8.z=1/e._noiseTextureRows,r8}}Object.defineProperties(fh.prototype,{length:{get:function(){return sZ(this),this._clouds.length}}});function kTe(e){let t=e.length;for(let n=0;n<t;++n)e[n]&&e[n]._destroy()}fh.prototype.add=function(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.cloudType,PP.CUMULUS),n;return t===PP.CUMULUS&&(n=new Jf(e,this),n._index=this._clouds.length,this._clouds.push(n),this._createVertexArray=!0),n};fh.prototype.remove=function(e){return this.contains(e)?(this._clouds[e._index]=void 0,this._cloudsRemoved=!0,this._createVertexArray=!0,e._destroy(),!0):!1};fh.prototype.removeAll=function(){kTe(this._clouds),this._clouds=[],this._cloudsToUpdate=[],this._cloudsToUpdateIndex=0,this._cloudsRemoved=!1,this._createVertexArray=!0};function sZ(e){if(e._cloudsRemoved){e._cloudsRemoved=!1;let t=[],n=e._clouds,i=n.length;for(let o=0,r=0;o<i;++o){let s=n[o];l(s)&&(n._index=r++,t.push(s))}e._clouds=t}}fh.prototype._updateCloud=function(e,t){e._dirty||(this._cloudsToUpdate[this._cloudsToUpdateIndex++]=e),++this._propertiesChanged[t]};fh.prototype.contains=function(e){return l(e)&&e._cloudCollection===this};fh.prototype.get=function(e){return sZ(this),this._clouds[e]};var LTt=new Float32Array([-1,-1,1,-1,1,1,-1,1]),NTt=new Uint16Array([0,1,2,0,2,3]);function FTt(e){let t=bt.createVertexBuffer({context:e,typedArray:LTt,usage:Ue.STATIC_DRAW}),n=bt.createIndexBuffer({context:e,typedArray:NTt,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),i=[{index:0,vertexBuffer:t,componentsPerAttribute:2,componentDatatype:X.FLOAT}];return new si({context:e,attributes:i,indexBuffer:n})}var aZ;function BTt(e){let n=e.cache.cloudCollection_indexBufferBatched;if(l(n))return n;let i=16384*6-6,o=new Uint16Array(i);for(let r=0,s=0;r<i;r+=6,s+=4)o[r]=s,o[r+1]=s+1,o[r+2]=s+2,o[r+3]=s,o[r+4]=s+2,o[r+5]=s+3;return n=bt.createIndexBuffer({context:e,typedArray:o,usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),n.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferBatched=n,n}function kTt(e){let t=e.cache.cloudCollection_indexBufferInstanced;return l(t)||(t=bt.createIndexBuffer({context:e,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ue.STATIC_DRAW,indexDatatype:ke.UNSIGNED_SHORT}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_indexBufferInstanced=t),t}function VTt(e){let t=e.cache.cloudCollection_vertexBufferInstanced;return l(t)||(t=bt.createVertexBuffer({context:e,typedArray:new Float32Array([0,0,1,0,1,1,0,1]),usage:Ue.STATIC_DRAW}),t.vertexArrayDestroyable=!1,e.cache.cloudCollection_vertexBufferInstanced=t),t}function UTt(e,t,n){let i=[{index:Vu.positionHighAndScaleX,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ue.STATIC_DRAW},{index:Vu.positionLowAndScaleY,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ue.STATIC_DRAW},{index:Vu.packedAttribute0,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ue.STATIC_DRAW},{index:Vu.packedAttribute1,componentsPerAttribute:4,componentDatatype:X.FLOAT,usage:Ue.STATIC_DRAW},{index:Vu.color,componentsPerAttribute:4,componentDatatype:X.UNSIGNED_BYTE,normalize:!0,usage:Ue.STATIC_DRAW}];n&&i.push({index:Vu.direction,componentsPerAttribute:2,componentDatatype:X.FLOAT,vertexBuffer:VTt(e)});let o=n?t:4*t;return new Y_(e,i,o,n)}var rZ=new Wn;function VTe(e,t,n,i){let o,r=n[Vu.positionHighAndScaleX],s=n[Vu.positionLowAndScaleY],a=i.position;Wn.fromCartesian(a,rZ);let c=i.scale,u=rZ.high,f=rZ.low;e._instanced?(o=i._index,r(o,u.x,u.y,u.z,c.x),s(o,f.x,f.y,f.z,c.y)):(o=i._index*4,r(o+0,u.x,u.y,u.z,c.x),r(o+1,u.x,u.y,u.z,c.x),r(o+2,u.x,u.y,u.z,c.x),r(o+3,u.x,u.y,u.z,c.x),s(o+0,f.x,f.y,f.z,c.y),s(o+1,f.x,f.y,f.z,c.y),s(o+2,f.x,f.y,f.z,c.y),s(o+3,f.x,f.y,f.z,c.y))}function UTe(e,t,n,i){let o,r=n[Vu.packedAttribute0],s=i.show,a=i.brightness;e._instanced?(o=i._index,r(o,s,a,0,0)):(o=i._index*4,r(o+0,s,a,0,0),r(o+1,s,a,1,0),r(o+2,s,a,1,1),r(o+3,s,a,0,1))}function zTe(e,t,n,i){let o,r=n[Vu.packedAttribute1],s=i.maximumSize,a=i.slice;e._instanced?(o=i._index,r(o,s.x,s.y,s.z,a)):(o=i._index*4,r(o+0,s.x,s.y,s.z,a),r(o+1,s.x,s.y,s.z,a),r(o+2,s.x,s.y,s.z,a),r(o+3,s.x,s.y,s.z,a))}function HTe(e,t,n,i){let o,r=n[Vu.color],s=i.color,a=z.floatToByte(s.red),c=z.floatToByte(s.green),u=z.floatToByte(s.blue),f=z.floatToByte(s.alpha);e._instanced?(o=i._index,r(o,a,c,u,f)):(o=i._index*4,r(o+0,a,c,u,f),r(o+1,a,c,u,f),r(o+2,a,c,u,f),r(o+3,a,c,u,f))}function zTt(e,t,n,i){VTe(e,t,n,i),UTe(e,t,n,i),zTe(e,t,n,i),HTe(e,t,n,i)}function HTt(e,t,n,i){let o=e,r=o._textureSliceWidth,s=o._noiseTextureRows,a=t.context;o._vaNoise=FTt(a),o._spNoise=tn.fromCache({context:a,vertexShaderSource:n,fragmentShaderSource:i,attributeLocations:{position:0}});let c=o.noiseDetail,u=o.noiseOffset;o._noiseTexture=new Pt({context:a,width:r*r/s,height:r*s,pixelDatatype:Ze.UNSIGNED_BYTE,pixelFormat:ot.RGBA,sampler:new $t({wrapS:Sn.REPEAT,wrapT:Sn.REPEAT,minificationFilter:Zt.NEAREST,magnificationFilter:pi.NEAREST})});let f=new rl({vertexArray:o._vaNoise,shaderProgram:o._spNoise,outputTexture:o._noiseTexture,uniformMap:{u_noiseTextureDimensions:BTe(o),u_noiseDetail:function(){return c},u_noiseOffset:function(){return u}},persists:!1,owner:e,postExecute:function(d){o._ready=!0,o._loading=!1}});t.commandList.push(f),o._loading=!0}function GTt(e,t){let n=e,i=t.context;n._createVertexArray=!1,n._vaf=n._vaf&&n._vaf.destroy();let o=e._clouds,r=o.length;if(r>0){n._vaf=UTt(i,r,n._instanced);let s=n._vaf.writers,a;for(a=0;a<r;++a){let c=o[a];zTt(e,t,s,c)}n._vaf.commit(aZ(i))}}var WTt=[];function jTt(e,t){let n=t.context,i=e,r=i._clouds.length,s=i._cloudsToUpdate,a=i._cloudsToUpdateIndex,c=i._propertiesChanged,u=WTt;u.length=0,(c[wTt]||c[DTt])&&u.push(VTe),(c[vTt]||c[OTt])&&u.push(UTe),(c[ITt]||c[PTt])&&u.push(zTe),c[MTt]&&u.push(HTe);let f=u.length,d=i._vaf.writers,p,g,m;if(a/r>.1){for(p=0;p<a;++p)for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._vaf.commit(aZ(n))}else{for(p=0;p<a;++p){for(g=s[p],g._dirty=!1,m=0;m<f;++m)u[m](e,t,d,g);i._instanced?i._vaf.subCommit(g._index,1):i._vaf.subCommit(g._index*4,4)}i._vaf.endSubCommits()}i._cloudsToUpdateIndex=0}function qTt(e,t,n,i){let o=t.context,r=e,s=new He({defines:[],sources:[n]});r._instanced&&s.defines.push("INSTANCED");let a=new He({defines:[],sources:[i]});r.debugBillboards&&a.defines.push("DEBUG_BILLBOARDS"),r.debugEllipsoids&&a.defines.push("DEBUG_ELLIPSOIDS"),r._sp=tn.replaceCache({context:o,shaderProgram:r._sp,vertexShaderSource:s,fragmentShaderSource:a,attributeLocations:Vu}),r._rs=ze.fromCache({depthTest:{enabled:!0,func:te.LESS},depthMask:!1,blending:fn.ALPHA_BLEND}),r._spCreated=!0,r._compiledDebugBillboards=r.debugBillboards,r._compiledDebugEllipsoids=r.debugEllipsoids}function YTt(e,t){let n=e,i=t.passes,o=n._uniforms,r=t.commandList;if(i.render){let s=n._colorCommands,a=n._vaf.va,c=a.length;s.length=c;for(let u=0;u<c;u++){let f=s[u];l(f)||(f=s[u]=new tt),f.pass=ve.TRANSLUCENT,f.owner=e,f.uniformMap=o,f.count=a[u].indicesCount,f.vertexArray=a[u].va,f.shaderProgram=n._sp,f.renderState=n._rs,n._instanced&&(f.count=6,f.instanceCount=n._clouds.length),r.push(f)}}}fh.prototype.update=function(e){if(sZ(this),!this.show)return;let t=this.debugBillboards||this.debugEllipsoids;this._ready=t?!0:l(this._noiseTexture),!this._ready&&!this._loading&&!t&&HTt(this,e,BU,FU),this._instanced=e.context.instancedArrays,Vu=this._instanced?STt:ETt,aZ=this._instanced?kTt:BTt;let i=this._clouds.length,o=this._cloudsToUpdate,r=this._cloudsToUpdateIndex;this._createVertexArray?GTt(this,e):r>0&&jTt(this,e),r>i*1.5&&(o.length=i),!(!l(this._vaf)||!l(this._vaf.va)||!this._ready&!t)&&((!this._spCreated||this.debugBillboards!==this._compiledDebugBillboards||this.debugEllipsoids!==this._compiledDebugEllipsoids)&&qTt(this,e,NU,LU),YTt(this,e))};fh.prototype.isDestroyed=function(){return!1};fh.prototype.destroy=function(){return this._noiseTexture=this._noiseTexture&&this._noiseTexture.destroy(),this._sp=this._sp&&this._sp.destroy(),this._vaf=this._vaf&&this._vaf.destroy(),kTe(this._clouds),ue(this)};var GTe=fh;var XTt=P.toRadians(30);function cZ(e){this._angle=y(e,XTt)}Object.defineProperties(cZ.prototype,{angle:{get:function(){return this._angle},set:function(e){this._angle=e}}});cZ.prototype.emit=function(e){let t=Math.tan(this._angle),n=P.randomBetween(0,P.TWO_PI),i=P.randomBetween(0,t),o=i*Math.cos(n),r=i*Math.sin(n),s=1;e.velocity=h.fromElements(o,r,s,e.velocity),h.normalize(e.velocity,e.velocity),e.position=h.clone(h.ZERO,e.position)};var WTe=cZ;var KTt=new z,ZTt=new z,$Tt=new z,QTt=new z,jTe=new oe,OP=new Uint8Array(4);function qTe(e,t,n,i){let o=t.height===n.height?0:(e-t.height)/(n.height-t.height);return z.lerp(t.color,n.color,o,i)}function s8(e,t){return{height:e,color:z.clone(t)}}function YTe(e){return e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?t.height===i[n-1].height:!0,a=r?t.height===i[n+1].height:!0;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=n<i.length-1,s=o?z.equals(t.color,i[n-1].color):!1,a=r?z.equals(t.color,i[n+1].color):!1;return!s||!a}),e=e.filter(function(t,n,i){let o=n>0,r=o?z.equals(t.color,i[n-1].color):!1,s=o?t.height===i[n-1].height:!0;return!r||!s}),e}function JTt(e){let t,n,i=[],o=e.length;for(t=0;t<o;t++){let r=e[t],s=r.entries,a=s.length,c=[];for(n=0;n<a;n++){let g=s[n],m=P.clamp(g.height,kl._minimumHeight,kl._maximumHeight),x=z.clone(g.color,KTt);x.red*=x.alpha,x.green*=x.alpha,x.blue*=x.alpha,c.push(s8(m,x))}let u=!0,f=!0;for(n=0;n<a-1;n++){let g=c[n+0],m=c[n+1];u=u&&g.height<=m.height,f=f&&g.height>=m.height}f?c=c.reverse():u||e0(c,function(g,m){return P.sign(g.height-m.height)});let d=y(r.extendDownwards,!1),p=y(r.extendUpwards,!1);c.length===1&&!d&&!p&&(d=!0,p=!0),d&&c.splice(0,0,s8(kl._minimumHeight,c[0].color)),p&&c.splice(c.length,0,s8(kl._maximumHeight,c[c.length-1].color)),c=YTe(c),i.push(c)}return i}function eCt(e){let t=JTt(e),n=[],i=[],o;function r(u,f){n.push(s8(u,f))}function s(u,f,d){let p=z.multiplyByScalar(d,1-f.alpha,QTt);p=z.add(p,f,p),r(u,p)}let a=t.length;for(o=0;o<a;o++){let u=t[o],f=0,d=0;i=n,n=[];let p=u.length,g=i.length;for(;f<p||d<g;){let m=f<p?u[f]:void 0,x=f>0?u[f-1]:void 0,b=f<p-1?u[f+1]:void 0,T=d<g?i[d]:void 0,C=d>0?i[d-1]:void 0,A=d<g-1?i[d+1]:void 0;if(l(m)&&l(T)&&m.height===T.height){let S=l(A)&&T.height===A.height,v=!l(C),D=!l(A),R=l(b)&&m.height===b.height,O=!l(x),M=!l(b);S?R?(s(m.height,m.color,T.color),s(m.height,b.color,A.color)):O?(r(m.height,T.color),s(m.height,m.color,A.color)):M?(s(m.height,m.color,T.color),r(m.height,A.color)):(s(m.height,m.color,T.color),s(m.height,m.color,A.color)):v?R?(r(m.height,m.color),s(m.height,b.color,T.color)):M?(r(m.height,m.color),r(m.height,T.color)):(O||r(m.height,m.color),s(m.height,m.color,T.color)):D?R?(s(m.height,m.color,T.color),r(m.height,b.color)):O?(r(m.height,T.color),r(m.height,m.color)):M?s(m.height,m.color,T.color):(s(m.height,m.color,T.color),r(m.height,m.color)):R?(s(m.height,m.color,T.color),s(m.height,b.color,T.color)):O?(r(m.height,T.color),s(m.height,m.color,T.color)):M?(s(m.height,m.color,T.color),r(m.height,T.color)):s(m.height,m.color,T.color),f+=R?2:1,d+=S?2:1}else if(l(m)&&l(T)&&l(C)&&m.height<T.height){let S=qTe(m.height,C,T,$Tt);l(x)?l(b)?s(m.height,m.color,S):(s(m.height,m.color,S),r(m.height,S)):(r(m.height,S),s(m.height,m.color,S)),f++}else if(l(T)&&l(m)&&l(x)&&T.height<m.height){let S=qTe(T.height,x,m,ZTt);l(C)?l(A)?s(T.height,S,T.color):(s(T.height,S,T.color),r(T.height,S)):(r(T.height,S),s(T.height,S,T.color)),d++}else l(m)&&(!l(T)||m.height<T.height)?(l(T)&&!l(C)&&!l(b)?(r(m.height,m.color),r(m.height,kl._emptyColor),r(T.height,kl._emptyColor)):(!l(T)&&l(C)&&!l(x)&&(r(C.height,kl._emptyColor),r(m.height,kl._emptyColor)),r(m.height,m.color)),f++):l(T)&&(!l(m)||T.height<m.height)&&(r(T.height,T.color),d++)}}return YTe(n)}function kl(e){let{scene:t,layers:n}=y(e,y.EMPTY_OBJECT),{context:i}=t,o=eCt(n),r=o.length,s,a,c;if(!kl._useFloatTexture(i)){a=Ze.UNSIGNED_BYTE,c=ot.RGBA,s=new Uint8Array(r*4);for(let g=0;g<r;g++)oe.packFloat(o[g].height,jTe),oe.pack(jTe,s,g*4)}else{a=Ze.FLOAT,c=i.webgl2?ot.RED:ot.LUMINANCE,s=new Float32Array(r);for(let g=0;g<r;g++)s[g]=o[g].height}let f=Pt.create({context:i,pixelFormat:c,pixelDatatype:a,source:{arrayBufferView:s,width:r,height:1},sampler:new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.NEAREST,magnificationFilter:pi.NEAREST})}),d=new Uint8Array(r*4);for(let g=0;g<r;g++)o[g].color.toBytes(OP),d[g*4+0]=OP[0],d[g*4+1]=OP[1],d[g*4+2]=OP[2],d[g*4+3]=OP[3];let p=Pt.create({context:i,pixelFormat:ot.RGBA,pixelDatatype:Ze.UNSIGNED_BYTE,source:{arrayBufferView:d,width:r,height:1},sampler:new $t({wrapS:Sn.CLAMP_TO_EDGE,wrapT:Sn.CLAMP_TO_EDGE,minificationFilter:Zt.LINEAR,magnificationFilter:pi.LINEAR})});return Yi.fromType("ElevationBand",{heights:f,colors:p})}kl._useFloatTexture=function(e){return e.floatingPointTexture};kl._maximumHeight=5906376425472;kl._minimumHeight=-5906376425472;kl._emptyColor=new z(0,0,0,0);var XTe=kl;async function tCt(e,t){t=y(t,{}),t.cacheBytes=y(t.cacheBytes,1536*1024*1024),t.maximumCacheOverflowBytes=y(t.maximumCacheOverflowBytes,1024*1024*1024),t.enableCollision=y(t.enableCollision,!0),e=y(e,y.EMPTY_OBJECT),typeof e=="string"&&(Cs("createGooglePhotorealistic3DTileset(key)","createGooglePhotorealistic3DTileset(key) has been deprecated. It is replaced by createGooglePhotorealistic3DTileset({key}). It will be removed in Cesium 1.126."),e={key:e}),e.onlyUsingWithGoogleGeocoder||Tt("google-tiles-with-google-geocoder","Only the Google geocoder can be used with Google Photorealistic 3D Tiles. Set the `geocode` property of Viewer constructor options. You can set additionalOptions.onlyUsingWithGoogleGeocoder to hide this warning once you have configured the geocoder.");let n=y(e.key,GE.defaultApiKey);if(!l(n))return nCt(t);let i,o=GE.getDefaultCredit();l(o)&&(i=[o]);let r=new Ae({url:`${GE.mapTilesApiEndpoint}3dtiles/root.json`,queryParameters:{key:n},credits:i});return ws.fromUrl(r,t)}var KTe={};async function nCt(e){let i=KTe[2275207];l(i)||(i=of.fromAssetId(2275207),KTe[2275207]=i);let o=await i;return ws.fromUrl(o,e)}var ZTe=tCt;async function iCt(e){let t=await ws.fromIonAssetId(96188,e);e=y(e,y.EMPTY_OBJECT);let n=e.style;if(!l(n)){let i=y(e.defaultColor,z.WHITE).toCssColorString();n=new OS({color:`Boolean(\${feature['cesium#color']}) ? color(\${feature['cesium#color']}) : ${i}`})}return t.style=n,t}var $Te=iCt;function oCt(e){e=y(e,y.EMPTY_OBJECT);let t=[],n=e.geometry;(!l(n.attributes)||!l(n.primitiveType))&&(n=n.constructor.createGeometry(n));let i=n.attributes,o=F.clone(y(e.modelMatrix,F.IDENTITY)),r=y(e.length,1e4);if(l(i.normal)&&t.push(new wt({geometry:Bn.createLineSegmentsForVectors(n,"normal",r),attributes:{color:new Wt(1,0,0,1)},modelMatrix:o})),l(i.tangent)&&t.push(new wt({geometry:Bn.createLineSegmentsForVectors(n,"tangent",r),attributes:{color:new Wt(0,1,0,1)},modelMatrix:o})),l(i.bitangent)&&t.push(new wt({geometry:Bn.createLineSegmentsForVectors(n,"bitangent",r),attributes:{color:new Wt(0,0,1,1)},modelMatrix:o})),t.length>0)return new On({asynchronous:!1,geometryInstances:t,appearance:new un({flat:!0,translucent:!1})})}var QTe=oCt;function RP(e){e=y(e,y.EMPTY_OBJECT);let t=e.attributeName,n=e.perInstanceAttribute;l(n)||(n=!1);let i=y(e.glslDatatype,"vec3"),o=`v_${t}`,r;if(t==="normal"||t==="tangent"||t==="bitangent")r=`vec4 getColor() { return vec4((${o} + vec3(1.0)) * 0.5, 1.0); } +`;else switch(t==="st"&&(i="vec2"),i){case"float":r=`vec4 getColor() { return vec4(vec3(${o}), 1.0); } +`;break;case"vec2":r=`vec4 getColor() { return vec4(${o}, 0.0, 1.0); } +`;break;case"vec3":r=`vec4 getColor() { return vec4(${o}, 1.0); } +`;break;case"vec4":r=`vec4 getColor() { return ${o}; } +`;break}let s=`in vec3 position3DHigh; +in vec3 position3DLow; +in float batchId; +${n?"":`in ${i} ${t}; +`}out ${i} ${o}; +void main() { - return vec2(p.x * direction.x - p.y * direction.y, p.x * direction.y + p.y * direction.x); -} - -vec4 addBurst(vec2 position, vec2 direction, float lengthScalar) +vec4 p = czm_translateRelativeToEye(position3DHigh, position3DLow); +${n?`${o} = czm_batchTable_${t}(batchId); +`:`${o} = ${t}; +`}gl_Position = czm_modelViewProjectionRelativeToEye * p; +}`,a=`in ${i} ${o}; +${r} +void main() { - vec2 rotatedPosition = rotate(position, direction) * vec2(25.0, 0.75); - float radius = length(rotatedPosition) * lengthScalar; - float burst = 1.0 - smoothstep(0.0, 0.55, radius); - return vec4(burst); -} +out_FragColor = getColor(); +}`;this.material=void 0,this.translucent=y(e.translucent,!1),this._vertexShaderSource=y(e.vertexShaderSource,s),this._fragmentShaderSource=y(e.fragmentShaderSource,a),this._renderState=oo.getDefaultRenderState(!1,!1,e.renderState),this._closed=y(e.closed,!1),this._attributeName=t,this._glslDatatype=i}Object.defineProperties(RP.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},attributeName:{get:function(){return this._attributeName}},glslDatatype:{get:function(){return this._glslDatatype}}});RP.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;RP.prototype.isTranslucent=oo.prototype.isTranslucent;RP.prototype.getRenderState=oo.prototype.getRenderState;var JTe=RP;function a8(e){e=y(e,y.EMPTY_OBJECT),this.length=y(e.length,1e7),this._length=void 0,this.width=y(e.width,2),this._width=void 0,this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._modelMatrix=new F,this.id=e.id,this._id=void 0,this._primitive=void 0}a8.prototype.update=function(e){if(this.show){if(!l(this._primitive)||!F.equals(this._modelMatrix,this.modelMatrix)||this._length!==this.length||this._width!==this.width||this._id!==this.id){this._modelMatrix=F.clone(this.modelMatrix,this._modelMatrix),this._length=this.length,this._width=this.width,this._id=this.id,l(this._primitive)&&this._primitive.destroy(),this.modelMatrix[12]===0&&this.modelMatrix[13]===0&&this.modelMatrix[14]===0&&(this.modelMatrix[14]=.01);let t=new wt({geometry:new vy({positions:[h.ZERO,h.UNIT_X],width:this.width,vertexFormat:rs.VERTEX_FORMAT,colors:[z.RED,z.RED],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),n=new wt({geometry:new vy({positions:[h.ZERO,h.UNIT_Y],width:this.width,vertexFormat:rs.VERTEX_FORMAT,colors:[z.GREEN,z.GREEN],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this}),i=new wt({geometry:new vy({positions:[h.ZERO,h.UNIT_Z],width:this.width,vertexFormat:rs.VERTEX_FORMAT,colors:[z.BLUE,z.BLUE],arcType:nn.NONE}),modelMatrix:F.multiplyByUniformScale(this.modelMatrix,this.length,new F),id:this.id,pickPrimitive:this});this._primitive=new On({geometryInstances:[t,n,i],appearance:new rs,asynchronous:!1})}this._primitive.update(e)}};a8.prototype.isDestroyed=function(){return!1};a8.prototype.destroy=function(){return this._primitive=this._primitive&&this._primitive.destroy(),ue(this)};var c8=a8;function rCt(e){this.direction=h.clone(e.direction),this.color=z.clone(y(e.color,z.WHITE)),this.intensity=y(e.intensity,1)}var eCe=rCt;var l8=`in vec3 v_positionMC; +in vec3 v_positionEC; +in vec2 v_st; void main() { - float lengthScalar = 2.0 / sqrt(2.0); - vec2 position = v_textureCoordinates - vec2(0.5); - float radius = length(position) * lengthScalar; - float surface = step(radius, u_radiusTS); - vec4 color = vec4(vec2(1.0), surface + 0.2, surface); - - float glow = 1.0 - smoothstep(0.0, 0.55, radius); - color.ba += mix(vec2(0.0), vec2(1.0), glow) * 0.75; - - vec4 burst = vec4(0.0); + czm_materialInput materialInput; - // The following loop has been manually unrolled for speed, to - // avoid sin() and cos(). - // - //for (float i = 0.4; i < 3.2; i += 1.047) { - // vec2 direction = vec2(sin(i), cos(i)); - // burst += 0.4 * addBurst(position, direction, lengthScalar); - // - // direction = vec2(sin(i - 0.08), cos(i - 0.08)); - // burst += 0.3 * addBurst(position, direction, lengthScalar); - //} + vec3 normalEC = normalize(czm_normal3D * czm_geodeticSurfaceNormal(v_positionMC, vec3(0.0), vec3(1.0))); +#ifdef FACE_FORWARD + normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC); +#endif - burst += 0.4 * addBurst(position, vec2(0.38942, 0.92106), lengthScalar); // angle == 0.4 - burst += 0.4 * addBurst(position, vec2(0.99235, 0.12348), lengthScalar); // angle == 0.4 + 1.047 - burst += 0.4 * addBurst(position, vec2(0.60327, -0.79754), lengthScalar); // angle == 0.4 + 1.047 * 2.0 + materialInput.s = v_st.s; + materialInput.st = v_st; + materialInput.str = vec3(v_st, 0.0); - burst += 0.3 * addBurst(position, vec2(0.31457, 0.94924), lengthScalar); // angle == 0.4 - 0.08 - burst += 0.3 * addBurst(position, vec2(0.97931, 0.20239), lengthScalar); // angle == 0.4 + 1.047 - 0.08 - burst += 0.3 * addBurst(position, vec2(0.66507, -0.74678), lengthScalar); // angle == 0.4 + 1.047 * 2.0 - 0.08 + // Convert tangent space material normal to eye space + materialInput.normalEC = normalEC; + materialInput.tangentToEyeMatrix = czm_eastNorthUpToEyeCoordinates(v_positionMC, materialInput.normalEC); - // End of manual loop unrolling. + // Convert view vector to world space + vec3 positionToEyeEC = -v_positionEC; + materialInput.positionToEyeEC = positionToEyeEC; - color += clamp(burst, vec4(0.0), vec4(1.0)) * 0.15; + czm_material material = czm_getMaterial(materialInput); - out_FragColor = clamp(color, vec4(0.0), vec4(1.0)); +#ifdef FLAT + out_FragColor = vec4(material.diffuse + material.emission, material.alpha); +#else + out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC); +#endif } -`;var i8=`in vec2 direction; - -uniform float u_size; - -out vec2 v_textureCoordinates; +`;var u8=`in vec3 position3DHigh; +in vec3 position3DLow; +in vec2 st; +in float batchId; -void main() -{ - vec4 position; - if (czm_morphTime == 1.0) - { - position = vec4(czm_sunPositionWC, 1.0); - } - else - { - position = vec4(czm_sunPositionColumbusView.zxy, 1.0); - } - - vec4 positionEC = czm_view * position; - vec4 positionWC = czm_eyeToWindowCoordinates(positionEC); - - vec2 halfSize = vec2(u_size * 0.5); - halfSize *= ((direction * 2.0) - 1.0); - - gl_Position = czm_viewportOrthographic * vec4(positionWC.xy + halfSize, -positionWC.z, 1.0); - - v_textureCoordinates = direction; -} -`;function wP(){this.show=!0,this._drawCommand=new et({primitiveType:Fe.TRIANGLES,boundingVolume:new ae,owner:this}),this._commands={drawCommand:this._drawCommand,computeCommand:void 0},this._boundingVolume=new ae,this._boundingVolume2D=new ae,this._texture=void 0,this._drawingBufferWidth=void 0,this._drawingBufferHeight=void 0,this._radiusTS=void 0,this._size=void 0,this.glowFactor=1,this._glowFactorDirty=!1,this._useHdr=void 0;let e=this;this._uniformMap={u_texture:function(){return e._texture},u_size:function(){return e._size}}}Object.defineProperties(wP.prototype,{glowFactor:{get:function(){return this._glowFactor},set:function(e){e=Math.max(e,0),this._glowFactor=e,this._glowFactorDirty=!0}}});var Vbt=new U,Ubt=new U,zbt=new oe,SP=new oe;wP.prototype.update=function(e,t,n){if(!this.show)return;let i=e.mode;if(i===ne.SCENE2D||i===ne.MORPHING||!e.passes.render)return;let o=e.context,r=t.viewport.width,s=t.viewport.height;if(!l(this._texture)||r!==this._drawingBufferWidth||s!==this._drawingBufferHeight||this._glowFactorDirty||n!==this._useHdr){this._texture=this._texture&&this._texture.destroy(),this._drawingBufferWidth=r,this._drawingBufferHeight=s,this._glowFactorDirty=!1,this._useHdr=n;let S=Math.max(r,s);S=Math.pow(2,Math.ceil(Math.log(S)/Math.log(2))-2),S=Math.max(1,S);let w=n?o.halfFloatingPointTexture?nt.HALF_FLOAT:nt.FLOAT:nt.UNSIGNED_BYTE;this._texture=new Mt({context:o,width:S,height:S,pixelFormat:ct.RGBA,pixelDatatype:w}),this._glowLengthTS=this._glowFactor*5,this._radiusTS=1/(1+2*this._glowLengthTS)*.5;let D=this,O={u_radiusTS:function(){return D._radiusTS}};this._commands.computeCommand=new mh({fragmentShaderSource:n8,outputTexture:this._texture,uniformMap:O,persists:!1,owner:this,postExecute:function(){D._commands.computeCommand=void 0}})}let a=this._drawCommand;if(!l(a.vertexArray)){let S={direction:0},w=new Uint8Array(4*2);w[0]=0,w[1]=0,w[2]=255,w[3]=0,w[4]=255,w[5]=255,w[6]=0,w[7]=255;let D=yt.createVertexBuffer({context:o,typedArray:w,usage:Ve.STATIC_DRAW}),O=[{index:S.direction,vertexBuffer:D,componentsPerAttribute:2,normalize:!0,componentDatatype:X.UNSIGNED_BYTE}],R=yt.createIndexBuffer({context:o,typedArray:new Uint16Array([0,1,2,0,2,3]),usage:Ve.STATIC_DRAW,indexDatatype:Be.UNSIGNED_SHORT});a.vertexArray=new di({context:o,attributes:O,indexBuffer:R}),a.shaderProgram=sn.fromCache({context:o,vertexShaderSource:i8,fragmentShaderSource:t8,attributeLocations:S}),a.renderState=ze.fromCache({blending:fn.ALPHA_BLEND}),a.uniformMap=this._uniformMap}let c=o.uniformState.sunPositionWC,u=o.uniformState.sunPositionColumbusView,f=this._boundingVolume,d=this._boundingVolume2D;h.clone(c,f.center),d.center.x=u.z,d.center.y=u.x,d.center.z=u.y,f.radius=P.SOLAR_RADIUS+P.SOLAR_RADIUS*this._glowLengthTS,d.radius=f.radius,i===ne.SCENE3D?ae.clone(f,a.boundingVolume):i===ne.COLUMBUS_VIEW&&ae.clone(d,a.boundingVolume);let p=ki.computeActualEllipsoidPosition(e,c,SP),g=h.magnitude(h.subtract(p,e.camera.position,SP)),m=o.uniformState.projection,x=zbt;x.x=0,x.y=0,x.z=-g,x.w=1;let b=F.multiplyByVector(m,x,SP),T=ki.clipToGLWindowCoordinates(t.viewport,b,Vbt);x.x=P.SOLAR_RADIUS;let C=F.multiplyByVector(m,x,SP),A=ki.clipToGLWindowCoordinates(t.viewport,C,Ubt);return this._size=U.magnitude(U.subtract(A,T,SP)),this._size=2*this._size*(1+2*this._glowLengthTS),this._size=Math.ceil(this._size),this._commands};wP.prototype.isDestroyed=function(){return!1};wP.prototype.destroy=function(){let e=this._drawCommand;return e.vertexArray=e.vertexArray&&e.vertexArray.destroy(),e.shaderProgram=e.shaderProgram&&e.shaderProgram.destroy(),this._texture=this._texture&&this._texture.destroy(),ue(this)};var o8=wP;var r8={};r8.clipTriangleAtAxisAlignedThreshold=function(e,t,n,i,o,r){l(r)?r.length=0:r=[];let s,a,c;t?(s=n<e,a=i<e,c=o<e):(s=n>e,a=i>e,c=o>e);let u=s+a+c,f,d,p,g,m,x;return u===1?s?(f=(e-n)/(i-n),d=(e-n)/(o-n),r.push(1),r.push(2),d!==1&&(r.push(-1),r.push(0),r.push(2),r.push(d)),f!==1&&(r.push(-1),r.push(0),r.push(1),r.push(f))):a?(p=(e-i)/(o-i),g=(e-i)/(n-i),r.push(2),r.push(0),g!==1&&(r.push(-1),r.push(1),r.push(0),r.push(g)),p!==1&&(r.push(-1),r.push(1),r.push(2),r.push(p))):c&&(m=(e-o)/(n-o),x=(e-o)/(i-o),r.push(0),r.push(1),x!==1&&(r.push(-1),r.push(2),r.push(1),r.push(x)),m!==1&&(r.push(-1),r.push(2),r.push(0),r.push(m))):u===2?!s&&n!==e?(g=(e-i)/(n-i),m=(e-o)/(n-o),r.push(0),r.push(-1),r.push(1),r.push(0),r.push(g),r.push(-1),r.push(2),r.push(0),r.push(m)):!a&&i!==e?(x=(e-o)/(i-o),f=(e-n)/(i-n),r.push(1),r.push(-1),r.push(2),r.push(1),r.push(x),r.push(-1),r.push(0),r.push(1),r.push(f)):!c&&o!==e&&(d=(e-n)/(o-n),p=(e-i)/(o-i),r.push(2),r.push(-1),r.push(0),r.push(2),r.push(d),r.push(-1),r.push(1),r.push(2),r.push(p)):u!==3&&(r.push(0),r.push(1),r.push(2)),r};r8.computeBarycentricCoordinates=function(e,t,n,i,o,r,s,a,c){let u=n-s,f=s-o,d=r-a,p=i-a,g=1/(d*u+f*p),m=t-a,x=e-s,b=(d*x+f*m)*g,T=(-p*x+u*m)*g,C=1-b-T;return l(c)?(c.x=b,c.y=T,c.z=C,c):new h(b,T,C)};r8.computeLineSegmentLineSegmentIntersection=function(e,t,n,i,o,r,s,a,c){let u=(s-o)*(t-r)-(a-r)*(e-o),f=(n-e)*(t-r)-(i-t)*(e-o),d=(a-r)*(n-e)-(s-o)*(i-t);if(d===0)return;let p=u/d,g=f/d;if(p>=0&&p<=1&&g>=0&&g<=1)return l(c)||(c=new U),c.x=e+p*(n-e),c.y=t+p*(i-t),c};var s0=r8;function a0(e){this._quantizedVertices=e.quantizedVertices,this._encodedNormals=e.encodedNormals,this._indices=e.indices,this._minimumHeight=e.minimumHeight,this._maximumHeight=e.maximumHeight,this._boundingSphere=e.boundingSphere,this._orientedBoundingBox=e.orientedBoundingBox,this._horizonOcclusionPoint=e.horizonOcclusionPoint,this._credits=e.credits;let t=this._quantizedVertices.length/3,n=this._uValues=this._quantizedVertices.subarray(0,t),i=this._vValues=this._quantizedVertices.subarray(t,2*t);this._heightValues=this._quantizedVertices.subarray(2*t,3*t);function o(s,a){return i[s]-i[a]}function r(s,a){return n[s]-n[a]}this._westIndices=a8(e.westIndices,o,t),this._southIndices=a8(e.southIndices,r,t),this._eastIndices=a8(e.eastIndices,o,t),this._northIndices=a8(e.northIndices,r,t),this._westSkirtHeight=e.westSkirtHeight,this._southSkirtHeight=e.southSkirtHeight,this._eastSkirtHeight=e.eastSkirtHeight,this._northSkirtHeight=e.northSkirtHeight,this._childTileMask=y(e.childTileMask,15),this._createdByUpsampling=y(e.createdByUpsampling,!1),this._waterMask=e.waterMask,this._mesh=void 0}Object.defineProperties(a0.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){return this._waterMask}},childTileMask:{get:function(){return this._childTileMask}},canUpsample:{get:function(){return l(this._mesh)}}});var s8=[];function a8(e,t,n){s8.length=e.length;let i=!1;for(let o=0,r=e.length;o<r;++o)s8[o]=e[o],i=i||o>0&&t(e[o-1],e[o])>0;return i?(s8.sort(t),Be.createTypedArray(n,s8)):e}var dTe="createVerticesFromQuantizedTerrainMesh",Hbt=new _i(dTe),Gbt=new _i(dTe,Mm.maximumAsynchronousTasks);a0.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid,u=t.tileXYToRectangle(n,i,o),d=(a?Gbt:Hbt).scheduleTask({minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,quantizedVertices:this._quantizedVertices,octEncodedNormals:this._encodedNormals,includeWebMercatorT:!0,indices:this._indices,westIndices:this._westIndices,southIndices:this._southIndices,eastIndices:this._eastIndices,northIndices:this._northIndices,westSkirtHeight:this._westSkirtHeight,southSkirtHeight:this._southSkirtHeight,eastSkirtHeight:this._eastSkirtHeight,northSkirtHeight:this._northSkirtHeight,rectangle:u,relativeToCenter:this._boundingSphere.center,ellipsoid:c,exaggeration:r,exaggerationRelativeHeight:s});if(!l(d))return;let p=this;return Promise.resolve(d).then(function(g){let m=p._quantizedVertices.length/3,x=m+p._westIndices.length+p._southIndices.length+p._eastIndices.length+p._northIndices.length,b=Be.createTypedArray(x,g.indices),T=new Float32Array(g.vertices),C=g.center,A=g.minimumHeight,S=g.maximumHeight,w=p._boundingSphere,D=p._orientedBoundingBox,O=y(h.clone(g.occludeePointInScaledSpace),p._horizonOcclusionPoint),R=g.vertexStride,M=qc.clone(g.encoding);return p._mesh=new nh(C,T,b,g.indexCountWithoutSkirts,m,A,S,w,O,R,D,M,g.westIndicesSouthToNorth,g.southIndicesEastToWest,g.eastIndicesNorthToSouth,g.northIndicesWestToEast),p._quantizedVertices=void 0,p._encodedNormals=void 0,p._indices=void 0,p._uValues=void 0,p._vValues=void 0,p._heightValues=void 0,p._westIndices=void 0,p._southIndices=void 0,p._eastIndices=void 0,p._northIndices=void 0,p._mesh})};var Wbt=new _i("upsampleQuantizedTerrainMesh",Mm.maximumAsynchronousTasks);a0.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=Wbt.scheduleTask({vertices:a.vertices,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=Math.min(this._westSkirtHeight,this._eastSkirtHeight);g=Math.min(g,this._southSkirtHeight),g=Math.min(g,this._northSkirtHeight);let m=c?g*.5:this._westSkirtHeight,x=u?g*.5:this._southSkirtHeight,b=c?this._eastSkirtHeight:g*.5,T=u?this._northSkirtHeight:g*.5,C=this._credits;return Promise.resolve(p).then(function(A){let S=new Uint16Array(A.vertices),w=Be.createTypedArray(S.length/3,A.indices),D;return l(A.encodedNormals)&&(D=new Uint8Array(A.encodedNormals)),new a0({quantizedVertices:S,indices:w,encodedNormals:D,minimumHeight:A.minimumHeight,maximumHeight:A.maximumHeight,boundingSphere:ae.clone(A.boundingSphere),orientedBoundingBox:In.clone(A.orientedBoundingBox),horizonOcclusionPoint:h.clone(A.horizonOcclusionPoint),westIndices:A.westIndices,southIndices:A.southIndices,eastIndices:A.eastIndices,northIndices:A.northIndices,westSkirtHeight:m,southSkirtHeight:x,eastSkirtHeight:b,northSkirtHeight:T,childTileMask:0,credits:C,createdByUpsampling:!0})})};var WK=32767,hTe=new h;a0.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1);i*=WK;let o=P.clamp((n-e.south)/e.height,0,1);return o*=WK,l(this._mesh)?Xbt(this,i,o):Kbt(this,i,o)};function mTe(e,t,n,i,o,r,s,a){let c=Math.min(n,o,s),u=Math.max(n,o,s),f=Math.min(i,r,a),d=Math.max(i,r,a);return e>=c&&e<=u&&t>=f&&t<=d}var jbt=new U,qbt=new U,Ybt=new U;function Xbt(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,jbt),g=r.decodeTextureCoordinates(o,f,qbt),m=r.decodeTextureCoordinates(o,d,Ybt);if(mTe(t,n,p.x,p.y,g.x,g.y,m.x,m.y)){let x=s0.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,hTe);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),C=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*C}}}}function Kbt(e,t,n){let i=e._uValues,o=e._vValues,r=e._heightValues,s=e._indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=i[u],g=i[f],m=i[d],x=o[u],b=o[f],T=o[d];if(mTe(t,n,p,x,g,b,m,T)){let C=s0.computeBarycentricCoordinates(t,n,p,x,g,b,m,T,hTe);if(C.x>=-1e-15&&C.y>=-1e-15&&C.z>=-1e-15){let A=C.x*r[u]+C.y*r[f]+C.z*r[d];return P.lerp(e._minimumHeight,e._maximumHeight,A/WK)}}}}a0.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};a0.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var gS=a0;function bS(e,t){this._tilingScheme=e,this._maximumLevel=t,this._rootNodes=[]}var Bb=new se;function $bt(e,t,n,i){let o=i.length;for(let r=0;r<o;++r){let s=i[r];if(s.x===t&&s.y===n&&s.level===e)return!0}return!1}bS.prototype.addAvailableTileRange=function(e,t,n,i,o){let r=this._tilingScheme,s=this._rootNodes;if(e===0)for(let p=n;p<=o;++p)for(let g=t;g<=i;++g)$bt(e,g,p,s)||s.push(new yS(r,void 0,0,g,p));r.tileXYToRectangle(t,n,e,Bb);let a=Bb.west,c=Bb.north;r.tileXYToRectangle(i,o,e,Bb);let u=Bb.east,f=Bb.south,d=new tTt(e,a,f,u,c);for(let p=0;p<s.length;++p){let g=s[p];jK(g.extent,d)&&nTt(this._maximumLevel,g,d)}};bS.prototype.computeMaximumLevelAtPosition=function(e){let t;for(let n=0;n<this._rootNodes.length;++n){let i=this._rootNodes[n];if(xS(i.extent,e)){t=i;break}}return l(t)?vP(void 0,t,e):-1};var Zbt=[],Qbt=[],Jbt=new se,eTt=new se;bS.prototype.computeBestAvailableLevelOverRectangle=function(e){let t=Zbt;t.length=0,e.east<e.west?(t.push(se.fromRadians(-Math.PI,e.south,e.east,e.north,Jbt)),t.push(se.fromRadians(e.west,e.south,Math.PI,e.north,eTt))):t.push(e);let n=Qbt;n.length=0;let i;for(i=0;i<this._rootNodes.length;++i)DP(n,this._rootNodes[i],t);for(i=n.length-1;i>=0;--i)if(l(n[i])&&n[i].length===0)return i;return 0};var pTe=new fe;bS.prototype.isTileAvailable=function(e,t,n){let i=this._tilingScheme.tileXYToRectangle(t,n,e,Bb);return se.center(i,pTe),this.computeMaximumLevelAtPosition(pTe)>=e};bS.prototype.computeChildMaskForTile=function(e,t,n){let i=e+1;if(i>=this._maximumLevel)return 0;let o=0;return o|=this.isTileAvailable(i,2*t,2*n+1)?1:0,o|=this.isTileAvailable(i,2*t+1,2*n+1)?2:0,o|=this.isTileAvailable(i,2*t,2*n)?4:0,o|=this.isTileAvailable(i,2*t+1,2*n)?8:0,o};function yS(e,t,n,i,o){this.tilingScheme=e,this.parent=t,this.level=n,this.x=i,this.y=o,this.extent=e.tileXYToRectangle(i,o,n),this.rectangles=[],this._sw=void 0,this._se=void 0,this._nw=void 0,this._ne=void 0}Object.defineProperties(yS.prototype,{nw:{get:function(){return this._nw||(this._nw=new yS(this.tilingScheme,this,this.level+1,this.x*2,this.y*2)),this._nw}},ne:{get:function(){return this._ne||(this._ne=new yS(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2)),this._ne}},sw:{get:function(){return this._sw||(this._sw=new yS(this.tilingScheme,this,this.level+1,this.x*2,this.y*2+1)),this._sw}},se:{get:function(){return this._se||(this._se=new yS(this.tilingScheme,this,this.level+1,this.x*2+1,this.y*2+1)),this._se}}});function tTt(e,t,n,i,o){this.level=e,this.west=t,this.south=n,this.east=i,this.north=o}function jK(e,t){let n=Math.max(e.west,t.west),i=Math.max(e.south,t.south),o=Math.min(e.east,t.east),r=Math.min(e.north,t.north);return i<r&&n<o}function nTt(e,t,n){for(;t.level<e;)if(c8(t.nw.extent,n))t=t.nw;else if(c8(t.ne.extent,n))t=t.ne;else if(c8(t.sw.extent,n))t=t.sw;else if(c8(t.se.extent,n))t=t.se;else break;if(t.rectangles.length===0||t.rectangles[t.rectangles.length-1].level<=n.level)t.rectangles.push(n);else{let i=Po(t.rectangles,n.level,iTt);i<0&&(i=~i),t.rectangles.splice(i,0,n)}}function iTt(e,t){return e.level-t}function c8(e,t){return t.west>=e.west&&t.east<=e.east&&t.south>=e.south&&t.north<=e.north}function xS(e,t){return t.longitude>=e.west&&t.longitude<=e.east&&t.latitude>=e.south&&t.latitude<=e.north}function vP(e,t,n){let i=0,o=!1;for(;!o;){let r=t._nw&&xS(t._nw.extent,n),s=t._ne&&xS(t._ne.extent,n),a=t._sw&&xS(t._sw.extent,n),c=t._se&&xS(t._se.extent,n);if(r+s+a+c>1){r&&(i=Math.max(i,vP(t,t._nw,n))),s&&(i=Math.max(i,vP(t,t._ne,n))),a&&(i=Math.max(i,vP(t,t._sw,n))),c&&(i=Math.max(i,vP(t,t._se,n)));break}else r?t=t._nw:s?t=t._ne:a?t=t._sw:c?t=t._se:o=!0}for(;t!==e;){let r=t.rectangles;for(let s=r.length-1;s>=0&&r[s].level>i;--s){let a=r[s];xS(a,n)&&(i=a.level)}t=t.parent}return i}function DP(e,t,n){if(!t)return;let i,o=!1;for(i=0;i<n.length;++i)o=o||jK(t.extent,n[i]);if(!o)return;let r=t.rectangles;for(i=0;i<r.length;++i){let s=r[i];e[s.level]||(e[s.level]=n),e[s.level]=oTt(e[s.level],s)}DP(e,t._nw,n),DP(e,t._ne,n),DP(e,t._sw,n),DP(e,t._se,n)}function oTt(e,t){let n=[];for(let i=0;i<e.length;++i){let o=e[i];jK(o,t)?(o.west<t.west&&n.push(new se(o.west,o.south,t.west,o.north)),o.east>t.east&&n.push(new se(t.east,o.south,o.east,o.north)),o.south<t.south&&n.push(new se(Math.max(t.west,o.west),o.south,Math.min(t.east,o.east),t.south)),o.north>t.north&&n.push(new se(Math.max(t.west,o.west),t.north,Math.min(t.east,o.east),o.north))):n.push(o)}return n}var Gm=bS;function rTt(e){this.resource=e.resource,this.version=e.version,this.isHeightmap=e.isHeightmap,this.tileUrlTemplates=e.tileUrlTemplates,this.availability=e.availability,this.hasVertexNormals=e.hasVertexNormals,this.hasWaterMask=e.hasWaterMask,this.hasMetadata=e.hasMetadata,this.availabilityLevels=e.availabilityLevels,this.availabilityTilesLoaded=e.availabilityTilesLoaded,this.littleEndianExtensionSize=e.littleEndianExtensionSize,this.availabilityPromiseCache={}}function gTe(e){this.requestVertexNormals=y(e.requestVertexNormals,!1),this.requestWaterMask=y(e.requestWaterMask,!1),this.requestMetadata=y(e.requestMetadata,!0),this.ellipsoid=y(e.ellipsoid,ee.default),this.heightmapWidth=65,this.heightmapStructure=void 0,this.hasWaterMask=!1,this.hasMetadata=!1,this.hasVertexNormals=!1,this.scheme=void 0,this.lastResource=void 0,this.layerJsonResource=void 0,this.previousError=void 0,this.availability=void 0,this.tilingScheme=void 0,this.levelZeroMaximumGeometricError=void 0,this.heightmapStructure=void 0,this.layers=[],this.attribution="",this.overallAvailability=[],this.overallMaxZoom=0,this.tileCredits=[]}gTe.prototype.build=function(e){e._heightmapWidth=this.heightmapWidth,e._scheme=this.scheme;let t=l(this.lastResource.credits)?this.lastResource.credits:[];e._tileCredits=t.concat(this.tileCredits),e._availability=this.availability,e._tilingScheme=this.tilingScheme,e._requestWaterMask=this.requestWaterMask,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._heightmapStructure=this.heightmapStructure,e._layers=this.layers,e._hasWaterMask=this.hasWaterMask,e._hasVertexNormals=this.hasVertexNormals,e._hasMetadata=this.hasMetadata};async function yTe(e,t,n){if(!t.format){let x="The tile format is not specified in the layer.json file.";throw e.previousError=vo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}if(!t.tiles||t.tiles.length===0){let x="The layer.json file does not specify any tile URL templates.";throw e.previousError=vo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}let i=!1,o=!1,r=!1,s=!0,a=!1;if(t.format==="heightmap-1.0")a=!0,l(e.heightmapStructure)||(e.heightmapStructure={heightScale:1/5,heightOffset:-1e3,elementsPerHeight:1,stride:1,elementMultiplier:256,isBigEndian:!1,lowestEncodedHeight:0,highestEncodedHeight:256*256-1}),o=!0,e.requestWaterMask=!0;else if(t.format.indexOf("quantized-mesh-1.")!==0){let x=`The tile format "${t.format}" is invalid or not supported.`;throw e.previousError=vo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}let c=t.tiles,u=t.maxzoom;if(e.overallMaxZoom=Math.max(e.overallMaxZoom,u),!t.projection||t.projection==="EPSG:4326")e.tilingScheme=new qi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else if(t.projection==="EPSG:3857")e.tilingScheme=new cs({numberOfLevelZeroTilesX:1,numberOfLevelZeroTilesY:1,ellipsoid:e.ellipsoid});else{let x=`The projection "${t.projection}" is invalid or not supported.`;throw e.previousError=vo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}if(e.levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.heightmapWidth,e.tilingScheme.getNumberOfXTilesAtLevel(0)),!t.scheme||t.scheme==="tms"||t.scheme==="slippyMap")e.scheme=t.scheme;else{let x=`The scheme "${t.scheme}" is invalid or not supported.`;throw e.previousError=vo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,x),new ce(x)}let f;l(t.extensions)&&t.extensions.indexOf("octvertexnormals")!==-1?i=!0:l(t.extensions)&&t.extensions.indexOf("vertexnormals")!==-1&&(i=!0,s=!1),l(t.extensions)&&t.extensions.indexOf("watermask")!==-1&&(o=!0),l(t.extensions)&&t.extensions.indexOf("metadata")!==-1&&(r=!0);let d=t.metadataAvailability,p=t.available,g;if(l(p)&&!l(d)){g=new Gm(e.tilingScheme,p.length);for(let x=0;x<p.length;++x){let b=p[x],T=e.tilingScheme.getNumberOfYTilesAtLevel(x);l(e.overallAvailability[x])||(e.overallAvailability[x]=[]);for(let C=0;C<b.length;++C){let A=b[C],S=T-A.endY-1,w=T-A.startY-1;e.overallAvailability[x].push([A.startX,S,A.endX,w]),g.addAvailableTileRange(x,A.startX,S,A.endX,w)}}}else l(d)&&(f=new Gm(e.tilingScheme,u),g=new Gm(e.tilingScheme,u),e.overallAvailability[0]=[[0,0,1,0]],g.addAvailableTileRange(0,0,0,1,0));e.hasWaterMask=e.hasWaterMask||o,e.hasVertexNormals=e.hasVertexNormals||i,e.hasMetadata=e.hasMetadata||r,l(t.attribution)&&(e.attribution.length>0&&(e.attribution+=" "),e.attribution+=t.attribution),e.layers.push(new rTt({resource:e.lastResource,version:t.version,isHeightmap:a,tileUrlTemplates:c,availability:g,hasVertexNormals:i,hasWaterMask:o,hasMetadata:r,availabilityLevels:d,availabilityTilesLoaded:f,littleEndianExtensionSize:s}));let m=t.parentUrl;return l(m)?l(g)?(e.lastResource=e.lastResource.getDerivedResource({url:m}),e.lastResource.appendForwardSlash(),e.layerJsonResource=e.lastResource.getDerivedResource({url:"layer.json"}),await XK(e),!0):(console.log("A layer.json can't have a parentUrl if it does't have an available array."),!0):!0}function sTt(e,t,n){let i=`An error occurred while accessing ${e.layerJsonResource.url}.`;if(l(t)&&(i+=` -${t.message}`),e.previousError=vo.reportError(e.previousError,n,l(n)?n._errorEvent:void 0,i),e.previousError.retry)return XK(e,n);throw new ce(i)}async function aTt(e,t,n){await yTe(e,t,n);let i=e.overallAvailability.length;if(i>0){let o=e.availability=new Gm(e.tilingScheme,e.overallMaxZoom);for(let r=0;r<i;++r){let s=e.overallAvailability[r];for(let a=0;a<s.length;++a){let c=s[a];o.addAvailableTileRange(r,c[0],c[1],c[2],c[3])}}}if(e.attribution.length>0){let o=new vt(e.attribution);e.tileCredits.push(o)}return!0}async function XK(e,t){try{let n=await e.layerJsonResource.fetchJson();return aTt(e,n,t)}catch(n){return l(n)&&n.statusCode===404?(await yTe(e,{tilejson:"2.1.0",format:"heightmap-1.0",version:"1.0.0",scheme:"tms",tiles:["{z}/{x}/{y}.terrain?v={version}"]},t),!0):sTt(e,n,t)}}function ch(e){e=y(e,y.EMPTY_OBJECT),this._heightmapWidth=void 0,this._heightmapStructure=void 0,this._hasWaterMask=!1,this._hasVertexNormals=!1,this._hasMetadata=!1,this._scheme=void 0,this._ellipsoid=e.ellipsoid,this._requestVertexNormals=y(e.requestVertexNormals,!1),this._requestWaterMask=y(e.requestWaterMask,!1),this._requestMetadata=y(e.requestMetadata,!0),this._errorEvent=new me;let t=e.credit;typeof t=="string"&&(t=new vt(t)),this._credit=t,this._availability=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._layers=void 0,this._tileCredits=void 0}var qK={OCT_VERTEX_NORMALS:1,WATER_MASK:2,METADATA:4};function _Te(e){return!l(e)||e.length===0?{Accept:"application/vnd.quantized-mesh,application/octet-stream;q=0.9,*/*;q=0.01"}:{Accept:`application/vnd.quantized-mesh;extensions=${e.join("-")},application/octet-stream;q=0.9,*/*;q=0.01`}}function cTt(e,t,n,i,o){let r=new Uint16Array(t,0,e._heightmapWidth*e._heightmapWidth);return new dc({buffer:r,childTileMask:new Uint8Array(t,r.byteLength,1)[0],waterMask:new Uint8Array(t,r.byteLength+1,t.byteLength-r.byteLength-1),width:e._heightmapWidth,height:e._heightmapWidth,structure:e._heightmapStructure,credits:e._tileCredits})}function lTt(e,t,n,i,o,r){let s=r.littleEndianExtensionSize,a=0,c=3,u=c+1,f=Float64Array.BYTES_PER_ELEMENT*c,d=Float64Array.BYTES_PER_ELEMENT*u,g=Uint16Array.BYTES_PER_ELEMENT*3,m=3,x=Uint16Array.BYTES_PER_ELEMENT,b=x*m,T=new DataView(t),C=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let A=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let S=T.getFloat32(a,!0);a+=Float32Array.BYTES_PER_ELEMENT;let w=new ae(new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0)),T.getFloat64(a+f,!0));a+=d;let D=new h(T.getFloat64(a,!0),T.getFloat64(a+8,!0),T.getFloat64(a+16,!0));a+=f;let O=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let R=new Uint16Array(t,a,O*3);a+=O*g,O>64*1024&&(x=Uint32Array.BYTES_PER_ELEMENT,b=x*m);let M=R.subarray(0,O),L=R.subarray(O,2*O),_=R.subarray(O*2,3*O);Fn.zigZagDeltaDecode(M,L,_),a%x!==0&&(a+=x-a%x);let E=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let v=Be.createTypedArrayFromArrayBuffer(O,t,a,E*m);a+=E*b;let I=0,N=v.length;for(let re=0;re<N;++re){let _e=v[re];v[re]=I-_e,_e===0&&++I}let B=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let z=Be.createTypedArrayFromArrayBuffer(O,t,a,B);a+=B*x;let V=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let G=Be.createTypedArrayFromArrayBuffer(O,t,a,V);a+=V*x;let k=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let Y=Be.createTypedArrayFromArrayBuffer(O,t,a,k);a+=k*x;let W=T.getUint32(a,!0);a+=Uint32Array.BYTES_PER_ELEMENT;let J=Be.createTypedArrayFromArrayBuffer(O,t,a,W);a+=W*x;let j,$;for(;a<T.byteLength;){let re=T.getUint8(a,!0);a+=Uint8Array.BYTES_PER_ELEMENT;let _e=T.getUint32(a,s);if(a+=Uint32Array.BYTES_PER_ELEMENT,re===qK.OCT_VERTEX_NORMALS&&e._requestVertexNormals)j=new Uint8Array(t,a,O*2);else if(re===qK.WATER_MASK&&e._requestWaterMask)$=new Uint8Array(t,a,_e);else if(re===qK.METADATA&&e._requestMetadata){let xe=T.getUint32(a,!0);if(xe>0){let we=Lo(new Uint8Array(t),a+Uint32Array.BYTES_PER_ELEMENT,xe).available;if(l(we))for(let Oe=0;Oe<we.length;++Oe){let Me=n+Oe+1,ht=we[Oe],it=e._tilingScheme.getNumberOfYTilesAtLevel(Me);for(let At=0;At<ht.length;++At){let Le=ht[At],ke=it-Le.endY-1,$e=it-Le.startY-1;e.availability.addAvailableTileRange(Me,Le.startX,ke,Le.endX,$e),r.availability.addAvailableTileRange(Me,Le.startX,ke,Le.endX,$e)}}}r.availabilityTilesLoaded.addAvailableTileRange(n,i,o,i,o)}a+=_e}let Q=e.getLevelMaximumGeometricError(n)*5,he=e._tilingScheme.tileXYToRectangle(i,o,n),ye=In.fromRectangle(he,A,S,e._tilingScheme.ellipsoid);return new gS({center:C,minimumHeight:A,maximumHeight:S,boundingSphere:w,orientedBoundingBox:ye,horizonOcclusionPoint:D,quantizedVertices:R,encodedNormals:j,indices:v,westIndices:z,southIndices:G,eastIndices:Y,northIndices:J,westSkirtHeight:Q,southSkirtHeight:Q,eastSkirtHeight:Q,northSkirtHeight:Q,childTileMask:e.availability.computeChildMaskForTile(n,i,o),waterMask:$,credits:e._tileCredits})}ch.prototype.requestTileGeometry=function(e,t,n,i){let o=this._layers,r,s=o.length,a=!1,c=Promise.resolve();if(s===1)r=o[0];else for(let u=0;u<s;++u){let f=o[u];if(!l(f.availability)||f.availability.isTileAvailable(n,e,t)){r=f;break}let d=KK(this,e,t,n,f,u===0);d.result&&(a=!0,c=c.then(()=>d.promise))}return!l(r)&&a?c.then(()=>new Promise(u=>{setTimeout(()=>{let f=this.requestTileGeometry(e,t,n,i);u(f)},0)})):xTe(this,e,t,n,r,i)};function xTe(e,t,n,i,o,r){if(!l(o))return Promise.reject(new ce("Terrain tile doesn't exist"));let s=o.tileUrlTemplates;if(s.length===0)return;let a;!e._scheme||e._scheme==="tms"?a=e._tilingScheme.getNumberOfYTilesAtLevel(i)-n-1:a=n;let c=[];e._requestVertexNormals&&o.hasVertexNormals&&c.push(o.littleEndianExtensionSize?"octvertexnormals":"vertexnormals"),e._requestWaterMask&&o.hasWaterMask&&c.push("watermask"),e._requestMetadata&&o.hasMetadata&&c.push("metadata");let u,f,d=s[(t+a+i)%s.length],p=o.resource;l(p._ionEndpoint)&&!l(p._ionEndpoint.externalType)?(c.length!==0&&(f={extensions:c.join("-")}),u=_Te(void 0)):u=_Te(c);let g=p.getDerivedResource({url:d,templateValues:{version:o.version,z:i,x:t,y:a},queryParameters:f,headers:u,request:r}).fetchArrayBuffer();if(l(g))return g.then(function(m){return l(m)?l(e._heightmapStructure)?cTt(e,m,i,t,n):lTt(e,m,i,t,n,o):Promise.reject(new ce("Mesh buffer doesn't exist."))})}Object.defineProperties(ch.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return this._hasWaterMask&&this._requestWaterMask}},hasVertexNormals:{get:function(){return this._hasVertexNormals&&this._requestVertexNormals}},hasMetadata:{get:function(){return this._hasMetadata&&this._requestMetadata}},requestVertexNormals:{get:function(){return this._requestVertexNormals}},requestWaterMask:{get:function(){return this._requestWaterMask}},requestMetadata:{get:function(){return this._requestMetadata}},availability:{get:function(){return this._availability}}});ch.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};ch.fromIonAssetId=async function(e,t){let n=await Ju.fromAssetId(e);return ch.fromUrl(n,t)};ch.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=ve.createIfNeeded(e);n.appendForwardSlash();let i=new gTe(t);i.lastResource=n,i.layerJsonResource=i.lastResource.getDerivedResource({url:"layer.json"}),await XK(i);let o=new ch(t);return i.build(o),o};ch.prototype.getTileDataAvailable=function(e,t,n){if(!l(this._availability))return;if(n>this._availability._maximumLevel)return!1;if(this._availability.isTileAvailable(n,e,t))return!0;if(!this._hasMetadata)return!1;let i=this._layers,o=i.length;for(let r=0;r<o;++r)if(KK(this,e,t,n,i[r],r===0).result)return;return!1};ch.prototype.loadTileDataAvailability=function(e,t,n){if(!l(this._availability)||n>this._availability._maximumLevel||this._availability.isTileAvailable(n,e,t)||!this._hasMetadata)return;let i=this._layers,o=i.length;for(let r=0;r<o;++r){let s=KK(this,e,t,n,i[r],r===0);if(l(s.promise))return s.promise}};function YK(e,t,n,i){if(i===0)return;let o=e.availabilityLevels,r=i%o===0?i-o:(i/o|0)*o,s=1<<i-r,a=t/s|0,c=n/s|0;return{level:r,x:a,y:c}}function KK(e,t,n,i,o,r){if(!l(o.availabilityLevels))return{result:!1};let s,a=function(){delete o.availabilityPromiseCache[s]},c=o.availabilityTilesLoaded,u=o.availability,f=YK(o,t,n,i);for(;l(f);){if(u.isTileAvailable(f.level,f.x,f.y)&&!c.isTileAvailable(f.level,f.x,f.y)){let d;if(!r&&(s=`${f.level}-${f.x}-${f.y}`,d=o.availabilityPromiseCache[s],!l(d))){let p=new or({throttle:!1,throttleByServer:!0,type:ps.TERRAIN});d=xTe(e,f.x,f.y,f.level,o,p),l(d)&&(o.availabilityPromiseCache[s]=d,d.then(a))}return{result:!0,promise:d}}f=YK(o,f.x,f.y,f.level)}return{result:!1}}ch._getAvailabilityTile=YK;var TS=ch;function uTt(e){return e=y(e,y.EMPTY_OBJECT),TS.fromIonAssetId(2426648,{requestVertexNormals:y(e.requestVertexNormals,!1)})}var l8=uTt;function fTt(e){return e=y(e,y.EMPTY_OBJECT),TS.fromIonAssetId(1,{requestVertexNormals:y(e.requestVertexNormals,!1),requestWaterMask:y(e.requestWaterMask,!1),ellipsoid:ee.WGS84})}var CS=fTt;function AS(e){this._ready=!1,this._provider=void 0,this._errorEvent=new me,this._readyEvent=new me,hTt(this,e)}Object.defineProperties(AS.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});AS.fromWorldTerrain=function(e){return new AS(CS(e))};AS.fromWorldBathymetry=function(e){return new AS(l8(e))};function dTt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function hTt(e,t){let n;try{n=await Promise.resolve(t),e._provider=n,e._ready=!0,e._readyEvent.raiseEvent(n)}catch(i){dTt(e._errorEvent,i)}}var u8=AS;function ES(){}ES.prototype.boundingVolume=void 0;ES.prototype.boundingSphere=void 0;ES.prototype.distanceToCamera=function(e){de.throwInstantiationError()};ES.prototype.intersectPlane=function(e){de.throwInstantiationError()};ES.prototype.createDebugVolume=function(e){de.throwInstantiationError()};var bTe=ES;function IP(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new qi({ellipsoid:e.ellipsoid}),this._color=y(e.color,H.YELLOW),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(IP.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});IP.prototype.getTileCredits=function(e,t,n){};IP.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};IP.prototype.pickFeatures=function(e,t,n,i,o){};var f8=IP;function $K(e){de.throwInstantiationError()}$K.prototype.isReady=de.throwInstantiationError;$K.prototype.shouldDiscardImage=de.throwInstantiationError;var TTe=$K;var mTt={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},CTe=Object.freeze(mTt);function Vb(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this.shadows=y(e.shadows,bn.ENABLED),this.maximumMemoryUsage=y(e.maximumMemoryUsage,256),this.shading=new Sp(e.shading),this.style=e.style,this.frameFailed=new me,this.frameChanged=new me,this._clock=e.clock,this._intervals=e.intervals,this._clippingPlanes=void 0,this.clippingPlanes=e.clippingPlanes,this._pointCloudEyeDomeLighting=new Dg,this._loadTimestamp=void 0,this._clippingPlanesState=0,this._styleDirty=!1,this._pickId=void 0,this._totalMemoryUsageInBytes=0,this._frames=[],this._previousInterval=void 0,this._nextInterval=void 0,this._lastRenderedFrame=void 0,this._clockMultiplier=0,this._runningSum=0,this._runningLength=0,this._runningIndex=0,this._runningSamples=new Array(5).fill(0),this._runningAverage=0}Object.defineProperties(Vb.prototype,{clippingPlanes:{get:function(){return this._clippingPlanes},set:function(e){bs.setOwner(e,this,"_clippingPlanes")}},totalMemoryUsageInBytes:{get:function(){return this._totalMemoryUsageInBytes}},boundingSphere:{get:function(){if(l(this._lastRenderedFrame))return this._lastRenderedFrame.pointCloud.boundingSphere}}});function pTt(e){return`uniform vec4 czm_pickColor; -${e}`}function _Tt(e){return function(t){return xt(t,{czm_pickColor:function(){return e._pickId.color}})}}function gTt(){return"czm_pickColor"}Vb.prototype.makeStyleDirty=function(){this._styleDirty=!0};Vb.prototype._getAverageLoadTime=function(){return this._runningLength===0?.05:this._runningAverage};var yTt=new K;function QK(e){let t=e._clock,n=t.canAnimate&&t.shouldAnimate,i=t.multiplier;return n?i:0}function kb(e,t){return e._intervals.indexOf(t.start)}function xTt(e,t){let n=e._intervals,i=e._clock,o=QK(e);if(o===0)return;let r=e._getAverageLoadTime(),s=K.addSeconds(i.currentTime,r*o,yTt),a=n.indexOf(s),c=kb(e,t);return a===c&&(o>=0?++a:--a),n.get(a)}function bTt(e){let t=e._intervals,i=e._clock.currentTime,o=t.indexOf(i);return t.get(o)}function TTt(e,t,n){let i=QK(e),o=kb(e,t),r=kb(e,n);return i>=0?o>=r:o<=r}function ETe(e,t){return function(n){let i=l(n.message)?n.message:n.toString();e.frameFailed.numberOfListeners>0?e.frameFailed.raiseEvent({uri:t,message:i}):(console.log(`A frame failed to load: ${t}`),console.log(`Error: ${i}`))}}function CTt(e,t,n){let i=kb(e,t),o=e._frames,r=o[i];if(!l(r)){let s=t.data.transform,a=l(s)?F.fromArray(s):void 0,c=t.data.uri;r={pointCloud:void 0,transform:a,timestamp:Ti(),sequential:!0,ready:!1,touchedFrameNumber:n.frameNumber,uri:c},o[i]=r,ve.fetchArrayBuffer({url:c}).then(function(u){r.pointCloud=new J4({arrayBuffer:u,cull:!0,fragmentShaderLoaded:pTt,uniformMapLoaded:_Tt(e),pickIdLoaded:gTt})}).catch(ETe(e,c))}return r}function ATt(e,t){e._runningSum+=t,e._runningSum-=e._runningSamples[e._runningIndex],e._runningSamples[e._runningIndex]=t,e._runningLength=Math.min(e._runningLength+1,e._runningSamples.length),e._runningIndex=(e._runningIndex+1)%e._runningSamples.length,e._runningAverage=e._runningSum/e._runningLength}function ETt(e,t,n,i){t.touchedFrameNumber<i.frameNumber-1&&(t.sequential=!1);let o=t.pointCloud;if(l(o)&&!t.ready){let r=i.commandList,s=r.length;if(STe(e,t,n,i),o.ready&&(t.ready=!0,e._totalMemoryUsageInBytes+=o.geometryByteLength,r.length=s,t.sequential)){let a=(Ti()-t.timestamp)/1e3;ATt(e,a)}}t.touchedFrameNumber=i.frameNumber}var STt=new F;function wTt(e,t){let n=e.shading;return l(n)&&l(n.baseResolution)?n.baseResolution:l(t.boundingSphere)?P.cbrt(t.boundingSphere.volume()/t.pointsLength):0}function vTt(e){let t=e.shading;return l(t)&&l(t.maximumAttenuation)?t.maximumAttenuation:10}var DTt=new Sp;function STe(e,t,n,i){let o=y(e.shading,DTt),r=t.pointCloud,s=y(t.transform,F.IDENTITY);r.modelMatrix=F.multiplyTransformation(e.modelMatrix,s,STt),r.style=e.style,r.time=n.timeSinceLoad,r.shadows=e.shadows,r.clippingPlanes=e._clippingPlanes,r.isClipped=n.isClipped,r.attenuation=o.attenuation,r.backFaceCulling=o.backFaceCulling,r.normalShading=o.normalShading,r.geometricError=wTt(e,r),r.geometricErrorScale=o.geometricErrorScale,r.maximumAttenuation=vTt(e);try{r.update(i)}catch(a){ETe(e,t.uri)(a)}t.touchedFrameNumber=i.frameNumber}function ZK(e,t,n,i){let o=CTt(e,t,i);ETt(e,o,n,i)}function ITt(e){return function(t){return t.touchedFrameNumber<e.frameNumber}}function wTe(e,t){let n=e._frames,i=n.length;for(let o=0;o<i;++o){let r=n[o];if(l(r)&&(!l(t)||t(r))){let s=r.pointCloud;r.ready&&(e._totalMemoryUsageInBytes-=s.geometryByteLength),l(s)&&s.destroy(),r===e._lastRenderedFrame&&(e._lastRenderedFrame=void 0),n[o]=void 0}}}function PTt(e,t){let n=kb(e,t),i=e._frames[n];if(l(i)&&i.ready)return i}function ATe(e,t,n,i,o){return l(n)?n.ready?!0:(ZK(e,t,i,o),n.ready):!1}function RTt(e,t,n,i,o){let r,s,a,c=e._intervals,u=e._frames,f=kb(e,n),d=kb(e,t);if(f>=d){for(r=f;r>=d;--r)if(s=c.get(r),a=u[r],ATe(e,s,a,i,o))return s}else for(r=f;r<=d;++r)if(s=c.get(r),a=u[r],ATe(e,s,a,i,o))return s;return t}function OTt(e,t,n){let i=e._frames,o=i.length;for(let r=0;r<o;++r){let s=i[r];l(s)&&l(s.pointCloud)&&(s.pointCloud.clippingPlanesDirty=t,s.pointCloud.styleDirty=n)}}var SS={timeSinceLoad:0,isClipped:!1,clippingPlanesDirty:!1};Vb.prototype.update=function(e){if(e.mode===ne.MORPHING||!this.show)return;l(this._pickId)||(this._pickId=e.context.createPickId({primitive:this})),l(this._loadTimestamp)||(this._loadTimestamp=K.clone(e.time));let t=Math.max(K.secondsDifference(e.time,this._loadTimestamp)*1e3,0),n=this._clippingPlanes,i=0,o=!1,r=l(n)&&n.enabled;r&&(n.update(e),i=n.clippingPlanesState),this._clippingPlanesState!==i&&(this._clippingPlanesState=i,o=!0);let s=this._styleDirty;this._styleDirty=!1,(o||s)&&OTt(this,o,s),SS.timeSinceLoad=t,SS.isClipped=r;let a=this.shading,c=this._pointCloudEyeDomeLighting,u=e.commandList,f=u.length,d=this._previousInterval,p=this._nextInterval,g=bTt(this);if(!l(g))return;let m=!1,x=QK(this),b=x===0;x!==this._clockMultiplier&&(m=!0,this._clockMultiplier=x),(!l(d)||b)&&(d=g),(!l(p)||m||TTt(this,g,p))&&(p=xTt(this,g)),d=RTt(this,d,g,SS,e);let T=PTt(this,d);l(T)||(ZK(this,d,SS,e),T=this._lastRenderedFrame),l(T)&&STe(this,T,SS,e),l(p)&&ZK(this,p,SS,e);let C=this;l(T)&&!l(this._lastRenderedFrame)&&e.afterRender.push(function(){return!0}),l(T)&&T!==this._lastRenderedFrame&&C.frameChanged.numberOfListeners>0&&e.afterRender.push(function(){return C.frameChanged.raiseEvent(C),!0}),this._previousInterval=d,this._nextInterval=p,this._lastRenderedFrame=T;let A=this._totalMemoryUsageInBytes,S=this.maximumMemoryUsage*1024*1024;A>S&&wTe(this,ITt(e));let D=u.length-f;l(a)&&a.attenuation&&a.eyeDomeLighting&&D>0&&c.update(e,f,a,this.boundingSphere)};Vb.prototype.isDestroyed=function(){return!1};Vb.prototype.destroy=function(){return wTe(this),this._clippingPlanes=this._clippingPlanes&&this._clippingPlanes.destroy(),this._pickId=this._pickId&&this._pickId.destroy(),ue(this)};var PP=Vb;var d8=` -in vec2 v_textureCoordinates; +out vec3 v_positionMC; +out vec3 v_positionEC; +out vec2 v_st; void main() { - czm_materialInput materialInput; - - materialInput.s = v_textureCoordinates.s; - materialInput.st = v_textureCoordinates; - materialInput.str = vec3(v_textureCoordinates, 0.0); - materialInput.normalEC = vec3(0.0, 0.0, -1.0); - - czm_material material = czm_getMaterial(materialInput); + vec4 p = czm_computePosition(); - out_FragColor = vec4(material.diffuse + material.emission, material.alpha); + v_positionMC = position3DHigh + position3DLow; // position in model coordinates + v_positionEC = (czm_modelViewRelativeToEye * p).xyz; // position in eye coordinates + v_st = st; + + gl_Position = czm_modelViewProjectionRelativeToEye * p; } -`;function h8(e,t){this.show=!0,l(e)||(e=new qe),this.rectangle=qe.clone(e),l(t)||(t=ji.fromType(ji.ColorType,{color:new H(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}h8.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!l(t)||!qe.equals(t.viewport,this.rectangle))&&(this._rs=ze.fromCache({blending:fn.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!l(this._overlayCommand)){this._material=this.material,l(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new Ge({sources:[this._material.shaderSource,d8]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=Se.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};h8.prototype.isDestroyed=function(){return!1};h8.prototype.destroy=function(){return l(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),ue(this)};var vTe=h8;function JK(){de.throwInstantiationError()}Object.defineProperties(JK.prototype,{globalTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shape:{get:de.throwInstantiationError},minBounds:{get:de.throwInstantiationError},maxBounds:{get:de.throwInstantiationError},dimensions:{get:de.throwInstantiationError},paddingBefore:{get:de.throwInstantiationError},paddingAfter:{get:de.throwInstantiationError},names:{get:de.throwInstantiationError},types:{get:de.throwInstantiationError},componentTypes:{get:de.throwInstantiationError},minimumValues:{get:de.throwInstantiationError},maximumValues:{get:de.throwInstantiationError},maximumTileCount:{get:de.throwInstantiationError},keyframeCount:{get:de.throwInstantiationError},timeIntervalCollection:{get:de.throwInstantiationError}});JK.prototype.requestData=de.throwInstantiationError;var DTe=JK;function Ub(){de.throwInstantiationError()}Object.defineProperties(Ub.prototype,{orientedBoundingBox:{get:de.throwInstantiationError},boundingSphere:{get:de.throwInstantiationError},boundTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shaderUniforms:{get:de.throwInstantiationError},shaderDefines:{get:de.throwInstantiationError},shaderMaximumIntersectionsLength:{get:de.throwInstantiationError}});Ub.prototype.update=de.throwInstantiationError;Ub.prototype.computeOrientedBoundingBoxForTile=de.throwInstantiationError;Ub.prototype.computeOrientedBoundingBoxForSample=de.throwInstantiationError;Ub.DefaultMinBounds=de.throwInstantiationError;Ub.DefaultMaxBounds=de.throwInstantiationError;var ITe=Ub;function MTt(e){e._renderLoopRunning=!0;let t=0;function n(i){if(!e.isDestroyed())if(e._useDefaultRenderLoop)try{let o=e._targetFrameRate;if(!l(o))e.resize(),e.render(),requestAnimationFrame(n);else{let r=1e3/o,s=i-t;s>r&&(e.resize(),e.render(),t=i-s%r),requestAnimationFrame(n)}}catch(o){e._useDefaultRenderLoop=!1,e._renderLoopRunning=!1,e._showRenderLoopErrors&&e.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,o)}else e._renderLoopRunning=!1}requestAnimationFrame(n)}function PTe(e){let t=e._useBrowserRecommendedResolution?1:window.devicePixelRatio;return t*=e._resolutionScale,l(e._scene)&&(e._scene.pixelRatio=t),t}function RTe(e){let t=e._canvas,n=t.clientWidth,i=t.clientHeight,o=PTe(e);e._canvasClientWidth=n,e._canvasClientHeight=i,n*=o,i*=o,t.width=n,t.height=i,e._canRender=n!==0&&i!==0,e._lastDevicePixelRatio=window.devicePixelRatio}function OTe(e){let t=e._canvas,n=t.width,i=t.height;if(n!==0&&i!==0){let o=e._scene.camera.frustum;l(o.aspectRatio)?o.aspectRatio=n/i:(o.top=o.right*(i/n),o.bottom=-o.top)}}function zb(e,t){e=Mn(e),t=y(t,y.EMPTY_OBJECT);let n=document.createElement("div");n.className="cesium-widget",e.appendChild(n);let i=document.createElement("canvas"),o=Wt.supportsImageRenderingPixelated();this._supportsImageRenderingPixelated=o,o&&(i.style.imageRendering=Wt.imageRenderingValue()),i.oncontextmenu=function(){return!1},i.onselectstart=function(){return!1};function r(){i!==i.ownerDocument.activeElement&&i.ownerDocument.activeElement.blur()}y(t.blurActiveElementOnCanvasFocus,!0)&&(i.addEventListener("mousedown",r),i.addEventListener("pointerdown",r)),n.appendChild(i);let a=document.createElement("div");a.className="cesium-widget-credits";let c=l(t.creditContainer)?Mn(t.creditContainer):n;c.appendChild(a);let u=l(t.creditViewport)?Mn(t.creditViewport):n,f=y(t.showRenderLoopErrors,!0),d=y(t.useBrowserRecommendedResolution,!0);this._element=n,this._container=e,this._canvas=i,this._canvasClientWidth=0,this._canvasClientHeight=0,this._lastDevicePixelRatio=0,this._creditViewport=u,this._creditContainer=c,this._innerCreditContainer=a,this._canRender=!1,this._renderLoopRunning=!1,this._showRenderLoopErrors=f,this._resolutionScale=1,this._useBrowserRecommendedResolution=d,this._forceResize=!1,this._clock=l(t.clock)?t.clock:new rm,RTe(this);try{let p=y(t.ellipsoid,ee.default),g=new XH({canvas:i,contextOptions:t.contextOptions,creditContainer:a,creditViewport:u,ellipsoid:p,mapProjection:t.mapProjection,orderIndependentTranslucency:t.orderIndependentTranslucency,scene3DOnly:y(t.scene3DOnly,!1),shadows:t.shadows,mapMode2D:t.mapMode2D,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples});this._scene=g,g.camera.constrainedAxis=h.UNIT_Z,PTe(this),OTe(this);let m=t.globe;l(m)||(m=new o4(p)),m!==!1&&(g.globe=m,g.globe.shadows=y(t.terrainShadows,bn.RECEIVE_ONLY));let x=t.skyBox;!l(x)&&ee.WGS84.equals(p)&&(x=e8.createEarthSkyBox()),x!==!1&&(g.skyBox=x,g.sun=new o8,ee.WGS84.equals(p)&&(g.moon=new P4));let b=t.skyAtmosphere;!l(b)&&ee.WGS84.equals(p)&&(b=new ZH(p),b.show=t.globe!==!1&&m.show),b!==!1&&(g.skyAtmosphere=b);let T=t.baseLayer;t.globe!==!1&&T!==!1&&(l(T)||(T=La.fromWorldImagery()),g.imageryLayers.add(T)),l(t.terrainProvider)&&t.globe!==!1&&(g.terrainProvider=t.terrainProvider),l(t.terrain)&&t.globe!==!1&&g.setTerrain(t.terrain),this._screenSpaceEventHandler=new Nf(i),l(t.sceneMode)&&(t.sceneMode===ne.SCENE2D&&this._scene.morphTo2D(0),t.sceneMode===ne.COLUMBUS_VIEW&&this._scene.morphToColumbusView(0)),this._useDefaultRenderLoop=void 0,this.useDefaultRenderLoop=y(t.useDefaultRenderLoop,!0),this._targetFrameRate=void 0,this.targetFrameRate=t.targetFrameRate;let C=this;this._onRenderError=function(A,S){C._useDefaultRenderLoop=!1,C._renderLoopRunning=!1,C._showRenderLoopErrors&&C.showErrorPanel("An error occurred while rendering. Rendering has stopped.",void 0,S)},g.renderError.addEventListener(this._onRenderError)}catch(p){throw f&&this.showErrorPanel("Error constructing CesiumWidget.",'Visit <a href="http://get.webgl.org">http://get.webgl.org</a> to verify that your web browser and hardware support WebGL. Consider trying a different web browser or updating your video drivers. Detailed error information is below:',p),p}}Object.defineProperties(zb.prototype,{container:{get:function(){return this._container}},canvas:{get:function(){return this._canvas}},creditContainer:{get:function(){return this._creditContainer}},creditViewport:{get:function(){return this._creditViewport}},scene:{get:function(){return this._scene}},imageryLayers:{get:function(){return this._scene.imageryLayers}},terrainProvider:{get:function(){return this._scene.terrainProvider},set:function(e){this._scene.terrainProvider=e}},creditDisplay:{get:function(){return this._scene.frameState.creditDisplay}},camera:{get:function(){return this._scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},clock:{get:function(){return this._clock}},screenSpaceEventHandler:{get:function(){return this._screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._targetFrameRate},set:function(e){this._targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._useDefaultRenderLoop},set:function(e){this._useDefaultRenderLoop!==e&&(this._useDefaultRenderLoop=e,e&&!this._renderLoopRunning&&MTt(this))}},resolutionScale:{get:function(){return this._resolutionScale},set:function(e){this._resolutionScale!==e&&(this._resolutionScale=e,this._forceResize=!0)}},useBrowserRecommendedResolution:{get:function(){return this._useBrowserRecommendedResolution},set:function(e){this._useBrowserRecommendedResolution!==e&&(this._useBrowserRecommendedResolution=e,this._forceResize=!0)}}});zb.prototype.showErrorPanel=function(e,t,n){let i=this._element,o=document.createElement("div");o.className="cesium-widget-errorPanel";let r=document.createElement("div");r.className="cesium-widget-errorPanel-content",o.appendChild(r);let s=document.createElement("div");s.className="cesium-widget-errorPanel-header",s.appendChild(document.createTextNode(e)),r.appendChild(s);let a=document.createElement("div");a.className="cesium-widget-errorPanel-scroll",r.appendChild(a);function c(){a.style.maxHeight=`${Math.max(Math.round(i.clientHeight*.9-100),30)}px`}c(),l(window.addEventListener)&&window.addEventListener("resize",c,!1);let u=l(t),f=l(n);if(u||f){let g=document.createElement("div");if(g.className="cesium-widget-errorPanel-message",a.appendChild(g),f){let m=f_(n);u||(typeof n=="string"&&(n=new Error(n)),t=f_({name:n.name,message:n.message}),m=n.stack),typeof console<"u"&&console.error(`${e} -${t} -${m}`);let x=document.createElement("div");x.className="cesium-widget-errorPanel-message-details collapsed";let b=document.createElement("span");b.className="cesium-widget-errorPanel-more-details",b.appendChild(document.createTextNode("See more...")),x.appendChild(b),x.onclick=function(T){x.removeChild(b),x.appendChild(document.createTextNode(m)),x.className="cesium-widget-errorPanel-message-details",r.className="cesium-widget-errorPanel-content expanded",x.onclick=void 0},a.appendChild(x)}g.innerHTML=`<p>${t}</p>`}let d=document.createElement("div");d.className="cesium-widget-errorPanel-buttonPanel",r.appendChild(d);let p=document.createElement("button");p.setAttribute("type","button"),p.className="cesium-button",p.appendChild(document.createTextNode("OK")),p.onclick=function(){l(c)&&l(window.removeEventListener)&&window.removeEventListener("resize",c,!1),i.removeChild(o)},d.appendChild(p),i.appendChild(o)};zb.prototype.isDestroyed=function(){return!1};zb.prototype.destroy=function(){l(this._scene)&&(this._scene.renderError.removeEventListener(this._onRenderError),this._scene=this._scene.destroy()),this._container.removeChild(this._element),this._creditContainer.removeChild(this._innerCreditContainer),ue(this)};zb.prototype.resize=function(){let e=this._canvas;!this._forceResize&&this._canvasClientWidth===e.clientWidth&&this._canvasClientHeight===e.clientHeight&&this._lastDevicePixelRatio===window.devicePixelRatio||(this._forceResize=!1,RTe(this),OTe(this),this._scene.requestRender())};zb.prototype.render=function(){if(this._canRender){this._scene.initializeFrame();let e=this._clock.tick();this._scene.render(e)}else this._clock.tick()};var m8=zb;var LTt=15;function MTe(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.credit=void 0,this.tilingScheme=void 0,this.height=void 0,this.width=void 0,this.encoding=void 0,this.lodCount=void 0,this.hasAvailability=!1,this.tilesAvailable=void 0,this.tilesAvailabilityLoaded=void 0,this.levelZeroMaximumGeometricError=void 0,this.terrainDataStructure=void 0}MTe.prototype.build=function(e){e._credit=this.credit,e._tilingScheme=this.tilingScheme,e._height=this.height,e._width=this.width,e._encoding=this.encoding,e._lodCount=this.lodCount,e._hasAvailability=this.hasAvailability,e._tilesAvailable=this.tilesAvailable,e._tilesAvailabilityLoaded=this.tilesAvailabilityLoaded,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._terrainDataStructure=this.terrainDataStructure};function NTt(e,t){let n=t.copyrightText;l(n)&&(e.credit=new vt(n));let i=t.spatialReference,o=y(i.latestWkid,i.wkid),r=t.extent,s={ellipsoid:e.ellipsoid};if(o===4326)s.rectangle=se.fromDegrees(r.xmin,r.ymin,r.xmax,r.ymax),e.tilingScheme=new qi(s);else if(o===3857){let u=Math.PI*e.ellipsoid.maximumRadius;t.extent.xmax>u&&(t.extent.xmax=u),t.extent.ymax>u&&(t.extent.ymax=u),t.extent.xmin<-u&&(t.extent.xmin=-u),t.extent.ymin<-u&&(t.extent.ymin=-u),s.rectangleSouthwestInMeters=new U(r.xmin,r.ymin),s.rectangleNortheastInMeters=new U(r.xmax,r.ymax),e.tilingScheme=new cs(s)}else throw new ce("Invalid spatial reference");let a=t.tileInfo;if(!l(a))throw new ce("tileInfo is required");e.width=a.rows+1,e.height=a.cols+1,e.encoding=a.format==="LERC"?th.LERC:th.NONE,e.lodCount=a.lods.length-1,(e.hasAvailability=t.capabilities.indexOf("Tilemap")!==-1)&&(e.tilesAvailable=new Gm(e.tilingScheme,e.lodCount),e.tilesAvailable.addAvailableTileRange(0,0,0,e.tilingScheme.getNumberOfXTilesAtLevel(0),e.tilingScheme.getNumberOfYTilesAtLevel(0)),e.tilesAvailabilityLoaded=new Gm(e.tilingScheme,e.lodCount)),e.levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.tilingScheme.ellipsoid,e.width,e.tilingScheme.getNumberOfXTilesAtLevel(0)),t.bandCount>1&&console.log("ArcGISTiledElevationTerrainProvider: Terrain data has more than 1 band. Using the first one."),l(t.minValues)&&l(t.maxValues)?e.terrainDataStructure={elementMultiplier:1,lowestEncodedHeight:t.minValues[0],highestEncodedHeight:t.maxValues[0]}:e.terrainDataStructure={elementMultiplier:1}}async function FTt(e,t,n){try{let i=await t.fetchJson();NTt(e,i)}catch(i){let o=`An error occurred while accessing ${t}.`;throw vo.reportError(void 0,n,l(n)?n._errorEvent:void 0,o),i}}function c0(e){e=y(e,y.EMPTY_OBJECT),this._resource=void 0,this._credit=void 0,this._tilingScheme=void 0,this._levelZeroMaximumGeometricError=void 0,this._maxLevel=void 0,this._terrainDataStructure=void 0,this._width=void 0,this._height=void 0,this._encoding=void 0,this._lodCount=void 0,this._hasAvailability=!1,this._tilesAvailable=void 0,this._tilesAvailabilityLoaded=void 0,this._availableCache={},this._errorEvent=new me}Object.defineProperties(c0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){return this._tilesAvailable}}});c0.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT),e=await Promise.resolve(e);let n=ve.createIfNeeded(e);n.appendForwardSlash(),l(t.token)&&(n=n.getDerivedResource({queryParameters:{token:t.token}}));let i=n.getDerivedResource({queryParameters:{f:"pjson"}}),o=new MTe(t);await FTt(o,i);let r=new c0(t);return o.build(r),r._resource=n,r};c0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._resource.getDerivedResource({url:`tile/${n}/${t}/${e}`,request:i}),r=this._hasAvailability,s=Promise.resolve(!0),a;if(r&&!l(e$(this,n+1,e*2,t*2))){let d=LTe(this,n+1,e*2,t*2);s=d.promise,a=d.request}let c=o.fetchArrayBuffer();if(!l(c)||!l(s))return;let u=this,f=this._tilesAvailable;return Promise.all([c,s]).then(function(d){return new dc({buffer:d[0],width:u._width,height:u._height,childTileMask:r?f.computeChildMaskForTile(n,e,t):LTt,structure:u._terrainDataStructure,encoding:u._encoding})}).catch(async function(d){if(l(a)&&a.state===Qn.CANCELLED){i.cancel();try{await i.deferred?.promise}catch{}return i.state=Qn.CANCELLED,Promise.reject(d)}return Promise.reject(d)})};function e$(e,t,n,i){if(!e._hasAvailability)return;let o=e._tilesAvailabilityLoaded,r=e._tilesAvailable;if(t>e._lodCount)return!1;if(r.isTileAvailable(t,n,i))return!0;if(o.isTileAvailable(t,n,i))return!1}c0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};c0.prototype.getTileDataAvailable=function(e,t,n){if(!this._hasAvailability)return;let i=e$(this,n,e,t);if(l(i))return i;LTe(this,n,e,t)};c0.prototype.loadTileDataAvailability=function(e,t,n){};function BTt(e,t,n,i){let o=t-1,r=n-1,s=i[e.y*t+e.x],a=[],c={startX:e.x,startY:e.y,endX:0,endY:0},u=new U(e.x+1,e.y+1),f=!1,d=!1;for(;!(f&&d);){let p=u.x,g=d?u.y+1:u.y;if(!f){for(let m=e.y;m<g;++m)if(i[m*t+u.x]!==s){f=!0;break}f?(a.push(new U(u.x,e.y)),--u.x,--p,c.endX=u.x):u.x===o?(c.endX=u.x,f=!0):++u.x}if(!d){let m=u.y*t;for(let x=e.x;x<=p;++x)if(i[m+x]!==s){d=!0;break}d?(a.push(new U(e.x,u.y)),--u.y,c.endY=u.y):u.y===r?(c.endY=u.y,d=!0):++u.y}}return{endingIndices:a,range:c,value:s}}function kTt(e,t,n,i,o){let r=[];if(o.every(function(c){return c===o[0]}))return o[0]===1&&r.push({startX:e,startY:t,endX:e+n-1,endY:t+i-1}),r;let a=[new U(0,0)];for(;a.length>0;){let c=a.pop(),u=BTt(c,n,i,o);if(u.value===1){let d=u.range;d.startX+=e,d.endX+=e,d.startY+=t,d.endY+=t,r.push(d)}let f=u.endingIndices;f.length>0&&(a=a.concat(f))}return r}function LTe(e,t,n,i){if(!e._hasAvailability)return{};let o=Math.floor(n/128)*128,r=Math.floor(i/128)*128,s=Math.min(1<<t,128),a=`tilemap/${t}/${r}/${o}/${s}/${s}`,c=e._availableCache;if(l(c[a]))return c[a];let u=new or({throttle:!1,throttleByServer:!0,type:ps.TERRAIN}),d=e._resource.getDerivedResource({url:a,request:u}).fetchJson();return l(d)?(d=d.then(function(p){let g=kTt(o,r,s,s,p.data);e._tilesAvailabilityLoaded.addAvailableTileRange(t,o,r,o+s,r+s);let m=e._tilesAvailable;for(let x=0;x<g.length;++x){let b=g[x];m.addAvailableTileRange(t,b.startX,b.startY,b.endX,b.endY)}return e$(e,t,n,i)}),c[a]={promise:d,request:u},d=d.finally(function(p){return delete c[a],p}),{promise:d,request:u}):{}}var NTe=c0;var FTe="https://dev.virtualearth.net/REST/v1/Locations";function t$(e){e=y(e,y.EMPTY_OBJECT);let t=e.key;this._key=t;let n={key:t};l(e.culture)&&(n.culture=e.culture),this._resource=new ve({url:FTe,queryParameters:n}),this._credit=new vt('<img src="http://dev.virtualearth.net/Branding/logo_powered_by.png"/>',!1)}Object.defineProperties(t$.prototype,{url:{get:function(){return FTe}},key:{get:function(){return this._key}},credit:{get:function(){return this._credit}}});t$.prototype.geocode=async function(e){return this._resource.getDerivedResource({queryParameters:{query:e}}).fetchJsonp("jsonp").then(function(n){return n.resourceSets.length===0?[]:n.resourceSets[0].resources.map(function(o){let r=o.bbox,s=r[0],a=r[1],c=r[2],u=r[3];return{displayName:o.name,destination:se.fromDegrees(a,s,u,c)}})})};var BTe=t$;function n$(){}Object.defineProperties(n$.prototype,{credit:{get:function(){}}});n$.prototype.geocode=function(e){let t=e.match(/[^\s,\n]+/g);if(t.length===2||t.length===3){let n=+t[0],i=+t[1],o=t.length===3?+t[2]:300;if(isNaN(n)&&isNaN(i)){let r=/^(\d+.?\d*)([nsew])/i;for(let s=0;s<t.length;++s){let a=t[s].match(r);r.test(t[s])&&a.length===3&&(/^[ns]/i.test(a[2])?i=/^[n]/i.test(a[2])?+a[1]:-a[1]:/^[ew]/i.test(a[2])&&(n=/^[e]/i.test(a[2])?+a[1]:-a[1]))}}if(!isNaN(n)&&!isNaN(i)&&!isNaN(o)){let r={displayName:e,destination:h.fromDegrees(n,i,o)};return Promise.resolve([r])}}return Promise.resolve([])};var kTe=n$;var VTt=new oe,VTe=new h,wS=new h;function UTt(e){let t=e.points,n=e.times;if(t.length<3){let i=n[0],o=1/(n[1]-i),r=t[0],s=t[1];return function(a,c){l(c)||(c=new h);let u=(a-i)*o;return h.lerp(r,s,u,c)}}return function(i,o){l(o)||(o=new h);let r=e._lastTimeIndex=e.findTimeInterval(i,e._lastTimeIndex),s=(i-n[r])/(n[r+1]-n[r]),a=VTt;a.z=s,a.y=s*s,a.x=a.y*s,a.w=1;let c,u,f,d,p;return r===0?(c=t[0],u=t[1],f=e.firstTangent,d=h.subtract(t[2],c,VTe),h.multiplyByScalar(d,.5,d),p=F.multiplyByVector(mx.hermiteCoefficientMatrix,a,a)):r===t.length-2?(c=t[r],u=t[r+1],d=e.lastTangent,f=h.subtract(u,t[r-1],VTe),h.multiplyByScalar(f,.5,f),p=F.multiplyByVector(mx.hermiteCoefficientMatrix,a,a)):(c=t[r-1],u=t[r],f=t[r+1],d=t[r+2],p=F.multiplyByVector(l0.catmullRomCoefficientMatrix,a,a)),o=h.multiplyByScalar(c,p.x,o),h.multiplyByScalar(u,p.y,wS),h.add(o,wS,o),h.multiplyByScalar(f,p.z,wS),h.add(o,wS,o),h.multiplyByScalar(d,p.w,wS),h.add(o,wS,o)}}var zTt=new h,HTt=new h;function l0(e){e=y(e,y.EMPTY_OBJECT);let t=e.points,n=e.times,i=e.firstTangent,o=e.lastTangent;if(t.length>2&&(l(i)||(i=zTt,h.multiplyByScalar(t[1],2,i),h.subtract(i,t[2],i),h.subtract(i,t[0],i),h.multiplyByScalar(i,.5,i)),!l(o))){let r=t.length-1;o=HTt,h.multiplyByScalar(t[r-1],2,o),h.subtract(t[r],o,o),h.add(o,t[r-2],o),h.multiplyByScalar(o,.5,o)}this._times=n,this._points=t,this._firstTangent=h.clone(i),this._lastTangent=h.clone(o),this._evaluateFunction=UTt(this),this._lastTimeIndex=0}Object.defineProperties(l0.prototype,{times:{get:function(){return this._times}},points:{get:function(){return this._points}},firstTangent:{get:function(){return this._firstTangent}},lastTangent:{get:function(){return this._lastTangent}}});l0.catmullRomCoefficientMatrix=new F(-.5,1,-.5,0,1.5,-2.5,0,1,-1.5,2,.5,0,.5,-.5,0,0);l0.prototype.findTimeInterval=to.prototype.findTimeInterval;l0.prototype.wrapTime=to.prototype.wrapTime;l0.prototype.clampTime=to.prototype.clampTime;l0.prototype.evaluate=function(e,t){return this._evaluateFunction(e,t)};var UTe=l0;function v_(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,vertexFormat:e.vertexFormat,stRotation:e.stRotation,shadowVolume:e.shadowVolume};this._ellipseGeometry=new Tl(n),this._workerName="createCircleGeometry"}v_.packedLength=Tl.packedLength;v_.pack=function(e,t,n){return Tl.pack(e._ellipseGeometry,t,n)};var zTe=new Tl({center:new h,semiMajorAxis:1,semiMinorAxis:1}),Fa={center:new h,radius:void 0,ellipsoid:ee.clone(ee.default),height:void 0,extrudedHeight:void 0,granularity:void 0,vertexFormat:new Pe,stRotation:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0,shadowVolume:void 0};v_.unpack=function(e,t,n){let i=Tl.unpack(e,t,zTe);return Fa.center=h.clone(i._center,Fa.center),Fa.ellipsoid=ee.clone(i._ellipsoid,Fa.ellipsoid),Fa.ellipsoid=ee.clone(i._ellipsoid,zTe._ellipsoid),Fa.height=i._height,Fa.extrudedHeight=i._extrudedHeight,Fa.granularity=i._granularity,Fa.vertexFormat=Pe.clone(i._vertexFormat,Fa.vertexFormat),Fa.stRotation=i._stRotation,Fa.shadowVolume=i._shadowVolume,l(n)?(Fa.semiMajorAxis=i._semiMajorAxis,Fa.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new Tl(Fa),n):(Fa.radius=i._semiMajorAxis,new v_(Fa))};v_.createGeometry=function(e){return Tl.createGeometry(e._ellipseGeometry)};v_.createShadowVolume=function(e,t,n){let i=e._ellipseGeometry._granularity,o=e._ellipseGeometry._ellipsoid,r=t(i,o),s=n(i,o);return new v_({center:e._ellipseGeometry._center,radius:e._ellipseGeometry._semiMajorAxis,ellipsoid:o,stRotation:e._ellipseGeometry._stRotation,granularity:i,extrudedHeight:r,height:s,vertexFormat:Pe.POSITION_ONLY,shadowVolume:!0})};Object.defineProperties(v_.prototype,{rectangle:{get:function(){return this._ellipseGeometry.rectangle}},textureCoordinateRotationPoints:{get:function(){return this._ellipseGeometry.textureCoordinateRotationPoints}}});var HTe=v_;function vS(e){e=y(e,y.EMPTY_OBJECT);let t=e.radius,n={center:e.center,semiMajorAxis:t,semiMinorAxis:t,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new If(n),this._workerName="createCircleOutlineGeometry"}vS.packedLength=If.packedLength;vS.pack=function(e,t,n){return If.pack(e._ellipseGeometry,t,n)};var GTt=new If({center:new h,semiMajorAxis:1,semiMinorAxis:1}),Nu={center:new h,radius:void 0,ellipsoid:ee.clone(ee.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};vS.unpack=function(e,t,n){let i=If.unpack(e,t,GTt);return Nu.center=h.clone(i._center,Nu.center),Nu.ellipsoid=ee.clone(i._ellipsoid,Nu.ellipsoid),Nu.height=i._height,Nu.extrudedHeight=i._extrudedHeight,Nu.granularity=i._granularity,Nu.numberOfVerticalLines=i._numberOfVerticalLines,l(n)?(Nu.semiMajorAxis=i._semiMajorAxis,Nu.semiMinorAxis=i._semiMinorAxis,n._ellipseGeometry=new If(Nu),n):(Nu.radius=i._semiMajorAxis,new vS(Nu))};vS.createGeometry=function(e){return If.createGeometry(e._ellipseGeometry)};var GTe=vS;function DS(e){e=y(e,y.EMPTY_OBJECT),this._callback=e.callback,this._tilingScheme=e.tilingScheme,l(this._tilingScheme)||(this._tilingScheme=new qi({ellipsoid:y(e.ellipsoid,ee.default)})),this._width=e.width,this._height=e.height;let t=Math.max(this._width,this._height);this._levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(this._tilingScheme.ellipsoid,t,this._tilingScheme.getNumberOfXTilesAtLevel(0)),this._errorEvent=new me;let n=e.credit;typeof n=="string"&&(n=new vt(n)),this._credit=n}Object.defineProperties(DS.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}},width:{get:function(){return this._width}},height:{get:function(){return this._height}}});DS.prototype.requestTileGeometry=function(e,t,n,i){let o=this._callback(e,t,n);if(!l(o))return;let r=this._width,s=this._height;return Promise.resolve(o).then(function(a){let c=a;return Array.isArray(c)&&(c=new Float64Array(c)),new dc({buffer:c,width:r,height:s})})};DS.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};DS.prototype.getTileDataAvailable=function(e,t,n){};DS.prototype.loadTileDataAvailability=function(e,t,n){};var WTe=DS;function jTe(e){this.proxy=e}jTe.prototype.getURL=function(e){let t=this.proxy.indexOf("?")===-1?"?":"";return this.proxy+t+encodeURIComponent(e)};var qTe=jTe;function p8(){de.throwInstantiationError()}Object.defineProperties(p8.prototype,{credit:{get:de.throwInstantiationError}});p8.getCreditsFromResult=function(e){if(l(e.attributions))return e.attributions.map(vt.getIonCredit)};p8.prototype.geocode=de.throwInstantiationError;var RP=p8;var WTt={SEARCH:0,AUTOCOMPLETE:1},Hb=Object.freeze(WTt);function YTe(){de.throwInstantiationError()}YTe.createGeometry=function(e){de.throwInstantiationError()};var XTe=YTe;function Gb(e){e=y(e,y.EMPTY_OBJECT),this._buffer=e.buffer,this._credits=e.credits,this._negativeAltitudeExponentBias=e.negativeAltitudeExponentBias,this._negativeElevationThreshold=e.negativeElevationThreshold;let t=y(e.childTileMask,15),n=t&3;n|=t&4?8:0,n|=t&8?4:0,this._childTileMask=n,this._createdByUpsampling=y(e.createdByUpsampling,!1),this._skirtHeight=void 0,this._bufferType=this._buffer.constructor,this._mesh=void 0,this._minimumHeight=void 0,this._maximumHeight=void 0}Object.defineProperties(Gb.prototype,{credits:{get:function(){return this._credits}},waterMask:{get:function(){}}});var ZTe="createVerticesFromGoogleEarthEnterpriseBuffer",jTt=new _i(ZTe),qTt=new _i(ZTe,Mm.maximumAsynchronousTasks),KTe=new se,i$=new se;Gb.prototype.createMesh=function(e){e=y(e,y.EMPTY_OBJECT);let t=e.tilingScheme,n=e.x,i=e.y,o=e.level,r=y(e.exaggeration,1),s=y(e.exaggerationRelativeHeight,0),a=y(e.throttle,!0),c=t.ellipsoid;t.tileXYToNativeRectangle(n,i,o,KTe),t.tileXYToRectangle(n,i,o,i$);let u=c.cartographicToCartesian(se.center(i$)),d=40075.16/(1<<o);this._skirtHeight=Math.min(d*8,1e3);let g=(a?qTt:jTt).scheduleTask({buffer:this._buffer,nativeRectangle:KTe,rectangle:i$,relativeToCenter:u,ellipsoid:c,skirtHeight:this._skirtHeight,exaggeration:r,exaggerationRelativeHeight:s,includeWebMercatorT:!0,negativeAltitudeExponentBias:this._negativeAltitudeExponentBias,negativeElevationThreshold:this._negativeElevationThreshold});if(!l(g))return;let m=this;return g.then(function(x){return m._mesh=new nh(u,new Float32Array(x.vertices),new Uint16Array(x.indices),x.indexCountWithoutSkirts,x.vertexCountWithoutSkirts,x.minimumHeight,x.maximumHeight,ae.clone(x.boundingSphere3D),h.clone(x.occludeePointInScaledSpace),x.numberOfAttributes,In.clone(x.orientedBoundingBox),qc.clone(x.encoding),x.westIndicesSouthToNorth,x.southIndicesEastToWest,x.eastIndicesNorthToSouth,x.northIndicesWestToEast),m._minimumHeight=x.minimumHeight,m._maximumHeight=x.maximumHeight,m._buffer=void 0,m._mesh})};Gb.prototype.interpolateHeight=function(e,t,n){let i=P.clamp((t-e.west)/e.width,0,1),o=P.clamp((n-e.south)/e.height,0,1);return l(this._mesh)?ZTt(this,i,o):eCt(this,i,o,e)};var YTt=new _i("upsampleQuantizedTerrainMesh",Mm.maximumAsynchronousTasks);Gb.prototype.upsample=function(e,t,n,i,o,r,s){let a=this._mesh;if(!l(this._mesh))return;let c=t*2!==o,u=n*2===r,f=e.ellipsoid,d=e.tileXYToRectangle(o,r,s),p=YTt.scheduleTask({vertices:a.vertices,indices:a.indices,indexCountWithoutSkirts:a.indexCountWithoutSkirts,vertexCountWithoutSkirts:a.vertexCountWithoutSkirts,encoding:a.encoding,minimumHeight:this._minimumHeight,maximumHeight:this._maximumHeight,isEastChild:c,isNorthChild:u,childRectangle:d,ellipsoid:f});if(!l(p))return;let g=this;return p.then(function(m){let x=new Uint16Array(m.vertices),b=Be.createTypedArray(x.length/3,m.indices),T=g._skirtHeight;return new gS({quantizedVertices:x,indices:b,minimumHeight:m.minimumHeight,maximumHeight:m.maximumHeight,boundingSphere:ae.clone(m.boundingSphere),orientedBoundingBox:In.clone(m.orientedBoundingBox),horizonOcclusionPoint:h.clone(m.horizonOcclusionPoint),westIndices:m.westIndices,southIndices:m.southIndices,eastIndices:m.eastIndices,northIndices:m.northIndices,westSkirtHeight:T,southSkirtHeight:T,eastSkirtHeight:T,northSkirtHeight:T,childTileMask:0,createdByUpsampling:!0,credits:g._credits})})};Gb.prototype.isChildAvailable=function(e,t,n,i){let o=2;return n!==e*2&&++o,i!==t*2&&(o-=2),(this._childTileMask&1<<o)!==0};Gb.prototype.wasCreatedByUpsampling=function(){return this._createdByUpsampling};var XTt=new U,KTt=new U,$Tt=new U,QTe=new h;function ZTt(e,t,n){let i=e._mesh,o=i.vertices,r=i.encoding,s=i.indices;for(let a=0,c=s.length;a<c;a+=3){let u=s[a],f=s[a+1],d=s[a+2],p=r.decodeTextureCoordinates(o,u,XTt),g=r.decodeTextureCoordinates(o,f,KTt),m=r.decodeTextureCoordinates(o,d,$Tt),x=s0.computeBarycentricCoordinates(t,n,p.x,p.y,g.x,g.y,m.x,m.y,QTe);if(x.x>=-1e-15&&x.y>=-1e-15&&x.z>=-1e-15){let b=r.decodeHeight(o,u),T=r.decodeHeight(o,f),C=r.decodeHeight(o,d);return x.x*b+x.y*T+x.z*C}}}var QTt=Uint16Array.BYTES_PER_ELEMENT,$Te=Uint32Array.BYTES_PER_ELEMENT,o$=Int32Array.BYTES_PER_ELEMENT,JTt=Float32Array.BYTES_PER_ELEMENT,r$=Float64Array.BYTES_PER_ELEMENT;function eCt(e,t,n,i){let o=e._buffer,r=0,s=0,a=0;n>.5?(t>.5?(r=2,s=.5):r=3,a=.5):t>.5&&(r=1,s=.5);let c=new DataView(o),u=0;for(let w=0;w<r;++w)u+=c.getUint32(u,!0),u+=$Te;u+=$Te,u+=2*r$;let f=P.toRadians(c.getFloat64(u,!0)*180);u+=r$;let d=P.toRadians(c.getFloat64(u,!0)*180);u+=r$;let p=i.width/f/2,g=i.height/d/2,m=c.getInt32(u,!0);u+=o$;let x=c.getInt32(u,!0)*3;u+=o$,u+=o$;let b=new Array(m),T=new Array(m),C=new Array(m),A;for(A=0;A<m;++A)b[A]=s+c.getUint8(u++)*p,T[A]=a+c.getUint8(u++)*g,C[A]=c.getFloat32(u,!0)*6371010,u+=JTt;let S=new Array(x);for(A=0;A<x;++A)S[A]=c.getUint16(u,!0),u+=QTt;for(A=0;A<x;A+=3){let w=S[A],D=S[A+1],O=S[A+2],R=b[w],M=b[D],L=b[O],_=T[w],E=T[D],v=T[O],I=s0.computeBarycentricCoordinates(t,n,R,_,M,E,L,v,QTe);if(I.x>=-1e-15&&I.y>=-1e-15&&I.z>=-1e-15)return I.x*C[w]+I.y*C[D]+I.z*C[O]}}var OP=Gb;var qf={UNKNOWN:0,NONE:1,SELF:2,PARENT:3},_8=new K;function g8(){this._terrainCache={},this._lastTidy=K.now()}g8.prototype.add=function(e,t){this._terrainCache[e]={buffer:t,timestamp:K.now()}};g8.prototype.get=function(e){let n=this._terrainCache[e];if(l(n))return delete this._terrainCache[e],n.buffer};g8.prototype.tidy=function(){if(K.now(_8),K.secondsDifference(_8,this._lastTidy)>10){let e=this._terrainCache,t=Object.keys(e),n=t.length;for(let i=0;i<n;++i){let o=t[i],r=e[o];K.secondsDifference(_8,r.timestamp)>10&&delete e[o]}K.clone(_8,this._lastTidy)}};function u0(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=new qi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new se(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new vt(t)),this._credit=t,this._levelZeroMaximumGeometricError=40075.16,this._terrainCache=new g8,this._terrainPromises={},this._terrainRequests={},this._errorEvent=new me}Object.defineProperties(u0.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tilingScheme:{get:function(){return this._tilingScheme}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});u0.fromMetadata=function(e,t){if(!e.terrainPresent)throw new ce(`The server ${e.url} doesn't have terrain`);let n=new u0(t);return n._metadata=e,n};var tCt=new _i("decodeGoogleEarthEnterprisePacket");function JTe(e,t,n){let i=t.getChildBitmask();if(t.terrainState===qf.PARENT){i=0;for(let o=0;o<4;++o){let r=n.getTileInformationFromQuadKey(e+o.toString());l(r)&&r.hasTerrain()&&(i|=1<<o)}}return i}u0.prototype.requestTileGeometry=function(e,t,n,i){let o=$y.tileXYToQuadKey(e,t,n),r=this._terrainCache,s=this._metadata,a=s.getTileInformationFromQuadKey(o);if(!l(a))return Promise.reject(new ce("Terrain tile doesn't exist"));let c=a.terrainState;l(c)||(c=a.terrainState=qf.UNKNOWN);let u=r.get(o);if(l(u)){let T=s.providers[a.terrainProvider];return Promise.resolve(new OP({buffer:u,childTileMask:JTe(o,a,s),credits:l(T)?[T]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold}))}if(r.tidy(),a.ancestorHasTerrain){if(c===qf.NONE)return Promise.reject(new ce("Terrain tile doesn't exist"))}else return Promise.resolve(new dc({buffer:new Uint8Array(16*16),width:16,height:16}));let f,d=o,p=-1;switch(c){case qf.SELF:p=a.terrainVersion;break;case qf.PARENT:d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),p=f.terrainVersion;break;case qf.UNKNOWN:a.hasTerrain()?p=a.terrainVersion:(d=d.substring(0,d.length-1),f=s.getTileInformationFromQuadKey(d),l(f)&&f.hasTerrain()&&(p=f.terrainVersion));break}if(p<0)return Promise.reject(new ce("Terrain tile doesn't exist"));let g=this._terrainPromises,m=this._terrainRequests,x,b;if(l(g[d]))x=g[d],b=m[d];else{b=i;let T=nCt(this,d,p,b).fetchArrayBuffer();if(!l(T))return;x=T.then(function(C){return l(C)?tCt.scheduleTask({buffer:C,type:"Terrain",key:s.key},[C]).then(function(A){let S=s.getTileInformationFromQuadKey(d);S.terrainState=qf.SELF,r.add(d,A[0]);let w=S.terrainProvider,D=A.length-1;for(let O=0;O<D;++O){let R=d+O.toString(),M=s.getTileInformationFromQuadKey(R);l(M)&&(r.add(R,A[O+1]),M.terrainState=qf.PARENT,M.terrainProvider===0&&(M.terrainProvider=w))}}):Promise.reject(new ce("Failed to load terrain."))}),g[d]=x,m[d]=b,x=x.finally(function(){delete g[d],delete m[d]})}return x.then(function(){let T=r.get(o);if(l(T)){let C=s.providers[a.terrainProvider];return new OP({buffer:T,childTileMask:JTe(o,a,s),credits:l(C)?[C]:void 0,negativeAltitudeExponentBias:s.negativeAltitudeExponentBias,negativeElevationThreshold:s.negativeAltitudeThreshold})}return Promise.reject(new ce("Failed to load terrain."))}).catch(function(T){return b.state===Qn.CANCELLED?(i.state=b.state,Promise.reject(T)):(a.terrainState=qf.NONE,Promise.reject(T))})};u0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};u0.prototype.getTileDataAvailable=function(e,t,n){let i=this._metadata,o=$y.tileXYToQuadKey(e,t,n),r=i.getTileInformation(e,t,n);if(r===null)return!1;if(l(r)){if(!r.ancestorHasTerrain)return!0;let s=r.terrainState;if(s===qf.NONE)return!1;if((!l(s)||s===qf.UNKNOWN)&&(r.terrainState=qf.UNKNOWN,!r.hasTerrain())){o=o.substring(0,o.length-1);let a=i.getTileInformationFromQuadKey(o);if(!l(a)||!a.hasTerrain())return!1}return!0}if(i.isValid(o)){let s=new or({throttle:!1,throttleByServer:!0,type:ps.TERRAIN});i.populateSubtree(e,t,n,s)}return!1};u0.prototype.loadTileDataAvailability=function(e,t,n){};function nCt(e,t,n,i){return n=l(n)&&n>0?n:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1c-0${t}-t.${n.toString()}`,request:i})}var eCe=u0;var MP={};MP.type=void 0;MP.getRequiredDataPoints=de.throwInstantiationError;MP.interpolateOrderZero=de.throwInstantiationError;MP.interpolate=de.throwInstantiationError;var tCe=MP;function s$(e){this._url=ve.createIfNeeded(e),this._url.appendForwardSlash()}Object.defineProperties(s$.prototype,{url:{get:function(){return this._url}},credit:{get:function(){}}});s$.prototype.geocode=async function(e,t){return this._url.getDerivedResource({url:t===Hb.AUTOCOMPLETE?"autocomplete":"search",queryParameters:{text:e}}).fetchJson().then(function(i){return i.features.map(function(o){let r,s=o.bbox;if(l(s))r=se.fromDegrees(s[0],s[1],s[2],s[3]);else{let a=o.geometry.coordinates[0],c=o.geometry.coordinates[1];r=h.fromDegrees(a,c)}return{displayName:o.properties.label,destination:r,attributions:i.attributions}})})};var y8=s$;function a$(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.accessToken,Bh.defaultAccessToken),n=ve.createIfNeeded(y(e.server,Bh.defaultServer));n.appendForwardSlash();let i=Bh.getDefaultTokenCredit(t);l(i)&&e.scene.frameState.creditDisplay.addStaticCredit(vt.clone(i));let o=n.getDerivedResource({url:"v1/geocode"});l(t)&&o.appendQueryParameters({access_token:t}),this._accessToken=t,this._server=n,this._pelias=new y8(o)}Object.defineProperties(a$.prototype,{credit:{get:function(){}}});a$.prototype.geocode=async function(e,t){return this._pelias.geocode(e,t)};var x8=a$;function b8(){de.throwInstantiationError()}Object.defineProperties(b8.prototype,{ellipsoid:{get:de.throwInstantiationError}});b8.prototype.project=de.throwInstantiationError;b8.prototype.unproject=de.throwInstantiationError;var nCe=b8;function IS(e){e=y(e,y.EMPTY_OBJECT);let t=e.weights,n=e.times;this._times=n,this._weights=t,this._count=t.length/n.length,this._lastTimeIndex=0}Object.defineProperties(IS.prototype,{times:{get:function(){return this._times}},weights:{get:function(){return this._weights}}});IS.prototype.findTimeInterval=to.prototype.findTimeInterval;IS.prototype.wrapTime=to.prototype.wrapTime;IS.prototype.clampTime=to.prototype.clampTime;IS.prototype.evaluate=function(e,t){let n=this.weights,i=this.times,o=this._lastTimeIndex=this.findTimeInterval(e,this._lastTimeIndex),r=(e-i[o])/(i[o+1]-i[o]);l(t)||(t=new Array(this._count));for(let s=0;s<this._count;s++){let a=o*this._count+s;t[s]=n[a]*(1-r)+n[a+this._count]*r}return t};var iCe=IS;function c$(e,t,n){e=ve.createIfNeeded(e),e.appendForwardSlash(),e.setQueryParameters({key:t}),this._url=e,this._params=y(n,{}),this._credit=new vt('Geodata copyright <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors',!1)}Object.defineProperties(c$.prototype,{url:{get:function(){return this._url}},params:{get:function(){return this._params}},credit:{get:function(){return this._credit}}});c$.prototype.geocode=async function(e){return this._url.getDerivedResource({url:"json",queryParameters:xt(this._params,{q:e})}).fetchJson().then(function(n){return n.results.map(function(i){let o,r=i.bounds;if(l(r))o=se.fromDegrees(r.southwest.lng,r.southwest.lat,r.northeast.lng,r.northeast.lat);else{let s=i.geometry.lat,a=i.geometry.lng;o=h.fromDegrees(s,a)}return{displayName:i.formatted,destination:o}})})};var oCe=c$;var iCt={packedLength:void 0,pack:de.throwInstantiationError,unpack:de.throwInstantiationError},rCe=iCt;var oCt={packedInterpolationLength:void 0,convertPackedArrayForInterpolation:de.throwInstantiationError,unpackInterpolationResult:de.throwInstantiationError},sCe=oCt;var rCt=new h;function sCt(e,t,n,i){let o=LT(e,t,n,i,rCt);return l(o)?o.x>0&&o.y>0&&o.z>0:!1}var aCe=sCt;function cCe(){de.throwInstantiationError()}cCe.prototype.getURL=de.throwInstantiationError;var lCe=cCe;function aCt(e,t,n,i,o,r,s){let a=Ri.numberOfPoints(e,t,o),c,u=n.red,f=n.green,d=n.blue,p=n.alpha,g=i.red,m=i.green,x=i.blue,b=i.alpha;if(H.equals(n,i)){for(c=0;c<a;c++)r[s++]=H.floatToByte(u),r[s++]=H.floatToByte(f),r[s++]=H.floatToByte(d),r[s++]=H.floatToByte(p);return s}let T=(g-u)/a,C=(m-f)/a,A=(x-d)/a,S=(b-p)/a,w=s;for(c=0;c<a;c++)r[w++]=H.floatToByte(u+c*T),r[w++]=H.floatToByte(f+c*C),r[w++]=H.floatToByte(d+c*A),r[w++]=H.floatToByte(p+c*S);return w}function LP(e){e=y(e,y.EMPTY_OBJECT);let t=e.positions,n=e.colors,i=y(e.colorsPerVertex,!1);this._positions=t,this._colors=n,this._colorsPerVertex=i,this._arcType=y(e.arcType,nn.GEODESIC),this._granularity=y(e.granularity,P.RADIANS_PER_DEGREE),this._ellipsoid=y(e.ellipsoid,ee.default),this._workerName="createSimplePolylineGeometry";let o=1+t.length*h.packedLength;o+=l(n)?1+n.length*H.packedLength:1,this.packedLength=o+ee.packedLength+3}LP.pack=function(e,t,n){n=y(n,0);let i,o=e._positions,r=o.length;for(t[n++]=r,i=0;i<r;++i,n+=h.packedLength)h.pack(o[i],t,n);let s=e._colors;for(r=l(s)?s.length:0,t[n++]=r,i=0;i<r;++i,n+=H.packedLength)H.pack(s[i],t,n);return ee.pack(e._ellipsoid,t,n),n+=ee.packedLength,t[n++]=e._colorsPerVertex?1:0,t[n++]=e._arcType,t[n]=e._granularity,t};LP.unpack=function(e,t,n){t=y(t,0);let i,o=e[t++],r=new Array(o);for(i=0;i<o;++i,t+=h.packedLength)r[i]=h.unpack(e,t);o=e[t++];let s=o>0?new Array(o):void 0;for(i=0;i<o;++i,t+=H.packedLength)s[i]=H.unpack(e,t);let a=ee.unpack(e,t);t+=ee.packedLength;let c=e[t++]===1,u=e[t++],f=e[t];return l(n)?(n._positions=r,n._colors=s,n._ellipsoid=a,n._colorsPerVertex=c,n._arcType=u,n._granularity=f,n):new LP({positions:r,colors:s,ellipsoid:a,colorsPerVertex:c,arcType:u,granularity:f})};var T8=new Array(2),C8=new Array(2),cCt={positions:T8,height:C8,ellipsoid:void 0,minDistance:void 0,granularity:void 0};LP.createGeometry=function(e){let t=e._positions,n=e._colors,i=e._colorsPerVertex,o=e._arcType,r=e._granularity,s=e._ellipsoid,a=P.chordLength(r,s.maximumRadius),c=l(n)&&!i,u,f=t.length,d,p,g,m,x=0;if(o===nn.GEODESIC||o===nn.RHUMB){let S,w,D;o===nn.GEODESIC?(S=P.chordLength(r,s.maximumRadius),w=Ri.numberOfPoints,D=Ri.generateArc):(S=r,w=Ri.numberOfPointsRhumbLine,D=Ri.generateRhumbArc);let O=Ri.extractHeights(t,s),R=cCt;if(o===nn.GEODESIC?R.minDistance=a:R.granularity=r,R.ellipsoid=s,c){let M=0;for(u=0;u<f-1;u++)M+=w(t[u],t[u+1],S)+1;d=new Float64Array(M*3),g=new Uint8Array(M*4),R.positions=T8,R.height=C8;let L=0;for(u=0;u<f-1;++u){T8[0]=t[u],T8[1]=t[u+1],C8[0]=O[u],C8[1]=O[u+1];let _=D(R);if(l(n)){let E=_.length/3;m=n[u];for(let v=0;v<E;++v)g[L++]=H.floatToByte(m.red),g[L++]=H.floatToByte(m.green),g[L++]=H.floatToByte(m.blue),g[L++]=H.floatToByte(m.alpha)}d.set(_,x),x+=_.length}}else if(R.positions=t,R.height=O,d=new Float64Array(D(R)),l(n)){for(g=new Uint8Array(d.length/3*4),u=0;u<f-1;++u){let L=t[u],_=t[u+1],E=n[u],v=n[u+1];x=aCt(L,_,E,v,a,g,x)}let M=n[f-1];g[x++]=H.floatToByte(M.red),g[x++]=H.floatToByte(M.green),g[x++]=H.floatToByte(M.blue),g[x++]=H.floatToByte(M.alpha)}}else{p=c?f*2-2:f,d=new Float64Array(p*3),g=l(n)?new Uint8Array(p*4):void 0;let S=0,w=0;for(u=0;u<f;++u){let D=t[u];if(c&&u>0&&(h.pack(D,d,S),S+=3,m=n[u-1],g[w++]=H.floatToByte(m.red),g[w++]=H.floatToByte(m.green),g[w++]=H.floatToByte(m.blue),g[w++]=H.floatToByte(m.alpha)),c&&u===f-1)break;h.pack(D,d,S),S+=3,l(n)&&(m=n[u],g[w++]=H.floatToByte(m.red),g[w++]=H.floatToByte(m.green),g[w++]=H.floatToByte(m.blue),g[w++]=H.floatToByte(m.alpha))}}let b=new mn;b.position=new Ee({componentDatatype:X.DOUBLE,componentsPerAttribute:3,values:d}),l(n)&&(b.color=new Ee({componentDatatype:X.UNSIGNED_BYTE,componentsPerAttribute:4,values:g,normalize:!0})),p=d.length/3;let T=(p-1)*2,C=Be.createTypedArray(p,T),A=0;for(u=0;u<p-1;++u)C[A++]=u,C[A++]=u+1;return new dt({attributes:b,indices:C,primitiveType:Fe.LINES,boundingSphere:ae.fromPoints(t)})};var uCe=LP;function PS(e){let t=y(e.radius,1),i={radii:new h(t,t,t),stackPartitions:e.stackPartitions,slicePartitions:e.slicePartitions,vertexFormat:e.vertexFormat};this._ellipsoidGeometry=new la(i),this._workerName="createSphereGeometry"}PS.packedLength=la.packedLength;PS.pack=function(e,t,n){return la.pack(e._ellipsoidGeometry,t,n)};var lCt=new la,f0={radius:void 0,radii:new h,vertexFormat:new Pe,stackPartitions:void 0,slicePartitions:void 0};PS.unpack=function(e,t,n){let i=la.unpack(e,t,lCt);return f0.vertexFormat=Pe.clone(i._vertexFormat,f0.vertexFormat),f0.stackPartitions=i._stackPartitions,f0.slicePartitions=i._slicePartitions,l(n)?(h.clone(i._radii,f0.radii),n._ellipsoidGeometry=new la(f0),n):(f0.radius=i._radii.x,new PS(f0))};PS.createGeometry=function(e){return la.createGeometry(e._ellipsoidGeometry)};var fCe=PS;function d0(e){}Object.defineProperties(d0.prototype,{ellipsoid:{get:de.throwInstantiationError},rectangle:{get:de.throwInstantiationError},projection:{get:de.throwInstantiationError}});d0.prototype.getNumberOfXTilesAtLevel=de.throwInstantiationError;d0.prototype.getNumberOfYTilesAtLevel=de.throwInstantiationError;d0.prototype.rectangleToNativeRectangle=de.throwInstantiationError;d0.prototype.tileXYToNativeRectangle=de.throwInstantiationError;d0.prototype.tileXYToRectangle=de.throwInstantiationError;d0.prototype.positionToTileXY=de.throwInstantiationError;var dCe=d0;function Wb(e){e=y(e,y.EMPTY_OBJECT),this._clock=void 0,this._element=void 0,this._clockSubscription=void 0,this._seekFunction=void 0,this._lastPlaybackRate=void 0,this.clock=e.clock,this.element=e.element,this.epoch=y(e.epoch,He.MINIMUM_VALUE),this.tolerance=y(e.tolerance,1),this._seeking=!1,this._seekFunction=void 0,this._firstTickAfterSeek=!1}Object.defineProperties(Wb.prototype,{clock:{get:function(){return this._clock},set:function(e){let t=this._clock;t!==e&&(l(t)&&(this._clockSubscription(),this._clockSubscription=void 0),l(e)&&(this._clockSubscription=e.onTick.addEventListener(Wb.prototype._onTick,this)),this._clock=e)}},element:{get:function(){return this._element},set:function(e){let t=this._element;t!==e&&(l(t)&&t.removeEventListener("seeked",this._seekFunction,!1),l(e)&&(this._seeking=!1,this._seekFunction=uCt(this),e.addEventListener("seeked",this._seekFunction,!1)),this._element=e,this._seeking=!1,this._firstTickAfterSeek=!1)}}});Wb.prototype.destroy=function(){return this.element=void 0,this.clock=void 0,ue(this)};Wb.prototype.isDestroyed=function(){return!1};Wb.prototype._trySetPlaybackRate=function(e){if(this._lastPlaybackRate===e.multiplier)return;let t=this._element;try{t.playbackRate=e.multiplier}catch{t.playbackRate=0}this._lastPlaybackRate=e.multiplier};Wb.prototype._onTick=function(e){let t=this._element;if(!l(t)||t.readyState<2)return;let n=t.paused,i=e.shouldAnimate;if(i===n&&(i?t.play():t.pause()),this._seeking||this._firstTickAfterSeek){this._firstTickAfterSeek=!1;return}this._trySetPlaybackRate(e);let o=e.currentTime,r=y(this.epoch,He.MINIMUM_VALUE),s=K.secondsDifference(o,r),a=t.duration,c,u=t.currentTime;t.loop?(s=s%a,s<0&&(s=a-s),c=s):s>a?c=a:s<0?c=0:c=s;let f=i?y(this.tolerance,1):.001;Math.abs(c-u)>f&&(this._seeking=!0,t.currentTime=c)};function uCt(e){return function(){e._seeking=!1,e._firstTickAfterSeek=!0}}var hCe=Wb;function fCt(e,t){this.rectangle=e,this.maxLevel=t}function mCe(e){this.ellipsoid=y(e.ellipsoid,ee.default),this.tilingScheme=void 0,this.heightmapWidth=void 0,this.heightmapHeight=void 0,this.levelZeroMaximumGeometricError=void 0,this.rectangles=[]}mCe.prototype.build=function(e){e._tilingScheme=this.tilingScheme,e._heightmapWidth=this.heightmapWidth,e._heightmapHeight=this.heightmapHeight,e._levelZeroMaximumGeometricError=this.levelZeroMaximumGeometricError,e._rectangles=this.rectangles};function dCt(e,t){let n=t.getElementsByTagName("SRS")[0].textContent;if(n==="EPSG:4326")e.tilingScheme=new qi({ellipsoid:e.ellipsoid});else throw new ce(`SRS ${n} is not supported`);let i=t.getElementsByTagName("TileFormat")[0];e.heightmapWidth=parseInt(i.getAttribute("width"),10),e.heightmapHeight=parseInt(i.getAttribute("height"),10),e.levelZeroMaximumGeometricError=ls.getEstimatedLevelZeroGeometricErrorForAHeightmap(e.ellipsoid,Math.min(e.heightmapWidth,e.heightmapHeight),e.tilingScheme.getNumberOfXTilesAtLevel(0));let o=t.getElementsByTagName("DataExtent");for(let r=0;r<o.length;++r){let s=o[r],a=P.toRadians(parseFloat(s.getAttribute("minx"))),c=P.toRadians(parseFloat(s.getAttribute("miny"))),u=P.toRadians(parseFloat(s.getAttribute("maxx"))),f=P.toRadians(parseFloat(s.getAttribute("maxy"))),d=parseInt(s.getAttribute("maxlevel"),10);e.rectangles.push(new fCt(new se(a,c,u,f),d))}}function hCt(e,t,n){let i=`An error occurred while accessing ${e.url}`;throw l(t)&&l(t.message)&&(i=`${i}: ${t.message}`),vo.reportError(void 0,n,l(n)?n._errorEvent:void 0,i),new ce(i)}async function mCt(e,t,n){try{let i=await t.fetchXML();dCt(e,i)}catch(i){hCt(t,i,n)}}function h0(e){e=y(e,y.EMPTY_OBJECT),this._errorEvent=new me,this._terrainDataStructure={heightScale:1/1e3,heightOffset:-1e3,elementsPerHeight:3,stride:4,elementMultiplier:256,isBigEndian:!0,lowestEncodedHeight:0,highestEncodedHeight:256*256*256-1};let t=e.credit;typeof t=="string"&&(t=new vt(t)),this._credit=t,this._tilingScheme=void 0,this._rectangles=[]}Object.defineProperties(h0.prototype,{errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},tilingScheme:{get:function(){return this._tilingScheme}},hasWaterMask:{get:function(){return!1}},hasVertexNormals:{get:function(){return!1}},availability:{get:function(){}}});h0.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=new mCe(t),i=ve.createIfNeeded(e);await mCt(n,i);let o=new h0(t);return n.build(o),o._resource=i,o};h0.prototype.requestTileGeometry=function(e,t,n,i){let o=this._tilingScheme.getNumberOfYTilesAtLevel(n),s=this._resource.getDerivedResource({url:`${n}/${e}/${o-t-1}.tif`,queryParameters:{cesium:!0},request:i}).fetchImage({preferImageBitmap:!0});if(!l(s))return;let a=this;return Promise.resolve(s).then(function(c){return new dc({buffer:_h(c),width:a._heightmapWidth,height:a._heightmapHeight,childTileMask:pCt(a,e,t,n),structure:a._terrainDataStructure})})};h0.prototype.getLevelMaximumGeometricError=function(e){return this._levelZeroMaximumGeometricError/(1<<e)};var pCe=new se;function pCt(e,t,n,i){let o=e._tilingScheme,r=e._rectangles,s=o.tileXYToRectangle(t,n,i),a=0;for(let c=0;c<r.length&&a!==15;++c){let u=r[c];if(u.maxLevel<=i)continue;let f=u.rectangle,d=se.intersection(f,s,pCe);l(d)&&(A8(o,f,t*2,n*2,i+1)&&(a|=4),A8(o,f,t*2+1,n*2,i+1)&&(a|=8),A8(o,f,t*2,n*2+1,i+1)&&(a|=1),A8(o,f,t*2+1,n*2+1,i+1)&&(a|=2))}return a}function A8(e,t,n,i,o){let r=e.tileXYToRectangle(n,i,o);return l(se.intersection(r,t,pCe))}h0.prototype.getTileDataAvailable=function(e,t,n){};h0.prototype.loadTileDataAvailability=function(e,t,n){};var _Ce=h0;var _Ct={VK_FORMAT_UNDEFINED:0,VK_FORMAT_R4G4_UNORM_PACK8:1,VK_FORMAT_R4G4B4A4_UNORM_PACK16:2,VK_FORMAT_B4G4R4A4_UNORM_PACK16:3,VK_FORMAT_R5G6B5_UNORM_PACK16:4,VK_FORMAT_B5G6R5_UNORM_PACK16:5,VK_FORMAT_R5G5B5A1_UNORM_PACK16:6,VK_FORMAT_B5G5R5A1_UNORM_PACK16:7,VK_FORMAT_A1R5G5B5_UNORM_PACK16:8,VK_FORMAT_R8_UNORM:9,VK_FORMAT_R8_SNORM:10,VK_FORMAT_R8_USCALED:11,VK_FORMAT_R8_SSCALED:12,VK_FORMAT_R8_UINT:13,VK_FORMAT_R8_SINT:14,VK_FORMAT_R8_SRGB:15,VK_FORMAT_R8G8_UNORM:16,VK_FORMAT_R8G8_SNORM:17,VK_FORMAT_R8G8_USCALED:18,VK_FORMAT_R8G8_SSCALED:19,VK_FORMAT_R8G8_UINT:20,VK_FORMAT_R8G8_SINT:21,VK_FORMAT_R8G8_SRGB:22,VK_FORMAT_R8G8B8_UNORM:23,VK_FORMAT_R8G8B8_SNORM:24,VK_FORMAT_R8G8B8_USCALED:25,VK_FORMAT_R8G8B8_SSCALED:26,VK_FORMAT_R8G8B8_UINT:27,VK_FORMAT_R8G8B8_SINT:28,VK_FORMAT_R8G8B8_SRGB:29,VK_FORMAT_B8G8R8_UNORM:30,VK_FORMAT_B8G8R8_SNORM:31,VK_FORMAT_B8G8R8_USCALED:32,VK_FORMAT_B8G8R8_SSCALED:33,VK_FORMAT_B8G8R8_UINT:34,VK_FORMAT_B8G8R8_SINT:35,VK_FORMAT_B8G8R8_SRGB:36,VK_FORMAT_R8G8B8A8_UNORM:37,VK_FORMAT_R8G8B8A8_SNORM:38,VK_FORMAT_R8G8B8A8_USCALED:39,VK_FORMAT_R8G8B8A8_SSCALED:40,VK_FORMAT_R8G8B8A8_UINT:41,VK_FORMAT_R8G8B8A8_SINT:42,VK_FORMAT_R8G8B8A8_SRGB:43,VK_FORMAT_B8G8R8A8_UNORM:44,VK_FORMAT_B8G8R8A8_SNORM:45,VK_FORMAT_B8G8R8A8_USCALED:46,VK_FORMAT_B8G8R8A8_SSCALED:47,VK_FORMAT_B8G8R8A8_UINT:48,VK_FORMAT_B8G8R8A8_SINT:49,VK_FORMAT_B8G8R8A8_SRGB:50,VK_FORMAT_A8B8G8R8_UNORM_PACK32:51,VK_FORMAT_A8B8G8R8_SNORM_PACK32:52,VK_FORMAT_A8B8G8R8_USCALED_PACK32:53,VK_FORMAT_A8B8G8R8_SSCALED_PACK32:54,VK_FORMAT_A8B8G8R8_UINT_PACK32:55,VK_FORMAT_A8B8G8R8_SINT_PACK32:56,VK_FORMAT_A8B8G8R8_SRGB_PACK32:57,VK_FORMAT_A2R10G10B10_UNORM_PACK32:58,VK_FORMAT_A2R10G10B10_SNORM_PACK32:59,VK_FORMAT_A2R10G10B10_USCALED_PACK32:60,VK_FORMAT_A2R10G10B10_SSCALED_PACK32:61,VK_FORMAT_A2R10G10B10_UINT_PACK32:62,VK_FORMAT_A2R10G10B10_SINT_PACK32:63,VK_FORMAT_A2B10G10R10_UNORM_PACK32:64,VK_FORMAT_A2B10G10R10_SNORM_PACK32:65,VK_FORMAT_A2B10G10R10_USCALED_PACK32:66,VK_FORMAT_A2B10G10R10_SSCALED_PACK32:67,VK_FORMAT_A2B10G10R10_UINT_PACK32:68,VK_FORMAT_A2B10G10R10_SINT_PACK32:69,VK_FORMAT_R16_UNORM:70,VK_FORMAT_R16_SNORM:71,VK_FORMAT_R16_USCALED:72,VK_FORMAT_R16_SSCALED:73,VK_FORMAT_R16_UINT:74,VK_FORMAT_R16_SINT:75,VK_FORMAT_R16_SFLOAT:76,VK_FORMAT_R16G16_UNORM:77,VK_FORMAT_R16G16_SNORM:78,VK_FORMAT_R16G16_USCALED:79,VK_FORMAT_R16G16_SSCALED:80,VK_FORMAT_R16G16_UINT:81,VK_FORMAT_R16G16_SINT:82,VK_FORMAT_R16G16_SFLOAT:83,VK_FORMAT_R16G16B16_UNORM:84,VK_FORMAT_R16G16B16_SNORM:85,VK_FORMAT_R16G16B16_USCALED:86,VK_FORMAT_R16G16B16_SSCALED:87,VK_FORMAT_R16G16B16_UINT:88,VK_FORMAT_R16G16B16_SINT:89,VK_FORMAT_R16G16B16_SFLOAT:90,VK_FORMAT_R16G16B16A16_UNORM:91,VK_FORMAT_R16G16B16A16_SNORM:92,VK_FORMAT_R16G16B16A16_USCALED:93,VK_FORMAT_R16G16B16A16_SSCALED:94,VK_FORMAT_R16G16B16A16_UINT:95,VK_FORMAT_R16G16B16A16_SINT:96,VK_FORMAT_R16G16B16A16_SFLOAT:97,VK_FORMAT_R32_UINT:98,VK_FORMAT_R32_SINT:99,VK_FORMAT_R32_SFLOAT:100,VK_FORMAT_R32G32_UINT:101,VK_FORMAT_R32G32_SINT:102,VK_FORMAT_R32G32_SFLOAT:103,VK_FORMAT_R32G32B32_UINT:104,VK_FORMAT_R32G32B32_SINT:105,VK_FORMAT_R32G32B32_SFLOAT:106,VK_FORMAT_R32G32B32A32_UINT:107,VK_FORMAT_R32G32B32A32_SINT:108,VK_FORMAT_R32G32B32A32_SFLOAT:109,VK_FORMAT_R64_UINT:110,VK_FORMAT_R64_SINT:111,VK_FORMAT_R64_SFLOAT:112,VK_FORMAT_R64G64_UINT:113,VK_FORMAT_R64G64_SINT:114,VK_FORMAT_R64G64_SFLOAT:115,VK_FORMAT_R64G64B64_UINT:116,VK_FORMAT_R64G64B64_SINT:117,VK_FORMAT_R64G64B64_SFLOAT:118,VK_FORMAT_R64G64B64A64_UINT:119,VK_FORMAT_R64G64B64A64_SINT:120,VK_FORMAT_R64G64B64A64_SFLOAT:121,VK_FORMAT_B10G11R11_UFLOAT_PACK32:122,VK_FORMAT_E5B9G9R9_UFLOAT_PACK32:123,VK_FORMAT_D16_UNORM:124,VK_FORMAT_X8_D24_UNORM_PACK32:125,VK_FORMAT_D32_SFLOAT:126,VK_FORMAT_S8_UINT:127,VK_FORMAT_D16_UNORM_S8_UINT:128,VK_FORMAT_D24_UNORM_S8_UINT:129,VK_FORMAT_D32_SFLOAT_S8_UINT:130,VK_FORMAT_BC1_RGB_UNORM_BLOCK:131,VK_FORMAT_BC1_RGB_SRGB_BLOCK:132,VK_FORMAT_BC1_RGBA_UNORM_BLOCK:133,VK_FORMAT_BC1_RGBA_SRGB_BLOCK:134,VK_FORMAT_BC2_UNORM_BLOCK:135,VK_FORMAT_BC2_SRGB_BLOCK:136,VK_FORMAT_BC3_UNORM_BLOCK:137,VK_FORMAT_BC3_SRGB_BLOCK:138,VK_FORMAT_BC4_UNORM_BLOCK:139,VK_FORMAT_BC4_SNORM_BLOCK:140,VK_FORMAT_BC5_UNORM_BLOCK:141,VK_FORMAT_BC5_SNORM_BLOCK:142,VK_FORMAT_BC6H_UFLOAT_BLOCK:143,VK_FORMAT_BC6H_SFLOAT_BLOCK:144,VK_FORMAT_BC7_UNORM_BLOCK:145,VK_FORMAT_BC7_SRGB_BLOCK:146,VK_FORMAT_ETC2_R8G8B8_UNORM_BLOCK:147,VK_FORMAT_ETC2_R8G8B8_SRGB_BLOCK:148,VK_FORMAT_ETC2_R8G8B8A1_UNORM_BLOCK:149,VK_FORMAT_ETC2_R8G8B8A1_SRGB_BLOCK:150,VK_FORMAT_ETC2_R8G8B8A8_UNORM_BLOCK:151,VK_FORMAT_ETC2_R8G8B8A8_SRGB_BLOCK:152,VK_FORMAT_EAC_R11_UNORM_BLOCK:153,VK_FORMAT_EAC_R11_SNORM_BLOCK:154,VK_FORMAT_EAC_R11G11_UNORM_BLOCK:155,VK_FORMAT_EAC_R11G11_SNORM_BLOCK:156,VK_FORMAT_ASTC_4x4_UNORM_BLOCK:157,VK_FORMAT_ASTC_4x4_SRGB_BLOCK:158,VK_FORMAT_ASTC_5x4_UNORM_BLOCK:159,VK_FORMAT_ASTC_5x4_SRGB_BLOCK:160,VK_FORMAT_ASTC_5x5_UNORM_BLOCK:161,VK_FORMAT_ASTC_5x5_SRGB_BLOCK:162,VK_FORMAT_ASTC_6x5_UNORM_BLOCK:163,VK_FORMAT_ASTC_6x5_SRGB_BLOCK:164,VK_FORMAT_ASTC_6x6_UNORM_BLOCK:165,VK_FORMAT_ASTC_6x6_SRGB_BLOCK:166,VK_FORMAT_ASTC_8x5_UNORM_BLOCK:167,VK_FORMAT_ASTC_8x5_SRGB_BLOCK:168,VK_FORMAT_ASTC_8x6_UNORM_BLOCK:169,VK_FORMAT_ASTC_8x6_SRGB_BLOCK:170,VK_FORMAT_ASTC_8x8_UNORM_BLOCK:171,VK_FORMAT_ASTC_8x8_SRGB_BLOCK:172,VK_FORMAT_ASTC_10x5_UNORM_BLOCK:173,VK_FORMAT_ASTC_10x5_SRGB_BLOCK:174,VK_FORMAT_ASTC_10x6_UNORM_BLOCK:175,VK_FORMAT_ASTC_10x6_SRGB_BLOCK:176,VK_FORMAT_ASTC_10x8_UNORM_BLOCK:177,VK_FORMAT_ASTC_10x8_SRGB_BLOCK:178,VK_FORMAT_ASTC_10x10_UNORM_BLOCK:179,VK_FORMAT_ASTC_10x10_SRGB_BLOCK:180,VK_FORMAT_ASTC_12x10_UNORM_BLOCK:181,VK_FORMAT_ASTC_12x10_SRGB_BLOCK:182,VK_FORMAT_ASTC_12x12_UNORM_BLOCK:183,VK_FORMAT_ASTC_12x12_SRGB_BLOCK:184,VK_FORMAT_G8B8G8R8_422_UNORM:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM:1000156006,VK_FORMAT_R10X6_UNORM_PACK16:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16:1000156016,VK_FORMAT_R12X4_UNORM_PACK16:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM:1000156033,VK_FORMAT_PVRTC1_2BPP_UNORM_BLOCK_IMG:1000054e3,VK_FORMAT_PVRTC1_4BPP_UNORM_BLOCK_IMG:1000054001,VK_FORMAT_PVRTC2_2BPP_UNORM_BLOCK_IMG:1000054002,VK_FORMAT_PVRTC2_4BPP_UNORM_BLOCK_IMG:1000054003,VK_FORMAT_PVRTC1_2BPP_SRGB_BLOCK_IMG:1000054004,VK_FORMAT_PVRTC1_4BPP_SRGB_BLOCK_IMG:1000054005,VK_FORMAT_PVRTC2_2BPP_SRGB_BLOCK_IMG:1000054006,VK_FORMAT_PVRTC2_4BPP_SRGB_BLOCK_IMG:1000054007,VK_FORMAT_ASTC_4x4_SFLOAT_BLOCK_EXT:1000066e3,VK_FORMAT_ASTC_5x4_SFLOAT_BLOCK_EXT:1000066001,VK_FORMAT_ASTC_5x5_SFLOAT_BLOCK_EXT:1000066002,VK_FORMAT_ASTC_6x5_SFLOAT_BLOCK_EXT:1000066003,VK_FORMAT_ASTC_6x6_SFLOAT_BLOCK_EXT:1000066004,VK_FORMAT_ASTC_8x5_SFLOAT_BLOCK_EXT:1000066005,VK_FORMAT_ASTC_8x6_SFLOAT_BLOCK_EXT:1000066006,VK_FORMAT_ASTC_8x8_SFLOAT_BLOCK_EXT:1000066007,VK_FORMAT_ASTC_10x5_SFLOAT_BLOCK_EXT:1000066008,VK_FORMAT_ASTC_10x6_SFLOAT_BLOCK_EXT:1000066009,VK_FORMAT_ASTC_10x8_SFLOAT_BLOCK_EXT:1000066010,VK_FORMAT_ASTC_10x10_SFLOAT_BLOCK_EXT:1000066011,VK_FORMAT_ASTC_12x10_SFLOAT_BLOCK_EXT:1000066012,VK_FORMAT_ASTC_12x12_SFLOAT_BLOCK_EXT:1000066013,VK_FORMAT_G8B8G8R8_422_UNORM_KHR:1000156e3,VK_FORMAT_B8G8R8G8_422_UNORM_KHR:1000156001,VK_FORMAT_G8_B8_R8_3PLANE_420_UNORM_KHR:1000156002,VK_FORMAT_G8_B8R8_2PLANE_420_UNORM_KHR:1000156003,VK_FORMAT_G8_B8_R8_3PLANE_422_UNORM_KHR:1000156004,VK_FORMAT_G8_B8R8_2PLANE_422_UNORM_KHR:1000156005,VK_FORMAT_G8_B8_R8_3PLANE_444_UNORM_KHR:1000156006,VK_FORMAT_R10X6_UNORM_PACK16_KHR:1000156007,VK_FORMAT_R10X6G10X6_UNORM_2PACK16_KHR:1000156008,VK_FORMAT_R10X6G10X6B10X6A10X6_UNORM_4PACK16_KHR:1000156009,VK_FORMAT_G10X6B10X6G10X6R10X6_422_UNORM_4PACK16_KHR:1000156010,VK_FORMAT_B10X6G10X6R10X6G10X6_422_UNORM_4PACK16_KHR:1000156011,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_420_UNORM_3PACK16_KHR:1000156012,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_420_UNORM_3PACK16_KHR:1000156013,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_422_UNORM_3PACK16_KHR:1000156014,VK_FORMAT_G10X6_B10X6R10X6_2PLANE_422_UNORM_3PACK16_KHR:1000156015,VK_FORMAT_G10X6_B10X6_R10X6_3PLANE_444_UNORM_3PACK16_KHR:1000156016,VK_FORMAT_R12X4_UNORM_PACK16_KHR:1000156017,VK_FORMAT_R12X4G12X4_UNORM_2PACK16_KHR:1000156018,VK_FORMAT_R12X4G12X4B12X4A12X4_UNORM_4PACK16_KHR:1000156019,VK_FORMAT_G12X4B12X4G12X4R12X4_422_UNORM_4PACK16_KHR:1000156020,VK_FORMAT_B12X4G12X4R12X4G12X4_422_UNORM_4PACK16_KHR:1000156021,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_420_UNORM_3PACK16_KHR:1000156022,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_420_UNORM_3PACK16_KHR:1000156023,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_422_UNORM_3PACK16_KHR:1000156024,VK_FORMAT_G12X4_B12X4R12X4_2PLANE_422_UNORM_3PACK16_KHR:1000156025,VK_FORMAT_G12X4_B12X4_R12X4_3PLANE_444_UNORM_3PACK16_KHR:1000156026,VK_FORMAT_G16B16G16R16_422_UNORM_KHR:1000156027,VK_FORMAT_B16G16R16G16_422_UNORM_KHR:1000156028,VK_FORMAT_G16_B16_R16_3PLANE_420_UNORM_KHR:1000156029,VK_FORMAT_G16_B16R16_2PLANE_420_UNORM_KHR:1000156030,VK_FORMAT_G16_B16_R16_3PLANE_422_UNORM_KHR:1000156031,VK_FORMAT_G16_B16R16_2PLANE_422_UNORM_KHR:1000156032,VK_FORMAT_G16_B16_R16_3PLANE_444_UNORM_KHR:1000156033},gCe=Object.freeze(_Ct);function gCt(e){switch(e){case te.FLOAT:return"float";case te.FLOAT_VEC2:return"vec2";case te.FLOAT_VEC3:return"vec3";case te.FLOAT_VEC4:return"vec4";case te.FLOAT_MAT2:return"mat2";case te.FLOAT_MAT3:return"mat3";case te.FLOAT_MAT4:return"mat4";case te.SAMPLER_2D:return"sampler2D";case te.BOOL:return"bool"}}var yCe=gCt;function yCt(e,t,n){return function(){n.apply(e,arguments),t.apply(e,arguments)}}var E8=yCt;function xCt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,ct.RGBA),this.pixelDatatype=y(e.pixelDatatype,nt.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=ve.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?wn.REPEAT:wn.CLAMP_TO_EDGE;this.sampler=new tn({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var xCe=xCt;var bCt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},bCe=Object.freeze(bCt);var TCe=`uniform sampler2D u_depthTexture; +`;function Kb(e){e=y(e,y.EMPTY_OBJECT);let t=y(e.translucent,!0),n=y(e.aboveGround,!1);this.material=l(e.material)?e.material:Yi.fromType(Yi.ColorType),this.translucent=y(e.translucent,!0),this._vertexShaderSource=y(e.vertexShaderSource,u8),this._fragmentShaderSource=y(e.fragmentShaderSource,l8),this._renderState=oo.getDefaultRenderState(t,!n,e.renderState),this._closed=!1,this._flat=y(e.flat,!1),this._faceForward=y(e.faceForward,n),this._aboveGround=n}Object.defineProperties(Kb.prototype,{vertexShaderSource:{get:function(){return this._vertexShaderSource}},fragmentShaderSource:{get:function(){return this._fragmentShaderSource}},renderState:{get:function(){return this._renderState}},closed:{get:function(){return this._closed}},vertexFormat:{get:function(){return Kb.VERTEX_FORMAT}},flat:{get:function(){return this._flat}},faceForward:{get:function(){return this._faceForward}},aboveGround:{get:function(){return this._aboveGround}}});Kb.VERTEX_FORMAT=Pe.POSITION_AND_ST;Kb.prototype.getFragmentShaderSource=oo.prototype.getFragmentShaderSource;Kb.prototype.isTranslucent=oo.prototype.isTranslucent;Kb.prototype.getRenderState=oo.prototype.getRenderState;var tCe=Kb;function Vl(e){this._scene=e.scene,this.samplingWindow=y(e.samplingWindow,Vl.defaultSettings.samplingWindow),this.quietPeriod=y(e.quietPeriod,Vl.defaultSettings.quietPeriod),this.warmupPeriod=y(e.warmupPeriod,Vl.defaultSettings.warmupPeriod),this.minimumFrameRateDuringWarmup=y(e.minimumFrameRateDuringWarmup,Vl.defaultSettings.minimumFrameRateDuringWarmup),this.minimumFrameRateAfterWarmup=y(e.minimumFrameRateAfterWarmup,Vl.defaultSettings.minimumFrameRateAfterWarmup),this._lowFrameRate=new me,this._nominalFrameRate=new me,this._frameTimes=[],this._needsQuietPeriod=!0,this._quietPeriodEndTime=0,this._warmupPeriodEndTime=0,this._frameRateIsLow=!1,this._lastFramesPerSecond=void 0,this._pauseCount=0;let t=this;this._preUpdateRemoveListener=this._scene.preUpdate.addEventListener(function(o,r){sCt(t,r)}),this._hiddenPropertyName=document.hidden!==void 0?"hidden":document.mozHidden!==void 0?"mozHidden":document.msHidden!==void 0?"msHidden":document.webkitHidden!==void 0?"webkitHidden":void 0;let n=document.hidden!==void 0?"visibilitychange":document.mozHidden!==void 0?"mozvisibilitychange":document.msHidden!==void 0?"msvisibilitychange":document.webkitHidden!==void 0?"webkitvisibilitychange":void 0;function i(){aCt(t)}this._visibilityChangeRemoveListener=void 0,l(n)&&(document.addEventListener(n,i,!1),this._visibilityChangeRemoveListener=function(){document.removeEventListener(n,i,!1)})}Vl.defaultSettings={samplingWindow:5,quietPeriod:2,warmupPeriod:5,minimumFrameRateDuringWarmup:4,minimumFrameRateAfterWarmup:8};Vl.fromScene=function(e){return(!l(e._frameRateMonitor)||e._frameRateMonitor.isDestroyed())&&(e._frameRateMonitor=new Vl({scene:e})),e._frameRateMonitor};Object.defineProperties(Vl.prototype,{scene:{get:function(){return this._scene}},lowFrameRate:{get:function(){return this._lowFrameRate}},nominalFrameRate:{get:function(){return this._nominalFrameRate}},lastFramesPerSecond:{get:function(){return this._lastFramesPerSecond}}});Vl.prototype.pause=function(){++this._pauseCount,this._pauseCount===1&&(this._frameTimes.length=0,this._lastFramesPerSecond=void 0)};Vl.prototype.unpause=function(){--this._pauseCount,this._pauseCount<=0&&(this._pauseCount=0,this._needsQuietPeriod=!0)};Vl.prototype.isDestroyed=function(){return!1};Vl.prototype.destroy=function(){return this._preUpdateRemoveListener(),l(this._visibilityChangeRemoveListener)&&this._visibilityChangeRemoveListener(),ue(this)};function sCt(e,t){if(e._pauseCount>0)return;let n=Ei();if(e._needsQuietPeriod)e._needsQuietPeriod=!1,e._frameTimes.length=0,e._quietPeriodEndTime=n+e.quietPeriod/Xn.SECONDS_PER_MILLISECOND,e._warmupPeriodEndTime=e._quietPeriodEndTime+(e.warmupPeriod+e.samplingWindow)/Xn.SECONDS_PER_MILLISECOND;else if(n>=e._quietPeriodEndTime){e._frameTimes.push(n);let i=n-e.samplingWindow/Xn.SECONDS_PER_MILLISECOND;if(e._frameTimes.length>=2&&e._frameTimes[0]<=i){for(;e._frameTimes.length>=2&&e._frameTimes[1]<i;)e._frameTimes.shift();let o=(n-e._frameTimes[0])/(e._frameTimes.length-1);e._lastFramesPerSecond=1e3/o;let r=1e3/(n>e._warmupPeriodEndTime?e.minimumFrameRateAfterWarmup:e.minimumFrameRateDuringWarmup);o>r?e._frameRateIsLow||(e._frameRateIsLow=!0,e._needsQuietPeriod=!0,e.lowFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond)):e._frameRateIsLow&&(e._frameRateIsLow=!1,e._needsQuietPeriod=!0,e.nominalFrameRate.raiseEvent(e.scene,e._lastFramesPerSecond))}}}function aCt(e){document[e._hiddenPropertyName]?e.pause():e.unpause()}var f8=Vl;var nCe=Sr(UY(),1);function lZ(){this._image=new Image}lZ.prototype.isReady=function(){return!0};lZ.prototype.shouldDiscardImage=function(e){return e===this._image};function Zb(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tileDiscardPolicy=e.tileDiscardPolicy,this._tilingScheme=new Xi({numberOfLevelZeroTilesX:2,numberOfLevelZeroTilesY:2,rectangle:new ae(-P.PI,-P.PI,P.PI,P.PI),ellipsoid:e.ellipsoid});let t=e.credit;typeof t=="string"&&(t=new Et(t)),this._credit=t,this._tileWidth=256,this._tileHeight=256,this._maximumLevel=23,l(this._tileDiscardPolicy)||(this._tileDiscardPolicy=new lZ),this._errorEvent=new me}Object.defineProperties(Zb.prototype,{url:{get:function(){return this._metadata.url}},proxy:{get:function(){return this._metadata.proxy}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){return this._maximumLevel}},minimumLevel:{get:function(){return 0}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){return this._tileDiscardPolicy}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){return this._credit}},hasAlphaChannel:{get:function(){return!1}}});Zb.fromMetadata=function(e,t){if(!e.imageryPresent)throw new se(`The server ${e.url} doesn't have imagery`);let n=new Zb(t);return n._metadata=e,n};Zb.prototype.getTileCredits=function(e,t,n){let i=this._metadata,o=i.getTileInformation(e,t,n);if(l(o)){let r=i.providers[o.imageryProvider];if(l(r))return[r]}};Zb.prototype.requestImage=function(e,t,n,i){let o=this._tileDiscardPolicy._image,r=this._metadata,s=$y.tileXYToQuadKey(e,t,n),a=r.getTileInformation(e,t,n);if(!l(a)){if(r.isValid(s)){let u=new or({throttle:i.throttle,throttleByServer:i.throttleByServer,type:i.type,priorityFunction:i.priorityFunction});r.populateSubtree(e,t,n,u);return}return Promise.resolve(o)}if(!a.hasImagery())return Promise.resolve(o);let c=cCt(this,a,e,t,n,i).fetchArrayBuffer();if(l(c))return c.then(function(u){cU(r.key,u);let f=new Uint8Array(u),d,p=r.protoImagery;if((!l(p)||!p)&&(d=lCt(f)),!l(d)&&(!l(p)||p)){let g=uCt(f);d=g.imageType,f=g.imageData}return!l(d)||!l(f)?o:xC({uint8Array:f,format:d,flipY:!0})})};Zb.prototype.pickFeatures=function(e,t,n,i,o){};function cCt(e,t,n,i,o,r){let s=$y.tileXYToQuadKey(n,i,o),a=t.imageryVersion;return a=l(a)&&a>0?a:1,e._metadata.resource.getDerivedResource({url:`flatfile?f1-0${s}-i.${a.toString()}`,request:r})}function lCt(e){let t="JFIF";if(e[6]===t.charCodeAt(0)&&e[7]===t.charCodeAt(1)&&e[8]===t.charCodeAt(2)&&e[9]===t.charCodeAt(3))return"image/jpeg";let n="PNG";if(e[1]===n.charCodeAt(0)&&e[2]===n.charCodeAt(1)&&e[3]===n.charCodeAt(2))return"image/png"}function uCt(e){let t=nCe.Reader.create(e),n=t.len,i={};for(;t.pos<n;){let s=t.uint32(),a;switch(s>>>3){case 1:i.imageType=t.uint32();break;case 2:i.imageData=t.bytes();break;case 3:i.alphaType=t.uint32();break;case 4:i.imageAlpha=t.bytes();break;case 5:if(a=i.copyrightIds,l(a)||(a=i.copyrightIds=[]),(s&7)===2){let c=t.uint32()+t.pos;for(;t.pos<c;)a.push(t.uint32())}else a.push(t.uint32());break;default:t.skipType(s&7);break}}let o=i.imageType;if(l(o))switch(o){case 0:i.imageType="image/jpeg";break;case 4:i.imageType="image/png";break;default:throw new se("GoogleEarthEnterpriseImageryProvider: Unsupported image type.")}let r=i.alphaType;return l(r)&&r!==0&&(console.log("GoogleEarthEnterpriseImageryProvider: External alpha not supported."),delete i.alphaType,delete i.imageAlpha),i}var iCe=Zb;var fCt=new z(1,1,1,.4),dCt=new z(0,1,0,.05),hCt=new z(0,.5,0,.2);function $b(e){e=y(e,y.EMPTY_OBJECT),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0,this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Xi({ellipsoid:e.ellipsoid}),this._cells=y(e.cells,8),this._color=y(e.color,fCt),this._glowColor=y(e.glowColor,dCt),this._glowWidth=y(e.glowWidth,6),this._backgroundColor=y(e.backgroundColor,hCt),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._canvasSize=y(e.canvasSize,256),this._canvas=this._createGridCanvas()}Object.defineProperties($b.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});$b.prototype._drawGrid=function(e){let n=this._canvasSize;for(let i=0;i<=this._cells;++i){let r=1+i/this._cells*(n-1);e.moveTo(r,0),e.lineTo(r,n),e.moveTo(0,r),e.lineTo(n,r)}e.stroke()};$b.prototype._createGridCanvas=function(){let e=document.createElement("canvas");e.width=this._canvasSize,e.height=this._canvasSize;let t=0,n=this._canvasSize,i=e.getContext("2d"),o=this._backgroundColor.toCssColorString();i.fillStyle=o,i.fillRect(t,t,n,n);let r=this._glowColor.toCssColorString();i.strokeStyle=r,i.lineWidth=this._glowWidth,i.strokeRect(t,t,n,n),this._drawGrid(i),i.lineWidth=this._glowWidth*.5,i.strokeRect(t,t,n,n),this._drawGrid(i);let s=this._color.toCssColorString();return i.strokeStyle=s,i.lineWidth=2,i.strokeRect(t,t,n,n),i.lineWidth=1,this._drawGrid(i),e};$b.prototype.getTileCredits=function(e,t,n){};$b.prototype.requestImage=function(e,t,n,i){return Promise.resolve(this._canvas)};$b.prototype.pickFeatures=function(e,t,n,i,o){};var oCe=$b;function dh(){}dh._maxDecodingConcurrency=Math.max(Gt.hardwareConcurrency-1,1);dh._decodeTaskProcessor=new xi("decodeI3S",dh._maxDecodingConcurrency);dh._promise=void 0;async function mCt(){if(await dh._decodeTaskProcessor.initWebAssemblyModule({wasmBinaryFile:"ThirdParty/draco_decoder.wasm"}))return dh._decodeTaskProcessor;throw new se("I3S decoder could not be initialized.")}dh.decode=async function(e,t,n,i,o){return l(dh._promise)||(dh._promise=mCt()),dh._promise.then(function(r){let s=n._parent._data,a=n._parent._inverseRotationMatrix,c=0,u=0,f=0;l(s.obb)?(c=s.obb.center[0],u=s.obb.center[1],f=s.obb.center[2]):l(s.mbs)&&(c=s.mbs[0],u=s.mbs[1],f=s.mbs[2]);let d=$.fromRotationX(-P.PI_OVER_TWO),p=new $;$.multiply(d,a,p);let g=fe.fromDegrees(c,u,f),m=ee.WGS84.cartographicToCartesian(g),x={binaryData:n._data,featureData:l(i)&&l(i[0])?i[0].data:void 0,schema:t,bufferInfo:n._geometryBufferInfo,ellipsoidRadiiSquare:ee.WGS84.radiiSquared,url:e,geoidDataList:n._dataProvider._geoidDataList,cartographicCenter:g,cartesianCenter:m,parentRotation:p,enableFeatures:n._dataProvider.showFeatures,splitGeometryByColorTransparency:n._dataProvider.adjustMaterialAlphaMode,symbologyData:o,calculateNormals:n._dataProvider.calculateNormals};return r.scheduleTask(x)})};var d8=dh;function uZ(e,t){this._parent=e,this._dataProvider=e._dataProvider,this._layer=e._layer,l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${t}`}):this._resource=this._parent.resource.getDerivedResource({url:t})}Object.defineProperties(uZ.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}}});uZ.prototype.load=async function(){return this._data=await qm.loadJson(this._resource),this._data};var h8=uZ;function I_(e,t){this._storageInfo=t,this._parent=e,this._dataProvider=e._dataProvider,this._loadPromise=void 0;let n=`attributes/${t.key}/0`;l(this._parent._nodeIndex)?this._resource=this._parent._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.attribute.resource}/${n}`}):this._resource=this._parent.resource.getDerivedResource({url:n})}Object.defineProperties(I_.prototype,{resource:{get:function(){return this._resource}},header:{get:function(){return this._header}},values:{get:function(){if(l(this._values)){if(l(this._values.attributeValues))return this._values.attributeValues;if(l(this._values.objectIds))return this._values.objectIds}return[]}},name:{get:function(){return this._storageInfo.name}}});function m8(e){return e==="UInt8"||e==="Int8"?1:e==="UInt16"||e==="Int16"?2:e==="UInt32"||e==="Int32"||e==="Oid32"||e==="Float32"?4:e==="UInt64"||e==="Int64"||e==="Float64"?8:0}function pCt(e){return e==="String"?1:m8(e)}async function _Ct(e){let t=await e._dataProvider._loadBinary(e._resource),n=new DataView(t);e._data=t,e._validateHeader(n);let i=e._parseHeader(n),o=e._getBodyOffset(i);e._validateBody(n,o),e._parseBody(n,o)}I_.prototype.load=function(){return l(this._loadPromise)?this._loadPromise:(this._loadPromise=_Ct(this).catch(function(e){console.error(e)}),this._loadPromise)};I_.prototype._parseValue=function(e,t,n){let i;if(t==="UInt8")i=e.getUint8(n),n+=1;else if(t==="Int8")i=e.getInt8(n),n+=1;else if(t==="UInt16")i=e.getUint16(n,!0),n+=2;else if(t==="Int16")i=e.getInt16(n,!0),n+=2;else if(t==="UInt32")i=e.getUint32(n,!0),n+=4;else if(t==="Oid32")i=e.getUint32(n,!0),n+=4;else if(t==="Int32")i=e.getInt32(n,!0),n+=4;else if(t==="UInt64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);i=o+Math.pow(2,32)*r,n+=8}else if(t==="Int64"){let o=e.getUint32(n,!0),r=e.getUint32(n+4,!0);r<Math.pow(2,31)?i=o+Math.pow(2,32)*r:i=o+Math.pow(2,32)*(r-Math.pow(2,32)),n+=8}else t==="Float32"?(i=e.getFloat32(n,!0),n+=4):t==="Float64"?(i=e.getFloat64(n,!0),n+=8):t==="String"&&(i=String.fromCharCode(e.getUint8(n)),n+=1);return{value:i,offset:n}};I_.prototype._parseHeader=function(e){let t=0;this._header={};for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n],o=this._parseValue(e,i.valueType,t);this._header[i.property]=o.value,t=o.offset}return t};I_.prototype._parseBody=function(e,t){this._values={};for(let n=0;n<this._storageInfo.ordering.length;n++){let i=this._storageInfo.ordering[n],o=i==="ObjectIds"?"objectIds":i,r=this._storageInfo[o];if(l(r)){this._values[o]=[];for(let s=0;s<this._header.count;++s)if(r.valueType!=="String"){let a=this._parseValue(e,r.valueType,t);this._values[o].push(a.value),t=a.offset}else{let a=this._values.attributeByteCounts[s],c="";for(let u=0;u<a;++u){let f=this._parseValue(e,r.valueType,t);f.value.charCodeAt(0)!==0&&(c+=f.value),t=f.offset}this._values[o].push(c)}}}};I_.prototype._getBodyOffset=function(e){let t=0;return l(this._storageInfo.attributeValues)?t=m8(this._storageInfo.attributeValues.valueType):l(this._storageInfo.objectIds)&&(t=m8(this._storageInfo.objectIds.valueType)),t>0?Math.ceil(e/t)*t:e};I_.prototype._validateHeader=function(e){let t=0;for(let n=0;n<this._storageInfo.header.length;n++){let i=this._storageInfo.header[n];t+=pCt(i.valueType)}if(e.byteLength<t)throw new se(`Invalid attribute buffer size (field: ${this.name}, header: ${t}, actual: ${e.byteLength})`)};I_.prototype._validateBody=function(e,t){if(!l(this._header.count))throw new se(`Invalid attribute buffer (field: ${this.name}, count is missing)`);let n;for(let i=0;i<this._storageInfo.ordering.length&&t<e.byteLength;i++){let o=this._storageInfo.ordering[i],r=o==="ObjectIds"?"objectIds":o,s=this._storageInfo[r];if(l(s))if(s.valueType!=="String"){r==="attributeByteCounts"&&(n=t);let a=m8(s.valueType);t+=a*this._header.count}else{if(!l(n))throw new se(`Invalid attribute buffer (field: ${this.name}, attributeByteCounts is missing)`);for(let a=0;a<this._header.count&&t<e.byteLength;++a){let c=this._parseValue(e,this._storageInfo.attributeByteCounts.valueType,n);t+=c.value,n=c.offset}}else throw new se(`Invalid attribute buffer (field: ${this.name}, ${r} is missing)`)}if(e.byteLength<t)throw new se(`Invalid attribute buffer size (field: ${this.name}, expected: ${t}, actual: ${e.byteLength})`)};var p8=I_;function MP(e,t){let n=e._dataProvider,i=e._layer,o;l(e._nodeIndex)?o=i.resource.getDerivedResource({url:`nodes/${e._data.mesh.geometry.resource}/${t}`}):o=e.resource.getDerivedResource({url:t}),this._parent=e,this._dataProvider=n,this._layer=i,this._resource=o,this._customAttributes=void 0}Object.defineProperties(MP.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},customAttributes:{get:function(){return this._customAttributes}}});MP.prototype.load=function(){let e=this;return this._dataProvider._loadBinary(this._resource).then(function(t){return e._data=t,t})};var gCt=new h,yCt=new h,xCt=new h,bCt=new h,TCt=new h;function fZ(e,t,n,i){let o=h.subtract(i,n,gCt),r=h.cross(o,h.subtract(e,n,yCt),bCt),s=h.cross(o,h.subtract(t,n,xCt),TCt);return h.dot(r,s)>=0}var CCt=new h,ACt=new h,ECt=new h,SCt=new h,vCt=new h,wCt=new h,DCt=new h,ICt=new h,PCt=new h,OCt=new h;MP.prototype.getClosestPointIndexOnTriangle=function(e,t,n){if(l(this._customAttributes)&&l(this._customAttributes.positions)){let i=new h(e,t,n);i.x-=this._customAttributes.cartesianCenter.x,i.y-=this._customAttributes.cartesianCenter.y,i.z-=this._customAttributes.cartesianCenter.z,$.multiplyByVector(this._customAttributes.parentRotation,i,i);let o=Number.MAX_VALUE,r,s,a,c,u=this._customAttributes.positions,f=this._customAttributes.indices,d;l(f)?d=f.length:d=u.length/3;for(let p=0;p<d;p++){let g,m,x;l(f)?(g=f[p],m=f[p+1],x=f[p+2]):(g=p*3,m=p*3+1,x=p*3+2);let b=h.fromElements(u[g*3],u[g*3+1],u[g*3+2],CCt),T=h.fromElements(u[m*3],u[m*3+1],u[m*3+2],ACt),C=new h(u[x*3],u[x*3+1],u[x*3+2],ECt);if(!fZ(i,b,T,C)||!fZ(i,T,b,C)||!fZ(i,C,b,T))continue;let A=h.subtract(T,b,SCt),S=h.subtract(C,b,vCt),v=h.cross(A,S,wCt);if(h.magnitude(v)===0)continue;let D=h.normalize(v,DCt),R=h.subtract(i,b,ICt),O=Math.abs(h.dot(R,D));if(O<o){o=O,r=p;let M=h.magnitudeSquared(h.subtract(i,b,R)),N=h.magnitudeSquared(h.subtract(i,T,PCt)),_=h.magnitudeSquared(h.subtract(i,C,OCt));M<N&&M<_?(a=g,c=b,s=M):N<_?(a=m,c=T,s=N):(a=x,c=C,s=_)}}if(l(r))return{index:a,distanceSquared:s,distance:Math.sqrt(s),queriedPosition:i,closestPosition:h.clone(c)}}return{index:-1,distanceSquared:Number.Infinity,distance:Number.Infinity}};function rCe(e){let t=[],n=e.length;for(let i=0;i<n;i++)i<3?t.push(XE(e[i])):t.push(e[i]);return t}MP.prototype._generateGltf=function(e,t,n,i,o,r,s,a){let c={pbrMetallicRoughness:{metallicFactor:0},doubleSided:!0,name:"Material"},u=!1,f,d="";if(l(this._parent._data.mesh)&&l(this._layer._data.materialDefinitions)){let A=this._parent._data.mesh.material.definition;if(A>=0&&A<this._layer._data.materialDefinitions.length){if(f=this._layer._data.materialDefinitions[A],c=f,l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorTexture)){u=!0,c.pbrMetallicRoughness.baseColorTexture.index=0;let S="0";if(l(this._layer._data.textureSetDefinitions))for(let v=0;v<this._layer._data.textureSetDefinitions.length;v++){let D=this._layer._data.textureSetDefinitions[v];for(let R=0;R<D.formats.length;R++){let O=D.formats[R];if(O.format==="jpg"){S=O.name;break}}}l(this._parent._data.mesh)&&this._parent._data.mesh.material.resource>=0&&(d=this._layer.resource.getDerivedResource({url:`nodes/${this._parent._data.mesh.material.resource}/textures/${S}`}).url)}l(c.pbrMetallicRoughness)&&l(c.pbrMetallicRoughness.baseColorFactor)&&(c.pbrMetallicRoughness.baseColorFactor=rCe(c.pbrMetallicRoughness.baseColorFactor)),l(c.emissiveFactor)&&(c.emissiveFactor=rCe(c.emissiveFactor))}}else l(this._parent._data.textureData)&&(u=!0,d=this._parent.resource.getDerivedResource({url:`${this._parent._data.textureData[0].href}`}).url,c.pbrMetallicRoughness.baseColorTexture={index:0});l(c.alphaMode)&&(c.alphaMode=c.alphaMode.toUpperCase());let p=[],g=[],m=[];u&&(p=[{sampler:0,source:0}],g=[{uri:d}],m=[{magFilter:9729,minFilter:9986,wrapS:10497,wrapT:10497}]);let x=[],b=n.length;for(let C=0;C<b;C++){let A=n[C].primitives,S=A.length;for(let v=0;v<S;v++){let D=A[v];if(l(D.material)){for(;D.material>=x.length;){let O=We(c,!0);x.push(O)}let R=x[D.material];l(D.extra)&&D.extra.isTransparent?l(R.alphaMode)||(R.alphaMode="BLEND"):R.alphaMode==="BLEND"&&(R.alphaMode="OPAQUE")}}}return{scene:0,scenes:[{nodes:e}],nodes:t,meshes:n,buffers:i,bufferViews:o,accessors:r,materials:x,textures:p,images:g,samplers:m,asset:{version:"2.0"},extensions:s,extensionsUsed:a}};var LP=MP;function xc(e,t,n){let i,o,r,s;n?(i=0,o=e):(i=e._level+1,o=e._layer),typeof t=="number"?r=t:s=e.resource.getDerivedResource({url:`${t}/`}),this._parent=e,this._dataProvider=e._dataProvider,this._isRoot=n,this._level=i,this._layer=o,this._nodeIndex=r,this._resource=s,this._isLoading=!1,this._tile=void 0,this._data=void 0,this._geometryData=[],this._featureData=[],this._fields={},this._children=[],this._childrenReadyPromise=void 0,this._globalTransform=void 0,this._inverseGlobalTransform=void 0,this._inverseRotationMatrix=void 0,this._symbologyData=void 0}Object.defineProperties(xc.prototype,{resource:{get:function(){return this._resource}},layer:{get:function(){return this._layer}},parent:{get:function(){return this._parent}},children:{get:function(){return this._children}},geometryData:{get:function(){return this._geometryData}},featureData:{get:function(){return this._featureData}},fields:{get:function(){return this._fields}},tile:{get:function(){return this._tile}},data:{get:function(){return this._data}}});xc.prototype.load=async function(){let e=this;function t(){if(!e._isRoot){let o=e._create3DTileDefinition();e._tile=new Od(e._layer._tileset,e._dataProvider.resource,o,e._parent._tile),e._tile._i3sNode=e}}if(!l(this._nodeIndex)){let o=await qm.loadJson(this._resource);e._data=o,t();return}let n=await this._layer._getNodeInNodePages(this._nodeIndex);e._data=n;let i;e._isRoot?i="nodes/root/":l(n.mesh)&&(i=`../${n.mesh.geometry.resource}/`),l(i)&&l(e._parent.resource)&&(e._resource=e._parent.resource.getDerivedResource({url:i})),t()};function sCe(e,t){let n=new p8(e,t);return e._fields[t.name]=n,n.load()}xc.prototype.loadFields=function(){let e=this._layer._data.attributeStorageInfo,t=[];if(l(e))for(let n=0;n<e.length;n++){let i=e[n],o=this._fields[i.name];l(o)?t.push(o.load()):t.push(sCe(this,i))}return Promise.all(t)};xc.prototype.loadField=function(e){let t=this._fields[e];if(l(t))return t.load();let n=this._layer._data.attributeStorageInfo;if(l(n))for(let i=0;i<n.length;i++){let o=n[i];if(o.name===e)return sCe(this,o)}return Promise.resolve()};xc.prototype.getFieldsForPickedPosition=function(e){let t=this.geometryData[0];if(!l(t.customAttributes.featureIndex))return{};let n=t.getClosestPointIndexOnTriangle(e.x,e.y,e.z);if(n.index===-1||n.index>t.customAttributes.featureIndex.length)return{};let i=t.customAttributes.featureIndex[n.index];return this.getFieldsForFeature(i)};xc.prototype.getFieldsForFeature=function(e){let t={};for(let n in this.fields)if(this.fields.hasOwnProperty(n)){let i=this.fields[n];e>=0&&e<i.values.length&&(t[i.name]=i.values[e])}return t};xc.prototype._loadChildren=function(){let e=this;if(l(this._childrenReadyPromise))return this._childrenReadyPromise;let t=[];if(l(e._data.children))for(let n=0;n<e._data.children.length;n++){let i=e._data.children[n],o=new xc(e,y(i.href,i),!1);e._children.push(o),t.push(o.load())}return this._childrenReadyPromise=Promise.all(t).then(function(){for(let n=0;n<e._children.length;n++)e._tile.children.push(e._children[n]._tile)}),this._childrenReadyPromise};xc.prototype._loadGeometryData=function(){let e=[];if(l(this._data.geometryData))for(let t=0;t<this._data.geometryData.length;t++){let n=new LP(this,this._data.geometryData[t].href);this._geometryData.push(n),e.push(n.load())}else if(l(this._data.mesh)){let t=this._layer._findBestGeometryBuffers(this._data.mesh.geometry.definition,["position","uv0"]),n=`./geometries/${t.bufferIndex}/`,i=new LP(this,n);i._geometryDefinitions=t.definition,i._geometryBufferInfo=t.geometryBufferInfo,this._geometryData.push(i),e.push(i.load())}return Promise.all(e)};xc.prototype._loadFeatureData=function(){let e=[];if(l(this._data.featureData))for(let t=0;t<this._data.featureData.length;t++){let n=new h8(this,this._data.featureData[t].href);this._featureData.push(n),e.push(n.load())}return Promise.all(e)};xc.prototype._clearGeometryData=function(){this._geometryData=[]};xc.prototype._create3DTileDefinition=function(){let e=this._data.obb,t=this._data.mbs;if(!l(e)&&!l(t)){console.error("Failed to load I3S node. Bounding volume is required.");return}let n;if(l(e)?n=fe.fromDegrees(e.center[0],e.center[1],e.center[2]):n=fe.fromDegrees(t[0],t[1],t[2]),l(this._dataProvider._geoidDataList)&&l(n))for(let T=0;T<this._dataProvider._geoidDataList.length;T++){let C=this._dataProvider._geoidDataList[T],A=C.projection.project(n);if(A.x>C.nativeExtent.west&&A.x<C.nativeExtent.east&&A.y>C.nativeExtent.south&&A.y<C.nativeExtent.north){n.height+=NCt(A.x,A.y,C);break}}let i={},o,r=0;l(e)?(i={box:[0,0,0,e.halfSize[0],0,0,0,e.halfSize[1],0,0,0,e.halfSize[2]]},r=Math.max(Math.max(this._data.obb.halfSize[0],this._data.obb.halfSize[1]),this._data.obb.halfSize[2]),o=ee.WGS84.cartographicToCartesian(n)):(i={sphere:[0,0,0,t[3]]},o=ee.WGS84.cartographicToCartesian(n),r=this._data.mbs[3]),r*=2;let s=1/0;if(l(this._data.lodThreshold))if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThresholdSQ"){let T=Math.sqrt(this._data.lodThreshold/(Math.PI*.25));s=r/T}else if(this._layer._data.nodePages.lodSelectionMetricType==="maxScreenThreshold"){let T=this._data.lodThreshold;s=r/T}else console.error("Invalid lodSelectionMetricType in Layer");else if(l(this._data.lodSelection))for(let T=0;T<this._data.lodSelection.length;T++)this._data.lodSelection[T].metricType==="maxScreenThreshold"&&(s=r/this._data.lodSelection[T].maxError);s===1/0&&(s=1e5);let a=s*16,c=new qa(0,0,0),u=Mt.headingPitchRollQuaternion(o,c);l(this._data.obb)&&(u=new Le(this._data.obb.quaternion[0],this._data.obb.quaternion[1],this._data.obb.quaternion[2],this._data.obb.quaternion[3]));let f=$.fromQuaternion(u),d=$.inverse(f,new $),p=new F(f[0],f[1],f[2],0,f[3],f[4],f[5],0,f[6],f[7],f[8],0,o.x,o.y,o.z,1),g=F.inverse(p,new F),m=F.clone(p);l(this._parent._globalTransform)&&F.multiply(p,this._parent._inverseGlobalTransform,m),this._globalTransform=p,this._inverseGlobalTransform=g,this._inverseRotationMatrix=d;let x=[];for(let T=0;T<this._children.length;T++)x.push(this._children[T]._create3DTileDefinition());return{children:x,refine:"REPLACE",boundingVolume:i,transform:[m[0],m[4],m[8],m[12],m[1],m[5],m[9],m[13],m[2],m[6],m[10],m[14],m[3],m[7],m[11],m[15]],content:{uri:l(this._resource)?this._resource.url:void 0},geometricError:a}};xc.prototype._loadSymbology=async function(){!l(this._symbologyData)&&l(this._layer._symbology)&&(this._symbologyData=await this._layer._symbology._getSymbology(this))};xc.prototype._createContentURL=async function(){let e={scene:0,scenes:[{nodes:[0]}],nodes:[{name:"singleNode"}],meshes:[],buffers:[],bufferViews:[],accessors:[],materials:[],textures:[],images:[],samplers:[],asset:{version:"2.0"}},t=[this._loadGeometryData()];if(this._dataProvider.legacyVersion16&&t.push(this._loadFeatureData()),await Promise.all(t),l(this._geometryData)&&this._geometryData.length>0){this._dataProvider._applySymbology&&await this._loadSymbology();let o=this._geometryData[0].resource.url,r=this._layer._data.store.defaultGeometrySchema,s=this._geometryData[0],a=await d8.decode(o,r,s,this._featureData[0],this._symbologyData);if(!l(a))return;e=s._generateGltf(a.meshData.nodesInScene,a.meshData.nodes,a.meshData.meshes,a.meshData.buffers,a.meshData.bufferViews,a.meshData.accessors,a.meshData.rootExtensions,a.meshData.extensionsUsed),this._geometryData[0]._customAttributes=a.meshData._customAttributes}let n=this._dataProvider._binarizeGltf(e),i=new Blob([n],{type:"application/binary"});return URL.createObjectURL(i)};async function RCt(e){let t=e._layer._filters,n=[];for(let i=0;i<t.length;i++){let o=e.loadField(t[i].name);n.push(o)}return await Promise.all(n),t}function MCt(e,t,n){if(!l(n.values)||n.values.length===0)return!1;let i=l(t)?t.values:[],o;e<i.length&&(o=i[e]);let r=!1;for(let s=0;s<n.values.length;s++)if(n.values[s]===o){r=!0;break}return r}async function aCe(e,t){let n=e._tile.content.batchTable;if(l(n)&&n.featuresLength>0){n.setAllShow(!0);let i=await RCt(e);if(i.length>0)for(let o=0;o<n.featuresLength;o++)for(let r=0;r<i.length;r++){let s=i[r];if(!MCt(o,e._fields[s.name],s)){n.setShow(o,!1);break}}}t.show=!0}xc.prototype._filterFeatures=function(){let e=[];for(let n=0;n<this._children.length;n++){let i=this._children[n]._filterFeatures();e.push(i)}let t=this._tile?.content?._model;if(l(this._geometryData)&&this._geometryData.length>0&&l(t)&&t.ready){t.show=!1;let n=aCe(this,t);e.push(n)}return Promise.all(e)};Od.prototype._hookedRequestContent=Od.prototype.requestContent;Od.prototype.requestContent=function(){if(!this.tileset._isI3STileSet)return this._hookedRequestContent();if(!this._isLoading){this._isLoading=!0;let e=this;return this._i3sNode._createContentURL().then(t=>{if(!l(t)){e._isLoading=!1;return}return e._contentResource=new Ae({url:t}),e._hookedRequestContent()}).then(t=>{let n=t?._model;return l(e._i3sNode._geometryData)&&e._i3sNode._geometryData.length>0&&l(n)&&(n.show=!1,n.readyEvent.addEventListener(()=>{aCe(e._i3sNode,n)})),e._isLoading=!1,t})}};function LCt(e,t,n,i,o,r){let s=n*(1-e)+i*e,a=o*(1-e)+r*e;return s*(1-t)+a*t}function _8(e,t,n,i){let o=e+t*n;return i[o]}function NCt(e,t,n){let i=n.nativeExtent,o=(e-i.west)/(i.east-i.west)*(n.width-1),r=(t-i.south)/(i.north-i.south)*(n.height-1),s=Math.floor(o),a=Math.floor(r);o-=s,r-=a;let c=s<n.width?s+1:s,u=a<n.height?a+1:a;a=n.height-1-a,u=n.height-1-u;let f=_8(s,a,n.width,n.buffer),d=_8(c,a,n.width,n.buffer),p=_8(s,u,n.width,n.buffer),g=_8(c,u,n.width,n.buffer),m=LCt(o,r,f,d,p,g);return m=m*n.scale+n.offset,m}Object.defineProperties(Od.prototype,{i3sNode:{get:function(){return this._i3sNode}}});var NP=xc;function g8(e){this._layer=e,this._defaultSymbology=void 0,this._valueFields=[],this._uniqueValueHash=void 0,this._classBreaksHash=void 0,this._parseLayerSymbology()}Object.defineProperties(g8.prototype,{defaultSymbology:{get:function(){return this._defaultSymbology}}});function dZ(e,t){let n=[];for(let i=0;i<e.length;i++){let o=z.byteToFloat(e[i]);i<3?n.push(XE(o)):n.push(o)}return n.length===3&&(l(t)?n.push(1-t/100):n.push(1)),n}function RS(e,t){let n={edges:void 0,material:void 0};if(l(e)&&l(e.symbolLayers))for(let i=0;i<e.symbolLayers.length;i++){let o=e.symbolLayers[i];if(o.type==="Fill"){let r=o.edges,s=o.outline;if(l(r)?(n.edges={},l(r.color)&&(n.edges.color=dZ(r.color,r.transparency))):l(s)&&(n.edges={},l(s.color)&&(n.edges.color=dZ(s.color,s.transparency))),!t){let a=o.material;l(a)&&(n.material={colorMixMode:a.colorMixMode},l(a.color)&&(n.material.color=dZ(a.color,a.transparency)))}break}}return n}function FCt(e,t){if(l(e.uniqueValueGroups)){let n={};for(let i=0;i<e.uniqueValueGroups.length;i++){let o=e.uniqueValueGroups[i].classes;if(l(o))for(let r=0;r<o.length;r++){let s=RS(o[r].symbol,t),a=o[r].values;for(let c=0;c<a.length;c++){let u=a[c],f=n;for(let d=0;d<u.length;d++){let p=u[d];d===u.length-1?f[p]=s:(l(f[p])||(f[p]={}),f=f[p])}}}}return n}if(l(e.uniqueValueInfos)){let n={};for(let i=0;i<e.uniqueValueInfos.length;i++){let o=e.uniqueValueInfos[i];n[o.value]=RS(o.symbol,t)}return n}}function BCt(e,t){if(l(e.classBreakInfos)){let n=[...e.classBreakInfos];n.sort(function(o,r){let s=y(o.classMaxValue,o.classMinValue),a=y(r.classMaxValue,r.classMinValue);return s-a});let i={ranges:[],symbols:[]};l(e.minValue)&&(i.ranges.push(e.minValue),i.symbols.push(void 0));for(let o=0;o<n.length;o++){let r=n[o];l(r.classMinValue)&&(i.ranges.length===0||r.classMinValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMinValue),i.symbols.push(void 0)),l(r.classMaxValue)&&(i.ranges.length===0||r.classMaxValue>i.ranges[i.ranges.length-1])&&(i.ranges.push(r.classMaxValue),i.symbols.push(RS(r.symbol,t)))}return i.symbols.push(void 0),i}}g8.prototype._parseLayerSymbology=function(){let e=this._layer.data.drawingInfo;if(l(e)&&l(e.renderer)){let t=this._layer.data.cachedDrawingInfo,n=l(t)&&t.color===!0,i=e.renderer;i.type==="simple"?this._defaultSymbology=RS(i.symbol,n):i.type==="uniqueValue"?(this._defaultSymbology=RS(i.defaultSymbol,n),this._valueFields.push(i.field1),l(i.field2)&&this._valueFields.push(i.field2),l(i.field3)&&this._valueFields.push(i.field3),this._uniqueValueHash=FCt(i,n)):i.type==="classBreaks"&&(this._defaultSymbology=RS(i.defaultSymbol,n),this._valueFields.push(i.field),this._classBreaksHash=BCt(i,n))}};function cCe(e,t,n,i){let o=t[n];if(i<o.length){let r=o[i],s=e[r];return l(s)&&++n<t.length?cCe(s,t,n,i):s}}function kCt(e,t){let n=0,i=e.length;if(n<i)do{let o=n+i>>>1;e[o]<t?n=o+1:i=o}while(n<i);return n}function VCt(e,t,n){let i=t[n],o=kCt(e.ranges,i);return e.symbols[o]}g8.prototype._getSymbology=async function(e){let t={default:this._defaultSymbology};if(this._valueFields.length>0){let n=[];for(let r=0;r<this._valueFields.length;r++)n.push(e.loadField(this._valueFields[r]));await Promise.all(n);let i=[];for(let r=0;r<this._valueFields.length;r++)i.push(e.fields[this._valueFields[r]].values);let o;if(l(this._uniqueValueHash)?o=r=>cCe(this._uniqueValueHash,i,0,r):l(this._classBreaksHash)&&(o=r=>VCt(this._classBreaksHash,i[0],r)),l(o)){let r=i[0];for(let s=0;s<r.length;s++){let a=o(s);l(a)&&(t[s]=a)}}}return t};var y8=g8;function Ul(e,t,n){this._dataProvider=e,this._parent=n,!l(t.href)&&l(t.id)&&(t.href=`layers/${t.id}`);let i=this._parent.resource.getUrlComponent(),o="";i.match(/layers\/\d/)?o=`${i}`.replace(/\/+$/,""):o=`${i}`.replace(/\/?$/,"/").concat(`${t.href}`),this._version=t.store.version;let r=this._version.split(".");this._majorVersion=parseInt(r[0]),this._minorVersion=r.length>1?parseInt(r[1]):0,this._resource=new Ae({url:o}),this._resource.setQueryParameters(this._dataProvider.resource.queryParameters),this._resource.appendForwardSlash(),this._data=t,this._rootNode=void 0,this._nodePages={},this._nodePageFetches={},this._extent=void 0,this._tileset=void 0,this._geometryDefinitions=void 0,this._filters=[],this._symbology=void 0,this._computeGeometryDefinitions(!0),this._computeExtent()}Object.defineProperties(Ul.prototype,{resource:{get:function(){return this._resource}},rootNode:{get:function(){return this._rootNode}},tileset:{get:function(){return this._tileset}},data:{get:function(){return this._data}},version:{get:function(){return this._version}},majorVersion:{get:function(){return this._majorVersion}},minorVersion:{get:function(){return this._minorVersion}},legacyVersion16:{get:function(){if(l(this.version))return this.majorVersion<1||this.majorVersion===1&&this.minorVersion<=6}}});Ul.prototype.load=async function(e){if(this._data.spatialReference.wkid!==4326)throw new se(`Unsupported spatial reference: ${this._data.spatialReference.wkid}`);if(this._dataProvider.applySymbology&&(this._symbology=new y8(this)),await this._dataProvider.loadGeoidData(),await this._loadRootNode(e),await this._create3DTileset(e),this._rootNode._tile=this._tileset._root,this._tileset._root._i3sNode=this._rootNode,this.legacyVersion16)return this._rootNode._loadChildren()};Ul.prototype._computeGeometryDefinitions=function(e){if(this._geometryDefinitions=[],l(this._data.geometryDefinitions))for(let t=0;t<this._data.geometryDefinitions.length;t++){let n=[],i=this._data.geometryDefinitions[t].geometryBuffers;for(let o=0;o<i.length;o++){let r=i[o],s=[],a=!1;if(l(r.compressedAttributes)&&e){a=!0;let c=r.compressedAttributes.attributes;for(let u=0;u<c.length;u++)s.push(c[u])}else for(let c in r)c!=="offset"&&s.push(c);n.push({compressed:a,attributes:s,index:i.indexOf(r)})}n.sort(function(o,r){return o.compressed&&!r.compressed?-1:!o.compressed&&r.compressed?1:o.attributes.length-r.attributes.length}),this._geometryDefinitions.push(n)}};Ul.prototype._findBestGeometryBuffers=function(e,t){let n=this._geometryDefinitions[e];if(l(n)){for(let i=0;i<n.length;++i){let o=n[i],r=!1,s=o.attributes;for(let a=0;a<t.length;a++)if(!s.includes(t[a])){r=!0;break}if(!r)return{bufferIndex:o.index,definition:n,geometryBufferInfo:o}}if(l(n[0]))return{bufferIndex:0,definition:n,geometryBufferInfo:n[0]}}};Ul.prototype._loadRootNode=function(e){if(l(this._data.nodePages)){let t=0;l(this._data.nodePages.rootIndex)&&(t=this._data.nodePages.rootIndex),this._rootNode=new NP(this,t,!0)}else this._rootNode=new NP(this,this._data.store.rootNode,!0);return this._rootNode.load(e)};Ul.prototype._getNodeInNodePages=function(e){let t=Math.floor(e/this._data.nodePages.nodesPerPage),n=e%this._data.nodePages.nodesPerPage;return this._loadNodePage(t).then(function(i){return i.nodes[n]})};Ul._fetchJson=function(e){return e.fetchJson()};Ul.prototype._loadNodePage=function(e){let t=this;if(!l(this._nodePageFetches[e])){let n=this.resource.getDerivedResource({url:`nodepages/${e}/`}),i=Ul._fetchJson(n).then(function(o){return l(o.error)&&o.error.code!==200?Promise.reject(o.error):(t._nodePages[e]=o.nodes,o)});this._nodePageFetches[e]=i}return this._nodePageFetches[e]};Ul.prototype._computeExtent=function(){l(this._data.fullExtent)?this._extent=ae.fromDegrees(this._data.fullExtent.xmin,this._data.fullExtent.ymin,this._data.fullExtent.xmax,this._data.fullExtent.ymax):l(this._data.store.extent)&&(this._extent=ae.fromDegrees(this._data.store.extent[0],this._data.store.extent[1],this._data.store.extent[2],this._data.store.extent[3]))};Ul.prototype._create3DTileset=async function(e){let t={asset:{version:"1.0"},geometricError:Number.MAX_VALUE,root:this._rootNode._create3DTileDefinition()},n=new Blob([JSON.stringify(t)],{type:"application/json"}),i=URL.createObjectURL(n),o=this._symbology?.defaultSymbology?.edges?.color;l(o)&&!l(e?.outlineColor)&&(e=l(e)?We(e):{},e.outlineColor=z.fromCartesian4(oe.fromArray(o))),this._tileset=await ws.fromUrl(i,e),this._tileset.show=this._parent.show,this._tileset._isI3STileSet=!0,this._tileset.tileUnload.addEventListener(function(r){r._i3sNode._clearGeometryData(),URL.revokeObjectURL(r._contentResource._url),r._contentResource=r._i3sNode.resource}),this._tileset.tileVisible.addEventListener(function(r){l(r._i3sNode)&&r._i3sNode._loadChildren()})};Ul.prototype._updateVisibility=function(){l(this._tileset)&&(this._tileset.show=this._parent.show)};Ul.prototype.filterByAttributes=function(e){this._filters=l(e)?We(e,!0):[];let t=this._rootNode;return l(t)?t._filterFeatures():Promise.resolve()};var MS=Ul;function x8(e,t){this._dataProvider=e,this._resource=new Ae({url:t}),this._resource.setQueryParameters(e.resource.queryParameters),this._resource.appendForwardSlash()}Object.defineProperties(x8.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},names:{get:function(){let e=[],t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n)e.push(t[n].fieldName);return e}}});x8.prototype.load=async function(){return this._data=await qm.loadJson(this._resource),this._data};x8.prototype._getValues=function(e){let t=this._data.summary;if(l(t))for(let n=0;n<t.length;++n){let i=t[n];if(i.fieldName===e)return l(i.mostFrequentValues)?[...i.mostFrequentValues]:[]}};var b8=x8;function FP(e,t,n){this._dataProvider=e,this._parent=t,this._data=n,this._name=n.name,this._modelName=n.modelName,this._visibility=y(n.visibility,!0),this._resource=void 0,this._sublayers=[],this._i3sLayers=[]}Object.defineProperties(FP.prototype,{resource:{get:function(){return this._resource}},data:{get:function(){return this._data}},name:{get:function(){return this._name}},modelName:{get:function(){return this._modelName}},sublayers:{get:function(){return this._sublayers}},visibility:{get:function(){return this._visibility},set:function(e){if(this._visibility!==e){this._visibility=e;for(let t=0;t<this._i3sLayers.length;t++)this._i3sLayers[t]._updateVisibility()}}},show:{get:function(){return this._visibility&&this._parent.show}}});FP._fromData=async function(e,t,n,i){let o=new FP(e,i,n);if(o._data.layerType==="group"){let r=o._data.sublayers;if(l(r)){let s=[];for(let c=0;c<r.length;c++){let u=FP._fromData(e,t,r[c],o);s.push(u)}let a=await Promise.all(s);for(let c=0;c<a.length;c++){let u=a[c];o._sublayers.push(u),o._i3sLayers.push(...u._i3sLayers)}}}else if(o._data.layerType==="3DObject"){let r=t.concat(`/sublayers/${o._data.id}`),s=new Ae({url:r});s.setQueryParameters(e.resource.queryParameters),s.appendForwardSlash(),o._resource=s;let a=await qm.loadJson(o._resource),c=new MS(e,a,o);o._i3sLayers.push(c)}else console.log(`${o._data.layerType} layer ${o._data.name} is skipped as not supported.`);return o};var T8=FP;var fCe=Sr(lCe(),1);function ps(e){e=y(e,y.EMPTY_OBJECT),this._name=e.name,this._show=y(e.show,!0),this._geoidTiledTerrainProvider=e.geoidTiledTerrainProvider,this._showFeatures=y(e.showFeatures,!1),this._adjustMaterialAlphaMode=y(e.adjustMaterialAlphaMode,!1),this._applySymbology=y(e.applySymbology,!1),this._calculateNormals=y(e.calculateNormals,!1),this._cesium3dTilesetOptions=y(e.cesium3dTilesetOptions,y.EMPTY_OBJECT),this._layers=[],this._sublayers=[],this._data=void 0,this._extent=void 0,this._geoidDataPromise=void 0,this._geoidDataList=void 0,this._decoderTaskProcessor=void 0,this._taskProcessorReadyPromise=void 0,this._attributeStatistics=[],this._layersExtent=[]}Object.defineProperties(ps.prototype,{name:{get:function(){return this._name}},show:{get:function(){return this._show},set:function(e){if(this._show!==e){this._show=e;for(let t=0;t<this._layers.length;t++)this._layers[t]._updateVisibility()}}},geoidTiledTerrainProvider:{get:function(){return this._geoidTiledTerrainProvider}},layers:{get:function(){return this._layers}},sublayers:{get:function(){return this._sublayers}},data:{get:function(){return this._data}},extent:{get:function(){return this._extent}},resource:{get:function(){return this._resource}},showFeatures:{get:function(){return this._showFeatures}},adjustMaterialAlphaMode:{get:function(){return this._adjustMaterialAlphaMode}},applySymbology:{get:function(){return this._applySymbology}},calculateNormals:{get:function(){return this._calculateNormals}}});ps.prototype.destroy=function(){for(let e=0;e<this._layers.length;e++)l(this._layers[e]._tileset)&&this._layers[e]._tileset.destroy();return ue(this)};ps.prototype.isDestroyed=function(){return!1};ps.prototype.update=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.update(e)};ps.prototype.prePassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.prePassesUpdate(e)};ps.prototype.postPassesUpdate=function(e){for(let t=0;t<this._layers.length;t++)l(this._layers[t]._tileset)&&this._layers[t]._tileset.postPassesUpdate(e)};ps.prototype.updateForPass=function(e,t){for(let n=0;n<this._layers.length;n++)l(this._layers[n]._tileset)&&this._layers[n]._tileset.updateForPass(e,t)};function UCt(e,t){let n=e.resource.getUrlComponent(),i="";return n.match(/layers\/\d/)?i=`${n}`.replace(/\/+$/,""):i=`${n}`.replace(/\/?$/,"/").concat(`layers/${t}`),i}async function uCe(e,t,n){if(t.layerType==="Building"){l(n.showFeatures)||(e._showFeatures=!0),l(n.adjustMaterialAlphaMode)||(e._adjustMaterialAlphaMode=!0),l(n.applySymbology)||(e._applySymbology=!0),l(n.calculateNormals)||(e._calculateNormals=!0);let i=UCt(e,t.id);if(l(t.sublayers)){let o=[];for(let s=0;s<t.sublayers.length;s++){let a=T8._fromData(e,i,t.sublayers[s],e);o.push(a)}let r=await Promise.all(o);for(let s=0;s<r.length;s++){let a=r[s];e._sublayers.push(a),e._layers.push(...a._i3sLayers)}}if(l(t.statisticsHRef)){let o=i.concat(`/${t.statisticsHRef}`),r=new b8(e,o);await r.load(),e._attributeStatistics.push(r)}if(l(t.fullExtent)){let o=ae.fromDegrees(t.fullExtent.xmin,t.fullExtent.ymin,t.fullExtent.xmax,t.fullExtent.ymax);e._layersExtent.push(o)}}else if(t.layerType==="3DObject"||t.layerType==="IntegratedMesh"){!l(n.calculateNormals)&&!l(t.textureSetDefinitions)&&(e._calculateNormals=!0);let i=new MS(e,t,e);e._layers.push(i),l(i._extent)&&e._layersExtent.push(i._extent)}else console.log(`${t.layerType} layer ${t.name} is skipped as not supported.`)}ps.fromUrl=async function(e,t){t=y(t,y.EMPTY_OBJECT);let n=Ae.createIfNeeded(e);n.setQueryParameters({f:"pjson"},!0);let i=await ps.loadJson(n),o=new ps(t);if(o._resource=n,o._data=i,l(i.layers)){let s=[];for(let a=0;a<i.layers.length;a++){let c=uCe(o,i.layers[a],t);s.push(c)}await Promise.all(s)}else await uCe(o,i,t);o._computeExtent();let r=[];for(let s=0;s<o._layers.length;s++)r.push(o._layers[s].load(t.cesium3dTilesetOptions));return await Promise.all(r),o};ps._fetchJson=function(e){return e.fetchJson()};ps.loadJson=async function(e){let t=await ps._fetchJson(e);if(l(t.error)){if(console.error("Failed to fetch I3S ",e.url),l(t.error.message)&&console.error(t.error.message),l(t.error.details))for(let n=0;n<t.error.details.length;n++)console.log(t.error.details[n]);throw new se(t.error)}return t};ps.prototype._loadBinary=async function(e){let t=await e.fetchArrayBuffer();if(t.byteLength>0&&new Uint8Array(t)[0]===123&&new TextDecoder().decode(t).includes("404"))throw new se(`Failed to load binary: ${e.url}`);return t};ps.prototype._binarizeGltf=function(e){let n=new TextEncoder().encode(JSON.stringify(e)),i=new Uint8Array(n.byteLength+20),o={magic:new Uint8Array(i.buffer,0,4),version:new Uint32Array(i.buffer,4,1),length:new Uint32Array(i.buffer,8,1),chunkLength:new Uint32Array(i.buffer,12,1),chunkType:new Uint32Array(i.buffer,16,1),chunkData:new Uint8Array(i.buffer,20,n.byteLength)};return o.magic[0]=103,o.magic[1]=108,o.magic[2]=84,o.magic[3]=70,o.version[0]=2,o.length[0]=i.byteLength,o.chunkLength[0]=n.byteLength,o.chunkType[0]=1313821514,o.chunkData.set(n),i};var zCt=new U;function HCt(e,t){let n=e.tilingScheme,i=[],o={},r=e._lodCount,s=fe.fromRadians(t.west,t.north),a=fe.fromRadians(t.east,t.south),c=n.positionToTileXY(s,r),u=n.positionToTileXY(a,r);for(let d=c.x;d<=u.x;d++)for(let p=c.y;p<=u.y;p++){let g=U.fromElements(d,p,zCt),m=g.toString();if(!o.hasOwnProperty(m)){let x={x:g.x,y:g.y,level:r,tilingScheme:n,terrainProvider:e,positions:[]};o[m]=x,i.push(x)}}let f=[];for(let d=0;d<i.length;++d){let p=i[d],g=p.terrainProvider.requestTileGeometry(p.x,p.y,p.level);f.push(g)}return Promise.all(f).then(function(d){let p=[];for(let g=0;g<d.length;g++){let m={tilingScheme:n,x:i[g].x,y:i[g].y,level:i[g].level},x=d[g],b="Geographic";n._projection instanceof Ri&&(b="WebMercator");let T={projectionType:b,projection:n._projection,nativeExtent:n.tileXYToNativeRectangle(m.x,m.y,m.level),height:x._height,width:x._width,scale:x._structure.heightScale,offset:x._structure.heightOffset};if(x._encoding===Qd.LERC){let C=fCe.default.decode(x._buffer);T.buffer=C.pixels[0]}else T.buffer=x._buffer;p.push(T)}return p})}async function GCt(e){let t=e._geoidTiledTerrainProvider;if(l(t))try{let n=await HCt(t,e._extent);e._geoidDataList=n}catch{console.log("Error retrieving Geoid Terrain tiles - no geoid conversion will be performed.")}}ps.prototype.loadGeoidData=async function(){return l(this._geoidDataPromise)?this._geoidDataPromise:(this._geoidDataPromise=GCt(this),this._geoidDataPromise)};ps.prototype._computeExtent=function(){let e;for(let t=0;t<this._layersExtent.length;t++){let n=this._layersExtent[t];l(e)?ae.union(e,n,e):e=ae.clone(n)}this._extent=e};ps.prototype.getAttributeNames=function(){let e=[];for(let t=0;t<this._attributeStatistics.length;++t)e.push(...this._attributeStatistics[t].names);return e};ps.prototype.getAttributeValues=function(e){for(let t=0;t<this._attributeStatistics.length;++t){let n=this._attributeStatistics[t]._getValues(e);if(l(n))return n}return[]};ps.prototype.filterByAttributes=function(e){let t=[];for(let n=0;n<this._layers.length;n++){let i=this._layers[n].filterByAttributes(e);t.push(i)}return Promise.all(t)};var qm=ps;var hZ={};hZ.createTilesetFromIModelId=async function(e,t){let{exports:n}=await Hf.getExports(e);if(n.length>0&&n.every(a=>a.status===Hf.ExportStatus.Invalid))throw new se(`All exports for this iModel are Invalid: ${e}`);let i=n.find(a=>a.status===Hf.ExportStatus.Complete);if(!l(i))return;let o=new URL(i._links.mesh.href);o.pathname=`${o.pathname}/tileset.json`;let r=o.toString(),s=new Ae({url:r});return ws.fromUrl(s,t)};hZ.createTilesetForRealityDataId=async function(e,t,n,i){if(!l(n)||!l(i)){let s=await Hf.getRealityDataMetadata(e,t);i=s.rootDocument,n=s.type}if(![Hf.RealityDataType.Cesium3DTiles,Hf.RealityDataType.PNTS,Hf.RealityDataType.RealityMesh3DTiles,Hf.RealityDataType.Terrain3DTiles].includes(n))throw new se(`Reality data type is not a mesh type: ${n}`);let r=await Hf.getRealityDataURL(e,t,i);return ws.fromUrl(r,{maximumScreenSpaceError:4})};var dCe=hZ;function hCe(){}Object.defineProperties(hCe.prototype,{color:{get:de.throwInstantiationError},intensity:{get:de.throwInstantiationError}});var mCe=hCe;var WCt=/\/$/,pCe=new Et('© <a href="https://www.mapbox.com/about/maps/">Mapbox</a> © <a href="http://www.openstreetmap.org/copyright">OpenStreetMap</a> <strong><a href="https://www.mapbox.com/map-feedback/">Improve this map</a></strong>');function LS(e){e=y(e,y.EMPTY_OBJECT);let t=e.styleId,n=e.accessToken;this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0;let i=Ae.createIfNeeded(y(e.url,"https://api.mapbox.com/styles/v1/"));this._styleId=t,this._accessToken=n;let o=y(e.tilesize,512);this._tilesize=o;let r=y(e.username,"mapbox");this._username=r;let s=l(e.scaleFactor)?"@2x":"",a=i.getUrlComponent();WCt.test(a)||(a+="/"),a+=`${this._username}/${t}/tiles/${this._tilesize}/{z}/{x}/{y}${s}`,i.url=a,i.setQueryParameters({access_token:n});let c;l(e.credit)?(c=e.credit,typeof c=="string"&&(c=new Et(c))):c=pCe,this._resource=i,this._imageryProvider=new mc({url:i,credit:c,ellipsoid:e.ellipsoid,minimumLevel:e.minimumLevel,maximumLevel:e.maximumLevel,rectangle:e.rectangle})}Object.defineProperties(LS.prototype,{url:{get:function(){return this._imageryProvider.url}},rectangle:{get:function(){return this._imageryProvider.rectangle}},tileWidth:{get:function(){return this._imageryProvider.tileWidth}},tileHeight:{get:function(){return this._imageryProvider.tileHeight}},maximumLevel:{get:function(){return this._imageryProvider.maximumLevel}},minimumLevel:{get:function(){return this._imageryProvider.minimumLevel}},tilingScheme:{get:function(){return this._imageryProvider.tilingScheme}},tileDiscardPolicy:{get:function(){return this._imageryProvider.tileDiscardPolicy}},errorEvent:{get:function(){return this._imageryProvider.errorEvent}},credit:{get:function(){return this._imageryProvider.credit}},proxy:{get:function(){return this._imageryProvider.proxy}},hasAlphaChannel:{get:function(){return this._imageryProvider.hasAlphaChannel}}});LS.prototype.getTileCredits=function(e,t,n){};LS.prototype.requestImage=function(e,t,n,i){return this._imageryProvider.requestImage(e,t,n,i)};LS.prototype.pickFeatures=function(e,t,n,i,o){return this._imageryProvider.pickFeatures(e,t,n,i,o)};LS._defaultCredit=pCe;var _Ce=LS;function mZ(e){}mZ.prototype.isReady=function(){return!0};mZ.prototype.shouldDiscardImage=function(e){return!1};var gCe=mZ;var jCt=new Et("MapQuest, Open Street Map and contributors, CC-BY-SA");function A8(e){e=y(e,y.EMPTY_OBJECT);let t=Ae.createIfNeeded(y(e.url,"https://tile.openstreetmap.org/"));t.appendForwardSlash(),t.url+=`{z}/{x}/{y}${e.retinaTiles?"@2x":""}.${y(e.fileExtension,"png")}`;let n=new hs({ellipsoid:e.ellipsoid}),i=256,o=256,r=y(e.minimumLevel,0),s=e.maximumLevel,a=y(e.rectangle,n.rectangle),c=n.positionToTileXY(ae.southwest(a),r),u=n.positionToTileXY(ae.northeast(a),r),f=(Math.abs(u.x-c.x)+1)*(Math.abs(u.y-c.y)+1),d=y(e.credit,jCt);typeof d=="string"&&(d=new Et(d)),mc.call(this,{url:t,credit:d,tilingScheme:n,tileWidth:i,tileHeight:o,minimumLevel:r,maximumLevel:s,rectangle:a})}l(Object.create)&&(A8.prototype=Object.create(mc.prototype),A8.prototype.constructor=A8);var T0=A8;var qCt=new U(1,1);function pZ(e){e=y(e,y.EMPTY_OBJECT),this.mass=y(e.mass,1),this.position=h.clone(y(e.position,h.ZERO)),this.velocity=h.clone(y(e.velocity,h.ZERO)),this.life=y(e.life,Number.MAX_VALUE),this.image=e.image,this.startColor=z.clone(y(e.startColor,z.WHITE)),this.endColor=z.clone(y(e.endColor,z.WHITE)),this.startScale=y(e.startScale,1),this.endScale=y(e.endScale,1),this.imageSize=U.clone(y(e.imageSize,qCt)),this._age=0,this._normalizedAge=0,this._billboard=void 0}Object.defineProperties(pZ.prototype,{age:{get:function(){return this._age}},normalizedAge:{get:function(){return this._normalizedAge}}});var yCe=new h;pZ.prototype.update=function(e,t){return h.multiplyByScalar(this.velocity,e,yCe),h.add(this.position,yCe,this.position),l(t)&&t(this,e),this._age+=e,this.life===Number.MAX_VALUE?this._normalizedAge=0:this._normalizedAge=this._age/this.life,this._age<=this.life};var BP=pZ;function xCe(e){e=y(e,y.EMPTY_OBJECT),this.time=y(e.time,0),this.minimum=y(e.minimum,0),this.maximum=y(e.maximum,50),this._complete=!1}Object.defineProperties(xCe.prototype,{complete:{get:function(){return this._complete}}});var bCe=xCe;function TCe(e){}TCe.prototype.emit=function(e){de.throwInstantiationError()};var CCe=TCe;var ACe=new U(1,1);function kP(e){e=y(e,y.EMPTY_OBJECT),this.show=y(e.show,!0),this.updateCallback=e.updateCallback,this.loop=y(e.loop,!0),this.image=y(e.image,void 0);let t=e.emitter;l(t)||(t=new o8(.5)),this._emitter=t,this._bursts=e.bursts,this._modelMatrix=F.clone(y(e.modelMatrix,F.IDENTITY)),this._emitterModelMatrix=F.clone(y(e.emitterModelMatrix,F.IDENTITY)),this._matrixDirty=!0,this._combinedMatrix=new F,this._startColor=z.clone(y(e.color,y(e.startColor,z.WHITE))),this._endColor=z.clone(y(e.color,y(e.endColor,z.WHITE))),this._startScale=y(e.scale,y(e.startScale,1)),this._endScale=y(e.scale,y(e.endScale,1)),this._emissionRate=y(e.emissionRate,5),this._minimumSpeed=y(e.speed,y(e.minimumSpeed,1)),this._maximumSpeed=y(e.speed,y(e.maximumSpeed,1)),this._minimumParticleLife=y(e.particleLife,y(e.minimumParticleLife,5)),this._maximumParticleLife=y(e.particleLife,y(e.maximumParticleLife,5)),this._minimumMass=y(e.mass,y(e.minimumMass,1)),this._maximumMass=y(e.mass,y(e.maximumMass,1)),this._minimumImageSize=U.clone(y(e.imageSize,y(e.minimumImageSize,ACe))),this._maximumImageSize=U.clone(y(e.imageSize,y(e.maximumImageSize,ACe))),this._sizeInMeters=y(e.sizeInMeters,!1),this._lifetime=y(e.lifetime,Number.MAX_VALUE),this._billboardCollection=void 0,this._particles=[],this._particlePool=[],this._previousTime=void 0,this._currentTime=0,this._carryOver=0,this._complete=new me,this._isComplete=!1,this._updateParticlePool=!0,this._particleEstimate=0}Object.defineProperties(kP.prototype,{emitter:{get:function(){return this._emitter},set:function(e){this._emitter=e}},bursts:{get:function(){return this._bursts},set:function(e){this._bursts=e,this._updateParticlePool=!0}},modelMatrix:{get:function(){return this._modelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._modelMatrix,e),F.clone(e,this._modelMatrix)}},emitterModelMatrix:{get:function(){return this._emitterModelMatrix},set:function(e){this._matrixDirty=this._matrixDirty||!F.equals(this._emitterModelMatrix,e),F.clone(e,this._emitterModelMatrix)}},startColor:{get:function(){return this._startColor},set:function(e){z.clone(e,this._startColor)}},endColor:{get:function(){return this._endColor},set:function(e){z.clone(e,this._endColor)}},startScale:{get:function(){return this._startScale},set:function(e){this._startScale=e}},endScale:{get:function(){return this._endScale},set:function(e){this._endScale=e}},emissionRate:{get:function(){return this._emissionRate},set:function(e){this._emissionRate=e,this._updateParticlePool=!0}},minimumSpeed:{get:function(){return this._minimumSpeed},set:function(e){this._minimumSpeed=e}},maximumSpeed:{get:function(){return this._maximumSpeed},set:function(e){this._maximumSpeed=e}},minimumParticleLife:{get:function(){return this._minimumParticleLife},set:function(e){this._minimumParticleLife=e}},maximumParticleLife:{get:function(){return this._maximumParticleLife},set:function(e){this._maximumParticleLife=e,this._updateParticlePool=!0}},minimumMass:{get:function(){return this._minimumMass},set:function(e){this._minimumMass=e}},maximumMass:{get:function(){return this._maximumMass},set:function(e){this._maximumMass=e}},minimumImageSize:{get:function(){return this._minimumImageSize},set:function(e){this._minimumImageSize=e}},maximumImageSize:{get:function(){return this._maximumImageSize},set:function(e){this._maximumImageSize=e}},sizeInMeters:{get:function(){return this._sizeInMeters},set:function(e){this._sizeInMeters=e}},lifetime:{get:function(){return this._lifetime},set:function(e){this._lifetime=e}},complete:{get:function(){return this._complete}},isComplete:{get:function(){return this._isComplete}}});function YCt(e){let t=e._emissionRate,n=e._maximumParticleLife,i=0,o=e._bursts;if(l(o)){let d=o.length;for(let p=0;p<d;++p)i+=o[p].maximum}let r=e._billboardCollection,s=e.image,a=Math.ceil(t*n+i),c=e._particles,u=e._particlePool,f=Math.max(a-c.length-u.length,0);for(let d=0;d<f;++d){let p=new BP;p._billboard=r.add({image:s,show:!1}),u.push(p)}e._particleEstimate=a}function XCt(e){let t=e._particlePool.pop();return l(t)||(t=new BP),t}function KCt(e,t){e._particlePool.push(t)}function ZCt(e){let t=e._particles,n=e._particlePool,i=e._billboardCollection,o=t.length,r=n.length,s=e._particleEstimate,a=r-Math.max(s-o-r,0);for(let c=a;c<r;++c){let u=n[c];i.remove(u._billboard)}n.length=a}function $Ct(e){l(e._billboard)&&(e._billboard.show=!1)}function ECe(e,t){let n=t._billboard;l(n)||(n=t._billboard=e._billboardCollection.add({image:t.image})),n.width=t.imageSize.x,n.height=t.imageSize.y,n.position=t.position,n.sizeInMeters=e.sizeInMeters,n.show=!0;let i=P.lerp(t.startColor.red,t.endColor.red,t.normalizedAge),o=P.lerp(t.startColor.green,t.endColor.green,t.normalizedAge),r=P.lerp(t.startColor.blue,t.endColor.blue,t.normalizedAge),s=P.lerp(t.startColor.alpha,t.endColor.alpha,t.normalizedAge);n.color=new z(i,o,r,s),n.scale=P.lerp(t.startScale,t.endScale,t.normalizedAge)}function QCt(e,t){t.startColor=z.clone(e._startColor,t.startColor),t.endColor=z.clone(e._endColor,t.endColor),t.startScale=e._startScale,t.endScale=e._endScale,t.image=e.image,t.life=P.randomBetween(e._minimumParticleLife,e._maximumParticleLife),t.mass=P.randomBetween(e._minimumMass,e._maximumMass),t.imageSize.x=P.randomBetween(e._minimumImageSize.x,e._maximumImageSize.x),t.imageSize.y=P.randomBetween(e._minimumImageSize.y,e._maximumImageSize.y),t._normalizedAge=0,t._age=0;let n=P.randomBetween(e._minimumSpeed,e._maximumSpeed);h.multiplyByScalar(t.velocity,n,t.velocity),e._particles.push(t)}function JCt(e,t){if(e._isComplete)return 0;t=P.mod(t,e._lifetime);let n=t*e._emissionRate,i=Math.floor(n);if(e._carryOver+=n-i,e._carryOver>1&&(i++,e._carryOver-=1),l(e.bursts)){let o=e.bursts.length;for(let r=0;r<o;r++){let s=e.bursts[r],a=e._currentTime;l(s)&&!s._complete&&a>s.time&&(i+=P.randomBetween(s.minimum,s.maximum),s._complete=!0)}}return i}var E8=new h;kP.prototype.update=function(e){if(!this.show)return;l(this._billboardCollection)||(this._billboardCollection=new yf),this._updateParticlePool&&(YCt(this),this._updateParticlePool=!1);let t=0;this._previousTime&&(t=K.secondsDifference(e.time,this._previousTime)),t<0&&(t=0);let n=this._particles,i=this._emitter,o=this.updateCallback,r,s,a=n.length;for(r=0;r<a;++r)s=n[r],s.update(t,o)?ECe(this,s):($Ct(s),KCt(this,s),n[r]=n[a-1],--r,--a);n.length=a;let c=JCt(this,t);if(c>0&&l(i)){this._matrixDirty&&(this._combinedMatrix=F.multiply(this.modelMatrix,this.emitterModelMatrix,this._combinedMatrix),this._matrixDirty=!1);let u=this._combinedMatrix;for(r=0;r<c;r++)s=XCt(this),this._emitter.emit(s),h.add(s.position,s.velocity,E8),F.multiplyByPoint(u,E8,E8),s.position=F.multiplyByPoint(u,s.position,s.position),h.subtract(E8,s.position,s.velocity),h.normalize(s.velocity,s.velocity),QCt(this,s),ECe(this,s)}if(this._billboardCollection.update(e),this._previousTime=K.clone(e.time,this._previousTime),this._currentTime+=t,this._lifetime!==Number.MAX_VALUE&&this._currentTime>this._lifetime)if(this.loop){if(this._currentTime=P.mod(this._currentTime,this._lifetime),this.bursts){let u=this.bursts.length;for(r=0;r<u;r++)this.bursts[r]._complete=!1}}else this._isComplete=!0,this._complete.raiseEvent(this);e.frameNumber%120===0&&ZCt(this)};kP.prototype.isDestroyed=function(){return!1};kP.prototype.destroy=function(){return this._billboardCollection=this._billboardCollection&&this._billboardCollection.destroy(),ue(this)};var SCe=kP;function Uu(){de.throwInstantiationError()}Uu.computeDefaultLevelZeroMaximumGeometricError=function(e){return e.ellipsoid.maximumRadius*2*Math.PI*.25/(65*e.getNumberOfXTilesAtLevel(0))};Object.defineProperties(Uu.prototype,{quadtree:{get:de.throwInstantiationError,set:de.throwInstantiationError},tilingScheme:{get:de.throwInstantiationError},errorEvent:{get:de.throwInstantiationError}});Uu.prototype.update=de.throwInstantiationError;Uu.prototype.beginUpdate=de.throwInstantiationError;Uu.prototype.endUpdate=de.throwInstantiationError;Uu.prototype.getLevelMaximumGeometricError=de.throwInstantiationError;Uu.prototype.loadTile=de.throwInstantiationError;Uu.prototype.computeTileVisibility=de.throwInstantiationError;Uu.prototype.showTileThisFrame=de.throwInstantiationError;Uu.prototype.computeDistanceToTile=de.throwInstantiationError;Uu.prototype.isDestroyed=de.throwInstantiationError;Uu.prototype.destroy=de.throwInstantiationError;var vCe=Uu;function _Z(e){e=y(e,1),this._radius=y(e,1)}Object.defineProperties(_Z.prototype,{radius:{get:function(){return this._radius},set:function(e){this._radius=e}}});_Z.prototype.emit=function(e){let t=P.randomBetween(0,P.TWO_PI),n=P.randomBetween(0,P.PI),i=P.randomBetween(0,this._radius),o=i*Math.cos(t)*Math.sin(n),r=i*Math.sin(t)*Math.sin(n),s=i*Math.cos(n);e.position=h.fromElements(o,r,s,e.position),e.velocity=h.normalize(e.position,e.velocity)};var wCe=_Z;function VP(){}VP.prototype.evaluate=function(e,t){de.throwInstantiationError()};VP.prototype.evaluateColor=function(e,t){de.throwInstantiationError()};VP.prototype.getShaderFunction=function(e,t,n,i){de.throwInstantiationError()};VP.prototype.getVariables=function(){de.throwInstantiationError()};var DCe=VP;function NS(e){this._ready=!1,this._provider=void 0,this._errorEvent=new me,this._readyEvent=new me,tAt(this,e)}Object.defineProperties(NS.prototype,{errorEvent:{get:function(){return this._errorEvent}},readyEvent:{get:function(){return this._readyEvent}},ready:{get:function(){return this._ready}},provider:{get:function(){return this._provider}}});NS.fromWorldTerrain=function(e){return new NS(FE(e))};NS.fromWorldBathymetry=function(e){return new NS(aU(e))};function eAt(e,t){e.numberOfListeners>0?e.raiseEvent(t):console.error(t)}async function tAt(e,t){let n;try{n=await Promise.resolve(t),e._provider=n,e._ready=!0,e._readyEvent.raiseEvent(n)}catch(i){eAt(e._errorEvent,i)}}var S8=NS;function FS(){}FS.prototype.boundingVolume=void 0;FS.prototype.boundingSphere=void 0;FS.prototype.distanceToCamera=function(e){de.throwInstantiationError()};FS.prototype.intersectPlane=function(e){de.throwInstantiationError()};FS.prototype.createDebugVolume=function(e){de.throwInstantiationError()};var ICe=FS;function UP(e){e=y(e,y.EMPTY_OBJECT),this._tilingScheme=l(e.tilingScheme)?e.tilingScheme:new Xi({ellipsoid:e.ellipsoid}),this._color=y(e.color,z.YELLOW),this._errorEvent=new me,this._tileWidth=y(e.tileWidth,256),this._tileHeight=y(e.tileHeight,256),this._defaultAlpha=void 0,this._defaultNightAlpha=void 0,this._defaultDayAlpha=void 0,this._defaultBrightness=void 0,this._defaultContrast=void 0,this._defaultHue=void 0,this._defaultSaturation=void 0,this._defaultGamma=void 0,this._defaultMinificationFilter=void 0,this._defaultMagnificationFilter=void 0}Object.defineProperties(UP.prototype,{proxy:{get:function(){}},tileWidth:{get:function(){return this._tileWidth}},tileHeight:{get:function(){return this._tileHeight}},maximumLevel:{get:function(){}},minimumLevel:{get:function(){}},tilingScheme:{get:function(){return this._tilingScheme}},rectangle:{get:function(){return this._tilingScheme.rectangle}},tileDiscardPolicy:{get:function(){}},errorEvent:{get:function(){return this._errorEvent}},credit:{get:function(){}},hasAlphaChannel:{get:function(){return!0}}});UP.prototype.getTileCredits=function(e,t,n){};UP.prototype.requestImage=function(e,t,n,i){let o=document.createElement("canvas");o.width=256,o.height=256;let r=o.getContext("2d"),s=this._color.toCssColorString();return r.strokeStyle=s,r.lineWidth=2,r.strokeRect(1,1,255,255),r.font="bold 25px Arial",r.textAlign="center",r.fillStyle=s,r.fillText(`L: ${n}`,124,86),r.fillText(`X: ${e}`,124,136),r.fillText(`Y: ${t}`,124,186),Promise.resolve(o)};UP.prototype.pickFeatures=function(e,t,n,i,o){};var v8=UP;function gZ(e){de.throwInstantiationError()}gZ.prototype.isReady=de.throwInstantiationError;gZ.prototype.shouldDiscardImage=de.throwInstantiationError;var PCe=gZ;var nAt={START:0,LOADING:1,READY:2,UPSAMPLED_ONLY:3},OCe=Object.freeze(nAt);function w8(e,t){this.show=!0,l(e)||(e=new Ye),this.rectangle=Ye.clone(e),l(t)||(t=Yi.fromType(Yi.ColorType,{color:new z(1,1,1,1)})),this.material=t,this._material=void 0,this._overlayCommand=void 0,this._rs=void 0}w8.prototype.update=function(e){if(!this.show)return;let t=this._rs;if((!l(t)||!Ye.equals(t.viewport,this.rectangle))&&(this._rs=ze.fromCache({blending:fn.ALPHA_BLEND,viewport:this.rectangle})),e.passes.render){let i=e.context;if(this._material!==this.material||!l(this._overlayCommand)){this._material=this.material,l(this._overlayCommand)&&this._overlayCommand.shaderProgram.destroy();let o=new He({sources:[this._material.shaderSource,ez]});this._overlayCommand=i.createViewportQuadCommand(o,{renderState:this._rs,uniformMap:this._material._uniforms,owner:this}),this._overlayCommand.pass=ve.OVERLAY}this._material.update(i),this._overlayCommand.renderState=this._rs,this._overlayCommand.uniformMap=this._material._uniforms,e.commandList.push(this._overlayCommand)}};w8.prototype.isDestroyed=function(){return!1};w8.prototype.destroy=function(){return l(this._overlayCommand)&&(this._overlayCommand.shaderProgram=this._overlayCommand.shaderProgram&&this._overlayCommand.shaderProgram.destroy()),ue(this)};var RCe=w8;function yZ(){de.throwInstantiationError()}Object.defineProperties(yZ.prototype,{globalTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shape:{get:de.throwInstantiationError},minBounds:{get:de.throwInstantiationError},maxBounds:{get:de.throwInstantiationError},dimensions:{get:de.throwInstantiationError},paddingBefore:{get:de.throwInstantiationError},paddingAfter:{get:de.throwInstantiationError},names:{get:de.throwInstantiationError},types:{get:de.throwInstantiationError},componentTypes:{get:de.throwInstantiationError},minimumValues:{get:de.throwInstantiationError},maximumValues:{get:de.throwInstantiationError},maximumTileCount:{get:de.throwInstantiationError},keyframeCount:{get:de.throwInstantiationError},timeIntervalCollection:{get:de.throwInstantiationError}});yZ.prototype.requestData=de.throwInstantiationError;var MCe=yZ;function Qb(){de.throwInstantiationError()}Object.defineProperties(Qb.prototype,{orientedBoundingBox:{get:de.throwInstantiationError},boundingSphere:{get:de.throwInstantiationError},boundTransform:{get:de.throwInstantiationError},shapeTransform:{get:de.throwInstantiationError},shaderUniforms:{get:de.throwInstantiationError},shaderDefines:{get:de.throwInstantiationError},shaderMaximumIntersectionsLength:{get:de.throwInstantiationError}});Qb.prototype.update=de.throwInstantiationError;Qb.prototype.computeOrientedBoundingBoxForTile=de.throwInstantiationError;Qb.prototype.computeOrientedBoundingBoxForSample=de.throwInstantiationError;Qb.DefaultMinBounds=de.throwInstantiationError;Qb.DefaultMaxBounds=de.throwInstantiationError;var LCe=Qb;var NCe=`uniform sampler2D u_depthTexture; in vec2 v_textureCoordinates; @@ -15949,49 +16165,49 @@ void main() float scale = pow(z_ndc * 0.5 + 0.5, 8.0); out_FragColor = vec4(mix(vec3(0.0), vec3(1.0), scale), 1.0); } -`;var TCt={SIGX:"SIGX",SIGY:"SIGY",SIGZ:"SIGZ",VARX:"VARX",VARY:"VARY",VARZ:"VARZ",SIGR:"VARZ"},CCe=Object.freeze(TCt);function CCt(e){async function t({data:i}){let o=[],r={id:i.id,result:void 0,error:void 0};self.CESIUM_BASE_URL=i.baseUrl;try{let s=await e(i.parameters,o);r.result=s}catch(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}i.canTransferArrayBuffer||(o.length=0);try{postMessage(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${f_(s)} - with responseMessage: ${JSON.stringify(r)}`,postMessage(r)}}function n(i){postMessage({id:i.data?.id,error:`postMessage failed with error: ${JSON.stringify(i)}`})}return self.onmessage=t,self.onmessageerror=n,self}var ACe=CCt;globalThis.CESIUM_VERSION="1.122";var NP;typeof ko<"u"&&(NP=ko);(function(){/*! +`;function iAt(e){e=y(e,y.EMPTY_OBJECT),this.typedArray=e.typedArray,this.width=e.width,this.height=e.height,this.pixelFormat=y(e.pixelFormat,ot.RGBA),this.pixelDatatype=y(e.pixelDatatype,Ze.UNSIGNED_BYTE);let t=e.url;typeof t=="string"&&(t=Ae.createIfNeeded(t)),this.resource=t;let i=y(e.repeat,!0)?Sn.REPEAT:Sn.CLAMP_TO_EDGE;this.sampler=new $t({wrapS:i,wrapT:i,minificationFilter:e.minificationFilter,magnificationFilter:e.magnificationFilter,maximumAnisotropy:e.maximumAnisotropy})}var FCe=iAt;var oAt={FLOAT:"float",VEC2:"vec2",VEC3:"vec3",VEC4:"vec4",MAT2:"mat2",MAT3:"mat2",MAT4:"mat4"},BCe=Object.freeze(oAt);var rAt={SIGX:"SIGX",SIGY:"SIGY",SIGZ:"SIGZ",VARX:"VARX",VARY:"VARY",VARZ:"VARZ",SIGR:"VARZ"},kCe=Object.freeze(rAt);function sAt(e){async function t({data:i}){let o=[],r={id:i.id,result:void 0,error:void 0};self.CESIUM_BASE_URL=i.baseUrl;try{let s=await e(i.parameters,o);r.result=s}catch(s){s instanceof Error?r.error={name:s.name,message:s.message,stack:s.stack}:r.error=s}i.canTransferArrayBuffer||(o.length=0);try{postMessage(r,o)}catch(s){r.result=void 0,r.error=`postMessage failed with error: ${m_(s)} + with responseMessage: ${JSON.stringify(r)}`,postMessage(r)}}function n(i){postMessage({id:i.data?.id,error:`postMessage failed with error: ${JSON.stringify(i)}`})}return self.onmessage=t,self.onmessageerror=n,self}var VCe=sAt;globalThis.CESIUM_VERSION="1.124";var zP;typeof ko<"u"&&(zP=ko);(function(){/*! * Knockout JavaScript library v3.5.1 * (c) The Knockout.js team - http://knockoutjs.com/ * License: MIT (http://www.opensource.org/licenses/mit-license.php) - */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(_,E){return _===null||typeof _ in x?_===E:!1}function u(_,E){var v;return function(){v||(v=m.a.setTimeout(function(){v=e,_()},E))}}function f(_,E){var v;return function(){clearTimeout(v),v=m.a.setTimeout(_,E)}}function d(_,E){E&&E!=="change"?E==="beforeChange"?this.pc(_):this.gb(_,E):this.qc(_)}function p(_,E){E!==null&&E.s&&E.s()}function g(_,E){var v=this.qd,I=v[S];I.ra||(this.Qb&&this.mb[E]?(v.uc(E,_,this.mb[E]),this.mb[E]=null,--this.Qb):I.I[E]||v.uc(E,_,I.J?{da:_}:v.$c(_)),_.Ja&&_.gd())}var m=typeof s<"u"?s:{};m.b=function(_,E){for(var v=_.split("."),I=m,N=0;N<v.length-1;N++)I=I[v[N]];I[v[v.length-1]]=E},m.L=function(_,E,v){_[E]=v},m.version="3.5.1",m.b("version",m.version),m.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},m.a=function(){function _(j,$){for(var Q in j)N.call(j,Q)&&$(Q,j[Q])}function E(j,$){if($)for(var Q in $)N.call($,Q)&&(j[Q]=$[Q]);return j}function v(j,$){return j.__proto__=$,j}function I(j,$,Q,he){var ye=j[$].match(W)||[];m.a.D(Q.match(W),function(re){m.a.Na(ye,re,he)}),j[$]=ye.join(" ")}var N=Object.prototype.hasOwnProperty,B={__proto__:[]}instanceof Array,z=typeof Symbol=="function",V={},G={};V[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],V.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),_(V,function(j,$){if($.length)for(var Q=0,he=$.length;Q<he;Q++)G[$[Q]]=j});var k={propertychange:!0},Y=n&&function(){for(var j=3,$=n.createElement("div"),Q=$.getElementsByTagName("i");$.innerHTML="<!--[if gt IE "+ ++j+"]><i></i><![endif]-->",Q[0];);return 4<j?j:e}(),W=/\S+/g,J;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(j,$,Q){for(var he=0,ye=j.length;he<ye;he++)$.call(Q,j[he],he,j)},A:typeof Array.prototype.indexOf=="function"?function(j,$){return Array.prototype.indexOf.call(j,$)}:function(j,$){for(var Q=0,he=j.length;Q<he;Q++)if(j[Q]===$)return Q;return-1},Lb:function(j,$,Q){for(var he=0,ye=j.length;he<ye;he++)if($.call(Q,j[he],he,j))return j[he];return e},Pa:function(j,$){var Q=m.a.A(j,$);0<Q?j.splice(Q,1):Q===0&&j.shift()},wc:function(j){var $=[];return j&&m.a.D(j,function(Q){0>m.a.A($,Q)&&$.push(Q)}),$},Mb:function(j,$,Q){var he=[];if(j)for(var ye=0,re=j.length;ye<re;ye++)he.push($.call(Q,j[ye],ye));return he},jb:function(j,$,Q){var he=[];if(j)for(var ye=0,re=j.length;ye<re;ye++)$.call(Q,j[ye],ye)&&he.push(j[ye]);return he},Nb:function(j,$){if($ instanceof Array)j.push.apply(j,$);else for(var Q=0,he=$.length;Q<he;Q++)j.push($[Q]);return j},Na:function(j,$,Q){var he=m.a.A(m.a.bc(j),$);0>he?Q&&j.push($):Q||j.splice(he,1)},Ba:B,extend:E,setPrototypeOf:v,Ab:B?v:E,P:_,Ga:function(j,$,Q){if(!j)return j;var he={},ye;for(ye in j)N.call(j,ye)&&(he[ye]=$.call(Q,j[ye],ye,j));return he},Tb:function(j){for(;j.firstChild;)m.removeNode(j.firstChild)},Yb:function(j){j=m.a.la(j);for(var $=(j[0]&&j[0].ownerDocument||n).createElement("div"),Q=0,he=j.length;Q<he;Q++)$.appendChild(m.oa(j[Q]));return $},Ca:function(j,$){for(var Q=0,he=j.length,ye=[];Q<he;Q++){var re=j[Q].cloneNode(!0);ye.push($?m.oa(re):re)}return ye},va:function(j,$){if(m.a.Tb(j),$)for(var Q=0,he=$.length;Q<he;Q++)j.appendChild($[Q])},Xc:function(j,$){var Q=j.nodeType?[j]:j;if(0<Q.length){for(var he=Q[0],ye=he.parentNode,re=0,_e=$.length;re<_e;re++)ye.insertBefore($[re],he);for(re=0,_e=Q.length;re<_e;re++)m.removeNode(Q[re])}},Ua:function(j,$){if(j.length){for($=$.nodeType===8&&$.parentNode||$;j.length&&j[0].parentNode!==$;)j.splice(0,1);for(;1<j.length&&j[j.length-1].parentNode!==$;)j.length--;if(1<j.length){var Q=j[0],he=j[j.length-1];for(j.length=0;Q!==he;)j.push(Q),Q=Q.nextSibling;j.push(he)}}return j},Zc:function(j,$){7>Y?j.setAttribute("selected",$):j.selected=$},Db:function(j){return j===null||j===e?"":j.trim?j.trim():j.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(j,$){return j=j||"",$.length>j.length?!1:j.substring(0,$.length)===$},vd:function(j,$){if(j===$)return!0;if(j.nodeType===11)return!1;if($.contains)return $.contains(j.nodeType!==1?j.parentNode:j);if($.compareDocumentPosition)return($.compareDocumentPosition(j)&16)==16;for(;j&&j!=$;)j=j.parentNode;return!!j},Sb:function(j){return m.a.vd(j,j.ownerDocument.documentElement)},kd:function(j){return!!m.a.Lb(j,m.a.Sb)},R:function(j){return j&&j.tagName&&j.tagName.toLowerCase()},Ac:function(j){return m.onError?function(){try{return j.apply(this,arguments)}catch($){throw m.onError&&m.onError($),$}}:j},setTimeout:function(j,$){return setTimeout(m.a.Ac(j),$)},Gc:function(j){setTimeout(function(){throw m.onError&&m.onError(j),j},0)},B:function(j,$,Q){var he=m.a.Ac(Q);if(Q=k[$],m.options.useOnlyNativeEvents||Q||!o)if(Q||typeof j.addEventListener!="function")if(typeof j.attachEvent<"u"){var ye=function(_e){he.call(j,_e)},re="on"+$;j.attachEvent(re,ye),m.a.K.za(j,function(){j.detachEvent(re,ye)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else j.addEventListener($,he,!1);else J||(J=typeof o(j).on=="function"?"on":"bind"),o(j)[J]($,he)},Fb:function(j,$){if(!j||!j.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var Q;if(m.a.R(j)==="input"&&j.type&&$.toLowerCase()=="click"?(Q=j.type,Q=Q=="checkbox"||Q=="radio"):Q=!1,m.options.useOnlyNativeEvents||!o||Q)if(typeof n.createEvent=="function")if(typeof j.dispatchEvent=="function")Q=n.createEvent(G[$]||"HTMLEvents"),Q.initEvent($,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,j),j.dispatchEvent(Q);else throw Error("The supplied element doesn't support dispatchEvent");else if(Q&&j.click)j.click();else if(typeof j.fireEvent<"u")j.fireEvent("on"+$);else throw Error("Browser doesn't support triggering events");else o(j).trigger($)},f:function(j){return m.O(j)?j():j},bc:function(j){return m.O(j)?j.v():j},Eb:function(j,$,Q){var he;$&&(typeof j.classList=="object"?(he=j.classList[Q?"add":"remove"],m.a.D($.match(W),function(ye){he.call(j.classList,ye)})):typeof j.className.baseVal=="string"?I(j.className,"baseVal",$,Q):I(j,"className",$,Q))},Bb:function(j,$){var Q=m.a.f($);(Q===null||Q===e)&&(Q="");var he=m.h.firstChild(j);!he||he.nodeType!=3||m.h.nextSibling(he)?m.h.va(j,[j.ownerDocument.createTextNode(Q)]):he.data=Q,m.a.Ad(j)},Yc:function(j,$){if(j.name=$,7>=Y)try{var Q=j.name.replace(/[&<>'"]/g,function(he){return"&#"+he.charCodeAt(0)+";"});j.mergeAttributes(n.createElement("<input name='"+Q+"'/>"),!1)}catch{}},Ad:function(j){9<=Y&&(j=j.nodeType==1?j:j.parentNode,j.style&&(j.style.zoom=j.style.zoom))},wd:function(j){if(Y){var $=j.style.width;j.style.width=0,j.style.width=$}},Pd:function(j,$){j=m.a.f(j),$=m.a.f($);for(var Q=[],he=j;he<=$;he++)Q.push(he);return Q},la:function(j){for(var $=[],Q=0,he=j.length;Q<he;Q++)$.push(j[Q]);return $},Da:function(j){return z?Symbol(j):j},Zd:Y===6,$d:Y===7,W:Y,Lc:function(j,$){for(var Q=m.a.la(j.getElementsByTagName("input")).concat(m.a.la(j.getElementsByTagName("textarea"))),he=typeof $=="string"?function(_e){return _e.name===$}:function(_e){return $.test(_e.name)},ye=[],re=Q.length-1;0<=re;re--)he(Q[re])&&ye.push(Q[re]);return ye},Nd:function(j){return typeof j=="string"&&(j=m.a.Db(j))?r&&r.parse?r.parse(j):new Function("return "+j)():null},hc:function(j,$,Q){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(m.a.f(j),$,Q)},Od:function(j,$,Q){Q=Q||{};var he=Q.params||{},ye=Q.includeFields||this.Jc,re=j;if(typeof j=="object"&&m.a.R(j)==="form")for(var re=j.action,_e=ye.length-1;0<=_e;_e--)for(var xe=m.a.Lc(j,ye[_e]),De=xe.length-1;0<=De;De--)he[xe[De].name]=xe[De].value;$=m.a.f($);var we=n.createElement("form");we.style.display="none",we.action=re,we.method="post";for(var Oe in $)j=n.createElement("input"),j.type="hidden",j.name=Oe,j.value=m.a.hc(m.a.f($[Oe])),we.appendChild(j);_(he,function(Me,ht){var it=n.createElement("input");it.type="hidden",it.name=Me,it.value=ht,we.appendChild(it)}),n.body.appendChild(we),Q.submitter?Q.submitter(we):we.submit(),setTimeout(function(){we.parentNode.removeChild(we)},0)}}}(),m.b("utils",m.a),m.b("utils.arrayForEach",m.a.D),m.b("utils.arrayFirst",m.a.Lb),m.b("utils.arrayFilter",m.a.jb),m.b("utils.arrayGetDistinctValues",m.a.wc),m.b("utils.arrayIndexOf",m.a.A),m.b("utils.arrayMap",m.a.Mb),m.b("utils.arrayPushAll",m.a.Nb),m.b("utils.arrayRemoveItem",m.a.Pa),m.b("utils.cloneNodes",m.a.Ca),m.b("utils.createSymbolOrString",m.a.Da),m.b("utils.extend",m.a.extend),m.b("utils.fieldsIncludedWithJsonPost",m.a.Jc),m.b("utils.getFormFields",m.a.Lc),m.b("utils.objectMap",m.a.Ga),m.b("utils.peekObservable",m.a.bc),m.b("utils.postJson",m.a.Od),m.b("utils.parseJson",m.a.Nd),m.b("utils.registerEventHandler",m.a.B),m.b("utils.stringifyJson",m.a.hc),m.b("utils.range",m.a.Pd),m.b("utils.toggleDomNodeCssClass",m.a.Eb),m.b("utils.triggerEvent",m.a.Fb),m.b("utils.unwrapObservable",m.a.f),m.b("utils.objectForEach",m.a.P),m.b("utils.addOrRemoveItem",m.a.Na),m.b("utils.setTextContent",m.a.Bb),m.b("unwrap",m.a.f),Function.prototype.bind||(Function.prototype.bind=function(_){var E=this;if(arguments.length===1)return function(){return E.apply(_,arguments)};var v=Array.prototype.slice.call(arguments,1);return function(){var I=v.slice(0);return I.push.apply(I,arguments),E.apply(_,I)}}),m.a.g=new function(){var _=0,E="__ko__"+new Date().getTime(),v={},I,N;return m.a.W?(I=function(B,z){var V=B[E];if(!V||V==="null"||!v[V]){if(!z)return e;V=B[E]="ko"+_++,v[V]={}}return v[V]},N=function(B){var z=B[E];return z?(delete v[z],B[E]=null,!0):!1}):(I=function(B,z){var V=B[E];return!V&&z&&(V=B[E]={}),V},N=function(B){return B[E]?(delete B[E],!0):!1}),{get:function(B,z){var V=I(B,!1);return V&&V[z]},set:function(B,z,V){(B=I(B,V!==e))&&(B[z]=V)},Ub:function(B,z,V){return B=I(B,!0),B[z]||(B[z]=V)},clear:N,Z:function(){return _+++E}}},m.b("utils.domData",m.a.g),m.b("utils.domData.clear",m.a.g.clear),m.a.K=new function(){function _(z,V){var G=m.a.g.get(z,I);return G===e&&V&&(G=[],m.a.g.set(z,I,G)),G}function E(z){var V=_(z,!1);if(V)for(var V=V.slice(0),G=0;G<V.length;G++)V[G](z);m.a.g.clear(z),m.a.K.cleanExternalData(z),B[z.nodeType]&&v(z.childNodes,!0)}function v(z,V){for(var G=[],k,Y=0;Y<z.length;Y++)if((!V||z[Y].nodeType===8)&&(E(G[G.length]=k=z[Y]),z[Y]!==k))for(;Y--&&m.a.A(G,z[Y])==-1;);}var I=m.a.g.Z(),N={1:!0,8:!0,9:!0},B={1:!0,9:!0};return{za:function(z,V){if(typeof V!="function")throw Error("Callback must be a function");_(z,!0).push(V)},yb:function(z,V){var G=_(z,!1);G&&(m.a.Pa(G,V),G.length==0&&m.a.g.set(z,I,e))},oa:function(z){return m.u.G(function(){N[z.nodeType]&&(E(z),B[z.nodeType]&&v(z.getElementsByTagName("*")))}),z},removeNode:function(z){m.oa(z),z.parentNode&&z.parentNode.removeChild(z)},cleanExternalData:function(z){o&&typeof o.cleanData=="function"&&o.cleanData([z])}}},m.oa=m.a.K.oa,m.removeNode=m.a.K.removeNode,m.b("cleanNode",m.oa),m.b("removeNode",m.removeNode),m.b("utils.domNodeDisposal",m.a.K),m.b("utils.domNodeDisposal.addDisposeCallback",m.a.K.za),m.b("utils.domNodeDisposal.removeDisposeCallback",m.a.K.yb),function(){var _=[0,"",""],E=[1,"<table>","</table>"],v=[3,"<table><tbody><tr>","</tr></tbody></table>"],I=[1,"<select multiple='multiple'>","</select>"],N={thead:E,tbody:E,tfoot:E,tr:[2,"<table><tbody>","</tbody></table>"],td:v,th:v,option:I,optgroup:I},B=8>=m.a.W;m.a.ua=function(z,V){var G;if(o){if(o.parseHTML)G=o.parseHTML(z,V)||[];else if((G=o.clean([z],V))&&G[0]){for(var k=G[0];k.parentNode&&k.parentNode.nodeType!==11;)k=k.parentNode;k.parentNode&&k.parentNode.removeChild(k)}}else{(G=V)||(G=n);var k=G.parentWindow||G.defaultView||t,Y=m.a.Db(z).toLowerCase(),W=G.createElement("div"),J;for(J=(Y=Y.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&N[Y[1]]||_,Y=J[0],J="ignored<div>"+J[1]+z+J[2]+"</div>",typeof k.innerShiv=="function"?W.appendChild(k.innerShiv(J)):(B&&G.body.appendChild(W),W.innerHTML=J,B&&W.parentNode.removeChild(W));Y--;)W=W.lastChild;G=m.a.la(W.lastChild.childNodes)}return G},m.a.Md=function(z,V){var G=m.a.ua(z,V);return G.length&&G[0].parentElement||m.a.Yb(G)},m.a.fc=function(z,V){if(m.a.Tb(z),V=m.a.f(V),V!==null&&V!==e)if(typeof V!="string"&&(V=V.toString()),o)o(z).html(V);else for(var G=m.a.ua(V,z.ownerDocument),k=0;k<G.length;k++)z.appendChild(G[k])}}(),m.b("utils.parseHtmlFragment",m.a.ua),m.b("utils.setHtml",m.a.fc),m.aa=function(){function _(v,I){if(v){if(v.nodeType==8){var N=m.aa.Uc(v.nodeValue);N!=null&&I.push({ud:v,Kd:N})}else if(v.nodeType==1)for(var N=0,B=v.childNodes,z=B.length;N<z;N++)_(B[N],I)}}var E={};return{Xb:function(v){if(typeof v!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var I=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return E[I]=v,"<!--[ko_memo:"+I+"]-->"},bd:function(v,I){var N=E[v];if(N===e)throw Error("Couldn't find any memo with ID "+v+". Perhaps it's already been unmemoized.");try{return N.apply(null,I||[]),!0}finally{delete E[v]}},cd:function(v,I){var N=[];_(v,N);for(var B=0,z=N.length;B<z;B++){var V=N[B].ud,G=[V];I&&m.a.Nb(G,I),m.aa.bd(N[B].Kd,G),V.nodeValue="",V.parentNode&&V.parentNode.removeChild(V)}},Uc:function(v){return(v=v.match(/^\[ko_memo\:(.*?)\]$/))?v[1]:null}}}(),m.b("memoization",m.aa),m.b("memoization.memoize",m.aa.Xb),m.b("memoization.unmemoize",m.aa.bd),m.b("memoization.parseMemoText",m.aa.Uc),m.b("memoization.unmemoizeDomNodeAndDescendants",m.aa.cd),m.na=function(){function _(){if(N){for(var V=N,G=0,k;z<N;)if(k=I[z++]){if(z>V){if(5e3<=++G){z=N,m.a.Gc(Error("'Too much recursion' after processing "+G+" task groups."));break}V=N}try{k()}catch(Y){m.a.Gc(Y)}}}}function E(){_(),z=N=I.length=0}var v,I=[],N=0,B=1,z=0;return t.MutationObserver?v=function(V){var G=n.createElement("div");return new MutationObserver(V).observe(G,{attributes:!0}),function(){G.classList.toggle("foo")}}(E):v=n&&"onreadystatechange"in n.createElement("script")?function(V){var G=n.createElement("script");G.onreadystatechange=function(){G.onreadystatechange=null,n.documentElement.removeChild(G),G=null,V()},n.documentElement.appendChild(G)}:function(V){setTimeout(V,0)},{scheduler:v,zb:function(V){return N||m.na.scheduler(E),I[N++]=V,B++},cancel:function(V){V=V-(B-N),V>=z&&V<N&&(I[V]=null)},resetForTesting:function(){var V=N-z;return z=N=I.length=0,V},Sd:_}}(),m.b("tasks",m.na),m.b("tasks.schedule",m.na.zb),m.b("tasks.runEarly",m.na.Sd),m.Ta={throttle:function(_,E){_.throttleEvaluation=E;var v=null;return m.$({read:_,write:function(I){clearTimeout(v),v=m.a.setTimeout(function(){_(I)},E)}})},rateLimit:function(_,E){var v,I,N;typeof E=="number"?v=E:(v=E.timeout,I=E.method),_.Hb=!1,N=typeof I=="function"?I:I=="notifyWhenChangesStop"?f:u,_.ub(function(B){return N(B,v,E)})},deferred:function(_,E){if(E!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");_.Hb||(_.Hb=!0,_.ub(function(v){var I,N=!1;return function(){if(!N){m.na.cancel(I),I=m.na.zb(v);try{N=!0,_.notifySubscribers(e,"dirty")}finally{N=!1}}}}))},notify:function(_,E){_.equalityComparer=E=="always"?null:c}};var x={undefined:1,boolean:1,number:1,string:1};m.b("extenders",m.Ta),m.ic=function(_,E,v){this.da=_,this.lc=E,this.mc=v,this.Ib=!1,this.fb=this.Jb=null,m.L(this,"dispose",this.s),m.L(this,"disposeWhenNodeIsRemoved",this.l)},m.ic.prototype.s=function(){this.Ib||(this.fb&&m.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},m.ic.prototype.l=function(_){this.Jb=_,m.a.K.za(_,this.fb=this.s.bind(this))},m.T=function(){m.a.Ab(this,b),b.qb(this)};var b={qb:function(_){_.U={change:[]},_.sc=1},subscribe:function(_,E,v){var I=this;v=v||"change";var N=new m.ic(I,E?_.bind(E):_,function(){m.a.Pa(I.U[v],N),I.hb&&I.hb(v)});return I.Qa&&I.Qa(v),I.U[v]||(I.U[v]=[]),I.U[v].push(N),N},notifySubscribers:function(_,E){if(E=E||"change",E==="change"&&this.Gb(),this.Wa(E)){var v=E==="change"&&this.ed||this.U[E].slice(0);try{m.u.xc();for(var I=0,N;N=v[I];++I)N.Ib||N.lc(_)}finally{m.u.end()}}},ob:function(){return this.sc},Dd:function(_){return this.ob()!==_},Gb:function(){++this.sc},ub:function(_){var E=this,v=m.O(E),I,N,B,z,V;E.gb||(E.gb=E.notifySubscribers,E.notifySubscribers=d);var G=_(function(){E.Ja=!1,v&&z===E&&(z=E.nc?E.nc():E());var k=N||V&&E.sb(B,z);V=N=I=!1,k&&E.gb(B=z)});E.qc=function(k,Y){Y&&E.Ja||(V=!Y),E.ed=E.U.change.slice(0),E.Ja=I=!0,z=k,G()},E.pc=function(k){I||(B=k,E.gb(k,"beforeChange"))},E.rc=function(){V=!0},E.gd=function(){E.sb(B,E.v(!0))&&(N=!0)}},Wa:function(_){return this.U[_]&&this.U[_].length},Bd:function(_){if(_)return this.U[_]&&this.U[_].length||0;var E=0;return m.a.P(this.U,function(v,I){v!=="dirty"&&(E+=I.length)}),E},sb:function(_,E){return!this.equalityComparer||!this.equalityComparer(_,E)},toString:function(){return"[object Object]"},extend:function(_){var E=this;return _&&m.a.P(_,function(v,I){var N=m.Ta[v];typeof N=="function"&&(E=N(E,I)||E)}),E}};m.L(b,"init",b.qb),m.L(b,"subscribe",b.subscribe),m.L(b,"extend",b.extend),m.L(b,"getSubscriptionsCount",b.Bd),m.a.Ba&&m.a.setPrototypeOf(b,Function.prototype),m.T.fn=b,m.Qc=function(_){return _!=null&&typeof _.subscribe=="function"&&typeof _.notifySubscribers=="function"},m.b("subscribable",m.T),m.b("isSubscribable",m.Qc),m.S=m.u=function(){function _(B){v.push(I),I=B}function E(){I=v.pop()}var v=[],I,N=0;return{xc:_,end:E,cc:function(B){if(I){if(!m.Qc(B))throw Error("Only subscribable things can act as dependencies");I.od.call(I.pd,B,B.fd||(B.fd=++N))}},G:function(B,z,V){try{return _(),B.apply(z,V||[])}finally{E()}},qa:function(){if(I)return I.o.qa()},Va:function(){if(I)return I.o.Va()},Ya:function(){if(I)return I.Ya},o:function(){if(I)return I.o}}}(),m.b("computedContext",m.S),m.b("computedContext.getDependenciesCount",m.S.qa),m.b("computedContext.getDependencies",m.S.Va),m.b("computedContext.isInitial",m.S.Ya),m.b("computedContext.registerDependency",m.S.cc),m.b("ignoreDependencies",m.Yd=m.u.G);var T=m.a.Da("_latestValue");m.ta=function(_){function E(){return 0<arguments.length?(E.sb(E[T],arguments[0])&&(E.ya(),E[T]=arguments[0],E.xa()),this):(m.u.cc(E),E[T])}return E[T]=_,m.a.Ba||m.a.extend(E,m.T.fn),m.T.fn.qb(E),m.a.Ab(E,C),m.options.deferUpdates&&m.Ta.deferred(E,!0),E};var C={equalityComparer:c,v:function(){return this[T]},xa:function(){this.notifySubscribers(this[T],"spectate"),this.notifySubscribers(this[T])},ya:function(){this.notifySubscribers(this[T],"beforeChange")}};m.a.Ba&&m.a.setPrototypeOf(C,m.T.fn);var A=m.ta.Ma="__ko_proto__";C[A]=m.ta,m.O=function(_){if((_=typeof _=="function"&&_[A])&&_!==C[A]&&_!==m.o.fn[A])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!_},m.Za=function(_){return typeof _=="function"&&(_[A]===C[A]||_[A]===m.o.fn[A]&&_.Nc)},m.b("observable",m.ta),m.b("isObservable",m.O),m.b("isWriteableObservable",m.Za),m.b("isWritableObservable",m.Za),m.b("observable.fn",C),m.L(C,"peek",C.v),m.L(C,"valueHasMutated",C.xa),m.L(C,"valueWillMutate",C.ya),m.Ha=function(_){if(_=_||[],typeof _!="object"||!("length"in _))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return _=m.ta(_),m.a.Ab(_,m.Ha.fn),_.extend({trackArrayChanges:!0})},m.Ha.fn={remove:function(_){for(var E=this.v(),v=[],I=typeof _!="function"||m.O(_)?function(z){return z===_}:_,N=0;N<E.length;N++){var B=E[N];if(I(B)){if(v.length===0&&this.ya(),E[N]!==B)throw Error("Array modified during remove; cannot remove item");v.push(B),E.splice(N,1),N--}}return v.length&&this.xa(),v},removeAll:function(_){if(_===e){var E=this.v(),v=E.slice(0);return this.ya(),E.splice(0,E.length),this.xa(),v}return _?this.remove(function(I){return 0<=m.a.A(_,I)}):[]},destroy:function(_){var E=this.v(),v=typeof _!="function"||m.O(_)?function(B){return B===_}:_;this.ya();for(var I=E.length-1;0<=I;I--){var N=E[I];v(N)&&(N._destroy=!0)}this.xa()},destroyAll:function(_){return _===e?this.destroy(function(){return!0}):_?this.destroy(function(E){return 0<=m.a.A(_,E)}):[]},indexOf:function(_){var E=this();return m.a.A(E,_)},replace:function(_,E){var v=this.indexOf(_);0<=v&&(this.ya(),this.v()[v]=E,this.xa())},sorted:function(_){var E=this().slice(0);return _?E.sort(_):E.sort()},reversed:function(){return this().slice(0).reverse()}},m.a.Ba&&m.a.setPrototypeOf(m.Ha.fn,m.ta.fn),m.a.D("pop push reverse shift sort splice unshift".split(" "),function(_){m.Ha.fn[_]=function(){var E=this.v();this.ya(),this.zc(E,_,arguments);var v=E[_].apply(E,arguments);return this.xa(),v===E?this:v}}),m.a.D(["slice"],function(_){m.Ha.fn[_]=function(){var E=this();return E[_].apply(E,arguments)}}),m.Pc=function(_){return m.O(_)&&typeof _.remove=="function"&&typeof _.push=="function"},m.b("observableArray",m.Ha),m.b("isObservableArray",m.Pc),m.Ta.trackArrayChanges=function(_,E){function v(){function W(){if(V){var J=[].concat(_.v()||[]),j;_.Wa("arrayChange")&&((!N||1<V)&&(N=m.a.Pb(G,J,_.Ob)),j=N),G=J,N=null,V=0,j&&j.length&&_.notifySubscribers(j,"arrayChange")}}I?W():(I=!0,z=_.subscribe(function(){++V},null,"spectate"),G=[].concat(_.v()||[]),N=null,B=_.subscribe(W))}if(_.Ob={},E&&typeof E=="object"&&m.a.extend(_.Ob,E),_.Ob.sparse=!0,!_.zc){var I=!1,N=null,B,z,V=0,G,k=_.Qa,Y=_.hb;_.Qa=function(W){k&&k.call(_,W),W==="arrayChange"&&v()},_.hb=function(W){Y&&Y.call(_,W),W!=="arrayChange"||_.Wa("arrayChange")||(B&&B.s(),z&&z.s(),z=B=null,I=!1,G=e)},_.zc=function(W,J,j){function $(we,Oe,Me){return Q[Q.length]={status:we,value:Oe,index:Me}}if(I&&!V){var Q=[],he=W.length,ye=j.length,re=0;switch(J){case"push":re=he;case"unshift":for(J=0;J<ye;J++)$("added",j[J],re+J);break;case"pop":re=he-1;case"shift":he&&$("deleted",W[re],re);break;case"splice":J=Math.min(Math.max(0,0>j[0]?he+j[0]:j[0]),he);for(var he=ye===1?he:Math.min(J+(j[1]||0),he),ye=J+ye-2,re=Math.max(he,ye),_e=[],xe=[],De=2;J<re;++J,++De)J<he&&xe.push($("deleted",W[J],J)),J<ye&&_e.push($("added",j[De],J));m.a.Kc(xe,_e);break;default:return}N=Q}}}};var S=m.a.Da("_state");m.o=m.$=function(_,E,v){function I(){if(0<arguments.length){if(typeof N=="function")N.apply(B.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return B.ra||m.u.cc(I),(B.ka||B.J&&I.Xa())&&I.ha(),B.X}if(typeof _=="object"?v=_:(v=v||{},_&&(v.read=_)),typeof v.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var N=v.write,B={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:v.read,nb:E||v.owner,l:v.disposeWhenNodeIsRemoved||v.l||null,Sa:v.disposeWhen||v.Sa,Rb:null,I:{},V:0,Ic:null};return I[S]=B,I.Nc=typeof N=="function",m.a.Ba||m.a.extend(I,m.T.fn),m.T.fn.qb(I),m.a.Ab(I,w),v.pure?(B.wb=!0,B.J=!0,m.a.extend(I,D)):v.deferEvaluation&&m.a.extend(I,O),m.options.deferUpdates&&m.Ta.deferred(I,!0),B.l&&(B.jc=!0,B.l.nodeType||(B.l=null)),B.J||v.deferEvaluation||I.ha(),B.l&&I.ja()&&m.a.K.za(B.l,B.Rb=function(){I.s()}),I};var w={equalityComparer:c,qa:function(){return this[S].V},Va:function(){var _=[];return m.a.P(this[S].I,function(E,v){_[v.Ka]=v.da}),_},Vb:function(_){if(!this[S].V)return!1;var E=this.Va();return m.a.A(E,_)!==-1?!0:!!m.a.Lb(E,function(v){return v.Vb&&v.Vb(_)})},uc:function(_,E,v){if(this[S].wb&&E===this)throw Error("A 'pure' computed must not be called recursively");this[S].I[_]=v,v.Ka=this[S].V++,v.La=E.ob()},Xa:function(){var _,E,v=this[S].I;for(_ in v)if(Object.prototype.hasOwnProperty.call(v,_)&&(E=v[_],this.Ia&&E.da.Ja||E.da.Dd(E.La)))return!0},Jd:function(){this.Ia&&!this[S].rb&&this.Ia(!1)},ja:function(){var _=this[S];return _.ka||0<_.V},Rd:function(){this.Ja?this[S].ka&&(this[S].sa=!0):this.Hc()},$c:function(_){if(_.Hb){var E=_.subscribe(this.Jd,this,"dirty"),v=_.subscribe(this.Rd,this);return{da:_,s:function(){E.s(),v.s()}}}return _.subscribe(this.Hc,this)},Hc:function(){var _=this,E=_.throttleEvaluation;E&&0<=E?(clearTimeout(this[S].Ic),this[S].Ic=m.a.setTimeout(function(){_.ha(!0)},E)):_.Ia?_.Ia(!0):_.ha(!0)},ha:function(_){var E=this[S],v=E.Sa,I=!1;if(!E.rb&&!E.ra){if(E.l&&!m.a.Sb(E.l)||v&&v()){if(!E.jc){this.s();return}}else E.jc=!1;E.rb=!0;try{I=this.zd(_)}finally{E.rb=!1}return I}},zd:function(_){var E=this[S],I=!1,v=E.wb?e:!E.V,I={qd:this,mb:E.I,Qb:E.V};m.u.xc({pd:I,od:g,o:this,Ya:v}),E.I={},E.V=0;var N=this.yd(E,I);return E.V?I=this.sb(E.X,N):(this.s(),I=!0),I&&(E.J?this.Gb():this.notifySubscribers(E.X,"beforeChange"),E.X=N,this.notifySubscribers(E.X,"spectate"),!E.J&&_&&this.notifySubscribers(E.X),this.rc&&this.rc()),v&&this.notifySubscribers(E.X,"awake"),I},yd:function(_,E){try{var v=_.Wc;return _.nb?v.call(_.nb):v()}finally{m.u.end(),E.Qb&&!_.J&&m.a.P(E.mb,p),_.sa=_.ka=!1}},v:function(_){var E=this[S];return(E.ka&&(_||!E.V)||E.J&&this.Xa())&&this.ha(),E.X},ub:function(_){m.T.fn.ub.call(this,_),this.nc=function(){return this[S].J||(this[S].sa?this.ha():this[S].ka=!1),this[S].X},this.Ia=function(E){this.pc(this[S].X),this[S].ka=!0,E&&(this[S].sa=!0),this.qc(this,!E)}},s:function(){var _=this[S];!_.J&&_.I&&m.a.P(_.I,function(E,v){v.s&&v.s()}),_.l&&_.Rb&&m.a.K.yb(_.l,_.Rb),_.I=e,_.V=0,_.ra=!0,_.sa=!1,_.ka=!1,_.J=!1,_.l=e,_.Sa=e,_.Wc=e,this.Nc||(_.nb=e)}},D={Qa:function(_){var E=this,v=E[S];if(!v.ra&&v.J&&_=="change"){if(v.J=!1,v.sa||E.Xa())v.I=null,v.V=0,E.ha()&&E.Gb();else{var I=[];m.a.P(v.I,function(N,B){I[B.Ka]=N}),m.a.D(I,function(N,B){var z=v.I[N],V=E.$c(z.da);V.Ka=B,V.La=z.La,v.I[N]=V}),E.Xa()&&E.ha()&&E.Gb()}v.ra||E.notifySubscribers(v.X,"awake")}},hb:function(_){var E=this[S];E.ra||_!="change"||this.Wa("change")||(m.a.P(E.I,function(v,I){I.s&&(E.I[v]={da:I.da,Ka:I.Ka,La:I.La},I.s())}),E.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var _=this[S];return _.J&&(_.sa||this.Xa())&&this.ha(),m.T.fn.ob.call(this)}},O={Qa:function(_){_!="change"&&_!="beforeChange"||this.v()}};m.a.Ba&&m.a.setPrototypeOf(w,m.T.fn);var R=m.ta.Ma;w[R]=m.o,m.Oc=function(_){return typeof _=="function"&&_[R]===w[R]},m.Fd=function(_){return m.Oc(_)&&_[S]&&_[S].wb},m.b("computed",m.o),m.b("dependentObservable",m.o),m.b("isComputed",m.Oc),m.b("isPureComputed",m.Fd),m.b("computed.fn",w),m.L(w,"peek",w.v),m.L(w,"dispose",w.s),m.L(w,"isActive",w.ja),m.L(w,"getDependenciesCount",w.qa),m.L(w,"getDependencies",w.Va),m.xb=function(_,E){return typeof _=="function"?m.o(_,E,{pure:!0}):(_=m.a.extend({},_),_.pure=!0,m.o(_,E))},m.b("pureComputed",m.xb),function(){function _(I,N,B){if(B=B||new v,I=N(I),typeof I!="object"||I===null||I===e||I instanceof RegExp||I instanceof Date||I instanceof String||I instanceof Number||I instanceof Boolean)return I;var z=I instanceof Array?[]:{};return B.save(I,z),E(I,function(V){var G=N(I[V]);switch(typeof G){case"boolean":case"number":case"string":case"function":z[V]=G;break;case"object":case"undefined":var k=B.get(G);z[V]=k!==e?k:_(G,N,B)}}),z}function E(I,N){if(I instanceof Array){for(var B=0;B<I.length;B++)N(B);typeof I.toJSON=="function"&&N("toJSON")}else for(B in I)N(B)}function v(){this.keys=[],this.values=[]}m.ad=function(I){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return _(I,function(N){for(var B=0;m.O(N)&&10>B;B++)N=N();return N})},m.toJSON=function(I,N,B){return I=m.ad(I),m.a.hc(I,N,B)},v.prototype={constructor:v,save:function(I,N){var B=m.a.A(this.keys,I);0<=B?this.values[B]=N:(this.keys.push(I),this.values.push(N))},get:function(I){return I=m.a.A(this.keys,I),0<=I?this.values[I]:e}}}(),m.b("toJS",m.ad),m.b("toJSON",m.toJSON),m.Wd=function(_,E,v){function I(N){var B=m.xb(_,v).extend({ma:"always"}),z=B.subscribe(function(V){V&&(z.s(),N(V))});return B.notifySubscribers(B.v()),z}return typeof Promise!="function"||E?I(E.bind(v)):new Promise(I)},m.b("when",m.Wd),function(){m.w={M:function(_){switch(m.a.R(_)){case"option":return _.__ko__hasDomDataOptionValue__===!0?m.a.g.get(_,m.c.options.$b):7>=m.a.W?_.getAttributeNode("value")&&_.getAttributeNode("value").specified?_.value:_.text:_.value;case"select":return 0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex]):e;default:return _.value}},cb:function(_,E,v){switch(m.a.R(_)){case"option":typeof E=="string"?(m.a.g.set(_,m.c.options.$b,e),"__ko__hasDomDataOptionValue__"in _&&delete _.__ko__hasDomDataOptionValue__,_.value=E):(m.a.g.set(_,m.c.options.$b,E),_.__ko__hasDomDataOptionValue__=!0,_.value=typeof E=="number"?E:"");break;case"select":(E===""||E===null)&&(E=e);for(var I=-1,N=0,B=_.options.length,z;N<B;++N)if(z=m.w.M(_.options[N]),z==E||z===""&&E===e){I=N;break}(v||0<=I||E===e&&1<_.size)&&(_.selectedIndex=I,m.a.W===6&&m.a.setTimeout(function(){_.selectedIndex=I},0));break;default:(E===null||E===e)&&(E=""),_.value=E}}}}(),m.b("selectExtensions",m.w),m.b("selectExtensions.readValue",m.w.M),m.b("selectExtensions.writeValue",m.w.cb),m.m=function(){function _(V){V=m.a.Db(V),V.charCodeAt(0)===123&&(V=V.slice(1,-1)),V+=` -,`;var G=[],k=V.match(I),Y,W=[],J=0;if(1<k.length){for(var j=0,$;$=k[j];++j){var Q=$.charCodeAt(0);if(Q===44){if(0>=J){G.push(Y&&W.length?{key:Y,value:W.join("")}:{unknown:Y||W.join("")}),Y=J=0,W=[];continue}}else if(Q===58){if(!J&&!Y&&W.length===1){Y=W.pop();continue}}else{if(Q===47&&1<$.length&&($.charCodeAt(1)===47||$.charCodeAt(1)===42))continue;Q===47&&j&&1<$.length?(Q=k[j-1].match(N))&&!B[Q[0]]&&(V=V.substr(V.indexOf($)+1),k=V.match(I),j=-1,$="/"):Q===40||Q===123||Q===91?++J:Q===41||Q===125||Q===93?--J:Y||W.length||Q!==34&&Q!==39||($=$.slice(1,-1))}W.push($)}if(0<J)throw Error("Unbalanced parentheses, braces, or brackets")}return G}var E=["true","false","null","undefined"],v=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,I=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* -|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),N=/[\])"'A-Za-z0-9_$]+$/,B={in:1,return:1,typeof:1},z={};return{Ra:[],wa:z,ac:_,vb:function(V,G){function k(Q,he){var ye;if(!j){var re=m.getBindingHandler(Q);if(re&&re.preprocess&&!(he=re.preprocess(he,Q,k)))return;(re=z[Q])&&(ye=he,0<=m.a.A(E,ye)?ye=!1:(re=ye.match(v),ye=re===null?!1:re[1]?"Object("+re[1]+")"+re[2]:ye),re=ye),re&&W.push("'"+(typeof z[Q]=="string"?z[Q]:Q)+"':function(_z){"+ye+"=_z}")}J&&(he="function(){return "+he+" }"),Y.push("'"+Q+"':"+he)}G=G||{};var Y=[],W=[],J=G.valueAccessors,j=G.bindingParams,$=typeof V=="string"?_(V):V;return m.a.D($,function(Q){k(Q.key||Q.unknown,Q.value)}),W.length&&k("_ko_property_writers","{"+W.join(",")+" }"),Y.join(",")},Id:function(V,G){for(var k=0;k<V.length;k++)if(V[k].key==G)return!0;return!1},eb:function(V,G,k,Y,W){V&&m.O(V)?!m.Za(V)||W&&V.v()===Y||V(Y):(V=G.get("_ko_property_writers"))&&V[k]&&V[k](Y)}}}(),m.b("expressionRewriting",m.m),m.b("expressionRewriting.bindingRewriteValidators",m.m.Ra),m.b("expressionRewriting.parseObjectLiteral",m.m.ac),m.b("expressionRewriting.preProcessBindings",m.m.vb),m.b("expressionRewriting._twoWayBindings",m.m.wa),m.b("jsonExpressionRewriting",m.m),m.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",m.m.vb),function(){function _(k){return k.nodeType==8&&B.test(N?k.text:k.nodeValue)}function E(k){return k.nodeType==8&&z.test(N?k.text:k.nodeValue)}function v(k,Y){for(var W=k,J=1,j=[];W=W.nextSibling;){if(E(W)&&(m.a.g.set(W,G,!0),J--,J===0))return j;j.push(W),_(W)&&J++}if(!Y)throw Error("Cannot find closing comment tag to match: "+k.nodeValue);return null}function I(k,Y){var W=v(k,Y);return W?0<W.length?W[W.length-1].nextSibling:k.nextSibling:null}var N=n&&n.createComment("test").text==="<!--test-->",B=N?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,z=N?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,V={ul:!0,ol:!0},G="__ko_matchedEndComment__";m.h={ea:{},childNodes:function(k){return _(k)?v(k):k.childNodes},Ea:function(k){if(_(k)){k=m.h.childNodes(k);for(var Y=0,W=k.length;Y<W;Y++)m.removeNode(k[Y])}else m.a.Tb(k)},va:function(k,Y){if(_(k)){m.h.Ea(k);for(var W=k.nextSibling,J=0,j=Y.length;J<j;J++)W.parentNode.insertBefore(Y[J],W)}else m.a.va(k,Y)},Vc:function(k,Y){var W;_(k)?(W=k.nextSibling,k=k.parentNode):W=k.firstChild,W?Y!==W&&k.insertBefore(Y,W):k.appendChild(Y)},Wb:function(k,Y,W){W?(W=W.nextSibling,_(k)&&(k=k.parentNode),W?Y!==W&&k.insertBefore(Y,W):k.appendChild(Y)):m.h.Vc(k,Y)},firstChild:function(k){if(_(k))return!k.nextSibling||E(k.nextSibling)?null:k.nextSibling;if(k.firstChild&&E(k.firstChild))throw Error("Found invalid end comment, as the first child of "+k);return k.firstChild},nextSibling:function(k){if(_(k)&&(k=I(k)),k.nextSibling&&E(k.nextSibling)){var Y=k.nextSibling;if(E(Y)&&!m.a.g.get(Y,G))throw Error("Found end comment without a matching opening comment, as child of "+k);return null}return k.nextSibling},Cd:_,Vd:function(k){return(k=(N?k.text:k.nodeValue).match(B))?k[1]:null},Sc:function(k){if(V[m.a.R(k)]){var Y=k.firstChild;if(Y)do if(Y.nodeType===1){var W;W=Y.firstChild;var J=null;if(W)do if(J)J.push(W);else if(_(W)){var j=I(W,!0);j?W=j:J=[W]}else E(W)&&(J=[W]);while(W=W.nextSibling);if(W=J)for(J=Y.nextSibling,j=0;j<W.length;j++)J?k.insertBefore(W[j],J):k.appendChild(W[j])}while(Y=Y.nextSibling)}}}}(),m.b("virtualElements",m.h),m.b("virtualElements.allowedBindings",m.h.ea),m.b("virtualElements.emptyNode",m.h.Ea),m.b("virtualElements.insertAfter",m.h.Wb),m.b("virtualElements.prepend",m.h.Vc),m.b("virtualElements.setDomNodeChildren",m.h.va),function(){m.ga=function(){this.nd={}},m.a.extend(m.ga.prototype,{nodeHasBindings:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind")!=null||m.j.getComponentNameForNode(_);case 8:return m.h.Cd(_);default:return!1}},getBindings:function(_,E){var v=this.getBindingsString(_,E),v=v?this.parseBindingsString(v,E,_):null;return m.j.tc(v,_,E,!1)},getBindingAccessors:function(_,E){var v=this.getBindingsString(_,E),v=v?this.parseBindingsString(v,E,_,{valueAccessors:!0}):null;return m.j.tc(v,_,E,!0)},getBindingsString:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind");case 8:return m.h.Vd(_);default:return null}},parseBindingsString:function(_,E,v,I){try{var N=this.nd,B=_+(I&&I.valueAccessors||""),z;if(!(z=N[B])){var V,G="with($context){with($data||{}){return{"+m.m.vb(_,I)+"}}}";V=new Function("$context","$element",G),z=N[B]=V}return z(E,v)}catch(k){throw k.message=`Unable to parse bindings. + */(function(){(function(e){var t=this||(0,eval)("this"),n=t.document,i=t.navigator,o=t.jQuery,r=t.JSON;o||typeof jQuery>"u"||(o=jQuery),function(s){s(t.ko={})}(function(s,a){function c(_,E){return _===null||typeof _ in x?_===E:!1}function u(_,E){var w;return function(){w||(w=m.a.setTimeout(function(){w=e,_()},E))}}function f(_,E){var w;return function(){clearTimeout(w),w=m.a.setTimeout(_,E)}}function d(_,E){E&&E!=="change"?E==="beforeChange"?this.pc(_):this.gb(_,E):this.qc(_)}function p(_,E){E!==null&&E.s&&E.s()}function g(_,E){var w=this.qd,I=w[S];I.ra||(this.Qb&&this.mb[E]?(w.uc(E,_,this.mb[E]),this.mb[E]=null,--this.Qb):I.I[E]||w.uc(E,_,I.J?{da:_}:w.$c(_)),_.Ja&&_.gd())}var m=typeof s<"u"?s:{};m.b=function(_,E){for(var w=_.split("."),I=m,L=0;L<w.length-1;L++)I=I[w[L]];I[w[w.length-1]]=E},m.L=function(_,E,w){_[E]=w},m.version="3.5.1",m.b("version",m.version),m.options={deferUpdates:!1,useOnlyNativeEvents:!1,foreachHidesDestroyed:!1},m.a=function(){function _(j,Z){for(var Q in j)L.call(j,Q)&&Z(Q,j[Q])}function E(j,Z){if(Z)for(var Q in Z)L.call(Z,Q)&&(j[Q]=Z[Q]);return j}function w(j,Z){return j.__proto__=Z,j}function I(j,Z,Q,he){var ye=j[Z].match(Y)||[];m.a.D(Q.match(Y),function(re){m.a.Na(ye,re,he)}),j[Z]=ye.join(" ")}var L=Object.prototype.hasOwnProperty,B={__proto__:[]}instanceof Array,H=typeof Symbol=="function",V={},G={};V[i&&/Firefox\/2/i.test(i.userAgent)?"KeyboardEvent":"UIEvents"]=["keyup","keydown","keypress"],V.MouseEvents="click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave".split(" "),_(V,function(j,Z){if(Z.length)for(var Q=0,he=Z.length;Q<he;Q++)G[Z[Q]]=j});var k={propertychange:!0},W=n&&function(){for(var j=3,Z=n.createElement("div"),Q=Z.getElementsByTagName("i");Z.innerHTML="<!--[if gt IE "+ ++j+"]><i></i><![endif]-->",Q[0];);return 4<j?j:e}(),Y=/\S+/g,J;return{Jc:["authenticity_token",/^__RequestVerificationToken(_.*)?$/],D:function(j,Z,Q){for(var he=0,ye=j.length;he<ye;he++)Z.call(Q,j[he],he,j)},A:typeof Array.prototype.indexOf=="function"?function(j,Z){return Array.prototype.indexOf.call(j,Z)}:function(j,Z){for(var Q=0,he=j.length;Q<he;Q++)if(j[Q]===Z)return Q;return-1},Lb:function(j,Z,Q){for(var he=0,ye=j.length;he<ye;he++)if(Z.call(Q,j[he],he,j))return j[he];return e},Pa:function(j,Z){var Q=m.a.A(j,Z);0<Q?j.splice(Q,1):Q===0&&j.shift()},wc:function(j){var Z=[];return j&&m.a.D(j,function(Q){0>m.a.A(Z,Q)&&Z.push(Q)}),Z},Mb:function(j,Z,Q){var he=[];if(j)for(var ye=0,re=j.length;ye<re;ye++)he.push(Z.call(Q,j[ye],ye));return he},jb:function(j,Z,Q){var he=[];if(j)for(var ye=0,re=j.length;ye<re;ye++)Z.call(Q,j[ye],ye)&&he.push(j[ye]);return he},Nb:function(j,Z){if(Z instanceof Array)j.push.apply(j,Z);else for(var Q=0,he=Z.length;Q<he;Q++)j.push(Z[Q]);return j},Na:function(j,Z,Q){var he=m.a.A(m.a.bc(j),Z);0>he?Q&&j.push(Z):Q||j.splice(he,1)},Ba:B,extend:E,setPrototypeOf:w,Ab:B?w:E,P:_,Ga:function(j,Z,Q){if(!j)return j;var he={},ye;for(ye in j)L.call(j,ye)&&(he[ye]=Z.call(Q,j[ye],ye,j));return he},Tb:function(j){for(;j.firstChild;)m.removeNode(j.firstChild)},Yb:function(j){j=m.a.la(j);for(var Z=(j[0]&&j[0].ownerDocument||n).createElement("div"),Q=0,he=j.length;Q<he;Q++)Z.appendChild(m.oa(j[Q]));return Z},Ca:function(j,Z){for(var Q=0,he=j.length,ye=[];Q<he;Q++){var re=j[Q].cloneNode(!0);ye.push(Z?m.oa(re):re)}return ye},va:function(j,Z){if(m.a.Tb(j),Z)for(var Q=0,he=Z.length;Q<he;Q++)j.appendChild(Z[Q])},Xc:function(j,Z){var Q=j.nodeType?[j]:j;if(0<Q.length){for(var he=Q[0],ye=he.parentNode,re=0,_e=Z.length;re<_e;re++)ye.insertBefore(Z[re],he);for(re=0,_e=Q.length;re<_e;re++)m.removeNode(Q[re])}},Ua:function(j,Z){if(j.length){for(Z=Z.nodeType===8&&Z.parentNode||Z;j.length&&j[0].parentNode!==Z;)j.splice(0,1);for(;1<j.length&&j[j.length-1].parentNode!==Z;)j.length--;if(1<j.length){var Q=j[0],he=j[j.length-1];for(j.length=0;Q!==he;)j.push(Q),Q=Q.nextSibling;j.push(he)}}return j},Zc:function(j,Z){7>W?j.setAttribute("selected",Z):j.selected=Z},Db:function(j){return j===null||j===e?"":j.trim?j.trim():j.toString().replace(/^[\s\xa0]+|[\s\xa0]+$/g,"")},Ud:function(j,Z){return j=j||"",Z.length>j.length?!1:j.substring(0,Z.length)===Z},vd:function(j,Z){if(j===Z)return!0;if(j.nodeType===11)return!1;if(Z.contains)return Z.contains(j.nodeType!==1?j.parentNode:j);if(Z.compareDocumentPosition)return(Z.compareDocumentPosition(j)&16)==16;for(;j&&j!=Z;)j=j.parentNode;return!!j},Sb:function(j){return m.a.vd(j,j.ownerDocument.documentElement)},kd:function(j){return!!m.a.Lb(j,m.a.Sb)},R:function(j){return j&&j.tagName&&j.tagName.toLowerCase()},Ac:function(j){return m.onError?function(){try{return j.apply(this,arguments)}catch(Z){throw m.onError&&m.onError(Z),Z}}:j},setTimeout:function(j,Z){return setTimeout(m.a.Ac(j),Z)},Gc:function(j){setTimeout(function(){throw m.onError&&m.onError(j),j},0)},B:function(j,Z,Q){var he=m.a.Ac(Q);if(Q=k[Z],m.options.useOnlyNativeEvents||Q||!o)if(Q||typeof j.addEventListener!="function")if(typeof j.attachEvent<"u"){var ye=function(_e){he.call(j,_e)},re="on"+Z;j.attachEvent(re,ye),m.a.K.za(j,function(){j.detachEvent(re,ye)})}else throw Error("Browser doesn't support addEventListener or attachEvent");else j.addEventListener(Z,he,!1);else J||(J=typeof o(j).on=="function"?"on":"bind"),o(j)[J](Z,he)},Fb:function(j,Z){if(!j||!j.nodeType)throw Error("element must be a DOM node when calling triggerEvent");var Q;if(m.a.R(j)==="input"&&j.type&&Z.toLowerCase()=="click"?(Q=j.type,Q=Q=="checkbox"||Q=="radio"):Q=!1,m.options.useOnlyNativeEvents||!o||Q)if(typeof n.createEvent=="function")if(typeof j.dispatchEvent=="function")Q=n.createEvent(G[Z]||"HTMLEvents"),Q.initEvent(Z,!0,!0,t,0,0,0,0,0,!1,!1,!1,!1,0,j),j.dispatchEvent(Q);else throw Error("The supplied element doesn't support dispatchEvent");else if(Q&&j.click)j.click();else if(typeof j.fireEvent<"u")j.fireEvent("on"+Z);else throw Error("Browser doesn't support triggering events");else o(j).trigger(Z)},f:function(j){return m.O(j)?j():j},bc:function(j){return m.O(j)?j.v():j},Eb:function(j,Z,Q){var he;Z&&(typeof j.classList=="object"?(he=j.classList[Q?"add":"remove"],m.a.D(Z.match(Y),function(ye){he.call(j.classList,ye)})):typeof j.className.baseVal=="string"?I(j.className,"baseVal",Z,Q):I(j,"className",Z,Q))},Bb:function(j,Z){var Q=m.a.f(Z);(Q===null||Q===e)&&(Q="");var he=m.h.firstChild(j);!he||he.nodeType!=3||m.h.nextSibling(he)?m.h.va(j,[j.ownerDocument.createTextNode(Q)]):he.data=Q,m.a.Ad(j)},Yc:function(j,Z){if(j.name=Z,7>=W)try{var Q=j.name.replace(/[&<>'"]/g,function(he){return"&#"+he.charCodeAt(0)+";"});j.mergeAttributes(n.createElement("<input name='"+Q+"'/>"),!1)}catch{}},Ad:function(j){9<=W&&(j=j.nodeType==1?j:j.parentNode,j.style&&(j.style.zoom=j.style.zoom))},wd:function(j){if(W){var Z=j.style.width;j.style.width=0,j.style.width=Z}},Pd:function(j,Z){j=m.a.f(j),Z=m.a.f(Z);for(var Q=[],he=j;he<=Z;he++)Q.push(he);return Q},la:function(j){for(var Z=[],Q=0,he=j.length;Q<he;Q++)Z.push(j[Q]);return Z},Da:function(j){return H?Symbol(j):j},Zd:W===6,$d:W===7,W,Lc:function(j,Z){for(var Q=m.a.la(j.getElementsByTagName("input")).concat(m.a.la(j.getElementsByTagName("textarea"))),he=typeof Z=="string"?function(_e){return _e.name===Z}:function(_e){return Z.test(_e.name)},ye=[],re=Q.length-1;0<=re;re--)he(Q[re])&&ye.push(Q[re]);return ye},Nd:function(j){return typeof j=="string"&&(j=m.a.Db(j))?r&&r.parse?r.parse(j):new Function("return "+j)():null},hc:function(j,Z,Q){if(!r||!r.stringify)throw Error("Cannot find JSON.stringify(). Some browsers (e.g., IE < 8) don't support it natively, but you can overcome this by adding a script reference to json2.js, downloadable from http://www.json.org/json2.js");return r.stringify(m.a.f(j),Z,Q)},Od:function(j,Z,Q){Q=Q||{};var he=Q.params||{},ye=Q.includeFields||this.Jc,re=j;if(typeof j=="object"&&m.a.R(j)==="form")for(var re=j.action,_e=ye.length-1;0<=_e;_e--)for(var xe=m.a.Lc(j,ye[_e]),Ie=xe.length-1;0<=Ie;Ie--)he[xe[Ie].name]=xe[Ie].value;Z=m.a.f(Z);var De=n.createElement("form");De.style.display="none",De.action=re,De.method="post";for(var Ne in Z)j=n.createElement("input"),j.type="hidden",j.name=Ne,j.value=m.a.hc(m.a.f(Z[Ne])),De.appendChild(j);_(he,function(Ce,Be){var Ve=n.createElement("input");Ve.type="hidden",Ve.name=Ce,Ve.value=Be,De.appendChild(Ve)}),n.body.appendChild(De),Q.submitter?Q.submitter(De):De.submit(),setTimeout(function(){De.parentNode.removeChild(De)},0)}}}(),m.b("utils",m.a),m.b("utils.arrayForEach",m.a.D),m.b("utils.arrayFirst",m.a.Lb),m.b("utils.arrayFilter",m.a.jb),m.b("utils.arrayGetDistinctValues",m.a.wc),m.b("utils.arrayIndexOf",m.a.A),m.b("utils.arrayMap",m.a.Mb),m.b("utils.arrayPushAll",m.a.Nb),m.b("utils.arrayRemoveItem",m.a.Pa),m.b("utils.cloneNodes",m.a.Ca),m.b("utils.createSymbolOrString",m.a.Da),m.b("utils.extend",m.a.extend),m.b("utils.fieldsIncludedWithJsonPost",m.a.Jc),m.b("utils.getFormFields",m.a.Lc),m.b("utils.objectMap",m.a.Ga),m.b("utils.peekObservable",m.a.bc),m.b("utils.postJson",m.a.Od),m.b("utils.parseJson",m.a.Nd),m.b("utils.registerEventHandler",m.a.B),m.b("utils.stringifyJson",m.a.hc),m.b("utils.range",m.a.Pd),m.b("utils.toggleDomNodeCssClass",m.a.Eb),m.b("utils.triggerEvent",m.a.Fb),m.b("utils.unwrapObservable",m.a.f),m.b("utils.objectForEach",m.a.P),m.b("utils.addOrRemoveItem",m.a.Na),m.b("utils.setTextContent",m.a.Bb),m.b("unwrap",m.a.f),Function.prototype.bind||(Function.prototype.bind=function(_){var E=this;if(arguments.length===1)return function(){return E.apply(_,arguments)};var w=Array.prototype.slice.call(arguments,1);return function(){var I=w.slice(0);return I.push.apply(I,arguments),E.apply(_,I)}}),m.a.g=new function(){var _=0,E="__ko__"+new Date().getTime(),w={},I,L;return m.a.W?(I=function(B,H){var V=B[E];if(!V||V==="null"||!w[V]){if(!H)return e;V=B[E]="ko"+_++,w[V]={}}return w[V]},L=function(B){var H=B[E];return H?(delete w[H],B[E]=null,!0):!1}):(I=function(B,H){var V=B[E];return!V&&H&&(V=B[E]={}),V},L=function(B){return B[E]?(delete B[E],!0):!1}),{get:function(B,H){var V=I(B,!1);return V&&V[H]},set:function(B,H,V){(B=I(B,V!==e))&&(B[H]=V)},Ub:function(B,H,V){return B=I(B,!0),B[H]||(B[H]=V)},clear:L,Z:function(){return _+++E}}},m.b("utils.domData",m.a.g),m.b("utils.domData.clear",m.a.g.clear),m.a.K=new function(){function _(H,V){var G=m.a.g.get(H,I);return G===e&&V&&(G=[],m.a.g.set(H,I,G)),G}function E(H){var V=_(H,!1);if(V)for(var V=V.slice(0),G=0;G<V.length;G++)V[G](H);m.a.g.clear(H),m.a.K.cleanExternalData(H),B[H.nodeType]&&w(H.childNodes,!0)}function w(H,V){for(var G=[],k,W=0;W<H.length;W++)if((!V||H[W].nodeType===8)&&(E(G[G.length]=k=H[W]),H[W]!==k))for(;W--&&m.a.A(G,H[W])==-1;);}var I=m.a.g.Z(),L={1:!0,8:!0,9:!0},B={1:!0,9:!0};return{za:function(H,V){if(typeof V!="function")throw Error("Callback must be a function");_(H,!0).push(V)},yb:function(H,V){var G=_(H,!1);G&&(m.a.Pa(G,V),G.length==0&&m.a.g.set(H,I,e))},oa:function(H){return m.u.G(function(){L[H.nodeType]&&(E(H),B[H.nodeType]&&w(H.getElementsByTagName("*")))}),H},removeNode:function(H){m.oa(H),H.parentNode&&H.parentNode.removeChild(H)},cleanExternalData:function(H){o&&typeof o.cleanData=="function"&&o.cleanData([H])}}},m.oa=m.a.K.oa,m.removeNode=m.a.K.removeNode,m.b("cleanNode",m.oa),m.b("removeNode",m.removeNode),m.b("utils.domNodeDisposal",m.a.K),m.b("utils.domNodeDisposal.addDisposeCallback",m.a.K.za),m.b("utils.domNodeDisposal.removeDisposeCallback",m.a.K.yb),function(){var _=[0,"",""],E=[1,"<table>","</table>"],w=[3,"<table><tbody><tr>","</tr></tbody></table>"],I=[1,"<select multiple='multiple'>","</select>"],L={thead:E,tbody:E,tfoot:E,tr:[2,"<table><tbody>","</tbody></table>"],td:w,th:w,option:I,optgroup:I},B=8>=m.a.W;m.a.ua=function(H,V){var G;if(o){if(o.parseHTML)G=o.parseHTML(H,V)||[];else if((G=o.clean([H],V))&&G[0]){for(var k=G[0];k.parentNode&&k.parentNode.nodeType!==11;)k=k.parentNode;k.parentNode&&k.parentNode.removeChild(k)}}else{(G=V)||(G=n);var k=G.parentWindow||G.defaultView||t,W=m.a.Db(H).toLowerCase(),Y=G.createElement("div"),J;for(J=(W=W.match(/^(?:\x3c!--.*?--\x3e\s*?)*?<([a-z]+)[\s>]/))&&L[W[1]]||_,W=J[0],J="ignored<div>"+J[1]+H+J[2]+"</div>",typeof k.innerShiv=="function"?Y.appendChild(k.innerShiv(J)):(B&&G.body.appendChild(Y),Y.innerHTML=J,B&&Y.parentNode.removeChild(Y));W--;)Y=Y.lastChild;G=m.a.la(Y.lastChild.childNodes)}return G},m.a.Md=function(H,V){var G=m.a.ua(H,V);return G.length&&G[0].parentElement||m.a.Yb(G)},m.a.fc=function(H,V){if(m.a.Tb(H),V=m.a.f(V),V!==null&&V!==e)if(typeof V!="string"&&(V=V.toString()),o)o(H).html(V);else for(var G=m.a.ua(V,H.ownerDocument),k=0;k<G.length;k++)H.appendChild(G[k])}}(),m.b("utils.parseHtmlFragment",m.a.ua),m.b("utils.setHtml",m.a.fc),m.aa=function(){function _(w,I){if(w){if(w.nodeType==8){var L=m.aa.Uc(w.nodeValue);L!=null&&I.push({ud:w,Kd:L})}else if(w.nodeType==1)for(var L=0,B=w.childNodes,H=B.length;L<H;L++)_(B[L],I)}}var E={};return{Xb:function(w){if(typeof w!="function")throw Error("You can only pass a function to ko.memoization.memoize()");var I=(4294967296*(1+Math.random())|0).toString(16).substring(1)+(4294967296*(1+Math.random())|0).toString(16).substring(1);return E[I]=w,"<!--[ko_memo:"+I+"]-->"},bd:function(w,I){var L=E[w];if(L===e)throw Error("Couldn't find any memo with ID "+w+". Perhaps it's already been unmemoized.");try{return L.apply(null,I||[]),!0}finally{delete E[w]}},cd:function(w,I){var L=[];_(w,L);for(var B=0,H=L.length;B<H;B++){var V=L[B].ud,G=[V];I&&m.a.Nb(G,I),m.aa.bd(L[B].Kd,G),V.nodeValue="",V.parentNode&&V.parentNode.removeChild(V)}},Uc:function(w){return(w=w.match(/^\[ko_memo\:(.*?)\]$/))?w[1]:null}}}(),m.b("memoization",m.aa),m.b("memoization.memoize",m.aa.Xb),m.b("memoization.unmemoize",m.aa.bd),m.b("memoization.parseMemoText",m.aa.Uc),m.b("memoization.unmemoizeDomNodeAndDescendants",m.aa.cd),m.na=function(){function _(){if(L){for(var V=L,G=0,k;H<L;)if(k=I[H++]){if(H>V){if(5e3<=++G){H=L,m.a.Gc(Error("'Too much recursion' after processing "+G+" task groups."));break}V=L}try{k()}catch(W){m.a.Gc(W)}}}}function E(){_(),H=L=I.length=0}var w,I=[],L=0,B=1,H=0;return t.MutationObserver?w=function(V){var G=n.createElement("div");return new MutationObserver(V).observe(G,{attributes:!0}),function(){G.classList.toggle("foo")}}(E):w=n&&"onreadystatechange"in n.createElement("script")?function(V){var G=n.createElement("script");G.onreadystatechange=function(){G.onreadystatechange=null,n.documentElement.removeChild(G),G=null,V()},n.documentElement.appendChild(G)}:function(V){setTimeout(V,0)},{scheduler:w,zb:function(V){return L||m.na.scheduler(E),I[L++]=V,B++},cancel:function(V){V=V-(B-L),V>=H&&V<L&&(I[V]=null)},resetForTesting:function(){var V=L-H;return H=L=I.length=0,V},Sd:_}}(),m.b("tasks",m.na),m.b("tasks.schedule",m.na.zb),m.b("tasks.runEarly",m.na.Sd),m.Ta={throttle:function(_,E){_.throttleEvaluation=E;var w=null;return m.$({read:_,write:function(I){clearTimeout(w),w=m.a.setTimeout(function(){_(I)},E)}})},rateLimit:function(_,E){var w,I,L;typeof E=="number"?w=E:(w=E.timeout,I=E.method),_.Hb=!1,L=typeof I=="function"?I:I=="notifyWhenChangesStop"?f:u,_.ub(function(B){return L(B,w,E)})},deferred:function(_,E){if(E!==!0)throw Error("The 'deferred' extender only accepts the value 'true', because it is not supported to turn deferral off once enabled.");_.Hb||(_.Hb=!0,_.ub(function(w){var I,L=!1;return function(){if(!L){m.na.cancel(I),I=m.na.zb(w);try{L=!0,_.notifySubscribers(e,"dirty")}finally{L=!1}}}}))},notify:function(_,E){_.equalityComparer=E=="always"?null:c}};var x={undefined:1,boolean:1,number:1,string:1};m.b("extenders",m.Ta),m.ic=function(_,E,w){this.da=_,this.lc=E,this.mc=w,this.Ib=!1,this.fb=this.Jb=null,m.L(this,"dispose",this.s),m.L(this,"disposeWhenNodeIsRemoved",this.l)},m.ic.prototype.s=function(){this.Ib||(this.fb&&m.a.K.yb(this.Jb,this.fb),this.Ib=!0,this.mc(),this.da=this.lc=this.mc=this.Jb=this.fb=null)},m.ic.prototype.l=function(_){this.Jb=_,m.a.K.za(_,this.fb=this.s.bind(this))},m.T=function(){m.a.Ab(this,b),b.qb(this)};var b={qb:function(_){_.U={change:[]},_.sc=1},subscribe:function(_,E,w){var I=this;w=w||"change";var L=new m.ic(I,E?_.bind(E):_,function(){m.a.Pa(I.U[w],L),I.hb&&I.hb(w)});return I.Qa&&I.Qa(w),I.U[w]||(I.U[w]=[]),I.U[w].push(L),L},notifySubscribers:function(_,E){if(E=E||"change",E==="change"&&this.Gb(),this.Wa(E)){var w=E==="change"&&this.ed||this.U[E].slice(0);try{m.u.xc();for(var I=0,L;L=w[I];++I)L.Ib||L.lc(_)}finally{m.u.end()}}},ob:function(){return this.sc},Dd:function(_){return this.ob()!==_},Gb:function(){++this.sc},ub:function(_){var E=this,w=m.O(E),I,L,B,H,V;E.gb||(E.gb=E.notifySubscribers,E.notifySubscribers=d);var G=_(function(){E.Ja=!1,w&&H===E&&(H=E.nc?E.nc():E());var k=L||V&&E.sb(B,H);V=L=I=!1,k&&E.gb(B=H)});E.qc=function(k,W){W&&E.Ja||(V=!W),E.ed=E.U.change.slice(0),E.Ja=I=!0,H=k,G()},E.pc=function(k){I||(B=k,E.gb(k,"beforeChange"))},E.rc=function(){V=!0},E.gd=function(){E.sb(B,E.v(!0))&&(L=!0)}},Wa:function(_){return this.U[_]&&this.U[_].length},Bd:function(_){if(_)return this.U[_]&&this.U[_].length||0;var E=0;return m.a.P(this.U,function(w,I){w!=="dirty"&&(E+=I.length)}),E},sb:function(_,E){return!this.equalityComparer||!this.equalityComparer(_,E)},toString:function(){return"[object Object]"},extend:function(_){var E=this;return _&&m.a.P(_,function(w,I){var L=m.Ta[w];typeof L=="function"&&(E=L(E,I)||E)}),E}};m.L(b,"init",b.qb),m.L(b,"subscribe",b.subscribe),m.L(b,"extend",b.extend),m.L(b,"getSubscriptionsCount",b.Bd),m.a.Ba&&m.a.setPrototypeOf(b,Function.prototype),m.T.fn=b,m.Qc=function(_){return _!=null&&typeof _.subscribe=="function"&&typeof _.notifySubscribers=="function"},m.b("subscribable",m.T),m.b("isSubscribable",m.Qc),m.S=m.u=function(){function _(B){w.push(I),I=B}function E(){I=w.pop()}var w=[],I,L=0;return{xc:_,end:E,cc:function(B){if(I){if(!m.Qc(B))throw Error("Only subscribable things can act as dependencies");I.od.call(I.pd,B,B.fd||(B.fd=++L))}},G:function(B,H,V){try{return _(),B.apply(H,V||[])}finally{E()}},qa:function(){if(I)return I.o.qa()},Va:function(){if(I)return I.o.Va()},Ya:function(){if(I)return I.Ya},o:function(){if(I)return I.o}}}(),m.b("computedContext",m.S),m.b("computedContext.getDependenciesCount",m.S.qa),m.b("computedContext.getDependencies",m.S.Va),m.b("computedContext.isInitial",m.S.Ya),m.b("computedContext.registerDependency",m.S.cc),m.b("ignoreDependencies",m.Yd=m.u.G);var T=m.a.Da("_latestValue");m.ta=function(_){function E(){return 0<arguments.length?(E.sb(E[T],arguments[0])&&(E.ya(),E[T]=arguments[0],E.xa()),this):(m.u.cc(E),E[T])}return E[T]=_,m.a.Ba||m.a.extend(E,m.T.fn),m.T.fn.qb(E),m.a.Ab(E,C),m.options.deferUpdates&&m.Ta.deferred(E,!0),E};var C={equalityComparer:c,v:function(){return this[T]},xa:function(){this.notifySubscribers(this[T],"spectate"),this.notifySubscribers(this[T])},ya:function(){this.notifySubscribers(this[T],"beforeChange")}};m.a.Ba&&m.a.setPrototypeOf(C,m.T.fn);var A=m.ta.Ma="__ko_proto__";C[A]=m.ta,m.O=function(_){if((_=typeof _=="function"&&_[A])&&_!==C[A]&&_!==m.o.fn[A])throw Error("Invalid object that looks like an observable; possibly from another Knockout instance");return!!_},m.Za=function(_){return typeof _=="function"&&(_[A]===C[A]||_[A]===m.o.fn[A]&&_.Nc)},m.b("observable",m.ta),m.b("isObservable",m.O),m.b("isWriteableObservable",m.Za),m.b("isWritableObservable",m.Za),m.b("observable.fn",C),m.L(C,"peek",C.v),m.L(C,"valueHasMutated",C.xa),m.L(C,"valueWillMutate",C.ya),m.Ha=function(_){if(_=_||[],typeof _!="object"||!("length"in _))throw Error("The argument passed when initializing an observable array must be an array, or null, or undefined.");return _=m.ta(_),m.a.Ab(_,m.Ha.fn),_.extend({trackArrayChanges:!0})},m.Ha.fn={remove:function(_){for(var E=this.v(),w=[],I=typeof _!="function"||m.O(_)?function(H){return H===_}:_,L=0;L<E.length;L++){var B=E[L];if(I(B)){if(w.length===0&&this.ya(),E[L]!==B)throw Error("Array modified during remove; cannot remove item");w.push(B),E.splice(L,1),L--}}return w.length&&this.xa(),w},removeAll:function(_){if(_===e){var E=this.v(),w=E.slice(0);return this.ya(),E.splice(0,E.length),this.xa(),w}return _?this.remove(function(I){return 0<=m.a.A(_,I)}):[]},destroy:function(_){var E=this.v(),w=typeof _!="function"||m.O(_)?function(B){return B===_}:_;this.ya();for(var I=E.length-1;0<=I;I--){var L=E[I];w(L)&&(L._destroy=!0)}this.xa()},destroyAll:function(_){return _===e?this.destroy(function(){return!0}):_?this.destroy(function(E){return 0<=m.a.A(_,E)}):[]},indexOf:function(_){var E=this();return m.a.A(E,_)},replace:function(_,E){var w=this.indexOf(_);0<=w&&(this.ya(),this.v()[w]=E,this.xa())},sorted:function(_){var E=this().slice(0);return _?E.sort(_):E.sort()},reversed:function(){return this().slice(0).reverse()}},m.a.Ba&&m.a.setPrototypeOf(m.Ha.fn,m.ta.fn),m.a.D("pop push reverse shift sort splice unshift".split(" "),function(_){m.Ha.fn[_]=function(){var E=this.v();this.ya(),this.zc(E,_,arguments);var w=E[_].apply(E,arguments);return this.xa(),w===E?this:w}}),m.a.D(["slice"],function(_){m.Ha.fn[_]=function(){var E=this();return E[_].apply(E,arguments)}}),m.Pc=function(_){return m.O(_)&&typeof _.remove=="function"&&typeof _.push=="function"},m.b("observableArray",m.Ha),m.b("isObservableArray",m.Pc),m.Ta.trackArrayChanges=function(_,E){function w(){function Y(){if(V){var J=[].concat(_.v()||[]),j;_.Wa("arrayChange")&&((!L||1<V)&&(L=m.a.Pb(G,J,_.Ob)),j=L),G=J,L=null,V=0,j&&j.length&&_.notifySubscribers(j,"arrayChange")}}I?Y():(I=!0,H=_.subscribe(function(){++V},null,"spectate"),G=[].concat(_.v()||[]),L=null,B=_.subscribe(Y))}if(_.Ob={},E&&typeof E=="object"&&m.a.extend(_.Ob,E),_.Ob.sparse=!0,!_.zc){var I=!1,L=null,B,H,V=0,G,k=_.Qa,W=_.hb;_.Qa=function(Y){k&&k.call(_,Y),Y==="arrayChange"&&w()},_.hb=function(Y){W&&W.call(_,Y),Y!=="arrayChange"||_.Wa("arrayChange")||(B&&B.s(),H&&H.s(),H=B=null,I=!1,G=e)},_.zc=function(Y,J,j){function Z(De,Ne,Ce){return Q[Q.length]={status:De,value:Ne,index:Ce}}if(I&&!V){var Q=[],he=Y.length,ye=j.length,re=0;switch(J){case"push":re=he;case"unshift":for(J=0;J<ye;J++)Z("added",j[J],re+J);break;case"pop":re=he-1;case"shift":he&&Z("deleted",Y[re],re);break;case"splice":J=Math.min(Math.max(0,0>j[0]?he+j[0]:j[0]),he);for(var he=ye===1?he:Math.min(J+(j[1]||0),he),ye=J+ye-2,re=Math.max(he,ye),_e=[],xe=[],Ie=2;J<re;++J,++Ie)J<he&&xe.push(Z("deleted",Y[J],J)),J<ye&&_e.push(Z("added",j[Ie],J));m.a.Kc(xe,_e);break;default:return}L=Q}}}};var S=m.a.Da("_state");m.o=m.$=function(_,E,w){function I(){if(0<arguments.length){if(typeof L=="function")L.apply(B.nb,arguments);else throw Error("Cannot write a value to a ko.computed unless you specify a 'write' option. If you wish to read the current value, don't pass any parameters.");return this}return B.ra||m.u.cc(I),(B.ka||B.J&&I.Xa())&&I.ha(),B.X}if(typeof _=="object"?w=_:(w=w||{},_&&(w.read=_)),typeof w.read!="function")throw Error("Pass a function that returns the value of the ko.computed");var L=w.write,B={X:e,sa:!0,ka:!0,rb:!1,jc:!1,ra:!1,wb:!1,J:!1,Wc:w.read,nb:E||w.owner,l:w.disposeWhenNodeIsRemoved||w.l||null,Sa:w.disposeWhen||w.Sa,Rb:null,I:{},V:0,Ic:null};return I[S]=B,I.Nc=typeof L=="function",m.a.Ba||m.a.extend(I,m.T.fn),m.T.fn.qb(I),m.a.Ab(I,v),w.pure?(B.wb=!0,B.J=!0,m.a.extend(I,D)):w.deferEvaluation&&m.a.extend(I,R),m.options.deferUpdates&&m.Ta.deferred(I,!0),B.l&&(B.jc=!0,B.l.nodeType||(B.l=null)),B.J||w.deferEvaluation||I.ha(),B.l&&I.ja()&&m.a.K.za(B.l,B.Rb=function(){I.s()}),I};var v={equalityComparer:c,qa:function(){return this[S].V},Va:function(){var _=[];return m.a.P(this[S].I,function(E,w){_[w.Ka]=w.da}),_},Vb:function(_){if(!this[S].V)return!1;var E=this.Va();return m.a.A(E,_)!==-1?!0:!!m.a.Lb(E,function(w){return w.Vb&&w.Vb(_)})},uc:function(_,E,w){if(this[S].wb&&E===this)throw Error("A 'pure' computed must not be called recursively");this[S].I[_]=w,w.Ka=this[S].V++,w.La=E.ob()},Xa:function(){var _,E,w=this[S].I;for(_ in w)if(Object.prototype.hasOwnProperty.call(w,_)&&(E=w[_],this.Ia&&E.da.Ja||E.da.Dd(E.La)))return!0},Jd:function(){this.Ia&&!this[S].rb&&this.Ia(!1)},ja:function(){var _=this[S];return _.ka||0<_.V},Rd:function(){this.Ja?this[S].ka&&(this[S].sa=!0):this.Hc()},$c:function(_){if(_.Hb){var E=_.subscribe(this.Jd,this,"dirty"),w=_.subscribe(this.Rd,this);return{da:_,s:function(){E.s(),w.s()}}}return _.subscribe(this.Hc,this)},Hc:function(){var _=this,E=_.throttleEvaluation;E&&0<=E?(clearTimeout(this[S].Ic),this[S].Ic=m.a.setTimeout(function(){_.ha(!0)},E)):_.Ia?_.Ia(!0):_.ha(!0)},ha:function(_){var E=this[S],w=E.Sa,I=!1;if(!E.rb&&!E.ra){if(E.l&&!m.a.Sb(E.l)||w&&w()){if(!E.jc){this.s();return}}else E.jc=!1;E.rb=!0;try{I=this.zd(_)}finally{E.rb=!1}return I}},zd:function(_){var E=this[S],I=!1,w=E.wb?e:!E.V,I={qd:this,mb:E.I,Qb:E.V};m.u.xc({pd:I,od:g,o:this,Ya:w}),E.I={},E.V=0;var L=this.yd(E,I);return E.V?I=this.sb(E.X,L):(this.s(),I=!0),I&&(E.J?this.Gb():this.notifySubscribers(E.X,"beforeChange"),E.X=L,this.notifySubscribers(E.X,"spectate"),!E.J&&_&&this.notifySubscribers(E.X),this.rc&&this.rc()),w&&this.notifySubscribers(E.X,"awake"),I},yd:function(_,E){try{var w=_.Wc;return _.nb?w.call(_.nb):w()}finally{m.u.end(),E.Qb&&!_.J&&m.a.P(E.mb,p),_.sa=_.ka=!1}},v:function(_){var E=this[S];return(E.ka&&(_||!E.V)||E.J&&this.Xa())&&this.ha(),E.X},ub:function(_){m.T.fn.ub.call(this,_),this.nc=function(){return this[S].J||(this[S].sa?this.ha():this[S].ka=!1),this[S].X},this.Ia=function(E){this.pc(this[S].X),this[S].ka=!0,E&&(this[S].sa=!0),this.qc(this,!E)}},s:function(){var _=this[S];!_.J&&_.I&&m.a.P(_.I,function(E,w){w.s&&w.s()}),_.l&&_.Rb&&m.a.K.yb(_.l,_.Rb),_.I=e,_.V=0,_.ra=!0,_.sa=!1,_.ka=!1,_.J=!1,_.l=e,_.Sa=e,_.Wc=e,this.Nc||(_.nb=e)}},D={Qa:function(_){var E=this,w=E[S];if(!w.ra&&w.J&&_=="change"){if(w.J=!1,w.sa||E.Xa())w.I=null,w.V=0,E.ha()&&E.Gb();else{var I=[];m.a.P(w.I,function(L,B){I[B.Ka]=L}),m.a.D(I,function(L,B){var H=w.I[L],V=E.$c(H.da);V.Ka=B,V.La=H.La,w.I[L]=V}),E.Xa()&&E.ha()&&E.Gb()}w.ra||E.notifySubscribers(w.X,"awake")}},hb:function(_){var E=this[S];E.ra||_!="change"||this.Wa("change")||(m.a.P(E.I,function(w,I){I.s&&(E.I[w]={da:I.da,Ka:I.Ka,La:I.La},I.s())}),E.J=!0,this.notifySubscribers(e,"asleep"))},ob:function(){var _=this[S];return _.J&&(_.sa||this.Xa())&&this.ha(),m.T.fn.ob.call(this)}},R={Qa:function(_){_!="change"&&_!="beforeChange"||this.v()}};m.a.Ba&&m.a.setPrototypeOf(v,m.T.fn);var O=m.ta.Ma;v[O]=m.o,m.Oc=function(_){return typeof _=="function"&&_[O]===v[O]},m.Fd=function(_){return m.Oc(_)&&_[S]&&_[S].wb},m.b("computed",m.o),m.b("dependentObservable",m.o),m.b("isComputed",m.Oc),m.b("isPureComputed",m.Fd),m.b("computed.fn",v),m.L(v,"peek",v.v),m.L(v,"dispose",v.s),m.L(v,"isActive",v.ja),m.L(v,"getDependenciesCount",v.qa),m.L(v,"getDependencies",v.Va),m.xb=function(_,E){return typeof _=="function"?m.o(_,E,{pure:!0}):(_=m.a.extend({},_),_.pure=!0,m.o(_,E))},m.b("pureComputed",m.xb),function(){function _(I,L,B){if(B=B||new w,I=L(I),typeof I!="object"||I===null||I===e||I instanceof RegExp||I instanceof Date||I instanceof String||I instanceof Number||I instanceof Boolean)return I;var H=I instanceof Array?[]:{};return B.save(I,H),E(I,function(V){var G=L(I[V]);switch(typeof G){case"boolean":case"number":case"string":case"function":H[V]=G;break;case"object":case"undefined":var k=B.get(G);H[V]=k!==e?k:_(G,L,B)}}),H}function E(I,L){if(I instanceof Array){for(var B=0;B<I.length;B++)L(B);typeof I.toJSON=="function"&&L("toJSON")}else for(B in I)L(B)}function w(){this.keys=[],this.values=[]}m.ad=function(I){if(arguments.length==0)throw Error("When calling ko.toJS, pass the object you want to convert.");return _(I,function(L){for(var B=0;m.O(L)&&10>B;B++)L=L();return L})},m.toJSON=function(I,L,B){return I=m.ad(I),m.a.hc(I,L,B)},w.prototype={constructor:w,save:function(I,L){var B=m.a.A(this.keys,I);0<=B?this.values[B]=L:(this.keys.push(I),this.values.push(L))},get:function(I){return I=m.a.A(this.keys,I),0<=I?this.values[I]:e}}}(),m.b("toJS",m.ad),m.b("toJSON",m.toJSON),m.Wd=function(_,E,w){function I(L){var B=m.xb(_,w).extend({ma:"always"}),H=B.subscribe(function(V){V&&(H.s(),L(V))});return B.notifySubscribers(B.v()),H}return typeof Promise!="function"||E?I(E.bind(w)):new Promise(I)},m.b("when",m.Wd),function(){m.w={M:function(_){switch(m.a.R(_)){case"option":return _.__ko__hasDomDataOptionValue__===!0?m.a.g.get(_,m.c.options.$b):7>=m.a.W?_.getAttributeNode("value")&&_.getAttributeNode("value").specified?_.value:_.text:_.value;case"select":return 0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex]):e;default:return _.value}},cb:function(_,E,w){switch(m.a.R(_)){case"option":typeof E=="string"?(m.a.g.set(_,m.c.options.$b,e),"__ko__hasDomDataOptionValue__"in _&&delete _.__ko__hasDomDataOptionValue__,_.value=E):(m.a.g.set(_,m.c.options.$b,E),_.__ko__hasDomDataOptionValue__=!0,_.value=typeof E=="number"?E:"");break;case"select":(E===""||E===null)&&(E=e);for(var I=-1,L=0,B=_.options.length,H;L<B;++L)if(H=m.w.M(_.options[L]),H==E||H===""&&E===e){I=L;break}(w||0<=I||E===e&&1<_.size)&&(_.selectedIndex=I,m.a.W===6&&m.a.setTimeout(function(){_.selectedIndex=I},0));break;default:(E===null||E===e)&&(E=""),_.value=E}}}}(),m.b("selectExtensions",m.w),m.b("selectExtensions.readValue",m.w.M),m.b("selectExtensions.writeValue",m.w.cb),m.m=function(){function _(V){V=m.a.Db(V),V.charCodeAt(0)===123&&(V=V.slice(1,-1)),V+=` +,`;var G=[],k=V.match(I),W,Y=[],J=0;if(1<k.length){for(var j=0,Z;Z=k[j];++j){var Q=Z.charCodeAt(0);if(Q===44){if(0>=J){G.push(W&&Y.length?{key:W,value:Y.join("")}:{unknown:W||Y.join("")}),W=J=0,Y=[];continue}}else if(Q===58){if(!J&&!W&&Y.length===1){W=Y.pop();continue}}else{if(Q===47&&1<Z.length&&(Z.charCodeAt(1)===47||Z.charCodeAt(1)===42))continue;Q===47&&j&&1<Z.length?(Q=k[j-1].match(L))&&!B[Q[0]]&&(V=V.substr(V.indexOf(Z)+1),k=V.match(I),j=-1,Z="/"):Q===40||Q===123||Q===91?++J:Q===41||Q===125||Q===93?--J:W||Y.length||Q!==34&&Q!==39||(Z=Z.slice(1,-1))}Y.push(Z)}if(0<J)throw Error("Unbalanced parentheses, braces, or brackets")}return G}var E=["true","false","null","undefined"],w=/^(?:[$_a-z][$\w]*|(.+)(\.\s*[$_a-z][$\w]*|\[.+\]))$/i,I=RegExp(`"(?:\\\\.|[^"])*"|'(?:\\\\.|[^'])*'|\`(?:\\\\.|[^\`])*\`|/\\*(?:[^*]|\\*+[^*/])*\\*+/|//.* +|/(?:\\\\.|[^/])+/w*|[^\\s:,/][^,"'\`{}()/:[\\]]*[^\\s,"'\`{}()/:[\\]]|[^\\s]`,"g"),L=/[\])"'A-Za-z0-9_$]+$/,B={in:1,return:1,typeof:1},H={};return{Ra:[],wa:H,ac:_,vb:function(V,G){function k(Q,he){var ye;if(!j){var re=m.getBindingHandler(Q);if(re&&re.preprocess&&!(he=re.preprocess(he,Q,k)))return;(re=H[Q])&&(ye=he,0<=m.a.A(E,ye)?ye=!1:(re=ye.match(w),ye=re===null?!1:re[1]?"Object("+re[1]+")"+re[2]:ye),re=ye),re&&Y.push("'"+(typeof H[Q]=="string"?H[Q]:Q)+"':function(_z){"+ye+"=_z}")}J&&(he="function(){return "+he+" }"),W.push("'"+Q+"':"+he)}G=G||{};var W=[],Y=[],J=G.valueAccessors,j=G.bindingParams,Z=typeof V=="string"?_(V):V;return m.a.D(Z,function(Q){k(Q.key||Q.unknown,Q.value)}),Y.length&&k("_ko_property_writers","{"+Y.join(",")+" }"),W.join(",")},Id:function(V,G){for(var k=0;k<V.length;k++)if(V[k].key==G)return!0;return!1},eb:function(V,G,k,W,Y){V&&m.O(V)?!m.Za(V)||Y&&V.v()===W||V(W):(V=G.get("_ko_property_writers"))&&V[k]&&V[k](W)}}}(),m.b("expressionRewriting",m.m),m.b("expressionRewriting.bindingRewriteValidators",m.m.Ra),m.b("expressionRewriting.parseObjectLiteral",m.m.ac),m.b("expressionRewriting.preProcessBindings",m.m.vb),m.b("expressionRewriting._twoWayBindings",m.m.wa),m.b("jsonExpressionRewriting",m.m),m.b("jsonExpressionRewriting.insertPropertyAccessorsIntoJson",m.m.vb),function(){function _(k){return k.nodeType==8&&B.test(L?k.text:k.nodeValue)}function E(k){return k.nodeType==8&&H.test(L?k.text:k.nodeValue)}function w(k,W){for(var Y=k,J=1,j=[];Y=Y.nextSibling;){if(E(Y)&&(m.a.g.set(Y,G,!0),J--,J===0))return j;j.push(Y),_(Y)&&J++}if(!W)throw Error("Cannot find closing comment tag to match: "+k.nodeValue);return null}function I(k,W){var Y=w(k,W);return Y?0<Y.length?Y[Y.length-1].nextSibling:k.nextSibling:null}var L=n&&n.createComment("test").text==="<!--test-->",B=L?/^\x3c!--\s*ko(?:\s+([\s\S]+))?\s*--\x3e$/:/^\s*ko(?:\s+([\s\S]+))?\s*$/,H=L?/^\x3c!--\s*\/ko\s*--\x3e$/:/^\s*\/ko\s*$/,V={ul:!0,ol:!0},G="__ko_matchedEndComment__";m.h={ea:{},childNodes:function(k){return _(k)?w(k):k.childNodes},Ea:function(k){if(_(k)){k=m.h.childNodes(k);for(var W=0,Y=k.length;W<Y;W++)m.removeNode(k[W])}else m.a.Tb(k)},va:function(k,W){if(_(k)){m.h.Ea(k);for(var Y=k.nextSibling,J=0,j=W.length;J<j;J++)Y.parentNode.insertBefore(W[J],Y)}else m.a.va(k,W)},Vc:function(k,W){var Y;_(k)?(Y=k.nextSibling,k=k.parentNode):Y=k.firstChild,Y?W!==Y&&k.insertBefore(W,Y):k.appendChild(W)},Wb:function(k,W,Y){Y?(Y=Y.nextSibling,_(k)&&(k=k.parentNode),Y?W!==Y&&k.insertBefore(W,Y):k.appendChild(W)):m.h.Vc(k,W)},firstChild:function(k){if(_(k))return!k.nextSibling||E(k.nextSibling)?null:k.nextSibling;if(k.firstChild&&E(k.firstChild))throw Error("Found invalid end comment, as the first child of "+k);return k.firstChild},nextSibling:function(k){if(_(k)&&(k=I(k)),k.nextSibling&&E(k.nextSibling)){var W=k.nextSibling;if(E(W)&&!m.a.g.get(W,G))throw Error("Found end comment without a matching opening comment, as child of "+k);return null}return k.nextSibling},Cd:_,Vd:function(k){return(k=(L?k.text:k.nodeValue).match(B))?k[1]:null},Sc:function(k){if(V[m.a.R(k)]){var W=k.firstChild;if(W)do if(W.nodeType===1){var Y;Y=W.firstChild;var J=null;if(Y)do if(J)J.push(Y);else if(_(Y)){var j=I(Y,!0);j?Y=j:J=[Y]}else E(Y)&&(J=[Y]);while(Y=Y.nextSibling);if(Y=J)for(J=W.nextSibling,j=0;j<Y.length;j++)J?k.insertBefore(Y[j],J):k.appendChild(Y[j])}while(W=W.nextSibling)}}}}(),m.b("virtualElements",m.h),m.b("virtualElements.allowedBindings",m.h.ea),m.b("virtualElements.emptyNode",m.h.Ea),m.b("virtualElements.insertAfter",m.h.Wb),m.b("virtualElements.prepend",m.h.Vc),m.b("virtualElements.setDomNodeChildren",m.h.va),function(){m.ga=function(){this.nd={}},m.a.extend(m.ga.prototype,{nodeHasBindings:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind")!=null||m.j.getComponentNameForNode(_);case 8:return m.h.Cd(_);default:return!1}},getBindings:function(_,E){var w=this.getBindingsString(_,E),w=w?this.parseBindingsString(w,E,_):null;return m.j.tc(w,_,E,!1)},getBindingAccessors:function(_,E){var w=this.getBindingsString(_,E),w=w?this.parseBindingsString(w,E,_,{valueAccessors:!0}):null;return m.j.tc(w,_,E,!0)},getBindingsString:function(_){switch(_.nodeType){case 1:return _.getAttribute("data-bind");case 8:return m.h.Vd(_);default:return null}},parseBindingsString:function(_,E,w,I){try{var L=this.nd,B=_+(I&&I.valueAccessors||""),H;if(!(H=L[B])){var V,G="with($context){with($data||{}){return{"+m.m.vb(_,I)+"}}}";V=new Function("$context","$element",G),H=L[B]=V}return H(E,w)}catch(k){throw k.message=`Unable to parse bindings. Bindings value: `+_+` -Message: `+k.message,k}}}),m.ga.instance=new m.ga}(),m.b("bindingProvider",m.ga),function(){function _(re){var _e=(re=m.a.g.get(re,ye))&&re.N;_e&&(re.N=null,_e.Tc())}function E(re,_e,xe){this.node=re,this.yc=_e,this.kb=[],this.H=!1,_e.N||m.a.K.za(re,_),xe&&xe.N&&(xe.N.kb.push(re),this.Kb=xe)}function v(re){return function(){return re}}function I(re){return re()}function N(re){return m.a.Ga(m.u.G(re),function(_e,xe){return function(){return re()[xe]}})}function B(re,_e,xe){return typeof re=="function"?N(re.bind(null,_e,xe)):m.a.Ga(re,v)}function z(re,_e){return N(this.getBindings.bind(this,re,_e))}function V(re,_e){var xe=m.h.firstChild(_e);if(xe){var De,we=m.ga.instance,Oe=we.preprocessNode;if(Oe){for(;De=xe;)xe=m.h.nextSibling(De),Oe.call(we,De);xe=m.h.firstChild(_e)}for(;De=xe;)xe=m.h.nextSibling(De),G(re,De)}m.i.ma(_e,m.i.H)}function G(re,_e){var xe=re,De=_e.nodeType===1;De&&m.h.Sc(_e),(De||m.ga.instance.nodeHasBindings(_e))&&(xe=Y(_e,null,re).bindingContextForDescendants),xe&&!Q[m.a.R(_e)]&&V(xe,_e)}function k(re){var _e=[],xe={},De=[];return m.a.P(re,function we(Oe){if(!xe[Oe]){var Me=m.getBindingHandler(Oe);Me&&(Me.after&&(De.push(Oe),m.a.D(Me.after,function(ht){if(re[ht]){if(m.a.A(De,ht)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+De.join(", "));we(ht)}}),De.length--),_e.push({key:Oe,Mc:Me})),xe[Oe]=!0}}),_e}function Y(re,_e,xe){var De=m.a.g.Ub(re,ye,{}),we=De.hd;if(!_e){if(we)throw Error("You cannot apply bindings multiple times to the same element.");De.hd=!0}we||(De.context=xe),De.Zb||(De.Zb={});var Oe;if(_e&&typeof _e!="function")Oe=_e;else{var Me=m.ga.instance,ht=Me.getBindingAccessors||z,it=m.$(function(){return(Oe=_e?_e(xe,re):ht.call(Me,re,xe))&&(xe[J]&&xe[J](),xe[$]&&xe[$]()),Oe},null,{l:re});Oe&&it.ja()||(it=null)}var At=xe,Le;if(Oe){var ke=function(){return m.a.Ga(it?it():Oe,I)},$e=it?function(Xe){return function(){return I(it()[Xe])}}:function(Xe){return Oe[Xe]};ke.get=function(Xe){return Oe[Xe]&&I($e(Xe))},ke.has=function(Xe){return Xe in Oe},m.i.H in Oe&&m.i.subscribe(re,m.i.H,function(){var Xe=(0,Oe[m.i.H])();if(Xe){var kt=m.h.childNodes(re);kt.length&&Xe(kt,m.Ec(kt[0]))}}),m.i.pa in Oe&&(At=m.i.Cb(re,xe),m.i.subscribe(re,m.i.pa,function(){var Xe=(0,Oe[m.i.pa])();Xe&&m.h.firstChild(re)&&Xe(re)})),De=k(Oe),m.a.D(De,function(Xe){var kt=Xe.Mc.init,Te=Xe.Mc.update,Ce=Xe.key;if(re.nodeType===8&&!m.h.ea[Ce])throw Error("The binding '"+Ce+"' cannot be used with virtual elements");try{typeof kt=="function"&&m.u.G(function(){var Zt=kt(re,$e(Ce),ke,At.$data,At);if(Zt&&Zt.controlsDescendantBindings){if(Le!==e)throw Error("Multiple bindings ("+Le+" and "+Ce+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");Le=Ce}}),typeof Te=="function"&&m.$(function(){Te(re,$e(Ce),ke,At.$data,At)},null,{l:re})}catch(Zt){throw Zt.message='Unable to process binding "'+Ce+": "+Oe[Ce]+`" -Message: `+Zt.message,Zt}})}return De=Le===e,{shouldBindDescendants:De,bindingContextForDescendants:De&&At}}function W(re,_e){return re&&re instanceof m.fa?re:new m.fa(re,e,e,_e)}var J=m.a.Da("_subscribable"),j=m.a.Da("_ancestorBindingInfo"),$=m.a.Da("_dataDependency");m.c={};var Q={script:!0,textarea:!0,template:!0};m.getBindingHandler=function(re){return m.c[re]};var he={};m.fa=function(re,_e,xe,De,we){function Oe(){var $e=At?it():it,Xe=m.a.f($e);return _e?(m.a.extend(Me,_e),j in _e&&(Me[j]=_e[j])):(Me.$parents=[],Me.$root=Xe,Me.ko=m),Me[J]=Le,ht?Xe=Me.$data:(Me.$rawData=$e,Me.$data=Xe),xe&&(Me[xe]=Xe),De&&De(Me,_e,Xe),_e&&_e[J]&&!m.S.o().Vb(_e[J])&&_e[J](),ke&&(Me[$]=ke),Me.$data}var Me=this,ht=re===he,it=ht?e:re,At=typeof it=="function"&&!m.O(it),Le,ke=we&&we.dataDependency;we&&we.exportDependencies?Oe():(Le=m.xb(Oe),Le.v(),Le.ja()?Le.equalityComparer=null:Me[J]=e)},m.fa.prototype.createChildContext=function(re,_e,xe,De){if(!De&&_e&&typeof _e=="object"&&(De=_e,_e=De.as,xe=De.extend),_e&&De&&De.noChildContext){var we=typeof re=="function"&&!m.O(re);return new m.fa(he,this,null,function(Oe){xe&&xe(Oe),Oe[_e]=we?re():re},De)}return new m.fa(re,this,_e,function(Oe,Me){Oe.$parentContext=Me,Oe.$parent=Me.$data,Oe.$parents=(Me.$parents||[]).slice(0),Oe.$parents.unshift(Oe.$parent),xe&&xe(Oe)},De)},m.fa.prototype.extend=function(re,_e){return new m.fa(he,this,null,function(xe){m.a.extend(xe,typeof re=="function"?re(xe):re)},_e)};var ye=m.a.g.Z();E.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},E.prototype.sd=function(re){m.a.Pa(this.kb,re),!this.kb.length&&this.H&&this.Cc()},E.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,m.a.K.yb(this.node,_),m.i.ma(this.node,m.i.pa),this.Tc())},m.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(re,_e,xe,De,we){var Oe=m.a.g.Ub(re,ye,{});return Oe.Fa||(Oe.Fa=new m.T),we&&we.notifyImmediately&&Oe.Zb[_e]&&m.u.G(xe,De,[re]),Oe.Fa.subscribe(xe,De,_e)},ma:function(re,_e){var xe=m.a.g.get(re,ye);if(xe&&(xe.Zb[_e]=!0,xe.Fa&&xe.Fa.notifySubscribers(re,_e),_e==m.i.H)){if(xe.N)xe.N.Cc();else if(xe.N===e&&xe.Fa&&xe.Fa.Wa(m.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(re,_e){var xe=m.a.g.Ub(re,ye,{});return xe.N||(xe.N=new E(re,xe,_e[j])),_e[j]==xe?_e:_e.extend(function(De){De[j]=xe})}},m.Td=function(re){return(re=m.a.g.get(re,ye))&&re.context},m.ib=function(re,_e,xe){return re.nodeType===1&&m.h.Sc(re),Y(re,_e,W(xe))},m.ld=function(re,_e,xe){return xe=W(xe),m.ib(re,B(_e,xe,re),xe)},m.Oa=function(re,_e){_e.nodeType!==1&&_e.nodeType!==8||V(W(re),_e)},m.vc=function(re,_e,xe){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(_e=n.body,!_e)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!_e||_e.nodeType!==1&&_e.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");G(W(re,xe),_e)},m.Dc=function(re){return!re||re.nodeType!==1&&re.nodeType!==8?e:m.Td(re)},m.Ec=function(re){return(re=m.Dc(re))?re.$data:e},m.b("bindingHandlers",m.c),m.b("bindingEvent",m.i),m.b("bindingEvent.subscribe",m.i.subscribe),m.b("bindingEvent.startPossiblyAsyncContentBinding",m.i.Cb),m.b("applyBindings",m.vc),m.b("applyBindingsToDescendants",m.Oa),m.b("applyBindingAccessorsToNode",m.ib),m.b("applyBindingsToNode",m.ld),m.b("contextFor",m.Dc),m.b("dataFor",m.Ec)}(),function(_){function E(z,V){var G=Object.prototype.hasOwnProperty.call(N,z)?N[z]:_,k;G?G.subscribe(V):(G=N[z]=new m.T,G.subscribe(V),v(z,function(Y,W){var J=!(!W||!W.synchronous);B[z]={definition:Y,Gd:J},delete N[z],k||J?G.notifySubscribers(Y):m.na.zb(function(){G.notifySubscribers(Y)})}),k=!0)}function v(z,V){I("getConfig",[z],function(G){G?I("loadComponent",[z,G],function(k){V(k,G)}):V(null,null)})}function I(z,V,G,k){k||(k=m.j.loaders.slice(0));var Y=k.shift();if(Y){var W=Y[z];if(W){var J=!1;if(W.apply(Y,V.concat(function(j){J?G(null):j!==null?G(j):I(z,V,G,k)}))!==_&&(J=!0,!Y.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else I(z,V,G,k)}else G(null)}var N={},B={};m.j={get:function(z,V){var G=Object.prototype.hasOwnProperty.call(B,z)?B[z]:_;G?G.Gd?m.u.G(function(){V(G.definition)}):m.na.zb(function(){V(G.definition)}):E(z,V)},Bc:function(z){delete B[z]},oc:I},m.j.loaders=[],m.b("components",m.j),m.b("components.get",m.j.get),m.b("components.clearCachedDefinition",m.j.Bc)}(),function(){function _(G,k,Y,W){function J(){--$===0&&W(j)}var j={},$=2,Q=Y.template;Y=Y.viewModel,Q?N(k,Q,function(he){m.j.oc("loadTemplate",[G,he],function(ye){j.template=ye,J()})}):J(),Y?N(k,Y,function(he){m.j.oc("loadViewModel",[G,he],function(ye){j[V]=ye,J()})}):J()}function E(G,k,Y){if(typeof k=="function")Y(function(J){return new k(J)});else if(typeof k[V]=="function")Y(k[V]);else if("instance"in k){var W=k.instance;Y(function(){return W})}else"viewModel"in k?E(G,k.viewModel,Y):G("Unknown viewModel value: "+k)}function v(G){switch(m.a.R(G)){case"script":return m.a.ua(G.text);case"textarea":return m.a.ua(G.value);case"template":if(I(G.content))return m.a.Ca(G.content.childNodes)}return m.a.Ca(G.childNodes)}function I(G){return t.DocumentFragment?G instanceof DocumentFragment:G&&G.nodeType===11}function N(G,k,Y){typeof k.require=="string"?a||t.require?(a||t.require)([k.require],function(W){W&&typeof W=="object"&&W.Xd&&W.default&&(W=W.default),Y(W)}):G("Uses require, but no AMD loader is present"):Y(k)}function B(G){return function(k){throw Error("Component '"+G+"': "+k)}}var z={};m.j.register=function(G,k){if(!k)throw Error("Invalid configuration for "+G);if(m.j.tb(G))throw Error("Component "+G+" is already registered");z[G]=k},m.j.tb=function(G){return Object.prototype.hasOwnProperty.call(z,G)},m.j.unregister=function(G){delete z[G],m.j.Bc(G)},m.j.Fc={getConfig:function(G,k){k(m.j.tb(G)?z[G]:null)},loadComponent:function(G,k,Y){var W=B(G);N(W,k,function(J){_(G,W,J,Y)})},loadTemplate:function(G,k,Y){if(G=B(G),typeof k=="string")Y(m.a.ua(k));else if(k instanceof Array)Y(k);else if(I(k))Y(m.a.la(k.childNodes));else if(k.element)if(k=k.element,t.HTMLElement?k instanceof HTMLElement:k&&k.tagName&&k.nodeType===1)Y(v(k));else if(typeof k=="string"){var W=n.getElementById(k);W?Y(v(W)):G("Cannot find element with ID "+k)}else G("Unknown element type: "+k);else G("Unknown template value: "+k)},loadViewModel:function(G,k,Y){E(B(G),k,Y)}};var V="createViewModel";m.b("components.register",m.j.register),m.b("components.isRegistered",m.j.tb),m.b("components.unregister",m.j.unregister),m.b("components.defaultLoader",m.j.Fc),m.j.loaders.push(m.j.Fc),m.j.dd=z}(),function(){function _(v,I){var N=v.getAttribute("params");if(N){var N=E.parseBindingsString(N,I,v,{valueAccessors:!0,bindingParams:!0}),N=m.a.Ga(N,function(V){return m.o(V,null,{l:v})}),B=m.a.Ga(N,function(V){var G=V.v();return V.ja()?m.o({read:function(){return m.a.f(V())},write:m.Za(G)&&function(k){V()(k)},l:v}):G});return Object.prototype.hasOwnProperty.call(B,"$raw")||(B.$raw=N),B}return{$raw:{}}}m.j.getComponentNameForNode=function(v){var I=m.a.R(v);if(m.j.tb(I)&&(I.indexOf("-")!=-1||""+v=="[object HTMLUnknownElement]"||8>=m.a.W&&v.tagName===I))return I},m.j.tc=function(v,I,N,B){if(I.nodeType===1){var z=m.j.getComponentNameForNode(I);if(z){if(v=v||{},v.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var V={name:z,params:_(I,N)};v.component=B?function(){return V}:V}}return v};var E=new m.ga;9>m.a.W&&(m.j.register=function(v){return function(I){return v.apply(this,arguments)}}(m.j.register),n.createDocumentFragment=function(v){return function(){var I=v(),N=m.j.dd,B;for(B in N);return I}}(n.createDocumentFragment))}(),function(){function _(I,N,B){if(N=N.template,!N)throw Error("Component '"+I+"' has no template");I=m.a.Ca(N),m.h.va(B,I)}function E(I,N,B){var z=I.createViewModel;return z?z.call(I,N,B):N}var v=0;m.c.component={init:function(I,N,B,z,V){function G(){var j=k&&k.dispose;typeof j=="function"&&j.call(k),W&&W.s(),Y=k=W=null}var k,Y,W,J=m.a.la(m.h.childNodes(I));return m.h.Ea(I),m.a.K.za(I,G),m.o(function(){var j=m.a.f(N()),$,Q;if(typeof j=="string"?$=j:($=m.a.f(j.name),Q=m.a.f(j.params)),!$)throw Error("No component name specified");var he=m.i.Cb(I,V),ye=Y=++v;m.j.get($,function(re){if(Y===ye){if(G(),!re)throw Error("Unknown component '"+$+"'");_($,re,I);var _e=E(re,Q,{element:I,templateNodes:J});re=he.createChildContext(_e,{extend:function(xe){xe.$component=_e,xe.$componentTemplateNodes=J}}),_e&&_e.koDescendantsComplete&&(W=m.i.subscribe(I,m.i.pa,_e.koDescendantsComplete,_e)),k=_e,m.Oa(re,I)}})},null,{l:I}),{controlsDescendantBindings:!0}}},m.h.ea.component=!0}();var M={class:"className",for:"htmlFor"};m.c.attr={update:function(_,E){var v=m.a.f(E())||{};m.a.P(v,function(I,N){N=m.a.f(N);var B=I.indexOf(":"),B="lookupNamespaceURI"in _&&0<B&&_.lookupNamespaceURI(I.substr(0,B)),z=N===!1||N===null||N===e;z?B?_.removeAttributeNS(B,I):_.removeAttribute(I):N=N.toString(),8>=m.a.W&&I in M?(I=M[I],z?_.removeAttribute(I):_[I]=N):z||(B?_.setAttributeNS(B,I,N):_.setAttribute(I,N)),I==="name"&&m.a.Yc(_,z?"":N)})}},function(){m.c.checked={after:["value","attr"],init:function(_,E,v){function I(){var j=_.checked,$=B();if(!m.S.Ya()&&(j||!V&&!m.S.qa())){var Q=m.u.G(E);if(k){var he=Y?Q.v():Q,ye=J;J=$,ye!==$?j&&(m.a.Na(he,$,!0),m.a.Na(he,ye,!1)):m.a.Na(he,$,j),Y&&m.Za(Q)&&Q(he)}else z&&($===e?$=j:j||($=e)),m.m.eb(Q,v,"checked",$,!0)}}function N(){var j=m.a.f(E()),$=B();k?(_.checked=0<=m.a.A(j,$),J=$):_.checked=z&&$===e?!!j:B()===j}var B=m.xb(function(){if(v.has("checkedValue"))return m.a.f(v.get("checkedValue"));if(W)return v.has("value")?m.a.f(v.get("value")):_.value}),z=_.type=="checkbox",V=_.type=="radio";if(z||V){var G=E(),k=z&&m.a.f(G)instanceof Array,Y=!(k&&G.push&&G.splice),W=V||k,J=k?B():e;V&&!_.name&&m.c.uniqueName.init(_,function(){return!0}),m.o(I,null,{l:_}),m.a.B(_,"click",I),m.o(N,null,{l:_}),G=e}}},m.m.wa.checked=!0,m.c.checkedValue={update:function(_,E){_.value=m.a.f(E())}}}(),m.c.class={update:function(_,E){var v=m.a.Db(m.a.f(E()));m.a.Eb(_,_.__ko__cssValue,!1),_.__ko__cssValue=v,m.a.Eb(_,v,!0)}},m.c.css={update:function(_,E){var v=m.a.f(E());v!==null&&typeof v=="object"?m.a.P(v,function(I,N){N=m.a.f(N),m.a.Eb(_,I,N)}):m.c.class.update(_,E)}},m.c.enable={update:function(_,E){var v=m.a.f(E());v&&_.disabled?_.removeAttribute("disabled"):v||_.disabled||(_.disabled=!0)}},m.c.disable={update:function(_,E){m.c.enable.update(_,function(){return!m.a.f(E())})}},m.c.event={init:function(_,E,v,I,N){var B=E()||{};m.a.P(B,function(z){typeof z=="string"&&m.a.B(_,z,function(V){var G,k=E()[z];if(k){try{var Y=m.a.la(arguments);I=N.$data,Y.unshift(I),G=k.apply(I,Y)}finally{G!==!0&&(V.preventDefault?V.preventDefault():V.returnValue=!1)}v.get(z+"Bubble")===!1&&(V.cancelBubble=!0,V.stopPropagation&&V.stopPropagation())}})})}},m.c.foreach={Rc:function(_){return function(){var E=_(),v=m.a.bc(E);return!v||typeof v.length=="number"?{foreach:E,templateEngine:m.ba.Ma}:(m.a.f(E),{foreach:v.data,as:v.as,noChildContext:v.noChildContext,includeDestroyed:v.includeDestroyed,afterAdd:v.afterAdd,beforeRemove:v.beforeRemove,afterRender:v.afterRender,beforeMove:v.beforeMove,afterMove:v.afterMove,templateEngine:m.ba.Ma})}},init:function(_,E){return m.c.template.init(_,m.c.foreach.Rc(E))},update:function(_,E,v,I,N){return m.c.template.update(_,m.c.foreach.Rc(E),v,I,N)}},m.m.Ra.foreach=!1,m.h.ea.foreach=!0,m.c.hasfocus={init:function(_,E,v){function I(z){_.__ko_hasfocusUpdating=!0;var V=_.ownerDocument;if("activeElement"in V){var G;try{G=V.activeElement}catch{G=V.body}z=G===_}V=E(),m.m.eb(V,v,"hasfocus",z,!0),_.__ko_hasfocusLastValue=z,_.__ko_hasfocusUpdating=!1}var N=I.bind(null,!0),B=I.bind(null,!1);m.a.B(_,"focus",N),m.a.B(_,"focusin",N),m.a.B(_,"blur",B),m.a.B(_,"focusout",B),_.__ko_hasfocusLastValue=!1},update:function(_,E){var v=!!m.a.f(E());_.__ko_hasfocusUpdating||_.__ko_hasfocusLastValue===v||(v?_.focus():_.blur(),!v&&_.__ko_hasfocusLastValue&&_.ownerDocument.body.focus(),m.u.G(m.a.Fb,null,[_,v?"focusin":"focusout"]))}},m.m.wa.hasfocus=!0,m.c.hasFocus=m.c.hasfocus,m.m.wa.hasFocus="hasfocus",m.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(_,E){m.a.fc(_,E())}},function(){function _(E,v,I){m.c[E]={init:function(N,B,z,V,G){var k,Y,W={},J,j,$;if(v){V=z.get("as");var Q=z.get("noChildContext");$=!(V&&Q),W={as:V,noChildContext:Q,exportDependencies:$}}return j=(J=z.get("completeOn")=="render")||z.has(m.i.pa),m.o(function(){var he=m.a.f(B()),ye=!I!=!he,re=!Y,_e;($||ye!==k)&&(j&&(G=m.i.Cb(N,G)),ye&&((!v||$)&&(W.dataDependency=m.S.o()),_e=v?G.createChildContext(typeof he=="function"?he:B,W):m.S.qa()?G.extend(null,W):G),re&&m.S.qa()&&(Y=m.a.Ca(m.h.childNodes(N),!0)),ye?(re||m.h.va(N,m.a.Ca(Y)),m.Oa(_e,N)):(m.h.Ea(N),J||m.i.ma(N,m.i.H)),k=ye)},null,{l:N}),{controlsDescendantBindings:!0}}},m.m.Ra[E]=!1,m.h.ea[E]=!0}_("if"),_("ifnot",!1,!0),_("with",!0)}(),m.c.let={init:function(_,E,v,I,N){return E=N.extend(E),m.Oa(E,_),{controlsDescendantBindings:!0}}},m.h.ea.let=!0;var L={};m.c.options={init:function(_){if(m.a.R(_)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<_.length;)_.remove(0);return{controlsDescendantBindings:!0}},update:function(_,E,v){function I(){return m.a.jb(_.options,function(Q){return Q.selected})}function N(Q,he,ye){var re=typeof he;return re=="function"?he(Q):re=="string"?Q[he]:ye}function B(Q,he){if(j&&k)m.i.ma(_,m.i.H);else if(J.length){var ye=0<=m.a.A(J,m.w.M(he[0]));m.a.Zc(he[0],ye),j&&!ye&&m.u.G(m.a.Fb,null,[_,"change"])}}var z=_.multiple,V=_.length!=0&&z?_.scrollTop:null,G=m.a.f(E()),k=v.get("valueAllowUnset")&&v.has("value"),Y=v.get("optionsIncludeDestroyed");E={};var W,J=[];k||(z?J=m.a.Mb(I(),m.w.M):0<=_.selectedIndex&&J.push(m.w.M(_.options[_.selectedIndex]))),G&&(typeof G.length>"u"&&(G=[G]),W=m.a.jb(G,function(Q){return Y||Q===e||Q===null||!m.a.f(Q._destroy)}),v.has("optionsCaption")&&(G=m.a.f(v.get("optionsCaption")),G!==null&&G!==e&&W.unshift(L)));var j=!1;if(E.beforeRemove=function(Q){_.removeChild(Q)},G=B,v.has("optionsAfterRender")&&typeof v.get("optionsAfterRender")=="function"&&(G=function(Q,he){B(0,he),m.u.G(v.get("optionsAfterRender"),null,[he[0],Q!==L?Q:e])}),m.a.ec(_,W,function(Q,he,ye){return ye.length&&(J=!k&&ye[0].selected?[m.w.M(ye[0])]:[],j=!0),he=_.ownerDocument.createElement("option"),Q===L?(m.a.Bb(he,v.get("optionsCaption")),m.w.cb(he,e)):(ye=N(Q,v.get("optionsValue"),Q),m.w.cb(he,m.a.f(ye)),Q=N(Q,v.get("optionsText"),ye),m.a.Bb(he,Q)),[he]},E,G),!k){var $;z?$=J.length&&I().length<J.length:$=J.length&&0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex])!==J[0]:J.length||0<=_.selectedIndex,$&&m.u.G(m.a.Fb,null,[_,"change"])}(k||m.S.Ya())&&m.i.ma(_,m.i.H),m.a.wd(_),V&&20<Math.abs(V-_.scrollTop)&&(_.scrollTop=V)}},m.c.options.$b=m.a.g.Z(),m.c.selectedOptions={init:function(_,E,v){function I(){var z=E(),V=[];m.a.D(_.getElementsByTagName("option"),function(G){G.selected&&V.push(m.w.M(G))}),m.m.eb(z,v,"selectedOptions",V)}function N(){var z=m.a.f(E()),V=_.scrollTop;z&&typeof z.length=="number"&&m.a.D(_.getElementsByTagName("option"),function(G){var k=0<=m.a.A(z,m.w.M(G));G.selected!=k&&m.a.Zc(G,k)}),_.scrollTop=V}if(m.a.R(_)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var B;m.i.subscribe(_,m.i.H,function(){B?I():(m.a.B(_,"change",I),B=m.o(N,null,{l:_}))},null,{notifyImmediately:!0})},update:function(){}},m.m.wa.selectedOptions=!0,m.c.style={update:function(_,E){var v=m.a.f(E()||{});m.a.P(v,function(I,N){if(N=m.a.f(N),(N===null||N===e||N===!1)&&(N=""),o)o(_).css(I,N);else if(/^--/.test(I))_.style.setProperty(I,N);else{I=I.replace(/-(\w)/g,function(z,V){return V.toUpperCase()});var B=_.style[I];_.style[I]=N,N===B||_.style[I]!=B||isNaN(N)||(_.style[I]=N+"px")}})}},m.c.submit={init:function(_,E,v,I,N){if(typeof E()!="function")throw Error("The value for a submit binding must be a function");m.a.B(_,"submit",function(B){var z,V=E();try{z=V.call(N.$data,_)}finally{z!==!0&&(B.preventDefault?B.preventDefault():B.returnValue=!1)}})}},m.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(_,E){m.a.Bb(_,E())}},m.h.ea.text=!0,function(){if(t&&t.navigator){var _=function(W){if(W)return parseFloat(W[1])},E=t.navigator.userAgent,v,I,N,B,z;(v=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(z=_(E.match(/Edge\/([^ ]+)$/)))||_(E.match(/Chrome\/([^ ]+)/))||(I=_(E.match(/Version\/([^ ]+) Safari/)))||(N=_(E.match(/Firefox\/([^ ]+)/)))||(B=m.a.W||_(E.match(/MSIE ([^ ]+)/)))||(B=_(E.match(/rv:([^ )]+)/)))}if(8<=B&&10>B)var V=m.a.g.Z(),G=m.a.g.Z(),k=function(W){var J=this.activeElement;(J=J&&m.a.g.get(J,G))&&J(W)},Y=function(W,J){var j=W.ownerDocument;m.a.g.get(j,V)||(m.a.g.set(j,V,!0),m.a.B(j,"selectionchange",k)),m.a.g.set(W,G,J)};m.c.textInput={init:function(W,J,j){function $(Oe,Me){m.a.B(W,Oe,Me)}function Q(){var Oe=m.a.f(J());(Oe===null||Oe===e)&&(Oe=""),xe!==e&&Oe===xe?m.a.setTimeout(Q,4):W.value!==Oe&&(we=!0,W.value=Oe,we=!1,re=W.value)}function he(){_e||(xe=W.value,_e=m.a.setTimeout(ye,4))}function ye(){clearTimeout(_e),xe=_e=e;var Oe=W.value;re!==Oe&&(re=Oe,m.m.eb(J(),j,"textInput",Oe))}var re=W.value,_e,xe,De=m.a.W==9?he:ye,we=!1;B&&$("keypress",ye),11>B&&$("propertychange",function(Oe){we||Oe.propertyName!=="value"||De(Oe)}),B==8&&($("keyup",ye),$("keydown",ye)),Y&&(Y(W,De),$("dragend",he)),(!B||9<=B)&&$("input",De),5>I&&m.a.R(W)==="textarea"?($("keydown",he),$("paste",he),$("cut",he)):11>v?$("keydown",he):4>N?($("DOMAutoComplete",ye),$("dragdrop",ye),$("drop",ye)):z&&W.type==="number"&&$("keydown",he),$("change",ye),$("blur",ye),m.o(Q,null,{l:W})}},m.m.wa.textInput=!0,m.c.textinput={preprocess:function(W,J,j){j("textInput",W)}}}(),m.c.uniqueName={init:function(_,E){if(E()){var v="ko_unique_"+ ++m.c.uniqueName.rd;m.a.Yc(_,v)}}},m.c.uniqueName.rd=0,m.c.using={init:function(_,E,v,I,N){var B;return v.has("as")&&(B={as:v.get("as"),noChildContext:v.get("noChildContext")}),E=N.createChildContext(E,B),m.Oa(E,_),{controlsDescendantBindings:!0}}},m.h.ea.using=!0,m.c.value={init:function(_,E,v){var I=m.a.R(_),N=I=="input";if(!N||_.type!="checkbox"&&_.type!="radio"){var B=[],z=v.get("valueUpdate"),V=!1,G=null;z&&(typeof z=="string"?B=[z]:B=m.a.wc(z),m.a.Pa(B,"change"));var k=function(){G=null,V=!1;var J=E(),j=m.w.M(_);m.m.eb(J,v,"value",j)};!m.a.W||!N||_.type!="text"||_.autocomplete=="off"||_.form&&_.form.autocomplete=="off"||m.a.A(B,"propertychange")!=-1||(m.a.B(_,"propertychange",function(){V=!0}),m.a.B(_,"focus",function(){V=!1}),m.a.B(_,"blur",function(){V&&k()})),m.a.D(B,function(J){var j=k;m.a.Ud(J,"after")&&(j=function(){G=m.w.M(_),m.a.setTimeout(k,0)},J=J.substring(5)),m.a.B(_,J,j)});var Y;if(Y=N&&_.type=="file"?function(){var J=m.a.f(E());J===null||J===e||J===""?_.value="":m.u.G(k)}:function(){var J=m.a.f(E()),j=m.w.M(_);G!==null&&J===G?m.a.setTimeout(Y,0):(J!==j||j===e)&&(I==="select"?(j=v.get("valueAllowUnset"),m.w.cb(_,J,j),j||J===m.w.M(_)||m.u.G(k)):m.w.cb(_,J))},I==="select"){var W;m.i.subscribe(_,m.i.H,function(){W?v.get("valueAllowUnset")?Y():k():(m.a.B(_,"change",k),W=m.o(Y,null,{l:_}))},null,{notifyImmediately:!0})}else m.a.B(_,"change",k),m.o(Y,null,{l:_})}else m.ib(_,{checkedValue:E})},update:function(){}},m.m.wa.value=!0,m.c.visible={update:function(_,E){var v=m.a.f(E()),I=_.style.display!="none";v&&!I?_.style.display="":!v&&I&&(_.style.display="none")}},m.c.hidden={update:function(_,E){m.c.visible.update(_,function(){return!m.a.f(E())})}},function(_){m.c[_]={init:function(E,v,I,N,B){return m.c.event.init.call(this,E,function(){var z={};return z[_]=v(),z},I,N,B)}}}("click"),m.ca=function(){},m.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},m.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},m.ca.prototype.makeTemplateSource=function(_,E){if(typeof _=="string"){E=E||n;var v=E.getElementById(_);if(!v)throw Error("Cannot find template with ID "+_);return new m.C.F(v)}if(_.nodeType==1||_.nodeType==8)return new m.C.ia(_);throw Error("Unknown template type: "+_)},m.ca.prototype.renderTemplate=function(_,E,v,I){return _=this.makeTemplateSource(_,I),this.renderTemplateSource(_,E,v,I)},m.ca.prototype.isTemplateRewritten=function(_,E){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(_,E).data("isRewritten")},m.ca.prototype.rewriteTemplate=function(_,E,v){_=this.makeTemplateSource(_,v),E=E(_.text()),_.text(E),_.data("isRewritten",!0)},m.b("templateEngine",m.ca),m.kc=function(){function _(I,N,B,z){I=m.m.ac(I);for(var V=m.m.Ra,G=0;G<I.length;G++){var k=I[G].key;if(Object.prototype.hasOwnProperty.call(V,k)){var Y=V[k];if(typeof Y=="function"){if(k=Y(I[G].value))throw Error(k)}else if(!Y)throw Error("This template engine does not support the '"+k+"' binding within its templates")}}return B="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+m.m.vb(I,{valueAccessors:!0})+" } })()},'"+B.toLowerCase()+"')",z.createJavaScriptEvaluatorBlock(B)+N}var E=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,v=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(I,N,B){N.isTemplateRewritten(I,B)||N.rewriteTemplate(I,function(z){return m.kc.Ld(z,N)},B)},Ld:function(I,N){return I.replace(E,function(B,z,V,G,k){return _(k,z,V,N)}).replace(v,function(B,z){return _(z,"<!-- ko -->","#comment",N)})},md:function(I,N){return m.aa.Xb(function(B,z){var V=B.nextSibling;V&&V.nodeName.toLowerCase()===N&&m.ib(V,I,z)})}}}(),m.b("__tr_ambtns",m.kc.md),function(){m.C={},m.C.F=function(v){if(this.F=v){var I=m.a.R(v);this.ab=I==="script"?1:I==="textarea"?2:I=="template"&&v.content&&v.content.nodeType===11?3:4}},m.C.F.prototype.text=function(){var v=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[v];var I=arguments[0];v==="innerHTML"?m.a.fc(this.F,I):this.F[v]=I};var _=m.a.g.Z()+"_";m.C.F.prototype.data=function(v){if(arguments.length===1)return m.a.g.get(this.F,_+v);m.a.g.set(this.F,_+v,arguments[1])};var E=m.a.g.Z();m.C.F.prototype.nodes=function(){var v=this.F;if(arguments.length==0){var I=m.a.g.get(v,E)||{},N=I.lb||(this.ab===3?v.content:this.ab===4?v:e);if(!N||I.jd){var B=this.text();B&&B!==I.bb&&(N=m.a.Md(B,v.ownerDocument),m.a.g.set(v,E,{lb:N,bb:B,jd:!0}))}return N}I=arguments[0],this.ab!==e&&this.text(""),m.a.g.set(v,E,{lb:I})},m.C.ia=function(v){this.F=v},m.C.ia.prototype=new m.C.F,m.C.ia.prototype.constructor=m.C.ia,m.C.ia.prototype.text=function(){if(arguments.length==0){var v=m.a.g.get(this.F,E)||{};return v.bb===e&&v.lb&&(v.bb=v.lb.innerHTML),v.bb}m.a.g.set(this.F,E,{bb:arguments[0]})},m.b("templateSources",m.C),m.b("templateSources.domElement",m.C.F),m.b("templateSources.anonymousTemplate",m.C.ia)}(),function(){function _(G,k,Y){var W;for(k=m.h.nextSibling(k);G&&(W=G)!==k;)G=m.h.nextSibling(W),Y(W,G)}function E(G,k){if(G.length){var Y=G[0],W=G[G.length-1],J=Y.parentNode,j=m.ga.instance,$=j.preprocessNode;if($){if(_(Y,W,function(Q,he){var ye=Q.previousSibling,re=$.call(j,Q);re&&(Q===Y&&(Y=re[0]||he),Q===W&&(W=re[re.length-1]||ye))}),G.length=0,!Y)return;Y===W?G.push(Y):(G.push(Y,W),m.a.Ua(G,J))}_(Y,W,function(Q){Q.nodeType!==1&&Q.nodeType!==8||m.vc(k,Q)}),_(Y,W,function(Q){Q.nodeType!==1&&Q.nodeType!==8||m.aa.cd(Q,[k])}),m.a.Ua(G,J)}}function v(G){return G.nodeType?G:0<G.length?G[0]:null}function I(G,k,Y,W,J){J=J||{};var j=(G&&v(G)||Y||{}).ownerDocument,$=J.templateEngine||B;if(m.kc.xd(Y,$,j),Y=$.renderTemplate(Y,W,J,j),typeof Y.length!="number"||0<Y.length&&typeof Y[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(j=!1,k){case"replaceChildren":m.h.va(G,Y),j=!0;break;case"replaceNode":m.a.Xc(G,Y),j=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k)}return j&&(E(Y,W),J.afterRender&&m.u.G(J.afterRender,null,[Y,W[J.as||"$data"]]),k=="replaceChildren"&&m.i.ma(G,m.i.H)),Y}function N(G,k,Y){return m.O(G)?G():typeof G=="function"?G(k,Y):G}var B;m.gc=function(G){if(G!=e&&!(G instanceof m.ca))throw Error("templateEngine must inherit from ko.templateEngine");B=G},m.dc=function(G,k,Y,W,J){if(Y=Y||{},(Y.templateEngine||B)==e)throw Error("Set a template engine before calling renderTemplate");if(J=J||"replaceChildren",W){var j=v(W);return m.$(function(){var Q=k&&k instanceof m.fa?k:new m.fa(k,null,null,null,{exportDependencies:!0}),$=N(G,Q.$data,Q),Q=I(W,J,$,Q,Y);J=="replaceNode"&&(W=Q,j=v(W))},null,{Sa:function(){return!j||!m.a.Sb(j)},l:j&&J=="replaceNode"?j.parentNode:j})}return m.aa.Xb(function($){m.dc(G,k,Y,$,"replaceNode")})},m.Qd=function(G,k,Y,W,J){function j(xe,De){m.u.G(m.a.ec,null,[W,xe,Q,Y,$,De]),m.i.ma(W,m.i.H)}function $(xe,De){E(De,he),Y.afterRender&&Y.afterRender(De,xe),he=null}function Q(xe,De){he=J.createChildContext(xe,{as:ye,noChildContext:Y.noChildContext,extend:function(Oe){Oe.$index=De,ye&&(Oe[ye+"Index"]=De)}});var we=N(G,xe,he);return I(W,"ignoreTargetNode",we,he,Y)}var he,ye=Y.as,re=Y.includeDestroyed===!1||m.options.foreachHidesDestroyed&&!Y.includeDestroyed;if(re||Y.beforeRemove||!m.Pc(k))return m.$(function(){var xe=m.a.f(k)||[];typeof xe.length>"u"&&(xe=[xe]),re&&(xe=m.a.jb(xe,function(De){return De===e||De===null||!m.a.f(De._destroy)})),j(xe)},null,{l:W});j(k.v());var _e=k.subscribe(function(xe){j(k(),xe)},null,"arrayChange");return _e.l(W),_e};var z=m.a.g.Z(),V=m.a.g.Z();m.c.template={init:function(G,k){var Y=m.a.f(k());if(typeof Y=="string"||"name"in Y)m.h.Ea(G);else if("nodes"in Y){if(Y=Y.nodes||[],m.O(Y))throw Error('The "nodes" option must be a plain, non-observable array.');var W=Y[0]&&Y[0].parentNode;W&&m.a.g.get(W,V)||(W=m.a.Yb(Y),m.a.g.set(W,V,!0)),new m.C.ia(G).nodes(W)}else if(Y=m.h.childNodes(G),0<Y.length)W=m.a.Yb(Y),new m.C.ia(G).nodes(W);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(G,k,Y,W,J){var j=k();k=m.a.f(j),Y=!0,W=null,typeof k=="string"?k={}:(j="name"in k?k.name:G,"if"in k&&(Y=m.a.f(k.if)),Y&&"ifnot"in k&&(Y=!m.a.f(k.ifnot)),Y&&!j&&(Y=!1)),"foreach"in k?W=m.Qd(j,Y&&k.foreach||[],k,G,J):Y?(Y=J,"data"in k&&(Y=J.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),W=m.dc(j,Y,k,G)):m.h.Ea(G),J=W,(k=m.a.g.get(G,z))&&typeof k.s=="function"&&k.s(),m.a.g.set(G,z,!J||J.ja&&!J.ja()?e:J)}},m.m.Ra.template=function(G){return G=m.m.ac(G),G.length==1&&G[0].unknown||m.m.Id(G,"name")?null:"This template engine does not support anonymous templates nested within its templates"},m.h.ea.template=!0}(),m.b("setTemplateEngine",m.gc),m.b("renderTemplate",m.dc),m.a.Kc=function(_,E,v){if(_.length&&E.length){var I,N,B,z,V;for(I=N=0;(!v||I<v)&&(z=_[N]);++N){for(B=0;V=E[B];++B)if(z.value===V.value){z.moved=V.index,V.moved=z.index,E.splice(B,1),I=B=0;break}I+=B}}},m.a.Pb=function(){function _(E,v,I,N,B){var z=Math.min,V=Math.max,G=[],k,Y=E.length,W,J=v.length,j=J-Y||1,$=Y+J+1,Q,he,ye;for(k=0;k<=Y;k++)for(he=Q,G.push(Q=[]),ye=z(J,k+j),W=V(0,k-1);W<=ye;W++)Q[W]=W?k?E[k-1]===v[W-1]?he[W-1]:z(he[W]||$,Q[W-1]||$)+1:W+1:k+1;for(z=[],V=[],j=[],k=Y,W=J;k||W;)J=G[k][W]-1,W&&J===G[k][W-1]?V.push(z[z.length]={status:I,value:v[--W],index:W}):k&&J===G[k-1][W]?j.push(z[z.length]={status:N,value:E[--k],index:k}):(--W,--k,B.sparse||z.push({status:"retained",value:v[W]}));return m.a.Kc(j,V,!B.dontLimitMoves&&10*Y),z.reverse()}return function(E,v,I){return I=typeof I=="boolean"?{dontLimitMoves:I}:I||{},E=E||[],v=v||[],E.length<v.length?_(E,v,"added","deleted",I):_(v,E,"deleted","added",I)}}(),m.b("utils.compareArrays",m.a.Pb),function(){function _(I,N,B,z,V){var G=[],k=m.$(function(){var Y=N(B,V,m.a.Ua(G,I))||[];0<G.length&&(m.a.Xc(G,Y),z&&m.u.G(z,null,[B,Y,V])),G.length=0,m.a.Nb(G,Y)},null,{l:I,Sa:function(){return!m.a.kd(G)}});return{Y:G,$:k.ja()?k:e}}var E=m.a.g.Z(),v=m.a.g.Z();m.a.ec=function(I,N,B,z,V,G){function k(Xe){we={Aa:Xe,pb:m.ta(he++)},$.push(we),j||De.push(we)}function Y(Xe){we=J[Xe],he!==we.pb.v()&&xe.push(we),we.pb(he++),m.a.Ua(we.Y,I),$.push(we)}function W(Xe,kt){if(Xe)for(var Te=0,Ce=kt.length;Te<Ce;Te++)m.a.D(kt[Te].Y,function(Zt){Xe(Zt,Te,kt[Te].Aa)})}N=N||[],typeof N.length>"u"&&(N=[N]),z=z||{};var J=m.a.g.get(I,E),j=!J,$=[],Q=0,he=0,ye=[],re=[],_e=[],xe=[],De=[],we,Oe=0;if(j)m.a.D(N,k);else{if(!G||J&&J._countWaitingForRemove){var Me=m.a.Mb(J,function(Xe){return Xe.Aa});G=m.a.Pb(Me,N,{dontLimitMoves:z.dontLimitMoves,sparse:!0})}for(var Me=0,ht,it,At;ht=G[Me];Me++)switch(it=ht.moved,At=ht.index,ht.status){case"deleted":for(;Q<At;)Y(Q++);it===e&&(we=J[Q],we.$&&(we.$.s(),we.$=e),m.a.Ua(we.Y,I).length&&(z.beforeRemove&&($.push(we),Oe++,we.Aa===v?we=null:_e.push(we)),we&&ye.push.apply(ye,we.Y))),Q++;break;case"added":for(;he<At;)Y(Q++);it!==e?(re.push($.length),Y(it)):k(ht.value)}for(;he<N.length;)Y(Q++);$._countWaitingForRemove=Oe}m.a.g.set(I,E,$),W(z.beforeMove,xe),m.a.D(ye,z.beforeRemove?m.oa:m.removeNode);var Le,ke,$e;try{$e=I.ownerDocument.activeElement}catch{}if(re.length)for(;(Me=re.shift())!=e;){for(we=$[Me],Le=e;Me;)if((ke=$[--Me].Y)&&ke.length){Le=ke[ke.length-1];break}for(N=0;Q=we.Y[N];Le=Q,N++)m.h.Wb(I,Q,Le)}for(Me=0;we=$[Me];Me++){for(we.Y||m.a.extend(we,_(I,B,we.Aa,V,we.pb)),N=0;Q=we.Y[N];Le=Q,N++)m.h.Wb(I,Q,Le);!we.Ed&&V&&(V(we.Aa,we.Y,we.pb),we.Ed=!0,Le=we.Y[we.Y.length-1])}for($e&&I.ownerDocument.activeElement!=$e&&$e.focus(),W(z.beforeRemove,_e),Me=0;Me<_e.length;++Me)_e[Me].Aa=v;W(z.afterMove,xe),W(z.afterAdd,De)}}(),m.b("utils.setDomNodeChildrenFromArrayMapping",m.a.ec),m.ba=function(){this.allowTemplateRewriting=!1},m.ba.prototype=new m.ca,m.ba.prototype.constructor=m.ba,m.ba.prototype.renderTemplateSource=function(_,E,v,I){return(E=!(9>m.a.W)&&_.nodes?_.nodes():null)?m.a.la(E.cloneNode(!0).childNodes):(_=_.text(),m.a.ua(_,I))},m.ba.Ma=new m.ba,m.gc(m.ba.Ma),m.b("nativeTemplateEngine",m.ba),function(){m.$a=function(){var E=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(v,I,N,B){if(B=B||n,N=N||{},2>E)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var z=v.data("precompiled");return z||(z=v.text()||"",z=o.template(null,"{{ko_with $item.koBindingContext}}"+z+"{{/ko_with}}"),v.data("precompiled",z)),v=[I.$data],I=o.extend({koBindingContext:I},N.templateOptions),I=o.tmpl(z,v,I),I.appendTo(B.createElement("div")),o.fragments={},I},this.createJavaScriptEvaluatorBlock=function(v){return"{{ko_code ((function() { return "+v+" })()) }}"},this.addTemplate=function(v,I){n.write("<script type='text/html' id='"+v+"'>"+I+"<\/script>")},0<E&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},m.$a.prototype=new m.ca,m.$a.prototype.constructor=m.$a;var _=new m.$a;0<_.Hd&&m.gc(_),m.b("jqueryTmplTemplateEngine",m.$a)}()})})()})()})();var ACt=ko;typeof window<"u"?(ko=window.ko,typeof NP<"u"?window.ko=NP:delete window.ko):(ko=global.ko,typeof NP<"u"?global.ko=NP:delete global.ko);var RS=ACt;/** +Message: `+k.message,k}}}),m.ga.instance=new m.ga}(),m.b("bindingProvider",m.ga),function(){function _(re){var _e=(re=m.a.g.get(re,ye))&&re.N;_e&&(re.N=null,_e.Tc())}function E(re,_e,xe){this.node=re,this.yc=_e,this.kb=[],this.H=!1,_e.N||m.a.K.za(re,_),xe&&xe.N&&(xe.N.kb.push(re),this.Kb=xe)}function w(re){return function(){return re}}function I(re){return re()}function L(re){return m.a.Ga(m.u.G(re),function(_e,xe){return function(){return re()[xe]}})}function B(re,_e,xe){return typeof re=="function"?L(re.bind(null,_e,xe)):m.a.Ga(re,w)}function H(re,_e){return L(this.getBindings.bind(this,re,_e))}function V(re,_e){var xe=m.h.firstChild(_e);if(xe){var Ie,De=m.ga.instance,Ne=De.preprocessNode;if(Ne){for(;Ie=xe;)xe=m.h.nextSibling(Ie),Ne.call(De,Ie);xe=m.h.firstChild(_e)}for(;Ie=xe;)xe=m.h.nextSibling(Ie),G(re,Ie)}m.i.ma(_e,m.i.H)}function G(re,_e){var xe=re,Ie=_e.nodeType===1;Ie&&m.h.Sc(_e),(Ie||m.ga.instance.nodeHasBindings(_e))&&(xe=W(_e,null,re).bindingContextForDescendants),xe&&!Q[m.a.R(_e)]&&V(xe,_e)}function k(re){var _e=[],xe={},Ie=[];return m.a.P(re,function De(Ne){if(!xe[Ne]){var Ce=m.getBindingHandler(Ne);Ce&&(Ce.after&&(Ie.push(Ne),m.a.D(Ce.after,function(Be){if(re[Be]){if(m.a.A(Ie,Be)!==-1)throw Error("Cannot combine the following bindings, because they have a cyclic dependency: "+Ie.join(", "));De(Be)}}),Ie.length--),_e.push({key:Ne,Mc:Ce})),xe[Ne]=!0}}),_e}function W(re,_e,xe){var Ie=m.a.g.Ub(re,ye,{}),De=Ie.hd;if(!_e){if(De)throw Error("You cannot apply bindings multiple times to the same element.");Ie.hd=!0}De||(Ie.context=xe),Ie.Zb||(Ie.Zb={});var Ne;if(_e&&typeof _e!="function")Ne=_e;else{var Ce=m.ga.instance,Be=Ce.getBindingAccessors||H,Ve=m.$(function(){return(Ne=_e?_e(xe,re):Be.call(Ce,re,xe))&&(xe[J]&&xe[J](),xe[Z]&&xe[Z]()),Ne},null,{l:re});Ne&&Ve.ja()||(Ve=null)}var $e=xe,qe;if(Ne){var pt=function(){return m.a.Ga(Ve?Ve():Ne,I)},ht=Ve?function(yt){return function(){return I(Ve()[yt])}}:function(yt){return Ne[yt]};pt.get=function(yt){return Ne[yt]&&I(ht(yt))},pt.has=function(yt){return yt in Ne},m.i.H in Ne&&m.i.subscribe(re,m.i.H,function(){var yt=(0,Ne[m.i.H])();if(yt){var Jt=m.h.childNodes(re);Jt.length&&yt(Jt,m.Ec(Jt[0]))}}),m.i.pa in Ne&&($e=m.i.Cb(re,xe),m.i.subscribe(re,m.i.pa,function(){var yt=(0,Ne[m.i.pa])();yt&&m.h.firstChild(re)&&yt(re)})),Ie=k(Ne),m.a.D(Ie,function(yt){var Jt=yt.Mc.init,Te=yt.Mc.update,Ee=yt.key;if(re.nodeType===8&&!m.h.ea[Ee])throw Error("The binding '"+Ee+"' cannot be used with virtual elements");try{typeof Jt=="function"&&m.u.G(function(){var on=Jt(re,ht(Ee),pt,$e.$data,$e);if(on&&on.controlsDescendantBindings){if(qe!==e)throw Error("Multiple bindings ("+qe+" and "+Ee+") are trying to control descendant bindings of the same element. You cannot use these bindings together on the same element.");qe=Ee}}),typeof Te=="function"&&m.$(function(){Te(re,ht(Ee),pt,$e.$data,$e)},null,{l:re})}catch(on){throw on.message='Unable to process binding "'+Ee+": "+Ne[Ee]+`" +Message: `+on.message,on}})}return Ie=qe===e,{shouldBindDescendants:Ie,bindingContextForDescendants:Ie&&$e}}function Y(re,_e){return re&&re instanceof m.fa?re:new m.fa(re,e,e,_e)}var J=m.a.Da("_subscribable"),j=m.a.Da("_ancestorBindingInfo"),Z=m.a.Da("_dataDependency");m.c={};var Q={script:!0,textarea:!0,template:!0};m.getBindingHandler=function(re){return m.c[re]};var he={};m.fa=function(re,_e,xe,Ie,De){function Ne(){var ht=$e?Ve():Ve,yt=m.a.f(ht);return _e?(m.a.extend(Ce,_e),j in _e&&(Ce[j]=_e[j])):(Ce.$parents=[],Ce.$root=yt,Ce.ko=m),Ce[J]=qe,Be?yt=Ce.$data:(Ce.$rawData=ht,Ce.$data=yt),xe&&(Ce[xe]=yt),Ie&&Ie(Ce,_e,yt),_e&&_e[J]&&!m.S.o().Vb(_e[J])&&_e[J](),pt&&(Ce[Z]=pt),Ce.$data}var Ce=this,Be=re===he,Ve=Be?e:re,$e=typeof Ve=="function"&&!m.O(Ve),qe,pt=De&&De.dataDependency;De&&De.exportDependencies?Ne():(qe=m.xb(Ne),qe.v(),qe.ja()?qe.equalityComparer=null:Ce[J]=e)},m.fa.prototype.createChildContext=function(re,_e,xe,Ie){if(!Ie&&_e&&typeof _e=="object"&&(Ie=_e,_e=Ie.as,xe=Ie.extend),_e&&Ie&&Ie.noChildContext){var De=typeof re=="function"&&!m.O(re);return new m.fa(he,this,null,function(Ne){xe&&xe(Ne),Ne[_e]=De?re():re},Ie)}return new m.fa(re,this,_e,function(Ne,Ce){Ne.$parentContext=Ce,Ne.$parent=Ce.$data,Ne.$parents=(Ce.$parents||[]).slice(0),Ne.$parents.unshift(Ne.$parent),xe&&xe(Ne)},Ie)},m.fa.prototype.extend=function(re,_e){return new m.fa(he,this,null,function(xe){m.a.extend(xe,typeof re=="function"?re(xe):re)},_e)};var ye=m.a.g.Z();E.prototype.Tc=function(){this.Kb&&this.Kb.N&&this.Kb.N.sd(this.node)},E.prototype.sd=function(re){m.a.Pa(this.kb,re),!this.kb.length&&this.H&&this.Cc()},E.prototype.Cc=function(){this.H=!0,this.yc.N&&!this.kb.length&&(this.yc.N=null,m.a.K.yb(this.node,_),m.i.ma(this.node,m.i.pa),this.Tc())},m.i={H:"childrenComplete",pa:"descendantsComplete",subscribe:function(re,_e,xe,Ie,De){var Ne=m.a.g.Ub(re,ye,{});return Ne.Fa||(Ne.Fa=new m.T),De&&De.notifyImmediately&&Ne.Zb[_e]&&m.u.G(xe,Ie,[re]),Ne.Fa.subscribe(xe,Ie,_e)},ma:function(re,_e){var xe=m.a.g.get(re,ye);if(xe&&(xe.Zb[_e]=!0,xe.Fa&&xe.Fa.notifySubscribers(re,_e),_e==m.i.H)){if(xe.N)xe.N.Cc();else if(xe.N===e&&xe.Fa&&xe.Fa.Wa(m.i.pa))throw Error("descendantsComplete event not supported for bindings on this node")}},Cb:function(re,_e){var xe=m.a.g.Ub(re,ye,{});return xe.N||(xe.N=new E(re,xe,_e[j])),_e[j]==xe?_e:_e.extend(function(Ie){Ie[j]=xe})}},m.Td=function(re){return(re=m.a.g.get(re,ye))&&re.context},m.ib=function(re,_e,xe){return re.nodeType===1&&m.h.Sc(re),W(re,_e,Y(xe))},m.ld=function(re,_e,xe){return xe=Y(xe),m.ib(re,B(_e,xe,re),xe)},m.Oa=function(re,_e){_e.nodeType!==1&&_e.nodeType!==8||V(Y(re),_e)},m.vc=function(re,_e,xe){if(!o&&t.jQuery&&(o=t.jQuery),2>arguments.length){if(_e=n.body,!_e)throw Error("ko.applyBindings: could not find document.body; has the document been loaded?")}else if(!_e||_e.nodeType!==1&&_e.nodeType!==8)throw Error("ko.applyBindings: first parameter should be your view model; second parameter should be a DOM node");G(Y(re,xe),_e)},m.Dc=function(re){return!re||re.nodeType!==1&&re.nodeType!==8?e:m.Td(re)},m.Ec=function(re){return(re=m.Dc(re))?re.$data:e},m.b("bindingHandlers",m.c),m.b("bindingEvent",m.i),m.b("bindingEvent.subscribe",m.i.subscribe),m.b("bindingEvent.startPossiblyAsyncContentBinding",m.i.Cb),m.b("applyBindings",m.vc),m.b("applyBindingsToDescendants",m.Oa),m.b("applyBindingAccessorsToNode",m.ib),m.b("applyBindingsToNode",m.ld),m.b("contextFor",m.Dc),m.b("dataFor",m.Ec)}(),function(_){function E(H,V){var G=Object.prototype.hasOwnProperty.call(L,H)?L[H]:_,k;G?G.subscribe(V):(G=L[H]=new m.T,G.subscribe(V),w(H,function(W,Y){var J=!(!Y||!Y.synchronous);B[H]={definition:W,Gd:J},delete L[H],k||J?G.notifySubscribers(W):m.na.zb(function(){G.notifySubscribers(W)})}),k=!0)}function w(H,V){I("getConfig",[H],function(G){G?I("loadComponent",[H,G],function(k){V(k,G)}):V(null,null)})}function I(H,V,G,k){k||(k=m.j.loaders.slice(0));var W=k.shift();if(W){var Y=W[H];if(Y){var J=!1;if(Y.apply(W,V.concat(function(j){J?G(null):j!==null?G(j):I(H,V,G,k)}))!==_&&(J=!0,!W.suppressLoaderExceptions))throw Error("Component loaders must supply values by invoking the callback, not by returning values synchronously.")}else I(H,V,G,k)}else G(null)}var L={},B={};m.j={get:function(H,V){var G=Object.prototype.hasOwnProperty.call(B,H)?B[H]:_;G?G.Gd?m.u.G(function(){V(G.definition)}):m.na.zb(function(){V(G.definition)}):E(H,V)},Bc:function(H){delete B[H]},oc:I},m.j.loaders=[],m.b("components",m.j),m.b("components.get",m.j.get),m.b("components.clearCachedDefinition",m.j.Bc)}(),function(){function _(G,k,W,Y){function J(){--Z===0&&Y(j)}var j={},Z=2,Q=W.template;W=W.viewModel,Q?L(k,Q,function(he){m.j.oc("loadTemplate",[G,he],function(ye){j.template=ye,J()})}):J(),W?L(k,W,function(he){m.j.oc("loadViewModel",[G,he],function(ye){j[V]=ye,J()})}):J()}function E(G,k,W){if(typeof k=="function")W(function(J){return new k(J)});else if(typeof k[V]=="function")W(k[V]);else if("instance"in k){var Y=k.instance;W(function(){return Y})}else"viewModel"in k?E(G,k.viewModel,W):G("Unknown viewModel value: "+k)}function w(G){switch(m.a.R(G)){case"script":return m.a.ua(G.text);case"textarea":return m.a.ua(G.value);case"template":if(I(G.content))return m.a.Ca(G.content.childNodes)}return m.a.Ca(G.childNodes)}function I(G){return t.DocumentFragment?G instanceof DocumentFragment:G&&G.nodeType===11}function L(G,k,W){typeof k.require=="string"?a||t.require?(a||t.require)([k.require],function(Y){Y&&typeof Y=="object"&&Y.Xd&&Y.default&&(Y=Y.default),W(Y)}):G("Uses require, but no AMD loader is present"):W(k)}function B(G){return function(k){throw Error("Component '"+G+"': "+k)}}var H={};m.j.register=function(G,k){if(!k)throw Error("Invalid configuration for "+G);if(m.j.tb(G))throw Error("Component "+G+" is already registered");H[G]=k},m.j.tb=function(G){return Object.prototype.hasOwnProperty.call(H,G)},m.j.unregister=function(G){delete H[G],m.j.Bc(G)},m.j.Fc={getConfig:function(G,k){k(m.j.tb(G)?H[G]:null)},loadComponent:function(G,k,W){var Y=B(G);L(Y,k,function(J){_(G,Y,J,W)})},loadTemplate:function(G,k,W){if(G=B(G),typeof k=="string")W(m.a.ua(k));else if(k instanceof Array)W(k);else if(I(k))W(m.a.la(k.childNodes));else if(k.element)if(k=k.element,t.HTMLElement?k instanceof HTMLElement:k&&k.tagName&&k.nodeType===1)W(w(k));else if(typeof k=="string"){var Y=n.getElementById(k);Y?W(w(Y)):G("Cannot find element with ID "+k)}else G("Unknown element type: "+k);else G("Unknown template value: "+k)},loadViewModel:function(G,k,W){E(B(G),k,W)}};var V="createViewModel";m.b("components.register",m.j.register),m.b("components.isRegistered",m.j.tb),m.b("components.unregister",m.j.unregister),m.b("components.defaultLoader",m.j.Fc),m.j.loaders.push(m.j.Fc),m.j.dd=H}(),function(){function _(w,I){var L=w.getAttribute("params");if(L){var L=E.parseBindingsString(L,I,w,{valueAccessors:!0,bindingParams:!0}),L=m.a.Ga(L,function(V){return m.o(V,null,{l:w})}),B=m.a.Ga(L,function(V){var G=V.v();return V.ja()?m.o({read:function(){return m.a.f(V())},write:m.Za(G)&&function(k){V()(k)},l:w}):G});return Object.prototype.hasOwnProperty.call(B,"$raw")||(B.$raw=L),B}return{$raw:{}}}m.j.getComponentNameForNode=function(w){var I=m.a.R(w);if(m.j.tb(I)&&(I.indexOf("-")!=-1||""+w=="[object HTMLUnknownElement]"||8>=m.a.W&&w.tagName===I))return I},m.j.tc=function(w,I,L,B){if(I.nodeType===1){var H=m.j.getComponentNameForNode(I);if(H){if(w=w||{},w.component)throw Error('Cannot use the "component" binding on a custom element matching a component');var V={name:H,params:_(I,L)};w.component=B?function(){return V}:V}}return w};var E=new m.ga;9>m.a.W&&(m.j.register=function(w){return function(I){return w.apply(this,arguments)}}(m.j.register),n.createDocumentFragment=function(w){return function(){var I=w(),L=m.j.dd,B;for(B in L);return I}}(n.createDocumentFragment))}(),function(){function _(I,L,B){if(L=L.template,!L)throw Error("Component '"+I+"' has no template");I=m.a.Ca(L),m.h.va(B,I)}function E(I,L,B){var H=I.createViewModel;return H?H.call(I,L,B):L}var w=0;m.c.component={init:function(I,L,B,H,V){function G(){var j=k&&k.dispose;typeof j=="function"&&j.call(k),Y&&Y.s(),W=k=Y=null}var k,W,Y,J=m.a.la(m.h.childNodes(I));return m.h.Ea(I),m.a.K.za(I,G),m.o(function(){var j=m.a.f(L()),Z,Q;if(typeof j=="string"?Z=j:(Z=m.a.f(j.name),Q=m.a.f(j.params)),!Z)throw Error("No component name specified");var he=m.i.Cb(I,V),ye=W=++w;m.j.get(Z,function(re){if(W===ye){if(G(),!re)throw Error("Unknown component '"+Z+"'");_(Z,re,I);var _e=E(re,Q,{element:I,templateNodes:J});re=he.createChildContext(_e,{extend:function(xe){xe.$component=_e,xe.$componentTemplateNodes=J}}),_e&&_e.koDescendantsComplete&&(Y=m.i.subscribe(I,m.i.pa,_e.koDescendantsComplete,_e)),k=_e,m.Oa(re,I)}})},null,{l:I}),{controlsDescendantBindings:!0}}},m.h.ea.component=!0}();var M={class:"className",for:"htmlFor"};m.c.attr={update:function(_,E){var w=m.a.f(E())||{};m.a.P(w,function(I,L){L=m.a.f(L);var B=I.indexOf(":"),B="lookupNamespaceURI"in _&&0<B&&_.lookupNamespaceURI(I.substr(0,B)),H=L===!1||L===null||L===e;H?B?_.removeAttributeNS(B,I):_.removeAttribute(I):L=L.toString(),8>=m.a.W&&I in M?(I=M[I],H?_.removeAttribute(I):_[I]=L):H||(B?_.setAttributeNS(B,I,L):_.setAttribute(I,L)),I==="name"&&m.a.Yc(_,H?"":L)})}},function(){m.c.checked={after:["value","attr"],init:function(_,E,w){function I(){var j=_.checked,Z=B();if(!m.S.Ya()&&(j||!V&&!m.S.qa())){var Q=m.u.G(E);if(k){var he=W?Q.v():Q,ye=J;J=Z,ye!==Z?j&&(m.a.Na(he,Z,!0),m.a.Na(he,ye,!1)):m.a.Na(he,Z,j),W&&m.Za(Q)&&Q(he)}else H&&(Z===e?Z=j:j||(Z=e)),m.m.eb(Q,w,"checked",Z,!0)}}function L(){var j=m.a.f(E()),Z=B();k?(_.checked=0<=m.a.A(j,Z),J=Z):_.checked=H&&Z===e?!!j:B()===j}var B=m.xb(function(){if(w.has("checkedValue"))return m.a.f(w.get("checkedValue"));if(Y)return w.has("value")?m.a.f(w.get("value")):_.value}),H=_.type=="checkbox",V=_.type=="radio";if(H||V){var G=E(),k=H&&m.a.f(G)instanceof Array,W=!(k&&G.push&&G.splice),Y=V||k,J=k?B():e;V&&!_.name&&m.c.uniqueName.init(_,function(){return!0}),m.o(I,null,{l:_}),m.a.B(_,"click",I),m.o(L,null,{l:_}),G=e}}},m.m.wa.checked=!0,m.c.checkedValue={update:function(_,E){_.value=m.a.f(E())}}}(),m.c.class={update:function(_,E){var w=m.a.Db(m.a.f(E()));m.a.Eb(_,_.__ko__cssValue,!1),_.__ko__cssValue=w,m.a.Eb(_,w,!0)}},m.c.css={update:function(_,E){var w=m.a.f(E());w!==null&&typeof w=="object"?m.a.P(w,function(I,L){L=m.a.f(L),m.a.Eb(_,I,L)}):m.c.class.update(_,E)}},m.c.enable={update:function(_,E){var w=m.a.f(E());w&&_.disabled?_.removeAttribute("disabled"):w||_.disabled||(_.disabled=!0)}},m.c.disable={update:function(_,E){m.c.enable.update(_,function(){return!m.a.f(E())})}},m.c.event={init:function(_,E,w,I,L){var B=E()||{};m.a.P(B,function(H){typeof H=="string"&&m.a.B(_,H,function(V){var G,k=E()[H];if(k){try{var W=m.a.la(arguments);I=L.$data,W.unshift(I),G=k.apply(I,W)}finally{G!==!0&&(V.preventDefault?V.preventDefault():V.returnValue=!1)}w.get(H+"Bubble")===!1&&(V.cancelBubble=!0,V.stopPropagation&&V.stopPropagation())}})})}},m.c.foreach={Rc:function(_){return function(){var E=_(),w=m.a.bc(E);return!w||typeof w.length=="number"?{foreach:E,templateEngine:m.ba.Ma}:(m.a.f(E),{foreach:w.data,as:w.as,noChildContext:w.noChildContext,includeDestroyed:w.includeDestroyed,afterAdd:w.afterAdd,beforeRemove:w.beforeRemove,afterRender:w.afterRender,beforeMove:w.beforeMove,afterMove:w.afterMove,templateEngine:m.ba.Ma})}},init:function(_,E){return m.c.template.init(_,m.c.foreach.Rc(E))},update:function(_,E,w,I,L){return m.c.template.update(_,m.c.foreach.Rc(E),w,I,L)}},m.m.Ra.foreach=!1,m.h.ea.foreach=!0,m.c.hasfocus={init:function(_,E,w){function I(H){_.__ko_hasfocusUpdating=!0;var V=_.ownerDocument;if("activeElement"in V){var G;try{G=V.activeElement}catch{G=V.body}H=G===_}V=E(),m.m.eb(V,w,"hasfocus",H,!0),_.__ko_hasfocusLastValue=H,_.__ko_hasfocusUpdating=!1}var L=I.bind(null,!0),B=I.bind(null,!1);m.a.B(_,"focus",L),m.a.B(_,"focusin",L),m.a.B(_,"blur",B),m.a.B(_,"focusout",B),_.__ko_hasfocusLastValue=!1},update:function(_,E){var w=!!m.a.f(E());_.__ko_hasfocusUpdating||_.__ko_hasfocusLastValue===w||(w?_.focus():_.blur(),!w&&_.__ko_hasfocusLastValue&&_.ownerDocument.body.focus(),m.u.G(m.a.Fb,null,[_,w?"focusin":"focusout"]))}},m.m.wa.hasfocus=!0,m.c.hasFocus=m.c.hasfocus,m.m.wa.hasFocus="hasfocus",m.c.html={init:function(){return{controlsDescendantBindings:!0}},update:function(_,E){m.a.fc(_,E())}},function(){function _(E,w,I){m.c[E]={init:function(L,B,H,V,G){var k,W,Y={},J,j,Z;if(w){V=H.get("as");var Q=H.get("noChildContext");Z=!(V&&Q),Y={as:V,noChildContext:Q,exportDependencies:Z}}return j=(J=H.get("completeOn")=="render")||H.has(m.i.pa),m.o(function(){var he=m.a.f(B()),ye=!I!=!he,re=!W,_e;(Z||ye!==k)&&(j&&(G=m.i.Cb(L,G)),ye&&((!w||Z)&&(Y.dataDependency=m.S.o()),_e=w?G.createChildContext(typeof he=="function"?he:B,Y):m.S.qa()?G.extend(null,Y):G),re&&m.S.qa()&&(W=m.a.Ca(m.h.childNodes(L),!0)),ye?(re||m.h.va(L,m.a.Ca(W)),m.Oa(_e,L)):(m.h.Ea(L),J||m.i.ma(L,m.i.H)),k=ye)},null,{l:L}),{controlsDescendantBindings:!0}}},m.m.Ra[E]=!1,m.h.ea[E]=!0}_("if"),_("ifnot",!1,!0),_("with",!0)}(),m.c.let={init:function(_,E,w,I,L){return E=L.extend(E),m.Oa(E,_),{controlsDescendantBindings:!0}}},m.h.ea.let=!0;var N={};m.c.options={init:function(_){if(m.a.R(_)!=="select")throw Error("options binding applies only to SELECT elements");for(;0<_.length;)_.remove(0);return{controlsDescendantBindings:!0}},update:function(_,E,w){function I(){return m.a.jb(_.options,function(Q){return Q.selected})}function L(Q,he,ye){var re=typeof he;return re=="function"?he(Q):re=="string"?Q[he]:ye}function B(Q,he){if(j&&k)m.i.ma(_,m.i.H);else if(J.length){var ye=0<=m.a.A(J,m.w.M(he[0]));m.a.Zc(he[0],ye),j&&!ye&&m.u.G(m.a.Fb,null,[_,"change"])}}var H=_.multiple,V=_.length!=0&&H?_.scrollTop:null,G=m.a.f(E()),k=w.get("valueAllowUnset")&&w.has("value"),W=w.get("optionsIncludeDestroyed");E={};var Y,J=[];k||(H?J=m.a.Mb(I(),m.w.M):0<=_.selectedIndex&&J.push(m.w.M(_.options[_.selectedIndex]))),G&&(typeof G.length>"u"&&(G=[G]),Y=m.a.jb(G,function(Q){return W||Q===e||Q===null||!m.a.f(Q._destroy)}),w.has("optionsCaption")&&(G=m.a.f(w.get("optionsCaption")),G!==null&&G!==e&&Y.unshift(N)));var j=!1;if(E.beforeRemove=function(Q){_.removeChild(Q)},G=B,w.has("optionsAfterRender")&&typeof w.get("optionsAfterRender")=="function"&&(G=function(Q,he){B(0,he),m.u.G(w.get("optionsAfterRender"),null,[he[0],Q!==N?Q:e])}),m.a.ec(_,Y,function(Q,he,ye){return ye.length&&(J=!k&&ye[0].selected?[m.w.M(ye[0])]:[],j=!0),he=_.ownerDocument.createElement("option"),Q===N?(m.a.Bb(he,w.get("optionsCaption")),m.w.cb(he,e)):(ye=L(Q,w.get("optionsValue"),Q),m.w.cb(he,m.a.f(ye)),Q=L(Q,w.get("optionsText"),ye),m.a.Bb(he,Q)),[he]},E,G),!k){var Z;H?Z=J.length&&I().length<J.length:Z=J.length&&0<=_.selectedIndex?m.w.M(_.options[_.selectedIndex])!==J[0]:J.length||0<=_.selectedIndex,Z&&m.u.G(m.a.Fb,null,[_,"change"])}(k||m.S.Ya())&&m.i.ma(_,m.i.H),m.a.wd(_),V&&20<Math.abs(V-_.scrollTop)&&(_.scrollTop=V)}},m.c.options.$b=m.a.g.Z(),m.c.selectedOptions={init:function(_,E,w){function I(){var H=E(),V=[];m.a.D(_.getElementsByTagName("option"),function(G){G.selected&&V.push(m.w.M(G))}),m.m.eb(H,w,"selectedOptions",V)}function L(){var H=m.a.f(E()),V=_.scrollTop;H&&typeof H.length=="number"&&m.a.D(_.getElementsByTagName("option"),function(G){var k=0<=m.a.A(H,m.w.M(G));G.selected!=k&&m.a.Zc(G,k)}),_.scrollTop=V}if(m.a.R(_)!="select")throw Error("selectedOptions binding applies only to SELECT elements");var B;m.i.subscribe(_,m.i.H,function(){B?I():(m.a.B(_,"change",I),B=m.o(L,null,{l:_}))},null,{notifyImmediately:!0})},update:function(){}},m.m.wa.selectedOptions=!0,m.c.style={update:function(_,E){var w=m.a.f(E()||{});m.a.P(w,function(I,L){if(L=m.a.f(L),(L===null||L===e||L===!1)&&(L=""),o)o(_).css(I,L);else if(/^--/.test(I))_.style.setProperty(I,L);else{I=I.replace(/-(\w)/g,function(H,V){return V.toUpperCase()});var B=_.style[I];_.style[I]=L,L===B||_.style[I]!=B||isNaN(L)||(_.style[I]=L+"px")}})}},m.c.submit={init:function(_,E,w,I,L){if(typeof E()!="function")throw Error("The value for a submit binding must be a function");m.a.B(_,"submit",function(B){var H,V=E();try{H=V.call(L.$data,_)}finally{H!==!0&&(B.preventDefault?B.preventDefault():B.returnValue=!1)}})}},m.c.text={init:function(){return{controlsDescendantBindings:!0}},update:function(_,E){m.a.Bb(_,E())}},m.h.ea.text=!0,function(){if(t&&t.navigator){var _=function(Y){if(Y)return parseFloat(Y[1])},E=t.navigator.userAgent,w,I,L,B,H;(w=t.opera&&t.opera.version&&parseInt(t.opera.version()))||(H=_(E.match(/Edge\/([^ ]+)$/)))||_(E.match(/Chrome\/([^ ]+)/))||(I=_(E.match(/Version\/([^ ]+) Safari/)))||(L=_(E.match(/Firefox\/([^ ]+)/)))||(B=m.a.W||_(E.match(/MSIE ([^ ]+)/)))||(B=_(E.match(/rv:([^ )]+)/)))}if(8<=B&&10>B)var V=m.a.g.Z(),G=m.a.g.Z(),k=function(Y){var J=this.activeElement;(J=J&&m.a.g.get(J,G))&&J(Y)},W=function(Y,J){var j=Y.ownerDocument;m.a.g.get(j,V)||(m.a.g.set(j,V,!0),m.a.B(j,"selectionchange",k)),m.a.g.set(Y,G,J)};m.c.textInput={init:function(Y,J,j){function Z(Ne,Ce){m.a.B(Y,Ne,Ce)}function Q(){var Ne=m.a.f(J());(Ne===null||Ne===e)&&(Ne=""),xe!==e&&Ne===xe?m.a.setTimeout(Q,4):Y.value!==Ne&&(De=!0,Y.value=Ne,De=!1,re=Y.value)}function he(){_e||(xe=Y.value,_e=m.a.setTimeout(ye,4))}function ye(){clearTimeout(_e),xe=_e=e;var Ne=Y.value;re!==Ne&&(re=Ne,m.m.eb(J(),j,"textInput",Ne))}var re=Y.value,_e,xe,Ie=m.a.W==9?he:ye,De=!1;B&&Z("keypress",ye),11>B&&Z("propertychange",function(Ne){De||Ne.propertyName!=="value"||Ie(Ne)}),B==8&&(Z("keyup",ye),Z("keydown",ye)),W&&(W(Y,Ie),Z("dragend",he)),(!B||9<=B)&&Z("input",Ie),5>I&&m.a.R(Y)==="textarea"?(Z("keydown",he),Z("paste",he),Z("cut",he)):11>w?Z("keydown",he):4>L?(Z("DOMAutoComplete",ye),Z("dragdrop",ye),Z("drop",ye)):H&&Y.type==="number"&&Z("keydown",he),Z("change",ye),Z("blur",ye),m.o(Q,null,{l:Y})}},m.m.wa.textInput=!0,m.c.textinput={preprocess:function(Y,J,j){j("textInput",Y)}}}(),m.c.uniqueName={init:function(_,E){if(E()){var w="ko_unique_"+ ++m.c.uniqueName.rd;m.a.Yc(_,w)}}},m.c.uniqueName.rd=0,m.c.using={init:function(_,E,w,I,L){var B;return w.has("as")&&(B={as:w.get("as"),noChildContext:w.get("noChildContext")}),E=L.createChildContext(E,B),m.Oa(E,_),{controlsDescendantBindings:!0}}},m.h.ea.using=!0,m.c.value={init:function(_,E,w){var I=m.a.R(_),L=I=="input";if(!L||_.type!="checkbox"&&_.type!="radio"){var B=[],H=w.get("valueUpdate"),V=!1,G=null;H&&(typeof H=="string"?B=[H]:B=m.a.wc(H),m.a.Pa(B,"change"));var k=function(){G=null,V=!1;var J=E(),j=m.w.M(_);m.m.eb(J,w,"value",j)};!m.a.W||!L||_.type!="text"||_.autocomplete=="off"||_.form&&_.form.autocomplete=="off"||m.a.A(B,"propertychange")!=-1||(m.a.B(_,"propertychange",function(){V=!0}),m.a.B(_,"focus",function(){V=!1}),m.a.B(_,"blur",function(){V&&k()})),m.a.D(B,function(J){var j=k;m.a.Ud(J,"after")&&(j=function(){G=m.w.M(_),m.a.setTimeout(k,0)},J=J.substring(5)),m.a.B(_,J,j)});var W;if(W=L&&_.type=="file"?function(){var J=m.a.f(E());J===null||J===e||J===""?_.value="":m.u.G(k)}:function(){var J=m.a.f(E()),j=m.w.M(_);G!==null&&J===G?m.a.setTimeout(W,0):(J!==j||j===e)&&(I==="select"?(j=w.get("valueAllowUnset"),m.w.cb(_,J,j),j||J===m.w.M(_)||m.u.G(k)):m.w.cb(_,J))},I==="select"){var Y;m.i.subscribe(_,m.i.H,function(){Y?w.get("valueAllowUnset")?W():k():(m.a.B(_,"change",k),Y=m.o(W,null,{l:_}))},null,{notifyImmediately:!0})}else m.a.B(_,"change",k),m.o(W,null,{l:_})}else m.ib(_,{checkedValue:E})},update:function(){}},m.m.wa.value=!0,m.c.visible={update:function(_,E){var w=m.a.f(E()),I=_.style.display!="none";w&&!I?_.style.display="":!w&&I&&(_.style.display="none")}},m.c.hidden={update:function(_,E){m.c.visible.update(_,function(){return!m.a.f(E())})}},function(_){m.c[_]={init:function(E,w,I,L,B){return m.c.event.init.call(this,E,function(){var H={};return H[_]=w(),H},I,L,B)}}}("click"),m.ca=function(){},m.ca.prototype.renderTemplateSource=function(){throw Error("Override renderTemplateSource")},m.ca.prototype.createJavaScriptEvaluatorBlock=function(){throw Error("Override createJavaScriptEvaluatorBlock")},m.ca.prototype.makeTemplateSource=function(_,E){if(typeof _=="string"){E=E||n;var w=E.getElementById(_);if(!w)throw Error("Cannot find template with ID "+_);return new m.C.F(w)}if(_.nodeType==1||_.nodeType==8)return new m.C.ia(_);throw Error("Unknown template type: "+_)},m.ca.prototype.renderTemplate=function(_,E,w,I){return _=this.makeTemplateSource(_,I),this.renderTemplateSource(_,E,w,I)},m.ca.prototype.isTemplateRewritten=function(_,E){return this.allowTemplateRewriting===!1?!0:this.makeTemplateSource(_,E).data("isRewritten")},m.ca.prototype.rewriteTemplate=function(_,E,w){_=this.makeTemplateSource(_,w),E=E(_.text()),_.text(E),_.data("isRewritten",!0)},m.b("templateEngine",m.ca),m.kc=function(){function _(I,L,B,H){I=m.m.ac(I);for(var V=m.m.Ra,G=0;G<I.length;G++){var k=I[G].key;if(Object.prototype.hasOwnProperty.call(V,k)){var W=V[k];if(typeof W=="function"){if(k=W(I[G].value))throw Error(k)}else if(!W)throw Error("This template engine does not support the '"+k+"' binding within its templates")}}return B="ko.__tr_ambtns(function($context,$element){return(function(){return{ "+m.m.vb(I,{valueAccessors:!0})+" } })()},'"+B.toLowerCase()+"')",H.createJavaScriptEvaluatorBlock(B)+L}var E=/(<([a-z]+\d*)(?:\s+(?!data-bind\s*=\s*)[a-z0-9\-]+(?:=(?:\"[^\"]*\"|\'[^\']*\'|[^>]*))?)*\s+)data-bind\s*=\s*(["'])([\s\S]*?)\3/gi,w=/\x3c!--\s*ko\b\s*([\s\S]*?)\s*--\x3e/g;return{xd:function(I,L,B){L.isTemplateRewritten(I,B)||L.rewriteTemplate(I,function(H){return m.kc.Ld(H,L)},B)},Ld:function(I,L){return I.replace(E,function(B,H,V,G,k){return _(k,H,V,L)}).replace(w,function(B,H){return _(H,"<!-- ko -->","#comment",L)})},md:function(I,L){return m.aa.Xb(function(B,H){var V=B.nextSibling;V&&V.nodeName.toLowerCase()===L&&m.ib(V,I,H)})}}}(),m.b("__tr_ambtns",m.kc.md),function(){m.C={},m.C.F=function(w){if(this.F=w){var I=m.a.R(w);this.ab=I==="script"?1:I==="textarea"?2:I=="template"&&w.content&&w.content.nodeType===11?3:4}},m.C.F.prototype.text=function(){var w=this.ab===1?"text":this.ab===2?"value":"innerHTML";if(arguments.length==0)return this.F[w];var I=arguments[0];w==="innerHTML"?m.a.fc(this.F,I):this.F[w]=I};var _=m.a.g.Z()+"_";m.C.F.prototype.data=function(w){if(arguments.length===1)return m.a.g.get(this.F,_+w);m.a.g.set(this.F,_+w,arguments[1])};var E=m.a.g.Z();m.C.F.prototype.nodes=function(){var w=this.F;if(arguments.length==0){var I=m.a.g.get(w,E)||{},L=I.lb||(this.ab===3?w.content:this.ab===4?w:e);if(!L||I.jd){var B=this.text();B&&B!==I.bb&&(L=m.a.Md(B,w.ownerDocument),m.a.g.set(w,E,{lb:L,bb:B,jd:!0}))}return L}I=arguments[0],this.ab!==e&&this.text(""),m.a.g.set(w,E,{lb:I})},m.C.ia=function(w){this.F=w},m.C.ia.prototype=new m.C.F,m.C.ia.prototype.constructor=m.C.ia,m.C.ia.prototype.text=function(){if(arguments.length==0){var w=m.a.g.get(this.F,E)||{};return w.bb===e&&w.lb&&(w.bb=w.lb.innerHTML),w.bb}m.a.g.set(this.F,E,{bb:arguments[0]})},m.b("templateSources",m.C),m.b("templateSources.domElement",m.C.F),m.b("templateSources.anonymousTemplate",m.C.ia)}(),function(){function _(G,k,W){var Y;for(k=m.h.nextSibling(k);G&&(Y=G)!==k;)G=m.h.nextSibling(Y),W(Y,G)}function E(G,k){if(G.length){var W=G[0],Y=G[G.length-1],J=W.parentNode,j=m.ga.instance,Z=j.preprocessNode;if(Z){if(_(W,Y,function(Q,he){var ye=Q.previousSibling,re=Z.call(j,Q);re&&(Q===W&&(W=re[0]||he),Q===Y&&(Y=re[re.length-1]||ye))}),G.length=0,!W)return;W===Y?G.push(W):(G.push(W,Y),m.a.Ua(G,J))}_(W,Y,function(Q){Q.nodeType!==1&&Q.nodeType!==8||m.vc(k,Q)}),_(W,Y,function(Q){Q.nodeType!==1&&Q.nodeType!==8||m.aa.cd(Q,[k])}),m.a.Ua(G,J)}}function w(G){return G.nodeType?G:0<G.length?G[0]:null}function I(G,k,W,Y,J){J=J||{};var j=(G&&w(G)||W||{}).ownerDocument,Z=J.templateEngine||B;if(m.kc.xd(W,Z,j),W=Z.renderTemplate(W,Y,J,j),typeof W.length!="number"||0<W.length&&typeof W[0].nodeType!="number")throw Error("Template engine must return an array of DOM nodes");switch(j=!1,k){case"replaceChildren":m.h.va(G,W),j=!0;break;case"replaceNode":m.a.Xc(G,W),j=!0;break;case"ignoreTargetNode":break;default:throw Error("Unknown renderMode: "+k)}return j&&(E(W,Y),J.afterRender&&m.u.G(J.afterRender,null,[W,Y[J.as||"$data"]]),k=="replaceChildren"&&m.i.ma(G,m.i.H)),W}function L(G,k,W){return m.O(G)?G():typeof G=="function"?G(k,W):G}var B;m.gc=function(G){if(G!=e&&!(G instanceof m.ca))throw Error("templateEngine must inherit from ko.templateEngine");B=G},m.dc=function(G,k,W,Y,J){if(W=W||{},(W.templateEngine||B)==e)throw Error("Set a template engine before calling renderTemplate");if(J=J||"replaceChildren",Y){var j=w(Y);return m.$(function(){var Q=k&&k instanceof m.fa?k:new m.fa(k,null,null,null,{exportDependencies:!0}),Z=L(G,Q.$data,Q),Q=I(Y,J,Z,Q,W);J=="replaceNode"&&(Y=Q,j=w(Y))},null,{Sa:function(){return!j||!m.a.Sb(j)},l:j&&J=="replaceNode"?j.parentNode:j})}return m.aa.Xb(function(Z){m.dc(G,k,W,Z,"replaceNode")})},m.Qd=function(G,k,W,Y,J){function j(xe,Ie){m.u.G(m.a.ec,null,[Y,xe,Q,W,Z,Ie]),m.i.ma(Y,m.i.H)}function Z(xe,Ie){E(Ie,he),W.afterRender&&W.afterRender(Ie,xe),he=null}function Q(xe,Ie){he=J.createChildContext(xe,{as:ye,noChildContext:W.noChildContext,extend:function(Ne){Ne.$index=Ie,ye&&(Ne[ye+"Index"]=Ie)}});var De=L(G,xe,he);return I(Y,"ignoreTargetNode",De,he,W)}var he,ye=W.as,re=W.includeDestroyed===!1||m.options.foreachHidesDestroyed&&!W.includeDestroyed;if(re||W.beforeRemove||!m.Pc(k))return m.$(function(){var xe=m.a.f(k)||[];typeof xe.length>"u"&&(xe=[xe]),re&&(xe=m.a.jb(xe,function(Ie){return Ie===e||Ie===null||!m.a.f(Ie._destroy)})),j(xe)},null,{l:Y});j(k.v());var _e=k.subscribe(function(xe){j(k(),xe)},null,"arrayChange");return _e.l(Y),_e};var H=m.a.g.Z(),V=m.a.g.Z();m.c.template={init:function(G,k){var W=m.a.f(k());if(typeof W=="string"||"name"in W)m.h.Ea(G);else if("nodes"in W){if(W=W.nodes||[],m.O(W))throw Error('The "nodes" option must be a plain, non-observable array.');var Y=W[0]&&W[0].parentNode;Y&&m.a.g.get(Y,V)||(Y=m.a.Yb(W),m.a.g.set(Y,V,!0)),new m.C.ia(G).nodes(Y)}else if(W=m.h.childNodes(G),0<W.length)Y=m.a.Yb(W),new m.C.ia(G).nodes(Y);else throw Error("Anonymous template defined, but no template content was provided");return{controlsDescendantBindings:!0}},update:function(G,k,W,Y,J){var j=k();k=m.a.f(j),W=!0,Y=null,typeof k=="string"?k={}:(j="name"in k?k.name:G,"if"in k&&(W=m.a.f(k.if)),W&&"ifnot"in k&&(W=!m.a.f(k.ifnot)),W&&!j&&(W=!1)),"foreach"in k?Y=m.Qd(j,W&&k.foreach||[],k,G,J):W?(W=J,"data"in k&&(W=J.createChildContext(k.data,{as:k.as,noChildContext:k.noChildContext,exportDependencies:!0})),Y=m.dc(j,W,k,G)):m.h.Ea(G),J=Y,(k=m.a.g.get(G,H))&&typeof k.s=="function"&&k.s(),m.a.g.set(G,H,!J||J.ja&&!J.ja()?e:J)}},m.m.Ra.template=function(G){return G=m.m.ac(G),G.length==1&&G[0].unknown||m.m.Id(G,"name")?null:"This template engine does not support anonymous templates nested within its templates"},m.h.ea.template=!0}(),m.b("setTemplateEngine",m.gc),m.b("renderTemplate",m.dc),m.a.Kc=function(_,E,w){if(_.length&&E.length){var I,L,B,H,V;for(I=L=0;(!w||I<w)&&(H=_[L]);++L){for(B=0;V=E[B];++B)if(H.value===V.value){H.moved=V.index,V.moved=H.index,E.splice(B,1),I=B=0;break}I+=B}}},m.a.Pb=function(){function _(E,w,I,L,B){var H=Math.min,V=Math.max,G=[],k,W=E.length,Y,J=w.length,j=J-W||1,Z=W+J+1,Q,he,ye;for(k=0;k<=W;k++)for(he=Q,G.push(Q=[]),ye=H(J,k+j),Y=V(0,k-1);Y<=ye;Y++)Q[Y]=Y?k?E[k-1]===w[Y-1]?he[Y-1]:H(he[Y]||Z,Q[Y-1]||Z)+1:Y+1:k+1;for(H=[],V=[],j=[],k=W,Y=J;k||Y;)J=G[k][Y]-1,Y&&J===G[k][Y-1]?V.push(H[H.length]={status:I,value:w[--Y],index:Y}):k&&J===G[k-1][Y]?j.push(H[H.length]={status:L,value:E[--k],index:k}):(--Y,--k,B.sparse||H.push({status:"retained",value:w[Y]}));return m.a.Kc(j,V,!B.dontLimitMoves&&10*W),H.reverse()}return function(E,w,I){return I=typeof I=="boolean"?{dontLimitMoves:I}:I||{},E=E||[],w=w||[],E.length<w.length?_(E,w,"added","deleted",I):_(w,E,"deleted","added",I)}}(),m.b("utils.compareArrays",m.a.Pb),function(){function _(I,L,B,H,V){var G=[],k=m.$(function(){var W=L(B,V,m.a.Ua(G,I))||[];0<G.length&&(m.a.Xc(G,W),H&&m.u.G(H,null,[B,W,V])),G.length=0,m.a.Nb(G,W)},null,{l:I,Sa:function(){return!m.a.kd(G)}});return{Y:G,$:k.ja()?k:e}}var E=m.a.g.Z(),w=m.a.g.Z();m.a.ec=function(I,L,B,H,V,G){function k(yt){De={Aa:yt,pb:m.ta(he++)},Z.push(De),j||Ie.push(De)}function W(yt){De=J[yt],he!==De.pb.v()&&xe.push(De),De.pb(he++),m.a.Ua(De.Y,I),Z.push(De)}function Y(yt,Jt){if(yt)for(var Te=0,Ee=Jt.length;Te<Ee;Te++)m.a.D(Jt[Te].Y,function(on){yt(on,Te,Jt[Te].Aa)})}L=L||[],typeof L.length>"u"&&(L=[L]),H=H||{};var J=m.a.g.get(I,E),j=!J,Z=[],Q=0,he=0,ye=[],re=[],_e=[],xe=[],Ie=[],De,Ne=0;if(j)m.a.D(L,k);else{if(!G||J&&J._countWaitingForRemove){var Ce=m.a.Mb(J,function(yt){return yt.Aa});G=m.a.Pb(Ce,L,{dontLimitMoves:H.dontLimitMoves,sparse:!0})}for(var Ce=0,Be,Ve,$e;Be=G[Ce];Ce++)switch(Ve=Be.moved,$e=Be.index,Be.status){case"deleted":for(;Q<$e;)W(Q++);Ve===e&&(De=J[Q],De.$&&(De.$.s(),De.$=e),m.a.Ua(De.Y,I).length&&(H.beforeRemove&&(Z.push(De),Ne++,De.Aa===w?De=null:_e.push(De)),De&&ye.push.apply(ye,De.Y))),Q++;break;case"added":for(;he<$e;)W(Q++);Ve!==e?(re.push(Z.length),W(Ve)):k(Be.value)}for(;he<L.length;)W(Q++);Z._countWaitingForRemove=Ne}m.a.g.set(I,E,Z),Y(H.beforeMove,xe),m.a.D(ye,H.beforeRemove?m.oa:m.removeNode);var qe,pt,ht;try{ht=I.ownerDocument.activeElement}catch{}if(re.length)for(;(Ce=re.shift())!=e;){for(De=Z[Ce],qe=e;Ce;)if((pt=Z[--Ce].Y)&&pt.length){qe=pt[pt.length-1];break}for(L=0;Q=De.Y[L];qe=Q,L++)m.h.Wb(I,Q,qe)}for(Ce=0;De=Z[Ce];Ce++){for(De.Y||m.a.extend(De,_(I,B,De.Aa,V,De.pb)),L=0;Q=De.Y[L];qe=Q,L++)m.h.Wb(I,Q,qe);!De.Ed&&V&&(V(De.Aa,De.Y,De.pb),De.Ed=!0,qe=De.Y[De.Y.length-1])}for(ht&&I.ownerDocument.activeElement!=ht&&ht.focus(),Y(H.beforeRemove,_e),Ce=0;Ce<_e.length;++Ce)_e[Ce].Aa=w;Y(H.afterMove,xe),Y(H.afterAdd,Ie)}}(),m.b("utils.setDomNodeChildrenFromArrayMapping",m.a.ec),m.ba=function(){this.allowTemplateRewriting=!1},m.ba.prototype=new m.ca,m.ba.prototype.constructor=m.ba,m.ba.prototype.renderTemplateSource=function(_,E,w,I){return(E=!(9>m.a.W)&&_.nodes?_.nodes():null)?m.a.la(E.cloneNode(!0).childNodes):(_=_.text(),m.a.ua(_,I))},m.ba.Ma=new m.ba,m.gc(m.ba.Ma),m.b("nativeTemplateEngine",m.ba),function(){m.$a=function(){var E=this.Hd=function(){if(!o||!o.tmpl)return 0;try{if(0<=o.tmpl.tag.tmpl.open.toString().indexOf("__"))return 2}catch{}return 1}();this.renderTemplateSource=function(w,I,L,B){if(B=B||n,L=L||{},2>E)throw Error("Your version of jQuery.tmpl is too old. Please upgrade to jQuery.tmpl 1.0.0pre or later.");var H=w.data("precompiled");return H||(H=w.text()||"",H=o.template(null,"{{ko_with $item.koBindingContext}}"+H+"{{/ko_with}}"),w.data("precompiled",H)),w=[I.$data],I=o.extend({koBindingContext:I},L.templateOptions),I=o.tmpl(H,w,I),I.appendTo(B.createElement("div")),o.fragments={},I},this.createJavaScriptEvaluatorBlock=function(w){return"{{ko_code ((function() { return "+w+" })()) }}"},this.addTemplate=function(w,I){n.write("<script type='text/html' id='"+w+"'>"+I+"<\/script>")},0<E&&(o.tmpl.tag.ko_code={open:"__.push($1 || '');"},o.tmpl.tag.ko_with={open:"with($1) {",close:"} "})},m.$a.prototype=new m.ca,m.$a.prototype.constructor=m.$a;var _=new m.$a;0<_.Hd&&m.gc(_),m.b("jqueryTmplTemplateEngine",m.$a)}()})})()})()})();var aAt=ko;typeof window<"u"?(ko=window.ko,typeof zP<"u"?window.ko=zP:delete window.ko):(ko=global.ko,typeof zP<"u"?global.ko=zP:delete global.ko);var BS=aAt;/** * @license * Knockout ES5 plugin - https://github.com/SteveSanderson/knockout-es5 * Copyright (c) Steve Sanderson * MIT license - */var l$="__knockoutObservables",u$="__knockoutSubscribable";function ECe(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=SCe(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===l$||o===u$)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&SCt(n,a)}}),e}function SCe(e,t){var n=e[l$];return!n&&t&&(n={},Object.defineProperty(e,l$,{value:n})),n}function ECt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),ECe.call(i,e,[t]),e}function SCt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=wCt(e,t,i))})}function wCt(e,t,n){var i=vCt(e,n);return i.subscribe(t)}function vCt(e,t){var n=t[u$];if(!n){n=new e.subscribable,Object.defineProperty(t,u$,{value:n});var i={};DCt(t,n,i),ICt(e,t,n,i)}return n}function DCt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function ICt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function wCe(e,t){if(!e)return null;var n=SCe(e,!1);return n&&n[t]||null}function PCt(e,t){var n=wCe(e,t);n&&n.valueHasMutated()}function RCt(e){e.track=ECe,e.getObservable=wCe,e.valueHasMutated=PCt,e.defineProperty=ECt}var S8={attachToKo:RCt};var vCe="http://www.w3.org/2000/svg",DCe="cesium-svgPath-svg",OCt={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(vCe,"svg:svg");i.setAttribute("class",DCe);let o=document.createElementNS(vCe,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${DCe} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},w8=OCt;S8.attachToKo(RS);w8.register(RS);var be=RS;function FP(e){l(e)||(e=new rm),this._clock=e,this._eventHelper=new Hr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=be.observable(K.now()),this.systemTime.equalityComparer=K.equals,this.startTime=be.observable(e.startTime),this.startTime.equalityComparer=K.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=be.observable(e.stopTime),this.stopTime.equalityComparer=K.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=be.observable(e.currentTime),this.currentTime.equalityComparer=K.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=be.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=be.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=be.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=be.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=be.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),be.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(FP.prototype,{clock:{get:function(){return this._clock}}});FP.prototype.synchronize=function(){let e=this._clock;this.systemTime=K.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};FP.prototype.isDestroyed=function(){return!1};FP.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var v8=FP;function MCt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,de.throwInstantiationError()}var ICe=MCt;function LCt(e,t){t=y(t,!0);let n=new me,i=new me;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,be.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var Dn=LCt;var BP={};BP.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return l(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};BP.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};BP.createRangeInput=function(e,t,n,i,o,r){r=y(r,t);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=n,a.max=i,a.step=y(o,"any"),a.setAttribute("data-bind",`valueUpdate: "input", value: ${t}`);let c=document.createElement("div");c.appendChild(a);let u=document.createElement("div");return u.className="cesium-cesiumInspector-slider",u.appendChild(document.createTextNode(e)),u.appendChild(s),u.appendChild(c),u};BP.createButton=function(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=e,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${t}`;return l(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i};var _c=BP;function NCt(e,t,n,i,o){return n.call(i,e[t]),be.getObservable(e,t).subscribe(n,i,o)}var Ba=NCt;function PCe(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),be.track(this,["toggled","tooltip"])}Object.defineProperties(PCe.prototype,{command:{get:function(){return this._command}}});var jb=PCe;function RCe(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,be.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=be.getObservable(this,"imageryProviderViewModels"),r=be.pureComputed(function(){let d=o(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._imageryProviders=r;let s=be.getObservable(this,"terrainProviderViewModels"),a=be.pureComputed(function(){let d=s(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._terrainProviders=a,this.buttonTooltip=void 0,be.defineProperty(this,"buttonTooltip",function(){let d=this.selectedImagery,p=this.selectedTerrain,g=l(d)?d.name:void 0,m=l(p)?p.name:void 0;return l(g)&&l(m)?`${g} -${m}`:l(g)?g:m}),this.buttonImageUrl=void 0,be.defineProperty(this,"buttonImageUrl",function(){let d=this.selectedImagery;if(l(d))return d.iconUrl}),this.selectedImagery=void 0;let c=be.observable();this.updateSelectedImageryViewModel=d=>{c(d),this.dropDownVisible=!1},this._currentImageryLayers=[],be.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(d){if(c()===d){this.dropDownVisible=!1;return}let p=e.map,g,m=this._currentImageryLayers,x=m.length,b=this._globe.imageryLayers,T=!1;if(!p)for(g=0;g<x;g++){let C=b.length;for(let A=0;A<C;A++){let S=b.get(A);if(S===m[g]){b.remove(S),T=!0;break}}}if(l(d))if(p&&d.marsOptions)p.basemap=d.marsOptions.layerId;else if(p&&d.options&&d.isTile)p.basemap=d.options.id;else{let C=d.creationCommand();if(Array.isArray(C)){let A=C.length;for(this._currentImageryLayers=[],g=A-1;g>=0;g--){let S=La.fromProviderAsync(C[g]);b.add(S,0),this._currentImageryLayers.push(S)}}else{this._currentImageryLayers=[];let A=La.fromProviderAsync(C);if(A.name=d.name,T)b.add(A,0);else{let S=b.get(0);l(S)&&b.remove(S),b.add(A,0)}this._currentImageryLayers.push(A)}}else p&&(p.basemap=void 0);c(d),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let u=be.observable();this.updateSelectedTerrainViewModel=d=>{u(d),this.dropDownVisible=!1},be.defineProperty(this,"selectedTerrain",{get:function(){return u()},set:function(d){if(u()===d){this.dropDownVisible=!1;return}let p;if(l(d)&&(p=d.creationCommand()),l(p)&&!l(p.then)){if(e.map&&d.marsOptions){e.map.terrainProvider=p;return}this._globe.terrainProvider=p}else if(l(p)){let g=!1,m=this._globe.terrainProviderChanged.addEventListener(()=>{g=!0,m()}),b=new u8(p).readyEvent.addEventListener(T=>{if(!g){if(e.map&&d.marsOptions){e.map.terrainProvider=T;return}this._globe.terrainProvider=T,b()}})}u(d),this.dropDownVisible=!1}});let f=this;this._toggleDropDown=Dn(function(){f.dropDownVisible=!f.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel),this.selectedTerrain=e.selectedTerrainProviderViewModel}Object.defineProperties(RCe.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var D8=RCe;function I8(e,t){e=Mn(e);let n=new D8(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let u=document.createElement("div");u.className="cesium-baseLayerPicker-categoryTitle",u.setAttribute("data-bind","text: name"),c.appendChild(u);let f=document.createElement("div");f.className="cesium-baseLayerPicker-choices",f.setAttribute("data-bind","foreach: providers"),c.appendChild(f);let d=document.createElement("div");d.className="cesium-baseLayerPicker-item",d.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),f.appendChild(d);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),d.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),d.appendChild(g);let m=document.createElement("div");m.className="cesium-baseLayerPicker-sectionTitle",m.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),m.innerHTML="Terrain",r.appendChild(m);let x=document.createElement("div");x.className="cesium-baseLayerPicker-section",x.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(x);let b=document.createElement("div");b.className="cesium-baseLayerPicker-category",x.appendChild(b);let T=document.createElement("div");T.className="cesium-baseLayerPicker-categoryTitle",T.setAttribute("data-bind","text: name"),b.appendChild(T);let C=document.createElement("div");C.className="cesium-baseLayerPicker-choices",C.setAttribute("data-bind","foreach: providers"),b.appendChild(C);let A=document.createElement("div");A.className="cesium-baseLayerPicker-item",A.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),C.appendChild(A);let S=document.createElement("img");S.className="cesium-baseLayerPicker-itemIcon",S.setAttribute("data-bind","attr: { src: iconUrl }"),S.setAttribute("draggable","false"),A.appendChild(S);let w=document.createElement("div");w.className="cesium-baseLayerPicker-itemLabel",w.setAttribute("data-bind","text: name"),A.appendChild(w),be.applyBindings(n,i),be.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(D){i.contains(D.target)||r.contains(D.target)||(n.dropDownVisible=!1)},Wt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(I8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});I8.prototype.isDestroyed=function(){return!1};I8.prototype.destroy=function(){return Wt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._element),be.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),ue(this)};var P8=I8;function OCe(e){let t=e.creationFunction;l(t.canExecute)||(t=Dn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),this.marsOptions=e.marsOptions,be.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(OCe.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var fs=OCe;function FCt(){let e=[],t=devicePixelRatio>=2;return e.push(new fs({name:"Bing Maps Aerial",iconUrl:on("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return jy({style:Wy.AERIAL})}})),e.push(new fs({name:"Bing Maps Aerial with Labels",iconUrl:on("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return jy({style:Wy.AERIAL_WITH_LABELS})}})),e.push(new fs({name:"Bing Maps Roads",iconUrl:on("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return jy({style:Wy.ROAD})}})),e.push(new fs({name:"ArcGIS World Imagery",iconUrl:on("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return By.fromBasemapType(Sm.SATELLITE,{enablePickFeatures:!1})}})),e.push(new fs({name:"ArcGIS World Hillshade",iconUrl:on("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return By.fromBasemapType(Sm.HILLSHADE,{enablePickFeatures:!1})}})),e.push(new fs({name:"Esri World Ocean",iconUrl:on("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at -https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return By.fromBasemapType(Sm.OCEANS,{enablePickFeatures:!1})}})),e.push(new fs({name:"Open\xADStreet\xADMap",iconUrl:on("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. -http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new Jy({url:"https://tile.openstreetmap.org/"})}})),e.push(new fs({name:"Stadia x Stamen Watercolor",iconUrl:on("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and reminiscent of hand drawn maps, the watercolor maps from Stamen Design apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. -https://docs.stadiamaps.com/map-styles/stamen-watercolor/`,category:"Other",creationFunction:function(){return new Jy({url:"https://tiles.stadiamaps.com/tiles/stamen_watercolor/",fileExtension:"jpg",credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> + */var xZ="__knockoutObservables",bZ="__knockoutSubscribable";function UCe(e,t){if(!e)throw new Error("When calling ko.track, you must pass an object as the first parameter.");var n=this,i=zCe(e,!0);return t=t||Object.getOwnPropertyNames(e),t.forEach(function(o){if(!(o===xZ||o===bZ)&&!(o in i)){var r=e[o],s=r instanceof Array,a=n.isObservable(r)?r:s?n.observableArray(r):n.observable(r);Object.defineProperty(e,o,{configurable:!0,enumerable:!0,get:a,set:n.isWriteableObservable(a)?a:void 0}),i[o]=a,s&&lAt(n,a)}}),e}function zCe(e,t){var n=e[xZ];return!n&&t&&(n={},Object.defineProperty(e,xZ,{value:n})),n}function cAt(e,t,n){var i=this,o={owner:e,deferEvaluation:!0};if(typeof n=="function")o.read=n;else{if("value"in n)throw new Error('For ko.defineProperty, you must not specify a "value" for the property. You must provide a "get" function.');if(typeof n.get!="function")throw new Error('For ko.defineProperty, the third parameter must be either an evaluator function, or an options object containing a function called "get".');o.read=n.get,o.write=n.set}return e[t]=i.computed(o),UCe.call(i,e,[t]),e}function lAt(e,t){var n=null;e.computed(function(){n&&(n.dispose(),n=null);var i=t();i instanceof Array&&(n=uAt(e,t,i))})}function uAt(e,t,n){var i=fAt(e,n);return i.subscribe(t)}function fAt(e,t){var n=t[bZ];if(!n){n=new e.subscribable,Object.defineProperty(t,bZ,{value:n});var i={};dAt(t,n,i),hAt(e,t,n,i)}return n}function dAt(e,t,n){["pop","push","reverse","shift","sort","splice","unshift"].forEach(function(i){var o=e[i];e[i]=function(){var r=o.apply(this,arguments);return n.pause!==!0&&t.notifySubscribers(this),r}})}function hAt(e,t,n,i){["remove","removeAll","destroy","destroyAll","replace"].forEach(function(o){Object.defineProperty(t,o,{enumerable:!1,value:function(){var r;i.pause=!0;try{r=e.observableArray.fn[o].apply(e.observableArray(t),arguments)}finally{i.pause=!1}return n.notifySubscribers(t),r}})})}function HCe(e,t){if(!e)return null;var n=zCe(e,!1);return n&&n[t]||null}function mAt(e,t){var n=HCe(e,t);n&&n.valueHasMutated()}function pAt(e){e.track=UCe,e.getObservable=HCe,e.valueHasMutated=mAt,e.defineProperty=cAt}var D8={attachToKo:pAt};var GCe="http://www.w3.org/2000/svg",WCe="cesium-svgPath-svg",_At={register:function(e){e.bindingHandlers.cesiumSvgPath={init:function(t,n){let i=document.createElementNS(GCe,"svg:svg");i.setAttribute("class",WCe);let o=document.createElementNS(GCe,"path");return i.appendChild(o),e.virtualElements.setDomNodeChildren(t,[i]),e.computed({read:function(){let r=e.unwrap(n());o.setAttribute("d",e.unwrap(r.path));let s=e.unwrap(r.width),a=e.unwrap(r.height);i.setAttribute("width",s),i.setAttribute("height",a),i.setAttribute("viewBox",`0 0 ${s} ${a}`),r.css&&i.setAttribute("class",`${WCe} ${e.unwrap(r.css)}`)},disposeWhenNodeIsRemoved:t}),{controlsDescendantBindings:!0}}},e.virtualElements.allowedBindings.cesiumSvgPath=!0}},I8=_At;D8.attachToKo(BS);I8.register(BS);var be=BS;function HP(e){l(e)||(e=new lm),this._clock=e,this._eventHelper=new xr,this._eventHelper.add(e.onTick,this.synchronize,this),this.systemTime=be.observable(K.now()),this.systemTime.equalityComparer=K.equals,this.startTime=be.observable(e.startTime),this.startTime.equalityComparer=K.equals,this.startTime.subscribe(function(t){e.startTime=t,this.synchronize()},this),this.stopTime=be.observable(e.stopTime),this.stopTime.equalityComparer=K.equals,this.stopTime.subscribe(function(t){e.stopTime=t,this.synchronize()},this),this.currentTime=be.observable(e.currentTime),this.currentTime.equalityComparer=K.equals,this.currentTime.subscribe(function(t){e.currentTime=t,this.synchronize()},this),this.multiplier=be.observable(e.multiplier),this.multiplier.subscribe(function(t){e.multiplier=t,this.synchronize()},this),this.clockStep=be.observable(e.clockStep),this.clockStep.subscribe(function(t){e.clockStep=t,this.synchronize()},this),this.clockRange=be.observable(e.clockRange),this.clockRange.subscribe(function(t){e.clockRange=t,this.synchronize()},this),this.canAnimate=be.observable(e.canAnimate),this.canAnimate.subscribe(function(t){e.canAnimate=t,this.synchronize()},this),this.shouldAnimate=be.observable(e.shouldAnimate),this.shouldAnimate.subscribe(function(t){e.shouldAnimate=t,this.synchronize()},this),be.track(this,["systemTime","startTime","stopTime","currentTime","multiplier","clockStep","clockRange","canAnimate","shouldAnimate"])}Object.defineProperties(HP.prototype,{clock:{get:function(){return this._clock}}});HP.prototype.synchronize=function(){let e=this._clock;this.systemTime=K.now(),this.startTime=e.startTime,this.stopTime=e.stopTime,this.currentTime=e.currentTime,this.multiplier=e.multiplier,this.clockStep=e.clockStep,this.clockRange=e.clockRange,this.canAnimate=e.canAnimate,this.shouldAnimate=e.shouldAnimate};HP.prototype.isDestroyed=function(){return!1};HP.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var P8=HP;function gAt(){this.canExecute=void 0,this.beforeExecute=void 0,this.afterExecute=void 0,de.throwInstantiationError()}var jCe=gAt;function yAt(e,t){t=y(t,!0);let n=new me,i=new me;function o(){let r={args:arguments,cancel:!1},s;return n.raiseEvent(r),r.cancel||(s=e.apply(null,arguments),i.raiseEvent(s)),s}return o.canExecute=t,be.track(o,["canExecute"]),Object.defineProperties(o,{beforeExecute:{value:n},afterExecute:{value:i}}),o}var wn=yAt;var GP={};GP.createCheckbox=function(e,t,n){let i=document.createElement("div"),o=document.createElement("label"),r=document.createElement("input");r.type="checkbox";let s=`checked: ${t}`;return l(n)&&(s+=`, enable: ${n}`),r.setAttribute("data-bind",s),o.appendChild(r),o.appendChild(document.createTextNode(e)),i.appendChild(o),i};GP.createSection=function(e,t,n,i){let o=document.createElement("div");o.className="cesium-cesiumInspector-section",o.setAttribute("data-bind",`css: { "cesium-cesiumInspector-section-collapsed": !${n} }`),e.appendChild(o);let r=document.createElement("h3");r.className="cesium-cesiumInspector-sectionHeader",r.appendChild(document.createTextNode(t)),r.setAttribute("data-bind",`click: ${i}`),o.appendChild(r);let s=document.createElement("div");return s.className="cesium-cesiumInspector-sectionContent",o.appendChild(s),s};GP.createRangeInput=function(e,t,n,i,o,r){r=y(r,t);let s=document.createElement("input");s.setAttribute("data-bind",`value: ${r}`),s.type="number";let a=document.createElement("input");a.type="range",a.min=n,a.max=i,a.step=y(o,"any"),a.setAttribute("data-bind",`valueUpdate: "input", value: ${t}`);let c=document.createElement("div");c.appendChild(a);let u=document.createElement("div");return u.className="cesium-cesiumInspector-slider",u.appendChild(document.createTextNode(e)),u.appendChild(s),u.appendChild(c),u};GP.createButton=function(e,t,n){let i=document.createElement("button");i.type="button",i.textContent=e,i.className="cesium-cesiumInspector-pickButton";let o=`click: ${t}`;return l(n)&&(o+=`, css: {"cesium-cesiumInspector-pickButtonHighlight" : ${n}}`),i.setAttribute("data-bind",o),i};var bc=GP;function xAt(e,t,n,i,o){return n.call(i,e[t]),be.getObservable(e,t).subscribe(n,i,o)}var ka=xAt;function qCe(e,t){this._command=e,t=y(t,y.EMPTY_OBJECT),this.toggled=y(t.toggled,!1),this.tooltip=y(t.tooltip,""),be.track(this,["toggled","tooltip"])}Object.defineProperties(qCe.prototype,{command:{get:function(){return this._command}}});var Jb=qCe;function bAt(e){let t;if(l(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>    ${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function TZ(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var TAt=new _n,CAt=new h;function WP(e,t){let n=this,i=e.canvas,o=new Gf(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",be.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=wn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=wn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=wn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=wn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=be.getObservable(this,"frustums").subscribe(function(u){n._scene.debugShowFrustums=u,n._scene.requestRender()}),this._frustumPlanesSubscription=be.getObservable(this,"frustumPlanes").subscribe(function(u){n._scene.debugShowFrustumPlanes=u,n._scene.requestRender()}),this._performanceSubscription=be.getObservable(this,"performance").subscribe(function(u){u?n._performanceDisplay=new h0({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=wn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=be.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=wn(function(){if(n.primitiveReferenceFrame){let u=n._primitive.modelMatrix;n._modelMatrixPrimitive=new c8({modelMatrix:u}),n._scene.primitives.add(n._modelMatrixPrimitive)}else l(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=be.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=wn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(u){return l(n._modelMatrixPrimitive)&&u.owner===n._modelMatrixPrimitive._primitive?!0:l(n._primitive)?u.owner===n._primitive||u.owner===n._primitive._billboardCollection||u.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=be.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=be.getObservable(this,"wireframe").subscribe(function(u){r._surface.tileProvider._debug.wireframe=u,n._scene.requestRender()}),this._depthFrustumSubscription=be.getObservable(this,"depthFrustum").subscribe(function(u){n._scene.debugShowDepthFrustum=u,n._scene.requestRender()}),this._incrementDepthFrustum=wn(function(){let u=n.depthFrustum+1;return n.depthFrustum=TZ(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._decrementDepthFrustum=wn(function(){let u=n.depthFrustum-1;return n.depthFrustum=TZ(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=be.getObservable(this,"suspendUpdates").subscribe(function(u){r._surface._debug.suspendLodUpdate=u,u||(n.filterTile=!1)});let s;this._showTileCoordinates=wn(function(){return n.tileCoordinates&&!l(s)?s=e.imageryLayers.addImageryProvider(new v8({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&l(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=be.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=be.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=wn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=wn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],l(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=be.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(u){let f=n._scene.pick({x:u.position.x,y:u.position.y});l(f)&&(n.primitive=l(f.collection)?f.collection:f.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=wn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=be.getObservable(this,"pickPrimitiveActive").subscribe(function(u){u?o.setInputAction(a,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)});function c(u){let f,d=r.ellipsoid,p=n._scene.camera.getPickRay(u.position,TAt),g=r.pick(p,n._scene,CAt);if(l(g)){let m=d.cartesianToCartographic(g),x=r._surface.tileProvider._tilesToRenderByTextureCount;for(let b=0;!f&&b<x.length;++b){let T=x[b];if(l(T))for(let C=0;!f&&C<T.length;++C){let A=T[C];ae.contains(A.rectangle,m)&&(f=A)}}}n.tile=f,n.pickTileActive=!1}this._pickTile=wn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=be.getObservable(this,"pickTileActive").subscribe(function(u){u?o.setInputAction(c,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(WP.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return wn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return wn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return wn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return wn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return wn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,l(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,l(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(l(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;l(n)&&l(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});WP.prototype._update=function(){this.frustums&&(this.frustumStatisticText=bAt(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=TZ(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};WP.prototype.isDestroyed=function(){return!1};WP.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),ue(this)};var O8=WP;function R8(e,t){e=Mn(e);let n=document.createElement("div"),i=new O8(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=bc.createSection,c=bc.createCheckbox,u=a(s,"General","generalVisible","toggleGeneral"),f=c("Show Frustums","frustums"),d=document.createElement("div");d.className="cesium-cesiumInspector-frustumStatistics",d.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),f.appendChild(d),u.appendChild(f),u.appendChild(c("Show Frustum Planes","frustumPlanes")),u.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",u.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),u.appendChild(p);let g=document.createElement("div");u.appendChild(g);let m=document.createElement("span");m.setAttribute("data-bind",'html: "     Frustum:"'),g.appendChild(m);let x=document.createElement("span");x.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(x);let b=document.createElement("input");b.type="button",b.value="-",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(b);let T=document.createElement("input");T.type="button",T.value="+",T.className="cesium-cesiumInspector-pickButton",T.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(T);let C=a(s,"Primitives","primitivesVisible","togglePrimitives"),A=document.createElement("div");A.className="cesium-cesiumInspector-pickSection",C.appendChild(A);let S=document.createElement("input");S.type="button",S.value="Pick a primitive",S.className="cesium-cesiumInspector-pickButton",S.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let v=document.createElement("div");v.className="cesium-cesiumInspector-center",v.appendChild(S),A.appendChild(v),A.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),A.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),A.appendChild(this._primitiveOnly);let D=a(s,"Terrain","terrainVisible","toggleTerrain"),R=document.createElement("div");R.className="cesium-cesiumInspector-pickSection",D.appendChild(R);let O=document.createElement("input");O.type="button",O.value="Pick a tile",O.className="cesium-cesiumInspector-pickButton",O.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),v=document.createElement("div"),v.appendChild(O),v.className="cesium-cesiumInspector-center",R.appendChild(v);let M=document.createElement("div");R.appendChild(M);let N=document.createElement("input");N.type="button",N.value="Parent",N.className="cesium-cesiumInspector-pickButton",N.setAttribute("data-bind","click: selectParent");let _=document.createElement("input");_.type="button",_.value="NW",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: selectNW");let E=document.createElement("input");E.type="button",E.value="NE",E.className="cesium-cesiumInspector-pickButton",E.setAttribute("data-bind","click: selectNE");let w=document.createElement("input");w.type="button",w.value="SW",w.className="cesium-cesiumInspector-pickButton",w.setAttribute("data-bind","click: selectSW");let I=document.createElement("input");I.type="button",I.value="SE",I.className="cesium-cesiumInspector-pickButton",I.setAttribute("data-bind","click: selectSE");let L=document.createElement("div");L.className="cesium-cesiumInspector-tileText",M.className="cesium-cesiumInspector-frustumStatistics",M.appendChild(L),M.setAttribute("data-bind","visible: hasPickedTile"),L.setAttribute("data-bind","html: tileText");let B=document.createElement("div");B.className="cesium-cesiumInspector-relativeText",B.textContent="Select relative:",M.appendChild(B);let H=document.createElement("table"),V=document.createElement("tr"),G=document.createElement("tr"),k=document.createElement("td");k.appendChild(N);let W=document.createElement("td");W.appendChild(_);let Y=document.createElement("td");Y.appendChild(E),V.appendChild(k),V.appendChild(W),V.appendChild(Y);let J=document.createElement("td"),j=document.createElement("td");j.appendChild(w);let Z=document.createElement("td");Z.appendChild(I),G.appendChild(J),G.appendChild(j),G.appendChild(Z),H.appendChild(V),H.appendChild(G),M.appendChild(H),R.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),R.appendChild(c("Show only selected","filterTile","hasPickedTile")),D.appendChild(c("Wireframe","wireframe")),D.appendChild(c("Suspend LOD update","suspendUpdates")),D.appendChild(c("Show tile coordinates","tileCoordinates")),be.applyBindings(i,this._element)}Object.defineProperties(R8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});R8.prototype.isDestroyed=function(){return!1};R8.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var M8=R8;var eT="http://www.w3.org/2000/svg",KCe="http://www.w3.org/1999/xlink",L8,jP=z.fromCssColorString("rgba(247,250,255,0.384)"),N8=z.fromCssColorString("rgba(143,191,255,0.216)"),CZ=z.fromCssColorString("rgba(153,197,255,0.098)"),F8=z.fromCssColorString("rgba(255,255,255,0.086)"),AAt=z.fromCssColorString("rgba(255,255,255,0.267)"),EAt=z.fromCssColorString("rgba(255,255,255,0)"),YCe=z.fromCssColorString("rgba(66,67,68,0.3)"),XCe=z.fromCssColorString("rgba(0,0,0,0.5)");function C0(e){return z.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var qP={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function hh(e){let t=document.createElementNS(eT,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(hh(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(KCe,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function AZ(e,t,n){let i=document.createElementNS(eT,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(eT,"tspan");return o.textContent=n,i.appendChild(o),i}function SAt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var B8=new z;function ts(e,t){let n=t.alpha,i=1-n;return B8.red=e.red*i+t.red*n,B8.green=e.green*i+t.green*n,B8.blue=e.blue*i+t.blue*n,B8.toCssColorString()}function EZ(e,t,n){let i=qP[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return hh(o)}function vAt(e,t,n){let i=qP[n],o=qP.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return hh(r)}function wAt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&L8!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,u;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,u=t.touches[0].clientY):(c=t.clientX,u=t.clientY),!i&&(c>a.right||c<a.left||u<a.top||u>a.bottom))return;let f=e._shuttleRingPointer.getBoundingClientRect(),d=c-o-a.left,p=u-r-a.top,g=Math.atan2(p,d)*180/Math.PI+90;g>180&&(g-=360);let m=n.shuttleRingAngle;i||c<f.right&&c>f.left&&u>f.top&&u<f.bottom?(L8=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<m?n.slower():g>m&&n.faster(),t.preventDefault()}else e===L8&&(L8=void 0),n.shuttleRingDragging=!1}function P_(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[ka(t,"toggled",this.setToggled,this),ka(t,"tooltip",this.setTooltip,this),ka(t.command,"canExecute",this.setEnabled,this)]}P_.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();ue(this)};P_.prototype.isDestroyed=function(){return!1};P_.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};P_.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};P_.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function kS(e,t){e=Mn(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(eT,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",KCe);let s=document.createElementNS(eT,"g");this._topG=s,this._realtimeSVG=new P_(vAt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new P_(EZ(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new P_(EZ(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new P_(EZ(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(eT,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=hh({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let u=qP.animation_pathSwooshFX,f=qP.animation_pathPointer,d=hh({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:u.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:u.d},{tagName:u.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:u.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=d,this._shuttleRingPointer=hh({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:f.tagName,d:f.d});let p=hh({tagName:"g",transform:"translate(100,100)"});this._knobOuter=hh({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,m=hh({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=AZ(0,-24,""),this._knobTime=AZ(0,-7,""),this._knobStatus=AZ(0,-41,"");let x=hh({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),b=document.createElementNS(eT,"g");b.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(b),s.appendChild(p),s.appendChild(a),b.appendChild(c),b.appendChild(d),b.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(m),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(x),r.appendChild(s),e.appendChild(r);let T=this;function C(R){wAt(T,R)}this._mouseCallback=C,c.addEventListener("mousedown",C,!0),c.addEventListener("touchstart",C,!0),d.addEventListener("mousedown",C,!0),d.addEventListener("touchstart",C,!0),n.addEventListener("mousemove",C,!0),n.addEventListener("touchmove",C,!0),n.addEventListener("mouseup",C,!0),n.addEventListener("touchend",C,!0),n.addEventListener("touchcancel",C,!0),this._shuttleRingPointer.addEventListener("mousedown",C,!0),this._shuttleRingPointer.addEventListener("touchstart",C,!0),this._knobOuter.addEventListener("mousedown",C,!0),this._knobOuter.addEventListener("touchstart",C,!0);let A=this._knobTime.childNodes[0],S=this._knobDate.childNodes[0],v=this._knobStatus.childNodes[0],D;this._subscriptions=[ka(t.pauseViewModel,"toggled",function(R){D!==R&&(D=R,D?T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),ka(t,"shuttleRingAngle",function(R){SAt(T._shuttleRingPointer,T._knobOuter,R)}),ka(t,"dateLabel",function(R){S.textContent!==R&&(S.textContent=R)}),ka(t,"timeLabel",function(R){A.textContent!==R&&(A.textContent=R)}),ka(t,"multiplierLabel",function(R){v.textContent!==R&&(v.textContent=R)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(kS.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});kS.prototype.isDestroyed=function(){return!1};kS.prototype.destroy=function(){l(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return ue(this)};kS.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};kS.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(l(this._observer))return;let f=this;f._observer=new MutationObserver(function(){e.body.contains(f._container)&&(f._observer.disconnect(),f._observer=void 0,f.applyThemeChanges())}),f._observer.observe(e,{childList:!0,subtree:!0});return}let t=C0(this._themeNormal),n=C0(this._themeHover),i=C0(this._themeSelect),o=C0(this._themeDisabled),r=C0(this._themeKnob),s=C0(this._themePointer),a=C0(this._themeSwoosh),c=C0(this._themeSwooshHover),u=hh({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ts(t,jP)},{tagName:"stop",offset:"12%","stop-color":ts(t,N8)},{tagName:"stop",offset:"46%","stop-color":ts(t,CZ)},{tagName:"stop",offset:"81%","stop-color":ts(t,F8)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ts(n,jP)},{tagName:"stop",offset:"12%","stop-color":ts(n,N8)},{tagName:"stop",offset:"46%","stop-color":ts(n,CZ)},{tagName:"stop",offset:"81%","stop-color":ts(n,F8)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ts(i,jP)},{tagName:"stop",offset:"12%","stop-color":ts(i,N8)},{tagName:"stop",offset:"46%","stop-color":ts(i,CZ)},{tagName:"stop",offset:"81%","stop-color":ts(i,F8)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":ts(o,AAt)},{tagName:"stop",offset:"75%","stop-color":ts(o,EAt)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":ts(s,XCe)},{tagName:"stop",offset:"100%","stop-color":ts(s,XCe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":ts(r,jP)},{tagName:"stop",offset:"60%","stop-color":ts(r,YCe)},{tagName:"stop",offset:"85%","stop-color":ts(r,N8)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":ts(r,YCe)},{tagName:"stop",offset:"60%","stop-color":ts(r,jP)},{tagName:"stop",offset:"85%","stop-color":ts(r,F8)}]}]});l(this._defsElement)?this._svgNode.replaceChild(u,this._defsElement):this._svgNode.appendChild(u),this._defsElement=u};var k8=kS;var DAt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],A0=15,VS=105;function ZCe(e,t){return e-t}function SZ(e,t){let n=Ro(t,e,ZCe);return n<0?~n:n}function IAt(e,t){if(Math.abs(e)<=A0)return e/A0;let n=A0,i=VS,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function PAt(e,t,n){if(n.clockStep===go.SYSTEM_CLOCK)return A0;if(Math.abs(e)<=1)return e*A0;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=A0,r=VS,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function ed(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=ed.defaultDateFormatter,this._timeFormatter=ed.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,be.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(ed.defaultTicks),this.timeLabel=void 0,be.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,be.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,be.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===go.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,be.defineProperty(this,"shuttleRingAngle",{get:function(){return PAt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,VS),-VS);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=go.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===VS){c.multiplier=s>0?a[a.length-1]:a[0];return}let u=IAt(s,a);if(t.snapToTicks)u=a[SZ(u,a)];else if(u!==0){let f=Math.abs(u);if(f>100){let d=f.toFixed(0).length-2,p=Math.pow(10,d);u=Math.round(u/p)*p|0}else f>A0?u=Math.round(u):f>1?u=+u.toFixed(1):f>0&&(u=+u.toFixed(2))}c.multiplier=u}}),this._canAnimate=void 0,be.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===$r.UNBOUNDED)return!0;let c=s.multiplier,u=s.currentTime,f=s.startTime,d=!1;if(a===$r.LOOP_STOP)d=K.greaterThan(u,f)||u.equals(f)&&c>0;else{let p=s.stopTime;d=K.greaterThan(u,f)&&K.lessThan(u,p)||u.equals(f)&&c>0||u.equals(p)&&c<0}return d||(s.shouldAnimate=!1),d}),this._isSystemTimeAvailable=void 0,be.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===$r.UNBOUNDED)return!0;let c=s.systemTime;return K.greaterThanOrEquals(c,s.startTime)&&K.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,be.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=wn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new Jb(n,{toggled:be.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=wn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new Jb(i,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=wn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new Jb(o,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==go.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=wn(function(){t._clockViewModel.clockStep=go.SYSTEM_CLOCK},be.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new Jb(r,{toggled:be.computed(function(){return e.clockStep===go.SYSTEM_CLOCK}),tooltip:be.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=wn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=SZ(c,a)-1;u>=0&&(s.multiplier=a[u])}),this._faster=wn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=SZ(c,a)+1;u<a.length&&(s.multiplier=a[u])})}ed.defaultDateFormatter=function(e,t){let n=K.toGregorianDate(e);return`${DAt[n.month-1]} ${n.day} ${n.year}`};ed.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];ed.defaultTimeFormatter=function(e,t){let n=K.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};ed.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};ed.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(ZCe);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(ed.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}});ed._maxShuttleRingAngle=VS;ed._realtimeShuttleRingAngle=A0;var V8=ed;function $Ce(e){e=y(e,y.EMPTY_OBJECT);let t=e.globe,n=y(e.imageryProviderViewModels,[]),i=y(e.terrainProviderViewModels,[]);this._globe=t,this.imageryProviderViewModels=n.slice(0),this.terrainProviderViewModels=i.slice(0),this.dropDownVisible=!1,be.track(this,["imageryProviderViewModels","terrainProviderViewModels","dropDownVisible"]);let o=be.getObservable(this,"imageryProviderViewModels"),r=be.pureComputed(function(){let d=o(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._imageryProviders=r;let s=be.getObservable(this,"terrainProviderViewModels"),a=be.pureComputed(function(){let d=s(),p={},g;for(g=0;g<d.length;g++){let b=d[g],T=b.category;l(p[T])?p[T].push(b):p[T]=[b]}let m=Object.keys(p),x=[];for(g=0;g<m.length;g++){let b=m[g];x.push({name:b,providers:p[b]})}return x});this._terrainProviders=a,this.buttonTooltip=void 0,be.defineProperty(this,"buttonTooltip",function(){let d=this.selectedImagery,p=this.selectedTerrain,g=l(d)?d.name:void 0,m=l(p)?p.name:void 0;return l(g)&&l(m)?`${g} +${m}`:l(g)?g:m}),this.buttonImageUrl=void 0,be.defineProperty(this,"buttonImageUrl",function(){let d=this.selectedImagery;if(l(d))return d.iconUrl}),this.selectedImagery=void 0;let c=be.observable();this.updateSelectedImageryViewModel=d=>{c(d),this.dropDownVisible=!1},this._currentImageryLayers=[],be.defineProperty(this,"selectedImagery",{get:function(){return c()},set:function(d){if(c()===d){this.dropDownVisible=!1;return}let p=e.map,g,m=this._currentImageryLayers,x=m.length,b=this._globe.imageryLayers,T=!1;if(!p)for(g=0;g<x;g++){let C=b.length;for(let A=0;A<C;A++){let S=b.get(A);if(S===m[g]){b.remove(S),T=!0;break}}}if(l(d))if(p&&d.marsOptions)p.basemap=d.marsOptions.layerId;else if(p&&d.options&&d.isTile)p.basemap=d.options.id;else{let C=d.creationCommand();if(Array.isArray(C)){let A=C.length;for(this._currentImageryLayers=[],g=A-1;g>=0;g--){let S=pc.fromProviderAsync(C[g]);b.add(S,0),this._currentImageryLayers.push(S)}}else{this._currentImageryLayers=[];let A=pc.fromProviderAsync(C);if(A.name=d.name,T)b.add(A,0);else{let S=b.get(0);l(S)&&b.remove(S),b.add(A,0)}this._currentImageryLayers.push(A)}}else p&&(p.basemap=void 0);c(d),this.dropDownVisible=!1}}),this.selectedTerrain=void 0;let u=be.observable();this.updateSelectedTerrainViewModel=d=>{u(d),this.dropDownVisible=!1},be.defineProperty(this,"selectedTerrain",{get:function(){return u()},set:function(d){if(u()===d){this.dropDownVisible=!1;return}let p;if(l(d)&&(p=d.creationCommand()),l(p)&&!l(p.then)){if(e.map&&d.marsOptions){e.map.terrainProvider=p;return}this._globe.terrainProvider=p}else if(l(p)){let g=!1,m=this._globe.terrainProviderChanged.addEventListener(()=>{g=!0,m()}),b=new S8(p).readyEvent.addEventListener(T=>{if(!g){if(e.map&&d.marsOptions){e.map.terrainProvider=T;return}this._globe.terrainProvider=T,b()}})}u(d),this.dropDownVisible=!1}});let f=this;this._toggleDropDown=wn(function(){f.dropDownVisible=!f.dropDownVisible}),this.selectedImagery=y(e.selectedImageryProviderViewModel),this.selectedTerrain=e.selectedTerrainProviderViewModel}Object.defineProperties($Ce.prototype,{toggleDropDown:{get:function(){return this._toggleDropDown}},globe:{get:function(){return this._globe}}});var U8=$Ce;function z8(e,t){e=Mn(e);let n=new U8(t),i=document.createElement("button");i.type="button",i.className="cesium-button cesium-toolbar-button",i.setAttribute("data-bind","attr: { title: buttonTooltip },click: toggleDropDown"),e.appendChild(i);let o=document.createElement("img");o.setAttribute("draggable","false"),o.className="cesium-baseLayerPicker-selected",o.setAttribute("data-bind","attr: { src: buttonImageUrl }, visible: !!buttonImageUrl"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-baseLayerPicker-dropDown",r.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-dropDown-visible" : dropDownVisible }'),e.appendChild(r);let s=document.createElement("div");s.className="cesium-baseLayerPicker-sectionTitle",s.setAttribute("data-bind","visible: imageryProviderViewModels.length > 0"),s.innerHTML="Imagery",r.appendChild(s);let a=document.createElement("div");a.className="cesium-baseLayerPicker-section",a.setAttribute("data-bind","foreach: _imageryProviders"),r.appendChild(a);let c=document.createElement("div");c.className="cesium-baseLayerPicker-category",a.appendChild(c);let u=document.createElement("div");u.className="cesium-baseLayerPicker-categoryTitle",u.setAttribute("data-bind","text: name"),c.appendChild(u);let f=document.createElement("div");f.className="cesium-baseLayerPicker-choices",f.setAttribute("data-bind","foreach: providers"),c.appendChild(f);let d=document.createElement("div");d.className="cesium-baseLayerPicker-item",d.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedImagery },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedImagery = $data; }'),f.appendChild(d);let p=document.createElement("img");p.className="cesium-baseLayerPicker-itemIcon",p.setAttribute("data-bind","attr: { src: iconUrl }"),p.setAttribute("draggable","false"),d.appendChild(p);let g=document.createElement("div");g.className="cesium-baseLayerPicker-itemLabel",g.setAttribute("data-bind","text: name"),d.appendChild(g);let m=document.createElement("div");m.className="cesium-baseLayerPicker-sectionTitle",m.setAttribute("data-bind","visible: terrainProviderViewModels.length > 0"),m.innerHTML="Terrain",r.appendChild(m);let x=document.createElement("div");x.className="cesium-baseLayerPicker-section",x.setAttribute("data-bind","foreach: _terrainProviders"),r.appendChild(x);let b=document.createElement("div");b.className="cesium-baseLayerPicker-category",x.appendChild(b);let T=document.createElement("div");T.className="cesium-baseLayerPicker-categoryTitle",T.setAttribute("data-bind","text: name"),b.appendChild(T);let C=document.createElement("div");C.className="cesium-baseLayerPicker-choices",C.setAttribute("data-bind","foreach: providers"),b.appendChild(C);let A=document.createElement("div");A.className="cesium-baseLayerPicker-item",A.setAttribute("data-bind",'css: { "cesium-baseLayerPicker-selectedItem" : $data === $parents[1].selectedTerrain },attr: { title: tooltip },visible: creationCommand.canExecute,click: function($data) { $parents[1].selectedTerrain = $data; }'),C.appendChild(A);let S=document.createElement("img");S.className="cesium-baseLayerPicker-itemIcon",S.setAttribute("data-bind","attr: { src: iconUrl }"),S.setAttribute("draggable","false"),A.appendChild(S);let v=document.createElement("div");v.className="cesium-baseLayerPicker-itemLabel",v.setAttribute("data-bind","text: name"),A.appendChild(v),be.applyBindings(n,i),be.applyBindings(n,r),this._viewModel=n,this._container=e,this._element=i,this._dropPanel=r,this._closeDropDown=function(D){i.contains(D.target)||r.contains(D.target)||(n.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(z8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});z8.prototype.isDestroyed=function(){return!1};z8.prototype.destroy=function(){return Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._element),be.cleanNode(this._dropPanel),this._container.removeChild(this._element),this._container.removeChild(this._dropPanel),ue(this)};var H8=z8;function QCe(e){let t=e.creationFunction;l(t.canExecute)||(t=wn(t)),this._creationCommand=t,this.name=e.name,this.tooltip=e.tooltip,this.iconUrl=e.iconUrl,this._category=y(e.category,""),this.marsOptions=e.marsOptions,be.track(this,["name","tooltip","iconUrl"])}Object.defineProperties(QCe.prototype,{creationCommand:{get:function(){return this._creationCommand}},category:{get:function(){return this._category}}});var _s=QCe;function OAt(){let e=[],t=devicePixelRatio>=2;return e.push(new _s({name:"Bing Maps Aerial",iconUrl:rn("Widgets/Images/ImageryProviders/bingAerial.png"),tooltip:"Bing Maps aerial imagery, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return l0({style:c0.AERIAL})}})),e.push(new _s({name:"Bing Maps Aerial with Labels",iconUrl:rn("Widgets/Images/ImageryProviders/bingAerialLabels.png"),tooltip:"Bing Maps aerial imagery with labels, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return l0({style:c0.AERIAL_WITH_LABELS})}})),e.push(new _s({name:"Bing Maps Roads",iconUrl:rn("Widgets/Images/ImageryProviders/bingRoads.png"),tooltip:"Bing Maps standard road maps, provided by Cesium ion",category:"Cesium ion",creationFunction:function(){return l0({style:c0.ROAD})}})),e.push(new _s({name:"ArcGIS World Imagery",iconUrl:rn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldImagery.png"),tooltip:`ArcGIS World Imagery provides one meter or better satellite and aerial imagery in many parts of the world and lower resolution satellite imagery worldwide. The map includes 15m TerraColor imagery at small and mid-scales (~1:591M down to ~1:288k) for the world. The map features Maxar imagery at 0.3m resolution for select metropolitan areas around the world, 0.5m resolution across the United States and parts of Western Europe, and 1m resolution imagery across the rest of the world. In addition to commercial sources, the World Imagery map features high-resolution aerial photography contributed by the GIS User Community. This imagery ranges from 0.3m to 0.03m resolution (down to ~1:280 nin select communities). For more information on this map, including the terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=10df2279f9684e4a9f6a7f08febac2a9`,category:"Other",creationFunction:function(){return s0.fromBasemapType(Nm.SATELLITE,{enablePickFeatures:!1})}})),e.push(new _s({name:"ArcGIS World Hillshade",iconUrl:rn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldHillshade.png"),tooltip:`ArcGIS World Hillshade map portrays elevation as an artistic hillshade. This map is designed to be used as a backdrop for topographical, soil, hydro, landcover or other outdoor recreational maps. The map was compiled from a variety of sources from several data providers. The basemap has global coverage down to a scale of ~1:72k. In select areas of the United States and Europe, coverage is available down to ~1:9k. For more information on this map, including the terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=1b243539f4514b6ba35e7d995890db1d`,category:"Other",creationFunction:function(){return s0.fromBasemapType(Nm.HILLSHADE,{enablePickFeatures:!1})}})),e.push(new _s({name:"Esri World Ocean",iconUrl:rn("Widgets/Images/ImageryProviders/ArcGisMapServiceWorldOcean.png"),tooltip:`ArcGIS World Ocean map is designed to be used as a base map by marine GIS professionals and as a reference map by anyone interested in ocean data. The base map features marine bathymetry. Land features include inland waters and roads overlaid on land cover and shaded relief imagery. The map was compiled from a variety of best available sources from several data providers, including General Bathymetric Chart of the Oceans GEBCO_08 Grid, National Oceanic and Atmospheric Administration (NOAA), and National Geographic, Garmin, HERE, Geonames.org, and Esri, and various other contributors. The base map currently provides coverage for the world down to a scale of ~1:577k, and coverage down to 1:72k in US coastal areas, and various other areas. Coverage down to ~ 1:9k is available limited areas based on regional hydrographic survey data. The base map was designed and developed by Esri. For more information on this map, including our terms of use, visit us online at +https://www.arcgis.com/home/item.html?id=1e126e7520f9466c9ca28b8f28b5e500`,category:"Other",creationFunction:function(){return s0.fromBasemapType(Nm.OCEANS,{enablePickFeatures:!1})}})),e.push(new _s({name:"Open\xADStreet\xADMap",iconUrl:rn("Widgets/Images/ImageryProviders/openStreetMap.png"),tooltip:`OpenStreetMap (OSM) is a collaborative project to create a free editable map of the world. +http://www.openstreetmap.org`,category:"Other",creationFunction:function(){return new T0({url:"https://tile.openstreetmap.org/"})}})),e.push(new _s({name:"Stadia x Stamen Watercolor",iconUrl:rn("Widgets/Images/ImageryProviders/stamenWatercolor.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and reminiscent of hand drawn maps, the watercolor maps from Stamen Design apply raster effect area washes and organic edges over a paper texture to add warm pop to any map. +https://docs.stadiamaps.com/map-styles/stamen-watercolor/`,category:"Other",creationFunction:function(){return new T0({url:"https://tiles.stadiamaps.com/tiles/stamen_watercolor/",fileExtension:"jpg",credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> © <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new fs({name:"Stadia x Stamen Toner",iconUrl:on("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and the most popular of the excellent styles from Stamen Design, these high-contrast B+W (black and white) maps are the perfect backdrop for your colorful and eye-catching overlays. -https://docs.stadiamaps.com/map-styles/stamen-toner/`,category:"Other",creationFunction:function(){return new Jy({url:"https://tiles.stadiamaps.com/tiles/stamen_toner/",retinaTiles:t,credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new _s({name:"Stadia x Stamen Toner",iconUrl:rn("Widgets/Images/ImageryProviders/stamenToner.png"),tooltip:`Based on the original basemaps created for the Knight Foundation and the most popular of the excellent styles from Stamen Design, these high-contrast B+W (black and white) maps are the perfect backdrop for your colorful and eye-catching overlays. +https://docs.stadiamaps.com/map-styles/stamen-toner/`,category:"Other",creationFunction:function(){return new T0({url:"https://tiles.stadiamaps.com/tiles/stamen_toner/",retinaTiles:t,credit:`© <a href="https://stamen.com/" target="_blank">Stamen Design</a> © <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new fs({name:"Stadia Alidade Smooth",iconUrl:on("Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png"),tooltip:`Stadia's custom Alidade Smooth style is designed for maps that use a lot of markers or overlays. It features a muted color scheme and fewer points of interest to allow your added data to shine. -https://docs.stadiamaps.com/map-styles/alidade-smooth/`,category:"Other",creationFunction:function(){return new Jy({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new _s({name:"Stadia Alidade Smooth",iconUrl:rn("Widgets/Images/ImageryProviders/stadiaAlidadeSmooth.png"),tooltip:`Stadia's custom Alidade Smooth style is designed for maps that use a lot of markers or overlays. It features a muted color scheme and fewer points of interest to allow your added data to shine. +https://docs.stadiamaps.com/map-styles/alidade-smooth/`,category:"Other",creationFunction:function(){return new T0({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new fs({name:"Stadia Alidade Smooth Dark",iconUrl:on("Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png"),tooltip:`Stadia Alidade Smooth Dark, like its lighter cousin, is also designed to stay out of the way. It just flips the dark mode switch on the color scheme. With the lights out, your data can now literally shine. -https://docs.stadiamaps.com/map-styles/alidade-smooth-dark/`,category:"Other",creationFunction:function(){return new Jy({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new _s({name:"Stadia Alidade Smooth Dark",iconUrl:rn("Widgets/Images/ImageryProviders/stadiaAlidadeSmoothDark.png"),tooltip:`Stadia Alidade Smooth Dark, like its lighter cousin, is also designed to stay out of the way. It just flips the dark mode switch on the color scheme. With the lights out, your data can now literally shine. +https://docs.stadiamaps.com/map-styles/alidade-smooth-dark/`,category:"Other",creationFunction:function(){return new T0({url:"https://tiles.stadiamaps.com/tiles/alidade_smooth_dark/",retinaTiles:t,credit:`© <a href="https://www.stadiamaps.com/" target="_blank">Stadia Maps</a> © <a href="https://openmaptiles.org/" target="_blank">OpenMapTiles</a> - © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new fs({name:"Sentinel-2",iconUrl:on("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return Gy.fromAssetId(3954)}})),e.push(new fs({name:"Blue Marble",iconUrl:on("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return Gy.fromAssetId(3845)}})),e.push(new fs({name:"Earth at night",iconUrl:on("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return Gy.fromAssetId(3812)}})),e.push(new fs({name:"Natural Earth\xA0II",iconUrl:on("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. -http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return fb.fromUrl(on("Assets/Textures/NaturalEarthII"))}})),e}var R8=FCt;function BCt(){let e=[];return e.push(new fs({name:"WGS84 Ellipsoid",iconUrl:on("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new XE({ellipsoid:ee.WGS84})}})),e.push(new fs({name:"Cesium World Terrain",iconUrl:on("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return CS({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var O8=BCt;var qb="http://www.w3.org/2000/svg",NCe="http://www.w3.org/1999/xlink",M8,kP=H.fromCssColorString("rgba(247,250,255,0.384)"),L8=H.fromCssColorString("rgba(143,191,255,0.216)"),f$=H.fromCssColorString("rgba(153,197,255,0.098)"),N8=H.fromCssColorString("rgba(255,255,255,0.086)"),kCt=H.fromCssColorString("rgba(255,255,255,0.267)"),VCt=H.fromCssColorString("rgba(255,255,255,0)"),MCe=H.fromCssColorString("rgba(66,67,68,0.3)"),LCe=H.fromCssColorString("rgba(0,0,0,0.5)");function m0(e){return H.fromCssColorString(window.getComputedStyle(e).getPropertyValue("color"))}var VP={animation_pathReset:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.316,5.318,9.833,13.682,9.833,5.5,5.5,5.5,5.5,25.5,9.833,25.5,9.833,17.318,24.316,25.682z"},animation_pathPause:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M13,5.5,7.5,5.5,7.5,25.5,13,25.5zM24.5,5.5,19,5.5,19,25.5,24.5,25.5z"},animation_pathPlay:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathPlayReverse:{tagName:"path",transform:"translate(16,16) scale(-0.85,0.85) translate(-16,-16)",d:"M6.684,25.682L24.316,15.5L6.684,5.318V25.682z"},animation_pathLoop:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-16)",d:"M24.249,15.499c-0.009,4.832-3.918,8.741-8.75,8.75c-2.515,0-4.768-1.064-6.365-2.763l2.068-1.442l-7.901-3.703l0.744,8.694l2.193-1.529c2.244,2.594,5.562,4.242,9.26,4.242c6.767,0,12.249-5.482,12.249-12.249H24.249zM15.499,6.75c2.516,0,4.769,1.065,6.367,2.764l-2.068,1.443l7.901,3.701l-0.746-8.693l-2.192,1.529c-2.245-2.594-5.562-4.245-9.262-4.245C8.734,3.25,3.25,8.734,3.249,15.499H6.75C6.758,10.668,10.668,6.758,15.499,6.75z"},animation_pathClock:{tagName:"path",transform:"translate(16,16) scale(0.85) translate(-16,-15.5)",d:"M15.5,2.374C8.251,2.375,2.376,8.251,2.374,15.5C2.376,22.748,8.251,28.623,15.5,28.627c7.249-0.004,13.124-5.879,13.125-13.127C28.624,8.251,22.749,2.375,15.5,2.374zM15.5,25.623C9.909,25.615,5.385,21.09,5.375,15.5C5.385,9.909,9.909,5.384,15.5,5.374c5.59,0.01,10.115,4.535,10.124,10.125C25.615,21.09,21.091,25.615,15.5,25.623zM8.625,15.5c-0.001-0.552-0.448-0.999-1.001-1c-0.553,0-1,0.448-1,1c0,0.553,0.449,1,1,1C8.176,16.5,8.624,16.053,8.625,15.5zM8.179,18.572c-0.478,0.277-0.642,0.889-0.365,1.367c0.275,0.479,0.889,0.641,1.365,0.365c0.479-0.275,0.643-0.887,0.367-1.367C9.27,18.461,8.658,18.297,8.179,18.572zM9.18,10.696c-0.479-0.276-1.09-0.112-1.366,0.366s-0.111,1.09,0.365,1.366c0.479,0.276,1.09,0.113,1.367-0.366C9.821,11.584,9.657,10.973,9.18,10.696zM22.822,12.428c0.478-0.275,0.643-0.888,0.366-1.366c-0.275-0.478-0.89-0.642-1.366-0.366c-0.479,0.278-0.642,0.89-0.366,1.367C21.732,12.54,22.344,12.705,22.822,12.428zM12.062,21.455c-0.478-0.275-1.089-0.111-1.366,0.367c-0.275,0.479-0.111,1.09,0.366,1.365c0.478,0.277,1.091,0.111,1.365-0.365C12.704,22.344,12.54,21.732,12.062,21.455zM12.062,9.545c0.479-0.276,0.642-0.888,0.366-1.366c-0.276-0.478-0.888-0.642-1.366-0.366s-0.642,0.888-0.366,1.366C10.973,9.658,11.584,9.822,12.062,9.545zM22.823,18.572c-0.48-0.275-1.092-0.111-1.367,0.365c-0.275,0.479-0.112,1.092,0.367,1.367c0.477,0.275,1.089,0.113,1.365-0.365C23.464,19.461,23.3,18.848,22.823,18.572zM19.938,7.813c-0.477-0.276-1.091-0.111-1.365,0.366c-0.275,0.48-0.111,1.091,0.366,1.367s1.089,0.112,1.366-0.366C20.581,8.702,20.418,8.089,19.938,7.813zM23.378,14.5c-0.554,0.002-1.001,0.45-1.001,1c0.001,0.552,0.448,1,1.001,1c0.551,0,1-0.447,1-1C24.378,14.949,23.929,14.5,23.378,14.5zM15.501,6.624c-0.552,0-1,0.448-1,1l-0.466,7.343l-3.004,1.96c-0.478,0.277-0.642,0.889-0.365,1.365c0.275,0.479,0.889,0.643,1.365,0.367l3.305-1.676C15.39,16.99,15.444,17,15.501,17c0.828,0,1.5-0.671,1.5-1.5l-0.5-7.876C16.501,7.072,16.053,6.624,15.501,6.624zM15.501,22.377c-0.552,0-1,0.447-1,1s0.448,1,1,1s1-0.447,1-1S16.053,22.377,15.501,22.377zM18.939,21.455c-0.479,0.277-0.643,0.889-0.366,1.367c0.275,0.477,0.888,0.643,1.366,0.365c0.478-0.275,0.642-0.889,0.366-1.365C20.028,21.344,19.417,21.18,18.939,21.455z"},animation_pathWingButton:{tagName:"path",d:"m 4.5,0.5 c -2.216,0 -4,1.784 -4,4 l 0,24 c 0,2.216 1.784,4 4,4 l 13.71875,0 C 22.478584,27.272785 27.273681,22.511272 32.5,18.25 l 0,-13.75 c 0,-2.216 -1.784,-4 -4,-4 l -24,0 z"},animation_pathPointer:{tagName:"path",d:"M-15,-65,-15,-55,15,-55,15,-65,0,-95z"},animation_pathSwooshFX:{tagName:"path",d:"m 85,0 c 0,16.617 -4.813944,35.356 -13.131081,48.4508 h 6.099803 c 8.317138,-13.0948 13.13322,-28.5955 13.13322,-45.2124 0,-46.94483 -38.402714,-85.00262 -85.7743869,-85.00262 -1.0218522,0 -2.0373001,0.0241 -3.0506131,0.0589 45.958443,1.59437 82.723058,35.77285 82.723058,81.70532 z"}};function lh(e){let t=document.createElementNS(qb,e.tagName);for(let n in e)if(e.hasOwnProperty(n)&&n!=="tagName")if(n==="children"){let i=e.children.length;for(let o=0;o<i;++o)t.appendChild(lh(e.children[o]))}else n.indexOf("xlink:")===0?t.setAttributeNS(NCe,n.substring(6),e[n]):n==="textContent"?t.textContent=e[n]:t.setAttribute(n,e[n]);return t}function d$(e,t,n){let i=document.createElementNS(qb,"text");i.setAttribute("x",e),i.setAttribute("y",t),i.setAttribute("class","cesium-animation-svgText");let o=document.createElementNS(qb,"tspan");return o.textContent=n,i.appendChild(o),i}function UCt(e,t,n){e.setAttribute("transform",`translate(100,100) rotate(${n})`),t.setAttribute("transform",`rotate(${n})`)}var F8=new H;function Kr(e,t){let n=t.alpha,i=1-n;return F8.red=e.red*i+t.red*n,F8.green=e.green*i+t.green*n,F8.blue=e.blue*i+t.blue*n,F8.toCssColorString()}function h$(e,t,n){let i=VP[n],o={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{tagName:"rect",class:"cesium-animation-buttonGlow",width:32,height:32,rx:2,ry:2},{tagName:"rect",class:"cesium-animation-buttonMain",width:32,height:32,rx:4,ry:4},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return lh(o)}function zCt(e,t,n){let i=VP[n],o=VP.animation_pathWingButton,r={tagName:"g",class:"cesium-animation-rectButton",transform:`translate(${e},${t})`,children:[{class:"cesium-animation-buttonGlow",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonMain",id:"animation_pathWingButton",tagName:o.tagName,d:o.d},{class:"cesium-animation-buttonPath",id:n,tagName:i.tagName,transform:i.transform,d:i.d},{tagName:"title",textContent:""}]};return lh(r)}function HCt(e,t){let n=e._viewModel,i=n.shuttleRingDragging;if(!(i&&M8!==e))if(t.type==="mousedown"||i&&t.type==="mousemove"||t.type==="touchstart"&&t.touches.length===1||i&&t.type==="touchmove"&&t.touches.length===1){let o=e._centerX,r=e._centerY,a=e._svgNode.getBoundingClientRect(),c,u;if(t.type==="touchstart"||t.type==="touchmove"?(c=t.touches[0].clientX,u=t.touches[0].clientY):(c=t.clientX,u=t.clientY),!i&&(c>a.right||c<a.left||u<a.top||u>a.bottom))return;let f=e._shuttleRingPointer.getBoundingClientRect(),d=c-o-a.left,p=u-r-a.top,g=Math.atan2(p,d)*180/Math.PI+90;g>180&&(g-=360);let m=n.shuttleRingAngle;i||c<f.right&&c>f.left&&u>f.top&&u<f.bottom?(M8=e,n.shuttleRingDragging=!0,n.shuttleRingAngle=g):g<m?n.slower():g>m&&n.faster(),t.preventDefault()}else e===M8&&(M8=void 0),n.shuttleRingDragging=!1}function D_(e,t){this._viewModel=t,this.svgElement=e,this._enabled=void 0,this._toggled=void 0;let n=this;this._clickFunction=function(){let i=n._viewModel.command;i.canExecute&&i()},e.addEventListener("click",this._clickFunction,!0),this._subscriptions=[Ba(t,"toggled",this.setToggled,this),Ba(t,"tooltip",this.setTooltip,this),Ba(t.command,"canExecute",this.setEnabled,this)]}D_.prototype.destroy=function(){this.svgElement.removeEventListener("click",this._clickFunction,!0);let e=this._subscriptions;for(let t=0,n=e.length;t<n;t++)e[t].dispose();ue(this)};D_.prototype.isDestroyed=function(){return!1};D_.prototype.setEnabled=function(e){if(this._enabled!==e){if(this._enabled=e,!e){this.svgElement.setAttribute("class","cesium-animation-buttonDisabled");return}if(this._toggled){this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled");return}this.svgElement.setAttribute("class","cesium-animation-rectButton")}};D_.prototype.setToggled=function(e){this._toggled!==e&&(this._toggled=e,this._enabled&&(e?this.svgElement.setAttribute("class","cesium-animation-rectButton cesium-animation-buttonToggled"):this.svgElement.setAttribute("class","cesium-animation-rectButton")))};D_.prototype.setTooltip=function(e){this.svgElement.getElementsByTagName("title")[0].textContent=e};function OS(e,t){e=Mn(e),this._viewModel=t,this._container=e,this._centerX=0,this._centerY=0,this._defsElement=void 0,this._svgNode=void 0,this._topG=void 0,this._lastHeight=void 0,this._lastWidth=void 0;let n=e.ownerDocument,i=document.createElement("style");i.textContent=".cesium-animation-rectButton .cesium-animation-buttonGlow { filter: url(#animation_blurred); }.cesium-animation-rectButton .cesium-animation-buttonMain { fill: url(#animation_buttonNormal); }.cesium-animation-buttonToggled .cesium-animation-buttonMain { fill: url(#animation_buttonToggled); }.cesium-animation-rectButton:hover .cesium-animation-buttonMain { fill: url(#animation_buttonHovered); }.cesium-animation-buttonDisabled .cesium-animation-buttonMain { fill: url(#animation_buttonDisabled); }.cesium-animation-shuttleRingG .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshGradient); }.cesium-animation-shuttleRingG:hover .cesium-animation-shuttleRingSwoosh { fill: url(#animation_shuttleRingSwooshHovered); }.cesium-animation-shuttleRingPointer { fill: url(#animation_shuttleRingPointerGradient); }.cesium-animation-shuttleRingPausePointer { fill: url(#animation_shuttleRingPointerPaused); }.cesium-animation-knobOuter { fill: url(#animation_knobOuter); }.cesium-animation-knobInner { fill: url(#animation_knobInner); }",n.head.insertBefore(i,n.head.childNodes[0]);let o=document.createElement("div");o.className="cesium-animation-theme",o.innerHTML='<div class="cesium-animation-themeNormal"></div><div class="cesium-animation-themeHover"></div><div class="cesium-animation-themeSelect"></div><div class="cesium-animation-themeDisabled"></div><div class="cesium-animation-themeKnob"></div><div class="cesium-animation-themePointer"></div><div class="cesium-animation-themeSwoosh"></div><div class="cesium-animation-themeSwooshHover"></div>',this._theme=o,this._themeNormal=o.childNodes[0],this._themeHover=o.childNodes[1],this._themeSelect=o.childNodes[2],this._themeDisabled=o.childNodes[3],this._themeKnob=o.childNodes[4],this._themePointer=o.childNodes[5],this._themeSwoosh=o.childNodes[6],this._themeSwooshHover=o.childNodes[7];let r=document.createElementNS(qb,"svg:svg");this._svgNode=r,r.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink",NCe);let s=document.createElementNS(qb,"g");this._topG=s,this._realtimeSVG=new D_(zCt(3,4,"animation_pathClock"),t.playRealtimeViewModel),this._playReverseSVG=new D_(h$(44,99,"animation_pathPlayReverse"),t.playReverseViewModel),this._playForwardSVG=new D_(h$(124,99,"animation_pathPlay"),t.playForwardViewModel),this._pauseSVG=new D_(h$(84,99,"animation_pathPause"),t.pauseViewModel);let a=document.createElementNS(qb,"g");a.appendChild(this._realtimeSVG.svgElement),a.appendChild(this._playReverseSVG.svgElement),a.appendChild(this._playForwardSVG.svgElement),a.appendChild(this._pauseSVG.svgElement);let c=lh({tagName:"circle",class:"cesium-animation-shuttleRingBack",cx:100,cy:100,r:99});this._shuttleRingBackPanel=c;let u=VP.animation_pathSwooshFX,f=VP.animation_pathPointer,d=lh({tagName:"g",class:"cesium-animation-shuttleRingSwoosh",children:[{tagName:u.tagName,transform:"translate(100,97) scale(-1,1)",id:"animation_pathSwooshFX",d:u.d},{tagName:u.tagName,transform:"translate(100,97)",id:"animation_pathSwooshFX",d:u.d},{tagName:"line",x1:100,y1:8,x2:100,y2:22}]});this._shuttleRingSwooshG=d,this._shuttleRingPointer=lh({class:"cesium-animation-shuttleRingPointer",id:"animation_pathPointer",tagName:f.tagName,d:f.d});let p=lh({tagName:"g",transform:"translate(100,100)"});this._knobOuter=lh({tagName:"circle",class:"cesium-animation-knobOuter",cx:0,cy:0,r:71});let g=61,m=lh({tagName:"circle",class:"cesium-animation-knobInner",cx:0,cy:0,r:g});this._knobDate=d$(0,-24,""),this._knobTime=d$(0,-7,""),this._knobStatus=d$(0,-41,"");let x=lh({tagName:"circle",class:"cesium-animation-blank",cx:0,cy:0,r:g}),b=document.createElementNS(qb,"g");b.setAttribute("class","cesium-animation-shuttleRingG"),e.appendChild(o),s.appendChild(b),s.appendChild(p),s.appendChild(a),b.appendChild(c),b.appendChild(d),b.appendChild(this._shuttleRingPointer),p.appendChild(this._knobOuter),p.appendChild(m),p.appendChild(this._knobDate),p.appendChild(this._knobTime),p.appendChild(this._knobStatus),p.appendChild(x),r.appendChild(s),e.appendChild(r);let T=this;function C(O){HCt(T,O)}this._mouseCallback=C,c.addEventListener("mousedown",C,!0),c.addEventListener("touchstart",C,!0),d.addEventListener("mousedown",C,!0),d.addEventListener("touchstart",C,!0),n.addEventListener("mousemove",C,!0),n.addEventListener("touchmove",C,!0),n.addEventListener("mouseup",C,!0),n.addEventListener("touchend",C,!0),n.addEventListener("touchcancel",C,!0),this._shuttleRingPointer.addEventListener("mousedown",C,!0),this._shuttleRingPointer.addEventListener("touchstart",C,!0),this._knobOuter.addEventListener("mousedown",C,!0),this._knobOuter.addEventListener("touchstart",C,!0);let A=this._knobTime.childNodes[0],S=this._knobDate.childNodes[0],w=this._knobStatus.childNodes[0],D;this._subscriptions=[Ba(t.pauseViewModel,"toggled",function(O){D!==O&&(D=O,D?T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPausePointer"):T._shuttleRingPointer.setAttribute("class","cesium-animation-shuttleRingPointer"))}),Ba(t,"shuttleRingAngle",function(O){UCt(T._shuttleRingPointer,T._knobOuter,O)}),Ba(t,"dateLabel",function(O){S.textContent!==O&&(S.textContent=O)}),Ba(t,"timeLabel",function(O){A.textContent!==O&&(A.textContent=O)}),Ba(t,"multiplierLabel",function(O){w.textContent!==O&&(w.textContent=O)})],this.applyThemeChanges(),this.resize()}Object.defineProperties(OS.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});OS.prototype.isDestroyed=function(){return!1};OS.prototype.destroy=function(){l(this._observer)&&(this._observer.disconnect(),this._observer=void 0);let e=this._container.ownerDocument,t=this._mouseCallback;this._shuttleRingBackPanel.removeEventListener("mousedown",t,!0),this._shuttleRingBackPanel.removeEventListener("touchstart",t,!0),this._shuttleRingSwooshG.removeEventListener("mousedown",t,!0),this._shuttleRingSwooshG.removeEventListener("touchstart",t,!0),e.removeEventListener("mousemove",t,!0),e.removeEventListener("touchmove",t,!0),e.removeEventListener("mouseup",t,!0),e.removeEventListener("touchend",t,!0),e.removeEventListener("touchcancel",t,!0),this._shuttleRingPointer.removeEventListener("mousedown",t,!0),this._shuttleRingPointer.removeEventListener("touchstart",t,!0),this._knobOuter.removeEventListener("mousedown",t,!0),this._knobOuter.removeEventListener("touchstart",t,!0),this._container.removeChild(this._svgNode),this._container.removeChild(this._theme),this._realtimeSVG.destroy(),this._playReverseSVG.destroy(),this._playForwardSVG.destroy(),this._pauseSVG.destroy();let n=this._subscriptions;for(let i=0,o=n.length;i<o;i++)n[i].dispose();return ue(this)};OS.prototype.resize=function(){let e=this._container.clientWidth,t=this._container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;let n=this._svgNode,i=200,o=132,r=e,s=t;e===0&&t===0?(r=i,s=o):e===0?(s=t,r=i*(t/o)):t===0&&(r=e,s=o*(e/i));let a=r/i,c=s/o;n.style.cssText=`width: ${r}px; height: ${s}px; position: absolute; bottom: 0; left: 0; overflow: hidden;`,n.setAttribute("width",r),n.setAttribute("height",s),n.setAttribute("viewBox",`0 0 ${r} ${s}`),this._topG.setAttribute("transform",`scale(${a},${c})`),this._centerX=Math.max(1,100*a),this._centerY=Math.max(1,100*c),this._lastHeight=e,this._lastWidth=t};OS.prototype.applyThemeChanges=function(){let e=this._container.ownerDocument;if(!e.body.contains(this._container)){if(l(this._observer))return;let f=this;f._observer=new MutationObserver(function(){e.body.contains(f._container)&&(f._observer.disconnect(),f._observer=void 0,f.applyThemeChanges())}),f._observer.observe(e,{childList:!0,subtree:!0});return}let t=m0(this._themeNormal),n=m0(this._themeHover),i=m0(this._themeSelect),o=m0(this._themeDisabled),r=m0(this._themeKnob),s=m0(this._themePointer),a=m0(this._themeSwoosh),c=m0(this._themeSwooshHover),u=lh({tagName:"defs",children:[{id:"animation_buttonNormal",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Kr(t,kP)},{tagName:"stop",offset:"12%","stop-color":Kr(t,L8)},{tagName:"stop",offset:"46%","stop-color":Kr(t,f$)},{tagName:"stop",offset:"81%","stop-color":Kr(t,N8)}]},{id:"animation_buttonHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Kr(n,kP)},{tagName:"stop",offset:"12%","stop-color":Kr(n,L8)},{tagName:"stop",offset:"46%","stop-color":Kr(n,f$)},{tagName:"stop",offset:"81%","stop-color":Kr(n,N8)}]},{id:"animation_buttonToggled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Kr(i,kP)},{tagName:"stop",offset:"12%","stop-color":Kr(i,L8)},{tagName:"stop",offset:"46%","stop-color":Kr(i,f$)},{tagName:"stop",offset:"81%","stop-color":Kr(i,N8)}]},{id:"animation_buttonDisabled",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-color":Kr(o,kCt)},{tagName:"stop",offset:"75%","stop-color":Kr(o,VCt)}]},{id:"animation_blurred",tagName:"filter",width:"200%",height:"200%",x:"-50%",y:"-50%",children:[{tagName:"feGaussianBlur",stdDeviation:4,in:"SourceGraphic"}]},{id:"animation_shuttleRingSwooshGradient",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":a.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":a.toCssColorString()}]},{id:"animation_shuttleRingSwooshHovered",tagName:"linearGradient",x1:"50%",y1:"0%",x2:"50%",y2:"100%",children:[{tagName:"stop",offset:"0%","stop-opacity":.2,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"85%","stop-opacity":.85,"stop-color":c.toCssColorString()},{tagName:"stop",offset:"95%","stop-opacity":.05,"stop-color":c.toCssColorString()}]},{id:"animation_shuttleRingPointerGradient",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"40%","stop-color":s.toCssColorString()},{tagName:"stop",offset:"60%","stop-color":Kr(s,LCe)},{tagName:"stop",offset:"100%","stop-color":Kr(s,LCe)}]},{id:"animation_shuttleRingPointerPaused",tagName:"linearGradient",x1:"0%",y1:"50%",x2:"100%",y2:"50%",children:[{tagName:"stop",offset:"0%","stop-color":"#CCC"},{tagName:"stop",offset:"40%","stop-color":"#CCC"},{tagName:"stop",offset:"60%","stop-color":"#555"},{tagName:"stop",offset:"100%","stop-color":"#555"}]},{id:"animation_knobOuter",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":Kr(r,kP)},{tagName:"stop",offset:"60%","stop-color":Kr(r,MCe)},{tagName:"stop",offset:"85%","stop-color":Kr(r,L8)}]},{id:"animation_knobInner",tagName:"linearGradient",x1:"20%",y1:"0%",x2:"90%",y2:"100%",children:[{tagName:"stop",offset:"5%","stop-color":Kr(r,MCe)},{tagName:"stop",offset:"60%","stop-color":Kr(r,kP)},{tagName:"stop",offset:"85%","stop-color":Kr(r,N8)}]}]});l(this._defsElement)?this._svgNode.replaceChild(u,this._defsElement):this._svgNode.appendChild(u),this._defsElement=u};var B8=OS;var GCt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],p0=15,MS=105;function FCe(e,t){return e-t}function m$(e,t){let n=Po(t,e,FCe);return n<0?~n:n}function WCt(e,t){if(Math.abs(e)<=p0)return e/p0;let n=p0,i=MS,o,r=0,s;return e>0?(o=Math.log(t[t.length-1]),s=(o-r)/(i-n),Math.exp(r+s*(e-n))):(o=Math.log(-t[0]),s=(o-r)/(i-n),-Math.exp(r+s*(Math.abs(e)-n)))}function jCt(e,t,n){if(n.clockStep===_o.SYSTEM_CLOCK)return p0;if(Math.abs(e)<=1)return e*p0;let i=t[t.length-1];e>i?e=i:e<-i&&(e=-i);let o=p0,r=MS,s,a=0,c;return e>0?(s=Math.log(i),c=(s-a)/(r-o),(Math.log(e)-a)/c+o):(s=Math.log(-t[0]),c=(s-a)/(r-o),-((Math.log(Math.abs(e))-a)/c+o))}function Yf(e){let t=this;this._clockViewModel=e,this._allShuttleRingTicks=[],this._dateFormatter=Yf.defaultDateFormatter,this._timeFormatter=Yf.defaultTimeFormatter,this.shuttleRingDragging=!1,this.snapToTicks=!1,be.track(this,["_allShuttleRingTicks","_dateFormatter","_timeFormatter","shuttleRingDragging","snapToTicks"]),this._sortedFilteredPositiveTicks=[],this.setShuttleRingTicks(Yf.defaultTicks),this.timeLabel=void 0,be.defineProperty(this,"timeLabel",function(){return t._timeFormatter(t._clockViewModel.currentTime,t)}),this.dateLabel=void 0,be.defineProperty(this,"dateLabel",function(){return t._dateFormatter(t._clockViewModel.currentTime,t)}),this.multiplierLabel=void 0,be.defineProperty(this,"multiplierLabel",function(){let s=t._clockViewModel;if(s.clockStep===_o.SYSTEM_CLOCK)return"Today";let a=s.multiplier;return a%1===0?`${a.toFixed(0)}x`:`${a.toFixed(3).replace(/0{0,3}$/,"")}x`}),this.shuttleRingAngle=void 0,be.defineProperty(this,"shuttleRingAngle",{get:function(){return jCt(e.multiplier,t._allShuttleRingTicks,e)},set:function(s){s=Math.max(Math.min(s,MS),-MS);let a=t._allShuttleRingTicks,c=t._clockViewModel;if(c.clockStep=_o.SYSTEM_CLOCK_MULTIPLIER,Math.abs(s)===MS){c.multiplier=s>0?a[a.length-1]:a[0];return}let u=WCt(s,a);if(t.snapToTicks)u=a[m$(u,a)];else if(u!==0){let f=Math.abs(u);if(f>100){let d=f.toFixed(0).length-2,p=Math.pow(10,d);u=Math.round(u/p)*p|0}else f>p0?u=Math.round(u):f>1?u=+u.toFixed(1):f>0&&(u=+u.toFixed(2))}c.multiplier=u}}),this._canAnimate=void 0,be.defineProperty(this,"_canAnimate",function(){let s=t._clockViewModel,a=s.clockRange;if(t.shuttleRingDragging||a===jr.UNBOUNDED)return!0;let c=s.multiplier,u=s.currentTime,f=s.startTime,d=!1;if(a===jr.LOOP_STOP)d=K.greaterThan(u,f)||u.equals(f)&&c>0;else{let p=s.stopTime;d=K.greaterThan(u,f)&&K.lessThan(u,p)||u.equals(f)&&c>0||u.equals(p)&&c<0}return d||(s.shouldAnimate=!1),d}),this._isSystemTimeAvailable=void 0,be.defineProperty(this,"_isSystemTimeAvailable",function(){let s=t._clockViewModel;if(s.clockRange===jr.UNBOUNDED)return!0;let c=s.systemTime;return K.greaterThanOrEquals(c,s.startTime)&&K.lessThanOrEquals(c,s.stopTime)}),this._isAnimating=void 0,be.defineProperty(this,"_isAnimating",function(){return t._clockViewModel.shouldAnimate&&(t._canAnimate||t.shuttleRingDragging)});let n=Dn(function(){let s=t._clockViewModel;s.shouldAnimate?s.shouldAnimate=!1:t._canAnimate&&(s.shouldAnimate=!0)});this._pauseViewModel=new jb(n,{toggled:be.computed(function(){return!t._isAnimating}),tooltip:"Pause"});let i=Dn(function(){let s=t._clockViewModel,a=s.multiplier;a>0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playReverseViewModel=new jb(i,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier<0}),tooltip:"Play Reverse"});let o=Dn(function(){let s=t._clockViewModel,a=s.multiplier;a<0&&(s.multiplier=-a),s.shouldAnimate=!0});this._playForwardViewModel=new jb(o,{toggled:be.computed(function(){return t._isAnimating&&e.multiplier>0&&e.clockStep!==_o.SYSTEM_CLOCK}),tooltip:"Play Forward"});let r=Dn(function(){t._clockViewModel.clockStep=_o.SYSTEM_CLOCK},be.getObservable(this,"_isSystemTimeAvailable"));this._playRealtimeViewModel=new jb(r,{toggled:be.computed(function(){return e.clockStep===_o.SYSTEM_CLOCK}),tooltip:be.computed(function(){return t._isSystemTimeAvailable?"Today (real-time)":"Current time not in range"})}),this._slower=Dn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=m$(c,a)-1;u>=0&&(s.multiplier=a[u])}),this._faster=Dn(function(){let s=t._clockViewModel,a=t._allShuttleRingTicks,c=s.multiplier,u=m$(c,a)+1;u<a.length&&(s.multiplier=a[u])})}Yf.defaultDateFormatter=function(e,t){let n=K.toGregorianDate(e);return`${GCt[n.month-1]} ${n.day} ${n.year}`};Yf.defaultTicks=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800];Yf.defaultTimeFormatter=function(e,t){let n=K.toGregorianDate(e),i=Math.round(n.millisecond);return Math.abs(t._clockViewModel.multiplier)<1?`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")}.${i.toString().padStart(3,"0")}`:`${n.hour.toString().padStart(2,"0")}:${n.minute.toString().padStart(2,"0")}:${n.second.toString().padStart(2,"0")} UTC`};Yf.prototype.getShuttleRingTicks=function(){return this._sortedFilteredPositiveTicks.slice(0)};Yf.prototype.setShuttleRingTicks=function(e){let t,n,i,o={},r=this._sortedFilteredPositiveTicks;for(r.length=0,t=0,n=e.length;t<n;++t)i=e[t],o.hasOwnProperty(i)||(o[i]=!0,r.push(i));r.sort(FCe);let s=[];for(n=r.length,t=n-1;t>=0;--t)i=r[t],i!==0&&s.push(-i);Array.prototype.push.apply(s,r),this._allShuttleRingTicks=s};Object.defineProperties(Yf.prototype,{slower:{get:function(){return this._slower}},faster:{get:function(){return this._faster}},clockViewModel:{get:function(){return this._clockViewModel}},pauseViewModel:{get:function(){return this._pauseViewModel}},playReverseViewModel:{get:function(){return this._playReverseViewModel}},playForwardViewModel:{get:function(){return this._playForwardViewModel}},playRealtimeViewModel:{get:function(){return this._playRealtimeViewModel}},dateFormatter:{get:function(){return this._dateFormatter},set:function(e){this._dateFormatter=e}},timeFormatter:{get:function(){return this._timeFormatter},set:function(e){this._timeFormatter=e}}});Yf._maxShuttleRingAngle=MS;Yf._realtimeShuttleRingAngle=p0;var k8=Yf;function qCt(e){return function(t){let n=e._scene.pick(t.position);l(n)&&n.primitive instanceof Da&&(e.tileset=n.primitive),e.pickActive=!1}}function kCe(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);l(i)&&i.primitive instanceof Da&&(e.tileset=i.primitive)},Cn.MOUSE_MOVE):(e._eventHandler.removeInputAction(Cn.MOUSE_MOVE),e.picking=e.picking)}var YCt={maximumFractionDigits:3};function UP(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,YCt):Math.round(t).toLocaleString()}function zP(e,t){if(!l(e))return"";let n=t?e._statisticsPerPass[Fo.PICK]:e._statisticsPerPass[Fo.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${UP(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${UP(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${UP(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function VCe(){let e=Ci.statistics;return` + © <a href="https://www.openstreetmap.org/about/" target="_blank">OpenStreetMap contributors</a>`})}})),e.push(new _s({name:"Sentinel-2",iconUrl:rn("Widgets/Images/ImageryProviders/sentinel-2.png"),tooltip:"Sentinel-2 cloudless by EOX IT Services GmbH (Contains modified Copernicus Sentinel data 2016 and 2017).",category:"Cesium ion",creationFunction:function(){return a0.fromAssetId(3954)}})),e.push(new _s({name:"Blue Marble",iconUrl:rn("Widgets/Images/ImageryProviders/blueMarble.png"),tooltip:"Blue Marble Next Generation July, 2004 imagery from NASA.",category:"Cesium ion",creationFunction:function(){return a0.fromAssetId(3845)}})),e.push(new _s({name:"Earth at night",iconUrl:rn("Widgets/Images/ImageryProviders/earthAtNight.png"),tooltip:"The Earth at night, also known as The Black Marble, is a 500 meter resolution global composite imagery layer released by NASA.",category:"Cesium ion",creationFunction:function(){return a0.fromAssetId(3812)}})),e.push(new _s({name:"Natural Earth\xA0II",iconUrl:rn("Widgets/Images/ImageryProviders/naturalEarthII.png"),tooltip:`Natural Earth II, darkened for contrast. +http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:function(){return Eb.fromUrl(rn("Assets/Textures/NaturalEarthII"))}})),e}var G8=OAt;function RAt(){let e=[];return e.push(new _s({name:"WGS84 Ellipsoid",iconUrl:rn("Widgets/Images/TerrainProviders/Ellipsoid.png"),tooltip:"WGS84 standard ellipsoid, also known as EPSG:4326",category:"Cesium ion",creationFunction:function(){return new UE({ellipsoid:ee.WGS84})}})),e.push(new _s({name:"Cesium World Terrain",iconUrl:rn("Widgets/Images/TerrainProviders/CesiumWorldTerrain.png"),tooltip:"High-resolution global terrain tileset curated from several datasources and hosted by Cesium ion",category:"Cesium ion",creationFunction:function(){return FE({requestWaterMask:!0,requestVertexNormals:!0})}})),e}var W8=RAt;function MAt(e){return function(t){let n=e._scene.pick(t.position);l(n)&&n.primitive instanceof ws&&(e.tileset=n.primitive),e.pickActive=!1}}function eAe(e,t){t?e._eventHandler.setInputAction(function(n){let i=e._scene.pick(n.endPosition);l(i)&&i.primitive instanceof ws&&(e.tileset=i.primitive)},Cn.MOUSE_MOVE):(e._eventHandler.removeInputAction(Cn.MOUSE_MOVE),e.picking=e.picking)}var LAt={maximumFractionDigits:3};function YP(e){let t=e/1048576;return t<1?t.toLocaleString(void 0,LAt):Math.round(t).toLocaleString()}function XP(e,t){if(!l(e))return"";let n=t?e._statisticsPerPass[Vo.PICK]:e._statisticsPerPass[Vo.RENDER],i='<ul class="cesium-cesiumInspector-statistics">';return i+=`<li><strong>Visited: </strong>${n.visited.toLocaleString()}</li><li><strong>Selected: </strong>${n.selected.toLocaleString()}</li><li><strong>Commands: </strong>${n.numberOfCommands.toLocaleString()}</li>`,i+="</ul>",t||(i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Requests: </strong>${n.numberOfPendingRequests.toLocaleString()}</li><li><strong>Attempted: </strong>${n.numberOfAttemptedRequests.toLocaleString()}</li><li><strong>Processing: </strong>${n.numberOfTilesProcessing.toLocaleString()}</li><li><strong>Content Ready: </strong>${n.numberOfTilesWithContentReady.toLocaleString()}</li><li><strong>Total: </strong>${n.numberOfTilesTotal.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Features Selected: </strong>${n.numberOfFeaturesSelected.toLocaleString()}</li><li><strong>Features Loaded: </strong>${n.numberOfFeaturesLoaded.toLocaleString()}</li><li><strong>Points Selected: </strong>${n.numberOfPointsSelected.toLocaleString()}</li><li><strong>Points Loaded: </strong>${n.numberOfPointsLoaded.toLocaleString()}</li><li><strong>Triangles Selected: </strong>${n.numberOfTrianglesSelected.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Tiles styled: </strong>${n.numberOfTilesStyled.toLocaleString()}</li><li><strong>Features styled: </strong>${n.numberOfFeaturesStyled.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Children Union Culled: </strong>${n.numberOfTilesCulledWithChildrenUnion.toLocaleString()}</li>`,i+="</ul>",i+='<ul class="cesium-cesiumInspector-statistics">',i+=`<li><strong>Geometry Memory (MB): </strong>${YP(n.geometryByteLength)}</li><li><strong>Texture Memory (MB): </strong>${YP(n.texturesByteLength)}</li><li><strong>Batch Table Memory (MB): </strong>${YP(n.batchTableByteLength)}</li>`,i+="</ul>"),i}function tAe(){let e=Si.statistics;return` <ul class="cesium-cesiumInspector-statistics"> - <li><strong>Geometry Memory (MB): </strong>${UP(e.geometryByteLength)}</li> - <li><strong>Texture Memory (MB): </strong>${UP(e.texturesByteLength)}</li> + <li><strong>Geometry Memory (MB): </strong>${YP(e.geometryByteLength)}</li> + <li><strong>Texture Memory (MB): </strong>${YP(e.texturesByteLength)}</li> </ul> - `}var XCt=[{text:"Highlight",value:Ql.HIGHLIGHT},{text:"Replace",value:Ql.REPLACE},{text:"Mix",value:Ql.MIX}],BCe=new H(1,1,0,.4),KCt=new H,V8=new H;function ga(e,t){let n=this,i=e.canvas;this._eventHandler=new Nf(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new e0({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,be.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=be.observable({}),this.properties=[],be.defineProperty(this,"properties",function(){let k=[],Y=n._properties();for(let W in Y)Y.hasOwnProperty(W)&&k.push(W);return k});let o=be.observable();be.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(k){o(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceError=k)}}),this.dynamicScreenSpaceError=!1;let r=be.observable();be.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(k){r(k),l(n._tileset)&&(n._tileset.colorBlendMode=k,n._scene.requestRender())}}),this.colorBlendMode=Ql.HIGHLIGHT;let s=be.observable(),a=be.observable();be.defineProperty(this,"picking",{get:function(){return a()},set:function(k){a(k),k?n._eventHandler.setInputAction(function(Y){let W=e.pick(Y.endPosition);if(W instanceof Js?(n.feature=W,n.tile=W.content.tile):l(W)&&l(W.content)?(n.feature=void 0,n.tile=W.content.tile):(n.feature=void 0,n.tile=void 0),!!l(n._tileset)){if(s&&l(W)&&l(W.content)){let J;e.pickPositionSupported&&(J=e.pickPosition(Y.endPosition),l(J)&&(n._tileset.debugPickPosition=J)),n._tileset.debugPickedTile=W.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},Cn.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(Cn.MOUSE_MOVE))}}),this.picking=!0;let c=be.observable();be.defineProperty(this,"colorize",{get:function(){return c()},set:function(k){c(k),l(n._tileset)&&(n._tileset.debugColorizeTiles=k,n._scene.requestRender())}}),this.colorize=!1;let u=be.observable();be.defineProperty(this,"wireframe",{get:function(){return u()},set:function(k){u(k),l(n._tileset)&&(n._tileset.debugWireframe=k,n._scene.requestRender())}}),this.wireframe=!1;let f=be.observable();be.defineProperty(this,"showBoundingVolumes",{get:function(){return f()},set:function(k){f(k),l(n._tileset)&&(n._tileset.debugShowBoundingVolume=k,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let d=be.observable();be.defineProperty(this,"showContentBoundingVolumes",{get:function(){return d()},set:function(k){d(k),l(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=k,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=be.observable();be.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(k){p(k),l(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=k,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=be.observable();be.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(k){g(k),l(n._tileset)&&(n._tileset.debugFreezeFrame=k,n._scene.debugShowFrustumPlanes=k,n._scene.requestRender())}}),this.freezeFrame=!1,be.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(k){s(k),l(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=k,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let m=be.observable();be.defineProperty(this,"showGeometricError",{get:function(){return m()},set:function(k){m(k),l(n._tileset)&&(n._tileset.debugShowGeometricError=k,n._scene.requestRender())}}),this.showGeometricError=!1;let x=be.observable();be.defineProperty(this,"showRenderingStatistics",{get:function(){return x()},set:function(k){x(k),l(n._tileset)&&(n._tileset.debugShowRenderingStatistics=k,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let b=be.observable();be.defineProperty(this,"showMemoryUsage",{get:function(){return b()},set:function(k){b(k),l(n._tileset)&&(n._tileset.debugShowMemoryUsage=k,n._scene.requestRender())}}),this.showMemoryUsage=!1;let T=be.observable();be.defineProperty(this,"showUrl",{get:function(){return T()},set:function(k){T(k),l(n._tileset)&&(n._tileset.debugShowUrl=k,n._scene.requestRender())}}),this.showUrl=!1;let C=be.observable();be.defineProperty(this,"maximumScreenSpaceError",{get:function(){return C()},set:function(k){k=Number(k),isNaN(k)||(C(k),l(n._tileset)&&(n._tileset.maximumScreenSpaceError=k))}}),this.maximumScreenSpaceError=16;let A=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return A()},set:function(k){k=Number(k),isNaN(k)||(A(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=k))}}),this.dynamicScreenSpaceErrorDensity=2e-4,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,be.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(A(),1/6)},set:function(k){let Y=Math.pow(k,6);A(Y),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=Y)}});let S=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return S()},set:function(k){k=Number(k),isNaN(k)||(S(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=k))}}),this.dynamicScreenSpaceErrorFactor=24;let w=qCt(this),D=be.observable();be.defineProperty(this,"pickActive",{get:function(){return D()},set:function(k){D(k),k?n._eventHandler.setInputAction(w,Cn.LEFT_CLICK):n._eventHandler.removeInputAction(Cn.LEFT_CLICK)}});let O=be.observable();be.defineProperty(this,"pointCloudShading",{get:function(){return O()},set:function(k){O(k),l(n._tileset)&&(n._tileset.pointCloudShading.attenuation=k)}}),this.pointCloudShading=!1;let R=be.observable();be.defineProperty(this,"geometricErrorScale",{get:function(){return R()},set:function(k){k=Number(k),isNaN(k)||(R(k),l(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=k))}}),this.geometricErrorScale=1;let M=be.observable();be.defineProperty(this,"maximumAttenuation",{get:function(){return M()},set:function(k){k=Number(k),isNaN(k)||(M(k),l(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=k===0?void 0:k))}}),this.maximumAttenuation=0;let L=be.observable();be.defineProperty(this,"baseResolution",{get:function(){return L()},set:function(k){k=Number(k),isNaN(k)||(L(k),l(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=k===0?void 0:k))}}),this.baseResolution=0;let _=be.observable();be.defineProperty(this,"eyeDomeLighting",{get:function(){return _()},set:function(k){_(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=k)}}),this.eyeDomeLighting=!1;let E=be.observable();be.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return E()},set:function(k){k=Number(k),isNaN(k)||(E(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=k))}}),this.eyeDomeLightingStrength=1;let v=be.observable();be.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return v()},set:function(k){k=Number(k),isNaN(k)||(v(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=k))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let I=be.observable();be.defineProperty(this,"skipLevelOfDetail",{get:function(){return I()},set:function(k){I(k),l(n._tileset)&&(n._tileset.skipLevelOfDetail=k)}}),this.skipLevelOfDetail=!0;let N=be.observable();be.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return N()},set:function(k){k=Number(k),isNaN(k)||(N(k),l(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=k))}}),this.skipScreenSpaceErrorFactor=16;let B=be.observable();be.defineProperty(this,"baseScreenSpaceError",{get:function(){return B()},set:function(k){k=Number(k),isNaN(k)||(B(k),l(n._tileset)&&(n._tileset.baseScreenSpaceError=k))}}),this.baseScreenSpaceError=1024;let z=be.observable();be.defineProperty(this,"skipLevels",{get:function(){return z()},set:function(k){k=Number(k),isNaN(k)||(z(k),l(n._tileset)&&(n._tileset.skipLevels=k))}}),this.skipLevels=1;let V=be.observable();be.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return V()},set:function(k){V(k),l(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=k)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let G=be.observable();be.defineProperty(this,"loadSiblings",{get:function(){return G()},set:function(k){G(k),l(n._tileset)&&(n._tileset.loadSiblings=k)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),l(this._tileset)||kCe(this,!0)}Object.defineProperties(ga.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return XCt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,l(e)){this._properties(e.properties);let t=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],n=t.length;for(let o=0;o<n;++o){let r=t[o];this[r]=this[r]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings,this.hasEnabledWireframe=e._enableDebugWireframe;let i=e.pointCloudShading;this.pointCloudShading=i.attenuation,this.geometricErrorScale=i.geometricErrorScale,this.maximumAttenuation=i.maximumAttenuation?i.maximumAttenuation:0,this.baseResolution=i.baseResolution?i.baseResolution:0,this.eyeDomeLighting=i.eyeDomeLighting,this.eyeDomeLightingStrength=i.eyeDomeLightingStrength,this.eyeDomeLightingRadius=i.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=zP(e,!1),this._pickStatisticsText=zP(e,!0),this._resourceCacheStatisticsText=VCe(),kCe(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;l(t)&&!t.content.isDestroyed()&&(!this.colorize&&l(this._style)?t.color=l(this._style.color)?this._style.color.evaluateColor(t,KCt):H.WHITE:t.color=V8,this._scene.requestRender()),l(e)&&(H.clone(e.color,V8),e.color=BCe,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;l(t)&&!t.isDestroyed()&&!p$(t.content)&&(t.color=V8,this._scene.requestRender()),l(e)&&!p$(e.content)&&(H.clone(e.color,V8),e.color=BCe,this._scene.requestRender()),this._tile=e}}});function p$(e){if(!l(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)if(!p$(t[i]))return!1;return!0}return!1}ga.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};ga.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};ga.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};ga.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};ga.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};ga.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};ga.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};ga.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};ga.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};ga.prototype.trimTilesCache=function(){l(this._tileset)&&this._tileset.trimLoadedTiles()};ga.prototype.compileStyle=function(){let e=this._tileset;if(!(!l(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new RE(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};ga.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` + `}var NAt=[{text:"Highlight",value:nu.HIGHLIGHT},{text:"Replace",value:nu.REPLACE},{text:"Mix",value:nu.MIX}],JCe=new z(1,1,0,.4),FAt=new z,j8=new z;function Ca(e,t){let n=this,i=e.canvas;this._eventHandler=new Gf(i),this._scene=e,this._performanceContainer=t,this._canvas=i,this._performanceDisplay=new h0({container:t}),this._statisticsText="",this._pickStatisticsText="",this._resourceCacheStatisticsText="",this._editorError="",this.performance=!1,this.showStatistics=!0,this.showPickStatistics=!0,this.showResourceCacheStatistics=!1,this.inspectorVisible=!0,this.tilesetVisible=!1,this.displayVisible=!1,this.updateVisible=!1,this.loggingVisible=!1,this.styleVisible=!1,this.tileDebugLabelsVisible=!1,this.optimizationVisible=!1,this.styleString="{}",this.hasEnabledWireframe=!1,this._tileset=void 0,this._feature=void 0,this._tile=void 0,be.track(this,["performance","inspectorVisible","_statisticsText","_pickStatisticsText","_resourceCacheStatisticsText","_editorError","showPickStatistics","showStatistics","showResourceCacheStatistics","tilesetVisible","displayVisible","updateVisible","loggingVisible","styleVisible","optimizationVisible","tileDebugLabelsVisible","styleString","_feature","_tile","_tileset","hasEnabledWireframe"]),this._properties=be.observable({}),this.properties=[],be.defineProperty(this,"properties",function(){let k=[],W=n._properties();for(let Y in W)W.hasOwnProperty(Y)&&k.push(Y);return k});let o=be.observable();be.defineProperty(this,"dynamicScreenSpaceError",{get:function(){return o()},set:function(k){o(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceError=k)}}),this.dynamicScreenSpaceError=!1;let r=be.observable();be.defineProperty(this,"colorBlendMode",{get:function(){return r()},set:function(k){r(k),l(n._tileset)&&(n._tileset.colorBlendMode=k,n._scene.requestRender())}}),this.colorBlendMode=nu.HIGHLIGHT;let s=be.observable(),a=be.observable();be.defineProperty(this,"picking",{get:function(){return a()},set:function(k){a(k),k?n._eventHandler.setInputAction(function(W){let Y=e.pick(W.endPosition);if(Y instanceof oa?(n.feature=Y,n.tile=Y.content.tile):l(Y)&&l(Y.content)?(n.feature=void 0,n.tile=Y.content.tile):(n.feature=void 0,n.tile=void 0),!!l(n._tileset)){if(s&&l(Y)&&l(Y.content)){let J;e.pickPositionSupported&&(J=e.pickPosition(W.endPosition),l(J)&&(n._tileset.debugPickPosition=J)),n._tileset.debugPickedTile=Y.content.tile}else n._tileset.debugPickedTile=void 0;n._scene.requestRender()}},Cn.MOUSE_MOVE):(n.feature=void 0,n.tile=void 0,n._eventHandler.removeInputAction(Cn.MOUSE_MOVE))}}),this.picking=!0;let c=be.observable();be.defineProperty(this,"colorize",{get:function(){return c()},set:function(k){c(k),l(n._tileset)&&(n._tileset.debugColorizeTiles=k,n._scene.requestRender())}}),this.colorize=!1;let u=be.observable();be.defineProperty(this,"wireframe",{get:function(){return u()},set:function(k){u(k),l(n._tileset)&&(n._tileset.debugWireframe=k,n._scene.requestRender())}}),this.wireframe=!1;let f=be.observable();be.defineProperty(this,"showBoundingVolumes",{get:function(){return f()},set:function(k){f(k),l(n._tileset)&&(n._tileset.debugShowBoundingVolume=k,n._scene.requestRender())}}),this.showBoundingVolumes=!1;let d=be.observable();be.defineProperty(this,"showContentBoundingVolumes",{get:function(){return d()},set:function(k){d(k),l(n._tileset)&&(n._tileset.debugShowContentBoundingVolume=k,n._scene.requestRender())}}),this.showContentBoundingVolumes=!1;let p=be.observable();be.defineProperty(this,"showRequestVolumes",{get:function(){return p()},set:function(k){p(k),l(n._tileset)&&(n._tileset.debugShowViewerRequestVolume=k,n._scene.requestRender())}}),this.showRequestVolumes=!1;let g=be.observable();be.defineProperty(this,"freezeFrame",{get:function(){return g()},set:function(k){g(k),l(n._tileset)&&(n._tileset.debugFreezeFrame=k,n._scene.debugShowFrustumPlanes=k,n._scene.requestRender())}}),this.freezeFrame=!1,be.defineProperty(this,"showOnlyPickedTileDebugLabel",{get:function(){return s()},set:function(k){s(k),l(n._tileset)&&(n._tileset.debugPickedTileLabelOnly=k,n._scene.requestRender())}}),this.showOnlyPickedTileDebugLabel=!1;let m=be.observable();be.defineProperty(this,"showGeometricError",{get:function(){return m()},set:function(k){m(k),l(n._tileset)&&(n._tileset.debugShowGeometricError=k,n._scene.requestRender())}}),this.showGeometricError=!1;let x=be.observable();be.defineProperty(this,"showRenderingStatistics",{get:function(){return x()},set:function(k){x(k),l(n._tileset)&&(n._tileset.debugShowRenderingStatistics=k,n._scene.requestRender())}}),this.showRenderingStatistics=!1;let b=be.observable();be.defineProperty(this,"showMemoryUsage",{get:function(){return b()},set:function(k){b(k),l(n._tileset)&&(n._tileset.debugShowMemoryUsage=k,n._scene.requestRender())}}),this.showMemoryUsage=!1;let T=be.observable();be.defineProperty(this,"showUrl",{get:function(){return T()},set:function(k){T(k),l(n._tileset)&&(n._tileset.debugShowUrl=k,n._scene.requestRender())}}),this.showUrl=!1;let C=be.observable();be.defineProperty(this,"maximumScreenSpaceError",{get:function(){return C()},set:function(k){k=Number(k),isNaN(k)||(C(k),l(n._tileset)&&(n._tileset.maximumScreenSpaceError=k))}}),this.maximumScreenSpaceError=16;let A=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorDensity",{get:function(){return A()},set:function(k){k=Number(k),isNaN(k)||(A(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=k))}}),this.dynamicScreenSpaceErrorDensity=2e-4,this.dynamicScreenSpaceErrorDensitySliderValue=void 0,be.defineProperty(this,"dynamicScreenSpaceErrorDensitySliderValue",{get:function(){return Math.pow(A(),1/6)},set:function(k){let W=Math.pow(k,6);A(W),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorDensity=W)}});let S=be.observable();be.defineProperty(this,"dynamicScreenSpaceErrorFactor",{get:function(){return S()},set:function(k){k=Number(k),isNaN(k)||(S(k),l(n._tileset)&&(n._tileset.dynamicScreenSpaceErrorFactor=k))}}),this.dynamicScreenSpaceErrorFactor=24;let v=MAt(this),D=be.observable();be.defineProperty(this,"pickActive",{get:function(){return D()},set:function(k){D(k),k?n._eventHandler.setInputAction(v,Cn.LEFT_CLICK):n._eventHandler.removeInputAction(Cn.LEFT_CLICK)}});let R=be.observable();be.defineProperty(this,"pointCloudShading",{get:function(){return R()},set:function(k){R(k),l(n._tileset)&&(n._tileset.pointCloudShading.attenuation=k)}}),this.pointCloudShading=!1;let O=be.observable();be.defineProperty(this,"geometricErrorScale",{get:function(){return O()},set:function(k){k=Number(k),isNaN(k)||(O(k),l(n._tileset)&&(n._tileset.pointCloudShading.geometricErrorScale=k))}}),this.geometricErrorScale=1;let M=be.observable();be.defineProperty(this,"maximumAttenuation",{get:function(){return M()},set:function(k){k=Number(k),isNaN(k)||(M(k),l(n._tileset)&&(n._tileset.pointCloudShading.maximumAttenuation=k===0?void 0:k))}}),this.maximumAttenuation=0;let N=be.observable();be.defineProperty(this,"baseResolution",{get:function(){return N()},set:function(k){k=Number(k),isNaN(k)||(N(k),l(n._tileset)&&(n._tileset.pointCloudShading.baseResolution=k===0?void 0:k))}}),this.baseResolution=0;let _=be.observable();be.defineProperty(this,"eyeDomeLighting",{get:function(){return _()},set:function(k){_(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLighting=k)}}),this.eyeDomeLighting=!1;let E=be.observable();be.defineProperty(this,"eyeDomeLightingStrength",{get:function(){return E()},set:function(k){k=Number(k),isNaN(k)||(E(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingStrength=k))}}),this.eyeDomeLightingStrength=1;let w=be.observable();be.defineProperty(this,"eyeDomeLightingRadius",{get:function(){return w()},set:function(k){k=Number(k),isNaN(k)||(w(k),l(n._tileset)&&(n._tileset.pointCloudShading.eyeDomeLightingRadius=k))}}),this.eyeDomeLightingRadius=1,this.pickActive=!1;let I=be.observable();be.defineProperty(this,"skipLevelOfDetail",{get:function(){return I()},set:function(k){I(k),l(n._tileset)&&(n._tileset.skipLevelOfDetail=k)}}),this.skipLevelOfDetail=!0;let L=be.observable();be.defineProperty(this,"skipScreenSpaceErrorFactor",{get:function(){return L()},set:function(k){k=Number(k),isNaN(k)||(L(k),l(n._tileset)&&(n._tileset.skipScreenSpaceErrorFactor=k))}}),this.skipScreenSpaceErrorFactor=16;let B=be.observable();be.defineProperty(this,"baseScreenSpaceError",{get:function(){return B()},set:function(k){k=Number(k),isNaN(k)||(B(k),l(n._tileset)&&(n._tileset.baseScreenSpaceError=k))}}),this.baseScreenSpaceError=1024;let H=be.observable();be.defineProperty(this,"skipLevels",{get:function(){return H()},set:function(k){k=Number(k),isNaN(k)||(H(k),l(n._tileset)&&(n._tileset.skipLevels=k))}}),this.skipLevels=1;let V=be.observable();be.defineProperty(this,"immediatelyLoadDesiredLevelOfDetail",{get:function(){return V()},set:function(k){V(k),l(n._tileset)&&(n._tileset.immediatelyLoadDesiredLevelOfDetail=k)}}),this.immediatelyLoadDesiredLevelOfDetail=!1;let G=be.observable();be.defineProperty(this,"loadSiblings",{get:function(){return G()},set:function(k){G(k),l(n._tileset)&&(n._tileset.loadSiblings=k)}}),this.loadSiblings=!1,this._style=void 0,this._shouldStyle=!1,this._definedProperties=["properties","dynamicScreenSpaceError","colorBlendMode","picking","colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","maximumScreenSpaceError","dynamicScreenSpaceErrorDensity","baseScreenSpaceError","skipScreenSpaceErrorFactor","skipLevelOfDetail","skipLevels","immediatelyLoadDesiredLevelOfDetail","loadSiblings","dynamicScreenSpaceErrorDensitySliderValue","dynamicScreenSpaceErrorFactor","pickActive","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl","pointCloudShading","geometricErrorScale","maximumAttenuation","baseResolution","eyeDomeLighting","eyeDomeLightingStrength","eyeDomeLightingRadius"],this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()}),l(this._tileset)||eAe(this,!0)}Object.defineProperties(Ca.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},statisticsText:{get:function(){return this._statisticsText}},pickStatisticsText:{get:function(){return this._pickStatisticsText}},resourceCacheStatisticsText:{get:function(){return this._resourceCacheStatisticsText}},colorBlendModes:{get:function(){return NAt}},editorError:{get:function(){return this._editorError}},tileset:{get:function(){return this._tileset},set:function(e){if(this._tileset=e,this._style=void 0,this.styleString="{}",this.feature=void 0,this.tile=void 0,l(e)){this._properties(e.properties);let t=["colorize","wireframe","showBoundingVolumes","showContentBoundingVolumes","showRequestVolumes","freezeFrame","showOnlyPickedTileDebugLabel","showGeometricError","showRenderingStatistics","showMemoryUsage","showUrl"],n=t.length;for(let o=0;o<n;++o){let r=t[o];this[r]=this[r]}this.maximumScreenSpaceError=e.maximumScreenSpaceError,this.dynamicScreenSpaceError=e.dynamicScreenSpaceError,this.dynamicScreenSpaceErrorDensity=e.dynamicScreenSpaceErrorDensity,this.dynamicScreenSpaceErrorFactor=e.dynamicScreenSpaceErrorFactor,this.colorBlendMode=e.colorBlendMode,this.skipLevelOfDetail=e.skipLevelOfDetail,this.skipScreenSpaceErrorFactor=e.skipScreenSpaceErrorFactor,this.baseScreenSpaceError=e.baseScreenSpaceError,this.skipLevels=e.skipLevels,this.immediatelyLoadDesiredLevelOfDetail=e.immediatelyLoadDesiredLevelOfDetail,this.loadSiblings=e.loadSiblings,this.hasEnabledWireframe=e._enableDebugWireframe;let i=e.pointCloudShading;this.pointCloudShading=i.attenuation,this.geometricErrorScale=i.geometricErrorScale,this.maximumAttenuation=i.maximumAttenuation?i.maximumAttenuation:0,this.baseResolution=i.baseResolution?i.baseResolution:0,this.eyeDomeLighting=i.eyeDomeLighting,this.eyeDomeLightingStrength=i.eyeDomeLightingStrength,this.eyeDomeLightingRadius=i.eyeDomeLightingRadius,this._scene.requestRender()}else this._properties({});this._statisticsText=XP(e,!1),this._pickStatisticsText=XP(e,!0),this._resourceCacheStatisticsText=tAe(),eAe(this,!1)}},feature:{get:function(){return this._feature},set:function(e){if(this._feature===e)return;let t=this._feature;l(t)&&!t.content.isDestroyed()&&(!this.colorize&&l(this._style)?t.color=l(this._style.color)?this._style.color.evaluateColor(t,FAt):z.WHITE:t.color=j8,this._scene.requestRender()),l(e)&&(z.clone(e.color,j8),e.color=JCe,this._scene.requestRender()),this._feature=e}},tile:{get:function(){return this._tile},set:function(e){if(this._tile===e)return;let t=this._tile;l(t)&&!t.isDestroyed()&&!vZ(t.content)&&(t.color=j8,this._scene.requestRender()),l(e)&&!vZ(e.content)&&(z.clone(e.color,j8),e.color=JCe,this._scene.requestRender()),this._tile=e}}});function vZ(e){if(!l(e))return!1;if(e.featuresLength>0)return!0;let t=e.innerContents;if(l(t)){let n=t.length;for(let i=0;i<n;++i)if(!vZ(t[i]))return!1;return!0}return!1}Ca.prototype.togglePickTileset=function(){this.pickActive=!this.pickActive};Ca.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};Ca.prototype.toggleTileset=function(){this.tilesetVisible=!this.tilesetVisible};Ca.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};Ca.prototype.toggleUpdate=function(){this.updateVisible=!this.updateVisible};Ca.prototype.toggleLogging=function(){this.loggingVisible=!this.loggingVisible};Ca.prototype.toggleStyle=function(){this.styleVisible=!this.styleVisible};Ca.prototype.toggleTileDebugLabels=function(){this.tileDebugLabelsVisible=!this.tileDebugLabelsVisible};Ca.prototype.toggleOptimization=function(){this.optimizationVisible=!this.optimizationVisible};Ca.prototype.trimTilesCache=function(){l(this._tileset)&&this._tileset.trimLoadedTiles()};Ca.prototype.compileStyle=function(){let e=this._tileset;if(!(!l(e)||this.styleString===JSON.stringify(e.style))){this._editorError="";try{this.styleString.length===0&&(this.styleString="{}"),this._style=new OS(JSON.parse(this.styleString)),this._shouldStyle=!0,this._scene.requestRender()}catch(t){this._editorError=t.toString()}this.feature=this._feature,this.tile=this._tile}};Ca.prototype.styleEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` `),c=a.length,u;if(t.shiftKey)for(u=0;u<c;++u)a[u][0]===" "&&(a[u][1]===" "?(a[u]=a[u].substr(2),r-=2):(a[u]=a[u].substr(1),r-=1));else for(u=0;u<c;++u)a[u]=` ${a[u]}`,r+=2;let f=a.join(` -`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};ga.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),l(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=zP(e,!1),this._pickStatisticsText=zP(e,!0),this._resourceCacheStatisticsText=VCe())};ga.prototype.isDestroyed=function(){return!1};ga.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};ga.getStatistics=zP;var U8=ga;function z8(e,t){e=Mn(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new U8(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=_c.createSection,c=_c.createCheckbox,u=_c.createRangeInput,f=_c.createButton,d=a(s,"Tileset","tilesetVisible","toggleTileset"),p=a(s,"Display","displayVisible","toggleDisplay"),g=a(s,"Update","updateVisible","toggleUpdate"),m=a(s,"Logging","loggingVisible","toggleLogging"),x=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),b=a(s,"Style","styleVisible","toggleStyle"),T=a(s,"Optimization","optimizationVisible","toggleOptimization"),C=document.createElement("div");C.className="field-group";let A=document.createElement("label");A.className="field-label",A.appendChild(document.createTextNode("Properties: "));let S=document.createElement("div");S.setAttribute("data-bind","text: properties"),C.appendChild(A),C.appendChild(S),d.appendChild(C),d.appendChild(f("Pick Tileset","togglePickTileset","pickActive")),d.appendChild(f("Trim Tiles Cache","trimTilesCache")),d.appendChild(c("Enable Picking","picking")),p.appendChild(c("Colorize","colorize"));let w=p.appendChild(c("Wireframe","wireframe","_tileset === undefined || hasEnabledWireframe")),D=document.createElement("p");D.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),D.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),D.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",w.appendChild(D),p.appendChild(c("Bounding Volumes","showBoundingVolumes")),p.appendChild(c("Content Volumes","showContentBoundingVolumes")),p.appendChild(c("Request Volumes","showRequestVolumes")),p.appendChild(c("Point Cloud Shading","pointCloudShading"));let O=document.createElement("div");O.setAttribute("data-bind","visible: pointCloudShading"),O.appendChild(u("Geometric Error Scale","geometricErrorScale",0,2,.01)),O.appendChild(u("Maximum Attenuation","maximumAttenuation",0,32,1)),O.appendChild(u("Base Resolution","baseResolution",0,1,.01)),O.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),p.appendChild(O);let R=document.createElement("div");R.setAttribute("data-bind","visible: eyeDomeLighting"),R.appendChild(u("EDL Strength","eyeDomeLightingStrength",0,2,.1)),R.appendChild(u("EDL Radius","eyeDomeLightingRadius",0,4,.1)),O.appendChild(R),g.appendChild(c("Freeze Frame","freezeFrame")),g.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let M=document.createElement("div");M.appendChild(u("Maximum Screen Space Error","maximumScreenSpaceError",0,128,1)),g.appendChild(M);let L=document.createElement("div");L.setAttribute("data-bind","visible: dynamicScreenSpaceError"),L.appendChild(u("Screen Space Error Density","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),L.appendChild(u("Screen Space Error Factor","dynamicScreenSpaceErrorFactor",1,32,.1)),g.appendChild(L),m.appendChild(c("Performance","performance")),m.appendChild(i),m.appendChild(c("Statistics","showStatistics"));let _=document.createElement("div");_.className="cesium-3dTilesInspector-statistics",_.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),m.appendChild(_),m.appendChild(c("Pick Statistics","showPickStatistics"));let E=document.createElement("div");E.className="cesium-3dTilesInspector-statistics",E.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),m.appendChild(E),m.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let v=document.createElement("div");v.className="cesium-3dTilesInspector-statistics",v.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),m.appendChild(v);let I=document.createElement("div");b.appendChild(I),I.appendChild(document.createTextNode("Color Blend Mode: "));let N=document.createElement("select");N.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),I.appendChild(N);let B=document.createElement("textarea");B.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),I.className="cesium-cesiumInspector-styleEditor",I.appendChild(B);let z=f("Compile (Ctrl+Enter)","compileStyle");I.appendChild(z);let V=document.createElement("div");V.className="cesium-cesiumInspector-error",V.setAttribute("data-bind","text: editorError"),I.appendChild(V),x.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),x.appendChild(c("Geometric Error","showGeometricError")),x.appendChild(c("Rendering Statistics","showRenderingStatistics")),x.appendChild(c("Memory Usage (MB)","showMemoryUsage")),x.appendChild(c("Url","showUrl")),T.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let G=document.createElement("div");G.appendChild(u("Skip SSE Factor","skipScreenSpaceErrorFactor",1,50,1)),T.appendChild(G);let k=document.createElement("div");k.appendChild(u("SSE before skipping LOD","baseScreenSpaceError",0,4096,1)),T.appendChild(k);let Y=document.createElement("div");Y.appendChild(u("Min. levels to skip","skipLevels",0,10,1)),T.appendChild(Y),T.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),T.appendChild(c("Load siblings of visible tiles","loadSiblings")),be.applyBindings(o,n)}Object.defineProperties(z8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});z8.prototype.isDestroyed=function(){return!1};z8.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var H8=z8;function $Ct(e){let t;if(l(e)){t="Command Statistics";let n=e.commandsInFrustums;for(let i in n)if(n.hasOwnProperty(i)){let o=parseInt(i,10),r;if(o===7)r="1, 2 and 3";else{let s=[];for(let a=2;a>=0;a--){let c=Math.pow(2,a);o>=c&&(s.push(a+1),o-=c)}r=s.reverse().join(" and ")}t+=`<br>    ${n[i]} in frustum ${r}`}t+=`<br>Total: ${e.totalCommands}`}return t}function _$(e,t,n){let i=Math.min(n,t);return i=Math.max(i,e),i}var ZCt=new _n,QCt=new h;function HP(e,t){let n=this,i=e.canvas,o=new Nf(i);this._eventHandler=o,this._scene=e,this._canvas=i,this._primitive=void 0,this._tile=void 0,this._modelMatrixPrimitive=void 0,this._performanceDisplay=void 0,this._performanceContainer=t;let r=this._scene.globe;r.depthTestAgainstTerrain=!0,this.frustums=!1,this.frustumPlanes=!1,this.performance=!1,this.shaderCacheText="",this.primitiveBoundingSphere=!1,this.primitiveReferenceFrame=!1,this.filterPrimitive=!1,this.tileBoundingSphere=!1,this.filterTile=!1,this.wireframe=!1,this.depthFrustum=1,this._numberOfFrustums=1,this.suspendUpdates=!1,this.tileCoordinates=!1,this.frustumStatisticText=!1,this.tileText="",this.hasPickedPrimitive=!1,this.hasPickedTile=!1,this.pickPrimitiveActive=!1,this.pickTileActive=!1,this.dropDownVisible=!0,this.generalVisible=!0,this.primitivesVisible=!1,this.terrainVisible=!1,this.depthFrustumText="",be.track(this,["frustums","frustumPlanes","performance","shaderCacheText","primitiveBoundingSphere","primitiveReferenceFrame","filterPrimitive","tileBoundingSphere","filterTile","wireframe","depthFrustum","suspendUpdates","tileCoordinates","frustumStatisticText","tileText","hasPickedPrimitive","hasPickedTile","pickPrimitiveActive","pickTileActive","dropDownVisible","generalVisible","primitivesVisible","terrainVisible","depthFrustumText"]),this._toggleDropDown=Dn(function(){n.dropDownVisible=!n.dropDownVisible}),this._toggleGeneral=Dn(function(){n.generalVisible=!n.generalVisible}),this._togglePrimitives=Dn(function(){n.primitivesVisible=!n.primitivesVisible}),this._toggleTerrain=Dn(function(){n.terrainVisible=!n.terrainVisible}),this._frustumsSubscription=be.getObservable(this,"frustums").subscribe(function(u){n._scene.debugShowFrustums=u,n._scene.requestRender()}),this._frustumPlanesSubscription=be.getObservable(this,"frustumPlanes").subscribe(function(u){n._scene.debugShowFrustumPlanes=u,n._scene.requestRender()}),this._performanceSubscription=be.getObservable(this,"performance").subscribe(function(u){u?n._performanceDisplay=new e0({container:n._performanceContainer}):n._performanceContainer.innerHTML=""}),this._showPrimitiveBoundingSphere=Dn(function(){return n._primitive.debugShowBoundingVolume=n.primitiveBoundingSphere,n._scene.requestRender(),!0}),this._primitiveBoundingSphereSubscription=be.getObservable(this,"primitiveBoundingSphere").subscribe(function(){n._showPrimitiveBoundingSphere()}),this._showPrimitiveReferenceFrame=Dn(function(){if(n.primitiveReferenceFrame){let u=n._primitive.modelMatrix;n._modelMatrixPrimitive=new cz({modelMatrix:u}),n._scene.primitives.add(n._modelMatrixPrimitive)}else l(n._modelMatrixPrimitive)&&(n._scene.primitives.remove(n._modelMatrixPrimitive),n._modelMatrixPrimitive=void 0);return n._scene.requestRender(),!0}),this._primitiveReferenceFrameSubscription=be.getObservable(this,"primitiveReferenceFrame").subscribe(function(){n._showPrimitiveReferenceFrame()}),this._doFilterPrimitive=Dn(function(){return n.filterPrimitive?n._scene.debugCommandFilter=function(u){return l(n._modelMatrixPrimitive)&&u.owner===n._modelMatrixPrimitive._primitive?!0:l(n._primitive)?u.owner===n._primitive||u.owner===n._primitive._billboardCollection||u.owner.primitive===n._primitive:!1}:n._scene.debugCommandFilter=void 0,!0}),this._filterPrimitiveSubscription=be.getObservable(this,"filterPrimitive").subscribe(function(){n._doFilterPrimitive(),n._scene.requestRender()}),this._wireframeSubscription=be.getObservable(this,"wireframe").subscribe(function(u){r._surface.tileProvider._debug.wireframe=u,n._scene.requestRender()}),this._depthFrustumSubscription=be.getObservable(this,"depthFrustum").subscribe(function(u){n._scene.debugShowDepthFrustum=u,n._scene.requestRender()}),this._incrementDepthFrustum=Dn(function(){let u=n.depthFrustum+1;return n.depthFrustum=_$(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._decrementDepthFrustum=Dn(function(){let u=n.depthFrustum-1;return n.depthFrustum=_$(1,n._numberOfFrustums,u),n._scene.requestRender(),!0}),this._suspendUpdatesSubscription=be.getObservable(this,"suspendUpdates").subscribe(function(u){r._surface._debug.suspendLodUpdate=u,u||(n.filterTile=!1)});let s;this._showTileCoordinates=Dn(function(){return n.tileCoordinates&&!l(s)?s=e.imageryLayers.addImageryProvider(new f8({tilingScheme:e.terrainProvider.tilingScheme})):!n.tileCoordinates&&l(s)&&(e.imageryLayers.remove(s),s=void 0),!0}),this._tileCoordinatesSubscription=be.getObservable(this,"tileCoordinates").subscribe(function(){n._showTileCoordinates(),n._scene.requestRender()}),this._tileBoundingSphereSubscription=be.getObservable(this,"tileBoundingSphere").subscribe(function(){n._showTileBoundingSphere(),n._scene.requestRender()}),this._showTileBoundingSphere=Dn(function(){return n.tileBoundingSphere?r._surface.tileProvider._debug.boundingSphereTile=n._tile:r._surface.tileProvider._debug.boundingSphereTile=void 0,n._scene.requestRender(),!0}),this._doFilterTile=Dn(function(){return n.filterTile?(n.suspendUpdates=!0,r._surface._tilesToRender=[],l(n._tile)&&n._tile.renderable&&r._surface._tilesToRender.push(n._tile)):n.suspendUpdates=!1,!0}),this._filterTileSubscription=be.getObservable(this,"filterTile").subscribe(function(){n.doFilterTile(),n._scene.requestRender()});function a(u){let f=n._scene.pick({x:u.position.x,y:u.position.y});l(f)&&(n.primitive=l(f.collection)?f.collection:f.primitive),n._scene.requestRender(),n.pickPrimitiveActive=!1}this._pickPrimitive=Dn(function(){n.pickPrimitiveActive=!n.pickPrimitiveActive}),this._pickPrimitiveActiveSubscription=be.getObservable(this,"pickPrimitiveActive").subscribe(function(u){u?o.setInputAction(a,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)});function c(u){let f,d=r.ellipsoid,p=n._scene.camera.getPickRay(u.position,ZCt),g=r.pick(p,n._scene,QCt);if(l(g)){let m=d.cartesianToCartographic(g),x=r._surface.tileProvider._tilesToRenderByTextureCount;for(let b=0;!f&&b<x.length;++b){let T=x[b];if(l(T))for(let C=0;!f&&C<T.length;++C){let A=T[C];se.contains(A.rectangle,m)&&(f=A)}}}n.tile=f,n.pickTileActive=!1}this._pickTile=Dn(function(){n.pickTileActive=!n.pickTileActive}),this._pickTileActiveSubscription=be.getObservable(this,"pickTileActive").subscribe(function(u){u?o.setInputAction(c,Cn.LEFT_CLICK):o.removeInputAction(Cn.LEFT_CLICK)}),this._removePostRenderEvent=e.postRender.addEventListener(function(){n._update()})}Object.defineProperties(HP.prototype,{scene:{get:function(){return this._scene}},performanceContainer:{get:function(){return this._performanceContainer}},toggleDropDown:{get:function(){return this._toggleDropDown}},showPrimitiveBoundingSphere:{get:function(){return this._showPrimitiveBoundingSphere}},showPrimitiveReferenceFrame:{get:function(){return this._showPrimitiveReferenceFrame}},doFilterPrimitive:{get:function(){return this._doFilterPrimitive}},incrementDepthFrustum:{get:function(){return this._incrementDepthFrustum}},decrementDepthFrustum:{get:function(){return this._decrementDepthFrustum}},showTileCoordinates:{get:function(){return this._showTileCoordinates}},showTileBoundingSphere:{get:function(){return this._showTileBoundingSphere}},doFilterTile:{get:function(){return this._doFilterTile}},toggleGeneral:{get:function(){return this._toggleGeneral}},togglePrimitives:{get:function(){return this._togglePrimitives}},toggleTerrain:{get:function(){return this._toggleTerrain}},pickPrimitive:{get:function(){return this._pickPrimitive}},pickTile:{get:function(){return this._pickTile}},selectParent:{get:function(){let e=this;return Dn(function(){e.tile=e.tile.parent})}},selectNW:{get:function(){let e=this;return Dn(function(){e.tile=e.tile.northwestChild})}},selectNE:{get:function(){let e=this;return Dn(function(){e.tile=e.tile.northeastChild})}},selectSW:{get:function(){let e=this;return Dn(function(){e.tile=e.tile.southwestChild})}},selectSE:{get:function(){let e=this;return Dn(function(){e.tile=e.tile.southeastChild})}},primitive:{get:function(){return this._primitive},set:function(e){let t=this._primitive;e!==t&&(this.hasPickedPrimitive=!0,l(t)&&(t.debugShowBoundingVolume=!1),this._scene.debugCommandFilter=void 0,l(this._modelMatrixPrimitive)&&(this._scene.primitives.remove(this._modelMatrixPrimitive),this._modelMatrixPrimitive=void 0),this._primitive=e,e.show=!1,setTimeout(function(){e.show=!0},50),this.showPrimitiveBoundingSphere(),this.showPrimitiveReferenceFrame(),this.doFilterPrimitive())}},tile:{get:function(){return this._tile},set:function(e){if(l(e)){this.hasPickedTile=!0;let t=this._tile;if(e!==t){this.tileText=`L: ${e.level} X: ${e.x} Y: ${e.y}`,this.tileText+=`<br>SW corner: ${e.rectangle.west}, ${e.rectangle.south}`,this.tileText+=`<br>NE corner: ${e.rectangle.east}, ${e.rectangle.north}`;let n=e.data;l(n)&&l(n.tileBoundingRegion)?this.tileText+=`<br>Min: ${n.tileBoundingRegion.minimumHeight} Max: ${n.tileBoundingRegion.maximumHeight}`:this.tileText+="<br>(Tile is not loaded)"}this._tile=e,this.showTileBoundingSphere(),this.doFilterTile()}else this.hasPickedTile=!1,this._tile=void 0}}});HP.prototype._update=function(){this.frustums&&(this.frustumStatisticText=$Ct(this._scene.debugFrustumStatistics));let e=this._scene.numberOfFrustums;this._numberOfFrustums=e,this.depthFrustum=_$(1,e,this.depthFrustum),this.depthFrustumText=`${this.depthFrustum} of ${e}`,this.performance&&this._performanceDisplay.update(),this.primitiveReferenceFrame&&(this._modelMatrixPrimitive.modelMatrix=this._primitive.modelMatrix),this.shaderCacheText=`Cached shaders: ${this._scene.context.shaderCache.numberOfShaders}`};HP.prototype.isDestroyed=function(){return!1};HP.prototype.destroy=function(){return this._eventHandler.destroy(),this._removePostRenderEvent(),this._frustumsSubscription.dispose(),this._frustumPlanesSubscription.dispose(),this._performanceSubscription.dispose(),this._primitiveBoundingSphereSubscription.dispose(),this._primitiveReferenceFrameSubscription.dispose(),this._filterPrimitiveSubscription.dispose(),this._wireframeSubscription.dispose(),this._depthFrustumSubscription.dispose(),this._suspendUpdatesSubscription.dispose(),this._tileCoordinatesSubscription.dispose(),this._tileBoundingSphereSubscription.dispose(),this._filterTileSubscription.dispose(),this._pickPrimitiveActiveSubscription.dispose(),this._pickTileActiveSubscription.dispose(),ue(this)};var G8=HP;function W8(e,t){e=Mn(e);let n=document.createElement("div"),i=new G8(t,n);this._viewModel=i,this._container=e;let o=document.createElement("div");this._element=o;let r=document.createElement("div");r.textContent="Cesium Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleDropDown"),o.appendChild(r),o.className="cesium-cesiumInspector",o.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : dropDownVisible, "cesium-cesiumInspector-hidden" : !dropDownVisible }'),e.appendChild(this._element);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",o.appendChild(s);let a=_c.createSection,c=_c.createCheckbox,u=a(s,"General","generalVisible","toggleGeneral"),f=c("Show Frustums","frustums"),d=document.createElement("div");d.className="cesium-cesiumInspector-frustumStatistics",d.setAttribute("data-bind","visible: frustums, html: frustumStatisticText"),f.appendChild(d),u.appendChild(f),u.appendChild(c("Show Frustum Planes","frustumPlanes")),u.appendChild(c("Performance Display","performance")),n.className="cesium-cesiumInspector-performanceDisplay",u.appendChild(n);let p=document.createElement("div");p.className="cesium-cesiumInspector-shaderCache",p.setAttribute("data-bind","html: shaderCacheText"),u.appendChild(p);let g=document.createElement("div");u.appendChild(g);let m=document.createElement("span");m.setAttribute("data-bind",'html: "     Frustum:"'),g.appendChild(m);let x=document.createElement("span");x.setAttribute("data-bind","text: depthFrustumText"),g.appendChild(x);let b=document.createElement("input");b.type="button",b.value="-",b.className="cesium-cesiumInspector-pickButton",b.setAttribute("data-bind","click: decrementDepthFrustum"),g.appendChild(b);let T=document.createElement("input");T.type="button",T.value="+",T.className="cesium-cesiumInspector-pickButton",T.setAttribute("data-bind","click: incrementDepthFrustum"),g.appendChild(T);let C=a(s,"Primitives","primitivesVisible","togglePrimitives"),A=document.createElement("div");A.className="cesium-cesiumInspector-pickSection",C.appendChild(A);let S=document.createElement("input");S.type="button",S.value="Pick a primitive",S.className="cesium-cesiumInspector-pickButton",S.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickPrimitiveActive}, click: pickPrimitive');let w=document.createElement("div");w.className="cesium-cesiumInspector-center",w.appendChild(S),A.appendChild(w),A.appendChild(c("Show bounding sphere","primitiveBoundingSphere","hasPickedPrimitive")),A.appendChild(c("Show reference frame","primitiveReferenceFrame","hasPickedPrimitive")),this._primitiveOnly=c("Show only selected","filterPrimitive","hasPickedPrimitive"),A.appendChild(this._primitiveOnly);let D=a(s,"Terrain","terrainVisible","toggleTerrain"),O=document.createElement("div");O.className="cesium-cesiumInspector-pickSection",D.appendChild(O);let R=document.createElement("input");R.type="button",R.value="Pick a tile",R.className="cesium-cesiumInspector-pickButton",R.setAttribute("data-bind",'css: {"cesium-cesiumInspector-pickButtonHighlight" : pickTileActive}, click: pickTile'),w=document.createElement("div"),w.appendChild(R),w.className="cesium-cesiumInspector-center",O.appendChild(w);let M=document.createElement("div");O.appendChild(M);let L=document.createElement("input");L.type="button",L.value="Parent",L.className="cesium-cesiumInspector-pickButton",L.setAttribute("data-bind","click: selectParent");let _=document.createElement("input");_.type="button",_.value="NW",_.className="cesium-cesiumInspector-pickButton",_.setAttribute("data-bind","click: selectNW");let E=document.createElement("input");E.type="button",E.value="NE",E.className="cesium-cesiumInspector-pickButton",E.setAttribute("data-bind","click: selectNE");let v=document.createElement("input");v.type="button",v.value="SW",v.className="cesium-cesiumInspector-pickButton",v.setAttribute("data-bind","click: selectSW");let I=document.createElement("input");I.type="button",I.value="SE",I.className="cesium-cesiumInspector-pickButton",I.setAttribute("data-bind","click: selectSE");let N=document.createElement("div");N.className="cesium-cesiumInspector-tileText",M.className="cesium-cesiumInspector-frustumStatistics",M.appendChild(N),M.setAttribute("data-bind","visible: hasPickedTile"),N.setAttribute("data-bind","html: tileText");let B=document.createElement("div");B.className="cesium-cesiumInspector-relativeText",B.textContent="Select relative:",M.appendChild(B);let z=document.createElement("table"),V=document.createElement("tr"),G=document.createElement("tr"),k=document.createElement("td");k.appendChild(L);let Y=document.createElement("td");Y.appendChild(_);let W=document.createElement("td");W.appendChild(E),V.appendChild(k),V.appendChild(Y),V.appendChild(W);let J=document.createElement("td"),j=document.createElement("td");j.appendChild(v);let $=document.createElement("td");$.appendChild(I),G.appendChild(J),G.appendChild(j),G.appendChild($),z.appendChild(V),z.appendChild(G),M.appendChild(z),O.appendChild(c("Show bounding volume","tileBoundingSphere","hasPickedTile")),O.appendChild(c("Show only selected","filterTile","hasPickedTile")),D.appendChild(c("Wireframe","wireframe")),D.appendChild(c("Suspend LOD update","suspendUpdates")),D.appendChild(c("Show tile coordinates","tileCoordinates")),be.applyBindings(i,this._element)}Object.defineProperties(W8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});W8.prototype.isDestroyed=function(){return!1};W8.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var j8=W8;function q8(e,t){l(t)||(t=document.body),t=Mn(t);let n=this,i=be.observable(wr.fullscreen),o=be.observable(wr.enabled),r=t.ownerDocument;this.isFullscreen=void 0,be.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,be.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&wr.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=Dn(function(){wr.fullscreen?wr.exitFullscreen():wr.requestFullscreen(n._fullscreenElement)},be.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(Mn(e),r.body),this._callback=function(){i(wr.fullscreen)},r.addEventListener(wr.changeEventName,this._callback)}Object.defineProperties(q8.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});q8.prototype.isDestroyed=function(){return!1};q8.prototype.destroy=function(){document.removeEventListener(wr.changeEventName,this._callback),ue(this)};var Y8=q8;var JCt="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",eAt="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function X8(e,t){e=Mn(e);let n=new Y8(t,e);n._exitFullScreenPath=eAt,n._enterFullScreenPath=JCt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),be.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties(X8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});X8.prototype.isDestroyed=function(){return!1};X8.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var K8=X8;var UCe=1e3;function Xf(e){l(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new x8({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new me,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=HCe,this._handleArrowUp=zCe;let t=this;this._suggestionsVisible=be.pureComputed(function(){let o=be.getObservable(t,"_suggestions")().length>0,r=be.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=Dn(function(i){if(i=y(i,Hb.SEARCH),t._focusTextbox=!1,l(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;if(t.hideSuggestions(),t.isSearchInProgress)sAt(t);else return oAt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?zCe(t):r?HCe(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;jCe(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,Xf.flyToDestination),this._focusTextbox=!1,be.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=be.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){Xf._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,be.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,be.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,be.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(Xf.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});Xf.prototype.destroy=function(){this._suggestionSubscription.dispose()};function zCe(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],Xf._adjustSuggestionsScroll(e,n)}function HCe(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],Xf._adjustSuggestionsScroll(e,i)}function tAt(e,t){let n=l(t)?t.availability:void 0;return l(n)?LE(t,[e]).then(function(i){return e=i[0],e.height+=UCe,e}):(e.height+=UCe,Promise.resolve(e))}function nAt(e,t){let n=e._scene,i=n.ellipsoid,o=n.camera,r=n.terrainProvider,s=t,a;return t instanceof se?P.equalsEpsilon(t.south,t.north,P.EPSILON7)&&P.equalsEpsilon(t.east,t.west,P.EPSILON7)?t=se.center(t):a=NE(t,n):t=i.cartesianToCartographic(t),l(a)||(a=tAt(t,r)),a.then(function(c){s=i.cartographicToCartesian(c)}).finally(function(){o.flyTo({destination:s,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:F.IDENTITY})})}async function iAt(e,t,n){try{return{state:"fulfilled",value:await e.geocode(t,n),credits:e.credit}}catch(i){return{state:"rejected",reason:i}}}async function oAt(e,t,n){let i=e._searchText;if(WCe(i)){e.showSuggestions();return}e._isSearchInProgress=!0,e._wasGeocodeCancelled=!1;let o,r;for(o=0;o<t.length;o++){if(e._wasGeocodeCancelled)return;if(r=await iAt(t[o],i,n),l(r)&&r.state==="fulfilled"&&r.value.length>0)break}if(e._wasGeocodeCancelled)return;e._isSearchInProgress=!1,y$(e);let s=r.value;if(r.state==="fulfilled"&&l(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);let a=GCe(e,RP.getCreditsFromResult(s[0]));l(a)||g$(e,t[o].credit);return}e._searchText=`${i} (not found)`}function g$(e,t){l(t)&&!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&(e._scene.frameState.creditDisplay.addStaticCredit(t),e._previousCredits.push(t))}function GCe(e,t){return l(t)&&t.forEach(n=>g$(e,n)),t}function y$(e){!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&e._previousCredits.forEach(t=>{e._scene.frameState.creditDisplay.removeStaticCredit(t)}),e._previousCredits.length=0}function rAt(e,t){let n=Mn(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function sAt(e){e._isSearchInProgress&&(e._isSearchInProgress=!1,e._wasGeocodeCancelled=!0)}function WCe(e){return/^\s*$/.test(e)}function jCe(e){be.getObservable(e,"_suggestions").removeAll()}async function aAt(e){if(!e.autoComplete)return;let t=e._searchText;if(jCe(e),y$(e),!WCe(t))for(let n of e._geocoderServices){let i=await n.geocode(t,Hb.AUTOCOMPLETE);if(e._suggestions=e._suggestions.concat(i),i.length>0){let o=!0;i.forEach(r=>{let s=RP.getCreditsFromResult(r);o=o&&!l(s),GCe(e,s)}),o&&g$(e,n.credit)}if(e._suggestions.length>=5)return}}Xf.flyToDestination=nAt;Xf._updateSearchSuggestions=aAt;Xf._adjustSuggestionsScroll=rAt;Xf.prototype.isDestroyed=function(){return!1};Xf.prototype.destroy=function(){return y$(this),ue(this)};var $8=Xf;var cAt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",lAt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function Z8(e){let t=Mn(e.container),n=new $8(e);n._startSearchPath=cAt,n._stopSearchPath=lAt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),be.applyBindings(n,i),be.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(u){let f=u.target;typeof u.composedPath=="function"&&(f=u.composedPath()[0]),t.contains(f)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(u){n._focusTextbox=!0,n.showSuggestions()},Wt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(Z8.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});Z8.prototype.isDestroyed=function(){return!1};Z8.prototype.destroy=function(){let e=this._container;return Wt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),be.cleanNode(this._form),be.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),ue(this)};var Q8=Z8;function qCe(e,t){this._scene=e,this._duration=t;let n=this;this._command=Dn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",be.track(this,["tooltip"])}Object.defineProperties(qCe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var J8=qCe;function eG(e,t,n){e=Mn(e);let i=new J8(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(eG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});eG.prototype.isDestroyed=function(){return!1};eG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var tG=eG;function uAt(e,t){t.currentTarget.parentElement.parentElement.querySelector(`#${e.name}-expander`).classList.toggle("active"),t.currentTarget.textContent=t.currentTarget.textContent==="+"?"-":"+"}function XCe(e,t){be.track(e);for(let n=0;n<e.sublayers.length;n++)XCe(e.sublayers[n],t)}function nG(e){return e.modelName==="FullModel"}function KCe(e){return e.modelName==="Overview"}function $Ce(e){return KCe(e)||nG(e)}function YCe(e,t){if($Ce(e)){e.visibility=!1;for(let i=0;i<e.sublayers.length;i++)e.sublayers[i].visibility=!0;let n={name:e.name,modelName:e.modelName,disable:be.observable(!1),index:t.sublayers.length};return t.topLayers.push(n),t.sublayers.push(e),n}}function fAt(e,t){if($Ce(e)){t.sublayers.forEach(i=>i.visibility=!1),t.sublayers[e.index].visibility=!0;let n=document.getElementById("bsl-wrapper");nG(e)?(t.currentLevel=t.selectedLevel,n.style.display="block"):(t.selectedLevel=t.currentLevel,t.currentLevel="All",n.style.display="none")}}async function dAt(e,t){try{let n=e.getAttributeNames();for(let i=0;i<n.length;i++)if(n[i]==="BldgLevel"){let o=e.getAttributeValues(n[i]);for(let r=0;r<o.length;r++)t.push(o[r])}t.sort((i,o)=>i-o),t.unshift("All")}catch(n){console.log(`There was an error getting attributes: ${n}`)}}function hAt(e){let t=this;this.levels=[],this.viewModel={sublayers:[],levels:this.levels,currentLevel:be.observable(),selectedLevel:"All",topLayers:[{name:"Select a layer to explore...",disable:be.observable(!0),index:-1}],currentLayer:be.observable(),expandClickHandler:uAt,setOptionDisable:function(i,o){be.applyBindingsToNode(i,{disable:o.disable},o)},defaultLayer:void 0},this.viewModel.currentLayer.subscribe(function(i){fAt(i,t.viewModel)});let n=e.sublayers;for(let i=0;i<n.length;i++){XCe(n[i],this.viewModel);let o=YCe(n[i],this.viewModel);l(o)&&(KCe(o)||!l(this.viewModel.defaultLayer)&&nG(o))&&(this.viewModel.defaultLayer=o)}if(this.viewModel.topLayers.length===1&&n.length>0){e.show=!1;let i={name:"Full Model",modelName:"FullModel",visibility:e.show,sublayers:e.sublayers};this.viewModel.defaultLayer=YCe(i,this.viewModel),this.viewModel.currentLayer.subscribe(function(o){e.show=nG(o)})}else this.viewModel.topLayers.length===1&&(this.viewModel.topLayers[0].name="Building layers not found");return dAt(e,this.levels),this.viewModel.currentLevel.subscribe(function(i){i!=="All"?e.filterByAttributes([{name:"BldgLevel",values:[i]}]):e.filterByAttributes()}),this.viewModel}var iG=hAt;function mAt(e,t){let n=document.getElementById(e),i=document.createElement("div");i.classList.add("cesium-viewer-i3s-explorer"),i.innerHTML=` +`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileStyle();return!0};Ca.prototype._update=function(){let e=this._tileset;if(this.performance&&this._performanceDisplay.update(),l(e)){if(e.isDestroyed()){this.tile=void 0,this.feature=void 0,this.tileset=void 0;return}let t=e.style;this._style!==e.style&&(this._shouldStyle?(e.style=this._style,this._shouldStyle=!1):(this._style=t,this.styleString=JSON.stringify(t.style,null," ")))}this.showStatistics&&(this._statisticsText=XP(e,!1),this._pickStatisticsText=XP(e,!0),this._resourceCacheStatisticsText=tAe())};Ca.prototype.isDestroyed=function(){return!1};Ca.prototype.destroy=function(){this._eventHandler.destroy(),this._removePostRenderEvent();let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};Ca.getStatistics=XP;var q8=Ca;function Y8(e,t){e=Mn(e);let n=document.createElement("div"),i=document.createElement("div");i.setAttribute("data-bind","visible: performance");let o=new q8(t,i);this._viewModel=o,this._container=e,this._element=n;let r=document.createElement("div");r.textContent="3D Tiles Inspector",r.className="cesium-cesiumInspector-button",r.setAttribute("data-bind","click: toggleInspector"),n.appendChild(r),n.className="cesium-cesiumInspector cesium-3DTilesInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let s=document.createElement("div");s.className="cesium-cesiumInspector-dropDown",n.appendChild(s);let a=bc.createSection,c=bc.createCheckbox,u=bc.createRangeInput,f=bc.createButton,d=a(s,"Tileset","tilesetVisible","toggleTileset"),p=a(s,"Display","displayVisible","toggleDisplay"),g=a(s,"Update","updateVisible","toggleUpdate"),m=a(s,"Logging","loggingVisible","toggleLogging"),x=a(s,"Tile Debug Labels","tileDebugLabelsVisible","toggleTileDebugLabels"),b=a(s,"Style","styleVisible","toggleStyle"),T=a(s,"Optimization","optimizationVisible","toggleOptimization"),C=document.createElement("div");C.className="field-group";let A=document.createElement("label");A.className="field-label",A.appendChild(document.createTextNode("Properties: "));let S=document.createElement("div");S.setAttribute("data-bind","text: properties"),C.appendChild(A),C.appendChild(S),d.appendChild(C),d.appendChild(f("Pick Tileset","togglePickTileset","pickActive")),d.appendChild(f("Trim Tiles Cache","trimTilesCache")),d.appendChild(c("Enable Picking","picking")),p.appendChild(c("Colorize","colorize"));let v=p.appendChild(c("Wireframe","wireframe","_tileset === undefined || hasEnabledWireframe")),D=document.createElement("p");D.setAttribute("data-bind","visible: _tileset !== undefined && !hasEnabledWireframe"),D.setAttribute("class","cesium-3DTilesInspector-disabledElementsInfo"),D.innerText="Set enableDebugWireframe to true in the tileset constructor to enable this option.",v.appendChild(D),p.appendChild(c("Bounding Volumes","showBoundingVolumes")),p.appendChild(c("Content Volumes","showContentBoundingVolumes")),p.appendChild(c("Request Volumes","showRequestVolumes")),p.appendChild(c("Point Cloud Shading","pointCloudShading"));let R=document.createElement("div");R.setAttribute("data-bind","visible: pointCloudShading"),R.appendChild(u("Geometric Error Scale","geometricErrorScale",0,2,.01)),R.appendChild(u("Maximum Attenuation","maximumAttenuation",0,32,1)),R.appendChild(u("Base Resolution","baseResolution",0,1,.01)),R.appendChild(c("Eye Dome Lighting (EDL)","eyeDomeLighting")),p.appendChild(R);let O=document.createElement("div");O.setAttribute("data-bind","visible: eyeDomeLighting"),O.appendChild(u("EDL Strength","eyeDomeLightingStrength",0,2,.1)),O.appendChild(u("EDL Radius","eyeDomeLightingRadius",0,4,.1)),R.appendChild(O),g.appendChild(c("Freeze Frame","freezeFrame")),g.appendChild(c("Dynamic Screen Space Error","dynamicScreenSpaceError"));let M=document.createElement("div");M.appendChild(u("Maximum Screen Space Error","maximumScreenSpaceError",0,128,1)),g.appendChild(M);let N=document.createElement("div");N.setAttribute("data-bind","visible: dynamicScreenSpaceError"),N.appendChild(u("Screen Space Error Density","dynamicScreenSpaceErrorDensitySliderValue",0,1,.005,"dynamicScreenSpaceErrorDensity")),N.appendChild(u("Screen Space Error Factor","dynamicScreenSpaceErrorFactor",1,32,.1)),g.appendChild(N),m.appendChild(c("Performance","performance")),m.appendChild(i),m.appendChild(c("Statistics","showStatistics"));let _=document.createElement("div");_.className="cesium-3dTilesInspector-statistics",_.setAttribute("data-bind","html: statisticsText, visible: showStatistics"),m.appendChild(_),m.appendChild(c("Pick Statistics","showPickStatistics"));let E=document.createElement("div");E.className="cesium-3dTilesInspector-statistics",E.setAttribute("data-bind","html: pickStatisticsText, visible: showPickStatistics"),m.appendChild(E),m.appendChild(c("Resource Cache Statistics","showResourceCacheStatistics"));let w=document.createElement("div");w.className="cesium-3dTilesInspector-statistics",w.setAttribute("data-bind","html: resourceCacheStatisticsText, visible: showResourceCacheStatistics"),m.appendChild(w);let I=document.createElement("div");b.appendChild(I),I.appendChild(document.createTextNode("Color Blend Mode: "));let L=document.createElement("select");L.setAttribute("data-bind",'options: colorBlendModes, optionsText: "text", optionsValue: "value", value: colorBlendMode'),I.appendChild(L);let B=document.createElement("textarea");B.setAttribute("data-bind","textInput: styleString, event: { keydown: styleEditorKeyPress }"),I.className="cesium-cesiumInspector-styleEditor",I.appendChild(B);let H=f("Compile (Ctrl+Enter)","compileStyle");I.appendChild(H);let V=document.createElement("div");V.className="cesium-cesiumInspector-error",V.setAttribute("data-bind","text: editorError"),I.appendChild(V),x.appendChild(c("Show Picked Only","showOnlyPickedTileDebugLabel")),x.appendChild(c("Geometric Error","showGeometricError")),x.appendChild(c("Rendering Statistics","showRenderingStatistics")),x.appendChild(c("Memory Usage (MB)","showMemoryUsage")),x.appendChild(c("Url","showUrl")),T.appendChild(c("Skip Tile LODs","skipLevelOfDetail"));let G=document.createElement("div");G.appendChild(u("Skip SSE Factor","skipScreenSpaceErrorFactor",1,50,1)),T.appendChild(G);let k=document.createElement("div");k.appendChild(u("SSE before skipping LOD","baseScreenSpaceError",0,4096,1)),T.appendChild(k);let W=document.createElement("div");W.appendChild(u("Min. levels to skip","skipLevels",0,10,1)),T.appendChild(W),T.appendChild(c("Load only tiles that meet the max SSE.","immediatelyLoadDesiredLevelOfDetail")),T.appendChild(c("Load siblings of visible tiles","loadSiblings")),be.applyBindings(o,n)}Object.defineProperties(Y8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});Y8.prototype.isDestroyed=function(){return!1};Y8.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};var X8=Y8;function K8(e,t){l(t)||(t=document.body),t=Mn(t);let n=this,i=be.observable(wr.fullscreen),o=be.observable(wr.enabled),r=t.ownerDocument;this.isFullscreen=void 0,be.defineProperty(this,"isFullscreen",{get:function(){return i()}}),this.isFullscreenEnabled=void 0,be.defineProperty(this,"isFullscreenEnabled",{get:function(){return o()},set:function(s){o(s&&wr.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return this.isFullscreenEnabled?i()?"Exit full screen":"Full screen":"Full screen unavailable"}),this._command=wn(function(){wr.fullscreen?wr.exitFullscreen():wr.requestFullscreen(n._fullscreenElement)},be.getObservable(this,"isFullscreenEnabled")),this._fullscreenElement=y(Mn(e),r.body),this._callback=function(){i(wr.fullscreen)},r.addEventListener(wr.changeEventName,this._callback)}Object.defineProperties(K8.prototype,{fullscreenElement:{get:function(){return this._fullscreenElement},set:function(e){this._fullscreenElement=e}},command:{get:function(){return this._command}}});K8.prototype.isDestroyed=function(){return!1};K8.prototype.destroy=function(){document.removeEventListener(wr.changeEventName,this._callback),ue(this)};var Z8=K8;var BAt="M 83.96875 17.5625 L 83.96875 17.59375 L 76.65625 24.875 L 97.09375 24.96875 L 76.09375 45.96875 L 81.9375 51.8125 L 102.78125 30.9375 L 102.875 51.15625 L 110.15625 43.875 L 110.1875 17.59375 L 83.96875 17.5625 z M 44.125 17.59375 L 17.90625 17.625 L 17.9375 43.90625 L 25.21875 51.1875 L 25.3125 30.96875 L 46.15625 51.8125 L 52 45.96875 L 31 25 L 51.4375 24.90625 L 44.125 17.59375 z M 46.0625 76.03125 L 25.1875 96.875 L 25.09375 76.65625 L 17.8125 83.9375 L 17.8125 110.21875 L 44 110.25 L 51.3125 102.9375 L 30.90625 102.84375 L 51.875 81.875 L 46.0625 76.03125 z M 82 76.15625 L 76.15625 82 L 97.15625 103 L 76.71875 103.0625 L 84.03125 110.375 L 110.25 110.34375 L 110.21875 84.0625 L 102.9375 76.8125 L 102.84375 97 L 82 76.15625 z",kAt="M 104.34375 17.5625 L 83.5 38.4375 L 83.40625 18.21875 L 76.125 25.5 L 76.09375 51.78125 L 102.3125 51.8125 L 102.3125 51.78125 L 109.625 44.5 L 89.1875 44.40625 L 110.1875 23.40625 L 104.34375 17.5625 z M 23.75 17.59375 L 17.90625 23.4375 L 38.90625 44.4375 L 18.5 44.53125 L 25.78125 51.8125 L 52 51.78125 L 51.96875 25.53125 L 44.6875 18.25 L 44.625 38.46875 L 23.75 17.59375 z M 25.6875 76.03125 L 18.375 83.3125 L 38.78125 83.40625 L 17.8125 104.40625 L 23.625 110.25 L 44.5 89.375 L 44.59375 109.59375 L 51.875 102.3125 L 51.875 76.0625 L 25.6875 76.03125 z M 102.375 76.15625 L 76.15625 76.1875 L 76.1875 102.4375 L 83.46875 109.71875 L 83.5625 89.53125 L 104.40625 110.375 L 110.25 104.53125 L 89.25 83.53125 L 109.6875 83.46875 L 102.375 76.15625 z";function $8(e,t){e=Mn(e);let n=new Z8(t,e);n._exitFullScreenPath=kAt,n._enterFullScreenPath=BAt;let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-fullscreenButton",i.setAttribute("data-bind","attr: { title: tooltip },click: command,enable: isFullscreenEnabled,cesiumSvgPath: { path: isFullscreen ? _exitFullScreenPath : _enterFullScreenPath, width: 128, height: 128 }"),e.appendChild(i),be.applyBindings(n,i),this._container=e,this._viewModel=n,this._element=i}Object.defineProperties($8.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});$8.prototype.isDestroyed=function(){return!1};$8.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var Q8=$8;var nAe=1e3;function td(e){l(e.geocoderServices)?this._geocoderServices=e.geocoderServices:this._geocoderServices=[new WE({scene:e.scene})],this._viewContainer=e.container,this._scene=e.scene,this._flightDuration=e.flightDuration,this._searchText="",this._isSearchInProgress=!1,this._wasGeocodeCancelled=!1,this._previousCredits=[],this._complete=new me,this._suggestions=[],this._selectedSuggestion=void 0,this._showSuggestions=!0,this._handleArrowDown=oAe,this._handleArrowUp=iAe;let t=this;this._suggestionsVisible=be.pureComputed(function(){let o=be.getObservable(t,"_suggestions")().length>0,r=be.getObservable(t,"_showSuggestions")();return o&&r}),this._searchCommand=wn(function(i){if(i=y(i,bb.SEARCH),t._focusTextbox=!1,l(t._selectedSuggestion))return t.activateSuggestion(t._selectedSuggestion),!1;if(t.hideSuggestions(),t.isSearchInProgress)WAt(t);else return HAt(t,t._geocoderServices,i)}),this.deselectSuggestion=function(){t._selectedSuggestion=void 0},this.handleKeyDown=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38;return(r||s)&&o.preventDefault(),!0},this.handleKeyUp=function(i,o){let r=o.key==="ArrowDown"||o.key==="Down"||o.keyCode===40,s=o.key==="ArrowUp"||o.key==="Up"||o.keyCode===38,a=o.key==="Enter"||o.keyCode===13;return s?iAe(t):r?oAe(t):a&&t._searchCommand(),!0},this.activateSuggestion=function(i){t.hideSuggestions(),t._searchText=i.displayName;let o=i.destination;aAe(t),t.destinationFound(t,o)},this.hideSuggestions=function(){t._showSuggestions=!1,t._selectedSuggestion=void 0},this.showSuggestions=function(){t._showSuggestions=!0},this.handleMouseover=function(i,o){i!==t._selectedSuggestion&&(t._selectedSuggestion=i)},this.keepExpanded=!1,this.autoComplete=y(e.autocomplete,!0),this.destinationFound=y(e.destinationFound,td.flyToDestination),this._focusTextbox=!1,be.track(this,["_searchText","_isSearchInProgress","keepExpanded","_suggestions","_selectedSuggestion","_showSuggestions","_focusTextbox"]);let n=be.getObservable(this,"_searchText");n.extend({rateLimit:{timeout:500}}),this._suggestionSubscription=n.subscribe(function(){td._updateSearchSuggestions(t)}),this.isSearchInProgress=void 0,be.defineProperty(this,"isSearchInProgress",{get:function(){return this._isSearchInProgress}}),this.searchText=void 0,be.defineProperty(this,"searchText",{get:function(){return this.isSearchInProgress?"Searching...":this._searchText},set:function(i){this._searchText=i}}),this.flightDuration=void 0,be.defineProperty(this,"flightDuration",{get:function(){return this._flightDuration},set:function(i){this._flightDuration=i}})}Object.defineProperties(td.prototype,{complete:{get:function(){return this._complete}},scene:{get:function(){return this._scene}},search:{get:function(){return this._searchCommand}},selectedSuggestion:{get:function(){return this._selectedSuggestion}},suggestions:{get:function(){return this._suggestions}}});td.prototype.destroy=function(){this._suggestionSubscription.dispose()};function iAe(e){if(e._suggestions.length===0)return;let t=e._suggestions.indexOf(e._selectedSuggestion);if(t===-1||t===0){e._selectedSuggestion=void 0;return}let n=t-1;e._selectedSuggestion=e._suggestions[n],td._adjustSuggestionsScroll(e,n)}function oAe(e){if(e._suggestions.length===0)return;let t=e._suggestions.length,i=(e._suggestions.indexOf(e._selectedSuggestion)+1)%t;e._selectedSuggestion=e._suggestions[i],td._adjustSuggestionsScroll(e,i)}function VAt(e,t){let n=l(t)?t.availability:void 0;return l(n)?qE(t,[e]).then(function(i){return e=i[0],e.height+=nAe,e}):(e.height+=nAe,Promise.resolve(e))}function UAt(e,t){let n=e._scene,i=n.ellipsoid,o=n.camera,r=n.terrainProvider,s=t,a;return t instanceof ae?P.equalsEpsilon(t.south,t.north,P.EPSILON7)&&P.equalsEpsilon(t.east,t.west,P.EPSILON7)?t=ae.center(t):a=KE(t,n):t=i.cartesianToCartographic(t),l(a)||(a=VAt(t,r)),a.then(function(c){s=i.cartographicToCartesian(c)}).finally(function(){o.flyTo({destination:s,complete:function(){e._complete.raiseEvent()},duration:e._flightDuration,endTransform:F.IDENTITY})})}async function zAt(e,t,n){try{return{state:"fulfilled",value:await e.geocode(t,n),credits:e.credit}}catch(i){return{state:"rejected",reason:i}}}async function HAt(e,t,n){let i=e._searchText;if(sAe(i)){e.showSuggestions();return}e._isSearchInProgress=!0,e._wasGeocodeCancelled=!1;let o,r;for(o=0;o<t.length;o++){if(e._wasGeocodeCancelled)return;if(r=await zAt(t[o],i,n),l(r)&&r.state==="fulfilled"&&r.value.length>0)break}if(e._wasGeocodeCancelled)return;e._isSearchInProgress=!1,DZ(e);let s=r.value;if(r.state==="fulfilled"&&l(s)&&s.length>0){e._searchText=s[0].displayName,e.destinationFound(e,s[0].destination);let a=rAe(e,DI.getCreditsFromResult(s[0]));l(a)||wZ(e,t[o].credit);return}e._searchText=`${i} (not found)`}function wZ(e,t){l(t)&&!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&(e._scene.frameState.creditDisplay.addStaticCredit(t),e._previousCredits.push(t))}function rAe(e,t){return l(t)&&t.forEach(n=>wZ(e,n)),t}function DZ(e){!e._scene.isDestroyed()&&!e._scene.frameState.creditDisplay.isDestroyed()&&e._previousCredits.forEach(t=>{e._scene.frameState.creditDisplay.removeStaticCredit(t)}),e._previousCredits.length=0}function GAt(e,t){let n=Mn(e._viewContainer),i=n.getElementsByClassName("search-results")[0],r=n.getElementsByTagName("li")[t];if(t===0){i.scrollTop=0;return}let s=r.offsetTop;s+r.clientHeight>i.clientHeight?i.scrollTop=s+r.clientHeight:s<i.scrollTop&&(i.scrollTop=s)}function WAt(e){e._isSearchInProgress&&(e._isSearchInProgress=!1,e._wasGeocodeCancelled=!0)}function sAe(e){return/^\s*$/.test(e)}function aAe(e){be.getObservable(e,"_suggestions").removeAll()}async function jAt(e){if(!e.autoComplete)return;let t=e._searchText;if(aAe(e),DZ(e),!sAe(t))for(let n of e._geocoderServices){let i=await n.geocode(t,bb.AUTOCOMPLETE);if(e._suggestions=e._suggestions.concat(i),i.length>0){let o=!0;i.forEach(r=>{let s=DI.getCreditsFromResult(r);o=o&&!l(s),rAe(e,s)}),o&&wZ(e,n.credit)}if(e._suggestions.length>=5)return}}td.flyToDestination=UAt;td._updateSearchSuggestions=jAt;td._adjustSuggestionsScroll=GAt;td.prototype.isDestroyed=function(){return!1};td.prototype.destroy=function(){return DZ(this),ue(this)};var J8=td;var qAt="M29.772,26.433l-7.126-7.126c0.96-1.583,1.523-3.435,1.524-5.421C24.169,8.093,19.478,3.401,13.688,3.399C7.897,3.401,3.204,8.093,3.204,13.885c0,5.789,4.693,10.481,10.484,10.481c1.987,0,3.839-0.563,5.422-1.523l7.128,7.127L29.772,26.433zM7.203,13.885c0.006-3.582,2.903-6.478,6.484-6.486c3.579,0.008,6.478,2.904,6.484,6.486c-0.007,3.58-2.905,6.476-6.484,6.484C10.106,20.361,7.209,17.465,7.203,13.885z",YAt="M24.778,21.419 19.276,15.917 24.777,10.415 21.949,7.585 16.447,13.087 10.945,7.585 8.117,10.415 13.618,15.917 8.116,21.419 10.946,24.248 16.447,18.746 21.948,24.248z";function eG(e){let t=Mn(e.container),n=new J8(e);n._startSearchPath=qAt,n._stopSearchPath=YAt;let i=document.createElement("form");i.setAttribute("data-bind","submit: search");let o=document.createElement("input");o.type="search",o.className="cesium-geocoder-input",o.setAttribute("placeholder","Enter an address or landmark..."),o.setAttribute("data-bind",'textInput: searchText,disable: isSearchInProgress,event: { keyup: handleKeyUp, keydown: handleKeyDown, mouseover: deselectSuggestion },css: { "cesium-geocoder-input-wide" : keepExpanded || searchText.length > 0 },hasFocus: _focusTextbox'),this._onTextBoxFocus=function(){setTimeout(function(){o.select()},0)},o.addEventListener("focus",this._onTextBoxFocus,!1),i.appendChild(o),this._textBox=o;let r=document.createElement("span");r.className="cesium-geocoder-searchButton",r.setAttribute("data-bind","click: search,cesiumSvgPath: { path: isSearchInProgress ? _stopSearchPath : _startSearchPath, width: 32, height: 32 }"),i.appendChild(r),t.appendChild(i);let s=document.createElement("div");s.className="search-results",s.setAttribute("data-bind","visible: _suggestionsVisible");let a=document.createElement("ul");a.setAttribute("data-bind","foreach: _suggestions");let c=document.createElement("li");a.appendChild(c),c.setAttribute("data-bind","text: $data.displayName, click: $parent.activateSuggestion, event: { mouseover: $parent.handleMouseover}, css: { active: $data === $parent._selectedSuggestion }"),s.appendChild(a),t.appendChild(s),be.applyBindings(n,i),be.applyBindings(n,s),this._container=t,this._searchSuggestionsContainer=s,this._viewModel=n,this._form=i,this._onInputBegin=function(u){let f=u.target;typeof u.composedPath=="function"&&(f=u.composedPath()[0]),t.contains(f)||(n._focusTextbox=!1,n.hideSuggestions())},this._onInputEnd=function(u){n._focusTextbox=!0,n.showSuggestions()},Gt.supportsPointerEvents()?(document.addEventListener("pointerdown",this._onInputBegin,!0),t.addEventListener("pointerup",this._onInputEnd,!0),t.addEventListener("pointercancel",this._onInputEnd,!0)):(document.addEventListener("mousedown",this._onInputBegin,!0),t.addEventListener("mouseup",this._onInputEnd,!0),document.addEventListener("touchstart",this._onInputBegin,!0),t.addEventListener("touchend",this._onInputEnd,!0),t.addEventListener("touchcancel",this._onInputEnd,!0))}Object.defineProperties(eG.prototype,{container:{get:function(){return this._container}},searchSuggestionsContainer:{get:function(){return this._searchSuggestionsContainer}},viewModel:{get:function(){return this._viewModel}}});eG.prototype.isDestroyed=function(){return!1};eG.prototype.destroy=function(){let e=this._container;return Gt.supportsPointerEvents()?(document.removeEventListener("pointerdown",this._onInputBegin,!0),e.removeEventListener("pointerup",this._onInputEnd,!0)):(document.removeEventListener("mousedown",this._onInputBegin,!0),e.removeEventListener("mouseup",this._onInputEnd,!0),document.removeEventListener("touchstart",this._onInputBegin,!0),e.removeEventListener("touchend",this._onInputEnd,!0)),this._viewModel.destroy(),be.cleanNode(this._form),be.cleanNode(this._searchSuggestionsContainer),e.removeChild(this._form),e.removeChild(this._searchSuggestionsContainer),this._textBox.removeEventListener("focus",this._onTextBoxFocus,!1),ue(this)};var tG=eG;function cAe(e,t){this._scene=e,this._duration=t;let n=this;this._command=wn(function(){n._scene.camera.flyHome(n._duration)}),this.tooltip="View Home",be.track(this,["tooltip"])}Object.defineProperties(cAe.prototype,{scene:{get:function(){return this._scene}},command:{get:function(){return this._command}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}}});var nG=cAe;function iG(e,t,n){e=Mn(e);let i=new nG(t,n);i._svgPath="M14,4l-10,8.75h20l-4.25-3.7188v-4.6562h-2.812v2.1875l-2.938-2.5625zm-7.0938,9.906v10.094h14.094v-10.094h-14.094zm2.1876,2.313h3.3122v4.25h-3.3122v-4.25zm5.8442,1.281h3.406v6.438h-3.406v-6.438z";let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button cesium-home-button",o.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 28, height: 28 }"),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(iG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});iG.prototype.isDestroyed=function(){return!1};iG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var oG=iG;function XAt(e,t){t.currentTarget.parentElement.parentElement.querySelector(`#${e.name}-expander`).classList.toggle("active"),t.currentTarget.textContent=t.currentTarget.textContent==="+"?"-":"+"}function uAe(e,t){be.track(e);for(let n=0;n<e.sublayers.length;n++)uAe(e.sublayers[n],t)}function rG(e){return e.modelName==="FullModel"}function fAe(e){return e.modelName==="Overview"}function dAe(e){return fAe(e)||rG(e)}function lAe(e,t){if(dAe(e)){e.visibility=!1;for(let i=0;i<e.sublayers.length;i++)e.sublayers[i].visibility=!0;let n={name:e.name,modelName:e.modelName,disable:be.observable(!1),index:t.sublayers.length};return t.topLayers.push(n),t.sublayers.push(e),n}}function KAt(e,t){if(dAe(e)){t.sublayers.forEach(i=>i.visibility=!1),t.sublayers[e.index].visibility=!0;let n=document.getElementById("bsl-wrapper");rG(e)?(t.currentLevel=t.selectedLevel,n.style.display="block"):(t.selectedLevel=t.currentLevel,t.currentLevel="All",n.style.display="none")}}async function ZAt(e,t){try{let n=e.getAttributeNames();for(let i=0;i<n.length;i++)if(n[i]==="BldgLevel"){let o=e.getAttributeValues(n[i]);for(let r=0;r<o.length;r++)t.push(o[r])}t.sort((i,o)=>i-o),t.unshift("All")}catch(n){console.log(`There was an error getting attributes: ${n}`)}}function $At(e){let t=this;this.levels=[],this.viewModel={sublayers:[],levels:this.levels,currentLevel:be.observable(),selectedLevel:"All",topLayers:[{name:"Select a layer to explore...",disable:be.observable(!0),index:-1}],currentLayer:be.observable(),expandClickHandler:XAt,setOptionDisable:function(i,o){be.applyBindingsToNode(i,{disable:o.disable},o)},defaultLayer:void 0},this.viewModel.currentLayer.subscribe(function(i){KAt(i,t.viewModel)});let n=e.sublayers;for(let i=0;i<n.length;i++){uAe(n[i],this.viewModel);let o=lAe(n[i],this.viewModel);l(o)&&(fAe(o)||!l(this.viewModel.defaultLayer)&&rG(o))&&(this.viewModel.defaultLayer=o)}if(this.viewModel.topLayers.length===1&&n.length>0){e.show=!1;let i={name:"Full Model",modelName:"FullModel",visibility:e.show,sublayers:e.sublayers};this.viewModel.defaultLayer=lAe(i,this.viewModel),this.viewModel.currentLayer.subscribe(function(o){e.show=rG(o)})}else this.viewModel.topLayers.length===1&&(this.viewModel.topLayers[0].name="Building layers not found");return ZAt(e,this.levels),this.viewModel.currentLevel.subscribe(function(i){i!=="All"?e.filterByAttributes([{name:"BldgLevel",values:[i]}]):e.filterByAttributes()}),this.viewModel}var sG=$At;function QAt(e,t){let n=document.getElementById(e),i=document.createElement("div");i.classList.add("cesium-viewer-i3s-explorer"),i.innerHTML=` <h3>Building explorer</h3> <select data-bind="options: topLayers, optionsText: 'name', optionsAfterRender: setOptionDisable, value: currentLayer" @@ -16033,8 +16249,8 @@ http://www.naturalearthdata.com/`,category:"Cesium ion",creationFunction:functio </li> </ul> </ul> - </div>`,n.appendChild(i);let o=new iG(t);be.track(o),be.applyBindings(o,n),l(o.defaultLayer)&&(o.currentLayer=o.defaultLayer)}var ZCe=mAt;var pAt="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",_At="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function x$(){this._cameraClicked=new me,this._closeClicked=new me,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",be.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,be.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?_At:pAt}}),be.defineProperty(this,"_bodyless",{get:function(){return!l(this.description)||this.description.length===0}})}x$.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(x$.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var oG=x$;function rG(e){e=Mn(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="×",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new oG;be.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,u=c.createElement("link");u.href=on("Widgets/InfoBox/InfoBoxDescription.css"),u.rel="stylesheet",u.type="text/css";let f=c.createElement("div");f.className="cesium-infoBox-description",c.head.appendChild(u),c.body.appendChild(f),a._descriptionSubscription=Ba(s,"description",function(d){r.style.height="5px",f.innerHTML=d;let p=null,g=f.firstElementChild;if(g!==null&&f.childNodes.length===1){let x=window.getComputedStyle(g);if(x!==null){let b=x["background-color"],T=H.fromCssColorString(b);l(T)&&T.alpha!==0&&(p=x["background-color"])}}t.style["background-color"]=p;let m=f.getBoundingClientRect().height;r.style.height=`${m}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(rG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});rG.prototype.isDestroyed=function(){return!1};rG.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),l(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),ue(this)};var sG=rG;function b$(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,be.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=Dn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=Tz.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(b$.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});b$.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),ue(this)};var aG=b$;function cG(e){let t=Mn(e.container),n=new aG(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="×",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),be.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(cG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});cG.prototype.isDestroyed=function(){return!1};cG.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var lG=cG;function QCe(){this.showInstructions=!1;let e=this;this._command=Dn(function(){e.showInstructions=!e.showInstructions}),this._showClick=Dn(function(){e._touch=!1}),this._showTouch=Dn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",be.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(QCe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var uG=QCe;function fG(e){let t=Mn(e.container),n=new uG,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=on("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let u=document.createElement("button");u.type="button",u.className="cesium-navigation-button cesium-navigation-button-right",u.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let f=document.createElement("img");f.src=on("Widgets/Images/NavigationHelp/Touch.svg"),f.className="cesium-navigation-button-icon",f.style.width="25px",f.style.height="25px",u.appendChild(f),u.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(u);let d=document.createElement("div");d.className="cesium-click-navigation-help cesium-navigation-help-instructions",d.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),d.innerHTML=` <table> <tr> <td><img src="${on("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${on("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${on("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(d);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${on("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${on("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${on("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${on("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),be.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},Wt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(fG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});fG.prototype.isDestroyed=function(){return!1};fG.prototype.destroy=function(){return Wt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var dG=fG;function hG(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new Hr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",be.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,be.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===ne.SCENE2D?n.tooltip2D:o===ne.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=Dn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=Dn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=Dn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=Dn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=ne}Object.defineProperties(hG.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});hG.prototype.isDestroyed=function(){return!1};hG.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var mG=hG;var gAt="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",yAt="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",xAt="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function pG(e,t,n){e=Mn(e);let i=new mG(t,n);i._globePath=gAt,i._flatMapPath=yAt,i._columbusViewPath=xAt;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(c),be.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(u){o.contains(u.target)||(i.dropDownVisible=!1)},Wt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(pG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});pG.prototype.isDestroyed=function(){return!1};pG.prototype.destroy=function(){return this._viewModel.destroy(),Wt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var _G=pG;function gG(e){this._scene=e,this._orthographic=e.camera.frustum instanceof an,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,be.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;be.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=Dn(function(){t.sceneMode===ne.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new Hr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===ne.SCENE2D||t._scene.camera.frustum instanceof an}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=l(e.camera._currentFlight)}),this._switchToPerspective=Dn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=Dn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=ne}Object.defineProperties(gG.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});gG.prototype.isDestroyed=function(){return!1};gG.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var yG=gG;var bAt="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",TAt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function xG(e,t){e=Mn(e);let n=new yG(t);n._perspectivePath=bAt,n._orthographicPath=TAt;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),be.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},Wt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(xG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});xG.prototype.isDestroyed=function(){return!1};xG.prototype.destroy=function(){return this._viewModel.destroy(),Wt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var bG=xG;var CAt=new U,TG="-1000px";function GP(e,t,n){this._scene=e,this._screenPositionX=TG,this._screenPositionY=TG,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,be.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,be.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&l(this.position)}}),be.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return ki.worldToWindowCoordinates(e,i,o)}}GP.prototype.update=function(){if(this.showSelection&&l(this.position)){let e=this.computeScreenSpacePosition(this.position,CAt);if(!l(e))this._screenPositionX=TG,this._screenPositionY=TG;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};GP.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Yr.EXPONENTIAL_OUT})};GP.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Yr.EXPONENTIAL_OUT})};Object.defineProperties(GP.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var CG=GP;function AG(e,t){e=Mn(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new CG(t,this._element,this._container);this._viewModel=c,be.applyBindings(this._viewModel,this._element)}Object.defineProperties(AG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});AG.prototype.isDestroyed=function(){return!1};AG.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),ue(this)};var EG=AG;function Yb(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}Yb.prototype.getHeight=function(){return this._height};Yb.prototype.getBase=function(){return this._base};Yb.prototype.getStartTime=function(){return this._start};Yb.prototype.getStopTime=function(){return this._stop};Yb.prototype.setRange=function(e,t){this._start=e,this._stop=t};Yb.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=K.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=K.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var SG=Yb;function JCe(e,t,n,i){this.interval=e,this.height=t,this.color=n||new H(.5,.5,.5,1),this.backgroundColor=i||new H(0,0,0,0)}JCe.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=K.addSeconds(t.startJulian,t.duration,new K);if(K.lessThan(n,o)&&K.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(K.lessThanOrEquals(n,r)&&K.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let u=K.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new K);!l(a)&&K.greaterThanOrEquals(u,n)?a=s:!l(c)&&K.greaterThanOrEquals(u,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),l(a)&&(l(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var wG=JCe;var T$=1e12,Kf={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},Jc={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},_0=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],AAt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function el(e,t){e=Mn(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=Kf.none,this._touchMode=Jc.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=EAt(this),this._onMouseUp=SAt(this),this._onMouseMove=wAt(this),this._onMouseWheel=vAt(this),this._onTouchStart=DAt(this),this._onTouchMove=PAt(this),this._onTouchEnd=IAt(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}el.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};el.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};el.prototype.isDestroyed=function(){return!1};el.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),ue(this)};el.prototype.addHighlightRange=function(e,t,n){let i=new SG(e,t,n);return this._highlightRanges.push(i),this.resize(),i};el.prototype.addTrack=function(e,t,n,i){let o=new wG(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};el.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=K.secondsDifference(t,e),this._clock&&this._clock.clockRange!==jr.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=K.secondsDifference(o,i),s=K.secondsDifference(i,this._startJulian),a=K.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=K.addSeconds(this._endJulian,s,new K),this._startJulian=i,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=K.addSeconds(this._startJulian,a,new K),this._endJulian=o,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};el.prototype.zoomFrom=function(e){let t=K.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo(K.addSeconds(this._startJulian,t-t*e,new K),K.addSeconds(this._endJulian,n*e-n,new K))};function C$(e){return e<10?`0${e.toString()}`:e.toString()}el.prototype.makeLabel=function(e){let t=K.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${AAt[t.month-1]} ${t.day} ${t.year} ${C$(t.hour)}:${C$(t.minute)}:${C$(t.second)}${i}`};el.prototype.smallestTicInPixels=7;el.prototype._makeTics=function(){let e=this._timeBarEle,t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,u=1e-10,f=0,d=this._timeBarSecondsSpan;d<a?(d=a,this._timeBarSecondsSpan=a,this._endJulian=K.addSeconds(this._startJulian,a,new K)):d>c&&(d=c,this._timeBarSecondsSpan=c,this._endJulian=K.addSeconds(this._startJulian,c,new K));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,m=Math.min(d/p*1e-5,.4),x,b=K.toGregorianDate(g);d>31536e4?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/100)*100,0))):d>31536e3?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/10)*10,0))):d>86400?x=K.fromDate(new Date(Date.UTC(b.year,0))):x=K.fromDate(new Date(Date.UTC(b.year,b.month,b.day)));let T=K.secondsDifference(this._startJulian,K.addSeconds(x,m,new K)),C=T+d;this._epochJulian=x;function A(k){return Math.floor(T/k)*k}function S(k,Y){return Math.ceil(k/Y+.5)*Y}function w(k){return(k-T)/d}function D(k,Y){return k-Y*Math.round(k/Y)}this._rulerEle.innerHTML=this.makeLabel(K.addSeconds(this._endJulian,-a,new K));let O=this._rulerEle.offsetWidth+20;O<30&&(O=180);let R=f;f-=u;let M={startTime:T,startJulian:g,epochJulian:x,duration:d,timeBarWidth:p,getAlpha:w};this._highlightRanges.forEach(function(k){s+=k.render(M)});let L=0,_=0,E=0,v=O/p;v>1&&(v=1),v*=this._timeBarSecondsSpan;let I=-1,N=-1,B=_0.length,z;for(z=0;z<B;++z){let k=_0[z];if(++I,L=k,k>v&&k>f)break;N<0&&p*(k/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(N=I)}if(I>0){for(;I>0;)if(--I,Math.abs(D(L,_0[I]))<1e-5){_0[I]>=f&&(_=_0[I]);break}if(N>=0)for(;N<I;){if(Math.abs(D(_,_0[N]))<1e-5&&_0[N]>=f){E=_0[N];break}++N}}f=R,f>u&&E<1e-5&&Math.abs(f-L)>u&&(E=f,f<=L+u&&(_=0));let V=-999999,G;if(p*(E/this._timeBarSecondsSpan)>=3)for(o=A(E);o<=C;o=S(o,E))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*w(o)).toString()}px;"></span>`;if(p*(_/this._timeBarSecondsSpan)>=3)for(o=A(_);o<=C;o=S(o,_))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*w(o)).toString()}px;"></span>`;if(p*(L/this._timeBarSecondsSpan)>=2){this._mainTicSpan=L,C+=L,o=A(L);let k=K.computeTaiMinusUtc(x);for(;o<=C;){let Y=K.addSeconds(g,o-T,new K);if(L>2.1){let $=K.computeTaiMinusUtc(Y);Math.abs($-k)>.1&&(o+=$-k,Y=K.addSeconds(g,o-T,new K))}let W=Math.round(p*w(o)),J=this.makeLabel(Y);this._rulerEle.innerHTML=J,G=this._rulerEle.offsetWidth,G<10&&(G=O);let j=W-(G/2-1);j>V?(V=j+G+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${W.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${j.toString()}px;">${J}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${W.toString()}px;"></span>`,o=S(o,L)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),M.y=0,this._trackList.forEach(function(k){k.render(r._context,M),M.y+=k.height})};el.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(l(this._scrubElement)){let t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}l(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(K.addSeconds(this._startJulian,this._timelineDrag,new K),K.addSeconds(this._endJulian,this._timelineDrag,new K)))};el.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=K.addSeconds(this._startJulian,t,new K),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function EAt(e){return function(t){e._mouseMode!==Kf.touchOnly&&(t.button===0?(e._mouseMode=Kf.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=Kf.zoom:e._mouseMode=Kf.slide)),t.preventDefault()}}function SAt(e){return function(t){e._mouseMode=Kf.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function wAt(e){return function(t){let n;if(e._mouseMode===Kf.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===Kf.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(K.addSeconds(e._startJulian,i,new K),K.addSeconds(e._endJulian,i,new K))}}else e._mouseMode===Kf.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function vAt(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;T$=Math.max(Math.min(Math.abs(n),T$),1),n/=T$,e.zoomFrom(Math.pow(1.05,-n))}}function DAt(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=Kf.touchOnly,n===1?(i=K.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=Jc.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=Jc.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=Jc.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=Jc.ignore}}function IAt(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===Jc.singleTap?(e._touchMode=Jc.scrub,e._onTouchMove(t)):e._touchMode===Jc.scrub&&e._onTouchMove(t),e._mouseMode=Kf.touchOnly,n!==1?e._touchMode=n>0?Jc.ignore:Jc.none:e._touchMode===Jc.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function PAt(e){return function(t){let n,i,o,r,s,a,c=1,u=e._topDiv.getBoundingClientRect().left;e._touchMode===Jc.singleTap&&(e._touchMode=Jc.slideZoom),e._mouseMode=Kf.touchOnly,e._touchMode===Jc.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-u,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===Jc.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-u,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-u,s=0),l(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=K.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new K)):(n=e._touchState.centerX-r,a=K.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new K)),e.zoomTo(a,K.addSeconds(a,e._timeBarSecondsSpan*c,new K)),e._touchState.centerX=r,e._touchState.spanX=s))}}el.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var vG=el;var oAe=Er(iAe(),1);function MAt(e){let t=!1,n=window.screen;return l(n)&&(l(n.lockOrientation)?t=n.lockOrientation(e):l(n.mozLockOrientation)?t=n.mozLockOrientation(e):l(n.msLockOrientation)?t=n.msLockOrientation(e):l(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function rAe(){let e=window.screen;l(e)&&(l(e.unlockOrientation)?e.unlockOrientation():l(e.mozUnlockOrientation)?e.mozUnlockOrientation():l(e.msUnlockOrientation)?e.msUnlockOrientation():l(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function LAt(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(rAe(),e._locked=!1),e._noSleep.disable(),wr.exitFullscreen(),n(!1)):(wr.fullscreen||wr.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=MAt("landscape")),t.useWebVR=!0,n(!0)))}function DG(e,t){let n=this,i=be.observable(wr.enabled),o=be.observable(!1);this.isVRMode=void 0,be.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,be.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&wr.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=be.observable(!1);this._isOrthographic=void 0,be.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new Hr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof an)}),this._locked=!1,this._noSleep=new oAe.default,this._command=Dn(function(){LAt(n,e,o,r)},be.getObservable(this,"isVREnabled")),this._vrElement=y(Mn(t),document.body),this._callback=function(){!wr.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(rAe(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(wr.changeEventName,this._callback)}Object.defineProperties(DG.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});DG.prototype.isDestroyed=function(){return!1};DG.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(wr.changeEventName,this._callback),ue(this)};var IG=DG;var NAt="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",FAt="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function PG(e,t,n){e=Mn(e);let i=new IG(t,n);i._exitVRPath=FAt,i._enterVRPath=NAt;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(PG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});PG.prototype.isDestroyed=function(){return!1};PG.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var RG=PG;var g0=new ae;function cAe(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function BAt(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);l(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function kAt(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(l(r)&&r!=="")return r}return"Unnamed Feature"}function sAe(e,t){let n=e.scene.pick(t.position);if(l(n)){let i=y(n.id,n.primitive.id);if(i instanceof sr)return i;if(n instanceof Js)return new sr({name:kAt(n),description:BAt(n),feature:n})}if(l(e.scene.globe))return zAt(e,t.position)}var VAt=new K;function lAe(e,t,n){if(l(n)){let i=n.clock;if(l(i)&&(i.getValue(t),l(e))){let o=i.startTime,r=i.stopTime;K.equals(o,r)&&(r=K.addSeconds(o,P.EPSILON2,VAt)),e.updateFromClock(),e.zoomTo(o,r)}}}var UAt=new h;function zAt(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!l(o))return;let r=new sr({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!l(s)||s.length===0){e.selectedEntity=aAe();return}let a=s[0],c=new sr({id:a.name,description:a.description});if(l(a.position)){let u=e.scene.ellipsoid.cartographicToCartesian(a.position,UAt);c.position=new fl(u)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=aAe())}),r}function aAe(){return new sr({id:"None",description:"No features found."})}function HAt(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,u=e._fullscreenButton,f=e._infoBox,d=e._selectionIndicator,p=t?"hidden":"visible";if(l(n)&&(n.container.style.visibility=p),l(i)&&(i.container.style.visibility=p),l(o)&&(o.container.style.visibility=p),l(r)&&(r.container.style.visibility=p),l(s)&&(s.container.style.visibility=p),l(a)&&(a.container.style.visibility=p),l(c)&&(c.container.style.visibility=p),l(u)&&u.viewModel.isFullscreenEnabled&&(u.container.style.visibility=p),l(f)&&(f.container.style.visibility=p),l(d)&&(d.container.style.visibility=p),e._container){let g=t||!l(u)?0:u.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function wi(e,t){e=Mn(e),t=y(t,y.EMPTY_OBJECT);let n=(!l(t.globe)||t.globe!==!1)&&(!l(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,u,f=!1;l(t.clockViewModel)?(u=t.clockViewModel,c=u.clock):(c=new rm,u=new v8(c),f=!0),l(t.shouldAnimate)&&(c.shouldAnimate=t.shouldAnimate);let d=new m8(r,{baseLayer:n&&l(t.selectedImageryProviderViewModel)||l(t.baseLayer)||l(t.imageryProvider)?!1:void 0,clock:c,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,ellipsoid:t.ellipsoid,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:l(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=t.dataSources,g=!1;l(p)||(p=new D3,g=!0);let m=d.scene,x=new _k({scene:m,dataSourceCollection:p}),b=new Hr;b.add(c.onTick,wi.prototype._onTick,this),b.add(m.morphStart,wi.prototype._clearTrackedObject,this);let T;if(!l(t.selectionIndicator)||t.selectionIndicator!==!1){let W=document.createElement("div");W.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(W),T=new EG(W,m)}let C;if(!l(t.infoBox)||t.infoBox!==!1){let W=document.createElement("div");W.className="cesium-viewer-infoBoxContainer",o.appendChild(W),C=new sG(W);let J=C.viewModel;b.add(J.cameraClicked,wi.prototype._onInfoBoxCameraClicked,this),b.add(J.closeClicked,wi.prototype._onInfoBoxClockClicked,this)}let A=document.createElement("div");A.className="cesium-viewer-toolbar",o.appendChild(A);let S;if(!l(t.geocoder)||t.geocoder!==!1){let W=document.createElement("div");W.className="cesium-viewer-geocoderContainer",A.appendChild(W);let J;l(t.geocoder)&&typeof t.geocoder!="boolean"&&(J=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),S=new Q8({container:W,geocoderServices:J,scene:m}),b.add(S.viewModel.search.beforeExecute,wi.prototype._clearObjects,this)}let w;(!l(t.homeButton)||t.homeButton!==!1)&&(w=new tG(A,m),l(S)&&b.add(w.viewModel.command.afterExecute,function(){let W=S.viewModel;W.searchText="",W.isSearchInProgress&&W.search()}),b.add(w.viewModel.command.beforeExecute,wi.prototype._clearTrackedObject,this));let D;!a&&(!l(t.sceneModePicker)||t.sceneModePicker!==!1)&&(D=new _G(A,m));let O;t.projectionPicker&&(O=new bG(A,m));let R,M;if(n){let W=y(t.imageryProviderViewModels,R8()),J=y(t.terrainProviderViewModels,O8());R=new P8(A,{globe:m.globe,imageryProviderViewModels:W,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:J,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),M=A.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}l(t.baseLayer)&&t.baseLayer!==!1&&(n&&(R.viewModel.selectedImagery=void 0),m.imageryLayers.removeAll(),m.imageryLayers.add(t.baseLayer)),l(t.terrainProvider)&&(n&&(R.viewModel.selectedTerrain=void 0),m.terrainProvider=t.terrainProvider),l(t.terrain)&&(n&&(m.globe.depthTestAgainstTerrain=!0),m.setTerrain(t.terrain));let L;if(!l(t.navigationHelpButton)||t.navigationHelpButton!==!1){let W=!0;try{if(l(window.localStorage)){let J=window.localStorage.getItem("cesium-hasSeenNavHelp");l(J)&&J?W=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}L=new dG({container:A,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,W)})}let _;if(!l(t.animation)||t.animation!==!1){let W=document.createElement("div");W.className="cesium-viewer-animationContainer",o.appendChild(W),_=new B8(W,new k8(u))}let E;if(!l(t.timeline)||t.timeline!==!1){let W=document.createElement("div");W.className="cesium-viewer-timelineContainer",o.appendChild(W),E=new vG(W,c),E.addEventListener("settime",cAe,!1),E.zoomTo(c.startTime,c.stopTime)}let v,I,N;(!l(t.fullscreenButton)||t.fullscreenButton!==!1)&&(N=document.createElement("div"),N.className="cesium-viewer-fullscreenContainer",o.appendChild(N),v=new K8(N,t.fullscreenElement),I=Ba(v.viewModel,"isFullscreenEnabled",function(W){N.style.display=W?"block":"none",l(E)&&(E.container.style.right=`${N.clientWidth}px`,E.resize())}));let B,z,V;if(t.vrButton){let W=document.createElement("div");W.className="cesium-viewer-vrContainer",o.appendChild(W),B=new RG(W,m,t.fullScreenElement),z=Ba(B.viewModel,"isVREnabled",function(J){W.style.display=J?"block":"none",l(v)&&(W.style.right=`${N.clientWidth}px`),l(E)&&(E.container.style.right=`${W.clientWidth}px`,E.resize())}),V=Ba(B.viewModel,"isVRMode",function(J){HAt(i,J)})}this._baseLayerPickerDropDown=M,this._fullscreenSubscription=I,this._vrSubscription=z,this._vrModeSubscription=V,this._dataSourceChangedListeners={},this._automaticallyTrackDataSourceClocks=y(t.automaticallyTrackDataSourceClocks,!0),this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=d,this._selectionIndicator=T,this._infoBox=C,this._dataSourceCollection=p,this._destroyDataSourceCollection=g,this._dataSourceDisplay=x,this._clockViewModel=u,this._destroyClockViewModel=f,this._toolbar=A,this._homeButton=w,this._sceneModePicker=D,this._projectionPicker=O,this._baseLayerPicker=R,this._navigationHelpButton=L,this._animation=_,this._timeline=E,this._fullscreenButton=v,this._vrButton=B,this._geocoder=S,this._eventHelper=b,this._lastWidth=0,this._lastHeight=0,this._allowDataSourcesToSuspendAnimation=!0,this._entityView=void 0,this._enableInfoOrSelection=l(C)||l(T),this._clockTrackedDataSource=void 0,this._trackedEntity=void 0,this._needTrackedEntityUpdate=!1,this._selectedEntity=void 0,this._zoomIsFlight=!1,this._zoomTarget=void 0,this._zoomPromise=void 0,this._zoomOptions=void 0,this._selectedEntityChanged=new me,this._trackedEntityChanged=new me,be.track(this,["_trackedEntity","_selectedEntity","_clockTrackedDataSource"]),b.add(p.dataSourceAdded,wi.prototype._onDataSourceAdded,this),b.add(p.dataSourceRemoved,wi.prototype._onDataSourceRemoved,this),b.add(m.postUpdate,wi.prototype.resize,this),b.add(m.postRender,wi.prototype._postRender,this);let G=p.length;for(let W=0;W<G;W++)this._dataSourceAdded(p,p.get(W));this._dataSourceAdded(void 0,x.defaultDataSource),b.add(p.dataSourceAdded,wi.prototype._dataSourceAdded,this),b.add(p.dataSourceRemoved,wi.prototype._dataSourceRemoved,this);function k(W){let J=sAe(i,W);l(J)?q.getValueOrUndefined(J.position,i.clock.currentTime)?i.trackedEntity=J:i.zoomTo(J):l(i.trackedEntity)&&(i.trackedEntity=void 0)}function Y(W){i.selectedEntity=sAe(i,W)}d.screenSpaceEventHandler.setInputAction(Y,Cn.LEFT_CLICK),d.screenSpaceEventHandler.setInputAction(k,Cn.LEFT_DOUBLE_CLICK)}Object.defineProperties(wi.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._dataSourceDisplay}},entities:{get:function(){return this._dataSourceDisplay.defaultDataSource.entities}},dataSources:{get:function(){return this._dataSourceCollection}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._allowDataSourcesToSuspendAnimation},set:function(e){this._allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._trackedEntity},set:function(e){if(this._trackedEntity!==e){this._trackedEntity=e,w$(this);let t=this.scene,n=t.mode;!l(e)||!l(e.position)?(this._needTrackedEntityUpdate=!1,(n===ne.COLUMBUS_VIEW||n===ne.SCENE2D)&&(t.screenSpaceCameraController.enableTranslate=!0),(n===ne.COLUMBUS_VIEW||n===ne.SCENE3D)&&(t.screenSpaceCameraController.enableTilt=!0),this._entityView=void 0,this.camera.lookAtTransform(F.IDENTITY)):this._needTrackedEntityUpdate=!0,this._trackedEntityChanged.raiseEvent(e),this.scene.requestRender()}}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(e)?l(t)&&t.animateAppear():l(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._clockTrackedDataSource},set:function(e){this._clockTrackedDataSource!==e&&(this._clockTrackedDataSource=e,lAe(this._timeline,this.clock,e))}}});wi.prototype.extend=function(e,t){e(this,t)};wi.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=l(this._animation),r=l(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(l(a)&&(a.style.maxHeight=`${s}px`),l(this._geocoder)){let m=this._geocoder.searchSuggestionsContainer;m.style.maxHeight=`${s}px`}l(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,u,f=0,d=5,p=3,g=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let m=this._lastWidth;u=this._animation.container,n>900?(f=169,m<=900&&(u.style.width="169px",u.style.height="112px",this._animation.resize())):n>=600?(f=136,(m<600||m>900)&&(u.style.width="136px",u.style.height="90px",this._animation.resize())):(f=106,(m>600||m===0)&&(u.style.width="106px",u.style.height="70px",this._animation.resize())),d=f+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let m=this._fullscreenButton,x=this._vrButton,b=c.container,T=b.style;p=b.clientHeight+3,T.left=`${f}px`;let C=0;l(m)&&(C+=m.container.clientWidth),l(x)&&(C+=x.container.clientWidth),T.right=`${C}px`,c.resize()}!r&&l(this._fullscreenButton)&&(g=this._fullscreenButton.container.clientWidth),this._bottomContainer.style.left=`${d}px`,this._bottomContainer.style.bottom=`${p}px`,this._bottomContainer.style.right=`${g}px`,this._lastWidth=n,this._lastHeight=i};wi.prototype.forceResize=function(){this._lastWidth=0,this.resize()};wi.prototype.render=function(){this._cesiumWidget.render()};wi.prototype.isDestroyed=function(){return!1};wi.prototype.destroy=function(){let e;l(this.screenSpaceEventHandler)&&!this.screenSpaceEventHandler.isDestroyed()&&(this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_DOUBLE_CLICK));let t=this.dataSources,n=t.length;for(e=0;e<n;e++)this._dataSourceRemoved(t,t.get(e));return this._dataSourceRemoved(void 0,this._dataSourceDisplay.defaultDataSource),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),l(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),l(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),l(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),l(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),l(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),l(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),l(this._timeline)&&(this._timeline.removeEventListener("settime",cAe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),l(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),l(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),l(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),l(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._dataSourceDisplay=this._dataSourceDisplay.destroy(),this._cesiumWidget=this._cesiumWidget.destroy(),this._destroyDataSourceCollection&&(this._dataSourceCollection=this._dataSourceCollection.destroy()),ue(this)};wi.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(wi.prototype._onEntityCollectionChanged,this)};wi.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(wi.prototype._onEntityCollectionChanged,this),l(this.trackedEntity)&&n.getById(this.trackedEntity.id)===this.trackedEntity&&(this.trackedEntity=void 0),l(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};wi.prototype._onTick=function(e){let t=e.currentTime,n=this._dataSourceDisplay.update(t);this._allowDataSourcesToSuspendAnimation&&(this._clockViewModel.canAnimate=n);let i=this._entityView;if(l(i)){let f=this._trackedEntity;this._dataSourceDisplay.getBoundingSphere(f,!1,g0)===ft.DONE&&i.update(t,g0)}let o,r=!1,s=this.selectedEntity,a=l(s)&&this._enableInfoOrSelection;a&&s.isShowing&&s.isAvailable(t)&&(this._dataSourceDisplay.getBoundingSphere(s,!0,g0)!==ft.FAILED?o=g0.center:l(s.position)&&(o=s.position.getValue(t,o)),r=l(o));let c=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(c)&&(c.position=h.clone(o,c.position),c.showSelection=a&&r,c.update());let u=l(this._infoBox)?this._infoBox.viewModel:void 0;l(u)&&(u.showInfo=a,u.enableCamera=r,u.isCameraTracking=this.trackedEntity===this.selectedEntity,a?(u.titleText=y(s.name,s.id),u.description=q.getValueOrDefault(s.description,t,"")):(u.titleText="",u.description=""))};wi.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.trackedEntity===r&&(this.trackedEntity=void 0),this.selectedEntity===r&&(this.selectedEntity=void 0)}};wi.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;l(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};wi.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};wi.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};wi.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};wi.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&lAe(this.timeline,this.clock,e)};wi.prototype._onDataSourceAdded=function(e,t){this._automaticallyTrackDataSourceClocks&&(this.clockTrackedDataSource=t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,wi.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};wi.prototype._onDataSourceRemoved=function(e,t){let n=this.clockTrackedDataSource===t,i=t.entities.id;if(this._dataSourceChangedListeners[i](),this._dataSourceChangedListeners[i]=void 0,n){let o=e.length;this._automaticallyTrackDataSourceClocks&&o>0?this.clockTrackedDataSource=e.get(o-1):this.clockTrackedDataSource=void 0}};wi.prototype.zoomTo=function(e,t){return uAe(this,e,{offset:t},!1)};wi.prototype.flyTo=function(e,t){return uAe(this,e,t,!0)};function uAe(e,t,n,i){w$(e);let o=new Promise(r=>{e._completeZoom=function(s){r(s)}});return e._zoomPromise=o,e._zoomIsFlight=i,e._zoomOptions=n,Promise.resolve(t).then(function(r){if(e._zoomPromise===o){if(r instanceof La){let s;l(r.imageryProvider)?s=Promise.resolve(r.getImageryRectangle()):s=new Promise(a=>{let c=r.readyEvent.addEventListener(()=>{c(),a(r.getImageryRectangle())})}),s.then(function(a){return NE(a,e.scene)}).then(function(a){e._zoomPromise===o&&(e._zoomTarget=a)});return}if(r instanceof Da||r instanceof PP||r instanceof Nb){e._zoomTarget=r;return}if(r.isLoading&&l(r.loadingEvent)){let s=r.loadingEvent.addEventListener(function(){s(),e._zoomPromise===o&&(e._zoomTarget=r.entities.values.slice(0))});return}if(Array.isArray(r)){e._zoomTarget=r.slice(0);return}r=y(r.values,r),l(r.entities)&&(r=r.entities.values),Array.isArray(r)?e._zoomTarget=r.slice(0):e._zoomTarget=[r]}}),e.scene.requestRender(),o}function WP(e){e._zoomPromise=void 0,e._zoomTarget=void 0,e._zoomOptions=void 0}function w$(e){let t=e._zoomPromise;l(t)&&(WP(e),e._completeZoom(!1))}wi.prototype._postRender=function(){GAt(this),WAt(this)};function GAt(e){let t=e._zoomTarget;if(!l(t)||e.scene.mode===ne.MORPHING)return;let n=e.scene,i=n.camera,o=y(e._zoomOptions,{}),r;function s(f){l(o.offset)||(o.offset=new zd(0,-.5,f.radius)),r={offset:o.offset,duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyToBoundingSphere(t.boundingSphere,r):(i.viewBoundingSphere(f,o.offset),i.lookAtTransform(F.IDENTITY),e._completeZoom(!0)),WP(e)}if(t instanceof PP){if(l(t.boundingSphere)){s(t.boundingSphere);return}let f=t.frameChanged.addEventListener(function(d){s(d.boundingSphere),f()});return}if(t instanceof Da||t instanceof Nb){s(t.boundingSphere);return}if(t instanceof fe){r={destination:n.ellipsoid.cartographicToCartesian(t),duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)}},e._zoomIsFlight?i.flyTo(r):(i.setView(r),e._completeZoom(!0)),WP(e);return}let a=t,c=[];for(let f=0,d=a.length;f<d;f++){let p=e._dataSourceDisplay.getBoundingSphere(a[f],!1,g0);if(p===ft.PENDING)return;p!==ft.FAILED&&c.push(ae.clone(g0))}if(c.length===0){w$(e);return}e.trackedEntity=void 0;let u=ae.fromBoundingSpheres(c);e._zoomIsFlight?(WP(e),i.flyToBoundingSphere(u,{duration:o.duration,maximumHeight:o.maximumHeight,complete:function(){e._completeZoom(!0)},cancel:function(){e._completeZoom(!1)},offset:o.offset})):(i.viewBoundingSphere(u,o.offset),i.lookAtTransform(F.IDENTITY),WP(e),e._completeZoom(!0))}function WAt(e){if(!e._needTrackedEntityUpdate)return;let t=e._trackedEntity,n=e.clock.currentTime,i=q.getValueOrUndefined(t.position,n);if(!l(i))return;let o=e.scene,r=e._dataSourceDisplay.getBoundingSphere(t,!1,g0);if(r===ft.PENDING)return;let s=o.mode;(s===ne.COLUMBUS_VIEW||s===ne.SCENE2D)&&(o.screenSpaceCameraController.enableTranslate=!1),(s===ne.COLUMBUS_VIEW||s===ne.SCENE3D)&&(o.screenSpaceCameraController.enableTilt=!1);let a=r!==ft.FAILED?g0:void 0;e._entityView=new xk(t,o,o.ellipsoid),e._entityView.update(n,a),e._needTrackedEntityUpdate=!1}var fAe=wi;function jAt(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new H8(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var dAe=jAt;function qAt(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new j8(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var hAe=qAt;function YAt(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new me,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=Mn(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(f){mAe(s,u),s=f,v$(s,u)}},dropEnabled:{get:function(){return n},set:function(f){f!==n&&(f?v$(s,u):mAe(s,u),n=f)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(f){r=f}},flyToOnDrop:{get:function(){return i},set:function(f){i=f}},proxy:{get:function(){return c},set:function(f){c=f}},clampToGround:{get:function(){return a},set:function(f){a=f}}});function u(f){Xb(f),r&&(e.entities.removeAll(),e.dataSources.removeAll());let d=f.dataTransfer.files,p=d.length;for(let g=0;g<p;g++){let m=d[g],x=new FileReader;x.onload=XAt(e,m,c,a),x.onerror=KAt(e,m),x.readAsText(m)}}v$(s,u),e.destroy=E8(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=u}function Xb(e){e.stopPropagation(),e.preventDefault()}function mAe(e,t){let n=e;l(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",Xb,!1),n.removeEventListener("dragover",Xb,!1),n.removeEventListener("dragexit",Xb,!1))}function v$(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",Xb,!1),e.addEventListener("dragover",Xb,!1),e.addEventListener("dragexit",Xb,!1)}function XAt(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=w3.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=bV.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=WV.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=PV.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}l(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function KAt(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var pAe=YAt;function $At(e,t){t=y(t,y.EMPTY_OBJECT);let n=new lG({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var _Ae=$At;function gAe(e){let t=e.split(` + </div>`,n.appendChild(i);let o=new sG(t);be.track(o),be.applyBindings(o,n),l(o.defaultLayer)&&(o.currentLayer=o.defaultLayer)}var hAe=QAt;var JAt="M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4853444 22.104033 11.423165 24.0625 13.84375 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 8.975298 28.305952 7.03125 25.875 7.03125 L 13.84375 7.03125 z",eEt="M 27.34375 1.65625 L 5.28125 27.9375 L 8.09375 30.3125 L 30.15625 4.03125 L 27.34375 1.65625 z M 13.84375 7.03125 C 11.412798 7.03125 9.46875 8.975298 9.46875 11.40625 L 9.46875 11.59375 L 2.53125 7.21875 L 2.53125 24.0625 L 9.46875 19.6875 C 9.4724893 20.232036 9.5676108 20.7379 9.75 21.21875 L 21.65625 7.03125 L 13.84375 7.03125 z M 28.21875 7.71875 L 14.53125 24.0625 L 25.875 24.0625 C 28.305952 24.0625 30.28125 22.087202 30.28125 19.65625 L 30.28125 11.40625 C 30.28125 9.8371439 29.456025 8.4902779 28.21875 7.71875 z";function IZ(){this._cameraClicked=new me,this._closeClicked=new me,this.maxHeight=500,this.enableCamera=!1,this.isCameraTracking=!1,this.showInfo=!1,this.titleText="",this.description="",be.track(this,["showInfo","titleText","description","maxHeight","enableCamera","isCameraTracking"]),this._loadingIndicatorHtml='<div class="cesium-infoBox-loadingContainer"><span class="cesium-infoBox-loading"></span></div>',this.cameraIconPath=void 0,be.defineProperty(this,"cameraIconPath",{get:function(){return!this.enableCamera||this.isCameraTracking?eEt:JAt}}),be.defineProperty(this,"_bodyless",{get:function(){return!l(this.description)||this.description.length===0}})}IZ.prototype.maxHeightOffset=function(e){return`${this.maxHeight-e}px`};Object.defineProperties(IZ.prototype,{cameraClicked:{get:function(){return this._cameraClicked}},closeClicked:{get:function(){return this._closeClicked}}});var aG=IZ;function cG(e){e=Mn(e);let t=document.createElement("div");t.className="cesium-infoBox",t.setAttribute("data-bind",'css: { "cesium-infoBox-visible" : showInfo, "cesium-infoBox-bodyless" : _bodyless }'),e.appendChild(t);let n=document.createElement("div");n.className="cesium-infoBox-title",n.setAttribute("data-bind","text: titleText"),t.appendChild(n);let i=document.createElement("button");i.type="button",i.className="cesium-button cesium-infoBox-camera",i.setAttribute("data-bind",'attr: { title: "Focus camera on object" },click: function () { cameraClicked.raiseEvent(this); },enable: enableCamera,cesiumSvgPath: { path: cameraIconPath, width: 32, height: 32 }'),t.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-infoBox-close",o.setAttribute("data-bind","click: function () { closeClicked.raiseEvent(this); }"),o.innerHTML="×",t.appendChild(o);let r=document.createElement("iframe");r.className="cesium-infoBox-iframe",r.setAttribute("sandbox","allow-same-origin allow-popups allow-forms"),r.setAttribute("data-bind","style : { maxHeight : maxHeightOffset(40) }"),r.setAttribute("allowfullscreen",!0),t.appendChild(r);let s=new aG;be.applyBindings(s,t),this._container=e,this._element=t,this._frame=r,this._viewModel=s,this._descriptionSubscription=void 0;let a=this;r.addEventListener("load",function(){let c=r.contentDocument,u=c.createElement("link");u.href=rn("Widgets/InfoBox/InfoBoxDescription.css"),u.rel="stylesheet",u.type="text/css";let f=c.createElement("div");f.className="cesium-infoBox-description",c.head.appendChild(u),c.body.appendChild(f),a._descriptionSubscription=ka(s,"description",function(d){r.style.height="5px",f.innerHTML=d;let p=null,g=f.firstElementChild;if(g!==null&&f.childNodes.length===1){let x=window.getComputedStyle(g);if(x!==null){let b=x["background-color"],T=z.fromCssColorString(b);l(T)&&T.alpha!==0&&(p=x["background-color"])}}t.style["background-color"]=p;let m=f.getBoundingClientRect().height;r.style.height=`${m}px`})}),r.setAttribute("src","about:blank")}Object.defineProperties(cG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}},frame:{get:function(){return this._frame}}});cG.prototype.isDestroyed=function(){return!1};cG.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),l(this._descriptionSubscription)&&this._descriptionSubscription.dispose(),ue(this)};var lG=cG;function mAe(){this.showInstructions=!1;let e=this;this._command=wn(function(){e.showInstructions=!e.showInstructions}),this._showClick=wn(function(){e._touch=!1}),this._showTouch=wn(function(){e._touch=!0}),this._touch=!1,this.tooltip="Navigation Instructions",be.track(this,["tooltip","showInstructions","_touch"])}Object.defineProperties(mAe.prototype,{command:{get:function(){return this._command}},showClick:{get:function(){return this._showClick}},showTouch:{get:function(){return this._showTouch}}});var uG=mAe;function fG(e){let t=Mn(e.container),n=new uG,i=y(e.instructionsInitiallyVisible,!1);n.showInstructions=i,n._svgPath="M16,1.466C7.973,1.466,1.466,7.973,1.466,16c0,8.027,6.507,14.534,14.534,14.534c8.027,0,14.534-6.507,14.534-14.534C30.534,7.973,24.027,1.466,16,1.466z M17.328,24.371h-2.707v-2.596h2.707V24.371zM17.328,19.003v0.858h-2.707v-1.057c0-3.19,3.63-3.696,3.63-5.963c0-1.034-0.924-1.826-2.134-1.826c-1.254,0-2.354,0.924-2.354,0.924l-1.541-1.915c0,0,1.519-1.584,4.137-1.584c2.487,0,4.796,1.54,4.796,4.136C21.156,16.208,17.328,16.627,17.328,19.003z";let o=document.createElement("span");o.className="cesium-navigationHelpButton-wrapper",t.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-navigation-help-button",r.setAttribute("data-bind","attr: { title: tooltip },click: command,cesiumSvgPath: { path: _svgPath, width: 32, height: 32 }"),o.appendChild(r);let s=document.createElement("div");s.className="cesium-navigation-help",s.setAttribute("data-bind",'css: { "cesium-navigation-help-visible" : showInstructions}'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-navigation-button cesium-navigation-button-left",a.setAttribute("data-bind",'click: showClick, css: {"cesium-navigation-button-selected": !_touch, "cesium-navigation-button-unselected": _touch}');let c=document.createElement("img");c.src=rn("Widgets/Images/NavigationHelp/Mouse.svg"),c.className="cesium-navigation-button-icon",c.style.width="25px",c.style.height="25px",a.appendChild(c),a.appendChild(document.createTextNode("Mouse"));let u=document.createElement("button");u.type="button",u.className="cesium-navigation-button cesium-navigation-button-right",u.setAttribute("data-bind",'click: showTouch, css: {"cesium-navigation-button-selected": _touch, "cesium-navigation-button-unselected": !_touch}');let f=document.createElement("img");f.src=rn("Widgets/Images/NavigationHelp/Touch.svg"),f.className="cesium-navigation-button-icon",f.style.width="25px",f.style.height="25px",u.appendChild(f),u.appendChild(document.createTextNode("Touch")),s.appendChild(a),s.appendChild(u);let d=document.createElement("div");d.className="cesium-click-navigation-help cesium-navigation-help-instructions",d.setAttribute("data-bind",'css: { "cesium-click-navigation-help-visible" : !_touch}'),d.innerHTML=` <table> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/MouseLeft.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">Left click + drag</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/MouseRight.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Right click + drag, or</div> <div class="cesium-navigation-help-details">Mouse wheel scroll</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/MouseMiddle.svg")}" width="48" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Rotate view</div> <div class="cesium-navigation-help-details">Middle click + drag, or</div> <div class="cesium-navigation-help-details">CTRL + Left/Right click + drag</div> </td> </tr> </table>`,s.appendChild(d);let p=document.createElement("div");p.className="cesium-touch-navigation-help cesium-navigation-help-instructions",p.setAttribute("data-bind",'css: { "cesium-touch-navigation-help-visible" : _touch}'),p.innerHTML=` <table> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchDrag.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-pan">Pan view</div> <div class="cesium-navigation-help-details">One finger drag</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchZoom.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-zoom">Zoom view</div> <div class="cesium-navigation-help-details">Two finger pinch</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchTilt.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-rotate">Tilt view</div> <div class="cesium-navigation-help-details">Two finger drag, same direction</div> </td> </tr> <tr> <td><img src="${rn("Widgets/Images/NavigationHelp/TouchRotate.svg")}" width="70" height="48" /></td> <td> <div class="cesium-navigation-help-tilt">Rotate view</div> <div class="cesium-navigation-help-details">Two finger drag, opposite direction</div> </td> </tr> </table>`,s.appendChild(p),be.applyBindings(n,o),this._container=t,this._viewModel=n,this._wrapper=o,this._closeInstructions=function(g){o.contains(g.target)||(n.showInstructions=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeInstructions,!0):(document.addEventListener("mousedown",this._closeInstructions,!0),document.addEventListener("touchstart",this._closeInstructions,!0))}Object.defineProperties(fG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});fG.prototype.isDestroyed=function(){return!1};fG.prototype.destroy=function(){return Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeInstructions,!0):(document.removeEventListener("mousedown",this._closeInstructions,!0),document.removeEventListener("touchstart",this._closeInstructions,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var dG=fG;function PZ(e){this._scene=e.scene,this.lowFrameRateMessage=y(e.lowFrameRateMessage,"This application appears to be performing poorly on your system. Please try using a different web browser or updating your video drivers."),this.lowFrameRateMessageDismissed=!1,this.showingLowFrameRateMessage=!1,be.track(this,["lowFrameRateMessage","lowFrameRateMessageDismissed","showingLowFrameRateMessage"]);let t=this;this._dismissMessage=wn(function(){t.showingLowFrameRateMessage=!1,t.lowFrameRateMessageDismissed=!0});let n=f8.fromScene(e.scene);this._unsubscribeLowFrameRate=n.lowFrameRate.addEventListener(function(){t.lowFrameRateMessageDismissed||(t.showingLowFrameRateMessage=!0)}),this._unsubscribeNominalFrameRate=n.nominalFrameRate.addEventListener(function(){t.showingLowFrameRateMessage=!1})}Object.defineProperties(PZ.prototype,{scene:{get:function(){return this._scene}},dismissMessage:{get:function(){return this._dismissMessage}}});PZ.prototype.destroy=function(){return this._unsubscribeLowFrameRate(),this._unsubscribeNominalFrameRate(),ue(this)};var hG=PZ;function mG(e){let t=Mn(e.container),n=new hG(e),i=document.createElement("div");i.className="cesium-performance-watchdog-message-area",i.setAttribute("data-bind","visible: showingLowFrameRateMessage");let o=document.createElement("button");o.setAttribute("type","button"),o.className="cesium-performance-watchdog-message-dismiss",o.innerHTML="×",o.setAttribute("data-bind","click: dismissMessage"),i.appendChild(o);let r=document.createElement("div");r.className="cesium-performance-watchdog-message",r.setAttribute("data-bind","html: lowFrameRateMessage"),i.appendChild(r),t.appendChild(i),be.applyBindings(n,i),this._container=t,this._viewModel=n,this._element=i}Object.defineProperties(mG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});mG.prototype.isDestroyed=function(){return!1};mG.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var pG=mG;function _G(e){this._scene=e,this._orthographic=e.camera.frustum instanceof an,this._flightInProgress=!1,this.dropDownVisible=!1,this.tooltipPerspective="Perspective Projection",this.tooltipOrthographic="Orthographic Projection",this.selectedTooltip=void 0,this.sceneMode=e.mode,be.track(this,["_orthographic","_flightInProgress","sceneMode","dropDownVisible","tooltipPerspective","tooltipOrthographic"]);let t=this;be.defineProperty(this,"selectedTooltip",function(){return t._orthographic?t.tooltipOrthographic:t.tooltipPerspective}),this._toggleDropDown=wn(function(){t.sceneMode===ne.SCENE2D||t._flightInProgress||(t.dropDownVisible=!t.dropDownVisible)}),this._eventHelper=new xr,this._eventHelper.add(e.morphComplete,function(n,i,o,r){t.sceneMode=o,t._orthographic=o===ne.SCENE2D||t._scene.camera.frustum instanceof an}),this._eventHelper.add(e.preRender,function(){t._flightInProgress=l(e.camera._currentFlight)}),this._switchToPerspective=wn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToPerspectiveFrustum(),t._orthographic=!1,t.dropDownVisible=!1)}),this._switchToOrthographic=wn(function(){t.sceneMode!==ne.SCENE2D&&(t._scene.camera.switchToOrthographicFrustum(),t._orthographic=!0,t.dropDownVisible=!1)}),this._sceneMode=ne}Object.defineProperties(_G.prototype,{scene:{get:function(){return this._scene}},toggleDropDown:{get:function(){return this._toggleDropDown}},switchToPerspective:{get:function(){return this._switchToPerspective}},switchToOrthographic:{get:function(){return this._switchToOrthographic}},isOrthographicProjection:{get:function(){return this._orthographic}}});_G.prototype.isDestroyed=function(){return!1};_G.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var gG=_G;var tEt="M 28.15625,10.4375 9.125,13.21875 13.75,43.25 41.75,55.09375 50.8125,37 54.5,11.9375 z m 0.125,3 19.976451,0.394265 L 43.03125,16.875 22.6875,14.28125 z M 50.971746,15.705477 47.90625,36.03125 42.53125,46 44.84375,19.3125 z M 12.625,16.03125 l 29.15625,3.6875 -2.65625,31 L 16.4375,41.125 z",nEt="m 31.560594,6.5254438 -20.75,12.4687502 0.1875,24.5625 22.28125,11.8125 19.5,-12 0.65625,-0.375 0,-0.75 0.0312,-23.21875 z m 0.0625,3.125 16.65625,9.5000002 -16.125,10.28125 -17.34375,-9.71875 z m 18.96875,11.1875002 0.15625,20.65625 -17.46875,10.59375 0.15625,-20.28125 z m -37.0625,1.25 17.21875,9.625 -0.15625,19.21875 -16.9375,-9 z";function yG(e,t){e=Mn(e);let n=new gG(t);n._perspectivePath=tEt,n._orthographicPath=nEt;let i=document.createElement("span");i.className="cesium-projectionPicker-wrapper cesium-toolbar-button",e.appendChild(i);let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-toolbar-button",o.setAttribute("data-bind",'css: { "cesium-projectionPicker-buttonPerspective": !_orthographic, "cesium-projectionPicker-buttonOrthographic": _orthographic, "cesium-button-disabled" : sceneMode === _sceneMode.SCENE2D || _flightInProgress, "cesium-projectionPicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),o.innerHTML='<!-- ko cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64, css: "cesium-projectionPicker-iconPerspective" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64, css: "cesium-projectionPicker-iconOrthographic" } --><!-- /ko -->',i.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",r.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && _orthographic), "cesium-projectionPicker-none" : !_orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible },attr: { title: tooltipPerspective },click: switchToPerspective,cesiumSvgPath: { path: _perspectivePath, width: 64, height: 64 }'),i.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-projectionPicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-projectionPicker-visible" : (dropDownVisible && !_orthographic), "cesium-projectionPicker-none" : _orthographic, "cesium-projectionPicker-hidden" : !dropDownVisible},attr: { title: tooltipOrthographic },click: switchToOrthographic,cesiumSvgPath: { path: _orthographicPath, width: 64, height: 64 }'),i.appendChild(s),be.applyBindings(n,i),this._viewModel=n,this._container=e,this._wrapper=i,this._closeDropDown=function(a){i.contains(a.target)||(n.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(yG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});yG.prototype.isDestroyed=function(){return!1};yG.prototype.destroy=function(){return this._viewModel.destroy(),Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var xG=yG;function bG(e,t){this._scene=e;let n=this,i=function(o,r,s,a){n.sceneMode=s,n.dropDownVisible=!1};this._eventHelper=new xr,this._eventHelper.add(e.morphStart,i),this._duration=y(t,2),this.sceneMode=e.mode,this.dropDownVisible=!1,this.tooltip2D="2D",this.tooltip3D="3D",this.tooltipColumbusView="Columbus View",be.track(this,["sceneMode","dropDownVisible","tooltip2D","tooltip3D","tooltipColumbusView"]),this.selectedTooltip=void 0,be.defineProperty(this,"selectedTooltip",function(){let o=n.sceneMode;return o===ne.SCENE2D?n.tooltip2D:o===ne.SCENE3D?n.tooltip3D:n.tooltipColumbusView}),this._toggleDropDown=wn(function(){n.dropDownVisible=!n.dropDownVisible}),this._morphTo2D=wn(function(){e.morphTo2D(n._duration)}),this._morphTo3D=wn(function(){e.morphTo3D(n._duration)}),this._morphToColumbusView=wn(function(){e.morphToColumbusView(n._duration)}),this._sceneMode=ne}Object.defineProperties(bG.prototype,{scene:{get:function(){return this._scene}},duration:{get:function(){return this._duration},set:function(e){this._duration=e}},toggleDropDown:{get:function(){return this._toggleDropDown}},morphTo2D:{get:function(){return this._morphTo2D}},morphTo3D:{get:function(){return this._morphTo3D}},morphToColumbusView:{get:function(){return this._morphToColumbusView}}});bG.prototype.isDestroyed=function(){return!1};bG.prototype.destroy=function(){this._eventHelper.removeAll(),ue(this)};var TG=bG;var iEt="m 32.401392,4.9330437 c -7.087603,0 -14.096095,2.884602 -19.10793,7.8946843 -5.0118352,5.010083 -7.9296167,11.987468 -7.9296167,19.072999 0,7.085531 2.9177815,14.097848 7.9296167,19.107931 4.837653,4.835961 11.541408,7.631372 18.374354,7.82482 0.05712,0.01231 0.454119,0.139729 0.454119,0.139729 l 0.03493,-0.104797 c 0.08246,7.84e-4 0.162033,0.03493 0.244525,0.03493 0.08304,0 0.161515,-0.03414 0.244526,-0.03493 l 0.03493,0.104797 c 0,0 0.309474,-0.129487 0.349323,-0.139729 6.867765,-0.168094 13.582903,-2.965206 18.444218,-7.82482 2.558195,-2.5573 4.551081,-5.638134 5.903547,-8.977584 1.297191,-3.202966 2.02607,-6.661489 2.02607,-10.130347 0,-6.237309 -2.366261,-12.31219 -6.322734,-17.116794 -0.0034,-0.02316 0.0049,-0.04488 0,-0.06986 -0.01733,-0.08745 -0.104529,-0.278855 -0.104797,-0.279458 -5.31e-4,-0.0012 -0.522988,-0.628147 -0.523984,-0.62878 -3.47e-4,-2.2e-4 -0.133444,-0.03532 -0.244525,-0.06987 C 51.944299,13.447603 51.751076,13.104317 51.474391,12.827728 46.462556,7.8176457 39.488996,4.9330437 32.401392,4.9330437 z m -2.130866,3.5281554 0.104797,9.6762289 c -4.111695,-0.08361 -7.109829,-0.423664 -9.257041,-0.943171 1.198093,-2.269271 2.524531,-4.124404 3.91241,-5.414496 2.167498,-2.0147811 3.950145,-2.8540169 5.239834,-3.3185619 z m 2.794579,0 c 1.280302,0.4754953 3.022186,1.3285948 5.065173,3.2486979 1.424667,1.338973 2.788862,3.303645 3.982275,5.728886 -2.29082,0.403367 -5.381258,0.621049 -8.942651,0.698645 L 33.065105,8.4611991 z m 5.728886,0.2445256 c 4.004072,1.1230822 7.793098,3.1481363 10.724195,6.0782083 0.03468,0.03466 0.07033,0.06991 0.104797,0.104797 -0.45375,0.313891 -0.923054,0.663002 -1.956205,1.082899 -0.647388,0.263114 -1.906242,0.477396 -2.829511,0.733577 -1.382296,-2.988132 -3.027146,-5.368585 -4.785716,-7.0213781 -0.422866,-0.397432 -0.835818,-0.6453247 -1.25756,-0.9781032 z m -15.33525,0.7685092 c -0.106753,0.09503 -0.207753,0.145402 -0.31439,0.244526 -1.684973,1.5662541 -3.298068,3.8232211 -4.680919,6.5672591 -0.343797,-0.14942 -1.035052,-0.273198 -1.292493,-0.419186 -0.956528,-0.542427 -1.362964,-1.022024 -1.537018,-1.292493 -0.0241,-0.03745 -0.01868,-0.0401 -0.03493,-0.06986 2.250095,-2.163342 4.948824,-3.869984 7.859752,-5.0302421 z m -9.641296,7.0912431 c 0.464973,0.571618 0.937729,1.169056 1.956205,1.746612 0.349907,0.198425 1.107143,0.335404 1.537018,0.523983 -1.20166,3.172984 -1.998037,7.051901 -2.165798,11.772162 C 14.256557,30.361384 12.934823,30.161483 12.280427,29.90959 10.644437,29.279855 9.6888882,28.674891 9.1714586,28.267775 8.6540289,27.860658 8.6474751,27.778724 8.6474751,27.778724 l -0.069864,0.03493 C 9.3100294,23.691285 11.163248,19.798527 13.817445,16.565477 z m 37.552149,0.523984 c 2.548924,3.289983 4.265057,7.202594 4.890513,11.318043 -0.650428,0.410896 -1.756876,1.001936 -3.563088,1.606882 -1.171552,0.392383 -3.163859,0.759153 -4.960377,1.117832 -0.04367,-4.752703 -0.784809,-8.591423 -1.88634,-11.807094 0.917574,-0.263678 2.170552,-0.486495 2.864443,-0.76851 1.274693,-0.518066 2.003942,-1.001558 2.654849,-1.467153 z m -31.439008,2.619917 c 2.487341,0.672766 5.775813,1.137775 10.479669,1.222628 l 0.104797,10.689263 0,0.03493 0,0.733577 c -5.435005,-0.09059 -9.512219,-0.519044 -12.610536,-1.117831 0.106127,-4.776683 0.879334,-8.55791 2.02607,-11.562569 z m 23.264866,0.31439 c 1.073459,3.067541 1.833795,6.821314 1.816476,11.702298 -3.054474,0.423245 -7.062018,0.648559 -11.702298,0.698644 l 0,-0.838373 -0.104796,-10.654331 c 4.082416,-0.0864 7.404468,-0.403886 9.990618,-0.908238 z M 8.2632205,30.922625 c 0.7558676,0.510548 1.5529563,1.013339 3.0041715,1.57195 0.937518,0.360875 2.612202,0.647642 3.91241,0.978102 0.112814,3.85566 0.703989,7.107756 1.606883,9.920754 -1.147172,-0.324262 -2.644553,-0.640648 -3.423359,-0.978102 -1.516688,-0.657177 -2.386627,-1.287332 -2.864443,-1.71168 -0.477816,-0.424347 -0.489051,-0.489051 -0.489051,-0.489051 L 9.8002387,40.319395 C 8.791691,37.621767 8.1584238,34.769583 8.1584238,31.900727 c 0,-0.330153 0.090589,-0.648169 0.1047967,-0.978102 z m 48.2763445,0.419186 c 0.0047,0.188973 0.06986,0.36991 0.06986,0.558916 0,2.938869 -0.620228,5.873558 -1.676747,8.628261 -0.07435,0.07583 -0.06552,0.07411 -0.454119,0.349323 -0.606965,0.429857 -1.631665,1.042044 -3.318562,1.676747 -1.208528,0.454713 -3.204964,0.850894 -5.135038,1.25756 0.84593,-2.765726 1.41808,-6.005357 1.606883,-9.815957 2.232369,-0.413371 4.483758,-0.840201 5.938479,-1.327425 1.410632,-0.472457 2.153108,-0.89469 2.96924,-1.327425 z m -38.530252,2.864443 c 3.208141,0.56697 7.372279,0.898588 12.575603,0.978103 l 0.174662,9.885821 c -4.392517,-0.06139 -8.106722,-0.320566 -10.863925,-0.803441 -1.051954,-2.664695 -1.692909,-6.043794 -1.88634,-10.060483 z m 26.793022,0.31439 c -0.246298,3.923551 -0.877762,7.263679 -1.816476,9.885822 -2.561957,0.361954 -5.766249,0.560708 -9.431703,0.62878 l -0.174661,-9.815957 c 4.491734,-0.04969 8.334769,-0.293032 11.42284,-0.698645 z M 12.035901,44.860585 c 0.09977,0.04523 0.105535,0.09465 0.209594,0.139729 1.337656,0.579602 3.441099,1.058072 5.589157,1.537018 1.545042,3.399208 3.548524,5.969402 5.589157,7.789888 -3.034411,-1.215537 -5.871615,-3.007978 -8.174142,-5.309699 -1.245911,-1.245475 -2.271794,-2.662961 -3.213766,-4.156936 z m 40.69605,0 c -0.941972,1.493975 -1.967855,2.911461 -3.213765,4.156936 -2.74253,2.741571 -6.244106,4.696717 -9.955686,5.868615 0.261347,-0.241079 0.507495,-0.394491 0.768509,-0.663713 1.674841,-1.727516 3.320792,-4.181056 4.645987,-7.265904 2.962447,-0.503021 5.408965,-1.122293 7.161107,-1.781544 0.284034,-0.106865 0.337297,-0.207323 0.593848,-0.31439 z m -31.404076,2.305527 c 2.645807,0.376448 5.701178,0.649995 9.466635,0.698645 l 0.139729,7.789888 c -1.38739,-0.480844 -3.316218,-1.29837 -5.659022,-3.388427 -1.388822,-1.238993 -2.743668,-3.0113 -3.947342,-5.100106 z m 20.365491,0.104797 c -1.04872,2.041937 -2.174337,3.779068 -3.353494,4.995309 -1.853177,1.911459 -3.425515,2.82679 -4.611055,3.353494 l -0.139729,-7.789887 c 3.13091,-0.05714 5.728238,-0.278725 8.104278,-0.558916 z",oEt="m 2.9825053,17.550598 0,1.368113 0,26.267766 0,1.368113 1.36811,0 54.9981397,0 1.36811,0 0,-1.368113 0,-26.267766 0,-1.368113 -1.36811,0 -54.9981397,0 -1.36811,0 z m 2.73623,2.736226 10.3292497,0 0,10.466063 -10.3292497,0 0,-10.466063 z m 13.0654697,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 11.69737,0 0,10.466063 -11.69737,0 0,-10.466063 z m 14.43359,0 10.32926,0 0,10.466063 -10.32926,0 0,-10.466063 z m -41.9326497,13.202288 10.3292497,0 0,10.329252 -10.3292497,0 0,-10.329252 z m 13.0654697,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 11.69737,0 0,10.329252 -11.69737,0 0,-10.329252 z m 14.43359,0 10.32926,0 0,10.329252 -10.32926,0 0,-10.329252 z",rEt="m 14.723969,17.675598 -0.340489,0.817175 -11.1680536,26.183638 -0.817175,1.872692 2.076986,0 54.7506996,0 2.07698,0 -0.81717,-1.872692 -11.16805,-26.183638 -0.34049,-0.817175 -0.91933,0 -32.414586,0 -0.919322,0 z m 1.838643,2.723916 6.196908,0 -2.928209,10.418977 -7.729111,0 4.460412,-10.418977 z m 9.02297,0 4.903049,0 0,10.418977 -7.831258,0 2.928209,-10.418977 z m 7.626964,0 5.584031,0 2.62176,10.418977 -8.205791,0 0,-10.418977 z m 8.410081,0 5.51593,0 4.46042,10.418977 -7.38863,0 -2.58772,-10.418977 z m -30.678091,13.142892 8.103649,0 -2.89416,10.282782 -9.6018026,0 4.3923136,-10.282782 z m 10.929711,0 8.614384,0 0,10.282782 -11.508544,0 2.89416,-10.282782 z m 11.338299,0 8.852721,0 2.58772,10.282782 -11.440441,0 0,-10.282782 z m 11.678781,0 7.86531,0 4.39231,10.282782 -9.6699,0 -2.58772,-10.282782 z";function CG(e,t,n){e=Mn(e);let i=new TG(t,n);i._globePath=iEt,i._flatMapPath=oEt,i._columbusViewPath=rEt;let o=document.createElement("span");o.className="cesium-sceneModePicker-wrapper cesium-toolbar-button",e.appendChild(o);let r=document.createElement("button");r.type="button",r.className="cesium-button cesium-toolbar-button",r.setAttribute("data-bind",'css: { "cesium-sceneModePicker-button2D": sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-button3D": sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-buttonColumbusView": sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-selected": dropDownVisible },attr: { title: selectedTooltip },click: toggleDropDown'),r.innerHTML='<!-- ko cesiumSvgPath: { path: _globePath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon3D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-icon2D" } --><!-- /ko --><!-- ko cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64, css: "cesium-sceneModePicker-slide-svg cesium-sceneModePicker-iconColumbusView" } --><!-- /ko -->',o.appendChild(r);let s=document.createElement("button");s.type="button",s.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",s.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE3D)) || (!dropDownVisible && (sceneMode === _sceneMode.SCENE3D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE3D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip3D },click: morphTo3D,cesiumSvgPath: { path: _globePath, width: 64, height: 64 }'),o.appendChild(s);let a=document.createElement("button");a.type="button",a.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",a.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.SCENE2D)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.SCENE2D, "cesium-sceneModePicker-hidden" : !dropDownVisible },attr: { title: tooltip2D },click: morphTo2D,cesiumSvgPath: { path: _flatMapPath, width: 64, height: 64 }'),o.appendChild(a);let c=document.createElement("button");c.type="button",c.className="cesium-button cesium-toolbar-button cesium-sceneModePicker-dropDown-icon",c.setAttribute("data-bind",'css: { "cesium-sceneModePicker-visible" : (dropDownVisible && (sceneMode !== _sceneMode.COLUMBUS_VIEW)) || (!dropDownVisible && (sceneMode === _sceneMode.COLUMBUS_VIEW)), "cesium-sceneModePicker-none" : sceneMode === _sceneMode.COLUMBUS_VIEW, "cesium-sceneModePicker-hidden" : !dropDownVisible},attr: { title: tooltipColumbusView },click: morphToColumbusView,cesiumSvgPath: { path: _columbusViewPath, width: 64, height: 64 }'),o.appendChild(c),be.applyBindings(i,o),this._viewModel=i,this._container=e,this._wrapper=o,this._closeDropDown=function(u){o.contains(u.target)||(i.dropDownVisible=!1)},Gt.supportsPointerEvents()?document.addEventListener("pointerdown",this._closeDropDown,!0):(document.addEventListener("mousedown",this._closeDropDown,!0),document.addEventListener("touchstart",this._closeDropDown,!0))}Object.defineProperties(CG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});CG.prototype.isDestroyed=function(){return!1};CG.prototype.destroy=function(){return this._viewModel.destroy(),Gt.supportsPointerEvents()?document.removeEventListener("pointerdown",this._closeDropDown,!0):(document.removeEventListener("mousedown",this._closeDropDown,!0),document.removeEventListener("touchstart",this._closeDropDown,!0)),be.cleanNode(this._wrapper),this._container.removeChild(this._wrapper),ue(this)};var AG=CG;var sEt=new U,EG="-1000px";function KP(e,t,n){this._scene=e,this._screenPositionX=EG,this._screenPositionY=EG,this._tweens=e.tweens,this._container=y(n,document.body),this._selectionIndicatorElement=t,this._scale=1,this.position=void 0,this.showSelection=!1,be.track(this,["position","_screenPositionX","_screenPositionY","_scale","showSelection"]),this.isVisible=void 0,be.defineProperty(this,"isVisible",{get:function(){return this.showSelection&&l(this.position)}}),be.defineProperty(this,"_transform",{get:function(){return`scale(${this._scale})`}}),this.computeScreenSpacePosition=function(i,o){return Ui.worldToWindowCoordinates(e,i,o)}}KP.prototype.update=function(){if(this.showSelection&&l(this.position)){let e=this.computeScreenSpacePosition(this.position,sEt);if(!l(e))this._screenPositionX=EG,this._screenPositionY=EG;else{let t=this._container,n=t.parentNode.clientWidth,i=t.parentNode.clientHeight,o=this._selectionIndicatorElement.clientWidth,r=o*.5;e.x=Math.min(Math.max(e.x,-o),n+o)-r,e.y=Math.min(Math.max(e.y,-o),i+o)-r,this._screenPositionX=`${Math.floor(e.x+.25)}px`,this._screenPositionY=`${Math.floor(e.y+.25)}px`}}};KP.prototype.animateAppear=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:2,stopValue:1,duration:.8,easingFunction:Jr.EXPONENTIAL_OUT})};KP.prototype.animateDepart=function(){this._tweens.addProperty({object:this,property:"_scale",startValue:this._scale,stopValue:1.5,duration:.8,easingFunction:Jr.EXPONENTIAL_OUT})};Object.defineProperties(KP.prototype,{container:{get:function(){return this._container}},selectionIndicatorElement:{get:function(){return this._selectionIndicatorElement}},scene:{get:function(){return this._scene}}});var SG=KP;function vG(e,t){e=Mn(e),this._container=e;let n=document.createElement("div");n.className="cesium-selection-wrapper",n.setAttribute("data-bind",'style: { "top" : _screenPositionY, "left" : _screenPositionX },css: { "cesium-selection-wrapper-visible" : isVisible }'),e.appendChild(n),this._element=n;let i="http://www.w3.org/2000/svg",o="M -34 -34 L -34 -11.25 L -30 -15.25 L -30 -30 L -15.25 -30 L -11.25 -34 L -34 -34 z M 11.25 -34 L 15.25 -30 L 30 -30 L 30 -15.25 L 34 -11.25 L 34 -34 L 11.25 -34 z M -34 11.25 L -34 34 L -11.25 34 L -15.25 30 L -30 30 L -30 15.25 L -34 11.25 z M 34 11.25 L 30 15.25 L 30 30 L 15.25 30 L 11.25 34 L 34 34 L 34 11.25 z",r=document.createElementNS(i,"svg:svg");r.setAttribute("width",160),r.setAttribute("height",160),r.setAttribute("viewBox","0 0 160 160");let s=document.createElementNS(i,"g");s.setAttribute("transform","translate(80,80)"),r.appendChild(s);let a=document.createElementNS(i,"path");a.setAttribute("data-bind","attr: { transform: _transform }"),a.setAttribute("d",o),s.appendChild(a),n.appendChild(r);let c=new SG(t,this._element,this._container);this._viewModel=c,be.applyBindings(this._viewModel,this._element)}Object.defineProperties(vG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});vG.prototype.isDestroyed=function(){return!1};vG.prototype.destroy=function(){let e=this._container;return be.cleanNode(this._element),e.removeChild(this._element),ue(this)};var wG=vG;function tT(e,t,n){this._color=e,this._height=t,this._base=y(n,0)}tT.prototype.getHeight=function(){return this._height};tT.prototype.getBase=function(){return this._base};tT.prototype.getStartTime=function(){return this._start};tT.prototype.getStopTime=function(){return this._stop};tT.prototype.setRange=function(e,t){this._start=e,this._stop=t};tT.prototype.render=function(e){let t="";if(this._start&&this._stop&&this._color){let n=K.secondsDifference(this._start,e.epochJulian),i=Math.round(e.timeBarWidth*e.getAlpha(n)),o=K.secondsDifference(this._stop,e.epochJulian),r=Math.round(e.timeBarWidth*e.getAlpha(o))-i;i<0&&(r+=i,i=0),i+r>e.timeBarWidth&&(r=e.timeBarWidth-i),r>0&&(t=`<span class="cesium-timeline-highlight" style="left: ${i.toString()}px; width: ${r.toString()}px; bottom: ${this._base.toString()}px; height: ${this._height}px; background-color: ${this._color};"></span>`)}return t};var DG=tT;function pAe(e,t,n,i){this.interval=e,this.height=t,this.color=n||new z(.5,.5,.5,1),this.backgroundColor=i||new z(0,0,0,0)}pAe.prototype.render=function(e,t){let n=this.interval.start,i=this.interval.stop,o=t.startJulian,r=K.addSeconds(t.startJulian,t.duration,new K);if(K.lessThan(n,o)&&K.greaterThan(i,r))e.fillStyle=this.color.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height);else if(K.lessThanOrEquals(n,r)&&K.greaterThanOrEquals(i,o)){let s,a,c;for(s=0;s<t.timeBarWidth;++s){let u=K.addSeconds(t.startJulian,s/t.timeBarWidth*t.duration,new K);!l(a)&&K.greaterThanOrEquals(u,n)?a=s:!l(c)&&K.greaterThanOrEquals(u,i)&&(c=s)}e.fillStyle=this.backgroundColor.toCssColorString(),e.fillRect(0,t.y,t.timeBarWidth,this.height),l(a)&&(l(c)||(c=t.timeBarWidth),e.fillStyle=this.color.toCssColorString(),e.fillRect(a,t.y,Math.max(c-a,1),this.height))}};var IG=pAe;var OZ=1e12,nd={none:0,scrub:1,slide:2,zoom:3,touchOnly:4},el={none:0,scrub:1,slideZoom:2,singleTap:3,ignore:4},E0=[.001,.002,.005,.01,.02,.05,.1,.25,.5,1,2,5,10,15,30,60,120,300,600,900,1800,3600,7200,14400,21600,43200,86400,172800,345600,604800,1296e3,2592e3,5184e3,7776e3,15552e3,31536e3,63072e3,126144e3,15768e4,31536e4,63072e4,126144e4,15768e5,31536e5,63072e5,126144e5,15768e6,31536e6],aEt=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function tl(e,t){e=Mn(e);let n=e.ownerDocument;this.container=e;let i=n.createElement("div");i.className="cesium-timeline-main",e.appendChild(i),this._topDiv=i,this._endJulian=void 0,this._epochJulian=void 0,this._lastXPos=void 0,this._scrubElement=void 0,this._startJulian=void 0,this._timeBarSecondsSpan=void 0,this._clock=t,this._scrubJulian=t.currentTime,this._mainTicSpan=-1,this._mouseMode=nd.none,this._touchMode=el.none,this._touchState={centerX:0,spanX:0},this._mouseX=0,this._timelineDrag=0,this._timelineDragLocation=void 0,this._lastHeight=void 0,this._lastWidth=void 0,this._topDiv.innerHTML='<div class="cesium-timeline-bar"></div><div class="cesium-timeline-trackContainer"><canvas class="cesium-timeline-tracks" width="10" height="1"></canvas></div><div class="cesium-timeline-needle"></div><span class="cesium-timeline-ruler"></span>',this._timeBarEle=this._topDiv.childNodes[0],this._trackContainer=this._topDiv.childNodes[1],this._trackListEle=this._topDiv.childNodes[1].childNodes[0],this._needleEle=this._topDiv.childNodes[2],this._rulerEle=this._topDiv.childNodes[3],this._context=this._trackListEle.getContext("2d"),this._trackList=[],this._highlightRanges=[],this.zoomTo(t.startTime,t.stopTime),this._onMouseDown=cEt(this),this._onMouseUp=lEt(this),this._onMouseMove=uEt(this),this._onMouseWheel=fEt(this),this._onTouchStart=dEt(this),this._onTouchMove=mEt(this),this._onTouchEnd=hEt(this);let o=this._timeBarEle;n.addEventListener("mouseup",this._onMouseUp,!1),n.addEventListener("mousemove",this._onMouseMove,!1),o.addEventListener("mousedown",this._onMouseDown,!1),o.addEventListener("DOMMouseScroll",this._onMouseWheel,!1),o.addEventListener("mousewheel",this._onMouseWheel,!1),o.addEventListener("touchstart",this._onTouchStart,!1),o.addEventListener("touchmove",this._onTouchMove,!1),o.addEventListener("touchend",this._onTouchEnd,!1),o.addEventListener("touchcancel",this._onTouchEnd,!1),this._topDiv.oncontextmenu=function(){return!1},t.onTick.addEventListener(this.updateFromClock,this),this.updateFromClock()}tl.prototype.addEventListener=function(e,t,n){this._topDiv.addEventListener(e,t,n)};tl.prototype.removeEventListener=function(e,t,n){this._topDiv.removeEventListener(e,t,n)};tl.prototype.isDestroyed=function(){return!1};tl.prototype.destroy=function(){this._clock.onTick.removeEventListener(this.updateFromClock,this);let e=this.container.ownerDocument;e.removeEventListener("mouseup",this._onMouseUp,!1),e.removeEventListener("mousemove",this._onMouseMove,!1);let t=this._timeBarEle;t.removeEventListener("mousedown",this._onMouseDown,!1),t.removeEventListener("DOMMouseScroll",this._onMouseWheel,!1),t.removeEventListener("mousewheel",this._onMouseWheel,!1),t.removeEventListener("touchstart",this._onTouchStart,!1),t.removeEventListener("touchmove",this._onTouchMove,!1),t.removeEventListener("touchend",this._onTouchEnd,!1),t.removeEventListener("touchcancel",this._onTouchEnd,!1),this.container.removeChild(this._topDiv),ue(this)};tl.prototype.addHighlightRange=function(e,t,n){let i=new DG(e,t,n);return this._highlightRanges.push(i),this.resize(),i};tl.prototype.addTrack=function(e,t,n,i){let o=new IG(e,t,n,i);return this._trackList.push(o),this._lastHeight=void 0,this.resize(),o};tl.prototype.zoomTo=function(e,t){if(this._startJulian=e,this._endJulian=t,this._timeBarSecondsSpan=K.secondsDifference(t,e),this._clock&&this._clock.clockRange!==$r.UNBOUNDED){let i=this._clock.startTime,o=this._clock.stopTime,r=K.secondsDifference(o,i),s=K.secondsDifference(i,this._startJulian),a=K.secondsDifference(o,this._endJulian);this._timeBarSecondsSpan>=r?(this._timeBarSecondsSpan=r,this._startJulian=this._clock.startTime,this._endJulian=this._clock.stopTime):s>0?(this._endJulian=K.addSeconds(this._endJulian,s,new K),this._startJulian=i,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian)):a<0&&(this._startJulian=K.addSeconds(this._startJulian,a,new K),this._endJulian=o,this._timeBarSecondsSpan=K.secondsDifference(this._endJulian,this._startJulian))}this._makeTics();let n=document.createEvent("Event");n.initEvent("setzoom",!0,!0),n.startJulian=this._startJulian,n.endJulian=this._endJulian,n.epochJulian=this._epochJulian,n.totalSpan=this._timeBarSecondsSpan,n.mainTicSpan=this._mainTicSpan,this._topDiv.dispatchEvent(n)};tl.prototype.zoomFrom=function(e){let t=K.secondsDifference(this._scrubJulian,this._startJulian);e>1||t<0||t>this._timeBarSecondsSpan?t=this._timeBarSecondsSpan*.5:t+=t-this._timeBarSecondsSpan*.5;let n=this._timeBarSecondsSpan-t;this.zoomTo(K.addSeconds(this._startJulian,t-t*e,new K),K.addSeconds(this._endJulian,n*e-n,new K))};function RZ(e){return e<10?`0${e.toString()}`:e.toString()}tl.prototype.makeLabel=function(e){let t=K.toGregorianDate(e),n=t.millisecond,i=" UTC";if(n>0&&this._timeBarSecondsSpan<3600){for(i=Math.floor(n).toString();i.length<3;)i=`0${i}`;i=`.${i}`}return`${aEt[t.month-1]} ${t.day} ${t.year} ${RZ(t.hour)}:${RZ(t.minute)}:${RZ(t.second)}${i}`};tl.prototype.smallestTicInPixels=7;tl.prototype._makeTics=function(){let e=this._timeBarEle,t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan),i=n-8,o,r=this;this._needleEle.style.left=`${n.toString()}px`;let s="",a=.01,c=31536e6,u=1e-10,f=0,d=this._timeBarSecondsSpan;d<a?(d=a,this._timeBarSecondsSpan=a,this._endJulian=K.addSeconds(this._startJulian,a,new K)):d>c&&(d=c,this._timeBarSecondsSpan=c,this._endJulian=K.addSeconds(this._startJulian,c,new K));let p=this._timeBarEle.clientWidth;p<10&&(p=10);let g=this._startJulian,m=Math.min(d/p*1e-5,.4),x,b=K.toGregorianDate(g);d>31536e4?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/100)*100,0))):d>31536e3?x=K.fromDate(new Date(Date.UTC(Math.floor(b.year/10)*10,0))):d>86400?x=K.fromDate(new Date(Date.UTC(b.year,0))):x=K.fromDate(new Date(Date.UTC(b.year,b.month,b.day)));let T=K.secondsDifference(this._startJulian,K.addSeconds(x,m,new K)),C=T+d;this._epochJulian=x;function A(k){return Math.floor(T/k)*k}function S(k,W){return Math.ceil(k/W+.5)*W}function v(k){return(k-T)/d}function D(k,W){return k-W*Math.round(k/W)}this._rulerEle.innerHTML=this.makeLabel(K.addSeconds(this._endJulian,-a,new K));let R=this._rulerEle.offsetWidth+20;R<30&&(R=180);let O=f;f-=u;let M={startTime:T,startJulian:g,epochJulian:x,duration:d,timeBarWidth:p,getAlpha:v};this._highlightRanges.forEach(function(k){s+=k.render(M)});let N=0,_=0,E=0,w=R/p;w>1&&(w=1),w*=this._timeBarSecondsSpan;let I=-1,L=-1,B=E0.length,H;for(H=0;H<B;++H){let k=E0[H];if(++I,N=k,k>w&&k>f)break;L<0&&p*(k/this._timeBarSecondsSpan)>=this.smallestTicInPixels&&(L=I)}if(I>0){for(;I>0;)if(--I,Math.abs(D(N,E0[I]))<1e-5){E0[I]>=f&&(_=E0[I]);break}if(L>=0)for(;L<I;){if(Math.abs(D(_,E0[L]))<1e-5&&E0[L]>=f){E=E0[L];break}++L}}f=O,f>u&&E<1e-5&&Math.abs(f-N)>u&&(E=f,f<=N+u&&(_=0));let V=-999999,G;if(p*(E/this._timeBarSecondsSpan)>=3)for(o=A(E);o<=C;o=S(o,E))s+=`<span class="cesium-timeline-ticTiny" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(_/this._timeBarSecondsSpan)>=3)for(o=A(_);o<=C;o=S(o,_))s+=`<span class="cesium-timeline-ticSub" style="left: ${Math.round(p*v(o)).toString()}px;"></span>`;if(p*(N/this._timeBarSecondsSpan)>=2){this._mainTicSpan=N,C+=N,o=A(N);let k=K.computeTaiMinusUtc(x);for(;o<=C;){let W=K.addSeconds(g,o-T,new K);if(N>2.1){let Z=K.computeTaiMinusUtc(W);Math.abs(Z-k)>.1&&(o+=Z-k,W=K.addSeconds(g,o-T,new K))}let Y=Math.round(p*v(o)),J=this.makeLabel(W);this._rulerEle.innerHTML=J,G=this._rulerEle.offsetWidth,G<10&&(G=R);let j=Y-(G/2-1);j>V?(V=j+G+5,s+=`<span class="cesium-timeline-ticMain" style="left: ${Y.toString()}px;"></span><span class="cesium-timeline-ticLabel" style="left: ${j.toString()}px;">${J}</span>`):s+=`<span class="cesium-timeline-ticSub" style="left: ${Y.toString()}px;"></span>`,o=S(o,N)}}else this._mainTicSpan=-1;s+=`<span class="cesium-timeline-icon16" style="left:${i}px;bottom:0;background-position: 0 0;"></span>`,e.innerHTML=s,this._scrubElement=e.lastChild,this._context.clearRect(0,0,this._trackListEle.width,this._trackListEle.height),M.y=0,this._trackList.forEach(function(k){k.render(r._context,M),M.y+=k.height})};tl.prototype.updateFromClock=function(){this._scrubJulian=this._clock.currentTime;let e=this._scrubElement;if(l(this._scrubElement)){let t=K.secondsDifference(this._scrubJulian,this._startJulian),n=Math.round(t*this._topDiv.clientWidth/this._timeBarSecondsSpan);this._lastXPos!==n&&(this._lastXPos=n,e.style.left=`${n-8}px`,this._needleEle.style.left=`${n}px`)}l(this._timelineDragLocation)&&(this._setTimeBarTime(this._timelineDragLocation,this._timelineDragLocation*this._timeBarSecondsSpan/this._topDiv.clientWidth),this.zoomTo(K.addSeconds(this._startJulian,this._timelineDrag,new K),K.addSeconds(this._endJulian,this._timelineDrag,new K)))};tl.prototype._setTimeBarTime=function(e,t){if(e=Math.round(e),this._scrubJulian=K.addSeconds(this._startJulian,t,new K),this._scrubElement){let i=e-8;this._scrubElement.style.left=`${i.toString()}px`,this._needleEle.style.left=`${e.toString()}px`}let n=document.createEvent("Event");n.initEvent("settime",!0,!0),n.clientX=e,n.timeSeconds=t,n.timeJulian=this._scrubJulian,n.clock=this._clock,this._topDiv.dispatchEvent(n)};function cEt(e){return function(t){e._mouseMode!==nd.touchOnly&&(t.button===0?(e._mouseMode=nd.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition="-16px 0"),e._onMouseMove(t)):(e._mouseX=t.clientX,t.button===2?e._mouseMode=nd.zoom:e._mouseMode=nd.slide)),t.preventDefault()}}function lEt(e){return function(t){e._mouseMode=nd.none,e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0"),e._timelineDrag=0,e._timelineDragLocation=void 0}}function uEt(e){return function(t){let n;if(e._mouseMode===nd.scrub){t.preventDefault();let i=t.clientX-e._topDiv.getBoundingClientRect().left;i<0?(e._timelineDragLocation=0,e._timelineDrag=-.01*e._timeBarSecondsSpan):i>e._topDiv.clientWidth?(e._timelineDragLocation=e._topDiv.clientWidth,e._timelineDrag=.01*e._timeBarSecondsSpan):(e._timelineDragLocation=void 0,e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))}else if(e._mouseMode===nd.slide){if(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0){let i=n*e._timeBarSecondsSpan/e._topDiv.clientWidth;e.zoomTo(K.addSeconds(e._startJulian,i,new K),K.addSeconds(e._endJulian,i,new K))}}else e._mouseMode===nd.zoom&&(n=e._mouseX-t.clientX,e._mouseX=t.clientX,n!==0&&e.zoomFrom(Math.pow(1.01,n)))}}function fEt(e){return function(t){let n=t.wheelDeltaY||t.wheelDelta||-t.detail;OZ=Math.max(Math.min(Math.abs(n),OZ),1),n/=OZ,e.zoomFrom(Math.pow(1.05,-n))}}function dEt(e){return function(t){let n=t.touches.length,i,o,r=e._topDiv.getBoundingClientRect().left;t.preventDefault(),e._mouseMode=nd.touchOnly,n===1?(i=K.secondsDifference(e._scrubJulian,e._startJulian),o=Math.round(i*e._topDiv.clientWidth/e._timeBarSecondsSpan+r),Math.abs(t.touches[0].clientX-o)<50?(e._touchMode=el.scrub,e._scrubElement&&(e._scrubElement.style.backgroundPosition=n===1?"-16px 0":"0 0")):(e._touchMode=el.singleTap,e._touchState.centerX=t.touches[0].clientX-r)):n===2?(e._touchMode=el.slideZoom,e._touchState.centerX=(t.touches[0].clientX+t.touches[1].clientX)*.5-r,e._touchState.spanX=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):e._touchMode=el.ignore}}function hEt(e){return function(t){let n=t.touches.length,i=e._topDiv.getBoundingClientRect().left;e._touchMode===el.singleTap?(e._touchMode=el.scrub,e._onTouchMove(t)):e._touchMode===el.scrub&&e._onTouchMove(t),e._mouseMode=nd.touchOnly,n!==1?e._touchMode=n>0?el.ignore:el.none:e._touchMode===el.slideZoom&&(e._touchState.centerX=t.touches[0].clientX-i),e._scrubElement&&(e._scrubElement.style.backgroundPosition="0 0")}}function mEt(e){return function(t){let n,i,o,r,s,a,c=1,u=e._topDiv.getBoundingClientRect().left;e._touchMode===el.singleTap&&(e._touchMode=el.slideZoom),e._mouseMode=nd.touchOnly,e._touchMode===el.scrub?(t.preventDefault(),t.changedTouches.length===1&&(i=t.changedTouches[0].clientX-u,i>=0&&i<=e._topDiv.clientWidth&&e._setTimeBarTime(i,i*e._timeBarSecondsSpan/e._topDiv.clientWidth))):e._touchMode===el.slideZoom&&(o=t.touches.length,o===2?(r=(t.touches[0].clientX+t.touches[1].clientX)*.5-u,s=Math.abs(t.touches[0].clientX-t.touches[1].clientX)):o===1&&(r=t.touches[0].clientX-u,s=0),l(r)&&(s>0&&e._touchState.spanX>0?(c=e._touchState.spanX/s,a=K.addSeconds(e._startJulian,(e._touchState.centerX*e._timeBarSecondsSpan-r*e._timeBarSecondsSpan*c)/e._topDiv.clientWidth,new K)):(n=e._touchState.centerX-r,a=K.addSeconds(e._startJulian,n*e._timeBarSecondsSpan/e._topDiv.clientWidth,new K)),e.zoomTo(a,K.addSeconds(a,e._timeBarSecondsSpan*c,new K)),e._touchState.centerX=r,e._touchState.spanX=s))}}tl.prototype.resize=function(){let e=this.container.clientWidth,t=this.container.clientHeight;if(e===this._lastWidth&&t===this._lastHeight)return;this._trackContainer.style.height=`${t}px`;let n=1;this._trackList.forEach(function(i){n+=i.height}),this._trackListEle.style.height=`${n.toString()}px`,this._trackListEle.width=this._trackListEle.clientWidth,this._trackListEle.height=n,this._makeTics(),this._lastXPos=void 0,this._lastWidth=e,this._lastHeight=t};var PG=tl;var bAe=Sr(xAe(),1);function gEt(e){let t=!1,n=window.screen;return l(n)&&(l(n.lockOrientation)?t=n.lockOrientation(e):l(n.mozLockOrientation)?t=n.mozLockOrientation(e):l(n.msLockOrientation)?t=n.msLockOrientation(e):l(n.orientation&&n.orientation.lock)&&(t=n.orientation.lock(e))),t}function TAe(){let e=window.screen;l(e)&&(l(e.unlockOrientation)?e.unlockOrientation():l(e.mozUnlockOrientation)?e.mozUnlockOrientation():l(e.msUnlockOrientation)?e.msUnlockOrientation():l(e.orientation&&e.orientation.unlock)&&e.orientation.unlock())}function yEt(e,t,n,i){i()||(n()?(t.useWebVR=!1,e._locked&&(TAe(),e._locked=!1),e._noSleep.disable(),wr.exitFullscreen(),n(!1)):(wr.fullscreen||wr.requestFullscreen(e._vrElement),e._noSleep.enable(),e._locked||(e._locked=gEt("landscape")),t.useWebVR=!0,n(!0)))}function OG(e,t){let n=this,i=be.observable(wr.enabled),o=be.observable(!1);this.isVRMode=void 0,be.defineProperty(this,"isVRMode",{get:function(){return o()}}),this.isVREnabled=void 0,be.defineProperty(this,"isVREnabled",{get:function(){return i()},set:function(s){i(s&&wr.enabled)}}),this.tooltip=void 0,be.defineProperty(this,"tooltip",function(){return i()?o()?"Exit VR mode":"Enter VR mode":"VR mode is unavailable"});let r=be.observable(!1);this._isOrthographic=void 0,be.defineProperty(this,"_isOrthographic",{get:function(){return r()}}),this._eventHelper=new xr,this._eventHelper.add(e.preRender,function(){r(e.camera.frustum instanceof an)}),this._locked=!1,this._noSleep=new bAe.default,this._command=wn(function(){yEt(n,e,o,r)},be.getObservable(this,"isVREnabled")),this._vrElement=y(Mn(t),document.body),this._callback=function(){!wr.fullscreen&&o()&&(e.useWebVR=!1,n._locked&&(TAe(),n._locked=!1),n._noSleep.disable(),o(!1))},document.addEventListener(wr.changeEventName,this._callback)}Object.defineProperties(OG.prototype,{vrElement:{get:function(){return this._vrElement},set:function(e){this._vrElement=e}},command:{get:function(){return this._command}}});OG.prototype.isDestroyed=function(){return!1};OG.prototype.destroy=function(){this._eventHelper.removeAll(),document.removeEventListener(wr.changeEventName,this._callback),ue(this)};var RG=OG;var xEt="M 5.3125 6.375 C 4.008126 6.375 2.96875 7.4141499 2.96875 8.71875 L 2.96875 19.5 C 2.96875 20.8043 4.008126 21.875 5.3125 21.875 L 13.65625 21.875 C 13.71832 20.0547 14.845166 18.59375 16.21875 18.59375 C 17.592088 18.59375 18.71881 20.0552 18.78125 21.875 L 27.09375 21.875 C 28.398125 21.875 29.4375 20.8043 29.4375 19.5 L 29.4375 8.71875 C 29.4375 7.4141499 28.398125 6.375 27.09375 6.375 L 5.3125 6.375 z M 9.625 10.4375 C 11.55989 10.4375 13.125 12.03385 13.125 13.96875 C 13.125 15.90365 11.55989 17.46875 9.625 17.46875 C 7.69011 17.46875 6.125 15.90365 6.125 13.96875 C 6.125 12.03385 7.69011 10.4375 9.625 10.4375 z M 22.46875 10.4375 C 24.40364 10.4375 25.96875 12.03385 25.96875 13.96875 C 25.96875 15.90365 24.40364 17.46875 22.46875 17.46875 C 20.53386 17.46875 18.96875 15.90365 18.96875 13.96875 C 18.96875 12.03385 20.53386 10.4375 22.46875 10.4375 z",bEt="M 25.770585,2.4552065 C 15.72282,13.962707 10.699956,19.704407 8.1768352,22.580207 c -1.261561,1.4379 -1.902282,2.1427 -2.21875,2.5 -0.141624,0.1599 -0.208984,0.2355 -0.25,0.2813 l 0.6875,0.75 c 10e-5,-10e-5 0.679191,0.727 0.6875,0.7187 0.01662,-0.016 0.02451,-0.024 0.03125,-0.031 0.01348,-0.014 0.04013,-0.038 0.0625,-0.062 0.04474,-0.05 0.120921,-0.1315 0.28125,-0.3126 0.320657,-0.3619 0.956139,-1.0921 2.2187499,-2.5312 2.5252219,-2.8781 7.5454589,-8.6169 17.5937499,-20.1250005 l -1.5,-1.3125 z m -20.5624998,3.9063 c -1.304375,0 -2.34375,1.0391 -2.34375,2.3437 l 0,10.8125005 c 0,1.3043 1.039375,2.375 2.34375,2.375 l 2.25,0 c 1.9518039,-2.2246 7.4710958,-8.5584 13.5624998,-15.5312005 l -15.8124998,0 z m 21.1249998,0 c -1.855467,2.1245 -2.114296,2.4005 -3.59375,4.0936995 1.767282,0.1815 3.15625,1.685301 3.15625,3.500001 0,1.9349 -1.56511,3.5 -3.5,3.5 -1.658043,0 -3.043426,-1.1411 -3.40625,-2.6875 -1.089617,1.2461 -2.647139,2.9988 -3.46875,3.9375 0.191501,-0.062 0.388502,-0.094 0.59375,-0.094 1.373338,0 2.50006,1.4614 2.5625,3.2812 l 8.3125,0 c 1.304375,0 2.34375,-1.0707 2.34375,-2.375 l 0,-10.8125005 c 0,-1.3046 -1.039375,-2.3437 -2.34375,-2.3437 l -0.65625,0 z M 9.5518351,10.423906 c 1.9348899,0 3.4999999,1.596401 3.4999999,3.531301 0,1.9349 -1.56511,3.5 -3.4999999,3.5 -1.9348899,0 -3.4999999,-1.5651 -3.4999999,-3.5 0,-1.9349 1.56511,-3.531301 3.4999999,-3.531301 z m 4.2187499,10.312601 c -0.206517,0.2356 -0.844218,0.9428 -1.03125,1.1562 l 0.8125,0 c 0.01392,-0.4081 0.107026,-0.7968 0.21875,-1.1562 z";function MG(e,t,n){e=Mn(e);let i=new RG(t,n);i._exitVRPath=bEt,i._enterVRPath=xEt;let o=document.createElement("button");o.type="button",o.className="cesium-button cesium-vrButton",o.setAttribute("data-bind",'css: { "cesium-button-disabled" : _isOrthographic }, attr: { title: tooltip },click: command,enable: isVREnabled,cesiumSvgPath: { path: isVRMode ? _exitVRPath : _enterVRPath, width: 32, height: 32 }'),e.appendChild(o),be.applyBindings(i,o),this._container=e,this._viewModel=i,this._element=o}Object.defineProperties(MG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});MG.prototype.isDestroyed=function(){return!1};MG.prototype.destroy=function(){return this._viewModel.destroy(),be.cleanNode(this._element),this._container.removeChild(this._element),ue(this)};var LG=MG;var CAe=new ce;function SAe(e){let t=e.clock;t.currentTime=e.timeJulian,t.shouldAnimate=!1}function TEt(e){let t=e.getPropertyIds(),n="";return t.forEach(function(i){let o=e.getProperty(i);l(o)&&(n+=`<tr><th>${i}</th><td>${o}</td></tr>`)}),n.length>0&&(n=`<table class="cesium-infoBox-defaultTable"><tbody>${n}</tbody></table>`),n}function CEt(e){let t,n=[],i=e.getPropertyIds();for(t=0;t<i.length;t++){let r=i[t];/^name$/i.test(r)?n[0]=e.getProperty(r):/name/i.test(r)?n[1]=e.getProperty(r):/^title$/i.test(r)?n[2]=e.getProperty(r):/^(id|identifier)$/i.test(r)?n[3]=e.getProperty(r):/element/i.test(r)?n[4]=e.getProperty(r):/(id|identifier)$/i.test(r)&&(n[5]=e.getProperty(r))}let o=n.length;for(t=0;t<o;t++){let r=n[t];if(l(r)&&r!=="")return r}return"Unnamed Feature"}function AAe(e,t){let n=e.scene.pick(t.position);if(l(n)){let i=y(n.id,n.primitive.id);if(i instanceof sr)return i;if(n instanceof oa)return new sr({name:CEt(n),description:TEt(n),feature:n})}if(l(e.scene.globe))return SEt(e,t.position)}var AEt=new K;function FZ(e,t){if(l(t)){let n=t.clock;if(l(n)&&l(e)){let i=n.startTime,o=n.stopTime;K.equals(i,o)&&(o=K.addSeconds(i,P.EPSILON2,AEt)),e.updateFromClock(),e.zoomTo(i,o)}}}var EEt=new h;function SEt(e,t){let n=e.scene,i=n.camera.getPickRay(t),o=n.imageryLayers.pickImageryLayerFeatures(i,n);if(!l(o))return;let r=new sr({id:"Loading...",description:"Loading feature information..."});return o.then(function(s){if(e.selectedEntity!==r)return;if(!l(s)||s.length===0){e.selectedEntity=EAe();return}let a=s[0],c=new sr({id:a.name,description:a.description});if(l(a.position)){let u=e.scene.ellipsoid.cartographicToCartesian(a.position,EEt);c.position=new ml(u)}e.selectedEntity=c},function(){e.selectedEntity===r&&(e.selectedEntity=EAe())}),r}function EAe(){return new sr({id:"None",description:"No features found."})}function vEt(e,t){let n=e._geocoder,i=e._homeButton,o=e._sceneModePicker,r=e._projectionPicker,s=e._baseLayerPicker,a=e._animation,c=e._timeline,u=e._fullscreenButton,f=e._infoBox,d=e._selectionIndicator,p=t?"hidden":"visible";if(l(n)&&(n.container.style.visibility=p),l(i)&&(i.container.style.visibility=p),l(o)&&(o.container.style.visibility=p),l(r)&&(r.container.style.visibility=p),l(s)&&(s.container.style.visibility=p),l(a)&&(a.container.style.visibility=p),l(c)&&(c.container.style.visibility=p),l(u)&&u.viewModel.isFullscreenEnabled&&(u.container.style.visibility=p),l(f)&&(f.container.style.visibility=p),l(d)&&(d.container.style.visibility=p),e._container){let g=t||!l(u)?0:u.container.clientWidth;e._vrButton.container.style.right=`${g}px`,e.forceResize()}}function Wi(e,t){e=Mn(e),t=y(t,y.EMPTY_OBJECT);let n=(!l(t.globe)||t.globe!==!1)&&(!l(t.baseLayerPicker)||t.baseLayerPicker!==!1),i=this,o=document.createElement("div");o.className="cesium-viewer",e.appendChild(o);let r=document.createElement("div");r.className="cesium-viewer-cesiumWidgetContainer",o.appendChild(r);let s=document.createElement("div");s.className="cesium-viewer-bottom",o.appendChild(s);let a=y(t.scene3DOnly,!1),c,u,f=!1;l(t.clockViewModel)?(u=t.clockViewModel,c=u.clock):(c=new lm,u=new P8(c),f=!0);let d=new QH(r,{baseLayer:n&&l(t.selectedImageryProviderViewModel)||l(t.baseLayer)||l(t.imageryProvider)?!1:void 0,clock:c,shouldAnimate:t.shouldAnimate,skyBox:t.skyBox,skyAtmosphere:t.skyAtmosphere,sceneMode:t.sceneMode,ellipsoid:t.ellipsoid,mapProjection:t.mapProjection,globe:t.globe,orderIndependentTranslucency:t.orderIndependentTranslucency,automaticallyTrackDataSourceClocks:t.automaticallyTrackDataSourceClocks,contextOptions:t.contextOptions,useDefaultRenderLoop:t.useDefaultRenderLoop,targetFrameRate:t.targetFrameRate,showRenderLoopErrors:t.showRenderLoopErrors,useBrowserRecommendedResolution:t.useBrowserRecommendedResolution,creditContainer:l(t.creditContainer)?t.creditContainer:s,creditViewport:t.creditViewport,dataSources:t.dataSources,scene3DOnly:a,shadows:t.shadows,terrainShadows:t.terrainShadows,mapMode2D:t.mapMode2D,blurActiveElementOnCanvasFocus:t.blurActiveElementOnCanvasFocus,requestRenderMode:t.requestRenderMode,maximumRenderTimeChange:t.maximumRenderTimeChange,depthPlaneEllipsoidOffset:t.depthPlaneEllipsoidOffset,msaaSamples:t.msaaSamples}),p=d.scene,g=new xr;g.add(c.onTick,Wi.prototype._onTick,this);let m;if(!l(t.selectionIndicator)||t.selectionIndicator!==!1){let W=document.createElement("div");W.className="cesium-viewer-selectionIndicatorContainer",o.appendChild(W),m=new wG(W,p)}let x;if(!l(t.infoBox)||t.infoBox!==!1){let W=document.createElement("div");W.className="cesium-viewer-infoBoxContainer",o.appendChild(W),x=new lG(W);let Y=x.viewModel;g.add(Y.cameraClicked,Wi.prototype._onInfoBoxCameraClicked,this),g.add(Y.closeClicked,Wi.prototype._onInfoBoxClockClicked,this)}let b=document.createElement("div");b.className="cesium-viewer-toolbar",o.appendChild(b);let T;if(!l(t.geocoder)||t.geocoder!==!1){let W=document.createElement("div");W.className="cesium-viewer-geocoderContainer",b.appendChild(W);let Y;typeof t.geocoder=="string"?Y=[new WE({scene:p,geocodeProviderType:t.geocoder})]:l(t.geocoder)&&typeof t.geocoder!="boolean"&&(Y=Array.isArray(t.geocoder)?t.geocoder:[t.geocoder]),T=new tG({container:W,geocoderServices:Y,scene:p}),g.add(T.viewModel.search.beforeExecute,Wi.prototype._clearObjects,this)}let C;(!l(t.homeButton)||t.homeButton!==!1)&&(C=new oG(b,p),l(T)&&g.add(C.viewModel.command.afterExecute,function(){let W=T.viewModel;W.searchText="",W.isSearchInProgress&&W.search()}),g.add(C.viewModel.command.beforeExecute,Wi.prototype._clearTrackedObject,this));let A;!a&&(!l(t.sceneModePicker)||t.sceneModePicker!==!1)&&(A=new AG(b,p));let S;t.projectionPicker&&(S=new xG(b,p));let v,D;if(n){let W=y(t.imageryProviderViewModels,G8()),Y=y(t.terrainProviderViewModels,W8());v=new H8(b,{globe:p.globe,imageryProviderViewModels:W,selectedImageryProviderViewModel:t.selectedImageryProviderViewModel,terrainProviderViewModels:Y,selectedTerrainProviderViewModel:t.selectedTerrainProviderViewModel}),D=b.getElementsByClassName("cesium-baseLayerPicker-dropDown")[0]}l(t.baseLayer)&&t.baseLayer!==!1&&(n&&(v.viewModel.selectedImagery=void 0),p.imageryLayers.removeAll(),p.imageryLayers.add(t.baseLayer)),l(t.terrainProvider)&&(n&&(v.viewModel.selectedTerrain=void 0),p.terrainProvider=t.terrainProvider),l(t.terrain)&&(n&&(p.globe.depthTestAgainstTerrain=!0),p.setTerrain(t.terrain));let R;if(!l(t.navigationHelpButton)||t.navigationHelpButton!==!1){let W=!0;try{if(l(window.localStorage)){let Y=window.localStorage.getItem("cesium-hasSeenNavHelp");l(Y)&&Y?W=!1:window.localStorage.setItem("cesium-hasSeenNavHelp","true")}}catch{}R=new dG({container:b,instructionsInitiallyVisible:y(t.navigationInstructionsInitiallyVisible,W)})}let O;if(!l(t.animation)||t.animation!==!1){let W=document.createElement("div");W.className="cesium-viewer-animationContainer",o.appendChild(W),O=new k8(W,new V8(u))}let M;if(!l(t.timeline)||t.timeline!==!1){let W=document.createElement("div");W.className="cesium-viewer-timelineContainer",o.appendChild(W),M=new PG(W,c),M.addEventListener("settime",SAe,!1),M.zoomTo(c.startTime,c.stopTime)}let N,_,E;(!l(t.fullscreenButton)||t.fullscreenButton!==!1)&&(E=document.createElement("div"),E.className="cesium-viewer-fullscreenContainer",o.appendChild(E),N=new Q8(E,t.fullscreenElement),_=ka(N.viewModel,"isFullscreenEnabled",function(W){E.style.display=W?"block":"none",l(M)&&(M.container.style.right=`${E.clientWidth}px`,M.resize())}));let w,I,L;if(t.vrButton){let W=document.createElement("div");W.className="cesium-viewer-vrContainer",o.appendChild(W),w=new LG(W,p,t.fullScreenElement),I=ka(w.viewModel,"isVREnabled",function(Y){W.style.display=Y?"block":"none",l(N)&&(W.style.right=`${E.clientWidth}px`),l(M)&&(M.container.style.right=`${W.clientWidth}px`,M.resize())}),L=ka(w.viewModel,"isVRMode",function(Y){vEt(i,Y)})}this._baseLayerPickerDropDown=D,this._fullscreenSubscription=_,this._vrSubscription=I,this._vrModeSubscription=L,this._dataSourceChangedListeners={},this._container=e,this._bottomContainer=s,this._element=o,this._cesiumWidget=d,this._selectionIndicator=m,this._infoBox=x,this._clockViewModel=u,this._destroyClockViewModel=f,this._toolbar=b,this._homeButton=C,this._sceneModePicker=A,this._projectionPicker=S,this._baseLayerPicker=v,this._navigationHelpButton=R,this._animation=O,this._timeline=M,this._fullscreenButton=N,this._vrButton=w,this._geocoder=T,this._eventHelper=g,this._lastWidth=0,this._lastHeight=0,this._enableInfoOrSelection=l(x)||l(m),this._selectedEntity=void 0,this._selectedEntityChanged=new me;let B=this._cesiumWidget.dataSources,H=this._cesiumWidget.dataSourceDisplay;g.add(B.dataSourceAdded,Wi.prototype._onDataSourceAdded,this),g.add(B.dataSourceRemoved,Wi.prototype._onDataSourceRemoved,this),g.add(p.postUpdate,Wi.prototype.resize,this);let V=B.length;for(let W=0;W<V;W++)this._dataSourceAdded(B,B.get(W));this._dataSourceAdded(void 0,H.defaultDataSource),g.add(B.dataSourceAdded,Wi.prototype._dataSourceAdded,this),g.add(B.dataSourceRemoved,Wi.prototype._dataSourceRemoved,this);function G(W){let Y=AAe(i,W);l(Y)?q.getValueOrUndefined(Y.position,i.clock.currentTime)?i.trackedEntity=Y:i.zoomTo(Y):l(i.trackedEntity)&&(i.trackedEntity=void 0)}function k(W){i.selectedEntity=AAe(i,W)}d.screenSpaceEventHandler.setInputAction(k,Cn.LEFT_CLICK),d.screenSpaceEventHandler.setInputAction(G,Cn.LEFT_DOUBLE_CLICK),d._canAnimateUpdateCallback=this._updateCanAnimate(this)}Object.defineProperties(Wi.prototype,{container:{get:function(){return this._container}},creditDisplay:{get:function(){return this._cesiumWidget.creditDisplay}},bottomContainer:{get:function(){return this._bottomContainer}},cesiumWidget:{get:function(){return this._cesiumWidget}},selectionIndicator:{get:function(){return this._selectionIndicator}},infoBox:{get:function(){return this._infoBox}},geocoder:{get:function(){return this._geocoder}},homeButton:{get:function(){return this._homeButton}},sceneModePicker:{get:function(){return this._sceneModePicker}},projectionPicker:{get:function(){return this._projectionPicker}},baseLayerPicker:{get:function(){return this._baseLayerPicker}},navigationHelpButton:{get:function(){return this._navigationHelpButton}},animation:{get:function(){return this._animation}},timeline:{get:function(){return this._timeline}},fullscreenButton:{get:function(){return this._fullscreenButton}},vrButton:{get:function(){return this._vrButton}},dataSourceDisplay:{get:function(){return this._cesiumWidget.dataSourceDisplay}},entities:{get:function(){return this._cesiumWidget.entities}},dataSources:{get:function(){return this._cesiumWidget.dataSources}},canvas:{get:function(){return this._cesiumWidget.canvas}},scene:{get:function(){return this._cesiumWidget.scene}},shadows:{get:function(){return this.scene.shadowMap.enabled},set:function(e){this.scene.shadowMap.enabled=e}},terrainShadows:{get:function(){return this.scene.globe.shadows},set:function(e){this.scene.globe.shadows=e}},shadowMap:{get:function(){return this.scene.shadowMap}},imageryLayers:{get:function(){return this.scene.imageryLayers}},terrainProvider:{get:function(){return this.scene.terrainProvider},set:function(e){this.scene.terrainProvider=e}},camera:{get:function(){return this.scene.camera}},ellipsoid:{get:function(){return this._scene.ellipsoid}},postProcessStages:{get:function(){return this.scene.postProcessStages}},clock:{get:function(){return this._clockViewModel.clock}},clockViewModel:{get:function(){return this._clockViewModel}},screenSpaceEventHandler:{get:function(){return this._cesiumWidget.screenSpaceEventHandler}},targetFrameRate:{get:function(){return this._cesiumWidget.targetFrameRate},set:function(e){this._cesiumWidget.targetFrameRate=e}},useDefaultRenderLoop:{get:function(){return this._cesiumWidget.useDefaultRenderLoop},set:function(e){this._cesiumWidget.useDefaultRenderLoop=e}},resolutionScale:{get:function(){return this._cesiumWidget.resolutionScale},set:function(e){this._cesiumWidget.resolutionScale=e}},useBrowserRecommendedResolution:{get:function(){return this._cesiumWidget.useBrowserRecommendedResolution},set:function(e){this._cesiumWidget.useBrowserRecommendedResolution=e}},allowDataSourcesToSuspendAnimation:{get:function(){return this._cesiumWidget.allowDataSourcesToSuspendAnimation},set:function(e){this._cesiumWidget.allowDataSourcesToSuspendAnimation=e}},trackedEntity:{get:function(){return this._cesiumWidget.trackedEntity},set:function(e){this._cesiumWidget.trackedEntity=e}},selectedEntity:{get:function(){return this._selectedEntity},set:function(e){if(this._selectedEntity!==e){this._selectedEntity=e;let t=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(e)?l(t)&&t.animateAppear():l(t)&&t.animateDepart(),this._selectedEntityChanged.raiseEvent(e)}}},selectedEntityChanged:{get:function(){return this._selectedEntityChanged}},trackedEntityChanged:{get:function(){return this._cesiumWidget.trackedEntityChanged}},clockTrackedDataSource:{get:function(){return this._cesiumWidget.clockTrackedDataSource},set:function(e){this._cesiumWidget.clockTrackedDataSource!==e&&(this._cesiumWidget.clockTrackedDataSource=e,FZ(this._timeline,e))}}});Wi.prototype.extend=function(e,t){e(this,t)};Wi.prototype.resize=function(){let e=this._cesiumWidget,t=this._container,n=t.clientWidth,i=t.clientHeight,o=l(this._animation),r=l(this._timeline);if(e.resize(),n===this._lastWidth&&i===this._lastHeight)return;let s=i-125,a=this._baseLayerPickerDropDown;if(l(a)&&(a.style.maxHeight=`${s}px`),l(this._geocoder)){let m=this._geocoder.searchSuggestionsContainer;m.style.maxHeight=`${s}px`}l(this._infoBox)&&(this._infoBox.viewModel.maxHeight=s);let c=this._timeline,u,f=0,d=5,p=3,g=0;if(o&&window.getComputedStyle(this._animation.container).visibility!=="hidden"){let m=this._lastWidth;u=this._animation.container,n>900?(f=169,m<=900&&(u.style.width="169px",u.style.height="112px",this._animation.resize())):n>=600?(f=136,(m<600||m>900)&&(u.style.width="136px",u.style.height="90px",this._animation.resize())):(f=106,(m>600||m===0)&&(u.style.width="106px",u.style.height="70px",this._animation.resize())),d=f+5}if(r&&window.getComputedStyle(this._timeline.container).visibility!=="hidden"){let m=this._fullscreenButton,x=this._vrButton,b=c.container,T=b.style;p=b.clientHeight+3,T.left=`${f}px`;let C=0;l(m)&&(C+=m.container.clientWidth),l(x)&&(C+=x.container.clientWidth),T.right=`${C}px`,c.resize()}!r&&l(this._fullscreenButton)&&(g=this._fullscreenButton.container.clientWidth),this._bottomContainer.style.left=`${d}px`,this._bottomContainer.style.bottom=`${p}px`,this._bottomContainer.style.right=`${g}px`,this._lastWidth=n,this._lastHeight=i};Wi.prototype.forceResize=function(){this._lastWidth=0,this.resize()};Wi.prototype.render=function(){this._cesiumWidget.render()};Wi.prototype.isDestroyed=function(){return!1};Wi.prototype.destroy=function(){return l(this.screenSpaceEventHandler)&&!this.screenSpaceEventHandler.isDestroyed()&&(this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_CLICK),this.screenSpaceEventHandler.removeInputAction(Cn.LEFT_DOUBLE_CLICK)),this._container.removeChild(this._element),this._element.removeChild(this._toolbar),this._eventHelper.removeAll(),l(this._geocoder)&&(this._geocoder=this._geocoder.destroy()),l(this._homeButton)&&(this._homeButton=this._homeButton.destroy()),l(this._sceneModePicker)&&(this._sceneModePicker=this._sceneModePicker.destroy()),l(this._projectionPicker)&&(this._projectionPicker=this._projectionPicker.destroy()),l(this._baseLayerPicker)&&(this._baseLayerPicker=this._baseLayerPicker.destroy()),l(this._animation)&&(this._element.removeChild(this._animation.container),this._animation=this._animation.destroy()),l(this._timeline)&&(this._timeline.removeEventListener("settime",SAe,!1),this._element.removeChild(this._timeline.container),this._timeline=this._timeline.destroy()),l(this._fullscreenButton)&&(this._fullscreenSubscription.dispose(),this._element.removeChild(this._fullscreenButton.container),this._fullscreenButton=this._fullscreenButton.destroy()),l(this._vrButton)&&(this._vrSubscription.dispose(),this._vrModeSubscription.dispose(),this._element.removeChild(this._vrButton.container),this._vrButton=this._vrButton.destroy()),l(this._infoBox)&&(this._element.removeChild(this._infoBox.container),this._infoBox=this._infoBox.destroy()),l(this._selectionIndicator)&&(this._element.removeChild(this._selectionIndicator.container),this._selectionIndicator=this._selectionIndicator.destroy()),this._destroyClockViewModel&&(this._clockViewModel=this._clockViewModel.destroy()),this._cesiumWidget=this._cesiumWidget.destroy(),ue(this)};Wi.prototype._dataSourceAdded=function(e,t){t.entities.collectionChanged.addEventListener(Wi.prototype._onEntityCollectionChanged,this)};Wi.prototype._dataSourceRemoved=function(e,t){let n=t.entities;n.collectionChanged.removeEventListener(Wi.prototype._onEntityCollectionChanged,this),l(this.selectedEntity)&&n.getById(this.selectedEntity.id)===this.selectedEntity&&(this.selectedEntity=void 0)};Wi.prototype._updateCanAnimate=function(e){return function(t){e._clockViewModel.canAnimate=t}};Wi.prototype._onTick=function(e){let t=e.currentTime,n,i=!1,o=this.selectedEntity,r=l(o)&&this._enableInfoOrSelection;r&&o.isShowing&&o.isAvailable(t)&&(this._cesiumWidget.dataSourceDisplay.getBoundingSphere(o,!0,CAe)!==ut.FAILED?n=CAe.center:l(o.position)&&(n=o.position.getValue(t,n)),i=l(n));let s=l(this._selectionIndicator)?this._selectionIndicator.viewModel:void 0;l(s)&&(s.position=h.clone(n,s.position),s.showSelection=r&&i,s.update());let a=l(this._infoBox)?this._infoBox.viewModel:void 0;l(a)&&(a.showInfo=r,a.enableCamera=i,a.isCameraTracking=this.trackedEntity===this.selectedEntity,r?(a.titleText=y(o.name,o.id),a.description=q.getValueOrDefault(o.description,t,"")):(a.titleText="",a.description=""))};Wi.prototype._onEntityCollectionChanged=function(e,t,n){let i=n.length;for(let o=0;o<i;o++){let r=n[o];this.selectedEntity===r&&(this.selectedEntity=void 0)}};Wi.prototype._onInfoBoxCameraClicked=function(e){if(e.isCameraTracking&&this.trackedEntity===this.selectedEntity)this.trackedEntity=void 0;else{let n=this.selectedEntity.position;l(n)?this.trackedEntity=this.selectedEntity:this.zoomTo(this.selectedEntity)}};Wi.prototype._clearTrackedObject=function(){this.trackedEntity=void 0};Wi.prototype._onInfoBoxClockClicked=function(e){this.selectedEntity=void 0};Wi.prototype._clearObjects=function(){this.trackedEntity=void 0,this.selectedEntity=void 0};Wi.prototype._onDataSourceChanged=function(e){this.clockTrackedDataSource===e&&FZ(this.timeline,e)};Wi.prototype._onDataSourceAdded=function(e,t){this._cesiumWidget._automaticallyTrackDataSourceClocks&&t===this.clockTrackedDataSource&&FZ(this._timeline,t);let n=t.entities.id,i=this._eventHelper.add(t.changedEvent,Wi.prototype._onDataSourceChanged,this);this._dataSourceChangedListeners[n]=i};Wi.prototype._onDataSourceRemoved=function(e,t){let n=t.entities.id;this._dataSourceChangedListeners[n](),this._dataSourceChangedListeners[n]=void 0};Wi.prototype.zoomTo=function(e,t){return this._cesiumWidget.zoomTo(e,t)};Wi.prototype.flyTo=function(e,t){return this._cesiumWidget.flyTo(e,t)};var vAe=Wi;function wEt(e){let t=document.createElement("div");t.className="cesium-viewer-cesium3DTilesInspectorContainer",e.container.appendChild(t);let n=new X8(t,e.scene);Object.defineProperties(e,{cesium3DTilesInspector:{get:function(){return n}}})}var wAe=wEt;function DEt(e){let t=document.createElement("div");t.className="cesium-viewer-cesiumInspectorContainer",e.container.appendChild(t);let n=new M8(t,e.scene);Object.defineProperties(e,{cesiumInspector:{get:function(){return n}}})}var DAe=DEt;function IEt(e,t){t=y(t,y.EMPTY_OBJECT);let n=!0,i=y(t.flyToOnDrop,!0),o=new me,r=y(t.clearOnDrop,!0),s=y(t.dropTarget,e.container),a=y(t.clampToGround,!0),c=t.proxy;s=Mn(s),Object.defineProperties(e,{dropTarget:{get:function(){return s},set:function(f){IAe(s,u),s=f,BZ(s,u)}},dropEnabled:{get:function(){return n},set:function(f){f!==n&&(f?BZ(s,u):IAe(s,u),n=f)}},dropError:{get:function(){return o}},clearOnDrop:{get:function(){return r},set:function(f){r=f}},flyToOnDrop:{get:function(){return i},set:function(f){i=f}},proxy:{get:function(){return c},set:function(f){c=f}},clampToGround:{get:function(){return a},set:function(f){a=f}}});function u(f){nT(f),r&&(e.entities.removeAll(),e.dataSources.removeAll());let d=f.dataTransfer.files,p=d.length;for(let g=0;g<p;g++){let m=d[g],x=new FileReader;x.onload=PEt(e,m,c,a),x.onerror=OEt(e,m),x.readAsText(m)}}BZ(s,u),e.destroy=RU(e,e.destroy,function(){e.dropEnabled=!1}),e._handleDrop=u}function nT(e){e.stopPropagation(),e.preventDefault()}function IAe(e,t){let n=e;l(n)&&(n.removeEventListener("drop",t,!1),n.removeEventListener("dragenter",nT,!1),n.removeEventListener("dragover",nT,!1),n.removeEventListener("dragexit",nT,!1))}function BZ(e,t){e.addEventListener("drop",t,!1),e.addEventListener("dragenter",nT,!1),e.addEventListener("dragover",nT,!1),e.addEventListener("dragexit",nT,!1)}function PEt(e,t,n,i){let o=e.scene;return function(r){let s=t.name;try{let a;if(/\.czml$/i.test(s))a=R3.load(JSON.parse(r.target.result),{sourceUri:s});else if(/\.geojson$/i.test(s)||/\.json$/i.test(s)||/\.topojson$/i.test(s))a=vV.load(JSON.parse(r.target.result),{sourceUri:s,clampToGround:i});else if(/\.(kml|kmz)$/i.test(s))a=ZV.load(t,{sourceUri:s,proxy:n,camera:o.camera,canvas:o.canvas,clampToGround:i,screenOverlayContainer:e.container});else if(/\.gpx$/i.test(s))a=FV.load(t,{sourceUri:s,proxy:n});else{e.dropError.raiseEvent(e,s,`Unrecognized file: ${s}`);return}l(a)&&e.dataSources.add(a).then(function(c){e.flyToOnDrop&&e.flyTo(c)}).catch(function(c){e.dropError.raiseEvent(e,s,c)})}catch(a){e.dropError.raiseEvent(e,s,a)}}}function OEt(e,t){return function(n){e.dropError.raiseEvent(e,t.name,n.target.error)}}var PAe=IEt;function REt(e,t){t=y(t,y.EMPTY_OBJECT);let n=new pG({scene:e.scene,container:e.bottomContainer,lowFrameRateMessage:t.lowFrameRateMessage});Object.defineProperties(e,{performanceWatchdog:{get:function(){return n}}})}var OAe=REt;function RAe(e){let t=e.split(` `),n;for(n=0;n<t.length&&!t[n].match(/\S/);n++);if(n===t.length)return"";let i="",o=/^\s*/,s=t[n].match(o)[0].length;for(let a=n;a<t.length;a++){let c=t[a];c.match(o)[0].length>=s&&(c=c.slice(s)),i+=`${c} -`}return i}function $f(e){this._scene=e,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let t=this;function n(o){let{name:r,initialValue:s}=o;t._definedProperties.push(r);let a=o.setPrimitiveFunction;a===!0&&(a=function(f){t._voxelPrimitive[r]=f});let c=o.getPrimitiveFunction;c===!0&&(c=function(){t[r]=t._voxelPrimitive[r]}),l(c)&&t._getPrimitiveFunctions.push(c);let u=be.observable();return be.defineProperty(t,r,{get:function(){return u()},set:function(f){typeof s=="number"&&typeof f=="string"&&(f=Number(f),isNaN(f)&&(f=s)),typeof s=="boolean"&&typeof f=="number"&&(f=f===1),u(f),l(a)&&l(t._voxelPrimitive)&&(a(f),e.requestRender())}}),t[r]=s,u}function i(o,r){return function(s){let a=t._voxelPrimitive[o].clone();a[r]=s,t._voxelPrimitive[o]=a}}n({name:"inspectorVisible",initialValue:!0}),n({name:"displayVisible",initialValue:!1}),n({name:"transformVisible",initialValue:!1}),n({name:"boundsVisible",initialValue:!1}),n({name:"clippingVisible",initialValue:!1}),n({name:"shaderVisible",initialValue:!1}),n({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let o=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=gAe(o)}}),n({name:"shaderCompilationMessage",initialValue:""}),n({name:"shaderCompilationSuccess",initialValue:!0}),n({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"shapeIsBox",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsBox=o===Ni.BOX}}),n({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsEllipsoid=o===Ni.ELLIPSOID}}),n({name:"shapeIsCylinder",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsCylinder=o===Ni.CYLINDER}}),n({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMaxX=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMinX=t._voxelPrimitive.minBounds.x}}),n({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMaxY=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMinY=t._voxelPrimitive.minBounds.y}}),n({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMaxZ=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMinZ=t._voxelPrimitive.minBounds.z}}),n({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLongitude=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLongitude=t._voxelPrimitive.minBounds.x}}),n({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLatitude=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLatitude=t._voxelPrimitive.minBounds.y}}),n({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxHeight=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMinHeight=t._voxelPrimitive.minBounds.z}}),n({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMaxRadius=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMinRadius=t._voxelPrimitive.minBounds.x}}),n({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMaxHeight=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMinHeight=t._voxelPrimitive.minBounds.y}}),n({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMaxAngle=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMinAngle=t._voxelPrimitive.minBounds.z}}),n({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMaxX=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMinX=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMaxY=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMinY=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMaxZ=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMinZ=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLongitude=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLongitude=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLatitude=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLatitude=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxHeight=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMinHeight=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMaxRadius=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMinRadius=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMaxHeight=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMinHeight=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMaxAngle=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMinAngle=t._voxelPrimitive.minClippingBounds.z}}),n({name:"translationX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)},getPrimitiveFunction:function(){t.translationX=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"translationY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)},getPrimitiveFunction:function(){t.translationY=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)},getPrimitiveFunction:function(){t.translationZ=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)},getPrimitiveFunction:function(){t.scaleX=F.getScale(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)},getPrimitiveFunction:function(){t.scaleY=F.getScale(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)},getPrimitiveFunction:function(){t.scaleZ=F.getScale(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"angleX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)}}),n({name:"angleY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)}}),n({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Wm(t)}})}var ZAt=new h,QAt=new h,JAt=new Ga,eEt=new Z;function Wm(e){let t=h.fromElements(e.translationX,e.translationY,e.translationZ,ZAt),n=h.fromElements(e.scaleX,e.scaleY,e.scaleZ,QAt),i=JAt;i.heading=e.angleX,i.pitch=e.angleY,i.roll=e.angleZ;let o=Z.fromHeadingPitchRoll(i,eEt),r=Z.multiplyByScale(o,n,o);e._voxelPrimitive.modelMatrix=F.fromRotationTranslation(r,t,e._voxelPrimitive.modelMatrix)}Object.defineProperties($f.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(e){if(l(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),l(e)){this._voxelPrimitive=e;let t=this;t._customShaderCompilationRemoveCallback=t._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(n){let i=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=gAe(i),l(n)?(t.shaderCompilationMessage=n.message,t.shaderCompilationSuccess=!1):(t.shaderCompilationMessage="Shader compiled successfully!",t.shaderCompilationSuccess=!0)}),t._modelMatrixReady=!1;for(let n=0;n<t._getPrimitiveFunctions.length;n++)t._getPrimitiveFunctions[n]();t._modelMatrixReady=!0,Wm(t)}}}});$f.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};$f.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};$f.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};$f.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};$f.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};$f.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};$f.prototype.compileShader=function(){l(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new hS({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};$f.prototype.shaderEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` +`}return i}function id(e){this._scene=e,this._voxelPrimitive=void 0,this._customShaderCompilationRemoveCallback=void 0,this._definedProperties=[],this._getPrimitiveFunctions=[],this._modelMatrixReady=!1;let t=this;function n(o){let{name:r,initialValue:s}=o;t._definedProperties.push(r);let a=o.setPrimitiveFunction;a===!0&&(a=function(f){t._voxelPrimitive[r]=f});let c=o.getPrimitiveFunction;c===!0&&(c=function(){t[r]=t._voxelPrimitive[r]}),l(c)&&t._getPrimitiveFunctions.push(c);let u=be.observable();return be.defineProperty(t,r,{get:function(){return u()},set:function(f){typeof s=="number"&&typeof f=="string"&&(f=Number(f),isNaN(f)&&(f=s)),typeof s=="boolean"&&typeof f=="number"&&(f=f===1),u(f),l(a)&&l(t._voxelPrimitive)&&(a(f),e.requestRender())}}),t[r]=s,u}function i(o,r){return function(s){let a=t._voxelPrimitive[o].clone();a[r]=s,t._voxelPrimitive[o]=a}}n({name:"inspectorVisible",initialValue:!0}),n({name:"displayVisible",initialValue:!1}),n({name:"transformVisible",initialValue:!1}),n({name:"boundsVisible",initialValue:!1}),n({name:"clippingVisible",initialValue:!1}),n({name:"shaderVisible",initialValue:!1}),n({name:"shaderString",initialValue:"",getPrimitiveFunction:function(){let o=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=RAe(o)}}),n({name:"shaderCompilationMessage",initialValue:""}),n({name:"shaderCompilationSuccess",initialValue:!0}),n({name:"depthTest",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"show",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"disableUpdate",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"debugDraw",initialValue:!1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"jitter",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"nearestSampling",initialValue:!0,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"screenSpaceError",initialValue:4,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"stepSize",initialValue:1,setPrimitiveFunction:!0,getPrimitiveFunction:!0}),n({name:"shapeIsBox",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsBox=o===ki.BOX}}),n({name:"shapeIsEllipsoid",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsEllipsoid=o===ki.ELLIPSOID}}),n({name:"shapeIsCylinder",getPrimitiveFunction:function(){let o=t._voxelPrimitive.shape;t.shapeIsCylinder=o===ki.CYLINDER}}),n({name:"boundsBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMaxX=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsBoxMinX",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsBoxMinX=t._voxelPrimitive.minBounds.x}}),n({name:"boundsBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMaxY=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsBoxMinY",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsBoxMinY=t._voxelPrimitive.minBounds.y}}),n({name:"boundsBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMaxZ=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsBoxMinZ",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsBoxMinZ=t._voxelPrimitive.minBounds.z}}),n({name:"boundsEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLongitude=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLongitude=t._voxelPrimitive.minBounds.x}}),n({name:"boundsEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxLatitude=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsEllipsoidMinLatitude=t._voxelPrimitive.minBounds.y}}),n({name:"boundsEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMaxHeight=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsEllipsoidMinHeight=t._voxelPrimitive.minBounds.z}}),n({name:"boundsCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMaxRadius=t._voxelPrimitive.maxBounds.x}}),n({name:"boundsCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minBounds","x"),getPrimitiveFunction:function(){t.boundsCylinderMinRadius=t._voxelPrimitive.minBounds.x}}),n({name:"boundsCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMaxHeight=t._voxelPrimitive.maxBounds.y}}),n({name:"boundsCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minBounds","y"),getPrimitiveFunction:function(){t.boundsCylinderMinHeight=t._voxelPrimitive.minBounds.y}}),n({name:"boundsCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMaxAngle=t._voxelPrimitive.maxBounds.z}}),n({name:"boundsCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minBounds","z"),getPrimitiveFunction:function(){t.boundsCylinderMinAngle=t._voxelPrimitive.minBounds.z}}),n({name:"clippingBoxMaxX",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMaxX=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingBoxMinX",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingBoxMinX=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingBoxMaxY",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMaxY=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingBoxMinY",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingBoxMinY=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingBoxMaxZ",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMaxZ=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingBoxMinZ",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingBoxMinZ=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingEllipsoidMaxLongitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLongitude=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingEllipsoidMinLongitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLongitude=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingEllipsoidMaxLatitude",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxLatitude=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingEllipsoidMinLatitude",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingEllipsoidMinLatitude=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingEllipsoidMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMaxHeight=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingEllipsoidMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingEllipsoidMinHeight=t._voxelPrimitive.minClippingBounds.z}}),n({name:"clippingCylinderMaxRadius",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMaxRadius=t._voxelPrimitive.maxClippingBounds.x}}),n({name:"clippingCylinderMinRadius",initialValue:0,setPrimitiveFunction:i("minClippingBounds","x"),getPrimitiveFunction:function(){t.clippingCylinderMinRadius=t._voxelPrimitive.minClippingBounds.x}}),n({name:"clippingCylinderMaxHeight",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMaxHeight=t._voxelPrimitive.maxClippingBounds.y}}),n({name:"clippingCylinderMinHeight",initialValue:0,setPrimitiveFunction:i("minClippingBounds","y"),getPrimitiveFunction:function(){t.clippingCylinderMinHeight=t._voxelPrimitive.minClippingBounds.y}}),n({name:"clippingCylinderMaxAngle",initialValue:0,setPrimitiveFunction:i("maxClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMaxAngle=t._voxelPrimitive.maxClippingBounds.z}}),n({name:"clippingCylinderMinAngle",initialValue:0,setPrimitiveFunction:i("minClippingBounds","z"),getPrimitiveFunction:function(){t.clippingCylinderMinAngle=t._voxelPrimitive.minClippingBounds.z}}),n({name:"translationX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)},getPrimitiveFunction:function(){t.translationX=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"translationY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)},getPrimitiveFunction:function(){t.translationY=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"translationZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)},getPrimitiveFunction:function(){t.translationZ=F.getTranslation(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"scaleX",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)},getPrimitiveFunction:function(){t.scaleX=F.getScale(t._voxelPrimitive.modelMatrix,new h).x}}),n({name:"scaleY",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)},getPrimitiveFunction:function(){t.scaleY=F.getScale(t._voxelPrimitive.modelMatrix,new h).y}}),n({name:"scaleZ",initialValue:1,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)},getPrimitiveFunction:function(){t.scaleZ=F.getScale(t._voxelPrimitive.modelMatrix,new h).z}}),n({name:"angleX",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)}}),n({name:"angleY",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)}}),n({name:"angleZ",initialValue:0,setPrimitiveFunction:function(){t._modelMatrixReady&&Ym(t)}})}var MEt=new h,LEt=new h,NEt=new qa,FEt=new $;function Ym(e){let t=h.fromElements(e.translationX,e.translationY,e.translationZ,MEt),n=h.fromElements(e.scaleX,e.scaleY,e.scaleZ,LEt),i=NEt;i.heading=e.angleX,i.pitch=e.angleY,i.roll=e.angleZ;let o=$.fromHeadingPitchRoll(i,FEt),r=$.multiplyByScale(o,n,o);e._voxelPrimitive.modelMatrix=F.fromRotationTranslation(r,t,e._voxelPrimitive.modelMatrix)}Object.defineProperties(id.prototype,{scene:{get:function(){return this._scene}},voxelPrimitive:{get:function(){return this._voxelPrimitive},set:function(e){if(l(this._customShaderCompilationRemoveCallback)&&this._customShaderCompilationRemoveCallback(),l(e)){this._voxelPrimitive=e;let t=this;t._customShaderCompilationRemoveCallback=t._voxelPrimitive.customShaderCompilationEvent.addEventListener(function(n){let i=t._voxelPrimitive.customShader.fragmentShaderText;t.shaderString=RAe(i),l(n)?(t.shaderCompilationMessage=n.message,t.shaderCompilationSuccess=!1):(t.shaderCompilationMessage="Shader compiled successfully!",t.shaderCompilationSuccess=!0)}),t._modelMatrixReady=!1;for(let n=0;n<t._getPrimitiveFunctions.length;n++)t._getPrimitiveFunctions[n]();t._modelMatrixReady=!0,Ym(t)}}}});id.prototype.toggleInspector=function(){this.inspectorVisible=!this.inspectorVisible};id.prototype.toggleDisplay=function(){this.displayVisible=!this.displayVisible};id.prototype.toggleTransform=function(){this.transformVisible=!this.transformVisible};id.prototype.toggleBounds=function(){this.boundsVisible=!this.boundsVisible};id.prototype.toggleClipping=function(){this.clippingVisible=!this.clippingVisible};id.prototype.toggleShader=function(){this.shaderVisible=!this.shaderVisible};id.prototype.compileShader=function(){l(this._voxelPrimitive)&&(this._voxelPrimitive.customShader=new ES({fragmentShaderText:this.shaderString,uniforms:this._voxelPrimitive.customShader.uniforms}))};id.prototype.shaderEditorKeyPress=function(e,t){if(t.keyCode===9){t.preventDefault();let n=t.target,i=n.selectionStart,o=n.selectionEnd,r=o,a=n.value.slice(i,o).split(` `),c=a.length,u;if(t.shiftKey)for(u=0;u<c;++u)a[u][0]===" "&&(a[u][1]===" "?(a[u]=a[u].substr(2),r-=2):(a[u]=a[u].substr(1),r-=1));else for(u=0;u<c;++u)a[u]=` ${a[u]}`,r+=2;let f=a.join(` -`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileShader();return!0};$f.prototype.isDestroyed=function(){return!1};$f.prototype.destroy=function(){let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};var OG=$f;function MG(e,t){e=Mn(e);let n=document.createElement("div"),i=new OG(t);this._viewModel=i,this._container=e,this._element=n;let o=document.createElement("div");o.textContent="Voxel Inspector",o.className="cesium-cesiumInspector-button",o.setAttribute("data-bind","click: toggleInspector"),n.appendChild(o),n.className="cesium-cesiumInspector cesium-VoxelInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let r=document.createElement("div");r.className="cesium-cesiumInspector-dropDown",n.appendChild(r);let s=_c.createSection,a=_c.createCheckbox,c=_c.createRangeInput,u=_c.createButton,f=s(r,"Display","displayVisible","toggleDisplay"),d=s(r,"Transform","transformVisible","toggleTransform"),p=s(r,"Bounds","boundsVisible","toggleBounds"),g=s(r,"Clipping","clippingVisible","toggleClipping"),m=s(r,"Shader","shaderVisible","toggleShader");f.appendChild(a("Depth Test","depthTest")),f.appendChild(a("Show","show")),f.appendChild(a("Disable Update","disableUpdate")),f.appendChild(a("Debug Draw","debugDraw")),f.appendChild(a("Jitter","jitter")),f.appendChild(a("Nearest Sampling","nearestSampling")),f.appendChild(c("Screen Space Error","screenSpaceError",0,128)),f.appendChild(c("Step Size","stepSize",0,2));let x=10,b=10,T=P.PI;d.appendChild(c("Translation X","translationX",-x,+x)),d.appendChild(c("Translation Y","translationY",-x,+x)),d.appendChild(c("Translation Z","translationZ",-x,+x)),d.appendChild(c("Scale X","scaleX",0,+b)),d.appendChild(c("Scale Y","scaleY",0,+b)),d.appendChild(c("Scale Z","scaleZ",0,+b)),d.appendChild(c("Heading","angleX",-T,+T)),d.appendChild(c("Pitch","angleY",-T,+T)),d.appendChild(c("Roll","angleZ",-T,+T));let C=Ni.getMinBounds(Ni.BOX),A=Ni.getMaxBounds(Ni.BOX),S=h.fromElements(Ni.getMinBounds(Ni.ELLIPSOID).x,Ni.getMinBounds(Ni.ELLIPSOID).y,-ee.WGS84.maximumRadius,new h),w=h.fromElements(Ni.getMaxBounds(Ni.ELLIPSOID).x,Ni.getMaxBounds(Ni.ELLIPSOID).y,1e7,new h),D=Ni.getMinBounds(Ni.CYLINDER),O=Ni.getMaxBounds(Ni.CYLINDER);LS("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",C,A,"shapeIsBox",p),LS("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",S,w,"shapeIsEllipsoid",p),LS("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",D,O,"shapeIsCylinder",p),LS("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",C,A,"shapeIsBox",g),LS("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",S,w,"shapeIsEllipsoid",g),LS("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",D,O,"shapeIsCylinder",g);let R=document.createElement("div");m.appendChild(R);let M=document.createElement("textarea");M.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),R.className="cesium-cesiumInspector-styleEditor",R.appendChild(M);let L=u("Compile (Ctrl+Enter)","compileShader");R.appendChild(L);let _=document.createElement("label");_.style.display="block",_.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),R.appendChild(_),be.applyBindings(i,n)}Object.defineProperties(MG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});MG.prototype.isDestroyed=function(){return!1};MG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};function LS(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){let b=_c.createRangeInput,T=p,C=g,A=x.appendChild(document.createElement("div"));A.setAttribute("data-bind",`if: ${m}`),A.appendChild(b(e,s,T.x,C.x)),A.appendChild(b(t,a,T.x,C.x)),A.appendChild(b(n,c,T.y,C.y)),A.appendChild(b(i,u,T.y,C.y)),A.appendChild(b(o,f,T.z,C.z)),A.appendChild(b(r,d,T.z,C.z))}var LG=MG;function tEt(e){let t=document.createElement("div");t.className="cesium-viewer-voxelInspectorContainer",e.container.appendChild(t);let n=new LG(t,e.scene);Object.defineProperties(e,{voxelInspector:{get:function(){return n}}})}var yAe=tEt;globalThis.CESIUM_VERSION="1.122";var Vso="1.122";export{Ap as AlphaMode,ZF as AlphaPipelineStage,ZN as AnchorPointDirect,QN as AnchorPointIndirect,B8 as Animation,k8 as AnimationViewModel,eo as Appearance,li as ApproximateTerrainHeights,NTe as ArcGISTiledElevationTerrainProvider,Sm as ArcGisBaseMapType,By as ArcGisMapServerImageryProvider,Lf as ArcGisMapService,nn as ArcType,Nc as ArticulationStageType,St as AssociativeArray,qV as Atmosphere,PF as AtmospherePipelineStage,Fn as AttributeCompression,rn as AttributeType,YV as AutoExposure,P_ as AutomaticUniforms,Mo as Axis,L0 as AxisAlignedBoundingBox,uF as B3dmLoader,lF as B3dmParser,P8 as BaseLayerPicker,D8 as BaseLayerPickerViewModel,MT as BatchTable,cC as BatchTableHierarchy,hl as BatchTexture,QF as BatchTexturePipelineStage,uo as Billboard,hf as BillboardCollection,Ac as BillboardGraphics,kM as BillboardVisualizer,BTe as BingMapsGeocoderService,$V as BingMapsImageryProvider,gI as BingMapsStyle,Xa as BlendEquation,Ao as BlendFunction,wo as BlendOption,fn as BlendingState,qe as BoundingRectangle,ae as BoundingSphere,ft as BoundingSphereState,xC as BoundingVolumeSemantics,y_e as BoxEmitter,ql as BoxGeometry,qL as BoxGeometryUpdater,qT as BoxGraphics,wh as BoxOutlineGeometry,QV as BrdfLutGenerator,yt as Buffer,fC as BufferLoader,Ve as BufferUsage,n2 as CPUStylingPipelineStage,YL as CallbackPositionProperty,Lh as CallbackProperty,oo as Camera,wU as CameraEventAggregator,Li as CameraEventType,gU as CameraFlightPath,U as Cartesian2,h as Cartesian3,oe as Cartesian4,fe as Cartographic,kTe as CartographicGeocoderService,UTe as CatmullRomSpline,aC as Cesium3DContentGroup,wd as Cesium3DTile,ig as Cesium3DTileBatchTable,Ql as Cesium3DTileColorBlendMode,fge as Cesium3DTileContent,eA as Cesium3DTileContentFactory,Xo as Cesium3DTileContentState,ks as Cesium3DTileContentType,Js as Cesium3DTileFeature,Yh as Cesium3DTileFeatureTable,Ad as Cesium3DTileOptimizationHint,VB as Cesium3DTileOptimizations,Fo as Cesium3DTilePass,$d as Cesium3DTilePassState,Vg as Cesium3DTilePointFeature,qo as Cesium3DTileRefine,RE as Cesium3DTileStyle,jB as Cesium3DTileStyleEngine,H8 as Cesium3DTilesInspector,U8 as Cesium3DTilesInspectorViewModel,vge as Cesium3DTilesVoxelProvider,Da as Cesium3DTileset,YB as Cesium3DTilesetBaseTraversal,zB as Cesium3DTilesetCache,JT as Cesium3DTilesetGraphics,GB as Cesium3DTilesetHeatmap,hA as Cesium3DTilesetMetadata,qB as Cesium3DTilesetMostDetailedTraversal,KB as Cesium3DTilesetSkipTraversal,Xg as Cesium3DTilesetStatistics,ra as Cesium3DTilesetTraversal,ZB as Cesium3DTilesetVisualizer,j8 as CesiumInspector,G8 as CesiumInspectorViewModel,TS as CesiumTerrainProvider,m8 as CesiumWidget,yo as Check,rD as CheckerboardMaterialProperty,LU as CircleEmitter,HTe as CircleGeometry,GTe as CircleOutlineGeometry,Y2 as ClassificationModelDrawCommand,JF as ClassificationPipelineStage,_w as ClassificationPrimitive,Vn as ClassificationType,ni as ClearCommand,TC as ClippingPlane,bs as ClippingPlaneCollection,uv as ClippingPolygon,jh as ClippingPolygonCollection,rm as Clock,jr as ClockRange,_o as ClockStep,v8 as ClockViewModel,Lge as CloudCollection,DI as CloudType,H as Color,Lc as ColorBlendMode,jt as ColorGeometryInstanceAttribute,Ht as ColorMaterialProperty,ICe as Command,X as ComponentDatatype,KL as Composite3DTileContent,Qce as CompositeEntityCollection,lD as CompositeMaterialProperty,Ia as CompositePositionProperty,Vc as CompositeProperty,j1 as CompressedTextureBuffer,mh as ComputeCommand,W1 as ComputeEngine,vU as ConditionsExpression,kge as ConeEmitter,fl as ConstantPositionProperty,Kn as ConstantProperty,yF as ConstantSpline,vB as ContentMetadata,MM as Context,Ut as ContextLimits,j3 as CoplanarPolygonGeometry,Gg as CoplanarPolygonGeometryLibrary,Sd as CoplanarPolygonOutlineGeometry,Oi as CornerType,JN as CorrelationGroup,CA as CorridorGeometry,Vi as CorridorGeometryLibrary,a3 as CorridorGeometryUpdater,XT as CorridorGraphics,s3 as CorridorOutlineGeometry,vt as Credit,nz as CreditDisplay,qa as CubeMap,X1 as CubeMapFace,OT as CubicRealPolynomial,yi as CullFace,ys as CullingVolume,Bf as CumulusCloud,d3 as CustomDataSource,WTe as CustomHeightmapTerrainProvider,hS as CustomShader,Lg as CustomShaderMode,l2 as CustomShaderPipelineStage,yx as CustomShaderTranslucencyMode,h3 as CylinderGeometry,EA as CylinderGeometryLibrary,p3 as CylinderGeometryUpdater,KT as CylinderGraphics,m3 as CylinderOutlineGeometry,w3 as CzmlDataSource,Wr as DataSource,sm as DataSourceClock,D3 as DataSourceCollection,_k as DataSourceDisplay,pye as DebugAppearance,p_ as DebugCameraPrimitive,sz as DebugInspector,cz as DebugModelMatrixPrimitive,qTe as DefaultProxy,Sc as DepthFunction,dz as DepthPlane,u2 as DequantizationPipelineStage,__ as DerivedCommand,de as DeveloperError,mz as DeviceOrientationCameraController,vye as DirectionalLight,xI as DiscardEmptyTileImagePolicy,jV as DiscardMissingTileImagePolicy,Ot as DistanceDisplayCondition,kn as DistanceDisplayConditionGeometryInstanceAttribute,OE as DoubleEndedPriorityQueue,UB as DoublyLinkedList,dg as DracoLoader,et as DrawCommand,wE as DynamicAtmosphereLightingType,kA as DynamicGeometryBatch,ii as DynamicGeometryUpdater,D1 as EarthOrientationParameters,T0 as EarthOrientationParametersSample,Yr as EasingFunction,Tl as EllipseGeometry,hu as EllipseGeometryLibrary,B3 as EllipseGeometryUpdater,$T as EllipseGraphics,If as EllipseOutlineGeometry,ee as Ellipsoid,X_ as EllipsoidGeodesic,la as EllipsoidGeometry,k3 as EllipsoidGeometryUpdater,ZT as EllipsoidGraphics,bf as EllipsoidOutlineGeometry,_z as EllipsoidPrimitive,Ka as EllipsoidRhumbLine,Dye as EllipsoidSurfaceAppearance,Jr as EllipsoidTangentPlane,XE as EllipsoidTerrainProvider,ty as EllipsoidalOccluder,qv as Empty3DTileContent,Wn as EncodedCartesian3,sr as Entity,Sf as EntityCluster,sa as EntityCollection,xk as EntityView,me as Event,Hr as EventHelper,ud as Expression,pt as ExpressionNodeType,wf as ExtrapolationType,Wt as FeatureDetection,gx as FeatureIdPipelineStage,bz as Fog,Ie as ForEach,Tz as FrameRateMonitor,Cz as FrameState,Ca as Framebuffer,hi as FramebufferManager,Az as FrustumCommands,WE as FrustumGeometry,oz as FrustumOutlineGeometry,wr as Fullscreen,K8 as FullscreenButton,Y8 as FullscreenButtonViewModel,bV as GeoJsonDataSource,dF as GeoJsonLoader,Hb as GeocodeType,Q8 as Geocoder,RP as GeocoderService,$8 as GeocoderViewModel,vi as GeographicProjection,qi as GeographicTilingScheme,dt as Geometry,iN as Geometry3DTileContent,Ee as GeometryAttribute,mn as GeometryAttributes,XTe as GeometryFactory,wt as GeometryInstance,vc as GeometryInstanceAttribute,ln as GeometryOffsetAttribute,Un as GeometryPipeline,h2 as GeometryPipelineStage,nd as GeometryType,oi as GeometryUpdater,eE as GeometryUpdaterSet,sk as GeometryVisualizer,zE as GetFeatureInfoFormat,o4 as Globe,r4 as GlobeDepth,Mz as GlobeSurfaceShaderSet,ih as GlobeSurfaceTile,Yz as GlobeSurfaceTileProvider,Xz as GlobeTranslucency,s4 as GlobeTranslucencyFramebuffer,a4 as GlobeTranslucencyState,jw as GltfBufferViewLoader,qw as GltfDracoLoader,tF as GltfGpmLoader,pv as GltfGpmLocal,Yw as GltfImageLoader,Xw as GltfIndexBufferLoader,$w as GltfJsonLoader,vg as GltfLoader,nu as GltfLoaderUtil,rF as GltfMeshPrimitiveGpmLoader,YN as GltfStructuralMetadataLoader,ev as GltfTextureLoader,tv as GltfVertexBufferLoader,B0e as GoogleEarthEnterpriseImageryProvider,XU as GoogleEarthEnterpriseMapsProvider,$y as GoogleEarthEnterpriseMetadata,OP as GoogleEarthEnterpriseTerrainData,eCe as GoogleEarthEnterpriseTerrainProvider,l4 as GoogleEarthEnterpriseTileInformation,FE as GoogleMaps,PV as GpxDataSource,O_ as GregorianDate,k0e as GridImageryProvider,_D as GridMaterialProperty,jn as GroundGeometryUpdater,GT as GroundPolylineGeometry,Ih as GroundPolylinePrimitive,ul as GroundPrimitive,$v as GroupMetadata,zd as HeadingPitchRange,Ga as HeadingPitchRoll,A1 as Heap,Ye as HeightReference,th as HeightmapEncoding,dc as HeightmapTerrainData,GI as HeightmapTessellator,g3 as HermitePolynomialApproximation,mx as HermiteSpline,zw as HilbertOrder,tG as HomeButton,J8 as HomeButtonViewModel,gi as HorizontalOrigin,ZCe as I3SBuildingSceneLayerExplorer,iG as I3SBuildingSceneLayerExplorerViewModel,Fm as I3SDataProvider,u4 as I3SDecoder,f4 as I3SFeature,h4 as I3SField,JI as I3SGeometry,nS as I3SLayer,eP as I3SNode,y4 as I3SStatistics,x4 as I3SSublayer,_4 as I3SSymbology,gF as I3dmLoader,mF as I3dmParser,w4 as Iau2000Orientation,R1 as Iau2006XysData,_T as Iau2006XysSample,v4 as IauOrientationAxes,S4 as IauOrientationParameters,sC as ImageBasedLighting,OF as ImageBasedLightingPipelineStage,j0 as ImageMaterialProperty,jI as Imagery,La as ImageryLayer,$z as ImageryLayerCollection,wm as ImageryLayerFeatureInfo,Il as ImageryProvider,Zn as ImageryState,sv as Implicit3DTileContent,Hw as ImplicitAvailabilityBitstream,Gw as ImplicitMetadataView,ts as ImplicitSubdivisionScheme,gC as ImplicitSubtree,IU as ImplicitSubtreeCache,aN as ImplicitSubtreeMetadata,_A as ImplicitTileCoordinates,pA as ImplicitTileset,Be as IndexDatatype,sG as InfoBox,oG as InfoBoxViewModel,_c as InspectorShared,ns as InstanceAttributeSemantic,YF as InstancingPipelineStage,tCe as InterpolationAlgorithm,qh as InterpolationType,qt as Intersect,Jn as IntersectionTests,s0 as Intersections2D,Ya as Interval,nP as InvertClassification,Bh as Ion,x8 as IonGeocoderService,Gy as IonImageryProvider,Ju as IonResource,Wy as IonWorldImageryStyle,He as Iso8601,C4 as JobScheduler,Qa as JobType,Eg as JsonMetadataTable,K as JulianDate,q1 as KTX2Transcoder,da as KeyboardEventModifier,Ji as KeyframeNode,RV as KmlCamera,WV as KmlDataSource,OV as KmlLookAt,LV as KmlTour,FV as KmlTourFlyTo,BV as KmlTourWait,wx as Label,Fp as LabelCollection,Rh as LabelGraphics,Yo as LabelStyle,ak as LabelVisualizer,y3 as LagrangePolynomialApproximation,Wi as LeapSecond,X0e as Light,Rp as LightingModel,p2 as LightingPipelineStage,DA as LinearApproximation,hx as LinearSpline,dl as ManagedArray,Eu as MapMode2D,nCe as MapProjection,KU as MapboxImageryProvider,$0e as MapboxStyleImageryProvider,Ng as Mars3DEx,ji as Material,co as MaterialAppearance,g2 as MaterialPipelineStage,rr as MaterialProperty,P as Math,Fi as Matrix2,Z as Matrix3,F as Matrix4,iP as Megatexture,oF as MeshPrimitiveGpmLocal,Gh as MetadataClass,ex as MetadataClassProperty,Gt as MetadataComponentType,Bn as MetadataEntity,PN as MetadataEnum,DN as MetadataEnumValue,E4 as MetadataPicking,cf as MetadataPickingPipelineStage,_d as MetadataPipelineStage,rf as MetadataSchema,iv as MetadataSchemaLoader,yC as MetadataSemantic,eu as MetadataTable,lN as MetadataTableProperty,Et as MetadataType,rp as MipmapHint,$h as Model,Mp as Model3DTileContent,N2 as ModelAlphaOptions,CF as ModelAnimation,TF as ModelAnimationChannel,EF as ModelAnimationCollection,ou as ModelAnimationLoop,Xh as ModelAnimationState,NF as ModelArticulation,MF as ModelArticulationStage,kF as ModelClippingPlanesPipelineStage,zF as ModelClippingPolygonsPipelineStage,_x as ModelColorPipelineStage,Tn as ModelComponents,K2 as ModelDrawCommand,Q2 as ModelDrawCommands,SF as ModelFeature,wF as ModelFeatureTable,Z_ as ModelGraphics,j2 as ModelLightingOptions,XF as ModelMatrixUpdateStage,HF as ModelNode,F2 as ModelRenderResources,$F as ModelRuntimeNode,M2 as ModelRuntimePrimitive,eB as ModelSceneGraph,U2 as ModelSilhouettePipelineStage,L2 as ModelSkin,G2 as ModelSplitterPipelineStage,tB as ModelStatistics,gr as ModelType,$t as ModelUtility,lk as ModelVisualizer,P4 as Moon,x2 as MorphTargetsPipelineStage,iCe as MorphWeightSpline,Lx as MortonOrder,PB as Multiple3DTileContent,LM as MultisampleFramebuffer,dG as NavigationHelpButton,uG as NavigationHelpButtonViewModel,Vt as NearFarScalar,dxe as NeverTileDiscardPolicy,W2 as NodeRenderResources,KF as NodeStatisticsPipelineStage,QT as NodeTransformationProperty,O4 as OIT,EH as Occluder,$i as OffsetGeometryInstanceAttribute,oCe as OpenCageGeocoderService,Jy as OpenStreetMapImageryProvider,P3 as OrderedGroundPrimitiveCollection,In as OrientedBoundingBox,an as OrthographicFrustum,Br as OrthographicOffCenterFrustum,rCe as Packable,sCe as PackableForInterpolation,sP as Particle,gxe as ParticleBurst,xxe as ParticleEmitter,Cxe as ParticleSystem,Se as Pass,Tc as PassState,Q_ as PathGraphics,uk as PathVisualizer,y8 as PeliasGeocoderService,un as PerInstanceColorAppearance,e0 as PerformanceDisplay,lG as PerformanceWatchdog,aG as PerformanceWatchdogViewModel,Si as PerspectiveFrustum,Pl as PerspectiveOffCenterFrustum,F4 as PickDepth,B4 as PickDepthFramebuffer,V4 as PickFramebuffer,k4 as PickedMetadataInfo,$4 as Picking,b2 as PickingPipelineStage,vy as PinBuilder,nt as PixelDatatype,ct as PixelFormat,cn as Plane,z3 as PlaneGeometry,W3 as PlaneGeometryUpdater,jL as PlaneGraphics,G3 as PlaneOutlineGeometry,iB as PntsLoader,qC as PntsParser,J4 as PointCloud,Dg as PointCloudEyeDomeLighting,Sp as PointCloudShading,C2 as PointCloudStylingPipelineStage,eC as PointGraphics,zs as PointPrimitive,pD as PointPrimitiveCollection,fk as PointVisualizer,Ag as PolygonGeometry,Hn as PolygonGeometryLibrary,X3 as PolygonGeometryUpdater,Oh as PolygonGraphics,$a as PolygonHierarchy,Y3 as PolygonOutlineGeometry,si as PolygonPipeline,gd as Polyline,gD as PolylineArrowMaterialProperty,em as PolylineCollection,es as PolylineColorAppearance,yD as PolylineDashMaterialProperty,yy as PolylineGeometry,hk as PolylineGeometryUpdater,xD as PolylineGlowMaterialProperty,Ic as PolylineGraphics,Ea as PolylineMaterialAppearance,Ux as PolylineOutlineMaterialProperty,Ri as PolylinePipeline,pk as PolylineVisualizer,K3 as PolylineVolumeGeometry,im as PolylineVolumeGeometryLibrary,Z3 as PolylineVolumeGeometryUpdater,tC as PolylineVolumeGraphics,$3 as PolylineVolumeOutlineGeometry,Ph as PositionProperty,iy as PositionPropertyArray,mo as PostProcessStage,bH as PostProcessStageCollection,Bl as PostProcessStageComposite,Gf as PostProcessStageLibrary,Hf as PostProcessStageSampleMode,lS as PostProcessStageTextureCache,iF as PpeMetadata,CCe as PpeSource,nF as PpeTexture,Rn as Primitive,du as PrimitiveCollection,IC as PrimitiveLoadPlan,DC as PrimitiveOutlineGenerator,S2 as PrimitiveOutlinePipelineStage,VT as PrimitivePipeline,q2 as PrimitiveRenderResources,Ir as PrimitiveState,w2 as PrimitiveStatisticsPipelineStage,Fe as PrimitiveType,bG as ProjectionPicker,yG as ProjectionPickerViewModel,q as Property,bD as PropertyArray,wC as PropertyAttribute,WN as PropertyAttributeProperty,Kl as PropertyBag,pl as PropertyTable,Sg as PropertyTexture,GN as PropertyTextureProperty,fs as ProviderViewModel,lCe as Proxy,al as QuadraticRealPolynomial,Zz as QuadtreeOccluders,i4 as QuadtreePrimitive,Jz as QuadtreeTile,pa as QuadtreeTileLoadState,$xe as QuadtreeTileProvider,gS as QuantizedMeshTerrainData,pL as QuarticRealPolynomial,Ne as Quaternion,bF as QuaternionSpline,cx as Queue,_n as Ray,se as Rectangle,iE as RectangleCollisionChecker,$A as RectangleGeometry,Us as RectangleGeometryLibrary,Q3 as RectangleGeometryUpdater,Mh as RectangleGraphics,rA as RectangleOutlineGeometry,Bi as ReferenceFrame,ry as ReferenceProperty,ze as RenderState,Wu as Renderbuffer,sl as RenderbufferFormat,or as Request,Jm as RequestErrorEvent,bc as RequestScheduler,Qn as RequestState,ps as RequestType,ve as Resource,Ci as ResourceCache,iu as ResourceCacheKey,MN as ResourceCacheStatistics,Yi as ResourceLoader,_t as ResourceLoaderState,Pd as Rotation,ce as RuntimeError,ug as S2Cell,ia as SDFSettings,Pa as SampledPositionProperty,vf as SampledProperty,tn as Sampler,r_ as ScaledPositionProperty,XH as Scene,rS as SceneFramebuffer,ne as SceneMode,v2 as SceneMode2DPipelineStage,_G as SceneModePicker,mG as SceneModePickerViewModel,ki as SceneTransforms,wH as SceneTransitioner,FH as ScreenSpaceCameraController,Nf as ScreenSpaceEventHandler,Cn as ScreenSpaceEventType,bx as SelectedFeatureIdPipelineStage,EG as SelectionIndicator,CG as SelectionIndicatorViewModel,AD as SensorVolumePortionToDisplay,ST as ShaderBuilder,vM as ShaderCache,pe as ShaderDestination,BM as ShaderFunction,sn as ShaderProgram,Ge as ShaderSource,FM as ShaderStruct,n0 as ShadowMap,C_ as ShadowMapShader,bn as ShadowMode,$u as ShadowVolumeAppearance,xn as ShowGeometryInstanceAttribute,I0 as Simon1994PlanetaryPositions,uCe as SimplePolylineGeometry,$U as SingleTileImageryProvider,I2 as SkinningPipelineStage,ZH as SkyAtmosphere,e8 as SkyBox,zH as SpatialNode,eF as Spdcf,Fh as SpecularEnvironmentCubeMap,uTe as SphereEmitter,fCe as SphereGeometry,jg as SphereOutlineGeometry,x3 as Spherical,to as Spline,kr as SplitDirection,dP as Splitter,Fd as StaticGeometryColorBatch,kd as StaticGeometryPerMaterialBatch,FD as StaticGroundGeometryColorBatch,rk as StaticGroundGeometryPerMaterialBatch,mk as StaticGroundPolylinePerMaterialBatch,BD as StaticOutlineGeometryBatch,zt as StencilConstants,zn as StencilFunction,mt as StencilOperation,xF as SteppedSpline,Mc as Stereographic,fx as StorageType,TD as StripeMaterialProperty,am as StripeOrientation,na as StructuralMetadata,Kh as StyleCommandsNeeded,fTe as StyleExpression,o8 as Sun,H_ as SunLight,VH as SunPostProcess,$N as SupportedImageFormats,w8 as SvgPathBindingHandler,_i as TaskProcessor,u8 as Terrain,Mm as TerrainData,qc as TerrainEncoding,XI as TerrainFillMesh,nh as TerrainMesh,oC as TerrainOffsetProperty,ls as TerrainProvider,ma as TerrainQuantization,ho as TerrainState,Mt as Texture,Ax as TextureAtlas,IM as TextureCache,fi as TextureMagnificationFilter,jH as TextureManager,en as TextureMinificationFilter,xCe as TextureUniform,wn as TextureWrap,Gm as TileAvailability,Ed as TileBoundingRegion,LB as TileBoundingS2Cell,qg as TileBoundingSphere,bTe as TileBoundingVolume,f8 as TileCoordinatesImageryProvider,TTe as TileDiscardPolicy,yn as TileEdge,qI as TileImagery,fb as TileMapServiceImageryProvider,DB as TileMetadata,Tf as TileOrientedBoundingBox,vo as TileProviderError,t4 as TileReplacementQueue,Xn as TileSelectionResult,CTe as TileState,rB as Tileset3DTileContent,kB as TilesetMetadata,vF as TilesetPipelineStage,dCe as TilingScheme,Yn as TimeConstants,HE as TimeDynamicImagery,PP as TimeDynamicPointCloud,vn as TimeInterval,Gr as TimeIntervalCollection,ay as TimeIntervalCollectionPositionProperty,cy as TimeIntervalCollectionProperty,qn as TimeStandard,vG as Timeline,SG as TimelineHighlightRange,wG as TimelineTrack,AL as Tipsify,jb as ToggleButtonViewModel,o0 as Tonemapper,Bt as Transforms,Y0 as TranslationRotationScale,H4 as TranslucentTileClassification,xv as TridiagonalSystemSolver,GS as TrustedServers,uS as TweenCollection,OM as UniformState,TP as UniformType,uc as UrlTemplateImageryProvider,Vso as VERSION,RG as VRButton,IG as VRButtonViewModel,_Ce as VRTheWorldTerrainProvider,bCe as VaryingType,gp as Vector3DTileBatch,EB as Vector3DTileClampedPolylines,wB as Vector3DTileContent,sg as Vector3DTileGeometry,xB as Vector3DTilePoints,bB as Vector3DTilePolygons,JC as Vector3DTilePolylines,lC as Vector3DTilePrimitive,T3 as VelocityOrientationProperty,FA as VelocityVectorProperty,di as VertexArray,G_ as VertexArrayFacade,Ct as VertexAttributeSemantic,Pe as VertexFormat,Dr as VerticalExaggeration,R2 as VerticalExaggerationPipelineStage,Ln as VerticalOrigin,hCe as VideoSynchronizer,aS as View,fAe as Viewer,vTe as ViewportQuad,br as Visibility,f_e as Visualizer,d_ as VoxelBoxShape,UH as VoxelCell,OU as VoxelContent,h_ as VoxelCylinderShape,ME as VoxelEllipsoidShape,LG as VoxelInspector,OG as VoxelInspectorViewModel,Nb as VoxelPrimitive,DTe as VoxelProvider,hU as VoxelRenderResources,ITe as VoxelShape,Ni as VoxelShapeType,bP as VoxelTraversal,gCe as VulkanConstants,ek as WallGeometry,QA as WallGeometryLibrary,nk as WallGeometryUpdater,J_ as WallGraphics,tk as WallOutlineGeometry,te as WebGLConstants,QU as WebMapServiceImageryProvider,JU as WebMapTileServiceImageryProvider,Ii as WebMercatorProjection,cs as WebMercatorTilingScheme,gs as WindingOrder,vv as WireframeIndexGenerator,O2 as WireframePipelineStage,eH as _shadersAcesTonemappingStage,BH as _shadersAdditiveBlend,rP as _shadersAdjustTranslucentFS,UM as _shadersAllMaterialAppearanceFS,zM as _shadersAllMaterialAppearanceVS,tH as _shadersAmbientOcclusionGenerate,nH as _shadersAmbientOcclusionModulate,qM as _shadersAspectRampMaterial,Xy as _shadersAtmosphereCommon,DF as _shadersAtmosphereStageFS,IF as _shadersAtmosphereStageVS,HM as _shadersBasicMaterialAppearanceFS,GM as _shadersBasicMaterialAppearanceVS,sB as _shadersBillboardCollectionFS,aB as _shadersBillboardCollectionVS,iH as _shadersBlackAndWhite,oH as _shadersBloomComposite,ZV as _shadersBrdfLutGeneratorFS,kH as _shadersBrightPass,rH as _shadersBrightness,YM as _shadersBumpMapMaterial,t2 as _shadersCPUStylingStageFS,e2 as _shadersCPUStylingStageVS,XM as _shadersCheckerboardMaterial,NU as _shadersCloudCollectionFS,FU as _shadersCloudCollectionVS,BU as _shadersCloudNoiseFS,kU as _shadersCloudNoiseVS,z4 as _shadersCompareAndPackTranslucentDepth,R4 as _shadersCompositeOITFS,sS as _shadersCompositeTranslucentClassification,sH as _shadersContrastBias,o2 as _shadersCustomShaderStageFS,i2 as _shadersCustomShaderStageVS,TT as _shadersCzmBuiltins,aH as _shadersDepthOfField,lz as _shadersDepthPlaneFS,uz as _shadersDepthPlaneVS,cH as _shadersDepthView,TCe as _shadersDepthViewPacked,KM as _shadersDotMaterial,lH as _shadersEdgeDetection,$M as _shadersElevationBandMaterial,ZM as _shadersElevationContourMaterial,QM as _shadersElevationRampMaterial,zI as _shadersEllipsoidFS,gz as _shadersEllipsoidSurfaceAppearanceFS,yz as _shadersEllipsoidSurfaceAppearanceVS,HI as _shadersEllipsoidVS,dH as _shadersFXAA,yH as _shadersFXAA3_11,JM as _shadersFadeMaterial,r2 as _shadersFeatureIdStageFS,s2 as _shadersFeatureIdStageVS,uH as _shadersFilmicTonemapping,vb as _shadersGaussianBlur1D,f2 as _shadersGeometryStageFS,d2 as _shadersGeometryStageVS,Rz as _shadersGlobeFS,Oz as _shadersGlobeVS,eL as _shadersGridMaterial,WI as _shadersGroundAtmosphere,wO as _shadersHSBToRGB,vO as _shadersHSLToRGB,RF as _shadersImageBasedLightingStageFS,GF as _shadersInstancingStageCommon,WF as _shadersInstancingStageVS,rU as _shadersIntersectBox,oU as _shadersIntersectClippingPlanes,sU as _shadersIntersectCylinder,iU as _shadersIntersectDepth,aU as _shadersIntersectEllipsoid,TI as _shadersIntersectLongitude,vE as _shadersIntersection,nU as _shadersIntersectionUtils,jF as _shadersLegacyInstancingStageVS,hH as _shadersLensFlare,m2 as _shadersLightingStageFS,_2 as _shadersMaterialStageFS,dU as _shadersMegatexture,a2 as _shadersMetadataStageFS,c2 as _shadersMetadataStageVS,BF as _shadersModelClippingPlanesStageFS,UF as _shadersModelClippingPolygonsStageFS,VF as _shadersModelClippingPolygonsStageVS,FF as _shadersModelColorStageFS,Z2 as _shadersModelFS,B2 as _shadersModelSilhouetteStageFS,k2 as _shadersModelSilhouetteStageVS,z2 as _shadersModelSplitterStageFS,$2 as _shadersModelVS,mH as _shadersModifiedReinhardTonemapping,y2 as _shadersMorphTargetsStageVS,pH as _shadersNightVision,tL as _shadersNormalMapMaterial,fU as _shadersOctree,Pu as _shadersPassThrough,gb as _shadersPassThroughDepth,fH as _shadersPbrNeutralTonemapping,fL as _shadersPerInstanceColorAppearanceFS,dL as _shadersPerInstanceColorAppearanceVS,PT as _shadersPerInstanceFlatColorAppearanceFS,hL as _shadersPerInstanceFlatColorAppearanceVS,cF as _shadersPointCloudEyeDomeLighting,T2 as _shadersPointCloudStylingStageVS,Bx as _shadersPointPrimitiveCollectionFS,u3 as _shadersPointPrimitiveCollectionVS,HN as _shadersPolygonSignedDistanceFS,nL as _shadersPolylineArrowMaterial,GL as _shadersPolylineColorAppearanceVS,Zu as _shadersPolylineCommon,iL as _shadersPolylineDashMaterial,WT as _shadersPolylineFS,oL as _shadersPolylineGlowMaterial,WL as _shadersPolylineMaterialAppearanceVS,rL as _shadersPolylineOutlineMaterial,VL as _shadersPolylineShadowVolumeFS,UL as _shadersPolylineShadowVolumeMorphFS,zL as _shadersPolylineShadowVolumeMorphVS,HL as _shadersPolylineShadowVolumeVS,mB as _shadersPolylineVS,E2 as _shadersPrimitiveOutlineStageFS,A2 as _shadersPrimitiveOutlineStageVS,JO as _shadersRGBToHSB,eM as _shadersRGBToHSL,tM as _shadersRGBToXYZ,_H as _shadersReinhardTonemapping,Lz as _shadersReprojectWebMercatorFS,Nz as _shadersReprojectWebMercatorVS,sL as _shadersRimLightingMaterial,Sv as _shadersSelectedFeatureIdStageCommon,pw as _shadersShadowVolumeAppearanceFS,bL as _shadersShadowVolumeAppearanceVS,F0 as _shadersShadowVolumeFS,gH as _shadersSilhouette,D2 as _shadersSkinningStageVS,AP as _shadersSkyAtmosphereCommon,KH as _shadersSkyAtmosphereFS,$H as _shadersSkyAtmosphereVS,QH as _shadersSkyBoxFS,JH as _shadersSkyBoxVS,aL as _shadersSlopeRampMaterial,cL as _shadersStripeMaterial,t8 as _shadersSunFS,n8 as _shadersSunTextureFS,i8 as _shadersSunVS,WM as _shadersTexturedMaterialAppearanceFS,jM as _shadersTexturedMaterialAppearanceVS,AB as _shadersVector3DTileClampedPolylinesFS,CB as _shadersVector3DTileClampedPolylinesVS,TB as _shadersVector3DTilePolylinesVS,Uw as _shadersVectorTileVS,P2 as _shadersVerticalExaggerationStageVS,d8 as _shadersViewportQuadFS,xT as _shadersViewportQuadVS,eU as _shadersVoxelFS,JV as _shadersVoxelUtils,tU as _shadersVoxelVS,uL as _shadersWater,lL as _shadersWaterMaskMaterial,SM as _shadersXYZToRGB,WR as _shadersacesTonemapping,jR as _shadersalphaWeight,qR as _shadersantialias,YR as _shadersapplyHSBShift,XR as _shadersapproximateSphericalCoordinates,KR as _shadersapproximateTanh,$R as _shadersbackFacing,ZR as _shadersbranchFreeTernary,QR as _shaderscascadeColor,JR as _shaderscascadeDistance,eO as _shaderscascadeMatrix,tO as _shaderscascadeWeights,nO as _shadersclipPolygons,iO as _shaderscolumbusViewMorph,oO as _shaderscomputeAtmosphereColor,rO as _shaderscomputeGroundAtmosphereScattering,sO as _shaderscomputePosition,aO as _shaderscomputeScattering,cU as _shadersconvertUvToBox,lU as _shadersconvertUvToCylinder,uU as _shadersconvertUvToEllipsoid,cO as _shaderscosineAndSine,lO as _shadersdecompressTextureCoordinates,Q1 as _shadersdegreesPerRadian,uO as _shadersdepthClamp,J1 as _shadersdepthRange,FR as _shadersdepthRangeStruct,fO as _shaderseastNorthUpToEyeCoordinates,dO as _shadersellipsoidContainsPoint,hO as _shadersellipsoidTextureCoordinates,eR as _shadersepsilon1,tR as _shadersepsilon2,nR as _shadersepsilon3,iR as _shadersepsilon4,oR as _shadersepsilon5,rR as _shadersepsilon6,sR as _shadersepsilon7,mO as _shadersequalsEpsilon,pO as _shaderseyeOffset,_O as _shaderseyeToWindowCoordinates,gO as _shadersfastApproximateAtan,yO as _shadersfog,xO as _shadersgammaCorrect,bO as _shadersgeodeticSurfaceNormal,TO as _shadersgetDefaultMaterial,CO as _shadersgetDynamicAtmosphereLightDirection,AO as _shadersgetLambertDiffuse,EO as _shadersgetSpecular,SO as _shadersgetWaterNoise,DO as _shadershue,aR as _shadersinfinity,IO as _shadersinverseGamma,PO as _shadersisEmpty,RO as _shadersisFull,OO as _shaderslatitudeToWebMercatorFraction,LO as _shaderslineDistance,MO as _shaderslinearToSrgb,NO as _shadersluminance,BR as _shadersmaterial,kR as _shadersmaterialInput,FO as _shadersmaximumComponent,BO as _shadersmetersPerPixel,VR as _shadersmodelMaterial,kO as _shadersmodelToWindowCoordinates,UR as _shadersmodelVertexOutput,VO as _shadersmultiplyWithColorBalance,UO as _shadersnearFarScalar,zO as _shadersoctDecode,cR as _shadersoneOverPi,lR as _shadersoneOverTwoPi,HO as _shaderspackDepth,uR as _shaderspassCesium3DTile,fR as _shaderspassCesium3DTileClassification,dR as _shaderspassCesium3DTileClassificationIgnoreShow,hR as _shaderspassClassification,mR as _shaderspassCompute,pR as _shaderspassEnvironment,_R as _shaderspassGlobe,gR as _shaderspassOpaque,yR as _shaderspassOverlay,xR as _shaderspassTerrainClassification,bR as _shaderspassTranslucent,TR as _shaderspassVoxels,GO as _shaderspbrLighting,WO as _shaderspbrNeutralTonemapping,jO as _shadersphong,CR as _shaderspi,AR as _shaderspiOverFour,ER as _shaderspiOverSix,SR as _shaderspiOverThree,wR as _shaderspiOverTwo,qO as _shadersplaneDistance,YO as _shaderspointAlongRay,vR as _shadersradiansPerDegree,zR as _shadersray,XO as _shadersrayEllipsoidIntersectionInterval,HR as _shadersraySegment,KO as _shadersraySphereIntersectionInterval,$O as _shadersreadDepth,ZO as _shadersreadNonPerspective,QO as _shadersreverseLogDepth,nM as _shadersround,iM as _shaderssaturation,DR as _shaderssceneMode2D,IR as _shaderssceneMode3D,PR as _shaderssceneModeColumbusView,RR as _shaderssceneModeMorphing,oM as _shadersshadowDepthCompare,GR as _shadersshadowParameters,rM as _shadersshadowVisibility,sM as _shaderssignNotZero,OR as _shaderssolarRadius,aM as _shaderssphericalHarmonics,cM as _shaderssrgbToLinear,lM as _shaderstangentToEyeSpaceMatrix,uM as _shaderstextureCube,MR as _shadersthreePiOver2,fM as _shaderstransformPlane,dM as _shaderstranslateRelativeToEye,hM as _shaderstranslucentPhong,mM as _shaderstranspose,LR as _shaderstwoPi,pM as _shadersunpackClippingExtents,_M as _shadersunpackDepth,gM as _shadersunpackFloat,yM as _shadersunpackUint,xM as _shadersvalueTransform,bM as _shadersvertexLogDepth,NR as _shaderswebMercatorMaxLatitude,TM as _shaderswindowToEyeCoordinates,CM as _shaderswriteDepthClamp,AM as _shaderswriteLogDepth,EM as _shaderswriteNonPerspective,bN as addBuffer,uN as addDefaults,gN as addExtensionsRequired,dd as addExtensionsUsed,ix as addPipelineExtras,Fs as addToArray,x1 as appendForwardSlash,xo as arrayRemoveDuplicates,LT as barycentricCoordinates,Po as binarySearch,on as buildModuleUrl,_U as buildVoxelDrawCommands,We as clone,xt as combine,NE as computeFlyToLocationForRectangle,XC as createBillboardPointCallback,Dn as createCommand,R8 as createDefaultImageryProviderViewModels,O8 as createDefaultTerrainProviderViewModels,Hge as createElevationBandMaterial,Wge as createGooglePhotorealistic3DTileset,Gn as createGuid,Oo as createMaterialPropertyDescriptor,jge as createOsmBuildingsAsync,le as createPropertyDescriptor,Xl as createRawPropertyDescriptor,qge as createTangentSpaceDebugPrimitive,ACe as createTaskProcessorWorker,U1 as createUniform,z1 as createUniformArray,l8 as createWorldBathymetryAsync,jy as createWorldImageryAsync,CS as createWorldTerrainAsync,c4 as decodeGoogleEarthEnterpriseData,SB as decodeVectorPolylinePositions,y as defaultValue,Ul as defer,l as defined,wM as demodernizeShader,_s as deprecationWarning,ue as destroyObject,Cme as exportKml,mC as findAccessorMinMax,tA as findContentMetadata,nA as findGroupMetadata,IB as findTileMetadata,Kw as forEachTextureInMaterial,f_ as formatError,cQ as freezeRenderState,Qm as getAbsoluteUri,tu as getAccessorByteStride,b1 as getBaseUri,tf as getBinaryAccessor,Ez as getClipAndStyleCode,ky as getClippingFunction,pg as getComponentReader,Mn as getElement,lT as getExtensionFromUri,ny as getFilenameFromUri,GH as getImageFromTypedArray,_h as getImagePixels,Lo as getJsonFromTypedArray,Vh as getMagic,Sz as getMetadataClassProperty,Zl as getStringFromTypedArray,Ti as getTimestamp,ri as hasExtension,eg as heightReferenceOnEntityPropertyChanged,Kc as isBitSet,uT as isBlobUri,C0 as isCrossOriginUrl,L_ as isDataUri,ph as isLeapYear,be as knockout,RS as knockout_3_5_1,S8 as knockout_es5,fT as loadAndExecuteScript,NM as loadCubeMap,dC as loadImageFromTypedArray,zl as loadKTX2,Hy as mergeSort,_N as moveTechniqueRenderStates,yN as moveTechniquesToExtension,of as numberOfComponentsForType,dT as objectToQuery,Tt as oneTimeWarning,Ig as parseBatchTable,qN as parseFeatureMetadataLegacy,hN as parseGlb,C1 as parseResponseHeaders,jN as parseStructuralMetadata,Pv as pickModel,aCe as pointInsideTriangle,Gp as preprocess3DTileContent,pU as processVoxelProperties,zu as queryToObject,TN as readAccessorPacked,pC as removeExtension,dN as removeExtensionsRequired,hC as removeExtensionsUsed,pN as removePipelineExtras,xN as removeUnusedElements,rx as resizeImageToNextPowerOfTwo,UU as sampleTerrain,LE as sampleTerrainMostDetailed,rT as scaleToGeodeticSurface,eS as srgbToLinear,TL as subdivideArray,Ba as subscribeAndEvaluate,AN as updateAccessorComponentTypes,SN as updateVersion,pr as usesExtension,dAe as viewerCesium3DTilesInspectorMixin,hAe as viewerCesiumInspectorMixin,pAe as viewerDragDropMixin,_Ae as viewerPerformanceWatchdogMixin,yAe as viewerVoxelInspectorMixin,yCe as webGLConstantToGlslType,E8 as wrapFunction,$C as writeTextToCanvas}; +`);n.value=n.value.slice(0,i)+f+n.value.slice(o),n.selectionStart=i!==o?i:r,n.selectionEnd=r}else t.ctrlKey&&(t.keyCode===10||t.keyCode===13)&&this.compileShader();return!0};id.prototype.isDestroyed=function(){return!1};id.prototype.destroy=function(){let e=this;return this._definedProperties.forEach(function(t){be.getObservable(e,t).dispose()}),ue(this)};var NG=id;function FG(e,t){e=Mn(e);let n=document.createElement("div"),i=new NG(t);this._viewModel=i,this._container=e,this._element=n;let o=document.createElement("div");o.textContent="Voxel Inspector",o.className="cesium-cesiumInspector-button",o.setAttribute("data-bind","click: toggleInspector"),n.appendChild(o),n.className="cesium-cesiumInspector cesium-VoxelInspector",n.setAttribute("data-bind",'css: { "cesium-cesiumInspector-visible" : inspectorVisible, "cesium-cesiumInspector-hidden" : !inspectorVisible}'),e.appendChild(n);let r=document.createElement("div");r.className="cesium-cesiumInspector-dropDown",n.appendChild(r);let s=bc.createSection,a=bc.createCheckbox,c=bc.createRangeInput,u=bc.createButton,f=s(r,"Display","displayVisible","toggleDisplay"),d=s(r,"Transform","transformVisible","toggleTransform"),p=s(r,"Bounds","boundsVisible","toggleBounds"),g=s(r,"Clipping","clippingVisible","toggleClipping"),m=s(r,"Shader","shaderVisible","toggleShader");f.appendChild(a("Depth Test","depthTest")),f.appendChild(a("Show","show")),f.appendChild(a("Disable Update","disableUpdate")),f.appendChild(a("Debug Draw","debugDraw")),f.appendChild(a("Jitter","jitter")),f.appendChild(a("Nearest Sampling","nearestSampling")),f.appendChild(c("Screen Space Error","screenSpaceError",0,128)),f.appendChild(c("Step Size","stepSize",0,2));let x=10,b=10,T=P.PI;d.appendChild(c("Translation X","translationX",-x,+x)),d.appendChild(c("Translation Y","translationY",-x,+x)),d.appendChild(c("Translation Z","translationZ",-x,+x)),d.appendChild(c("Scale X","scaleX",0,+b)),d.appendChild(c("Scale Y","scaleY",0,+b)),d.appendChild(c("Scale Z","scaleZ",0,+b)),d.appendChild(c("Heading","angleX",-T,+T)),d.appendChild(c("Pitch","angleY",-T,+T)),d.appendChild(c("Roll","angleZ",-T,+T));let C=ki.getMinBounds(ki.BOX),A=ki.getMaxBounds(ki.BOX),S=h.fromElements(ki.getMinBounds(ki.ELLIPSOID).x,ki.getMinBounds(ki.ELLIPSOID).y,-ee.WGS84.maximumRadius,new h),v=h.fromElements(ki.getMaxBounds(ki.ELLIPSOID).x,ki.getMaxBounds(ki.ELLIPSOID).y,1e7,new h),D=ki.getMinBounds(ki.CYLINDER),R=ki.getMaxBounds(ki.CYLINDER);US("Max X","Min X","Max Y","Min Y","Max Z","Min Z","boundsBoxMaxX","boundsBoxMinX","boundsBoxMaxY","boundsBoxMinY","boundsBoxMaxZ","boundsBoxMinZ",C,A,"shapeIsBox",p),US("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","boundsEllipsoidMaxLongitude","boundsEllipsoidMinLongitude","boundsEllipsoidMaxLatitude","boundsEllipsoidMinLatitude","boundsEllipsoidMaxHeight","boundsEllipsoidMinHeight",S,v,"shapeIsEllipsoid",p),US("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","boundsCylinderMaxRadius","boundsCylinderMinRadius","boundsCylinderMaxHeight","boundsCylinderMinHeight","boundsCylinderMaxAngle","boundsCylinderMinAngle",D,R,"shapeIsCylinder",p),US("Max X","Min X","Max Y","Min Y","Max Z","Min Z","clippingBoxMaxX","clippingBoxMinX","clippingBoxMaxY","clippingBoxMinY","clippingBoxMaxZ","clippingBoxMinZ",C,A,"shapeIsBox",g),US("Max Longitude","Min Longitude","Max Latitude","Min Latitude","Max Height","Min Height","clippingEllipsoidMaxLongitude","clippingEllipsoidMinLongitude","clippingEllipsoidMaxLatitude","clippingEllipsoidMinLatitude","clippingEllipsoidMaxHeight","clippingEllipsoidMinHeight",S,v,"shapeIsEllipsoid",g),US("Max Radius","Min Radius","Max Height","Min Height","Max Angle","Min Angle","clippingCylinderMaxRadius","clippingCylinderMinRadius","clippingCylinderMaxHeight","clippingCylinderMinHeight","clippingCylinderMaxAngle","clippingCylinderMinAngle",D,R,"shapeIsCylinder",g);let O=document.createElement("div");m.appendChild(O);let M=document.createElement("textarea");M.setAttribute("data-bind","textInput: shaderString, event: { keydown: shaderEditorKeyPress }"),O.className="cesium-cesiumInspector-styleEditor",O.appendChild(M);let N=u("Compile (Ctrl+Enter)","compileShader");O.appendChild(N);let _=document.createElement("label");_.style.display="block",_.setAttribute("data-bind","text: shaderCompilationMessage, style: {color: shaderCompilationSuccess ? 'green' : 'red'}"),O.appendChild(_),be.applyBindings(i,n)}Object.defineProperties(FG.prototype,{container:{get:function(){return this._container}},viewModel:{get:function(){return this._viewModel}}});FG.prototype.isDestroyed=function(){return!1};FG.prototype.destroy=function(){return be.cleanNode(this._element),this._container.removeChild(this._element),this.viewModel.destroy(),ue(this)};function US(e,t,n,i,o,r,s,a,c,u,f,d,p,g,m,x){let b=bc.createRangeInput,T=p,C=g,A=x.appendChild(document.createElement("div"));A.setAttribute("data-bind",`if: ${m}`),A.appendChild(b(e,s,T.x,C.x)),A.appendChild(b(t,a,T.x,C.x)),A.appendChild(b(n,c,T.y,C.y)),A.appendChild(b(i,u,T.y,C.y)),A.appendChild(b(o,f,T.z,C.z)),A.appendChild(b(r,d,T.z,C.z))}var BG=FG;function BEt(e){let t=document.createElement("div");t.className="cesium-viewer-voxelInspectorContainer",e.container.appendChild(t);let n=new BG(t,e.scene);Object.defineProperties(e,{voxelInspector:{get:function(){return n}}})}var MAe=BEt;globalThis.CESIUM_VERSION="1.124";var _lo="1.124";export{wp as AlphaMode,o2 as AlphaPipelineStage,oF as AnchorPointDirect,rF as AnchorPointIndirect,k8 as Animation,V8 as AnimationViewModel,oo as Appearance,hi as ApproximateTerrainHeights,N_e as ArcGISTiledElevationTerrainProvider,Nm as ArcGisBaseMapType,s0 as ArcGisMapServerImageryProvider,Wf as ArcGisMapService,nn as ArcType,Bc as ArticulationStageType,vt as AssociativeArray,MC as Atmosphere,BF as AtmospherePipelineStage,Fn as AttributeCompression,sn as AttributeType,K4 as AutoExposure,M_ as AutomaticUniforms,No as Axis,Z0 as AxisAlignedBoundingBox,gF as B3dmLoader,_F as B3dmParser,H8 as BaseLayerPicker,U8 as BaseLayerPickerViewModel,jT as BatchTable,pC as BatchTableHierarchy,gl as BatchTexture,r2 as BatchTexturePipelineStage,fo as Billboard,yf as BillboardCollection,vc as BillboardGraphics,JM as BillboardVisualizer,B_e as BingMapsGeocoderService,oz as BingMapsImageryProvider,kI as BingMapsStyle,Za as BlendEquation,So as BlendFunction,Do as BlendOption,fn as BlendingState,Ye as BoundingRectangle,ce as BoundingSphere,ut as BoundingSphereState,vC as BoundingVolumeSemantics,MTe as BoxEmitter,Ka as BoxGeometry,KL as BoxGeometryUpdater,JT as BoxGraphics,Ph as BoxOutlineGeometry,Wz as BrdfLutGenerator,bt as Buffer,yC as BufferLoader,Ue as BufferUsage,l2 as CPUStylingPipelineStage,ZL as CallbackPositionProperty,Bh as CallbackProperty,co as Camera,J4 as CameraEventAggregator,Bi as CameraEventType,jz as CameraFlightPath,U as Cartesian2,h as Cartesian3,oe as Cartesian4,fe as Cartographic,k_e as CartographicGeocoderService,U_e as CatmullRomSpline,mC as Cesium3DContentGroup,Od as Cesium3DTile,cg as Cesium3DTileBatchTable,nu as Cesium3DTileColorBlendMode,LTe as Cesium3DTileContent,sA as Cesium3DTileContentFactory,$o as Cesium3DTileContentState,Hs as Cesium3DTileContentType,oa as Cesium3DTileFeature,$h as Cesium3DTileFeatureTable,Dd as Cesium3DTileOptimizationHint,qB as Cesium3DTileOptimizations,Vo as Cesium3DTilePass,ah as Cesium3DTilePassState,qg as Cesium3DTilePointFeature,Ko as Cesium3DTileRefine,OS as Cesium3DTileStyle,$B as Cesium3DTileStyleEngine,X8 as Cesium3DTilesInspector,q8 as Cesium3DTilesInspectorViewModel,FTe as Cesium3DTilesVoxelProvider,ws as Cesium3DTileset,JB as Cesium3DTilesetBaseTraversal,XB as Cesium3DTilesetCache,sC as Cesium3DTilesetGraphics,ZB as Cesium3DTilesetHeatmap,xA as Cesium3DTilesetMetadata,QB as Cesium3DTilesetMostDetailedTraversal,t3 as Cesium3DTilesetSkipTraversal,ty as Cesium3DTilesetStatistics,ua as Cesium3DTilesetTraversal,i3 as Cesium3DTilesetVisualizer,M8 as CesiumInspector,O8 as CesiumInspectorViewModel,LE as CesiumTerrainProvider,QH as CesiumWidget,xo as Check,fD as CheckerboardMaterialProperty,o8 as CircleEmitter,K_e as CircleGeometry,Z_e as CircleOutlineGeometry,eB as ClassificationModelDrawCommand,s2 as ClassificationPipelineStage,Av as ClassificationPrimitive,Un as ClassificationType,ri as ClearCommand,DC as ClippingPlane,Ss as ClippingPlaneCollection,gw as ClippingPolygon,Xh as ClippingPolygonCollection,lm as Clock,$r as ClockRange,go as ClockStep,P8 as ClockViewModel,GTe as CloudCollection,PP as CloudType,z as Color,Fc as ColorBlendMode,Wt as ColorGeometryInstanceAttribute,Ht as ColorMaterialProperty,jCe as Command,X as ComponentDatatype,QL as Composite3DTileContent,lle as CompositeEntityCollection,pD as CompositeMaterialProperty,Oa as CompositePositionProperty,zc as CompositeProperty,K1 as CompressedTextureBuffer,rl as ComputeCommand,X1 as ComputeEngine,JH as ConditionsExpression,WTe as ConeEmitter,ml as ConstantPositionProperty,$n as ConstantProperty,SF as ConstantSpline,LB as ContentMetadata,XM as Context,Bt as ContextLimits,$3 as CoplanarPolygonGeometry,Zg as CoplanarPolygonGeometryLibrary,Pd as CoplanarPolygonOutlineGeometry,Ni as CornerType,sF as CorrelationGroup,DA as CorridorGeometry,zi as CorridorGeometryLibrary,h3 as CorridorGeometryUpdater,tC as CorridorGraphics,d3 as CorridorOutlineGeometry,Et as Credit,t4 as CreditDisplay,Ir as CubeMap,lO as CubeMapFace,DT as CubicRealPolynomial,Ti as CullFace,As as CullingVolume,Jf as CumulusCloud,y3 as CustomDataSource,$_e as CustomHeightmapTerrainProvider,ES as CustomShader,zg as CustomShaderMode,_2 as CustomShaderPipelineStage,Dx as CustomShaderTranslucencyMode,x3 as CylinderGeometry,PA as CylinderGeometryLibrary,T3 as CylinderGeometryUpdater,nC as CylinderGraphics,b3 as CylinderOutlineGeometry,R3 as CzmlDataSource,Zr as DataSource,um as DataSourceClock,L3 as DataSourceCollection,Ck as DataSourceDisplay,JTe as DebugAppearance,g_ as DebugCameraPrimitive,hH as DebugInspector,c8 as DebugModelMatrixPrimitive,J_e as DefaultProxy,Dc as DepthFunction,o4 as DepthPlane,g2 as DequantizationPipelineStage,y_ as DerivedCommand,de as DeveloperError,s4 as DeviceOrientationCameraController,eCe as DirectionalLight,UI as DiscardEmptyTileImagePolicy,nz as DiscardMissingTileImagePolicy,Lt as DistanceDisplayCondition,Vn as DistanceDisplayConditionGeometryInstanceAttribute,kE as DoubleEndedPriorityQueue,YB as DoublyLinkedList,gg as DracoLoader,tt as DrawCommand,Ig as DynamicAtmosphereLightingType,Pg as DynamicEnvironmentMapManager,GA as DynamicGeometryBatch,ai as DynamicGeometryUpdater,R1 as EarthOrientationParameters,O0 as EarthOrientationParametersSample,Jr as EasingFunction,Sl as EllipseGeometry,gu as EllipseGeometryLibrary,G3 as EllipseGeometryUpdater,iC as EllipseGraphics,Nf as EllipseOutlineGeometry,ee as Ellipsoid,J_ as EllipsoidGeodesic,ma as EllipsoidGeometry,W3 as EllipsoidGeometryUpdater,oC as EllipsoidGraphics,Sf as EllipsoidOutlineGeometry,Uz as EllipsoidPrimitive,$a as EllipsoidRhumbLine,tCe as EllipsoidSurfaceAppearance,os as EllipsoidTangentPlane,UE as EllipsoidTerrainProvider,cy as EllipsoidalOccluder,Qw as Empty3DTileContent,Wn as EncodedCartesian3,sr as Entity,Pf as EntityCluster,fa as EntityCollection,Sk as EntityView,me as Event,xr as EventHelper,md as Expression,_t as ExpressionNodeType,Of as ExtrapolationType,Gt as FeatureDetection,wx as FeatureIdPipelineStage,a4 as Fog,Oe as ForEach,f8 as FrameRateMonitor,c4 as FrameState,Gr as Framebuffer,_i as FramebufferManager,p4 as FrustumCommands,HE as FrustumGeometry,fU as FrustumOutlineGeometry,wr as Fullscreen,Q8 as FullscreenButton,Z8 as FullscreenButtonViewModel,vV as GeoJsonDataSource,xF as GeoJsonLoader,bb as GeocodeType,tG as Geocoder,DI as GeocoderService,J8 as GeocoderViewModel,Ii as GeographicProjection,Xi as GeographicTilingScheme,ft as Geometry,sN as Geometry3DTileContent,Se as GeometryAttribute,mn as GeometryAttributes,age as GeometryFactory,wt as GeometryInstance,Ic as GeometryInstanceAttribute,cn as GeometryOffsetAttribute,Bn as GeometryPipeline,b2 as GeometryPipelineStage,sd as GeometryType,ci as GeometryUpdater,rE as GeometryUpdaterSet,dk as GeometryVisualizer,nS as GetFeatureInfoFormat,kz as Globe,_4 as GlobeDepth,tz as GlobeSurfaceShaderSet,oh as GlobeSurfaceTile,wz as GlobeSurfaceTileProvider,Dz as GlobeTranslucency,g4 as GlobeTranslucencyFramebuffer,l4 as GlobeTranslucencyState,Qv as GltfBufferViewLoader,Jv as GltfDracoLoader,cF as GltfGpmLoader,Aw as GltfGpmLocal,ew as GltfImageLoader,tw as GltfIndexBufferLoader,iw as GltfJsonLoader,Lg as GltfLoader,su as GltfLoaderUtil,dF as GltfMeshPrimitiveGpmLoader,eF as GltfStructuralMetadataLoader,aw as GltfTextureLoader,cw as GltfVertexBufferLoader,iCe as GoogleEarthEnterpriseImageryProvider,uz as GoogleEarthEnterpriseMapsProvider,$y as GoogleEarthEnterpriseMetadata,II as GoogleEarthEnterpriseTerrainData,_ge as GoogleEarthEnterpriseTerrainProvider,mU as GoogleEarthEnterpriseTileInformation,yge as GoogleGeocoderService,GE as GoogleMaps,FV as GpxDataSource,N_ as GregorianDate,oCe as GridImageryProvider,CD as GridMaterialProperty,jn as GroundGeometryUpdater,ZT as GroundPolylineGeometry,Rh as GroundPolylinePrimitive,hl as GroundPrimitive,nD as GroupMetadata,jd as HeadingPitchRange,qa as HeadingPitchRoll,w1 as Heap,Xe as HeightReference,Qd as HeightmapEncoding,fc as HeightmapTerrainData,CI as HeightmapTessellator,A3 as HermitePolynomialApproximation,Ex as HermiteSpline,Xv as HilbertOrder,oG as HomeButton,nG as HomeButtonViewModel,bi as HorizontalOrigin,hAe as I3SBuildingSceneLayerExplorer,sG as I3SBuildingSceneLayerExplorerViewModel,qm as I3SDataProvider,d8 as I3SDecoder,h8 as I3SFeature,p8 as I3SField,LP as I3SGeometry,MS as I3SLayer,NP as I3SNode,b8 as I3SStatistics,T8 as I3SSublayer,y8 as I3SSymbology,EF as I3dmLoader,TF as I3dmParser,dCe as ITwinData,Hf as ITwinPlatform,xU as Iau2000Orientation,N1 as Iau2006XysData,CT as Iau2006XysSample,bU as IauOrientationAxes,yU as IauOrientationParameters,hC as ImageBasedLighting,VF as ImageBasedLightingPipelineStage,nx as ImageMaterialProperty,jI as Imagery,pc as ImageryLayer,Pz as ImageryLayerCollection,Lm as ImageryLayerFeatureInfo,Nl as ImageryProvider,Jn as ImageryState,hw as Implicit3DTileContent,Kv as ImplicitAvailabilityBitstream,Zv as ImplicitMetadataView,ss as ImplicitSubdivisionScheme,EC as ImplicitSubtree,e8 as ImplicitSubtreeCache,uN as ImplicitSubtreeMetadata,CA as ImplicitTileCoordinates,TA as ImplicitTileset,ke as IndexDatatype,lG as InfoBox,aG as InfoBoxViewModel,bc as InspectorShared,as as InstanceAttributeSemantic,e2 as InstancingPipelineStage,Lge as InterpolationAlgorithm,Zh as InterpolationType,jt as Intersect,ti as IntersectionTests,Xy as Intersections2D,Xa as Interval,sP as InvertClassification,Uh as Ion,Jy as IonGeocodeProviderType,WE as IonGeocoderService,a0 as IonImageryProvider,of as IonResource,c0 as IonWorldImageryStyle,Ge as Iso8601,f4 as JobScheduler,ec as JobType,Og as JsonMetadataTable,K as JulianDate,Z1 as KTX2Transcoder,ya as KeyboardEventModifier,no as KeyframeNode,BV as KmlCamera,ZV as KmlDataSource,kV as KmlLookAt,UV as KmlTour,HV as KmlTourFlyTo,GV as KmlTourWait,Nx as Label,kp as LabelCollection,Lh as LabelGraphics,Zo as LabelStyle,hk as LabelVisualizer,E3 as LagrangePolynomialApproximation,qi as LeapSecond,mCe as Light,Np as LightingModel,C2 as LightingPipelineStage,LA as LinearApproximation,Ax as LinearSpline,_l as ManagedArray,Mu as MapMode2D,Fge as MapProjection,fz as MapboxImageryProvider,_Ce as MapboxStyleImageryProvider,X_ as Mars3DEx,Yi as Material,lo as MaterialAppearance,E2 as MaterialPipelineStage,rr as MaterialProperty,P as Math,Pi as Matrix2,$ as Matrix3,F as Matrix4,yP as Megatexture,fF as MeshPrimitiveGpmLocal,qh as MetadataClass,Ep as MetadataClassProperty,Vt as MetadataComponentType,kn as MetadataEntity,MN as MetadataEnum,ON as MetadataEnumValue,h4 as MetadataPicking,df as MetadataPickingPipelineStage,bd as MetadataPipelineStage,lf as MetadataSchema,uw as MetadataSchemaLoader,SC as MetadataSemantic,ou as MetadataTable,dN as MetadataTableProperty,dt as MetadataType,lp as MipmapHint,em as Model,hf as Model3DTileContent,H2 as ModelAlphaOptions,IF as ModelAnimation,DF as ModelAnimationChannel,OF as ModelAnimationCollection,cu as ModelAnimationLoop,Qh as ModelAnimationState,HF as ModelArticulation,UF as ModelArticulationStage,jF as ModelClippingPlanesPipelineStage,XF as ModelClippingPolygonsPipelineStage,vx as ModelColorPipelineStage,Tn as ModelComponents,nB as ModelDrawCommand,rB as ModelDrawCommands,RF as ModelFeature,MF as ModelFeatureTable,ng as ModelGraphics,Q2 as ModelLightingOptions,t2 as ModelMatrixUpdateStage,KF as ModelNode,G2 as ModelRenderResources,i2 as ModelRuntimeNode,U2 as ModelRuntimePrimitive,aB as ModelSceneGraph,Y2 as ModelSilhouettePipelineStage,z2 as ModelSkin,Z2 as ModelSplitterPipelineStage,cB as ModelStatistics,yr as ModelType,Kt as ModelUtility,pk as ModelVisualizer,Gz as Moon,v2 as MorphTargetsPipelineStage,Bge as MorphWeightSpline,Gx as MortonOrder,BB as Multiple3DTileContent,KM as MultisampleFramebuffer,dG as NavigationHelpButton,uG as NavigationHelpButtonViewModel,kt as NearFarScalar,gCe as NeverTileDiscardPolicy,$2 as NodeRenderResources,n2 as NodeStatisticsPipelineStage,rC as NodeTransformationProperty,y4 as OIT,vU as Occluder,eo as OffsetGeometryInstanceAttribute,Uge as OpenCageGeocoderService,T0 as OpenStreetMapImageryProvider,F3 as OrderedGroundPrimitiveCollection,In as OrientedBoundingBox,an as OrthographicFrustum,Wr as OrthographicOffCenterFrustum,zge as Packable,Hge as PackableForInterpolation,BP as Particle,bCe as ParticleBurst,CCe as ParticleEmitter,SCe as ParticleSystem,ve as Pass,Ec as PassState,ig as PathGraphics,_k as PathVisualizer,TU as PeliasGeocoderService,un as PerInstanceColorAppearance,h0 as PerformanceDisplay,pG as PerformanceWatchdog,hG as PerformanceWatchdogViewModel,Di as PerspectiveFrustum,Ml as PerspectiveOffCenterFrustum,m4 as PickDepth,x4 as PickDepthFramebuffer,b4 as PickFramebuffer,UH as PickedMetadataInfo,P4 as Picking,w2 as PickingPipelineStage,Ny as PinBuilder,Ze as PixelDatatype,ot as PixelFormat,ln as Plane,Y3 as PlaneGeometry,Z3 as PlaneGeometryUpdater,XL as PlaneGraphics,K3 as PlaneOutlineGeometry,uB as PntsLoader,QC as PntsParser,$H as PointCloud,Ng as PointCloudEyeDomeLighting,Ip as PointCloudShading,I2 as PointCloudStylingPipelineStage,aC as PointGraphics,js as PointPrimitive,TD as PointPrimitiveCollection,gk as PointVisualizer,Dg as PolygonGeometry,Hn as PolygonGeometryLibrary,ek as PolygonGeometryUpdater,Nh as PolygonGraphics,Qa as PolygonHierarchy,J3 as PolygonOutlineGeometry,ui as PolygonPipeline,Cd as Polyline,AD as PolylineArrowMaterialProperty,om as PolylineCollection,rs as PolylineColorAppearance,ED as PolylineDashMaterialProperty,vy as PolylineGeometry,xk as PolylineGeometryUpdater,SD as PolylineGlowMaterialProperty,Oc as PolylineGraphics,wa as PolylineMaterialAppearance,Kx as PolylineOutlineMaterialProperty,Li as PolylinePipeline,Tk as PolylineVisualizer,tk as PolylineVolumeGeometry,am as PolylineVolumeGeometryLibrary,ik as PolylineVolumeGeometryUpdater,cC as PolylineVolumeGraphics,nk as PolylineVolumeOutlineGeometry,Mh as PositionProperty,uy as PositionPropertyArray,po as PostProcessStage,Z4 as PostProcessStageCollection,Nu as PostProcessStageComposite,Kf as PostProcessStageLibrary,Xf as PostProcessStageSampleMode,gS as PostProcessStageTextureCache,uF as PpeMetadata,kCe as PpeSource,lF as PpeTexture,On as Primitive,_u as PrimitiveCollection,BC as PrimitiveLoadPlan,FC as PrimitiveOutlineGenerator,R2 as PrimitiveOutlinePipelineStage,qT as PrimitivePipeline,J2 as PrimitiveRenderResources,Or as PrimitiveState,M2 as PrimitiveStatisticsPipelineStage,Fe as PrimitiveType,xG as ProjectionPicker,gG as ProjectionPickerViewModel,q as Property,vD as PropertyArray,LC as PropertyAttribute,$N as PropertyAttributeProperty,Jl as PropertyBag,xl as PropertyTable,Rg as PropertyTexture,ZN as PropertyTextureProperty,_s as ProviderViewModel,jge as Proxy,al as QuadraticRealPolynomial,Oz as QuadtreeOccluders,Bz as QuadtreePrimitive,Mz as QuadtreeTile,xa as QuadtreeTileLoadState,vCe as QuadtreeTileProvider,ME as QuantizedMeshTerrainData,Q1 as QuarticRealPolynomial,Le as Quaternion,wF as QuaternionSpline,yx as Queue,_n as Ray,ae as Rectangle,cE as RectangleCollisionChecker,tE as RectangleGeometry,Ws as RectangleGeometryLibrary,ok as RectangleGeometryUpdater,Fh as RectangleGraphics,fA as RectangleOutlineGeometry,Vi as ReferenceFrame,dy as ReferenceProperty,ze as RenderState,Zu as Renderbuffer,ul as RenderbufferFormat,or as Request,np as RequestErrorEvent,Cc as RequestScheduler,ei as RequestState,bs as RequestType,Ae as Resource,Si as ResourceCache,au as ResourceCacheKey,FN as ResourceCacheStatistics,Ki as ResourceLoader,gt as ResourceLoaderState,Nd as Rotation,se as RuntimeError,pg as S2Cell,ca as SDFSettings,Ra as SampledPositionProperty,Mf as SampledProperty,$t as Sampler,a_ as ScaledPositionProperty,WH as Scene,hS as SceneFramebuffer,ne as SceneMode,L2 as SceneMode2DPipelineStage,AG as SceneModePicker,TG as SceneModePickerViewModel,Ui as SceneTransforms,Q4 as SceneTransitioner,lH as ScreenSpaceCameraController,Gf as ScreenSpaceEventHandler,Cn as ScreenSpaceEventType,Ix as SelectedFeatureIdPipelineStage,wG as SelectionIndicator,SG as SelectionIndicatorViewModel,ID as SensorVolumePortionToDisplay,BT as ShaderBuilder,HM as ShaderCache,pe as ShaderDestination,QM as ShaderFunction,tn as ShaderProgram,He as ShaderSource,$M as ShaderStruct,p0 as ShadowMap,T_ as ShadowMapShader,bn as ShadowMode,ef as ShadowVolumeAppearance,xn as ShowGeometryInstanceAttribute,W0 as Simon1994PlanetaryPositions,lye as SimplePolylineGeometry,dz as SingleTileImageryProvider,F2 as SkinningPipelineStage,jH as SkyAtmosphere,qH as SkyBox,NH as SpatialNode,aF as Spdcf,Vh as SpecularEnvironmentCubeMap,wCe as SphereEmitter,uye as SphereGeometry,Qg as SphereOutlineGeometry,S3 as Spherical,ro as Spline,jr as SplitDirection,SP as Splitter,Ud as StaticGeometryColorBatch,Hd as StaticGeometryPerMaterialBatch,HD as StaticGroundGeometryColorBatch,fk as StaticGroundGeometryPerMaterialBatch,bk as StaticGroundPolylinePerMaterialBatch,GD as StaticOutlineGeometryBatch,Ut as StencilConstants,zn as StencilFunction,mt as StencilOperation,vF as SteppedSpline,Nc as Stereographic,Tx as StorageType,wD as StripeMaterialProperty,fm as StripeOrientation,aa as StructuralMetadata,Jh as StyleCommandsNeeded,DCe as StyleExpression,YH as Sun,q_ as SunLight,dH as SunPostProcess,iF as SupportedImageFormats,I8 as SvgPathBindingHandler,xi as TaskProcessor,S8 as Terrain,Pm as TerrainData,Xc as TerrainEncoding,XI as TerrainFillMesh,Jd as TerrainMesh,fC as TerrainOffsetProperty,ds as TerrainProvider,ga as TerrainQuantization,mo as TerrainState,Pt as Texture,Rx as TextureAtlas,WM as TextureCache,pi as TextureMagnificationFilter,kH as TextureManager,Zt as TextureMinificationFilter,FCe as TextureUniform,Sn as TextureWrap,Om as TileAvailability,Id as TileBoundingRegion,zB as TileBoundingS2Cell,Jg as TileBoundingSphere,ICe as TileBoundingVolume,v8 as TileCoordinatesImageryProvider,PCe as TileDiscardPolicy,gn as TileEdge,qI as TileImagery,Eb as TileMapServiceImageryProvider,NB as TileMetadata,vf as TileOrientedBoundingBox,Io as TileProviderError,Nz as TileReplacementQueue,Kn as TileSelectionResult,OCe as TileState,dB as Tileset3DTileContent,jB as TilesetMetadata,LF as TilesetPipelineStage,fye as TilingScheme,Xn as TimeConstants,iS as TimeDynamicImagery,wP as TimeDynamicPointCloud,vn as TimeInterval,Kr as TimeIntervalCollection,my as TimeIntervalCollectionPositionProperty,py as TimeIntervalCollectionProperty,qn as TimeStandard,PG as Timeline,DG as TimelineHighlightRange,IG as TimelineTrack,tO as Tipsify,Jb as ToggleButtonViewModel,g0 as Tonemapper,Q_ as TrackingReferenceFrame,Mt as Transforms,ox as TranslationRotationScale,C4 as TranslucentTileClassification,ww as TridiagonalSystemSolver,YS as TrustedServers,xS as TweenCollection,YM as UniformState,TP as UniformType,mc as UrlTemplateImageryProvider,_lo as VERSION,LG as VRButton,RG as VRButtonViewModel,pye as VRTheWorldTerrainProvider,BCe as VaryingType,bp as Vector3DTileBatch,OB as Vector3DTileClampedPolylines,MB as Vector3DTileContent,fg as Vector3DTileGeometry,vB as Vector3DTilePoints,wB as Vector3DTilePolygons,rA as Vector3DTilePolylines,_C as Vector3DTilePrimitive,w3 as VelocityOrientationProperty,_y as VelocityVectorProperty,si as VertexArray,Y_ as VertexArrayFacade,St as VertexAttributeSemantic,Pe as VertexFormat,Pr as VerticalExaggeration,k2 as VerticalExaggerationPipelineStage,Ln as VerticalOrigin,dye as VideoSynchronizer,pS as View,vAe as Viewer,RCe as ViewportQuad,Cr as Visibility,C_e as Visualizer,S_ as VoxelBoxShape,mH as VoxelCell,n8 as VoxelContent,v_ as VoxelCylinderShape,CS as VoxelEllipsoidShape,BG as VoxelInspector,NG as VoxelInspectorViewModel,Gb as VoxelPrimitive,MCe as VoxelProvider,IH as VoxelRenderResources,LCe as VoxelShape,ki as VoxelShapeType,bP as VoxelTraversal,_ye as VulkanConstants,sk as WallGeometry,iE as WallGeometryLibrary,ck as WallGeometryUpdater,og as WallGraphics,ak as WallOutlineGeometry,te as WebGLConstants,mz as WebMapServiceImageryProvider,pz as WebMapTileServiceImageryProvider,Ri as WebMercatorProjection,hs as WebMercatorTilingScheme,Ts as WindingOrder,Mw as WireframeIndexGenerator,V2 as WireframePipelineStage,O4 as _shadersAcesTonemappingStage,uH as _shadersAdditiveBlend,MI as _shadersAdjustTranslucentFS,tL as _shadersAllMaterialAppearanceFS,nL as _shadersAllMaterialAppearanceVS,R4 as _shadersAmbientOcclusionGenerate,M4 as _shadersAmbientOcclusionModulate,aL as _shadersAspectRampMaterial,Kh as _shadersAtmosphereCommon,NF as _shadersAtmosphereStageFS,FF as _shadersAtmosphereStageVS,iL as _shadersBasicMaterialAppearanceFS,oL as _shadersBasicMaterialAppearanceVS,hB as _shadersBillboardCollectionFS,mB as _shadersBillboardCollectionVS,L4 as _shadersBlackAndWhite,N4 as _shadersBloomComposite,MU as _shadersBrdfLutGeneratorFS,fH as _shadersBrightPass,F4 as _shadersBrightness,cL as _shadersBumpMapMaterial,c2 as _shadersCPUStylingStageFS,a2 as _shadersCPUStylingStageVS,lL as _shadersCheckerboardMaterial,LU as _shadersCloudCollectionFS,NU as _shadersCloudCollectionVS,FU as _shadersCloudNoiseFS,BU as _shadersCloudNoiseVS,kU as _shadersCompareAndPackTranslucentDepth,VU as _shadersCompositeOITFS,mS as _shadersCompositeTranslucentClassification,qN as _shadersComputeIrradianceFS,YN as _shadersComputeRadianceMapFS,B4 as _shadersContrastBias,XN as _shadersConvolveSpecularMapFS,KN as _shadersConvolveSpecularMapVS,f2 as _shadersCustomShaderStageFS,u2 as _shadersCustomShaderStageVS,MT as _shadersCzmBuiltins,k4 as _shadersDepthOfField,UU as _shadersDepthPlaneFS,zU as _shadersDepthPlaneVS,V4 as _shadersDepthView,NCe as _shadersDepthViewPacked,uL as _shadersDotMaterial,U4 as _shadersEdgeDetection,fL as _shadersElevationBandMaterial,dL as _shadersElevationContourMaterial,hL as _shadersElevationRampMaterial,LI as _shadersEllipsoidFS,l8 as _shadersEllipsoidSurfaceAppearanceFS,u8 as _shadersEllipsoidSurfaceAppearanceVS,NI as _shadersEllipsoidVS,G4 as _shadersFXAA,HU as _shadersFXAA3_11,mL as _shadersFadeMaterial,d2 as _shadersFeatureIdStageFS,h2 as _shadersFeatureIdStageVS,z4 as _shadersFilmicTonemapping,Mb as _shadersGaussianBlur1D,y2 as _shadersGeometryStageFS,x2 as _shadersGeometryStageVS,GU as _shadersGlobeFS,WU as _shadersGlobeVS,pL as _shadersGridMaterial,FI as _shadersGroundAtmosphere,zR as _shadersHSBToRGB,HR as _shadersHSLToRGB,kF as _shadersImageBasedLightingStageFS,ZF as _shadersInstancingStageCommon,$F as _shadersInstancingStageVS,TH as _shadersIntersectBox,bH as _shadersIntersectClippingPlanes,CH as _shadersIntersectCylinder,xH as _shadersIntersectDepth,AH as _shadersIntersectEllipsoid,gP as _shadersIntersectLongitude,TS as _shadersIntersection,yH as _shadersIntersectionUtils,QF as _shadersLegacyInstancingStageVS,W4 as _shadersLensFlare,T2 as _shadersLightingStageFS,A2 as _shadersMaterialStageFS,DH as _shadersMegatexture,m2 as _shadersMetadataStageFS,p2 as _shadersMetadataStageVS,WF as _shadersModelClippingPlanesStageFS,YF as _shadersModelClippingPolygonsStageFS,qF as _shadersModelClippingPolygonsStageVS,GF as _shadersModelColorStageFS,oB as _shadersModelFS,W2 as _shadersModelSilhouetteStageFS,j2 as _shadersModelSilhouetteStageVS,X2 as _shadersModelSplitterStageFS,iB as _shadersModelVS,j4 as _shadersModifiedReinhardTonemapping,S2 as _shadersMorphTargetsStageVS,q4 as _shadersNightVision,_L as _shadersNormalMapMaterial,wH as _shadersOctree,Lu as _shadersPassThrough,Pb as _shadersPassThroughDepth,H4 as _shadersPbrNeutralTonemapping,vL as _shadersPerInstanceColorAppearanceFS,wL as _shadersPerInstanceColorAppearanceVS,GT as _shadersPerInstanceFlatColorAppearanceFS,DL as _shadersPerInstanceFlatColorAppearanceVS,pF as _shadersPointCloudEyeDomeLighting,D2 as _shadersPointCloudStylingStageVS,qx as _shadersPointPrimitiveCollectionFS,_3 as _shadersPointPrimitiveCollectionVS,jN as _shadersPolygonSignedDistanceFS,gL as _shadersPolylineArrowMaterial,qL as _shadersPolylineColorAppearanceVS,tf as _shadersPolylineCommon,yL as _shadersPolylineDashMaterial,$T as _shadersPolylineFS,xL as _shadersPolylineGlowMaterial,YL as _shadersPolylineMaterialAppearanceVS,bL as _shadersPolylineOutlineMaterial,HL as _shadersPolylineShadowVolumeFS,GL as _shadersPolylineShadowVolumeMorphFS,WL as _shadersPolylineShadowVolumeMorphVS,jL as _shadersPolylineShadowVolumeVS,TB as _shadersPolylineVS,O2 as _shadersPrimitiveOutlineStageFS,P2 as _shadersPrimitiveOutlineStageVS,mM as _shadersRGBToHSB,pM as _shadersRGBToHSL,_M as _shadersRGBToXYZ,Y4 as _shadersReinhardTonemapping,jU as _shadersReprojectWebMercatorFS,qU as _shadersReprojectWebMercatorVS,TL as _shadersRimLightingMaterial,Ow as _shadersSelectedFeatureIdStageCommon,Cv as _shadersShadowVolumeAppearanceFS,RL as _shadersShadowVolumeAppearanceVS,$0 as _shadersShadowVolumeFS,X4 as _shadersSilhouette,N2 as _shadersSkinningStageVS,BI as _shadersSkyAtmosphereCommon,YU as _shadersSkyAtmosphereFS,XU as _shadersSkyAtmosphereVS,KU as _shadersSkyBoxFS,ZU as _shadersSkyBoxVS,CL as _shadersSlopeRampMaterial,AL as _shadersStripeMaterial,$U as _shadersSunFS,QU as _shadersSunTextureFS,JU as _shadersSunVS,rL as _shadersTexturedMaterialAppearanceFS,sL as _shadersTexturedMaterialAppearanceVS,PB as _shadersVector3DTileClampedPolylinesFS,IB as _shadersVector3DTileClampedPolylinesVS,DB as _shadersVector3DTilePolylinesVS,Yv as _shadersVectorTileVS,B2 as _shadersVerticalExaggerationStageVS,ez as _shadersViewportQuadFS,ST as _shadersViewportQuadVS,_H as _shadersVoxelFS,pH as _shadersVoxelUtils,gH as _shadersVoxelVS,SL as _shadersWater,EL as _shadersWaterMaskMaterial,UM as _shadersXYZToRGB,rR as _shadersacesTonemapping,sR as _shadersalphaWeight,aR as _shadersantialias,cR as _shadersapplyHSBShift,lR as _shadersapproximateSphericalCoordinates,uR as _shadersapproximateTanh,fR as _shadersbackFacing,dR as _shadersbranchFreeTernary,hR as _shaderscascadeColor,mR as _shaderscascadeDistance,pR as _shaderscascadeMatrix,_R as _shaderscascadeWeights,gR as _shadersclipPolygons,yR as _shaderscolumbusViewMorph,xR as _shaderscomputeAtmosphereColor,bR as _shaderscomputeGroundAtmosphereScattering,TR as _shaderscomputePosition,CR as _shaderscomputeScattering,EH as _shadersconvertUvToBox,SH as _shadersconvertUvToCylinder,vH as _shadersconvertUvToEllipsoid,AR as _shaderscosineAndSine,ER as _shadersdecompressTextureCoordinates,hO as _shadersdegreesPerRadian,SR as _shadersdepthClamp,mO as _shadersdepthRange,$O as _shadersdepthRangeStruct,vR as _shaderseastNorthUpToEyeCoordinates,wR as _shadersellipsoidContainsPoint,DR as _shadersellipsoidTextureCoordinates,pO as _shadersepsilon1,_O as _shadersepsilon2,gO as _shadersepsilon3,yO as _shadersepsilon4,xO as _shadersepsilon5,bO as _shadersepsilon6,TO as _shadersepsilon7,IR as _shadersequalsEpsilon,PR as _shaderseyeOffset,OR as _shaderseyeToWindowCoordinates,RR as _shadersfastApproximateAtan,MR as _shadersfog,LR as _shadersgammaCorrect,NR as _shadersgeodeticSurfaceNormal,FR as _shadersgetDefaultMaterial,BR as _shadersgetDynamicAtmosphereLightDirection,kR as _shadersgetLambertDiffuse,VR as _shadersgetSpecular,UR as _shadersgetWaterNoise,GR as _shadershue,CO as _shadersinfinity,WR as _shadersinverseGamma,jR as _shadersisEmpty,qR as _shadersisFull,YR as _shaderslatitudeToWebMercatorFraction,KR as _shaderslineDistance,XR as _shaderslinearToSrgb,ZR as _shadersluminance,QO as _shadersmaterial,JO as _shadersmaterialInput,$R as _shadersmaximumComponent,QR as _shadersmetersPerPixel,eR as _shadersmodelMaterial,JR as _shadersmodelToWindowCoordinates,tR as _shadersmodelVertexOutput,eM as _shadersmultiplyWithColorBalance,tM as _shadersnearFarScalar,nM as _shadersoctDecode,AO as _shadersoneOverPi,EO as _shadersoneOverTwoPi,iM as _shaderspackDepth,SO as _shaderspassCesium3DTile,vO as _shaderspassCesium3DTileClassification,wO as _shaderspassCesium3DTileClassificationIgnoreShow,DO as _shaderspassClassification,IO as _shaderspassCompute,PO as _shaderspassEnvironment,OO as _shaderspassGlobe,RO as _shaderspassOpaque,MO as _shaderspassOverlay,LO as _shaderspassTerrainClassification,NO as _shaderspassTranslucent,FO as _shaderspassVoxels,oM as _shaderspbrLighting,rM as _shaderspbrNeutralTonemapping,sM as _shadersphong,BO as _shaderspi,kO as _shaderspiOverFour,VO as _shaderspiOverSix,UO as _shaderspiOverThree,zO as _shaderspiOverTwo,aM as _shadersplaneDistance,cM as _shaderspointAlongRay,HO as _shadersradiansPerDegree,nR as _shadersray,lM as _shadersrayEllipsoidIntersectionInterval,iR as _shadersraySegment,uM as _shadersraySphereIntersectionInterval,fM as _shadersreadDepth,dM as _shadersreadNonPerspective,hM as _shadersreverseLogDepth,gM as _shadersround,yM as _shaderssaturation,GO as _shaderssceneMode2D,WO as _shaderssceneMode3D,jO as _shaderssceneModeColumbusView,qO as _shaderssceneModeMorphing,xM as _shadersshadowDepthCompare,oR as _shadersshadowParameters,bM as _shadersshadowVisibility,TM as _shaderssignNotZero,YO as _shaderssolarRadius,CM as _shaderssphericalHarmonics,AM as _shaderssrgbToLinear,EM as _shaderstangentToEyeSpaceMatrix,SM as _shaderstextureCube,XO as _shadersthreePiOver2,vM as _shaderstransformPlane,wM as _shaderstranslateRelativeToEye,DM as _shaderstranslucentPhong,IM as _shaderstranspose,KO as _shaderstwoPi,PM as _shadersunpackClippingExtents,OM as _shadersunpackDepth,RM as _shadersunpackFloat,MM as _shadersunpackUint,LM as _shadersvalueTransform,NM as _shadersvertexLogDepth,ZO as _shaderswebMercatorMaxLatitude,FM as _shaderswindowToEyeCoordinates,BM as _shaderswriteDepthClamp,kM as _shaderswriteLogDepth,VM as _shaderswriteNonPerspective,AN as addBuffer,hN as addDefaults,bN as addExtensionsRequired,_d as addExtensionsUsed,hx as addPipelineExtras,Us as addToArray,A1 as appendForwardSlash,bo as arrayRemoveDuplicates,wT as barycentricCoordinates,Ro as binarySearch,rn as buildModuleUrl,RH as buildVoxelDrawCommands,We as clone,Ct as combine,KE as computeFlyToLocationForRectangle,eA as createBillboardPointCallback,wn as createCommand,G8 as createDefaultImageryProviderViewModels,W8 as createDefaultTerrainProviderViewModels,XTe as createElevationBandMaterial,ZTe as createGooglePhotorealistic3DTileset,Gn as createGuid,Lo as createMaterialPropertyDescriptor,$Te as createOsmBuildingsAsync,le as createPropertyDescriptor,pl as createRawPropertyDescriptor,QTe as createTangentSpaceDebugPrimitive,VCe as createTaskProcessorWorker,W1 as createUniform,j1 as createUniformArray,aU as createWorldBathymetryAsync,l0 as createWorldImageryAsync,FE as createWorldTerrainAsync,cU as decodeGoogleEarthEnterpriseData,RB as decodeVectorPolylinePositions,y as defaultValue,ql as defer,l as defined,zM as demodernizeShader,Cs as deprecationWarning,ue as destroyObject,Mme as exportKml,TC as findAccessorMinMax,aA as findContentMetadata,cA as findGroupMetadata,FB as findTileMetadata,nw as forEachTextureInMaterial,m_ as formatError,hQ as freezeRenderState,tp as getAbsoluteUri,ru as getAccessorByteStride,E1 as getBaseUri,sf as getBinaryAccessor,XH as getClipAndStyleCode,r0 as getClippingFunction,bg as getComponentReader,Mn as getElement,pT as getExtensionFromUri,ly as getFilenameFromUri,hU as getImageFromTypedArray,xh as getImagePixels,Fo as getJsonFromTypedArray,Hh as getMagic,VH as getMetadataClassProperty,zH as getMetadataProperty,tu as getStringFromTypedArray,Ei as getTimestamp,li as hasExtension,rg as heightReferenceOnEntityPropertyChanged,Zc as isBitSet,_T as isBlobUri,R0 as isCrossOriginUrl,B_ as isDataUri,yh as isLeapYear,be as knockout,BS as knockout_3_5_1,D8 as knockout_es5,gT as loadAndExecuteScript,ZM as loadCubeMap,xC as loadImageFromTypedArray,Yl as loadKTX2,e0 as mergeSort,xN as moveTechniqueRenderStates,TN as moveTechniquesToExtension,cf as numberOfComponentsForType,yT as objectToQuery,Tt as oneTimeWarning,Fg as parseBatchTable,JN as parseFeatureMetadataLegacy,_N as parseGlb,v1 as parseResponseHeaders,QN as parseStructuralMetadata,Fw as pickModel,Gge as pointInsideTriangle,jp as preprocess3DTileContent,OH as processVoxelProperties,ju as queryToObject,EN as readAccessorPacked,CC as removeExtension,pN as removeExtensionsRequired,bC as removeExtensionsUsed,yN as removePipelineExtras,CN as removeUnusedElements,px as resizeImageToNextPowerOfTwo,wU as sampleTerrain,qE as sampleTerrainMostDetailed,fT as scaleToGeodeticSurface,XE as srgbToLinear,ML as subdivideArray,ka as subscribeAndEvaluate,vN as updateAccessorComponentTypes,DN as updateVersion,_r as usesExtension,wAe as viewerCesium3DTilesInspectorMixin,DAe as viewerCesiumInspectorMixin,PAe as viewerDragDropMixin,OAe as viewerPerformanceWatchdogMixin,MAe as viewerVoxelInspectorMixin,gye as webGLConstantToGlslType,RU as wrapFunction,nA as writeTextToCanvas}; diff --git a/public/lib/mars3d/mars3d.css b/public/lib/mars3d/mars3d.css index d70255146..f288aeab8 100644 --- a/public/lib/mars3d/mars3d.css +++ b/public/lib/mars3d/mars3d.css @@ -2,7 +2,7 @@ * Mars3D三维可视化平台 mars3d * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:57 + * 编译日期:2024-12-03 18:04 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ diff --git a/public/lib/mars3d/mars3d.d.ts b/public/lib/mars3d/mars3d.d.ts index ae01cba8d..b70849dfc 100644 --- a/public/lib/mars3d/mars3d.d.ts +++ b/public/lib/mars3d/mars3d.d.ts @@ -3,7 +3,7 @@ * Mars3D三维可视化平台 mars3d * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:57 + * 编译日期:2024-12-03 18:04 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ @@ -3761,6 +3761,13 @@ declare class MarsArray { * @returns 数组 */ splitArr(num: number): any[]; + /** + * 遍历每一个对象并将其作为参数传递给回调函数 + * @param method - 回调方法 + * @param [context] - 侦听器的上下文(this关键字将指向的对象)。 + * @param [reverse] - 是否倒序执行 + */ + forEach(method: (...params: any[]) => any, context?: any, reverse?: boolean): void; /** * 从集合中移除键值对 * @param key - 主键 @@ -3768,12 +3775,12 @@ declare class MarsArray { */ remove(key: string | number): boolean; /** - * 遍历每一个对象并将其作为参数传递给回调函数 - * @param method - 回调方法 - * @param [context] - 侦听器的上下文(this关键字将指向的对象)。 - * @param [reverse] - 是否倒序执行 + * 根据筛选方法从集合中移除部分对象 + * @param filterFun - 数据筛选方法,方法体内返回false时排除数据 filter:function(feature){return true} + * @param [removeFun] - 移除后的回调 + * @returns 是否移除 */ - forEach(method: (...params: any[]) => any, context?: any, reverse?: boolean): void; + removeByFilter(filterFun: (...params: any[]) => any, removeFun?: (...params: any[]) => any): boolean; /** * 清空集合 */ @@ -4022,6 +4029,11 @@ declare class BaseEffect extends BaseThing { * }) */ availability: Cesium.TimeIntervalCollection; + /** + * 获取时间范围的简单对象数组(转为相对map.clock.startTime的相对数字) + * @returns 时间对象列表 + */ + getAvailabilityJson(): any; /** * 获取指定时间下的时序对应的 显示隐藏 状态 * @param time - 指定时间 @@ -4802,6 +4814,11 @@ declare class BaseGraphic extends BaseClass { * }) */ availability: Cesium.TimeIntervalCollection; + /** + * 获取时间范围的简单对象数组(转为相对map.clock.startTime的相对数字) + * @returns 时间对象列表 + */ + getAvailabilityJson(): any; /** * 获取指定时间下的时序对应的 显示隐藏 状态 * @param time - 指定时间 @@ -21573,6 +21590,11 @@ declare class BaseLayer extends BaseClass { * }) */ availability: Cesium.TimeIntervalCollection; + /** + * 获取时间范围的简单对象数组(转为相对map.clock.startTime的相对数字) + * @returns 时间对象列表 + */ + getAvailabilityJson(): any; /** * 获取指定时间下的时序对应的 显示隐藏 状态 * @param time - 指定时间 @@ -23501,9 +23523,15 @@ declare class GraphicLayer extends BaseGraphicLayer { /** * 参数方式添加矢量对象, 同addGraphic * @param json - 矢量数据构造参数,可以用toJSON方法导出的值; 传string时对应的值存放的json路径地址。 + * @param [options] - 加载控制参数,包含: + * @param [options.clear = false] - 是否清除图层已有数据 + * @param [options.flyTo = false] - 是否加载完成后进行飞行到数据区域 * @returns 绘制创建完成的Promise 添加后的Graphic对象 */ - loadJSON(json: any | any | string): Promise<BaseGraphic[] | any>; + loadJSON(json: any | any | string, options?: { + clear?: boolean; + flyTo?: boolean; + }): Promise<BaseGraphic[] | any>; /** * 加载转换GeoJSON格式规范数据为Graphic后加载到图层中。 * @param geojson - GeoJSON格式规范数据 @@ -29114,10 +29142,15 @@ declare class Map extends BaseClass { /** * 设置Map所有参数构造参数 【测试中功能,可能部分参数无法更新,欢迎反馈问题 】 * @param newOptions - 新的构造参数 - * @param [isMerge = true] - 是否合并参数,如需完整覆盖,可以传入fasle + * @param [funOptions] - 方法参数 + * @param [funOptions.isMerge = true] - 是否合并参数,如需完整覆盖,可以传入fasle + * @param [funOptions.filterLayer] - 过滤图层,方法体内返回false时排除图层不更新 filter:function(feature){return true} * @returns 当前对象本身,可以链式调用 */ - setOptions(newOptions: any, isMerge?: boolean): Map; + setOptions(newOptions: any, funOptions?: { + isMerge?: boolean; + filterLayer?: (...params: any[]) => any; + }): Map; /** * 设置Scene场景参数 * @param options - 参数 @@ -29233,9 +29266,13 @@ declare class Map extends BaseClass { /** * 重新设置layers图层,对options.layers重新赋值 * @param arr - 可以叠加显示的图层配置 + * @param [funOptions] - 方法参数 + * @param [funOptions.filter] - 过滤图层,方法体内返回false时排除图层不更新 filter:function(feature){return true} * @returns 图层数组 */ - setLayersOptions(arr: Map.layerOptions[]): BaseLayer[]; + setLayersOptions(arr: Map.layerOptions[], funOptions?: { + filter?: (...params: any[]) => any; + }): BaseLayer[]; /** * 获取图层ID值,按顺序取值。 * 没有id的图层,会自动使用本方法进行id赋值处理 @@ -29977,10 +30014,13 @@ declare class Map extends BaseClass { */ closeSmallTooltip(): Map; /** - * 获取当前地图下【图层、矢量对象、特效】绑定的所有availability列表 - * @returns availability时序列表 + * 获取当前地图下时序相关列表 + * 1.subtitles:字幕控件列表; + * 2.task:任务列表; + * 3.availability:所有 图层、矢量对象、特效 绑定的availability; + * @returns 时序列表返回对象 */ - getAvailabilityList(): AvailabilityItem[]; + getTimeTaskList(): TimeTaskListResult; /** * 移除所有加载的图层、控件、对象。慎用 * @param [hasDestroy = true] - 是否释放对象 @@ -30019,23 +30059,41 @@ declare class Map extends BaseClass { } /** - * 时序列表 - * @property [origin] - 来源:layer、graphic、effect + * 时序列表单个值 + * @property [type] - 类型:subtitles、task、availability + * @property [start] - 任务开始时间 + * @property [duration] - 任务时长 + * @property [stop] - 任务结束时间 * @property [name] - 对象的名称 - * @property [type] - effect、control时 对应的类型 - * @property [id] - layer、graphic时 对应的对象ID - * @property [layerId] - graphic时 对应的图层ID - * @property [availability] - 时序数组对象 - * @property [target] - mars3d对应对象 - */ -declare type AvailabilityItem = { - origin?: string; - name?: string; + * @property [listIndex] - subtitles、task时所在数组中的顺序,和多个availability时的数组中顺序 + * @property [origin] - availability时的来源:layer、graphic、effect + * @property [graphicId] - graphic时 对应的对象ID + * @property [layerId] - graphic、layer时 对应的图层ID + * @property [effectType] - effect时 对应的类型 + * @property [taskType] - task时 对应的类型 + */ +declare type TimeTaskItem = { type?: string; - id?: number; + start?: number; + duration?: number; + stop?: number; + name?: string; + listIndex?: number; + origin?: string; + graphicId?: number; layerId?: number; - availability?: any; - target?: any; + effectType?: string; + taskType?: string; +}; + +/** + * 时序列表返回对象 + * @property [list] - 时序列表 + * @property [duration] - 总时长秒数 + */ +declare type TimeTaskListResult = { + list?: TimeTaskItem[]; + duration?: number; }; declare namespace Map { @@ -40579,16 +40637,18 @@ declare namespace Util { * 指定时间范围内显示对象所用到的TimeIntervalCollection对象 * SDK内 graphic.availability 等赋值时会自动调用该方法转换为cesium本身对象。 * @param availability - 指定时间范围 - * @param [clock] - 时钟对象,如果传数字秒数时,需要取 clock.startTime + * @param [startTime] - 开始对象,如果传数字秒数时,是相当于startTime的增加秒数 * @returns JulianDate时间 */ - function getAvailability(availability: Cesium.TimeIntervalCollection | Cesium.TimeInterval | any[] | any, clock?: Cesium.Clock): Cesium.TimeIntervalCollection; + function getAvailability(availability: Cesium.TimeIntervalCollection | Cesium.TimeInterval | any[] | any, startTime?: Cesium.JulianDate): Cesium.TimeIntervalCollection; /** * 获取时间范围的简单对象数组,用于对象的编辑 * @param availability - 指定时间范围 - * @returns JulianDate时间 + * @param [toNum] - 是否转为数字秒数 + * @param [startTime] - 如果toNum取数字秒数时,是相当于startTime的增加秒数 + * @returns 时间对象列表 */ - function getAvailabilityJson(availability: Cesium.TimeIntervalCollection): any; + function getAvailabilityJson(availability: Cesium.TimeIntervalCollection, toNum?: boolean, startTime?: Cesium.JulianDate): any; /** * 取属性值,简化Cesium内的属性,去掉getValue等,取最简的键值对。 * 方便popup、tooltip等构造方法使用 @@ -40910,10 +40970,12 @@ declare namespace Util { * @param timeNum - 时长 * @param [options] - 参数: * @param [options.getLangText] - 获取文本的对应方法 + * @param [options.digits = 0] - 小数位数 * @returns 格式化字符串,如XX小时XX分钟 */ function formatTime(timeNum: number, options?: { getLangText?: (...params: any[]) => any; + digits?: number; }): string; /** * 请求服务返回JSON结果 diff --git a/public/lib/mars3d/mars3d.js b/public/lib/mars3d/mars3d.js index e43acd7fd..6caedf775 100644 --- a/public/lib/mars3d/mars3d.js +++ b/public/lib/mars3d/mars3d.js @@ -2,7 +2,7 @@ * Mars3D三维可视化平台 mars3d * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:57 + * 编译日期:2024-12-03 18:04 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ @@ -11,5 +11,5 @@ typeof define === 'function' && define.amd ? define(['exports', 'mars3d-cesium', '@turf/turf'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.mars3d = {}, global.Cesium, global.turf)); })(this, (function (exports, Cesium, turf) { -'use strict';(function(_0x39815a,_0x422f4b){const _0x56804f={_0x1e0e2b:0x46e,_0x239122:0x302,_0x21954d:0x1be,_0x39d65f:0x55a,_0x5cff91:0x71a,_0x211013:0xd56,_0x20ea7a:0x11ea},_0x57d865={_0x456b0e:0x4e};function _0x5bad01(_0x30e4a3,_0x24c47c){return _0x536c(_0x30e4a3-0x244,_0x24c47c);}function _0x17a52c(_0x28852c,_0x338cd4){return _0x536c(_0x338cd4-_0x57d865._0x456b0e,_0x28852c);}const _0xdb29de=_0x39815a();while(!![]){try{const _0xd8fdd0=-parseInt(_0x17a52c(0x655,0xbcb))/0x1+parseInt(_0x17a52c(-0x454,0x623))/0x2*(-parseInt(_0x5bad01(0x1556,0xcdb))/0x3)+parseInt(_0x5bad01(_0x56804f._0x1e0e2b,_0x56804f._0x239122))/0x4+parseInt(_0x5bad01(0x65f,0xecc))/0x5*(-parseInt(_0x17a52c(-_0x56804f._0x21954d,_0x56804f._0x39d65f))/0x6)+-parseInt(_0x5bad01(_0x56804f._0x5cff91,-0xe7))/0x7+parseInt(_0x5bad01(_0x56804f._0x211013,0xc91))/0x8+parseInt(_0x5bad01(_0x56804f._0x20ea7a,0x1b97))/0x9;if(_0xd8fdd0===_0x422f4b)break;else _0xdb29de['push'](_0xdb29de['shift']());}catch(_0xbcbcf){_0xdb29de['push'](_0xdb29de['shift']());}}}(_0x2892,0x24743));function _interopNamespace(_0x3be5f6){const _0x4ce005={_0x5f27bc:0xdfd};if(_0x3be5f6&&_0x3be5f6['__esModule'])return _0x3be5f6;var _0xed5762=Object['create'](null);return _0x3be5f6&&Object['keys'](_0x3be5f6)['forEach'](function(_0x24edee){function _0x44bffc(_0xdd3b7b,_0x54343b){return _0x536c(_0xdd3b7b-0x3c1,_0x54343b);}if(_0x24edee!=='default'){var _0x59164b=Object['getOwnPropertyDescriptor'](_0x3be5f6,_0x24edee);Object['defineProperty'](_0xed5762,_0x24edee,_0x59164b[_0x44bffc(0x10a0,_0x4ce005._0x5f27bc)]?_0x59164b:{'enumerable':!![],'get':function(){return _0x3be5f6[_0x24edee];}});}}),_0xed5762['default']=_0x3be5f6,_0xed5762;}var Cesium__namespace=_interopNamespace(Cesium),turf__namespace=_interopNamespace(turf);!(Cesium__namespace!==null&&Cesium__namespace!==void 0x0&&Cesium__namespace['Viewer'])&&console['error']('请引入\x20mars3d-cesium\x20库',Cesium__namespace);if(Cesium__namespace['VERSION']){const minVer=0x77,version=Number(Cesium__namespace[_0x7afdbe(0x1510,0x1945)][_0x7afdbe(0x123d,0x10c9)](Cesium__namespace['VERSION'][_0x7afdbe(0x127d,0x7dd)]('.')+0x1));version<minVer&&console['error'](_0x7afdbe(-0x20d,0x846)+minVer+_0x54a7f1(0x1000,0x9eb),version);}const getUrlComponent_old=Cesium__namespace[_0x54a7f1(0x1535,0xc2a)]['prototype']['getUrlComponent'];Cesium__namespace['Resource'][_0x54a7f1(0x610,-0x182)][_0x7afdbe(-0x34b,0x77a)]=function(_0x5b2088,_0x26b69f){const _0x698a11={_0x59d862:0x5bc};function _0x1daca8(_0x219f2c,_0x541bef){return _0x7afdbe(_0x219f2c,_0x541bef- -0xf8);}let _0x1fcd81=getUrlComponent_old['bind'](this)(_0x5b2088,_0x26b69f);function _0x5f5152(_0x70d2cd,_0x443b35){return _0x7afdbe(_0x443b35,_0x70d2cd- -_0x698a11._0x59d862);}return Cesium__namespace['Resource']['ReplaceMars3DUrl']&&(_0x1fcd81=Cesium__namespace['Resource']['ReplaceMars3DUrl']['bind'](this)(_0x1fcd81)),Cesium__namespace[_0x1daca8(0x1376,0x166b)][_0x1daca8(0x49c,0xc6e)]&&(_0x1fcd81=Cesium__namespace['Resource']['ReplaceUrl']['bind'](this)(_0x1fcd81)),this['_last_url']=_0x1fcd81,_0x1fcd81;};const loadImageElement_old=Cesium__namespace[_0x7afdbe(0x1b37,0x1763)][_0x54a7f1(0xa91,0x6e5)][_0x54a7f1(0x10af,0x8d2)];Cesium__namespace[_0x54a7f1(0x1535,0x19c4)]['_Implementations'][_0x54a7f1(0x10af,0x1969)]=function(_0x1e9d1e,_0x10089e,_0x2db7b7){const _0x5b7b83={_0x5c31c2:0x1019};_0x1e9d1e['startsWith'](_0x354d0b(_0x5b7b83._0x5c31c2,0x5d1))&&(_0x10089e=!![]);function _0x354d0b(_0x9aea2e,_0x5024b6){return _0x54a7f1(_0x9aea2e- -0x1e9,_0x5024b6);}return loadImageElement_old(_0x1e9d1e,_0x10089e,_0x2db7b7);},Cesium__namespace['Resource']['prototype']['cancelRequest']=function(){const _0x2f7ae3={_0x454674:0x1377},_0x354631={_0x178ff2:0x2e0},_0xe1aa13={_0x1a9a7f:0x485};if(Cesium__namespace[_0x566d3f(0x13a1,_0x2f7ae3._0x454674)](this['request']['deferred'])){const _0x33b580=this['request']['deferred'];this['request']['deferred']=undefined,_0x33b580['reject']();}function _0x123e13(_0x5a0e34,_0x545b80){return _0x7afdbe(_0x545b80,_0x5a0e34- -_0xe1aa13._0x1a9a7f);}function _0x566d3f(_0x472f1d,_0x2cfc3f){return _0x54a7f1(_0x472f1d- -_0x354631._0x178ff2,_0x2cfc3f);}Cesium__namespace['defined'](this['request'][_0x566d3f(0xdc,0xc1)])&&this['request']['cancelFunction']();};const union_old=Cesium__namespace['Rectangle'][_0x54a7f1(0x834,0x2b9)];Cesium__namespace['Rectangle']['union']=function(_0x6ee204,_0x3bba7f,_0x37d791){const _0x4960ef={_0x3c5cc2:0x114,_0x34000d:0x4a2,_0x4fdfe7:0x7e6,_0xaa7e6f:0x1b8,_0x2ccd22:0x16c6,_0x52a779:0x114},_0x2371e3={_0x12c285:0xa5},_0x590022={_0x1e8861:0x377};function _0x5cd5b2(_0x48f14a,_0x3342dc){return _0x7afdbe(_0x3342dc,_0x48f14a- -_0x590022._0x1e8861);}_0x37d791=union_old(_0x6ee204,_0x3bba7f,_0x37d791);function _0x474698(_0x2e74ff,_0x35ba10){return _0x54a7f1(_0x35ba10- -_0x2371e3._0x12c285,_0x2e74ff);}return Cesium__namespace['defined'](_0x6ee204['maxHeight'])?(_0x37d791[_0x5cd5b2(_0x4960ef._0x3c5cc2,_0x4960ef._0x34000d)]=_0x6ee204[_0x474698(-_0x4960ef._0x4fdfe7,_0x4960ef._0xaa7e6f)],Cesium__namespace['defined'](_0x3bba7f[_0x5cd5b2(0x114,-0x697)])&&(_0x37d791['maxHeight']=Math['max'](_0x37d791['maxHeight'],_0x3bba7f[_0x474698(-0x6b5,_0x4960ef._0xaa7e6f)]))):Cesium__namespace[_0x5cd5b2(0x1538,_0x4960ef._0x2ccd22)](_0x3bba7f[_0x5cd5b2(_0x4960ef._0x52a779,0x7f6)])&&(_0x37d791[_0x5cd5b2(_0x4960ef._0x52a779,0x70f)]=_0x3bba7f['maxHeight']),_0x37d791;};const getValueInReferenceFrame_old=Cesium__namespace['ConstantPositionProperty'][_0x7afdbe(0x61e,0x83e)]['getValueInReferenceFrame'];Cesium__namespace[_0x7afdbe(0x1c75,0x197b)]['prototype']['getValueInReferenceFrame']=function(_0x5b38df,_0x4f98f8,_0x260dfa){const _0x264e96={_0x520dc8:0x12d6},_0x1606a1={_0xd62f3f:0x52c},_0x772f9e={_0x17b66a:0x10a};!Cesium__namespace[_0x13e2c2(0x178b,_0x264e96._0x520dc8)](_0x5b38df)&&(_0x5b38df=Cesium__namespace['JulianDate']['now']());function _0x13e2c2(_0x45b017,_0xd2a190){return _0x54a7f1(_0x45b017-_0x772f9e._0x17b66a,_0xd2a190);}function _0x10c765(_0x536a6,_0x3b0514){return _0x7afdbe(_0x3b0514,_0x536a6- -_0x1606a1._0xd62f3f);}return getValueInReferenceFrame_old[_0x10c765(-0x2b,-0x4f2)](this)(_0x5b38df,_0x4f98f8,_0x260dfa);},Cesium__namespace['VelocityOrientationProperty']['prototype'][_0x7afdbe(0x3d2,0xd20)]=function(_0x48b2d9,_0x299cf2){const _0x23aaec={_0x1ed233:0xb58,_0x38f9f6:0x13b0,_0x41c833:0x85f,_0x443ac1:0x13a,_0xeee2e3:0x10f,_0x4365d5:0x1ee8,_0x11516d:0x1772,_0x18af80:0xa81,_0x5e2eb3:0x83e,_0x48a625:0x139b,_0xeb24ee:0x929,_0x5a9e8d:0xee5,_0x250e6c:0x174a,_0x1f9b3f:0xf52,_0x4d11f4:0xfdc,_0x163a0d:0x1b7d},_0xe6228b={_0x5291d7:0x4e2},_0x234393={_0x141021:0x165};!this['_positionScratch']&&(this['_positionScratch']=new Cesium__namespace[(_0x4632bb(_0x23aaec._0x1ed233,0xe05))](),this['_velocityScratch']=new Cesium__namespace[(_0x17ff37(0x1aa3,_0x23aaec._0x38f9f6))](),this['_rotationScratch']=new Cesium__namespace['Matrix3'](),this['_timeScratch']=new Cesium__namespace[(_0x4632bb(0x1069,0x928))]());!Cesium__namespace['defined'](_0x48b2d9)&&(_0x48b2d9=Cesium__namespace['JulianDate'][_0x4632bb(-_0x23aaec._0x41c833,_0x23aaec._0x443ac1)](this[_0x17ff37(-_0x23aaec._0xeee2e3,0x8e7)]));let _0x54dcfa=this['_velocityVectorProperty'][_0x4632bb(0x1270,0xd62)](_0x48b2d9,this['_velocityScratch'],this[_0x17ff37(_0x23aaec._0x4365d5,_0x23aaec._0x11516d)]);function _0x17ff37(_0x499126,_0x5a0297){return _0x7afdbe(_0x499126,_0x5a0297- -_0x234393._0x141021);}Cesium__namespace[_0x4632bb(0x1b2e,0x119f)](_0x54dcfa)?this['_last_velocity']=_0x54dcfa[_0x4632bb(0x578,0x30d)]():(!this[_0x17ff37(0xad,_0x23aaec._0x18af80)]&&!this[_0x4632bb(0xeb2,0xadf)]&&this[_0x17ff37(-0x17c,_0x23aaec._0x5e2eb3)][_0x17ff37(0x1470,0x1354)]&&(this['_last_velocity']=this['_velocityVectorProperty']['_getLatelyValue'](_0x48b2d9,this[_0x17ff37(_0x23aaec._0x48a625,0xf84)],this['_positionScratch']),this['_getLatelyValueOK']=!![]),_0x54dcfa=this[_0x17ff37(_0x23aaec._0xeb24ee,0x108a)]);function _0x4632bb(_0x2f2c19,_0x16350a){return _0x54a7f1(_0x16350a- -_0xe6228b._0x5291d7,_0x2f2c19);}if(!Cesium__namespace[_0x17ff37(_0x23aaec._0x5a9e8d,_0x23aaec._0x250e6c)](_0x54dcfa))return undefined;return Cesium__namespace['Transforms'][_0x4632bb(0xc18,_0x23aaec._0x1f9b3f)](this['_positionScratch'],_0x54dcfa,this[_0x17ff37(0x1304,_0x23aaec._0x4d11f4)],this[_0x17ff37(_0x23aaec._0x163a0d,0x11a7)]),Cesium__namespace['Quaternion']['fromRotationMatrix'](this['_rotationScratch'],_0x299cf2);};const position1Scratch=new Cesium__namespace['Cartesian3'](),position2Scratch=new Cesium__namespace[(_0x54a7f1(0x12e7,0x1323))](),innerType=Cesium__namespace['Cartesian3'];Cesium__namespace['VelocityVectorProperty'][_0x54a7f1(0x610,0x9a0)][_0x54a7f1(0x128b,0x1062)]=function(_0x3ddd1e,_0x92841,_0x1b82f7){const _0x44517a={_0x124ef8:0x41a,_0x26b02a:0x7b3,_0x3fe4ce:0x1282,_0x2328fa:0x1d18,_0x20fdb8:0x203,_0x51fa2b:0xf84,_0x51c6aa:0xee8,_0x1c898e:0xae6,_0xa30f29:0x1386,_0x558439:0x148b,_0x50e70d:0x1c5,_0x221542:0x7fc,_0x385462:0xcfa,_0x2d3306:0x1584,_0x3f4a34:0x13d7,_0x1cbd23:0x269},_0xf11be5={_0xd8122b:0x62d};var _0x985dc8;const _0x5c9795=this['_position'];if(!(_0x5c9795 instanceof Cesium__namespace['SampledPositionProperty']))return;function _0x2e1e81(_0x581e5f,_0x4a0f13){return _0x7afdbe(_0x581e5f,_0x4a0f13- -0x18f);}const _0x573a37=(_0x985dc8=_0x5c9795['_property'])===null||_0x985dc8===void 0x0?void 0x0:_0x985dc8['_times'],_0x483bfe=_0x5c9795['_property']['_values'],_0x212483=_0x573a37['length'];if(_0x212483<0x2)return;function _0x5e868a(_0x24e450,_0x2c0a41){return _0x7afdbe(_0x2c0a41,_0x24e450- -_0xf11be5._0xd8122b);}if(_0x5c9795['forwardExtrapolationType']===Cesium__namespace['ExtrapolationType']['HOLD']&&Cesium__namespace['JulianDate']['secondsDifference'](_0x3ddd1e,_0x573a37[_0x212483-0x1])>0x0){const _0x4b9abc=innerType[_0x5e868a(-0xac,_0x44517a._0x124ef8)](_0x483bfe,(_0x212483-0x2)*innerType['packedLength'],position1Scratch),_0x2cee8a=innerType[_0x5e868a(-0xac,_0x44517a._0x26b02a)](_0x483bfe,(_0x212483-0x1)*innerType['packedLength'],position2Scratch);if(!Cesium__namespace['defined'](_0x4b9abc)||!Cesium__namespace['defined'](_0x2cee8a))return undefined;Cesium__namespace[_0x5e868a(_0x44517a._0x3fe4ce,_0x44517a._0x2328fa)](_0x1b82f7)&&_0x4b9abc[_0x2e1e81(_0x44517a._0x20fdb8,0x88e)](_0x1b82f7);if(Cesium__namespace['Cartesian3'][_0x2e1e81(0xe79,_0x44517a._0x51fa2b)](_0x4b9abc,_0x2cee8a))return this['_normalize']?undefined:Cesium__namespace['Cartesian3'][_0x5e868a(0x3f0,0x454)](Cesium__namespace[_0x5e868a(0xee8,0xaf4)]['ZERO'],_0x92841);const _0x4419e2=Cesium__namespace[_0x5e868a(_0x44517a._0x51c6aa,0xa2e)]['subtract'](_0x2cee8a,_0x4b9abc,_0x92841);if(this['_normalize'])return Cesium__namespace['Cartesian3']['normalize'](_0x4419e2,_0x92841);const _0x5edca6=Cesium__namespace['JulianDate']['secondsDifference'](_0x573a37[_0x212483-0x2],_0x573a37[_0x212483-0x1]);return Cesium__namespace[_0x2e1e81(_0x44517a._0x1c898e,_0x44517a._0xa30f29)]['divideByScalar'](_0x4419e2,_0x5edca6,_0x92841);}if(_0x5c9795['backwardExtrapolationType']===Cesium__namespace['ExtrapolationType'][_0x2e1e81(0x141f,_0x44517a._0x558439)]&&Cesium__namespace['JulianDate'][_0x5e868a(_0x44517a._0x50e70d,_0x44517a._0x221542)](_0x3ddd1e,_0x573a37[0x0])<0x0){const _0x4b1d31=innerType['unpack'](_0x483bfe,0x0,position1Scratch),_0x356b47=innerType['unpack'](_0x483bfe,innerType['packedLength'],position2Scratch);if(!Cesium__namespace['defined'](_0x4b1d31)||!Cesium__namespace[_0x2e1e81(_0x44517a._0x385462,0x1720)](_0x356b47))return undefined;Cesium__namespace[_0x5e868a(0x1282,0x18ca)](_0x1b82f7)&&_0x4b1d31[_0x5e868a(0x3f0,-0x62a)](_0x1b82f7);if(Cesium__namespace[_0x5e868a(_0x44517a._0x51c6aa,_0x44517a._0x2d3306)]['equals'](_0x4b1d31,_0x356b47))return this['_normalize']?undefined:Cesium__namespace['Cartesian3'][_0x5e868a(0x3f0,0x80)](Cesium__namespace[_0x2e1e81(0x174a,0x1386)][_0x2e1e81(_0x44517a._0x3f4a34,0x138b)],_0x92841);const _0x46bdb9=Cesium__namespace['Cartesian3'][_0x2e1e81(0x854,0x744)](_0x356b47,_0x4b1d31,_0x92841);if(this['_normalize'])return Cesium__namespace[_0x2e1e81(0x19fb,0x1386)]['normalize'](_0x46bdb9,_0x92841);const _0x3de084=Cesium__namespace['JulianDate'][_0x2e1e81(_0x44517a._0x1cbd23,0x663)](_0x573a37[0x0],_0x573a37[0x1]);return Cesium__namespace['Cartesian3']['divideByScalar'](_0x46bdb9,_0x3de084,_0x92841);}},Cesium__namespace['VelocityVectorProperty']['prototype']['getValue']=function(_0x4e0ed5,_0x4206b2){const _0x48e7d6={_0x2d6ed0:0xce1};function _0x233714(_0x5af1b8,_0x527fd9){return _0x7afdbe(_0x527fd9,_0x5af1b8- -0x5a9);}let _0x462e94=this['_getValue'](_0x4e0ed5,_0x4206b2);Cesium__namespace[_0x3e53ff(0x13a1,0x947)](_0x462e94)?this['_last_velocity']=_0x462e94['clone']():_0x462e94=this[_0x3e53ff(_0x48e7d6._0x2d6ed0,0xc39)];function _0x3e53ff(_0x4fdff8,_0xa5546){return _0x7afdbe(_0xa5546,_0x4fdff8- -0x50e);}return _0x462e94;};const beginFrame_old=Cesium__namespace[_0x7afdbe(0x13df,0xee0)][_0x7afdbe(0x84a,0x83e)]['beginFrame'];Cesium__namespace[_0x54a7f1(0xcb2,0x69d)][_0x7afdbe(0xc84,0x83e)]['beginFrame']=function(_0x15eb4a){const _0x20fbfa={_0x414761:0xc17,_0x51088c:0x7e,_0x31b952:0x676,_0x396740:0xb4c,_0x482895:0x7b3,_0xc0359b:0xc17,_0x47e5e8:0x323,_0x2c1f88:0x1f0,_0x5e63e7:0x17b,_0x110ed5:0x65e,_0x1107c0:0xb9d,_0x245d3f:0xdac};var _0x3e30f2,_0x2dec69,_0x4fd7fb,_0x54e5cd;const _0x35c204=(_0x3e30f2=this['_surface'][_0x277885(0x1039,_0x20fbfa._0x414761)])===null||_0x3e30f2===void 0x0||(_0x3e30f2=_0x3e30f2['marsOptions'])===null||_0x3e30f2===void 0x0?void 0x0:_0x3e30f2['flat'];_0x35c204&&(_0x35c204[_0x31a3e4(_0x20fbfa._0x51088c,0xa87)]&&(_0x35c204['texture']&&_0x35c204[_0x277885(0x1441,0xb9d)]['destroy'](),_0x35c204[_0x31a3e4(_0x20fbfa._0x31b952,0xda9)]=createCroppingRangeTexture(_0x15eb4a,_0x35c204),_0x35c204[_0x277885(_0x20fbfa._0x396740,0x5a5)]=![]));function _0x277885(_0x3e283c,_0x419e85){return _0x7afdbe(_0x3e283c,_0x419e85-0x42);}const _0x4b8243=(_0x2dec69=this['_surface']['_tileProvider'])===null||_0x2dec69===void 0x0||(_0x2dec69=_0x2dec69[_0x31a3e4(0x323,_0x20fbfa._0x482895)])===null||_0x2dec69===void 0x0?void 0x0:_0x2dec69['uplift'];_0x4b8243&&(_0x4b8243['hasUpdate']&&(_0x4b8243['texture']&&_0x4b8243['texture']['destroy'](),_0x4b8243['texture']=createCroppingRangeTexture(_0x15eb4a,_0x4b8243),_0x4b8243['hasUpdate']=![]));const _0x1c7cfe=(_0x4fd7fb=this['_surface'][_0x277885(0x16d1,_0x20fbfa._0xc0359b)])===null||_0x4fd7fb===void 0x0||(_0x4fd7fb=_0x4fd7fb[_0x31a3e4(_0x20fbfa._0x47e5e8,0x49e)])===null||_0x4fd7fb===void 0x0?void 0x0:_0x4fd7fb['clip'];_0x1c7cfe&&(_0x1c7cfe[_0x31a3e4(0x7e,-_0x20fbfa._0x2c1f88)]&&(_0x1c7cfe['texture']&&_0x1c7cfe['texture'][_0x31a3e4(_0x20fbfa._0x5e63e7,-0x30f)](),_0x1c7cfe[_0x277885(0x980,0xb9d)]=createCroppingRangeTexture(_0x15eb4a,_0x1c7cfe),_0x1c7cfe['hasUpdate']=![]));function _0x31a3e4(_0x1216f1,_0x2dce9b){return _0x54a7f1(_0x1216f1- -0x2b7,_0x2dce9b);}const _0x54837a=(_0x54e5cd=this['_surface']['_tileProvider'])===null||_0x54e5cd===void 0x0||(_0x54e5cd=_0x54e5cd['marsOptions'])===null||_0x54e5cd===void 0x0?void 0x0:_0x54e5cd[_0x31a3e4(0x460,0x997)];return _0x54837a&&(_0x54837a['hasUpdate']&&(_0x54837a[_0x31a3e4(_0x20fbfa._0x31b952,0x607)]&&_0x54837a[_0x277885(_0x20fbfa._0x110ed5,_0x20fbfa._0x1107c0)][_0x277885(_0x20fbfa._0x245d3f,0x6a2)](),_0x54837a['texture']=createCroppingRangeTexture(_0x15eb4a,_0x54837a),_0x54837a['hasUpdate']=![])),beginFrame_old['bind'](this)(_0x15eb4a);};function wgs84ToMercatorBoungingBox(_0x546079,_0x1b6c78){const _0x3b4833={_0x16557e:0xd02,_0x4b5d94:0x9e9,_0x5d080f:0x579,_0x1516c6:0x1481,_0x42390c:0x1bd5,_0x524f5e:0x1cdf},_0x19348d={_0x4ba5cf:0x12},_0x48a66c={_0x4fb4ee:0x115},_0x2116b5=_0x546079[_0x285438(_0x3b4833._0x16557e,0xbb1)](Cesium__namespace[_0x285438(_0x3b4833._0x4b5d94,_0x3b4833._0x5d080f)]['fromRadians'](_0x1b6c78['west'],_0x1b6c78['south'])),_0x4e531d=_0x546079[_0x285438(_0x3b4833._0x16557e,0x1481)](Cesium__namespace['Cartographic'][_0x285438(_0x3b4833._0x1516c6,_0x3b4833._0x42390c)](_0x1b6c78['east'],_0x1b6c78[_0x492cfa(0x961,0x956)]));function _0x285438(_0x1d8158,_0x5b08f0){return _0x7afdbe(_0x5b08f0,_0x1d8158- -_0x48a66c._0x4fb4ee);}const _0xf36d10={};_0xf36d10['north']=_0x4e531d['y'],_0xf36d10['east']=_0x4e531d['x'];function _0x492cfa(_0x55e5e1,_0x48593e){return _0x54a7f1(_0x48593e-_0x19348d._0x4ba5cf,_0x55e5e1);}return _0xf36d10[_0x492cfa(_0x3b4833._0x524f5e,0x1688)]=_0x2116b5['y'],_0xf36d10['west']=_0x2116b5['x'],_0xf36d10;}function caculateCanvasSize$1(_0xb5551a){const {south:_0x40eb88,west:_0x30fd0a,north:_0x5d3167,east:_0x5a1da0}=_0xb5551a,_0x64c20d=Math['abs'](_0x5a1da0-_0x30fd0a),_0x4f55f4=Math[_0x5a27ca(0xd9f,0xb7a)](_0x5d3167-_0x40eb88);let _0x56e7b7=0x1;const _0x365904=Math['max'](_0x64c20d,_0x4f55f4),_0x2c7554=Math['min'](_0x64c20d,_0x4f55f4),_0x2b1a94=0x800,_0x424a9e=0x200;if(_0x365904>_0x2b1a94)_0x56e7b7=_0x365904/_0x2b1a94,_0x2c7554/_0x56e7b7<_0x424a9e&&(_0x56e7b7=_0x2c7554/_0x424a9e);else _0x2c7554<_0x424a9e&&(_0x56e7b7=_0x2c7554/_0x424a9e,_0x365904/_0x56e7b7>_0x2b1a94&&(_0x56e7b7=_0x365904/_0x2b1a94));const _0xc0c2f9={};_0xc0c2f9['factor']=_0x56e7b7;function _0x5a27ca(_0x1fa85b,_0x2bdfd8){return _0x7afdbe(_0x2bdfd8,_0x1fa85b- -0x561);}return _0xc0c2f9['width']=_0x64c20d/_0x56e7b7,_0xc0c2f9['height']=_0x4f55f4/_0x56e7b7,_0xc0c2f9;}function mercatorPointToCanvasPoint(_0x17c522,_0x174460){const _0x53dc82={_0x470c18:0x85c},_0x3b76cc={_0x5be0b7:0x40a},_0x552ae0={_0x2c56ee:0x10b},_0x4d9f3e={};_0x4d9f3e['x']=undefined,_0x4d9f3e['y']=undefined;const _0x4c7f06=_0x4d9f3e;function _0x42f34e(_0x39531,_0x2d47ae){return _0x54a7f1(_0x39531-_0x552ae0._0x2c56ee,_0x2d47ae);}_0x4c7f06['x']=Math[_0x42f34e(0x1434,0x1562)]((_0x17c522['x']-_0x174460[_0x42f34e(0x1697,0xd32)])/_0x174460[_0x42f34e(_0x53dc82._0x470c18,0x1c8)]),_0x4c7f06['y']=_0x174460['height']-Math['round']((_0x17c522['y']-_0x174460['yoffset'])/_0x174460['factor']);function _0x96188c(_0x4e5bc5,_0x125fd2){return _0x54a7f1(_0x125fd2- -_0x3b76cc._0x5be0b7,_0x4e5bc5);}return _0x4c7f06;}function createCroppingRangeTexture(_0x21016d,_0x5652b2){const _0x516f48={_0x2ca4d1:0x7f,_0x317b04:0x125e,_0x464f85:0x2c3,_0x3c8a41:0xaed,_0x4edde1:0xcbf,_0x39ddb2:0x210,_0x2a90e3:0x14e4,_0x3656ff:0x1db1,_0xae30ca:0xe6c,_0x176186:0x65,_0x2bb50d:0xa0},_0x12aa72={_0x11106e:0x1829,_0x5cb61b:0xdf5,_0x1b587a:0x789,_0x526ee2:0x591,_0x29dd24:0x4ac,_0x32d5b5:0xc33,_0x1f08e3:0x89b,_0x310654:0x457,_0x55159a:0x554,_0x19fc15:0xfde,_0x155276:0x1145},_0x47a0a7=_0x21016d[_0x4b42b9(0xc25,0x75a)];function _0x22c600(_0x387d63,_0x501ee6){return _0x54a7f1(_0x387d63-0x20b,_0x501ee6);}const _0x2d5647=_0x21016d['mapProjection'],_0x4223f7=_0x5652b2[_0x22c600(0x780,-_0x516f48._0x2ca4d1)];function _0x4b42b9(_0x2b12e6,_0x427dbd){return _0x54a7f1(_0x427dbd- -0x32e,_0x2b12e6);}const _0x177b3d=_0x4223f7===null||_0x4223f7===void 0x0?void 0x0:_0x4223f7['length'];if(_0x177b3d>0x0){const _0x4378d7=wgs84ToMercatorBoungingBox(_0x2d5647,_0x5652b2['rectangle']),_0x5ca119=caculateCanvasSize$1(_0x4378d7),_0x229703=_0x4378d7['west'],_0x1a9f1b=_0x4378d7['south'],_0x4a8f9e={};_0x4a8f9e[_0x4b42b9(0x146b,_0x516f48._0x317b04)]=_0x229703,_0x4a8f9e[_0x4b42b9(_0x516f48._0x464f85,0xa96)]=_0x1a9f1b,_0x4a8f9e['factor']=_0x5ca119['factor'],_0x4a8f9e[_0x22c600(0x872,0x7b8)]=_0x5ca119['height'];const _0x15ff17=_0x4a8f9e,_0x5ee82e=document[_0x4b42b9(0x12d0,0xcf6)](_0x22c600(_0x516f48._0x3c8a41,_0x516f48._0x4edde1));_0x5ee82e['width']=_0x5ca119['width'],_0x5ee82e['height']=_0x5ca119['height'],_0x5ee82e['style'][_0x22c600(0x1762,0xe1f)]=_0x5ca119['width']+'\x20px',_0x5ee82e['style']['height']=_0x5ca119['height']+_0x4b42b9(-0x60,0x8ec),_0x5ee82e[_0x4b42b9(-_0x516f48._0x39ddb2,0x16e)][_0x22c600(_0x516f48._0x2a90e3,_0x516f48._0x3656ff)]=_0x4b42b9(0x167b,0xc52);const _0x405be7=_0x5ee82e['getContext']('2d');return _0x4223f7['forEach']((_0xafdcca,_0x501b8a)=>{const _0x351a9a={_0x56cb42:0x510};_0x405be7[_0x31c749(_0x12aa72._0x11106e,0x1024)]=_0x31c749(_0x12aa72._0x5cb61b,0x940),_0x405be7['beginPath']();const _0x48f54f=_0xafdcca[0x0],_0x121cf6=mercatorPointToCanvasPoint(_0x2d5647['project'](_0x48f54f),_0x15ff17);_0x405be7['moveTo'](_0x121cf6['x'],_0x121cf6['y']);for(let _0x439779=0x1;_0x439779<_0xafdcca['length'];_0x439779++){const _0x50bbdd=mercatorPointToCanvasPoint(_0x2d5647['project'](_0xafdcca[_0x439779]),_0x15ff17);_0x405be7[_0x31c749(_0x12aa72._0x1b587a,_0x12aa72._0x526ee2)](_0x50bbdd['x'],_0x50bbdd['y']);}_0x405be7[_0x31c749(0x37d,_0x12aa72._0x29dd24)]();function _0x31c749(_0x307bc0,_0x56ac10){return _0x4b42b9(_0x307bc0,_0x56ac10-0x3d4);}function _0x36fd2c(_0x203658,_0x275a76){return _0x22c600(_0x275a76- -_0x351a9a._0x56cb42,_0x203658);}if(_0x5652b2[_0x36fd2c(0x10f8,_0x12aa72._0x32d5b5)]){const _0x439ab0=Cesium__namespace[_0x36fd2c(_0x12aa72._0x1f08e3,_0x12aa72._0x310654)]['packFloat'](_0x5652b2[_0x31c749(_0x12aa72._0x55159a,_0x12aa72._0x19fc15)][_0x501b8a]),_0x39a0cd=Cesium__namespace[_0x31c749(0x1a68,0x132a)]['fromBytes'](_0x439ab0['x'],_0x439ab0['y'],_0x439ab0['z'],_0x439ab0['w'])['toCssColorString']();_0x405be7[_0x36fd2c(0xd4,0x3b6)]=_0x39a0cd,console[_0x36fd2c(0x1208,_0x12aa72._0x155276)](_0x31c749(-0x34c,0x761),_0x39a0cd);}else _0x405be7['fillStyle']='red';_0x405be7[_0x36fd2c(0x16d3,0x1243)](),_0x405be7['restore']();}),new Cesium__namespace['Texture']({'context':_0x47a0a7,'pixelFormat':Cesium__namespace['PixelFormat']['RGBA'],'pixelDatatype':Cesium__namespace['PixelDatatype'][_0x4b42b9(0xcb2,0x87c)],'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'wrapT':Cesium__namespace['TextureWrap'][_0x22c600(0x1923,_0x516f48._0xae30ca)],'minificationFilter':Cesium__namespace[_0x4b42b9(0x5e4,0x9b4)]['NEAREST'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter'][_0x4b42b9(-_0x516f48._0x176186,_0x516f48._0x2bb50d)]}),'flipY':!![],'source':_0x5ee82e});}return undefined;}const _0x21c928={};_0x21c928['get']=function(){return this['_marsOptions'];};const _0x4d6b5d={};_0x4d6b5d['marsOptions']=_0x21c928,Object['defineProperties'](Cesium__namespace[_0x7afdbe(0x1248,0x92b)][_0x7afdbe(0x21b,0x83e)],_0x4d6b5d),Cesium__namespace[_0x7afdbe(0xaab,0x92b)]['prototype']['_initByMars3D']=function(_0x4089e6){const _0x28bd85={_0x58beab:0x122},_0x47b7c1={_0x299edf:0xdeb,_0x47ee54:0x12aa,_0x480192:0x47b},_0x4a88bb={_0x258ed4:0x86},_0xbeda59={_0x159d60:0x559},_0xfdd42b={_0x25b568:0xc},_0x3e181f={_0x585f97:0x84,_0xc31a4f:0x587,_0x28deee:0x787,_0x512a29:0x700},_0x437673={_0xd3d593:0x229},_0x1da770={_0x58780b:0x6ba,_0x2198cc:0x154a},_0x381e47={_0x3dec3d:0xd63,_0x5a216a:0x19e,_0x5afc59:0x23b},_0x4cd401={_0x3e556c:0x47d};function _0x46e3d0(_0x4ef02a,_0x3ccc38){return _0x7afdbe(_0x3ccc38,_0x4ef02a- -_0x4cd401._0x3e556c);}this['_marsOptions']={'flat':{'clear':function(){this[_0xf9e8f1(_0x381e47._0x3dec3d,0x171f)]=![],this['heights']=[];function _0xf9e8f1(_0x4632a3,_0x264ff0){return _0x536c(_0x4632a3-0x2e7,_0x264ff0);}this['rectangle']=undefined,this[_0x750215(_0x381e47._0x5a216a,0x47b)]=undefined;function _0x750215(_0x2df9d2,_0x2808f9){return _0x536c(_0x2808f9-0x2d,_0x2df9d2);}this['rectangles']=undefined,this['texture']=undefined,this[_0x750215(-0x4ba,_0x381e47._0x5afc59)]=![];}},'uplift':{'clear':function(){this[_0x3b760d(_0x1da770._0x58780b,-0xf4)]=![];function _0x4f56e0(_0x325406,_0x5e14a9){return _0x536c(_0x325406-0x2d1,_0x5e14a9);}function _0x3b760d(_0x4fd266,_0x49c93f){return _0x536c(_0x4fd266- -0x3c2,_0x49c93f);}this['showUp']=!![],this[_0x3b760d(0x17e,0x8e4)]=0x0,this[_0x3b760d(-0x21d,0x57f)]=undefined,this[_0x4f56e0(_0x1da770._0x2198cc,0x1d7e)]=undefined,this['areas']=undefined,this['texture']=undefined,this['hasUpdate']=![];}},'clip':{'clear':function(){const _0x39784c={_0x117f83:0x7f};this['enabled']=![];function _0x51cf75(_0x55063f,_0x2e65f9){return _0x536c(_0x2e65f9- -_0x39784c._0x117f83,_0x55063f);}this[_0x51168e(-_0x3e181f._0x585f97,_0x3e181f._0xc31a4f)]=undefined,this[_0x51cf75(0xc58,0x3cf)]=undefined;function _0x51168e(_0x9ef5b5,_0xb911c7){return _0x536c(_0x9ef5b5- -_0x437673._0xd3d593,_0xb911c7);}this[_0x51cf75(-0x332,_0x3e181f._0x28deee)]=undefined,this[_0x51168e(-0x1b,-_0x3e181f._0x512a29)]=![],this[_0x51168e(0x381,-0x6b6)]=![];}},'flood':{'clear':function(){function _0x2b3ca8(_0x542545,_0x562cc1){return _0x536c(_0x562cc1- -0x51,_0x542545);}this[_0x5ea722(0xa70,0x1248)]=![],this['rectangle']=undefined,this['areas']=undefined,this['texture']=undefined,this[_0x5ea722(0x202,0x341)]=![];function _0x5ea722(_0x59b6ff,_0x370c34){return _0x536c(_0x59b6ff- -_0xfdd42b._0x25b568,_0x370c34);}this[_0x2b3ca8(0x386,_0xbeda59._0x159d60)]=![];}},'resetValue':function(){const _0x4655b1={_0x54bf96:0x367};function _0x52a887(_0x1a1c45,_0x352a6e){return _0x536c(_0x352a6e-_0x4a88bb._0x258ed4,_0x1a1c45);}this['flat'][_0x15f13d(0xe95,_0x47b7c1._0x299edf)]();function _0x15f13d(_0x49d3c4,_0x5d914d){return _0x536c(_0x49d3c4- -_0x4655b1._0x54bf96,_0x5d914d);}this['uplift']['clear'](),this['clip'][_0x15f13d(0xe95,_0x47b7c1._0x47ee54)](),this[_0x15f13d(0x289,_0x47b7c1._0x480192)]['clear']();}},this['_marsOptions'][_0x46e3d0(0x8f6,_0x28bd85._0x58beab)]();},Cesium__namespace[_0x7afdbe(0xc3d,0x652)]['prototype']['_initByMars3D']=function(_0xfdf08e,_0x2f5d6a){const _0x5c714d={_0x2deb03:0x10a2,_0x56750c:0x1127,_0x18a37a:0x76e,_0x3233f8:0x1529,_0x2c2156:0x18a9,_0x2b6e90:0x1425,_0x22f17e:0x21f};function _0x429115(_0x21689c,_0x26e561){return _0x7afdbe(_0x21689c,_0x26e561- -0x11c);}this[_0x1ae394(_0x5c714d._0x2deb03,_0x5c714d._0x56750c)]=_0x2f5d6a[_0x1ae394(_0x5c714d._0x18a37a,0x1127)]??_0xfdf08e[_0x429115(0xaa3,_0x5c714d._0x3233f8)];function _0x1ae394(_0x513839,_0x1cd44b){return _0x54a7f1(_0x1cd44b- -0x2f0,_0x513839);}this['filterColor']=_0x2f5d6a['filterColor']??_0xfdf08e[_0x1ae394(0x15db,0x14a7)],this[_0x429115(0x1f71,_0x5c714d._0x2c2156)]&&typeof this[_0x1ae394(_0x5c714d._0x2b6e90,0x14a7)]==='string'&&this['filterColor'][_0x1ae394(-0x40c,_0x5c714d._0x22f17e)]===String&&(this['filterColor']=Cesium__namespace['Color']['fromCssColorString'](this[_0x1ae394(0x177a,0x14a7)]));},Cesium__namespace[_0x7afdbe(0x1309,0xeed)]['prototype']['addImageryProvider']=function(_0x43c816,_0x4f59f9){const _0x52071b={_0x85a629:0x3bd};function _0x1c6b28(_0x183750,_0x368ec8){return _0x54a7f1(_0x183750- -0xa,_0x368ec8);}const _0x1f42fc=new Cesium__namespace['ImageryLayer'](_0x43c816,_0x43c816['options']);return this[_0x1c6b28(0x686,-_0x52071b._0x85a629)](_0x1f42fc,_0x4f59f9),_0x1f42fc;};const pickImageryLayerFeatures_old=Cesium__namespace[_0x54a7f1(0xcbf,0x1563)][_0x7afdbe(0x42b,0x83e)]['pickImageryLayerFeatures'];Cesium__namespace[_0x54a7f1(0xcbf,0x161e)][_0x7afdbe(0x1b3,0x83e)]['pickImageryLayerFeatures']=function(_0x206271,_0xde3f04,_0x46e070){const _0x5af906={_0x415928:0xb47,_0x5664bd:0x57f};function _0x5c8353(_0x43a6a1,_0x4e74f8){return _0x54a7f1(_0x4e74f8-0x2ac,_0x43a6a1);}if(!_0x46e070)return;return pickImageryLayerFeatures_old[_0x5c8353(_0x5af906._0x415928,_0x5af906._0x5664bd)](this)(_0x206271,_0xde3f04);};const createShadowReceiveFragmentShader_old=Cesium__namespace['ShadowMapShader']['createShadowReceiveFragmentShader'];Cesium__namespace['ShadowMapShader']['createShadowReceiveFragmentShader']=function(_0x4fd902,_0xbd7c9,_0x4b102f,_0x49df90,_0x31a437){const _0x413936={_0x1c01d1:0x5ff,_0x356b80:0x634,_0x14abf6:0x20f,_0x31b68d:0x55c,_0x3f118e:0x1776},_0x58062e={_0x464210:0x1d7},_0x3453e7={_0x4fbf13:0x229},_0x617142=createShadowReceiveFragmentShader_old['bind'](this)(_0x4fd902,_0xbd7c9,_0x4b102f,_0x49df90,_0x31a437);function _0x28bdec(_0x54189d,_0x32887e){return _0x54a7f1(_0x32887e- -_0x3453e7._0x4fbf13,_0x54189d);}function _0x297c53(_0x5af75c,_0x104b63){return _0x54a7f1(_0x5af75c-_0x58062e._0x464210,_0x104b63);}if(!isSun(_0xbd7c9[_0x28bdec(_0x413936._0x1c01d1,0x1f0)]['position'])){const _0x41eec6=_0x617142['sources'][_0x617142[_0x28bdec(0x84,0x234)]['length']-0x1];_0x617142[_0x297c53(_0x413936._0x356b80,0x6c3)][_0x617142[_0x28bdec(_0x413936._0x14abf6,0x234)]['length']-0x1]=_0x41eec6['replace'](_0x28bdec(-0x250,_0x413936._0x31b68d),_0x297c53(_0x413936._0x3f118e,0x1800));}return _0x617142;};function isSun(_0x35757d){if(Math['abs'](_0x35757d['x'])>0x71ff98)return!![];function _0x33ae21(_0x122047,_0x1e8bed){return _0x54a7f1(_0x1e8bed- -0x44f,_0x122047);}if(Math[_0x33ae21(0x10a8,0xc83)](_0x35757d['y'])>0x71ff98)return!![];if(Math['abs'](_0x35757d['z'])>0x71ff98)return!![];return![];}const _0x3f1f1e={};_0x3f1f1e['set']=function(_0x68411d){this['ellipse']=_0x68411d;},_0x3f1f1e[_0x7afdbe(0x795,0x1034)]=function(){function _0x5ad895(_0x17cbee,_0xcc895d){return _0x54a7f1(_0x17cbee- -0x9c,_0xcc895d);}return this[_0x5ad895(0xb5f,0xe0d)];};const _0x9edae9={};_0x9edae9['circle']=_0x3f1f1e,Object['defineProperties'](Cesium__namespace[_0x7afdbe(0x145a,0x194c)][_0x7afdbe(0xaf7,0x83e)],_0x9edae9);const isAvailable_old=Cesium__namespace['Entity']['prototype']['isAvailable'];Cesium__namespace[_0x7afdbe(0x1ac7,0x194c)]['prototype']['isAvailable']=function(_0x4e3191){if(this['isAvailableByMap']&&this['isAvailableByMap'](_0x4e3191)===![])return!![];return isAvailable_old['bind'](this)(_0x4e3191);},Cesium__namespace[_0x7afdbe(0xa34,0x11c4)]['prototype']['_initForMars3D']=function(_0x530770){this['options']=_0x530770;};const load_old=Cesium__namespace[_0x7afdbe(0x1195,0xb95)][_0x7afdbe(0x1305,0x83e)]['load'];Cesium__namespace['I3SLayer'][_0x7afdbe(0x1174,0x83e)][_0x54a7f1(0x537,0xf5e)]=function(){const _0x5ef944={_0x5e92f3:0xd6f,_0x3c65eb:0x1364,_0x9f144c:0xcf4,_0x3da360:0x177f},_0x46dedc={_0x21011b:0x378};var _0x2477d3;const _0x4417d5=(_0x2477d3=this[_0x4c364f(_0x5ef944._0x5e92f3,_0x5ef944._0x3c65eb)])===null||_0x2477d3===void 0x0||(_0x2477d3=_0x2477d3['spatialReference'])===null||_0x2477d3===void 0x0?void 0x0:_0x2477d3['wkid'];function _0x4c364f(_0x1b13ac,_0xb4eb40){return _0x7afdbe(_0x1b13ac,_0xb4eb40- -0x605);}function _0x12bfc7(_0x2e2773,_0x56ae82){return _0x7afdbe(_0x56ae82,_0x2e2773- -_0x46dedc._0x21011b);}if(_0x4417d5===0x118a)this['_data'][_0x4c364f(_0x5ef944._0x9f144c,0x1268)]['wkid']=0x10e6;else _0x4417d5!==0x10e6&&console['warn'](_0x12bfc7(0x134c,_0x5ef944._0x3da360),this);return load_old[_0x12bfc7(0x189,0x4d0)](this)();};const contains_old=Cesium__namespace['TrustedServers'][_0x54a7f1(0x135a,0x136c)];Cesium__namespace['TrustedServers']['contains']=function(_0x3dae4a){const _0x1dbf33={_0x584f03:0x18ac};if(_0x3dae4a['startsWith'](_0x2abf60(0xe9b,_0x1dbf33._0x584f03)))return![];function _0x610bc5(_0x1a5e45,_0x491ee9){return _0x7afdbe(_0x1a5e45,_0x491ee9- -0x2fa);}function _0x2abf60(_0x419776,_0x1f47b1){return _0x54a7f1(_0x419776- -0x367,_0x1f47b1);}return contains_old[_0x610bc5(0x675,0x207)](this)(_0x3dae4a);};const _updateClamping_old=Cesium__namespace[_0x54a7f1(0x1759,0x1883)]['_updateClamping'];Cesium__namespace['Billboard']['_updateClamping']=function(_0x48d139,_0x1a1b97){const _0x300a31={_0x30d83f:0x12ca,_0x5c6633:0x1ac4,_0x2810f3:0x1488};function _0x421798(_0x234f95,_0x4fa808){return _0x54a7f1(_0x4fa808-0x2a9,_0x234f95);}const _0xb2ce88=_0x48d139['_scene'];if(!Cesium__namespace['defined'](_0xb2ce88))return;const _0x169c61=_0xb2ce88['frameState']['mode'];function _0x12c3ed(_0x45b9d2,_0x486926){return _0x7afdbe(_0x45b9d2,_0x486926- -0x4cb);}if(_0x169c61!==Cesium__namespace['SceneMode'][_0x12c3ed(0x163f,_0x300a31._0x30d83f)]&&_0x1a1b97['_heightReference']!==Cesium__namespace[_0x12c3ed(0xdeb,0x10ac)]['NONE']){Cesium__namespace['defined'](_0x1a1b97[_0x421798(0x1dd8,0x1488)])&&(_0x1a1b97[_0x421798(_0x300a31._0x5c6633,_0x300a31._0x2810f3)](),_0x1a1b97['_removeCallbackFunc']=undefined);_0x1a1b97[_0x421798(0x6d2,0xc64)]=undefined;return;}return _updateClamping_old(_0x48d139,_0x1a1b97);};const _computeActualPosition_old=Cesium__namespace[_0x7afdbe(0x221a,0x1987)]['_computeActualPosition'];Cesium__namespace['Billboard']['_computeActualPosition']=function(_0x361f2d,_0x445f13,_0x2df244,_0xc3ea31){const _0x58be6b={_0x3de0c5:0x12c2,_0x32b991:0x860};function _0x235760(_0x41990f,_0x5e3b32){return _0x54a7f1(_0x41990f- -0x258,_0x5e3b32);}function _0x166c6c(_0x137959,_0x178837){return _0x7afdbe(_0x137959,_0x178837- -0x6a9);}return _0x361f2d[_0x235760(_0x58be6b._0x3de0c5,_0x58be6b._0x32b991)]!==Cesium__namespace['HeightReference']['NONE']&&_0x361f2d[_0x235760(0xde4,0xdb8)](),_computeActualPosition_old(_0x361f2d,_0x445f13,_0x2df244,_0xc3ea31);};const _add_old=Cesium__namespace['BillboardCollection'][_0x54a7f1(0x610,0xf00)]['add'];Cesium__namespace['BillboardCollection']['prototype'][_0x7afdbe(0x165,0x8be)]=function(_0xd8bf7c){const _0x322a5a={_0x2cb1e3:0x5db};this[_0x31c357(0xae,-0x9bb)]&&(_0xd8bf7c={...this['defaultStyle'],..._0xd8bf7c});function _0x31c357(_0x336d47,_0x2f9042){return _0x7afdbe(_0x2f9042,_0x336d47- -_0x322a5a._0x2cb1e3);}return _add_old['bind'](this)(_0xd8bf7c);};const _0x10fac2={};_0x10fac2[_0x54a7f1(0xdb1,0xba6)]=function(_0x20d30e){this['_globalAlpha']=_0x20d30e;},_0x10fac2['get']=function(){return this['_globalAlpha']??0x1;};const _0x195795={};_0x195795[_0x7afdbe(0xd54,0xa93)]=_0x10fac2,Object[_0x7afdbe(0x1221,0xe4d)](Cesium__namespace['CheckerboardMaterialProperty'][_0x54a7f1(0x610,-0x3e4)],_0x195795);const getValue_old$6=Cesium__namespace['CheckerboardMaterialProperty']['prototype']['getValue'];Cesium__namespace['CheckerboardMaterialProperty'][_0x7afdbe(0x7bf,0x83e)]['getValue']=function(_0x1cad55,_0x8ed504){const _0x1febef={_0x72036f:0x28,_0x49657c:0x329,_0x40d3ca:0x17d4,_0x565dd9:0x20f,_0x36bea2:0x47f,_0x4ca5ab:0x454,_0x269a06:0x5ba,_0x52c25b:0xf7c},_0x4f747e={_0x41f634:0x185};function _0x53dbf4(_0x22f5fe,_0x3e7463){return _0x7afdbe(_0x3e7463,_0x22f5fe- -0x4d9);}_0x8ed504=getValue_old$6[_0x53dbf4(_0x1febef._0x72036f,_0x1febef._0x49657c)](this)(_0x1cad55,_0x8ed504);this[_0x371f1e(0x90e,0xf7a)]!==0x1&&(_0x8ed504['lightColor']&&(_0x8ed504[_0x53dbf4(0x101b,0x744)]['alpha']*=this[_0x53dbf4(0x5ba,-0x2b3)]),_0x8ed504['darkColor']&&(_0x8ed504['darkColor']['alpha']*=this['globalAlpha']),_0x8ed504[_0x371f1e(_0x1febef._0x40d3ca,0x1b6b)]&&(_0x8ed504['evenColor'][_0x53dbf4(0x12b,-0x125)]*=this[_0x371f1e(0x90e,_0x1febef._0x565dd9)]),_0x8ed504['oddColor']&&(_0x8ed504['oddColor'][_0x371f1e(_0x1febef._0x36bea2,_0x1febef._0x4ca5ab)]*=this[_0x53dbf4(_0x1febef._0x269a06,_0x1febef._0x52c25b)]));function _0x371f1e(_0x175396,_0x69ccf0){return _0x7afdbe(_0x69ccf0,_0x175396- -_0x4f747e._0x41f634);}return _0x8ed504;};let _hasInfo=!![],_hasError=!![];function hasInfo(_0x3875e0){_hasInfo=_0x3875e0;}function hasWarn(_0x57c358){_hasInfo=_0x57c358;}function hasError(_0x1582e8){_hasError=_0x1582e8;}function logInfo(..._0x3d6041){if(!_hasInfo)return;function _0x206186(_0x2702d7,_0x1515a3){return _0x7afdbe(_0x1515a3,_0x2702d7- -0x52c);}console[_0x206186(0x114c,0x1319)](..._0x3d6041);}function logWarn(..._0x4f5813){console['warn'](..._0x4f5813);}function logError(..._0x5e8851){if(!_hasError)return;console['error'](..._0x5e8851);}const _0x4479e6={};_0x4479e6['__proto__']=null,_0x4479e6[_0x7afdbe(-0x397,0x637)]=hasInfo,_0x4479e6['hasWarn']=hasWarn,_0x4479e6['hasError']=hasError,_0x4479e6['logInfo']=logInfo,_0x4479e6[_0x54a7f1(0xc68,0x127f)]=logWarn,_0x4479e6['logError']=logError;var Log=_0x4479e6;const GraphicType={},GraphicClass={};function getTypes(){const _0x498d0a={_0x10f812:0xead,_0x498f60:0xeab},_0x2939d8={_0x3bb578:0x172},_0x2f98a6=[];for(const _0x343b2e in GraphicClass){const _0x2cf862=GraphicClass[_0x343b2e],_0x5604b9={};_0x5604b9[_0xfc65d(_0x498d0a._0x10f812,_0x498d0a._0x498f60)]=_0x343b2e,_0x5604b9['isPoint']=_0x2cf862['isPoint'],_0x5604b9['isCombine']=_0x2cf862[_0x153669(0xec9,0x58a)],_0x2f98a6['push'](_0x5604b9);}function _0x153669(_0x180c71,_0x39644f){return _0x7afdbe(_0x39644f,_0x180c71- -_0x2939d8._0x3bb578);}function _0xfc65d(_0x58b808,_0x5475cf){return _0x7afdbe(_0x58b808,_0x5475cf- -0x5ff);}return _0x2f98a6;}function hasType(_0x496b18){return GraphicClass[_0x496b18]?!![]:![];}function eachGraphicType(_0x2cb9af){Object['keys'](GraphicClass)['forEach']((_0x5ee2df,_0xa3c34d)=>{_0x2cb9af&&_0x2cb9af['call'](this,_0x5ee2df,_0xa3c34d);});}function isPointType(_0x27b14e){if(!_0x27b14e)return![];return GraphicClass[_0x27b14e]&&GraphicClass[_0x27b14e]['isPoint']?!![]:![];}function isCombineType(_0x1a42d7){if(!_0x1a42d7)return![];return GraphicClass[_0x1a42d7]&&GraphicClass[_0x1a42d7]['isCombine']?!![]:![];}function register$5(_0x242015,_0x44612f,_0x6ddb9f){const _0x3c9fe7={_0x33550c:0x43c,_0x5eb3f0:0x10ce,_0x2c2081:0x2eb},_0x307255={_0x1701a4:0x26e},_0x40522d={_0x327c42:0x325};GraphicClass[_0x242015]&&logError(_0x472df3(-_0x3c9fe7._0x33550c,0x5a9)+_0x242015+_0x264571(0x172,0x7be),_0x44612f);function _0x264571(_0x287d17,_0x10d410){return _0x54a7f1(_0x287d17- -_0x40522d._0x327c42,_0x10d410);}GraphicType[_0x242015]=_0x242015,GraphicClass[_0x242015]=_0x44612f;function _0x472df3(_0x25870d,_0x2c8e8f){return _0x7afdbe(_0x25870d,_0x2c8e8f- -_0x307255._0x1701a4);}_0x44612f[_0x472df3(_0x3c9fe7._0x5eb3f0,0x7f6)]=_0x242015,_0x44612f['prototype']['_type']=_0x242015,_0x6ddb9f&&(_0x44612f[_0x472df3(0x10f8,0x1207)]=!![],_0x44612f[_0x264571(_0x3c9fe7._0x2c2081,-0x344)]['_isPoint']=!![]);}function getClass$5(_0x58af66){return GraphicClass[_0x58af66]?GraphicClass[_0x58af66]:(logWarn('getClass:未找到该类型对应的处理类',_0x58af66),null);}function create$5(_0x1634c4,_0x8615f4){const _0x4086a7=getClass$5(_0x1634c4);if(!_0x4086a7)return;const _0x2cd27d=new _0x4086a7(_0x8615f4);return _0x2cd27d;}function fromDraw(_0x143376,_0x5129df){const _0x40c074={_0xb898ea:0x19f2},_0x3bd8e1={_0x303b0a:0x4a2};if(!_0x5129df['type']){logError('fromDraw:需要传入指定绘制的type类型!');return;}const _0x249aea=getClass$5(_0x5129df['type']);if(!_0x249aea||!_0x249aea[_0x576282(0x2e9,-0x7a7)][_0x576282(0x1007,_0x40c074._0xb898ea)]){logInfo('对象不支持标绘',_0x249aea);return;}function _0x576282(_0x136e56,_0x5351a3){return _0x54a7f1(_0x136e56- -0x327,_0x5351a3);}const _0xc3b37e=new _0x249aea(_0x5129df);_0xc3b37e[_0x517ee3(0xe8c,0xcf6)](_0x143376);function _0x517ee3(_0x48d43e,_0x133d8a){return _0x54a7f1(_0x48d43e- -_0x3bd8e1._0x303b0a,_0x133d8a);}return _0xc3b37e;}const _0x291307={};_0x291307['__proto__']=null,_0x291307[_0x54a7f1(0x1484,0x1b5c)]=getTypes,_0x291307['hasType']=hasType,_0x291307['eachGraphicType']=eachGraphicType,_0x291307[_0x7afdbe(0x137a,0x106a)]=isPointType,_0x291307['isCombineType']=isCombineType,_0x291307[_0x54a7f1(0x10a8,0xaab)]=register$5,_0x291307['getClass']=getClass$5,_0x291307[_0x54a7f1(0x664,0x16a)]=create$5,_0x291307['fromDraw']=fromDraw;var GraphicUtil=_0x291307,edgeIntersectsEdge=function edgeIntersectsEdge(_0x4b0760,_0xb74342,_0x545c96,_0x57fec4){var _0x258958=(_0x57fec4[0x0]-_0x545c96[0x0])*(_0x4b0760[0x1]-_0x545c96[0x1])-(_0x57fec4[0x1]-_0x545c96[0x1])*(_0x4b0760[0x0]-_0x545c96[0x0]),_0x27d733=(_0xb74342[0x0]-_0x4b0760[0x0])*(_0x4b0760[0x1]-_0x545c96[0x1])-(_0xb74342[0x1]-_0x4b0760[0x1])*(_0x4b0760[0x0]-_0x545c96[0x0]),_0x5c66c0=(_0x57fec4[0x1]-_0x545c96[0x1])*(_0xb74342[0x0]-_0x4b0760[0x0])-(_0x57fec4[0x0]-_0x545c96[0x0])*(_0xb74342[0x1]-_0x4b0760[0x1]);if(_0x5c66c0!==0x0){var _0x363333=_0x258958/_0x5c66c0,_0x48d183=_0x27d733/_0x5c66c0;if(_0x363333>=0x0&&_0x363333<=0x1&&_0x48d183>=0x0&&_0x48d183<=0x1)return!![];}return![];},coordinatesContainPoint=function coordinatesContainPoint(_0x4002c4,_0x5a195d){const _0x31b445={_0x4cf217:0xb4e,_0x2c96b1:0xb5c};var _0x228626=![];for(var _0xaba75f=-0x1,_0x2bb98f=_0x4002c4[_0x120194(_0x31b445._0x4cf217,_0x31b445._0x2c96b1)],_0x4b9999=_0x2bb98f-0x1;++_0xaba75f<_0x2bb98f;_0x4b9999=_0xaba75f){(_0x4002c4[_0xaba75f][0x1]<=_0x5a195d[0x1]&&_0x5a195d[0x1]<_0x4002c4[_0x4b9999][0x1]||_0x4002c4[_0x4b9999][0x1]<=_0x5a195d[0x1]&&_0x5a195d[0x1]<_0x4002c4[_0xaba75f][0x1])&&_0x5a195d[0x0]<(_0x4002c4[_0x4b9999][0x0]-_0x4002c4[_0xaba75f][0x0])*(_0x5a195d[0x1]-_0x4002c4[_0xaba75f][0x1])/(_0x4002c4[_0x4b9999][0x1]-_0x4002c4[_0xaba75f][0x1])+_0x4002c4[_0xaba75f][0x0]&&(_0x228626=!_0x228626);}function _0x120194(_0x3d66cd,_0x3dc4e5){return _0x54a7f1(_0x3d66cd- -0x437,_0x3dc4e5);}return _0x228626;},pointsEqual=function pointsEqual(_0x1f3370,_0x439938){for(var _0xaff15d=0x0;_0xaff15d<_0x1f3370['length'];_0xaff15d++){if(_0x1f3370[_0xaff15d]!==_0x439938[_0xaff15d])return![];}return!![];},arrayIntersectsArray=function arrayIntersectsArray(_0x45df85,_0x2d7b7f){const _0x585d1a={_0x1f5720:0x1228};function _0x481e97(_0x25f68c,_0x1b8d8b){return _0x54a7f1(_0x25f68c-0x2a3,_0x1b8d8b);}for(var _0x46035c=0x0;_0x46035c<_0x45df85['length']-0x1;_0x46035c++){for(var _0x4512a5=0x0;_0x4512a5<_0x2d7b7f[_0x481e97(_0x585d1a._0x1f5720,0x1a00)]-0x1;_0x4512a5++){if(edgeIntersectsEdge(_0x45df85[_0x46035c],_0x45df85[_0x46035c+0x1],_0x2d7b7f[_0x4512a5],_0x2d7b7f[_0x4512a5+0x1]))return!![];}}return![];},closeRing=function closeRing(_0x1a2c8c){return!pointsEqual(_0x1a2c8c[0x0],_0x1a2c8c[_0x1a2c8c['length']-0x1])&&_0x1a2c8c['push'](_0x1a2c8c[0x0]),_0x1a2c8c;},ringIsClockwise=function ringIsClockwise(_0x2dd52c){var _0x5061de=0x0,_0x4a5458=0x0,_0xbe9954=_0x2dd52c['length'],_0x590d66=_0x2dd52c[_0x4a5458],_0x5e8f98;for(_0x4a5458;_0x4a5458<_0xbe9954-0x1;_0x4a5458++){_0x5e8f98=_0x2dd52c[_0x4a5458+0x1],_0x5061de+=(_0x5e8f98[0x0]-_0x590d66[0x0])*(_0x5e8f98[0x1]+_0x590d66[0x1]),_0x590d66=_0x5e8f98;}return _0x5061de>=0x0;},shallowClone=function shallowClone(_0x21b723){const _0x21caf9={_0x5a0596:0x1ce};var _0x25b848={};for(var _0x17f420 in _0x21b723){_0x21b723[_0x3166f6(0xdc9,0x1779)](_0x17f420)&&(_0x25b848[_0x17f420]=_0x21b723[_0x17f420]);}function _0x3166f6(_0x2f018a,_0x57e28b){return _0x54a7f1(_0x57e28b-_0x21caf9._0x5a0596,_0x2f018a);}return _0x25b848;},coordinatesContainCoordinates=function coordinatesContainCoordinates(_0x1b8048,_0x3c94ef){var _0xf1197b=arrayIntersectsArray(_0x1b8048,_0x3c94ef),_0x74939b=coordinatesContainPoint(_0x1b8048,_0x3c94ef[0x0]);if(!_0xf1197b&&_0x74939b)return!![];return![];},convertRingsToGeoJSON=function convertRingsToGeoJSON(_0x1be11c){const _0x53f91a={_0x42a2eb:0x40d,_0x307491:0xee0,_0x204011:0x4b6,_0x23edd9:0x7a0,_0x1a1e67:0xa89,_0x18af8e:0x6ce},_0x3b650c={_0x111608:0x10e},_0x5418e6={_0x1e655e:0x2fb};var _0x1472ba=[],_0xb672e5=[],_0xdabff5,_0x517a72,_0x16443c;for(var _0x3185f8=0x0;_0x3185f8<_0x1be11c['length'];_0x3185f8++){var _0x535ca2=closeRing(_0x1be11c[_0x3185f8][_0xfcdb7e(0x510,_0x53f91a._0x42a2eb)](0x0));if(_0x535ca2['length']<0x4)continue;if(ringIsClockwise(_0x535ca2)){var _0x5524d6=[_0x535ca2['slice']()[_0x59036b(_0x53f91a._0x307491,_0x53f91a._0x204011)]()];_0x1472ba['push'](_0x5524d6);}else _0xb672e5['push'](_0x535ca2['slice']()[_0x59036b(0x2d5,0x4b6)]());}function _0xfcdb7e(_0x1f28d7,_0x38f6c1){return _0x54a7f1(_0x1f28d7- -_0x5418e6._0x1e655e,_0x38f6c1);}var _0x5b2018=[];while(_0xb672e5['length']){_0x16443c=_0xb672e5['pop']();var _0x260734=![];for(_0xdabff5=_0x1472ba['length']-0x1;_0xdabff5>=0x0;_0xdabff5--){_0x517a72=_0x1472ba[_0xdabff5][0x0];if(coordinatesContainCoordinates(_0x517a72,_0x16443c)){_0x1472ba[_0xdabff5]['push'](_0x16443c),_0x260734=!![];break;}}!_0x260734&&_0x5b2018['push'](_0x16443c);}while(_0x5b2018['length']){_0x16443c=_0x5b2018['pop']();var _0x5a7660=![];for(_0xdabff5=_0x1472ba['length']-0x1;_0xdabff5>=0x0;_0xdabff5--){_0x517a72=_0x1472ba[_0xdabff5][0x0];if(arrayIntersectsArray(_0x517a72,_0x16443c)){_0x1472ba[_0xdabff5][_0x59036b(0xde1,0x1028)](_0x16443c),_0x5a7660=!![];break;}}!_0x5a7660&&_0x1472ba['push']([_0x16443c['reverse']()]);}function _0x59036b(_0x3fb785,_0x12525c){return _0x7afdbe(_0x3fb785,_0x12525c- -_0x3b650c._0x111608);}if(_0x1472ba['length']===0x1){const _0x11f737={};return _0x11f737['type']='Polygon',_0x11f737[_0x59036b(_0x53f91a._0x23edd9,0xea4)]=_0x1472ba[0x0],_0x11f737;}else{const _0x59ef7f={};return _0x59ef7f['type']='MultiPolygon',_0x59ef7f[_0xfcdb7e(_0x53f91a._0x1a1e67,_0x53f91a._0x18af8e)]=_0x1472ba,_0x59ef7f;}},getId=function getId(_0x1d7060,_0x5cb817){const _0x51caaf={_0x10baca:0x1666,_0x3cd184:0x1666};var _0x1fcdd2=_0x5cb817?[_0x5cb817,'OBJECTID',_0x462cad(0x1112,_0x51caaf._0x10baca)]:['OBJECTID',_0x462cad(0x145f,_0x51caaf._0x3cd184)];function _0x512692(_0x367856,_0x58a9bc){return _0x54a7f1(_0x367856- -0x2b5,_0x58a9bc);}for(var _0x5ca8b3=0x0;_0x5ca8b3<_0x1fcdd2['length'];_0x5ca8b3++){var _0x4204e1=_0x1fcdd2[_0x5ca8b3];if(_0x4204e1 in _0x1d7060&&(typeof _0x1d7060[_0x4204e1]==='string'||typeof _0x1d7060[_0x4204e1]==='number'))return _0x1d7060[_0x4204e1];}function _0x462cad(_0x1e8f6a,_0x3d69b0){return _0x54a7f1(_0x3d69b0-0xee,_0x1e8f6a);}throw Error('No\x20valid\x20id\x20attribute\x20found');},arcgisToGeoJSON$1=function arcgisToGeoJSON(_0x527f55,_0x239ca7){const _0x1e6072={_0x13b982:0xf2b,_0x4390d3:0xd58,_0x1a910a:0x3ea,_0x158ba7:0x648,_0x4ca3fb:0x319,_0x4a93b5:0x53c,_0x817a81:0xa21,_0x16a8fa:0xa98,_0x28fa00:0x10a,_0x5823db:0x372,_0x1857cf:0x120,_0xf29155:0x897,_0x40ac64:0xa4e,_0x1f0e81:0x72a,_0xa51fbb:0x4a8,_0x407ad8:0xd9c,_0x28c43f:0xcef,_0x4fba51:0xa21,_0x4e016c:0xd9c,_0x4ea960:0x124c,_0xf2435d:0x1bb1,_0xddb8e1:0x15f9,_0xbf896b:0x119,_0x1780f7:0xc79,_0x513075:0x2a3,_0x41b823:0xb90,_0x56e874:0x12dc,_0x362a6d:0x1152,_0x469ee6:0x1105,_0x3d0318:0x95f,_0x2cd650:0x17bf},_0x59dc28={_0x18823b:0x71b},_0x53717c={_0x266197:0x591};function _0x1a14c6(_0x555397,_0x461347){return _0x7afdbe(_0x461347,_0x555397- -_0x53717c._0x266197);}var _0x4bfdef={};if(_0x527f55['features']){_0x4bfdef['type']=_0x414e81(0x95e,0xff7),_0x4bfdef['features']=[];for(var _0x48cab1=0x0;_0x48cab1<_0x527f55['features']['length'];_0x48cab1++){_0x4bfdef['features']['push'](arcgisToGeoJSON(_0x527f55['features'][_0x48cab1],_0x239ca7));}}typeof _0x527f55['x']==='number'&&typeof _0x527f55['y']===_0x414e81(0x185b,_0x1e6072._0x13b982)&&(_0x4bfdef['type']=_0x1a14c6(_0x1e6072._0x4390d3,0xbe6),_0x4bfdef[_0x1a14c6(0xa21,0xbe5)]=[_0x527f55['x'],_0x527f55['y']],typeof _0x527f55['z']===_0x414e81(0xeb5,0xf2b)&&_0x4bfdef['coordinates'][_0x1a14c6(0xba5,_0x1e6072._0x1a910a)](_0x527f55['z']));_0x527f55[_0x414e81(_0x1e6072._0x158ba7,0x353)]&&(_0x4bfdef['type']=_0x414e81(_0x1e6072._0x4ca3fb,_0x1e6072._0x4a93b5),_0x4bfdef[_0x1a14c6(_0x1e6072._0x817a81,0x9d0)]=_0x527f55['points']['slice'](0x0));function _0x414e81(_0x898936,_0x5d94c5){return _0x7afdbe(_0x898936,_0x5d94c5- -_0x59dc28._0x18823b);}_0x527f55['paths']&&(_0x527f55['paths'][_0x414e81(0xec,_0x1e6072._0x16a8fa)]===0x1?(_0x4bfdef[_0x414e81(0x325,0x349)]='LineString',_0x4bfdef['coordinates']=_0x527f55['paths'][0x0]['slice'](0x0)):(_0x4bfdef['type']=_0x414e81(_0x1e6072._0x28fa00,_0x1e6072._0x5823db),_0x4bfdef[_0x414e81(_0x1e6072._0x1857cf,_0x1e6072._0xf29155)]=_0x527f55[_0x414e81(_0x1e6072._0x40ac64,_0x1e6072._0x1f0e81)][_0x414e81(0xced,0x31e)](0x0)));_0x527f55['rings']&&(_0x4bfdef=convertRingsToGeoJSON(_0x527f55['rings'][_0x1a14c6(_0x1e6072._0xa51fbb,-0x508)](0x0)));typeof _0x527f55[_0x414e81(0x14c4,_0x1e6072._0x407ad8)]===_0x1a14c6(0x10b5,0xf68)&&typeof _0x527f55[_0x414e81(0x8b6,0x627)]==='number'&&typeof _0x527f55['xmax']==='number'&&typeof _0x527f55[_0x414e81(0xd2b,_0x1e6072._0x28c43f)]==='number'&&(_0x4bfdef[_0x414e81(-0x1b2,0x349)]='Polygon',_0x4bfdef[_0x1a14c6(_0x1e6072._0x4fba51,0x395)]=[[[_0x527f55['xmax'],_0x527f55['ymax']],[_0x527f55['xmin'],_0x527f55['ymax']],[_0x527f55[_0x414e81(0x91e,_0x1e6072._0x4e016c)],_0x527f55['ymin']],[_0x527f55['xmax'],_0x527f55['ymin']],[_0x527f55['xmax'],_0x527f55['ymax']]]]);if(_0x527f55[_0x414e81(0xcfc,0x10c2)]||_0x527f55['attributes']){_0x4bfdef['type']='Feature',_0x4bfdef[_0x1a14c6(_0x1e6072._0x4ea960,_0x1e6072._0xf2435d)]=_0x527f55[_0x1a14c6(_0x1e6072._0x4ea960,_0x1e6072._0xddb8e1)]?arcgisToGeoJSON(_0x527f55['geometry']):null,_0x4bfdef['properties']=_0x527f55['attributes']?shallowClone(_0x527f55[_0x1a14c6(-_0x1e6072._0xbf896b,0x117)]):null;if(_0x527f55[_0x414e81(-_0x1e6072._0x1780f7,-_0x1e6072._0x513075)])try{_0x4bfdef['id']=getId(_0x527f55[_0x1a14c6(-_0x1e6072._0xbf896b,0x261)],_0x239ca7);}catch(_0x3d7268){}}return JSON['stringify'](_0x4bfdef[_0x414e81(_0x1e6072._0x41b823,0x10c2)])===JSON['stringify']({})&&(_0x4bfdef[_0x1a14c6(0x124c,0xd85)]=null),_0x527f55[_0x1a14c6(_0x1e6072._0x56e874,0x1ccc)]&&_0x527f55['spatialReference'][_0x414e81(0x475,-0x250)]&&_0x527f55[_0x414e81(0x8ca,_0x1e6072._0x362a6d)]['wkid']!==0x10e6&&console['warn']('Object\x20converted\x20in\x20non-standard\x20crs\x20-\x20'+JSON[_0x414e81(_0x1e6072._0x469ee6,_0x1e6072._0x3d0318)](_0x527f55[_0x1a14c6(0x12dc,_0x1e6072._0x2cd650)])),_0x4bfdef;},orientRings=function orientRings(_0x33c2a7){const _0x3942f9={_0x380afc:0x8a,_0x2b68ce:0x3b3,_0x201816:0xf63,_0x5385b3:0x1a65,_0xbd67ee:0x17c0},_0x3448f2={_0x342473:0x2af};function _0x312777(_0x2fbc8f,_0x36dd4){return _0x7afdbe(_0x2fbc8f,_0x36dd4- -0x686);}var _0x292892=[],_0x4e3be1=_0x33c2a7[_0x312777(-_0x3942f9._0x380afc,_0x3942f9._0x2b68ce)](0x0),_0x4872d2=closeRing(_0x4e3be1['shift']()[_0x312777(-0x3d,0x3b3)](0x0));function _0x226de6(_0x19eaee,_0x4c73c8){return _0x54a7f1(_0x19eaee-_0x3448f2._0x342473,_0x4c73c8);}if(_0x4872d2['length']>=0x4){!ringIsClockwise(_0x4872d2)&&_0x4872d2[_0x226de6(0x645,_0x3942f9._0x201816)]();_0x292892[_0x226de6(0x11b7,_0x3942f9._0x5385b3)](_0x4872d2);for(var _0x41b834=0x0;_0x41b834<_0x4e3be1['length'];_0x41b834++){var _0x3b1bfd=closeRing(_0x4e3be1[_0x41b834][_0x312777(0x161,0x3b3)](0x0));_0x3b1bfd['length']>=0x4&&(ringIsClockwise(_0x3b1bfd)&&_0x3b1bfd['reverse'](),_0x292892[_0x226de6(0x11b7,_0x3942f9._0xbd67ee)](_0x3b1bfd));}}return _0x292892;},flattenMultiPolygonRings=function flattenMultiPolygonRings(_0x50d233){const _0x2f8217={_0x28cfef:0xa6b};var _0x4a11f3=[];function _0x169fed(_0x3c9a13,_0x28f1a8){return _0x54a7f1(_0x3c9a13-0x260,_0x28f1a8);}for(var _0x55f9c3=0x0;_0x55f9c3<_0x50d233[_0x169fed(0x11e5,0x15ef)];_0x55f9c3++){var _0x93f4b6=orientRings(_0x50d233[_0x55f9c3]);for(var _0xe44218=_0x93f4b6['length']-0x1;_0xe44218>=0x0;_0xe44218--){var _0xf646ef=_0x93f4b6[_0xe44218][_0x169fed(_0x2f8217._0x28cfef,0xc1d)](0x0);_0x4a11f3['push'](_0xf646ef);}}function _0xfa7312(_0x34c6b5,_0xd1c557){return _0x54a7f1(_0x34c6b5- -0x264,_0xd1c557);}return _0x4a11f3;},geojsonToArcGIS$1=function geojsonToArcGIS(_0x1e3471,_0x1f5125){const _0x5981fa={_0x52e063:0x17ae,_0x4b3030:0xf52,_0x352691:0x723,_0x60d9c9:0x314,_0x1301cf:0x505,_0x5ce97b:0x1339,_0x13acf1:0x1b54,_0x1652f0:0xd86,_0x2c19d4:0x71f,_0x4888ba:0xa7e,_0x17dd49:0x1705,_0x591418:0x29,_0x3c45ca:0x46a,_0x11a2ec:0x1215,_0x32ecd0:0xa7e,_0x5c475f:0x1073,_0xa09f38:0x1339,_0x594f20:0xdcc,_0x343c2a:0xe2a,_0x24d6cd:0xc7f,_0x134c8f:0x14,_0xe0edfd:0xf71};function _0x25cc6c(_0x28310a,_0x3dda65){return _0x54a7f1(_0x28310a- -0x306,_0x3dda65);}_0x1f5125=_0x1f5125||_0x303dbd(0x539,0xcc4);const _0x107eee={};function _0x303dbd(_0x467cb0,_0x1bdcf8){return _0x54a7f1(_0x467cb0-0x16f,_0x1bdcf8);}_0x107eee[_0x303dbd(0x40c,0xe61)]=0x10e6;var _0x5847ba=_0x107eee,_0x2be932={},_0x4728d3;switch(_0x1e3471[_0x303dbd(0x9a5,0x5c9)]){case'Point':_0x2be932['x']=_0x1e3471['coordinates'][0x0],_0x2be932['y']=_0x1e3471['coordinates'][0x1];_0x1e3471['coordinates'][0x2]!=null&&(_0x2be932['z']=_0x1e3471[_0x25cc6c(0xa7e,0x10b6)][0x2]);_0x2be932[_0x303dbd(_0x5981fa._0x52e063,_0x5981fa._0x4b3030)]=_0x5847ba;break;case _0x25cc6c(_0x5981fa._0x352691,-_0x5981fa._0x60d9c9):_0x2be932['points']=_0x1e3471['coordinates'][_0x25cc6c(_0x5981fa._0x1301cf,0x858)](0x0);_0x1e3471['coordinates'][0x0][0x2]!=null&&(_0x2be932['hasZ']=!![]);_0x2be932[_0x25cc6c(_0x5981fa._0x5ce97b,_0x5981fa._0x13acf1)]=_0x5847ba;break;case'LineString':_0x2be932[_0x303dbd(_0x5981fa._0x1652f0,_0x5981fa._0x2c19d4)]=[_0x1e3471[_0x25cc6c(_0x5981fa._0x4888ba,0x12c7)]['slice'](0x0)];_0x1e3471['coordinates'][0x0][0x2]!=null&&(_0x2be932['hasZ']=!![]);_0x2be932[_0x303dbd(0x17ae,_0x5981fa._0x17dd49)]=_0x5847ba;break;case _0x303dbd(0x9ce,_0x5981fa._0x591418):_0x2be932[_0x25cc6c(0x911,_0x5981fa._0x3c45ca)]=_0x1e3471['coordinates']['slice'](0x0);_0x1e3471['coordinates'][0x0][0x0][0x2]!=null&&(_0x2be932['hasZ']=!![]);_0x2be932[_0x303dbd(0x17ae,0x16fe)]=_0x5847ba;break;case'Polygon':_0x2be932['rings']=orientRings(_0x1e3471[_0x303dbd(0xef3,0x141c)]['slice'](0x0));_0x1e3471[_0x303dbd(0xef3,0x7b5)][0x0][0x0][0x2]!=null&&(_0x2be932[_0x303dbd(0x891,0x1eb)]=!![]);_0x2be932['spatialReference']=_0x5847ba;break;case _0x303dbd(_0x5981fa._0x11a2ec,0x1b2b):_0x2be932['rings']=flattenMultiPolygonRings(_0x1e3471[_0x25cc6c(_0x5981fa._0x32ecd0,_0x5981fa._0x5c475f)]['slice'](0x0));_0x1e3471['coordinates'][0x0][0x0][0x0][0x2]!=null&&(_0x2be932['hasZ']=!![]);_0x2be932[_0x25cc6c(_0x5981fa._0xa09f38,_0x5981fa._0x594f20)]=_0x5847ba;break;case'Feature':_0x1e3471['geometry']&&(_0x2be932['geometry']=geojsonToArcGIS(_0x1e3471['geometry'],_0x1f5125));_0x2be932['attributes']=_0x1e3471['properties']?shallowClone(_0x1e3471[_0x25cc6c(0x100e,0x1511)]):{};_0x1e3471['id']&&(_0x2be932['attributes'][_0x1f5125]=_0x1e3471['id']);break;case'FeatureCollection':_0x2be932=[];for(_0x4728d3=0x0;_0x4728d3<_0x1e3471[_0x303dbd(0x67b,_0x5981fa._0x343c2a)][_0x25cc6c(_0x5981fa._0x24d6cd,0x1c2)];_0x4728d3++){_0x2be932[_0x25cc6c(0xc02,0x1a4)](geojsonToArcGIS(_0x1e3471['features'][_0x4728d3],_0x1f5125));}break;case _0x25cc6c(0x880,_0x5981fa._0x134c8f):_0x2be932=[];for(_0x4728d3=0x0;_0x4728d3<_0x1e3471[_0x303dbd(0x18cd,0x1bea)][_0x25cc6c(0xc7f,_0x5981fa._0xe0edfd)];_0x4728d3++){_0x2be932['push'](geojsonToArcGIS(_0x1e3471['geometries'][_0x4728d3],_0x1f5125));}break;}return _0x2be932;};function globals(_0x363627){const _0x46e17a={_0xe197d3:0xcb8,_0x359c90:0x1fc,_0x32f207:0x100f,_0x1cf065:0xcae};_0x363627(_0x10eb5b(0x141c,_0x46e17a._0xe197d3),'+title=WGS\x2084\x20(long/lat)\x20+proj=longlat\x20+ellps=WGS84\x20+datum=WGS84\x20+units=degrees'),_0x363627(_0x10eb5b(_0x46e17a._0x359c90,0xa0f),'+title=NAD83\x20(long/lat)\x20+proj=longlat\x20+a=6378137.0\x20+b=6356752.31414036\x20+ellps=GRS80\x20+datum=NAD83\x20+units=degrees'),_0x363627('EPSG:3857',_0x10eb5b(0x1190,0xa8d));function _0x10eb5b(_0x1b3f72,_0x6e938f){return _0x54a7f1(_0x6e938f- -0x33f,_0x1b3f72);}_0x363627['WGS84']=_0x363627[_0x10eb5b(0x525,0xcb8)],_0x363627[_0x3e3cdc(0x14ad,_0x46e17a._0x32f207)]=_0x363627['EPSG:3857'],_0x363627['GOOGLE']=_0x363627['EPSG:3857'];function _0x3e3cdc(_0x5d71d1,_0x28e1da){return _0x7afdbe(_0x5d71d1,_0x28e1da- -0x274);}_0x363627['EPSG:900913']=_0x363627[_0x3e3cdc(_0x46e17a._0x1cf065,0x165a)],_0x363627['EPSG:102113']=_0x363627['EPSG:3857'];}var PJD_3PARAM=0x1,PJD_7PARAM=0x2,PJD_GRIDSHIFT=0x3,PJD_WGS84=0x4,PJD_NODATUM=0x5,SRS_WGS84_SEMIMAJOR=0x615299,SRS_WGS84_SEMIMINOR=6356752.314,SRS_WGS84_ESQUARED=0.0066943799901413165,SEC_TO_RAD=0.00000484813681109536,HALF_PI=Math['PI']/0x2,SIXTH=0.16666666666666666,RA4=0.04722222222222222,RA6=0.022156084656084655,EPSLN=1e-10,D2R$1=0.017453292519943295,R2D=57.29577951308232,FORTPI=Math['PI']/0x4,TWO_PI=Math['PI']*0x2,SPI=3.14159265359,exports$3={};exports$3[_0x7afdbe(0x1803,0x1195)]=0x0,exports$3['lisbon']=-9.131906111111,exports$3['paris']=2.337229166667,exports$3['bogota']=-74.080916666667,exports$3['madrid']=-3.687938888889,exports$3[_0x54a7f1(0x1700,0x20f1)]=12.452333333333,exports$3['bern']=7.439583333333,exports$3[_0x54a7f1(0x1224,0x1315)]=106.807719444444,exports$3['ferro']=-17.666666666667,exports$3[_0x7afdbe(0x7cb,0x10bc)]=4.367975,exports$3[_0x54a7f1(0xd92,0x12cc)]=18.058277777778,exports$3[_0x54a7f1(0x7da,0x74b)]=23.7163375,exports$3[_0x54a7f1(0x5b0,-0x193)]=10.722916666667;const _0x4fa9c4={};_0x4fa9c4['to_meter']=0.3048;const _0x19eac7={};_0x19eac7['to_meter']=0x4b0/0xf61;const _0x18f3c0={};_0x18f3c0['ft']=_0x4fa9c4,_0x18f3c0['us-ft']=_0x19eac7;var units=_0x18f3c0,ignoredChar=/[\s_\-\/\(\)]/g;function match(_0x1834c8,_0x29a8b2){if(_0x1834c8[_0x29a8b2])return _0x1834c8[_0x29a8b2];var _0x41a46f=Object['keys'](_0x1834c8),_0x4f03b1=_0x29a8b2['toLowerCase']()['replace'](ignoredChar,''),_0x40d8c5=-0x1,_0x5a09b8,_0x2a86d0;while(++_0x40d8c5<_0x41a46f['length']){_0x5a09b8=_0x41a46f[_0x40d8c5],_0x2a86d0=_0x5a09b8['toLowerCase']()['replace'](ignoredChar,'');if(_0x2a86d0===_0x4f03b1)return _0x1834c8[_0x5a09b8];}}function projStr(_0x303b1a){const _0x5dbb6b={_0x2f2d57:0xd68,_0x29cdb0:0x5f7,_0x2d47f8:0x167c,_0x2b4da4:0xb69,_0xf24028:0x11f8,_0x38d672:0xb3d,_0x5e93fe:0x86c},_0x11249f={_0x2ca189:0x66e},_0x24d56b={_0x4cbd51:0x63f,_0x13e3ce:0x2fa,_0x2f8aad:0xc07},_0x637e8b={_0x3ccbbf:0xa24},_0x4d6e09={_0x227e5f:0x12},_0x2269a2={_0x181b17:0x27f,_0x88c89b:0x1bc},_0x318a8d={_0x140eb7:0x93e},_0x4e97a7={_0x29e8cf:0x16f};var _0xe473b1={},_0x2cbc80=_0x303b1a[_0x5ed844(_0x5dbb6b._0x2f2d57,0xccb)]('+')[_0x5ed844(_0x5dbb6b._0x29cdb0,0xbc1)](function(_0x58859f){return _0x58859f['trim']();})[_0x7c233a(_0x5dbb6b._0x2d47f8,0xee3)](function(_0x2039cb){return _0x2039cb;})['reduce'](function(_0x31e5fd,_0x41c174){var _0x53568e=_0x41c174['split']('=');return _0x53568e['push'](!![]),_0x31e5fd[_0x53568e[0x0]['toLowerCase']()]=_0x53568e[0x1],_0x31e5fd;},{}),_0x1c405d,_0x3cd4a7,_0x409f49;function _0x7c233a(_0x22f0ca,_0x58606e){return _0x54a7f1(_0x58606e- -_0x4e97a7._0x29e8cf,_0x22f0ca);}var _0x1269eb={'proj':'projName','datum':_0x5ed844(0x86c,_0x5dbb6b._0x2b4da4),'rf':function(_0x1a29fa){_0xe473b1['rf']=parseFloat(_0x1a29fa);},'lat_0':function(_0x374ad2){_0xe473b1['lat0']=_0x374ad2*D2R$1;},'lat_1':function(_0x4ac2bf){_0xe473b1['lat1']=_0x4ac2bf*D2R$1;},'lat_2':function(_0xcf1126){_0xe473b1['lat2']=_0xcf1126*D2R$1;},'lat_ts':function(_0x877e2){_0xe473b1['lat_ts']=_0x877e2*D2R$1;},'lon_0':function(_0x194b26){const _0x47bc37={_0x48002a:0x3c0};function _0x1fea8e(_0x43a12b,_0x4c254d){return _0x5ed844(_0x43a12b-_0x47bc37._0x48002a,_0x4c254d);}_0xe473b1[_0x1fea8e(0x110f,0x95c)]=_0x194b26*D2R$1;},'lon_1':function(_0x3aa782){_0xe473b1['long1']=_0x3aa782*D2R$1;},'lon_2':function(_0x253bc1){_0xe473b1['long2']=_0x253bc1*D2R$1;},'alpha':function(_0x2df5b9){_0xe473b1['alpha']=parseFloat(_0x2df5b9)*D2R$1;},'gamma':function(_0x14696f){_0xe473b1['rectified_grid_angle']=parseFloat(_0x14696f);},'lonc':function(_0x99a002){function _0x4bfacb(_0x523add,_0x4ac5de){return _0x7c233a(_0x4ac5de,_0x523add- -0x10f);}_0xe473b1[_0x4bfacb(0xb2a,_0x318a8d._0x140eb7)]=_0x99a002*D2R$1;},'x_0':function(_0x405ee7){_0xe473b1['x0']=parseFloat(_0x405ee7);},'y_0':function(_0xc46b3f){_0xe473b1['y0']=parseFloat(_0xc46b3f);},'k_0':function(_0x3625c7){_0xe473b1['k0']=parseFloat(_0x3625c7);},'k':function(_0x53baa9){_0xe473b1['k0']=parseFloat(_0x53baa9);},'a':function(_0x90f86f){_0xe473b1['a']=parseFloat(_0x90f86f);},'b':function(_0x4599b8){_0xe473b1['b']=parseFloat(_0x4599b8);},'r_a':function(){_0xe473b1['R_A']=!![];},'zone':function(_0x272e71){const _0x5ae83d={_0x2226d6:0x15f};function _0x40988c(_0x4e6f6e,_0x5b8321){return _0x7c233a(_0x4e6f6e,_0x5b8321- -_0x5ae83d._0x2226d6);}_0xe473b1[_0x40988c(0x485,0x795)]=parseInt(_0x272e71,0xa);},'south':function(){function _0x22602c(_0x546558,_0x510a37){return _0x7c233a(_0x510a37,_0x546558- -0x1d5);}_0xe473b1[_0x22602c(0x12fe,0x9d0)]=!![];},'towgs84':function(_0x35b674){_0xe473b1['datum_params']=_0x35b674['split'](',')['map'](function(_0x57d630){return parseFloat(_0x57d630);});},'to_meter':function(_0x1af490){_0xe473b1['to_meter']=parseFloat(_0x1af490);},'units':function(_0x4c2e70){_0xe473b1['units']=_0x4c2e70;var _0x4b7462=match(units,_0x4c2e70);_0x4b7462&&(_0xe473b1['to_meter']=_0x4b7462['to_meter']);},'from_greenwich':function(_0x374d79){function _0x5a1fb1(_0x5981b3,_0x4f7ca5){return _0x5ed844(_0x4f7ca5- -0x8a,_0x5981b3);}_0xe473b1[_0x5a1fb1(-_0x2269a2._0x181b17,-_0x2269a2._0x88c89b)]=_0x374d79*D2R$1;},'pm':function(_0x568ec1){function _0x3459c6(_0x14e21d,_0x412c47){return _0x5ed844(_0x14e21d- -_0x4d6e09._0x227e5f,_0x412c47);}var _0x17b5dc=match(exports$3,_0x568ec1);_0xe473b1[_0x3459c6(-0x144,-0x437)]=(_0x17b5dc?_0x17b5dc:parseFloat(_0x568ec1))*D2R$1;},'nadgrids':function(_0xc9fa25){const _0x47b483={_0x43be10:0x33a};function _0x3e6b56(_0x4dcc6c,_0x2fa017){return _0x7c233a(_0x4dcc6c,_0x2fa017-_0x47b483._0x43be10);}_0xc9fa25==='@null'?_0xe473b1['datumCode']='none':_0xe473b1[_0x3e6b56(_0x637e8b._0x3ccbbf,0x874)]=_0xc9fa25;},'axis':function(_0x2e9bb4){const _0xfdd742={_0x108b3b:0x4d0};function _0x5e6495(_0x243b52,_0xb5b684){return _0x5ed844(_0x243b52-_0xfdd742._0x108b3b,_0xb5b684);}function _0x5f06a3(_0x320b71,_0xeed98a){return _0x5ed844(_0x320b71- -0x90,_0xeed98a);}var _0x23ae63='ewnsud';_0x2e9bb4['length']===0x3&&_0x23ae63[_0x5e6495(_0x24d56b._0x4cbd51,0xbca)](_0x2e9bb4[_0x5f06a3(0x9cb,_0x24d56b._0x13e3ce)](0x0,0x1))!==-0x1&&_0x23ae63[_0x5e6495(_0x24d56b._0x4cbd51,_0x24d56b._0x2f8aad)](_0x2e9bb4['substr'](0x1,0x1))!==-0x1&&_0x23ae63[_0x5e6495(0x63f,0xdd4)](_0x2e9bb4[_0x5e6495(0xf2b,0x17ab)](0x2,0x1))!==-0x1&&(_0xe473b1['axis']=_0x2e9bb4);},'approx':function(){function _0x49e35e(_0x48972e,_0x25c703){return _0x7c233a(_0x25c703,_0x48972e- -0x45);}_0xe473b1[_0x49e35e(0x37c,-0x170)]=!![];}};for(_0x1c405d in _0x2cbc80){_0x3cd4a7=_0x2cbc80[_0x1c405d],_0x1c405d in _0x1269eb?(_0x409f49=_0x1269eb[_0x1c405d],typeof _0x409f49==='function'?_0x409f49(_0x3cd4a7):_0xe473b1[_0x409f49]=_0x3cd4a7):_0xe473b1[_0x1c405d]=_0x3cd4a7;}typeof _0xe473b1['datumCode']===_0x5ed844(0xdb9,0x487)&&_0xe473b1[_0x7c233a(_0x5dbb6b._0xf24028,_0x5dbb6b._0x38d672)]!=='WGS84'&&(_0xe473b1[_0x7c233a(0x6ce,0xb3d)]=_0xe473b1[_0x5ed844(_0x5dbb6b._0x5e93fe,0x47b)]['toLowerCase']());function _0x5ed844(_0x87415e,_0x10c4d2){return _0x7afdbe(_0x10c4d2,_0x87415e- -_0x11249f._0x2ca189);}return _0xe473b1;}var NEUTRAL=0x1,KEYWORD=0x2,NUMBER=0x3,QUOTED=0x4,AFTERQUOTE=0x5,ENDED=-0x1,whitespace=/\s/,latin=/[A-Za-z]/,keyword=/[A-Za-z84_]/,endThings=/[,\]]/,digets=/[\d\.E\-\+]/;function Parser(_0x22e63d){const _0x3f1ad8={_0x4a6e24:0x8af,_0x2f5ed0:0xf7f,_0xa18621:0xe81,_0x57cb32:0x599};if(typeof _0x22e63d!==_0x403a60(_0x3f1ad8._0x4a6e24,_0x3f1ad8._0x2f5ed0))throw new Error('not\x20a\x20string');this[_0x403a60(0x1188,_0x3f1ad8._0xa18621)]=_0x22e63d[_0x403a60(0xad4,0xfd2)](),this[_0x403a60(_0x3f1ad8._0x57cb32,0x252)]=0x0,this['place']=0x0,this['root']=null;function _0x403a60(_0x524d1c,_0x514716){return _0x54a7f1(_0x514716- -0x27a,_0x524d1c);}this[_0x1cd239(0x942,-0x188)]=[];function _0x1cd239(_0x288b32,_0x725550){return _0x54a7f1(_0x288b32- -0x149,_0x725550);}this[_0x403a60(-0x1fb,0x41)]=null,this['state']=NEUTRAL;}Parser['prototype']['readCharicter']=function(){const _0xbb47d6={_0x230cc0:0xcb5,_0x50a397:0x31e,_0x5447cf:0x11c9,_0x4f7e5b:0x1449,_0x3adfb:0x1370,_0xbc1404:0x1b1e};var _0x23ea77=this[_0x35d2f7(0xe06,_0xbb47d6._0x230cc0)][this[_0x13cedc(_0xbb47d6._0x50a397,-0x1f5)]++];function _0x13cedc(_0x1a22ba,_0x188b35){return _0x54a7f1(_0x1a22ba-0xce,_0x188b35);}if(this['state']!==QUOTED)while(whitespace['test'](_0x23ea77)){if(this['place']>=this[_0x13cedc(_0xbb47d6._0x5447cf,_0xbb47d6._0x4f7e5b)][_0x13cedc(0x1053,0x875)])return;_0x23ea77=this['text'][this['place']++];}function _0x35d2f7(_0x5f309e,_0x4d2621){return _0x7afdbe(_0x4d2621,_0x5f309e- -0x523);}switch(this['state']){case NEUTRAL:return this['neutral'](_0x23ea77);case KEYWORD:return this['keyword'](_0x23ea77);case QUOTED:return this['quoted'](_0x23ea77);case AFTERQUOTE:return this[_0x13cedc(_0xbb47d6._0x3adfb,_0xbb47d6._0xbc1404)](_0x23ea77);case NUMBER:return this['number'](_0x23ea77);case ENDED:return;}},Parser['prototype']['afterquote']=function(_0x4bff2e){const _0x2ecd72={_0x172578:0x4eb,_0x36d7d1:0xc5,_0x4f8924:0x245};if(_0x4bff2e==='\x22'){this['word']+='\x22',this['state']=QUOTED;return;}function _0xc96093(_0x252a4b,_0x33b568){return _0x7afdbe(_0x252a4b,_0x33b568- -0x24b);}function _0x583548(_0x2fa4fe,_0x12ebf9){return _0x54a7f1(_0x2fa4fe- -0x3a3,_0x12ebf9);}if(endThings['test'](_0x4bff2e)){this[_0x583548(_0x2ecd72._0x172578,-_0x2ecd72._0x36d7d1)]=this[_0x583548(_0x2ecd72._0x172578,-0x1c1)]['trim'](),this['afterItem'](_0x4bff2e);return;}throw new Error(_0x583548(0x14f,_0x2ecd72._0x4f8924)+_0x4bff2e+'\x22\x20in\x20afterquote\x20yet,\x20index\x20'+this['place']);},Parser['prototype'][_0x7afdbe(0xacf,0x11fe)]=function(_0x20cc46){const _0x227183={_0xa37618:0x96,_0x70ea6b:0x696,_0x39f442:0xa58,_0x5f072f:0x1261,_0x438ca6:0x987,_0x256df8:0x178c,_0x5400ca:0x430},_0x3cb5af={_0x244bcf:0x64};function _0x38ed37(_0x1889fb,_0xdacb97){return _0x7afdbe(_0x1889fb,_0xdacb97- -_0x3cb5af._0x244bcf);}function _0x3420ac(_0x390bec,_0x11b39d){return _0x7afdbe(_0x11b39d,_0x390bec-0x57);}if(_0x20cc46===','){this['word']!==null&&this['currentObject']['push'](this['word']);this['word']=null,this['state']=NEUTRAL;return;}if(_0x20cc46===']'){this[_0x38ed37(-_0x227183._0xa37618,_0x227183._0x70ea6b)]--;this['word']!==null&&(this[_0x3420ac(0x540,0xa95)]['push'](this[_0x38ed37(0x144c,_0x227183._0x39f442)]),this[_0x38ed37(_0x227183._0x5f072f,0xa58)]=null);this['state']=NEUTRAL,this[_0x3420ac(0x540,0x7ea)]=this[_0x3420ac(0xd10,_0x227183._0x438ca6)][_0x38ed37(0x1dfb,_0x227183._0x256df8)]();!this[_0x38ed37(_0x227183._0x5400ca,0x485)]&&(this[_0x38ed37(0x779,0xc96)]=ENDED);return;}},Parser['prototype'][_0x54a7f1(0x1418,0x1ecf)]=function(_0x41a72e){const _0x5a1434={_0x4080c0:0x7ec,_0x4fb8ec:0xbe3,_0x1aa788:0x6f,_0x6af49b:0x7a4},_0x2ec7ac={_0x2682a3:0x2bf},_0x525ece={_0x558491:0x259};function _0x46a27d(_0x39f007,_0x386494){return _0x54a7f1(_0x386494- -_0x525ece._0x558491,_0x39f007);}if(digets['test'](_0x41a72e)){this[_0x18e7fa(0x5cf,-0x2cf)]+=_0x41a72e;return;}if(endThings['test'](_0x41a72e)){this['word']=parseFloat(this['word']),this['afterItem'](_0x41a72e);return;}function _0x18e7fa(_0x2b4da8,_0x1cd088){return _0x54a7f1(_0x2b4da8- -_0x2ec7ac._0x2682a3,_0x1cd088);}throw new Error('havn\x27t\x20handled\x20\x22'+_0x41a72e+_0x18e7fa(_0x5a1434._0x4080c0,_0x5a1434._0x4fb8ec)+this[_0x18e7fa(-_0x5a1434._0x1aa788,-_0x5a1434._0x6af49b)]);},Parser['prototype'][_0x7afdbe(0x1466,0x15b6)]=function(_0xcafc8b){if(_0xcafc8b==='\x22'){this['state']=AFTERQUOTE;return;}this['word']+=_0xcafc8b;return;},Parser['prototype']['keyword']=function(_0x4f6190){const _0x5a577f={_0x3e7b59:0xdfa,_0x10236e:0x1ad,_0x5df974:0x401,_0x59ba4d:0x19a},_0x339a89={_0x13a048:0x221};if(keyword['test'](_0x4f6190)){this['word']+=_0x4f6190;return;}if(_0x4f6190==='['){var _0x14f93e=[];_0x14f93e[_0x595321(0xaab,_0x5a577f._0x3e7b59)](this[_0x36b3bc(0xeac,0x66d)]),this['level']++;this[_0x36b3bc(0x865,0xfac)]===null?this[_0x595321(0x12a7,0x10bf)]=_0x14f93e:this[_0x595321(0x366,_0x5a577f._0x10236e)]['push'](_0x14f93e);this['stack']['push'](this['currentObject']),this['currentObject']=_0x14f93e,this['state']=NEUTRAL;return;}function _0x595321(_0x412b8d,_0xfff9d4){return _0x54a7f1(_0xfff9d4- -0x10e,_0x412b8d);}function _0x36b3bc(_0x7a4a83,_0x3b92e1){return _0x54a7f1(_0x3b92e1- -_0x339a89._0x13a048,_0x7a4a83);}if(endThings[_0x595321(-_0x5a577f._0x5df974,0x423)](_0x4f6190)){this['afterItem'](_0x4f6190);return;}throw new Error('havn\x27t\x20handled\x20\x22'+_0x4f6190+_0x36b3bc(-0xf0,0x698)+this[_0x36b3bc(_0x5a577f._0x59ba4d,0x2f)]);},Parser['prototype'][_0x54a7f1(0x844,0xb07)]=function(_0x1d2a56){const _0x33cc9b={_0xd3b4fc:0x513,_0x596a44:0x51,_0xadac8c:0x870,_0x49527d:0x676,_0x468abd:0x16a,_0x5e838c:0x870,_0x1ae705:0x34e},_0x516322={_0x435c62:0x3d2};if(latin[_0xc5818f(0xf59,_0x33cc9b._0xd3b4fc)](_0x1d2a56)){this[_0xc5818f(-_0x33cc9b._0x596a44,_0x33cc9b._0xadac8c)]=_0x1d2a56,this[_0xc5818f(_0x33cc9b._0x49527d,0xaae)]=KEYWORD;return;}if(_0x1d2a56==='\x22'){this[_0xc5818f(0x281,_0x33cc9b._0xadac8c)]='',this['state']=QUOTED;return;}if(digets['test'](_0x1d2a56)){this[_0xc5818f(-_0x33cc9b._0x468abd,_0x33cc9b._0x5e838c)]=_0x1d2a56,this['state']=NUMBER;return;}function _0xc5818f(_0x38abc8,_0x4a351e){return _0x54a7f1(_0x4a351e- -0x1e,_0x38abc8);}function _0x4f100a(_0x311900,_0x4ac7d2){return _0x7afdbe(_0x311900,_0x4ac7d2- -_0x516322._0x435c62);}if(endThings['test'](_0x1d2a56)){this['afterItem'](_0x1d2a56);return;}throw new Error(_0x4f100a(0x380,_0x33cc9b._0x1ae705)+_0x1d2a56+'\x22\x20in\x20neutral\x20yet,\x20index\x20'+this['place']);},Parser['prototype']['output']=function(){const _0x1e9bc1={_0x3d4816:0x42,_0x270baa:0xaec,_0x59a3cd:0xeed};while(this[_0x4a157a(0x2d0,_0x1e9bc1._0x3d4816)]<this['text']['length']){this['readCharicter']();}function _0x4a157a(_0x1d673f,_0xb21df2){return _0x7afdbe(_0x1d673f,_0xb21df2- -0x43c);}function _0x1265d4(_0x561226,_0x10219d){return _0x54a7f1(_0x10219d- -0x4a2,_0x561226);}if(this['state']===ENDED)return this[_0x1265d4(0x709,0xd2b)];throw new Error(_0x4a157a(0xbdb,0xbf0)+this[_0x4a157a(_0x1e9bc1._0x270baa,_0x1e9bc1._0x59a3cd)]+'\x22.\x20State\x20is\x20'+this['state']);};function parseString(_0x2550b3){var _0x4ef0b2=new Parser(_0x2550b3);return _0x4ef0b2['output']();}function mapit(_0x2cf0bd,_0x253ec7,_0x5206e5){const _0x5b7096={_0x36221a:0x16ac,_0x3db413:0x69c},_0x54382f={_0x189c82:0x281};function _0x162d2a(_0x4427bf,_0x1c4bab){return _0x54a7f1(_0x1c4bab-0xba,_0x4427bf);}Array[_0x162d2a(_0x5b7096._0x36221a,0x1528)](_0x253ec7)&&(_0x5206e5[_0x162d2a(0xc69,_0x5b7096._0x3db413)](_0x253ec7),_0x253ec7=null);var _0x547e27=_0x253ec7?{}:_0x2cf0bd;function _0x4c6a62(_0x77c6d9,_0x432ffd){return _0x7afdbe(_0x432ffd,_0x77c6d9- -_0x54382f._0x189c82);}var _0x536835=_0x5206e5[_0x4c6a62(0xaea,0x744)](function(_0x2c8032,_0x5e1632){return sExpr(_0x5e1632,_0x2c8032),_0x2c8032;},_0x547e27);_0x253ec7&&(_0x2cf0bd[_0x253ec7]=_0x536835);}function sExpr(_0x5bee9d,_0x57e220){const _0x17da02={_0x361d56:0xd04,_0x5df19a:0x1370,_0x5cb03d:0x260,_0x5dac58:0x4a3,_0x52ef75:0x3f1,_0x1b0d16:0x31c,_0x5c4e9a:0x1855,_0x14da59:0x1353,_0xa41c67:0x1708,_0x23ccdd:0x570,_0x3f8d2e:0x18cf,_0x243565:0x5e4,_0x188a32:0xdfe,_0x457a54:0x1248},_0x767635={_0x43fb63:0x145};function _0x563afa(_0x27f126,_0x4eb683){return _0x54a7f1(_0x27f126- -0x281,_0x4eb683);}function _0x197624(_0x463393,_0x54f120){return _0x7afdbe(_0x54f120,_0x463393- -_0x767635._0x43fb63);}if(!Array['isArray'](_0x5bee9d)){_0x57e220[_0x5bee9d]=!![];return;}var _0xca12da=_0x5bee9d['shift']();_0xca12da==='PARAMETER'&&(_0xca12da=_0x5bee9d['shift']());if(_0x5bee9d[_0x563afa(_0x17da02._0x361d56,_0x17da02._0x5df19a)]===0x1){if(Array['isArray'](_0x5bee9d[0x0])){_0x57e220[_0xca12da]={},sExpr(_0x5bee9d[0x0],_0x57e220[_0xca12da]);return;}_0x57e220[_0xca12da]=_0x5bee9d[0x0];return;}if(!_0x5bee9d['length']){_0x57e220[_0xca12da]=!![];return;}if(_0xca12da===_0x197624(0xf26,0x9d8)){_0x57e220[_0xca12da]=_0x5bee9d;return;}if(_0xca12da===_0x563afa(-0x3e,0x4b9)){!(_0xca12da in _0x57e220)&&(_0x57e220[_0xca12da]=[]);_0x57e220[_0xca12da]['push'](_0x5bee9d);return;}!Array['isArray'](_0xca12da)&&(_0x57e220[_0xca12da]={});var _0x513aad;switch(_0xca12da){case _0x563afa(_0x17da02._0x5cb03d,_0x17da02._0x5dac58):case _0x197624(_0x17da02._0x52ef75,-_0x17da02._0x1b0d16):case _0x197624(0xfb1,_0x17da02._0x5c4e9a):_0x57e220[_0xca12da]={'name':_0x5bee9d[0x0]['toLowerCase'](),'convert':_0x5bee9d[0x1]};_0x5bee9d['length']===0x3&&sExpr(_0x5bee9d[0x2],_0x57e220[_0xca12da]);return;case'SPHEROID':case _0x197624(_0x17da02._0x14da59,0x1d16):const _0x3ab4df={};_0x3ab4df['name']=_0x5bee9d[0x0],_0x3ab4df['a']=_0x5bee9d[0x1],_0x3ab4df['rf']=_0x5bee9d[0x2],_0x57e220[_0xca12da]=_0x3ab4df;_0x5bee9d[_0x197624(0x106e,_0x17da02._0xa41c67)]===0x4&&sExpr(_0x5bee9d[0x3],_0x57e220[_0xca12da]);return;case _0x197624(0x5ec,0x7e2):case'PROJCRS':case'GEOGCS':case'GEOCCS':case'PROJCS':case _0x563afa(0x14e7,0x13b3):case'GEODCRS':case _0x563afa(0x426,-_0x17da02._0x23ccdd):case _0x197624(0xfd1,_0x17da02._0x3f8d2e):case'EDATUM':case _0x563afa(0x794,0xda5):case'VERT_CS':case'VERTCRS':case'VERTICALCRS':case _0x563afa(0x904,_0x17da02._0x243565):case _0x197624(_0x17da02._0x188a32,_0x17da02._0x457a54):case _0x197624(0x1793,0x1db9):case'ENGCRS':case'FITTED_CS':case'LOCAL_DATUM':case'DATUM':_0x5bee9d[0x0]=['name',_0x5bee9d[0x0]],mapit(_0x57e220,_0xca12da,_0x5bee9d);return;default:_0x513aad=-0x1;while(++_0x513aad<_0x5bee9d['length']){if(!Array[_0x563afa(0x11ed,0x1b5d)](_0x5bee9d[_0x513aad]))return sExpr(_0x5bee9d,_0x57e220[_0xca12da]);}return mapit(_0x57e220,_0xca12da,_0x5bee9d);}}var D2R=0.017453292519943295;function rename(_0x455f9d,_0x15ddf8){var _0x164dd4=_0x15ddf8[0x0],_0x53d9ae=_0x15ddf8[0x1];!(_0x164dd4 in _0x455f9d)&&_0x53d9ae in _0x455f9d&&(_0x455f9d[_0x164dd4]=_0x455f9d[_0x53d9ae],_0x15ddf8['length']===0x3&&(_0x455f9d[_0x164dd4]=_0x15ddf8[0x2](_0x455f9d[_0x164dd4])));}function d2r(_0x5d7022){return _0x5d7022*D2R;}function cleanWKT(_0x845b6e){const _0x525538={_0x51e2e0:0x570,_0x59c36b:0x13df,_0x357b3b:0xc83,_0x4483b7:0x1e41,_0x46ab55:0x32c,_0x26e36c:0x4f5,_0x2c1d48:0xc83,_0x2e4bea:0xc9d,_0x231472:0x53d,_0x57ce4a:0x13b0,_0x2b5b6a:0xf98,_0x1aaa36:0xf8b,_0x1e1453:0x18f8,_0x3b1701:0x280,_0x5a0e60:0x435,_0x22c018:0x90e,_0x162370:0x21b,_0x15029a:0x54d,_0x300cee:0xfb6,_0x1d0859:0x856,_0x4aac2f:0xd06,_0x356d52:0x2b7,_0x434fb6:0x74d,_0x4aa9c0:0x42c,_0x445d32:0x311,_0x442050:0xd5,_0x522060:0x1268,_0x5b9f66:0xd30,_0x45bf77:0x9e6,_0x1d5c1:0x105a,_0x599e1f:0x42b,_0x4578f2:0x4c,_0x104bfd:0x97d,_0xd8b7d8:0x117d,_0x3e4931:0x1378,_0x475866:0xe7,_0x4086f5:0x10eb,_0x3a13cb:0xd9e,_0x20f13b:0xb56,_0x3ac211:0x373,_0x5bf672:0x35f,_0x33f1e9:0xc1d,_0x45414b:0x11fe,_0x1e3435:0x406,_0xf3da69:0x217,_0x4e9bdb:0x495,_0x239661:0x7d9,_0x43cfe6:0x9e6,_0x3e08bd:0x139b,_0x1d6812:0x13f1,_0x445980:0x557,_0x1ad1b6:0x280,_0x56fcc3:0x394,_0x4647e8:0x1cc,_0x1bf582:0x9d3,_0x27e29c:0x234,_0x33ba4a:0xbc8,_0x7a65ec:0x754,_0x1061bd:0xfcf,_0x120ecc:0x291,_0x2e6459:0x8c6,_0x4add7f:0x1136,_0x1db63f:0x1262,_0x566207:0x1a6e,_0x1084a5:0xe60,_0x15f5e6:0xc34,_0x1a8d11:0x881,_0x1818c3:0x1854,_0x4e49d5:0xb6f,_0x5c9f3e:0x11e3,_0x53f5d1:0x1308,_0x2cce73:0xf71,_0x597324:0x121b,_0x182ed1:0x6c8,_0x247c63:0xa7,_0x2cd5e3:0xae2,_0x4a3b36:0x500,_0x1e1fe9:0xae2,_0x39ee11:0x4f9,_0x2f5ebb:0xb6f},_0x52de75={_0xb2c059:0x4f4};if(_0x845b6e[_0x473ad8(_0x525538._0x51e2e0,-0x468)]==='GEOGCS')_0x845b6e[_0x531fc3(_0x525538._0x59c36b,_0x525538._0x357b3b)]=_0x531fc3(0x11a4,0x72d);else _0x845b6e['type']===_0x473ad8(0x14a2,_0x525538._0x4483b7)?(_0x845b6e['projName']=_0x473ad8(0x1006,0xb83),_0x845b6e['local']=!![]):typeof _0x845b6e['PROJECTION']==='object'?_0x845b6e['projName']=Object[_0x531fc3(_0x525538._0x46ab55,_0x525538._0x26e36c)](_0x845b6e['PROJECTION'])[0x0]:_0x845b6e[_0x531fc3(0x1658,_0x525538._0x2c1d48)]=_0x845b6e[_0x531fc3(_0x525538._0x2e4bea,_0x525538._0x231472)];if(_0x845b6e[_0x531fc3(-0x67c,-0xec)]){var _0x47a7bb='';for(var _0x43f7fb=0x0,_0x4a7d91=_0x845b6e['AXIS']['length'];_0x43f7fb<_0x4a7d91;++_0x43f7fb){var _0x120544=[_0x845b6e['AXIS'][_0x43f7fb][0x0][_0x473ad8(0x494,-0x334)](),_0x845b6e['AXIS'][_0x43f7fb][0x1][_0x531fc3(-0x31d,0x42b)]()];if(_0x120544[0x0][_0x473ad8(0x2e9,0x347)]('north')!==-0x1||(_0x120544[0x0]==='y'||_0x120544[0x0]==='lat')&&_0x120544[0x1]==='north')_0x47a7bb+='n';else{if(_0x120544[0x0]['indexOf'](_0x473ad8(_0x525538._0x57ce4a,0x1d29))!==-0x1||(_0x120544[0x0]==='y'||_0x120544[0x0]===_0x531fc3(_0x525538._0x2b5b6a,_0x525538._0x1aaa36))&&_0x120544[0x1]===_0x473ad8(0x13b0,_0x525538._0x1e1453))_0x47a7bb+='s';else{if(_0x120544[0x0][_0x531fc3(0x3c9,_0x525538._0x3b1701)]('east')!==-0x1||(_0x120544[0x0]==='x'||_0x120544[0x0]==='lon')&&_0x120544[0x1]==='east')_0x47a7bb+='e';else(_0x120544[0x0][_0x531fc3(_0x525538._0x5a0e60,0x280)](_0x531fc3(_0x525538._0x22c018,0x1be))!==-0x1||(_0x120544[0x0]==='x'||_0x120544[0x0]==='lon')&&_0x120544[0x1]==='west')&&(_0x47a7bb+='w');}}}_0x47a7bb[_0x473ad8(0xcbf,0x385)]===0x2&&(_0x47a7bb+='u'),_0x47a7bb['length']===0x3&&(_0x845b6e['axis']=_0x47a7bb);}function _0x473ad8(_0x51c8fe,_0x269989){return _0x7afdbe(_0x269989,_0x51c8fe- -_0x52de75._0xb2c059);}_0x845b6e[_0x473ad8(_0x525538._0x162370,0x4f5)]&&(_0x845b6e[_0x473ad8(0xca3,0xe5b)]=_0x845b6e[_0x473ad8(0x21b,-_0x525538._0x15029a)][_0x473ad8(_0x525538._0x300cee,0x184d)]['toLowerCase'](),_0x845b6e['units']==='metre'&&(_0x845b6e['units']='meter'),_0x845b6e[_0x473ad8(0x21b,_0x525538._0x1d0859)][_0x531fc3(_0x525538._0x4aac2f,0x11ff)]&&(_0x845b6e['type']===_0x531fc3(-_0x525538._0x356d52,0xb6)?_0x845b6e['DATUM']&&_0x845b6e[_0x473ad8(0x495,0xe7b)]['SPHEROID']&&(_0x845b6e['to_meter']=_0x845b6e['UNIT']['convert']*_0x845b6e[_0x531fc3(_0x525538._0x434fb6,_0x525538._0x4aa9c0)][_0x531fc3(0xc3c,0x1296)]['a']):_0x845b6e[_0x531fc3(_0x525538._0x445d32,-_0x525538._0x442050)]=_0x845b6e['UNIT'][_0x473ad8(_0x525538._0x522060,0x12a0)]));var _0x46726b=_0x845b6e['GEOGCS'];_0x845b6e['type']==='GEOGCS'&&(_0x46726b=_0x845b6e);_0x46726b&&(_0x46726b[_0x531fc3(_0x525538._0x5b9f66,0x42c)]?_0x845b6e[_0x473ad8(_0x525538._0x45bf77,_0x525538._0x1d5c1)]=_0x46726b['DATUM'][_0x531fc3(0x806,0xf4d)]['toLowerCase']():_0x845b6e[_0x473ad8(0x9e6,0x11e3)]=_0x46726b[_0x473ad8(_0x525538._0x300cee,0x1105)][_0x531fc3(0x541,_0x525538._0x599e1f)](),_0x845b6e[_0x531fc3(_0x525538._0x4578f2,_0x525538._0x104bfd)]['slice'](0x0,0x2)==='d_'&&(_0x845b6e['datumCode']=_0x845b6e[_0x473ad8(0x9e6,0x1a0)]['slice'](0x2)),(_0x845b6e[_0x531fc3(0xbb9,0x97d)]===_0x531fc3(-0x37e,0x6cb)||_0x845b6e[_0x473ad8(0x9e6,0x934)]===_0x531fc3(_0x525538._0xd8b7d8,_0x525538._0x3e4931))&&(_0x845b6e['datumCode']='nzgd49'),(_0x845b6e['datumCode']===_0x473ad8(0xea2,0x49c)||_0x845b6e[_0x531fc3(-_0x525538._0x475866,0x97d)]==='world_geodetic_system_1984')&&(_0x845b6e[_0x531fc3(0x612,_0x525538._0x231472)]==='Mercator_Auxiliary_Sphere'&&(_0x845b6e[_0x473ad8(0x76c,0x75d)]=!![]),_0x845b6e['datumCode']='wgs84'),_0x845b6e['datumCode']['slice'](-0x6)===_0x473ad8(_0x525538._0x4086f5,0x11ff)&&(_0x845b6e['datumCode']=_0x845b6e[_0x531fc3(0xa0,0x97d)]['slice'](0x0,-0x6)),_0x845b6e['datumCode']['slice'](-0x8)==='_jakarta'&&(_0x845b6e['datumCode']=_0x845b6e['datumCode']['slice'](0x0,-0x8)),~_0x845b6e['datumCode']['indexOf'](_0x531fc3(0x17d7,0x134e))&&(_0x845b6e['datumCode']='rnb72'),_0x46726b['DATUM']&&_0x46726b['DATUM']['SPHEROID']&&(_0x845b6e[_0x531fc3(_0x525538._0x3a13cb,_0x525538._0x20f13b)]=_0x46726b[_0x531fc3(_0x525538._0x3ac211,0x42c)]['SPHEROID'][_0x473ad8(0xfb6,0x1998)][_0x473ad8(0x266,-0x5dc)]('_19','')['replace'](/[Cc]larke\_18/,_0x473ad8(_0x525538._0x5bf672,_0x525538._0x33f1e9)),_0x845b6e[_0x531fc3(_0x525538._0x45414b,0xb56)]['toLowerCase']()['slice'](0x0,0xd)===_0x473ad8(0x103,-0x98d)&&(_0x845b6e[_0x473ad8(0xbbf,0x535)]='intl'),_0x845b6e['a']=_0x46726b[_0x531fc3(_0x525538._0x1e3435,0x42c)]['SPHEROID']['a'],_0x845b6e['rf']=parseFloat(_0x46726b['DATUM'][_0x531fc3(0xcaa,0x1296)]['rf'],0xa)),_0x46726b[_0x473ad8(0x495,-_0x525538._0xf3da69)]&&_0x46726b[_0x531fc3(0xe0b,0x42c)]['TOWGS84']&&(_0x845b6e['datum_params']=_0x46726b[_0x473ad8(_0x525538._0x4e9bdb,_0x525538._0x239661)][_0x531fc3(0xd67,0xb0e)]),~_0x845b6e[_0x531fc3(0x952,_0x525538._0x104bfd)]['indexOf']('osgb_1936')&&(_0x845b6e['datumCode']='osgb36'),~_0x845b6e['datumCode'][_0x531fc3(-0x166,0x280)]('osni_1952')&&(_0x845b6e[_0x473ad8(_0x525538._0x43cfe6,_0x525538._0x3e08bd)]=_0x531fc3(0x932,0xc04)),(~_0x845b6e[_0x473ad8(0x9e6,0x483)]['indexOf'](_0x531fc3(0xd9f,_0x525538._0x1d6812))||~_0x845b6e[_0x531fc3(0x147,_0x525538._0x104bfd)]['indexOf']('geodetic_datum_of_1965'))&&(_0x845b6e['datumCode']='ire65'),_0x845b6e[_0x531fc3(0xce5,0x97d)]==='ch1903+'&&(_0x845b6e['datumCode']='ch1903'),~_0x845b6e['datumCode'][_0x531fc3(_0x525538._0x445980,_0x525538._0x1ad1b6)]('israel')&&(_0x845b6e['datumCode']='isr93'));_0x845b6e['b']&&!isFinite(_0x845b6e['b'])&&(_0x845b6e['b']=_0x845b6e['a']);function _0x1756e7(_0x27d1b1){var _0x3b0e74=_0x845b6e['to_meter']||0x1;return _0x27d1b1*_0x3b0e74;}var _0x144b75=function(_0x673291){return rename(_0x845b6e,_0x673291);},_0x155381=[[_0x473ad8(0x3dd,-_0x525538._0x56fcc3),'Standard_Parallel_1'],['standard_parallel_1','Latitude\x20of\x201st\x20standard\x20parallel'],['standard_parallel_2','Standard_Parallel_2'],['standard_parallel_2','Latitude\x20of\x202nd\x20standard\x20parallel'],[_0x531fc3(_0x525538._0x4647e8,0x234),'False_Easting'],[_0x531fc3(_0x525538._0x1bf582,_0x525538._0x27e29c),'False\x20easting'],['false-easting',_0x531fc3(_0x525538._0x33ba4a,0x7dc)],['false_northing',_0x473ad8(_0x525538._0x7a65ec,0x908)],[_0x531fc3(0x6d9,0xc6b),'False\x20northing'],['false_northing',_0x473ad8(0xef8,_0x525538._0x1061bd)],['central_meridian',_0x531fc3(0x786,_0x525538._0x120ecc)],['central_meridian','Longitude\x20of\x20natural\x20origin'],[_0x473ad8(0xc34,_0x525538._0x2e6459),'Longitude\x20of\x20false\x20origin'],['latitude_of_origin','Latitude_Of_Origin'],['latitude_of_origin','Central_Parallel'],['latitude_of_origin',_0x531fc3(0x1aca,_0x525538._0x4add7f)],['latitude_of_origin','Latitude\x20of\x20false\x20origin'],['scale_factor','Scale_Factor'],['k0','scale_factor'],[_0x531fc3(0x103f,_0x525538._0x1db63f),'Latitude_Of_Center'],['latitude_of_center','Latitude_of_center'],['lat0',_0x531fc3(_0x525538._0x566207,0x1262),d2r],['longitude_of_center','Longitude_Of_Center'],['longitude_of_center','Longitude_of_center'],['longc','longitude_of_center',d2r],['x0','false_easting',_0x1756e7],['y0',_0x531fc3(0x1519,0xc6b),_0x1756e7],[_0x531fc3(0xd66,_0x525538._0x1084a5),_0x473ad8(_0x525538._0x15f5e6,_0x525538._0x1a8d11),d2r],[_0x473ad8(0xbd8,0xa89),_0x473ad8(0x1429,_0x525538._0x1818c3),d2r],[_0x531fc3(0xd12,_0x525538._0x4e49d5),'standard_parallel_1',d2r],[_0x531fc3(_0x525538._0x5c9f3e,0x11e6),_0x531fc3(0x33d,0x374),d2r],[_0x531fc3(_0x525538._0x53f5d1,_0x525538._0x2cce73),'standard_parallel_2',d2r],['azimuth',_0x531fc3(_0x525538._0x597324,0x1260)],[_0x531fc3(_0x525538._0x182ed1,_0x525538._0x247c63),'azimuth',d2r],['srsCode','name']];function _0x531fc3(_0x4f0d05,_0x196d30){return _0x7afdbe(_0x4f0d05,_0x196d30- -0x55d);}_0x155381['forEach'](_0x144b75);!_0x845b6e['long0']&&_0x845b6e[_0x473ad8(_0x525538._0x2cd5e3,_0x525538._0x4a3b36)]&&(_0x845b6e['projName']===_0x531fc3(0x13a3,0x12d4)||_0x845b6e['projName']==='Lambert_Azimuthal_Equal_Area')&&(_0x845b6e['long0']=_0x845b6e[_0x473ad8(_0x525538._0x1e1fe9,_0x525538._0x39ee11)]);if(!_0x845b6e['lat_ts']&&_0x845b6e['lat1']&&(_0x845b6e['projName']===_0x473ad8(0x8ab,0xa0b)||_0x845b6e['projName']==='Polar\x20Stereographic\x20(variant\x20B)'))_0x845b6e[_0x473ad8(0xbd8,0x850)]=d2r(_0x845b6e['lat1']>0x0?0x5a:-0x5a),_0x845b6e['lat_ts']=_0x845b6e[_0x531fc3(0xbe6,0x11e6)];else!_0x845b6e['lat_ts']&&_0x845b6e['lat0']&&_0x845b6e['projName']==='Polar_Stereographic'&&(_0x845b6e['lat_ts']=_0x845b6e[_0x531fc3(0x1079,0xb6f)],_0x845b6e['lat0']=d2r(_0x845b6e[_0x531fc3(0x935,_0x525538._0x2f5ebb)]>0x0?0x5a:-0x5a));}function wkt(_0x29d5ab){const _0x295eae={_0x327cfa:0xd8f,_0x285cf7:0xf14},_0x1d93f2={_0x20e44d:0x731};var _0x2419de=parseString(_0x29d5ab),_0x15c8c6=_0x2419de['shift']();function _0x4e8a26(_0x47c111,_0x2b0925){return _0x7afdbe(_0x2b0925,_0x47c111- -_0x1d93f2._0x20e44d);}function _0x593aa6(_0x12fd94,_0x3cae52){return _0x7afdbe(_0x12fd94,_0x3cae52- -0x596);}var _0x156c65=_0x2419de[_0x4e8a26(0x56,0x8c2)]();_0x2419de['unshift']([_0x593aa6(_0x295eae._0x327cfa,_0x295eae._0x285cf7),_0x156c65]),_0x2419de['unshift'](['type',_0x15c8c6]);var _0x50c690={};return sExpr(_0x2419de,_0x50c690),cleanWKT(_0x50c690),_0x50c690;}function defs(_0x58ef90){const _0x408fe5={_0x2d33b0:0x11f9,_0x331e37:0xbe7,_0x2e599c:0x5a7,_0x58e7a1:0x838},_0x1fb1c3={_0x4c32c8:0x6c,_0x3790e5:0xab6};function _0xa25c58(_0x13c66d,_0x1b6ba0){return _0x54a7f1(_0x13c66d- -0xf0,_0x1b6ba0);}var _0x576e1b=this;function _0x5b5ab6(_0x3d19c5,_0x990a40){return _0x7afdbe(_0x990a40,_0x3d19c5- -0x7e);}if(arguments['length']===0x2){var _0x5347e4=arguments[0x1];typeof _0x5347e4==='string'?_0x5347e4['charAt'](0x0)==='+'?defs[_0x58ef90]=projStr(arguments[0x1]):defs[_0x58ef90]=wkt(arguments[0x1]):defs[_0x58ef90]=_0x5347e4;}else{if(arguments[_0x5b5ab6(0x1135,_0x408fe5._0x2d33b0)]===0x1){if(Array['isArray'](_0x58ef90))return _0x58ef90[_0x5b5ab6(_0x408fe5._0x331e37,_0x408fe5._0x2e599c)](function(_0x374201){function _0xafe25c(_0x1d91dc,_0x552fd2){return _0xa25c58(_0x552fd2- -0x45,_0x1d91dc);}Array['isArray'](_0x374201)?defs[_0xafe25c(_0x1fb1c3._0x4c32c8,_0x1fb1c3._0x3790e5)](_0x576e1b,_0x374201):defs(_0x374201);});else{if(typeof _0x58ef90==='string'){if(_0x58ef90 in defs)return defs[_0x58ef90];}else{if(_0x5b5ab6(0xad8,0x5a)in _0x58ef90)defs['EPSG:'+_0x58ef90[_0xa25c58(_0x408fe5._0x58e7a1,0x2ae)]]=_0x58ef90;else{if(_0x5b5ab6(0xab0,0x52a)in _0x58ef90)defs['ESRI:'+_0x58ef90['ESRI']]=_0x58ef90;else'IAU2000'in _0x58ef90?defs['IAU2000:'+_0x58ef90['IAU2000']]=_0x58ef90:console['log'](_0x58ef90);}}}return;}}}globals(defs);function testObj(_0x3a248d){return typeof _0x3a248d==='string';}function testDef(_0x11b8ad){return _0x11b8ad in defs;}var codeWords=['PROJECTEDCRS','PROJCRS','GEOGCS','GEOCCS','PROJCS','LOCAL_CS','GEODCRS','GEODETICCRS','GEODETICDATUM',_0x7afdbe(0x1d45,0x19e5),_0x7afdbe(0x1465,0x18d8)];function testWKT(_0x453b41){return codeWords['some'](function(_0x5868e7){return _0x453b41['indexOf'](_0x5868e7)>-0x1;});}var codes=['3857','900913',_0x7afdbe(0xa32,0xae5),_0x54a7f1(0xb1d,0x427)];function checkMercator(_0x594b2f){const _0x55196d={_0x519c8e:0x1bf,_0x34a506:0x88b};function _0x5881de(_0x56dd3d,_0x5bdead){return _0x7afdbe(_0x5bdead,_0x56dd3d- -0x61e);}var _0x5c9fab=match(_0x594b2f,_0x5881de(0x2d6,0x669));if(!_0x5c9fab)return;var _0x4bde0c=match(_0x5c9fab,_0x339314(0x55c,0x5b3));function _0x339314(_0x308ffb,_0x72493e){return _0x7afdbe(_0x72493e,_0x308ffb- -0x3ad);}return _0x4bde0c&&codes[_0x5881de(_0x55196d._0x519c8e,_0x55196d._0x34a506)](_0x4bde0c)>-0x1;}function checkProjStr(_0x174e3a){const _0x2b4456={_0x1ccf5c:0xce4};var _0x17ca73=match(_0x174e3a,_0xc05646(_0x2b4456._0x1ccf5c,0x98e));function _0xc05646(_0xe2fb6,_0x17bcaf){return _0x7afdbe(_0xe2fb6,_0x17bcaf- -0x3bf);}if(!_0x17ca73)return;return match(_0x17ca73,'proj4');}function testProj(_0x2183ec){return _0x2183ec[0x0]==='+';}function parse(_0x59d985){if(testObj(_0x59d985)){if(testDef(_0x59d985))return defs[_0x59d985];if(testWKT(_0x59d985)){var _0x7b9ae2=wkt(_0x59d985);if(checkMercator(_0x7b9ae2))return defs['EPSG:3857'];var _0x12947a=checkProjStr(_0x7b9ae2);if(_0x12947a)return projStr(_0x12947a);return _0x7b9ae2;}if(testProj(_0x59d985))return projStr(_0x59d985);}else return _0x59d985;}function extend(_0x41ba4f,_0x2d72da){_0x41ba4f=_0x41ba4f||{};var _0x2e2319,_0x2d510f;if(!_0x2d72da)return _0x41ba4f;for(_0x2d510f in _0x2d72da){_0x2e2319=_0x2d72da[_0x2d510f],_0x2e2319!==undefined&&(_0x41ba4f[_0x2d510f]=_0x2e2319);}return _0x41ba4f;}function msfnz(_0x2fccee,_0x35a5ba,_0x41f457){var _0x459c8e=_0x2fccee*_0x35a5ba;return _0x41f457/Math['sqrt'](0x1-_0x459c8e*_0x459c8e);}function sign(_0x537ad0){return _0x537ad0<0x0?-0x1:0x1;}function adjust_lon(_0x531dfd){return Math['abs'](_0x531dfd)<=SPI?_0x531dfd:_0x531dfd-sign(_0x531dfd)*TWO_PI;}function tsfnz(_0x2d4210,_0x1341ff,_0x252aa8){const _0x954009={_0x24163c:0x92};function _0x313604(_0x1397e1,_0x2c9399){return _0x54a7f1(_0x2c9399-_0x954009._0x24163c,_0x1397e1);}var _0x121c13=_0x2d4210*_0x252aa8;function _0x43fd05(_0x2a1ab9,_0x294e82){return _0x7afdbe(_0x2a1ab9,_0x294e82- -0x3c);}var _0x28bea3=0.5*_0x2d4210;return _0x121c13=Math[_0x43fd05(0xc57,0x487)]((0x1-_0x121c13)/(0x1+_0x121c13),_0x28bea3),Math[_0x43fd05(0x15c5,0x1665)](0.5*(HALF_PI-_0x1341ff))/_0x121c13;}function phi2z(_0x31c7f4,_0x5d54e3){const _0x4a0ade={_0x4bdff9:0x48};var _0x953d09=0.5*_0x31c7f4,_0x15408a,_0x2fa282;function _0x70d94d(_0x2bf94d,_0x118187){return _0x7afdbe(_0x2bf94d,_0x118187-_0x4a0ade._0x4bdff9);}var _0x2d5ace=HALF_PI-0x2*Math['atan'](_0x5d54e3);function _0xa9e48f(_0x5311d1,_0x562028){return _0x54a7f1(_0x5311d1- -0x37a,_0x562028);}for(var _0x369bb0=0x0;_0x369bb0<=0xf;_0x369bb0++){_0x15408a=_0x31c7f4*Math['sin'](_0x2d5ace),_0x2fa282=HALF_PI-0x2*Math['atan'](_0x5d54e3*Math[_0x70d94d(0xd4f,0x50b)]((0x1-_0x15408a)/(0x1+_0x15408a),_0x953d09))-_0x2d5ace,_0x2d5ace+=_0x2fa282;if(Math[_0x70d94d(0x943,0x1348)](_0x2fa282)<=1e-10)return _0x2d5ace;}return-0x270f;}function init$v(){const _0x35a4f9={_0x377a78:0x2fd,_0x2c3247:0x1211};function _0x109216(_0x289033,_0xff0412){return _0x54a7f1(_0xff0412- -0x453,_0x289033);}function _0x31afa4(_0x49b1ae,_0x2d0d3e){return _0x54a7f1(_0x2d0d3e- -0x2d1,_0x49b1ae);}var _0x553bbe=this['b']/this['a'];this['es']=0x1-_0x553bbe*_0x553bbe,!('x0'in this)&&(this['x0']=0x0),!('y0'in this)&&(this['y0']=0x0),this['e']=Math['sqrt'](this['es']),this['lat_ts']?this['sphere']?this['k0']=Math['cos'](this['lat_ts']):this['k0']=msfnz(this['e'],Math[_0x31afa4(_0x35a4f9._0x377a78,0x1a3)](this['lat_ts']),Math['cos'](this[_0x109216(0xba0,_0x35a4f9._0x2c3247)])):!this['k0']&&(this['k']?this['k0']=this['k']:this['k0']=0x1);}function forward$u(_0x3b1e79){const _0xb363a7={_0x1a3016:0xc95,_0x36e1cf:0x2f6};var _0x207881=_0x3b1e79['x'],_0xe39daf=_0x3b1e79['y'];if(_0xe39daf*R2D>0x5a&&_0xe39daf*R2D<-0x5a&&_0x207881*R2D>0xb4&&_0x207881*R2D<-0xb4)return null;function _0x39aaeb(_0x4ac9f0,_0xa67402){return _0x54a7f1(_0xa67402-0x183,_0x4ac9f0);}var _0x22398f,_0xdd7b46;function _0x260d58(_0x4cb4f2,_0x391da5){return _0x7afdbe(_0x391da5,_0x4cb4f2-0x35);}if(Math['abs'](Math['abs'](_0xe39daf)-HALF_PI)<=EPSLN)return null;else{if(this[_0x260d58(_0xb363a7._0x1a3016,_0xb363a7._0x36e1cf)])_0x22398f=this['x0']+this['a']*this['k0']*adjust_lon(_0x207881-this['long0']),_0xdd7b46=this['y0']+this['a']*this['k0']*Math['log'](Math['tan'](FORTPI+0.5*_0xe39daf));else{var _0x21d950=Math[_0x260d58(0x6d7,0xfe4)](_0xe39daf),_0x18e5d6=tsfnz(this['e'],_0xe39daf,_0x21d950);_0x22398f=this['x0']+this['a']*this['k0']*adjust_lon(_0x207881-this['long0']),_0xdd7b46=this['y0']-this['a']*this['k0']*Math[_0x260d58(0x16ad,0x1dde)](_0x18e5d6);}return _0x3b1e79['x']=_0x22398f,_0x3b1e79['y']=_0xdd7b46,_0x3b1e79;}}function inverse$u(_0x2b99e3){const _0x2fdb95={_0x322772:0x4d,_0x426007:0xdfe},_0x5921d6={_0x1bcba6:0x3ca};function _0x44cac5(_0xe8f9c4,_0x5a1e79){return _0x7afdbe(_0x5a1e79,_0xe8f9c4- -0x5e5);}var _0x3d12d3=_0x2b99e3['x']-this['x0'],_0x4e3093=_0x2b99e3['y']-this['y0'],_0x258401,_0x55aaf2;if(this[_0x39e39c(0x9f,0x668)])_0x55aaf2=HALF_PI-0x2*Math[_0x44cac5(0x424,_0x2fdb95._0x322772)](Math['exp'](-_0x4e3093/(this['a']*this['k0'])));else{var _0x35727e=Math['exp'](-_0x4e3093/(this['a']*this['k0']));_0x55aaf2=phi2z(this['e'],_0x35727e);if(_0x55aaf2===-0x270f)return null;}_0x258401=adjust_lon(this[_0x39e39c(_0x2fdb95._0x426007,0xdc5)]+_0x3d12d3/(this['a']*this['k0']));function _0x39e39c(_0x4919d5,_0x1116a5){return _0x54a7f1(_0x1116a5- -_0x5921d6._0x1bcba6,_0x4919d5);}return _0x2b99e3['x']=_0x258401,_0x2b99e3['y']=_0x55aaf2,_0x2b99e3;}var names$w=[_0x7afdbe(0x103f,0xe1d),'Popular\x20Visualisation\x20Pseudo\x20Mercator',_0x7afdbe(0x719,0x1053),'Mercator_Auxiliary_Sphere','merc'];const _0x1a7ba5={};_0x1a7ba5['init']=init$v,_0x1a7ba5[_0x54a7f1(0x11d5,0xf6f)]=forward$u,_0x1a7ba5[_0x54a7f1(0x140e,0x1192)]=inverse$u,_0x1a7ba5['names']=names$w;var merc=_0x1a7ba5;function init$u(){}function identity(_0x4e2405){return _0x4e2405;}var names$v=['longlat','identity'];const _0x174e69={};_0x174e69[_0x7afdbe(0x1a24,0x182f)]=init$u,_0x174e69['forward']=identity,_0x174e69['inverse']=identity,_0x174e69[_0x7afdbe(0x46c,0x9e0)]=names$v;var longlat=_0x174e69,projs=[merc,longlat],names$u={},projStore=[];function add$1(_0x163861,_0x19e7d0){const _0xed60af={_0x2b8805:0xe1a},_0x304604={_0x53a2c8:0x21b,_0x2e838f:0x5a0},_0x1b5448={_0x2eceab:0x36b};var _0x55846d=projStore['length'];if(!_0x163861[_0x157dcf(0xa0b,_0xed60af._0x2b8805)])return console['log'](_0x19e7d0),!![];function _0x157dcf(_0x108352,_0x49ef96){return _0x7afdbe(_0x49ef96,_0x108352-0x2b);}function _0x434ece(_0x5094dc,_0x1ddd18){return _0x54a7f1(_0x5094dc- -_0x1b5448._0x2eceab,_0x1ddd18);}return projStore[_0x55846d]=_0x163861,_0x163861['names'][_0x157dcf(0x89e,0x3bf)](function(_0x596272){const _0x40fdaa={_0x324dac:0x1b1};function _0x1b74d0(_0x437149,_0x44fbeb){return _0x434ece(_0x44fbeb-_0x40fdaa._0x324dac,_0x437149);}names$u[_0x596272[_0x1b74d0(-_0x304604._0x53a2c8,_0x304604._0x2e838f)]()]=_0x55846d;}),this;}function get$1(_0x2e172e){if(!_0x2e172e)return![];function _0x18e485(_0x24b250,_0x5e5a53){return _0x7afdbe(_0x24b250,_0x5e5a53- -0x5c0);}var _0x5ab93f=_0x2e172e[_0x18e485(-0x4aa,0x3c8)]();if(typeof names$u[_0x5ab93f]!=='undefined'&&projStore[names$u[_0x5ab93f]])return projStore[names$u[_0x5ab93f]];}function start(){const _0x47d280={_0xe113fc:0xad};function _0x362e7c(_0x3d48c5,_0x4ccf7b){return _0x7afdbe(_0x3d48c5,_0x4ccf7b- -0x10c);}projs[_0x362e7c(-_0x47d280._0xe113fc,0x767)](add$1);}const _0x1fa587={};_0x1fa587['start']=start,_0x1fa587[_0x7afdbe(0xa28,0x8be)]=add$1,_0x1fa587[_0x7afdbe(0x17df,0x1034)]=get$1;var projections=_0x1fa587,exports$2={};const _0x4a384f={};_0x4a384f['a']=0x615299,_0x4a384f['rf']=298.257,_0x4a384f['ellipseName']='MERIT\x201983',exports$2[_0x7afdbe(0x7cb,0x7c6)]=_0x4a384f;const _0x364182={};_0x364182['a']=0x615298,_0x364182['rf']=298.257,_0x364182['ellipseName']=_0x7afdbe(0x5e5,0xd03),exports$2[_0x7afdbe(0x513,0xdcc)]=_0x364182;const _0x367f66={};_0x367f66['a']=0x615299,_0x367f66['rf']=298.257222101,_0x367f66['ellipseName']='GRS\x201980(IUGG,\x201980)',exports$2['GRS80']=_0x367f66;const _0x3b5318={};_0x3b5318['a']=0x61529c,_0x3b5318['rf']=298.257,_0x3b5318['ellipseName']='IAU\x201976',exports$2[_0x7afdbe(0x2135,0x175e)]=_0x3b5318;const _0x165b95={};_0x165b95['a']=6377563.396,_0x165b95['b']=6356256.91,_0x165b95[_0x7afdbe(0x15b6,0xf46)]=_0x7afdbe(0x67a,0xf64),exports$2['airy']=_0x165b95;const _0x55ae6b={};_0x55ae6b['a']=0x615299,_0x55ae6b['rf']=298.25,_0x55ae6b[_0x7afdbe(0x99c,0xf46)]='Appl.\x20Physics.\x201965',exports$2[_0x7afdbe(0x9ac,0xd52)]=_0x55ae6b;const _0x5292e9={};_0x5292e9['a']=0x6152a1,_0x5292e9['rf']=298.25,_0x5292e9['ellipseName']=_0x54a7f1(0x3c8,-0x161),exports$2['NWL9D']=_0x5292e9;const _0x419083={};_0x419083['a']=6377340.189,_0x419083['b']=6356034.446,_0x419083[_0x54a7f1(0xd18,0x826)]='Modified\x20Airy',exports$2['mod_airy']=_0x419083;const _0x55d08c={};_0x55d08c['a']=6377104.43,_0x55d08c['rf']=0x12c,_0x55d08c[_0x7afdbe(0x115d,0xf46)]=_0x7afdbe(0x1005,0x1334),exports$2[_0x54a7f1(0x411,0xe41)]=_0x55d08c;const _0x4dde65={};_0x4dde65['a']=0x6152b0,_0x4dde65['rf']=298.25,_0x4dde65['ellipseName']='Australian\x20Natl\x20&\x20S.\x20Amer.\x201969',exports$2[_0x54a7f1(0x9fd,0x11ee)]=_0x4dde65;const _0x1e5843={};_0x1e5843['a']=0x6152b0,_0x1e5843['rf']=298.247167427,_0x1e5843['ellipseName']=_0x54a7f1(0x117d,0xc71),exports$2['GRS67']=_0x1e5843;const _0x5b5866={};_0x5b5866['a']=6377397.155,_0x5b5866['rf']=299.1528128,_0x5b5866['ellipseName']='Bessel\x201841',exports$2['bessel']=_0x5b5866;const _0x30dd40={};_0x30dd40['a']=6377483.865,_0x30dd40['rf']=299.1528128,_0x30dd40['ellipseName']=_0x54a7f1(0x1773,0x1953),exports$2['bess_nam']=_0x30dd40;const _0x20d20f={};_0x20d20f['a']=6378206.4,_0x20d20f['b']=6356583.8,_0x20d20f['ellipseName']='Clarke\x201866',exports$2['clrk66']=_0x20d20f;const _0x2811b8={};_0x2811b8['a']=6378249.145,_0x2811b8['rf']=293.4663,_0x2811b8[_0x7afdbe(0x9cb,0xf46)]=_0x7afdbe(0xf10,0x1687),exports$2[_0x54a7f1(0x170d,0x12eb)]=_0x2811b8;const _0x277a7a={};_0x277a7a['a']=6378249.2,_0x277a7a['b']=0x60fe23,_0x277a7a['rf']=293.4660213,_0x277a7a['ellipseName']='Clarke\x201880\x20(IGN)',exports$2['clrk80ign']=_0x277a7a;const _0xcb711e={};_0xcb711e['a']=6378293.645208759,_0xcb711e['rf']=294.2606763692654,_0xcb711e[_0x7afdbe(0x82f,0xf46)]=_0x54a7f1(0x89b,0xf3b),exports$2['clrk58']=_0xcb711e;const _0x53e802={};_0x53e802['a']=6375738.7,_0x53e802['rf']=334.29,_0x53e802['ellipseName']=_0x54a7f1(0xf23,0xf61),exports$2['CPM']=_0x53e802;const _0x35defe={};_0x35defe['a']=0x614bec,_0x35defe['rf']=311.5,_0x35defe['ellipseName']=_0x54a7f1(0x13b5,0xd2a),exports$2['delmbr']=_0x35defe;const _0x4b9f0d={};_0x4b9f0d['a']=6378136.05,_0x4b9f0d['rf']=298.2566,_0x4b9f0d['ellipseName']='Engelis\x201985',exports$2['engelis']=_0x4b9f0d;const _0x13e2c1={};_0x13e2c1['a']=6377276.345,_0x13e2c1['rf']=300.8017,_0x13e2c1[_0x54a7f1(0xd18,0x2c8)]=_0x54a7f1(0x51a,0x53b),exports$2['evrst30']=_0x13e2c1;const _0x2efbcd={};_0x2efbcd['a']=6377304.063,_0x2efbcd['rf']=300.8017,_0x2efbcd['ellipseName']='Everest\x201948',exports$2['evrst48']=_0x2efbcd;const _0x3a4224={};_0x3a4224['a']=6377301.243,_0x3a4224['rf']=300.8017,_0x3a4224['ellipseName']=_0x54a7f1(0x4ae,-0x3ed),exports$2['evrst56']=_0x3a4224;const _0x1a2afd={};_0x1a2afd['a']=6377295.664,_0x1a2afd['rf']=300.8017,_0x1a2afd['ellipseName']='Everest\x201969',exports$2['evrst69']=_0x1a2afd;const _0x9c04ad={};_0x9c04ad['a']=6377298.556,_0x9c04ad['rf']=300.8017,_0x9c04ad[_0x7afdbe(0x18ca,0xf46)]='Everest\x20(Sabah\x20&\x20Sarawak)',exports$2['evrstSS']=_0x9c04ad;const _0x4f703e={};_0x4f703e['a']=0x6152b6,_0x4f703e['rf']=298.3,_0x4f703e[_0x54a7f1(0xd18,0xdb1)]=_0x7afdbe(0x131d,0x172e),exports$2['fschr60']=_0x4f703e;const _0x133d33={};_0x133d33['a']=0x6152ab,_0x133d33['rf']=298.3,_0x133d33[_0x54a7f1(0xd18,0xdf1)]='Fischer\x201960',exports$2['fschr60m']=_0x133d33;const _0x2e5e9d={};_0x2e5e9d['a']=0x6152a6,_0x2e5e9d['rf']=298.3,_0x2e5e9d[_0x7afdbe(0x1823,0xf46)]='Fischer\x201968',exports$2[_0x7afdbe(0x22ef,0x19e2)]=_0x2e5e9d;const _0x55fb28={};_0x55fb28['a']=0x6152d8,_0x55fb28['rf']=298.3,_0x55fb28['ellipseName']='Helmert\x201906',exports$2['helmert']=_0x55fb28;const _0x50d386={};_0x50d386['a']=0x61531e,_0x50d386['rf']=0x129,_0x50d386[_0x7afdbe(0x93e,0xf46)]=_0x54a7f1(0x15df,0x1642),exports$2['hough']=_0x50d386;const _0x2f9b30={};_0x2f9b30['a']=0x615394,_0x2f9b30['rf']=0x129,_0x2f9b30['ellipseName']='International\x201909\x20(Hayford)',exports$2[_0x7afdbe(0x1621,0x12ef)]=_0x2f9b30;const _0x4d8482={};_0x4d8482['a']=0x6152b3,_0x4d8482['rf']=298.24,_0x4d8482[_0x54a7f1(0xd18,0xb57)]='Kaula\x201961',exports$2['kaula']=_0x4d8482;const _0x4cc1cf={};_0x4cc1cf['a']=0x61529b,_0x4cc1cf['rf']=298.257,_0x4cc1cf['ellipseName']='Lerch\x201979',exports$2[_0x54a7f1(0xc37,0x16e)]=_0x4cc1cf;const _0x57004c={};_0x57004c['a']=0x619d74,_0x57004c['rf']=0xbf,_0x57004c[_0x7afdbe(0x4e3,0xf46)]=_0x7afdbe(0xe21,0xc73),exports$2['mprts']=_0x57004c;const _0x47f3be={};_0x47f3be['a']=6378157.5,_0x47f3be['b']=6356772.2,_0x47f3be[_0x54a7f1(0xd18,0x12a4)]='New\x20International\x201967',exports$2['new_intl']=_0x47f3be;const _0x5f3a81={};_0x5f3a81['a']=0x614c4b,_0x5f3a81['rf']=0x60fb97,_0x5f3a81[_0x54a7f1(0xd18,0xcb2)]=_0x54a7f1(0xd33,0x814),exports$2['plessis']=_0x5f3a81;const _0x54f6ba={};_0x54f6ba['a']=0x615305,_0x54f6ba['rf']=298.3,_0x54f6ba['ellipseName']='Krassovsky,\x201942',exports$2[_0x54a7f1(0x3e3,0x91b)]=_0x54f6ba;const _0x8dccb6={};_0x8dccb6['a']=0x6152ab,_0x8dccb6['b']=6356773.3205,_0x8dccb6['ellipseName']=_0x54a7f1(0x949,0x1362),exports$2['SEasia']=_0x8dccb6;const _0x467763={};_0x467763['a']=0x614dc0,_0x467763['b']=6355834.8467,_0x467763[_0x54a7f1(0xd18,0x7b8)]='Walbeck',exports$2[_0x54a7f1(0x6f6,-0x21a)]=_0x467763;const _0x1d6c3a={};_0x1d6c3a['a']=0x6152b5,_0x1d6c3a['rf']=298.3,_0x1d6c3a['ellipseName']='WGS\x2060',exports$2[_0x54a7f1(0x66c,0x5d0)]=_0x1d6c3a;const _0x26f27b={};_0x26f27b['a']=0x6152a1,_0x26f27b['rf']=298.25,_0x26f27b[_0x7afdbe(0x12a6,0xf46)]='WGS\x2066',exports$2[_0x54a7f1(0xc29,0xe4a)]=_0x26f27b;const _0x3ee838={};_0x3ee838['a']=0x615297,_0x3ee838['rf']=298.26,_0x3ee838[_0x54a7f1(0xd18,0x503)]=_0x7afdbe(0x1495,0x14c5),exports$2[_0x7afdbe(0x1ec9,0x158e)]=_0x3ee838;const _0x148724={};_0x148724['a']=0x615299,_0x148724['rf']=298.257223563,_0x148724[_0x54a7f1(0xd18,0xf85)]=_0x54a7f1(0x163e,0xd1b);var WGS84=exports$2['WGS84']=_0x148724;const _0x319fe9={};_0x319fe9['a']=0x6136b5,_0x319fe9['b']=0x6136b5,_0x319fe9['ellipseName']='Normal\x20Sphere\x20(r=6370997)',exports$2['sphere']=_0x319fe9;function eccentricity(_0x3c8f82,_0x3e1f91,_0x2e72fb,_0x3ec384){const _0x121641={_0x3a65cc:0x6e6};var _0x54bbcc=_0x3c8f82*_0x3c8f82,_0x40d171=_0x3e1f91*_0x3e1f91,_0x8e7d7f=(_0x54bbcc-_0x40d171)/_0x54bbcc,_0x127b60=0x0;_0x3ec384?(_0x3c8f82*=0x1-_0x8e7d7f*(SIXTH+_0x8e7d7f*(RA4+_0x8e7d7f*RA6)),_0x54bbcc=_0x3c8f82*_0x3c8f82,_0x8e7d7f=0x0):_0x127b60=Math['sqrt'](_0x8e7d7f);var _0x3fd282=(_0x54bbcc-_0x40d171)/_0x40d171;function _0xa8fd94(_0x425948,_0x503e59){return _0x7afdbe(_0x425948,_0x503e59- -_0x121641._0x3a65cc);}const _0x423e1b={};return _0x423e1b['es']=_0x8e7d7f,_0x423e1b['e']=_0x127b60,_0x423e1b[_0xa8fd94(0x958,0xaa0)]=_0x3fd282,_0x423e1b;}function sphere(_0x47680f,_0x2a348c,_0xfc6efb,_0x128c87,_0x53eddb){function _0x3456de(_0x4b0da4,_0x3f9566){return _0x7afdbe(_0x4b0da4,_0x3f9566- -0x31f);}if(!_0x47680f){var _0xb351dc=match(exports$2,_0x128c87);!_0xb351dc&&(_0xb351dc=WGS84),_0x47680f=_0xb351dc['a'],_0x2a348c=_0xb351dc['b'],_0xfc6efb=_0xb351dc['rf'];}_0xfc6efb&&!_0x2a348c&&(_0x2a348c=(0x1-0x1/_0xfc6efb)*_0x47680f);(_0xfc6efb===0x0||Math[_0x3456de(0x11c7,0xfe1)](_0x47680f-_0x2a348c)<EPSLN)&&(_0x53eddb=!![],_0x2a348c=_0x47680f);const _0x2d17a8={};return _0x2d17a8['a']=_0x47680f,_0x2d17a8['b']=_0x2a348c,_0x2d17a8['rf']=_0xfc6efb,_0x2d17a8['sphere']=_0x53eddb,_0x2d17a8;}var exports$1={};const _0x2d6387={};_0x2d6387[_0x54a7f1(0xdb6,0x9ab)]='0,0,0',_0x2d6387[_0x54a7f1(0xbfb,0x4e5)]='WGS84',_0x2d6387[_0x7afdbe(0x2106,0x1866)]=_0x7afdbe(0xbaf,0x1088),exports$1['wgs84']=_0x2d6387;const _0x556fc9={};_0x556fc9['towgs84']='674.374,15.056,405.346',_0x556fc9[_0x7afdbe(0x4ff,0xe29)]=_0x54a7f1(0x70d,0x2db),_0x556fc9['datumName']='swiss',exports$1['ch1903']=_0x556fc9;const _0x3b946d={};_0x3b946d['towgs84']=_0x54a7f1(0xe92,0xf81),_0x3b946d['ellipse']=_0x7afdbe(0x1489,0x12d7),_0x3b946d['datumName']='Greek_Geodetic_Reference_System_1987',exports$1['ggrs87']=_0x3b946d;const _0x158da9={};_0x158da9[_0x7afdbe(0xaa9,0xfe4)]='0,0,0',_0x158da9[_0x7afdbe(0x9f4,0xe29)]='GRS80',_0x158da9[_0x7afdbe(0x1441,0x1866)]=_0x7afdbe(0x14bb,0xcf4),exports$1['nad83']=_0x158da9;const _0xc64ddf={};_0xc64ddf['nadgrids']='@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat',_0xc64ddf['ellipse']=_0x7afdbe(0x9db,0xfda),_0xc64ddf[_0x7afdbe(0x1d18,0x1866)]=_0x54a7f1(0x16de,0x1cfa),exports$1[_0x54a7f1(0xc30,0x1255)]=_0xc64ddf;const _0x4ebb17={};_0x4ebb17[_0x54a7f1(0xdb6,0x110e)]='598.1,73.7,418.2,0.202,0.045,-2.455,6.7',_0x4ebb17['ellipse']='bessel',_0x4ebb17[_0x7afdbe(0x1103,0x1866)]='Potsdam\x20Rauenberg\x201950\x20DHDN',exports$1['potsdam']=_0x4ebb17;const _0x11a5c1={};_0x11a5c1[_0x7afdbe(0x1772,0xfe4)]='-263.0,6.0,431.0',_0x11a5c1[_0x7afdbe(0x17c7,0xe29)]='clark80',_0x11a5c1[_0x7afdbe(0x20e9,0x1866)]=_0x54a7f1(0xb1b,0x1c7),exports$1['carthage']=_0x11a5c1;const _0x4d58f9={};_0x4d58f9['towgs84']=_0x7afdbe(0x10c3,0xd6f),_0x4d58f9['ellipse']=_0x7afdbe(0xc74,0x93b),_0x4d58f9['datumName']='Hermannskogel',exports$1[_0x7afdbe(0xbc3,0x8ec)]=_0x4d58f9;const _0x218e18={};_0x218e18['towgs84']=_0x54a7f1(0xb41,0x1607),_0x218e18['ellipse']='bessel',_0x218e18[_0x54a7f1(0x1638,0x1da8)]=_0x7afdbe(0xc30,0xe08),exports$1['militargeographische_institut']=_0x218e18;const _0x1dfd01={};_0x1dfd01[_0x54a7f1(0xdb6,0x9cc)]='482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15',_0x1dfd01[_0x7afdbe(0x124f,0xe29)]='airy',_0x1dfd01['datumName']='Irish\x20National',exports$1['osni52']=_0x1dfd01;const _0x5b3813={};_0x5b3813[_0x7afdbe(0x628,0xfe4)]=_0x7afdbe(0x17f4,0x16fd),_0x5b3813[_0x54a7f1(0xbfb,0x13ce)]='mod_airy',_0x5b3813['datumName']=_0x54a7f1(0x701,0xd9d),exports$1[_0x54a7f1(0xd0a,0x282)]=_0x5b3813;const _0x4d0545={};_0x4d0545[_0x7afdbe(0x1828,0xfe4)]='-133.63,-157.5,-158.62',_0x4d0545[_0x7afdbe(0x70a,0xe29)]=_0x54a7f1(0x10c1,0x17d7),_0x4d0545['datumName']='Rassadiran',exports$1['rassadiran']=_0x4d0545;const _0x1f92d4={};_0x1f92d4[_0x7afdbe(0xfd3,0xfe4)]=_0x7afdbe(0x320,0xd85),_0x1f92d4[_0x7afdbe(0x396,0xe29)]='intl',_0x1f92d4[_0x54a7f1(0x1638,0x104f)]='New\x20Zealand\x20Geodetic\x20Datum\x201949',exports$1['nzgd49']=_0x1f92d4;const _0x4c425e={};_0x4c425e['towgs84']=_0x54a7f1(0x127f,0xdd9),_0x4c425e['ellipse']='airy',_0x4c425e['datumName']='Airy\x201830',exports$1[_0x7afdbe(-0x4fc,0x4a7)]=_0x4c425e;const _0x3ca6c0={};_0x3ca6c0[_0x54a7f1(0xdb6,0x54b)]='589,76,480',_0x3ca6c0[_0x7afdbe(0x10c5,0xe29)]='bessel',_0x3ca6c0['datumName']='S-JTSK\x20(Ferro)',exports$1['s_jtsk']=_0x3ca6c0;const _0x369cba={};_0x369cba['towgs84']=_0x54a7f1(0x13bb,0x1090),_0x369cba['ellipse']='clrk80',_0x369cba[_0x7afdbe(0x20c7,0x1866)]=_0x7afdbe(0x174f,0x114b),exports$1['beduaram']=_0x369cba;const _0x561377={};_0x561377[_0x7afdbe(0xbbe,0xfe4)]='-403,684,41',_0x561377[_0x7afdbe(0x385,0xe29)]=_0x54a7f1(0x70d,0xfc4),_0x561377['datumName']='Gunung\x20Segara\x20Jakarta',exports$1['gunung_segara']=_0x561377;const _0x185715={};_0x185715['towgs84']='106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1',_0x185715[_0x7afdbe(0x16ec,0xe29)]='intl',_0x185715['datumName']='Reseau\x20National\x20Belge\x201972',exports$1[_0x7afdbe(0x1935,0x1422)]=_0x185715;function datum(_0x566c50,_0x3b6af3,_0x204c9c,_0x4cb688,_0x710efd,_0x37f5f5,_0x93ec10){const _0x4f66ad={_0x1c4d26:0xcb6,_0x392be1:0x5d5,_0x165734:0xe52,_0x151707:0x93,_0x5b39ef:0xa68};var _0x481b0e={};_0x566c50===undefined||_0x566c50==='none'?_0x481b0e[_0x541305(0xcbc,0xc39)]=PJD_NODATUM:_0x481b0e['datum_type']=PJD_WGS84;function _0x541305(_0x2b1e6e,_0x5784f3){return _0x7afdbe(_0x5784f3,_0x2b1e6e-0x51);}_0x3b6af3&&(_0x481b0e['datum_params']=_0x3b6af3[_0x541305(_0x4f66ad._0x1c4d26,0x6ec)](parseFloat),(_0x481b0e[_0x541305(0xe52,_0x4f66ad._0x392be1)][0x0]!==0x0||_0x481b0e['datum_params'][0x1]!==0x0||_0x481b0e[_0x541305(0xe52,0x14fe)][0x2]!==0x0)&&(_0x481b0e[_0x2c7497(0xc63,0x5ae)]=PJD_3PARAM),_0x481b0e[_0x541305(_0x4f66ad._0x165734,0x1222)]['length']>0x3&&((_0x481b0e['datum_params'][0x3]!==0x0||_0x481b0e[_0x541305(0xe52,0x185a)][0x4]!==0x0||_0x481b0e[_0x2c7497(0x3dc,0x744)][0x5]!==0x0||_0x481b0e[_0x2c7497(_0x4f66ad._0x151707,0x744)][0x6]!==0x0)&&(_0x481b0e['datum_type']=PJD_7PARAM,_0x481b0e['datum_params'][0x3]*=SEC_TO_RAD,_0x481b0e[_0x2c7497(_0x4f66ad._0x5b39ef,0x744)][0x4]*=SEC_TO_RAD,_0x481b0e[_0x541305(0xe52,0x74e)][0x5]*=SEC_TO_RAD,_0x481b0e[_0x541305(_0x4f66ad._0x165734,0xf8c)][0x6]=_0x481b0e[_0x2c7497(0xd3e,0x744)][0x6]/0xf4240+0x1)));_0x93ec10&&(_0x481b0e[_0x2c7497(0xb68,0x5ae)]=PJD_GRIDSHIFT,_0x481b0e['grids']=_0x93ec10);_0x481b0e['a']=_0x204c9c,_0x481b0e['b']=_0x4cb688;function _0x2c7497(_0x58e3d8,_0x2f52f7){return _0x54a7f1(_0x2f52f7- -0x48f,_0x58e3d8);}return _0x481b0e['es']=_0x710efd,_0x481b0e[_0x2c7497(0x103,0xac9)]=_0x37f5f5,_0x481b0e;}var loadedNadgrids={};function nadgrid(_0x114af0,_0xb40aca){const _0xdd5ac6={_0x5be4a5:0x92f,_0x2aceb5:0x4a7};var _0x54616c=new DataView(_0xb40aca),_0x4a692d=detectLittleEndian(_0x54616c),_0x25c059=readHeader(_0x54616c,_0x4a692d),_0x123210=readSubgrids(_0x54616c,_0x25c059,_0x4a692d);const _0x3d1bba={};function _0x27fc40(_0x49ad1a,_0x5e1098){return _0x54a7f1(_0x49ad1a- -0x264,_0x5e1098);}_0x3d1bba[_0x27fc40(_0xdd5ac6._0x5be4a5,_0xdd5ac6._0x2aceb5)]=_0x25c059,_0x3d1bba['subgrids']=_0x123210;var _0x4c3fa3=_0x3d1bba;return loadedNadgrids[_0x114af0]=_0x4c3fa3,_0x4c3fa3;}function getNadgrids(_0x33b979){const _0x4f4c09={_0x88b90f:0x374};if(_0x33b979===undefined)return null;var _0xab6270=_0x33b979['split'](',');function _0xc97c61(_0x50a587,_0x1292b1){return _0x7afdbe(_0x50a587,_0x1292b1- -0x95);}return _0xab6270[_0xc97c61(_0x4f4c09._0x88b90f,0xbd0)](parseNadgridString);}function parseNadgridString(_0x10404f){const _0x4c17e4={_0xf77a7f:0x112c,_0x356216:0x151a},_0x181915={_0xada431:0x45};if(_0x10404f[_0x28cf9d(0x1223,0xcd1)]===0x0)return null;var _0x5c6cae=_0x10404f[0x0]==='@';function _0x28cf9d(_0x47765e,_0x165c12){return _0x7afdbe(_0x165c12,_0x47765e-0x70);}_0x5c6cae&&(_0x10404f=_0x10404f['slice'](0x1));if(_0x10404f==='null'){const _0x40e176={};return _0x40e176['name']='null',_0x40e176[_0x28cf9d(0x7fb,_0x4c17e4._0xf77a7f)]=!_0x5c6cae,_0x40e176[_0x28cf9d(0x14a4,0xb01)]=null,_0x40e176[_0x28cf9d(0x19de,0x1986)]=!![],_0x40e176;}const _0x412ea7={};_0x412ea7[_0x28cf9d(_0x4c17e4._0x356216,0x1f4a)]=_0x10404f,_0x412ea7[_0x28cf9d(0x7fb,0x101a)]=!_0x5c6cae;function _0x436f5d(_0x4e472f,_0x943020){return _0x7afdbe(_0x943020,_0x4e472f- -_0x181915._0xada431);}return _0x412ea7['grid']=loadedNadgrids[_0x10404f]||null,_0x412ea7['isNull']=![],_0x412ea7;}function secondsToRadians(_0x2b74bf){return _0x2b74bf/0xe10*Math['PI']/0xb4;}function detectLittleEndian(_0x518913){var _0x2d8a12=_0x518913['getInt32'](0x8,![]);if(_0x2d8a12===0xb)return![];return _0x2d8a12=_0x518913['getInt32'](0x8,!![]),_0x2d8a12!==0xb&&console['warn']('Failed\x20to\x20detect\x20nadgrid\x20endian-ness,\x20defaulting\x20to\x20little-endian'),!![];}function readHeader(_0x2bb4db,_0x5441a5){const _0x125828={_0x4d0d78:0x641,_0x5294d6:0x351,_0x5ac9a6:0x71c},_0x363785={_0x331ae9:0x2a7};function _0x319876(_0x3e55d8,_0x5d46d4){return _0x7afdbe(_0x3e55d8,_0x5d46d4- -_0x363785._0x331ae9);}function _0x4e333b(_0x71fe47,_0x546eea){return _0x54a7f1(_0x546eea-0x3e,_0x71fe47);}return{'nFields':_0x2bb4db['getInt32'](0x8,_0x5441a5),'nSubgridFields':_0x2bb4db['getInt32'](0x18,_0x5441a5),'nSubgrids':_0x2bb4db['getInt32'](0x28,_0x5441a5),'shiftType':decodeString(_0x2bb4db,0x38,0x38+0x8)['trim'](),'fromSemiMajorAxis':_0x2bb4db[_0x319876(0x377,_0x125828._0x4d0d78)](0x78,_0x5441a5),'fromSemiMinorAxis':_0x2bb4db['getFloat64'](0x88,_0x5441a5),'toSemiMajorAxis':_0x2bb4db[_0x319876(_0x125828._0x5294d6,0x641)](0x98,_0x5441a5),'toSemiMinorAxis':_0x2bb4db[_0x4e333b(_0x125828._0x5ac9a6,0x6f8)](0xa8,_0x5441a5)};}function decodeString(_0x146eea,_0x24bafe,_0xcd3eea){const _0x55ca4a={_0x1bd386:0xd98};function _0x1f5afa(_0x37fdc7,_0x495cf4){return _0x54a7f1(_0x37fdc7-0xdc,_0x495cf4);}function _0x5efd4b(_0x4da630,_0x2e8f1e){return _0x54a7f1(_0x2e8f1e- -0x38d,_0x4da630);}return String['fromCharCode'][_0x5efd4b(_0x55ca4a._0x1bd386,0x85e)](null,new Uint8Array(_0x146eea['buffer'][_0x5efd4b(0x7c9,0x47e)](_0x24bafe,_0xcd3eea)));}function readSubgrids(_0xf6489f,_0x12519e,_0x1b7bab){const _0x4becf0={_0x1e9c2:0xd88,_0x30bb89:0x4b4,_0x58393e:0xb04,_0xd7903b:0x13f0,_0x1baef0:0xf82,_0x17f902:0xec3,_0xaa48c8:0xffa,_0x2c0e2d:0x9bc,_0x3b689a:0x10c5};function _0x498dd5(_0x26f2eb,_0xd41ddd){return _0x54a7f1(_0x26f2eb-0x7a,_0xd41ddd);}var _0x25bdef=0xb0,_0x28bea4=[];function _0x21975f(_0x43ed4e,_0x52baed){return _0x7afdbe(_0x52baed,_0x43ed4e- -0x43e);}for(var _0x561cf4=0x0;_0x561cf4<_0x12519e[_0x21975f(_0x4becf0._0x1e9c2,_0x4becf0._0x30bb89)];_0x561cf4++){var _0xf2d7b0=readGridHeader(_0xf6489f,_0x25bdef,_0x1b7bab),_0x4d129f=readGridNodes(_0xf6489f,_0x25bdef,_0xf2d7b0,_0x1b7bab),_0x2dc856=Math['round'](0x1+(_0xf2d7b0[_0x498dd5(_0x4becf0._0x58393e,0x148a)]-_0xf2d7b0['lowerLongitude'])/_0xf2d7b0['longitudeInterval']),_0x76a7d0=Math['round'](0x1+(_0xf2d7b0[_0x498dd5(0x8a0,0x260)]-_0xf2d7b0[_0x498dd5(0x100f,_0x4becf0._0xd7903b)])/_0xf2d7b0['latitudeInterval']);_0x28bea4[_0x498dd5(_0x4becf0._0x1baef0,0x158b)]({'ll':[secondsToRadians(_0xf2d7b0['lowerLongitude']),secondsToRadians(_0xf2d7b0[_0x21975f(0xd85,0x12a5)])],'del':[secondsToRadians(_0xf2d7b0['longitudeInterval']),secondsToRadians(_0xf2d7b0[_0x498dd5(0x633,_0x4becf0._0x17f902)])],'lim':[_0x2dc856,_0x76a7d0],'count':_0xf2d7b0[_0x21975f(_0x4becf0._0xaa48c8,_0x4becf0._0x2c0e2d)],'cvs':mapNodes(_0x4d129f)}),_0x25bdef+=0xb0+_0xf2d7b0[_0x498dd5(0x1284,_0x4becf0._0x3b689a)]*0x10;}return _0x28bea4;}function mapNodes(_0x2e8e0f){const _0x394eda={_0x1f5f89:0xbaa,_0x2c8f82:0x545};function _0x131b77(_0x216ce5,_0x470804){return _0x54a7f1(_0x470804- -0x4f2,_0x216ce5);}return _0x2e8e0f[_0x131b77(_0x394eda._0x1f5f89,_0x394eda._0x2c8f82)](function(_0x39f35a){function _0x281974(_0x591dfc,_0x2c6047){return _0x131b77(_0x591dfc,_0x2c6047-0x3ee);}return[secondsToRadians(_0x39f35a['longitudeShift']),secondsToRadians(_0x39f35a[_0x281974(-0x1b7,0x4a4)])];});}function readGridHeader(_0xb6ded3,_0x36cbd8,_0xce2174){const _0x181920={_0x28d9cf:0x92,_0x53318a:0xde9,_0x5da429:0x6ed};function _0x5cbd4a(_0x58f9ae,_0x58a77d){return _0x54a7f1(_0x58a77d-0x14e,_0x58f9ae);}function _0x52ebf3(_0x3be92c,_0x4a360c){return _0x7afdbe(_0x3be92c,_0x4a360c- -0x1fb);}return{'name':decodeString(_0xb6ded3,_0x36cbd8+0x8,_0x36cbd8+0x10)[_0x5cbd4a(0x13e9,0x139a)](),'parent':decodeString(_0xb6ded3,_0x36cbd8+0x18,_0x36cbd8+0x18+0x8)[_0x5cbd4a(0xeb7,0x139a)](),'lowerLatitude':_0xb6ded3[_0x5cbd4a(-0x247,0x808)](_0x36cbd8+0x48,_0xce2174),'upperLatitude':_0xb6ded3[_0x52ebf3(_0x181920._0x28d9cf,0x6ed)](_0x36cbd8+0x58,_0xce2174),'lowerLongitude':_0xb6ded3['getFloat64'](_0x36cbd8+0x68,_0xce2174),'upperLongitude':_0xb6ded3['getFloat64'](_0x36cbd8+0x78,_0xce2174),'latitudeInterval':_0xb6ded3['getFloat64'](_0x36cbd8+0x88,_0xce2174),'longitudeInterval':_0xb6ded3[_0x52ebf3(_0x181920._0x53318a,_0x181920._0x5da429)](_0x36cbd8+0x98,_0xce2174),'gridNodeCount':_0xb6ded3['getInt32'](_0x36cbd8+0xa8,_0xce2174)};}function readGridNodes(_0x58175b,_0x48f9d8,_0x4f0471,_0x472adc){const _0x4bf14f={_0x3f2846:0x165b},_0x375893={_0x30231f:0x4fe};var _0x3a9c3c=_0x48f9d8+0xb0;function _0x15f99d(_0x28ac5c,_0xbc8ae2){return _0x54a7f1(_0xbc8ae2-0x220,_0x28ac5c);}var _0x3e75e4=0x10;function _0x52abc1(_0x45bf63,_0x2db03e){return _0x7afdbe(_0x45bf63,_0x2db03e- -_0x375893._0x30231f);}var _0x81d59c=[];for(var _0x23eed3=0x0;_0x23eed3<_0x4f0471[_0x52abc1(_0x4bf14f._0x3f2846,0xf3a)];_0x23eed3++){var _0x3fa146={'latitudeShift':_0x58175b['getFloat32'](_0x3a9c3c+_0x23eed3*_0x3e75e4,_0x472adc),'longitudeShift':_0x58175b[_0x52abc1(0x7c,0x604)](_0x3a9c3c+_0x23eed3*_0x3e75e4+0x4,_0x472adc),'latitudeAccuracy':_0x58175b[_0x52abc1(-0x47,0x604)](_0x3a9c3c+_0x23eed3*_0x3e75e4+0x8,_0x472adc),'longitudeAccuracy':_0x58175b['getFloat32'](_0x3a9c3c+_0x23eed3*_0x3e75e4+0xc,_0x472adc)};_0x81d59c['push'](_0x3fa146);}return _0x81d59c;}function Projection(_0x19af80,_0x59ed2e){const _0x2cb644={_0x240763:0x3b9,_0xade0ad:0xe1a,_0x3fe44a:0x919,_0x3ab05c:0x784,_0x157257:0x109d,_0x2b5537:0x19ae,_0x42b82f:0x125b,_0x47d49c:0x1908,_0x5dfa58:0xbe4,_0x570b98:0x106f,_0x5f2d30:0x551,_0x51914f:0x9b5,_0x187169:0x58e,_0x4a2225:0xd3a};if(!(this instanceof Projection))return new Projection(_0x19af80);_0x59ed2e=_0x59ed2e||function(_0x4b74f4){if(_0x4b74f4)throw _0x4b74f4;};var _0x504d57=parse(_0x19af80);function _0x3cbba0(_0x41df46,_0x366ec3){return _0x7afdbe(_0x366ec3,_0x41df46- -0x4e8);}if(typeof _0x504d57!==_0x3cbba0(0xbce,_0x2cb644._0x240763)){_0x59ed2e(_0x19af80);return;}var _0x1f870b=Projection['projections']['get'](_0x504d57[_0x3cbba0(0xcf8,0x125a)]);if(!_0x1f870b){_0x59ed2e(_0x19af80);return;}function _0x12b5e8(_0x1c358f,_0x4faffb){return _0x7afdbe(_0x1c358f,_0x4faffb- -0x44c);}if(_0x504d57['datumCode']&&_0x504d57['datumCode']!==_0x12b5e8(0x786,_0x2cb644._0xade0ad)){var _0x90ea15=match(exports$1,_0x504d57['datumCode']);_0x90ea15&&(_0x504d57['datum_params']=_0x504d57[_0x3cbba0(_0x2cb644._0x3fe44a,0xbf0)]||(_0x90ea15['towgs84']?_0x90ea15[_0x3cbba0(0xafc,_0x2cb644._0x3ab05c)]['split'](','):null),_0x504d57['ellps']=_0x90ea15[_0x12b5e8(0xad0,0x9dd)],_0x504d57[_0x3cbba0(0x137e,0x1c59)]=_0x90ea15['datumName']?_0x90ea15['datumName']:_0x504d57[_0x12b5e8(0x7e2,0xa8e)]);}_0x504d57['k0']=_0x504d57['k0']||0x1,_0x504d57[_0x3cbba0(_0x2cb644._0x157257,_0x2cb644._0x2b5537)]=_0x504d57[_0x3cbba0(0x109d,0xeaf)]||'enu',_0x504d57['ellps']=_0x504d57['ellps']||'wgs84',_0x504d57['lat1']=_0x504d57[_0x3cbba0(_0x2cb644._0x42b82f,_0x2cb644._0x47d49c)]||_0x504d57[_0x3cbba0(_0x2cb644._0x5dfa58,_0x2cb644._0x570b98)];var _0x432317=sphere(_0x504d57['a'],_0x504d57['b'],_0x504d57['rf'],_0x504d57['ellps'],_0x504d57['sphere']),_0x530099=eccentricity(_0x432317['a'],_0x432317['b'],_0x432317['rf'],_0x504d57[_0x3cbba0(0x303,0xb3f)]),_0x17bac3=getNadgrids(_0x504d57[_0x3cbba0(0x3ef,-_0x2cb644._0x5f2d30)]),_0x3d9c50=_0x504d57['datum']||datum(_0x504d57['datumCode'],_0x504d57[_0x12b5e8(0xe4b,_0x2cb644._0x51914f)],_0x432317['a'],_0x432317['b'],_0x530099['es'],_0x530099['ep2'],_0x17bac3);extend(this,_0x504d57),extend(this,_0x1f870b),this['a']=_0x432317['a'],this['b']=_0x432317['b'],this['rf']=_0x432317['rf'],this['sphere']=_0x432317[_0x12b5e8(0x489,0x814)],this['es']=_0x530099['es'],this['e']=_0x530099['e'],this['ep2']=_0x530099[_0x12b5e8(_0x2cb644._0x187169,_0x2cb644._0x4a2225)],this['datum']=_0x3d9c50,this['init'](),_0x59ed2e(null,this);}Projection['projections']=projections,Projection['projections']['start']();function compareDatums(_0x563803,_0x2d2453){const _0x2d09c1={_0x57aa38:0xde1,_0x364a2b:0x2d8,_0x386ddd:0xce9};function _0x34c665(_0x211124,_0x2a2de5){return _0x54a7f1(_0x211124-0x116,_0x2a2de5);}function _0x25c54b(_0x45fc75,_0x52b515){return _0x7afdbe(_0x45fc75,_0x52b515- -0x320);}if(_0x563803['datum_type']!==_0x2d2453['datum_type'])return![];else{if(_0x563803['a']!==_0x2d2453['a']||Math['abs'](_0x563803['es']-_0x2d2453['es'])>5e-11)return![];else{if(_0x563803[_0x34c665(0xb53,0x1477)]===PJD_3PARAM)return _0x563803[_0x25c54b(0x1406,0xae1)][0x0]===_0x2d2453['datum_params'][0x0]&&_0x563803['datum_params'][0x1]===_0x2d2453['datum_params'][0x1]&&_0x563803['datum_params'][0x2]===_0x2d2453['datum_params'][0x2];else return _0x563803['datum_type']===PJD_7PARAM?_0x563803['datum_params'][0x0]===_0x2d2453['datum_params'][0x0]&&_0x563803[_0x34c665(0xce9,0x347)][0x1]===_0x2d2453['datum_params'][0x1]&&_0x563803['datum_params'][0x2]===_0x2d2453[_0x34c665(0xce9,0x1622)][0x2]&&_0x563803['datum_params'][0x3]===_0x2d2453['datum_params'][0x3]&&_0x563803[_0x25c54b(_0x2d09c1._0x57aa38,0xae1)][0x4]===_0x2d2453['datum_params'][0x4]&&_0x563803['datum_params'][0x5]===_0x2d2453[_0x25c54b(_0x2d09c1._0x364a2b,0xae1)][0x5]&&_0x563803[_0x34c665(0xce9,0x1582)][0x6]===_0x2d2453[_0x34c665(_0x2d09c1._0x386ddd,0xa93)][0x6]:!![];}}}function geodeticToGeocentric(_0x3ac3bc,_0xaa7e6b,_0x5c5e8f){const _0x19a4dd={_0xadc1cf:0x1104},_0x40372d={_0x11a228:0xd3},_0x5981ac={_0x598b1f:0x232};var _0x25a494=_0x3ac3bc['x'],_0x3a3799=_0x3ac3bc['y'],_0x58eab6=_0x3ac3bc['z']?_0x3ac3bc['z']:0x0,_0x255a46,_0x4d8b2c;function _0x80520d(_0x30ad25,_0x64af5){return _0x54a7f1(_0x64af5- -_0x5981ac._0x598b1f,_0x30ad25);}var _0x3f6112,_0x4d2abc;if(_0x3a3799<-HALF_PI&&_0x3a3799>-1.001*HALF_PI)_0x3a3799=-HALF_PI;else{if(_0x3a3799>HALF_PI&&_0x3a3799<1.001*HALF_PI)_0x3a3799=HALF_PI;else{if(_0x3a3799<-HALF_PI){const _0x524dcc={};return _0x524dcc['x']=-Infinity,_0x524dcc['y']=-Infinity,_0x524dcc['z']=_0x3ac3bc['z'],_0x524dcc;}else{if(_0x3a3799>HALF_PI){const _0x3cc5f8={};return _0x3cc5f8['x']=Infinity,_0x3cc5f8['y']=Infinity,_0x3cc5f8['z']=_0x3ac3bc['z'],_0x3cc5f8;}}}}_0x25a494>Math['PI']&&(_0x25a494-=0x2*Math['PI']);function _0x430f9b(_0x52cbd9,_0x4f42ee){return _0x54a7f1(_0x52cbd9- -_0x40372d._0x11a228,_0x4f42ee);}return _0x4d8b2c=Math['sin'](_0x3a3799),_0x4d2abc=Math['cos'](_0x3a3799),_0x3f6112=_0x4d8b2c*_0x4d8b2c,_0x255a46=_0x5c5e8f/Math[_0x430f9b(0xd31,_0x19a4dd._0xadc1cf)](0x1-_0xaa7e6b*_0x3f6112),{'x':(_0x255a46+_0x58eab6)*_0x4d2abc*Math[_0x80520d(0x16f8,0x1522)](_0x25a494),'y':(_0x255a46+_0x58eab6)*_0x4d2abc*Math['sin'](_0x25a494),'z':(_0x255a46*(0x1-_0xaa7e6b)+_0x58eab6)*_0x4d8b2c};}function geocentricToGeodetic(_0x2766ed,_0x429417,_0x2b69b9,_0x671766){const _0x144d68={_0x536520:0xfd5,_0x3a684d:0xc8f},_0x7a0d82={_0x1bd138:0x671};var _0x5822f2=1e-12,_0x430680=_0x5822f2*_0x5822f2,_0x567cff=0x1e,_0x3f9b1d,_0x5a79d6,_0x5d8178,_0x1d6fdc,_0x28c30a,_0x23ba18,_0x53b8c1,_0x51254d,_0x47c7f7,_0x2a95e3;function _0x4caff1(_0x230a19,_0x25ce9a){return _0x7afdbe(_0x25ce9a,_0x230a19- -_0x7a0d82._0x1bd138);}var _0x5eb1c4,_0x3ed833,_0x15f9a0,_0x5becc9=_0x2766ed['x'],_0x9de28c=_0x2766ed['y'],_0x415313=_0x2766ed['z']?_0x2766ed['z']:0x0,_0x45272b,_0x35d99d,_0x5c7864;_0x3f9b1d=Math['sqrt'](_0x5becc9*_0x5becc9+_0x9de28c*_0x9de28c),_0x5a79d6=Math[_0x3ead48(0x133d,_0x144d68._0x536520)](_0x5becc9*_0x5becc9+_0x9de28c*_0x9de28c+_0x415313*_0x415313);if(_0x3f9b1d/_0x2b69b9<_0x5822f2){_0x45272b=0x0;if(_0x5a79d6/_0x2b69b9<_0x5822f2){_0x35d99d=HALF_PI,_0x5c7864=-_0x671766;const _0x4c97fa={};return _0x4c97fa['x']=_0x2766ed['x'],_0x4c97fa['y']=_0x2766ed['y'],_0x4c97fa['z']=_0x2766ed['z'],_0x4c97fa;}}else _0x45272b=Math[_0x3ead48(0x884,0x67b)](_0x9de28c,_0x5becc9);_0x5d8178=_0x415313/_0x5a79d6,_0x1d6fdc=_0x3f9b1d/_0x5a79d6,_0x28c30a=0x1/Math['sqrt'](0x1-_0x429417*(0x2-_0x429417)*_0x1d6fdc*_0x1d6fdc),_0x51254d=_0x1d6fdc*(0x1-_0x429417)*_0x28c30a,_0x47c7f7=_0x5d8178*_0x28c30a,_0x15f9a0=0x0;do{_0x15f9a0++,_0x53b8c1=_0x2b69b9/Math[_0x3ead48(0x18ed,_0x144d68._0x536520)](0x1-_0x429417*_0x47c7f7*_0x47c7f7),_0x5c7864=_0x3f9b1d*_0x51254d+_0x415313*_0x47c7f7-_0x53b8c1*(0x1-_0x429417*_0x47c7f7*_0x47c7f7),_0x23ba18=_0x429417*_0x53b8c1/(_0x53b8c1+_0x5c7864),_0x28c30a=0x1/Math['sqrt'](0x1-_0x23ba18*(0x2-_0x23ba18)*_0x1d6fdc*_0x1d6fdc),_0x2a95e3=_0x1d6fdc*(0x1-_0x23ba18)*_0x28c30a,_0x5eb1c4=_0x5d8178*_0x28c30a,_0x3ed833=_0x5eb1c4*_0x51254d-_0x2a95e3*_0x47c7f7,_0x51254d=_0x2a95e3,_0x47c7f7=_0x5eb1c4;}while(_0x3ed833*_0x3ed833>_0x430680&&_0x15f9a0<_0x567cff);_0x35d99d=Math[_0x4caff1(0x398,0x9b0)](_0x5eb1c4/Math[_0x4caff1(_0x144d68._0x3a684d,0x15ba)](_0x2a95e3));const _0x49d5fc={};_0x49d5fc['x']=_0x45272b,_0x49d5fc['y']=_0x35d99d;function _0x3ead48(_0x550e53,_0x5907bc){return _0x7afdbe(_0x550e53,_0x5907bc- -0x5d);}return _0x49d5fc['z']=_0x5c7864,_0x49d5fc;}function geocentricToWgs84(_0x147440,_0x26c1a3,_0x240089){if(_0x26c1a3===PJD_3PARAM){const _0x1c8acc={};return _0x1c8acc['x']=_0x147440['x']+_0x240089[0x0],_0x1c8acc['y']=_0x147440['y']+_0x240089[0x1],_0x1c8acc['z']=_0x147440['z']+_0x240089[0x2],_0x1c8acc;}else{if(_0x26c1a3===PJD_7PARAM){var _0x4e5aa6=_0x240089[0x0],_0x37cb81=_0x240089[0x1],_0x3c237d=_0x240089[0x2],_0x125f90=_0x240089[0x3],_0x350448=_0x240089[0x4],_0x3cb788=_0x240089[0x5],_0x5ed96c=_0x240089[0x6];const _0x204354={};return _0x204354['x']=_0x5ed96c*(_0x147440['x']-_0x3cb788*_0x147440['y']+_0x350448*_0x147440['z'])+_0x4e5aa6,_0x204354['y']=_0x5ed96c*(_0x3cb788*_0x147440['x']+_0x147440['y']-_0x125f90*_0x147440['z'])+_0x37cb81,_0x204354['z']=_0x5ed96c*(-_0x350448*_0x147440['x']+_0x125f90*_0x147440['y']+_0x147440['z'])+_0x3c237d,_0x204354;}}}function geocentricFromWgs84(_0x3bc3ee,_0xf2c77d,_0x54cf74){if(_0xf2c77d===PJD_3PARAM){const _0x39d38a={};return _0x39d38a['x']=_0x3bc3ee['x']-_0x54cf74[0x0],_0x39d38a['y']=_0x3bc3ee['y']-_0x54cf74[0x1],_0x39d38a['z']=_0x3bc3ee['z']-_0x54cf74[0x2],_0x39d38a;}else{if(_0xf2c77d===PJD_7PARAM){var _0x180543=_0x54cf74[0x0],_0x37c42e=_0x54cf74[0x1],_0x655e39=_0x54cf74[0x2],_0x2b86e9=_0x54cf74[0x3],_0x3cd683=_0x54cf74[0x4],_0x541ff9=_0x54cf74[0x5],_0x4a9e51=_0x54cf74[0x6],_0x3008c4=(_0x3bc3ee['x']-_0x180543)/_0x4a9e51,_0x4ffb2a=(_0x3bc3ee['y']-_0x37c42e)/_0x4a9e51,_0x810c78=(_0x3bc3ee['z']-_0x655e39)/_0x4a9e51;const _0x254bea={};return _0x254bea['x']=_0x3008c4+_0x541ff9*_0x4ffb2a-_0x3cd683*_0x810c78,_0x254bea['y']=-_0x541ff9*_0x3008c4+_0x4ffb2a+_0x2b86e9*_0x810c78,_0x254bea['z']=_0x3cd683*_0x3008c4-_0x2b86e9*_0x4ffb2a+_0x810c78,_0x254bea;}}}function checkParams(_0x3fe142){return _0x3fe142===PJD_3PARAM||_0x3fe142===PJD_7PARAM;}function datum_transform(_0x23cbbb,_0x29f2d0,_0xb9e5f1){const _0x158c95={_0x28ad80:0x914,_0x50c4f0:0x133b,_0x29d118:0xb97,_0x5de6f5:0xba1},_0x4a2900={_0x216782:0x129};if(compareDatums(_0x23cbbb,_0x29f2d0))return _0xb9e5f1;function _0x4c0c7e(_0x3187cc,_0x3a9257){return _0x54a7f1(_0x3187cc- -_0x4a2900._0x216782,_0x3a9257);}if(_0x23cbbb['datum_type']===PJD_NODATUM||_0x29f2d0[_0x4c0c7e(0x914,-0xff)]===PJD_NODATUM)return _0xb9e5f1;var _0x35165a=_0x23cbbb['a'],_0x2bd12d=_0x23cbbb['es'];if(_0x23cbbb['datum_type']===PJD_GRIDSHIFT){var _0x14725b=applyGridShift(_0x23cbbb,![],_0xb9e5f1);if(_0x14725b!==0x0)return undefined;_0x35165a=SRS_WGS84_SEMIMAJOR,_0x2bd12d=SRS_WGS84_ESQUARED;}var _0x2cf69d=_0x29f2d0['a'],_0x2436b3=_0x29f2d0['b'],_0x5b6e2c=_0x29f2d0['es'];_0x29f2d0['datum_type']===PJD_GRIDSHIFT&&(_0x2cf69d=SRS_WGS84_SEMIMAJOR,_0x2436b3=SRS_WGS84_SEMIMINOR,_0x5b6e2c=SRS_WGS84_ESQUARED);if(_0x2bd12d===_0x5b6e2c&&_0x35165a===_0x2cf69d&&!checkParams(_0x23cbbb[_0x273a74(0x12c3,0xba1)])&&!checkParams(_0x29f2d0[_0x4c0c7e(0x914,-0x18)]))return _0xb9e5f1;_0xb9e5f1=geodeticToGeocentric(_0xb9e5f1,_0x2bd12d,_0x35165a);checkParams(_0x23cbbb['datum_type'])&&(_0xb9e5f1=geocentricToWgs84(_0xb9e5f1,_0x23cbbb[_0x4c0c7e(_0x158c95._0x28ad80,0xdfe)],_0x23cbbb[_0x4c0c7e(0xaaa,0x131)]));checkParams(_0x29f2d0[_0x273a74(_0x158c95._0x50c4f0,0xba1)])&&(_0xb9e5f1=geocentricFromWgs84(_0xb9e5f1,_0x29f2d0[_0x273a74(_0x158c95._0x29d118,_0x158c95._0x5de6f5)],_0x29f2d0['datum_params']));_0xb9e5f1=geocentricToGeodetic(_0xb9e5f1,_0x5b6e2c,_0x2cf69d,_0x2436b3);function _0x273a74(_0x58ad20,_0x4af8e8){return _0x54a7f1(_0x4af8e8-0x164,_0x58ad20);}if(_0x29f2d0['datum_type']===PJD_GRIDSHIFT){var _0x42838=applyGridShift(_0x29f2d0,!![],_0xb9e5f1);if(_0x42838!==0x0)return undefined;}return _0xb9e5f1;}function applyGridShift(_0x716dcc,_0x67a30a,_0xaf94c7){const _0x1be7f7={_0x587a4a:0xee6,_0xfdf832:0xc10,_0x40c9eb:0x10f1,_0x55c105:0x10eb,_0x36683b:0xcb,_0x2b0a4b:0xbc6,_0x5dc442:0xf41,_0x37b952:0x12ab,_0x3d50bc:0xd54,_0x1a2511:0x1d27},_0x2c9b65={_0x5d051f:0x191};if(_0x716dcc['grids']===null||_0x716dcc['grids'][_0x5bd881(0xc10,0x42d)]===0x0)return console[_0x5bd881(0x10d5,0xd14)](_0xda78ee(_0x1be7f7._0x587a4a,0x12ab)),-0x1;const _0x496c62={};_0x496c62['x']=-_0xaf94c7['x'],_0x496c62['y']=_0xaf94c7['y'];var _0x4a765f=_0x496c62;const _0x2c7b6f={};_0x2c7b6f['x']=Number['NaN'],_0x2c7b6f['y']=Number[_0xda78ee(0xcb0,0xa9f)];var _0x4852ac=_0x2c7b6f,_0x33d17d=[];_0x2e400b:for(var _0x361968=0x0;_0x361968<_0x716dcc['grids'][_0x5bd881(_0x1be7f7._0xfdf832,0xd3d)];_0x361968++){var _0xd107c4=_0x716dcc[_0xda78ee(_0x1be7f7._0x40c9eb,0xbca)][_0x361968];_0x33d17d['push'](_0xd107c4[_0xda78ee(_0x1be7f7._0x55c105,0x1270)]);if(_0xd107c4['isNull']){_0x4852ac=_0x4a765f;break;}_0xd107c4['mandatory'];if(_0xd107c4['grid']===null){if(_0xd107c4['mandatory'])return console['log'](_0x5bd881(0x37,_0x1be7f7._0x36683b)+_0xd107c4['name']+'\x27'),-0x1;continue;}var _0xbdf93e=_0xd107c4['grid'][_0xda78ee(0xfe8,_0x1be7f7._0x2b0a4b)];for(var _0x143f2d=0x0,_0x3b071b=_0xbdf93e['length'];_0x143f2d<_0x3b071b;_0x143f2d++){var _0x21111a=_0xbdf93e[_0x143f2d],_0x171e94=(Math[_0xda78ee(_0x1be7f7._0x5dc442,0x89d)](_0x21111a['del'][0x1])+Math[_0xda78ee(0xf41,0x17ab)](_0x21111a['del'][0x0]))/0x2710,_0x2be7bf=_0x21111a['ll'][0x0]-_0x171e94,_0x34b57b=_0x21111a['ll'][0x1]-_0x171e94,_0x1632bb=_0x21111a['ll'][0x0]+(_0x21111a[_0xda78ee(0x131e,0xab9)][0x0]-0x1)*_0x21111a[_0x5bd881(_0x1be7f7._0x37b952,_0x1be7f7._0x3d50bc)][0x0]+_0x171e94,_0x43eb76=_0x21111a['ll'][0x1]+(_0x21111a['lim'][0x1]-0x1)*_0x21111a[_0xda78ee(0x148f,_0x1be7f7._0x1a2511)][0x1]+_0x171e94;if(_0x34b57b>_0x4a765f['y']||_0x2be7bf>_0x4a765f['x']||_0x43eb76<_0x4a765f['y']||_0x1632bb<_0x4a765f['x'])continue;_0x4852ac=applySubgridShift(_0x4a765f,_0x67a30a,_0x21111a);if(!isNaN(_0x4852ac['x']))break _0x2e400b;}}if(isNaN(_0x4852ac['x']))return console[_0x5bd881(0x10d5,0x1864)]('Failed\x20to\x20find\x20a\x20grid\x20shift\x20table\x20for\x20location\x20\x27'+-_0x4a765f['x']*R2D+'\x20'+_0x4a765f['y']*R2D+_0x5bd881(0x143c,0x1272)+_0x33d17d+'\x27'),-0x1;_0xaf94c7['x']=-_0x4852ac['x'];function _0xda78ee(_0x149b67,_0x4d18a6){return _0x54a7f1(_0x149b67- -_0x2c9b65._0x5d051f,_0x4d18a6);}function _0x5bd881(_0x15158d,_0x77507d){return _0x7afdbe(_0x77507d,_0x15158d- -0x5a3);}return _0xaf94c7['y']=_0x4852ac['y'],0x0;}function applySubgridShift(_0x32bba6,_0x11f51c,_0x3154ac){const _0x37e29f={_0x37733e:0xb20,_0x491610:0xd13,_0x289283:0xf8a,_0x15a9df:0x113d,_0x590523:0x15e8},_0x1ef5c8={_0x1c8ba5:0x53b},_0x3a8015={};_0x3a8015['x']=Number[_0x3c5684(_0x37e29f._0x37733e,0xf08)],_0x3a8015['y']=Number[_0xc3d989(0x78f,0xb34)];var _0x458978=_0x3a8015;if(isNaN(_0x32bba6['x']))return _0x458978;const _0x1c386d={};_0x1c386d['x']=_0x32bba6['x'],_0x1c386d['y']=_0x32bba6['y'];var _0x491795=_0x1c386d;_0x491795['x']-=_0x3154ac['ll'][0x0],_0x491795['y']-=_0x3154ac['ll'][0x1],_0x491795['x']=adjust_lon(_0x491795['x']-Math['PI'])+Math['PI'];function _0x3c5684(_0x11df8f,_0xc87586){return _0x54a7f1(_0xc87586-0xc7,_0x11df8f);}var _0x332553=nadInterpolate(_0x491795,_0x3154ac);function _0xc3d989(_0x414e35,_0x594663){return _0x7afdbe(_0x414e35,_0x594663- -_0x1ef5c8._0x1c8ba5);}if(_0x11f51c){if(isNaN(_0x332553['x']))return _0x458978;_0x332553['x']=_0x491795['x']-_0x332553['x'],_0x332553['y']=_0x491795['y']-_0x332553['y'];var _0x32673a=0x9,_0x509452=1e-12,_0x240080,_0xb0e87f;do{_0xb0e87f=nadInterpolate(_0x332553,_0x3154ac);if(isNaN(_0xb0e87f['x'])){console[_0x3c5684(0x1557,0x1511)](_0x3c5684(_0x37e29f._0x491610,_0x37e29f._0x289283));break;}const _0x9a7af3={};_0x9a7af3['x']=_0x491795['x']-(_0xb0e87f['x']+_0x332553['x']),_0x9a7af3['y']=_0x491795['y']-(_0xb0e87f['y']+_0x332553['y']),_0x240080=_0x9a7af3,_0x332553['x']+=_0x240080['x'],_0x332553['y']+=_0x240080['y'];}while(_0x32673a--&&Math['abs'](_0x240080['x'])>_0x509452&&Math[_0x3c5684(0x16dd,0x1199)](_0x240080['y'])>_0x509452);if(_0x32673a<0x0)return console[_0xc3d989(0x166d,_0x37e29f._0x15a9df)](_0x3c5684(0x1c8e,_0x37e29f._0x590523)),_0x458978;_0x458978['x']=adjust_lon(_0x332553['x']+_0x3154ac['ll'][0x0]),_0x458978['y']=_0x332553['y']+_0x3154ac['ll'][0x1];}else!isNaN(_0x332553['x'])&&(_0x458978['x']=_0x32bba6['x']+_0x332553['x'],_0x458978['y']=_0x32bba6['y']+_0x332553['y']);return _0x458978;}function nadInterpolate(_0x4af5a2,_0x111cc3){const _0x5e8116={_0x8e485c:0x175c,_0x4317f8:0x939,_0x5a77fb:0xdc0,_0x5b4b09:0x339,_0x44f226:0x4ea,_0x26c2ed:0xbb8,_0x57c9d3:0x1d3,_0x2a96fe:0xa4f},_0x14a6d0={_0x26eaac:0x585},_0x214313={};_0x214313['x']=_0x4af5a2['x']/_0x111cc3['del'][0x0],_0x214313['y']=_0x4af5a2['y']/_0x111cc3[_0x46028a(0x1118,_0x5e8116._0x8e485c)][0x1];var _0x1f4f5c=_0x214313;function _0x46028a(_0x3229db,_0x377c4b){return _0x54a7f1(_0x3229db- -0x508,_0x377c4b);}var _0x1bcb0c={'x':Math[_0x4895c6(0x59b,-0x168)](_0x1f4f5c['x']),'y':Math[_0x46028a(0x3ea,0x568)](_0x1f4f5c['y'])};const _0x52a879={};_0x52a879['x']=_0x1f4f5c['x']-0x1*_0x1bcb0c['x'],_0x52a879['y']=_0x1f4f5c['y']-0x1*_0x1bcb0c['y'];function _0x4895c6(_0x289ff7,_0x55ac55){return _0x7afdbe(_0x55ac55,_0x289ff7- -_0x14a6d0._0x26eaac);}var _0x625076=_0x52a879;const _0x1b20c0={};_0x1b20c0['x']=Number['NaN'],_0x1b20c0['y']=Number[_0x46028a(_0x5e8116._0x4317f8,_0x5e8116._0x5a77fb)];var _0x5415ab=_0x1b20c0,_0x281d12;if(_0x1bcb0c['x']<0x0||_0x1bcb0c['x']>=_0x111cc3['lim'][0x0])return _0x5415ab;if(_0x1bcb0c['y']<0x0||_0x1bcb0c['y']>=_0x111cc3['lim'][0x1])return _0x5415ab;_0x281d12=_0x1bcb0c['y']*_0x111cc3[_0x4895c6(0x1158,0xd1f)][0x0]+_0x1bcb0c['x'];const _0x2ed7d9={};_0x2ed7d9['x']=_0x111cc3[_0x46028a(_0x5e8116._0x5b4b09,0x9a3)][_0x281d12][0x0],_0x2ed7d9['y']=_0x111cc3['cvs'][_0x281d12][0x1];var _0x383019=_0x2ed7d9;_0x281d12++;const _0x39e03b={};_0x39e03b['x']=_0x111cc3['cvs'][_0x281d12][0x0],_0x39e03b['y']=_0x111cc3['cvs'][_0x281d12][0x1];var _0xcdfb1f=_0x39e03b;_0x281d12+=_0x111cc3['lim'][0x0];const _0x378d92={};_0x378d92['x']=_0x111cc3[_0x4895c6(_0x5e8116._0x44f226,_0x5e8116._0x26c2ed)][_0x281d12][0x0],_0x378d92['y']=_0x111cc3[_0x46028a(0x339,_0x5e8116._0x57c9d3)][_0x281d12][0x1];var _0x4b14a8=_0x378d92;_0x281d12--;const _0x342e9f={};_0x342e9f['x']=_0x111cc3[_0x46028a(0x339,_0x5e8116._0x2a96fe)][_0x281d12][0x0],_0x342e9f['y']=_0x111cc3['cvs'][_0x281d12][0x1];var _0x11895e=_0x342e9f,_0x3a9234=_0x625076['x']*_0x625076['y'],_0x379588=_0x625076['x']*(0x1-_0x625076['y']),_0x40fef3=(0x1-_0x625076['x'])*(0x1-_0x625076['y']),_0x1a1a6d=(0x1-_0x625076['x'])*_0x625076['y'];return _0x5415ab['x']=_0x40fef3*_0x383019['x']+_0x379588*_0xcdfb1f['x']+_0x1a1a6d*_0x11895e['x']+_0x3a9234*_0x4b14a8['x'],_0x5415ab['y']=_0x40fef3*_0x383019['y']+_0x379588*_0xcdfb1f['y']+_0x1a1a6d*_0x11895e['y']+_0x3a9234*_0x4b14a8['y'],_0x5415ab;}function adjust_axis(_0x17b673,_0x55d607,_0x3c8195){const _0x5632a9={_0x27301c:0x85a,_0x223dbd:0x23d,_0x4dc469:0x1804,_0x67dd18:0xfe5,_0x32f708:0x1440},_0x369b13={_0x23ae6e:0x5a0},_0x4719ec={_0x561596:0x145};var _0x53876c=_0x3c8195['x'],_0x333bfc=_0x3c8195['y'],_0x3764c7=_0x3c8195['z']||0x0;function _0x1845c5(_0x36fdd6,_0x4a05fc){return _0x7afdbe(_0x36fdd6,_0x4a05fc- -_0x4719ec._0x561596);}var _0xb4d17a,_0x2c4356,_0x4b2407;function _0x4e146a(_0x1bb49d,_0x3b2602){return _0x7afdbe(_0x1bb49d,_0x3b2602- -_0x369b13._0x23ae6e);}var _0x38ef31={};for(_0x4b2407=0x0;_0x4b2407<0x3;_0x4b2407++){if(_0x55d607&&_0x4b2407===0x2&&_0x3c8195['z']===undefined)continue;if(_0x4b2407===0x0)_0xb4d17a=_0x53876c,'ew'[_0x4e146a(-_0x5632a9._0x27301c,_0x5632a9._0x223dbd)](_0x17b673[_0x4e146a(_0x5632a9._0x4dc469,_0x5632a9._0x67dd18)][_0x4b2407])!==-0x1?_0x2c4356='x':_0x2c4356='y';else _0x4b2407===0x1?(_0xb4d17a=_0x333bfc,'ns'['indexOf'](_0x17b673[_0x1845c5(0x1383,_0x5632a9._0x32f708)][_0x4b2407])!==-0x1?_0x2c4356='y':_0x2c4356='x'):(_0xb4d17a=_0x3764c7,_0x2c4356='z');switch(_0x17b673['axis'][_0x4b2407]){case'e':_0x38ef31[_0x2c4356]=_0xb4d17a;break;case'w':_0x38ef31[_0x2c4356]=-_0xb4d17a;break;case'n':_0x38ef31[_0x2c4356]=_0xb4d17a;break;case's':_0x38ef31[_0x2c4356]=-_0xb4d17a;break;case'u':_0x3c8195[_0x2c4356]!==undefined&&(_0x38ef31['z']=_0xb4d17a);break;case'd':_0x3c8195[_0x2c4356]!==undefined&&(_0x38ef31['z']=-_0xb4d17a);break;default:return null;}}return _0x38ef31;}function common(_0xb4b496){const _0x86ea88={};_0x86ea88['x']=_0xb4b496[0x0],_0x86ea88['y']=_0xb4b496[0x1];var _0x3cb16d=_0x86ea88;return _0xb4b496['length']>0x2&&(_0x3cb16d['z']=_0xb4b496[0x2]),_0xb4b496['length']>0x3&&(_0x3cb16d['m']=_0xb4b496[0x3]),_0x3cb16d;}function checkSanity(_0x561076){checkCoord(_0x561076['x']),checkCoord(_0x561076['y']);}function checkCoord(_0x4c7b64){const _0x4c955a={_0x2ebd90:0x1883,_0x1f3924:0x1678,_0x245ee3:0x20f5,_0x5ba632:0x17bb,_0x5f0a07:0x1da5},_0x38520e={_0x39c025:0x1b5};if(typeof Number[_0x2c9182(0x1678,_0x4c955a._0x2ebd90)]==='function'){if(Number[_0x2c9182(_0x4c955a._0x1f3924,_0x4c955a._0x245ee3)](_0x4c7b64))return;throw new TypeError(_0x2c9182(_0x4c955a._0x5ba632,_0x4c955a._0x5f0a07));}function _0x2c9182(_0x564265,_0x24f940){return _0x54a7f1(_0x564265-0x113,_0x24f940);}function _0x3bc7b5(_0x20c3a5,_0x67617b){return _0x7afdbe(_0x20c3a5,_0x67617b- -_0x38520e._0x39c025);}if(typeof _0x4c7b64!=='number'||_0x4c7b64!==_0x4c7b64||!isFinite(_0x4c7b64))throw new TypeError('coordinates\x20must\x20be\x20finite\x20numbers');}function checkNotWGS(_0x22b0a4,_0x23f004){const _0x19b87={_0x58e45e:0x60f,_0x55fac3:0xc15};function _0x24a9a2(_0x8b596a,_0x5dd519){return _0x7afdbe(_0x8b596a,_0x5dd519- -0x56);}function _0x428c00(_0x18a562,_0x4ad7d8){return _0x7afdbe(_0x18a562,_0x4ad7d8- -0x2c5);}return(_0x22b0a4['datum'][_0x24a9a2(0x565,0xc15)]===PJD_3PARAM||_0x22b0a4['datum']['datum_type']===PJD_7PARAM||_0x22b0a4['datum']['datum_type']===PJD_GRIDSHIFT)&&_0x23f004[_0x428c00(0x611,0xc15)]!==_0x428c00(0x115c,0xdc3)||(_0x23f004['datum'][_0x428c00(0x9fa,0x9a6)]===PJD_3PARAM||_0x23f004[_0x24a9a2(0x61a,0x69d)]['datum_type']===PJD_7PARAM||_0x23f004['datum']['datum_type']===PJD_GRIDSHIFT)&&_0x22b0a4[_0x428c00(_0x19b87._0x58e45e,_0x19b87._0x55fac3)]!=='WGS84';}function transform(_0x2071d3,_0xe4b13c,_0x5d137e,_0x21c785){const _0x8c24df={_0x28e780:0xbde,_0x3f9eec:0x18a5,_0xd4869f:0x1078,_0x2cb823:0x113c,_0x56df24:0x7e0,_0x1ba477:0x542,_0xc366fc:0x494,_0x4bbd65:0xd36,_0x341f44:0xc5f,_0x2efcf2:0x7e0,_0x1e400f:0x1c41,_0x3cfac4:0x148};var _0x3a7329;Array['isArray'](_0x5d137e)?_0x5d137e=common(_0x5d137e):_0x5d137e={'x':_0x5d137e['x'],'y':_0x5d137e['y'],'z':_0x5d137e['z'],'m':_0x5d137e['m']};var _0x6cf16b=_0x5d137e['z']!==undefined;checkSanity(_0x5d137e);_0x2071d3['datum']&&_0xe4b13c['datum']&&checkNotWGS(_0x2071d3,_0xe4b13c)&&(_0x3a7329=new Projection(_0x40ef39(0xee8,_0x8c24df._0x28e780)),_0x5d137e=transform(_0x2071d3,_0x3a7329,_0x5d137e,_0x21c785),_0x2071d3=_0x3a7329);_0x21c785&&_0x2071d3['axis']!==_0x491992(_0x8c24df._0x3f9eec,_0x8c24df._0xd4869f)&&(_0x5d137e=adjust_axis(_0x2071d3,![],_0x5d137e));if(_0x2071d3['projName']===_0x40ef39(_0x8c24df._0x2cb823,_0x8c24df._0x56df24))_0x5d137e={'x':_0x5d137e['x']*D2R$1,'y':_0x5d137e['y']*D2R$1,'z':_0x5d137e['z']||0x0};else{_0x2071d3['to_meter']&&(_0x5d137e={'x':_0x5d137e['x']*_0x2071d3['to_meter'],'y':_0x5d137e['y']*_0x2071d3['to_meter'],'z':_0x5d137e['z']||0x0});_0x5d137e=_0x2071d3['inverse'](_0x5d137e);if(!_0x5d137e)return;}_0x2071d3['from_greenwich']&&(_0x5d137e['x']+=_0x2071d3[_0x40ef39(-_0x8c24df._0x1ba477,0x92)]);function _0x40ef39(_0x2e7968,_0x24cd08){return _0x7afdbe(_0x2e7968,_0x24cd08- -0x4aa);}_0x5d137e=datum_transform(_0x2071d3['datum'],_0xe4b13c['datum'],_0x5d137e);if(!_0x5d137e)return;_0xe4b13c['from_greenwich']&&(_0x5d137e={'x':_0x5d137e['x']-_0xe4b13c['from_greenwich'],'y':_0x5d137e['y'],'z':_0x5d137e['z']||0x0});_0xe4b13c[_0x40ef39(_0x8c24df._0xc366fc,_0x8c24df._0x4bbd65)]===_0x40ef39(_0x8c24df._0x341f44,_0x8c24df._0x2efcf2)?_0x5d137e={'x':_0x5d137e['x']*R2D,'y':_0x5d137e['y']*R2D,'z':_0x5d137e['z']||0x0}:(_0x5d137e=_0xe4b13c[_0x491992(0x1427,_0x8c24df._0x1e400f)](_0x5d137e),_0xe4b13c[_0x40ef39(0x962,-0x22)]&&(_0x5d137e={'x':_0x5d137e['x']/_0xe4b13c[_0x40ef39(-_0x8c24df._0x3cfac4,-0x22)],'y':_0x5d137e['y']/_0xe4b13c['to_meter'],'z':_0x5d137e['z']||0x0}));if(_0x21c785&&_0xe4b13c[_0x40ef39(0x1467,0x10db)]!=='enu')return adjust_axis(_0xe4b13c,!![],_0x5d137e);_0x5d137e&&!_0x6cf16b&&delete _0x5d137e['z'];function _0x491992(_0x116acd,_0x11df22){return _0x54a7f1(_0x116acd-0x252,_0x11df22);}return _0x5d137e;}var wgs84=Projection('WGS84');function transformer(_0x4ce123,_0x2b2576,_0x1f2901,_0x4fa587){const _0x52c3c7={_0x2773bb:0x135c,_0x3ef9c0:0x12ba,_0x56338d:0xf01,_0x32f2b9:0x1003,_0x2bba57:0x125a,_0x24c064:0x14f8,_0x44c0cd:0x525,_0x6feb1c:0x572,_0x3dd309:0x965,_0x3de582:0x3cc},_0x5479b0={_0x365224:0x1da2,_0x131a98:0x1537,_0x19f428:0x17ee,_0x14c66d:0x10bb},_0x233a8a={_0x21fdac:0xe0};function _0xc8b951(_0x5ec1f4,_0x171555){return _0x7afdbe(_0x5ec1f4,_0x171555- -0x4a7);}var _0x549392,_0x30a843,_0x42d8b1;function _0x5dd98d(_0x3eefcf,_0xea5c66){return _0x54a7f1(_0xea5c66-_0x233a8a._0x21fdac,_0x3eefcf);}if(Array['isArray'](_0x1f2901)){const _0x2eca3a={};return _0x2eca3a['x']=NaN,_0x2eca3a['y']=NaN,_0x549392=transform(_0x4ce123,_0x2b2576,_0x1f2901,_0x4fa587)||_0x2eca3a,_0x1f2901['length']>0x2?typeof _0x4ce123[_0x5dd98d(0xa1c,_0x52c3c7._0x2773bb)]!==_0xc8b951(0x15bf,_0x52c3c7._0x3ef9c0)&&_0x4ce123['name']===_0xc8b951(0x17e0,_0x52c3c7._0x56338d)||typeof _0x2b2576['name']!=='undefined'&&_0x2b2576[_0xc8b951(0x1968,_0x52c3c7._0x32f2b9)]===_0x5dd98d(0x1153,_0x52c3c7._0x2bba57)?typeof _0x549392['z']===_0x5dd98d(0x1391,_0x52c3c7._0x24c064)?[_0x549392['x'],_0x549392['y'],_0x549392['z']]['concat'](_0x1f2901['splice'](0x3)):[_0x549392['x'],_0x549392['y'],_0x1f2901[0x2]]['concat'](_0x1f2901[_0xc8b951(-_0x52c3c7._0x44c0cd,_0x52c3c7._0x6feb1c)](0x3)):[_0x549392['x'],_0x549392['y']]['concat'](_0x1f2901['splice'](0x2)):[_0x549392['x'],_0x549392['y']];}else{_0x30a843=transform(_0x4ce123,_0x2b2576,_0x1f2901,_0x4fa587),_0x42d8b1=Object[_0x5dd98d(0x746,0x904)](_0x1f2901);if(_0x42d8b1['length']===0x2)return _0x30a843;return _0x42d8b1[_0xc8b951(_0x52c3c7._0x3dd309,_0x52c3c7._0x3de582)](function(_0x346d54){const _0x3735e0={_0x18d388:0x534};if(typeof _0x4ce123[_0x174eec(_0x5479b0._0x365224,_0x5479b0._0x131a98)]!==_0x174eec(0x130d,_0x5479b0._0x19f428)&&_0x4ce123['name']===_0xf9095(_0x5479b0._0x14c66d,0x10dc)||typeof _0x2b2576[_0x174eec(0xa79,0x1537)]!=='undefined'&&_0x2b2576['name']==='geocent'){if(_0x346d54==='x'||_0x346d54==='y'||_0x346d54==='z')return;}else{if(_0x346d54==='x'||_0x346d54==='y')return;}function _0x174eec(_0x55f70e,_0x4996df){return _0xc8b951(_0x55f70e,_0x4996df-_0x3735e0._0x18d388);}function _0xf9095(_0x4cbf08,_0x3d5315){return _0xc8b951(_0x3d5315,_0x4cbf08-0x1ba);}_0x30a843[_0x346d54]=_0x1f2901[_0x346d54];}),_0x30a843;}}function checkProj(_0x2f6db5){if(_0x2f6db5 instanceof Projection)return _0x2f6db5;if(_0x2f6db5['oProj'])return _0x2f6db5['oProj'];return Projection(_0x2f6db5);}function proj4(_0x5e15ae,_0x42f6c4,_0x38cf41){const _0x53a6b4={_0x3d6418:0x8fc,_0x4e733f:0x1f6},_0x3b4dfd={_0x106f16:0x50d};_0x5e15ae=checkProj(_0x5e15ae);function _0x4d7e31(_0x3db71a,_0x2c14e4){return _0x7afdbe(_0x2c14e4,_0x3db71a- -0x1b2);}var _0x1dfe43=![],_0x243df7;if(typeof _0x42f6c4==='undefined')_0x42f6c4=_0x5e15ae,_0x5e15ae=wgs84,_0x1dfe43=!![];else(typeof _0x42f6c4['x']!=='undefined'||Array[_0x4d7e31(0x14ea,0xdeb)](_0x42f6c4))&&(_0x38cf41=_0x42f6c4,_0x42f6c4=_0x5e15ae,_0x5e15ae=wgs84,_0x1dfe43=!![]);_0x42f6c4=checkProj(_0x42f6c4);function _0x5f299b(_0x37c6dd,_0x2c9b4c){return _0x7afdbe(_0x37c6dd,_0x2c9b4c- -_0x3b4dfd._0x106f16);}return _0x38cf41?transformer(_0x5e15ae,_0x42f6c4,_0x38cf41):(_0x243df7={'forward':function(_0x5ce9ac,_0x199e42){return transformer(_0x5e15ae,_0x42f6c4,_0x5ce9ac,_0x199e42);},'inverse':function(_0x1dfbc0,_0x56f64){return transformer(_0x42f6c4,_0x5e15ae,_0x1dfbc0,_0x56f64);}},_0x1dfe43&&(_0x243df7[_0x5f299b(_0x53a6b4._0x3d6418,_0x53a6b4._0x4e733f)]=_0x42f6c4),_0x243df7);}var NUM_100K_SETS=0x6,SET_ORIGIN_COLUMN_LETTERS='AJSAJS',SET_ORIGIN_ROW_LETTERS='AFAFAF',A=0x41,I=0x49,O=0x4f,V=0x56,Z=0x5a;const _0x9a8886={};_0x9a8886['forward']=forward$t,_0x9a8886[_0x7afdbe(0x1831,0x163c)]=inverse$t,_0x9a8886['toPoint']=toPoint;var mgrs=_0x9a8886;function forward$t(_0x43fa07,_0x2310be){_0x2310be=_0x2310be||0x5;const _0x57d25e={};return _0x57d25e['lat']=_0x43fa07[0x1],_0x57d25e['lon']=_0x43fa07[0x0],encode$1(LLtoUTM(_0x57d25e),_0x2310be);}function inverse$t(_0x266a0b){const _0x2fb21a={_0x43f419:0x5b1,_0x14e5ed:0x155c};var _0x587c23=UTMtoLL(decode(_0x266a0b[_0x477e11(0x866,_0x2fb21a._0x43f419)]()));if(_0x587c23['lat']&&_0x587c23['lon'])return[_0x587c23['lon'],_0x587c23['lat'],_0x587c23['lon'],_0x587c23['lat']];function _0x477e11(_0x2b6607,_0xc7efcc){return _0x7afdbe(_0x2b6607,_0xc7efcc- -0x19f);}function _0x245de7(_0x201253,_0x1a18df){return _0x54a7f1(_0x201253-0x220,_0x1a18df);}return[_0x587c23['left'],_0x587c23[_0x245de7(_0x2fb21a._0x14e5ed,0x11a3)],_0x587c23['right'],_0x587c23['top']];}function toPoint(_0xfd3abb){const _0x5370a1={_0x349624:0x1dbc,_0x1b2ebe:0x80b,_0x43228e:0x2d5},_0x255265={_0x3bbe21:0x2c0};function _0x36ddd1(_0x152c04,_0x20c700){return _0x54a7f1(_0x20c700- -_0x255265._0x3bbe21,_0x152c04);}function _0x9c5c9f(_0x56186e,_0xece3cb){return _0x7afdbe(_0x56186e,_0xece3cb- -0xb6);}var _0x29cb60=UTMtoLL(decode(_0xfd3abb['toUpperCase']()));if(_0x29cb60[_0x9c5c9f(_0x5370a1._0x349624,0x1432)]&&_0x29cb60['lon'])return[_0x29cb60[_0x9c5c9f(0x169,0x777)],_0x29cb60['lat']];return[(_0x29cb60[_0x36ddd1(0x4b5,_0x5370a1._0x1b2ebe)]+_0x29cb60[_0x36ddd1(-_0x5370a1._0x43228e,0x389)])/0x2,(_0x29cb60['top']+_0x29cb60['bottom'])/0x2];}function degToRad(_0x35451f){return _0x35451f*(Math['PI']/0xb4);}function radToDeg(_0x3b1f1f){return 0xb4*(_0x3b1f1f/Math['PI']);}function LLtoUTM(_0x24169f){const _0x58d678={_0x53600f:0x414,_0x17649b:0x12a4,_0x4a2b20:0x2d0,_0x17490d:0x107c,_0x25c672:0x1767,_0x1a0002:0x9d1},_0x1da43e={_0x409fb5:0x70c};var _0x17d371=_0x24169f[_0x54494a(0xec3,0x5ec)],_0x5f4bc0=_0x24169f['lon'],_0x528893=0x615299,_0x14c758=0.00669438,_0x2bb752=0.9996,_0x2af421,_0x5608a5,_0x1008ea,_0x2d20e2,_0x1fa6e6,_0x4298a5,_0x5a241f,_0x22ba79=degToRad(_0x17d371),_0x1fbf7a=degToRad(_0x5f4bc0),_0x27b8db,_0x3a55ce;_0x3a55ce=Math[_0x270d32(0xabb,_0x58d678._0x53600f)]((_0x5f4bc0+0xb4)/0x6)+0x1;function _0x54494a(_0x842bbe,_0x562458){return _0x54a7f1(_0x842bbe- -0x3f7,_0x562458);}_0x5f4bc0===0xb4&&(_0x3a55ce=0x3c);_0x17d371>=0x38&&_0x17d371<0x40&&_0x5f4bc0>=0x3&&_0x5f4bc0<0xc&&(_0x3a55ce=0x20);if(_0x17d371>=0x48&&_0x17d371<0x54){if(_0x5f4bc0>=0x0&&_0x5f4bc0<0x9)_0x3a55ce=0x1f;else{if(_0x5f4bc0>=0x9&&_0x5f4bc0<0x15)_0x3a55ce=0x21;else{if(_0x5f4bc0>=0x15&&_0x5f4bc0<0x21)_0x3a55ce=0x23;else _0x5f4bc0>=0x21&&_0x5f4bc0<0x2a&&(_0x3a55ce=0x25);}}}_0x2af421=(_0x3a55ce-0x1)*0x6-0xb4+0x3,_0x27b8db=degToRad(_0x2af421),_0x5608a5=_0x14c758/(0x1-_0x14c758),_0x1008ea=_0x528893/Math[_0x270d32(_0x58d678._0x17649b,0x926)](0x1-_0x14c758*Math[_0x270d32(-_0x58d678._0x4a2b20,-0x6a)](_0x22ba79)*Math['sin'](_0x22ba79)),_0x2d20e2=Math[_0x54494a(_0x58d678._0x17490d,_0x58d678._0x25c672)](_0x22ba79)*Math['tan'](_0x22ba79),_0x1fa6e6=_0x5608a5*Math['cos'](_0x22ba79)*Math['cos'](_0x22ba79),_0x4298a5=Math[_0x270d32(0x1036,0x1276)](_0x22ba79)*(_0x1fbf7a-_0x27b8db),_0x5a241f=_0x528893*((0x1-_0x14c758/0x4-0x3*_0x14c758*_0x14c758/0x40-0x5*_0x14c758*_0x14c758*_0x14c758/0x100)*_0x22ba79-(0x3*_0x14c758/0x8+0x3*_0x14c758*_0x14c758/0x20+0x2d*_0x14c758*_0x14c758*_0x14c758/0x400)*Math[_0x54494a(0x7d,_0x58d678._0x1a0002)](0x2*_0x22ba79)+(0xf*_0x14c758*_0x14c758/0x100+0x2d*_0x14c758*_0x14c758*_0x14c758/0x400)*Math['sin'](0x4*_0x22ba79)-0x23*_0x14c758*_0x14c758*_0x14c758/0xc00*Math['sin'](0x6*_0x22ba79));var _0x1095d9=_0x2bb752*_0x1008ea*(_0x4298a5+(0x1-_0x2d20e2+_0x1fa6e6)*_0x4298a5*_0x4298a5*_0x4298a5/0x6+(0x5-0x12*_0x2d20e2+_0x2d20e2*_0x2d20e2+0x48*_0x1fa6e6-0x3a*_0x5608a5)*_0x4298a5*_0x4298a5*_0x4298a5*_0x4298a5*_0x4298a5/0x78)+0x7a120,_0x4d88ff=_0x2bb752*(_0x5a241f+_0x1008ea*Math['tan'](_0x22ba79)*(_0x4298a5*_0x4298a5/0x2+(0x5-_0x2d20e2+0x9*_0x1fa6e6+0x4*_0x1fa6e6*_0x1fa6e6)*_0x4298a5*_0x4298a5*_0x4298a5*_0x4298a5/0x18+(0x3d-0x3a*_0x2d20e2+_0x2d20e2*_0x2d20e2+0x258*_0x1fa6e6-0x14a*_0x5608a5)*_0x4298a5*_0x4298a5*_0x4298a5*_0x4298a5*_0x4298a5*_0x4298a5/0x2d0));_0x17d371<0x0&&(_0x4d88ff+=0x989680);function _0x270d32(_0x516842,_0x10899a){return _0x7afdbe(_0x516842,_0x10899a- -_0x1da43e._0x409fb5);}return{'northing':Math['round'](_0x4d88ff),'easting':Math['round'](_0x1095d9),'zoneNumber':_0x3a55ce,'zoneLetter':getLetterDesignator(_0x17d371)};}function UTMtoLL(_0x116138){const _0x162bb1={_0x7b5843:0x5c1,_0xee0c3a:0x1afc,_0x1fafb2:0x142d,_0x4cee9a:0x691,_0x1c369c:0x1547,_0x3f97e8:0x1415,_0x59bc69:0x551,_0x4a4c96:0x1425},_0x558fda={_0x146894:0x5cb};var _0xe426dc=_0x116138['northing'],_0x41de58=_0x116138[_0x3abb0e(_0x162bb1._0x7b5843,0x326)],_0x5a30b4=_0x116138['zoneLetter'],_0x12a6bb=_0x116138['zoneNumber'];if(_0x12a6bb<0x0||_0x12a6bb>0x3c)return null;var _0x454a23=0.9996,_0x347b76=0x615299,_0x530e21=0.00669438,_0x274f06,_0x449621=(0x1-Math['sqrt'](0x1-_0x530e21))/(0x1+Math[_0x526723(0x402,0xa67)](0x1-_0x530e21));function _0x526723(_0x38c2de,_0xc80d76){return _0x7afdbe(_0x38c2de,_0xc80d76- -_0x558fda._0x146894);}var _0x2d749e,_0x54a1e3,_0x2da3d2,_0x12155f,_0x5e50b6,_0x591674,_0x296030,_0x26c607,_0x345db1,_0x47f6e9=_0x41de58-0x7a120,_0x4cb8ee=_0xe426dc;_0x5a30b4<'N'&&(_0x4cb8ee-=0x989680);_0x296030=(_0x12a6bb-0x1)*0x6-0xb4+0x3,_0x274f06=_0x530e21/(0x1-_0x530e21),_0x591674=_0x4cb8ee/_0x454a23,_0x26c607=_0x591674/(_0x347b76*(0x1-_0x530e21/0x4-0x3*_0x530e21*_0x530e21/0x40-0x5*_0x530e21*_0x530e21*_0x530e21/0x100)),_0x345db1=_0x26c607+(0x3*_0x449621/0x2-0x1b*_0x449621*_0x449621*_0x449621/0x20)*Math['sin'](0x2*_0x26c607)+(0x15*_0x449621*_0x449621/0x10-0x37*_0x449621*_0x449621*_0x449621*_0x449621/0x20)*Math['sin'](0x4*_0x26c607)+0x97*_0x449621*_0x449621*_0x449621/0x60*Math['sin'](0x6*_0x26c607),_0x2d749e=_0x347b76/Math['sqrt'](0x1-_0x530e21*Math['sin'](_0x345db1)*Math['sin'](_0x345db1)),_0x54a1e3=Math['tan'](_0x345db1)*Math[_0x3abb0e(0x142d,_0x162bb1._0xee0c3a)](_0x345db1),_0x2da3d2=_0x274f06*Math['cos'](_0x345db1)*Math['cos'](_0x345db1),_0x12155f=_0x347b76*(0x1-_0x530e21)/Math['pow'](0x1-_0x530e21*Math['sin'](_0x345db1)*Math['sin'](_0x345db1),1.5),_0x5e50b6=_0x47f6e9/(_0x2d749e*_0x454a23);function _0x3abb0e(_0x3da3a6,_0x1ea847){return _0x7afdbe(_0x1ea847,_0x3da3a6- -0x274);}var _0x2490f0=_0x345db1-_0x2d749e*Math[_0x3abb0e(_0x162bb1._0x1fafb2,0x179d)](_0x345db1)/_0x12155f*(_0x5e50b6*_0x5e50b6/0x2-(0x5+0x3*_0x54a1e3+0xa*_0x2da3d2-0x4*_0x2da3d2*_0x2da3d2-0x9*_0x274f06)*_0x5e50b6*_0x5e50b6*_0x5e50b6*_0x5e50b6/0x18+(0x3d+0x5a*_0x54a1e3+0x12a*_0x2da3d2+0x2d*_0x54a1e3*_0x54a1e3-0xfc*_0x274f06-0x3*_0x2da3d2*_0x2da3d2)*_0x5e50b6*_0x5e50b6*_0x5e50b6*_0x5e50b6*_0x5e50b6*_0x5e50b6/0x2d0);_0x2490f0=radToDeg(_0x2490f0);var _0x245e20=(_0x5e50b6-(0x1+0x2*_0x54a1e3+_0x2da3d2)*_0x5e50b6*_0x5e50b6*_0x5e50b6/0x6+(0x5-0x2*_0x2da3d2+0x1c*_0x54a1e3-0x3*_0x2da3d2*_0x2da3d2+0x8*_0x274f06+0x18*_0x54a1e3*_0x54a1e3)*_0x5e50b6*_0x5e50b6*_0x5e50b6*_0x5e50b6*_0x5e50b6/0x78)/Math['cos'](_0x345db1);_0x245e20=_0x296030+radToDeg(_0x245e20);var _0x3dedf1;if(_0x116138[_0x526723(_0x162bb1._0x4cee9a,-0x171)]){const _0x12ee79={};_0x12ee79[_0x526723(0x16bc,0x1415)]=_0x116138[_0x526723(_0x162bb1._0x1c369c,_0x162bb1._0x3f97e8)]+_0x116138['accuracy'],_0x12ee79['easting']=_0x116138['easting']+_0x116138['accuracy'],_0x12ee79[_0x526723(0x362,_0x162bb1._0x59bc69)]=_0x116138['zoneLetter'],_0x12ee79['zoneNumber']=_0x116138['zoneNumber'];var _0x541b58=UTMtoLL(_0x12ee79);const _0x330bed={};_0x330bed['top']=_0x541b58['lat'],_0x330bed['right']=_0x541b58['lon'],_0x330bed[_0x3abb0e(0x12f6,0x13af)]=_0x2490f0,_0x330bed['left']=_0x245e20,_0x3dedf1=_0x330bed;}else{const _0x278443={};_0x278443[_0x3abb0e(0x1274,_0x162bb1._0x4a4c96)]=_0x2490f0,_0x278443['lon']=_0x245e20,_0x3dedf1=_0x278443;}return _0x3dedf1;}function getLetterDesignator(_0x767765){var _0x2c2352='Z';if(0x54>=_0x767765&&_0x767765>=0x48)_0x2c2352='X';else{if(0x48>_0x767765&&_0x767765>=0x40)_0x2c2352='W';else{if(0x40>_0x767765&&_0x767765>=0x38)_0x2c2352='V';else{if(0x38>_0x767765&&_0x767765>=0x30)_0x2c2352='U';else{if(0x30>_0x767765&&_0x767765>=0x28)_0x2c2352='T';else{if(0x28>_0x767765&&_0x767765>=0x20)_0x2c2352='S';else{if(0x20>_0x767765&&_0x767765>=0x18)_0x2c2352='R';else{if(0x18>_0x767765&&_0x767765>=0x10)_0x2c2352='Q';else{if(0x10>_0x767765&&_0x767765>=0x8)_0x2c2352='P';else{if(0x8>_0x767765&&_0x767765>=0x0)_0x2c2352='N';else{if(0x0>_0x767765&&_0x767765>=-0x8)_0x2c2352='M';else{if(-0x8>_0x767765&&_0x767765>=-0x10)_0x2c2352='L';else{if(-0x10>_0x767765&&_0x767765>=-0x18)_0x2c2352='K';else{if(-0x18>_0x767765&&_0x767765>=-0x20)_0x2c2352='J';else{if(-0x20>_0x767765&&_0x767765>=-0x28)_0x2c2352='H';else{if(-0x28>_0x767765&&_0x767765>=-0x30)_0x2c2352='G';else{if(-0x30>_0x767765&&_0x767765>=-0x38)_0x2c2352='F';else{if(-0x38>_0x767765&&_0x767765>=-0x40)_0x2c2352='E';else{if(-0x40>_0x767765&&_0x767765>=-0x48)_0x2c2352='D';else-0x48>_0x767765&&_0x767765>=-0x50&&(_0x2c2352='C');}}}}}}}}}}}}}}}}}}return _0x2c2352;}function encode$1(_0x4d7bff,_0x37c4d0){const _0x7c4d72={_0x513990:0x43a,_0x18147f:0x1,_0x2fd1e4:0x115a,_0xe2edb5:0x721,_0x1cce5c:0x14fa,_0x411516:0xedb,_0x27e7f3:0x1819,_0x2fa261:0x1660},_0x1a342e={_0x58e4b3:0x3fb};function _0x12462a(_0x21003b,_0x27050f){return _0x7afdbe(_0x27050f,_0x21003b- -_0x1a342e._0x58e4b3);}var _0x403fb9='00000'+_0x4d7bff[_0x12462a(_0x7c4d72._0x513990,_0x7c4d72._0x18147f)],_0x5f1ba2='00000'+_0x4d7bff[_0x559cc9(0x17f2,_0x7c4d72._0x2fd1e4)];function _0x559cc9(_0x13ef09,_0x2ed464){return _0x54a7f1(_0x13ef09-0x40,_0x2ed464);}return _0x4d7bff['zoneNumber']+_0x4d7bff[_0x12462a(_0x7c4d72._0xe2edb5,0x9ca)]+get100kID(_0x4d7bff['easting'],_0x4d7bff['northing'],_0x4d7bff[_0x559cc9(_0x7c4d72._0x1cce5c,0x12b4)])+_0x403fb9[_0x559cc9(_0x7c4d72._0x411516,_0x7c4d72._0x27e7f3)](_0x403fb9['length']-0x5,_0x37c4d0)+_0x5f1ba2['substr'](_0x5f1ba2[_0x12462a(0xdb8,_0x7c4d72._0x2fa261)]-0x5,_0x37c4d0);}function get100kID(_0x10e458,_0x437dc2,_0x31b7ef){const _0x10355a={_0x7c88e3:0xb03,_0xd678a8:0x96c},_0x42bbcc={_0x2d9635:0x1d};var _0x451921=get100kSetForZone(_0x31b7ef),_0x1fe644=Math[_0x4ab909(0xb03,0x146)](_0x10e458/0x186a0),_0x4de9b8=Math[_0x4ab909(_0x10355a._0x7c88e3,_0x10355a._0xd678a8)](_0x437dc2/0x186a0)%0x14;function _0x4ab909(_0x154c93,_0x22f6fb){return _0x7afdbe(_0x22f6fb,_0x154c93- -_0x42bbcc._0x2d9635);}function _0x487934(_0x39d027,_0x59d362){return _0x7afdbe(_0x39d027,_0x59d362- -0x5e9);}return getLetter100kID(_0x1fe644,_0x4de9b8,_0x451921);}function get100kSetForZone(_0x3aa63b){var _0x40ac76=_0x3aa63b%NUM_100K_SETS;return _0x40ac76===0x0&&(_0x40ac76=NUM_100K_SETS),_0x40ac76;}function getLetter100kID(_0x138791,_0x41b613,_0x26ef20){const _0xf7d9aa={_0x3411d9:0x1701,_0x8d2199:0x7d8,_0x2540a1:0x2bc},_0x49d703={_0xfc3d87:0x3d};var _0x452c1c=_0x26ef20-0x1,_0x510813=SET_ORIGIN_COLUMN_LETTERS['charCodeAt'](_0x452c1c);function _0x1a327a(_0x539088,_0x3082ac){return _0x7afdbe(_0x3082ac,_0x539088-_0x49d703._0xfc3d87);}var _0x145f2c=SET_ORIGIN_ROW_LETTERS[_0x35255c(_0xf7d9aa._0x3411d9,0x10c2)](_0x452c1c),_0x1c975d=_0x510813+_0x138791-0x1,_0xea932a=_0x145f2c+_0x41b613,_0x329b65=![];_0x1c975d>Z&&(_0x1c975d=_0x1c975d-Z+A-0x1,_0x329b65=!![]);function _0x35255c(_0x3c9256,_0x41b4f1){return _0x7afdbe(_0x3c9256,_0x41b4f1- -0x221);}(_0x1c975d===I||_0x510813<I&&_0x1c975d>I||(_0x1c975d>I||_0x510813<I)&&_0x329b65)&&_0x1c975d++;(_0x1c975d===O||_0x510813<O&&_0x1c975d>O||(_0x1c975d>O||_0x510813<O)&&_0x329b65)&&(_0x1c975d++,_0x1c975d===I&&_0x1c975d++);_0x1c975d>Z&&(_0x1c975d=_0x1c975d-Z+A-0x1);_0xea932a>V?(_0xea932a=_0xea932a-V+A-0x1,_0x329b65=!![]):_0x329b65=![];(_0xea932a===I||_0x145f2c<I&&_0xea932a>I||(_0xea932a>I||_0x145f2c<I)&&_0x329b65)&&_0xea932a++;(_0xea932a===O||_0x145f2c<O&&_0xea932a>O||(_0xea932a>O||_0x145f2c<O)&&_0x329b65)&&(_0xea932a++,_0xea932a===I&&_0xea932a++);_0xea932a>V&&(_0xea932a=_0xea932a-V+A-0x1);var _0x127dac=String[_0x1a327a(_0xf7d9aa._0x8d2199,_0xf7d9aa._0x2540a1)](_0x1c975d)+String[_0x35255c(0xf51,0x57a)](_0xea932a);return _0x127dac;}function decode(_0x30b580){const _0x3018e5={_0x42f037:0xe8b,_0x4880b1:0xe6e,_0x3a8afd:0x9f5,_0x472d0a:0x121f,_0x41102a:0x1140,_0x45e77c:0x8f4,_0x23519f:0x6dc},_0x3b1247={_0x5618a9:0xfa};if(_0x30b580&&_0x30b580[_0x5cf540(0x16b2,0xe8b)]===0x0)throw'MGRSPoint\x20coverting\x20from\x20nothing';var _0x133f53=_0x30b580[_0x5cf540(0x1697,_0x3018e5._0x42f037)],_0x16c993=null,_0x3a5a0a='',_0x4f3c66,_0x2a78d6=0x0;while(!/[A-Z]/['test'](_0x4f3c66=_0x30b580['charAt'](_0x2a78d6))){if(_0x2a78d6>=0x2)throw'MGRSPoint\x20bad\x20conversion\x20from:\x20'+_0x30b580;_0x3a5a0a+=_0x4f3c66,_0x2a78d6++;}var _0xd53f12=parseInt(_0x3a5a0a,0xa);if(_0x2a78d6===0x0||_0x2a78d6+0x3>_0x133f53)throw _0x7ab654(0x1540,0x1432)+_0x30b580;var _0x2dca50=_0x30b580[_0x7ab654(_0x3018e5._0x4880b1,0xf6d)](_0x2a78d6++);if(_0x2dca50<='A'||_0x2dca50==='B'||_0x2dca50==='Y'||_0x2dca50>='Z'||_0x2dca50==='I'||_0x2dca50==='O')throw _0x5cf540(_0x3018e5._0x3a8afd,0x216)+_0x2dca50+_0x5cf540(0x1b60,_0x3018e5._0x472d0a)+_0x30b580;_0x16c993=_0x30b580[_0x7ab654(-0x549,0x507)](_0x2a78d6,_0x2a78d6+=0x2);var _0x3b3b67=get100kSetForZone(_0xd53f12),_0x1d20dc=getEastingFromChar(_0x16c993[_0x5cf540(_0x3018e5._0x41102a,0xd1c)](0x0),_0x3b3b67),_0x5e831d=getNorthingFromChar(_0x16c993['charAt'](0x1),_0x3b3b67);while(_0x5e831d<getMinNorthing(_0x2dca50)){_0x5e831d+=0x1e8480;}var _0x4788eb=_0x133f53-_0x2a78d6;if(_0x4788eb%0x2!==0x0)throw'MGRSPoint\x20has\x20to\x20have\x20an\x20even\x20number\x20\x0aof\x20digits\x20after\x20the\x20zone\x20letter\x20and\x20two\x20100km\x20letters\x20-\x20front\x20\x0ahalf\x20for\x20easting\x20meters,\x20second\x20half\x20for\x20\x0anorthing\x20meters'+_0x30b580;var _0x3c055d=_0x4788eb/0x2,_0x129269=0x0,_0x5676d7=0x0,_0x373bc8,_0x47c70e,_0x1f437b,_0x216fd0,_0x22a7b5;function _0x7ab654(_0x1cafe6,_0x3c0a70){return _0x7afdbe(_0x1cafe6,_0x3c0a70- -0xd7);}_0x3c055d>0x0&&(_0x373bc8=0x186a0/Math['pow'](0xa,_0x3c055d),_0x47c70e=_0x30b580['substring'](_0x2a78d6,_0x2a78d6+_0x3c055d),_0x129269=parseFloat(_0x47c70e)*_0x373bc8,_0x1f437b=_0x30b580['substring'](_0x2a78d6+_0x3c055d),_0x5676d7=parseFloat(_0x1f437b)*_0x373bc8);_0x216fd0=_0x129269+_0x1d20dc,_0x22a7b5=_0x5676d7+_0x5e831d;const _0x2c7c41={};_0x2c7c41[_0x7ab654(0x7fc,0x75e)]=_0x216fd0,_0x2c7c41['northing']=_0x22a7b5,_0x2c7c41[_0x5cf540(_0x3018e5._0x45e77c,0x7f4)]=_0x2dca50;function _0x5cf540(_0x9be997,_0x49bd39){return _0x54a7f1(_0x49bd39- -_0x3b1247._0x5618a9,_0x9be997);}return _0x2c7c41['zoneNumber']=_0xd53f12,_0x2c7c41[_0x7ab654(_0x3018e5._0x23519f,0x383)]=_0x373bc8,_0x2c7c41;}function getEastingFromChar(_0x32f706,_0x383daa){const _0x585718={_0x18432c:0x9c4,_0x3c527c:0xc77,_0x9b4b53:0x105a},_0x160640={_0x860d73:0x435},_0x5c8c04={_0x20eaeb:0x5b};function _0x34296f(_0x3850b1,_0x3f0efd){return _0x54a7f1(_0x3f0efd- -_0x5c8c04._0x20eaeb,_0x3850b1);}var _0x43cc18=SET_ORIGIN_COLUMN_LETTERS[_0x5030ba(_0x585718._0x18432c,0xeae)](_0x383daa-0x1);function _0x5030ba(_0x248aff,_0xe585d6){return _0x7afdbe(_0x248aff,_0xe585d6- -_0x160640._0x860d73);}var _0x28057e=0x186a0,_0xd7c1aa=![];while(_0x43cc18!==_0x32f706[_0x34296f(_0x585718._0x3c527c,_0x585718._0x9b4b53)](0x0)){_0x43cc18++;_0x43cc18===I&&_0x43cc18++;_0x43cc18===O&&_0x43cc18++;if(_0x43cc18>Z){if(_0xd7c1aa)throw'Bad\x20character:\x20'+_0x32f706;_0x43cc18=A,_0xd7c1aa=!![];}_0x28057e+=0x186a0;}return _0x28057e;}function getNorthingFromChar(_0x42243f,_0x4d195b){const _0x322063={_0x1cbf41:0x9e7};if(_0x42243f>'V')throw'MGRSPoint\x20given\x20invalid\x20Northing\x20'+_0x42243f;var _0x29553a=SET_ORIGIN_ROW_LETTERS[_0x993b6c(0xddd,0x131d)](_0x4d195b-0x1),_0x58b74b=0x0,_0x52afab=![];function _0x519be7(_0x20caf8,_0x2c96bd){return _0x7afdbe(_0x2c96bd,_0x20caf8- -0x40a);}function _0x993b6c(_0x141f1e,_0x42027d){return _0x7afdbe(_0x42027d,_0x141f1e- -0x506);}while(_0x29553a!==_0x42243f['charCodeAt'](0x0)){_0x29553a++;_0x29553a===I&&_0x29553a++;_0x29553a===O&&_0x29553a++;if(_0x29553a>V){if(_0x52afab)throw _0x519be7(_0x322063._0x1cbf41,0xbf8)+_0x42243f;_0x29553a=A,_0x52afab=!![];}_0x58b74b+=0x186a0;}return _0x58b74b;}function getMinNorthing(_0x2380d0){const _0x16e004={_0x129741:0xf75},_0x5723c7={_0x2a84e8:0x3a4};var _0xc97089;function _0x51045f(_0x196aad,_0x1af9d6){return _0x7afdbe(_0x1af9d6,_0x196aad- -_0x5723c7._0x2a84e8);}switch(_0x2380d0){case'C':_0xc97089=0x10c8e0;break;case'D':_0xc97089=0x1e8480;break;case'E':_0xc97089=0x2ab980;break;case'F':_0xc97089=0x387520;break;case'G':_0xc97089=0x4630c0;break;case'H':_0xc97089=0x53ec60;break;case'J':_0xc97089=0x61a800;break;case'K':_0xc97089=0x6f63a0;break;case'L':_0xc97089=0x7d1f40;break;case'M':_0xc97089=0x8adae0;break;case'N':_0xc97089=0x0;break;case'P':_0xc97089=0xc3500;break;case'Q':_0xc97089=0x19f0a0;break;case'R':_0xc97089=0x27ac40;break;case'S':_0xc97089=0x3567e0;break;case'T':_0xc97089=0x432380;break;case'U':_0xc97089=0x50df20;break;case'V':_0xc97089=0x5e9ac0;break;case'W':_0xc97089=0x6acfc0;break;case'X':_0xc97089=0x788b60;break;default:_0xc97089=-0x1;}if(_0xc97089>=0x0)return _0xc97089;else throw _0x51045f(_0x16e004._0x129741,0xb0a)+_0x2380d0;}function Point(_0x1043e3,_0x49c824,_0x5e6f42){const _0x1d1410={_0x40cdad:0x56c};if(!(this instanceof Point))return new Point(_0x1043e3,_0x49c824,_0x5e6f42);function _0x1b8225(_0x47377f,_0x46bcc2){return _0x54a7f1(_0x46bcc2-0x75,_0x47377f);}if(Array['isArray'](_0x1043e3))this['x']=_0x1043e3[0x0],this['y']=_0x1043e3[0x1],this['z']=_0x1043e3[0x2]||0x0;else{if(typeof _0x1043e3==='object')this['x']=_0x1043e3['x'],this['y']=_0x1043e3['y'],this['z']=_0x1043e3['z']||0x0;else{if(typeof _0x1043e3==='string'&&typeof _0x49c824==='undefined'){var _0x41eb3b=_0x1043e3['split'](',');this['x']=parseFloat(_0x41eb3b[0x0],0xa),this['y']=parseFloat(_0x41eb3b[0x1],0xa),this['z']=parseFloat(_0x41eb3b[0x2],0xa)||0x0;}else this['x']=_0x1043e3,this['y']=_0x49c824,this['z']=_0x5e6f42||0x0;}}console['warn'](_0x1b8225(0xf8d,_0x1d1410._0x40cdad));}Point['fromMGRS']=function(_0x1c27a){return new Point(toPoint(_0x1c27a));},Point['prototype'][_0x54a7f1(0x581,0x6e)]=function(_0x1083f3){return forward$t([this['x'],this['y']],_0x1083f3);};var C00=0x1,C02=0.25,C04=0.046875,C06=0.01953125,C08=0.01068115234375,C22=0.75,C44=0.46875,C46=0.013020833333333334,C48=0.007120768229166667,C66=0.3645833333333333,C68=0.005696614583333333,C88=0.3076171875;function pj_enfn(_0xd97ff3){var _0x48d2e0=[];_0x48d2e0[0x0]=C00-_0xd97ff3*(C02+_0xd97ff3*(C04+_0xd97ff3*(C06+_0xd97ff3*C08))),_0x48d2e0[0x1]=_0xd97ff3*(C22-_0xd97ff3*(C04+_0xd97ff3*(C06+_0xd97ff3*C08)));var _0x11b969=_0xd97ff3*_0xd97ff3;return _0x48d2e0[0x2]=_0x11b969*(C44-_0xd97ff3*(C46+_0xd97ff3*C48)),_0x11b969*=_0xd97ff3,_0x48d2e0[0x3]=_0x11b969*(C66-_0xd97ff3*C68),_0x48d2e0[0x4]=_0x11b969*_0xd97ff3*C88,_0x48d2e0;}function pj_mlfn(_0x1d3785,_0x1eef16,_0x166a1b,_0x339998){return _0x166a1b*=_0x1eef16,_0x1eef16*=_0x1eef16,_0x339998[0x0]*_0x1d3785-_0x166a1b*(_0x339998[0x1]+_0x1eef16*(_0x339998[0x2]+_0x1eef16*(_0x339998[0x3]+_0x1eef16*_0x339998[0x4])));}var MAX_ITER$3=0x14;function pj_inv_mlfn(_0x16dced,_0x29c3d3,_0x184348){var _0x1ff71c=0x1/(0x1-_0x29c3d3),_0x2a717b=_0x16dced;for(var _0x11b0cb=MAX_ITER$3;_0x11b0cb;--_0x11b0cb){var _0x2b7827=Math['sin'](_0x2a717b),_0x52351d=0x1-_0x29c3d3*_0x2b7827*_0x2b7827;_0x52351d=(pj_mlfn(_0x2a717b,_0x2b7827,Math['cos'](_0x2a717b),_0x184348)-_0x16dced)*(_0x52351d*Math['sqrt'](_0x52351d))*_0x1ff71c,_0x2a717b-=_0x52351d;if(Math['abs'](_0x52351d)<EPSLN)return _0x2a717b;}return _0x2a717b;}function init$t(){const _0x7069d1={_0x4c68aa:0x867},_0x14747a={_0x4758b4:0x264},_0x3a1e62={_0x5588c9:0x61};this['x0']=this['x0']!==undefined?this['x0']:0x0,this['y0']=this['y0']!==undefined?this['y0']:0x0;function _0x197f9a(_0x39abaa,_0x4cb06a){return _0x54a7f1(_0x4cb06a- -_0x3a1e62._0x5588c9,_0x39abaa);}function _0x5b7de7(_0x531c08,_0x576a6d){return _0x54a7f1(_0x576a6d-_0x14747a._0x4758b4,_0x531c08);}this['long0']=this['long0']!==undefined?this['long0']:0x0,this['lat0']=this['lat0']!==undefined?this[_0x5b7de7(_0x7069d1._0x4c68aa,0x1102)]:0x0,this['es']&&(this['en']=pj_enfn(this['es']),this['ml0']=pj_mlfn(this['lat0'],Math['sin'](this[_0x5b7de7(0x8a0,0x1102)]),Math['cos'](this['lat0']),this['en']));}function forward$s(_0x2c2222){const _0x3da143={_0x2b092c:0x1139,_0x26894d:0x2187,_0x1dbb33:0x193a,_0x2bc61c:0x41e,_0x45a3c9:0x1d6e,_0x558287:0x8c5},_0x36c351={_0x4a3653:0x1e6};var _0x54b907=_0x2c2222['x'],_0xce6310=_0x2c2222['y'],_0x5ca9c0=adjust_lon(_0x54b907-this[_0x4013e1(0xd79,_0x3da143._0x2b092c)]),_0x41a744;function _0x4013e1(_0x8362cc,_0xde1bde){return _0x54a7f1(_0xde1bde- -0x56,_0x8362cc);}var _0x19e21d,_0x5a578b,_0x4cc87c=Math[_0x388356(0x1ec,0x65a)](_0xce6310);function _0x388356(_0x1cb15e,_0x209c2c){return _0x54a7f1(_0x209c2c-_0x36c351._0x4a3653,_0x1cb15e);}var _0x501123=Math[_0x388356(_0x3da143._0x26894d,_0x3da143._0x1dbb33)](_0xce6310);if(!this['es']){var _0x553cab=_0x501123*Math[_0x4013e1(0x350,_0x3da143._0x2bc61c)](_0x5ca9c0);if(Math['abs'](Math[_0x4013e1(0x1471,0x107c)](_0x553cab)-0x1)<EPSLN)return 0x5d;else{_0x19e21d=0.5*this['a']*this['k0']*Math[_0x388356(_0x3da143._0x45a3c9,0x1630)]((0x1+_0x553cab)/(0x1-_0x553cab))+this['x0'],_0x5a578b=_0x501123*Math['cos'](_0x5ca9c0)/Math['sqrt'](0x1-Math[_0x388356(0xc10,0x47b)](_0x553cab,0x2)),_0x553cab=Math['abs'](_0x5a578b);if(_0x553cab>=0x1){if(_0x553cab-0x1>EPSLN)return 0x5d;else _0x5a578b=0x0;}else _0x5a578b=Math[_0x4013e1(0xf7d,0x73c)](_0x5a578b);_0xce6310<0x0&&(_0x5a578b=-_0x5a578b),_0x5a578b=this['a']*this['k0']*(_0x5a578b-this['lat0'])+this['y0'];}}else{var _0x45eb03=_0x501123*_0x5ca9c0,_0x24c4b6=Math[_0x388356(_0x3da143._0x558287,0x47b)](_0x45eb03,0x2),_0x1974d6=this['ep2']*Math['pow'](_0x501123,0x2),_0x5b92aa=Math[_0x388356(-0x1b3,0x47b)](_0x1974d6,0x2),_0x10c793=Math['abs'](_0x501123)>EPSLN?Math['tan'](_0xce6310):0x0,_0x587e16=Math[_0x4013e1(0x132,0x23f)](_0x10c793,0x2),_0x4c83fa=Math['pow'](_0x587e16,0x2);_0x41a744=0x1-this['es']*Math['pow'](_0x4cc87c,0x2),_0x45eb03=_0x45eb03/Math['sqrt'](_0x41a744);var _0x132f05=pj_mlfn(_0xce6310,_0x4cc87c,_0x501123,this['en']);_0x19e21d=this['a']*(this['k0']*_0x45eb03*(0x1+_0x24c4b6/0x6*(0x1-_0x587e16+_0x1974d6+_0x24c4b6/0x14*(0x5-0x12*_0x587e16+_0x4c83fa+0xe*_0x1974d6-0x3a*_0x587e16*_0x1974d6+_0x24c4b6/0x2a*(0x3d+0xb3*_0x4c83fa-_0x4c83fa*_0x587e16-0x1df*_0x587e16)))))+this['x0'],_0x5a578b=this['a']*(this['k0']*(_0x132f05-this[_0x388356(0xf4d,0xdcc)]+_0x4cc87c*_0x5ca9c0*_0x45eb03/0x2*(0x1+_0x24c4b6/0xc*(0x5-_0x587e16+0x9*_0x1974d6+0x4*_0x5b92aa+_0x24c4b6/0x1e*(0x3d+_0x4c83fa-0x3a*_0x587e16+0x10e*_0x1974d6-0x14a*_0x587e16*_0x1974d6+_0x24c4b6/0x38*(0x569+0x21f*_0x4c83fa-_0x4c83fa*_0x587e16-0xc27*_0x587e16))))))+this['y0'];}return _0x2c2222['x']=_0x19e21d,_0x2c2222['y']=_0x5a578b,_0x2c2222;}function inverse$s(_0x4b7749){const _0x1e69d0={_0x5b6838:0x19c,_0x55f190:0x67a,_0x51af3f:0x853,_0x1bd898:0xc15,_0x241bfd:0x78,_0x565447:0x334},_0x33fb94={_0x585302:0x6eb};function _0x3a23fa(_0xeb948c,_0x4095c0){return _0x7afdbe(_0xeb948c,_0x4095c0- -0x65f);}var _0x4fd9ff,_0x2d4c32;function _0x2ceada(_0x5bd116,_0x1aae26){return _0x7afdbe(_0x1aae26,_0x5bd116- -_0x33fb94._0x585302);}var _0x45427c,_0x218833,_0x17cc83=(_0x4b7749['x']-this['x0'])*(0x1/this['a']),_0x5ead1f=(_0x4b7749['y']-this['y0'])*(0x1/this['a']);if(!this['es']){var _0x120320=Math['exp'](_0x17cc83/this['k0']),_0x598c3b=0.5*(_0x120320-0x1/_0x120320),_0x3dfb4e=this['lat0']+_0x5ead1f/this['k0'],_0x24d7e6=Math['cos'](_0x3dfb4e);_0x4fd9ff=Math['sqrt']((0x1-Math['pow'](_0x24d7e6,0x2))/(0x1+Math[_0x3a23fa(0x55f,-_0x1e69d0._0x5b6838)](_0x598c3b,0x2))),_0x45427c=Math[_0x2ceada(0xea0,0x18d6)](_0x4fd9ff),_0x5ead1f<0x0&&(_0x45427c=-_0x45427c),_0x598c3b===0x0&&_0x24d7e6===0x0?_0x218833=0x0:_0x218833=adjust_lon(Math[_0x2ceada(-0x13,-_0x1e69d0._0x55f190)](_0x598c3b,_0x24d7e6)+this[_0x3a23fa(_0x1e69d0._0x51af3f,0xd5e)]);}else{_0x4fd9ff=this['ml0']+_0x5ead1f/this['k0'],_0x2d4c32=pj_inv_mlfn(_0x4fd9ff,this['es'],this['en']);if(Math['abs'](_0x2d4c32)<HALF_PI){var _0x58d8f3=Math['sin'](_0x2d4c32),_0x9bbe72=Math['cos'](_0x2d4c32),_0x864ff6=Math[_0x2ceada(_0x1e69d0._0x1bd898,0xcca)](_0x9bbe72)>EPSLN?Math['tan'](_0x2d4c32):0x0,_0x2ba1b2=this['ep2']*Math['pow'](_0x9bbe72,0x2),_0x4bf92e=Math[_0x3a23fa(-0x7b5,-0x19c)](_0x2ba1b2,0x2),_0x2d200e=Math['pow'](_0x864ff6,0x2),_0x16a03b=Math[_0x3a23fa(-_0x1e69d0._0x241bfd,-_0x1e69d0._0x5b6838)](_0x2d200e,0x2);_0x4fd9ff=0x1-this['es']*Math['pow'](_0x58d8f3,0x2);var _0x4f4f89=_0x17cc83*Math['sqrt'](_0x4fd9ff)/this['k0'],_0x1c54ee=Math['pow'](_0x4f4f89,0x2);_0x4fd9ff=_0x4fd9ff*_0x864ff6,_0x45427c=_0x2d4c32-_0x4fd9ff*_0x1c54ee/(0x1-this['es'])*0.5*(0x1-_0x1c54ee/0xc*(0x5+0x3*_0x2d200e-0x9*_0x2ba1b2*_0x2d200e+_0x2ba1b2-0x4*_0x4bf92e-_0x1c54ee/0x1e*(0x3d+0x5a*_0x2d200e-0xfc*_0x2ba1b2*_0x2d200e+0x2d*_0x16a03b+0x2e*_0x2ba1b2-_0x1c54ee/0x38*(0x569+0xe31*_0x2d200e+0xfff*_0x16a03b+0x626*_0x16a03b*_0x2d200e)))),_0x218833=adjust_lon(this[_0x2ceada(0xcd2,_0x1e69d0._0x565447)]+_0x4f4f89*(0x1-_0x1c54ee/0x6*(0x1+0x2*_0x2d200e+_0x2ba1b2-_0x1c54ee/0x14*(0x5+0x1c*_0x2d200e+0x18*_0x16a03b+0x8*_0x2ba1b2*_0x2d200e+0x6*_0x2ba1b2-_0x1c54ee/0x2a*(0x3d+0x296*_0x2d200e+0x528*_0x16a03b+0x2d0*_0x16a03b*_0x2d200e))))/_0x9bbe72);}else _0x45427c=HALF_PI*sign(_0x5ead1f),_0x218833=0x0;}return _0x4b7749['x']=_0x218833,_0x4b7749['y']=_0x45427c,_0x4b7749;}var names$t=[_0x7afdbe(0x181e,0x169e),_0x54a7f1(0xc06,0xe43)];const _0x4a39f6={};_0x4a39f6['init']=init$t,_0x4a39f6['forward']=forward$s,_0x4a39f6[_0x54a7f1(0x140e,0xebf)]=inverse$s,_0x4a39f6[_0x54a7f1(0x7b2,0x9b5)]=names$t;var tmerc=_0x4a39f6;function sinh(_0x2de9df){const _0x46ef0d={_0x25f16e:0x4c9},_0x1b919b={_0x2bca1e:0x3b};var _0x3d2ac1=Math[_0x1a544e(_0x46ef0d._0x25f16e,0xeb6)](_0x2de9df);function _0x1a544e(_0x1ce5e3,_0x2ccc7f){return _0x7afdbe(_0x2ccc7f,_0x1ce5e3-_0x1b919b._0x2bca1e);}return _0x3d2ac1=(_0x3d2ac1-0x1/_0x3d2ac1)/0x2,_0x3d2ac1;}function hypot(_0x42240d,_0x3edca7){const _0x366176={_0xd109b:0x10c3};_0x42240d=Math['abs'](_0x42240d),_0x3edca7=Math['abs'](_0x3edca7);var _0x58568e=Math['max'](_0x42240d,_0x3edca7),_0x1582cb=Math['min'](_0x42240d,_0x3edca7)/(_0x58568e?_0x58568e:0x1);function _0x1a843(_0x4f366a,_0x11342b){return _0x54a7f1(_0x11342b-0x2bf,_0x4f366a);}return _0x58568e*Math[_0x1a843(0x1a75,_0x366176._0xd109b)](0x1+Math['pow'](_0x1582cb,0x2));}function log1py(_0x22a755){const _0x335b74={_0x43a757:0x4b3};function _0x2d45a4(_0x321c1e,_0x51fe8c){return _0x7afdbe(_0x321c1e,_0x51fe8c- -_0x335b74._0x43a757);}var _0x9fab71=0x1+_0x22a755,_0x2c5f8f=_0x9fab71-0x1;return _0x2c5f8f===0x0?_0x22a755:_0x22a755*Math[_0x2d45a4(0x1a1f,0x11c5)](_0x9fab71)/_0x2c5f8f;}function asinhy(_0x4ac9cb){var _0x34805b=Math['abs'](_0x4ac9cb);return _0x34805b=log1py(_0x34805b*(0x1+_0x34805b/(hypot(0x1,_0x34805b)+0x1))),_0x4ac9cb<0x0?-_0x34805b:_0x34805b;}function gatg(_0x3b874c,_0x4acdd5){var _0x4e94ac=0x2*Math['cos'](0x2*_0x4acdd5),_0xbfc9c2=_0x3b874c['length']-0x1,_0x4e27f6=_0x3b874c[_0xbfc9c2],_0x6700db=0x0,_0x2a38e1;while(--_0xbfc9c2>=0x0){_0x2a38e1=-_0x6700db+_0x4e94ac*_0x4e27f6+_0x3b874c[_0xbfc9c2],_0x6700db=_0x4e27f6,_0x4e27f6=_0x2a38e1;}return _0x4acdd5+_0x2a38e1*Math['sin'](0x2*_0x4acdd5);}function clens(_0x189ed6,_0x2b56c1){var _0x229e62=0x2*Math['cos'](_0x2b56c1),_0x3a02f7=_0x189ed6['length']-0x1,_0x3d55b6=_0x189ed6[_0x3a02f7],_0x156fbe=0x0,_0x17726f;while(--_0x3a02f7>=0x0){_0x17726f=-_0x156fbe+_0x229e62*_0x3d55b6+_0x189ed6[_0x3a02f7],_0x156fbe=_0x3d55b6,_0x3d55b6=_0x17726f;}return Math['sin'](_0x2b56c1)*_0x17726f;}function cosh(_0x3d52ba){const _0xbcfa54={_0x2b8580:0x2fe,_0x4f33b1:0xd07},_0x541bdb={_0x36a521:0x9e};var _0x3afc4e=Math[_0x524f46(_0xbcfa54._0x2b8580,_0xbcfa54._0x4f33b1)](_0x3d52ba);function _0x524f46(_0x2bfd2e,_0xa3534a){return _0x54a7f1(_0x2bfd2e-_0x541bdb._0x36a521,_0xa3534a);}return _0x3afc4e=(_0x3afc4e+0x1/_0x3afc4e)/0x2,_0x3afc4e;}function clens_cmplx(_0x2714f1,_0xfc0f96,_0x51c736){const _0x2557a1={_0x48668f:0x51,_0x34a2ff:0xad2,_0x3525f4:0xf65},_0x2810bd={_0x24609d:0x24e};var _0x38ac3e=Math[_0xc60be4(_0x2557a1._0x48668f,_0x2557a1._0x34a2ff)](_0xfc0f96),_0x2414a2=Math['cos'](_0xfc0f96);function _0x49148e(_0x2138da,_0x372056){return _0x7afdbe(_0x372056,_0x2138da- -_0x2810bd._0x24609d);}var _0x1911e8=sinh(_0x51c736),_0x362080=cosh(_0x51c736),_0x24e6e7=0x2*_0x2414a2*_0x362080,_0x21bfd7=-0x2*_0x38ac3e*_0x1911e8,_0x4b1068=_0x2714f1[_0x49148e(_0x2557a1._0x3525f4,0xe0a)]-0x1;function _0xc60be4(_0x557897,_0xe66914){return _0x54a7f1(_0x557897- -0x423,_0xe66914);}var _0x5c851a=_0x2714f1[_0x4b1068],_0x398af6=0x0,_0x49f6b1=0x0,_0x28592d=0x0,_0x14ccbb,_0x50fd2e;while(--_0x4b1068>=0x0){_0x14ccbb=_0x49f6b1,_0x50fd2e=_0x398af6,_0x49f6b1=_0x5c851a,_0x398af6=_0x28592d,_0x5c851a=-_0x14ccbb+_0x24e6e7*_0x49f6b1-_0x21bfd7*_0x398af6+_0x2714f1[_0x4b1068],_0x28592d=-_0x50fd2e+_0x21bfd7*_0x49f6b1+_0x24e6e7*_0x398af6;}return _0x24e6e7=_0x38ac3e*_0x362080,_0x21bfd7=_0x2414a2*_0x1911e8,[_0x24e6e7*_0x5c851a-_0x21bfd7*_0x28592d,_0x24e6e7*_0x28592d+_0x21bfd7*_0x5c851a];}function init$s(){const _0x58f096={_0x2210c0:0xcfe,_0x2fac83:0xe78,_0x35e817:0x3bb,_0x76fff4:0xed6,_0x458197:0x9fe,_0x18d19d:0xaa5,_0x123dee:0x817,_0x26008b:0x8d3,_0x3dcf2a:0x8b1,_0x4c2d98:0x1383,_0x38f07e:0x5b2,_0xfdfb55:0xa9f,_0xd6faca:0x708,_0xbd6915:0xe78},_0x1529bf={_0x3bdfa2:0x4d7},_0x2c8054={_0x52d7e4:0x1f6};if(!this[_0x2e06e9(0x568,0xeb5)]&&(isNaN(this['es'])||this['es']<=0x0))throw new Error('Incorrect\x20elliptical\x20usage.\x20Try\x20using\x20the\x20+approx\x20option\x20in\x20the\x20proj\x20string,\x20or\x20PROJECTION[\x22Fast_Transverse_Mercator\x22]\x20in\x20the\x20WKT.');this['approx']&&(tmerc['init']['apply'](this),this['forward']=tmerc[_0x4ff66b(0x978,_0x58f096._0x2210c0)],this[_0x2e06e9(0x1446,_0x58f096._0x2fac83)]=tmerc['inverse']);this['x0']=this['x0']!==undefined?this['x0']:0x0,this['y0']=this['y0']!==undefined?this['y0']:0x0,this['long0']=this[_0x2e06e9(0x11c7,0x8a1)]!==undefined?this[_0x4ff66b(_0x58f096._0x35e817,0xcb8)]:0x0,this['lat0']=this[_0x4ff66b(0x124f,0x9c7)]!==undefined?this[_0x2e06e9(_0x58f096._0x76fff4,0xe76)]:0x0,this[_0x4ff66b(_0x58f096._0x458197,0x6e0)]=[],this[_0x2e06e9(0xdb4,0x8aa)]=[],this['utg']=[],this['gtu']=[];var _0x8cb9d1=this['es']/(0x1+Math[_0x2e06e9(0xe3c,0x130c)](0x1-this['es']));function _0x2e06e9(_0x123350,_0x51c18f){return _0x7afdbe(_0x51c18f,_0x123350- -_0x2c8054._0x52d7e4);}var _0x5568fe=_0x8cb9d1/(0x2-_0x8cb9d1),_0x2a70a2=_0x5568fe;this['cgb'][0x0]=_0x5568fe*(0x2+_0x5568fe*(-0x2/0x3+_0x5568fe*(-0x2+_0x5568fe*(0x74/0x2d+_0x5568fe*(0x1a/0x2d+_0x5568fe*(-0xb26/0x2a3)))))),this[_0x4ff66b(0x1270,0x8a5)][0x0]=_0x5568fe*(-0x2+_0x5568fe*(0x2/0x3+_0x5568fe*(0x4/0x3+_0x5568fe*(-0x52/0x2d+_0x5568fe*(0x20/0x2d+_0x5568fe*(0x1222/0x1275)))))),_0x2a70a2=_0x2a70a2*_0x5568fe,this['cgb'][0x1]=_0x2a70a2*(0x7/0x3+_0x5568fe*(-0x8/0x5+_0x5568fe*(-0xe3/0x2d+_0x5568fe*(0xa90/0x13b+_0x5568fe*(0x913/0x3b1))))),this['cbg'][0x1]=_0x2a70a2*(0x5/0x3+_0x5568fe*(-0x10/0xf+_0x5568fe*(-0xd/0x9+_0x5568fe*(0x388/0x13b+_0x5568fe*(-0x5f2/0x3b1))))),_0x2a70a2=_0x2a70a2*_0x5568fe,this[_0x4ff66b(0x8c4,0x6e0)][0x2]=_0x2a70a2*(0x38/0xf+_0x5568fe*(-0x88/0x23+_0x5568fe*(-0x4ee/0x69+_0x5568fe*(0x12056/0xb13)))),this['cbg'][0x2]=_0x2a70a2*(-0x1a/0xf+_0x5568fe*(0x22/0x15+_0x5568fe*(0x8/0x5+_0x5568fe*(-0x318e/0xb13)))),_0x2a70a2=_0x2a70a2*_0x5568fe,this['cgb'][0x3]=_0x2a70a2*(0x10b7/0x276+_0x5568fe*(-0x14c/0x23+_0x5568fe*(-0x618d4/0x375f))),this[_0x4ff66b(_0x58f096._0x18d19d,0x8a5)][0x3]=_0x2a70a2*(0x4d5/0x276+_0x5568fe*(-0xc/0x5+_0x5568fe*(-0x6100/0x375f))),_0x2a70a2=_0x2a70a2*_0x5568fe,this['cgb'][0x4]=_0x2a70a2*(0x104e/0x13b+_0x5568fe*(-0x235c6/0x185d)),this['cbg'][0x4]=_0x2a70a2*(-0x2de/0x13b+_0x5568fe*(0x1ac1e/0x79d1)),_0x2a70a2=_0x2a70a2*_0x5568fe,this['cgb'][0x5]=_0x2a70a2*(0x92e4c/0x5703),this['cbg'][0x5]=_0x2a70a2*(0x6c7b1/0x26115),_0x2a70a2=Math['pow'](_0x5568fe,0x2),this['Qn']=this['k0']/(0x1+_0x5568fe)*(0x1+_0x2a70a2*(0x1/0x4+_0x2a70a2*(0x1/0x40+_0x2a70a2/0x100))),this[_0x2e06e9(0xdc0,_0x58f096._0x123dee)][0x0]=_0x5568fe*(-0.5+_0x5568fe*(0x2/0x3+_0x5568fe*(-0x25/0x60+_0x5568fe*(0x1/0x168+_0x5568fe*(0x51/0x200+_0x5568fe*(-0x177c7/0x93a80)))))),this[_0x4ff66b(-0x842,0x1f9)][0x0]=_0x5568fe*(0.5+_0x5568fe*(-0x2/0x3+_0x5568fe*(0x5/0x10+_0x5568fe*(0x29/0xb4+_0x5568fe*(-0x7f/0x120+_0x5568fe*(0x1ed3/0x93a8)))))),this[_0x4ff66b(_0x58f096._0x26008b,_0x58f096._0x3dcf2a)][0x1]=_0x2a70a2*(-0x1/0x30+_0x5568fe*(-0x1/0xf+_0x5568fe*(0x1b5/0x5a0+_0x5568fe*(-0x2e/0x69+_0x5568fe*(0x1111f7/0x3b1000))))),this['gtu'][0x1]=_0x2a70a2*(0xd/0x30+_0x5568fe*(-0x3/0x5+_0x5568fe*(0x22d/0x5a0+_0x5568fe*(0x119/0x276+_0x5568fe*(-0x1e43c9/0x1d8800))))),_0x2a70a2=_0x2a70a2*_0x5568fe,this[_0x2e06e9(0xdc0,_0x58f096._0x4c2d98)][0x2]=_0x2a70a2*(-0x11/0x1e0+_0x5568fe*(0x25/0x348+_0x5568fe*(0xd1/0x1180+_0x5568fe*(-0x15c1/0x16260)))),this['gtu'][0x2]=_0x2a70a2*(0x3d/0xf0+_0x5568fe*(-0x67/0x8c+_0x5568fe*(0x3ad5/0x6900+_0x5568fe*(0x28eb3/0x2c4c0)))),_0x2a70a2=_0x2a70a2*_0x5568fe,this['utg'][0x3]=_0x2a70a2*(-0x112d/0x27600+_0x5568fe*(0xb/0x1f8+_0x5568fe*(0xcab2b/0x6ebe00))),this['gtu'][0x3]=_0x2a70a2*(0xc199/0x27600+_0x5568fe*(-0xb3/0xa8+_0x5568fe*(0x64bbbd/0x6ebe00)));function _0x4ff66b(_0x4fce25,_0x256dcb){return _0x54a7f1(_0x256dcb- -_0x1529bf._0x3bdfa2,_0x4fce25);}_0x2a70a2=_0x2a70a2*_0x5568fe,this['utg'][0x4]=_0x2a70a2*(-0x11e7/0x27600+_0x5568fe*(0x1a92f/0x3ce880)),this['gtu'][0x4]=_0x2a70a2*(0x87a9/0x13b00+_0x5568fe*(-0x342b09/0x1e7440)),_0x2a70a2=_0x2a70a2*_0x5568fe,this['utg'][0x5]=_0x2a70a2*(-0x13b12f5/0x26115000),this[_0x4ff66b(-_0x58f096._0x38f07e,0x1f9)][0x5]=_0x2a70a2*(0xca8a53d/0x1308a800);var _0x7708e0=gatg(this[_0x4ff66b(_0x58f096._0xfdfb55,0x8a5)],this['lat0']);this['Zb']=-this['Qn']*(_0x7708e0+clens(this[_0x2e06e9(_0x58f096._0xd6faca,_0x58f096._0xbd6915)],0x2*_0x7708e0));}function forward$r(_0x1ae78c){const _0x1c3c16={_0xaa8852:0x1304,_0x3ceb01:0x16ed,_0x48aa3d:0x43a};var _0x4a31bd=adjust_lon(_0x1ae78c['x']-this['long0']),_0x35b015=_0x1ae78c['y'];_0x35b015=gatg(this['cbg'],_0x35b015);function _0x935e32(_0x310d5d,_0x529bb4){return _0x7afdbe(_0x529bb4,_0x310d5d- -0x3c8);}var _0x5e0703=Math['sin'](_0x35b015),_0xadd58f=Math[_0x46599b(_0x1c3c16._0xaa8852,_0x1c3c16._0x3ceb01)](_0x35b015),_0xe3221a=Math['sin'](_0x4a31bd),_0x1fd1a1=Math['cos'](_0x4a31bd);_0x35b015=Math[_0x935e32(0x310,-_0x1c3c16._0x48aa3d)](_0x5e0703,_0x1fd1a1*_0xadd58f),_0x4a31bd=Math[_0x46599b(-0x1d1,0x443)](_0xe3221a*_0xadd58f,hypot(_0x5e0703,_0xadd58f*_0x1fd1a1));function _0x46599b(_0x49c53d,_0x468f72){return _0x54a7f1(_0x468f72- -0x67,_0x49c53d);}_0x4a31bd=asinhy(Math['tan'](_0x4a31bd));var _0x2e35bb=clens_cmplx(this['gtu'],0x2*_0x35b015,0x2*_0x4a31bd);_0x35b015=_0x35b015+_0x2e35bb[0x0],_0x4a31bd=_0x4a31bd+_0x2e35bb[0x1];var _0x34e975,_0x486ea4;return Math['abs'](_0x4a31bd)<=2.623395162778?(_0x34e975=this['a']*(this['Qn']*_0x4a31bd)+this['x0'],_0x486ea4=this['a']*(this['Qn']*_0x35b015+this['Zb'])+this['y0']):(_0x34e975=Infinity,_0x486ea4=Infinity),_0x1ae78c['x']=_0x34e975,_0x1ae78c['y']=_0x486ea4,_0x1ae78c;}function inverse$r(_0x549012){const _0x515eb4={_0x4797a7:0x102e,_0x10a3a5:0xd0e,_0x289348:0x70b,_0x5369f5:0x1b78,_0x107e0d:0x1684,_0x408915:0x340},_0x48c45a={_0x3822fa:0xd0};var _0x1c7091=(_0x549012['x']-this['x0'])*(0x1/this['a']);function _0x4dae0f(_0x2a872d,_0x2d2488){return _0x54a7f1(_0x2d2488- -_0x48c45a._0x3822fa,_0x2a872d);}var _0x50c27f=(_0x549012['y']-this['y0'])*(0x1/this['a']);_0x50c27f=(_0x50c27f-this['Zb'])/this['Qn'];function _0x2f1805(_0x4bbece,_0x2b1335){return _0x54a7f1(_0x4bbece-0x2a6,_0x2b1335);}_0x1c7091=_0x1c7091/this['Qn'];var _0x2cff68,_0x376f70;if(Math['abs'](_0x1c7091)<=2.623395162778){var _0x8a872e=clens_cmplx(this[_0x2f1805(_0x515eb4._0x4797a7,0x76e)],0x2*_0x50c27f,0x2*_0x1c7091);_0x50c27f=_0x50c27f+_0x8a872e[0x0],_0x1c7091=_0x1c7091+_0x8a872e[0x1],_0x1c7091=Math[_0x4dae0f(_0x515eb4._0x10a3a5,_0x515eb4._0x289348)](sinh(_0x1c7091));var _0x54a35b=Math['sin'](_0x50c27f),_0x498a30=Math[_0x4dae0f(_0x515eb4._0x5369f5,_0x515eb4._0x107e0d)](_0x50c27f),_0x37ea9f=Math[_0x4dae0f(_0x515eb4._0x408915,0x3a4)](_0x1c7091),_0x3eb041=Math['cos'](_0x1c7091);_0x50c27f=Math[_0x4dae0f(0x287,0x3da)](_0x54a35b*_0x3eb041,hypot(_0x37ea9f,_0x3eb041*_0x498a30)),_0x1c7091=Math['atan2'](_0x37ea9f,_0x3eb041*_0x498a30),_0x2cff68=adjust_lon(_0x1c7091+this['long0']),_0x376f70=gatg(this['cgb'],_0x50c27f);}else _0x2cff68=Infinity,_0x376f70=Infinity;return _0x549012['x']=_0x2cff68,_0x549012['y']=_0x376f70,_0x549012;}var names$s=['Extended_Transverse_Mercator','Extended\x20Transverse\x20Mercator',_0x54a7f1(0xde6,0x1573),'Transverse_Mercator',_0x54a7f1(0x59a,0x6a9),_0x54a7f1(0xd5f,0xc2c),_0x54a7f1(0x1062,0x19b2),'tmerc'];const _0x477242={};_0x477242['init']=init$s,_0x477242[_0x7afdbe(0xb9b,0x1403)]=forward$r,_0x477242['inverse']=inverse$r,_0x477242[_0x54a7f1(0x7b2,0x280)]=names$s;var etmerc=_0x477242;function adjust_zone(_0x11dc82,_0x383773){if(_0x11dc82===undefined){_0x11dc82=Math['floor']((adjust_lon(_0x383773)+Math['PI'])*0x1e/Math['PI'])+0x1;if(_0x11dc82<0x0)return 0x0;else{if(_0x11dc82>0x3c)return 0x3c;}}return _0x11dc82;}var dependsOn=_0x54a7f1(0xde6,0x1542);function init$r(){const _0x40c564={_0x4868f8:0x71a,_0x5ecbcd:0x87a,_0x4f7abd:0x117e},_0x36fda4={_0x1e75cf:0x1ad};var _0x23fdf0=adjust_zone(this[_0x4e70c9(0xb4d,_0x40c564._0x4868f8)],this[_0x4e70c9(0x6de,0xe46)]);if(_0x23fdf0===undefined)throw new Error('unknown\x20utm\x20zone');this[_0x275695(0xcf1,_0x40c564._0x5ecbcd)]=0x0,this[_0x4e70c9(_0x40c564._0x4f7abd,0xe46)]=(0x6*Math['abs'](_0x23fdf0)-0xb7)*D2R$1,this['x0']=0x7a120,this['y0']=this['utmSouth']?0x989680:0x0,this['k0']=0.9996;function _0x275695(_0x330e75,_0x41c9a5){return _0x54a7f1(_0x330e75- -_0x36fda4._0x1e75cf,_0x41c9a5);}function _0x4e70c9(_0x5e0a89,_0x97e626){return _0x54a7f1(_0x97e626- -0x349,_0x5e0a89);}etmerc['init']['apply'](this),this['forward']=etmerc['forward'],this[_0x4e70c9(0x1599,0x10c5)]=etmerc['inverse'];}var names$r=['Universal\x20Transverse\x20Mercator\x20System','utm'];const _0x16697d={};_0x16697d['init']=init$r,_0x16697d[_0x7afdbe(0xc80,0x9e0)]=names$r,_0x16697d['dependsOn']=dependsOn;var utm=_0x16697d;function srat(_0x4bb02b,_0x2b7c7c){const _0x29773b={_0x1b112e:0x4a7},_0x2d4579={_0x233762:0x1f1};function _0x24dba3(_0x401078,_0x2aa254){return _0x54a7f1(_0x401078-_0x2d4579._0x233762,_0x2aa254);}return Math[_0x24dba3(0x486,-_0x29773b._0x1b112e)]((0x1-_0x4bb02b)/(0x1+_0x4bb02b),_0x2b7c7c);}var MAX_ITER$2=0x14;function init$q(){const _0x334a92={_0x4f112c:0x9f4},_0xc929a5={_0x57f9ca:0x6d8};var _0x2989cb=Math['sin'](this['lat0']),_0x1ec1ea=Math['cos'](this['lat0']);function _0x51dc50(_0x54156a,_0x45e570){return _0x7afdbe(_0x54156a,_0x45e570- -_0xc929a5._0x57f9ca);}_0x1ec1ea*=_0x1ec1ea,this['rc']=Math['sqrt'](0x1-this['es'])/(0x1-this['es']*_0x2989cb*_0x2989cb),this['C']=Math['sqrt'](0x1+this['es']*_0x1ec1ea*_0x1ec1ea/(0x1-this['es'])),this['phic0']=Math['asin'](_0x2989cb/this['C']),this['ratexp']=0.5*this['C']*this['e'];function _0x2ebd45(_0x388418,_0x5e16f8){return _0x54a7f1(_0x388418-0x243,_0x5e16f8);}this['K']=Math['tan'](0.5*this[_0x51dc50(0x9ec,0xbde)]+FORTPI)/(Math['pow'](Math['tan'](0.5*this[_0x51dc50(0xa28,_0x334a92._0x4f112c)]+FORTPI),this['C'])*srat(this['e']*_0x2989cb,this['ratexp']));}function forward$q(_0x200984){var _0x5099b9=_0x200984['x'],_0x4056b4=_0x200984['y'];return _0x200984['y']=0x2*Math['atan'](this['K']*Math['pow'](Math['tan'](0.5*_0x4056b4+FORTPI),this['C'])*srat(this['e']*Math['sin'](_0x4056b4),this['ratexp']))-HALF_PI,_0x200984['x']=this['C']*_0x5099b9,_0x200984;}function inverse$q(_0x208711){const _0x4f2ca7={_0x4eff68:0x16d,_0x15f764:0x9eb},_0x286421={_0x35aa5d:0x1e};function _0x4b6b7e(_0x36bc00,_0x5d3711){return _0x7afdbe(_0x5d3711,_0x36bc00- -_0x286421._0x35aa5d);}function _0x580a57(_0x2e13a6,_0xb62266){return _0x7afdbe(_0x2e13a6,_0xb62266- -0x56a);}var _0x298ca8=1e-14,_0x486342=_0x208711['x']/this['C'],_0x367f91=_0x208711['y'],_0x41a937=Math[_0x580a57(_0x4f2ca7._0x4eff68,-0xa7)](Math['tan'](0.5*_0x367f91+FORTPI)/this['K'],0x1/this['C']);for(var _0x5b73c8=MAX_ITER$2;_0x5b73c8>0x0;--_0x5b73c8){_0x367f91=0x2*Math[_0x4b6b7e(_0x4f2ca7._0x15f764,-0xc1)](_0x41a937*srat(this['e']*Math['sin'](_0x208711['y']),-0.5*this['e']))-HALF_PI;if(Math['abs'](_0x367f91-_0x208711['y'])<_0x298ca8)break;_0x208711['y']=_0x367f91;}if(!_0x5b73c8)return null;return _0x208711['x']=_0x486342,_0x208711['y']=_0x367f91,_0x208711;}var names$q=[_0x7afdbe(0x1276,0x12fc)];const _0x5f5e83={};_0x5f5e83['init']=init$q,_0x5f5e83['forward']=forward$q,_0x5f5e83[_0x7afdbe(0x15c9,0x163c)]=inverse$q,_0x5f5e83['names']=names$q;var gauss=_0x5f5e83;function init$p(){gauss['init']['apply'](this);if(!this['rc'])return;function _0x2c6be3(_0x57d5db,_0x4dbba2){return _0x7afdbe(_0x57d5db,_0x4dbba2- -0x4ac);}this['sinc0']=Math[_0x2c6be3(-0x520,0x1f6)](this[_0x2c6be3(0x16cf,0xe0a)]),this['cosc0']=Math['cos'](this['phic0']);function _0x14fd03(_0x360771,_0x30579f){return _0x54a7f1(_0x30579f- -0x2d9,_0x360771);}this['R2']=0x2*this['rc'],!this['title']&&(this['title']='Oblique\x20Stereographic\x20Alternative');}function forward$p(_0x9fc2ce){const _0x3c55a1={_0x5b2d3f:0x1378,_0x13ae32:0x18c6,_0x42241f:0x1806},_0x3d23c7={_0x4454f1:0x3dc},_0x2a1797={_0xd0f83f:0x4fb};var _0x1445a7,_0x2677d0,_0x48b63e,_0x15093e;function _0x4f123b(_0xf39b17,_0x4e224b){return _0x7afdbe(_0x4e224b,_0xf39b17- -_0x2a1797._0xd0f83f);}_0x9fc2ce['x']=adjust_lon(_0x9fc2ce['x']-this['long0']),gauss['forward']['apply'](this,[_0x9fc2ce]),_0x1445a7=Math[_0x1c049b(0x98,0x1a8)](_0x9fc2ce['y']),_0x2677d0=Math[_0x1c049b(_0x3c55a1._0x5b2d3f,_0x3c55a1._0x13ae32)](_0x9fc2ce['y']),_0x48b63e=Math[_0x1c049b(0x1378,0x1170)](_0x9fc2ce['x']),_0x15093e=this['k0']*this['R2']/(0x1+this['sinc0']*_0x1445a7+this[_0x1c049b(0x11fc,_0x3c55a1._0x42241f)]*_0x2677d0*_0x48b63e),_0x9fc2ce['x']=_0x15093e*_0x2677d0*Math['sin'](_0x9fc2ce['x']),_0x9fc2ce['y']=_0x15093e*(this[_0x1c049b(0x11fc,0xdd1)]*_0x1445a7-this['sinc0']*_0x2677d0*_0x48b63e),_0x9fc2ce['x']=this['a']*_0x9fc2ce['x']+this['x0'],_0x9fc2ce['y']=this['a']*_0x9fc2ce['y']+this['y0'];function _0x1c049b(_0xd750df,_0x3001fe){return _0x54a7f1(_0xd750df- -_0x3d23c7._0x4454f1,_0x3001fe);}return _0x9fc2ce;}function inverse$p(_0x4b337c){const _0x5d2449={_0x4e55de:0x11b3,_0x5ad8d9:0xb67,_0x554d59:0xb57,_0x410d32:0x654,_0xafe259:0x10fb},_0x290485={_0x36b5e2:0x94},_0x4dc9ba={_0x292c64:0x1aa};var _0x26f084,_0x3f5488,_0x55939a,_0xd1f969,_0x500bbb;_0x4b337c['x']=(_0x4b337c['x']-this['x0'])/this['a'],_0x4b337c['y']=(_0x4b337c['y']-this['y0'])/this['a'],_0x4b337c['x']/=this['k0'],_0x4b337c['y']/=this['k0'];function _0x1650af(_0x1bf9c8,_0x27819c){return _0x54a7f1(_0x1bf9c8- -_0x4dc9ba._0x292c64,_0x27819c);}if(_0x500bbb=hypot(_0x4b337c['x'],_0x4b337c['y'])){var _0x4e5dea=0x2*Math['atan2'](_0x500bbb,this['R2']);_0x26f084=Math['sin'](_0x4e5dea),_0x3f5488=Math['cos'](_0x4e5dea),_0xd1f969=Math[_0x1650af(_0x5d2449._0x4e55de,0x9ed)](_0x3f5488*this[_0x204540(0xd5d,0x775)]+_0x4b337c['y']*_0x26f084*this[_0x1650af(0x142e,_0x5d2449._0x5ad8d9)]/_0x500bbb),_0x55939a=Math[_0x1650af(0x300,0xda1)](_0x4b337c['x']*_0x26f084,_0x500bbb*this['cosc0']*_0x3f5488-_0x4b337c['y']*this['sinc0']*_0x26f084);}else _0xd1f969=this['phic0'],_0x55939a=0x0;_0x4b337c['x']=_0x55939a,_0x4b337c['y']=_0xd1f969,gauss['inverse'][_0x204540(0xc45,_0x5d2449._0x554d59)](this,[_0x4b337c]),_0x4b337c['x']=adjust_lon(_0x4b337c['x']+this[_0x204540(_0x5d2449._0x410d32,_0x5d2449._0xafe259)]);function _0x204540(_0x42a4da,_0x553852){return _0x54a7f1(_0x553852- -_0x290485._0x36b5e2,_0x42a4da);}return _0x4b337c;}var names$p=['Stereographic_North_Pole',_0x7afdbe(0x1839,0x1307),_0x7afdbe(0x11bc,0xf69),'Oblique\x20Stereographic\x20Alternative',_0x7afdbe(0x163f,0x1580)];const _0x5c5868={};_0x5c5868[_0x54a7f1(0x1601,0x1c93)]=init$p,_0x5c5868['forward']=forward$p,_0x5c5868['inverse']=inverse$p,_0x5c5868['names']=names$p;var sterea=_0x5c5868;function ssfn_(_0x1be12a,_0x3a9406,_0x3f1e56){const _0x50d3c6={_0x13b4d6:0x1716},_0x5b889e={_0x1d7a4a:0x75};_0x3a9406*=_0x3f1e56;function _0x4db39d(_0x14f3d5,_0x55474e){return _0x7afdbe(_0x14f3d5,_0x55474e-_0x5b889e._0x1d7a4a);}return Math[_0x4db39d(0x1dca,_0x50d3c6._0x13b4d6)](0.5*(HALF_PI+_0x1be12a))*Math['pow']((0x1-_0x3a9406)/(0x1+_0x3a9406),0.5*_0x3f1e56);}function init$o(){const _0x332792={_0x156ab8:0x803,_0x3291b6:0x659,_0x1b08d8:0x1949,_0x1dfd82:0xf37,_0x4f952d:0xcf9,_0x2d3438:0x803,_0x95a630:0x19,_0x7c01a1:0x44,_0x48d6ca:0x17f3,_0x5142a5:0x74a,_0x31350f:0xa33,_0x178809:0x1007,_0x1a1cfe:0x414,_0x17a13e:0x56e},_0x4dc9a3={_0x5111e4:0x472},_0x56329a={_0x1b76fe:0x3d9};this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0,this['lat0']=this['lat0']||0x0;function _0x3b6934(_0x283976,_0x436c24){return _0x54a7f1(_0x283976- -_0x56329a._0x1b76fe,_0x436c24);}this['long0']=this['long0']||0x0,this[_0x3b6934(_0x332792._0x156ab8,0x7df)]=Math['cos'](this['lat0']);function _0x445f94(_0x537286,_0x1581dd){return _0x7afdbe(_0x537286,_0x1581dd- -_0x4dc9a3._0x5111e4);}this['sinlat0']=Math[_0x3b6934(0x9b,0x917)](this[_0x3b6934(0xac5,0x124a)]),this[_0x3b6934(_0x332792._0x3291b6,0xe3f)]?this['k0']===0x1&&!isNaN(this[_0x3b6934(0x128b,_0x332792._0x1b08d8)])&&Math[_0x3b6934(0xcf9,_0x332792._0x1dfd82)](this['coslat0'])<=EPSLN&&(this['k0']=0.5*(0x1+sign(this['lat0'])*Math['sin'](this[_0x3b6934(0x128b,0x14b3)]))):(Math[_0x3b6934(_0x332792._0x4f952d,0xd7b)](this[_0x3b6934(_0x332792._0x2d3438,-_0x332792._0x95a630)])<=EPSLN&&(this['lat0']>0x0?this[_0x445f94(0x8a,0x74a)]=0x1:this['con']=-0x1),this['cons']=Math['sqrt'](Math['pow'](0x1+this['e'],0x1+this['e'])*Math['pow'](0x1-this['e'],0x1-this['e'])),this['k0']===0x1&&!isNaN(this['lat_ts'])&&Math['abs'](this[_0x445f94(0x263,0x998)])<=EPSLN&&Math['abs'](Math[_0x3b6934(0x137b,0x1356)](this['lat_ts']))>EPSLN&&(this['k0']=0.5*this[_0x445f94(0xb1c,0x11df)]*msfnz(this['e'],Math[_0x3b6934(0x9b,_0x332792._0x7c01a1)](this['lat_ts']),Math['cos'](this[_0x3b6934(0x128b,_0x332792._0x48d6ca)]))/tsfnz(this['e'],this[_0x445f94(0xfa6,_0x332792._0x5142a5)]*this['lat_ts'],this['con']*Math[_0x445f94(0x895,0x230)](this['lat_ts']))),this['ms1']=msfnz(this['e'],this['sinlat0'],this['coslat0']),this['X0']=0x2*Math['atan'](this[_0x3b6934(0x1386,_0x332792._0x31350f)](this['lat0'],this[_0x445f94(0x1649,_0x332792._0x178809)],this['e']))-HALF_PI,this['cosX0']=Math[_0x3b6934(0x137b,0x1751)](this['X0']),this[_0x3b6934(0x18c,-_0x332792._0x1a1cfe)]=Math[_0x445f94(_0x332792._0x17a13e,0x230)](this['X0']));}function forward$o(_0x564868){const _0x2af420={_0xd08460:0x13aa,_0x5f1e89:0x13b,_0x41b8c4:0xbcf,_0x312950:0x1752,_0x2a1417:0x1747,_0x3f5125:0x945,_0x2da9d7:0x981,_0x6afa1c:0x1747,_0x2675d3:0x2de,_0x484348:0x2de,_0x38e771:0x558},_0x233816={_0x1455ae:0x277};var _0x2f04f7=_0x564868['x'],_0x115169=_0x564868['y'],_0x2b99a6=Math[_0x4bb143(0x467,0x249)](_0x115169),_0x46298e=Math[_0x4bb143(0x1747,0x15ea)](_0x115169),_0x5be572,_0x5a942d,_0x264ce0,_0x307f06,_0x1f06f3,_0x7802b4,_0x55fd09=adjust_lon(_0x2f04f7-this[_0x2bc30f(_0x2af420._0xd08460,0x1146)]);if(Math['abs'](Math['abs'](_0x2f04f7-this[_0x2bc30f(0x10e6,0x1146)])-Math['PI'])<=EPSLN&&Math['abs'](_0x115169+this['lat0'])<=EPSLN)return _0x564868['x']=NaN,_0x564868['y']=NaN,_0x564868;function _0x4bb143(_0x1aac9d,_0x3a19de){return _0x7afdbe(_0x3a19de,_0x1aac9d- -0x23b);}function _0x2bc30f(_0x5f4960,_0xe66f90){return _0x7afdbe(_0x5f4960,_0xe66f90- -_0x233816._0x1455ae);}if(this[_0x2bc30f(_0x2af420._0x5f1e89,0x9e9)])return _0x5be572=0x2*this['k0']/(0x1+this[_0x4bb143(0x123e,0xa7f)]*_0x2b99a6+this[_0x4bb143(_0x2af420._0x41b8c4,0x41b)]*_0x46298e*Math['cos'](_0x55fd09)),_0x564868['x']=this['a']*_0x5be572*_0x46298e*Math['sin'](_0x55fd09)+this['x0'],_0x564868['y']=this['a']*_0x5be572*(this['coslat0']*_0x2b99a6-this[_0x2bc30f(0xa88,0x1202)]*_0x46298e*Math['cos'](_0x55fd09))+this['y0'],_0x564868;else{_0x5a942d=0x2*Math['atan'](this[_0x4bb143(_0x2af420._0x312950,0x18f3)](_0x115169,_0x2b99a6,this['e']))-HALF_PI,_0x307f06=Math[_0x4bb143(_0x2af420._0x2a1417,0x107a)](_0x5a942d),_0x264ce0=Math['sin'](_0x5a942d);if(Math['abs'](this['coslat0'])<=EPSLN)return _0x1f06f3=tsfnz(this['e'],_0x115169*this[_0x2bc30f(0xac1,_0x2af420._0x3f5125)],this[_0x2bc30f(0xc0e,0x945)]*_0x2b99a6),_0x7802b4=0x2*this['a']*this['k0']*_0x1f06f3/this['cons'],_0x564868['x']=this['x0']+_0x7802b4*Math['sin'](_0x2f04f7-this['long0']),_0x564868['y']=this['y0']-this[_0x4bb143(_0x2af420._0x2da9d7,0xc90)]*_0x7802b4*Math['cos'](_0x2f04f7-this[_0x4bb143(0x1182,0x15e5)]),_0x564868;else Math['abs'](this['sinlat0'])<EPSLN?(_0x5be572=0x2*this['a']*this['k0']/(0x1+_0x307f06*Math[_0x4bb143(_0x2af420._0x6afa1c,0x1361)](_0x55fd09)),_0x564868['y']=_0x5be572*_0x264ce0):(_0x5be572=0x2*this['a']*this['k0']*this['ms1']/(this[_0x2bc30f(0x859,_0x2af420._0x2675d3)]*(0x1+this['sinX0']*_0x264ce0+this[_0x2bc30f(0xd91,_0x2af420._0x484348)]*_0x307f06*Math['cos'](_0x55fd09))),_0x564868['y']=_0x5be572*(this['cosX0']*_0x264ce0-this[_0x4bb143(_0x2af420._0x38e771,-0x532)]*_0x307f06*Math['cos'](_0x55fd09))+this['y0']);_0x564868['x']=_0x5be572*_0x307f06*Math[_0x4bb143(0x467,0xbb7)](_0x55fd09)+this['x0'];}return _0x564868;}function inverse$o(_0x4ba5fd){const _0x3f1966={_0x1a48cb:0x10cf,_0x390292:0xb49,_0x55523f:0x1694,_0x4728bf:0xe95,_0x2bfb9c:0xbe,_0x1ea012:0x98c,_0x1cf302:0x347,_0x1d41e0:0xb85,_0xeb9d5a:0x80a,_0x45af7a:0x1d63,_0x4cb80a:0x267,_0x160b3a:0x2dc,_0x35c13d:0x3ea,_0x4a0805:0x6cf,_0x24ad36:0x754,_0x478578:0x1694,_0x176c41:0x1496},_0x2e3ccb={_0x59006b:0x2ee};_0x4ba5fd['x']-=this['x0'],_0x4ba5fd['y']-=this['y0'];var _0x2b4c2f,_0x553359,_0x53e0c5,_0x5629e3,_0x2172c1,_0x1c2f5c=Math['sqrt'](_0x4ba5fd['x']*_0x4ba5fd['x']+_0x4ba5fd['y']*_0x4ba5fd['y']);if(this['sphere']){var _0x3bdc12=0x2*Math['atan'](_0x1c2f5c/(0x2*this['a']*this['k0']));_0x2b4c2f=this[_0x291389(_0x3f1966._0x1a48cb,_0x3f1966._0x390292)],_0x553359=this['lat0'];if(_0x1c2f5c<=EPSLN)return _0x4ba5fd['x']=_0x2b4c2f,_0x4ba5fd['y']=_0x553359,_0x4ba5fd;return _0x553359=Math['asin'](Math[_0x291389(_0x3f1966._0x55523f,0x1c51)](_0x3bdc12)*this[_0x1c2656(0x1467,_0x3f1966._0x4728bf)]+_0x4ba5fd['y']*Math['sin'](_0x3bdc12)*this['coslat0']/_0x1c2f5c),Math['abs'](this['coslat0'])<EPSLN?this['lat0']>0x0?_0x2b4c2f=adjust_lon(this['long0']+Math['atan2'](_0x4ba5fd['x'],-0x1*_0x4ba5fd['y'])):_0x2b4c2f=adjust_lon(this['long0']+Math['atan2'](_0x4ba5fd['x'],_0x4ba5fd['y'])):_0x2b4c2f=adjust_lon(this['long0']+Math['atan2'](_0x4ba5fd['x']*Math[_0x1c2656(0x4c9,_0x3f1966._0x2bfb9c)](_0x3bdc12),_0x1c2f5c*this['coslat0']*Math[_0x1c2656(_0x3f1966._0x1ea012,0x139e)](_0x3bdc12)-_0x4ba5fd['y']*this['sinlat0']*Math[_0x1c2656(_0x3f1966._0x1cf302,_0x3f1966._0x2bfb9c)](_0x3bdc12))),_0x4ba5fd['x']=_0x2b4c2f,_0x4ba5fd['y']=_0x553359,_0x4ba5fd;}else{if(Math['abs'](this['coslat0'])<=EPSLN){if(_0x1c2f5c<=EPSLN)return _0x553359=this[_0x291389(0xdde,_0x3f1966._0x1d41e0)],_0x2b4c2f=this[_0x1c2656(_0x3f1966._0xeb9d5a,0xdd9)],_0x4ba5fd['x']=_0x2b4c2f,_0x4ba5fd['y']=_0x553359,_0x4ba5fd;_0x4ba5fd['x']*=this['con'],_0x4ba5fd['y']*=this['con'],_0x53e0c5=_0x1c2f5c*this[_0x291389(0x1363,_0x3f1966._0x45af7a)]/(0x2*this['a']*this['k0']),_0x553359=this[_0x291389(0x8ce,0x9bf)]*phi2z(this['e'],_0x53e0c5),_0x2b4c2f=this['con']*adjust_lon(this['con']*this['long0']+Math[_0x291389(0x3ea,0xc4b)](_0x4ba5fd['x'],-0x1*_0x4ba5fd['y']));}else _0x5629e3=0x2*Math[_0x291389(0x71b,0x1012)](_0x1c2f5c*this[_0x291389(_0x3f1966._0x4cb80a,-_0x3f1966._0x160b3a)]/(0x2*this['a']*this['k0']*this[_0x1c2656(0xf89,0xd4c)])),_0x2b4c2f=this['long0'],_0x1c2f5c<=EPSLN?_0x2172c1=this['X0']:(_0x2172c1=Math['asin'](Math['cos'](_0x5629e3)*this['sinX0']+_0x4ba5fd['y']*Math[_0x1c2656(-0x522,0xbe)](_0x5629e3)*this[_0x291389(0x267,0x86b)]/_0x1c2f5c),_0x2b4c2f=adjust_lon(this['long0']+Math[_0x291389(_0x3f1966._0x35c13d,0x17a)](_0x4ba5fd['x']*Math[_0x291389(0x3b4,_0x3f1966._0x4a0805)](_0x5629e3),_0x1c2f5c*this[_0x291389(0x267,-_0x3f1966._0x24ad36)]*Math[_0x291389(_0x3f1966._0x478578,_0x3f1966._0x176c41)](_0x5629e3)-_0x4ba5fd['y']*this['sinX0']*Math['sin'](_0x5629e3)))),_0x553359=-0x1*phi2z(this['e'],Math['tan'](0.5*(HALF_PI+_0x2172c1)));}_0x4ba5fd['x']=_0x2b4c2f;function _0x291389(_0x5c5f27,_0x40aba7){return _0x7afdbe(_0x40aba7,_0x5c5f27- -_0x2e3ccb._0x59006b);}_0x4ba5fd['y']=_0x553359;function _0x1c2656(_0xd823f9,_0x3ad546){return _0x7afdbe(_0xd823f9,_0x3ad546- -0x5e4);}return _0x4ba5fd;}var names$o=[_0x7afdbe(0x17e7,0x11d0),'Stereographic_South_Pole',_0x54a7f1(0x140f,0x11dc),_0x54a7f1(0x1595,0x19d6)];const _0xf66f0a={};_0xf66f0a[_0x7afdbe(0x2269,0x182f)]=init$o,_0xf66f0a['forward']=forward$o,_0xf66f0a['inverse']=inverse$o,_0xf66f0a['names']=names$o,_0xf66f0a['ssfn_']=ssfn_;var stere=_0xf66f0a;function init$n(){const _0x331b4f={_0x45d0ec:0x39c,_0x14e63a:0x145f,_0x2d0992:0x4d8,_0x2d17a7:0x166,_0x4baf79:0x2fe},_0x2115b8={_0x23a419:0xd8};var _0x2c4085=this['lat0'];this['lambda0']=this['long0'];var _0x254988=Math[_0x2cfc70(0xaa4,_0x331b4f._0x45d0ec)](_0x2c4085),_0x5c88ed=this['a'];function _0x1a3ccf(_0x3df0ea,_0x434283){return _0x54a7f1(_0x3df0ea-0x102,_0x434283);}var _0x581dfe=this['rf'],_0x152d0f=0x1/_0x581dfe,_0x2fe7e7=0x2*_0x152d0f-Math['pow'](_0x152d0f,0x2),_0x145c74=this['e']=Math['sqrt'](_0x2fe7e7);this['R']=this['k0']*_0x5c88ed*Math['sqrt'](0x1-_0x2fe7e7)/(0x1-_0x2fe7e7*Math['pow'](_0x254988,0x2)),this['alpha']=Math['sqrt'](0x1+_0x2fe7e7/(0x1-_0x2fe7e7)*Math[_0x1a3ccf(0x397,0x348)](Math['cos'](_0x2c4085),0x4)),this['b0']=Math[_0x1a3ccf(_0x331b4f._0x14e63a,0xcf4)](_0x254988/this['alpha']);var _0x458d89=Math['log'](Math['tan'](Math['PI']/0x4+this['b0']/0x2));function _0x2cfc70(_0x249cb2,_0x1cf025){return _0x54a7f1(_0x1cf025- -_0x2115b8._0x23a419,_0x249cb2);}var _0x395ea7=Math['log'](Math[_0x2cfc70(0x15a1,0x139b)](Math['PI']/0x4+_0x2c4085/0x2)),_0x5c0c0e=Math['log']((0x1+_0x145c74*_0x254988)/(0x1-_0x145c74*_0x254988));this['K']=_0x458d89-this[_0x1a3ccf(_0x331b4f._0x2d0992,0x26)]*_0x395ea7+this[_0x2cfc70(-_0x331b4f._0x2d17a7,_0x331b4f._0x4baf79)]*_0x145c74/0x2*_0x5c0c0e;}function forward$n(_0x1dd7fd){const _0x5dfcf2={_0x3c0268:0x16b7,_0x37e9f8:0x1437,_0x2c805c:0x643,_0x1886ff:0x1572,_0xaab664:0x1853},_0x166487={_0x2d7d14:0x3f},_0x34ff97={_0x18e2af:0x12f};var _0x385b7b=Math['log'](Math['tan'](Math['PI']/0x4-_0x1dd7fd['y']/0x2)),_0x3411e3=this['e']/0x2*Math[_0x157304(_0x5dfcf2._0x3c0268,_0x5dfcf2._0x37e9f8)]((0x1+this['e']*Math['sin'](_0x1dd7fd['y']))/(0x1-this['e']*Math['sin'](_0x1dd7fd['y'])));function _0x4c0acb(_0x16e5a9,_0x6b2ccf){return _0x7afdbe(_0x16e5a9,_0x6b2ccf- -_0x34ff97._0x18e2af);}var _0x55ded3=-this[_0x157304(_0x5dfcf2._0x2c805c,0x1022)]*(_0x385b7b+_0x3411e3)+this['K'];function _0x157304(_0x562363,_0x3b74fd){return _0x7afdbe(_0x3b74fd,_0x562363-_0x166487._0x2d7d14);}var _0x3d7c0e=0x2*(Math['atan'](Math[_0x4c0acb(-0x539,0x35f)](_0x55ded3))-Math['PI']/0x4),_0x3dc5d2=this['alpha']*(_0x1dd7fd['x']-this['lambda0']),_0x1b8c35=Math['atan'](Math['sin'](_0x3dc5d2)/(Math['sin'](this['b0'])*Math[_0x4c0acb(0x14da,_0x5dfcf2._0x1886ff)](_0x3d7c0e)+Math['cos'](this['b0'])*Math['cos'](_0x3dc5d2))),_0x8abd27=Math['asin'](Math[_0x4c0acb(0xf97,_0x5dfcf2._0xaab664)](this['b0'])*Math['sin'](_0x3d7c0e)-Math['sin'](this['b0'])*Math['cos'](_0x3d7c0e)*Math['cos'](_0x3dc5d2));return _0x1dd7fd['y']=this['R']/0x2*Math['log']((0x1+Math['sin'](_0x8abd27))/(0x1-Math['sin'](_0x8abd27)))+this['y0'],_0x1dd7fd['x']=this['R']*_0x1b8c35+this['x0'],_0x1dd7fd;}function inverse$n(_0x2c54ff){const _0x1d9635={_0x4ac408:0xa6c,_0x293e8f:0x1e96,_0x4e8d45:0x705,_0x5d2534:0x1a50,_0x324347:0xdb8,_0x1f94fa:0xd66,_0x2f0812:0x11d3,_0x544231:0x667,_0x30c1c3:0x1704,_0x2bf993:0x16d1,_0x1eaecf:0x1704};var _0x33f799=_0x2c54ff['x']-this['x0'],_0x26f095=_0x2c54ff['y']-this['y0'],_0x51c85e=_0x33f799/this['R'],_0x5b94bd=0x2*(Math[_0x5613fd(0x9b1,_0x1d9635._0x4ac408)](Math['exp'](_0x26f095/this['R']))-Math['PI']/0x4),_0xec047a=Math[_0x5613fd(_0x1d9635._0x293e8f,0x15ee)](Math['cos'](this['b0'])*Math[_0x12edf7(0x45c,0x575)](_0x5b94bd)+Math[_0x5613fd(0xf2a,_0x1d9635._0x4e8d45)](this['b0'])*Math[_0x12edf7(_0x1d9635._0x5d2534,0x1855)](_0x5b94bd)*Math['cos'](_0x51c85e)),_0x361b24=Math[_0x5613fd(0xcb0,0xa6c)](Math['sin'](_0x51c85e)/(Math['cos'](this['b0'])*Math['cos'](_0x51c85e)-Math['sin'](this['b0'])*Math['tan'](_0x5b94bd))),_0x53a36c=this[_0x5613fd(_0x1d9635._0x324347,0xf6e)]+_0x361b24/this['alpha'],_0xab895a=0x0,_0x1fbb97=_0xec047a,_0x224b62=-0x3e8,_0x5b64e3=0x0;function _0x5613fd(_0x48c045,_0xd54b56){return _0x7afdbe(_0x48c045,_0xd54b56-0x63);}function _0x12edf7(_0x1cd94d,_0x3c3b68){return _0x7afdbe(_0x1cd94d,_0x3c3b68- -0x12d);}while(Math[_0x12edf7(_0x1d9635._0x1f94fa,_0x1d9635._0x2f0812)](_0x1fbb97-_0x224b62)>1e-7){if(++_0x5b64e3>0x14)return;_0xab895a=0x1/this[_0x5613fd(0x742,_0x1d9635._0x544231)]*(Math['log'](Math[_0x5613fd(0xd0e,_0x1d9635._0x30c1c3)](Math['PI']/0x4+_0xec047a/0x2))-this['K'])+this['e']*Math['log'](Math[_0x5613fd(_0x1d9635._0x2bf993,_0x1d9635._0x1eaecf)](Math['PI']/0x4+Math['asin'](this['e']*Math['sin'](_0x1fbb97))/0x2)),_0x224b62=_0x1fbb97,_0x1fbb97=0x2*Math[_0x5613fd(0xe7f,0xa6c)](Math['exp'](_0xab895a))-Math['PI']/0x2;}return _0x2c54ff['x']=_0x53a36c,_0x2c54ff['y']=_0x1fbb97,_0x2c54ff;}var names$n=['somerc'];const _0x352eed={};_0x352eed['init']=init$n,_0x352eed[_0x54a7f1(0x11d5,0x11eb)]=forward$n,_0x352eed['inverse']=inverse$n,_0x352eed['names']=names$n;var somerc=_0x352eed,TOL=1e-7;function isTypeA(_0x4a8eff){const _0x5c8f6b={_0x18adb0:0x1dbf,_0x84921c:0xffa,_0x1ed950:0xae0,_0x3667f7:0x721,_0x3c634b:0xc0d};function _0x4d8fd5(_0x3824f6,_0x230d67){return _0x7afdbe(_0x230d67,_0x3824f6-0x46);}var _0x548005=[_0x4d8fd5(0x19b5,_0x5c8f6b._0x18adb0),'Hotine_Oblique_Mercator_Azimuth_Natural_Origin'];function _0x31cace(_0x1e03a4,_0xfcb654){return _0x54a7f1(_0x1e03a4-0x172,_0xfcb654);}var _0x24c093=typeof _0x4a8eff['PROJECTION']===_0x31cace(_0x5c8f6b._0x84921c,0x135d)?Object['keys'](_0x4a8eff[_0x4d8fd5(_0x5c8f6b._0x1ed950,0x920)])[0x0]:_0x4a8eff['PROJECTION'];return'no_uoff'in _0x4a8eff||'no_off'in _0x4a8eff||_0x548005[_0x31cace(_0x5c8f6b._0x3667f7,_0x5c8f6b._0x3c634b)](_0x24c093)!==-0x1;}function init$m(){const _0x37d1ec={_0x5ffcd0:0x1645,_0x389a77:0x56e,_0x15b499:0x98f,_0x1497c3:0x14d2,_0x31d84d:0x248,_0x1fb84e:0x9d6,_0x52e6f4:0x12f0,_0x8c040e:0x698,_0x255949:0x1480,_0x42d0bc:0x1763,_0x4791cd:0x1036,_0x3e79af:0xf9c,_0x513a5c:0x1904,_0x4399ab:0xe54,_0x19ca4b:0xb45,_0x4316b7:0x4c4,_0x1c0c09:0xe0,_0x34e648:0x1493,_0x2a245b:0x60c,_0x57797e:0x151b,_0x1338ab:0x18ec,_0x14255c:0xc7a,_0x299f01:0xd76,_0x586314:0xf95,_0x146b4b:0x82b,_0x1f7647:0x17a4,_0x4b228d:0xeee,_0x5ab991:0x1100},_0x4e3598={_0x4d3259:0x1de};var _0x2a068d,_0xba6525,_0x333847,_0x18e3b3,_0x5db70e,_0x49e58b,_0x37ae05,_0x4df250,_0x15e4a0,_0x53b848,_0x1c82ee=0x0,_0x539cb2,_0xbaeb35=0x0,_0x2d9d08=0x0,_0x3d0fec=0x0,_0x4895e3=0x0,_0x31ed71=0x0,_0x2dc72d=0x0;this[_0x318be7(0x1599,_0x37d1ec._0x5ffcd0)]=isTypeA(this),this['no_rot']='no_rot'in this;var _0x183bcc=![];_0x46d78a(_0x37d1ec._0x389a77,_0x37d1ec._0x15b499)in this&&(_0x183bcc=!![]);var _0x1cc8bc=![];_0x318be7(0x1684,_0x37d1ec._0x1497c3)in this&&(_0x1cc8bc=!![]);_0x183bcc&&(_0x2dc72d=this[_0x46d78a(0x56e,_0x37d1ec._0x31d84d)]);_0x1cc8bc&&(_0x1c82ee=this['rectified_grid_angle']*D2R$1);if(_0x183bcc||_0x1cc8bc)_0xbaeb35=this['longc'];else{_0x2d9d08=this[_0x318be7(0x2b4,0x708)],_0x4895e3=this['lat1'],_0x3d0fec=this['long2'],_0x31ed71=this[_0x318be7(_0x37d1ec._0x1fb84e,_0x37d1ec._0x52e6f4)];if(Math[_0x318be7(_0x37d1ec._0x8c040e,0x1122)](_0x4895e3-_0x31ed71)<=TOL||(_0x2a068d=Math[_0x46d78a(0x126a,_0x37d1ec._0x255949)](_0x4895e3))<=TOL||Math['abs'](_0x2a068d-HALF_PI)<=TOL||Math['abs'](Math[_0x318be7(0x178f,0x1122)](this['lat0'])-HALF_PI)<=TOL||Math['abs'](Math[_0x318be7(_0x37d1ec._0x42d0bc,0x1122)](_0x31ed71)-HALF_PI)<=TOL)throw new Error();}var _0x563333=0x1-this['es'];_0xba6525=Math['sqrt'](_0x563333);Math['abs'](this['lat0'])>EPSLN?(_0x4df250=Math['sin'](this['lat0']),_0x333847=Math['cos'](this[_0x46d78a(_0x37d1ec._0x4791cd,0x11e6)]),_0x2a068d=0x1-this['es']*_0x4df250*_0x4df250,this['B']=_0x333847*_0x333847,this['B']=Math[_0x46d78a(_0x37d1ec._0x3e79af,0x187d)](0x1+this['es']*this['B']*this['B']/_0x563333),this['A']=this['B']*this['k0']*_0xba6525/_0x2a068d,_0x18e3b3=this['B']*_0xba6525/(_0x333847*Math[_0x318be7(_0x37d1ec._0x513a5c,_0x37d1ec._0x4399ab)](_0x2a068d)),_0x5db70e=_0x18e3b3*_0x18e3b3-0x1,_0x5db70e<=0x0?_0x5db70e=0x0:(_0x5db70e=Math[_0x46d78a(0xf9c,0x195d)](_0x5db70e),this['lat0']<0x0&&(_0x5db70e=-_0x5db70e)),this['E']=_0x5db70e+=_0x18e3b3,this['E']*=Math['pow'](tsfnz(this['e'],this['lat0'],_0x4df250),this['B'])):(this['B']=0x1/_0xba6525,this['A']=this['k0'],this['E']=_0x18e3b3=_0x5db70e=0x1);if(_0x183bcc||_0x1cc8bc)_0x183bcc?(_0x539cb2=Math['asin'](Math['sin'](_0x2dc72d)/_0x18e3b3),!_0x1cc8bc&&(_0x1c82ee=_0x2dc72d)):(_0x539cb2=_0x1c82ee,_0x2dc72d=Math[_0x318be7(_0x37d1ec._0x19ca4b,0x13ad)](_0x18e3b3*Math[_0x318be7(0xe46,_0x37d1ec._0x4316b7)](_0x539cb2))),this[_0x318be7(-_0x37d1ec._0x1c0c09,0x3fb)]=_0xbaeb35-Math[_0x318be7(0xbb0,0x13ad)](0.5*(_0x5db70e-0x1/_0x5db70e)*Math['tan'](_0x539cb2))/this['B'];else{_0x49e58b=Math['pow'](tsfnz(this['e'],_0x4895e3,Math['sin'](_0x4895e3)),this['B']),_0x37ae05=Math['pow'](tsfnz(this['e'],_0x31ed71,Math['sin'](_0x31ed71)),this['B']),_0x5db70e=this['E']/_0x49e58b,_0x15e4a0=(_0x37ae05-_0x49e58b)/(_0x37ae05+_0x49e58b),_0x53b848=this['E']*this['E'],_0x53b848=(_0x53b848-_0x37ae05*_0x49e58b)/(_0x53b848+_0x37ae05*_0x49e58b),_0x2a068d=_0x2d9d08-_0x3d0fec;if(_0x2a068d<-Math['pi'])_0x3d0fec-=TWO_PI;else _0x2a068d>Math['pi']&&(_0x3d0fec+=TWO_PI);this['lam0']=adjust_lon(0.5*(_0x2d9d08+_0x3d0fec)-Math['atan'](_0x53b848*Math[_0x318be7(0x1e9c,0x14c3)](0.5*this['B']*(_0x2d9d08-_0x3d0fec))/_0x15e4a0)/this['B']),_0x539cb2=Math[_0x46d78a(0x973,0x5a)](0x2*Math['sin'](this['B']*adjust_lon(_0x2d9d08-this['lam0']))/(_0x5db70e-0x1/_0x5db70e)),_0x1c82ee=_0x2dc72d=Math['asin'](_0x18e3b3*Math[_0x318be7(-0x1f7,0x4c4)](_0x539cb2));}this['singam']=Math['sin'](_0x539cb2),this['cosgam']=Math['cos'](_0x539cb2);function _0x318be7(_0x4bed18,_0x10e9b3){return _0x7afdbe(_0x4bed18,_0x10e9b3- -_0x4e3598._0x4d3259);}this[_0x46d78a(0x1396,_0x37d1ec._0x34e648)]=Math[_0x46d78a(_0x37d1ec._0x2a245b,-0x31)](_0x1c82ee),this[_0x318be7(0x19c1,_0x37d1ec._0x57797e)]=Math[_0x46d78a(_0x37d1ec._0x1338ab,0x1d57)](_0x1c82ee),this['rB']=0x1/this['B'],this['ArB']=this['A']*this['rB'],this['BrA']=0x1/this[_0x46d78a(_0x37d1ec._0x14255c,_0x37d1ec._0x299f01)];function _0x46d78a(_0x130836,_0x288308){return _0x54a7f1(_0x130836-0x198,_0x288308);}this['A']*this['B'],this[_0x318be7(0x1d8a,0x1645)]?this[_0x46d78a(0xa1e,0x579)]=0x0:(this[_0x46d78a(0xa1e,0x23b)]=Math[_0x318be7(0x1baa,0x1122)](this['ArB']*Math[_0x318be7(_0x37d1ec._0x586314,_0x37d1ec._0x146b4b)](Math['sqrt'](_0x18e3b3*_0x18e3b3-0x1)/Math[_0x318be7(0x15fd,_0x37d1ec._0x1f7647)](_0x2dc72d))),this[_0x318be7(0x1583,_0x37d1ec._0x4b228d)]<0x0&&(this['u_0']=-this[_0x318be7(0x458,0x8d6)])),_0x5db70e=0.5*_0x539cb2,this['v_pole_n']=this['ArB']*Math[_0x46d78a(0x15e2,_0x37d1ec._0x5ab991)](Math[_0x318be7(0x1b94,0x14c3)](FORTPI-_0x5db70e)),this[_0x318be7(0x1488,0x1251)]=this['ArB']*Math['log'](Math['tan'](FORTPI+_0x5db70e));}function forward$m(_0x111c26){const _0x54fdd4={_0x110934:0x4,_0x476608:0x168b,_0x2d7b02:0x925,_0x3fa29d:0x120b,_0x3bc5f1:0x577,_0x5871e0:0x18ac,_0x3019f0:0x1517,_0x1c7cc3:0x83c,_0x26ace6:0x7c9,_0x6d8ce6:0x13f8,_0x112041:0xa37,_0x4b38c3:0x1356};function _0x40e308(_0x87b3fa,_0x372171){return _0x54a7f1(_0x87b3fa-0x158,_0x372171);}var _0x195d74={},_0x57c84a,_0x750f42,_0x246af4,_0x343b9b,_0x80c5e5,_0x2e32d9,_0x4f6166,_0x1bafb0;_0x111c26['x']=_0x111c26['x']-this[_0x40e308(0x503,-_0x54fdd4._0x110934)];if(Math[_0x40e308(0x122a,_0x54fdd4._0x476608)](Math['abs'](_0x111c26['y'])-HALF_PI)>EPSLN){_0x80c5e5=this['E']/Math['pow'](tsfnz(this['e'],_0x111c26['y'],Math['sin'](_0x111c26['y'])),this['B']),_0x2e32d9=0x1/_0x80c5e5,_0x57c84a=0.5*(_0x80c5e5-_0x2e32d9),_0x750f42=0.5*(_0x80c5e5+_0x2e32d9),_0x343b9b=Math[_0x1c10c6(0x451,0x6e5)](this['B']*_0x111c26['x']),_0x246af4=(_0x57c84a*this[_0x40e308(_0x54fdd4._0x2d7b02,0x11f)]-_0x343b9b*this['cosgam'])/_0x750f42;if(Math[_0x1c10c6(0x10af,_0x54fdd4._0x3fa29d)](Math['abs'](_0x246af4)-0x1)<EPSLN)throw new Error();_0x1bafb0=0.5*this[_0x1c10c6(0xabf,_0x54fdd4._0x3bc5f1)]*Math[_0x1c10c6(0x1427,0x177f)]((0x1-_0x246af4)/(0x1+_0x246af4)),_0x2e32d9=Math[_0x40e308(_0x54fdd4._0x5871e0,_0x54fdd4._0x3019f0)](this['B']*_0x111c26['x']),Math['abs'](_0x2e32d9)<TOL?_0x4f6166=this['A']*_0x111c26['x']:_0x4f6166=this[_0x1c10c6(0xabf,_0x54fdd4._0x1c7cc3)]*Math[_0x40e308(0x602,_0x54fdd4._0x26ace6)](_0x57c84a*this['cosgam']+_0x343b9b*this['singam'],_0x2e32d9);}else _0x1bafb0=_0x111c26['y']>0x0?this[_0x40e308(0xe03,0x57e)]:this['v_pole_s'],_0x4f6166=this['ArB']*_0x111c26['y'];this[_0x1c10c6(_0x54fdd4._0x6d8ce6,_0x54fdd4._0x112041)]?(_0x195d74['x']=_0x4f6166,_0x195d74['y']=_0x1bafb0):(_0x4f6166-=this['u_0'],_0x195d74['x']=_0x1bafb0*this['cosrot']+_0x4f6166*this[_0x40e308(_0x54fdd4._0x4b38c3,0x1a98)],_0x195d74['y']=_0x4f6166*this['cosrot']-_0x1bafb0*this['sinrot']);_0x195d74['x']=this['a']*_0x195d74['x']+this['x0'],_0x195d74['y']=this['a']*_0x195d74['y']+this['y0'];function _0x1c10c6(_0xff76a7,_0x5b52bd){return _0x7afdbe(_0x5b52bd,_0xff76a7- -0x251);}return _0x195d74;}function inverse$m(_0x2454f8){const _0x5cfe98={_0x49a3cf:0xb8d,_0x5ba03a:0x11bb,_0x5958f5:0x345,_0x423e88:0xb80,_0x1d2aa5:0x1005,_0x4f55dc:0x37c,_0x15f616:0xba4,_0x9c669a:0x3b4,_0x3831fa:0x24a,_0x520095:0x17ae,_0xb7192:0xce3,_0x152dfc:0x10c1};var _0x3af3e8,_0x1fdef4,_0x2ccfb0,_0x52a32a,_0x3ac326,_0x127a2d,_0x14f4bf,_0x14dfcd={};function _0x26a071(_0x144dcf,_0x540189){return _0x7afdbe(_0x144dcf,_0x540189- -0x48e);}function _0x370986(_0x39edf6,_0x2ab78a){return _0x7afdbe(_0x2ab78a,_0x39edf6- -0x2fb);}_0x2454f8['x']=(_0x2454f8['x']-this['x0'])*(0x1/this['a']),_0x2454f8['y']=(_0x2454f8['y']-this['y0'])*(0x1/this['a']);this[_0x26a071(_0x5cfe98._0x49a3cf,_0x5cfe98._0x5ba03a)]?(_0x1fdef4=_0x2454f8['y'],_0x3af3e8=_0x2454f8['x']):(_0x1fdef4=_0x2454f8['x']*this['cosrot']-_0x2454f8['y']*this['sinrot'],_0x3af3e8=_0x2454f8['y']*this['cosrot']+_0x2454f8['x']*this['sinrot']+this['u_0']);_0x2ccfb0=Math[_0x370986(0x193,_0x5cfe98._0x5958f5)](-this[_0x370986(0x1254,0x972)]*_0x1fdef4),_0x52a32a=0.5*(_0x2ccfb0-0x1/_0x2ccfb0),_0x3ac326=0.5*(_0x2ccfb0+0x1/_0x2ccfb0),_0x127a2d=Math['sin'](this['BrA']*_0x3af3e8),_0x14f4bf=(_0x127a2d*this['cosgam']+_0x52a32a*this[_0x26a071(_0x5cfe98._0x423e88,0x56d)])/_0x3ac326;if(Math[_0x370986(_0x5cfe98._0x1d2aa5,0x19fe)](Math['abs'](_0x14f4bf)-0x1)<EPSLN)_0x14dfcd['x']=0x0,_0x14dfcd['y']=_0x14f4bf<0x0?-HALF_PI:HALF_PI;else{_0x14dfcd['y']=this['E']/Math[_0x26a071(_0x5cfe98._0x4f55dc,_0x5cfe98._0x15f616)]((0x1+_0x14f4bf)/(0x1-_0x14f4bf)),_0x14dfcd['y']=phi2z(this['e'],Math['pow'](_0x14dfcd['y'],0x1/this['B']));if(_0x14dfcd['y']===Infinity)throw new Error();_0x14dfcd['x']=-this['rB']*Math[_0x26a071(_0x5cfe98._0x9c669a,_0x5cfe98._0x3831fa)](_0x52a32a*this[_0x370986(0x15f4,_0x5cfe98._0x520095)]-_0x127a2d*this[_0x26a071(_0x5cfe98._0xb7192,0x56d)],Math['cos'](this[_0x26a071(0xe3e,_0x5cfe98._0x152dfc)]*_0x3af3e8));}return _0x14dfcd['x']+=this['lam0'],_0x14dfcd;}var names$m=['Hotine_Oblique_Mercator',_0x7afdbe(0x7c6,0x7c0),'Hotine_Oblique_Mercator_Azimuth_Natural_Origin','Hotine_Oblique_Mercator_Two_Point_Natural_Origin','Hotine_Oblique_Mercator_Azimuth_Center',_0x54a7f1(0xdc0,0x164c),'omerc'];const _0x2bbf98={};_0x2bbf98['init']=init$m,_0x2bbf98['forward']=forward$m,_0x2bbf98['inverse']=inverse$m,_0x2bbf98[_0x54a7f1(0x7b2,0xc48)]=names$m;var omerc=_0x2bbf98;function init$l(){const _0x87f8e0={_0x118447:0x143f,_0x20d304:0x127e,_0x2f78a5:0x965,_0x52c894:0x1271,_0x13538d:0xe2e,_0x277d69:0x162a,_0x369e83:0xc1f},_0x278f73={_0x46d8a9:0x19f};!this['lat2']&&(this['lat2']=this['lat1']);!this['k0']&&(this['k0']=0x1);this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0;if(Math['abs'](this['lat1']+this[_0x464174(_0x87f8e0._0x118447,0xdf6)])<EPSLN)return;var _0x44dbbd=this['b']/this['a'];this['e']=Math['sqrt'](0x1-_0x44dbbd*_0x44dbbd);var _0x3b7df5=Math['sin'](this[_0x2ab9f0(_0x87f8e0._0x20d304,0x9ff)]);function _0x464174(_0x553a52,_0x19321e){return _0x54a7f1(_0x553a52-_0x278f73._0x46d8a9,_0x19321e);}var _0x4a1ed6=Math['cos'](this['lat1']),_0x3e8ec3=msfnz(this['e'],_0x3b7df5,_0x4a1ed6),_0x35ef13=tsfnz(this['e'],this['lat1'],_0x3b7df5),_0x27a550=Math['sin'](this['lat2']),_0x339bb7=Math['cos'](this['lat2']),_0x4d1272=msfnz(this['e'],_0x27a550,_0x339bb7),_0x1731b0=tsfnz(this['e'],this['lat2'],_0x27a550),_0x1dc03a=tsfnz(this['e'],this[_0x464174(0x103d,_0x87f8e0._0x2f78a5)],Math['sin'](this['lat0']));function _0x2ab9f0(_0x360081,_0x25eeb3){return _0x7afdbe(_0x25eeb3,_0x360081- -0x4c5);}Math[_0x464174(_0x87f8e0._0x52c894,_0x87f8e0._0x13538d)](this[_0x464174(0x16b4,0xecc)]-this[_0x464174(0x143f,_0x87f8e0._0x277d69)])>EPSLN?this['ns']=Math['log'](_0x3e8ec3/_0x4d1272)/Math['log'](_0x35ef13/_0x1731b0):this['ns']=_0x3b7df5,isNaN(this['ns'])&&(this['ns']=_0x3b7df5),this['f0']=_0x3e8ec3/(this['ns']*Math['pow'](_0x35ef13,this['ns'])),this['rh']=this['a']*this['f0']*Math['pow'](_0x1dc03a,this['ns']),!this['title']&&(this[_0x2ab9f0(_0x87f8e0._0x369e83,0x9af)]='Lambert\x20Conformal\x20Conic');}function forward$l(_0x2d8626){const _0x5d5133={_0x17f189:0x1ba4,_0x4b5fe3:0x5c3},_0x164c8c={_0x455430:0x5c6};function _0x249c3a(_0x3542ca,_0x142b87){return _0x7afdbe(_0x142b87,_0x3542ca- -_0x164c8c._0x455430);}function _0x2868f5(_0x5da6cb,_0x4c263d){return _0x54a7f1(_0x4c263d-0x14f,_0x5da6cb);}var _0x1082ea=_0x2d8626['x'],_0x138810=_0x2d8626['y'];Math['abs'](0x2*Math['abs'](_0x138810)-Math['PI'])<=EPSLN&&(_0x138810=sign(_0x138810)*(HALF_PI-0x2*EPSLN));var _0x1b743c=Math['abs'](Math[_0x2868f5(_0x5d5133._0x17f189,0x1221)](_0x138810)-HALF_PI),_0x2ecf7b,_0x5befc3;if(_0x1b743c>EPSLN)_0x2ecf7b=tsfnz(this['e'],_0x138810,Math[_0x249c3a(0xdc,0x123)](_0x138810)),_0x5befc3=this['a']*this['f0']*Math['pow'](_0x2ecf7b,this['ns']);else{_0x1b743c=_0x138810*this['ns'];if(_0x1b743c<=0x0)return null;_0x5befc3=0x0;}var _0x4b7dfb=this['ns']*adjust_lon(_0x1082ea-this['long0']);return _0x2d8626['x']=this['k0']*(_0x5befc3*Math[_0x2868f5(0x9e5,_0x5d5133._0x4b5fe3)](_0x4b7dfb))+this['x0'],_0x2d8626['y']=this['k0']*(this['rh']-_0x5befc3*Math['cos'](_0x4b7dfb))+this['y0'],_0x2d8626;}function inverse$l(_0x14496c){const _0x34e4af={_0xb7de77:0xc0};function _0x3d8f91(_0x39ed65,_0x3a3e19){return _0x7afdbe(_0x39ed65,_0x3a3e19- -0x415);}var _0x485781,_0xc33669,_0x13e40b,_0x30b963,_0x1be66a,_0x3197f7=(_0x14496c['x']-this['x0'])/this['k0'],_0xb2003e=this['rh']-(_0x14496c['y']-this['y0'])/this['k0'];this['ns']>0x0?(_0x485781=Math['sqrt'](_0x3197f7*_0x3197f7+_0xb2003e*_0xb2003e),_0xc33669=0x1):(_0x485781=-Math['sqrt'](_0x3197f7*_0x3197f7+_0xb2003e*_0xb2003e),_0xc33669=-0x1);var _0x4992cb=0x0;_0x485781!==0x0&&(_0x4992cb=Math[_0x3d8f91(-_0x34e4af._0xb7de77,0x2c3)](_0xc33669*_0x3197f7,_0xc33669*_0xb2003e));if(_0x485781!==0x0||this['ns']>0x0){_0xc33669=0x1/this['ns'],_0x13e40b=Math['pow'](_0x485781/(this['a']*this['f0']),_0xc33669),_0x30b963=phi2z(this['e'],_0x13e40b);if(_0x30b963===-0x270f)return null;}else _0x30b963=-HALF_PI;return _0x1be66a=adjust_lon(_0x4992cb/this['ns']+this['long0']),_0x14496c['x']=_0x1be66a,_0x14496c['y']=_0x30b963,_0x14496c;}var names$l=['Lambert\x20Tangential\x20Conformal\x20Conic\x20Projection',_0x54a7f1(0x5a6,0xa95),'Lambert_Conformal_Conic_1SP',_0x54a7f1(0x101d,0xd97),'lcc',_0x54a7f1(0xf3e,0x1237),'Lambert\x20Conic\x20Conformal\x20(2SP)'];const _0x530d14={};_0x530d14['init']=init$l,_0x530d14['forward']=forward$l,_0x530d14['inverse']=inverse$l,_0x530d14['names']=names$l;var lcc=_0x530d14;function init$k(){const _0x3f88f7={_0x567daf:0x1438,_0xefefd1:0xdb3,_0x4c6d98:0x119b,_0x3eb112:0x12fe,_0x1da995:0xd95,_0x2446be:0x200,_0x1a0e9a:0x2271,_0x3540b1:0x88c,_0x4bcdab:0x2fc,_0x4b5a37:0x7f1,_0x26a0cb:0x580,_0x386e5d:0xdd},_0x15b2ac={_0x45dd01:0x52},_0x2a9081={_0x619671:0x2c3};this['a']=6377397.155,this['es']=0.006674372230614,this['e']=Math['sqrt'](this['es']);!this['lat0']&&(this[_0x547b6e(0xe09,_0x3f88f7._0x567daf)]=0.863937979737193);!this['long0']&&(this[_0x5ce6de(_0x3f88f7._0xefefd1,0x136b)]=0.7417649320975901-0.308341501185665);!this['k0']&&(this['k0']=0.9999);function _0x547b6e(_0x1cc45c,_0x15a5fc){return _0x7afdbe(_0x15a5fc,_0x1cc45c- -_0x2a9081._0x619671);}function _0x5ce6de(_0x4670bb,_0x2a7736){return _0x7afdbe(_0x4670bb,_0x2a7736- -_0x15b2ac._0x45dd01);}this['s45']=0.785398163397448,this[_0x5ce6de(_0x3f88f7._0x4c6d98,_0x3f88f7._0x3eb112)]=0x2*this['s45'],this['fi0']=this['lat0'],this['e2']=this['es'],this['e']=Math[_0x547b6e(0xd6f,_0x3f88f7._0x1da995)](this['e2']),this['alfa']=Math['sqrt'](0x1+this['e2']*Math[_0x547b6e(_0x3f88f7._0x2446be,0x4c4)](Math[_0x5ce6de(_0x3f88f7._0x1a0e9a,0x1930)](this['fi0']),0x4)/(0x1-this['e2'])),this['uq']=1.04216856380474,this['u0']=Math['asin'](Math['sin'](this[_0x5ce6de(0xefb,_0x3f88f7._0x3540b1)])/this[_0x5ce6de(0x1a9,0x7f1)]),this['g']=Math[_0x5ce6de(0x6c1,0x471)]((0x1+this['e']*Math['sin'](this['fi0']))/(0x1-this['e']*Math['sin'](this['fi0'])),this[_0x5ce6de(_0x3f88f7._0x4bcdab,_0x3f88f7._0x4b5a37)]*this['e']/0x2),this['k']=Math['tan'](this['u0']/0x2+this['s45'])/Math['pow'](Math['tan'](this[_0x5ce6de(0x941,0x88c)]/0x2+this['s45']),this[_0x547b6e(_0x3f88f7._0x26a0cb,-_0x3f88f7._0x386e5d)])*this['g'],this['k1']=this['k0'],this['n0']=this['a']*Math['sqrt'](0x1-this['e2'])/(0x1-this['e2']*Math['pow'](Math['sin'](this['fi0']),0x2)),this['s0']=1.37008346281555,this['n']=Math['sin'](this['s0']),this['ro0']=this['k1']*this['n0']/Math['tan'](this['s0']),this['ad']=this['s90']-this['uq'];}function forward$k(_0x253d9c){const _0x448fb3={_0x47e5f2:0xc,_0x259152:0x61d,_0x51f90c:0x20f,_0x392f79:0x7be,_0x39b059:0x445,_0x1019b5:0x5e9,_0x13bd8d:0x1232,_0x3e4352:0x6d9,_0x1df7cc:0x1629,_0x17c156:0x1c28,_0x1e4bd3:0x5e9,_0x597032:0x390},_0x48c62a={_0x5c3c48:0x1a9};var _0x3948b6,_0x5ef53d,_0xddf093,_0x2bf1a8,_0x16869a,_0x257953,_0x4f6d2b,_0x5458bd=_0x253d9c['x'],_0x468253=_0x253d9c['y'],_0x342428=adjust_lon(_0x5458bd-this['long0']);_0x3948b6=Math[_0xb743db(0x6f0,0x43e)]((0x1+this['e']*Math['sin'](_0x468253))/(0x1-this['e']*Math[_0xb743db(_0x448fb3._0x47e5f2,_0x448fb3._0x259152)](_0x468253)),this[_0xb743db(_0x448fb3._0x51f90c,_0x448fb3._0x392f79)]*this['e']/0x2),_0x5ef53d=0x2*(Math[_0x44b530(_0x448fb3._0x39b059,0x6b0)](this['k']*Math['pow'](Math[_0x44b530(0x1ddf,0x1348)](_0x468253/0x2+this['s45']),this['alfa'])/_0x3948b6)-this[_0xb743db(-0x3a9,_0x448fb3._0x1019b5)]),_0xddf093=-_0x342428*this['alfa'],_0x2bf1a8=Math[_0x44b530(0xbc7,_0x448fb3._0x13bd8d)](Math[_0xb743db(0x1189,0x18fd)](this['ad'])*Math['sin'](_0x5ef53d)+Math[_0x44b530(-_0x448fb3._0x3e4352,0x349)](this['ad'])*Math['cos'](_0x5ef53d)*Math[_0x44b530(0x11f8,_0x448fb3._0x1df7cc)](_0xddf093));function _0x44b530(_0xa64a43,_0x363544){return _0x7afdbe(_0xa64a43,_0x363544- -0x359);}function _0xb743db(_0x48b98c,_0x28f789){return _0x54a7f1(_0x28f789-_0x48c62a._0x5c3c48,_0x48b98c);}return _0x16869a=Math['asin'](Math[_0xb743db(_0x448fb3._0x17c156,0x18fd)](_0x5ef53d)*Math['sin'](_0xddf093)/Math[_0x44b530(0x1293,0x1629)](_0x2bf1a8)),_0x257953=this['n']*_0x16869a,_0x4f6d2b=this['ro0']*Math['pow'](Math[_0xb743db(0x14cc,0x161c)](this['s0']/0x2+this['s45']),this['n'])/Math['pow'](Math['tan'](_0x2bf1a8/0x2+this[_0xb743db(0x4dc,_0x448fb3._0x1e4bd3)]),this['n']),_0x253d9c['y']=_0x4f6d2b*Math['cos'](_0x257953)/0x1,_0x253d9c['x']=_0x4f6d2b*Math['sin'](_0x257953)/0x1,!this[_0x44b530(0xa5c,_0x448fb3._0x597032)]&&(_0x253d9c['y']*=-0x1,_0x253d9c['x']*=-0x1),_0x253d9c;}function inverse$k(_0x55aeab){const _0x1604d0={_0x39997a:0x155e,_0x1aca5d:0x1999,_0x554349:0x1160,_0x422cd4:0x1260,_0x4a364c:0x17dd,_0x46ca2e:0x418,_0x7672aa:0xe36,_0x3c403e:0xed5};var _0x560a3d,_0x45fa70,_0xcdfbee,_0x189905,_0x365d0e,_0x3aaaa7,_0x4b0efe;function _0x5e7f55(_0xa2b5aa,_0x57d530){return _0x7afdbe(_0xa2b5aa,_0x57d530- -0x1a5);}var _0x10d21a,_0x344304=_0x55aeab['x'];_0x55aeab['x']=_0x55aeab['y'],_0x55aeab['y']=_0x344304;!this[_0x251ac0(-0x75,0x2be)]&&(_0x55aeab['y']*=-0x1,_0x55aeab['x']*=-0x1);_0x3aaaa7=Math['sqrt'](_0x55aeab['x']*_0x55aeab['x']+_0x55aeab['y']*_0x55aeab['y']),_0x365d0e=Math['atan2'](_0x55aeab['y'],_0x55aeab['x']);function _0x251ac0(_0x1fc49c,_0x319541){return _0x7afdbe(_0x1fc49c,_0x319541- -0x42b);}_0x189905=_0x365d0e/Math['sin'](this['s0']),_0xcdfbee=0x2*(Math['atan'](Math[_0x251ac0(0x922,0x98)](this['ro0']/_0x3aaaa7,0x1/this['n'])*Math[_0x251ac0(_0x1604d0._0x39997a,0x1276)](this['s0']/0x2+this['s45']))-this[_0x251ac0(-0x4d9,0x243)]),_0x560a3d=Math[_0x251ac0(_0x1604d0._0x1aca5d,_0x1604d0._0x554349)](Math['cos'](this['ad'])*Math['sin'](_0xcdfbee)-Math['sin'](this['ad'])*Math[_0x5e7f55(0x134b,0x17dd)](_0xcdfbee)*Math['cos'](_0x189905)),_0x45fa70=Math[_0x251ac0(0xdba,0x1160)](Math['cos'](_0xcdfbee)*Math['sin'](_0x189905)/Math[_0x5e7f55(_0x1604d0._0x422cd4,_0x1604d0._0x4a364c)](_0x560a3d)),_0x55aeab['x']=this['long0']-_0x45fa70/this[_0x251ac0(-0x5ec,_0x1604d0._0x46ca2e)],_0x4b0efe=_0x560a3d,_0x10d21a=0x0;var _0x1dc56a=0x0;do{_0x55aeab['y']=0x2*(Math[_0x5e7f55(_0x1604d0._0x7672aa,0x864)](Math['pow'](this['k'],-0x1/this['alfa'])*Math['pow'](Math['tan'](_0x560a3d/0x2+this['s45']),0x1/this[_0x5e7f55(0xfdb,0x69e)])*Math[_0x251ac0(0x1c1,0x98)]((0x1+this['e']*Math['sin'](_0x4b0efe))/(0x1-this['e']*Math[_0x251ac0(0xb4b,0x277)](_0x4b0efe)),this['e']/0x2))-this['s45']),Math[_0x251ac0(0x1456,_0x1604d0._0x3c403e)](_0x4b0efe-_0x55aeab['y'])<1e-10&&(_0x10d21a=0x1),_0x4b0efe=_0x55aeab['y'],_0x1dc56a+=0x1;}while(_0x10d21a===0x0&&_0x1dc56a<0xf);if(_0x1dc56a>=0xf)return null;return _0x55aeab;}var names$k=['Krovak',_0x7afdbe(0xe31,0x5ed)];const _0x38c3b7={};_0x38c3b7['init']=init$k,_0x38c3b7['forward']=forward$k,_0x38c3b7['inverse']=inverse$k,_0x38c3b7['names']=names$k;var krovak=_0x38c3b7;function mlfn(_0x1443ff,_0x2364a1,_0x36764c,_0x1c0e00,_0x398169){const _0x14fe4e={_0x213687:0x5fe};function _0x40c40c(_0xfc98e3,_0x33eaa0){return _0x7afdbe(_0xfc98e3,_0x33eaa0- -0x60a);}return _0x1443ff*_0x398169-_0x2364a1*Math['sin'](0x2*_0x398169)+_0x36764c*Math[_0x40c40c(-_0x14fe4e._0x213687,0x98)](0x4*_0x398169)-_0x1c0e00*Math['sin'](0x6*_0x398169);}function e0fn(_0x1f4f63){return 0x1-0.25*_0x1f4f63*(0x1+_0x1f4f63/0x10*(0x3+1.25*_0x1f4f63));}function e1fn(_0xe1b40e){return 0.375*_0xe1b40e*(0x1+0.25*_0xe1b40e*(0x1+0.46875*_0xe1b40e));}function e2fn(_0xf2906d){return 0.05859375*_0xf2906d*_0xf2906d*(0x1+0.75*_0xf2906d);}function e3fn(_0x351780){return _0x351780*_0x351780*_0x351780*(0x23/0xc00);}function gN(_0x21672f,_0x303223,_0x342503){var _0x2c89a1=_0x303223*_0x342503;return _0x21672f/Math['sqrt'](0x1-_0x2c89a1*_0x2c89a1);}function adjust_lat(_0x132715){const _0x2bc668={_0x59984f:0x265};function _0x1232de(_0x261db2,_0x2d71ac){return _0x54a7f1(_0x261db2-_0x2bc668._0x59984f,_0x2d71ac);}return Math[_0x1232de(0x1337,0xd65)](_0x132715)<HALF_PI?_0x132715:_0x132715-sign(_0x132715)*Math['PI'];}function imlfn(_0x10cb9c,_0x2c34ea,_0x3c2a03,_0x22a9d3,_0x1f4cad){const _0x29326c={_0x1092a8:0x1ca,_0x22f3f9:0x384};var _0x2c24b1,_0x3486cc;_0x2c24b1=_0x10cb9c/_0x2c34ea;function _0x398473(_0x3ee87b,_0x300076){return _0x54a7f1(_0x300076- -0xf0,_0x3ee87b);}function _0x2ad1b7(_0x7b7749,_0x2ded0e){return _0x54a7f1(_0x7b7749- -0x335,_0x2ded0e);}for(var _0x137b58=0x0;_0x137b58<0xf;_0x137b58++){_0x3486cc=(_0x10cb9c-(_0x2c34ea*_0x2c24b1-_0x3c2a03*Math[_0x398473(-_0x29326c._0x1092a8,0x384)](0x2*_0x2c24b1)+_0x22a9d3*Math['sin'](0x4*_0x2c24b1)-_0x1f4cad*Math[_0x398473(-0xd9,_0x29326c._0x22f3f9)](0x6*_0x2c24b1)))/(_0x2c34ea-0x2*_0x3c2a03*Math['cos'](0x2*_0x2c24b1)+0x4*_0x22a9d3*Math['cos'](0x4*_0x2c24b1)-0x6*_0x1f4cad*Math['cos'](0x6*_0x2c24b1)),_0x2c24b1+=_0x3486cc;if(Math[_0x2ad1b7(0xd9d,0x16b8)](_0x3486cc)<=1e-10)return _0x2c24b1;}return NaN;}function init$j(){!this['sphere']&&(this['e0']=e0fn(this['es']),this['e1']=e1fn(this['es']),this['e2']=e2fn(this['es']),this['e3']=e3fn(this['es']),this['ml0']=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this['lat0']));}function forward$j(_0x234c50){const _0xeb8707={_0x432e83:0x1105,_0x18ff2a:0x12f8,_0x130cc6:0x1761,_0x54ba37:0x12af,_0x2fff8b:0xa6b},_0x5b44e3={_0x53d385:0x4a5};var _0x278b07,_0x3f154d,_0x3520b4=_0x234c50['x'],_0x1c2c53=_0x234c50['y'];function _0x2ca4fa(_0xe5cb1f,_0x5a2f42){return _0x54a7f1(_0xe5cb1f- -_0x5b44e3._0x53d385,_0x5a2f42);}_0x3520b4=adjust_lon(_0x3520b4-this[_0x2ca4fa(0xcea,_0xeb8707._0x432e83)]);if(this[_0xc3be9c(0x8b7,0xb0a)])_0x278b07=this['a']*Math['asin'](Math['cos'](_0x1c2c53)*Math['sin'](_0x3520b4)),_0x3f154d=this['a']*(Math['atan2'](Math['tan'](_0x1c2c53),Math['cos'](_0x3520b4))-this['lat0']);else{var _0x2f41b2=Math['sin'](_0x1c2c53),_0x4ec70e=Math['cos'](_0x1c2c53),_0x1bf292=gN(this['a'],this['e'],_0x2f41b2),_0x499411=Math[_0xc3be9c(_0xeb8707._0x18ff2a,_0xeb8707._0x130cc6)](_0x1c2c53)*Math['tan'](_0x1c2c53),_0x2b9270=_0x3520b4*Math[_0x2ca4fa(_0xeb8707._0x54ba37,0x1013)](_0x1c2c53),_0x58902c=_0x2b9270*_0x2b9270,_0x158237=this['es']*_0x4ec70e*_0x4ec70e/(0x1-this['es']),_0x25b5b6=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0x1c2c53);_0x278b07=_0x1bf292*_0x2b9270*(0x1-_0x58902c*_0x499411*(0x1/0x6-(0x8-_0x499411+0x8*_0x158237)*_0x58902c/0x78)),_0x3f154d=_0x25b5b6-this[_0xc3be9c(_0xeb8707._0x2fff8b,0x7c)]+_0x1bf292*_0x2f41b2/_0x4ec70e*_0x58902c*(0.5+(0x5-_0x499411+0x6*_0x158237)*_0x58902c/0x18);}_0x234c50['x']=_0x278b07+this['x0'];function _0xc3be9c(_0x222087,_0x420a1d){return _0x7afdbe(_0x420a1d,_0x222087- -0x3a9);}return _0x234c50['y']=_0x3f154d+this['y0'],_0x234c50;}function inverse$j(_0x26b31d){const _0x1290db={_0x1a55de:0x11b6,_0x3125a1:0x16ad,_0x5261f9:0x1364,_0x1a9e40:0x156d,_0x19ae91:0x9f3},_0x1eac7a={_0x1548c1:0xa7};_0x26b31d['x']-=this['x0'];function _0x34bcfc(_0x300ba3,_0x3e5386){return _0x54a7f1(_0x3e5386- -0x1e7,_0x300ba3);}_0x26b31d['y']-=this['y0'];var _0x590507=_0x26b31d['x']/this['a'],_0xc146c8=_0x26b31d['y']/this['a'],_0x3a7b1f,_0x48664a;if(this[_0x34bcfc(0xdd1,0x84b)]){var _0x5b1467=_0xc146c8+this['lat0'];_0x3a7b1f=Math[_0x34bcfc(_0x1290db._0x1a55de,0x1176)](Math['sin'](_0x5b1467)*Math[_0x54dfac(_0x1290db._0x3125a1,0x1e84)](_0x590507)),_0x48664a=Math['atan2'](Math['tan'](_0x590507),Math[_0x34bcfc(_0x1290db._0x5261f9,_0x1290db._0x1a9e40)](_0x5b1467));}else{var _0x4b8745=this['ml0']/this['a']+_0xc146c8,_0x4809e1=imlfn(_0x4b8745,this['e0'],this['e1'],this['e2'],this['e3']);if(Math[_0x34bcfc(0xfc7,0xeeb)](Math[_0x34bcfc(0x1002,0xeeb)](_0x4809e1)-HALF_PI)<=EPSLN)return _0x26b31d['x']=this['long0'],_0x26b31d['y']=HALF_PI,_0xc146c8<0x0&&(_0x26b31d['y']*=-0x1),_0x26b31d;var _0x33f65d=gN(this['a'],this['e'],Math[_0x54dfac(0x3cd,_0x1290db._0x19ae91)](_0x4809e1)),_0xbe95bc=_0x33f65d*_0x33f65d*_0x33f65d/this['a']/this['a']*(0x1-this['es']),_0x42bdb2=Math['pow'](Math[_0x34bcfc(0x1ad7,0x128c)](_0x4809e1),0x2),_0x1796b6=_0x590507*this['a']/_0x33f65d,_0x4e939f=_0x1796b6*_0x1796b6;_0x3a7b1f=_0x4809e1-_0x33f65d*Math['tan'](_0x4809e1)/_0xbe95bc*_0x1796b6*_0x1796b6*(0.5-(0x1+0x3*_0x42bdb2)*_0x1796b6*_0x1796b6/0x18),_0x48664a=_0x1796b6*(0x1-_0x4e939f*(_0x42bdb2/0x3+(0x1+0x3*_0x42bdb2)*_0x42bdb2*_0x4e939f/0xf))/Math['cos'](_0x4809e1);}function _0x54dfac(_0x58c9cb,_0x548cf7){return _0x54a7f1(_0x58c9cb- -_0x1eac7a._0x1548c1,_0x548cf7);}return _0x26b31d['x']=adjust_lon(_0x48664a+this[_0x34bcfc(0xff1,0xfa8)]),_0x26b31d['y']=adjust_lat(_0x3a7b1f),_0x26b31d;}var names$j=['Cassini','Cassini_Soldner','cass'];const _0x2364c6={};_0x2364c6[_0x7afdbe(0x10a0,0x182f)]=init$j,_0x2364c6['forward']=forward$j,_0x2364c6['inverse']=inverse$j,_0x2364c6['names']=names$j;var cass=_0x2364c6;function qsfnz(_0x2eddcc,_0x46130d){const _0x422658={_0xd66e4f:0x120f},_0x5c056a={_0x4b7a7d:0x469};var _0x15c49d;function _0x2cac37(_0x1a82a2,_0xa73358){return _0x7afdbe(_0x1a82a2,_0xa73358- -_0x5c056a._0x4b7a7d);}return _0x2eddcc>1e-7?(_0x15c49d=_0x2eddcc*_0x46130d,(0x1-_0x2eddcc*_0x2eddcc)*(_0x46130d/(0x1-_0x15c49d*_0x15c49d)-0.5/_0x2eddcc*Math[_0x2cac37(0x87d,_0x422658._0xd66e4f)]((0x1-_0x15c49d)/(0x1+_0x15c49d)))):0x2*_0x46130d;}var S_POLE=0x1,N_POLE=0x2,EQUIT=0x3,OBLIQ=0x4;function init$i(){const _0x15da54={_0x2ccae7:0xa49,_0x195628:0xa75,_0x232902:0x1284,_0x2367d9:0x4fc,_0x58df0e:0x3a6,_0x605ff5:0x101e,_0x27e2e4:0x14e0,_0x5b2307:0x17bd,_0x20599a:0xfd5,_0x29160d:0xd5a};var _0x395247=Math['abs'](this[_0x3f8f37(0x106f,0x1473)]);function _0x3f8f37(_0xaac138,_0x44be3f){return _0x54a7f1(_0xaac138-0x1d1,_0x44be3f);}if(Math[_0x5a4ad4(0x113b,_0x15da54._0x2ccae7)](_0x395247-HALF_PI)<EPSLN)this[_0x3f8f37(0x664,0x1032)]=this['lat0']<0x0?this[_0x5a4ad4(_0x15da54._0x195628,_0x15da54._0x232902)]:this['N_POLE'];else Math['abs'](_0x395247)<EPSLN?this['mode']=this['EQUIT']:this[_0x5a4ad4(_0x15da54._0x2367d9,0x59d)]=this[_0x3f8f37(0x5a4,_0x15da54._0x58df0e)];function _0x5a4ad4(_0x32fb71,_0x12f1f9){return _0x54a7f1(_0x32fb71-0x69,_0x12f1f9);}if(this['es']>0x0){var _0x2af507;this['qp']=qsfnz(this['e'],0x1),this['mmf']=0.5/(0x1-this['es']),this[_0x3f8f37(0x128a,0xcff)]=authset(this['es']);switch(this['mode']){case this['N_POLE']:this['dd']=0x1;break;case this[_0x3f8f37(0xbdd,_0x15da54._0x605ff5)]:this['dd']=0x1;break;case this['EQUIT']:this['rq']=Math['sqrt'](0.5*this['qp']),this['dd']=0x1/this['rq'],this['xmf']=0x1,this['ymf']=0.5*this['qp'];break;case this['OBLIQ']:this['rq']=Math['sqrt'](0.5*this['qp']),_0x2af507=Math['sin'](this['lat0']),this['sinb1']=qsfnz(this['e'],_0x2af507)/this['qp'],this['cosb1']=Math[_0x3f8f37(0xfd5,_0x15da54._0x27e2e4)](0x1-this['sinb1']*this['sinb1']),this['dd']=Math[_0x5a4ad4(_0x15da54._0x5b2307,0xfac)](this['lat0'])/(Math[_0x3f8f37(_0x15da54._0x20599a,0x1312)](0x1-this['es']*_0x2af507*_0x2af507)*this['rq']*this['cosb1']),this['ymf']=(this['xmf']=this['rq'])/this['dd'],this[_0x5a4ad4(0x1812,0x2020)]*=this['dd'];break;}}else this['mode']===this['OBLIQ']&&(this['sinph0']=Math['sin'](this[_0x5a4ad4(0xf07,_0x15da54._0x29160d)]),this['cosph0']=Math['cos'](this['lat0']));}function forward$i(_0x55f6d1){const _0x56bc51={_0x2ec877:0x18e0,_0x32e805:0x1b9,_0x59c387:0x5ac,_0x22ad2b:0x15df,_0x320267:0x159b,_0x6f8ec7:0x10f9,_0x201530:0x15df,_0x537bee:0x7f2,_0x308cb6:0x263,_0x1db098:0x9fa,_0x3a8e0d:0x279,_0x3715da:0x15df,_0xf5294b:0x12ac,_0xe1304a:0x11f4,_0x1693de:0xbea,_0x5090fe:0x21d,_0x363618:0x7f2,_0x2c0b7e:0xf1d},_0x49fcb7={_0x2e1cde:0x448};var _0x2b8d7c,_0x3eeaa8,_0x2e1a3b,_0x528060,_0x4f63b4,_0x27968a,_0x49754c,_0x1eff03,_0x2a25f0,_0x456880,_0x43705a=_0x55f6d1['x'];function _0x93e36d(_0x310e2d,_0x5a40e6){return _0x7afdbe(_0x310e2d,_0x5a40e6- -0x115);}var _0x1aaeb6=_0x55f6d1['y'];_0x43705a=adjust_lon(_0x43705a-this[_0x93e36d(_0x56bc51._0x2ec877,0x12a8)]);if(this['sphere']){_0x4f63b4=Math['sin'](_0x1aaeb6),_0x456880=Math[_0x3475c2(0x153a,0x162b)](_0x1aaeb6),_0x2e1a3b=Math['cos'](_0x43705a);if(this['mode']===this[_0x3475c2(_0x56bc51._0x32e805,0x54b)]||this[_0x93e36d(0x633,_0x56bc51._0x59c387)]===this['EQUIT']){_0x3eeaa8=this['mode']===this[_0x93e36d(0x17ff,_0x56bc51._0x22ad2b)]?0x1+_0x456880*_0x2e1a3b:0x1+this[_0x3475c2(_0x56bc51._0x320267,_0x56bc51._0x6f8ec7)]*_0x4f63b4+this['cosph0']*_0x456880*_0x2e1a3b;if(_0x3eeaa8<=EPSLN)return null;_0x3eeaa8=Math[_0x3475c2(0xbea,0x4de)](0x2/_0x3eeaa8),_0x2b8d7c=_0x3eeaa8*_0x456880*Math['sin'](_0x43705a),_0x3eeaa8*=this[_0x3475c2(0x279,0x68e)]===this[_0x93e36d(0x1b9e,_0x56bc51._0x201530)]?_0x4f63b4:this['cosph0']*_0x4f63b4-this['sinph0']*_0x456880*_0x2e1a3b;}else{if(this[_0x93e36d(-0xe7,0x5ac)]===this['N_POLE']||this['mode']===this[_0x3475c2(_0x56bc51._0x537bee,_0x56bc51._0x308cb6)]){this['mode']===this[_0x3475c2(_0x56bc51._0x1db098,0xd2b)]&&(_0x2e1a3b=-_0x2e1a3b);if(Math['abs'](_0x1aaeb6+this['lat0'])<EPSLN)return null;_0x3eeaa8=FORTPI-_0x1aaeb6*0.5,_0x3eeaa8=0x2*(this[_0x93e36d(0x593,0x5ac)]===this['S_POLE']?Math['cos'](_0x3eeaa8):Math['sin'](_0x3eeaa8)),_0x2b8d7c=_0x3eeaa8*Math['sin'](_0x43705a),_0x3eeaa8*=_0x2e1a3b;}}}else{_0x49754c=0x0,_0x1eff03=0x0,_0x2a25f0=0x0,_0x2e1a3b=Math['cos'](_0x43705a),_0x528060=Math['sin'](_0x43705a),_0x4f63b4=Math['sin'](_0x1aaeb6),_0x27968a=qsfnz(this['e'],_0x4f63b4);(this[_0x3475c2(_0x56bc51._0x3a8e0d,-0x150)]===this['OBLIQ']||this['mode']===this['EQUIT'])&&(_0x49754c=_0x27968a/this['qp'],_0x1eff03=Math[_0x93e36d(0x79e,0xf1d)](0x1-_0x49754c*_0x49754c));switch(this['mode']){case this['OBLIQ']:_0x2a25f0=0x1+this['sinb1']*_0x49754c+this['cosb1']*_0x1eff03*_0x2e1a3b;break;case this[_0x93e36d(0x14ce,_0x56bc51._0x3715da)]:_0x2a25f0=0x1+_0x1eff03*_0x2e1a3b;break;case this['N_POLE']:_0x2a25f0=HALF_PI+_0x1aaeb6,_0x27968a=this['qp']-_0x27968a;break;case this['S_POLE']:_0x2a25f0=_0x1aaeb6-HALF_PI,_0x27968a=this['qp']+_0x27968a;break;}if(Math[_0x93e36d(0x169e,0x11eb)](_0x2a25f0)<EPSLN)return null;switch(this['mode']){case this['OBLIQ']:case this[_0x3475c2(_0x56bc51._0xf5294b,_0x56bc51._0xe1304a)]:_0x2a25f0=Math[_0x3475c2(_0x56bc51._0x1693de,0xceb)](0x2/_0x2a25f0);this['mode']===this['OBLIQ']?_0x3eeaa8=this['ymf']*_0x2a25f0*(this['cosb1']*_0x49754c-this[_0x3475c2(0x6f7,-_0x56bc51._0x5090fe)]*_0x1eff03*_0x2e1a3b):_0x3eeaa8=(_0x2a25f0=Math['sqrt'](0x2/(0x1+_0x1eff03*_0x2e1a3b)))*_0x49754c*this['ymf'];_0x2b8d7c=this[_0x93e36d(0x22b4,0x18c2)]*_0x2a25f0*_0x1eff03*_0x528060;break;case this['N_POLE']:case this[_0x3475c2(_0x56bc51._0x363618,-0x22b)]:_0x27968a>=0x0?(_0x2b8d7c=(_0x2a25f0=Math[_0x93e36d(0x10f6,_0x56bc51._0x2c0b7e)](_0x27968a))*_0x528060,_0x3eeaa8=_0x2e1a3b*(this['mode']===this[_0x3475c2(0x7f2,0x128d)]?_0x2a25f0:-_0x2a25f0)):_0x2b8d7c=_0x3eeaa8=0x0;break;}}function _0x3475c2(_0xce7661,_0x19d099){return _0x7afdbe(_0x19d099,_0xce7661- -_0x49fcb7._0x2e1cde);}return _0x55f6d1['x']=this['a']*_0x2b8d7c+this['x0'],_0x55f6d1['y']=this['a']*_0x3eeaa8+this['y0'],_0x55f6d1;}function inverse$i(_0x47644b){const _0x1a58bb={_0x2a03dc:0x949,_0x354721:0x13b0,_0x2d027e:0x883,_0x2f8aeb:0x876,_0x47b3be:0x1dcb,_0x56fb9e:0x1689,_0x450dc0:0xfc3,_0xef6e5e:0x597,_0x31e8ab:0x629,_0x592b23:0xb0,_0x536193:0x72d,_0x5de94e:0x5e1,_0x24e3c0:0xdac,_0x2e8c28:0x11ea,_0x315321:0xc9,_0x44a1ad:0x758,_0x5e45a0:0xab8,_0x5e5001:0x831,_0x29f715:0xe2b,_0xc82c14:0x589,_0x402b4a:0xdac,_0x3d39ce:0x9d3,_0x136201:0xf93,_0x4ea981:0x125c,_0x84aa9f:0xdc5},_0x4c8cf1={_0x265de4:0x5f8};function _0x2fea3a(_0x4f9a53,_0x359ed8){return _0x54a7f1(_0x4f9a53- -0x3e3,_0x359ed8);}_0x47644b['x']-=this['x0'],_0x47644b['y']-=this['y0'];function _0x1ccc3e(_0x5a05ce,_0x222668){return _0x7afdbe(_0x5a05ce,_0x222668- -_0x4c8cf1._0x265de4);}var _0x3ab43c=_0x47644b['x']/this['a'],_0x509dbf=_0x47644b['y']/this['a'],_0x217e2b,_0xc3bdc,_0x2d2054,_0x3d9015,_0x8a85ee,_0x41d747,_0x7d527a;if(this['sphere']){var _0xb9c5bc=0x0,_0x48b5d4,_0x1bafea=0x0;_0x48b5d4=Math['sqrt'](_0x3ab43c*_0x3ab43c+_0x509dbf*_0x509dbf),_0xc3bdc=_0x48b5d4*0.5;if(_0xc3bdc>0x1)return null;_0xc3bdc=0x2*Math['asin'](_0xc3bdc);(this['mode']===this[_0x1ccc3e(-0x571,0x9)]||this['mode']===this['EQUIT'])&&(_0x1bafea=Math[_0x2fea3a(0x91,-_0x1a58bb._0x2a03dc)](_0xc3bdc),_0xb9c5bc=Math[_0x2fea3a(0x1371,_0x1a58bb._0x354721)](_0xc3bdc));switch(this['mode']){case this['EQUIT']:_0xc3bdc=Math[_0x1ccc3e(_0x1a58bb._0x2d027e,0xd08)](_0x48b5d4)<=EPSLN?0x0:Math['asin'](_0x509dbf*_0x1bafea/_0x48b5d4),_0x3ab43c*=_0x1bafea,_0x509dbf=_0xb9c5bc*_0x48b5d4;break;case this['OBLIQ']:_0xc3bdc=Math['abs'](_0x48b5d4)<=EPSLN?this['lat0']:Math[_0x2fea3a(0xf7a,_0x1a58bb._0x2f8aeb)](_0xb9c5bc*this[_0x2fea3a(0x13d2,_0x1a58bb._0x47b3be)]+_0x509dbf*_0x1bafea*this[_0x1ccc3e(_0x1a58bb._0x56fb9e,0xfdc)]/_0x48b5d4),_0x3ab43c*=_0x1bafea*this[_0x2fea3a(_0x1a58bb._0x450dc0,0xfdf)],_0x509dbf=(_0xb9c5bc-Math['sin'](_0xc3bdc)*this['sinph0'])*_0x48b5d4;break;case this[_0x1ccc3e(_0x1a58bb._0xef6e5e,0x84a)]:_0x509dbf=-_0x509dbf,_0xc3bdc=HALF_PI-_0xc3bdc;break;case this[_0x2fea3a(_0x1a58bb._0x31e8ab,0xe88)]:_0xc3bdc-=HALF_PI;break;}_0x217e2b=_0x509dbf===0x0&&(this[_0x1ccc3e(0x90b,0xc9)]===this['EQUIT']||this['mode']===this['OBLIQ'])?0x0:Math['atan2'](_0x3ab43c,_0x509dbf);}else{_0x7d527a=0x0;if(this[_0x2fea3a(_0x1a58bb._0x592b23,-_0x1a58bb._0x536193)]===this['OBLIQ']||this[_0x1ccc3e(-_0x1a58bb._0x5de94e,0xc9)]===this['EQUIT']){_0x3ab43c/=this['dd'],_0x509dbf*=this['dd'],_0x41d747=Math['sqrt'](_0x3ab43c*_0x3ab43c+_0x509dbf*_0x509dbf);if(_0x41d747<EPSLN)return _0x47644b['x']=this[_0x2fea3a(_0x1a58bb._0x24e3c0,_0x1a58bb._0x2e8c28)],_0x47644b['y']=this['lat0'],_0x47644b;_0x3d9015=0x2*Math['asin'](0.5*_0x41d747/this['rq']),_0x2d2054=Math['cos'](_0x3d9015),_0x3ab43c*=_0x3d9015=Math['sin'](_0x3d9015),this[_0x1ccc3e(0x76c,_0x1a58bb._0x315321)]===this[_0x2fea3a(-0x10,-_0x1a58bb._0x44a1ad)]?(_0x7d527a=_0x2d2054*this[_0x1ccc3e(-0x1eb,0x547)]+_0x509dbf*_0x3d9015*this['cosb1']/_0x41d747,_0x8a85ee=this['qp']*_0x7d527a,_0x509dbf=_0x41d747*this['cosb1']*_0x2d2054-_0x509dbf*this[_0x2fea3a(0x52e,_0x1a58bb._0x5e45a0)]*_0x3d9015):(_0x7d527a=_0x509dbf*_0x3d9015/_0x41d747,_0x8a85ee=this['qp']*_0x7d527a,_0x509dbf=_0x41d747*_0x2d2054);}else{if(this[_0x1ccc3e(-0x638,0xc9)]===this[_0x2fea3a(_0x1a58bb._0x5e5001,_0x1a58bb._0x29f715)]||this[_0x2fea3a(0xb0,_0x1a58bb._0xc82c14)]===this['S_POLE']){this[_0x1ccc3e(0x40b,_0x1a58bb._0x315321)]===this['N_POLE']&&(_0x509dbf=-_0x509dbf);_0x8a85ee=_0x3ab43c*_0x3ab43c+_0x509dbf*_0x509dbf;if(!_0x8a85ee)return _0x47644b['x']=this[_0x2fea3a(_0x1a58bb._0x402b4a,0x1843)],_0x47644b['y']=this['lat0'],_0x47644b;_0x7d527a=0x1-_0x8a85ee/this['qp'],this['mode']===this['S_POLE']&&(_0x7d527a=-_0x7d527a);}}_0x217e2b=Math['atan2'](_0x3ab43c,_0x509dbf),_0xc3bdc=authlat(Math[_0x1ccc3e(_0x1a58bb._0x3d39ce,_0x1a58bb._0x136201)](_0x7d527a),this['apa']);}return _0x47644b['x']=adjust_lon(this[_0x1ccc3e(_0x1a58bb._0x4ea981,_0x1a58bb._0x84aa9f)]+_0x217e2b),_0x47644b['y']=_0xc3bdc,_0x47644b;}var P00=0.3333333333333333,P01=0.17222222222222222,P02=0.10257936507936508,P10=0.06388888888888888,P11=0.0664021164021164,P20=0.016415012942191543;function authset(_0x523fec){var _0x35c87f,_0xb1cbaf=[];return _0xb1cbaf[0x0]=_0x523fec*P00,_0x35c87f=_0x523fec*_0x523fec,_0xb1cbaf[0x0]+=_0x35c87f*P01,_0xb1cbaf[0x1]=_0x35c87f*P10,_0x35c87f*=_0x523fec,_0xb1cbaf[0x0]+=_0x35c87f*P02,_0xb1cbaf[0x1]+=_0x35c87f*P11,_0xb1cbaf[0x2]=_0x35c87f*P20,_0xb1cbaf;}function authlat(_0x5cef92,_0x50429c){function _0x3343cd(_0x5675b6,_0x9ca795){return _0x54a7f1(_0x9ca795- -0x76,_0x5675b6);}var _0x5b9dd3=_0x5cef92+_0x5cef92;return _0x5cef92+_0x50429c[0x0]*Math['sin'](_0x5b9dd3)+_0x50429c[0x1]*Math[_0x3343cd(-0x199,0x3fe)](_0x5b9dd3+_0x5b9dd3)+_0x50429c[0x2]*Math['sin'](_0x5b9dd3+_0x5b9dd3+_0x5b9dd3);}var names$i=['Lambert\x20Azimuthal\x20Equal\x20Area','Lambert_Azimuthal_Equal_Area','laea'];const _0x45ee09={};_0x45ee09['init']=init$i,_0x45ee09['forward']=forward$i,_0x45ee09['inverse']=inverse$i,_0x45ee09['names']=names$i,_0x45ee09['S_POLE']=S_POLE,_0x45ee09[_0x7afdbe(0x91e,0xe42)]=N_POLE,_0x45ee09['EQUIT']=EQUIT,_0x45ee09[_0x54a7f1(0x3d3,0xc4d)]=OBLIQ;var laea=_0x45ee09;function asinz(_0x567ed8){return Math['abs'](_0x567ed8)>0x1&&(_0x567ed8=_0x567ed8>0x1?0x1:-0x1),Math['asin'](_0x567ed8);}function init$h(){const _0xc73de6={_0x2c8913:0x12ed,_0x6aeec1:0x1ac6,_0x9c1257:0x1727,_0x59dad8:0x1db7,_0x568407:0xf6a,_0x3911eb:0x68f,_0xd196f9:0xe85,_0x81fb11:0x83f,_0x41f0a5:0x68f,_0x2938a2:0xcd3,_0x496c27:0x14c9,_0x5aa7d8:0x130e,_0x36a921:0x1b4d,_0xcbeec0:0xe8e,_0x45b324:0x1920,_0x25e254:0xde0,_0x4a2c10:0x14b2,_0x13e8a5:0x805};if(Math[_0x181dd5(_0xc73de6._0x2c8913,_0xc73de6._0x6aeec1)](this[_0x5920b8(_0xc73de6._0x9c1257,_0xc73de6._0x59dad8)]+this[_0x5920b8(0x14b2,0x18f8)])<EPSLN)return;this['temp']=this['b']/this['a'];function _0x181dd5(_0x187aee,_0x57f298){return _0x54a7f1(_0x187aee-0x21b,_0x57f298);}this['es']=0x1-Math[_0x5920b8(0x4a7,_0xc73de6._0x568407)](this['temp'],0x2),this['e3']=Math[_0x181dd5(0x101f,0x5ea)](this['es']),this[_0x5920b8(0xe85,0x53a)]=Math[_0x181dd5(_0xc73de6._0x3911eb,-0x12e)](this['lat1']),this['cos_po']=Math['cos'](this['lat1']),this['t1']=this[_0x5920b8(_0xc73de6._0xd196f9,0x814)],this['con']=this['sin_po'],this['ms1']=msfnz(this['e3'],this['sin_po'],this['cos_po']),this[_0x5920b8(_0xc73de6._0x81fb11,0x736)]=qsfnz(this['e3'],this[_0x5920b8(0xe85,0x15e4)]),this['sin_po']=Math[_0x181dd5(_0xc73de6._0x41f0a5,-0x121)](this[_0x5920b8(0x14b2,_0xc73de6._0x2938a2)]),this['cos_po']=Math[_0x181dd5(0x196f,0x243a)](this[_0x5920b8(0x14b2,_0xc73de6._0x496c27)]),this['t2']=this['sin_po'],this[_0x181dd5(_0xc73de6._0x5aa7d8,_0xc73de6._0x36a921)]=msfnz(this['e3'],this['sin_po'],this['cos_po']),this['qs2']=qsfnz(this['e3'],this[_0x181dd5(_0xc73de6._0xcbeec0,_0xc73de6._0x45b324)]),this['sin_po']=Math['sin'](this['lat0']),this[_0x5920b8(_0xc73de6._0x25e254,0x6df)]=Math['cos'](this[_0x181dd5(0x10b9,0x1959)]),this['t3']=this['sin_po'],this['qs0']=qsfnz(this['e3'],this['sin_po']);Math['abs'](this['lat1']-this[_0x5920b8(_0xc73de6._0x4a2c10,0xd20)])>EPSLN?this['ns0']=(this[_0x5920b8(0x1314,0x1a9d)]*this[_0x5920b8(0x1314,0xef1)]-this[_0x181dd5(0x130e,0xc0b)]*this['ms2'])/(this['qs2']-this[_0x5920b8(0x83f,_0xc73de6._0x13e8a5)]):this['ns0']=this['con'];this['c']=this['ms1']*this[_0x5920b8(0x1314,0x1520)]+this[_0x181dd5(0x167d,0x1786)]*this['qs1'];function _0x5920b8(_0x329be6,_0x2ef474){return _0x7afdbe(_0x2ef474,_0x329be6- -0x1c);}this['rh']=this['a']*Math['sqrt'](this['c']-this[_0x181dd5(0x167d,0xf65)]*this['qs0'])/this['ns0'];}function forward$h(_0x20198c){const _0x6f0de={_0x4185c0:0x8bd,_0x1b57d7:0x14b,_0x1f0bdf:0xff1,_0x17c226:0xefd,_0x13fb8b:0x1998,_0x5bfbfa:0x51d,_0x1c126c:0x194c,_0x5f5abe:0x16a6};var _0x1275d9=_0x20198c['x'],_0x3e17ed=_0x20198c['y'];this[_0x10ba72(_0x6f0de._0x4185c0,_0x6f0de._0x1b57d7)]=Math['sin'](_0x3e17ed),this[_0x10ba72(_0x6f0de._0x1f0bdf,_0x6f0de._0x17c226)]=Math[_0x270a45(0x1f58,_0x6f0de._0x13fb8b)](_0x3e17ed);function _0x270a45(_0x4d89f5,_0x59149a){return _0x54a7f1(_0x59149a-0x244,_0x4d89f5);}var _0x171055=qsfnz(this['e3'],this['sin_phi']),_0x3b1bf0=this['a']*Math[_0x10ba72(0xf45,_0x6f0de._0x5bfbfa)](this['c']-this[_0x270a45(_0x6f0de._0x1c126c,_0x6f0de._0x5f5abe)]*_0x171055)/this['ns0'],_0x365448=this['ns0']*adjust_lon(_0x1275d9-this[_0x270a45(0x1ad5,0x13d3)]),_0x23a264=_0x3b1bf0*Math['sin'](_0x365448)+this['x0'];function _0x10ba72(_0x28734a,_0x4b23fc){return _0x7afdbe(_0x4b23fc,_0x28734a- -0xed);}var _0x43d7ea=this['rh']-_0x3b1bf0*Math['cos'](_0x365448)+this['y0'];return _0x20198c['x']=_0x23a264,_0x20198c['y']=_0x43d7ea,_0x20198c;}function inverse$h(_0x336b4c){const _0x348582={_0x13d032:0x12e8,_0x3ccaf9:0xa58,_0xd72f63:0xaa,_0x1022c7:0xae2,_0x4e8c07:0x330,_0x593bf6:0x7c7,_0x227a32:0x1015},_0x4d509b={_0x3b2bcc:0x550};var _0x2653f4,_0x2c590f,_0x551c3a,_0x39c102,_0x130307,_0x383c4a;_0x336b4c['x']-=this['x0'];function _0x472da4(_0x4aefea,_0x42df45){return _0x54a7f1(_0x4aefea- -0x17a,_0x42df45);}function _0x19bb1b(_0x2db1a4,_0x190328){return _0x7afdbe(_0x2db1a4,_0x190328- -_0x4d509b._0x3b2bcc);}return _0x336b4c['y']=this['rh']-_0x336b4c['y']+this['y0'],this[_0x472da4(_0x348582._0x13d032,_0x348582._0x3ccaf9)]>=0x0?(_0x2653f4=Math[_0x19bb1b(_0x348582._0xd72f63,_0x348582._0x1022c7)](_0x336b4c['x']*_0x336b4c['x']+_0x336b4c['y']*_0x336b4c['y']),_0x551c3a=0x1):(_0x2653f4=-Math[_0x19bb1b(0x714,0xae2)](_0x336b4c['x']*_0x336b4c['x']+_0x336b4c['y']*_0x336b4c['y']),_0x551c3a=-0x1),_0x39c102=0x0,_0x2653f4!==0x0&&(_0x39c102=Math[_0x472da4(_0x348582._0x4e8c07,0x409)](_0x551c3a*_0x336b4c['x'],_0x551c3a*_0x336b4c['y'])),_0x551c3a=_0x2653f4*this[_0x19bb1b(0xf9c,0x1140)]/this['a'],this[_0x472da4(0x8b8,_0x348582._0x593bf6)]?_0x383c4a=Math['asin']((this['c']-_0x551c3a*_0x551c3a)/(0x2*this['ns0'])):(_0x2c590f=(this['c']-_0x551c3a*_0x551c3a)/this['ns0'],_0x383c4a=this['phi1z'](this['e3'],_0x2c590f)),_0x130307=adjust_lon(_0x39c102/this['ns0']+this[_0x472da4(_0x348582._0x227a32,0x15db)]),_0x336b4c['x']=_0x130307,_0x336b4c['y']=_0x383c4a,_0x336b4c;}function phi1z(_0xdcb258,_0x3547bf){const _0x4d4d70={_0x348b2b:0x12d,_0x2e66ec:0x66c};var _0x327b1d,_0x225cd4,_0x5637a5,_0x3cc81a,_0x2a910c,_0x28c643=asinz(0.5*_0x3547bf);if(_0xdcb258<EPSLN)return _0x28c643;var _0x3abd52=_0xdcb258*_0xdcb258;function _0x2bff05(_0x412b58,_0x37d719){return _0x54a7f1(_0x412b58-0xd,_0x37d719);}function _0xe059de(_0x567594,_0x559d85){return _0x7afdbe(_0x559d85,_0x567594- -0x628);}for(var _0x1d7837=0x1;_0x1d7837<=0x19;_0x1d7837++){_0x327b1d=Math[_0x2bff05(0x481,-_0x4d4d70._0x348b2b)](_0x28c643),_0x225cd4=Math['cos'](_0x28c643),_0x5637a5=_0xdcb258*_0x327b1d,_0x3cc81a=0x1-_0x5637a5*_0x5637a5,_0x2a910c=0.5*_0x3cc81a*_0x3cc81a/_0x225cd4*(_0x3547bf/(0x1-_0x3abd52)-_0x327b1d/_0x3cc81a+0.5/_0xdcb258*Math[_0xe059de(0x1050,_0x4d4d70._0x2e66ec)]((0x1-_0x5637a5)/(0x1+_0x5637a5))),_0x28c643=_0x28c643+_0x2a910c;if(Math['abs'](_0x2a910c)<=1e-7)return _0x28c643;}return null;}var names$h=['Albers_Conic_Equal_Area','Albers',_0x54a7f1(0x556,0xbe7)];const _0x177173={};_0x177173[_0x54a7f1(0x1601,0x16a0)]=init$h,_0x177173['forward']=forward$h,_0x177173['inverse']=inverse$h,_0x177173['names']=names$h,_0x177173['phi1z']=phi1z;var aea=_0x177173;function init$g(){const _0xb122ba={_0x8b9d6:0xb24,_0x13b55f:0x33d},_0x22186e={_0x208242:0x17f};this['sin_p14']=Math[_0x2af88a(0x523,0xe22)](this[_0x255ad0(0x10a0,_0xb122ba._0x8b9d6)]),this[_0x2af88a(_0xb122ba._0x13b55f,-0x61b)]=Math['cos'](this['lat0']),this[_0x2af88a(0x44c,-0x592)]=0x3e8*this['a'];function _0x255ad0(_0x3ea6fc,_0x2f1618){return _0x54a7f1(_0x3ea6fc-0x202,_0x2f1618);}function _0x2af88a(_0x4c1e46,_0x202a76){return _0x7afdbe(_0x202a76,_0x4c1e46- -_0x22186e._0x208242);}this['rc']=0x1;}function forward$g(_0x472854){const _0x18db80={_0x1c7f78:0x210f,_0x4f45d3:0x15d,_0x25637b:0x7ea,_0x536e18:0x370,_0x36057a:0x556,_0x128674:0x1216,_0x3458a5:0xa17},_0x5974e0={_0x66a5f6:0x2eb};var _0x531c51,_0xf169a6;function _0x10e594(_0x51446e,_0x31ee75){return _0x7afdbe(_0x51446e,_0x31ee75- -_0x5974e0._0x66a5f6);}var _0x4823e7;function _0x2bedd3(_0x34c351,_0x13c524){return _0x54a7f1(_0x13c524-0xe2,_0x34c351);}var _0x39b58f,_0x579888,_0x12eb6b,_0x5e2c28,_0x50a75f,_0x326e30=_0x472854['x'],_0x285cb6=_0x472854['y'];return _0x4823e7=adjust_lon(_0x326e30-this['long0']),_0x531c51=Math[_0x2bedd3(0xa05,0x556)](_0x285cb6),_0xf169a6=Math[_0x10e594(_0x18db80._0x1c7f78,0x1697)](_0x285cb6),_0x39b58f=Math['cos'](_0x4823e7),_0x12eb6b=this[_0x10e594(-_0x18db80._0x4f45d3,_0x18db80._0x25637b)]*_0x531c51+this[_0x2bedd3(0xd24,_0x18db80._0x536e18)]*_0xf169a6*_0x39b58f,_0x579888=0x1,_0x12eb6b>0x0||Math['abs'](_0x12eb6b)<=EPSLN?(_0x5e2c28=this['x0']+this['a']*_0x579888*_0xf169a6*Math[_0x2bedd3(0x110,_0x18db80._0x36057a)](_0x4823e7)/_0x12eb6b,_0x50a75f=this['y0']+this['a']*_0x579888*(this['cos_p14']*_0x531c51-this[_0x2bedd3(_0x18db80._0x128674,0x989)]*_0xf169a6*_0x39b58f)/_0x12eb6b):(_0x5e2c28=this['x0']+this['infinity_dist']*_0xf169a6*Math['sin'](_0x4823e7),_0x50a75f=this['y0']+this[_0x2bedd3(_0x18db80._0x3458a5,0x47f)]*(this['cos_p14']*_0x531c51-this['sin_p14']*_0xf169a6*_0x39b58f)),_0x472854['x']=_0x5e2c28,_0x472854['y']=_0x50a75f,_0x472854;}function inverse$g(_0x19b38d){const _0x2c6355={_0x3135cc:0xaf3,_0x4eccee:0x765,_0x4e9d28:0x1399,_0xc10a8f:0x531,_0x5e3436:0x765,_0xda76d8:0x1403};var _0x3f59fd,_0x539479,_0x28c11a,_0x28183c,_0x35bcbf,_0x17c905;function _0x591b95(_0x30242c,_0x210160){return _0x54a7f1(_0x210160-0x2bb,_0x30242c);}_0x19b38d['x']=(_0x19b38d['x']-this['x0'])/this['a'],_0x19b38d['y']=(_0x19b38d['y']-this['y0'])/this['a'],_0x19b38d['x']/=this['k0'],_0x19b38d['y']/=this['k0'];(_0x3f59fd=Math[_0x1a19a4(0x31a,_0x2c6355._0x3135cc)](_0x19b38d['x']*_0x19b38d['x']+_0x19b38d['y']*_0x19b38d['y']))?(_0x28183c=Math[_0x591b95(-0x277,_0x2c6355._0x4eccee)](_0x3f59fd,this['rc']),_0x539479=Math['sin'](_0x28183c),_0x28c11a=Math[_0x591b95(_0x2c6355._0x4e9d28,0x1a0f)](_0x28183c),_0x17c905=asinz(_0x28c11a*this[_0x1a19a4(-_0x2c6355._0xc10a8f,0x596)]+_0x19b38d['y']*_0x539479*this['cos_p14']/_0x3f59fd),_0x35bcbf=Math[_0x591b95(0xee1,_0x2c6355._0x5e3436)](_0x19b38d['x']*_0x539479,_0x3f59fd*this[_0x591b95(0xa62,0x549)]*_0x28c11a-_0x19b38d['y']*this['sin_p14']*_0x539479),_0x35bcbf=adjust_lon(this[_0x1a19a4(0x17b8,0xe7e)]+_0x35bcbf)):(_0x17c905=this[_0x1a19a4(_0x2c6355._0xda76d8,0xd77)],_0x35bcbf=0x0);_0x19b38d['x']=_0x35bcbf,_0x19b38d['y']=_0x17c905;function _0x1a19a4(_0x206554,_0x546c0e){return _0x54a7f1(_0x546c0e- -0x311,_0x206554);}return _0x19b38d;}var names$g=['gnom'];const _0x3d2a73={};_0x3d2a73[_0x54a7f1(0x1601,0xf85)]=init$g,_0x3d2a73['forward']=forward$g,_0x3d2a73[_0x7afdbe(0x1d44,0x163c)]=inverse$g,_0x3d2a73['names']=names$g;var gnom=_0x3d2a73;function iqsfnz(_0xa84eb,_0x5ec034){const _0x3daaf2={_0xe148d:0x383};var _0x1bbe06=0x1-(0x1-_0xa84eb*_0xa84eb)/(0x2*_0xa84eb)*Math['log']((0x1-_0xa84eb)/(0x1+_0xa84eb));if(Math['abs'](Math['abs'](_0x5ec034)-_0x1bbe06)<0.000001)return _0x5ec034<0x0?-0x1*HALF_PI:HALF_PI;var _0x42cbf7=Math['asin'](0.5*_0x5ec034),_0x5cdd2f,_0x2e14a2,_0x5912d3,_0x1a635c;for(var _0x23c917=0x0;_0x23c917<0x1e;_0x23c917++){_0x2e14a2=Math['sin'](_0x42cbf7),_0x5912d3=Math[_0x160bdd(0x1d11,0x13d1)](_0x42cbf7),_0x1a635c=_0xa84eb*_0x2e14a2,_0x5cdd2f=Math['pow'](0x1-_0x1a635c*_0x1a635c,0x2)/(0x2*_0x5912d3)*(_0x5ec034/(0x1-_0xa84eb*_0xa84eb)-_0x2e14a2/(0x1-_0x1a635c*_0x1a635c)+0.5/_0xa84eb*Math['log']((0x1-_0x1a635c)/(0x1+_0x1a635c))),_0x42cbf7+=_0x5cdd2f;if(Math['abs'](_0x5cdd2f)<=1e-10)return _0x42cbf7;}function _0x160bdd(_0x2fdbdf,_0x361419){return _0x54a7f1(_0x361419- -_0x3daaf2._0xe148d,_0x2fdbdf);}return NaN;}function init$f(){const _0x15b25c={_0x1d622a:0x9b7,_0x3fa681:0x1473},_0x1e1ccb={_0x5362fc:0x50a};function _0x76e930(_0x104dc3,_0x365fa0){return _0x7afdbe(_0x104dc3,_0x365fa0- -0x41f);}function _0xd01878(_0x15635e,_0x9c723){return _0x54a7f1(_0x15635e- -_0x1e1ccb._0x5362fc,_0x9c723);}!this['sphere']&&(this['k0']=msfnz(this['e'],Math['sin'](this[_0x76e930(_0x15b25c._0x1d622a,_0x15b25c._0x3fa681)]),Math[_0xd01878(0x124a,0x10f6)](this['lat_ts'])));}function forward$f(_0x258a65){const _0x44b49b={_0x55c523:0x109},_0x36eccb={_0x331a8f:0x36b};var _0x2ead58=_0x258a65['x'],_0x30e5cb=_0x258a65['y'],_0x1468fb,_0x238287,_0x588288=adjust_lon(_0x2ead58-this[_0x271f95(0xe24,0xc79)]);function _0xdb79e3(_0x12dbda,_0x37f340){return _0x54a7f1(_0x12dbda- -0x30f,_0x37f340);}if(this['sphere'])_0x1468fb=this['x0']+this['a']*_0x588288*Math['cos'](this['lat_ts']),_0x238287=this['y0']+this['a']*Math['sin'](_0x30e5cb)/Math['cos'](this[_0xdb79e3(0x1355,0x10b0)]);else{var _0x331b8f=qsfnz(this['e'],Math[_0x271f95(_0x44b49b._0x55c523,0x319)](_0x30e5cb));_0x1468fb=this['x0']+this['a']*this['k0']*_0x588288,_0x238287=this['y0']+this['a']*_0x331b8f*0.5/this['k0'];}function _0x271f95(_0x2c34db,_0x4a1aab){return _0x54a7f1(_0x2c34db- -_0x36eccb._0x331a8f,_0x4a1aab);}return _0x258a65['x']=_0x1468fb,_0x258a65['y']=_0x238287,_0x258a65;}function inverse$f(_0x2d3ad0){const _0x363a42={_0x35450a:0x19e5,_0x4e5c35:0x1666};function _0x339622(_0x66fc8a,_0x44bf1c){return _0x54a7f1(_0x66fc8a- -0xee,_0x44bf1c);}_0x2d3ad0['x']-=this['x0'];function _0x54a4aa(_0x658e42,_0x4e2c7c){return _0x7afdbe(_0x4e2c7c,_0x658e42- -0x113);}_0x2d3ad0['y']-=this['y0'];var _0x49c763,_0xb1dcd8;return this['sphere']?(_0x49c763=adjust_lon(this[_0x339622(0x10a1,_0x363a42._0x35450a)]+_0x2d3ad0['x']/this['a']/Math[_0x339622(_0x363a42._0x4e5c35,0x145f)](this['lat_ts'])),_0xb1dcd8=Math['asin'](_0x2d3ad0['y']/this['a']*Math['cos'](this['lat_ts']))):(_0xb1dcd8=iqsfnz(this['e'],0x2*_0x2d3ad0['y']*this['k0']/this['a']),_0x49c763=adjust_lon(this[_0x339622(0x10a1,0x1b0b)]+_0x2d3ad0['x']/(this['a']*this['k0']))),_0x2d3ad0['x']=_0x49c763,_0x2d3ad0['y']=_0xb1dcd8,_0x2d3ad0;}var names$f=['cea'];const _0xbae164={};_0xbae164['init']=init$f,_0xbae164[_0x54a7f1(0x11d5,0x1164)]=forward$f,_0xbae164['inverse']=inverse$f,_0xbae164[_0x54a7f1(0x7b2,0xde6)]=names$f;var cea=_0xbae164;function init$e(){const _0x55d6f8={_0x35ddba:0x146e,_0x3c3d70:0x130a,_0x4341ff:0x284,_0x2c0a22:0x17bf},_0xb0fae5={_0x2e27e1:0xd3};this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0;function _0xed48cb(_0x3d197a,_0x5e6dd2){return _0x54a7f1(_0x5e6dd2- -0x35a,_0x3d197a);}this['lat0']=this['lat0']||0x0;function _0x2b173d(_0x22363e,_0x28d094){return _0x7afdbe(_0x28d094,_0x22363e- -_0xb0fae5._0x2e27e1);}this['long0']=this[_0x2b173d(0x12ea,_0x55d6f8._0x35ddba)]||0x0,this[_0xed48cb(0x112f,_0x55d6f8._0x3c3d70)]=this['lat_ts']||0x0,this[_0xed48cb(_0x55d6f8._0x4341ff,0xb5c)]=this['title']||'Equidistant\x20Cylindrical\x20(Plate\x20Carre)',this['rc']=Math[_0xed48cb(0xddc,0x13fa)](this[_0x2b173d(_0x55d6f8._0x2c0a22,0x1d58)]);}function forward$e(_0x581a85){const _0x666781={_0x37a98b:0x10bf,_0x40368d:0x10e4};var _0x5a3880=_0x581a85['x'],_0x1a0dd1=_0x581a85['y'],_0x383700=adjust_lon(_0x5a3880-this['long0']);function _0x206aa5(_0x476ddb,_0x26cb15){return _0x54a7f1(_0x476ddb-0x221,_0x26cb15);}var _0x5f4fdf=adjust_lat(_0x1a0dd1-this[_0x206aa5(_0x666781._0x37a98b,_0x666781._0x40368d)]);return _0x581a85['x']=this['x0']+this['a']*_0x383700*this['rc'],_0x581a85['y']=this['y0']+this['a']*_0x5f4fdf,_0x581a85;}function inverse$e(_0x38edaf){var _0x36d6c7=_0x38edaf['x'];function _0x499012(_0x48fbe0,_0x186e7f){return _0x54a7f1(_0x48fbe0- -0x1c6,_0x186e7f);}var _0x410c04=_0x38edaf['y'];return _0x38edaf['x']=adjust_lon(this['long0']+(_0x36d6c7-this['x0'])/(this['a']*this['rc'])),_0x38edaf['y']=adjust_lat(this[_0x499012(0xcd8,0xfc4)]+(_0x410c04-this['y0'])/this['a']),_0x38edaf;}var names$e=[_0x54a7f1(0x266,-0x51a),_0x7afdbe(0x1b35,0x1644),'eqc'];const _0x10fd4b={};_0x10fd4b['init']=init$e,_0x10fd4b['forward']=forward$e,_0x10fd4b['inverse']=inverse$e,_0x10fd4b['names']=names$e;var eqc=_0x10fd4b,MAX_ITER$1=0x14;function init$d(){const _0x5d6306={_0x4e0bc9:0xfbb},_0x30f34d={_0x1997a4:0x5d6};this['temp']=this['b']/this['a'],this['es']=0x1-Math['pow'](this['temp'],0x2),this['e']=Math['sqrt'](this['es']),this['e0']=e0fn(this['es']),this['e1']=e1fn(this['es']),this['e2']=e2fn(this['es']);function _0x34deaa(_0x5dfa3a,_0x2feaf6){return _0x54a7f1(_0x2feaf6-0x11d,_0x5dfa3a);}function _0x4dc61e(_0x51cce6,_0x569450){return _0x7afdbe(_0x569450,_0x51cce6- -_0x30f34d._0x1997a4);}this['e3']=e3fn(this['es']),this[_0x34deaa(0xde3,0xd03)]=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x34deaa(0x62d,_0x5d6306._0x4e0bc9)]);}function forward$d(_0x26feab){const _0x2367b7={_0xd2bb09:0xf77,_0x507036:0x5ed,_0x392260:0x124b,_0x3377e0:0x15f6,_0xeb71ee:0x1017,_0xa7c9f4:0x15c3,_0x431212:0xcbe,_0x3170bc:0x18cd,_0x711bfb:0x1568,_0x971c4a:0xff3,_0x5a3865:0x6dc,_0x5522ad:0x12d8,_0x2e2fa7:0xf69};var _0x23275e=_0x26feab['x'],_0x3c479c=_0x26feab['y'],_0x502ae5,_0x39f186,_0x3fc459,_0x98fba0=adjust_lon(_0x23275e-this[_0x37f329(_0x2367b7._0xd2bb09,0xc85)]);_0x3fc459=_0x98fba0*Math[_0x147de7(_0x2367b7._0x507036,-0x3a9)](_0x3c479c);function _0x37f329(_0x32efe3,_0x75319b){return _0x7afdbe(_0x32efe3,_0x75319b- -0x738);}if(this['sphere'])Math[_0x147de7(_0x2367b7._0x392260,_0x2367b7._0x3377e0)](_0x3c479c)<=EPSLN?(_0x502ae5=this['a']*_0x98fba0,_0x39f186=-0x1*this['a']*this[_0x147de7(_0x2367b7._0xeb71ee,0x107f)]):(_0x502ae5=this['a']*Math['sin'](_0x3fc459)/Math[_0x37f329(_0x2367b7._0xa7c9f4,0xf69)](_0x3c479c),_0x39f186=this['a']*(adjust_lat(_0x3c479c-this[_0x147de7(0x1017,_0x2367b7._0x431212)])+(0x1-Math[_0x147de7(_0x2367b7._0x3170bc,_0x2367b7._0x711bfb)](_0x3fc459))/Math['tan'](_0x3c479c)));else{if(Math['abs'](_0x3c479c)<=EPSLN)_0x502ae5=this['a']*_0x98fba0,_0x39f186=-0x1*this[_0x37f329(_0x2367b7._0x971c4a,_0x2367b7._0x5a3865)];else{var _0x198ebe=gN(this['a'],this['e'],Math['sin'](_0x3c479c))/Math[_0x37f329(_0x2367b7._0x5522ad,_0x2367b7._0x2e2fa7)](_0x3c479c);_0x502ae5=_0x198ebe*Math['sin'](_0x3fc459),_0x39f186=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0x3c479c)-this[_0x147de7(0xd5f,0x4ac)]+_0x198ebe*(0x1-Math['cos'](_0x3fc459));}}_0x26feab['x']=_0x502ae5+this['x0'];function _0x147de7(_0x22cdfb,_0x31ce8d){return _0x54a7f1(_0x22cdfb-0x179,_0x31ce8d);}return _0x26feab['y']=_0x39f186+this['y0'],_0x26feab;}function inverse$d(_0x1fecd8){const _0x5b0b7a={_0x3935fd:0xc26,_0x268285:0xbe7,_0xdc7fda:0x12c6,_0x41f33f:0x1667,_0x3e539d:0x1383,_0x455370:0x619,_0x28090d:0xe31,_0x2d5bc5:0x12c6,_0x20704a:0xb92,_0x579597:0x12c6,_0x3a8159:0x1383,_0x594922:0x1314},_0x18e23e={_0x140e82:0x3a},_0xd6224f={_0x4475f:0x1a5};function _0x5c7757(_0x5cc124,_0x1e1f58){return _0x54a7f1(_0x1e1f58-_0xd6224f._0x4475f,_0x5cc124);}var _0x33ccb1,_0x5962c7,_0x144bbe,_0x3707c4,_0x3b72d6,_0x2031f6,_0x1abcec,_0x10f3d7,_0x553790;_0x144bbe=_0x1fecd8['x']-this['x0'];function _0x5ce699(_0x4d0040,_0x31b139){return _0x7afdbe(_0x4d0040,_0x31b139- -_0x18e23e._0x140e82);}_0x3707c4=_0x1fecd8['y']-this['y0'];if(this[_0x5ce699(0xedb,_0x5b0b7a._0x3935fd)]){if(Math[_0x5ce699(_0x5b0b7a._0x268285,_0x5b0b7a._0xdc7fda)](_0x3707c4+this['a']*this['lat0'])<=EPSLN)_0x33ccb1=adjust_lon(_0x144bbe/this['a']+this['long0']),_0x5962c7=0x0;else{_0x2031f6=this['lat0']+_0x3707c4/this['a'],_0x1abcec=_0x144bbe*_0x144bbe/this['a']/this['a']+_0x2031f6*_0x2031f6,_0x10f3d7=_0x2031f6;var _0x487bd7;for(_0x3b72d6=MAX_ITER$1;_0x3b72d6;--_0x3b72d6){_0x487bd7=Math[_0x5ce699(0x106b,_0x5b0b7a._0x41f33f)](_0x10f3d7),_0x553790=-0x1*(_0x2031f6*(_0x10f3d7*_0x487bd7+0x1)-_0x10f3d7-0.5*(_0x10f3d7*_0x10f3d7+_0x1abcec)*_0x487bd7)/((_0x10f3d7-_0x2031f6)/_0x487bd7-0x1),_0x10f3d7+=_0x553790;if(Math['abs'](_0x553790)<=EPSLN){_0x5962c7=_0x10f3d7;break;}}_0x33ccb1=adjust_lon(this[_0x5ce699(0x1036,_0x5b0b7a._0x3e539d)]+Math['asin'](_0x144bbe*Math['tan'](_0x10f3d7)/this['a'])/Math[_0x5c7757(-0xe1,_0x5b0b7a._0x455370)](_0x5962c7));}}else{if(Math[_0x5ce699(_0x5b0b7a._0x28090d,_0x5b0b7a._0x2d5bc5)](_0x3707c4+this['ml0'])<=EPSLN)_0x5962c7=0x0,_0x33ccb1=adjust_lon(this['long0']+_0x144bbe/this['a']);else{_0x2031f6=(this['ml0']+_0x3707c4)/this['a'],_0x1abcec=_0x144bbe*_0x144bbe/this['a']/this['a']+_0x2031f6*_0x2031f6,_0x10f3d7=_0x2031f6;var _0x4312ba,_0x4e799d,_0x5537f3,_0x4495db,_0x23011d;for(_0x3b72d6=MAX_ITER$1;_0x3b72d6;--_0x3b72d6){_0x23011d=this['e']*Math['sin'](_0x10f3d7),_0x4312ba=Math['sqrt'](0x1-_0x23011d*_0x23011d)*Math[_0x5ce699(0x1514,0x1667)](_0x10f3d7),_0x4e799d=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0x10f3d7),_0x5537f3=this['e0']-0x2*this['e1']*Math['cos'](0x2*_0x10f3d7)+0x4*this['e2']*Math['cos'](0x4*_0x10f3d7)-0x6*this['e3']*Math[_0x5c7757(0x2399,0x18f9)](0x6*_0x10f3d7),_0x4495db=_0x4e799d/this['a'],_0x553790=(_0x2031f6*(_0x4312ba*_0x4495db+0x1)-_0x4495db-0.5*_0x4312ba*(_0x4495db*_0x4495db+_0x1abcec))/(this['es']*Math['sin'](0x2*_0x10f3d7)*(_0x4495db*_0x4495db+_0x1abcec-0x2*_0x2031f6*_0x4495db)/(0x4*_0x4312ba)+(_0x2031f6-_0x4495db)*(_0x4312ba*_0x5537f3-0x2/Math[_0x5ce699(_0x5b0b7a._0x20704a,0x668)](0x2*_0x10f3d7))-_0x5537f3),_0x10f3d7-=_0x553790;if(Math[_0x5ce699(0x1cef,_0x5b0b7a._0x579597)](_0x553790)<=EPSLN){_0x5962c7=_0x10f3d7;break;}}_0x4312ba=Math['sqrt'](0x1-this['es']*Math['pow'](Math[_0x5c7757(0xf90,0x619)](_0x5962c7),0x2))*Math[_0x5c7757(0xc17,0x1618)](_0x5962c7),_0x33ccb1=adjust_lon(this[_0x5ce699(0x1886,_0x5b0b7a._0x3a8159)]+Math[_0x5c7757(_0x5b0b7a._0x594922,0x1502)](_0x144bbe*_0x4312ba/this['a'])/Math[_0x5c7757(0x4e1,_0x5b0b7a._0x455370)](_0x5962c7));}}return _0x1fecd8['x']=_0x33ccb1,_0x1fecd8['y']=_0x5962c7,_0x1fecd8;}var names$d=['Polyconic','poly'];const _0x517d43={};_0x517d43[_0x7afdbe(0x208f,0x182f)]=init$d,_0x517d43[_0x54a7f1(0x11d5,0x17b8)]=forward$d,_0x517d43[_0x7afdbe(0x14e6,0x163c)]=inverse$d,_0x517d43['names']=names$d;var poly=_0x517d43;function _0x54a7f1(_0x368f44,_0x119058){return _0x536c(_0x368f44-0x127,_0x119058);}function init$c(){const _0x4f7d94={_0x5d3ffe:0x1099,_0x48cb93:0xeed,_0x1c438c:0xd80,_0x437337:0x91a,_0x49b19e:0xeed,_0x1b41bd:0x6db,_0x463cba:0x865,_0x114e62:0x3ae,_0x253649:0xe4f,_0x207cbc:0xbd1,_0x1b76bc:0x75b},_0x503503={_0x1e3b45:0x43b};this['A']=[],this['A'][0x1]=0.6399175073,this['A'][0x2]=-0.1358797613,this['A'][0x3]=0.063294409,this['A'][0x4]=-0.02526853,this['A'][0x5]=0.0117879,this['A'][0x6]=-0.0055161,this['A'][0x7]=0.0026906;function _0x1d9f04(_0x3d5a97,_0x433062){return _0x54a7f1(_0x433062-0x169,_0x3d5a97);}this['A'][0x8]=-0.001333,this['A'][0x9]=0.00067,this['A'][0xa]=-0.00034,this[_0x339d16(0x560,0xeed)]=[],this[_0x339d16(0x7af,0x137)]=[],this[_0x339d16(_0x4f7d94._0x5d3ffe,_0x4f7d94._0x48cb93)][0x1]=0.7557853228,this['B_im'][0x1]=0x0,this['B_re'][0x2]=0.249204646,this['B_im'][0x2]=0.003371507,this['B_re'][0x3]=-0.001541739,this[_0x1d9f04(_0x4f7d94._0x1c438c,0x6db)][0x3]=0.04105856,this['B_re'][0x4]=-0.10162907,this[_0x1d9f04(-0x111,0x6db)][0x4]=0.01727609,this[_0x339d16(_0x4f7d94._0x437337,_0x4f7d94._0x49b19e)][0x5]=-0.26623489,this[_0x1d9f04(0x1137,_0x4f7d94._0x1b41bd)][0x5]=-0.36249218,this[_0x1d9f04(0x18a3,0x1491)][0x6]=-0.6870983,this[_0x1d9f04(_0x4f7d94._0x463cba,_0x4f7d94._0x1b41bd)][0x6]=-1.1651967,this[_0x1d9f04(_0x4f7d94._0x114e62,0xe4f)]=[],this['C_im']=[],this['C_re'][0x1]=1.3231270439,this['C_im'][0x1]=0x0;function _0x339d16(_0x15ed97,_0x26ebbd){return _0x54a7f1(_0x26ebbd- -_0x503503._0x1e3b45,_0x15ed97);}this[_0x1d9f04(0x456,_0x4f7d94._0x253649)][0x2]=-0.577245789,this['C_im'][0x2]=-0.007809598,this['C_re'][0x3]=0.508307513,this[_0x1d9f04(0x565,0xbd1)][0x3]=-0.112208952,this[_0x1d9f04(0xfd0,0xe4f)][0x4]=-0.15094762,this[_0x1d9f04(0x624,_0x4f7d94._0x207cbc)][0x4]=0.18200602,this[_0x339d16(0x455,0x8ab)][0x5]=1.01418179,this['C_im'][0x5]=1.64497696,this[_0x339d16(_0x4f7d94._0x1b76bc,0x8ab)][0x6]=1.9660549,this['C_im'][0x6]=2.5127645,this['D']=[],this['D'][0x1]=1.5627014243,this['D'][0x2]=0.5185406398,this['D'][0x3]=-0.03333098,this['D'][0x4]=-0.1052906,this['D'][0x5]=-0.0368594,this['D'][0x6]=0.007317,this['D'][0x7]=0.0122,this['D'][0x8]=0.00394,this['D'][0x9]=-0.0013;}function forward$c(_0x4d837a){const _0x2aa215={_0x1c00f6:0xcfd,_0x3a754c:0xe96};var _0x5265ca,_0x4d3c7f=_0x4d837a['x'],_0x4f91a6=_0x4d837a['y'],_0x3392ef=_0x4f91a6-this['lat0'],_0x418e4d=_0x4d3c7f-this[_0x1eff35(_0x2aa215._0x1c00f6,0xf9e)],_0xda4d6d=_0x3392ef/SEC_TO_RAD*0.00001;function _0x1eff35(_0x325992,_0x1b6e40){return _0x54a7f1(_0x325992- -0x492,_0x1b6e40);}var _0x2f2e1d=_0x418e4d;function _0xb02822(_0x5b2f5d,_0x250db7){return _0x7afdbe(_0x250db7,_0x5b2f5d-0x7d);}var _0x3275d2=0x1,_0x288b31=0x0;for(_0x5265ca=0x1;_0x5265ca<=0xa;_0x5265ca++){_0x3275d2=_0x3275d2*_0xda4d6d,_0x288b31=_0x288b31+this['A'][_0x5265ca]*_0x3275d2;}var _0x39f303=_0x288b31,_0x44ce58=_0x2f2e1d,_0x499093=0x1,_0xd9da5a=0x0,_0x5af5bf,_0x5b9685,_0x1cff0a=0x0,_0x4fa456=0x0;for(_0x5265ca=0x1;_0x5265ca<=0x6;_0x5265ca++){_0x5af5bf=_0x499093*_0x39f303-_0xd9da5a*_0x44ce58,_0x5b9685=_0xd9da5a*_0x39f303+_0x499093*_0x44ce58,_0x499093=_0x5af5bf,_0xd9da5a=_0x5b9685,_0x1cff0a=_0x1cff0a+this[_0x1eff35(_0x2aa215._0x3a754c,0xb92)][_0x5265ca]*_0x499093-this['B_im'][_0x5265ca]*_0xd9da5a,_0x4fa456=_0x4fa456+this[_0x1eff35(0xe0,-0x8db)][_0x5265ca]*_0x499093+this['B_re'][_0x5265ca]*_0xd9da5a;}return _0x4d837a['x']=_0x4fa456*this['a']+this['x0'],_0x4d837a['y']=_0x1cff0a*this['a']+this['y0'],_0x4d837a;}function inverse$c(_0x453406){const _0x4bba33={_0x318681:0x91f,_0x2f6a22:0xf68,_0x448ca4:0x12fb,_0x2ba886:0x1162,_0xd3d62d:0x12d0},_0x2fc855={_0x367a59:0x4e2},_0x3940a7={_0x27f4e3:0x25b};var _0x4140e3,_0x2adfd1=_0x453406['x'],_0x2d0e0b=_0x453406['y'],_0x13e1aa=_0x2adfd1-this['x0'],_0x2990b7=_0x2d0e0b-this['y0'],_0x5919bf=_0x2990b7/this['a'],_0x33feb4=_0x13e1aa/this['a'],_0x4f430a=0x1,_0x3eae82=0x0,_0x3786c0,_0x37993c,_0x5e54ad=0x0,_0x275da2=0x0;for(_0x4140e3=0x1;_0x4140e3<=0x6;_0x4140e3++){_0x3786c0=_0x4f430a*_0x5919bf-_0x3eae82*_0x33feb4,_0x37993c=_0x3eae82*_0x5919bf+_0x4f430a*_0x33feb4,_0x4f430a=_0x3786c0,_0x3eae82=_0x37993c,_0x5e54ad=_0x5e54ad+this[_0x2e96a5(0xcb9,_0x4bba33._0x318681)][_0x4140e3]*_0x4f430a-this['C_im'][_0x4140e3]*_0x3eae82,_0x275da2=_0x275da2+this['C_im'][_0x4140e3]*_0x4f430a+this['C_re'][_0x4140e3]*_0x3eae82;}for(var _0x28d3cc=0x0;_0x28d3cc<this[_0x4a2468(-0x1f6,0x54c)];_0x28d3cc++){var _0x5d1559=_0x5e54ad,_0x102178=_0x275da2,_0x25e69e,_0x37bd22,_0x5bfab2=_0x5919bf,_0x93776=_0x33feb4;for(_0x4140e3=0x2;_0x4140e3<=0x6;_0x4140e3++){_0x25e69e=_0x5d1559*_0x5e54ad-_0x102178*_0x275da2,_0x37bd22=_0x102178*_0x5e54ad+_0x5d1559*_0x275da2,_0x5d1559=_0x25e69e,_0x102178=_0x37bd22,_0x5bfab2=_0x5bfab2+(_0x4140e3-0x1)*(this['B_re'][_0x4140e3]*_0x5d1559-this['B_im'][_0x4140e3]*_0x102178),_0x93776=_0x93776+(_0x4140e3-0x1)*(this['B_im'][_0x4140e3]*_0x5d1559+this['B_re'][_0x4140e3]*_0x102178);}_0x5d1559=0x1,_0x102178=0x0;var _0x35259e=this[_0x2e96a5(0x12fb,_0x4bba33._0x2f6a22)][0x1],_0x23a6ef=this['B_im'][0x1];for(_0x4140e3=0x2;_0x4140e3<=0x6;_0x4140e3++){_0x25e69e=_0x5d1559*_0x5e54ad-_0x102178*_0x275da2,_0x37bd22=_0x102178*_0x5e54ad+_0x5d1559*_0x275da2,_0x5d1559=_0x25e69e,_0x102178=_0x37bd22,_0x35259e=_0x35259e+_0x4140e3*(this[_0x2e96a5(_0x4bba33._0x448ca4,0x185c)][_0x4140e3]*_0x5d1559-this[_0x2e96a5(0x545,0x84c)][_0x4140e3]*_0x102178),_0x23a6ef=_0x23a6ef+_0x4140e3*(this['B_im'][_0x4140e3]*_0x5d1559+this['B_re'][_0x4140e3]*_0x102178);}var _0x35a997=_0x35259e*_0x35259e+_0x23a6ef*_0x23a6ef;_0x5e54ad=(_0x5bfab2*_0x35259e+_0x93776*_0x23a6ef)/_0x35a997,_0x275da2=(_0x93776*_0x35259e-_0x5bfab2*_0x23a6ef)/_0x35a997;}var _0x576465=_0x5e54ad;function _0x2e96a5(_0xaa6ada,_0x51b48e){return _0x7afdbe(_0x51b48e,_0xaa6ada- -_0x3940a7._0x27f4e3);}var _0x40ebb7=_0x275da2,_0x576bc5=0x1,_0x4d6449=0x0;function _0x4a2468(_0x25e6ea,_0x385412){return _0x54a7f1(_0x385412- -_0x2fc855._0x367a59,_0x25e6ea);}for(_0x4140e3=0x1;_0x4140e3<=0x9;_0x4140e3++){_0x576bc5=_0x576bc5*_0x576465,_0x4d6449=_0x4d6449+this['D'][_0x4140e3]*_0x576bc5;}var _0x372ff4=this['lat0']+_0x4d6449*SEC_TO_RAD*0x186a0,_0x4d75b0=this[_0x2e96a5(_0x4bba33._0x2ba886,_0x4bba33._0xd3d62d)]+_0x40ebb7;return _0x453406['x']=_0x4d75b0,_0x453406['y']=_0x372ff4,_0x453406;}var names$c=['New_Zealand_Map_Grid','nzmg'];const _0x49d690={};_0x49d690[_0x54a7f1(0x1601,0x1dcd)]=init$c,_0x49d690[_0x54a7f1(0x11d5,0x105c)]=forward$c,_0x49d690['inverse']=inverse$c,_0x49d690[_0x54a7f1(0x7b2,0xbfb)]=names$c;var nzmg=_0x49d690;function init$b(){}function forward$b(_0x81bcfc){const _0x536306={_0x4dcbb6:0x129b},_0x4007be={_0x11f1b5:0x3a0};var _0x2ee655=_0x81bcfc['x'];function _0x403b60(_0xdf6ef,_0x35a2f7){return _0x7afdbe(_0xdf6ef,_0x35a2f7- -_0x4007be._0x11f1b5);}var _0x3f8563=_0x81bcfc['y'],_0x11b904=adjust_lon(_0x2ee655-this['long0']);function _0x51cf78(_0x2247a1,_0x106c16){return _0x7afdbe(_0x2247a1,_0x106c16- -0x3dd);}var _0x27bc1e=this['x0']+this['a']*_0x11b904,_0x1cfdb8=this['y0']+this['a']*Math[_0x51cf78(0x95b,_0x536306._0x4dcbb6)](Math[_0x403b60(0x168a,0x1301)](Math['PI']/0x4+_0x3f8563/2.5))*1.25;return _0x81bcfc['x']=_0x27bc1e,_0x81bcfc['y']=_0x1cfdb8,_0x81bcfc;}function inverse$b(_0x40ea5c){const _0x57c120={_0x25c87f:0xc84},_0x309087={_0x3d3cdf:0x52c};_0x40ea5c['x']-=this['x0'],_0x40ea5c['y']-=this['y0'];function _0x16cf89(_0x3ac55f,_0x54474b){return _0x7afdbe(_0x54474b,_0x3ac55f- -_0x309087._0x3d3cdf);}var _0x32cf24=adjust_lon(this[_0x548b10(0x15eb,_0x57c120._0x25c87f)]+_0x40ea5c['x']/this['a']),_0x1553cd=2.5*(Math[_0x548b10(-0x155,0x2d0)](Math['exp'](0.8*_0x40ea5c['y']/this['a']))-Math['PI']/0x4);function _0x548b10(_0x1c80c6,_0x5b10c3){return _0x54a7f1(_0x5b10c3- -0x50b,_0x1c80c6);}return _0x40ea5c['x']=_0x32cf24,_0x40ea5c['y']=_0x1553cd,_0x40ea5c;}var names$b=[_0x54a7f1(0x2e1,0x767),_0x7afdbe(0x1da2,0x17c2)];const _0x11980a={};_0x11980a[_0x54a7f1(0x1601,0x196a)]=init$b,_0x11980a['forward']=forward$b,_0x11980a['inverse']=inverse$b,_0x11980a['names']=names$b;var mill=_0x11980a,MAX_ITER=0x14;function init$a(){const _0x41aa0d={_0x4c4a0f:0xda8,_0x32aa69:0xb27},_0x272764={_0x36a256:0x28a};function _0x265432(_0x75f585,_0x4a5261){return _0x7afdbe(_0x4a5261,_0x75f585- -_0x272764._0x36a256);}!this['sphere']?this['en']=pj_enfn(this['es']):(this['n']=0x1,this['m']=0x0,this['es']=0x0,this['C_y']=Math[_0x265432(_0x41aa0d._0x4c4a0f,_0x41aa0d._0x32aa69)]((this['m']+0x1)/this['n']),this['C_x']=this['C_y']/(this['m']+0x1));}function forward$a(_0x46345d){const _0x16c55b={_0x3bdbdd:0x121a,_0x13277c:0xc75,_0x20e223:0x9f4,_0x1ce5a2:0x8d3},_0x591056={_0x4a2111:0x190};function _0x337145(_0x21808b,_0x51acdd){return _0x54a7f1(_0x51acdd- -0x1da,_0x21808b);}function _0x4ecd79(_0x1211a0,_0x43e282){return _0x54a7f1(_0x1211a0- -_0x591056._0x4a2111,_0x43e282);}var _0x2f7ce0,_0x2e919f,_0x409c29=_0x46345d['x'],_0x28250f=_0x46345d['y'];_0x409c29=adjust_lon(_0x409c29-this[_0x337145(_0x16c55b._0x3bdbdd,0xfb5)]);if(this[_0x4ecd79(0x8a2,0x377)]){if(!this['m'])_0x28250f=this['n']!==0x1?Math['asin'](this['n']*Math['sin'](_0x28250f)):_0x28250f;else{var _0x2f9c65=this['n']*Math['sin'](_0x28250f);for(var _0x5569b9=MAX_ITER;_0x5569b9;--_0x5569b9){var _0x3dafe8=(this['m']*_0x28250f+Math['sin'](_0x28250f)-_0x2f9c65)/(this['m']+Math['cos'](_0x28250f));_0x28250f-=_0x3dafe8;if(Math[_0x337145(_0x16c55b._0x13277c,0xef8)](_0x3dafe8)<EPSLN)break;}}_0x2f7ce0=this['a']*this[_0x337145(_0x16c55b._0x20e223,_0x16c55b._0x1ce5a2)]*_0x409c29*(this['m']+Math[_0x337145(0x1e65,0x157a)](_0x28250f)),_0x2e919f=this['a']*this['C_y']*_0x28250f;}else{var _0x4b7d5b=Math['sin'](_0x28250f),_0x1a7037=Math['cos'](_0x28250f);_0x2e919f=this['a']*pj_mlfn(_0x28250f,_0x4b7d5b,_0x1a7037,this['en']),_0x2f7ce0=this['a']*_0x409c29*_0x1a7037/Math['sqrt'](0x1-this['es']*_0x4b7d5b*_0x4b7d5b);}return _0x46345d['x']=_0x2f7ce0,_0x46345d['y']=_0x2e919f,_0x46345d;}function inverse$a(_0x127518){const _0x2bc00e={_0x48abff:0xfe9,_0x42e974:0xf8c,_0x10fd65:0xcbe,_0x2199cd:0x17a3};var _0x1c009c,_0x2a4dc2,_0x3cdfcb,_0x2ae332;_0x127518['x']-=this['x0'];function _0x5d9592(_0x2788f5,_0x4b4bb1){return _0x7afdbe(_0x2788f5,_0x4b4bb1- -0x1df);}_0x3cdfcb=_0x127518['x']/this['a'],_0x127518['y']-=this['y0'],_0x1c009c=_0x127518['y']/this['a'];if(this[_0x2cf080(0x8ec,0x1382)]){_0x1c009c/=this[_0x5d9592(_0x2bc00e._0x48abff,0x759)],_0x3cdfcb=_0x3cdfcb/(this['C_x']*(this['m']+Math['cos'](_0x1c009c)));if(this['m'])_0x1c009c=asinz((this['m']*_0x1c009c+Math['sin'](_0x1c009c))/this['n']);else this['n']!==0x1&&(_0x1c009c=asinz(Math['sin'](_0x1c009c)/this['n']));_0x3cdfcb=adjust_lon(_0x3cdfcb+this['long0']),_0x1c009c=adjust_lat(_0x1c009c);}else{_0x1c009c=pj_inv_mlfn(_0x127518['y']/this['a'],this['es'],this['en']),_0x2ae332=Math[_0x2cf080(_0x2bc00e._0x42e974,0xb30)](_0x1c009c);if(_0x2ae332<HALF_PI)_0x2ae332=Math[_0x2cf080(0x32e,-0x73a)](_0x1c009c),_0x2a4dc2=this[_0x2cf080(0x1049,0xde0)]+_0x127518['x']*Math[_0x2cf080(_0x2bc00e._0x10fd65,0xe7d)](0x1-this['es']*_0x2ae332*_0x2ae332)/(this['a']*Math[_0x5d9592(0x11f7,_0x2bc00e._0x2199cd)](_0x1c009c)),_0x3cdfcb=adjust_lon(_0x2a4dc2);else _0x2ae332-EPSLN<HALF_PI&&(_0x3cdfcb=this['long0']);}_0x127518['x']=_0x3cdfcb,_0x127518['y']=_0x1c009c;function _0x2cf080(_0x2cf22d,_0xfb9e56){return _0x7afdbe(_0xfb9e56,_0x2cf22d- -0x374);}return _0x127518;}var names$a=['Sinusoidal',_0x7afdbe(0x298,0xaf5)];const _0xf2248={};_0xf2248['init']=init$a,_0xf2248['forward']=forward$a,_0xf2248[_0x54a7f1(0x140e,0xbb1)]=inverse$a,_0xf2248[_0x7afdbe(0x1100,0x9e0)]=names$a;var sinu=_0xf2248;function init$9(){}function forward$9(_0x452692){const _0x3fa45d={_0x586dc4:0x183,_0x2df2e5:0x1305,_0x25d324:0xf6},_0x45aa35={_0x4d0ce8:0x190};function _0x2a3a08(_0x3ee402,_0x51ba43){return _0x7afdbe(_0x3ee402,_0x51ba43- -0x51f);}var _0x15952b=_0x452692['x'],_0x35466e=_0x452692['y'],_0x599cb1=adjust_lon(_0x15952b-this['long0']),_0x214ad6=_0x35466e,_0x302d26=Math['PI']*Math[_0x2a3a08(0x933,_0x3fa45d._0x586dc4)](_0x35466e);while(!![]){var _0x4ff4b9=-(_0x214ad6+Math['sin'](_0x214ad6)-_0x302d26)/(0x1+Math[_0x2a3a08(_0x3fa45d._0x2df2e5,0x1463)](_0x214ad6));_0x214ad6+=_0x4ff4b9;if(Math['abs'](_0x4ff4b9)<EPSLN)break;}_0x214ad6/=0x2;Math['PI']/0x2-Math['abs'](_0x35466e)<EPSLN&&(_0x599cb1=0x0);var _0xd7ae82=0.900316316158*this['a']*_0x599cb1*Math[_0x2a3a08(0x1315,0x1463)](_0x214ad6)+this['x0'],_0x31c8ef=1.4142135623731*this['a']*Math[_0x68257f(-_0x3fa45d._0x25d324,0x604)](_0x214ad6)+this['y0'];_0x452692['x']=_0xd7ae82,_0x452692['y']=_0x31c8ef;function _0x68257f(_0x30f775,_0x4e8d68){return _0x54a7f1(_0x4e8d68-_0x45aa35._0x4d0ce8,_0x30f775);}return _0x452692;}function inverse$9(_0x9d5e6a){const _0x2c7406={_0x42f115:0xdaa,_0x5cc2a6:0x47e};var _0x570026;function _0x29a447(_0x4de2a7,_0x544910){return _0x54a7f1(_0x4de2a7-0x4f,_0x544910);}function _0x5c0b88(_0x23dabe,_0x12cd3c){return _0x54a7f1(_0x23dabe-0x1e,_0x12cd3c);}var _0x32e4ee;_0x9d5e6a['x']-=this['x0'],_0x9d5e6a['y']-=this['y0'],_0x32e4ee=_0x9d5e6a['y']/(1.4142135623731*this['a']);Math['abs'](_0x32e4ee)>0.999999999999&&(_0x32e4ee=0.999999999999);_0x570026=Math[_0x29a447(0x13ac,_0x2c7406._0x42f115)](_0x32e4ee);var _0x434af7=adjust_lon(this[_0x29a447(0x11de,0x12ac)]+_0x9d5e6a['x']/(0.900316316158*this['a']*Math['cos'](_0x570026)));_0x434af7<-Math['PI']&&(_0x434af7=-Math['PI']);_0x434af7>Math['PI']&&(_0x434af7=Math['PI']);_0x32e4ee=(0x2*_0x570026+Math[_0x29a447(0x4c3,_0x2c7406._0x5cc2a6)](0x2*_0x570026))/Math['PI'];Math['abs'](_0x32e4ee)>0x1&&(_0x32e4ee=0x1);var _0x513a7b=Math[_0x29a447(0x13ac,0x1734)](_0x32e4ee);return _0x9d5e6a['x']=_0x434af7,_0x9d5e6a['y']=_0x513a7b,_0x9d5e6a;}var names$9=['Mollweide','moll'];const _0x200ec9={};_0x200ec9[_0x54a7f1(0x1601,0x18a7)]=init$9,_0x200ec9['forward']=forward$9,_0x200ec9['inverse']=inverse$9,_0x200ec9['names']=names$9;var moll=_0x200ec9;function init$8(){const _0x52f43e={_0x188659:0xc37,_0x14cb9b:0x5de,_0x1094c0:0x321,_0x3ad90d:0x4b9,_0x28d435:0x1147,_0x377fc4:0x155a,_0x55f1a0:0x4b9,_0x1d9eca:0x30f,_0x53cfe1:0x140f,_0x53284d:0xea7,_0x26de8c:0x1ba2},_0x4d5304={_0x40c9ea:0x8c},_0x120f61={_0x28c158:0x45};if(Math['abs'](this['lat1']+this[_0xc31743(0x1484,0x132c)])<EPSLN)return;this['lat2']=this['lat2']||this['lat1'],this[_0x15b039(0x1170,_0x52f43e._0x188659)]=this['b']/this['a'];function _0x15b039(_0x4fd3ff,_0xf888c7){return _0x54a7f1(_0x4fd3ff-_0x120f61._0x28c158,_0xf888c7);}this['es']=0x1-Math[_0xc31743(_0x52f43e._0x14cb9b,_0x52f43e._0x1094c0)](this['temp'],0x2),this['e']=Math['sqrt'](this['es']),this['e0']=e0fn(this['es']),this['e1']=e1fn(this['es']),this['e2']=e2fn(this['es']),this['e3']=e3fn(this['es']),this['sinphi']=Math[_0x15b039(_0x52f43e._0x3ad90d,0x392)](this[_0x15b039(0x155a,0x1e95)]),this[_0x15b039(0x140f,0x113f)]=Math['cos'](this['lat1']),this[_0x15b039(_0x52f43e._0x28d435,0x1b9b)]=msfnz(this['e'],this['sinphi'],this['cosphi']),this['ml1']=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x15b039(_0x52f43e._0x377fc4,0x1c4c)]);function _0xc31743(_0x4a75af,_0x3d31b1){return _0x54a7f1(_0x3d31b1-_0x4d5304._0x40c9ea,_0x4a75af);}Math['abs'](this[_0x15b039(_0x52f43e._0x377fc4,0xee6)]-this[_0x15b039(0x12e5,0x1996)])<EPSLN?this['ns']=this['sinphi']:(this['sinphi']=Math[_0x15b039(_0x52f43e._0x55f1a0,-_0x52f43e._0x1d9eca)](this['lat2']),this[_0x15b039(0x140f,0x10bf)]=Math['cos'](this[_0x15b039(0x12e5,0x101c)]),this[_0x15b039(0x1138,0xc58)]=msfnz(this['e'],this[_0xc31743(0x123c,0x1057)],this[_0x15b039(_0x52f43e._0x53cfe1,_0x52f43e._0x53284d)]),this['ml2']=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this['lat2']),this['ns']=(this[_0xc31743(0x10aa,0x118e)]-this['ms2'])/(this['ml2']-this['ml1'])),this['g']=this[_0x15b039(0x151e,_0x52f43e._0x26de8c)]+this['ms1']/this['ns'],this['ml0']=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this['lat0']),this['rh']=this['a']*(this['g']-this['ml0']);}function forward$8(_0x18f8d4){const _0x482581={_0x2ed2ff:0x1626};function _0x2c83a2(_0x226ad4,_0x1e7b6d){return _0x54a7f1(_0x226ad4- -0x12e,_0x1e7b6d);}var _0x3e53f3=_0x18f8d4['x'],_0x342670=_0x18f8d4['y'],_0x3e7924;if(this[_0x2a7bab(0xc7e,0xec3)])_0x3e7924=this['a']*(this['g']-_0x342670);else{var _0x272eb4=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0x342670);_0x3e7924=this['a']*(this['g']-_0x272eb4);}var _0x113c0f=this['ns']*adjust_lon(_0x3e53f3-this['long0']),_0x23df73=this['x0']+_0x3e7924*Math['sin'](_0x113c0f),_0xbe294=this['y0']+this['rh']-_0x3e7924*Math[_0x2c83a2(_0x482581._0x2ed2ff,0x1cc9)](_0x113c0f);_0x18f8d4['x']=_0x23df73;function _0x2a7bab(_0x24212c,_0x38b563){return _0x7afdbe(_0x38b563,_0x24212c-0x1e);}return _0x18f8d4['y']=_0xbe294,_0x18f8d4;}function inverse$8(_0x222993){const _0x1280ec={_0x1c1a12:0x5a5,_0x1ee944:0xa05},_0x38a0f5={_0x53b028:0x25b};_0x222993['x']-=this['x0'],_0x222993['y']=this['rh']-_0x222993['y']+this['y0'];var _0x5cc757,_0x27cd10,_0x4afc63,_0x507faf;this['ns']>=0x0?(_0x27cd10=Math['sqrt'](_0x222993['x']*_0x222993['x']+_0x222993['y']*_0x222993['y']),_0x5cc757=0x1):(_0x27cd10=-Math['sqrt'](_0x222993['x']*_0x222993['x']+_0x222993['y']*_0x222993['y']),_0x5cc757=-0x1);var _0x1589e5=0x0;function _0x252ec9(_0x45fe83,_0x514319){return _0x7afdbe(_0x514319,_0x45fe83- -_0x38a0f5._0x53b028);}_0x27cd10!==0x0&&(_0x1589e5=Math[_0x252ec9(0x47d,_0x1280ec._0x1c1a12)](_0x5cc757*_0x222993['x'],_0x5cc757*_0x222993['y']));function _0x58d3e8(_0x4a763b,_0x1c402d){return _0x54a7f1(_0x4a763b- -0x41a,_0x1c402d);}if(this[_0x252ec9(_0x1280ec._0x1ee944,0xd97)])return _0x507faf=adjust_lon(this['long0']+_0x1589e5/this['ns']),_0x4afc63=adjust_lat(this['g']-_0x27cd10/this['a']),_0x222993['x']=_0x507faf,_0x222993['y']=_0x4afc63,_0x222993;else{var _0x44bc1d=this['g']-_0x27cd10/this['a'];return _0x4afc63=imlfn(_0x44bc1d,this['e0'],this['e1'],this['e2'],this['e3']),_0x507faf=adjust_lon(this['long0']+_0x1589e5/this['ns']),_0x222993['x']=_0x507faf,_0x222993['y']=_0x4afc63,_0x222993;}}var names$8=['Equidistant_Conic','eqdc'];const _0xb14687={};_0xb14687[_0x7afdbe(0xfb9,0x182f)]=init$8,_0xb14687[_0x54a7f1(0x11d5,0xa74)]=forward$8,_0xb14687['inverse']=inverse$8,_0xb14687['names']=names$8;var eqdc=_0xb14687;function init$7(){this['R']=this['a'];}function forward$7(_0x2541b7){const _0x1f04c5={_0x45b21b:0x2a4,_0x2641d3:0xd50,_0x1af2a0:0x13cc,_0x542499:0xfb4,_0x3ac1fe:0xa82},_0x230c2d={_0x5af73b:0x6ed};var _0x2d7991=_0x2541b7['x'],_0x2aa87d=_0x2541b7['y'],_0x501a2e=adjust_lon(_0x2d7991-this['long0']),_0x538278,_0x31bd04;Math['abs'](_0x2aa87d)<=EPSLN&&(_0x538278=this['x0']+this['R']*_0x501a2e,_0x31bd04=this['y0']);var _0x35e6b0=asinz(0x2*Math['abs'](_0x2aa87d/Math['PI']));(Math[_0x198ce1(_0x1f04c5._0x45b21b,_0x1f04c5._0x2641d3)](_0x501a2e)<=EPSLN||Math['abs'](Math['abs'](_0x2aa87d)-HALF_PI)<=EPSLN)&&(_0x538278=this['x0'],_0x2aa87d>=0x0?_0x31bd04=this['y0']+Math['PI']*this['R']*Math[_0x153df2(0x8da,0xfb4)](0.5*_0x35e6b0):_0x31bd04=this['y0']+Math['PI']*this['R']*-Math[_0x153df2(_0x1f04c5._0x1af2a0,_0x1f04c5._0x542499)](0.5*_0x35e6b0));var _0x191c2f=0.5*Math['abs'](Math['PI']/_0x501a2e-_0x501a2e/Math['PI']),_0x90f698=_0x191c2f*_0x191c2f,_0x4243ce=Math['sin'](_0x35e6b0);function _0x198ce1(_0x5471d2,_0x39eef3){return _0x54a7f1(_0x39eef3- -0x382,_0x5471d2);}var _0x42875e=Math['cos'](_0x35e6b0),_0x702693=_0x42875e/(_0x4243ce+_0x42875e-0x1),_0x3832f7=_0x702693*_0x702693,_0x6458be=_0x702693*(0x2/_0x4243ce-0x1),_0x7c9aba=_0x6458be*_0x6458be,_0x465c36=Math['PI']*this['R']*(_0x191c2f*(_0x702693-_0x7c9aba)+Math['sqrt'](_0x90f698*(_0x702693-_0x7c9aba)*(_0x702693-_0x7c9aba)-(_0x7c9aba+_0x90f698)*(_0x3832f7-_0x7c9aba)))/(_0x7c9aba+_0x90f698);_0x501a2e<0x0&&(_0x465c36=-_0x465c36);_0x538278=this['x0']+_0x465c36;var _0x2c55aa=_0x90f698+_0x702693;function _0x153df2(_0xe77dbd,_0x189560){return _0x7afdbe(_0xe77dbd,_0x189560- -_0x230c2d._0x5af73b);}return _0x465c36=Math['PI']*this['R']*(_0x6458be*_0x2c55aa-_0x191c2f*Math[_0x198ce1(0x98c,_0x1f04c5._0x3ac1fe)]((_0x7c9aba+_0x90f698)*(_0x90f698+0x1)-_0x2c55aa*_0x2c55aa))/(_0x7c9aba+_0x90f698),_0x2aa87d>=0x0?_0x31bd04=this['y0']+_0x465c36:_0x31bd04=this['y0']-_0x465c36,_0x2541b7['x']=_0x538278,_0x2541b7['y']=_0x31bd04,_0x2541b7;}function inverse$7(_0x19a0de){const _0x405c85={_0x3a2902:0x12a6,_0x151c26:0x966},_0x50c5ec={_0x118365:0x1d4};var _0x1914f8,_0x477cac;function _0x3dc33b(_0x3f7ad9,_0x352b01){return _0x54a7f1(_0x3f7ad9-0x21d,_0x352b01);}var _0x197b75,_0x256b38,_0x4dd890,_0x47f28d,_0x13e39d,_0xe79cd4,_0x164639;function _0x47d3ed(_0x911eb7,_0x252e46){return _0x54a7f1(_0x911eb7-_0x50c5ec._0x118365,_0x252e46);}var _0xeead6a,_0x164b83,_0x459b10,_0x40cc78;return _0x19a0de['x']-=this['x0'],_0x19a0de['y']-=this['y0'],_0x164b83=Math['PI']*this['R'],_0x197b75=_0x19a0de['x']/_0x164b83,_0x256b38=_0x19a0de['y']/_0x164b83,_0x4dd890=_0x197b75*_0x197b75+_0x256b38*_0x256b38,_0x47f28d=-Math[_0x47d3ed(_0x405c85._0x3a2902,0xc2d)](_0x256b38)*(0x1+_0x4dd890),_0x13e39d=_0x47f28d-0x2*_0x256b38*_0x256b38+_0x197b75*_0x197b75,_0xe79cd4=-0x2*_0x47f28d+0x1+0x2*_0x256b38*_0x256b38+_0x4dd890*_0x4dd890,_0x40cc78=_0x256b38*_0x256b38/_0xe79cd4+(0x2*_0x13e39d*_0x13e39d*_0x13e39d/_0xe79cd4/_0xe79cd4/_0xe79cd4-0x9*_0x47f28d*_0x13e39d/_0xe79cd4/_0xe79cd4)/0x1b,_0x164639=(_0x47f28d-_0x13e39d*_0x13e39d/0x3/_0xe79cd4)/_0xe79cd4,_0xeead6a=0x2*Math['sqrt'](-_0x164639/0x3),_0x164b83=0x3*_0x40cc78/_0x164639/_0xeead6a,Math['abs'](_0x164b83)>0x1&&(_0x164b83>=0x0?_0x164b83=0x1:_0x164b83=-0x1),_0x459b10=Math[_0x47d3ed(_0x405c85._0x151c26,0xc7)](_0x164b83)/0x3,_0x19a0de['y']>=0x0?_0x477cac=(-_0xeead6a*Math['cos'](_0x459b10+Math['PI']/0x3)-_0x13e39d/0x3/_0xe79cd4)*Math['PI']:_0x477cac=-(-_0xeead6a*Math['cos'](_0x459b10+Math['PI']/0x3)-_0x13e39d/0x3/_0xe79cd4)*Math['PI'],Math['abs'](_0x197b75)<EPSLN?_0x1914f8=this['long0']:_0x1914f8=adjust_lon(this['long0']+Math['PI']*(_0x4dd890-0x1+Math[_0x47d3ed(0xfd8,0x1939)](0x1+0x2*(_0x197b75*_0x197b75-_0x256b38*_0x256b38)+_0x4dd890*_0x4dd890))/0x2/_0x197b75),_0x19a0de['x']=_0x1914f8,_0x19a0de['y']=_0x477cac,_0x19a0de;}var names$7=['Van_der_Grinten_I',_0x54a7f1(0x8fa,-0xe1),'vandg'];const _0x2c29c5={};_0x2c29c5['init']=init$7,_0x2c29c5[_0x7afdbe(0x1463,0x1403)]=forward$7,_0x2c29c5['inverse']=inverse$7,_0x2c29c5[_0x7afdbe(0x1385,0x9e0)]=names$7;var vandg=_0x2c29c5;function init$6(){this['sin_p12']=Math['sin'](this['lat0']),this['cos_p12']=Math['cos'](this['lat0']);}function forward$6(_0x185fca){const _0x484acc={_0x4820c1:0x32c,_0x501b56:0x1e1,_0x1015b7:0x136d,_0x40ecea:0x32c,_0x3d7885:0x12a1,_0x28788c:0xe31,_0x2ad66c:0x73f,_0x159c30:0x16e9,_0x50d04b:0x10e7,_0x5724bc:0x18c,_0x283728:0x136d,_0x470a44:0x1201,_0x5a8f76:0x136d,_0x1691e8:0x1257,_0x2a348b:0x48b,_0x5297ff:0x143f},_0x311ffc={_0x1ec10a:0x29b};function _0x11da25(_0x19c433,_0x4d8a06){return _0x54a7f1(_0x19c433-_0x311ffc._0x1ec10a,_0x4d8a06);}var _0x225119=_0x185fca['x'],_0x53b577=_0x185fca['y'];function _0x363605(_0x19a8ee,_0x4bfa5b){return _0x7afdbe(_0x4bfa5b,_0x19a8ee- -0x376);}var _0x1fc85d=Math[_0x363605(_0x484acc._0x4820c1,_0x484acc._0x501b56)](_0x185fca['y']),_0x19044d=Math[_0x363605(0x160c,0x18db)](_0x185fca['y']),_0x5c783f=adjust_lon(_0x225119-this['long0']),_0x4a530a,_0x36c1a5,_0x139031,_0x41269a,_0x5a6737,_0x4d48c0,_0x4779c3,_0xee930a,_0x559910,_0x102557,_0x347630,_0x5618df,_0x3e234c,_0x15d21b,_0x32c70b,_0x50fa9f,_0x4c6611,_0x2ee418,_0x54a7a8,_0x29388d,_0x37c3c9,_0x12683f,_0x4c0cbc;if(this['sphere']){if(Math[_0x11da25(_0x484acc._0x1015b7,0x17d7)](this['sin_p12']-0x1)<=EPSLN)return _0x185fca['x']=this['x0']+this['a']*(HALF_PI-_0x53b577)*Math[_0x363605(_0x484acc._0x40ecea,-0x71c)](_0x5c783f),_0x185fca['y']=this['y0']-this['a']*(HALF_PI-_0x53b577)*Math['cos'](_0x5c783f),_0x185fca;else return Math['abs'](this['sin_p12']+0x1)<=EPSLN?(_0x185fca['x']=this['x0']+this['a']*(HALF_PI+_0x53b577)*Math['sin'](_0x5c783f),_0x185fca['y']=this['y0']+this['a']*(HALF_PI+_0x53b577)*Math['cos'](_0x5c783f),_0x185fca):(_0x2ee418=this[_0x11da25(_0x484acc._0x3d7885,_0x484acc._0x28788c)]*_0x1fc85d+this['cos_p12']*_0x19044d*Math['cos'](_0x5c783f),_0x50fa9f=Math[_0x11da25(0xa2d,0xdac)](_0x2ee418),_0x4c6611=_0x50fa9f?_0x50fa9f/Math[_0x11da25(0x70f,_0x484acc._0x2ad66c)](_0x50fa9f):0x1,_0x185fca['x']=this['x0']+this['a']*_0x4c6611*_0x19044d*Math['sin'](_0x5c783f),_0x185fca['y']=this['y0']+this['a']*_0x4c6611*(this['cos_p12']*_0x1fc85d-this['sin_p12']*_0x19044d*Math[_0x363605(0x160c,0xe18)](_0x5c783f)),_0x185fca);}else{_0x4a530a=e0fn(this['es']),_0x36c1a5=e1fn(this['es']),_0x139031=e2fn(this['es']),_0x41269a=e3fn(this['es']);if(Math['abs'](this[_0x11da25(0x12a1,_0x484acc._0x159c30)]-0x1)<=EPSLN)return _0x5a6737=this['a']*mlfn(_0x4a530a,_0x36c1a5,_0x139031,_0x41269a,HALF_PI),_0x4d48c0=this['a']*mlfn(_0x4a530a,_0x36c1a5,_0x139031,_0x41269a,_0x53b577),_0x185fca['x']=this['x0']+(_0x5a6737-_0x4d48c0)*Math['sin'](_0x5c783f),_0x185fca['y']=this['y0']-(_0x5a6737-_0x4d48c0)*Math['cos'](_0x5c783f),_0x185fca;else{if(Math[_0x363605(0xf8a,_0x484acc._0x50d04b)](this['sin_p12']+0x1)<=EPSLN)return _0x5a6737=this['a']*mlfn(_0x4a530a,_0x36c1a5,_0x139031,_0x41269a,HALF_PI),_0x4d48c0=this['a']*mlfn(_0x4a530a,_0x36c1a5,_0x139031,_0x41269a,_0x53b577),_0x185fca['x']=this['x0']+(_0x5a6737+_0x4d48c0)*Math[_0x363605(0x32c,0x670)](_0x5c783f),_0x185fca['y']=this['y0']+(_0x5a6737+_0x4d48c0)*Math['cos'](_0x5c783f),_0x185fca;else{_0x4779c3=_0x1fc85d/_0x19044d,_0xee930a=gN(this['a'],this['e'],this['sin_p12']),_0x559910=gN(this['a'],this['e'],_0x1fc85d),_0x102557=Math['atan']((0x1-this['es'])*_0x4779c3+this['es']*_0xee930a*this['sin_p12']/(_0x559910*_0x19044d)),_0x347630=Math['atan2'](Math[_0x11da25(0x70f,-_0x484acc._0x5724bc)](_0x5c783f),this['cos_p12']*Math[_0x363605(0x132b,0xed7)](_0x102557)-this['sin_p12']*Math['cos'](_0x5c783f));if(_0x347630===0x0)_0x54a7a8=Math['asin'](this['cos_p12']*Math['sin'](_0x102557)-this[_0x11da25(0x12a1,0x1a10)]*Math['cos'](_0x102557));else Math[_0x11da25(_0x484acc._0x283728,_0x484acc._0x470a44)](Math[_0x11da25(_0x484acc._0x5a8f76,_0x484acc._0x1691e8)](_0x347630)-Math['PI'])<=EPSLN?_0x54a7a8=-Math['asin'](this['cos_p12']*Math[_0x11da25(0x70f,0x36f)](_0x102557)-this['sin_p12']*Math['cos'](_0x102557)):_0x54a7a8=Math['asin'](Math['sin'](_0x5c783f)*Math[_0x363605(0x160c,0x1f8b)](_0x102557)/Math[_0x363605(0x32c,_0x484acc._0x2a348b)](_0x347630));return _0x5618df=this['e']*this['sin_p12']/Math[_0x363605(0xcbc,0x1055)](0x1-this['es']),_0x3e234c=this['e']*this[_0x363605(_0x484acc._0x5297ff,0x18cc)]*Math['cos'](_0x347630)/Math[_0x11da25(0x109f,0xdff)](0x1-this['es']),_0x15d21b=_0x5618df*_0x3e234c,_0x32c70b=_0x3e234c*_0x3e234c,_0x29388d=_0x54a7a8*_0x54a7a8,_0x37c3c9=_0x29388d*_0x54a7a8,_0x12683f=_0x37c3c9*_0x54a7a8,_0x4c0cbc=_0x12683f*_0x54a7a8,_0x50fa9f=_0xee930a*_0x54a7a8*(0x1-_0x29388d*_0x32c70b*(0x1-_0x32c70b)/0x6+_0x37c3c9/0x8*_0x15d21b*(0x1-0x2*_0x32c70b)+_0x12683f/0x78*(_0x32c70b*(0x4-0x7*_0x32c70b)-0x3*_0x5618df*_0x5618df*(0x1-0x7*_0x32c70b))-_0x4c0cbc/0x30*_0x15d21b),_0x185fca['x']=this['x0']+_0x50fa9f*Math[_0x11da25(0x70f,0x9ee)](_0x347630),_0x185fca['y']=this['y0']+_0x50fa9f*Math[_0x11da25(0x19ef,0x1d8e)](_0x347630),_0x185fca;}}}}function inverse$6(_0x5b72b1){const _0x22ff28={_0x1a524f:0x11b0,_0x56323c:0xa62,_0x44a9ec:0xa09,_0xf6d434:0x9a1,_0x582eb4:0x120,_0x594f40:0xd58,_0x5bcfc0:0x338,_0x47687b:0x73,_0x40c5f7:0xe94,_0x7bfd8f:0x8e,_0x3f52be:0x1150,_0x5be9b2:0x17fb,_0x1191d2:0xbcf,_0x5cf6c6:0x12de,_0x51bb8f:0x11d3,_0x5c367c:0x15e2,_0x419b69:0x1150,_0x5d46a3:0x367,_0x2db028:0x3d,_0x314b8b:0x66d},_0x425dcd={_0x48ca11:0x437};function _0x25cd06(_0x2457bf,_0x54c6a8){return _0x7afdbe(_0x54c6a8,_0x2457bf- -0x3a0);}function _0x2ba07b(_0x39cc77,_0xf64e90){return _0x54a7f1(_0x39cc77- -_0x425dcd._0x48ca11,_0xf64e90);}_0x5b72b1['x']-=this['x0'],_0x5b72b1['y']-=this['y0'];var _0x67e747,_0x229c46,_0xcb6946,_0x3fd348,_0x5cb469,_0x93f7f,_0x403ca0,_0x4761c4,_0xcd7995,_0x2ea92b,_0x586e49,_0x19e1a6,_0x40bdc5,_0x4fc868,_0x5a41d6,_0x1532f6,_0x2952c5,_0x3a634b,_0x187838,_0x41a622,_0x55a648,_0x1fd03c,_0x2ea60e,_0x3114b9;if(this['sphere']){_0x67e747=Math[_0x2ba07b(0x9cd,_0x22ff28._0x1a524f)](_0x5b72b1['x']*_0x5b72b1['x']+_0x5b72b1['y']*_0x5b72b1['y']);if(_0x67e747>0x2*HALF_PI*this['a'])return;return _0x229c46=_0x67e747/this['a'],_0xcb6946=Math['sin'](_0x229c46),_0x3fd348=Math['cos'](_0x229c46),_0x5cb469=this['long0'],Math['abs'](_0x67e747)<=EPSLN?_0x93f7f=this['lat0']:(_0x93f7f=asinz(_0x3fd348*this[_0x2ba07b(0xbcf,_0x22ff28._0x56323c)]+_0x5b72b1['y']*_0xcb6946*this[_0x2ba07b(0x1150,_0x22ff28._0x44a9ec)]/_0x67e747),_0x403ca0=Math['abs'](this['lat0'])-HALF_PI,Math[_0x2ba07b(0xc9b,_0x22ff28._0xf6d434)](_0x403ca0)<=EPSLN?this[_0x2ba07b(0xa67,_0x22ff28._0x582eb4)]>=0x0?_0x5cb469=adjust_lon(this[_0x2ba07b(_0x22ff28._0x594f40,0xfa3)]+Math[_0x25cd06(_0x22ff28._0x5bcfc0,0x3e9)](_0x5b72b1['x'],-_0x5b72b1['y'])):_0x5cb469=adjust_lon(this['long0']-Math[_0x25cd06(0x338,-0x372)](-_0x5b72b1['x'],_0x5b72b1['y'])):_0x5cb469=adjust_lon(this['long0']+Math[_0x2ba07b(_0x22ff28._0x47687b,0x80f)](_0x5b72b1['x']*_0xcb6946,_0x67e747*this['cos_p12']*_0x3fd348-_0x5b72b1['y']*this['sin_p12']*_0xcb6946))),_0x5b72b1['x']=_0x5cb469,_0x5b72b1['y']=_0x93f7f,_0x5b72b1;}else{_0x4761c4=e0fn(this['es']),_0xcd7995=e1fn(this['es']),_0x2ea92b=e2fn(this['es']),_0x586e49=e3fn(this['es']);if(Math['abs'](this['sin_p12']-0x1)<=EPSLN)return _0x19e1a6=this['a']*mlfn(_0x4761c4,_0xcd7995,_0x2ea92b,_0x586e49,HALF_PI),_0x67e747=Math['sqrt'](_0x5b72b1['x']*_0x5b72b1['x']+_0x5b72b1['y']*_0x5b72b1['y']),_0x40bdc5=_0x19e1a6-_0x67e747,_0x93f7f=imlfn(_0x40bdc5/this['a'],_0x4761c4,_0xcd7995,_0x2ea92b,_0x586e49),_0x5cb469=adjust_lon(this['long0']+Math[_0x2ba07b(0x73,0x4c4)](_0x5b72b1['x'],-0x1*_0x5b72b1['y'])),_0x5b72b1['x']=_0x5cb469,_0x5b72b1['y']=_0x93f7f,_0x5b72b1;else return Math[_0x2ba07b(0xc9b,0xa1f)](this[_0x25cd06(_0x22ff28._0x40c5f7,0x18f9)]+0x1)<=EPSLN?(_0x19e1a6=this['a']*mlfn(_0x4761c4,_0xcd7995,_0x2ea92b,_0x586e49,HALF_PI),_0x67e747=Math[_0x25cd06(0xc92,0x901)](_0x5b72b1['x']*_0x5b72b1['x']+_0x5b72b1['y']*_0x5b72b1['y']),_0x40bdc5=_0x67e747-_0x19e1a6,_0x93f7f=imlfn(_0x40bdc5/this['a'],_0x4761c4,_0xcd7995,_0x2ea92b,_0x586e49),_0x5cb469=adjust_lon(this['long0']+Math['atan2'](_0x5b72b1['x'],_0x5b72b1['y'])),_0x5b72b1['x']=_0x5cb469,_0x5b72b1['y']=_0x93f7f,_0x5b72b1):(_0x67e747=Math[_0x25cd06(0xc92,0x1222)](_0x5b72b1['x']*_0x5b72b1['x']+_0x5b72b1['y']*_0x5b72b1['y']),_0x1532f6=Math[_0x25cd06(0x338,-_0x22ff28._0x7bfd8f)](_0x5b72b1['x'],_0x5b72b1['y']),_0x4fc868=gN(this['a'],this['e'],this['sin_p12']),_0x2952c5=Math['cos'](_0x1532f6),_0x3a634b=this['e']*this[_0x2ba07b(_0x22ff28._0x3f52be,_0x22ff28._0x5be9b2)]*_0x2952c5,_0x187838=-_0x3a634b*_0x3a634b/(0x1-this['es']),_0x41a622=0x3*this['es']*(0x1-_0x187838)*this[_0x2ba07b(_0x22ff28._0x1191d2,_0x22ff28._0x5cf6c6)]*this['cos_p12']*_0x2952c5/(0x1-this['es']),_0x55a648=_0x67e747/_0x4fc868,_0x1fd03c=_0x55a648-_0x187838*(0x1+_0x187838)*Math['pow'](_0x55a648,0x3)/0x6-_0x41a622*(0x1+0x3*_0x187838)*Math['pow'](_0x55a648,0x4)/0x18,_0x2ea60e=0x1-_0x187838*_0x1fd03c*_0x1fd03c/0x2-_0x55a648*_0x1fd03c*_0x1fd03c*_0x1fd03c/0x6,_0x5a41d6=Math[_0x2ba07b(0xf26,_0x22ff28._0x51bb8f)](this['sin_p12']*Math[_0x25cd06(_0x22ff28._0x5c367c,0x1bee)](_0x1fd03c)+this[_0x2ba07b(_0x22ff28._0x419b69,0xd45)]*Math[_0x25cd06(0x302,-_0x22ff28._0x5d46a3)](_0x1fd03c)*_0x2952c5),_0x5cb469=adjust_lon(this['long0']+Math['asin'](Math[_0x2ba07b(0x3d,-0x56a)](_0x1532f6)*Math['sin'](_0x1fd03c)/Math[_0x2ba07b(0x131d,0x976)](_0x5a41d6))),_0x3114b9=Math[_0x2ba07b(_0x22ff28._0x2db028,-_0x22ff28._0x314b8b)](_0x5a41d6),_0x93f7f=Math[_0x2ba07b(_0x22ff28._0x47687b,-0x8e)]((_0x3114b9-this['es']*_0x2ea60e*this[_0x25cd06(0xe94,0x1575)])*Math['tan'](_0x5a41d6),_0x3114b9*(0x1-this['es'])),_0x5b72b1['x']=_0x5cb469,_0x5b72b1['y']=_0x93f7f,_0x5b72b1);}}var names$6=['Azimuthal_Equidistant','aeqd'];const _0x45f7cf={};_0x45f7cf['init']=init$6,_0x45f7cf[_0x7afdbe(0x16b5,0x1403)]=forward$6,_0x45f7cf['inverse']=inverse$6,_0x45f7cf['names']=names$6;var aeqd=_0x45f7cf;function init$5(){const _0xfa8e3b={_0x101695:0x7d7},_0x50406e={_0x20a194:0x519};function _0xa325e(_0x1e6b46,_0x14d514){return _0x7afdbe(_0x1e6b46,_0x14d514- -_0x50406e._0x20a194);}function _0xa0233c(_0x4acd5c,_0x4271e6){return _0x7afdbe(_0x4271e6,_0x4acd5c- -0x2fe);}this[_0xa0233c(_0xfa8e3b._0x101695,0xf15)]=Math['sin'](this['lat0']),this[_0xa0233c(0x1be,0x40c)]=Math['cos'](this['lat0']);}function forward$5(_0x3da72a){const _0x4c8b01={_0x116004:0x17c6,_0x56e335:0x2ae},_0x3b78e7={_0x41d595:0x6e7};var _0x2089eb,_0x24da8c,_0x59b786,_0x98c9ac;function _0x5d0b8b(_0xcfdd8c,_0x3b5feb){return _0x54a7f1(_0xcfdd8c-0x72,_0x3b5feb);}var _0x1ce174,_0x5379d0,_0x34f2cc,_0xd96988;function _0x101507(_0x219837,_0x2ef983){return _0x7afdbe(_0x2ef983,_0x219837- -_0x3b78e7._0x41d595);}var _0x2747d9=_0x3da72a['x'],_0x1995e8=_0x3da72a['y'];return _0x59b786=adjust_lon(_0x2747d9-this[_0x5d0b8b(0x1201,0x16e3)]),_0x2089eb=Math['sin'](_0x1995e8),_0x24da8c=Math['cos'](_0x1995e8),_0x98c9ac=Math[_0x5d0b8b(_0x4c8b01._0x116004,0x1e8c)](_0x59b786),_0x5379d0=this[_0x101507(0x3ee,-_0x4c8b01._0x56e335)]*_0x2089eb+this[_0x5d0b8b(0x300,0x38d)]*_0x24da8c*_0x98c9ac,_0x1ce174=0x1,(_0x5379d0>0x0||Math['abs'](_0x5379d0)<=EPSLN)&&(_0x34f2cc=this['a']*_0x1ce174*_0x24da8c*Math['sin'](_0x59b786),_0xd96988=this['y0']+this['a']*_0x1ce174*(this['cos_p14']*_0x2089eb-this['sin_p14']*_0x24da8c*_0x98c9ac)),_0x3da72a['x']=_0x34f2cc,_0x3da72a['y']=_0xd96988,_0x3da72a;}function inverse$5(_0x5e2b75){const _0x220af4={_0x4a3d27:0x1b9b,_0x34cf23:0x100b,_0x42e706:0xa92,_0x11d62d:0x9d4,_0x2f43ab:0x1704},_0x31abfd={_0x54634b:0x3b2};var _0x558e14,_0x384e6e,_0x165714,_0xdbd7d8,_0x3a7965,_0x43bc52,_0x3bcdc2;_0x5e2b75['x']-=this['x0'],_0x5e2b75['y']-=this['y0'],_0x558e14=Math['sqrt'](_0x5e2b75['x']*_0x5e2b75['x']+_0x5e2b75['y']*_0x5e2b75['y']),_0x384e6e=asinz(_0x558e14/this['a']),_0x165714=Math['sin'](_0x384e6e),_0xdbd7d8=Math[_0x5d9ee6(_0x220af4._0x4a3d27,0x17d6)](_0x384e6e),_0x43bc52=this[_0x23d9af(_0x220af4._0x34cf23,0x12be)];if(Math[_0x23d9af(0xf4e,_0x220af4._0x42e706)](_0x558e14)<=EPSLN)return _0x3bcdc2=this['lat0'],_0x5e2b75['x']=_0x43bc52,_0x5e2b75['y']=_0x3bcdc2,_0x5e2b75;_0x3bcdc2=asinz(_0xdbd7d8*this['sin_p14']+_0x5e2b75['y']*_0x165714*this['cos_p14']/_0x558e14);function _0x5d9ee6(_0x1ac2f6,_0x4871d8){return _0x54a7f1(_0x4871d8-0x82,_0x1ac2f6);}_0x3a7965=Math['abs'](this[_0x23d9af(0xd1a,0xde1)])-HALF_PI;if(Math[_0x5d9ee6(0x826,0x1154)](_0x3a7965)<=EPSLN)return this[_0x5d9ee6(_0x220af4._0x11d62d,0xf20)]>=0x0?_0x43bc52=adjust_lon(this['long0']+Math[_0x5d9ee6(0xcfb,0x52c)](_0x5e2b75['x'],-_0x5e2b75['y'])):_0x43bc52=adjust_lon(this[_0x23d9af(0x100b,0x15f6)]-Math['atan2'](-_0x5e2b75['x'],_0x5e2b75['y'])),_0x5e2b75['x']=_0x43bc52,_0x5e2b75['y']=_0x3bcdc2,_0x5e2b75;_0x43bc52=adjust_lon(this[_0x5d9ee6(_0x220af4._0x2f43ab,0x1211)]+Math['atan2'](_0x5e2b75['x']*_0x165714,_0x558e14*this['cos_p14']*_0xdbd7d8-_0x5e2b75['y']*this['sin_p14']*_0x165714)),_0x5e2b75['x']=_0x43bc52,_0x5e2b75['y']=_0x3bcdc2;function _0x23d9af(_0x472568,_0x82b9dc){return _0x7afdbe(_0x82b9dc,_0x472568- -_0x31abfd._0x54634b);}return _0x5e2b75;}var names$5=['ortho'];const _0x1b7a17={};_0x1b7a17[_0x54a7f1(0x1601,0xf8e)]=init$5,_0x1b7a17[_0x7afdbe(0x1587,0x1403)]=forward$5,_0x1b7a17['inverse']=inverse$5,_0x1b7a17['names']=names$5;var ortho=_0x1b7a17;const _0x3a40d2={};_0x3a40d2['FRONT']=0x1,_0x3a40d2['RIGHT']=0x2,_0x3a40d2['BACK']=0x3,_0x3a40d2[_0x7afdbe(0x10f6,0x919)]=0x4,_0x3a40d2[_0x7afdbe(0x111c,0x14f2)]=0x5,_0x3a40d2['BOTTOM']=0x6;var FACE_ENUM=_0x3a40d2;const _0x438970={};_0x438970['AREA_0']=0x1,_0x438970['AREA_1']=0x2,_0x438970[_0x54a7f1(0xd26,0x3ca)]=0x3,_0x438970[_0x7afdbe(0x3f6,0x565)]=0x4;var AREA_ENUM=_0x438970;function init$4(){const _0x2948f6={_0x598df4:0x1008,_0x66651f:0x122d,_0x250620:0x1170,_0x5b3f7e:0x1626,_0x28ee10:0xcc4,_0x61fba8:0x438},_0x3eaf71={_0x5c8b22:0x2f8},_0xfc8fa7={_0x55de03:0x9e};this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0,this['lat0']=this[_0x14ad00(0xf3c,0x4f9)]||0x0,this[_0x14ad00(0x122d,0x1923)]=this['long0']||0x0,this['lat_ts']=this['lat_ts']||0x0,this['title']=this[_0x14ad00(0xf54,0xcac)]||'Quadrilateralized\x20Spherical\x20Cube';function _0x14ad00(_0x228fb9,_0x1cdf6b){return _0x54a7f1(_0x228fb9-_0xfc8fa7._0x55de03,_0x1cdf6b);}function _0x4323ec(_0x3e4c3d,_0x142cb6){return _0x7afdbe(_0x142cb6,_0x3e4c3d- -_0x3eaf71._0x5c8b22);}if(this[_0x4323ec(0xdd4,0xffd)]>=HALF_PI-FORTPI/0x2)this['face']=FACE_ENUM['TOP'];else{if(this['lat0']<=-(HALF_PI-FORTPI/0x2))this['face']=FACE_ENUM['BOTTOM'];else{if(Math[_0x4323ec(_0x2948f6._0x598df4,0x6d4)](this[_0x14ad00(_0x2948f6._0x66651f,0xe90)])<=FORTPI)this[_0x14ad00(0x1620,0x126d)]=FACE_ENUM['FRONT'];else Math[_0x14ad00(_0x2948f6._0x250620,_0x2948f6._0x5b3f7e)](this[_0x14ad00(0x122d,0x13e4)])<=HALF_PI+FORTPI?this['face']=this[_0x4323ec(0x10c5,_0x2948f6._0x28ee10)]>0x0?FACE_ENUM['RIGHT']:FACE_ENUM['LEFT']:this['face']=FACE_ENUM['BACK'];}}this['es']!==0x0&&(this[_0x4323ec(_0x2948f6._0x61fba8,0x726)]=0x1-(this['a']-this['b'])/this['a'],this['one_minus_f_squared']=this[_0x14ad00(0x5a0,0xfca)]*this['one_minus_f']);}function forward$4(_0x7f4214){const _0x5c1fe8={_0x45ad44:0x25c,_0x3f87f5:0x13d6,_0x1ae02b:0x1632,_0x394727:0x1b31,_0x397ae2:0x1457,_0x1d8fe3:0x1d2f,_0x33adb7:0xc89,_0x16d0a5:0x17b,_0x1bb647:0x14d0,_0x322f7b:0x101b,_0x2cbe27:0x1392,_0xb8595b:0x14e5,_0x3db193:0xae7,_0x4adc32:0x1f7,_0x2fd55f:0x3d7,_0x4cd80c:0x16b7,_0xb9cab:0x1015,_0x52ea5f:0x1e6c,_0x3f7059:0x40e,_0x51dc00:0xfc,_0x4a87ee:0xd67,_0x17c114:0x20b2,_0x20acfe:0x73e,_0x23063c:0x124c,_0x2778b3:0xcb1,_0x58a3ea:0xe9e,_0x278bec:0x147f},_0x24cdba={};_0x24cdba['x']=0x0,_0x24cdba['y']=0x0;var _0xfd1fa2=_0x24cdba,_0x26f48a,_0x1aca04,_0x1618fc,_0x209132,_0x1b9f36,_0x137b64;const _0x2fcab4={};_0x2fcab4['value']=0x0;function _0x529f7d(_0x30010f,_0x43ede6){return _0x7afdbe(_0x30010f,_0x43ede6- -0x2cb);}var _0x8c4d59=_0x2fcab4;_0x7f4214['x']-=this['long0'];this['es']!==0x0?_0x26f48a=Math['atan'](this[_0x364c9e(-_0x5c1fe8._0x45ad44,0x80e)]*Math[_0x529f7d(0x1bbd,_0x5c1fe8._0x3f87f5)](_0x7f4214['y'])):_0x26f48a=_0x7f4214['y'];function _0x364c9e(_0x19ef61,_0x376be2){return _0x7afdbe(_0x19ef61,_0x376be2- -0x2a3);}_0x1aca04=_0x7f4214['x'];if(this['face']===FACE_ENUM[_0x364c9e(_0x5c1fe8._0x1ae02b,0x124f)]){_0x209132=HALF_PI-_0x26f48a;if(_0x1aca04>=FORTPI&&_0x1aca04<=HALF_PI+FORTPI)_0x8c4d59['value']=AREA_ENUM['AREA_0'],_0x1618fc=_0x1aca04-HALF_PI;else{if(_0x1aca04>HALF_PI+FORTPI||_0x1aca04<=-(HALF_PI+FORTPI))_0x8c4d59[_0x529f7d(_0x5c1fe8._0x394727,_0x5c1fe8._0x397ae2)]=AREA_ENUM['AREA_1'],_0x1618fc=_0x1aca04>0x0?_0x1aca04-SPI:_0x1aca04+SPI;else _0x1aca04>-(HALF_PI+FORTPI)&&_0x1aca04<=-FORTPI?(_0x8c4d59[_0x529f7d(_0x5c1fe8._0x1d8fe3,0x1457)]=AREA_ENUM[_0x529f7d(0x4e0,_0x5c1fe8._0x33adb7)],_0x1618fc=_0x1aca04+HALF_PI):(_0x8c4d59['value']=AREA_ENUM[_0x364c9e(-_0x5c1fe8._0x16d0a5,0x2c2)],_0x1618fc=_0x1aca04);}}else{if(this[_0x364c9e(0xd1b,0x150d)]===FACE_ENUM['BOTTOM']){_0x209132=HALF_PI+_0x26f48a;if(_0x1aca04>=FORTPI&&_0x1aca04<=HALF_PI+FORTPI)_0x8c4d59[_0x529f7d(0x1bcd,0x1457)]=AREA_ENUM[_0x529f7d(0xe63,_0x5c1fe8._0x1bb647)],_0x1618fc=-_0x1aca04+HALF_PI;else{if(_0x1aca04<FORTPI&&_0x1aca04>=-FORTPI)_0x8c4d59['value']=AREA_ENUM[_0x529f7d(_0x5c1fe8._0x322f7b,0x6c6)],_0x1618fc=-_0x1aca04;else _0x1aca04<-FORTPI&&_0x1aca04>=-(HALF_PI+FORTPI)?(_0x8c4d59[_0x364c9e(_0x5c1fe8._0x2cbe27,0x147f)]=AREA_ENUM['AREA_2'],_0x1618fc=-_0x1aca04-HALF_PI):(_0x8c4d59['value']=AREA_ENUM['AREA_3'],_0x1618fc=_0x1aca04>0x0?-_0x1aca04+SPI:-_0x1aca04-SPI);}}else{var _0x4b4237,_0x24712b,_0x35d7e9,_0x4262a7,_0x4524c3,_0x164b48,_0x304c7c;if(this['face']===FACE_ENUM['RIGHT'])_0x1aca04=qsc_shift_lon_origin(_0x1aca04,+HALF_PI);else{if(this[_0x529f7d(0x1a52,_0x5c1fe8._0xb8595b)]===FACE_ENUM['BACK'])_0x1aca04=qsc_shift_lon_origin(_0x1aca04,+SPI);else this[_0x529f7d(_0x5c1fe8._0x3db193,_0x5c1fe8._0xb8595b)]===FACE_ENUM['LEFT']&&(_0x1aca04=qsc_shift_lon_origin(_0x1aca04,-HALF_PI));}_0x4262a7=Math[_0x529f7d(-_0x5c1fe8._0x4adc32,_0x5c1fe8._0x2fd55f)](_0x26f48a),_0x4524c3=Math[_0x529f7d(0x12b0,_0x5c1fe8._0x4cd80c)](_0x26f48a),_0x164b48=Math['sin'](_0x1aca04),_0x304c7c=Math[_0x529f7d(_0x5c1fe8._0xb9cab,0x16b7)](_0x1aca04),_0x4b4237=_0x4524c3*_0x304c7c,_0x24712b=_0x4524c3*_0x164b48,_0x35d7e9=_0x4262a7;if(this[_0x529f7d(_0x5c1fe8._0x52ea5f,0x14e5)]===FACE_ENUM['FRONT'])_0x209132=Math['acos'](_0x4b4237),_0x1618fc=qsc_fwd_equat_face_theta(_0x209132,_0x35d7e9,_0x24712b,_0x8c4d59);else{if(this[_0x529f7d(0xc5d,0x14e5)]===FACE_ENUM['RIGHT'])_0x209132=Math['acos'](_0x24712b),_0x1618fc=qsc_fwd_equat_face_theta(_0x209132,_0x35d7e9,-_0x4b4237,_0x8c4d59);else{if(this[_0x364c9e(0xf0a,0x150d)]===FACE_ENUM[_0x364c9e(_0x5c1fe8._0x3f7059,0x65f)])_0x209132=Math['acos'](-_0x4b4237),_0x1618fc=qsc_fwd_equat_face_theta(_0x209132,_0x35d7e9,-_0x24712b,_0x8c4d59);else this[_0x364c9e(0x19f4,0x150d)]===FACE_ENUM['LEFT']?(_0x209132=Math['acos'](-_0x24712b),_0x1618fc=qsc_fwd_equat_face_theta(_0x209132,_0x35d7e9,_0x4b4237,_0x8c4d59)):(_0x209132=_0x1618fc=0x0,_0x8c4d59['value']=AREA_ENUM['AREA_0']);}}}}_0x137b64=Math[_0x529f7d(0x11c4,0x73e)](0xc/SPI*(_0x1618fc+Math[_0x529f7d(-_0x5c1fe8._0x51dc00,0x6f5)](Math['sin'](_0x1618fc)*Math['cos'](FORTPI))-HALF_PI)),_0x1b9f36=Math[_0x529f7d(0xda7,_0x5c1fe8._0x4a87ee)]((0x1-Math[_0x529f7d(_0x5c1fe8._0x17c114,0x16b7)](_0x209132))/(Math['cos'](_0x137b64)*Math['cos'](_0x137b64))/(0x1-Math['cos'](Math[_0x529f7d(0x130,_0x5c1fe8._0x20acfe)](0x1/Math[_0x364c9e(0x19c3,0x16df)](_0x1618fc)))));if(_0x8c4d59['value']===AREA_ENUM['AREA_1'])_0x137b64+=HALF_PI;else{if(_0x8c4d59['value']===AREA_ENUM[_0x364c9e(_0x5c1fe8._0x23063c,_0x5c1fe8._0x2778b3)])_0x137b64+=SPI;else _0x8c4d59[_0x364c9e(_0x5c1fe8._0x58a3ea,_0x5c1fe8._0x278bec)]===AREA_ENUM['AREA_3']&&(_0x137b64+=1.5*SPI);}return _0xfd1fa2['x']=_0x1b9f36*Math['cos'](_0x137b64),_0xfd1fa2['y']=_0x1b9f36*Math[_0x364c9e(0xea7,0x3ff)](_0x137b64),_0xfd1fa2['x']=_0xfd1fa2['x']*this['a']+this['x0'],_0xfd1fa2['y']=_0xfd1fa2['y']*this['a']+this['y0'],_0x7f4214['x']=_0xfd1fa2['x'],_0x7f4214['y']=_0xfd1fa2['y'],_0x7f4214;}function inverse$4(_0x5009d4){const _0x43e10f={_0x36c389:0x14b3,_0x45d017:0x1796,_0x31bc42:0x113a,_0x406552:0x716,_0x18f99f:0x139a,_0x27c605:0x148c,_0x502fae:0x1b54,_0x1b11dc:0x11c8,_0x1ebfe3:0x11bb,_0x557785:0xc56,_0x4b2608:0xbe1,_0xfa7d2c:0x10de,_0x5563d7:0x1586,_0x32c6f5:0x113a,_0x57ab45:0xc04,_0x24585c:0x167b,_0x1ef076:0x1586,_0x4f5359:0x1824,_0x4feeb1:0x976,_0x1c56ba:0x1934,_0x46355d:0x853,_0x5f299a:0x1e3d,_0x37bff9:0x17bc,_0x11c866:0x7a4,_0xc8f94b:0x1018},_0x39f59a={};_0x39f59a[_0xa2a4c1(0xf2a,0x487)]=0x0,_0x39f59a[_0xa2a4c1(0x10fc,0x81b)]=0x0;var _0x504b76=_0x39f59a,_0x4f3132,_0x5be7f7,_0x46bda1,_0x1d4baf,_0x3b3947,_0x4557c3,_0x22b744,_0x536a43,_0x48f78d;const _0x4f819b={};_0x4f819b['value']=0x0;var _0x3e10f1=_0x4f819b;_0x5009d4['x']=(_0x5009d4['x']-this['x0'])/this['a'],_0x5009d4['y']=(_0x5009d4['y']-this['y0'])/this['a'],_0x5be7f7=Math['atan'](Math[_0x53134a(0x16e1,0x10a6)](_0x5009d4['x']*_0x5009d4['x']+_0x5009d4['y']*_0x5009d4['y'])),_0x4f3132=Math[_0x53134a(0x696,0x74c)](_0x5009d4['y'],_0x5009d4['x']);if(_0x5009d4['x']>=0x0&&_0x5009d4['x']>=Math['abs'](_0x5009d4['y']))_0x3e10f1[_0xa2a4c1(0x113a,0x85f)]=AREA_ENUM['AREA_0'];else{if(_0x5009d4['y']>=0x0&&_0x5009d4['y']>=Math[_0xa2a4c1(0xd18,0x614)](_0x5009d4['x']))_0x3e10f1['value']=AREA_ENUM['AREA_1'],_0x4f3132-=HALF_PI;else _0x5009d4['x']<0x0&&-_0x5009d4['x']>=Math['abs'](_0x5009d4['y'])?(_0x3e10f1[_0x53134a(_0x43e10f._0x36c389,_0x43e10f._0x45d017)]=AREA_ENUM[_0xa2a4c1(0x96c,0x1031)],_0x4f3132=_0x4f3132<0x0?_0x4f3132+SPI:_0x4f3132-SPI):(_0x3e10f1[_0xa2a4c1(_0x43e10f._0x31bc42,0x152a)]=AREA_ENUM['AREA_3'],_0x4f3132+=HALF_PI);}_0x48f78d=SPI/0xc*Math[_0xa2a4c1(0x10b9,0x18c6)](_0x4f3132),_0x3b3947=Math[_0x53134a(0x8ea,_0x43e10f._0x406552)](_0x48f78d)/(Math[_0xa2a4c1(_0x43e10f._0x18f99f,_0x43e10f._0x27c605)](_0x48f78d)-0x1/Math[_0xa2a4c1(0xa4a,0x5b6)](0x2)),_0x4557c3=Math['atan'](_0x3b3947),_0x46bda1=Math['cos'](_0x4f3132),_0x1d4baf=Math[_0xa2a4c1(0x10b9,0xe78)](_0x5be7f7),_0x22b744=0x1-_0x46bda1*_0x46bda1*_0x1d4baf*_0x1d4baf*(0x1-Math['cos'](Math[_0xa2a4c1(0x421,0x7c0)](0x1/Math[_0xa2a4c1(0x139a,_0x43e10f._0x502fae)](_0x4557c3))));if(_0x22b744<-0x1)_0x22b744=-0x1;else _0x22b744>+0x1&&(_0x22b744=+0x1);if(this[_0xa2a4c1(_0x43e10f._0x1b11dc,0x1b9c)]===FACE_ENUM[_0xa2a4c1(0xf0a,0x58a)]){_0x536a43=Math[_0x53134a(_0x43e10f._0x1ebfe3,0xa34)](_0x22b744),_0x504b76['phi']=HALF_PI-_0x536a43;if(_0x3e10f1['value']===AREA_ENUM['AREA_0'])_0x504b76['lam']=_0x4557c3+HALF_PI;else{if(_0x3e10f1['value']===AREA_ENUM[_0xa2a4c1(0x3a9,-0x3bc)])_0x504b76['lam']=_0x4557c3<0x0?_0x4557c3+SPI:_0x4557c3-SPI;else _0x3e10f1[_0xa2a4c1(_0x43e10f._0x31bc42,_0x43e10f._0x557785)]===AREA_ENUM['AREA_2']?_0x504b76['lam']=_0x4557c3-HALF_PI:_0x504b76[_0x53134a(_0x43e10f._0x4b2608,0x1586)]=_0x4557c3;}}else{if(this['face']===FACE_ENUM['BOTTOM']){_0x536a43=Math['acos'](_0x22b744),_0x504b76['phi']=_0x536a43-HALF_PI;if(_0x3e10f1['value']===AREA_ENUM['AREA_0'])_0x504b76['lam']=-_0x4557c3+HALF_PI;else{if(_0x3e10f1[_0x53134a(_0x43e10f._0xfa7d2c,_0x43e10f._0x45d017)]===AREA_ENUM['AREA_1'])_0x504b76[_0x53134a(0x1235,_0x43e10f._0x5563d7)]=-_0x4557c3;else _0x3e10f1['value']===AREA_ENUM['AREA_2']?_0x504b76[_0x53134a(0x197c,_0x43e10f._0x5563d7)]=-_0x4557c3-HALF_PI:_0x504b76['lam']=_0x4557c3<0x0?-_0x4557c3-SPI:-_0x4557c3+SPI;}}else{var _0x5d23b9,_0x295aef,_0x5c9871;_0x5d23b9=_0x22b744,_0x48f78d=_0x5d23b9*_0x5d23b9;_0x48f78d>=0x1?_0x5c9871=0x0:_0x5c9871=Math[_0xa2a4c1(0xa4a,0x11c8)](0x1-_0x48f78d)*Math['sin'](_0x4557c3);_0x48f78d+=_0x5c9871*_0x5c9871;_0x48f78d>=0x1?_0x295aef=0x0:_0x295aef=Math['sqrt'](0x1-_0x48f78d);if(_0x3e10f1[_0xa2a4c1(_0x43e10f._0x32c6f5,0x1827)]===AREA_ENUM['AREA_1'])_0x48f78d=_0x295aef,_0x295aef=-_0x5c9871,_0x5c9871=_0x48f78d;else{if(_0x3e10f1['value']===AREA_ENUM['AREA_2'])_0x295aef=-_0x295aef,_0x5c9871=-_0x5c9871;else _0x3e10f1[_0xa2a4c1(_0x43e10f._0x31bc42,_0x43e10f._0x57ab45)]===AREA_ENUM['AREA_3']&&(_0x48f78d=_0x295aef,_0x295aef=_0x5c9871,_0x5c9871=-_0x48f78d);}if(this['face']===FACE_ENUM['RIGHT'])_0x48f78d=_0x5d23b9,_0x5d23b9=-_0x295aef,_0x295aef=_0x48f78d;else{if(this[_0xa2a4c1(0x11c8,0x161c)]===FACE_ENUM[_0xa2a4c1(0x31a,-0x70)])_0x5d23b9=-_0x5d23b9,_0x295aef=-_0x295aef;else this[_0xa2a4c1(0x11c8,0x15a0)]===FACE_ENUM['LEFT']&&(_0x48f78d=_0x5d23b9,_0x5d23b9=_0x295aef,_0x295aef=-_0x48f78d);}_0x504b76['phi']=Math['acos'](-_0x5c9871)-HALF_PI,_0x504b76['lam']=Math['atan2'](_0x295aef,_0x5d23b9);if(this[_0xa2a4c1(0x11c8,0x8c5)]===FACE_ENUM[_0x53134a(0x14f3,0xcee)])_0x504b76['lam']=qsc_shift_lon_origin(_0x504b76[_0x53134a(_0x43e10f._0x24585c,_0x43e10f._0x1ef076)],-HALF_PI);else{if(this[_0x53134a(0x11b0,_0x43e10f._0x4f5359)]===FACE_ENUM[_0x53134a(0xb36,_0x43e10f._0x4feeb1)])_0x504b76['lam']=qsc_shift_lon_origin(_0x504b76['lam'],-SPI);else this['face']===FACE_ENUM['LEFT']&&(_0x504b76[_0xa2a4c1(0xf2a,_0x43e10f._0x1c56ba)]=qsc_shift_lon_origin(_0x504b76[_0xa2a4c1(0xf2a,_0x43e10f._0x46355d)],+HALF_PI));}}}if(this['es']!==0x0){var _0x5907a9,_0x5d9298,_0x156109;_0x5907a9=_0x504b76[_0x53134a(_0x43e10f._0x5f299a,0x1758)]<0x0?0x1:0x0,_0x5d9298=Math[_0x53134a(_0x43e10f._0x37bff9,0x1715)](_0x504b76['phi']),_0x156109=this['b']/Math[_0x53134a(0x12a5,0x10a6)](_0x5d9298*_0x5d9298+this['one_minus_f_squared']),_0x504b76['phi']=Math['atan'](Math['sqrt'](this['a']*this['a']-_0x156109*_0x156109)/(this[_0x53134a(0x92b,_0x43e10f._0x11c866)]*_0x156109)),_0x5907a9&&(_0x504b76[_0x53134a(_0x43e10f._0xc8f94b,0x1758)]=-_0x504b76[_0x53134a(0xfbc,0x1758)]);}function _0xa2a4c1(_0x4d117e,_0x5e64b4){return _0x7afdbe(_0x5e64b4,_0x4d117e- -0x5e8);}_0x504b76['lam']+=this['long0'],_0x5009d4['x']=_0x504b76['lam'],_0x5009d4['y']=_0x504b76['phi'];function _0x53134a(_0x1cd122,_0x38c1da){return _0x54a7f1(_0x38c1da-0x2a2,_0x1cd122);}return _0x5009d4;}function qsc_fwd_equat_face_theta(_0x3b77f8,_0x34b5f4,_0x44e015,_0xf007ed){const _0x341e13={_0x3816d1:0x8d,_0x31d3b1:0x773,_0x1afb9e:0x19db,_0x3b02c4:0xded,_0x39e25d:0x10d7},_0x2e4adf={_0x562468:0x41d};var _0x1c9968;if(_0x3b77f8<EPSLN)_0xf007ed['value']=AREA_ENUM['AREA_0'],_0x1c9968=0x0;else{_0x1c9968=Math[_0x51b56e(_0x341e13._0x3816d1,0x9ed)](_0x34b5f4,_0x44e015);if(Math['abs'](_0x1c9968)<=FORTPI)_0xf007ed[_0x1372e5(0x1150,_0x341e13._0x31d3b1)]=AREA_ENUM[_0x51b56e(0x1150,_0x341e13._0x1afb9e)];else{if(_0x1c9968>FORTPI&&_0x1c9968<=HALF_PI+FORTPI)_0xf007ed['value']=AREA_ENUM[_0x51b56e(0x346,0x6b3)],_0x1c9968-=HALF_PI;else _0x1c9968>HALF_PI+FORTPI||_0x1c9968<=-(HALF_PI+FORTPI)?(_0xf007ed[_0x1372e5(0x1150,_0x341e13._0x3b02c4)]=AREA_ENUM['AREA_2'],_0x1c9968=_0x1c9968>=0x0?_0x1c9968-SPI:_0x1c9968+SPI):(_0xf007ed[_0x51b56e(_0x341e13._0x39e25d,0x133b)]=AREA_ENUM['AREA_3'],_0x1c9968+=HALF_PI);}}function _0x51b56e(_0x726118,_0x40386a){return _0x54a7f1(_0x726118- -_0x2e4adf._0x562468,_0x40386a);}function _0x1372e5(_0xe72c3c,_0x333a36){return _0x7afdbe(_0x333a36,_0xe72c3c- -0x5d2);}return _0x1c9968;}function qsc_shift_lon_origin(_0x23b225,_0x4befd6){var _0x7ac346=_0x23b225+_0x4befd6;if(_0x7ac346<-SPI)_0x7ac346+=TWO_PI;else _0x7ac346>+SPI&&(_0x7ac346-=TWO_PI);return _0x7ac346;}var names$4=['Quadrilateralized\x20Spherical\x20Cube','Quadrilateralized_Spherical_Cube',_0x7afdbe(0xbb5,0x1292)];const _0x2d388b={};_0x2d388b[_0x7afdbe(0x1884,0x182f)]=init$4,_0x2d388b[_0x7afdbe(0x1237,0x1403)]=forward$4,_0x2d388b[_0x7afdbe(0x1275,0x163c)]=inverse$4,_0x2d388b[_0x7afdbe(0x5c0,0x9e0)]=names$4;var qsc=_0x2d388b,COEFS_X=[[0x1,2.2199e-17,-0.0000715515,0.0000031103],[0.9986,-0.000482243,-0.000024897,-0.0000013309],[0.9954,-0.00083103,-0.0000448605,-9.86701e-7],[0.99,-0.00135364,-0.000059661,0.0000036777],[0.9822,-0.00167442,-0.00000449547,-0.00000572411],[0.973,-0.00214868,-0.0000903571,1.8736e-8],[0.96,-0.00305085,-0.0000900761,0.00000164917],[0.9427,-0.00382792,-0.0000653386,-0.0000026154],[0.9216,-0.00467746,-0.00010457,0.00000481243],[0.8962,-0.00536223,-0.0000323831,-0.00000543432],[0.8679,-0.00609363,-0.000113898,0.00000332484],[0.835,-0.00698325,-0.0000640253,9.34959e-7],[0.7986,-0.00755338,-0.0000500009,9.35324e-7],[0.7597,-0.00798324,-0.000035971,-0.00000227626],[0.7186,-0.00851367,-0.0000701149,-0.0000086303],[0.6732,-0.00986209,-0.000199569,0.0000191974],[0.6213,-0.010418,0.0000883923,0.00000624051],[0.5722,-0.00906601,0.000182,0.00000624051],[0.5322,-0.00677797,0.000275608,0.00000624051]],COEFS_Y=[[-5.20417e-18,0.0124,1.21431e-18,-8.45284e-11],[0.062,0.0124,-1.26793e-9,4.22642e-10],[0.124,0.0124,5.07171e-9,-1.60604e-9],[0.186,0.0123999,-1.90189e-8,6.00152e-9],[0.248,0.0124002,7.10039e-8,-2.24e-8],[0.31,0.0123992,-2.64997e-7,8.35986e-8],[0.372,0.0124029,9.88983e-7,-3.11994e-7],[0.434,0.0123893,-0.00000369093,-4.35621e-7],[0.4958,0.0123198,-0.0000102252,-3.45523e-7],[0.5571,0.0121916,-0.0000154081,-5.82288e-7],[0.6176,0.0119938,-0.0000241424,-5.25327e-7],[0.6769,0.011713,-0.0000320223,-5.16405e-7],[0.7346,0.0113541,-0.0000397684,-6.09052e-7],[0.7903,0.0109107,-0.0000489042,-0.00000104739],[0.8435,0.0103431,-0.000064615,-1.40374e-9],[0.8936,0.00969686,-0.000064636,-0.000008547],[0.9394,0.00840947,-0.000192841,-0.0000042106],[0.9761,0.00616527,-0.000256,-0.0000042106],[0x1,0.00328947,-0.000319159,-0.0000042106]],FXC=0.8487,FYC=1.3523,C1=R2D/0x5,RC1=0x1/C1,NODES=0x12,poly3_val=function(_0x35c445,_0x4ffcec){return _0x35c445[0x0]+_0x4ffcec*(_0x35c445[0x1]+_0x4ffcec*(_0x35c445[0x2]+_0x4ffcec*_0x35c445[0x3]));},poly3_der=function(_0x1e9212,_0x1df659){return _0x1e9212[0x1]+_0x1df659*(0x2*_0x1e9212[0x2]+_0x1df659*0x3*_0x1e9212[0x3]);};function newton_rapshon(_0x30e770,_0x602c,_0x527153,_0x425c50){const _0x24e1b9={_0x14f6c9:0x1364},_0x1f5af2={_0x5d68e8:0x64};var _0x2a6e36=_0x602c;function _0x4ad7e6(_0x3884d1,_0x38c478){return _0x7afdbe(_0x38c478,_0x3884d1-_0x1f5af2._0x5d68e8);}for(;_0x425c50;--_0x425c50){var _0x5a64bd=_0x30e770(_0x2a6e36);_0x2a6e36-=_0x5a64bd;if(Math[_0x4ad7e6(_0x24e1b9._0x14f6c9,0xe2f)](_0x5a64bd)<_0x527153)break;}return _0x2a6e36;}function init$3(){const _0x3e24ab={_0x25c8d9:0x83c,_0xe5166e:0xf4f},_0x416c64={_0xa32e1c:0x6a8};this['x0']=this['x0']||0x0;function _0x5b5e6a(_0xb826e0,_0x3ca2be){return _0x54a7f1(_0x3ca2be-0x99,_0xb826e0);}this['y0']=this['y0']||0x0,this[_0x5b5e6a(_0x3e24ab._0x25c8d9,0x1228)]=this['long0']||0x0,this['es']=0x0;function _0x4d7b97(_0x3b0a8c,_0x4c361c){return _0x7afdbe(_0x3b0a8c,_0x4c361c- -_0x416c64._0xa32e1c);}this[_0x5b5e6a(0x156a,0xf4f)]=this[_0x5b5e6a(0x168f,_0x3e24ab._0xe5166e)]||'Robinson';}function forward$3(_0x128954){const _0x3dc5c2={_0x525e11:0x153};function _0x46f533(_0x129cf8,_0x5830b8){return _0x54a7f1(_0x129cf8-_0x3dc5c2._0x525e11,_0x5830b8);}var _0x5cdafa=adjust_lon(_0x128954['x']-this['long0']),_0x12614c=Math[_0x46f533(0x1225,0x16fe)](_0x128954['y']),_0x57a4ae=Math['floor'](_0x12614c*C1);if(_0x57a4ae<0x0)_0x57a4ae=0x0;else _0x57a4ae>=NODES&&(_0x57a4ae=NODES-0x1);_0x12614c=R2D*(_0x12614c-RC1*_0x57a4ae);var _0x378846={'x':poly3_val(COEFS_X[_0x57a4ae],_0x12614c)*_0x5cdafa,'y':poly3_val(COEFS_Y[_0x57a4ae],_0x12614c)};return _0x128954['y']<0x0&&(_0x378846['y']=-_0x378846['y']),_0x378846['x']=_0x378846['x']*this['a']*FXC+this['x0'],_0x378846['y']=_0x378846['y']*this['a']*FYC+this['y0'],_0x378846;}function inverse$3(_0x3e177d){var _0x3faae2={'x':(_0x3e177d['x']-this['x0'])/(this['a']*FXC),'y':Math[_0x821294(0xf0b,0x1813)](_0x3e177d['y']-this['y0'])/(this['a']*FYC)};if(_0x3faae2['y']>=0x1)_0x3faae2['x']/=COEFS_X[NODES][0x0],_0x3faae2['y']=_0x3e177d['y']<0x0?-HALF_PI:HALF_PI;else{var _0x1ccf65=Math['floor'](_0x3faae2['y']*NODES);if(_0x1ccf65<0x0)_0x1ccf65=0x0;else _0x1ccf65>=NODES&&(_0x1ccf65=NODES-0x1);for(;;){if(COEFS_Y[_0x1ccf65][0x0]>_0x3faae2['y'])--_0x1ccf65;else{if(COEFS_Y[_0x1ccf65+0x1][0x0]<=_0x3faae2['y'])++_0x1ccf65;else break;}}var _0xe69c32=COEFS_Y[_0x1ccf65],_0x1c6623=0x5*(_0x3faae2['y']-_0xe69c32[0x0])/(COEFS_Y[_0x1ccf65+0x1][0x0]-_0xe69c32[0x0]);_0x1c6623=newton_rapshon(function(_0x33d43d){return(poly3_val(_0xe69c32,_0x33d43d)-_0x3faae2['y'])/poly3_der(_0xe69c32,_0x33d43d);},_0x1c6623,EPSLN,0x64),_0x3faae2['x']/=poly3_val(COEFS_X[_0x1ccf65],_0x1c6623),_0x3faae2['y']=(0x5*_0x1ccf65+_0x1c6623)*D2R$1,_0x3e177d['y']<0x0&&(_0x3faae2['y']=-_0x3faae2['y']);}_0x3faae2['x']=adjust_lon(_0x3faae2['x']+this['long0']);function _0x821294(_0xa7650,_0x2c722e){return _0x54a7f1(_0xa7650- -0x1c7,_0x2c722e);}return _0x3faae2;}var names$3=['Robinson',_0x7afdbe(0x217e,0x193f)];const _0x18a7c5={};_0x18a7c5[_0x54a7f1(0x1601,0x1155)]=init$3,_0x18a7c5[_0x54a7f1(0x11d5,0xb51)]=forward$3,_0x18a7c5['inverse']=inverse$3,_0x18a7c5['names']=names$3;var robin=_0x18a7c5;function init$2(){const _0x53c562={_0x2b1a0a:0x183a,_0x60ecb6:0x10a8,_0x35e543:0x12fc},_0x4ffb2c={_0x1f5bf6:0x1d4},_0x3b92bb={_0xb44c63:0x113};function _0x5e088f(_0xb96825,_0x312409){return _0x54a7f1(_0x312409-_0x3b92bb._0xb44c63,_0xb96825);}function _0x114e72(_0x2feb3e,_0x32e1d7){return _0x54a7f1(_0x32e1d7- -_0x4ffb2c._0x1f5bf6,_0x2feb3e);}this[_0x114e72(_0x53c562._0x2b1a0a,_0x53c562._0x60ecb6)]=_0x5e088f(_0x53c562._0x35e543,0x128d);}function forward$2(_0x2d87a9){var _0x2198c5=geodeticToGeocentric(_0x2d87a9,this['es'],this['a']);return _0x2198c5;}function inverse$2(_0x4c4428){var _0x20b030=geocentricToGeodetic(_0x4c4428,this['es'],this['a'],this['b']);return _0x20b030;}var names$2=['Geocentric',_0x7afdbe(0x1823,0xed4),_0x7afdbe(0x9fc,0x13a8),'Geocent'];const _0xf406de={};_0xf406de[_0x7afdbe(0x12b9,0x182f)]=init$2,_0xf406de[_0x54a7f1(0x11d5,0x97b)]=forward$2,_0xf406de[_0x54a7f1(0x140e,0x1b05)]=inverse$2,_0xf406de[_0x54a7f1(0x7b2,0xc1a)]=names$2;var geocent=_0xf406de;const _0x2d5d1e={};_0x2d5d1e['N_POLE']=0x0,_0x2d5d1e[_0x7afdbe(0x7a6,0xc3a)]=0x1,_0x2d5d1e['EQUIT']=0x2,_0x2d5d1e['OBLIQ']=0x3;var mode=_0x2d5d1e;const _0x2ae7c4={};_0x2ae7c4['def']=0x186a0,_0x2ae7c4['num']=!![];const _0x3a6943={};_0x3a6943['def']=0x0,_0x3a6943[_0x54a7f1(0x1452,0x1307)]=!![],_0x3a6943['degrees']=!![];const _0x1f55dc={};_0x1f55dc['def']=0x0,_0x1f55dc['num']=!![],_0x1f55dc[_0x54a7f1(0xcb8,0xd3d)]=!![];const _0x25ad7f={};_0x25ad7f[_0x7afdbe(0xe94,0x1799)]=0x0,_0x25ad7f['num']=!![];const _0x2f7be1={};_0x2f7be1[_0x7afdbe(0x1a20,0x1799)]=0x0,_0x2f7be1['num']=!![];const _0x2955c3={};_0x2955c3['h']=_0x2ae7c4,_0x2955c3['azi']=_0x3a6943,_0x2955c3[_0x54a7f1(0xbd9,0x84f)]=_0x1f55dc,_0x2955c3[_0x7afdbe(0xf65,0x13bd)]=_0x25ad7f,_0x2955c3['lat0']=_0x2f7be1;var params=_0x2955c3;function init$1(){const _0x542397={_0x39d5a5:0x103,_0x36ccb3:0x26f,_0x443e81:0x3d2,_0x2a0033:0xcfc,_0x261e75:0xa04,_0x4e9838:0xf86,_0x8715d7:0xbc3,_0x5b2ac5:0x3,_0x152283:0xfd0,_0x3b3bc1:0x100e,_0x3fcd69:0x1482,_0x1cf3da:0x381},_0xd168d1={_0x24641b:0x46d,_0x2868c5:0xc3c};Object[_0x2abb78(0x44e,-_0x542397._0x39d5a5)](params)[_0x2abb78(_0x542397._0x36ccb3,_0x542397._0x443e81)](function(_0x5c70f9){function _0x225529(_0x1c0950,_0x1ca2c0){return _0x2abb78(_0x1ca2c0-0x35a,_0x1c0950);}function _0xbebbf5(_0x144a7e,_0x17fed0){return _0x565f57(_0x17fed0,_0x144a7e- -0x238);}if(typeof this[_0x5c70f9]===_0xbebbf5(0x12aa,0x1d06))this[_0x5c70f9]=params[_0x5c70f9][_0x225529(0x1559,0x14ef)];else{if(params[_0x5c70f9][_0x225529(0x171a,0x13d6)]&&isNaN(this[_0x5c70f9]))throw new Error('Invalid\x20parameter\x20value,\x20must\x20be\x20numeric\x20'+_0x5c70f9+'\x20=\x20'+this[_0x5c70f9]);else params[_0x5c70f9]['num']&&(this[_0x5c70f9]=parseFloat(this[_0x5c70f9]));}params[_0x5c70f9][_0x225529(_0xd168d1._0x24641b,_0xd168d1._0x2868c5)]&&(this[_0x5c70f9]=this[_0x5c70f9]*D2R$1);}['bind'](this));if(Math[_0x2abb78(_0x542397._0x2a0033,0xb32)](Math['abs'](this[_0x565f57(0x917,0xe4d)])-HALF_PI)<EPSLN)this[_0x565f57(_0x542397._0x261e75,0x442)]=this['lat0']<0x0?mode['S_POLE']:mode[_0x565f57(_0x542397._0x4e9838,_0x542397._0x8715d7)];else Math['abs'](this['lat0'])<EPSLN?this['mode']=mode['EQUIT']:(this['mode']=mode[_0x2abb78(-_0x542397._0x5b2ac5,0x17)],this['sinph0']=Math['sin'](this[_0x2abb78(0xac8,0x2fd)]),this[_0x2abb78(_0x542397._0x152283,_0x542397._0x3b3bc1)]=Math['cos'](this['lat0']));this[_0x2abb78(0xe7c,_0x542397._0x3fcd69)]=this['h']/this['a'];if(this['pn1']<=0x0||this['pn1']>0x2540be400)throw new Error(_0x2abb78(_0x542397._0x1cf3da,0xc0d));function _0x2abb78(_0x2f5e4b,_0x567b9a){return _0x54a7f1(_0x2f5e4b- -0x3d6,_0x567b9a);}this['p']=0x1+this['pn1'],this['rp']=0x1/this['p'],this['h1']=0x1/this['pn1'];function _0x565f57(_0x32a66b,_0x405d87){return _0x7afdbe(_0x32a66b,_0x405d87- -0x27f);}this['pfact']=(this['p']+0x1)*this['h1'],this['es']=0x0;var _0x1b6570=this['tilt'],_0x19d5cb=this[_0x2abb78(0xe15,0x15bd)];this['cg']=Math['cos'](_0x19d5cb),this['sg']=Math['sin'](_0x19d5cb),this['cw']=Math['cos'](_0x1b6570),this['sw']=Math[_0x2abb78(0x9e,0x2ae)](_0x1b6570);}function forward$1(_0x3fe007){const _0x11ebff={_0x1b4e74:0xd2e,_0x1edfad:0x11d5,_0x4fa1e7:0x178d,_0x9d0e59:0x1c05,_0x390282:0x1b63,_0x35355d:0x4e0,_0x27f14e:0x129c},_0x5be1a3={_0x2f703c:0x1f5},_0x13271c={_0x1c031f:0x461};_0x3fe007['x']-=this[_0x177f49(_0x11ebff._0x1b4e74,_0x11ebff._0x1edfad)];var _0x2c56cb=Math['sin'](_0x3fe007['y']),_0x556008=Math[_0x466658(_0x11ebff._0x4fa1e7,0x1ab7)](_0x3fe007['y']),_0x875f=Math[_0x177f49(0x12f3,_0x11ebff._0x9d0e59)](_0x3fe007['x']),_0x2711f3,_0x2cc537;switch(this['mode']){case mode['OBLIQ']:_0x2cc537=this['sinph0']*_0x2c56cb+this[_0x466658(0x13df,_0x11ebff._0x390282)]*_0x556008*_0x875f;break;case mode['EQUIT']:_0x2cc537=_0x556008*_0x875f;break;case mode['S_POLE']:_0x2cc537=-_0x2c56cb;break;case mode['N_POLE']:_0x2cc537=_0x2c56cb;break;}_0x2cc537=this[_0x466658(0x128b,0x13be)]/(this['p']-_0x2cc537),_0x2711f3=_0x2cc537*_0x556008*Math['sin'](_0x3fe007['x']);switch(this[_0x177f49(0x32,_0x11ebff._0x35355d)]){case mode['OBLIQ']:_0x2cc537*=this['cosph0']*_0x2c56cb-this[_0x177f49(0x1354,0xb13)]*_0x556008*_0x875f;break;case mode['EQUIT']:_0x2cc537*=_0x2c56cb;break;case mode[_0x466658(0xc4d,_0x11ebff._0x27f14e)]:_0x2cc537*=-(_0x556008*_0x875f);break;case mode['S_POLE']:_0x2cc537*=_0x556008*_0x875f;break;}var _0x45d81d,_0xaff2cb;_0x45d81d=_0x2cc537*this['cg']+_0x2711f3*this['sg'];function _0x177f49(_0x22346a,_0x328819){return _0x54a7f1(_0x22346a- -_0x13271c._0x1c031f,_0x328819);}function _0x466658(_0x40aa0e,_0x324258){return _0x7afdbe(_0x324258,_0x40aa0e- -_0x5be1a3._0x2f703c);}return _0xaff2cb=0x1/(_0x45d81d*this['sw']*this['h1']+this['cw']),_0x2711f3=(_0x2711f3*this['cg']-_0x2cc537*this['sg'])*this['cw']*_0xaff2cb,_0x2cc537=_0x45d81d*_0xaff2cb,_0x3fe007['x']=_0x2711f3*this['a'],_0x3fe007['y']=_0x2cc537*this['a'],_0x3fe007;}function inverse$1(_0x2a63d2){const _0x371624={_0x178cd1:0x1b4e,_0x55abb0:0x17d7,_0x3bad82:0x1df7,_0x1019e3:0xf6b,_0x11cb04:0xfce,_0x2dd849:0x153a,_0x5943c0:0x12dc,_0xe75e0d:0xe3b},_0x25dd8d={_0x58f5f3:0x726};_0x2a63d2['x']/=this['a'],_0x2a63d2['y']/=this['a'];const _0x35e478={};_0x35e478['x']=_0x2a63d2['x'],_0x35e478['y']=_0x2a63d2['y'];var _0x193198=_0x35e478,_0x387501,_0x2b9969,_0x157679;_0x157679=0x1/(this['pn1']-_0x2a63d2['y']*this['sw']),_0x387501=this[_0x717677(0xd5a,0x35f)]*_0x2a63d2['x']*_0x157679;function _0x717677(_0x17f523,_0x12590e){return _0x7afdbe(_0x12590e,_0x17f523- -_0x25dd8d._0x58f5f3);}_0x2b9969=this[_0x20e462(0x13b9,_0x371624._0x178cd1)]*_0x2a63d2['y']*this['cw']*_0x157679,_0x2a63d2['x']=_0x387501*this['cg']+_0x2b9969*this['sg'],_0x2a63d2['y']=_0x2b9969*this['cg']-_0x387501*this['sg'];function _0x20e462(_0x27852b,_0xfd2f45){return _0x7afdbe(_0xfd2f45,_0x27852b- -0xc7);}var _0xa98d89=hypot(_0x2a63d2['x'],_0x2a63d2['y']);if(Math['abs'](_0xa98d89)<EPSLN)_0x193198['x']=0x0,_0x193198['y']=_0x2a63d2['y'];else{var _0x127cac,_0x4ae116;_0x4ae116=0x1-_0xa98d89*_0xa98d89*this[_0x20e462(_0x371624._0x55abb0,_0x371624._0x3bad82)],_0x4ae116=(this['p']-Math[_0x20e462(0xf6b,0xc5f)](_0x4ae116))/(this['pn1']/_0xa98d89+_0xa98d89/this[_0x20e462(0x13b9,0x12b3)]),_0x127cac=Math[_0x20e462(_0x371624._0x1019e3,0x711)](0x1-_0x4ae116*_0x4ae116);switch(this['mode']){case mode['OBLIQ']:_0x193198['y']=Math['asin'](_0x127cac*this['sinph0']+_0x2a63d2['y']*_0x4ae116*this[_0x717677(0xeae,0x181c)]/_0xa98d89),_0x2a63d2['y']=(_0x127cac-this['sinph0']*Math['sin'](_0x193198['y']))*_0xa98d89,_0x2a63d2['x']*=_0x4ae116*this['cosph0'];break;case mode[_0x717677(_0x371624._0x11cb04,_0x371624._0x2dd849)]:_0x193198['y']=Math['asin'](_0x2a63d2['y']*_0x4ae116/_0xa98d89),_0x2a63d2['y']=_0x127cac*_0xa98d89,_0x2a63d2['x']*=_0x4ae116;break;case mode['N_POLE']:_0x193198['y']=Math[_0x717677(0xe65,_0x371624._0x5943c0)](_0x127cac),_0x2a63d2['y']=-_0x2a63d2['y'];break;case mode['S_POLE']:_0x193198['y']=-Math['asin'](_0x127cac);break;}_0x193198['x']=Math[_0x20e462(0x611,0x4f0)](_0x2a63d2['x'],_0x2a63d2['y']);}return _0x2a63d2['x']=_0x193198['x']+this[_0x717677(0xc97,_0x371624._0xe75e0d)],_0x2a63d2['y']=_0x193198['y'],_0x2a63d2;}var names$1=['Tilted_Perspective','tpers'];const _0x34ee52={};_0x34ee52['init']=init$1,_0x34ee52['forward']=forward$1,_0x34ee52['inverse']=inverse$1,_0x34ee52['names']=names$1;var tpers=_0x34ee52;function init(){const _0x24b403={_0x2bf5e5:0xa90,_0x5f3cf8:0x197,_0x572bb5:0x6c0,_0x35c059:0x2282,_0x3ce8c3:0x342,_0x6f0e2d:0x5eb},_0x5047c0={_0x46fd50:0x4c};function _0x2ca4d9(_0x2f828f,_0x1ed1ea){return _0x54a7f1(_0x1ed1ea-0x279,_0x2f828f);}this['flip_axis']=this['sweep']==='x'?0x1:0x0,this['h']=Number(this['h']),this[_0x2ca4d9(0x321,0xcbd)]=this['h']/this['a'];if(this['radius_g_1']<=0x0||this['radius_g_1']>0x2540be400)throw new Error();this['radius_g']=0x1+this[_0x2ca4d9(_0x24b403._0x2bf5e5,0xcbd)];function _0x26c85d(_0x214899,_0x23a745){return _0x7afdbe(_0x214899,_0x23a745- -_0x5047c0._0x46fd50);}this['C']=this[_0x26c85d(_0x24b403._0x5f3cf8,_0x24b403._0x572bb5)]*this['radius_g']-0x1;if(this['es']!==0x0){var _0x178350=0x1-this['es'],_0x559bb3=0x1/_0x178350;this['radius_p']=Math['sqrt'](_0x178350),this['radius_p2']=_0x178350,this['radius_p_inv2']=_0x559bb3,this['shape']='ellipse';}else this['radius_p']=0x1,this['radius_p2']=0x1,this['radius_p_inv2']=0x1,this[_0x2ca4d9(_0x24b403._0x35c059,0x18fe)]='sphere';!this[_0x26c85d(0x14cb,0x1098)]&&(this['title']=_0x2ca4d9(_0x24b403._0x3ce8c3,_0x24b403._0x6f0e2d));}function forward(_0x3bc6f5){const _0x20ad91={_0x43f9c9:0x5e6,_0x46a43b:0xe1a,_0x26b7c8:0x325,_0x5d8858:0x9fa,_0x5a31b5:0xfa5,_0x53267b:0xe61,_0x3ccbc5:0x1ba,_0x3d0d2e:0x66f,_0x335b5a:0x427,_0x405c23:0x153d,_0x4e48cd:0x1687,_0x3c9f21:0x844,_0x137b5e:0x8d8,_0x418067:0x255,_0xb58aa5:0x1f1,_0x46a0be:0x7db,_0x13e356:0x157f,_0x4cc0f1:0x1973,_0x526257:0x75d,_0x214536:0xed1,_0x2adb1e:0x12ed,_0x526bf1:0xc63},_0x31a3cc={_0x310962:0x217},_0xf11e8c={_0x2bfaa5:0x21f};var _0x3f2323=_0x3bc6f5['x'],_0x47717a=_0x3bc6f5['y'],_0x47487b,_0x8b7456,_0xe68266,_0x184b76;function _0x3f2b08(_0x398334,_0x509aa6){return _0x54a7f1(_0x509aa6-_0xf11e8c._0x2bfaa5,_0x398334);}function _0x28ee7d(_0x420d5a,_0x5cc98f){return _0x54a7f1(_0x420d5a- -_0x31a3cc._0x310962,_0x5cc98f);}_0x3f2323=_0x3f2323-this[_0x28ee7d(0xf78,0x8a2)];if(this['shape']===_0x3f2b08(_0x20ad91._0x43f9c9,_0x20ad91._0x46a43b)){_0x47717a=Math[_0x3f2b08(_0x20ad91._0x26b7c8,_0x20ad91._0x5d8858)](this[_0x3f2b08(_0x20ad91._0x5a31b5,_0x20ad91._0x53267b)]*Math['tan'](_0x47717a));var _0x37e4f7=this[_0x28ee7d(_0x20ad91._0x3ccbc5,-_0x20ad91._0x3d0d2e)]/hypot(this['radius_p']*Math['cos'](_0x47717a),Math[_0x3f2b08(_0x20ad91._0x335b5a,0x693)](_0x47717a));_0x8b7456=_0x37e4f7*Math[_0x28ee7d(_0x20ad91._0x405c23,_0x20ad91._0x4e48cd)](_0x3f2323)*Math['cos'](_0x47717a),_0xe68266=_0x37e4f7*Math[_0x28ee7d(0x25d,_0x20ad91._0x3c9f21)](_0x3f2323)*Math['cos'](_0x47717a),_0x184b76=_0x37e4f7*Math[_0x3f2b08(_0x20ad91._0x137b5e,0x693)](_0x47717a);if((this['radius_g']-_0x8b7456)*_0x8b7456-_0xe68266*_0xe68266-_0x184b76*_0x184b76*this[_0x28ee7d(_0x20ad91._0x418067,-_0x20ad91._0xb58aa5)]<0x0)return _0x3bc6f5['x']=Number[_0x28ee7d(0xc2a,_0x20ad91._0x46a0be)],_0x3bc6f5['y']=Number['NaN'],_0x3bc6f5;_0x47487b=this['radius_g']-_0x8b7456,this['flip_axis']?(_0x3bc6f5['x']=this['radius_g_1']*Math['atan'](_0xe68266/hypot(_0x184b76,_0x47487b)),_0x3bc6f5['y']=this['radius_g_1']*Math['atan'](_0x184b76/_0x47487b)):(_0x3bc6f5['x']=this[_0x3f2b08(0x10c1,0xc63)]*Math['atan'](_0xe68266/_0x47487b),_0x3bc6f5['y']=this['radius_g_1']*Math['atan'](_0x184b76/hypot(_0xe68266,_0x47487b)));}else this['shape']==='sphere'&&(_0x47487b=Math[_0x3f2b08(_0x20ad91._0x13e356,_0x20ad91._0x4cc0f1)](_0x47717a),_0x8b7456=Math['cos'](_0x3f2323)*_0x47487b,_0xe68266=Math['sin'](_0x3f2323)*_0x47487b,_0x184b76=Math[_0x28ee7d(0x25d,-0x277)](_0x47717a),_0x47487b=this[_0x28ee7d(0x2c7,-_0x20ad91._0x526257)]-_0x8b7456,this[_0x28ee7d(0x8c0,_0x20ad91._0x214536)]?(_0x3bc6f5['x']=this['radius_g_1']*Math['atan'](_0xe68266/hypot(_0x184b76,_0x47487b)),_0x3bc6f5['y']=this['radius_g_1']*Math[_0x3f2b08(0x2bb,_0x20ad91._0x5d8858)](_0x184b76/_0x47487b)):(_0x3bc6f5['x']=this['radius_g_1']*Math['atan'](_0xe68266/_0x47487b),_0x3bc6f5['y']=this[_0x3f2b08(_0x20ad91._0x2adb1e,_0x20ad91._0x526bf1)]*Math['atan'](_0x184b76/hypot(_0xe68266,_0x47487b))));return _0x3bc6f5['x']=_0x3bc6f5['x']*this['a'],_0x3bc6f5['y']=_0x3bc6f5['y']*this['a'],_0x3bc6f5;}function inverse(_0x2df4c3){const _0x34e2cb={_0x55feb4:0x80,_0x558066:0x115e,_0xdc8c9b:0xf74,_0xc71839:0x1119,_0x27e5d3:0x410,_0x32c0a9:0x5ad,_0x364cb1:0xd4c,_0x2aa1dc:0x1457,_0x5f2e2c:0x1016,_0x4f9aab:0x1245,_0x4a49e8:0xdc2,_0x35224e:0x761,_0x21f838:0x2b0,_0x383637:0x1255},_0x8ec7c3={_0x31af27:0x4ff};var _0x23819a=-0x1,_0x30c8cd=0x0,_0x38ac79=0x0,_0x2c2418,_0x3497dc,_0x8ca38f,_0x1f75e8;_0x2df4c3['x']=_0x2df4c3['x']/this['a'],_0x2df4c3['y']=_0x2df4c3['y']/this['a'];function _0x4b3deb(_0x35be20,_0x5b81f6){return _0x54a7f1(_0x5b81f6- -0x22e,_0x35be20);}if(this['shape']==='ellipse'){this[_0x2ba12d(0xd08,0x5d8)]?(_0x38ac79=Math['tan'](_0x2df4c3['y']/this[_0x2ba12d(_0x34e2cb._0x55feb4,0x545)]),_0x30c8cd=Math['tan'](_0x2df4c3['x']/this['radius_g_1'])*hypot(0x1,_0x38ac79)):(_0x30c8cd=Math['tan'](_0x2df4c3['x']/this['radius_g_1']),_0x38ac79=Math[_0x2ba12d(_0x34e2cb._0x558066,_0x34e2cb._0xdc8c9b)](_0x2df4c3['y']/this['radius_g_1'])*hypot(0x1,_0x30c8cd));var _0x20bb2d=_0x38ac79/this[_0x4b3deb(0x891,0x1a3)];_0x2c2418=_0x30c8cd*_0x30c8cd+_0x20bb2d*_0x20bb2d+_0x23819a*_0x23819a,_0x3497dc=0x2*this['radius_g']*_0x23819a,_0x8ca38f=_0x3497dc*_0x3497dc-0x4*_0x2c2418*this['C'];if(_0x8ca38f<0x0)return _0x2df4c3['x']=Number[_0x2ba12d(_0x34e2cb._0xc71839,0x942)],_0x2df4c3['y']=Number['NaN'],_0x2df4c3;_0x1f75e8=(-_0x3497dc-Math['sqrt'](_0x8ca38f))/(0x2*_0x2c2418),_0x23819a=this['radius_g']+_0x1f75e8*_0x23819a,_0x30c8cd*=_0x1f75e8,_0x38ac79*=_0x1f75e8,_0x2df4c3['x']=Math[_0x4b3deb(0x21a,0x27c)](_0x30c8cd,_0x23819a),_0x2df4c3['y']=Math['atan'](_0x38ac79*Math['cos'](_0x2df4c3['x'])/_0x23819a),_0x2df4c3['y']=Math[_0x4b3deb(_0x34e2cb._0x27e5d3,_0x34e2cb._0x32c0a9)](this['radius_p_inv2']*Math['tan'](_0x2df4c3['y']));}else{if(this[_0x4b3deb(_0x34e2cb._0x364cb1,_0x34e2cb._0x2aa1dc)]==='sphere'){this['flip_axis']?(_0x38ac79=Math[_0x4b3deb(_0x34e2cb._0x5f2e2c,_0x34e2cb._0x4f9aab)](_0x2df4c3['y']/this['radius_g_1']),_0x30c8cd=Math[_0x2ba12d(0x105d,0xf74)](_0x2df4c3['x']/this[_0x2ba12d(0x656,0x545)])*Math[_0x4b3deb(0x1222,0xbd6)](0x1+_0x38ac79*_0x38ac79)):(_0x30c8cd=Math['tan'](_0x2df4c3['x']/this['radius_g_1']),_0x38ac79=Math['tan'](_0x2df4c3['y']/this['radius_g_1'])*Math['sqrt'](0x1+_0x30c8cd*_0x30c8cd));_0x2c2418=_0x30c8cd*_0x30c8cd+_0x38ac79*_0x38ac79+_0x23819a*_0x23819a,_0x3497dc=0x2*this['radius_g']*_0x23819a,_0x8ca38f=_0x3497dc*_0x3497dc-0x4*_0x2c2418*this['C'];if(_0x8ca38f<0x0)return _0x2df4c3['x']=Number['NaN'],_0x2df4c3['y']=Number['NaN'],_0x2df4c3;_0x1f75e8=(-_0x3497dc-Math[_0x4b3deb(_0x34e2cb._0x4a49e8,0xbd6)](_0x8ca38f))/(0x2*_0x2c2418),_0x23819a=this[_0x4b3deb(-_0x34e2cb._0x35224e,_0x34e2cb._0x21f838)]+_0x1f75e8*_0x23819a,_0x30c8cd*=_0x1f75e8,_0x38ac79*=_0x1f75e8,_0x2df4c3['x']=Math[_0x2ba12d(-0xa8b,-0x55)](_0x30c8cd,_0x23819a),_0x2df4c3['y']=Math['atan'](_0x38ac79*Math[_0x2ba12d(0x1865,_0x34e2cb._0x383637)](_0x2df4c3['x'])/_0x23819a);}}_0x2df4c3['x']=_0x2df4c3['x']+this['long0'];function _0x2ba12d(_0x1bb64e,_0x111f0e){return _0x54a7f1(_0x111f0e- -_0x8ec7c3._0x31af27,_0x1bb64e);}return _0x2df4c3;}var names=['Geostationary\x20Satellite\x20View','Geostationary_Satellite','geos'];const _0x320d5a={};_0x320d5a[_0x7afdbe(0x21b4,0x182f)]=init,_0x320d5a['forward']=forward,_0x320d5a[_0x54a7f1(0x140e,0x1474)]=inverse,_0x320d5a['names']=names;var geos=_0x320d5a;function includedProjections(_0x2124b6){const _0x3561ef={_0xbc583e:0x515,_0x6df54:0x34d,_0x1d6fe7:0x339,_0x4b0fe8:0xa15,_0x1c1e87:0x111c,_0x507bf9:0x1f2,_0x97fab0:0x1277,_0x2fbb0b:0xd47,_0x5428c0:0xb26,_0x10d95b:0xbec,_0x55b5e8:0x4b6,_0x39e037:0x13e7,_0x1cbeab:0x625,_0x23164a:0x422,_0x14ecfe:0x111c,_0x3e36e1:0x1966,_0x137192:0x111c,_0x1ff7c3:0x14bf,_0xc44fb2:0x111c,_0x120ad4:0x1738,_0x38a093:0xe07,_0x5315dd:0x61,_0x54993f:0x61d,_0x4ae11c:0x1064},_0x14e8b4={_0x2aacab:0x343},_0x5bc83={_0xca7a6c:0x6cc};_0x2124b6[_0x2701f0(_0x3561ef._0xbc583e,0xd47)]['projections'][_0x2701f0(0xe18,_0x3561ef._0x6df54)](tmerc),_0x2124b6['Proj'][_0x525253(0x111c,0x129b)]['add'](etmerc),_0x2124b6['Proj']['projections'][_0x2701f0(_0x3561ef._0x1d6fe7,0x34d)](utm),_0x2124b6['Proj']['projections'][_0x2701f0(_0x3561ef._0x4b0fe8,0x34d)](sterea),_0x2124b6['Proj'][_0x525253(_0x3561ef._0x1c1e87,0x9a4)][_0x525253(_0x3561ef._0x507bf9,-0x339)](stere),_0x2124b6['Proj'][_0x2701f0(0x160f,0x1277)]['add'](somerc),_0x2124b6['Proj'][_0x2701f0(0xd75,_0x3561ef._0x97fab0)]['add'](omerc);function _0x525253(_0x134f4a,_0x578953){return _0x7afdbe(_0x578953,_0x134f4a- -_0x5bc83._0xca7a6c);}_0x2124b6['Proj'][_0x525253(0x111c,0x1691)]['add'](lcc),_0x2124b6[_0x2701f0(0x6bc,_0x3561ef._0x2fbb0b)][_0x525253(0x111c,_0x3561ef._0x5428c0)][_0x525253(0x1f2,0xa69)](krovak),_0x2124b6[_0x525253(_0x3561ef._0x10d95b,_0x3561ef._0x55b5e8)]['projections'][_0x525253(0x1f2,0x4ca)](cass),_0x2124b6['Proj']['projections']['add'](laea),_0x2124b6['Proj']['projections']['add'](aea),_0x2124b6[_0x525253(0xbec,_0x3561ef._0x39e037)]['projections']['add'](gnom),_0x2124b6['Proj']['projections'][_0x525253(0x1f2,_0x3561ef._0x1cbeab)](cea),_0x2124b6['Proj'][_0x525253(_0x3561ef._0x1c1e87,0xd81)][_0x2701f0(-_0x3561ef._0x23164a,0x34d)](eqc),_0x2124b6['Proj']['projections'][_0x525253(0x1f2,0xa98)](poly),_0x2124b6['Proj'][_0x525253(_0x3561ef._0x14ecfe,_0x3561ef._0x3e36e1)][_0x2701f0(0x2f5,0x34d)](nzmg),_0x2124b6['Proj']['projections']['add'](mill),_0x2124b6['Proj']['projections']['add'](sinu),_0x2124b6['Proj'][_0x525253(_0x3561ef._0x137192,_0x3561ef._0x1ff7c3)]['add'](moll),_0x2124b6['Proj']['projections']['add'](eqdc),_0x2124b6['Proj'][_0x525253(_0x3561ef._0xc44fb2,_0x3561ef._0x120ad4)][_0x525253(0x1f2,-0x7dd)](vandg),_0x2124b6[_0x2701f0(0x173f,0xd47)]['projections'][_0x525253(_0x3561ef._0x507bf9,0x5b2)](aeqd),_0x2124b6['Proj'][_0x2701f0(_0x3561ef._0x38a093,0x1277)]['add'](ortho);function _0x2701f0(_0x47ab85,_0x4fea32){return _0x54a7f1(_0x4fea32- -_0x14e8b4._0x2aacab,_0x47ab85);}_0x2124b6['Proj']['projections']['add'](qsc),_0x2124b6[_0x2701f0(0x17b6,0xd47)]['projections'][_0x2701f0(_0x3561ef._0x5315dd,0x34d)](robin),_0x2124b6[_0x2701f0(_0x3561ef._0x54993f,0xd47)]['projections']['add'](geocent),_0x2124b6[_0x525253(0xbec,_0x3561ef._0x4ae11c)][_0x525253(0x111c,0x15ea)]['add'](tpers),_0x2124b6['Proj']['projections'][_0x2701f0(0x9fe,0x34d)](geos);}proj4['defaultDatum']='WGS84',proj4['Proj']=Projection,proj4['WGS84']=new proj4['Proj']('WGS84'),proj4['Point']=Point,proj4['toPoint']=common,proj4['defs']=defs,proj4[_0x7afdbe(0xa8,0x72a)]=nadgrid,proj4[_0x54a7f1(0x292,-0x6c8)]=transform,proj4['mgrs']=mgrs,proj4[_0x54a7f1(0x99c,0x1306)]='__VERSION__',includedProjections(proj4);const _0xa7cd33={};_0xa7cd33[_0x7afdbe(0x120b,0xed8)]='EPSG:3857',_0xa7cd33[_0x54a7f1(0xb8a,0xf4d)]=_0x7afdbe(0x161d,0x1225),_0xa7cd33['EPSG4490']='EPSG:4490',_0xa7cd33[_0x7afdbe(0xe76,0xdc0)]='CGCS2000_GK_Zone_3',_0xa7cd33['CGCS2000_GK_Zone_6']='CGCS2000_GK_Zone_6',_0xa7cd33['CGCS2000_GK_CM_3']='CGCS2000_GK_CM_3',_0xa7cd33['CGCS2000_GK_CM_6']=_0x7afdbe(0x1ba1,0x1583);const CRS=_0xa7cd33,PI$1=3.141592653589793;class LngLatPoint{constructor(_0x928cda,_0x5bc406,_0x4f5943){const _0x111e8f={_0x1aaf78:0x12e0},_0x1f4392={_0x65c27f:0x293};this['_lng']=Number(_0x928cda||0x0),this['_lat']=Number(_0x5bc406||0x0);function _0x57e4e5(_0x1b398b,_0x284116){return _0x54a7f1(_0x284116-_0x1f4392._0x65c27f,_0x1b398b);}this[_0x57e4e5(0xbbd,_0x111e8f._0x1aaf78)]=Number(_0x4f5943||0x0);}get[_0x54a7f1(0x1337,0xe4c)](){const _0x4554ad={_0x518f0c:0x1bb};function _0x76ef9c(_0x44b025,_0x151b38){return _0x54a7f1(_0x151b38- -_0x4554ad._0x518f0c,_0x44b025);}return this[_0x76ef9c(-0x13,0x355)];}set[_0x7afdbe(0x1e94,0x1565)](_0x52ad9c){const _0x2f87b9={_0x3abbb1:0x8df},_0x40d6c2={_0x265e24:0x3f2};function _0x9e7297(_0x39c1dc,_0x446290){return _0x7afdbe(_0x446290,_0x39c1dc- -_0x40d6c2._0x265e24);}this[_0x3aa58e(0x5fc,_0x2f87b9._0x3abbb1)]=+_0x52ad9c;function _0x3aa58e(_0x3ca94a,_0x8b5a3d){return _0x7afdbe(_0x8b5a3d,_0x3ca94a- -0x142);}this[_0x9e7297(0xbc8,0x7f0)]=null;}get['lat'](){return this['_lat'];}set['lat'](_0x36b130){const _0x175ef9={_0xfb46b5:0xfa3,_0x5f368e:0x148e},_0x313a46={_0x306a1d:0x17},_0x5aa41c={_0x1515ca:0x2ad};this[_0x1665c8(0x1915,0x20f8)]=+_0x36b130;function _0x36e803(_0xa5b599,_0x1acb01){return _0x54a7f1(_0xa5b599-_0x5aa41c._0x1515ca,_0x1acb01);}function _0x1665c8(_0x8b07f0,_0x3adb84){return _0x7afdbe(_0x3adb84,_0x8b07f0- -_0x313a46._0x306a1d);}this[_0x1665c8(_0x175ef9._0xfb46b5,_0x175ef9._0x5f368e)]=null;}get['alt'](){const _0x1b786e={_0x3126a1:0x1301};function _0x2e51be(_0x2da98d,_0xa91b0){return _0x7afdbe(_0xa91b0,_0x2da98d-0x86);}return this[_0x2e51be(_0x1b786e._0x3126a1,0x1598)]||0x0;}set[_0x7afdbe(0x67c,0x683)](_0x2156a9){function _0xbeb5fa(_0x240fa2,_0xd18503){return _0x7afdbe(_0xd18503,_0x240fa2- -0x58b);}this[_0x44a437(0x158c,0xceb)]=+_0x2156a9;function _0x44a437(_0x45ba88,_0x312c66){return _0x7afdbe(_0x45ba88,_0x312c66- -0x590);}this['_position']&&this[_0x44a437(0xe44,0xa2a)]instanceof Cesium__namespace['Cartesian3']&&(this['_position']=null);}['clone'](){const _0x4a34e1={_0x51a97e:0x33c,_0x31d227:0x316},_0x45006b={_0x2e6b48:0x119},_0x4407ec=new LngLatPoint();_0x4407ec['lng']=this[_0x5a401c(0x188c,0xf44)]||0x0,_0x4407ec['lat']=this['lat']||0x0,_0x4407ec['alt']=this[_0x449cd3(_0x4a34e1._0x51a97e,_0x4a34e1._0x31d227)]||0x0;function _0x449cd3(_0x5f252a,_0x47616a){return _0x54a7f1(_0x5f252a- -_0x45006b._0x2e6b48,_0x47616a);}function _0x5a401c(_0x417620,_0x369c89){return _0x7afdbe(_0x417620,_0x369c89- -0x621);}return _0x4407ec;}['format'](){const _0x3d1388={_0xc1a384:0x1049},_0xa3dc00={_0x336cbc:0x80};function _0x44caad(_0x1080c4,_0xdffc7a){return _0x54a7f1(_0xdffc7a- -0x271,_0x1080c4);}function _0x93f7(_0x40c4d0,_0x2f8b29){return _0x54a7f1(_0x40c4d0- -_0xa3dc00._0x336cbc,_0x2f8b29);}return this[_0x93f7(0x12b7,0xceb)]=formatNum$4(this['lng'],LngLatPoint[_0x93f7(0x1658,0x1a42)]),this[_0x44caad(0x1a37,_0x3d1388._0xc1a384)]=formatNum$4(this[_0x93f7(0x123a,0xb4a)],LngLatPoint[_0x44caad(0x1bd1,0x1467)]),this['alt']=formatNum$4(this['alt'],LngLatPoint['FormatAltLength']),this;}['toArray'](_0x3fb03a){const _0x502589={_0x45c215:0x6e};function _0x1f5c31(_0x533123,_0x4ef0b9){return _0x54a7f1(_0x533123- -_0x502589._0x45c215,_0x4ef0b9);}return this['format'](),_0x3fb03a?[this['lng'],this['lat']]:[this[_0x1f5c31(0x12c9,0x16ad)],this['lat'],this['alt']];}['toString'](){function _0x42ee9f(_0x31b3b5,_0x34d62d){return _0x54a7f1(_0x34d62d-0xe3,_0x31b3b5);}return this[_0x42ee9f(0xd15,0xff1)](),this['lng']+','+this['lat']+','+this['alt'];}[_0x54a7f1(0x11e8,0x10e3)](){const _0x150f9e={_0x4c9bd4:0x1980,_0x531419:0x15a2,_0x2ef51b:0xc45},_0x140a2a={_0x2513da:0x26b};function _0x2ce798(_0x5b35ca,_0xc8590b){return _0x54a7f1(_0xc8590b-_0x140a2a._0x2513da,_0x5b35ca);}function _0x23f30f(_0x2fb129,_0x51f853){return _0x7afdbe(_0x2fb129,_0x51f853- -0x29);}this['format']();const _0x59a195={};return _0x59a195['lng']=this[_0x2ce798(_0x150f9e._0x4c9bd4,_0x150f9e._0x531419)],_0x59a195['lat']=this['lat'],_0x59a195[_0x2ce798(_0x150f9e._0x2ef51b,0x6c0)]=this[_0x23f30f(0x569,0x65a)],_0x59a195;}['toCartesian'](_0x20812b=![]){const _0x360e25={_0x436dad:0xeb3},_0xceaf07={_0x4fe9c7:0x107};function _0x2ef515(_0x40888f,_0x21ae79){return _0x7afdbe(_0x21ae79,_0x40888f- -_0xceaf07._0x4fe9c7);}return!_0x20812b&&this['_position']?this[_0x2ef515(_0x360e25._0x436dad,0xd70)]:Cesium__namespace['Cartesian3']['fromDegrees'](this['lng'],this['lat'],this['alt']);}['toCartographic'](){return Cesium__namespace['Cartographic']['fromDegrees'](this['lng'],this['lat'],this['alt']);}[_0x54a7f1(0x1512,0x1442)](){const _0x1da63a={_0xc8e9f1:0x813},_0x38497c={_0x49f9a8:0x232},_0x937f6={_0x58b621:0x549};function _0x427bcf(_0x2f463d,_0x3eec40){return _0x7afdbe(_0x3eec40,_0x2f463d- -_0x937f6._0x58b621);}let _0xe31397=Math[_0x427bcf(0xa90,0xa14)](this['lng'],0xb4);function _0x156df6(_0xd84635,_0x2f3d48){return _0x7afdbe(_0xd84635,_0x2f3d48- -_0x38497c._0x49f9a8);}_0xe31397=Math['max'](_0xe31397,-0xb4);let _0x50f42f=Math['min'](this[_0x427bcf(0xf9f,0x1689)],85.05112877980659);_0x50f42f=Math['max'](_0x50f42f,-85.05112877980659);const _0x5c3a02=_0xe31397*20037508.34/0xb4;let _0x34285e=Math[_0x156df6(0x1a1d,0x1446)](Math['tan']((0x5a+_0x50f42f)*PI$1/0x168))/(PI$1/0xb4);return _0x34285e=_0x34285e*20037508.34/0xb4,[_0x5c3a02,_0x34285e,this[_0x427bcf(0x13a,_0x1da63a._0xc8e9f1)]];}[_0x54a7f1(0xee5,0x789)](_0x37af17){const _0x321da0={_0x92a65e:0xf78,_0x410fee:0x1483},_0x386c56={_0x402892:0x4a9};function _0x51013a(_0x54f17a,_0x1914e7){return _0x7afdbe(_0x54f17a,_0x1914e7- -_0x386c56._0x402892);}function _0x1578a5(_0x7e85ff,_0x1eb4b1){return _0x7afdbe(_0x7e85ff,_0x1eb4b1- -0x244);}return this===_0x37af17||_0x37af17 instanceof LngLatPoint&&this['_alt']===_0x37af17[_0x1578a5(0x196f,0x1037)]&&this[_0x51013a(_0x321da0._0x92a65e,_0x321da0._0x410fee)]===_0x37af17[_0x51013a(0x1cbf,0x1483)]&&this['_lng']===_0x37af17[_0x1578a5(0x13f,0x4fa)];}['valid'](){const _0x5f4743={_0x4dd5e2:0x1cc2,_0x3ea68b:0x1472,_0x3e0e75:0xa93},_0x570625={_0xa6520d:0x523},_0x30a63d={_0x35a718:0x4ba};if(isNaN(this['_lat'])||isNaN(this[_0xee2633(0x284,0x564)]))return![];if(this[_0xee2633(0x1472,_0x5f4743._0x4dd5e2)]<-0x5a||this[_0xee2633(_0x5f4743._0x3ea68b,_0x5f4743._0x3e0e75)]>0x5a||this['_lng']<-0xb4||this['_lng']>0xb4)return![];function _0xee2633(_0x204cd1,_0x12a745){return _0x7afdbe(_0x12a745,_0x204cd1- -_0x30a63d._0x35a718);}if(this['_lat']===0x0&&this['_lng']===0x0&&this['_alt']===0x0)return![];function _0x1e72d8(_0x3f3471,_0x512367){return _0x7afdbe(_0x512367,_0x3f3471- -_0x570625._0xa6520d);}return!![];}static[_0x54a7f1(0x3bb,-0x704)](_0x17dbda,_0x3cb8bc){const _0x4f5a95={_0x42970c:0x12db,_0x542ee2:0xc2a,_0x48a8d7:0xd06,_0x1b97e1:0x1543,_0x4843e8:0x1597,_0x4df080:0x1876,_0x112731:0x11f9,_0x842ad9:0xddd,_0xa2ec16:0x2e6,_0x32e2e7:0x11e4},_0x3361ed={_0x321f5c:0x25b};function _0x3dcdac(_0x4852a1,_0x25b8c4){return _0x54a7f1(_0x4852a1-_0x3361ed._0x321f5c,_0x25b8c4);}if(!_0x17dbda)return new LngLatPoint();if(_0x17dbda instanceof LngLatPoint)return _0x17dbda;let _0x10054d;function _0x26c3b1(_0x1493cb,_0x3e227b){return _0x54a7f1(_0x3e227b- -0x13e,_0x1493cb);}if(typeof _0x17dbda==='string')_0x10054d=LngLatPoint[_0x3dcdac(0xf90,_0x4f5a95._0x42970c)](_0x17dbda);else{if(Array[_0x3dcdac(0x16c9,0x10cd)](_0x17dbda))_0x10054d=LngLatPoint[_0x26c3b1(0x115d,0xe4d)](_0x17dbda);else{if(_0x17dbda instanceof LngLatPoint)_0x10054d=_0x17dbda[_0x3dcdac(0xa4a,_0x4f5a95._0x542ee2)]();else{if(Cesium__namespace[_0x26c3b1(_0x4f5a95._0x48a8d7,_0x4f5a95._0x1b97e1)](_0x17dbda['lat'])&&Cesium__namespace[_0x3dcdac(0x18dc,_0x4f5a95._0x4843e8)](_0x17dbda['lng'])){_0x10054d=new LngLatPoint(_0x17dbda[_0x26c3b1(_0x4f5a95._0x4df080,_0x4f5a95._0x112731)],_0x17dbda['lat'],_0x17dbda[_0x26c3b1(_0x4f5a95._0x842ad9,0x317)]);for(const _0x1617b4 in _0x17dbda){_0x10054d[_0x1617b4]=_0x17dbda[_0x1617b4];}}else{if(_0x17dbda instanceof Cesium__namespace['Cartesian3']||_0x17dbda[_0x26c3b1(0x1220,0xc23)]||_0x17dbda['getValue'])_0x10054d=LngLatPoint['fromCartesian'](_0x17dbda,_0x3cb8bc),_0x10054d[_0x3dcdac(0xfe7,0x13d2)]=_0x17dbda;else Cesium__namespace[_0x3dcdac(0x18dc,0x12f4)](_0x17dbda['x'])&&Cesium__namespace['defined'](_0x17dbda['y'])&&Cesium__namespace[_0x26c3b1(0x19da,0x1543)](_0x17dbda['z'])?(_0x17dbda=new Cesium__namespace['Cartesian3'](_0x17dbda['x'],_0x17dbda['y'],_0x17dbda['z']),_0x10054d=LngLatPoint[_0x26c3b1(-_0x4f5a95._0xa2ec16,0x1ff)](_0x17dbda,_0x3cb8bc),_0x10054d['_position']=_0x17dbda):(_0x10054d=new LngLatPoint(),logError(_0x3dcdac(_0x4f5a95._0x32e2e7,0xb77),_0x17dbda));}}}}return _0x10054d;}static['fromArray'](_0x2e0354){const _0x5f4ad7={_0x2a157e:0xcd};function _0x48ec34(_0x126d04,_0x2972b9){return _0x54a7f1(_0x2972b9- -_0x5f4ad7._0x2a157e,_0x126d04);}const _0x359ed6=new LngLatPoint();return Array['isArray'](_0x2e0354)&&(_0x359ed6[_0x48ec34(0x1922,0x126a)]=_0x2e0354[0x0]||0x0,_0x359ed6['lat']=_0x2e0354[0x1]||0x0,_0x359ed6['alt']=_0x2e0354[0x2]||0x0),_0x359ed6;}static[_0x7afdbe(0xcdb,0xf63)](_0xf01f67){const _0x4285ec={_0x5588c7:0x714};let _0x5e42e4=new LngLatPoint();function _0x5c814f(_0x1e8ccf,_0x3eca15){return _0x7afdbe(_0x3eca15,_0x1e8ccf- -_0x4285ec._0x5588c7);}function _0x52aa4f(_0x5630fd,_0x571c33){return _0x7afdbe(_0x5630fd,_0x571c33- -0x1bf);}if(_0xf01f67&&typeof _0xf01f67==='string'){const _0x1cc520=_0xf01f67[_0x52aa4f(0x149c,0x1217)](',');_0x5e42e4=this[_0x52aa4f(0x12c3,0xffa)](_0x1cc520);}return _0x5e42e4;}static[_0x54a7f1(0x33d,0xb62)](_0x2f0f68,_0x52cbaa){const _0x3bba58={_0x178488:0x7fe,_0x6bbfab:0xa52,_0x45ef5c:0x138,_0x237917:0x7e3,_0x20ae3b:0x30d,_0x21a3eb:0x1985,_0x2b8c28:0xfab,_0x1ed9a4:0x8f3,_0x36b715:0x596,_0x3aa965:0x146,_0xd1882:0x647},_0x11163f={_0x1dccc3:0x53d},_0x2ec68a=new LngLatPoint();let _0x14e672;if(_0x2f0f68){if(_0x2f0f68 instanceof Cesium__namespace['Cartesian3'])_0x14e672=_0x2f0f68;else{if(_0x2f0f68[_0x45a87f(_0x3bba58._0x178488,_0x3bba58._0x6bbfab)]&&_0x2f0f68['_value']instanceof Cesium__namespace[_0x45a87f(0x960,0xfd8)])_0x14e672=_0x2f0f68['_value'];else typeof _0x2f0f68['getValue']==='function'&&(_0x14e672=_0x2f0f68[_0x45a87f(-_0x3bba58._0x45ef5c,_0x3bba58._0x237917)](_0x52cbaa||Cesium__namespace['JulianDate'][_0x45a87f(0xad6,_0x3bba58._0x20ae3b)]()));}}function _0x45a87f(_0x39bac1,_0x34c0a4){return _0x7afdbe(_0x39bac1,_0x34c0a4- -_0x11163f._0x1dccc3);}if(_0x14e672){const _0x9e7240=Cesium__namespace['Cartographic']['fromCartesian'](_0x14e672);_0x9e7240&&(_0x2ec68a[_0x45a87f(_0x3bba58._0x21a3eb,_0x3bba58._0x2b8c28)]=Cesium__namespace[_0x45a87f(0x1654,0xf9d)][_0x2df237(0x11b9,_0x3bba58._0x1ed9a4)](_0x9e7240['latitude']),_0x2ec68a['lng']=Cesium__namespace['Math'][_0x2df237(0x11b9,0x17f7)](_0x9e7240['longitude']),_0x2ec68a[_0x45a87f(-_0x3bba58._0x36b715,_0x3bba58._0x3aa965)]=_0x9e7240[_0x45a87f(_0x3bba58._0xd1882,0x358)],_0x2ec68a['format']());}function _0x2df237(_0x3e5573,_0x2d5e5c){return _0x7afdbe(_0x2d5e5c,_0x3e5573-0x4a);}return _0x2ec68a['_position']=_0x2f0f68,_0x2ec68a;}static[_0x54a7f1(0x357,-0xd6)](_0x292089){const _0x496bb8={_0x1b3e81:0xaf4,_0x1ba7b7:0xd02,_0x19751c:0x406,_0x5a0192:0x28b},_0x294a2a={_0x5b0c02:0x23f};function _0x28b99c(_0x253e08,_0xa5ef4c){return _0x54a7f1(_0x253e08- -_0x294a2a._0x5b0c02,_0xa5ef4c);}function _0x548f16(_0x3ac6eb,_0x4fa488){return _0x7afdbe(_0x3ac6eb,_0x4fa488- -0x4cd);}const _0x5b83a9=new LngLatPoint();return _0x5b83a9['lat']=Cesium__namespace['Math']['toDegrees'](_0x292089['latitude']),_0x5b83a9[_0x28b99c(0x10f8,_0x496bb8._0x1b3e81)]=Cesium__namespace['Math'][_0x28b99c(_0x496bb8._0x1ba7b7,_0x496bb8._0x19751c)](_0x292089['longitude']),_0x5b83a9['alt']=_0x292089[_0x28b99c(0x428,_0x496bb8._0x5a0192)],_0x5b83a9;}static['fromMercator'](_0x457811){const _0x5350d9=Number(_0x457811[0x0]),_0x448f68=Number(_0x457811[0x1]),_0x28eae0=_0x5350d9/20037508.34*0xb4;let _0x2860a8=_0x448f68/20037508.34*0xb4;_0x2860a8=0xb4/PI$1*(0x2*Math['atan'](Math['exp'](_0x2860a8*PI$1/0xb4))-PI$1/0x2);const _0x430356=new LngLatPoint(_0x28eae0,_0x2860a8,_0x457811[0x2]||0x0);return _0x430356;}static['toCartesian'](_0x4b38ed,_0x47eafc){if(!_0x4b38ed||_0x4b38ed instanceof Cesium__namespace['Cartesian3'])return _0x4b38ed;return LngLatPoint['parse'](_0x4b38ed,_0x47eafc)['toCartesian'](!![]);}static['toCartographic'](_0x4bd92c,_0x5c6f62){const _0xcf274b={_0x23ff06:0x23e};if(!_0x4bd92c||_0x4bd92c instanceof Cesium__namespace['Cartographic'])return _0x4bd92c;function _0x5c1efe(_0x5384b1,_0x4f705e){return _0x54a7f1(_0x5384b1- -0xf2,_0x4f705e);}return LngLatPoint['parse'](_0x4bd92c,_0x5c6f62)[_0x5c1efe(_0xcf274b._0x23ff06,-0x543)]();}static['toArray'](_0x285d88,_0x2768ef){const _0x2c0606={_0x143f72:0x11d2,_0x28a59f:0x1467},_0x2a0881={_0x2fa05e:0x317},_0x4ac366=LngLatPoint['parse'](_0x285d88);if(!_0x4ac366||!_0x4ac366[_0x45633f(_0x2c0606._0x143f72,_0x2c0606._0x28a59f)]())return[];function _0x45633f(_0x49a4cc,_0x9358de){return _0x54a7f1(_0x49a4cc- -_0x2a0881._0x2fa05e,_0x9358de);}return _0x4ac366['toArray'](_0x2768ef);}}LngLatPoint[_0x7afdbe(0x16c2,0x1906)]=0x6,LngLatPoint['FormatAltLength']=0x1;function formatNum$4(_0x14446c,_0x2db013=0x0){const _0x39c2ca=Math['pow'](0xa,_0x2db013);return Math['round'](_0x14446c*_0x39c2ca)/_0x39c2ca;}class LngLatArray{static['toCartesians'](_0x1b0db6,_0x5d0ea7){const _0x4218c3={_0x427c56:0x6d4,_0x37033a:0x1c3};if(!_0x1b0db6||!Array['isArray'](_0x1b0db6))return _0x1b0db6;const _0x2f65e7=[];return _0x1b0db6['forEach'](function(_0x2bbdcd){const _0x40f1e8={_0x428c6f:0xd1};if(_0x2bbdcd instanceof Cesium__namespace[_0x4e760b(0x10f2,0x1471)]){_0x5d0ea7?_0x2f65e7['push'](_0x2bbdcd[_0x4e760b(0x5fa,0x7cf)]()):_0x2f65e7['push'](_0x2bbdcd);return;}const _0x200261=LngLatPoint[_0x1fd6cf(_0x4218c3._0x427c56,_0x4218c3._0x37033a)](_0x2bbdcd);if(!_0x200261||!_0x200261[_0x4e760b(0x12f4,0xce4)]())return;function _0x4e760b(_0x44ccea,_0x3433b7){return _0x536c(_0x44ccea- -0xce,_0x3433b7);}function _0x1fd6cf(_0x5e7a63,_0x1557a4){return _0x536c(_0x1557a4- -_0x40f1e8._0x428c6f,_0x5e7a63);}_0x2f65e7['push'](_0x200261['toCartesian'](!![]));}),_0x2f65e7;}static[_0x7afdbe(0x199e,0xf29)](_0x30b72e,_0x486a62){const _0x38e26b={_0x44ffd7:0x11c6,_0x174eee:0x1521,_0xdef2d7:0xd},_0x3bbcd5={_0x5485b0:0x18c};if(!_0x30b72e||!Array[_0x519967(0x1510,0x1c71)](_0x30b72e))return _0x30b72e;function _0x519967(_0x4a73b4,_0x160250){return _0x7afdbe(_0x160250,_0x4a73b4- -_0x3bbcd5._0x5485b0);}const _0x3734bc=[];return _0x30b72e['forEach'](function(_0x5216bd){if(_0x5216bd instanceof Cesium__namespace['Cartographic']){_0x486a62?_0x3734bc['push'](_0x5216bd['clone']()):_0x3734bc['push'](_0x5216bd);return;}function _0x4501bf(_0x4de40a,_0x27c5ec){return _0x519967(_0x27c5ec- -0xee,_0x4de40a);}function _0x4da5b5(_0x12bea2,_0x58e372){return _0x519967(_0x12bea2- -0x3c5,_0x58e372);}const _0x56c430=LngLatPoint['parse'](_0x5216bd);if(!_0x56c430||!_0x56c430[_0x4da5b5(_0x38e26b._0x44ffd7,_0x38e26b._0x174eee)]())return;_0x3734bc['push'](_0x56c430[_0x4da5b5(_0x38e26b._0xdef2d7,0x1d2)]());}),_0x3734bc;}static[_0x54a7f1(0xe69,0xff6)](_0x4c5b5d,_0xa9b123){const _0x1a6846={_0x954b96:0x397};if(!_0x4c5b5d||!Array['isArray'](_0x4c5b5d))return _0x4c5b5d;function _0x89174a(_0x175380,_0x721d64){return _0x7afdbe(_0x175380,_0x721d64- -0x571);}const _0x1ecf84=[];return _0x4c5b5d[_0x89174a(-_0x1a6846._0x954b96,0x302)](function(_0x211ecc){const _0x35df2e={_0x293979:0x277};function _0x8ff216(_0x55ed67,_0x317741){return _0x89174a(_0x317741,_0x55ed67-_0x35df2e._0x293979);}if(_0x211ecc instanceof LngLatPoint&&!_0xa9b123){_0x1ecf84['push'](_0x211ecc);return;}const _0x47b0df=LngLatPoint['parse'](_0x211ecc);if(!_0x47b0df||!_0x47b0df['valid']())return;_0x1ecf84[_0x8ff216(0xe3c,0x108e)](_0x47b0df);}),_0x1ecf84;}static[_0x54a7f1(0x17a6,0x1e83)](_0x134280,_0x46967d){if(!_0x134280||!Array['isArray'](_0x134280))return _0x134280;const _0x1494da=[];return _0x134280['forEach'](function(_0x53fe59){if(Array['isArray'](_0x53fe59)){_0x1494da['push'](_0x53fe59);return;}function _0x70cfb0(_0x2286cd,_0x37dc2b){return _0x536c(_0x37dc2b-0x10e,_0x2286cd);}const _0x32d40b=LngLatPoint['parse'](_0x53fe59);if(!_0x32d40b||!_0x32d40b['valid']())return;_0x1494da['push'](_0x32d40b[_0x70cfb0(0xd4c,0x178d)](_0x46967d));}),_0x1494da;}}function degree2dms(_0x5e4d4f,_0x337228=0x0){const _0x191f80={_0x54e9cf:0x44c,_0x3142e5:0x1065},_0x536c52={_0x1aa40d:0x621};let _0x5584b0=0x1;_0x5e4d4f<0x0&&(_0x5584b0=-0x1);_0x5e4d4f=Math[_0x550914(0xc2c,0xf13)](_0x5e4d4f);let _0x2ad3d6=Math[_0x550914(_0x191f80._0x54e9cf,-0x67e)](_0x5e4d4f),_0x1c7de1=Math['floor']((_0x5e4d4f-_0x2ad3d6)*0x3c),_0x38f67d=((_0x5e4d4f-_0x2ad3d6)*0xe10%0x3c)['toFixed'](_0x337228);_0x38f67d===0x3c&&(_0x1c7de1+=0x1,_0x38f67d=0x0);_0x1c7de1===0x3c&&(_0x2ad3d6+=0x1,_0x1c7de1=0x0);_0x2ad3d6*=_0x5584b0;const _0x33bb3e={};function _0x550914(_0x2b8d2d,_0x5d3606){return _0x54a7f1(_0x2b8d2d- -0x4a6,_0x5d3606);}_0x33bb3e[_0x550914(-0x23d,-0x8)]=_0x2ad3d6,_0x33bb3e[_0x3f3396(0x1184,0x1323)]=_0x1c7de1;function _0x3f3396(_0x42552d,_0x4be183){return _0x7afdbe(_0x4be183,_0x42552d- -_0x536c52._0x1aa40d);}return _0x33bb3e[_0x3f3396(0x5ca,_0x191f80._0x3142e5)]=_0x38f67d,_0x33bb3e[_0x3f3396(0xd84,0x12c7)]=_0x2ad3d6+'°\x20'+_0x1c7de1+'\x27\x20'+_0x38f67d+'\x22',_0x33bb3e;}function dms2degree(_0x5932a8,_0x184783,_0x5c5121){let _0xcc52ef=Math['abs'](_0x5932a8)+_0x184783/0x3c+_0x5c5121/0xe10;return _0x5932a8<0x0&&(_0xcc52ef*=-0x1),_0xcc52ef;}function getCGCS2000EPSGByLng(_0x32a10a,_0x436c60,_0x557714=!![]){const _0x51d370={_0x5ab0ba:0x10e0};let _0x4c720c;if(_0x436c60){const _0x351df2=parseInt(_0x32a10a/0x6)+0x1;if(_0x351df2<0xd||_0x351df2>0x17)return undefined;_0x557714?_0x4c720c=_0x351df2+0x117e:_0x4c720c=_0x351df2+0x1189;}else{const _0x326fd8=parseInt((_0x32a10a-1.5)/0x3)+0x1;if(_0x326fd8<0x19||_0x326fd8>0x2d)return undefined;_0x557714?_0x4c720c=_0x326fd8+0x1188:_0x4c720c=_0x326fd8+0x119d;}function _0x84392e(_0x2e60f1,_0x2fb834){return _0x7afdbe(_0x2fb834,_0x2e60f1- -0x2a6);}return _0x84392e(0x1506,_0x51d370._0x5ab0ba)+_0x4c720c;}function getCGCS2000EPSGByX(_0x332fb8){const _0x3fd094={_0x1b673c:0xf1d,_0xee7f1e:0x17bd,_0x13f8d9:0x2055},_0x198490={_0x5ef9db:0x121};function _0xfc65b3(_0xf904a3,_0x500217){return _0x54a7f1(_0xf904a3-0x23f,_0x500217);}const _0x389748=parseInt(_0x332fb8[_0xfc65b3(_0x3fd094._0x1b673c,0x13b8)]()['slice'](0x0,0x2));function _0x119445(_0x4b177a,_0x293225){return _0x54a7f1(_0x4b177a-_0x198490._0x5ef9db,_0x293225);}if(_0x389748>=0xd&&_0x389748<=0x17)return'EPSG:'+(_0x389748+0x117e);else return _0x389748>=0x19&&_0x389748<=0x2d?_0xfc65b3(_0x3fd094._0xee7f1e,_0x3fd094._0x13f8d9)+(_0x389748+0x1188):undefined;}function proj4Trans(_0x29ea1d,_0x2e2191,_0x46f4f4=_0x54a7f1(0xff7,0x160d)){const _0xad7d64={_0x4b2ed1:0x34b,_0x436e5e:0x627,_0x4e673a:0x15bb},_0x597d20={_0x517430:0xc6};if(!_0x2e2191||!_0x46f4f4||_0x2e2191===_0x46f4f4)return _0x29ea1d;function _0x3a55e3(_0x3182cd,_0x456c5f){return _0x7afdbe(_0x3182cd,_0x456c5f- -0x2b9);}function _0x62bd00(_0x5acbef,_0x4a456e){return _0x54a7f1(_0x5acbef- -_0x597d20._0x517430,_0x4a456e);}try{(_0x2e2191===CRS[_0x62bd00(0xacc,0x1376)]||_0x2e2191===CRS[_0x3a55e3(-_0xad7d64._0x4b2ed1,_0xad7d64._0x436e5e)])&&(_0x2e2191=getCGCS2000EPSGByX(_0x29ea1d[0x0]));if(_0x46f4f4===CRS['CGCS2000_GK_Zone_3'])_0x46f4f4=getCGCS2000EPSGByLng(_0x29ea1d[0x0],![],!![]);else{if(_0x46f4f4===CRS['CGCS2000_GK_Zone_6'])_0x46f4f4=getCGCS2000EPSGByLng(_0x29ea1d[0x0],!![],!![]);else{if(_0x46f4f4===CRS[_0x3a55e3(0xbf6,0x60c)])_0x46f4f4=getCGCS2000EPSGByLng(_0x29ea1d[0x0],![],![]);else _0x46f4f4===CRS['CGCS2000_GK_CM_6']&&(_0x46f4f4=getCGCS2000EPSGByLng(_0x29ea1d[0x0],!![],![]));}}if(!_0x2e2191||!_0x46f4f4||_0x2e2191===_0x46f4f4)return _0x29ea1d;const _0x5a6073=proj4(_0x2e2191,_0x46f4f4,_0x29ea1d);if(Cesium__namespace[_0x62bd00(_0xad7d64._0x4e673a,0x1e70)](_0x5a6073)&&_0x5a6073[_0x3a55e3(0x1539,0xefa)]>0x1&&!isNaN(_0x5a6073[0x0])&&_0x5a6073[0x0]!==Infinity)return _0x5a6073;}catch(_0x314fbf){}return _0x29ea1d;}function proj4TransArr(_0x364de6,_0x117f6d,_0x2f3016=_0x7afdbe(0x111c,0x1225)){const _0x31783c={_0x2117b7:0x1339};if(!_0x117f6d||_0x117f6d===_0x2f3016)return _0x364de6;const _0x78bba5=[];function _0xb06aa0(_0x102e54,_0x50c572){return _0x54a7f1(_0x102e54- -0xb7,_0x50c572);}for(let _0x2201d7=0x0,_0x1472c1=_0x364de6['length'];_0x2201d7<_0x1472c1;_0x2201d7++){const _0x540d77=_0x364de6[_0x2201d7];if(Array[_0x35f009(_0x31783c._0x2117b7,0x1811)](_0x540d77[0x0])){const _0x1fbbca=proj4TransArr(_0x540d77,_0x117f6d,_0x2f3016);_0x1fbbca&&_0x1fbbca['length']>0x0&&_0x78bba5[_0x35f009(0xdd3,0x1749)](_0x1fbbca);}else{const _0x12cf61=proj4Trans(_0x540d77,_0x117f6d,_0x2f3016);_0x12cf61&&_0x78bba5['push'](_0x12cf61);}}function _0x35f009(_0x139a2d,_0x549cbe){return _0x54a7f1(_0x139a2d- -0x135,_0x549cbe);}return _0x78bba5;}function toWindowCoordinates$1(_0x5eff3b,_0x278744,_0x5c464e){const _0x2b5176={_0x5dbd55:0x1ee,_0x5d8490:0x67a},_0x349d4d={_0x6c4bf5:0x3b0};function _0x185fb0(_0x35cd7d,_0x2b5203){return _0x7afdbe(_0x35cd7d,_0x2b5203- -0x258);}if(Cesium__namespace['SceneTransforms'][_0x2ac528(_0x2b5176._0x5dbd55,-_0x2b5176._0x5d8490)])return Cesium__namespace['SceneTransforms']['worldToWindowCoordinates'](_0x5eff3b,_0x278744,_0x5c464e);if(Cesium__namespace['SceneTransforms']['wgs84ToWindowCoordinates'])return Cesium__namespace['SceneTransforms'][_0x2ac528(0x121b,0x14c8)](_0x5eff3b,_0x278744,_0x5c464e);function _0x2ac528(_0xbfedf,_0x2a601d){return _0x7afdbe(_0x2a601d,_0xbfedf- -_0x349d4d._0x6c4bf5);}return new Cesium__namespace['Cartesian2'](0x0,0x0);}function cartesian2lonlat(_0xb33768,_0x4a575c){return LngLatPoint['toArray'](_0xb33768,_0x4a575c);}function cartesians2lonlats(_0x2d7aa3,_0x259755){return LngLatArray['toArray'](_0x2d7aa3,_0x259755);}function cartesian2mercator(_0x406451){const _0xdb7188={_0x2f4221:0x1918},_0x435b38={_0x2cb17:0xd8};if(!_0x406451)return null;function _0x5b4f79(_0x1507a5,_0x226dd1){return _0x54a7f1(_0x1507a5- -_0x435b38._0x2cb17,_0x226dd1);}const _0xdd343=LngLatPoint['fromCartesian'](_0x406451);return _0xdd343[_0x5b4f79(0x143a,_0xdb7188._0x2f4221)]();}function cartesians2mercators(_0x14eb83){const _0x533968={_0x40f359:0x15c6},_0xcf82a1=[];for(let _0xdc4775=0x0,_0x2fad63=_0x14eb83[_0x5c2300(0xe11,_0x533968._0x40f359)];_0xdc4775<_0x2fad63;_0xdc4775++){const _0x1d68ad=cartesian2mercator(_0x14eb83[_0xdc4775]);_0x1d68ad&&_0xcf82a1['push'](_0x1d68ad);}function _0x5c2300(_0x53a4ec,_0x2625ab){return _0x54a7f1(_0x53a4ec- -0x174,_0x2625ab);}return _0xcf82a1;}function lonlat2cartesian(_0x581f43,_0x1eb4fc=0x0){if(!_0x581f43||_0x581f43['length']<0x2)return null;return Cesium__namespace['Cartesian3']['fromDegrees'](_0x581f43[0x0],_0x581f43[0x1],_0x581f43[0x2]||_0x1eb4fc);}function lonlats2cartesians(_0x21c062,_0x450985){const _0x261915={_0x511e9c:0xe04},_0x17da87=[];for(let _0x321cdc=0x0,_0xf16e63=_0x21c062[_0x2b374f(_0x261915._0x511e9c,0x58f)];_0x321cdc<_0xf16e63;_0x321cdc++){const _0x1c1b84=_0x21c062[_0x321cdc];if(Array['isArray'](_0x1c1b84[0x0])){const _0x1cb07c=lonlats2cartesians(_0x1c1b84,_0x450985);_0x1cb07c&&_0x1cb07c['length']>0x0&&_0x17da87['push'](_0x1cb07c);}else{const _0x441af8=lonlat2cartesian(_0x1c1b84,_0x450985);_0x441af8&&_0x17da87['push'](_0x441af8);}}function _0x2b374f(_0x3a1b34,_0x3b1df1){return _0x7afdbe(_0x3b1df1,_0x3a1b34- -0x3af);}return _0x17da87;}function lonlat2mercator(_0x297778){const _0x214ece={_0x3bafc5:0x1885},_0x58d48e=LngLatPoint['fromArray'](_0x297778);function _0x2402f6(_0x821963,_0x3529b7){return _0x54a7f1(_0x821963- -0x397,_0x3529b7);}return _0x58d48e[_0x2402f6(0x117b,_0x214ece._0x3bafc5)]();}function lonlats2mercators(_0x53ec25){const _0x1dae36=[];for(let _0x3120c3=0x0,_0x4c3bd2=_0x53ec25['length'];_0x3120c3<_0x4c3bd2;_0x3120c3++){const _0x4bec25=lonlat2mercator(_0x53ec25[_0x3120c3]);_0x1dae36['push'](_0x4bec25);}return _0x1dae36;}function mercator2cartesian(_0x2dd174,_0x1e7acd){if(isNaN(_0x2dd174[0x0])||isNaN(_0x2dd174[0x1]))return null;const _0xb84d42=LngLatPoint['fromMercator'](_0x2dd174);return Cesium__namespace['defined'](_0x1e7acd)&&(_0xb84d42['alt']=_0x1e7acd),_0xb84d42['toCartesian']();}function mercators2cartesians(_0x456ede,_0x37decb){const _0x3f4daf={_0x59df70:0xdb8,_0xc21951:0x135a},_0x3ad255={_0x40bf3e:0x1cd};function _0x59d83e(_0x17d69d,_0x36e4f0){return _0x54a7f1(_0x17d69d- -_0x3ad255._0x40bf3e,_0x36e4f0);}const _0x22dec7=[];for(let _0x15e751=0x0,_0x49ccdc=_0x456ede[_0x59d83e(_0x3f4daf._0x59df70,_0x3f4daf._0xc21951)];_0x15e751<_0x49ccdc;_0x15e751++){const _0x27aa74=mercator2cartesian(_0x456ede[_0x15e751],_0x37decb);_0x27aa74&&_0x22dec7['push'](_0x27aa74);}return _0x22dec7;}function mercator2lonlat(_0x1bf8be){const _0x4c2fcb=LngLatPoint[_0x21638c(0xb61,0xf65)](_0x1bf8be);function _0x21638c(_0xd44dc1,_0x278179){return _0x54a7f1(_0xd44dc1- -0x4bf,_0x278179);}return _0x4c2fcb['toArray']();}function mercators2lonlats(_0x554cc1){const _0x4a4370=[];for(let _0x4c38ea=0x0,_0x592698=_0x554cc1['length'];_0x4c38ea<_0x592698;_0x4c38ea++){const _0x1ae02c=mercator2lonlat(_0x554cc1[_0x4c38ea]);_0x4a4370['push'](_0x1ae02c);}return _0x4a4370;}const x_PI=3.141592653589793*0xbb8/0xb4,PI=3.141592653589793,a=0x615305,ee=0.00669342162296594;function transformlat(_0x4b70fb,_0x4e0a30){const _0x43076e={_0x3a7000:0xb0d,_0x4ccb96:0x5be},_0x412739={_0x4563a5:0x30b};let _0x54bf2a=-0x64+0x2*_0x4b70fb+0x3*_0x4e0a30+0.2*_0x4e0a30*_0x4e0a30+0.1*_0x4b70fb*_0x4e0a30+0.2*Math['sqrt'](Math['abs'](_0x4b70fb));_0x54bf2a+=(0x14*Math['sin'](0x6*_0x4b70fb*PI)+0x14*Math['sin'](0x2*_0x4b70fb*PI))*0x2/0x3;function _0x1a76fd(_0x2e7040,_0x1caa30){return _0x7afdbe(_0x2e7040,_0x1caa30- -0x56a);}function _0x49bc2a(_0x11146d,_0x5c1776){return _0x7afdbe(_0x5c1776,_0x11146d- -_0x412739._0x4563a5);}return _0x54bf2a+=(0x14*Math['sin'](_0x4e0a30*PI)+0x28*Math['sin'](_0x4e0a30/0x3*PI))*0x2/0x3,_0x54bf2a+=(0xa0*Math[_0x49bc2a(0x397,_0x43076e._0x3a7000)](_0x4e0a30/0xc*PI)+0x140*Math[_0x49bc2a(0x397,-_0x43076e._0x4ccb96)](_0x4e0a30*PI/0x1e))*0x2/0x3,_0x54bf2a;}function transformlng(_0x1172db,_0x572d6f){const _0x51706a={_0x4a9f65:0x3f6,_0x1a7a9c:0x4ff},_0x549306={_0x3714e3:0x469};let _0x59be39=0x12c+_0x1172db+0x2*_0x572d6f+0.1*_0x1172db*_0x1172db+0.1*_0x1172db*_0x572d6f+0.1*Math['sqrt'](Math['abs'](_0x1172db));function _0x24ca41(_0x31f3dc,_0x5a1cd8){return _0x7afdbe(_0x5a1cd8,_0x31f3dc- -_0x549306._0x3714e3);}function _0x587916(_0x444b90,_0x29aa82){return _0x54a7f1(_0x29aa82- -0x1d5,_0x444b90);}return _0x59be39+=(0x14*Math[_0x24ca41(0x239,_0x51706a._0x4a9f65)](0x6*_0x1172db*PI)+0x14*Math[_0x24ca41(0x239,0x2b5)](0x2*_0x1172db*PI))*0x2/0x3,_0x59be39+=(0x14*Math[_0x587916(-0x4a0,0x29f)](_0x1172db*PI)+0x28*Math[_0x24ca41(0x239,_0x51706a._0x1a7a9c)](_0x1172db/0x3*PI))*0x2/0x3,_0x59be39+=(0x96*Math['sin'](_0x1172db/0xc*PI)+0x12c*Math['sin'](_0x1172db/0x1e*PI))*0x2/0x3,_0x59be39;}function out_of_china(_0x32eeba,_0x5c67e2){return _0x32eeba<72.004||_0x32eeba>137.8347||_0x5c67e2<0.8293||_0x5c67e2>55.8271||![];}function bd2gcj(_0xd01357){const _0x267e6c={_0x54969c:0xe9d,_0x361711:0xe93,_0x4923c5:0xc81,_0x3c919e:0x50d,_0x31ca44:0x3c8},_0x4c4516={_0x52f314:0x99},_0x172ddc={_0xff687d:0x196},_0x10f6cb=Number(_0xd01357[0x0]);function _0x355aac(_0x1e03b4,_0x45eddb){return _0x7afdbe(_0x45eddb,_0x1e03b4- -_0x172ddc._0xff687d);}const _0x1894ca=Number(_0xd01357[0x1]),_0x355bae=3.141592653589793*0xbb8/0xb4,_0x578d3c=_0x10f6cb-0.0065,_0x2e53aa=_0x1894ca-0.006,_0x4c8d2e=Math[_0x497571(_0x267e6c._0x54969c,_0x267e6c._0x361711)](_0x578d3c*_0x578d3c+_0x2e53aa*_0x2e53aa)-0.00002*Math['sin'](_0x2e53aa*_0x355bae),_0x1c0f03=Math[_0x497571(0x543,_0x267e6c._0x4923c5)](_0x2e53aa,_0x578d3c)-0.000003*Math['cos'](_0x578d3c*_0x355bae);let _0x57c6c1=_0x4c8d2e*Math['cos'](_0x1c0f03),_0x4b8016=_0x4c8d2e*Math[_0x497571(_0x267e6c._0x3c919e,-_0x267e6c._0x31ca44)](_0x1c0f03);function _0x497571(_0x465815,_0x532e2f){return _0x54a7f1(_0x465815-_0x4c4516._0x52f314,_0x532e2f);}return _0x57c6c1=Number(_0x57c6c1['toFixed'](LngLatPoint['FormatLength'])),_0x4b8016=Number(_0x4b8016['toFixed'](LngLatPoint['FormatLength'])),[_0x57c6c1,_0x4b8016];}function gcj2bd(_0x89bdb2){const _0x2dcf90={_0x22d1c5:0x18a5,_0x51c4aa:0x18a0},_0x4a39fa={_0x4be1df:0x1e8},_0x596301=Number(_0x89bdb2[0x0]),_0x3afcd5=Number(_0x89bdb2[0x1]),_0x18a025=Math['sqrt'](_0x596301*_0x596301+_0x3afcd5*_0x3afcd5)+0.00002*Math[_0x27d351(0x5c5,0x54c)](_0x3afcd5*x_PI);function _0x51efc1(_0x59f394,_0x348b53){return _0x7afdbe(_0x348b53,_0x59f394- -_0x4a39fa._0x4be1df);}function _0x27d351(_0x1d7ad6,_0x245448){return _0x7afdbe(_0x245448,_0x1d7ad6- -0xdd);}const _0x271681=Math['atan2'](_0x3afcd5,_0x596301)+0.000003*Math[_0x27d351(_0x2dcf90._0x22d1c5,0x1926)](_0x596301*x_PI);let _0x366bfb=_0x18a025*Math['cos'](_0x271681)+0.0065,_0x54bbdc=_0x18a025*Math['sin'](_0x271681)+0.006;return _0x366bfb=Number(_0x366bfb['toFixed'](LngLatPoint[_0x27d351(0x1829,0x14c3)])),_0x54bbdc=Number(_0x54bbdc['toFixed'](LngLatPoint[_0x27d351(0x1829,_0x2dcf90._0x51c4aa)])),[_0x366bfb,_0x54bbdc];}function wgs2gcj(_0x29afa7){const _0x4c9bd0={_0x48a046:0x198f,_0xc7ae25:0x184e,_0x51492d:0x1a91},_0x1ad290={_0x21f21c:0x23b},_0x486ac5={_0x217bbf:0x3f8},_0x430f29=Number(_0x29afa7[0x0]);function _0x21c936(_0x5cfe80,_0x399f92){return _0x7afdbe(_0x5cfe80,_0x399f92- -_0x486ac5._0x217bbf);}const _0x2e1e8e=Number(_0x29afa7[0x1]);function _0x117551(_0x3a74ae,_0x3f9bc8){return _0x54a7f1(_0x3a74ae-_0x1ad290._0x21f21c,_0x3f9bc8);}if(out_of_china(_0x430f29,_0x2e1e8e))return[_0x430f29,_0x2e1e8e];else{let _0x1aa8ce=transformlat(_0x430f29-0x69,_0x2e1e8e-0x23),_0x46d879=transformlng(_0x430f29-0x69,_0x2e1e8e-0x23);const _0x36ffcd=_0x2e1e8e/0xb4*PI;let _0x3a3366=Math['sin'](_0x36ffcd);_0x3a3366=0x1-ee*_0x3a3366*_0x3a3366;const _0x10fa57=Math[_0x117551(0x103f,0x12d4)](_0x3a3366);_0x1aa8ce=_0x1aa8ce*0xb4/(a*(0x1-ee)/(_0x3a3366*_0x10fa57)*PI),_0x46d879=_0x46d879*0xb4/(a/_0x10fa57*Math[_0x117551(_0x4c9bd0._0x48a046,0x104e)](_0x36ffcd)*PI);let _0x528c41=_0x2e1e8e+_0x1aa8ce,_0x236d86=_0x430f29+_0x46d879;return _0x236d86=Number(_0x236d86['toFixed'](LngLatPoint['FormatLength'])),_0x528c41=Number(_0x528c41[_0x117551(0x1364,_0x4c9bd0._0xc7ae25)](LngLatPoint[_0x21c936(_0x4c9bd0._0x51492d,0x150e)])),[_0x236d86,_0x528c41];}}function gcj2wgs(_0x3cec16){const _0x1f427d={_0x51dc60:0x20},_0x2d32ac={_0x574ebd:0x103};function _0x41a54e(_0x357dbf,_0x24cbe6){return _0x7afdbe(_0x357dbf,_0x24cbe6- -0x682);}function _0x3c675b(_0x1fd7d6,_0xb7b36e){return _0x54a7f1(_0x1fd7d6- -_0x2d32ac._0x574ebd,_0xb7b36e);}const _0x2c3078=Number(_0x3cec16[0x0]),_0x278220=Number(_0x3cec16[0x1]);if(out_of_china(_0x2c3078,_0x278220))return[_0x2c3078,_0x278220];else{let _0x3edbec=transformlat(_0x2c3078-0x69,_0x278220-0x23),_0xfae1d3=transformlng(_0x2c3078-0x69,_0x278220-0x23);const _0x19b146=_0x278220/0xb4*PI;let _0x39aed0=Math[_0x41a54e(0x461,_0x1f427d._0x51dc60)](_0x19b146);_0x39aed0=0x1-ee*_0x39aed0*_0x39aed0;const _0xa74b29=Math['sqrt'](_0x39aed0);_0x3edbec=_0x3edbec*0xb4/(a*(0x1-ee)/(_0x39aed0*_0xa74b29)*PI),_0xfae1d3=_0xfae1d3*0xb4/(a/_0xa74b29*Math[_0x41a54e(0xded,0x1300)](_0x19b146)*PI);const _0x3501b=_0x278220+_0x3edbec,_0x56ade0=_0x2c3078+_0xfae1d3;let _0xf08908=_0x2c3078*0x2-_0x56ade0,_0x73e2e1=_0x278220*0x2-_0x3501b;return _0xf08908=Number(_0xf08908['toFixed'](LngLatPoint['FormatLength'])),_0x73e2e1=Number(_0x73e2e1['toFixed'](LngLatPoint['FormatLength'])),[_0xf08908,_0x73e2e1];}}function bd2wgs(_0x5d8eb7){return gcj2wgs(bd2gcj(_0x5d8eb7));}function wgs2bd(_0x1b7b2e){return gcj2bd(wgs2gcj(_0x1b7b2e));}const _0x5f353a={};_0x5f353a[_0x7afdbe(0x73a,0x851)]=null,_0x5f353a['degree2dms']=degree2dms,_0x5f353a['dms2degree']=dms2degree,_0x5f353a[_0x54a7f1(0x8f0,-0x175)]=getCGCS2000EPSGByLng,_0x5f353a['getCGCS2000EPSGByX']=getCGCS2000EPSGByX,_0x5f353a[_0x54a7f1(0x13e4,0xd98)]=proj4Trans,_0x5f353a['proj4TransArr']=proj4TransArr,_0x5f353a['toWindowCoordinates']=toWindowCoordinates$1,_0x5f353a['cartesian2lonlat']=cartesian2lonlat,_0x5f353a['cartesians2lonlats']=cartesians2lonlats,_0x5f353a[_0x54a7f1(0x929,0x6e2)]=cartesian2mercator,_0x5f353a[_0x54a7f1(0xe10,0x834)]=cartesians2mercators,_0x5f353a['lonlat2cartesian']=lonlat2cartesian,_0x5f353a['lonlats2cartesians']=lonlats2cartesians,_0x5f353a[_0x54a7f1(0x994,0x13e0)]=lonlat2mercator,_0x5f353a['lonlats2mercators']=lonlats2mercators,_0x5f353a[_0x54a7f1(0xb6c,0x8d0)]=mercator2cartesian,_0x5f353a[_0x54a7f1(0xe35,0x10c2)]=mercators2cartesians,_0x5f353a['mercator2lonlat']=mercator2lonlat,_0x5f353a['mercators2lonlats']=mercators2lonlats,_0x5f353a[_0x54a7f1(0x24b,0x876)]=bd2gcj,_0x5f353a[_0x54a7f1(0x102d,0x922)]=gcj2bd,_0x5f353a['wgs2gcj']=wgs2gcj,_0x5f353a['gcj2wgs']=gcj2wgs,_0x5f353a['bd2wgs']=bd2wgs,_0x5f353a['wgs2bd']=wgs2bd;var PointTrans=_0x5f353a;function xhrAdapter(_0x1a95aa){const _0x5f4a88={_0x3bb7c6:0x6a1,_0x30cbd8:0x4d9,_0x5772c8:0x6bc,_0x441dc8:0x9cf,_0x4f8912:0x4b5,_0xa48f44:0x5a0,_0x47b1ec:0xdb2,_0x1d24c2:0x85,_0x4fb388:0x2ab},_0x14e6fa={_0x38c2dc:0x1d2},_0x59e2f8={_0x220c93:0x5a,_0x173b9e:0xedc,_0x367a85:0xb97,_0x5323cc:0xf47},_0x5a340f={_0x415867:0xe29,_0x2af57f:0x12d9};return _0x1a95aa={'method':'get','timeout':0x0,'maxContentLength':-0x1,'maxBodyLength':-0x1,'params':_0x1a95aa['queryParameters']||{},..._0x1a95aa},new Promise(function _0x4ea5bb(_0x2cc503,_0x127042){const _0x47e83a={_0x341388:0xd39},_0x105704={_0x63bd1e:0xc5},_0x3b6d09={_0x50dda1:0xae4,_0x5a14ae:0x211,_0x484e37:0x12f7,_0x19f636:0xe39},_0x15b47d={_0xe3b173:0xd1};let _0x4f06c7=_0x1a95aa[_0x188859(0xa77,0x7d1)];const _0x3d03a0=_0x1a95aa[_0x188859(0xdda,0x9d8)]||{},_0x4fbe54=_0x1a95aa[_0x188859(_0x5f4a88._0x3bb7c6,0x78e)];function _0x188859(_0x48cf54,_0x9a0c4b){return _0x536c(_0x48cf54- -_0x15b47d._0xe3b173,_0x9a0c4b);}isFormData(_0x4f06c7)&&delete _0x3d03a0['Content-Type'];let _0x306156=new XMLHttpRequest();_0x306156['open'](_0x1a95aa[_0x4b1ca7(0x120e,0xe7a)][_0x4b1ca7(-0x68f,0x229)](),buildURL(_0x1a95aa['url'],_0x1a95aa[_0x4b1ca7(0x17c9,0x1012)],_0x1a95aa['paramsSerializer']),!![]),_0x306156['timeout']=_0x1a95aa['timeout'];function _0x2a45a8(){const _0x362eec={_0x10df2e:0x3f7};if(!_0x306156)return;const _0x2ab268='getAllResponseHeaders'in _0x306156?parseHeaders(_0x306156[_0x1eb832(_0x3b6d09._0x50dda1,_0x3b6d09._0x5a14ae)]()):null;function _0x1eb832(_0x1ef813,_0x2ebc24){return _0x188859(_0x1ef813-0x3bd,_0x2ebc24);}const _0x14fdc4=!_0x4fbe54||_0x4fbe54==='text'||_0x4fbe54===_0x1eb832(_0x3b6d09._0x484e37,0x1295)?_0x306156[_0x1eb832(_0x3b6d09._0x19f636,0x46b)]:_0x306156['response'];function _0x536774(_0x3b33a3,_0x57eff8){return _0x188859(_0x3b33a3-_0x362eec._0x10df2e,_0x57eff8);}const _0x1e4059={'data':transformResponse(_0x306156,_0x14fdc4),'status':_0x306156['status'],'statusText':_0x306156[_0x536774(0xa37,0xde2)],'headers':_0x2ab268,'options':_0x1a95aa,'request':_0x306156};settle(function _0x1296f0(_0x477ba6){_0x2cc503(_0x477ba6);},function _0x493d27(_0x44978f){_0x127042(_0x44978f);},_0x1e4059),_0x306156=null;}'onloadend'in _0x306156?_0x306156['onloadend']=_0x2a45a8:_0x306156[_0x4b1ca7(-0x216,_0x5f4a88._0x30cbd8)]=function _0x42a36b(){function _0x4be2aa(_0x51418a,_0x3c895a){return _0x4b1ca7(_0x51418a,_0x3c895a-0x385);}if(!_0x306156||_0x306156['readyState']!==0x4)return;if(_0x306156[_0x526fb6(0x117d,0xc4e)]===0x0&&!(_0x306156['responseURL']&&_0x306156['responseURL'][_0x526fb6(0x4e5,_0x105704._0x63bd1e)]('file:')===0x0))return;function _0x526fb6(_0x20dea4,_0x54d1a0){return _0x188859(_0x54d1a0- -0x2f2,_0x20dea4);}setTimeout(_0x2a45a8);};_0x306156[_0x4b1ca7(_0x5f4a88._0x5772c8,_0x5f4a88._0x441dc8)]=function _0xddd4f1(){function _0x18acb2(_0x3f05aa,_0x9193df){return _0x4b1ca7(_0x9193df,_0x3f05aa-0xb);}if(!_0x306156)return;_0x127042(createError('Request\x20aborted',_0x1a95aa,_0x18acb2(_0x5a340f._0x415867,_0x5a340f._0x2af57f),_0x306156)),_0x306156=null;},_0x306156['onerror']=function _0x3601a0(){_0x127042(createError('Network\x20Error',_0x1a95aa,null,_0x306156)),_0x306156=null;},_0x306156[_0x188859(0x15ad,0x18ea)]=function _0xa27434(){function _0x62aa41(_0x3c9b1a,_0x90ec72){return _0x188859(_0x90ec72-0x28,_0x3c9b1a);}let _0x4d63d4=_0x62aa41(-0x773,_0x59e2f8._0x220c93)+_0x1a95aa[_0x59e32f(_0x59e2f8._0x173b9e,0xd68)]+'ms\x20exceeded';_0x1a95aa[_0x62aa41(0x6df,0xb97)]&&(_0x4d63d4=_0x1a95aa[_0x62aa41(0x1090,_0x59e2f8._0x367a85)]);function _0x59e32f(_0x36bc07,_0x427db5){return _0x188859(_0x427db5- -0xa9,_0x36bc07);}_0x127042(createError(_0x4d63d4,_0x1a95aa,_0x62aa41(0x180f,_0x59e2f8._0x5323cc),_0x306156)),_0x306156=null;};function _0x4b1ca7(_0x43a63b,_0x27996d){return _0x536c(_0x27996d- -_0x14e6fa._0x38c2dc,_0x43a63b);}'setRequestHeader'in _0x306156&&forEach(_0x3d03a0,function _0x4c2476(_0x5212c3,_0x35c370){function _0x42365e(_0x19028a,_0x32023c){return _0x4b1ca7(_0x32023c,_0x19028a-0x5a6);}typeof _0x4f06c7==='undefined'&&_0x35c370['toLowerCase']()==='content-type'?delete _0x3d03a0[_0x35c370]:_0x306156[_0x42365e(0x7ad,_0x47e83a._0x341388)](_0x35c370,_0x5212c3);}),!isUndefined(_0x1a95aa['withCredentials'])&&(_0x306156['withCredentials']=!!_0x1a95aa['withCredentials']),_0x4fbe54&&_0x4fbe54!=='json'&&(_0x306156[_0x4b1ca7(_0x5f4a88._0x4f8912,_0x5f4a88._0xa48f44)]=_0x1a95aa['responseType']),typeof _0x1a95aa['onDownloadProgress']==='function'&&_0x306156['addEventListener']('progress',_0x1a95aa['onDownloadProgress']),typeof _0x1a95aa['onUploadProgress']==='function'&&_0x306156[_0x4b1ca7(0x7e7,_0x5f4a88._0x47b1ec)]&&_0x306156['upload']['addEventListener'](_0x188859(_0x5f4a88._0x1d24c2,_0x5f4a88._0x4fb388),_0x1a95aa['onUploadProgress']),!_0x4f06c7&&(_0x4f06c7=null),_0x306156['send'](_0x4f06c7);});}function isString$1(_0x26979f){const _0x53db8d={_0x12f5bf:0x118d};function _0x3cdb65(_0x554c6f,_0x1177a8){return _0x54a7f1(_0x1177a8- -0x6c,_0x554c6f);}return typeof _0x26979f===_0x3cdb65(0x974,_0x53db8d._0x12f5bf);}function isDate(_0x6d2c98){return toString['call'](_0x6d2c98)==='[object\x20Date]';}function isObject$1(_0x438bb5){const _0xfaa549={_0x4e3bac:0x134b,_0x4308cd:0xc5f};function _0x4137a0(_0x1939cc,_0x3281af){return _0x7afdbe(_0x1939cc,_0x3281af- -0x457);}return _0x438bb5!==null&&typeof _0x438bb5===_0x4137a0(_0xfaa549._0x4e3bac,_0xfaa549._0x4308cd);}function isFormData(_0x31efd1){const _0x271188={_0x54dcef:0x13e9};function _0x59e4e5(_0x2dbd2b,_0x552de7){return _0x7afdbe(_0x552de7,_0x2dbd2b- -0x378);}return typeof FormData!==_0x59e4e5(_0x271188._0x54dcef,0x1dc0)&&_0x31efd1 instanceof FormData;}function isUndefined(_0x3278ba){return typeof _0x3278ba==='undefined';}function _0x536c(_0x579d16,_0x3affb7){const _0x289237=_0x2892();return _0x536c=function(_0x536cb8,_0xb8e156){_0x536cb8=_0x536cb8-0xf7;let _0xfe59a7=_0x289237[_0x536cb8];if(_0x536c['AJwleR']===undefined){var _0x26c055=function(_0x44ca87){const _0x2fb5b7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45ac5a='',_0xee8bc9='';for(let _0x21c928=0x0,_0x4d6b5d,_0x3f1f1e,_0x9edae9=0x0;_0x3f1f1e=_0x44ca87['charAt'](_0x9edae9++);~_0x3f1f1e&&(_0x4d6b5d=_0x21c928%0x4?_0x4d6b5d*0x40+_0x3f1f1e:_0x3f1f1e,_0x21c928++%0x4)?_0x45ac5a+=String['fromCharCode'](0xff&_0x4d6b5d>>(-0x2*_0x21c928&0x6)):0x0){_0x3f1f1e=_0x2fb5b7['indexOf'](_0x3f1f1e);}for(let _0x10fac2=0x0,_0x195795=_0x45ac5a['length'];_0x10fac2<_0x195795;_0x10fac2++){_0xee8bc9+='%'+('00'+_0x45ac5a['charCodeAt'](_0x10fac2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xee8bc9);};_0x536c['AZVxGX']=_0x26c055,_0x579d16=arguments,_0x536c['AJwleR']=!![];}const _0x24945c=_0x289237[0x0],_0x337e58=_0x536cb8+_0x24945c,_0x5b4f51=_0x579d16[_0x337e58];return!_0x5b4f51?(_0xfe59a7=_0x536c['AZVxGX'](_0xfe59a7),_0x579d16[_0x337e58]=_0xfe59a7):_0xfe59a7=_0x5b4f51,_0xfe59a7;},_0x536c(_0x579d16,_0x3affb7);}function isURLSearchParams(_0x4eb12f){return typeof URLSearchParams!=='undefined'&&_0x4eb12f instanceof URLSearchParams;}function forEach(_0x5b5e99,_0x21e943){const _0x2518a4={_0x171bb0:0x1400},_0x2d23fb={_0x5a38ea:0x31a};function _0x4a446a(_0xf5649b,_0x575cd6){return _0x54a7f1(_0x575cd6-0x21,_0xf5649b);}if(_0x5b5e99===null||typeof _0x5b5e99==='undefined')return;function _0x1292e0(_0x38031e,_0x58c46){return _0x54a7f1(_0x38031e- -_0x2d23fb._0x5a38ea,_0x58c46);}typeof _0x5b5e99!==_0x4a446a(_0x2518a4._0x171bb0,0xea9)&&(_0x5b5e99=[_0x5b5e99]);if(Array['isArray'](_0x5b5e99))for(let _0x13c75f=0x0,_0x3ac195=_0x5b5e99['length'];_0x13c75f<_0x3ac195;_0x13c75f++){_0x21e943['call'](null,_0x5b5e99[_0x13c75f],_0x13c75f,_0x5b5e99);}else for(const _0x485419 in _0x5b5e99){Object['prototype'][_0x1292e0(0x1291,0x1338)]['call'](_0x5b5e99,_0x485419)&&_0x21e943[_0x4a446a(0x1b9e,0x10d2)](null,_0x5b5e99[_0x485419],_0x485419,_0x5b5e99);}}function encode(_0x36209f){const _0x46fd08={_0x3a1590:0xfe,_0x4c3871:0x6c4};function _0xa54397(_0x4fe7b1,_0x31c485){return _0x54a7f1(_0x4fe7b1- -0x42e,_0x31c485);}return encodeURIComponent(_0x36209f)['replace'](/%3A/gi,':')[_0xa54397(_0x46fd08._0x3a1590,-_0x46fd08._0x4c3871)](/%24/g,'$')['replace'](/%2C/gi,',')['replace'](/%20/g,'+')['replace'](/%5B/gi,'[')['replace'](/%5D/gi,']');}function trim$1(_0x1d690f){return _0x1d690f['trim']?_0x1d690f['trim']():_0x1d690f['replace'](/^\s+|\s+$/g,'');}function buildURL(_0xec70c2,_0x132cc5,_0x4e8cda){const _0x30c045={_0x30a87d:0x5b3,_0x2833d4:0x5b3,_0x14a467:0x9f},_0x24a7a0={_0x47f5d1:0x2ee};function _0x461f4a(_0x2dde54,_0x5078d4){return _0x54a7f1(_0x2dde54- -_0x24a7a0._0x47f5d1,_0x5078d4);}if(!_0x132cc5)return _0xec70c2;let _0x120b57;function _0x113c3c(_0x2ee875,_0x504d15){return _0x7afdbe(_0x504d15,_0x2ee875- -0x22a);}if(_0x4e8cda)_0x120b57=_0x4e8cda(_0x132cc5);else{if(isURLSearchParams(_0x132cc5))_0x120b57=_0x132cc5['toString']();else{const _0x189825=[];forEach(_0x132cc5,function _0x5f140a(_0xc45a2d,_0x2c2940){const _0x2bc17c={_0x1133c7:0x67b,_0x563c73:0x10d6};if(_0xc45a2d===null||typeof _0xc45a2d==='undefined')return;Array['isArray'](_0xc45a2d)?_0x2c2940=_0x2c2940+'[]':_0xc45a2d=[_0xc45a2d],forEach(_0xc45a2d,function _0x47d01e(_0x1d4ad2){const _0x3de382={_0x3ad68f:0x1b1};if(isDate(_0x1d4ad2))_0x1d4ad2=_0x1d4ad2['toISOString']();else isObject$1(_0x1d4ad2)&&(_0x1d4ad2=JSON[_0x299ef2(_0x2bc17c._0x1133c7,_0x2bc17c._0x563c73)](_0x1d4ad2));function _0x299ef2(_0x4400c4,_0x5e9123){return _0x536c(_0x5e9123-0x3b1,_0x4400c4);}function _0x510dab(_0x12c988,_0x5d789d){return _0x536c(_0x5d789d-_0x3de382._0x3ad68f,_0x12c988);}_0x189825[_0x299ef2(0x1afb,0x1192)](encode(_0x2c2940)+'='+encode(_0x1d4ad2));});}),_0x120b57=_0x189825[_0x461f4a(0x1107,0x1b39)]('&');}}if(_0x120b57){const _0x42fc99=_0xec70c2[_0x113c3c(_0x30c045._0x30a87d,0xdd7)]('#');_0x42fc99!==-0x1&&(_0xec70c2=_0xec70c2[_0x113c3c(0x80f,0x412)](0x0,_0x42fc99)),_0xec70c2+=(_0xec70c2[_0x113c3c(_0x30c045._0x2833d4,-_0x30c045._0x14a467)]('?')===-0x1?'?':'&')+_0x120b57;}return _0xec70c2;}const ignoreDuplicateOf=['age','authorization',_0x54a7f1(0xc18,0x12ff),_0x7afdbe(0x124e,0x13a0),'etag','expires',_0x7afdbe(-0x1fb,0x57d),'host',_0x54a7f1(0x7cc,0xd1b),'if-unmodified-since','last-modified','location','max-forwards',_0x54a7f1(0xfb5,0xca4),'referer','retry-after',_0x7afdbe(0x1d0c,0x192f)];function parseHeaders(_0x56a89c){const _0x4ec9e2={_0x2ba106:0x1448},_0x146ede={_0x55622e:0x50b},_0x32d958={_0x496729:0x72},_0x935ef0={};function _0x411b72(_0x8d8041,_0x1db453){return _0x7afdbe(_0x8d8041,_0x1db453-_0x32d958._0x496729);}let _0x2a5848,_0x375073,_0x3a7ac2;if(!_0x56a89c)return _0x935ef0;return forEach(_0x56a89c[_0x411b72(0xa74,_0x4ec9e2._0x2ba106)]('\x0a'),function _0x2b356a(_0x46ac8f){function _0x33d477(_0x48400d,_0x1d33aa){return _0x411b72(_0x1d33aa,_0x48400d- -_0x146ede._0x55622e);}_0x3a7ac2=_0x46ac8f['indexOf'](':'),_0x2a5848=trim$1(_0x46ac8f['substr'](0x0,_0x3a7ac2))['toLowerCase'](),_0x375073=trim$1(_0x46ac8f['substr'](_0x3a7ac2+0x1));if(_0x2a5848){if(_0x935ef0[_0x2a5848]&&ignoreDuplicateOf['indexOf'](_0x2a5848)>=0x0)return;_0x2a5848==='set-cookie'?_0x935ef0[_0x2a5848]=(_0x935ef0[_0x2a5848]?_0x935ef0[_0x2a5848]:[])[_0x33d477(0x75a,0xb00)]([_0x375073]):_0x935ef0[_0x2a5848]=_0x935ef0[_0x2a5848]?_0x935ef0[_0x2a5848]+',\x20'+_0x375073:_0x375073;}}),_0x935ef0;}function settle(_0x53fd0c,_0x488ca9,_0x36d427){const _0x37b1c2={_0xf88f:0x9bc},_0x29e779={_0x4c93a9:0x2a};function _0x397b7e(_0x2c22a3,_0xf455fd){return _0x7afdbe(_0x2c22a3,_0xf455fd- -0x19f);}function _0x508da3(_0x3d9db3,_0x208345){return _0x7afdbe(_0x3d9db3,_0x208345- -_0x29e779._0x4c93a9);}!_0x36d427[_0x397b7e(_0x37b1c2._0xf88f,0x11c7)]||validateStatus(_0x36d427['status'])?_0x53fd0c(_0x36d427):_0x488ca9(createError('Request\x20failed\x20with\x20status\x20code\x20'+_0x36d427['status'],_0x36d427['options'],null,_0x36d427[_0x397b7e(0x269,0xcb4)],_0x36d427));}function validateStatus(_0x29a448){return _0x29a448>=0xc8&&_0x29a448<0x12c;}function createError(_0x1f26ca,_0x5c8610,_0x45102f,_0x35f672,_0x1890ec){const _0x359024=new Error(_0x1f26ca);return enhanceError(_0x359024,_0x5c8610,_0x45102f,_0x35f672,_0x1890ec);}function enhanceError(_0x50246b,_0x5e6d19,_0x376dbe,_0x3742ee,_0x6f1d19){const _0xf6ae77={_0x3d31ce:0xe9e,_0x355e37:0x121d,_0x5ca41e:0x1712,_0x29f65e:0x992,_0x1da33a:0x436,_0xa7d9d4:0x4c9,_0xfe398b:0x1c7,_0x2d0e3f:0x61b,_0x3feb3f:0xd51,_0x4f95af:0x2e1,_0x136535:0xa66},_0x388f04={_0x5918e0:0x5fe};_0x50246b['options']=_0x5e6d19;_0x376dbe&&(_0x50246b['code']=_0x376dbe);_0x50246b['request']=_0x3742ee,_0x50246b['response']=_0x6f1d19;function _0x3a3905(_0x161475,_0x5d4a25){return _0x7afdbe(_0x5d4a25,_0x161475- -_0x388f04._0x5918e0);}return _0x50246b[_0x3a3905(0xd5d,0x12b5)]=!![],_0x50246b['toJSON']=function _0x4de000(){const _0x291ed9={};_0x291ed9[_0x31db66(0x14c,-0xbf)]=this['message'],_0x291ed9['name']=this['name'],_0x291ed9['description']=this['description'];function _0xd99bc7(_0x5547c2,_0x1f2a45){return _0x3a3905(_0x5547c2-0x15a,_0x1f2a45);}function _0x31db66(_0x528f97,_0x72f0d2){return _0x3a3905(_0x528f97- -0x17,_0x72f0d2);}return _0x291ed9['number']=this[_0xd99bc7(0x11a2,_0xf6ae77._0x3d31ce)],_0x291ed9[_0x31db66(0x696,0xe46)]=this['fileName'],_0x291ed9[_0x31db66(_0xf6ae77._0x355e37,_0xf6ae77._0x5ca41e)]=this['lineNumber'],_0x291ed9[_0x31db66(_0xf6ae77._0x29f65e,_0xf6ae77._0x1da33a)]=this['columnNumber'],_0x291ed9['stack']=this['stack'],_0x291ed9[_0x31db66(_0xf6ae77._0xa7d9d4,-0x169)]=this[_0xd99bc7(0x63a,_0xf6ae77._0xfe398b)],_0x291ed9[_0x31db66(0x2b8,-_0xf6ae77._0x2d0e3f)]=this['code'],_0x291ed9[_0x31db66(_0xf6ae77._0x3feb3f,_0xf6ae77._0x4f95af)]=this['response']&&this[_0xd99bc7(0x11a7,_0xf6ae77._0x136535)]['status']?this['response']['status']:null,_0x291ed9;},_0x50246b;}function transformResponse(_0x1a3063,_0xc86494){const _0x52ebc1={_0x329c9d:0xce2,_0xf15055:0x10c,_0x1420b7:0x118},_0x1d0e59={_0x4d2186:0x2a3};function _0x5cd0b0(_0x4934a4,_0x2c0a96){return _0x54a7f1(_0x2c0a96- -_0x1d0e59._0x4d2186,_0x4934a4);}if(isString$1(_0xc86494)&&_0xc86494[_0x5cd0b0(0xd3f,_0x52ebc1._0x329c9d)])try{return JSON[_0x5cd0b0(_0x52ebc1._0xf15055,_0x52ebc1._0x1420b7)](_0xc86494);}catch(_0x1eaa0c){}function _0x56d09b(_0x1441a5,_0x2c451d){return _0x7afdbe(_0x2c451d,_0x1441a5- -0x687);}return _0xc86494;}const _0x4d5228={};_0x4d5228['type']='cn',_0x4d5228[_0x7afdbe(0x8e7,0xb21)]='WebGL发生渲染错误,渲染已经停止,请刷新页面。',_0x4d5228['ErrorConstructingCesiumWidget']=_0x7afdbe(0x1133,0x1618),_0x4d5228['Today']='今天',_0x4d5228['TodayRealTime']='今天(实际时间)',_0x4d5228['Pause']='暂停',_0x4d5228['PlayReverse']=_0x54a7f1(0xa7b,0xa4f),_0x4d5228['PlayForward']='前进播放',_0x4d5228[_0x54a7f1(0xd1e,0xe00)]=_0x7afdbe(0x18bb,0xe47),_0x4d5228[_0x54a7f1(0x8f8,0xfd7)]='影像',_0x4d5228[_0x54a7f1(0x1403,0x1887)]=_0x7afdbe(0x23d,0x832),_0x4d5228[_0x7afdbe(0x11e0,0x1792)]='其他',_0x4d5228[_0x54a7f1(0x4bf,0x3b9)]=_0x54a7f1(0x1157,0x1199),_0x4d5228['EllipsoidTerrainProvider']='无地形',_0x4d5228[_0x7afdbe(0x1609,0x1204)]=_0x54a7f1(0xdfb,0xfc2),_0x4d5228['TerrainProvider']='有地形',_0x4d5228['TerrainProviderTooltip']='提供的高精度的DEM地形服务',_0x4d5228[_0x54a7f1(0x6d7,0x53)]='全屏',_0x4d5228['ExitFullScreen']=_0x54a7f1(0xd9f,0x11f4),_0x4d5228[_0x7afdbe(0x19c,0xc39)]=_0x7afdbe(0x4ca,0x6fe),_0x4d5228['EnterAnAddressOrLandmark']='请输入关键字...',_0x4d5228['Searching']='查询中...',_0x4d5228[_0x7afdbe(0x1570,0xea9)]='初始视图',_0x4d5228['NavigationInstructions']='帮助',_0x4d5228['Mouse']=_0x7afdbe(0xe57,0x155b),_0x4d5228[_0x54a7f1(0xe61,0x13e6)]=_0x54a7f1(0x14b0,0x104d),_0x4d5228[_0x7afdbe(0x6f2,0xc70)]=_0x7afdbe(0x9df,0xd89),_0x4d5228['LeftClickDrag']='鼠标左键+拖拽',_0x4d5228[_0x7afdbe(0x49f,0x4cf)]='缩放视图',_0x4d5228[_0x54a7f1(0x1674,0x1a23)]=_0x7afdbe(0xe87,0x12a8),_0x4d5228['MouseWheelScroll']='中键滚动',_0x4d5228['RotateView']='旋转视图',_0x4d5228['MiddleClickDrag']=_0x54a7f1(0x638,0x96a),_0x4d5228['CtrlAndClickDrag']='按Ctrl键\x20同时\x20左/右键拖拽',_0x4d5228['OneFingerDrag']='单指拖动',_0x4d5228[_0x54a7f1(0xd31,0x1653)]=_0x7afdbe(0xbcc,0x7b3),_0x4d5228[_0x7afdbe(0x2006,0x16a9)]=_0x7afdbe(0x1363,0x14ed),_0x4d5228['TwoFingerDragSameDirection']='双指按相同方向拖动',_0x4d5228['TwoFingerDragOppositeDirection']=_0x54a7f1(0x1589,0x164d),_0x4d5228[_0x7afdbe(0x1d67,0x1317)]='透视投影',_0x4d5228[_0x54a7f1(0x15d6,0x1514)]=_0x54a7f1(0xe6e,0x1311),_0x4d5228['_2D']='二维视图',_0x4d5228[_0x7afdbe(0xddb,0xd33)]='三维视图',_0x4d5228[_0x54a7f1(0x877,0x224)]=_0x54a7f1(0x13a4,0x132e),_0x4d5228['EnterVRMode']=_0x54a7f1(0x837,0x8b0),_0x4d5228[_0x54a7f1(0x107b,0xfd5)]='退出VR模式',_0x4d5228['VRModeIsUnavailable']=_0x54a7f1(0xe0c,0x52d),_0x4d5228['_放大']='放大',_0x4d5228['_缩小']='缩小',_0x4d5228[_0x7afdbe(0x1ffb,0x18ba)]='暂停',_0x4d5228['_继续']='继续',_0x4d5228[_0x7afdbe(0x1236,0xf30)]='导航球',_0x4d5228['_拖拽调整俯仰角']='拖拽调整俯仰角',_0x4d5228['_拖拽调整四周方向角']=_0x54a7f1(0x15e0,0xf03),_0x4d5228['_查看此处坐标']='查看此处坐标',_0x4d5228[_0x54a7f1(0x31e,0x91c)]='位置信息',_0x4d5228[_0x7afdbe(0x5da,0xeb9)]='经度',_0x4d5228[_0x54a7f1(0xfbf,0xfb2)]='纬度',_0x4d5228[_0x7afdbe(0x123a,0xf48)]='高程',_0x4d5228[_0x54a7f1(0x8df,0x876)]='横坐标',_0x4d5228['_纵坐标']=_0x7afdbe(0x1f89,0x1788),_0x4d5228['_查看当前视角']='查看当前视角',_0x4d5228['_当前视角信息']=_0x7afdbe(0x15f3,0xe0d),_0x4d5228['_视角切换']='视角切换',_0x4d5228['_禁止进入地下']='禁止进入地下',_0x4d5228[_0x7afdbe(0x1629,0x1474)]=_0x7afdbe(0xef7,0x87d),_0x4d5228[_0x7afdbe(0xfa9,0x1641)]='绕此处环绕飞行',_0x4d5228[_0x7afdbe(0xfa6,0x16c9)]='关闭环绕飞行',_0x4d5228['_移动到此处']=_0x7afdbe(0x114b,0xccf),_0x4d5228[_0x54a7f1(0x231,0x4c0)]='第一视角站到此处',_0x4d5228[_0x54a7f1(0xbc7,0x563)]='开启键盘漫游',_0x4d5228['_关闭键盘漫游']='关闭键盘漫游',_0x4d5228[_0x7afdbe(0x17e0,0x1085)]=_0x54a7f1(0xe9a,0xc4d),_0x4d5228['_取消锁定']='取消锁定',_0x4d5228['_三维模型']='三维模型',_0x4d5228['_显示三角网']=_0x7afdbe(0x1e91,0x144b),_0x4d5228[_0x54a7f1(0xc41,0x15aa)]=_0x54a7f1(0xc0f,0x62f),_0x4d5228['_显示包围盒']='显示包围盒',_0x4d5228[_0x54a7f1(0x1574,0xfbd)]='关闭包围盒',_0x4d5228['_地形服务']='地形服务',_0x4d5228[_0x54a7f1(0xc5c,0x160e)]=_0x54a7f1(0x45f,0x6d2),_0x4d5228['_关闭地形']=_0x7afdbe(0x17e1,0x11b2),_0x4d5228['_图上标记']=_0x54a7f1(0x15e9,0x15c6),_0x4d5228[_0x54a7f1(0x706,0x68c)]='标记点',_0x4d5228['_标记线']='标记线',_0x4d5228[_0x54a7f1(0xa93,0x11bb)]='标记面',_0x4d5228['_标记圆']='标记圆',_0x4d5228['_标记矩形']=_0x7afdbe(0x1245,0x813),_0x4d5228[_0x54a7f1(0xb25,0xab2)]='允许编辑',_0x4d5228['_禁止编辑']='禁止编辑',_0x4d5228['_导出文件']='导出文件',_0x4d5228['_导入文件']='导入文件',_0x4d5228['_清除标记']='清除标记',_0x4d5228['_特效效果']=_0x7afdbe(0xecd,0x1155),_0x4d5228['_开启下雨']=_0x7afdbe(0x6f3,0xa5b),_0x4d5228[_0x7afdbe(0xf86,0x17fe)]=_0x54a7f1(0x5c1,0x925),_0x4d5228['_开启下雪']=_0x7afdbe(0xdcc,0x81c),_0x4d5228['_关闭下雪']=_0x54a7f1(0x6e5,0xa5b),_0x4d5228[_0x7afdbe(0x1338,0x1709)]=_0x54a7f1(0x1684,0x1aa2),_0x4d5228['_关闭雾天气']='关闭雾天气',_0x4d5228['_开启泛光']=_0x7afdbe(0x134a,0xf94),_0x4d5228['_关闭泛光']='关闭泛光',_0x4d5228[_0x54a7f1(0x10c4,0x154a)]='开启亮度',_0x4d5228['_关闭亮度']=_0x7afdbe(0xc84,0x14ee),_0x4d5228[_0x54a7f1(0x6d9,-0x2ca)]='开启夜视',_0x4d5228['_关闭夜视']=_0x54a7f1(0x138a,0x173b),_0x4d5228['_开启黑白']='开启黑白',_0x4d5228['_关闭黑白']='关闭黑白',_0x4d5228['_开启拾取高亮']='开启拾取高亮',_0x4d5228['_关闭拾取高亮']=_0x7afdbe(0x2f1,0x9fd),_0x4d5228['_场景设置']=_0x7afdbe(0x1d1f,0x1550),_0x4d5228['_开启深度监测']=_0x54a7f1(0x160f,0x1969),_0x4d5228['_关闭深度监测']='关闭深度监测',_0x4d5228['_显示星空背景']=_0x7afdbe(0x1b9c,0x14d4),_0x4d5228['_关闭星空背景']='关闭星空背景',_0x4d5228['_开启日照阴影']=_0x54a7f1(0x9b4,0x1186),_0x4d5228[_0x7afdbe(0x1a3b,0x1770)]=_0x54a7f1(0xfea,0x863),_0x4d5228['_开启大气渲染']=_0x7afdbe(-0x6c,0x491),_0x4d5228[_0x7afdbe(0x17c5,0x1714)]='关闭大气渲染',_0x4d5228[_0x7afdbe(-0x2dd,0x58b)]='场景出图',_0x4d5228[_0x7afdbe(0x306,0x7f8)]=_0x54a7f1(0x97c,0x1410),_0x4d5228['_删除测量']='删除测量',_0x4d5228[_0x7afdbe(0xba5,0xf88)]='角度',_0x4d5228['_距离']='距离',_0x4d5228[_0x54a7f1(0x30c,-0xc9)]='面积',_0x4d5228[_0x54a7f1(0x30a,-0x7ba)]='总长',_0x4d5228['_起点']='起点',_0x4d5228[_0x7afdbe(0x472,0xd55)]=_0x7afdbe(0x8f8,0x556),_0x4d5228[_0x7afdbe(0x4c2,0x651)]='空间距离',_0x4d5228[_0x54a7f1(0x77e,0xfd7)]=_0x54a7f1(0x6ab,-0x2bd),_0x4d5228[_0x7afdbe(0x1141,0xa2c)]=_0x54a7f1(0x1743,0x1b10),_0x4d5228['_填方体积']=_0x7afdbe(0x1c65,0x144f),_0x4d5228[_0x54a7f1(0x110a,0x1ae3)]='挖方体积',_0x4d5228['_横切面积']=_0x54a7f1(0x1243,0x93d),_0x4d5228['_面上']='面上',_0x4d5228['_面下']='面下',_0x4d5228['_米']='米',_0x4d5228[_0x54a7f1(0x167b,0x19dc)]='公里',_0x4d5228[_0x54a7f1(0x15cf,0x13b7)]='万米',_0x4d5228['_海里']='海里',_0x4d5228['_丈']='丈',_0x4d5228['_平方米']='平方米',_0x4d5228['_平方公里']=_0x54a7f1(0x5a1,0x31e),_0x4d5228['_亩']='亩',_0x4d5228[_0x7afdbe(0x132a,0x1529)]='公顷',_0x4d5228['_立方米']='方',_0x4d5228['_万立方米']='万方',_0x4d5228['_秒']='秒',_0x4d5228['_分钟']='分钟',_0x4d5228[_0x7afdbe(0xe87,0x8e5)]='小时',_0x4d5228[_0x7afdbe(0x1560,0x14c2)]='单击开始绘制',_0x4d5228['_单击完成绘制']=_0x54a7f1(0xef3,0xb90),_0x4d5228['_双击完成绘制']='双击完成绘制',_0x4d5228['_单击增加点']='单击增加点',_0x4d5228['_右击删除点']='右击删除点',_0x4d5228[_0x54a7f1(0x146a,0x1cc0)]='单击后激活编辑',_0x4d5228['_右击菜单删除']=_0x7afdbe(0x1106,0x13e2),_0x4d5228['_更多功能请右击']=_0x54a7f1(0x1325,0xa8a),_0x4d5228[_0x7afdbe(0x18b3,0x1393)]=_0x54a7f1(0x895,0x317),_0x4d5228[_0x54a7f1(0x108c,0x649)]=_0x7afdbe(0xec9,0xd70),_0x4d5228['_按轴平移']=_0x54a7f1(0x815,0xae8),_0x4d5228['_停止按轴平移']='停止按轴平移',_0x4d5228['_按轴旋转']='按轴旋转',_0x4d5228['_停止按轴旋转']='停止按轴旋转',_0x4d5228['_调整比例']='调整比例',_0x4d5228[_0x54a7f1(0x45e,0xc2e)]='停止调整比例',_0x4d5228['_释放后完成修改']='释放后完成修改',_0x4d5228[_0x7afdbe(0x1904,0x195d)]='该对象不允许编辑',_0x4d5228['_拖动该点后']=_0x54a7f1(0x514,0x28f),_0x4d5228['_拖动对象后']='拖动对象后',_0x4d5228[_0x7afdbe(0x1352,0xbfb)]='修改位置',_0x4d5228[_0x7afdbe(0x13e5,0x1993)]='整体平移',_0x4d5228['_增加点']='增加点',_0x4d5228[_0x7afdbe(0xd67,0x114f)]='修改高度',_0x4d5228['_修改半径']=_0x54a7f1(0x1147,0xfc6),_0x4d5228['_修改长度']=_0x7afdbe(0x83f,0x100c),_0x4d5228['_修改宽度']='修改宽度(Y方向)',_0x4d5228[_0x7afdbe(0x136a,0x1700)]='修改方向',_0x4d5228['_修改缩放比例']=_0x7afdbe(0x66d,0xe4c),_0x4d5228[_0x54a7f1(0xf87,0x10d3)]=_0x54a7f1(0x3e0,0x790),_0x4d5228[_0x7afdbe(-0x66,0x53f)]='删除',_0x4d5228[_0x54a7f1(0xf7b,0xc78)]='半径',_0x4d5228[_0x54a7f1(0x5aa,0x8b6)]='加载模型中,请稍等…';const Lang=_0x4d5228;function getLangText(_0x113732){return Lang[_0x113732];}const _0xb00349={};_0xb00349['WGS84']=_0x7afdbe(0x12e4,0x1088),_0xb00349['GCJ02']='GCJ02',_0xb00349['BAIDU']='BD09';const ChinaCRS=_0xb00349;function pick3DTileset(_0x26cb39,_0x57e5b8){const _0x4d714f={_0x58be14:0xccd,_0x267a8b:0xdb1,_0x1edbb0:0x1160,_0x3cf2fc:0x1535};if(!_0x57e5b8)return null;_0x57e5b8 instanceof Cesium__namespace[_0x2915d2(0x1158,0x1353)]&&(_0x57e5b8=[_0x57e5b8]);for(let _0x3d3d18=0x0,_0x1f39f4=_0x57e5b8['length'];_0x3d3d18<_0x1f39f4;++_0x3d3d18){const _0x21cdb7=_0x57e5b8[_0x3d3d18],_0xdba5c9=toWindowCoordinates(_0x26cb39,_0x21cdb7);if(!Cesium__namespace[_0x5eecf2(0x1904,0x1bfc)](_0xdba5c9))continue;const _0x9c327e=_0x26cb39[_0x5eecf2(0x9dc,_0x4d714f._0x58be14)](_0xdba5c9,0xa,0xa);if(Cesium__namespace[_0x2915d2(_0x4d714f._0x267a8b,0x16ed)](_0x9c327e)&&Cesium__namespace[_0x5eecf2(0x1904,0x1035)](_0x9c327e['primitive'])&&_0x9c327e[_0x2915d2(0xc99,_0x4d714f._0x1edbb0)][_0x5eecf2(0x1301,_0x4d714f._0x3cf2fc)])return _0x9c327e[_0x5eecf2(0x1377,0xedd)];}function _0x5eecf2(_0x4c0da5,_0x1e7b18){return _0x7afdbe(_0x1e7b18,_0x4c0da5-0x55);}function _0x2915d2(_0x5b8fde,_0x118ad9){return _0x7afdbe(_0x5b8fde,_0x118ad9- -0x1c2);}return null;}function toWindowCoordinates(_0x33ed71,_0x3f081e,_0x6ab0e0){const _0x3cfed0={_0x28dc20:0x71b,_0x168530:0x265,_0x296198:0x15cc,_0x1b6b4d:0x136a},_0x374fb2={_0x2519b0:0x22f},_0x4a91c2={_0x188b98:0x261};function _0x3860db(_0x4d6394,_0x10f192){return _0x7afdbe(_0x10f192,_0x4d6394- -_0x4a91c2._0x188b98);}if(Cesium__namespace[_0x3860db(_0x3cfed0._0x28dc20,0xea1)][_0x3860db(0x33d,0x45a)])return Cesium__namespace[_0x41b785(_0x3cfed0._0x168530,0x97d)]['worldToWindowCoordinates'](_0x33ed71,_0x3f081e,_0x6ab0e0);function _0x41b785(_0x375a44,_0x232cc6){return _0x54a7f1(_0x232cc6-_0x374fb2._0x2519b0,_0x375a44);}if(Cesium__namespace['SceneTransforms'][_0x41b785(0xf92,_0x3cfed0._0x296198)])return Cesium__namespace['SceneTransforms'][_0x3860db(_0x3cfed0._0x1b6b4d,0x1d2f)](_0x33ed71,_0x3f081e,_0x6ab0e0);return new Cesium__namespace['Cartesian2'](0x0,0x0);}class SurfacePoint{constructor(_0x106cc6){const _0x5937db={_0x294f01:0xb42,_0x3b8281:0x1fa,_0x46bf32:0xb61,_0x40187b:0x9a3,_0x1a24a8:0x357,_0x3198f6:0x63c,_0x2d045c:0x2e2},_0x3fc505={_0x46e4ae:0x31};function _0x3096ec(_0xd021e2,_0x196154){return _0x7afdbe(_0xd021e2,_0x196154- -0x72);}this['options']=_0x106cc6;function _0x346cc1(_0x312a61,_0x2c6370){return _0x54a7f1(_0x312a61-_0x3fc505._0x46e4ae,_0x2c6370);}this['scene']=_0x106cc6['map']?_0x106cc6['map']['scene']:_0x106cc6['scene'],!this['scene']&&logError(_0x346cc1(0x8c4,0x4c7),this['options']),this[_0x346cc1(_0x5937db._0x294f01,0x3fa)]=LngLatPoint['parse'](_0x106cc6[_0x3096ec(0x1d18,0x189d)]),this[_0x346cc1(0xb42,_0x5937db._0x3b8281)]&&(this['_position']=this[_0x3096ec(_0x5937db._0x46bf32,0xccd)][_0x346cc1(0xb35,_0x5937db._0x40187b)](),this['_cartographic']=this[_0x346cc1(0xb42,_0x5937db._0x1a24a8)]['toCartographic'](),this[_0x3096ec(0x211,_0x5937db._0x3198f6)]=this[_0x346cc1(_0x5937db._0x294f01,_0x5937db._0x2d045c)]['alt']);}async[_0x54a7f1(0x92b,0x144)](){const _0x345d72={_0x5268a0:0x7ec,_0xa06131:0xa14,_0x10ddb6:0xa1b,_0x3b056a:0xe8f,_0x222840:0x15bd,_0x4c89ac:0xd3e,_0x325ba1:0xa4c,_0x3ce744:0xe19,_0x2d50c4:0xef0,_0x45f78f:0xc14,_0x544962:0xa8c,_0x83aa3c:0x3b6,_0x53f7b4:0x581,_0x317bbe:0x53f,_0x397d4e:0x27e,_0x281af7:0x206f,_0x4c87de:0x17e5,_0x5d56aa:0xb54,_0x2ef214:0x1885};function _0x8003af(_0x44ca8d,_0x1c70bf){return _0x54a7f1(_0x1c70bf-0x164,_0x44ca8d);}if(!this[_0x8003af(0x11b2,0xc75)])return this['getResult']();this['scene'][_0x8003af(0xbb0,_0x345d72._0x5268a0)]&&await this['scene']['_terrainProviderPromise'];const _0x2b2e4f=this[_0x8003af(0xe49,_0x345d72._0xa06131)][_0x4f9d86(0x1153,0x71a)]??Cesium__namespace['defined'](pick3DTileset(this['scene'],this[_0x4f9d86(_0x345d72._0x10ddb6,_0x345d72._0x3b056a)]));function _0x4f9d86(_0x507ae2,_0xdbf278){return _0x7afdbe(_0xdbf278,_0x507ae2- -0x59f);}const _0x3415b7=!(this[_0x8003af(_0x345d72._0x222840,0x11e3)][_0x8003af(_0x345d72._0x4c89ac,_0x345d72._0x325ba1)]instanceof Cesium__namespace['EllipsoidTerrainProvider']);this[_0x4f9d86(_0x345d72._0x3ce744,0x651)]=_0x2b2e4f,this['_hasTerrain']=_0x3415b7;if(!_0x3415b7&&!_0x2b2e4f)return this['getResult']();if(_0x2b2e4f){const _0x45b449=await this['scene']['clampToHeightMostDetailed']([this[_0x8003af(0x1386,_0x345d72._0x2d50c4)]['clone']()],this['options']['objectsToExclude'],this['options']['width']);if(_0x45b449[_0x4f9d86(_0x345d72._0x45f78f,0x1191)]>0x0){const _0x103bdc=_0x45b449[0x0];if(Cesium__namespace['defined'](_0x103bdc)){const _0xecb02d=Cesium__namespace[_0x8003af(0x92a,0xa34)]['fromCartesian'](_0x103bdc),_0x3f8915=_0xecb02d===null||_0xecb02d===void 0x0?void 0x0:_0xecb02d['height'];if(Cesium__namespace['defined'](_0x3f8915)&&parseInt(_0x3f8915)!==0x0&&_0x3f8915>-0x3e8)return this['getResult'](_0x3f8915);}}else{const _0xcc233b=this['scene'][_0x4f9d86(0x69,0x5aa)](this['_cartographic'],this[_0x8003af(_0x345d72._0x544962,0xa14)][_0x8003af(_0x345d72._0x83aa3c,_0x345d72._0x53f7b4)],this[_0x4f9d86(_0x345d72._0x317bbe,_0x345d72._0x397d4e)]['width']);if(Cesium__namespace[_0x4f9d86(0x1310,0xa08)](_0xcc233b)&&_0xcc233b>-0x3e8)return this[_0x4f9d86(0x10c9,0x80f)](_0xcc233b);}}if(this['_hasTerrain']){let _0x58197b;try{var _0x566a97;(_0x566a97=this['scene']['terrainProvider'])!==null&&_0x566a97!==void 0x0&&_0x566a97['availability']&&(_0x58197b=await Cesium__namespace['sampleTerrainMostDetailed'](this['scene'][_0x8003af(0x9b4,0xa4c)],[this['_cartographic']]));}catch(_0x54bb26){logWarn('SurfacePoint:贴地形高度计算失败',_0x54bb26);}if(_0x58197b&&_0x58197b['length']>0x0){const _0xa339c9=_0x58197b[0x0];if(Cesium__namespace['defined'](_0xa339c9)&&Cesium__namespace[_0x8003af(_0x345d72._0x281af7,_0x345d72._0x4c87de)](_0xa339c9['height']))return this['getResult'](_0xa339c9[_0x4f9d86(0x2f6,0xa32)]);}else return this['getResult'](this['scene']['globe']['getHeight'](this[_0x8003af(0x7c3,_0x345d72._0x5d56aa)])||0x0);}return this[_0x8003af(_0x345d72._0x2ef214,0x159e)]();}['getResult'](_0x1b8917=0x0){const _0x432f2b={_0x4d3914:0xf2c,_0x4c29e6:0x5d,_0x236ca0:0x12dc,_0x5c5c9e:0x21c};function _0x2c383e(_0x133709,_0x25ec9a){return _0x7afdbe(_0x133709,_0x25ec9a- -0x6ba);}this['options'][_0x2bfd76(0xf1d,_0x432f2b._0x4d3914)]&&this['options']['callback'](_0x1b8917);function _0x2bfd76(_0x4d0dd3,_0x3f1142){return _0x54a7f1(_0x4d0dd3- -0x2c0,_0x3f1142);}return this[_0x2bfd76(0x851,_0x432f2b._0x4c29e6)]['alt']=_0x1b8917,{'height':_0x1b8917,'height_original':this[_0x2c383e(-0x690,-0xc)],'point':this[_0x2bfd76(0x851,0x5b4)],'position':Cesium__namespace[_0x2bfd76(0x1027,0xfc2)][_0x2bfd76(0x10a8,_0x432f2b._0x236ca0)](this['_cartographic'][_0x2c383e(0x760,_0x432f2b._0x5c5c9e)],this['_cartographic']['latitude'],_0x1b8917),'position_original':this[_0x2bfd76(0xacc,0x10a6)],'has3dtiles':this['_has3dtiles'],'hasTerrain':this['_hasTerrain']};}}class VertexAdsorption{constructor(_0x4306fd){const _0x4221d8={_0x3a2bea:0x55b,_0x4e3bc2:0xf2f,_0x32f6fc:0x4f5,_0x39e6c3:0xe8e,_0x52c2a6:0xfd4,_0x1eb05f:0xd92,_0x1acab0:0xd14};this['_scene']=_0x4306fd;const _0x47de0e={};_0x47de0e['scene']=_0x4306fd,this[_0x5a1572(_0x4221d8._0x3a2bea,_0x4221d8._0x4e3bc2)]=new Cesium__namespace['BillboardCollection'](_0x47de0e),_0x4306fd['primitives'][_0x5a1572(0x1f5,_0x4221d8._0x32f6fc)](this['_billboardCollection']),this[_0x81fb3d(0x1ced,0x1293)]=new Cesium__namespace['Picking'](_0x4306fd),this['_canvas']=document[_0x5a1572(0xb89,0x506)](_0x81fb3d(_0x4221d8._0x39e6c3,0x4c7));function _0x5a1572(_0xc93c8a,_0x4345c7){return _0x7afdbe(_0x4345c7,_0xc93c8a- -0x6c9);}this['_canvas']['width']=0x80,this['_canvas']['height']=0x80;const _0x18ced3=this['_canvas']['getContext']('2d');function _0x81fb3d(_0x2a5f72,_0x3c9a4b){return _0x7afdbe(_0x2a5f72,_0x3c9a4b- -0x649);}_0x18ced3['fillStyle']=_0x81fb3d(0xcb5,_0x4221d8._0x52c2a6),_0x18ced3[_0x5a1572(_0x4221d8._0x1eb05f,_0x4221d8._0x1acab0)](0x0,0x0,0x80,0x80),_0x18ced3['clearRect'](0x8,0x8,0x70,0x70);}[_0x7afdbe(0x9d5,0x987)](_0x49755b,_0x57cd84,_0x48a409){const _0x37e885={_0x2914d2:0x38b,_0x53a20f:0x1a1a,_0x283ed5:0xa50};function _0x359409(_0x46f244,_0x5309db){return _0x54a7f1(_0x5309db- -0x410,_0x46f244);}function _0x2da0b7(_0x446106,_0x3d7acc){return _0x7afdbe(_0x3d7acc,_0x446106- -0x1d4);}this['clear']();if(this['_scene']['camera']['positionCartographic']['height']<0xf4240){const _0x28df3c=getRayIntersectingPositions$2(this[_0x359409(-0x2e5,_0x37e885._0x2914d2)],this[_0x2da0b7(0x1708,_0x37e885._0x53a20f)],_0x49755b,_0x57cd84,_0x48a409);if(_0x28df3c)return this[_0x2da0b7(_0x37e885._0x283ed5,0x327)]['add']({'image':this['_canvas'],'position':_0x28df3c,'disableDepthTestDistance':Number['POSITIVE_INFINITY'],'scale':0.15}),_0x28df3c;}}[_0x54a7f1(0x1323,0x1c1f)](){const _0x3caf5f={_0x299077:0x45a,_0xd735c2:0x834},_0x4e1f44={_0x65e9f1:0x449};function _0x50d32d(_0x403251,_0x9df6f9){return _0x54a7f1(_0x403251- -_0x4e1f44._0x65e9f1,_0x9df6f9);}function _0x419b21(_0x34a1c1,_0x17ab16){return _0x7afdbe(_0x34a1c1,_0x17ab16- -0x3f0);}this[_0x50d32d(0x5ad,_0x3caf5f._0x299077)]&&this[_0x419b21(-0x246,_0x3caf5f._0xd735c2)]['removeAll']();}[_0x7afdbe(0xb24,0x660)](){const _0x415613={_0x1226f3:0x663,_0x5572f8:0x29d,_0x45551b:0x15e,_0xdd95de:0x3a8},_0x48e48c={_0x1f31b6:0x228};this[_0x21fc2b(_0x415613._0x1226f3,0xa1b)][_0x21fc2b(_0x415613._0x5572f8,0x6ac)]['remove'](this['_billboardCollection']);function _0x21fc2b(_0x2896cb,_0x54fa9d){return _0x7afdbe(_0x54fa9d,_0x2896cb- -0x366);}this['_picking'][_0x21fc2b(0x2fa,_0x415613._0x45551b)]();function _0x571b3e(_0x119ea6,_0x1cd34f){return _0x54a7f1(_0x119ea6-_0x48e48c._0x1f31b6,_0x1cd34f);}Cesium__namespace[_0x21fc2b(_0x415613._0xdd95de,0x69e)](this);}}const pickTilesetPassState$1=new Cesium__namespace['Cesium3DTilePassState']({'pass':Cesium__namespace['Cesium3DTilePass']['PICK']}),scratchRectangle$1=new Cesium__namespace[(_0x7afdbe(0x32d,0xa4b))](0x0,0x0,0x3,0x3),scratchColorZero$1=new Cesium__namespace[(_0x54a7f1(0x1284,0x12fc))](0x0,0x0,0x0,0x0),scratchPackedDepth=new Cesium__namespace['Cartesian4'](),packedDepthScale$1=new Cesium__namespace[(_0x54a7f1(0x75c,0x1b6))](0x1,0x1/0xff,0x1/0xfe01,0x1/0xfd02ff),scratchPosition$1=new Cesium__namespace[(_0x54a7f1(0x1704,0x13a4))]();function changeCommand(_0x576b60,_0x271b2f,_0x2e99a7){const _0xde5656={_0x2132a3:0x72f,_0x30259b:0xd27,_0x5eb3cf:0x147b,_0x53b215:0xf67,_0x247a6f:0x16f5,_0x5d4ce8:0x1600,_0x1fa705:0x8ad,_0x373a5f:0x1afa,_0x4b5020:0x55f,_0x2e4b30:0xcde,_0x2f2153:0xaab,_0x47575b:0x964},_0x774128={_0x4c0a2f:0xa5};function _0x2f553c(_0x25e917,_0x4b7094){return _0x54a7f1(_0x4b7094-0x147,_0x25e917);}_0x576b60['oldPrimitiveType']=_0x576b60[_0x2f553c(0x1c4,_0xde5656._0x2132a3)],_0x576b60[_0x16e1d9(0xcb7,0x771)]=Cesium__namespace['PrimitiveType'][_0x2f553c(_0xde5656._0x30259b,_0xde5656._0x5eb3cf)],_0x576b60['oldShaderProgram']=_0x576b60['shaderProgram'];const _0x75e24e=_0x576b60[_0x16e1d9(0x64,0x77b)],_0xa45c89=_0x75e24e[_0x16e1d9(0xda2,0x5c1)][_0x16e1d9(0xe83,0x978)]();if(_0xa45c89[_0x16e1d9(0x857,0x5e6)]['some'](_0x1ce3e3=>_0x1ce3e3[_0x16e1d9(0xc25,0x5e1)](_0x2f553c(0x1358,0x940))))return!![];_0xa45c89['sources']=_0xa45c89['sources'][_0x2f553c(_0xde5656._0x53b215,0xb7e)](_0x491915=>Cesium__namespace[_0x16e1d9(0x10d9,0xe02)]['replaceMain'](_0x491915,'czm_vertexPick_main'));const _0x421729='\x0a\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20czm_vertexPick_main();\x0a\x20\x20\x20\x20gl_PointSize\x20=\x201.0;\x0a\x20\x20}\x0a\x20\x20';_0xa45c89['sources'][_0x2f553c(_0xde5656._0x247a6f,0x104f)](_0x421729);const _0x387988={},_0x41034c=_0x75e24e[_0x2f553c(0xdea,0xb4d)];for(const _0x5ebfa8 in _0x41034c){_0x41034c[_0x2f553c(_0xde5656._0x5d4ce8,0x16f2)](_0x5ebfa8)&&(_0x387988[_0x5ebfa8]=_0x41034c[_0x5ebfa8]['index']);}const _0x21c328={};_0x21c328['context']=_0x271b2f,_0x21c328['vertexShaderSource']=_0xa45c89,_0x21c328['fragmentShaderSource']=_0x75e24e['fragmentShaderSource'];function _0x16e1d9(_0x19b967,_0x7997d9){return _0x7afdbe(_0x19b967,_0x7997d9- -_0x774128._0x4c0a2f);}_0x21c328['attributeLocations']=_0x387988,_0x576b60['shaderProgram']=Cesium__namespace['ShaderProgram']['fromCache'](_0x21c328),_0x576b60['oldRenderState']=_0x576b60['renderState'];const _0x2344a2=Cesium__namespace[_0x2f553c(0x1021,_0xde5656._0x1fa705)][_0x2f553c(0x515,0x949)](_0x576b60['oldRenderState']);_0x2344a2['depthTest']['enabled']=!![],_0x2344a2['colorMask'][_0x2f553c(_0xde5656._0x373a5f,0x1536)]=!![],_0x2344a2['colorMask']['green']=!![],_0x2344a2['colorMask']['blue']=!![],_0x2344a2['colorMask'][_0x16e1d9(-0x559,_0xde5656._0x4b5020)]=!![],_0x2344a2['scissorTest']['enabled']=!![],_0x2344a2[_0x2f553c(_0xde5656._0x2e4b30,_0xde5656._0x2f2153)]['rectangle']=Cesium__namespace[_0x2f553c(0x7fb,_0xde5656._0x47575b)]['clone'](_0x2e99a7,_0x2344a2['scissorTest']['rectangle']),_0x576b60['renderState']=Cesium__namespace[_0x2f553c(0x7f4,0x8ad)]['fromCache'](_0x2344a2);}function restoreCommand(_0x4041ee){const _0x4e9b8b={_0x2ffe6e:0x18b4,_0x4e8af1:0x18a6,_0x250a65:0x10ad,_0x70c954:0x16ff,_0x5606bb:0xb0b},_0x5d10b8={_0x53e6f9:0x3ff};Cesium__namespace['defined'](_0x4041ee[_0x536ff6(0x1c62,_0x4e9b8b._0x2ffe6e)])&&(_0x4041ee['primitiveType']=_0x4041ee['oldPrimitiveType'],delete _0x4041ee['oldPrimitiveType']);function _0x4e671d(_0x5c3c29,_0x371a16){return _0x7afdbe(_0x371a16,_0x5c3c29- -_0x5d10b8._0x53e6f9);}Cesium__namespace[_0x536ff6(0x1be3,_0x4e9b8b._0x4e8af1)](_0x4041ee['oldShaderProgram'])&&(_0x4041ee['shaderProgram']=_0x4041ee[_0x536ff6(_0x4e9b8b._0x250a65,0x16ff)],delete _0x4041ee[_0x536ff6(0x1b18,_0x4e9b8b._0x70c954)]);function _0x536ff6(_0x6444ba,_0x1db135){return _0x54a7f1(_0x1db135-0x225,_0x6444ba);}Cesium__namespace['defined'](_0x4041ee[_0x4e671d(0x1ab,_0x4e9b8b._0x5606bb)])&&(_0x4041ee[_0x4e671d(0xec1,0x137a)]=_0x4041ee['oldRenderState'],delete _0x4041ee['oldRenderState']);}function getRayIntersectingPositions$2(_0x31a679,_0x2843b7,_0x27dad8,_0x12857d,_0x2a56e7){const _0x39ed58={_0x213446:0x294,_0x37151a:0xfb3,_0x1c619c:0x1a4a,_0xc7fd3c:0x716,_0x2f4486:0x7fd,_0x59b072:0x1417,_0x5c22b3:0x1a42,_0x18429a:0x1d85,_0x218815:0x159f,_0x3d8279:0x162b,_0x223fd4:0x827,_0x44f000:0x42b,_0x9e046f:0x163,_0x338761:0x12ca,_0x4faa9a:0xcbc,_0xdc8c3d:0x6c7,_0x27b0c4:0xb69,_0xc80339:0x6ae,_0x3a41bf:0xb90,_0xa353fc:0x480,_0x314bf1:0xb51,_0x23e7cf:0x2e4,_0x4a6bec:0x4e0,_0x59ab31:0x15bb,_0xb79586:0x880},_0x5f2f04={_0x49ee80:0x1ccb,_0x32ffb3:0x1678,_0x5319c8:0x9cd,_0xc737ea:0xba9,_0x6c4d86:0xb80,_0x1b0193:0x13cb,_0x2d5b04:0x1195,_0x5404ca:0x124d,_0x2437dc:0x6c8,_0x410bca:0x9f0},_0x49737f={_0x149378:0x1eb},_0x540fcd={_0x2659bc:0x38},{context:_0x410e53,frameState:_0x264a9a}=_0x31a679,{uniformState:_0x463038}=_0x410e53,_0x403ece=_0x31a679[_0x4cde6e(0x271,0x507)],_0x279a82=_0x2843b7[_0x4cde6e(_0x39ed58._0x213446,0x369)],_0x222621=_0x410e53['drawingBufferWidth'],_0x381e39=_0x410e53['drawingBufferHeight'],_0x2546c7=new Cesium__namespace['BoundingRectangle'](0x0,0x0,_0x222621,_0x381e39);_0x279a82['viewport']=_0x2546c7,_0x279a82[_0x4cde6e(0x183a,0x1017)][_0x1a83b4(_0x39ed58._0x37151a,_0x39ed58._0x1c619c)]=_0x2546c7,_0x31a679['view']=_0x279a82;function _0x1a83b4(_0x1220b6,_0x525bb7){return _0x54a7f1(_0x1220b6- -_0x540fcd._0x2659bc,_0x525bb7);}_0x279a82['camera']=_0x403ece;function _0x4cde6e(_0x946ca4,_0x43fa55){return _0x54a7f1(_0x43fa55- -0x54,_0x946ca4);}const _0x3a4ae0=Cesium__namespace[_0x1a83b4(_0x39ed58._0xc7fd3c,0xf34)]['transformWindowToDrawingBuffer'](_0x31a679,_0x27dad8,scratchPosition$1);_0x3a4ae0['y']=_0x381e39-_0x3a4ae0['y'],scratchRectangle$1['x']=_0x3a4ae0['x']-(_0x12857d-0x1)*0.5,scratchRectangle$1['y']=_0x3a4ae0['y']-(_0x2a56e7-0x1)*0.5,scratchRectangle$1['width']=_0x12857d,scratchRectangle$1['height']=_0x2a56e7;const _0x5530c4=_0x279a82[_0x4cde6e(0x465,_0x39ed58._0x2f4486)][_0x1a83b4(_0x39ed58._0x59b072,0x1d68)](scratchRectangle$1,_0x279a82['viewport']),_0xbe5bcc=_0x31a679['skyBox']['show'],_0x21d5f6=_0x31a679['skyAtmosphere']['show'],_0x2e33d7=_0x31a679['sun'][_0x4cde6e(_0x39ed58._0x5c22b3,0x159f)],_0x536703=_0x31a679['moon']['show'],_0xf261=_0x31a679[_0x4cde6e(-0x3a8,0x22b)][_0x4cde6e(0x192d,0x159f)],_0x1819fc=_0x31a679['globe']['depthTestAgainstTerrain'],_0x959bc5=_0x31a679['logarithmicDepthBuffer'];_0x31a679['skyBox']['show']=![],_0x31a679['skyAtmosphere'][_0x4cde6e(_0x39ed58._0x18429a,_0x39ed58._0x218815)]=![],_0x31a679['sun'][_0x4cde6e(_0x39ed58._0x3d8279,_0x39ed58._0x218815)]=![],_0x31a679['moon']['show']=![],_0x31a679['globe']['show']=![],_0x31a679[_0x4cde6e(_0x39ed58._0x223fd4,0x22b)][_0x1a83b4(_0x39ed58._0x44f000,_0x39ed58._0x9e046f)]=!![],_0x31a679['logarithmicDepthBuffer']=!![];const _0x135442=[],_0x2b2607=_0x31a679['debugCommandFilter'];_0x31a679['debugCommandFilter']=_0xf7a193=>{if(!Cesium__namespace[_0x457976(0x2265,0x17bd)](_0xf7a193['owner'])||!(_0xf7a193['owner'][_0x457976(_0x5f2f04._0x49ee80,0x1230)]instanceof Cesium__namespace[_0x457976(0x1e8c,_0x5f2f04._0x32ffb3)])&&!(_0xf7a193['owner']instanceof Cesium__namespace['Primitive'])&&!(_0xf7a193[_0x3bc5c7(0x12f7,0x10fb)]['type']==='B3DM')&&!(_0xf7a193['owner'][_0x3bc5c7(_0x5f2f04._0x5319c8,_0x5f2f04._0xc737ea)]==='GLTF')&&!(_0xf7a193['owner'][_0x3bc5c7(0x9cd,_0x5f2f04._0x6c4d86)]==='PNTS')&&!(_0xf7a193['owner']['type']==='TILE_GLTF')&&!(_0xf7a193['owner']['type']==='I3DM')&&!(_0xf7a193['owner']['type']===_0x457976(0xcb9,0x394)))return![];_0x264a9a['useLogDepth']&&Cesium__namespace[_0x3bc5c7(0x1818,0x1fa8)](_0xf7a193[_0x3bc5c7(0x1195,0xe90)]['logDepth'])&&(_0xf7a193=_0xf7a193[_0x3bc5c7(0x1195,_0x5f2f04._0x1b0193)]['logDepth'][_0x457976(0x151b,0x1355)]);function _0x457976(_0x3ec1d6,_0x5f2ca1){return _0x4cde6e(_0x3ec1d6,_0x5f2ca1-0x190);}if(Cesium__namespace['defined'](_0xf7a193['derivedCommands']['depth']))return changeCommand(_0xf7a193[_0x3bc5c7(_0x5f2f04._0x2d5b04,_0x5f2f04._0x5404ca)]['depth'][_0x457976(_0x5f2f04._0x2437dc,_0x5f2f04._0x410bca)],_0x410e53,scratchRectangle$1),!![];function _0x3bc5c7(_0x2b6a88,_0x2729d5){return _0x4cde6e(_0x2729d5,_0x2b6a88-_0x49737f._0x149378);}changeCommand(_0xf7a193,_0x410e53,scratchRectangle$1),_0x135442['push'](_0xf7a193);},_0x31a679['jobScheduler']['disableThisFrame'](),_0x31a679['updateFrameState'](),_0x264a9a[_0x4cde6e(0x86d,0x1131)]=![],_0x264a9a['passes']['pick']=!![],_0x264a9a['passes']['offscreen']=!![],_0x264a9a[_0x4cde6e(_0x39ed58._0x338761,_0x39ed58._0x4faa9a)][_0x4cde6e(0x71b,_0x39ed58._0xdc8c3d)]=!![],_0x264a9a['tilesetPassState']=pickTilesetPassState$1,_0x463038['update'](_0x264a9a),_0x31a679['updateEnvironment'](),_0x31a679['updateAndExecuteCommands'](_0x5530c4,scratchColorZero$1),_0x31a679[_0x4cde6e(0x912,_0x39ed58._0x27b0c4)](_0x5530c4);let _0x2d4ace;if(_0x410e53['depthTexture']){const _0x161f3a=_0x2843b7['getPickDepth'](_0x31a679,0x0),_0xa024da={};_0xa024da['x']=scratchRectangle$1['x'],_0xa024da['y']=scratchRectangle$1['y'],_0xa024da['width']=scratchRectangle$1[_0x4cde6e(0x1538,0x1503)],_0xa024da['height']=scratchRectangle$1['height'],_0xa024da['framebuffer']=_0x161f3a['_framebuffer']['_framebuffer'];const _0x308f74=_0x410e53['readPixels'](_0xa024da);let _0x8cb08d=Number[_0x1a83b4(0x1067,_0x39ed58._0xc80339)];for(let _0x504493=0x0;_0x504493<_0x2a56e7;_0x504493++){for(let _0x35ed61=0x0;_0x35ed61<_0x12857d;_0x35ed61++){const _0x2c2810=(_0x504493*_0x12857d+_0x35ed61)*0x4,_0x25b292=Cesium__namespace['Cartesian4'][_0x4cde6e(_0x39ed58._0x3a41bf,0x2ff)](_0x308f74,_0x2c2810,scratchPackedDepth);Cesium__namespace['Cartesian4']['divideByScalar'](_0x25b292,0xff,_0x25b292);const _0x5eb6f8=Cesium__namespace['Cartesian4'][_0x1a83b4(0x4db,-0x1ca)](_0x25b292,packedDepthScale$1);if(_0x5eb6f8!==0x0&&_0x5eb6f8!==0x1){Cesium__namespace['Cartesian2'][_0x1a83b4(_0x39ed58._0xa353fc,0x216)](scratchRectangle$1['x']+_0x35ed61,scratchRectangle$1['y']+_0x504493,_0x3a4ae0);const _0x3778f8=Math[_0x4cde6e(0xabe,0x241)](_0x2a56e7/0x2-_0x504493,0x2)+Math[_0x4cde6e(_0x39ed58._0x314bf1,0x241)](_0x12857d/0x2-_0x35ed61,0x2);_0x8cb08d>_0x3778f8&&(_0x8cb08d=_0x3778f8,_0x2d4ace=Cesium__namespace['SceneTransforms'][_0x4cde6e(0x7cd,0x76c)](_0x31a679,_0x3a4ae0,_0x5eb6f8));}}}}_0x31a679['debugCommandFilter']=_0x2b2607;for(const _0x7508c9 of _0x135442){restoreCommand(_0x7508c9);}return _0x31a679['view']=_0x31a679['defaultView'],_0x31a679['skyBox']['show']=_0xbe5bcc,_0x31a679[_0x1a83b4(_0x39ed58._0x23e7cf,-_0x39ed58._0x4a6bec)]['show']=_0x21d5f6,_0x31a679['sun'][_0x1a83b4(_0x39ed58._0x59ab31,0x13d3)]=_0x2e33d7,_0x31a679['moon']['show']=_0x536703,_0x31a679['globe'][_0x4cde6e(0xbcc,0x159f)]=_0xf261,_0x31a679['globe']['depthTestAgainstTerrain']=_0x1819fc,_0x31a679[_0x4cde6e(_0x39ed58._0xb79586,0x6b0)]=_0x959bc5,_0x410e53['endFrame'](),_0x2d4ace;}function getTransFun(_0xa1345e,_0x1f58c8){if(!_0xa1345e||!_0x1f58c8)return![];_0xa1345e=crsName2FunName(_0xa1345e),_0x1f58c8=crsName2FunName(_0x1f58c8);if(_0x1f58c8===_0xa1345e)return![];const _0xb6d30c=_0xa1345e+'2'+_0x1f58c8;if(!PointTrans[_0xb6d30c])return![];return PointTrans[_0xb6d30c];}function crsName2FunName(_0x371314){const _0x2af9ec={_0x26937e:0xeeb},_0x438457={_0x75a1f3:0x489};function _0x3564cc(_0x36b380,_0x1469c7){return _0x7afdbe(_0x1469c7,_0x36b380- -0x710);}function _0x24d256(_0x33725a,_0x2397fb){return _0x7afdbe(_0x33725a,_0x2397fb- -_0x438457._0x75a1f3);}switch(_0x371314){case ChinaCRS['GCJ02']:return'gcj';case ChinaCRS[_0x24d256(0x11c1,_0x2af9ec._0x26937e)]:return'bd';case ChinaCRS['WGS84']:default:return _0x3564cc(0xfb1,0x859);}}function getPositionValue(_0x401f13,_0x469354){const _0xe278be={_0x1ba2b6:0x11e4,_0x45aff4:0x1417},_0x466476={_0x3ec559:0x6cd};function _0x5ba215(_0x36ca39,_0x3f6c02){return _0x7afdbe(_0x36ca39,_0x3f6c02- -_0x466476._0x3ec559);}if(!_0x401f13)return _0x401f13;function _0x24a01c(_0x3ea563,_0x5eab4f){return _0x54a7f1(_0x5eab4f- -0x103,_0x3ea563);}let _0x3e56a3;if(_0x401f13 instanceof Cesium__namespace['Cartesian3'])_0x3e56a3=_0x401f13;else{if(_0x401f13['_value']&&_0x401f13['_value']instanceof Cesium__namespace[_0x24a01c(0x990,_0xe278be._0x1ba2b6)])_0x3e56a3=_0x401f13[_0x5ba215(-0x4b,0x8c2)];else typeof _0x401f13['getValue']===_0x5ba215(0xf4f,0x1102)&&(_0x3e56a3=_0x401f13['getValue'](_0x469354||Cesium__namespace[_0x5ba215(_0xe278be._0x45aff4,0x96b)]['now']()));}return _0x3e56a3;}function getMaxHeight(_0x6cb41,_0x3f41e0=0x0){const _0x4ce4cb={_0x22fd33:0x5e7,_0x1b67a2:0x37c};if(_0x6cb41==null||_0x6cb41['length']===0x0)return _0x3f41e0;let _0x56b44c=_0x3f41e0;for(let _0x4eb758=0x0;_0x4eb758<_0x6cb41['length'];_0x4eb758++){const _0x2618bd=LngLatPoint['parse'](_0x6cb41[_0x4eb758]);_0x4eb758===0x0&&(_0x56b44c=_0x2618bd['alt']),_0x2618bd['alt']>_0x56b44c&&(_0x56b44c=_0x2618bd[_0x4e25da(-_0x4ce4cb._0x22fd33,_0x4ce4cb._0x1b67a2)]);}function _0x4e25da(_0x5efe04,_0x304635){return _0x7afdbe(_0x5efe04,_0x304635- -0x307);}return formatNum$3(_0x56b44c,LngLatPoint['FormatAltLength']);}function formatNum$3(_0x4e7cec,_0x108338=0x0){const _0x51df34={_0xd4c87e:0x113e},_0x3a52e5=Math['pow'](0xa,_0x108338);function _0x48411a(_0x310843,_0x13f902){return _0x7afdbe(_0x310843,_0x13f902- -0x16b);}return Math[_0x48411a(_0x51df34._0xd4c87e,0x13ec)](_0x4e7cec*_0x3a52e5)/_0x3a52e5;}function getMinHeight(_0x3ced58,_0x39b285=0x0){const _0x4891d7={_0x487484:0xf4a,_0x1875a7:0x302,_0xbd4040:0x943,_0x42361b:0x53e,_0x1227dd:0x62c,_0x117bec:0x205};if(_0x3ced58==null||_0x3ced58[_0x9b0562(_0x4891d7._0x487484,0x1497)]===0x0)return _0x39b285;function _0x9b0562(_0x56d5f9,_0x24cb23){return _0x54a7f1(_0x56d5f9- -0x3b,_0x24cb23);}let _0x50ba64=_0x39b285;for(let _0x224495=0x0;_0x224495<_0x3ced58['length'];_0x224495++){const _0x6299f1=Cesium__namespace['Cartographic'][_0x9b0562(_0x4891d7._0x1875a7,_0x4891d7._0xbd4040)](_0x3ced58[_0x224495]);_0x224495===0x0&&(_0x50ba64=_0x6299f1['height']),_0x6299f1[_0x16cf10(0x3ff,_0x4891d7._0x42361b)]<_0x50ba64&&(_0x50ba64=_0x6299f1[_0x9b0562(_0x4891d7._0x1227dd,-_0x4891d7._0x117bec)]);}function _0x16cf10(_0x1ce3e5,_0x4742a7){return _0x7afdbe(_0x4742a7,_0x1ce3e5- -0x496);}return formatNum$3(_0x50ba64,LngLatPoint['FormatAltLength']);}function addPositionsHeight(_0x56fb84,_0x23bb7c=0x0){const _0x20edc3={_0x39c83f:0x15a,_0x175250:0xb46,_0x3b4aa3:0x1053};function _0x289661(_0x571427,_0x30897e){return _0x7afdbe(_0x571427,_0x30897e- -0x96);}_0x23bb7c=Number(_0x23bb7c);if(isNaN(_0x23bb7c)||_0x23bb7c===0x0)return _0x56fb84;function _0x19a01a(_0x383dfa,_0x8e1557){return _0x54a7f1(_0x8e1557- -0x294,_0x383dfa);}if(Array['isArray'](_0x56fb84)){const _0x19dfe5=[];for(let _0x11ea63=0x0,_0xf66962=_0x56fb84['length'];_0x11ea63<_0xf66962;_0x11ea63++){const _0x952b64=Cesium__namespace[_0x289661(0x152,0xa68)][_0x19a01a(0x4b9,0xa9)](_0x56fb84[_0x11ea63]),_0x5b1a1a=Cesium__namespace['Cartesian3']['fromRadians'](_0x952b64['longitude'],_0x952b64['latitude'],_0x952b64['height']+_0x23bb7c);_0x19dfe5['push'](_0x5b1a1a);}return _0x19dfe5;}else{const _0x39fea8=Cesium__namespace['Cartographic'][_0x19a01a(_0x20edc3._0x39c83f,0xa9)](_0x56fb84);return Cesium__namespace[_0x19a01a(_0x20edc3._0x175250,_0x20edc3._0x3b4aa3)]['fromRadians'](_0x39fea8['longitude'],_0x39fea8['latitude'],_0x39fea8['height']+_0x23bb7c);}}function setPositionsHeight(_0x53114a,_0x5aae1f=0x0){const _0x17277d={_0x4f1c4b:0x291,_0x230179:0x92b,_0x7b5a15:0x25e,_0x22e732:0xb88,_0x323e47:0x291,_0xa3a268:0xa09,_0x542e0d:0x104a},_0x2b3b47={_0x42a8f7:0x2da},_0xfc71d1={_0x49e354:0x2b8};function _0x318e02(_0x40eb75,_0x1f8a43){return _0x54a7f1(_0x1f8a43-_0xfc71d1._0x49e354,_0x40eb75);}function _0x4af05c(_0x3906c8,_0x34b42){return _0x7afdbe(_0x34b42,_0x3906c8- -_0x2b3b47._0x42a8f7);}if(!_0x53114a)return _0x53114a;if(Array['isArray'](_0x53114a)){const _0x492bee=[];for(let _0x4d2cd0=0x0,_0xe296a=_0x53114a[_0x4af05c(0xed9,0x40c)];_0x4d2cd0<_0xe296a;_0x4d2cd0++){const _0x479ea5=Cesium__namespace['Cartographic'][_0x4af05c(_0x17277d._0x4f1c4b,0x37)](_0x53114a[_0x4d2cd0]),_0x3cd6ca=Cesium__namespace['Cartesian3']['fromRadians'](_0x479ea5['longitude'],_0x479ea5[_0x4af05c(_0x17277d._0x230179,_0x17277d._0x7b5a15)],_0x5aae1f);_0x492bee[_0x318e02(0xe65,0x11c0)](_0x3cd6ca);}return _0x492bee;}else{const _0x5c1d0f=Cesium__namespace[_0x318e02(0x277,_0x17277d._0x22e732)][_0x4af05c(_0x17277d._0x323e47,_0x17277d._0xa3a268)](_0x53114a);return Cesium__namespace['Cartesian3']['fromRadians'](_0x5c1d0f[_0x4af05c(0x5fc,_0x17277d._0x542e0d)],_0x5c1d0f['latitude'],_0x5aae1f);}}function getHeight(_0x1d2b32,_0x358bb7,_0x273703){const _0x30ed5d={_0x5998e6:0x279,_0x306dd5:0xcce,_0x4b640d:0xf4f},_0x422c37=LngLatPoint[_0x3b11a3(_0x30ed5d._0x5998e6,0x569)](_0x358bb7);let _0x2ca4b6;_0x1d2b32[_0x38da39(_0x30ed5d._0x306dd5,_0x30ed5d._0x4b640d)]?_0x2ca4b6=_0x1d2b32['getHeight'](_0x422c37,_0x273703===null||_0x273703===void 0x0?void 0x0:_0x273703['heightReference']):_0x2ca4b6=_0x1d2b32[_0x3b11a3(0x1c8,0x9aa)][_0x3b11a3(0x1189,0x1590)](_0x422c37);if(Cesium__namespace['defined'](_0x2ca4b6)&&_0x2ca4b6>((_0x273703===null||_0x273703===void 0x0?void 0x0:_0x273703[_0x3b11a3(0xcf4,0x4a0)])??-0x3e7))return _0x2ca4b6;function _0x3b11a3(_0x58d99b,_0x5f2074){return _0x54a7f1(_0x58d99b- -0xb7,_0x5f2074);}if(_0x273703!==null&&_0x273703!==void 0x0&&_0x273703['original'])return _0x422c37['height'];function _0x38da39(_0x3baee2,_0x35ebea){return _0x54a7f1(_0x35ebea- -0x2f1,_0x3baee2);}return undefined;}function getSurfaceHeight(_0x3fe841,_0x297fa2,_0x785866={}){return _0x785866['scene']=_0x3fe841,_0x785866['position']=_0x297fa2,new SurfacePoint(_0x785866)['start']();}function getSurfaceTerrainHeight(_0x194fcf,_0x4efc91){const _0x587e52={};_0x587e52[_0x3e7f02(0xfd6,0xaa4)]=_0x194fcf,_0x587e52['position']=_0x4efc91,_0x587e52['has3dtiles']=![];const _0x20a65d=_0x587e52;function _0x3e7f02(_0x350712,_0x3365f0){return _0x54a7f1(_0x350712- -0xa9,_0x3365f0);}return new SurfacePoint(_0x20a65d)['start']();}function getSurfacePosition(_0x5d87f1,_0x47aebd,_0x20f539={}){const _0x1c0b85={_0x187de7:0x1b6,_0x482125:0x4ed,_0x53b862:0x131,_0x3ff927:0x1aa,_0x308590:0xc31,_0x3ebd69:0x1d9,_0xa271d0:0x11cf,_0xc1c411:0x786,_0x1f2ded:0xc22,_0x358658:0x11cf,_0x4cf1ea:0x641,_0x44f147:0x11cf,_0x5802e4:0x19e8,_0x2a6b20:0x5e8,_0x1cf122:0x6f7,_0x18a2cb:0xdb4,_0x2be340:0xee0};if(!_0x47aebd)return _0x47aebd;const _0xb35b1e=LngLatPoint[_0x1bfda3(_0x1c0b85._0x187de7,-0x519)](_0x47aebd);function _0x1bfda3(_0xf92b5b,_0x2100e3){return _0x7afdbe(_0x2100e3,_0xf92b5b- -0x3a8);}let _0x5ef7e5=getHeight(_0x5d87f1,_0xb35b1e,_0x20f539);if(!Cesium__namespace['defined'](_0x5ef7e5))return _0x47aebd;if((_0x20f539[_0x126c70(0xc01,0xdcf)]??!![])&&_0x5ef7e5<_0xb35b1e[_0x1bfda3(_0x1c0b85._0x482125,_0x1c0b85._0x53b862)])return _0x47aebd;Cesium__namespace['defined'](_0x20f539[_0x126c70(0x20f,-_0x1c0b85._0x3ff927)])&&(_0x5ef7e5=Math[_0x1bfda3(_0x1c0b85._0x308590,_0x1c0b85._0x3ebd69)](_0x5ef7e5,_0x20f539[_0x126c70(-0x1ef,-0x1aa)]));function _0x126c70(_0x450c9e,_0x40e489){return _0x54a7f1(_0x40e489- -0x407,_0x450c9e);}return(_0x20f539['heightReference']===Cesium__namespace[_0x1bfda3(_0x1c0b85._0xa271d0,0x1bd0)][_0x126c70(0x76e,_0x1c0b85._0xc1c411)]||_0x20f539[_0x126c70(0xab6,_0x1c0b85._0x1f2ded)]===Cesium__namespace[_0x1bfda3(_0x1c0b85._0x358658,0x16a9)][_0x126c70(0x319,_0x1c0b85._0x4cf1ea)]||_0x20f539['heightReference']===Cesium__namespace[_0x1bfda3(_0x1c0b85._0x44f147,_0x1c0b85._0x5802e4)][_0x126c70(_0x1c0b85._0x2a6b20,_0x1c0b85._0x1cf122)])&&(_0xb35b1e[_0x1bfda3(_0x1c0b85._0x482125,-0x331)]+=_0x5ef7e5),Cesium__namespace[_0x126c70(_0x1c0b85._0x18a2cb,_0x1c0b85._0x2be340)]['fromRadians'](_0xb35b1e['longitude'],_0xb35b1e[_0x1bfda3(0x85d,0xe2e)],_0x5ef7e5);}function hasPickedModel(_0x1b49dd,_0xfaf6b6){const _0x48efe4={_0x45245c:0x1606,_0x8339db:0x14f3,_0x113a94:0xbcc},_0x4064f6={_0x4e9d61:0x93};if(Cesium__namespace[_0x25816a(_0x48efe4._0x45245c,_0x48efe4._0x8339db)](_0x1b49dd['id'])){const _0x255882=_0x1b49dd['id'];if(_0x255882['_noMousePick'])return _0x255882;if(_0xfaf6b6&&_0x255882===_0xfaf6b6)return _0x255882;}if(Cesium__namespace['defined'](_0x1b49dd[_0x3163fd(0x1a15,0x13b5)])){const _0x540ef1=_0x1b49dd['primitive'];if(_0x540ef1['_noMousePick'])return _0x540ef1;if(_0xfaf6b6&&_0x540ef1===_0xfaf6b6)return _0x540ef1;}function _0x25816a(_0x3c443b,_0x1183be){return _0x7afdbe(_0x1183be,_0x3c443b- -0x2a9);}if(Cesium__namespace['defined'](_0x1b49dd[_0x25816a(0x351,_0x48efe4._0x113a94)])){const _0x4ad986=_0x1b49dd['tileset'];if(_0x4ad986['_noMousePick'])return _0x4ad986;if(_0xfaf6b6&&_0x4ad986===_0xfaf6b6)return _0x4ad986;}function _0x3163fd(_0x2f54f8,_0x66fd42){return _0x7afdbe(_0x2f54f8,_0x66fd42-_0x4064f6._0x4e9d61);}return null;}function getCurrentMousePosition(_0x1e849a,_0x49b75e,_0x2c9bea){const _0x4c12e2={_0x467989:0x9a0,_0x34acd4:0xdc7,_0x17d65b:0x1244,_0x4ec4da:0x10dd,_0x3519f8:0xa47,_0x1b0a29:0x686,_0x19ec8c:0x130,_0x2f68cc:0x1587,_0x348152:0x3e6,_0x5c4561:0x18b,_0x4e2531:0xe8,_0x232f09:0x534,_0x81da0a:0x7e8,_0x60f80c:0x93,_0x44afa8:0xad2},_0x28a1db={_0x335a46:0x6c},_0x4dc733={_0x51c645:0x5fe};let _0x3fdea5;if(_0x1e849a[_0x4a9d53(0x152a,0x1753)]){!_0x1e849a['vertexAdsorption']&&(_0x1e849a['vertexAdsorption']=new VertexAdsorption(_0x1e849a));_0x3fdea5=_0x1e849a['vertexAdsorption']['pick'](_0x49b75e,0x10,0x10);if(!_0x3fdea5){let _0x3b3c51;try{_0x3b3c51=_0x1e849a['pick'](_0x49b75e,0x5,0x5);}catch(_0x3bf3cd){logWarn(_0x4a9d53(0x1441,_0x4c12e2._0x467989),_0x3bf3cd);}_0x3fdea5=_getPointTargetPosition(_0x3b3c51);}if(_0x3fdea5)return _0x3fdea5;}else _0x1e849a[_0xf7108d(_0x4c12e2._0x34acd4,_0x4c12e2._0x17d65b)]&&_0x1e849a[_0x4a9d53(0x112b,0x6d8)]['clear']();let _0x1a168;try{_0x1a168=_0x1e849a['pick'](_0x49b75e,0x5,0x5);}catch(_0x4cc06d){logWarn(_0xf7108d(_0x4c12e2._0x4ec4da,0x6d9),_0x4cc06d);}if(_0x1e849a['pickPositionSupported']&&!_0x1e849a[_0xf7108d(_0x4c12e2._0x3519f8,_0x4c12e2._0x1b0a29)]&&Cesium__namespace['defined'](_0x1a168)){const _0x28699c=hasPickedModel(_0x1a168,_0x2c9bea);if(_0x28699c){if(_0x28699c['show']){_0x28699c['show']=![],_0x1e849a[_0xf7108d(-_0x4c12e2._0x19ec8c,0x3b4)](),_0x3fdea5=getCurrentMousePosition(_0x1e849a,_0x49b75e,_0x2c9bea),_0x28699c['show']=!![];if(_0x3fdea5)return _0x3fdea5;else{_0x3fdea5=_geetTargetMousePosition(_0x1e849a,_0x49b75e,_0x1a168);if(Cesium__namespace[_0x4a9d53(0x1615,0xe63)](_0x3fdea5))return _0x3fdea5;}}if(!_0x1e849a['globe'][_0x4a9d53(_0x4c12e2._0x2f68cc,0x1757)]){_0x3fdea5=_geetTargetMousePosition(_0x1e849a,_0x49b75e,_0x1a168);if(Cesium__namespace[_0x4a9d53(0x1615,0x1cd4)](_0x3fdea5))return _0x3fdea5;}}else{_0x3fdea5=_geetTargetMousePosition(_0x1e849a,_0x49b75e,_0x1a168);if(Cesium__namespace['defined'](_0x3fdea5))return _0x3fdea5;}}function _0xf7108d(_0x19b2ff,_0x48bc79){return _0x7afdbe(_0x48bc79,_0x19b2ff- -_0x4dc733._0x51c645);}if(!_0x1e849a['onlyPickTerrainPosition']&&_0x1e849a['onlyPickModelPosition'])return _0x3fdea5;if(_0x1e849a['mode']===Cesium__namespace['SceneMode'][_0x4a9d53(0x14fb,0x12b8)]){const _0x29ca26=_0x1e849a[_0xf7108d(0x18b,0x4b3)]['getPickRay'](_0x49b75e);_0x3fdea5=_0x1e849a[_0xf7108d(-0x151,_0x4c12e2._0x348152)]['pick'](_0x29ca26,_0x1e849a),!_0x3fdea5&&(_0x3fdea5=_0x1e849a[_0xf7108d(0x18b,0x774)]['pickEllipsoid'](_0x49b75e,_0x1e849a['globe']['ellipsoid']));}else _0x3fdea5=_0x1e849a[_0xf7108d(_0x4c12e2._0x5c4561,-_0x4c12e2._0x4e2531)][_0xf7108d(0xc9f,0xe4b)](_0x49b75e,_0x1e849a['globe'][_0xf7108d(_0x4c12e2._0x232f09,0xa1b)]);if(Cesium__namespace['defined'](_0x3fdea5)&&_0x1e849a[_0xf7108d(_0x4c12e2._0x5c4561,-0x6b1)][_0xf7108d(0x82a,0x115d)]['height']<0x2710){const _0x93f4a5=Cesium__namespace[_0xf7108d(0x500,_0x4c12e2._0x81da0a)][_0xf7108d(-_0x4c12e2._0x60f80c,-_0x4c12e2._0x44afa8)](_0x3fdea5);if(_0x93f4a5['height']<-0x1388)return null;}function _0x4a9d53(_0x33fa73,_0x458660){return _0x54a7f1(_0x33fa73- -_0x28a1db._0x335a46,_0x458660);}return _0x3fdea5;}function _geetTargetMousePosition(_0xb78ce8,_0x1e55c6,_0x32f315){const _0x171a28={_0x226fa7:0x43d,_0x360bd1:0xe97,_0x589b6e:0x1315},_0x257e4b={_0x1638d6:0x97};function _0x2233eb(_0x224865,_0x24c0b9){return _0x54a7f1(_0x224865- -0x7,_0x24c0b9);}const _0x2152a1=_0xb78ce8[_0x3aff18(_0x171a28._0x226fa7,_0x171a28._0x360bd1)](_0x1e55c6);if(Cesium__namespace['defined'](_0x2152a1)){if(_0xb78ce8[_0x3aff18(0xfc0,_0x171a28._0x589b6e)]['enableCollisionDetection']){const _0x39ca2b=Cesium__namespace['Cartographic'][_0x2233eb(0x336,0x333)](_0x2152a1);if(_0x39ca2b['height']>=0x0)return _0x2152a1;if(!Cesium__namespace['defined'](_0x32f315===null||_0x32f315===void 0x0?void 0x0:_0x32f315['id'])&&_0x39ca2b[_0x3aff18(0x4f0,0x6fe)]>=-0x1388)return _0x2152a1;}else return _0x2152a1;}function _0x3aff18(_0x278d8f,_0xb736bf){return _0x54a7f1(_0xb736bf-_0x257e4b._0x1638d6,_0x278d8f);}return undefined;}function _getPointTargetPosition(_0x6fc3e8){const _0x2832f0={_0x5070a8:0xcab,_0x54c681:0x352,_0x480eb0:0xc9b,_0x508f73:0xada,_0x3c0d1b:0x1f69,_0x20ab77:0x16d8};var _0x450e3b;function _0x2a0c9c(_0x5a758d,_0xb6424){return _0x7afdbe(_0xb6424,_0x5a758d- -0x2af);}function _0x2fa8de(_0x1ee541,_0x5834fa){return _0x54a7f1(_0x1ee541- -0xa0,_0x5834fa);}if(!Cesium__namespace['defined'](_0x6fc3e8))return;if(Cesium__namespace['defined'](_0x6fc3e8['id'])&&_0x6fc3e8['id']instanceof Cesium__namespace['Entity']){const _0x51eada=_0x6fc3e8['id'];if((_0x51eada[_0x2a0c9c(_0x2832f0._0x5070a8,_0x2832f0._0x54c681)]||_0x51eada[_0x2a0c9c(_0x2832f0._0x480eb0,0x856)]||_0x51eada[_0x2fa8de(0x101a,0x14d4)])&&!_0x51eada['ellipse']&&!_0x51eada['model']&&!_0x51eada[_0x2a0c9c(0x883,_0x2832f0._0x508f73)])return getPositionValue(_0x51eada['position']);}else{if(_0x6fc3e8 instanceof Cesium__namespace['Cesium3DTileFeature'])return undefined;else{if(_0x6fc3e8['content']&&_0x6fc3e8[_0x2a0c9c(0x1492,0x15c4)]instanceof(Cesium__namespace['PointCloud3DTileContent']||Cesium__namespace['PointCloud']))return undefined;else{if((_0x450e3b=_0x6fc3e8['content'])!==null&&_0x450e3b!==void 0x0&&(_0x450e3b=_0x450e3b['tile'])!==null&&_0x450e3b!==void 0x0&&_0x450e3b['i3sNode'])return undefined;else{if(Cesium__namespace[_0x2fa8de(0x15e1,_0x2832f0._0x3c0d1b)](_0x6fc3e8['primitive'])){const _0x1891de=_0x6fc3e8['primitive'];if(_0x1891de instanceof Cesium__namespace['Label']||_0x1891de instanceof Cesium__namespace['PointPrimitive']||_0x1891de instanceof Cesium__namespace[_0x2a0c9c(_0x2832f0._0x20ab77,0x1cb4)])return getPositionValue(_0x1891de['position']);}}}}}}function getCurrentMouseTerrainPosition(_0x40dc8c,_0x29a147){const _0x438982={_0x2e99e2:0x14e,_0x2367b3:0x1325,_0x1b3958:0xc6,_0x38de1c:0x414,_0x1551ee:0x10e7,_0x52be2f:0xc6a},_0x365bb4={_0x3b3fcb:0x633};function _0x450ca9(_0x583b50,_0x15c913){return _0x54a7f1(_0x583b50- -0x345,_0x15c913);}function _0x4dd120(_0xb66568,_0x593d2a){return _0x7afdbe(_0xb66568,_0x593d2a- -_0x365bb4._0x3b3fcb);}let _0x432eaf;if(_0x40dc8c[_0x450ca9(_0x438982._0x2e99e2,-0x1af)]===Cesium__namespace['SceneMode']['SCENE3D']){const _0x31496d=_0x40dc8c[_0x450ca9(0x216,0x965)][_0x450ca9(_0x438982._0x2367b3,0x14ca)](_0x29a147);_0x432eaf=_0x40dc8c[_0x450ca9(-_0x438982._0x1b3958,-0x33a)][_0x450ca9(_0x438982._0x38de1c,0xbd6)](_0x31496d,_0x40dc8c),!_0x432eaf&&(_0x432eaf=_0x40dc8c['camera'][_0x450ca9(0xd2a,0x92f)](_0x29a147,_0x40dc8c['globe']['ellipsoid']));}else _0x432eaf=_0x40dc8c[_0x450ca9(0x216,-0x774)][_0x4dd120(_0x438982._0x1551ee,_0x438982._0x52be2f)](_0x29a147,_0x40dc8c['globe']['ellipsoid']);return _0x432eaf;}function getMidpoint(_0x2754dc,_0x4f4bc5,_0x5370d5=0.5){const _0x2d7978={_0x32fef3:0x531,_0x3ef546:0xdac,_0x20217d:0x8ea,_0x3ae6c9:0xb5a,_0x28e236:0x1254},_0x3fd1aa={_0x57513a:0x2d};function _0x100be8(_0x1f9db9,_0x29db5f){return _0x7afdbe(_0x1f9db9,_0x29db5f- -_0x3fd1aa._0x57513a);}if(!_0x4f4bc5||!_0x2754dc)return undefined;function _0x3d58bf(_0x1b915d,_0x2791be){return _0x7afdbe(_0x1b915d,_0x2791be-0x55);}if(_0x5370d5!==0.5){const _0x4960c7=LngLatPoint['toCartographic'](_0x2754dc),_0x499d6f=LngLatPoint[_0x100be8(0xbba,_0x2d7978._0x32fef3)](_0x4f4bc5),_0x30309c=(_0x4960c7[_0x3d58bf(_0x2d7978._0x3ef546,_0x2d7978._0x20217d)]+_0x499d6f['height'])/0x2,_0x533e70=new Cesium__namespace['EllipsoidGeodesic'](_0x4960c7,_0x499d6f)[_0x3d58bf(0x14ba,_0x2d7978._0x3ae6c9)](_0x5370d5);return Cesium__namespace['Cartesian3']['fromRadians'](_0x533e70['longitude'],_0x533e70['latitude'],_0x30309c);}return Cesium__namespace[_0x3d58bf(_0x2d7978._0x28e236,0x156a)]['midpoint'](_0x2754dc,_0x4f4bc5,new Cesium__namespace[(_0x100be8(0x1020,0x14e8))]());}function isRepeatPoint(_0x177108,_0x52cf7d){const _0x4d7243={_0x135a7a:0x11ac},_0x4dd680={_0x89af5e:0x154};if(!_0x52cf7d||!_0x177108)return![];function _0x392069(_0x598735,_0x2db04f){return _0x7afdbe(_0x2db04f,_0x598735- -_0x4dd680._0x89af5e);}function _0x42f028(_0x58ea5e,_0xcee610){return _0x54a7f1(_0xcee610- -0x283,_0x58ea5e);}return Math[_0x392069(_0x4d7243._0x135a7a,0x1c35)](_0x177108['x']-_0x52cf7d['x'])<0.1&&Math['abs'](_0x177108['y']-_0x52cf7d['y'])<0.1&&Math[_0x42f028(0x8d8,0xe4f)](_0x177108['z']-_0x52cf7d['z'])<0.1?!![]:![];}function getRotateCenterPoint(_0x1b8101,_0x3e158d,_0x2a4859){const _0x3e3902={_0x301758:0x42e,_0x24ee2e:0x792,_0x5b179e:0x904,_0x3a1581:0x10ae,_0x60b86a:0x1aa5,_0x2b8609:0x1872,_0x540796:0x1546,_0x4ff138:0xb97,_0x4406d0:0x19f},_0x3767d0={_0x48e8fd:0x31},_0x38300a=Cesium__namespace['Cartographic']['fromCartesian'](_0x1b8101);_0x38300a[_0x24141c(_0x3e3902._0x301758,0xdb3)]=0x0;function _0xe4f427(_0x4e87de,_0x188425){return _0x7afdbe(_0x4e87de,_0x188425-_0x3767d0._0x48e8fd);}const _0x4cbb26=Cesium__namespace['Cartographic']['toCartesian'](_0x38300a);let _0xf021d=Cesium__namespace['Cartesian3'][_0xe4f427(_0x3e3902._0x24ee2e,_0x3e3902._0x5b179e)](_0x4cbb26,_0x1b8101,new Cesium__namespace[(_0x24141c(_0x3e3902._0x3a1581,_0x3e3902._0x60b86a))]());function _0x24141c(_0xdc54f,_0x4eecf4){return _0x54a7f1(_0xdc54f- -0x239,_0x4eecf4);}_0xf021d=Cesium__namespace[_0xe4f427(_0x3e3902._0x2b8609,_0x3e3902._0x540796)][_0x24141c(0x1038,_0x3e3902._0x4ff138)](_0xf021d,new Cesium__namespace[(_0x24141c(0x10ae,0x14c4))]());const _0x26cbc3=Cesium__namespace['Quaternion']['fromAxisAngle'](_0xf021d,Cesium__namespace['Math']['toRadians'](_0x2a4859)),_0x4cf048=Cesium__namespace['Matrix3']['fromQuaternion'](_0x26cbc3),_0x517d14=Cesium__namespace[_0x24141c(_0x3e3902._0x4406d0,0x76c)]['fromRotationTranslation'](_0x4cf048),_0x36fae0=Cesium__namespace[_0xe4f427(0x1f26,_0x3e3902._0x540796)][_0x24141c(0x46c,0x943)](_0x3e158d,_0x1b8101,new Cesium__namespace[(_0xe4f427(0x13f1,0x1546))]()),_0x5ea157=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x517d14,_0x36fae0,new Cesium__namespace['Cartesian3']()),_0x1b15e4=Cesium__namespace['Cartesian3']['add'](_0x5ea157,_0x1b8101,new Cesium__namespace[(_0xe4f427(0x1996,0x1546))]());return _0x1b15e4;}function getOnLinePointByLen(_0x243848,_0x2882cc,_0x5de147,_0x1d488f){const _0xe52fb6={_0x4c653f:0xc97},_0x40c08e={_0x3b7305:0x4d3},_0x56a815=Cesium__namespace[_0x1f6a3b(0x1042,_0xe52fb6._0x4c653f)]['distance'](_0x243848,_0x2882cc);let _0x4bf367;_0x56a815!==0x0?_0x4bf367=_0x5de147/_0x56a815:_0x4bf367=0.001;function _0x1f6a3b(_0x35b404,_0x254d24){return _0x7afdbe(_0x254d24,_0x35b404- -_0x40c08e._0x3b7305);}return _0x1d488f&&(_0x4bf367+=0x1),getOnLinePointByRatio(_0x243848,_0x2882cc,_0x4bf367);}function getOnLinePointByRatio(_0x55e8da,_0xf972ce,_0x529d24){const _0x2ef563={_0x56b5b0:0xd95,_0xedd4bf:0x12e7,_0x5e6f22:0x141b,_0x5bc86c:0x559,_0x402cca:0xa9e},_0x50d296=Cesium__namespace[_0x336aa8(0x3e1,_0x2ef563._0x56b5b0)][_0x440938(_0x2ef563._0xedd4bf,_0x2ef563._0x5e6f22)](_0x55e8da);function _0x440938(_0x53c431,_0x10ec40){return _0x7afdbe(_0x53c431,_0x10ec40- -0xad);}const _0x561149=Cesium__namespace[_0x440938(0x6b3,_0x2ef563._0x5bc86c)]['inverse'](_0x50d296,new Cesium__namespace[(_0x336aa8(0x4c,_0x2ef563._0x402cca))]());_0x55e8da=Cesium__namespace['Matrix4'][_0x440938(0xf04,0xe6a)](_0x561149,_0x55e8da,new Cesium__namespace['Cartesian3']()),_0xf972ce=Cesium__namespace['Matrix4'][_0x440938(0x463,0xe6a)](_0x561149,_0xf972ce,new Cesium__namespace['Cartesian3']());const _0x2a88aa=Cesium__namespace[_0x336aa8(0xf5b,0xa20)]['subtract'](_0xf972ce,_0x55e8da,new Cesium__namespace['Cartesian3']());function _0x336aa8(_0x4f5a6a,_0x33c4ed){return _0x7afdbe(_0x33c4ed,_0x4f5a6a- -0x5ba);}const _0x39635b=Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x2a88aa,_0x529d24,new Cesium__namespace[(_0x336aa8(0xf5b,0x909))]());return Cesium__namespace['Matrix4']['multiplyByPoint'](_0x50d296,_0x39635b,new Cesium__namespace['Cartesian3']());}function getPositionByHprAndOffset(_0x2ad3ed,_0x386a00,_0x1925f7,_0x11ad5c,_0x3c47e3){const _0x213ad1={_0x45d497:0x73b,_0x2401fe:0x110b,_0x1bd6ae:0x3a4,_0x25e5fe:0xda,_0x30ad76:0x12e5,_0x40151d:0xf08},_0x40b45e={_0x32d493:0x5f7};function _0x219761(_0x2df52c,_0x8a1f93){return _0x7afdbe(_0x8a1f93,_0x2df52c- -_0x40b45e._0x32d493);}_0x2ad3ed=LngLatPoint[_0x219761(_0x213ad1._0x45d497,_0x213ad1._0x2401fe)](_0x2ad3ed);!_0x1925f7&&(_0x1925f7=new Cesium__namespace['HeadingPitchRoll']());const _0x38f9f0=Cesium__namespace[_0x219761(_0x213ad1._0x1bd6ae,-0xf8)]['headingPitchRollQuaternion'](_0x2ad3ed,_0x1925f7,_0x11ad5c,_0x3c47e3),_0x8a3d1b=Cesium__namespace[_0x1c6406(-_0x213ad1._0x25e5fe,-0x53)][_0x1c6406(0x8ca,_0x213ad1._0x30ad76)](Cesium__namespace['Matrix3']['fromQuaternion'](_0x38f9f0,new Cesium__namespace['Matrix3']()),_0x2ad3ed,new Cesium__namespace['Matrix4']()),_0x1663b5=Cesium__namespace['Matrix4'][_0x1c6406(_0x213ad1._0x40151d,0x8be)](_0x8a3d1b,_0x386a00,new Cesium__namespace['Cartesian3']());function _0x1c6406(_0x7a1bfe,_0x15f82f){return _0x54a7f1(_0x15f82f- -0x42b,_0x7a1bfe);}return _0x1663b5;}function getPositionByDirectionAndLen(_0x58a9e2,_0xfa06df,_0x1076b9){const _0x5b41f8={_0x3fe99f:0x18};if(!_0x58a9e2)return _0x58a9e2;_0x58a9e2=LngLatPoint['toCartesian'](_0x58a9e2);const _0x2ca2bf=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x58a9e2),_0x38b6a0=Cesium__namespace['Matrix3'][_0x2cc3d7(0x520,0x1d3)](Cesium__namespace['Math'][_0x2cc3d7(0x150a,0x182e)](0x168-(_0xfa06df||0x0))),_0x571ca5=Cesium__namespace['Matrix4']['fromRotationTranslation'](_0x38b6a0);Cesium__namespace['Matrix4']['multiply'](_0x2ca2bf,_0x571ca5,_0x2ca2bf);function _0x1a8793(_0x42ee8a,_0x6629e2){return _0x54a7f1(_0x42ee8a- -0x44c,_0x6629e2);}const _0x4d55e2=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x2ca2bf,new Cesium__namespace['Cartesian3'](_0x1076b9,0x0,0x0),new Cesium__namespace['Cartesian3']());function _0x2cc3d7(_0x431b4c,_0x10fabe){return _0x54a7f1(_0x431b4c- -_0x5b41f8._0x3fe99f,_0x10fabe);}return _0x4d55e2;}function getPositionByHprAndLen(_0x254b73,_0x5daf77,_0x2e9cde){const _0x3b37fd={_0x48cb19:0x1513,_0x849f01:0x84d,_0x421993:0xaec};function _0x490e1f(_0x4db0e8,_0x290c2a){return _0x54a7f1(_0x4db0e8- -0x1fd,_0x290c2a);}_0x254b73=LngLatPoint['toCartesian'](_0x254b73);function _0x57fa07(_0x4d51fe,_0x3127b0){return _0x7afdbe(_0x4d51fe,_0x3127b0- -0x486);}const _0x4cc82b=Cesium__namespace['Transforms'][_0x57fa07(-0x819,0x1a9)](_0x254b73,_0x5daf77),_0x217ecd=Cesium__namespace['Matrix4'][_0x490e1f(_0x3b37fd._0x48cb19,0xe8b)](Cesium__namespace[_0x57fa07(0xa5e,0x11b8)]['fromQuaternion'](_0x4cc82b,new Cesium__namespace[(_0x490e1f(0x1213,_0x3b37fd._0x849f01))]()),_0x254b73,new Cesium__namespace['Matrix4']()),_0x29acb2=Cesium__namespace['Matrix4'][_0x490e1f(_0x3b37fd._0x421993,0xdc6)](_0x217ecd,new Cesium__namespace[(_0x57fa07(0xa56,0x108f))](0x0,0x0,-_0x2e9cde),new Cesium__namespace['Cartesian3']());return _0x29acb2;}function getRayEarthPosition(_0x57a4af,_0x3187f1,_0x1a5d4f,_0x381c6b,_0x7026f){const _0x5e01f1={_0x3ae953:0x8f6},_0x3a3b43={_0x4adcb4:0x68b};function _0x18e68a(_0x2bc650,_0xf1272b){return _0x7afdbe(_0x2bc650,_0xf1272b- -_0x3a3b43._0x4adcb4);}function _0x321296(_0xc67e7,_0x5efb8d){return _0x7afdbe(_0xc67e7,_0x5efb8d- -0x15c);}if(!_0x57a4af||!_0x3187f1)return;_0x3187f1 instanceof Cesium__namespace['HeadingPitchRoll']&&(_0x3187f1=Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x57a4af,_0x3187f1,_0x381c6b,_0x7026f));const _0x580a1a=Cesium__namespace[_0x321296(0x89b,0x4aa)]['fromRotationTranslation'](Cesium__namespace['Matrix3']['fromQuaternion'](_0x3187f1,new Cesium__namespace['Matrix3']()),_0x57a4af,new Cesium__namespace[(_0x321296(_0x5e01f1._0x3ae953,0x4aa))]());return getRayEarthPositionByMatrix(_0x580a1a,_0x1a5d4f,_0x381c6b);}function getRayEarthPositionByMatrix(_0x3cc7cf,_0x5a1c81,_0x2afd85){const _0x51b348={_0x359a56:0x417,_0x26bad1:0x14e1};function _0xa0ac0c(_0x5ca50f,_0x10bbf2){return _0x7afdbe(_0x10bbf2,_0x5ca50f- -0x210);}const _0x305814=new Cesium__namespace['Cartesian3'](),_0x3baac4=new Cesium__namespace['Ray']();Cesium__namespace[_0xa0ac0c(0x3f6,_0x51b348._0x359a56)]['multiplyByPoint'](_0x3cc7cf,Cesium__namespace[_0x100815(0x14dc,0x1f09)][_0x100815(_0x51b348._0x26bad1,0x1abc)],_0x305814),_0x305814[_0xa0ac0c(0x80d,-0x180)](_0x3baac4['origin']);function _0x100815(_0x2585b7,_0x350861){return _0x7afdbe(_0x350861,_0x2585b7- -0x39);}const _0x473d71=new Cesium__namespace['Cartesian3'](0x0,0x0,_0x5a1c81?-0x1:0x1),_0x25ea68=extend2Earth(_0x473d71,_0x3cc7cf,_0x3baac4,_0x2afd85);return _0x25ea68;}function extend2Earth(_0x5c4c6c,_0x431c7b,_0x5d1c28,_0xed6811){const _0x2bfc10={_0x1aab56:0xaf,_0x4be546:0x1af,_0x3329e3:0xcd4,_0x3a85e1:0x1045,_0x56e6c7:0xc21,_0x51ce1d:0x69d,_0x51ad9e:0x1809,_0x38cd92:0x1520,_0x324972:0x1324},_0x3b4fd2={_0x1fe200:0xae};_0xed6811=_0xed6811||Cesium__namespace['Ellipsoid']['WGS84'];const _0x5452cc=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x431c7b,_0x5c4c6c,new Cesium__namespace['Cartesian3']());Cesium__namespace['Cartesian3'][_0x54f6ec(_0x2bfc10._0x1aab56,0x7a5)](_0x5452cc,_0x5d1c28[_0x5e109d(0x7fa,-_0x2bfc10._0x4be546)],_0x5d1c28[_0x5e109d(_0x2bfc10._0x3329e3,0x1634)]),Cesium__namespace['Cartesian3']['normalize'](_0x5d1c28[_0x5e109d(0xcd4,0xd70)],_0x5d1c28['direction']);const _0x575be4=Cesium__namespace['IntersectionTests'][_0x5e109d(_0x2bfc10._0x3a85e1,_0x2bfc10._0x56e6c7)](_0x5d1c28,_0xed6811);if(!_0x575be4)return undefined;const _0x107a9e=_0x575be4[_0x5e109d(0x9d9,0x259)]>0x0?_0x575be4[_0x54f6ec(_0x2bfc10._0x51ce1d,0xa2b)]:_0x575be4[_0x5e109d(0x828,0x1f7)];function _0x54f6ec(_0x471033,_0x1cc8aa){return _0x54a7f1(_0x1cc8aa-0x100,_0x471033);}function _0x5e109d(_0xe764d4,_0x48d989){return _0x54a7f1(_0xe764d4-_0x3b4fd2._0x1fe200,_0x48d989);}const _0xa4fba7=Cesium__namespace['Ray'][_0x5e109d(_0x2bfc10._0x51ad9e,0x1dc0)](_0x5d1c28,_0x107a9e,new Cesium__namespace[(_0x5e109d(0x1395,_0x2bfc10._0x38cd92))]());if(_0xa4fba7)try{const _0x58fc17=Cesium__namespace['Cartographic']['fromCartesian'](_0xa4fba7,null,new Cesium__namespace[(_0x54f6ec(_0x2bfc10._0x324972,0x9d0))]());}catch(_0x540d0c){return undefined;}return _0xa4fba7;}function getHeadingPitchRollByOrientation(_0x5b01ac,_0x5be36b,_0x546058,_0x356ab1){const _0x229d63={_0x3b0efd:0x1851,_0x59e31d:0x1bd2,_0x3d777b:0x120c,_0x580f18:0x2c2,_0x3da4fe:0x657,_0x12265f:0x10dd};function _0x13e432(_0x61f82b,_0x40b7a0){return _0x7afdbe(_0x61f82b,_0x40b7a0- -0x344);}if(!Cesium__namespace['defined'](_0x5be36b)||!Cesium__namespace[_0xca3ccd(_0x229d63._0x3b0efd,0x108b)](_0x5b01ac))return new Cesium__namespace['HeadingPitchRoll']();const _0x4218e0=Cesium__namespace['Matrix4']['fromRotationTranslation'](Cesium__namespace[_0xca3ccd(0x15e0,0x15b2)][_0xca3ccd(0x1463,_0x229d63._0x59e31d)](_0x5be36b,new Cesium__namespace[(_0x13e432(_0x229d63._0x3d777b,0x12fa))]()),_0x5b01ac,new Cesium__namespace[(_0x13e432(0x6b7,_0x229d63._0x580f18))]());function _0xca3ccd(_0x37f8d0,_0x28ce5a){return _0x54a7f1(_0x37f8d0-0x1d0,_0x28ce5a);}return Cesium__namespace[_0x13e432(0x4c6,_0x229d63._0x3da4fe)][_0xca3ccd(_0x229d63._0x12265f,0x195d)](_0x4218e0,_0x546058,_0x356ab1);}function getHeadingPitchRollByMatrix(_0x22ce32,_0x334c3a,_0x2241d0,_0x22d4c9){function _0x3e01a8(_0x48fa6a,_0x1d934c){return _0x7afdbe(_0x48fa6a,_0x1d934c- -0x43d);}return Cesium__namespace[_0x3e01a8(0x1011,0x55e)]['fixedFrameToHeadingPitchRoll'](_0x22ce32,_0x334c3a,_0x2241d0,_0x22d4c9);}function getHeadingPitchRollForLine(_0x483123,_0x1238f7,_0x5ef7be){const _0x29bd84={_0x1de083:0x1452,_0x661e5c:0xcf7,_0x30f1aa:0x162b,_0x994743:0x882,_0x516471:0x12d1,_0x1525db:0x1559,_0x10616d:0x15ad,_0x2eae29:0x17af,_0x3e6543:0x94a,_0x4556b1:0xdaa,_0x446e82:0x130b},_0x3c3606={_0x44adbf:0x163};function _0x4b8a89(_0x3972d8,_0x4ff063){return _0x54a7f1(_0x3972d8- -_0x3c3606._0x44adbf,_0x4ff063);}_0x483123=LngLatPoint[_0x2a3d66(0x1405,0xce1)](_0x483123),_0x1238f7=LngLatPoint['toCartesian'](_0x1238f7);function _0x2a3d66(_0x1a5d03,_0x59ebca){return _0x7afdbe(_0x1a5d03,_0x59ebca- -0x51);}const _0x1f2720=Cesium__namespace[_0x4b8a89(_0x29bd84._0x1de083,0x147a)][_0x4b8a89(_0x29bd84._0x661e5c,0x1722)],_0x40313c=new Cesium__namespace['Cartesian3'](),_0x44eace=new Cesium__namespace['Matrix4'](),_0x5e6d99=new Cesium__namespace['Matrix3'](),_0xbe9307=Cesium__namespace[_0x4b8a89(0x1184,_0x29bd84._0x30f1aa)][_0x4b8a89(0x110e,0x1967)](Cesium__namespace['Cartesian3'][_0x2a3d66(0x993,_0x29bd84._0x994743)](_0x1238f7,_0x483123,_0x40313c),_0x40313c);Cesium__namespace['Transforms'][_0x4b8a89(_0x29bd84._0x516471,_0x29bd84._0x1525db)](_0x483123,_0xbe9307,_0x1f2720,_0x5e6d99);const _0x5e683b=Cesium__namespace['Matrix4'][_0x4b8a89(_0x29bd84._0x10616d,0x134e)](_0x5e6d99,_0x483123,_0x44eace);return _0x5ef7be?Cesium__namespace['Matrix4']['multiplyTransformation'](_0x5e683b,Cesium__namespace['Axis']['Z_UP_TO_X_UP'],_0x5e683b):Cesium__namespace['Matrix4'][_0x4b8a89(0x106d,0x177f)](_0x5e683b,Cesium__namespace['Axis'][_0x4b8a89(0x148d,_0x29bd84._0x2eae29)],_0x5e683b),Cesium__namespace[_0x2a3d66(0x1056,_0x29bd84._0x3e6543)][_0x4b8a89(_0x29bd84._0x4556b1,_0x29bd84._0x446e82)](_0x5e683b,_0x1f2720);}function getReflectVector(_0x49f5db,_0x33e0f3){const _0x496f60={_0x1d76a2:0x279,_0x7a422a:0x621,_0x4e8b47:0x164},_0x239bcd={_0x58d61e:0x5a9},_0x1c0ea8={_0x151eea:0x10e};function _0xb12d2(_0x4b06ab,_0x44e55e){return _0x54a7f1(_0x44e55e-_0x1c0ea8._0x151eea,_0x4b06ab);}const _0xf53387=_0x33e0f3['clone'](),_0x493b67=_0x49f5db[_0xb12d2(_0x496f60._0x1d76a2,0x8fd)]();function _0x278eb1(_0x20294d,_0x543714){return _0x7afdbe(_0x20294d,_0x543714- -_0x239bcd._0x58d61e);}const _0x2ef4d9=0x2*Cesium__namespace['Cartesian3'][_0xb12d2(0xf6a,_0x496f60._0x7a422a)](_0x49f5db,_0x33e0f3);return Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x33e0f3,_0x2ef4d9,_0xf53387),Cesium__namespace['Cartesian3'][_0x278eb1(-_0x496f60._0x4e8b47,0x32a)](_0x49f5db,_0xf53387,_0x493b67);}function getPropertyIndex(_0x505c53,_0x1250b2,_0x3aff2a){const _0x339b08={_0x1376bb:0x149d,_0x8e04c1:0xca2,_0x5b15b5:0xca2,_0x216f59:0x9a,_0x52d916:0x45c,_0x3b6e25:0xf23,_0x1d954a:0x649,_0x26672b:0x471,_0x3a08f9:0x82e,_0x12029a:0x194,_0xa53ef0:0xb4f,_0x2cda93:0x1eb,_0x22cd4d:0xd2e,_0x279241:0x101a,_0x529198:0x702,_0x1fe467:0x75f,_0x6ca8c4:0xc43,_0xedec43:0x607,_0x42f6ba:0x234,_0x3bdfbf:0x1323,_0x502858:0x200,_0x290720:0x16fe,_0x121497:0xc54,_0x1fcade:0x626,_0x357bc9:0x2cd};function _0x1b265d(_0x48aa1a,_0x27c919){return _0x7afdbe(_0x27c919,_0x48aa1a- -0x1b1);}const _0xec1b4c=_0x505c53===null||_0x505c53===void 0x0?void 0x0:_0x505c53[_0x1b265d(_0x339b08._0x1376bb,0xd17)],_0x4fd6dd=_0xec1b4c===null||_0xec1b4c===void 0x0?void 0x0:_0xec1b4c['_times'];function _0x171e82(_0x421f4,_0x5a0a99){return _0x7afdbe(_0x421f4,_0x5a0a99- -0x396);}const _0x1252f2=_0x4fd6dd['length'];if(_0x1252f2===0x0){const _0x236e4e={};return _0x236e4e[_0x171e82(0x1530,0xae3)]=0x0,_0x236e4e;}let _0x63e567;const _0x5687be=Cesium__namespace[_0x171e82(0x9a5,0x117f)],_0x1b4f60=_0xec1b4c['_values'];let _0x25b897=Cesium__namespace[_0x1b265d(0xe70,0x1379)](_0x4fd6dd,_0x1250b2,Cesium__namespace[_0x171e82(0x1590,_0x339b08._0x8e04c1)]['compare']);if(_0x25b897<0x0){_0x25b897=~_0x25b897;if(_0x25b897===0x0){const _0x30ae79=_0x4fd6dd[_0x25b897];_0x63e567=_0xec1b4c['_backwardExtrapolationDuration'];if(_0xec1b4c['_backwardExtrapolationType']===Cesium__namespace['ExtrapolationType']['NONE']||_0x63e567!==0x0&&Cesium__namespace[_0x171e82(0x1614,_0x339b08._0x5b15b5)][_0x171e82(-_0x339b08._0x216f59,_0x339b08._0x52d916)](_0x30ae79,_0x1250b2)>_0x63e567){const _0xed631f={};return _0xed631f['index']=_0x25b897,_0xed631f;}if(_0xec1b4c[_0x171e82(_0x339b08._0x3b6e25,0xe97)]===Cesium__namespace[_0x171e82(0x105c,_0x339b08._0x1d954a)]['HOLD'])return{'position':_0x5687be[_0x1b265d(0x3d0,_0x339b08._0x26672b)](_0x1b4f60,0x0,_0x3aff2a),'index':_0x25b897};}if(_0x25b897>=_0x1252f2){_0x25b897=_0x1252f2-0x1;const _0x361d0e=_0x4fd6dd[_0x25b897];_0x63e567=_0xec1b4c[_0x1b265d(0x1803,0x1963)];if(_0xec1b4c['_forwardExtrapolationType']===Cesium__namespace['ExtrapolationType']['NONE']||_0x63e567!==0x0&&Cesium__namespace['JulianDate']['secondsDifference'](_0x1250b2,_0x361d0e)>_0x63e567){const _0x5c9ddb={};return _0x5c9ddb['index']=_0x25b897,_0x5c9ddb;}if(_0xec1b4c['_forwardExtrapolationType']===Cesium__namespace[_0x1b265d(_0x339b08._0x3a08f9,_0x339b08._0x12029a)][_0x1b265d(0x1469,0x12da)])return _0x25b897=_0x1252f2-0x1,{'position':_0x5687be[_0x171e82(_0x339b08._0xa53ef0,_0x339b08._0x2cda93)](_0x1b4f60,_0x25b897*_0x5687be['packedLength'],_0x3aff2a),'index':_0x25b897};}const _0x333cb4=_0xec1b4c['_xTable'],_0x5a36e8=_0xec1b4c['_yTable'],_0x1b1e54=_0xec1b4c['_interpolationAlgorithm'],_0x36a8e2=_0xec1b4c[_0x171e82(_0x339b08._0x22cd4d,0x578)],_0x3e53f6=_0xec1b4c[_0x1b265d(_0x339b08._0x279241,_0x339b08._0x529198)];if(_0xec1b4c[_0x1b265d(_0x339b08._0x1fe467,0x1131)]){_0xec1b4c['_updateTableLength']=![];const _0xcf89f5=Math[_0x171e82(0x142f,_0x339b08._0x6ca8c4)](_0x1b1e54['getRequiredDataPoints'](_0xec1b4c['_interpolationDegree'],_0x3e53f6),_0x1252f2);_0xcf89f5!==_0xec1b4c[_0x1b265d(_0x339b08._0xedec43,-_0x339b08._0x42f6ba)]&&(_0xec1b4c['_numberOfPoints']=_0xcf89f5,_0x333cb4['length']=_0xcf89f5,_0x5a36e8['length']=_0xcf89f5*_0x36a8e2);}const _0x10b305=_0xec1b4c['_numberOfPoints']-0x1;if(_0x10b305<0x1){_0x25b897=0x0;const _0x1f2c93={};return _0x1f2c93['index']=_0x25b897,_0x1f2c93;}let _0x59a265=0x0,_0x106664=_0x1252f2-0x1;const _0x2c61a0=_0x106664-_0x59a265+0x1;if(_0x2c61a0>=_0x10b305+0x1){let _0x3b2336=_0x25b897-(_0x10b305/0x2|0x0)-0x1;_0x3b2336<_0x59a265&&(_0x3b2336=_0x59a265);let _0x42fbb7=_0x3b2336+_0x10b305;_0x42fbb7>_0x106664&&(_0x42fbb7=_0x106664,_0x3b2336=_0x42fbb7-_0x10b305,_0x3b2336<_0x59a265&&(_0x3b2336=_0x59a265)),_0x59a265=_0x3b2336,_0x106664=_0x42fbb7;}const _0x48a58d=_0x106664-_0x59a265+0x1;for(let _0x5cce8c=0x0;_0x5cce8c<_0x48a58d;++_0x5cce8c){_0x333cb4[_0x5cce8c]=Cesium__namespace[_0x171e82(_0x339b08._0x3bdfbf,0xca2)][_0x171e82(-_0x339b08._0x502858,0x45c)](_0x4fd6dd[_0x59a265+_0x5cce8c],_0x4fd6dd[_0x106664]);}if(!Cesium__namespace['defined'](_0x5687be['convertPackedArrayForInterpolation'])){let _0x2d3167=0x0;const _0x31e3c8=_0xec1b4c['_packedLength'];let _0x7c9262=_0x59a265*_0x31e3c8;const _0x2c490e=(_0x106664+0x1)*_0x31e3c8;while(_0x7c9262<_0x2c490e){_0x5a36e8[_0x2d3167]=_0x1b4f60[_0x7c9262],_0x7c9262++,_0x2d3167++;}}else _0x5687be['convertPackedArrayForInterpolation'](_0x1b4f60,_0x59a265,_0x106664,_0x5a36e8);const _0x30d6dd=Cesium__namespace['JulianDate']['secondsDifference'](_0x1250b2,_0x4fd6dd[_0x106664]);let _0x1062be;if(_0x3e53f6===0x0||!Cesium__namespace[_0x1b265d(_0x339b08._0x290720,0x101f)](_0x1b1e54['interpolate']))_0x1062be=_0x1b1e54[_0x1b265d(_0x339b08._0x121497,0x450)](_0x30d6dd,_0x333cb4,_0x5a36e8,_0x36a8e2,_0xec1b4c['_interpolationResult']);else{const _0x233113=Math['floor'](_0x36a8e2/(_0x3e53f6+0x1));_0x1062be=_0x1b1e54['interpolate'](_0x30d6dd,_0x333cb4,_0x5a36e8,_0x233113,_0x3e53f6,_0x3e53f6,_0xec1b4c[_0x171e82(_0x339b08._0x1fcade,_0x339b08._0x357bc9)]);}_0x25b897=_0x59a265;for(let _0x42996a=_0x59a265;_0x42996a<=_0x106664;_0x42996a++){const _0x287a39=Cesium__namespace['JulianDate'][_0x1b265d(0xefa,0x1582)](_0x1250b2,_0x4fd6dd[_0x42996a]);if(_0x287a39<=0x0){_0x25b897=_0x42996a-0x1;break;}}if(!Cesium__namespace[_0x171e82(0x1692,0x1519)](_0x5687be['unpackInterpolationResult']))return{'position':_0x5687be['unpack'](_0x1062be,0x0,_0x3aff2a),'index':_0x25b897};return{'position':_0x5687be['unpackInterpolationResult'](_0x1062be,_0x1b4f60,_0x59a265,_0x106664,_0x3aff2a),'index':_0x25b897};}return{'position':_0x5687be['unpack'](_0x1b4f60,_0x25b897*_0xec1b4c[_0x171e82(0xa3b,0xa39)],_0x3aff2a),'index':_0x25b897};}const _0x10c02f={};_0x10c02f[_0x7afdbe(0x9aa,0x851)]=null,_0x10c02f['getTransFun']=getTransFun,_0x10c02f[_0x54a7f1(0xeee,0x788)]=getPositionValue,_0x10c02f[_0x7afdbe(-0x29,0xa83)]=getMaxHeight,_0x10c02f[_0x7afdbe(0x361,0x45b)]=getMinHeight,_0x10c02f[_0x7afdbe(0x5fe,0x7b0)]=addPositionsHeight,_0x10c02f[_0x54a7f1(0xde0,0x561)]=setPositionsHeight,_0x10c02f[_0x7afdbe(0x14f9,0x146e)]=getHeight,_0x10c02f['getSurfaceHeight']=getSurfaceHeight,_0x10c02f[_0x54a7f1(0x1351,0x16d4)]=getSurfaceTerrainHeight,_0x10c02f['getSurfacePosition']=getSurfacePosition,_0x10c02f['getCurrentMousePosition']=getCurrentMousePosition,_0x10c02f['getCurrentMouseTerrainPosition']=getCurrentMouseTerrainPosition,_0x10c02f['getMidpoint']=getMidpoint,_0x10c02f[_0x7afdbe(-0x53c,0x470)]=isRepeatPoint,_0x10c02f['getRotateCenterPoint']=getRotateCenterPoint,_0x10c02f['getOnLinePointByLen']=getOnLinePointByLen,_0x10c02f['getOnLinePointByRatio']=getOnLinePointByRatio,_0x10c02f['getPositionByHprAndOffset']=getPositionByHprAndOffset,_0x10c02f['getPositionByDirectionAndLen']=getPositionByDirectionAndLen,_0x10c02f[_0x54a7f1(0x1656,0x1caa)]=getPositionByHprAndLen,_0x10c02f[_0x54a7f1(0x139b,0xf3a)]=getRayEarthPosition,_0x10c02f['getRayEarthPositionByMatrix']=getRayEarthPositionByMatrix,_0x10c02f['extend2Earth']=extend2Earth,_0x10c02f['getHeadingPitchRollByOrientation']=getHeadingPitchRollByOrientation,_0x10c02f[_0x54a7f1(0x871,0x1159)]=getHeadingPitchRollByMatrix,_0x10c02f['getHeadingPitchRollForLine']=getHeadingPitchRollForLine,_0x10c02f[_0x7afdbe(0x732,0xf62)]=getReflectVector,_0x10c02f[_0x7afdbe(0x130c,0xf74)]=getPropertyIndex;var PointUtil=_0x10c02f;class SurfacePoints{constructor(_0x401650){const _0x58c4a8={_0x5ef4de:0x78c,_0x1dd9c9:0xc63,_0x4fe541:0x64b,_0x439eee:0x3e3,_0x18c9eb:0x4a6},_0x3d068e={_0x1eb84a:0x40a};this['options']=_0x401650,this[_0x4e664e(_0x58c4a8._0x5ef4de,_0x58c4a8._0x1dd9c9)]=_0x401650['map']?_0x401650['map'][_0x6b029f(0x354,0xc75)]:_0x401650['scene'];!this[_0x4e664e(_0x58c4a8._0x4fe541,0xc63)]&&logError(_0x6b029f(_0x58c4a8._0x439eee,0x346),this[_0x6b029f(0xd6a,_0x58c4a8._0x18c9eb)]);function _0x6b029f(_0x2b7372,_0x40d94f){return _0x54a7f1(_0x40d94f- -_0x3d068e._0x1eb84a,_0x2b7372);}function _0x4e664e(_0x4871ed,_0x1d2ccb){return _0x7afdbe(_0x4871ed,_0x1d2ccb- -0x64a);}this['positions']=LngLatArray['toCartesians'](this['options']['positions']);}async['start'](){const _0x9af05b={_0x4b6fff:0xf7a,_0x12b6c3:0x65a,_0x20d952:0xf7a,_0x468303:0x11b5,_0x542bf1:0xf0a,_0x5b681a:0xc74,_0x10e6db:0x513,_0x46f315:0x150c,_0xd9c41e:0x93c,_0x473be9:0x12c5,_0x461754:0x1167},_0x509ca2={_0x14aa19:0x285},_0x1ba220={_0x5312b9:0x175};if(this[_0x44862a(_0x9af05b._0x4b6fff,_0x9af05b._0x12b6c3)]==null||this[_0x44862a(_0x9af05b._0x20d952,0x626)]['length']===0x0){this[_0x52b5fe(_0x9af05b._0x468303,0x9a5)]();return;}this[_0x44862a(_0x9af05b._0x542bf1,_0x9af05b._0x5b681a)]['_terrainProviderPromise']&&await this[_0x44862a(0xf0a,0xcfa)][_0x44862a(_0x9af05b._0x10e6db,0x3d1)];const _0x55e292=this[_0x44862a(0x73b,0xd69)][_0x44862a(0x134f,0x1558)]??Cesium__namespace[_0x44862a(_0x9af05b._0x46f315,0x16a1)](pick3DTileset(this[_0x52b5fe(0xdfa,_0x9af05b._0xd9c41e)],this['positions'])),_0x217d66=!(this['scene']['terrainProvider']instanceof Cesium__namespace['EllipsoidTerrainProvider']);function _0x44862a(_0x5d6ea6,_0x591d88){return _0x54a7f1(_0x5d6ea6- -_0x1ba220._0x5312b9,_0x591d88);}this['_has3dtiles']=_0x55e292;function _0x52b5fe(_0x1e4108,_0x314762){return _0x54a7f1(_0x1e4108- -_0x509ca2._0x14aa19,_0x314762);}this['_hasTerrain']=_0x217d66;if(!_0x217d66&&!_0x55e292)return this[_0x44862a(_0x9af05b._0x473be9,_0x9af05b._0x461754)]();return this['options']['exact']?this['_startForExact']():this['_startForSketchy']();}async[_0x54a7f1(0xa62,0x624)](){const _0x572224={_0x561a26:0xe31,_0x748cc2:0x52c,_0xc663c1:0xc01,_0x25ce53:0x6e0,_0x764e81:0x748,_0x238e7c:0xdbf,_0x190bd0:0x175f,_0x3fd71a:0x6d3,_0x539cb6:0x718,_0x1507c7:0xc70,_0x482bb2:0x497,_0x399218:0xc4a},_0x3fc39a={_0x59289e:0x3fe};var _0x4d0e40;const _0xbc8e52=this['positions'];if(this['_has3dtiles']){const _0xa0839d=[];for(let _0x175c4f=0x0,_0x8afd9d=_0xbc8e52['length'];_0x175c4f<_0x8afd9d;++_0x175c4f){_0xa0839d['push'](_0xbc8e52[_0x175c4f]['clone']());}let _0x5871b5=await this[_0x49287b(0xf65,0xcfb)]['clampToHeightMostDetailed'](_0xa0839d,this[_0x49287b(_0x572224._0x561a26,_0x572224._0x748cc2)]['objectsToExclude']);for(let _0x3f261b=0x0;_0x3f261b<_0x5871b5['length'];++_0x3f261b){!_0x5871b5[_0x3f261b]&&(_0x5871b5[_0x3f261b]=this['positions'][_0x3f261b]);}if(_0x5871b5[_0x49287b(0x1464,_0x572224._0xc663c1)]>0x0)return this['options']['offset']&&(_0x5871b5=addPositionsHeight(_0x5871b5,this[_0x48f8e0(_0x572224._0x25ce53,-0x43)][_0x48f8e0(_0x572224._0x764e81,_0x572224._0x238e7c)])),this[_0x48f8e0(0x126a,0xcc0)](_0x5871b5);}function _0x49287b(_0x29468f,_0x4715f6){return _0x54a7f1(_0x4715f6- -0x384,_0x29468f);}if(this['_hasTerrain']&&(_0x4d0e40=this[_0x48f8e0(0xeaf,_0x572224._0x190bd0)]['terrainProvider'])!==null&&_0x4d0e40!==void 0x0&&_0x4d0e40[_0x48f8e0(0xfc5,_0x572224._0x3fd71a)]){const _0x294b71=this['scene']['globe'][_0x49287b(0x7d0,0x580)],_0x29bc4c=_0x294b71['cartesianArrayToCartographicArray'](_0xbc8e52),_0x4b5d79=Cesium__namespace[_0x49287b(0x6c7,0x54c)]['fromCartesian'](_0xbc8e52[0x0])['height'],_0x7c564f=this['options'][_0x48f8e0(0x748,0x882)]??0x0;let _0x2f397c=![];const _0x5c1376=await Cesium__namespace['sampleTerrainMostDetailed'](this['scene'][_0x48f8e0(_0x572224._0x539cb6,0xfe6)],_0x29bc4c);for(let _0x121a8c=0x0;_0x121a8c<_0x5c1376[_0x49287b(0x74a,0xc01)];++_0x121a8c){!_0x5c1376[_0x121a8c]&&(_0x5c1376[_0x121a8c]=this[_0x49287b(_0x572224._0x1507c7,0xd6b)][_0x121a8c]),_0x5c1376[_0x121a8c]['height']==null?(_0x2f397c=!![],_0x5c1376[_0x121a8c][_0x48f8e0(_0x572224._0x482bb2,_0x572224._0x399218)]=_0x7c564f+_0x4b5d79):_0x5c1376[_0x121a8c]['height']=_0x7c564f+_0x5c1376[_0x121a8c]['height'];}const _0x4805ed=_0x294b71['cartographicArrayToCartesianArray'](_0x5c1376);return this['getResult'](_0x4805ed,_0x2f397c);}function _0x48f8e0(_0x3acc00,_0x252cae){return _0x7afdbe(_0x252cae,_0x3acc00- -_0x3fc39a._0x59289e);}return this[_0x49287b(-0x609,0x168)]();}async[_0x7afdbe(0x69,0x71a)](){const _0x245fd8={_0x314ff0:0x1232,_0x2233b3:0x18c5},_0xe44895={_0x5a78a8:0x48c},_0x1d2bf3=[];for(let _0x486de6=0x0,_0x2830b6=this['positions']['length'];_0x486de6<_0x2830b6;++_0x486de6){const _0x5583a2=Cesium__namespace['Cartographic'][_0x429915(-0x14f,0x83c)](this['positions'][_0x486de6]);let _0x21b9d0;if(this['_has3dtiles']){const _0x38e957=this['scene']['sampleHeight'](_0x5583a2,this[_0x429915(0x424,0x1aa)]['objectsToExclude'],this['options']['width']);Cesium__namespace['defined'](_0x38e957)&&_0x38e957>-0x3e8&&(_0x21b9d0=_0x38e957);}if(!Cesium__namespace['defined'](_0x21b9d0)){const _0x32ec06=this['scene']['globe'][_0x5aa0f5(0x1880,_0x245fd8._0x314ff0)](_0x5583a2);Cesium__namespace[_0x429915(0x11f5,_0x245fd8._0x2233b3)](_0x32ec06)&&_0x32ec06>-0x3e8&&(_0x21b9d0=_0x32ec06);}_0x1d2bf3[_0x5aa0f5(0xb9d,0xefa)](Cesium__namespace['Cartesian3']['fromRadians'](_0x5583a2['longitude'],_0x5583a2['latitude'],_0x21b9d0??_0x5583a2['height']));}function _0x5aa0f5(_0x4e7b50,_0x411fc6){return _0x7afdbe(_0x4e7b50,_0x411fc6- -0x23c);}function _0x429915(_0x1d6390,_0x229a1e){return _0x54a7f1(_0x1d6390- -_0xe44895._0x5a78a8,_0x229a1e);}return this['getResult'](_0x1d2bf3);}[_0x7afdbe(0xbe1,0x1668)](_0x4fcc4a,_0x3d3538){const _0x953911={_0x306416:0x140a,_0x5bdd9a:0x18f4,_0x11c53a:0x6e3,_0x14d2b8:0x10f},_0x110c9e={_0xd0fc3d:0x16d};this[_0xaacbaf(0x971,0x7ba)][_0x54e434(_0x953911._0x306416,_0x953911._0x5bdd9a)]&&this[_0xaacbaf(0x971,0x11f9)]['callback'](_0x4fcc4a,_0x3d3538,this['positions']);const _0x21dc0e={};_0x21dc0e['positions']=_0x4fcc4a||this['positions'],_0x21dc0e['positions_original']=this['positions'],_0x21dc0e['noHeight']=_0x3d3538;function _0xaacbaf(_0x4cd431,_0x345de6){return _0x7afdbe(_0x345de6,_0x4cd431- -_0x110c9e._0xd0fc3d);}function _0x54e434(_0x5af606,_0x392e29){return _0x7afdbe(_0x392e29,_0x5af606- -0x1);}return _0x21dc0e['has3dtiles']=this['_has3dtiles'],_0x21dc0e['hasTerrain']=this[_0xaacbaf(_0x953911._0x11c53a,_0x953911._0x14d2b8)],_0x21dc0e;}}function area(_0x29718d){try{return turf__namespace['area'](_0x29718d);}catch(_0x4b9c5d){return 0x0;}}function bbox(_0x51a73f){const _0x3e1eb2={_0x3f3012:0x11df},_0x8e7778={_0x4be9bf:0x3bd};function _0xf34eda(_0x476c48,_0x20a426){return _0x7afdbe(_0x20a426,_0x476c48- -_0x8e7778._0x4be9bf);}return turf__namespace[_0xf34eda(_0x3e1eb2._0x3f3012,0x12ac)](_0x51a73f);}function bezierSpline(_0x505448,_0x5ce3db){try{return turf__namespace['bezierSpline'](_0x505448,_0x5ce3db);}catch(_0x2a1103){return _0x505448;}}function buffer$1(_0x43ed0d,_0x349153,_0x118b0a){try{return turf__namespace['buffer'](_0x43ed0d,_0x349153,_0x118b0a);}catch(_0x53d838){return _0x43ed0d;}}function convex$1(_0x4f0b8c,_0x32db5c){try{return turf__namespace['convex'](_0x4f0b8c,_0x32db5c);}catch(_0xec0049){return _0x4f0b8c;}}function pointGrid(_0x5d457c,_0xf1f45d,_0x3b10b3){try{return turf__namespace['pointGrid'](_0x5d457c,_0xf1f45d,_0x3b10b3);}catch(_0x21e831){const _0x4427d6={};return _0x4427d6['features']=[],_0x4427d6;}}function simplify(_0x2dd2e1,_0x2c2ba2){const _0x5f2715={_0x1fb35f:0x4f1},_0x546b5a={_0xe2a5e8:0x396};function _0x54e55c(_0x4fcada,_0x46de7b){return _0x7afdbe(_0x46de7b,_0x4fcada- -_0x546b5a._0xe2a5e8);}try{const _0x5c0710={};_0x5c0710['type']=_0x54e55c(_0x5f2715._0x1fb35f,-0x380),_0x5c0710['coordinates']=[_0x2dd2e1];const _0x43df62={'tolerance':0.0001,'highQuality':!![],'mutate':!![],..._0x2c2ba2},_0x334d8d=turf__namespace['simplify'](_0x5c0710,_0x43df62);return _0x334d8d['coordinates'][0x0];}catch(_0x79971){return _0x2dd2e1;}}const pickTilesetPassState=new Cesium__namespace[(_0x54a7f1(0x1272,0x1a06))]({'pass':Cesium__namespace[_0x54a7f1(0xab5,0x590)]['PICK']}),packedDepthScale=new Cesium__namespace['Cartesian4'](0x1,0x1/0xff,0x1/0xfe01,0x1/0xfd02ff),scratchRectangle=new Cesium__namespace['BoundingRectangle'](0x0,0x0,0x3,0x3),scratchColorZero=new Cesium__namespace['Color'](0x0,0x0,0x0,0x0),scratchRight=new Cesium__namespace['Cartesian3'](),scratchUp=new Cesium__namespace[(_0x7afdbe(0x1d70,0x1515))](),scratchPackedDepthArray=[];function interPolygonByDepth$1(_0x4f93d7){const _0x214494={_0xdc9087:0x453,_0x128f78:0xccc,_0x3d2843:0xf55,_0x3451de:0x466,_0x2e026c:0x981,_0x16caf9:0x40,_0x289359:0x5f1,_0x55515e:0x1017,_0x206ee3:0x351,_0x59af44:0x10c3,_0xf64d3c:0xff6,_0x43192:0xf8a,_0x4b3edf:0xb61,_0x13d33b:0x15c,_0x375916:0x79,_0x33e69f:0x433,_0x3c5a5f:0x404,_0x2e3a73:0x665,_0xaa82d8:0xe9f,_0x2f8a85:0x428,_0x4d0dd7:0xab3,_0x16dc19:0x1336,_0x2b6c3b:0x1336,_0x4d3ef2:0x800,_0x1d3361:0xcc7,_0xc29e24:0x698,_0x4aa225:0xc7c,_0xad18e:0x1ec,_0x27e617:0x354,_0x5679e4:0xee5,_0x5d9d7b:0x10ee,_0x8550f5:0x133d,_0x1da0b6:0x1bdf,_0x711997:0x15a6,_0x2107f0:0xf32,_0x4de7a8:0x1127,_0x5e22a8:0x469,_0x50ac3a:0x10b8},_0xb7f0eb={_0x2bd6b9:0x14c,_0x3cef95:0xa17,_0x5dcbcb:0xbd7},_0xf196e6={_0x203038:0x91a},_0x37e3ab={_0x5564c4:0x366},_0xc1a14a={_0x277275:0x651},_0x352993=_0x4f93d7[_0xfa0a7(0xc5c,_0x214494._0xdc9087)],_0x47bd04=LngLatArray['toCartesians'](_0x4f93d7[_0xfa0a7(_0x214494._0x128f78,_0x214494._0x3d2843)]),_0x3eb571=_0x352993[_0xfa0a7(-0x1a4,-_0x214494._0x3451de)][_0xfa0a7(0x40,-_0x214494._0x2e026c)];_0x352993[_0x4600d4(0x370,0x2ce)][_0xfa0a7(_0x214494._0x16caf9,0xac2)]=!![];const _0x253179=_0x4f93d7[_0xfa0a7(_0x214494._0x289359,_0x214494._0x55515e)]??_0x352993[_0xfa0a7(0x138,-_0x214494._0x206ee3)]['positionCartographic']['height'],{ray:_0x5b0614,frustumWidth:_0x368c2c,frustumHeight:_0x605026,cameraUp:_0xaf560e}=getCameraInforForPoints(_0x47bd04,_0x253179),_0x47411e=Number(_0x4f93d7[_0x4600d4(0x4d9,0xb8b)]??0x200),_0x238b18=_0x368c2c/_0x47411e,_0x2e2d70=_0x605026/_0x47411e;function _0xfa0a7(_0x1190a0,_0x438a86){return _0x7afdbe(_0x438a86,_0x1190a0- -_0xc1a14a._0x277275);}const _0x4ec202=new Cesium__namespace[(_0x4600d4(0x901,_0x214494._0x59af44))](_0x352993);function _0x4600d4(_0x5c3e18,_0x4668ca){return _0x7afdbe(_0x5c3e18,_0x4668ca- -0x1df);}const _0x5d88d2=_0x4ec202[_0xfa0a7(-0x66,-0x35d)],_0x2deeb5=new Cesium__namespace[(_0x4600d4(_0x214494._0xf64d3c,0x86c))](0x0,0x0,_0x47411e,_0x47411e);_0x5d88d2['viewport']=_0x2deeb5,_0x5d88d2['passState']['viewport']=_0x2deeb5,_0x352993[_0x4600d4(_0x214494._0x43192,0x1206)]=_0x5d88d2,updateOffscreenCamera(_0x5b0614[_0xfa0a7(0x329,0xd83)],_0x5b0614[_0x4600d4(0x142c,0xc75)],_0xaf560e,_0x368c2c,_0x605026,_0x5d88d2[_0x4600d4(-0x17c,0x5aa)]),Cesium__namespace[_0xfa0a7(0x3fa,0x15d)]['clone'](_0x5d88d2[_0x4600d4(_0x214494._0x4b3edf,0x103a)],scratchRectangle);const _0x4bbd70=_0x5d88d2['pickFramebuffer'][_0x4600d4(0x110e,0x149e)](scratchRectangle,_0x5d88d2['viewport']);_0x352993[_0x4600d4(0x910,0xc09)]['disableThisFrame'](),_0x352993['updateFrameState'](),_0x352993[_0xfa0a7(0x15c,-0x838)]['invertClassification']=![],_0x352993['frameState']['passes'][_0x4600d4(0xdd9,0x7a8)]=!![],_0x352993['frameState']['passes'][_0xfa0a7(0xb31,0x1308)]=!![],_0x352993[_0xfa0a7(_0x214494._0x13d33b,_0x214494._0x375916)]['tilesetPassState']=pickTilesetPassState,_0x352993['context'][_0xfa0a7(_0x214494._0x33e69f,_0x214494._0x3c5a5f)]['update'](_0x352993['frameState']),_0x352993['updateEnvironment'](),_0x352993[_0xfa0a7(0xbe5,0xfa7)](_0x4bbd70,scratchColorZero),_0x352993['resolveFramebuffers'](_0x4bbd70);const _0x554455=[];if(_0x352993[_0xfa0a7(_0x214494._0x2e3a73,0xa37)]['depthTexture']){const _0x14fdbf=_0x5d88d2[_0x4600d4(0x1359,_0x214494._0xaa82d8)]['length'],_0x59c932=new Cesium__namespace['Cartesian3']();for(let _0x38d55c=0x0;_0x38d55c<_0x14fdbf;++_0x38d55c){const _0x40d151=_0x4ec202[_0xfa0a7(_0x214494._0x2f8a85,0x8e7)](_0x352993,_0x38d55c),_0x2b99bf=getDepth(_0x352993[_0xfa0a7(_0x214494._0x2e3a73,0x294)],0x0,0x0,_0x47411e,_0x47411e,_0x40d151);for(let _0x165a6f=0x0;_0x165a6f<_0x2b99bf['length'];_0x165a6f++){const _0x14108e=_0x2b99bf[_0x165a6f];if(_0x14108e>0x0&&_0x14108e<0x1){const _0x3f469e=_0x5d88d2[_0xfa0a7(0xa2d,0x9e4)][_0x38d55c],_0x6aac0b=_0x3f469e['near']*(_0x165a6f!==0x0?_0x352993['opaqueFrustumNearOffset']:0x1),{far:_0x44e34c}=_0x3f469e,_0x244add=_0x6aac0b+_0x14108e*(_0x44e34c-_0x6aac0b),_0x34a265=Math['floor'](_0x165a6f/_0x47411e),_0x244332=_0x165a6f%_0x47411e,_0x14866f=(_0x34a265-_0x47411e/0x2)*_0x605026/_0x47411e,_0x1c4c12=(_0x244332-_0x47411e/0x2)*_0x368c2c/_0x47411e,_0x2baf6e=new Cesium__namespace['Cartesian3']();Cesium__namespace[_0x4600d4(_0x214494._0x4d0dd7,_0x214494._0x16dc19)]['multiplyByScalar'](_0xaf560e,_0x14866f,_0x59c932),Cesium__namespace[_0x4600d4(0xe85,_0x214494._0x2b6c3b)][_0x4600d4(_0x214494._0x4d3ef2,0x6df)](_0x59c932,_0x5d88d2[_0xfa0a7(0x138,0x4af)]['position'],_0x2baf6e),Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x5d88d2[_0xfa0a7(0x138,-0x229)][_0x4600d4(_0x214494._0x1d3361,_0x214494._0xc29e24)],_0x1c4c12,_0x59c932),Cesium__namespace[_0x4600d4(0xcb6,0x1336)]['add'](_0x59c932,_0x2baf6e,_0x2baf6e);const _0x1b6558=Cesium__namespace['Ray']['clone'](_0x5b0614);_0x1b6558['origin']=_0x2baf6e;const _0x2c9258=Cesium__namespace['Ray']['getPoint'](_0x1b6558,_0x244add);!_0x554455[_0x165a6f]&&(_0x554455[_0x165a6f]=_0x2c9258);}}}}const _0x2b9f43=[];let _0x251cca=Number['MAX_VALUE'],_0x4569a3=-Number[_0xfa0a7(_0x214494._0x4aa225,0x73c)];const _0x5a61f2=_0x47bd04[_0x4600d4(_0x214494._0xad18e,0xa86)](_0x5e6ead=>{const _0x3a5a5a=Cesium__namespace['Cartographic']['fromCartesian'](_0x5e6ead);function _0x4bff33(_0x3039d5,_0x30445a){return _0xfa0a7(_0x3039d5-_0x37e3ab._0x5564c4,_0x30445a);}return[_0x3a5a5a['longitude'],_0x3a5a5a[_0x4bff33(_0xf196e6._0x203038,0xbb3)]];});_0x554455['forEach'](_0x3d3622=>{const _0x5116df=Cesium__namespace['Cartographic']['fromCartesian'](_0x3d3622);function _0x26133c(_0x884d69,_0x8e2671){return _0xfa0a7(_0x8e2671-0xf2,_0x884d69);}function _0x33ab80(_0x47732a,_0x558293){return _0x4600d4(_0x47732a,_0x558293- -0x2d9);}if(_0x5116df&&pointInPolygonNested([_0x5116df[_0x33ab80(_0xb7f0eb._0x2bd6b9,0x41e)],_0x5116df['latitude']],_0x5a61f2)){const _0x562f68=_0x5116df[_0x33ab80(0xafc,0x3dd)];_0x4569a3<_0x562f68&&(_0x4569a3=_0x562f68),_0x251cca>_0x562f68&&(_0x251cca=_0x562f68),_0x3d3622['height']=_0x562f68,_0x3d3622['getOutline']=function(){return getBoxOutLine(this,_0x238b18,_0x2e2d70,_0xaf560e);},_0x2b9f43[_0x26133c(_0xb7f0eb._0x3cef95,_0xb7f0eb._0x5dcbcb)](_0x3d3622);}}),_0x352993['globe'][_0x4600d4(0xf5,0x4b2)]=_0x3eb571,_0x352993['view']=_0x352993[_0xfa0a7(_0x214494._0x27e617,-0xf7)],_0x352993['context'][_0x4600d4(0x126,0x353)](),_0x4ec202['destroy']();_0x251cca===Number[_0x4600d4(_0x214494._0x5679e4,_0x214494._0x5d9d7b)]&&(_0x251cca=0x0);_0x4569a3===-Number[_0xfa0a7(0xc7c,_0x214494._0x8550f5)]&&(_0x4569a3=0x270f);const _0x58d321=_0x238b18*_0x2e2d70,_0x9b7ef3={};_0x9b7ef3[_0x4600d4(_0x214494._0x1da0b6,_0x214494._0x711997)]=_0x238b18,_0x9b7ef3['height']=_0x2e2d70,_0x9b7ef3['area']=_0x58d321;const _0xadd502={};return _0xadd502['positions']=_0x2b9f43,_0xadd502['count']=_0x2b9f43[_0x4600d4(_0x214494._0x2107f0,0xfd4)],_0xadd502[_0x4600d4(_0x214494._0x4de7a8,0xf6a)]=_0x251cca,_0xadd502['maxHeight']=_0x4569a3,_0xadd502[_0x4600d4(0xb28,_0x214494._0x5e22a8)]=_0x9b7ef3,_0xadd502['totalArea']=_0x58d321*_0x2b9f43[_0xfa0a7(0xb62,_0x214494._0x50ac3a)],_0xadd502;}function interPolylineByDepth$1(_0x2d3d05){const _0x38b4b7={_0x58faa0:0x1f3,_0x2e57bc:0x5,_0x431d46:0xf,_0x2946c7:0x3e4,_0x458302:0x15e,_0x4523b0:0x96,_0x485558:0xfd5,_0x7b18b5:0x826,_0x1d8cd5:0x45e,_0x4abcb9:0x8fc,_0x1a0407:0x135,_0x42b10c:0xdb2,_0x5338f9:0x176,_0x10e8df:0x8,_0x23e09a:0xc6c,_0x5cc367:0x6ca,_0x764336:0x12a6,_0x5c3c24:0xfb1,_0x1dddd6:0xecc,_0x20d025:0x17d,_0x497164:0xb79,_0x2ef1fa:0xdb9,_0x5a0136:0x7b4,_0x10cd78:0x3ab,_0x5b69d4:0xaa7,_0x829151:0xdb1,_0x2dafce:0x13c9,_0x4d7aca:0xca6,_0x388d36:0x7c7,_0x1e2410:0xdb0,_0x3975c6:0xe08,_0x7d42b2:0x89e,_0x18f6dc:0x21d,_0x224106:0x60f,_0x53ae44:0x598,_0x1fa840:0x419,_0x247401:0x613,_0x357efe:0x3af,_0xd52a80:0x324,_0x15f0bf:0xb40,_0x59a926:0x1447,_0x46a378:0x141,_0x456b2a:0xfa2,_0xa515dc:0x6c5,_0x83a6ec:0x1b7,_0xb9893d:0x553,_0x2153e0:0xc7d,_0x56e420:0xb96,_0x397b69:0x374,_0x500833:0x423,_0xfc3770:0xdaa},_0x5e69ae=_0x2d3d05['scene'],_0x2c08c2=LngLatArray[_0x2ac9df(0xbde,0x4da)](_0x2d3d05[_0x223475(0xc7d,0xcac)]),_0x309f3f=_0x5e69ae[_0x223475(-_0x38b4b7._0x58faa0,-_0x38b4b7._0x2e57bc)][_0x223475(-_0x38b4b7._0x431d46,0x2f8)];_0x5e69ae[_0x223475(-0x1f3,-0x52f)][_0x223475(-0xf,-0x33a)]=!![];const _0x2974c4=Cesium__namespace[_0x223475(0x120f,0xc01)](_0x5e69ae['globe'])?_0x5e69ae['globe'][_0x223475(0x492,-0x103)]:_0x5e69ae['mapProjection']['ellipsoid'],_0xe45bae=_0x5e69ae['context'],_0x33d200=_0xe45bae[_0x223475(_0x38b4b7._0x2946c7,_0x38b4b7._0x458302)],_0x129fe0=_0x5e69ae[_0x2ac9df(_0x38b4b7._0x4523b0,0x23a)],_0x546a12=_0x2d3d05['cameraHeight']??_0x5e69ae['camera']['positionCartographic']['height'],_0x449b37=new Cesium__namespace[(_0x2ac9df(_0x38b4b7._0x485558,0xd2f))](_0x5e69ae),_0x27cbeb=_0x449b37[_0x2ac9df(-_0x38b4b7._0x7b18b5,0x78)],_0x5e98be=0.1;let _0x2c7866=[];const _0x5eff08=[];for(let _0x2ef404=0x0,_0x3b2886=_0x2c08c2['length']-0x1;_0x2ef404<_0x3b2886;_0x2ef404++){const _0xd6c420=_0x2c08c2[_0x2ef404],_0x1d84d=_0x2c08c2[_0x2ef404+0x1],_0xa858a5=Cesium__namespace[_0x223475(_0x38b4b7._0x1d8cd5,_0x38b4b7._0x4abcb9)][_0x223475(-_0x38b4b7._0x1a0407,-0x6e2)](_0xd6c420),_0x33a1b5=Cesium__namespace[_0x2ac9df(_0x38b4b7._0x42b10c,0x58b)][_0x2ac9df(_0x38b4b7._0x5338f9,-_0x38b4b7._0x10e8df)](_0x1d84d),_0x5599f4=Cesium__namespace['Cartesian3'][_0x2ac9df(0x1711,0x1023)](_0xa858a5[_0x223475(0x236,-0x40c)],_0xa858a5['latitude']),_0x2a0069=Cesium__namespace['Cartesian3']['fromRadians'](_0x33a1b5['longitude'],_0x33a1b5['latitude']),_0x25c5c0=Cesium__namespace['Cartesian3'][_0x2ac9df(_0x38b4b7._0x23e09a,0xf4c)](_0x5599f4,_0x2a0069);let _0x50e2cd=0x64;Cesium__namespace['defined'](_0x2d3d05[_0x223475(0x6ca,0xc86)])&&(_0x50e2cd=Number(_0x2d3d05[_0x223475(_0x38b4b7._0x5cc367,-0x197)]));Cesium__namespace[_0x2ac9df(0x16ca,0x133c)](_0x2d3d05['minDistance'])&&(_0x50e2cd=Math['floor'](_0x25c5c0/_0x2d3d05['minDistance']));_0x50e2cd>Cesium__namespace['ContextLimits']['maximumTextureSize']&&(_0x50e2cd=Cesium__namespace[_0x2ac9df(0x7f0,_0x38b4b7._0x764336)]['maximumTextureSize']);const _0x466955=new Cesium__namespace[(_0x2ac9df(_0x38b4b7._0x5c3c24,0x6d9))](),_0x2dbf95=Cesium__namespace[_0x2ac9df(0xb5f,0xfa2)]['lerp'](_0x5599f4,_0x2a0069,0.5,new Cesium__namespace['Cartesian3']()),_0x459e4c=Cesium__namespace['Cartographic'][_0x223475(-0x135,0x58a)](_0x2dbf95),_0x9edaa=_0x2974c4[_0x223475(0x949,_0x38b4b7._0x1dddd6)](_0x459e4c,new Cesium__namespace['Cartesian3']());Cesium__namespace['Cartesian3']['negate'](_0x9edaa,_0x466955[_0x223475(0x7b4,0x71e)]),_0x466955['origin']=Cesium__namespace['Cartesian3']['fromRadians'](_0x459e4c['longitude'],_0x459e4c[_0x2ac9df(_0x38b4b7._0x20d025,0x692)],_0x546a12);const _0x47c265=Cesium__namespace['Cartesian3']['subtract'](_0x2a0069,_0x5599f4,scratchUp);Cesium__namespace['Cartesian3']['normalize'](_0x47c265,_0x47c265);const _0x430572=_0x25c5c0,_0x373f09=new Cesium__namespace['BoundingRectangle'](0x0,0x0,0x1,_0x50e2cd);_0x27cbeb['viewport']=_0x373f09,_0x27cbeb['passState'][_0x223475(_0x38b4b7._0x497164,_0x38b4b7._0x2ef1fa)]=_0x373f09,_0x5e69ae['view']=_0x27cbeb,updateOffscreenCamera(_0x466955['origin'],_0x466955[_0x223475(_0x38b4b7._0x5a0136,0x1147)],_0x47c265,_0x5e98be,_0x430572,_0x27cbeb['camera']),Cesium__namespace[_0x223475(_0x38b4b7._0x10cd78,_0x38b4b7._0x5b69d4)][_0x2ac9df(_0x38b4b7._0x829151,0x4aa)](_0x27cbeb[_0x2ac9df(_0x38b4b7._0x2dafce,_0x38b4b7._0x4d7aca)],scratchRectangle);const _0x3c9d80=_0x27cbeb[_0x223475(0x3df,_0x38b4b7._0x388d36)]['begin'](scratchRectangle,_0x27cbeb['viewport']);_0x5e69ae[_0x223475(0x748,_0x38b4b7._0x1e2410)]['disableThisFrame'](),_0x5e69ae['updateFrameState'](),_0x129fe0[_0x2ac9df(0x9b3,0xe40)]=![],_0x129fe0[_0x2ac9df(_0x38b4b7._0x3975c6,0x9cb)]['pick']=!![],_0x129fe0[_0x223475(_0x38b4b7._0x7d42b2,_0x38b4b7._0x18f6dc)][_0x2ac9df(_0x38b4b7._0x224106,0xc0f)]=!![],_0x129fe0[_0x2ac9df(0xf07,_0x38b4b7._0x53ae44)]=pickTilesetPassState,_0x33d200[_0x223475(0x4cd,-_0x38b4b7._0x1fa840)](_0x129fe0),_0x5e69ae[_0x223475(_0x38b4b7._0x247401,-_0x38b4b7._0x357efe)](),_0x5e69ae['updateAndExecuteCommands'](_0x3c9d80,scratchColorZero),_0x5e69ae['resolveFramebuffers'](_0x3c9d80);const _0x483508=[];if(_0x5e69ae['context']['depthTexture']){const _0x46924e=_0x27cbeb[_0x2ac9df(_0x38b4b7._0xd52a80,0xb0b)]['length'],_0x32d348=new Cesium__namespace['Cartesian3']();for(let _0x4d8961=0x0;_0x4d8961<_0x46924e;++_0x4d8961){const _0x5c25fb=_0x449b37[_0x2ac9df(-0x2d0,0x506)](_0x5e69ae,_0x4d8961),_0x1f35dd=getDepth(_0xe45bae,0x0,0x0,0x1,_0x50e2cd,_0x5c25fb);for(let _0x5e61a9=0x0,_0x37c6d0=_0x1f35dd['length'];_0x5e61a9<_0x37c6d0;_0x5e61a9++){const _0xe4c15c=_0x1f35dd[_0x5e61a9];if(_0xe4c15c>0x0&&_0xe4c15c<0x1){const _0x2d9ac4=_0x27cbeb['frustumCommandsList'][_0x4d8961],_0x1dd00c=_0x2d9ac4['near']*(_0x5e61a9!==0x0?_0x5e69ae[_0x223475(0x87c,_0x38b4b7._0x15f0bf)]:0x1),_0x44c629=_0x2d9ac4[_0x2ac9df(0x16a8,_0x38b4b7._0x59a926)],_0x3f7a14=_0x1dd00c+_0xe4c15c*(_0x44c629-_0x1dd00c);if(_0x37c6d0>0x1){const _0x5d64db=(_0x5e61a9/(_0x1f35dd['length']-0x1)-0.5)*_0x430572;Cesium__namespace[_0x2ac9df(0x12d9,0xfa2)][_0x2ac9df(0x667,_0x38b4b7._0x46a378)](_0x47c265,_0x5d64db,_0x32d348);}const _0x471bf1=Cesium__namespace['Ray']['clone'](_0x466955);Cesium__namespace[_0x2ac9df(0x1432,_0x38b4b7._0x456b2a)][_0x2ac9df(_0x38b4b7._0xa515dc,0x34b)](_0x471bf1['origin'],_0x32d348,_0x471bf1['origin']);const _0x2c45c9=Cesium__namespace['Ray']['getPoint'](_0x471bf1,_0x3f7a14);!_0x483508[_0x5e61a9]&&(_0x483508[_0x5e61a9]=_0x2c45c9);}}}}_0x5e69ae['view']=_0x5e69ae['defaultView'],_0xe45bae['endFrame']();const _0x3abaa2=[];for(let _0xa0f867=0x0,_0x506da4=_0x483508[_0x2ac9df(_0x38b4b7._0x83a6ec,0xc40)];_0xa0f867<_0x506da4;_0xa0f867++){const _0x43c549=_0x483508[_0xa0f867];Cesium__namespace['defined'](_0x43c549)&&_0x3abaa2[_0x223475(0xa96,0xf4a)](_0x43c549);}_0x2c7866=_0x2c7866[_0x223475(_0x38b4b7._0xb9893d,0x7ce)](_0x3abaa2);const _0x25b482={};_0x25b482['distance']=_0x25c5c0,_0x25b482[_0x223475(_0x38b4b7._0x2153e0,_0x38b4b7._0x56e420)]=_0x3abaa2,_0x5eff08['push'](_0x25b482);}_0x5e69ae[_0x223475(-0x1f3,-_0x38b4b7._0x397b69)]['depthTestAgainstTerrain']=_0x309f3f,_0x449b37['destroy']();function _0x2ac9df(_0x42b285,_0x19eb59){return _0x54a7f1(_0x19eb59- -0x345,_0x42b285);}const _0x39e5f7={};function _0x223475(_0x3c311b,_0x262319){return _0x54a7f1(_0x3c311b- -0x472,_0x262319);}return _0x39e5f7[_0x2ac9df(_0x38b4b7._0x500833,_0x38b4b7._0xfc3770)]=_0x2c7866,_0x39e5f7['list']=_0x5eff08,_0x39e5f7;}function getDepth(_0x1d8bc6,_0x34b5b8,_0x575f15,_0x1b8dd4,_0x1b607b,_0x3a3cc8){const _0x437aed={_0x2373ea:0x12a6,_0x17a2ad:0x995},_0x37dffe={_0x2657e2:0xbd},_0x3552cf={};_0x3552cf['x']=_0x34b5b8,_0x3552cf['y']=_0x575f15;function _0x459321(_0x3c2804,_0x4e4fd3){return _0x54a7f1(_0x3c2804- -_0x37dffe._0x2657e2,_0x4e4fd3);}_0x3552cf['width']=_0x1b8dd4,_0x3552cf['height']=_0x1b607b,_0x3552cf['framebuffer']=_0x3a3cc8[_0x1bb33e(0x176d,_0x437aed._0x2373ea)];const _0x1d773a=_0x1d8bc6['readPixels'](_0x3552cf),_0x3a97e3=Cesium__namespace['Cartesian4']['unpackArray'](_0x1d773a,scratchPackedDepthArray),_0x2a216b=[];for(let _0x319af2=0x0;_0x319af2<_0x3a97e3['length'];++_0x319af2){const _0x112daa=_0x3a97e3[_0x319af2];Cesium__namespace['Cartesian4'][_0x1bb33e(-0x240,0x68f)](_0x112daa,0xff,_0x112daa);const _0x3333dc=Cesium__namespace[_0x1bb33e(0x17d,_0x437aed._0x17a2ad)]['dot'](_0x112daa,packedDepthScale);_0x2a216b['push'](_0x3333dc);}function _0x1bb33e(_0x42ddd1,_0x1f64d2){return _0x54a7f1(_0x1f64d2-0x239,_0x42ddd1);}return _0x2a216b;}function updateOffscreenCamera(_0x1cb7da,_0x128a8d,_0x4e5dc3,_0x1712dd,_0x564fa1,_0x34c969){const _0x240fbb={_0x2cbc98:0x1977,_0x420989:0x4ed,_0x1cea27:0x13c0,_0x3bba2b:0xc4a,_0x4b83cb:0x196f,_0x26ca4f:0x549},_0x14d20d=Cesium__namespace['Cartesian3'][_0x3ffddf(0x160a,_0x240fbb._0x2cbc98)](_0x128a8d,_0x4e5dc3,scratchRight);function _0xed844e(_0x35161e,_0x1bdc9c){return _0x54a7f1(_0x35161e- -0x197,_0x1bdc9c);}_0x34c969['position']=_0x1cb7da,_0x34c969[_0x3ffddf(0xaca,0x6ca)]=_0x128a8d,_0x34c969['up']=_0x4e5dc3,_0x34c969[_0x3ffddf(_0x240fbb._0x420989,-0x25)]=_0x14d20d;function _0x3ffddf(_0x13a400,_0x4c9c10){return _0x54a7f1(_0x13a400- -0x15c,_0x4c9c10);}return _0x34c969['frustum'][_0xed844e(_0x240fbb._0x1cea27,_0x240fbb._0x3bba2b)]=_0x1712dd,_0x34c969['frustum']['aspectRatio']=_0x1712dd/_0x564fa1,_0x34c969[_0x3ffddf(0xee9,_0x240fbb._0x4b83cb)]['computeCullingVolume'](_0x34c969[_0xed844e(0xbbb,_0x240fbb._0x26ca4f)],_0x34c969['directionWC'],_0x34c969['upWC']);}function getCameraInforForPoints(_0x3d17e9,_0x3dc552){const _0x5688b4={_0x1626f4:0x1be,_0x46814e:0x46f,_0x1fab6d:0x1206,_0xf0e9f2:0x199f,_0x4ab8ea:0x2f6,_0x2ec19c:0x1493,_0x5d1983:0x86a,_0x54b5aa:0x559,_0x41476a:0x860,_0x53b04d:0x1778,_0x2cc05e:0x1770,_0x1cd554:0xe3d,_0x58519e:0x614,_0x1df86e:0x1389},_0x619dd5=Cesium__namespace[_0x571bb6(-_0x5688b4._0x1626f4,_0x5688b4._0x46814e)]['fromCartesianArray'](_0x3d17e9),_0x5d3ad0=Cesium__namespace['Rectangle']['center'](_0x619dd5),_0x1522fc=Cesium__namespace[_0x1319ee(_0x5688b4._0x1fab6d,0x19d5)][_0x1319ee(0x1287,_0x5688b4._0xf0e9f2)](_0x5d3ad0[_0x1319ee(0x5c7,-_0x5688b4._0x4ab8ea)],_0x5d3ad0['latitude'],_0x3dc552),_0x53e296=Cesium__namespace['Ellipsoid']['WGS84'][_0x1319ee(0x9e7,0x4e4)](_0x1522fc);Cesium__namespace[_0x1319ee(0x1206,_0x5688b4._0x2ec19c)][_0x571bb6(0xbbf,0x3fc)](_0x53e296,-0x1,_0x53e296);const _0x252592=Cesium__namespace[_0x1319ee(0x1206,0xd36)]['fromRadians'](_0x5d3ad0['longitude'],_0x5d3ad0['latitude']+_0x619dd5['height']/0x2,_0x3dc552),_0x318b79=Cesium__namespace[_0x1319ee(0x1206,_0x5688b4._0x5d1983)]['subtract'](_0x252592,_0x1522fc,new Cesium__namespace['Cartesian3']()),_0xe1463a=new Cesium__namespace['Ray'](_0x1522fc,_0x53e296),_0x5ce903=Cesium__namespace[_0x571bb6(-_0x5688b4._0x54b5aa,0x46f)]['southwest'](_0x619dd5),_0x5f202d=Cesium__namespace[_0x571bb6(0x924,0x46f)]['southeast'](_0x619dd5),_0x471a90=Cesium__namespace['Rectangle'][_0x1319ee(0x8ce,0x1044)](_0x619dd5),_0x2469a6=Cesium__namespace['Cartographic'][_0x571bb6(-0x5,0xa7a)](_0x5ce903),_0x29c925=Cesium__namespace[_0x571bb6(_0x5688b4._0x41476a,0x846)]['toCartesian'](_0x5f202d),_0x1a3316=Cesium__namespace['Cartographic']['toCartesian'](_0x471a90),_0x3b73ba=Cesium__namespace['Cartesian3']['distance'](_0x2469a6,_0x29c925),_0x414cab=Cesium__namespace[_0x1319ee(0x1206,_0x5688b4._0x53b04d)][_0x1319ee(0x11b0,_0x5688b4._0x2cc05e)](_0x2469a6,_0x1a3316),_0x29f0ee={};function _0x571bb6(_0x3b2a09,_0x5f46c6){return _0x54a7f1(_0x5f46c6- -0x8a,_0x3b2a09);}function _0x1319ee(_0x36c948,_0x57d620){return _0x7afdbe(_0x57d620,_0x36c948- -0x30f);}return _0x29f0ee['ray']=_0xe1463a,_0x29f0ee[_0x1319ee(_0x5688b4._0x1cd554,_0x5688b4._0x58519e)]=_0x3b73ba,_0x29f0ee['frustumHeight']=_0x414cab,_0x29f0ee[_0x571bb6(_0x5688b4._0x1df86e,0xce9)]=_0x318b79,_0x29f0ee;}function pointInPolygonNested(_0x51fdb5,_0x454dd4){const _0x19ac0d={_0x544bd3:0x1157},_0x556c9d=_0x51fdb5[0x0],_0x2a004d=_0x51fdb5[0x1];let _0x498a13=![];const _0x595177=_0x454dd4[_0x1bc36d(0xb87,_0x19ac0d._0x544bd3)];for(let _0x381f1d=0x0,_0xcd24c0=_0x595177-0x1;_0x381f1d<_0x595177;_0xcd24c0=_0x381f1d++){const _0x41a610=_0x454dd4[_0x381f1d][0x0],_0x1811f0=_0x454dd4[_0x381f1d][0x1],_0x4df708=_0x454dd4[_0xcd24c0][0x0],_0x321357=_0x454dd4[_0xcd24c0][0x1],_0x2b479b=_0x1811f0>_0x2a004d!==_0x321357>_0x2a004d&&_0x556c9d<(_0x4df708-_0x41a610)*(_0x2a004d-_0x1811f0)/(_0x321357-_0x1811f0)+_0x41a610;_0x2b479b&&(_0x498a13=!_0x498a13);}function _0x1bc36d(_0xb60706,_0x2ab5f2){return _0x7afdbe(_0xb60706,_0x2ab5f2- -0x5c);}return _0x498a13;}function getBoxOutLine(_0x2bbadc,_0x5d47c9,_0x3a8c97,_0x31369b){const _0x51b1e4={_0x188748:0x1fde,_0x37154d:0x1360,_0x249a0c:0xb3d,_0x4277ec:0x8c6,_0x2b1545:0x8b5,_0x3061c8:0x1234,_0x418ab4:0x1b1a,_0xdf13c8:0x1a03,_0x4e49fc:0x1428,_0x1d675f:0x16ca},_0x559e38={_0x34e9a4:0x8},_0x3cf04a=Cesium__namespace['Cartesian3']['normalize'](_0x2bbadc,new Cesium__namespace['Cartesian3']()),_0x42a381=Cesium__namespace['Cartesian3'][_0x167a7e(0x199c,_0x51b1e4._0x188748)](_0x31369b,_0x3cf04a,_0x3cf04a);Cesium__namespace[_0x167a7e(0x151d,_0x51b1e4._0x37154d)][_0x167a7e(0x6bc,0x4ab)](_0x42a381,_0x5d47c9/0x2,_0x42a381);const _0x4a47fb=Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x31369b,_0x3a8c97/0x2,new Cesium__namespace[(_0x555871(0x1428,0x1b5e))]()),_0x18858b=Cesium__namespace['Cartesian3']['add'](_0x2bbadc,_0x4a47fb,new Cesium__namespace[(_0x555871(0x1428,_0x51b1e4._0x249a0c))]());Cesium__namespace['Cartesian3']['add'](_0x18858b,_0x42a381,_0x18858b);const _0x44bb58=Cesium__namespace['Cartesian3'][_0x167a7e(_0x51b1e4._0x4277ec,_0x51b1e4._0x2b1545)](_0x2bbadc,_0x4a47fb,new Cesium__namespace[(_0x555871(0x1428,_0x51b1e4._0x3061c8))]());function _0x555871(_0x57a995,_0x3df0d0){return _0x54a7f1(_0x57a995-0x141,_0x3df0d0);}Cesium__namespace[_0x555871(0x1428,0x135d)]['subtract'](_0x44bb58,_0x42a381,_0x44bb58);const _0x49f0a8=Cesium__namespace[_0x555871(0x1428,_0x51b1e4._0x418ab4)]['subtract'](_0x2bbadc,_0x4a47fb,new Cesium__namespace[(_0x555871(0x1428,_0x51b1e4._0xdf13c8))]());Cesium__namespace['Cartesian3']['add'](_0x49f0a8,_0x42a381,_0x49f0a8);const _0x328962=Cesium__namespace[_0x555871(_0x51b1e4._0x4e49fc,_0x51b1e4._0x1d675f)]['subtract'](_0x2bbadc,_0x4a47fb,new Cesium__namespace['Cartesian3']());function _0x167a7e(_0x2f2106,_0xf05cf4){return _0x7afdbe(_0xf05cf4,_0x2f2106-_0x559e38._0x34e9a4);}return Cesium__namespace['Cartesian3'][_0x555871(0x7e6,-0x162)](_0x328962,_0x42a381,_0x328962),[_0x18858b,_0x49f0a8,_0x328962,_0x44bb58];}const scratchPerspectiveFrustum$1=new Cesium__namespace[(_0x7afdbe(0xf40,0xef4))](),scratchPerspectiveOffCenterFrustum$1=new Cesium__namespace['PerspectiveOffCenterFrustum'](),scratchOrthographicFrustum$1=new Cesium__namespace[(_0x7afdbe(0x1661,0xc2c))](),scratchOrthographicOffCenterFrustum$1=new Cesium__namespace[(_0x7afdbe(0x10a,0xa55))]();function getRayIntersectingPositions$1(_0x36181b){const _0x4e6143={_0x733a50:0x247,_0x5eee66:0xcd7,_0x4d0ac6:0x156e,_0x26708b:0x457,_0x45a7e5:0x97e,_0x5a9271:0x4db,_0x29f01b:0xf1f,_0x56a899:0x1143,_0x444f54:0x8a6,_0x5d99c5:0x12b0,_0x2b859e:0x1b9,_0x486e8:0x12a6,_0x50ff83:0x136d,_0x527b52:0x115a,_0x4c8cf:0x1119,_0xcd88e7:0xc7f,_0x352052:0xbbf,_0x5b6082:0xb3c,_0x1a46d6:0xc33,_0x4ebef8:0xea,_0x181b21:0x9da,_0x58e993:0x1428,_0x5659f8:0x1515,_0x7a0157:0x10},_0x1e7967={_0x1aa4bf:0x5f4},_0x2a8a71=_0x36181b['scene'],_0xe57574=_0x36181b['camera']??_0x2a8a71[_0x4438bb(-0x2e8,_0x4e6143._0x733a50)],_0x377063=Number(_0x36181b['splitNum']??0x200),_0x45cbc3=new Cesium__namespace['Picking'](_0x2a8a71),_0x15ebc6=_0x45cbc3['_pickOffscreenView'],_0x16c039=new Cesium__namespace['BoundingRectangle'](0x0,0x0,_0x377063,_0x377063);_0x15ebc6[_0x4438bb(0xda8,_0x4e6143._0x5eee66)]=_0x16c039,_0x15ebc6[_0x4438bb(0x871,0xd57)]['viewport']=_0x16c039,_0x2a8a71[_0x4438bb(_0x4e6143._0x4d0ac6,0xea3)]=_0x15ebc6,_0x15ebc6[_0x476839(-0x37c,0x195)]=_0xe57574;function _0x476839(_0x138e78,_0x3a0ffd){return _0x7afdbe(_0x138e78,_0x3a0ffd- -_0x1e7967._0x1aa4bf);}Cesium__namespace[_0x476839(0x5c6,_0x4e6143._0x26708b)][_0x4438bb(_0x4e6143._0x45a7e5,_0x4e6143._0x5a9271)](_0x15ebc6[_0x4438bb(0x458,0xcd7)],scratchRectangle);const _0x2fa222=_0x15ebc6['pickFramebuffer'][_0x4438bb(_0x4e6143._0x29f01b,0x113b)](scratchRectangle,_0x15ebc6['viewport']);_0x2a8a71[_0x4438bb(_0x4e6143._0x56a899,_0x4e6143._0x444f54)]['disableThisFrame'](),_0x2a8a71['updateFrameState'](),_0x2a8a71['frameState'][_0x476839(0xc6b,0xdbf)]=![],_0x2a8a71['frameState'][_0x4438bb(_0x4e6143._0x5d99c5,0x9fc)]['pick']=!![],_0x2a8a71[_0x4438bb(-0x97,0x26b)][_0x476839(0x16a,0x94a)][_0x476839(0x14fb,0xb8e)]=!![],_0x2a8a71['frameState']['tilesetPassState']=pickTilesetPassState,_0x2a8a71['context']['uniformState']['update'](_0x2a8a71[_0x476839(0x5a,_0x4e6143._0x2b859e)]);function _0x4438bb(_0x4c13d4,_0x2c8d7e){return _0x7afdbe(_0x4c13d4,_0x2c8d7e- -0x542);}_0x2a8a71['updateEnvironment'](),_0x2a8a71['updateAndExecuteCommands'](_0x2fa222,scratchColorZero),_0x2a8a71[_0x4438bb(0x6a3,0x8a9)](_0x2fa222);let _0x2cbe73;if(Cesium__namespace['defined'](_0xe57574['frustum']['fov']))_0x2cbe73=_0xe57574['frustum']['clone'](scratchPerspectiveFrustum$1);else{if(Cesium__namespace[_0x4438bb(_0x4e6143._0x486e8,_0x4e6143._0x50ff83)](_0xe57574['frustum']['infiniteProjectionMatrix']))_0x2cbe73=_0x15ebc6['camera'][_0x4438bb(0xb52,0xd31)]['clone'](scratchPerspectiveOffCenterFrustum$1);else Cesium__namespace[_0x4438bb(0xc3c,_0x4e6143._0x50ff83)](_0xe57574['frustum'][_0x4438bb(0xcfc,0x1243)])?_0x2cbe73=_0xe57574[_0x4438bb(_0x4e6143._0x527b52,0xd31)]['clone'](scratchOrthographicFrustum$1):_0x2cbe73=_0xe57574[_0x476839(_0x4e6143._0x4c8cf,_0x4e6143._0xcd88e7)]['clone'](scratchOrthographicOffCenterFrustum$1);}const _0xcc7d73=new Array(_0x377063);for(let _0x596602=0x0;_0x596602<_0x377063;_0x596602++){_0xcc7d73[_0x596602]=new Array(_0x377063);}if(_0x2a8a71['context']['depthTexture']){const _0x59aee8=_0x45cbc3['getPickDepth'](_0x2a8a71,0x0),_0x27c80e=getDepth(_0x2a8a71['context'],0x0,0x0,_0x377063,_0x377063,_0x59aee8);for(let _0xa508a0=0x0;_0xa508a0<_0x27c80e[_0x476839(0x204,_0x4e6143._0x352052)];_0xa508a0++){const _0x50a7ad=_0x27c80e[_0xa508a0];if(_0x50a7ad>0x0&&_0x50a7ad<0x1){const _0x4f430e=_0x15ebc6[_0x4438bb(0x15c9,_0x4e6143._0x5b6082)][0x0];if(!_0x4f430e)continue;const _0x51a9a8=Math[_0x476839(_0x4e6143._0x1a46d6,0x52c)](_0xa508a0/_0x377063),_0x63eeff=_0xa508a0%_0x377063;_0x2cbe73[_0x4438bb(0x2dd,0x9)]=_0x4f430e[_0x4438bb(-0x556,0x9)]*_0x2a8a71[_0x4438bb(-_0x4e6143._0x4ebef8,_0x4e6143._0x181b21)],_0x2cbe73['far']=_0x4f430e['far'],_0x2a8a71['context']['uniformState'][_0x476839(0xcb7,0x6e9)](_0x2cbe73);const _0x539b64=Cesium__namespace['SceneTransforms']['drawingBufferToWorldCoordinates'](_0x2a8a71,new Cesium__namespace[(_0x476839(_0x4e6143._0x58e993,0x133e))](_0x63eeff,_0x51a9a8),_0x50a7ad,new Cesium__namespace['Cartesian3']());_0xcc7d73[_0x63eeff][_0x51a9a8]=_0x539b64;}}}return _0x2a8a71[_0x476839(_0x4e6143._0x5659f8,0xdf1)]=_0x2a8a71['defaultView'],_0x2a8a71['context'][_0x4438bb(-0x5a0,-_0x4e6143._0x7a0157)](),_0x45cbc3['destroy'](),_0xcc7d73;}function centerOfMass(_0x57ce75,_0x1a74be){const _0x246bd5={_0x131da2:0x533,_0x3f7b90:0x1ca},_0x293878={_0x15c4a5:0x5e1};if(!_0x57ce75||_0x57ce75[_0x3fed1f(0x118c,0x165c)]===0x0)return;function _0x3fed1f(_0x3b0749,_0x33280e){return _0x7afdbe(_0x33280e,_0x3b0749- -0x27);}const _0x3cdf4e=LngLatArray['toCartesians'](_0x57ce75);function _0x578f5a(_0x1b460f,_0x320af2){return _0x7afdbe(_0x320af2,_0x1b460f- -_0x293878._0x15c4a5);}try{if(_0x3cdf4e[_0x578f5a(0xbd2,_0x246bd5._0x131da2)]===0x1)return _0x3cdf4e[0x0];else{if(_0x3cdf4e[_0x578f5a(0xbd2,0x60c)]===0x2)return getMidpoint(_0x3cdf4e[0x0],_0x3cdf4e[0x1]);}_0x1a74be==null&&(_0x1a74be=getMaxHeight(_0x3cdf4e));const _0x18c467=Cesium__namespace['Rectangle'][_0x3fed1f(0x754,0x5a3)](_0x3cdf4e),_0x1bcd92=Cesium__namespace[_0x3fed1f(0x700,0x1145)][_0x578f5a(_0x246bd5._0x3f7b90,-0xdb)](_0x18c467),_0x1950af=Cesium__namespace['Cartesian3'][_0x578f5a(0xfb5,0x14e2)](_0x1bcd92['longitude'],_0x1bcd92['latitude'],_0x1a74be);return _0x1950af;}catch(_0x34e0cd){return _0x3cdf4e[Math['floor'](_0x3cdf4e[_0x578f5a(0xbd2,0xe04)]/0x2)];}}function buffer(_0x1840a4,_0x54527d=0x1,_0x1a5a7a=0x8){const _0x204994={_0x1b7817:0x120d,_0x538e73:0xe5b,_0x4b0f76:0x1e08,_0x2e39da:0x11d4},_0x4427b6={_0x1badd8:0x170};try{var _0x197d40;if(((_0x197d40=_0x1840a4)===null||_0x197d40===void 0x0||(_0x197d40=_0x197d40[_0xc88ae7(_0x204994._0x1b7817,0xee1)])===null||_0x197d40===void 0x0?void 0x0:_0x197d40['type'])===_0x2799f1(0x7c9,_0x204994._0x538e73)){const _0x440e69=_0x1840a4[_0x2799f1(0x171f,_0x204994._0x4b0f76)]['coordinates'][0x0],_0x121c74=_0x440e69[0x0],_0x3cafab=_0x440e69[_0x440e69['length']-0x1];(_0x121c74[0x0]!==_0x3cafab[0x0]||_0x121c74[0x1]!==_0x3cafab[0x1])&&_0x440e69['push'](_0x121c74);}const _0x26f389={};_0x26f389['units']='meters',_0x26f389['steps']=_0x1a5a7a,_0x1840a4=buffer$1(_0x1840a4,_0x54527d,_0x26f389);}catch(_0x17e0f3){logError(_0xc88ae7(_0x204994._0x2e39da,0x13fa),_0x17e0f3);}function _0xc88ae7(_0x330e62,_0x2dbf82){return _0x54a7f1(_0x330e62- -0x3a2,_0x2dbf82);}function _0x2799f1(_0x1199d4,_0x131eaf){return _0x54a7f1(_0x1199d4-_0x4427b6._0x1badd8,_0x131eaf);}return _0x1840a4;}function bufferPoints(_0x167b17,_0x1ce755=0x1,_0x59bf14=0x8){const _0x5d00f6={_0x1f0aaf:0x15e6,_0x4a27af:0xa7a},_0x510015={_0x3de8aa:0x2e0};function _0xa2dff4(_0x5a90ef,_0x599fbb){return _0x54a7f1(_0x5a90ef- -0x4b4,_0x599fbb);}function _0x2205be(_0x4a465c,_0x34a195){return _0x7afdbe(_0x34a195,_0x4a465c- -_0x510015._0x3de8aa);}try{const _0x181dfe=LngLatArray[_0x2205be(0x16f4,_0x5d00f6._0x1f0aaf)](_0x167b17),_0x18b708=_0x181dfe[0x0],_0x36f0fd=_0x181dfe[_0x181dfe['length']-0x1];(_0x18b708[0x0]!==_0x36f0fd[0x0]||_0x18b708[0x1]!==_0x36f0fd[0x1])&&_0x181dfe['push'](_0x181dfe[0x0]);const _0x1ea620={};_0x1ea620[_0xa2dff4(0x382,0xd99)]='Polygon',_0x1ea620['coordinates']=[_0x181dfe];const _0x5a9404={};_0x5a9404['type']='Feature',_0x5a9404['geometry']=_0x1ea620;const _0x120954=_0x5a9404,_0x20a798={};_0x20a798['units']='meters',_0x20a798[_0x2205be(0xeec,0x13a9)]=_0x59bf14;const _0x506a59=buffer$1(_0x120954,_0x1ce755,_0x20a798);return LngLatArray['toPoints'](_0x506a59['geometry']['coordinates'][0x0]);}catch(_0x39d18c){logError(_0xa2dff4(0x9e2,_0x5d00f6._0x4a27af),_0x39d18c);}return _0x167b17;}function getGranularity(_0x2225a1,_0x5c205a=0xa){const _0x12812f={_0x4d6e2f:0x469,_0x3e21ba:0xa7a,_0x4ac5c3:0x601,_0x4d2f5f:0x5d7},_0xde8311={_0x552868:0x51},_0x1060e5=Cesium__namespace[_0x42456d(_0x12812f._0x4d6e2f,0x45c)]['fromCartesianArray'](LngLatArray['toCartesians'](_0x2225a1));let _0x3ed281=Math[_0x42456d(_0x12812f._0x3e21ba,_0x12812f._0x4ac5c3)](_0x1060e5[_0x42456d(_0x12812f._0x4d2f5f,0x4c6)],_0x1060e5['width']);_0x3ed281/=_0x5c205a;function _0x3846dc(_0x5dc82d,_0x1f8f66){return _0x7afdbe(_0x5dc82d,_0x1f8f66-_0xde8311._0x552868);}function _0x42456d(_0x201b38,_0x31b566){return _0x7afdbe(_0x31b566,_0x201b38- -0x2be);}return _0x3ed281;}function interPolygon(_0x109fd1){const _0x346369={_0x56b48a:0x34,_0x4e2e05:0x83b},_0x32856b={_0x3b038b:0x16be,_0x1ca167:0xe91,_0x594e4c:0xe7e,_0xdcb9f1:0x16d6,_0x2b49a7:0xee7,_0x573485:0x120d,_0x2bb158:0x1179,_0x49ff8f:0x82a,_0x3613e6:0x101e,_0x173e3e:0x1643,_0x44dac8:0x1a2d,_0x455dee:0x10b2,_0x12c533:0x145d,_0x13b43a:0x10b2,_0x561a71:0x1ac,_0x202985:0x11b5,_0x5e5ba0:0x1058,_0x3e45f9:0x5ba,_0x1d741c:0x1762,_0x34ff6c:0xb79,_0x58f091:0xf89,_0x384e4c:0x1426,_0x35ba23:0xcad,_0x7fb90:0x149c},_0x279e36={_0x2a090b:0x301};function _0x42a2c6(_0x7fa13b,_0x7c763f){return _0x54a7f1(_0x7c763f- -_0x279e36._0x2a090b,_0x7fa13b);}const _0x5590c5=_0x109fd1['scene'],_0x86530a=LngLatArray['toCartesians'](_0x109fd1['positions'],!![]),_0xd63585=getGranularity(_0x86530a,_0x109fd1[_0x42a2c6(-_0x346369._0x56b48a,_0x346369._0x4e2e05)]);return new Promise((_0x38e765,_0x3abfad)=>{const _0x931e61={_0x1a6694:0xf42,_0x1ae121:0x541,_0x4674af:0x1143,_0x42c8cc:0xe18,_0x1802f8:0xa49,_0x4c3087:0x62c};setTimeout(()=>{const _0x1e64f9={_0x229aa5:0x16ba,_0x2070e1:0xb5f,_0x469208:0x108d,_0xd21593:0xc63,_0x1307dd:0x7de},_0x37c2d3=[],_0x4a65fc=new Cesium__namespace['PolygonGeometry']['fromPositions']({'positions':_0x86530a,'vertexFormat':Cesium__namespace['PerInstanceColorAppearance'][_0x25afdc(_0x32856b._0x3b038b,_0x32856b._0x1ca167)],'granularity':_0xd63585}),_0x3e5801=new Cesium__namespace['PolygonGeometry']['createGeometry'](_0x4a65fc);let _0x13c1a1,_0x239a01,_0x4484fa,_0x117ccc,_0x172e54,_0x3f4635;function _0x32f340(_0x366df2,_0x1e93ad){return _0x536c(_0x366df2- -0xb,_0x1e93ad);}for(let _0x366cf1=0x0;_0x366cf1<_0x3e5801[_0x32f340(0x1179,_0x32856b._0x594e4c)][_0x25afdc(_0x32856b._0xdcb9f1,_0x32856b._0x2b49a7)];_0x366cf1+=0x3){_0x13c1a1=_0x3e5801['indices'][_0x366cf1],_0x239a01=_0x3e5801[_0x25afdc(0x1991,_0x32856b._0x573485)][_0x366cf1+0x1],_0x4484fa=_0x3e5801[_0x32f340(_0x32856b._0x2bb158,0x163d)][_0x366cf1+0x2],_0x117ccc=new Cesium__namespace[(_0x25afdc(0x157e,0x1249))](_0x3e5801[_0x32f340(0x118,-_0x32856b._0x49ff8f)]['position']['values'][_0x13c1a1*0x3],_0x3e5801[_0x32f340(0x118,0x7ef)]['position'][_0x32f340(_0x32856b._0x3613e6,0x7f6)][_0x13c1a1*0x3+0x1],_0x3e5801['attributes'][_0x25afdc(0x148a,_0x32856b._0x173e3e)][_0x25afdc(_0x32856b._0x44dac8,_0x32856b._0x455dee)][_0x13c1a1*0x3+0x2]),_0x37c2d3['push'](_0x117ccc),_0x172e54=new Cesium__namespace['Cartesian3'](_0x3e5801[_0x25afdc(0x41f,0x1ac)][_0x25afdc(_0x32856b._0x12c533,_0x32856b._0x173e3e)][_0x25afdc(0x10cd,_0x32856b._0x13b43a)][_0x239a01*0x3],_0x3e5801['attributes'][_0x25afdc(0x1f27,0x1643)][_0x32f340(_0x32856b._0x3613e6,0xbb4)][_0x239a01*0x3+0x1],_0x3e5801[_0x25afdc(0x5b7,_0x32856b._0x561a71)]['position']['values'][_0x239a01*0x3+0x2]),_0x37c2d3['push'](_0x172e54),_0x3f4635=new Cesium__namespace[(_0x32f340(_0x32856b._0x202985,_0x32856b._0x5e5ba0))](_0x3e5801[_0x32f340(0x118,_0x32856b._0x3e45f9)][_0x25afdc(_0x32856b._0x1d741c,0x1643)]['values'][_0x4484fa*0x3],_0x3e5801['attributes']['position'][_0x32f340(0x101e,_0x32856b._0x34ff6c)][_0x4484fa*0x3+0x1],_0x3e5801['attributes']['position']['values'][_0x4484fa*0x3+0x2]),_0x37c2d3[_0x25afdc(0x852,0xe6a)](_0x3f4635);}function _0x25afdc(_0x1a7b90,_0x491c03){return _0x536c(_0x491c03-0x89,_0x1a7b90);}let _0x19b442=0x0,_0xfb8146=0x270f;const _0x348d89=_0x109fd1['onlyPoint']??![];function _0x5d916c(_0x38bb2c,_0x3140f2){const _0x392af1={_0x5455cd:0xc7};let _0x27470f,_0x305b83,_0x4c7ea8;function _0x520b8b(_0x1a9f9b,_0x48ad9b){return _0x32f340(_0x1a9f9b- -_0x392af1._0x5455cd,_0x48ad9b);}let _0x4628ff;function _0xc8975a(_0x18d369,_0x890978){return _0x32f340(_0x890978- -0x128,_0x18d369);}_0x3140f2?(delete _0x109fd1['callback'],_0x27470f=getHeight(_0x5590c5,_0x38bb2c,_0x109fd1),_0x4628ff=Cesium__namespace['Cartographic']['fromCartesian'](_0x38bb2c),_0x305b83=Cesium__namespace[_0xc8975a(_0x1e64f9._0x229aa5,0x108d)][_0x520b8b(0x116f,0xe08)](_0x4628ff['longitude'],_0x4628ff['latitude'],0x0),_0x4c7ea8=Cesium__namespace[_0xc8975a(_0x1e64f9._0x2070e1,_0x1e64f9._0x469208)]['fromRadians'](_0x4628ff['longitude'],_0x4628ff['latitude'],_0x27470f)):(_0x4628ff=Cesium__namespace['Cartographic']['fromCartesian'](_0x38bb2c),_0x27470f=_0x4628ff['height'],_0x305b83=Cesium__namespace['Cartesian3'][_0xc8975a(_0x1e64f9._0xd21593,0x110e)](_0x4628ff['longitude'],_0x4628ff[_0x520b8b(_0x1e64f9._0x1307dd,0xd19)],0x0),_0x4c7ea8=_0x38bb2c);_0x19b442<_0x27470f&&(_0x19b442=_0x27470f);_0xfb8146>_0x27470f&&(_0xfb8146=_0x27470f);const _0x5cae9e={};return _0x5cae9e['height']=_0x27470f,_0x5cae9e['point']=_0x305b83,_0x5cae9e['pointDM']=_0x4c7ea8,_0x5cae9e;}function _0x231c55(_0x173f82){const _0x2db260=[];let _0xd524ca,_0x2f531a,_0x26af22;for(let _0x4572f1=0x0;_0x4572f1<_0x173f82['positions']['length'];_0x4572f1+=0x3){_0xd524ca=_0x5d916c(_0x173f82['positions'][_0x4572f1],_0x173f82['noHeight']),_0x2f531a=_0x5d916c(_0x173f82[_0x2bb23d(0xcdc,0x12e6)][_0x4572f1+0x1],_0x173f82['noHeight']),_0x26af22=_0x5d916c(_0x173f82['positions'][_0x4572f1+0x2],_0x173f82[_0x319552(0x105c,_0x931e61._0x1a6694)]);if(_0x348d89)addPointFoyArrOnly(_0x2db260,_0xd524ca),addPointFoyArrOnly(_0x2db260,_0x2f531a),addPointFoyArrOnly(_0x2db260,_0x26af22);else{const _0x26b667={};_0x26b667['point1']=_0xd524ca,_0x26b667[_0x319552(0xbd0,_0x931e61._0x1ae121)]=_0x2f531a,_0x26b667['point3']=_0x26af22,_0x2db260[_0x2bb23d(0xaf5,_0x931e61._0x4674af)](_0x26b667);}}Cesium__namespace[_0x2bb23d(0x126e,_0x931e61._0x42c8cc)](_0x109fd1[_0x2bb23d(0xb08,_0x931e61._0x1802f8)])&&(_0xfb8146=Math['max'](_0x109fd1['minHeight'],_0xfb8146),_0x19b442=Math[_0x319552(_0x931e61._0x4c3087,0x8cc)](_0x19b442,_0xfb8146));function _0x2bb23d(_0x582969,_0xeb05cb){return _0x32f340(_0x582969- -0x2e1,_0xeb05cb);}_0x173f82['granularity']=_0xd63585,_0x173f82['maxHeight']=_0x19b442,_0x173f82[_0x319552(0xa3d,0xabc)]=_0xfb8146,_0x173f82['list']=_0x2db260;function _0x319552(_0x59bfdc,_0xa46018){return _0x32f340(_0x59bfdc- -0x3ac,_0xa46018);}_0x38e765(_0x173f82);}if(_0x109fd1[_0x32f340(0x109f,0x1638)]){const _0x9d356a={};_0x9d356a['scene']=_0x5590c5,_0x9d356a['positions']=_0x37c2d3,_0x9d356a[_0x25afdc(_0x32856b._0x58f091,_0x32856b._0x384e4c)]=_0x109fd1['has3dtiles'],_0x9d356a['exact']=_0x109fd1['exact'],computeSurfacePoints(_0x9d356a)['then'](_0x231c55);}else{const _0x271093={};_0x271093['positions']=_0x37c2d3,_0x271093[_0x25afdc(_0x32856b._0x35ba23,_0x32856b._0x7fb90)]=!![],_0x271093[_0x25afdc(0xd79,_0x32856b._0x384e4c)]=_0x109fd1[_0x32f340(0x1392,0x1016)],_0x271093[_0x32f340(0x64b,-0x328)]=_0x109fd1['hasTerrain'],_0x231c55(_0x271093);}},0x32);});}function addPointFoyArrOnly(_0x3d40f7,_0x5c60a0){const _0x44b1fd={_0x16afe6:0xac1,_0x13fe5d:0xd6a};let _0xec91e=![];function _0x1e2c2f(_0x23aaf7,_0x392c76){return _0x54a7f1(_0x392c76- -0x19e,_0x23aaf7);}function _0xbbfe7b(_0x321a9c,_0x257d63){return _0x54a7f1(_0x257d63- -0x329,_0x321a9c);}const _0x342c9e=_0x5c60a0[_0x1e2c2f(0x79f,0xb7e)];for(let _0x4927b3=0x0;_0x4927b3<_0x3d40f7[_0xbbfe7b(0x10ab,0xc5c)];_0x4927b3++){const _0x117747=_0x3d40f7[_0x4927b3][_0x1e2c2f(0x163,0xb7e)];if(_0x342c9e['x']===_0x117747['x']&&_0x342c9e['y']===_0x117747['y']&&_0x342c9e['z']===_0x117747['z']){_0xec91e=!![];break;}}!_0xec91e&&_0x3d40f7[_0x1e2c2f(_0x44b1fd._0x16afe6,_0x44b1fd._0x13fe5d)](_0x5c60a0);}function getHeightRange(_0x40d62b,_0x37df07,_0x5db718){const _0x3e9fce={'positions':_0x40d62b,'scene':_0x37df07,..._0x5db718};return interPolygon(_0x3e9fce);}function getTriangleArea$1(_0x4d7602,_0xa950c,_0xdada5a){const _0x336fe2={_0x278168:0x1ae9,_0x17fadd:0x110c,_0xb61a35:0x10e7,_0x53d1ac:0x1162},_0x198c30={_0x484204:0x185};function _0x17a71c(_0x56fcca,_0x3f0674){return _0x54a7f1(_0x56fcca-0x15,_0x3f0674);}const _0x1016ce=Cesium__namespace['Cartesian3'][_0xa319e0(_0x336fe2._0x278168,_0x336fe2._0x17fadd)](_0x4d7602,_0xa950c),_0xd2a0e2=Cesium__namespace[_0xa319e0(0x1a42,0x1162)]['distance'](_0xa950c,_0xdada5a);function _0xa319e0(_0x5dd1f3,_0x48564a){return _0x54a7f1(_0x48564a- -_0x198c30._0x484204,_0x5dd1f3);}const _0x3b6ad1=Cesium__namespace[_0xa319e0(_0x336fe2._0xb61a35,_0x336fe2._0x53d1ac)]['distance'](_0xdada5a,_0x4d7602),_0x4f2804=(_0x1016ce+_0xd2a0e2+_0x3b6ad1)/0x2;return Math['sqrt'](_0x4f2804*(_0x4f2804-_0x1016ce)*(_0x4f2804-_0xd2a0e2)*(_0x4f2804-_0x3b6ad1));}function computeVolume(_0x143efd){return interPolygon(_0x143efd)['then'](_0x21e0e2=>{return updateVolumeByMinHeight(_0x21e0e2);});}function updateVolumeByMinHeight(_0x34981c){const _0xa807b3={_0x460b97:0xd9e,_0x4bac13:0x1205,_0x4fb8bf:0x1acc,_0x2dce95:0x112f,_0x1f3409:0xd9d,_0x310810:0x769,_0x91b3be:0x1409,_0x315f28:0x1e48},_0x2458e3={_0x472238:0x17d},_0x22d2f5=_0x34981c[_0x402586(_0xa807b3._0x460b97,0x5c4)];let _0x3f5f5f=0x0,_0x3a97b4=0x0;for(let _0x2dbc26=0x0,_0x242c57=_0x34981c['list']['length'];_0x2dbc26<_0x242c57;_0x2dbc26++){const _0x1dc8f7=_0x34981c[_0x402586(_0xa807b3._0x4bac13,0x161d)][_0x2dbc26],_0x1e444c=_0x1dc8f7[_0x56e4ac(0x1493,_0xa807b3._0x4fb8bf)],_0x3bf4b7=_0x1dc8f7[_0x56e4ac(_0xa807b3._0x2dce95,0xe41)],_0x454b68=_0x1dc8f7['point3'],_0x19ac00=getTriangleArea$1(_0x1e444c['point'],_0x3bf4b7[_0x56e4ac(_0xa807b3._0x1f3409,0x116a)],_0x454b68['point']);_0x1dc8f7[_0x56e4ac(_0xa807b3._0x310810,0xe34)]=_0x19ac00,_0x3f5f5f+=_0x19ac00;let _0x2a8c44=_0x1e444c['height'],_0x125e70=_0x3bf4b7['height'],_0x369c1d=_0x454b68[_0x56e4ac(0x6e8,0xd8b)];_0x2a8c44<_0x22d2f5&&(_0x2a8c44=_0x22d2f5);_0x125e70<_0x22d2f5&&(_0x125e70=_0x22d2f5);_0x369c1d<_0x22d2f5&&(_0x369c1d=_0x22d2f5);const _0xe616b8=_0x19ac00*(_0x2a8c44-_0x22d2f5+_0x125e70-_0x22d2f5+_0x369c1d-_0x22d2f5)/0x3;_0x1dc8f7['cutVolume']=_0xe616b8,_0x3a97b4=_0x3a97b4+_0xe616b8;}function _0x56e4ac(_0x3322e9,_0x4ce7af){return _0x54a7f1(_0x3322e9-0x81,_0x4ce7af);}function _0x402586(_0x3cb19b,_0x29e575){return _0x54a7f1(_0x3cb19b- -_0x2458e3._0x472238,_0x29e575);}return _0x34981c[_0x56e4ac(0x149a,_0xa807b3._0x91b3be)]=_0x3f5f5f,_0x34981c[_0x56e4ac(0x170a,_0xa807b3._0x315f28)]=_0x3a97b4,_0x34981c;}function updateVolume(_0x200614,_0x54126c){const _0x4c905f={_0xccea8f:0x1f03,_0x394e03:0x13d5,_0x34750a:0x1a8a,_0x424018:0x1b7d,_0x1d9161:0x1064,_0x39ab7b:0x2fb,_0x14754f:0x146c,_0x4147de:0x4bd},_0x4447c7={_0x10fe0c:0x26b};if(!_0x200614)return;function _0x25a870(_0x5f53cf,_0xfff69a){return _0x54a7f1(_0xfff69a-0x224,_0x5f53cf);}const _0xd119ca=_0x200614['minHeight'],_0x395e85=_0x200614[_0x25a870(0xf88,0x18ad)];function _0x3e273f(_0x228ba9,_0x5d7c43){return _0x7afdbe(_0x5d7c43,_0x228ba9- -_0x4447c7._0x10fe0c);}if(_0x54126c<=_0xd119ca)return _0x200614['fillVolume']=0x0,_0x200614[_0x25a870(_0x4c905f._0xccea8f,0x146c)]=_0x395e85,_0x200614;let _0x3946db=0x0,_0x2b04fd=0x0;for(let _0x63ea52=0x0,_0x59a483=_0x200614['list']['length'];_0x63ea52<_0x59a483;_0x63ea52++){const _0x5d888b=_0x200614['list'][_0x63ea52];_0x3946db+=_0x5d888b['area']*(_0x54126c-_0xd119ca);const _0x3f18dc=_0x5d888b[_0x3e273f(_0x4c905f._0x394e03,_0x4c905f._0x34750a)],_0x3f2354=_0x5d888b['point2'],_0x525296=_0x5d888b[_0x25a870(_0x4c905f._0x424018,0x15cb)];let _0x13dd48=_0x3f18dc[_0x3e273f(0x62a,_0x4c905f._0x1d9161)],_0x456ae5=_0x3f2354[_0x25a870(_0x4c905f._0x39ab7b,0x88b)],_0x30fa14=_0x525296['height'];_0x13dd48<_0x54126c&&(_0x13dd48=_0x54126c),_0x456ae5<_0x54126c&&(_0x456ae5=_0x54126c),_0x30fa14<_0x54126c&&(_0x30fa14=_0x54126c),_0x2b04fd+=_0x5d888b['area']*(_0x13dd48-_0x54126c+_0x456ae5-_0x54126c+_0x30fa14-_0x54126c)/0x3;}return _0x200614[_0x25a870(0x1af9,_0x4c905f._0x14754f)]=_0x2b04fd,_0x200614[_0x3e273f(_0x4c905f._0x4147de,0x794)]=_0x3946db-(_0x395e85-_0x2b04fd),_0x200614;}function getEllipseOuterPositions(_0x4a6439){const _0x3c1c7a={_0x15102e:0x7ab,_0x546898:0x1118,_0x17b4a0:0xe6a,_0x49b1e3:0xa60,_0x3b66d6:0x841,_0x1c2433:0x154b},_0x5de644={_0x55d411:0x264};let _0x15a7b2=_0x4a6439['position'];function _0x4d5524(_0x4b05cc,_0x223d7e){return _0x54a7f1(_0x4b05cc-_0x5de644._0x55d411,_0x223d7e);}if(!_0x15a7b2)return null;_0x15a7b2=LngLatPoint['toCartesian'](_0x15a7b2);const _0x2b6b22=_0x4a6439[_0x4d5524(_0x3c1c7a._0x15102e,_0x3c1c7a._0x546898)]??_0x4a6439['radius'],_0x48bea4=_0x4a6439['semiMinorAxis']??_0x4a6439['radius'];function _0xea089c(_0x5d00a2,_0x345580){return _0x7afdbe(_0x5d00a2,_0x345580- -0x3d4);}if(!_0x2b6b22||!_0x48bea4)return[_0x15a7b2,_0x15a7b2,_0x15a7b2];const _0x4384fe=_0x4a6439['rotation']??0x0;let _0xc7b19=_0x4a6439['granularity']||Cesium__namespace[_0xea089c(0x17e1,0x1106)]['RADIANS_PER_DEGREE'];_0x4a6439['count']&&(_0xc7b19=Math['PI']/(0x10*_0x4a6439['count']));const _0x55f5d6={};_0x55f5d6['center']=_0x15a7b2,_0x55f5d6['semiMajorAxis']=_0x2b6b22,_0x55f5d6['semiMinorAxis']=_0x48bea4,_0x55f5d6['rotation']=_0x4384fe,_0x55f5d6[_0xea089c(0x824,_0x3c1c7a._0x17b4a0)]=_0xc7b19;const _0x39e568=Cesium__namespace[_0xea089c(_0x3c1c7a._0x49b1e3,0x14e7)][_0x4d5524(0x125f,0x1c5a)](_0x55f5d6,!![],!![]),_0x7d1c4b=_0x39e568[_0xea089c(_0x3c1c7a._0x3b66d6,0xf6)],_0x33235a=[];for(let _0x149f2c=0x0,_0x64864a=_0x7d1c4b['length'];_0x149f2c<_0x64864a;_0x149f2c+=0x3){const _0x39e2bd=new Cesium__namespace[(_0x4d5524(_0x3c1c7a._0x1c2433,0x1c79))](_0x7d1c4b[_0x149f2c],_0x7d1c4b[_0x149f2c+0x1],_0x7d1c4b[_0x149f2c+0x2]);_0x33235a['push'](_0x39e2bd);}return _0x33235a;}function getCenter(_0x30c49e,_0x1d1e79){const _0x5794d3={_0x47564b:0xb04,_0x2e86be:0x8f0,_0x48fbe1:0x6f2,_0x1d3343:0x85c,_0x93253c:0x281,_0x5f41bf:0xd95},_0x418d2f={_0x3eb6c3:0x97};function _0x112411(_0x44558b,_0xf97f6f){return _0x7afdbe(_0xf97f6f,_0x44558b- -_0x418d2f._0x3eb6c3);}function _0x4e328f(_0xb6932f,_0x58f854){return _0x54a7f1(_0xb6932f- -0x2da,_0x58f854);}let _0x49fbe3;try{const _0x453827=_0x30c49e['canvas'],_0x1c2945=new Cesium__namespace['Cartesian2'](_0x453827[_0x4e328f(0x11f,_0x5794d3._0x47564b)]/0x2,_0x453827[_0x112411(0xc9e,0x12c5)]/0x2),_0x210261=_0x30c49e['camera'][_0x4e328f(0x1390,0x11a6)](_0x1c2945);_0x49fbe3=_0x30c49e['globe'][_0x112411(_0x5794d3._0x2e86be,0x16)](_0x210261,_0x30c49e);!_0x49fbe3&&(_0x49fbe3=_0x30c49e['camera']['pickEllipsoid'](_0x1c2945));if(!_0x49fbe3){const _0xaff601=_0x453827['clientHeight']/0x64;let _0x27e1e7,_0x467794;for(let _0x218d6c=0x0;_0x218d6c<=0x64;_0x218d6c++){_0x1c2945['y']=_0xaff601*_0x218d6c;const _0x55a039=_0x30c49e[_0x112411(_0x5794d3._0x48fbe1,_0x5794d3._0x1d3343)][_0x112411(0x1206,0xe89)](_0x1c2945,_0x30c49e['globe']['ellipsoid']);if(_0x55a039){_0x27e1e7=_0x218d6c;break;}}for(let _0x5d2f7d=0x64;_0x5d2f7d>0x0;_0x5d2f7d--){_0x1c2945['y']=_0xaff601*_0x5d2f7d;const _0x544122=_0x30c49e[_0x4e328f(_0x5794d3._0x93253c,0x1fc)]['pickEllipsoid'](_0x1c2945,_0x30c49e['globe']['ellipsoid']);if(_0x544122){_0x467794=_0x5d2f7d;break;}}_0x1c2945['y']=Math['floor'](_0xaff601*(_0x27e1e7+(_0x467794-_0x27e1e7)/0x2)),_0x49fbe3=_0x30c49e['camera'][_0x4e328f(_0x5794d3._0x5f41bf,0x176c)](_0x1c2945,_0x30c49e['globe']['ellipsoid']);}_0x49fbe3&&(!_0x1d1e79&&(_0x49fbe3=LngLatPoint['fromCartesian'](_0x49fbe3)));}catch(_0x2b6f78){}return _0x49fbe3;}function getMapExtentPositions(_0x75d4f4){const _0x492714={_0x27530e:0x565,_0x2ffbd0:0x456,_0x21b8da:0x7c8,_0x445b57:0x5a,_0xcb2a94:0xf9,_0x1065b6:0x7c1,_0x1b51dc:0x25d,_0x435a76:0x188,_0x43941d:0x116b,_0x5418ce:0x841,_0x2df269:0xcfb,_0x48b1ab:0xb69},_0x40f1bf={_0x42a949:0x266},_0x4462d3={_0x25daac:0x39f},_0x162d36=_0x75d4f4['globe'][_0x2b4a6a(0x6a6,_0x492714._0x27530e)],_0x16e867=_0x75d4f4['canvas'],_0x23149a=_0x16e867['clientWidth']/0x2,_0xb7225a=_0x16e867[_0x2b4a6a(_0x492714._0x2ffbd0,0x768)]/0x2,_0x2b84a5=_0x16e867[_0x2b4a6a(-_0x492714._0x21b8da,_0x492714._0x445b57)]/0x64,_0x35154d=_0x16e867[_0x2b4a6a(-_0x492714._0xcb2a94,0x5a)]/0x64,_0x3192f4=new Cesium__namespace['Cartesian2'](_0x23149a,_0xb7225a);let _0x32e547,_0x855e1a,_0x38ce6c,_0x2e94cc;function _0x2b4a6a(_0xc7dac0,_0xa9725d){return _0x54a7f1(_0xa9725d- -_0x4462d3._0x25daac,_0xc7dac0);}let _0x3140a7=0x0,_0x6efb55=0x64;_0x3192f4['x']=_0x23149a;for(let _0x3f706c=0x0;_0x3f706c<0x64;_0x3f706c++){_0x3192f4['y']=_0x35154d*_0x3f706c;const _0x401a35=_0x75d4f4['camera']['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0x401a35){_0x3140a7=_0x3f706c,_0x855e1a=_0x401a35;break;}}for(let _0x5dde3a=0x64;_0x5dde3a>0x0;_0x5dde3a--){_0x3192f4['y']=_0x35154d*_0x5dde3a;const _0x317c17=_0x75d4f4[_0x2b4a6a(0x28c,0x1bc)]['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0x317c17){_0x6efb55=_0x5dde3a,_0x2e94cc=_0x317c17;break;}}let _0x1935a5=0x0,_0x2768ce=0x64;_0x3192f4['y']=_0x35154d*(_0x6efb55-_0x3140a7)/0x2;for(let _0x44523c=0x0;_0x44523c<0x64;_0x44523c++){_0x3192f4['x']=_0x2b84a5*_0x44523c;const _0x39c5e1=_0x75d4f4['camera']['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0x39c5e1){_0x1935a5=_0x44523c,_0x32e547=_0x39c5e1;break;}}for(let _0x5d7a37=0x64;_0x5d7a37>0x0;_0x5d7a37--){_0x3192f4['x']=_0x2b84a5*_0x5d7a37;const _0x1489cd=_0x75d4f4['camera']['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0x1489cd){_0x2768ce=_0x5d7a37,_0x38ce6c=_0x1489cd;break;}}let _0x15daab,_0x23e9e4,_0xc361b5,_0x11560b;_0x3192f4['x']=_0x2b84a5*_0x1935a5;for(let _0x2e9d89=_0x3140a7;_0x2e9d89<_0x6efb55;_0x2e9d89++){_0x3192f4['y']=_0x35154d*_0x2e9d89;const _0x4670d5=_0x75d4f4['camera']['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0x4670d5){_0x15daab=_0x4670d5;break;}}for(let _0x4a9d07=_0x6efb55;_0x4a9d07>_0x3140a7;_0x4a9d07--){_0x3192f4['y']=_0x35154d*_0x4a9d07;const _0xcd8c21=_0x75d4f4[_0x194fad(_0x492714._0x1065b6,-_0x492714._0x1b51dc)]['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0xcd8c21){_0x11560b=_0xcd8c21;break;}}_0x3192f4['x']=_0x2b84a5*_0x2768ce;for(let _0xf04b3c=_0x3140a7;_0xf04b3c<_0x6efb55;_0xf04b3c++){_0x3192f4['y']=_0x35154d*_0xf04b3c;const _0x598606=_0x75d4f4[_0x194fad(0x7c1,-_0x492714._0x435a76)]['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0x598606){_0x23e9e4=_0x598606;break;}}for(let _0x44afac=_0x6efb55;_0x44afac>_0x3140a7;_0x44afac--){_0x3192f4['y']=_0x35154d*_0x44afac;const _0xaef407=_0x75d4f4['camera']['pickEllipsoid'](_0x3192f4,_0x162d36);if(_0xaef407){_0xc361b5=_0xaef407;break;}}const _0x17b224=[];_0x855e1a&&_0x17b224['push'](_0x855e1a);_0x23e9e4&&_0x17b224['push'](_0x23e9e4);_0x38ce6c&&_0x17b224[_0x194fad(0x116e,_0x492714._0x43941d)](_0x38ce6c);_0xc361b5&&_0x17b224['push'](_0xc361b5);_0x2e94cc&&_0x17b224[_0x194fad(0x116e,_0x492714._0x5418ce)](_0x2e94cc);function _0x194fad(_0x3d6563,_0x40363f){return _0x54a7f1(_0x3d6563-_0x40f1bf._0x42a949,_0x40363f);}return _0x11560b&&_0x17b224['push'](_0x11560b),_0x32e547&&_0x17b224['push'](_0x32e547),_0x15daab&&_0x17b224[_0x2b4a6a(_0x492714._0x2df269,_0x492714._0x48b1ab)](_0x15daab),_0x17b224;}function formatRectangle(_0x55f109,_0x51a529=LngLatPoint['FormatLength']){const _0x58b4f2={_0x390d17:0x1327,_0x148e20:0xf67,_0x3abd55:0x616,_0x3dad00:0x981,_0x40049d:0x87f,_0x5dad8c:0x96a,_0x238fde:0x187d,_0x4d4990:0x106a},_0x475658={_0x390045:0x105},_0x59d42f={_0x13e0c8:0x26};let _0x269d96=formatNum$2(Cesium__namespace[_0x3048eb(0x13d5,_0x58b4f2._0x390d17)][_0x3fca82(0x1770,_0x58b4f2._0x148e20)](_0x55f109[_0x3048eb(_0x58b4f2._0x3abd55,0x8e0)]),_0x51a529),_0x2b19fb=formatNum$2(Cesium__namespace[_0x3fca82(_0x58b4f2._0x3dad00,0x12d2)]['toDegrees'](_0x55f109['east']),_0x51a529),_0x5b9c1c=formatNum$2(Cesium__namespace['Math']['toDegrees'](_0x55f109[_0x3fca82(_0x58b4f2._0x40049d,_0x58b4f2._0x5dad8c)]),_0x51a529),_0x1d9621=formatNum$2(Cesium__namespace[_0x3fca82(_0x58b4f2._0x238fde,0x12d2)][_0x3048eb(_0x58b4f2._0x4d4990,0x69f)](_0x55f109['south']),_0x51a529);if(_0x269d96>_0x2b19fb){const _0x2a43f1=_0x269d96;_0x269d96=_0x2b19fb,_0x2b19fb=_0x2a43f1;}if(_0x1d9621>_0x5b9c1c){const _0x4df991=_0x1d9621;_0x1d9621=_0x5b9c1c,_0x5b9c1c=_0x4df991;}const _0x53f9e1={};_0x53f9e1['xmin']=_0x269d96,_0x53f9e1[_0x3fca82(0xe1c,0x11b9)]=_0x2b19fb,_0x53f9e1['ymin']=_0x1d9621;function _0x3fca82(_0x1809aa,_0x59ed3e){return _0x54a7f1(_0x59ed3e-_0x59d42f._0x13e0c8,_0x1809aa);}function _0x3048eb(_0x487467,_0xc4865f){return _0x7afdbe(_0xc4865f,_0x487467- -_0x475658._0x390045);}return _0x53f9e1[_0x3048eb(0x1305,0xe46)]=_0x5b9c1c,_0x53f9e1[_0x3048eb(0x790,0xf31)]=_0x55f109['maxHeight'],_0x53f9e1;}function formatNum$2(_0x4686ac,_0x20d57a=0x0){const _0x4732de={_0x122b79:0x25e},_0x3cb73a={_0x3133b0:0x4f3},_0x5e5836=Math[_0x1213a6(0x2c2,-_0x4732de._0x122b79)](0xa,_0x20d57a);function _0x1213a6(_0xc337c9,_0x570f7c){return _0x54a7f1(_0x570f7c- -_0x3cb73a._0x3133b0,_0xc337c9);}return Math['round'](_0x4686ac*_0x5e5836)/_0x5e5836;}function getExtentByGeoJSON(_0x517d24){const _0x20dbab={_0xbb61ca:0xc3f,_0x359cde:0x133d};function _0x5c1573(_0x1041d1,_0x43b63d){return _0x7afdbe(_0x43b63d,_0x1041d1- -0x103);}const _0x35af01=bbox(_0x517d24);if(_0x35af01&&_0x35af01[_0x5c1573(0x10b0,0x166b)]===0x4){const _0x57eba6={};return _0x57eba6['xmin']=_0x35af01[0x0],_0x57eba6[_0x5c1573(_0x20dbab._0xbb61ca,_0x20dbab._0x359cde)]=_0x35af01[0x1],_0x57eba6['xmax']=_0x35af01[0x2],_0x57eba6['ymax']=_0x35af01[0x3],_0x57eba6;}function _0x121354(_0x54ae1a,_0x32e12e){return _0x54a7f1(_0x32e12e- -0x31e,_0x54ae1a);}return null;}function getRectangle(_0x3d380b,_0x5ef402){const _0x395570={_0x28f4ad:0x3ab,_0x1def4c:0x9a8,_0x888c01:0xb30,_0x17b4b3:0xf7d,_0x71b3fe:0x5af,_0x264fb8:0xcb},_0x767b44={_0x2d9c37:0x938,_0x5400d8:0x98a,_0xc42044:0x528,_0x4ccdf8:0xc2b,_0x3b3782:0x1473,_0x33e2a0:0xdb9,_0x4f27cb:0x4e7};if(!_0x3d380b)return null;for(let _0xc02894=_0x3d380b['length']-0x1;_0xc02894>=0x0;_0xc02894--){!Cesium__namespace['defined'](_0x3d380b[_0xc02894])&&_0x3d380b['splice'](_0xc02894,0x1);}if(_0x3d380b['length']===0x0)return null;const _0x4d3798=LngLatArray[_0xa642da(_0x395570._0x28f4ad,_0x395570._0x1def4c)](_0x3d380b),_0x541a01=_0x4d3798[0x0];let _0x47f6df=_0x541a01['longitude'],_0x1a35ba=_0x541a01['longitude'],_0x526ec2=_0x541a01['latitude'];function _0x593042(_0x5e1b99,_0xf6ef4d){return _0x54a7f1(_0xf6ef4d- -0x32f,_0x5e1b99);}function _0xa642da(_0x3aa841,_0x52a4fb){return _0x7afdbe(_0x3aa841,_0x52a4fb- -0x581);}let _0x1739d9=_0x541a01['latitude'],_0x4e9a54=_0x541a01[_0x593042(0x2a8,0x338)];_0x4d3798['forEach'](_0x939b24=>{const _0x169503={_0x1318ef:0x602};_0x47f6df=Math['min'](_0x47f6df,_0x939b24['longitude']);function _0x1342f1(_0x2f697a,_0x250fb5){return _0xa642da(_0x250fb5,_0x2f697a-_0x169503._0x1318ef);}_0x1a35ba=Math[_0x3f55b7(_0x767b44._0x2d9c37,_0x767b44._0x5400d8)](_0x1a35ba,_0x939b24[_0x3f55b7(0x357,_0x767b44._0xc42044)]),_0x526ec2=Math[_0x3f55b7(0x3f0,_0x767b44._0x4ccdf8)](_0x526ec2,_0x939b24[_0x1342f1(0xc86,_0x767b44._0x3b3782)]),_0x1739d9=Math['max'](_0x1739d9,_0x939b24['latitude']);function _0x3f55b7(_0x3c0db9,_0x13fdb3){return _0x593042(_0x3c0db9,_0x13fdb3-0x1af);}_0x4e9a54=Math[_0x1342f1(_0x767b44._0x33e2a0,0x6c7)](_0x4e9a54,_0x939b24[_0x3f55b7(0xf69,_0x767b44._0x4f27cb)]);});if(_0x5ef402)return{'xmin':Cesium__namespace[_0x593042(_0x395570._0x888c01,_0x395570._0x17b4b3)]['toDegrees'](_0x47f6df),'xmax':Cesium__namespace[_0xa642da(0xb91,0xf59)]['toDegrees'](_0x1a35ba),'ymin':Cesium__namespace['Math']['toDegrees'](_0x526ec2),'ymax':Cesium__namespace['Math'][_0x593042(0xa38,0xc12)](_0x1739d9),'height':_0x4e9a54};else{const _0x223376=Cesium__namespace[_0xa642da(_0x395570._0x71b3fe,0x1a6)]['fromRadians'](_0x47f6df,_0x526ec2,_0x1a35ba,_0x1739d9);return _0x223376[_0xa642da(_0x395570._0x264fb8,-0xf6)]=_0x4e9a54,_0x223376;}}function getPositionsRectVertex(_0x306544,_0x44deea=0x0){const _0x46dcfe={_0x57f201:0xdf1,_0x2abfb9:0xa63,_0x296444:0x695,_0xb8513b:0x10d6,_0x56bf5b:0x7af},_0x539b65={_0x5f1591:0x459};_0x306544=LngLatArray[_0x513293(_0x46dcfe._0x57f201,0x967)](_0x306544);const _0x2f5dfc=Cesium__namespace['Rectangle'][_0x513293(_0x46dcfe._0x2abfb9,_0x46dcfe._0x296444)](_0x306544),_0xe42b93=getMaxHeight(_0x306544);function _0x513293(_0x4e53c0,_0x56d73b){return _0x54a7f1(_0x56d73b-0x148,_0x4e53c0);}const _0x2de054={};_0x2de054['rectangle']=_0x2f5dfc,_0x2de054['rotation']=_0x44deea,_0x2de054[_0x513293(_0x46dcfe._0xb8513b,_0x46dcfe._0x56bf5b)]=_0xe42b93;function _0x3980a7(_0x60f771,_0x27809d){return _0x54a7f1(_0x60f771- -_0x539b65._0x5f1591,_0x27809d);}const _0x17d6dc=getRectangleOuterPositions(_0x2de054);return _0x17d6dc;}function getRectangleOuterPositions(_0x552c17){const _0x20fc8e={_0x114af5:0xd63,_0xc8e8c:0x13b3,_0x5ea383:0x14ed,_0x228938:0x14f9,_0x4bd9f3:0x7bb,_0x1d0283:0x13c6,_0x56616f:0x9b8,_0x2a5444:0x1084,_0x32d8df:0xd56,_0x4b8bf0:0x1320,_0x2e3a29:0x944,_0x287380:0xfe3,_0x215333:0xe6c,_0x59af5f:0xb9d,_0x17ea06:0x135b,_0x2c0691:0x115e,_0x1757fb:0x114a},_0x816166={_0x33c40b:0x1ba},_0x5adebf=_0x552c17[_0x47f916(0x143,-0x569)],_0x5e4cc1=_0x552c17['rotation']??0x0,_0x2fafc7=_0x552c17['height']??0x0;if(_0x5e4cc1===0x0)return[Cesium__namespace[_0x47f916(0x115e,0x1045)][_0x5608ab(0x967,0x13dc)](_0x5adebf[_0x5608ab(_0x20fc8e._0x114af5,0x561)],_0x5adebf['south'],_0x2fafc7),Cesium__namespace[_0x5608ab(_0x20fc8e._0xc8e8c,0x135b)]['fromRadians'](_0x5adebf['east'],_0x5adebf[_0x47f916(_0x20fc8e._0x5ea383,_0x20fc8e._0x228938)],_0x2fafc7),Cesium__namespace['Cartesian3']['fromRadians'](_0x5adebf['east'],_0x5adebf[_0x47f916(_0x20fc8e._0x4bd9f3,0x3a4)],_0x2fafc7),Cesium__namespace[_0x5608ab(0x18f0,0x135b)]['fromRadians'](_0x5adebf['west'],_0x5adebf[_0x5608ab(_0x20fc8e._0x1d0283,_0x20fc8e._0x56616f)],_0x2fafc7)];function _0x47f916(_0xb970eb,_0x8219a8){return _0x54a7f1(_0xb970eb- -0x189,_0x8219a8);}const _0x2af682=_0x552c17[_0x5608ab(0xda0,_0x20fc8e._0x2a5444)]??Cesium__namespace[_0x5608ab(_0x20fc8e._0x32d8df,_0x20fc8e._0x4b8bf0)]['RADIANS_PER_DEGREE'],_0x577d88=new Cesium__namespace['Rectangle'](),_0x507cb9=new Cesium__namespace[(_0x5608ab(0x12e9,_0x20fc8e._0x2e3a29))]();function _0x5608ab(_0x5b3487,_0x409b90){return _0x7afdbe(_0x5b3487,_0x409b90- -_0x816166._0x33c40b);}const _0x327e5d=Cesium__namespace['RectangleGeometryLibrary']['computeOptions'](_0x5adebf,_0x2af682,_0x5e4cc1,0x0,_0x577d88,_0x507cb9),_0x457161=_0x327e5d['height'],_0x1d12be=_0x327e5d['width'],_0x3b0281=_0x552c17[_0x47f916(0x77b,_0x20fc8e._0x287380)]??Cesium__namespace[_0x47f916(0x142c,_0x20fc8e._0x215333)][_0x5608ab(0x16cc,0xece)];let _0x6950c3=[new Cesium__namespace[(_0x5608ab(_0x20fc8e._0x59af5f,_0x20fc8e._0x17ea06))](),new Cesium__namespace[(_0x47f916(0x115e,0x1b9d))](),new Cesium__namespace[(_0x47f916(_0x20fc8e._0x2c0691,0x1212))](),new Cesium__namespace['Cartesian3']()];return Cesium__namespace['RectangleGeometryLibrary']['computePosition'](_0x327e5d,_0x3b0281,![],0x0,0x0,_0x6950c3[0x0]),Cesium__namespace['RectangleGeometryLibrary']['computePosition'](_0x327e5d,_0x3b0281,![],0x0,_0x1d12be-0x1,_0x6950c3[0x1]),Cesium__namespace[_0x5608ab(0x1a0d,_0x20fc8e._0x1757fb)]['computePosition'](_0x327e5d,_0x3b0281,![],_0x457161-0x1,_0x1d12be-0x1,_0x6950c3[0x2]),Cesium__namespace['RectangleGeometryLibrary']['computePosition'](_0x327e5d,_0x3b0281,![],_0x457161-0x1,0x0,_0x6950c3[0x3]),_0x2fafc7!==0x0&&(_0x6950c3=setPositionsHeight(_0x6950c3,_0x2fafc7)),_0x6950c3;}function getRectPositionsByCenter(_0x302c39){const _0x2c3400={_0x29635b:0x1226,_0x1fd6f4:0x68a,_0x421e2b:0x4e5,_0x2b3a1d:0xc7f,_0x229a70:0x4af,_0x3b640d:0x603,_0x5d5747:0x2b,_0x39037a:0x9cd,_0x3d4f81:0x58},_0x733149={_0x376b51:0x178},_0x4478a3={_0x1691bc:0x6bb},_0x45755c=LngLatPoint[_0x5a06c5(0xc11,_0x2c3400._0x29635b)](_0x302c39[_0x5a06c5(_0x2c3400._0x1fd6f4,-0x190)]),_0x505b94=_0x302c39['width'],_0x58cc52=_0x302c39['height'],_0x593d42=_0x302c39['rotation']??0x0,_0xb33fd7=_0x302c39['originX']??0.5,_0x557e7e=_0x302c39['originY']??0.5,_0x38f7c1=new Cesium__namespace[(_0x5a06c5(_0x2c3400._0x421e2b,0x633))](),_0x14e7f9=new Cesium__namespace[(_0xeb55cf(_0x2c3400._0x2b3a1d,0x4a6))](),_0x50223a=new Cesium__namespace[(_0xeb55cf(_0x2c3400._0x229a70,-0xb5))](),_0x553a63=[Cesium__namespace['Cartesian3']['fromElements'](-_0xb33fd7,-_0x557e7e,0x0),Cesium__namespace[_0xeb55cf(0x9e0,0xe5a)][_0xeb55cf(_0x2c3400._0x3b640d,_0x2c3400._0x5d5747)](0x1-_0xb33fd7,-_0x557e7e,0x0),Cesium__namespace['Cartesian3']['fromElements'](0x1-_0xb33fd7,0x1-_0x557e7e,0x0),Cesium__namespace['Cartesian3']['fromElements'](-_0xb33fd7,0x1-_0x557e7e,0x0)],_0x4d2fd3=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x45755c,Cesium__namespace['Ellipsoid'][_0xeb55cf(0x2c4,_0x2c3400._0x39037a)],_0x38f7c1),_0x3c2267=Cesium__namespace[_0x5a06c5(0xa40,_0x2c3400._0x3d4f81)]['fromAxisAngle'](Cesium__namespace[_0xeb55cf(0xf37,0xe5a)]['UNIT_Z'],_0x593d42,_0x14e7f9),_0x3364fc=Cesium__namespace['Matrix4']['fromTranslationQuaternionRotationScale'],_0x83c00f=_0x3364fc(Cesium__namespace['Cartesian3']['ZERO'],_0x3c2267,Cesium__namespace['Cartesian3']['fromElements'](_0x505b94,_0x58cc52),_0x50223a);function _0xeb55cf(_0x5e5320,_0x4ac590){return _0x7afdbe(_0x5e5320,_0x4ac590- -_0x4478a3._0x1691bc);}const _0x1189d7=Cesium__namespace['Matrix4']['multiply'](_0x4d2fd3,_0x83c00f,_0x83c00f);function _0x5a06c5(_0x16be2b,_0x1b14d6){return _0x54a7f1(_0x16be2b-0x10d,_0x1b14d6);}const _0xcd13fc=[];return _0x553a63['forEach'](function(_0x389257,_0x79dabc){function _0x3827c2(_0x4c2125,_0x7a28){return _0xeb55cf(_0x7a28,_0x4c2125-0x529);}typeof _0xcd13fc[_0x79dabc]==='undefined'&&(_0xcd13fc[_0x79dabc]=new Cesium__namespace['Cartesian3']());function _0x4ac18a(_0x27d2ba,_0x325d86){return _0x5a06c5(_0x27d2ba-_0x733149._0x376b51,_0x325d86);}Cesium__namespace[_0x3827c2(0x474,0x80e)][_0x3827c2(0xd85,0xd99)](_0x1189d7,_0x389257,_0xcd13fc[_0x79dabc]);}),_0xcd13fc;}function isInPoly(_0x3b8410,_0x2b66df){const _0x1ca61b={_0x3a2641:0x31c,_0x24daab:0xfba,_0x4fdd45:0xe57},_0xa72d13={_0x526012:0x273},_0x1b3920={_0x2477a3:0x35c},_0x230914={_0x147381:0x696},_0x52e4c1={_0x3d6af0:0x319};_0x2b66df=LngLatArray[_0x4f7b32(0x3b0,0x7da)](_0x2b66df),_0x3b8410=LngLatPoint['toCartesian'](_0x3b8410);if(!_0x3b8410)return![];const _0x4bf5f4=Cesium__namespace[_0x4f7b32(0xe7a,0x728)]['eastNorthUpToFixedFrame'](_0x3b8410),_0x3f5ab8=Cesium__namespace[_0x4f7b32(-0x312,0x393)]['inverse'](_0x4bf5f4,new Cesium__namespace[(_0x4f7b32(_0x1ca61b._0x3a2641,0x393))]()),_0x3cbcd1=[];_0x2b66df['forEach'](_0x383918=>{function _0x1df095(_0x3090c6,_0x5696ca){return _0x2ad995(_0x5696ca,_0x3090c6- -0xc6);}function _0x40809f(_0x2839f7,_0x5958af){return _0x4f7b32(_0x2839f7,_0x5958af- -_0x52e4c1._0x3d6af0);}_0x3cbcd1['push'](Cesium__namespace[_0x40809f(0x758,0x7a)]['multiplyByPoint'](_0x3f5ab8,_0x383918,new Cesium__namespace[(_0x1df095(0x10f3,_0x230914._0x147381))]()));});let _0x4344a8=Cesium__namespace['BoundingRectangle']['fromPoints'](_0x3cbcd1,new Cesium__namespace['BoundingRectangle']());_0x4344a8=new Cesium__namespace['Cartesian4'](_0x4344a8['x'],_0x4344a8['y'],_0x4344a8['x']+_0x4344a8['width'],_0x4344a8['y']+_0x4344a8['height']);function _0x2ad995(_0x2fcb6d,_0x22af2c){return _0x7afdbe(_0x2fcb6d,_0x22af2c- -_0x1b3920._0x2477a3);}const _0x561fb7=new Cesium__namespace['Cartesian3'](0x0,0x0,0x0);function _0x4f7b32(_0x16ca3c,_0x543efa){return _0x7afdbe(_0x16ca3c,_0x543efa- -_0xa72d13._0x526012);}if(_0x561fb7['x']>=_0x4344a8['x']&&_0x561fb7['x']<=_0x4344a8['z']&&_0x561fb7['y']>=_0x4344a8['y']&&_0x561fb7['y']<=_0x4344a8['w']){const _0x5d6d9d=_0x3cbcd1,_0x4c2830=_0x5d6d9d[_0x2ad995(_0x1ca61b._0x24daab,_0x1ca61b._0x4fdd45)];let _0x12f75e=0x0;for(let _0x21dcf1=0x0;_0x21dcf1<_0x4c2830;_0x21dcf1++){const _0x9266f7=_0x5d6d9d[_0x21dcf1];let _0x3e88ee;_0x21dcf1<_0x4c2830-0x1?_0x3e88ee=_0x5d6d9d[_0x21dcf1+0x1]:_0x3e88ee=_0x5d6d9d[0x0];if(_0x9266f7['y']===_0x3e88ee['y'])continue;if(_0x561fb7['y']<Math['min'](_0x9266f7['y'],_0x3e88ee['y']))continue;if(_0x561fb7['y']>=Math['max'](_0x9266f7['y'],_0x3e88ee['y']))continue;const _0x3f7e29=(_0x561fb7['y']-_0x9266f7['y'])*(_0x3e88ee['x']-_0x9266f7['x'])/(_0x3e88ee['y']-_0x9266f7['y'])+_0x9266f7['x'];_0x3f7e29>_0x561fb7['x']&&_0x12f75e++;}if(_0x12f75e%0x2===0x1)return!![];}return![];}function getBezierCurve(_0x40b120,_0x4dca85){const _0x72eebd={_0x19b718:0x14d3,_0x4f587a:0x309,_0x7c23f3:0xb91,_0x564d80:0x15ac,_0x159d85:0x10b1,_0x2a6ac4:0x5ed,_0x12bc5f:0x1138,_0x2e7af6:0x158a},_0x4625e1={_0x4f5b35:0x3f8};if(!_0x40b120||_0x40b120['length']<0x3)return _0x40b120;const _0x55a89e=LngLatArray['toArray'](_0x40b120);_0x4dca85!==null&&_0x4dca85!==void 0x0&&_0x4dca85[_0x1726e3(_0x72eebd._0x19b718,0x1567)]&&_0x55a89e['push'](_0x55a89e[0x0]);const _0x15076c=_0x55a89e[_0x55a89e[_0x1726e3(0xdbb,_0x72eebd._0x4f587a)]-0x1][0x2],_0x16c595={};_0x16c595['type']='LineString',_0x16c595[_0x561b69(0x7f1,0xd5f)]=_0x55a89e;const _0x161993={};function _0x561b69(_0x4c6a92,_0xe0e658){return _0x7afdbe(_0x4c6a92,_0xe0e658- -0x253);}_0x161993['type']=_0x561b69(_0x72eebd._0x7c23f3,_0x72eebd._0x564d80),_0x161993['geometry']=_0x16c595;const _0x1e5c30={};_0x1e5c30['resolution']=(_0x4dca85===null||_0x4dca85===void 0x0?void 0x0:_0x4dca85[_0x1726e3(_0x72eebd._0x159d85,_0x72eebd._0x2a6ac4)])??0x2710,_0x1e5c30[_0x561b69(0x1193,0xc64)]=(_0x4dca85===null||_0x4dca85===void 0x0?void 0x0:_0x4dca85[_0x1726e3(0xabf,_0x72eebd._0x12bc5f)])??0.85;const _0x320c60=bezierSpline(_0x161993,_0x1e5c30),_0x202598=lonlats2cartesians(_0x320c60[_0x561b69(0x1362,_0x72eebd._0x2e7af6)]['coordinates'],_0x15076c);_0x4dca85!==null&&_0x4dca85!==void 0x0&&_0x4dca85['closure']&&_0x202598['push'](_0x202598[0x0]);function _0x1726e3(_0x53f788,_0x3f38ce){return _0x7afdbe(_0x3f38ce,_0x53f788- -_0x4625e1._0x4f5b35);}return _0x202598;}function simplifyPositions(_0x363262,_0x1f759f){if(!_0x363262||_0x363262['length']<0x3)return _0x363262;const _0x706c8b=LngLatArray['toArray'](_0x363262);_0x1f759f!==null&&_0x1f759f!==void 0x0&&_0x1f759f['closure']&&_0x706c8b['push'](_0x706c8b[0x0]);const _0x38523c=simplify(_0x706c8b,_0x1f759f);return _0x38523c;}function interPolyline(_0x34a40e){const _0xb42712={_0x4aa726:0xb12,_0x4b738a:0x424,_0x47c36f:0xaf5,_0x1ca141:0x302,_0x38fa70:0xfa,_0x210a6d:0x845,_0x58276d:0xa0f,_0xd7ba9a:0x815,_0x135e6e:0xcc5},_0x42c9f9={_0x550b75:0x3c0},_0x3f31ae={_0x71c154:0x243},_0x3c5d76=LngLatArray['toCartesians'](_0x34a40e[_0x3942a4(0xf5d,0x1425)]),_0x5c4f09=_0x34a40e['scene'];let _0x58b3a0;!Cesium__namespace['defined'](_0x34a40e['minDistance'])&&(_0x58b3a0=getGranularity(_0x3c5d76,_0x34a40e['splitNum']||(_0x34a40e['has3dtiles']?0xa:0x64)),_0x58b3a0<=0x0&&(_0x58b3a0=null));const _0x3f0e7d={};_0x3f0e7d['positions']=_0x3c5d76,_0x3f0e7d[_0x2ac42a(_0xb42712._0x4aa726,_0xb42712._0x4b738a)]=_0x34a40e['height'];function _0x2ac42a(_0x3c2ce4,_0x30df46){return _0x54a7f1(_0x30df46- -_0x3f31ae._0x71c154,_0x3c2ce4);}_0x3f0e7d['minDistance']=_0x34a40e['minDistance'],_0x3f0e7d['granularity']=_0x58b3a0;function _0x3942a4(_0x92c5a1,_0x57fad1){return _0x7afdbe(_0x57fad1,_0x92c5a1- -_0x42c9f9._0x550b75);}const _0x44bb5f=Cesium__namespace[_0x3942a4(0xf79,0x16ff)]['generateArc'](_0x3f0e7d),_0x16e63e=[];for(let _0x2afbb2=0x0;_0x2afbb2<_0x44bb5f['length'];_0x2afbb2+=0x3){let _0x1fa3d1=Cesium__namespace['Cartesian3']['unpack'](_0x44bb5f,_0x2afbb2);if(_0x5c4f09&&(_0x34a40e['surfaceHeight']??!![])){delete _0x34a40e['callback'];const _0x81f5b0=getHeight(_0x5c4f09,_0x1fa3d1,_0x34a40e),_0x4e580d=Cesium__namespace[_0x3942a4(0x73e,_0xb42712._0x47c36f)][_0x2ac42a(_0xb42712._0x1ca141,_0xb42712._0x38fa70)](_0x1fa3d1);_0x1fa3d1=Cesium__namespace['Cartesian3']['fromRadians'](_0x4e580d['longitude'],_0x4e580d[_0x3942a4(_0xb42712._0x210a6d,_0xb42712._0x58276d)],_0x81f5b0);}_0x16e63e[_0x2ac42a(_0xb42712._0xd7ba9a,_0xb42712._0x135e6e)](_0x1fa3d1);}return _0x16e63e;}function interLine(_0x4b816d,_0x1478c8={}){const _0x57fdbb={_0x1713a7:0x778,_0x6c2918:0x1164,_0x3b3396:0xd2b,_0x8ece70:0x1099,_0x413916:0xee3,_0x476b6c:0xbc1,_0x3b77d7:0x71,_0x29fac5:0x3b2,_0x590f49:0x124d,_0x5332fd:0x7a3,_0x581f74:0x8e8},_0x17c494={_0x247c50:0x3c4};if(!_0x4b816d||_0x4b816d[_0x32107b(0x981,0xe58)]<0x2)return _0x4b816d;function _0x932a11(_0x1ecc67,_0x1eb917){return _0x54a7f1(_0x1ecc67- -_0x17c494._0x247c50,_0x1eb917);}_0x4b816d=LngLatArray['toCartesians'](_0x4b816d);let _0x290476;_0x1478c8['splitNum']&&!Cesium__namespace['defined'](_0x1478c8['minDistance'])&&(_0x290476=getGranularity(_0x4b816d,_0x1478c8[_0x932a11(_0x57fdbb._0x1713a7,0x51e)]),_0x290476<=0x0&&(_0x290476=null));if(_0x1478c8[_0x932a11(0x4eb,-0x320)]==='auto'){let _0x6ad38a=Number[_0x932a11(0xcdb,0xc8b)];for(let _0x5eb419=0x1,_0x52937a=_0x4b816d[_0x32107b(0xc22,0xe58)];_0x5eb419<_0x52937a;_0x5eb419++){_0x6ad38a=Math['min'](_0x6ad38a,Cesium__namespace['Cartesian3'][_0x32107b(0x15d7,_0x57fdbb._0x6c2918)](_0x4b816d[_0x5eb419-0x1],_0x4b816d[_0x5eb419]));}_0x1478c8['minDistance']=_0x6ad38a;}const _0x3d045e=[_0x4b816d[0x0]];function _0x32107b(_0x4e22d6,_0x523f46){return _0x7afdbe(_0x4e22d6,_0x523f46- -0x35b);}for(let _0xb2039e=0x1,_0x588e74=_0x4b816d['length'];_0xb2039e<_0x588e74;_0xb2039e++){const _0x29cc19=_0x4b816d[_0xb2039e-0x1],_0x3ae87e=_0x4b816d[_0xb2039e],_0x1cdd4d={};_0x1cdd4d[_0x932a11(_0x57fdbb._0x3b3396,0x69f)]=[_0x29cc19,_0x3ae87e],_0x1cdd4d['minDistance']=_0x1478c8['minDistance'],_0x1cdd4d[_0x32107b(_0x57fdbb._0x8ece70,_0x57fdbb._0x413916)]=_0x290476;const _0x1fbe85=Cesium__namespace['PolylinePipeline']['generateArc'](_0x1cdd4d),_0x2cc9ca=Cesium__namespace['Cartographic']['fromCartesian'](_0x29cc19)['height'],_0x3bfaa8=Cesium__namespace['Cartographic']['fromCartesian'](_0x3ae87e)[_0x932a11(0x2a3,-0x63d)],_0x2c93e7=(_0x3bfaa8-_0x2cc9ca)/_0x1fbe85['length'];for(let _0x5cf1e3=0x3,_0x225b7e=_0x1fbe85[_0x932a11(_0x57fdbb._0x476b6c,0x38c)];_0x5cf1e3<_0x225b7e;_0x5cf1e3+=0x3){let _0x3d14a1=Cesium__namespace['Cartesian3'][_0x932a11(-_0x57fdbb._0x3b77d7,-_0x57fdbb._0x29fac5)](_0x1fbe85,_0x5cf1e3);const _0x26a26f=Cesium__namespace[_0x32107b(_0x57fdbb._0x590f49,_0x57fdbb._0x5332fd)][_0x32107b(-0x717,0x210)](_0x3d14a1),_0x2a639b=Number((_0x2cc9ca+_0x2c93e7*_0x5cf1e3)[_0x32107b(0x161d,0xffc)](0x1));_0x3d14a1=Cesium__namespace['Cartesian3']['fromRadians'](_0x26a26f[_0x32107b(_0x57fdbb._0x581f74,0x57b)],_0x26a26f['latitude'],_0x2a639b),_0x3d045e['push'](_0x3d14a1);}}return _0x3d045e;}function computeSurfaceLine(_0x5dbb57){const _0xd9c07b={_0x481480:0xb83},_0x152246={..._0x5dbb57};_0x152246['surfaceHeight']=![];const _0x372b7a=interPolyline(_0x152246),_0x5096e4=[];function _0x3e960b(_0x2d988c,_0xf40523){return _0x7afdbe(_0x2d988c,_0xf40523- -0x162);}for(let _0x11494d=0x0,_0xaaa8dd=_0x372b7a[_0x427af7(0x153b,0xd8d)];_0x11494d<_0xaaa8dd;++_0x11494d){_0x5096e4[_0x427af7(0x62c,0xd10)](_0x372b7a[_0x11494d]['clone']());}_0x5dbb57['positions']=_0x5096e4;function _0x427af7(_0x5c7c02,_0x15a533){return _0x54a7f1(_0x15a533- -0x1f8,_0x5c7c02);}return new SurfacePoints(_0x5dbb57)[_0x3e960b(_0xd9c07b._0x481480,0x9f7)]();}function computeSurfacePoints(_0x2b7bbd){return new SurfacePoints(_0x2b7bbd)['start']();}function computeStepSurfaceLine(_0x2cebdc){const _0x380e1d={_0x5178af:0x948,_0x6e27d2:0xc19},_0x5f37df={_0x52a9ee:0x731},_0x572b2b={_0x452a47:0x3ab},_0x1d52f6={_0x3f9e99:0x343},_0xa6e82c=_0x2cebdc['positions'],_0x5a4287=[],_0x427dbc={};function _0x1bca63(_0xdb31c,_0x4f7979){return _0x7afdbe(_0xdb31c,_0x4f7979- -_0x1d52f6._0x3f9e99);}function _0x5b90db(_0x12aeb9,_0x50224a){return _0x54a7f1(_0x12aeb9- -_0x572b2b._0x452a47,_0x50224a);}for(const _0x1e8b1a in _0x2cebdc){if(_0x1e8b1a==='positions'||_0x1e8b1a===_0x1bca63(_0x380e1d._0x5178af,0x10c8)||_0x1e8b1a===_0x1bca63(_0x380e1d._0x6e27d2,0x5de)||_0x1e8b1a==='endItem')continue;_0x427dbc[_0x1e8b1a]=_0x2cebdc[_0x1e8b1a];}return new Promise((_0x3e83c5,_0x4194f3)=>{const _0x5bea44={_0x1a810b:0x324};setTimeout(()=>{const _0x5c2864={_0x5d0a1d:0x15da,_0x23e10d:0x34e},_0x5f2e8c={_0x53dc56:0xb5d};let _0x5aa6ab=0x0;const _0x21660d=_0xa6e82c[_0xbdddb9(0xb3a,_0x5f37df._0x52a9ee)]-0x1;function _0x5de557(){const _0x57fc90={_0x3b7844:0x11d},_0x2c9850={_0x29c21f:0x1e6},_0x4dc7d9={_0x32fea7:0x24d};if(_0x5aa6ab>=_0x21660d){_0x2cebdc[_0x377db6(0x187f,0xf78)]&&_0x2cebdc['callback'](_0x5a4287);_0x2cebdc['end']&&_0x2cebdc['end'](_0x5a4287);_0x3e83c5(_0x5a4287);return;}const _0x3ff584={..._0x2cebdc};_0x3ff584[_0x377db6(0x790,0xe8a)]=[_0xa6e82c[_0x5aa6ab],_0xa6e82c[_0x5aa6ab+0x1]],_0x3ff584[_0x377db6(_0x5c2864._0x5d0a1d,0xddd)]=![],_0x427dbc['positions']=interPolyline(_0x3ff584);function _0x392531(_0x435864,_0x409ba2){return _0xbdddb9(_0x435864-_0x4dc7d9._0x32fea7,_0x409ba2);}function _0x377db6(_0x45518e,_0x468bf4){return _0xbdddb9(_0x468bf4-_0x2c9850._0x29c21f,_0x45518e);}new SurfacePoints(_0x427dbc)['start']()[_0x377db6(-0x437,_0x5c2864._0x23e10d)](_0x5b543a=>{function _0x4eabe9(_0x3f3645,_0x1f96df){return _0x392531(_0x1f96df- -_0x57fc90._0x3b7844,_0x3f3645);}_0x2cebdc[_0x4eabe9(0x8b7,_0x5f2e8c._0x53dc56)]&&_0x2cebdc['endItem'](_0x5b543a['positions'],_0x5b543a['noHeight'],_0x5aa6ab),_0x5a4287['push'](_0x5b543a['positions']),_0x5aa6ab++,_0x5de557();});}function _0xbdddb9(_0x255eda,_0xb8ea1f){return _0x536c(_0x255eda- -_0x5bea44._0x1a810b,_0xb8ea1f);}_0x5de557();},0x32);});}function getLinkedPointList(_0x31ac3b,_0x561605,_0x63717c,_0x757680){const _0x309cac={_0x29bcf3:0xf54,_0x5b8b5d:0xcff,_0x8d6183:0x4b2,_0x5d3392:0xfaa,_0x4191d6:0x10cc,_0x9c9f51:0x161c,_0x3a612d:0x142e,_0x21e6b4:0xf34,_0xf62c1b:0x5bd,_0x192a40:0x137,_0x3bac85:0x3a6,_0x35234e:0x170b,_0x56154b:0x12f,_0x632a35:0x15ca,_0xa3fcbe:0x15a5},_0x1a4504=[];_0x31ac3b=LngLatPoint['toCartesian'](_0x31ac3b),_0x561605=LngLatPoint['toCartesian'](_0x561605);if(Cesium__namespace[_0x4d0220(0xfaa,0xee6)][_0x4d0220(_0x309cac._0x29bcf3,_0x309cac._0x5b8b5d)](_0x31ac3b,_0x561605)===0x0)return _0x1a4504;const _0x3efa0e=getSurfaceDistance$1(_0x31ac3b,_0x561605)*_0x63717c,_0xb3ee64=Cesium__namespace[_0x4d0220(0xfaa,0x11c8)][_0x4d0220(_0x309cac._0x8d6183,0x5d2)](_0x31ac3b),_0x50774a=Cesium__namespace[_0x6c6032(0x142e,0x1df3)]['clone'](_0x561605),_0xe1b542=Cesium__namespace[_0x4d0220(_0x309cac._0x5d3392,0x84f)][_0x4d0220(0xf54,_0x309cac._0x4191d6)](_0xb3ee64,Cesium__namespace['Cartesian3'][_0x4d0220(0xfaf,_0x309cac._0x9c9f51)]);function _0x4d0220(_0x16804d,_0x544c81){return _0x7afdbe(_0x544c81,_0x16804d- -0x56b);}const _0x55b13a=Cesium__namespace['Cartesian3']['distance'](_0x50774a,Cesium__namespace['Cartesian3']['ZERO']);Cesium__namespace[_0x6c6032(0x142e,0xabf)]['normalize'](_0xb3ee64,_0xb3ee64),Cesium__namespace[_0x6c6032(_0x309cac._0x3a612d,0x9bf)][_0x4d0220(_0x309cac._0x21e6b4,_0x309cac._0xf62c1b)](_0x50774a,_0x50774a);const _0x22cd8e=Cesium__namespace['Cartesian3']['angleBetween'](_0xb3ee64,_0x50774a);_0x1a4504[_0x4d0220(0xbcb,0x57d)](_0x31ac3b);function _0x6c6032(_0x5654a5,_0x2602fd){return _0x7afdbe(_0x2602fd,_0x5654a5- -0xe7);}for(let _0x11b105=0x1;_0x11b105<_0x757680-0x1;_0x11b105++){const _0x49bd27=_0x11b105*0x1/(_0x757680-0x1),_0x19a480=0x1-_0x49bd27,_0x2b2de2=Math['sin'](_0x19a480*_0x22cd8e)/Math['sin'](_0x22cd8e),_0x5af7c2=Math['sin'](_0x49bd27*_0x22cd8e)/Math[_0x4d0220(_0x309cac._0x192a40,_0x309cac._0x3bac85)](_0x22cd8e),_0x28d23a=Cesium__namespace[_0x4d0220(0xfaa,0x6af)]['multiplyByScalar'](_0xb3ee64,_0x2b2de2,new Cesium__namespace[(_0x4d0220(_0x309cac._0x5d3392,_0x309cac._0x35234e))]()),_0x249aec=Cesium__namespace[_0x4d0220(_0x309cac._0x5d3392,0x1091)][_0x6c6032(0x5cd,_0x309cac._0x56154b)](_0x50774a,_0x5af7c2,new Cesium__namespace[(_0x4d0220(0xfaa,_0x309cac._0x632a35))]());let _0x5101bf=Cesium__namespace[_0x6c6032(0x142e,_0x309cac._0xa3fcbe)]['add'](_0x28d23a,_0x249aec,new Cesium__namespace['Cartesian3']());const _0x194797=_0x49bd27*Math['PI'],_0x205916=_0xe1b542*_0x19a480+_0x55b13a*_0x49bd27+Math['sin'](_0x194797)*_0x3efa0e;_0x5101bf=Cesium__namespace['Cartesian3'][_0x4d0220(0x149,-0x614)](_0x5101bf,_0x205916,_0x5101bf),_0x1a4504['push'](_0x5101bf);}return _0x1a4504['push'](_0x561605),_0x1a4504;}function getSurfaceDistance$1(_0x561a52,_0x30abe4){const _0x12d332={_0x533fbf:0x399},_0xf21460=Cesium__namespace['Cartographic']['fromCartesian'](_0x561a52),_0x14dda0=Cesium__namespace[_0xed4882(_0x12d332._0x533fbf,0x3d5)]['fromCartesian'](_0x30abe4),_0x1b8306=_0xf21460['longitude']*0xb4/Math['PI'],_0x10c6e6=_0xf21460['latitude']*0xb4/Math['PI'],_0x55fc27=_0x14dda0['longitude']*0xb4/Math['PI'],_0x2ff577=_0x14dda0['latitude']*0xb4/Math['PI'];function _0xed4882(_0x1dd78a,_0x2f083f){return _0x54a7f1(_0x2f083f- -0x4fb,_0x1dd78a);}const _0x1066ed=Math['sqrt']((_0x1b8306-_0x55fc27)*(_0x1b8306-_0x55fc27)+(_0x10c6e6-_0x2ff577)*(_0x10c6e6-_0x2ff577));return _0x1066ed;}function getOffsetLine(_0x505021,_0x503c13){const _0x1959af={_0x2d1e31:0x6c0,_0x1bbaab:0x139d};function _0x480963(_0x362781,_0x442887){return _0x54a7f1(_0x442887-0x1b,_0x362781);}function _0x5250ae(_0x185256,_0x1c5c4e){return _0x7afdbe(_0x1c5c4e,_0x185256- -0x694);}_0x505021=LngLatArray['toCartesians'](_0x505021);const _0x4550e6=[];for(let _0x28e966=0x1;_0x28e966<_0x505021['length'];_0x28e966++){const _0x4dc308=_0x505021[_0x28e966-0x1],_0x3cced3=_0x505021[_0x28e966],_0x4f46d6=Cesium__namespace['Cartesian3'][_0x480963(-0x2e3,_0x1959af._0x2d1e31)](_0x4dc308,_0x3cced3,new Cesium__namespace[(_0x480963(_0x1959af._0x1bbaab,0x1302))]()),_0x5d94ff=Cesium__namespace['Cartesian3']['cross'](_0x4dc308,_0x4f46d6,new Cesium__namespace['Cartesian3']()),_0x26acca=computedOffsetData(_0x4dc308,_0x5d94ff,_0x503c13*0x3e8),_0x2af658=computedOffsetData(_0x3cced3,_0x5d94ff,_0x503c13*0x3e8);_0x28e966===0x1&&_0x4550e6['push'](_0x26acca),_0x4550e6[_0x480963(0x19c3,0xf23)](_0x2af658);}return _0x4550e6;}function computedOffsetData(_0x36d07f,_0x525f6c,_0x50bb4a){const _0x5e86c4={_0x4057ca:0xc77,_0x483bb6:0x8d5,_0x518e2f:0x1665,_0x1cc495:0x1540,_0x33f0cc:0x1842},_0x165db0={_0x52a24d:0x2b};function _0x4f788f(_0x2de2dd,_0x4e7dd1){return _0x7afdbe(_0x4e7dd1,_0x2de2dd-_0x165db0._0x52a24d);}const _0x4f9ef2=new Cesium__namespace[(_0x4f788f(_0x5e86c4._0x4057ca,_0x5e86c4._0x483bb6))](_0x36d07f,_0x525f6c);function _0x3eae4c(_0x5c4cb2,_0x5e812e){return _0x7afdbe(_0x5e812e,_0x5c4cb2- -0x637);}return Cesium__namespace[_0x4f788f(0xc77,_0x5e86c4._0x518e2f)]['getPoint'](_0x4f9ef2,_0x50bb4a,new Cesium__namespace[(_0x4f788f(_0x5e86c4._0x1cc495,_0x5e86c4._0x33f0cc))]());}function sliceByMaxDistance(_0x9bb6e5,_0xd5fe1f,_0x52c6ba={}){const _0x5164d6={_0x52eda4:0xdc2};if(!_0x9bb6e5||_0x9bb6e5['length']<0x2)return _0x52c6ba['point']?_0x9bb6e5['length']===0x1?_0x9bb6e5[0x0]:undefined:_0x9bb6e5;function _0x21a3bc(_0x428412,_0x5d3597){return _0x54a7f1(_0x5d3597- -0x3b9,_0x428412);}_0x9bb6e5=LngLatArray['toCartesians'](_0x9bb6e5);function _0x27ebc5(_0x1d97db,_0x54c3b5){return _0x54a7f1(_0x1d97db- -0x129,_0x54c3b5);}for(let _0x159918=_0x9bb6e5['length']-0x1;_0x159918>=0x1;_0x159918--){const _0x47f1ad=_0x9bb6e5[_0x159918],_0x1fffa5=_0x9bb6e5[_0x159918-0x1],_0x4565a0=Cesium__namespace['Cartesian3'][_0x27ebc5(0x1168,_0x5164d6._0x52eda4)](_0x47f1ad,_0x1fffa5);_0xd5fe1f-=_0x4565a0;if(_0xd5fe1f===0x0)return _0x52c6ba[_0x21a3bc(0x11f6,0x963)]?_0x47f1ad:_0x9bb6e5[_0x27ebc5(0x6e2,0xce6)](_0x159918);else{if(_0xd5fe1f<0x0){_0xd5fe1f+=_0x4565a0;const _0x206d06=getOnLinePointByLen(_0x47f1ad,_0x1fffa5,_0xd5fe1f);return _0x52c6ba[_0x27ebc5(0xbf3,0x5f6)]?_0x206d06:[_0x206d06]['concat'](_0x9bb6e5['slice'](_0x159918));}}}return _0x52c6ba[_0x21a3bc(0x1a2,0x963)]?_0x9bb6e5[_0x9bb6e5['length']-0x1]:_0x9bb6e5;}function convex(_0x5be537,_0x3ee684){const _0x3b0bf1={_0x2ec8e3:0x1255,_0x43e1d1:0x1233,_0x329a9d:0xef5,_0x484dc0:0x423},_0x14cbec={_0xf0a2f9:0x5aa};if(_0x5be537['length']>0x0){const _0x1b394b=[];for(let _0x3f59bc=0x0;_0x3f59bc<_0x5be537['length'];_0x3f59bc++){const _0x18f2af={};_0x18f2af['type']=_0x16a1c3(0x1712,0x129a),_0x18f2af['coordinates']=_0x5be537[_0x3f59bc];const _0x4a538f={};_0x4a538f['type']=_0x499104(_0x3b0bf1._0x2ec8e3,0x1b08),_0x4a538f[_0x499104(_0x3b0bf1._0x43e1d1,0x1cf7)]=_0x18f2af,_0x1b394b['push'](_0x4a538f);}const _0x16418a={};_0x16418a[_0x499104(0x4ba,_0x3b0bf1._0x329a9d)]='FeatureCollection',_0x16418a[_0x499104(0x190,-_0x3b0bf1._0x484dc0)]=_0x1b394b;const _0x367db7=convex$1(_0x16418a,_0x3ee684);if(_0x367db7){var _0x30d2a5;const _0x14550d=_0x367db7===null||_0x367db7===void 0x0||(_0x30d2a5=_0x367db7['geometry'])===null||_0x30d2a5===void 0x0?void 0x0:_0x30d2a5['coordinates'];_0x14550d&&_0x14550d['length']>0x0&&(_0x5be537=_0x14550d[0x0]);}}function _0x16a1c3(_0x5caf02,_0x3c0cc9){return _0x54a7f1(_0x3c0cc9-0x1df,_0x5caf02);}function _0x499104(_0xba3bc0,_0x3607be){return _0x7afdbe(_0x3607be,_0xba3bc0- -_0x14cbec._0xf0a2f9);}return _0x5be537;}function getGridPoints(_0x1b7bd6,_0x5148f0,_0x5176dd){const _0x13f69c={_0x3cbcbc:0x81d,_0x33783f:0xe32,_0x44eae5:0x1378,_0x33e2e9:0x9b3,_0x4f1035:0x9d2,_0x3f989a:0xb18,_0x156578:0x1511,_0x10ebdd:0xbb,_0x329ba6:0x170,_0x2ae9cb:0x1f4},_0x3b5140={_0xac80c0:0x1272,_0x5e85cd:0x16e3,_0x25dddc:0xa47,_0x2d8196:0x5ae},_0x472354={_0x3165a9:0x3c},_0xef4ae3=Cesium__namespace['Cartesian3'][_0x435be6(0xe40,0xc4d)](Cesium__namespace['Cartesian3'][_0x4b43f0(-0x18f,0x935)](_0x1b7bd6[0x0],_0x1b7bd6[0x1]),Cesium__namespace[_0x4b43f0(_0x13f69c._0x3cbcbc,_0x13f69c._0x33783f)][_0x4b43f0(_0x13f69c._0x44eae5,0x935)](_0x1b7bd6[0x2],_0x1b7bd6[0x3]))/(Math['sqrt'](0x2)*0x3e8),_0x16ec0e=_0xef4ae3/Math[_0x435be6(_0x13f69c._0x33e2e9,_0x13f69c._0x4f1035)](_0x5148f0),_0xa8aca8={};_0xa8aca8[_0x435be6(_0x13f69c._0x3f989a,0xc7f)]=_0x4b43f0(_0x13f69c._0x156578,0xb0f);const _0x10e89e=pointGrid(_0x1b7bd6,_0x16ec0e,_0xa8aca8);function _0x435be6(_0x1e217a,_0x16904e){return _0x54a7f1(_0x1e217a- -0x451,_0x16904e);}const _0x806a87=[];_0x10e89e[_0x435be6(_0x13f69c._0x10ebdd,-_0x13f69c._0x329ba6)][_0x435be6(_0x13f69c._0x2ae9cb,0x42d)](_0x29fcbb=>{function _0x3d9a45(_0xfab4bf,_0x4334f7){return _0x435be6(_0xfab4bf-0x114,_0x4334f7);}function _0x3db457(_0xd2af92,_0x238267){return _0x435be6(_0x238267-_0x472354._0x3165a9,_0xd2af92);}const _0x3ae244=_0x29fcbb[_0x3d9a45(_0x3b5140._0xac80c0,_0x3b5140._0x5e85cd)][_0x3d9a45(_0x3b5140._0x25dddc,_0x3b5140._0x2d8196)];_0x806a87['push'](new LngLatPoint(_0x3ae244[0x0],_0x3ae244[0x1],_0x5176dd));});function _0x4b43f0(_0x8c5fed,_0x4ad920){return _0x7afdbe(_0x8c5fed,_0x4ad920- -0x6e3);}return{'points':_0x806a87,'radius':Math['floor'](_0x16ec0e*0x3e8/0x2)};}function getGridPointsByPoly(_0x3eac19,_0x5bcb95,_0x5bd69d){const _0x2d3948={_0x4bf95d:0x1154,_0x327890:0x1326,_0x20fffc:0x836},_0xdaf903={_0x1b4bd8:0x457,_0x167179:0xb9d,_0x399237:0x83e},_0x27e33d={_0x136695:0x165},_0x52a7c7={_0x8c3a85:0x1cf};if(_0x3eac19[_0x3508da(0x129a,_0x2d3948._0x4bf95d)]<0x3)return;const _0x5c7847=LngLatArray[_0x1c0980(0xcac,_0x2d3948._0x327890)](_0x3eac19),_0x46626f=Cesium__namespace['defined'](_0x5bd69d),_0x4c5aeb=_0x5c7847[0x0];let _0x3f5b8c=_0x4c5aeb['longitude'],_0x278e47=_0x4c5aeb[_0x3508da(0xf56,0x877)],_0x114a00=_0x4c5aeb['latitude'],_0x48963c=_0x4c5aeb[_0x1c0980(0x988,0x42a)];function _0x1c0980(_0x5ec2bf,_0x14d814){return _0x7afdbe(_0x14d814,_0x5ec2bf- -0x27d);}let _0x388a6c=_0x46626f?_0x5bd69d:_0x4c5aeb[_0x3508da(0xe4a,_0x2d3948._0x20fffc)];function _0x3508da(_0x88d406,_0x1c1bd1){return _0x54a7f1(_0x1c1bd1-_0x52a7c7._0x8c3a85,_0x88d406);}const _0x2367b8=_0x5c7847['map'](_0x11895d=>{const _0x2aadfc={_0x5cb0a4:0x215};_0x3f5b8c=Math[_0x217b91(0x13fe,0xe15)](_0x3f5b8c,_0x11895d['longitude']),_0x278e47=Math['max'](_0x278e47,_0x11895d[_0x1456fe(_0xdaf903._0x1b4bd8,0x86e)]),_0x114a00=Math['min'](_0x114a00,_0x11895d[_0x1456fe(0x689,_0xdaf903._0x167179)]),_0x48963c=Math['max'](_0x48963c,_0x11895d['latitude']);function _0x1456fe(_0x1265c6,_0x38515e){return _0x1c0980(_0x38515e-_0x2aadfc._0x5cb0a4,_0x1265c6);}!_0x46626f&&(_0x388a6c=Math[_0x1456fe(_0xdaf903._0x399237,0xcd0)](_0x388a6c,_0x11895d['height']));function _0x217b91(_0x2dbd90,_0x1dea9c){return _0x3508da(_0x2dbd90,_0x1dea9c- -_0x27e33d._0x136695);}return _0x11895d;}),_0x507d09=[],_0x2b5f54=_0x278e47-_0x3f5b8c,_0x17e980=_0x48963c-_0x114a00,_0x28ea08=_0x5bcb95/distanceCoor([_0x3f5b8c,_0x114a00],[_0x278e47,_0x114a00]),_0x317084=_0x5bcb95/distanceCoor([_0x3f5b8c,_0x114a00],[_0x3f5b8c,_0x48963c]),_0x56e18c=_0x28ea08*_0x2b5f54,_0x1e5ade=_0x317084*_0x17e980,_0x4e7068=Math['floor'](_0x2b5f54/_0x56e18c),_0x22c086=Math['floor'](_0x17e980/_0x1e5ade),_0x4890d5=(_0x2b5f54-_0x4e7068*_0x56e18c)/0x2,_0x446d70=(_0x17e980-_0x22c086*_0x1e5ade)/0x2;let _0x471b27=_0x3f5b8c+_0x4890d5;while(_0x471b27<=_0x278e47){let _0x154a89=_0x114a00+_0x446d70;while(_0x154a89<=_0x48963c){if(isInside([_0x471b27,_0x154a89],_0x2367b8)){const _0x24fdbd=Cesium__namespace['Math']['toDegrees'](_0x471b27),_0x56c88b=Cesium__namespace[_0x3508da(0xa6f,0x147b)][_0x3508da(0x71e,0x1110)](_0x154a89);_0x507d09['push'](new LngLatPoint(_0x24fdbd,_0x56c88b,_0x388a6c));}_0x154a89+=_0x1e5ade;}_0x471b27+=_0x56e18c;}return _0x507d09;}function distanceCoor(_0x259c21,_0x53d10e){const _0xe735c5={_0xe8b56e:0x64c,_0x1be930:0x482,_0x133958:0x5df},_0x1aa94f=_0x53d10e[0x1]-_0x259c21[0x1],_0x20f1d5=_0x53d10e[0x0]-_0x259c21[0x0];function _0x4e6c9c(_0x2c4637,_0x24a934){return _0x54a7f1(_0x2c4637-0x1d8,_0x24a934);}const _0x4b4408=_0x259c21[0x1],_0x564ee4=_0x53d10e[0x1];function _0x42ea84(_0x5e7a27,_0x59a777){return _0x7afdbe(_0x59a777,_0x5e7a27- -0xf9);}const _0x59489e=Math[_0x42ea84(0x3ca,0xc74)](Math[_0x4e6c9c(_0xe735c5._0xe8b56e,_0xe735c5._0x1be930)](_0x1aa94f/0x2),0x2)+Math['pow'](Math['sin'](_0x20f1d5/0x2),0x2)*Math['cos'](_0x4b4408)*Math['cos'](_0x564ee4);return 0x2*Math[_0x42ea84(_0xe735c5._0x133958,0x228)](Math['sqrt'](_0x59489e),Math['sqrt'](0x1-_0x59489e))*6371008.8;}function isInside(_0x31eeb7,_0x59c39d){const _0x3f15e4={_0x3cb7dc:0x111f,_0x2b392c:0x8fe,_0xa89ebb:0x1019,_0x528a65:0x880,_0x127b8a:0x880,_0x2940ad:0x1057,_0x5103d5:0x551,_0x203347:0x7f5};let _0xa3d9ec=![];const _0x518d6f=_0x59c39d[_0x3d9915(_0x3f15e4._0x3cb7dc,0xe2e)];function _0x3d9915(_0x533411,_0x3986af){return _0x7afdbe(_0x533411,_0x3986af- -0x385);}function _0x2ab1fe(_0x19b015,_0x132d50){return _0x54a7f1(_0x132d50- -0x322,_0x19b015);}const _0x531324=_0x31eeb7[0x0],_0x4ce2ee=_0x31eeb7[0x1];let _0x51d5e5=_0x59c39d[0x0];for(let _0x50f8d3=0x0;_0x50f8d3<_0x518d6f;_0x50f8d3++){let _0x478646=_0x50f8d3+0x1;_0x478646=_0x478646===_0x518d6f?0x0:_0x478646;const _0x41e1c4=_0x59c39d[_0x478646];if(_0x51d5e5[_0x2ab1fe(_0x3f15e4._0x2b392c,0x386)]===_0x531324&&_0x51d5e5[_0x3d9915(_0x3f15e4._0xa89ebb,_0x3f15e4._0x528a65)]===_0x4ce2ee||_0x41e1c4['longitude']===_0x531324&&_0x41e1c4[_0x2ab1fe(0x2d6,0x6b5)]===_0x4ce2ee)return!![];else{if(_0x51d5e5[_0x3d9915(0xdf8,_0x3f15e4._0x127b8a)]<_0x4ce2ee&&_0x41e1c4['latitude']>=_0x4ce2ee||_0x51d5e5[_0x3d9915(_0x3f15e4._0x2940ad,0x880)]>=_0x4ce2ee&&_0x41e1c4[_0x2ab1fe(0x102d,0x6b5)]<_0x4ce2ee){const _0x5efe89=_0x51d5e5[_0x3d9915(0xe6c,_0x3f15e4._0x5103d5)]+(_0x4ce2ee-_0x51d5e5[_0x3d9915(0xac,0x880)])*(_0x41e1c4[_0x2ab1fe(-0x19f,0x386)]-_0x51d5e5[_0x3d9915(0xfbc,0x551)])/(_0x41e1c4[_0x3d9915(0x3c5,0x880)]-_0x51d5e5[_0x2ab1fe(_0x3f15e4._0x203347,0x6b5)]);if(_0x5efe89===_0x531324)return!![];else _0x5efe89>_0x531324&&(_0xa3d9ec=!_0xa3d9ec);}}_0x51d5e5=_0x41e1c4;}return _0xa3d9ec;}function getHeightRangeByDepth(_0x1a5aec,_0x538984,_0x2c83c2){return new Promise((_0x38d4a7,_0x35719b)=>{setTimeout(()=>{const _0x319f40={..._0x2c83c2};_0x319f40['positions']=_0x1a5aec,_0x319f40['scene']=_0x538984;const _0x407b7d=interPolygonByDepth$1(_0x319f40);setTimeout(()=>{_0x38d4a7(_0x407b7d);},0xa);},0xa);});}function interPolygonByDepth(_0x3daa2f){return new Promise((_0x358a7b,_0x1b41f2)=>{setTimeout(()=>{const _0x55f4bf=interPolygonByDepth$1(_0x3daa2f);setTimeout(()=>{_0x358a7b(_0x55f4bf);},0xa);},0xa);});}const getRayIntersectingPositions=getRayIntersectingPositions$1;function interPolylineByDepth(_0xb25615){return new Promise((_0x112327,_0x563b02)=>{setTimeout(()=>{const _0x4b0675=interPolylineByDepth$1(_0xb25615);setTimeout(()=>{_0x112327(_0x4b0675);},0xa);},0xa);});}const _0x2bca78={};_0x2bca78[_0x7afdbe(0xddf,0x851)]=null,_0x2bca78['centerOfMass']=centerOfMass,_0x2bca78[_0x7afdbe(0x12f8,0x1214)]=buffer,_0x2bca78['bufferPoints']=bufferPoints,_0x2bca78['getGranularity']=getGranularity,_0x2bca78[_0x7afdbe(0x893,0xb8b)]=interPolygon,_0x2bca78['getHeightRange']=getHeightRange,_0x2bca78['computeVolume']=computeVolume,_0x2bca78['updateVolumeByMinHeight']=updateVolumeByMinHeight,_0x2bca78[_0x7afdbe(0x16a,0xaaa)]=updateVolume,_0x2bca78['getEllipseOuterPositions']=getEllipseOuterPositions,_0x2bca78['getCenter']=getCenter,_0x2bca78['getMapExtentPositions']=getMapExtentPositions,_0x2bca78[_0x7afdbe(0x537,0xd87)]=formatRectangle,_0x2bca78['getExtentByGeoJSON']=getExtentByGeoJSON,_0x2bca78[_0x7afdbe(0x1b01,0x14ea)]=getRectangle,_0x2bca78[_0x7afdbe(0x13ec,0x9b8)]=getPositionsRectVertex,_0x2bca78['getRectangleOuterPositions']=getRectangleOuterPositions,_0x2bca78[_0x54a7f1(0x12f9,0x162b)]=getRectPositionsByCenter,_0x2bca78[_0x7afdbe(0x120d,0xdd5)]=isInPoly,_0x2bca78[_0x7afdbe(0x52e,0xa7a)]=getBezierCurve,_0x2bca78['simplifyPositions']=simplifyPositions,_0x2bca78['interPolyline']=interPolyline,_0x2bca78['interLine']=interLine,_0x2bca78[_0x7afdbe(-0x30e,0x5b8)]=computeSurfaceLine,_0x2bca78[_0x54a7f1(0x776,0x843)]=computeSurfacePoints,_0x2bca78['computeStepSurfaceLine']=computeStepSurfaceLine,_0x2bca78['getLinkedPointList']=getLinkedPointList,_0x2bca78[_0x54a7f1(0x662,-0x1f)]=getOffsetLine,_0x2bca78['sliceByMaxDistance']=sliceByMaxDistance,_0x2bca78[_0x7afdbe(0x1825,0x1491)]=convex,_0x2bca78[_0x54a7f1(0x168e,0x1c96)]=getGridPoints,_0x2bca78[_0x7afdbe(0x167a,0x11a4)]=getGridPointsByPoly,_0x2bca78[_0x7afdbe(0x101d,0x8a3)]=getHeightRangeByDepth,_0x2bca78['interPolygonByDepth']=interPolygonByDepth,_0x2bca78['getRayIntersectingPositions']=getRayIntersectingPositions,_0x2bca78['interPolylineByDepth']=interPolylineByDepth;var PolyUtil=_0x2bca78;function _0x35d4(_0x58fa30,_0x42139d){const _0x1903fa={_0x16172c:0x9b2,_0x17389c:0x1495,_0x98f6b9:0x189f},_0x2d9f81={_0x37a620:0x4d6,_0x2335ce:0xbb8,_0x54b3b5:0xeac,_0x460415:0x166e},_0x22abf8={_0x51c299:0x17c},_0x1b9f68=_0x1dda();return _0x35d4=function(_0x4c0c26,_0x2645b6){const _0x3a47df={_0x442a07:0xab0,_0x11d19f:0x337,_0x3a5ae8:0x72b},_0x4d26a9={_0x308080:0xb4};function _0x105c77(_0x33686a,_0x12ccfb){return _0x536c(_0x33686a- -_0x4d26a9._0x308080,_0x12ccfb);}_0x4c0c26=_0x4c0c26-0xb6;function _0x5ddab8(_0x38d44a,_0x5bd960){return _0x536c(_0x38d44a- -_0x22abf8._0x51c299,_0x5bd960);}let _0x3c3b1a=_0x1b9f68[_0x4c0c26];if(_0x35d4['DqrKbL']===undefined){var _0x10c85b=function(_0x16e2b7){const _0x3368fe={_0x237c41:0x4e},_0x17135b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';function _0x53eef7(_0x1cb1b8,_0x343a01){return _0x536c(_0x1cb1b8-0x207,_0x343a01);}let _0x3f792b='',_0x229e76='';for(let _0x1d4663=0x0,_0x35015d,_0x25ccc0,_0x2c42e4=0x0;_0x25ccc0=_0x16e2b7['charAt'](_0x2c42e4++);~_0x25ccc0&&(_0x35015d=_0x1d4663%0x4?_0x35015d*0x40+_0x25ccc0:_0x25ccc0,_0x1d4663++%0x4)?_0x3f792b+=String['fromCharCode'](0xff&_0x35015d>>(-0x2*_0x1d4663&0x6)):0x0){_0x25ccc0=_0x17135b[_0x565734(_0x2d9f81._0x37a620,_0x2d9f81._0x2335ce)](_0x25ccc0);}for(let _0xe272a0=0x0,_0x49876e=_0x3f792b[_0x565734(_0x2d9f81._0x54b3b5,0x18e7)];_0xe272a0<_0x49876e;_0xe272a0++){_0x229e76+='%'+('00'+_0x3f792b[_0x53eef7(0x1195,_0x2d9f81._0x460415)](_0xe272a0)['toString'](0x10))[_0x565734(0x732,0x513)](-0x2);}function _0x565734(_0x22000c,_0xfdd2e0){return _0x536c(_0x22000c-_0x3368fe._0x237c41,_0xfdd2e0);}return decodeURIComponent(_0x229e76);};const _0x547fea=function(_0x85f465,_0x441c6c){function _0x3fbd45(_0x4f808a,_0x16c241){return _0x536c(_0x4f808a- -0x330,_0x16c241);}let _0x5316b7=[],_0x2ae2e8=0x0,_0x3b15b8,_0x2705ec='';_0x85f465=_0x10c85b(_0x85f465);let _0x311814;for(_0x311814=0x0;_0x311814<0x100;_0x311814++){_0x5316b7[_0x311814]=_0x311814;}for(_0x311814=0x0;_0x311814<0x100;_0x311814++){_0x2ae2e8=(_0x2ae2e8+_0x5316b7[_0x311814]+_0x441c6c[_0x3fbd45(0xc5e,_0x3a47df._0x442a07)](_0x311814%_0x441c6c['length']))%0x100,_0x3b15b8=_0x5316b7[_0x311814],_0x5316b7[_0x311814]=_0x5316b7[_0x2ae2e8],_0x5316b7[_0x2ae2e8]=_0x3b15b8;}function _0x4f67f1(_0x48c847,_0x388c2e){return _0x536c(_0x388c2e-0x2e5,_0x48c847);}_0x311814=0x0,_0x2ae2e8=0x0;for(let _0x51adcb=0x0;_0x51adcb<_0x85f465['length'];_0x51adcb++){_0x311814=(_0x311814+0x1)%0x100,_0x2ae2e8=(_0x2ae2e8+_0x5316b7[_0x311814])%0x100,_0x3b15b8=_0x5316b7[_0x311814],_0x5316b7[_0x311814]=_0x5316b7[_0x2ae2e8],_0x5316b7[_0x2ae2e8]=_0x3b15b8,_0x2705ec+=String[_0x4f67f1(_0x3a47df._0x11d19f,_0x3a47df._0x3a5ae8)](_0x85f465['charCodeAt'](_0x51adcb)^_0x5316b7[(_0x5316b7[_0x311814]+_0x5316b7[_0x2ae2e8])%0x100]);}return _0x2705ec;};_0x35d4[_0x5ddab8(_0x1903fa._0x16172c,0x5f4)]=_0x547fea,_0x58fa30=arguments,_0x35d4[_0x5ddab8(_0x1903fa._0x17389c,_0x1903fa._0x98f6b9)]=!![];}const _0x4235f7=_0x1b9f68[0x0],_0x4080ef=_0x4c0c26+_0x4235f7,_0x5f14e8=_0x58fa30[_0x4080ef];return!_0x5f14e8?(_0x35d4['pxWWpA']===undefined&&(_0x35d4[_0x105c77(0x1189,0x19d8)]=!![]),_0x3c3b1a=_0x35d4['vjKGCw'](_0x3c3b1a,_0x2645b6),_0x58fa30[_0x4080ef]=_0x3c3b1a):_0x3c3b1a=_0x5f14e8,_0x3c3b1a;},_0x35d4(_0x58fa30,_0x42139d);}(function(_0x25e768,_0x3db77b){const _0x211a8d={_0x3e9402:0x1273,_0x5d8e5a:0xeda,_0x47db42:0x45b,_0x51e199:0x13a7,_0x480a3b:0xd1b,_0x2a4c38:0x8ed,_0x448ecd:0x387,_0x25c892:0xe4b,_0x3c0f97:0x781,_0x1222c1:0x96,_0x270f52:0xfb,_0x2f36c6:0xfa8,_0x4c9f0a:0xf46},_0x34f3cf={_0x465f61:0xb50},_0x57101f={_0x53dfec:0x1f0};function _0x319a14(_0x2164c1,_0x4bebd9){return _0x7afdbe(_0x4bebd9,_0x2164c1- -_0x57101f._0x53dfec);}const _0x2a36a4={};_0x2a36a4[_0x319a14(0x11da,_0x211a8d._0x3e9402)]='OGKs',_0x2a36a4['_0xf979dc']=0x24b,_0x2a36a4['_0x353c1b']='L0d0',_0x2a36a4[_0x1c6a5e(0xd1b,0x5bd)]=0x57,_0x2a36a4[_0x319a14(0x160b,_0x211a8d._0x5d8e5a)]='$c(S',_0x2a36a4['_0x48cc7b']=0x249,_0x2a36a4['_0xbf1243']='mGXw',_0x2a36a4[_0x1c6a5e(0xa8,-0x692)]=0x6c,_0x2a36a4['_0x5f0088']=_0x1c6a5e(0x2a6,_0x211a8d._0x47db42),_0x2a36a4['_0x95d120']=0x240;function _0x1c6a5e(_0x5cc65a,_0x1463ef){return _0x7afdbe(_0x1463ef,_0x5cc65a- -0x416);}_0x2a36a4['_0x15bcda']='W8]!',_0x2a36a4['_0x9bfbd6']=0x66,_0x2a36a4['_0x4e253f']='YMJA',_0x2a36a4['_0x16740f']=0x242,_0x2a36a4['_0x16cd11']='gn9C',_0x2a36a4['_0x13e383']=0x248,_0x2a36a4['_0x2a86d1']='x**p',_0x2a36a4['_0x3292b6']=0x247;const _0x213ea4={};_0x213ea4['_0x41a67a']=0x125;const _0x1b46ae={};_0x1b46ae['_0x3b5635']=0x30b;const _0x21f9bf=_0x2a36a4,_0x37f5d5=_0x213ea4,_0x323b30=_0x1b46ae;function _0x3417f5(_0x511d57,_0x6c8e2e){function _0xd97015(_0x274e93,_0x281ae8){return _0x1c6a5e(_0x274e93- -0x1b8,_0x281ae8);}return _0x35d4(_0x6c8e2e- -_0x323b30[_0xd97015(0xa04,0x48a)],_0x511d57);}function _0x33d5b8(_0x4ea51a,_0x25f55d){function _0x796e31(_0x51a0d9,_0x3b801a){return _0x1c6a5e(_0x51a0d9-0x430,_0x3b801a);}return _0x35d4(_0x25f55d- -_0x37f5d5[_0x796e31(_0x34f3cf._0x465f61,0x987)],_0x4ea51a);}const _0xf37c02=_0x25e768();while(!![]){try{const _0x46afa4=-parseInt(_0x3417f5(_0x21f9bf[_0x319a14(0x11da,_0x211a8d._0x51e199)],-_0x21f9bf['_0xf979dc']))/0x1*(-parseInt(_0x33d5b8(_0x21f9bf['_0x353c1b'],-_0x21f9bf[_0x1c6a5e(_0x211a8d._0x480a3b,_0x211a8d._0x2a4c38)]))/0x2)+parseInt(_0x3417f5(_0x21f9bf['_0xedd95a'],-_0x21f9bf[_0x1c6a5e(_0x211a8d._0x448ecd,_0x211a8d._0x25c892)]))/0x3+parseInt(_0x33d5b8(_0x21f9bf[_0x1c6a5e(_0x211a8d._0x3c0f97,_0x211a8d._0x1222c1)],-_0x21f9bf['_0x5854bb']))/0x4+parseInt(_0x3417f5(_0x21f9bf[_0x1c6a5e(0x92f,_0x211a8d._0x270f52)],-_0x21f9bf['_0x95d120']))/0x5+parseInt(_0x33d5b8(_0x21f9bf['_0x15bcda'],-_0x21f9bf['_0x9bfbd6']))/0x6+parseInt(_0x3417f5(_0x21f9bf['_0x4e253f'],-_0x21f9bf['_0x16740f']))/0x7*(-parseInt(_0x3417f5(_0x21f9bf[_0x1c6a5e(_0x211a8d._0x2f36c6,0xdfd)],-_0x21f9bf['_0x13e383']))/0x8)+-parseInt(_0x3417f5(_0x21f9bf['_0x2a86d1'],-_0x21f9bf[_0x1c6a5e(0x4cb,0x5d7)]))/0x9;if(_0x46afa4===_0x3db77b)break;else _0xf37c02['push'](_0xf37c02['shift']());}catch(_0x5e96f6){_0xf37c02[_0x319a14(_0x211a8d._0x4c9f0a,0x1a0d)](_0xf37c02['shift']());}}}(_0x1dda,0x198f7));const version=_0x1d27da(-0x20,_0x7afdbe(0x745,0xd47));_0x1d27da(-0x1a,'%(p^'),_0x3466f7(0x472,'x**p');const update=_0x3466f7(0x480,'%(p^'),_0x365478={};_0x365478[_0x1d27da(-0x13,'SwCk')]=_0x1d27da(-0xb,'hvt2');function _0x1d27da(_0x252df6,_0x4b7c3d){const _0x4213ef={_0x464e76:0xa11,_0x21e1a6:0xb48},_0x2c3456={};_0x2c3456[_0x59b932(_0x4213ef._0x464e76,_0x4213ef._0x21e1a6)]=0xd8;const _0x35c039=_0x2c3456;function _0x59b932(_0x4b4518,_0x3058df){return _0x54a7f1(_0x4b4518-0x1d7,_0x3058df);}return _0x35d4(_0x252df6- -_0x35c039['_0x323a56'],_0x4b7c3d);}function _0x3466f7(_0xc47b97,_0x45342e){const _0x2efcc6={_0x54949c:0x8ad,_0x10bd5c:0x8e6},_0x1eb1ed={_0xb02d70:0x198},_0x2d0f73={};_0x2d0f73[_0x1ecaac(_0x2efcc6._0x54949c,_0x2efcc6._0x10bd5c)]=0x3b8;const _0x436b3c=_0x2d0f73;function _0x1ecaac(_0x32f796,_0x2b50e9){return _0x7afdbe(_0x32f796,_0x2b50e9- -_0x1eb1ed._0xb02d70);}return _0x35d4(_0xc47b97-_0x436b3c['_0x471ca0'],_0x45342e);}const picture=_0x365478,validate=![];function _0x1dda(){const _0xe377ad={_0x178e35:0x1443,_0x22cb50:0x1442,_0x41771e:0x10c6,_0x3e1f56:0x1798,_0x27f50f:0x8c7,_0x372352:0x1491,_0x4ee50b:0x94c,_0x927451:0x11a5,_0x2a2f9b:0xb4a,_0x4bb46d:0x1777,_0x48c436:0x16a7,_0x3409eb:0x1137,_0x11cad3:0x183b,_0xb4e58b:0x1681},_0x54a0e1={_0x4c974e:0xdc},_0x368212=[_0x53d04c(0x132a,0x166f),_0x53d04c(0xc91,_0xe377ad._0x178e35),'WOJcSehdTmoFttWebSoIWQq+','W506WQVcGCoPWOjCW5FdJ8k6','qd8zWQvznSovshlcHCokzSo9',_0x53d04c(_0xe377ad._0x22cb50,_0xe377ad._0x41771e),_0x53d04c(_0xe377ad._0x3e1f56,0x1f04),'aCoEzmoMWP/cRvaJWRxdTmkeW5a','g8k4n8o0BWVdSSovvLhdK8kupCk5dCo4','zmomWOFcJCo+WQDeWQZdKgu','omoPFspdGSotaa','W57dMCkoWQa9jCo5n8o1W53dPmkV',_0x36905b(_0xe377ad._0x27f50f,0x43d),'WPVcGmk1WQddUmo7W5jQjM0/WORcSCoXWOX0WR55W59iW4tcNSkAWQ8zeffyaSkqmSk6W5yMWRNcTIhcSIqBW65yaSk7W7ldOeNcV8oFj8ofiCkNW4RdLSoRW7WIaCkvW5K+hmoGW73cPXZdHeXIWQZcRSoXW7rPW4zyW4/dPtXFWR7dQtj0bCkIemoVWQb3W7y+WQ95fdFdM8k5WRZcUCo6WOxdV8kbzSo1WQmLsCoJk3xcRI7cQgP9W6vvCh4rWRRcUSo8W54/B30FWPdcLConAK/cICoMW4ZdVGhdJKnBD8oYW7pcOhP6WOZdU8kRD8oiW6DUvSkPDSkNWQHwW4/cUapcM8k7uwZdQ8o2WQ/dNLddTbqKW5RdQbXsW6FcSCoTkCkxW57dI8k7nNtcV8oPWOhdKYGdimkbW5FdJ8obySklcSoHnJO6pgvvW7C7WOBcKmksWPNcK8kkW77dIWiLWP16WRxcKfJcQSomgSoLiCofd8oThmohWOFcTZldNSoUFW0UWRiwFmo6v24Hv8kLWQPMa8kKW45ci8k5t1TnhComxHhdGSk4DSkKW4nooJNcKSkCWQNcQ2nbqXpdRmo2DSkwWQC6WQKjW75bpcNdTmkDWRGyWP8tWPpdImkZWR3cRbi6WQWRWRS2W6CTCqBdT8k3bCoMxJ/cSrxdGSkKgeLieu4CWO3dOg14WQJcIN8+o8oqW4BdOCohefCUWRHUW4/cJSkJrmo0E0dcKgyPrf1joxFdQmoahSobW5XrhNzyr8kXzXJdJ8kUkvfilCkOWQ4yWP7cJdC5WQDyWRPZhNtcVCo+cmoxWRXJWQNdQab3yeHhW4JdKmojtSokWRS8WP5IW45pEHFdISkSWR3dG1hdT8ojFSk8W4m1W4njWO7cOmouWOtdT8kGW4VdQdhcPmojW6WKWQFdS8k2W6WkwSoZW6LmW7LKWOdcPmkGWPZcKSkCiCoAWQ3cMgtcJZ7dRSotWRW6W6rnhgzSrYfnwcO5W6HEFmo9WQrbW6ZdGeWxd8oUW5zaW75TuMNcGCkNWOtdSSo0WOZcUgJdMCoOaCodWOZcNJtcU8ogWQ0gW7DiDIJcQctdM1W0W63dVrGlucnOW6ZdNSoNWQqVW4lcNCoEFmkCW7dcGmohWP7dTSoXW6BcGCkOWQNdSCkmxLldMmo6lfxdJSkjiCo9W7FcOmoMiIRdJmo/WQHLWOPcxCk4DCoBk8ord8kHm10azdFdVsaAW7zZW745WPXdzCkgsdzbW7pcVCkdWRpcQKXDW6pdQmkxWPS2W4BcNmkbWR/dJcLwurSSWP/cLSoYW4ddRSoeWPpcJfJdTCkBbCoFW4hdNCkAASkQW7ZcGmoVxdRcQSoHz8kzheChW4VdPtFcJ8k6WQBcTxNdQYLqW6rQW4nRAdldPeZdJutcRConWR1ak8ooWPyaFxDsxvqPW75sWO4BjG9SrJxcKmoisLZdLSoDW5dcQK7dKt7dIabOW5aMWPRcNYxcTCk9WOyguayJtgtcHCk7ANBcOmkkWQdcL8kplwFcJmoyed97WOFdRN5yWO3cGZxdOZjjgL1xWQVdJ8okWR1KC8kqhe3dTd3dGmokW6X7WRzldmkLW7JcVtiKDvxcSdxdL2ZcH3OZW7pcTCkZEWFdO2TlWQq/W5JcPmoFW7NdRCkhWOD8WRBdI8k5wtflWOxdLmkNWRtcOWm4uq3dTWtdJftdPSoqsYLqtMHXW5rIWRtcT8ohWPKGWPnopCktBSo2dwJdVCoru2ddOhVdHwShW6XcW68UWPf5WQrABCoxWOWaWR19smkPttnEkv0LWQfIl0xdNSoTWOmin8knWOpdRCogmSkPwey1W4ldQg0Ds8kYoSoGfcXgW7xcGItcSmosWQxdN0KzeSodW7FdKs/cMSkWrg/dTSoetqtcOmkuWO1AySkWWR/cRrpdGaP6WQxcNqbRWOutWPxdQSkNfw0bW4mayf3dGvtcKceZW5z7WPb7W6tcJYFcHSouW6xcHCkMWRFdTbpcL2vKaXZdV8k2W6dcJSkNW7VcSmk/wYT8WOddQx8EW4uhWR/cONddLSkqv8o2WQ8iWOn4WOzVWPm0nSkPxJRdMfxdTrxdQZPuWOyebNu+ba1gW5RcSCkinHVcN8kfoSkXofeYdqj5WQVdPCoHd8o8W6iDnchdSSowWP/cUsG1WR81bd4+W6tcPrpdSCkbW7HWgcnMqCkqWRJcSCoQASkDW6mrW7lcRsqucCoXWR3cJdRcUmoMW67cL8kxWQTsr04fWQxcKGddNxLAW7qGgqhcVSoZxe/dOgpcKSoICSkqWRrrW4KUxXTEfwRcLHRdJ8obW7dcNSoOW4JdSajOtbNdV1JdT3NcPI8SiNBdPsNcOw/cUx4HW6lcHqxcLmk5W4VcMhX5W47cLmkehmk8W6GpnaldQSogW4RdPLGzDW3dImkip8o2WQTpbcDWWRxdNZe3vCody8k9W4BdJCo3WOxdUJ12ataBwCkpW7auWOfvcexdHfFdR8k5ESkEyX0/ErlcH8ohW7vAW67dVq8nW6pcILRdUSoGaCohcmkckCkMAWZcRg45W7KCWQpcP3vXibpdLmontSoQy8kQW7FdUv/dMmouW5qZW4OKW6hdS8oKW4tdVSowWOeTWRddTmodW7RdMq5aWR3cUWDnDH3cPSoPW7m1WQVdNSo0W7SZWOvdW6ddRfPGW44PySkvW63cOXtcKSopcXBcNMZdICorWOnjWOagW5iLeCk0reaIEGuCc8o6hYD7gaGcW6hcIupcNtv9WP57W6BdMxpdVCkxWPFdQq3cQmk3W6BcJCk0W6Wuyc1iW6ddL8ofWRyNn8kDW7FdImoJWOJcTuBdQLJcLSocWPOVW5TfpqRdOfKknNHil8kHW6PVW6JdU8ozBmk3tx05WOrrmZddHW7dLtFdKCoRlGOtWQ3cQ8kia1y6WPG5DH3dMaVcMw4jWRDMWRNcTMbFW6b4uSoLqSkbWOVdN8kUWQpdT8oKWP9CWPmdW7LdWQZdRSkPmZRcS1ueW4eRoSk/WOhdO8ooW6NdH8ojW4qLo8kib8o+W6WsW79NWQ0qWOVdTGpcImkPmmkwW55VWRJcTSo7WRfded0CW6nFWPyJW5/dMNzndmo1cNNcSmooW7WzdXtcIv5xW5rHl0bygmkpzCoDySkXhCoPab8kiSk7f8kmBSo9BYbxWP9iWRS3WR3dSJRcKCkQW7zMiCkxmgDrWRVdS8kKf8oFWPxcT2JcGSkUlZ3cPumEiCodkw/cMrPCWPnKWQFcKCkJqmozW5OlW5hdISoYgCohqwXveSkxFSorELz+WP3cMSoDW5NcMmo+W6tdLCo6kLtcIsC+mMHTlCo7WRJcRY/cJ8kKWQZdLY4Dx1/dP8kNn8k9WP1Ho0ddPCkdxIlcPmk8WPHGWP86WOxdJ8oTW6pcRImXnSoTWRhdIfhdSmoYALqjsmk6qCoXh8oKW7XtoSkth3/cImkNtSorASkXWPCLWRBdSmkJBGe8WRldHJuYW78+WRNcMejGWR93W6VdPCofWRFdKZVdOCoUArVcVbKSW6ldLmkMzh1AWRugpMpdImo3W7nzWRldI0ldLh4sosn9W6SGcSk2sSklW5JcNCk7WOhcGCo4WPL0WRxdMCoqgCkAW4naWQZdTSo/v8ovWOpdQwhdOmo9rCkiimotlmoDcXOcWP40WOddKYhdJg5AWP/cPmkzwYhdT8oiWRBcS3y1BvNcSxycWOtdI8kmW4zvf8oxW5hdG0JdGZqQvqZcK0uAlmkQCWxdMSkSFHxcNCorW6nKbmoUWOHsWPmKWRNdLCoQW7hdNCkabwTIiCkrzmo0kgpdQmkdoLzamCkPWQGPWPRdTHD0W4xdKfXlzxZcHrFdPJaSW5bVWQFcNb17CSkjfgpdM8oYD8oquCkbomkUe8o9W5tdQwOhWRD4W6ZdKmocaJzXr8owWQRcRSo6WOjGW4JdSwLhpZmVECoOWP8nW78PWQ/dL3Sao8kWWQ/cJf1ECSkLhSkuxetcRWJcQxFdOmovjxv8hmkQeCkttSk/ESocW6iwW6xcJmkoeSk8idZcGSovWOtcMSo7AmoPWOZcI8kxebRcSW1OuCk+WOjOWQH7lCo6gv5EfSkeW7Lxqq3cSSkpW4FdNmk0WOmKEcHnESoKW5JcR8khWO/dTConWRZcJ8k2W4dcHceGWRRdU8k1W7WtW6tcPmkHWP3cSr8gxCk3ncJdHSonySkRkCoSWQSCqGJdS8o1W47cPmoTbCoKW4tcSmkLW7nXmCoaW4WbW57dOhpdOCoIW6CdWOzCWOezfgOhW5Wlpq1WWRNcHmoBC8kUW4xcJCk+WO0BW5vjW7VcGYFcPHnwWO1GeMJdKeT0zLHmWRCbiCkIi8kjWPZcOwRdUmoBf8kwmfqZW4NdSmk2gCkwW5LEgZpcRNSkW7ldRmoDogFdOCoXD1tdO8o1oSkksI4cpmkQv8oMbuKXoCkEkavrDmkzySoDd1BdLmoJWQCYW7P4W68eW4j2WRRcSqFcNx/dVSoVm0mhWRpcHb/dIgv4iCoJW6pcLYVdJHBdPe1mWOPAW6DpauldMgbiW5amWQhcMulcU8kaW6FdGCkqWPFdKsdcVGldUCoCdMOuWO/dTITzWO53WQldQmk8WPNdMupdNeRcJCoWW53cKq0qW4NcQqTuWOu6W6ddJG12WQXIW4G3nJLhW6PVnmkirMtdLHNcVgntAmkpr1pcPMrFD8oVWQNcO8oeemozWPxcMCovW7BcTNJdRtxcRSoJWPvsW7u/WONdSCkLWPJcHw3cThtcPYXbWP/dICoEtCkwm8oMWOtdGvNdQ8oWjCo1cbxdGmkvgmkKqCkmhNCKpeXxr8kBm8koCxVcRdyOW63cJdZdPwldJ0ywwCoLv8kvWOVcKbPWW6pdGmorcmkfaMzzogDCvsbKWRnPW6CMW5FdTvWJyHBdJmkvW7KojSkoW6OtWRddMN5Vdr/dKdWkWPtdTKuPAvpdSCoyB8o8WRRcQmoPpmo4Bmk2CmkPWRjqWPFdO24yW4zfeSkVjspdJ8oUW5DpFmorqLpdJCoRe8osWOJcQxZcO3feW48MWOSPWPpcKKtdL8o5W50vwrb9WRFdI8kSW57dHmk8lCoMhNj3wsNdVsngWP92W50TWPzIpxW7W6bWWQtdGa0zsmorvmk9WP/cO1tdKJZcT0qjWRu9uG7dOCkKp8ohW5jKfSopWRDTW6RdQSo2yWOIgsFdPCkbzYVcHJNdTCoEW63cRSkyeCkpBxmxW5VcJ1r9iI41WPuxbYXtraddSLVdLmo6wmkBnLmrpmkyBCouiSkrgCkRW5O4WOldNmkPW60drmkYk8k5W53dSW7dKCo5W6TrW6ZcK2xdKKr+WORdQCkeWQtdNH1pDXzqWQiCd29vqSklWPlcTWBcSv4qcCoVW7hdNrKcw8k2kCkGWRuYrgiNDmoVWPtdNLhdV1NcGSkHwt87rXRcLmo4CshcMsj3W6NdI8oYiY9An8k+W5n/W4jeWOBdSZfzWPBcKSkbbLxdQh7dO8o1WRxcLSoIsHXdWQKuvSkAAtrkgSkev2/cUwdcTKiTW6JcUIyyW7r5EhJcNCovW63dKe7cJmkJW5yPFmoLgIBdMmk1iCoPWRPjBCoWWPvGW6nybCoBW7tcP8kcW4K5W51VWOaEuCkzh8orWR3cQNusWRvkxmkMW4aBW6pdSaJcQGT3WQK/WO3cHv7cTCovWP4fd8oRC0KDc17cHCksoqZdVHxcU8oKt8koySk2W4O7i8oNW4dcHdVdV8kMWQ5cWRHxBSoYtx3dHWHDiKXVA8oWdhHIWO/dPdZdVrldT8kOAhBcQHddTmkZW7NcQclcImkTW7NdPYxcKKBcICkxW6BdJmoaseZdK3lcIbLoW5/dIeuxW5jPhfKoFdFcO8omCtRdRai2WOdcPmogW7NdV0pdPCoyFqddQL1GW7nMW7vzW6BcM8kjoCoADCoEmmkMyrpcO8odAHHvW6uhWQZcKSoIFmoqW7TIWOVcUX3cRSosu8k2W5ZdLr7dS8kXW7vrW61VW6T3v8oWW585W6uOf2z5f8oqgG8MWR/cOY8pWQ1PqSk6W6ddICoRW4dcUeNdS8oyWQNcTSkPW7NdQ8okWQGEW53cI8kyfSkfW7WJWPiKjmo+fSkCWOvpWQJdHf3dOJVdTwtcPCkPW43cOu7cGYNdO0PvhrdcIreDCmoEAxTMBbb9WRlcL2jNmCk5W7mFWR/cOmkpW41YqrWlWQS9i8k6WOWbnmoqu8k0wsmvi8oVA3pcSZ8WW4Poeb0QWRSaWQ9bW7KKp8o8WQqSWOGTuaibWO13FuhcS3mLWOlcUmk2fmkMfYmZgCo1A3DIdLJdRmoLg8oBW5VdNYpcKZjBWPSYmCk0WRxcG8ksWRCnk8omW4NcSbBcQmoxW7PnFWzpECk4qJadWP8vEtqowCkSfN11urJdJmkps8k0WP4oxceLcv7cV1a/W5NdS8o5gNRdR8oopI/cMSkUWPalWQVcVSklhqbPdSkDWRyBW4GdWRuEW4ZdVZ3cNmkDWOVdNCk8WOObW4NcM2b9vmkMfHxdImkKWRC/DwpcM8khWOVcMSoYW6lcSez8bConW45KzCkUW6ddUWldUmoSWQmwW44Ej8ovhdldMGaeB8oAeqVdPY/dT1KCW4pdP8ogW47dMW5fWRfhWO7cN8oJB8k6WPq/WOVdN8ocWQ7dGSoPFCknW7/dKCo2WQPTWRdcUSkmWO3cPSkWW5pcRbeqW4rcW4L3W405oMq/WP49W7pcRmkHWPqpmHtcJGVdLmoqAwO3W5xcHCkyW4Xhv3NcGw3dUeXXWRrkbfhcNmk/A8k3vmoDFmkOW6BcRmonpaCEW6FdGJXRcxLOW4rqW4WfccfzWRBcMYdcSCkWvGrQWR7dJeePW5Dib0tdQCkWW5dcGMiAucFcRqRdGumIvSoImCkPWROFW680W4aOW587W7xcM1ZcUCkVW4NcLCkJWOBdMmoUpdH2mCkFWRBcGbuUW6SSW6dcHmosW7/dQetdMYJdHCkkWOJdMSkFpSoMb8kSxfldNLi0W7FdI8khW6VdQ1JcVZ3dP8opWRVdMrxcGmo3W50jz8kVW6v0g0GMeWpdQmkva8oVos/cO8o3pvTdCfymWRiNWPNcUZm3W4tcHuJdSSk9j8kYs3q4mq4oW7zOeqWTkSk5c8oRW4pdNe/dICobrCkUWP94FSkqh3BcICk7W7/dUSkMWP/cImkYWOSTWQH5urDCW7RdReO5W559WPXMW7Cblmo1x0xdPmoUdv/cK8kqfhFcIsFcHmkMW6ulwslcR0dcJ8k3WR9comkBWP0ubJTBjhHkW4xcGSoja8kQAmoxW5ZdGmogECk5W6jexCo3qSovW47dVxFdNL1YAsKLWPRcQJxdRqz5W5v8WOvknSksEt/dVNe5DCkOagOZjmojW43cS2r4hG5Nq0CwWQRcQmkmbc0gjZRdJHj0WPFcRbWyWOZdSCosbmk7amksutjpW65NWPnTW47dLI43WQSzmSoOsbO8WQ7cQuv1sSormCkfyGTbWQxcKCopC3aVW4BdLg0TW6tcONhcONObW7BdK2pcGSkRuvVdTcawFctcHgGZaCoQWPVdHY/dP8ooDeDTW4KCW5fwW53cGSkkWPm/pCoxoqJcSwRdUvRcSbBdPhFcOLhdNbW8m8o+WQBdN2DzW6pcP8kOc8okW5rfE8o7WRldHCkJW4VdPdJcJSoojCovW5zObSk9v8orlW5ZW4RdHmkupxlcVCkVxgJcOSkIWONcRSoBWRSVWQBcIc4jhSkFcCoRWO4xW69Zjgj4ieeuf8oCW63cJWybWPJdSdDGrJZcNhnVB0tdQCoaW59cW5e4W6ecWP7dVCoAWQP3W5ddJqZcVCkzt8o2WR91owH6cCogu8kNW4y/nJJcUSoCqIlcLSo2WPVdKGlcJgyJsCkaW6ddMmkJfg3cNmodl1RdLCk0teHffrBdJhFcSCk0uIdcQJfIFSo4xfhdTKPFsc/cU8oFlmo/z1v8kWdcH8kiBmocpmkLWQOiW7qoWPGOW4pdKCo6WRdcKWukWQVdMmo1jmkXWRfxW4ddJ8oby8oyWRxdMSkVh8kwwNZdSmo/W7tcKCoUWQPTW4NcUxWbFHlcGrHuWR9sBGJcKwFcJ1i0W5RcTmklWOrNWOpdVmoVW4xcGmoDW6j2W6C7Bdq5a8oeceFcI8kEmrFcGCknWPVdMLxcLmoqbvlcU8ofWPNdR8kOomo/W47dHCkkbtOLxsurWPOmhCkIbheCemk+WOHhW7CkiCkXgSkocupdLvPyFsqiW7SRlCk5WRVcJcldShuIWRldUx1OWO3dMc45W6WYWRhcRYWWW7NcOSoTW7jdW4fCwtKwBSkIWORdQSktd2ZdUINcJwdcVSkwWQ/cN0lcL28EWO0yz8oJqqZcTmkMfcyUrZGeW6hdHJrYtgVdJCkCtYLDemoyaHq5wWmpW4BcMcJcH1ZcImoQsSkWerxcQuhdGSoooSoBgdVdO8kDtaD6W6NdJshdHZ9YxM5rWRXyWODSW5BcM8kHfmkRuLBcRJdcICkQBCoQW6WMmCkRoCoewmk2x2mTWQtcNCoHgHPYWR5UWRrUWORcMCo2uJ3cThZdTSoeBSkkya48CSo8i8o9ycG9W5lcUflcNSoyW54mW7ddPf7cSIbJn8knDSkaoCoja2L5EdBcRmoPWQr9yeyBFmkzW4NcGmkLrYNdVmotdtGmW5ficCkjW63dImoUBCobeSkTgbCEDSo3WPDMW4jGWOCxfLDBW6JdVYXxWOL4gSkAW4mVDSk8s8ojW7BcHmoAhCosWQjbewqrwZ1/B8oFW5WTWO0WW6RcTSkYWPhdT8k8WQjWW5eQqmoqvgSwdM1OW6ldNxKQWPC3b8kSwtdcKYbzfCoCW7BcMr/cKezCvSkac8oex8kqhmkNjmo6W5BcTmkkW5qIFmojEc3cHZRcPMnkcCkPW5ZdQmoIwCoMySopWQBdRCoSWOepW5eaWQbHo0W3WQpcGSksW5FdN8oOW5pdG8kAECoLWPmNdmk6FCkLW5NcGg7cIxuIbmkPamk1W4bWsIe2W4CHW5FdLZa7fLRdTmo5dSk3p3Lub8ktWP0UW5m3WRnvuaRcPmo1wSknjSojfCoxbCoZrSk5pCoCzConpSoRW7hcQZyUWQPyW4/dMwjDa0PbW78UrgiEgJGiWPlcHCk+W4uidSkQh8obu8k9z8kjctLrW7pcI3PzoCkeb8o+WPOkWPuaW7BdMmkMW6iwWOKnWOKAj8kcqavQdCk8cGLNW6eoW7pcPSkWsaJcOvCVAhVcLCohW6unh8kwfM1mWRHtESodW490W6Xwqr/cVLldJf/cH1jWW4FdLNFcLSoNpmo1WOpcHhO2muiBDCkWCSowWRZdUttcJLe4WQBcK8oNW5DHW4VcPCkWueinlCkcEKHlfCoGw8ooqmoWWQjgW44BW5xcM8o6W7pcTbyyW5LTW50QWRldMZSchmkutSk7WP1QW53dUfpdGSkZwrxcRMqnfCkkmmo2zmkgyxynjmkIWQmGvaK3WQbRW79eW7y0ECoIo2xdM8klW4f1bmoyW5VcICkLWQBdNmonWQiPWOddTKlcQxldVSohWR3dMK3dNdSdsCoiomkOW4JdK2ddTczgWOq2W40CW63cPmk1W5uoqcqYaSotW7/dRhFdHmkQfZFcGSoetuOOW7y+WR3dPCkoW7SvsCo1uGS3dSkfW4RdRbNdS1ddJuNdIdpdJbXSACo3zSklWRZcG1FdISoYdmoZW70xW4/dU8kBdCo5BSkqWOddP8oHgCoTWR/cKvFcJGNdThBdG0xcV8oVsrzxW4VdSmoxrCkQmmkWWRHFr8otbtGUFmoLWPCjqspcGHq4lmkiW6vbEcXkWONcLmowWOeYW6ddR2xdU8kbWQCYimoRpN9aoCkkbgpdG8kYW7D+pmkRtCkYa8odWPRcSMtcSmooW7RdTLFcGKqlqSolW4a+xSoyrbpcThhdJSoZW5yCWR/cV8kVaCkBW613WQrnWPG3WRjijZ8DW67cQXupjLNcM8oMlLxdSmk9nmomoIeyWR7dLfDNrsKgbmogd8oTCG/dTcdcHmorW4OyBIdcHSkyWRxdOuPijCknv1VdQcKtW4tdGmomFmoxW6GtC1VcR8oZW5FcNSkVrmoLrdvvCCoHcL5hnSoXdd7cN8kThmoJW60nW4HSF1ddQ8orBmkbAmkromowaNTdW7xcMqZdPx5wW5xcSIpdICkCW5VdGCkcWPbVW6/dUW/dJbqoW5ldJbHHWPRdIw3dSx7cN08fomonWR1CzSkHmmkoDHtdL0ddH8kYWO/cRCkRrmoff8opW7jXW6uKeutdLGe8W7mQixrpWOCng2pdVIG+WQ8DfCkzzxLkfCkuW7nuW6dcL3Xbb3VdSmk7W7ZdV0tdTSkmWQNdKSkGehC5WQiMiCotWRNdHmoGWRiWW6PKoHuAsZ94W6yCyKBcGM0/W5zpb8oLW7NdLG7dQGXEnSkTWPCfWPhcS8o2FCk/WOemrvrKWRHHWQtcVvRcHcrsxNnWWRRcO8oItW/cNgpdSmokW53cQa0njsmGW6NcNCoppJRdV8kBq8oBW5j4W5PrW4FdJ8kiEK4FW7RdT8oOW68jwmoSWQxcVg5AvSkiWQ5vvX/dI8kcWONdUY9QWRdcJ8kcaIBdJSkPW4NcHCkdeCk8c07cRWxcHCoXW41hf8oWlmkBWQqqW741WQdcHXFcT8ohkmodrMfrWRvli8k3W5i2sfdcTctcL2FcLSoPW7efBNhcQHBdLGSqWQvnv8ohW5JdQCkRWP8kWPmGWP18BSoiWPCBymkAgby3WR0rWPH4W6JdM8kBWQVcR8kUW7H4WPiyw2NdPmkJkehdLSorW4VdP8kVW55yW61qjxlcLCkuFvf/WPSvb8oUWPTMWO7cJSkmWP9DWRHxyNddL8oJo8k6WQxcVsxdVSk1ymouW60mW4vSW6y4EmoiWQLNWPGGo3rXW47cINmAW6/dICopW6SqWRNcKZieW63cQ8ogESkBWPpcL3tdTmoTcSkIW6NcJfBdO8k7lSk/e8kvW409WOCgtG/dRLZcPamCW7eYWQW3v8oTW7qGWO0wjfWnWQbLxSo5EmkadevcW6BcRXJcGSkZWOH5WPvZW7RcTw5ro2TVW4SEWPeyvKH4WRWfWOnsW6q0W6rhw2RdP30kW60RuCkcW582W6dcKSoHWRy2t2KAWPFdJmkmDvDLmYqmFY/cMmkzb2ldOqrpn8oZW6HcWPxcMbyHW6JcO8kHndtdIcLCWODkWOJdUmkFW6ebWPlcTIdcLSo8W4zXBHuMzCkjfMJdVCk/wCkuW6OYWQ7dVeOZW48mWPZcTSk/nCkybCoFv0r0ntNcGSowbCotW4BdO8k+gW1AyrTZhmkVs15cWR50yNKBbmksW68WyCoIuqWfBI0cbCk+FxddGKlcKJ/cHaTqm8khW6O2WQX/WQNcPmoSm8o8WRFdJ8oIj8oXW6XwFg7dMCoFWPyYumkbiCkQWRhcLW1RW7NdVgFdSLBdN8oQWPvIzCkSWPldGSoPW6RcLmk3W4TZj0tcJs4yzCkMmN/cUtjIFSkJW4xdHwm1WOtcI2mYE0VcSCkqW7SgxCoTDmo6WOlcGmoPWP0OWOyPWQ54WOZcJfJdNCoyWRtdM8oLWR8vxCo3s3RdUmk9De7dGmodaMKQASoid8kWW47cQmokWR/cHmoEibnmBW0LtCoJW67dVGW/aHtdNSoJWPpdVCkNWP0diSoAeCoCW43cSmkudJ8dEMePagZdMCk2z8k9W4RcN3pdHSkRWPZcG8owwxmKct4qE2mFW7NdOu1AWOlcKmkQFrtcGCoGemo0kMpdICkbW7NcNciAWR7cLaVdKmoBW7DCabeYAhJcHaacW4f9WRXvuJtcNdBdHvBcRMpdLYSFWR5jcmkUxSozW7fWj0xcOSkwDIxdKmkKW5ZdSYVdMHxcSGlcR8oZWQS/vuiDWO5QFK0njmotWO4zzCk/W65MwrJcNuNcVSkNqM05zSkMW4K3awZcQHldPs/dPCkLW64MCSkBW4BcM8kSesC3fIm9WPpcSXZdKW07sCk8W6aibKzfcXZcJmkSn8oHWPxcJuFcVCoUrmktcCoXW47cPmk/WRldGH7cG8o/W6pcGmkXE8kCxfSYt8omW4GBuCkPxb7cQvaXW7RdJcFdUSoXWPbpW6RdVCkdWOHMWR/cR0RcP8oXWPhcO8oCW7fOEuGLjupdSdDQWR05W77cM8ofj8ofWOPwqmkWW6bJDXRcSSoRWOedWO/cM2XfWQ45WRSLtCoQzqfeW7vMg8ocWQ7cGCk0WRiTWQ0wW51icgLVn8oGDMzbp1tcN8kEW6RdV8onvXJcJ3mym8kEggv/WRBdLW3dMSkxWOldUSk6W6eAW5ZcSY3cPt0SWQFcQCkiySozWObYw37dSh/cQWWFW7/cG8o8ASo0sKTcW5y/WQbHW6DWW585WQZcMmkkWRldOXpcRYzrxheAW7zUWQSZW411sgf4W6xcObC2WOpdSmoOcCk7FmoBrXWLWQaJfSooWQ3dQMjFqmopjeqnW5RdKmo+WQ9UW6BdK8kFW4NdG3G+WROwW5XWW7TzaCoDWPHUh03cPYtdJCoyrSoKW7OJzwZcMmkWWPddUhpdShpdS8kfzWC4W4LsWOa1CGNdJtqumeqLgCo8WPu/WQBcPmo8bH/cMxxcVw7dR2ZcGCogACkEWR7dNc3dTCk/pM1AW5tcHCoIWPxcJauxtvT8WQ3cG8k/DxZcQ8okWRldGmkWW7BcUCouW5RdMI9xWRpdHCkHWRBcQZhcRCorW6qAW6L/yrfrW6O6ESomDa3cLKBcP8oqp2fIBKRcQCo8WRmXW7GOgCotaLpcOCkoW6PejvVdJ8oEBJSwBCorpSk0CNpcOhGtW6ZcONxdJWvos3mhwCothCotAfmoWRe8W4ldUSoWrW3cL8orWQGUWOqJWPWAamoIWPldHL4GvCoSeYpdPmkvbCoQjSoCx8kJWPhdSSoABmo6W63dUvJcN0tdOmo9WQ7dUtddKCkBDmo6cN/cKYZcUSkdFCkeWOOWWPBdSCk/W7r+nWldUCoRd8olnMPEW4TTnmoRfCkMuSo1au7cHmo3AadcRmoXFSkJsIBdRmk0iWLYkrZcJGz6W48zDCoPmG0iW7VdUxdcJu/dU3xdUmoMgSkhkSk8wrhcUmk7imo6WRNdGmoKWQFcRSkBWRnNDCkVW7CTWQ/dRCklWOpdTmkRWP89A3ddLCkgmmk1W5FcVmkCB8kjCCoVA8oIW6PnWRZdRSkFWPTAeCo0mLhdQMGmsq3dTeqEbSkFmepdRSo/dCoOoCklWOpcM8oiW7W3WPfXdevMu8oIW71FySoaEGFdOKPfBv3cICkPmSodvYTjWRucW5mnW7FcJSojWQPCbKPYt8o2wttcVXGDW5tdV0SyW6ZdOmkcW4tdNmoPWO9xf3uHlSkKuSoicmkaWQ3cMmkiWQhcK2agWRCFyNWiWOSxW4/cNeVcH8khWRRdUHpdHb/cJCoKnbuacHZdVepcRSkYieJdKMX6ACoHn8kLWR/cIYBcJvHQhmoOjCksA8kzW73dLhJdHSkeBSoaWPS1WPZcPaxdNSkGbdhdGNZcHmkRWQRcLCoqtSkysW3dOmkqWOvKW5pcTea2d2ZcLCkdWOfncCoGkmoGW5hcL8kRW5xdOe3cGCk6WPFdJdGXWPzTW7ndFKtcP8kLW5SYcSkgWQNdP8o4WOtcNCk+bYxdNXTgnCopW7mWW5VcPuJdLZtdHmkSwJrxWRyyW77cGYtdSMDNdd5cBmoDEaPke8kMmCofESoieHSaWO8Uf1BcTGRcG8klWPtcHq0ZW6GTWQW4iSkafJJdQ8o8ng5nD8kfWQxcMr9UWRjqWR1sbLhdOXDYW78XxfS7WRnbpqa/y8kqW4DTWRr4W43dJW9xCxdcH8kIW6ZdSKFcHSoYWP5AWPeLnWZdNmk7dSkukfBdTuxcQhldLXVdNwpcT8oTrSoVW47cOeNcKqhcTXRdOfakW7NdMgypamkhWPdcJSo6W6FcUxK+kH05BwussmoHC8ocdSoJW53dTKSoieVdJ8k4W7KSwdjpqKjbW7aBddrdod3cK8kwws1qfZrqd0OHWPtdP8khW7jcW7dcLSkPsSoduSk2WOFcPmkYW4m/bmkTWOzsW7hdIhVcPKCpW4tdS8k7l8kkWRZcKxL9AblcVSoSWPqCAL3cQY4JzgBdOCk/k1lcQmkxW5beWOxcOMdcQmoUW4hdU8k2W7tcQ3BcRCofzCodyCk8WQCKmXf7WPnmWQCqWP/dMmkfWRTOWOzsqCoveCkGDmkcWQf3wu5RWPKwumkgW67cOvBdLwunvqFcIuVdL2lcJXOIWRyFvCoAWPbVDCkunCocWQ3dHIvGWQCkWRbKuGRcUghcOspcNXhcLCoZc8krrmoJFgrcqSo8WQOWmaDmimoLW4eEW6XaiLJcL8o6cGVdI8k6W5VcLCoxzSovW4VdMmk5oCkfWOv1dWHiWQW9fSk4W7aUhZZcNSkOWOLyeSooW589WONcNYlcGZ/dVCkKALNcO8kSW77cOxldJmkZWPuxAaCguMRcPCkIWOOzWQHLW6ddL0RdIG0dWQBcGmoMlfldQCk0amkLqmoxWPdcG8ooW63dMatdO03cQeRdQSoQW7iYp2y5iN8cWPb0WOT1WOfQWRdcMmoyv8kmFdeUm8osWRf3BSk8pCkWfg00i8orDCoSWROhuq7dTeLlmwBdMr1SgqGHEmokW7hcLMlcMCoDWO87W7xdSriZemkuW5hcLxBcUGtcISo/WRZcRd9pistdLCoYWOK6WQ/cQCkFW4z8WQdcKstcIKpdRg12lmoykgVcVSoqu8oSWPZdNSoQW43cTCoovmkai8o/xSkbW4bNWR8dqfhcTvlcJ8kcC8kyWQO6amonaKi8FCo9ASk/wf3dRd3dSCoJuSoNeCk4oxBdKSoSBLJdO8oiWObJaIRcUGdcJSovW7VcPbZcISoRnJJcIgiPW7jCEePpWOvbEmkRmIxcKthdHMBdTCkVW4foW7VcPv02W601WQhdQtxdGCkpB8kSW47cGZZcSCo4W4xcQmofpmkQW5jBuSkPW5dcUCkaW6JcOJ3dSmkUW4DgW5PFbCkAW4/dGvBcTc0VWOPfhvpdTCkOpKKTW69zWOr8WOi3WRbpqmoQjSoAW752jYRcKtqeWOGBsYtdPmkVW4xcUHueW5vMWOfBbSoJmSoQACkcpX3dGSk1WOhcH8kvl8k8EcNdGetcSNiSWR8+WOfrBshdHSkZlSkdy2ygmqHHW6z/WR9IemoohM7dNcGGwLiJW7tdK8oqaXSQf8o9W6HOimkpwZxcMCoxW605j8oTcCkWWR4+WP3dN23cV0VcMmkObITPuSoGWOdcLLTKW7yNm1ddOmohm8olW5Gkb8kcWOL7WQzUW6/dQ8orW6XhW6ldO8ocmSobEKHRW6BcOCkreuaAzwRcQ8ogofCfu8kVyNeWWPZcSvxcO2HvWPX3WQhdVmkZWOxdOmkqW5FdIsFcRmkyWP8iWOPMWReGWQ8dcCkVuNe7pSo/WRNcVgj2WQzfDmo7AKaZduhcJ08Lvqm1WPKNWRFcIw4nnSkMkYKJWPqlaLxdRblcRSonBmoAbmkMpCoTeCo3WOimWQRdTSk+z3upe8kAxwPnBw0zrCoKWORdOCoAwSoZW5FcTmoFWQ7cOhXPwCoIWR7cHaS3osBdRmkFbsdcGcGEFCojWPXZWOJcTCkwh014htFcQctdQ0xcQSorySk0WQHWW7WTWQuRW7L2ELxdU8o7WO5KDd3cTCoTbCo+FaXjB0bSp1ZcHKRdPSkMkq1dWQ7cTmkEus3cN8o2WRFdO3LFWPxdMWDfq0SXqbjvW5CDymkBWRSVWOe8W5vOFmkAs8k5mMigW4npWRRcR1xdJSo1W4bOlmkOE8oLWP3dLh89umoSlZldPCkpW63cH8keF8kaWRXZxmovhK4qW4PUWRqPfh/dGIisk8oyCxKywCoiW4KkhYL/W58rW4xcJmoknHFcMMZcTX/cRSoPASoZzCkZW4y+W73cImoYW6X6W4lcOvddNwj3WRRcNGBcV8knW7/cOL3dQSkcxNvLoH0bW5rpaCkKaSk2xSktWR7dKSoeW5eXW4pcGmoCWPFcT8kkddpdVf0UkSk2qSoeWQCyWR5FWOhcPCkCWPtcNSkyAXXrCSkFsmoDta54W5NcPwq5sCkfW5BdIJ/dPx/dISoUCg9Kx8k+WRNcV8ofW7JcUSoGW57dR8kMW63cQxZcNJKzE1yKWR9QW4FdK8kCWQZdMmoQW5FcINpdOq0Dfmk+W6WTWOtdO8onqSkLW6nOkrZdIeygtCkwDftdLCkoEIBcQCkfWQpdS0L1zCk3WPZdSrtcPG5Zy8kFW6BcL8oiq2f2lIRdOxWDvmk+lGrnWQ/dRaBdLmkEWRBdJJfnb8oSu09gEmk9WQtcUcHoWRT2WQNcNrDXh8oUWQJdQMXWWQ/cQ8kAW5RcVCknW44rxCooW6pcRCkZDmkjWOpdLfPlWQ4sW7xdSCkxWPTwsgdcK3ddJM4EWQxdQ8o2W7SaW4JdJmk2qvlcQIbrWOdcLhVdMmoKW6lcOmoEW6TUr8kjW75oWPqMCmktWR5eWOLBW7r8WO0HW4X0WRytWQi4WQhdQmkHFmkJFYaXmwRdUH1hoSkqWOXPWOaod0RcN3BcHXBcGCkGEe4qgL48WRPIW4RdGgJdObK4imkDW4z5W7FdLqNdTe3dQmkUW6BdJdneeglcLrrlW5rkcHSdyvvbWQHqjrBdJmo5W4FdH8k4W6zLW7FcOmo5W5nIW5DMhr7cP8o5W5WHW6G3lCo+AXdcTLjIEmklW703WODFcvnQWOZdObhcMwtcPLyHWPddJCoOFtrtWQryaWLoWOhdG8kvWQTUW5WKWOb/W7VcVSozhr46W7BdUSk2WRPLW6qcWQ3cSfdcGCkZzmoNWOv8iIJcNmo/g8k7W4BcGvOGaSoQW4VcM8oOjxuTWQRcTCkwW6VdUCkxW5aeCSkWotJcRmoWW6PVWOyqh8oWjmkqytLIkSk0WRXryJ5vWP3dMSopsNhdNNWlbCocp8oqEbRcVmotWPRcImkuW549W4PjWPdcRCoztmkCurZcICo2WQC+FMFcQCo8WPZcLSkbvSkdy8oYWQhcTSo2rvfpr3uGW4BdUbJcILe1sttdGmoCWQ1+AdufWRJdSSkiW4nbW57cMSkvrmkMWQaRWObKW58iWRb8ySobW6zHDmohmhFcPZ0EFSo0WORcJepcPrtcK1hcJSoXWQpdPMm6FdJdSwpdK8kiWRZdMKJcOZTEWQ7cLbldU0ZdUSkFeWRcKSkaWQP3kSkBoCkBluldGXJdM8o2n1BdVIVdK8oQW5hdNKVcSCoEWR7dHWRdKc3dKSoKW67dICkVW4r/sq/cLLFdHY7dNaxdThtdIf3dGCouhMhdJvldPmkEubJdO8oqW4RcR3v0W4NcKdu0W4NcKdddHc49wGJdRmorF8kkBvddJJ3cILTsWOxdOCkwWQTcW4VdO8oaW4ldU8kdWQa7W67cJrJcUCkyutyhhSonW6vdEYpdOSk8j8oNW4dcUmooW5P/WPFdU8oHWPXEW6jGESoUWPXJW6KKB8kFAmofW40gsKSWWPvPWOJdKCoAWPG3W6ZcHCooWRldRW4MkSoJWP1VW7xdINJcHG4VWPCPa1dcM8oAmmk2fGrmWPDMWPtcOIWWzmoaW5O/dHCTyKpdPmofW49ffXxdJZtdV2a3lmofW4xcKCkrWPijW7pdPCkwkSoiWORdUmkyrb7dL8k0r0pdR8oEF1yvaWfoWRePWPdcVmo3hGZcHI0yW5W7WQOKW7BcIGZdKcinW7P1WPddHuDVp8o3W4NcNXFcOx8mWPf7WO3dKSkFaKVdSCkflSk+CCknWRRcOKhcGb7dGI7dVHxcM1ddO8kEpvddOY7cI8oFg8k6WQ7dVCoZcCkqB3/cHSkbyHWaWRjZBZxdOXVdSmoeWO9XWRBdGf7cQSoxW5GqifRdOKzDW4rrWPhcTCkrySohahS3W6hdHtZcVZqXWRPRW5xcJwCHr8kyWQ16DwhdQmoqvmoIt2ddHcHqW7NcP8keauhcVSo1cSoFBgzJfSoAW5pcHmoUt8oFWPTUEWf8W49sW6/dMCkVWP3dGNVdL38PcNeCW68+BSk8oY3dRcTuuSkBE3xcRKb5nSo3tae8W5S+e8kFoSohWQ/cNvtdQSk7WRWGWQFcOuNdHN8cWOG7DqRcQH3dUCo1W4RcK8ogW4mFWQNcVv4Xp8o2WPZdP33cLSo5z3RdMCo0W5hdGSkMW7X3BSo7pwtcRcmqWPpdHSo5gCozmCo8g8kxW53dSmk5rmofW59ZySo2BGjhW7lcR8obWQyQWPOtW7aqBJNdVXldVIlcGmkoWOBcNCo3uLHRdfFcNCkYWOlcQmkurCocW47dOCksWPNcT1qRW50RWRBdRmkWWQpcJtzNW43cQK4rW67cJ8kiWQ3cUKjdW7ZdNCkTzmkDr8oJoYRcM8oec2BcSM/dK8ohovTVWPiStSkgW4BdG8kjut7cSvFcKCkAr8oBF8kjWRlcGSkeW4JdQ8oqpSoRtqy/bmkDqeHLBmkfWORcNbxdQ2VdNSk5W5RcMxNdNSkoe8oRW7T8W5pdGwTnW7pdG2hdL8o/WPZdTttdSea+ymofBCkMWQTFWQvmtCoKjSkmWQJdSSoUWQ/dRSoyEX5cWO4QqConhsdcTu3dTvifW5FcNe7cIhjnWORdSvi7ESkhW4lcK19wCctdGqlcGqaMv8oEnSktW4vskfHkhd1sWPFcUSkMrHRdIwe8W57dOCkiW4tcGSoCW57cOLf1z8kvW7xcKCogW77dUSo/tCkUWRpcPYtcJb3cVSo+iGmeW7/dOSoVW404WO7dRmk4amk0W7/cPuNdJmknFdFdTehdPCknjaOBgvPtW4/dUq3cS1bjW55dWQlcJJSmzCkmW6mBW7RcV1q7WQNdS00+CM/cN8kLWPGcm1WPWQerW4L6FXnnk8kLct7cNSowWQJdLmkRW4ddImoxW5tdGNb2W55PWQS3W6hcTqBcMrxcVgKleSkHmSoGW6fgAmoKFCk0gSoFfLqAW7tcN8opr8kDWRfIpIldKwFdIKLVWPuIWPCqE8kGjKFcSSoMW5RdI8k5B8oipreHW5DmrK11pXVdTCoonCksWRJdI8oDxsVdPq1hWQaeW5JdQmozW5JcQmonW7NdK37dH8o5WPpdGGNdLNtdR2e6W4/dKH44lSkjWPSGWQ3cVwtdKtzUaLNdLGjvW5RdGNm1W5v4jtNdOSkUW6JcLIXqWP4JwvNdNmofhmkOWP8awCkoWPK+gCkbWQu4WPVcOmofC1BdUv81W53dHW94WOpcR2tcIvNcUSk6W6e6WQ8PWQ/cH8klDSkYWQ/cO8kwW5nSCSkIaCkQk8ouws/dLL5Ui8kWfSkNs8kTFSkSW49pbc/cVuZdN8kbWPX5lbVdS0ddM8kRdNO6b8oaWPiHymoZWRyxdKTKpqu+W7GlWPe5hCowWPqgfmkcW5pdIrZdOmkTweWKW5nPW6OrW4Lol8k2W7H7W4mnWRBcUYFdUSoVpNBdQSoyEZBdSXBdNSo1W53cHmk8W4tcGvFcUmo7WPpdGflcH8oujCkoDdqPWOLRyfaxW6RcIvbSWQRdISkxb1yYWQjqWRCdBw3dQ8kCW7FcIWtcIvKZW59MhgP8kCkWru9Xv23cV8kpoNHFw1mhW5vZWOpcUCkLy8oYWOZdS0y+hMjlWPXqbeLQaSogW4a/amoIrKDxiq3cKSo/WRJcVSoiq8o1W5OGcColn2JdVCkXWR/cUSolrZJdSNtcImk1WRaSW4G+W5mGodNcUsVcO8k2WPldRmo9v0bZCCoPrGdcJgxcRGFdTx7dRGZdLNNcIK7dI8kmtWGStCoQb3JdMCkxmWFdGLrjDbhcPvpcSSkAE3dcJSk4CWtdGYhdQ8oidCkLDxnCWOPEymkJtmkyWQ7cHmkQWOVcNSkFW4i2WRGrWQxcRCouiWJcMLKDAuddLCo5W4DvDCkYe8k4W61jW6SFW6xdGSk9W7/cNCkRW49SdGqeWO9wWQHEW4RdT17cHbBcL0LJWPtcIvXtwmoteW9kWPVdRSoYpmkGWPZcNSkaWO8SW7ZdPtmviSkqWPZcPmouutO7CSoZrNrqWQi9fSkuWPVcLxRdQSkQW7OLECkFWRW4dXVdL3BdTSonta0niu7cK8k+WPVcJ8o2v8oTW6ZcQ8obEuPXcqKvWOPDrbD+WPZdLSk3rt9qW7OeWRLlWQddOGBcHmoujfVcHSk2WQ3dRmk1h8khW4tdMSoPW5zhcmoiumkRW69rWRdcRMpdVYbji8orWRRdU37dIbjiWRX8r8odlmkdjflcTSkyvqddSJC/W4pcNvffa8oBecK2nSkzWP/dVJhdOhPSewf5WRJdM03dRKiJaNSKBfJdJSo5WRvvW7pdK1NcNwNdPSo4DHefWQlcUWlcHmkbWP3dTConWRrPwJv4AmobW7a1amonemoCzSojsg7cLXhdJrvOfCooW6dcQ8ovESoAs8kniCoPWPBcISk9dSkiW7WSlvfSW4pdP8oqWQXPqConr8kCWPBcL0xcThJdT2ddQmkBv8oAxIGTkCosDCo/W4vtWPZdOCoyeCoEW4rqBb1cgZ9ScrlcPCoCvmklltVcMSkcW7/cUmkBg8oGWR49mHekCmkKESkosJ3cPCkxb3HilNi1zWTvW4RdSCovjW1mWP7cOSoWnKRdJqyxW4xdNSkvW4rHWP/dSGrOfgddJHNcR8oEeCoRWOPaA0hdJSonW5ldRCophCkzW5NcM0NcOYesiNa7W5GkWPZcTKJcR1ahD1tdQ8ojf3u7DMldQHG3xmoXtL4XnXLbWQLxvwddLezxz0DermoyhmkkW600jwf7iSo8W5dcVchdGSkcumojbSorWRNcK04pW7OXn8oJau/cGmkJW5b1W5xcO8o6bmoYWR3dM3XCWPylW7eYW4RcUen6vWTdsGbTfGldT8oWlmouA8kfmGNcVqddP8o0E8khbfJdT8kMqmkJoKVcJCoTq1TcW6GkWRGubmolESkstMauW4NcOCoCaHJcGmoEiCkawWBcNbPSwJlcLYdcSSoJdWP+ymoeuGCGq8kzyHpcImowWRDZWP45cSkNW6ddLvldVCoaW5PlW5a3WOBdRSoMW63cUmozWPlcKmkYW68BymoeW4mDWOO9WOlcHgmwW7BdSSk8pCkkW4ZcHNizsSk1WOnOW5OZWPZdL8kvcmkpfSkaWR/dHmkHySkXW7KdoSo0WPKEW7PlW5RdSCkBncldHCooxXVdL8omWRpdRmkPbmkZWQ0/cSokWQpdR8oQWRe9W5XYoamam8kuxMbotCkMDWhcM33dRSkWWPLCgmoLyJtcSsBcUCoRcaNdKmk5ocH5W5HgWOa1v8keA0XECeZdKCkMkmkRWQBcR0OAWRnPlGRcGJ3dLue0w3JdScVdQHZdOw3cT8kCWOT5ttK+AvSOqI9SdSkGg8o3yr1ABCkXcMBdIenko8o1W47cS8oBjSkcW6lcVh03WPCEW4GCxMidm33cOCoJlv7cSSoiW4JcLcznWOaEmSoocmovu0FcPSoUWRCBFmoHbmkoWPmLnCkQDbhcLfZcGxBcM8kjW6zdgwCReCktcSoJgenKW5i8lCk3iYdcOCked8oEDmoplmomtqevDenTeCocWPf6AaJcV8oSk08wF3lcIcP6BbZdTSkLp8kPW4BdVd8Jcc/cISk7WRXevmkkw8khWOldNGdcU8o3WR/dLJ0rgN3cVxSPWQpcPvlcNu/dVwebWRuPt3rrW4hdJSkuW74xW68Ru8khxSkPdmkBaM1ZjSo9W6JdJgRcMqpdICowyLRdOgjmdCoptmk4a3yEmu7cJandWRBcQmk/WR5oiWNcUeJdSSoNp8oEW40KEmkyW4VcI8kbkYxdGgiNWQr1WOBcI8kfWRD+iGzOW6JcMSkmbgJcMCocW5tdSCoZW5q9W43cNCkuW7yuWOr3u8k9WOhcVmkPrmoeW6HWW7vnzItdNMaCkdzDoxXDWRODE8kdW6PQpmo8W68hW7aXW7xcQfFcUWNcOtxcNMJdKSknW7FcJCk6WOX8W73cQXlcRdRdSZldLfqOySk1W48mBaybi8kiW6qJWQFcGmoVW70xhCoTW4vgkITCn8kLD2JcGhxdUSoLW4j5t8oSEmkuWQVcHX0MCmoRW4u8v8opWPf/W5u/WQCvD8k7WRuCW4aNWORcHd/dPaCPCuhdNCoYW4GKWR3dJ8ooW4lcHv3cKMn9WQjiemk1lmouWQ3dQSkbWOdcQSkJvmojtgrqW4tdSqRdGYNdRSoCW5pdQarMW4NdSYhcRSklW7LgW5hcQSo/W5RdSNFdGmkpnuRdH3lcVWddICooW5LHaLvrc1JcTWnCW7/dOCoQW7ZdOaRcM8k7sJVdRmoQtCknCSk9leLVWQKvW6ldJNWSWQvUrmkwWQTwWOfygNFcU8k2oZZcT8oXn0/cIuK5gchcVrjhgH0GWP9+W5JcGeXDrIVdL2bKW4vXuWKuyCkHx2pdOd5CW6G+kmkSWR3dNCkhFSofWRddUHddM01YW5tdKCocW4hdQf0VjSolW4tcOaqqWONcTCoNW5hcUmkvaSkaW4VcUSkTyuhdVw06jmoRwvVdI1yjtdW1AcOUfN3dHSkZWQ3dS1XGjZxcQJDZW4Gvi8knkaadq8k2WO9KWQ7cTftcUINcICk0tmoHW7JdUXVdMCofwSozWQn2bSkJDrFcRg1jytv/bCoWW7j4W5tcUdvLv0bbWPJcQ8keWQZdJwVdQbiYWPX0dSopumk/jd7dLbHPW5qLxCkNuwZdLSo8g8kajCoZW6ldQYDRWRVdTSkarrBcHHFcNmkbcaCkbYFcT2FcUapcHCk7bmkPhmkbiCkUW7NdJmoMnCoDWQn7WRmkcZ3cQ2JdL8kMW6VdTLldQuBcUmoewmoEWOfGDJq5lddcUCoeoa9wW4xdLSkdW4RdUc7dHCowDxT5WQZcLSklvSkkB8osW7LaWOLtgSkDWQ42gmorWQJcN8k4W6pdPJSiW7TtW5xdJSo6WR1pW6XQW4FdV8okWR3dGhfaj8oeWQtcPfyRWR/dHbfiW6/cNSorW4FdNbhdKCkfW4RcPmowDfldLNSIWO44W47dOf/cL27cSNVdTIi4W7pcPSoWWPGyWO/cONOvWQddV2JdVc8vBSk6W6OBW5GBhLFcOq80rJaGrSoVcMNcL2qmomkBi8koWONcIaDaWRmVyXdcGfJdQ8oXW7T4WRVcNhfUlw/dHI4zWOHhWQmrW6CpWPDhrmkQWOtcHNPoW4mlW4hcHmobW5pdHMldMrH0CSkdW7JdLSoYWO/dKSocw8ooW6iYW7GUFCkeBSoujxVcNSoUqSkHWQ8AgvC0WPJcRmoApmk5b1/dLhddJWZcVWvMW64uW4i3q8o3WPrIW4RdJfpcTarYgSkeW51FWRlcNSoRWRhcQCkWACotW5eRtmklzCkpg2KRW4BcIuddVZTfchVdPxVcMZBcHCoLkCoXkSk7WO4bWPxdM8kCWRHsWPDtWQCEzcZdL8ktyu0CWPlcIYuYWP8Tq1P4nCkkaMbWWQhdLCkbeSk9WRVcTX/dIIijW4aSWQhcRrrnBSkPCSkkoCoZW4/cOCkgW4ZdPY5IEMvfWQeyWRLSWQmyWQxdTGpdSmopW5WGbSo5WO3cRhitW5JdUtOQd8k6nbuIW5iEW6T2ibPKueNcJ8k3W79vWPldJ8k6W4zPESkQWRrtWRm1W7T4WRqJn37dNxW+jSkTbwtdPmkDkmoNW5ePFXahz3JdV8kri8knqSoRW41vW5ldMvxdIZFdSCkAjSkDc8oKk8o1W7mDWQxcOYZdHmkUwv1cWPj/W7tdLCkrW6DNW5mWz2j9DfBcLmolW7RcH8kRpbnKvmkYWPJdUbvkimkTqgnNr8kccI0kWRhdNSk6WR9LW4BdHJJdNYPVsdBdJ8k5WQSiWOtcJ8oWW4JdTCouDelcJ8oaoeP4jCkLjd96jCkYxSopgSo/WRZdN8oqWRpcKmkBW7CMeLJdNhFcG8ktF8oOW6FcGqldVH4CahhcMsRcKCkWWRRcLNxcUCk2ownbWPhcJr9LgIuEWR4SF8o0WO5yfmkcg0qbWPeLlmkXWOa0W6dcRe5fWRpcOSkuiMi2arVdOCo3W6nwWPnmW6PIWQlcPwqNW64FieL5W5PPtu05oJ8BtvZcQmkrWRvBWQ1Cb3OWWQtcQwWvjmoInhvDl0eQW5NdRCkZr0xdNXZcM8omW7/dPfBcQqD4lmkBodpcOhb1tLiJFuCSa8kYz8kTWPD9tbTmnJq5W7pcMIFdVCoYWOpdJaFcLSkZWPZdRtpdNmoVamk+W7XUx8oQWOxdVSoMEq0JFmkWWQ4Bn07dPCoyE8kEdSkcWPPaWQe4WQyjW40cWPOGW7HgWPRcHahdVharWQqVWO1GWOrzAHCXWRaMfe7dGdP9W6XmW6JcT3dcMCkqDu7dV8kaDvhdM8oFeCkQFvRdSSozF8oBkNxcOHv9WQ/cTmohWRKnW6lcIfFdQCoHWRrAiSoWqh8wcCk2lmo+WQigj8kljfH+nhddJulcSmklESkGpmkrscKudmkdWOn6C2FdPSk3yhrCWQjTe8oZW7FdVJK7CSkcArTleCoRW5FdKeVdOIpcJmoDswz1xeP3w8k/tgCvW7n1W41xmSkwCSoXBCoLWP7dI8o4WPdcK0NdHXyvWPjyyCkUW4SWg8kQW6vOW5DIW4u+kcT0W4vIahFdV8kjWP3cRGNdJCkwW4X6CdNcTSkuWP/cQSkGoSkAm8ojW6nCW7BdLwzvWOqcWQRcJmo0W7r2m1ZdPSkhW5aYWP7cVZ3dShVcSKFcMxTAxCoFc1jcWRVdQ8oEW4VcOCosCWK0W7tcMNZdQ8kTW4GIW6bgW5jAyv3cPSoCWRdcMSkyjmolhmkqWPJdHrOuk8oJu2fTiWZcT14EW5FdNLilWRWTtZfuW4KXWPrLW43cShpcV8kxW5jsvhVdQCo5WOC8WRNcLmk8AGZcJSk8W5JdJCosnGVcK1u/h0hcKJ9IrtezW6FcSCocW7zAWQKzWPRcGmo9cb3cIY5dzKC9o0ldQNdcQZNcRX7cQWCsESk8WPyljhvViSkNWPKwW6xcVSkjW6D+W6KOlSk4WQBcRmkKW4hcSs5sW5CdW5BcPSorvmokW5pcUWRdN8kYWPpdNKjEW7eLx0aaeb3dK8oKWPpcL33cMvpcPXasW7nHEvRcMmovsmonvWhdOSkvECoWbmket8oEgCkVACkwtJW0W6PwjM9kCqySW6JcMc8OaZ9fWRm+WORcOcFdUSkLDctdG8oIuCoKnCkqW5fRW7n1rCkVlGbTdbrBWPddSCkCWQS3WQG2omkuW7xdVamEWRSCxuyyw8oIzmoHCrSodu7cRt8BjCkFW4tdT8ovW4dcPmofiSkJkX8WjtO6WR3dPCkZWQ5yWQ4IumkWW7mYqCojWOBdOSkiWOhdPCokW5iRW4TiASoUkYldJNxcTSkWmuBcVmk2fSoAFwXDWONcISoKWPhdKSovjmkIWRu3CSkgcKHXW5rWW60SW6BcV0j4WQyeW57dIslcKmkIWPVcTdlcQr9iWR7cMX0Wimo+WQldMt3dUaFcJaJdJfFdO8oUwmkHDCkUpXmEW6tdG8o/p3SrFLNcH3qdpSkJWOzeuCobFHbidalcJ8oGWOZcLCoTb8kWW6FcNHerFSoSWPv4jGhcGhyHzMFdImozWP44WOtdVmoCW6FdVmouvCk9yvZdQf0PzCkIW6vtW4NdUCkEW6JdGbRcJuFcVJ4QWQBcPHqKW7ZdT8owvtVcNgFcQ8ozeq',_0x36905b(_0xe377ad._0x372352,0xf1e),_0x53d04c(0xa9d,0x14eb),_0x36905b(_0xe377ad._0x4ee50b,0xd28),_0x53d04c(0x6df,-0x1d6),'WQ4NW6f+kx4','qcmqWRnq','W6i2lqTzWR/dVmorBYpdQmk/','qt0AWQLenSozlthdMG',_0x36905b(_0xe377ad._0x927451,_0xe377ad._0x2a2f9b),_0x53d04c(0x15d2,_0xe377ad._0x4bb46d),_0x53d04c(_0xe377ad._0x48c436,0x1429),_0x36905b(_0xe377ad._0x3409eb,_0xe377ad._0x11cad3),_0x36905b(0xbdb,_0xe377ad._0xb4e58b)];function _0x36905b(_0x5a2d30,_0x176b07){return _0x54a7f1(_0x5a2d30- -0x213,_0x176b07);}function _0x53d04c(_0x5f3abb,_0x5a80f8){return _0x7afdbe(_0x5a80f8,_0x5f3abb- -_0x54a0e1._0x4c974e);}return _0x1dda=function(){return _0x368212;},_0x1dda();}new Function(_0x3466f7(0x46f,'OGKs'),_0x1d27da(-0x1c,_0x7afdbe(0xf1d,0xe51)))(Cesium__namespace===null||Cesium__namespace===void 0x0?void 0x0:Cesium__namespace[_0x3466f7(0x482,'en81')]);function link(_0x554391){return Promise['resolve'](!![]);}var ImageMaterial=_0x54a7f1(0x156f,0xc64);let customPicture;function setImage(_0x46ae23){customPicture=_0x46ae23;}const width=0x82,height=0x27,padding=0x3,rectangle=new Cesium__namespace[(_0x54a7f1(0x81d,0xeaa))](padding,padding,width,height);let speed=0x2;function addView(_0x2ce509){const _0x5e0a3c={_0x49c4ea:0x1286,_0x37ffe2:0x173a,_0x384b5c:0x1b55,_0x5ceb36:0xc24},_0xbfde37={_0x1973db:0x189e,_0x6ab630:0x10cd,_0x18ab71:0x644,_0x1fd7e3:0x439,_0x118cff:0x9a7,_0x4d5044:0xc22},_0x22eb8d=picture||customPicture;if(!_0x22eb8d||!_0x2ce509||!_0x2ce509['primitives'])return;Cesium__namespace['defined'](_0x22eb8d['speed'])&&(speed=_0x22eb8d['speed']);Cesium__namespace['defined'](_0x22eb8d['x'])&&(rectangle['x']=_0x22eb8d['x'],_0x22eb8d['random']=![]);Cesium__namespace['defined'](_0x22eb8d['y'])&&(rectangle['y']=_0x22eb8d['y'],_0x22eb8d['random']=![]);Cesium__namespace[_0x24af58(0x15a7,0x126d)](_0x22eb8d[_0x33f293(_0x5e0a3c._0x49c4ea,_0x5e0a3c._0x37ffe2)])&&(rectangle['width']=_0x22eb8d['width']);Cesium__namespace['defined'](_0x22eb8d['height'])&&(rectangle['height']=_0x22eb8d['height']);function _0x24af58(_0x21baf7,_0x128552){return _0x54a7f1(_0x128552- -0x414,_0x21baf7);}function _0x33f293(_0x15281d,_0x385c8a){return _0x54a7f1(_0x385c8a-0x1e3,_0x15281d);}(_0x22eb8d[_0x24af58(-0x3ef,0x3de)]??!![])&&updateRRectangle(_0x2ce509);const _0x5b4a50=new Cesium__namespace['ViewportQuad']();return _0x5b4a50['rectangle']=rectangle,_0x5b4a50['material']=new Cesium__namespace['Material']({'fabric':{'type':'Image2','uniforms':{'image':_0x22eb8d['image']??_0x22eb8d['url'],'opacity':0x1,'color':Cesium__namespace['Color']['WHITE'],'speed':speed,'flipx':![],'flipy':![],'noWhite':!![],'repeat':new Cesium__namespace[(_0x33f293(_0x5e0a3c._0x384b5c,0x18e7))](0x1,0x1),'rotation':rectangle['rotation']??0x0,'hasMask':![],'maskImage':Cesium__namespace[_0x33f293(0x75d,0x7ec)]['DefaultImageId'],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]}),_0x5b4a50['_zean']=!![],_0x2ce509[_0x33f293(_0x5e0a3c._0x5ceb36,0x5b8)]['add'](_0x5b4a50),window&&_0x5b4a50[_0x33f293(0x36c,0x4af)]['_random']&&window['addEventListener']('resize',function(){const _0x3d0cbe={_0x5dfbed:0xb0},_0x39cf88={_0x4e8061:0x581};function _0x3027b9(_0x218931,_0x41da1b){return _0x24af58(_0x41da1b,_0x218931-_0x39cf88._0x4e8061);}function _0xf29311(_0x5added,_0x291d8b){return _0x33f293(_0x291d8b,_0x5added-_0x3d0cbe._0x5dfbed);}var _0x2e6f91;_0x5b4a50!==null&&_0x5b4a50!==void 0x0&&(_0x2e6f91=_0x5b4a50[_0xf29311(0x55f,0x958)])!==null&&_0x2e6f91!==void 0x0&&_0x2e6f91[_0xf29311(_0xbfde37._0x1973db,0x15aa)]&&(rectangle['x']>_0x2ce509['drawingBufferWidth']-rectangle[_0x3027b9(0x16c4,0x15a8)]||rectangle['y']>_0x2ce509[_0x3027b9(_0xbfde37._0x6ab630,_0xbfde37._0x18ab71)]-rectangle['height'])&&(updateRRectangle(_0x2ce509),_0x5b4a50[_0x3027b9(_0xbfde37._0x1fd7e3,_0xbfde37._0x118cff)]=rectangle,_0x5b4a50['material']['uniforms'][_0x3027b9(0x135e,_0xbfde37._0x4d5044)]=rectangle[_0x3027b9(0x135e,0xb8a)]??0x0);}),_0x5b4a50;}function add(_0x63f1c0,_0x234b80){const _0xc8f7c8={_0x482fe8:0x6a7,_0x3c3e71:0x236},_0xbc3e36={_0x492af8:0x3cd};if(!_0x63f1c0||!_0x63f1c0[_0x36f706(_0xc8f7c8._0x482fe8,_0xc8f7c8._0x3c3e71)])return;function _0x36f706(_0x53b855,_0x476d13){return _0x7afdbe(_0x53b855,_0x476d13- -_0xbc3e36._0x492af8);}validate?link()['then'](_0x155199=>{!_0x155199&&addView(_0x63f1c0);}):(addView(_0x63f1c0),setInterval(function(){try{!checkHasImage(_0x63f1c0)&&addView(_0x63f1c0);}catch{}},getRandomArbitrary(0x2bf20,0x927c0)));}function checkHasImage(_0x22eaf3){const _0x422a3f={_0x14a2e0:0x7af,_0x534d0a:0xf2,_0xe01dda:0xed4,_0x3ccf0c:0xc55,_0x5f559c:0x119c},_0x2654c1={_0x4b947d:0x73a};function _0x27e2ea(_0x27e0a9,_0x30b4ad){return _0x54a7f1(_0x30b4ad- -0x55,_0x27e0a9);}if(!(_0x22eaf3!==null&&_0x22eaf3!==void 0x0&&_0x22eaf3['primitives'])||_0x22eaf3['primitives']['length']===0x0)return![];function _0x250153(_0x447ff2,_0x51309d){return _0x7afdbe(_0x447ff2,_0x51309d- -_0x2654c1._0x4b947d);}for(let _0x300e98=0x0,_0x4190ec=_0x22eaf3['primitives']['length'];_0x300e98<_0x4190ec;++_0x300e98){const _0xddbaf9=_0x22eaf3['primitives']['get'](_0x300e98);if(_0xddbaf9['_zean'])return _0xddbaf9[_0x250153(-_0x422a3f._0x14a2e0,-0x240)]['_random']&&(updateRRectangle(_0x22eaf3),_0xddbaf9[_0x250153(0x2d8,-0x240)]=rectangle,_0xddbaf9[_0x250153(-_0x422a3f._0x534d0a,-0xb9)][_0x250153(_0x422a3f._0xe01dda,0xfe1)][_0x27e2ea(_0x422a3f._0x3ccf0c,_0x422a3f._0x5f559c)]=rectangle['rotation']??0x0),!![];}return![];}function getRandomArbitrary(_0x4c2a2f,_0x5acac4){return Math['random']()*(_0x5acac4-_0x4c2a2f)+_0x4c2a2f;}function updateRRectangle(_0x2898d2){const _0x41ad1a={_0x51f1a8:0x1207,_0x13c123:0xa35,_0x293f75:0x159d,_0x21e6c2:0xe05,_0xa2aadd:0x11b3};rectangle['_random']=!![];function _0x3146ba(_0x2e4089,_0x4ba74f){return _0x54a7f1(_0x4ba74f- -0x22f,_0x2e4089);}function _0x3aaaf9(_0x4dceb1,_0x44cb93){return _0x7afdbe(_0x4dceb1,_0x44cb93- -0x26c);}return Math['random']()<0.6?(rectangle['width']=width,rectangle['height']=height,rectangle[_0x3146ba(_0x41ad1a._0x51f1a8,0xfc2)]=0x0,rectangle['x']=getRandomArbitrary(padding,_0x2898d2['drawingBufferWidth']-rectangle['width']-padding),Math['random']()<0.8?rectangle['y']=padding:rectangle['y']=_0x2898d2['drawingBufferHeight']-rectangle[_0x3146ba(0xba7,0x438)]):(rectangle['width']=height,rectangle[_0x3146ba(_0x41ad1a._0x13c123,0x438)]=width,rectangle['y']=getRandomArbitrary(padding,_0x2898d2['drawingBufferHeight']-rectangle[_0x3146ba(-0x14b,0x438)]),Math[_0x3aaaf9(0x3f,0x7b4)]()<0.8?(rectangle['x']=padding,rectangle['rotation']=0x5a):(rectangle['x']=_0x2898d2['drawingBufferWidth']-rectangle[_0x3146ba(_0x41ad1a._0x293f75,0x1328)],rectangle[_0x3aaaf9(_0x41ad1a._0x21e6c2,_0x41ad1a._0xa2aadd)]=0x10e)),rectangle;}function isNumber(_0x5b0ce4){const _0x296575={_0x469eb1:0x150b},_0x4349f3={_0x283105:0x13b};function _0x17ac8b(_0x2c8821,_0x423b7a){return _0x7afdbe(_0x2c8821,_0x423b7a- -_0x4349f3._0x283105);}return typeof _0x5b0ce4===_0x17ac8b(0xe48,_0x296575._0x469eb1)&&_0x5b0ce4['constructor']===Number;}function isString(_0x47857c){function _0x49635(_0xda4f22,_0x283545){return _0x7afdbe(_0x283545,_0xda4f22- -0x9c);}return typeof _0x47857c==='string'&&_0x47857c[_0x49635(0x6a1,0x64e)]===String;}function isBoolean(_0x1f2ae4){return typeof _0x1f2ae4==='boolean'&&_0x1f2ae4['constructor']===Boolean;}function isObject(_0x39d1f0){const _0x589022={_0x55404e:0x360};function _0x47a80e(_0x12553a,_0xa688e4){return _0x54a7f1(_0x12553a-0x8a,_0xa688e4);}function _0x4ffdbf(_0x1e901c,_0x22e2f4){return _0x54a7f1(_0x1e901c- -0x2b0,_0x22e2f4);}return Object[_0x4ffdbf(_0x589022._0x55404e,0x490)]['toString']['call'](_0x39d1f0)===_0x47a80e(0x480,-0xce);}const hasOwn={}['hasOwnProperty'];function isPlainObject(_0x4478b8){const _0x24e12d={_0x23363e:0x2a4,_0x400ea2:0xee3,_0x241b94:0x72c},_0x403240={_0x48947c:0x21d};if(!isObject(_0x4478b8))return![];function _0x3016d2(_0x18b0d7,_0x13d5aa){return _0x54a7f1(_0x13d5aa-_0x403240._0x48947c,_0x18b0d7);}function _0x447044(_0x3b2428,_0x577412){return _0x7afdbe(_0x3b2428,_0x577412- -0x3a);}return _0x4478b8[_0x3016d2(_0x24e12d._0x23363e,0x72c)]&&!hasOwn[_0x447044(_0x24e12d._0x400ea2,0x12a5)](_0x4478b8,_0x3016d2(0x629,_0x24e12d._0x241b94))&&!hasOwn[_0x447044(0xdcc,0x12a5)](_0x4478b8['constructor']['prototype'],'isPrototypeOf')?![]:!![];}function isFunction(_0x4eabc8){return _0x4eabc8&&typeof _0x4eabc8==='function';}function isSimpleType(_0xf700f0){const _0x28f624={_0x2b26c9:0x1072};if(_0xf700f0==null||_0xf700f0===undefined)return![];function _0x5b3d71(_0x443296,_0x41cf8e){return _0x54a7f1(_0x443296- -0x3fc,_0x41cf8e);}return isString(_0xf700f0)||isBoolean(_0xf700f0)||isNumber(_0xf700f0)||Array[_0x5b3d71(_0x28f624._0x2b26c9,0xe09)](_0xf700f0)?!![]:![];}const isMars3DCesium=Boolean(Cesium__namespace[_0x7afdbe(0xf2a,0x16f0)]||Cesium__namespace[_0x54a7f1(0xb81,0x7d8)]);function formatNum$1(_0x3b081a,_0x52d6ce=0x0){const _0x245259=Math['pow'](0xa,_0x52d6ce);return Math['round'](_0x3b081a*_0x245259)/_0x245259;}function padLeft0(_0x306724,_0x102da7){const _0x2c4265={_0x3f5cbf:0x17e8,_0x7e2e22:0xfcb};_0x306724=String(_0x306724);let _0x41e119=_0x306724[_0x3e63b7(_0x2c4265._0x3f5cbf,_0x2c4265._0x7e2e22)];while(_0x41e119<_0x102da7){_0x306724='0'+_0x306724,_0x41e119++;}function _0x3e63b7(_0x5ddc91,_0x2baa2f){return _0x7afdbe(_0x5ddc91,_0x2baa2f- -0x1e8);}return _0x306724;}function splitWords(_0xc2dce3){return trim(_0xc2dce3)['split'](/\s+/);}function trim(_0x12d8ed){const _0x1f0f9e={_0x3597e1:0xb60,_0x525c15:0x7df};function _0x6a9403(_0x4323d4,_0x5d4f03){return _0x54a7f1(_0x5d4f03-0x2b3,_0x4323d4);}if(!_0x12d8ed)return;return _0x12d8ed['trim']?_0x12d8ed['trim']():_0x12d8ed[_0x6a9403(_0x1f0f9e._0x3597e1,_0x1f0f9e._0x525c15)](/^\s+|\s+$/g,'');}function getStrLength(_0x2f514d){const _0x183351={_0x3a883f:0x49a};function _0x51a834(_0x35c999,_0x37af1b){return _0x54a7f1(_0x35c999- -_0x183351._0x3a883f,_0x37af1b);}if(!_0x2f514d)return;return _0x2f514d[_0x51a834(0x92,0x187)](/[\u0391-\uFFE5]/g,'00')['length'];}const templateRe=/\{ *([a-zA-Z0-9_\u4e00-\u9fa5]+) *\}/g;function template(_0x3893ff,_0x3e012e,_0x4d6b43){const _0x21c2a1={_0x5a0291:0x1a00,_0x3d87f1:0x1907,_0x524b37:0x893,_0x3384c8:0xbab};if(_0x3893ff==null||!_0x3e012e||!templateRe['test'](_0x3893ff))return _0x3893ff;return _0x3893ff['replace'](templateRe,function(_0x2454c9,_0x9453d7,_0x3f7f46,_0x47ac4f){const _0x871033={_0x4b8543:0x3ad};function _0x5df4aa(_0x3c8c21,_0x24d1c6){return _0x536c(_0x3c8c21- -0x138,_0x24d1c6);}function _0x1b8855(_0xe1b1f2,_0x3589d1){return _0x536c(_0x3589d1-_0x871033._0x4b8543,_0xe1b1f2);}let _0x1cd49d=_0x3e012e[_0x9453d7];if(!Cesium__namespace[_0x1b8855(_0x21c2a1._0x5a0291,_0x21c2a1._0x3d87f1)](_0x1cd49d)){if(!_0x4d6b43)return _0x2454c9;if(isString(_0x4d6b43))return _0x4d6b43;return'';}if(isFunction(_0x1cd49d)){_0x1cd49d=_0x1cd49d(_0x3e012e);if(!Cesium__namespace['defined'](_0x1cd49d)){if(!_0x4d6b43)return _0x2454c9;if(isString(_0x4d6b43))return _0x4d6b43;return'';}}else{if(_0x1cd49d[_0x5df4aa(_0x21c2a1._0x524b37,0x73e)]&&isFunction(_0x1cd49d['getValue'])){_0x1cd49d=_0x1cd49d['getValue'](Cesium__namespace[_0x5df4aa(_0x21c2a1._0x3384c8,0x9de)]['now']());if(!Cesium__namespace['defined'](_0x1cd49d)){if(!_0x4d6b43)return _0x2454c9;if(isString(_0x4d6b43))return _0x4d6b43;return'';}}}return _0x1cd49d;});}let lastId=0x0;function getGlobalId(){return++lastId;}function stampGlobalId(_0x1d5c99){const _0x52c173={_0x2dd30e:0x1f5},_0xbaf8cb={_0x57943f:0x9b},_0x5f37fb={_0x514f32:0x46f};function _0x55e229(_0x4d45e1,_0xc1716f){return _0x7afdbe(_0x4d45e1,_0xc1716f- -_0x5f37fb._0x514f32);}if(_0x1d5c99&&isObject(_0x1d5c99))return _0x1d5c99[_0x55e229(-0x6e6,0x1f5)]=_0x1d5c99['_mars3d_id']||++lastId,_0x1d5c99[_0x55e229(0xc79,_0x52c173._0x2dd30e)];function _0x29af3d(_0x39da13,_0x9876ad){return _0x54a7f1(_0x9876ad- -_0xbaf8cb._0x57943f,_0x39da13);}return-0x1;}function createGuid(_0x652190='m-'){return _0x652190+Cesium__namespace['createGuid']();}let callbackIndex=0x0;function getTemplateHtml(_0x3739c9){const _0x535fa7={_0x41268e:0x1001,_0xb00b96:0x1393,_0xe5f24b:0xaa1,_0x309501:0x1221,_0x5b6025:0x73,_0x4b8b01:0xaf5,_0x16c0d6:0x12ee,_0x3dc86d:0x1c7,_0x35cbbe:0x38e,_0x2e65dc:0xe2c,_0x567018:0x1067,_0xe0f841:0x1262,_0x32a4ba:0x4df,_0x163406:0xf88,_0x2242e1:0x1265,_0x3b00c9:0xbe2,_0x4e3f7c:0x633,_0x4df68f:0xbe,_0xfef44a:0x19df,_0x1b83d7:0xe5,_0xc338eb:0x87f,_0x5e9a48:0x12eb,_0x32e573:0xf84,_0x2ca2d2:0xfe6,_0x248092:0x15e6,_0x45f8e4:0x19c3,_0x14cd66:0x1608,_0x5914c4:0x13e1,_0x998ad0:0xb44,_0x1c56b5:0x2fa,_0x380e13:0x211d,_0x239f7d:0x17c6,_0x1c5de9:0xb76,_0x1c7d71:0xae,_0x22add9:0xaa9,_0x1ec52c:0x1314,_0x413223:0xef3,_0x345e53:0x6cc,_0x333d47:0xc99,_0x4e244d:0x14d5,_0xd3bb79:0x18f6},_0x484b51={_0x261a17:0x1bc2};let _0x196b54=_0x3739c9[_0x3f2915(_0x535fa7._0x41268e,0x18f6)];if(!_0x196b54)return![];const _0x464355=_0x3739c9['title'],_0x5b01ab=_0x3739c9[_0x3cc129(_0x535fa7._0xb00b96,0x1643)],_0x35b41e=_0x3739c9['template'],_0x488080=_0x3739c9['templateEmptyStr']??!![];function _0x3f2915(_0x52711c,_0x56061f){return _0x54a7f1(_0x56061f-0x26f,_0x52711c);}_0x196b54=getAttrVal(_0x196b54,_0x3739c9);function _0x3cc129(_0x474e57,_0x2a313d){return _0x7afdbe(_0x2a313d,_0x474e57- -0x585);}if(!_0x35b41e||_0x35b41e==='all'){let _0x5532a1=0x0,_0x10fcbd=_0x464355?_0x3cc129(_0x535fa7._0xe5f24b,0x8af)+_0x464355+'</div>':'';_0x10fcbd+='<div\x20class=\x22mars3d-template-content\x22\x20>';for(const _0x14d393 in _0x196b54){try{let _0x3674e2=_0x196b54[_0x14d393];if(!_0x3739c9['showNull']){if(_0x14d393==null||_0x3674e2==null)continue;if(_0x14d393==='Shape'||_0x14d393===_0x3cc129(_0x535fa7._0x309501,0x1a0b)||_0x14d393===_0x3cc129(_0x535fa7._0x5b6025,0x21d)||_0x14d393==='_definitionChanged'||_0x14d393==='_propertyNames')continue;}if(isFunction(_0x3674e2))continue;if(isObject(_0x3674e2)){const _0x47316f={};_0x47316f['onlySimpleType']=!![],_0x3674e2=JSON[_0x3cc129(_0x535fa7._0x4b8b01,0x12e6)](getAttrVal(_0x3674e2,_0x47316f));}_0x3674e2=String[_0x3cc129(0x2b9,-0x695)][_0x3cc129(0xef5,0x10d1)][_0x3cc129(0xd5a,_0x535fa7._0x16c0d6)](_0x3674e2||'');if(!_0x3739c9['showNull']&&(_0x3674e2===''||_0x3674e2===_0x3cc129(_0x535fa7._0x3dc86d,_0x535fa7._0x35cbbe)||_0x3674e2===_0x3f2915(_0x535fa7._0x2e65dc,0xe8f)))continue;_0x10fcbd+='<div><label>'+_0x14d393+'</label>'+_0x3674e2+'</div>',_0x5532a1++;}catch(_0x1e4834){logError(_0x3cc129(0xf61,0x742),_0x1e4834);}}_0x10fcbd+=_0x3f2915(0x1245,0x19df);if(_0x5532a1===0x0)return![];return _0x10fcbd;}else{if(Array['isArray'](_0x35b41e)){let _0x260ea6=0x0,_0x406c83=_0x464355?_0x3f2915(0xdc2,_0x535fa7._0x567018)+_0x464355+'</div>':_0x3cc129(0xa41,_0x535fa7._0xe0f841);_0x406c83+=_0x3f2915(0x1775,0xe47);for(let _0x5df3e0=0x0;_0x5df3e0<_0x35b41e['length'];_0x5df3e0++){const _0x1cacc0=_0x35b41e[_0x5df3e0];if(_0x1cacc0==null)continue;const _0x5711a3=_0x1cacc0[_0x3f2915(0x4f9,0x9ee)],_0x4fac66=_0x1cacc0['className']||'';if(_0x1cacc0[_0x3cc129(_0x535fa7._0x32a4ba,_0x535fa7._0x163406)]==='details'||_0x1cacc0['type']==='button'){let _0x5bbafb='';const _0x1df3a4=_0x1cacc0[_0x3cc129(0xe86,0xd67)];if(_0x1df3a4){const _0x44e962='_cache_getTemplateHtml_'+callbackIndex++;if(isFunction(_0x1df3a4))window[_0x44e962]=function(){_0x1df3a4(_0x196b54);};else isString(_0x1df3a4)&&(window[_0x44e962]=function(){function _0x5810d8(_0x1393c2,_0x405c74){return _0x3f2915(_0x405c74,_0x1393c2- -0x566);}function _0x3d3a77(_0x5711ac,_0x5764a1){return _0x3f2915(_0x5711ac,_0x5764a1- -0x402);}return new Function(_0x5810d8(0x1390,0xacb),'return\x20'+_0x1df3a4+_0x5810d8(0x13eb,_0x484b51._0x261a17))(_0x196b54);});_0x5bbafb=_0x3cc129(0x1237,_0x535fa7._0x2242e1)+_0x44e962+'();\x22\x20\x20';}_0x406c83+='<div\x20style=\x22text-align:\x20center;padding:\x202px\x200;\x22\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<button\x20type=\x22button\x22\x20\x20'+_0x5bbafb+_0x3f2915(0x2035,0x17ca)+(_0x5711a3||'')+'\x22\x20class=\x22mars3d-popup-btn\x20'+_0x4fac66+'\x22\x20>'+(_0x1cacc0['name']||_0x3f2915(0x1507,_0x535fa7._0x3b00c9))+'</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>',_0x260ea6++;continue;}else{if(_0x1cacc0['type']==='html'){const _0x4021e7=template(_0x1cacc0[_0x3cc129(_0x535fa7._0x4e3f7c,-_0x535fa7._0x4df68f)],_0x196b54,_0x488080);_0x406c83+='<div\x20class=\x22'+_0x4fac66+'\x22>'+_0x4021e7+_0x3f2915(0x1f69,_0x535fa7._0xfef44a),_0x260ea6++;continue;}}let _0x3e442b=_0x196b54[_0x5711a3];if(!_0x5b01ab){if(!_0x3739c9[_0x3f2915(-_0x535fa7._0x1b83d7,0x672)]&&(_0x5711a3==null||_0x3e442b==null))continue;if(isFunction(_0x3e442b))continue;}_0x3e442b=String[_0x3f2915(0x1187,_0x535fa7._0xc338eb)][_0x3cc129(0xef5,_0x535fa7._0x5e9a48)]['call'](_0x3e442b||'');if(!_0x5b01ab&&(_0x1cacc0['hideNull']??!![])){if(!_0x3739c9['showNull']&&(_0x3e442b==null||_0x3e442b===''||_0x3e442b==='Null'||_0x3e442b===_0x3f2915(0x853,0xe8f)||_0x3e442b['length']===0x0))continue;}if(_0x1cacc0[_0x3cc129(0xbb7,_0x535fa7._0x32e573)])try{isFunction(_0x1cacc0[_0x3f2915(0x1714,0x117d)])?_0x3e442b=_0x1cacc0['format'](_0x3e442b):_0x3e442b=new Function('val','return\x20'+_0x1cacc0['format']+_0x3f2915(_0x535fa7._0x2ca2d2,_0x535fa7._0x248092))(_0x3e442b);}catch(_0x556e03){logWarn(_0x3f2915(_0x535fa7._0x45f8e4,_0x535fa7._0x14cd66),_0x1cacc0);}if(_0x5b01ab)switch(_0x1cacc0[_0x3cc129(0x4df,-0x408)]){case'textarea':_0x3e442b='<textarea\x20class=\x22mars3d-popup-edititem\x20'+_0x4fac66+'\x22\x20style=\x22width:'+(_0x3739c9[_0x3f2915(_0x535fa7._0x5914c4,0x17c6)]||0xbe)+_0x3f2915(0x1548,_0x535fa7._0x998ad0)+_0x5711a3+'\x22\x20\x20placeholder=\x22'+(_0x1cacc0['placeholder']??'')+'\x22\x20\x20>'+_0x3e442b+_0x3cc129(0x286,-0x4c8);break;case'string':case'number':default:_0x3e442b='<input\x20type=\x22'+(_0x1cacc0[_0x3f2915(_0x535fa7._0x1c56b5,0xaa5)]||'text')+'\x22\x20class=\x22mars3d-popup-edititem\x20'+_0x4fac66+'\x22\x20style=\x22width:'+(_0x3739c9[_0x3f2915(_0x535fa7._0x380e13,_0x535fa7._0x239f7d)]||0xbe)+'px;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-type=\x22'+_0x5711a3+_0x3f2915(0x2dc,_0x535fa7._0x1c5de9)+_0x3e442b+'\x22\x20placeholder=\x22'+(_0x1cacc0['placeholder']??'')+_0x3f2915(0x4da,0xae1);break;}_0x1cacc0['unit']&&(_0x3e442b+=_0x1cacc0[_0x3cc129(_0x535fa7._0x1c7d71,_0x535fa7._0x22add9)]),_0x406c83+=_0x3cc129(_0x535fa7._0x1ec52c,0xcfb)+_0x1cacc0[_0x3cc129(0xf25,_0x535fa7._0x413223)]+'</label>'+_0x3e442b+'</div>',_0x260ea6++;}_0x406c83+=_0x3cc129(0x1419,0xe03);if(_0x260ea6===0x0)return![];return _0x406c83;}else{if(isObject(_0x35b41e))switch(_0x35b41e[_0x3cc129(0x4df,0x603)]){case'iframe':{const _0x2af935=template(_0x35b41e[_0x3cc129(_0x535fa7._0x345e53,0x72)],_0x196b54,_0x488080),_0x38e167=_0x3f2915(0x319,_0x535fa7._0x333d47)+_0x2af935+'\x22\x20\x20style=\x22width:'+(_0x35b41e['width']||'300')+_0x3cc129(0x56a,0xd5b)+(_0x35b41e['height']||'300')+_0x3f2915(0x12dc,0x1437);return _0x38e167;}case'javascript':{const _0x3c6d41=_0x35b41e['callback'];return new Function(_0x3f2915(_0x535fa7._0x4e244d,_0x535fa7._0xd3bb79),'return\x20'+_0x3c6d41+'(attr)')(_0x196b54);}}else{if(isString(_0x35b41e))return template(_0x35b41e,_0x196b54,_0x488080);else{if(isFunction(_0x35b41e))return _0x35b41e(_0x35b41e,_0x196b54);}}}}return![];}function getCesiumValue(_0x28467a,_0x469d5e,_0x34dcef){const _0x447315={_0x3f4ef6:0xebd};function _0x46d8c0(_0x56ffc2,_0x2b5017){return _0x54a7f1(_0x2b5017- -0x1ab,_0x56ffc2);}if(!_0x28467a)return _0x28467a;if(_0x469d5e){if(_0x28467a instanceof _0x469d5e)return _0x28467a;else{if(_0x28467a[_0x46d8c0(_0x447315._0x3f4ef6,0xbb6)]&&_0x28467a['_value']instanceof _0x469d5e)return _0x28467a['_value'];}}if(isFunction(_0x28467a['getValue']))return _0x28467a['getValue'](_0x34dcef||Cesium__namespace['JulianDate'][_0x46d8c0(-0xc9,0x471)]());function _0x2c854c(_0x526e38,_0x159bcb){return _0x54a7f1(_0x159bcb- -0x38e,_0x526e38);}return _0x28467a;}function getCesiumColor(_0x2f5a3e,_0x4040a7,_0x39147d){function _0x120ff6(_0x31ff9b,_0x23c3f7){return _0x7afdbe(_0x31ff9b,_0x23c3f7- -0x89);}function _0x1d6016(_0x48f66a,_0x342d0d){return _0x54a7f1(_0x342d0d- -0x3f6,_0x48f66a);}if(_0x2f5a3e){isFunction(_0x2f5a3e['getValue'])&&(_0x2f5a3e=_0x2f5a3e[_0x1d6016(0xc7a,0x6fc)](_0x39147d||Cesium__namespace['JulianDate']['now']()));if(isString(_0x2f5a3e))return Cesium__namespace[_0x1d6016(0x110f,0xe8e)]['fromCssColorString'](_0x2f5a3e);else return isFunction(_0x2f5a3e)?getCesiumColor(_0x2f5a3e(_0x39147d),_0x4040a7):_0x2f5a3e;}else return _0x4040a7;}function getColorByStyle(_0x4d3494,_0x36c306=Cesium__namespace[_0x7afdbe(0xb95,0x14b2)]['YELLOW']){const _0x5684f2={_0x16d35f:0xdbb,_0x1f4502:0x571,_0x41ffa4:0xd04,_0x1e28c7:0x941,_0x2b2a58:0x7ee,_0x16cbad:0x86,_0x510b76:0x8e5,_0x2319ef:0x748,_0x311b9a:0x912,_0x143929:0x992,_0x3482e9:0x1708,_0x5b2c84:0x56c,_0x5cb9a0:0xc2c,_0x42320b:0x3cb,_0x3766d6:0x8a5,_0x355d87:0x28a,_0x189ac5:0x138,_0x3d3d45:0x156,_0x93278a:0x151};let _0x1739a7;function _0x508e1a(_0x2d3b15,_0x46b695){return _0x7afdbe(_0x46b695,_0x2d3b15- -0x73c);}if(_0x4d3494['color']){if(isString(_0x4d3494['color']))_0x1739a7=Cesium__namespace[_0x4b3f71(_0x5684f2._0x16d35f,0x11b4)][_0x508e1a(0x11d5,0x1bbf)](_0x4d3494[_0x508e1a(0xd04,_0x5684f2._0x1f4502)]);else isFunction(_0x4d3494['color'])?_0x1739a7=_0x4d3494['color'](_0x4d3494):_0x1739a7=_0x4d3494[_0x508e1a(_0x5684f2._0x41ffa4,0x5fc)];}else _0x4d3494[_0x4b3f71(_0x5684f2._0x1e28c7,0x602)]?(!_0x4d3494['randomColor_value']&&(_0x4d3494[_0x508e1a(_0x5684f2._0x2b2a58,-_0x5684f2._0x16cbad)]=Cesium__namespace['Color']['fromRandom']({'minimumRed':_0x4d3494['minimumRed']??0x0,'maximumRed':_0x4d3494[_0x508e1a(0x4d1,_0x5684f2._0x510b76)]??0.75,'minimumGreen':_0x4d3494[_0x4b3f71(0x3a1,0xd2d)]??0x0,'maximumGreen':_0x4d3494[_0x508e1a(0x750,_0x5684f2._0x2319ef)]??0.75,'minimumBlue':_0x4d3494[_0x508e1a(_0x5684f2._0x311b9a,_0x5684f2._0x143929)]??0x0,'maximumBlue':_0x4d3494[_0x4b3f71(_0x5684f2._0x3482e9,0x142e)]??0.75,'minimumAlpha':_0x4d3494['minimumAlpha']??0.4,'maximumAlpha':_0x4d3494[_0x508e1a(0xaa2,0x65d)]??0.7})),_0x1739a7=_0x4d3494[_0x4b3f71(_0x5684f2._0x5b2c84,_0x5684f2._0x5cb9a0)]):_0x1739a7=_0x36c306;function _0x4b3f71(_0x5cdd53,_0x2db280){return _0x54a7f1(_0x2db280- -0xd0,_0x5cdd53);}if(!_0x1739a7)return _0x1739a7;if(Cesium__namespace['defined'](_0x4d3494['opacity'])){if(_0x4d3494[_0x4b3f71(-_0x5684f2._0x42320b,0x28a)]<0x0)_0x4d3494['opacity']=0x0;else _0x4d3494['opacity']>0x1&&(_0x4d3494['opacity']=0x1);_0x1739a7=_0x1739a7[_0x508e1a(-0x183,-0xb4d)](Number(_0x4d3494[_0x4b3f71(_0x5684f2._0x3766d6,_0x5684f2._0x355d87)]));}return Cesium__namespace[_0x508e1a(0x1173,0xfbc)](_0x4d3494['globalAlpha'])&&_0x4d3494['globalAlpha']!==0x1&&(_0x1739a7=_0x1739a7['withAlpha'](_0x1739a7[_0x508e1a(-_0x5684f2._0x189ac5,-_0x5684f2._0x3d3d45)]*_0x4d3494[_0x4b3f71(_0x5684f2._0x93278a,0x795)])),_0x1739a7;}function getJulianDate$1(_0x496aa4,_0x122f67){const _0x154c88={_0x4d272f:0x9fb,_0x59e055:0xc89};if(!_0x496aa4)return _0x122f67;if(_0x496aa4 instanceof Cesium__namespace['JulianDate'])return _0x496aa4;if(_0x496aa4 instanceof Date)return Cesium__namespace[_0x54a985(_0x154c88._0x4d272f,-0x77)]['fromDate'](_0x496aa4);function _0x54a985(_0x53afa3,_0x29f3ad){return _0x7afdbe(_0x29f3ad,_0x53afa3- -0x63d);}function _0xb092d5(_0x2e2647,_0x2b7b37){return _0x7afdbe(_0x2e2647,_0x2b7b37- -0x2f6);}if(isNumber(_0x496aa4))return Cesium__namespace['JulianDate']['addSeconds'](_0x122f67,_0x496aa4,new Cesium__namespace[(_0x54a985(0x9fb,0x12a0))]());if(isString(_0x496aa4))return _0x496aa4[_0xb092d5(_0x154c88._0x59e055,0x4e7)]('Z')===-0x1?Cesium__namespace[_0x54a985(_0x154c88._0x4d272f,0xa23)]['fromDate'](new Date(_0x496aa4)):Cesium__namespace['JulianDate']['fromIso8601'](_0x496aa4);return _0x496aa4;}function getAvailability(_0x20d3e9,_0x2bf20c){const _0x1dc478={_0x39cd1f:0xec9,_0x117576:0x30,_0x4d8c51:0xa02,_0x5e47c5:0x337,_0x28b389:0xac5,_0x2f6437:0x22f,_0xb23013:0x4e8,_0x5e30ed:0xae4,_0x41fa79:0x801,_0x130555:0x123e,_0x4e4f3d:0x1f3c,_0x4198f2:0x740,_0x4423a2:0xa2d,_0x3d5c2b:0xba3},_0x112819={_0x6ea7c9:0x1b9},_0x1bcf68={_0x3f879e:0x443};if(!_0x20d3e9)return undefined;if(_0x20d3e9 instanceof Cesium__namespace['TimeIntervalCollection'])return _0x20d3e9;function _0x4cbc1b(_0x588224,_0x56d0f9){return _0x54a7f1(_0x588224- -_0x1bcf68._0x3f879e,_0x56d0f9);}if(_0x20d3e9 instanceof Cesium__namespace['TimeInterval'])return new Cesium__namespace['TimeIntervalCollection']([_0x20d3e9]);if(Array[_0x4cbc1b(0x102b,0xa57)](_0x20d3e9)&&_0x20d3e9['length']>0x0){const _0x7eb492=[];for(let _0x2033b8=0x0;_0x2033b8<_0x20d3e9['length'];_0x2033b8++){const _0x1de36b=_0x20d3e9[_0x2033b8],_0x537b14=getJulianDate$1(_0x1de36b[_0x1358da(0xae4,0x109)],_0x2bf20c['startTime']);let _0x1a20d3;Cesium__namespace['defined'](_0x1de36b[_0x4cbc1b(0x4a6,0xe9c)])?_0x1a20d3=Cesium__namespace[_0x1358da(0xfc3,_0x1dc478._0x39cd1f)][_0x4cbc1b(-_0x1dc478._0x117576,_0x1dc478._0x4d8c51)](_0x537b14,_0x1de36b['duration'],new Cesium__namespace[(_0x4cbc1b(0x9c7,0x2c3))]()):_0x1a20d3=getJulianDate$1(_0x1de36b['stop'],_0x2bf20c['startTime']);const _0x1319e1={'data':!![],..._0x1de36b};_0x1319e1['start']=_0x537b14,_0x1319e1[_0x4cbc1b(_0x1dc478._0x5e47c5,0xca4)]=_0x1a20d3,_0x7eb492[_0x4cbc1b(_0x1dc478._0x28b389,_0x1dc478._0x2f6437)](new Cesium__namespace['TimeInterval'](_0x1319e1));}return new Cesium__namespace['TimeIntervalCollection'](_0x7eb492);}function _0x1358da(_0x56a04b,_0x30d666){return _0x54a7f1(_0x56a04b-_0x112819._0x6ea7c9,_0x30d666);}if(Cesium__namespace[_0x1358da(0x183a,0x159c)](_0x20d3e9[_0x4cbc1b(_0x1dc478._0xb23013,0x9e9)])){const _0x1175d7=getJulianDate$1(_0x20d3e9[_0x1358da(_0x1dc478._0x5e30ed,_0x1dc478._0x41fa79)],_0x2bf20c[_0x4cbc1b(0xf3d,0x477)]);let _0x2b58ab;Cesium__namespace[_0x4cbc1b(_0x1dc478._0x130555,0x17be)](_0x20d3e9['duration'])?_0x2b58ab=Cesium__namespace['JulianDate']['addSeconds'](_0x1175d7,_0x20d3e9[_0x1358da(0xaa2,0x14c2)],new Cesium__namespace['JulianDate']()):_0x2b58ab=getJulianDate$1(_0x20d3e9['stop'],_0x2bf20c[_0x1358da(0x1539,_0x1dc478._0x4e4f3d)]);const _0x35e311={'data':!![],..._0x20d3e9};return _0x35e311[_0x1358da(_0x1dc478._0x5e30ed,_0x1dc478._0x4198f2)]=_0x1175d7,_0x35e311['stop']=_0x2b58ab,new Cesium__namespace[(_0x4cbc1b(_0x1dc478._0x4423a2,_0x1dc478._0x3d5c2b))]([new Cesium__namespace['TimeInterval'](_0x35e311)]);}}function getAvailabilityJson(_0x3df563){const _0x2108bb={_0x34ade2:0x11b6,_0x2503d6:0x15e8,_0x1a09a6:0x1643,_0x2d34e7:0x12e5,_0x32858a:0x103e},_0x3ef8bc={_0xed6f05:0x658};function _0x1c4670(_0x4bdcd4,_0x22d532){return _0x7afdbe(_0x4bdcd4,_0x22d532- -_0x3ef8bc._0xed6f05);}if(!_0x3df563||_0x3df563[_0x5e1ffc(0x13d5,0x10bb)]===0x0)return undefined;function _0x5e1ffc(_0x46b062,_0x8ff6c2){return _0x7afdbe(_0x46b062,_0x8ff6c2- -0xf8);}const _0x40bf1a=[];for(let _0x534819=0x0,_0x4feb52=_0x3df563['length'];_0x534819<_0x4feb52;_0x534819++){if(_0x3df563!==null&&_0x3df563!==void 0x0&&_0x3df563[_0x5e1ffc(0xed7,0xf3c)]){const _0x50044b=_0x3df563[_0x1c4670(0x61d,0x9dc)](_0x534819);_0x40bf1a[_0x5e1ffc(0x10a2,0x103e)]({'start':formatDate(Cesium__namespace[_0x5e1ffc(0x16a5,0xf40)][_0x5e1ffc(0x156c,0x15e8)](_0x50044b['start'])),'stop':formatDate(Cesium__namespace['JulianDate'][_0x5e1ffc(_0x2108bb._0x34ade2,_0x2108bb._0x2503d6)](_0x50044b[_0x5e1ffc(-0x208,0x8b0)])),'isStartIncluded':_0x50044b['isStartIncluded'],'isStopIncluded':_0x50044b[_0x5e1ffc(_0x2108bb._0x1a09a6,_0x2108bb._0x2d34e7)]});}else _0x3df563[_0x534819]&&_0x40bf1a[_0x5e1ffc(0xe45,_0x2108bb._0x32858a)](_0x3df563[_0x534819]);}return _0x40bf1a;}function getAttrVal(_0x4f033b,_0x269aed={}){const _0x42da66={_0x30deb7:0x650,_0x2a5f5d:0x502,_0x504f3c:0x11b,_0x209be1:0x8c0,_0x4c3f8a:0xafa},_0x3baab4={_0x4c6cee:0x4a2};function _0x316ef1(_0xb8d5de,_0x25f0d0){return _0x7afdbe(_0x25f0d0,_0xb8d5de- -0xc6);}if(!_0x4f033b)return _0x4f033b;function _0x431d8a(_0x4fa6e1,_0x15b868){return _0x54a7f1(_0x4fa6e1- -_0x3baab4._0x4c6cee,_0x15b868);}try{isFunction(_0x4f033b[_0x431d8a(_0x42da66._0x30deb7,_0x42da66._0x2a5f5d)])&&(_0x4f033b=_0x4f033b[_0x431d8a(_0x42da66._0x30deb7,-_0x42da66._0x504f3c)](Cesium__namespace['JulianDate'][_0x431d8a(0x17a,_0x42da66._0x209be1)]()));const _0x5b9af0={};if(_0x4f033b[_0x316ef1(0x43a,_0x42da66._0x4c3f8a)]&&_0x4f033b['_propertyNames']['length']>0x0)for(const _0x4c6c19 of _0x4f033b['_propertyNames']){const _0x31a0f1=getOneAttrValue(_0x4c6c19,_0x4f033b[_0x4c6c19],_0x269aed);if(_0x31a0f1==null){_0x269aed['showNull']&&(_0x5b9af0[_0x4c6c19]=_0x31a0f1);continue;}_0x5b9af0[_0x4c6c19]=_0x31a0f1;}else for(const _0x1e1eff in _0x4f033b){const _0x2e581f=getOneAttrValue(_0x1e1eff,_0x4f033b[_0x1e1eff],_0x269aed);if(_0x2e581f==null){_0x269aed['showNull']&&(_0x5b9af0[_0x1e1eff]=_0x2e581f);continue;}_0x5b9af0[_0x1e1eff]=_0x2e581f;}return _0x5b9af0;}catch(_0x509bc9){logError('getAttrVal:出错了',_0x509bc9);}return _0x4f033b;}function get3DTileFeatureAttr(_0x3b8a23){const _0x3c01a1={_0x936644:0x761},_0x438fd0={};function _0x31d9bf(_0xce90ff,_0x399ebb){return _0x54a7f1(_0xce90ff- -0xec,_0x399ebb);}const _0xe630c2=_0x3b8a23['getPropertyIds']?_0x3b8a23[_0x31d9bf(_0x3c01a1._0x936644,0x582)]():_0x3b8a23['getPropertyNames']();for(let _0x5c7ac3=0x0;_0x5c7ac3<_0xe630c2['length'];_0x5c7ac3++){const _0x4fe38d=_0xe630c2[_0x5c7ac3];if(!_0x3b8a23['hasProperty'](_0x4fe38d))continue;const _0x5719a9=_0x3b8a23['getProperty'](_0x4fe38d);if(_0x5719a9==null)continue;_0x438fd0[_0x4fe38d]=_0x5719a9;}return _0x438fd0;}function getOneAttrValue(_0x122491,_0x29883b,_0x7cbfb8){const _0x9a116a={_0x2b1a0c:0x6fc,_0x585336:0xac8};if(_0x29883b==null||_0x29883b==='Null'||_0x29883b==='Unknown')return null;function _0x212ef2(_0x57b5af,_0x541f1a){return _0x7afdbe(_0x541f1a,_0x57b5af- -0x624);}_0x29883b['getValue']&&typeof _0x29883b[_0x5c1ebe(0x71d,0xad2)]==='function'&&_0x122491!==_0x5c1ebe(0x6e0,0x433)&&(_0x29883b=_0x29883b[_0x212ef2(_0x9a116a._0x2b1a0c,0x363)](Cesium__namespace['JulianDate']['now']()));if(isFunction(_0x29883b))return null;function _0x5c1ebe(_0x13f93a,_0x2fbda9){return _0x7afdbe(_0x13f93a,_0x2fbda9- -0x24e);}if(_0x7cbfb8[_0x212ef2(0x1360,_0x9a116a._0x585336)]){if(_0x29883b instanceof Cesium__namespace['Color'])return _0x29883b['toCssColorString']();if(_0x7cbfb8[_0x212ef2(0x1194,0x1891)]&&Array['isArray'](_0x29883b))return null;if(isPlainObject(_0x29883b))return _0x29883b;if(!isSimpleType(_0x29883b))return null;}return _0x29883b;}function merge(_0x2fdc95={},..._0x1c19cd){let _0x568624,_0x393c7e,_0x4055f9,_0x4f2cd8;for(_0x393c7e=0x0,_0x4055f9=_0x1c19cd['length'];_0x393c7e<_0x4055f9;_0x393c7e++){_0x4f2cd8=_0x1c19cd[_0x393c7e];for(_0x568624 in _0x4f2cd8){hasMergeObject(_0x2fdc95[_0x568624],_0x4f2cd8[_0x568624])?_0x2fdc95[_0x568624]=merge(_0x2fdc95[_0x568624],_0x4f2cd8[_0x568624]):_0x2fdc95[_0x568624]=_0x4f2cd8[_0x568624];}}return _0x2fdc95;}function hasMergeObject(_0x447aad,_0x27f379){const _0x532514={_0x1fadfb:0x11e2,_0x3fbbc0:0x141f,_0x295152:0x1945};function _0xe9d333(_0x2b3231,_0x19976b){return _0x7afdbe(_0x19976b,_0x2b3231- -0x490);}if(!Cesium__namespace[_0x4028da(_0x532514._0x1fadfb,0xa33)](_0x447aad)||!Cesium__namespace[_0xe9d333(_0x532514._0x3fbbc0,0x1bd1)](_0x27f379))return![];if(Array[_0x4028da(0xfcf,_0x532514._0x295152)](_0x447aad)||Array[_0x4028da(0xfcf,0x115c)](_0x27f379))return![];function _0x4028da(_0xd33cd6,_0x3b2999){return _0x7afdbe(_0x3b2999,_0xd33cd6- -0x6cd);}if(isPlainObject(_0x447aad)&&isPlainObject(_0x27f379))return!![];return![];}function clone(_0x503518,_0x27ac86=[],_0x3aff64=0x5){const _0x340511={_0x7b72b1:0xf8d,_0x4a4d9d:0x12f9,_0x4132b0:0x1573,_0x101f8b:0x326,_0x1460f1:0x1095};function _0x15a947(_0x21f1bc,_0x25e36a){return _0x54a7f1(_0x25e36a- -0x289,_0x21f1bc);}if(_0x503518==null||typeof _0x503518!==_0x256617(_0x340511._0x7b72b1,_0x340511._0x4a4d9d))return _0x503518;function _0x256617(_0x2da59e,_0xe1c77){return _0x7afdbe(_0xe1c77,_0x2da59e- -0x129);}if(_0x503518 instanceof Date){const _0x36aac9=new Date();return _0x36aac9['setTime'](_0x503518['getTime']()),_0x36aac9;}if(Array[_0x256617(_0x340511._0x4132b0,0xe16)](_0x503518)&&_0x3aff64>=0x0){const _0x3f57b0=[];for(let _0xafc70a=0x0,_0x341c01=_0x503518['length'];_0xafc70a<_0x341c01;++_0xafc70a){_0x3f57b0[_0xafc70a]=clone(_0x503518[_0xafc70a],_0x27ac86,_0x3aff64-0x1);}return _0x3f57b0;}if(typeof _0x503518==='object'&&_0x3aff64>=0x0)try{if(_0x503518['clone'])return _0x503518['clone']();if(!isPlainObject(_0x503518))return _0x503518;const _0x140d36={};for(const _0x4c0fed in _0x503518){if(isFunction(_0x4c0fed))continue;if(_0x27ac86[_0x15a947(0x335,_0x340511._0x101f8b)](_0x4c0fed)!==-0x1)continue;_0x503518['hasOwnProperty'](_0x4c0fed)&&(_0x140d36[_0x4c0fed]=clone(_0x503518[_0x4c0fed],_0x27ac86,_0x3aff64-0x1));}return _0x140d36;}catch(_0x21da56){logError(_0x15a947(0x1773,_0x340511._0x1460f1),_0x21da56);}return _0x503518;}function getArrayRandomOne(_0x200c87){const _0x3816a1=Math['floor'](Math['random']()*_0x200c87['length']+0x1)-0x1;return _0x200c87[_0x3816a1];}function removeArrayItem(_0x195128,_0x56487d){const _0x105c2e={_0x25b57c:0x3c5};function _0x54b12b(_0x371d3c,_0x2970a0){return _0x7afdbe(_0x371d3c,_0x2970a0- -_0x105c2e._0x25b57c);}for(let _0x41a8ec=0x0;_0x41a8ec<_0x195128[_0x54b12b(0x1849,0xdee)];_0x41a8ec++){if(_0x195128[_0x41a8ec]===_0x56487d)return _0x195128['splice'](_0x41a8ec,0x1),!![];}return![];}function getSymbolStyle(_0xbfba8c,_0x9dc058,_0xbb716a={}){const _0x58a492={_0x3b8058:0x5cd,_0x1804a1:0xbb7},_0x3e6bbb={_0x308da2:0x439},_0x266607={_0x32ced5:0x503};if(!_0xbfba8c)return{};let _0x52b926=_0xbfba8c[_0x12fc12(-0x97,-0x2f)]?clone(_0xbfba8c['styleOptions']):{};if(_0xbfba8c['styleField']&&_0xbfba8c['styleFieldOptions']&&_0x9dc058){const _0x414e7b=_0x9dc058[_0xbfba8c['styleField']],_0x5c2d5c=_0xbfba8c['styleFieldOptions'][_0x414e7b];_0x5c2d5c!=null&&(_0x52b926=merge(_0x52b926,_0x5c2d5c));}function _0x5bc9aa(_0x5a560c,_0x43fa2b){return _0x54a7f1(_0x43fa2b- -_0x266607._0x32ced5,_0x5a560c);}if(_0x9dc058)for(const _0x50f95c in _0x52b926){_0x52b926[_0x50f95c]=template(_0x52b926[_0x50f95c],_0x9dc058);}_0x52b926[_0x12fc12(_0x58a492._0x3b8058,0xc81)]&&(_0x52b926['label']=clone(_0x52b926[_0x5bc9aa(0xf0c,_0x58a492._0x1804a1)]));function _0x12fc12(_0x2b95e3,_0x2fe622){return _0x54a7f1(_0x2fe622- -_0x3e6bbb._0x308da2,_0x2b95e3);}_0x52b926['highlight']&&(_0x52b926[_0x12fc12(-0x75,0x2a5)]=clone(_0x52b926[_0x12fc12(-0x5d6,0x2a5)]));if(isFunction(_0xbfba8c['callback'])){const _0x21998b=_0xbfba8c['callback'](_0x9dc058,_0x52b926,_0xbb716a);_0x21998b!=null&&(_0x52b926=merge(_0x52b926,_0x21998b));}return _0x52b926;}function geojsonToArcGIS(_0x4f9937,_0xbdc5a0){return geojsonToArcGIS$1(_0x4f9937,_0xbdc5a0);}function arcgisToGeoJSON(_0x34d744,_0x50927e){return arcgisToGeoJSON$1(_0x34d744,_0x50927e);}function getGeoJsonFeatures(_0x2432c7){const _0x5cc3d7={_0x53b055:0x371,_0xc41d5b:0xd3,_0xdf32da:0x71c,_0x229009:0xcf,_0x2d485c:0x6bc,_0x5652bd:0x4c1,_0x327f76:0x1b9},_0x3930d1={_0x19fb6a:0x353};if(_0x2432c7['geometryType']&&_0x2432c7['geometryType']['indexOf']('esri')!==-0x1)_0x2432c7=arcgisToGeoJSON(_0x2432c7);else{if(_0x2432c7['type']==='Topology'){let _0x21c625=[];for(const _0x7b2674 in _0x2432c7[_0xbdd021(-_0x5cc3d7._0x53b055,_0x5cc3d7._0xc41d5b)]){if(_0x2432c7['objects']['hasOwnProperty'](_0x7b2674)){_0x2432c7=Cesium__namespace['topojson'][_0xbdd021(-_0x5cc3d7._0xdf32da,_0x5cc3d7._0x229009)](_0x2432c7,_0x2432c7[_0xbdd021(-_0x5cc3d7._0x2d485c,0xd3)][_0x7b2674]);const _0x166dfb=getGeoJsonFeatures(_0x2432c7);_0x21c625=_0x21c625['concat'](_0x166dfb);}}return _0x21c625;}}function _0xbdd021(_0x5bc11d,_0x38f529){return _0x54a7f1(_0x38f529- -_0x3930d1._0x19fb6a,_0x5bc11d);}let _0x4ccf0f;function _0x272807(_0x456d19,_0x12683c){return _0x7afdbe(_0x456d19,_0x12683c- -0x44e);}if(Array['isArray'](_0x2432c7[_0x272807(0x85c,0x2ec)]))_0x4ccf0f=_0x2432c7[_0xbdd021(_0x5cc3d7._0x5652bd,_0x5cc3d7._0x327f76)];else Array[_0xbdd021(0xdc2,0x111b)](_0x2432c7)?_0x4ccf0f=_0x2432c7:_0x4ccf0f=[_0x2432c7];return _0x4ccf0f;}function geoJsonToGraphics(_0x1a7719,_0x15b80e={}){const _0xea0a2f={_0x128871:0xda8,_0x2f4f1a:0x6d4,_0x87990f:0x5c0,_0x2f2fa1:0xab1};var _0x50702d;if(!_0x1a7719)return[];const _0x5f1cd6=getGeoJsonFeatures(_0x1a7719);if(_0x1a7719!==null&&_0x1a7719!==void 0x0&&(_0x50702d=_0x1a7719[_0x289b79(0x7,-0x125)])!==null&&_0x50702d!==void 0x0&&(_0x50702d=_0x50702d[_0x33f1a4(0x1304,0x1af5)])!==null&&_0x50702d!==void 0x0&&_0x50702d['name']&&!_0x15b80e['crs']){const _0x5dc433=_0x1a7719['crs']['properties'][_0x289b79(_0xea0a2f._0x128871,_0xea0a2f._0x2f4f1a)];_0x5dc433[_0x33f1a4(0x59f,_0xea0a2f._0x87990f)]('EPSG:')!==-0x1&&(_0x15b80e['crs']=_0x5dc433);}function _0x289b79(_0x327640,_0x5a448e){return _0x7afdbe(_0x5a448e,_0x327640- -0x702);}let _0x113679=[];for(let _0x32675a=0x0,_0x5552c6=_0x5f1cd6[_0x289b79(_0xea0a2f._0x2f2fa1,0x4ef)];_0x32675a<_0x5552c6;_0x32675a++){const _0x3394d5=_0x5f1cd6[_0x32675a],_0x4b012c=featureToGraphic(_0x3394d5,_0x15b80e);_0x4b012c&&_0x4b012c[_0x289b79(0xab1,0x8a0)]>0x0&&(_0x113679=_0x113679['concat'](_0x4b012c));}function _0x33f1a4(_0x8392a,_0x33ff1f){return _0x7afdbe(_0x33ff1f,_0x8392a- -0x23e);}return _0x113679;}function featureToGraphic(_0x2da69c,_0x10f456={}){const _0x191f53={_0x9cc603:0xe2c,_0x485849:0x2d5,_0x3bda96:0xf24,_0x2d369d:0x12bc,_0x3eea62:0x444,_0xef4b00:0x476,_0x42eead:0x40b,_0x4f359f:0x1d2c,_0x2fa5e4:0x14f0,_0x47a8f1:0xc9,_0x1c30d9:0x1338,_0x5a4cec:0x95f,_0x47fb25:0x18a6,_0x2069e0:0xfcb,_0x1763a4:0x17a7,_0x2708e4:0xf2b,_0x2899ff:0x17a7,_0x323b18:0x1a4d,_0x4cab40:0x17a7,_0x3eda7e:0x15e7,_0x2cebbf:0x5c2,_0x49225b:0x388,_0x1bb150:0xefd,_0x3e43fc:0x13d5,_0x4bdad3:0xd8a,_0xdd6d:0x601,_0x109ba8:0x129a,_0x228774:0xf2d,_0x1eeb95:0x102e,_0x5ce2d6:0x715,_0x4b8c9e:0xee2,_0x5da4ec:0x1314,_0x12c6ad:0x102e,_0x2d5a58:0x1215,_0x5f0931:0xcc0,_0x59bfd3:0x10ab,_0xd13631:0x1687,_0x571a6f:0x103,_0x28681f:0x1822,_0x57d269:0x49b,_0x17e165:0xf2d,_0xbfc0ad:0x86c,_0xa37850:0x162f,_0x512680:0x189c,_0x3c785d:0x11d8,_0x3191d6:0x963,_0x4e7775:0x5c2,_0x4f3e76:0x191c,_0x405cf2:0x95c,_0x93d7bf:0x43e,_0x2e3d1d:0x1097,_0x25fb26:0x133e,_0x1e597f:0x15c8,_0x31f714:0x107c,_0x4f4f1f:0x1356,_0xc97bb6:0x68b,_0x4d9346:0x933,_0x27393f:0x137e},_0x20ce8d={_0x5dd971:0x10fb,_0x4704d3:0xab,_0x5b5794:0x93e,_0x95b98f:0x1aa7,_0x589940:0xf95},_0x402516={_0x9568db:0x286},_0x1d6442={_0x794980:0x108};var _0x56e512,_0x2946f0,_0x1818df;const _0x4f637f=[];_0x2da69c['type']==='GeometryCollection'&&(_0x2da69c={'geometry':_0x2da69c});function _0x43c0ac(_0x4e8085,_0x1109ee){return _0x7afdbe(_0x1109ee,_0x4e8085- -_0x1d6442._0x794980);}const _0x2e9924=_0x2da69c['geometry'],_0x4f3b3f=_0x2e9924===null||_0x2e9924===void 0x0?void 0x0:_0x2e9924[_0xd4e8e6(0xdaa,0xd2c)];if(!_0x4f3b3f&&!_0x2e9924)return _0x4f637f;if(_0x10f456['filter']&&_0x10f456[_0xd4e8e6(_0x191f53._0x9cc603,0xffa)](_0x2da69c)===![])return _0x4f637f;let _0x3b9891;if(_0x10f456[_0x43c0ac(0x95c,0xbd5)])_0x3b9891=_0x10f456[_0x43c0ac(0x95c,_0x191f53._0x485849)];else hasType((_0x56e512=_0x2da69c)===null||_0x56e512===void 0x0||(_0x56e512=_0x56e512['properties'])===null||_0x56e512===void 0x0?void 0x0:_0x56e512['type'])&&(_0x3b9891=_0x2da69c[_0xd4e8e6(0x1138,0x12bc)]['type']);const _0x3e9145=((_0x2946f0=_0x2da69c)===null||_0x2946f0===void 0x0||(_0x2946f0=_0x2946f0['properties'])===null||_0x2946f0===void 0x0?void 0x0:_0x2946f0['options'])||{};_0x2da69c['id']&&(_0x3e9145['id']=_0x2da69c['id']);const _0x22fe7e=clone((_0x1818df=_0x2da69c)===null||_0x1818df===void 0x0?void 0x0:_0x1818df[_0xd4e8e6(_0x191f53._0x3bda96,_0x191f53._0x2d369d)],[_0xd4e8e6(0x76c,_0x191f53._0x3eea62),'options'])||{};let _0x262711={};if(_0x2da69c['properties']){if(_0x2da69c['properties'][_0xd4e8e6(0xb5f,0x444)]){const _0x408350={..._0x2da69c[_0xd4e8e6(0x15bf,0x12bc)][_0x43c0ac(0x5c2,-0x5)]};_0x262711=_0x408350;}const _0xa992c7=_0x22fe7e[_0x43c0ac(_0x191f53._0xef4b00,-0xa1)];if(Cesium__namespace[_0xd4e8e6(0x1fcb,0x1629)](_0xa992c7)){_0x262711[_0x43c0ac(_0x191f53._0x42eead,0x5ab)]=_0xa992c7;const _0x5b9445=_0x22fe7e['marker-color'];Cesium__namespace['defined'](_0x5b9445)&&(_0x262711['outline']=!![],_0x262711['outlineColor']=_0x5b9445);}const _0x1f14ac=_0x22fe7e[_0xd4e8e6(_0x191f53._0x4f359f,_0x191f53._0x2fa5e4)];if(Cesium__namespace['defined'](_0x1f14ac)&&_0x2e9924[_0xd4e8e6(0x8cf,0x7de)]!=='LineString'&&_0x2e9924[_0xd4e8e6(-_0x191f53._0x47a8f1,0x7de)]!=='MultiLineString'){_0x262711[_0x43c0ac(_0x191f53._0x1c30d9,0x1791)]=_0x1f14ac;const _0x28dd79=_0x22fe7e['fill-opacity'];Cesium__namespace['defined'](_0x28dd79)&&_0x28dd79!==0x1&&(_0x262711['opacity']=_0x28dd79);const _0x1e4d19=_0x22fe7e['stroke'];if(Cesium__namespace['defined'](_0x1e4d19)){_0x262711['outline']=!![],_0x262711[_0x43c0ac(_0x191f53._0x5a4cec,0x386)]=_0x1e4d19;const _0x4a2200=_0x22fe7e[_0x43c0ac(_0x191f53._0x47fb25,_0x191f53._0x2069e0)];Cesium__namespace[_0x43c0ac(_0x191f53._0x1763a4,0x158a)](_0x4a2200)&&(_0x262711[_0xd4e8e6(_0x191f53._0x2708e4,0x14b7)]=_0x4a2200);const _0x7444de=_0x22fe7e['stroke-opacity'];Cesium__namespace[_0x43c0ac(0x17a7,0x1609)](_0x7444de)&&_0x7444de!==0x1&&(_0x262711['outlineOpacity']=_0x7444de);}}else{const _0x214d6e=_0x22fe7e[_0x43c0ac(0x61e,0xac7)];if(Cesium__namespace['defined'](_0x214d6e)){_0x262711['color']=_0x214d6e;const _0x5cb81b=_0x22fe7e['stroke-width'];Cesium__namespace[_0x43c0ac(_0x191f53._0x2899ff,_0x191f53._0x323b18)](_0x5cb81b)&&(_0x262711['width']=_0x5cb81b);const _0x516aa7=_0x22fe7e[_0xd4e8e6(0xbad,0x36c)];Cesium__namespace[_0x43c0ac(_0x191f53._0x4cab40,_0x191f53._0x3eda7e)](_0x516aa7)&&_0x516aa7!==0x1&&(_0x262711['opacity']=_0x516aa7);}}}if(_0x10f456['style']){if(_0x10f456['style']['merge'])_0x262711={..._0x262711,..._0x10f456[_0x43c0ac(_0x191f53._0x2cebbf,0x49e)]};else{const _0x30bc1a={..._0x10f456[_0xd4e8e6(_0x191f53._0x49225b,0x444)]};_0x262711=_0x30bc1a;}}if(_0x10f456[_0x43c0ac(0xce8,_0x191f53._0x1bb150)]){if(isFunction(_0x10f456[_0xd4e8e6(_0x191f53._0x3e43fc,0xb6a)]))_0x262711=_0x10f456['symbol'](_0x22fe7e,_0x262711,_0x2da69c)||_0x262711,_0x262711[_0x43c0ac(0x95c,_0x191f53._0x4bdad3)]&&(_0x3b9891=_0x262711['type']);else{_0x3b9891=_0x10f456['symbol'][_0x43c0ac(0x95c,0x7c3)]||_0x3b9891;const _0x609c90={};_0x609c90['type']=_0x3b9891;const _0x3aaadd=getSymbolStyle(_0x10f456['symbol'],_0x2da69c[_0x43c0ac(0x143a,0xecf)]||{},_0x609c90);_0x3aaadd&&Object['keys'](_0x3aaadd)['length']!==0x0&&(_0x10f456['symbol'][_0x43c0ac(0x16e4,0x19b7)]?_0x262711={..._0x3aaadd,..._0x262711}:_0x262711=_0x3aaadd);}}let _0x409fd9=_0x10f456[_0x43c0ac(_0x191f53._0xdd6d,0x454)];_0x409fd9==='EPSG:4326'&&(_0x409fd9=null);function _0x4373b7(_0x2b86f2){if(!_0x2b86f2||_0x2b86f2['length']===0x0)return undefined;return _0x409fd9&&(_0x2b86f2=proj4Trans(_0x2b86f2,_0x409fd9)),_0x10f456['onPointTrans']?_0x10f456['onPointTrans'](_0x2b86f2):_0x2b86f2;}function _0xd4e8e6(_0x500037,_0x63331b){return _0x7afdbe(_0x500037,_0x63331b- -_0x402516._0x9568db);}function _0x403994(_0x498a83){const _0x311345={_0xf1bdf2:0x50};_0x10f456['simplify']&&_0x498a83[_0x2a3ff1(0x17d1,_0x20ce8d._0x5dd971)]>0x0&&!Array[_0x33fa33(0xedd,0x14fb)](_0x498a83[0x0][0x0])&&(_0x498a83=simplifyPositions(_0x498a83,_0x10f456['simplify']));function _0x33fa33(_0x41e818,_0x3de3bc){return _0x43c0ac(_0x3de3bc- -0x99,_0x41e818);}function _0x2a3ff1(_0x5b6cb9,_0x4de629){return _0x43c0ac(_0x4de629-_0x311345._0xf1bdf2,_0x5b6cb9);}if(!_0x10f456[_0x2a3ff1(_0x20ce8d._0x4704d3,_0x20ce8d._0x5b5794)]&&!_0x409fd9&&!_0x10f456['simplify'])return _0x498a83;const _0x37c6e6=[];for(let _0x1829ba=0x0,_0x2fedce=_0x498a83[_0x33fa33(_0x20ce8d._0x95b98f,0x1012)];_0x1829ba<_0x2fedce;_0x1829ba++){const _0x533ca5=_0x498a83[_0x1829ba];if(Array['isArray'](_0x533ca5[0x0])){const _0x122af5=_0x403994(_0x533ca5);_0x122af5&&_0x122af5[_0x2a3ff1(0x1a24,0x10fb)]>0x0&&_0x37c6e6['push'](_0x122af5);}else{const _0x4567f6=_0x4373b7(_0x533ca5);_0x4567f6&&_0x37c6e6[_0x33fa33(0x1024,_0x20ce8d._0x589940)](_0x4567f6);}}return _0x37c6e6;}function _0x56e660(_0x176449,_0x35bdb5){eachGraphicType(function(_0x3118d6){isObject(_0x35bdb5[_0x3118d6])&&(_0x176449[_0x3118d6]=_0x35bdb5[_0x3118d6],delete _0x35bdb5[_0x3118d6]);});}let _0x2c3509,_0x56de0d;switch(_0x2e9924['type']){case'Point':{(!_0x3b9891||!isPointType(_0x3b9891))&&(_0x3b9891=_0x262711['image']?_0xd4e8e6(0x1703,_0x191f53._0x109ba8):'pointP');const _0x13c6e6={..._0x3e9145,'type':_0x3b9891,'position':_0x4373b7(_0x4f3b3f),'style':_0x262711,'attr':_0x22fe7e};_0x56e660(_0x13c6e6,_0x22fe7e),_0x4f637f['push'](_0x13c6e6);break;}case'MultiPoint':{(!_0x3b9891||!isPointType(_0x3b9891))&&(_0x3b9891=_0x262711['image']?'billboardP':'pointP');for(_0x2c3509=0x0,_0x56de0d=_0x4f3b3f[_0xd4e8e6(0x19bd,_0x191f53._0x228774)];_0x2c3509<_0x56de0d;_0x2c3509++){const _0x14e9a0={..._0x3e9145,'type':_0x3b9891,'position':_0x4373b7(_0x4f3b3f[_0x2c3509]),'style':_0x262711,'attr':_0x22fe7e};_0x56e660(_0x14e9a0,_0x22fe7e),_0x4f637f[_0x43c0ac(_0x191f53._0x1eeb95,_0x191f53._0x5ce2d6)](_0x14e9a0);}break;}case'LineString':{!_0x3b9891&&(_0x3b9891=_0xd4e8e6(_0x191f53._0x4b8c9e,_0x191f53._0x5da4ec));const _0x7643d1={..._0x3e9145,'type':_0x3b9891,'positions':_0x403994(_0x4f3b3f),'style':_0x262711,'attr':_0x22fe7e};_0x56e660(_0x7643d1,_0x22fe7e),_0x4f637f['push'](_0x7643d1);break;}case'MultiLineString':{!_0x3b9891&&(_0x3b9891='polylineP');let _0x3943ae;const _0x47c12d=[];for(_0x2c3509=0x0,_0x56de0d=_0x4f3b3f['length'];_0x2c3509<_0x56de0d;_0x2c3509++){var _0x17cf63;const _0x4adf60={..._0x3e9145,'type':_0x3b9891,'positions':_0x403994(_0x4f3b3f[_0x2c3509]),'style':_0x262711,'attr':_0x22fe7e};_0x56e660(_0x4adf60,_0x22fe7e),_0x4f637f['push'](_0x4adf60),_0x47c12d[_0x43c0ac(_0x191f53._0x12c6ad,0x193b)](_0x4adf60),!_0x3943ae||(_0x17cf63=_0x4adf60[_0x43c0ac(_0x191f53._0x2d5a58,_0x191f53._0x5f0931)])!==null&&_0x17cf63!==void 0x0&&_0x17cf63[_0x43c0ac(_0x191f53._0x59bfd3,_0x191f53._0xd13631)]&&_0x3943ae['positions'][_0xd4e8e6(0x770,_0x191f53._0x228774)]<_0x4adf60[_0x43c0ac(0x1215,0x1ac8)][_0xd4e8e6(0xdf7,0xf2d)]?_0x3943ae=_0x4adf60:(delete _0x4adf60['id'],delete _0x4adf60['attr']['id']);}if(_0x3943ae){_0x3943ae['isMultiMax']=!![];if(_0x262711['label']&&!_0x262711['label']['showAll'])for(_0x2c3509=0x0,_0x56de0d=_0x47c12d['length'];_0x2c3509<_0x56de0d;_0x2c3509++){const _0xa8db3c=_0x47c12d[_0x2c3509];if(_0x3943ae===_0xa8db3c)continue;_0xa8db3c['style']={..._0xa8db3c['style']},delete _0xa8db3c[_0xd4e8e6(0x4ac,0x444)][_0x43c0ac(0x11e0,0xd6e)];}}break;}case'Polygon':{!_0x3b9891&&(_0x3b9891='polygon');if(_0x3b9891['startsWith'](_0x43c0ac(0x5ca,-_0x191f53._0x571a6f))||_0x3b9891['startsWith']('water')||_0x3b9891===_0x43c0ac(0xa36,0x103d)){const _0x2d7fa3={..._0x3e9145,'type':_0x3b9891,'positions':_0x403994(_0x4f3b3f['length']===0x1?_0x4f3b3f[0x0]:_0x4f3b3f),'isRing':_0x4f3b3f['length']>0x1,'style':_0x262711,'attr':_0x22fe7e};_0x56e660(_0x2d7fa3,_0x22fe7e),_0x4f637f[_0x43c0ac(0x102e,0x15cb)](_0x2d7fa3);}else for(_0x2c3509=0x0,_0x56de0d=_0x4f3b3f['length'];_0x2c3509<_0x56de0d;_0x2c3509++){const _0x3cfbdd=_0x4f3b3f[_0x2c3509],_0x5a7baf={..._0x3e9145,'type':_0x3b9891,'positions':_0x403994(_0x3cfbdd[_0x43c0ac(_0x191f53._0x59bfd3,_0x191f53._0x28681f)]===0x1?_0x3cfbdd[0x0]:_0x3cfbdd),'isRing':_0x3cfbdd['length']>0x1,'style':_0x262711,'attr':_0x22fe7e};_0x56e660(_0x5a7baf,_0x22fe7e),_0x4f637f['push'](_0x5a7baf);}break;}case'MultiPolygon':{!_0x3b9891&&(_0x3b9891=_0xd4e8e6(-_0x191f53._0x57d269,0x44c));let _0x48a6f5;const _0x4832fd=[];for(_0x2c3509=0x0,_0x56de0d=_0x4f3b3f['length'];_0x2c3509<_0x56de0d;_0x2c3509++){const _0x5f434b=_0x4f3b3f[_0x2c3509],_0x5e85b2={..._0x3e9145,'type':_0x3b9891,'positions':_0x403994(_0x5f434b[_0xd4e8e6(0x4a7,_0x191f53._0x17e165)]===0x1?_0x5f434b[0x0]:_0x5f434b),'isRing':_0x5f434b['length']>0x1,'style':_0x262711,'attr':_0x22fe7e};_0x56e660(_0x5e85b2,_0x22fe7e),_0x4f637f['push'](_0x5e85b2),_0x4832fd[_0xd4e8e6(_0x191f53._0xbfc0ad,0xeb0)](_0x5e85b2),!_0x48a6f5||_0x48a6f5[_0x43c0ac(0x1215,0x137b)]['length']<_0x5e85b2[_0xd4e8e6(0x75e,0x1097)]['length']?_0x48a6f5=_0x5e85b2:(delete _0x5e85b2['id'],delete _0x5e85b2[_0xd4e8e6(0x1818,_0x191f53._0xa37850)]['id']);}if(_0x48a6f5){_0x48a6f5[_0xd4e8e6(_0x191f53._0x512680,_0x191f53._0x3c785d)]=!![];if(_0x262711['label']&&!_0x262711[_0x43c0ac(0x11e0,0x12c3)][_0x43c0ac(0x809,_0x191f53._0x3191d6)])for(_0x2c3509=0x0,_0x56de0d=_0x4832fd[_0x43c0ac(0x10ab,0x1b41)];_0x2c3509<_0x56de0d;_0x2c3509++){const _0x6a9dd4=_0x4832fd[_0x2c3509];if(_0x48a6f5===_0x6a9dd4)continue;_0x6a9dd4['style']={..._0x6a9dd4[_0x43c0ac(_0x191f53._0x4e7775,0x4fe)]},delete _0x6a9dd4['style'][_0x43c0ac(0x11e0,0x17c8)];}}break;}case'GeometryCollection':{const _0x2836ad=[];let _0x786930;for(let _0x1af635=0x0,_0x216c38=_0x2e9924[_0xd4e8e6(_0x191f53._0x4f3e76,0x1706)]['length'];_0x1af635<_0x216c38;_0x1af635++){const _0x7e83d4={};_0x7e83d4[_0x43c0ac(_0x191f53._0x405cf2,_0x191f53._0x93d7bf)]='Feature',_0x7e83d4['geometry']=_0x2e9924['geometries'][_0x1af635],_0x7e83d4['properties']=_0x2da69c['properties'];const _0x4bb9ce=featureToGraphic(_0x7e83d4,_0x10f456);if(_0x4bb9ce&&_0x4bb9ce[_0x43c0ac(_0x191f53._0x59bfd3,0x17e2)]>0x0)for(let _0x28ec4b=0x0,_0x1becfa=_0x4bb9ce['length'];_0x28ec4b<_0x1becfa;_0x28ec4b++){var _0x381d71;const _0x31f761=_0x4bb9ce[_0x28ec4b];(!_0x786930||(_0x381d71=_0x31f761[_0xd4e8e6(0xf2b,_0x191f53._0x2e3d1d)])!==null&&_0x381d71!==void 0x0&&_0x381d71[_0x43c0ac(_0x191f53._0x59bfd3,_0x191f53._0x25fb26)]&&_0x786930['positions']['length']<_0x31f761[_0x43c0ac(0x1215,_0x191f53._0x1e597f)]['length'])&&(_0x786930=_0x31f761),_0x2836ad['push'](_0x31f761);}}if(_0x2836ad[_0x43c0ac(0x10ab,_0x191f53._0x31f714)]>0x0){if(_0x786930){_0x786930[_0x43c0ac(_0x191f53._0x4f4f1f,0xcc3)]=!![];if(_0x262711['label']&&!_0x262711['label'][_0xd4e8e6(0x9cb,_0x191f53._0xc97bb6)])for(let _0x534f61=0x0,_0x33a95d=_0x2836ad[_0x43c0ac(0x10ab,0x7e1)];_0x534f61<_0x33a95d;_0x534f61++){const _0x18ccee=_0x2836ad[_0x534f61];if(_0x786930===_0x18ccee)continue;_0x262711['label'][_0x43c0ac(0x1719,0x1653)]=![];}}_0x4f637f[_0xd4e8e6(_0x191f53._0x4d9346,0xeb0)](..._0x2836ad);}break;}default:logError(_0xd4e8e6(0xb11,_0x191f53._0x27393f),_0x2da69c);}return _0x4f637f;}function mergeSymbolToGraphic(_0x12bc98,_0x4253d1){const _0x1c5e42={_0xe5523:0xa73,_0x45f647:0x7de,_0x1d2d6a:0x726,_0x26c505:0xe42,_0x2a25bd:0xe75,_0x21b07a:0x766},_0x26578d={_0x187dc0:0x58},_0x1726c2={_0x3c41c5:0x110};function _0x35a195(_0x34bedf,_0x3e536d){return _0x54a7f1(_0x34bedf- -_0x1726c2._0x3c41c5,_0x3e536d);}function _0x33acb8(_0x27b953,_0x582ca9){return _0x54a7f1(_0x582ca9- -_0x26578d._0x187dc0,_0x27b953);}if(_0x4253d1){if(isFunction(_0x4253d1))_0x12bc98['style']=_0x4253d1(_0x12bc98['attr'],_0x12bc98['style'],_0x12bc98);else{_0x4253d1['type']&&(_0x12bc98[_0x33acb8(_0x1c5e42._0xe5523,_0x1c5e42._0x45f647)]=_0x4253d1[_0x35a195(_0x1c5e42._0x1d2d6a,0x653)]);const _0x32064d=getSymbolStyle(_0x4253d1,_0x12bc98['attr']||{},_0x12bc98);_0x32064d&&Object[_0x33acb8(_0x1c5e42._0x26c505,0x7cc)](_0x32064d)[_0x35a195(_0x1c5e42._0x2a25bd,0x18bd)]!==0x0&&(_0x4253d1[_0x33acb8(0x10da,0x1566)]?_0x12bc98[_0x35a195(0x38c,_0x1c5e42._0x21b07a)]={..._0x32064d,..._0x12bc98['style']}:_0x12bc98['style']=_0x32064d);}}return _0x12bc98;}function heightToZoom(_0x24b6d0){const _0x952ace=40487.57,_0x400bcc=0.00007096758,_0x3fe8e3=91610.74;function _0xdcafaa(_0x289baf,_0x3cd388){return _0x7afdbe(_0x289baf,_0x3cd388- -0x11c);}const _0x4a8120=-40467.74;return Math['round'](_0x4a8120+(_0x952ace-_0x4a8120)/(0x1+Math[_0xdcafaa(0x835,0x3a7)](_0x24b6d0/_0x3fe8e3,_0x400bcc)));}function getUrlResource(_0x5350a6,_0x55a311){const _0x6d1fda={_0x53deaf:0xbd7,_0x517320:0xa2e,_0x20c1db:0xfdd,_0x169805:0x829,_0x263892:0x39e,_0x1795c6:0x1413,_0x182366:0xfdd,_0x5294f0:0xd11,_0x1799f3:0x770,_0x471f17:0xa46},_0x3977a7={_0x1cd500:0x223};if(!_0x5350a6[_0x1442ac(0x9f3,0x83f)])return _0x5350a6;function _0x1442ac(_0x42d9f7,_0x2009ff){return _0x7afdbe(_0x2009ff,_0x42d9f7- -0x25e);}_0x55a311=_0x5350a6[_0x1442ac(0x3e2,_0x6d1fda._0x53deaf)]??_0x55a311;function _0x2753bb(_0x337c2b,_0x316224){return _0x7afdbe(_0x316224,_0x337c2b- -_0x3977a7._0x1cd500);}let _0x3e1862;if(_0x5350a6['url']instanceof Cesium__namespace[_0x2753bb(0x1540,0x1f3a)]){const _0x262295=_0x5350a6[_0x2753bb(_0x6d1fda._0x517320,0x5e1)];return _0x5350a6['headers']&&(_0x262295[_0x2753bb(_0x6d1fda._0x20c1db,_0x6d1fda._0x169805)]=_0x5350a6['headers']),_0x5350a6[_0x1442ac(0xa0b,_0x6d1fda._0x263892)]&&(_0x262295['proxy']=new Cesium__namespace['DefaultProxy'](_0x5350a6['proxy'])),_0x55a311&&_0x262295['setTemplateValues'](_0x55a311),_0x5350a6['queryParameters']&&_0x262295['setQueryParameters'](_0x5350a6['queryParameters']),_0x262295;}else _0x55a311&&(_0x5350a6['url']=template(_0x5350a6['url'],_0x55a311)),_0x3e1862=new Cesium__namespace[(_0x1442ac(0x1505,0x1c2d))]({'url':_0x5350a6[_0x2753bb(0xa2e,_0x6d1fda._0x1795c6)],'queryParameters':_0x5350a6['queryParameters'],'templateValues':_0x55a311,'headers':_0x5350a6[_0x2753bb(_0x6d1fda._0x182366,0x152a)],'proxy':_0x5350a6['proxy']?new Cesium__namespace[(_0x1442ac(_0x6d1fda._0x5294f0,_0x6d1fda._0x1799f3))](_0x5350a6[_0x2753bb(_0x6d1fda._0x471f17,0x55)]):null});return _0x3e1862;}let imageSmoothingEnabledName;function getTextImage(_0x372302,_0x1cbeb7={}){const _0x5b26f1={_0x8b67d0:0xaed,_0x5ced1f:0x1205,_0x3eb618:0x1273,_0x876f0d:0x2d,_0x203859:0xc96,_0x29e1fd:0x12e2,_0x50c0cf:0x159,_0x151dea:0xaed,_0x2dc55e:0x5f3,_0x3096e5:0x1748,_0x166905:0x17d1,_0x52afe2:0x140c,_0x36e89f:0x774,_0x26fadc:0x1c7c,_0x44211a:0x53,_0x167d3:0x655,_0x556770:0x740,_0x46be06:0x302,_0x1b0c98:0x134,_0x397371:0x741,_0x180a2c:0x267,_0x30ac9a:0xda0,_0x5b5c68:0xbd5,_0x229eba:0x1b16,_0xf42c7a:0xdb8,_0x597255:0xace,_0x348cc4:0xf26,_0x3ed2df:0x324},_0x3875d6={_0x1c589a:0x343},_0x7b649={_0x29f8a3:0x275};if(_0x372302==='')return undefined;!_0x1cbeb7['background']&&(_0x1cbeb7['backgroundColor']=Cesium__namespace['Color']['TRANSPARENT']);const _0x14508f=_0x1cbeb7[_0x8ab3f7(0x85b,_0x5b26f1._0x8b67d0)]??_0x8ab3f7(0xd47,0xe29),_0x161156=_0x1cbeb7[_0x4fd3b0(0x325,0x283)]??![],_0x3d43bc=_0x1cbeb7[_0x8ab3f7(0xa37,_0x5b26f1._0x5ced1f)]??!![],_0x3b9595=_0x1cbeb7['strokeWidth']??0x1,_0xd36031=_0x1cbeb7['spacing']??0x0,_0x51810c=_0x1cbeb7['backgroundColor']??Cesium__namespace[_0x4fd3b0(0xf42,0x100f)][_0x4fd3b0(0x1c95,_0x5b26f1._0x3eb618)],_0xd01c4e=_0x1cbeb7[_0x4fd3b0(0xf0a,0x4d6)]??0x0,_0x4ed07f=document['createElement'](_0x8ab3f7(-_0x5b26f1._0x876f0d,0x59f));_0x4ed07f[_0x4fd3b0(_0x5b26f1._0x203859,_0x5b26f1._0x29e1fd)]=0x1,_0x4ed07f['height']=0x1,_0x4ed07f[_0x8ab3f7(0x921,_0x5b26f1._0x50c0cf)][_0x8ab3f7(0x8ef,_0x5b26f1._0x151dea)]=_0x14508f;const _0x3b520f={};_0x3b520f[_0x4fd3b0(0x143,_0x5b26f1._0x2dc55e)]=!![];const _0x325797=_0x4ed07f['getContext']('2d',_0x3b520f);if(!Cesium__namespace[_0x4fd3b0(_0x5b26f1._0x3096e5,0x140c)](imageSmoothingEnabledName)){if(Cesium__namespace['defined'](_0x325797['imageSmoothingEnabled']))imageSmoothingEnabledName='imageSmoothingEnabled';else{if(Cesium__namespace[_0x4fd3b0(_0x5b26f1._0x166905,_0x5b26f1._0x52afe2)](_0x325797['mozImageSmoothingEnabled']))imageSmoothingEnabledName=_0x8ab3f7(0x814,_0x5b26f1._0x36e89f);else{if(Cesium__namespace['defined'](_0x325797['webkitImageSmoothingEnabled']))imageSmoothingEnabledName=_0x8ab3f7(0x106b,0x7e0);else Cesium__namespace[_0x4fd3b0(_0x5b26f1._0x26fadc,0x140c)](_0x325797['msImageSmoothingEnabled'])&&(imageSmoothingEnabledName='msImageSmoothingEnabled');}}}_0x325797['font']=_0x14508f,_0x325797['lineJoin']='round',_0x325797['lineWidth']=_0x3b9595,_0x325797[imageSmoothingEnabledName]=![],_0x4ed07f[_0x8ab3f7(-_0x5b26f1._0x44211a,0x159)][_0x4fd3b0(_0x5b26f1._0x167d3,_0x5b26f1._0x556770)]='hidden',document['body']['appendChild'](_0x4ed07f);const _0x501b1a=_0x372302['split']('\x0a'),_0x1bb5fe=[];let _0x444330=0x0,_0x1a85db=0x0;_0x501b1a[_0x8ab3f7(0x53,_0x5b26f1._0x46be06)](_0x5365b9=>{const _0x38efc5=measureCanvasText(_0x325797,_0x5365b9,_0x1cbeb7);_0x1bb5fe['push'](_0x38efc5),_0x38efc5['y']+=_0x1a85db,_0x444330=Math['max'](_0x444330,_0x38efc5['width']),_0x1a85db+=_0x38efc5['height'];}),document[_0x4fd3b0(_0x5b26f1._0x1b0c98,_0x5b26f1._0x397371)][_0x8ab3f7(-_0x5b26f1._0x180a2c,0x148)](_0x4ed07f),_0x4ed07f['style']['visibility']='',_0x4ed07f[_0x4fd3b0(0xd2a,0x12e2)]=_0x444330,_0x4ed07f[_0x8ab3f7(0x5ea,0x324)]=_0x1a85db,_0x325797[_0x4fd3b0(_0x5b26f1._0x30ac9a,0xbbb)]=_0x14508f;function _0x4fd3b0(_0x52077b,_0x26d407){return _0x54a7f1(_0x26d407- -_0x7b649._0x29f8a3,_0x52077b);}_0x325797['lineJoin']='round',_0x325797[_0x4fd3b0(_0x5b26f1._0x5b5c68,0xee9)]=_0x3b9595,_0x325797[imageSmoothingEnabledName]=![];function _0x8ab3f7(_0x98b7c9,_0x20acfd){return _0x54a7f1(_0x20acfd- -_0x3875d6._0x1c589a,_0x98b7c9);}_0x51810c!==Cesium__namespace['Color'][_0x4fd3b0(_0x5b26f1._0x229eba,0x1273)]&&(_0x325797['fillStyle']=_0x51810c['toCssColorString'](),_0x325797['fillRect'](0x0,0x0,_0x4ed07f[_0x8ab3f7(0x1695,0x1214)],_0x4ed07f['height']));for(let _0x1b29f7=0x0;_0x1b29f7<_0x1bb5fe['length'];_0x1b29f7++){const _0x2ef783=_0x1bb5fe[_0x1b29f7];if(_0x161156){const _0x1293d2=Cesium__namespace['defaultValue'](_0x1cbeb7['strokeColor'],Cesium__namespace['Color'][_0x8ab3f7(0x1f7,0xafc)]);_0x325797['strokeStyle']=_0x1293d2['toCssColorString'](),_0x325797['strokeTextBySpacing'](_0x2ef783[_0x8ab3f7(0x85a,_0x5b26f1._0xf42c7a)],_0x2ef783['x']+_0xd01c4e,_0x2ef783['y'],_0xd36031,_0x2ef783['width']);}if(_0x3d43bc){const _0x31a874=Cesium__namespace['defaultValue'](_0x1cbeb7['fillColor'],Cesium__namespace['Color'][_0x8ab3f7(_0x5b26f1._0x597255,0x54a)]);_0x325797['fillStyle']=_0x31a874[_0x4fd3b0(0xdb9,0xfb4)](),_0x325797['fillTextBySpacing'](_0x2ef783['text'],_0x2ef783['x']+_0xd01c4e,_0x2ef783['y'],_0xd36031,_0x2ef783['width']);}}if(_0x1cbeb7[_0x8ab3f7(0xfee,0x10f5)]){if(_0x1cbeb7[_0x4fd3b0(_0x5b26f1._0x348cc4,0x5c4)])_0x325797['strokeStyle']=_0x1cbeb7['outlineColor']['toCssColorString']();else _0x1cbeb7['fillColor']?_0x325797['strokeStyle']=_0x1cbeb7['fillColor']['toCssColorString']():_0x325797['strokeStyle']='#ffffff';const _0x3fbdd6=_0x1cbeb7['outlineWidth']||0x4;_0x325797['lineWidth']=_0x3fbdd6,_0x325797['strokeRect'](_0x3fbdd6/0x2,_0x3fbdd6/0x2,_0x4ed07f['width']-_0x3fbdd6,_0x4ed07f[_0x8ab3f7(0x823,_0x5b26f1._0x3ed2df)]-_0x3fbdd6);}return _0x4ed07f;}function measureCanvasText(_0x3de075,_0x184ae7,_0x3ff9b1){const _0x17a9df={_0x5e7335:0x19c},_0x2408cd={_0x13693a:0x26f},_0x25519a=_0x3ff9b1['font']??'10px\x20sans-serif',_0x39bcda=_0x3ff9b1['stroke']??![];function _0x5b057c(_0x3ed79e,_0x26ba08){return _0x54a7f1(_0x26ba08-_0x2408cd._0x13693a,_0x3ed79e);}const _0x454606=_0x3ff9b1['fill']??!![],_0x242b85=_0x3ff9b1['padding']??0x0;function _0x2580b7(_0x21aa95,_0x5615e7){return _0x54a7f1(_0x21aa95- -_0x17a9df._0x5e7335,_0x5615e7);}const _0x419613=_0x242b85*0x2,_0x139f7d=_0x3ff9b1['spacing']??0x0,_0x2eaad4=measureText(_0x3de075,_0x184ae7,_0x25519a,_0x39bcda,_0x454606),_0xb2b259=-_0x2eaad4['minx'],_0x34ec75=Math['ceil'](_0x2eaad4[_0x2580b7(0x13bb,0x12f8)])+_0xb2b259+_0x419613+_0x139f7d*(_0x184ae7['length']-0x1),_0x1c169d=_0x2eaad4['height']+_0x419613,_0x351d84=_0x1c169d-_0x2eaad4['ascent']+_0x242b85,_0x491cfa=_0x1c169d-_0x351d84+_0x419613;return _0x2eaad4['x']=_0xb2b259,_0x2eaad4['y']=_0x491cfa,_0x2eaad4['width']=_0x34ec75,_0x2eaad4[_0x5b057c(0x382,0x8d6)]=_0x1c169d,_0x2eaad4;}function measureText(_0x5000a2,_0xe6b877,_0x5f287c,_0x1a7153,_0x277109){const _0x5a78b1={_0x32f300:0x3ca,_0x2fee45:0x1df6,_0xd17b2c:0x631,_0x415e50:0x1890,_0x43aa2e:0x3aa,_0x39bee2:0xc94,_0x2e7501:0x896,_0xc58d1c:0x727,_0x501e79:0x1950,_0x48dcc5:0x920,_0x4c2dd2:0x1944,_0x332b14:0x19f7},_0x58bbf7={_0x3e68e5:0x6c},_0x119b96=_0x5000a2['measureText'](_0xe6b877),_0x5c404b=!/\S/['test'](_0xe6b877);function _0x5ee712(_0x5f3361,_0x5d99c7){return _0x54a7f1(_0x5d99c7-_0x58bbf7._0x3e68e5,_0x5f3361);}if(!_0x5c404b){const _0x5c128d=document[_0x258588(0xa30,0x6d0)]['getComputedStyle'](_0x5000a2[_0x5ee712(0x1bd,0x94e)])[_0x5ee712(0xc3e,_0x5a78b1._0x32f300)]('font-size')[_0x258588(0x7e5,0x6f9)]('px',''),_0x34ec45=document['createElement'](_0x258588(0xb9b,0x415)),_0x2c7914=0x64,_0x1396c6=_0x119b96['width']+_0x2c7914|0x0,_0x492a71=0x3*_0x5c128d,_0xd804de=_0x492a71/0x2;_0x34ec45[_0x258588(0x1810,_0x5a78b1._0x2fee45)]=_0x1396c6,_0x34ec45['height']=_0x492a71;const _0x38dcfd=_0x34ec45[_0x258588(_0x5a78b1._0xd17b2c,-0x457)]('2d');_0x38dcfd['font']=_0x5f287c,_0x38dcfd['fillStyle']='white',_0x38dcfd['fillRect'](0x0,0x0,_0x34ec45['width']+0x1,_0x34ec45['height']+0x1);_0x1a7153&&(_0x38dcfd[_0x5ee712(_0x5a78b1._0x415e50,0x1384)]=_0x5ee712(-0x2a5,_0x5a78b1._0x43aa2e),_0x38dcfd['lineWidth']=_0x5000a2[_0x258588(0x1417,_0x5a78b1._0x39bee2)],_0x38dcfd['strokeText'](_0xe6b877,_0x2c7914/0x2,_0xd804de));_0x277109&&(_0x38dcfd[_0x5ee712(_0x5a78b1._0x2e7501,_0x5a78b1._0xc58d1c)]=_0x5ee712(0xde6,_0x5a78b1._0x43aa2e),_0x38dcfd[_0x258588(_0x5a78b1._0x501e79,0x16da)](_0xe6b877,_0x2c7914/0x2,_0xd804de));const _0x58a83a=_0x38dcfd['getImageData'](0x0,0x0,_0x1396c6,_0x492a71)['data'],_0x5b918b=_0x58a83a[_0x258588(0x123e,0x135a)],_0x150963=_0x1396c6*0x4;let _0x47c1c6,_0x404f08,_0x30ec13,_0x6471f8;for(_0x47c1c6=0x0;_0x47c1c6<_0x5b918b;++_0x47c1c6){if(_0x58a83a[_0x47c1c6]!==0xff){_0x30ec13=_0x47c1c6/_0x150963|0x0;break;}}for(_0x47c1c6=_0x5b918b-0x1;_0x47c1c6>=0x0;--_0x47c1c6){if(_0x58a83a[_0x47c1c6]!==0xff){_0x6471f8=_0x47c1c6/_0x150963|0x0;break;}}let _0x5d402e=-0x1;for(_0x47c1c6=0x0;_0x47c1c6<_0x1396c6&&_0x5d402e===-0x1;++_0x47c1c6){for(_0x404f08=0x0;_0x404f08<_0x492a71;++_0x404f08){const _0x2d3033=_0x47c1c6*0x4+_0x404f08*_0x150963;if(_0x58a83a[_0x2d3033]!==0xff||_0x58a83a[_0x2d3033+0x1]!==0xff||_0x58a83a[_0x2d3033+0x2]!==0xff||_0x58a83a[_0x2d3033+0x3]!==0xff){_0x5d402e=_0x47c1c6;break;}}}const _0xba5b9={};return _0xba5b9[_0x258588(0x13b4,0x1d06)]=_0xe6b877,_0xba5b9['width']=_0x119b96['width'],_0xba5b9['height']=_0x6471f8-_0x30ec13,_0xba5b9['ascent']=_0xd804de-_0x30ec13,_0xba5b9[_0x258588(0xf53,0x13c2)]=_0x6471f8-_0xd804de,_0xba5b9['minx']=_0x5d402e-_0x2c7914/0x2,_0xba5b9;}const _0x4b109e={};_0x4b109e[_0x258588(0x13b4,0x1e75)]=_0xe6b877,_0x4b109e['width']=_0x119b96['width'],_0x4b109e[_0x258588(_0x5a78b1._0x48dcc5,0x5f)]=0x0;function _0x258588(_0x737aa1,_0x59f7a6){return _0x54a7f1(_0x737aa1-0x2b9,_0x59f7a6);}return _0x4b109e[_0x258588(_0x5a78b1._0x4c2dd2,0x2231)]=0x0,_0x4b109e['descent']=0x0,_0x4b109e[_0x258588(_0x5a78b1._0x332b14,0x239a)]=0x0,_0x4b109e;}const circleImage={};function getCircleImage(_0x343c38,_0x1be75b={}){const _0x420496={_0x35e737:0x20,_0x2b6df8:0xd51,_0xe9ef60:0x1733,_0x20c54e:0x107,_0x299418:0x2e2,_0x3bd043:0xca,_0x545ec5:0x10d3,_0x3a6977:0x2e0,_0x343a31:0x6c8,_0x36611c:0xb63,_0x60c329:0x7ad,_0x535d48:0x17d,_0x223415:0xa79,_0x30d594:0x12b8,_0x23e86f:0xc85,_0x43a988:0x35a},_0x1aa7d3={_0x558cac:0x4c1},_0x5b7da2=_0x1be75b[_0x4cf3de(-0x18f,_0x420496._0x35e737)]??0x1a,_0x335d2d=_0x5b7da2+(_0x1be75b['borderWidth']??0x5);let _0x16996c;function _0x1271f2(_0x291097,_0x29fdbe){return _0x54a7f1(_0x291097- -_0x1aa7d3._0x558cac,_0x29fdbe);}let _0x13d455;if(_0x1be75b[_0x1271f2(_0x420496._0x2b6df8,_0x420496._0xe9ef60)])_0x16996c=_0x1be75b['color'],_0x13d455=_0x1be75b[_0x1271f2(-_0x420496._0x20c54e,0x6ac)]||_0x16996c;else{const _0x6e299a=_0x1be75b['opacity']??0.6,_0x1b7f65=_0x1be75b[_0x1271f2(_0x420496._0x299418,_0x420496._0x3bd043)]??_0x6e299a*0.8;if(_0x343c38<0xa)_0x16996c=_0x4cf3de(0x198b,_0x420496._0x545ec5)+_0x6e299a+')',_0x13d455=_0x4cf3de(0x108c,0x955)+_0x1b7f65+')';else _0x343c38<0x64?(_0x16996c='rgba(240,\x20194,\x2012,\x20\x20'+_0x6e299a+')',_0x13d455='rgba(241,\x20211,\x2087,\x20'+_0x1b7f65+')'):(_0x16996c=_0x1271f2(_0x420496._0x3a6977,0xcd1)+_0x6e299a+')',_0x13d455=_0x1271f2(_0x420496._0x343a31,0x50f)+_0x1b7f65+')');}function _0x4cf3de(_0x2193f3,_0x10b841){return _0x7afdbe(_0x2193f3,_0x10b841- -0x5e5);}const _0xf2add1=_0x343c38+'_'+_0x335d2d+'_'+_0x5b7da2+'_'+_0x16996c;if(!circleImage[_0xf2add1]){const _0x2bc1af=_0x335d2d*0x2,_0x4ab7b9=document[_0x1271f2(_0x420496._0x36611c,0x11e7)](_0x1271f2(0x421,0xa85));_0x4ab7b9[_0x1271f2(0x1096,0x96c)]=_0x2bc1af,_0x4ab7b9[_0x4cf3de(0x7a9,0x2b0)]=_0x2bc1af;const _0x5eff78={};_0x5eff78['willReadFrequently']=!![];const _0x577f8f=_0x4ab7b9['getContext']('2d',_0x5eff78);_0x577f8f['fillStyle']='#ffffff00',_0x577f8f['globalAlpha']=0x0,_0x577f8f['fillRect'](0x0,0x0,_0x2bc1af,_0x2bc1af),_0x5b7da2!==_0x335d2d&&(_0x577f8f['globalAlpha']=0x1,_0x577f8f['beginPath'](),_0x577f8f[_0x4cf3de(-0x121,0x8b7)](_0x335d2d,_0x335d2d,_0x335d2d,0x0,Math['PI']*0x2,!![]),_0x577f8f[_0x4cf3de(-0x59d,0x4f)](),_0x577f8f['fillStyle']=_0x13d455,_0x577f8f['fill']()),_0x577f8f['globalAlpha']=0x1,_0x577f8f['beginPath'](),_0x577f8f[_0x1271f2(_0x420496._0x60c329,-_0x420496._0x535d48)](_0x335d2d,_0x335d2d,_0x5b7da2,0x0,Math['PI']*0x2,!![]),_0x577f8f[_0x4cf3de(-0xa4a,0x4f)](),_0x577f8f['fillStyle']=_0x16996c,_0x577f8f['fill'](),_0x577f8f['font']=_0x1be75b[_0x4cf3de(0xf64,_0x420496._0x223415)]||_0x5b7da2*0.9+'px\x20bold\x20normal',_0x577f8f['fillStyle']=_0x1be75b['fontColor']||'#ffffff',_0x577f8f[_0x1271f2(_0x420496._0x30d594,_0x420496._0x23e86f)]='center',_0x577f8f[_0x4cf3de(0x983,0x11a1)]=_0x1271f2(0x2e3,_0x420496._0x43a988),_0x577f8f['fillText'](_0x343c38,_0x335d2d,_0x335d2d),circleImage[_0xf2add1]=_0x4ab7b9['toDataURL']('image/png',0x1);}return circleImage[_0xf2add1];}function download(_0x506f4e,_0x59b7cd){const _0x13f37c={_0x1d76ea:0x1195,_0x1873c2:0xb27,_0x1cee55:0x29d},_0x304afd={_0x411700:0xbd},_0x598d41=document[_0x1943a7(_0x13f37c._0x1d76ea,0x834)]('a');_0x598d41[_0x1943a7(0x1855,0x1705)]=_0x506f4e;function _0x134913(_0x49c580,_0x50aabd){return _0x54a7f1(_0x50aabd- -0x4fe,_0x49c580);}_0x598d41['href']=URL['createObjectURL'](_0x59b7cd);function _0x1943a7(_0x3e997f,_0x2f1204){return _0x7afdbe(_0x2f1204,_0x3e997f- -_0x304afd._0x411700);}document[_0x1943a7(_0x13f37c._0x1873c2,_0x13f37c._0x1cee55)]['appendChild'](_0x598d41),_0x598d41[_0x134913(0x8df,0xa0c)](),document[_0x134913(0x0,0x4b8)]['removeChild'](_0x598d41);}function base64Img2Blob(_0x593466){const _0x2a3eb8={_0xd22226:0xe6d},_0x3bc0c0=_0x593466['split'](';base64,'),_0x561557=_0x3bc0c0[0x0]['split'](':')[0x1];function _0x5dfaf7(_0xbf8059,_0x2dfc75){return _0x7afdbe(_0xbf8059,_0x2dfc75- -0x527);}const _0x2df135=window[_0x5dfaf7(0x14a9,_0x2a3eb8._0xd22226)](_0x3bc0c0[0x1]),_0x1a2bea=_0x2df135['length'],_0x2149ea=new Uint8Array(_0x1a2bea);for(let _0x2a1bf3=0x0;_0x2a1bf3<_0x1a2bea;++_0x2a1bf3){_0x2149ea[_0x2a1bf3]=_0x2df135['charCodeAt'](_0x2a1bf3);}const _0x2d7b7a={};return _0x2d7b7a['type']=_0x561557,new Blob([_0x2149ea],_0x2d7b7a);}function downloadBase64Image(_0x33d442,_0x355bfa){const _0x3b43ec={_0x5acbe0:0x9aa,_0x39ebe7:0x53e},_0x329efc={_0x42f0d2:0x1ba};function _0x4e1ec6(_0x369503,_0x30f9f3){return _0x54a7f1(_0x30f9f3- -_0x329efc._0x42f0d2,_0x369503);}const _0x3b0518=base64Img2Blob(_0x355bfa);!_0x33d442['endsWith']('.jpg')&&!_0x33d442[_0x4e1ec6(_0x3b43ec._0x5acbe0,0xcbb)]('.png')&&(_0x33d442=_0x33d442+_0x4e1ec6(0x398,_0x3b43ec._0x39ebe7));function _0x2f9774(_0x4adff3,_0x1b3442){return _0x54a7f1(_0x4adff3-0xaf,_0x1b3442);}download(_0x33d442,_0x3b0518);}function downloadFile(_0x80a361,_0x1b7e5d,_0x480c02){const _0x5a37b7={};_0x5a37b7['type']=_0x480c02;const _0x3870ca=new Blob([_0x1b7e5d],_0x5a37b7);download(_0x80a361,_0x3870ca);}function getExplorerInfo(){const _0xa15ac0={_0x5cb2dc:0xe70,_0x22c7c9:0x153f,_0x179f2e:0x1128,_0x33b682:0xe1d,_0x51b688:0x855,_0x37fdf0:0x14ea,_0x56f3e9:0x1097,_0x231f95:0xfc5,_0x4c96f8:0x46b,_0x1ff7e9:0x4ca,_0x150b64:0x8e4,_0x2b13de:0x855,_0x3317ba:0x126,_0x132992:0x640},_0x87ed13={_0x3addbd:0xe5};function _0x106372(_0x17ddb9,_0x3c9775){return _0x54a7f1(_0x3c9775- -_0x87ed13._0x3addbd,_0x17ddb9);}let _0x10cb45;const _0x42d06d=window[_0x106372(0x10a4,0x112b)][_0x106372(_0xa15ac0._0x5cb2dc,_0xa15ac0._0x22c7c9)][_0x106372(0xe4a,0x675)]();function _0x53ee07(_0x330517,_0x26f59b){return _0x54a7f1(_0x26f59b-0x2a6,_0x330517);}if(_0x42d06d[_0x53ee07(_0xa15ac0._0x179f2e,0x855)]('msie')>=0x0){_0x10cb45=Number(_0x42d06d['match'](/msie ([\d]+)/)[0x1]);const _0x31933e={};return _0x31933e['type']='IE',_0x31933e['version']=_0x10cb45,_0x31933e;}else{if(_0x42d06d[_0x106372(_0xa15ac0._0x33b682,0x4ca)]('firefox')>=0x0){_0x10cb45=Number(_0x42d06d['match'](/firefox\/([\d]+)/)[0x1]);const _0x355886={};return _0x355886['type']='Firefox',_0x355886['version']=_0x10cb45,_0x355886;}else{if(_0x42d06d[_0x53ee07(0xde8,_0xa15ac0._0x51b688)](_0x53ee07(_0xa15ac0._0x37fdf0,_0xa15ac0._0x56f3e9))>=0x0){_0x10cb45=Number(_0x42d06d['match'](/chrome\/([\d]+)/)[0x1]);const _0x2e0da7={};return _0x2e0da7[_0x53ee07(0x8fb,0xadc)]=_0x53ee07(0x114d,_0xa15ac0._0x231f95),_0x2e0da7['version']=_0x10cb45,_0x2e0da7;}else{if(_0x42d06d[_0x106372(_0xa15ac0._0x4c96f8,_0xa15ac0._0x1ff7e9)](_0x53ee07(0xdbb,_0xa15ac0._0x150b64))>=0x0){_0x10cb45=Number(_0x42d06d[_0x53ee07(0xef2,0x905)](/opera.([\d]+)/)[0x1]);const _0x535b63={};return _0x535b63['type']='Opera',_0x535b63['version']=_0x10cb45,_0x535b63;}else{if(_0x42d06d[_0x53ee07(0x500,_0xa15ac0._0x2b13de)]('Safari')>=0x0){_0x10cb45=Number(_0x42d06d['match'](/version\/([\d]+)/)[0x1]);const _0x2a2d84={};return _0x2a2d84['type']=_0x53ee07(-_0xa15ac0._0x3317ba,_0xa15ac0._0x132992),_0x2a2d84['version']=_0x10cb45,_0x2a2d84;}}}}}const _0x51faf1={};return _0x51faf1[_0x53ee07(0x14e9,0xadc)]=_0x42d06d,_0x51faf1['version']=-0x1,_0x51faf1;}function webglreport(){const _0x5f4a48={_0x676174:0xcdd,_0x32d401:0x31,_0x21404d:0x79e,_0x2df9cd:0xc8,_0x357d49:0x7c9},_0xc79519=getExplorerInfo();function _0x429715(_0x316432,_0x153c7d){return _0x54a7f1(_0x316432- -0x347,_0x153c7d);}if(_0xc79519['type']==='IE'&&_0xc79519['version']<0xb)return![];try{let _0x239102;const _0x59ea5e=document[_0x429715(_0x5f4a48._0x676174,0x17a1)]('canvas'),_0x48edd5=typeof WebGL2RenderingContext!=='undefined';_0x48edd5&&(_0x239102=_0x59ea5e[_0x429715(_0x5f4a48._0x32d401,_0x5f4a48._0x21404d)](_0x2b3a7c(0x129d,0x9c3))||_0x59ea5e[_0x429715(0x31,-0x604)](_0x429715(0x450,-0x4ad))||undefined);_0x239102==null&&(_0x239102=_0x59ea5e[_0x2b3a7c(-_0x5f4a48._0x2df9cd,0x75a)](_0x429715(_0x5f4a48._0x357d49,-0x13b))||_0x59ea5e[_0x429715(0x31,0x50c)]('experimental-webgl')||undefined);if(_0x239102==null)return![];}catch(_0x356109){return![];}function _0x2b3a7c(_0x2b2678,_0x295efc){return _0x54a7f1(_0x2b2678- -0x440,_0x295efc);}return!![];}function webglerror(){const _0x58cea1={_0x28ee95:0xd87,_0x5d0461:0x72f},_0x2b9a13={_0x2aa755:0x54e};function _0xd35875(_0x4e95cb,_0xa69a82){return _0x7afdbe(_0xa69a82,_0x4e95cb- -_0x2b9a13._0x2aa755);}var _0x5bcc55;function _0x438467(_0x4e9873,_0x2f5ee6){return _0x7afdbe(_0x2f5ee6,_0x4e9873- -0x2ba);}if((_0x5bcc55=window)!==null&&_0x5bcc55!==void 0x0&&(_0x5bcc55=_0x5bcc55['layer'])!==null&&_0x5bcc55!==void 0x0&&_0x5bcc55['open']){const _0x4f992e={};_0x4f992e[_0x438467(0x7aa,0xc98)]=0x1,_0x4f992e['title']='当前浏览器不支持WebGL功能',_0x4f992e[_0xd35875(0x879,0xb88)]=0x0,_0x4f992e['shadeClose']=![],_0x4f992e[_0x438467(0xac1,_0x58cea1._0x28ee95)]=![],_0x4f992e['area']=['530px',_0x438467(0xa10,_0x58cea1._0x5d0461)],_0x4f992e['content']='<div\x20style=\x22margin:\x2020px;color:\x20#333;\x22><h3>系统检测到您使用的浏览器不支持WebGL功能!</h3>\x20\x20<p>1、请您检查浏览器版本,安装使用最新版chrome、火狐或IE11以上浏览器!</p>\x20<p>2、WebGL支持取决于GPU支持,请保证客户端电脑已安装显卡驱动程序!</p></div>',window['layer']['open'](_0x4f992e);}else alert('系统检测到您使用的浏览器不支持WebGL功能');}function getRequest(){const _0x58b76b={_0x267486:0xca1},_0x2f9671=location['search'],_0x5e2af0={};function _0x576393(_0x5bfc91,_0x5231ed){return _0x54a7f1(_0x5231ed- -0x507,_0x5bfc91);}if(_0x2f9671['indexOf']('?')!==-0x1){const _0x3ce849=_0x2f9671['substr'](0x1),_0x9c456e=_0x3ce849[_0x576393(0x15a3,_0x58b76b._0x267486)]('&');for(let _0x14d74c=0x0;_0x14d74c<_0x9c456e['length'];_0x14d74c++){_0x5e2af0[_0x9c456e[_0x14d74c]['split']('=')[0x0]]=decodeURI(_0x9c456e[_0x14d74c]['split']('=')[0x1]);}}return _0x5e2af0;}function getRequestByName(_0x272378){const _0x1d0661={_0x2686cc:0xe18,_0x355fe8:0x10cd},_0x14ecc4=new RegExp('(^|&)'+_0x272378+_0x4d1b77(0xca9,0x13f2),'i'),_0x1d6e16=window[_0x3f0977(_0x1d0661._0x2686cc,0x12be)][_0x4d1b77(0x669,0xe39)][_0x4d1b77(_0x1d0661._0x355fe8,0x13b4)](0x1)['match'](_0x14ecc4);function _0x4d1b77(_0xd78ff7,_0x3c0eae){return _0x54a7f1(_0xd78ff7-0x232,_0x3c0eae);}if(_0x1d6e16!=null)return decodeURI(_0x1d6e16[0x2]);function _0x3f0977(_0x43e047,_0x176e20){return _0x54a7f1(_0x176e20-0x1dd,_0x43e047);}return null;}let _isPCBroswer;function isPCBroswer(){const _0x5d6ebf={_0x29e59c:0xea6,_0x2ee2f5:0xf43},_0x169a5f={_0x4f6b1e:0x425},_0x11c8a0={_0x411f3e:0x14};function _0x3302f9(_0x47ab4b,_0x2aca6f){return _0x7afdbe(_0x2aca6f,_0x47ab4b-_0x11c8a0._0x411f3e);}if(!Cesium__namespace['defined'](_isPCBroswer)){const _0x19c6fc=navigator['userAgent']['toLowerCase'](),_0x2beb1c=['android',_0x3302f9(0x747,0x2e1),'iphone',_0x3302f9(_0x5d6ebf._0x29e59c,0xe36),_0x3d1db8(0x1010,_0x5d6ebf._0x2ee2f5),'symbianos'];_isPCBroswer=!![];for(let _0x2e43d6=0x0;_0x2e43d6<_0x2beb1c['length'];_0x2e43d6++){if(_0x19c6fc['indexOf'](_0x2beb1c[_0x2e43d6])>0x0){_isPCBroswer=![];break;}}}function _0x3d1db8(_0xc36789,_0x292361){return _0x7afdbe(_0x292361,_0xc36789- -_0x169a5f._0x4f6b1e);}return _isPCBroswer;}function alert(_0x373cf8,_0x4a302f){const _0x5dad2d={_0x47bf6e:0x16f7,_0x33c84b:0xcf7,_0x3f76b4:0x1527,_0xa7711c:0x1314,_0x16a15c:0x1663,_0x4cd247:0x17e7,_0x5e4134:0x1aa2};function _0x3c4353(_0x1fff0b,_0x2b2f33){return _0x54a7f1(_0x2b2f33-0x24e,_0x1fff0b);}function _0x85c2f4(_0x224c58,_0x1607fd){return _0x7afdbe(_0x1607fd,_0x224c58- -0x21);}if(window['globalAlert'])window[_0x85c2f4(_0x5dad2d._0x47bf6e,_0x5dad2d._0x33c84b)](_0x373cf8,_0x4a302f);else{if(window[_0x85c2f4(_0x5dad2d._0x3f76b4,0x1826)]){const _0x329f46={};_0x329f46[_0x85c2f4(0x10c3,_0x5dad2d._0xa7711c)]=_0x4a302f||'提示',_0x329f46['skin']='layui-layer-lan\x20layer-mars-dialog',_0x329f46['closeBtn']=0x0,_0x329f46[_0x3c4353(0xd23,_0x5dad2d._0x16a15c)]=0x0,_0x329f46[_0x85c2f4(_0x5dad2d._0x4cd247,_0x5dad2d._0x5e4134)]=0x0,window['layer']['alert'](_0x373cf8,_0x329f46);}else window['toastr']?window['toastr']['info'](_0x373cf8,_0x4a302f):window['alert'](_0x373cf8);}}function msg(_0x275834){const _0x5c1b0e={_0x55a576:0x5f0,_0x382312:0xa36};function _0x271cd4(_0x171648,_0xbe9b73){return _0x54a7f1(_0xbe9b73- -0x4b3,_0x171648);}function _0x46283f(_0x2b67cb,_0x452ac8){return _0x7afdbe(_0x452ac8,_0x2b67cb- -0x6de);}if(window['globalMsg'])window['globalMsg'](_0x275834);else{if(window['toastr'])window[_0x46283f(_0x5c1b0e._0x55a576,_0x5c1b0e._0x382312)]['info'](_0x275834);else window[_0x46283f(0xe6a,0x932)]?window['layer']['msg'](_0x275834):window[_0x46283f(0x1097,0x90d)](_0x275834);}}function formatDate(_0x5308af,_0x1ef416='yyyy-MM-dd\x20HH:mm:ss'){const _0x30efef={_0x97be79:0x1674,_0x4beac6:0x98,_0x34c4c5:0xd3d,_0x1e398a:0x542,_0x1f41bc:0x510,_0x536d15:0x640,_0x50970a:0xf69};function _0x3b2b43(_0x234f25,_0x6e391e){return _0x7afdbe(_0x234f25,_0x6e391e- -0x476);}const _0x45cf63={'M+':_0x5308af['getMonth']()+0x1,'d+':_0x5308af[_0x3fb061(0x318,-0x248)](),'h+':_0x5308af[_0x3fb061(_0x30efef._0x97be79,0x144d)]()%0xc===0x0?0xc:_0x5308af['getHours']()%0xc,'H+':_0x5308af['getHours'](),'m+':_0x5308af['getMinutes'](),'s+':_0x5308af['getSeconds'](),'q+':Math[_0x3fb061(0x8d6,0xb42)]((_0x5308af['getMonth']()+0x3)/0x3),'S':_0x5308af['getMilliseconds']()};/(y+)/['test'](_0x1ef416)&&(_0x1ef416=_0x1ef416[_0x3fb061(0x510,_0x30efef._0x4beac6)](RegExp['$1'],(_0x5308af['getFullYear']()+'')[_0x3fb061(0xe7f,0x182e)](0x4-RegExp['$1'][_0x3b2b43(0x38e,_0x30efef._0x34c4c5)])));function _0x3fb061(_0x1bbcd6,_0x587b73){return _0x7afdbe(_0x587b73,_0x1bbcd6- -0x24a);}for(const _0x4e843f in _0x45cf63){new RegExp('('+_0x4e843f+')')[_0x3fb061(0x515,-_0x30efef._0x1e398a)](_0x1ef416)&&(_0x1ef416=_0x1ef416[_0x3fb061(_0x30efef._0x1f41bc,_0x30efef._0x536d15)](RegExp['$1'],RegExp['$1']['length']===0x1?_0x45cf63[_0x4e843f]:('00'+_0x45cf63[_0x4e843f])[_0x3b2b43(0x107a,0xc53)]((''+_0x45cf63[_0x4e843f])[_0x3fb061(_0x30efef._0x50970a,0xfe6)])));}return _0x1ef416;}function formatTime(_0x556225,_0x3c6a08){const _0x5779ce={_0x2d171e:0x113b,_0x12172b:0x4cc,_0x1cf438:0x4cc},_0x505c3d={_0x1cb24a:0x426};function _0x4dd6e8(_0x509e9c,_0x125e81){return _0x54a7f1(_0x125e81- -0x1ea,_0x509e9c);}_0x556225=Number(_0x556225)||0x0;const _0x517981=(_0x3c6a08===null||_0x3c6a08===void 0x0?void 0x0:_0x3c6a08['getLangText'])||getLangText;function _0x178e96(_0x3662b9,_0x5539ce){return _0x54a7f1(_0x5539ce- -_0x505c3d._0x1cb24a,_0x3662b9);}if(_0x556225<0x3c)return _0x556225['toFixed'](0x0)+_0x517981('_秒');else{if(_0x556225>=0x3c&&_0x556225<0xe10){const _0x3a12ad=Math[_0x178e96(-0x219,0x4cc)](_0x556225%0x3c);return Math['floor'](_0x556225/0x3c)+_0x517981(_0x178e96(0x187e,_0x5779ce._0x2d171e))+(_0x3a12ad!==0x0?_0x3a12ad+_0x517981('_秒'):'');}else return _0x556225=Math[_0x178e96(0x566,_0x5779ce._0x12172b)](_0x556225/0x3c),Math[_0x178e96(-0x20f,_0x5779ce._0x1cf438)](_0x556225/0x3c)+_0x517981('_小时')+Math['floor'](_0x556225%0x3c)+_0x517981(_0x4dd6e8(0xc53,0x1377));}}function fetchJson(_0x142ace){const _0x38ffea={_0x1b41db:0x13b6,_0x532dc8:0x12d0,_0xda1ff1:0xc15,_0x472c31:0x185c},_0x1efc98={_0x386e8a:0x243},_0x1ccb93={_0x2a27a7:0x390};function _0x124ad0(_0x362419,_0x1ae543){return _0x7afdbe(_0x362419,_0x1ae543- -_0x1ccb93._0x2a27a7);}function _0x44706a(_0x52c321,_0x5ee31b){return _0x54a7f1(_0x52c321-_0x1efc98._0x386e8a,_0x5ee31b);}if(_0x142ace[_0x44706a(_0x38ffea._0x1b41db,_0x38ffea._0x532dc8)]==='post'){const _0x2a9ab9=_0x142ace[_0x44706a(_0x38ffea._0xda1ff1,0x14b4)];delete _0x142ace['queryParameters'];const _0x5c2e49=new Cesium__namespace['Resource'](_0x142ace),_0x687e6b={};return _0x687e6b[_0x44706a(0xadc,0x12f0)]=_0x142ace['responseType'],_0x687e6b['overrideMimeType']=_0x142ace['overrideMimeType'],_0x5c2e49['post'](_0x2a9ab9,_0x687e6b);}else{const _0x22f91e=new Cesium__namespace['Resource'](_0x142ace);return _0x22f91e[_0x44706a(_0x38ffea._0x472c31,0x1438)]();}}function sendAjax(_0x3d3870){const _0x150785={_0x373744:0x1632},_0x20aafc={_0x3e5052:0x5b0},_0x59e80c={_0x4af846:0x303};function _0x352daa(_0x4bdc60,_0xae4901){return _0x7afdbe(_0x4bdc60,_0xae4901- -_0x59e80c._0x4af846);}function _0x120fab(_0x4f9b4e,_0x270721){return _0x7afdbe(_0x4f9b4e,_0x270721- -_0x20aafc._0x3e5052);}return isMarsOnline&&(_0x3d3870={..._0x3d3870,'url':replaceOnlineUrlDomain(_0x3d3870[_0x352daa(0x2e5,0x94e)])}),_0x3d3870[_0x120fab(_0x150785._0x373744,0xdf1)]==='post'&&(_0x3d3870['data']=_0x3d3870[_0x352daa(0x4dd,0x8fd)],delete _0x3d3870[_0x120fab(0xbfa,0x650)]),xhrAdapter(_0x3d3870)['then'](_0x495dd7=>{const _0x5df852=_0x495dd7===null||_0x495dd7===void 0x0?void 0x0:_0x495dd7['data'];return _0x5df852;})[_0x352daa(0xfa8,0x953)](_0x3c8f39=>{console['log'](_0x3c8f39),logError('axios请求出错',_0x3c8f39);});}function requestFullscreen(_0xde0e7d){const _0x29f829={_0x264f0d:0x6ba,_0x35f0ad:0x1118,_0x36a913:0x175},_0x3eabce={_0x9d3910:0x3da},_0x501648={_0x456ce1:0x22e};Cesium__namespace['Fullscreen']['requestFullscreen'](_0xde0e7d);function _0x1a07d5(_0x19b5c4,_0x5e61f8){return _0x54a7f1(_0x5e61f8-_0x501648._0x456ce1,_0x19b5c4);}function _0x485800(_0x6ea2b9,_0x351bb6){return _0x54a7f1(_0x6ea2b9- -_0x3eabce._0x9d3910,_0x351bb6);}return Cesium__namespace[_0x485800(_0x29f829._0x264f0d,_0x29f829._0x35f0ad)][_0x485800(0x2a8,-_0x29f829._0x36a913)];}function exitFullscreen(){const _0x324680={_0x31ec2e:0x91e,_0x31266b:0x47};function _0x7a6b8f(_0x2fff19,_0x4c002d){return _0x54a7f1(_0x2fff19-0x29c,_0x4c002d);}return Cesium__namespace['Fullscreen']['exitFullscreen'](),Cesium__namespace['Fullscreen'][_0x7a6b8f(_0x324680._0x31ec2e,_0x324680._0x31266b)];}function funThrottle(_0x375cef,_0x4d710a){const _0x5f4039={_0x1e3df2:0xab2},_0xad325e={_0x5420f5:0x3ad};function _0x3d0508(_0x96a14b,_0x2a093a){return _0x7afdbe(_0x96a14b,_0x2a093a- -0x94);}let _0x4717ef,_0x24105b=Date[_0x3d0508(_0x5f4039._0x1e3df2,0x7b6)]();return function(..._0x278f91){const _0x5741f0={_0xda63da:0x7b5};function _0xbb9aad(_0x49c65d,_0x571db8){return _0x3d0508(_0x49c65d,_0x571db8- -_0xad325e._0x5420f5);}const _0x3c3e8e=this,_0x5408b8=Date['now'](),_0x2add6f=_0x4d710a-(_0x5408b8-_0x24105b);clearTimeout(_0x4717ef),_0x2add6f<=0x0?(_0x375cef['apply'](_0x3c3e8e,_0x278f91),_0x24105b=Date[_0xbb9aad(-0x2e3,0x409)]()):_0x4717ef=setTimeout(()=>{function _0x18e2ce(_0x398c91,_0x4b429c){return _0xbb9aad(_0x398c91,_0x4b429c- -0x223);}_0x375cef[_0x18e2ce(0xb32,_0x5741f0._0xda63da)](_0x3c3e8e,_0x278f91);},_0x2add6f);};}function funDebounce(_0x33555f,_0x2effd1){let _0x500598;return function(..._0x2f7c17){const _0x41aeb6=this;clearTimeout(_0x500598),_0x500598=setTimeout(()=>{_0x33555f['apply'](_0x41aeb6,_0x2f7c17);},_0x2effd1);};}const isMarsOnline=window[_0x7afdbe(0xc1d,0x130f)][_0x7afdbe(0x1fdc,0x15c8)]['indexOf']('mars3d.cn')!==-0x1||window[_0x7afdbe(0xc15,0x130f)][_0x54a7f1(0x139a,0x97a)]['indexOf'](_0x54a7f1(0x7e4,0xa71))!==-0x1,isLocalhost=window['location'][_0x7afdbe(0xdcf,0x15c8)]==='localhost'||window[_0x7afdbe(0x1146,0x130f)]['hostname']==='127.0.0.1';function replaceOnlineUrlDomain(_0x142e4d){const _0x547ea0={_0x3eac7f:0x37b,_0x20574c:0x507,_0x1cee50:0x858,_0x1d856c:0x262,_0x1d80d5:0x792,_0xe37b99:0x7d5,_0x26d719:0x17a};if(!_0x142e4d||!isString(_0x142e4d))return _0x142e4d;function _0x3cfa84(_0x5df600,_0x396929){return _0x7afdbe(_0x396929,_0x5df600- -0x41e);}function _0x4d51e8(_0x14d561,_0x2791d0){return _0x54a7f1(_0x14d561-0x2a9,_0x2791d0);}if(_0x142e4d[_0x3cfa84(0x507,-_0x547ea0._0x3eac7f)]('https://restapi.amap.com')||_0x142e4d[_0x3cfa84(_0x547ea0._0x20574c,0xfa9)]('https://api.map.baidu.com'))return'//server.mars3d.cn/proxy/'+_0x142e4d;if(_0x142e4d[_0x4d51e8(0x858,0x44d)]('data.mars3d.cn')===-0x1||_0x142e4d[_0x4d51e8(_0x547ea0._0x1cee50,_0x547ea0._0x1d856c)](_0x3cfa84(0xf19,_0x547ea0._0x1d80d5))!==-0x1)return _0x142e4d;return _0x142e4d[_0x4d51e8(_0x547ea0._0xe37b99,_0x547ea0._0x26d719)]('data.mars3d.cn','data1.mars3d.cn');}isMarsOnline&&(Cesium__namespace['Resource']['ReplaceMars3DUrl']=replaceOnlineUrlDomain);const _0x4a8909={get 'lastId'(){return lastId;}};_0x4a8909[_0x54a7f1(0x623,0xe42)]=null,_0x4a8909['isNumber']=isNumber,_0x4a8909['isString']=isString,_0x4a8909['isBoolean']=isBoolean,_0x4a8909['isObject']=isObject,_0x4a8909['isPlainObject']=isPlainObject,_0x4a8909['isFunction']=isFunction,_0x4a8909['isSimpleType']=isSimpleType,_0x4a8909['isMars3DCesium']=isMars3DCesium,_0x4a8909['formatNum']=formatNum$1,_0x4a8909[_0x7afdbe(0x4bb,0x569)]=padLeft0,_0x4a8909[_0x7afdbe(0x458,0xab3)]=splitWords,_0x4a8909[_0x7afdbe(0x1106,0x147a)]=trim,_0x4a8909['getStrLength']=getStrLength,_0x4a8909[_0x7afdbe(0x194c,0x182d)]=template,_0x4a8909[_0x7afdbe(0x1b60,0x152a)]=getGlobalId,_0x4a8909[_0x54a7f1(0x1436,0x14a8)]=stampGlobalId,_0x4a8909['createGuid']=createGuid,_0x4a8909['getTemplateHtml']=getTemplateHtml,_0x4a8909[_0x7afdbe(0x12a9,0x178e)]=getCesiumValue,_0x4a8909[_0x7afdbe(0xed8,0xf59)]=getCesiumColor,_0x4a8909['getColorByStyle']=getColorByStyle,_0x4a8909[_0x54a7f1(0x16be,0xd9d)]=getJulianDate$1,_0x4a8909[_0x7afdbe(0x688,0x600)]=getAvailability,_0x4a8909['getAvailabilityJson']=getAvailabilityJson,_0x4a8909[_0x7afdbe(0x14fa,0x1492)]=getAttrVal,_0x4a8909['get3DTileFeatureAttr']=get3DTileFeatureAttr,_0x4a8909[_0x54a7f1(0x15be,0x1ec4)]=merge,_0x4a8909['clone']=clone,_0x4a8909['getArrayRandomOne']=getArrayRandomOne,_0x4a8909['removeArrayItem']=removeArrayItem,_0x4a8909['getSymbolStyle']=getSymbolStyle,_0x4a8909['geojsonToArcGIS']=geojsonToArcGIS,_0x4a8909[_0x7afdbe(0x113f,0x1803)]=arcgisToGeoJSON,_0x4a8909[_0x54a7f1(0xfbd,0x11e2)]=getGeoJsonFeatures,_0x4a8909['geoJsonToGraphics']=geoJsonToGraphics,_0x4a8909['featureToGraphic']=featureToGraphic,_0x4a8909['mergeSymbolToGraphic']=mergeSymbolToGraphic,_0x4a8909['heightToZoom']=heightToZoom,_0x4a8909['getUrlResource']=getUrlResource,_0x4a8909[_0x54a7f1(0x596,0x242)]=getTextImage,_0x4a8909['measureCanvasText']=measureCanvasText,_0x4a8909['getCircleImage']=getCircleImage,_0x4a8909['downloadBase64Image']=downloadBase64Image,_0x4a8909[_0x7afdbe(0xf29,0xd34)]=downloadFile,_0x4a8909[_0x7afdbe(0x697,0x9a2)]=getExplorerInfo,_0x4a8909[_0x54a7f1(0x728,0x8e)]=webglreport,_0x4a8909['webglerror']=webglerror,_0x4a8909[_0x7afdbe(0x1828,0xe72)]=getRequest,_0x4a8909['getRequestByName']=getRequestByName,_0x4a8909[_0x7afdbe(0x1651,0x1314)]=isPCBroswer,_0x4a8909['alert']=alert,_0x4a8909[_0x7afdbe(0x16fd,0x19a9)]=msg,_0x4a8909['formatDate']=formatDate,_0x4a8909['formatTime']=formatTime,_0x4a8909['fetchJson']=fetchJson,_0x4a8909['sendAjax']=sendAjax,_0x4a8909['requestFullscreen']=requestFullscreen,_0x4a8909[_0x54a7f1(0x1511,0x1a65)]=exitFullscreen,_0x4a8909['funThrottle']=funThrottle,_0x4a8909[_0x7afdbe(0x12d,0x9b0)]=funDebounce,_0x4a8909['isMarsOnline']=isMarsOnline,_0x4a8909['isLocalhost']=isLocalhost,_0x4a8909[_0x7afdbe(0x113e,0x110f)]=setImage;var Util=_0x4a8909;Object['defineProperties'](Cesium__namespace['ColorMaterialProperty']['prototype'],{'globalAlpha':{'set':function(_0x95a946){const _0x1df455={_0x45eb85:0x28e};function _0x1d3af(_0x35c91d,_0x33169d){return _0x7afdbe(_0x33169d,_0x35c91d- -_0x1df455._0x45eb85);}this['_globalAlpha']=_0x95a946;const _0x4a2c69=getCesiumColor(this['color'],Cesium__namespace['Color']['WHITE']);!Cesium__namespace['defined'](this['_color_alpha'])&&(this[_0x1d3af(0x11b4,0xcba)]=_0x4a2c69['alpha']),this['color']=_0x4a2c69['withAlpha'](this['_color_alpha']*_0x95a946);},'get':function(){return this['_globalAlpha']??0x1;}}});const _0x4d74b6={};_0x4d74b6['set']=function(_0x32351b){this['_globalAlpha']=_0x32351b;},_0x4d74b6['get']=function(){return this['_globalAlpha']??0x1;};const _0x1e1e09={};_0x1e1e09[_0x7afdbe(0x1079,0xa93)]=_0x4d74b6,Object[_0x7afdbe(0x7e8,0xe4d)](Cesium__namespace['GridMaterialProperty']['prototype'],_0x1e1e09);const getValue_old$5=Cesium__namespace['GridMaterialProperty']['prototype']['getValue'];Cesium__namespace['GridMaterialProperty']['prototype']['getValue']=function(_0x2519a4,_0x56202c){const _0x484d9b={_0x2386f3:0x5e5,_0x3f9ea4:0x5e5,_0xd8822b:0xa75,_0x1f5a7b:0x4a6};_0x56202c=getValue_old$5[_0x1a19d7(0x86a,0x53)](this)(_0x2519a4,_0x56202c);function _0x2fb0ba(_0xf7d0f2,_0x31be7e){return _0x54a7f1(_0xf7d0f2- -0xb4,_0x31be7e);}function _0x1a19d7(_0x3bfd1e,_0x685d1f){return _0x54a7f1(_0x685d1f- -0x280,_0x3bfd1e);}return this[_0x1a19d7(0xd3f,_0x484d9b._0x2386f3)]!==0x1&&(_0x56202c['color']&&(_0x56202c[_0x1a19d7(0x788,0xf92)]['alpha']*=this[_0x1a19d7(0x102a,_0x484d9b._0x3f9ea4)]),_0x56202c[_0x2fb0ba(0xb9c,_0x484d9b._0xd8822b)]&&(_0x56202c[_0x1a19d7(_0x484d9b._0x1f5a7b,0x9d0)]*=this['globalAlpha'])),_0x56202c;},Object['defineProperties'](Cesium__namespace[_0x7afdbe(0x6b7,0x93c)][_0x7afdbe(0x106f,0x83e)],{'globalAlpha':{'set':function(_0x5a5b2e){const _0x10c727={_0x3c1f4c:0x55c,_0x3e6cfc:0x3db,_0x12580e:0x694,_0x46bbb4:0xde7,_0x5e7753:0xd62},_0x50a64c={_0x4775ff:0x4b2};this['_globalAlpha']=_0x5a5b2e;function _0x12b998(_0x3eff29,_0x21cea4){return _0x54a7f1(_0x21cea4- -_0x50a64c._0x4775ff,_0x3eff29);}const _0x4bb61f=getCesiumColor(this['color'],Cesium__namespace['Color'][_0x12b998(-_0x10c727._0x3c1f4c,_0x10c727._0x3e6cfc)]);function _0x1bba7e(_0x55320f,_0x31b1e8){return _0x54a7f1(_0x31b1e8-0x2be,_0x55320f);}!Cesium__namespace['defined'](this['_color_alpha'])&&(this['_color_alpha']=_0x4bb61f[_0x1bba7e(0x34c,_0x10c727._0x12580e)]),this['color']=_0x4bb61f['withAlpha'](this[_0x12b998(_0x10c727._0x46bbb4,_0x10c727._0x5e7753)]*_0x5a5b2e);},'get':function(){return this['_globalAlpha']??0x1;}}});const _0x21f0f5={};_0x21f0f5[_0x7afdbe(0x1810,0xfdf)]=function(_0x208cc6){this['_globalAlpha']=_0x208cc6;},_0x21f0f5['get']=function(){function _0x189614(_0x3aec01,_0x56b653){return _0x7afdbe(_0x3aec01,_0x56b653- -0x237);}return this[_0x189614(0xf52,0x152b)]??0x1;};const _0x822527={};_0x822527['globalAlpha']=_0x21f0f5,Object[_0x54a7f1(0xc1f,0x8ab)](Cesium__namespace['PolylineArrowMaterialProperty']['prototype'],_0x822527);const getValue_old$4=Cesium__namespace[_0x7afdbe(0x13fc,0xc86)]['prototype']['getValue'];Cesium__namespace['PolylineArrowMaterialProperty']['prototype']['getValue']=function(_0x58a211,_0x5019a1){const _0x5e06f9={_0x2c9216:0xa24};_0x5019a1=getValue_old$4['bind'](this)(_0x58a211,_0x5019a1);_0x5019a1[_0x144c12(_0x5e06f9._0x2c9216,0xf29)]&&this['globalAlpha']!==0x1&&(_0x5019a1['color']['alpha']*=this['globalAlpha']);function _0x144c12(_0xcb63e5,_0xf2fb01){return _0x54a7f1(_0xf2fb01- -0x2e9,_0xcb63e5);}return _0x5019a1;};const _0x298f73={};_0x298f73['set']=function(_0x1e9678){this['_globalAlpha']=_0x1e9678;},_0x298f73[_0x7afdbe(0x13ef,0x1034)]=function(){function _0x1572f0(_0x2e76b1,_0x4763e9){return _0x54a7f1(_0x2e76b1-0x244,_0x4763e9);}return this[_0x1572f0(0x1778,0x18ba)]??0x1;};const _0x530580={};_0x530580[_0x54a7f1(0x865,0x667)]=_0x298f73,Object[_0x54a7f1(0xc1f,0x110c)](Cesium__namespace['PolylineDashMaterialProperty']['prototype'],_0x530580);const getValue_old$3=Cesium__namespace[_0x7afdbe(0x318,0x6ef)]['prototype']['getValue'];Cesium__namespace['PolylineDashMaterialProperty']['prototype']['getValue']=function(_0x2545fa,_0x434633){function _0x2cf84d(_0x10991a,_0x3ce5a1){return _0x7afdbe(_0x3ce5a1,_0x10991a- -0xad);}function _0x29c52f(_0x4f0073,_0x234a74){return _0x54a7f1(_0x4f0073- -0x386,_0x234a74);}return _0x434633=getValue_old$3['bind'](this)(_0x2545fa,_0x434633),this[_0x2cf84d(0x9e6,0x96b)]!==0x1&&(_0x434633[_0x29c52f(0xe8c,0xedf)]&&(_0x434633['color']['alpha']*=this[_0x2cf84d(0x9e6,0x366)]),_0x434633['gapColor']&&(_0x434633['gapColor']['alpha']*=this['globalAlpha'])),_0x434633;};const _0x3d8d4c={};_0x3d8d4c['set']=function(_0x583dcf){this['_globalAlpha']=_0x583dcf;},_0x3d8d4c['get']=function(){const _0x59954e={_0x45ec20:0x1aa};function _0x3a3cf7(_0x4bc30b,_0x7befca){return _0x7afdbe(_0x7befca,_0x4bc30b- -_0x59954e._0x45ec20);}return this[_0x3a3cf7(0x15b8,0x1d43)]??0x1;};const _0x162e1f={};_0x162e1f[_0x54a7f1(0x865,0x4c3)]=_0x3d8d4c,Object['defineProperties'](Cesium__namespace[_0x54a7f1(0x97e,0x1206)][_0x7afdbe(0x4b7,0x83e)],_0x162e1f);const getValue_old$2=Cesium__namespace[_0x54a7f1(0x97e,0x10a4)]['prototype']['getValue'];Cesium__namespace[_0x54a7f1(0x97e,0x535)]['prototype']['getValue']=function(_0x5b05a1,_0xcd13c){_0xcd13c=getValue_old$2['bind'](this)(_0x5b05a1,_0xcd13c);function _0x24bccb(_0x39436e,_0x338d8c){return _0x54a7f1(_0x338d8c- -0x186,_0x39436e);}return _0xcd13c['color']&&this['globalAlpha']!==0x1&&(_0xcd13c['color']['alpha']*=this[_0x24bccb(0xe13,0x6df)]),_0xcd13c;};const _0x41367e={};_0x41367e['set']=function(_0x39ae14){const _0x1f3347={_0x30d905:0x11a8},_0x2982ef={_0x4cab80:0x1dd};function _0x3ce413(_0x4e0863,_0x38a364){return _0x7afdbe(_0x38a364,_0x4e0863- -_0x2982ef._0x4cab80);}this[_0x3ce413(0x1585,_0x1f3347._0x30d905)]=_0x39ae14;},_0x41367e['get']=function(){const _0x2eae56={_0x23a8c6:0x48b};function _0x40dd41(_0x4785e1,_0x293288){return _0x7afdbe(_0x4785e1,_0x293288- -_0x2eae56._0x23a8c6);}return this[_0x40dd41(0x15d5,0x12d7)]??0x1;};const _0x305700={};_0x305700[_0x54a7f1(0x865,0xf4f)]=_0x41367e,Object[_0x54a7f1(0xc1f,0xc6c)](Cesium__namespace['PolylineOutlineMaterialProperty']['prototype'],_0x305700);const getValue_old$1=Cesium__namespace[_0x7afdbe(0xbb5,0xffb)]['prototype']['getValue'];Cesium__namespace['PolylineOutlineMaterialProperty']['prototype']['getValue']=function(_0x35a203,_0x45c73d){const _0x1758aa={_0x4b321b:0x4c2,_0x3f6f71:0xb35,_0x1ce025:0x12b2},_0x873ebf={_0x42f2b2:0x4f};_0x45c73d=getValue_old$1[_0x102cda(0x4b2,-0xf)](this)(_0x35a203,_0x45c73d);function _0x102cda(_0x1674c7,_0xc6f34b){return _0x7afdbe(_0xc6f34b,_0x1674c7- -_0x873ebf._0x42f2b2);}this['globalAlpha']!==0x1&&(_0x45c73d['color']&&(_0x45c73d['color']['alpha']*=this[_0x505779(_0x1758aa._0x4b321b,0x7ea)]),_0x45c73d['outlineColor']&&(_0x45c73d[_0x102cda(0xa18,_0x1758aa._0x3f6f71)]['alpha']*=this[_0x505779(_0x1758aa._0x1ce025,0x7ea)]));function _0x505779(_0x2f4677,_0x3e23de){return _0x7afdbe(_0x2f4677,_0x3e23de- -0x2a9);}return _0x45c73d;};const _0x1561d5={};_0x1561d5[_0x7afdbe(0x922,0xfdf)]=function(_0x51a046){function _0x19c4d1(_0x4fa997,_0x5256ef){return _0x54a7f1(_0x5256ef-0x17e,_0x4fa997);}this[_0x19c4d1(0x1702,0x16b2)]=_0x51a046;},_0x1561d5[_0x54a7f1(0xe06,0x180f)]=function(){const _0x2e45de={_0x5a3591:0x331};function _0x247fed(_0x469a74,_0x88904f){return _0x7afdbe(_0x88904f,_0x469a74- -_0x2e45de._0x5a3591);}return this[_0x247fed(0x1431,0x9e8)]??0x1;};const _0x410c7e={};_0x410c7e['globalAlpha']=_0x1561d5,Object['defineProperties'](Cesium__namespace[_0x7afdbe(0x18ee,0x1040)][_0x7afdbe(0x6fb,0x83e)],_0x410c7e);const getValue_old=Cesium__namespace[_0x54a7f1(0xe12,0x11ec)]['prototype']['getValue'];Cesium__namespace['StripeMaterialProperty']['prototype']['getValue']=function(_0x480329,_0x33285a){const _0x4982ff={_0xc721af:0x1f4,_0x5909bc:0x568},_0x33877b={_0x18b430:0x2fd},_0xe4c089={_0x29cc83:0xdf};function _0x3cca15(_0x137748,_0x3568a3){return _0x54a7f1(_0x137748- -_0xe4c089._0x29cc83,_0x3568a3);}function _0x5a7465(_0x24cda6,_0x130d67){return _0x54a7f1(_0x130d67- -_0x33877b._0x18b430,_0x24cda6);}return _0x33285a=getValue_old[_0x3cca15(_0x4982ff._0xc721af,0xbd)](this)(_0x480329,_0x33285a),this['globalAlpha']!==0x1&&(_0x33285a[_0x3cca15(0x164c,0x1b67)]&&(_0x33285a['evenColor']['alpha']*=this[_0x5a7465(0x5d8,_0x4982ff._0x5909bc)]),_0x33285a[_0x5a7465(0xe8a,0xb8a)]&&(_0x33285a['oddColor']['alpha']*=this['globalAlpha'])),_0x33285a;},CanvasRenderingContext2D[_0x54a7f1(0x610,0x2a8)]['strokeTextBySpacing']=function(_0x43a80b,_0x2898ba,_0x117739,_0x474ee0,_0x28071e){const _0x544870={_0x186854:0x9f9,_0x37e420:0x12eb,_0x3c9891:0x1265,_0x20a9f2:0x18dd,_0x49afd8:0x75c};if(!_0x474ee0)return this['strokeText'](_0x43a80b,_0x2898ba,_0x117739);function _0xc3d0d3(_0x11b4d7,_0x506798){return _0x7afdbe(_0x506798,_0x11b4d7- -0x117);}const _0x1d80ec=this,_0x41c754=_0x1d80ec[_0xc3d0d3(_0x544870._0x186854,0x140e)];!_0x474ee0&&_0x41c754&&(_0x474ee0=parseFloat(window['getComputedStyle'](_0x41c754)[_0xc3d0d3(_0x544870._0x37e420,_0x544870._0x3c9891)]));if(!_0x474ee0)return this['strokeText'](_0x43a80b,_0x2898ba,_0x117739);function _0x4d233e(_0x217ede,_0x35fd02){return _0x7afdbe(_0x217ede,_0x35fd02- -0x22a);}const _0x2db27a=_0x43a80b[_0x4d233e(0xa41,0x11ac)](''),_0x5e0f53=_0x1d80ec[_0xc3d0d3(0x1890,0x1798)]||'left';if(!_0x28071e){const _0x2ea864=_0x1d80ec['measureText'](_0x43a80b)['width'];_0x28071e=_0x2ea864+_0x474ee0*(_0x2db27a['length']-0x1);}if(_0x5e0f53===_0x4d233e(0xd28,0x581))_0x2898ba=_0x2898ba-_0x28071e/0x2;else _0x5e0f53==='right'&&(_0x2898ba=_0x2898ba-_0x28071e);_0x1d80ec[_0x4d233e(_0x544870._0x20a9f2,0x177d)]='left',_0x2db27a[_0xc3d0d3(_0x544870._0x49afd8,0xc74)](function(_0x245f10){const _0x4a76d9=_0x1d80ec['measureText'](_0x245f10)['width'];_0x1d80ec[_0x1736e4(0x23,0x29b)](_0x245f10,_0x2898ba,_0x117739);function _0x1736e4(_0x29ab21,_0x16b512){return _0xc3d0d3(_0x16b512- -0x624,_0x29ab21);}_0x2898ba=_0x2898ba+_0x4a76d9+_0x474ee0;}),_0x1d80ec['textAlign']=_0x5e0f53;},CanvasRenderingContext2D['prototype']['fillTextBySpacing']=function(_0xdbe11e,_0x2b93d7,_0x1039a8,_0x5e7668,_0x54da9e){const _0x509a99={_0x4fa920:0x1336,_0x4b2bda:0x1dc8},_0x28f8a3={_0x4cfb56:0x304};if(!_0x5e7668)return this['fillText'](_0xdbe11e,_0x2b93d7,_0x1039a8);function _0x147a34(_0x568583,_0x101fd9){return _0x54a7f1(_0x101fd9- -_0x28f8a3._0x4cfb56,_0x568583);}const _0x2cf733=this,_0x6857ef=_0x2cf733[_0x147a34(0x1021,0x5de)];function _0x5b78ca(_0x1c6de9,_0x24112a){return _0x54a7f1(_0x1c6de9-0x129,_0x24112a);}!_0x5e7668&&_0x6857ef&&(_0x5e7668=parseFloat(window['getComputedStyle'](_0x6857ef)[_0x5b78ca(0x12fd,0x173d)]));if(!_0x5e7668)return this['fillText'](_0xdbe11e,_0x2b93d7,_0x1039a8);const _0x3338c7=_0xdbe11e[_0x5b78ca(0x12d1,0x1a32)](''),_0x7b2ae2=_0x2cf733['textAlign']||'left';if(!_0x54da9e){const _0x3d8432=_0x2cf733['measureText'](_0xdbe11e)[_0x147a34(0x1450,0x1253)];_0x54da9e=_0x3d8432+_0x5e7668*(_0x3338c7['length']-0x1);}if(_0x7b2ae2==='center')_0x2b93d7=_0x2b93d7-_0x54da9e/0x2;else _0x7b2ae2===_0x147a34(-0x53e,0x345)&&(_0x2b93d7=_0x2b93d7-_0x54da9e);_0x2cf733['textAlign']='left',_0x3338c7[_0x147a34(0xdfe,0x341)](function(_0x1399af){function _0x3d8fce(_0x123972,_0x37aa5a){return _0x5b78ca(_0x123972- -0x48a,_0x37aa5a);}const _0x3894ce=_0x2cf733['measureText'](_0x1399af)['width'];_0x2cf733[_0x3d8fce(_0x509a99._0x4fa920,_0x509a99._0x4b2bda)](_0x1399af,_0x2b93d7,_0x1039a8),_0x2b93d7=_0x2b93d7+_0x3894ce+_0x5e7668;}),_0x2cf733['textAlign']=_0x7b2ae2;},proj4['defs']('EPSG:4490','+proj=longlat\x20+ellps=GRS80\x20+no_defs'),proj4['defs'](_0x7afdbe(0x15ef,0xe3b),_0x7afdbe(0xf7d,0x120e)),proj4[_0x54a7f1(0xe49,0xab9)](_0x7afdbe(0x342,0x951),'+proj=tmerc\x20+lat_0=0\x20+lon_0=81\x20+k=1\x20+x_0=14500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0xb70,0x1077)](_0x54a7f1(0x85d,0x98d),'+proj=tmerc\x20+lat_0=0\x20+lon_0=87\x20+k=1\x20+x_0=15500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0x1a1b,0x1077)]('EPSG:4494','+proj=tmerc\x20+lat_0=0\x20+lon_0=93\x20+k=1\x20+x_0=16500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0xd91)](_0x54a7f1(0xc07,0x9ed),'+proj=tmerc\x20+lat_0=0\x20+lon_0=99\x20+k=1\x20+x_0=17500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0x883)](_0x7afdbe(0x296,0x4fb),_0x7afdbe(0x487,0x62c)),proj4['defs'](_0x7afdbe(0x342,0x95c),'+proj=tmerc\x20+lat_0=0\x20+lon_0=111\x20+k=1\x20+x_0=19500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4498',_0x7afdbe(0x2ad,0xcae)),proj4['defs'](_0x54a7f1(0x1778,0x1297),'+proj=tmerc\x20+lat_0=0\x20+lon_0=123\x20+k=1\x20+x_0=21500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x54a7f1(0x13e8,0x117d),'+proj=tmerc\x20+lat_0=0\x20+lon_0=129\x20+k=1\x20+x_0=22500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0xe73)]('EPSG:4501','+proj=tmerc\x20+lat_0=0\x20+lon_0=135\x20+k=1\x20+x_0=23500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4513','+proj=tmerc\x20+lat_0=0\x20+lon_0=75\x20+k=1\x20+x_0=25500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0xd01,0x13df),_0x54a7f1(0xb46,0x554)),proj4[_0x7afdbe(0x1343,0x1077)]('EPSG:4515','+proj=tmerc\x20+lat_0=0\x20+lon_0=81\x20+k=1\x20+x_0=27500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0x144a,0x1077)]('EPSG:4516',_0x7afdbe(0x1c8f,0x1953)),proj4[_0x54a7f1(0xe49,0xd2e)]('EPSG:4517',_0x7afdbe(0xe00,0x15c2)),proj4[_0x54a7f1(0xe49,0xe5b)](_0x7afdbe(0x3a6,0x49e),_0x54a7f1(0x153d,0x165a)),proj4['defs'](_0x7afdbe(0xf73,0xa61),_0x54a7f1(0xf5e,0x1a24)),proj4[_0x7afdbe(0x1194,0x1077)]('EPSG:4520',_0x54a7f1(0x4ad,0xbd8)),proj4[_0x7afdbe(0x1721,0x1077)]('EPSG:4521','+proj=tmerc\x20+lat_0=0\x20+lon_0=99\x20+k=1\x20+x_0=33500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0x1640,0x1077)](_0x54a7f1(0x17b0,0x1d26),'+proj=tmerc\x20+lat_0=0\x20+lon_0=102\x20+k=1\x20+x_0=34500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0x615)](_0x7afdbe(0xad5,0x131c),'+proj=tmerc\x20+lat_0=0\x20+lon_0=105\x20+k=1\x20+x_0=35500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0xc5a,0x1686),'+proj=tmerc\x20+lat_0=0\x20+lon_0=108\x20+k=1\x20+x_0=36500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0x30a,0xbdb),'+proj=tmerc\x20+lat_0=0\x20+lon_0=111\x20+k=1\x20+x_0=37500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0x18e7)]('EPSG:4526','+proj=tmerc\x20+lat_0=0\x20+lon_0=114\x20+k=1\x20+x_0=38500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4527',_0x54a7f1(0x2a9,-0x5d9)),proj4[_0x7afdbe(0x773,0x1077)](_0x7afdbe(0x14ee,0xf7b),_0x7afdbe(0x2175,0x1734)),proj4[_0x54a7f1(0xe49,0x14aa)](_0x7afdbe(0x10f3,0x7be),'+proj=tmerc\x20+lat_0=0\x20+lon_0=123\x20+k=1\x20+x_0=41500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4530',_0x54a7f1(0xe89,0x147a)),proj4['defs']('EPSG:4531','+proj=tmerc\x20+lat_0=0\x20+lon_0=129\x20+k=1\x20+x_0=43500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4532','+proj=tmerc\x20+lat_0=0\x20+lon_0=132\x20+k=1\x20+x_0=44500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0x1c81,0x170e),_0x54a7f1(0x10a4,0x717)),proj4['defs'](_0x54a7f1(0xb37,0x1049),'+proj=tmerc\x20+lat_0=0\x20+lon_0=75\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4503','+proj=tmerc\x20+lat_0=0\x20+lon_0=81\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0x8f2,0x1077)]('EPSG:4504','+proj=tmerc\x20+lat_0=0\x20+lon_0=87\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4505','+proj=tmerc\x20+lat_0=0\x20+lon_0=93\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4506',_0x54a7f1(0xfd9,0x14ac)),proj4['defs']('EPSG:4507','+proj=tmerc\x20+lat_0=0\x20+lon_0=105\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4508',_0x7afdbe(0xcdc,0x1462)),proj4['defs']('EPSG:4509','+proj=tmerc\x20+lat_0=0\x20+lon_0=117\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0x66b)](_0x7afdbe(0x1c3f,0x170f),'+proj=tmerc\x20+lat_0=0\x20+lon_0=123\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0xf89,0x1077)]('EPSG:4511',_0x54a7f1(0x1640,0x14ca)),proj4['defs'](_0x54a7f1(0x14dc,0x1998),_0x54a7f1(0x658,0xbfd)),proj4['defs']('EPSG:4534','+proj=tmerc\x20+lat_0=0\x20+lon_0=75\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0xeb8)](_0x7afdbe(0x110c,0xe23),'+proj=tmerc\x20+lat_0=0\x20+lon_0=78\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4536','+proj=tmerc\x20+lat_0=0\x20+lon_0=81\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0x13eb,0x1610),_0x7afdbe(0x12bd,0xb43)),proj4['defs']('EPSG:4538','+proj=tmerc\x20+lat_0=0\x20+lon_0=87\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4539','+proj=tmerc\x20+lat_0=0\x20+lon_0=90\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0xcb5,0xa7d),'+proj=tmerc\x20+lat_0=0\x20+lon_0=93\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0x682)]('EPSG:4541',_0x7afdbe(0x662,0x655)),proj4['defs'](_0x54a7f1(0x5d5,0xe19),'+proj=tmerc\x20+lat_0=0\x20+lon_0=99\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0x10dd,0xd71),_0x54a7f1(0x1290,0xbfa)),proj4[_0x7afdbe(0x10d3,0x1077)]('EPSG:4544','+proj=tmerc\x20+lat_0=0\x20+lon_0=105\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x7afdbe(0x1924,0xe6e),_0x7afdbe(0x10e2,0x127c)),proj4['defs'](_0x54a7f1(0x10e5,0x9fa),'+proj=tmerc\x20+lat_0=0\x20+lon_0=111\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0x14f5,0x1077)]('EPSG:4547','+proj=tmerc\x20+lat_0=0\x20+lon_0=114\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0x1508)](_0x54a7f1(0xb39,0x7ad),_0x54a7f1(0x746,0xd33)),proj4['defs'](_0x7afdbe(0x1718,0x1031),'+proj=tmerc\x20+lat_0=0\x20+lon_0=120\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x7afdbe(0x16a3,0x1077)]('EPSG:4550','+proj=tmerc\x20+lat_0=0\x20+lon_0=123\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4551',_0x7afdbe(0x1e9c,0x176c)),proj4['defs'](_0x7afdbe(0x67f,0x48f),'+proj=tmerc\x20+lat_0=0\x20+lon_0=129\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x54a7f1(0xe49,0x39d)](_0x54a7f1(0x789,0x103d),_0x7afdbe(0x1a7a,0xfae)),proj4['defs']('EPSG:4554','+proj=tmerc\x20+lat_0=0\x20+lon_0=135\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['getCrsList']=()=>{const _0x3c8ea9={_0x1e48e2:0x1087},_0x2a28aa=[];function _0x1d227f(_0x36a870,_0x584fef){return _0x54a7f1(_0x36a870- -0x361,_0x584fef);}for(const _0xafa0a in proj4['defs']){if(_0xafa0a[_0x1d227f(0x396,0x674)](_0xf995e3(0x187d,0x16fd))){const _0xa359a4={'crs':_0xafa0a,...proj4[_0xf995e3(0x1888,0xfc8)][_0xafa0a]};_0x2a28aa[_0xf995e3(0x1b2e,_0x3c8ea9._0x1e48e2)](_0xa359a4);}}function _0xf995e3(_0x31b604,_0x3f4965){return _0x54a7f1(_0x3f4965-0x17f,_0x31b604);}return _0x2a28aa;};class BaseClass{constructor(_0x15cc2e){const _0x2e677f={_0x5b3d6f:0x9d0,_0x289cdf:0x64a};function _0x536361(_0xeaf6df,_0x2dca01){return _0x54a7f1(_0xeaf6df-0x6b,_0x2dca01);}this['options']=_0x15cc2e,this['_enabledEvent']=(_0x15cc2e===null||_0x15cc2e===void 0x0?void 0x0:_0x15cc2e[_0x536361(_0x2e677f._0x5b3d6f,_0x2e677f._0x289cdf)])??!![];}get['enabledEvent'](){function _0x11a9c7(_0x3c26e,_0x3a8142){return _0x54a7f1(_0x3a8142- -0x21,_0x3c26e);}return this[_0x11a9c7(0x654,0x454)];}set['enabledEvent'](_0x1a1f37){const _0x46b3ac={_0x217ccd:0x1a8},_0x121993={_0x10bbe7:0x530};function _0x513c5f(_0xe25c52,_0x5e83ee){return _0x7afdbe(_0xe25c52,_0x5e83ee- -_0x121993._0x10bbe7);}this[_0x513c5f(_0x46b3ac._0x217ccd,0x173)]=_0x1a1f37;}[_0x54a7f1(0x432,0x815)](_0xda8d22){if(!_0xda8d22)for(const _0x200e38 in this){delete this[_0x200e38];}}['on'](_0x2da7da,_0x56c0e6,_0x52ec2d){const _0x185469={_0x505326:0xb2};function _0xe8f1f6(_0x267bf2,_0x1c966d){return _0x54a7f1(_0x267bf2-_0x185469._0x505326,_0x1c966d);}if(!_0x2da7da)return logError('绑定事件时传入了空值',_0x56c0e6),this;function _0xff7faf(_0x37c89d,_0x27c59b){return _0x7afdbe(_0x37c89d,_0x27c59b- -0x17d);}if(Array['isArray'](_0x2da7da))for(let _0x10bcd9=0x0,_0x1a8a56=_0x2da7da[_0xff7faf(0x114f,0x1036)];_0x10bcd9<_0x1a8a56;_0x10bcd9++){this[_0xe8f1f6(0x1118,0x1408)](_0x2da7da[_0x10bcd9],_0x56c0e6,_0x52ec2d);}else{if(isObject(_0x2da7da))for(const _0x39447e in _0x2da7da){this['_on'](_0x39447e,_0x2da7da[_0x39447e],_0x56c0e6);}else{_0x2da7da=splitWords(_0x2da7da);for(let _0x3ad3f7=0x0,_0x2b1e84=_0x2da7da['length'];_0x3ad3f7<_0x2b1e84;_0x3ad3f7++){this['_on'](_0x2da7da[_0x3ad3f7],_0x56c0e6,_0x52ec2d);}}}return this['_onEventHook']&&this['_onEventHook'](_0x2da7da),this;}['off'](_0x5d3ae8,_0x4612b2,_0x502f98){const _0x30eb0b={_0xb859e4:0x33};if(!_0x5d3ae8)delete this['_events'];else{if(Array['isArray'](_0x5d3ae8))for(let _0x54b275=0x0,_0x23f1eb=_0x5d3ae8[_0x3b26ab(0xb86,0xf7f)];_0x54b275<_0x23f1eb;_0x54b275++){this['_off'](_0x5d3ae8[_0x54b275],_0x4612b2,_0x502f98);}else{if(isObject(_0x5d3ae8))for(const _0xc09c86 in _0x5d3ae8){this['_off'](_0xc09c86,_0x5d3ae8[_0xc09c86],_0x4612b2);}else{_0x5d3ae8=splitWords(_0x5d3ae8);for(let _0xa53099=0x0,_0x49c33f=_0x5d3ae8[_0xe42caa(0x907,0xf52)];_0xa53099<_0x49c33f;_0xa53099++){this['_off'](_0x5d3ae8[_0xa53099],_0x4612b2,_0x502f98);}}}}function _0x3b26ab(_0x4971e8,_0x2adf20){return _0x54a7f1(_0x2adf20- -0x6,_0x4971e8);}function _0xe42caa(_0x5e1c97,_0xe42ba1){return _0x54a7f1(_0xe42ba1- -_0x30eb0b._0xb859e4,_0x5e1c97);}return this;}['_on'](_0x436ead,_0x277bcd,_0x448784){const _0x2eb217={_0x3ada21:0x239,_0x598d08:0x7ec,_0x1cd789:0x14b9,_0x60caa2:0x1135,_0x2b3ba4:0xbf0,_0x1b8844:0x1135},_0x537142={_0x233777:0x241},_0x58e385={_0x3823e5:0x5c3};this[_0x14dd59(_0x2eb217._0x3ada21,0x72f)]=this['_events']||{};let _0x476993=this[_0x14dd59(0x239,-0x294)][_0x436ead];!_0x476993&&(_0x476993=[],this[_0x14dd59(_0x2eb217._0x3ada21,-_0x2eb217._0x598d08)][_0x436ead]=_0x476993);_0x448784===this&&(_0x448784=undefined);const _0x41fa1f={};_0x41fa1f['fn']=_0x277bcd,_0x41fa1f[_0x31b24a(_0x2eb217._0x1cd789,_0x2eb217._0x60caa2)]=_0x448784;const _0x281e21=_0x41fa1f;function _0x14dd59(_0x183dc9,_0x678686){return _0x7afdbe(_0x678686,_0x183dc9- -_0x58e385._0x3823e5);}function _0x31b24a(_0x104a24,_0x323131){return _0x54a7f1(_0x323131-_0x537142._0x233777,_0x104a24);}const _0x6d49da=_0x476993;for(let _0x22f97e=0x0,_0x261402=_0x6d49da[_0x14dd59(_0x2eb217._0x2b3ba4,0x487)];_0x22f97e<_0x261402;_0x22f97e++){if(_0x6d49da[_0x22f97e]['fn']===_0x277bcd&&_0x6d49da[_0x22f97e][_0x31b24a(0x1650,_0x2eb217._0x1b8844)]===_0x448784)return;}_0x6d49da['push'](_0x281e21);}['_off'](_0x17524f,_0x1776f0,_0x58df52){const _0x4c4f48={_0x25f44a:0x94e,_0x259c7a:0x1d3,_0x1fb3f1:0x1022,_0x49897c:0xb10},_0xcb95cf={_0x957284:0x3fb};let _0x2e3376,_0x4eaa5d,_0x5aa667;if(!this[_0x52ad2f(0x1d3,_0x4c4f48._0x25f44a)])return;_0x2e3376=this[_0x52ad2f(_0x4c4f48._0x259c7a,0xa99)][_0x17524f];if(!_0x2e3376)return;if(!_0x1776f0){for(_0x4eaa5d=0x0,_0x5aa667=_0x2e3376['length'];_0x4eaa5d<_0x5aa667;_0x4eaa5d++){_0x2e3376[_0x4eaa5d]['fn']=falseFn;}delete this['_events'][_0x17524f];return;}function _0x52ad2f(_0x45cf94,_0x307db2){return _0x54a7f1(_0x45cf94- -_0xcb95cf._0x957284,_0x307db2);}function _0x510f20(_0x13d5ee,_0xceab30){return _0x7afdbe(_0x13d5ee,_0xceab30- -0x304);}_0x58df52===this&&(_0x58df52=undefined);if(_0x2e3376)for(_0x4eaa5d=0x0,_0x5aa667=_0x2e3376['length'];_0x4eaa5d<_0x5aa667;_0x4eaa5d++){const _0x2ef11d=_0x2e3376[_0x4eaa5d];if(_0x2ef11d[_0x510f20(_0x4c4f48._0x1fb3f1,0xe1e)]!==_0x58df52)continue;if(_0x2ef11d['fn']===_0x1776f0){_0x2ef11d['fn']=falseFn;this[_0x510f20(_0x4c4f48._0x49897c,0x13f2)]&&(this['_events'][_0x17524f]=_0x2e3376=_0x2e3376['slice']());_0x2e3376['splice'](_0x4eaa5d,0x1);return;}}}[_0x7afdbe(0xc39,0x10e6)](_0x5ef066,_0x46bc99,_0x1200f0){const _0x1fd6bb={_0x3817ad:0x6d6,_0x2d16d6:0xf37,_0x1dabb5:0x1bf1},_0xee208c={_0xce9f8e:0x1fe};if(!this['listens'](_0x5ef066,_0x1200f0)||!this['enabledEvent'])return this;const _0x1ae23f={'sourceTarget':this,..._0x46bc99};function _0x5b2202(_0x48c049,_0x5962e4){return _0x54a7f1(_0x5962e4- -0x429,_0x48c049);}_0x1ae23f['type']=_0x5ef066,_0x1ae23f['target']=this,_0x1ae23f['stopPropagation']=function(){this['_stopPropagation']=!![];};const _0x40e635=_0x1ae23f;if(_0x46bc99!==null&&_0x46bc99!==void 0x0&&_0x46bc99['cloneProperty']){const _0x1258ee=[_0x4136a5(_0x1fd6bb._0x3817ad,_0x1fd6bb._0x2d16d6)];_0x1258ee['forEach'](function(_0x410e25){const _0x24ea98=Object['getOwnPropertyDescriptor'](_0x46bc99,_0x410e25);_0x24ea98&&Object['defineProperty'](_0x40e635,_0x410e25,_0x24ea98);});}if(this['_events']){const _0x437f86=this['_events'][_0x5ef066];if(_0x437f86){this['_firingCount']=this['_firingCount']+0x1||0x1;for(let _0x3e1a0e=0x0,_0x137399=_0x437f86['length'];_0x3e1a0e<_0x137399;_0x3e1a0e++){const _0x9fb548=_0x437f86[_0x3e1a0e];_0x9fb548['fn']['call'](_0x9fb548[_0x5b2202(0x6b7,0xacb)]||this,_0x40e635);}this[_0x4136a5(0x16c6,0x1db5)]--;}}function _0x4136a5(_0x1c06da,_0x4e46b6){return _0x54a7f1(_0x1c06da-_0xee208c._0xce9f8e,_0x4e46b6);}return _0x1200f0&&!_0x40e635['_stopPropagation']&&this[_0x4136a5(0x118a,_0x1fd6bb._0x1dabb5)](_0x40e635),this;}['listens'](_0x2ab253,_0x269ae2){const _0x363f34={_0x269c3f:0x4b1,_0x36daf8:0x37f,_0x2fe48f:0xcd7,_0x270b0d:0x91a},_0x27aaa6=this[_0x4a5d5a(-0x434,_0x363f34._0x269c3f)]&&this['_events'][_0x2ab253];function _0x10832(_0x3ca4b1,_0x584c99){return _0x54a7f1(_0x584c99- -0x2ae,_0x3ca4b1);}if(_0x27aaa6&&_0x27aaa6[_0x10832(_0x363f34._0x36daf8,_0x363f34._0x2fe48f)])return!![];function _0x4a5d5a(_0x4fbf74,_0x3fd810){return _0x7afdbe(_0x4fbf74,_0x3fd810- -0x34b);}if(_0x269ae2)for(const _0x7062b in this[_0x10832(0x190,0x508)]){if(this[_0x10832(0xf3a,0x508)][_0x7062b][_0x10832(0x656,_0x363f34._0x270b0d)](_0x2ab253,_0x269ae2))return!![];}return![];}['once'](_0x2b9584,_0x2c6cfd,_0x4c5e0f){if(isObject(_0x2b9584)){for(const _0x534afb in _0x2b9584){this['once'](_0x534afb,_0x2b9584[_0x534afb],_0x2c6cfd);}return this;}const _0x29da04=bind(()=>{this['off'](_0x2b9584,_0x2c6cfd,_0x4c5e0f)['off'](_0x2b9584,_0x29da04,_0x4c5e0f);},this);return this['on'](_0x2b9584,_0x2c6cfd,_0x4c5e0f)['on'](_0x2b9584,_0x29da04,_0x4c5e0f);}['addEventParent'](_0xb8fbb2){const _0xdf681f={_0x57660d:0x14d,_0x4f9e3a:0x722};this[_0x1de481(-_0xdf681f._0x57660d,_0xdf681f._0x4f9e3a)]=this['_eventParents']||{};function _0x1de481(_0x11abbe,_0x1dce2f){return _0x54a7f1(_0x1dce2f- -0x94,_0x11abbe);}function _0x6558c5(_0xff1cce,_0x15f81f){return _0x7afdbe(_0xff1cce,_0x15f81f- -0x480);}return this[_0x6558c5(0x656,0x564)][stampGlobalId(_0xb8fbb2)]=_0xb8fbb2,this;}[_0x7afdbe(0x129b,0x7d1)](_0x568c9c){this['_eventParents']&&delete this[_0x5f5d60(0x103d,0x99a)][stampGlobalId(_0x568c9c)];function _0x5f5d60(_0x1a8829,_0x571e76){return _0x7afdbe(_0x1a8829,_0x571e76- -0x4a);}return this;}['hasEventParent'](_0x2e90fb){return this['_eventParents']&&this['_eventParents'][stampGlobalId(_0x2e90fb)]?!![]:![];}[_0x7afdbe(0x162e,0x11ba)](_0x503475){const _0x40b79b={_0x27439b:0xa05,_0x2876ba:0xf3f,_0x5c2816:0x654};function _0x58a34c(_0x412b12,_0x2f4d31){return _0x54a7f1(_0x412b12- -0x1e2,_0x2f4d31);}function _0x286d4b(_0x1fc0f9,_0x2cdaf9){return _0x54a7f1(_0x1fc0f9- -0x4b3,_0x2cdaf9);}for(const _0xefa32 in this['_eventParents']){const _0x426293=this[_0x286d4b(0x303,-0x54)][_0xefa32];if(this['_filterPropagateEvent'](_0x426293,_0x503475)){const _0x6ca3ee={'layer':_0x503475['target'],'propagatedFrom':_0x503475['target'],..._0x503475},_0x4e1a51=_0x6ca3ee;_0x426293[_0x286d4b(_0x40b79b._0x27439b,_0x40b79b._0x2876ba)](_0x503475[_0x58a34c(_0x40b79b._0x5c2816,-0x1b0)],_0x4e1a51,!![]);}}}[_0x7afdbe(0x39e,0x6c2)](_0x190e1e,_0x57297d){return!![];}}function falseFn(){return![];}function bind(_0x3d96a6,_0xee4339){const _0x456055={_0xd7676c:0x91},_0x3fcd98=Array['prototype']['slice'];function _0x24e613(_0x4def73,_0x35a29b){return _0x54a7f1(_0x35a29b-_0x456055._0xd7676c,_0x4def73);}if(_0x3d96a6['bind'])return _0x3d96a6[_0x24e613(0x4ba,0x364)]['apply'](_0x3d96a6,_0x3fcd98['call'](arguments,0x1));const _0x5c2b87=_0x3fcd98['call'](arguments,0x2);return function(){return _0x3d96a6['apply'](_0xee4339,_0x5c2b87['length']?_0x5c2b87['concat'](_0x3fcd98['call'](arguments)):arguments);};}const _0x15f1ed={};_0x15f1ed[_0x7afdbe(0x1f63,0x1561)]=_0x7afdbe(0xf22,0x116d),_0x15f1ed[_0x7afdbe(0x5d8,0x6cc)]='add',_0x15f1ed[_0x54a7f1(0xd28,0x66a)]='added',_0x15f1ed['REMOVED']='removed',_0x15f1ed['DESTROY']='destroy';const State=_0x15f1ed,_0x4d57ac={};_0x4d57ac[_0x7afdbe(0xa89,0x8be)]='add',_0x4d57ac['remove']=_0x7afdbe(0x99b,0x9bc),_0x4d57ac[_0x54a7f1(0xe66,0x13c9)]='addItem',_0x4d57ac['removeItem']=_0x54a7f1(0x8a0,0x593),_0x4d57ac['addGraphic']='addGraphic',_0x4d57ac['removeGraphic']=_0x54a7f1(0x3e9,-0x31d),_0x4d57ac[_0x54a7f1(0x16c6,0x1394)]='addLayer',_0x4d57ac[_0x54a7f1(0xf5d,0x168d)]='removeLayer',_0x4d57ac['changeBasemap']=_0x7afdbe(0x1b4b,0x190e),_0x4d57ac['addControl']='addControl',_0x4d57ac['removeControl']=_0x54a7f1(0xffa,0x15ee);function _0x7afdbe(_0x198523,_0x97248d){const _0x3aeade={_0xde5e74:0x355};return _0x536c(_0x97248d-_0x3aeade._0xde5e74,_0x198523);}_0x4d57ac['updateControl']='updateControl',_0x4d57ac[_0x54a7f1(0x1308,0x1153)]=_0x54a7f1(0x1308,0x172d),_0x4d57ac[_0x7afdbe(-0x262,0x84d)]='removeEffect',_0x4d57ac[_0x7afdbe(0x575,0xb6d)]='update',_0x4d57ac['updatePosition']=_0x7afdbe(0xcf2,0x99e),_0x4d57ac[_0x7afdbe(0xc79,0xbc3)]=_0x54a7f1(0x995,-0x10a),_0x4d57ac['updateAttr']='updateAttr',_0x4d57ac['show']='show',_0x4d57ac['hide']='hide',_0x4d57ac['start']=_0x7afdbe(0x891,0xb59),_0x4d57ac['change']='change',_0x4d57ac['startItem']='startItem',_0x4d57ac[_0x7afdbe(0x19fc,0x10a6)]=_0x54a7f1(0xe78,0x448),_0x4d57ac[_0x7afdbe(0x13a7,0x921)]='end',_0x4d57ac['stop']='stop',_0x4d57ac[_0x54a7f1(0x115f,0xca1)]=_0x7afdbe(0x12a8,0x138d),_0x4d57ac['clusterItemChange']=_0x54a7f1(0x665,0xc29),_0x4d57ac['zoom']='zoom',_0x4d57ac['loadBefore']='loadBefore',_0x4d57ac[_0x54a7f1(0x537,0x627)]='load',_0x4d57ac['error']='error',_0x4d57ac[_0x54a7f1(0x62f,0x903)]='loadConfig',_0x4d57ac['popupOpen']=_0x54a7f1(0x1707,0x1a3e),_0x4d57ac['popupClose']='popupClose',_0x4d57ac['popupRender']='popupRender',_0x4d57ac['tooltipOpen']='tooltipOpen',_0x4d57ac['tooltipClose']='tooltipClose',_0x4d57ac['tooltipRender']='tooltipRender',_0x4d57ac['contextMenuOpen']='contextMenuOpen',_0x4d57ac['contextMenuClose']=_0x54a7f1(0x5cd,0xbb6),_0x4d57ac['contextMenuClick']=_0x7afdbe(0x1263,0x14dd),_0x4d57ac[_0x54a7f1(0x978,0xc3c)]=_0x54a7f1(0x978,0xd9d),_0x4d57ac['highlightClose']='highlightClose',_0x4d57ac['click']='click',_0x4d57ac['clickGraphic']=_0x7afdbe(0x502,0x9ef),_0x4d57ac[_0x54a7f1(0x71a,0xa3d)]='clickTileGraphic',_0x4d57ac['clickMap']=_0x54a7f1(0xba8,0x79f),_0x4d57ac['dblClick']='dblClick',_0x4d57ac[_0x54a7f1(0xd2a,0x1098)]='leftDown',_0x4d57ac[_0x54a7f1(0x73b,-0x287)]='leftUp',_0x4d57ac[_0x7afdbe(0x62a,0xda3)]=_0x54a7f1(0xb75,0x1076),_0x4d57ac[_0x54a7f1(0x86d,0x35f)]='mouseMoveTarget',_0x4d57ac['wheel']='wheel',_0x4d57ac['rightClick']='rightClick',_0x4d57ac['rightDown']=_0x7afdbe(0x147b,0xa6b),_0x4d57ac[_0x7afdbe(0xc25,0xe0c)]=_0x7afdbe(0x17ec,0xe0c),_0x4d57ac['middleClick']='middleClick',_0x4d57ac['middleDown']='middleDown',_0x4d57ac[_0x7afdbe(0x153f,0x160c)]=_0x54a7f1(0x13de,0xd8d),_0x4d57ac['pinchStart']='pinchStart',_0x4d57ac[_0x54a7f1(0x14f9,0x12ed)]='pinchEnd',_0x4d57ac['pinchMove']=_0x54a7f1(0x1041,0x1437),_0x4d57ac['mouseDown']='mouseDown',_0x4d57ac['mouseUp']=_0x7afdbe(0xae8,0xa44),_0x4d57ac['mouseOver']='mouseOver',_0x4d57ac['mouseOut']='mouseOut',_0x4d57ac['keydown']='keydown',_0x4d57ac[_0x54a7f1(0xfe8,0xcd1)]=_0x54a7f1(0xfe8,0x1578),_0x4d57ac['drawStart']='drawStart',_0x4d57ac['drawMouseMove']='drawMouseMove',_0x4d57ac[_0x54a7f1(0x8b2,0x9d)]='drawAddPoint',_0x4d57ac['drawRemovePoint']='drawRemovePoint',_0x4d57ac[_0x54a7f1(0x159d,0x16a2)]='drawCreated',_0x4d57ac[_0x7afdbe(0xf47,0x862)]=_0x7afdbe(0x8f9,0x862),_0x4d57ac['editMouseDown']=_0x7afdbe(0x170,0xab2),_0x4d57ac['editMouseMove']='editMouseMove',_0x4d57ac[_0x7afdbe(0xc65,0x763)]='editMovePoint',_0x4d57ac[_0x54a7f1(0x2c7,0x816)]='editAddPoint',_0x4d57ac[_0x54a7f1(0x16a5,0x1b9d)]=_0x54a7f1(0x16a5,0x20bb),_0x4d57ac['editStyle']='editStyle',_0x4d57ac['editStop']=_0x7afdbe(0x10e6,0xe5f),_0x4d57ac[_0x54a7f1(0x9b9,0x331)]='move',_0x4d57ac['initialTilesLoaded']=_0x7afdbe(0x1b0d,0x15da),_0x4d57ac[_0x7afdbe(0x737,0xe59)]=_0x54a7f1(0xc2b,0x677),_0x4d57ac['addTile']=_0x7afdbe(0xeb4,0x11e8),_0x4d57ac['addTileSuccess']=_0x7afdbe(0xfcc,0x1794),_0x4d57ac[_0x7afdbe(0x95a,0xe86)]=_0x54a7f1(0xc58,0x1016),_0x4d57ac['removeTile']='removeTile',_0x4d57ac[_0x7afdbe(0x113a,0xa28)]=_0x54a7f1(0x7fa,0x524),_0x4d57ac[_0x7afdbe(0x13bd,0x10cd)]='cameraMoveEnd',_0x4d57ac[_0x54a7f1(0xee9,0x135e)]='cameraChanged',_0x4d57ac['preUpdate']='preUpdate',_0x4d57ac['postUpdate']=_0x7afdbe(0xca9,0xb85),_0x4d57ac[_0x7afdbe(0xaab,0x10c5)]=_0x7afdbe(0x19b4,0x10c5),_0x4d57ac[_0x54a7f1(0x302,-0x2e0)]='postRender',_0x4d57ac[_0x7afdbe(-0x271,0x602)]='renderError',_0x4d57ac[_0x54a7f1(0x142d,0xe5b)]=_0x54a7f1(0x142d,0x15f0),_0x4d57ac[_0x7afdbe(0x23af,0x192b)]='morphComplete',_0x4d57ac['clockTick']='clockTick',_0x4d57ac['clockStop']='clockStop',_0x4d57ac[_0x54a7f1(0x2e3,0xaa)]='terrainChange',_0x4d57ac['terrainLoadError']=_0x54a7f1(0x1449,0x17e0),_0x4d57ac['terrainLoadSuccess']=_0x7afdbe(0xbc3,0x108e),_0x4d57ac['tileLoadProgress']='tileLoadProgress';const EventType=_0x4d57ac;class BaseThing extends BaseClass{constructor(_0x4949ba={}){const _0x141266={_0x5dafbe:0x56c},_0xe1227f={_0x19e723:0x45a};isBoolean(_0x4949ba)&&(_0x4949ba={'enabled':_0x4949ba});super(_0x4949ba),this[_0x2988fd(0x26b,_0x141266._0x5dafbe)]=_0x4949ba['id']??createGuid(),this['_enabled']=_0x4949ba['enabled']??!![];function _0x2988fd(_0x21394e,_0x1db658){return _0x54a7f1(_0x21394e- -_0xe1227f._0x19e723,_0x1db658);}this['_state']=State['INITIALIZED'],this['options']=_0x4949ba;}get[_0x54a7f1(0x836,0x869)](){return this['_type'];}set['type'](_0xb5dbcf){this['_type']=_0xb5dbcf;}get['state'](){const _0x2862fe={_0x361a73:0x43e},_0x1ec288={_0x1c469c:0x1b4};function _0x26cae9(_0x8e7892,_0x3ecf1a){return _0x54a7f1(_0x8e7892-_0x1ec288._0x1c469c,_0x3ecf1a);}return this[_0x26cae9(_0x2862fe._0x361a73,0x79d)];}get[_0x54a7f1(0x823,0x12ec)](){const _0x10626d={_0x137694:0xaa5,_0x430ce7:0x52f};function _0x52465d(_0x15f73a,_0x18e818){return _0x7afdbe(_0x15f73a,_0x18e818-0x77);}return this[_0x52465d(_0x10626d._0x137694,_0x10626d._0x430ce7)]===State['ADDED'];}get['isDestroy'](){function _0x1ea378(_0x1a8513,_0xd10c37){return _0x54a7f1(_0x1a8513- -0xd1,_0xd10c37);}function _0x2c70e8(_0xb892bd,_0x4db085){return _0x7afdbe(_0x4db085,_0xb892bd-0x82);}return this[_0x1ea378(0x1b9,0x18e)]===State[_0x1ea378(0x8da,0x22)]||!this['options'];}get['id'](){const _0x52a174={_0x7fa011:0x26d};function _0x2c694e(_0x3617d2,_0x8a6a9a){return _0x7afdbe(_0x3617d2,_0x8a6a9a- -_0x52a174._0x7fa011);}return this[_0x2c694e(0xf46,0x686)];}set['id'](_0x57f1e9){const _0x53b446={_0x276e93:0x96e};function _0x51d6fc(_0x1c2a6d,_0x4c2fdb){return _0x7afdbe(_0x4c2fdb,_0x1c2a6d- -0x170);}this[_0x51d6fc(_0x53b446._0x276e93,0xb8c)]['id']=_0x57f1e9;}get[_0x7afdbe(0xccf,0xdd1)](){return this['_enabled'];}set['enabled'](_0x35f57e){const _0x46322f={_0x4b3d0c:0x77e,_0x42d8c2:0x6b},_0x125f6b={_0x2ed191:0xd0};function _0x1d5fe7(_0x517ebd,_0x583e24){return _0x54a7f1(_0x517ebd-_0x125f6b._0x2ed191,_0x583e24);}if(this[_0x2157cb(0xa81,0xad6)]===_0x35f57e)return;function _0x2157cb(_0xe0ee88,_0x295eed){return _0x54a7f1(_0x295eed- -0x24,_0xe0ee88);}this['_enabled']=_0x35f57e,this[_0x1d5fe7(_0x46322f._0x4b3d0c,-_0x46322f._0x42d8c2)]&&this['_enabledHook'](_0x35f57e);}[_0x54a7f1(0x101a,0xdc7)](_0x4f081a){return _0x4f081a&&_0x4f081a['addThing']&&_0x4f081a['addThing'](this),this;}['remove'](_0xe693f2){const _0x4e3a56={_0x452b69:0x5e2};function _0x3ac3cf(_0x5b15b8,_0x2cc138){return _0x7afdbe(_0x5b15b8,_0x2cc138- -0x14f);}function _0x26c39a(_0xb741d9,_0x26415b){return _0x54a7f1(_0x26415b- -0x1f1,_0xb741d9);}this[_0x26c39a(0xd4,_0x4e3a56._0x452b69)]&&this['_map'][_0x3ac3cf(0x1026,0x16c9)](this,_0xe693f2);}['_onAdd'](_0xb864b8){const _0x4cbd85={_0x4d6d78:0xf37,_0x4bb33e:0x930,_0x329c58:0x432,_0x52a128:0x8e0,_0x9a5849:0x6b7,_0x1dfb98:0xbc7,_0x686dd7:0xed3,_0x1f7c81:0x16f9,_0x389f66:0xdba,_0x500b5d:0x10a1},_0xdb779={_0x1b91f2:0x32c};function _0x2b58db(_0x54b8ea,_0x4c52ab){return _0x54a7f1(_0x4c52ab-0x10d,_0x54b8ea);}var _0x3e230;if(this[_0x2b58db(_0x4cbd85._0x4d6d78,_0x4cbd85._0x4bb33e)]||this[_0x356f8b(0x18c,0x91f)]===State['ADD'])return;this[_0x2b58db(_0x4cbd85._0x329c58,0x397)]=State['ADD'],this[_0x2b58db(0x1106,_0x4cbd85._0x52a128)]=_0xb864b8;if(this[_0x356f8b(0x7b2,0x174)][_0x2b58db(_0x4cbd85._0x9a5849,0xeae)])this['addEventParent'](this['options']['eventParent']);else{if(((_0x3e230=this[_0x356f8b(0x7b2,_0x4cbd85._0x1dfb98)])===null||_0x3e230===void 0x0?void 0x0:_0x3e230['eventParent'])===![]);else this['addEventParent'](_0xb864b8);}this[_0x2b58db(0x7c1,0x398)]&&!this['_createOK']&&(this['_mountedHook'](),this[_0x2b58db(0xe97,0xa7d)]=!![]);function _0x356f8b(_0x3f84ca,_0x40e950){return _0x7afdbe(_0x40e950,_0x3f84ca- -_0xdb779._0x1b91f2);}this[_0x356f8b(_0x4cbd85._0x686dd7,0x1296)]&&this[_0x356f8b(0xed3,_0x4cbd85._0x1f7c81)](),this[_0x2b58db(0x172c,0x122e)]&&this['_addedHook'](),this['_state']=State[_0x2b58db(0x16b6,0xe35)],this[_0x356f8b(_0x4cbd85._0x389f66,_0x4cbd85._0x500b5d)](EventType[_0x2b58db(0x7b0,0x79d)]);}['_onRemove'](){const _0x1eb4ae={_0x3403c9:0xdd9,_0x494fed:0xce,_0xcae945:0xa1f,_0x5b8b75:0x1103,_0x1d7f85:0xd71,_0x903781:0x1539,_0x5cc5f3:0x29a,_0x2b4c3e:0x7a3},_0x2dca5e={_0x103a92:0x499};var _0x10223,_0x2446c3;if(this['_state']!==State[_0x2b46a0(0xcf8,_0x1eb4ae._0x3403c9)])return;if(!this[_0x4e682e(-_0x1eb4ae._0x494fed,0x568)])return;this['_removedBaseHook']&&this['_removedBaseHook'](),this[_0x2b46a0(_0x1eb4ae._0xcae945,0x10d1)]&&this[_0x4e682e(-0x43,0x7e4)](),this['_state']=State['REMOVED'];function _0x4e682e(_0x553f05,_0x5e4539){return _0x7afdbe(_0x553f05,_0x5e4539- -_0x2dca5e._0x103a92);}this['fire'](EventType['remove']);if((_0x10223=this[_0x2b46a0(0x880,_0x1eb4ae._0x5b8b75)])!==null&&_0x10223!==void 0x0&&_0x10223[_0x2b46a0(0xd71,0x105f)])this[_0x4e682e(0x7ae,0x338)](this['options'][_0x2b46a0(_0x1eb4ae._0x1d7f85,_0x1eb4ae._0x903781)]);else{if(((_0x2446c3=this[_0x2b46a0(0x880,_0x1eb4ae._0x5cc5f3)])===null||_0x2446c3===void 0x0?void 0x0:_0x2446c3['eventParent'])===![]);else this['removeEventParent'](this[_0x2b46a0(_0x1eb4ae._0x2b4c3e,0x351)]);}function _0x2b46a0(_0x1c8804,_0x26b8c1){return _0x54a7f1(_0x1c8804- -0x30,_0x26b8c1);}this['_map']=null;}['_mountedHook'](){}['_addedHook'](){}['_removedHook'](){}['setOptions'](_0x4fb071){const _0x1f47d2={_0x2fa0aa:0x634,_0x3af487:0x17f2},_0x51b50d={_0x3f839c:0x4aa};function _0x3d72fc(_0x1a68b2,_0x482f8a){return _0x7afdbe(_0x482f8a,_0x1a68b2- -_0x51b50d._0x3f839c);}if(!_0x4fb071||Object['keys'](_0x4fb071)['length']===0x0)return this;this[_0x3d72fc(_0x1f47d2._0x2fa0aa,0x40f)]=merge(this['options'],_0x4fb071);Cesium__namespace['defined'](_0x4fb071['enabled'])&&(this['enabled']=_0x4fb071['enabled']);function _0x213331(_0x4bde19,_0xc205ec){return _0x7afdbe(_0x4bde19,_0xc205ec- -0x72b);}return this['_setOptionsHook']&&this[_0x213331(_0x1f47d2._0x3af487,0x125a)](this['options'],_0x4fb071),this;}['toJSON'](){const _0x4a5e25={_0x25dcf7:0xfb0,_0x3411fd:0x5a2,_0x4145d3:0x75d,_0x372556:0x990,_0x372b2c:0xb71},_0x3e6962={_0x28d12c:0x307},_0x5c7795=clone(this['options'],[_0x1bea96(0xbe2,_0x4a5e25._0x25dcf7),_0x1bea96(0xec4,0x98d)]);function _0x119d88(_0x55226c,_0x417b30){return _0x7afdbe(_0x55226c,_0x417b30- -_0x3e6962._0x28d12c);}_0x5c7795[_0x1bea96(-_0x4a5e25._0x3411fd,0x422)]=this[_0x119d88(0x1011,_0x4a5e25._0x4145d3)];function _0x1bea96(_0xa41b36,_0x233709){return _0x7afdbe(_0xa41b36,_0x233709- -0x642);}this['enabled']===![]&&(_0x5c7795['enabled']=this['enabled']);this[_0x1bea96(0xdd1,0x10aa)]&&(_0x5c7795['availability']=this['availability']);this[_0x119d88(0xd52,0xa54)]&&this['_toJsonEx'](_0x5c7795);for(const _0x498bf6 in _0x5c7795){const _0x8a0209=_0x5c7795[_0x498bf6];(!Cesium__namespace['defined'](_0x8a0209)||isObject(_0x8a0209)&&Object[_0x119d88(0x43f,0x74b)](_0x8a0209)[_0x1bea96(_0x4a5e25._0x372556,_0x4a5e25._0x372b2c)]===0x0)&&delete _0x5c7795[_0x498bf6];}return _0x5c7795;}[_0x7afdbe(0xfad,0x660)](_0x255728){const _0x1937d1={_0x1f9e90:0x1a38,_0x545d23:0x177},_0x450ac2={_0x2457d2:0x16c};this['_state']!==State[_0x2d59e7(0x10ee,_0x1937d1._0x1f9e90)]&&(this['clear']&&this['clear'](),this['remove']());function _0x2d59e7(_0x4d1fcf,_0x43c746){return _0x54a7f1(_0x4d1fcf-_0x450ac2._0x2457d2,_0x43c746);}super[_0x2d59e7(0x59e,-_0x1937d1._0x545d23)](_0x255728);function _0x14d3f2(_0x91b475,_0x5a431a){return _0x54a7f1(_0x5a431a- -0x36f,_0x91b475);}this['_state']=State['DESTROY'];}}class GroupThing extends BaseThing{constructor(_0x44b847={}){const _0x141e29={_0x428b17:0xa86};super(_0x44b847);function _0x10a1a5(_0x26362e,_0x33e9d3){return _0x7afdbe(_0x26362e,_0x33e9d3-0x15);}this[_0x10a1a5(0xb4f,_0x141e29._0x428b17)]=[];}get['arrThing'](){const _0x516ef8={_0x1d688c:0x4c7};function _0x4c1d33(_0x50f2ad,_0x1fcd78){return _0x7afdbe(_0x1fcd78,_0x50f2ad- -0x21);}return this[_0x4c1d33(0xa50,_0x516ef8._0x1d688c)];}get['hasEmptyGroup'](){return this['length']===0x0;}get['hasChildThing'](){return this['length']>0x0;}get[_0x7afdbe(0x1c46,0x11b3)](){const _0x4c4e52={_0x50aecb:0x79f},_0x27b5f4={_0x12c475:0x9b};function _0x805fda(_0x5571a4,_0x1311e2){return _0x7afdbe(_0x5571a4,_0x1311e2- -0x4c2);}var _0x4e1ae0;function _0x499f70(_0x5c4af1,_0x2e118f){return _0x54a7f1(_0x5c4af1-_0x27b5f4._0x12c475,_0x2e118f);}return((_0x4e1ae0=this['options'][_0x499f70(0x1843,0x18d6)])===null||_0x4e1ae0===void 0x0?void 0x0:_0x4e1ae0['length'])>0x0?this['options'][_0x499f70(0x1843,0xeb6)]['length']:this[_0x805fda(_0x4c4e52._0x50aecb,0x5af)]['length'];}[_0x54a7f1(0x6ae,0x603)](_0x16c9ad){const _0x45c9bd={_0xd2a68a:0x6aa};this['eachThing'](_0x49fc0=>{function _0x16d3a4(_0x4008f1,_0x7b5f5a){return _0x536c(_0x4008f1- -0x3d2,_0x7b5f5a);}_0x49fc0[_0x16d3a4(_0x45c9bd._0xd2a68a,0x85a)]=_0x16c9ad;},this);}['_addedHook'](){function _0x265f8e(_0x505ead,_0x4b9583){return _0x54a7f1(_0x505ead-0x28e,_0x4b9583);}this[_0x265f8e(0x1461,0xe06)]();}['_removedHook'](){this['removeMapChilds']();}['addChildsToMap'](){const _0x3c7a48={_0x25754b:0x4ef},_0x330966={_0x48f154:0x1711},_0x461608={_0x4a1afe:0x231};function _0x5c102a(_0x3f6889,_0x5eadd7){return _0x7afdbe(_0x5eadd7,_0x3f6889-0x5a);}this[_0x5c102a(0x8f7,_0x3c7a48._0x25754b)](_0x2c3aaa=>{function _0x3ad30b(_0x25b19d,_0x2c4b09){return _0x5c102a(_0x2c4b09- -_0x461608._0x4a1afe,_0x25b19d);}this['_map'][_0x3ad30b(_0x330966._0x48f154,0x107e)](_0x2c3aaa);},this);}['removeMapChilds'](){const _0x2dd6dd={_0x30ee81:0x1c8},_0xeaeff1={_0x2d8ab7:0x1127,_0x3c9a05:0xf6e},_0x574beb={_0x1edc34:0x454};function _0x3b7845(_0x4458f7,_0x107fc0){return _0x7afdbe(_0x4458f7,_0x107fc0- -_0x574beb._0x1edc34);}this[_0x3b7845(-_0x2dd6dd._0x30ee81,0x449)](_0x1fb631=>{function _0x401151(_0x2d9e1d,_0x430fbf){return _0x3b7845(_0x430fbf,_0x2d9e1d- -0x29d);}this['_map'][_0x401151(_0xeaeff1._0x2d8ab7,_0xeaeff1._0x3c9a05)](_0x1fb631);},this);}['addThing'](_0x451bbf){const _0x6820fd={_0x4de315:0x6ac,_0x1b419d:0x45f},_0x250dfe={_0x45b2fa:0x18d};function _0x1fbbff(_0x30da0b,_0x20ba5c){return _0x7afdbe(_0x20ba5c,_0x30da0b- -0x5a2);}_0x451bbf['parent']&&(_0x451bbf['removeEventParent'](_0x451bbf['parent']),_0x451bbf['parent']=null);_0x451bbf['parent']=this;function _0xe2af8(_0x19cd3a,_0x20114d){return _0x54a7f1(_0x19cd3a-_0x250dfe._0x45b2fa,_0x20114d);}return _0x451bbf['options']['eventParent']=this,this['_arrThing']['push'](_0x451bbf),this['isAdded']&&!_0x451bbf['isAdded']?this['_map'][_0x1fbbff(0xcb3,_0x6820fd._0x4de315)](_0x451bbf):(_0x451bbf[_0x1fbbff(0x22f,0xcb9)](this[_0x1fbbff(_0x6820fd._0x1b419d,-0x1b6)]),_0x451bbf['addEventParent'](this)),this;}['removeThing'](_0x5b1f8d){const _0x769710={_0xee4204:0x17e1,_0x51a18a:0xaba,_0x337303:0x132a};_0x5b1f8d[_0x46763e(0x163b,_0x769710._0xee4204)]=null;function _0x46763e(_0x445ae2,_0x1476ea){return _0x7afdbe(_0x1476ea,_0x445ae2-0x49);}_0x5b1f8d[_0x46763e(0x81a,0x5b3)](this);function _0x510242(_0x26db47,_0x5d0b2c){return _0x54a7f1(_0x5d0b2c-0x67,_0x26db47);}return removeArrayItem(this[_0x46763e(_0x769710._0x51a18a,_0x769710._0x337303)],_0x5b1f8d),this['_map']&&_0x5b1f8d['isAdded']&&this['_map']['removeThing'](_0x5b1f8d),this;}['eachThing'](_0x4c3aec,_0x172d8d){const _0x121c2f={_0x4888c7:0x9a1};function _0x3cb45c(_0x1bd68b,_0x1268aa){return _0x54a7f1(_0x1268aa- -0x276,_0x1bd68b);}if(!this['_arrThing'])return;this[_0x1adfcc(0x102a,_0x121c2f._0x4888c7)][_0x3cb45c(0xd56,0x3cf)](_0x24852c=>{_0x4c3aec['call'](_0x172d8d,_0x24852c);});function _0x1adfcc(_0x5c24a3,_0x202d77){return _0x7afdbe(_0x5c24a3,_0x202d77- -0xd0);}return this;}['getThings'](){const _0x2213d9={_0x50295d:0xda,_0x1feedc:0x417};function _0x5d0661(_0x2f3460,_0x2ed8fc){return _0x54a7f1(_0x2ed8fc- -0x42c,_0x2f3460);}return this[_0x5d0661(_0x2213d9._0x50295d,_0x2213d9._0x1feedc)];}['getInMapChilds'](){const _0x2f65bb={_0xeb5c09:0x879,_0xfb2acc:0x328},_0x46ee84={_0xf22485:0x444},_0x4c1dd9={_0x4b21af:0x187a,_0x5b0851:0x165b};function _0xab1898(_0x3a4b6b,_0x5d4d57){return _0x7afdbe(_0x5d4d57,_0x3a4b6b- -0x47d);}const _0x1c2440=this[_0xd60c4b(0x62d,_0x2f65bb._0xeb5c09)]||[];this['_map'][_0xab1898(0x420,_0x2f65bb._0xfb2acc)](_0x4c8589=>{const _0x27d613={_0x17687e:0x10e};if(_0x4c8589[_0x3eab33(_0x4c1dd9._0x4b21af,_0x4c1dd9._0x5b0851)]!==this['id'])return;if(this['_arrThing']['indexOf'](_0x4c8589)!==-0x1)return;function _0x3eab33(_0x5cff0a,_0x45b0b1){return _0xab1898(_0x45b0b1-_0x27d613._0x17687e,_0x5cff0a);}_0x1c2440['push'](_0x4c8589);},this);function _0xd60c4b(_0x481c45,_0x22ab5a){return _0x7afdbe(_0x22ab5a,_0x481c45- -_0x46ee84._0xf22485);}return _0x1c2440;}[_0x54a7f1(0xae4,0x824)](_0x4df965){const _0x49c572={_0x5ec800:0x4ef,_0xdbfcb3:0x8df,_0x211e50:0xdac,_0x22c9fd:0xc31,_0x5b9a64:0x10aa};function _0x5f0c0e(_0x4e7bac,_0x4fa806){return _0x54a7f1(_0x4e7bac- -0x354,_0x4fa806);}function _0x53b029(_0x5822f6,_0x464c53){return _0x7afdbe(_0x464c53,_0x5822f6- -0x192);}const _0x2c19d8=this[_0x5f0c0e(_0x49c572._0x5ec800,0xbc6)];if(!this[_0x53b029(_0x49c572._0xdbfcb3,_0x49c572._0x211e50)]||this[_0x53b029(0x8df,0xf7)]['length']===0x0)return;for(let _0x46716e=0x0,_0x17c113=_0x2c19d8[_0x5f0c0e(_0x49c572._0x22c9fd,_0x49c572._0x5b9a64)];_0x46716e<_0x17c113;_0x46716e++){const _0x30507d=_0x2c19d8[_0x46716e];if(_0x30507d['id']===_0x4df965)return _0x30507d;}return undefined;}['destroy'](_0x5a9ddb){const _0x469bfe={_0x47da2b:0x2cf};function _0x717e5d(_0x1979d3,_0x10f900){return _0x54a7f1(_0x1979d3- -_0x469bfe._0x47da2b,_0x10f900);}this[_0x717e5d(0x3a0,0x355)](_0x227e7b=>{_0x227e7b!==null&&_0x227e7b!==void 0x0&&_0x227e7b['destroy']&&_0x227e7b['destroy'](_0x5a9ddb);},this),super['destroy'](_0x5a9ddb);}}var GroundSkyBoxFS='uniform\x20samplerCube\x20u_cubeMap;\x0ain\x20vec3\x20v_texCoord;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20color\x20=\x20czm_textureCube(u_cubeMap,\x20normalize(v_texCoord));\x0a\x20\x20out_FragColor\x20=\x20vec4(czm_gammaCorrect(color).rgb,\x20czm_morphTime);\x0a}\x0a',GroundSkyBoxVS='in\x20vec3\x20position;\x0auniform\x20mat3\x20u_rotateMatrix;\x0aout\x20vec3\x20v_texCoord;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20p\x20=\x20czm_viewRotation\x20*\x20u_rotateMatrix\x20*\x20(czm_temeToPseudoFixed\x20*\x20(czm_entireFrustum.y\x20*\x20position));\x0a\x20\x20gl_Position\x20=\x20czm_projection\x20*\x20vec4(p,\x201.0);\x0a\x20\x20v_texCoord\x20=\x20position.xyz;\x0a}\x0a';class GroundSkyBox extends Cesium__namespace[_0x7afdbe(0x516,0x54e)]{constructor(_0x3bb123){const _0x4676d6={_0x46dadf:0xf87};super(_0x3bb123);function _0x5a7cb7(_0x14c1b3,_0x66d11e){return _0x54a7f1(_0x14c1b3-0x12b,_0x66d11e);}function _0x4c4ed7(_0x24f6b4,_0x41f92c){return _0x7afdbe(_0x24f6b4,_0x41f92c- -0x734);}this[_0x5a7cb7(0xfaa,_0x4676d6._0x46dadf)]=new Cesium__namespace['Matrix3'](),this[_0x5a7cb7(0x10d9,0x7e1)]=_0x3bb123[_0x5a7cb7(0x388,0x19e)]??0x38270;}[_0x54a7f1(0x93f,0x7a)](_0x5c2be4,_0x522271){const _0x11068c={_0x5e2a4a:0x404,_0x2b54b4:0x14d8,_0xdf1a75:0x67e,_0x541dc1:0x3ce,_0x410fb5:0x53,_0x33d399:0x1a3f,_0x20c74f:0x1277,_0x4c198d:0x1228,_0x8b27e0:0x1224,_0x58df6f:0x199a,_0x345d8b:0x4a1,_0x4b0add:0x25e,_0x4950a6:0x11da,_0x2827f9:0xa31,_0x3be07f:0x338,_0x2a35eb:0xa31,_0x2a0362:0x135f,_0x582d8f:0x116a,_0x328ff0:0x1a9,_0x11889d:0x7cc,_0x54fba3:0x3a3,_0x272d3a:0x8f3,_0x2202f0:0x298,_0x47912a:0x137b,_0x440581:0xfa,_0x445fa9:0x176c,_0x1f5958:0x1464,_0x451688:0x435,_0x3240a7:0x6d7,_0x2e99ae:0x1e8,_0x3a896a:0x367},_0x26d120={_0x59e6c0:0x165,_0x533a46:0x901,_0x1cb9d6:0x217,_0x54032c:0x705,_0x146002:0x10f4,_0x27fb2b:0x736};var _0x2ced82;const _0x43a761=this;if(!this[_0x594d1e(0x1a97,0x1564)])return undefined;function _0x594d1e(_0x331aa7,_0x3b78af){return _0x7afdbe(_0x331aa7,_0x3b78af- -0x2bd);}const _0x572c56=(_0x2ced82=_0x5c2be4[_0x594d1e(-0x524,0x4cc)])===null||_0x2ced82===void 0x0||(_0x2ced82=_0x2ced82[_0x1f18ee(0x7f0,0xf20)])===null||_0x2ced82===void 0x0?void 0x0:_0x2ced82['height'];if(Cesium__namespace['defined'](_0x572c56)&&_0x572c56>this['_maxHeight'])return undefined;if(_0x5c2be4[_0x594d1e(-0x76,_0x11068c._0x5e2a4a)]!==Cesium__namespace['SceneMode'][_0x594d1e(0x119f,_0x11068c._0x2b54b4)]&&_0x5c2be4['mode']!==Cesium__namespace['SceneMode']['MORPHING'])return undefined;if(!_0x5c2be4['passes']['render'])return undefined;const _0x491c01=_0x5c2be4[_0x1f18ee(_0x11068c._0xdf1a75,0xc9e)];if(this['_sources']!==this[_0x594d1e(-0x2b8,_0x11068c._0x541dc1)]){this['_sources']=this[_0x1f18ee(_0x11068c._0x410fb5,-0x3c6)];const _0x117425=this['sources'];if(!Cesium__namespace['defined'](_0x117425['positiveX'])||!Cesium__namespace[_0x1f18ee(0x1277,_0x11068c._0x33d399)](_0x117425[_0x594d1e(0x162b,0xc05)])||!Cesium__namespace[_0x1f18ee(_0x11068c._0x20c74f,0x196d)](_0x117425['positiveY'])||!Cesium__namespace[_0x594d1e(_0x11068c._0x4c198d,0x15f2)](_0x117425[_0x1f18ee(_0x11068c._0x8b27e0,_0x11068c._0x58df6f)])||!Cesium__namespace['defined'](_0x117425['positiveZ'])||!Cesium__namespace['defined'](_0x117425['negativeZ']))throw new Cesium__namespace['DeveloperError'](_0x594d1e(_0x11068c._0x345d8b,_0x11068c._0x4b0add));if(typeof _0x117425[_0x594d1e(0x11a9,0xdac)]!==typeof _0x117425['negativeX']||typeof _0x117425['positiveX']!==typeof _0x117425[_0x594d1e(_0x11068c._0x4950a6,0x1175)]||typeof _0x117425['positiveX']!==typeof _0x117425['negativeY']||typeof _0x117425['positiveX']!==typeof _0x117425['positiveZ']||typeof _0x117425[_0x1f18ee(_0x11068c._0x2827f9,_0x11068c._0x3be07f)]!==typeof _0x117425[_0x1f18ee(0xf7f,0xcc4)])throw new Cesium__namespace['DeveloperError']('this.sources\x20properties\x20must\x20all\x20be\x20the\x20same\x20type.');if(typeof _0x117425[_0x1f18ee(_0x11068c._0x2a35eb,_0x11068c._0x2a0362)]===_0x594d1e(0x1a22,_0x11068c._0x582d8f))Cesium__namespace['loadCubeMap'](_0x491c01,this['_sources'])[_0x1f18ee(_0x11068c._0x328ff0,-0x3e4)](function(_0x568b8b){_0x43a761[_0xe9eb16(-0x380,0x1f5)]=_0x43a761[_0x3fff3c(0x2fe,-0x78e)]&&_0x43a761['_cubeMap']['destroy']();function _0xe9eb16(_0x7260d2,_0x556738){return _0x1f18ee(_0x556738-0x1e9,_0x7260d2);}function _0x3fff3c(_0x4f2b3d,_0x10197e){return _0x1f18ee(_0x4f2b3d-0x2f2,_0x10197e);}_0x43a761['_cubeMap']=_0x568b8b;});else{this['_cubeMap']=this['_cubeMap']&&this['_cubeMap'][_0x594d1e(_0x11068c._0x11889d,_0x11068c._0x54fba3)]();const _0x54dd00={};_0x54dd00[_0x594d1e(_0x11068c._0x272d3a,0x9f9)]=_0x491c01,_0x54dd00[_0x594d1e(0x141d,0x1623)]=_0x117425,this[_0x594d1e(_0x11068c._0x2202f0,0x387)]=new Cesium__namespace['CubeMap'](_0x54dd00);}}const _0xfea72c=this['_command'];function _0x1f18ee(_0x559b3b,_0x4681f9){return _0x54a7f1(_0x559b3b- -0x40a,_0x4681f9);}if(!Cesium__namespace['defined'](_0xfea72c['vertexArray'])){_0xfea72c['uniformMap']={'u_cubeMap':()=>{return _0x43a761['_cubeMap'];},'u_rotateMatrix':()=>{function _0x2bb230(_0x1bbb47,_0x782391){return _0x1f18ee(_0x782391-0x3a2,_0x1bbb47);}function _0xd0b520(_0x3d139c,_0xc57055){return _0x594d1e(_0x3d139c,_0xc57055-0x26a);}return _0xfea72c[_0xd0b520(-_0x26d120._0x59e6c0,_0x26d120._0x533a46)]=Cesium__namespace[_0x2bb230(-_0x26d120._0x1cb9d6,_0x26d120._0x54032c)][_0x2bb230(_0x26d120._0x146002,0x1232)](_0x5c2be4[_0xd0b520(0x7,_0x26d120._0x27fb2b)]['_positionWC']),Cesium__namespace['Matrix4'][_0x2bb230(0xd46,0x11c4)](_0xfea72c['modelMatrix'],this['_skyboxMatrix3']);}};const _0x1f94d7=Cesium__namespace['BoxGeometry'][_0x594d1e(0xaca,0x268)](Cesium__namespace[_0x594d1e(0xe8f,0x4c3)]['fromDimensions']({'dimensions':new Cesium__namespace['Cartesian3'](0x2,0x2,0x2),'vertexFormat':Cesium__namespace['VertexFormat'][_0x594d1e(0x1ede,0x14e4)]})),_0x36f276=this['_attributeLocations']=Cesium__namespace[_0x1f18ee(_0x11068c._0x47912a,0x1365)][_0x1f18ee(-0x3d,-0x7f8)](_0x1f94d7);_0xfea72c[_0x1f18ee(0x3e,-_0x11068c._0x440581)]=Cesium__namespace[_0x594d1e(0x142f,0xb42)]['fromGeometry']({'context':_0x491c01,'geometry':_0x1f94d7,'attributeLocations':_0x36f276,'bufferUsage':Cesium__namespace[_0x594d1e(_0x11068c._0x445fa9,_0x11068c._0x1f5958)]['STATIC_DRAW']}),_0xfea72c['renderState']=Cesium__namespace[_0x594d1e(_0x11068c._0x451688,_0x11068c._0x3240a7)]['fromCache']({'blending':Cesium__namespace[_0x594d1e(0x9b3,0x854)]['ALPHA_BLEND']});}if(!Cesium__namespace['defined'](_0xfea72c[_0x1f18ee(0x1e8,-0x364)])||this['_useHdr']!==_0x522271){const _0x26db23={};_0x26db23['defines']=[_0x522271?_0x594d1e(0xafd,0x68f):''],_0x26db23['sources']=[GroundSkyBoxFS];const _0x48e7a9=new Cesium__namespace[(_0x594d1e(0x10b3,0xbea))](_0x26db23),_0x10c2f2={};_0x10c2f2['context']=_0x491c01,_0x10c2f2['vertexShaderSource']=GroundSkyBoxVS,_0x10c2f2['fragmentShaderSource']=_0x48e7a9,_0x10c2f2['attributeLocations']=this['_attributeLocations'],_0xfea72c[_0x1f18ee(_0x11068c._0x2e99ae,-_0x11068c._0x3a896a)]=Cesium__namespace['ShaderProgram']['fromCache'](_0x10c2f2),this['_useHdr']=_0x522271;}if(!Cesium__namespace[_0x1f18ee(0x1277,0x9fc)](this['_cubeMap']))return undefined;return _0xfea72c;}}var MultipleSkyBoxFS=_0x7afdbe(0x1d23,0x148e),MultipleSkyBoxVS='in\x20vec3\x20position;\x0aout\x20vec3\x20v_texCoord;\x0auniform\x20mat3\x20u_rotateMatrix;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20pMars3D\x20=\x20czm_viewRotation\x20*\x20u_rotateMatrix\x20*\x20(czm_temeToPseudoFixed\x20*\x20(czm_entireFrustum.y\x20*\x20position));\x0a\x20\x20gl_Position\x20=\x20czm_projection\x20*\x20vec4(pMars3D,\x201.0);\x0a\x20\x20v_texCoord\x20=\x20position.xyz;\x0a}\x0a';class MultipleSkyBox extends Cesium__namespace[_0x7afdbe(0xb5c,0x54e)]{constructor(_0x208dfb){const _0x1ddf93={_0x32e935:0x343,_0x2708e1:0x232,_0x5e3bff:0x7c1,_0x531283:0x1bc2},_0x220e51={_0x28fe39:0x1b};super(_0x208dfb);function _0x4d812b(_0x118e26,_0x4f4777){return _0x7afdbe(_0x118e26,_0x4f4777- -0x393);}this[_0x4d812b(0x16f2,0xd91)]=_0x208dfb[_0x146497(0xf11,0x19d1)],this[_0x4d812b(0x1654,0x1060)]=_0x208dfb['sources3'],this[_0x4d812b(0x51a,0x558)]=undefined,this[_0x4d812b(-_0x1ddf93._0x32e935,0x53b)]=undefined,this[_0x4d812b(-0x3c9,_0x1ddf93._0x2708e1)]=undefined,this[_0x146497(_0x1ddf93._0x5e3bff,0xa99)]=undefined,this['_skyboxMatrix3']=new Cesium__namespace[(_0x4d812b(_0x1ddf93._0x531283,0x12ab))]();function _0x146497(_0x484330,_0x370274){return _0x54a7f1(_0x484330-_0x220e51._0x28fe39,_0x370274);}this['select']=_0x208dfb['select']||0x0;}[_0x54a7f1(0x93f,0xafa)](_0x4ca9f9,_0x505400){const _0x367ee8={_0x251ea0:0x11a9,_0x26ffeb:0x307,_0x434c3d:0xf52,_0x51dff2:0x1eb,_0x8a20c3:0x788,_0x536cf4:0x4fa,_0x314a64:0x15d,_0x10c161:0xbf6,_0x13a770:0x171e,_0x304e7b:0x132e,_0x12fcbd:0x123a,_0x32269d:0x10b,_0x19df75:0x38a,_0x2b3f28:0x1277,_0x2da6f0:0xb3b,_0x296c27:0x123a,_0x43e642:0xb3b,_0x8d646b:0x75a,_0x3d32d9:0x7b6,_0x49f1f9:0x339,_0x3c9814:0x116,_0x58e435:0x476,_0x2bdbe6:0x434,_0x294a43:0x1ce,_0x35bca4:0x518,_0x876f6a:0x4cf,_0xcf214e:0xb25,_0x1cde12:0x4c8,_0x8605ec:0x1ab5,_0x3380a7:0xb3,_0x4ab8cc:0x1337,_0x2926aa:0x1900,_0xfed8dc:0x1381,_0x4022d4:0x1384,_0x234e8f:0xd22,_0x276dc3:0xc3d,_0x5e5bb2:0x1f1,_0x2b174c:0x1ea7,_0x4512ca:0x218,_0x491e53:0x533,_0x4a1086:0x127,_0x11f21a:0x1b6f},_0x430ab1={_0x5f42c7:0x1b03,_0x84a9c7:0xeb7,_0x252372:0x616,_0x5a6018:0xf56},_0x216953={_0x421bd3:0x656},_0x22f36b={_0x14543c:0x15a,_0x561949:0x85a},_0x1bb554={_0xa70281:0x86a},_0x339ba2={_0x1b5c91:0x191},_0x1279fb={_0x3655ac:0x300},_0x5f2c39=this;if(!this[_0x450439(0x12f3,_0x367ee8._0x251ea0)])return undefined;if(_0x4ca9f9['mode']!==Cesium__namespace[_0x450439(0x5d2,-_0x367ee8._0x26ffeb)][_0x450439(0x1267,_0x367ee8._0x434c3d)]&&_0x4ca9f9[_0x56e074(0x530,0x84)]!==Cesium__namespace[_0x450439(0x5d2,_0x367ee8._0x51dff2)]['MORPHING'])return undefined;function _0x450439(_0x2e780d,_0x38043f){return _0x54a7f1(_0x2e780d- -_0x1279fb._0x3655ac,_0x38043f);}function _0x56e074(_0x21c307,_0xe99941){return _0x7afdbe(_0xe99941,_0x21c307- -_0x339ba2._0x1b5c91);}if(!_0x4ca9f9['passes']['render'])return undefined;const _0x30fa04=_0x4ca9f9[_0x450439(_0x367ee8._0x8a20c3,-0x19d)];if(this[_0x56e074(0xd93,0x69b)]!==this[_0x56e074(_0x367ee8._0x536cf4,0xf10)]){this['_sources']=this['sources'];const _0x5c8ba6=this[_0x450439(_0x367ee8._0x314a64,-0x423)];this['_sources2']=this[_0x450439(0xbf6,0xa30)];const _0x1de333=this[_0x450439(_0x367ee8._0x10c161,0x462)];this['_sources3']=this['sources3'];const _0x53e7c0=this['sources3'];if(!Cesium__namespace['defined'](_0x5c8ba6['positiveX'])||!Cesium__namespace['defined'](_0x5c8ba6['negativeX'])||!Cesium__namespace[_0x56e074(_0x367ee8._0x13a770,0x1811)](_0x5c8ba6['positiveY'])||!Cesium__namespace[_0x56e074(0x171e,0x1bc2)](_0x5c8ba6[_0x450439(_0x367ee8._0x304e7b,0x121a)])||!Cesium__namespace['defined'](_0x5c8ba6[_0x56e074(_0x367ee8._0x12fcbd,0xeed)])||!Cesium__namespace[_0x450439(0x1381,0xcbb)](_0x5c8ba6['negativeZ']))throw new Cesium__namespace[(_0x450439(0xb3a,_0x367ee8._0x32269d))](_0x56e074(_0x367ee8._0x19df75,-0x3f7));if(typeof _0x5c8ba6['positiveX']!==typeof _0x5c8ba6['negativeX']||typeof _0x5c8ba6['positiveX']!==typeof _0x5c8ba6['positiveY']||typeof _0x5c8ba6['positiveX']!==typeof _0x5c8ba6[_0x56e074(0x16cb,_0x367ee8._0x2b3f28)]||typeof _0x5c8ba6[_0x450439(_0x367ee8._0x2da6f0,0x1590)]!==typeof _0x5c8ba6[_0x56e074(_0x367ee8._0x296c27,0xb4c)]||typeof _0x5c8ba6[_0x450439(_0x367ee8._0x43e642,0x1080)]!==typeof _0x5c8ba6['negativeZ'])throw new Cesium__namespace['DeveloperError'](_0x450439(0x55c,0xd26));if(typeof _0x5c8ba6['positiveX']==='string')Cesium__namespace[_0x450439(0x9b7,0xe50)](_0x30fa04,this[_0x450439(0x9f6,0x6f1)])['then'](function(_0xde7941){_0x5f2c39[_0x1353b2(_0x1bb554._0xa70281,0x251)]=_0x5f2c39['_cubeMap']&&_0x5f2c39['_cubeMap']['destroy']();function _0x1353b2(_0x1d7623,_0x344de7){return _0x450439(_0x344de7-0x13b,_0x1d7623);}_0x5f2c39['_cubeMap']=_0xde7941;}),Cesium__namespace['loadCubeMap'](_0x30fa04,this[_0x56e074(_0x367ee8._0x8d646b,_0x367ee8._0x3d32d9)])['then'](function(_0x562197){function _0x37620e(_0x5a7047,_0x4b0d9a){return _0x56e074(_0x5a7047- -0x58e,_0x4b0d9a);}function _0x50942b(_0x117337,_0x2e0772){return _0x450439(_0x2e0772-0x47f,_0x117337);}_0x5f2c39[_0x37620e(-_0x22f36b._0x14543c,0x193)]=_0x5f2c39['_cubeMap2']&&_0x5f2c39['_cubeMap2']['destroy'](),_0x5f2c39[_0x37620e(-0x15a,-_0x22f36b._0x561949)]=_0x562197;}),Cesium__namespace['loadCubeMap'](_0x30fa04,this[_0x450439(0x3a0,0xe2b)])['then'](function(_0x498a94){function _0x1c929e(_0x275f2e,_0x21a22b){return _0x450439(_0x275f2e-0x109,_0x21a22b);}_0x5f2c39['_cubeMap3']=_0x5f2c39['_cubeMap3']&&_0x5f2c39[_0x1c929e(0x5af,0x573)]['destroy'](),_0x5f2c39['_cubeMap3']=_0x498a94;});else{this[_0x450439(0x116,0x5f9)]=this[_0x56e074(0x4b3,_0x367ee8._0x49f1f9)]&&this[_0x450439(_0x367ee8._0x3c9814,0xac0)][_0x56e074(0x4cf,_0x367ee8._0x58e435)]();const _0x1c074f={};_0x1c074f[_0x56e074(0xb25,0x1320)]=_0x30fa04,_0x1c074f['source']=_0x5c8ba6,this['_cubeMap']=new Cesium__namespace['CubeMap'](_0x1c074f),this[_0x56e074(_0x367ee8._0x2bdbe6,_0x367ee8._0x294a43)]=this[_0x56e074(0x434,0xb)]&&this['_cubeMap2']['destroy']();const _0x5b7782={};_0x5b7782['context']=_0x30fa04,_0x5b7782['source']=_0x1de333,this[_0x56e074(0x434,-_0x367ee8._0x35bca4)]=new Cesium__namespace[(_0x450439(0x7e7,0x8c0))](_0x5b7782),this[_0x56e074(0x843,0x7fb)]=this[_0x56e074(0x843,0x5d3)]&&this['_cubeMap3'][_0x56e074(_0x367ee8._0x876f6a,0xd58)]();const _0x1a1355={};_0x1a1355[_0x56e074(_0x367ee8._0xcf214e,_0x367ee8._0x1cde12)]=_0x30fa04,_0x1a1355[_0x450439(0x13b2,_0x367ee8._0x8605ec)]=_0x53e7c0,this['_cubeMap3']=new Cesium__namespace['CubeMap'](_0x1a1355);}}const _0x3c049e=this['_command'];_0x3c049e[_0x450439(0x426,-_0x367ee8._0x3380a7)]=Cesium__namespace['Transforms'][_0x56e074(_0x367ee8._0x4ab8cc,_0x367ee8._0x2926aa)](_0x4ca9f9['camera']['_positionWC']);if(!Cesium__namespace[_0x450439(_0x367ee8._0xfed8dc,0x10d3)](_0x3c049e['vertexArray'])){_0x3c049e['uniformMap']={'u_cubeMap':function(){return _0x5f2c39['_cubeMap'];},'u_cubeMap2':function(){function _0x2afbf9(_0x54d3d6,_0x3451b3){return _0x56e074(_0x3451b3-0x222,_0x54d3d6);}return _0x5f2c39[_0x2afbf9(0x239,_0x216953._0x421bd3)];},'u_cubeMap3':function(){return _0x5f2c39['_cubeMap3'];},'u_select':()=>{const _0xcf53ad={_0x1a4dd4:0x1ca};function _0x1371f0(_0x125c51,_0x1022db){return _0x450439(_0x1022db-_0xcf53ad._0x1a4dd4,_0x125c51);}return this[_0x1371f0(0x10cf,0x155d)];},'u_rotateMatrix':()=>{const _0x5d4719={_0x4cdbbb:0x3d7};function _0x2dab50(_0x2e60c3,_0x2f427b){return _0x450439(_0x2e60c3-_0x5d4719._0x4cdbbb,_0x2f427b);}_0x3c049e['modelMatrix']=Cesium__namespace[_0x2dab50(0x844,0x1225)][_0x3efe9b(_0x430ab1._0x5f42c7,0x1520)](_0x4ca9f9[_0x2dab50(0x632,0xfcd)][_0x3efe9b(_0x430ab1._0x84a9c7,_0x430ab1._0x252372)]);function _0x3efe9b(_0x356416,_0x11c883){return _0x56e074(_0x11c883-0x1e9,_0x356416);}return Cesium__namespace['Matrix4'][_0x2dab50(0x1303,0x1633)](_0x3c049e['modelMatrix'],this[_0x2dab50(_0x430ab1._0x5a6018,0x16ef)]);}};const _0xd38b16=Cesium__namespace['BoxGeometry']['createGeometry'](Cesium__namespace['BoxGeometry']['fromDimensions']({'dimensions':new Cesium__namespace[(_0x56e074(_0x367ee8._0x4022d4,0x1c17))](0x2,0x2,0x2),'vertexFormat':Cesium__namespace['VertexFormat']['POSITION_ONLY']})),_0x262946=this['_attributeLocations']=Cesium__namespace['GeometryPipeline']['createAttributeLocations'](_0xd38b16);_0x3c049e['vertexArray']=Cesium__namespace['VertexArray']['fromGeometry']({'context':_0x30fa04,'geometry':_0xd38b16,'attributeLocations':_0x262946,'bufferUsage':Cesium__namespace['BufferUsage'][_0x56e074(_0x367ee8._0x234e8f,_0x367ee8._0x276dc3)]}),_0x3c049e['renderState']=Cesium__namespace['RenderState']['fromCache']({'blending':Cesium__namespace['BlendingState'][_0x56e074(0xe47,0x1351)]});}if(!Cesium__namespace['defined'](_0x3c049e[_0x56e074(0x68f,-0x288)])||this['_useHdr']!==_0x505400){const _0x496eaf={};_0x496eaf['defines']=[_0x505400?'HDR':''],_0x496eaf['sources']=[MultipleSkyBoxFS];const _0x306583=new Cesium__namespace[(_0x450439(0x979,_0x367ee8._0x5e5bb2))](_0x496eaf),_0x445af5={};_0x445af5['context']=_0x30fa04,_0x445af5['vertexShaderSource']=MultipleSkyBoxVS,_0x445af5['fragmentShaderSource']=_0x306583,_0x445af5['attributeLocations']=this[_0x450439(0x1476,_0x367ee8._0x2b174c)],_0x3c049e[_0x56e074(0x68f,_0x367ee8._0x4512ca)]=Cesium__namespace['ShaderProgram'][_0x56e074(_0x367ee8._0x491e53,_0x367ee8._0x4a1086)](_0x445af5),this['_useHdr']=_0x505400;}if(!Cesium__namespace[_0x56e074(_0x367ee8._0x13a770,_0x367ee8._0x11f21a)](this[_0x56e074(0x4b3,0xd3d)]))return undefined;if(!Cesium__namespace['defined'](this[_0x450439(0x97,-0x7ad)]))return undefined;if(!Cesium__namespace['defined'](this['_cubeMap3']))return undefined;return _0x3c049e;}['isDestroyed'](){return![];}['destroy'](){const _0xdede92={_0x39b82d:0x4ad,_0x490085:0x7c,_0x31d99b:0x144,_0x562ed1:0x497,_0x462196:0x117,_0x14c1cd:0xfb,_0x40e13e:0x2f8};function _0x285d50(_0x528482,_0x5ce199){return _0x54a7f1(_0x528482-0x65,_0x5ce199);}const _0x3078f7=this['_command'];function _0x23823b(_0x45eceb,_0x4ae073){return _0x54a7f1(_0x4ae073- -0x4ae,_0x45eceb);}return _0x3078f7[_0x285d50(_0xdede92._0x39b82d,-0x4ee)]=_0x3078f7['vertexArray']&&_0x3078f7['vertexArray'][_0x23823b(-0xa23,-_0xdede92._0x490085)](),_0x3078f7['shaderProgram']=_0x3078f7[_0x23823b(0x2e9,_0xdede92._0x31d99b)]&&_0x3078f7['shaderProgram']['destroy'](),this['_cubeMap']=this['_cubeMap']&&this['_cubeMap'][_0x285d50(_0xdede92._0x562ed1,0x5f1)](),this['_cubeMap2']=this['_cubeMap2']&&this[_0x23823b(-0x9e4,-_0xdede92._0x462196)]['destroy'](),this[_0x23823b(-_0xdede92._0x14c1cd,_0xdede92._0x40e13e)]=this['_cubeMap3']&&this['_cubeMap3']['destroy'](),this['destroyObject'](this);}}class LocalWorldTransform{constructor(_0x35370f,_0x4bfa9a){const _0x5e3b2f={_0x2f3c26:0xe8f,_0x8f178e:0x160a};function _0x5efd80(_0x69e3fe,_0x33f87b){return _0x54a7f1(_0x33f87b-0x13a,_0x69e3fe);}_0x4bfa9a=_0x4bfa9a||Cesium__namespace[_0x5efd80(_0x5e3b2f._0x2f3c26,0x8a7)]['eastNorthUpToFixedFrame'];function _0x2d5d11(_0x5d99b6,_0x38310f){return _0x7afdbe(_0x38310f,_0x5d99b6- -0x34b);}this['_matrix']=_0x4bfa9a(_0x35370f),this[_0x2d5d11(0xf60,_0x5e3b2f._0x8f178e)]=Cesium__namespace['Matrix4']['inverseTransformation'](this[_0x2d5d11(0x4c1,-0x5ad)],new Cesium__namespace['Matrix4']());}['localToWorld'](_0x1c3b42,_0x49f5b2){const _0x4104bb={_0x239891:0x14e8,_0x43ef28:0x1382},_0x4688a6={_0x1bf454:0x36c};function _0x1b3ca4(_0x1c0aeb,_0xc880f2){return _0x7afdbe(_0xc880f2,_0x1c0aeb- -0x2d);}function _0x473ae4(_0x3c576a,_0xde114e){return _0x54a7f1(_0xde114e- -_0x4688a6._0x1bf454,_0x3c576a);}return!_0x49f5b2&&(_0x49f5b2=new Cesium__namespace[(_0x1b3ca4(_0x4104bb._0x239891,_0x4104bb._0x43ef28))]()),Cesium__namespace['Matrix4'][_0x473ae4(0x6a4,0x97d)](this['_matrix'],_0x1c3b42,_0x49f5b2),_0x49f5b2;}['worldToLocal'](_0x305ef0,_0x23bd79){const _0x182cea={_0x2cc72a:0x269};!_0x23bd79&&(_0x23bd79=new Cesium__namespace['Cartesian3']());Cesium__namespace['Matrix4']['multiplyByPoint'](this[_0x4f2de2(0xca5,_0x182cea._0x2cc72a)],_0x305ef0,_0x23bd79);function _0x4f2de2(_0x1a6c20,_0x406429){return _0x54a7f1(_0x1a6c20- -0x3d8,_0x406429);}return _0x23bd79;}}class MarsArray{constructor(){this['_array']=[],this['_hash']={};}get['length'](){return this['_array']['length'];}get[_0x7afdbe(0x19d8,0x137e)](){return this['_array'];}['contains'](_0x1b09d5){const _0x30300b={_0x2d9b13:0x134c,_0x2e1356:0x44a};function _0x1ee14b(_0x590953,_0x421e0b){return _0x54a7f1(_0x421e0b-0xf4,_0x590953);}if(!_0x1b09d5)return![];function _0x148b8a(_0x37d9de,_0x331ed5){return _0x54a7f1(_0x37d9de-0x29d,_0x331ed5);}return Cesium__namespace[_0x148b8a(0x191e,_0x30300b._0x2d9b13)](this[_0x148b8a(0x4bf,_0x30300b._0x2e1356)][_0x1b09d5]);}[_0x7afdbe(0x1344,0xfdf)](_0x38dbea,_0x2fe957){const _0x1e8b1d={_0x299e25:0x1e};function _0x432d03(_0x131a05,_0x356a83){return _0x7afdbe(_0x356a83,_0x131a05- -0x64d);}function _0x16eb06(_0x2a97d7,_0x191a52){return _0x54a7f1(_0x191a52-_0x1e8b1d._0x299e25,_0x2a97d7);}const _0x374dcf=this[_0x16eb06(-0x5ac,0x240)][_0x38dbea];_0x2fe957!==_0x374dcf&&(this[_0x16eb06(-0x2a3,0x7ac)](_0x38dbea),this['_hash'][_0x38dbea]=_0x2fe957,this['_array']['push'](_0x2fe957));}[_0x54a7f1(0xb2b,0x239)](){const _0x31b919={_0x58ae6b:0x4b2,_0x2aebf6:0x617,_0x2f0299:0xc5c,_0x372704:0x1256},_0x4f85d4={_0x10d68b:0x145};function _0xe75186(_0x3bb960,_0x3cf4c1){return _0x54a7f1(_0x3bb960- -_0x4f85d4._0x10d68b,_0x3cf4c1);}function _0x2e43e9(_0x457aca,_0x20e37a){return _0x7afdbe(_0x457aca,_0x20e37a- -0x65e);}return this[_0xe75186(_0x31b919._0x58ae6b,_0x31b919._0x2aebf6)]['length']>0x0?this[_0x2e43e9(0x30e,0x1c7)][this[_0xe75186(0x4b2,_0x31b919._0x2f0299)][_0xe75186(0xe40,_0x31b919._0x372704)]-0x1]:undefined;}['get'](_0x13bbde){return _0x13bbde?this['_hash'][_0x13bbde]:undefined;}['getByAttr'](_0x5594c3,_0x5a40f0='id',_0x35bcb0='options'){const _0x48e875={_0x36987e:0xe1c,_0x5bd3cf:0x593,_0x52ef3f:0x49b,_0x35953a:0x744};if(_0x5a40f0==='id'&&this[_0x579a54(_0x48e875._0x36987e,0x49b)][_0x5594c3])return this[_0x579a54(_0x48e875._0x5bd3cf,_0x48e875._0x52ef3f)][_0x5594c3];function _0xc23f04(_0x4325cc,_0x46ecba){return _0x54a7f1(_0x4325cc-0x28,_0x46ecba);}for(let _0x369202=0x0,_0x5d95f0=this[_0x579a54(0xd2e,0x870)]['length'];_0x369202<_0x5d95f0;_0x369202++){const _0x3738b6=this['_array'][_0x369202];if(_0x3738b6[_0x579a54(0x1ab,_0x48e875._0x35953a)])continue;if(_0x3738b6[_0x5a40f0]==_0x5594c3||_0x3738b6[_0x35bcb0]&&_0x3738b6[_0x35bcb0][_0x5a40f0]==_0x5594c3)return _0x3738b6;}function _0x579a54(_0x11409b,_0x5d7d2c){return _0x7afdbe(_0x11409b,_0x5d7d2c-0x4b);}return undefined;}[_0x7afdbe(0x134f,0x1256)](_0x5a840c,_0x4bccc9='id',_0x2b87a8=_0x7afdbe(0x15a3,0xade)){const _0x29cfdf={_0x3bee2d:0x374,_0x4ed595:0x371},_0x1b09ce=[];for(let _0xe26f7a=0x0,_0x1dd32f=this['_array']['length'];_0xe26f7a<_0x1dd32f;_0xe26f7a++){const _0x178c20=this[_0x932add(_0x29cfdf._0x3bee2d,0x27)][_0xe26f7a];if(_0x178c20[_0x29054e(_0x29cfdf._0x4ed595,0xc8e)])continue;(_0x178c20[_0x4bccc9]==_0x5a840c||_0x178c20[_0x2b87a8]&&_0x178c20[_0x2b87a8][_0x4bccc9]==_0x5a840c)&&_0x1b09ce['push'](_0x178c20);}function _0x932add(_0x22361d,_0x933e4e){return _0x54a7f1(_0x22361d- -0x283,_0x933e4e);}function _0x29054e(_0x5d031b,_0x49adad){return _0x7afdbe(_0x49adad,_0x5d031b- -0x388);}return _0x1b09ce;}['splitArr'](_0x3afb94){const _0xbe53ea={_0x120c70:0x6e4,_0x288ca9:0xeaf},_0x1fb70d=[];for(let _0x332cc1=0x0,_0x244677=this['_array']['length'];_0x332cc1<_0x244677;_0x332cc1+=_0x3afb94){_0x1fb70d['push'](this['_array'][_0x2df1ae(_0xbe53ea._0x120c70,_0xbe53ea._0x288ca9)](_0x332cc1,_0x332cc1+_0x3afb94));}function _0x2df1ae(_0x2ea863,_0x5a1c4e){return _0x7afdbe(_0x5a1c4e,_0x2ea863- -0x355);}return _0x1fb70d;}['remove'](_0x2e9452){const _0x2db901={_0xefb8d6:0xbb4,_0x2e5251:0x121,_0x585312:0x219b,_0x3cb190:0x15e},_0x5b0b01={_0x23e00b:0x571};if(!this['_hash'])return;const _0x20ac87=this[_0x4a8c9b(-_0x2db901._0xefb8d6,-_0x2db901._0x2e5251)][_0x2e9452];function _0x8aaa43(_0x11794d,_0x14d3d3){return _0x7afdbe(_0x11794d,_0x14d3d3-0x85);}function _0x4a8c9b(_0x3dcfc9,_0x250bfe){return _0x7afdbe(_0x3dcfc9,_0x250bfe- -_0x5b0b01._0x23e00b);}const _0x3f64e8=Cesium__namespace[_0x8aaa43(_0x2db901._0x585312,0x1934)](_0x20ac87);if(_0x3f64e8){const _0x5a79b2=this[_0x4a8c9b(_0x2db901._0x3cb190,0x2b4)];_0x5a79b2['splice'](_0x5a79b2['indexOf'](_0x20ac87),0x1),delete this['_hash'][_0x2e9452];}return _0x3f64e8;}['forEach'](_0x46b81f,_0x37c38a,_0x47a93f){const _0x499fab={_0x20ce9a:0x79e,_0x943d68:0x97c,_0x332281:0xfb5};function _0x17e7de(_0x23973e,_0x2748c4){return _0x7afdbe(_0x23973e,_0x2748c4- -0x1d8);}function _0x33f97c(_0x501709,_0x3b181e){return _0x54a7f1(_0x3b181e-0x17e,_0x501709);}if(_0x47a93f)for(let _0x2283e1=this['_array']['length']-0x1;_0x2283e1>=0x0;_0x2283e1--){const _0x43a8c4=this['_array'][_0x2283e1];_0x46b81f[_0x17e7de(_0x499fab._0x20ce9a,0x1107)](_0x37c38a||this,_0x43a8c4,_0x2283e1);}else for(let _0x13f9b4=0x0,_0x19a1a4=this[_0x33f97c(_0x499fab._0x943d68,0x775)]['length'];_0x13f9b4<_0x19a1a4;_0x13f9b4++){const _0x43468d=this['_array'][_0x13f9b4];_0x46b81f[_0x17e7de(_0x499fab._0x332281,0x1107)](_0x37c38a||this,_0x43468d,_0x13f9b4);}}['removeAll'](){const _0x3799b9=this['_array'];_0x3799b9['length']>0x0&&(this['_hash']={},_0x3799b9['length']=0x0);}[_0x54a7f1(0x432,0x347)](){const _0x5a2427={_0x520b46:0xc19,_0x2d6971:0x47d,_0x537c58:0xd09,_0x998933:0x245,_0x12fd37:0x1e1,_0x2a616b:0x4dc},_0x48bbea={_0x44e19b:0x47f};if(this['_array']['length']>0x0&&this['_array'][0x0][_0x1a1992(-0x9b8,0x80)]){this[_0x51b49e(0x53d,_0x5a2427._0x520b46)]=function(){};for(let _0x565a72=this['_array'][_0x1a1992(_0x5a2427._0x2d6971,0xbd3)]-0x1;_0x565a72>=0x0;_0x565a72--){const _0x586b36=this[_0x1a1992(_0x5a2427._0x537c58,_0x5a2427._0x998933)][_0x565a72];if(_0x586b36!==null&&_0x586b36!==void 0x0&&_0x586b36[_0x51b49e(_0x5a2427._0x12fd37,_0x5a2427._0x2a616b)])try{_0x586b36[_0x1a1992(0x990,0x80)]();}catch(_0x5740f7){logWarn('MarsArray\x20item.destroy\x20异常',_0x5740f7);}}}function _0x1a1992(_0x394d55,_0x45fa17){return _0x7afdbe(_0x394d55,_0x45fa17- -0x5e0);}this['removeAll']();function _0x51b49e(_0x421595,_0x58c486){return _0x7afdbe(_0x58c486,_0x421595- -_0x48bbea._0x44e19b);}for(const _0x3d2eaf in this){delete this[_0x3d2eaf];}}}class Texture3{constructor(_0x1671eb={}){const _0x74e7f5={_0x3db1cb:0x77b,_0xa7c367:0x779,_0x3e6943:0x249,_0x57e22d:0x1793,_0xa96112:0xc54,_0x3e39ee:0xce0,_0x259b3b:0x16e5,_0x4c9aac:0x44d,_0x22cafc:0x52d,_0x1f8e74:0x9d1,_0x5555a9:0x10f0,_0x5744ee:0x52d,_0x195414:0x954,_0x5cb036:0x11a6,_0x319c59:0x618,_0x319074:0x1e28,_0x412fcf:0xe79,_0x15559f:0x97b,_0x54c5e8:0x1256,_0xf06aaf:0xfcf,_0x4a1972:0x3e5,_0x3a5c34:0x1dab,_0x2acd4f:0x71d,_0x48386a:0x1553,_0x3f1f44:0xd1b,_0x2fdf9d:0x87f,_0x22aecd:0x389},_0x1badce={_0x2730c7:0x11c},_0x197ba2=_0x1671eb[_0x5832ec(0x13ae,0xd3e)],_0xc0ef96=_0x197ba2['_gl'],_0x5eee9c=_0x1671eb['source'];let _0x44df90=_0x1671eb['width'],_0x3417c2=_0x1671eb[_0x2e0671(_0x74e7f5._0x3db1cb,_0x74e7f5._0xa7c367)],_0x2cfc97=_0x1671eb[_0x5832ec(_0x74e7f5._0x3e6943,0x9d1)];Cesium__namespace['defined'](_0x5eee9c)&&(!Cesium__namespace[_0x2e0671(0x124c,_0x74e7f5._0x57e22d)](_0x44df90)&&(_0x44df90=Cesium__namespace['defaultValue'](_0x5eee9c['videoWidth'],_0x5eee9c[_0x2e0671(0x18bd,0x1669)])),!Cesium__namespace['defined'](_0x3417c2)&&(_0x3417c2=Cesium__namespace[_0x2e0671(_0x74e7f5._0xa96112,0x389)](_0x5eee9c[_0x5832ec(_0x74e7f5._0x3e39ee,0x1121)],_0x5eee9c[_0x5832ec(0xaaa,0x91d)])),!Cesium__namespace[_0x2e0671(_0x74e7f5._0x259b3b,_0x74e7f5._0x57e22d)](_0x2cfc97)&&(_0x2cfc97=Cesium__namespace[_0x5832ec(-_0x74e7f5._0x4c9aac,_0x74e7f5._0x22cafc)](_0x5eee9c['videoDepth'],_0x5eee9c[_0x5832ec(0x8d7,_0x74e7f5._0x1f8e74)])));if(!Cesium__namespace[_0x2e0671(0x1e22,0x1793)](_0x44df90)||!Cesium__namespace['defined'](_0x3417c2)||!Cesium__namespace['defined'](_0x2cfc97))throw new Cesium__namespace[(_0x5832ec(0x1a7f,_0x74e7f5._0x5555a9))]('options\x20requires\x20a\x20source\x20field\x20to\x20create\x20an\x20initialized\x20texture\x20or\x20width\x20or\x20height\x20and\x20depth\x20fields\x20to\x20create\x20a\x20blank\x20texture.');const _0x5f2fd7=Cesium__namespace[_0x5832ec(0x3d0,_0x74e7f5._0x5744ee)](_0x1671eb[_0x2e0671(0xba5,0xc38)],Cesium__namespace['PixelFormat'][_0x5832ec(-0x3a,0xa65)]),_0x1091fa=Cesium__namespace['defaultValue'](_0x1671eb[_0x5832ec(_0x74e7f5._0x195414,0x71a)],Cesium__namespace['PixelDatatype'][_0x2e0671(0xab1,0xcbc)]),_0x56a3aa=Cesium__namespace['PixelFormat']['toInternalFormat'](_0x5f2fd7,_0x1091fa,_0x197ba2),_0x395ce3=![],_0x3a065f=![];let _0x2a7405=0x4;Cesium__namespace['defined'](_0x5eee9c)&&Cesium__namespace[_0x2e0671(_0x74e7f5._0x5cb036,0x1793)](_0x5eee9c['arrayBufferView'])&&(_0x2a7405=Cesium__namespace['PixelFormat']['alignmentInBytes'](_0x5f2fd7,_0x1091fa,_0x44df90));const _0x4d6277=_0xc0ef96['TEXTURE_3D'],_0x553998=_0xc0ef96[_0x5832ec(0xc14,_0x74e7f5._0x319c59)]();_0xc0ef96['activeTexture'](_0xc0ef96['TEXTURE0']),_0xc0ef96['bindTexture'](_0x4d6277,_0x553998),_0xc0ef96['pixelStorei'](_0xc0ef96['UNPACK_ALIGNMENT'],_0x2a7405),_0xc0ef96['pixelStorei'](_0xc0ef96[_0x5832ec(0x1e2c,0x158d)],_0xc0ef96['NONE']),_0xc0ef96['pixelStorei'](_0xc0ef96['UNPACK_FLIP_Y_WEBGL'],_0x3a065f);if(Cesium__namespace['defined'](_0x5eee9c)&&Cesium__namespace['defined'](_0x5eee9c[_0x2e0671(_0x74e7f5._0x319074,0x1718)])){const _0x3824ec=_0x5eee9c['arrayBufferView'];_0xc0ef96[_0x5832ec(0xaa9,0x1313)](_0x4d6277,0x0,_0x56a3aa,_0x44df90,_0x3417c2,_0x2cfc97,0x0,_0x5f2fd7,Cesium__namespace['PixelDatatype']['toWebGLConstant'](_0x1091fa,_0x197ba2),_0x3824ec);}_0xc0ef96['bindTexture'](_0x4d6277,null);function _0x2e0671(_0x57a139,_0x48f358){return _0x7afdbe(_0x57a139,_0x48f358- -_0x1badce._0x2730c7);}const _0x3b85a5=texture3DSizeInBytes(_0x5f2fd7,_0x1091fa,_0x44df90,_0x3417c2,_0x2cfc97);this[_0x5832ec(_0x74e7f5._0x412fcf,_0x74e7f5._0x15559f)]=Cesium__namespace['createGuid'](),this['_context']=_0x197ba2,this[_0x2e0671(0x16fb,_0x74e7f5._0x54c5e8)]=_0x197ba2[_0x2e0671(0x1346,0x1256)];function _0x5832ec(_0x4ae1c5,_0x1d81c2){return _0x54a7f1(_0x1d81c2-0x2b6,_0x4ae1c5);}this[_0x5832ec(0xb1b,_0x74e7f5._0xf06aaf)]=_0x553998,this['_textureTarget']=_0x4d6277,this[_0x2e0671(_0x74e7f5._0x4a1972,0x3d3)]=_0x56a3aa,this[_0x5832ec(0xbad,0x829)]=_0x5f2fd7,this['_pixelDatatype']=_0x1091fa,this['_width']=_0x44df90,this[_0x5832ec(_0x74e7f5._0x3a5c34,0x130a)]=_0x3417c2,this['_depth']=_0x2cfc97,this[_0x5832ec(-0x28,_0x74e7f5._0x2acd4f)]=![],this[_0x2e0671(_0x74e7f5._0x48386a,0xd4e)]=_0x3b85a5,this[_0x2e0671(_0x74e7f5._0x3f1f44,0xf3d)]=_0x395ce3,this[_0x5832ec(0xef5,_0x74e7f5._0x2fdf9d)]=_0x3a065f,this[_0x5832ec(0x1c34,0x18c8)]=!![],this['_dimensions']=new Cesium__namespace['Cartesian3'](_0x44df90,_0x3417c2,_0x2cfc97),this['_sampler']=undefined,this['sampler']=Cesium__namespace[_0x2e0671(0xd04,_0x74e7f5._0x22aecd)](_0x1671eb[_0x2e0671(0x10a7,0x108c)],new Cesium__namespace['Sampler']());}get['id'](){return this['_id'];}get[_0x54a7f1(0xf7a,0x11cf)](){const _0x103682={_0x31c772:0x17cb},_0x12a500={_0xffde8e:0xfb};function _0x43455b(_0x1b9400,_0x4caa2c){return _0x54a7f1(_0x1b9400- -_0x12a500._0xffde8e,_0x4caa2c);}return this[_0x43455b(0xd10,_0x103682._0x31c772)];}set['sampler'](_0x10ef09){const _0x14a568={_0x180e16:0xb00,_0x3885ab:0xa87,_0x588d8a:0x117a,_0x585f1e:0xa7b,_0x41cc01:0x152,_0x393fd6:0x15d1,_0x456837:0x12ee,_0x2869b8:0xf24,_0x400574:0x9e1},_0x53c794={_0x4aa1cd:0x54e},_0x1da4dc=_0x10ef09[_0x8f9c4f(0x6de,_0x14a568._0x180e16)],_0x2d0c95=_0x10ef09[_0x8f9c4f(-0x355,-0x13)],_0x496b69=this['_context'],_0x25cc24=_0x496b69[_0x2f12e6(-0x684,0x1b9)],_0x2500df=this['_textureTarget'];function _0x8f9c4f(_0x49d300,_0x3f9290){return _0x7afdbe(_0x49d300,_0x3f9290- -0x658);}_0x25cc24[_0x2f12e6(0xf81,_0x14a568._0x3885ab)](_0x25cc24[_0x2f12e6(_0x14a568._0x588d8a,0x112b)]);function _0x2f12e6(_0x187cd6,_0x10f6f1){return _0x7afdbe(_0x187cd6,_0x10f6f1- -_0x53c794._0x4aa1cd);}_0x25cc24[_0x8f9c4f(0x4b6,_0x14a568._0x585f1e)](_0x2500df,this['_texture']),_0x25cc24[_0x8f9c4f(-0x8e,-_0x14a568._0x41cc01)](_0x2500df,_0x25cc24['TEXTURE_MIN_FILTER'],_0x1da4dc),_0x25cc24['texParameteri'](_0x2500df,_0x25cc24['TEXTURE_MAG_FILTER'],_0x2d0c95),_0x25cc24['texParameteri'](_0x2500df,_0x25cc24[_0x2f12e6(_0x14a568._0x393fd6,0xdfc)],_0x10ef09[_0x2f12e6(0x948,0xdf8)]),_0x25cc24['texParameteri'](_0x2500df,_0x25cc24['TEXTURE_WRAP_T'],_0x10ef09['wrapT']),_0x25cc24['texParameteri'](_0x2500df,_0x25cc24['TEXTURE_WRAP_R'],_0x25cc24[_0x8f9c4f(0xfe7,_0x14a568._0x456837)]),_0x25cc24['bindTexture'](_0x2500df,null),this[_0x8f9c4f(_0x14a568._0x2869b8,_0x14a568._0x400574)]=_0x10ef09;}get['pixelFormat'](){return this['_pixelFormat'];}get['pixelDatatype'](){const _0x3e796c={_0x3147a1:0x32};function _0x62aa05(_0x146f80,_0xe89ab9){return _0x7afdbe(_0x146f80,_0xe89ab9-_0x3e796c._0x3147a1);}return this[_0x62aa05(0x2de,0x5d6)];}get[_0x7afdbe(0x58,0x544)](){const _0x4a48e4={_0x313874:0x160};function _0x59f3d6(_0x3042de,_0x3aa9f1){return _0x7afdbe(_0x3aa9f1,_0x3042de- -_0x4a48e4._0x313874);}return this[_0x59f3d6(0x1147,0x1ae2)];}get[_0x7afdbe(0x72c,0x895)](){return this['_height'];}get['depth'](){return this['_depth'];}get['preMultiplyAlpha'](){return this['_preMultiplyAlpha'];}get['flipY'](){const _0x28fcec={_0xfbab38:0x8ea,_0x53d081:0x4a3},_0x4a71c2={_0xe0e6c1:0x354};function _0x85082(_0x1bf655,_0x2cea5b){return _0x7afdbe(_0x1bf655,_0x2cea5b- -_0x4a71c2._0xe0e6c1);}return this[_0x85082(_0x28fcec._0xfbab38,_0x28fcec._0x53d081)];}get['sizeInBytes'](){return this['_sizeInBytes'];}get['_target'](){return this['_textureTarget'];}['isDestroyed'](){return![];}['destroy'](){const _0x301d45={_0x30792e:0x1045},_0x113410={_0x5c38a8:0x8e};this[_0x47cf11(_0x301d45._0x30792e,0x9c6)]['_gl']['deleteTexture'](this['_texture']);function _0x47cf11(_0x2cd41d,_0x4a3491){return _0x54a7f1(_0x2cd41d- -_0x113410._0x5c38a8,_0x4a3491);}return Cesium__namespace['destroyObject'](this);}}function texture3DSizeInBytes(_0x3392d7,_0x5a415c,_0x10bfed,_0x34cb9d,_0x172ed5){const _0x1f8443={_0x5b9ce8:0xc2c},_0x3db837={_0x5487fd:0x733},_0x585071={_0x53ff8f:0x3f2},_0xfb6057=Cesium__namespace[_0x140316(_0x1f8443._0x5b9ce8,0x74d)]['componentsLength'](_0x3392d7),_0x2f510d=Cesium__namespace['PixelDatatype'][_0x2c9c2f(0xa6d,0xbd6)](_0x5a415c);function _0x140316(_0x2b1420,_0x22555f){return _0x54a7f1(_0x2b1420- -_0x585071._0x53ff8f,_0x22555f);}function _0x2c9c2f(_0x251ef1,_0x396a36){return _0x7afdbe(_0x251ef1,_0x396a36- -_0x3db837._0x5487fd);}return _0x10bfed*_0x34cb9d*_0x172ed5*_0xfb6057*_0x2f510d;}function _0x2892(){const _0x2255aa=['Bg9HzeDLB0Ptt04','z2v0sw5Uzxjive1m','AxnfzMzLy3q','x3nLDevKAxrdDxjZB3i','vKvsu0LptG','q0XbtvbFve9Frurhrq','sw9Uia','AxngB3jTyxq','D2f0zxi','B3v0Chv0','x+s/RUAuUEwnIUw+Ha','rw50Axr5','Aw1Hz2vYEvbYB3zPzgvY','Dg02nq','qMfZzvrOAw5N','yxjYtgf5zxi','C2HVD1nJyw5qBgfUzq','z2v0vMfSDwvpCKrLzMf1Bhq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptG0icTRpteGk3HFmd0YoduWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','Dg9WoIaXmhb4o3jPz2H0oIaXmhb4oW','DxbKyxrLqMfPzhu','z2v0rgvYAxzLzfjLC291CMnL','DhjHBNnWyxjLBNq','x2DLDezHy3rVCG','zxzLBKnVBg9Y','tKfsuK9x','yxjLyvn0CL9VCMLNAw5HBa','AgLLCMfYy2H5','x+IVPEwVUEIXOEs4JEwfGEIUUoE8LUI+Kq','x+wfS+MxREs4I+MBQG','CM9SBa','AgfZrwrPDa','zML4zwrgCMfTzvrYyw5ZzM9YBq','ug9WDxa','y29VCMrPBMf0zq','rwrPDfzPzgvVmKq','x2zYywDTzw50u2HHzgvYvgv4Da','rhfYs2jm','x2jVDw5KAw5Nu3bOzxjLv0m','rxzLBNq','x2rHDge','yMfZzw1HCa','CMDIysGXnJySmJuYlde2ocWWlJa0kq','BwLUEa','x2fSCgHH','AxnoDwXS','sg90Aw5Lx09IBgLXDwvFtwvYy2f0B3i','C3rHCNrdB21WDxrL','5Q2J5zYO6k6H566x5l2t56EV','x2nYzwf0zuvUDgL0Eq','Aw5WDxrqCMv2Aw91C1n0ywDLvgv4DhvYzq','BgLTAxrnAw4','u2HHzg93CW','C2HVD1bHz2u','zxHJBhvKzwrkC29Us2v5CW','x3nOB3DiB29R','qxHPCW','B3v0zxjdB25L','q29UC3rHBNrqB3nPDgLVBLbYB3bLCNr5','x3LiywXMqw5NBgu','z2v0vgHPBMC','Cg9PBNrdB2XSzwn0Aw9U','x21HCf9JBgLJA0HHBMrSzxi','x2rVD25iyw5KBgvY','x3bVC2L0Aw9UC19ZAg93','y29Z','B3nTqNvPBgrPBMDZ','B25SEvnPBxbSzvr5Cgu','x3nLDe9WDgLVBNniB29R','x+wnLEwhU+wUJoAiKoE7MowiTG','qMLSBgjVyxjK','x2XLDMvSwMvYB1rPBgvZ','z2v0ug9PBNq','y29UDMvYDe1dmKXm','qxnZzxrZl1rLEhr1CMvZl05HDhvYywXfyxj0AeLj','z2vVBwv0CMLLCW','C3nMBL8','C3rZ','x3nLDef1Dg9bDMfPBgfIAwXPDhK','EhL6','ywrKrxzLBNrmAxn0zw5LCG','x2LUAxrqCMfYBxncEuXHEwvYx01HC2S','x+AvTos9K+w5S+ENUW','y3jVC3m','CgfYC2veB20','te9dquXFq1m','C3DHBgXVD1rHAwXgywn0B3i','x3zPzxDqCM9Qzwn0Aw9UrgLYDhK','zM9UDf9ZAxPL','vgv4DhvYzq','x3nJyw5qBgfUzvjHDgu','AgfUzgXLu3vJy2vZCW','x+wfS+MxREAZM+wfIq','pc9KAxy+','AgfZq2XVC3vYzq','Aw1Hz2uY','qMvZC2vSide4ndeGke5HBwLIAweP','zM9YBwf0vgLTzvn0CG','zwzMzwn0CW','x2f0DhjPyNv0zuXVy2f0Aw9UCW','qxnWzwn0q29SB3jdB250B3vY','rvbtrZO0ndK5','Dgv4DefSAwDU','x2XHEwvYswr4','BxnN','yMDvCMW','x2HHC0HLAwDODevKAxq','CxvLCNLdAxjJBgu','x2XHC3rFzMLYzuLUzgv4','C3rYB2TLlxDPzhrO','B3bLBLnTywXSvg9VBhrPCa','q29YCMLKB3jdB21IAw5L','AgfZwKLUzgv4','y3jZEq','r2vVBwv0CNLqAxbLBgLUzq','x2zVCNDHCMrfEhrYyxbVBgf0Aw9UrhvYyxrPB24','DgLSzxnxywL0Aw5NrM9Yq2HPBgrYzw4','x21HCNnpChrPB25Z','i3r4Dc1JBg9JA0fUAw1HDguTC3bLzwq','q29YBMvYvhLWzq','ug9ZDfbYB2nLC3ntDgfNzq','zMfY','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kphn2zYb3Awr0Ad0ImJaIigHLAwDODd0ImJaIihzPzxDcB3G9iJaGmca0oca0ociGzMLSBd0IBM9UzsiGEg1SBNm9iMH0Dha6lY93D3CUDZmUB3jNlZiWmdaVC3zNiJ4kica8CMvJDcb3Awr0Ad0IndGIigHLAwDODd0IndGIigzPBgW9iNDOAxrLiIbMAwXSlw9WywnPDhK9iJaUmdeIlZ4kica8Cgf0AcbKpsjnmtyGmtjwmZyIihn0CM9Rzt0Ii2zMzMzMzIiGC3rYB2TLlxDPzhrOpsi1iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4kica8Cgf0AcbKpsjnmZiGmtjwmZyIihn0CM9Rzt0Ii2zMzMzMzIiGC3rYB2TLlxDPzhrOpsi1iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4kpc9ZDMC+','BgvMDfbVC2L0Aw9UCW','x2DLDeXHyMXLug9ZAxrPB24','x29Utw91C2vnB3zL','pc9SywjLBd4','x1bVAw50rwrPDf9zx1rsqu5ttefusu9o','A2v5D29Yzhm','yMfZzu1HDgvYAwfSq29UDMvY','u25VD0vMzMvJDa','zg93BKDYyxbOAwm','zMLSDgvYq29SB3i','r3jHCgHPy1r5Cgu','z2v0q29UDgv4De1LBNu','x2rPC3rHBMnLrgLZCgXHEunVBMrPDgLVBG','C3rHCNreyxrL','CgLK','DgLSzujVDw5KAw5NuMvNAw9U','qNvMzMvY','C291CMnLvgfYz2v0','vgLSzu1HDhjPEfnLDa','kcK7iaO','Aw5UzxjsywrPAv94','x21HDhjPEdq','sefmrL9qsq','B250Aw1LB3v0','Dg9bCNjHEq','yM90Dg9TsgvPz2H0','DgHPBMDZ','Eg1M','zw5HyMXLuM90yxrL','s2v5yM9HCMrsB2fTwwvZ','x2DLDfrLCNjHAw5pChrPB25Z','x3jLyMLUzen6BunVBNrHAw5LCG','x3bVAw50u2L6zq','vfjjqu5htevt','rvbtrZO0ntiY','ihrYAwvKoIaN','BM9YDgHPBMC','x2LUAxrmyxLLCNm','zNnJAhi2oa','C2LUCgGW','vMLLD2vY','ru5hq1jt','u2nHBKXPBMu','Dg9VBhrPCe9Wzw4','x29UuMLNAhrdBgLJA0HHBMrSzxi','x2HHC19HzgrLzeHVB2S','x2HHC2G','AgfZsgvPz2H0rwrPDa','AxnuAwXL','yxjLyvn0CG','iIbZDhLSzt0I','CxvLCNLeCML2Aw5N','x3v2','y2HPBgroB2rLCW','DgLTzw91DcbVzIa','x3nLDfjLy3rHBMDSzuj5t3b0Aw9UCW','ywnJDxjHy3K','z2v0twLUsgvPz2H0','AxnbBgXpDxrsyw5Nzq','yMLKAxjLy3rPB25HBa','x2DLDenVBMzPzW','x+ESRos4GoINHUINKUERMEwiSoATPowKHa','DMLZAwjPBgL0Exm','Bwf0zxjPywXZ','x21VDMveAxn0yw5Jzvn0zxa','C2nHBgvcEurPC3rHBMnLx25LyxjwywX1zq','yxrTB3nWAgvYzq','x3DHDgvYugXHBMu','lY9KyxrHlM1HCNmZzc5JBI9PBwCVDgv4DhvYzxmVD2f0zxjoB3jTywXZlMPWzW','x3vWzgf0zu91DgXPBMvpCgfJAxr5','Cg9PBNrtDhLSzunVBNzLCG','y3jVC3nOywLY','x2DYyxbOAwnFzwrPDgLUzW','tMfTzq','zMLSBenVBg9Y','BgfZDfrPBgvZuMvUzgvYzwq','CMDIysGYntqSmtaWldKYldaUmteP','x2rPCMvJDgLVBG','AxnszxbLyxrqB2LUDa','qvHjuW','x2n1CNjLBNrizwLNAhq','Dw5PzM9YBsb2zwm0igjNq29SB3i7cNvUAwzVCM0GDMvJncbJB2XVCJSkDw5PzM9YBsbMBg9HDcbZCgvLzdSkDw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIbZDca9ig1HDgvYAwfSsw5WDxqUC3q7cIaGzMXVyxqGDgLTzsa9igzYywn0kgn6Bv9MCMfTzu51BwjLCIaQihnWzwvKic8GmtaWmc4WktSkcIaGDMvJmYbJB2XVCK1HCNmZrca9ignVBg9YlNjNyJSkicbPzIHZDc50id4Gmc40nsaMjIbZDc50idWGmc41nsKGEWOGicaGy29SB3jnyxjZm0qGpsb2zwmZkdeUmcK7cIaGFqOGig1HDgvYAwfSlMfSCgHHid0Gy29SB3iUysaQideUnsaQihnTB290Ahn0zxaOlJaSideUlcbMCMfJDcHZDc5Zic0GDgLTzsKPoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbTyxGOy29SB3jnyxjZm0qUCMDIicOGBwf0zxjPywWUywXWAgeSignVBg9YtwfYCZnelNjNyIK7cGOGigLMkg1HDgvYAwfSlMfSCgHHidWGyMDdB2XVCI5Hksb7cIaGicbTyxrLCMLHBc5HBhbOysa9igjNq29SB3iUytSkicaGig1HDgvYAwfSlMrPzMz1C2uGpsbIz0nVBg9YlNjNyJSkicb9cIaGBwf0zxjPywWUywXWAgeGpsbTyxrLCMLHBc5HBhbOysaQigDSB2jHBefSCgHHoWOkicbYzxr1CM4GBwf0zxjPywW7cN0k','x2LZq2X1C3rLCG','x2fYzwfmAxn0','x3zPCNr1ywXdyw1LCMe','CgL4zwXpzMzZzxrFB3jPz2LUywW','yxr0CMLIDxrLCW','yMqYz2nQ','tgLUzuzSB3DdB2XVCG','x+E6TEwDKoAGHW','rwXSAxbZB2LKt3v0BgLUzuDLB21LDhj5','Dg9qCMLTAxrPDMu','CgXHy2u','y2LYzhjHD0DYywrPzw50q2LYy2XLq2fUDMfZ','vw5KzxjNCM91BMq','ve9qx1jpvefurq','x3jLBw92zwrczwzVCMviB29R','twLK','DgLSzwLUzM8','yxbWzwfYyw5Jzq','veLmrv9hru9ku09o','y2XVC2viAwDOBgLNAhq','Dg9FBwv0zxi','Eg1S','y3jZEa','Bwf4sgvPz2H0','vMLKzw9tEw5JAhjVBML6zxi','x2XHC3rgChntyw1WBgvuAw1L','zxHW','rvbtrZO0ntuY','pc91Bd4','5BYa5zcV5AsN5Rcu5RIY5P+t','rgL2r3jHCgHPyW','yw5PBwf0zuzYyw1L','rxf1AxjLy3rHBMD1BgfY','zMX5vg9hCMfWAgLJ','x3vWzgf0zuHLAwDODf9nyxnR','zgvNCMvL','reLsrunusu9ox0XfrLq','x2DYyxbOAwnmyxLLCL9Szwz0vxa','Dv90ExbL','CMDIysGXndKSmcWYmZuSmc45osK','AhvL','C3rVCezSAwnRzxi','rvbtrZO0nte4','x3bPy2Ttua','x2nYzwf0zvjLy3rHBMDSzuDLB21LDhj5','x3jVDgf0Aw9Uqw5NBgu','x2XHC3rtAg93','x3bPDgnOx21PBG','x2DLDeTLExDVCMrZ','zgvMyxvSDfzHBhvL','z2f6zq','B3nNyJm2','ExL5Es1nts1KzcbisdPTBtPZCW','qMLUz01HChnjBwfNzxj5uhjVDMLKzxi','y2LYy3vSyxjFy2XVBMvFDg9Wug9PBNrZ','ChjVz3jLC3m','x3n0yxj0rhjHD0HVB2S','z2XVyMu','DhLWzxm','teLorufsx05ptKu','ugXHBMvhzw9TzxrYEq','x3bYB21PC2u','x3vWzgf0zvrLBxbSyxrLq29UDgvUDeH0BwW','x3f1ywr0CMvLuhjPBwL0AxzL','ywXPz25Lzef4Axm','x2LZDgvTCa','t0rmAw5L','y2HPBgrYzw4','x3n0yxrL','x21VDw50zwriB29R','x2n6BunVBNrYBa','Dv9TyxjZm2rFy2XPCf9LBMfIBgvK','y29Zx3aXna','qMfZzvbVBhLqCMLTAxrPDMu','xZb4ntG1ngjI','rgLZy2fYze1PC3nPBMDuAwXLsw1Hz2vqB2XPy3K','DhjHBNnMB3jT','x2DLDfrLEhr1CMu','u3vIDgL0BgvZ','Cg93','x2nHBwvYyv9JywnOzq','uMvJDgfUz2XLr2vVBwv0CNK','x2LUAxrPywXPEMvdBhvZDgvY','AgvHzefUz2XL','AxndBhvZDgvY','y2XPCfr5Cgu','B3v0zxjqB3nPDgLVBNm','D2TPza','Aw5KzxHFB3jPz2LUywW','DgfYz2v0','CMvXDwvZDfjLBMrLCG','wM9VBvzPzxC','x2XHDgvYywXtDxjMywnLtwf0zxjPywW','DxzZ','v21Ztgf5zxi','x3bVC2L0Aw9Ux2zPCNn0','Aw1Hz2vYEvbYB3zPzgvYvMLLD01VzgvSCW','AgfZtwLKzgXL','Bwf0zxjPywXuExbL','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXnYaRAZ0XicT4xZa9mZK1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','y2fUy2vSrMX5vg8','z2v0q2XHC3m','x21Lyxn1CMveAxn0yw5JzuXHyMXL','z2v0uM90yxrPB24','ChG7cIaGls1JBgLWlxDPzhrOlti6ia','u2HHzg93tM8','zw5HyMXLq29SBgLZAw9Urgv0zwn0Aw9U','x3jLywr5uhjVBwLZzq','y29UDMvYDg9Y','5BgE5OcN57g75z6l5BEY5A2y5zYO','x2nYzwf0zuLJB24','zhvYyxrPB24Y','x3jLy3rHBMDSzv9KCMf3','x3n0yxrLqwXS','x3nLDenVBg9Yu3r5BgvjDgvT','x29Utw91C2vpDMvY','C2HVD1bVAw50sgvPz2H0tgfIzwW','y3vYCMvUDe9IAMvJDa','y2XPCe91DfnPzgu','Dg9hzw9ku09o','rKLmta','z2vL','lcbSAwDODfnOywrVD01HCdje','x2LUDgvYBMfSrM9YBwf0','nZrKzMe1mty4yMyYodvMnwqXngy1ngy2yJHLytnKnJq','yw5NBgvezwnPBwfS','zwfJAeXHEwvY','x2vUywjSzurLyNvNv2LYzwzYyw1L','vgLSzvbYB3zPzgvYrxjYB3i','zwrPDefKzfbVAw50','x2DLDenHCNrLC2LHBJm','zMeGzMeTBwLUDxm','x2DLDePZB25qB3nPDgLVBNm','vKvdna','CMvJDgfUz2XL','rvbtrZO0ndK2','y3jLyxrLuMfKAwfSr3jHzgLLBNq','x+wpLUA2IoMuGEwUMG','z2v0rw50Axr5qxr0CG','C2v0q3PTBfrPBwu','x3bYB3bLCNr5tMfTzxm','yMLUza','y2X1C3rLCKvUywjSzwq','x2LZq29SB3jnyxrLCMLHBa','BM9YBwfSt2zMC2v0u2nHBgu','x25VzgvjBMrLEa','Dgv4ugfYyw1LDgvYAq','tgLUzuzSAwnRzxjnyxrLCMLHBfbYB3bLCNr5','x2DYyxrPy3vSzvbYB3zPzgvY','y29SB3jpChrZq29UDMvY','qK9uve9n','C2f0DxjHDgLVBG','ywrKu2fTCgXL','zgf0ys1JB3vUDa','ug9SEwDVBKDYyxbOAwnZ','twLSBgvYx0n5BgLUzhjPy2fS','vgLSzunVB3jKAw5HDgvZsw1Hz2vYEvbYB3zPzgvY','DgvYCMfPBKnOyw5Nzq','id09idePihSkicaGicaGicaGigLUC2LKzsaRpsaXoWOGicaGicaGih0GzwXZzsbPzIaOzNj1C3r1BvzPC2LIAwXPDhK','Aw1Hz2u','AgfZugL4zwXpzMzZzxq','Dv9UB3jTywXeAxjLy3rPB24','x3jLzNjLC2HdBhvZDgvYqMLSBgjVyxjK','Dv90zxH0DxjLvhjHBNnSyxrPB25bBMrty2fSzq','Bw92zvn0yxj0','x3jHBMDLtNvTyMvY','ugfYDgLJBgvtExn0zw0','DgHPCY5ZB3vYy2vZigLZihjLCxvPCMvKigfUzcbTDxn0igHHDMuGCg9ZAxrPDMvylcbUzwDHDgL2zvGSihbVC2L0AxzLwsWGBMvNyxrPDMvzlcbWB3nPDgL2zvOSigfUzcbUzwDHDgL2zvOGChjVCgvYDgLLCY4','zMLLBgrZ','C3rHz2vZ','C2HVD1zVBhvTzq','z2v0r3jHCgHPy3m','yMLUzerYywDNzxjZ','tw92zuHLAwDODa','t2zMC2v0r2vVBwv0CNLjBNn0yw5Jzuf0DhjPyNv0zq','DgLTzxrPAW','B25eCMfNu3rHCNq','y3jLyxrLr2vVBwv0CNK','yNj1C2HmAw5L','zw5HyMXLq29UDhjVBa','x2fUz2XL','C2HPzNrlzxK','x2HPz2HSAwDODf9ZDgf0zq','x3nLDfzPzxDLCK9WDgLVBG','twf0zxjPywXqCM9Wzxj0Eq','x3rPBgvZvg9szw5Kzxi','y3jLyxrLuhjPBwL0AxzL','x2XVywrLzenHBgXIywnRCW','Cg9ZDfjLBMrLCG','zgLZDgfUy2vFB3jPz2LUywW','zw5KrNjHBwu','x2nVBxb1DgvKtw9KzwXnyxrYAxG','rvbtrZq0ota','x2LUAxruAwXLC2v0q29SB3jdB3jYzwn0Aw9U','ufjjtuvn','y3jLyxrLq29TBwfUza','x+AaU+MvVW','x3vWzgf0zurVBuj5vgfNtMfTzq','x+MDOUENRW','AgvHzgLUzW','zNjVBv9NCMvLBNDPy2G','CxvHzhrYzwu','tuDsu1bVAw50ihPVBMuGBgv0DgvYia','x+wiOoMzPa','Cg9PBNrpDxrSAw5L','ENr5Cgu','vhjHy2TLzevUDgL0Eu5V','CMLUz0nHBNzHCW','zgLTzw5ZAw9UCW','y2XPzw50wa','BxvSDgLWBhLcEvnJywXL','y2HLy2TiyxncCMvHAW','quXqsee','x3DHBgXfBNrPDhK','C2T5qxrTB3nWAgvYzq','BMvHCG','x+s9JEE9RUs/OEAbRW','C2HHzg93twfW','u2T5qM94','CMDIysGYntiSmJq0ldeWmcWWlJa3kq','zgLNvM9SDw1LtMfTzq','twvHC3vYzufUz2XL','BgfIzq','pgLTzYbZCMm9iG','EK9MzNnLDa','y29Zwda','6AUy5BQM5BEU','x2nVBNrLEhrTzw51q29UzMLNx2jHAW','AwnVBG','C2nHBgvcEurPC3rHBMnLx25Lyxi','BwfWuhjVAMvJDgLVBG','y29SB3jiAwrKzw4','x2nVBNrVDxjdB2XVCG','x2DLDfDPBMrVD1bVC2L0Aw9U','Dg9dyxj0B2DYyxbOAwm','BM9YBwfSu2HHzgLUz1nTB290Aa','x2LUy2X1zgvqB2X5','vMvYDgv4rM9YBwf0','z2v0rgf0zq','AgfZvxbKyxrL','ChjVBwLZzq','qvjfqv8Z','z2v0t3v0BgLUzunVBg9YqNLtDhLSzq','x3bVAw50q29SBgvJDgLVBG','x3nLDfbPDgnOuMfUz2vFBw91C2vnB3zLsgfUzgXLCG','CgfKtgvMDda','C3bSAxreAxjLy3rPB24','zNjVBunHCNrLC2LHBG','yMXHy2S','y29UDg91CK1HDgvYAwfSlMfSCgHHid09idaUmca/ihnSB3bLuMfTCe1HDgvYAwfSlMrPzMz1C2uGoIbJB250B3vYtwf0zxjPywWUzgLMzNvZzq','BwfYCZnKlwXVy2f0Aw9UyMfYlwnVBNrLBNq','zNj1C3r1Bum','sw1Hz2u','zMXPy2TLCKvUDgL0Eq','x3nOB3DMB3jWB3nPDgLVBG','AgfZrgvMyxvSDa','x3n0yxj0','x21LCMDLu3r5BgvuB09WDgLVBNm','x21LCMDLug9ZDgLVBG','x2LZug9PBNrmAwDODa','twfYCZnex0XPz2H0tNvTvMfSDwu','zw5Kug9ZAxrPB24','CMv2B2TL','B2zM','CM91Dgu','zNjVBq','BwfYA2vYlxn5BwjVBa','nZC1mteYB2X6wePT','CMvHzhK','Dw5WywnR','y29TChv0zvrPBgvmB2fKuhjPB3jPDhK','CMvUzgvYugfZCW','Bw9YCgHuB0nVBhvTyNvZvMLLDW','zNjVBunHCNrVz3jHCgHPyW','CMLNAhrxqW','twfYCZnex1rVDgfSq29SB3jZ','B3bHy2L0Eq','x2LUAxrtyw1WBgvKug9ZAxrPB25qCM9Wzxj0Eq','AgLKzufYzwe','x+wCUUAzR+whUUwBVG','z2v0uhjVCgvYDhLwywX1zq','q3LSAw5KzxjtDhLSzunVBNzLCG','u3rHDgu','x2DSB2jLtw91C2viyw5KBgvY','y3jLyxrLvgv4DhvYzq','x3nLDenHBNzHC09WDgLVBG','v2f0zxjmAwDODa','Dv9TyxjZm2rFy2XPCf9TyxHsyw5NzuXLBMD0Aa','x3bYAw1PDgL2ztq','x2nVBNrHAw5LCJi','CM90yxrPB25FEa','x2LTywDLCNLmyxLLCNngB3jdBgfTCa','yMX1CLnHBxbSzxm','x2nSB3vKq29SBgvJDgLVBG','BxvSDgLWBhLcEvzLy3rVCG','x2LZug9PBNq','ywrKrgf5CW','C2v0q2XHC3m','D29YBgruB1DPBMrVD0nVB3jKAw5HDgvZ','Dw5PzM9YBsbMBg9HDcb1x2zSB29Kx3zHBdSVlYdLVzpLIy3MT7NMSQhPQ5JLUQykDw5PzM9YBsb2zwm0ihvFzMXVB2rFy29SB3i7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicaGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGicbTyxrLCMLHBc5HBhbOysa9icHTyxrLCMLHBeLUChv0lMHLAwDODca8ihvFzMXVB2rFDMfSksa/ihvFzMXVB2rFy29SB3iUysa6idaUmdSkicaGig1HDgvYAwfSlMrPzMz1C2uGpsb1x2zSB29Kx2nVBg9YlNjNyJSkicaGihjLDhvYBIbTyxrLCMLHBdSkFqO','r2vVC3rHDgLVBMfYEsbtyxrLBgXPDguGvMLLDW','qxjJrNj1C3r1Bq','x2n1CNjeAxn0yw5Jzq','zw50Axr5q29SBgvJDgLVBG','x3bPEgvSrgf0yxr5Cgu','5PYQ5P+L6k+I5yIW55U45ywZ57Ut5P6C77Yb','z2v0q29UDgv4Da','zxf1ywXZrxbZAwXVBG','x29SzfbPy2TLzeLK','x3nLDfbPDgnOuMfUz2vFCMLNAhrvCeHHBMrSzxi','B2XKuMvUzgvYu3rHDgu','BgfZDe1HEerLChrOvMLZAxrLza','B3bLBKnVBNrLEhrnzw51','y29UDg91CLnOB3C','cIaGicaGignVBNn0igLUDcbxsurusca9ia','r2vLtgf5zxi','x2nYzwf0zurPDKDYyxbOAwm','Aw5LCNrPyvnWAw4','x2nSAwnRvgLSzuDYyxbOAwm','zwzMzwn0','ug9PBNrqCMLTAxrPDMu','x3bVC3rqCM9JzxnZu3rHz2vZ','x2jPBMrdB250CM9S','x2nSyw1Wvg9hCM91BMrFCMvSB2fK','y29TChv0zvn1CMzHy2vmAw5L','D2L0AefSCgHH','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIihn0yw5KywXVBMu9iM5ViJ8+cJXZDMCGD2LKDgG9iJuZChGIigHLAwDODd0IntnWEciGDMLLD0jVEd0ImcaWiduZiduZiIb2zxjZAw9UpsiXlJeIihHTBg5ZpsjODhrWoI8VD3D3lNCZlM9YzY8YmdaWl3n2zYiGEg1SBNm6EgXPBMS9iMH0Dha6lY93D3CUDZmUB3jNlZe5otKVEgXPBMSIihHTBg5ZoNnRzxrJAd0IAhr0CdOVl3D3DY5IB2HLBwLHBMnVzgLUzY5JB20VC2TLDgnOl25ZiJ4kicaGidX0AxrSzt4KDgL0BguKpc90AxrSzt4kicaGidXKzxnJpM1HCNmZzc5JBJWVzgvZyZ4kicaGidXKzwzZpJWVzgvMCZ4kicaGidXNigLKpsjqywDLlteIihn0CM9Rzt0IBM9UzsiGC3rYB2TLlxDPzhrOpsiXiIbMAwXSpsjUB25LiIbMAwXSlxj1Bgu9iMv2zw5VzgqIpGOGicaGicaGidXNigLKpsjJB21WyxnZlxjVDgf0Aw9Ulw1HCMTLCIi+cIaGicaGicaGicaGidXWyxrOigq9iK01mI40mZK5otG2ldi2lJiXotK5otmGqZuYlJqZotK5odySmteUnZm5mdKZnIa0mc43mda5mduXldaGmJyUmJe5otK5mYWWiemXms43mZKWotm2ldaGmcWXms43mZKWotm2idaSmJyUmJe5otK5mYbdmcW0mc43mda5mduXideXlJCZota5mZySntiUndm5otK4nIaYnI4YmtK5otKZlduYlJqZotK5odyGqZqWlJCWmdKWnteSntiUndm5otK4nIa1mI40mZK5otG2ldqWlJCWmdKWnteGntiUndm5otK4nIWYnI4YmtK5otKZifOIigLKpsjYB3rHDg9YiIbZDhjVA2uTB3bHy2L0Et0Imc4XmZu4ndeYntKIihn0CM9Rzt0Ii0uYqtu0osiGC3rYB2TLlxDPzhrOpsi5iIbVCgfJAxr5psiWlJiWmtqZndiZnsi+pc9WyxrOpGOGicaGicaGicaGica8Cgf0AcbKpsjnmcWYnI4YmtK5otKZiemWldeXlJCZota5mZyGmteUnZm5mdKZnIWWidi2lJiXotK5otmSmcbmmJyUmJe5otK5mYW5iemXnI43mdK2ntyZldKGosWXnI43mdK2ntyZidKSmJyUmJe5otK5mYiGAwq9iLnOyxbLiIbVCgfJAxr5psiWlJyZndu2mtu2nYiGzMLSBd0IiZq5otbfmIi+pc9WyxrOpGOGicaGicaGidWVzZ4kicaGidWVzZ4kpc9ZDMC+cG','C3nL','y2vZAxvTlwj1DhrVBIbJzxnPDw0TDg9VBgjHCI1IDxr0B24GBwfYm2qTDg9VBej1DhrVBIa','x2XHC3ruAwXLsw5KzxG','x3bVC2L0Aw9Uv0m','ug9PBNrtDhLSzunVBNzLCG','x2LUDgvYCg9SyxrPB25ezwDYzwu','x2nHBgn1Bgf0zufZEw5tDxjMywnLug9ZAxrPB24','zgL2ugXHBMu','mtaWjq','CMv2zxjZzq','x2n1yMvnyxaY','Fsak','x2nHy2HLxW','u2fMyxjP','x21VDxnLtw92zuHHBMrSzxi','iZu0nMe1mW','Aw5MAw5PDhLFzgLZDa','x2fYCKXHEwvY','D2DZodrSBa','x2zPCMvuyxjNzxrFCMvUzgvY','x3nLDfbVC2L0Aw9UCW','yMLSBgjVyxjKq29SBgvJDgLVBG','x291DgXPBMvqB3nPDgLVBNm','rhjHD0vKAxroBW','Aw1Nx2q','Dgr0','ywXNB3jPDgHTvxrPBa','y2vZAxvTlwjHC2vmyxLLCLbPy2TLCI1JyxrLz29YEvrPDgXL','z2v0q29VCMrPBMf0zxm','CMvHzfbPEgvSCW','BgfTma','vw5HyMXLihrVigzPBMqGBwfUzgf0B3j5igDYAwqGjW','x2nSyw1Wvg9hCM91BMq','5PYQ5P+L6k+I5yIW4OcC','Bwf4sgvPz2H0ioIVT+s8OowfPEACIEAvIoAvSowaVo+8Gq','C3vIC3rYAw5N','x291DgXPBMvgCNvZDhvTr3jHCgHPyW','tu9sueHjtKC','ugL4zwXeyxrHDhLWzq','DgLTzuP1BgLHBG','x3jLC2v0q29UDgv4De1LBNu','vgr0ue9joIdOR7FKVkdLHAxLJ4jSB2nHDgLVBUAvSa','yxnWAgfSDenVBg9Y','z2v0vhLWzq','DgLSzuXVywrqCM9NCMvZCW','yM9YzgvYq29SB3i','CgfYC2u','y2fUy2vSrNvUy3rPB24','x3bPy2TpzMzZy3jLzw5wAwv3','Dv9TyxjZm2rFzMXVB2rFy3vYCMvUDgHLAwDODa','A3jVDMfR','A2v5v29Yza','zgvIDwDbEgLZuhjPBwL0AxzL','Axnezxn0CM95','z2v0qxjYB3DizwfKug9PBNrZ','C3rYB2TLlw9WywnPDhK','x2HLywrPBMDFCMvHBgL0Eq','Dw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFzMXVB2rFDgv4DhvYztSkDw5PzM9YBsbTyxq0ihvFBwfYCZnKx2zSB29Kx2LUDMvYC2vnyxrYAxG7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFCMfUz2voDw1Izxi7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFBwf4uMfUz2vmzw5NDgG7cGP1BMLMB3jTigjVB2WGDv9TyxjZm2rFzMXVB2rFzw5HyMXLzdSkDw5PzM9YBsb2zwm0ihvFBwfYCZnKx2zSB29Kx2nVBg9YoWP1BMLMB3jTigjVB2WGDv9TyxjZm2rFzMXVB2rFzMXVB2rbBgW7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFy3vYCMvUDgHLAwDODdSkDw5PzM9YBsbMBg9HDcb1x21HCNmZzf9MBg9Vzf9TAw5FAgvPz2H0oWP1BMLMB3jTigjVB2WGDv9TyxjZm2rFzMXVB2rFBgLTAxrnAw47cGP2zwm0ihjLC3rVCMvqB2LUDf9TyxjZm2rFzMXVB2qODMvJncbWB2LUDcKGEWOGihzLyZmGB3v0Cg9PBNqGpsbWB2LUDc54ExOGkIbWB2LUDc53oWOGihjLDhvYBIb1x21HCNmZzf9MBg9Vzf9PBNzLCNnLtwf0CML4icOGDMvJncHVDxrWB2LUDcWGms4WktSkFqOkDMvJncbNzxrszwDPB25Zx21HCNmZzf9MBg9VzcHMBg9HDcb4lcbMBg9HDcb5ksb7cIaGzMXVyxqGDsa9icH4icSGmc41ksaVicH1x21HCNmZzf9MBg9Vzf9TyxHsyw5NzuXLBMD0AcaRideUmcK7cIaGzMXVyxqGDIa9icH5icSGmc41ksaVihvFBwfYCZnKx2zSB29Kx3jHBMDLtNvTyMvYoWOGihzLyZqGCg9PBNqGpsb0zxH0DxjLkhvFBwfYCZnKx2zSB29Kx3rLEhr1CMuSihzLyZiODsWGDIKPoWOGihjLDhvYBIbWB2LUDdSkFqOkyM9VBcbPBLjLy3rHBMDSzv9TyxjZm2rFzMXVB2qODMvJncb0zxH0ug9PBNqPihSkicbMB3iOzMXVyxqGAca9idaUmdSGAca8ihvFBwfYCZnKx2zSB29Kx3jHBMDLtNvTyMvYoYbOicS9ideUmcKGEWOGicaGzMXVyxqGy3vYCMvUDeXLBMD0Aca9igDLDfjLz2LVBNnFBwfYCZnKx2zSB29KkdaUmcWGAcKUEdSkicaGigzSB2f0ignVDw50zxiGpsaWlJa7cIaGicbMB3iOzMXVyxqGDYa9idaUmdSGDYa8ign1CNjLBNrmzw5NDgG7ihCGkZ0Gms4Wksb7cIaGicaGigzSB2f0ig5LEhrjBMrLEca9ihCGkYaXlJa7cIaGicaGig5LEhrjBMrLEca9ig5LEhrjBMrLEca+psbJDxjYzw50tgvUz3rOid8Gmc4WidOGBMv4DeLUzgv4oWOGicaGicb2zwm0ihaXid0GCMvZDg9YzvbVAw50x21HCNmZzf9MBg9VzcHNzxrszwDPB25Zx21HCNmZzf9MBg9VzcH3icSGms4WlcbOksK7cIaGicaGihzLyZqGCdiGpsbYzxn0B3jLug9PBNrFBwfYCZnKx2zSB29KkgDLDfjLz2LVBNnFBwfYCZnKx2zSB29Kkg5LEhrjBMrLEcaRideUmcWGAcKPoWOkicaGicaGzMXVyxqGCdf4id0GCdeUEdSkicaGicaGzMXVyxqGCdf5id0GCdeUEtSkicaGicaGzMXVyxqGCdj4id0GCdiUEdSkicaGicaGzMXVyxqGCdj5id0GCdiUEtSkicaGicaGzMXVyxqGDgv4DfbVAw50Eca9ihrLEhrqB2LUDc54oWOGicaGicbMBg9HDcb0zxH0ug9PBNr5id0GDgv4DfbVAw50lNK7cGOGicaGicbPzIHWmxGGit0GCdj4icyMihrLEhrqB2LUDhGGpIbTAw4OCdf4lcbWmNGPicyMihrLEhrqB2LUDhGGpd0GBwf4khaXEcWGCdj4ksaMjIb0zxH0ug9PBNr5idW9ig1HEcHWmxKSihaYEsKPihSkicaGicaGicbMBg9HDcb4Aw50zxjZid0GkcH0zxH0ug9PBNr4ic0GCdf4ksaQicHWmNKGlsbWmxKPksaVicHWmNGGlsbWmxGPicSGCdf5oWOGicaGicaGigLMkhaXEsa9psbWmNKGFhWGDgv4DfbVAw50Esa8psb4Aw50zxjZksb7cIaGicaGicaGicbJB3vUDgvYicS9ideUmdSkicaGicaGicb9cIaGicaGih0kicaGih0kicaGigLMkcHTB2qOy291BNrLCIWGmI4WksaHpsaWlJaPksb7cIaGicaGihjLDhvYBIb0CNvLoWOGicaGFqOGih0kicbYzxr1CM4GzMfSC2u7cN0kcNzVAwqGzNjHz21LBNrnywLUkezYywDTzw50sw5WDxqGzNnjBNb1DcWGAw5VDxqGy3PTx21VzgvStwf0zxjPywWGBwf0zxjPywWPihSkicb2zwmZihbVC2L0Aw9UtumGpsbMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25nqZSkicb2zwm0ihrLC3rqB3nPDgLVBIa9ihvFBwfYCZnKx2zSB29Kx2LUDMvYC2vnyxrYAxGGkIbJEM1FBw9KzwWGkIb2zwm0khbVC2L0Aw9UtumSideUmcK7cIaGAwyODv9TyxjZm2rFzMXVB2rFzw5HyMXLzcaMjIaODv9TyxjZm2rFzMXVB2rFzMXVB2rbBgWGFhWGAw5szwn0yw5NBgvFBwfYCZnKx2zSB29KkhrLC3rqB3nPDgLVBIKPksb7cIaGicbMBg9HDcbOzwLNAhqGpsb0zxn0ug9ZAxrPB24UEJSkcIaGicbPzIHOzwLNAhqGpd0GDv9TyxjZm2rFzMXVB2rFy3vYCMvUDgHLAwDODcaMjIaOixvFBwfYCZnKx2zSB29Kx2XPBwL0twLUihX8ihvFBwfYCZnKx2zSB29Kx21PBL9OzwLNAhqGpd0GAgvPz2H0ksKGEWOGicaGicbTyxrLCMLHBc5KAwzMDxnLid0GBwL4kg1HDgvYAwfSlMrPzMz1C2uSihvFBwfYCZnKx2zSB29Kx2nVBg9YlNjNyIWGDv9TyxjZm2rFzMXVB2rFy29SB3iUysK7cIaGicb9cIaGFqP9cG','x21LBNvpyMO','tMf2ywWGv2vHCg9UCYbmywiUlcaXoty1','Aw50zxjUyxrPB25HBa','t0jkrunusuq','x29Uq29SBgvJDgLVBKnOyw5Nzwq','DgLSzxnLDa','y3jLyxrLqxr0CMLIDxrLtg9JyxrPB25Z','tKvbuKvtva','x2nYzwf0zunLC2L1BtnevgLSzxnLDa','Dv9PBNrLCNnLy3rPB25dB2XVCG','CMfKAxvZx3a','z2v0qxzHAwXHyMLSAxr5','t0jmsve','CMvUzgvYrxjYB3i','ChjPBwL0AxzLCW','ywXWAge','CMfKAxvZ','twf0CML4na','icaGia','C2fTCgXLsgvPz2H0','x3bYB2nLzwrxB3jR','x21HEenHy2HLq291BNq','Dg9dyxj0zxnPyw5qB3nPDgLVBNm','Cg9SEwDVBKHPzxjHCMnOEq','ug9SEwXPBMvdB2XSzwn0Aw9U','5PEG5Rov5yIG6zMK77Ym54k55PwW6yEp5lIn6io95Bcr5lQo','x2nVBxbHC3nszwn0yw5NBgu','tgLNAhroDw1wBgf1zq','A3jHC3m','qMfPzhvmyxLLCG','r0vpr0nt','rhLUyw1Py1jPDMvY','x2rYyxDFDg9VBhrPCa','Cg9SEwXPBMvwB2X1Bwvq','CMvTB3zLr3jHCgHPyW','Bw92zujHy2T3yxjK','zMe1mtrJodGYytnMnwy2ytK0mMuWowi3zgeWmtaYndC','AgLKzq','CMDIysGYntuSmJu1ldi1nsWWlJuP','zw50Axr5q29SBgvJDgLVBIbPCYbYzxf1AxjLzc4','CMvTB3zLsw5WDxrby3rPB24','Bg9VA0f0vhjHBNnMB3jT','teLorvm','Dg9ku09oqNLuExbL','vu5tsuDorurFqLLurq','x3nJyw5qBgfUzunVBg9Y','z2XVD1bVD2vY','w29IAMvJDcbpyMPLy3rD','x2DLDerYyxDfBNrPDhLdBgfZCW','x2XHC3rqAwnRvgfYz2v0','y2XPzw50v2LKDgG','CgL4zwXpzMzZzxrty2fSzuj5rgLZDgfUy2vFBMvHCLzHBhvL','q3PTBeXHEwvY77YA6k+35B+f6Ag75lYG5ywLihvYBcdMIjyGzgf0ysdLJ4lMLBa','C3rVCfjHDgu','iJ4kicaGicaGica','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteWnsaRAZ0XicT4xZa9mtG1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x3bHDxnLug9PBNq','x291DgXPBMvgCNvZDhvT','AgvHzgLUz1bPDgnOuM9SBff1yxrLCM5PB24','y3LSAw5Kzxi','C2HVD051BgW','C2vTAu1PBM9YqxHPCW','Dw5PDa','y2XVC2vqyxrO','yMfJA2DYB3vUzfbHzgrPBMC','ywrKug9PBNrizwLNAhrmywjLBa','AgfZsw5MBW','C3r5BgvpChrPB25Z','zgvWDgHgywLStwf0zxjPywW','zhjHD1n0yxj0','swnVBG','C2v0q2fTzxjHvMLLD0XPC3q','C2nHBgvcEurPC3rHBMnLx2zHCG','x3vWzgf0zu91DgXPBMvgCNvZDhvT','yw5KCMfL','DgvTCgXHDgvwywX1zxm','ywrKu2vJB25KCW','vMLZAxrLzca','Bw9VBG','x2n1yMvnyxa','BwfNBMLMAwnHDgLVBKzPBhrLCG','x2rPC3rHBMnL','x2XPz2H0q2fTzxjH','yM94','z2v0r3jPzeTLEq','yxjLyvn1CMzHy2vnzwfZDxjL','B2jQzwn0C1rVrxHJBhvKzq','Aw5JBhvKzuTLExm','x2nSAxbuExbL','z2v0sxrLBuj5swq','y2XPCfrHCMDLDa','zMvHDhvYzq','x+EPUUMxToI3NEEMUW','sw1Hz2vYEuXHEwvY','x3nOB3DqB2X5BgLUzq','B2jQzwn0CW','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptK2icTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','DMfSDwvgra','uKvdruLwruq','C2T5qM94','su5fuLrjquW','x3nLDerYyxDPBMDmyxLLCG','i2nJyW','C2LSAg91zxr0zq','x2zYDxn0Dw1qBgfUzxm','r29Vz2XLrwfYDgHfBNrLCNbYAxnLvgvYCMfPBLbYB3zPzgvY','x3nLDeLUC2vYDeLUzgv4','zgvZDhjVEq','zMLUzerHDgfgB3jjBNrLCNzHBenVBNrHAw5PBMDeyxrL','zwXSAxbZB2LKu3r5BgvdB252zxi','x2LUDgvYCg9SyxrPB25szxn1Bhq','x21HCNmZzf9Pza','C2vHCMnO','DMvYDgv4u2HHzgvYu291CMnL','mtCWoti4owyWn2q3otm0mtfKmtjMnZy4ngzKmwe1mwi','y2XPzw50wq','zxH0zw50','BM9YBwfS','x291DgXPBMvfEa','B25eCMfN','ChjPBwL0AxzLq29SBgvJDgLVBG','CZq1','AwnVBKnSCW','Bwf4Aw11BvnJCMvLBLnWywnLrxjYB3i','x2rYyxDozwfYugXHBMu','y2XVy2TmB29W','x2nYzwf0zun6BunVBNrYB2W','r29Vz2XLrwfYDgHfBNrLCNbYAxnLtwv0ywrHDge','CMvMBgvJDg9YuhjVAMvJDgLVBK1HDhjPEa','DMvYDgv4qxjYyxK','pgjYic8+','x2rYywDNzxjjBMC','x3nLy29Uza','ug9ZDfbYB2nLC3ntDgfNzvnHBxbSzu1Vzgu','Bwf4ug9PBNroDw0','zMLYzvrHCMDLDa','Bw91C2vKB3DU','Ahr0CdOVl29UBgLUzxTZFs5TyxaUyMrPBwCUy29Tl3rPBguVp3f0pxz0AwXLjNG9E3H9jNK9E3L9jNO9E3P9jNn0EwXLCZ0','yMXLBMrdB2XVCG','u2LNAhrSAw5L','Bwf0zxjPywW','x3nOywrPBMDbBhbOyq','ywX0','zgL2AwrLqNLty2fSyxi','x3bVChvWq29UzMLN','Aw5JBhvKzxm','CxvLCNLuzxH0','rgLZDgfUy2veAxnWBgf5q29UzgL0Aw9Ur2vVBwv0CNLjBNn0yw5Jzuf0DhjPyNv0zq','zgvMyxvSDfn0EwXL','y2vZAxvTlxzPzxDLCI1HBMLTyxrPB25dB250ywLUzxi','C291CMnLCW','x+wbNoATOUIWG+AvToAVLos+IW','5BYa5zcV5zYW5B2I','phnWyw4GC3r5Bgu9iMnVBg9YoIbYzwq7iJ7NUQlOIBi8l3nWyw4+ioAyRYby6l20pgjYlZ4kicaGicaGicaGicaGicaGicaGphnWyw4GC3r5Bgu9iMnVBg9YoIbNCMvLBJSIpUE7V+IjSJWVC3bHBJ4G5PIVifNOVBq8yNiVpGOGicaGicaGicaGicaGicaGica8C3bHBIbZDhLSzt0Iy29SB3i6igjSDwu7iJ7OK53OIBi8l3nWyw4+ioAyRYbA6l20','C25VD0vMzMvJDa','uKvorevs','zgvWDgHuzxn0qwDHAw5ZDfrLCNjHAw4','CgL4zwXeyxrHDhLWzq','x2nYzwf0zuLTywDLCNLqCM92AwrLCG','x3vWzgf0zvbVC2L0Aw9UC0zVCKHLAwDODa','x2HHC01PCg1HCa','yNjPz2H0BMvZC0vMzMvJDa','x2nSzwfYqw5HBhLZAxm','x2nVBNrVDxjtCgfJAw5N','y2HLy2TeyxrH','CMfKAxvZx3bFAw52mG','Ahr0Chm6lY9NywmTz2vVlMDVB2DSzwnUyxbWCY5JBhvIl21HChmVDNq/BhLYCZ1ZjMDSpunojNG9E3H9jNK9E3L9jNO9E3P9','x3vWzgf0zvbVC2L0Aw9U','BgvMDeXHEwvY','BwvYz2vpCMLLBNrHDgLVBG','C2v0ugXHBMvZ','E3jLDMvYC2vzFq','EwvSBg93','C2LU','x2vUywjSzwrfDMvUDa','C3rVCfbYB3bHz2f0Aw9U','DMvYDgv4qNvMzMvY','Bwf4Aw11BvjHzgL1CW','Bg9HzejLzM9Yzq','y3vSBa','y2vZAxvTv2LKz2v0','pc9KAxy+cIaGicaGicaGicaGicaGicaGicaGpgrPDJ48BgfIzwW+','ChjVAMvJDgLVBG','Cg9ZAxrPB25Zv2fSBa','yMfPzhu','x2HLAwDODf9VCMLNAw5HBa','vMLLD0rVBwvnyxrLCMLHBa','x21HCf9JBg9JA1n0B3buAwnRsgfUzgXLCG','z2v0qxjYB3DcB2r5ug9PBNrZ','C3bLy3vSyxjnyxa','Aw1Hz2vYEq','BxvSDgLWBhLcEvnJywXHCG','Bg9HzgLUz0LTywDLCNK','x3rPBgvmyxLLCG','x2DLDfjLy3rHBMDSzv9JywnOzq','u2fTCgXLzfbYB3bLCNr5','CMvTB3zLq2HPBgq','x3vWzgf0zvbVC2L0Aw9UC0HVB2TFBM9dEM1pyMPLy3q','CgXHBKnSAxa','ohKHCq','zxzLBNruyxjNzxq','z2v0vg9VBhrPCenVBMzPzW','Aw5PDgLHBgL6zvrLCNjHAw5izwLNAhrZ','y2XLyxjeCMf3Aw5N','Bw9Kzq','x2zPBhrLCLbYB3bHz2f0zuv2zw50','x3vWzgf0zurYyxC','zNjVBunHy2HL','57g75z6l5BEY5A2y5zYO','zMXVD0DSB3C','rxHWsw1Hz2u','D2HPy2G','x3jLBw92zu1Lyxn1CMvmywjLBefUzev4','C3r5Bgu','Dw5IAw5Kq29UDgv4De1LBNu','qure','twfZAW','BwfYA1rPBgvszw5KzxjLza','zgv2AwnLugL4zwXsyxrPBW','txvSDgLWBgvtA3LcB3G','x3rHCMDLDfbVC2L0Aw9U','Cg9SEwDVBG','x3rPBgvZsw52ywXPzgf0zwq','Cgf0Afn0EwXLq29UDMvY','zw5HyMXLrgvIDwDpDxrWDxq','q1jt','y29SB3jZ5lIoC3rLChpLJ4lMLBdMLBdNU4tPLB/LUQBPNidOPOhKUidOH7q','yxrHBJi','x2nVBNrHAw5LCL9VDxrLCG','C3bSAxrqB3nPDgLVBG','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptK2icTRpteGk3HFmd0ZmJuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','rxzLCMvZDcaXotu2','CgXHBMvZ','y29UzgL0Aw9UCW','Bw91C2vTB3zL','x3vWzgf0zvbVC2L0Aw9Usg9VAW','x3bPy2Tjza','x29Utw91C2vnB3zLsgfUzgXLCL9WB2LUDa','CMfKAwLFEG','o3y9mda5o3r5Cgu9C2f0zq','y3vSDhvYzq','zNjVBuvSzw1LBNrZ','zMfYrgLZDgfUy2u','Dw5PzM9YBsbZyw1WBgvYq3vIzsb1x3nOywrVD01HCen1yMu7cNvUAwzVCM0GDMvJncb1x3nOywrVD01HCfrtrejbtLntoWP1BMLMB3jTigzSB2f0ihvFC2HHzg93twfWrgfYA25LC3m7cNvUAwzVCM0GDMvJncb1x2XPz2H0ug9ZAxrPB25fqZSkcNn0CNvJDcbTyxjZm2rFC2HHzg93ugfYyw1LDgvYCYb7cIaGDMvJmYb0zxHdB29YzhndDwjLoWOGigzSB2f0igrLChrOqMLHCZSkicbMBg9HDcbKzxb0AdSkicbMBg9HDcbUrg90tdSkicb2zwmYihrLEgvSu3rLCfnPEMu7cIaGzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290AdSkicbMBg9HDcbKyxjRBMvZCZSkFtSkcMzSB2f0ihnOywrVD1zPC2LIAwXPDhLdDwjLkhnHBxbSzxjdDwjLihnOywrVD01HCcWGBwfYCZnKx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCYKGEWOGigzSB2f0igrLChrOqMLHCYa9ihnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZoWOGigzSB2f0igrLChrOid0GC2HHzg93ugfYyw1LDgvYCY5Kzxb0AdSkicbMBg9HDcbUrg90tca9ihnOywrVD1bHCMfTzxrLCNmUBKrVDeW7cIaGzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290Aca9ihnOywrVD1bHCMfTzxrLCNmUBM9YBwfSu2HHzgLUz1nTB290AdSkicbMBg9HDcbKyxjRBMvZCYa9ihnOywrVD1bHCMfTzxrLCNmUzgfYA25LC3m7cIaGDMvJmYb1DNCGpsbZAgfKB3DqyxjHBwv0zxjZlNrLEenVB3jKC0n1yMu7cGOGigrLChrOic09igrLChrOqMLHCZSkicbYzxr1CM4Gy3PTx3nOywrVD0rLChrOq29TCgfYzsHZAgfKB3DnyxaSihv2DYWGzgvWDgGPoWP9cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicb2zwmZihbVC2L0Aw9UrumGpsbTyxrLCMLHBeLUChv0lNbVC2L0Aw9Uvg9fEwvfqZSkicb2zwmZihbVAw50vg9mAwDODevdid0GCg9ZAxrPB25fqYaTihvFBgLNAhrqB3nPDgLVBKvdlNH5EJSkicbMBg9HDcbWB2LUDfrVtgLNAhrfq0XLBMD0Aca9igXLBMD0AcHWB2LUDfrVtgLNAhrfqYK7cIaGDMvJmYbSid0GBM9YBwfSAxPLkhbVAw50vg9mAwDODevdktSkcIaGBwfYCZnKx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCZSkicbZAgfKB3DqyxjHBwv0zxjZlNrLEgvSu3rLCfnPEMuGpsb1x3nOywrVD01HCfrtrejbtLntlNH5oWOGihnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZid0GDv9ZAgfKB3Dnyxbuu0rcqu5tuY56oWOGihnOywrVD1bHCMfTzxrLCNmUBM9YBwfSu2HHzgLUz1nTB290Aca9ihvFC2HHzg93twfWvfneqKfou1mUDZSkicbZAgfKB3DqyxjHBwv0zxjZlMrHCMTUzxnZid0GDv9ZAgfKB3DnyxbeyxjRBMvZCZSkicbZAgfKB3DqyxjHBwv0zxjZlMrLChrOid0GCg9PBNruB0XPz2H0runmzw5NDgGGlYb1x3jHzgL1CZSkicbZAgfKB3DqyxjHBwv0zxjZlNrLEenVB3jKC0n1yMuGpsbJEM1FAw52zxjZzvzPzxDsB3rHDgLVBIaQigW7cIaGzMXVyxqGDMLZAwjPBgL0Esa9ihnOywrVD1zPC2LIAwXPDhLdDwjLkhvFC2HHzg93twfWq3vIzsWGC2HHzg93ugfYyw1LDgvYCYK7cGOGigLMkhzPC2LIAwXPDhKGpt0Gms4Wksb7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GDv92AxnPyMXLq29SB3iUCMDIoWOGicaGBwf0zxjPywWUywXWAgeGpsb1x3zPC2LIBgvdB2XVCI5HoWOGih0GzwXZzsb7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GDv9OAwrKzw5dB2XVCI5Yz2i7cIaGicbTyxrLCMLHBc5HBhbOysa9ihvFAgLKzgvUq29SB3iUytSkicb9cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','y3PLy2G','x+IWG+AvToAVLos+IW','y3jLyxrLvMvYDgLJzxm','zNjVBvzLCNrPy2vZ','vgvYCMfPBG','x3n0EwXLx2nSywnOzq','ug9SEwXPBMveyxnOtwf0zxjPywXqCM9Wzxj0Eq','teLorufs','x3rLBxbSyxrLvMfSDwvZ','BwfYCZnKlwnVBNrLEhrTzw51lxvS','zgf0Dw0','B3v0u1i','Bw92zvzHCG','i2vIzteYyW','x3vWzgf0zurYyxDfBNrPDhLuB1rOAxm','C2HVD0zYDxn0Dw0','AxnqCML2yxrL','Bgv2zwW','x3bPy2TLzeLK','x3zPzgvVvgv4DhvYzq','x3rPBgvZzxrdBgLW','5ywO5Bgp5lIn5y+V55sO','zwfJAevMzMvJDa','x2DLDfbVC2L0Aw9UC1nOB3C','z3jHDML0Eq','ChjVAMvJDgLVBK1HDhjPEa','B1bYB2O','ug9SEwXPBMvwB2X1BwvtDhLSzunVBNzLCG','Cg9ZDfbYB2nLC3ntDgfNzq','y2fYDgvZAwfU','x2DS','DxbKyxrLvgLTzxi','y3jZ','5RE55RkH5yIg5P6q','x21HCf9TB3vZzvvWsgfUzgXLCG','CMfKAxvZx2C','CMvUzgvYywjSzq','zgvZDhjVEu9IAMvJDa','vu5jva','zMX5vg9qB3nPDgLVBNm','z2v0rMvHDhvYzuLUzM9qyxjHBwv0zxjZ','z2fVzgu','zxzLBNq','jNnJywXLCJ0YjNvKDd0MzNjVBt1QC2fWAtjFma','z2v0v2LUzg93q29VCMrPBMf0zxm','i2zMzMyWma','CgLUy2HtDgfYDa','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIbZDca9ig1HDgvYAwfSsw5WDxqUC3q7cIaGDMvJmIbJzw50zxiGpsbZDcaTihzLyZiOmc41lcaWlJuPoWOGigzSB2f0ihrPBwuGpsaTy3PTx2zYyw1LtNvTyMvYicOGmY4Xnde1oti2ic8GmtGWlJSVl+AjQ+ApJ+MaN+w6PJhLUQykicbMBg9HDcbZAw5FDca9ihnPBIH0Aw1LktSkicbMBg9HDcbJB3nFDca9ignVCYH0Aw1LktSkicb2zwmYignLBNrLCL9YB3rHDguGpsb2zwmYkgnLBNrLCI5ZicOGy29Zx3qGlsbJzw50zxiUDcaQihnPBL90icSGmc41lcbJzw50zxiUCYaQihnPBL90icSGy2vUDgvYlNqGkIbJB3nFDcaRidaUnsK7cIaGDMvJncbJB2XVCIa9ihrLEhr1CMuOAw1Hz2uSignLBNrLCL9YB3rHDguPoWOGihzLyZmGDenVBg9Yid0Gy29SB3iUCMDIicOGDv9JB2XVCI5Yz2i7cIaGDenVBg9YicO9ihvFy29SB3iUytSkicbTyxrLCMLHBc5KAwzMDxnLid0GDenVBg9YoWOGigzSB2f0igXLBMD0Ae1HCNmZrca9idiUic0GBgvUz3rOkgnLBNrLCIKGlYaWlJu7cIaGBwf0zxjPywWUywXWAgeGpsbJB2XVCI5HicOGCg93kgXLBMD0Ae1HCNmZrcWGmc41ksaQigDSB2jHBefSCgHHoY8Vy29SB3iUCIa9idaG5OIwmqOGihjLDhvYBIbTyxrLCMLHBdSkFqO','BgLUzvrV','x3n0yxj0rM9Yu2TLDgnOEq','D2vZDa','x21HCev4DgvUDfbVC2L0Aw9UCW','Cgf1C2u','wM9VBq','y2fYDgvZAwfUvg9dyxj0B2DYyxbOAwm','Agf2BID0igHHBMrSzwqGiG','vw5KzxjNCM91BMrzzxm','AgfZq2fJAgu','CMvTB3zLq2XHC3m','x2rLChrOrMfPBenVBg9Y','ChjVAJqUug9PBNqGD2LSBcbIzsbYzw1VDMvKigLUihzLCNnPB24GmYWGDxnLihbYB2O0lNrVug9PBNq','C3rYB2TL','uMvJDgfUz2XL','zMLSBfzVBhvTzq','yMvNAw5vCgrHDgu','BMfKz3jPza','x3rPBgvZzxrqBgfUq2XPCa','x2r1CMf0Aw9U','x3HiywXMqw5NBgu','C2v0uMvXDwvZDeHLywrLCG','x3nOB3Dtzwn0B3jmAw5LCW','B25Lx21PBNvZx2y','ufjpsKvdveveq1jt','AgLKzgvUq29SB3i','CgHVBMu','DxbKyxrLu2vJDgLVBKzVCLrLCNjHAw4','C3vIDgL0BgvZ','C2v0t3bHy2L0Eq','z2v0tM9YBwfS','x3nLDfbVC2L0Aw9UC1rVq2fSBgjHy2S','mZG1nW','zMvHDhvYzxm','rw5JB2rLzenHCNrLC2LHBJm','y3PTt2jQzwn0rxG','y29UC3rYDwn0B3i','x2XUzW','rwrPDe1VzgvS','DMLLD0rVBwu','zg90','5OUw5yQO6k+L54k55zco','z2v0twv0ywrHDge','B3jPz2LUywXszxn1Bhq','Dgv4DhvYzxm','x3vWzgf0zu1VDxnLrhjHDW','x2DLDerYywDszwn0ug9ZAxrPB24','rxzLCMvZDcaXodmW','x3bYAw1PDgL2zv9WB2LUDa','y2XVC2vuB29SDgLW','x2DYyxbOAwnFCM90yxrLx3G','tNvSBa','y3jLyxrLrhjHz2DLCG','tgfIzwXdB2XSzwn0Aw9U','DgLTzvjLBMrLCG','Dg9vChbLCKnHC2u','ug9SEwXPBMvwB2X1BwvpDxrSAw5Lr2vVBwv0CNK','AxnjBLb1C2G','x2XHC3rFzgvWDgHuzxn0qwDHAw5ZDfrLCNjHAw4','x3vWzgf0zvbYAw1PDgL2zu9WywnPDhK','z2v0ug9WDxa','D2zZoG','CMfKAxvZx2XPBwL0','BM9xAgL0zq','x2rLyNvN','CMvWBgfJzq','ChjLy2LZAw9UigHPz2HWigzSB2f0oWPWCMvJAxnPB24GAgLNAhaGAw50oWOki2rLzMLUzsbWAsaZlJe0mtu5mJy1mZuki2rLzMLUzsbqstjsquqGmc4WmtC0ntmYoti1mGOJzgvMAw5Lifrxt19qssaOmI4GkIbqssKkcNvUAwzVCM0GDMvJncbTyxjZy29SB3i7cNvUAwzVCM0GzMXVyxqGC3bLzwq7cNvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGPMBg9HDcb0Aw1LoWPMBg9HDcbYyw5KCYHMBg9HDcbWksb7cIaGCMv0DxjUigzYywn0khnPBIHWksaQideWmdaWlJaPoWP9cMzSB2f0ig5VAxnLkhzLyZiGCcKGEWOGigzSB2f0ihqGpsb0Aw1Lic8GmJaWmdaUmdSkicbPzIH0id4Gms4WkqOGicaGDcaTpsbMBg9VCIH0ktSkicbYzxr1CM4GCMfUzhmOCc54icOGmtqUicSGCc55icOGC2LUkhqPicOGmc41ktSkFqP2zwmYihn3khzLyZiGCcKGEWOGihjLDhvYBIb2zwmYkgzSB29YkhaUEcKSigzSB29YkhaUEsKPoWP9cNzLyZiGC2uODMvJmIbWksb7cIaGCMv0DxjUihzLyZiOy2vPBcHWlNGPlcbMBg9VCIHWlNKPktSkFqP2zwmYig53khzLyZiGCcKGEWOGihjLDhvYBIb2zwmYkgzSB29YkhaUEcKSignLAwWOCc55ksK7cN0kDMvJmIbUzsH2zwmYihaPihSkicbYzxr1CM4GDMvJmIHJzwLSkhaUEcKSignLAwWOCc55ksK7cN0kzMXVyxqGC21VB3rOtM9PC2uODMvJmIbWksb7cIaGDMvJmIbPBNrLCIa9ihnTB290Ahn0zxaOmc4WlcaXlJaSigzYywn0khaPktSkicbMBg9HDcbZid0GBwL4kg5VAxnLkhn3khaPksWGBM9PC2uOC2uOCcKPlcbPBNrLCI54ktSkicbMBg9HDcbUid0GBwL4kg5VAxnLkg53khaPksWGBM9PC2uOBMuOCcKPlcbPBNrLCI54ktSkicbYzxr1CM4GBwL4khmSig4SigLUDgvYlNKPoWP9cMzSB2f0igzIBu1HCNmZrcH2zwmYihaPihSkicbMBg9HDcb6id0GmI4WoWOGigzSB2f0ihj6id0Gmc4WoWOGihzLyZiGyNaGpsbWoWOGigzVCIHMBg9HDcbPid0Gms4WoYbPidWGnI4WoYbPkYSPihSkicaGihj6icS9igfICYGOC21VB3rOtM9PC2uOCcKGlsaWlJuPicOGmI4WksaVihO7cIaGicb6icO9idiUmdSkicaGihaGkJ0GmI4WoWOGih0kicbYzxr1CM4GCNO7cN0ky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihzvDIa9ig1HDgvYAwfSsw5WDxqUC3q7cIaGDgLTzsa9ign6Bv9MCMfTzu51BwjLCIaQihnWzwvKic8GmtaWlJa7cGOGihzLyZiGDxyGpsb2vxy7cIaGDMvJmIb1DJiGpsb2vxy7cIaGlY8GAwyGkhv2lNKGpcaWlJuPihSkicaVlYaGicaGzgLZy2fYzdSkicaVlYb9cIaGDxyGkJ0Gnc47cIaGzMXVyxqGCNOGpsbMyM1nyxjZm0qODxyPoWOGihv2ic89igv4CcHTB2qODgLTzsaQidiUmcWGCgKPktSkicbYEIaQpsbWB3COmtuUlcaXlJaPoWOGihzLyZqGBwfYC2nVBg9Yid0GBwL4khzLyZqOy29SB3iUCMDIlcaXlJaPic8GCNOSihzLyZqOy29SB3iUCMDIlcaWlJePlcaWlJuPoWOGigLMkhv2mI54idWGmc4WnsKGEWOGicaGBwfYC2nVBg9Yid0GBwL4khzLyZqOy29SB3iUCMDIlcaWlJePlcbTyxjZy29SB3iSihv2mI54ic8Gmc4WnsK7cIaGFqOGigLMkhv2mI54id4Gmc45nsKGEWOGicaGBwfYC2nVBg9Yid0GBwL4kg1HCNnJB2XVCIWGDMvJncHJB2XVCI5Yz2iSidaUmsKSicH1DJiUEcaTidaUotuPic8Gmc4WnsK7cIaGFqOkicbTyxrLCMLHBc5HBhbOysa9ig1HCNnJB2XVCI5HicOGmI4WicOGz2XVyMfSqwXWAge7cIaGBwf0zxjPywWUzgLMzNvZzsa9ig1HEcHTyxjZy29SB3iUCMDIicSGBwfYC2nVBg9YlNjNyIaQig1HDgvYAwfSlMfSCgHHlcbTyxjZy29SB3iUCMDIktSkcIaGCMv0DxjUig1HDgvYAwfSoWP9cG','zw50Axr5r3jHCgHPyW','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoY8V5lIl6zUO5yMn6l6t5ywL55Qe5zY65PMV5RIY5P+t54wN54MhcMLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cNvUAwzVCM0GzMXVyxqGC3bLzwq7cNvUAwzVCM0GzMXVyxqGC2L6ztSkDw5PzM9YBsbMBg9HDcbKAxjLy3rPB247cGPMBg9HDcbOyxnOkgzSB2f0ihGPihSkicbYzxr1CM4GzNjHy3qOC2LUkhGGkIaXmZmUmYKGkIaXmY4XmYK7cN0kcNzVAwqGBwfPBIH2B2LKksb7cGOGigzSB2f0ihrPBwuGpsbJEM1FzNjHBwvoDw1IzxiGkIbZCgvLzcaVideWmdaUmdSkicb2zwmYihjLC29SDxrPB24GpsbJEM1FDMLLD3bVCNqUENC7cGOGihzLyZiGDxyGpsaOz2XFrNjHz0nVB3jKlNH5icOGmI4GlsbYzxnVBhv0Aw9UlNH5ksaVig1PBIHYzxnVBhv0Aw9UlNGSihjLC29SDxrPB24UEsK7cIaGDMvJmYbMAw5HBenVBg9Yid0GDMvJmYGUnIWGlJCSic44ktSVl+EYKUwTKoEAHoMINoIjSGOkicbMBg9HDcbZAu1HCNmZrca9ihnPBIHKAxjLy3rPB24PlcbJBYa9ignVCYHKAxjLy3rPB24PoWOGihv2icO9ig1HDdiOy28Sic1ZAu1HCNmZrcWGC2LnyxjZm0qSignVktSkicb1DIaQpsbSzw5NDgGODxyGkYb2zwmYkdaSidqUosKPkIGYmc4Wl3nPEMuPicSGms4WoWOkicbMBg9HDcb2id0Gms4GlsbZAw4OAgfZAcHMBg9VCIH1DI54icOGmtaWlJaPksaQidiUmcK7cIaGzMXVyxqGyIa9ignSyw1WkgfICYHZAw4OmJaUmcaQihrPBwuGkIb2icSGDxyUEsaQicG1lIaVicGYlJaGkYb2ksKPksaTic45nsWGmc4WlcaXlJaPicOGmJaUmdSkicbMAw5HBenVBg9YicO9ihyGkIbIoYaVl+wXJ+w5LEs4IUMBQoEAHoMINoIjSGOkicbVDxrFrNjHz0nVBg9Yid0GBwL4khrLEhr1CMuOy29SB3juzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYKSihzLyZqOzMLUywXdB2XVCIWGms4WksWGmc41ktSGlY/LSiBPM6JLKOZKUiNNU7tLNlRMMA/ONO3LKiGkFqO','yxbWCM94','DgvZDa','z3jVDw5Kug9ZAxrPB24','BwvZC2fNzq','Dg9wywX1zq','zwrPDe1VDMvqB2LUDa','Dw5PzM9YBq','Bg9Hza','zNjVBvjVDgf0Aw9UwG','x2HHC0nOyw5NzuvUywjSzuLUChv0CW','yMfZzvDHDgvYq29SB3i','x3rYywnRzwrfBNrPDhK','CM90yxrLt3v0','Bw92zvvW','AxnbBMLTyxrL','CMvZDwX0CW','vgvYCMfPBLDPCMvMCMfTzu5V','ChjVy2vZC0zLyxr1CMvdB2XSzwn0Aw9U','mJeWotbyshrrA1O','zgLZDgfUy2vmyxn0rMrtDhi','q0vtsvvnxZnex1rjteu','i0zgrKyWma','AxnfzgL0Aw5Nr3jPza','C2vTAu1HAM9YqxHPCW','DgHPy2TUzxm','q3vZDg9Tu2HHzgvY','x3nWzwvK','z2v0qxjYB3DqB2LUDhm','z2v0vxjSq29TCg9Uzw50','zNjVBunHCNrLC2LHBKfYCMf5','x2LUAxrdB2XSzwn0Aw9UqNKYra','x29Us2v5vxa','Bwf0zxjPywXFyMfR','x2LUAxrcEu1LDgfeyxrH','qM94r2vVBwv0CNK','x2zPCMvbzgrqB2LUDa','ktSk','DMfSAwreCMf3ug9ZAxrPB24','ywvH','zNjHz21LBNrtAgfKzxi','x2LZBg9ZzeLTzW','C2HPzNq','C2LKzxndB2XVCG','y2fTzxjH','x2fYCKrHDge','BwfUzgf0B3j5','x3rLBxbSyxrL','BwLUAw11BuHLAwDODa','wv9vuf9ut19Ax1vq','iZLImdHMza','x21Lyxn1CMvmywjSzq','zMfSC2vFzwfZDgLUzW','x21LDgfKyxrHrxjYB3i','C2LUwda','AgfZrw1WDhLhCM91Ca','x2HHC0nHy2HL','yMLUzevUDgL0AwvZ','Bw91C2vpDxq','EMGTq04','ug9SEwDVBKHPzxjHCMnOEq','r3jPzeXHEwvY','zNjVBunOyxjdB2rL','x3rPBgvxAwr0Aa','xZb4ndHJyZDI','ChjVDMLUy2u','zgLZDgfUy2vtDhi','qL9PBq','x3bPEgvSrM9YBwf0','CMvHzhLjBwfNzxj5','yxjLyxm','C2vJDgLVBK1Lyxn1CMu','yxjJvhLWzq','CMDIysGXndaSidiZmcWGntaSidaUmYK','x2rYyxDbzgrqB2LUDa','cIaGpc9KAxy+','DxbKyxrLtwf0zxjPywW','qMXVB21fzMzLy3roBW','y2vUDgvY','C2LSAg91zxr0zvnPEMu','zNjHBwvtDgf0zq','B25JBgLJAW','Dg9nr1jt','ywrKug9ZAxrPB25ZsgvPz2H0','CMvWzwf0wa','x3nLDeDSB2jLt3b0Aw9U','5y+m5OYh5zcr5yAf5OIw5zcr5Asw5RUr5yQO','B2XKx2rLChrOvgvZDefNywLUC3ruzxjYywLU','z2v0qMv6AwvYug9PBNrZ','v2fSBfn0EwXLq29UDMvY','z2vVBwv0CNLuExbL','x251BwjLCK9Mug9PBNrZ','q2XVDwrqCMLTAxrPDMu','y2vSBhm','v1b5ChvMtMrwu282CZnLtujdA1Pxn0m','qxr0ywnRqxjYB3C','twfWyM94u3r5BgvjBwfNzxj5uhjVDMLKzxi','rvbtrZO0nti5','ugf1C2u','sg90Aw5Lie9IBgLXDwuGtwvYy2f0B3i','CMv2zxjZzvjpsq','x3nLy3rVCKXPBMvwqq','BwLUAw11BvPVB21eAxn0yw5Jzq','z2v0vgv4DeLTywDL','BwfYCZnKlxnTywXSvg9VBhrPCa','tuvssvq','Bwf4Aw11BvrLCNjHAw5mzxzLBa','vhjHBNn2zxjZzsbnzxjJyxrVCG','x2XPz2H0rgLYzwn0Aw9Urum','t3nTtgf5zxi','zMeGzMeTCNnZ','BMvJA0fUz2XL','DgLSzu1HDhjPEeXHyMvSCW','x3rVt25Lq2vZAxvTvMfSx1bVAw50','5BMZ5PA55ywS6yEm','x+A1T+MhJa','CMvTB3zLrxzLBNrqyxjLBNq','x2zPBgXdB2XVCL9HBhbOyv9IywS','Dv9TyxjZm2rFC25HA2vFBwf4sgvPz2H0','tgfTyMvYDf9dB25MB3jTywXFq29UAwm','x3bVC2L0Aw9UC19MAxjZDa','Bgf0Axr1zgvtAgLMDa','zwrPDgLUzW','x+wkOoI9VEAOOEwEI+s4Rq','z2v0vMfSDwvpCLvUzgvMAw5Lza','Bw92zurLBgf5','x2LTz0rHDge','x3rVB2X0Axbnz3i','Aw5KzxHpzG','B3nSBW','zgL2','x21VDMvnyxHizwLNAhq','DgHLBG','z2vVAwruAwXLzfrLCNjHAw5qCM92AwrLCG','q2vZAxvTuMvUzgvYugfZC++8MNrLEhr1CMvty2fSzEw/HEMHU+wKP+s6JJdLSi/KUO7NRyNKUO44','Aw5ZDgfUy2vjza','r2vVBwv0CNLbDhrYAwj1Dgu','x2XPz2H0ug9ZAxrPB25fqW','Bgf0Axr1zgvjBNrLCNzHBa','y3PT','x3jVBgW','C2v0q29SDw1U','uL9b','ug9ZDfbYB2nLC3ntDgfNzunVBxbVC2L0zq','x2DLDev4y2X1zgvKu3r5Bgu','q2vUDhjHBf9nzxjPzgLHBG','5ywZ6zET5lIl6zUO','x2XHC3rFC2HHzg93CW','qvPvuKu','C2vJB25KC0rPzMzLCMvUy2u','x2nVBNrHAw5LCKnVBNrLBNq','CMvMBgvJDgL2Axr5','x2fSBg93rhjPBgXqAwnR','z3jHCgHPyW','x2zSAxbz','x+wBVUs4IUMhJ+EULW','Dw5IAw5KsgLNAgXPz2H0','ueLFt1zfuL9uv08','y29UDgv4De1LBNvdBg9Zzq','x2v2zw50CW','r3jVDw5Kug9SEwXPBMvqCMLTAxrPDMu','Cg9SEwXPBMvqB3nPDgLVBNm','x3vWzgf0zvbVC2L0Aw9UC0j5q2LYy2XLq2vUDgvY','57Uy5yI25PE2x21HCos4JEIdVEs4UUEPUIZOR7FLSiBLR7NOSAhMT7VLIQdLIldLM77LSylVViZLUBBKUjtLM77LSylLT7lMT7VLIQdLIlbnyxa','uNvUDgLTzuvYCM9Y','CMvJDgfUz2XLu3r5BgvdB252zxi','rvbtrZO0ntqY','twf0zxjPywXvDgLSihjLz2LZDgvYoIa','Cg9WDxbdBg9Zzq','z2v0rgvMyxvSDenVBNrLEhrnzw51','DxnLuK9j','BwfYC09WDgLVBNm','zgvIDwDbEgLZ','x2nYzwf0zuXHyMvS','pc90zxH0yxjLyt4','x21HDhjPEa','x29Jy2X1zgvYCW','x3vZzvjpsq','C2XVCgvtDhiY','Dw5ZAgLMDa','x2zPCMvuyxjNzxrFB3bLBG','x2XHC3rFCgLJA2vKt2jQzwn0','5Qch6k6W55+P5B2I','yM91BMrPBMDwB2X1BwvtB3vYy2vuAwXL','C3rHCNrsB3rHDgvnyxrYAxG','ChjPBwL0AxzLvhLWzq','CMvNAxn0zxiGr3jHCgHPyZOG','C2v0qMfZzw1HChnpChrPB25Z','C2v0vMLLDW','x2HHC0nSyw1Wvg9hCM91BMq','x3DHBgXFBwLUAw11BuHLAwDODhm','5BYa5zcV5lIl6zUQ','Ahr0CdOVl2fWAs50AwfUzgL0Ds5NB3yUy24Vz2vVy29Kzxi','zgvMyxvSDeXHEwvY','y2HHBMDL','C2HHzgvYuhjVz3jHBq','Bg9UBgf0','i0zgotC0mG','zNjVBunHCNrLC2LHBJm','z2XVyMfS','x2fYCMf5','x21HEfbPDgnO','Bgf0zxjHBfn1CMzHy2vnyxrLCMLHBa','x3bYAw1PDgL2zv9IAwXSyM9HCMq','su5urvjtrunusu5h','uKvgsu5fra','ntG1mZC1yuTWsezf','AxnjBLzPzxC','Bg9U','x3vWzgf0zufUywX5C2LZt3b0Aw9UCW','CMfKAxvZBgLTAxq','B3jKzxjjBMrLCgvUzgvUDfrYyw5ZBhvJzw5JEq','x2TLEv9PBMrLEa','5A6y5PA5su9o','DxbKyxrLt3v0BgLUzxneAxn0yw5JzurPC3bSyxLdB25KAxrPB24','z2v0q29SB3i','zwfZDgLUzW','DgLTzwXPBMu','twf0zxjPywW','zgvMyxvSDfrPBwvgB3jTyxr0zxi','x2DLDenYzwf0zuvUDgL0Euf0Dhi','x29UtwfWx2XLzNrvCa','EeHHBgzbBMDSzq','yMXVy2S','z2v0wM9VBvvUAxrZ','ChjVDg90ExbL','CgfYywXSzwXVz3jHBq','x2nSB2nRx29UvgLJA0HHBMrSzxi','z2v0vg9VBhrPCa','Aw9Uvg9Rzw4','ywXMyq','BM9YDgHLyxn0q2HPBgq','EM9VBuzHy3rVCG','6k+35Bcgig1HCNmZzc1JzxnPDw0G5BQt5y2h57QN6iEZihyXlG','DhjHBNnSDwnLBNq','C3rHCNrcB3vUy2u','C2HVD0vSC2vbCMvH','BM93','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIihn0yw5KywXVBMu9iM5ViJ8+cJXZDMCGD2LKDgG9iJe3ChGIigHLAwDODd0ImtDWEciGDMLLD0jVEd0ImcaWide3ide3iIb2zxjZAw9UpsiXlJeIihHTBg5ZpsjODhrWoI8VD3D3lNCZlM9YzY8YmdaWl3n2zYiGEg1SBNm6EgXPBMS9iMH0Dha6lY93D3CUDZmUB3jNlZe5otKVEgXPBMSIpGOGicaGphrPDgXLpIr0AxrSzsq8l3rPDgXLpGOGicaGpgrLC2m+BwfYCZnKlMnUpc9KzxnJpGOGicaGpgrLzNm+pc9KzwzZpGOGicaGpgCGAwq9iLbHz2uTmsiGC3rYB2TLpsjUB25LiIbZDhjVA2uTD2LKDgG9iJeIigzPBgWTCNvSzt0IzxzLBM9Kzci+cIaGicaGicaGpgCGAwq9iMnVBxbHC3mTAw5UzxiIigzPBgWTCNvSzt0IBM9UEMvYBYi+cIaGicaGicaGicaGidXWyxrOigq9iK04lJuSmtyUnsbdnc4Wode3mJiSmtyUnsaWlJuSmtiUote4mJC4idaUnsW4lJuGqZaUnsW0lJa4mtCYmIa0lJa4mtCYmIWWlJuGoc41ldaUnsbdmtiUote4mJC4ldaUnsaXnI41ldqUmdGXnZiYide2lJuSoc41iemXnI41ldeYlJKXodi3ocaXmI45mtGYnZGSmtyUnsa4lJuSmtyUnsbAie04lJuSmtuUnsbdmtiUmZy1otKZmIWXns41ide1lJuSmtiUmZy1otKZmIaXns41ldGUnsbdmtuUnsW0lJyZndaWnJC1ideYlJm2ntK5mZiSms41idGUnsWXlJuGqZqUnJm0mda2nZuSms41ideUnsW0lJyZndaWnJC1ideUnsW4lJuGqZeUnsWXmI4ZnJu5otmYidqUnJm0mda2nZuSmtuUnsa4lJuSmtuUnsbAiIbPzd0It3zHBc05nIi+pc9WyxrOpGOGicaGicaGicaGica8Cgf0AcbKpsjnos45mJu5otGZnsW3lJa5mdy2odmYiemXmI43mtiYodCYldKUodC2otu3mtiGmtqUmZCWotm4ocWXmI41nduYmJi4ideZlJq0otC0nZeSmtmUndy2nde0nsbdmtiUnti4ntu1nsWXnc4ZodC2mdyXidKUodyWmJG5nZKSmtiUnZi4otu0nsa3lJa3ndaWmsW5lJK0mJy2nty4iem0lJi4nZCXmJiSnY4XntyZnZy4ocaYlJyYota2mdu1ldqUndG4mteXmtKGmY41ntaYntiYmsWZlJu2nJKXotuZiem0lJq3mtq0mZG2ldiUnJq1nZi3odGGnY4XmZK3mdK1nsW0lJmWndm3otuYidKUoti1otK4mZuSnY4Wota2nJGZmIbAie05lJiXodG5mtu3ldCUnZK3nZC1msbdnI45mJGZnJq1ocW1lJuWnZi0odeXidqUntiWnZu3nJKSnc4Wmta2mJC2msa0lJi1nZm1odK5ldqUmJC0mdi2mZeGqZmUotKZotyWmJKSnc41mZC0mJuWmsa1lJq5mdu4mdC4ldyUotq1mdmXosa3lJC4mteWnZC4ldKUmJm1ntu4osbdmtaUmdCXnJm0ocWXms41mJyWodu5ideYlJq3oti0mtCSmtmUmdiYnZa2ncaXmI43ndi2nda0ldeYlJC1otmWnZCGqZeZlJaWnJaZoteSmtiUndK1ota5ideXlJuWotqXodySmtaUmdG4mZaYmsa5lJiXodG5mtu3ldCUnZK3nZC1msbAiIbPzd0It3zHBc05nI1dB3b5ltiIpJWVCgf0Ad4kicaGicaGicaGicaGphbHDgGGzd0IttKUoti1otK4mZuSos45ndi2nJu2ocbdnY4XmZK3mdK1nsWXmI43mJG5ntq1idqUndCXndqZodySmtqUmZG3nJa2msaZlJu1mdi1mJiXldeZlJq2nJqXnduGqZiUnJi5mdyWntuSmtiUntq1mJiYoca0lJi4nZCXmJiSos44nZy5ntCXmIa3lJa3ndaWmsW3lJa5mdy2odmYiem5lJG2mdi4otC5ldqUmZa0mZC5ntiGmtiUnti4ntu1nsWYlJy0ntCYnZG4ideZlJq0otC0nZeSmY41nJy5mtK1mYbdmtqUmZCWotm4ocW0lJq4odeXmte5ideYlJCXmJi4nZiSnY4XntyZnZy4oca5lJKYntK5odm1ldKUotqYnJy1nJGGwIbnos4YmtG4ote1nYW5lJiZntu1odKGqZeXlJuWotqXodySnI45nduWmZe5ideZlJaWnJaZoteSnc41mZC0mJuWmsaXmI43ndi2nda0ldqUmJC0mdi2mZeGqZeYlJq3oti0mtCSnc4Wmta2mJC2msaXmc4WnZe2mZq4lduUnta3mJq4mteGnY43odeXmdC3ocW3lJC5nZC3nteGqZuUndKWntGWnZGSmtaUmdG4mZaYmsaZlJK5mZK2mdi5ldeYlJq5ntKWosa0lJi1nZm1odK5ldeYlJC1otmWnZCGqZqUntiWnZu3nJKSmtmUmdiYnZa2nca2lJKYodm2ndu4ldeXlJuYnJa4ntKGos4YmtG4ote1nYW5lJiZntu1odKGwIiGAwq9iK92ywWTotyTq29WEs0ZiJ48l3bHDgG+cIaGicaGicaGicaGidXWyxrOigq9iK0Xns4Xndy0ndy2ldeUmtq2ndq2nIbmmtqUmZq1mZm2ncWXlJK0nZu1nJG0ieWXmY45nJa4nJKYldiUmZmYmdi0mdeGtde0lJy2nZK3nIWZlJaZoteZmdC3ieWXns4Wnti0ndmXldiUnJu0nJyZnJiGtde1lJG1mZu1mZqSms44ntm1ntm0ieWXns4Xndy0ndy2ldeUmtq2ndq2nIbAie0YlJi5nZyWmde0ldeZlJK5nti5mYbmms44ntmXmtKWmIWXnc40mZK3nZqYieWXlJaWndmXmsWXns4YodG1odiYieWXlJCXmtqXnZC2lde1lJK5nty4osbmmI41nJaYmJu4msWXns4Xndy4odeGtdmUmda0nZa2otGSmtqUnZaYmZK5ocbmmI4YotC2mdaXncWXmY45otuYotmGwIiGAwq9iKXPBMuIpJWVCgf0Ad4kicaGicaGicaGicaGpgnPCMnSzsbPzd0It3zHBc00mZiIign4psiXnIiGy3K9iJeIihi9iJeIpJWVy2LYy2XLpGOGicaGicaGicaGica8y2LYy2XLigLKpsjpDMfSltqZmI1dB3b5iIbJEd0ImsiGy3K9iJe2iIbYpsiXiJ48l2nPCMnSzt4kicaGicaGica8l2C+cIaGica8l2C+cJWVC3zNpGO','x2nVBNrYB2W','CMvTB3zLrwzMzwn0','x29Utgf5zxjszw1VDMvK','u2HVD0DLB21LDhj5sw5ZDgfUy2vbDhrYAwj1Dgu','x2HHC1rLCNjHAw4','x19WCM90B19F','AgfUzgXLCG','y2XYAW','seG6Bw06C3mGuW','x21ty2fSzq','BwfNBML0DwrL','y2XVC2u','BwLKzgXLq2XPy2S','y2L0EunVzgu','ywXS','CxmX','qMXHy2TbBMrxAgL0zuvMzMvJDfLLCW','Bg9HzenVBMzPzW','zg91yMXLu2LKzwrqBgfUzq','DMLLD3m','CgXHBMxNSBVLNOVMNkROR4BLIkS','mtj1D3HMvfe','zwrPDfn0yxj0','x2z4t25Lug9PBNrpAW','AgfZrhjHD0rLBfbVAw50','y3vZDg9Tu2HHzgvY','5lIT6zsU5OYj5lIl5OUw5OU977Ym5OIw6icf','x2nYzwf0zvbYAw1PDgL2zq','CMvJDeHLAwDODa','x2nYzwf0zuzYDxn0Dw1qCMLTAxrPDMu','x2jPBMriAwvYyxjJAhK','x2DLDfbVBhLSAw5Lt3v0BgLUzvbVC2L0Aw9UCW','B3bLCMe','x2f1Dg9tDg9Wqw5NBgu','zwrPDe1VDxnLtw92zq','sw5KzxHeyxrHDhLWzq','B3bLBLbVChvW','CgXHBMvq','BwLSzq','zM9YrwfJAa','AwrZ','x2nVBw1HBMq','Cg9PBNrdB2XVCG','CMLNAhq','x21VDxnxAgvLBeHHBMrSzxi','AxneEw5HBwLJuhjVCgvYDhK','C2nHBgvcEurPC3rHBMnL','zgLZDgfUy2vtDhjFB3jPz2LUywW','Bw9YCgHuBZje','5ywb6k646l+B5ywL5zYW5lIl','x2DLDfbVC2L0Aw9Uq3nZvgv4Da','CM90yxrLtwf0CML4','x2KZC1bYB3zPzgvY','C2fTCgXLCJje','x+AyVUEKUUwmHEwBToEBKG','B3b0Aw9UCY53Awr0Aa','z2v0qxnWzwn0q29UDg91CK1HDgvYAwfS','Bwf4Aw11BvnPEMvz','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteZnsaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','ug9SEwDVBG','x2XHC3rFy2XPy2TqB3nPDgLVBLK','x3bYAw1PDgL2zti','C2HVD19MAwvSzhm','C3rHCNrqB3nPDgLVBG','x3r5Cgu','Bwf0y2G','x2nVBxb1Dgvty3jLzw5tCgfJzvbVC2L0Aw9U','x2vUDgL0Eq','z2v0t2zMC2v0tgLUzq','Dgv4DhvYzunVB3jKAw5HDgvZ','y3jLyxrL','y2X1C3rLCKL0zw1dAgfUz2u','z2v0rwXLBwvUDhncEunSyxnZtMfTzq','AgvPz2H0','zwfZAw5NrNvUy3rPB24X','C2HVD1nLy3rVCKXPBMvZ','5lIn5A2y5zYOz3jHCgHPy1r5CgxML6dMS5xOP6pMNPdMLBdMJA7LR7LhCMfWAgLJ','CM9Pvvy','v0DtnJa','zgv0ywLS','qMXVB21fzMzLy3q','zwfJAfrOAw5N','x25VugLJA0vUDgL0Eq','z2XVD1n0CMvUz3rO','x2nSDxn0zxi','x3PVB21oyxzPz2f0Aw9U','x29MzKnLBNrLCKzYDxn0Dw0','z2v0sgvPz2H0uMfUz2vcEurLChrO','DxbKyxrLugXHBMu','ChjVy2vLzeL0zw0','x2XHEwvYt3jKzxjdAgfUz2vK','tgLUzuzSAwnRzxi','z3jVDw5KuhjPBwL0AxzLCW','x2LUAxruAgLUzW','y2fJAgvnyxjZt3b0Aw9UCW','DgvYCMfPBLnOywrVD3m','wfLFvfjbtLnmqvrjt04','x3PpzMzZzxq','x2nSyw1Wvg9uAwXLC2v0rNjHBwu','zgLZDgfUy2veAxnWBgf5q29UzgL0Aw9Ux2zHCG','zNvSBhnJCMvLBG','x3jVDgf0zuHWCG','uKvorevsruq','x21HDhjPEe1VDMu','r0XpqKu','x21HEgLTDw1mzxzLBa','x3rLCNjHAw5qCM92AwrLCLbYB21PC2u','C3rHCNreCMf3oUMCGoIMGsbTyxaUywrKtgf5zxiO5B2t5yMn5zU+5BgcksdLKi7VViZMIy3OOyZKVB/NLkJMNkZMLRNMS5u','zM9YrwfJAeXVywrLzfrPBgu','x2nVBNrHAw5LCG','pgrPDJ7LJlRLN5/VVjO','zwrPDenSyxnZtMfTzq','BM9dzw50zxi','AgrY','ywrK','t0rmAw5Ltwf0zxjPywXqCM9Wzxj0Eq','x2DLDfbPDerHDge','x2zVCLbVC2L0Aw9UuhjVCgvYDhK','tgLTAxrizwLNAhq','x3vWzgf0zuHWCG','x3bSyw5Lt3b0Aw9UCW','q0DduZiWmdbFr0TFq01FmW','x3bYB3H5','C2XVCgvtDhiX','B25SB2fK','wv9uuKfou0XbveLptL9dt0XpuG','x2n1C3rVBvnOywrLCNnlzxK','zNjVBvjLy3rHBMDSzq','CMvZDwX0','y29Kzq','x3nVDxjJzxmZ','y2XPChbPBMDqB2X5z29UCW','AwnVBLnPEMu','C3rHBMrHCMrFCgfYywXSzwXFmq','x25VCM1HBfO','C3vIDhjHy3q','zMeGzMeTyNvSBhnLEwu','r0vprevusunduLm','Bg9Uz2L0DwrL','BMfKz3jPzhm','y3jLyxrLr3jHCgHPyW','5Rc05BMZ6lED56A7','x29SzfbPy2TqCMLTAxrPDMu','ywn0DwfSqM91BMrPBMDcB3HbC2nLBNq','x2vUywjSzwriB29R','BM9YBwfStwfW','zMKW','ywrKtwf0zxjPywW','q0DduZiWmdbFr0TFwM9Uzv82','xZb4mZi5mMi2','DxbKyxrLr3jHCgHPyW','zgvWDgHnyxnR','zgvZDhjVEunVBw1HBMrZ','x+wWJ+AxTG','Bg9UzZe','x2XHEwvYCW','z2v0rMXVyxq2na','zMLSBfn0EwXL','y29UzvrYywnR','x3nVDxjJzxmY','AgvYBwfUBNnRB2DLBa','zgvMyxvSDfrLEhr1CMu','x21VzgvSvxbbEgLZ','i2rLzMLUzsbgtefucG','x2rYywDNzxjFAw5KzxG','x29UqwrK','zgLZDgfUy2veAxnWBgf5ug9PBNq','x2LK','yxv0Ag9YAxr5','Dw5PzM9YBsb2zwm0igv2zw5dB2XVCJSkDw5PzM9YBsb2zwm0ig9KzenVBg9YoWP1BMLMB3jTigzSB2f0igzYzxf1zw5JEtSkDw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cGOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGigzSB2f0ig5VAxnLmsa9icHJEM1FC25VAxnLkhn0icOGzNjLCxvLBMn5icOGms4WksKGkIaXlJa7cIaGzMXVyxqGBM9PC2uYid0Gkgn6Bv9ZBM9PC2uOC3qGkIbMCMvXDwvUy3KGkIaYlJaPksaQidaUntSkicbMBg9HDcbUB2LZztmGpsaOy3PTx3nUB2LZzsHZDcaQigzYzxf1zw5JEsaQidqUmcKPicOGmc4YntSkicbMBg9HDcbUB2LZzsa9ihnPBIHUB2LZzteGkYbUB2LZztiGkYbUB2LZztmPicOGmc4XoWOkicb2zwm0ignVBg9YtwfYCZneid0GBwL4kgv2zw5dB2XVCIWGB2rKq29SB3iSig5VAxnLktSkcIaGlY9nywTLihrOyxrJAcbWyxr0zxjUCWOGigzSB2f0ihzLCNrPy2fStM9PC2uGpsbJEM1FC25VAxnLkhzLyZiOC3qUEcaQideWmc4WlcbZDc55icOGmJaUmcKPicOGmc4WmJSkicbMBg9HDcbOB3jPEM9UDgfStM9PC2uGpsbJEM1FC25VAxnLkhzLyZiOC3qUEcaQidiWlJaSihn0lNKGkIaXmdaUmcKPicOGmc4WmJSkicbMBg9HDcbZDhjPCgvoB2LZzsa9ig1PBIH2zxj0AwnHBe5VAxnLlcbOB3jPEM9UDgfStM9PC2uPoWOkicbJB2XVCK1HCNmZrc5Yz2iGkZ0GC3rYAxbLtM9PC2u7cGOGig1HDgvYAwfSlMrPzMz1C2uGpsbJB2XVCK1HCNmZrc5Yz2i7cIaGBwf0zxjPywWUywXWAgeGpsbJB2XVCK1HCNmZrc5HicOGz2XVyMfSqwXWAge7cGOGihjLDhvYBIbTyxrLCMLHBdSkFqO','sw1Hz2vYEuXHEwvYrMvHDhvYzuLUzM8','CMvTB3zLtwfWq2HPBgrZ','lNn2zW','Bw9KzwW','Bwf4ugL0y2G','BMvHCLzHBhvL','x3rLBxbSyxrLshrTBa','uKvbrfK','z3r1','B25SEvnLBgy','CMfUzg9Tq29SB3i','zNjVBuf4AxnbBMDSzq','qKfdsW','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkDw5PzM9YBsbMBg9HDcbVCgfJAxr5oWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicbPzIHTB3zLksb7cIaGicbMBg9HDcbYid0GC3fYDcGOC3qUEcaTidaUocKGkIaOC3qUEcaTidaUocKGkYaOC3qUEsaTidaUocKGkIaOC3qUEsaTidaUocKPoWOGicaGzMXVyxqGCJiGpsbZCxj0kcHZDc54ic0Gmc4YksaQicHZDc54ic0Gmc4YksaRicHZDc55ic0Gmc4YksaQicHZDc55ic0Gmc4YksK7cIaGicbMBg9HDcb6id0Gy29Zkg1VDMvwyxiUEcaQihiGkYbJEM1FzNjHBwvoDw1IzxiGlYaXmdaUmcaQig1VDMvwyxiUEsKGlYbTB3zLvMfYlNO7cIaGicbMBg9HDcb6mK1HCNmZrca9ignVCYHTB3zLvMfYlNGGkIbYmIaRign6Bv9MCMfTzu51BwjLCIaVideWmc4WicOGBw92zvzHCI55ksaVig1VDMvwyxiUEJSkicaGihn0icS9ihnXCNqOEIaQihOGkYb6mK1HCNmZrcaQihOYtwfYCZnektSkicaGihn0lNmGkZ0GzgLYzwn0Aw9UicOGy3PTx2zYyw1LtNvTyMvYic8GmtaWmc4WicOGC3bLzwq7cIaGicbZDc5Zid0GBw9Kkhn0lNmSideUmcK7cIaGFqOGigLMkgf4Axnzksb7cIaGicbZDca9ihzLyZiOC3qUDcWGC3qUCYK7cIaGFqOGihzLyZqGy29SB3jjBwfNzsa9ihrLEhr1CMuOAw1Hz2uSihn0ktSkicbTyxrLCMLHBc5HBhbOysa9ig9WywnPDhKGkIbNBg9IywXbBhbOytSkicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3jjBwfNzs5Yz2i7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','x2DYyxbOAwnmAxn0','rNvSBfnJCMvLBG','yw55v2vYzvjLBMrLCMvKtgfZDezYyw1L','x+w8GowqR+wKNoINHG','x29UrxzLBNriB29R','zxbZzW','ywrJB2rL','vhDVrMLUz2vYrhjHz1nHBwveAxjLy3rPB24','AgLNAgXPz2H0','x2nHCNrVz3jHCgHPy3m','x3bHy2TLzeLUDgvYCg9SyxrPB25mzw5NDgG','x3bHCMvUDa','x3vWzgf0zvrHyMXLtgvUz3rO','C2HVD0fSBa','z2v0vgLSzunYzwrPDhm','5ywZ6zET5lIl6zUQ','x2nVBNrHAw5LCKfYCM93','DgLJA3m','yxjLyq','y29UDhjVBa','C3r5BgvgAwvSze9WDgLVBNm','tevgva','x21HCev4x2v4DgvUDenOyw5NzuHHBMrSzxi','twf0zxjPywXvDgLSihjLz2LZDgvYq2XHC3m6ia','DgHPy2TUzxnZ','tgLNAhrdB25L','x3n1CMzHy2u','Bwf4Aw11BuHLAwDODa','BwLUAw11BunSDxn0zxjtAxPL','zw5K','BNvTyMvYt2zezxjPDMf0AxzLCW','x2v2zw50','D2fSyMvJAW','C3rHCNrZv2L0Aa','lNbUzW','y2L0Ew5HBwu','vgHPBMDvDgLS','x29YAwvUDgf0Aw9Ux3nOB3C','mJG4ndm4rvbQAwr0','r2XVyMvtDxjMywnLvgLSzvbYB3zPzgvY','y2vZAxvTlw5HDMLNyxrPB24TyNv0Dg9UlwXLzNq','y29UDgv4Dg1LBNvjDgvTCW','DxnLv2vItwvYy2f0B3ju','sxjLBgfUzcaXoty1','C3vYzMfJzurPC3rHBMnL','BxvSDgLWBhLcEu1HDhjPEdm','Bg9NyxjPDgHTAwnezxb0Aej1zMzLCG','z2v0tgv2zwXnyxHPBxvTr2vVBwv0CMLJrxjYB3i','x+AGH+IUSoEcUq','x2fKzenOAwXKq29UDgfPBMvY','x21PBLbVAw50tNvT','x291DgXPBMvdB2XVCL9HBhbOyv9IywS','q195','x2zPBhrLCLbpsurHDgfFCg9SEwDVBG','zgvZDgLUyxrPB24','yMvZC2vS','sw1Hz2vnyxrLCMLHBfbYB3bLCNr5','mhTZFs5PCY5HDxrVBMf2As5JB20VyxbWBwfWDgLSzt9Syw5NpxPOx2nUjNnPEMu9mszZy2fSzt0XjNn0EwXLptGMEd17Eh0MEt17Ex0MEJ17EN0','yM91BMrPBMDtCgHLCMu','B3v0BgLUzuvMzMvJDa','ywXWAgfqB3DLCG','ru1qvfLFt0jkrunu','AxntCg90tgLNAhq','x29UrgjdBgLJA0HHBMrSzxi','DM9SDw1LrgvWDgHnzwfZDxjL','zMXVB2q','ms4WlJa','y3jLyxrLrhjHD0nVBw1HBMq','y2XPy2TuAwXLr3jHCgHPyW','zgvWDgG','C2HVD0rVBwvtDxjMywnLCW','CM90yxrLqw5PBwf0Aw9U','sers','y3jLyxrLqMXHy2TbBMrxAgL0zvn0ywDL','x2LZuM90yxrLu3rHCNq','Dv9TyxjZm2rFzMXVB2rFy29SB3i','AgfZwG','rvbtrZO0ndKY','C3rVCfjVDgf0zu1HDhjPEa','CMv2zxjZzvK','Bw9KzwXnyxrYAxG','ig1Lx2LZu2vSzwn0zwqGpsaWlJa7cIaJAwzKzwyGq1Pnx1nftevdvevex0zfqvrvuKukicaGBwvFAxntzwXLy3rLzd1JEM1FC2vSzwn0zwqOkt8XlJa6mc4WoWOGi2vUzgLMcG','D2vIz2XYzxbVCNq','x21HCNnFDhLWzq','C2HVD0XHDgvYywXtDxjMywnLCW','x3nJyw5vBMLMB3jTCW','iZeYm2u1oq','EMvYB1rVvhDVugK','rvbtrZO0ndK3','zMLUza','DgLSzvbYB3zPzgvY','twf0zxjPywXtDxbWB3j0','AgfZq29UDgv4De1LBNu','x2nVBg9Yq29TBwfUzhm','AgfZrwrPDfjHzgLP','B3jPz2LUywW','z2v0u2XVCgvdB250B3vYtwf0zxjPywW','z3jHCgHPy0LKCW','Aw1Hz2vYCW','uMfPBKvMzMvJDfLLCW','zNvSBev4DgvUDa','BgvMDfvW','x2rLzMf1BhrFy3vYC29Y','zJC4otjJyZC3mgfIyZC4odHLmZa4mZCWmwmYotDLmdK','yMXVB21fzMzLy3q','x2XPBwL0r2XVyMu','DgLSzu1HDhjPEejLzM9Yzq','x3bVC2L0Aw9UC19SAw5Lx3G','r2v0q2fWywjPBgL0AwvZ','DgLSzu1HDhjPEfnLDa','Aw50zxjZzwn0Aw9Uq29SB3i','C2v0tgf5zxjZt3b0Aw9UCW','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXnYaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','x2nYzwf0zun6BunVBNrHAw5LCG','u25VD0vMzMvJDe5V','Dv9TyxjZm2rFy2XPCf90zxH0DxjL','x2XHC3rFzMLYzvbVC2L0Aw9U','CgfKzgLUzW','B3jPz2LU','yMfZzunVBg9Y','u2nLBMvuCMfUC2zVCM1Z','iIa+pc9KAxy+','u3vYzMfJzvbVAw50CZOG6k+35lYG5ywLC2nLBMxLJ4lMLBa','zMfJDg9Y','Bw91C2v1Ca','yMfJA1rVrMLYC3q','CMfUz2u','x+wiOoMzPoA1I+MhJW','x3nLy3rVCKXPBMvdB21Tyw5K','sw52ywXPzcbOzwLNAhq','x21Lyxn1CMvK','CgLJAW','Dg9mB3DLCKnHC2u','refuvu0','q2fYDgvZAwfUna','x3bYAw1PDgL2zv9SywjLBa','qMfZzvbYAw1PDgL2zq','y29SCW','x3rLEhr1CMvtAxPL','C2nHBgvA','yMfJA2DYB3vUzfr5Cgu','qvjfqv8X','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0igrPzMz1C2vqB3DLCJSkDw5PzM9YBsbMBg9HDcbHBhbOyvbVD2vYoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWP1BMLMB3jTihzLyZiGy2vUDgvYoWP1BMLMB3jTigjVB2WGAxnjBM5LCJSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIbZDca9ig1HDgvYAwfSsw5WDxqUC3q7cIaGzMXVyxqGywXWAgfnyxjZm0qGpsbKAxn0yw5JzsHZDcWGy2vUDgvYktSkicbPzIHPC0LUBMvYksb7cIaGicbTyxrLCMLHBc5HBhbOysa9icGXlJaGlsaOy29SB3iUysaQigfSCgHHtwfYCZneicOGywXWAgfqB3DLCIKPicOGz2XVyMfSqwXWAge7cIaGicbPzIHTyxrLCMLHBc5HBhbOysa8idaUmcKkicaGicaGBwf0zxjPywWUywXWAgeGpsaWlJa7cIaGFsbLBhnLihSkicaGig1HDgvYAwfSlMfSCgHHid0Gy29SB3iUysaQigfSCgHHtwfYCZneicOGywXWAgfqB3DLCIaQigDSB2jHBefSCgHHoWOGih0kcIaGBwf0zxjPywWUzgLMzNvZzsa9ignVBg9YlNjNyIaQigrPzMz1C2vqB3DLCJSkicbYzxr1CM4GBwf0zxjPywW7cN0k','q3vIzvzPzxC','uMvUzgvYu3rHDgu','x3rPBgveAxnJyxjKug9SAwn5','z2v0qwrKsgvPz2H0','ug9PBNruCMfUCW','DxbKyxrLrxHmAw5L','z2v0uujtCgXPBMvqB2LUDhm','DxbKyxrLq2fSBgjHy2S','vhjHBNnMB3jTCW','AxntDgfYDa','x+ERI+AwUEEXSW','DxbKyxrLug9ZAxrPB24','ue9jioIVT+AXGUwKSEI0Pq','DhjHy2TLzevUDgL0Eq','x2HHC1jLBw92zuvSzw1LBNq','z2v0rxHWBg9YzxjjBMzV','x3zLBg9JAxr5vMvJDg9YuhjVCgvYDhK','y29TChv0zvn1CMzHy2vqB2LUDhm','zgvMyxvSDfzPzxC','x2DLDfnJCMvLBLnWywnLug9ZAxrPB25Z','tg9N','C3rVCa','t3v0BgLUzuvMzMvJDe5V','C2LUx3bOAq','AgfZvgvYCMfPBG','x+AWTow5S+I3NEEMUW','zMLLBgq','qw5PBwf0Aw9UvMLLD01VzgvS','y2fZy2fKzxnfBMfIBgvK','zNvUrgvIB3vUy2u','qMfZzvbVAw50q29TyMLUzq','CMDIkdaSmcWWldaP','B3v0x0zYywDdB2XVCI5Yz2iGkJ0GDMLZAwjPBgL0EtS','DxbKyxrLr3jPzfbVC2L0Aw9UCW','x2rYyxDezwXfDMvUDfr5Cgu','C3bHDgLHBfjLBa','rvbtrZO0ntuZ','z2v0ug9ZAxrPB25ZuMvJDfzLCNrLEa','tu0Tzgq','Dv9TyxjZm2rFzMXHDf9SB2nHBfO','pUw9K+wjJxn0yxj05BYa5AEl5PE26zE0','CMvTB3zL','BwfYm2qTDg9VBej1DhrVBG','AxnbDxrVrwrPDgLUzW','CMvJDfDPzhrO','ywnVCW','C2HVD1vW','z2v0tgf5zxjcEuLK','x+AlLUwkQoIVPEEcUEwqJG','x3nOB3DeyxrH','zxHWzxjPBwvUDgfSlxDLyMDSmG','DMvYDgv4rM9YBwf0','x2XHC3rFChjLvxbKyxrLvgLTzq','x3bVAw50tgLNAhrsywrPDxm','x3nJzw5L','z2v0qMLZzwn0B3joB3jTywXZ','DxbKyxrLu2vSzwn0zwrjBwfNzxj5vMLLD01VzgvS','x3nLDeLUChv0qwn0Aw9U','x3n0yxj0vgLTzq','BgfZDfrPBgvZq3vSBgvK','CMDIysGYndeSideYocWGmJmSica','Ahr0Chm6lY9NywmTz2vVlMDVB2DSzwnUyxbWCY5JBhvIl21HChmVDNq/BhLYCZ1OjMDSpunojNG9E3H9jNK9E3L9jNO9E3P9','yM9YzgvYt3bHy2L0Eq','BwLKzgXL','DgvYx3O','x2n1yMvnyxaZ','x2XHyMvStgLZDa','C3rYB2TLvgv4Da','q2XPChbPBMDqBgfUzunVBgXLy3rPB24','rgL2qM9KzxjmywjLBa','C3rLCa','zhjHD2LUz0j1zMzLCLDPzhrO','y2XHC3nmAxn0','x2nVBNrHAw5LCLrVB2X0Axa','uKDcqq','DxbKyxrLt2zMC2v0','rxH0CMfWB2XHDgLVBLr5Cgu','BMfTzxm','z2v0tMv4DeXHEwvYswq','5zci6ikL54gR5PIF56Er5OQa5PYj6zMq5ywS5y+4','x25Vtw91C2vqAwnR','x2v2zw50ugfYzw50CW','Cgf0Aa','CMvQzwn0','ywn0AxzHDgvnB3vZzu92zxi','yw5PBwf0Aw9U','q29SB3jpChrZq29UDMvY','x2XHC3rFAgLNAgXPz2H0t3b0Aw9UCW','x2nHBwvYyvjLzMvYzw5JzuzYyw1Lt3jPz2LUq2fYDg9NCMfWAgLJ','t3jPzw50zwrcB3vUzgLUz0jVEa','zgvWDgHgywLSqxbWzwfYyw5Jzq','zhjHD2LUz0j1zMzLCLrVv29YBgrdB29YzgLUyxrLCW','y2XPy2ThCMfWAgLJ','x29YAwDPBMfSr0XdB250zxH0','Cg9SEwXPBMuSy29ZDa','x+wINUwkOoEcUq','y2fTzxjHq29UDhjVBgXLCG','Aw5KAwnL','r29Vz2XLrwfYDgHfBNrLCNbYAxnLsw1Hz2vYEvbYB3zPzgvY','B25qB2LUDfrYyw5Z','x2nSzwfYrhjHDW','Bgf5zxjz','y2fJAgvuAw1L','AwyTBw9KAwzPzwqTC2LUy2u','C2LUz2fT','icGR','5ywZ6zET5OU+5y+w6AUy5lQU','x3bPy2TdB21Tyw5K','x3bVC2L0Aw9UC19KCMf3','B25YzwfKExn0yxrLy2HHBMDL','x21HCa','Bg9HzeDLB0Ptt0466k+356gU6k6KANnVBUAwH+s7TUAGVow8J+ATO+EHRIe','ChjLBg9HzfnPyMXPBMDZ','yM94ua','pgXPignSyxnZpsjJB250zxH0BwvUDs1PDgvTiIbKyxrHlwLUzgv4psi','EuHHBgzbBMDSzq','CgfNzvnPEMu','yxrOzw5Z','yxrHBG','i2zMzMzMzG','ug9PBNrmAwDODa','qMfZzvbVBhLdB21IAw5L','pgjYlZ4','x3n0EwXLmKPZB25cyxnL','x3bYAw1PDgL2ztm','ru5bqKXfra','x29Utw9YCgHdB21WBgv0zq','BwfYC2DPCY5JBG','igTT','C3rsB3rHDgLVBG','vu5mt0feruq','Aw52zxjZzu1HDhjPEa','DgLSzvHzvg9oyxrPDMvszwn0yw5NBgu','x2DYyxbOAwnFDxbKyxrLug9ZAxrPB24','C3bSAwnL','C3rYB2TLvhLWzq','C2HVD1jLC3vSDa','zMLYzvrHCMDLDev2zw50','y2XVBMu','C2vSzwn0zwrjBwfNzxj5','y3rYBeTLEq','CMfUzg9T','CMvWzwf0','s2v5yM9HCMrfDMvUDe1VzgLMAwvY','C2vSzwn0zwrjBwfNzxj5uhjVDMLKzxjwAwv3tw9KzwW','DgL0BgvgAwvSza','x2n1CNjLBNruAw1L','r2vVz3jHCgHPy1bYB2PLy3rPB24','y3PTx3zLCNrLEfbPy2TFBwfPBG','y2fTzxjHtw92zvn0yxj0','r2vVzgvqB2LmyxLLCG','q1vmteve','CgfYzw50q29UDgfPBMvY','x+ATO+wCQoIUOEEUL+s9K+ENRW','BwfWq2HPBMfduLm','x2LZu3rHCNrsyxrL','5PYQ55+L5y6F5zUG77Ym5A+85yE65AsX6lsLiq','z2v0u3rHDgu','x2nVBxb1DgvKu2nHBLbSyw5Ltw9KzwXnyxrYAxG','Aw50zxjZzwn0Aw9Uv2LKDgG','ugXHEuzVCNDHCMq','ug9SEwXPBMvdB21IAw5L','ywrKrhLUyw1Py1bVC2L0Aw9U','tgf5zxjvDgLS','C2LUyZa','x2nOAwXK','C2XPy2u','B25SEvnLBgvJDgvK','Aw1Hz2vYEuXHEwvY','B2jQzwn0Awq','C3vZCgvUzeXVzfvWzgf0zq','zgLNvM9SDw1Lu3rY','q2XPChbPBMDqB2X5z29Uq29SBgvJDgLVBG','vu5tsuDorurFsu5uxZi0xZG','yM9KzxjdB2XVCG','x3rPBgLUz1nJAgvTzq','5OYj6l205BMZ56E7','Bw91C2vvCa','BMLNAhrwAxnPB25fzMzLy3q','qxr0ywnRqxjYB3DzvW','y29UDMvYDfbHy2TLzefYCMf5rM9Ysw50zxjWB2XHDgLVBG','r2fVzgvqt0K','C2v0rwrPDfbVAw50u3r5Bgu65RkH5PYj6k+L57g75z6l','seG6Bw06C3m','qM91BMrPBMDszwn0yw5NBgu','x3rPBwvty3jHDgnO','Dg9dyxj0zxnPyw5Z','ChjLDMvUDerLzMf1Bhq','x3vWzgf0zuXHyMvSu3r5BgviB29R','x1bVAw50rwrPDf9yx1rsqu5ttefusu9o','AxnbzgrLza','A2v5CW','Dw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFzMXVB2rFDgv4DhvYztSkDw5PzM9YBsbTyxq0ihvFBwfYCZnKx2zSB29Kx2LUDMvYC2vnyxrYAxG7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFCMfKAxvZoWOkDw5PzM9YBsbIB29SihvFBwfYCZnKx2zSB29Kx2vUywjSzwq7cNvUAwzVCM0GDMvJncb1x21HCNmZzf9MBg9Vzf9JB2XVCJSkDw5PzM9YBsbIB29SihvFBwfYCZnKx2zSB29Kx2zSB29KqwXSoWP1BMLMB3jTigzSB2f0ihvFBwfYCZnKx2zSB29Kx2n1CNjLBNrOzwLNAhq7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFBwLUx2HLAwDODdSkDw5PzM9YBsbIB29SihvFBwfYCZnKx2zSB29Kx2XPBwL0twLUoWOkDM9PzcbMCMfNBwvUDe1HAw4OrNjHz21LBNrjBNb1DcbMC0LUChv0lcbPBM91DcbJEM1FBw9KzwXnyxrLCMLHBcbTyxrLCMLHBcKGEWOGihzLyZmGCg9ZAxrPB25nqYa9igzZsw5WDxqUyxr0CMLIDxrLCY5WB3nPDgLVBK1doWOGihzLyZqGCg9ZAxrPB24Gpsb1x21HCNmZzf9MBg9Vzf9PBNzLCNnLtwf0CML4icOGy3PTx21VzgvSicOGDMvJncHWB3nPDgLVBK1dlcaXlJaPoWOkicbPzIH1x21HCNmZzf9MBg9Vzf9LBMfIBgvKksb7cIaGicb2zwm0ignVBg9Yid0GDgv4DhvYzsH1x21HCNmZzf9MBg9Vzf90zxH0DxjLlcaOCg9ZAxrPB24UEhKGkYb1x21HCNmZzf9MBg9Vzf9YywrPDxmPic8GDv9TyxjZm2rFzMXVB2rFCMfKAxvZic8GmI4WktSkicaGigLMkhvFBwfYCZnKx2zSB29Kx2zSB29KqwXSihX8ignVBg9YlNiGpIaWlJaPihSkicaGicaGzMXVyxqGAgvPz2H0id0GCg9ZAxrPB24UEJSkicaGicaGAwyOAgvPz2H0idW9ihvFBwfYCZnKx2zSB29Kx2n1CNjLBNrOzwLNAhqGjIyGkcf1x21HCNmZzf9MBg9Vzf9SAw1PDe1PBIb8Fcb1x21HCNmZzf9MBg9Vzf9TAw5FAgvPz2H0idW9igHLAwDODcKPihSkicaGicaGicbTyxrLCMLHBc5KAwzMDxnLid0GBwL4kg1HDgvYAwfSlMrPzMz1C2uSihvFBwfYCZnKx2zSB29Kx2nVBg9YlNjNyIWGDv9TyxjZm2rFzMXVB2rFy29SB3iUysK7cIaGicaGih0kcIaGicb9cIaGFqP9cG','DxbWzxjmyxrPDhvKzq','t3j0Ag9NCMfWAgLJt2zMq2vUDgvYrNj1C3r1Bq','x3vWzgf0zvbVC2L0Aw9UC0HVB2S','C2nHBLbSyw5LuMf0zq','x3bYAw1PDgL2zv9IB3HZ','x3vWzgf0zuvKAxreCMfNz2vYug9ZAxrPB25izwLNAhq','CMvTB3zLqwXS','5BYa5zcV5lIl6zUO','y29SB3jdB3jYzwn0Aw9U','x3n0EwXLmKPZB24','C3vIzg9TywLUCW','AgvHzfDPzhrOrMfJDg9Y','z2v0r3jHCgHPy3nuCMvL','rvbtrZO0nte5','Dw5PB24','CgLJA0XPBwL0','DhLWzq','6l+B5ywLvLlMQkhLVi8','C3rHDhvZvgv4Da','B3v0BgLUzunVBg9Y','xZb4mZiZytu2','x2nSzwfYu2HVD1bVC2L0Aw9UCW','yM90Dg9TuMfKAxvZ','CMLNAhreB3DU','x3vWzgf0rw50Axr5qwXWAge','ugXHBMvtDhLSzunVBNzLCG','Cg9PBNrZ','y3zZ','x2nVDw50CW','x2fYCLrOAw5N','BMv1DhjHBa','yxnWzwn0uMf0Aw8','B3v0BgLUzvbVC2L0Aw9UCW','x2LUDgvYCg9SyxrPB25bBgDVCML0Ag0','y2vZAxvTlw5HDMLNyxrPB24TAgvSCc16B29T','ywrKqwXS','yxv0B1n1CMzHy2vizwLNAhq','z2v0ugLJA0rLChrO','z2v0qMv6AwvYq3vYDMu','z2v0uhjVCgvYDhLjzhm','CgXHBMu','rvbtrZO0ntqW','xZb4ndCXy2eW','CgLJA0zYyw1LyNvMzMvY','yMLUzeHVBgvZrhjHz2DLCNm','Dw5IAw5KrxzLBNq','x3bYAw1PDgL2zunVBgXLy3rPB24','z2v0twf4sgvPz2H0','Dw5PzM9YBvn0yxrL','x3jLBw92zur5BMfTAwnqB3nPDgLVBG','z2v0t3jPzw50yxrPB24','lMnSB3nLqNv0Dg9U','x3vWzgf0zurVBuf0DhjPyNv0zq','CgfYzw50rwXLBwvUDa','DgHPCY5ZB3vYy2vZihbYB3bLCNrPzxmGBxvZDcbHBgWGyMuGDgHLihnHBwuGDhLWzs4','rvbtrZO0ndKZ','x2P6BuHLAwDODa','txvSDgLmAw5Lu3rYAw5N','x2nYzwf0zuzYyw1LyNvMzMvY','x2nHBgn1Bgf0zun6BuHLAwDODa','x2LUAxruAwXLC2v0q2XPChbPBMDqB2X5z29UCW','sw1Hz2uY','ywrKtgf5zxi65zU+5BgcAwtLRzJLNkJLHRlNQOhVViZLT7lPH43MLRdOTyVLGlXPza','z2XVyMfSqwXWAge','x2zVCM1HDfjVDxrLrgf0yq','CMvTB3zLqwXSu2nHBLbSyw4','D2LSBfjLywrgCMvXDwvUDgX5','yw5NBgvnzwfZDxjL','DxnLtg9NrgvWDgG','BM9bBhq','ufjpsKvdveLptG','Bw91C2vnB3zLvgfYz2v0','x3n0zxbZ','x2DLDenHBwvYyuzVy3vZ','x3zPzgvVq29UDgfPBMvY','z2v0sgvHzgLUz1bPDgnOuM9SBej5twf0CML4','iIaGlZ4','x2LZq2LYy2XL','CMDIysGYntuSmcWWldaUnsK','x29YyML0tgfZDfrPBwvZDgfTCa','yw1WBgL0DwrL','q29SDw1IDxnwAwv3','zgvIDwDtAg93qM91BMrPBMDwB2X1Bwu','v2f0zxjdB21IAw5L','CgLJA0zLyxr1CMvZ','rwXSAxbZB2LKu3vYzMfJzufWCgvHCMfUy2u','DxbKyxrLvM9SDw1L','x29Yz2LUq2vUDgvYug9PBNq','twvHC3vYzuHLAwDODa','x2rYywDdyw52yxm','Ahr0Chm6lY90E3n9lNrPyw5KAxr1lMDVDI5JBI8','uKLhsfrFrfjbrW','AgfZt3bHy2L0Eq','B25Lx21PBNvZx2zFC3f1yxjLza','zwrPDe1VDxnLrg93BG','C3bSAxrxB3jKCW','Dv8W','x3rPBwvZ','C2HVD0rPz0jVEa','CMLNAhrdBgLJAW','x2HPzgvgzwf0DxjLCW','Bwf0zxjPywXpChrPB25Z','Cg9ZAxrPB25Zu2HVDW','v0Hjveu','D29Yza','Dgv4DhvYzvDLyK1LCMnHDg9Y','zgvIDwDNzxjuAwXLsw5MBW','z2v0q29SB3jcEvn0EwXL','x3rVB2X0AxbdB25MAwC','u3vYzMfJzvbVAw50oIdOR7FKVkdLHAvZy2vUzEwpGUAvSa','x2nHBgn1Bgf0zvrLEhr1CMvuCMfUC2XHDgLVBKfUzfnJywXL','5ygC5Q2I57Yw6l6r','E2nYC3H9','zM9YBwf0tNvT','x21VDxnLtw92zuHHBMrSzq','CMvZCg9UC2vuExbL','BgLNAhrLCG','q2XHCMTLide4ntG','x2nSB3nLqwXSq29UDhjVBa','zgLMzNvZzvDHBgW','x3nJyw5qBgfUzuzYB250q29TBwfUza','x3nLDenHBwvYyvzPzxDmAxn0u3rHDgu','CMvTB3zLsxrLBq','x29Utgf5zxjbzgrLza','y3jLzgL0','x+wfS+MxREwCSow9OG','Eu9MzNnLDa','BgLTAxq','y3jLyxrLugLJA0zYywDTzw50u2HHzgvYu291CMnL','C2LUx3aXna','x2HHC1vWzgf0zq','x2rYyxDmyxLLCG','ywX0s2v5','x29UtgvMDfvWsgfUzgXLCG','x29Wzw5cEunSAwnR','CM90yxrL','vgLTzwXPBMu','BwLUrgLZDgfUy2u','B3b0Aw9UCW','B3jPz2LUywXdB2XVCG','zhjHD0fKzfbVAw50','Dgv4DhvYztne','zgvWDgHpBMX5q29TBwfUza','z2v0u2vJB25KCW','C3rHCG','mZC4nq','DgfYz2v0ug9PBNq','iIbPBIbRzxL3B3jKihLLDcWGAw5KzxGG','CgfYDgLJBgvtAxPL','jNy9mdiW','z2XVD0nVBg9Y','x3rVt25Lq2vZAxvTvMfSx1bVBhK','rwrPDfrPBgvZzxq','x3nLDfnJzw5Lt3b0Aw9U','CMv0DxjUia','ChG7AgvPz2H0oG','x3rPBgvZzxq','z2v0uMvXDwLYzwreyxrHug9PBNrZ','DMvY','x2rLChrOu3rLBMnPBfrLEhr1CMu','x2fKzenSDxn0zxjjDgvT','C2LUDq','x3n0yxj0rwrPDgLUz0HVB2S','y2vUDgvYt2zmAw5L','BwfYCZnKlwHPzgveAxy','x2DLDfbVChvWug9ZAxrPB24','CMDIysGYmtiSmtqYldi1ncWWlJeZkq','sg9YAxPVBNrHBe9YAwDPBG','x3vWzgf0zuLTywDL','CMvWzwf0x3G','q2fYDg9NCMfWAgLJ','qMfZzvbYAw1PDgL2ztROR6xLR7NOSAhMSQhMNiL1CgrHDgxMLRNMS5xVViXHDMfPBgfIAwXPDhNLPitNKiBML6dMLyG','u2nLBMvnB2rL','yMXHy2TbBMrxAgL0zq','z2v0rMXVyxqZmG','ChG7iGOGicaGicaGicaGicaGicaGicaGicaGicbKyxrHlxr5Cgu9iG','x2XHEwvYsw1N','Aw50zxjWB2XHDgvvC2LUz0zYywn0Aw9U','x2zYyw1LvgLTzq','Cg9SEwXPBMvd','yMLSBgjVyxjKsw5KAwnHDg9Y','C2v0sxrLBq','zgfZAfbVD2vY','DgLSzxnLDfbHC3ntDgf0zq','x3nPBgHVDwv0DgvdB2XVCL9HBhbOyv9IywS','x+AOQUwDKoAGHW','x3vWzgf0zufUz2XLqw5Kt3bHy2L0Eq','kg5VDcbMB3vUzcK','y2fUDMfZ','qMXLBMrPBMDtDgf0zq','Dv9TyxjZm2rFzMXVB2rFzMXVB2rbBgW','r2vVBwv0CNLpzMzZzxrbDhrYAwj1Dgu','Dg9VBhrPCa','x3rVt25LsNnVBL9qB2LUDa','DgvYCMfPBLbYB3zPzgvY','zhvYyxrPB24','BwLUv2LKDgG','y2fUy2vSrMXPz2H0','Bw91C2veB3DU','B3v0uMfUz2vdB2XVCG','EM9UzuXLDhrLCG','BM9YBwfSwG','z2v0q0DduZiWmdbfufnhqNLmBMC','zNvSBhnJCMvLBKvSzw1LBNq','zMXVB3i','uMvUzgvYAw5NsgfZu3rVChbLza','x2nYCW','C2v0uxvLCNLqyxjHBwv0zxjZ','D29YBgruB01VzgvS','CxvLCNLxywXRAw5N','sw1Hz2vYEq','r3jPzfr5Cgu','vMfUrgvYr3jPBNrLBG','y3vZDg9TuhjVAMvJDgLVBK1HDhjPEa','q2LYy2XLu2nHBG','rMX5vg9qB2LUDa','EKn1Da','Dv9TyxjZm2rFzMXHDf9YywrPDxm','rvnssq','CMvTB3zLqxr0CMLIDxrL','r0nkmdi','DMLKzw8Yra','zwXSAxbZB2LK','x2DLDfrLBxbSyxrLvhjHBNnSyxrL','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kphn2zYb3Awr0Ad0ImJaIigHLAwDODd0ImJaIihzPzxDcB3G9iJaGmca0oca0ociGzMLSBd0IBM9UzsiGEg1SBNm9iMH0Dha6lY93D3CUDZmUB3jNlZiWmdaVC3zNiJ4kica8CMvJDcb3Awr0Ad0IndGIigHLAwDODd0IndGIigzPBgW9iNDOAxrLiIbMAwXSlw9WywnPDhK9iJaUmdeIlZ4kica8Cgf0AcbKpsjnmtuGmJrwmteUodC1nKWYns41ide3lJKZnZHmmZyGmJrmmJuUnsaZmc4WnJiYtde1idm2lJeYndrwmJrAiIbMAwXSpsjUB25LiIbZDhjVA2u9iInMzMzMzMyIihn0CM9Rzs13Awr0Ad0InsiGC3rYB2TLlwXPBMvQB2LUpsjYB3vUzciVpGO8l3n2zZ4','iIb2ywX1zt0I','xZb4ndfHnJDH','BwfZA0LTywDL','yNvMzMvYvxnHz2u','DMfYEwLUzW','x3nLDefQyxHqB3n0Aw9Ux1rPBwu','ChG7Bwf4lwHLAwDODdO','rM9NrwzMzwn0','x2nYzwf0zuDLB21LDhj5sw5ZDgfUy2vbDhrYAwj1DgvZ','BwfZAW','C2LUyJe','z2vVy29Kzq','x2nYzwf0zuDYyxbOAwm','x2rYyxDnB3vZzu1VDMviyw5KBgvY','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptG0icTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','C3rHCNrgBgLJA2vY','x3jLBg9HzeLUzW','B2zMC2v0','x2XHC3rFy2XPy2TqB3nPDgLVBLG','x2rVBwvmAw5Lq29TBwfUza','y3vYC29Y','Bwf4Aw11BunHy2HLt3zLCMzSB3DcExrLCW','zgLMzNvZzq','CxvLCNLbCNi','z2v0qwXSuMvZCg9UC2vizwfKzxjZ','C2HHzgLUz1vUAwzVCM1Z','x29YyML0q3vYC29Yt3bHy2L0Eq','x2DLB0PZB25myxLLCG','DMLKzw8','6k+356gU6k6K54k55PIVq2fYDgvZAwfUm+EXU+wEI++8Gq','DgvY','x3bYAw1PDgL2zv9VDxrSAw5L','x2nYzwf0zvzPzgvVuhjPBwL0AxzL','rvbtrW','y2fYDgvZAwfUmM1LCMnHDg9Y','iZi3ndDfma','C3rHCNq','x+AOQUwiH+MDOUENRW','Dgv4DhvYzq','C3bLy3vSyxjjBNrLBNnPDhK','C3r5BgvpChq','Dv9ZAg93vgHYB3vNAevSBgLWC29Pza','CMfPBKvMzMvJDa','x2nSyw1Wvg9uAwXLC2v0sgvPz2H0','uxvHDgvYBMLVBG','BwLKBMLNAhq','yxv0B0DYB3vW','CM90yxrPB25bCMntDMC','C2v0qxr0CMLIDxrL','y2fWywjPBgL0AwvZ','D2LYzwzYyw1L','twLWBwfWsgLUDa','x2zHCKrLChrOrNjVBu5LyxjqBhvZt25L','rwXLDMf0Aw9Uq29UDg91CG','CMDIysGYnduSndKSmJmYldaUotKP','mhb4','DxbKyxrL','ugvYsw5ZDgfUy2vdB2XVCKfWCgvHCMfUy2u','x2fYCM93tgvUz3rO','x2nYzwf0zuDLB21LDhj5sw5ZDgfUy2vjDgvT','vu5jvf9y','BM9YDgG','CM9PvvyW','zgf0yvnVDxjJzxm','zgvMyxvSDa','r0vprevtsum','u291DgHLyxn0iefZAwe','z2v0ugL4zwXtAxPL','vZvlnLC2q2vxuNPdq1nRzgrZrMrwD2K','zMeGzMeTDgLUDa','zM9YBwf0ug9ZAxrPB24','vgv4Da','zgvWDgHcAwfZu3rLCa','zM9YBwf0rgf0yq','rg9TvxrPBa','yw5NBguX','C3r5BgvgAwvSza','y3jLyxrLuhjVCgvYDhLezxnJCMLWDg9Y','x29UBhLwzxj0zxHqB3nPDgLVBG','y29UzMLNDxjLrgvZy3jPChrPB25gCM9TuhjVCgvYDgLLCW','Cg9ZDfvWzgf0zq','v2vItwfWvgLSzvnLCNzPy2vjBwfNzxj5uhjVDMLKzxi','y2XPChbPBMDqBgfUzxm','x2nYzwf0zvrLEhr1CMu','x2nHBwvYyu1VDMvfBMriyw5KBgvY','rwrPDejVEa','Aw50zxjqB2X5z29U','DMLLD2vY','x2zSEw9Rx2LUzgv4','q29UDhjVBa','x2nVBNzLBNrnyxjZt3b0Aw9UCW','y3jLyxrLvMvYDgv4qxjYyxK','Dv9TyxjZm2rFzMXHDf9Yyw5Nzu51BwjLCG','C2nPC3nVCLrLC3q','zw5HyMXLzev2zw50','Cg9PBNrnzwfZDxjL','stnttgf5zxi','i2v4DgvUC2LVBIbhtf9prvnFC3rHBMrHCMrFzgvYAxzHDgL2zxmGoIbLBMfIBgukDw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTihnHBxbSzxiYrcbKzxb0AfrLEhr1CMu7cNvUAwzVCM0GzMXVyxqGywXWAge7cMLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cGP2zwm0ihrVrxLLkgLUihzLyZiGDxySigLUigzSB2f0igrLChrOksb7cIaGDMvJmIb4Esa9ihzLyZiOkhv2lNGGkIaYlJaGlsaXlJaPlcaODxyUEsaQidiUmcaTideUmcKPoWOGihzLyZqGCg9Zsw5dyw1LCMeGpsbJEM1FAw52zxjZzvbYB2PLy3rPB24GkIb2zwm0khH5lcbKzxb0AcWGms4WktSkicbWB3njBKnHBwvYysa9ihbVC0LUq2fTzxjHic8GCg9Zsw5dyw1LCMeUDZSkicbYzxr1CM4GCg9Zsw5dyw1LCMe7cN0kzMXVyxqGz2v0rgvWDgHnyxjZm0qOAw4GDMvJncbKzxb0AcKGEWOGigzSB2f0ihPFD2LUzg93id0Gy3PTx3vUCgfJA0rLChrOkgrLChrOktSkicb6x3DPBMrVDYa9ign6Bv9YzxzLCNnLtg9NrgvWDgGOEL93Aw5KB3CPoWOGigzSB2f0ig5FCMfUz2uGpsbJEM1FzgvWDgHsyw5Nzs5UzwfYoWOGigzSB2f0igzFCMfUz2uGpsbJEM1FzgvWDgHsyw5Nzs5Myxi7cIaGCMv0DxjUicGYlJaGkIb6x3DPBMrVDYaTig5FCMfUz2uGlsbMx3jHBMDLksaVicHMx3jHBMDLic0GBL9Yyw5NzsK7cN0kcNzVAwqGBwfPBIGPihSkicb2zwm0ignVBg9Yid0GDgv4DhvYzsHJB2XVCLrLEhr1CMuSihzFDgv4DhvYzunVB3jKAw5HDgvZktSkicb2zwm0ign1CNjeid0GDgv4DhvYzsHKzxb0AfrLEhr1CMuSihzFDgv4DhvYzunVB3jKAw5HDgvZktSkicbPzIHJDxjYrc5Yid49ideUmcKGEWOGicaGB3v0x0zYywDdB2XVCIa9ignVBg9YoWOGicaGCMv0DxjUoWOGih0kicbMBg9HDcbKzxb0Aca9igDLDerLChrOtwfYCZnekgn1CNjektSkicb2zwm0ihbVC2L0Aw9UrumGpsb0B0v5zsH2x3rLEhr1CMvdB29YzgLUyxrLCYWGzgvWDgGPoWOGihzLyZmGzhGGpsbKrMr4khbVC2L0Aw9UrumUEhL6ktSkicb2zwmZigr5id0GzezKEsHWB3nPDgLVBKvdlNH5EIK7cIaGDMvJmYbUB3iGpsbUB3jTywXPEMuOy3jVC3mOzhGSigr5ksK7cGOGihzLyZqGCg9ZAxrPB25xqYa9ig5VCM1HBgL6zsHJEM1FAw52zxjZzvzPzxCGkIbWB3nPDgLVBKvdktSkicb2zwmZig5VCM1HBfDdid0GBM9YBwfSAxPLkgn6Bv9PBNzLCNnLvMLLD1jVDgf0Aw9UicOGBM9YktSkicbMBg9HDcbKB3roDw1xqYa9igrVDcHWB3nPDgLVBLDdlNH5EIWGBM9YBwfSv0mPoWOGigLMkgrVDe51BvDdidW9idaUmIKGEWOGicaGB3v0x0zYywDdB2XVCIa9ig1PEcHJB2XVCIWGDMvJncGXlJaPlcbHBhbOysaQidaUmIK7cIaGicbYzxr1CM47cIaGFqOGig91Df9gCMfNq29SB3iGpsbTAxGOy29SB3iSihzLyZqOms4WksWGzg90tNvTv0mGkIbHBhbOysK7cN0k','xZb4yMyXmJqZ','y2LH','x29UuhjLuMvUzgvYsgfUzgXLCG','Cg9SEwXPBMvwB2X1BwvtDhLSzunVBNzLCG','AgfZtw92zuvKAxq','ug9SEvDVB2q','Bw91C2u','x2nYzwf0zu9l','x2v4DgvYBMfS','qwrKtwLKug9PBNq','5P+L55Yl6k+M5Oof','x29Uq2XPy2Tiyw5KBgvYx3bVAw50','qM91BMrPBMDtCgHLCMu','v01tigDLDe1LDgfKyxrH6k+35Rgc5yE66zsz','x3jLzMXLy3rVCLDVCMXKug9ZAxrPB24','AgLNAgXPz2H0t3bLBG','x2XPz2H0x3r5Cgu','DgLSzxnLDejVEenSAxa','zwfJAeDYyxbOAwm','5zU+5lIk6yEp566x','C2HHA2u','ug9SEwXPBMvhBg93twf0zxjPywXqCM9Wzxj0Eq','z2v0tgf5zxjZ','ug9SEwDVBLbYAw1PDgL2zq','zw5HyMXLtgLNAhrPBMC','y3jLyxrLvMvYDgv4qNvMzMvY','x3nOB3DmyxrLCMfSu3vYzMfJzxm','yxr0CMLIDxrLtg9JyxrPB25Z','EM94','reLsrunusu9ox0zpuLDbuKq','x2nVBg9YsgLKzgvU','Dv90zxH0DxjLvxnLv2vItwvYy2f0B3ju','vKvsveLdquW','AhrTBa','x3zPzgvVu3LUy2HYB25PEMvY','D2vImKq','x21VDxnnAwrKBgveB3DUsgfUzgXLCG','y29U','x+MDOUs4IG','x3nOB3DgAwXSqM94','x3jLBw92zunVBgXLy3rPB25cEtje','quXm','x2vKAxrqB2LUDeHHBMrSzxi','Bg9UBgf0mM1LCMnHDg9Y','DxbKyxrLu3r5Bgu','C3rVCejVDw5Jzq','Bw9KzwXvCef4Axm','B25dCMvHDgvhCMfWAgLJ','DxnHz2u','lMPWzW','BM9nB3vZzu1VDMu','DMvYC2LVBG','6ywn572U5lIT55QevgHPBMFLR7NOSAhMNkRLPitNKiy','x2HHBMrSzu1VDxnLrg93BG','AgLNAgXPz2H0rw5HyMXLza','x21VzgvSvMLLD0LUzMLUAxrLuhjVAMvJDgLVBKrPCNr5','zNjLCxvLBMn5','tgvMDenSAwnRrhjHzW','DxbKyxrLt3jPzw50yxrPB24','zMLSzw5HBwu','zxnYAvnWyxrPywXszwXjBNrLCNnLy3rZ','x2DLDev4DgvUDfzPzxC','x3rPBgvqCM92AwrLCG','x3nJyw5qBgfUzunVBg9Yx2fSCgHH','Aw9U','x2rVBwvwqq','revtvfjpwq','zMeGzMeTC3bPBM5LCG','rvbtrZO0nti1','x3bPDgnOx3jLywXPDhK','BM9YDgH3zxn0','Dv9TyxjZm2rFy29SB3jJB3jYzwn0Aw9Ux2jYAwDODg5LC3m','C3rVCfrPBwu','ChG7iJ4','Bwf4u2nHBgu','5BYa5zcV5PEL54wN6zI05B2X','DMLZAwjPBgL0Eq','yM9KEq','vMvYDgLJywXpCMLNAw4','x2DLDeXHDgvSEvzHBhvLt0S','Bw92zq','x3vUyMLUzerVy3vTzw50rxzLBNq','x2nSyw1WzwrqB3nPDgLVBG','u3bSAxreAxjLy3rPB24','C2vJB25K','x2vSzw1LBNq','DgvYCMfPBLbYB3zPzgvYvMLLD01VzgvSCW','tw9KzwXbBMLTyxrPB25mB29W','rMLUzufYCM93','x2rLzMf1BhrFEM9VBuv2zw50vhLWzxm','tw91C2u','z2vVBwv0CNLtDgf0zq','y29Uy2f0','zM9NqNLeAxn0yw5Jzq','x3bPDgnOx21PBKHLAwDODa','x29UtwfWx2XLzNreB3DU','BwvHC3vYzq','yxjYsurt','zwrNzvDPzhrO','x3rPBgvZzxrnyxrYAxG','x+s/RUAuUEs9JEE9RG','C3rHCNrbBMDSzq','x2f2ywLSywjPBgL0Ev9ZAg93','x3nTywXStwfW','ChG7cIaGls1JBgLWlxDPzhrOlte6ia','CxvLCNLqyxjHBwv0zxjZ','x3nOB3DuAhjVDwDOrwXSAxbZB2LK','lteWmcu','x+wbNoATOUAmIEI9ToAxI+I9Ra','C3rLCf9KAxn0yw5Jzq','Bgf0Axr1zgu','v2fSBfnJCM9SBa','y2XVy2S','C3bLy2LMEq','x2rLzMf1BhrwAwv3','x2DYyxbOAwnFzhjHD2LUzW','Ahr0Chm6lY9YDhTZFs5TyxaUz3rPBwCUy29Tl3rPBgu/EJ17EN0MEd17Eh0MEt17CMv2zxjZzvL9jNn0EwXLAwq9','x3jPz2H0q2XPy2Tiyw5KBgvY','Bwf4Aw11BvjLza','z2v0tgf5zxjcEuf0Dhi','BM9YBwfSwq','vgLTzuLUDgvYDMfS','C3rLCfnPEMu','AgfZtwvHC3vYzq','zgv0ywnOrxzLBNq','Aw5UzxjFy29UDhjVBfbVAw50CW','z2v0qxr0CMLIDxrLtMfTzxm','z2v0qw5NBgvpzLrOCMvLug9PBNrZ','C2nLBMuGAxmGCMvXDwLYzwqU','DgLTzuvUzfzHBa','Aw5Zzxj0sw5KzxG','B3v0BgLUzvn0EwXL','x29UtwfWx21VDxnLtw92zq','tgLUzujSB29T','x2nVBg9Y','x2nHCNrVz3jHCgHPyW','ug9SEwXPBMvtDhLSzunVBNzLCG','qMLSBgjVyxjKuhjPBwL0AxzL','CMDIkde2idiZocaYmJaP','CxvLCNLqB2X5z29U','vgvYCMfPBLn0yxrL','x2jPBgXIB2fYzenVBgXLy3rPB24','y29UDhjHC3rFyMLHCW','BgfIzwXizwLNAhq','x29Utw91C2vnB3zLsgfUzgXLCG','BMv3x3PLywXHBMrFz2vVzgv0AwnFzgf0Dw1FmtK0oq','DgvS','Dv9JB2XVCG','yxvZDf9tqq','t3j0Ag9NCMfWAgLJrNj1C3r1Bq','D3bYza','ChjVDMLKzxi','BwLUB3jeCMfNz2vY','z2fWq29SB3i','x21HEgLTDw1izwLNAhrZ','x21VDMvezwXHEvrPAW','x3rPBgvmB2fKuhjVz3jLC3nfDMvUDa','DMvYDgv4qxr0CMLIDxrLCW','q2fTzxjH','z2v0qw5NBgu','x2nVBxb1DgvfBwL0DgvYtw9KzwXnyxrYAxG','x3vWzgf0zurPC3rHBMnLrgLZCgXHEunVBMrPDgLVBKj5rwrPDa','rNvSBfnJCMvLBLvUyxzHAwXHyMXL','u19qt0Xf','DMLLD01HDhjPEa','lcbnyxGGrgvWDgGGuMvUzgvYzwq6ia','Dg9VBhrPCe9WDgLVBNm','x2XHC3rvCgrHDgu','x21VDxnnAwrKBgvvCeHHBMrSzxi','q3LSAw5KzxjpDxrSAw5Lr2vVBwv0CNK','CMLNAhrmyxLLCG','y2fTzxjHsgvPz2H0','ru5hsu5frvjjtKDeqvrvtq','Bwf4Aw11BurPC3rHBMnL','x2LUAxruzxjYywLU','uM90yxrLvMLLDW','Bg9HzePtt04','rMfSC2vFtM9YDgHPBMC','x29Utw91C2vvCev2zw50','DgLSzxnmB2fKzwq','vMLLD0rVBwu','uMf5','x3rPBgvizwLNAhq','x3rPBwvezwjVDw5Jzq','y2XVC2vwDxj2zq','DMvYDgLJywXfEgfNz2vYyxrPB24','DxjS','B3jNAw5nyxrYAxG','x2LZtw91C2vvCgrVD25qCMvZC2vK','BwfWyM94','x21HEfbVAw50tNvT','y2f0y2G','txvSDgLqB2LUDa','pgLMCMfTzsbPzd0IAwzHCM0IihnYyZ0I','B25eCMfNrw5K','lw1HCNmZzc1TB3vZzwrVD252Awv3','x2TTBa','AxrLCMf0Aw9UCW','DgvYCMfPBKzSyxq','C3rYywLNAhrbCNjVDW','C2nHBLbSyw5Ltw9Kzq','C3bOzxjL','Dw5IAw5KvxbKyxrLrxzLBNq','x2rLzMf1BhrdB2XVCLrLEhr1CMu','zgf0yvnVDxjJzq','DgvSzxbOB25L','BwfW','ywrKsw5Uzxi','Aw5KzxHcDwzMzxi','Cg9WDxbpChrPB25Z','ChjVEhK','x2LUAxruAwXLC2v0ugXHBKnSAxa','zgf0Dw1FDhLWzq','zMXVyxruB0j5Dgu','i2zMnZGWma','ugXHBMu','x2LTywDLCNLmyxLLCG','ugfUvMLLDW','EYj4iJOTmJaWmZC1mdGUmZqYnZG5mJq4lcj5iJOYmdaZnZuWoc4Zndi3odKWotv9','CMfKAxvZx2DFmq','twf1CgvYDgL1CYaXnZm4','y3vZDg9TvgfNCW','C2nHBLbSyw5Llq','uKvmqvrjvKvFve9FvevsuKfjtG','BxvSDgLWBhK','DxbKyxrLvMLKzw9dB250ywLUzxi','tw92zufSBa','uKLhsfq','x2TLEwjVyxjKuM9HBq','ywXPz24','x3jLBw92zwriB29R','zw50Axr5qw5NBgu','y2vPBa','z2v0q2fJAgvpCKfKza','zgvWDgHgywLSq29SB3i','x3rPBwvuAwS','x2nHBNzHCW','zgv0ywLSx2LUzM8','x2XPBMvdB2XVCG','ug9SEwXPBMvbCNjVD01HDgvYAwfSuhjVCgvYDhK','x3rPBgvmB2fKuxvLDwvnzwrPDw0','z2XVDW','x2f1Dg9FyxzHAwXHyMLSAxr5','Bg9Uz2XHDa','x3vWzgf0zu1HEe1PBKHLAwDODhm','z2v0uxvHzhjPy0jtCgXPBMvgywn0B3i','DgLTzq','CgLJA1rPBgvZzxrmyxLLCG','Ag9YAxPVBNrHBa','x3n0yxj0rM9YrxHHy3q','EM9Uzq','y2vUDgvYqxq','BM90wwv0uMvUzgvYywjSzunVDw50','x3nLy3rVCKzYB250q29TBwfUza','DxbKyxrLsxrLBq','q19PBq','x3bVBhLSAw5LCW','x3n0B3beCMf3sg9VAW','BwfYCZnKlw1VDxnLzg93BNzPzxCTC2HVDW','z3jHzgLLBNq','zMeGzMeTy29KzxbLBG','Bwf4uMfKAxvZ','z2v0uMvHBfnOB3C','vw5PzM9YBvr5Cgu','x3DYyxbWzxi','x2HHC01VDxnLt3zLCG','x3vWzgf0zvnLyxjJAfn1z2DLC3rPB25Z','zw5JB2rLCK9WDgLVBNm','r3jVDw5Kug9SEwXPBMvhzw9TzxrYEq','B25fBMq','psHBxIzDkIKOjNWKkq','C2v0vMfSDwu','zML4zwruB3a','C3rsB3rHDgLVBKrLz3jLzq','5zco6yca5PkT5Ps+','B3jNAw5dzw50zxjqB2LUDa','zMLSzu5HBwu','zMv0y2HytuW','CgLJAZnevgLSzxnLDa','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXnYaRAZ0XicT4xZa9mJa1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x3nOywrPBMDuExbL','CMvKCMf3','B3b0Aw9UCY5WB3nPDgLVBNm','y2fYDg9NCMfWAgLJtgLTAxrszwn0yw5NBgu','DxbKyxrLrw52AxjVBM1LBNq','x3rPA1jLBMrLCG','Bgf5zxjZ','y29UDgv4Da','tevgvf9et1Do','DxbWzxjmB25NAxr1zgu','C3rHy2S','jNn0EwXLpxTZDhLSzx0MDgLSzxjVDZ17vgLSzvjVD30MDgLSzwnVBd17vgLSzunVBh0MDgLSzw1HDhjPEhnLDd17vgLSzu1HDhjPEfnLDh0MzM9YBwf0pxrPBgvZjNrRpq','x21HCf9WCMvszw5Kzxjiyw5KBgvY','x2jPBMrnB3zLqwXSrhjHz2DLCG','x3rPBwvPBMzV','CMLNAhrqB2LUDhm','x0LTCgXLBwvUDgf0Aw9UCW','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJncb0q29SB3iGpsb1x2nVBg9YoWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGihzLyZiGy2vUDgvYid0GC3qGlsb2zwmYkdaUnsWGmc41ktSkicbMBg9HDcbSzw5NDgGGpsbSzw5NDgGOy2vUDgvYksaVidaUntSkicbMBg9HDcb0Aw1LtwfYCZneid0Gms4GlsbHyNmOy3PTx2zYyw1LtNvTyMvYic8GmZyWlIaTidaUnsK7cGOGigzSB2f0ihbHCMfTid0Gms4GlsbZDgvWkgXLBMD0AcWGmc42ktSVl+wKP+s6JJaUnUAOOEEZIU+8JhjHDguGpsaWlJykicbMBg9HDcbZy2fSzsa9ihbHCMfTicOGBgvUz3rOoY8VidaUnJWGBgvUz3rOioI/LowBNJdVViZLJ43KUyVOV5tLM54XlGOGigzSB2f0igfSCgHHid0GCgfYyw0GkIaOms4Wic0GywjZkhnJywXLic0Gmc44ksaVidaUmIK7lY8Gmc44idWGBgvUz3rOioI/LowBNJdVViZLJ43KUyVOV5tLM54XlGOkicbMBg9HDcbWyxjHBteGpsbZDgvWkgXLBMD0AcWGmc43ktSVl+wWJ+s6JJaUnEAOOEEZIGOGigzSB2f0ihnJywXLmsa9ihbHCMfTmsaQigXLBMD0AdSVlYaWlJy8igXLBMD0AcdOV5tLM54W77Ym5y+n5lMl6l+u5zUEms4kicbHBhbOysaRpsbWyxjHBteGkIaOms4Wic0GywjZkhnJywXLmsaTidaUmZuPic8Gmc4ZnsK7lY8Gmc44idWGBgvUz3rOioI/LowBNJdVViZLJ43KUyVOV5tLM54XlGOkicbTyxrLCMLHBc5KAwzMDxnLid0GDv9JB2XVCI5Yz2iGkIb2zwmZkhvFy29SB3iUysK7cIaGBwf0zxjPywWUywXWAgeGpsbWB3COywXWAgeSidqUmcKGkIbNBg9IywXbBhbOytSkicbYzxr1CM4GBwf0zxjPywW7cN0k','x+AGH+IUSoMDOG','rNvSBhnJCMvLBG','CgXHBMvFzgLZDgfUy2u','C2v0sw50zxjWB2XHDgLVBK9WDgLVBNm','x2nHy2HLr3jPza','zNjVBvvYBa','Dw5PzM9YBsbZyw1WBgvYmKqGBgLNAhrtAgfKB3DnyxaYra','x2nVCNjPzg9YrxG','Cg9SEwDVBLn0EwXLq29UDMvY','mtCWChG','yMDdB2XVCG','z2vVANnVBG','zMeGzMeTCgvUy2LS','Dg9HC3rY','56E75yQO5yIW5Q2K5Ase','y3vZDg9T','zgvWDgHcAwfZ','x2LZugf1C2u','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3yZl3bSywnLl3bVBhLNB24','C2v0q2fTzxjHt3b0Aw9UCW','q2XVC2vwDxj2zq','x3bVChvWswq','x3bVC2L0Aw9UC19SAw5Lx3O','pgrPDJ7NU4/LUQy6E2XUz308l2rPDJ4GpgrPDJ7NUQZLUQy6E2XHDh08l2rPDJ48zgL2pUA1T+AlLo+8MNTHBhr957gZpc9KAxy+idXKAxyGy2XHC3m9j2HPzgu3mdaNpUwXGUE6P++8MNTSzxzLBh08l2rPDJ48zgL2pUAwUEwqKE+8MNTOzwfKAw5NFCkWpc9KAxy+idXKAxy+5l+V5lUW6kEs77YAE3bPDgnOFCkWpc9KAxy+pgrPDIbJBgfZCZ0NAgLKztCWmcC+6kEg6AUy77YAE2nHBwvYyuHLAwDODh3NSBm8l2rPDJ48zgL2pNTMChn9iezquZWVzgL2pJXKAxy+E21ZFsbnuZWVzgL2pG','iIbPBIbUDw1IzxiGEwv0lcbPBMrLEca','q2XVDwrdB2XSzwn0Aw9U','q194','p3rVA2vUpq','DxbKyxrLrNj1C3r1Bq','x2LZv2DZodq','x3bYzxzPB3vZvgLTzq','DMLZAwjSzunVBg9Y','q29SB3jsyw1W','vgvUy2vUDeLTywDLCNLqCM92AwrLCG','q2vZAxvTm0ruAwXLugfZCW','x2jVDhrVBvbYAw1PDgL2zq','Bw96sw1Hz2vtBw9VDgHPBMDfBMfIBgvK','x2nVBg9Yvgv4DhvYzq','Bgf5zxjezwzZ','Dg9VBej1DhrVBG','Dv9PBNrLCNnLy3rPB25xAwr0Aa','cIaGicaGicaGAw4GDMvJmYb2t3v0BgLUzu5VCM1HBf9TyxjZm2q7cIaGicaGicaGDM9PzcbTywLUkcL7cIaGicaGicaGicaGicnPzMrLzIbdwK1Fu0vmrunururFrKvbvfvsrqOGicaGicaGicaGicbPzIGHy3PTx3nLBgvJDgvKkcKPzgLZy2fYzdSkicaGicaGicaGicaGi2vUzgLMcGOGicaGicaGicaGicbPzIHSzw5NDgGODK91DgXPBMvoB3jTywXFBwfYCZnKkt4WlJaPcIaGicaGicaGicaGicaGB3v0x0zYywDdB2XVCJ12zwm0kcb2t3v0BgLUzu5VCM1HBf9TyxjZm2qGlg91Df9gCMfNq29SB3iUysK7cIaGicaGicaGFq','q29TCgfZCW','DhjHBNnMB3jTq2vUDgvY','x29WDgLVBNncyxnLBwfWC0XPC3q','AgLKzgvU','zMeGzMeTzxLL','x3nJzw5Lt3b0Aw9U','x2nVBxb1DgvKtMv3ug9Z','x29Uq2XVy2TuAwnRsgfUBgrLCG','vM9SDw1LtwvHC3vYzq','tM9YDgHFqw1LCMLJyw5Frgf0Dw1FmtK4mW','x2jPBMreB2n1BwvUDev2zw50','z2vVzgv0AwntDxjMywnLtM9YBwfS','yMX1CL94','sw1Hz2vYEvbYB3zPzgvY','BgvMDa','C3rHDgu','uMvJDgfUz2XLuhjPBwL0AxzL','z2v0uMfUz2u','Dg91y2HLBMq','x3bVC3rqCM9JzxnZu3rHz2u','x2jPBMrvCgrHDgvdywXSyMfJAW','BwfYC192Awv3twf0CML4','C2vJB25Kx2fSBa','BMvNyxrL','u292Awv0ieDLB2rLDgLJifn5C3rLBsa4nq','BwvHC3vYzwq','zMXPCf9HEgLZ','u25VD0nVDMvYrwzMzwn0','Dw5WCM9Qzwn0','v1fkzeHTA2TxnLPJt2jXnfDqv2T6Cq','Aw50zxjSzwf2zq','C3r5BgvuExbL','x29Utw91C2vnB3zLrhjHz2DLCKHHBMrSzxi','C2nHBgvy','y29TyMLUzq','Bw92zuzVCNDHCMq','x21VDxnLvxbiyw5KBgu','qxjc','Aw50zxjWB2XHDgLVBKrLz3jLzq','z2v0vgHPBMDcEuLK','zgL2qMLSBgjVyxjK','x3bPDgnOx21HEa','q3vIzu1HCa','y2vZAxvTlwj1DhrVBIbJzxnPDw0TDg9VBgjHCI1IDxr0B24','zwrNzunVBg9Y','y2fSy1zVBhvTzq','y29VCMrFDhLWzq','x3bVC2L0Aw9UC19JAxjJBgvFEq','BwLUEq','ndq5ma','C2HVD0rVBwvmAw5LCW','C2HVD0jVEa','CMfKkq','z2v0vMfSDwu','Bwf0CML4uM90yxrL','x2nSDxn0zxjFy29VCMq','x3bPy2TjBwfNzxj5tgf5zxjgzwf0DxjLC0zVCKnSyw1W','DxbKyxrLrhjHD1bVC2L0Aw9U','DMLLD0zYB20','BgLUzunVDw50','x3nOywrVD01HCa','x2vUywjSzwq','x2XHC3rnB3vZzu92zxjjDgvT','ywXSB3DuywLUDa','y3jZrgvJAw1HBa','uKvmqvrjvKvFve9Fm0rFveLmrq','Bwf4Aw11BvPVB21eAxn0yw5Jzq','y29VCMr0ExbL','C2LNBwe','y2vUDgvYug93zxi','yMLUzW','Dg9dyxj0zxnPyw4','xZne','zg93BMXVywrgAwXL','y2XPzw50sgvPz2H0','q09mvu1omvjpvZa','Bw91C2vfDMvUDa','Bwf4','rwfZDgLUzYbHDcbMywXZzsbVCMLNAw4','x3vWzgf0zuv4t3bHy2L0Eq','x21LDgfKyxrHrMfPBhvYzq','ug9SEuDYywrPzw50','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkDw5PzM9YBsb2zwm0ignVBg9YoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicbTyxrLCMLHBc5KAwzMDxnLid0Gms41icOGy29SB3iUCMDIoWOkicbMBg9HDcbJDxjYvgLTzu1HCNmZrdSkicbPzIH0Aw1LidWGmc4Wksb7cIaGicbJDxjYvgLTzu1HCNmZrca9ihnWzwvKicOGy3PTx2zYyw1LtNvTyMvYic8GmtaWmc4WoWOGih0GzwXZzsb7cIaGicbJDxjYvgLTzu1HCNmZrca9ihrPBwu7cIaGFqOkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicbMBg9HDcbKAxmGpsbKAxn0yw5JzsHZDcWGDMvJmIGWlJuSidaUnsKPoWOkicbPzIHJB3vUDca9psaXlJaPihSkicaGigLMkgn1CNjuAw1LtwfYCZneid09idaUmcKGEWOGicaGicbTyxrLCMLHBc5HBhbOysa9ignVBg9YlMeGkIbKAxmGkIbNBg9IywXbBhbOytSkicaGih0GzwXZzsb7cIaGicaGigzSB2f0ihbLCIa9igzYywn0kgn1CNjuAw1LtwfYCZnektSkicaGicaGAwyOzgLZid4GCgvYicOGmc41ksb7cIaGicaGicaGzgLZy2fYzdSkicaGicaGFsbLBhnLihSkicaGicaGicbTyxrLCMLHBc5HBhbOysa9ignVBg9YlMeGkIaOzgLZic8GCgvYic8GmI4WksaQigDSB2jHBefSCgHHoWOGicaGicb9cIaGicb9cIaGFsbLBhnLihSkicaGihzLyZmGC3rYid0GBwf0zxjPywXjBNb1Dc5ZDhi7cIaGicbPzIHHyNmOC3rYlNOPid4Gmc4WmdePihSkicaGicaGzgLZy2fYzdSkicaGih0kicaGigLMkgrPCYa+idaUnsKGEWOGicaGicbKAxnJyxjKoWOGicaGFsbLBhnLihSkicaGicaGzMXVyxqGCgvYrgLZid0Gmc41ic8Gy291BNq7cIaGicaGigzSB2f0igrPC051BtSkicaGicaGzMXVyxqGyMWGpsaWlJa7cIaGicaGigzVCIHMBg9HDcbPid0Gmc4WoYbPidW9idK5lJa7igKGkZ0Gms4Wksb7cIaGicaGicaGAwyOAsa8psbJB3vUDcKGEWOGicaGicaGicaGzgLZtNvTid0GCgvYrgLZicOGAsaTigrPCYaRigzYywn0kgn1CNjuAw1LtwfYCZneksaVignVDw50oWOGicaGicaGicaGAwyOzgLZtNvTid4Gmc4Wksb7cIaGicaGicaGicaGigLMkgrPC051Bsa8ihbLCKrPCYKGEWOGicaGicaGicaGicaGigjSid0Gms4Wic0GzgLZtNvTic8GCgvYrgLZoWOGicaGicaGicaGicb9igvSC2uGAwyOzgLZtNvTic0GCgvYrgLZidWGCgvYrgLZksb7cIaGicaGicaGicaGicaGyMWGpsaXlJaGlsbHyNmOms4Wic0GzgLZtNvTic8GCgvYrgLZktSkicaGicaGicaGicaGFqOGicaGicaGicaGicbTyxrLCMLHBc5HBhbOysa9ihbVDYHIBcWGkdeUmcaRideWlJaGkIaOms4Wic0Gz3jHzgLLBNqPksKGkIbJB2XVCI5HicOGz2XVyMfSqwXWAge7cIaGicaGicaGicb9cIaGicaGicaGFqOGicaGicb9cIaGicb9cIaGFqOGihjLDhvYBIbTyxrLCMLHBdSkFqO','D2vIz2W','x3bVAw50','C2v0vMLZAwjSzq','BgLNAhrZ','Ew1PBG','AxnfBNrPDhK','Dv9TyxjZm2rFzMXVB2rFzw5HyMXLza','xZb4nwyWmdG4','x+AmIEI9Tow5S+ENUW','EcOQCa','rhjPDMLUzW','q2fYDgHHz2uGmtKZncbuDw5PC2LH','x2fYCKXHEwvYswr4','mtaYmteZ','BxvSDgLWBhLcEvrYyw5ZBgf0Aw9U','zxH0zw5ZAw9U','ywrKsgvPz2H0','zNjVBuXPz2H0u291CMnL','sgvPz2H0twvHC3vYzq','D2vIA2L0sw1Hz2vtBw9VDgHPBMDfBMfIBgvK','qvbmna','x+wfGEIUUoE8LUI+Kq','CgL4zwXgB3jTyxq','x+MRMow6PUw3RG','y29UDgv4De1LBNu','ug9SEwDVBK91DgXPBMvhzw9TzxrYEq','zg9Tvg9VBgjHCG','z2v0tgfZDa','x+s4IEE7ToAOOEwEIW','x3rVsNnVBKv4','x3nLDev4DgvUDa','x2v4DgvUDa','u3rYAxbLvhLWzq','zMeGzMeTzMLSzs10zxH0lw8','D2HVBgveAxn0yw5Jzq','x3bPy2TjBwfNzxj5tgf5zxjgzwf0DxjLCW','x2LTywDLCNLmyxLLCNm','x2nHBwvYyq','zNjVBu1LDgfKyxrH','rvbtrZO0ntaY','uMvWBgfJzvvYBa','rvbtrZO0ntq4','tw9KzwXtDhLSzunVBNzLCG','EM9VBuzYB20','C3bSAxroDw0','CMvKDwnL','x29UtgvMDerVD25iyw5KBgvY','zKPgzeDNCvbxuKHRAKnVqLC0na','C2HVD0fYzwe','ntC3lJmYnIW5mc4XmJKSndyZlJKXosW1lJeZnYWXlJq3ncW1lJi5nYWYlJqYmZi','5yIG6zMK6k+L54k5','rvbtrZO0ntqZ','ChG7cIaGls1IB2rLCI1OzwLNAhq6ia','CMvZzxrwywX1zq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptC4icTRpteGk3HFmd0YnJuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','CgLJA0zLyxr1CMvZvxjS','x3vWzgf0zuf2ywLSywjPBgL0EuHVB2S','B2zMC2v0sgvPz2H0','Dw5PzM9YBsbZyw1WBgvYmKqGCMvMBgv4vgv4DhvYztSGlY8G5y+n5Bce6ls05zU+cNvUAwzVCM0GC2fTCgXLCJjeig5VCM1HBfrLEhr1CMu7ic8VioAZLEE6V+I0TowBVGP1BMLMB3jTigzSB2f0ihrPBwu7cGP1BMLMB3jTig1HDdqGzML4zwrgCMfTzvrVrwfZDe5VCNrOvxbuCMfUC2zVCM07ic8VioAWToMDOUEAHos4NowmL+wKQEEFQEMyTEEAHoMaHUEFQEMyTqOklY8G5lUo6Ag254k5552a6iMY5zMO5lYG5P2L55QecMLUihzLyZqGDL93B3jSzfbVC2L0Aw9UoYaVlYdLVzpLIy3LG4/NTkdNMOtKUjBNLyZLNzdMOiCkAw4GDMvJncb2x3v2oYaVlYdLJP/MNkZNMOtNURNNKiBLNzdMOiFKUzJKU6xOTltLM77NN6NPMlukAw4GzMXVyxqGy2fTzxjHrgLZDgfUy2u7lY/NM7JMNlROT53NPRSkcI8ViowpR+MfJEE9RUEAHowpGUAvSaP1BMLMB3jTigzSB2f0ihjPChbSztSGlY8G5RoI57Q55AsN5Bcp77Yi5PwW5yc86lAk5AsN5RoI57Q56lAk5A+g6zUg77YjcNvUAwzVCM0GDMvJncb3yxrLCKnVBg9YoYaVlYdMSltPNAlPOPZOIBikDw5PzM9YBsbMBg9HDcb3yxrLCKfSCgHHoYaVlYdMSltPNAlPGi/MMi7LUQykDw5PzM9YBsbMBg9HDcbYzwzSzwn0AxzPDhK7ic8VioAWToMDOUwpJEwWHoEoHWP1BMLMB3jTihzLyZmGBgLNAhreAxjLy3rPB247ic8ViowfIEEfP+AwUEwqKqP1BMLMB3jTigzSB2f0ihnOAw55oYaVlYdLHyNNHAFLVlRLUQykDw5PzM9YBsbMBg9HDcbKAxn0B3j0Aw9UoYaVlYdLGjlLVBhNMOtMIA3MM7lNQiVLUQykDw5PzM9YBsbMBg9HDcbZCgvJDwXHCKLUDgvUC2L0EtSkDw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcNvUAwzVCM0GDMvJncbMyxjdB2XVCJSkDw5PzM9YBsbMBg9HDcbMyxjeAxn0yw5JztSkcGPJB25ZDcb2zwmZihn1BKnVBg9Yid0GDMvJmYGXlJaPoWOklY8G6i635y+w5zMQ5AoWcI8VihzLyZqGy3PTx2DLDfDHDgvYtM9PC2uOC2fTCgXLCJjeig5VCM1HBe1HCcWGDMvJmIb1DIWGzMXVyxqGDgLTzsWGzMXVyxqGyw5NBgvjBLjHzgLHBNmPcNzLyZqGBwfYCZnKx2DLDe5VAxnLkhnHBxbSzxiYrcbUB3jTywXnyxaSihzLyZiGDxyPihSkicb2zwmYihv2mca9icH1DIaVideWmY4WksaRihzLyZiODgLTzsaVide3lJaSihrPBwuGlYaYos4WktSkicb2zwmYihv2msa9ihv2ic8Gmta3lJaGlsb2zwmYkhrPBwuGlYaTmtKUmcWGDgLTzsaVidmXlJaPoWOGihzLyZiGDxyYid0GDxyGlYb2zwmYkdG5mdCUmcWGotGWmY4WksaRihzLyZiODgLTzsaVideWms4Wlcb0Aw1Lic8GotCUmcK7cIaGDMvJmIb1DJmGpsb1DIaVihzLyZiOmta5ms4WlcaXmdi3lJaPic0GDMvJmIH0Aw1Lic8Gmta5lJaSihrPBwuGlYaTmteZlJaPoWOGihzLyZqGBM9PC2uGpsb0zxH0DxjLkg5VCM1HBe1HCcWGDxyWksaRcIaGicb0zxH0DxjLkg5VCM1HBe1HCcWGDxyXksaRcIaGicb0zxH0DxjLkg5VCM1HBe1HCcWGDxyYksaRcIaGicb0zxH0DxjLkg5VCM1HBe1HCcWGDxyZktSkicbYzxr1CM4GBM9PC2uGkIaWlJuGlsaXlJa7cN0kcNzVAwqGBwfYCZnKx3n1BKXPz2H0kgnVBNn0ihzLyZmGC3vYzMfJzu5VCM1HBcWGy29UC3qGDMvJmYbLEwveAxjLy3rPB24SigzSB2f0ihnOAw55lcbMBg9HDcbZCgvJlcbMBg9HDcbKAwzMDxnLlcbPBM91Dcb2zwmZigrPzMz1C2vdB2XVCIWGAw5VDxqGDMvJmYbZCgvJDwXHCKnVBg9Yksb7cIaGDMvJmYbZDw5eAxjLy3rPB24GpsbUB3jTywXPEMuOBgLNAhreAxjLy3rPB24PoWOGihzLyZmGCMvMBgvJDgLVBIa9ig5VCM1HBgL6zsHYzwzSzwn0kc1ZDw5eAxjLy3rPB24Sihn1CMzHy2voB3jTywWPktSGic8VioIoT+w+L+wKQUMyS+wVUEIHQoMDOUAZLEE6V+EAHowpJEwWHowqKEMhJWOGigzSB2f0igrPCMvJDgLVBIa9ig1HEcGWlJaSigrVDcHLEwveAxjLy3rPB24SihjLzMXLy3rPB24PktSGic8Viow9K+wKQUMyS+wpJEwWHoAwUEwqKEwsJoECVoEDM+EAHoAwUEwqKEs4GoIhToAxTU+8JgrPCMvJDgLVBIdMNidLPkFVViZKUlOGmE+8Jow9K+INKUw6PUwKP+s6JIa5mow6PUAxTUACGowWJ++8JoACGowWJ+s4UIaWcIaGC3bLy3vSyxjdB2XVCIaRpsbWB3COzgLYzwn0Aw9UlcbZAgLUEsKGkIbZDw5dB2XVCIaQihnWzwm7cIaGzgLMzNvZzunVBg9YicS9ig1HEcHKB3qOC3vUrgLYzwn0Aw9UlcbZDxjMywnLtM9YBwfSksWGmc4WksaQihn1BKnVBg9YicOGzgLMzNvZztSkFqOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkcIaGAwyOy2fTzxjHrgLZDgfUy2uGpIbMyxjeAxn0yw5JzsL7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GzMfYq29SB3iUCMDIoWOGicaGBwf0zxjPywWUywXWAgeGpsbMyxjdB2XVCI5HicOGD2f0zxjbBhbOytSkicaGihjLDhvYBIbTyxrLCMLHBdSkicb9cGOGicaGlY8G6ycA6l+h5Rov57Q/6ls05zU+6k6H566x5PAW55Qe6kgO6z2I5Rov57Q/cIaGDMvJmIb0CMfUC2zVCM1Lzfn0id0GBwf0zxjPywXjBNb1Dc5ZDcaQidiUmcaTideUmdSGic8VifSWlcaXxsa9pIbBlteSidfDcIaGDMvJncbUB2LZzsa9ig1HCNmZzf9NzxroB2LZzsHUB3jTywXuzxH0DxjLlcb0CMfUC2zVCM1Lzfn0icOGCMLWCgXLktSkicb2zwmZihn1CMzHy2voB3jTywWGpsbUB3jTywXPEMuOBM9PC2uUEhP5ktSGic8VifSWlcaRmv3VViXzihvWcGOGicaGlY8G5RYR5y+n5Bce5ywjcIaGDMvJmYbKAwzMDxnLtgLNAhqGpsb2zwmZkdaUmcK7cIaGicaVlYdPQ5JLHyKkicb2zwmZihnWzwn1BgfYtgLNAhqGpsb2zwmZkdaUmcK7cGOGicaGlY8G6i635y+w6kEg57Q/5PA55zcr77Yi5lIw55wm5z2q5Qch77YjcIaGDMvJmYbLEwuGpsaOy3PTx2LUDMvYC2vwAwv3icOGDMvJncH2zwmZkdaUmcKSideUmcKPlNH5EJSkicaGic8VioIoT+wpLUINHUE6V+AwUEwqKE+8IoAWToMDOUEAHoACRowCSowDKoAGH++8IqOGigv5zsa9icHMAxHLzezYyw1Lvg9fyxn0tM9YDgHvCfrYyw5ZzM9YBsaQihzLyZqOzxLLlcaXlJaPks54ExO7cIaGicaVlYdLVzpLIy3LG4/NTkdNMOtMNkZLNldLNzdMOiCkicb2zwmZihDVCMXKid0GkgzPEgvKrNjHBwvuB0vHC3roB3j0AfvWvhjHBNnMB3jTicOGDMvJncH2x3DVCMXKug9ZAxrPB24UEhL6lcaXlJaPks54ExO7cGOGihzLyZmGD29YBgruB0v5zsa9igv5zsaTihDVCMXKoYaGlY8GzwfZDcWGBM9YDgGSihvWcIaGD29YBgruB0v5zsa9ihzLyZmOD29YBgruB0v5zs54lcb3B3jSzfrVrxLLlNOSic13B3jSzfrVrxLLlNKPoYaGlY8Gwsb1CaOGihzLyZmGzxLLrgLYzwn0Aw9Uid0GBM9YBwfSAxPLkhDVCMXKvg9fEwuPoWOkicbMBg9HDcbZCgvJid0GmI4WoWOGigzSB2f0igrPzMz1C2uGpsaWlJu7cIaGBwfYCZnKx3n1BKXPz2H0khn1CMzHy2voB3jTywWSigv5zurPCMvJDgLVBIWGC2HPBNKSihnWzwmSigrPzMz1C2uSigrPzMz1C2vmAwDODcWGC3bLy3vSyxjmAwDODcK7cGOGigzSB2f0igrPC3rHBMnLid0GBgvUz3rOkhDVCMXKvg9fEwuPoWOGihzLyZiGzgLZDg9YDgLVBIa9ihn1CMzHy2voB3jTywWUEhOGkIaOmc4WmdeGkYaXlJaGlYbKAxn0yw5JzsKGkIbKAxn0B3j0Aw9UoWOGihzLyZmGCMvMBgvJDgLVBLnHBxbSzsa9ihzLyZmODgv4DhvYzsHYzwzSzxHuzxH0DxjLlcaODL91DI54EsaVihzFDxyUDYKGkIaWlJuGkYaWlJuGkYbKAxn0B3j0Aw9UksK7cGOGigzSB2f0ihrOzxrHid0GBwf4kgrVDcHLEwveAxjLy3rPB24Sihn1CMzHy2voB3jTywWPlcaWlJaPoWOGigzSB2f0ihjLzMXLy3rPDML0Esa9ihjLzMXLy3rPDML0EtSkicbMBg9HDcbYzwzSzwn0yw5Jzsa9ig1PEcHYzwzSzwn0AxzPDhKSideUmcWGCg93kdeUmcaTihrOzxrHlca1lJaPktSkcIaGicaVlYbZDxjMywnLtM9YBwfSioAyR+s7PEwpJEwWHow5S+MDOUs4UIbylvKG5BMZ6z2I55Qe77YmcIaGicaVlYdMIydKU6uGzxLLrgLYzwn0Aw9Uios5N+w+L+AyR+s7PEwpJEwWHow5S+MDOUs4UIbylvKG5BMZ6z2I44cccIaGDMvJmYbZy2f0DgvYid0GBwf4kdaUmcWGzg90khn1CMzHy2voB3jTywWSigv5zurPCMvJDgLVBIKPicOGD2f0zxjdB2XVCI5Yz2i7cIaGDMvJmYbHBgjLzg8GpsbTAxGOC3vUq29SB3iGkIbKAwzMDxnLtgLNAhqGkIaWlJmGkYbZy2f0DgvYlcb2zwmZkdaUmsKGkYbYzwzSzwn0Aw9Uu2fTCgXLicOGmc45icSGCMvMBgvJDgLVBLnHBxbSzsaQihnWzwn1BgfYtgLNAhqSihjLzMXLy3rHBMnLktSkicbTyxrLCMLHBc5KAwzMDxnLid0GywXIzwrVlNjNyJSkicbTyxrLCMLHBc5HBhbOysa9ihDHDgvYqwXWAgeQigDSB2jHBefSCgHHoWOGig1HDgvYAwfSlNnWzwn1BgfYid0GC3bLy3vSyxjjBNrLBNnPDhK7cGOGihjLDhvYBIbTyxrLCMLHBdSkFqO','zgLYzwn0Aw9Uv0m','zhjHD01VDxnLtw92zq','CMvZAxPL','x21PBLbPDgnO','z2v0ug9WDxbdB25MAwC','DxbizwLNAhq','CgL4zwXpzMzZzxrty2fSzuj5rgLZDgfUy2vFzMfY','Dg9eyxrHvvjm','DxjP','BwLUAw11BunVBgXPC2LVBLrLCNjHAw5izwLNAhq','x3rVsLnptL9fEa','x2nYzwf0zvbVBhLSAw5Lt3v0BgLUzq','ntKUndCSltuUmdqSmtG3lJq0ldaUndCSltaUmsWXlJaYncWTnc41otKZ','Dgv4DhvYzunVB3jKAw5HDgvszwn0yw5NBgu','zM9YBwf0uMvJDgfUz2XL','x3rOAw5NtgLZDa','5BMZ56E76kEg5zU+','zNjLzvjLC291CMnLCW','z2v0q2LYy2XLq2vUDgvYt2zuAhjLzvbVAw50CW','zgvZy3jPChrPB24','v1aXCNzdAZv3wezKvvCXuNjdA1fxug0','q09mvu1omfjpvZi','rgL2qMLSBgjVyxjKrw50Axr5','sgvHzgLUz1bPDgnOuM9SBa','x2XHC3rFCgXHBMvhCMfWAgLJCW','x3jLBw92zuXHEwvYu2HVD25mAxn0zw5LCG','ue9tsvrjt05Fqu5ex1nu','x2jHA19ZDg9WvgLTzq','CMDIysGYntuSidi1nsWGmJu1lcaWlJaP','AgfZq2HPBgrmyxLLCG','DgfPBfDPzhrOrMfJDg9Y','x2fYCLbHCNrnzwfZDxjLtgfIBgu','BgvYCa','BwvYy2f0B3iYy2fYDgvZAwfU','re9vqKXf','zwrNzuDSB3C','x2DLDenVBg9Yt2jQ','yM94u3r5BgvdB252zxi','u3rLCMvVz3jHCgHPy19tB3v0Af9qB2XL','zwXSAxbZB2LKua','z2v0rhjHz2DLCKnVBNrLEhrnzw51','o3O9','Bw91C2vnB3zL','x21PBKHLAwDODa','x21VDxnLug9ZAxrPB24','rg91yMXLu2LKzwrqBgfUzq','uKHvtui','x2XPBMvdB2XVCL9HBhbOyq','x3zPzxDLCG','AgvPz2H0tgfIzwW','x2rYyxDdB21Tyw5K','ywrKrxzLBNrqyxjLBNq','zwrNzvrLEhr1CMuY','q2LYy2XLu3r5BgvdB252zxi','twfYCZnerxG','x3nLDeH0BwW','x3vWzgf0zun6Bu9IAMvJDfnOB3C','z3jVDxa','q09nuerFq1m','r2vVBwv0CNLdB2XSzwn0Aw9U','rgvWDgHuzxn0wwvZ','zNjVBuLVBKfZC2v0swq','CMDIysGYntmSide1nIWGmte1lca','rvbtrZqZmJy','x2HPz2HSAwDODe9WDgLVBNm','x2LUAxrfzMzLy3q','uKvmqvrjvKvFve9Fr1jpvu5e','uMvXDwvZDfnJAgvKDwXLCG','x3jLBw92zuvKAxrPBMDfBNrPDhK','z2fVzgvbCNi','x2DLDeL0zw1eyxrHswq','q0DduZiWmdbFr0TFwM9Uzv8Z','AgvHzgvY','x3nOB3DeB21LtgLUzxm','qMfZzunSyxnZ','z2v0ugLJA2vK','x2zVCM1HDfbpsurHDge','jhrPDgXLja','y2XVC2vcDg4','CgfYzw50q29UDgfPBMvYswq','zhjHD1jLBw92zvbVAw50','yvbVC2L0Aw9U','y29YCMLKB3i','u0Dtodu','u2vJDg9Y','zMXHDa','x3bHy2TLzeXLBMD0Aa','x2jPBMrfEfr5Cgu','zw5HyMXLza','x2nHBMnLBe91DgXPBMvqB3nPDgLVBNndywXSyMfJAW','CgXHBMvFBM9YBwfS','CMvTB3zLqwXSr3jHCgHPyW','AxnjBLbVBhK','y2XPy2Tnyxa','57Yw6l6r5PE2x21HCos4JEIdVEs4UUEPUIZOR7FLSiBLR7NOSAhMT7VLIQdLIlbnyxa','rKXpqvq','y29UDg91CK1HDgvYAwfS','surftLrjvfK','rNj1C3r1Bu91DgXPBMvhzw9TzxrYEq','CxvLCNLuExbL','z2v0sw5nyxbdAgLSzhm','cIaGicaGicaGi2rLzMLUzsbnyxHPBxvTtgf0Axr1zguGms40odq0mJiYmJK3nduZmZiYcGOGicaGicaGigzSB2f0igDLB2rLDgLJtgf0Axr1zgvuB01LCMnHDg9Yqw5NBguOzMXVyxqGBgf0Axr1zguPihSkicaGicaGicaGigXHDgL0DwrLid0GBwLUkgXHDgL0DwrLlcbnyxHPBxvTtgf0Axr1zguPoWOGicaGicaGicaGBgf0Axr1zguGpsbTyxGOBgf0Axr1zguSic1nyxHPBxvTtgf0Axr1zguPoWOGicaGicaGicaGzMXVyxqGC2LUtgf0Axr1zguGpsbZAw4OBgf0Axr1zguPoWOGicaGicaGicaGCMv0DxjUidaUnsaQigXVzYGOms4WicSGC2LUtgf0Axr1zguPic8GkdeUmcaTihnPBKXHDgL0DwrLksK7cIaGicaGicaGFqOkicaGicaGicbMBg9HDcbNzxrnzxjJyxrVCLKODMvJmIb1DIWGzMXVyxqGC291DgGSigzSB2f0ig5VCNrOksb7cIaGicaGicaGicb2zwmYigDLB2DYyxbOAwnvvIa9ihv2oWOkicaGicaGicaGigzSB2f0ihnVDxrOtwvYy2f0B3jzid0Gz2vVzgv0AwnmyxrPDhvKzvrVtwvYy2f0B3jbBMDSzsHZB3v0AcK7cGOGicaGicaGicaGzMXVyxqGBM9YDgHnzxjJyxrVCLKGpsbNzw9KzxrPy0XHDgL0DwrLvg9nzxjJyxrVCKfUz2XLkg5VCNrOktSkcIaGicaGicaGicbMBg9HDcbMCMfJDgLVBIa9ig1PEcHZB3v0AcWGBM9YDgGSigDLB2DYyxbOAwnvvI55ktSkicaGicaGicaGigzSB2f0ig1LCMnHDg9Ywsa9igDLB2rLDgLJtgf0Axr1zgvuB01LCMnHDg9Yqw5NBguOzNjHy3rPB24PoWOkicaGicaGicaGigzSB2f0ig9Uzu92zxjnzxjJyxrVCKHLAwDODca9ideUmcaVicHUB3j0Ae1LCMnHDg9YwsaTihnVDxrOtwvYy2f0B3jzktSkicaGicaGicaGigzSB2f0ig1LCMnHDg9YrNjHy3rPB24GpsaOBwvYy2f0B3jzic0GC291DgHnzxjJyxrVCLKPicOGB25Lt3zLCK1LCMnHDg9YsgvPz2H0oWOGicaGicaGicaGCMv0DxjUig1LCMnHDg9YrNjHy3rPB247cIaGicaGicaGFqOkicaGicaGica','zgvMyxvSDfzLCNrLEezVCM1HDa','BgLUzuHLAwDODa','lcbxywL0Aw5NigzVCIbJAgLSzhjLBJOG','Ag9ZDa','y3PTx2jYAwDODg5LC3m','EM95','y2DI','x2zPEgvKtgLNAhq','x2DLDev4u21HBgXuB29SDgLW','AM9Iu2nOzwr1BgvY','x3nLDenHBwvYyvzPzxDmAxn0qxjY','Bg9ZzunVBNrLEhq','CMvZB2X2zuzYyw1LyNvMzMvYCW','x2HHC0nOyw5NzurLChrOvgvZDefNywLUC3ruzxjYywLU','EM9VBuLU','Dw5KzxjNCM91BMq','rKLmtf9btKrFt1vuteLorq','C3LTyM9S','qMfKignOyxjHy3rLCJOG','AgfZrwrPDenVBNrLEhrnzw51','x29Utw91C2vnB3zLrxzLBNq','Bw92zurVD24','x+w8GowqR+MuRUEBMoA8Q+A4Ua','BgLZDgvUCW','x2D1Awq','zNjVBvr5Cgu','CMvJDgfUz3vSyxjtzw5ZB3jtDhLSzunVBNzLCG','qMLSBgjVyxjKrw50Axr5','u2nYB2XSv2fSBa','y29Zx3bV','x1bVAw50rwrPDf9ywv9uuKfou0XbveLptG','C2vSzwn0zwruzxjYywLUuhjVDMLKzxjwAwv3tw9KzwW','vMvYDgv4qxjYyxK','Cg9ZDfbYB2nLC3ntDgfNzxm','zgf0Dw1FCgfYyw1Z','DxbKyxrLvgv4Da','AgLNAgXPz2H0q2XVC2u','BM8TCMvWzwf0','Aw50zxjWB2XHDgvpCMrLCLPLCM8','pgrPDIbJBgfZCZ0IBwfYCZnKlxrLBxbSyxrLlwnVBNrLBNqIid4','DgLSDa','twLSAxrHCI1hzw9NCMfWAgLZy2HLieLUC3rPDhv0','x2zPCMvcAw5Krgf0yuv4','y29ZBgf0ma','ywX0x29MzNnLDa','CMLNAhrvCa','5B2t5yMn6kEg6kEs5l+H5OgV','C3rVCe1VDMvsAwDODa','x3rPBwu','EM9VBu91Da','x2XHC3rFz3jHCgHPy3npChrPB25Z','x2XPz2H0CW','zNjVBvbVC2L0Aw9UCW','BwWW','rwrPDfbVBhK','Bwf4Aw11BvjLCxvLC3rZ','ChjVAMvJDa','x21VzgvSrxG','yxbWBhK','zgf0ys1PBMrLEa','r3jHCgHPy0XHEwvY','x3nOB3DeCMf3tw91C2vnB3zLu21HBgXuB29SDgLW','twvYy2f0B3i','C3rYyxrLz3K','y2vUDgvYt2znyxnZ','x2nYzwf0zujVDhrVBvn1CMzHy2u','yMLUzfzPC2LIBgveAxn0yw5Jzq','y29TChv0zvrPBgvwAxnPyMLSAxr5','rvbtrZO0ntm1','x29Us2v5rg93BG','A2v5q29Kzq','C2v0rwrPDfbVAw50u3r5Bgu','y29UzvzPC2LIAwXPDhK','Cg9ZAxrPB25dyxj0B2DYyxbOAwm','zwXSAxbZzq','x3nJzw5LrxzLBNq','y29UDgfPBMvY','6k+L5yQF6io96zYa6kAb5BYv5ywLBwfYCZnK5l+U5Ps554Miq2vZAxvT5BQtkg1HCNmZzc1JzxnPDw3LUPmP5OMn5PsV5OYbiq','x3nOB3DqB2X5','x3jLC29SDxrPB25Z','x3bVChvWtwDY','yMfZzuXHEwvYugLJA2vY','x25VCM1HBf9HBMDSzti','y2vYzwf0zvbVC2L0Aw9UC0fUzeLUzgLJzq','z2v0qMfZzuXLBMD0Aa','rMfZDcbuCMfUC3zLCNnLie1LCMnHDg9Y','rvbtrZO0ndK1','r3jVDw5KuhjPBwL0AxzL','q29SB3juExbL','x2HHC0vKAxq','CMvXDwvZDfzLCNrLEe5VCM1HBhm','x3bYB21PC2vFCMvZB2X2zq','rvbtrZO0ndKX','zMeGzMeTA2v5yM9HCMqTBW','5ywZ6zET5lIj6kEs572r','BgfZDenHBwvYyvzPzxC','y2LYy2XLu3r5BgvdB252zxi','Cg9PBNrmAwDODa','x29UtwfYA2vYrhjHz0vUza','tL9qt0Xf','vgLSzxnLDeXHEwvY','C2v0q2fSBgjHy2TqB3nPDgLVBG','Cgf0Ahm','y29UDgvUDc1Szw5NDgG','5B2t5yMn5PE26zE05lIn5zYO6iYd5zU05yAf','ihb4','x2HHC0vKAxrty2fSzq','qxjSzuGZAMvZDvDLBM1RvZe5AZbwvgLvwu5MB1K1B0fJmI1byvnlChL6Ce1zDY1cx0vhA3bXBe53q2e3A29urW','Bg5Nq29SDw1U','5l+U5Ps557YP5Ps+5Q+u5l6l','zgvMAw5LuhjVCgvYDgLLCW','vw5RBM93BG','rML4zwrsB3v0zq','zNjVBuDSDgzbC3LUyW','usPxEG','x2LZtw91C2vmzwz0qNv0Dg9UuhjLC3nLza','CMvXDwvZDa','zgLYzwn0Aw9U','x2zYyw1LuMf0zuHLAwDODa','x2XHC3rFC3vJy2vZCW','v0DtnJy','x3DRAwq','ywXSvgLSzxnmB2fKzwq','qM94rw50Axr5','tgfIzwW','x2nHy2HLx25KyxrHx2TLExm','Aw1Nx3O','BMfKmJC','zwrPDfn0B3a','x2rPC2fIBgvxB3jR','x29UtwfWx21PzgrSzunSAwnR','z2vVsNnVBKXHEwvYx29Utg9HzeHHBMrSzxi','x2nHy2HLx2rHDge','x3vWzgf0zu1VDMvbBgXiB29R','BgvYy2G','x+wpJowhU+wUJoAiKoE7MowiTG','ndy5odaWCfzWD1jZ','BgLNAhrtAgfKB3DnyxaYra','x3rVq2vZAxvTvMfSqMvMB3jL','x3nPEMvjBKj5DgvZ','i2zMzdCWma','AgvHzgLUz1bPDgnOuM9SBfrVrML4zwrgCMfTzq','zgLZDgfUy2veAxnWBgf5q29UzgL0Aw9Ux25Lyxi','rvbtrZO0ntq1','x+wfS+MxREs4IEINKUE9Kq','CMfKAxvZx3aY','Bxr5Cgu','z2v0uMvXDwvZDa','ywrKt3v0zxi','x2vUDgL0AwvZvg9wAxn1ywXPEMu','x21HCNmZzf9VCgfJAxr5','x3vWzgf0zunVBNrLBNq','x3jLCxvLC3rnzxrHzgf0yq','y3jVC3npCMLNAw4','Aw5KzxG','q3PTr2vVsNnVBKXHEwvY77YA5RkH5PYj5lYG5ywLihvYBcdMIjyGzgf0ysdLJ4lMLBaS6k+356gU6k6K5PIV5zcM5PYj6k+V44cc','zhjHD0vUzev2zw50vhLWzq','AgfZuMvZDg9Yzq','x2XHC3ruAwXLtg9Hzff1zxvLtgvUz3rO','y2vSBefSCgHH','uMvJDfnSAwrL','C2v0tgLUzq','tgLUzvrOCMvLrgfZAa','y2fYDg9mAxn0','DMPlr0n3','y3jLyxrLu2HHzgvY','x3nWBgL0t3b0Aw9UC1rVu3r5Bgu','ywrKvgLSzuvYCM9Y','rhjHD1bVBhLSAw5L','x2nHCNrLC2LHBG','DgLTzuzPzwXK','x+w8GowqR+wCSow9OG','DxbKyxrLug9ZAxrPB25ZsgvPz2H0qNLbDhrY','Bwf4Aw11BuDYzwvU','z2v0qMfZzw1HChm','x2LZrhjHz2DLCG','CgXHBMvd','q29TCg9ZAxrL','AxnszwfKEq','AxbHza','zwrPDenVBg9Y','BwfWu3bSAxq','zMfSC2u','Bg9Nv2fYBG','se9ssvPptLrbta','x2rYyxDbzgrqB2LUDeHHBMrSzxi','yMLUzeHPz2HSAwDODa','CM93CW','y2X1C3rLCG','yxjJ','zgf0yq','zwfJAenVBNrYB2W','q0XbtvbFve9Fr1jpvu5e','C3rHCNrnB3zLrM9YD2fYza','C2LUx3bV','CMvZCg9UC2vuzxH0','B3jPz2LUywXtDhLSzq','yMfJA2DYB3vUze9WywnPDhK','DgLSAw5Nu2nOzw1L','q29WBgfUyxjqB2X5z29Ur2vVBwv0CNK','u2HHzgvYu291CMnL','DgvZDfbVAw50','vMLLD0HVBwu','x3jHzgL1CW','r2vVz3jHCgHPy1rPBgLUz1nJAgvTzq','Cg9SEwDVBLDHBgXtDhLSzq','y2HVCMrmzw5NDgG','x3nOB3DeAwDcB3G','zMv0y2HkC29UCa','Dv90zxH0DxjLq29VCMrPBMf0zvjLy3rHBMDSzq','x2nVBNrHAw5LCLvS','x3jLy3rHBMD1BgfYu2vUC29YtwfYCW','x0rsqvC','y2f0zwDVCNK','CMv0x2nVB3jKDhLWzq','EKLUzgv4','C2HHCNbUzxnZ','x2v4DgvUDfjLy3rHBMDSzq','x+E7J+w6PG','x2vMzMvJDa','x2XVzZjgyxjezxb0AezYB21ozwfYugX1C09Uzq','x+AFPEECI+w9K+wjJEINHUINKG','BgfZDfbHCMfTzxrLCNm','Dv9SAw5Lq29SB3i','x2rYyxDdCMvHDgvKsgfUzgXLCG','x3jLBw92zuXHyMvS','BgvNzw5KlxnJywXLlwjHCG','BMvNyxrPDMvy','tevgvf9st1rbveu','x21HEfzHBa','igfUzcbjtLrfuLnfq1rticG','vgLSzxnLDfDPCMvMCMfTzu5V','zgLYu3rLCa','zgvZy2vUDa','zMXHz3m','tgfIzwXqCMLTAxrPDMu','C2LSAg91zxr0zunVBg9Y','B3v0zxjFy29UDhjVBfbVAw50CW','zgLZDgfUy2veAxnWBgf5q29UzgL0Aw9U','ug9SEwXPBMvhBg93','x2XHEwvYsw5KzxG','y29TCgfZCY1PBM5LCI1Hy3rPDMu','x3vWzgf0zunVBNrYB2Xiyw5KBgvY','mtCYndjirxvTEe4','zML4zwrmAwDODa','z2vVy2vUDhjPyW','AgvPz2H0vhjPyw5NBgu','x3nJyw5qBgfUzvzb','AgvPz2H0twvHC3vYzq','rvbtrZm4ntC','DL9WB2XLx24','zgf0Dw1dB2rL','C3rHCNrfzgL0Aw5N','rwrPDfjLy3rHBMDSzq','u2HHzg93tw9Kzq','x3nHBxbSzwrqB3nPDgLVBLbYB3bLCNr5','x3f1ywr0CMvL','r2XVyMu','twfW','zxjYB3jfDMvUDa','C2vSzwn0zwq','zM9JywXeAxn0yw5Jzq','Bg9Hzen1yMvnyxa','zgvNCMvLCW','x3bHDxnLvgLTzunVDw50CW','rKfjteve','x3vZzvnPBMDSzunVBg9Y','zw50AxrPzxm','yMPdB2XVCG','C21VB3rOv2LKDgG','sw1Hz2vYEuXHEwvYq29SBgvJDgLVBG','ChGS','x3rVq2vZAxvTvMfSrw5K','ywz0zxjszw5Kzxi','jNy9mde3','AhrTBdjJyw52yxm','zgfYA0nVBg9Y','ugvYC3bLy3rPDMvgCNvZDhvT','cIaGicaGicaGia','B25HyM9YDa','x3nLy3rVCLzb','zgvJAw1HBa','x3bVC2L0Aw9Ux2LUzxj0AwfS','x3bVBhLSAw5Lx3bVC2L0Aw9UCW','y2HPBMfduLm','x2zYDxn0Dw1gyxi','Dw5PzM9YBsb2zwm0igv2zw5dB2XVCJSkDw5PzM9YBsb2zwm0ig9KzenVBg9YoWP1BMLMB3jTigzSB2f0igzYzxf1zw5JEtSkDw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cGOGic8ViezYB20Gu3rLzMfUieD1C3rHDNnVBIDZifbYB2nLzhvYywWGvgv4DhvYzxmGAw4Gr0XttcbPBIbpCgvUr0WGsw5ZAwDODhmkicb2zwmYieyGpsbJEM1Fy2vSBhvSyxiOBwf0zxjPywXjBNb1Dc5ZDcaQigzYzxf1zw5JEsK7cIaGzMXVyxqGDca9idaUmsaRicHglNKGlsbglNGPoWOkicb2zwm0ignVBg9YtwfYCZneid0GBwL4kgv2zw5dB2XVCIWGB2rKq29SB3iSihqPoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbJB2XVCK1HCNmZrc5Yz2i7cIaGBwf0zxjPywWUywXWAgeGpsbJB2XVCK1HCNmZrc5HicOGz2XVyMfSqwXWAge7cGOGihjLDhvYBIbTyxrLCMLHBdSkFqO','CMDIysG0lde5ncWYmdeSmc4Zkq','x3bVC2L0Aw9Uvgv4DhvYzq','CM90yxrLu3bLzwq','AgfZq29UDhjVBa','x2HHBMrSzxi','CgL4zwXpzMzZzxry','BgfUzW','zMX5vg9qB2LUDa','z2v0q3vIAwnwywX1zq','x3vUyMLUzev2zw50','rgvMyxvSDeLTywDLswq','rwXSAxbZB2LKr2vVzgvZAwm','qMLJEwnSAw5N','BgfTyMrHma','Dg9tDhjPBMC','zMeGzMeTDw5SB2nRlwfSDa','zhjHD1nOB3C','Bw92zvrV','vgv4DhvYzu1PBMLMAwnHDgLVBKzPBhrLCG','x2HPz2HSAwDODevUywjSzwq','6ywn572U5lIT55Qe54M55Pwi5PYQ5Ase55cg','x2nSB2nRvgLJA0HHBMrSzxi','q19Yzq','x2vKAxrnyxrYAxG','x2fYCKDYyxbOAwm','BxvSDgLWBhLcEvbVAw50','Cg9PCW','vgvYCMfPBLbYB3zPzgvYvg9VBhrPCa','x+w8GowqR+s4I+MBQG','BgLRzq','B3bHCxvLrNj1C3r1Bu5LyxjpzMzZzxq','uKvdruLwsu5h','x3vWzgf0zurVBuf0DhjPyNv0zuj5rxzLBNq','yw5NBguY','Cg9ZAxrPB25ZtMv3','x3rVt25LsNnVBG','y2XVC2vpBKnSAwnR','swrgAwvSza','x3nVDxjJzxm','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0ihjLCgvHDdSkDw5PzM9YBsbMBg9HDcbVzMzZzxq7cNvUAwzVCM0GzMXVyxqGDgHPy2TUzxnZoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicbMBg9HDcbZCca9ideUmcaVihjLCgvHDdSkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicbMBg9HDcbKAxmGpsbKAxn0yw5JzsHZDcWGDMvJmIGWlJuPktSkicbMBg9HDcbTtwfYCZneid0GBw9KkgrPCYaRig9MzNnLDcWGC3aPoWOGigzSB2f0igeGpsbZDgvWkhnWicOGkdeUmcaTihrOAwnRBMvZCYKSig1nyxjZm0qPoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbJB2XVCI5Yz2i7cIaGBwf0zxjPywWUywXWAgeGpsbHicOGy29SB3iUysaQigDSB2jHBefSCgHHoWOGihjLDhvYBIbTyxrLCMLHBdSkFqO','BgLNAhrdyw1LCMe','Bwv0yuTLEq','x2DLDejVDw5KAw5NqM94','Dg9dyxj0B2DYyxbOAwnZ','CMfUzg9Tq29SB3jFDMfSDwu','x2LUAxrdB2XSzwn0Aw9UqNKZra','y29UDgv4Dg1LBNvpChrPB25Z','z2v0u3vYzMfJzu5VCM1HBeLUDgvYC2vJDgLVBLDPDgHAqxHPCW','x2jVDw5KAw5Nu3bOzxjL','DgvTCgXHDgvfBxb0Evn0CG','x+wVVoIiQUEqGW','Bw92zuvUza','mcaWia','Bwf4Aw11BuHLAwDODhm','zw5HyMXLtg9VAW','r2vVsNnVBKXHEwvY','zhjHD1jPBMDdyw52yxm','laOGicaGicaGihvFDgv4DhvYzvrYyw5ZBgf0Aw9Uqw5Ku2nHBgu','AxjLnJu','x2nOyw5NzuHLywrPBMDqAxrJAa','CMDIysGXodeSidiYnIWGmtqWlca','yMLUzfrVB2X0Axa','CMvWB3j0u3vJy2vZCW','Bgf5zxjszw1VDMvK','CgfZC2vZ','z2v0rgLZDgfUy2vcEu1d','BM9uAxrSzq','C2v0q2fTzxjHvMLLDW','y2XPCa','q09nue9vtKrduLm','zgLZDgfUy2veAxnWBgf5qMLSBgjVyxjK','yMfZzuXHEwvY','zwXSAxbZzu5HBwu','x3rLEhr1CMu','x+A1T+AlLa','x+I3NEEMUW','Cg9PBNq','sw9Ur2vVy29Kzxjtzxj2AwnL','q3vYCMvUDfrPBwvoB3rjBLjHBMDL','q2HYB21L','6k+35lYG5ywLignVBg9YCYdLJ4lMLBdLGlW','CM90yxrLu3rVCa','y29TBwfUzeXPC3q','vgLSzuLUzM9myxLLCG','z2v0vgHPCMrqB2LUDa','B3bLBG','qvjfqv8Y','t1bbuvvf','qureruq','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0ihnWzwvKoWP1BMLMB3jTigzSB2f0igDSB3C7cNvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicbMBg9HDcb0id0GzNjHy3qOC3bLzwqGkIbJEM1FzNjHBwvoDw1IzxiGlYaXmdaWlJaPoWOGihqGkJ0Gms4WmZSkcIaGzMXVyxqGywXWAgfnyxjZm0qGpsbZBw9VDgHZDgvWkhqGlsaWlJaZlcb0lcbZDc5ZksaQihn0zxaOlxqSic1ZDc5ZktSkicbHBhbOyu1HCNmZrcaRpsaWlJe7cGOGihzLyZqGzNjHz0nVBg9YoWOGigzYywDdB2XVCI5Yz2iGpsaOy29SB3iUCMDIksaVidaUntSkicbMCMfNq29SB3iGpsbJEM1Fz2fTBwfdB3jYzwn0kgzYywDdB2XVCIK7cIaGBwf0zxjPywWUzgLMzNvZzsa9igzYywDdB2XVCI5Yz2i7cIaGBwf0zxjPywWUywXWAgeGpsbHBhbOyu1HCNmZrcaQigDSB2jHBefSCgHHoWOGig1HDgvYAwfSlMvTAxnZAw9Uid0GzNjHz0nVBg9YlNjNyIaQigDSB3C7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','BgvMDerVD24','z2v0q2vZAxvTq29SB3i','yMLSBgjVyxjK','x3n0yxrLt2TjBMrLEa','B2zMC2v0wq','ug9ZDfbYB2nLC3ntDgfNzuXPyNjHCNK','x2XVywrqCMLVCML0Eq','vhDVrMLUz2vYugLUy2G','C2HVD0rPz1zVBhvTzq','ugXLC3nPCYaXode3icHgCMfUy2uP','z2v0uMvMBgvJDfzLy3rVCG','zNjVBvn0CMLUzW','qwLYEsaXodmW','DgLSDev2zw50vhLWzxm','z2v0q3vYCMvUDe9WDgLVBNm','B3jNAw5dzw50zxjqB3nPDgLVBG','Aw50zw5ZAxr5','C3rLCMvH','y29UDgv4Dg1LBNvjDgvTC09WDgLVBNm','x3bVC2L0Aw9UCW','x2HHC1jLC2v0rw5HyMXLtgLNAhrPBMC','u2nYzwvUu3bHy2vfDMvUDeHHBMrSzxi','m2r0AwXLCW','rgvMyxvSDfbYB3H5','zgLZDgfUy2viB3i','C2HVD0DYB3vUzef0Bw9ZCgHLCMu','ywPHEa','Bw92zuXLzNq','z2v0uhjVCgvYDhLjBMrLEa','x2nVBNrHAw5LCL9VBKnSAwnRsgfUzgXLCG','x29IAMvJDhnuB0v4y2X1zgvL','ktSkicaGicaGicbPzIHWB2LUDeXPz2H0vMLZAwjPBgL0Eq','q2fSBgjHy2TqCM9Wzxj0Eq','D2HPDgu','x3jVDgf0zvn0zxa','rvbtrZO0nti4','rvbtrZO0mJy5','yxjYsgjNza','CM90yxrPB25bBMDSzq','x1vUAwzVCM1tDgf0zv91CgrHDgvgCNvZDhvTx29Sza','Cg9ZAxrPB25xqW','zNjVBurPBwvUC2LVBNm','Dhj1zq','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTihnHBxbSzxiYrcbKzxb0AfrLEhr1CMu7cGPJB25ZDcbPBNqGtgLNAhroDw0GpsbnyxjZm0rFtgLNAhroDw1wywX1ztSkDw5PzM9YBsb2zwm0igXPz2H0ug9ZAxrPB25fq1TmAwDODe51Bv07cNvUAwzVCM0GzMXVyxqGAw50zw5ZAxr5w0XPz2H0tNvTxtSkDw5PzM9YBsb2zwmZigXPz2H0q29SB3jBtgLNAhroDw1DoWP1BMLMB3jTihzLyZmGzgLYzwn0Aw9Uw0XPz2H0tNvTxtSkDw5PzM9YBsbMBg9HDcbVDxrLCKnVBMvdB3nBtgLNAhroDw1DoWP1BMLMB3jTigzSB2f0igLUBMvYq29UzunVC1TmAwDODe51Bv07cNvUAwzVCM0GDMvJmIbZAgfKB3DnyxbeyxjRBMvZC1r5CgvBtgLNAhroDw1DoWOkAw4GDMvJmIb2x3rLEhr1CMvdB29YzgLUyxrLCZSkcMnVBNn0igzSB2f0ie1FueKGpsaZlJe0mtu5mJy1mZu4otC5mZSkcNzLyZmGz2v0rxLLq29VCMrPBMf0ztngCM9Tv2LUzg93q29VCMrPBMf0zu1HCNmZrcH2zwmYigzYywDdB29YzcWGzMXVyxqGBg9NrgvWDgHpCKrLChrOksb7cIaGDMvJncbLEwvdB29YzgLUyxrLid0Gy3PTx3DPBMrVD1rVrxLLq29VCMrPBMf0zxmOzNjHz0nVB3jKlcbSB2Dezxb0Ae9YrgvWDgGPoWOGihjLDhvYBIbLEwvdB29YzgLUyxrLlNH5EIaVigv5zunVB3jKAw5HDguUDZSkFqOkDMvJmYb2zwn0B3jgCM9Tt2zMC2v0twfYCZnekhzLyZqGzxLLq29VCMrPBMf0zsWGDMvJmIbWB3nPDgL2zu9MzNnLDcKGEWOGihzLyZiGz2XgCMfNq29VCMrywsa9ihzFDgv4DhvYzunVB3jKAw5HDgvZlNH5icOGy3PTx3zPzxDWB3j0lNP3oWOGigzSB2f0ihvWt3jsAwDODeXVz0rLChrOid0Gy3PTx3vUCgfJA0rLChrOkhrLEhr1CMuOzgvWDgHuzxH0DxjLlcaOz2XgCMfNq29VCMrywsaRihbVC2L0AxzLt2zMC2v0ksaVign6Bv92Awv3Cg9YDc56DYKPoWOGigzSB2f0igrVD25pCKXLzNrmB2Dezxb0Aca9ign6Bv91BNbHy2Tezxb0AcH0zxH0DxjLkgrLChrOvgv4DhvYzsWGkgDSrNjHz0nVB3jKwfKGlsbWB3nPDgL2zu9MzNnLDcKGlYbJEM1FDMLLD3bVCNqUENCPktSkcIaGyNzLyZiGDxbpCLjPz2H0sw5cB3vUzhmGpsbSzxnZvgHHBIHNBezYywDdB29YzfHzicSGCg9ZAxrPDMvpzMzZzxqSign6Bv92Awv3Cg9YDc56DYK7cIaGzMXVyxqGDxnLvxbpCLjPz2H0id0GzMXVyxqODxbpCLjPz2H0tg9NrgvWDgGGpIaWlJaGjIyGDxbpCLjPz2H0sw5cB3vUzhmUEcaMjIb1Ce9YuMLNAhrjBKjVDw5KCY55ktSkicbMBg9HDcb1C2veB3DUt3jmzwz0id0GzMXVyxqODxnLvxbpCLjPz2H0id09idaUmcK7cIaGDMvJmYb1Ce9YuMLNAhrfq01HCNmZrca9igDLDev5zunVB3jKAw5HDguZrNjVBvDPBMrVD0nVB3jKAw5HDgvnyxjZm0qOz2XgCMfNq29VCMrywsaRihbVC2L0AxzLt2zMC2v0lcb1Ce9YuMLNAhrmB2Dezxb0AcK7cIaGDMvJmYbKB3DUt3jmzwz0rumGpsbNzxrfEwvdB29YzgLUyxrLm0zYB21xAw5KB3DdB29YzgLUyxrLtwfYCZnekgDSrNjHz0nVB3jKwfKGlsbWB3nPDgL2zu9MzNnLDcWGzg93BK9YtgvMDeXVz0rLChrOktSkicbYzxr1CM4GkhvWt3jsAwDODevdtwfYCZneic0Gkgv5zunVB3jKAw5HDguUEhL6ic8GzxLLq29VCMrPBMf0zs53ksKGkIb1C2vvCe9YuMLNAhqGkYaOkgv5zunVB3jKAw5HDguUEhL6ic8GzxLLq29VCMrPBMf0zs53ksaTigrVD25pCKXLzNrfqYKGkIb1C2veB3DUt3jmzwz0oWP9cGPMBg9HDcbNzxrsyw5Nzuf0DgvUDwf0Aw9UtwfYCZnekgzSB2f0ihjHBMDLlcbMBg9HDcbKksb7cIaGAwyOCMfUz2uGpd0Gmc4Wksb7cIaGicbYzxr1CM4Gms4Wic8GCg93kgqSidiUmcK7cIaGFqOGihjLDhvYBIbTyxGOBwLUkdeUmcaTihbVDYHKic8GCMfUz2uSidqUmcKSideUmcKSidaUmcKGlYbWB3COzcWGmI4WktSkFqOkzMXVyxqGz2v0u3bVDef0DgvUDwf0Aw9UtwfYCZnekhzLyZmGCg9PBNruB0XPz2H0lcb2zwmZigrPCMvJDgLVBIWGzMXVyxqGB3v0zxjdB25Lq29ZlcbMBg9HDcbPBM5LCKnVBMvdB3mPihSkicbMBg9HDcbHy3r1ywXdB3mGpsbKB3qOBM9YBwfSAxPLkgrPCMvJDgLVBIKSig5VCM1HBgL6zsGTCg9PBNruB0XPz2H0ksK7cIaGAwyOywn0DwfSq29Zid4GB3v0zxjdB25Lq29Zksb7cIaGicbPzIHHy3r1ywXdB3mGpcbPBM5LCKnVBMvdB3mPihSkicaGicaGCMv0DxjUihnTB290Ahn0zxaOB3v0zxjdB25Lq29ZlcbPBM5LCKnVBMvdB3mSigfJDhvHBenVCYK7cIaGicb9cIaGicbYzxr1CM4Gms4WoWOGih0kicbYzxr1CM4Gmc4WoWP9cGP2zwmZigDLDeXPz2H0sw50zw5ZAxr5twfYCZnekhzLyZmGy29SB3iSigzSB2f0igLUDgvUC2L0EsWGzMXVyxqGDhLWzsWGzMXVyxqGCMfUz2uSihzLyZmGCg9PBNruB0XPz2H0lcb2zwmZigrPCMvJDgLVBIWGzMXVyxqGB3v0zxjdB25Lq29ZlcbMBg9HDcbPBM5LCKnVBMvdB3mPihSkicbMBg9HDcbYyw5Nzuf0DgvUDwf0Aw9Uid0Gms4WoWOGigzSB2f0ihnWB3rbDhrLBNvHDgLVBIa9ideUmdSkicbYyw5Nzuf0DgvUDwf0Aw9Uid0Gz2v0uMfUz2vbDhrLBNvHDgLVBK1HCNmZrcHYyw5NzsWGBgvUz3rOkhbVAw50vg9mAwDODcKPoWOGigLMkhr5CguGpt0GmI4Wksb7cIaGicbZCg90qxr0zw51yxrPB24GpsbNzxrtCg90qxr0zw51yxrPB25nyxjZm0qOCg9PBNruB0XPz2H0lcbKAxjLy3rPB24Sig91DgvYq29UzunVCYWGAw5UzxjdB25Lq29ZktSkicb9cIaGCMv0DxjUihjHBMDLqxr0zw51yxrPB24GkIbZCg90qxr0zw51yxrPB24GkIbPBNrLBNnPDhKGkIbJB2XVCJSkFqOkDM9PzcbTywLUkcKGEWOGihzLyZqGy29SB3iGpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGigzSB2f0igXVz0rLChrOt3jezxb0Aca9ign6Bv91BNbHy2Tezxb0AcH0zxH0DxjLkgrLChrOvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPktSkicbPzIHSB2Dezxb0Ae9YrgvWDgGGpJ0Gms4Wksb7cIaGicbVDxrFrNjHz0nVBg9Yid0Gy29SB3i7cIaGicbYzxr1CM47cIaGFqOkicb2zwm0igv5zunVB3jKAw5HDguGpsbJEM1FD2LUzg93vg9fEwvdB29YzgLUyxrLCYH2x3rLEhr1CMvdB29YzgLUyxrLCY54EsaQign6Bv92Awv3Cg9YDc56DYWGBg9NrgvWDgHpCKrLChrOktSkicb2zwmZigrVD25vCca9ihzLy3rVCKzYB21pzMzZzxrnyxjZm0qOzxLLq29VCMrPBMf0zsWGDMvJmIGWlJaSideUmcKPoWOGihzLyZmGBgvMDfjPz2H0id0GDMvJDg9YrNjVBu9MzNnLDe1HCNmZrcHLEwvdB29YzgLUyxrLlcb2zwmYkdeUmcWGmc4WksK7cIaGDMvJmYbUB3jTywXfqYa9ig5VCM1HBgL6zsHJCM9ZCYHSzwz0uMLNAhqSigrVD25vCcKPoWOGihzLyZmGCg9ZAxrPB25fqYa9igv5zunVB3jKAw5HDguUEhL6ic8GzxLLq29VCMrPBMf0zs53oWOkicb2zwmZihrVDgfSq29SB3iGpsb2zwmZkdaUmcK7cGOGigzVCIHPBNqGAsa9ida7igKGpcaXmdaWmdSGAsSRksb7cIaGicbPzIHPid49ieXPz2H0tNvTkqOGicaGicbICMvHAZSkicaGihzLyZqGBgLNAhrqrumGpsbSAwDODfbVC2L0Aw9UrunBAv07cIaGicb2zwmYihnOywrVD01HCeruid0GC2HHzg93twfWrgfYA25LC3nuExbLw2LDoWOkicaGihzLyZmGCg9PBNruB0XPz2H0rumGpsbWB3nPDgLVBKvdic0GBgLNAhrqrumUEhL6oWOGicaGzMXVyxqGCg9PBNruB0XPz2H0runmzw5NDgGGpsbSzw5NDgGOCg9PBNruB0XPz2H0rumPoWOGicaGDMvJmYbSid0GBM9YBwfSAxPLkhbVAw50vg9mAwDODevdktSkicaGigzSB2f0ie5KB3rmid0Gy2XHBxaOzg90kc1UB3jTywXfqYWGBcKSidaUmcWGms4WktSkcIaGicbMBg9HDcb0ExbLid0GC2HHzg93twfWrfqUEtSkicaGihzLyZmGy29SB3jjBNrLBNnPDhKGpsbNzxrmAwDODeLUDgvUC2L0Eu1HCNmZrcHSAwDODenVBg9Yw2LDlcbPBNrLBNnPDhLBAv0Sihr5CguSigXPz2H0uevdlNCSihbVAw50vg9mAwDODevdlcbKAxjLy3rPB25BAv0Sig91DgvYq29UzunVC1TPxsWGAw5UzxjdB25Lq29Zw2LDktSkicaGihrVDgfSq29SB3iGkZ0GtMrVDeWGkIbJB2XVCKLUDgvUC2L0EtSkicb9cGOGig91Df9gCMfNq29SB3iGpsb2zwm0kgnVBg9YlNH5EIaRihrVDgfSq29SB3iSideUmcK7cN0k','Cg9SEwDVBK1HEeHLAwDODa','uxvHzhrYzwvuAwXLtg9Hzfn0yxrL','x29Uq2XVy2TuAwnR','B3v0zxjive1m','x+INKUw6PG','zMXPChG','y29UDgv4Dg1LBNuTAwnVBG','C2HHzgvYq2fJAgu','x2DVsgLZDg9YEvzPzxC','r2f1C3mGs3j1z2vY','v2fSBe91DgXPBMvhzw9TzxrYEq','x3zHBhvL','x2XHC3rFy2XPy2TuAw1L','Bw91C2veB3DUvMLLDW','DxbKyxrLtw9KzwXnyxrYAxG','x2XPBwL0twLU','5BYa5zcV5RoB5ywj','DgLTzw91DevYCM9YtwvZC2fNzq','EM9VBu91DeLJB24','C2v0qwPHEfbVC3rPB24','zgL2sgvPz2H0','yxv0B0nLBNrLCG','z2fTBwe','vevyvfvsruq','z2v0rgvMyxvSDfjLBMrLCLn0yxrL','DM9SDw1LtwvHC3vYzq','vgLSzu1HDhjPEfnLDeXPBwL0CW','phnWyw4GignSyxnZpsjTyxjZm2qTCg9WDxaTy2XVC2uTyNv0Dg9Uig1HCNmZzc1WB3b1Cc1JB2XVCIbJBg9Zzuj1DhrVBIiGpSoxpc9ZCgfUpG','x2DLDeDLB0PZB25hzw9TzxrYEq','y2fTzxjHvxa','x3vWzgf0zu91DgXPBMvtDhLSzq','iJ57y29UDgvUDh08l2rPDJ4kicaGicaGica8l2rPDJ4kicaGicaGica8zgL2ignSyxnZpsjTyxjZm2qTCg9WDxaTDgLWlwnVBNrHAw5LCIi+cIaGicaGicaGica8zgL2ignSyxnZpsjTyxjZm2qTCg9WDxaTDgLWig1HCNmZzc1WB3b1Cc1IywnRz3jVDw5KiJ48l2rPDJ4kicaGicaGica8l2rPDJ4kicaGicaGpc9KAxy+','x2nVBg9Yx2fSCgHHx2jHAW','uM91DguG57g75lIn5PsV5OYbyxv0B1n1CMzHy2vizwLNAhtMLRNMS5uG77Yb','BhvUzq','y29SDw1UtNvTyMvY','yw5JAg9Y','x2nSyw1Wvg9hCM91BMrFBgfZDa','y2jN','Aw5UzxjsywrPAv96','x2HHC0zy','t3zLCNzPzxDnyxa','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteZmIaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','x21HDgvYAwfSx2nVBg9Yx2fSCgHH','A2v5yM9HCMrsB2fT','CM9Hza','y29VCMrPBMf0zxm','rxHPDez1BgXty3jLzw4','x3vWzgf0zuXHBMDuzxH0','rwXSAxbZB2LKywXpy2nSDwrLCG','DxrN','Bwf4rgvWDgG','C2vSzwn0zwrmyxLLCG','x2nVBNzLCNruB1jLzMvYzw5JzuzYyw1L','x3bVC2L0Aw9U','DhjHBNnSDwnLBMn5','x2v4DgvUDfbVBhLNB24','y2XVC2vbBgW','DgHYzxnOB2XK','x3vUyMLUzez1BG','C3rVy2TOB2XT','6k+L5A+56lgH5PQc5lIn5PsV5OYbAgLNAgXPz2H06AUy5lQU','zg9TDg9PBwfNzq','y2XVC2vtBwfSBfrVB2X0Axa','y2fUy2vSuMvXDwvZDa','yMLUzfbVChvW','pgrPDIbZDhLSzt0IAgvPz2H0oIaXmhb4oYi+pc9KAxy+','tMvHCKzHCLnJywXHCG','DxbKyxrLrgL2ug9ZAxrPB24','iIaGy2XHC3m9iM1HCNmZzc1WB3b1Cc1JB250zw50ig1HCNmZzc1WB3b1Cc1JB2XVCIiGC3r5Bgu9iG','x3nPzgvszxm','ChjVCgvYDhK','twfW77YAAwqG5lIn6io95lI656M6','6yca5yE65ywO5Bgp','yw5VBNLTB3vZ','zxzLBNrqyxjLBNq','CMvZB2X2zq','q29YCMLKB3jhzw9TzxrYEq','xZb4m2i1nJm1','zMX5vg9pChrPB25Z','rwXSAxbZB2LKrwXLy3rYAwm','ywn0AxzLvgv4DhvYzq','Bg9Uz2m','DgfYz2v0rNjHBwvsyxrL','quXqsefFqKXftKq','BwLU','y2XYAZy2','Dg9Rzw4','rMLUzufYCM93wvC','x2rYyxDdB21Tyw5KCW','zgLZDgfUy2vmyxn0rMq','C2v0','x2DYyxbOAwnFBw92zv96','x2LUAxrdAgLSzeDYyxbOAwm','x2vUywjSzvnJCMvLBLnWywnLq2fTzxjHq29UDhjVBgXLCG','zgLZywjSzurLChrOvgvZDerPC3rHBMnL','Dg93z3m4na','ChG7cIaGls1JBgLWlwHLAwDODc0XoIa','yw5NBgvjC0DYzwf0zxjuAgfUugK','5A2y5zYOAwtPH43LPi3NMOtNN6lPH4/LR7NOSAhPHy3NVA7VViZOR7FMJPlMN6uH','x21VDxnLrg93BKHHBMrSzxi','z2vVzgv0AwntDxjMywnLtM9YBwfSq2fYDg9NCMfWAgLJ','C2HHzg93CW','z2vUzxjHDgvnAxbTyxa','x2nYzwf0zvrPBgvjBwfNzxj5u2TLBgv0B25Z','rhjHD1bVBhLNB24','t2jSAxf1zv9nzxjJyxrVCG','x3vZzvrPBgvZ','iZaWn2jLnG','CM90yxrLq2fTzxjH','Ew9MzNnLDa','DxbKyxrLq2XVy2S','Cg9PBNretq','zNjHBwvoDw1Izxi','zMLSBenVBg9Yx2jHAW','x3nLDfbPDgnOuMfUz2vFCMLNAhreB3DUsgfUzgXLCG','Dg9uB3a','x29UtwfYA2vYrhjHz1n0yxj0','k3rPDgXLpvDhuYa4ncaVifbZzxvKBY1nzxjJyxrVCIaRChjVAJ1TzxjJicTHptyZnZGXmZCGk2i9nJm3odeZnYaRBgf0x3rZptaUmcaRBg9UxZa9mc4WicT4xZa9mc4WicT5xZa9mcaRAZ0XlJaGk3vUAxrZpw0Gk25HzgDYAwrZpubUDwXSicTUB19KzwzZ','ug9SEwXPBMvpDxrSAw5Ltwf0zxjPywXqCM9Wzxj0Eq','x2nVBNrHAw5LCL9VBK1VDxnLzg93BKHHBMrSzxi','Cg9ZAxrPB25pBKvSBgLWC29Pzfn1CMzHy2u','zM9SBg93zwry','x2nVBNrYB2XmAxn0','CgL4zwXtAxPL','z3jHCgHPy0DYB3vW','ywn0DwfSqM91BMrPBMDcB3HezxnJzw50','x2HPzxjHCMnOEq','x2rPDLDPzhrO','zw5HyMXLugLJA0zLyxr1CMvZ','AgvHzeHLAwDODezHy3rVCG','Dg9dzxnPDw1wywW','yMfJA0zHy2vbBhbOyq','y2vZAxvTlwHHC1nLzw5oyxzizwXW','zgvWDgHuzxn0t2XK','x3vWzgf0zunHBwvYyq','5l+U5Ps56zw/5BQMkfJMLRNLKjeP','Dg9WuMfKAxvZ','C2v0ug9ZAxrPB25ZsgvPz2H0','x3vWzgf0zurPDLbVC2L0Aw9Ux0v4','CMDIysGWldaSmJu1ldaUmIK','DxbSAwz0','x2XLzNrmyxLLCG','DgLSzu1HDhjPEfnLDeLe','zxrTzxjJ','rM9NrwzMzwn0tM8','zxH0CNvKzwrizwLNAhq','yxr0CMLIDxrL','zNjVBurLz3jLzxm','yxnZzxrjza','z2v0rgLZDgfUy2vcEuXm','x21HC2TFy2fUDMfZ','Ae1sze9tB0rJq29wC1HwzfztA0PxneHl','x3bYAxzHDgu','x3vUAwzVCM1Zx2jHC2vxyxrLCKnVBg9Yx2fSCgHH','y2HYB21L','x2DLDe9MzNnLDej5sgvPz2H0','yMLUyxj5u2vHCMnO','x21VDMveAxn0yw5Jzvn1Bq','x21HCf9JBgLJAW','ChjPDMf0zq','BwLUAw11BunVBMvezwDYzwu','pgrPDIbJBgfZCZ0IBwfYCZnKlxrLBxbSyxrLlxrPDgXLiJ4','zMLYzwzVEa','yxzHAwXHyMLSAxr5rw5HyMXLza','v0DtodtMOiFLH4BMPk3NKipKVzpVViZMSQhMNiNLNldLVAlMLBdMJA4','x3n0yxq','BwLUAw11BuDYzwvU','Dw5HyMXLihrVihbHCNnLihn0CMLUzYaI','x29YyML0rNjHBwu','CgLJA1bVC2L0Aw9U','y29TCg9Uzw50CW','z2v0qwrKCMvZCW','rvbtrZO0ntq5','C3fYDa','zM9UDf93zwLNAhq','z2v0','zwLH','x3vWzgf0zuXPC3q','BwLKzgXLrg93BG','sNvSAwfUrgf0zq','x3nHBxbSzxi','vLlMQkhLVi/KUi3LJ6/NLkG','AxndB21IAw5L','y29YBMvYCW','Aw1Hz2vYEuXHEwvYCW','y2fYDgvZAwfUCZjTzxjJyxrVCNm','yMfZzw1HChm','u3rYAxbLtwf0zxjPywXqCM9Wzxj0Eq','x3rHCMDLDfbVAw50','rvbtsuXptJu','x3jVDgf0zuLUAxrPywXdyw1LCMfbBMDSzq','y2HHCKf0','B25SEvbPy2TuzxjYywLUug9ZAxrPB24','Aw5UzxjsywrPAv95','CgvYy2vUDa','tgfIzwXfBNrPDhK','x29Uq2XPy2Tiyw5KBgvY','x2LUDMvYC2vqCM9Qzwn0Aw9UrgLYDhK','Aw1Hz2vYEuXHEwvYC0zVCKnSyw1W','qMfZzvn0EwXLq29UDMvY','BgfZDff1zxj5t3b0CW','BwLUAw11BujSDwu','u2fTCgXLCG','CNvUqw5PBwf0Aw9UCW','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3yZl3bSywnLl3rLEhq','zgvIDwDbEgLZtgvUz3rO','twvYy2f0B3jFmvnq','CMvNAw9U','DxbhCMfWAgLJ','z2v0vgLTzxn0yw1W','u3r5Bgu','CgL4zwXpzMzZzxrz','x3bYzu11BhrPCgX5qwXWAge','x2fKzfbPDeDYyxbOAwm','x3DHBgXFBwf4Aw11BuHLAwDODhm','Cg9SEwXPBMu','x3bVC2L0Aw9UC19dywXSyMfJA1bYB3bLCNr5','zM9UDa','x3rPBgvZvg9szw5KzxjcEvrLEhr1CMvdB3vUDa','Dv9TyxjZm2rFC25HA2vFAw5syw5NzunVBg9Y','z2v0qxr0CMLIDxrL','y29TCg9Uzw50','BwvYy2f0B3jZmMnHCNrLC2LHBNm','x3nOB3DxywXS','x2nHBNzHC01VDxnLrg93BG','wf9uuKfou0XbveLptG','DhjHBNnz','rgv2zwXVCgvYrxjYB3i','Cg9ZAxrPDMvy','AxnqB2LUDfr5Cgu','ve9xr1m4na','x2nVBNrLEhrTzw51twDY','qKXbq0S','Aw50zxjWB2XHDgLVBG','tMfo','z2vVsNnVBKXHEwvYx29Uq2XPy2Tiyw5KBgvY','DhjPBvrPBgvZ','zM92','x3DPzhrO','zMLSBfzVBhvTzvn0CG','C291DgH3zxn0','zNjHBwvsyxrLsgvPz2H0','zgvMCW','zgjSq2XPy2S','CgL0','C3rYAw5NAwz5','AhbY','x2HPzxjHCMnOEvbVC2L0Aw9UCW','CMvTB3zLug9PBNrizwLNAhrmywjLBa','zNj1C3r1BunVBw1HBMrZtgLZDa','yxv0B1n0B3a','CgfZCW','x2XHC3rtzwXLy3rPB25gCMfTzu51BwjLCG','Bw9KzwXtDhLSzunVBNzLCG','x2DLDev2zw50vgfYz2v0','z2v0ugLJA1rHCMDLDa','x+I3N+I4QUMuGEwUMG','BwfRzuXHyMvS','x3jVDgf0zuzYyw1L','v0Dtodq','Bg9VAW','zNjVBvbVAw50tM9YBwfS','x2nYzwf0zvbPDa','Bg9JywXgCMfTzvrVrML4zwrgCMfTzuDLBMvYyxrVCG','q29VCMrPBMf0zxm','DgvYCMfPBKXVywrtDwnJzxnZ','vg91y2G','oYi+cIaGicaGpgrPDIbJBgfZCZ0IBwfYCZnKlwrPDKjVzgvYtgfIzwWTyM9KzxiIpGOGicaGicaGphnWyw4Gy2XHC3m9iM1HCNmZzc1KAxzcB2rLCKXHyMvSlxrLEhqIihn0EwXLpsjMB250lwzHBwLSEtO','DgfIsw5KzxG','B25tDgfYDa','pc9qCM9Wzxj0Eu5HBwu+cIaGicaGicaGicaGicaGicaGicaGica8z21SoLbVBhLNB24+cIaGicaGicaGicaGicaGicaGicaGicaGicaGpgDTBdPVDxrLCKjVDw5Kyxj5sxm+cIaGicaGicaGicaGicaGicaGicaGicaGicaGicaGidXNBwW6tgLUzwfYuMLUzZ4kicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGicaGidXNBwW6y29VCMrPBMf0zxm+','ywrKsxrLBq','DMvYDgLJzxm','yMXVB20','Dg9qB2LUDhm','Cg9ZAxrPB25uB1rPBgvywq','DMLKzw9izwLNAhq','v2zZtgf5zxi','zgvWDgHgywLS','5Q2J5Bce5OQv5B2X','x2nHBwvYyvbVC2L0Aw9Uq2fYDg9NCMfWAgLJ','vgLTzuLUDgvYDMfSq29SBgvJDgLVBG','ue9tsvrjvKvFsu5gsu5jvfK','x2jPBMrszxf1zxn0qw5PBwf0Aw9UrNjHBwu','C2f0zxbJ','Dw5PzM9YBu1HCa','zw5KC1DPDgG','x2zYB250rMfJzvjt','vgLSzxnLDejVEenSAxa','zw5KsxrLBq','Aw5PDe1PBK1HCa','x3bPDgnO','tgLUzurHC2HbCNjVDW','mtiWmdaWFdeZmdaWmhWXotaWmda','y29TCgfYzq','x3n1BMXPz2H0','x3nREwjVEe1HDhjPEdm','x2HPz2HSAwDODf9TB3vZzuv2zw50sgfUzgXLCG','uhjPBwL0AxzLq29SBgvJDgLVBG','y2XVy2TbBMLTyxrL','BwLUAw11BuHLAwDODhm','x3rPBgvmyxLLCL9Yzw1VDMvuAwXLsgfUzgXLCG','zwXSChm','y29SB3iY','B2rKq29SB3i','B2jQzwn0','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYnIaRAZ0XicT4xZa9ndi1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','z2v0qxzHAwXHyMLSAxr5u2HVDW','x3jHDgvFCg9ZAxrPB25Z','zwrPDfr5Cgu','BwfYCZnKlwnVBNrHAw5LCIbTyxjZm2qTBwfWq29TCgfYzsa','yNj1C3nLBhm','Dv9TyxjZm2rFzMXVB2rFBwLUx2HLAwDODa','x3nLy3rVCLnLz21LBNrmAw5Lq29TBwfUza','z2v0qxjLyq','lte5os44nYW3nc43osWYndyUnJi','x21ZrNjHBwvdB3vUDa','pc9ZCgfUpGOGicaGidWVzgL2pGOGidWVzgL2pIa','peLUDgvYC2vJDhm+cIaGicaGicaGicaGicaGicaGicaGica8uhjVCgvYDhLoyw1LpG','ug9SEvv0AwWGyNvMzMvYoUE8K+wgSUwiHUAEKow8GUw4Ua','ChjLuMvUzgvY','y2XLyxjnB3zLvgfYz2v0rgvSyxK','Cg9ZAxrPB25tAg93','6lEF6lIQ6zsb5A6A','C3vIC3rY','zw50Axr5CW','x2XHC3rFy2fJAgu','Bgf0ma','y2fTzxjHtw92zuvUza','BwLKCg9PBNq','zMvHDhvYzvrVr3jHCgHPyW','x2rLChrOvgvZDefNywLUC3ruzxjYywLUx3jLC2v0','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3y1l2rPCMvJDgLVBI9KCML2Aw5N','yxjYyxLszw1VDMveDxbSAwnHDgvZ','yMLUzfrLEhr1CMu','yMLUzev2zw50','y2fUuMvUzgvYv2L0Ag91DeXVC2LUz0rLDgfPBa','zg91yMXLqxjYB3C','CgfNzuLUzgv4','qMfPzhvqt0K6ioIVT+s8OowfPEwpGMXVy2f0Aw9U5PwW','r2v0rMvHDhvYzuLUzM9gB3jTyxq','vgLSzxnLDfDPCMvMCMfTzvLLCW','x2f1Dg9TyxrPy2fSBhLuCMfJA0rHDgftB3vYy2vdBg9JA3m','x3bVC2L0Aw9Ux3jLC3vSDa','z2v0rMLLBgrZrM9YugLJA2vKug9ZAxrPB24','y29Zx3bOAq','ChjLBg9HzefUy2vZDg9YCW','Bg9VA1vW','55sO5lQo5lIoreLw54k56l+B6kgm5A+55Q+u5Rwl6k+v5l2n572U55Qe54k5','x25VCM1HBa','x2nYzwrPDa','DgL0Bgu','zgvZDhjVEuf0DgfJAg1LBNrZ','zMLYzq','6lEV5B6e6kEe5yIsioIVT+AXGUwKSEI0PsG','rwrPDef0Dhi','x3zLBg9JAxr5u2nYyxrJAa','DgfN','z2f0AgvYAw5NugXHy2u','x2v4Dhj1zgvKsgvPz2H0','x2n5BgLUzgvYqM90Dg9TuMfKAxvZ','x21HDgvYAwfSq2fJAgu','cIaGicaGicaGicaGicaGicaGicaGpgrPDJ48BgfIzwW+','z2v0q2fTzxjHrgLZDgfUy2u','sw52zxjZzsbNCMLKihnOAwz0igL0zxjHDgLVBIbMywLSzwqSihbYzxn1BwfIBhKGyxqGz3jPzcbLzgDLlIaGvxnPBMCGzMLYC3qGyxbWCM94Aw1HDgLVBI4','u3rYzwv0vMLLDW','zNjVBunHCNrVz3jHCgHPy0fYCMf5','D210CZO','ywrKq29UDhjVBa','vKvsvf9eqvrvtq','wv9uuKfou0XbveLptG','y2XLyxjbAMf4ug9ZDgLVBG','yw5PBwf0Aw9Uu3bLzwq','DxbKyxrLq29UDhjVBa','CMvJDenVBg9Y','x2rYywDNzxjnB3zL','x2nHBwvYyu1VDMvtDgfYDeHHBMrSzxi','BgjSqwrKrNvU','Bw91C2vFzg93BG','Aw5PDgLHBgL6zq','z2XVD1DPzhrO','Dw5PCxvLs2v5','AgfZtwLKug9PBNq','t3nTsw1Hz2vYEvbYB3zPzgvY','x2fKzeDYyxbOAwm','r2vVBwv0CNLjBNn0yw5Jzq','u2HHzgvYuhjVz3jHBq','x3rLC3rqB2LUDevUDgL0Eq','x3jVDgf0zuLUAxrPywXdDxjZB3jbBMDSzq','z2v0u2XVCgu','y3LSAw5KzxjtDhLSzunVBNzLCG','BwLUug9PBNroDw0','z2v0t3v0BgLUzunVB3jKAw5HDgvZ','Aw5ZDgfUy2vZ','C2v0sw1Hz2u','q09mvu1omvjpvZe','z2v0qwPHEef0Dhi','uM90yxrLug9PBNq','zxf1ywXZ','AxnbDMfPBgfIBgvcEu1HCa','x2HPz2HSAwDODf9TB3vZzu91DeHHBMrSzxi','r0vprevusuneqvrvtq','y2fTzxjHq2HHBMDLza','Axnty2vUztje','ug9SEwXPBMvwB2X1Bwvhzw9TzxrYEuXPyNjHCNK','z2v0tg9VCa','x2LUAxq','z2v0ug9ZAxrPB25wywX1zq','zgLTzw5ZAw9UC194','x2HLywrPBMDxAgvUtgvMDenSAwnRzwq','BgfIzwXdB2XSzwn0Aw9U','Bwf4rgLZDgfUy2u','5y2v5yE75A6m5OIq57Uy5yI2','y3r4','tgfUzW','C291CMnLCZi','ug9SEwDVBKDLB21LDhj5','C2HVD1n0B3a','y2L0Eq','y2vUDhjHBf9TzxjPzgLHBG','E3n9','x21VzgvStwf0CML4','vgvYCMfPBLvWBgLMDa','x2LZu3rHCNq','AgLKzgvUrwrNzunVBg9Y','yNjPz2H0BMvZCW','zMfICMLJ','CMvWB3j0rxjYB3i','xZb4mZmXztyW','CgL4zwXpzMzZzxq','Bg5Ntgf0vg9qB2LUDa','twfYC0fYCMf5','z29oB3C','ChvZAa','zNjHz21LBNrtAgfKzxjuzxH0','y2XPy2S','y2XHBxbuB1rPBgvZzxq','y2fUy2vStw92zvrV','zML4zwrgCMfTzvrVsgvHzgLUz1bPDgnOuM9SBa','zM9YBwf0','x2nYzwf0zuDLB21LDhj5sw5ZDgfUy2u','yM9SzcaYnxb4iefYAwfS','x2DYyxbOAwnnB2rLBa','ywn0AxzHDgvnB3vZzu91Da','x2vSBgLWC29Pza','Bg9Hze9R','rg91yMXLqxjYB3C','Bgf5zxjbzgrLza','CM90yxrLuMLNAhq','ChjLDLn0ywDLvxbKyxrL','x2n1CNjLBNrfEhrLBNq','z2v0uhjVCgvYDhK','BwLUsgvPz2H0','vgr0ue9jioIVT+AXGUwhUUMuMq','qMvKDwfYyw0','zNj1C3r1BvDPzhrO','Dw5WywnRqxjYyxK','x2nSDxn0zxjeyxrH','x+s/RUAuUEMRMow6PG','x2DYyxbOAwnFCM90yxrLx3O','q29TBs4GzgvZifbVAwrZigv0ie1LC3vYzxmGmtC5oq','ChjLCgfYzvzbtW','uhjPBwL0AxzLvhLWzq','C2HVD1rOCM91z2HfBgXPChnVAwq','54M55Pwi5Pwi5P6C','ywXSy291BNq','DMLZAwjSzufYzwfdB2XVCG','BwLUAwzPy2f0Aw9UrMLSDgvY','x2XHC3rFz2v0qwPHEef0DhjuAw1L','x+wfS+MxREMuRUEBMoA8Q+A4Ua','Bw92Aw5Nqw5PBwf0Aw9U','x+AGH+IUSoEFQEw9OG','rKXbvf9wrvjurvHFrK9stufu','C2v0sw5WDxrby3rPB24','B2nJBhvKzxjZ','x2DLDe5VD0fQyxHbDhrY','B3nUAtuY','Aw52zxjZzvzPzxDnyxrYAxG','tgLUzvrOCMvLrgfZAe1HDgvYAwfSuhjVCgvYDhK','x2nLBNrLCG','Dv9SAwDODfbVC2L0Aw9Urum','AgvPz2H0CW','x1bLCNnWzwn0AxzLrNj1C3r1Bv9JBg9Uzv9VBgq','C2HVD0LUDgvYC2vJDgLVBG','BwfWqM91BMq','x+AyVUEKUUAyN+EPUUIdJoAzRW','AtnZxW','tgfTyMvYDcbdB25PyYbdB25MB3jTywWGkdftucK','Aw5PDgvK','BNvTyMvYt2zmAxn0zw5LCNm','Dg9ezwDYzwvZ','z2v0q29SDw1U','x2nHy2HLx3rPBwvuAwS','v2vItwvYy2f0B3juAwXPBMDty2HLBwu','CMvTB3zLrxzLBNrmAxn0zw5LCG','z2v0rgLZDgfUy2u','AgLNAa','ltuWjq','DMvYDgv4u2HHzgvYvgv4Da','zwrPDfbSyw5L','x21VDxnLvxbiyw5KBgvY','z2v0q29VCMrPBMf0zq','lM1HCNmZzc1JDwjLDMLLDY1JDwjL','zNjVBuDLB21LDhj5','x3nJyw5LugXHBMvzsgfSzKfUz2XL','x2LUzMLUAxrLuhjVAMvJDgLVBG','i0qZmZaZoa','x2vUywjSzwreCMf3','x+wBVUs4IUAGH+IUSa','B2zMC2nYzwvU','DxbKyxrLqxr0CKzVCKvKAxrPBMC','x2zSEvrVrxG','x2DYyxbOAwnFBw92zv94','zxaY','x21HC2TFC2L6zq','rhjHD0nPCMnSzq','Aw50zxjZzwn0Aw9U','x29Uq2fTzxjHq2HHBMDLzev2zw50vgHYB3r0Bgu','CMvTB3zLtgf5zxi','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptKZicTRpteGk3HFmd0ZmtuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','z2v0r2vVBwv0CNLjBNn0yw5Jzuf0DhjPyNv0zxm','zhjHD2LUz0j1zMzLCKHLAwDODa','x3vWzgf0zvbYAw1PDgL2zuzVCKnVBg9Ytwf0zxjPywW','yMX1zq','CMf0Aw8','z2v0q2vUDgvY','BgvHzfrPBwu','x3bYzxzdyw1LCMfizwLNAhq','z3jLzw53AwnO','x3rHCMDLDa','Dw5PDhm','uKfesufou19qrvjFrevhuKvf','x2LUDgvYC2vJDgLVBLDPzhrO','CMvZB2X1DgLVBNm','CMfKktSkicaGicaG','x+wfS+MxREAyN+EPUUIdJoAzRW','x+ENU+wkQowiSoATPowKHa','AgfZrwrPDfnJywXL','x29YAwvUDgf0Aw9U','qMfZzuvUDgL0Eq','Ahr0Chm6lY9YDhTZFs5TyxaUz3rPBwCUy29Tl3rPBgu/EJ17EN0MEd17Eh0MEt17CMv2zxjZzvL9jNn0EwXLAwq9mszZy2vUzt0W','x2LUAxrnzxrOB2q','AgfZq2XPy2TfDMvUDa','z2v0r3jPzfbVAw50C0j5ug9SEq','z2v0qxjLyuj5swq','zxHJBhvKzwrlzxLZ','DMLLD01VzgvS','C2fTCgXLCG','x+wnIUw+Ha','uKvqrufu','DgvYCMfPBG','z2XVyMfSq29TCg9ZAxrLt3bLCMf0Aw9U','C2HHzg93twfWCW','iZaWmdaWma','qxjLyu1Lyxn1CMu','uKvnt1zfra','nZG5ztu1ogjLnZyYzMy4mZiZotjHmdm5m2zKoge0zJe','5ywZ6zET5zYW5B2I','BgvUz3rO','Bw92zvrPBwvY','x+AxOoAZLEwiOoMzPos4JEIdVEwWKEs6JUACGowWJ+EcUEAvSa','C2vYDMLJzq','5z2q5Qch6kEJ5P6q5AsX6lsL77Ym6k+356gU6k6K5y+c5PwW5PIV5zcM5PEG6k+V','Cg9SEwXPBMvwB2X1Bwu','zNjVBufYCMf5','x3bYB3bHz2f0zuv2zw50','x29Wzw5cEu1VDxnLrxzLBNq','qwrKAxrPDMu','zMeGzMeTC3vUlw8','vhjHBNnSyxrPB25sB3rHDgLVBLnJywXL','C2v0t2zMC2v0sgvPz2H0','rgvNCMvL','CMvTB3zLt25tDg9W','CMvWzwf0wq','Bg93zxjmyxrPDhvKzq','q2vZAxvTm0ruAwXLC2v0','CMf5rwXSAxbZB2LK','BLn1yMDYAwrZ','x+AyVUEKUUs4IEINKUE9Kq','zMfSC2vFBM9YDgHPBMC','x2z4t25Lug9PBNq','zgfYA25LC3m','x2LUChv0t3jKzxi','C3rLChm','x3nJyw5LugXHBMvysgfSzKfUz2XL','BxvSDgLWBgLLCG','z2v0q29UDhjVBa','C3rLCMu','x2DLDfbVBhLNB25iAwvYyxjJAhK','x2rYyxDfBMrfDMvUDfr5Cgu','x3zHBhvLCW','rwXSAxbZB2LKvgvYCMfPBLbYB3zPzgvY','x2DLDefKzhjLC3nFAw5N','x3HuywjSzq','x3bVBhLSAw5Lq29SBgvJDgLVBG','twfYCZnex1nOywrVD1zPC2LIAwXPDhLtAgfKzxi','y2LYy2XL','DMvJ','x2DLDe1VzgvStwf0CML4','x21HEeHLAwDODa','x29UtwfWx3DOzwvS','Bwf4Aw11BufSCgHH','twf0zxjPywXvDgLSihjLz2LZDgvYt3b0C0nVBNzLCJOG','ChjVAK5HBwu','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0ihnWzwvKoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWOki2rLzMLUzsbqssaZlJe0mtu5mJy1mZu5cGPMBg9HDcbYyw5KkhzLyZiGy28PihSkicbYzxr1CM4GzNjHy3qOC2LUkgrVDcHJBY54EsWGDMvJmIGXmI45odK4lca3oc4YmZmPksKGkIa0mZC1oc41nduZktSkFqOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicb2zwmYihbVCYa9ihn0ic0GDMvJmIGWlJuPoWOGigzSB2f0ihrPBwuGpsbJEM1FzNjHBwvoDw1IzxiGkIbZCgvLzcaVideWmdaUmdSkicbMBg9HDcbYid0GBgvUz3rOkhbVCYK7cIaGzMXVyxqGDca9igf0yw4OCg9ZlNKSihbVCY54ksaTihrPBwuGkIaYlJu7cIaGzMXVyxqGysa9icHHDgfUkhnPBIH0ksWGy29ZkhqPksaRifbjksaVicGYlJaGkIbqssK7cIaGzMXVyxqGDgeGpsaWlJu7cIaGzMXVyxqGDIa9ihnTB290Ahn0zxaODgeGlsaWlJa1lcb0ysaRidaUmduSigePicOGC21VB3rOC3rLCcH0ysaRidaUmduSihrHic0Gmc4WnsWGysK7cIaGDMvJmYbJB2XVCK1HCNmZrca9ignVBg9YlNjNyIaQihy7cIaGzMXVyxqGyMXPBMSGpsbWB3COC2LUkhrPBwuGkIaXlJuPicOGmc41icSGmc41lcaWlJGPoWOGignVBg9YtwfYCZneid0Gy29SB3iUCMDIicOGCg93kgeSidGUmcaQicGUmIaRigjSAw5RksKGkIaOC2LUkhiGkIa1mdaUmcKGkIaUnsaRic41ktSkicbJB2XVCK1HCNmZrca9ignVBg9YtwfYCZneicOGCg93khiSidaUncK7cIaGBwf0zxjPywWUywXWAgeGpsbSzw5NDgGOy29SB3jnyxjZm0qPicOGms4ZicOGy29SB3iUysaQigDSB2jHBefSCgHHoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbJB2XVCK1HCNmZrcaQidmUmdSkicbYzxr1CM4GBwf0zxjPywW7cN0k','Bg93zxjuB0jVDhrVBq','ChjVEhKTyxv0Ag9YAxPHDgLVBG','cIaGicaGicaGpgrPDIbJBgfZCZ0IBwfYCZnKlwn1yMv2Awv3lwn1yMuIpGOGicaGicaGicaGica8zgL2ignSyxnZpsjTyxjZm2qTy3vIzxzPzxCTC2LKzs10iJ7POBy8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwfYCZnKlwn1yMv2Awv3lxnPzguTDYi+6kw/pc9KAxy+cIaGicaGicaGicaGidXKAxyGy2XHC3m9iM1HCNmZzc1JDwjLDMLLDY1ZAwrLlxmIpUwnLZWVzgL2pGOGicaGicaGicaGica8zgL2ignSyxnZpsjTyxjZm2qTy3vIzxzPzxCTC2LKzs1LiJ7KUjW8l2rPDJ4kicaGicaGicaGicaGpgrPDIbJBgfZCZ0IBwfYCZnKlwn1yMv2Awv3lxnPzguTBIi+5yYxpc9KAxy+cIaGicaGicaGicaGidXKAxyGy2XHC3m9iM1HCNmZzc1JDwjLDMLLDY1ZAwrLlwiIpUw6LtWVzgL2pGOGicaGicaGicaGpc9KAxy+','x2nPDhK','zw5HyMXLsw5WDxrZ','AxnfzgL0Aw5N','ywrKvgLSzq','Dv9YywrPDxm','x3bSyw5Lqw5NBgvsywrPyw5Z','z2v0r2vVsNnVBKzLyxr1CMvZ','y2vZAxvTlxDPzgDLDc1LCNjVCLbHBMvSlwHLywrLCG','x+E6Row6PG','AgfSzKzSB2f0Aw5Nug9PBNruzxH0DxjL','x2XHC3rFDMvSB2nPDhK','ChjVy2vZC1n0yxrLtwfJAgLUzq','BgLNAhrPBMC','A2LSB21LDgvYCW','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTigzSB2f0igjYAwDODg5LC3m7cGPPBIb2zwmYihzFDgv4DhvYzunVB3jKAw5HDgvZoWOkDM9PzcbTywLUkhzVAwqPcNSkicaGihzLyZqGy29SB3iGpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGicaGDMvJmYb0yxjNzxqGpsb2zwmZkdaUmcK7cIaGicbVDxrFrNjHz0nVBg9Yid0GDMvJncHTAxGODgfYz2v0lcbJB2XVCI5Yz2iSigjYAwDODg5LC3mPlcbJB2XVCI5HktSkFqO','q2vZAxvTm0ruAwXLu3r5Bgu','z2XVD1jHBMDL','zwfJAenOAwXKr3jHCgHPyW','x2DLDfbVC2L0Aw9UCW','CMvTB3zLvgLSzq','C2LUCgHP','BgLUzurHC2G','DxnLuhjLq2fJAgvKvgLSzxnjzKf2ywLSywjSzq','twf0CML4tw92zti','ywrKr3jHCgHPyW','ywz0zxjjDgvT','x2fKzgvKqMfZzuHVB2S','AgvHzgvYCW','Ag9Szxm','C2L6zq','x2nSzwfYtgfZDeHPz2HSAwDODa','rwXSAxbZB2LKvgvYCMfPBLbYB3zPzgvYvg9VBhrPCa','x29YAwDPBMfSCMvMBgvJDg9Yv29YBgrqB3nPDgLVBG','x3rVt25LsNnVBL9qB2X5','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptK5icTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','Axnezxn0CM95zwq','x2vUDgL0Ev9Zy2fUugXHBMu','Bg5Ntgf0vg9nzxjJyxrVCG','y2XVDw1U','x3nLDe9MzNnLDeHLAwDODa','DMLKzw9q','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptC1icTRpteGk3HFmd0XmZuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','x2LZq2fSBgjHy2TqB3nPDgLVBNm','B25Jzq','x3jLCxvPCMvKuMvZB2X1DgLVBG','x3nLBgvJDgvKugXHBMu','x2DLDenVBg9YqNLdB2XVCK1HDgvYAwfS','yNvMzMvY','BwLUugL0y2G','A2v5Dxa','y29UDg91CLvUAwzVCM1Z','5ywZ6zET5PEL54wN6zI05B2X','DMLLD3bVCNq','x21PBMLTDw1izwLNAhrZ','CgL0rw50Axr5','DgLWCW','y29SB3jFyMfR','DgLTzsbPCYbYzxf1AxjLzc4','x2DLDen1C3rVBvnOywrLCG','BwLUAw11BvjHzgL1CW','x2LUAxruAwXPBMDty2HLBwvcEunYCW','BwLKug9PBNrgCMfJDgLVBG','CgLJA09UBhK','tK9orq','rvbtrZO0mZi2','BwfYCZnKlwrPC3rHBMnLlwXLz2vUzca','qMfPzhvqt0KG6k+35Rgc5yE66zsz','CMvTB3zLq29UDhjVBa','y29TChv0zuvSBgLWC2vqB3nPDgLVBNm','x3DHBgXizwLNAhrZ','rgL2r2LM','zgvYAxzLzenVBw1HBMrZ','x2jHy2T3yxjKrxH0CMfWB2XHDgLVBLr5Cgu','iowpIUs7PEs4IUEjIoACRa','x2DLDeHLAwHNDa','C25VD0nVDMvY','x2DYyxbOAwnFCM90yxrLx3K','ywn0AxzHDgu','BwfYC19WB2LUDfnPEMu','C2LUx3aXmG','yM91BMrPBMDwB2X1Bwu','DxbKyxrLqw5KrxHLy3v0zunVBw1HBMrZ','DgLTzw91Da','zgLZvgvYCMfPBLnJywXL','u2fTCgXLzfbVC2L0Aw9UuhjVCgvYDhK','pc9KAxy+cIaGicaGicaGicaGicaGica8l2rPDJ4','AxneCMf3Aw5N','ug9PBNrdBg91za','B25dAgfUz2u','z3jHBNvSyxjPDhK','y2fYDg9NCMfWAgLJvg9dyxj0zxnPyw4','sg9Tzuj1DhrVBG','i2vIztK2nW','x2rYyxDFAg9Szxm','zgvWDgHgywLSt3bHy2L0Eq','CMLWCgXL','x2DYyxbOAwnxAw5KB3DqB3nPDgLVBG','x21HDhjPEdnty3jHDgnO','qLLurvnFuevsx0vmru1ftLq','ywrKvg8','x2jHA19ZDgfYDfrPBwu','Bg93zxi','tgfTyMvYDf9dB25MB3jTywXFq29UAwnFmLnq','ugL4zwXgB3jTyxq','z2XVyMvizwLNAhq','zNjVBu1LCMnHDg9Y','CxvLCNLtzwXLy3rVCG','z2v0tgfUz1rLEhq','zgvIDwDfEhrLBNrfBNrPDhK','y3jLyxrLrwXLBwvUDa','y2vZAxvTlxbYB2PLy3rPB25qAwnRzxiTzhjVCerVD24TAwnVBG','Aw1Hz2uVCg5N','ywrKvgHPBMC','z2v0tgLZDej5qxr0CG','AgvPz2H0uMvMzxjLBMnL','vMLKzw8Zra','ugL0rw50Axr5','rMvHDhvYzuLUzM9szxnWB25Zzq','z2nQmMjK','y2vZAxvTlw5HDMLNyxrPB24TAgvSCc1IDxr0B24','iIaGy2XHC3m9iM1HCNmZzc10B29SDgLWiN0IpNTJB250zw50FtWVzgL2pG','x3jLC2v0q2fTzxjH','u3rYAxbLt3jPzw50yxrPB24','Een1Da','z2v0u2HVD1bVC2L0Aw9UCW','zwXLBwvUDa','C2nHBLbSyw5L','twf0CML4uM90yxrL','z2v0qxjYyxLsyw5KB21pBMu','BM9Uzq','x2HLywrPBMC','x2XHC3rFy29UDgv4Dg1LBNvdB25MAwC','zwfZDa','x3vWzgf0zunSyw1WAw5N','Bw92zur1CMf0Aw9U','x3jLywrdAgLSze5VzgvwywW','z2v0u3vYzMfJzurPC3rHBMnL','C2nVCgu','CgLUy2HnB3zL','C3vYzMfJzuHLAwDODa','AxndB250Aw51zwq','AgjNza','zNj1C3r1Bq','DxbKyxrLqM94','rgLMzNvZzvDHBgW','CgXHEq','y2XVy2TuAwnR','x3rPBgvmB2fKuxvLDwvmB3C','vw5KzxjNCM91BMroBW','zgLMzKHLAwDODa','x2fSDa','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteWocaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','x2fYCLrHC2TjDgvT','x3vUAwzVCM1Zx2nVBg9Yx2fSCgHH','Aw5MB2nVzgu','zMLSDgvY','DMvYDgv4CW','x2HLAwDODa','rvbtrZOZnZG1','Dgv4Dfn0EwXLCW','zM9UDf9ZDhLSzq','ioAVLos+I+wWUG','CMLNAhrqB3nPDgLVBNm','twvHC3vYzurPC3rHBMnL','q29SB3jhzw9TzxrYEuLUC3rHBMnLqxr0CMLIDxrL','x2DSB2jL','Dgv4sw1Hz2uZra','u2T5qxrTB3nWAgvYzvLLCW','uKvdruLwrv9ptKXz','x2HHC1PjBMrLEa','x2HHC1jPz2H0vgLSDa','r2f1C3nFs3j1z2vY','y291BNr5','CxnJ','CM90yxrPB25ezwDYzwu','x29U','DhjHBNnMB3jTv2LUzg93vg9eCMf3Aw5NqNvMzMvY','D2fSBa','Bwf4Ea','zM9YBwf0vM9SDw1L','CgfZC1n0yxrL','x3jVAvvw','zNjHBwvIDwzMzxi','yxjYB3C','CgLJA0vSBgLWC29Pza','yxjJz2LZ','Aw52zxjZzvrYyw5ZzM9YBwf0Aw9U','x3bYB2PLy3rPB24','ChjLzMvYsw1Hz2vcAxrTyxa','ugLJA2LUzW','x3jLzNjLC2HdBhvZDgvY','uefsveLbta','r3jPzcbZAgLMDcbNCMLKCYbUB3qGzM91BMq','x2zYDxn0Dw1qCMLTAxrPDMu','x2rPBwvUC2LVBNm','5y+Z6zsUk+AlLUAlVE+8JoAiLUIaHq','rxHPDfzstw9Kzq','x3zPzxC','x2LUDMvYC2vnyxrYAxG','AxndzxnPDw0ZrfrPBgvZzxq','C2nLBMu','A2v5','yxjYtgvUz3rO','uhjPBwL0AxzL','C2nHBgvWBgf0zq','zgvWDgHuzxn0','rNj1C3r1BunVBwjPBMu','v2LKz2v0CY9jBwfNzxmVvgvYCMfPBLbYB3zPzgvYCY9dzxnPDw1xB3jSzfrLCNjHAw4UCg5N','ue9jioIVT+AXGUwKSEI0PsG','CgHPyZa','rwrPDejHC2u','uhjVAG','x2nVBNrHAw5LCLnWzwvK','x+wiOoMzPoIVPEEcUq','Aw5ZDhj1y3rPB24','C2nHBgvz','rMvHDhvYzvr5Cgu','Axnby3rPDMf0zq','iZi5y2yZna','CMvUzgvYu3rHDgu','x21VDMvby3rPDMu','x3jVDgf0zufUz2XL','y29TBwfUzhm','CM90yxrPB25FEq','Dw5IAw5Kug9WDxa','DxnLqNjVD3nLCLjLy29TBwvUzgvKuMvZB2X1DgLVBG','x3bVC2L0Aw9UC19NCMLK','BwfYCZnKlxnTywXSvg9VBhrPCc1YAwDODefYCM93','y2vZAxvTlxzPzxDLCI1Nzw9JB2rLCKnVBNrHAw5LCG','x3jVDgf0zv9VBLbYzvjLBMrLCKHHBMrSzxi','x2nVBNrLEhrTzw51q29UzMLN','rMvHDhvYzvr5CgvmAxn0','tufyx1zbtfvf','C3bLzwq','y291BNq','zMX5vg9fEhrLBNq','x3vWzgf0zurPzMzizwLNAhq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteZnsaRAZ0XicT4xZa9ndu1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','u1rbveLdx0rsqvC','txvSDgLqB2X5z29U','v2fSA2LUzW','CMvNAxn0zxi','r1jtoda','zgfZAeXLBMD0Aa','DxbSB2fK','x21HDgvYAwfS','Bw92zvn0zxa','Cg9PBNqY','Bg9HzeLTywDLrwXLBwvUDa','Dw5PzM9YBsb2zwm0igv2zw5dB2XVCJSkDw5PzM9YBsb2zwm0ig9KzenVBg9YoWP1BMLMB3jTigzSB2f0igzYzxf1zw5JEtSkDw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cGOGic8ViezYB20Gu3rLzMfUieD1C3rHDNnVBIDZifbYB2nLzhvYywWGvgv4DhvYzxmGAw4Gr0XttcbPBIbpCgvUr0WGsw5ZAwDODhmkicb2zwmYieyGpsbJEM1Fy2vSBhvSyxiOBwf0zxjPywXjBNb1Dc5ZDcaQigzYzxf1zw5JEsK7cIaGzMXVyxqGDca9ideUmcaTieyUEcaQieyUEdSkcIaGDMvJncbJB2XVCK1HCNmZrca9ig1PEcHLDMvUq29SB3iSig9KzenVBg9Ylcb0ktSkicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3jnyxjZm0qUCMDIoWOGig1HDgvYAwfSlMfSCgHHid0Gy29SB3jnyxjZm0qUysaQigDSB2jHBefSCgHHoWOkicbYzxr1CM4GBwf0zxjPywW7cN0k','y2fSBa','CMfKksbYB3rHDgvzka','x3vWzgf0zuzVCKv2zw50','z2v0uMvHBefSDa','y2HHCKnVzgvbDa','iZKXqJngrG','x2HHzfjLBw92zuXHC3rnB3zLug9PBNq','y29UDg91CK1HDgvYAwfSlMfSCgHHid09idaUmca/igfZCgvJDfjHBxbnyxrLCMLHBc5KAwzMDxnLidOGy29UDg91CK1HDgvYAwfSlMrPzMz1C2u','yxbH','BgfIzwW','ug9PBNq','C2nHBgvcEurPC3rHBMnLx2zHCLzHBhvL','x3rPBgvtAxPL','yxHPC1K','x3vWzgf0zvrLCNjHAw5qCM92AwrLCG','CMvJDfG','Aw50Ba','x3bVC2L0Aw9UC19SAw5Lx3K','B25dDxn0B21dyw52yxm','x+w8GowqR+s6RUw6PG','x3nLBMrdB3vUDa','C2LSAg91zxr0zufSCgHH','x21VDMviyw5KBgvY','C2HHzg93vMLZAwjPBgL0EvnOywrLCG','x2nSyxnZtMfTzq','y2XVDwrdB2XSzwn0Aw9U','ChjVAJq','uKve','mtm1mZaWnKnVEeLlDG','z2f1C3m','zxjYB3i','zgL2r3jHCgHPy1n0EwXLq29UDMvY','z2v0u2nHBgu','ywjZ','x2nVBNrLEhq','x3vWzgf0zvn0EwXLsg9VAW','x3bVAw50rwrPDevSzw1LBNrjrhm','uMvJDgfUz2XLr2vVBwv0CNLmAwjYyxj5','zw5HyMXLze1VDMvuyxjNzxq','Dg9SzxjHBMnL','t2jSAxf1zv9tDgvYzw9NCMfWAgLJ','x+AmIEI9ToAxI+I9Ra','C2L6zuLUqNL0zxm','Dv9TyxjZm2rFzMXVB2rFBgLTAxrnAw4','mNb4','x3jVDgf0Aw9Uu2nYyxrJAa','y3nZvgv4Da','x3bHz2vtAxPL','Bg9JyxrPB24','x2DLDezPEgvKrNjHBwvuB0vHC3roB3j0AfvWvhjHBNnMB3jTrNjVBvDVCMXKtwf0CML4','x3vWzgf0zu9IAMvJDef2ywLSywjPBgL0Eq','CgLJA2vKt2jQzwn0','rvbtrZO0ntq2','Axnqq0jYB3n3zxi','x3rVsLnptLzHBejLzM9Yzq','Bw92zuHLAwDODa','ugvYC3bLy3rPDMvqCM9Qzwn0Aw9U','zNjHBwvsyxrL','sw52ywXPzcb6B25LigXLDhrLCJOG','ywXSugfNzq','x3vWzgf0zuvKAxreCMfNz2vYCW','rvbtrZO0ntiZ','Cg9ZAxrPB25Z','qMfPzhvjBwfNzxj5uhjVDMLKzxi','yxnWzwn0','zgvMAw5LCW','BxmY','ChjPBwL0AxzL','qK9uve9nx1jpvefurq','vgvYCMfPBLbYB3zPzgvY','x2nVBNrHAw5LCL9YB3rHDgLVBKfYyW','AgfZq2XHC3m','AgfZqMLUzev2zw50','Cg9SEwDVBLDHBgW','Dgv4Da','uhjVCgvYDhK','z29Vz2XL','x3jLBw92zunVBgXLy3rPB25cEtne','x3nLBgvJDgvKtgf5zxi','Bwf4v2LKDgG','zgf0yvr5CgvZ','BxmX','q0vovevs','x3vWzgf0zu5VCM1HBa','q3vYDMvfBNrPDhK','qw5KCMfLide4nZyGkerLBI4SieLJBg5KlIK','Dv9TyxjZm2rFzMXVB2rFDgv4DhvYzq','x3vUyMLUzevKAxrfDMvUDa','l3rPBguV','x+AmLUAwUEs9K+ENRW','ug9SEwXPBMvqAxbLBgLUzq','ug9SEuzHy2v0twf0zxjPywXqCM9Wzxj0Eq','zhjHD0nHBNzHCW','zgLZDgfUy2vmzwDLBMq','Cg9PBNrtAxPL','CMvZB2X1DgLVBLnJywXL','tu9vu0vFtu9wrq','z2nQmdjSBa','x2f0DhjPyNv0zxnFzgvWDgHgywLSq29SB3jFywXWAge','A2LJAW','zgvMzxi','x2XHC3rtzwXLy3rPB25szxn1Bhq','runptK5bqK9sveve','D3jHCfm','Dw5WywnRsw50zxjWB2XHDgLVBLjLC3vSDa','zM9JDxm','x2rPC3rHBMnLrgLZCgXHEunVBMrPDgLVBKnHCNrLC2LHBJi','vevyvfvsrv9xuKfqx1m','pgrPDJ7LNldLNydVVjO','Aw9Uu2vYDMvY','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIihn0yw5KywXVBMu9iM5ViJ8+cJXZDMCGD2LKDgG9iJe2mNb4iIbOzwLNAhq9iJe2mNb4iIb2Awv3qM94psiWidaGmtyYide2mIiGDMvYC2LVBJ0Ims4XiIb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihHTBg5ZoNHSAw5RpsjODhrWoI8VD3D3lNCZlM9YzY8XotK5l3HSAw5RiJ4kicaGidX0AxrSzt4KDgL0BguKpc90AxrSzt4kicaGidXKzxnJpM1HCNmZzc5JBJWVzgvZyZ4kicaGidXKzwzZpJWVzgvMCZ4kicaGidXNigLKpsjqywDLlteIihn0CM9Rzt0IBM9UzsiGC3rYB2TLlxDPzhrOpsiXiIbMAwXSlxj1Bgu9iMv2zw5VzgqIpGOGicaGicaGidXNigLKpsjJB21WyxnZlw91DgvYiIbMAwXSlxj1Bgu9iM5VBNPLCM8IpGOGicaGicaGicaGica8Cgf0AcbKpsjnodaUodqXmdu0ncWXnJeUnJGYmta5iemZnI4Xotm3nZmXlde2ms42odiXmdKGmcWXmJuUndG4mZm2idaSodaUodqXmdu0ncbdmcWZnI4Xotm3nZmXidm2lJe5mZC3mZeSmca4mc44ndeWntq0ldaGqZeYns40odGZmZySmcaXnJeUnJGYmta5ldm2lJe5mZC3mZeGmtyXlJy4mJeWosW4mc44ndeWntq0iemXnJeUnJGYmta5ldeYns40odGZmZyGmti1lJq4odmZnIWXnJeUnJGYmta5idGWlJG0mta1ndqSmtyXlJy4mJeWosbAie04ms4Xodm2mdeXldeZnc42mJa5mdKGqZeXmc42otyYmteSmtm0lJyYmdKWosaXmZqUnJiWota5ldeXmc42otyYmteGmtm0lJyYmdKWosW4ms4Xodm2mdeXiemXmZqUnJiWota5lduXlJy3mdK5mtyGmteWlJy5nJiXmsWYnY43ndyYotqXidGXlJe4mZyWmteSmJCUnZq2mJK0msbdnteUnJCWotKXnIWYnY43ndyYotqXidi3lJC0nJi5ndeSnteUnJCWotKXnIaYnY43ndyYotqXldGXlJe4mZyWmteGqZi3lJC0nJi5ndeSmteWlJy5nJiXmsa1ms42nZa5ote2ldeZnc42mJa5mdKGodeUmtGZnJaXmsWXmZqUnJiWota5ifOIigLKpsjpDMfSlteWoci+pc9WyxrOpGOGicaGicaGicaGica8y2LYy2XLigLKpsjpDMfSltC0iIbMAwXSpsiJrKzgrKzgiIbJEd0Imti5lJq5mZy4mYiGy3K9iJeYnY45ntiWotiIihi9iJeUntqXntKXndCIpJWVy2LYy2XLpGOGicaGicaGicaGica8y2LYy2XLigLKpsjpDMfSltC0lunVChKTmYiGzMLSBd0Ii0zgrKzgrIiGy3G9iJeYos40otm2odmIign5psiZns40nty2mdm4iIbYpsiXlJu0mtu5mtq3iJ48l2nPCMnSzt4kicaGicaGicaGicaGpgnPCMnSzsbPzd0It3zHBc03nc1dB3b5ltuIigzPBgW9iIngrKzgrKyIign4psiZmc44mZe4mJK0iIbJEt0Imti3lJK1mJa5mIiGCJ0Ims41nde1ote0nYi+pc9JAxjJBgu+cIaGicaGicaGicaGidXJAxjJBguGAwq9iK92ywWTnZqTq29WEs00iIbMAwXSpsiJrKzgrKzgiIbJEd0ImZaUodmXodi5nciGy3K9iJm1lJq1nJyWmZGIihi9iJeUntqXntKXndCIpJWVy2LYy2XLpGOGicaGicaGicaGica8Cg9SEwDVBIbPzd0ItIiGzMLSBd0Ii0zgrKzgrIiGCg9PBNrZpsi4nc45mZe4mdCYidiZlJeYmZG3mJeGodqUotmXoda3mIaXmY4XmZiXmZyYidGYlJu2mJmZoduGmtmUmtmYmtm2mIa4mI41nJiZmZG1ide5lJi5odq2ndyGnZCUotuXody2ideZlJeZmJeZnJiGnZuUnZeWodyYnsaXmY4XmZiXmZyYidC1lJCXmdG2mJuGmJmUmtiZodCYmsa3oc4Wotq2mduZidiZlJeYmZG3mJeGnZGUmdK0nJa1mYaXnI45nZe4mtC2idGYlJy5mdGWmZCGmJmUmtiZodCYmsi+pc9WB2X5z29UpGOGicaGicaGicaGica8Cg9SEwDVBIbPzd0ItgLUzsiGzMLSBd0Ii0zgrKzgrIiGCg9PBNrZpsiXndmUmZy4mda3idGYlJeWotm0nZyGmtuYlJyXnZu1nsa4mI4XmdKZndC2ide1mI42mtC1ntuGodeUmJK5mZq3nIaXndmUmZy4mda3idGXlJi5otm0nZyIpJWVCg9SEwDVBJ4kicaGicaGicaGicaGphbVBhLNB24GAwq9iKXPBMuTq29WEs04iIbMAwXSpsiJrKzgrKzgiIbWB2LUDhm9iJKUmJq5ntq4odqGodiUmta5mZq3nIaXoc40otKWotC2idGYlJeWotm0nZyGmtGUndK5mdK3nIa4ms4YotKZndC2idKUmJq5ntq4odqGodeUmJK5mZq3nIi+pc9WB2X5z29UpGOGicaGicaGicaGica8Cg9SEwDVBIbPzd0ItgLUzsiGzMLSBd0Ii0zgrKzgrIiGCg9PBNrZpsi4ms4YotKZndC2ide0mY4ZnJGWmdCGodeUmJK5mZq3nIaXntiUnJe3ntu1idGYlJeWotm0nZyGmtuYlJyXnZu1nsa4mI4XmdKZndC2ide0mY4ZnJGWmdCIpJWVCg9SEwDVBJ4kicaGicaGica8l2C+cIaGica8l2C+cJWVC3zNpGO','Dw5PzM9YBsbIB29SihvFBwfYCZnKx2zSyxrFzw5HyMXLzdSkDw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFzMXHDf90zxH0DxjLoYaVlYdOJipLM7qkDw5PzM9YBsbMBg9HDcb1x21HCNmZzf9MBgf0x3jHzgL1CZSGlY8G6iYd5zU055Qe6zw/5BQMcNvUAwzVCM0GBwf0ncb1x21HCNmZzf9MBgf0x21HDhjPEdSGlY8G5lIC5yYx5AsPcNvUAwzVCM0GBwf0ncb1x21HCNmZzf9MBgf0x2LUDMvYC2vnyxrYAxG7ic8Vios4NowmL+wKQEEAHoMaHGP1BMLMB3jTigzSB2f0ihvFBwfYCZnKx2zSyxrFBg9JywXAoYaVlYdLN7RLH4BPQ5JLUQBVViJKUjZLJjFLPkNLNzdMOiFNS7VKUiVNMOtPQ5JLUQBVViKkcNzVAwqGDMvYDgv4twfPBIHwzxj0zxHjBNb1Dcb2C0LUChv0lcbPBM91DcbJEM1FBw9KzwXwzxj0zxHpDxrWDxqGDNnpDxrWDxqPihSkicbPzIH1x21HCNmZzf9MBgf0x2vUywjSzwqPihSkicaGihzLyZqGCg9ZAxrPB24Gpsb1x21HCNmZzf9MBgf0x2LUDMvYC2vnyxrYAxGGkIbJEM1FBw9KzwWGkIb2zwm0khzZsw5WDxqUyxr0CMLIDxrLCY5WB3nPDgLVBK1dlcaXlJaPoWOGicaGDMvJncbJB2XVCIa9ihrLEhr1CMuODv9TyxjZm2rFzMXHDf90zxH0DxjLlcaOCg9ZAxrPB24UEhKGkYb1x21HCNmZzf9MBgf0x3jHzgL1CYKGlYb1x21HCNmZzf9MBgf0x3jHzgL1CYaVidiUmcK7cIaGicbPzIHJB2XVCI5Yid4Gmc4Wksb7cIaGicaGihbVC2L0Aw9UlNOGpsb1x21HCNmZzf9MBgf0x2XVy2fSwJSkicaGicaGDNnpDxrWDxqUCg9ZAxrPB25nqYa9icHJEM1FAw52zxjZzu1VzgvSicOGDv9TyxjZm2rFzMXHDf9TyxrYAxGGkIbWB3nPDgLVBIKUEhL6oWOGicaGFqOGih0kFqO','x2fKzgvKsg9VAW','CZKW','x2fKzeXHyMvS','zNbZ','B2zMC2v0sw5cExrLCW','AgvPz2H0u3rLCa','Cg9PBNrLCI1LDMvUDhm','y2XVC2vdB250zxH0twvUDq','Dg9gAxHLza','iowVUEIXOsa','DgvTCa','ueLoq0HFu1rbuLq','AxnbEgLVC0vYCM9Y','x3rPBgvmB2fKuxvLDwviAwDO','C2HVDwXKqw5PBwf0zq','DM9SDw1Lq2XVDwq','CMDIkde3mcWZnIWYntaP','ANnVBG','v01t','sw50zxjZzwn0','CMvJDfK','seftx1zFtK9stufmx01buLmZra','x3jLDMvYC2vst0K','C3rHDhvZ','x+w9K+wjJEINHUINKUs/OEAbRW','Bg9HzfrPBgu','x2DYyxbOAwnFzhjHz2DLCL9PBMC','Dg90ywXbCMvHu3rY','C2LKzxneyxnOtgvUz3rO','C3vU','Ag90ug9PBNrjra','x2XHC3rFyxzHAwXHyMLSAxr5u2HVDW','iJ4kicaGicaGicaGicaGicaGicaGica8ysbOCMvMpsjQyxzHC2nYAxb0oNzVAwqOmcKIpG','yNvPBgrPBMDZ','r1jfru4','x3rLEhr1CMvgAwX0zxjbBMLZB3rYB3bPyW','zMeGzMeTz2XVyMu','qKfjrfu','5l+U5Ps55y2k5B6e','x2XHC3rFCgLJA2vK','x25VCM1HBf9HBMDSzte','x21HCev4','C3rVCerYyxC','iZaWzMyWma','C2v0u3r5Bgu','D2HLzwW','y2XVy2TFB25uAwnRsgfUzgXLCG','DMfSDwvZ','ug9SEwXPBMvhzw9TzxrYEq','q2XPChbPBMDqBgfUzq','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGy21Pksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHJBwKPoWOGihzLyZiGC3qGpsbJBwKUC3q7cIaGzMXVyxqGDca9igzYywn0khnWzwvKicOGy3PTx2zYyw1LtNvTyMvYic8GmtaWmc4WksaQigrPCMvJDgLVBJSkicb2zwmYihn0msa9ihzLyZiOzNjHy3qOC3qUCYaTihqPlcbZDc50ktSkicb2zwm0ignVBg9Yid0GDMvJncGWlIWGmc4SidaUlcaWlIK7cIaGzMXVyxqGywXWAgeGpsaXlIaTihn0lNq7cIaGzMXVyxqGDK1HCNmZrca9igzYywn0khn0ms5Zic8Gmc4YnsK7cIaGywXWAgeGkJ0GC2LUkhznyxjZm0qGkIaZlJe0mtu5mJyPoWOGignVBg9Yid0GDMvJncH1x2nVBg9YlNjNyIaQihvFy29SB3iUysWGywXWAgeGkIaXlJiPoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbJB2XVCI5Yz2i7cIaGBwf0zxjPywWUywXWAgeGpsbJB2XVCI5HicOGz2XVyMfSqwXWAge7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','x3nOB3DjBNrLCNnLy3rPB24','y291BNrZ','x2rVBwvmAw5LvKe','5zYW5B2I5PYn5yQH','x2DLDfrHCMDLDeLUzM8','ywXSqxjLuMvUzgvYywjSzq','y3vYCMvUDfn0EwXL','tgLUzurHC2HbCNjVD01HDgvYAwfSuhjVCgvYDhK','CgvYug9ZAxrPB25izwLNAhq','BMvJA1DPzhrOrMfJDg9Y','BgLUzvDPzhrO','y2X1C3rLCLn0B3a','B3DUzxi','CgvYy2vUDgfNzunOyw5Nzwq','x29YyML0q3vYC29Yqw5NBgu','ywjZB2X1Dgu','Bwf4Aw11BunSB2nR','x+wbNoATOUE8LUI+Kq','yxrVyG','x2XHC3reEw5HBwLJug9ZAxrPB24','D2DZxZe5odq','cIaGicaJzgvMAw5Lie1bwf9squrjvvmG','x2LTywDL','AxnjBM5LCG','mtbWEcbZyw5ZlxnLCMLM','x2nVBNrVDxjtAg93','x3rPBgvZzxrgBgf0','EhPXAa','z2v0u2v0sgvPz2H0','y29TChv0zu5VCM1HBa','y29UDgvUDc10ExbL','Bwv0Ag9K','yxjLyvn1CMzHy2u','vevsuKfjtG','vgLSzxnLDejVDw5KAw5NvM9SDw1LwwvZ','C3rY','x25VvxbKyxrLrwrPDgLUzW','C3vIz3jPzhm','z2vVy2vUDa','x3jLzMXLy3rVCLzPzxDnyxrYAxG','ywrKqxjLyq','r1jtidy3keLvr0CGmtK2nYK','yxjYug9ZAxrPB25Z','x2XVB2TPBMC','u2HHzg93twfW','x+w8GowqR+AxPEEfP+MyTow9Sq','x+wVVowhUUAwH+s7TG','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3yZl2fZC2LZDgfUDc9PBNb1DhrPChm','Aw4GDMvJmYb2x3bVC2L0Aw9Utum7cMLUihzLyZmGDL9WB3nPDgLVBKvdoWPPBIb2zwmYihzFC3q7cGP2B2LKig1HAw4Oksb7cIaGy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DdSkcIaGDMvJmYbUB3jTywXfqYa9ig5VCM1HBgL6zsHJEM1FBM9YBwfSm0qGkIbJEM1Fz2vVzgv0AwntDxjMywnLtM9YBwfSkhzFCg9ZAxrPB25nqYWGDMvJmYGWlJaPlcb2zwmZkdeUmcKPktSkicaGicnPzMrLzIbgqunfx0zpuLDbuKqkicbUB3jTywXfqYa9igzHy2vMB3j3yxjKkg5VCM1HBevdlcb2zwmZkdaUmcWGmc4WlcaXlJaPlcaTBM9YBwfSrumPoWOGicaGi2vUzgLMcGOGig1HDgvYAwfSsw5WDxqUCYa9ihzFC3qUCZSkicbTyxrLCMLHBeLUChv0lNn0id0GDL9ZDdSkicbTyxrLCMLHBeLUChv0lNn0CIa9ihzLyZmODL9ZDcWGmc4WktSkcIaGicaVlYbdB252zxj0ihrHBMDLBNqGC3bHy2uGBwf0zxjPywWGBM9YBwfSihrVigv5zsbZCgfJzsbnqvjtm0qkicbTyxrLCMLHBeLUChv0lM5VCM1HBevdid0GBM9YBwfSrum7cIaGBwf0zxjPywXjBNb1Dc50yw5Nzw50vg9fEwvnyxrYAxGGpsbJEM1FzwfZDe5VCNrOvxbuB0v5zunVB3jKAw5HDgvZkhzFCg9ZAxrPB25nqYWGBwf0zxjPywXjBNb1Dc5UB3jTywXfqYK7cGOGicaGlY8Gq29UDMvYDcb2Awv3ihzLy3rVCIb0BYb3B3jSzcbZCgfJzqOGihzLyZmGCg9ZAxrPB25uB0v5zuvdid0GlxzFCg9ZAxrPB25fqZSkicbTyxrLCMLHBeLUChv0lNbVC2L0Aw9Uvg9fEwvfqYa9ihbVC2L0Aw9Uvg9fEwvfqZSkcIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicaGicnPzMrLzIbgtefucIaGB3v0x0zYywDdB2XVCIa9ihzLyZqOBwf0zxjPywWUzgLMzNvZzsaRig1HDgvYAwfSlMvTAxnZAw9UlcbTyxrLCMLHBc5HBhbOysK7cIaGicaJzwXZzqOGig91Df9gCMfNq29SB3iGpsbJEM1FCgHVBMCOBM9YBwfSAxPLkhbVC2L0Aw9Uvg9fEwvfqYKSig1HDgvYAwfSlcbJEM1FBgLNAhreAxjLy3rPB25fqYK7cIaGicaJzw5KAwykFqO','Aw52zxj0q2XHC3nPzMLJyxrPB24','vgLSzvnLBgvJDgLVBLjLC3vSDa','Aw5MBW','x2nYzwf0zvzPzxDLCG','sw50zxjZzwn0Aw9UvgvZDhm','x2HHCZnKDgLSzxm','x3nOywrVD01HCfrLEhr1CMu','Cg9SEwXPBMvwB2X1Bwvd','x2HHC0vKAxrizwfKAw5N','q3vSBezHy2u','Bg9UzZa','xZb4mtzJzdeX','x3rLCNjHAw5qCM92AwrLCKLUzgv4','cNzLyZmGCgfJA05VCM1HBfrVuKDckgnVBNn0igLUihzLyZmGBM9YBwfSksb7cIaGCMv0DxjUig5VCM1HBgL6zsHUB3jTywWPicOGmc41icSGmc41oWP9cGP2zwmZihvUCgfJA1jhqLrVtM9YBwfSkgnVBNn0igLUihzLyZmGCMDIksb7cIaGCMv0DxjUidiUmcaQihjNyI54ExOGlsaXlJa7cN0kcMnVBNn0igzSB2f0ifbHy2TvChnJywXLid0GmJu2lIaVidi1ns47cMnVBNn0igzSB2f0ifvUCgfJA0rVD25Zy2fSzsa9idi1ns4GlYaYntyUoWOky29UC3qGDMvJmYbqywnRrMfJDg9YCYa9ihzLyZmOmJu2lIaQidi1nI4GkIaYntyUlcaYntyUicOGmJu2lIWGmJu2lIK7cMnVBNn0ihzLyZqGvw5WywnRrMfJDg9YCYa9ifvUCgfJA0rVD25Zy2fSzsaVihzLyZqOugfJA0zHy3rVCNmSideUktSkcMnVBNn0igzSB2f0ifnOAwz0uMLNAhq4id0Gms4GlYaYntyUoWOkDMvJncbWywnRrgvWDgHuB1jhqKeOy29UC3qGAw4GzMXVyxqGDIKGEWOGihzLyZqGCIa9ihzLyZqOzNjHy3qODIaQifbHy2Tgywn0B3jZksWGDIK7cIaGCI55ENCGlt0GCI54ExOGkIbtAgLMDfjPz2H0odSkicbYzxr1CM4GCIaQifbHy2TvChnJywXLoWP9cGPMBg9HDcb1BNbHy2Tsr0jbvg9ezxb0AcHJB25ZDcbPBIb2zwm0ihyPihSkicbYzxr1CM4Gzg90khySifvUCgfJA0zHy3rVCNmPoWP9cGP2zwm0ihbHy2SYsgfSzLrVuKDcqsH2zwmYihyPihSkicb2zwm0ihiGpsb2zwm0khyUEcWGzNjHy3qODI54icOGmJu1lJaPlcb2lNKSigzYywn0khyUEsaQidi1ns4WksK7cIaGCMv0DxjUihzLyZqOCI54ic0GCI55ic8GmJu1lJaSihiUEsWGCI56ic0GCI53ic8GmJu1lJaSihiUDYK7cN0kDMvJmIb1BNbHy2Tsr0jbvg8YsgfSzIH2zwm0ihyPihSkicbYzxr1CM4GDMvJmIH2lNGGkYaODI55ic8GmJu1lJaPlcb2lNOGkYaODI53ic8GmJu1lJaPktSkFqOkzMXVyxqGDMLLD1PuB09YDgHVz3jHCgHPy0rLChrOkgnVBNn0igLUigzSB2f0ihzPzxDAlcbJB25ZDcbPBIbMBg9HDcbUzwfYlcbJB25ZDcbPBIbMBg9HDcbMyxiPihSkicbYzxr1CM4GkhzPzxDAicSGBMvHCIKGlYaOBMvHCIaTigzHCIK7cN0kzMXVyxqGB3j0Ag9NCMfWAgLJrgvWDgHuB1zPzxDAkgnVBNn0igLUigzSB2f0igXPBMvHCKnSAxbAlcbJB25ZDcbPBIbMBg9HDcbUzwfYlcbJB25ZDcbPBIbMBg9HDcbMyxiPihSkicbYzxr1CM4GBgLUzwfYq2XPCfOGkIaOBMvHCIaTigzHCIKGlsbUzwfYoWP9cGPMBg9HDcb2Awv3wLrVugvYC3bLy3rPDMvezxb0AcHJB25ZDcbPBIbMBg9HDcb2Awv3wIWGy29UC3qGAw4GzMXVyxqGBMvHCIWGy29UC3qGAw4GzMXVyxqGzMfYksb7cIaGCMv0DxjUicGOBMvHCIaRihzPzxDAksaQigzHCIKGlYaOkgzHCIaTig5LyxiPicOGDMLLD1OPoWP9cMzSB2f0ihbLCNnWzwn0AxzLrgvWDgHuB1zPzxDAkgnVBNn0igLUigzSB2f0igLUDKnSAxbAlcbJB25ZDcbPBIbMBg9HDcbUzwfYlcbJB25ZDcbPBIbMBg9HDcbMyxiPihSkicbYzxr1CM4Gkg5LyxiGkIbMyxiPic8GkcHMyxiGlsbUzwfYksaQigLUDKnSAxbAic0GzMfYktSkFqO','Eg1HEa','whL6sw1Hz2vYEvbYB3zPzgvY','yxzHAwXHyMLSAxr5','yMXHy2TbBMrxAgL0zuvMzMvJDa','DMvYDgv4qwrZB3jWDgLVBG','Bg9KCW','y29YCMvZCg9UzgLUz0vSzw1LBNq','6k+35Rgc5yE66zsz','DhjZ','xZb4mZCWodfM','Cg9ZAxrPDMvA','zhjPBgXqAwnR','x3jLBw92zunOAwXKr3jHCgHPyW','x29Uq2XVy2TuAwnRsgfUzgXLCG','BgLUzxm','y2vZAxvTlwjHC2vmyxLLCLbPy2TLCI1PDgvTtgfIzwW','zw1PDhrLCK1VzgvStwf0CML4','DgLSzunHy2HLu2L6zq','y3jLyxrLsw1Hz2vYEvbYB3zPzgvY','DMvJx2u','x3nW','C3bSAxq','x+INHUINKUwiH+AnOG','C2HHzgvYu291CMnL','x3rPBgvZzxrgBg9Vza','ug9SEwXPBMvdB2XVCKfWCgvHCMfUy2u','z2v0r3jHCgHPy0j5swq','qxjJr0Ltia','AxntDg9Wsw5JBhvKzwq','x3bHz2vjBMrLEa','rvbtrZO0nte0','x2rYyxDbzgrfDMvUDfr5Cgu','AxniAwDOBgLNAhrPBMC','5y+Z5yE76i+C5y2v5yIG6zMK','z2v0tw9UDgG','tMLNAhrwAxnPB25fzMzLy3q','DMLLDW','CxvLCNLcAwn5y2XPBMC','qxjJr2LZv2zZtgf5zxi','u2nYzwvUu3bHy2vfDMvUDfr5Cgu','BMf2AwDHDgLVBKHLBhbcDxr0B24','ywrKq29SB3jtDg9W','x2vKAxrPBMDFzw50Axr5','tM9YDgHPBMCGyxqGzMfSC2uGB3jPz2LU','x3jLBw92zvbPDa','CMDIkdiXlcaYmdKSidi0mIK','x2zPCMvuyxjNzxrFy2XVC2u','x2DLDerYyxDfBNrPDhLtDhLSzq','x21HEfjHBMDLtgvUz3rO','x3vWzgf0zurVBuLUBMvYshrTBa','C291CMnLCZm','z2v0q2fTzxjHvMLLDW','AgLNAer5BMfTAwnsyw5Nzq','ChG7B3zLCMzSB3C6AgLKzgvUo21HCMDPBJOWoYiGC2nYB2XSAw5NpsjUBYiGzNjHBwvIB3jKzxi9iJaIid48l2LMCMfTzt4','Ahr0CdOVl2fWAs50AwfUzgL0Ds5NB3yUy24VDJiVC2vHCMnO','BwLUAw11BuXLDMvS','AgfZvg9VBhrPCa','CMvWzwf0x3K','CM9VDa','CMvZDg9Yzq','C2v0ugL0y2G','BxvSDgLWBhLuCMfUC2zVCM1HDgLVBG','zxHHy3q','x2XHC3rFCg9ZAxrPB24','ywrKq2HPBgrZvg9nyxa','C3bHy2LUzW','zM9YD2fYza','z3jLyxrLCG','CgvYC3bLy3rPDMu','vZDys1C3DKjWtw5JC2e','yMfJA2DYB3vUzeLTywDL','z3jHCgHPy3m','Aw50zxjwywW','Ew1HEa','y2fSBgjHy2S','Aw5Zzxj0qMvMB3jL','x3jLBw92zunHBgXIywnRrNvUyW','DxbKyxrLtwf0CML4mG','D2LUzg93ug9ZAxrPB24','BxvSDgLWBhLcEvbVAw50qxnwzwn0B3i','DgLSzxnwAxnPDgvK','CMvZDgfYDa','uMvMBgvJDgLVBLDHDgvY','tgf0tg9Uz0jVDw5KAw5NqM94','CgfYzw50u2vSzwn0zwq','Dg9pyMPLy3q','C2vJDgLVBG','DxbKyxrLtwf0CML4','yxPP','ChG7cIaGls10zxH0lwnVBg9YoIa','x2rHDgftB3vYy2u','zNjVBvvUAwzVCM1ty2fSzq','x2n6BunVBNrYB2XlzxK','sw9U','CM90yxrPB24','x2fWCgvUzeH0BwXiB29R','Bwf4Aw11BuXLDMvS','CM5InZi','x2XHC3rFAgfZtNvSBa','Axnszxn0B3jLug9ZAxrPB25Z','x2DLDfzLy3rVCG','zgLZywjSzq','C3rYAw5N','zgLZDg9YDgLVBG','x2rVBwvgCM9UDenVBw1HBMq','BgfIzwXizwLNAhrtDhLSzq','Ahr0Chm6lY9HCgKUBwfWlMjHAwr1lMnVBs9WBgfJzs92mI9ZzwfYy2G','C2LUCM90','DxbKyxrLqxr0CKzVCKrYyxDPBMC','x2LUAxruAwXLC2v0rMXHDa','DL9WB2XLx3m','zMLSztO','x2HHC1rLCNjHAw5tAgfKB3DZ','Cg9ZAxrPDMvz','Ahr0Chm6lY9HCgKUBwfWlMjHAwr1lMnVBs9WBgfJzs92mI9KzxrHAwW','z3jPza','AxbVza','x2nVBNrVDxjxAwr0Aa','yxv0B1rPCa','z3jPze5VzgvdB3vUDa','vfjbtLnmvunftLq','zMX5vg9cB3vUzgLUz1nWAgvYzq','DhjHBNnSyxrL','AwjV','x3vWzgf0zuvUDgL0Eu9WywnPDhK','BMf2AwDHDg9Y','zgLTzw5ZAw9UC196','y29SB3i','zNvSBhnJCMvLBKj1DhrVBG','x2nVBg9Yx2fSCgHH','Aw5Uzxjive1m','x2LUAxrmyxLLCG','CMvMzxjLBMnLrNjHBwu','Dg90ywXdB2XVCIaRpsbNzxrtCg90tgLNAhruB3rHBenVBg9YtwfYCZnekg5VCM1HBevdlcbWB3nPDgLVBKvdlca','y29TBwfUza','ywn0AxzHDgvfzgL0','x2HKCG','z3jHCgHPy0XHEwvY','5PI+56s65lIj6kEs572r','x21HCNmZzf9SyxLLCKLK','ChjVAMvJDgLVBLbPy2TLCG','C3rHCNrdB2XVCG','5AgR5PA55l2t56EV','x2vKAxrqB3nPDgLVBNniB29R','y2L0EwXPBwL0','AMfRyxj0yq','qxjJr2LZq2fJAgvmyxLLCG','Bw91C2vpDMvY','x2XVywrFzgf0yq','zwfZAw5NrNvUy3rPB24Y','Dg9dC3ndB2XVCLn0CMLUzW','tuLereXfx0rsquC','Bw92zvjPz2H0','z2v0twf0CML4mW','zMLSBfjLy3q','zgvMyxvSDerHDgvgB3jTyxr0zxi','twvHC3vYzufYzwe','AxnnDwX0Au1HEa','zMeGzMeTC291BMrJBg91za','vu5msvq','vu5jvf9A','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXmsaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','zxzLBNruExbL','Ahr0CdOVl21HCNmZzc5JBG','x3rLEhrtDhLSzxm','u2vJDgLVBK1Lyxn1CMu','x2DLDen1C3rVBvnOywrLCL9nyxnR','B2zMC2v0tgvMDa','C3vJy2vZCW','Cgf1C2vdyw1LCMfwAwv3tgLZDa','y29UDMvYDfrVuMvMzxjLBMnLrNjHBwu','Bw9KzwXq','y2LYy2XLug9PBNrZxZi','z2v0sgvPz2H0','EMGTsgfUCW','yxv0B3bSyxK','5QIQ5yIh6z2I56EV','x2DLDfzHBhvL','sw1Hz2vuExbL','x+wfGEIUUoI/M+wfPEwCSos4IW','AxnqB2LUDa','zgLNvM9SDw1L','yMXVB21uzxH0DxjL','C3rYzwv0vMLLDW','C2LUBgf0ma','DhjPBq','x21VCNbOq29TCgXLDgviyw5KBgvY','ntaL','x21HCf9LEhrLBNrdAgfUz2viyw5KBgvY','y2XVy2Tsyw5Nzq','x3jLBw92zuDYyxbOAwm','Cg4X','zw5KrhjHDW','x29Yz2LUq2vUDgvYug9ZAxrPB24','CgLJA0LK','x+s/RUAuUEwUVEw6PG','BgLNAhrtAgfKB3DnyxbdDwjL','CMDIysGYocWYnsWXmJuSmc45osK','Dv9TyxjZm2rFzMXHDf9TyxrYAxG','x2HPz2HSAwDODefSBa','zgvSDge','Bwf4Aw11BvnPEMvy','C2v0tgfUz1rLEhq','D2HLCMu','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3y1l2rPCMvJDgLVBI9IAwn5y2XPBMC','Dw5PzM9YBsbZyw1WBgvYq3vIzsb1x2n1yMvnyxa7cNvUAwzVCM0GC2fTCgXLCKn1yMuGDv9JDwjLtwfWmJSkDw5PzM9YBsbZyw1WBgvYq3vIzsb1x2n1yMvnyxaZoWP1BMLMB3jTigzSB2f0ihvFC2vSzwn0oWPPBIb2zwmZihzFDgv4q29VCMq7cGP2B2LKig1HAw4Oksb7cIaGDMvJncbMCMfNq29SB3i7cIaGAwyODv9ZzwXLy3qGpd0Gmc4Wksb7cIaGicb2zwm0ignVBg9Yid0Gy3PTx3rLEhr1CMvdDwjLkhvFy3vIzu1HCcWGBM9YBwfSAxPLkhzFDgv4q29VCMqPktSkicaGigzYywDdB2XVCIa9ihzLyZqOy3PTx2DHBw1Hq29YCMvJDcHJB2XVCIKUCMDIlcbJEM1FBw9YCgHuAw1LktSkicb9igvSC2uGAwyODv9ZzwXLy3qGpIaWlJaGjIyGDv9ZzwXLy3qGpd0Gms4Wksb7cIaGicaVlZaUmowiSdeUmaOGicaGDMvJncbJB2XVCIa9ign6Bv90zxH0DxjLq3vIzsH1x2n1yMvnyxaSig5VCM1HBgL6zsH2x3rLEenVB3jKksK7cIaGicbJB2XVCIa9ihzLyZqOy3PTx2DHBw1Hq29YCMvJDcHJB2XVCIKUCMDIlcbJEM1FBw9YCgHuAw1LktSkicaGihzLyZqGy29SB3jnyxjZm0qGpsbJEM1FDgv4DhvYzun1yMuODv9JDwjLtwfWmIWGBM9YBwfSAxPLkhzFDgv4q29VCMqPktSkicaGignVBg9YtwfYCZneid0GDMvJncHJEM1Fz2fTBwfdB3jYzwn0kgnVBg9YtwfYCZneks5Yz2iSign6Bv9TB3jWAfrPBwuPoWOGicaGzNjHz0nVBg9Yid0GBwL4kgnVBg9YlcbJB2XVCK1HCNmZrcWGDv9ZzwXLy3qPoWOGih0GzwXZzsb7cIaGicaVlZ49ms4WcIaGicb2zwm0ignVBg9Yid0Gy3PTx3rLEhr1CMvdDwjLkhvFy3vIzu1HCdiSig5VCM1HBgL6zsH2x3rLEenVB3jKksK7cIaGicbJB2XVCIa9ihzLyZqOy3PTx2DHBw1Hq29YCMvJDcHJB2XVCIKUCMDIlcbJEM1FBw9YCgHuAw1LktSkicaGihzLyZqGy29SB3jnyxjZm0qGpsbJEM1FDgv4DhvYzun1yMuODv9JDwjLtwfWmYWGBM9YBwfSAxPLkhzFDgv4q29VCMqPktSkicaGignVBg9YtwfYCZneid0GDMvJncHJEM1Fz2fTBwfdB3jYzwn0kgnVBg9YtwfYCZneks5Yz2iSign6Bv9TB3jWAfrPBwuPoWOGicaGzNjHz0nVBg9Yid0GBwL4kgnVBg9YlcbJB2XVCK1HCNmZrcWGDv9ZzwXLy3qGlsaXlJaPoWOGih0kicbVDxrFrNjHz0nVBg9Yid0GzNjHz0nVBg9YoWP9cG','reLsrunusu9ox1jjr0Hu','x2DYyxbOAwm','y29UDMv4','z2v0qxr0CLzHBa','CgfNzv9ZAxPL','CgLJA0LTywDLCNLmyxLLCKzLyxr1CMvZ','BwfZA0XLBMD0Aa','CMvNAxn0zxjuzxjYywLUuhjVDMLKzxi','C291DgHLyxn0q2HPBgq','ruXmsvbtt0Le','zgvMAw5PDgLVBKnOyw5Nzwq','CgLJA0HLAwDODa','vu5jvf9z','x21PBMLTDw1mzxzLBa','y29SB3jty2HLBwu','z2v0q2X1C3rLCKXPC3q','BM9YBwfSAxPL','q2vZAxvTm0ruAwXLugfZC1n0yxrL','qxjJr0LtvgLSzwrfBgv2yxrPB25uzxjYywLUuhjVDMLKzxi','B2zMC2v0v2LKDgG','x19JCMvHDgvK','x3nOB3C','qMfZzuDYyxbOAwm65lI65lQg6yg/5ywn5BYc5BI46zEU6Aky77Ym6k+35Bcg5zU+5Bgc5RE75yQG5yIWtwfW5lIk5yAn6l+B6kgm5RE75yQG55+I6yEp5PwW5O2U55Qe5Pon5l2C77Yb','x3bVChvWug9ZAxrPB24','x29YyML0vgLJA0z1BMn0Aw9U','x3nOywrVD01HCe1HDhjPEa','CMvZB2X1DgLVBG','BMfTzq','C2HVD1bSyw5L','C2nYzwvUu3bHy2vdyw1LCMfdB250CM9SBgvY','ndq2lJq0ocWTmti1lJe1nYW1ndiUmdyWldaUmtuWmIWWlJi0nZaSmc44ndiXlc0Ymc40odK0','vgLSzxnLDfbSyw5dBgLW','x2nVBNrHAw5LCKj0BLn0yxj0','z3jPzhm','y3jLyxrLsw1Hz2vYEvbYB3zPzgvY77YA5A2y5zYO5PYQ6k+g5yIR55Qe5zU+5Bgc','q29SB3i','s21Srgf0yvnVDxjJzq','C2v0t3b0Aw9UCW','Cg9ZAxrPB25Zx21VzgvS','q2fTzxjHsw5MBW','Eg1PBG','Dgv4DhvYzvrYyw5ZBgf0Aw9Uqw5Ku2nHBgu','x2DLDeXHDgvSEvzHBhvL','rgf0yvnVDxjJzurPC3bSyxK','ChGPihrYyw5ZBgf0zvKO','x2DLDev2zw50qNLuExbL','C3vIzg9TywLUsxrLBq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteWmIaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','zgLZDgfUy2u','q29TCg9Uzw50rgf0yxr5Cgu','zNjVBvf1yxrLCM5PB24','x+wnLEwhU+w8GowNI+E7MowiTG','57Yw6l6r5PE2x21HCos4JEIdVEs4UUEPUIZOR7FLSiBLR7NOSAhMT7VLIQdLIldLM77LSylVViZLUBBKUjtLM77LSylLT7lMT7VLIQdLIlbnyxa','Cg9PBNrmAwDODfjHzgL1CW','v0DtidCY','C3rYAwrLsw5cExrLCW','x2LZtgvMDerVD24','zwfZDe5VCNrOvxbuB0zPEgvKrNjHBwu','zNjVBvjVDgf0Aw9Uwa','x3nTywXSvg9VBhrPCa','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMzSB2f0ig1HCNnZDgvWCgLUzYHMBg9HDcb0ksb7cIaGAwyODca8idaUkqOGicaGCMv0DxjUic0XlIaRihbVDYGXlIaRihqSidiUktSkicbLBhnLcIaGicbYzxr1CM4Gms4GlsbWB3COms4Glsb0lcaYlIK7cN0kcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIb2vxyGpsbTyxrLCMLHBeLUChv0lNn0oWOGihzLyZiGDxyGpsaYlIaQihzvDI54EsaTihzLyZiOms4SideUktSkcIaGDxyGkJ0GmI4WoWOGihzLyZqGy29SB3jnyxjZm0qGpsb2zwm0kdaUktSkicb1DIa9ig5VCM1HBgL6zsH1DIKGkIbSzw5NDgGODxyPoWOkicbMBg9HDcb0Aw1Lid0Gy3PTx2zYyw1LtNvTyMvYic8GC3bLzwq7cIaGzM9YkgzSB2f0igKGpsaWlJa7igKGpcaXmI4WoYbPkZ0XlJaPihSkicaGigzSB2f0ihqGpsb0Aw1LicSGAsaQidmUmtqXntKYic8GmtiUicOGkduUicSGms4GkIbTyxjZC3rLChbPBMCOC2LUkhrPBwuGkIaZlIKPktSkicaGihzLyZiGCca9ihzLyZiOy29ZkhqPlcbZAw4ODcKPoWOGicaGCcaQpsbJB3mODgLTzsaRigKGkIaZlJe0mtu5mIaQignVCYH0Aw1Lic8Goc4PktSkicaGihzLyZmGy29Sid0Gy29ZkhzLyZmOmcWGmsWGltePicOGmY4Xnde1otiGkIaYlIaVidmUicSGmY4Xnde5mJuGkIaODgLTzsaVidiUicSGAsaViduUksKGkIaWlJuGkYaWlJu7cIaGicbJB2XVCK1HCNmZrcaRpsb2zwm0kdaUmduGlYbSzw5NDgGODxyGlsbWicOGmc45ksaQignVBcWGms4WktSkicb9cIaGy29SB3jnyxjZm0qUEhL6id0GCg93kgnVBg9YtwfYCZnelNH5EIWGDMvJmYGZlIKPoWOGignVBg9YtwfYCZnelNCGpsaXlJa7cGOGihzLyZqGyMfZzunVBg9Yid0GDMvJncHJB2XVCK1HCNmZrc5Yz2iGkYbJB2XVCI5Yz2iGkIaYlJaSignVBg9YtwfYCZnelNiGkIaWlJiPoWOGig1HDgvYAwfSlMfSCgHHid0GyMfZzunVBg9YlMeGkIbNBg9IywXbBhbOytSkicbTyxrLCMLHBc5KAwzMDxnLid0GyMfZzunVBg9YlNjNyJSkcIaGCMv0DxjUig1HDgvYAwfSoWP9cG','BgLNAhq','Cg9PBNrq','Bgf0mG','yMfJA3DHCMrfEhrYyxbVBgf0Aw9UvhLWzq','ywz0zxjXDw90zq','y3jLyxrLswzozwvKzwq','q2fTzxjHrxzLBNruExbL','DhjHBNnA','5PI+56s65PIF56M66iom5PMV','r2fVzgvjBwfNzxj5uhjVDMLKzxi','x2vUywjSzwrnB3zLvgfYz2v0','DgLSzxm','Aw5LCNrPyvrYyw5ZBgf0zq','Aw5KAwnLCW','twf0Aa','z2vVBwv0CNLoyw1L','zw50Axr5','y29UDgv4De1LBNvdBgLJAW','C2v0tgf5zxjtCgXPDerPCMvJDgLVBG','z2v0tgf5zxjZqNLbDhrY','vgLSzxnLDenSAxa','x29IAMvJDhnuB0v4y2X1zgu','cIaGpgrPDIbJBgfZCZ0IBwfYCZnKlwrPDKjVzgvYtgfIzwWIihn0EwXLpsikicaTlxrLEhqTzM9UDc1ZAxPLoIa','x2f1Dg9tDhLSzq','z2v0qxjJug9PBNrZ','CMf5ugXHBMu','z2v0vgvTCgXHDgviDg1SoUAEHoMaOgfSBoAxTUw8GUw4Ua','r2vVy29Kzvr5Cgu','Bgf0','tMf2AwDHDgLVBKHLBhbcDxr0B24','z2v0uMvJDgfUz2XL','vMvSB2nPDhLpCMLLBNrHDgLVBLbYB3bLCNr5','x3zPC2LIBgvdB2XVCG','5yc+5PAC6kEg5zU+','5ywZ6zET5lQU5BQM','zw5Krgf0zq','C3rVCe1VDMvgB3j3yxjK','q3LSAw5KzxjxyxzL','ve9q','x2jHC2vdB2XVCG','BgLNAhrdB2XVCG','zgvIDwDfEhrLBNq','AxndBg9JA1DPC2u','y2XVC2vqB3b1Ca','x3jLC291CMnL','mtbWEa','AwrLBNrPDhK','zhvYyxrPB24Z','q29SB3jnyxrLCMLHBfbYB3bLCNr5','x2nSyw1Wvg9uAwXLC2v0','x+EjUEAvIoAvIoAENa','C2HPBNK','x2vUywjSzwrfzgL0','Bwf0CML4','x3jLCgXHy2vgCMfNBwvUDfnOywrLCLnVDxjJzuj5u3r5Bgu','B25TB3vZzw92zxi','zhjHD1nOB3DnzwfZDxjL','vu5qqunlx0npte9su1bbq0vFq09ovKvsu0LptL9xrujhta','AgLKzgvUqxjLyunVBg9Y','yMfJA2DYB3vUzenVBg9Y','zxHWsw1Hz2u','tuDsu1bVAw50igjHzcbJB252zxjZAw9UigzYB206ia','Cg9WDxa','x2n6BunVBNrHAw5LCKTLEq','rwXSAxbZB2LKv2f2zq','CMvWBgfJzunHy2HL','y29TChv0zurPC3rHBMnLvg9uAwXL','z3jHzgf0Aw9UCW','x3vWzgf0zuXHyMvSt3bHy2L0Eq','nZaSmtGSmtm0lduX','BgfT','zNHHyq','DMLZAwjSzq','q2fYDgvZAwfUmW','zw5Kq29SB3i','EYj4iJOTmtGWlcj5iJO5mh0','y29UDgv4Dg1LBNu','y29YCMLKB3jtDhLSzunVBNzLCG','wKvstW','z3jVDw5KuhjPBwL0AxzLq29SBgvJDgLVBG','zgvUC2L0Eq','DMvJx3O','AK0Xv3L0sW','x2DLDfbPy2Tjzhm','yMLSBgjVyxjKua','ywrUyw1L','z2v0qxPPBxv0Aa','yxjJx3O0ndKW','tgLUzvn0CMLUzW','vgLSzu1HCfnLCNzPy2vjBwfNzxj5uhjVDMLKzxi','x3bSyw5Lqw5NBgu','z2v0uMvJDfbVC2L0Aw9UC0j5q2vUDgvY','zMX5vg8','x+wfRoMHTW','z2v0r2XVyMfSswq','x2LZqwn0AxzHDgu','x25VrgvZDhjVEq','x3n0yxj0tw91C2vqB3nPDgLVBG','B25SEvbPy2TnB2rLBfbVC2L0Aw9U','v2vItwvYy2f0B3jqCM9Qzwn0Aw9U','AxndB25ZDgfUDa','BgfIzwXtDhLSzunVBNzLCG','zgvMyxvSDfrPy2TZ','zMeGzMeTDhjHC2GTBW','x2nYzwf0zvbSyw5LqNLmAw5L','B2zMC2v0qxr0CMLIDxrL','ywrKrwzMzwn0','r2vVBwv0CNK','q3PTBerHDgftB3vYy2u','CgfYyw1Z','Dw5PzM9YBsbIB29SihvFBwfYCZnKx2nVBg9Yy29YCMvJDgLVBL9LBMfIBgvKoWP1BMLMB3jTigzSB2f0ihvFBwfYCZnKx2nVBg9Yy29YCMvJDgLVBL9ICMLNAhrUzxnZoWP1BMLMB3jTigzSB2f0ihvFBwfYCZnKx2nVBg9Yy29YCMvJDgLVBL9JB250CMfZDdSkDw5PzM9YBsbMBg9HDcb1x21HCNmZzf9JB2XVCMnVCNjLy3rPB25FC2f0DxjHDgLVBJSkDw5PzM9YBsbMBg9HDcb1x21HCNmZzf9JB2XVCMnVCNjLy3rPB25FAhvLoWOkDM9PzcbMCMfNBwvUDe1HAw4OrNjHz21LBNrjBNb1DcbMC0LUChv0lcbPBM91DcbJEM1FBw9KzwXnyxrLCMLHBcbTyxrLCMLHBcKGEWOGigLMkhvFBwfYCZnKx2nVBg9Yy29YCMvJDgLVBL9LBMfIBgvKksb7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GBwL4khzLyZmOmc4WksWGBwf0zxjPywWUzgLMzNvZzsWGDv9TyxjZm2rFy29SB3jJB3jYzwn0Aw9Ux2jYAwDODg5LC3mPoWOGicaGBwf0zxjPywWUzgLMzNvZzsa9ig1PEcH2zwmZkdaUnsKSig1HDgvYAwfSlMrPzMz1C2uSihvFBwfYCZnKx2nVBg9Yy29YCMvJDgLVBL9JB250CMfZDcK7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0Gy3PTx2H1zsHTyxrLCMLHBc5KAwzMDxnLlcb1x21HCNmZzf9JB2XVCMnVCNjLy3rPB25FAhvLktSkicaGig1HDgvYAwfSlMrPzMz1C2uGpsbJEM1FC2f0DxjHDgLVBIHTyxrLCMLHBc5KAwzMDxnLlcb1x21HCNmZzf9JB2XVCMnVCNjLy3rPB25FC2f0DxjHDgLVBIK7cIaGFqP9cG','AgvHzfrHAwXgywn0B3i','vMLZAwjPBgL0Eq','C2nHBgu','y2XVBMvqCM9Wzxj0Eq','BwfYC09Jy2X1C2LVBG','Dv9ZAg93sw50zxjZzwn0Aw9U','ug9PBNrdBg91zdnevgLSzunVBNrLBNq','ChjVCgvYDgLLCW','x2rPCMvJDgLVBL9Syxn0','CMvJDgfUz2XLua','x2zWC0zYyw1Lq291BNq','C3rYB2TLu3r5Bgu','ig5VDcbOyw5KBgvKoIa','Bgf5zxi','vu5tsuDorurFu0HpuLq','DgfYz2v0ug9ZAxrPB24','zwrPDeHLAwDODa','y2XVBMu65yE66zsz5lQg','y2vZAxvTlxzPzxDLCI12CKnVBNrHAw5LCG','C2vSzwn0zwrjBMrLEa','qNjb','5zY65PMV6k6+572U','y2XLyxi','x3LFzgLYzwn0Aw9U','5PU05AsA5yQF6io96k+35y+Z5yE7','zMeGzMeTBw9VBI1V','5zU+5lIk5Qch6k6WlMPZB24','qL9Yzq','CM91BMq','re9orq','z2v0qM91BMrPBMDcB3G','yMfZzvzHBa','6BYG5Qch5Pon5l2C','C3rHCNreCMf3','zNjVBurHDgu','thvUzq','ywrKsw1Hz2vYEvbYB3zPzgvY','z2v0qMLUB21PywXgywn0B3i','su5jveLbteLAruq','ue9jtLrt','AgfZqwXWAgfdAgfUBMvS','y2XPChbLzej5qM91BMrHCMLLCW','Bg5N','EJq0ota','CMv0DxjUr2vVBwv0CNK','CMvNAxn0zxjjBwfNzxj5uhjVDMLKzxi','Dg9ku09o','yM90Dg9T','zMfKzuzHy3rVCG','v01uuW','y2fJAgvcExrLCW','x2nVBNzLCNnPB25tDhLSzq','v2LKz2v0CY9jBwfNzxmVvgvYCMfPBLbYB3zPzgvYCY9fBgXPChnVAwqUCg5N','ywrKCMvZCW','x3vZ','x2n1CNjLBNrjBMrLEa','C3rVCevKAxrPBMDhCMLK','x2fYCM93sw5ZDgfUy2vZ','x2zYyw1Lu3rHDgu','y2vZAxvTm2ruAwXLC2v0t3b0Aw9UCW','sgvPz2H0uMvMzxjLBMnL','nxL3sZzSqvG1ExDqnuiRytu0swS','BwfZA1rLEhr1CMu','E3H9','yMLUzfbPy2Tjza','yxjLyu1Lyxn1CMu','Aw50zxjqB2X5z29Ut2jQ','x3zPzxDnyxrYAxG','z2v0u3vYzMfJzvrLCNjHAw5izwLNAhq','rg91yMXLx1n0zxjLB2DYyxbOAwm','x2nVBg9YCW','twf0AerPC3rHBMnL','q0DduZiWmdbFr0TFq01FnG','tgf5zxi','yxHPCW','i2v4DgvUC2LVBIbhtf9prvnFC3rHBMrHCMrFzgvYAxzHDgL2zxmGoIbLBMfIBgukcNzVAwqGzNjHz21LBNrnywLUkezYywDTzw50sw5WDxqGzNnjBNb1DcWGAw5VDxqGy3PTx21VzgvStwf0zxjPywWGBwf0zxjPywWPihSkicbPzIHLBMfIBgvKksb7cIaGicb2zwmZihbVC2L0Aw9UrumGpsbMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25fqZSkicaGihzLyZqGCg9ZAxrPB25nyxjZm0qGpsbUB3jTywXPEMuOy3PTx2LUDMvYC2vwAwv3icOGDMvJncHWB3nPDgLVBKvdlcaXlJaPktSkcIaGicb2zwmZigr4id0GzezKEcHMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25fqYK7cIaGicb2zwmZigr5id0GzezKEsHMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25fqYK7cIaGicb2zwmZig5VCIa9ig5VCM1HBgL6zsHJCM9ZCYHKEcWGzhKPktSkicaGihzLyZmGBM9YBwfStwfYCZneid0GBM9YBwfSAxPLkgn6Bv9PBNzLCNnLvMLLD1jVDgf0Aw9UicOGBM9YktSkicaGigzSB2f0igrVDe51Bu1HCNmZrca9igrVDcHWB3nPDgLVBK1HCNmZrc54ExOSig5VCM1HBe1HCNmZrcK7cIaGicbPzIHKB3roDw1nyxjZm0qGpd0Gmc4Yksb7cIaGicaGig1HDgvYAwfSlMrPzMz1C2uGpsbTAxGOBwf0zxjPywWUzgLMzNvZzsWGDMvJmYGXlJaPlcbHBhbOysaQidaUmIK7cIaGicb9igvSC2uGEWOGicaGicbTyxrLCMLHBc5KAwzMDxnLid0GBwL4kg1HDgvYAwfSlMrPzMz1C2uSihzLyZmOms4WksWGzg90tNvTtwfYCZneicOGywXWAgePoWOGicaGFqOGih0kFqO','C2XVCgvsyw1Wtwf0zxjPywW','y29UDgfPBNm','B3v0BgLUzu9WywnPDhK','Dv90zxH0DxjLCW','yxnPBG','r2vVsNnVBKXHEwvY77YA5RkH5PYj5lYG5ywLihvYBcdMIjyGzgf0ysdLJ4lMLBaS6k+356gU6k6K5PIV5zcM5PYj6k+V44cc','x3bVC2L0Aw9UC19JAxjJBgvFEa','v0DtnW','reLtqujmruq','x21Lyxn1CMvfEeXPBMu','x2LUAxrnzwfZDxjLtgfIBgu','ChHxv3bb','icbSAwTLicCL','x3bPDgnOv2HLBKXLzNrdBgLJA2vK','wL9uuKfou0XbveLptL9dt0XpuG','zNjVBvjHzgLHBNm','zhjHz2DLCNm','CgfYyw1LDgvYCW','x29YyML0tw91C2vnB3zLrNvUy3rPB24','Cg9SEwXPBMvq','Ee9MzNnLDa','yMjVEa','CMvWBgfJzw1LBNrozxH0','y29Uzq','x2rLzMf1BhruzxjYywLUuhjVDMLKzxi','ug9SEwDVBKvUDgL0Eq','zgLZDhjPy3q','DMvJx2q','zM9YD2fYzev4DhjHCg9SyxrPB25uExbL','ms4ZlJa','khzHBcK','Dv9TyxjZm2rFC25HA2vFCMfUz2vmzw5NDgG','Bg93','x3n0yxj0sNvSAwfU','x3bVAw50vhLWzq','x2fUAw1HDgLVBG','AgfZug9WDxa','x2zSyxrizwLNAhq','Bgf5zxjtAg93BK9YsgLKzgvU','C3rHCNruAw1L','ChjVy2vZC0LTywDLCNK','BgLZDa','vLjcDxr0B24','x292zxjSyxLdB21Tyw5KtgLZDa','x3vWzgf0zq','CgLWzwXPBMu','x21VzgvS','CxvVDgvK','BMvNyxrPDMvA','5ywZ6zET5AsC6kEg','wL9vuf9ut19yx1vq','mtaWmda','uMvMzxjLBMnLrNjHBwu','zMeGzMeTCMvVCMrLCG','5PYQ5Ase55cg55Qe5BgE5OcN','DM9PzcbTywLUkcL7Fq','x2DLDfrPBgvfDMvUDfbHCMfTCW','y3jLyxrLtgLUzwfYr3jHzgLLBNq','x2nHBMnLBe1VDMvuBW','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptG3icTRpteGk3HFmd0YotuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','z2v0qNLbDhrY','iZaWmwuWzG','vgvYCMfPBKnSAxa','CgfNzq','z2v0vgvTCgXHDgviDg1SoUAGVow8J+wmLUwhUUMuMq','Ag9ZDg5HBwu','z2v0uMf5rwfYDgHqB3nPDgLVBG','qxjJvhLWzq','D2DZodruB1DPBMrVD0nVB3jKAw5HDgvZ','DxbKyxrLu3rHDhvZ','qMfZzvbVAw50uhjPBwL0AxzL','CMvJDgfUz2XLCW','x3bPy2Tjzhm','CMvTB3zLqxjLyq','y3jLyxrLrgvWDgHpzKzPzwXKu3rHz2u','5zoL5lYM5BIdmI41roINHUwBVG','B3bLBKHPz2HSAwDODa','y29ZCgGW','Cg9PBNqZ','cNvUAwzVCM0GyM9VBcb1x3nOB3DjBNrLCNnLy3rPB247cNvUAwzVCM0GyM9VBcb1x3nOB3DuAhjVDwDOrwXSAxbZB2LKoWOkDw5PzM9YBsbMBg9HDcb1x3jHzgL1CZSkDw5PzM9YBsbMBg9HDcb1x3HiywXMqw5NBgu7cNvUAwzVCM0GzMXVyxqGDv95sgfSzKfUz2XLoWP1BMLMB3jTigzSB2f0ihvFBM9YBwfSrgLYzwn0Aw9UoWP1BMLMB3jTihzLyZqGDv9JB2XVCJSkcMLUihzLyZmGDL9WB3nPDgLVBJSkAw4GDMvJmYb2x3bVC2L0Aw9Uv0m7cMLUihzLyZmGDL9WB3nPDgLVBKvdoWPPBIb2zwmZihzFBM9YBwfSrum7cGP2zwm0igDLDenVBg9YkgzSB2f0ihnLBNnVCLjHzgL1CYWGDMvJmYbWB2LUDevdksb7cIaGy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DdSkcIaGDMvJmYbWB2LUDe1did0Gkgn6Bv9PBNzLCNnLtw9KzwXwAwv3icOGDMvJncHWB2LUDevdlcaXlJaPks54ExO7cIaGBwf0zxjPywXjBNb1Dc5ZDca9ihnLBNnVCJjKvgv4DhvYzunVB3jKAw5HDgvZkhnLBNnVCLjHzgL1CYWGCg9PBNrnqYK7cIaGBwf0zxjPywXjBNb1Dc5ZDhiGpsbWB2LUDe1dic8GC2vUC29YuMfKAxvZoWOkicb2zwmZihbVC2L0Aw9Uvg9fEwvfqYa9ic12x3bVC2L0Aw9Urum7cIaGBwf0zxjPywXjBNb1Dc5WB3nPDgLVBLrVrxLLrumGpsbWB3nPDgLVBLrVrxLLrum7cGOGihzLyZmGBM9YBwfSrumGpsbUB3jTywXPEMuODL9UB3jTywXfqYK7cIaGBwf0zxjPywXjBNb1Dc5UB3jTywXfqYa9ihvFBM9YBwfSrgLYzwn0Aw9UicOGBM9YBwfSrum7cGOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkcIaGBwf0zxjPywWUzgLMzNvZzsa9ihvFy29SB3iUCMDIoWOGig1HDgvYAwfSlMfSCgHHid0GDv9JB2XVCI5HoWOGicaGlY8Gy3PTx2XPz2H0rgLYzwn0Aw9UrupLNkHJzxnPDw0XlJy25BYa5AEl5yQG5ywL55QecIaGCMv0DxjUig1PEcHJEM1FCgHVBMCOBM9YBwfSAxPLkhbVC2L0Aw9Uvg9fEwvfqYKSig1HDgvYAwfSlcbJEM1FBgLNAhreAxjLy3rPB25fqYKSihzLyZqOBwf0zxjPywWUzgLMzNvZzsWGBwf0zxjPywWUywXWAgePlcaWlJqPoWOkFqOkyM9VBcbPC09UqM91BMrHCNKOzMXVyxqGDMfSDwuSigzSB2f0igvWC2LSB24PihSkicbMBg9HDcb3Awr0Aca9igDLDeLUDgvYC2vJDgLVBLDPzhrOkcK7cIaGzMXVyxqGDg9SzxjHBMnLid0GD2LKDgGGkIbLChnPBg9UoWOkicbMBg9HDcbKzwX0ysa9ig1HEcHHyNmOzezKEcH2ywX1zsKPlcbHyNmOzezKEsH2ywX1zsKPktSkicbMBg9HDcbWAxHLBhmGpsb3Awr0AcaQigrLBhrHoWOGigzSB2f0ihrLBxaGpsbHyNmODMfSDwuPoWOGihjLDhvYBIb0zw1WidWGDg9SzxjHBMnLicyMihrLBxaGpcbWAxHLBhmGFhWGkgrLBhrHidWGmtaUmcaQihrVBgvYyw5JzsaMjIb0zw1Wic0GzgvSDgeGpcb0B2XLCMfUy2uGjIyGDgvTCca8ihbPEgvSCYK7cN0kcNzLyZqGC2HHzguOyM9VBcbPC09UqM91BMrHCNKPihSkicbPzIH1x3nOB3DjBNrLCNnLy3rPB24GjIyGAxnpBKjVDw5Kyxj5ksb7cIaGicbYzxr1CM4Gz2v0sw50zxjZzwn0Aw9Uq29SB3iOktSkicb9cIaGCMv0DxjUigDLDenVBg9YkhvFCMfKAxvZlcb2x3bVC2L0Aw9UrumPoWP9cGPMBg9HDcbLBgXPChnVAwrtDxjMywnLrNvUy3rPB24ODMvJmYbWB2LUDcKGEWOGihzLyZmGC2nHBgvKid0Gy3PTx2vSBgLWC29PzeLUDMvYC2vsywrPAsaQihbVAw50oWOGihjLDhvYBIbKB3qOC2nHBgvKlcbZy2fSzwqPic0Gms4WoWP9cGP2B2LKig1HAw4Oksb7cIaGDMvJmYbZzw5ZB3jwzxj0zxHxqYa9ign6Bv9TB2rLBfSZxs54ExO7icaGicaGlY8GkdaUmcWGmc4WlcaWlJaPigLUig1VzgvSignVB3jKAw5HDgvZcGOGigzSB2f0ihbVC2L0Aw9Uwca9ihzFCg9ZAxrPB24UEdSkicbMBg9HDcbWB3nPDgLVBLKGpsb2x3bVC2L0Aw9UlNK7cIaGzMXVyxqGCg9ZAxrPB25Aid0GDL9WB3nPDgLVBI56oWOkicb2zwmZihPeAxiGpsb2zwmZkdaUmcWGmc4WlcaXlJaPoWOGihzLyZmGBgLUzvGGpsb2zwmZkhbVC2L0Aw9UwcWGmcWGCg9ZAxrPB25AktSkicb2zwmZigXPBMvzid0GDMvJmYGWlcbWB3nPDgLVBLKSihbVC2L0Aw9UwIK7cIaGzMXVyxqGCMvZwca9igrVDcHUB3jTywXPEMuOBgLUzvGPlcb6rgLYktSkicbPzIHYzxnyidWGy29ZkhvFEeHHBgzbBMDSzsKGlsaWlJaWmdePihSkicaGigrPC2nHCMq7cIaGFqOGigzSB2f0ihjLC1KGpsbKB3qOBM9YBwfSAxPLkgXPBMvzksWGEKrPCIK7cIaGAwyOCMvZwsa8ignVCYH1x3LiywXMqw5NBguPic0Gmc4WmdaXksb7cIaGicbKAxnJyxjKoWOGih0kcIaGzMXVyxqGzwXSAxbZB2LKvMfSDwuGpsbLBgXPChnVAwrtDxjMywnLrNvUy3rPB24ODL9WB3nPDgLVBLDdktSkcIaGAwyOixvFC2HVD1rOCM91z2HfBgXPChnVAwqPihSkicaGigLMkgvSBgLWC29PzfzHBhvLidWGmc4Wksb7cIaGicaGigrPC2nHCMq7cIaGicb9cIaGicbPzIHPBLnLBNnVCLnOywrVDYHZzw5ZB3jwzxj0zxHxqYWGDL9WB3nPDgLVBLDdksKGEWOGicaGicbKAxnJyxjKoWOGicaGFqOGih0kicbIB29SigLZt25fBgXPChnVAwqGpsbPC09UqM91BMrHCNKOzwXSAxbZB2LKvMfSDwuSign6Bv9LChnPBg9UmYK7cIaGB3v0x0zYywDdB2XVCIa9ihnOywrLkgLZt25fBgXPChnVAwqPoWP9cG','5zY65PMV5yE65zU+xW','x3bYAw1PDgL2zq','z2v0vgLTzq','Aw5PDgLHBfrPBgvZtg9HzgvK','BwfYCZnKlwnVBxbHC3mTCM90yxrPB24TyxjJ','x2DLDezSywDgB3jlzxLdB2rL','zw5HyMXL','x29UvgvYCMfPBKnOyw5NzuHHBMrSzxi','x2zLCNjV','x3jLBw92zuXHC3rnB3zLug9PBNq','x3nJB3bLCW','cIaGicaGihvUAwzVCM0GC2fTCgXLCJjeignVBg9Yvgv4DhvYztSkicaGicaGDw5PzM9YBsbZyw1WBgvYmKqGyMXVB21uzxH0DxjLoWOGicaGicb1BMLMB3jTigzSB2f0ihjHDgLVoWOGicaGicb1BMLMB3jTihzLyZqGy29SB3i7cIaGicaGigLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cIaGicaGihzVAwqGBwfPBIH2B2LKkqOGicaGicb7cIaGicaGicaGDMvJncbJB2XVCJeGpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGicaGicaGihzLyZqGyMXVB20Gpsb0zxH0DxjLkgjSB29Tvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGicaGicaGigjSB29TicO9ignVBg9YidSkicaGicaGicaJAwzKzwyGq1Pnx1nftevdvevex0zfqvrvuKukicaGicaGicaGigLMicHJEM1FC2vSzwn0zwqOksKGEWOGicaGicaGicaGicbIBg9VBsaQpsbYyxrPBZSkicaGicaGicaGih0kicaGicaGicaJzw5KAwykicaGicaGicbVDxrFrNjHz0nVBg9Yid0GyMXVB20GkYbJB2XVCJe7cIaGicaGih0','rgvSyw1ICMuGmtGXmcaOqMvSz2L1BsK','5z2H5BQMoIa','CMvSB2fK','v1bXywDkBgnvBwTmqxDd','C2v0tgLUzurHC2G','CMvTB3zLrgjSq2XPy2S','lteWnIWTodCSmtG4','z2v0rwXLBwvUDej5swq','Cg5HBwu','v0zt','x3vUAwzVCM1Z','x2zPCMvfBMrfzxzUDa','y29YCMLKB3jq','qMXVB21fzMzLy3rzzxm','z2v0t3v0BgLUzq','CgfYzw50','Aw5MB0jVEa','tevgvf9et1vctevFq0Xjq0S','Bgf5zxjjza','zM9N','Bwf4kgnVBNrVDxjnyxrLCMLHBc5HBhbOysWGC2XVCgvsyw1Wtwf0zxjPywWUywXWAgeP','y29ZCgHP','CMvSyxrPDMvbBw91BNq','zM9NqNLeAxn0yw5Jzv9Myxi','yMXVB21uyxjNzxq','x2nSzwfYrhjHD0nVBw1HBMq','DgHPBMC','DgLSzxnszw5KzxjLza','x3jHDgvFDg90ywW','x29YyML0sxnmB29R','zhjHD0fKzev2zw50vhLWzq','wL9uuKfou0XbveLptG','x2nVBNrHAw5LCLrPBwu','sw52ywXPzcbhzw9ku09oig9IAMvJDc4','x2DLDe91DgXPBMvqB3nPDgLVBNm','x3rLCNjHAw5izwLNAhq','DxbKyxrLqxjLyuzVCLrLCNjHAw4','q1rsta','x3rPBgvZzxrdB2XVCKnVCNjLy3rPB24','z2v0qM91BMrPBMDdBgLLBNrszwn0','x3bVC2L0Aw9Ux2rYyxC','BwLKzgXLvxa','y3jLyxrLugLJA0LK','D2LKDgHsyxrPBW','rfH0wK5JtKH4Afb4z2jptffOBvi4oefhn0PoBuTwt08','rvbtrZO0ntm3','x2vUywjSzwrfzgL0r3jPza','ChjVAJruCMfUCW','yMvNAw5qyxrO','C2f2zq','C2v0sgvPz2H0','rvbtrZO0ntaW','Cg9PBNrLCKv2zw50CW','v2vIr0ZLJ5hNLj/MUllMN5pPLjNOR68S5RIY5P+t5BEY57Up5ygC5Q2IloIVT+wiT+AwSoMHTEMDOUoaGG','zxnYAuDLB21LDhj5ug9SEwXPBMu','se9mra','ugfYywXSzwXVz3jHBvbYAw1PDgL2zq','zwfJAeLUC3rHBMnLCW','CMvK','z2v0t3v0BgLUzvbVC2L0Aw9UCW','y29UDgv4De9WDgLVBNm','C3rVCe1VDMvnyxrYAxG','rNjHBwvIDwzMzxi','C2vSzwn0Aw9Usw5KAwnHDg9Y','AM9PBG','yxjYrNHNza','x2jPBgXIB2fYzdjetgLZDa','DhjHBNnSyxrPB24','r2fVzgvqt0KG6k+35Rgc5yE66zsz','yw5HBhLZAxnpChrPB25Z','zMLYC3rqzxjZB25sB2fT','x2rLChrOvgvZDa','twf0zxjPywXbChbLyxjHBMnL','DhjHBNny','x21LBNvjBMrLEa','ywXSx2rPC3rHBMnL','q29YCMLKB3jtDhLSzunVBNzLCG','yxjYsei','q2vZAxvTsw9U','x29YAwDPBG','x3vWzgf0zvbVAw50zxjfDMvUDhm','tuLereXfx0nmsunl','uMfKyxjxyxzL','y2XHC3nPzMLJyxrPB25uExbL','zMLYC3rdAgLSza','zgLTzw5ZAw9UC195','x3bLCNnWzwn0AxzLtwf0CML4','i2rLzMLUzsbgqunfx0zpuLDbuKqk','x3bYB2nLC3ngB3jszw1VDMvmyxLLCG','Aw52zxjZzq','ug9SyxiGu3rLCMvVz3jHCgHPyYaODMfYAwfUDcbckq','twf0CML4mW','y29TCgXLDgu','Cg9PBNqX','x+E7LEATPowKHoEoR+E7LEMJNUIHJa','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTihzLyZqGz2fWq29SB3i7cNvUAwzVCM0GzMXVyxqGzgfZAeXLBMD0AdSkDw5PzM9YBsbMBg9HDcbKyxnOugf0DgvYBJSkAw4GzMXVyxqGDL9WB2X5BgLUzufUz2XLoWOky29UC3qGzMXVyxqGBwfZA0XLBMD0Aca9ide2lJa7cGPTyxqYihjVDgf0zsHMBg9HDcbYywqPihSkicbMBg9HDcbJid0Gy29ZkhjHzcK7cIaGzMXVyxqGCYa9ihnPBIHYywqPoWOGihjLDhvYBIbTyxqYkgmSihmSic1ZlcbJktSkFqOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkcIaGDMvJmIbWB3mGpsbYB3rHDguODL9WB2X5BgLUzufUz2XLksaQigDSx0zYywDdB29Yzc54EtSkcIaGzMXVyxqGzgfZAfbVC2L0Aw9Uid0GzNjHy3qOCg9ZlNGGlYaOzgfZAeXLBMD0AcaQign6Bv9WAxHLBfjHDgLVksK7cIaGzMXVyxqGBwfZA0LUzgv4id0GzMXVB3iOzgfZAfbVC2L0Aw9UicOGBwfZA0XLBMD0AcK7cIaGzMXVyxqGBwfZA1rLC3qGpsbMBg9VCIHKyxnOugf0DgvYBIaVihbVDYGYlJaSig1HC2TjBMrLEcKPoWOkicb2zwm0ignVBg9YtwfYCZneid0Gkg1VzcHTyxnRvgvZDcWGmI4Wksa8ideUmcKGpYbNyxbdB2XVCIa6ignVBg9YoWOGigLMkgnVBg9YtwfYCZnelMeGpcaWlJaWnsKGEWOGicaGzMXVyxqGzgfZAfbVC2L0Aw9UmIa9igzYywn0khbVCY54ic8GkgrHC2Hmzw5NDgGGkIaWlJi1icOGy3PTx3bPEgvSuMf0Aw8PktSkicaGigzSB2f0ig1HC2TjBMrLEdiGpsbMBg9VCIHKyxnOug9ZAxrPB24YicOGBwfZA0XLBMD0AcK7cIaGicbMBg9HDcbTyxnRvgvZDdiGpsbMBg9VCIHKyxnOugf0DgvYBIaVihbVDYGYlJaSig1HC2TjBMrLEdiPktSkicaGignVBg9YtwfYCZneid0Gkg1VzcHTyxnRvgvZDdiSidiUmcKGpcaXlJaPid8Gz2fWq29SB3iGoIbJB2XVCJSkicaGigLMkgnVBg9YtwfYCZnelMeGpcaWlJaWnsKGEWOGicaGicbKAxnJyxjKoWOGicaGFqOGih0kcIaGy29SB3jnyxjZm0qGpsbJEM1Fz2fTBwfdB3jYzwn0kgnVBg9YtwfYCZnektSkicbTyxrLCMLHBc5LBwLZC2LVBIa9ignVBg9YtwfYCZnelNjNyJSkicbTyxrLCMLHBc5HBhbOysa9ignVBg9YtwfYCZnelMe7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','yw5PBq','rxf1AwrPC3rHBNrFq3LSAw5KCMLJywW','Aw52zxj0q29SB3i','BNvTyMvY','Dg90ywXbCMvH','C2HVD0fKzfrLEhq','BM9FCM90','Aw5xAw5KB3C','CMvZCg9UC2u','DgLSzvDPzhrO','x29WDgLVBNnmyxLLCNnmAxn0','x3bYB3bLCNr5','l3f1zxj5','x2XHC3rFy2XVy2Tsyw5Nzq','y29UCW','zwXLDMf0Aw9U','x2XHC3rFC3rVCfrPBwu','DxbKyxrLrhjHz2DLCNm','C2XPy2vZ','x19PBML0vxbKyxrLrM9YqxzHAwXHyMLSAxr5','x2rYyxDPBMDdyw52yxm','z2v0tgf5zxi','BMf2AwDHDgLVBKLUC3rYDwn0Aw9UC0LUAxrPywXSEvzPC2LIBgu','C2v0vxbizwLNAhq','Bw9YCgHtDgfYDa','C2HVD0zPBgXwB2X1Bwu','x3vWzgf0zuLTywDLx2rLBgf5','x3nJyw5qBgfUzujHy2TdB21Tyw5K','i0qZm0i3ra','x+ABTowKMUwkN+IdVEIVT+wpS+whUW','Dw5IAw5Kvg9VBhrPCa','CM90yxrPB25nyxrYAxHgCM9Tug9ZAxrPB25wzwXVy2L0Eq','x2DYyxbOAwnmyxLLCG','C3rHBxbhBg9IywXjza','yxn5BMnOCM9UB3vZ','B3v0BgLUzq','m1bIExzvtG','z2v0uMvZDwX0','zxHLy3v0zq','BgLUzu9WywnPDhK','Ahr0Chm6lY9Zzxj2AwnLCY5HCMnNAxnVBMXPBMuUy29Tl0fYy0DjuY9Yzxn0l3nLCNzPy2vZl1DVCMXKx0LTywDLCNKVtwfWu2vYDMvY','x2jPBMrfDMvUDa','zNjVBunVBg9Y','x2rPCLn0zxa','C2LKzxnxAwr0AfjHDgLV','Dw5PzM9YBsbIB29Sig1HCNmZzf9ZAg93oWP1BMLMB3jTigzSB2f0ig1HCNmZzf9VCgfJAxr5oWOkDw5PzM9YBsbZyw1WBgvYmKqGBwfYCZnKx3zPzgvVvgv4DhvYztSkDw5PzM9YBsbZyw1WBgvYmKqGBwfYCZnKx21HC2TuzxH0DxjLoWP1BMLMB3jTihzLyZqGBwfYCZnKx2HPzgrLBKfYzwfdB2XVCJSkcNvUAwzVCM0GC2fTCgXLCJjeihnOywrVD01HCf90zxH0DxjLoWP1BMLMB3jTig1HDdqGC2HHzg93twfWx21HDhjPEdSkDw5PzM9YBsb2zwm0ihnOywrVD01HCf9SAwDODfbVC2L0Aw9Urum7cNvUAwzVCM0GDMvJncbZAgfKB3DnyxbFDgv4zwXtAxPLrgvWDgHcAwfZoWP1BMLMB3jTihzLyZqGC2HHzg93twfWx25VCM1HBe9MzNnLDfnJywXLoWP1BMLMB3jTigjVB2WGBwfYCZnKx2zSAxb4oWP1BMLMB3jTigjVB2WGBwfYCZnKx2zSAxb5oWOkDw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTihnHBxbSzxiYrcbKzxb0AfrLEhr1CMu7cMLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cGP2zwm0ihrVrxLLkgLUihzLyZiGDxySigLUigzSB2f0igrLChrOksb7cIaGDMvJmIb4Esa9ihzLyZiOkhv2lNGGkIaYlJaGlsaXlJaPlcaODxyUEsaQidiUmcaTideUmcKPoWOGihzLyZqGCg9Zsw5dyw1LCMeGpsbJEM1FAw52zxjZzvbYB2PLy3rPB24GkIb2zwm0khH5lcbKzxb0AcWGms4WktSkicbWB3njBKnHBwvYysa9ihbVC0LUq2fTzxjHic8GCg9Zsw5dyw1LCMeUDZSkicbYzxr1CM4GCg9Zsw5dyw1LCMe7cN0kcMzSB2f0igDLDerLChrOtwfYCZnekgLUihzLyZqGzgvWDgGPihSkicbMBg9HDcb6x3DPBMrVDYa9ign6Bv91BNbHy2Tezxb0AcHKzxb0AcK7cIaGEL93Aw5KB3CGpsbJEM1FCMv2zxjZzuXVz0rLChrOkhPFD2LUzg93ktSkicbMBg9HDcbUx3jHBMDLid0Gy3PTx2rLChrOuMfUz2uUBMvHCJSkicbMBg9HDcbMx3jHBMDLid0Gy3PTx2rLChrOuMfUz2uUzMfYoWOGihjLDhvYBIaOmI4WicOGEL93Aw5KB3CGlsbUx3jHBMDLic0GzL9Yyw5NzsKGlYaOzL9Yyw5NzsaTig5FCMfUz2uPoWP9cMzSB2f0if9JEM1FC2fTCgXLu2HHzg93twfWkhnHBxbSzxiYrcbZAgfKB3DnyxaSihzLyZiGDxyPihSkicbYzxr1CM4GDgv4DhvYzsHZAgfKB3DnyxaSihv2ks5YoWP9cMzSB2f0if9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnHBxbSzxiYrcbZAgfKB3DnyxaSihzLyZiGDxySigzSB2f0igrLChrOksb7cIaGCMv0DxjUihn0zxaOzgvWDgGSif9JEM1FC2fTCgXLu2HHzg93twfWkhnOywrVD01HCcWGDxyPktSkFqPMBg9HDcbFy3PTx3nOywrVD1zPC2LIAwXPDhKOC2fTCgXLCJjeihnOywrVD01HCcWGy3PTx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCYKGEWOGigzSB2f0igrLChrOqMLHCYa9ihnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZoWOGigzSB2f0igrLChrOid0GC2HHzg93ugfYyw1LDgvYCY5Kzxb0AdSkicbMBg9HDcbUrg90tca9ihnOywrVD1bHCMfTzxrLCNmUBKrVDeW7cIaGzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290Aca9ihnOywrVD1bHCMfTzxrLCNmUBM9YBwfSu2HHzgLUz1nTB290AdSkicbMBg9HDcbKyxjRBMvZCYa9ihnOywrVD1bHCMfTzxrLCNmUzgfYA25LC3m7cIaGDMvJmIb1DIa9ihnOywrVD1bHCMfTzxrLCNmUDgv4q29VCMrZoWOGigrLChrOic09igrLChrOqMLHCZSkicb2zwmYihrLEgvSu3rLCfnPEMuGpsbZAgfKB3DqyxjHBwv0zxjZlNrLEgvSu3rLCfnPEMu7cIaGzMXVyxqGCMfKAxvZid0Gms4WoWOGigzSB2f0igr4mca9ic10zxHLBfn0zxbtAxPLlNGGkIbYywrPDxm7cIaGzMXVyxqGzhKWid0GlxrLEgvSu3rLCfnPEMuUEsaQihjHzgL1CZSkicbMBg9HDcbKEdeGpsb0zxHLBfn0zxbtAxPLlNGGkIbYywrPDxm7cIaGzMXVyxqGzhKXid0GDgv4zwXtDgvWu2L6zs55icOGCMfKAxvZoWOGigzSB2f0ihzPC2LIAwXPDhKGpsaOx2n6Bv9ZAgfKB3Dezxb0AenVBxbHCMuOC2HHzg93twfWlcb1DIWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4mcWGzhKWksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkdaUmcWGzhKWksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4msWGzhKWksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4mcWGmc4WksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4msWGmc4WksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4mcWGzhKXksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkdaUmcWGzhKXksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4msWGzhKXksWGzgvWDgGPksaQicGXlJaGlYa5lJaPoWOGihjLDhvYBIb2AxnPyMLSAxr5oWP9cGP2zwmZihbVAw50uhjVAMvJDe9UugXHBMuOAw4GDMvJmYbWBgfUzu5VCM1HBcWGAw4GDMvJmYbWBgfUzu9YAwDPBIWGAw4GDMvJmYbWB2LUDcKGEWOGihzLyZmGDJaXid0GCg9PBNqGlsbWBgfUzu9YAwDPBJSkicbMBg9HDcbKid0Gzg90khbSyw5LtM9YBwfSlcb2mdePoWOGihjLDhvYBIaOCg9PBNqGlsbWBgfUzu5VCM1HBcaQigqPoWP9cMzSB2f0ihb0BsH2zwmZihb0ksb7cIaGCMv0DxjUihnXCNqOChqUEcaQihb0lNGGkYbWDc55icOGChqUEsaRihb0lNOGkIbWDc56ktSkFqOkDM9PzcbTywLUkcKGEWOGignVBNn0igzSB2f0ifbjid0GmY4Xnde1oti2ntm1odK3otm7cIaGDMvJncbJB2XVCIa9ihrLEhr1CMuOy29SB3juzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYK7cIaGDMvJncbJDxjYrca9ihrLEhr1CMuOzgvWDgHuzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYK7cIaGAwyOiw1HCNmZzf9ZAg93ihX8ign1CNjelNiGpJ0Gms4Wksb7cIaGicbVDxrFrNjHz0nVBg9Yid0Gy29SB3i7cIaGicbYzxr1CM47cIaGFqOGigzSB2f0igrLChrOid0Gz2v0rgvWDgHnyxjZm0qOy3vYCKqPoWOGihzLyZqGCg9ZAxrPB25fqYa9ihrVrxLLkhzFDgv4DhvYzunVB3jKAw5HDgvZlcbKzxb0AcK7cIaGDMvJmYbUB3jTywXfqYa9ihzLyZmOms4WktSkicbJEM1FC2HHzg93ugfYyw1LDgvYCYbZAgfKB3DqyxjHBwv0zxjZoWOGihnOywrVD1bHCMfTzxrLCNmUDgv4zwXtDgvWu2L6zsa9ihnOywrVD01HCf90zxHLBfnPEMvezxb0AejPyxmUEhK7cIaGC2HHzg93ugfYyw1LDgvYCY5Kzxb0AejPyxmGpsbZAgfKB3DnyxbFDgv4zwXtAxPLrgvWDgHcAwfZlNO7cIaGC2HHzg93ugfYyw1LDgvYCY5UB3jTywXtAgfKAw5Nu21VB3rOid0GC2HHzg93twfWx3rLEgvSu2L6zurLChrOqMLHCY53oWOGihnOywrVD1bHCMfTzxrLCNmUzgfYA25LC3mGpsbZAgfKB3DnyxbFBM9YBwfSt2zMC2v0u2nHBguUDZSkicbZAgfKB3DqyxjHBwv0zxjZlMrLChrOqMLHCYaQpsbTyxGOzgvWDgGGkIaWlJaXlcaXlJaPoWOkicb2zwmZigrPCMvJDgLVBKvdid0GBM9YBwfSAxPLkhbVC2L0Aw9UrumUEhL6ic0GC2HHzg93twfWx2XPz2H0ug9ZAxrPB25fqY54ExOPoWOGigzSB2f0ig5eB3rmid0Gy2XHBxaOzg90kg5VCM1HBevdlcaTzgLYzwn0Aw9UrumPlcaWlJaSideUmcK7cIaGDMvJncbZAgfKB3DqB3nPDgLVBIa9ihnOywrVD01HCf9TyxrYAxGGkIbWB3nPDgLVBKvdoWOGihnOywrVD1bVC2L0Aw9Uic89ihnOywrVD1bVC2L0Aw9UlNC7cIaGAwyOyw55kgXLC3nuAgfUkhnOywrVD1bVC2L0Aw9UlNH5EIWGDMvJmYGWlJaPksKGFhWGyw55kgDYzwf0zxjuAgfUkhnOywrVD1bVC2L0Aw9UlNH5EIWGDMvJmYGXlJaPksKPihSkicaGig91Df9gCMfNq29SB3iGpsbJB2XVCJSkicaGihjLDhvYBJSkicb9cGOGihnOywrVD1bHCMfTzxrLCNmUDgv4q29VCMrZid0GC2HHzg93ug9ZAxrPB24UEhK7cIaGC2HHzg93ugfYyw1LDgvYCY5Kzxb0Aca9ihnOywrVD1bVC2L0Aw9UlNO7cIaGC2HHzg93ugfYyw1LDgvYCY5Urg90tca9ig5eB3rmoWOGigzSB2f0ihzPC2LIAwXPDhKGpsbFy3PTx3nOywrVD1zPC2LIAwXPDhKOC2HHzg93twfWx3rLEhr1CMuSihnOywrVD1bHCMfTzxrLCNmPoWOkicaVl+INHUMIKEAkLEwWHaOGigLMkhzPC2LIAwXPDhKGpt0Gms4Wksb7cIaGicbPzIHTyxjZm2rFzMXPChGPEWOGicaGicbZAgfKB3DqB3nPDgLVBI54id0GC2HHzg93ug9ZAxrPB24UEcaRicGWlJuGlsbZAgfKB3DqB3nPDgLVBI54ksaQidiUmdSkicaGih0kicaGigLMkg1HCNmZzf9MBgLWEsL7cIaGicaGihnOywrVD1bVC2L0Aw9UlNKGpsbZAgfKB3DqB3nPDgLVBI55icSGkdaUnsaTihnOywrVD1bVC2L0Aw9UlNKPicOGmI4WoWOGicaGFqOkicaGihzLyZqGDMLKzw9dB2XVCIa9ihrLEhr1CMuOBwfYCZnKx3zPzgvVvgv4DhvYzsWGC2HHzg93ug9ZAxrPB24UEhKPoWOGicaGDMvJncbTyxnRq29SB3iGpsb0zxH0DxjLkg1HCNmZzf9TyxnRvgv4DhvYzsWGC2HHzg93ug9ZAxrPB24UEhKPoWOGicaGDMLKzw9dB2XVCIaQpsbTyxnRq29SB3i7cIaGicbVDxrFrNjHz0nVBg9Yid0GBwL4kgnVBg9Ylcb2zwm0khzPzgvVq29SB3iUEhL6lcaXlJaPlcbTyxjZm2rFB3bHy2L0EsaQihzPzgvVq29SB3iUysK7cIaGFsbLBhnLihSkicaGigLMkgfICYHZAgfKB3DqB3nPDgLVBI56ic0Gmc4Wksa8idaUmdePihSkicaGicaGCMv0DxjUoWOGicaGFqOGicaGB3v0x0zYywDdB2XVCIa9ihzLyZqOBwL4kgnVBg9YlNjNyIWGBwfYCZnKx2HPzgrLBKfYzwfdB2XVCI5Yz2iSig1HCNmZzf9OAwrKzw5bCMvHq29SB3iUysKSig1HCNmZzf9OAwrKzw5bCMvHq29SB3iUysK7cIaGFqP9cG','Aw5UzxjsywrPAq','x21HDhjPEfjVDgf0zq','ywrKqxn5BMm','x3bYzwnPC2u','B2zMC2v0wa','wfLA','DgvYCMfPBKXVywrfCNjVCG','Bg9N','vevyvfvsrta','C3rVCevKAxq','CgfNzv9UDw0','zgvSyxK','yMvNAw4','yMjVEfns','ChjLvxbKyxrL','BNvT','y3vYCMvUDfrPBwu','zgL2r2LM','sw1Hz2vYEvn0yxrL','wvPFvfjbtLnmqvrjt04','Bw91C2vVDxq','rvbtrZO0nti0','q2XHCMTLide4odaGBw9KlG','Bw92zunHBwvYyq','mda5','x2jPBMrizwLNAhreCMfNz2vYCW','x3vWzgf0zu1HDhjPEe1VDMvqB3nPDgLVBG','wuvmte9x','oYi+cIaGica8zgL2ignSyxnZpsjTyxjZm2qTzgL2vxbmywjLBc10zxH0iIbZDhLSzt0IzM9UDc1Myw1PBhK6','x+wnLEwhU+wINUwkOoEcUq','zMeGzMeTDgLJA2v0','BNmW','C3rVCevKAxrPBMC','x2jHy2TgywnLuLm','tgf0Axr1zguGB2yGBMf0DxjHBcbVCMLNAw4','DxbKyxrLqwXS','uKLhsfrFq0Xjq0S','rgLZDgfUy2veAxnWBgf5q29UzgL0Aw9U','qMfZzuDYyxbOAwnmyxLLCG','x+wnLEwhU+wqJUA/GoA0U+E8LUI+Kq','AgvPz2H0u3rY','Dg9VBgjHCG','zMXPChK','AxnbCNjHEq','x2fSBfbHz2u','rMfZDf9uCMfUC3zLCNnLx01LCMnHDg9Y','z2v0vgfPBfbVAw50CW','z2v0ug9ZAxrPB25cEu9Yz2LUtwf0CML4','DgfU','yM90Dg9Tug9ZAxrPB25Z','tgLUzuzSB3DdB2XVCK1HDgvYAwfSuhjVCgvYDhK','x2TLExm','x2HPzgrLBKfYzwfdB2XVCG','qMfZzuXHEwvYugLJA2vY','wfPFvfjbtLnmqvrjt04','BMvJA0HLAwDODezHy3rVCG','vgLSDfzPzxC','zM9UDf9Myw1PBhK','qKftsum','BgfZDe1HEerLChrO','zwrPDgLUz0DYAwq','vZrwzfbOu09Jz1jJs1LSy0X2og1xuxHKu3fkweDPnLrdy3rKt2DqEvC1odfxnhLOnujvrtv5nNzUsNrKttHVnNHTBZrWk0vRvxz0tu5suey1EsTgnZCRmxCXDgnmu29qAg1RzLC3wgDYsxHKr21REg5Js2XxuI9osuf4tu5rsLzwuNjkyLLun1DpDKTxn05Ku21Rz1Dss1u1ufLSntuRqvDrveLxne5JtKTktLzqEe9sqs9ntdCVtu5Qm1zwuNLHrNvKzeXdB0L0q29pvZvqu1DsuMnnsfjKsw1VnLDrCKDxudbIv1fOtKLcwK1oEs9mt2PStu1rzfzwnY9Kuwrcy0TtB2nxuLDgAM1RDxPOwdvxuxHosveVtu5sDeXsngHmsgPctfnquKTvn2rKue5WteT5m09hAMXor1bstu1pwK5qqwXnsxLotu5QrLbnBfPmsfeZtePqteK1nffhnMLbvJvpsuq1ufLbrxnYnLDpBNHxnJDJvxqWEvDrnhzbog8VnMXztdvSsu01EsTJnZDzmJvSuuq1BdjXnwXjndvSsu01t1uYntDvlZu3uxm1EJjpnNLRyZvbmMi1BeLnnxLvEtvqwtq1Be1mntvrEdv5uxa1tZzhnwXjmdv5k2S1BfvYnvjRqtvSuwG1ExnYnMX3zdvSwti1nxnWnZCRv1C2EMPVyZq5Aw8RofffCZvmvuKVr29jsffVCZzjB3mVvg93l1jVDZLpk0v6uvvfseLfsuXwvxDZtITjsvzvD2XtBYS5t0vfuuHvDZDvvxDTt293vuSRqxzvk3CRuM9fDKTtB0f3Dvblv1bszfffkZLqB3m5sw9fDuTfqvzrk0vQuYTbrvfVCZHqk0fHtsT3ruDfqw9jB3DQuYT3B0XfstLok3DLsw1RnMDlrK1jnvPlvwXws1y1sK5mt1zmuMXAtvi0n05jnKzntMPss1zpn01hEJnotxPKtu5PEe5vAvzpudvoueG0Ce1ouvzKseTWy1jdA1H3sZnyrZu2otvbk1O1n1LQv1fMCvDsCgntyNrKvheZy1r2DMPbq2TWAM1VqLDruhvxt0nuvZD4y0HtB1q0ngDZnxLzsJvqnM82EK0VnZC2vtu2C1a1BcTJnvjjuJu2z1q0ngDQDtHVCfC3vKPhuLzntgL0tLfptKPhutGYv09gy1i4B004A01xssTjmuLvCZDlq2Txyw1RowS4A0T2BwS1A2HLvfC0zvbJDfnzvZzlEvDpm2niBw9VEwn1A1DsEgnuzc9JvvnRtLC3tLHiBgDvnui2mJvSmK5RmejJs3fYt1C0tMrqq29Lv1bky0XtA3PxnwrKutHVzLC1t3Dxt1nqv1bevLDryMnczKzKueLszffkn2rrzeXrv1j6mLC0BvnRq29lEunVwKe4A2j5q2TprKnRsvC1vMnrBw9xv1aZzffHtenxuwHJve5qu1C2ndrNmePJtw1RzfC3m2rnBw9RvZvgzfjLs21LmJfhqw1Vk1C3rZLPq2TxCfnRt3rtB1jxuwXJu2jxqvC0nuXxnurNv09HrxvTB3DfC2HJuZHVAevODgnkq29Kztf4y0K4B3b3C3HJtKnRt2PLwMnnq29vDfnRuvDsENfxntrxvZvsy1qYvMriBwTmAg1VELC1uhfgogT3vZvky0XtB0DKogTmzxD6v0e4A3zWq2Tbv1b2wfC2Agniu29Nv1j5k3jdB1D2og8ZvZqVzePTB2Pem1a4vZDwze14DJLHEhrKs0nVm3rtA2Pxt2Luv09oy1vdBYTxt3jpnuiRttzSkZm2EK1lnKjntezHEgnnmejJsKHLtLDrqMruu2T4vZvczeLTB1PxuKXzDeG3ze5AouXxnerhvZuZzeLdA0XOthHKvenVn1Dss0rxngrJvenVow4WuMrrq29mCgDKzeHIs2nxnLqWvZzsy1iZDLbxtZqRv1bit0rtB0jHr3HJu2i4DvC3uMnhyvPKuKO3ze5nEgrtogTsEg1VtLC2vMrlDKjJsZbwze5tB2zgDgjVEw1Vq1Dsl2rrwLPKu0nVsM44BY9xn2XKsLHXAvDqr2rKmJDKugjmy1C2wMroBwSYCZHRotvcwxu2BfLTnNPnuJzcuwzxuvzKsdHRCw1TB3bxutnKt3Hsy1bnAxDxuJfVv1bQwgrzsMnvog9Irdn1tLC0DgrqBw9Kv092wvDql2nlmvPKtMe','zgHfDMvUDa','CMvJDgLMAwvKx2DYAwrFyw5NBgu','yxbWzw5KrM9YD2fYzfnSyxnO','z2v0vhLWzxm','x2jPBMruB0XHEwvY','B3jNAw5sB3rHDgLVBG','x2HHC1vWzgf0zv9TB2rLBe1HDhjPEa','x2XHyMvSq29SBgvJDgLVBG','x3jLywr5','CMDIysGXmtaSidiWncWGntCSia','x+wCSow9OUACJEwkOq','y29UDhjHC3q','y3vYCMvUDfrHCMDLDa','mt0X','x21LDgfKyxrHu3vJy2vZCW','x3vWzgf0zvn0EwXLqMfZzuHVB2S','C25HA2vbBMLTyxrPB25eDxjHDgLVBG','qxbWCM94Aw1HDgvuzxjYywLUsgvPz2H0CW','D2DZ','Dg91y2HTB3zL','DgHPCY5YywrPDxmGBxvZDcbIzsbNCMvHDgvYihrOyw4GB3iGzxf1ywWGDg8GEMvYBY4','q2vZAxvTlKKZu0XHEwvYoUw9K+wjJEs7HEAuR+AmGuvqu0FVVjO0mZi25zkmrvbtr++8MJq0otdLNzdMOiFNS7S','x2rYyxDszw1VDMvqB2LUDeHHBMrSzxi','Aw1Hz2vcB3r0B20','Ahr0Chm6lY93zwjZDdb7C30UAxmUyxv0B25HDMKUy29Tl2fWCg1HChrPBgu/C3r5Bgu9nIz4pxT4Fsz5pxT5Fsz6pxT6Fq','zgLZDgfUy2vtDxjMywnLtwvHC3vYzq','x+wfS+MxREEoR+E7LEMJNUIHJa','CxvLCNLhCMLKrgf0yq','yw5NBgvtDhi','x3bHDxnLv29YAW','C2nLBMvnB2rLugLJA2vY','x3jLBw92zuHLAwDODenHBgXIywnRCW','DxbKyxrLrgLZDgfUy2veAxnWBgf5q29UzgL0Aw9U','yw5NBgu','zMXHDejPBgXIB2fYza','zwrPDfn0EwXL','zgL2tgLNAhrqB2LUDa','D2zZ6k+35Rgcr2v0q2fWywjPBgL0AwvZ5yE66zsz','C3rHy2Tqyxj0AxrPB25Z','y2vZAxvTlxzPzxDLCI10Aw1LBgLUzunVBNrHAw5LCG','x2nYzwf0zvbVC3rqCM9JzxnZu3rHz2u','q2LYy2XLv2f2zq','Dg90ywW','C3rVCfnUywTLqw5PBwf0Aw9U','z2v0q3vYCMvUDe1VDxnLug9ZAxrPB246ihnJzw5LlNbPy2SG5OU+5y+w5PE25BYc5BI4','Bw9YCgHuBZne','BgLT','6kEM5Pg45OMl5yQ/','x3n0yxj0sgvHzgLUzW','Dg9eyxrL','x2nVBNrHAw5LCL9JDwjL','D2fSBfn0EwXLq29UDMvY','rhjHD0vKAxrzzxm','CgHP','x2nYzwf0zvnOywrVD01HCa','Bwf4Aw11BvnPEMu','CMfPC2vfDMvUDa','EM9Uzu51BwjLCG','x3nJyw5LugXHBMvtua','ywrKCMvZC0nVBxbVBMvUDa','Bg9JyxrPB25eyxrH','x2f2ywLSywjPBgL0Eq','zML4zwrgCMfTzvrVrwfZDe5VCNrOvxbuCMfUC2zVCM0','CMfKAwLFEq','DxbKyxrLuMfKAwK','rxHWyw5KqNLnyxjZ','zNjVBvjVDgf0Aw9Utwf0CML4','AgfZm2r0AwXLCW','Cg9SEwDVBLa','rvfvsvq','yMfJA2DYB3vUzfnPEMu','x2zPCMLUz0nVDw50','Bwf4Aw11BvnPEMvA','C2nHBgvgywn0B3i','y29ZCM90','zM9NrwzMzwn0','q2LYy2XLt3v0BgLUzuDLB21LDhj5','DxbZyw1WBgvKrNjVBvbHCMvUDa','ndGYlJuZmcWTmtmWlJu5nIW1nJqUntu3lc0XlJa0mIWTmc4YmtqSltaUnJmXldGUmtu','x2zPBhrLCLbpsurHDgfFy2LYy2XL','x3jLywrdAgLSze5Vzgu','x+s/RUAuUEAwUEwqKq','x2DYB3vUzfbYAw1PDgL2zunVBgXLy3rPB24','BwL4Da','rwXSAxbZB2LKr2vVBwv0CNK','x3jPz2H0tgf5zxi','DxbKyxrLt3b0Aw9UCW','x3rVt25Lq2vZAxvTvMfS','BwWX','B2XKu2HHzgvYuhjVz3jHBq','x+w8GowqR+MBVUwKQEAWLa','rvbtrZO0nteY','z2v0ugLJA2vKt2jQzwn0','x+MDOUs4IW','x2n1CNjLBNrgCNvZDhvT','rvbtrZO0ntmZ','rvbtrZO0nteW','x3bVC2L0Aw9UC1DHBgW','x3jLBw92zuXHEwvYuMvTB3zLzeXPC3rLBMvY','rMvHDhvYzunVBgXLy3rPB24','q3LSAw5KzxjqCMLTAxrPDMu','x+wfS+MxREwKP+AWLoA4SUAFKW','yMLUzfvWzgf0zuv2zw50','vfjbtLnqqvjftLq','DMfSAwq','z2XVyMfSqwXLCNq','x21Lyxn1CMviB3jmywjSzq','qKvwruXfra','Dw5PzM9YBxm','zMXVB2rbBgW','zgvMyxvSDfzPC3vHBgL6zxjZq2fSBgjHy2S','y3jLyxrLq29UDhjVBdRML6dOR6xNSBVLNOVMJQFKU7BMMOlKUi3OG73LIjVLU7O','x2n5BgLUzgvYtgvUz3rO','x3zPC2LIAwXPDhLZ','qNvMzMvYvxnHz2u','DMfSDwu','u25VD0vMzMvJDfLLCW','x3rPBgvuB1vWzgf0zuHLAwDODhm','x2HHC01HCeLUAxq','rgvIDwDnB2rLBe1HDhjPEfbYAw1PDgL2zq','CgLUy2HfBMq','z2v0sw50zxjZzwn0ug9PBNq','x3n0yxj0ugL0y2G','BM9PC2vty2fSzq','ChjVy2vLza','Bwf4Aw11BujSDwu','Dv95sgfSzKfUz2XL','rMLZy2HLCIaOtwvYy3vYEsbeyxr1BsKGmtK2ma','x2fWCgvHCMfUy2u','EM9VBq','x3rOAw5N','x2DLDerYyxDqB2LUDevUDgL0EunSyxnZ','x2nVBxb1DgvnB2rLBe1HDhjPEa','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYmcaRAZ0XicT4xZa9nda1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','yxbWzw5Kq2HPBgq','CMvUzgvY','x21HEgLTDw1eAxn0yw5Jzq','x3jLBMrLCLbHC3ndywnOzq','x2HHC1vWzgf0zv9LBwL0DgvYtw9KzwXnyxrYAxG','x2nYzwf0zuKZu0rHDgfqCM92AwrLCG','uxvLCNLhzw9tzxj2zxiG6k+35Rgc5yE66zsz','x2DYyxbOAwnmyxLLCL9Szwz0rg93BG','B3v0BgLUzvDPzhrO','x2nVBNrHAw5LCL9PBM5LCG','zxHPDez1BgXZy3jLzw4','Dg9nzxjJyxrVCG','y29UDgvUDa','Cg5NmZi','Bgf0mq','vgv4DhvYzvDYyxa','te9breLorW','B2zMC2v0tgfIzwW','x2DLDerLzMf1Bhruzw1WBgf0zq','x2HLAwDODfjLzMvYzw5Jzq','BwLUAw11BunVBMu','q09mvu1cvvnFvKLfvW','D3jHCfq','5PEG5yAf572UA2v5loIVT+wpGUIaGYbODhrWoI8VBwfYCZnKlMnUl2rLDI9PC3n1zs9RBM93BI90B2TLBI5ODg1SioAZQowgJoABV+AnOG','ywrKr3jHCgHPyZRMLBdMJA5PzowTMowCQowgSUEQGE+8Jow3SUMhJEAwSoI1I+waVgLK','zMX5qw5PBwf0Aw9UuhjVBwLZzq','sw52zxjZzsbNCMLKihnOAwz0igL0zxjHDg9YigzHAwXLzcb0BYbJB252zxjNzs4','Dg9sywrPyw5Z','BM9YBwfSvgv4DhvYzq','zgf0yunVBhvTBG','rgLZDgfUy2vmzwDLBMq','ChvYzq','Dg9cB3r0B20','x2XHC3rFAxngAxjLu3rVCa','yxbWBgLJyxrPB24VANnVBG','x3bVC2L0Aw9Ux3nOB3C','ignVBxbHC3mTAw5UzxiTywn0AxzL','x21VDxnLrxzLBNq','x21VDxnLrg93BG','y29UDMvYDa','Aw4GDMvJncbWB3nPDgLVBJSkAw4GDMvJmIb0zxH0DxjLq29VCMrPBMf0zxm7cM91Dcb2zwmYihzFDgv4DhvYzunVB3jKAw5HDgvZoWP2B2LKig1HAw4Oksb7cIaGz2XFug9ZAxrPB24GpsbWB3nPDgLVBJSkicb2x3rLEhr1CMvdB29YzgLUyxrLCYa9ihrLEhr1CMvdB29YzgLUyxrLCZSkFqO','sufvnZy','Dv9TyxjZm2rFy2XPCf9PBNzLCNnLtwf0CML4','x2fKzeHLAwDODenHBgXIywnRCW','Dw5KzwzPBMvK','x2DSB2jHBefSCgHH','uMvZB3vYy2u','CMDIysGYntuSidaSidaSidaUmYK','Dv9OAwrKzw5dB2XVCG','x2nHBMnLBfbVC2L0Aw9UC0nHBgXIywnR','y2XVC2vK','BM9izwLNAhq','x21HC2TFCMfKAxvZ','tw9KzwW','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptKWicTRpteGk3HFmd0ZmduWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYnIaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','DM9PzcbMCMfNBwvUDe1HAw4OrNjHz21LBNrjBNb1DcbMC0LUChv0lcbPBM91DcbJEM1FBw9KzwXnyxrLCMLHBcbTyxrLCMLHBcKGEWOGihzLyZqGCg9ZAxrPB24GpsbJEM1FAw52zxjZzu1VzgvSvMLLDYaQihzLyZqOzNnjBNb1Dc5HDhrYAwj1DgvZlNbVC2L0Aw9UrumSmsK7ic8Vios9JEE9RGOkicaVlYdMS6JMHi9ZAgfKzxlKUk3LHPNMTA7NGRNMLBdMMk/VViZKUidLRPROPOhLUkBLSi/MLBdNGRNVViZLKkBLIjNKVjRMIQxPLjNVViZMR5tLPOiW6zYa6kAb5yAz5OIqmc4W77YmmEIMGEwgMEAiKdeUmaOGigzSB2f0if9IyxnLsgvPz2H0id0GDv9TyxjZm2rFANP3x2jHC2vizwLNAhq7ic8VioEjQEs9K+EAHowFUUEHGoMRMow6PU+8JoMCGoIMGEs/RUAuUEAiKos4Gos4QUwqIoMaGUEAHow7UUETKEwFUUEHGoMRMow6PGOGigzSB2f0if9OzwLNAhrsyw5Nzsa9ihvFBwfYCZnKx2P6D19OzwLNAhrsyw5NztSGlY8G6AUy5lQU55Qe6iYd5zU0kf9IyxnLsgvPz2H0ih4Gx2jHC2vizwLNAhqGkYbFAgvPz2H0uMfUz2uPcIaGzMXVyxqGx2DSB3Dsyw5Nzsa9ihvFBwfYCZnKx2P6D19NBg93uMfUz2u7ic8ViowfIEEoR+EAHoENU+wkQoImG+wBTcJPQ5JLUQyPcGOGic8Viow7UUETKEwFUUEHGoIjSGOGic8VDMvJncbKAwzMDxnLid0GDMvJncGWlJiSicaWlJuSideUmcWGms4WktSGlY8G5zU65A6A6AkC6iMYcIaGDMvJncbKAwzMDxnLid0GDMvJncHTyxrLCMLHBc5KAwzMDxnLlcbTyxrLCMLHBc5HBhbOysK7ic8VioMINoIjSGOkicbMBg9HDcbTB2rLBeHLAwDODca9ihbVC2L0Aw9UlNO7cIaGAwyODv9TyxjZm2rFANP3x3vWqxHPCYa9psaXksb7cIaGicbTB2rLBeHLAwDODca9ihbVC2L0Aw9UlNK7cIaGFsbLBhnLigLMkhvFBwfYCZnKx2P6D191Cef4AxmGpt0GmcL7cIaGicbTB2rLBeHLAwDODca9ihbVC2L0Aw9UlNG7cIaGFqOkicbMBg9HDcbTyxjZx2HLAwDODca9ig1VzgvSsgvPz2H0ic0Gx2jHC2vizwLNAhq7cIaGzgLMzNvZzsaQpsb2zwm0khzLyZmOBwfYC19OzwLNAhqGlYbFAgvPz2H0uMfUz2uPlcaXlJaPoYaGlY8G5RIq5y+ycGOGic8ViowkQoAaGEwfIEEoRWOGigzSB2f0ihrPBwuGpsbMCMfJDcHJEM1FzNjHBwvoDw1IzxiGlYaZnJaUmcK7cIaGDgLTzsa9igfICYH0Aw1Lic0Gmc41ksaQidiUmdSkicbMBg9HDcbKAwzMid0GC3rLCcGWlJaWnsWGywjZkcbJBgfTCcHTyxjZx2HLAwDODcaVif9NBg93uMfUz2uSidaUmcWGms4WksaTihrPBwuPktSkcIaGBwf0zxjPywWUzgLMzNvZzsa9ihzLyZmOzgLMzNvZzs5Yz2iGkYbKAwzMDxnLlNjNyIaQicGXlJaGlsbKAwzMksKGoWP9cG','zgLZywjSzuvKAxq','x3nLDenHBwvYyvzPzxDmAxn0t3b0Aw9UCW','x+wfS+MxREAxPEEfP+MyTow9Sq','yNvPBgrnB2r1BgvvCMW','x3rLCNjHAw5qCM92AwrLCG','vgr0ue9j','qK9pta','ywXLCNq','zMLSBa','ueLoq0HFru5e','y2fUy2vS','Aw4GDMvJmYb2x3bVC2L0Aw9Utum7cMLUihzLyZmGDL9WB3nPDgLVBKvdoWPPBIb2zwmYihzFC3q7cGP2B2LKig1HAw4Oksb7cIaGy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DdSkicb2zwmZig5VCM1HBevdtwfYCZneid0GBM9YBwfSAxPLkgn6Bv9UB3jTywWZrcaQign6Bv9Nzw9KzxrPy1n1CMzHy2voB3jTywWODL9WB3nPDgLVBK1dlcb2zwmZkdaUmcKSihzLyZmOms4WksKPoWOGicaGi2LMzgvMiezbq0vFrK9sv0fsraOGig5VCM1HBevdtwfYCZneid0GzMfJzwzVCNDHCMqOBM9YBwfSrunnyxjZm0qSihzLyZmOmc4WlcaWlJaSideUmcKSic1UB3jTywXfq01HCNmZrcK7cIaGicaJzw5KAwykicbTyxrLCMLHBeLUChv0lNmGpsb2x3n0lNm7cIaGBwf0zxjPywXjBNb1Dc5ZDca9ihzFC3q7cIaGBwf0zxjPywXjBNb1Dc5ZDhiGpsb2zwmZkhzFC3qSidaUmcK7cIaGBwf0zxjPywXjBNb1Dc5UB3jTywXfqYa9ig5VCM1HBevdtwfYCZneoWOGig1HDgvYAwfSsw5WDxqUDgfUz2vUDfrVrxLLtwf0CML4id0Gy3PTx2vHC3roB3j0AfvWvg9fEwvdB29YzgLUyxrLCYH2x3bVC2L0Aw9UtumSig1HDgvYAwfSsw5WDxqUBM9YBwfSrumPoWOkicb2zwmZihbVC2L0Aw9Uvg9fEwvfqYa9ic12x3bVC2L0Aw9Urum7cIaGBwf0zxjPywXjBNb1Dc5WB3nPDgLVBLrVrxLLrumGpsbWB3nPDgLVBLrVrxLLrum7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicaGicnPzMrLzIbgtefucIaGB3v0x0zYywDdB2XVCIa9ihzLyZqOBwf0zxjPywWUzgLMzNvZzsaRig1HDgvYAwfSlMvTAxnZAw9UlcbTyxrLCMLHBc5HBhbOysK7cIaGicaJzwXZzqOGig91Df9gCMfNq29SB3iGpsbJEM1FCgHVBMCOBM9YBwfSAxPLkhbVC2L0Aw9Uvg9fEwvfqYKSig1HDgvYAwfSlcbJEM1FBgLNAhreAxjLy3rPB25fqYK7cIaGicaJzw5KAwykFqO','ywrKu2nHBLbSyw5L','EM9VBuv2zw50vhLWzxm','BxvSDgLWBhLcEvvUAwzVCM1ty2fSzq','x3bYAw1PDgL2zxm','BgvMDfbVAw50CW','CM9PCW','x2rHCMTUzxnZ','y2LYy2XLu2L6zq','Bwv0yurHDge','rxDPywC4A3bxnMfRCfLezq','x3vWzgf0zu91DgXPBMvuB0nHBgXIywnR','D2LKDgG','Dgv4DejHC2vSAw5L','C2nHBLbSyw5Lt3bHy2L0Eq','57Q15z2q5Qch','cIaGicaGicaGicaGicaGicaGicaGicbKyxrHlxr5Cgu9iG','zw5HyMXLvgLSDa','vhDVrMLUz2vYrhjHz09WCg9ZAxrLrgLYzwn0Aw9U','zxnYAuDLB21LDhj5ug9SEwDVBG','Aw1Hz2vpChrZq29UDMvY','z2v0q2vZAxvTvMfSDwu','x+wiHUMsNW','x3bVAw50CW','x2fUAw1HDgvgCMfTzq','t3rOzxi','AxngAw5PDgu','ywrKvgLSzvn1y2nLC3m','u0nftKuZra','x2f4AxnsB3rHDgLVBG','y2XHBxbuB0DYB3vUza','z2v0rw50Axr5ug9ZAxrPB25Z','zgvM','BwLUAw11BuLTywDLu2L6zq','qvjfqv8W','x+s/RUAuUEE8QEAuVUAVLos+IW','Dw5PzM9YBsbZyw1WBgvYmKqGAw1Hz2u7cNvUAwzVCM0GzMXVyxqGB3bHy2L0EtSkDw5PzM9YBsbMBg9HDcbYB3rHDgLVBJSkDw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWP1BMLMB3jTigjVB2WGzMXPChG7cNvUAwzVCM0GyM9VBcbMBgLWEtSkDw5PzM9YBsbIB29Sig5Vv2HPDgu7cGP1BMLMB3jTigjVB2WGAgfZtwfZAZSkDw5PzM9YBsbZyw1WBgvYmKqGBwfZA0LTywDLoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihn0id0GzNjHy3qOCMvWzwf0icOGBwf0zxjPywXjBNb1Dc5ZDcK7cIaGAwyOzMXPChGPihSkicaGihn0lNGGpsbZDc54icSGkdaUnsaTihn0lNGPicOGmI4WoWOGih0kicbPzIHMBgLWEsKGEWOGicaGC3qUEsa9ihn0lNKGkYaOmc41ic0GC3qUEsKGkIaYlJa7cIaGFqOkicbPzIHYB3rHDgLVBIaHpsaWlJaPihSkicaGigzSB2f0ihjVDca9ihjHzgLHBNmOCM90yxrPB24PoWOGicaGBwf0mIbTid0GBwf0mIHJB3mOCM90ksWGlxnPBIHYB3qPlcbZAw4OCM90ksWGy29ZkhjVDcKPoWOGicaGC3qGpsbTicOGC3q7cIaGFqOkicb2zwm0igLTywDLtwfYCZneoWOGigLMkhnWzwvKice9idaUmcKkicaGigLTywDLtwfYCZneid0GDgv4DhvYzsHPBwfNzsWGDMvJmIHMCMfJDcHZDc5ZicSGy3PTx2zYyw1LtNvTyMvYicOGC3bLzwqGlYaXmdaWlJaPlcbMCMfJDcHZDc50ksKPoWOGigvSC2ukicaGigLTywDLtwfYCZneid0GDgv4DhvYzsHPBwfNzsWGC3qPoWOkicbPzIHUB1DOAxrLicyMigLTywDLtwfYCZnelNjNyIa9psb2zwmZkdeUmcKPihSkicaGigrPC2nHCMq7cIaGFqOkicbPzIHOyxnnyxnRksb7cIaGicb2zwm0ig1HC2TdB2XVCIa9ihrLEhr1CMuOBwfZA0LTywDLlcbZDcK7cIaGicbPBwfNzu1HCNmZrcaQpsbTyxnRq29SB3i7cIaGFqOkicbTyxrLCMLHBc5HBhbOysa9igLTywDLtwfYCZnelMeGkIbVCgfJAxr5icOGy29SB3iUysaQigDSB2jHBefSCgHHoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbPBwfNzu1HCNmZrc5Yz2iGkIbJB2XVCI5Yz2i7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','x3rPBgvmyxLLCL9HzgruAwXLsgfUzgXLCG','x2XHyMvSCW','x2XHyMvSrxG','ue9tsvrjt05Ft05mwq','x+wfS+MxREwmHEwBToEBKG','B2zMC2v0wG','ug9SEvv0AwWGDhvYzI5IDwzMzxi657Yt5yAY5yIg5P6q5BYc5BI4ia','BwLUDxrL','rKLe','x2DLDfrHCMDLDerPC3rHBMnLrgLZCgXHEunVBMrPDgLVBG','yMLSBgjVyxjKu3r5BgvdB252zxi','x2jPBMrmywjLBef2ywLSywjPBgL0Eq','Dg9W','AxnqyxvZzq','rvbtrZO','y2vZAxvTlxzPzxDLCI10B29SyMfY','ywXSB3DeCMLSBfbPy2S','x2rPzMzuAw1Lu3rYtgvU','zMfJzq','CxvLCNLfEhrLBNq','zgvMAw5LuhjVCgvYDhK','x2fJDgL2yxrLv29YAW','tMLNAhrwAxnPB25fzMzLy3rzzxm','y29Zx3aXmG','x2LTywDLCNLmyxLLCNnvCgrHDgvKrxzLBNq','5y+m5OYh5OYj55U45y+n5PA55zcr5OUw5yQO','BM9bCNjHEq','x2HHC0fZEw5tDxjMywnLug9ZAxrPB24','Eg9MzNnLDa','A2v5zg93BG','B25JBgLJAZ0I','qxPPBxv0Aa','cIGR','Bgf0Axr1zgvFB2zFy2vUDgvY','C3LUy2HYB25PEMvY','CgL4zwXpzMzZzxrty2fSzuj5rgLZDgfUy2u','BwLSBa','ug9SyxjFu3rLCMvVz3jHCgHPyW','B25SEvzLCNrLEfbVC2L0Aw9U','Aw5MAw5PDgvqCM9Qzwn0Aw9Utwf0CML4','x2XLDMvS','y3vZDg9Trgf0yq','zNjVBvjVDgf0Aw9Uwq','C3rYB2TLq29SB3i','x3nLBgvJDgvKswruzxH0DxjL','zhjHD0nYzwf0zwq','ywn0AxzLqw5PBwf0Aw9UCW','B3v0x0zYywDdB2XVCI5Yz2iGpsbVDxrFrNjHz0nVBg9YlNjNyJS','x29YyML0','zNvUy3rPB24','DgLSzuHLAwDODa','uM91Dgu','x+wfS+MxREM7KEEzVq','x2nYzwf0zvrLEhr1CMvFtwfZAW','wfPFvfjbtLnmqvrjt05Fq09mt1i','y2XLyxjszwn0','zgv0ywLSvxjS','B3v0Chv0rM9YBwf0','ug9SEufZCgHHBhq','AgfZt3DUuhjVCgvYDhK','y2XHC3noyw1L','x2fSBenVDw50','x2HLAwDODerYywDNzxjZ','z2vVBwv0CNK','x29UuMvTB3zL','x2rPDKHLAwDODa','x2vUDgL0Ev9VDxrSAw5LCW','qxnWzwn0uMfTCa','x2nYzwf0zuDYyxbOAwnZ','rwXSAxbZB2LK','zgLMzNvZzvbVD2vY','y2HHBMDLtw91C2vnB2rLBa','B25fywnOrMvHDhvYzq','x21HCf9Jyw1LCMfdAgfUz2vK','ChjVAMvJDgLVBNm','ktSkFqOJzw5KAwyG','BgLUzunVBg9Y','BwLUAw11BvrLCNjHAw5mzxzLBa','BwvYz2u','zM9NqNLeAxn0yw5Jzv9UzwfY','Dw5KzxjNCM91BMrdB2XVCG','CMfPC2vuB1rVCa','Cg9W','x+w8GowqR+A3SEw6PUEBKEA1IW','BwfYC0P6D1n0EwXL','u1birvjpsuq','kf58xhmP','AgfZuM90yxrLtwf0CML4','z2v0qwXSug9ZAxrPB25Z','BNvTyMvYt2zmzxzLBfPLCM9uAwXLC1G','CM90yxrLug9PBNq','Dgv4DhvYzurLzG','DxbKyxrLvMLZAwjSzurPC3rHBMnL','xZb4zwrKotvH','Ag9YAxPVBNrHBe9YAwDPBG','x+s4H+EXSW','x+wfS+MxREs4I+MBQa','rMvHDhvYzq','x2nHC2nHzgvtCgXPDhm','CM90yxrLtgvMDa','DgLSzuLUzM8','yxjJz2LZvg9hzw9ku09o','t3j0Ag9NCMfWAgLJuhjVAMvJDgLVBG','x29Utw91C2vpDxq','y29ZyZa','z2v0rMfJDg9YAwfS','C2HHzgu','x2nYzwf0zufWCgvHCMfUy2u','zMeGzMeTyMfU','C2nYAxb0','ywXSq291BNq','sg91z2G','5OUw5OU96lcd5Pw05zUB5zgO5PA55zcr6kEs77Ym5y+m5yE75zUE5Q2J5yYx','x2LUzgv4x29YAwDPBMfS','z2v0rwXLBwvUDhncEvrHz05HBwu','x3f1zxj5ugfNzuj5swrZ','z2v0r3jPzfbVC2L0Aw9UCW','Bw91C2vFBw92zq','zgfZAfbHDhrLCM4','x3jLywroB2rL','x2HHC0XVywq','5zU+5lIk5Qch6k6W','CMvTB3zLvgHPBMC','q29UDgv4DeXPBwL0CW','DhjHBNnSyxrLwcG','v2f0zxi','x3bVC2L0Aw9Ux3n0zxbZ','zMeGzMeTCMv0D2vLDa','wf9vuf9ut19Ax1vq','x29UuMLNAhrvCeHHBMrSzxi','z2v0u2HHCgvgB3jqAxbLBgLUzq','C2HVDW','ug9SEwXPBMvnyxrLCMLHBefWCgvHCMfUy2u','BM9FB2zM','x3zPC2LIAwXPDhLFDhLWzq','x3bPy2TdB21Tyw5KCW','DgHLx2DLB20','x3rYyw5ZBhvJzw50','x2nSAwnRsgfUzgXLCG','uMvJDgfUz3vSyxjtzw5ZB3jtDhLSzunVBNzLCG','pd94BwW','zMeGzMeTy29UBMvJDgrLDMvSB3a','C21HBgXuB29SDgLW','DgvTCgXHDgu','B3jPzw50yxrPB24','Aw5PDa','x2zVCM0','qwXIzxjZx0nVBMLJx0vXDwfSx0fYzwe','BgLUzu51BwjLCG','rgvSzxrL','yxjYyxLcDwzMzxjwAwv3','x+MhIUAuVUwqJUwUJoAiKos/RUAuUq','zMeGzMeTz2vUzgvYBgvZCW','BgfZDf9OAwDOBgLNAeDYyxbOAwm','vgfZA+AvSoAnRUACIEIVR+ApKoEKUU+8MUwjJEs4GoADOxn0B3dNU5pMNz/ML7BPL7q','x3jHBMrVBq','x3bVAw50q2X1C3rLCG','x3vWzgf0zun1C3rVBurHDge','C291DgH3zxn0q2HPBgq','5BYa5zcV5REX5BQM55Ur5Rwl','5PEG5Rov6kEJ5P6q5PwW5O2UCg9ZAxrPB27LNzdMOiFKVy3NVA4','x2LUDgvYC2vJDgLVBKnVBg9Y','x2LUAxrPywXPEMvK','reLsrunusu9ox05ptKu','x3vWzgf0zvzPzxC','BgLJzw5ZzvvYBa','AxnmB2fKAw5N','q09mvu1omvjpvZi','x3bPy2TsuW','zMv0y2HkC29U','x29IAMvJDhnuB0v4y2X1zgvFyxv0BW','x21VDMvbBgXqB3n0Aw9UCW','ug9SEwXPBMvwB2X1Bwvhzw9TzxrYEq','Bwf4qwXWAge','x3jVDgf0zuf1Dg9tDg9Wqw5NBgu','ug9SEujSB2i','zgvS','x2f0Dhi','DgHPy2TxywXS','x2DYAwrZ','DxnLCKfNzw50','C3rHCNrjDgvT','u0nftKuYra','Bwf4q2fJAgvdB3vUDa','Dw5PzM9YBsb2zwm0ihvFy29SB3i7cNvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGigzSB2f0ihrPBwuGpsbMCMfJDcHJEM1FzNjHBwvoDw1IzxiGlYa5mc4PoWOGihzLyZiGBMv3x3n0id0GzNjHy3qOC3qGlsb2zwmYkhrPBwuSihrPBwuPktSkicb2zwm0ignVBg9Yid0GDgv4DhvYzsHPBwfNzsWGBMv3x3n0ktSkcIaGDMvJmYbKAwzMDxnLtwfYCZneid0Gy29SB3iUCMDIoWOGigzSB2f0igfSCgHHtwfYCZneid0Gy29SB3iUytSkicbKAwzMDxnLtwfYCZneicO9ihvFy29SB3iUCMDIoWOGigfSCgHHtwfYCZneicO9ihvFy29SB3iUytSkicbHBhbOyu1HCNmZrcaQpsb1x2nVBg9YlMe7cIaGBwf0zxjPywWUzgLMzNvZzsa9igrPzMz1C2vnyxjZm0q7cIaGBwf0zxjPywWUywXWAgeGpsbHBhbOyu1HCNmZrcaQihbVDYGXlIaTihn0lNqSihvFy29SB3iUysKGkIbNBg9IywXbBhbOytSkicbYzxr1CM4GBwf0zxjPywW7cN0k','zM9YBwf0rgLZDgfUy2u','q2XHC3nPzMLJyxrPB25uExbL','C3jJ','x3bVC2L0Aw9UC19ZDgvWCW','x2XHEwvY','BMvNyxrPDMvz','iaROR7FNOA7ORQrQC29U5PAh5lU25Qc85BYp5Q2J56gUiseH','rwrPDerPDKDYyxbOAwm','C2nHBguZza','CgXHBMvtDhLSzunVBNzLCG','x3jVBgXFCMvHBgL0Eq','x3vWzgf0zuHLAwDODa','x21HAw4','x2fKzenOAwXKr3jHCgHPyW','CM90yxrPB25FEG','zgf0Dw1oyw1L','x2rLyNvNqxHPCW','x3n0B3buAw1L','z3jHDgLJDwXL','r2vVBwv0CNLbDhrYAwj1DgvZ','id09idePihSkicaGicaGicaGigLUC2LKzsaRpsaXoWOGicaGicaGih0GzwXZzsbPzIaOCg9PBNrmAwDODfzPC2LIAwXPDhK','v0DtidG0','C3bHDgLHBfjLzMvYzw5Jzq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYosaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','uxvLCNLbCMntzxj2zxiG6k+35Rgc5yE66zsz','DxrTu291DgG','5y+Z6zsU6i+C5y2v5Pon5l2C5yE66zsz','x3vWzgf0zuXHyMvSug9ZAxrPB24','Cg9SEwXPBMvtDhLSzunVBNzLCG','vZvwy09zm2riu29lCKnRn1C0ugXxnw1Zv1jozfnh','EM9VBvrV','C2HVD1nLy3rVCLnLz21LBNrmAw5LCW','yxv0B01PzgrSzur5BMfTAwnqB3nPDgLVBG','zwXSAxbZB2LKqW','oYi+','CgfYzw50tM9Kzq','DxbxqW','Bwf4rgvWDgHwAxnPDgvK','iZu1zMyZmW','y3vZDg9Tu2HHzgvYCW','CxvLCNK','x2nHy2HLr3jHCgHPyW','zw51','zwXLDMf0Aw9UuMfTCe1HDgvYAwfS','CxvLCNLtzwXLy3rVCKfSBa','z2v0ug9ZAxrPB25cEuHWCKfUzeXLBG','uKLhsfrFuK9uqvrf','DMvYDgLJywXpCMLNAw4','yMLUzenVBNrLEhrnzw51','x29UuMLNAhreB3DUsgfUzgXLCG','CMDIysGXmJiSmte0ldiZocWWlJaYkq','BgfZDfrPBgvZv2fPDgLUz0zVCKnOAwXKCMvU','D2f0zxjbBhbOyq','y2fTzxjHx2nOyw5Nzwriyw5KBgvY','x2fSDf9IywS','BM9qAwnRrw50Axr5','CMvHzhLqCM9TAxnL','wvPFvfjbtLnmqvrjt05Fq09mt1i','x21VDMvtDgvW','Bgf0x3rZ','z3jLzw4','C2HVD1rLEhq','z2v0u2HHCgvgB3jdAxjJBgu','x2LUAxruAwXLC2v0q2XPCa','rhjHD0nVBw1HBMq','z2v0ugLJA1jHEq','pgrPDJ48BgfIzwW+','y2fUy2vSqw5PBwf0Aw9UrNjHBwu','yw5NBgvczxr3zwvU','x3nLDenHBwvYyvzPzxDmAxn0sxrLBq','tgLNAhrtAgfKB3DnyxbZu2HHzgvY','CgzHy3q','x2XHC3rnC1nHBxbSzvrPBwu','ru5mqvjhrq','x2nVBNrHAw5LCL9VBK1VDxnLtw92zuHHBMrSzxi','uMLNAhrdBgLJAW','x3rPBgvszxbSywnLBwvUDff1zxvL','C291DgG','r3jVDw5Ku2T5qM94','C3rHCNrnB3zLtwf0CML4','q29UDhjVBfr5Cgu','C3nLrgvUB21PBMf0B3i','x+wfRoMhJa','u3rYywLNAhrbCNjVDW','yMvSz2u','x2nSDxn0zxjLza','zw5HyMXLvhjHBNnSyxrL','BwfYCZnKlw1VDxnLzg93BNzPzxCG','zgvMAw5Lza','CMfKAwK','CMvXDwvZDfjLBMrLCK1Vzgu','5BYa5zcV6zU+5AsP5Rcu','C2HHCgu','y2XVDwrtDhLSzunVBNzLCG','yxr0CG','v2fSBeDLB21LDhj5','Dg90ywXwB2X1Bwu','z2v0vhjHBNnSyxrPB24','yxnJzw50','x+AAGUwbNa','rwXSAxbZzuDLB21LDhj5tgLICMfYEq','z2v0r3jPzfbVAw50CW','B2XKuhjPBwL0AxzLvhLWzq','z2v0sg91CNm','u2nLBMvnB2rLugLJA2vY','CgL0y2G','C2vSzwn0','CMvTB3zLqwXStgf5zxi','zM9NqNLeAxn0yw5Jzv9MyxjwywX1zq','y3fSx2zPBhrLCG','zMLSBfrLEhq','x2XHEwvYtgLZDa','x2vUDgL0Ev9SywjLBa','ywn0AxzL','x2zYDxn0Dw0','x29UqMvMB3jLq3jLyxrL','y2XVC3vYzq','B3bLBLrVB2X0Axa','zMeGzMeTCMvTB3zL','rvbtrZOZodu3','y29UzMLNDxjLtMfTzuzYB21qCM9Wzxj0AwvZ','ChG7','BwfYC19VCNrOB2DYyxbOAwnnyxrYAxG','v1bdBxz2tMnsu2T6q3zps3Ph','zwrPDfjLBw92zvbVAw50','x2LUAxrcEvbVC2L0Aw9U','BMv3x3PLywXHBMrFmtK0oq','y29VCMrPBMf0zxmGBxvZDcbIzsbMAw5PDguGBNvTyMvYCW','x3bVC2L0Aw9Uu2nYyxrJAa','ru5hsu5frvjjtKDduLm','CMDIysGZmcWZocWYmdGSmc4WmYK','D2vSBerHDge','y2L0Ev9SAw1PDa','x3bPy2TPBMC','z2vVy29Kzxi','x2nVBg9YrNjHBwvIDwzMzxi','Dv9TyxjZm2rFC25HA2vFDgv4DhvYzq','C291CMnL','DMLZAwjSzurLChrO','x3jLy3rHBMDSzq','zNjHz21LBNrtAgfKzxjtB3vYy2u','x2vYCM9YrxzLBNq','y2XPy2TuB05VCNrO','Aw5tCG','BNvTyMvYt2zmzxzLBfPLCM9uAwXLC1K','BgfIzwXtDhLSzq','oYi+pc9KAxy+cIaGpc9KAxy+ia','x3vWzgf0zu1HDhjPEfjVDgf0zvbVC2L0Aw9U','Bw9KzwXuB1DVCMXK','z2v0sNvSAwfUrgf0zq','x3bVC3rszw5Kzxjiyw5KBgvY','x2HHC1jLBw92zuj5twfWu3bSAxq','y29Zz2fT','BM9YDgHLyxn0','cIaGicaGicaGicbVDxqGDMvJmYb2t3v0BgLUzu5VCM1HBf9TyxjZm2q7cIaGicaGicaGicb2B2LKig1HAw4OkxSkicaGicaGicaGicaGicaJAwzKzwyGseftx05puK1btf9nqvjtm0qkicaGicaGicaGicaGicaGicaGDK91DgXPBMvoB3jTywXFBwfYCZnKid0GBM9YBwfSoWOGicaGicaGicaGicaGicnLBhnLcIaGicaGicaGicaGicaGicaGicnPzMrLzIbiqvnFvL9ot1jnquXFtufsuZnecIaGicaGicaGicaGicaGicaGicaGicb2t3v0BgLUzu5VCM1HBf9TyxjZm2qGpsb2x25VCM1HBdSkicaGicaGicaGicaGicaGicaGi2vSC2ukicaGicaGicaGicaGicaGicaGicaGihzpDxrSAw5LtM9YBwfSx21HCNmZzd12zwmZkdaUmcK7cIaGicaGicaGicaGicaGicaGicnLBMrPzGOGicaGicaGicaGicaGicnLBMrPzGOGicaGicaGicaGFsa','C2XVCgu','x2DLDe91DgXPBMvtDhLSzq','ywrKtgf5zxi','x3n0B3a','x2v2zw50uMvZDwX0','y2XLyxjqB3nPDgLVBG','y29TCg9Uzw50rgf0yxr5Cgu','Bwf0CML4m2qO','z2v0rwXLDMf0Aw9Uq29UDg91CK1HDgvYAwfS','C2LTCgXPzNK','CMvNAxn0zxjdBgfZCW','zgL2v2LKDgG','AgfZsw1Hz2uY','CMfKAwLFEa','zgLZCgXHEq','lcbdDwXSzwq6ia','cIaGpgrPDIbJBgfZCZ0IBwfYCZnKlwrPDLvWtgfIzwWIihn0EwXLpsjJB2XVCJOG','x2fKzefYzwfiB29R','uhjVDMLKzxjwAwv3tw9KzwW','x21Lyxn1CMvfEeXPBMvFCg9ZAxrPB25Z','rM9YBwf0tgvUz3rO','B3v0BgLUzunVB3jKAw5HDgvZ','BwfYCZnKlwnVBxbHC3m','zMeGzMeTC3rHCI1OywXMlwz1BgW','x2rVBwvcywnRq29TBwfUza','D2vIz2WY','tM9YDgHFqw1LCMLJyw5Frgf0Dw1FmtKYnW','BwfYCZnKlwrPDMXHEwvY','y2HHBMDLqMfZzw1HCa','Cg9ZAxrPB24','kgf0DhiP','zNjVBunZC0nVBg9Yu3rYAw5N','zg93BMXVywq','z2v0u3vYzMfJzufYzwe','x+AGH+IUSoE6VW','z2vVBwv0CNLjBNn0yw5Jzxm','tgLUzuzSB3C','ywrKuMLUzW','zwrPDa','x2rYyxDhCMLK','rwrPDenSyxnZ','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0igrHC2Hmzw5NDgG7cNvUAwzVCM0GzMXVyxqGzgfZAfbHDhrLCM47cGP1BMLMB3jTihzLyZqGC2LKzxndB2XVCJSkDw5PzM9YBsbMBg9HDcbZAwrLC0rHC2Hmzw5NDgG7cNvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGPPBIbMBg9HDcb2x3bVBhLSAw5Lqw5NBgu7cGPJB25ZDcbMBg9HDcbTyxnRtgvUz3rOid0GmtyUmdSkcM1HDdiGCM90yxrLtwfYCZnekgzSB2f0ihjHzcKGEWOGigzSB2f0igmGpsbJB3mOCMfKktSkicbMBg9HDcbZid0GC2LUkhjHzcK7cIaGCMv0DxjUig1HDdiOyYWGCYWGlxmSigmPoWP9cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicb2zwmYihbVCYa9ihjVDgf0zu1HCNmZrcH2x3bVBhLSAw5Lqw5NBguPicOGz2XFrNjHz0nVB3jKlNH5oWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOkicbMBg9HDcbJzw50zxjhBg93id0GD2LKDgHsyxrPBYaVigfICYHZDc50ic0Gmc41ksaTicH3Awr0AfjHDgLVic8Gmc41ksaTideUmdSkicbPzIHJzw50zxjhBg93id4Gmc4Wksb7cIaGicbMBg9HDcbKyxnOug9ZAxrPB24GpsbMCMfJDcHWB3mUEcaVicHKyxnOtgvUz3rOicOGy3PTx3bPEgvSuMf0Aw8PktSkicaGigzSB2f0ig1HC2TjBMrLEca9igzSB29YkgrHC2HqB3nPDgLVBIaQig1HC2Tmzw5NDgGPoWOGicaGzMXVyxqGBwfZA1rLC3qGpsbMBg9VCIHKyxnOugf0DgvYBIaVihbVDYGYlJaSig1HC2TjBMrLEcKPoWOGicaGAwyOkg1VzcHTyxnRvgvZDcWGmI4Wksa8ideUmcKPihSkicaGicaGzgLZy2fYzdSkicaGih0kcIaGicbTyxrLCMLHBc5LBwLZC2LVBIa9ignVBg9YlNjNyJSkicaGig1HDgvYAwfSlMfSCgHHid0Gy29SB3iUytSkicaGihjLDhvYBIbTyxrLCMLHBdSkicb9cGOGigzSB2f0ihnPzgvZr2XVDYa9icGXlJaGlsbZAwrLC1DPzhrOuMf0Aw8Pic8GywjZkhn0lNqGlsaWlJuPic0GkcGXlJaGlsbZAwrLC1DPzhrOuMf0Aw8Pic8Gmc41ksaTideUmdSkicbPzIHZAwrLC0DSB3CGpcaWlJaPihSkicaGigzSB2f0igrHC2HqB3nPDgLVBIa9igzYywn0khbVCY54ic8GkhnPzgvZrgfZAeXLBMD0AcaQign6Bv9WAxHLBfjHDgLVksK7cIaGicbMBg9HDcbTyxnRsw5KzxGGpsbMBg9VCIHKyxnOug9ZAxrPB24GkIbTyxnRtgvUz3rOktSkicaGigzSB2f0ig1HC2Tuzxn0id0GzMXVB3iOzgfZAfbHDhrLCM4GlYbWB3COmI4WlcbTyxnRsw5KzxGPktSkicaGigLMkcHTB2qOBwfZA1rLC3qSidiUmcKGpcaXlJaPksb7cIaGicaGigrPC2nHCMq7cIaGicb9cGOGicaGBwf0zxjPywWUzw1PC3nPB24GpsbZAwrLC0nVBg9YlNjNyJSkicaGig1HDgvYAwfSlMfSCgHHid0GC2LKzxndB2XVCI5HkIbNBg9IywXbBhbOytSkicaGihjLDhvYBIbTyxrLCMLHBdSkicb9cGOGigrPC2nHCMq7cN0k','BwfWrxG','Bgf0Axr1zgvFB2zFB3jPz2LU','y29SDw1U','ChGPihnJywXLka','yxv0BW','yxv0B1n0B3bbBMDSzq','DhLWzu5HBwu','ugfZCW','zw5Kqw5NBgu','C2HHzgLUz1r5Cgu','y29SB3jZ','x3vWzgf0zurPDLbVC2L0Aw9U','y2vZAxvTlwz1BgXZy3jLzw5cDxr0B24','y3PTt2jQzwn0','zgLNqM94q29SB3i','Bw9YCgHdB21WBgv0zq','x2XHDa','x2LZqMfZzuXHEwvY','CM9Tzq','DxnLCI1Hz2vUDa','x3vWzgf0zuHLAwDODhnuAw1Lu2XPy2u','C2HHzgvYuhjVz3jHBuLK','q2fYDgvZAwfUmG','Bg9HzgLUz0rLC2nLBMrHBNrmAw1PDa','y29TCg9Uzw50C1bLCKf0DhjPyNv0zq','Cg9WDxbpCgvU','CMDIysGYntuSidi1nsWGmJu1lcaWlJiP','CMvNAxn0zxi6ia','C2nHBLbSyw5Lq29SB3i','vKvsvevyx0zpuK1bva','Aw5SAw5LlwjSB2nR','y2XYAZGW','y29SB3juzxH0DxjLCW','zMvHDhvYzuLUzgv4','zNjVBvjVDgf0Aw9UvhjHBNnSyxrPB24','CM9IAw4','zgvZDhjVEurYywDNzxjZ'];_0x2892=function(){return _0x2255aa;};return _0x2892();}class ColorRamp{constructor(_0x37b2ec){const _0x26cc6b={_0x38b819:0x1a82,_0x3b8f3e:0x191f,_0x1d28fd:0x836,_0x7168b0:0x157a,_0x5dcf31:0x1553,_0x16e97b:0xf47,_0x3ae1db:0xa95,_0x3e5416:0x14c,_0x347435:0x124b,_0x3f0037:0xd2d,_0x2b56d2:0x7d4},_0x11aec4={_0x4a0013:0x7};this['_steps']=_0x37b2ec['steps'],this['_colors']=_0x37b2ec[_0xa2db67(_0x26cc6b._0x38b819,_0x26cc6b._0x3b8f3e)];(!this[_0xa2db67(_0x26cc6b._0x1d28fd,0xa95)]||this[_0xa2db67(0xbec,0xa95)]['length']<0x2)&&logError('请传入\x20steps\x20参数值',this['_steps']);(!this['_colors']||this[_0xa2db67(0x1f90,_0x26cc6b._0x7168b0)][_0x1b2313(0x1209,0xc88)]<0x2)&&logError(_0xa2db67(_0x26cc6b._0x5dcf31,_0x26cc6b._0x16e97b),this['_colors']);function _0x1b2313(_0x369188,_0xd9ef3f){return _0x7afdbe(_0x369188,_0xd9ef3f- -0x52b);}this['_colors']['length']!==this[_0xa2db67(0xe6a,_0x26cc6b._0x3ae1db)]['length']&&logError(_0xa2db67(0x964,0x6d0),_0x37b2ec);const _0x2532ab=document['createElement']('canvas');_0x2532ab['width']=0x100,_0x2532ab['height']=0x1;const _0x37092b=_0x2532ab[_0xa2db67(_0x26cc6b._0x3e5416,0x59f)]('2d');_0x37092b['beginPath']();const _0x269c33=this['_steps']['length'];function _0xa2db67(_0x130b3b,_0x3a5f30){return _0x7afdbe(_0x130b3b,_0x3a5f30- -_0x11aec4._0x4a0013);}this[_0x1b2313(0x7ea,0x999)]=this[_0x1b2313(-0x429,0x571)][_0x269c33-0x1];const _0x17a172=_0x37092b['createLinearGradient'](0x0,0x0,0x100,0x1);for(let _0x5d1b71=0x0;_0x5d1b71<_0x269c33;_0x5d1b71++){_0x17a172['addColorStop'](this['_steps'][_0x5d1b71]/this['_maxVal'],this[_0xa2db67(0x12e4,0x157a)][_0x5d1b71]);}_0x37092b['fillStyle']=_0x17a172,_0x37092b['rect'](0x0,0x0,0x100,0x1),_0x37092b[_0x1b2313(0x1036,_0x26cc6b._0x347435)](),this[_0xa2db67(_0x26cc6b._0x3f0037,_0x26cc6b._0x2b56d2)]=_0x37092b['getImageData'](0x0,0x0,0x100,0x1)['data'];}[_0x7afdbe(0xa4f,0xd9d)](_0x41f190,_0x2e97b6=0.8){const _0x891106={_0x59f3cb:0x14fc,_0x36161a:0x99c,_0x3e192d:0x1550},_0x43de57={_0x183091:0x204},_0x4b92={_0x2dd621:0x301};_0x41f190=Math['floor'](_0x41f190/this[_0x4b5921(0xcc0,_0x891106._0x59f3cb)]*(0x100-0x1));if(_0x41f190<0x0)_0x41f190=0x0;else _0x41f190>0xff&&(_0x41f190=0xff);let _0x1b6b3c=this[_0x4b5921(0x5d7,_0x891106._0x36161a)][_0x41f190*0x4],_0x17135f=this['_imgData'][_0x41f190*0x4+0x1],_0x4613c8=this[_0x4b5921(0x5d7,0xcb5)][_0x41f190*0x4+0x2];function _0x2f014d(_0x4f2af0,_0x579504){return _0x54a7f1(_0x4f2af0- -_0x4b92._0x2dd621,_0x579504);}isNaN(_0x1b6b3c)&&(_0x1b6b3c=0x0,_0x2e97b6=0x0);isNaN(_0x17135f)&&(_0x17135f=0x0,_0x2e97b6=0x0);isNaN(_0x4613c8)&&(_0x4613c8=0x0,_0x2e97b6=0x0);const _0x3f74ec={};_0x3f74ec['red']=_0x1b6b3c;function _0x4b5921(_0x2ca67e,_0x5bb5eb){return _0x7afdbe(_0x5bb5eb,_0x2ca67e- -_0x43de57._0x183091);}return _0x3f74ec[_0x2f014d(0x1364,_0x891106._0x3e192d)]=_0x17135f,_0x3f74ec[_0x2f014d(0xc61,0xbd6)]=_0x4613c8,_0x3f74ec['alpha']=_0x2e97b6,_0x3f74ec;}[_0x7afdbe(-0x10f,0x834)](_0x4bf79b,_0x2c487e){const _0x4ade10={_0x53f7a3:0x915},{red:_0x4455c6,green:_0x4b4e4c,blue:_0x2fc5c4,alpha:_0xf877ee}=this[_0x519178(0x8e3,_0x4ade10._0x53f7a3)](_0x4bf79b,_0x2c487e);function _0x519178(_0x250e9f,_0x498ed4){return _0x7afdbe(_0x498ed4,_0x250e9f- -0x4ba);}return'rgba('+_0x4455c6+','+_0x4b4e4c+','+_0x2fc5c4+','+_0xf877ee+')';}['getCesiumColor'](_0x5cd52e,_0xda74d4){const {red:_0x20204f,green:_0x1e7cb4,blue:_0x36ae9e,alpha:_0x150332}=this['_getColorObj'](_0x5cd52e,_0xda74d4);return new Cesium__namespace['Color'](_0x20204f,_0x1e7cb4,_0x36ae9e,_0x150332);}}class TaskItem extends BaseClass{constructor(_0x1aa744={}){const _0x5d041f={_0x3a184d:0x14da,_0x3862bc:0x18a8,_0x33b052:0x15f3,_0x52c20b:0x1dcf,_0x49c2dd:0x41c},_0x37bc84={_0x308aa6:0x1a7};function _0x884eb1(_0x298db3,_0x368dd9){return _0x54a7f1(_0x298db3- -_0x37bc84._0x308aa6,_0x368dd9);}super(_0x1aa744),this['_start']=_0x1aa744[_0x2038ff(0x857,0x76e)]??0x0;function _0x2038ff(_0x461bd3,_0x4b7b96){return _0x54a7f1(_0x461bd3- -0xd4,_0x4b7b96);}Cesium__namespace[_0x884eb1(_0x5d041f._0x3a184d,_0x5d041f._0x3862bc)](_0x1aa744[_0x884eb1(0x742,0x9a7)])?(this['_duration']=_0x1aa744['duration'],this['_stop']=this['_start']+this['_duration']):(this[_0x2038ff(_0x5d041f._0x33b052,_0x5d041f._0x52c20b)]=_0x1aa744['stop'],this[_0x884eb1(0x357,_0x5d041f._0x49c2dd)]=this[_0x2038ff(0x15f3,0x10de)]-this['_start']);}get['id'](){return this['options']['id'];}get[_0x7afdbe(0xe18,0x14aa)](){return this['options']['name'];}get['time'](){return this['_currentTime'];}get[_0x7afdbe(0x13e0,0xe79)](){const _0xe75e5c={_0x4692a4:0xcc0,_0x410801:0x847};function _0x48e386(_0x87830a,_0x213f6c){return _0x54a7f1(_0x87830a-0x75,_0x213f6c);}return this['options'][_0x48e386(_0xe75e5c._0x4692a4,_0xe75e5c._0x410801)];}get['start'](){return this['_start'];}get['stop'](){return this['_stop'];}get['duration'](){return this['_duration'];}get['outDuration'](){const _0x40bb4b={_0x238c60:0xef2,_0x380cfb:0xa7b,_0x542b4c:0x1a51};if(this[_0x3397d1(_0x40bb4b._0x238c60,0x73c)]<this['_start']||this[_0x2c6299(0x5de,_0x40bb4b._0x380cfb)]>this[_0x2c6299(_0x40bb4b._0x542b4c,0x194b)])return 0x0;function _0x2c6299(_0xaddc6e,_0x30f173){return _0x7afdbe(_0xaddc6e,_0x30f173-0x56);}function _0x3397d1(_0xda2e25,_0x2dfe09){return _0x7afdbe(_0xda2e25,_0x2dfe09- -0x2e9);}return this['_duration']-(this['_currentTime']-this[_0x3397d1(0x994,0x28b)]);}get['isActivate'](){function _0x3878b8(_0x518e49,_0x435a8e){return _0x7afdbe(_0x518e49,_0x435a8e- -0x59b);}return this[_0x3878b8(0xc14,0xf90)];}get['isPause'](){const _0x1ff35a={_0x13c2a9:0x3e4},_0xe38665={_0x2d4c85:0x3d4};function _0x2a7552(_0x4d9b3f,_0x69714b){return _0x54a7f1(_0x4d9b3f- -_0xe38665._0x2d4c85,_0x69714b);}return this[_0x2a7552(0x6d0,-_0x1ff35a._0x13c2a9)];}['update'](_0x3d250){const _0x2e082c={_0x379c12:0xac6,_0x16c57e:0xae8};this['_currentTime']=_0x3d250;if(this[_0x1ef7bb(0x10aa,_0x2e082c._0x379c12)][_0x425602(_0x2e082c._0x16c57e,0x1012)]===![]||this['options'][_0x425602(0x1538,0x125f)]===![])return;function _0x1ef7bb(_0x3eb5b8,_0x33824c){return _0x7afdbe(_0x3eb5b8,_0x33824c- -0x18);}function _0x425602(_0xcaa798,_0xd6ac25){return _0x54a7f1(_0xcaa798- -0xbb,_0xd6ac25);}if(_0x3d250<this[_0x1ef7bb(0x6f5,0x55c)]||_0x3d250>=this['_stop'])this['disable']();else return this[_0x425602(0xf49,0x19ce)]();}['activate'](){const _0x3cf178={_0x3f547f:0x127d,_0x47ddfd:0x15a4,_0x5129d3:0x476,_0x503ce8:0x9f3},_0x4a62bf={_0x36078b:0x4ae};function _0x1a77f9(_0x31b21a,_0x260590){return _0x7afdbe(_0x260590,_0x31b21a- -0x60e);}if(this['_isPause']){this[_0x10f04e(0x1a31,_0x3cf178._0x3f547f)]();return;}if(this['_isActivate'])return![];function _0x10f04e(_0x540dd3,_0x31d929){return _0x7afdbe(_0x540dd3,_0x31d929- -_0x4a62bf._0x36078b);}return this[_0x1a77f9(0xf1d,_0x3cf178._0x47ddfd)]=!![],this[_0x1a77f9(0x301,_0x3cf178._0x5129d3)]['fire'](EventType[_0x1a77f9(0x1245,_0x3cf178._0x503ce8)],{'index':this['index'],'time':this[_0x1a77f9(0x67f,0xb)],'sourceTarget':this}),this['_activateWork']&&this[_0x1a77f9(0x11a5,0xc5f)](this['options']),!![];}['disable'](){const _0x416ef7={_0x5d7d3a:0xb58,_0x3c0982:0x1420,_0xef8149:0x1160,_0x47986f:0x1327},_0x5d2f24={_0x229828:0x13d};if(!this[_0x5e5477(0x13ee,0x1eac)])return![];delete this['_isActivate'];function _0x5e5477(_0x2e0537,_0x2b1945){return _0x7afdbe(_0x2b1945,_0x2e0537- -_0x5d2f24._0x229828);}function _0x1ce710(_0x29ffd1,_0x337366){return _0x54a7f1(_0x337366-0x2a8,_0x29ffd1);}return this[_0x5e5477(0xd23,0x105e)]&&this['_disableWork'](this[_0x1ce710(0x60a,_0x416ef7._0x5d7d3a)]),this['_parent'][_0x1ce710(_0x416ef7._0x3c0982,_0x416ef7._0xef8149)](EventType['endItem'],{'index':this['index'],'time':this[_0x5e5477(0xb50,_0x416ef7._0x47986f)],'sourceTarget':this}),!![];}[_0x7afdbe(0xbfe,0x71d)](){const _0x99b0bb={_0x52ef9f:0xd7b,_0x5d6b05:0x103e,_0x25c00b:0x1847,_0x489eb0:0xe2c,_0x1a8cde:0x450},_0x35ce67={_0x186e42:0x34},_0x58ae87={_0x351f42:0x68e};if(!this['_isActivate']||this['_isPause'])return![];function _0x122e26(_0x3e0637,_0x4ad19f){return _0x7afdbe(_0x4ad19f,_0x3e0637- -_0x58ae87._0x351f42);}this[_0x122e26(0x644,_0x99b0bb._0x52ef9f)]=!![],this['_parent']['fire']('pauseItem',{'index':this['index'],'time':this[_0x445122(0x1722,0xc59)],'sourceTarget':this});function _0x445122(_0x3d4070,_0xd71228){return _0x7afdbe(_0x3d4070,_0xd71228- -_0x35ce67._0x186e42);}if(this[_0x122e26(_0x99b0bb._0x5d6b05,0x185a)])this['_pauseWork'](this[_0x445122(0xf8e,0xaaa)]);else this[_0x122e26(0x7d2,0xf82)]&&this[_0x445122(_0x99b0bb._0x25c00b,_0x99b0bb._0x489eb0)](this[_0x122e26(_0x99b0bb._0x1a8cde,0x14b)]);}['proceed'](){const _0x44742b={_0x1d8936:0x2e3,_0x35ad75:0x8dc,_0x3e0b32:0x11e5},_0x1fe83d={_0x55dea2:0x3a0};if(!this[_0x4d97c5(0x704,-_0x44742b._0x1d8936)])return![];delete this['_isPause'];function _0x519c35(_0x2a2a09,_0x649bac){return _0x7afdbe(_0x649bac,_0x2a2a09- -0x3b1);}function _0x4d97c5(_0x3176cd,_0x2d5824){return _0x54a7f1(_0x3176cd- -_0x1fe83d._0x55dea2,_0x2d5824);}this['_parent']['fire'](_0x4d97c5(0x2d7,-0x1cd),{'index':this[_0x519c35(0xac8,0x1031)],'time':this[_0x519c35(_0x44742b._0x35ad75,0x1202)],'sourceTarget':this});if(this['_proceedWork'])this[_0x519c35(0x258,-0x234)](this['options']);else this['_activateWork']&&this[_0x4d97c5(_0x44742b._0x3e0b32,0x18bc)](this['options']);}['toJSON'](){const _0x6c8602={_0x1375a2:0x1a4a,_0x168374:0xa54,_0x5dcf60:0xbda},_0x3835e9={_0x3a61b5:0x57b},_0x464fe0=clone(this['options'],[_0x44353e(_0x6c8602._0x1375a2,0x1077),_0x44353e(0x1496,_0x6c8602._0x168374)]);_0x464fe0[_0x2fc8ea(_0x6c8602._0x5dcf60,0x96d)]=this['type'];function _0x44353e(_0x1efbef,_0x526565){return _0x7afdbe(_0x1efbef,_0x526565- -_0x3835e9._0x3a61b5);}this['_toJsonEx']&&this[_0x44353e(0x454,0x7e0)](_0x464fe0);function _0x2fc8ea(_0x382208,_0x423719){return _0x7afdbe(_0x382208,_0x423719- -0xf7);}for(const _0x191b0b in _0x464fe0){const _0x2964e9=_0x464fe0[_0x191b0b];(!Cesium__namespace['defined'](_0x2964e9)||isObject(_0x2964e9)&&Object['keys'](_0x2964e9)[_0x2fc8ea(0x65a,0x10bc)]===0x0)&&delete _0x464fe0[_0x191b0b];}return _0x464fe0;}}const errorToken=_0x7afdbe(0x1890,0x174c);let ion='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyNDMxOTA2NS1lY2Q3LTQ0YmUtOTE1Mi1iNWE2OGYwZjc0MjkiLCJpZCI6MjM1NjMwLCJpYXQiOjE3MzA3MjQzMTJ9.Xhu-9FyVEyqBKWEr0V9Sybt-elTCWHt9peL9-mNh-4E';function updateIon(_0x27e300){const _0x43f715={_0x30b0f3:0x1829};ion=_0x27e300;function _0x511e6b(_0x40e2f1,_0x17fe36){return _0x54a7f1(_0x40e2f1- -0x216,_0x17fe36);}Cesium__namespace[_0x511e6b(0xfda,_0x43f715._0x30b0f3)]['defaultAccessToken']=_0x27e300;}let mapbox=errorToken;function updateMapbox(_0x317e42){mapbox=_0x317e42;}let bing=isMarsOnline?_0x7afdbe(0x1087,0xe4a):errorToken;function updateBing(_0x3e769e){bing=_0x3e769e;}const tiandituArr=isMarsOnline?[_0x54a7f1(0x3eb,0xad),'772656db9731cb01e78e083139474b5b']:[_0x7afdbe(0x198a,0x11b1)];let tianditu=getArrayRandomOne(tiandituArr);function updateTianditu(_0x127957){const _0x1021a3={_0x5009aa:0xc8c,_0x1fe9d8:0x11c0},_0x9edb5={_0x466dfb:0x78};function _0x1834f4(_0x5a85f7,_0x394586){return _0x54a7f1(_0x5a85f7- -0x2f9,_0x394586);}tiandituArr['splice'](0x0,tiandituArr[_0x1834f4(_0x1021a3._0x5009aa,_0x1021a3._0x1fe9d8)]);Array['isArray'](_0x127957)?_0x127957[_0x1834f4(0x34c,0xa37)](_0x3a2425=>{tiandituArr['push'](_0x3a2425);}):tiandituArr['push'](_0x127957);function _0xdedc36(_0x186a82,_0x1f1787){return _0x7afdbe(_0x1f1787,_0x186a82-_0x9edb5._0x466dfb);}tianditu=getArrayRandomOne(tiandituArr);}const gaodeArr=isMarsOnline?['64f7c27bd15be09f105db1750b502bfc',_0x7afdbe(0x3f4,0x4f0),_0x54a7f1(0x439,0xc14),_0x7afdbe(0x2d7,0x96b)]:[errorToken];let gaode=getArrayRandomOne(gaodeArr);function updateGaode(_0x2257be){const _0x43b8f9={_0x377b1b:0x5ac},_0x1525b1={_0xfa463d:0x9b4},_0x3cd4c1={_0x2e12da:0xe},_0x10d29d={_0x30c11e:0x201};gaodeArr['splice'](0x0,gaodeArr[_0x845724(0x1656,0xfb2)]);function _0x845724(_0x5373b8,_0x13917b){return _0x7afdbe(_0x5373b8,_0x13917b- -_0x10d29d._0x30c11e);}Array['isArray'](_0x2257be)?_0x2257be[_0x5383cc(_0x43b8f9._0x377b1b,-0x27b)](_0x12c5ce=>{function _0x18c9d0(_0x2df965,_0x404e48){return _0x5383cc(_0x404e48-_0x3cd4c1._0x2e12da,_0x2df965);}gaodeArr[_0x18c9d0(_0x1525b1._0xfa463d,0xe7d)](_0x12c5ce);}):gaodeArr[_0x845724(0xeda,0xf35)](_0x2257be);function _0x5383cc(_0x363daf,_0x13be20){return _0x7afdbe(_0x13be20,_0x363daf- -0x2c7);}gaode=getArrayRandomOne(gaodeArr);}const baiduArr=isMarsOnline?[_0x54a7f1(0x13e1,0x1122),'YWfmNSA7COMk7paj0qNNkDhAdhOhw9M2','6EVosdf8NzqnxEXhNB6iuXQ8K3BhGDQ1']:[errorToken];let baidu=getArrayRandomOne(baiduArr);function updateBaidu(_0x38d03a){const _0x515a24={_0x22c49f:0x11aa,_0x1f5bd0:0x17e9},_0x1c6be5={_0x4ccb43:0x84};baiduArr['splice'](0x0,baiduArr[_0x2598b0(_0x515a24._0x22c49f,0xcf7)]);function _0x2598b0(_0x670f0,_0x29b411){return _0x7afdbe(_0x670f0,_0x29b411- -0x4bc);}function _0x1e5a8e(_0x2bf5ee,_0x233a82){return _0x7afdbe(_0x2bf5ee,_0x233a82- -0x40);}Array[_0x2598b0(_0x515a24._0x1f5bd0,0x11e0)](_0x38d03a)?_0x38d03a['forEach'](_0x57580e=>{function _0x3a24c5(_0x33fda9,_0x23be92){return _0x2598b0(_0x33fda9,_0x23be92- -_0x1c6be5._0x4ccb43);}baiduArr[_0x3a24c5(0x1291,0xbf6)](_0x57580e);}):baiduArr['push'](_0x38d03a),baidu=getArrayRandomOne(baiduArr);}function updateAll(_0x3b374c){const _0x49734b={_0x5dec2b:0x55d,_0x5d0061:0xe0c,_0x26aa51:0x908,_0x1b80fc:0x6b7};_0x3b374c['tianditu']&&updateTianditu(_0x3b374c['tianditu']);function _0x2c2601(_0x90100,_0x238cb4){return _0x7afdbe(_0x238cb4,_0x90100- -0x372);}function _0x38e795(_0x23ee49,_0x107ba7){return _0x7afdbe(_0x107ba7,_0x23ee49- -0x67a);}_0x3b374c['gaode']&&updateGaode(_0x3b374c['gaode']),_0x3b374c[_0x2c2601(0x33b,-0x55e)]&&updateBaidu(_0x3b374c['baidu']),_0x3b374c[_0x38e795(_0x49734b._0x5dec2b,_0x49734b._0x5d0061)]&&updateIon(_0x3b374c['ion']),_0x3b374c['mapbox']&&updateMapbox(_0x3b374c[_0x38e795(0x5da,_0x49734b._0x26aa51)]),_0x3b374c[_0x38e795(_0x49734b._0x1b80fc,0xb40)]&&updateBing(_0x3b374c['bing']);}const _0x219847={get 'ion'(){return ion;},get 'mapbox'(){return mapbox;},get 'bing'(){return bing;},get 'tianditu'(){return tianditu;},get 'gaode'(){return gaode;},get 'baidu'(){return baidu;}};_0x219847['__proto__']=null,_0x219847['updateIon']=updateIon,_0x219847['updateMapbox']=updateMapbox,_0x219847['updateBing']=updateBing,_0x219847['tiandituArr']=tiandituArr,_0x219847['updateTianditu']=updateTianditu,_0x219847[_0x7afdbe(0x703,0xdbe)]=gaodeArr,_0x219847['updateGaode']=updateGaode,_0x219847['baiduArr']=baiduArr,_0x219847[_0x54a7f1(0x1727,0x1ef8)]=updateBaidu,_0x219847[_0x54a7f1(0x1466,0xc24)]=updateAll;var Token=_0x219847;const Color$2=Cesium__namespace['Material'][_0x7afdbe(0x981,0xe37)],PolylineDash=Cesium__namespace['Material']['PolylineDashType'],LineDashArrow='LineDashArrow',LineDotDash='LineDotDash',PolylineOutline=Cesium__namespace['Material']['PolylineOutlineType'],PolylineArrow=Cesium__namespace[_0x54a7f1(0x609,0x958)]['PolylineArrowType'],PolylineGlow=Cesium__namespace[_0x7afdbe(0x737,0x837)]['PolylineGlowType'],LineFlow=_0x7afdbe(0x1a86,0x1916),LineFlowColor=_0x7afdbe(-0x62b,0x47a),ODLine='ODLine',LineFlicker=_0x54a7f1(0x679,-0x386),LineTrail='LineTrail',LineBloom='LineBloom',DigitalFlow='DigitalFlow',LineThreeDash='LineThreeDash',LineCross='LineCross',WallScroll='WallScroll',Image$1=Cesium__namespace[_0x7afdbe(0xc80,0x837)][_0x7afdbe(0x17f6,0x1473)],Image2='Image2',Text='Text',Grid=Cesium__namespace[_0x7afdbe(0x1cf,0x837)][_0x54a7f1(0x8f9,0x84a)],Checkerboard=Cesium__namespace['Material']['CheckerboardType'],Stripe=Cesium__namespace['Material'][_0x7afdbe(0x1001,0xd5e)],PolyGradient=_0x54a7f1(0xb0e,0x159d),PolyAsphalt=_0x54a7f1(0x15aa,0x1833),PolyBlob='PolyBlob',PolyFacet='PolyFacet',PolyGrass='PolyGrass',PolyWood=_0x54a7f1(0x96e,0xb2a),NeonLight='NeonLight',Water$1=Cesium__namespace['Material']['WaterType'],WaterLight=_0x7afdbe(0x70e,0x592),RectSlide=_0x7afdbe(0x5cd,0xe7f),ScanLine=_0x7afdbe(0x994,0x44c),CircleScan='CircleScan',CircleWave='CircleWave',RadarLine='RadarLine',RadarWave=_0x54a7f1(0x1407,0x1ce0),CylinderWave=_0x54a7f1(0x12c3,0x1a89),EllipsoidElectric='EllipsoidElectric',EllipsoidWave=_0x7afdbe(0x158f,0x150c),_0x2831c2={};_0x2831c2[_0x54a7f1(0x623,0xb1a)]=null,_0x2831c2[_0x7afdbe(0x1a45,0x14b2)]=Color$2,_0x2831c2['PolylineDash']=PolylineDash,_0x2831c2[_0x7afdbe(0x13d2,0x10a9)]=LineDashArrow,_0x2831c2['LineDotDash']=LineDotDash,_0x2831c2['PolylineOutline']=PolylineOutline,_0x2831c2['PolylineArrow']=PolylineArrow,_0x2831c2[_0x54a7f1(0xca0,0x5e0)]=PolylineGlow,_0x2831c2['LineFlow']=LineFlow,_0x2831c2[_0x54a7f1(0x24c,0x423)]=LineFlowColor,_0x2831c2[_0x54a7f1(0x288,-0x475)]=ODLine,_0x2831c2['LineFlicker']=LineFlicker,_0x2831c2['LineTrail']=LineTrail,_0x2831c2[_0x54a7f1(0x9ee,0xde)]=LineBloom,_0x2831c2['DigitalFlow']=DigitalFlow,_0x2831c2[_0x7afdbe(0x12ce,0xe81)]=LineThreeDash,_0x2831c2['LineCross']=LineCross,_0x2831c2[_0x7afdbe(0x1458,0xc06)]=WallScroll,_0x2831c2['Image']=Image$1,_0x2831c2[_0x54a7f1(0x863,0x1d9)]=Image2,_0x2831c2[_0x54a7f1(0x94e,0x786)]=Text,_0x2831c2['Grid']=Grid,_0x2831c2['Checkerboard']=Checkerboard,_0x2831c2['Stripe']=Stripe,_0x2831c2['PolyGradient']=PolyGradient,_0x2831c2[_0x7afdbe(0x1022,0x17d8)]=PolyAsphalt,_0x2831c2[_0x7afdbe(0x1e61,0x184d)]=PolyBlob,_0x2831c2['PolyFacet']=PolyFacet,_0x2831c2['PolyGrass']=PolyGrass,_0x2831c2[_0x7afdbe(0x20c,0xb9c)]=PolyWood,_0x2831c2['NeonLight']=NeonLight,_0x2831c2[_0x7afdbe(0x14a0,0x181b)]=Water$1,_0x2831c2['WaterLight']=WaterLight,_0x2831c2['RectSlide']=RectSlide,_0x2831c2['ScanLine']=ScanLine,_0x2831c2[_0x54a7f1(0x8fc,0x381)]=CircleScan,_0x2831c2[_0x7afdbe(0x14bd,0x16d8)]=CircleWave,_0x2831c2['RadarLine']=RadarLine,_0x2831c2['RadarWave']=RadarWave,_0x2831c2['CylinderWave']=CylinderWave,_0x2831c2[_0x54a7f1(0xda6,0x419)]=EllipsoidElectric,_0x2831c2[_0x54a7f1(0x12de,0x1b52)]=EllipsoidWave;var MaterialType$1=_0x2831c2;const LayerType={},ControlType={},EffectType={},ThingType={},_0x383415={};_0x383415[_0x54a7f1(0x1672,0xeb9)]=0x0,_0x383415['NARROW']=0x1,_0x383415['LEFT_ROTATE']=0x2,_0x383415[_0x7afdbe(0x10c5,0x1885)]=0x3,_0x383415[_0x54a7f1(0x253,-0x7ce)]=0x4,_0x383415[_0x7afdbe(0x1da0,0x1323)]=0x5;const MoveType=_0x383415,_0x2ec082={};_0x2ec082['Z']=0x1,_0x2ec082['ZR']=0x2,_0x2ec082['X']=0x3,_0x2ec082['XR']=0x4,_0x2ec082['Y']=0x5,_0x2ec082['YR']=0x6;const ClipType=_0x2ec082,_0x53d3f6={};_0x53d3f6[_0x7afdbe(0x1164,0x1833)]=_0x54a7f1(0x1305,0x10a2),_0x53d3f6['Coordinates']='fa\x20fa-info-circle',_0x53d3f6['CameraInfo']='fa\x20fa-camera-retro',_0x53d3f6[_0x7afdbe(0x4a3,0xc35)]='fa\x20fa-street-view',_0x53d3f6['UndergroundNo']=_0x54a7f1(0x15dc,0x18e2),_0x53d3f6[_0x54a7f1(0x4f3,0x10e)]='fa\x20fa-sort-amount-desc',_0x53d3f6['RotatePointStart']=_0x7afdbe(0xf18,0x181d),_0x53d3f6['RotatePointStop']=_0x7afdbe(0x1a89,0x18cd),_0x53d3f6[_0x7afdbe(0xedd,0xb2b)]='fa\x20fa-send-o',_0x53d3f6['FirstPerspective']='fa\x20fa-male',_0x53d3f6['KeyboardRoamYes']=_0x7afdbe(0x3af,0xe3c),_0x53d3f6['KeyboardRoamNo']=_0x7afdbe(0x17ca,0xe3c),_0x53d3f6['TrackedEntityYes']='fa\x20fa-lock',_0x53d3f6[_0x7afdbe(-0x17e,0x542)]=_0x54a7f1(0xcdf,0x668),_0x53d3f6['Tileset']='fa\x20fa-building-o',_0x53d3f6[_0x54a7f1(0xeac,0x191a)]=_0x54a7f1(0x15fd,0x1b27),_0x53d3f6['TilesetWireframeNo']=_0x54a7f1(0x15fd,0x1bbd),_0x53d3f6['TilesetBoundingVolumeYes']='fa\x20fa-codepen',_0x53d3f6['TilesetBoundingVolumeNo']=_0x54a7f1(0xa6d,0x7d0),_0x53d3f6['Terrain']=_0x7afdbe(0x174e,0x1373),_0x53d3f6['TerrainYes']='fa\x20fa-medium',_0x53d3f6['TerrainNo']='fa\x20fa-medium',_0x53d3f6['TerrainWireframeYes']=_0x54a7f1(0x15fd,0xb46),_0x53d3f6[_0x54a7f1(0x540,0xe1d)]='fa\x20fa-connectdevelop',_0x53d3f6['Measure']='fa\x20fa-share-alt',_0x53d3f6['MeasureDistance']=_0x7afdbe(-0x322,0x4f7),_0x53d3f6['MeasureArea']='fa\x20fa-medium',_0x53d3f6[_0x54a7f1(0x87e,0xd3e)]='fa\x20fa-sort-amount-asc',_0x53d3f6[_0x54a7f1(0x323,-0x6df)]='fa\x20fa-road',_0x53d3f6['Draw']='fa\x20fa-eyedropper',_0x53d3f6['DrawPoint']='fa\x20fa-map-marker',_0x53d3f6[_0x7afdbe(0xb63,0xe87)]=_0x54a7f1(0x138e,0xbf3),_0x53d3f6[_0x54a7f1(0xdbf,0x1128)]='fa\x20fa-medium',_0x53d3f6['DrawCircle']=_0x7afdbe(0x15d7,0x1836),_0x53d3f6['DrawRectangle']='fa\x20fa-retweet',_0x53d3f6[_0x54a7f1(0x14b5,0x1b86)]=_0x7afdbe(0x1730,0xccd),_0x53d3f6['DrawEditNo']='fa\x20fa-pencil-square',_0x53d3f6['DrawDownJson']=_0x7afdbe(0x5d4,0xd5f),_0x53d3f6['Effect']=_0x7afdbe(0x3b1,0x7cb),_0x53d3f6[_0x7afdbe(0x4cf,0x967)]=_0x7afdbe(0x337,0xb7a),_0x53d3f6['RainEffectNo']=_0x54a7f1(0x94c,0x467),_0x53d3f6[_0x7afdbe(0x14ca,0x1723)]='fa\x20fa-yelp',_0x53d3f6[_0x54a7f1(0x748,0x48c)]='fa\x20fa-yelp',_0x53d3f6['FogEffectYes']='fa\x20fa-spinner',_0x53d3f6['FogEffectNo']=_0x54a7f1(0x9ac,0xe70),_0x53d3f6[_0x54a7f1(0x13c2,0x1e35)]=_0x54a7f1(0x6a6,-0x18f),_0x53d3f6[_0x7afdbe(0x673,0x7aa)]=_0x7afdbe(0x1178,0x8d4),_0x53d3f6['BrightnessEffectYes']='fa\x20fa-trello',_0x53d3f6['BrightnessEffectNo']='fa\x20fa-trello',_0x53d3f6['NightVisionEffectYes']='fa\x20fa-dashboard',_0x53d3f6['NightVisionEffectNo']='fa\x20fa-dashboard',_0x53d3f6[_0x54a7f1(0x62e,0x6eb)]='fa\x20fa-star-half-full',_0x53d3f6['BlackAndWhiteEffectNo']=_0x54a7f1(0x16db,0x1d76),_0x53d3f6['OutlineEffectYes']=_0x54a7f1(0x1461,0x1ccc),_0x53d3f6[_0x7afdbe(0x1370,0x9a9)]=_0x7afdbe(0x122b,0x168f),_0x53d3f6['Scene']='fa\x20fa-gear',_0x53d3f6[_0x54a7f1(0xb87,0x7e6)]='fa\x20fa-eye-slash',_0x53d3f6['DepthTestNo']=_0x54a7f1(0xac1,0x150),_0x53d3f6['SkyBoxYes']='fa\x20fa-moon-o',_0x53d3f6['SkyBoxNo']=_0x54a7f1(0x1326,0x1335),_0x53d3f6['ShadowYes']=_0x54a7f1(0xf8f,0x14dc),_0x53d3f6[_0x7afdbe(0x6b1,0x4dd)]=_0x7afdbe(0xfa7,0x11bd),_0x53d3f6['SkyAtmosphereYes']='fa\x20fa-soundcloud',_0x53d3f6['SkyAtmosphereNo']=_0x54a7f1(0x1231,0xca6),_0x53d3f6[_0x54a7f1(0x499,0x906)]='fa\x20fa-download';const Icon=_0x53d3f6,_0xb84b5c={};_0xb84b5c['Control']=0x1,_0xb84b5c['MoveAll']=0x2,_0xb84b5c['AddMidPoint']=0x3,_0xb84b5c['MoveHeight']=0x4,_0xb84b5c[_0x7afdbe(0x9c7,0x10e8)]=0x5,_0xb84b5c['EditRotation']=0x6;const EditPointType=_0xb84b5c;function create$4(_0x1cc6eb,_0x4a4e30,_0x3108f7){const _0x44c84e={_0x1f2438:0x149c,_0xb09332:0x123d},_0x52d3ce={_0x48305b:0x2ca},_0x2b656b={_0x5cc00a:0xe3},_0x1d326e=document['createElement'](_0x1cc6eb);function _0x30dc77(_0x3d2975,_0x430a21){return _0x54a7f1(_0x430a21- -_0x2b656b._0x5cc00a,_0x3d2975);}function _0x58ff93(_0x5714c2,_0x3db061){return _0x54a7f1(_0x3db061- -_0x52d3ce._0x48305b,_0x5714c2);}return _0x1d326e[_0x30dc77(0x1e87,0x14c9)]=_0x4a4e30||'',_0x3108f7&&_0x3108f7[_0x58ff93(_0x44c84e._0x1f2438,_0x44c84e._0xb09332)](_0x1d326e),_0x1d326e;}function createSvg(_0xfadc25,_0x46e152,_0xc27d5f,_0x25bd73){const _0x19f50c={_0x37d631:0x7e9,_0x60061a:0x25f,_0x2a81c3:0x13c5,_0x71c706:0x1e48,_0x54d39a:0xa59,_0x57e480:0x8d9,_0x3b7516:0x12da,_0x4d8dff:0x1629},_0x11aab5={_0x223e1b:0x10c},_0x559db8=document['createElementNS']('http://www.w3.org/2000/svg','svg:svg');_0x559db8[_0x1d824e(0x7a5,_0x19f50c._0x37d631)]('class','svg-path'),_0x559db8[_0x32f4c3(0xa59,_0x19f50c._0x60061a)](_0x1d824e(_0x19f50c._0x2a81c3,_0x19f50c._0x71c706),_0xfadc25),_0x559db8['setAttribute']('height',_0x46e152),_0x559db8[_0x32f4c3(_0x19f50c._0x54d39a,0x8b2)]('viewBox',_0x1d824e(0xb72,0xdbe)+_0xfadc25+'\x20'+_0x46e152);const _0x19150b=document['createElementNS']('http://www.w3.org/2000/svg',_0x32f4c3(_0x19f50c._0x57e480,_0x19f50c._0x3b7516));function _0x32f4c3(_0x382d36,_0x470a4a){return _0x7afdbe(_0x470a4a,_0x382d36- -_0x11aab5._0x223e1b);}_0x19150b['setAttribute']('d',_0xc27d5f),_0x559db8[_0x32f4c3(0x1629,0x1cfe)](_0x19150b);_0x25bd73&&_0x25bd73[_0x32f4c3(_0x19f50c._0x4d8dff,0x16fc)](_0x559db8);function _0x1d824e(_0x12e81c,_0x561a87){return _0x7afdbe(_0x561a87,_0x12e81c- -0x3c0);}return _0x559db8;}function createVideo(_0x37b0bb,_0xd03cf9,_0x41c097,_0x1d1341){const _0xb9d395={_0x45cabc:0x62c,_0x505f1b:0x8a},_0x11432a={_0x42bfc6:0x2f7};function _0x45bc70(_0x53d064,_0x5c0817){return _0x7afdbe(_0x5c0817,_0x53d064- -0x2bc);}const _0x5c39fa=create$4(_0x1dd0c0(_0xb9d395._0x45cabc,-_0xb9d395._0x505f1b),_0x41c097,_0x1d1341);_0x5c39fa['setAttribute']('autoplay',!![]);function _0x1dd0c0(_0x8829ca,_0xb3713b){return _0x54a7f1(_0x8829ca- -_0x11432a._0x42bfc6,_0xb3713b);}_0x5c39fa['setAttribute']('loop',!![]),_0x5c39fa[_0x1dd0c0(0x640,0x4c6)]('crossorigin',!![]);!_0xd03cf9&&(_0xd03cf9=_0x37b0bb['substring'](_0x37b0bb['lastIndexOf']('.')+0x1,_0x37b0bb['length']));const _0x5a2055=create$4('source','',_0x5c39fa);return _0x5a2055['setAttribute']('src',_0x37b0bb),_0x5a2055['setAttribute']('type','video/'+_0xd03cf9),_0x5c39fa;}function get(_0x38d49f){const _0x1f8d6f={_0xa3a921:0x1053};function _0x3cad20(_0x9dcb46,_0x3c1dc3){return _0x54a7f1(_0x9dcb46- -0x1a6,_0x3c1dc3);}function _0x350c39(_0x2846b7,_0x546b83){return _0x7afdbe(_0x546b83,_0x2846b7- -0x1fc);}return typeof _0x38d49f===_0x3cad20(_0x1f8d6f._0xa3a921,0x112a)?document[_0x350c39(0x13ee,0x99e)](_0x38d49f):_0x38d49f;}function parseDom(_0x480dfa,_0x5a036a,_0x2d2906){const _0x456f81={_0x5aca1d:0x1284,_0x5432a3:0x127c,_0x5b488b:0x1320,_0x5bbe6c:0x13d},_0x167728={_0x563d13:0x258},_0x23fb23={_0x442357:0x31a},_0x45209f=document[_0x47f983(_0x456f81._0x5aca1d,_0x456f81._0x5432a3)]('div');function _0x28da4b(_0x28102e,_0x3644b2){return _0x7afdbe(_0x3644b2,_0x28102e- -_0x23fb23._0x442357);}_0x2d2906&&(_0x45209f[_0x28da4b(0x14c0,_0x456f81._0x5b488b)]=_0x2d2906);function _0x47f983(_0x474adc,_0x203775){return _0x54a7f1(_0x203775-_0x167728._0x563d13,_0x474adc);}return _0x45209f['innerHTML']=_0x480dfa,_0x5a036a?_0x45209f:_0x45209f[_0x28da4b(_0x456f81._0x5bbe6c,0x72b)];}function remove(_0x211c6c){_0x211c6c=get(_0x211c6c);if(!_0x211c6c)return;const _0x1d34c2=_0x211c6c['parentNode'];_0x1d34c2&&_0x1d34c2['removeChild'](_0x211c6c);}function empty(_0x3404c7){const _0x26eda0={_0x3288cc:0x1204};function _0x4680a5(_0x24979e,_0x66c05d){return _0x54a7f1(_0x24979e- -0x205,_0x66c05d);}while(_0x3404c7['firstChild']){_0x3404c7['removeChild'](_0x3404c7[_0x4680a5(_0x26eda0._0x3288cc,0x7be)]);}}function getStyle(_0x3e38f5,_0x4f692a){const _0x20c215={_0xef0309:0x1051,_0x44eebf:0x15e9},_0x15158c={_0x25d720:0x109};let _0x360f1a=_0x3e38f5[_0x402e67(0x42d,0x87)][_0x4f692a]||_0x3e38f5[_0x54e7b4(_0x20c215._0xef0309,0x1917)]&&_0x3e38f5['currentStyle'][_0x4f692a];function _0x402e67(_0x3b2f86,_0x2bb9ca){return _0x54a7f1(_0x3b2f86- -0x6f,_0x2bb9ca);}if((!_0x360f1a||_0x360f1a==='auto')&&document[_0x402e67(0x708,0x461)]){const _0x3401cd=document['defaultView']['getComputedStyle'](_0x3e38f5,null);_0x360f1a=_0x3401cd?_0x3401cd[_0x4f692a]:null;}function _0x54e7b4(_0x500487,_0x516230){return _0x54a7f1(_0x500487- -_0x15158c._0x25d720,_0x516230);}return _0x360f1a===_0x54e7b4(_0x20c215._0x44eebf,0xceb)?null:_0x360f1a;}function hasClass(_0x4d8da9,_0x1ab248){const _0x34d2ea={_0x82779a:0xf90,_0x487881:0xa9d,_0x175edb:0x6c5};if(!_0x4d8da9)return![];if(_0x4d8da9['classList']!==undefined)return _0x4d8da9['classList']['contains'](_0x1ab248);function _0x17bb6f(_0x419362,_0x147901){return _0x7afdbe(_0x147901,_0x419362- -0x144);}const _0x288382=getClass$4(_0x4d8da9);function _0x68a3cb(_0x7360f3,_0x10dc51){return _0x7afdbe(_0x7360f3,_0x10dc51- -0x9a);}return _0x288382['length']>0x0&&new RegExp(_0x68a3cb(_0x34d2ea._0x82779a,0x175a)+_0x1ab248+'(\x5cs|$)')[_0x68a3cb(_0x34d2ea._0x487881,_0x34d2ea._0x175edb)](_0x288382);}function addClass(_0x44eca6,_0x2ad549){const _0x34fa07={_0x3d68f5:0x93e},_0x19a4fb={_0x34cd9a:0x2ae};if(!_0x44eca6)return;function _0x1e8efa(_0x3cc3b8,_0x20d888){return _0x54a7f1(_0x20d888-_0x19a4fb._0x34cd9a,_0x3cc3b8);}function _0x54cfd8(_0x5a0a4b,_0x2f0278){return _0x54a7f1(_0x5a0a4b- -0x97,_0x2f0278);}if(_0x44eca6[_0x54cfd8(0x716,0x3c5)]!==undefined){const _0x1db15b=splitWords(_0x2ad549);for(let _0x43a7d5=0x0,_0xe58d95=_0x1db15b['length'];_0x43a7d5<_0xe58d95;_0x43a7d5++){_0x44eca6['classList'][_0x1e8efa(0x128b,_0x34fa07._0x3d68f5)](_0x1db15b[_0x43a7d5]);}}else{if(!hasClass(_0x44eca6,_0x2ad549)){const _0xff0c88=getClass$4(_0x44eca6);setClass(_0x44eca6,(_0xff0c88?_0xff0c88+'\x20':'')+_0x2ad549);}}}function removeClass(_0x427d83,_0x13e11a){const _0x4830eb={_0x23cc27:0x3},_0x471a45={_0x3870e0:0x4d8};if(!_0x427d83)return;function _0xd4d2a2(_0x225b57,_0x12e2a2){return _0x54a7f1(_0x225b57- -_0x471a45._0x3870e0,_0x12e2a2);}_0x427d83[_0xd4d2a2(0x2d5,_0x4830eb._0x23cc27)]!==undefined?_0x427d83['classList']['remove'](_0x13e11a):setClass(_0x427d83,trim(('\x20'+getClass$4(_0x427d83)+'\x20')['replace']('\x20'+_0x13e11a+'\x20','\x20')));}function setClass(_0x53d78f,_0x15db69){const _0x1e8c9e={_0x16271b:0xabe,_0x465eae:0x1559,_0x30143d:0x11d3,_0x551e64:0x12d9},_0x3b328f={_0x4e5cb9:0x53},_0x5990c1={_0x316a15:0x3d};function _0x54e010(_0x3cc7a8,_0x95942b){return _0x54a7f1(_0x3cc7a8- -_0x5990c1._0x316a15,_0x95942b);}function _0x2e0cf2(_0x4f8dfe,_0x15fba0){return _0x54a7f1(_0x15fba0- -_0x3b328f._0x4e5cb9,_0x4f8dfe);}!_0x53d78f['className']||!_0x53d78f['className']['baseVal']?_0x53d78f[_0x2e0cf2(_0x1e8c9e._0x16271b,_0x1e8c9e._0x465eae)]=_0x15db69:_0x53d78f['className'][_0x2e0cf2(_0x1e8c9e._0x30143d,_0x1e8c9e._0x551e64)]=_0x15db69;}function getClass$4(_0x5b4d78){const _0x414add={_0xd9aee4:0x1e61,_0x104594:0x16d5};var _0x5c2e48;function _0x421808(_0x136388,_0x26dc49){return _0x54a7f1(_0x26dc49- -0x452,_0x136388);}function _0x15f514(_0x1687d4,_0x15ef62){return _0x54a7f1(_0x15ef62-0x129,_0x1687d4);}return _0x5b4d78[_0x421808(0x521,0xd47)]&&(_0x5b4d78=_0x5b4d78[_0x15f514(0xa37,0x12c2)]),(_0x5c2e48=_0x5b4d78['className'])!==null&&_0x5c2e48!==void 0x0&&_0x5c2e48['baseVal']?_0x5b4d78['className']['baseVal']:_0x5b4d78[_0x15f514(_0x414add._0xd9aee4,_0x414add._0x104594)];}function copyCanvas(_0x3eea12){const _0x514df3={_0x44b98c:0xfd6,_0x363f8d:0x477,_0x3e8bde:0xce,_0x3293e9:0xbe0,_0x1ccaf6:0x113c,_0x3da779:0x36d},_0x16cd61={};_0x16cd61[_0x145c38(_0x514df3._0x44b98c,0x6ac)]=!![];const _0x3c4b48=_0x3eea12['getContext']('2d',_0x16cd61)['getImageData'](0x0,0x0,_0x3eea12['width'],_0x3eea12['height']),_0x56f66e=document['createElement'](_0xd37f22(_0x514df3._0x363f8d,_0x514df3._0x3e8bde));_0x56f66e[_0xd37f22(0x10ec,_0x514df3._0x3293e9)]=_0x3eea12[_0xd37f22(0x10ec,0x9a7)],_0x56f66e['height']=_0x3eea12['height'];function _0xd37f22(_0x25295d,_0x5ca4a1){return _0x7afdbe(_0x5ca4a1,_0x25295d- -0x699);}const _0x4e4d64={};_0x4e4d64['willReadFrequently']=!![];const _0x209086=_0x56f66e['getContext']('2d',_0x4e4d64);function _0x145c38(_0x1cc09b,_0x566f6a){return _0x54a7f1(_0x566f6a- -0x1bc,_0x1cc09b);}return _0x209086[_0xd37f22(_0x514df3._0x1ccaf6,0x1321)](0x0,0x0,_0x56f66e['width'],_0x56f66e[_0xd37f22(0x1fc,_0x514df3._0x3da779)]),_0x209086['putImageData'](_0x3c4b48,0x0,0x0),_0x56f66e;}const _0x15c8e1={};_0x15c8e1[_0x7afdbe(0x41d,0x851)]=null,_0x15c8e1[_0x7afdbe(0x6cf,0x892)]=create$4,_0x15c8e1['createSvg']=createSvg,_0x15c8e1['createVideo']=createVideo,_0x15c8e1['get']=get,_0x15c8e1[_0x54a7f1(0x1767,0x1054)]=parseDom,_0x15c8e1[_0x7afdbe(0x377,0x9bc)]=remove,_0x15c8e1['empty']=empty,_0x15c8e1['getStyle']=getStyle,_0x15c8e1[_0x7afdbe(0xd75,0x1326)]=hasClass,_0x15c8e1['addClass']=addClass,_0x15c8e1[_0x7afdbe(0x588,0x723)]=removeClass,_0x15c8e1[_0x7afdbe(0x637,0x59d)]=setClass,_0x15c8e1[_0x54a7f1(0x2ab,-0x56a)]=getClass$4,_0x15c8e1['copyCanvas']=copyCanvas;var DomUtil=_0x15c8e1;function getDistance(_0x2f2ce7,_0x5a80c1){const _0x489b5e={_0x52d635:0xbab,_0x1efe98:0x11e8},_0x509938={_0x4ce3b2:0xdf};function _0x5d2c1f(_0x152a3c,_0x35f0bc){return _0x7afdbe(_0x35f0bc,_0x152a3c- -0x32d);}const _0xe2d636=_0x2f2ce7[_0x30ddfe(0xea6,_0x489b5e._0x52d635)];if(!Cesium__namespace['defined'](_0x2f2ce7)||_0xe2d636<0x2)return 0x0;function _0x30ddfe(_0x3e818f,_0x4edb38){return _0x54a7f1(_0x3e818f- -_0x509938._0x4ce3b2,_0x4edb38);}_0x2f2ce7=LngLatArray['toCartesians'](_0x2f2ce7);let _0x1afaf3=0x0;for(let _0x1d8dd6=0x1;_0x1d8dd6<_0xe2d636;_0x1d8dd6++){_0x1afaf3+=Cesium__namespace[_0x5d2c1f(_0x489b5e._0x1efe98,0x1168)]['distance'](_0x2f2ce7[_0x1d8dd6-0x1],_0x2f2ce7[_0x1d8dd6]);}return _0x5a80c1&&(_0x1afaf3+=Cesium__namespace['Cartesian3'][_0x30ddfe(0x11b2,0x1182)](_0x2f2ce7[0x0],_0x2f2ce7[_0xe2d636-0x1])),_0x1afaf3;}function getSurfaceDistance(_0x265f47){const _0x5ed55b={_0x47d01f:0xdf6,_0x5c86d1:0x1058,_0x469c6b:0x573,_0xa87fdb:0x804,_0x127d22:0xf6f};if(!Cesium__namespace['defined'](_0x265f47)||_0x265f47['length']<0x2)return 0x0;_0x265f47=LngLatArray['toCartesians'](_0x265f47);function _0x3f0785(_0x377cd4,_0x5dc544){return _0x54a7f1(_0x377cd4-0x19d,_0x5dc544);}let _0x4c52ad=0x0;for(let _0x307d55=0x1,_0x50ee64=_0x265f47[_0x4e2bc1(_0x5ed55b._0x47d01f,_0x5ed55b._0x5c86d1)];_0x307d55<_0x50ee64;_0x307d55++){const _0x480bd9=Cesium__namespace['Cartographic']['fromCartesian'](_0x265f47[_0x307d55-0x1]),_0x599670=Cesium__namespace['Cartographic']['fromCartesian'](_0x265f47[_0x307d55]),_0x5569de=new Cesium__namespace[(_0x3f0785(0xe78,0x1574))]();_0x5569de['setEndPoints'](_0x480bd9,_0x599670);let _0x4fe6b2=_0x5569de[_0x4e2bc1(_0x5ed55b._0x469c6b,0x8e3)];_0x4fe6b2=Math['sqrt'](Math['pow'](_0x4fe6b2,0x2)+Math['pow'](_0x599670[_0x3f0785(_0x5ed55b._0xa87fdb,0xff8)]-_0x480bd9[_0x4e2bc1(0x4d8,_0x5ed55b._0x127d22)],0x2)),_0x4c52ad+=_0x4fe6b2;}function _0x4e2bc1(_0x47f027,_0x5b29cd){return _0x54a7f1(_0x47f027- -0x18f,_0x5b29cd);}return _0x4c52ad;}function getClampDistance(_0x54c6a3,_0x4be2f5){const _0x560a55={_0x103d2b:0x85f};let _0x22e1ca=0x0;const _0x18bb10=[];return new Promise((_0x2525cf,_0x4059d1)=>{const _0x5ecf3b={_0x2c8bfa:0x147f,_0x4890f4:0xb70,_0x32943e:0x9e0};setTimeout(()=>{const _0x350e90={_0x255e94:0x86f,_0x504ff1:0x9d5,_0x542fb5:0xfc0};function _0x49aa4f(_0x3faabd,_0xc68745){return _0x536c(_0x3faabd- -0x1b6,_0xc68745);}function _0x51cefb(_0x5ef6b7,_0x26760b){return _0x536c(_0x5ef6b7-0xbf,_0x26760b);}computeStepSurfaceLine({'scene':_0x4be2f5['scene'],'positions':_0x54c6a3,'splitNum':_0x4be2f5[_0x49aa4f(_0x560a55._0x103d2b,0x637)],'has3dtiles':_0x4be2f5['has3dtiles'],'exact':_0x4be2f5[_0x49aa4f(0xef4,0x86f)]??!![],'endItem':function(_0xa9c2ad,_0x1f4826,_0x4efc9b){const _0x4a2c28={_0x1e4824:0xff},_0x1e071a={_0x168b83:0xc7};function _0x22d9e1(_0x33a458,_0x1585b8){return _0x51cefb(_0x1585b8- -_0x1e071a._0x168b83,_0x33a458);}let _0xee003=getSurfaceDistance(_0xa9c2ad);_0x1f4826&&_0x4be2f5['disTerrainScale']&&(_0xee003=_0xee003*_0x4be2f5['disTerrainScale']);_0x22e1ca+=_0xee003,_0x18bb10['push'](_0xee003);function _0x44619e(_0x4dc03a,_0x33fe5e){return _0x49aa4f(_0x4dc03a- -_0x4a2c28._0x1e4824,_0x33fe5e);}if(_0x4be2f5['endItem']){const _0x468475={};_0x468475[_0x44619e(_0x350e90._0x255e94,0x927)]=_0x4efc9b,_0x468475[_0x22d9e1(_0x350e90._0x504ff1,_0x350e90._0x542fb5)]=_0xa9c2ad,_0x468475[_0x22d9e1(0x19a4,0x1162)]=_0xee003,_0x468475['arrDistance']=_0x18bb10,_0x468475['all_distance']=_0x22e1ca,_0x4be2f5['endItem'](_0x468475);}},'end':function(_0x29c8e8){const _0x135a6c={_0xeaef78:0x1ab};_0x4be2f5['callback']&&_0x4be2f5[_0x75768(0x1320,_0x5ecf3b._0x2c8bfa)](_0x22e1ca);_0x4be2f5[_0x10b3ea(_0x5ecf3b._0x4890f4,0x52b)]&&_0x4be2f5[_0x10b3ea(0x9b7,0x52b)](_0x22e1ca);function _0x75768(_0x368660,_0x99335){return _0x51cefb(_0x368660-_0x135a6c._0xeaef78,_0x99335);}function _0x10b3ea(_0x529355,_0x1c2ace){return _0x51cefb(_0x1c2ace- -0x160,_0x529355);}const _0x3f9528={};_0x3f9528[_0x10b3ea(_0x5ecf3b._0x32943e,0x10c9)]=_0x22e1ca,_0x3f9528['arrDistance']=_0x18bb10,_0x3f9528[_0x75768(0x12c1,0x109c)]=_0x29c8e8,_0x2525cf(_0x3f9528);}});},0x32);});}function getArea(_0x543592){const _0x5c773c={_0x2636b5:0xd29,_0x55e08a:0x27b,_0x1cd084:0x10c9,_0x3e1921:0x1471},_0xc4d654={_0x5c4c50:0xea};if(!_0x543592||!Array['isArray'](_0x543592)||_0x543592['length']<0x3)return 0x0;_0x543592=LngLatArray['toCartesians'](_0x543592);function _0x40916f(_0x5f811b,_0xa53e12){return _0x54a7f1(_0xa53e12-0x18a,_0x5f811b);}const _0x52ef3e=Cesium__namespace['CoplanarPolygonGeometry']['createGeometry'](Cesium__namespace['CoplanarPolygonGeometry'][_0x46655c(_0x5c773c._0x2636b5,_0x5c773c._0x55e08a)]({'positions':_0x543592,'vertexFormat':Cesium__namespace['VertexFormat']['POSITION_ONLY']}));function _0x46655c(_0x2424c8,_0x2f7c0f){return _0x7afdbe(_0x2f7c0f,_0x2424c8- -_0xc4d654._0x5c4c50);}let _0x2493e0=0x0;if(!_0x52ef3e)return _0x2493e0;const _0x728c9b=_0x52ef3e['attributes']['position'][_0x46655c(0x1294,0xf0a)],_0x118d0f=_0x52ef3e['indices'];for(let _0x326bd5=0x0;_0x326bd5<_0x118d0f[_0x46655c(_0x5c773c._0x1cd084,0x1a78)];_0x326bd5+=0x3){const _0x5ae12e=Cesium__namespace[_0x40916f(0x1b02,0x1471)]['unpack'](_0x728c9b,_0x118d0f[_0x326bd5]*0x3,new Cesium__namespace['Cartesian3']()),_0x15f46b=Cesium__namespace['Cartesian3'][_0x46655c(0x497,0x5c7)](_0x728c9b,_0x118d0f[_0x326bd5+0x1]*0x3,new Cesium__namespace['Cartesian3']()),_0x49c022=Cesium__namespace['Cartesian3']['unpack'](_0x728c9b,_0x118d0f[_0x326bd5+0x2]*0x3,new Cesium__namespace[(_0x40916f(0x1208,_0x5c773c._0x3e1921))]());_0x2493e0+=getTriangleArea(_0x5ae12e,_0x15f46b,_0x49c022);}return _0x2493e0;}function getTriangleArea(_0x16abbc,_0x379181,_0x253679){const _0x559cca={_0x45b3a0:0xe56,_0xd061e:0x73d,_0x3e9672:0x137f,_0x5ba446:0x1d5a},_0x36935e={_0x44c4d6:0x6bf};function _0xea86d4(_0x9a2242,_0x509cfc){return _0x7afdbe(_0x509cfc,_0x9a2242- -0x196);}const _0x39dfcf=Cesium__namespace[_0x58823a(0x176d,_0x559cca._0x45b3a0)][_0xea86d4(_0x559cca._0xd061e,-0x2a)](_0x16abbc,_0x379181,new Cesium__namespace[(_0xea86d4(_0x559cca._0x3e9672,0x12a3))]());function _0x58823a(_0x11710b,_0x53a17a){return _0x7afdbe(_0x11710b,_0x53a17a- -_0x36935e._0x44c4d6);}const _0x285b67=Cesium__namespace['Cartesian3']['subtract'](_0x253679,_0x379181,new Cesium__namespace[(_0xea86d4(0x137f,_0x559cca._0x5ba446))]()),_0x5573c7=Cesium__namespace['Cartesian3']['cross'](_0x39dfcf,_0x285b67,_0x39dfcf);return Cesium__namespace['Cartesian3']['magnitude'](_0x5573c7)*0.5;}function getClampArea(_0x44859c,_0x48719d){const _0x166f63={_0x238253:0x2f5,_0x5ad426:0x261},_0x46226b={_0x215aea:0x111a,_0x34d04b:0xa6a,_0x3aa853:0x1014},_0x1a2c3f={_0x3a82e0:0x580},_0x85ee48={'positions':_0x44859c,'exact':!![],..._0x48719d};function _0x5a377e(_0x1b1681,_0x41d0a2){return _0x7afdbe(_0x1b1681,_0x41d0a2- -_0x1a2c3f._0x3a82e0);}return interPolygon(_0x85ee48)[_0x5a377e(-_0x166f63._0x238253,_0x166f63._0x5ad426)](_0x3b8c4a=>{const _0x34a106={_0x4b444d:0x5ae};let _0x2951a2=0x0;function _0x290e85(_0xb6b64e,_0x299846){return _0x5a377e(_0xb6b64e,_0x299846-_0x34a106._0x4b444d);}for(let _0x23c8ec=0x0,_0x429ed7=_0x3b8c4a[_0xb2a187(0x1026,_0x46226b._0x215aea)]['length'];_0x23c8ec<_0x429ed7;_0x23c8ec++){const _0x3988c8=_0x3b8c4a['list'][_0x23c8ec],_0x3a1d34=_0x3988c8['point1'],_0x5ebe18=_0x3988c8['point2'],_0x3d1c8=_0x3988c8['point3'];_0x2951a2+=getTriangleArea(_0x3a1d34['pointDM'],_0x5ebe18[_0xb2a187(_0x46226b._0x34d04b,0x76e)],_0x3d1c8['pointDM']);}_0x3b8c4a['area']=_0x2951a2;_0x48719d[_0x290e85(_0x46226b._0x3aa853,0x1439)]&&_0x48719d['callback'](_0x2951a2,_0x3b8c4a);function _0xb2a187(_0x3341f4,_0x1b3d69){return _0x5a377e(_0x1b3d69,_0x3341f4- -0xa);}return _0x3b8c4a;});}function getSurfaceArea(_0x5a5544){const _0x56badf={_0x8f5aad:0x49c,_0x2adc96:0xa50,_0x18003c:0x9ea,_0x176446:0x6eb},_0x355160={_0x30fec8:0xab};if(!_0x5a5544||!Array['isArray'](_0x5a5544)||_0x5a5544['length']<0x3)return 0x0;const _0x342e6a=LngLatArray['toArray'](_0x5a5544);_0x342e6a['length']>0x0&&_0x342e6a['push'](_0x342e6a[0x0]);const _0xc6f906={};_0xc6f906[_0xff1118(_0x56badf._0x8f5aad,_0x56badf._0x2adc96)]='Polygon',_0xc6f906[_0xff1118(_0x56badf._0x18003c,_0x56badf._0x176446)]=[_0x342e6a];const _0x13eb63={};_0x13eb63['type']='Feature',_0x13eb63['geometry']=_0xc6f906;const _0xf4a48c=area(_0x13eb63);function _0x5db5f9(_0x23c0f2,_0x36a5ab){return _0x54a7f1(_0x23c0f2-_0x355160._0x30fec8,_0x36a5ab);}function _0xff1118(_0x4fc49c,_0x291573){return _0x54a7f1(_0x4fc49c- -0x39a,_0x291573);}return _0xf4a48c;}function getAngle(_0x4fe99e,_0x5f4c09,_0x47319d){const _0x2975ab={_0x501642:0x78a,_0x14d966:0x112d,_0x46a88f:0x1425,_0x4cb24c:0x154e,_0x50ca35:0xc59,_0x34945d:0x1023,_0x5776f8:0x112d,_0x1c21bf:0x15ac,_0x2ee80e:0x2036,_0x57ad4f:0x1313},_0x5a7df4={_0x21a2bf:0xf0};let _0x18a394=Cesium__namespace[_0x1ce482(0x8ab,_0x2975ab._0x501642)]['eastNorthUpToFixedFrame'](_0x5f4c09);_0x18a394=Cesium__namespace['Matrix4']['getMatrix3'](_0x18a394,new Cesium__namespace['Matrix3']());const _0x13db3b=Cesium__namespace['Matrix3']['getColumn'](_0x18a394,0x0,new Cesium__namespace[(_0x56bb34(_0x2975ab._0x14d966,0x7f8))]()),_0x2e6e9e=Cesium__namespace['Matrix3'][_0x1ce482(0x1080,0xbe0)](_0x18a394,0x1,new Cesium__namespace[(_0x1ce482(_0x2975ab._0x46a88f,0x1692))]()),_0xe1e39c=Cesium__namespace[_0x1ce482(_0x2975ab._0x4cb24c,_0x2975ab._0x50ca35)]['getColumn'](_0x18a394,0x2,new Cesium__namespace[(_0x56bb34(0x112d,0x1311))]());let _0x33e1fb=Cesium__namespace['Cartesian3']['subtract'](_0x4fe99e,_0x5f4c09,new Cesium__namespace['Cartesian3']());if(isNaN(_0x33e1fb['x'])||isNaN(_0x33e1fb['y'])||isNaN(_0x33e1fb['z'])||_0x33e1fb[_0x1ce482(_0x2975ab._0x34945d,0x95c)](Cesium__namespace['Cartesian3']['ZERO']))return 0x0;_0x33e1fb=Cesium__namespace[_0x56bb34(_0x2975ab._0x5776f8,0xcad)][_0x56bb34(_0x2975ab._0x1c21bf,_0x2975ab._0x2ee80e)](_0x33e1fb,_0xe1e39c,_0x33e1fb),_0x33e1fb=Cesium__namespace['Cartesian3']['cross'](_0xe1e39c,_0x33e1fb,_0x33e1fb);function _0x56bb34(_0x38e06f,_0x47c29f){return _0x54a7f1(_0x38e06f- -0x1ba,_0x47c29f);}_0x33e1fb=Cesium__namespace['Cartesian3']['normalize'](_0x33e1fb,_0x33e1fb);let _0x1bf88f=Cesium__namespace['Cartesian3'][_0x56bb34(0x14b3,0xdd9)](_0x13db3b,_0x33e1fb);const _0x4046cf=Cesium__namespace[_0x1ce482(0x1425,_0x2975ab._0x57ad4f)]['angleBetween'](_0x2e6e9e,_0x33e1fb);_0x4046cf>Math['PI']*0.5&&(_0x1bf88f=0x2*Math['PI']-_0x1bf88f);let _0xdaafb4=0x168-Cesium__namespace['Math']['toDegrees'](_0x1bf88f)-0xb4;function _0x1ce482(_0x3fe427,_0x4b7bab){return _0x7afdbe(_0x4b7bab,_0x3fe427- -_0x5a7df4._0x21a2bf);}_0x47319d&&(_0xdaafb4+=0x5a);if(_0xdaafb4<0x0)_0xdaafb4=_0xdaafb4+0x168;else _0xdaafb4>0x168&&(_0xdaafb4=_0xdaafb4-0x168);return _0xdaafb4;}function formatDistance(_0x88a69a,_0x505f64={}){const _0x76fba0={_0x44e4a7:0x64f,_0x3f12d0:0x6af,_0x502bed:0xb99,_0x4dbfd6:0xf14,_0x1a15df:0x14fa,_0x23dd6f:0x995,_0x4df318:0x1819,_0x5c0e48:0xa10,_0x65750b:0x188e,_0x4d80de:0x995},_0x595570={_0x59726a:0x1c},_0xa37e51={_0x539d94:0x563};if(_0x88a69a==null)return'';_0x88a69a=Number(_0x88a69a);if(isNaN(_0x88a69a)||_0x88a69a===0x0)return'';function _0x3c629d(_0x382513,_0x55f86f){return _0x7afdbe(_0x382513,_0x55f86f- -_0xa37e51._0x539d94);}(_0x505f64[_0x3c629d(-0x1ad,0xd0)]==null||_0x505f64['unit']==='auto')&&(_0x88a69a<0x3e8?_0x505f64[_0x10fb49(_0x76fba0._0x44e4a7,0xb56)]='m':_0x505f64[_0x3c629d(-_0x76fba0._0x3f12d0,0xd0)]='km');_0x505f64['decimal']=_0x505f64['decimal']??0x2;const _0x505c75=_0x505f64[_0x3c629d(_0x76fba0._0x502bed,0xced)]||getLangText;let _0x173a47='';switch(_0x505f64['unit']){case'km':_0x173a47=(_0x88a69a*0.001)['toFixed'](_0x505f64[_0x10fb49(_0x76fba0._0x4dbfd6,_0x76fba0._0x1a15df)])+_0x505c75('_公里');break;case'wm':_0x173a47=(_0x88a69a*0.0001)['toFixed'](_0x505f64[_0x3c629d(0x873,_0x76fba0._0x23dd6f)])+_0x505c75(_0x10fb49(_0x76fba0._0x4df318,0x172e));break;case _0x10fb49(0x88e,_0x76fba0._0x5c0e48):_0x173a47=(_0x88a69a*0.00054)['toFixed'](_0x505f64['decimal'])+_0x505c75(_0x3c629d(-0x5f3,0x26d));break;case'zhang':_0x173a47=(_0x88a69a*0.3)['toFixed'](_0x505f64['decimal'])+_0x505c75('_丈');break;case'm':default:_0x173a47=_0x88a69a[_0x10fb49(0x1373,_0x76fba0._0x65750b)](_0x505f64[_0x3c629d(0xb7d,_0x76fba0._0x4d80de)])+_0x505c75('_米');break;}function _0x10fb49(_0x5c3b46,_0x1f1e89){return _0x7afdbe(_0x1f1e89,_0x5c3b46-_0x595570._0x59726a);}return _0x173a47;}function formatArea(_0x68b1d2,_0x531410={}){const _0x594420={_0x26a627:0x446,_0x334cd8:0x10c5,_0x13357f:0x1296,_0x492e9e:0x11db,_0x43ffe5:0xd7c,_0x502efe:0x10d5};if(_0x68b1d2==null)return'';_0x68b1d2=Number(_0x68b1d2);function _0x58a724(_0x597252,_0x41b4c6){return _0x7afdbe(_0x597252,_0x41b4c6- -0x17c);}if(isNaN(_0x68b1d2)||_0x68b1d2===0x0)return'';(_0x531410[_0x2c48c2(0x446,0x920)]==null||_0x531410[_0x2c48c2(_0x594420._0x26a627,0x186)]==='auto')&&(_0x68b1d2<0xf4240?_0x531410[_0x2c48c2(0x446,0x72)]='m':_0x531410[_0x2c48c2(0x446,0xbdf)]='km');_0x531410['decimal']=_0x531410['decimal']??0x2;const _0x5de7e4=_0x531410[_0x58a724(_0x594420._0x334cd8,0x10d4)]||getLangText;let _0x49570e='';function _0x2c48c2(_0x4d0d03,_0x23994e){return _0x7afdbe(_0x23994e,_0x4d0d03- -0x1ed);}switch(_0x531410['unit']){case'km':_0x49570e=(_0x68b1d2/0xf4240)[_0x58a724(_0x594420._0x13357f,_0x594420._0x492e9e)](_0x531410['decimal'])+_0x5de7e4('_平方公里');break;case'mu':_0x49570e=(_0x68b1d2*0.0015)[_0x2c48c2(0x116a,0x1a78)](_0x531410[_0x2c48c2(0xd0b,0x16d4)])+_0x5de7e4('_亩');break;case'ha':_0x49570e=(_0x68b1d2*0.0001)[_0x58a724(0x10f1,0x11db)](_0x531410[_0x58a724(0xd9f,_0x594420._0x43ffe5)])+_0x5de7e4('_公顷');break;case'm':default:_0x49570e=_0x68b1d2[_0x58a724(_0x594420._0x502efe,0x11db)](_0x531410['decimal'])+_0x5de7e4('_平方米');break;}return _0x49570e;}function formatVolume(_0x461fe2,_0x10acd3={}){const _0xb873e2={_0x8b8ffc:0x1ab6};if(_0x461fe2==null)return'';_0x461fe2=Number(_0x461fe2);function _0x40bebf(_0x20c6ae,_0x180d95){return _0x7afdbe(_0x20c6ae,_0x180d95- -0x2bb);}if(isNaN(_0x461fe2)||_0x461fe2===0x0)return'';_0x10acd3['decimal']=_0x10acd3['decimal']??0x2;function _0x118dc8(_0x428521,_0x1de8ca){return _0x54a7f1(_0x428521- -0xe8,_0x1de8ca);}const _0x44fa51=_0x10acd3['getLangText']||getLangText;return _0x461fe2<0x2710?_0x461fe2['toFixed'](_0x10acd3['decimal'])+_0x44fa51(_0x40bebf(0xbb3,0x6e2)):(_0x461fe2/0x2710)[_0x118dc8(0x1041,_0xb873e2._0x8b8ffc)](_0x10acd3['decimal'])+_0x44fa51('_万立方米');}const _0x38b6cb={};_0x38b6cb[_0x54a7f1(0x623,-0x1f3)]=null,_0x38b6cb['getDistance']=getDistance,_0x38b6cb[_0x7afdbe(0xd2c,0x126d)]=getSurfaceDistance,_0x38b6cb['getClampDistance']=getClampDistance,_0x38b6cb[_0x7afdbe(0x1674,0x10bf)]=getArea,_0x38b6cb['getTriangleArea']=getTriangleArea,_0x38b6cb['getClampArea']=getClampArea,_0x38b6cb[_0x7afdbe(0x1129,0x1913)]=getSurfaceArea,_0x38b6cb[_0x54a7f1(0xa08,0x10fa)]=getAngle,_0x38b6cb[_0x7afdbe(0x228b,0x1857)]=formatDistance,_0x38b6cb['formatArea']=formatArea,_0x38b6cb[_0x7afdbe(0x1277,0x1298)]=formatVolume;var MeasureUtil=_0x38b6cb;function register$4(_0x2aecb6,_0x54f89d){const _0x3f8946={_0x1b0eec:0x578,_0x12add5:0x545,_0x724921:0xcb3,_0x1a7dfa:0xdc3,_0x214020:0xb13},_0x9db45c={_0x4bf50c:0x36c},_0x5b9dd0={_0x3ae2ce:0x91};Cesium__namespace[_0x2d134f(_0x3f8946._0x1b0eec,0x40c)]['_materialCache']['getMaterial'](_0x2aecb6)&&logError(_0x2d134f(_0x3f8946._0x12add5,0xff6)+_0x2aecb6+'类型已存在',_0x54f89d);MaterialTypes[_0x2aecb6]=_0x2aecb6;function _0x2d134f(_0x2cc666,_0x4602a3){return _0x54a7f1(_0x2cc666- -_0x5b9dd0._0x3ae2ce,_0x4602a3);}function _0x50db2c(_0x263382,_0x2abbbd){return _0x7afdbe(_0x263382,_0x2abbbd- -_0x9db45c._0x4bf50c);}Cesium__namespace['Material'][_0x2aecb6+'Type']=_0x2aecb6,_0x54f89d[_0x50db2c(_0x3f8946._0x724921,_0x3f8946._0x1a7dfa)]&&(_0x54f89d['fabric']['type']=_0x2aecb6),Cesium__namespace['Material']['_materialCache'][_0x50db2c(_0x3f8946._0x214020,0x573)](_0x2aecb6,_0x54f89d);}const OptsConverClass={};function registerOptsConver(_0x54a081,_0x1ef75a){const _0x158804={_0x81fc75:0x15b};OptsConverClass[_0x54a081]&&logError(_0x5d0225(0x642,0x110c)+_0x54a081+'类型已存在',_0x1ef75a);function _0x5d0225(_0x438ff5,_0x2fe15d){return _0x54a7f1(_0x2fe15d-_0x158804._0x81fc75,_0x438ff5);}OptsConverClass[_0x54a081]=_0x1ef75a;}const MaterialClass={},MaterialTypes={};function registerClass(_0x2bcc7a,_0x19a093){const _0x223a6f={_0x170468:0x81b},_0x339d17={_0x50d6b9:0x12e};function _0x1706d7(_0x4c6672,_0x1bd378){return _0x54a7f1(_0x1bd378-_0x339d17._0x50d6b9,_0x4c6672);}MaterialTypes[_0x2bcc7a]&&logError(_0x1706d7(0x122b,_0x223a6f._0x170468)+_0x2bcc7a+'类型已存在',_0x19a093),MaterialClass[_0x2bcc7a]=_0x19a093,MaterialTypes[_0x2bcc7a]=_0x2bcc7a;}const MaterialPropertyClass={};function registerPropertyClass(_0x1cc8b8,_0x443bf1){const _0x538ea7={_0x5d7132:0x43c};function _0x1343c8(_0x4b9b9f,_0x151971){return _0x7afdbe(_0x151971,_0x4b9b9f- -0xa5);}MaterialPropertyClass[_0x1cc8b8]&&logError('MaterialUtil\x20registerPropertyClass:\x20'+_0x1cc8b8+_0x1343c8(_0x538ea7._0x5d7132,0x5fa),_0x443bf1),MaterialPropertyClass[_0x1cc8b8]=_0x443bf1;}function createMaterialProperty(_0x2abb9d,_0x31c9da){const _0xd62139={_0x1a2b26:0x146},_0x9b1ad2=MaterialPropertyClass[_0x2abb9d];function _0xa288cf(_0x1921eb,_0x1c103e){return _0x7afdbe(_0x1c103e,_0x1921eb- -0x70c);}function _0x21a044(_0x3ffe84,_0xbce31d){return _0x54a7f1(_0xbce31d- -_0xd62139._0x1a2b26,_0x3ffe84);}if(_0x9b1ad2){const _0x382a10=OptsConverClass[_0x2abb9d]||OptsConverClass[_0x21a044(0x527,0x801)];_0x382a10&&(_0x31c9da['materialType']=_0x2abb9d,_0x31c9da=_0x382a10['toCesiumVal'](_0x31c9da,{},!![]));const _0x505050=new _0x9b1ad2(_0x31c9da);return _0x505050[_0x21a044(0x2c6,0x5e3)]=_0x2abb9d,_0x505050['options']=_0x31c9da,_0x505050;}else logWarn('createMaterialProperty:未找到该类型的对应材质属性',_0x2abb9d);}function createMaterial(_0x550ab3,_0x5c6dda){const _0x17058b={_0x41c331:0x6d4,_0x5bc5bc:0xb9,_0x1bf5e5:0xb66},_0xdcd325={_0x4c77ac:0x361};if(!_0x550ab3){logError('createMaterial:请指定mars3d.MaterialType类型');return;}const _0x77081=OptsConverClass[_0x550ab3]||OptsConverClass[_0x1269e1(0x729,_0x17058b._0x41c331)];_0x77081&&(_0x5c6dda[_0x2ce408(-0x223,-_0x17058b._0x5bc5bc)]=_0x550ab3,_0x5c6dda=_0x77081[_0x1269e1(0xdb0,_0x17058b._0x1bf5e5)](_0x5c6dda));function _0x2ce408(_0x334803,_0x102269){return _0x54a7f1(_0x102269- -_0xdcd325._0x4c77ac,_0x334803);}let _0xf236a4;const _0x281afd=MaterialClass[_0x550ab3];_0x281afd?_0xf236a4=new _0x281afd(_0x5c6dda):_0xf236a4=Cesium__namespace['Material']['fromType'](_0x550ab3,_0x5c6dda);function _0x1269e1(_0x29fde8,_0x367977){return _0x54a7f1(_0x367977- -0x273,_0x29fde8);}return _0xf236a4['options']=_0x5c6dda,_0xf236a4[_0x1269e1(-0x31,0x4b6)]=_0x550ab3,_0xf236a4;}function hasMaterial(_0x59047b,_0x8c1341){return _0x8c1341?Boolean(MaterialPropertyClass[_0x59047b]):Boolean(MaterialTypes[_0x59047b]);}function toJSON(_0x385004,_0x1cbf8f={}){const _0x43fc7f={_0x5d23c0:0x5a6,_0xd7204b:0x5a8,_0x4e0df7:0x10b,_0x5782fb:0x12a,_0x3d6e16:0x225,_0x4d0fe2:0x1636},_0x43a77d={_0x168111:0x183};var _0x52bcc4;let _0x21cf89;if(_0x385004[_0x2bffeb(0x57e,_0x43fc7f._0x5d23c0)])_0x21cf89=_0x385004['_mars_type'];else{if(_0x385004!==null&&_0x385004!==void 0x0&&(_0x52bcc4=_0x385004['_template'])!==null&&_0x52bcc4!==void 0x0&&_0x52bcc4[_0x5c8977(_0x43fc7f._0xd7204b,0xc6d)])_0x21cf89=_0x385004[_0x2bffeb(_0x43fc7f._0x4e0df7,0x3db)]['type'];else _0x385004!==null&&_0x385004!==void 0x0&&_0x385004[_0x5c8977(_0x43fc7f._0x5782fb,-0x85b)]&&(_0x21cf89=_0x385004[_0x5c8977(0x12a,_0x43fc7f._0x3d6e16)]());}function _0x5c8977(_0x406dad,_0x3796d2){return _0x7afdbe(_0x3796d2,_0x406dad- -0x4bc);}if(!_0x21cf89){if(_0x385004 instanceof Cesium__namespace[_0x2bffeb(_0x43fc7f._0x4d0fe2,0x1101)])_0x21cf89=_0x5c8977(0xff6,0x10a6);else{if(_0x385004 instanceof HTMLVideoElement)return;else logWarn('toJSON:未识别的材质类型',_0x385004);}}const _0x462248=OptsConverClass[_0x21cf89]||OptsConverClass['default'];_0x462248&&(_0x1cbf8f['materialType']=_0x21cf89,_0x1cbf8f['materialOptions']=_0x462248['toJSON'](_0x385004));function _0x2bffeb(_0x864f96,_0x2d23c7){return _0x54a7f1(_0x2d23c7- -_0x43a77d._0x168111,_0x864f96);}return _0x1cbf8f;}function toJSONByType(_0x47c64a,_0x475c3b){const _0x54a40c={_0x2fef55:0x1595,_0x1478c2:0x1bf2};function _0x37b24e(_0x11be88,_0x3dfe30){return _0x7afdbe(_0x3dfe30,_0x11be88-0x2c);}const _0x38ade1=OptsConverClass[_0x47c64a]||OptsConverClass['default'];return _0x38ade1?_0x38ade1[_0x37b24e(_0x54a40c._0x2fef55,_0x54a40c._0x1478c2)](_0x475c3b):_0x475c3b;}function addTextureUniform(_0x1496c4){const _0x2f2b06={_0x18f505:0x174f,_0x3696dc:0x1756,_0x3fe378:0x3cf,_0x1c3d1e:0x34d,_0x123c6b:0x635,_0xd6e4f8:0xb63},_0x316546={_0x20dc7d:0xbb2,_0x4bb44e:0x8fd,_0x45b490:0x1f44},_0x505f90={_0x20ccfb:0x198},_0x270cca={_0x5dd659:0xb},{context:_0x1a1e21,material:_0xff4aac,uniformName:_0x3a46f3,image:_0x2a0a3e}=_0x1496c4;function _0x4e28ae(_0x3443dd,_0x32b963){return _0x54a7f1(_0x3443dd-0xfe,_0x32b963);}const _0xd5cf5a=_0x1496c4['wrapS']||Cesium__namespace[_0x27b6c3(_0x2f2b06._0x18f505,0xc94)]['REPEAT'],_0x498145=_0x1496c4[_0x27b6c3(_0x2f2b06._0x3696dc,0x2040)]||Cesium__namespace['TextureWrap']['REPEAT'];function _0x27b6c3(_0x5d22bb,_0x4476b7){return _0x7afdbe(_0x4476b7,_0x5d22bb-_0x270cca._0x5dd659);}const _0x4ac690=_0x1496c4['minificationFilter']||Cesium__namespace['TextureMinificationFilter']['LINEAR'],_0x11d96c=_0x1496c4[_0x27b6c3(0x650,-_0x2f2b06._0x3fe378)]||Cesium__namespace['TextureMagnificationFilter'][_0x4e28ae(0x5c0,_0x2f2b06._0x1c3d1e)],_0x222543=new Image();_0x222543['src']=_0x2a0a3e,_0x222543['addEventListener'](_0x4e28ae(_0x2f2b06._0x123c6b,_0x2f2b06._0xd6e4f8),()=>{const _0x14ffb1={};_0x14ffb1[_0x15795d(0xf0f,0xe8a)]=_0xd5cf5a,_0x14ffb1['wrapT']=_0x498145,_0x14ffb1['minificationFilter']=_0x4ac690,_0x14ffb1[_0x15795d(0x20e,_0x316546._0x20dc7d)]=_0x11d96c;const _0x6c0896=new Cesium__namespace['Texture']({'context':_0x1a1e21,'source':_0x222543,'sampler':new Cesium__namespace[(_0x46b26e(0x19b5,0x10b7))](_0x14ffb1)});_0x6c0896['type']='sampler2D';function _0x15795d(_0x2afae4,_0x2c9df8){return _0x27b6c3(_0x2afae4- -0x442,_0x2c9df8);}isPowerOfTwo(_0x222543['width'])&&isPowerOfTwo(_0x222543[_0x46b26e(0xb87,_0x316546._0x4bb44e)])&&_0x6c0896[_0x15795d(0xbb4,0x280)](Cesium__namespace[_0x46b26e(0xdf3,0xbd0)]['NICEST']);function _0x46b26e(_0xde5a72,_0x2ee057){return _0x4e28ae(_0x2ee057-_0x505f90._0x20ccfb,_0xde5a72);}_0xff4aac[_0x46b26e(_0x316546._0x45b490,0x1783)][_0x3a46f3]=_0x6c0896;});}function isPowerOfTwo(_0x4e2349){return(_0x4e2349&_0x4e2349-0x1)===0x0&&_0x4e2349!==0x0;}const _0x5a95c2={};_0x5a95c2[_0x54a7f1(0x623,0x9b)]=null,_0x5a95c2['register']=register$4,_0x5a95c2['registerOptsConver']=registerOptsConver,_0x5a95c2[_0x54a7f1(0x16ce,0xf13)]=registerClass,_0x5a95c2['registerPropertyClass']=registerPropertyClass,_0x5a95c2['createMaterialProperty']=createMaterialProperty,_0x5a95c2['createMaterial']=createMaterial,_0x5a95c2['hasMaterial']=hasMaterial,_0x5a95c2[_0x54a7f1(0x133b,0xa90)]=toJSON,_0x5a95c2[_0x54a7f1(0x3f2,0xcee)]=toJSONByType,_0x5a95c2['addTextureUniform']=addTextureUniform;var MaterialUtil=_0x5a95c2;const EditPointStyle={};EditPointStyle[EditPointType['Control']]={'color':_0x54a7f1(0x1258,0xf82),'pixelSize':0xc,'outline':!![],'outlineColor':_0x7afdbe(-0x1dc,0x61b),'outlineWidth':0x2,'scaleByDistance':new Cesium__namespace['NearFarScalar'](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number[_0x54a7f1(0xe71,0x1900)]},EditPointStyle[EditPointType[_0x54a7f1(0xa4b,0x1472)]]={'color':'rgba(140,0,58,0.99)','pixelSize':0xc,'outline':!![],'outlineColor':'rgba(255,255,255,0.5)','outlineWidth':0x2,'scaleByDistance':new Cesium__namespace['NearFarScalar'](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number['POSITIVE_INFINITY']},EditPointStyle[EditPointType['AddMidPoint']]={'color':_0x54a7f1(0xcd0,0x1028),'pixelSize':0xc,'outline':!![],'outlineColor':'rgba(255,255,255,0.4)','outlineWidth':0x2,'scaleByDistance':new Cesium__namespace[(_0x54a7f1(0xd99,0xe01))](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number['POSITIVE_INFINITY']},EditPointStyle[EditPointType['MoveHeight']]={'color':_0x54a7f1(0x26d,0x9a4),'pixelSize':0xc,'outline':!![],'outlineColor':_0x54a7f1(0x3ed,0xba2),'outlineWidth':0x2,'scaleByDistance':new Cesium__namespace['NearFarScalar'](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number['POSITIVE_INFINITY']},EditPointStyle[EditPointType['EditAttr']]={'color':_0x54a7f1(0x93d,0x7ee),'pixelSize':0xc,'outline':!![],'outlineColor':_0x7afdbe(-0x127,0x61b),'outlineWidth':0x2,'scaleByDistance':new Cesium__namespace[(_0x54a7f1(0xd99,0xe45))](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number['POSITIVE_INFINITY']},EditPointStyle[EditPointType['EditRotation']]={'pixelSize':0xc,'outline':!![],'outlineColor':'rgba(255,255,255,0.5)','outlineWidth':0x2,'scaleByDistance':new Cesium__namespace[(_0x54a7f1(0xd99,0x17b4))](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number[_0x7afdbe(0xe29,0x109f)]};function setEditPointStyle(_0x26c04f,_0x3d9080){const _0x57e889={_0x5313dd:0x63f,_0x53174b:0xa00},_0x2666d6={_0x591409:0x64};function _0x67dc27(_0x4de836,_0x1153e9){return _0x7afdbe(_0x4de836,_0x1153e9- -_0x2666d6._0x591409);}_0x26c04f=_0x26c04f||EditPointType['Control'];const _0x20321e=EditPointStyle[_0x26c04f];function _0x5d6258(_0x50d12e,_0x1300ac){return _0x54a7f1(_0x50d12e- -0x1fc,_0x1300ac);}if(!_0x20321e){logWarn(_0x67dc27(_0x57e889._0x5313dd,0x9e5),_0x26c04f);return;}_0x20321e[_0x67dc27(0x340,_0x57e889._0x53174b)]!==_0x3d9080['type']?EditPointStyle[_0x26c04f]=_0x3d9080:EditPointStyle[_0x26c04f]=merge(_0x20321e,_0x3d9080);}function setAllEditPointStyle(_0x1a920f){for(const _0x2d732b in EditPointStyle){EditPointStyle[_0x2d732b]=merge(EditPointStyle[_0x2d732b],_0x1a920f);}}function getEditPointStyle(_0x333c9d,_0x5edc6d){const _0x58c9c8={_0x496058:0x500};_0x333c9d=_0x333c9d||EditPointType[_0x572550(0x460,0x34)];function _0x572550(_0x39af32,_0x4a1112){return _0x54a7f1(_0x39af32- -_0x58c9c8._0x496058,_0x4a1112);}const _0x34e05e=EditPointStyle[_0x333c9d]||{},_0x517fdc={..._0x34e05e,..._0x5edc6d};return _0x517fdc;}const _0x600ce8={};_0x600ce8['__proto__']=null,_0x600ce8[_0x7afdbe(0xaed,0xe26)]=setEditPointStyle,_0x600ce8['setAllEditPointStyle']=setAllEditPointStyle,_0x600ce8['getEditPointStyle']=getEditPointStyle;var DrawUtil=_0x600ce8;const _0x54c9db={};_0x54c9db[_0x7afdbe(0x1a58,0x1224)]='none',_0x54c9db[_0x7afdbe(0x2105,0x1676)]=_0x54a7f1(0x1762,0x1e78),_0x54c9db['ARCGIS']='arcgis',_0x54c9db['ION']='ion',_0x54c9db['GEE']='gee',_0x54c9db['VR']='vr';const TerrainType=_0x54c9db;class GCJMercatorTilingScheme extends Cesium__namespace['WebMercatorTilingScheme']{constructor(_0x2b8d4e){const _0x267520={_0x3c462f:0x1640,_0x31d0a1:0x1028,_0x2dd214:0xdab,_0x419032:0x800},_0x4b9ab0={_0x1b86e0:0x77e,_0x1693e4:0x12a3,_0x45040b:0x19f0},_0x342969={_0x1cba91:0xaa2,_0x246ccb:0x9a8,_0x4fe139:0xe8e,_0x26e5df:0x155a,_0x26f6dd:0x11b1,_0x26037d:0x1427,_0x2cba3b:0x19b2},_0x52e248={_0x218232:0x1de},_0x3339ea={_0x4d26c2:0x587},_0x18ecee={_0xfc7197:0x2d9};super(_0x2b8d4e);const _0x30d989=_0x2b8d4e['mapChinaCRS'],_0x39e3c6=_0x2b8d4e['chinaCRS'];function _0x16aa55(_0x1b8f62,_0x1031a6){return _0x54a7f1(_0x1031a6- -_0x18ecee._0xfc7197,_0x1b8f62);}const _0x793231=getTransFun(_0x30d989,_0x39e3c6);function _0x5f24d4(_0x393b42,_0x167cb6){return _0x54a7f1(_0x393b42-0x208,_0x167cb6);}const _0x56cfef=getTransFun(_0x39e3c6,_0x30d989);if(_0x793231){const _0x32b3b0=new Cesium__namespace[(_0x16aa55(_0x267520._0x3c462f,_0x267520._0x31d0a1))]();this['_projection']['project']=function(_0x549d8e,_0x474074){function _0x11dcd6(_0xdc8aa6,_0x4fe753){return _0x16aa55(_0xdc8aa6,_0x4fe753-_0x3339ea._0x4d26c2);}_0x474074=_0x793231([Cesium__namespace['Math']['toDegrees'](_0x549d8e['longitude']),Cesium__namespace['Math'][_0x11dcd6(0x11b6,0x11ef)](_0x549d8e[_0x8504a6(0x8dc,_0x342969._0x1cba91)])]),_0x474074=_0x32b3b0['project'](new Cesium__namespace[(_0x8504a6(0x7d5,_0x342969._0x246ccb))](Cesium__namespace[_0x11dcd6(_0x342969._0x4fe139,_0x342969._0x26e5df)]['toRadians'](_0x474074[0x0]),Cesium__namespace[_0x8504a6(_0x342969._0x26f6dd,0xaab)][_0x8504a6(_0x342969._0x26037d,0x1206)](_0x474074[0x1])));function _0x8504a6(_0x4ad981,_0xa4a699){return _0x16aa55(_0xa4a699,_0x4ad981-_0x52e248._0x218232);}return new Cesium__namespace[(_0x11dcd6(0x1517,_0x342969._0x2cba3b))](_0x474074['x'],_0x474074['y']);},this['_projection'][_0x16aa55(_0x267520._0x2dd214,_0x267520._0x419032)]=function(_0x1ee7fd,_0x53fcc4){const _0x22ceff={_0x4c4d5c:0x2d0},_0x43438d=_0x32b3b0[_0x429151(0xad0,_0x4b9ab0._0x1b86e0)](_0x1ee7fd);_0x53fcc4=_0x56cfef([Cesium__namespace['Math']['toDegrees'](_0x43438d['longitude']),Cesium__namespace[_0x57c486(0xf3e,0x7cd)][_0x429151(0xf38,0x1062)](_0x43438d['latitude'])]);function _0x57c486(_0x1c78f4,_0x39b999){return _0x16aa55(_0x39b999,_0x1c78f4- -0x95);}function _0x429151(_0x5ab2f1,_0x2c2b7b){return _0x16aa55(_0x2c2b7b,_0x5ab2f1-_0x22ceff._0x4c4d5c);}return new Cesium__namespace[(_0x57c486(0x562,0xa48))](Cesium__namespace[_0x429151(_0x4b9ab0._0x1693e4,_0x4b9ab0._0x45040b)]['toRadians'](_0x53fcc4[0x0]),Cesium__namespace['Math']['toRadians'](_0x53fcc4[0x1]));};}}}class CustomMercatorTilingScheme extends Cesium__namespace['WebMercatorTilingScheme']{constructor(_0x1258f9={}){const _0x3016fd={_0x4ba1e7:0xf12,_0x77f369:0x1750,_0x1b374b:0x25a,_0x3deef9:0x156b};super(_0x1258f9),this[_0x4edcdb(_0x3016fd._0x4ba1e7,_0x3016fd._0x77f369)]=_0x1258f9[_0x4edcdb(_0x3016fd._0x1b374b,0x230)]||[-20037508.3427892,20037508.3427892],this['_resolutions']=_0x1258f9['resolutions']||[];function _0x4edcdb(_0x4000c8,_0x3e193a){return _0x54a7f1(_0x4000c8- -0x4f2,_0x3e193a);}this['_zOffset']=_0x1258f9['zOffset']||0x0;function _0x5a8f27(_0x21d7d5,_0x1cef72){return _0x7afdbe(_0x1cef72,_0x21d7d5- -0xe1);}this['_tileSize']=_0x1258f9[_0x5a8f27(_0x3016fd._0x3deef9,0x14a9)]||_0x1258f9['tileHeight']||0x100;}get['zOffset'](){const _0x12a919={_0x443612:0x49};function _0x431d81(_0x40d617,_0x51bb5e){return _0x54a7f1(_0x40d617-_0x12a919._0x443612,_0x51bb5e);}return this[_0x431d81(0x6c8,0xfa7)];}['tileXYToNativeRectangle'](_0x2cf567,_0x4df8af,_0x43cb5d,_0xef4516){const _0x201088={_0xd285c0:0x1006,_0x4b5590:0xa91,_0x17682b:0xd80,_0x4b94d7:0xc43,_0x5955cf:0x1447,_0x3f0103:0xa54,_0x313e4c:0x53c};if(!this[_0x27a49f(_0x201088._0xd285c0,0xa91)]||!this[_0x27a49f(0x118a,_0x201088._0x4b5590)][_0x43cb5d+this['_zOffset']])return Cesium__namespace['Rectangle']['MAX_VALUE'];if(_0x2cf567<0x0||_0x4df8af<0x0)return Cesium__namespace['Rectangle'][_0x27a49f(_0x201088._0x17682b,0xf30)];const _0xb15275=this[_0x1bbd8d(0x266,_0x201088._0x4b94d7)][_0x43cb5d+this['_zOffset']]*this['_tileSize'],_0x161ecb=this['_origin'][0x0]+_0x2cf567*_0xb15275,_0x426ed9=this['_origin'][0x1]-(_0x4df8af+0x1)*_0xb15275,_0x826402=this['_origin'][0x0]+(_0x2cf567+0x1)*_0xb15275,_0x460601=this[_0x1bbd8d(0x1958,_0x201088._0x5955cf)][0x1]-_0x4df8af*_0xb15275;if(!Cesium__namespace[_0x27a49f(0xcb1,0x1512)](_0xef4516))return new Cesium__namespace[(_0x1bbd8d(_0x201088._0x3f0103,_0x201088._0x313e4c))](_0x161ecb,_0x426ed9,_0x826402,_0x460601);_0xef4516[_0x27a49f(0x9f0,0x37e)]=_0x161ecb;function _0x27a49f(_0x111522,_0x2429a2){return _0x7afdbe(_0x111522,_0x2429a2- -0x39d);}_0xef4516['south']=_0x426ed9,_0xef4516[_0x27a49f(0x156b,0xecc)]=_0x826402,_0xef4516['north']=_0x460601;function _0x1bbd8d(_0x4f9abf,_0x507d6e){return _0x54a7f1(_0x507d6e-0x43,_0x4f9abf);}return _0xef4516;}['positionToTileXY'](_0x49ab93,_0x2901be,_0xdcd311){const _0x5a5722={_0x2f63a8:0x1648,_0x210a38:0x26a,_0x505b4e:0xb8,_0x323b33:0x1725,_0x1594b4:0x1615,_0x271ebc:0x17e2,_0x2370a6:0x1698},_0x167ed5={_0x290fad:0x219},_0xea2235=this[_0x60303b(0x1d49,_0x5a5722._0x2f63a8)];if(!Cesium__namespace['Rectangle']['contains'](_0xea2235,_0x49ab93))return undefined;if(!this[_0x60303b(_0x5a5722._0x210a38,0xb94)]||!this['_resolutions'][_0x2901be+this['_zOffset']])return new Cesium__namespace['Cartesian2']();const _0x1f6cf2=this[_0x35c292(0x9e7,_0x5a5722._0x505b4e)][_0x2901be+this['_zOffset']]*this[_0x60303b(_0x5a5722._0x323b33,0x1051)],_0x12d020=this['_projection'],_0x2ea505=_0x12d020['project'](_0x49ab93),_0x471b9e=Math['floor']((_0x2ea505['x']-this[_0x35c292(0x11eb,0xd40)][0x0])/_0x1f6cf2),_0x34fb2a=Math[_0x35c292(0x6d9,-0x27a)]((this['_origin'][0x1]-_0x2ea505['y'])/_0x1f6cf2);function _0x35c292(_0x3f98b8,_0x46cfe1){return _0x54a7f1(_0x3f98b8- -_0x167ed5._0x290fad,_0x46cfe1);}function _0x60303b(_0x11b44c,_0x3df0a8){return _0x54a7f1(_0x3df0a8- -0x6c,_0x11b44c);}if(!Cesium__namespace[_0x60303b(0x1e41,_0x5a5722._0x1594b4)](_0xdcd311))return new Cesium__namespace[(_0x60303b(_0x5a5722._0x271ebc,_0x5a5722._0x2370a6))](Math['max'](0x0,_0x471b9e),Math['max'](0x0,_0x34fb2a));return _0xdcd311['x']=_0x471b9e,_0xdcd311['y']=_0x34fb2a,_0xdcd311;}}class CustomGeographicTilingScheme extends Cesium__namespace['GeographicTilingScheme']{constructor(_0xc94ccb={}){const _0x50361d={_0x3d9164:0x1793},_0x1ebe37={_0x11312a:0x1f1};super(_0xc94ccb),this[_0x2978eb(0xe75,0x15f5)]=_0xc94ccb[_0x29a50d(0x1b,0x37b)]||[-0xb4,0x5a],this[_0x2978eb(0x16b8,0xdf1)]=_0xc94ccb[_0x2978eb(0x1570,0x115d)]||[];function _0x29a50d(_0x378fe4,_0xf7a52){return _0x54a7f1(_0xf7a52- -0x3d1,_0x378fe4);}this['_zOffset']=_0xc94ccb['zOffset']||0x0;function _0x2978eb(_0x4ae78c,_0x4ccd32){return _0x54a7f1(_0x4ccd32-_0x1ebe37._0x11312a,_0x4ae78c);}this['_tileSize']=_0xc94ccb['tileWidth']||_0xc94ccb[_0x2978eb(0x2165,_0x50361d._0x3d9164)]||0x100;}get[_0x54a7f1(0x326,0xcde)](){const _0x5eea0f={_0x21c558:0x1c2};function _0x25315d(_0x5848cc,_0x256b6f){return _0x54a7f1(_0x256b6f-_0x5eea0f._0x21c558,_0x5848cc);}return this[_0x25315d(0xcf0,0x841)];}['tileXYToRectangle'](_0x182808,_0x391ff5,_0xa62757,_0x46f7bf){const _0x5b77f1={_0xf10505:0x109f,_0x185343:0xaf0,_0x19d12a:0xff4,_0x32c36e:0x11b6,_0x53219e:0xeb8,_0x3e6272:0xeba,_0x24dc6a:0x11a5,_0x3841bb:0x1433,_0x40885f:0x153,_0x38bc40:0x29f,_0x9c250c:0x1128},_0x3c827d={_0x3e417b:0x24e};if(!this[_0x45b4f5(_0x5b77f1._0xf10505,0xaf7)]||!this[_0x45b4f5(_0x5b77f1._0x185343,0xaf7)][_0xa62757+this['_zOffset']])return Cesium__namespace['Rectangle']['MAX_VALUE'];function _0x45b4f5(_0x5c8c39,_0x5064db){return _0x54a7f1(_0x5064db- -0x109,_0x5c8c39);}const _0x4eec4d=this['_resolutions'][_0xa62757+this['_zOffset']]*this['_tileSize'],_0x226044=Cesium__namespace['Math']['toRadians'](this['_origin'][0x0]+_0x182808*_0x4eec4d),_0x4500d5=Cesium__namespace['Math']['toRadians'](this['_origin'][0x1]-(_0x391ff5+0x1)*_0x4eec4d),_0x12df08=Cesium__namespace['Math'][_0x45b4f5(0xe36,0x1419)](this[_0x2e751f(_0x5b77f1._0x19d12a,_0x5b77f1._0x32c36e)][0x0]+(_0x182808+0x1)*_0x4eec4d),_0xf73385=Cesium__namespace[_0x2e751f(_0x5b77f1._0x53219e,0x105e)]['toRadians'](this[_0x45b4f5(_0x5b77f1._0x3e6272,0x12fb)][0x1]-_0x391ff5*_0x4eec4d);if(!Cesium__namespace[_0x2e751f(_0x5b77f1._0x24dc6a,_0x5b77f1._0x3841bb)](_0x46f7bf))return new Cesium__namespace[(_0x2e751f(_0x5b77f1._0x40885f,0x2ab))](_0x226044,_0x4500d5,_0x12df08,_0xf73385);_0x46f7bf[_0x2e751f(0x323,_0x5b77f1._0x38bc40)]=_0x226044;function _0x2e751f(_0x165513,_0x1a281f){return _0x54a7f1(_0x1a281f- -_0x3c827d._0x3e417b,_0x165513);}return _0x46f7bf['south']=_0x4500d5,_0x46f7bf['east']=_0x12df08,_0x46f7bf[_0x2e751f(_0x5b77f1._0x9c250c,0x6f6)]=_0xf73385,_0x46f7bf;}[_0x54a7f1(0xe6a,0xca6)](_0x5b9a62,_0x1a3a94,_0x3eb1f1){const _0x34a46d={_0x2c33e9:0x78a,_0x2c9f46:0x89,_0x3fc43d:0xb24,_0x2ee858:0x5ba,_0x5be780:0xfe7,_0x1cc5b9:0x10fe,_0x182e07:0x1264,_0xfd616a:0xc15,_0x211129:0xbb2},_0x4130cb={_0x4f3049:0x41d};if(!this[_0x49f332(0xd0b,0x667)]||!this['_resolutions'][_0x1a3a94+this[_0x49f332(_0x34a46d._0x2c33e9,-_0x34a46d._0x2c9f46)]])return new Cesium__namespace['Cartesian2']();const _0x299516=this[_0x49f332(0xd0b,0xc29)][_0x1a3a94+this[_0x3a24dc(0x262,0xc73)]]*this['_tileSize'],_0x462296=Cesium__namespace['Math']['toDegrees'](_0x5b9a62['longitude']),_0x46a10=Cesium__namespace['Math'][_0x3a24dc(_0x34a46d._0x3fc43d,0x15db)](_0x5b9a62[_0x3a24dc(_0x34a46d._0x2ee858,0xc64)]);function _0x3a24dc(_0x1f132a,_0x26a4d8){return _0x54a7f1(_0x1f132a- -_0x4130cb._0x4f3049,_0x26a4d8);}const _0x4223f8=Math['floor']((_0x462296-this['_origin'][0x0])/_0x299516),_0x393e9c=Math['floor']((this[_0x3a24dc(_0x34a46d._0x5be780,_0x34a46d._0x1cc5b9)][0x1]-_0x46a10)/_0x299516);if(!Cesium__namespace[_0x3a24dc(_0x34a46d._0x182e07,0x1756)](_0x3eb1f1))return new Cesium__namespace['Cartesian2'](Math[_0x49f332(_0x34a46d._0xfd616a,0xd02)](0x0,_0x4223f8),Math[_0x3a24dc(0x6ed,_0x34a46d._0x211129)](0x0,_0x393e9c));function _0x49f332(_0xa3ab7c,_0x1648f1){return _0x7afdbe(_0x1648f1,_0xa3ab7c- -0x123);}return _0x3eb1f1['x']=_0x4223f8,_0x3eb1f1['y']=_0x393e9c,_0x3eb1f1;}}const LayerClass={};function register$3(_0x145ce8,_0xe34274){const _0x1c3621={_0x35b750:0x33a};LayerClass[_0x145ce8]&&logError('register:\x20'+_0x145ce8+_0x4b7029(-0x5f7,0x15d),_0xe34274);LayerType[_0x145ce8]=_0x145ce8;function _0x4b7029(_0x265f59,_0x2e630a){return _0x54a7f1(_0x2e630a- -_0x1c3621._0x35b750,_0x265f59);}LayerClass[_0x145ce8]=_0xe34274;function _0x267ad9(_0x2b6e03,_0x56078e){return _0x7afdbe(_0x2b6e03,_0x56078e- -0x61b);}_0xe34274[_0x267ad9(-0x28f,0x449)]=_0x145ce8,_0xe34274['prototype'][_0x4b7029(0x685,0x324)]=_0x145ce8;}function getClass$3(_0x58911b){return LayerClass[_0x58911b];}function create$3(_0x51dc84,_0x3e6ce7){const _0x33fd89={_0x228d41:0x536,_0x34a252:0x49a},_0x157d81=getClass$3(_0x51dc84['type']);function _0x19c91b(_0x4e63d9,_0x26ae4a){return _0x7afdbe(_0x26ae4a,_0x4e63d9- -0x47);}function _0x12bd94(_0x5ce87f,_0x3e35bc){return _0x54a7f1(_0x5ce87f-0x1ee,_0x3e35bc);}if(_0x157d81){_0x3e6ce7&&_0x51dc84[_0x12bd94(0xc11,_0x33fd89._0x228d41)]&&(_0x51dc84[_0x19c91b(0x5f9,-_0x33fd89._0x34a252)]=_0x3e6ce7);const _0x969be2=new _0x157d81(_0x51dc84);return _0x969be2;}else logWarn('配置中的图层未处理',_0x51dc84);}function converOptions(_0x171e7a){const _0x11f0ea={_0x4d685c:0x4e7,_0x59f6c7:0x814,_0x4ea12c:0x1256,_0x593d41:0x2eb,_0x3d68b9:0x167e,_0x363a63:0x18d6,_0x153143:0xd3b,_0xa6f14f:0x327,_0x281427:0x13c0,_0x4de88f:0x1772,_0x1bcd17:0x2a9,_0x3e60fb:0x1d15,_0x2b4fd2:0x167e,_0x5338bf:0x1cb2,_0x208932:0xa6e,_0x5534b0:0xaad,_0x8ac261:0x291,_0x22afdf:0x108e,_0x4e0eb4:0x1478,_0x28956d:0x6a1,_0x3f78c0:0x150c,_0x530c55:0xdaf,_0x2343c4:0x90b,_0x4e109e:0x537,_0x13391c:0xc3,_0x2bd104:0x18b,_0xb3476d:0x92d,_0x59ba1e:0x9e8,_0x1c4f96:0x323,_0x2e015e:0x699,_0x25cdac:0x66,_0x42a891:0x50c,_0x2b69b4:0x269,_0x2a8ec5:0xd66,_0x507f34:0xfc1,_0x37394e:0xfea,_0x561dd8:0xfa4,_0x2f6ad3:0x1280,_0x11a5f2:0x1429,_0x374616:0x7c9,_0x1b2edb:0x780,_0xaa2bc7:0x8fe},_0x56f09f={_0x395200:0x269},_0x208852={};function _0x299a9e(_0x343621,_0xeef77f){return _0x7afdbe(_0xeef77f,_0x343621- -0x437);}for(const _0x4d7e41 in _0x171e7a){let _0x3cd41a=_0x171e7a[_0x4d7e41];if(_0x3cd41a==null)continue;switch(_0x4d7e41){case'crs':{_0x3cd41a=(_0x3cd41a+'')[_0x20749c(_0x11f0ea._0x4d685c,-0x5cc)]();let _0x150353=!![];if(_0x3cd41a===CRS['EPSG4326']||_0x3cd41a==='4326'||_0x3cd41a===_0x299a9e(0x981,0xc70))_0x208852['crs']=CRS[_0x20749c(0xb4f,_0x11f0ea._0x59f6c7)],_0x150353=![];else _0x3cd41a===CRS['EPSG4490']||_0x3cd41a===_0x299a9e(0x8e5,_0x11f0ea._0x4ea12c)||_0x3cd41a==='EPSG4490'?(_0x208852['crs']=CRS['EPSG4490'],_0x150353=![]):_0x208852['crs']=CRS['EPSG3857'];const _0x54ae6c=Cesium__namespace['defined'](_0x171e7a['origin'])||Cesium__namespace['defined'](_0x171e7a['resolutions'])||Cesium__namespace['defined'](_0x171e7a[_0x20749c(_0x11f0ea._0x593d41,0x6ca)]);if(_0x150353){if(_0x54ae6c){const _0x1b0979={..._0x171e7a};_0x1b0979['numberOfLevelZeroTilesX']=_0x171e7a['numberOfLevelZeroTilesX']||0x1,_0x1b0979['numberOfLevelZeroTilesY']=_0x171e7a[_0x20749c(_0x11f0ea._0x3d68b9,_0x11f0ea._0x363a63)]||0x1,_0x208852[_0x20749c(0xc3c,0xc66)]=new CustomMercatorTilingScheme(_0x1b0979);}else{const _0x19409c={};_0x19409c[_0x20749c(0x158e,0x13f2)]=_0x171e7a['numberOfLevelZeroTilesX']||0x1,_0x19409c['numberOfLevelZeroTilesY']=_0x171e7a[_0x20749c(0x167e,0xbbb)]||0x1,_0x208852['tilingScheme']=new Cesium__namespace[(_0x299a9e(_0x11f0ea._0x153143,_0x11f0ea._0xa6f14f))](_0x19409c);}}else{if(_0x54ae6c){const _0x5b1cbc={..._0x171e7a};_0x5b1cbc[_0x299a9e(_0x11f0ea._0x281427,0xe38)]=_0x171e7a['numberOfLevelZeroTilesX']||0x1,_0x5b1cbc['numberOfLevelZeroTilesY']=_0x171e7a['numberOfLevelZeroTilesY']||0x1,_0x208852['tilingScheme']=new CustomGeographicTilingScheme(_0x5b1cbc);}else{const _0x375864={};_0x375864[_0x299a9e(_0x11f0ea._0x281427,_0x11f0ea._0x4de88f)]=_0x171e7a['numberOfLevelZeroTilesX']||0x2,_0x375864['numberOfLevelZeroTilesY']=_0x171e7a['numberOfLevelZeroTilesY']||0x1,_0x208852['tilingScheme']=new Cesium__namespace['GeographicTilingScheme'](_0x375864);}}break;}case'chinaCRS':{if(_0x171e7a['mapChinaCRS']!==_0x171e7a['chinaCRS']){const _0x2ccb95={};_0x2ccb95['mapChinaCRS']=_0x171e7a['mapChinaCRS']||ChinaCRS[_0x299a9e(0xc51,_0x11f0ea._0x1bcd17)],_0x2ccb95['chinaCRS']=_0x171e7a['chinaCRS'],_0x2ccb95[_0x20749c(0x158e,_0x11f0ea._0x3e60fb)]=_0x171e7a['numberOfLevelZeroTilesX']||0x1,_0x2ccb95[_0x20749c(_0x11f0ea._0x2b4fd2,_0x11f0ea._0x5338bf)]=_0x171e7a['numberOfLevelZeroTilesY']||0x1,_0x208852[_0x299a9e(_0x11f0ea._0x208932,_0x11f0ea._0x5534b0)]=new GCJMercatorTilingScheme(_0x2ccb95);}break;}case _0x20749c(_0x11f0ea._0x8ac261,0x88d):if(Cesium__namespace['defined'](_0x3cd41a)&&Cesium__namespace['defined'](_0x3cd41a[_0x299a9e(0x1080,_0x11f0ea._0x22afdf)])&&Cesium__namespace[_0x299a9e(_0x11f0ea._0x4e0eb4,0x10d7)](_0x3cd41a[_0x20749c(0x1158,_0x11f0ea._0x28956d)])&&Cesium__namespace['defined'](_0x3cd41a[_0x20749c(0xad9,_0x11f0ea._0x3f78c0)])&&Cesium__namespace[_0x299a9e(_0x11f0ea._0x4e0eb4,0x11ab)](_0x3cd41a['ymax']))_0x208852[_0x20749c(0x291,-0x6f8)]=Cesium__namespace['Rectangle'][_0x20749c(_0x11f0ea._0x530c55,0x81d)](_0x3cd41a['xmin'],_0x3cd41a[_0x299a9e(_0x11f0ea._0x2343c4,0x1191)],_0x3cd41a['xmax'],_0x3cd41a[_0x299a9e(0xfd3,_0x11f0ea._0x4e109e)]);else _0x3cd41a instanceof Cesium__namespace['Rectangle']&&(_0x208852[_0x299a9e(_0x11f0ea._0x13391c,_0x11f0ea._0x2bd104)]=_0x3cd41a);break;case _0x20749c(0x1333,0xb7b):_0x208852[_0x299a9e(0xc3,_0x11f0ea._0xb3476d)]=Cesium__namespace['Rectangle']['fromDegrees'](_0x3cd41a[0x0],_0x3cd41a[0x1],_0x3cd41a[0x2],_0x3cd41a[0x3]);break;default:_0x208852[_0x4d7e41]=_0x3cd41a;break;}}_0x208852['crs']===CRS[_0x299a9e(0xfd,-0x95)]&&_0x208852[_0x20749c(_0x11f0ea._0x59ba1e,0x2c3)]&&(_0x208852['url']=_0x208852['url']['replace'](/\{z\}/gm,'{z4490}'),_0x208852['url']=_0x208852['url'][_0x299a9e(_0x11f0ea._0x1c4f96,0xa84)](/\{arc_z\}/gm,'{arc_z4490}'),_0x208852[_0x299a9e(0x81a,0x109a)]=_0x208852[_0x299a9e(0x81a,_0x11f0ea._0x2e015e)][_0x299a9e(0x323,0x70b)](/\{arc_Z\}/gm,'{arc_Z4490}'));_0x171e7a['tms']&&(_0x208852[_0x20749c(0x9e8,_0x11f0ea._0x25cdac)]=_0x208852['url']['replace'](/\{y\}/gm,_0x20749c(0x437,_0x11f0ea._0x42a891))['replace'](/\{-y\}/gm,_0x299a9e(_0x11f0ea._0x2b69b4,0x45e)));Cesium__namespace['defined'](_0x171e7a['minimumTerrainLevel'])&&Cesium__namespace[_0x299a9e(0x1478,_0x11f0ea._0x2a8ec5)](_0x171e7a[_0x299a9e(_0x11f0ea._0x507f34,0xc57)])&&_0x171e7a['minimumTerrainLevel']<_0x171e7a['minimumLevel']&&(_0x208852['minimumTerrainLevel']=_0x171e7a[_0x20749c(0x118f,0x17b3)]);Cesium__namespace['defined'](_0x171e7a[_0x299a9e(0x390,0x2f4)])&&Cesium__namespace['defined'](_0x171e7a['maximumLevel'])&&_0x171e7a['maximumTerrainLevel']>_0x171e7a['maximumLevel']&&(_0x208852['maximumTerrainLevel']=_0x171e7a[_0x299a9e(_0x11f0ea._0x37394e,0x7d4)]);function _0x20749c(_0x2819bb,_0x56c57c){return _0x7afdbe(_0x56c57c,_0x2819bb- -_0x56f09f._0x395200);}return!Cesium__namespace[_0x299a9e(0x1478,_0x11f0ea._0x561dd8)](_0x171e7a[_0x299a9e(0x13b4,_0x11f0ea._0x2f6ad3)])&&Cesium__namespace[_0x299a9e(0x1478,_0x11f0ea._0x11a5f2)](_0x171e7a['minimumLevel'])&&_0x171e7a['minimumLevel']>0x0&&(_0x208852[_0x20749c(0x1582,0x19d9)]=_0x171e7a['minimumLevel']),_0x208852[_0x299a9e(0x81a,0x3d7)]&&(_0x171e7a[_0x299a9e(_0x11f0ea._0x374616,_0x11f0ea._0x1b2edb)]||_0x171e7a[_0x20749c(0x3d7,_0x11f0ea._0xaa2bc7)]||_0x171e7a[_0x20749c(0xf97,0x13b3)]||_0x171e7a['proxy'])&&(_0x208852[_0x299a9e(0x81a,0x108f)]=getUrlResource(_0x208852)),_0x208852;}const ImageryProviderFun={};function registerImageryProvider(_0x2ab26d,_0x3db081){const _0x392148={_0x4fabdd:0x169},_0x40331f={_0x2ff4a7:0x55c};function _0x74e806(_0xc04d85,_0x391960){return _0x7afdbe(_0x391960,_0xc04d85- -_0x40331f._0x2ff4a7);}ImageryProviderFun[_0x2ab26d]&&logError('registerImageryProvider:\x20'+_0x2ab26d+_0x74e806(_0x392148._0x4fabdd,0x16f)),ImageryProviderFun[_0x2ab26d]=_0x3db081;}function getProviderClass(_0x57fe0d){return ImageryProviderFun[_0x57fe0d];}async function createImageryProvider$j(_0x35411f){const _0x584d32={_0x21e31f:0x204};function _0x24582e(_0x43d792,_0x538bc1){return _0x7afdbe(_0x538bc1,_0x43d792- -0x2f0);}const _0x9dc225=getProviderClass(_0x35411f[_0x24582e(0x774,0xebd)]);function _0x5cc41f(_0x1ee62a,_0x37578b){return _0x54a7f1(_0x37578b- -_0x584d32._0x21e31f,_0x1ee62a);}if(_0x9dc225){const _0x48f573=await _0x9dc225(_0x35411f);return!_0x48f573['options']&&(_0x48f573['options']=_0x35411f),Cesium__namespace['defined'](_0x35411f['invertColor'])&&(_0x48f573[_0x24582e(0x1355,0x1bfc)]=_0x35411f['invertColor']),Cesium__namespace[_0x24582e(0x15bf,0x1b33)](_0x35411f['filterColor'])&&(_0x48f573[_0x24582e(0x16d5,0x1eb6)]=getCesiumColor(_0x35411f['filterColor'])),_0x48f573;}else logWarn(_0x24582e(0x11c1,0x1534),_0x35411f);}function getImageryProviderViewModels(_0x167911,_0x3782b5){const _0x2a94d2={_0x3f91aa:0x1017,_0xa6036e:0x1ce0};function _0x5959e0(_0x4019f4,_0x4d4c76){return _0x54a7f1(_0x4019f4- -0x259,_0x4d4c76);}const _0x19177b=[];let _0x512bdd=-0x1;function _0x35bf94(_0x242e0d,_0x25d0c2){return _0x54a7f1(_0x25d0c2-0xde,_0x242e0d);}for(let _0x331469=0x0;_0x331469<_0x167911['length'];_0x331469++){const _0x23ef7b=_0x167911[_0x331469];if(_0x23ef7b['type']==='group'&&_0x23ef7b[_0x35bf94(_0x2a94d2._0x3f91aa,0xb65)]==null)continue;_0x3782b5&&(_0x23ef7b['templateValues']=_0x3782b5),_0x23ef7b['show']?_0x512bdd=_0x19177b['length']:delete _0x23ef7b[_0x35bf94(_0x2a94d2._0xa6036e,0x16d1)],_0x19177b['push'](createProviderViewModel(_0x23ef7b,_0x331469));}const _0x4d0e18={};return _0x4d0e18['imageryProviderViewModels']=_0x19177b,_0x4d0e18['selectedIndex']=_0x512bdd,_0x4d0e18;}function createProviderViewModel(_0xfa6de5,_0x53a3bb){const _0x23bedc={_0x4b4004:0xa83,_0x15c3df:0x6bd},_0x1a7160={_0x249b70:0x203};window['_temp_mars3d_createImageryProvider']=createImageryProvider$j;function _0x12b854(_0x558736,_0x3931c9){return _0x54a7f1(_0x3931c9- -_0x1a7160._0x249b70,_0x558736);}const _0x5c8b1c='window._temp_mars3d_basemaps'+_0x53a3bb,_0x2ef106={};_0x2ef106['onlySimpleType']=!![],new Function('\x0a\x20\x20\x20\x20'+_0x5c8b1c+'\x20=\x20function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20item\x20=\x20item\x20||\x20'+JSON['stringify'](getAttrVal(_0xfa6de5,_0x2ef106))+';\x0a\x20\x20\x20\x20\x20\x20if\x20(item.type\x20===\x20\x22group\x22)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20arrVec\x20=\x20[]\x0a\x20\x20\x20\x20\x20\x20\x20\x20for\x20(let\x20index\x20=\x200;\x20index\x20<\x20item.layers.length;\x20index++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20item2\x20=\x20item.layers[index]\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(item.templateValues)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20item2.templateValues\x20=\x20item.templateValues\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20temp\x20=\x20window._temp_mars3d_createImageryProvider(item2)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(temp\x20==\x20null)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20continue\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20arrVec.push(temp)\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20arrVec\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20window._temp_mars3d_createImageryProvider(item)\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}')();function _0x22a93f(_0x1f86cd,_0x5ddd87){return _0x7afdbe(_0x5ddd87,_0x1f86cd- -0x640);}return new Cesium__namespace['ProviderViewModel']({'name':_0xfa6de5['name']||'','tooltip':_0xfa6de5['name']||'','iconUrl':_0xfa6de5['icon']||'','category':_0xfa6de5[_0x12b854(0x105f,_0x23bedc._0x4b4004)]||'','creationFunction':new Function(_0x12b854(0x5ed,_0x23bedc._0x15c3df)+_0x5c8b1c)(),'marsOptions':{'layerId':_0xfa6de5['id']}});}const _ellipsoid=new Cesium__namespace['EllipsoidTerrainProvider']({'ellipsoid':Cesium__namespace['Ellipsoid'][_0x7afdbe(0x19be,0x1088)]}),_0x589ca6={};_0x589ca6['type']=TerrainType[_0x54a7f1(0xff6,0x168a)],_ellipsoid['marsOptions']=_0x589ca6;function getNoTerrainProvider(){return _ellipsoid;}const TerrainProviderClass={};function registerTerrainProvider(_0xe50e41,_0x2d4afd){TerrainProviderClass[_0xe50e41]&&logError('registerTerrainProvider:\x20'+_0xe50e41+'类型已存在'),TerrainProviderClass[_0xe50e41]=_0x2d4afd;}function getTerrainProviderClass(_0xb172a0){return TerrainProviderClass[_0xb172a0];}async function createTerrainProvider(_0x582577){const _0x2b5f61={_0x124fd2:0x10de,_0x3a7e97:0x432,_0x6217f2:0x928,_0x3b784e:0xb79,_0x411bd0:0xb2f,_0x54b581:0x500,_0x49100c:0x9e7,_0xdc9fb4:0x117e,_0x3cd2ff:0x653,_0x450fa5:0xcf9,_0x35854e:0x42,_0x44801c:0x18e,_0x750550:0x6c5,_0x4aaa9c:0x85,_0x1610ec:0x463},_0x405139={_0x390fb4:0x601},_0x4bce97={};function _0x33e60f(_0x15426e,_0x1518cd){return _0x54a7f1(_0x15426e- -0x404,_0x1518cd);}_0x4bce97['type']=TerrainType['ION'],_0x582577=_0x582577||_0x4bce97,_0x582577['type']=_0x582577[_0xbabcc6(0xa41,0x463)]||TerrainType['XYZ'],_0x582577[_0xbabcc6(_0x2b5f61._0x124fd2,0x838)]=_0x582577['requestVertexNormals']??!![];let _0x1b9dd9;switch(_0x582577[_0x33e60f(_0x2b5f61._0x3a7e97,_0x2b5f61._0x6217f2)]){case TerrainType['XYZ']:case _0x33e60f(_0x2b5f61._0x3b784e,0x15cf):{_0x1b9dd9=await Cesium__namespace['CesiumTerrainProvider'][_0x33e60f(0x694,_0x2b5f61._0x411bd0)](getUrlResource(_0x582577),_0x582577);break;}case TerrainType['NONE']:case _0x33e60f(_0x2b5f61._0x54b581,0x559):_0x1b9dd9=_ellipsoid;break;case TerrainType['ION']:{const _0x1641fc=await Cesium__namespace['IonResource']['fromAssetId'](_0x582577[_0x33e60f(_0x2b5f61._0x49100c,_0x2b5f61._0xdc9fb4)],{'accessToken':_0x582577[_0x33e60f(0x210,-_0x2b5f61._0x3cd2ff)]??_0x582577['accessToken'],'server':_0x582577['ionServer']});_0x1b9dd9=await Cesium__namespace['CesiumTerrainProvider']['fromUrl'](_0x1641fc,_0x582577);}break;case TerrainType['GEE']:case _0x33e60f(_0x2b5f61._0x450fa5,0x4fb):{const _0x5cb248=await Cesium__namespace[_0x33e60f(_0x2b5f61._0x35854e,_0x2b5f61._0x44801c)]['fromUrl'](getUrlResource(_0x582577),_0x582577);_0x1b9dd9=await Cesium__namespace[_0xbabcc6(0x992,0x5d)][_0x33e60f(0x732,0x54b)](_0x5cb248,_0x582577);}break;case TerrainType['ARCGIS']:_0x1b9dd9=await Cesium__namespace[_0x33e60f(0xe6f,0x742)][_0xbabcc6(0x10ed,_0x2b5f61._0x750550)](getUrlResource(_0x582577),_0x582577);break;case TerrainType['VR']:_0x1b9dd9=await Cesium__namespace['VRTheWorldTerrainProvider']['fromUrl'](getUrlResource(_0x582577),_0x582577);break;default:{const _0x13667e=getTerrainProviderClass(_0x582577[_0xbabcc6(_0x2b5f61._0x4aaa9c,_0x2b5f61._0x1610ec)]);_0x13667e&&(_0x13667e['fromUrl']?_0x1b9dd9=await _0x13667e['fromUrl'](getUrlResource(_0x582577),_0x582577):_0x1b9dd9=new _0x13667e(_0x582577));}break;}function _0xbabcc6(_0x392f35,_0x2a3861){return _0x7afdbe(_0x392f35,_0x2a3861- -_0x405139._0x390fb4);}return _0x1b9dd9&&(_0x1b9dd9['marsOptions']=_0x582577),_0x1b9dd9;}function getTerrainProviderViewModels(_0xe884a4,_0x243ad8){const _0x1e5838={_0x37f6c2:0xa67,_0x2731f0:0x1b56,_0x4d4ff9:0xe7f,_0x1db9cb:0xa7c,_0x51b31d:0x78f,_0x3d55f9:0xf1c,_0x54bf11:0xb2f,_0xc38fb1:0x15d7,_0x4b3593:0x13ec,_0x2f8280:0x13ec,_0x501822:0x1da5,_0x11445d:0x194a,_0x41fb73:0x13ec,_0x580725:0x1e6f,_0x4af121:0x157f,_0x3c0e4c:0x1f62,_0x50a78b:0xd2a},_0x3f201a={_0x4fdc25:0x385},_0x12a231={_0x2b1a7a:0x3};function _0x42c7e2(_0x4b225c,_0x577ecf){return _0x7afdbe(_0x577ecf,_0x4b225c-_0x12a231._0x2b1a7a);}function _0x1dce46(_0x547d69,_0x500ab4){return _0x7afdbe(_0x500ab4,_0x547d69- -_0x3f201a._0x4fdc25);}_0x243ad8=_0x243ad8||getLangText;if(_0xe884a4){const _0x475aff={};return _0x475aff[_0x42c7e2(_0x1e5838._0x37f6c2,0x392)]=TerrainType['NONE'],[new Cesium__namespace['ProviderViewModel']({'name':_0x243ad8(_0x42c7e2(0x11d7,_0x1e5838._0x2731f0)),'iconUrl':Cesium__namespace['buildModuleUrl'](_0x42c7e2(0x1572,0xcaf)),'tooltip':_0x243ad8(_0x1dce46(_0x1e5838._0x4d4ff9,_0x1e5838._0x1db9cb)),'category':'','creationFunction':function(){return getNoTerrainProvider();},'marsOptions':_0x475aff}),new Cesium__namespace[(_0x1dce46(0x157f,0x1ebd))]({'name':_0xe884a4['name']||_0x243ad8('TerrainProvider'),'iconUrl':Cesium__namespace[_0x1dce46(0x13ec,0x9e7)](_0x1dce46(0xf2f,0xda0)),'tooltip':_0xe884a4[_0x1dce46(_0x1e5838._0x51b31d,0x122d)]||_0x243ad8(_0x42c7e2(_0x1e5838._0x3d55f9,0x14c8)),'category':'','creationFunction':function(){return createTerrainProvider(_0xe884a4);},'marsOptions':{'type':TerrainType['XYZ'],..._0xe884a4}})];}else{const _0x69e8fb={};_0x69e8fb[_0x1dce46(0x6df,0x118b)]=TerrainType[_0x1dce46(0xe9f,_0x1e5838._0x54bf11)];const _0x3affd9={};_0x3affd9[_0x42c7e2(_0x1e5838._0x37f6c2,0xd2)]=TerrainType[_0x1dce46(0x12f1,0x947)];const _0x2e2a79={};_0x2e2a79['type']=TerrainType['ION'];const _0x1ba7cf={};return _0x1ba7cf['type']=TerrainType['ARCGIS'],[new Cesium__namespace[(_0x1dce46(0x157f,0x18f3))]({'name':_0x243ad8(_0x42c7e2(0x11d7,_0x1e5838._0xc38fb1)),'iconUrl':Cesium__namespace[_0x1dce46(_0x1e5838._0x4b3593,0x9d3)]('Widgets/Images/TerrainProviders/Ellipsoid.png'),'tooltip':_0x243ad8(_0x42c7e2(0x1207,0x1782)),'category':'','creationFunction':function(){return getNoTerrainProvider();},'marsOptions':_0x69e8fb}),new Cesium__namespace['ProviderViewModel']({'name':'Mar3D\x20'+_0x243ad8(_0x1dce46(0xf9f,0x10b3)),'iconUrl':Cesium__namespace[_0x1dce46(_0x1e5838._0x2f8280,_0x1e5838._0x501822)]('Widgets/Images/TerrainProviders/CesiumWorldTerrain.png'),'tooltip':'Mar3D\x20'+_0x243ad8(_0x42c7e2(0xf1c,0x1633)),'category':'','creationFunction':function(){const _0x52e37e={};return _0x52e37e['url']='//data.mars3d.cn/terrain',createTerrainProvider(_0x52e37e);},'marsOptions':_0x3affd9}),new Cesium__namespace[(_0x42c7e2(0x1907,0xf02))]({'name':_0x42c7e2(_0x1e5838._0x11445d,0xf72)+_0x243ad8('TerrainProvider'),'iconUrl':Cesium__namespace[_0x1dce46(_0x1e5838._0x41fb73,_0x1e5838._0x580725)]('Widgets/Images/TerrainProviders/CesiumWorldTerrain.png'),'tooltip':'Ion\x20'+_0x243ad8('TerrainProviderTooltip'),'category':'','creationFunction':function(){const _0x751f7e={};_0x751f7e[_0xe559b7(0x140,0x5bc)]='ion';function _0xe559b7(_0x102306,_0x446c79){return _0x42c7e2(_0x446c79- -0x4ab,_0x102306);}return createTerrainProvider(_0x751f7e);},'marsOptions':_0x2e2a79}),new Cesium__namespace[(_0x1dce46(_0x1e5838._0x4af121,_0x1e5838._0x3c0e4c))]({'name':'ArcGIS\x20'+_0x243ad8(_0x42c7e2(0x1327,0x1a8b)),'iconUrl':Cesium__namespace['buildModuleUrl']('Widgets/Images/TerrainProviders/CesiumWorldTerrain.png'),'tooltip':_0x42c7e2(0x13df,0xf2a)+_0x243ad8(_0x42c7e2(0xf1c,_0x1e5838._0x50a78b)),'category':'','creationFunction':function(){const _0x4c6e5b={};return _0x4c6e5b['type']='arcgis',_0x4c6e5b['url']='https://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer',createTerrainProvider(_0x4c6e5b);},'marsOptions':_0x1ba7cf})];}}const _0x4de6ef={};_0x4de6ef[_0x7afdbe(0xcd4,0x851)]=null,_0x4de6ef['register']=register$3,_0x4de6ef[_0x7afdbe(0x9d3,0x4d9)]=getClass$3,_0x4de6ef['create']=create$3,_0x4de6ef['converOptions']=converOptions,_0x4de6ef[_0x7afdbe(0x14c2,0x1568)]=registerImageryProvider,_0x4de6ef['getProviderClass']=getProviderClass,_0x4de6ef[_0x54a7f1(0x11a5,0x1381)]=createImageryProvider$j,_0x4de6ef['getImageryProviderViewModels']=getImageryProviderViewModels,_0x4de6ef['getNoTerrainProvider']=getNoTerrainProvider,_0x4de6ef[_0x7afdbe(0x1530,0x1496)]=registerTerrainProvider,_0x4de6ef['getTerrainProviderClass']=getTerrainProviderClass,_0x4de6ef['createTerrainProvider']=createTerrainProvider,_0x4de6ef['getTerrainProviderViewModels']=getTerrainProviderViewModels;var LayerUtil=_0x4de6ef;const ControlClass={};function register$2(_0x3616fd,_0x4a8e85){const _0x3582cf={_0x450d09:0xb6},_0x962d92={_0x21763b:0x138};ControlClass[_0x3616fd]&&logError(_0x585eaf(0x21f3,0x17ff)+_0x3616fd+'类型已存在',_0x4a8e85);function _0x585eaf(_0x2d8192,_0x49d69f){return _0x7afdbe(_0x2d8192,_0x49d69f- -_0x962d92._0x21763b);}function _0x2992a8(_0xcad95,_0x1452f2){return _0x54a7f1(_0xcad95-_0x3582cf._0x450d09,_0x1452f2);}ControlType[_0x3616fd]=_0x3616fd,ControlClass[_0x3616fd]=_0x4a8e85,_0x4a8e85[_0x2992a8(0x8ec,0x22)]=_0x3616fd,_0x4a8e85[_0x2992a8(0x6c6,0xfb7)]['_type']=_0x3616fd;}function getClass$2(_0x4ed723){return ControlClass[_0x4ed723];}function create$2(_0x2da832,_0x5d264e){const _0x512f3b=getClass$2(_0x2da832);if(_0x512f3b){const _0x16cb71=new _0x512f3b(_0x5d264e);return _0x16cb71;}}const _0x5c0743={};_0x5c0743['__proto__']=null,_0x5c0743[_0x7afdbe(0x132e,0x12d6)]=register$2,_0x5c0743[_0x54a7f1(0x2ab,-0x241)]=getClass$2,_0x5c0743['create']=create$2;var ControlUtil=_0x5c0743;const EffectClass={};function register$1(_0x263d57,_0x1ba937){const _0xa22c8e={_0x4b6fb0:0x28e,_0x30e117:0xcb1,_0x3e5794:0xfa,_0x449979:0x1c0};EffectClass[_0x263d57]&&logError(_0x5f33a5(0x1500,0xf1f)+_0x263d57+_0x5f33a5(_0xa22c8e._0x4b6fb0,_0xa22c8e._0x30e117),_0x1ba937);EffectType[_0x263d57]=_0x263d57;function _0x5e8841(_0x3dd79c,_0x5125cd){return _0x7afdbe(_0x3dd79c,_0x5125cd- -0x67e);}EffectClass[_0x263d57]=_0x1ba937;function _0x5f33a5(_0x1d0bdd,_0x13dd61){return _0x54a7f1(_0x1d0bdd- -0x209,_0x13dd61);}_0x1ba937['type']=_0x263d57,_0x1ba937[_0x5e8841(_0xa22c8e._0x3e5794,_0xa22c8e._0x449979)]['_type']=_0x263d57;}function getClass$1(_0x59cb21){return EffectClass[_0x59cb21];}function create$1(_0x1df212,_0x14bbcf){const _0x1cf42a={_0x4bd7a3:0xca5,_0x5c6525:0x23d},_0x585ca6=getClass$1(_0x1df212);function _0x290776(_0x1123ed,_0x4d26bb){return _0x54a7f1(_0x1123ed- -0x3f,_0x4d26bb);}if(_0x585ca6){const _0x193720=new _0x585ca6(_0x14bbcf);return _0x193720;}else logWarn(_0x290776(_0x1cf42a._0x4bd7a3,_0x1cf42a._0x5c6525),_0x1df212,_0x14bbcf);}const _0x1450e7={};_0x1450e7['__proto__']=null,_0x1450e7['register']=register$1,_0x1450e7[_0x54a7f1(0x2ab,0xb8a)]=getClass$1,_0x1450e7['create']=create$1;var EffectUtil=_0x1450e7;const ThingClass={};function register(_0x23bafc,_0x2699d6,_0x3aa8b4=!![]){const _0x3e99e4={_0x798def:0xf4,_0x2e01a6:0x87d,_0x140304:0x40c};ThingClass[_0x23bafc]&&logError('register:\x20'+_0x23bafc+_0x9df816(_0x3e99e4._0x798def,-0x1b1),_0x2699d6);function _0x2f4456(_0x24fa58,_0x21aa0b){return _0x54a7f1(_0x24fa58-0x47,_0x21aa0b);}ThingType[_0x23bafc]=_0x23bafc,ThingClass[_0x23bafc]=_0x2699d6,_0x2699d6[_0x2f4456(_0x3e99e4._0x2e01a6,_0x3e99e4._0x140304)]=_0x23bafc,_0x2699d6['prototype']['_type']=_0x23bafc;function _0x9df816(_0x37575e,_0x1347a3){return _0x54a7f1(_0x37575e- -0x3a3,_0x1347a3);}_0x2699d6['prototype']['_isOnlyInMap']=_0x3aa8b4;}function getClass(_0x23ce85){return ThingClass[_0x23ce85];}function create(_0x47e94e,_0x366b67){const _0x286c1a={_0xb7c5c6:0x731};function _0x1e5ac8(_0x35fdfa,_0x1712c9){return _0x54a7f1(_0x35fdfa- -0x26c,_0x1712c9);}const _0x5a30ee=getClass(_0x47e94e);if(_0x5a30ee){const _0x24a937=new _0x5a30ee(_0x366b67);return _0x24a937;}else logWarn(_0x1e5ac8(_0x286c1a._0xb7c5c6,0xbaf),_0x47e94e,_0x366b67);}const _0x129fe1={};_0x129fe1['__proto__']=null,_0x129fe1['register']=register,_0x129fe1['getClass']=getClass,_0x129fe1['create']=create;var ThingUtil=_0x129fe1;class BaseOptsConver{constructor(_0x3e1e49={}){const _0x411128={_0x4eb24f:0x56f},_0x2d8f0f={_0x51c893:0x30c};function _0x12290f(_0x19e92f,_0x3c7a11){return _0x7afdbe(_0x3c7a11,_0x19e92f- -_0x2d8f0f._0x51c893);}this[_0x12290f(0x7d2,_0x411128._0x4eb24f)]=_0x3e1e49;}get['excludedKeys'](){return null;}get[_0x7afdbe(0x781,0x64c)](){const _0x5b22d3={_0x359044:0x4f6};function _0x35ef4a(_0x93d2ea,_0x1c0967){return _0x7afdbe(_0x93d2ea,_0x1c0967- -_0x5b22d3._0x359044);}function _0x3c0175(_0x4864ad,_0x2acd83){return _0x54a7f1(_0x4864ad- -0x184,_0x2acd83);}return[_0x35ef4a(0x16c7,0xf4a),'outlineColor','backgroundColor',_0x3c0175(0x1417,0x1dc6)];}[_0x54a7f1(0xdd9,0x158a)](_0x44a30d={},_0xaf894d={}){const _0x277ee={_0x4abf06:0x41f,_0x375125:0xa4e},_0x23c5a2={_0x56a805:0x3eb},_0x40efac={_0x37e5df:0x3be};this['_toCesiumValBefore'](_0x44a30d,_0xaf894d);function _0x51b785(_0x27fba5,_0x2bdd0c){return _0x7afdbe(_0x2bdd0c,_0x27fba5- -_0x40efac._0x37e5df);}for(const _0x23788e in _0x44a30d){const _0x419f5f=_0x44a30d[_0x23788e];if(this['includeKeys'][_0x51b785(_0x277ee._0x4abf06,_0x277ee._0x375125)](_0x23788e)===-0x1){if(!isSimpleType(_0x419f5f)){_0xaf894d[_0x23788e]=_0x419f5f;continue;}if(this['excludedKeys']&&this['excludedKeys']['indexOf'](_0x23788e)!==-0x1)continue;}const _0x1fe434=this[_0x336abd(0x10ed,0x12e8)](_0x23788e,_0x419f5f,_0x44a30d,_0xaf894d);if(_0x1fe434==null)continue;_0xaf894d[_0x23788e]=_0x1fe434;}function _0x336abd(_0x928094,_0x168ca6){return _0x54a7f1(_0x928094- -_0x23c5a2._0x56a805,_0x168ca6);}return this['_toCesiumValEnd'](_0x44a30d,_0xaf894d),_0xaf894d;}[_0x7afdbe(0x142e,0xe69)](_0x3683bb,_0x5ed8cb){}[_0x7afdbe(0x1632,0xeef)](_0x3b6d7b,_0x34f59d){}['_toOneCesiumVal'](_0x56f817,_0x34143e,_0x128d22,_0x286289){switch(_0x56f817){default:_0x286289[_0x56f817]=_0x34143e;break;}}['toJSON'](_0x191c9c,_0x5e3180={}){const _0x17b74d={_0x46c7fc:0x1e},_0x3b53d6={_0x2bfaad:0x197};_0x191c9c=getAttrVal(_0x191c9c);function _0x19f575(_0xf31a8a,_0x120c16){return _0x7afdbe(_0xf31a8a,_0x120c16- -_0x3b53d6._0x2bfaad);}this[_0x2c98f9(0xbab,0x12f7)]&&this['_toJSONValBefore'](_0x5e3180,_0x191c9c);function _0x2c98f9(_0x1cf769,_0x4964fa){return _0x7afdbe(_0x1cf769,_0x4964fa- -_0x17b74d._0x46c7fc);}for(const _0x29bd46 in _0x191c9c){const _0x40a57f=_0x191c9c[_0x29bd46];if(isSimpleType(_0x40a57f))_0x5e3180[_0x29bd46]=_0x40a57f;else{if(this[_0x19f575(0x1e06,0x17e0)]&&this[_0x19f575(0x1d58,0x17e0)]['indexOf'](_0x29bd46)!==-0x1)continue;this['_toOneJson'](_0x29bd46,_0x191c9c[_0x29bd46],_0x5e3180);}}return this['_toJSONValEnd']&&this['_toJSONValEnd'](_0x5e3180,_0x191c9c),_0x5e3180;}[_0x7afdbe(0x125f,0xf21)](_0x559fcb,_0x2e5040,_0x22cd42){}static['getColorByStyle'](_0x41271b){return!this['baseOptsConver']&&(this['baseOptsConver']=new BaseOptsConver()),this['baseOptsConver']['getColorByStyle'](_0x41271b);}['getColorByStyle'](_0x1752d3){function _0x1b4404(_0x18b13f,_0x59cf6e){return _0x7afdbe(_0x59cf6e,_0x18b13f- -0x4bd);}return getColorByStyle(_0x1752d3,this[_0x1b4404(0x621,-0x338)]['color']);}[_0x54a7f1(0x338,-0x784)](_0x48db6f){const _0x3a89ad={_0xf77278:0x906,_0x19c34d:0x6d4,_0x463693:0x906,_0xd296c7:0x4c0,_0x343857:0x616,_0x3a4381:0xbfc,_0xfec7c8:0x1612,_0x387cea:0x174e,_0x16dfce:0x2f,_0x3a8c8a:0x932},_0x2d915d={_0x5ac5ea:0x161};let _0x74aa66;_0x48db6f['outlineColor']?isString(_0x48db6f[_0xad86f3(-0x4e,_0x3a89ad._0xf77278)])?_0x74aa66=Cesium__namespace['Color']['fromCssColorString'](_0x48db6f[_0x226616(0xaf5,_0x3a89ad._0x19c34d)]):_0x74aa66=_0x48db6f['outlineColor']:_0x74aa66=this['options'][_0xad86f3(0x10bf,_0x3a89ad._0x463693)];function _0x226616(_0xaac808,_0x31a158){return _0x54a7f1(_0xaac808-0x2bc,_0x31a158);}if(!_0x74aa66)return _0x74aa66;if(Cesium__namespace['defined'](_0x48db6f[_0xad86f3(0x1cb5,0x1428)]))_0x74aa66=_0x74aa66[_0xad86f3(-_0x3a89ad._0xd296c7,0x458)](Number(_0x48db6f[_0xad86f3(0xd41,0x1428)]));else Cesium__namespace['defined'](_0x48db6f['opacity'])&&(_0x74aa66=_0x74aa66['withAlpha'](Number(_0x48db6f[_0x226616(_0x3a89ad._0x343857,_0x3a89ad._0x3a4381)])));function _0xad86f3(_0x5cc3f3,_0x3f9554){return _0x7afdbe(_0x5cc3f3,_0x3f9554- -_0x2d915d._0x5ac5ea);}return Cesium__namespace[_0xad86f3(_0x3a89ad._0xfec7c8,_0x3a89ad._0x387cea)](_0x48db6f['globalAlpha'])&&_0x48db6f[_0xad86f3(_0x3a89ad._0x16dfce,_0x3a89ad._0x3a8c8a)]!==0x1&&(_0x74aa66=_0x74aa66['withAlpha'](_0x74aa66['alpha']*_0x48db6f['globalAlpha'])),_0x74aa66;}}class BaseMaterialConver extends BaseOptsConver{get['excludedKeys'](){const _0x234bba=['label'];return _0x234bba['concat'](this['_getExcludedStyle']());}['_getExcludedStyle'](){return[];}static['toCesiumVal'](_0x24f963,_0x55b145){const _0xa2fd9d={_0x435399:0x1950},_0x3d59f6={_0xb631b9:0x2f6},_0x6a8eda={_0x48cdde:0x1bc};!this[_0x59f5e8(_0xa2fd9d._0x435399,0x1a33)]&&(this['baseMaterialConver']=new BaseMaterialConver());function _0x59f5e8(_0x40a806,_0x32cf0d){return _0x54a7f1(_0x40a806-_0x6a8eda._0x48cdde,_0x32cf0d);}function _0x313bd6(_0x4503e4,_0x198cd3){return _0x54a7f1(_0x198cd3- -_0x3d59f6._0xb631b9,_0x4503e4);}return this[_0x59f5e8(0x1950,0x20ec)]['toCesiumVal'](_0x24f963,_0x55b145);}['_toOneCesiumVal'](_0x2a84a9,_0x2c63bd,_0x46938a,_0x111590){const _0x1abb75={_0x5d39db:0xe5a,_0xaae297:0x8b4,_0x42ef13:0x162c,_0x2133fc:0xd5a,_0x2763e7:0x2dd,_0x24d3e9:0x15be,_0x5415a9:0xdf6,_0x332165:0x1a80,_0x17a712:0xa2c,_0x5ce44a:0x1716,_0x59b375:0x46b,_0x614aea:0x734,_0x547ed1:0x1197,_0x4b3481:0xb2f,_0x520970:0xbe6,_0x3cecb2:0x8f2,_0x473df6:0xb1b,_0x4d34e0:0xcc9,_0x133806:0x1b03};function _0x10ee14(_0x391579,_0x4072cc){return _0x54a7f1(_0x391579-0x95,_0x4072cc);}function _0x4788da(_0x7f6370,_0x2144d4){return _0x7afdbe(_0x2144d4,_0x7f6370- -0x20b);}switch(_0x2a84a9){case'color':case _0x10ee14(0x767,_0x1abb75._0x5d39db):_0x111590[_0x10ee14(0x12a7,0xe2f)]=this[_0x4788da(_0x1abb75._0xaae297,0x48d)](_0x46938a);break;case'color2':case'bgColor':case'outlineColor':case _0x4788da(0x174e,_0x1abb75._0x42ef13):case'oddColor':case'lightColor':case _0x10ee14(_0x1abb75._0x2133fc,0x1715):case _0x4788da(0x55d,_0x1abb75._0x2763e7):case'blendColor':case'gapColor':case _0x4788da(_0x1abb75._0x24d3e9,_0x1abb75._0x5415a9):case _0x10ee14(0x136e,0x1154):case _0x4788da(0x3da,0x1a6):{let _0x1d0826=getCesiumColor(_0x2c63bd);Cesium__namespace[_0x4788da(0x16a4,_0x1abb75._0x332165)](_0x46938a['opacity'])&&_0x46938a[_0x4788da(0x37d,0x99d)]!==0x1&&(_0x1d0826=_0x1d0826['withAlpha'](_0x46938a[_0x4788da(0x37d,_0x1abb75._0x17a712)]));Cesium__namespace[_0x10ee14(_0x1abb75._0x5ce44a,0x20f9)](_0x46938a[_0x4788da(0x888,0x12f0)])&&_0x46938a['globalAlpha']!==0x1&&(_0x1d0826=_0x1d0826[_0x10ee14(0x420,-0x457)](_0x1d0826[_0x10ee14(_0x1abb75._0x59b375,0x6fe)]*_0x46938a[_0x10ee14(0x8fa,_0x1abb75._0x614aea)]));_0x111590[_0x2a84a9]=_0x1d0826;break;}case'repeat_x':case _0x4788da(0x11ef,_0x1abb75._0x547ed1):{const _0x4a8013=_0x46938a['repeat_x']??0x1,_0x3a3fcf=_0x46938a[_0x10ee14(0x1261,_0x1abb75._0x4b3481)]??0x1;_0x111590['repeat']=new Cesium__namespace[(_0x10ee14(0x1799,0x11da))](_0x4a8013,_0x3a3fcf);break;}case _0x10ee14(0x888,_0x1abb75._0x520970):{_0x46938a['materialType']===Stripe||_0x46938a['materialType']===CylinderWave?_0x111590[_0x2a84a9]=_0x2c63bd:_0x111590[_0x2a84a9]=new Cesium__namespace['Cartesian2'](_0x46938a[_0x4788da(_0x1abb75._0x3cecb2,0x119f)]||_0x2c63bd,_0x46938a['repeat_y']||_0x2c63bd);break;}case _0x4788da(_0x1abb75._0x473df6,0x31a):case'lineThickness':case'lineOffset':case'noiseScale':{_0x111590[_0x2a84a9]=new Cesium__namespace['Cartesian2'](_0x2c63bd,_0x2c63bd);break;}case _0x10ee14(0x1695,0x20a4):{_0x2c63bd?_0x111590[_0x2a84a9]=Cesium__namespace[_0x4788da(0x1054,_0x1abb75._0x4d34e0)][_0x10ee14(0xa1e,0xfb3)]:_0x111590[_0x2a84a9]=Cesium__namespace[_0x10ee14(0x10c6,_0x1abb75._0x133806)][_0x4788da(0xc8c,0x3fb)];break;}default:_0x111590[_0x2a84a9]=_0x2c63bd;break;}}static['toJSON'](_0x4908fb,_0x3ff706){const _0x14c08a={_0x36e044:0x1493,_0x1d0562:0x1493,_0x4d7174:0x1956},_0x2cd2c9={_0x1dc4b7:0x301};!this['baseMaterialConver']&&(this[_0x79d4be(_0x14c08a._0x36e044,0x18d7)]=new BaseMaterialConver());function _0x79d4be(_0x466be8,_0x173449){return _0x54a7f1(_0x466be8- -_0x2cd2c9._0x1dc4b7,_0x173449);}function _0x2b9e77(_0x24276a,_0x41fa52){return _0x7afdbe(_0x24276a,_0x41fa52-0x70);}return this[_0x79d4be(_0x14c08a._0x1d0562,0x1747)][_0x79d4be(0x103a,_0x14c08a._0x4d7174)](_0x4908fb,_0x3ff706);}['toJSON'](_0x197b55,_0x534f77={}){const _0x135ba2={_0x4964c7:0xc1a},_0x2788a6={_0x39f1c9:0x6d};var _0x31097f;function _0x3723ba(_0x27f0d4,_0x43cee6){return _0x54a7f1(_0x27f0d4- -_0x2788a6._0x39f1c9,_0x43cee6);}if((_0x31097f=_0x197b55)!==null&&_0x31097f!==void 0x0&&_0x31097f[_0x2917f7(0x858,_0x135ba2._0x4964c7)]){const _0x5a8a88=_0x197b55[_0x2917f7(0x858,0xb1)];for(const _0x4d7df3 in _0x5a8a88){Cesium__namespace['defined'](_0x197b55[_0x4d7df3])&&(_0x5a8a88[_0x4d7df3]=_0x197b55[_0x4d7df3]);}_0x197b55=_0x5a8a88;}function _0x2917f7(_0x30ba1c,_0x44941d){return _0x54a7f1(_0x30ba1c- -0x58,_0x44941d);}return super['toJSON'](_0x197b55,_0x534f77);}[_0x54a7f1(0xcf3,0xbe9)](_0x2bb613,_0x4fbd3a,_0x1f36de){const _0x51c708={_0x563b3b:0xba,_0x1572d6:0xbb5},_0x2e7991={_0x356d20:0x2eb};function _0x5b2512(_0x3401fd,_0x27f962){return _0x7afdbe(_0x3401fd,_0x27f962- -0x582);}if(_0x4fbd3a instanceof Cesium__namespace['Color']){_0x1f36de[_0x2bb613]=_0x4fbd3a[_0x5b2512(0x1272,0xed5)]();return;}function _0x4f6904(_0xf89634,_0xb56d9c){return _0x54a7f1(_0xb56d9c- -_0x2e7991._0x356d20,_0xf89634);}switch(_0x2bb613){case _0x5b2512(0x7d6,0xd66):break;case'color':case _0x5b2512(0x29d,-0x116):case _0x5b2512(-_0x51c708._0x563b3b,0x4e5):case'evenColor':case _0x5b2512(0x133,0xb33):case _0x4f6904(0x5ac,0x24f):case'blendColor':case _0x4f6904(_0x51c708._0x1572d6,0x717):case'strokeColor':case _0x4f6904(0x19f2,0xfee):case'asphaltColor':case'lightColor':{const _0x1c2542=getCesiumColor(_0x4fbd3a);_0x1c2542&&_0x1c2542['toCssColorString']&&(_0x1f36de[_0x2bb613]=_0x1c2542[_0x4f6904(0x613,0xf3e)]());break;}case _0x4f6904(0x649,0x508):{_0x4fbd3a instanceof Cesium__namespace['Cartesian2']?_0x4fbd3a['x']!==_0x4fbd3a['y']?(_0x1f36de[_0x2bb613+'_x']=_0x4fbd3a['x'],_0x1f36de[_0x2bb613+'_y']=_0x4fbd3a['y']):_0x1f36de[_0x2bb613]=_0x4fbd3a['x']:_0x1f36de[_0x2bb613]=_0x4fbd3a;break;}case'lineCount':case'lineThickness':case'lineOffset':case'noiseScale':{_0x1f36de[_0x2bb613+'_x']=_0x4fbd3a['x'],_0x1f36de[_0x2bb613+'_y']=_0x4fbd3a['y'];break;}default:console[_0x4f6904(0x936,0x115f)]('未处理的属性',_0x2bb613,_0x4fbd3a);break;}}}registerOptsConver(_0x54a7f1(0x947,0x4e7),BaseMaterialConver);class ColorOptsConver extends BaseMaterialConver{static['toCesiumVal'](_0x4cb58e,_0x5f2b0b,_0x1fb614){if(_0x4cb58e instanceof Cesium__namespace['Color'])return _0x4cb58e;!this['colorOptsConver']&&(this[_0x17843c(0x3e1,0xc18)]=new ColorOptsConver());this['colorOptsConver']['isProperty']=_0x1fb614;function _0x17843c(_0x142c5e,_0x3853dd){return _0x7afdbe(_0x3853dd,_0x142c5e- -0x128);}return this['colorOptsConver']['toCesiumVal'](_0x4cb58e,_0x5f2b0b);}['toCesiumVal'](_0x13a3a1){return this['isProperty']?this['getColorByStyle'](_0x13a3a1):{'color':this['getColorByStyle'](_0x13a3a1)};}static['toJSON'](_0x2f9715,_0x1714af={},_0x3c49e7=![]){const _0x3ccd87={_0x172074:0x2f0,_0x4625a4:0x7d7,_0x2aa199:0x2e5},_0x37f47f={_0x9b4340:0x219},_0x4edbf0={_0x54bfa6:0x2bd};function _0x31a9a6(_0x2d107c,_0x4e06a9){return _0x54a7f1(_0x4e06a9-_0x4edbf0._0x54bfa6,_0x2d107c);}!this['colorOptsConver']&&(this[_0x24421d(_0x3ccd87._0x172074,-_0x3ccd87._0x4625a4)]=new ColorOptsConver());this['colorOptsConver']['isProperty']=_0x3c49e7;function _0x24421d(_0x34d966,_0x165cbc){return _0x7afdbe(_0x165cbc,_0x34d966- -_0x37f47f._0x9b4340);}return this[_0x31a9a6(_0x3ccd87._0x2aa199,0x598)][_0x31a9a6(0x1de1,0x15f8)](_0x2f9715,_0x1714af);}['toJSON'](_0xbbe33c,_0x3b6e3d={}){const _0x2c523a={_0x2a4cd9:0x19c1,_0x5d37ea:0x1443};var _0x3865d5;(_0x3865d5=_0xbbe33c)!==null&&_0x3865d5!==void 0x0&&_0x3865d5['color']&&(_0xbbe33c=_0xbbe33c['color']);function _0x25846e(_0x18915b,_0x34b278){return _0x7afdbe(_0x34b278,_0x18915b- -0x14);}let _0x59cba8=getCesiumValue(_0xbbe33c,Cesium__namespace[_0x25846e(0x149e,_0x2c523a._0x2a4cd9)]);_0x59cba8['color']&&(_0x59cba8=_0x59cba8['color']);function _0x8033e3(_0x95239d,_0x3d494e){return _0x54a7f1(_0x95239d-0xbf,_0x3d494e);}if(_0x59cba8){if(_0x59cba8 instanceof Cesium__namespace['Color'])_0x3b6e3d['color']=_0x59cba8[_0x25846e(_0x2c523a._0x5d37ea,0x14b5)]();else isString(_0x59cba8)&&(_0x3b6e3d[_0x8033e3(0x12d1,0x180c)]=_0x59cba8);}return _0x3b6e3d;}}registerOptsConver(Color$2,ColorOptsConver),registerOptsConver(PolylineArrow,ColorOptsConver);class ImageOptsConver extends BaseMaterialConver{get[_0x7afdbe(0xfde,0x11a6)](){function _0x5efd6d(_0x263cdb,_0xeb5147){return _0x7afdbe(_0xeb5147,_0x263cdb- -0x270);}return[_0x5efd6d(0x118a,0x1329)];}static['toCesiumVal'](_0x21efe9,_0x3f0a96){const _0x513952={_0x23af11:0xc1c,_0xf49b40:0xabb,_0x4882c3:0x13b0,_0x21d607:0xe37,_0x5c0d51:0xcf7};function _0x90068a(_0x15da4f,_0x37fa8f){return _0x54a7f1(_0x15da4f- -0x34d,_0x37fa8f);}!this[_0x6cda87(_0x513952._0x23af11,0x13b0)]&&(this[_0x6cda87(_0x513952._0xf49b40,_0x513952._0x4882c3)]=new ImageOptsConver());function _0x6cda87(_0x3fc5f8,_0x420806){return _0x54a7f1(_0x420806- -0x1af,_0x3fc5f8);}return this[_0x6cda87(_0x513952._0x21d607,0x13b0)][_0x90068a(0xa8c,_0x513952._0x5c0d51)](_0x21efe9,_0x3f0a96);}[_0x54a7f1(0x14d8,0x19d0)](_0xe70306,_0x1828d8,_0x50b4c3,_0x3fa203){const _0x43cf52={_0x54f8c8:0xd5c,_0xe32076:0x9d0,_0x23e193:0x3d7,_0x4e0121:0x5b7},_0x5d837e={_0x121290:0x6e4};function _0x1abc4c(_0x3748f6,_0x46dffa){return _0x54a7f1(_0x46dffa- -0x2c6,_0x3748f6);}function _0x28ff67(_0x5d69d9,_0x19f66d){return _0x7afdbe(_0x19f66d,_0x5d69d9- -_0x5d837e._0x121290);}switch(_0xe70306){case'repeat_x':{const _0x2f056e=_0x50b4c3['repeat_x']??0x1,_0x20a5a4=_0x50b4c3['repeat_y']??0x1;_0x3fa203['repeat']=new Cesium__namespace[(_0x28ff67(0x124e,0x101d))](_0x2f056e,_0x20a5a4);break;}case'repeat':{_0x3fa203[_0xe70306]=new Cesium__namespace['Cartesian2'](_0x50b4c3[_0x28ff67(0x419,0x230)]||_0x1828d8,_0x50b4c3['repeat_y']||_0x1828d8);break;}case'color':break;case'opacity':if(Cesium__namespace['defined'](_0x50b4c3['globalAlpha'])&&_0x50b4c3[_0x1abc4c(-0x293,0x59f)]!==0x1)_0x3fa203[_0x28ff67(_0x43cf52._0x54f8c8,0xbd5)]=Cesium__namespace['Color'][_0x28ff67(0x3d7,_0x43cf52._0xe32076)]['withAlpha'](_0x50b4c3[_0x1abc4c(-0x4e6,0x59f)]*(_0x1828d8??0x1));else _0x50b4c3['transparent']??!![]?_0x3fa203['color']=Cesium__namespace['Color'][_0x28ff67(_0x43cf52._0x23e193,0x3d1)]['withAlpha'](_0x1828d8??0x1):_0x3fa203['color']=Cesium__namespace['Color'][_0x1abc4c(_0x43cf52._0x4e0121,0x5c7)];break;default:_0x3fa203[_0xe70306]=_0x1828d8;break;}}['_toCesiumValEnd'](_0x223e02,_0x165e90){const _0xc88f59={_0x418544:0x14b2,_0x3f313f:0x12d7};function _0x5a8c3c(_0x554610,_0x5f17e2){return _0x54a7f1(_0x554610- -0x277,_0x5f17e2);}_0x165e90['transparent']=_0x165e90[_0x5a8c3c(_0xc88f59._0x418544,_0xc88f59._0x3f313f)]??!![];}static['toJSON'](_0x3896c9,_0x58f1a3){const _0x35dae9={_0x25eb7a:0x1550,_0x543a40:0xd82},_0x3dc747={_0x4d1ffc:0x1b1};function _0x427d43(_0x5855da,_0x2232b3){return _0x7afdbe(_0x2232b3,_0x5855da- -0x666);}!this[_0x7888a5(0x15dc,_0x35dae9._0x25eb7a)]&&(this[_0x7888a5(0x15dc,0x181d)]=new ImageOptsConver());function _0x7888a5(_0x274fa6,_0x5a31a1){return _0x7afdbe(_0x5a31a1,_0x274fa6- -_0x3dc747._0x4d1ffc);}return this['imageOptsConver'][_0x427d43(0xf03,_0x35dae9._0x543a40)](_0x3896c9,_0x58f1a3);}[_0x54a7f1(0xcf3,0xf8a)](_0x5e3a2d,_0x32263e,_0x53c7cc){const _0x2f5819={_0x199152:0xfc,_0x75683e:0x2e,_0x10398d:0x56b},_0x3ec52d={_0x11eeb2:0x17f};function _0xf9d259(_0x38f578,_0xd8f90){return _0x54a7f1(_0xd8f90- -0x364,_0x38f578);}function _0x5d94d8(_0x24e269,_0x24b054){return _0x54a7f1(_0x24e269-_0x3ec52d._0x11eeb2,_0x24b054);}switch(_0x5e3a2d){case _0x5d94d8(0x972,_0x2f5819._0x199152):{_0x53c7cc[_0xf9d259(_0x2f5819._0x75683e,_0x2f5819._0x10398d)]=_0x32263e['x'],_0x53c7cc['repeat_y']=_0x32263e['y'];break;}case'color':{var _0x3f978f;_0x53c7cc['opacity']=((_0x3f978f=getCesiumColor(_0x32263e))===null||_0x3f978f===void 0x0?void 0x0:_0x3f978f[_0x5d94d8(0x555,-0x39f)])??0x1;break;}default:console['log']('未处理的属性',_0x5e3a2d,_0x32263e);break;}}}registerOptsConver(Image$1,ImageOptsConver);class BaseStyleConver extends BaseOptsConver{get[_0x7afdbe(0x188f,0x11a6)](){const _0x599531={_0x2444bc:0x19ed,_0x494151:0x17fc,_0x2a3e9a:0xd13,_0x3c5838:0xa6f},_0x5d1aef={_0x39c685:0x310},_0x472279={_0x4ececc:0x279},_0xa0e831=['type','label','outlineOpacity','outlineStyle','lineCount','lineThickness',_0x49d5b9(0xc05,0x1082),'oddcolor',_0x49d5b9(0x1055,_0x599531._0x2444bc),'axisY',_0x225846(_0x599531._0x494151,0x1690),_0x49d5b9(0xe3b,0x99c),'scaleByDistance_near','scaleByDistance_nearValue','scaleByDistance_far',_0x225846(_0x599531._0x2a3e9a,0xfda),'pixelOffsetScaleByDistance_near','pixelOffsetScaleByDistance_nearValue',_0x225846(0x90a,_0x599531._0x3c5838),'pixelOffsetScaleByDistance_farValue','distanceDisplayCondition_far','distanceDisplayCondition_near'];function _0x49d5b9(_0x54f791,_0x2d4f61){return _0x7afdbe(_0x2d4f61,_0x54f791- -_0x472279._0x4ececc);}function _0x225846(_0x3bdee4,_0x245c0a){return _0x7afdbe(_0x3bdee4,_0x245c0a- -_0x5d1aef._0x39c685);}return _0xa0e831['concat'](this['_getExcludedStyle']());}get['excludedJsonKeys'](){const _0x266317={_0x3e5d95:0x2b4,_0x142e0:0x867};function _0x487201(_0x235cd6,_0x416d90){return _0x7afdbe(_0x416d90,_0x235cd6- -0x415);}function _0x3fed2b(_0x5cd2d9,_0x2b4aab){return _0x7afdbe(_0x5cd2d9,_0x2b4aab- -0x63e);}return['label','outlineStyle','highlight',_0x3fed2b(0x348,_0x266317._0x3e5d95),_0x487201(0xb2f,_0x266317._0x142e0)];}['_getExcludedStyle'](){return[];}[_0x7afdbe(0x6c7,0xe69)](_0x1345eb,_0x593feb){const _0x1f2e27={_0x559fe7:0x14b,_0x1a7bb6:0xa46,_0x48e845:0x1706,_0x1fcffc:0x998},_0x4a8ccb={_0x46a320:0x3f3};function _0x283874(_0x178231,_0x4b05df){return _0x54a7f1(_0x4b05df- -_0x4a8ccb._0x46a320,_0x178231);}function _0x4045df(_0x2ee63f,_0x1061fe){return _0x54a7f1(_0x1061fe- -0x66,_0x2ee63f);}if(!_0x1345eb['material']&&!_0x1345eb[_0x283874(-0x801,-_0x1f2e27._0x559fe7)]){var _0x2a5596;if(_0x1345eb['color']||_0x1345eb['randomColor']||(_0x2a5596=_0x1345eb[_0x283874(_0x1f2e27._0x1a7bb6,0x498)])!==null&&_0x2a5596!==void 0x0&&_0x2a5596[_0x283874(_0x1f2e27._0x48e845,0xe1f)])_0x1345eb[_0x283874(-_0x1f2e27._0x1fcffc,-0x14b)]=Color$2;else _0x1345eb['image']&&(_0x1345eb[_0x283874(-0x933,-0x14b)]=Image$1);}}['_toOneCesiumVal_Point'](_0x183443,_0x3339fb,_0x459561,_0xa6e553){const _0x4844cc={_0x235fd5:0x763,_0x17c2c2:0x8a7,_0x3d39b9:0x1bb,_0x460f44:0xff,_0xf5505f:0xc40,_0x14133e:0xba6,_0x18b003:0xf68,_0x15985a:0x2f1,_0x50ae53:0x80d,_0x485270:0xf8,_0x10cee0:0x3d0,_0x4e94b7:0xdb9};function _0x39e337(_0x9b6c65,_0x4a637c){return _0x7afdbe(_0x9b6c65,_0x4a637c- -0x73c);}function _0x520455(_0xb79138,_0x4d0f70){return _0x7afdbe(_0x4d0f70,_0xb79138- -0x660);}switch(_0x183443){case'clampToGround':_0x3339fb?_0xa6e553['heightReference']=Cesium__namespace[_0x520455(0xf17,0xaab)][_0x39e337(0xe76,_0x4844cc._0x235fd5)]:_0xa6e553['heightReference']=Cesium__namespace['HeightReference']['NONE'];break;case'visibleDepth':_0x3339fb?_0xa6e553[_0x39e337(0x130,_0x4844cc._0x17c2c2)]=0x0:_0xa6e553[_0x520455(0x983,0x448)]=Number[_0x39e337(0x15d,0x963)];break;case'hasShadows':_0x3339fb?_0xa6e553['shadows']=Cesium__namespace['ShadowMode']['ENABLED']:_0xa6e553['shadows']=Cesium__namespace['ShadowMode']['DISABLED'];break;case _0x39e337(0x6bc,0x13e):_0x3339fb?_0xa6e553['scaleByDistance']=new Cesium__namespace['NearFarScalar'](Number(Cesium__namespace['defaultValue'](_0x459561['scaleByDistance_near'],0x3e8)),Number(Cesium__namespace[_0x520455(-_0x4844cc._0x3d39b9,-0x26a)](_0x459561['scaleByDistance_nearValue'],0x1)),Number(Cesium__namespace['defaultValue'](_0x459561[_0x39e337(-0x411,-_0x4844cc._0x460f44)],0xf4240)),Number(Cesium__namespace['defaultValue'](_0x459561['scaleByDistance_farValue'],0.1))):_0xa6e553[_0x520455(0x21a,_0x4844cc._0xf5505f)]=undefined;break;case _0x520455(0x1161,_0x4844cc._0x14133e):_0x3339fb?_0xa6e553['pixelOffsetScaleByDistance']=new Cesium__namespace['NearFarScalar'](Number(Cesium__namespace['defaultValue'](_0x459561['pixelOffsetScaleByDistance_near'],0x3e8)),Number(Cesium__namespace['defaultValue'](_0x459561[_0x520455(-0x38,0xd)],0x1)),Number(Cesium__namespace[_0x520455(-0x1bb,0x64)](_0x459561['pixelOffsetScaleByDistance_far'],0xf4240)),Number(Cesium__namespace[_0x39e337(0x78a,-0x297)](_0x459561['pixelOffsetScaleByDistance_farValue'],0.1))):_0xa6e553['pixelOffsetScaleByDistance']=undefined;break;case'distanceDisplayCondition':_0x3339fb?_0xa6e553[_0x39e337(0x6f0,0x791)]=new Cesium__namespace[(_0x520455(0x1036,_0x4844cc._0x18b003))](Number(Cesium__namespace[_0x39e337(-_0x4844cc._0x15985a,-0x297)](_0x459561[_0x520455(_0x4844cc._0x50ae53,-_0x4844cc._0x485270)],0x0)),Number(Cesium__namespace['defaultValue'](_0x459561[_0x39e337(_0x4844cc._0x10cee0,0x173)],Number[_0x520455(0xc6d,_0x4844cc._0x4e94b7)]))):_0xa6e553[_0x520455(0x86d,0xefa)]=undefined;break;default:_0xa6e553[_0x183443]=_0x3339fb;break;}}[_0x54a7f1(0x8bd,0x87a)](_0x2fcec8,_0x471fed,_0x32d07c,_0x1af1b8){const _0x5aff22={_0x7d0de8:0x697,_0x56f709:0x4ec,_0x551a07:0x3d3,_0x10285:0x7ba,_0x567022:0xd02,_0x2835d9:0xd3d,_0x10ab00:0xca3,_0x1f0a49:0x5b5,_0x250d2c:0x1f8,_0x57fa5c:0xe83,_0x41499:0x8c5,_0x50feb8:0xdf2,_0x575edc:0xc20,_0x59ab4e:0x111d,_0x3a2ecd:0x69e,_0x1a887e:0x1c,_0x3b1d1f:0x12ee,_0x56d395:0x12e3,_0x40dbe1:0x168e,_0x19dbcc:0xccb,_0x5a19a8:0x1165},_0x149e7b={_0x571cda:0x2ad};function _0x511631(_0x4cece0,_0x44d18a){return _0x7afdbe(_0x44d18a,_0x4cece0- -_0x149e7b._0x571cda);}function _0x1d2548(_0x44d810,_0x29c317){return _0x54a7f1(_0x44d810-0x244,_0x29c317);}switch(_0x2fcec8){case'materialType':{this['isEntity']?_0x1af1b8[_0x1d2548(_0x5aff22._0x7d0de8,0x10da)]=createMaterialProperty(_0x32d07c['materialType'],_0x32d07c['materialOptions']||_0x32d07c):_0x1af1b8['material']=createMaterial(_0x32d07c[_0x1d2548(_0x5aff22._0x56f709,_0x5aff22._0x551a07)],_0x32d07c[_0x1d2548(0xacf,0x5d3)]||_0x32d07c);break;}case'color':case'randomColor':{_0x1af1b8['color']=this['getColorByStyle'](_0x32d07c);break;}case _0x511631(_0x5aff22._0x10285,_0x5aff22._0x567022):{_0x1af1b8['outlineColor']=this['getOutlineColorByStyle'](_0x32d07c);break;}case'hasShadows':_0x471fed?_0x1af1b8[_0x511631(_0x5aff22._0x2835d9,0xe1e)]=Cesium__namespace['ShadowMode'][_0x1d2548(0xa26,_0x5aff22._0x10ab00)]:_0x1af1b8['shadows']=Cesium__namespace['ShadowMode']['DISABLED'];break;case'distanceDisplayCondition':_0x471fed?this['isEntity']?_0x1af1b8[_0x1d2548(0xee3,_0x5aff22._0x1f0a49)]=new Cesium__namespace[(_0x511631(0x13e9,0xfb3))](Number(Cesium__namespace[_0x511631(_0x5aff22._0x250d2c,0xa)](_0x32d07c[_0x1d2548(_0x5aff22._0x57fa5c,0x3c1)],0x0)),Number(Cesium__namespace['defaultValue'](_0x32d07c[_0x1d2548(_0x5aff22._0x41499,_0x5aff22._0x50feb8)],Number[_0x1d2548(0x12e3,0x19a3)]))):_0x1af1b8[_0x511631(_0x5aff22._0x575edc,_0x5aff22._0x59ab4e)]=new Cesium__namespace[(_0x1d2548(_0x5aff22._0x3a2ecd,-_0x5aff22._0x1a887e))](Number(Cesium__namespace['defaultValue'](_0x32d07c[_0x1d2548(0xe83,0x9c0)],0x0)),Number(Cesium__namespace[_0x511631(_0x5aff22._0x250d2c,-0x140)](_0x32d07c[_0x1d2548(0x8c5,_0x5aff22._0x3b1d1f)],Number[_0x1d2548(_0x5aff22._0x56d395,_0x5aff22._0x40dbe1)]))):_0x1af1b8['distanceDisplayCondition']=undefined;break;default:_0x1af1b8[_0x2fcec8]instanceof Cesium__namespace[_0x511631(_0x5aff22._0x19dbcc,_0x5aff22._0x5a19a8)]?logWarn('回调属性未覆盖更新',_0x2fcec8,_0x471fed):_0x1af1b8[_0x2fcec8]=_0x471fed;break;}}['_toJSONValEnd'](_0xc42a28,_0x3fd822){}[_0x54a7f1(0xfd8,0x1343)](_0x316108,_0xf4360a,_0x37b23e){const _0x271e53={_0x2323b9:0x5ba,_0x30a291:0xf58,_0x13f95d:0x559,_0x430a2b:0x143,_0x3a1608:0xf01,_0x3ca456:0xfdb,_0x2b3bd1:0x10ba,_0x103995:0x12a3,_0x2280fb:0xee};function _0x2d2ccc(_0xf6e4ff,_0x4e0d78){return _0x54a7f1(_0x4e0d78- -0x2d1,_0xf6e4ff);}function _0x2d40f1(_0x58bfa7,_0x3b0bd7){return _0x7afdbe(_0x3b0bd7,_0x58bfa7- -0x50e);}switch(_0x316108){case'material':{toJSON(_0xf4360a,_0x37b23e);break;}case _0x2d2ccc(0x867,_0x271e53._0x2323b9):{_0x37b23e[_0x316108]=toJSONByType(_0x37b23e['materialType'],_0xf4360a);break;}case'color':{const _0x2f0009=getCesiumColor(_0xf4360a);_0x2f0009&&(_0x37b23e[_0x316108]=_0x2f0009[_0x2d2ccc(0x564,_0x271e53._0x30a291)]());break;}case _0x2d40f1(_0x271e53._0x13f95d,-_0x271e53._0x430a2b):{const _0x4527f0=getCesiumColor(_0xf4360a);_0x4527f0&&(_0x37b23e[_0x316108]=_0x4527f0['toCssColorString']());break;}case'rotation':_0x37b23e[_0x2d40f1(0xd85,0x4a0)]=formatNum$1(Cesium__namespace[_0x2d2ccc(_0x271e53._0x3a1608,_0x271e53._0x3ca456)][_0x2d40f1(0xc61,0x75f)](_0xf4360a),0x2);break;case'stRotation':_0x37b23e[_0x2d40f1(0x79a,_0x271e53._0x2b3bd1)]=formatNum$1(Cesium__namespace['Math'][_0x2d40f1(0xc61,_0x271e53._0x103995)](_0xf4360a),0x2);break;case'shadows':{_0xf4360a===Cesium__namespace[_0x2d2ccc(0xcea,0x9de)]['ENABLED']?_0x37b23e['shadows']=!![]:_0x37b23e[_0x316108]=_0xf4360a;break;}case _0x2d2ccc(_0x271e53._0x2280fb,0x9ce):{_0x37b23e['distanceDisplayCondition_near']=_0xf4360a['near'],_0x37b23e[_0x2d40f1(0x3a1,-0x593)]=_0xf4360a[_0x2d2ccc(0x1658,0x14bb)];break;}default:logWarn('未处理的属性',_0x316108,_0xf4360a);break;}}['_toOneJson_Point'](_0x1d3f13,_0x3b552c,_0x42994c){const _0x5398b3={_0x4ee228:0x32,_0xbdd146:0x3ee,_0xf72c3:0x81e,_0x2680f4:0xd9a,_0x7fba5a:0x1f24,_0x20f459:0xf65,_0x1daa3a:0x39b,_0x41ed64:0x1644,_0x527148:0x9bb,_0x55cc82:0xc84,_0x2591a3:0xc84,_0x5e7c8c:0x1374,_0x4b103c:0xfdf};function _0x25752c(_0x215bee,_0x3022a5){return _0x7afdbe(_0x215bee,_0x3022a5- -0x7e);}function _0x21d508(_0x2dc49c,_0x154cca){return _0x54a7f1(_0x2dc49c- -0x1b,_0x154cca);}switch(_0x1d3f13){case _0x21d508(0x438,-0x411):{toJSON(_0x3b552c,_0x42994c);break;}case'materialOptions':{_0x42994c[_0x1d3f13]=toJSONByType(_0x42994c[_0x21d508(0x28d,_0x5398b3._0x4ee228)],_0x3b552c);break;}case _0x25752c(0xbe0,0x13c2):case _0x25752c(0x51,_0x5398b3._0xbdd146):case _0x21d508(_0x5398b3._0xf72c3,0x67b):case'backgroundColor':case'strokeColor':{const _0x5d225d=getCesiumColor(_0x3b552c);_0x5d225d&&(_0x42994c[_0x1d3f13]=_0x5d225d[_0x25752c(0x1800,0x13d9)]());break;}case _0x21d508(0x100e,0xe98):{_0x3b552c===Cesium__namespace['HeightReference']['CLAMP_TO_GROUND']&&(_0x42994c['clampToGround']=!![]);break;}case'rotation':_0x42994c['rotationDegree']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x3b552c),0x2);break;case _0x25752c(0xeb7,0x996):_0x42994c[_0x21d508(0xa5f,0x1ff)]=formatNum$1(Cesium__namespace[_0x25752c(0x19fe,0x145c)]['toDegrees'](_0x3b552c),0x2);break;case _0x21d508(_0x5398b3._0x2680f4,0xa26):{_0x3b552c===Number['POSITIVE_INFINITY']?_0x42994c[_0x21d508(0x1698,_0x5398b3._0x7fba5a)]=![]:_0x42994c[_0x25752c(0xc04,_0x5398b3._0x20f459)]=_0x3b552c;break;}case _0x21d508(0x631,_0x5398b3._0x1daa3a):{_0x42994c['scaleByDistance']=!![],_0x42994c[_0x21d508(0x310,-0x468)]=_0x3b552c['near'],_0x42994c['scaleByDistance_nearValue']=_0x3b552c[_0x21d508(0x6b2,0x709)],_0x42994c['scaleByDistance_far']=_0x3b552c['far'],_0x42994c[_0x21d508(0x10a1,0x1702)]=_0x3b552c['farValue'];break;}case'pixelOffsetScaleByDistance':{_0x42994c[_0x25752c(_0x5398b3._0x41ed64,0x1743)]=!![],_0x42994c['pixelOffsetScaleByDistance_near']=_0x3b552c['near'],_0x42994c['pixelOffsetScaleByDistance_nearValue']=_0x3b552c[_0x21d508(0x6b2,_0x5398b3._0x527148)],_0x42994c[_0x25752c(0x118f,0xd01)]=_0x3b552c['far'],_0x42994c['pixelOffsetScaleByDistance_farValue']=_0x3b552c['farValue'];break;}case _0x21d508(_0x5398b3._0x55cc82,0x489):{_0x42994c[_0x21d508(_0x5398b3._0x2591a3,0x97c)]=!![],_0x42994c['distanceDisplayCondition_near']=_0x3b552c['near'],_0x42994c['distanceDisplayCondition_far']=_0x3b552c['far'];break;}default:logWarn(_0x21d508(_0x5398b3._0x5e7c8c,_0x5398b3._0x4b103c),_0x1d3f13,_0x3b552c);break;}}}class BillboardStyleConver extends BaseStyleConver{[_0x7afdbe(0xca3,0x7ed)](){const _0x1ba2af={_0x3d57b2:0x12d6,_0x2dcade:0x217b,_0x50ecab:0x19b9};function _0x4aa403(_0x33aeae,_0x5614b2){return _0x7afdbe(_0x33aeae,_0x5614b2- -0x122);}function _0x4b0d1a(_0x2ddee3,_0x5bb797){return _0x54a7f1(_0x2ddee3-0x27f,_0x5bb797);}return['outlineColor','backgroundColor',_0x4b0d1a(_0x1ba2af._0x3d57b2,0xcc0),'font_weight','font_size','font_family','backgroundOpacity',_0x4b0d1a(0x17c7,_0x1ba2af._0x2dcade),_0x4b0d1a(0x16b7,_0x1ba2af._0x50ecab)];}static['toCesiumVal'](_0xb404db,_0x27c51c,_0x360a69){const _0x533b8f={_0x4768de:0x237};function _0x31f8ad(_0x519564,_0x555262){return _0x54a7f1(_0x519564-_0x533b8f._0x4768de,_0x555262);}return!this['billboardStyleConver']&&(this['billboardStyleConver']=new BillboardStyleConver()),this[_0x31f8ad(0x17b1,0x221b)]['isEntity']=_0x360a69,this['billboardStyleConver']['toCesiumVal'](_0xb404db,_0x27c51c);}[_0x54a7f1(0xc3b,0xae7)](_0x332a8e,_0x4a382a){const _0x3b8a55={_0x57cfc3:0x272};_0x4a382a[_0xfe6ef8(0x13d1,0x1839)]=_0x4a382a['horizontalOrigin']??Cesium__namespace['HorizontalOrigin']['CENTER'];function _0xfe6ef8(_0x1c15da,_0x23aba7){return _0x7afdbe(_0x23aba7,_0x1c15da- -0x42b);}function _0x46b7e1(_0x37237a,_0x164399){return _0x54a7f1(_0x164399-_0x3b8a55._0x57cfc3,_0x37237a);}_0x4a382a['verticalOrigin']=_0x4a382a['verticalOrigin']??Cesium__namespace[_0x46b7e1(0xb5,0xb3f)][_0xfe6ef8(0xdf,0x2db)];}[_0x54a7f1(0x14d8,0xdd2)](_0x311091,_0x153817,_0x162417,_0x6a1210){const _0xe237b0={_0x1eba05:0x8ed,_0x4029d7:0xe1b,_0x5aa2a5:0x1401,_0x18fdef:0x40d,_0x35448c:0xde1,_0x1f07ab:0x1294,_0x599874:0x165b,_0x22254a:0xfc3,_0xcd20b2:0xf86,_0x2559ef:0x1857,_0x542ea4:0xeac,_0xdb1e93:0x1990,_0x48a984:0x73,_0x149690:0x6ba};function _0x26512b(_0x310b9d,_0x47b8c2){return _0x54a7f1(_0x310b9d-0x82,_0x47b8c2);}function _0x300f0f(_0xe7873,_0x3761b9){return _0x54a7f1(_0xe7873- -0x469,_0x3761b9);}switch(_0x311091){case _0x26512b(0x1294,0xa26):{_0x6a1210['color']=this['getColorByStyle'](_0x162417);break;}case _0x300f0f(-0x10f,_0xe237b0._0x1eba05):!_0x162417['color']&&(Cesium__namespace['defined'](_0x162417['globalAlpha'])&&_0x162417['globalAlpha']!==0x1?_0x6a1210['color']=Cesium__namespace[_0x300f0f(_0xe237b0._0x4029d7,_0xe237b0._0x5aa2a5)][_0x300f0f(0x424,0x9b0)][_0x26512b(_0xe237b0._0x18fdef,_0xe237b0._0x35448c)](_0x162417['globalAlpha']*(_0x153817??0x1)):_0x6a1210[_0x26512b(_0xe237b0._0x1f07ab,_0xe237b0._0x599874)]=Cesium__namespace['Color']['WHITE'][_0x300f0f(-0xde,0x8b4)](_0x153817??0x1));break;case'rotationDegree':_0x6a1210['rotation']=Cesium__namespace['Math'][_0x300f0f(0x10b9,_0xe237b0._0x22254a)](_0x153817);break;case'hasPixelOffset':!_0x153817&&(_0x6a1210['pixelOffset']=new Cesium__namespace['Cartesian2'](0x0,0x0));break;case'pixelOffsetX':case'pixelOffsetY':_0x6a1210[_0x26512b(_0xe237b0._0xcd20b2,_0xe237b0._0x2559ef)]=new Cesium__namespace['Cartesian2'](_0x162417['pixelOffsetX']||0x0,_0x162417[_0x26512b(_0xe237b0._0x542ea4,0x1719)]||0x0);break;case'pixelOffset':Cesium__namespace['defined'](_0x153817[0x0])&&Cesium__namespace['defined'](_0x153817[0x1])?_0x6a1210['pixelOffset']=new Cesium__namespace[(_0x26512b(0x1786,_0xe237b0._0xdb1e93))](_0x153817[0x0],_0x153817[0x1]):_0x6a1210[_0x300f0f(0xa9b,0x13)]=_0x153817;break;case'alignedAxis':{Array['isArray'](_0x153817)&&(_0x6a1210[_0x26512b(0x308,_0xe237b0._0x48a984)]=new Cesium__namespace['Cartesian3'](..._0x153817));_0x162417[_0x26512b(0x308,_0xe237b0._0x149690)]=_0x153817;break;}default:this['_toOneCesiumVal_Point'](_0x311091,_0x153817,_0x162417,_0x6a1210);break;}}static[_0x54a7f1(0x133b,0x1883)](_0x2ecfc5,_0xb40c45,_0x45c587){const _0x515ab2={_0x4190fd:0x1386},_0x1c37b8={_0xd1824d:0xaa},_0x28436f={_0x37ef23:0x1f4};function _0x1e8921(_0x4790f6,_0x5e8ed7){return _0x54a7f1(_0x5e8ed7- -_0x28436f._0x37ef23,_0x4790f6);}!this[_0x1e8921(0x9cd,_0x515ab2._0x4190fd)]&&(this['billboardStyleConver']=new BillboardStyleConver());this[_0x1e8921(0x1df7,0x1386)]['isEntity']=_0x45c587;function _0x57306b(_0x221e33,_0x372c40){return _0x7afdbe(_0x372c40,_0x221e33- -_0x1c37b8._0xd1824d);}return this[_0x1e8921(0xcf3,_0x515ab2._0x4190fd)]['toJSON'](_0x2ecfc5,_0xb40c45);}['_toOneJson'](_0x6e0473,_0x341bbe,_0x558b84){switch(_0x6e0473){case'pixelOffset':{_0x558b84['pixelOffsetX']=_0x341bbe['x'],_0x558b84['pixelOffsetY']=_0x341bbe['y'];break;}case'alignedAxis':{_0x558b84['alignedAxis']=[_0x341bbe['x'],_0x341bbe['y'],_0x341bbe['z']];break;}default:this['_toOneJson_Point'](_0x6e0473,_0x341bbe,_0x558b84);break;}}}class CloudStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x1cb712,_0x172577){function _0x2e2d51(_0x29fae5,_0x3a43e1){return _0x7afdbe(_0x29fae5,_0x3a43e1- -0x1c1);}return!this['cloudStyleConver']&&(this[_0x2e2d51(0xeb1,0x16f3)]=new CloudStyleConver()),this['cloudStyleConver']['toCesiumVal'](_0x1cb712,_0x172577);}['_toCesiumValBefore'](_0x5c1bef,_0x544d79){}['_toOneCesiumVal'](_0x27b252,_0x2ef450,_0x181e69,_0x3eb8ac){const _0x492232={_0x5df186:0x578,_0x2ac7e2:0xdb5,_0x392f74:0x15b8},_0x1423da={_0x4e17e4:0x6d5};function _0x57ef99(_0x3c0342,_0x4eff3f){return _0x7afdbe(_0x4eff3f,_0x3c0342- -0x12e);}function _0x14c61f(_0x3d3fa5,_0x1d7af1){return _0x7afdbe(_0x3d3fa5,_0x1d7af1- -_0x1423da._0x4e17e4);}switch(_0x27b252){case _0x14c61f(_0x492232._0x5df186,0x637):case'scaleY':_0x3eb8ac['scale']=new Cesium__namespace['Cartesian2'](_0x181e69['scaleX']||0x1,_0x181e69[_0x14c61f(0x1087,0xbe7)]||0x1);break;case _0x14c61f(0xc46,_0x492232._0x2ac7e2):case'maximumSizeY':case'maximumSizeZ':_0x3eb8ac[_0x57ef99(_0x492232._0x392f74,0x104e)]=new Cesium__namespace[(_0x14c61f(0xe2d,0xe40))](_0x181e69['maximumSizeX']||0x1,_0x181e69[_0x14c61f(0x644,0x1b0)]||0x1,_0x181e69['maximumSizeZ']||0x1);break;default:this['_toOneCesiumVal_Point'](_0x27b252,_0x2ef450,_0x181e69,_0x3eb8ac);break;}}static[_0x7afdbe(0x1dcb,0x1569)](_0x3413c6,_0x4f5ebd){return!this['cloudStyleConver']&&(this['cloudStyleConver']=new CloudStyleConver()),this['cloudStyleConver']['toJSON'](_0x3413c6,_0x4f5ebd);}[_0x54a7f1(0xcf3,0xdaa)](_0x84a1c7,_0x563650,_0x3697d6){const _0x47cd6c={_0x414425:0xfb6,_0x2345e4:0x14a5,_0x2b500d:0x8c3};function _0x7ca182(_0x1bfe66,_0x545662){return _0x54a7f1(_0x1bfe66- -0x2a6,_0x545662);}function _0x415c34(_0x1bcd30,_0x2b4914){return _0x54a7f1(_0x2b4914- -0x24,_0x1bcd30);}switch(_0x84a1c7){case'scale':_0x3697d6['scaleX']=formatNum$1(_0x563650['x'],0x2),_0x3697d6['scaleY']=formatNum$1(_0x563650['y'],0x2);break;case _0x7ca182(0x1212,0x14f6):_0x3697d6[_0x7ca182(_0x47cd6c._0x414425,0x13d0)]=formatNum$1(_0x563650['x'],0x2),_0x3697d6['maximumSizeY']=formatNum$1(_0x563650['y'],0x2),_0x3697d6[_0x415c34(0x199c,_0x47cd6c._0x2345e4)]=formatNum$1(_0x563650['z'],0x2);break;default:this[_0x415c34(0x11fd,_0x47cd6c._0x2b500d)](_0x84a1c7,_0x563650,_0x3697d6);break;}}}class BoxStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x56f174,_0x1acced,_0xb04540){return!this['boxStyleConver']&&(this['boxStyleConver']=new BoxStyleConver()),this['boxStyleConver']['isEntity']=_0xb04540,this['boxStyleConver']['toCesiumVal'](_0x56f174,_0x1acced);}['_getExcludedStyle'](){const _0x550e90={_0x528c43:0xc6c,_0x55a70e:0xd17};function _0x4c2fbd(_0x40a4d8,_0x3f4394){return _0x7afdbe(_0x3f4394,_0x40a4d8- -0x12c);}function _0x2198ae(_0x5102cb,_0x14f806){return _0x54a7f1(_0x14f806- -0x340,_0x5102cb);}return['opacity',_0x4c2fbd(0x150c,_0x550e90._0x528c43),_0x4c2fbd(0x1313,_0x550e90._0x55a70e)];}[_0x7afdbe(0x1eec,0x1706)](_0x2db5ef,_0xb1a323,_0x25b4c1,_0x31cf49){const _0x925b03={_0x219fcc:0x1cc,_0x1c1cb2:0x1135,_0x3f30cf:0x55c,_0x2a9c3a:0x27f};function _0x520ee9(_0x12e042,_0x3d631d){return _0x7afdbe(_0x12e042,_0x3d631d- -0x542);}function _0xe72729(_0x4af200,_0x4225da){return _0x7afdbe(_0x4225da,_0x4af200-0x18);}switch(_0x2db5ef){case'outlineColor':{_0x31cf49['outlineColor']=this[_0x520ee9(_0x925b03._0x219fcc,0x24)](_0x25b4c1);break;}case _0x520ee9(0x295,0xbdb):{const _0x2f18b1=_0x25b4c1[_0xe72729(_0x925b03._0x1c1cb2,0x1b4e)]??0x64,_0x1694a8=_0x25b4c1['dimensions_y']??0x64,_0x5a606=_0x25b4c1['dimensions_z']??0x64;_0x31cf49[_0xe72729(_0x925b03._0x3f30cf,_0x925b03._0x2a9c3a)]=new Cesium__namespace['Cartesian3'](_0x2f18b1,_0x1694a8,_0x5a606);break;}default:this['_toOneCesiumVal_Poly'](_0x2db5ef,_0xb1a323,_0x25b4c1,_0x31cf49);break;}}static[_0x7afdbe(0x1adb,0x1569)](_0x29d8ab,_0x1d8ef2,_0x13f747){const _0x6f6402={_0xbff502:0x1c2};function _0x2a97e0(_0x30f1a1,_0x49ec8a){return _0x54a7f1(_0x30f1a1-_0x6f6402._0xbff502,_0x49ec8a);}return!this['boxStyleConver']&&(this['boxStyleConver']=new BoxStyleConver()),this['boxStyleConver']['isEntity']=_0x13f747,this[_0x2a97e0(0xd32,0x109a)]['toJSON'](_0x29d8ab,_0x1d8ef2);}['_toOneJson'](_0x41a208,_0x5b8873,_0x3b805b){const _0x5a33f7={_0x3f2a94:0x9e7,_0x5a2da5:0x1085,_0x48ddc7:0x12bc},_0x129b16={_0x544480:0x18c};function _0x1f8270(_0x44b04f,_0x39e1ca){return _0x54a7f1(_0x44b04f- -_0x129b16._0x544480,_0x39e1ca);}function _0x256120(_0x5224f2,_0x107d24){return _0x54a7f1(_0x107d24- -0x508,_0x5224f2);}switch(_0x41a208){case'dimensions':{_0x3b805b[_0x256120(0xa6f,_0x5a33f7._0x3f2a94)]=_0x5b8873['x'],_0x3b805b['dimensions_y']=_0x5b8873['y'],_0x3b805b[_0x1f8270(_0x5a33f7._0x5a2da5,_0x5a33f7._0x48ddc7)]=_0x5b8873['z'];break;}default:this[_0x256120(0x7b2,0xad0)](_0x41a208,_0x5b8873,_0x3b805b);break;}}}class CircleStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x19bb25,_0x329eef,_0x291aea){const _0x163cb8={_0x4d1376:0x1c5,_0x4a0478:0x70c,_0x4b1f76:0x17c,_0x237106:0x5c2},_0x126beb={_0x261bf2:0x263};!this[_0x4e1bd2(0x808,_0x163cb8._0x4d1376)]&&(this['circleStyleConver']=new CircleStyleConver());function _0x1051c6(_0x187083,_0x4de91b){return _0x7afdbe(_0x187083,_0x4de91b- -_0x126beb._0x261bf2);}this['circleStyleConver'][_0x4e1bd2(_0x163cb8._0x4a0478,-_0x163cb8._0x4b1f76)]=_0x291aea;function _0x4e1bd2(_0x4176f0,_0x6ab83){return _0x7afdbe(_0x6ab83,_0x4176f0- -0x637);}return this['circleStyleConver'][_0x1051c6(_0x163cb8._0x237106,0xda4)](_0x19bb25,_0x329eef);}[_0x54a7f1(0xc3b,0x140f)](_0xe776d1,_0x3d8ddf){const _0x4725d7={_0x48f1c3:0x1690,_0x2b09a7:0x14ad,_0x34dc79:0x15a1,_0xcfbfb7:0x1042,_0x3cf582:0x1bf1},_0xaf8e36={_0x776465:0xbc};function _0x38bee7(_0x1c80f3,_0x51ca33){return _0x54a7f1(_0x51ca33- -_0xaf8e36._0x776465,_0x1c80f3);}function _0x5aa467(_0x464f77,_0x5d1f10){return _0x7afdbe(_0x5d1f10,_0x464f77- -0x238);}super[_0x5aa467(0xc31,_0x4725d7._0x48f1c3)](_0xe776d1,_0x3d8ddf),_0xe776d1[_0x38bee7(0xed8,_0x4725d7._0x2b09a7)]&&(_0xe776d1['hasOwnProperty'](_0x38bee7(-0x18d,0x5ab))&&delete _0xe776d1['height'],_0xe776d1['hasOwnProperty']('extrudedHeight')&&delete _0xe776d1['extrudedHeight'],_0xe776d1[_0x5aa467(_0x4725d7._0x34dc79,0x1bdf)](_0x5aa467(_0x4725d7._0xcfbfb7,0x88c))&&delete _0xe776d1['diffHeight']),Cesium__namespace['defined'](_0xe776d1['height'])&&(_0xe776d1[_0x38bee7(_0x4725d7._0x3cf582,0x14ad)]=![]);}[_0x7afdbe(0x1329,0x1706)](_0x509a41,_0x30eb05,_0x3e78bb,_0x2da7ae){const _0x4a1bc1={_0x44107d:0xd8f,_0x42f69f:0xe26,_0x2b0491:0x525,_0x812db2:0x384,_0x8296fc:0x612,_0x3f737b:0x5ac,_0x32dd97:0xed2,_0xdb4050:0xc72,_0x1bb39e:0x16e9,_0x447762:0x28d,_0x275931:0x4a6,_0x273ac8:0x3,_0x5e24a6:0x858};function _0xbff760(_0x3a3896,_0x494c47){return _0x7afdbe(_0x494c47,_0x3a3896- -0x690);}function _0x30d01d(_0x1e42bc,_0x25c1b9){return _0x54a7f1(_0x25c1b9- -0x3da,_0x1e42bc);}switch(_0x509a41){case _0xbff760(_0x4a1bc1._0x44107d,_0x4a1bc1._0x42f69f):_0x2da7ae[_0xbff760(0xd8f,_0x4a1bc1._0x2b0491)]=_0x30eb05;!Cesium__namespace['defined'](_0x3e78bb['stRotation'])&&(_0x2da7ae['stRotation']=_0x2da7ae['rotation']);break;case _0x30d01d(0xe5e,0xc8b):_0x2da7ae['rotation']=Cesium__namespace['Math']['toRadians'](_0x30eb05);!Cesium__namespace['defined'](_0x3e78bb[_0xbff760(_0x4a1bc1._0x812db2,_0x4a1bc1._0x8296fc)])&&(_0x2da7ae['stRotation']=_0x2da7ae['rotation']);break;case'stRotationDegree':_0x2da7ae[_0xbff760(0x384,0x296)]=Cesium__namespace[_0x30d01d(_0x4a1bc1._0x3f737b,_0x4a1bc1._0x32dd97)]['toRadians'](_0x30eb05);break;case _0xbff760(0x205,0x657):_0x2da7ae['height']=_0x30eb05;_0x3e78bb['diffHeight']&&(_0x2da7ae['extrudedHeight']=Number(_0x3e78bb[_0x30d01d(0x9ea,_0x4a1bc1._0xdb4050)])+Number(_0x30eb05));break;case'diffHeight':Cesium__namespace[_0x30d01d(_0x4a1bc1._0x1bb39e,0x12a7)](_0x3e78bb[_0x30d01d(-0x214,_0x4a1bc1._0x447762)])&&(_0x2da7ae['extrudedHeight']=_0x3e78bb[_0x30d01d(0xd,0x28d)]+_0x30eb05);break;case _0x30d01d(_0x4a1bc1._0x275931,-_0x4a1bc1._0x273ac8):this['isEntity']?(_0x2da7ae['semiMinorAxis']=Number(_0x30eb05),_0x2da7ae[_0x30d01d(0x5ee,0x16d)]=Number(_0x30eb05)):_0x2da7ae['radius']=Number(_0x30eb05);break;case'clampToGround':_0x30eb05?_0x2da7ae['heightReference']=Cesium__namespace[_0x30d01d(_0x4a1bc1._0x5e24a6,0xf6f)]['CLAMP_TO_GROUND']:_0x2da7ae['heightReference']=Cesium__namespace['HeightReference']['NONE'];break;default:this['_toOneCesiumVal_Poly'](_0x509a41,_0x30eb05,_0x3e78bb,_0x2da7ae);break;}}static[_0x7afdbe(0x1169,0x1569)](_0x1c44b3,_0x10fccc,_0x18feef){const _0x775418={_0x41566e:0xe4c};!this['circleStyleConver']&&(this['circleStyleConver']=new CircleStyleConver());function _0x55a71f(_0xf400a6,_0x13bca1){return _0x54a7f1(_0x13bca1-0x23b,_0xf400a6);}function _0x56a1bd(_0x5268e7,_0x11ce93){return _0x7afdbe(_0x11ce93,_0x5268e7- -0x97);}return this[_0x55a71f(0x78c,_0x775418._0x41566e)][_0x55a71f(0x1433,0xd50)]=_0x18feef,this[_0x56a1bd(0xda8,0x12bb)]['toJSON'](_0x1c44b3,_0x10fccc);}[_0x54a7f1(0xcf3,0x10b6)](_0x23764b,_0x51c95a,_0x293a50){const _0x1cf566={_0x20e48c:0xc7b,_0x2eae59:0xcf7};function _0x16eb5c(_0x243fc9,_0x32396d){return _0x7afdbe(_0x243fc9,_0x32396d- -0x4d2);}function _0x479a30(_0x2ba2e4,_0x24fcff){return _0x54a7f1(_0x24fcff- -0x36e,_0x2ba2e4);}switch(_0x23764b){case _0x16eb5c(_0x1cf566._0x20e48c,0xf4d):{_0x293a50[_0x479a30(0x176f,_0x1cf566._0x2eae59)]=formatNum$1(Cesium__namespace['Math'][_0x479a30(0x63a,0xbd3)](_0x51c95a),0x1);break;}case _0x16eb5c(-0x125,0x542):{_0x293a50['stRotationDegree']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x51c95a),0x1);break;}default:this['_toOneJson_Poly'](_0x23764b,_0x51c95a,_0x293a50);break;}}}class CorridorStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x3db519,_0x1ef0f5,_0x2a3f04){const _0xddfa12={_0x27609f:0x182f},_0x34895e={_0x4b55ba:0x81};function _0x9b9e2e(_0x536bf4,_0x6ba83b){return _0x7afdbe(_0x6ba83b,_0x536bf4- -_0x34895e._0x4b55ba);}function _0x49dcda(_0x1622dc,_0x341136){return _0x54a7f1(_0x341136- -0x468,_0x1622dc);}return!this[_0x49dcda(0x11a7,0xe83)]&&(this['corridorStyleConver']=new CorridorStyleConver()),this['corridorStyleConver']['isEntity']=_0x2a3f04,this[_0x9b9e2e(0x1498,_0xddfa12._0x27609f)]['toCesiumVal'](_0x3db519,_0x1ef0f5);}['_toCesiumValBefore'](_0x13bb87,_0x5ae8e8){const _0x1736f2={_0x543c77:0xff5,_0x3d12b5:0x815};function _0x5df7df(_0x337581,_0x413bfa){return _0x54a7f1(_0x413bfa-0x1ae,_0x337581);}function _0x10d7b1(_0x1e980c,_0x1ef8a5){return _0x7afdbe(_0x1e980c,_0x1ef8a5- -0x348);}super['_toCesiumValBefore'](_0x13bb87,_0x5ae8e8),_0x13bb87['clampToGround']&&(_0x13bb87[_0x10d7b1(_0x1736f2._0x543c77,0x1491)]('height')&&delete _0x13bb87[_0x5df7df(0x10a9,_0x1736f2._0x3d12b5)],_0x13bb87['hasOwnProperty']('extrudedHeight')&&delete _0x13bb87['extrudedHeight'],_0x13bb87[_0x5df7df(0x1b87,0x1759)]('diffHeight')&&delete _0x13bb87['diffHeight']);}['_toOneCesiumVal'](_0x569598,_0x1f38d8,_0x364eee,_0x4bacb2){const _0x1e63e7={_0x1bdf9a:0x49c,_0x1abf70:0x615,_0x52071c:0x655,_0x246363:0x1369,_0x1c540d:0x8ef,_0x1fbbbe:0x7c},_0x29d701={_0x2d751b:0x39d};function _0x3be24f(_0x4aaffe,_0x5adb8c){return _0x54a7f1(_0x5adb8c-0xe2,_0x4aaffe);}function _0xc15543(_0x44fb7f,_0x3edbeb){return _0x54a7f1(_0x44fb7f- -_0x29d701._0x2d751b,_0x3edbeb);}switch(_0x569598){case _0xc15543(_0x1e63e7._0x1bdf9a,0x2f):{_0x4bacb2['outlineColor']=this['getOutlineColorByStyle'](_0x364eee);break;}case _0xc15543(0x2ca,-_0x1e63e7._0x1abf70):_0x4bacb2[_0xc15543(0x2ca,-_0x1e63e7._0x52071c)]=_0x1f38d8;_0x364eee[_0xc15543(0xcaf,_0x1e63e7._0x246363)]&&(_0x4bacb2[_0x3be24f(_0x1e63e7._0x1c540d,0xeca)]=Number(_0x364eee[_0xc15543(0xcaf,0x16c8)])+Number(_0x1f38d8));break;case'diffHeight':Cesium__namespace['defined'](_0x364eee['height'])&&(_0x4bacb2['extrudedHeight']=_0x364eee['height']+_0x1f38d8);break;default:this[_0x3be24f(_0x1e63e7._0x1fbbbe,0x99f)](_0x569598,_0x1f38d8,_0x364eee,_0x4bacb2);break;}}static['toJSON'](_0x5d4951,_0x502537,_0x307c73){const _0x2cbb5b={_0x2aa5a7:0xb57};!this[_0x2a6064(0xf56,0xc37)]&&(this['corridorStyleConver']=new CorridorStyleConver());function _0x2a6064(_0x3136e5,_0x3944f7){return _0x54a7f1(_0x3136e5- -0x395,_0x3944f7);}function _0xef104c(_0x23b16d,_0x1c90a7){return _0x7afdbe(_0x1c90a7,_0x23b16d- -0x6e2);}return this[_0x2a6064(0xf56,0xce2)]['isEntity']=_0x307c73,this['corridorStyleConver'][_0x2a6064(0xfa6,_0x2cbb5b._0x2aa5a7)](_0x5d4951,_0x502537);}['_toOneJson'](_0xbee356,_0x3a636c,_0x1ed299){this['_toOneJson_Poly'](_0xbee356,_0x3a636c,_0x1ed299);}}class CylinderStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x225fb5,_0xb28e4f,_0x25cf21){const _0x26d66f={_0x26bd95:0xbfc,_0x241e88:0x4bd},_0x22b22b={_0x172cc8:0x379};function _0x1351a7(_0x3e1037,_0x2fdb45){return _0x54a7f1(_0x2fdb45- -_0x22b22b._0x172cc8,_0x3e1037);}function _0x295e0c(_0x5535c0,_0xb91b25){return _0x54a7f1(_0x5535c0- -0x2e1,_0xb91b25);}return!this['cylinderStyleConver']&&(this[_0x295e0c(_0x26d66f._0x26bd95,0x1328)]=new CylinderStyleConver()),this['cylinderStyleConver']['isEntity']=_0x25cf21,this[_0x295e0c(_0x26d66f._0x26bd95,_0x26d66f._0x241e88)]['toCesiumVal'](_0x225fb5,_0xb28e4f);}['_toCesiumValBefore'](_0x400380,_0x1d6aa1){const _0x22add2={_0x4447ef:0x6de},_0x176a8e={_0x4268d5:0x6c8},_0x937460={_0x1b76a0:0x17f};super['_toCesiumValBefore'](_0x400380,_0x1d6aa1);function _0x368c24(_0x1696d1,_0xc9f38e){return _0x54a7f1(_0x1696d1- -_0x937460._0x1b76a0,_0xc9f38e);}function _0x485753(_0x3b41ef,_0x58b02c){return _0x7afdbe(_0x58b02c,_0x3b41ef- -_0x176a8e._0x4268d5);}!Cesium__namespace['defined'](_0x400380[_0x485753(0x945,_0x22add2._0x4447ef)])&&(_0x400380[_0x368c24(0xc60,0xc0d)]=0x0);}[_0x7afdbe(0x21b6,0x1706)](_0x12976e,_0x2d004c,_0x4fce70,_0x444bdc){const _0x3a2a7a={_0x475463:0xf93},_0x51db6f={_0x3b668f:0x220};function _0x222db8(_0x537fec,_0x142d5b){return _0x7afdbe(_0x142d5b,_0x537fec- -_0x51db6f._0x3b668f);}switch(_0x12976e){case'diffHeight':if(_0x444bdc['length']instanceof Cesium__namespace['CallbackProperty']);else _0x444bdc[_0x222db8(_0x3a2a7a._0x475463,0x9ab)]=Number(_0x2d004c);break;default:this['_toOneCesiumVal_Poly'](_0x12976e,_0x2d004c,_0x4fce70,_0x444bdc);break;}}static['toJSON'](_0x4f9642,_0x5db3df,_0x30d2df){const _0x2ab17c={_0x103f26:0xd6a,_0x13db94:0x17da,_0x1e3f12:0x11db,_0x4af1d1:0xd6a};function _0x5eaa71(_0x19ed68,_0x137891){return _0x7afdbe(_0x19ed68,_0x137891- -0x1f5);}!this[_0x19373c(0x641,_0x2ab17c._0x103f26)]&&(this[_0x19373c(_0x2ab17c._0x13db94,0xd6a)]=new CylinderStyleConver());function _0x19373c(_0x5ab2f3,_0x319d1f){return _0x54a7f1(_0x319d1f- -0x173,_0x5ab2f3);}return this[_0x19373c(0xc8e,0xd6a)]['isEntity']=_0x30d2df,this[_0x19373c(_0x2ab17c._0x1e3f12,_0x2ab17c._0x4af1d1)]['toJSON'](_0x4f9642,_0x5db3df);}['_toOneJson'](_0x50651a,_0x11ddd1,_0x1908a4){const _0x32ad0e={_0x974113:0x1212};function _0x3a76f6(_0x1609d7,_0x351616){return _0x7afdbe(_0x351616,_0x1609d7- -0x35);}this[_0x3a76f6(0x11d1,_0x32ad0e._0x974113)](_0x50651a,_0x11ddd1,_0x1908a4);}}class DivGraphicStyleConver extends BaseStyleConver{static['toCesiumVal'](_0xf4109a,_0x494d51){return!this['divGraphicStyleConver']&&(this['divGraphicStyleConver']=new DivGraphicStyleConver()),this['divGraphicStyleConver']['toCesiumVal'](_0xf4109a,_0x494d51);}[_0x54a7f1(0xc3b,0x10f3)](_0x1f6718,_0x39d414){}[_0x54a7f1(0x14d8,0x16e1)](_0x33e966,_0x4b7712,_0x4d5300,_0x4b3c31){function _0x398de3(_0x4b406c,_0x5821ae){return _0x54a7f1(_0x5821ae-0x6e,_0x4b406c);}this[_0x398de3(0xb80,0x60e)](_0x33e966,_0x4b7712,_0x4d5300,_0x4b3c31);}static['toJSON'](_0x1b9850,_0x44e15f){const _0x3a7c9d={_0xf24d56:0xfc1};!this[_0x5643b3(0x19da,_0x3a7c9d._0xf24d56)]&&(this['divGraphicStyleConver']=new DivGraphicStyleConver());function _0x5643b3(_0x559fa2,_0x153b36){return _0x54a7f1(_0x153b36- -0x10f,_0x559fa2);}function _0x23de2a(_0x1e3c1e,_0x4fd374){return _0x7afdbe(_0x1e3c1e,_0x4fd374-0x61);}return this['divGraphicStyleConver'][_0x23de2a(0x14a8,0x15ca)](_0x1b9850,_0x44e15f);}['_toOneJson'](_0xd6970,_0x4fcdff,_0x45a27f){this['_toOneJson_Point'](_0xd6970,_0x4fcdff,_0x45a27f);}}class EllipsoidStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x2eb0f0,_0x50bc0d,_0x2c35f6){const _0x4ce8e9={_0x5c9f90:0x320,_0x22a283:0xb1d},_0x33086f={_0x3a52dc:0x342};!this[_0x38ff4f(-0x3ff,0x43c)]&&(this[_0x38ff4f(0xbea,0x43c)]=new EllipsoidStyleConver());function _0x4d06b1(_0x11ed81,_0x46c5fc){return _0x7afdbe(_0x11ed81,_0x46c5fc- -_0x33086f._0x3a52dc);}this[_0x4d06b1(0x269,_0x4ce8e9._0x5c9f90)][_0x38ff4f(0x1324,_0x4ce8e9._0x22a283)]=_0x2c35f6;function _0x38ff4f(_0x4166f3,_0x1c2682){return _0x7afdbe(_0x4166f3,_0x1c2682- -0x226);}return this[_0x38ff4f(0x158,0x43c)]['toCesiumVal'](_0x2eb0f0,_0x50bc0d);}['_toCesiumValBefore'](_0x56a28c,_0x18940d){super['_toCesiumValBefore'](_0x56a28c,_0x18940d);}[_0x7afdbe(-0x288,0x7ed)](){const _0x1af8e4={_0x8e5088:0x15bb,_0x49d660:0x7d8},_0x579133={_0x4f66eb:0x49b};function _0x3eac4a(_0x93ba64,_0x1a26db){return _0x7afdbe(_0x93ba64,_0x1a26db- -_0x579133._0x4f66eb);}function _0x2f7209(_0x30d44,_0x5903c8){return _0x7afdbe(_0x5903c8,_0x30d44-0x45);}return[_0x3eac4a(_0x1af8e4._0x8e5088,0x1253),_0x2f7209(0x728,0x67b),'innerRadii_y',_0x3eac4a(_0x1af8e4._0x49d660,0xb10)];}['_toOneCesiumVal'](_0x4c45d6,_0x387008,_0x297775,_0xc92211){const _0xf0061e={_0x5ceb88:0x1a4c,_0x1a6140:0xf4d,_0x12a6c2:0xb36,_0xaa3339:0x78c,_0x3476d8:0x101f,_0x5017e:0x18fd,_0x19a7ef:0x490};function _0x3a5c20(_0x3492dc,_0x4df7c1){return _0x7afdbe(_0x4df7c1,_0x3492dc- -0x652);}function _0x5eadf5(_0x4a6166,_0x14f466){return _0x54a7f1(_0x14f466- -0x247,_0x4a6166);}switch(_0x4c45d6){case'radii':_0xc92211['radii']=new Cesium__namespace[(_0x5eadf5(_0xf0061e._0x5ceb88,0x10a0))](_0x387008,_0x387008,_0x387008);break;case'radii_x':_0xc92211['radii']=new Cesium__namespace['Cartesian3'](_0x297775['radii_x']??0x64,_0x297775[_0x5eadf5(0xf71,0x1279)]??0x64,_0x297775['radii_z']??0x64);break;case'innerRadii':_0xc92211[_0x5eadf5(0x10ad,0x11fc)]=new Cesium__namespace['Cartesian3'](_0x387008,_0x387008,_0x387008);break;case'innerRadii_x':_0x297775['innerRadii_x']>0x0&&_0x297775[_0x5eadf5(_0xf0061e._0x1a6140,0xbd1)]>0x0&&_0x297775[_0x5eadf5(0xd6d,_0xf0061e._0x12a6c2)]>0x0?_0xc92211['innerRadii']=new Cesium__namespace[(_0x3a5c20(0xec3,_0xf0061e._0xaa3339))](_0x297775[_0x3a5c20(0x137e,0x974)]??0x0,_0x297775['innerRadii_y']??0x0,_0x297775[_0x3a5c20(0x959,0x97a)]??0x0):_0xc92211[_0x3a5c20(_0xf0061e._0x3476d8,_0xf0061e._0x5017e)]=new Cesium__namespace['Cartesian3'](0.001,0.001,0.001);break;case'minimumClockDegree':case'maximumClockDegree':case _0x5eadf5(0x630,0xbb0):case'maximumConeDegree':_0xc92211[_0x4c45d6['replace'](_0x5eadf5(_0xf0061e._0x19a7ef,0xd4b),'')]=Cesium__namespace['Math']['toRadians'](_0x387008||0x0);break;default:this['_toOneCesiumVal_Poly'](_0x4c45d6,_0x387008,_0x297775,_0xc92211);break;}}static['toJSON'](_0xceaed6,_0x3a68f9,_0x1a067c){return!this['ellipsoidStyleConver']&&(this['ellipsoidStyleConver']=new EllipsoidStyleConver()),this['ellipsoidStyleConver']['isEntity']=_0x1a067c,this['ellipsoidStyleConver']['toJSON'](_0xceaed6,_0x3a68f9);}['_toOneJson'](_0x1c7955,_0x545b3c,_0x21b5c5){const _0x109f00={_0x2e6e77:0x12fb,_0x186e49:0xcb6,_0x197e39:0x1262,_0x1c4735:0x6bc,_0x400d4f:0x13b9};function _0x42c4d4(_0x1aa793,_0xfaf6f6){return _0x54a7f1(_0xfaf6f6- -0xe0,_0x1aa793);}function _0x402c5a(_0x560df6,_0x5318c0){return _0x7afdbe(_0x5318c0,_0x560df6- -0x390);}switch(_0x1c7955){case'radii':{_0x21b5c5[_0x402c5a(0x156f,0x1c6b)]=_0x545b3c['x'],_0x21b5c5[_0x42c4d4(_0x109f00._0x2e6e77,0x13e0)]=_0x545b3c['y'],_0x21b5c5['radii_z']=_0x545b3c['z'];break;}case'innerRadii':{_0x21b5c5[_0x42c4d4(0x13e7,0x16c2)]=_0x545b3c['x'],_0x21b5c5[_0x402c5a(_0x109f00._0x186e49,_0x109f00._0x197e39)]=_0x545b3c['y'],_0x21b5c5['innerRadii_z']=_0x545b3c['z'];break;}case'minimumClock':case _0x42c4d4(_0x109f00._0x1c4735,0x1084):case _0x402c5a(_0x109f00._0x400d4f,0xda7):case'maximumCone':_0x21b5c5[_0x1c7955+'Degree']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x545b3c),0x2);break;default:this['_toOneJson_Poly'](_0x1c7955,_0x545b3c,_0x21b5c5);break;}}}class LabelStyleConver extends BaseStyleConver{static[_0x7afdbe(0x187e,0x1007)](_0x33cf1b,_0x45c5d8,_0xcae7af){const _0x2acbc0={_0x143b60:0x1069,_0xb07cf0:0x11ec,_0x24829c:0x1426,_0xef689d:0x3a8},_0x21f4c2={_0x562607:0x4c8};function _0x15d098(_0x18d74d,_0x5ad60f){return _0x7afdbe(_0x5ad60f,_0x18d74d- -_0x21f4c2._0x562607);}function _0x539e74(_0x2851ff,_0x4f2de6){return _0x7afdbe(_0x4f2de6,_0x2851ff- -0x345);}return!this[_0x15d098(0x1069,0xbeb)]&&(this[_0x15d098(_0x2acbc0._0x143b60,0x976)]=new LabelStyleConver()),this['labelStyleConver']['attr']=_0xcae7af,_0x45c5d8=this[_0x539e74(_0x2acbc0._0xb07cf0,_0x2acbc0._0x24829c)][_0x15d098(0xb3f,_0x2acbc0._0xef689d)](_0x33cf1b,_0x45c5d8),_0x45c5d8;}[_0x7afdbe(0x165f,0xe69)](_0x52772c,_0x22630a){const _0x2e03da={_0x13da56:0x13bc,_0x1bee46:0xe9f},_0x5de813={_0x2f47d6:0x1de};function _0x51d178(_0x44fa76,_0x15bd66){return _0x7afdbe(_0x44fa76,_0x15bd66- -_0x5de813._0x2f47d6);}function _0x460cc9(_0x57028c,_0x17d08f){return _0x54a7f1(_0x17d08f- -0x212,_0x57028c);}_0x22630a[_0x460cc9(0x1ad7,_0x2e03da._0x13da56)]=_0x22630a['horizontalOrigin']??Cesium__namespace[_0x460cc9(_0x2e03da._0x1bee46,0x6bb)]['CENTER'],_0x22630a['verticalOrigin']=_0x22630a['verticalOrigin']??Cesium__namespace['HorizontalOrigin']['BOTTOM'];}['_toCesiumValEnd'](_0x4a0fc2,_0x1e2660){const _0x305062={_0x4ea8c3:0x1022,_0x134024:0xd8d,_0x377940:0x164a,_0x10a750:0xd62,_0x45d797:0x3f9,_0x68bc03:0x40d,_0x45f2f2:0x57a},_0x233d6f={_0x23c15b:0x8e},_0x5a3f3e={_0x1ad4ce:0x2d1};function _0x479474(_0x5d25b9,_0x2da87a){return _0x7afdbe(_0x2da87a,_0x5d25b9- -_0x5a3f3e._0x1ad4ce);}!Cesium__namespace[_0x404814(_0x305062._0x4ea8c3,0x193d)](_0x4a0fc2[_0x404814(0x187b,0x10ec)])&&(_0x1e2660[_0x479474(_0x305062._0x134024,_0x305062._0x377940)]=(_0x4a0fc2['font_style']||'')+'\x20'+(_0x4a0fc2[_0x479474(_0x305062._0x10a750,0xfb3)]||'')+'\x20'+(_0x4a0fc2[_0x404814(0x1568,0x1a27)]||0x12)+'px\x20\x20'+(_0x4a0fc2['font_family']||'微软雅黑'));function _0x404814(_0x245ed6,_0x33a612){return _0x7afdbe(_0x245ed6,_0x33a612-_0x233d6f._0x23c15b);}!Cesium__namespace['defined'](_0x4a0fc2[_0x479474(_0x305062._0x45d797,-0x2b5)])&&(_0x4a0fc2['fill']??!![])&&(_0x4a0fc2['outline']?_0x1e2660['style']=Cesium__namespace['LabelStyle']['FILL_AND_OUTLINE']:_0x1e2660['style']=Cesium__namespace['LabelStyle'][_0x404814(_0x305062._0x68bc03,_0x305062._0x45f2f2)]);}[_0x7afdbe(0x116a,0x7ed)](){const _0x599e44={_0x585b07:0x15b5},_0x24c343={_0x24b56b:0x3b7};function _0x37fd04(_0x781d78,_0x469d7f){return _0x54a7f1(_0x469d7f- -_0x24c343._0x24b56b,_0x781d78);}function _0x4fccfe(_0x27daaf,_0x12b173){return _0x54a7f1(_0x12b173- -0x351,_0x27daaf);}return[_0x4fccfe(_0x599e44._0x585b07,0xd06),_0x4fccfe(0x12b3,0xab4),_0x37fd04(0x1d97,0x13b4),'font_family','backgroundOpacity','fill'];}[_0x7afdbe(0x1051,0x1706)](_0x3c1f17,_0x36a698,_0x1f177d,_0xf087fa){const _0x207cb9={_0x56d996:0x10d0,_0x5182e7:0x165c,_0x1add91:0xc76,_0xca9779:0x1570,_0x498043:0xc90,_0x38b146:0xc4b,_0x1d0b9b:0xdbb,_0x47fb0a:0x12ae,_0x4e8409:0x2bb,_0x5744f4:0xe81,_0x148d6c:0xdff},_0x4897c5={_0x42dde7:0x142};function _0x3a54b9(_0x2313e2,_0x3b1e7f){return _0x7afdbe(_0x2313e2,_0x3b1e7f- -0x259);}function _0x4bac79(_0xcd622f,_0x16a70c){return _0x7afdbe(_0xcd622f,_0x16a70c- -_0x4897c5._0x42dde7);}switch(_0x3c1f17){case _0x3a54b9(0x7a7,_0x207cb9._0x56d996):{this[_0x3a54b9(0x1104,0x165c)]&&(_0x36a698=template(_0x36a698,this[_0x3a54b9(0x152f,_0x207cb9._0x5182e7)],_0x1f177d['templateEmptyStr']??!![]));_0xf087fa['text']=String(_0x36a698||'')['replace'](/<br \/>/gm,'\x0a');break;}case'color':{_0xf087fa[_0x3a54b9(-0x148,0x213)]=this['getColorByStyle'](_0x1f177d);break;}case _0x3a54b9(0xda5,0x80e):{_0xf087fa['outlineColor']=this['getOutlineColorByStyle'](_0x1f177d);break;}case _0x3a54b9(_0x207cb9._0x1add91,_0x207cb9._0xca9779):case _0x3a54b9(_0x207cb9._0x498043,0x213):{_0xf087fa[_0x3c1f17]=getCesiumColor(_0x36a698);break;}case'background':_0xf087fa['background']=_0x36a698,_0xf087fa['showBackground']=_0x36a698;break;case'backgroundColor':{let _0x8fd49e=getCesiumColor(_0x36a698,Cesium__namespace['Color']['BLACK']);if(Cesium__namespace['defined'](_0x1f177d['backgroundOpacity']))_0x8fd49e=_0x8fd49e[_0x4bac79(-0x20f,0x477)](Number(_0x1f177d[_0x3a54b9(0x12ee,_0x207cb9._0x38b146)]));else Cesium__namespace[_0x4bac79(0x14fd,0x176d)](_0x1f177d[_0x4bac79(0x5e0,0x446)])&&(_0x8fd49e=_0x8fd49e['withAlpha'](Number(_0x1f177d['opacity'])));_0xf087fa[_0x3a54b9(_0x207cb9._0x1d0b9b,_0x207cb9._0x47fb0a)]=_0x8fd49e;break;}case'backgroundPadding':_0xf087fa[_0x3a54b9(0x5f1,0x3dc)]=new Cesium__namespace['Cartesian2'](_0x36a698*1.2,_0x36a698),_0xf087fa['padding']=_0x36a698;break;case _0x3a54b9(-0x2f1,_0x207cb9._0x4e8409):!_0x36a698&&(_0xf087fa[_0x4bac79(0x15ce,0xff0)]=new Cesium__namespace['Cartesian2'](0x0,0x0));break;case'pixelOffsetX':case'pixelOffsetY':_0xf087fa['pixelOffset']=new Cesium__namespace[(_0x3a54b9(0x1faf,0x16d9))](_0x1f177d[_0x4bac79(_0x207cb9._0x5744f4,0xdc1)]||0x0,_0x1f177d[_0x3a54b9(0x154d,_0x207cb9._0x148d6c)]||0x0);break;case _0x4bac79(0x11ec,0xff0):Cesium__namespace['defined'](_0x36a698[0x0])&&Cesium__namespace[_0x4bac79(0x194c,0x176d)](_0x36a698[0x1])?_0xf087fa['pixelOffset']=new Cesium__namespace[(_0x4bac79(0x104f,0x17f0))](_0x36a698[0x0],_0x36a698[0x1]):_0xf087fa[_0x3a54b9(0x12de,0xed9)]=_0x36a698;break;default:this['_toOneCesiumVal_Point'](_0x3c1f17,_0x36a698,_0x1f177d,_0xf087fa);break;}}static[_0x54a7f1(0x133b,0xe5d)](_0x141ee9,_0x10c68a){const _0x31e48f={_0x170503:0x3d9,_0x4eccdd:0x1423};function _0x454165(_0x5dcef0,_0x3488ba){return _0x7afdbe(_0x5dcef0,_0x3488ba- -0x146);}function _0x46d882(_0x3e08f,_0x171e1c){return _0x7afdbe(_0x3e08f,_0x171e1c- -0x6f2);}return!this['labelStyleConver']&&(this['labelStyleConver']=new LabelStyleConver()),this[_0x46d882(_0x31e48f._0x170503,0xe3f)][_0x454165(0xf52,_0x31e48f._0x4eccdd)](_0x141ee9,_0x10c68a);}[_0x54a7f1(0xcf3,0xbb5)](_0x43903f,_0x336567,_0x47b442){const _0x59e7bf={_0x4bcdb1:0x144b,_0x397de3:0xbe5};function _0x31f0fa(_0x46afa6,_0x2e4572){return _0x7afdbe(_0x46afa6,_0x2e4572- -0x4ba);}function _0xa304c2(_0x1f6573,_0x40308c){return _0x54a7f1(_0x40308c- -0x49a,_0x1f6573);}switch(_0x43903f){case'pixelOffset':{_0x47b442[_0x31f0fa(0x18d,0xa49)]=_0x336567['x'],_0x47b442['pixelOffsetY']=_0x336567['y'];break;}case'disableDepthTestDistance':{_0x336567===Number[_0x31f0fa(_0x59e7bf._0x4bcdb1,_0x59e7bf._0x397de3)]?_0x47b442['visibleDepth']=![]:_0x47b442['disableDepthTestDistance']=_0x336567;break;}default:this['_toOneJson_Point'](_0x43903f,_0x336567,_0x47b442);break;}}static['setOpacity'](_0xf21ec9,_0x12255b){const _0x5cc75e={_0x4f886e:0xf99,_0x48d22d:0x18ae,_0x27841a:0x9cf,_0x288b2c:0xad,_0x552fae:0x5fb,_0x52ad26:0x442,_0x3afa45:0x2b1,_0x2a7951:0x21,_0x52335a:0x312,_0x5c1074:0xfee,_0x58c72d:0xb7f,_0x363149:0x1396,_0x44e2e8:0x158f,_0x5b0ae4:0xee2};function _0x49986e(_0xaacc27,_0x577343){return _0x7afdbe(_0x577343,_0xaacc27- -0x519);}const _0x4fe1e4=getCesiumValue(_0xf21ec9[_0x49986e(-0xad,-0x35)],Cesium__namespace[_0x49986e(_0x5cc75e._0x4f886e,_0x5cc75e._0x48d22d)]);function _0x3c41ea(_0x43b111,_0x3fb40b){return _0x7afdbe(_0x43b111,_0x3fb40b- -0x625);}_0x4fe1e4?(!Cesium__namespace[_0x49986e(0x1396,_0x5cc75e._0x27841a)](_0xf21ec9['_fillColor_alpha_bak'])&&(_0xf21ec9[_0x3c41ea(-0x5a2,0x1ad)]=_0x4fe1e4['alpha']??0x1),_0xf21ec9['fillColor']=_0x4fe1e4['withAlpha'](_0x12255b*_0xf21ec9['_fillColor_alpha_bak'])):_0xf21ec9[_0x49986e(-_0x5cc75e._0x288b2c,-0x3ff)]=Cesium__namespace[_0x49986e(0xf99,0x1759)]['WHITE']['withAlpha'](_0x12255b);const _0x509475=getCesiumValue(_0xf21ec9[_0x3c41ea(_0x5cc75e._0x552fae,_0x5cc75e._0x52ad26)],Cesium__namespace['Color']);_0x509475&&(!Cesium__namespace['defined'](_0xf21ec9[_0x3c41ea(-_0x5cc75e._0x3afa45,0x312)])&&(_0xf21ec9[_0x3c41ea(0xdb8,0x312)]=_0x509475[_0x3c41ea(-0x821,-_0x5cc75e._0x2a7951)]??0x1),_0xf21ec9[_0x49986e(0x54e,0xe7c)]=_0x509475[_0x3c41ea(0x680,-0x6c)](_0x12255b*_0xf21ec9[_0x3c41ea(-0x1f3,_0x5cc75e._0x52335a)]));const _0x2c1f6a=getCesiumValue(_0xf21ec9[_0x49986e(_0x5cc75e._0x5c1074,_0x5cc75e._0x58c72d)],Cesium__namespace['Color']);_0x2c1f6a&&(!Cesium__namespace[_0x49986e(_0x5cc75e._0x363149,0x13ae)](_0xf21ec9['_backgroundColor_alpha_bak'])&&(_0xf21ec9['_backgroundColor_alpha_bak']=_0x2c1f6a['alpha']??0x1),_0xf21ec9[_0x3c41ea(_0x5cc75e._0x44e2e8,_0x5cc75e._0x5b0ae4)]=_0x2c1f6a['withAlpha'](_0x12255b*_0xf21ec9['_backgroundColor_alpha_bak']));}}class ModelStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x45d36a,_0x5b33dc,_0x4e48e7){const _0x10ed10={_0x32d200:0x9c7,_0x331826:0xcdd};function _0x49864b(_0x3f4483,_0x206705){return _0x7afdbe(_0x3f4483,_0x206705- -0x32a);}function _0x15a25a(_0x26fe44,_0x3c9cc1){return _0x54a7f1(_0x26fe44- -0x48d,_0x3c9cc1);}return!this['modelStyleConver']&&(this['modelStyleConver']=new ModelStyleConver()),this['modelStyleConver']['isEntity']=_0x4e48e7,this[_0x15a25a(_0x10ed10._0x32d200,0x59b)][_0x49864b(0xd18,_0x10ed10._0x331826)](_0x45d36a,_0x5b33dc);}[_0x54a7f1(0xc3b,0xe38)](_0x4c6383,_0xf8875a){}[_0x7afdbe(0x45f,0x7ed)](){const _0x388f5a={_0x104f37:0x373,_0x5a4efb:0x41a,_0x1469da:0xc5a,_0x570a86:0xd2f,_0x374b15:0x56a},_0x548f3a={_0x565932:0x43};function _0x19f3c7(_0x1d4596,_0x1b05e7){return _0x54a7f1(_0x1b05e7- -_0x548f3a._0x565932,_0x1d4596);}function _0x1e9998(_0xc339e6,_0x352bc9){return _0x54a7f1(_0x352bc9- -0x14,_0xc339e6);}return[_0x1e9998(_0x388f5a._0x104f37,_0x388f5a._0x5a4efb),_0x19f3c7(0xc97,_0x388f5a._0x1469da),_0x19f3c7(0x13bf,0x1083),_0x1e9998(_0x388f5a._0x570a86,_0x388f5a._0x374b15),'fill','opacity'];}[_0x54a7f1(0x14d8,0x1036)](_0x2a2a41,_0x50993e,_0x5b3746,_0x28650d){function _0x4eb037(_0x489394,_0xd01790){return _0x7afdbe(_0x489394,_0xd01790- -0x104);}switch(_0x2a2a41){case'url':case'modelUrl':case'uri':this[_0x4eb037(0xa7b,0xc3f)]?_0x28650d['uri']=_0x50993e:_0x28650d['url']=_0x50993e;break;case'scale':!isNaN(_0x50993e)&&(_0x28650d[_0x2a2a41]=_0x50993e);break;default:this['_toOneCesiumVal_Point'](_0x2a2a41,_0x50993e,_0x5b3746,_0x28650d);break;}}[_0x54a7f1(0xcc1,0x43d)](_0x1050e2,_0x3958bd){const _0x1264ce={_0x375ac0:0xcb7,_0x167c29:0x1643,_0xbd0c65:0x516,_0xa031c8:0x692,_0x2e35a9:0xece,_0x53dd23:0x1376,_0x297d4b:0x564,_0x5d1df1:0x4ef,_0x3c85e5:0x43e,_0x418ad0:0x1db,_0x2ec269:0x43b,_0x333179:0x4af,_0x364fa1:0x6e2,_0x550a2d:0x7ab};_0x3958bd['show']=Boolean(_0x3958bd[_0x509ada(0x2f0,_0x1264ce._0x375ac0)]||_0x3958bd[_0x219e93(0x6e6,0x828)]);function _0x219e93(_0x2d41ba,_0x90fc5d){return _0x54a7f1(_0x90fc5d- -0x1fb,_0x2d41ba);}if(_0x1050e2['fill'])_0x3958bd[_0x219e93(_0x1264ce._0x167c29,0x1017)]=getColorByStyle(_0x1050e2,Cesium__namespace['Color'][_0x219e93(_0x1264ce._0xbd0c65,_0x1264ce._0xa031c8)]);else Cesium__namespace['defined'](_0x1050e2['opacity'])&&_0x1050e2['opacity']!==0x1?_0x3958bd['color']=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x1050e2['opacity']):_0x3958bd[_0x509ada(_0x1264ce._0x2e35a9,_0x1264ce._0x53dd23)]=Cesium__namespace['Color']['WHITE'];function _0x509ada(_0x2987f8,_0x33ee69){return _0x54a7f1(_0x33ee69-0x164,_0x2987f8);}if(_0x1050e2['silhouette']){let _0x3aba1e=getCesiumColor(_0x1050e2['silhouetteColor'],Cesium__namespace['Color']['WHITE']);Cesium__namespace[_0x509ada(0x164a,0x17e5)](_0x1050e2['silhouetteAlpha'])&&(_0x3aba1e=_0x3aba1e[_0x509ada(-_0x1264ce._0x297d4b,_0x1264ce._0x5d1df1)](Number(_0x1050e2['silhouetteAlpha']))),Cesium__namespace['defined'](_0x1050e2[_0x219e93(0x747,0x66a)])&&_0x1050e2['globalAlpha']!==0x1&&(_0x3aba1e=_0x3aba1e[_0x219e93(0x97,0x190)](_0x3aba1e[_0x219e93(-_0x1264ce._0x3c85e5,_0x1264ce._0x418ad0)]*_0x1050e2['globalAlpha'])),_0x3958bd[_0x219e93(_0x1264ce._0x2ec269,0xaa2)]=_0x3aba1e,_0x3958bd[_0x509ada(_0x1264ce._0x333179,_0x1264ce._0x364fa1)]=Number(_0x1050e2[_0x509ada(_0x1264ce._0x550a2d,0x6e2)]||0x1);}else _0x3958bd['silhouetteColor']=undefined,_0x3958bd['silhouetteSize']=0x0;}static[_0x54a7f1(0x133b,0x167f)](_0x46fec1,_0x5f537a,_0x192856){const _0x4c8fda={_0x353636:0xb11,_0x4dcae2:0x12e3};function _0xd6c77e(_0x602dbc,_0x35ce93){return _0x54a7f1(_0x602dbc- -0x343,_0x35ce93);}function _0x432f06(_0x188ddb,_0xc42eb5){return _0x54a7f1(_0xc42eb5- -0xdd,_0x188ddb);}return!this[_0xd6c77e(_0x4c8fda._0x353636,_0x4c8fda._0x4dcae2)]&&(this['modelStyleConver']=new ModelStyleConver()),this[_0xd6c77e(0xb11,0x55)]['isEntity']=_0x192856,this[_0xd6c77e(0xb11,0x37a)]['toJSON'](_0x46fec1,_0x5f537a);}[_0x54a7f1(0xcf3,0x136e)](_0x94bdf0,_0x523153,_0x22faa4){switch(_0x94bdf0){case'uri':{_0x22faa4['url']=_0x523153;break;}default:this['_toOneJson_Point'](_0x94bdf0,_0x523153,_0x22faa4);break;}}static[_0x7afdbe(0x45e,0x736)](_0x1c0c8b,_0x470d47){const _0x1e09b7={_0x576d45:0xc2f,_0x466b6d:0x1087,_0xe01051:0x1538,_0x4ea631:0x6e1,_0x4551fa:0xb56},_0x41c5c1={_0xa76f1a:0x1fd},_0x3759f3=getCesiumValue(_0x1c0c8b[_0x4ad037(0x10cb,0x1133)],Cesium__namespace['Color']);!Cesium__namespace[_0x4ad037(0x153a,0x1898)](_0x1c0c8b[_0x4ad037(_0x1e09b7._0x576d45,0xb7d)])&&(_0x1c0c8b['_color_alpha_bak']=(_0x3759f3===null||_0x3759f3===void 0x0?void 0x0:_0x3759f3[_0x3aa2c2(0x888,0x1d9)])??0x1);function _0x4ad037(_0x3b661a,_0x1ec013){return _0x54a7f1(_0x3b661a- -0x147,_0x1ec013);}function _0x3aa2c2(_0x183e26,_0x2120b2){return _0x54a7f1(_0x2120b2- -_0x41c5c1._0xa76f1a,_0x183e26);}_0x3759f3?_0x1c0c8b['color']=_0x3759f3['withAlpha'](_0x470d47*_0x1c0c8b['_color_alpha_bak']):_0x1c0c8b['color']=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x470d47);const _0x29323d=getCesiumValue(_0x1c0c8b['silhouetteColor'],Cesium__namespace[_0x3aa2c2(0x1389,_0x1e09b7._0x466b6d)]);_0x29323d&&(!Cesium__namespace[_0x4ad037(0x153a,_0x1e09b7._0xe01051)](_0x1c0c8b['_silhouetteColor_alpha_bak'])&&(_0x1c0c8b[_0x3aa2c2(0xf16,_0x1e09b7._0x4ea631)]=_0x29323d['alpha']??0x1),_0x1c0c8b[_0x4ad037(_0x1e09b7._0x4551fa,0xc20)]=_0x29323d['withAlpha'](_0x470d47*_0x1c0c8b['_silhouetteColor_alpha_bak']));}}class PathStyleConver extends BaseStyleConver{static[_0x54a7f1(0xdd9,0x767)](_0x508691,_0x135682,_0x5e485f){const _0x59ae7d={_0x1e9d16:0x48,_0xd940e7:0x203},_0x13d4e3={_0x342574:0x106},_0x475cf2={_0x4dd31f:0x6c0};function _0x35df37(_0x528af4,_0x5a0ac4){return _0x7afdbe(_0x528af4,_0x5a0ac4- -_0x475cf2._0x4dd31f);}function _0x576529(_0x3c9e0c,_0x5d745b){return _0x54a7f1(_0x3c9e0c-_0x13d4e3._0x342574,_0x5d745b);}return!this[_0x35df37(_0x59ae7d._0x1e9d16,0x14)]&&(this['pathStyleConver']=new PathStyleConver()),this['pathStyleConver'][_0x35df37(-_0x59ae7d._0xd940e7,0x683)]=_0x5e485f,this['pathStyleConver']['toCesiumVal'](_0x508691,_0x135682);}[_0x54a7f1(0x14d8,0x1a10)](_0x2b2557,_0x17eac3,_0xfc3d97,_0x3542b8){this['_toOneCesiumVal_Poly'](_0x2b2557,_0x17eac3,_0xfc3d97,_0x3542b8);}static['toJSON'](_0x559e50,_0x89b77,_0x13dd13){const _0x23e8f2={_0x24bdf7:0x128f},_0x2a3217={_0x18e60e:0x53c};function _0x40cdb5(_0x1c26e3,_0x5aabd8){return _0x7afdbe(_0x5aabd8,_0x1c26e3- -_0x2a3217._0x18e60e);}return!this['pathStyleConver']&&(this['pathStyleConver']=new PathStyleConver()),this['pathStyleConver'][_0x40cdb5(0x807,_0x23e8f2._0x24bdf7)]=_0x13dd13,this['pathStyleConver']['toJSON'](_0x559e50,_0x89b77);}[_0x54a7f1(0xcf3,0xd02)](_0x1790aa,_0x18e3c9,_0x4a12ff){this['_toOneJson_Poly'](_0x1790aa,_0x18e3c9,_0x4a12ff);}}class PlaneStyleConver extends BaseStyleConver{static[_0x54a7f1(0xdd9,0x1177)](_0x66d41f,_0x50a565,_0x161043){const _0x53f723={_0x376af2:0x15b0,_0xa3f0c9:0x142a,_0xf1c883:0x4d4},_0x1cd237={_0x109531:0x63f},_0x315695={_0x4ccc7f:0x436};!this[_0x52acfc(_0x53f723._0x376af2,_0x53f723._0xa3f0c9)]&&(this['planeStyleConver']=new PlaneStyleConver());function _0x52acfc(_0x450620,_0x179feb){return _0x7afdbe(_0x450620,_0x179feb- -_0x315695._0x4ccc7f);}function _0x27ee37(_0x3f8c9b,_0x55c6f2){return _0x7afdbe(_0x3f8c9b,_0x55c6f2- -_0x1cd237._0x109531);}return this['planeStyleConver'][_0x52acfc(_0x53f723._0xf1c883,0x90d)]=_0x161043,this['planeStyleConver']['toCesiumVal'](_0x66d41f,_0x50a565);}[_0x7afdbe(0x185a,0xe69)](_0x4432aa,_0x171b44){super['_toCesiumValBefore'](_0x4432aa,_0x171b44);}['_toOneCesiumVal'](_0x25a349,_0x708ef2,_0x41a1b9,_0x3dd38f){const _0x318d25={_0x35a940:0x12e9,_0x569c81:0x1f5,_0x2740b5:0xf48,_0xd18f00:0xbe2,_0x31fbae:0x1773,_0xc9a139:0x974,_0x310757:0x9a6},_0x693810={_0x2e4d54:0x121};function _0x1c636d(_0x2eea13,_0x44934c){return _0x7afdbe(_0x2eea13,_0x44934c- -0x365);}function _0x398f8f(_0x2b9517,_0x210a78){return _0x54a7f1(_0x2b9517- -_0x693810._0x2e4d54,_0x210a78);}switch(_0x25a349){case'dimensions_x':{const _0x53a781=_0x41a1b9['dimensions_x']??0x64,_0x56ea1e=_0x41a1b9[_0x398f8f(_0x318d25._0x35a940,0x106e)]??0x64;_0x3dd38f[_0x398f8f(_0x318d25._0x569c81,0xc9c)]=new Cesium__namespace['Cartesian2'](_0x53a781,_0x56ea1e);break;}case'scaleX':case'scaleY':{const _0x446f6c=_0x41a1b9['scaleX']??0x1,_0x42636e=_0x41a1b9['scaleY']??0x1;_0x3dd38f['dimensions']=new Cesium__namespace[(_0x398f8f(0x15e3,0x1962))](_0x446f6c,_0x42636e);break;}case _0x1c636d(_0x318d25._0x2740b5,0xa6e):{let _0xf09de9;switch(_0x708ef2){case'x':_0xf09de9=Cesium__namespace[_0x1c636d(_0x318d25._0xd18f00,0x11b0)]['UNIT_X'];break;case'y':_0xf09de9=Cesium__namespace['Cartesian3'][_0x1c636d(_0x318d25._0x31fbae,0x1136)];break;case'z':_0xf09de9=Cesium__namespace['Cartesian3'][_0x1c636d(0x13a7,0x10fc)];break;default:_0xf09de9=_0x708ef2;break;}const _0x2b93ce=_0x41a1b9[_0x398f8f(_0x318d25._0xc9a139,_0x318d25._0x310757)]??0x0;_0x3dd38f['plane']=new Cesium__namespace['Plane'](_0xf09de9,_0x2b93ce);break;}default:this['_toOneCesiumVal_Poly'](_0x25a349,_0x708ef2,_0x41a1b9,_0x3dd38f);break;}}static[_0x7afdbe(0x1bdd,0x1569)](_0x3eada4,_0x579045,_0x9499e){const _0x3b4ede={_0x44455a:0x11e5,_0x2f1a63:0x1396,_0x1021c2:0x1bed,_0x42f1ac:0x1263,_0x36fbf1:0x1618},_0x33939c={_0x43f367:0x44d};function _0x2e831a(_0x94129a,_0x5b4429){return _0x54a7f1(_0x94129a- -_0x33939c._0x43f367,_0x5b4429);}!this[_0x2e831a(_0x3b4ede._0x44455a,_0x3b4ede._0x2f1a63)]&&(this[_0x567100(_0x3b4ede._0x1021c2,_0x3b4ede._0x42f1ac)]=new PlaneStyleConver());this['planeStyleConver']['isEntity']=_0x9499e;function _0x567100(_0x2bcc1d,_0x18812a){return _0x54a7f1(_0x18812a- -0x3cf,_0x2bcc1d);}return this[_0x567100(_0x3b4ede._0x36fbf1,0x1263)]['toJSON'](_0x3eada4,_0x579045);}static['toOneJson'](_0x270170,_0x31f6ea,_0x3b6338){const _0x528ef0={_0x39756a:0x15e9};function _0x3abe8b(_0x2b8fd5,_0x41c860){return _0x54a7f1(_0x41c860-0x129,_0x2b8fd5);}!this['planeStyleConver']&&(this[_0x3abe8b(_0x528ef0._0x39756a,0x175b)]=new PlaneStyleConver());function _0x690bd2(_0x4539eb,_0xae1fea){return _0x7afdbe(_0x4539eb,_0xae1fea- -0x3e2);}return this[_0x690bd2(0x1bef,0x147e)]['_toOneJson'](_0x270170,_0x31f6ea,_0x3b6338);}['_toOneJson'](_0x1e4bc3,_0x1c7dd9,_0x1bb600){const _0x27cdd3={_0x5341a9:0x124f,_0x5859c7:0xe03,_0x26f71a:0x9ea,_0x495fd7:0x1078,_0x14ee93:0x9ea,_0x1e72af:0x17e5,_0x429c84:0xd2a,_0x414c3e:0x5fa,_0x4d8770:0x281,_0x2f4bd9:0xa76,_0x2a6e6a:0x176c,_0x2ab486:0x112c,_0x2dc6e9:0x73b,_0x3e6b94:0x14d7,_0x2e46ca:0x1858,_0x4c996f:0xbee,_0x786a17:0x8da};function _0x3c07f1(_0x5c633d,_0x1ff58b){return _0x7afdbe(_0x5c633d,_0x1ff58b- -0x3e9);}function _0xc56109(_0x1cecb7,_0x3764d8){return _0x54a7f1(_0x1cecb7- -0x46a,_0x3764d8);}switch(_0x1e4bc3){case'dimensions':{_0x1bb600[_0x3c07f1(0x1530,0xd34)]=_0x1c7dd9['x'],_0x1bb600[_0x3c07f1(0xfb0,_0x27cdd3._0x5341a9)]=_0x1c7dd9['y'];break;}case'plane_normal':{if(_0x1c7dd9['equals'](Cesium__namespace['Cartesian3']['UNIT_X']))_0x1bb600['plane_normal']='x';else{if(_0x1c7dd9['equals'](Cesium__namespace[_0x3c07f1(0x18be,0x112c)][_0xc56109(_0x27cdd3._0x5859c7,0x812)]))_0x1bb600[_0x3c07f1(0x123b,_0x27cdd3._0x26f71a)]='y';else _0x1c7dd9['equals'](Cesium__namespace['Cartesian3'][_0x3c07f1(0xe4a,_0x27cdd3._0x495fd7)])?_0x1bb600['plane_normal']='z':(logWarn('plane类型未识别',_0x1c7dd9),_0x1bb600[_0x3c07f1(0xb35,_0x27cdd3._0x14ee93)]='z');}break;}case'plane':{if(_0x1c7dd9[_0x3c07f1(-0x1dc,0x281)][_0x3c07f1(_0x27cdd3._0x1e72af,_0x27cdd3._0x429c84)](Cesium__namespace['Cartesian3']['UNIT_X']))_0x1bb600['plane_normal']='x';else{if(_0x1c7dd9[_0x3c07f1(_0x27cdd3._0x414c3e,_0x27cdd3._0x4d8770)][_0xc56109(0xa7b,_0x27cdd3._0x2f4bd9)](Cesium__namespace[_0x3c07f1(_0x27cdd3._0x2a6e6a,_0x27cdd3._0x2ab486)]['UNIT_Y']))_0x1bb600[_0xc56109(_0x27cdd3._0x2dc6e9,0x1b7)]='y';else _0x1c7dd9['normal']['equals'](Cesium__namespace[_0x3c07f1(_0x27cdd3._0x3e6b94,0x112c)][_0xc56109(0xdc9,_0x27cdd3._0x2e46ca)])?_0x1bb600['plane_normal']='z':(logWarn(_0xc56109(0x1c8,_0x27cdd3._0x4c996f),_0x1c7dd9),_0x1bb600['plane_normal']='z');}_0x1bb600[_0x3c07f1(0x432,_0x27cdd3._0x786a17)]=_0x1c7dd9[_0xc56109(0xe27,0x6fb)];break;}default:this[_0x3c07f1(0x16d7,0xe1d)](_0x1e4bc3,_0x1c7dd9,_0x1bb600);break;}}}class PointStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x12652a,_0x2be3cf,_0x3bd991){return!this['pointStyleConver']&&(this['pointStyleConver']=new PointStyleConver()),this['pointStyleConver']['isEntity']=_0x3bd991,this['pointStyleConver']['toCesiumVal'](_0x12652a,_0x2be3cf);}[_0x54a7f1(0xc3b,0x1668)](_0x1448aa,_0x5af878){const _0x415625={_0x25ddb2:0xb8d};function _0x2176ce(_0xacd4cb,_0x3285c0){return _0x54a7f1(_0xacd4cb- -0x245,_0x3285c0);}!Cesium__namespace['defined'](_0x5af878['pixelSize'])&&(_0x5af878[_0x2176ce(_0x415625._0x25ddb2,0xd95)]=0x6);}['_toCesiumValEnd'](_0x22a69d,_0x2880f0){const _0x47c63b={_0x34350c:0x12d2};function _0x3fa9e0(_0x11a8a7,_0x5c4d37){return _0x7afdbe(_0x5c4d37,_0x11a8a7- -0x6e6);}_0x22a69d[_0x3fa9e0(0xf80,_0x47c63b._0x34350c)]===![]&&(_0x2880f0['outlineWidth']=0x0);}[_0x54a7f1(0x14d8,0x14f9)](_0x2bcd89,_0x560cdd,_0x38057a,_0x3491a6){const _0x211d76={_0x437f66:0xd95,_0x3adde4:0x1271,_0x58cbcd:0x24a,_0x2a8a65:0x1f9},_0x36ba72={_0x43ad3f:0x1cf};function _0x1b645c(_0x2f2f8d,_0xb2489e){return _0x7afdbe(_0x2f2f8d,_0xb2489e- -_0x36ba72._0x43ad3f);}function _0x17f873(_0x103bb4,_0x576547){return _0x7afdbe(_0x103bb4,_0x576547- -0x718);}switch(_0x2bcd89){case'color':case _0x1b645c(_0x211d76._0x437f66,0x731):{_0x3491a6[_0x1b645c(0x95e,_0x211d76._0x3adde4)]=this['getColorByStyle'](_0x38057a);break;}case'outlineColor':{_0x3491a6[_0x1b645c(_0x211d76._0x58cbcd,0x898)]=this[_0x17f873(-_0x211d76._0x2a8a65,-0x1b2)](_0x38057a);break;}default:this['_toOneCesiumVal_Point'](_0x2bcd89,_0x560cdd,_0x38057a,_0x3491a6);break;}}static[_0x7afdbe(0x1135,0x1569)](_0xf449a8,_0x579ac4,_0x41a0e2){const _0x2a0063={_0x2a2df8:0x166,_0x45765f:0x284},_0x2185f1={_0x23bea2:0x4be};!this['pointStyleConver']&&(this[_0xce675a(_0x2a0063._0x2a2df8,-_0x2a0063._0x45765f)]=new PointStyleConver());function _0xce675a(_0x359414,_0x5d351d){return _0x54a7f1(_0x5d351d- -_0x2185f1._0x23bea2,_0x359414);}return this['pointStyleConver']['isEntity']=_0x41a0e2,this['pointStyleConver']['toJSON'](_0xf449a8,_0x579ac4);}[_0x7afdbe(0x87f,0xf21)](_0x3faafb,_0x371316,_0x167438){this['_toOneJson_Point'](_0x3faafb,_0x371316,_0x167438);}static['setOpacity'](_0xb38f92,_0x159705){const _0x2a7d0f={_0xb7f6d2:0x3b4,_0x11c599:0xea,_0x48665f:0xd52,_0x510294:0xba3,_0x8ee3e3:0x8b6,_0x17cb47:0x37e,_0x2318b6:0x379,_0x2f2a4d:0x13c3,_0x2cb68a:0x76b,_0x1022ef:0xb5f,_0x135e04:0x939,_0x4d2aad:0x807},_0x4c0446={_0x5e1f60:0x4c0},_0x57a7d3={_0x46d3dd:0x62};function _0xd6b8e9(_0x5b46cd,_0x2e1dfe){return _0x54a7f1(_0x5b46cd-_0x57a7d3._0x46d3dd,_0x2e1dfe);}const _0x29bd49=getCesiumValue(_0xb38f92['color'],Cesium__namespace['Color']);function _0x297768(_0x3df166,_0x39c40b){return _0x54a7f1(_0x39c40b- -_0x4c0446._0x5e1f60,_0x3df166);}_0x29bd49?(!Cesium__namespace['defined'](_0xb38f92['_color_alpha_bak'])&&(_0xb38f92[_0x297768(0xac0,0x8b6)]=_0x29bd49[_0x297768(_0x2a7d0f._0xb7f6d2,-_0x2a7d0f._0x11c599)]??0x1),_0xb38f92[_0x297768(0x17b8,_0x2a7d0f._0x48665f)]=_0x29bd49['withAlpha'](_0x159705*_0xb38f92[_0x297768(_0x2a7d0f._0x510294,_0x2a7d0f._0x8ee3e3)])):_0xb38f92[_0x297768(0x67a,0xd52)]=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x159705);const _0x31762d=getCesiumValue(_0xb38f92[_0x297768(_0x2a7d0f._0x17cb47,_0x2a7d0f._0x2318b6)],Cesium__namespace['Color']);_0x31762d&&(!Cesium__namespace[_0x297768(_0x2a7d0f._0x2f2a4d,0x11c1)](_0xb38f92[_0xd6b8e9(_0x2a7d0f._0x2cb68a,_0x2a7d0f._0x1022ef)])&&(_0xb38f92['_outlineColor_alpha_bak']=_0x31762d[_0xd6b8e9(0x438,-0x641)]??0x1),_0xb38f92[_0xd6b8e9(0x89b,0xb3e)]=_0x31762d[_0x297768(_0x2a7d0f._0x135e04,-0x135)](_0x159705*_0xb38f92[_0xd6b8e9(0x76b,_0x2a7d0f._0x4d2aad)]));}}class PolygonStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x2f461a,_0x5b43a7,_0x5108fd){!this['polygonStyleConver']&&(this[_0x52699a(0x1626,0xd4c)]=new PolygonStyleConver());this['polygonStyleConver']['isEntity']=_0x5108fd;function _0x52699a(_0x714dae,_0x3ea381){return _0x54a7f1(_0x3ea381-0x2b1,_0x714dae);}return this['polygonStyleConver']['toCesiumVal'](_0x2f461a,_0x5b43a7);}['_toCesiumValBefore'](_0x35b497,_0x32b5e6){const _0x2ba117={_0x57063d:0x1175,_0x2becf0:0x554,_0x3539bc:0x48c,_0x8966b1:0xd65,_0x1edfa1:0xcb7},_0xff3843={_0x3aeb98:0x622};super['_toCesiumValBefore'](_0x35b497,_0x32b5e6);function _0x183afe(_0x3feb2f,_0xd6c8ec){return _0x7afdbe(_0xd6c8ec,_0x3feb2f- -_0xff3843._0x3aeb98);}function _0x4990c9(_0x437cf9,_0x3be560){return _0x54a7f1(_0x437cf9- -0x1db,_0x3be560);}if(_0x35b497[_0x183afe(_0x2ba117._0x57063d,0x900)])_0x32b5e6['arcType']=Cesium__namespace['ArcType'][_0x183afe(_0x2ba117._0x2becf0,0xd70)],_0x35b497['hasOwnProperty'](_0x4990c9(_0x2ba117._0x3539bc,0xd21))&&delete _0x35b497['height'],_0x35b497[_0x183afe(0x11b7,0x9e0)]('diffHeight')&&delete _0x35b497['diffHeight'],_0x35b497['hasOwnProperty']('extrudedHeight')&&delete _0x35b497[_0x183afe(0x9f4,_0x2ba117._0x8966b1)];else Cesium__namespace[_0x4990c9(0x14a6,_0x2ba117._0x1edfa1)](_0x35b497['height'])?(_0x35b497['clampToGround']=![],_0x32b5e6['perPositionHeight']=![]):(_0x35b497['clampToGround']=![],_0x32b5e6['perPositionHeight']=!![]);}['_toOneCesiumVal'](_0x1a4127,_0x1cf82a,_0x20335c,_0x3504af){const _0x3f6af1={_0x36fcb1:0x7e0,_0x284ade:0xcd1,_0x5670df:0x1462,_0x36aff0:0x184d,_0xc2b4ae:0x1882,_0x1eb5e6:0x2135,_0xde16d1:0xd8f,_0x5aaed0:0x152e,_0x37b5d3:0x10bb,_0x598b7f:0x1628,_0x3b9ece:0xc7b,_0x5ad794:0x78d};function _0x24e62f(_0x16f5a3,_0x44be4d){return _0x7afdbe(_0x44be4d,_0x16f5a3- -0x2d);}function _0x272a21(_0xc5caa5,_0x12153b){return _0x54a7f1(_0x12153b- -0x59,_0xc5caa5);}switch(_0x1a4127){case _0x272a21(0xf3b,_0x3f6af1._0x36fcb1):{_0x3504af['outlineColor']=this['getOutlineColorByStyle'](_0x20335c);break;}case _0x272a21(_0x3f6af1._0x284ade,0x60e):{_0x3504af[_0x1a4127]=_0x1cf82a,_0x3504af[_0x24e62f(0x135d,_0x3f6af1._0x5670df)]=![];break;}case _0x272a21(_0x3f6af1._0x36aff0,0xff3):{Cesium__namespace[_0x24e62f(_0x3f6af1._0xc2b4ae,_0x3f6af1._0x1eb5e6)](_0x20335c['height'])&&(_0x3504af[_0x272a21(0xf67,_0x3f6af1._0xde16d1)]=Number(_0x20335c['height'])+Number(_0x1cf82a));break;}case _0x24e62f(0x176a,_0x3f6af1._0x5aaed0):_0x3504af[_0x1a4127]=_0x1cf82a,_0x3504af[_0x24e62f(0x135d,0xc48)]=!_0x1cf82a&&!Cesium__namespace[_0x272a21(_0x3f6af1._0x37b5d3,_0x3f6af1._0x598b7f)](_0x20335c['height']);break;case'stRotation':_0x3504af['stRotation']=_0x1cf82a;break;case _0x24e62f(_0x3f6af1._0x3b9ece,0xfe3):_0x3504af[_0x272a21(0x11ac,_0x3f6af1._0x5ad794)]=Cesium__namespace['Math'][_0x272a21(0x102e,0x14c9)](_0x1cf82a);break;default:this['_toOneCesiumVal_Poly'](_0x1a4127,_0x1cf82a,_0x20335c,_0x3504af);break;}}static[_0x54a7f1(0x133b,0x19f3)](_0xca0f0b,_0x2da732,_0x13e92f){const _0x28af10={_0x5a09a2:0x113c,_0x2e1d46:0xb06,_0x4ed39b:0xb80,_0x186a63:0x816},_0x5f1998={_0x191043:0x6b};!this['polygonStyleConver']&&(this[_0x5f34(_0x28af10._0x5a09a2,_0x28af10._0x2e1d46)]=new PolygonStyleConver());function _0x271da7(_0x3a8464,_0x30c35a){return _0x54a7f1(_0x3a8464- -0x285,_0x30c35a);}this['polygonStyleConver'][_0x5f34(0x538,_0x28af10._0x4ed39b)]=_0x13e92f;function _0x5f34(_0xb62432,_0x4eab53){return _0x54a7f1(_0x4eab53-_0x5f1998._0x191043,_0xb62432);}return this[_0x271da7(_0x28af10._0x186a63,0xb1a)]['toJSON'](_0xca0f0b,_0x2da732);}[_0x7afdbe(0xcc9,0xf21)](_0x19760d,_0x1dedb7,_0x46bf6e){const _0x2f0777={_0x421889:0xeb6};function _0x2cc4b7(_0x2f7df6,_0x109cf2){return _0x54a7f1(_0x2f7df6- -0x8b,_0x109cf2);}switch(_0x19760d){case'stRotation':{_0x46bf6e['stRotationDegree']=formatNum$1(Cesium__namespace['Math'][_0x2cc4b7(_0x2f0777._0x421889,0x54e)](_0x1dedb7),0x1);break;}default:this['_toOneJson_Poly'](_0x19760d,_0x1dedb7,_0x46bf6e);break;}}}class PolylineStyleConver extends BaseStyleConver{static[_0x7afdbe(0x987,0x1007)](_0x14d773,_0x8fa615,_0x2047c0){const _0x2f4350={_0x414444:0x1b22},_0x25db33={_0x541527:0x3dc},_0x1a5ec1={_0x25eea3:0x92};function _0x5a52bd(_0x581ec3,_0x5e1bc0){return _0x7afdbe(_0x581ec3,_0x5e1bc0- -_0x1a5ec1._0x25eea3);}function _0x356f82(_0x3ae9eb,_0x231ffb){return _0x54a7f1(_0x3ae9eb- -_0x25db33._0x541527,_0x231ffb);}return!this[_0x356f82(0x1269,_0x2f4350._0x414444)]&&(this['polylineStyleConver']=new PolylineStyleConver()),this['polylineStyleConver']['isEntity']=_0x2047c0,this[_0x356f82(0x1269,0xe35)]['toCesiumVal'](_0x14d773,_0x8fa615);}['_toCesiumValBefore'](_0x42cb4b,_0x1d15d6){const _0x4cb2d3={_0x2fa342:0xdff,_0x519163:0xb0c,_0x67bc76:0x151e,_0x36cc53:0x12c6,_0x52d74b:0x46c},_0x3f7a62={_0x182a29:0x6a},_0x3fedd7={_0x57577e:0x3a0};function _0x52d7af(_0x32470c,_0x56b1cc){return _0x7afdbe(_0x32470c,_0x56b1cc- -_0x3fedd7._0x57577e);}super[_0x5938e0(0x1782,_0x4cb2d3._0x2fa342)](_0x42cb4b,_0x1d15d6);function _0x5938e0(_0x18823e,_0x1fca15){return _0x7afdbe(_0x18823e,_0x1fca15- -_0x3f7a62._0x182a29);}_0x42cb4b['clampToGround']&&(_0x1d15d6['arcType']=Cesium__namespace['ArcType'][_0x5938e0(0x15aa,_0x4cb2d3._0x519163)]),_0x42cb4b['materialType']===Color$2&&_0x42cb4b[_0x52d7af(_0x4cb2d3._0x67bc76,_0x4cb2d3._0x36cc53)]&&_0x42cb4b['outlineColor']&&(_0x42cb4b[_0x5938e0(0x6fe,_0x4cb2d3._0x52d74b)]=PolylineOutline);}['_toOneCesiumVal'](_0x1fc904,_0x89cad3,_0x525cad,_0x4ab564){const _0x377afb={_0x3957e0:0x1974,_0x25685c:0x1125,_0x1b3789:0xe04,_0x60c978:0xf28,_0x589c7d:0x3c8,_0x441a4b:0x15b0,_0x1c19a8:0x782,_0x13670b:0xc88},_0x259783={_0x524bc3:0x369},_0x5bec1b={_0x1da80c:0x31b};function _0x4ec849(_0x127d33,_0x5e8cc2){return _0x7afdbe(_0x127d33,_0x5e8cc2- -_0x5bec1b._0x1da80c);}function _0x13ce00(_0x55bf8d,_0x511c14){return _0x7afdbe(_0x511c14,_0x55bf8d- -_0x259783._0x524bc3);}switch(_0x1fc904){case'depthFail':if(_0x89cad3){let _0x2f4087=getCesiumColor(_0x525cad['depthFailColor']||_0x525cad[_0x4ec849(_0x377afb._0x3957e0,_0x377afb._0x25685c)],Cesium__namespace['Color']['YELLOW']);Cesium__namespace[_0x4ec849(_0x377afb._0x1b3789,0x1594)](_0x525cad[_0x4ec849(0x9e6,_0x377afb._0x60c978)])&&(_0x2f4087=_0x2f4087['withAlpha'](Number(_0x525cad['depthFailOpacity']))),this['isEntity']?_0x4ab564['depthFailMaterial']=_0x2f4087:_0x4ab564['depthFailColor']=_0x2f4087,_0x525cad[_0x13ce00(0x21f,_0x377afb._0x589c7d)]===0x1&&(_0x525cad['opacity']=0.98);}else _0x4ab564['depthFailMaterial']=undefined;_0x4ab564[_0x1fc904]=_0x89cad3;break;case'closure':!this['isEntity']&&(_0x4ab564['loop']=_0x89cad3);_0x4ab564[_0x4ec849(0x13ed,_0x377afb._0x441a4b)]=_0x89cad3;break;default:this[_0x13ce00(_0x377afb._0x1c19a8,_0x377afb._0x13670b)](_0x1fc904,_0x89cad3,_0x525cad,_0x4ab564);break;}}static[_0x54a7f1(0x133b,0xddb)](_0x5bc5ff,_0x3f6b7e,_0x35d87d){const _0x20b8dd={_0x98bf72:0x1e6,_0x10226c:0x67c,_0x300374:0x11ac,_0x1971b9:0x1aae,_0x386a20:0x13d3},_0x433d8a={_0x63ac08:0x499};function _0x4b3ebe(_0x11ac7e,_0x320dfd){return _0x7afdbe(_0x11ac7e,_0x320dfd- -0x196);}!this['polylineStyleConver']&&(this['polylineStyleConver']=new PolylineStyleConver());function _0x64cc4f(_0x2504b4,_0x3cfe24){return _0x54a7f1(_0x3cfe24- -_0x433d8a._0x63ac08,_0x2504b4);}return this['polylineStyleConver'][_0x64cc4f(_0x20b8dd._0x98bf72,_0x20b8dd._0x10226c)]=_0x35d87d,this[_0x64cc4f(0xc0f,_0x20b8dd._0x300374)][_0x4b3ebe(_0x20b8dd._0x1971b9,_0x20b8dd._0x386a20)](_0x5bc5ff,_0x3f6b7e);}['_toOneJson'](_0x60eca0,_0x3fb254,_0x396110){const _0x396dd2={_0x56391e:0x57f};function _0x1a276f(_0x52039a,_0x20fbf5){return _0x7afdbe(_0x52039a,_0x20fbf5- -_0x396dd2._0x56391e);}switch(_0x60eca0){case'loop':_0x396110[_0x1a276f(0x130d,0x134c)]=_0x3fb254;break;default:this['_toOneJson_Poly'](_0x60eca0,_0x3fb254,_0x396110);break;}}}class PolylineVolumeStyleConver extends BaseStyleConver{static[_0x7afdbe(0x15ae,0x1007)](_0x5e5fa3,_0x9397df,_0x392b38){const _0x22c1cf={_0x3879a3:0x941},_0x2e3462={_0x517dc8:0x2b};!this['polylineVolumeStyleConver']&&(this[_0x1b05b3(_0x22c1cf._0x3879a3,0x1013)]=new PolylineVolumeStyleConver());this['polylineVolumeStyleConver']['isEntity']=_0x392b38;function _0x1b05b3(_0x5a3ef7,_0x59c52a){return _0x54a7f1(_0x5a3ef7- -_0x2e3462._0x517dc8,_0x59c52a);}return this['polylineVolumeStyleConver']['toCesiumVal'](_0x5e5fa3,_0x9397df);}['_toCesiumValEnd'](_0x2a9249,_0x453f1b){const _0x451470={_0x84f2fc:0xadf,_0x327075:0x11b9,_0x1702cc:0x119b,_0x3714ba:0x3ea,_0x351ccc:0x11b9},_0x30c94b=_0x2a9249['shape']||_0x2a9249['shapePositions'];_0x2a9249[_0x3e797c(-0xf5,-0x84)]=_0x2a9249[_0x3e797c(-0xf5,-0xb2d)]||0xa;function _0x4710b9(_0x3dd194,_0x1653ea){return _0x54a7f1(_0x1653ea- -0x62,_0x3dd194);}function _0x3e797c(_0x29c356,_0x12c862){return _0x7afdbe(_0x12c862,_0x29c356- -0x6fa);}switch(_0x30c94b){case _0x3e797c(0xeba,0x866):_0x453f1b['shape']=PolylineVolumeStyleConver[_0x3e797c(0x1126,0x1488)](_0x2a9249);break;case _0x3e797c(_0x451470._0x84f2fc,0x460):_0x453f1b[_0x3e797c(_0x451470._0x327075,0x1479)]=PolylineVolumeStyleConver[_0x3e797c(_0x451470._0x1702cc,0xf96)](_0x2a9249);break;case _0x3e797c(_0x451470._0x3714ba,-0x256):_0x453f1b[_0x3e797c(_0x451470._0x351ccc,0x1487)]=PolylineVolumeStyleConver['getShapeForStar'](_0x2a9249);break;default:_0x453f1b[_0x3e797c(0x11b9,0xe39)]=_0x30c94b;break;}}['_toOneCesiumVal'](_0x34e8a0,_0x1566ed,_0x3bf9b2,_0x961cb1){this['_toOneCesiumVal_Poly'](_0x34e8a0,_0x1566ed,_0x3bf9b2,_0x961cb1);}static[_0x7afdbe(0x1669,0x1569)](_0x2e9b52,_0x4cd378,_0x476a3b){const _0x5e3c5d={_0x11191b:0x669};function _0x30aabb(_0x3a2de8,_0x2ad89b){return _0x54a7f1(_0x3a2de8- -0x4ac,_0x2ad89b);}!this[_0x175f2d(0x1133,0xc0d)]&&(this['polylineVolumeStyleConver']=new PolylineVolumeStyleConver());function _0x175f2d(_0x5b34da,_0x10526d){return _0x7afdbe(_0x5b34da,_0x10526d-0x73);}return this['polylineVolumeStyleConver'][_0x30aabb(_0x5e3c5d._0x11191b,0xcd1)]=_0x476a3b,this[_0x30aabb(0x4c0,-0x593)][_0x175f2d(0x166b,0x15dc)](_0x2e9b52,_0x4cd378);}[_0x7afdbe(0x99d,0xf21)](_0x3494b7,_0x5e9c94,_0x3159d6){this['_toOneJson_Poly'](_0x3494b7,_0x5e9c94,_0x3159d6);}static[_0x7afdbe(0x1f3c,0x1820)](_0x5a77a4){const _0x47f603={_0x46035f:0x43b,_0x3722c7:0x975,_0x5b94dd:0xab5,_0x45d8cb:0x87f,_0x38f214:0x1f3b,_0x520097:0x195b,_0x368261:0x1216,_0x27d8d9:0x979,_0x56e2ba:0x4d8},_0x485c5c=_0x5a77a4[_0x3c27b2(0x113,_0x47f603._0x46035f)]??0x1,_0xd5748b=_0x5a77a4['thicknes']??_0x485c5c/0x3,_0x4b211a=Math[_0x3c27b2(_0x47f603._0x3722c7,_0x47f603._0x5b94dd)](0x168/(_0x5a77a4['slices']??0x3c));function _0x284e21(_0x25bfe8,_0x3a11f0){return _0x54a7f1(_0x3a11f0-0x207,_0x25bfe8);}function _0x3c27b2(_0x4f6d0d,_0x2bb99b){return _0x7afdbe(_0x4f6d0d,_0x2bb99b- -0x1ca);}const _0x5cb988=_0x5a77a4['startAngle']??0x0,_0x85a99e=_0x5a77a4['endAngle']??_0x5cb988+0x168,_0x362fca=_0x5a77a4['vscale']??0x1,_0xad443c=_0x5a77a4['hscale']??0x1,_0xf4c618=[];for(let _0x164a54=_0x5cb988;_0x164a54<=_0x85a99e;_0x164a54+=_0x4b211a){const _0x1bd388=Cesium__namespace[_0x284e21(0x109c,0x14b3)]['toRadians'](_0x164a54);_0xf4c618[_0x284e21(_0x47f603._0x45d8cb,0x110f)](new Cesium__namespace['Cartesian2'](_0x485c5c*_0xad443c*Math[_0x284e21(_0x47f603._0x38f214,_0x47f603._0x520097)](_0x1bd388),_0x485c5c*_0x362fca*Math[_0x284e21(0x2de,0x67b)](_0x1bd388)));}for(let _0x6ea9f4=_0x85a99e;_0x6ea9f4>=_0x5cb988;_0x6ea9f4-=_0x4b211a){const _0x1177bb=Cesium__namespace[_0x3c27b2(0x1053,0x1310)]['toRadians'](_0x6ea9f4);_0xf4c618[_0x284e21(0x9c8,0x110f)](new Cesium__namespace[(_0x3c27b2(_0x47f603._0x368261,0x1768))]((_0x485c5c-_0xd5748b)*_0xad443c*Math['cos'](_0x1177bb),(_0x485c5c-_0xd5748b)*_0x362fca*Math[_0x3c27b2(_0x47f603._0x27d8d9,_0x47f603._0x56e2ba)](_0x1177bb)));}return _0xf4c618;}static['getShapeForCircle'](_0x14c97b){const _0xbc4dd9={_0x5d8f37:0xd2a,_0x4a2928:0x1557,_0x353005:0x18fd},_0xcd5fdb={_0x55febe:0xfe};function _0x7379a2(_0x165b3c,_0x1aeeda){return _0x7afdbe(_0x1aeeda,_0x165b3c- -0x2ea);}function _0x5c5cc0(_0x29beed,_0x43febf){return _0x7afdbe(_0x29beed,_0x43febf- -_0xcd5fdb._0x55febe);}const _0xc5b011=_0x14c97b['radius']??0x1,_0x4b70b4=Math[_0x7379a2(0x995,_0xbc4dd9._0x5d8f37)](0x168/(_0x14c97b[_0x5c5cc0(0xfbf,_0xbc4dd9._0x4a2928)]??0x3c)),_0x1e8514=_0x14c97b['startAngle']??0x0,_0x438d07=_0x14c97b['endAngle']??_0x1e8514+0x168,_0x4904f2=_0x14c97b['vscale']??0x1,_0x506f6a=_0x14c97b['hscale']??0x1,_0x166fdf=[];for(let _0x303b05=_0x1e8514;_0x303b05<=_0x438d07;_0x303b05+=_0x4b70b4){const _0x4af47e=Cesium__namespace['Math'][_0x7379a2(0x1466,_0xbc4dd9._0x353005)](_0x303b05);_0x166fdf['push'](new Cesium__namespace['Cartesian2'](_0xc5b011*_0x506f6a*Math[_0x7379a2(0x1698,0x1b02)](_0x4af47e),_0xc5b011*_0x4904f2*Math[_0x7379a2(0x3b8,0x3ae)](_0x4af47e)));}return _0x166fdf;}static['getShapeForStar'](_0x823db){const _0x2eed95={_0x5e0707:0xe0b,_0x5ee541:0x1308,_0x121c25:0x331},_0x23a479=_0x823db[_0x2f44b0(0x2b8,-0x580)]??0x1;function _0x543a9c(_0x47a2b2,_0x2277eb){return _0x7afdbe(_0x47a2b2,_0x2277eb- -0x520);}const _0x5be174=_0x23a479-(_0x823db[_0x2f44b0(0x429,_0x2eed95._0x5e0707)]??_0x23a479/0x3),_0x591955=_0x823db[_0x2f44b0(_0x2eed95._0x5ee541,0xd63)]??0x6,_0x77ebc8=Cesium__namespace[_0x2f44b0(0x118d,0xcc6)]['toRadians'](_0x823db[_0x543a9c(-_0x2eed95._0x121c25,0x6dc)]??0x0),_0x2fc58c=Math['PI']/_0x591955,_0x26319c=0x2*_0x591955,_0xdf6a84=new Array(_0x26319c);function _0x2f44b0(_0x35d24f,_0x506978){return _0x54a7f1(_0x35d24f- -0x11f,_0x506978);}for(let _0x28a0b1=0x0;_0x28a0b1<_0x26319c;_0x28a0b1++){const _0x12fe43=_0x28a0b1%0x2===0x0?_0x23a479:_0x5be174,_0x2679d9=_0x77ebc8+_0x28a0b1*_0x2fc58c;_0xdf6a84[_0x28a0b1]=new Cesium__namespace['Cartesian2'](Math['cos'](_0x2679d9)*_0x12fe43,Math['sin'](_0x2679d9)*_0x12fe43);}return _0xdf6a84;}}class RectangleStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x44b4b3,_0x9b998a,_0x288823){const _0x2784f0={_0x57dae0:0x1ee,_0x5ce299:0x984,_0x23b7ef:0xf9b},_0x4970e5={_0x222904:0x1a2},_0x293f2f={_0x42f35d:0x614};function _0x1bd0b2(_0x1680b3,_0x849df6){return _0x7afdbe(_0x849df6,_0x1680b3- -_0x293f2f._0x42f35d);}function _0x563614(_0x3ee816,_0x88daf2){return _0x7afdbe(_0x88daf2,_0x3ee816- -_0x4970e5._0x222904);}return!this[_0x1bd0b2(_0x2784f0._0x57dae0,_0x2784f0._0x5ce299)]&&(this[_0x1bd0b2(_0x2784f0._0x57dae0,0x604)]=new RectangleStyleConver()),this['rectangleStyleConver'][_0x1bd0b2(0x72f,0x1fc)]=_0x288823,this[_0x563614(0x660,0x4fe)][_0x563614(0xe65,_0x2784f0._0x23b7ef)](_0x44b4b3,_0x9b998a);}[_0x7afdbe(0xf4c,0xe69)](_0xfe7c16,_0x4fc4ce){const _0x18fb09={_0x3edfae:0x66e,_0x9aa9df:0x11f,_0x41af3c:0x1241};function _0x41c4aa(_0x1851cd,_0x317f30){return _0x54a7f1(_0x1851cd-0x7,_0x317f30);}function _0x8c9e12(_0x54317b,_0x18fa5e){return _0x54a7f1(_0x18fa5e- -0x24f,_0x54317b);}super['_toCesiumValBefore'](_0xfe7c16,_0x4fc4ce),_0xfe7c16['clampToGround']?(_0xfe7c16[_0x8c9e12(0x1395,0x135c)](_0x41c4aa(_0x18fb09._0x3edfae,-_0x18fb09._0x9aa9df))&&delete _0xfe7c16['height'],_0xfe7c16['hasOwnProperty']('diffHeight')&&delete _0xfe7c16['diffHeight'],_0xfe7c16['hasOwnProperty'](_0x8c9e12(_0x18fb09._0x41af3c,0xb99))&&delete _0xfe7c16['extrudedHeight']):(_0xfe7c16[_0x8c9e12(0xdbf,0x131a)]=![],_0x4fc4ce[_0x41c4aa(0x66e,-0x1bb)]=0x0);}['_toOneCesiumVal'](_0xc8f96f,_0xac81d6,_0x47c3da,_0x4427e2){const _0x47d93e={_0x5111a6:0xc28,_0x3f42bc:0xff2,_0x94f24c:0xd8e,_0x3504f4:0x62b,_0xc88013:0x1627,_0x29649d:0x194a,_0x27fa08:0x9da,_0x4c6832:0xbdf,_0x45a603:0xbd3,_0x3638cf:0x1197,_0x19174d:0x1af9,_0x218aab:0x14c8,_0x41bfe8:0xe46,_0xc8fec6:0x18c3,_0x341f21:0xaaa,_0x397399:0x9b1,_0x3a0892:0x150f},_0x48067f={_0x54b180:0x1cb};function _0x46e904(_0x1fdf0f,_0x2213d5){return _0x54a7f1(_0x1fdf0f- -0x5a,_0x2213d5);}function _0x316fc6(_0x2b6783,_0x3e17a4){return _0x54a7f1(_0x3e17a4-_0x48067f._0x54b180,_0x2b6783);}switch(_0xc8f96f){case _0x46e904(0x60d,_0x47d93e._0x5111a6):_0x4427e2['height']=_0xac81d6;_0x47c3da[_0x46e904(_0x47d93e._0x3f42bc,0x1a5e)]&&(_0x4427e2[_0x46e904(_0x47d93e._0x94f24c,_0x47d93e._0x3504f4)]=Number(_0x47c3da[_0x46e904(_0x47d93e._0x3f42bc,0x14e4)])+Number(_0xac81d6));break;case _0x46e904(0xff2,0x823):Cesium__namespace[_0x46e904(_0x47d93e._0xc88013,_0x47d93e._0x29649d)](_0x47c3da[_0x46e904(0x60d,_0x47d93e._0x27fa08)])&&(_0x4427e2['extrudedHeight']=_0x47c3da['height']+_0xac81d6);break;case _0x316fc6(0x1da8,0x13bc):_0x4427e2['rotation']=_0xac81d6;!Cesium__namespace[_0x46e904(_0x47d93e._0xc88013,_0x47d93e._0x4c6832)](_0x47c3da['stRotation'])&&(_0x4427e2['stRotation']=_0x4427e2[_0x46e904(0x1197,_0x47d93e._0x45a603)]);break;case'rotationDegree':_0x4427e2[_0x46e904(_0x47d93e._0x3638cf,_0x47d93e._0x19174d)]=Cesium__namespace['Math'][_0x46e904(_0x47d93e._0x218aab,0x1b9d)](_0xac81d6);!Cesium__namespace[_0x46e904(0x1627,_0x47d93e._0x41bfe8)](_0x47c3da[_0x46e904(0x78c,0x10)])&&(_0x4427e2['stRotation']=_0x4427e2[_0x46e904(_0x47d93e._0x3638cf,_0x47d93e._0xc8fec6)]);break;case'stRotation':_0x4427e2[_0x316fc6(_0x47d93e._0x341f21,_0x47d93e._0x397399)]=_0xac81d6;break;case'stRotationDegree':_0x4427e2['stRotation']=Cesium__namespace['Math']['toRadians'](_0xac81d6);break;case _0x46e904(_0x47d93e._0x3a0892,0x16ea):_0xac81d6?_0x4427e2['heightReference']=Cesium__namespace[_0x316fc6(0x1029,0x1514)]['CLAMP_TO_GROUND']:_0x4427e2['heightReference']=Cesium__namespace['HeightReference']['NONE'];break;default:this['_toOneCesiumVal_Poly'](_0xc8f96f,_0xac81d6,_0x47c3da,_0x4427e2);break;}}static['toJSON'](_0x43233e,_0x300ea3,_0x123cba){const _0x2ba034={_0x345a11:0x2c4},_0x1c3bda={_0x5c7120:0x98};!this[_0x4f95e2(0x572,_0x2ba034._0x345a11)]&&(this['rectangleStyleConver']=new RectangleStyleConver());this['rectangleStyleConver']['isEntity']=_0x123cba;function _0x4f95e2(_0x39509f,_0x4f1023){return _0x54a7f1(_0x39509f- -0x62,_0x4f1023);}function _0xd907c(_0x107b36,_0x371558){return _0x7afdbe(_0x371558,_0x107b36- -_0x1c3bda._0x5c7120);}return this[_0x4f95e2(0x572,0x57)]['toJSON'](_0x43233e,_0x300ea3);}[_0x7afdbe(0xbb3,0xf21)](_0x8de8fb,_0x214e6b,_0x3e2812){this['_toOneJson_Poly'](_0x8de8fb,_0x214e6b,_0x3e2812);}}class RectangularSensorStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x5ddab1,_0x470454){!this['rectangularSensorStyleConver']&&(this['rectangularSensorStyleConver']=new RectangularSensorStyleConver());function _0x27a036(_0x2109c8,_0x254b92){return _0x54a7f1(_0x2109c8-0x275,_0x254b92);}return this[_0x27a036(0xe40,0x10fa)]['isEntity']=!![],this['rectangularSensorStyleConver']['toCesiumVal'](_0x5ddab1,_0x470454);}['_toCesiumValBefore'](_0x448de0,_0x3987ac){super['_toCesiumValBefore'](_0x448de0,_0x3987ac);}['_getExcludedStyle'](){const _0x5001e9={_0x179d9b:0x179b};function _0x59a219(_0x59ff6e,_0x247caa){return _0x7afdbe(_0x59ff6e,_0x247caa-0x14);}return['lineOpacity',_0x59a219(0x1647,_0x5001e9._0x179d9b)];}['_toOneCesiumVal'](_0x3d0918,_0x2f2664,_0x306831,_0x404cb4){const _0x2901f7={_0x828d6a:0x14f5,_0x413532:0x667,_0x5825ce:0x1241,_0x2c3593:0x138f,_0x5e9060:0x1f2,_0x271d55:0xc9c,_0x12160b:0x12a3,_0x3cb2e7:0x15cc,_0xef834c:0x29f,_0x124eef:0x425,_0x8732a2:0x12ca,_0x173c19:0xe91},_0x49c104={_0xe3add6:0x2e9};function _0x3e1253(_0x18b398,_0x433303){return _0x7afdbe(_0x433303,_0x18b398- -_0x49c104._0xe3add6);}function _0x4e346f(_0xbfcb01,_0x34561f){return _0x7afdbe(_0x34561f,_0xbfcb01- -0x66e);}switch(_0x3d0918){case'lineColor':{let _0x74c4c0=Cesium__namespace['Color'][_0x3e1253(0x1628,0x1b2f)](_0x2f2664||'#ffffff');if(Cesium__namespace[_0x3e1253(0x15c6,_0x2901f7._0x828d6a)](_0x306831['lineOpacity']))_0x74c4c0=_0x74c4c0[_0x3e1253(0x2d0,_0x2901f7._0x413532)](Number(_0x306831[_0x4e346f(0xffc,0xc56)]));else Cesium__namespace['defined'](_0x306831['opacity'])&&(_0x74c4c0=_0x74c4c0[_0x4e346f(-0xb5,-0x58c)](Number(_0x306831[_0x3e1253(0x29f,-0x157)])));Cesium__namespace[_0x4e346f(_0x2901f7._0x5825ce,_0x2901f7._0x2c3593)](_0x306831['globalAlpha'])&&_0x306831[_0x4e346f(0x425,_0x2901f7._0x5e9060)]!==0x1&&(_0x74c4c0=_0x74c4c0['withAlpha'](_0x74c4c0['alpha']*_0x306831[_0x3e1253(0x7aa,0x848)]));_0x404cb4['lineColor']=_0x74c4c0;break;}case'scanPlaneColor':{let _0x5e9d2c=Cesium__namespace[_0x4e346f(0xe44,_0x2901f7._0x271d55)][_0x4e346f(_0x2901f7._0x12160b,0xe10)](_0x2f2664||'#ffffff');if(Cesium__namespace[_0x3e1253(0x15c6,_0x2901f7._0x3cb2e7)](_0x306831['scanPlaneOpacity']))_0x5e9d2c=_0x5e9d2c[_0x4e346f(-0xb5,-0xaa5)](Number(_0x306831['scanPlaneOpacity']));else Cesium__namespace['defined'](_0x306831[_0x3e1253(_0x2901f7._0xef834c,0x9e9)])&&(_0x5e9d2c=_0x5e9d2c[_0x4e346f(-0xb5,-0x9e7)](Number(_0x306831[_0x4e346f(-0xe6,0x49a)])));Cesium__namespace['defined'](_0x306831['globalAlpha'])&&_0x306831[_0x4e346f(_0x2901f7._0x124eef,0x84b)]!==0x1&&(_0x5e9d2c=_0x5e9d2c['withAlpha'](_0x5e9d2c['alpha']*_0x306831['globalAlpha']));_0x404cb4[_0x4e346f(_0x2901f7._0x8732a2,_0x2901f7._0x173c19)]=_0x5e9d2c;break;}case'xHalfAngleDegree':_0x404cb4['xHalfAngle']=Cesium__namespace['Math']['toRadians'](_0x2f2664);break;case'yHalfAngleDegree':_0x404cb4['yHalfAngle']=Cesium__namespace['Math']['toRadians'](_0x2f2664);break;case'depthTest':_0x404cb4['showThroughEllipsoid']=!_0x2f2664;break;default:this['_toOneCesiumVal_Poly'](_0x3d0918,_0x2f2664,_0x306831,_0x404cb4);break;}}static['toJSON'](_0x45bac3,_0x30e209){const _0x3bcae6={_0xccc69c:0xc46,_0x328625:0xa9a,_0x223198:0x1082,_0x20211d:0xc8e};!this[_0x52cf02(_0x3bcae6._0xccc69c,0x142b)]&&(this[_0x52cf02(0xc46,0xe45)]=new RectangularSensorStyleConver());function _0x52cf02(_0x15170e,_0x19bbf5){return _0x54a7f1(_0x15170e-0x7b,_0x19bbf5);}this[_0x52cf02(0xc46,_0x3bcae6._0x328625)][_0x1e7ce9(_0x3bcae6._0x223198,_0x3bcae6._0x20211d)]=!![];function _0x1e7ce9(_0x2ed3d8,_0x13d6f8){return _0x7afdbe(_0x2ed3d8,_0x13d6f8- -0xb5);}return this['rectangularSensorStyleConver']['toJSON'](_0x45bac3,_0x30e209);}['_toOneJson'](_0x512b90,_0x3c914a,_0x207115){this['_toOneJson_Poly'](_0x512b90,_0x3c914a,_0x207115);}}class WallStyleConver extends BaseStyleConver{static[_0x7afdbe(0x175b,0x1007)](_0x141cec,_0x177294,_0x1b0328){const _0x4a2f4e={_0x37cd9d:0x14c9,_0x3dd010:0x16b0,_0x11b47e:0xc7b},_0x2150ee={_0xcd5956:0x15},_0xfdf54={_0xdd0719:0x49d};function _0x23609e(_0x4c6390,_0x2f38e7){return _0x7afdbe(_0x2f38e7,_0x4c6390- -_0xfdf54._0xdd0719);}!this['wallStyleConver']&&(this[_0x388af0(_0x4a2f4e._0x37cd9d,_0x4a2f4e._0x3dd010)]=new WallStyleConver());function _0x388af0(_0x1e7af2,_0x4f46a8){return _0x54a7f1(_0x1e7af2-_0x2150ee._0xcd5956,_0x4f46a8);}return this['wallStyleConver']['isEntity']=_0x1b0328,this['wallStyleConver'][_0x23609e(0xb6a,_0x4a2f4e._0x11b47e)](_0x141cec,_0x177294);}[_0x7afdbe(0x100d,0x1706)](_0x249cd2,_0x1c6926,_0xbc6b69,_0x44a415){const _0x306457={_0x297b00:0xc0c};function _0x20edc9(_0x53e61c,_0x4a7de1){return _0x7afdbe(_0x53e61c,_0x4a7de1- -0x165);}this[_0x20edc9(_0x306457._0x297b00,0x986)](_0x249cd2,_0x1c6926,_0xbc6b69,_0x44a415);}static['toJSON'](_0x2972ea,_0xa79b6d,_0x404432){const _0xdacad1={_0x2e6288:0x1f1c,_0x265644:0xb9b,_0x5d1224:0x148b};function _0x7feaf1(_0x103f48,_0x18cc40){return _0x7afdbe(_0x18cc40,_0x103f48- -0x1a8);}!this['wallStyleConver']&&(this['wallStyleConver']=new WallStyleConver());function _0x11073a(_0x1ddd8e,_0x22ded2){return _0x54a7f1(_0x22ded2- -0x29,_0x1ddd8e);}return this[_0x7feaf1(0x153a,_0xdacad1._0x2e6288)][_0x7feaf1(_0xdacad1._0x265644,0x5e2)]=_0x404432,this[_0x11073a(0xabe,_0xdacad1._0x5d1224)]['toJSON'](_0x2972ea,_0xa79b6d);}[_0x54a7f1(0xcf3,0xe39)](_0x87a946,_0x58f75f,_0x465c81){const _0x1d6087={_0x3fa41c:0x2a6};function _0x3ec862(_0x72b674,_0x57699d){return _0x54a7f1(_0x57699d-_0x1d6087._0x3fa41c,_0x72b674);}this[_0x3ec862(0xa45,0x127e)](_0x87a946,_0x58f75f,_0x465c81);}}var czm_cellular='\x0a//\x20Permutation\x20polynomial:\x20(34x^2\x20+\x20x)\x20mod\x20289\x0avec3\x20_czm_permute289(vec3\x20x)\x20{\x0a\x20\x20return\x20mod((34.0\x20*\x20x\x20+\x201.0)\x20*\x20x,\x20289.0);\x0a}\x0a\x0avec2\x20czm_cellular(vec2\x20P)\x20{\x0a\x20\x20#define\x20K\x200.142857142857\x20//\x201/7\x0a\x20\x20#define\x20Ko\x200.428571428571\x20//\x203/7\x0a\x20\x20#define\x20jitter\x201.0\x20//\x20Less\x20gives\x20more\x20regular\x20pattern\x0a\x20\x20vec2\x20Pi\x20=\x20mod(floor(P),\x20289.0);\x0a\x20\x20vec2\x20Pf\x20=\x20fract(P);\x0a\x20\x20vec3\x20oi\x20=\x20vec3(-1.0,\x200.0,\x201.0);\x0a\x20\x20vec3\x20of\x20=\x20vec3(-0.5,\x200.5,\x201.5);\x0a\x20\x20vec3\x20px\x20=\x20_czm_permute289(Pi.x\x20+\x20oi);\x0a\x20\x20vec3\x20p\x20=\x20_czm_permute289(px.x\x20+\x20Pi.y\x20+\x20oi);\x20//\x20p11,\x20p12,\x20p13\x0a\x20\x20vec3\x20ox\x20=\x20fract(p\x20*\x20K)\x20-\x20Ko;\x0a\x20\x20vec3\x20oy\x20=\x20mod(floor(p\x20*\x20K),\x207.0)\x20*\x20K\x20-\x20Ko;\x0a\x20\x20vec3\x20dx\x20=\x20Pf.x\x20+\x200.5\x20+\x20jitter\x20*\x20ox;\x0a\x20\x20vec3\x20dy\x20=\x20Pf.y\x20-\x20of\x20+\x20jitter\x20*\x20oy;\x0a\x20\x20vec3\x20d1\x20=\x20dx\x20*\x20dx\x20+\x20dy\x20*\x20dy;\x20//\x20d11,\x20d12\x20and\x20d13,\x20squared\x0a\x20\x20p\x20=\x20_czm_permute289(px.y\x20+\x20Pi.y\x20+\x20oi);\x20//\x20p21,\x20p22,\x20p23\x0a\x20\x20ox\x20=\x20fract(p\x20*\x20K)\x20-\x20Ko;\x0a\x20\x20oy\x20=\x20mod(floor(p\x20*\x20K),\x207.0)\x20*\x20K\x20-\x20Ko;\x0a\x20\x20dx\x20=\x20Pf.x\x20-\x200.5\x20+\x20jitter\x20*\x20ox;\x0a\x20\x20dy\x20=\x20Pf.y\x20-\x20of\x20+\x20jitter\x20*\x20oy;\x0a\x20\x20vec3\x20d2\x20=\x20dx\x20*\x20dx\x20+\x20dy\x20*\x20dy;\x20//\x20d21,\x20d22\x20and\x20d23,\x20squared\x0a\x20\x20p\x20=\x20_czm_permute289(px.z\x20+\x20Pi.y\x20+\x20oi);\x20//\x20p31,\x20p32,\x20p33\x0a\x20\x20ox\x20=\x20fract(p\x20*\x20K)\x20-\x20Ko;\x0a\x20\x20oy\x20=\x20mod(floor(p\x20*\x20K),\x207.0)\x20*\x20K\x20-\x20Ko;\x0a\x20\x20dx\x20=\x20Pf.x\x20-\x201.5\x20+\x20jitter\x20*\x20ox;\x0a\x20\x20dy\x20=\x20Pf.y\x20-\x20of\x20+\x20jitter\x20*\x20oy;\x0a\x20\x20vec3\x20d3\x20=\x20dx\x20*\x20dx\x20+\x20dy\x20*\x20dy;\x20//\x20d31,\x20d32\x20and\x20d33,\x20squared\x0a\x20\x20\x20\x20//\x20Sort\x20out\x20the\x20two\x20smallest\x20distances\x20(F1,\x20F2)\x0a\x20\x20vec3\x20d1a\x20=\x20min(d1,\x20d2);\x0a\x20\x20d2\x20=\x20max(d1,\x20d2);\x20//\x20Swap\x20to\x20keep\x20candidates\x20for\x20F2\x0a\x20\x20d2\x20=\x20min(d2,\x20d3);\x20//\x20neither\x20F1\x20nor\x20F2\x20are\x20now\x20in\x20d3\x0a\x20\x20d1\x20=\x20min(d1a,\x20d2);\x20//\x20F1\x20is\x20now\x20in\x20d1\x0a\x20\x20d2\x20=\x20max(d1a,\x20d2);\x20//\x20Swap\x20to\x20keep\x20candidates\x20for\x20F2\x0a\x20\x20d1.xy\x20=\x20(d1.x\x20<\x20d1.y)\x20?\x20d1.xy\x20:\x20d1.yx;\x20//\x20Swap\x20if\x20smaller\x0a\x20\x20d1.xz\x20=\x20(d1.x\x20<\x20d1.z)\x20?\x20d1.xz\x20:\x20d1.zx;\x20//\x20F1\x20is\x20in\x20d1.x\x0a\x20\x20d1.yz\x20=\x20min(d1.yz,\x20d2.yz);\x20//\x20F2\x20is\x20now\x20not\x20in\x20d2.yz\x0a\x20\x20d1.y\x20=\x20min(d1.y,\x20d1.z);\x20//\x20nor\x20in\x20\x20d1.z\x0a\x20\x20d1.y\x20=\x20min(d1.y,\x20d2.x);\x20//\x20F2\x20is\x20in\x20d1.y,\x20we\x27re\x20done.\x0a\x20\x20return\x20sqrt(d1.xy);\x0a}\x0a',czm_snoise='/**\x0a\x20*\x20@license\x0a\x20*\x20Description\x20:\x20Array\x20and\x20textureless\x20GLSL\x202D/3D/4D\x20simplex\x0a\x20*\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20noise\x20functions.\x0a\x20*\x20\x20\x20\x20\x20\x20Author\x20:\x20Ian\x20McEwan,\x20Ashima\x20Arts.\x0a\x20*\x20\x20Maintainer\x20:\x20ijm\x0a\x20*\x20\x20\x20\x20\x20Lastmod\x20:\x2020110822\x20(ijm)\x0a\x20*\x20\x20\x20\x20\x20License\x20:\x20Copyright\x20(C)\x202011\x20Ashima\x20Arts.\x20All\x20rights\x20reserved.\x0a\x20*\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Distributed\x20under\x20the\x20MIT\x20License.\x20See\x20LICENSE\x20file.\x0a\x20*\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20https://github.com/ashima/webgl-noise\x0a\x20*/\x0a\x0avec4\x20_czm_mod289(vec4\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0avec3\x20_czm_mod289(vec3\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0avec2\x20_czm_mod289(vec2\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0afloat\x20_czm_mod289(float\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0avec4\x20_czm_permute(vec4\x20x)\x20{\x0a\x20\x20return\x20_czm_mod289(((x\x20*\x2034.0)\x20+\x201.0)\x20*\x20x);\x0a}\x0a\x0avec3\x20_czm_permute(vec3\x20x)\x20{\x0a\x20\x20return\x20_czm_mod289(((x\x20*\x2034.0)\x20+\x201.0)\x20*\x20x);\x0a}\x0a\x0afloat\x20_czm_permute(float\x20x)\x20{\x0a\x20\x20return\x20_czm_mod289(((x\x20*\x2034.0)\x20+\x201.0)\x20*\x20x);\x0a}\x0a\x0avec4\x20_czm_taylorInvSqrt(vec4\x20r)\x20{\x0a\x20\x20return\x201.79284291400159\x20-\x200.85373472095314\x20*\x20r;\x0a}\x0a\x0afloat\x20_czm_taylorInvSqrt(float\x20r)\x20{\x0a\x20\x20return\x201.79284291400159\x20-\x200.85373472095314\x20*\x20r;\x0a}\x0a\x0avec4\x20_czm_grad4(float\x20j,\x20vec4\x20ip)\x20{\x0a\x20\x20const\x20vec4\x20ones\x20=\x20vec4(1.0,\x201.0,\x201.0,\x20-1.0);\x0a\x20\x20vec4\x20p,\x20s;\x0a\x0a\x20\x20p.xyz\x20=\x20floor(fract(vec3(j)\x20*\x20ip.xyz)\x20*\x207.0)\x20*\x20ip.z\x20-\x201.0;\x0a\x20\x20p.w\x20=\x201.5\x20-\x20dot(abs(p.xyz),\x20ones.xyz);\x0a\x20\x20s\x20=\x20vec4(lessThan(p,\x20vec4(0.0)));\x0a\x20\x20p.xyz\x20=\x20p.xyz\x20+\x20(s.xyz\x20*\x202.0\x20-\x201.0)\x20*\x20s.www;\x0a\x0a\x20\x20return\x20p;\x0a}\x0a\x0a/**\x0a\x20*\x20DOC_TBA\x0a\x20*\x0a\x20*\x20Implemented\x20by\x20Ian\x20McEwan,\x20Ashima\x20Arts,\x20and\x20distributed\x20under\x20the\x20MIT\x20License.\x20\x20{@link\x20https://github.com/ashima/webgl-noise}\x0a\x20*\x0a\x20*\x20@name\x20czm_snoise\x0a\x20*\x20@glslFunction\x0a\x20*\x0a\x20*\x20@see\x20<a\x20href=\x22https://github.com/ashima/webgl-noise\x22>https://github.com/ashima/webgl-noise</a>\x0a\x20*\x20@see\x20Stefan\x20Gustavson\x27s\x20paper\x20<a\x20href=\x22http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf\x22>Simplex\x20noise\x20demystified</a>\x0a\x20*/\x0afloat\x20czm_snoise(vec2\x20v)\x20{\x0a\x20\x20const\x20vec4\x20C\x20=\x20vec4(0.211324865405187,\x20\x20//\x20(3.0-sqrt(3.0))/6.0\x0a\x20\x200.366025403784439,\x20\x20//\x200.5*(sqrt(3.0)-1.0)\x0a\x20\x20-0.577350269189626,\x20\x20//\x20-1.0\x20+\x202.0\x20*\x20C.x\x0a\x20\x200.024390243902439);\x20//\x201.0\x20/\x2041.0\x0a\x20\x20\x20\x20//\x20First\x20corner\x0a\x20\x20vec2\x20i\x20=\x20floor(v\x20+\x20dot(v,\x20C.yy));\x0a\x20\x20vec2\x20x0\x20=\x20v\x20-\x20i\x20+\x20dot(i,\x20C.xx);\x0a\x0a\x20\x20\x20\x20//\x20Other\x20corners\x0a\x20\x20vec2\x20i1;\x0a\x20\x20\x20\x20//i1.x\x20=\x20step(\x20x0.y,\x20x0.x\x20);\x20//\x20x0.x\x20>\x20x0.y\x20?\x201.0\x20:\x200.0\x0a\x20\x20\x20\x20//i1.y\x20=\x201.0\x20-\x20i1.x;\x0a\x20\x20i1\x20=\x20(x0.x\x20>\x20x0.y)\x20?\x20vec2(1.0,\x200.0)\x20:\x20vec2(0.0,\x201.0);\x0a\x20\x20\x20\x20//\x20x0\x20=\x20x0\x20-\x200.0\x20+\x200.0\x20*\x20C.xx\x20;\x0a\x20\x20\x20\x20//\x20x1\x20=\x20x0\x20-\x20i1\x20+\x201.0\x20*\x20C.xx\x20;\x0a\x20\x20\x20\x20//\x20x2\x20=\x20x0\x20-\x201.0\x20+\x202.0\x20*\x20C.xx\x20;\x0a\x20\x20vec4\x20x12\x20=\x20x0.xyxy\x20+\x20C.xxzz;\x0a\x20\x20x12.xy\x20-=\x20i1;\x0a\x0a\x20\x20\x20\x20//\x20Permutations\x0a\x20\x20i\x20=\x20_czm_mod289(i);\x20//\x20Avoid\x20truncation\x20effects\x20in\x20permutation\x0a\x20\x20vec3\x20p\x20=\x20_czm_permute(_czm_permute(i.y\x20+\x20vec3(0.0,\x20i1.y,\x201.0))\x20+\x20i.x\x20+\x20vec3(0.0,\x20i1.x,\x201.0));\x0a\x0a\x20\x20vec3\x20m\x20=\x20max(0.5\x20-\x20vec3(dot(x0,\x20x0),\x20dot(x12.xy,\x20x12.xy),\x20dot(x12.zw,\x20x12.zw)),\x200.0);\x0a\x20\x20m\x20=\x20m\x20*\x20m;\x0a\x20\x20m\x20=\x20m\x20*\x20m;\x0a\x0a\x20\x20\x20\x20//\x20Gradients:\x2041\x20points\x20uniformly\x20over\x20a\x20line,\x20mapped\x20onto\x20a\x20diamond.\x0a\x20\x20\x20\x20//\x20The\x20ring\x20size\x2017*17\x20=\x20289\x20is\x20close\x20to\x20a\x20multiple\x20of\x2041\x20(41*7\x20=\x20287)\x0a\x20\x20vec3\x20x\x20=\x202.0\x20*\x20fract(p\x20*\x20C.www)\x20-\x201.0;\x0a\x20\x20vec3\x20h\x20=\x20abs(x)\x20-\x200.5;\x0a\x20\x20vec3\x20ox\x20=\x20floor(x\x20+\x200.5);\x0a\x20\x20vec3\x20a0\x20=\x20x\x20-\x20ox;\x0a\x0a\x20\x20\x20\x20//\x20Normalise\x20gradients\x20implicitly\x20by\x20scaling\x20m\x0a\x20\x20\x20\x20//\x20Approximation\x20of:\x20m\x20*=\x20inversesqrt(\x20a0*a0\x20+\x20h*h\x20);\x0a\x20\x20m\x20*=\x201.79284291400159\x20-\x200.85373472095314\x20*\x20(a0\x20*\x20a0\x20+\x20h\x20*\x20h);\x0a\x0a\x20\x20\x20\x20//\x20Compute\x20final\x20noise\x20value\x20at\x20P\x0a\x20\x20vec3\x20g;\x0a\x20\x20g.x\x20=\x20a0.x\x20*\x20x0.x\x20+\x20h.x\x20*\x20x0.y;\x0a\x20\x20g.yz\x20=\x20a0.yz\x20*\x20x12.xz\x20+\x20h.yz\x20*\x20x12.yw;\x0a\x20\x20return\x20130.0\x20*\x20dot(m,\x20g);\x0a}\x0a\x0afloat\x20czm_snoise(vec3\x20v)\x20{\x0a\x20\x20const\x20vec2\x20C\x20=\x20vec2(1.0\x20/\x206.0,\x201.0\x20/\x203.0);\x0a\x20\x20const\x20vec4\x20D\x20=\x20vec4(0.0,\x200.5,\x201.0,\x202.0);\x0a\x0a\x20\x20\x20\x20//\x20First\x20corner\x0a\x20\x20vec3\x20i\x20=\x20floor(v\x20+\x20dot(v,\x20C.yyy));\x0a\x20\x20vec3\x20x0\x20=\x20v\x20-\x20i\x20+\x20dot(i,\x20C.xxx);\x0a\x0a\x20\x20\x20\x20//\x20Other\x20corners\x0a\x20\x20vec3\x20g\x20=\x20step(x0.yzx,\x20x0.xyz);\x0a\x20\x20vec3\x20l\x20=\x201.0\x20-\x20g;\x0a\x20\x20vec3\x20i1\x20=\x20min(g.xyz,\x20l.zxy);\x0a\x20\x20vec3\x20i2\x20=\x20max(g.xyz,\x20l.zxy);\x0a\x0a\x20\x20vec3\x20x1\x20=\x20x0\x20-\x20i1\x20+\x20C.xxx;\x0a\x20\x20vec3\x20x2\x20=\x20x0\x20-\x20i2\x20+\x20C.yyy;\x20//\x202.0*C.x\x20=\x201/3\x20=\x20C.y\x0a\x20\x20vec3\x20x3\x20=\x20x0\x20-\x20D.yyy;\x20\x20\x20\x20\x20\x20//\x20-1.0+3.0*C.x\x20=\x20-0.5\x20=\x20-D.y\x0a\x0a\x20\x20\x20\x20//\x20Permutations\x0a\x20\x20i\x20=\x20_czm_mod289(i);\x0a\x20\x20vec4\x20p\x20=\x20_czm_permute(_czm_permute(_czm_permute(i.z\x20+\x20vec4(0.0,\x20i1.z,\x20i2.z,\x201.0))\x20+\x20i.y\x20+\x20vec4(0.0,\x20i1.y,\x20i2.y,\x201.0))\x20+\x20i.x\x20+\x20vec4(0.0,\x20i1.x,\x20i2.x,\x201.0));\x0a\x0a\x20\x20\x20\x20//\x20Gradients:\x207x7\x20points\x20over\x20a\x20square,\x20mapped\x20onto\x20an\x20octahedron.\x0a\x20\x20\x20\x20//\x20The\x20ring\x20size\x2017*17\x20=\x20289\x20is\x20close\x20to\x20a\x20multiple\x20of\x2049\x20(49*6\x20=\x20294)\x0a\x20\x20float\x20n_\x20=\x200.142857142857;\x20//\x201.0/7.0\x0a\x20\x20vec3\x20ns\x20=\x20n_\x20*\x20D.wyz\x20-\x20D.xzx;\x0a\x0a\x20\x20vec4\x20j\x20=\x20p\x20-\x2049.0\x20*\x20floor(p\x20*\x20ns.z\x20*\x20ns.z);\x20\x20//\x20\x20mod(p,7*7)\x0a\x0a\x20\x20vec4\x20x_\x20=\x20floor(j\x20*\x20ns.z);\x0a\x20\x20vec4\x20y_\x20=\x20floor(j\x20-\x207.0\x20*\x20x_);\x20\x20\x20\x20//\x20mod(j,N)\x0a\x0a\x20\x20vec4\x20x\x20=\x20x_\x20*\x20ns.x\x20+\x20ns.yyyy;\x0a\x20\x20vec4\x20y\x20=\x20y_\x20*\x20ns.x\x20+\x20ns.yyyy;\x0a\x20\x20vec4\x20h\x20=\x201.0\x20-\x20abs(x)\x20-\x20abs(y);\x0a\x0a\x20\x20vec4\x20b0\x20=\x20vec4(x.xy,\x20y.xy);\x0a\x20\x20vec4\x20b1\x20=\x20vec4(x.zw,\x20y.zw);\x0a\x0a\x20\x20\x20\x20//vec4\x20s0\x20=\x20vec4(lessThan(b0,0.0))*2.0\x20-\x201.0;\x0a\x20\x20\x20\x20//vec4\x20s1\x20=\x20vec4(lessThan(b1,0.0))*2.0\x20-\x201.0;\x0a\x20\x20vec4\x20s0\x20=\x20floor(b0)\x20*\x202.0\x20+\x201.0;\x0a\x20\x20vec4\x20s1\x20=\x20floor(b1)\x20*\x202.0\x20+\x201.0;\x0a\x20\x20vec4\x20sh\x20=\x20-step(h,\x20vec4(0.0));\x0a\x0a\x20\x20vec4\x20a0\x20=\x20b0.xzyw\x20+\x20s0.xzyw\x20*\x20sh.xxyy;\x0a\x20\x20vec4\x20a1\x20=\x20b1.xzyw\x20+\x20s1.xzyw\x20*\x20sh.zzww;\x0a\x0a\x20\x20vec3\x20p0\x20=\x20vec3(a0.xy,\x20h.x);\x0a\x20\x20vec3\x20p1\x20=\x20vec3(a0.zw,\x20h.y);\x0a\x20\x20vec3\x20p2\x20=\x20vec3(a1.xy,\x20h.z);\x0a\x20\x20vec3\x20p3\x20=\x20vec3(a1.zw,\x20h.w);\x0a\x0a\x20\x20\x20\x20//Normalise\x20gradients\x0a\x20\x20vec4\x20norm\x20=\x20_czm_taylorInvSqrt(vec4(dot(p0,\x20p0),\x20dot(p1,\x20p1),\x20dot(p2,\x20p2),\x20dot(p3,\x20p3)));\x0a\x20\x20p0\x20*=\x20norm.x;\x0a\x20\x20p1\x20*=\x20norm.y;\x0a\x20\x20p2\x20*=\x20norm.z;\x0a\x20\x20p3\x20*=\x20norm.w;\x0a\x0a\x20\x20\x20\x20//\x20Mix\x20final\x20noise\x20value\x0a\x20\x20vec4\x20m\x20=\x20max(0.6\x20-\x20vec4(dot(x0,\x20x0),\x20dot(x1,\x20x1),\x20dot(x2,\x20x2),\x20dot(x3,\x20x3)),\x200.0);\x0a\x20\x20m\x20=\x20m\x20*\x20m;\x0a\x20\x20return\x2042.0\x20*\x20dot(m\x20*\x20m,\x20vec4(dot(p0,\x20x0),\x20dot(p1,\x20x1),\x20dot(p2,\x20x2),\x20dot(p3,\x20x3)));\x0a}\x0a\x0afloat\x20czm_snoise(vec4\x20v)\x20{\x0a\x20\x20const\x20vec4\x20C\x20=\x20vec4(0.138196601125011,\x20\x20//\x20(5\x20-\x20sqrt(5))/20\x20\x20G4\x0a\x20\x200.276393202250021,\x20\x20//\x202\x20*\x20G4\x0a\x20\x200.414589803375032,\x20\x20//\x203\x20*\x20G4\x0a\x20\x20-0.447213595499958);\x20//\x20-1\x20+\x204\x20*\x20G4\x0a\x0a\x20\x20\x20\x20//\x20(sqrt(5)\x20-\x201)/4\x20=\x20F4,\x20used\x20once\x20below\x0a\x20\x20\x20\x20#define\x20F4\x200.309016994374947451\x0a\x0a\x20\x20\x20\x20//\x20First\x20corner\x0a\x20\x20vec4\x20i\x20=\x20floor(v\x20+\x20dot(v,\x20vec4(F4)));\x0a\x20\x20vec4\x20x0\x20=\x20v\x20-\x20i\x20+\x20dot(i,\x20C.xxxx);\x0a\x0a\x20\x20\x20\x20//\x20Other\x20corners\x0a\x0a\x20\x20\x20\x20//\x20Rank\x20sorting\x20originally\x20contributed\x20by\x20Bill\x20Licea-Kane,\x20AMD\x20(formerly\x20ATI)\x0a\x20\x20vec4\x20i0;\x0a\x20\x20vec3\x20isX\x20=\x20step(x0.yzw,\x20x0.xxx);\x0a\x20\x20vec3\x20isYZ\x20=\x20step(x0.zww,\x20x0.yyz);\x0a\x20\x20\x20\x20//\x20\x20i0.x\x20=\x20dot(\x20isX,\x20vec3(\x201.0\x20)\x20);\x0a\x20\x20i0.x\x20=\x20isX.x\x20+\x20isX.y\x20+\x20isX.z;\x0a\x20\x20i0.yzw\x20=\x201.0\x20-\x20isX;\x0a\x20\x20\x20\x20//\x20\x20i0.y\x20+=\x20dot(\x20isYZ.xy,\x20vec2(\x201.0\x20)\x20);\x0a\x20\x20i0.y\x20+=\x20isYZ.x\x20+\x20isYZ.y;\x0a\x20\x20i0.zw\x20+=\x201.0\x20-\x20isYZ.xy;\x0a\x20\x20i0.z\x20+=\x20isYZ.z;\x0a\x20\x20i0.w\x20+=\x201.0\x20-\x20isYZ.z;\x0a\x0a\x20\x20\x20\x20//\x20i0\x20now\x20contains\x20the\x20unique\x20values\x200,1,2,3\x20in\x20each\x20channel\x0a\x20\x20vec4\x20i3\x20=\x20clamp(i0,\x200.0,\x201.0);\x0a\x20\x20vec4\x20i2\x20=\x20clamp(i0\x20-\x201.0,\x200.0,\x201.0);\x0a\x20\x20vec4\x20i1\x20=\x20clamp(i0\x20-\x202.0,\x200.0,\x201.0);\x0a\x0a\x20\x20\x20\x20//\x20\x20x0\x20=\x20x0\x20-\x200.0\x20+\x200.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x1\x20=\x20x0\x20-\x20i1\x20\x20+\x201.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x2\x20=\x20x0\x20-\x20i2\x20\x20+\x202.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x3\x20=\x20x0\x20-\x20i3\x20\x20+\x203.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x4\x20=\x20x0\x20-\x201.0\x20+\x204.0\x20*\x20C.xxxx\x0a\x20\x20vec4\x20x1\x20=\x20x0\x20-\x20i1\x20+\x20C.xxxx;\x0a\x20\x20vec4\x20x2\x20=\x20x0\x20-\x20i2\x20+\x20C.yyyy;\x0a\x20\x20vec4\x20x3\x20=\x20x0\x20-\x20i3\x20+\x20C.zzzz;\x0a\x20\x20vec4\x20x4\x20=\x20x0\x20+\x20C.wwww;\x0a\x0a\x20\x20\x20\x20//\x20Permutations\x0a\x20\x20i\x20=\x20_czm_mod289(i);\x0a\x20\x20float\x20j0\x20=\x20_czm_permute(_czm_permute(_czm_permute(_czm_permute(i.w)\x20+\x20i.z)\x20+\x20i.y)\x20+\x20i.x);\x0a\x20\x20vec4\x20j1\x20=\x20_czm_permute(_czm_permute(_czm_permute(_czm_permute(i.w\x20+\x20vec4(i1.w,\x20i2.w,\x20i3.w,\x201.0))\x20+\x20i.z\x20+\x20vec4(i1.z,\x20i2.z,\x20i3.z,\x201.0))\x20+\x20i.y\x20+\x20vec4(i1.y,\x20i2.y,\x20i3.y,\x201.0))\x20+\x20i.x\x20+\x20vec4(i1.x,\x20i2.x,\x20i3.x,\x201.0));\x0a\x0a\x20\x20\x20\x20//\x20Gradients:\x207x7x6\x20points\x20over\x20a\x20cube,\x20mapped\x20onto\x20a\x204-cross\x20polytope\x0a\x20\x20\x20\x20//\x207*7*6\x20=\x20294,\x20which\x20is\x20close\x20to\x20the\x20ring\x20size\x2017*17\x20=\x20289.\x0a\x20\x20vec4\x20ip\x20=\x20vec4(1.0\x20/\x20294.0,\x201.0\x20/\x2049.0,\x201.0\x20/\x207.0,\x200.0);\x0a\x0a\x20\x20vec4\x20p0\x20=\x20_czm_grad4(j0,\x20ip);\x0a\x20\x20vec4\x20p1\x20=\x20_czm_grad4(j1.x,\x20ip);\x0a\x20\x20vec4\x20p2\x20=\x20_czm_grad4(j1.y,\x20ip);\x0a\x20\x20vec4\x20p3\x20=\x20_czm_grad4(j1.z,\x20ip);\x0a\x20\x20vec4\x20p4\x20=\x20_czm_grad4(j1.w,\x20ip);\x0a\x0a\x20\x20\x20\x20//\x20Normalise\x20gradients\x0a\x20\x20vec4\x20norm\x20=\x20_czm_taylorInvSqrt(vec4(dot(p0,\x20p0),\x20dot(p1,\x20p1),\x20dot(p2,\x20p2),\x20dot(p3,\x20p3)));\x0a\x20\x20p0\x20*=\x20norm.x;\x0a\x20\x20p1\x20*=\x20norm.y;\x0a\x20\x20p2\x20*=\x20norm.z;\x0a\x20\x20p3\x20*=\x20norm.w;\x0a\x20\x20p4\x20*=\x20_czm_taylorInvSqrt(dot(p4,\x20p4));\x0a\x0a\x20\x20\x20\x20//\x20Mix\x20contributions\x20from\x20the\x20five\x20corners\x0a\x20\x20vec3\x20m0\x20=\x20max(0.6\x20-\x20vec3(dot(x0,\x20x0),\x20dot(x1,\x20x1),\x20dot(x2,\x20x2)),\x200.0);\x0a\x20\x20vec2\x20m1\x20=\x20max(0.6\x20-\x20vec2(dot(x3,\x20x3),\x20dot(x4,\x20x4)),\x200.0);\x0a\x20\x20m0\x20=\x20m0\x20*\x20m0;\x0a\x20\x20m1\x20=\x20m1\x20*\x20m1;\x0a\x20\x20return\x2049.0\x20*\x20(dot(m0\x20*\x20m0,\x20vec3(dot(p0,\x20x0),\x20dot(p1,\x20x1),\x20dot(p2,\x20x2)))\x20+\x20dot(m1\x20*\x20m1,\x20vec2(dot(p3,\x20x3),\x20dot(p4,\x20x4))));\x0a}\x0a',LineDotDashMaterial=_0x54a7f1(0x1414,0x104a),LineFlowMaterial='uniform\x20float\x20globalAlpha;\x0auniform\x20bool\x20axisY;\x0auniform\x20bool\x20mixt;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20repeat\x20*\x20materialInput.st;\x0a\x0a\x20\x20vec4\x20imageMars3D;\x0a\x20\x20if(speed\x20!=\x200.0)\x20{\x0a\x20\x20\x20\x20float\x20currTime;\x0a\x20\x20\x20\x20if(time\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20currTime\x20=\x20speed\x20*\x20czm_frameNumber\x20/\x201000.0;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20currTime\x20=\x20time;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract((axisY\x20?\x20st.t\x20:\x20st.s)\x20-\x20currTime),\x20st.t));\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20st);\x0a\x20\x20}\x0a\x0a\x20\x20if(color.a\x20==\x200.0)\x20{\x0a\x20\x20\x20\x20if(imageMars3D.rgb\x20==\x20vec3(1.0))\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20if(hasImage2)\x20{\x0a\x20\x20\x20//存在背景图片\x0a\x20\x20\x20\x20vec4\x20imageBG\x20=\x20texture(image2,\x20st);\x0a\x20\x20\x20\x20if(imageBG.a\x20!=\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20if(color2.rgb\x20==\x20vec3(1.0))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20imageBG.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20imageBG.rgb;\x0a\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20imageBG.a\x20*\x20color2.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(mixt)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20max(imageBG.rgb\x20*\x20color2.rgb\x20*\x20material.alpha\x20*\x203.0,\x20imageBG.rgb\x20*\x20color2.rgb);\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color2.rgb;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//主图片\x0a\x20\x20if(color.rgb\x20==\x20vec3(1.0))\x20{\x0a\x20\x20\x20\x20material.alpha\x20=\x20imageMars3D.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20material.diffuse\x20=\x20imageMars3D.rgb;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.alpha\x20=\x20imageMars3D.a\x20*\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20if(mixt)\x0a\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20max(imageMars3D.rgb\x20*\x20color.rgb\x20*\x20material.alpha\x20*\x203.0,\x20imageMars3D.rgb\x20*\x20color.rgb);\x0a\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20}\x0a\x0a\x20\x20if(bgColor.a\x20>\x200.0\x20&&\x20material.alpha\x20==\x200.0)\x20{\x0a\x20\x20\x20\x20material.alpha\x20=\x20bgColor.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20material.diffuse\x20=\x20bgColor.rgb;\x0a\x20\x20}\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',LineFlowColorMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20startTime;\x0auniform\x20float\x20percent;\x0auniform\x20float\x20alpha;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20t\x20=\x20fract(startTime\x20+\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x20\x20t\x20*=\x20(1.0\x20+\x20percent);\x0a\x20\x20float\x20alphaMars3D\x20=\x20smoothstep(t\x20-\x20percent,\x20t,\x20st.s)\x20*\x20step(-t,\x20-st.s);\x0a\x20\x20alphaMars3D\x20+=\x20alpha;\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20alphaMars3D\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',ODLineMaterial='uniform\x20vec4\x20color;\x0auniform\x20vec4\x20bgColor;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20startTime;\x0auniform\x20float\x20bidirectional;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20t\x20=\x20fract(startTime\x20+\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x0a\x20\x20t\x20*=\x201.03;\x0a\x20\x20float\x20alpha0\x20=\x20smoothstep(t\x20-\x200.03,\x20t,\x20st.s)\x20*\x20step(st.s,\x20t);\x0a\x20\x20float\x20mt\x20=\x201.\x20-\x20t;\x0a\x20\x20float\x20alphaMars3D\x20=\x20smoothstep(mt\x20+\x200.03,\x20mt,\x20st.s)\x20*\x20step(mt,\x20st.s);\x0a\x0a\x20\x20float\x20a0\x20=\x20step(abs(bidirectional\x20-\x200.0)\x20-\x200.001,\x200.);\x0a\x20\x20float\x20a1\x20=\x20step(abs(bidirectional\x20-\x201.0)\x20-\x200.001,\x200.);\x0a\x20\x20float\x20db\x20=\x20step(abs(bidirectional\x20-\x202.0)\x20-\x200.001,\x200.);\x0a\x20\x20float\x20alpha\x20=\x20alpha0\x20*\x20(a0\x20+\x20db)\x20+\x20alphaMars3D\x20*\x20(a1\x20+\x20db);\x0a\x20\x20alpha\x20=\x20clamp(alpha,\x200.,\x201.);\x0a\x0a\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x20alpha\x20+\x20bgColor.rgb\x20*\x20(1.\x20-\x20alpha);\x0a\x20\x20material.alpha\x20=\x20(color.a\x20*\x20alpha\x20+\x20bgColor.a\x20*\x20(1.\x20-\x20alpha))\x20*\x20globalAlpha;\x0a\x0a\x20\x20\x20\x20//\x20if\x20(useImageAndRepeat.x\x20!=\x200.)\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20float\x20repeat\x20=\x20useImageAndRepeat.y;\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20vec4\x20marsImageColor\x20=\x20texture(image,\x20fract(vec2(fract((st.s-t)*repeat),\x20st.t)));\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20material.diffuse\x20=\x20marsImageColor.rgb;\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20material.alpha\x20=\x20marsImageColor.a;\x0a\x20\x20\x20\x20//\x20}\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',LineFlickerMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20float\x20time\x20=\x20fract(czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20scalarMars3D\x20=\x20smoothstep(0.0,\x201.0,\x20time);\x0a\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x20scalarMars3D;\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x20scalarMars3D\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',LineTrailMaterial=_0x7afdbe(-0x2ed,0x473),LineBloomMaterial=_0x7afdbe(0x1294,0xf57),DigitalFlowMaterial='uniform\x20float\x20globalAlpha;\x0a\x0afloat\x20plot(float\x20st,\x20float\x20pct)\x20{\x0a\x20\x20return\x20smoothstep(pct,\x20pct,\x20st)\x20-\x20smoothstep(pct,\x20pct\x20+\x200.5,\x20st);\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20time2\x20=\x20czm_frameNumber\x20/\x20speed;\x0a\x20\x20vec4\x20colorImage\x20=\x20texture(image,\x20vec2(fract(st.s),\x20fract(float(st.t\x20*\x20segment)\x20-\x20time2)));\x0a\x20\x20float\x20percent\x20=\x20distance(st.y,\x20.5)\x20/\x200.9;\x0a\x20\x20float\x20distance\x20=\x20length(vec2(st.x,\x20st.y));\x0a\x20\x20float\x20pfMars3D\x20=\x20plot(distance,\x20fract(czm_frameNumber\x20/\x20200.0)\x20*\x2010.);\x0a\x20\x20vec4\x20gradient\x20=\x20mix(vec4(1.0,\x201.0,\x201.0,\x201.0),\x20vec4(pfMars3D,\x20pfMars3D,\x20pfMars3D,\x201.0),\x200.8);\x0a\x20\x20float\x20alpha\x20=\x20(colorImage.a\x20*\x20(1.0\x20-\x20percent));\x0a\x20\x20vec3\x20diffuse\x20=\x20max(color.rgb\x20*\x20alpha\x20*\x20glow,\x20color.rgb);\x0a\x0a\x20\x20if(flowGlow\x20==\x201.0)\x20{\x0a\x20\x20\x20\x20vec4\x20rgba\x20=\x20mix(vec4(diffuse,\x20alpha),\x20gradient,\x20pfMars3D);\x0a\x20\x20\x20\x20material.diffuse\x20=\x20rgba.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20rgba.a\x20*\x20globalAlpha;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20diffuse;\x0a\x20\x20\x20\x20material.alpha\x20=\x20alpha\x20*\x20globalAlpha;\x0a\x20\x20}\x0a\x20\x20return\x20material;\x0a}\x0a',LineThreeDashMaterial=_0x7afdbe(0x16bb,0x191b),LineCrossMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20dashLength;\x0auniform\x20float\x20dashPower;\x0auniform\x20float\x20centerPower;\x0auniform\x20float\x20dashPattern;\x0auniform\x20float\x20maskLength;\x0auniform\x20float\x20globalAlpha;\x0a\x0ain\x20float\x20v_polylineAngle;\x0a\x0amat2\x20rotateMars3D(float\x20rad)\x20{\x0a\x20\x20float\x20c\x20=\x20cos(rad);\x0a\x20\x20float\x20s\x20=\x20sin(rad);\x0a\x20\x20return\x20mat2(c,\x20s,\x20-s,\x20c);\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20vec2\x20pos\x20=\x20rotateMars3D(v_polylineAngle)\x20*\x20gl_FragCoord.xy;\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x0a\x20\x20float\x20centerGlowMars3D\x20=\x20dashPower\x20/\x20abs(st.t\x20-\x200.5)\x20-\x20(dashPower\x20/\x200.5)\x20-\x201.0;\x0a\x20\x20float\x20dashPositionMars3D\x20=\x20fract(pos.x\x20/\x20(dashLength\x20*\x20czm_pixelRatio));\x0a\x20\x20dashPositionMars3D\x20=\x20abs((dashPositionMars3D\x20-\x200.5)\x20*\x202.0);\x0a\x0a\x20\x20//\x20绘制虚线\x0a\x20\x20if(centerGlowMars3D\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20float\x20maskIndex\x20=\x20floor(dashPositionMars3D\x20*\x20maskLength);\x0a\x20\x20\x20\x20float\x20maskTest\x20=\x20floor(dashPattern\x20/\x20pow(2.0,\x20maskIndex));\x0a\x20\x20\x20\x20if((mod(maskTest,\x202.0)\x20<\x201.0))\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20material.emission\x20=\x20color.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20绘制中心线\x0a\x20\x20if(dashPositionMars3D\x20<\x20centerPower)\x20{\x0a\x20\x20\x20\x20material.emission\x20=\x20color.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a\x20\x20discard;\x0a}\x0a',LineDashArrowMaterial='uniform\x20vec4\x20color;\x0auniform\x20vec4\x20gapColor;\x0auniform\x20float\x20dashLength;\x0auniform\x20float\x20dashPattern;\x0ain\x20float\x20v_polylineAngle;\x0auniform\x20float\x20globalAlpha;\x0a\x0aconst\x20float\x20maskLength\x20=\x2016.0;\x0a\x0a//虚线用\x0amat2\x20rotate(float\x20rad)\x20{\x0a\x20\x20float\x20c\x20=\x20cos(rad);\x0a\x20\x20float\x20s\x20=\x20sin(rad);\x0a\x20\x20return\x20mat2(c,\x20s,\x20-s,\x20c);\x0a}\x0a\x0a//箭头用\x0afloat\x20getPointOnLine(vec2\x20p0,\x20vec2\x20p1,\x20float\x20x)\x20{\x0a\x20\x20float\x20slope\x20=\x20(p0.y\x20-\x20p1.y)\x20/\x20(p0.x\x20-\x20p1.x);\x0a\x20\x20return\x20slope\x20*\x20(x\x20-\x20p0.x)\x20+\x20p0.y;\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x0a\x20\x20#if\x20(__VERSION__\x20==\x20300\x20||\x20defined(GL_OES_standard_derivatives))\x0a\x20\x20\x20\x20float\x20swidth\x20=\x20abs(fwidth(st.s))\x20*\x2010.0\x20*\x20czm_pixelRatio;\x0a\x20\x20\x20\x20float\x20base\x20=\x201.0\x20-\x20swidth;\x0a\x20\x20\x20\x20float\x20maxSX\x20=\x201.0\x20-\x20swidth\x20*\x202.0;\x0a\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20//\x20If\x20no\x20derivatives\x20available\x20(IE\x2010?),\x202.5%\x20of\x20the\x20line\x20will\x20be\x20the\x20arrow\x20head\x0a\x20\x20\x20\x20float\x20base\x20=\x200.975;\x0a\x20\x20\x20\x20float\x20maxSX\x20=\x200.95;\x0a\x20\x20#endif\x0a\x0a\x20\x20if(st.s\x20<\x20maxSX)\x20{\x0a\x20\x20\x20\x20//虚线部分\x0a\x20\x20\x20\x20vec2\x20pos\x20=\x20rotate(v_polylineAngle)\x20*\x20gl_FragCoord.xy;\x0a\x0a\x20\x20\x20\x20//\x20Get\x20the\x20relative\x20position\x20within\x20the\x20dash\x20from\x200\x20to\x201\x0a\x20\x20\x20\x20float\x20dashPosition\x20=\x20fract(pos.x\x20/\x20(dashLength\x20*\x20czm_pixelRatio));\x0a\x20\x20\x20\x20//\x20Figure\x20out\x20the\x20mask\x20index.\x0a\x20\x20\x20\x20float\x20maskIndex\x20=\x20floor(dashPosition\x20*\x20maskLength);\x0a\x20\x20\x20\x20//\x20Test\x20the\x20bit\x20mask.\x0a\x20\x20\x20\x20float\x20maskTest\x20=\x20floor(dashPattern\x20/\x20pow(2.0,\x20maskIndex));\x0a\x20\x20\x20\x20vec4\x20fragColor\x20=\x20(mod(maskTest,\x202.0)\x20<\x201.0)\x20?\x20gapColor\x20:\x20color;\x0a\x20\x20\x20\x20if(fragColor.a\x20<\x200.005)\x20{\x20\x20\x20//\x20matches\x200/255\x20and\x201/255\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20fragColor\x20=\x20czm_gammaCorrect(fragColor);\x0a\x20\x20\x20\x20material.emission\x20=\x20fragColor.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20fragColor.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20//箭头部分\x0a\x20\x20\x20\x20vec2\x20center\x20=\x20vec2(1.0,\x200.5);\x0a\x20\x20\x20\x20float\x20ptOnUpperLine\x20=\x20getPointOnLine(vec2(base,\x201.0),\x20center,\x20st.s);\x0a\x20\x20\x20\x20float\x20ptOnLowerLine\x20=\x20getPointOnLine(vec2(base,\x200.0),\x20center,\x20st.s);\x0a\x0a\x20\x20\x20\x20float\x20halfWidth\x20=\x200.15;\x0a\x20\x20\x20\x20float\x20s\x20=\x20step(0.5\x20-\x20halfWidth,\x20st.t);\x0a\x20\x20\x20\x20s\x20*=\x201.0\x20-\x20step(0.5\x20+\x20halfWidth,\x20st.t);\x0a\x20\x20\x20\x20s\x20*=\x201.0\x20-\x20step(base,\x20st.s);\x0a\x0a\x20\x20\x20\x20float\x20t\x20=\x20step(base,\x20materialInput.st.s);\x0a\x20\x20\x20\x20t\x20*=\x201.0\x20-\x20step(ptOnUpperLine,\x20st.t);\x0a\x20\x20\x20\x20t\x20*=\x20step(ptOnLowerLine,\x20st.t);\x0a\x0a\x20\x20\x20\x20//\x20Find\x20the\x20distance\x20from\x20the\x20closest\x20separator\x20(region\x20between\x20two\x20colors)\x0a\x20\x20\x20\x20float\x20dist;\x0a\x20\x20\x20\x20if(st.s\x20<\x20base)\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20d1\x20=\x20abs(st.t\x20-\x20(0.5\x20-\x20halfWidth));\x0a\x20\x20\x20\x20\x20\x20float\x20d2\x20=\x20abs(st.t\x20-\x20(0.5\x20+\x20halfWidth));\x0a\x20\x20\x20\x20\x20\x20dist\x20=\x20min(d1,\x20d2);\x0a\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20d1\x20=\x20czm_infinity;\x0a\x20\x20\x20\x20\x20\x20if(st.t\x20<\x200.5\x20-\x20halfWidth\x20&&\x20st.t\x20>\x200.5\x20+\x20halfWidth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20d1\x20=\x20abs(st.s\x20-\x20base);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20float\x20d2\x20=\x20abs(st.t\x20-\x20ptOnUpperLine);\x0a\x20\x20\x20\x20\x20\x20float\x20d3\x20=\x20abs(st.t\x20-\x20ptOnLowerLine);\x0a\x20\x20\x20\x20\x20\x20dist\x20=\x20min(min(d1,\x20d2),\x20d3);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20vec4\x20outsideColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20currentColor\x20=\x20mix(outsideColor,\x20color,\x20clamp(s\x20+\x20t,\x200.0,\x201.0));\x0a\x20\x20\x20\x20vec4\x20outColor\x20=\x20czm_antialias(outsideColor,\x20color,\x20currentColor,\x20dist);\x0a\x0a\x20\x20\x20\x20outColor\x20=\x20czm_gammaCorrect(outColor);\x0a\x20\x20\x20\x20material.diffuse\x20=\x20outColor.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20outColor.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a}\x0a',WallScrollMaterial='uniform\x20sampler2D\x20image;\x0auniform\x20float\x20speed;\x0auniform\x20vec4\x20color;\x0auniform\x20float\x20count;\x0auniform\x20bool\x20axisY;\x0auniform\x20bool\x20reverse;\x0auniform\x20bool\x20bloom;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20time\x20=\x20fract(czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x0a\x20\x20vec4\x20imageMars3D;\x0a\x20\x20if(axisY)\x20{\x0a\x20\x20\x20\x20if(reverse)\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.s\x20-\x20time)));\x0a\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.s\x20+\x20time)));\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20if(reverse)\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.t\x20-\x20time)));\x0a\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.t\x20+\x20time)));\x0a\x20\x20}\x0a\x0a\x20\x20float\x20perDis\x20=\x201.0\x20/\x20count\x20/\x203.0;\x0a\x20\x20material.alpha\x20=\x20imageMars3D.a\x20*\x20color.a\x20*\x20smoothstep(.2,\x201.,\x20distance(st.t\x20*\x20perDis,\x201.\x20+\x20perDis))\x20*\x20globalAlpha;\x0a\x0a\x20\x20if(bloom)\x20{\x0a\x20\x20\x20\x20//泛光\x0a\x20\x20\x20\x20vec4\x20fragColor;\x0a\x20\x20\x20\x20fragColor.rgb\x20=\x20(imageMars3D.rgb\x20+\x20color.rgb)\x20/\x201.0;\x0a\x20\x20\x20\x20fragColor\x20=\x20czm_gammaCorrect(fragColor);\x0a\x0a\x20\x20\x20\x20material.diffuse\x20=\x20imageMars3D.rgb;\x0a\x20\x20\x20\x20material.emission\x20=\x20fragColor.rgb;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20max(color.rgb\x20*\x20material.alpha\x20*\x201.5,\x20color.rgb);\x0a\x20\x20\x20\x20material.emission\x20=\x20max(color.rgb\x20*\x20material.alpha\x20*\x201.5,\x20color.rgb);\x0a\x20\x20}\x0a\x20\x20return\x20material;\x0a}\x0a',ScanLineMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20globalAlpha;\x0a\x0afloat\x20circle(vec2\x20uv,\x20float\x20r,\x20float\x20blur)\x20{\x0a\x20\x20float\x20d\x20=\x20length(uv)\x20*\x202.0;\x0a\x20\x20float\x20c\x20=\x20smoothstep(r\x20+\x20blur,\x20r,\x20d);\x0a\x20\x20return\x20c;\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st\x20-\x20.5;\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.emission\x20=\x20vec3(0);\x0a\x0a\x20\x20float\x20t\x20=\x20fract(czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x20\x20float\x20s\x20=\x200.3;\x0a\x20\x20float\x20radiusMars3D\x20=\x20smoothstep(.0,\x20s,\x20t)\x20*\x200.9;\x0a\x20\x20float\x20alpha1\x20=\x20circle(st,\x20radiusMars3D,\x200.01)\x20*\x20circle(st,\x20radiusMars3D,\x20-0.01);\x0a\x20\x20float\x20alpha2\x20=\x20circle(st,\x20radiusMars3D,\x200.01\x20-\x20radiusMars3D)\x20*\x20circle(st,\x20radiusMars3D,\x200.01);\x0a\x20\x20float\x20radius2\x20=\x200.5\x20+\x20smoothstep(s,\x201.0,\x20t)\x20*\x200.5;\x0a\x20\x20float\x20alpha3\x20=\x20circle(st,\x20radiusMars3D,\x20radius2\x20+\x200.01\x20-\x20radiusMars3D)\x20*\x20circle(st,\x20radiusMars3D,\x20-0.01);\x0a\x0a\x20\x20material.alpha\x20=\x20smoothstep(1.0,\x20s,\x20t)\x20*\x20(alpha1\x20+\x20alpha2\x20*\x200.1\x20+\x20alpha3\x20*\x200.1);\x0a\x20\x20material.alpha\x20*=\x20color.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',CircleScanMaterial='uniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec4\x20imgMars3D\x20=\x20texture(image,\x20st);\x0a\x20\x20if(imgMars3D.a\x20>\x20.0)\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20}\x0a\x20\x20material.alpha\x20=\x20imgMars3D.a\x20*\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',CircleWaveMaterial=_0x54a7f1(0xb0f,0x13d1),RadarLineMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st\x20*\x202.0\x20-\x201.0;\x0a\x20\x20float\x20t\x20=\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0;\x0a\x20\x20vec3\x20colMars3D\x20=\x20vec3(0.0);\x0a\x20\x20vec2\x20p\x20=\x20vec2(sin(t),\x20cos(t));\x0a\x20\x20float\x20d\x20=\x20length(st\x20-\x20dot(p,\x20st)\x20*\x20p);\x0a\x20\x20if(dot(st,\x20p)\x20<\x200.)\x20{\x0a\x20\x20\x20\x20d\x20=\x20length(st);\x0a\x20\x20}\x0a\x0a\x20\x20colMars3D\x20=\x20.006\x20/\x20d\x20*\x20color.rgb;\x0a\x0a\x20\x20if(distance(st,\x20vec2(0))\x20>\x200.99)\x20{\x0a\x20\x20\x20\x20colMars3D\x20=\x20color.rgb;\x0a\x20\x20}\x0a\x0a\x20\x20material.alpha\x20=\x20pow(length(colMars3D),\x202.0)\x20*\x20globalAlpha;\x0a\x20\x20material.diffuse\x20=\x20colMars3D\x20*\x203.0;\x0a\x20\x20return\x20material;\x0a}\x0a',RadarWaveMaterial=_0x7afdbe(0x15d2,0x11e1),RectSlideMaterial='uniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec4\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(st.s\x20+\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0),\x20fract(st.t)));\x0a\x0a\x20\x20material.alpha\x20=\x20imageMars3D.a\x20*\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20if(pure)\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20diffusePower\x20*\x20color.rgb;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20imageMars3D.rgb;\x0a\x20\x20}\x0a\x20\x20return\x20material;\x0a}\x0a',EllipsoidElectricMaterial=_0x7afdbe(0xe2,0x75b),EllipsoidWaveMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20time\x20=\x20fract(czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x20\x20float\x20alphaMars3D\x20=\x20abs(smoothstep(0.5,\x201.,\x20fract(-st.t\x20-\x20time)));\x0a\x20\x20alphaMars3D\x20+=\x20.1;\x0a\x20\x20material.alpha\x20=\x20alphaMars3D\x20*\x20globalAlpha;\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20return\x20material;\x0a}\x0a',PolyGradientMaterial=_0x7afdbe(0xb8,0x992),AsphaltMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20size;\x0auniform\x20float\x20frequency;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20//\x20From\x20Stefan\x20Gustavson\x27s\x20Procedural\x20Textures\x20in\x20GLSL\x20in\x20OpenGL\x20Insights\x0a\x20\x20//Main\x20cellular\x20pattern\x0a\x20\x20vec4\x20color\x20=\x20color;\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec2\x20F\x20=\x20czm_cellular(st\x20/\x20size);\x0a\x20\x20color.rgb\x20-=\x20(F.x\x20/\x20F.y)\x20*\x200.1;\x0a\x0a\x20\x20//Extra\x20bumps\x20for\x20frequency\x0a\x20\x20float\x20noiseMars3D\x20=\x20czm_snoise(st\x20/\x20size);\x0a\x20\x20noiseMars3D\x20=\x20pow(noiseMars3D,\x205.0)\x20*\x20frequency;\x0a\x20\x20color.rgb\x20+=\x20noiseMars3D;\x0a\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',BlobMaterial=_0x7afdbe(0xb2c,0x12de),FacetMaterial=_0x54a7f1(0xccf,0x13c8),PolyGrassMaterial=_0x54a7f1(0x6c7,0xded),PolyWoodMaterial='uniform\x20vec4\x20evenColor;\x0auniform\x20vec4\x20oddColor;\x0auniform\x20float\x20frequency;\x0auniform\x20vec2\x20noiseScale;\x0auniform\x20float\x20grainFrequency;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20//Based\x20on\x20wood\x20shader\x20from\x20OpenGL\x20Shading\x20Language\x20(3rd\x20edition)\x20pg.\x20455\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x0a\x20\x20vec2\x20noisevec;\x0a\x20\x20noisevec.x\x20=\x20czm_snoise(st\x20*\x20noiseScale.x);\x0a\x20\x20noisevec.y\x20=\x20czm_snoise(st\x20*\x20noiseScale.y);\x0a\x0a\x20\x20vec2\x20location\x20=\x20st\x20+\x20noisevec;\x0a\x20\x20float\x20dist\x20=\x20sqrt(location.x\x20*\x20location.x\x20+\x20location.y\x20*\x20location.y);\x0a\x20\x20dist\x20*=\x20frequency;\x0a\x0a\x20\x20float\x20r\x20=\x20fract(dist\x20+\x20noisevec[0]\x20+\x20noisevec[1])\x20*\x202.0;\x0a\x20\x20if(r\x20>\x201.0)\x0a\x20\x20\x20\x20r\x20=\x202.0\x20-\x20r;\x0a\x0a\x20\x20vec4\x20colorMars3D\x20=\x20mix(evenColor,\x20oddColor,\x20r);\x0a\x0a\x20\x20//streaks\x0a\x20\x20r\x20=\x20abs(czm_snoise(vec2(st.x\x20*\x20grainFrequency,\x20st.y\x20*\x20grainFrequency\x20*\x200.02)))\x20*\x200.2;\x0a\x20\x20colorMars3D.rgb\x20+=\x20evenColor.rgb\x20*\x20r;\x0a\x0a\x20\x20material.diffuse\x20=\x20colorMars3D.rgb;\x0a\x20\x20material.alpha\x20=\x20colorMars3D.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',WaterLightMaterial='uniform\x20float\x20globalAlpha;\x0a\x0afloat\x20time\x20=\x200.0;\x0amat2\x20m2\x20=\x20mat2(0.80,\x200.60,\x20-0.60,\x200.80);\x0a\x0amat2\x20mars3d_makem(in\x20float\x20theta)\x20{\x0a\x20\x20float\x20c\x20=\x20cos(theta);\x0a\x20\x20float\x20s\x20=\x20sin(theta);\x0a\x20\x20return\x20mat2(c,\x20-s,\x20s,\x20c);\x0a}\x0a\x0afloat\x20noise(in\x20vec2\x20x)\x20{\x0a\x20\x20return\x20texture(specularMap,\x20x\x20*\x20.01).x;\x0a}\x0a\x0afloat\x20mars3d_fbm(in\x20vec2\x20p)\x20{\x0a\x20\x20float\x20z\x20=\x202.;\x0a\x20\x20float\x20rz\x20=\x200.;\x0a\x20\x20for(float\x20i\x20=\x201.;\x20i\x20<\x207.;\x20i++)\x20{\x0a\x20\x20\x20\x20rz\x20+=\x20abs((noise(p)\x20-\x200.5)\x20*\x202.)\x20/\x20z;\x0a\x20\x20\x20\x20z\x20=\x20z\x20*\x202.;\x0a\x20\x20\x20\x20p\x20=\x20p\x20*\x202.;\x0a\x20\x20\x20\x20p\x20*=\x20m2;\x0a\x20\x20}\x0a\x20\x20return\x20rz;\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20vUv\x20=\x20materialInput.st;\x0a\x20\x20time\x20=\x20czm_frameNumber\x20/\x20200.0;\x0a\x20\x20vec2\x20p\x20=\x202.\x20*\x20vUv.xy\x20-\x20vec2(1.,\x201.);\x0a\x20\x20vec2\x20bp\x20=\x20p;\x0a\x0a\x20\x20#ifndef\x20CENTERED\x0a\x20\x20p\x20+=\x205.;\x0a\x20\x20p\x20*=\x2030.;\x0a\x20\x20#endif\x0a\x20\x20float\x20rb\x20=\x20mars3d_fbm(p\x20*\x20.5\x20+\x20time\x20*\x20.17)\x20*\x20.1;\x0a\x20\x20rb\x20=\x20sqrt(rb);\x0a\x20\x20#ifndef\x20CENTERED\x0a\x20\x20p\x20*=\x20mars3d_makem(rb\x20*\x20.2\x20+\x20atan(p.y,\x20p.x)\x20*\x201.);\x0a\x20\x20#else\x0a\x20\x20p\x20*=\x20mars3d_makem(rb\x20*\x20.2\x20+\x20atan(p.y,\x20p.x)\x20*\x202.);\x0a\x20\x20#endif\x0a\x0a\x20\x20\x20\x20//coloring\x0a\x20\x20float\x20rz\x20=\x20mars3d_fbm(p\x20*\x20.9\x20-\x20time\x20*\x20.7);\x0a\x20\x20rz\x20*=\x20dot(bp\x20*\x205.,\x20bp)\x20+\x20.5;\x0a\x20\x20rz\x20*=\x20sin(p.x\x20*\x20.5\x20+\x20time\x20*\x204.)\x20*\x201.5;\x0a\x20\x20vec3\x20col\x20=\x20vec3(.04,\x200.07,\x200.45)\x20/\x20(.1\x20-\x20rz);\x0a\x20\x20vec4\x20fragColor\x20=\x20vec4(sqrt(abs(col)),\x201.0);\x0a\x20\x20material.alpha\x20=\x20fragColor.a\x20*\x20alpha\x20*\x20globalAlpha;\x0a\x20\x20material.diffuse\x20=\x20fragColor.rgb\x20*\x20.5;\x0a\x0a\x20\x20\x20\x20//\x20cesium\x0a\x20\x20float\x20frequency\x20=\x202000.0;\x0a\x20\x20float\x20amplitude\x20=\x2010.0;\x0a\x20\x20float\x20fadeFactor\x20=\x201.0;\x0a\x20\x20vec4\x20mapColor\x20=\x20texture(normalMap,\x20materialInput.st);\x0a\x20\x20float\x20specularMapValue\x20=\x20texture(normalMap,\x20materialInput.st).r;\x0a\x20\x20specularMapValue\x20=\x201.0;\x0a\x0a\x20\x20float\x20fade\x20=\x20max(1.0,\x20(length(materialInput.positionToEyeEC)\x20/\x2010000000000.0)\x20*\x20frequency\x20*\x20fadeFactor);\x0a\x20\x20vec4\x20noise\x20=\x20czm_getWaterNoise(normalMap,\x20materialInput.st\x20*\x20frequency,\x20time,\x200.0);\x0a\x20\x20vec3\x20normalTangentSpace\x20=\x20noise.xyz\x20*\x20vec3(1.0,\x201.0,\x20(1.0\x20/\x20amplitude));\x0a\x20\x20normalTangentSpace.xy\x20/=\x20fade;\x0a\x20\x20normalTangentSpace\x20=\x20mix(vec3(0.0,\x200.0,\x2050.0),\x20normalTangentSpace,\x20specularMapValue);\x0a\x20\x20normalTangentSpace\x20=\x20normalize(normalTangentSpace);\x0a\x0a\x20\x20float\x20mars3dPerturbationRatio\x20=\x20clamp(dot(normalTangentSpace,\x20vec3(0.0,\x200.0,\x200.1)),\x200.0,\x201.0);\x0a\x20\x20material.diffuse\x20+=\x20(0.1\x20*\x20mars3dPerturbationRatio);\x0a\x20\x20material.normal\x20=\x20normalize(materialInput.tangentToEyeMatrix\x20*\x20normalTangentSpace);\x0a\x20\x20material.specular\x20=\x200.5;\x0a\x20\x20material.shininess\x20=\x2010.0;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',NeonLightMaterial=_0x7afdbe(0x1257,0x14cb);Cesium__namespace['ShaderSource']['_czmBuiltinsAndUniforms']['czm_cellular']=czm_cellular,Cesium__namespace['ShaderSource']['_czmBuiltinsAndUniforms']['czm_snoise']=czm_snoise,register$4(LineDotDash,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x54a7f1(0x1284,0x18be))](0x1,0x0,0x1,0x1),'gapColor':new Cesium__namespace[(_0x54a7f1(0x1284,0x178c))](0x0,0x0,0x0,0x0),'dashLength':0x10,'dashPattern':0xff},'source':LineDotDashMaterial},'translucent':!![]}),register$4(LineFlow,{'fabric':{'uniforms':{'image':Cesium__namespace['Material'][_0x54a7f1(0xcda,0x632)],'color':new Cesium__namespace['Color'](0x1,0x1,0x1,0x0),'repeat':new Cesium__namespace[(_0x54a7f1(0x1704,0x13d3))](0x1,0x1),'axisY':![],'mixt':![],'speed':0xa,'time':-0x1,'hasImage2':![],'image2':Cesium__namespace['Material']['DefaultImageId'],'color2':new Cesium__namespace['Color'](0x1,0x1,0x1),'bgColor':Cesium__namespace[_0x7afdbe(0x196c,0x14b2)]['TRANSPARENT'],'globalAlpha':0x1},'source':LineFlowMaterial},'translucent':!![]}),register$4(LineFlowColor,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x0,0x0,0.7),'startTime':0x0,'speed':0x2,'percent':0.04,'alpha':0.1,'globalAlpha':0x1},'source':LineFlowColorMaterial},'translucent':!![]}),register$4(ODLine,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x1,0x0,0.7),'startTime':0x0,'speed':0x14,'bgColor':new Cesium__namespace['Color'](0x1,0x1,0x0,0.1),'bidirectional':0x0,'globalAlpha':0x1},'source':ODLineMaterial},'translucent':!![]}),register$4(LineFlicker,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x0,0x0,0.7),'speed':0xa,'globalAlpha':0x1},'source':LineFlickerMaterial},'translucent':!![]}),register$4(LineTrail,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x7afdbe(0xf7c,0x14b2))](0x1,0x0,0x0,0.7),'bgColor':new Cesium__namespace[(_0x54a7f1(0x1284,0x980))](0x0,0x0,0x0,0x0),'speed':0x5,'globalAlpha':0x1},'source':LineTrailMaterial},'translucent':!![]});const _0x4eb714={};_0x4eb714['color']=Cesium__namespace['Color']['ORANGE'],_0x4eb714[_0x7afdbe(0x6b0,0xc88)]=0x1,_0x4eb714[_0x54a7f1(0x10a0,0x1514)]=0x5,_0x4eb714['globalAlpha']=0x1;const _0x54b209={};_0x54b209['uniforms']=_0x4eb714,_0x54b209['source']=LineBloomMaterial;const _0x17683a={};_0x17683a[_0x7afdbe(0x1567,0x112f)]=_0x54b209,_0x17683a['translucent']=!![],register$4(LineBloom,_0x17683a),register$4(DigitalFlow,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x0,0x0,0x0,0.8),'image':Cesium__namespace['Material']['DefaultImageId'],'speed':0xa,'glow':0xa,'flowGlow':0x1,'segment':0x3,'globalAlpha':0x1},'source':DigitalFlowMaterial},'translucent':!![]});const _0x450e58={};_0x450e58[_0x7afdbe(0xf96,0x1440)]=Cesium__namespace[_0x7afdbe(0xb86,0x14b2)][_0x54a7f1(0x10cc,0x81b)],_0x450e58['dashLength']=0x40,_0x450e58['widthRatio']=0.1,_0x450e58[_0x54a7f1(0x55a,0xe71)]=Cesium__namespace[_0x54a7f1(0x1284,0x10fc)]['WHITE'],_0x450e58[_0x54a7f1(0x113d,0x1178)]=0x20,_0x450e58[_0x54a7f1(0x1441,0x9cc)]=0.1,_0x450e58['dashPattern']=0xff,_0x450e58[_0x7afdbe(0x1513,0xa93)]=0x1;const _0x5d5fe9={};_0x5d5fe9['uniforms']=_0x450e58,_0x5d5fe9['source']=LineThreeDashMaterial;const _0x5acf2f={};_0x5acf2f[_0x7afdbe(0x73e,0x112f)]=_0x5d5fe9,_0x5acf2f['translucent']=!![],register$4(LineThreeDash,_0x5acf2f);const _0x3be43c={};_0x3be43c[_0x54a7f1(0x1212,0x837)]=Cesium__namespace['Color'][_0x7afdbe(0x5b3,0xabb)],_0x3be43c[_0x54a7f1(0x10aa,0x1194)]=0x24,_0x3be43c['maskLength']=0xa,_0x3be43c[_0x7afdbe(0x15e9,0xd30)]=0.1,_0x3be43c[_0x7afdbe(0x125f,0xb0a)]=0.2,_0x3be43c['dashPattern']=0xff,_0x3be43c[_0x54a7f1(0x865,0x45c)]=0x1;const _0x41bbce={};_0x41bbce[_0x7afdbe(0x17dc,0x171b)]=_0x3be43c,_0x41bbce['source']=LineCrossMaterial;const _0x1e274d={};_0x1e274d['fabric']=_0x41bbce,_0x1e274d['translucent']=!![],register$4(LineCross,_0x1e274d);const _0x23d512={};_0x23d512[_0x54a7f1(0x1212,0xb6e)]=Cesium__namespace['Color'][_0x54a7f1(0x88d,0xa0f)],_0x23d512[_0x7afdbe(0x1164,0xc30)]=Cesium__namespace[_0x54a7f1(0x1284,0xc17)][_0x7afdbe(0x17f7,0x1716)],_0x23d512['dashLength']=0x10,_0x23d512['dashPattern']=0xff,_0x23d512[_0x54a7f1(0x865,0x6e8)]=0x1;const _0x36200b={};_0x36200b['uniforms']=_0x23d512,_0x36200b[_0x54a7f1(0x16b2,0xfca)]=LineDashArrowMaterial;const _0xa7c742={};_0xa7c742[_0x7afdbe(0xe4d,0x112f)]=_0x36200b,_0xa7c742[_0x54a7f1(0x619,-0x1c9)]=!![],register$4(LineDashArrow,_0xa7c742),register$4(WallScroll,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x7afdbe(0xb09,0x14b2))](0x0,0x0,0x0,0x1),'image':Cesium__namespace['Material']['DefaultImageId'],'count':0x1,'speed':0x5,'reverse':![],'axisY':![],'bloom':![],'globalAlpha':0x1},'source':WallScrollMaterial},'translucent':!![]}),register$4(ScanLine,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x7afdbe(0x1010,0x14b2))](0x1,0x1,0x0,0x1),'speed':0xa,'globalAlpha':0x1},'source':ScanLineMaterial},'translucent':!![]}),register$4(CircleScan,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x7afdbe(0x19cc,0x14b2))](0x1,0x0,0x0,0x1),'image':Cesium__namespace['Material'][_0x54a7f1(0xcda,0x1278)],'globalAlpha':0x1},'source':CircleScanMaterial},'translucent':!![]}),register$4(CircleWave,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x1,0x0,0x1),'speed':0xa,'time':-0x1,'count':0x1,'gradient':0.1,'globalAlpha':0x1},'source':CircleWaveMaterial},'translucent':!![]}),register$4(RadarLine,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x7afdbe(0xf83,0x14b2))](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':RadarLineMaterial},'translucent':!![]}),register$4(RadarWave,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':RadarWaveMaterial},'translucent':!![]});const _0x5d6896={};_0x5d6896['image']=Cesium__namespace['Material']['DefaultImageId'],_0x5d6896[_0x7afdbe(0xa4c,0x1440)]=Cesium__namespace[_0x54a7f1(0x1284,0x1528)][_0x54a7f1(0x88d,0x43f)],_0x5d6896[_0x7afdbe(0xcba,0x12ce)]=0xa,_0x5d6896['pure']=![],_0x5d6896[_0x54a7f1(0x15b6,0xf37)]=1.3,_0x5d6896['globalAlpha']=0x1;const _0x174138={};_0x174138['uniforms']=_0x5d6896,_0x174138[_0x54a7f1(0x16b2,0x1050)]=RectSlideMaterial;const _0x3394a3={};_0x3394a3['fabric']=_0x174138,_0x3394a3[_0x54a7f1(0x619,0x6ed)]=!![],register$4(RectSlide,_0x3394a3),register$4(EllipsoidElectric,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':EllipsoidElectricMaterial},'translucent':!![]}),register$4(EllipsoidWave,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':EllipsoidWaveMaterial},'translucent':!![]}),register$4(PolyGradient,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x7afdbe(0xd96,0x14b2))](0x1,0x1,0x0,0.5),'diffusePower':1.6,'alphaPower':1.5,'center':new Cesium__namespace[(_0x54a7f1(0x1704,0x2020))](0.5,0.5),'isInner':![],'globalAlpha':0x1},'source':PolyGradientMaterial},'translucent':!![]}),register$4(PolyAsphalt,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x54a7f1(0x1284,0xfb2))](0.15,0.15,0.15,0x1),'size':0.02,'frequency':0.2,'globalAlpha':0x1},'source':AsphaltMaterial},'translucent':function(_0x497641){function _0x5c17b5(_0x9a369e,_0x2a26f3){return _0x7afdbe(_0x9a369e,_0x2a26f3- -0x683);}return _0x497641[_0x5c17b5(0x1603,0x1098)]['color']['alpha']<0x1;}}),register$4(PolyBlob,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace[(_0x7afdbe(0x109a,0x14b2))](0x1,0x1,0x1,0.5),'oddColor':new Cesium__namespace['Color'](0x0,0x0,0x1,0.5),'frequency':0xa,'globalAlpha':0x1},'source':BlobMaterial},'translucent':function(_0x5a9f39){const _0xba3f83={_0x4adc82:0x2268,_0x5701ff:0x17eb,_0x471561:0x510,_0x13b20e:0x496,_0xb940f8:0x949};function _0x197b70(_0x41bffa,_0x15ec35){return _0x54a7f1(_0x15ec35-0xc0,_0x41bffa);}function _0x19e62a(_0x2dfeb7,_0x497f07){return _0x54a7f1(_0x497f07- -0x453,_0x2dfeb7);}const _0x1d304f=_0x5a9f39['uniforms'];return _0x1d304f[_0x197b70(_0xba3f83._0x4adc82,_0xba3f83._0x5701ff)][_0x197b70(_0xba3f83._0x471561,_0xba3f83._0x13b20e)]<0x1||_0x1d304f[_0x19e62a(_0xba3f83._0xb940f8,0xa34)]['alpha']<0x1;}}),register$4(PolyFacet,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace[(_0x7afdbe(0x1930,0x14b2))](0.25,0.25,0.25,0.75),'oddColor':new Cesium__namespace[(_0x54a7f1(0x1284,0x1254))](0.75,0.75,0.75,0.75),'frequency':0xa,'globalAlpha':0x1},'source':FacetMaterial},'translucent':function(_0x4fb1dc){const _0x44c717={_0x518a65:0x134c,_0x1d7c9f:0x691,_0x172c15:0x9b4,_0x39ca10:0xce6},_0x3fa1d0=_0x4fb1dc[_0x53c849(0x17f6,_0x44c717._0x518a65)];function _0x3adfcd(_0x1390bb,_0x593267){return _0x7afdbe(_0x1390bb,_0x593267- -0x273);}function _0x53c849(_0x3a6318,_0xe4e55a){return _0x7afdbe(_0x3a6318,_0xe4e55a- -0x3cf);}return _0x3fa1d0['evenColor'][_0x3adfcd(_0x44c717._0x1d7c9f,0x391)]<0x1||_0x3fa1d0[_0x53c849(_0x44c717._0x172c15,_0x44c717._0x39ca10)]['alpha']<0x1;}}),register$4(PolyGrass,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace['Color'](0.25,0.4,0.1,0x1),'oddColor':new Cesium__namespace['Color'](0.1,0.1,0.1,0x1),'frequency':1.5,'globalAlpha':0x1},'source':PolyGrassMaterial},'translucent':function(_0x3f5236){function _0x500685(_0x4477d2,_0x356cfe){return _0x7afdbe(_0x356cfe,_0x4477d2- -0x298);}const _0x478738=_0x3f5236[_0x500685(0x1483,0x1db3)];return _0x478738['evenColor']['alpha']<0x1||_0x478738['oddColor']['alpha']<0x1;}}),register$4(PolyWood,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace[(_0x7afdbe(0x11ab,0x14b2))](0.6,0.3,0.1,0x1),'oddColor':new Cesium__namespace['Color'](0.4,0.2,0.07,0x1),'frequency':0x3,'noiseScale':new Cesium__namespace[(_0x7afdbe(0x1dd6,0x1932))](0.7,0.5),'grainFrequency':0x1b,'globalAlpha':0x1},'source':PolyWoodMaterial},'translucent':function(_0x10e2d4){const _0x119e71={_0x3244a4:0x551};function _0x3e3380(_0x5992da,_0x394383){return _0x7afdbe(_0x5992da,_0x394383- -0xb3);}const _0x518f63=_0x10e2d4['uniforms'];return _0x518f63['evenColor']['alpha']<0x1||_0x518f63['oddColor'][_0x3e3380(0x8ad,_0x119e71._0x3244a4)]<0x1;}}),register$4(Image2,{'fabric':{'uniforms':{'image':Cesium__namespace[_0x54a7f1(0x609,0xbd7)][_0x7afdbe(0x70b,0xf08)],'color':Cesium__namespace['Color']['WHITE'],'opacity':0x1,'speed':0x0,'flipx':![],'flipy':![],'noWhite':!![],'repeat':new Cesium__namespace['Cartesian2'](0x1,0x1),'rotation':0x0,'hasMask':![],'maskImage':Cesium__namespace['Material'][_0x7afdbe(0x57f,0xf08)],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]}),register$4(WaterLight,{'fabric':{'uniforms':{'alpha':0.3,'specularMap':Cesium__namespace['Material']['DefaultImageId'],'normalMap':Cesium__namespace['buildModuleUrl']('Assets/Textures/waterNormals.jpg'),'globalAlpha':0x1},'source':WaterLightMaterial},'translucent':!![]});const _0x522c3a={};_0x522c3a['color']=Cesium__namespace[_0x54a7f1(0x1284,0xfcd)]['WHITE'],_0x522c3a['speed']=0x1,_0x522c3a[_0x54a7f1(0x865,0xf8e)]=0x1;const _0x70bddb={};_0x70bddb[_0x7afdbe(0x159f,0x171b)]=_0x522c3a,_0x70bddb['source']=NeonLightMaterial;const _0x518ae5={};_0x518ae5[_0x7afdbe(0x15c3,0x112f)]=_0x70bddb,_0x518ae5[_0x7afdbe(0x512,0x847)]=!![],register$4(NeonLight,_0x518ae5),registerPropertyClass(Color$2,Cesium__namespace[_0x54a7f1(0x12ce,0xaa2)]),registerPropertyClass(Image$1,Cesium__namespace[_0x7afdbe(0x83a,0x93c)]),registerPropertyClass(PolylineArrow,Cesium__namespace[_0x54a7f1(0xa58,0x697)]),registerPropertyClass(PolylineOutline,Cesium__namespace['PolylineOutlineMaterialProperty']),registerPropertyClass(PolylineDash,Cesium__namespace[_0x54a7f1(0x4c1,0xc91)]),registerPropertyClass(PolylineGlow,Cesium__namespace['PolylineGlowMaterialProperty']),registerPropertyClass(Grid,Cesium__namespace['GridMaterialProperty']),registerPropertyClass(Checkerboard,Cesium__namespace['CheckerboardMaterialProperty']),registerPropertyClass(Stripe,Cesium__namespace[_0x7afdbe(0x723,0x1040)]);class TextMaterial extends Cesium__namespace[_0x7afdbe(0x2d1,0x837)]{constructor(_0x1820f7={}){super(conventOptions$1(_0x1820f7));}}function conventOptions$1(_0x5d954f){const _0x5d782d={_0x2e5c91:0x175d,_0x341315:0x1956,_0x58ba61:0xa27,_0x5ec428:0x11e3,_0x37ec02:0xe9a,_0x51e561:0xefe,_0x47ba3c:0xf46,_0x9497d9:0x715},_0x22bc43={_0x28340c:0x43},_0x474ed2={_0x2214d7:0x2cf};function _0x14efbb(_0x2a89d5,_0x4ed060){return _0x7afdbe(_0x2a89d5,_0x4ed060- -_0x474ed2._0x2214d7);}const _0x572278=_0x5d954f['text'];_0x5d954f[_0x14efbb(0x1138,0x16ca)]=_0x5d954f[_0x56c113(_0x5d782d._0x2e5c91,_0x5d782d._0x341315)]||0x46;const _0x3e6cfe=LabelStyleConver[_0x14efbb(0x7f5,0xd38)](_0x5d954f,{'fill':_0x5d954f[_0x14efbb(0x1732,0x14a7)]??!![],'fillColor':new Cesium__namespace['Color'](0x1,0x1,0x0,0x1),'textBaseline':'middle','padding':0xa});function _0x56c113(_0x3c822b,_0xb0ef25){return _0x7afdbe(_0x3c822b,_0xb0ef25- -_0x22bc43._0x28340c);}const _0x40ca53=getTextImage(_0x572278,_0x3e6cfe);let _0x24ffd0;return _0x40ca53&&(_0x24ffd0=_0x40ca53['toDataURL']('image/png',0x1)),{'fabric':{'uniforms':{'image':_0x24ffd0,'opacity':0x1,'color':Cesium__namespace[_0x14efbb(_0x5d782d._0x58ba61,_0x5d782d._0x5ec428)]['WHITE'],'speed':_0x5d954f[_0x14efbb(_0x5d782d._0x37ec02,0xfff)]||0x0,'flipx':_0x5d954f[_0x56c113(_0x5d782d._0x51e561,_0x5d782d._0x47ba3c)]??![],'flipy':_0x5d954f['flipy']??![],'noWhite':_0x5d954f[_0x56c113(0x608,_0x5d782d._0x9497d9)]??!![],'rotation':_0x5d954f['rotation']??0x0,'repeat':new Cesium__namespace['Cartesian2'](0x1,0x1),'hasMask':![],'maskImage':Cesium__namespace['Material']['DefaultImageId'],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]};}registerClass(Text,TextMaterial);var CylinderWaveMaterialGlsl=_0x7afdbe(0x151e,0xf25);class CylinderWaveMaterial extends Cesium__namespace['Material']{constructor(_0x1dcd60={}){const _0x4a4528={_0x489eee:0x1715,_0x1dbbd2:0x99e,_0x5dc909:0x482};function _0x32a505(_0xe987ef,_0x5733c4){return _0x54a7f1(_0x5733c4-0x91,_0xe987ef);}super(conventOptions(_0x1dcd60)),this[_0x32a505(0xf2d,0x969)]=0x3e8/(_0x1dcd60['frameRate']||0x3c),this['_speed']=_0x1dcd60['speed']??0xa;const _0x1806df=this;let _0x320b87=Date['now']();(function _0x2c50ad(){if(_0x1806df[_0x3056d3(_0x4a4528._0x489eee,0xc7b)])return;_0x1806df['animateFrame']=window['requestAnimationFrame'](_0x2c50ad);const _0x1d3079=Date['now']();function _0x2cc790(_0x1733bf,_0x43f35e){return _0x32a505(_0x43f35e,_0x1733bf-0x35);}const _0x50c3b8=_0x1d3079-_0x320b87;function _0x3056d3(_0x4f37ba,_0x3a1598){return _0x32a505(_0x4f37ba,_0x3a1598- -0x3f0);}_0x50c3b8>_0x1806df['_frameTime']&&(_0x320b87=_0x1d3079-_0x50c3b8%_0x1806df[_0x2cc790(_0x4a4528._0x1dbbd2,0x469)],_0x1806df[_0x3056d3(_0x4a4528._0x5dc909,0x451)]());}());}[_0x54a7f1(0x7b0,0x1b0)](){const _0x5c3ef7={_0x49be6c:0x2a9,_0x3e4950:0x38d},_0x467347={_0x137968:0x11e},_0x309ee1={_0x2c31ab:0x28b};function _0x389512(_0x5e99ab,_0x2980eb){return _0x54a7f1(_0x5e99ab- -_0x309ee1._0x2c31ab,_0x2980eb);}let _0x163ba1=this['uniforms']['offset'];function _0x1b4c34(_0x514784,_0x39b5fd){return _0x54a7f1(_0x514784- -_0x467347._0x137968,_0x39b5fd);}_0x163ba1-=0.0001*this[_0x389512(0x2bf,_0x5c3ef7._0x49be6c)],_0x163ba1>0x1&&(_0x163ba1=0x0),this['uniforms'][_0x1b4c34(0x7fa,_0x5c3ef7._0x3e4950)]=_0x163ba1;}['destroy'](_0x53ec71){const _0x590a58={_0x21a9a4:0x72};window['cancelAnimationFrame'](this[_0x908bd7(-0x200,_0x590a58._0x21a9a4)]);function _0x908bd7(_0x526c27,_0x153516){return _0x54a7f1(_0x526c27- -0x465,_0x153516);}return delete this['animateFrame'],super['destroy'](_0x53ec71);}}function conventOptions(_0x58973b){const _0x52c4d7={_0x105254:0x892};return{'fabric':{'uniforms':{'color':getCesiumColor(_0x58973b['color'],new Cesium__namespace['Color'](0x2,0x1,0x0,0.8)),'repeat':_0x58973b['repeat']??0x1e,'thickness':_0x58973b['thickness']??0.3,'offset':_0x58973b['offset']??0x0,'globalAlpha':0x1},'source':CylinderWaveMaterialGlsl},'translucent':function(_0x2545d5){const _0x439a69={_0x20934c:0xac};function _0x15f902(_0x20c5f7,_0x21d2ae){return _0x536c(_0x21d2ae- -_0x439a69._0x20934c,_0x20c5f7);}return _0x2545d5['uniforms'][_0x15f902(_0x52c4d7._0x105254,0x103f)]['alpha']<0x1;}};}registerClass(CylinderWave,CylinderWaveMaterial);class BaseMaterialProperty{constructor(_0x57b5ec={}){this['options']=_0x57b5ec,this['_definitionChanged']=new Cesium__namespace['Event']();}get[_0x7afdbe(0x190b,0x1530)](){return!![];}get[_0x7afdbe(0xd6d,0x1499)](){return this['_definitionChanged'];}['getType'](_0x2c8408){return null;}['getValue'](_0x17606a,_0x36ef1c={}){return _0x36ef1c;}[_0x54a7f1(0xee5,0x18be)](_0x3e07ee){return this===_0x3e07ee;}}class CircleScanMaterialProperty extends BaseMaterialProperty{constructor(_0x360f4a={}){const _0x110520={_0x5ef981:0xa37,_0x9709f1:0x979};function _0x466f50(_0x21585f,_0x176dc2){return _0x54a7f1(_0x21585f-0x14,_0x176dc2);}super(_0x360f4a);function _0x3a6974(_0x4c3dc4,_0x30072d){return _0x54a7f1(_0x30072d-0x114,_0x4c3dc4);}this['image']=_0x360f4a[_0x3a6974(-0x39f,0x3f9)]??_0x360f4a[_0x466f50(_0x110520._0x5ef981,0x10e)],this[_0x3a6974(0xe47,0x1326)]=_0x360f4a['color'],this['globalAlpha']=_0x360f4a[_0x3a6974(-0x2c,_0x110520._0x9709f1)]??0x1;}[_0x7afdbe(0x1018,0x5e6)](_0x148546){return CircleScan;}[_0x54a7f1(0xaf2,0x15ad)](_0x4f9528,_0x508919){const _0x117484={_0x4b077d:0x12bf,_0x5e0d1a:0x107b,_0x15b9a8:0x428},_0x2f3629={_0x1f243a:0x197},_0x5436c0={_0x21efca:0xeb};function _0x157d76(_0x5662a6,_0x398ce5){return _0x7afdbe(_0x398ce5,_0x5662a6- -_0x5436c0._0x21efca);}!Cesium__namespace['defined'](_0x508919)&&(_0x508919={});_0x508919[_0x3de015(_0x117484._0x4b077d,_0x117484._0x5e0d1a)]=getCesiumColor(this[_0x3de015(0xc89,0x107b)],new Cesium__namespace['Color'](0x1,0x0,0x0,0.5),_0x4f9528),_0x508919[_0x157d76(_0x117484._0x15b9a8,0x8c7)]=this['image'],_0x508919['globalAlpha']=this[_0x157d76(0x9a8,-0x45)];function _0x3de015(_0x1a93c6,_0x1ee067){return _0x54a7f1(_0x1ee067- -_0x2f3629._0x1f243a,_0x1a93c6);}return _0x508919;}['equals'](_0x48af6d){const _0x4e36cb={_0xa7b7a8:0xdc7,_0x14e4d6:0xdc7};function _0x31a220(_0xc98428,_0x214067){return _0x54a7f1(_0xc98428- -0x44b,_0x214067);}function _0x49477e(_0x314e72,_0x3dfcc2){return _0x7afdbe(_0x314e72,_0x3dfcc2- -0x371);}return this===_0x48af6d||_0x48af6d instanceof CircleScanMaterialProperty&&Cesium__namespace[_0x31a220(0xcb1,0xb7a)]['equals'](this[_0x31a220(_0x4e36cb._0xa7b7a8,0x162c)],_0x48af6d[_0x31a220(_0x4e36cb._0x14e4d6,0x981)])&&this[_0x49477e(-0x7d8,0x1a2)]===_0x48af6d['image'];}}registerPropertyClass(CircleScan,CircleScanMaterialProperty);class CircleWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x3c0a36={}){const _0xc1bf35={_0x3d54b3:0xd09,_0x303d99:0x79a,_0x249d57:0x62,_0x4062d9:0xb98,_0x251ce6:0xcbe,_0x46df86:0x79a,_0x1fb17d:0x1012},_0x401769={_0x16da7d:0x509},_0x31f782={_0x262f2c:0x500};super(_0x3c0a36),this[_0x4ea9f6(_0xc1bf35._0x3d54b3,0x174f)]=_0x3c0a36[_0x2353c0(0xf40,0xdda)],this['speed']=_0x3c0a36['speed']??0xa;function _0x2353c0(_0x1f6db8,_0x3b5e33){return _0x7afdbe(_0x3b5e33,_0x1f6db8- -_0x31f782._0x262f2c);}this['duration']=_0x3c0a36['duration'],this['count']=_0x3c0a36['count']??0x1;function _0x4ea9f6(_0x53093b,_0x59c9f9){return _0x54a7f1(_0x53093b- -_0x401769._0x16da7d,_0x59c9f9);}this[_0x2353c0(_0xc1bf35._0x303d99,0x4f9)]=_0x3c0a36['gradient']??0.1,this['globalAlpha']=_0x3c0a36[_0x2353c0(0x593,-_0xc1bf35._0x249d57)]??0x1,this['count']<=0x0&&(this[_0x4ea9f6(_0xc1bf35._0x4062d9,_0xc1bf35._0x251ce6)]=0x1),this[_0x2353c0(_0xc1bf35._0x46df86,0x88d)]<0x0&&(this[_0x2353c0(_0xc1bf35._0x303d99,_0xc1bf35._0x1fb17d)]=0x0),this[_0x2353c0(_0xc1bf35._0x46df86,0x766)]>0x1&&(this[_0x4ea9f6(0x563,0xb5d)]=0x1);}['getType'](_0x58dfa7){return CircleWave;}[_0x7afdbe(0xbe5,0xd20)](_0x50b259,_0xa89428){const _0x18ed8c={_0x11d1bf:0x13df,_0x1c0c1d:0x1034,_0x1391b2:0xdfe,_0x14fb92:0x1ce,_0x328756:0x991,_0x4dbe77:0x1109,_0x2e1ac6:0x115b,_0x1d8303:0x699,_0x4988d4:0x39,_0x404ecc:0xe4},_0x263218={_0x578007:0x250};!Cesium__namespace[_0x4e65b2(0x97a,_0x18ed8c._0x11d1bf)](_0xa89428)&&(_0xa89428={});function _0x4e65b2(_0x545c06,_0x328cb6){return _0x54a7f1(_0x328cb6- -0x2a2,_0x545c06);}_0xa89428['color']=getCesiumColor(this['color'],Cesium__namespace[_0x4a0e90(_0x18ed8c._0x1c0c1d,0x1154)]['YELLOW'],_0x50b259),_0xa89428['count']=this[_0x4a0e90(0xe51,0x1019)];function _0x4a0e90(_0x35e72b,_0x5f07ef){return _0x54a7f1(_0x35e72b- -_0x263218._0x578007,_0x5f07ef);}return _0xa89428['gradient']=this['gradient'],_0xa89428['speed']=this[_0x4e65b2(0xbad,_0x18ed8c._0x1391b2)],_0xa89428['globalAlpha']=this[_0x4a0e90(0x615,-_0x18ed8c._0x14fb92)],this['duration']?(this[_0x4a0e90(_0x18ed8c._0x328756,0x577)]===undefined&&(this['_time']=new Date()[_0x4e65b2(0x1535,_0x18ed8c._0x4dbe77)]()),_0xa89428['time']=(new Date()[_0x4a0e90(_0x18ed8c._0x2e1ac6,0x1adf)]()-this[_0x4e65b2(0xb35,0x93f)])/(this[_0x4a0e90(_0x18ed8c._0x1d8303,_0x18ed8c._0x4988d4)]*0x3e8)):_0xa89428[_0x4e65b2(_0x18ed8c._0x404ecc,0x7bd)]=-0x1,_0xa89428;}['equals'](_0xe27efc){const _0x457460={_0x5cb776:0xdff,_0x3859f4:0xbd7,_0x513b18:0x72c},_0x4c94aa={_0xde4f3d:0x47};function _0x3dea50(_0x4d196e,_0x1ddd93){return _0x54a7f1(_0x4d196e-0x16b,_0x1ddd93);}function _0x1a5e0e(_0x2158ef,_0x2b0ca6){return _0x54a7f1(_0x2158ef- -_0x4c94aa._0xde4f3d,_0x2b0ca6);}return this===_0xe27efc||_0xe27efc instanceof CircleWaveMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x1a5e0e(0x11cb,_0x457460._0x5cb776)],_0xe27efc['color'])&&this[_0x3dea50(0x120c,0x1694)]===_0xe27efc['count']&&this['speed']===_0xe27efc['speed']&&this['gradient']===_0xe27efc[_0x3dea50(_0x457460._0x3859f4,_0x457460._0x513b18)];}}registerPropertyClass(CircleWave,CircleWaveMaterialProperty),register$4(CylinderWave,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x2,0x1,0x0,0.8),'repeat':0x1e,'thickness':0.3,'offset':0x0,'globalAlpha':0x1},'source':CylinderWaveMaterialGlsl},'translucent':!![]});class CylinderWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x45e9e7={}){const _0x28a658={_0x26e7cf:0xef8,_0x5bd427:0xa08},_0x14112c={_0xc4304e:0x14b};function _0x561443(_0x2a70c8,_0x245eb2){return _0x54a7f1(_0x245eb2-_0x14112c._0xc4304e,_0x2a70c8);}super(_0x45e9e7),this['color']=_0x45e9e7['color'],this['repeat']=_0x45e9e7['repeat']??0x1e,this['thickness']=_0x45e9e7['thickness']??0.3,this['speed']=_0x45e9e7[_0x561443(_0x28a658._0x26e7cf,0x11eb)]??0xa,this['offset']=0x0;function _0x3d35c5(_0x12bdf4,_0xc95644){return _0x54a7f1(_0x12bdf4-0x1a3,_0xc95644);}this['globalAlpha']=_0x45e9e7[_0x3d35c5(_0x28a658._0x5bd427,0x9f2)]??0x1;}['getType'](_0x3c72c4){return CylinderWave;}['getValue'](_0x3d31aa,_0xd8eb7){const _0x97eabb={_0x4daa97:0xe15,_0xe3ddac:0xb0b,_0x2e01fc:0x8e3,_0x4209da:0x2f1,_0xb7d3f0:0x468},_0x568b9f={_0x4f54fc:0x3b};!Cesium__namespace['defined'](_0xd8eb7)&&(_0xd8eb7={});this['offset']-=0.0001*this['speed'];this['offset']>0x1&&(this['offset']=0x0);_0xd8eb7[_0x239b22(0x1056,_0x97eabb._0x4daa97)]=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x2,0x1,0x0,0.8),_0x3d31aa),_0xd8eb7[_0x239b22(0xb10,0x3f6)]=this['repeat'],_0xd8eb7[_0x528563(0xc39,_0x97eabb._0xe3ddac)]=this['offset'],_0xd8eb7[_0x239b22(_0x97eabb._0x2e01fc,_0x97eabb._0x4209da)]=this['thickness'];function _0x239b22(_0x5dbe8f,_0x202226){return _0x7afdbe(_0x5dbe8f,_0x202226- -0x62b);}function _0x528563(_0xbde870,_0x549eee){return _0x7afdbe(_0xbde870,_0x549eee- -_0x568b9f._0x4f54fc);}return _0xd8eb7['globalAlpha']=this[_0x239b22(-0x655,_0x97eabb._0xb7d3f0)],_0xd8eb7;}['equals'](_0x24e235){const _0x258bfd={_0x508a74:0x1360,_0x2292ab:0x3d1},_0x5f4229={_0x152024:0x192};function _0x45ea50(_0x5823b0,_0x422ed8){return _0x7afdbe(_0x422ed8,_0x5823b0-0x5f);}function _0x4a8b78(_0x49b5c4,_0x121a49){return _0x54a7f1(_0x121a49- -_0x5f4229._0x152024,_0x49b5c4);}return this===_0x24e235||_0x24e235 instanceof CylinderWaveMaterialProperty&&Cesium__namespace['Property'][_0x45ea50(0x1172,_0x258bfd._0x508a74)](this['color'],_0x24e235['color'])&&this['repeat']===_0x24e235['repeat']&&this[_0x4a8b78(_0x258bfd._0x2292ab,0x55c)]===_0x24e235['thickness'];}}registerPropertyClass(CylinderWave,CylinderWaveMaterialProperty);class DigitalFlowMaterialProperty extends BaseMaterialProperty{constructor(_0xc57a72={}){const _0x140c8d={_0x19b1ba:0xddb,_0x332d17:0xed,_0x461cb3:0x515},_0x536942={_0x4fdc96:0x2c5},_0x431ea2={_0x13bd65:0x94};super(_0xc57a72),this['color']=getCesiumColor(_0xc57a72['color'],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0));function _0x4a0d98(_0x1cd2d7,_0x54505f){return _0x7afdbe(_0x54505f,_0x1cd2d7- -_0x431ea2._0x13bd65);}this[_0x2a3fbb(_0x140c8d._0x19b1ba,0x1057)]=_0xc57a72['speed']??0x5;function _0x2a3fbb(_0xd6493c,_0x48fe86){return _0x54a7f1(_0xd6493c- -_0x536942._0x4fdc96,_0x48fe86);}this['glow']=_0xc57a72[_0x2a3fbb(0x795,0x5e7)]??0x1,this[_0x2a3fbb(0x1d3,-_0x140c8d._0x332d17)]=_0xc57a72[_0x2a3fbb(0x1d3,_0x140c8d._0x461cb3)]??0x1,this['segment']=_0xc57a72['segment']??0x3,this['globalAlpha']=_0xc57a72[_0x2a3fbb(0x5a0,0x143)]??0x1;}[_0x7afdbe(-0x125,0x5e6)](_0x1069d2){return DigitalFlow;}['getValue'](_0xdbc796,_0x558136){const _0x42d20b={_0x5b1fbb:0x6b7,_0x4ff635:0xb0b,_0x20db1a:0x572},_0x40451b={_0x135ede:0x189},_0x12458e={_0x3e2253:0x2f3};!Cesium__namespace['defined'](_0x558136)&&(_0x558136={});function _0x3cd808(_0x13767f,_0x471e8a){return _0x54a7f1(_0x471e8a- -_0x12458e._0x3e2253,_0x13767f);}_0x558136[_0x3cd808(_0x42d20b._0x5b1fbb,0xf1f)]=this['color'],_0x558136['speed']=this['speed'],_0x558136['glow']=this['glow'];function _0x23516c(_0x548909,_0x1e4306){return _0x54a7f1(_0x548909- -_0x40451b._0x135ede,_0x1e4306);}return _0x558136['flowGlow']=this['flowGlow'],_0x558136['segment']=this['segment'],_0x558136[_0x3cd808(_0x42d20b._0x4ff635,_0x42d20b._0x20db1a)]=this['globalAlpha'],_0x558136;}['equals'](_0x5b9e79){const _0x18b803={_0x424ed1:0x14fe,_0x119b0e:0x9f2},_0x6506ff={_0x4ada49:0x393};function _0x4ab331(_0x3c00e1,_0x23c2ad){return _0x7afdbe(_0x23c2ad,_0x3c00e1- -0x296);}function _0x337489(_0x4198f4,_0x5c45fb){return _0x54a7f1(_0x5c45fb- -_0x6506ff._0x4ada49,_0x4198f4);}return this===_0x5b9e79||_0x5b9e79 instanceof DigitalFlowMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x5b9e79[_0x337489(_0x18b803._0x424ed1,0xe7f)])&&this[_0x4ab331(_0x18b803._0x119b0e,0xe6a)]===_0x5b9e79['glow']&&this['speed']===_0x5b9e79['speed'];}}registerPropertyClass(DigitalFlow,DigitalFlowMaterialProperty);class EllipsoidElectricMaterialProperty extends BaseMaterialProperty{constructor(_0x1b67ab={}){const _0x5dd55f={_0x27d288:0xc27},_0x2281ce={_0x3d4efd:0x577},_0x37a5f9={_0x5c578c:0x1aa};super(_0x1b67ab);function _0x267c8b(_0x12ff29,_0x3c5793){return _0x54a7f1(_0x12ff29- -_0x37a5f9._0x5c578c,_0x3c5793);}this[_0x37791e(0xec9,_0x5dd55f._0x27d288)]=getCesiumColor(_0x1b67ab['color'],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0)),this['speed']=_0x1b67ab['speed']??0x5;function _0x37791e(_0x17fb73,_0x286bdf){return _0x7afdbe(_0x286bdf,_0x17fb73- -_0x2281ce._0x3d4efd);}this['globalAlpha']=_0x1b67ab[_0x267c8b(0x6bb,0xab)]??0x1;}[_0x54a7f1(0x3b8,0xb40)](_0x11dfae){return EllipsoidElectric;}[_0x54a7f1(0xaf2,0x560)](_0x3240f6,_0xea5c04){const _0x3a480c={_0x3d1e75:0x123d,_0x24fad2:0xdf4,_0x9f4f68:0x645,_0x5831f9:0xe65},_0x42b23b={_0x582f3d:0x469};!Cesium__namespace['defined'](_0xea5c04)&&(_0xea5c04={});_0xea5c04['color']=this[_0xad37c2(0x19f1,0xfd7)],_0xea5c04[_0xea2bb3(_0x3a480c._0x3d1e75,_0x3a480c._0x24fad2)]=this[_0xad37c2(_0x3a480c._0x9f4f68,_0x3a480c._0x5831f9)],_0xea5c04['globalAlpha']=this[_0xea2bb3(0x1057,0x5b9)];function _0xad37c2(_0x105c6f,_0x467d4a){return _0x7afdbe(_0x105c6f,_0x467d4a- -_0x42b23b._0x582f3d);}function _0xea2bb3(_0x5e177d,_0x15694a){return _0x54a7f1(_0x15694a- -0x2ac,_0x5e177d);}return _0xea5c04;}[_0x7afdbe(0x19db,0x1113)](_0xe6e47d){const _0x14dda4={_0x28859d:0x10dd,_0x33cd63:0xeab,_0x30bda9:0x1220,_0x24d517:0xeed},_0x1f0349={_0x401b27:0x367};function _0x543044(_0x3344c8,_0x4750ea){return _0x54a7f1(_0x4750ea- -_0x1f0349._0x401b27,_0x3344c8);}function _0x4764f1(_0x4636b0,_0x2926ec){return _0x7afdbe(_0x4636b0,_0x2926ec- -0x683);}return this===_0xe6e47d||_0xe6e47d instanceof EllipsoidElectricMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x543044(_0x14dda4._0x28859d,_0x14dda4._0x33cd63)],_0xe6e47d['color'])&&this[_0x543044(_0x14dda4._0x30bda9,0xd39)]===_0xe6e47d[_0x543044(_0x14dda4._0x24d517,0xd39)];}}registerPropertyClass(EllipsoidElectric,EllipsoidElectricMaterialProperty);class EllipsoidWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x1c84c2={}){function _0x334c6d(_0x4d455e,_0xafc73){return _0x54a7f1(_0xafc73-0x27c,_0x4d455e);}super(_0x1c84c2),this['color']=getCesiumColor(_0x1c84c2[_0x334c6d(0x19ab,0x148e)],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0)),this['speed']=_0x1c84c2['speed']??0x5,this['globalAlpha']=_0x1c84c2['globalAlpha']??0x1;}[_0x54a7f1(0x3b8,0x317)](_0x438251){return EllipsoidWave;}['getValue'](_0x43d6ed,_0x58504b){const _0x131459={_0x50b3a4:0x1427,_0x526a8f:0xb9a,_0x529ad4:0xfb8,_0x30d62e:0x4a0,_0x12deeb:0x350,_0x47ccf7:0x15d},_0x2e3601={_0x5bbb95:0x3c5};!Cesium__namespace[_0xdbe7e3(_0x131459._0x50b3a4,_0x131459._0x526a8f)](_0x58504b)&&(_0x58504b={});function _0x17af50(_0x2c0bb0,_0x196d63){return _0x54a7f1(_0x2c0bb0- -_0x2e3601._0x5bbb95,_0x196d63);}_0x58504b['color']=this[_0xdbe7e3(_0x131459._0x529ad4,0x886)];function _0xdbe7e3(_0x343ea4,_0x382c05){return _0x54a7f1(_0x343ea4- -0x25a,_0x382c05);}return _0x58504b['speed']=this['speed'],_0x58504b[_0x17af50(_0x131459._0x30d62e,-_0x131459._0x12deeb)]=this[_0x17af50(0x4a0,-_0x131459._0x47ccf7)],_0x58504b;}[_0x7afdbe(0x1962,0x1113)](_0x27034f){const _0x31cf3d={_0x5d4dee:0x153a,_0x36a82a:0x118a},_0x222b16={_0x3e59a5:0x144},_0x23d77e={_0x1fdde3:0x6db};function _0x3059cd(_0x4975ec,_0x4d9fa3){return _0x7afdbe(_0x4975ec,_0x4d9fa3- -_0x23d77e._0x1fdde3);}function _0x4453e2(_0x2f539b,_0x37d352){return _0x7afdbe(_0x2f539b,_0x37d352- -_0x222b16._0x3e59a5);}return this===_0x27034f||_0x27034f instanceof EllipsoidWaveMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x3059cd(0xd20,0xd65)],_0x27034f['color'])&&this['speed']===_0x27034f[_0x4453e2(_0x31cf3d._0x5d4dee,_0x31cf3d._0x36a82a)];}}registerPropertyClass(EllipsoidWave,EllipsoidWaveMaterialProperty);class Image2MaterialProperty extends BaseMaterialProperty{constructor(_0x4780b9={}){const _0x1ee3c8={_0x4ab206:0xf51,_0x216151:0x1025,_0x4977cb:0x148a,_0x12fa59:0xc0c,_0x3b6a43:0x16ad,_0x18491e:0xbba,_0x127a6e:0x16b};super(_0x4780b9),this['image']=_0x4780b9['image'],this[_0x90c94b(0xc9a,0x88e)]=_0x4780b9['maskImage'],this['opacity']=_0x4780b9['opacity']??0x1,this['color']=getCesiumColor(_0x4780b9['color'],Cesium__namespace[_0x316c28(0x12f6,0x1135)]['WHITE']);function _0x316c28(_0x2fea19,_0x260956){return _0x54a7f1(_0x260956- -0x14f,_0x2fea19);}this[_0x316c28(0x6f4,_0x1ee3c8._0x4ab206)]=_0x4780b9[_0x90c94b(0x195e,_0x1ee3c8._0x216151)]??0x0,this['rotation']=_0x4780b9['rotation']??0x0,this[_0x316c28(_0x1ee3c8._0x4977cb,_0x1ee3c8._0x12fa59)]=_0x4780b9['flipx']??![],this['flipy']=_0x4780b9['flipy']??![];function _0x90c94b(_0x516c74,_0x523fef){return _0x7afdbe(_0x516c74,_0x523fef- -0x2a9);}this[_0x90c94b(0xcad,0x4af)]=_0x4780b9['noWhite']??!this['color'][_0x316c28(_0x1ee3c8._0x3b6a43,0xd96)](Cesium__namespace[_0x90c94b(_0x1ee3c8._0x18491e,0x1209)][_0x90c94b(-_0x1ee3c8._0x127a6e,0x812)]),this['repeat']=_0x4780b9[_0x316c28(0x459,0x6a4)]??new Cesium__namespace['Cartesian2'](0x1,0x1),this['globalAlpha']=_0x4780b9['globalAlpha']??0x1;}[_0x54a7f1(0x3b8,0x96c)](_0x2187b8){return Image2;}['getValue'](_0x83aec1,_0x2baba5){const _0x4129d2={_0x48e361:0xcd0,_0x1f2ea3:0x818,_0x2b16bc:0x1216,_0x3a2fcd:0x52d,_0x126aed:0x107e},_0x555b32={_0x14f378:0x209};!Cesium__namespace[_0x4d6dde(_0x4129d2._0x48e361,0x16a6)](_0x2baba5)&&(_0x2baba5={});function _0x4d6dde(_0x58e824,_0x467048){return _0x7afdbe(_0x58e824,_0x467048- -_0x555b32._0x14f378);}_0x2baba5['image']=getCesiumValue(this['image'],null,_0x83aec1),_0x2baba5['color']=this[_0x478720(0xe80,0x1393)],_0x2baba5['opacity']=this['opacity'],_0x2baba5['speed']=this['speed'],_0x2baba5['flipx']=this['flipx'],_0x2baba5['flipy']=this['flipy'],_0x2baba5[_0x4d6dde(0x9e8,0x54f)]=this['noWhite'],_0x2baba5[_0x4d6dde(0x238,_0x4129d2._0x1f2ea3)]=this['repeat'],_0x2baba5['rotation']=this[_0x4d6dde(0x1cd2,_0x4129d2._0x2b16bc)],_0x2baba5['hasMask']=Boolean(this[_0x4d6dde(_0x4129d2._0x3a2fcd,0x92e)]),_0x2baba5['maskImage']=this['maskImage'];function _0x478720(_0x2af153,_0x4ee103){return _0x54a7f1(_0x2af153- -0x392,_0x4ee103);}return _0x2baba5['globalAlpha']=this[_0x4d6dde(_0x4129d2._0x126aed,0x88a)],_0x2baba5;}[_0x7afdbe(0x6e4,0x1113)](_0x3514cc){const _0xe2ed91={_0x114566:0xfe8,_0x4c240f:0xff6},_0x3f3502={_0x556aa2:0x13e};function _0x32ea4b(_0x1c23ca,_0x304836){return _0x54a7f1(_0x304836- -_0x3f3502._0x556aa2,_0x1c23ca);}function _0x2f1b88(_0x3a1585,_0x1324d2){return _0x54a7f1(_0x1324d2- -0x21c,_0x3a1585);}return this===_0x3514cc||_0x3514cc instanceof Image2MaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x2f1b88(_0xe2ed91._0x114566,_0xe2ed91._0x4c240f)],_0x3514cc[_0x2f1b88(0x11f2,0xff6)])&&this['opacity']===_0x3514cc['opacity']&&this['image']===_0x3514cc[_0x2f1b88(0x734,0xc9)];}}registerPropertyClass(Image2,Image2MaterialProperty);class LineBloomMaterialProperty extends BaseMaterialProperty{constructor(_0x28c19a={}){const _0x22a733={_0x25973c:0xab8,_0x151c79:0x7e7},_0x16dc0e={_0x510b3b:0x6cc};super(_0x28c19a),this['color']=getCesiumColor(_0x28c19a[_0x15e14a(0x1270,0xb63)],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0));function _0x15e14a(_0x340782,_0x1f2e02){return _0x54a7f1(_0x340782-0x5e,_0x1f2e02);}this['speed']=_0x28c19a['speed']??0x5;function _0x1bdaa4(_0x19e40b,_0x405b8b){return _0x7afdbe(_0x405b8b,_0x19e40b- -_0x16dc0e._0x510b3b);}this['glow']=_0x28c19a[_0x15e14a(_0x22a733._0x25973c,_0x22a733._0x151c79)]??0x1,this['globalAlpha']=_0x28c19a[_0x1bdaa4(0x3c7,-0x678)]??0x1;}[_0x54a7f1(0x3b8,0xe4)](_0x5bcc42){return LineBloom;}[_0x54a7f1(0xaf2,0x78)](_0x301528,_0x582079){const _0x2c73b5={_0x6fc50e:0x1378,_0xcf7bd:0xd97,_0x25ef6a:0xbae};function _0x44a679(_0xb4869e,_0x47b418){return _0x54a7f1(_0xb4869e-0xb5,_0x47b418);}!Cesium__namespace[_0x2e577a(0x10cc,_0x2c73b5._0x6fc50e)](_0x582079)&&(_0x582079={});_0x582079[_0x44a679(0x12c7,0x81b)]=this['color'];function _0x2e577a(_0x55c818,_0x3996c3){return _0x54a7f1(_0x3996c3- -0x309,_0x55c818);}return _0x582079[_0x2e577a(0x1631,_0x2c73b5._0xcf7bd)]=this['speed'],_0x582079[_0x2e577a(_0x2c73b5._0x25ef6a,0x751)]=this['glow'],_0x582079['globalAlpha']=this['globalAlpha'],_0x582079;}['equals'](_0x5bb94e){const _0x1c66db={_0x413386:0x4a};function _0x36a6f0(_0x56fe7a,_0x5a265e){return _0x7afdbe(_0x56fe7a,_0x5a265e- -0x6e4);}function _0x1b9507(_0x242b0e,_0x1b75d1){return _0x54a7f1(_0x242b0e- -_0x1c66db._0x413386,_0x1b75d1);}return this===_0x5bb94e||_0x5bb94e instanceof LineBloomMaterialProperty&&Cesium__namespace[_0x1b9507(0x10b2,0xd7a)]['equals'](this[_0x1b9507(0x11c8,0xdf2)],_0x5bb94e['color'])&&this['glow']===_0x5bb94e[_0x36a6f0(0x78a,0x5a4)]&&this[_0x1b9507(0x1056,0x15f5)]===_0x5bb94e[_0x1b9507(0x1056,0x11d8)];}}registerPropertyClass(LineBloom,LineBloomMaterialProperty);class LineFlickerMaterialProperty extends BaseMaterialProperty{constructor(_0x48892c={}){const _0x16a0a1={_0x413c08:0xee4,_0x124d54:0x11fd,_0x2aa044:0x82c,_0x1e8878:0x69c};super(_0x48892c);function _0x26443f(_0x1ae1be,_0xb29289){return _0x7afdbe(_0x1ae1be,_0xb29289- -0x3f7);}this['color']=_0x48892c[_0x3a316c(0xe11,_0x16a0a1._0x413c08)],this[_0x26443f(_0x16a0a1._0x124d54,0xed7)]=_0x48892c['speed']??0x2;function _0x3a316c(_0x4520af,_0xa00075){return _0x54a7f1(_0xa00075- -0x32e,_0x4520af);}this['globalAlpha']=_0x48892c[_0x26443f(_0x16a0a1._0x2aa044,_0x16a0a1._0x1e8878)]??0x1;}[_0x7afdbe(0xac1,0x5e6)](_0x454e7f){return LineFlicker;}['getValue'](_0x3c718f,_0x593bda){const _0x2cc6ad={_0x3ca4c6:0x547},_0x12d1c0={_0x2b4f8b:0x31e},_0x157e5b={_0x485aae:0x49d};function _0x1d0f3c(_0x2ace9d,_0x449700){return _0x54a7f1(_0x2ace9d- -_0x157e5b._0x485aae,_0x449700);}!Cesium__namespace['defined'](_0x593bda)&&(_0x593bda={});_0x593bda['color']=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0),_0x3c718f),_0x593bda[_0x1d0f3c(0xc03,0x3c0)]=this['speed'];function _0xa2c9cd(_0x2fd6bd,_0x4c3a22){return _0x54a7f1(_0x4c3a22- -_0x12d1c0._0x2b4f8b,_0x2fd6bd);}return _0x593bda['globalAlpha']=this[_0xa2c9cd(-0x3b2,_0x2cc6ad._0x3ca4c6)],_0x593bda;}[_0x7afdbe(0x133c,0x1113)](_0x3ceebe){return this===_0x3ceebe||_0x3ceebe instanceof LineFlickerMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x3ceebe['color'])&&this['speed']===_0x3ceebe['speed'];}}registerPropertyClass(LineFlicker,LineFlickerMaterialProperty);class LineFlowColorMaterialProperty extends BaseMaterialProperty{constructor(_0x2eab02={}){const _0x206f68={_0x4c52a3:0xfac,_0x30865c:0x14cd,_0x2ac62b:0x111a,_0x3b9ed3:0xf05,_0x18e8da:0x95d},_0x336017={_0x562740:0xf8};super(_0x2eab02),this[_0x4cf77d(_0x206f68._0x4c52a3,0xbad)]=_0x2eab02['color'],this[_0x3c7947(0xf8f,0x1198)]=_0x2eab02[_0x3c7947(_0x206f68._0x30865c,0x1198)]??0x2;function _0x4cf77d(_0x273349,_0x371bb1){return _0x54a7f1(_0x273349- -0x266,_0x371bb1);}this['percent']=_0x2eab02[_0x4cf77d(0xbb3,0x5a6)]??0.04;function _0x3c7947(_0x30a4af,_0x1db52e){return _0x54a7f1(_0x1db52e-_0x336017._0x562740,_0x30a4af);}this['alpha']=_0x2eab02[_0x4cf77d(0x170,0x53e)]??0.1,this[_0x4cf77d(_0x206f68._0x2ac62b,_0x206f68._0x3b9ed3)]=_0x2eab02['startTime']??0x0,this[_0x3c7947(0x634,_0x206f68._0x18e8da)]=_0x2eab02[_0x3c7947(0x1371,_0x206f68._0x18e8da)]??0x1;}['getType'](_0x1bd0ad){return LineFlowColor;}[_0x7afdbe(0x25f,0xd20)](_0x230f5d,_0x310d70){const _0x401824={_0x17611e:0x83,_0x1282ac:0x122f,_0x3a5ea9:0xe68,_0x1784d7:0x714,_0x2085c2:0x55e};!Cesium__namespace[_0x593b39(0x1eb0,0x16f9)](_0x310d70)&&(_0x310d70={});function _0x3c1d4d(_0x3a8bd2,_0x3d8c62){return _0x7afdbe(_0x3d8c62,_0x3a8bd2- -0x37f);}_0x310d70['color']=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x1,0x0,0x0,0x1),_0x230f5d);function _0x593b39(_0x441c1d,_0xb5478c){return _0x7afdbe(_0x441c1d,_0xb5478c- -0x1b6);}return _0x310d70['speed']=this[_0x593b39(0x17ff,0x1118)],_0x310d70['percent']=this['percent'],_0x310d70['alpha']=this[_0x593b39(-_0x401824._0x17611e,0x44e)],_0x310d70[_0x3c1d4d(_0x401824._0x1282ac,_0x401824._0x3a5ea9)]=this['startTime'],_0x310d70[_0x3c1d4d(0x714,0x22d)]=this[_0x3c1d4d(_0x401824._0x1784d7,_0x401824._0x2085c2)],_0x310d70;}[_0x7afdbe(0x1537,0x1113)](_0x101478){const _0x1d28a7={_0x4acc0d:0x9d3,_0x5615c2:0x75},_0x23b284={_0x367501:0x44b};function _0x31a0a7(_0x2cadc3,_0x1f4529){return _0x54a7f1(_0x2cadc3- -0x2c6,_0x1f4529);}function _0x4eaf3f(_0x5baadb,_0x551943){return _0x54a7f1(_0x551943- -_0x23b284._0x367501,_0x5baadb);}return this===_0x101478||_0x101478 instanceof LineFlowColorMaterialProperty&&Cesium__namespace[_0x4eaf3f(0xeb4,0xcb1)]['equals'](this['color'],_0x101478[_0x4eaf3f(_0x1d28a7._0x4acc0d,0xdc7)])&&this['speed']===_0x101478['speed']&&this['percent']===_0x101478['percent']&&this['startTime']===_0x101478['startTime']&&this[_0x4eaf3f(0x1f4,-_0x1d28a7._0x5615c2)]===_0x101478['alpha'];}}registerPropertyClass(LineFlowColor,LineFlowColorMaterialProperty);class LineFlowMaterialProperty extends BaseMaterialProperty{constructor(_0x3f4986={}){const _0x203e06={_0x578bda:0x2dc,_0x3f7cb5:0x975,_0x2dd079:0x1c4e,_0x2274aa:0x12ac,_0x3918f0:0x14cb,_0x2bff98:0x17ff,_0x7428d4:0x8e0,_0x12c64e:0xef0,_0x59b583:0x17a4,_0x3634e6:0x1252,_0x2ecbc3:0x16a9,_0x3ced19:0x124e,_0x2389e5:0xa94,_0x3f79ae:0x12d0,_0x923e57:0xe82};super(_0x3f4986),this[_0x148a2a(_0x203e06._0x578bda,_0x203e06._0x3f7cb5)]=_0x3f4986['image']??_0x3f4986['url'],this['color']=_0x3f4986['color']??new Cesium__namespace[(_0x4a531c(_0x203e06._0x2dd079,_0x203e06._0x2274aa))](0x1,0x1,0x1,0x0),this['axisY']=_0x3f4986['axisY']??![],this['mixt']=_0x3f4986[_0x148a2a(_0x203e06._0x3918f0,0x1c12)]??![],this[_0x4a531c(_0x203e06._0x2bff98,0x10c8)]=_0x3f4986['speed']??0xa;function _0x148a2a(_0x3c478b,_0x4178a8){return _0x54a7f1(_0x3c478b- -0x9,_0x4178a8);}this[_0x4a531c(0x4ff,0x911)]=_0x3f4986[_0x148a2a(_0x203e06._0x7428d4,0x44d)],this[_0x148a2a(0x7ea,_0x203e06._0x12c64e)]=_0x3f4986['repeat']??new Cesium__namespace[(_0x4a531c(0x1bc5,0x172c))](0x1,0x1),this['image2']=_0x3f4986['image2']??_0x3f4986[_0x4a531c(0x20f0,_0x203e06._0x59b583)];function _0x4a531c(_0x40505e,_0x3e36cf){return _0x7afdbe(_0x40505e,_0x3e36cf- -0x206);}this['color2']=_0x3f4986['color2']??new Cesium__namespace[(_0x148a2a(0x127b,_0x203e06._0x3634e6))](0x1,0x1,0x1),this['hasImage2']=Cesium__namespace[_0x4a531c(0x1607,_0x203e06._0x2ecbc3)](this[_0x4a531c(_0x203e06._0x3ced19,0x179a)]),this['bgColor']=_0x3f4986[_0x148a2a(_0x203e06._0x2389e5,_0x203e06._0x3f79ae)]??Cesium__namespace[_0x4a531c(_0x203e06._0x923e57,0x12ac)]['TRANSPARENT'],this['globalAlpha']=_0x3f4986[_0x148a2a(0x85c,0x10f3)]??0x1;}['getType'](_0x560239){return LineFlow;}[_0x54a7f1(0xaf2,0x5ec)](_0x512c08,_0x5d555e){const _0x3202a6={_0x1ced2c:0x151a,_0x2985a9:0x9a,_0x589779:0x929,_0x3d83cf:0xa56,_0x7b7500:0x1f0c,_0xcaf8ad:0x1321,_0x491d08:0x1737,_0x392e4a:0xe44,_0x21663a:0x168d,_0x2ad06a:0x140a,_0x4faa4e:0x3e7,_0x55114a:0xce8,_0x33c0f8:0x8f8,_0x5627b7:0x17f6,_0x4e06e3:0x1933,_0x4e3589:0x1c37,_0x592eb9:0xc94,_0x4ac67f:0x605};!Cesium__namespace[_0x5c1a5e(0x1767,_0x3202a6._0x1ced2c)](_0x5d555e)&&(_0x5d555e={});function _0x5c1a5e(_0x485089,_0x5d2050){return _0x54a7f1(_0x5d2050- -0x167,_0x485089);}_0x5d555e['image']=this[_0x2f0817(-_0x3202a6._0x2985a9,0x548)],_0x5d555e['color']=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x1,0x1,0x1,0x0),_0x512c08),_0x5d555e['repeat']=getCesiumValue(this[_0x2f0817(_0x3202a6._0x589779,_0x3202a6._0x3d83cf)],Cesium__namespace[_0x2f0817(_0x3202a6._0x7b7500,0x1967)],_0x512c08);function _0x2f0817(_0x375a20,_0x11247){return _0x54a7f1(_0x11247-0x263,_0x375a20);}return _0x5d555e['axisY']=this[_0x2f0817(0x979,_0x3202a6._0xcaf8ad)],_0x5d555e[_0x2f0817(0x1a22,_0x3202a6._0x491d08)]=this['mixt'],_0x5d555e['speed']=getCesiumValue(this['speed'],Number,_0x512c08),this['duration']?(this[_0x2f0817(0x10b8,_0x3202a6._0x392e4a)]===undefined&&(this[_0x2f0817(_0x3202a6._0x21663a,_0x3202a6._0x392e4a)]=new Date()[_0x2f0817(_0x3202a6._0x2ad06a,0x160e)]()),_0x5d555e[_0x2f0817(_0x3202a6._0x4faa4e,0xcc2)]=(new Date()['getTime']()-this[_0x5c1a5e(_0x3202a6._0x55114a,0xa7a)])/(this['duration']*0x3e8)):_0x5d555e[_0x5c1a5e(0x108a,_0x3202a6._0x33c0f8)]=-0x1,_0x5d555e['hasImage2']=this[_0x2f0817(_0x3202a6._0x5627b7,_0x3202a6._0x4e06e3)],_0x5d555e[_0x5c1a5e(_0x3202a6._0x4e3589,0x160b)]=this['image2'],_0x5d555e[_0x2f0817(_0x3202a6._0x592eb9,0x10e9)]=getCesiumColor(this['color2'],new Cesium__namespace[(_0x2f0817(0x1bc3,0x14e7))](0x1,0x1,0x1),_0x512c08),_0x5d555e['bgColor']=getCesiumColor(this['bgColor'],Cesium__namespace['Color'][_0x5c1a5e(0x1522,0x1381)],_0x512c08),_0x5d555e[_0x5c1a5e(_0x3202a6._0x4ac67f,0x6fe)]=this['globalAlpha'],_0x5d555e;}[_0x54a7f1(0xee5,0x1411)](_0x44b0ab){const _0x519f90={_0x1f6529:0x1140,_0xc99567:0xa1a,_0x1e2967:0x11a0,_0x4909a0:0x12fb,_0x59e80d:0x192b,_0x1ea80d:0x1cbd};function _0x30f1de(_0x28c236,_0x42ac0a){return _0x54a7f1(_0x28c236-0x25b,_0x42ac0a);}function _0x4c2d32(_0x50d237,_0x57c711){return _0x7afdbe(_0x57c711,_0x50d237- -0x481);}return this===_0x44b0ab||_0x44b0ab instanceof LineFlowMaterialProperty&&Cesium__namespace['Property'][_0x30f1de(_0x519f90._0x1f6529,0x917)](this[_0x30f1de(0x146d,0x1cd0)],_0x44b0ab['color'])&&Cesium__namespace[_0x4c2d32(0xea9,0x136b)][_0x4c2d32(0xc92,_0x519f90._0xc99567)](this['repeat'],_0x44b0ab['repeat'])&&this[_0x4c2d32(0x92,0x949)]===_0x44b0ab['image']&&this[_0x30f1de(0x1319,_0x519f90._0x1e2967)]===_0x44b0ab['axisY']&&this['speed']===_0x44b0ab[_0x30f1de(_0x519f90._0x4909a0,0x133f)]&&this[_0x30f1de(_0x519f90._0x59e80d,_0x519f90._0x1ea80d)]===_0x44b0ab['hasImage2']&&this['image2']===_0x44b0ab['image2']&&Cesium__namespace['Property']['equals'](this['color2'],_0x44b0ab['color2']);}}registerPropertyClass(LineFlow,LineFlowMaterialProperty);class LineTrailMaterialProperty extends BaseMaterialProperty{constructor(_0x4937c6={}){const _0x24ee2a={_0x27e5cb:0xb0b,_0x1504c3:0x1834,_0x5aa5c9:0x867,_0x302f2c:0xd7c,_0x573f76:0x7f6,_0x3a685f:0x120d,_0x1dd969:0x463},_0x1ab555={_0x110adf:0x1f6};super(_0x4937c6);function _0x41c11a(_0x279e00,_0x4bfb86){return _0x54a7f1(_0x4bfb86- -_0x1ab555._0x110adf,_0x279e00);}function _0x42f66a(_0x1b7f2e,_0x5b02cf){return _0x54a7f1(_0x1b7f2e- -0x324,_0x5b02cf);}this[_0x41c11a(_0x24ee2a._0x27e5cb,0x101c)]=getCesiumColor(_0x4937c6[_0x41c11a(_0x24ee2a._0x1504c3,0x101c)],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0)),this[_0x41c11a(_0x24ee2a._0x5aa5c9,0x8a7)]=getCesiumColor(_0x4937c6['bgColor'],this['color']['withAlpha'](0.1)),this[_0x42f66a(_0x24ee2a._0x302f2c,_0x24ee2a._0x573f76)]=_0x4937c6[_0x41c11a(_0x24ee2a._0x3a685f,0xeaa)]??0x2,this['globalAlpha']=_0x4937c6[_0x42f66a(0x541,_0x24ee2a._0x1dd969)]??0x1;}[_0x7afdbe(0xbd,0x5e6)](_0x44d80e){return LineTrail;}['getValue'](_0xaeed0a,_0x2b96f7){const _0xa7c491={_0x14d22c:0x9e2,_0x47e91f:0xade},_0x334405={_0x3f0efc:0x108};!Cesium__namespace['defined'](_0x2b96f7)&&(_0x2b96f7={});_0x2b96f7['color']=this['color'],_0x2b96f7['bgColor']=this[_0xe7ac85(0x995,0xa05)],_0x2b96f7['speed']=this['speed'];function _0xe7ac85(_0x1857f3,_0x54bdc6){return _0x54a7f1(_0x1857f3- -_0x334405._0x3f0efc,_0x54bdc6);}_0x2b96f7[_0xe7ac85(0x75d,_0xa7c491._0x14d22c)]=this[_0xe7ac85(0x75d,_0xa7c491._0x47e91f)];function _0x4dd855(_0x581cd9,_0x2b2c39){return _0x54a7f1(_0x2b2c39- -0x139,_0x581cd9);}return _0x2b96f7;}['equals'](_0x4f4198){const _0x450166={_0x21023d:0x1822,_0x333525:0x11e8,_0x2d0f8a:0xd8c},_0x15d4a0={_0x193e88:0x258};function _0x45f45d(_0x1b0a14,_0xab2f8c){return _0x7afdbe(_0xab2f8c,_0x1b0a14- -_0x15d4a0._0x193e88);}function _0x3668e0(_0x4ec139,_0x23abc6){return _0x7afdbe(_0x23abc6,_0x4ec139- -0x542);}return this===_0x4f4198||_0x4f4198 instanceof LineTrailMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x45f45d(0x11e8,_0x450166._0x21023d)],_0x4f4198[_0x45f45d(_0x450166._0x333525,0xc78)])&&Cesium__namespace['Property'][_0x45f45d(0xebb,0x628)](this['bgColor'],_0x4f4198[_0x45f45d(0xa73,0xf39)])&&this[_0x3668e0(_0x450166._0x2d0f8a,0x12f8)]===_0x4f4198['speed'];}}registerPropertyClass(LineTrail,LineTrailMaterialProperty);class LineDotDashMaterialProperty extends BaseMaterialProperty{constructor(_0x4eebe1={}){const _0x198339={_0x277fbe:0x13dd,_0x429367:0x10e1},_0x5b7af7={_0x1198cc:0x339},_0xb434bd={_0x1fb77f:0x505};super(_0x4eebe1);function _0x3607ea(_0x588952,_0x4c998d){return _0x54a7f1(_0x588952- -_0xb434bd._0x1fb77f,_0x4c998d);}function _0x3ce1e6(_0x43ad44,_0x3d3da7){return _0x7afdbe(_0x3d3da7,_0x43ad44- -_0x5b7af7._0x1198cc);}this['color']=getCesiumColor(_0x4eebe1['color'],new Cesium__namespace[(_0x3607ea(0xd7f,0x1092))](0x0,0x0,0x0,0x0)),this['gapColor']=getCesiumColor(_0x4eebe1['gapColor'],Cesium__namespace['Color'][_0x3ce1e6(_0x198339._0x277fbe,0x930)]),this['dashLength']=_0x4eebe1['dashLength']??0x10,this['dashPattern']=_0x4eebe1[_0x3607ea(_0x198339._0x429367,0x7da)]??0xff,this['globalAlpha']=_0x4eebe1[_0x3607ea(0x360,-0xa0)]??0x1;}[_0x54a7f1(0x3b8,0xa40)](_0x64a200){return LineDotDash;}[_0x7afdbe(0xa50,0xd20)](_0x5a9c86,_0x42119c){const _0x176fef={_0x406bef:0x75};!Cesium__namespace['defined'](_0x42119c)&&(_0x42119c={});_0x42119c['color']=this['color'];function _0x2eb1c7(_0x2eaf47,_0x199d57){return _0x54a7f1(_0x2eaf47-0xb4,_0x199d57);}function _0x2c4b8f(_0x405166,_0x56a5fa){return _0x7afdbe(_0x405166,_0x56a5fa-_0x176fef._0x406bef);}return _0x42119c['gapColor']=this['gapColor'],_0x42119c[_0x2c4b8f(0x888,0x134d)]=this['dashLength'],_0x42119c['dashPattern']=this[_0x2eb1c7(0x169a,0x1c8e)],_0x42119c['globalAlpha']=this['globalAlpha'],_0x42119c;}['equals'](_0x23f16e){const _0x49a748={_0x15229d:0x12ef,_0x305ea0:0xf05,_0x3a5bc6:0x1797,_0x7bba0d:0x16c3,_0x3c493a:0x105b},_0x5e4807={_0xbaa6a1:0x3e9};function _0x5579b5(_0x116060,_0x298e13){return _0x7afdbe(_0x298e13,_0x116060- -0x151);}function _0xc070a4(_0x1336df,_0x211283){return _0x7afdbe(_0x1336df,_0x211283- -_0x5e4807._0xbaa6a1);}return this===_0x23f16e||_0x23f16e instanceof LineDotDashMaterialProperty&&Cesium__namespace[_0x5579b5(0x11d9,0x1597)][_0xc070a4(0xa18,0xd2a)](this['color'],_0x23f16e[_0x5579b5(_0x49a748._0x15229d,_0x49a748._0x305ea0)])&&Cesium__namespace['Property']['equals'](this[_0x5579b5(0xadf,0x141b)],_0x23f16e['gapColor'])&&this['dashLength']===_0x23f16e['dashLength']&&this[_0xc070a4(_0x49a748._0x3a5bc6,0x142b)]===_0x23f16e[_0x5579b5(_0x49a748._0x7bba0d,_0x49a748._0x3c493a)];}}registerPropertyClass(LineDotDash,LineDotDashMaterialProperty);class LineDashArrowMaterialProperty extends BaseMaterialProperty{constructor(_0x581390={}){const _0x276505={_0x3613ff:0x20b,_0x20f521:0x881,_0x173da2:0x122e},_0x1e58a8={_0x26d60c:0xba};super(_0x581390);function _0x458571(_0x36db4d,_0x29207f){return _0x7afdbe(_0x36db4d,_0x29207f- -0x284);}function _0x37d91e(_0x1c954d,_0x556fec){return _0x54a7f1(_0x1c954d- -_0x1e58a8._0x26d60c,_0x556fec);}this['color']=_0x581390['color']??Cesium__namespace['Color'][_0x458571(-_0x276505._0x3613ff,0x837)],this['gapColor']=getCesiumColor(_0x581390[_0x37d91e(0x948,0x75f)],Cesium__namespace[_0x458571(_0x276505._0x20f521,_0x276505._0x173da2)]['TRANSPARENT']),this['dashLength']=_0x581390['dashLength']??0x10,this['dashPattern']=_0x581390['dashPattern']??0xff,this['globalAlpha']=_0x581390['globalAlpha']??0x1;}['getType'](_0xb990fb){return LineDashArrow;}['getValue'](_0x2377dd,_0x2bde9c){!Cesium__namespace['defined'](_0x2bde9c)&&(_0x2bde9c={});_0x2bde9c['color']=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x1,0x1,0x1,0x0),_0x2377dd),_0x2bde9c['gapColor']=this['gapColor'],_0x2bde9c['dashLength']=this['dashLength'];function _0x5f0457(_0x47f830,_0x494c52){return _0x54a7f1(_0x494c52- -0x450,_0x47f830);}return _0x2bde9c['dashPattern']=this[_0x5f0457(0x18ac,0x1196)],_0x2bde9c['globalAlpha']=this['globalAlpha'],_0x2bde9c;}[_0x54a7f1(0xee5,0x72e)](_0x372825){const _0x56219a={_0x5b7c53:0x4cf,_0x3de4fa:0x14da,_0x499776:0xc19};function _0x133771(_0x556c74,_0x24d980){return _0x54a7f1(_0x24d980-0x217,_0x556c74);}function _0x5c3f7b(_0x53f2b4,_0x2e7365){return _0x54a7f1(_0x2e7365- -0x224,_0x53f2b4);}return this===_0x372825||_0x372825 instanceof LineDashArrowMaterialProperty&&Cesium__namespace[_0x5c3f7b(_0x56219a._0x5b7c53,0xed8)]['equals'](this['color'],_0x372825[_0x133771(0x1b7c,0x1429)])&&Cesium__namespace[_0x133771(0xde5,0x1313)][_0x133771(0x1358,0x10fc)](this[_0x133771(_0x56219a._0x3de4fa,_0x56219a._0x499776)],_0x372825['gapColor']);}}registerPropertyClass(LineDashArrow,LineDashArrowMaterialProperty);class NeonLightMaterialProperty extends BaseMaterialProperty{constructor(_0x4798bf={}){const _0x2a7b46={_0x36478b:0x1991,_0xc00819:0x1064,_0x472814:0x9b1,_0x474ddb:0x341};super(_0x4798bf);function _0x5615c0(_0x35f5f0,_0x28ad71){return _0x7afdbe(_0x35f5f0,_0x28ad71- -0x44e);}this['color']=getCesiumColor(_0x4798bf[_0xa915c2(0xf25,_0x2a7b46._0x36478b)],Cesium__namespace[_0x5615c0(0xa36,_0x2a7b46._0xc00819)]['fromCssColorString'](_0x5615c0(_0x2a7b46._0x472814,_0x2a7b46._0x474ddb)));function _0xa915c2(_0x58514f,_0x58e3a6){return _0x7afdbe(_0x58e3a6,_0x58514f- -0x51b);}this['speed']=_0x4798bf['speed']??0x2,this['globalAlpha']=_0x4798bf['globalAlpha']??0x1;}[_0x54a7f1(0x3b8,0x7d0)](_0x2a5afb){return NeonLight;}[_0x54a7f1(0xaf2,0x10c0)](_0x524e3b,_0x1bcce9){const _0x436ba6={_0x5c3674:0x1487,_0x415f79:0x158a,_0x428071:0x930,_0x1cd394:0xe02},_0x171e74={_0x47929d:0x63e},_0x26ebe8={_0x705955:0x325};!Cesium__namespace[_0x5ac70e(_0x436ba6._0x5c3674,_0x436ba6._0x415f79)](_0x1bcce9)&&(_0x1bcce9={});_0x1bcce9[_0x313512(_0x436ba6._0x428071,_0x436ba6._0x1cd394)]=this[_0x313512(0x4d1,0xe02)];function _0x5ac70e(_0x40c7f6,_0x4d56b4){return _0x7afdbe(_0x40c7f6,_0x4d56b4- -_0x26ebe8._0x705955);}_0x1bcce9['speed']=this[_0x313512(0x66f,0xc90)],_0x1bcce9[_0x5ac70e(0xf12,0x76e)]=this['globalAlpha'];function _0x313512(_0x40b677,_0x29410e){return _0x7afdbe(_0x40b677,_0x29410e- -_0x171e74._0x47929d);}return _0x1bcce9;}[_0x7afdbe(0x8bc,0x1113)](_0x4cf8f0){const _0x481129={_0x34a9ba:0x1402,_0x24bb0d:0xa37},_0x4acb1d={_0x26deb7:0x12f};function _0x1b85ff(_0x11e46c,_0x4fdb43){return _0x54a7f1(_0x4fdb43- -_0x4acb1d._0x26deb7,_0x11e46c);}function _0x553f60(_0x232e6d,_0x2264dc){return _0x7afdbe(_0x2264dc,_0x232e6d- -0x3e);}return this===_0x4cf8f0||_0x4cf8f0 instanceof NeonLightMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x553f60(_0x481129._0x34a9ba,0x1d3f)],_0x4cf8f0[_0x553f60(0x1402,_0x481129._0x24bb0d)])&&this['speed']===_0x4cf8f0[_0x1b85ff(0xa05,0xf71)];}}registerPropertyClass(NeonLight,NeonLightMaterialProperty);class LineThreeDashMaterialProperty extends BaseMaterialProperty{constructor(_0x4765e8={}){const _0x143b7d={_0x2db8f7:0x10c7,_0x40100f:0xe34,_0xdcde2:0xf5f,_0x2eacb8:0x1699,_0x5045ee:0xf90,_0x24473c:0xbdc,_0x30262b:0x10a,_0x1ba51a:0xab2,_0x1ddb10:0x742,_0x3bd8f9:0x71a},_0x558dd4={_0x94a2b8:0x450},_0x685236={_0x2330e7:0x379};function _0x3e8165(_0x2f81b4,_0x354199){return _0x7afdbe(_0x2f81b4,_0x354199- -_0x685236._0x2330e7);}super(_0x4765e8),this['color']=getCesiumColor(_0x4765e8[_0x3e8165(0x1b0d,_0x143b7d._0x2db8f7)],Cesium__namespace[_0xa46150(_0x143b7d._0x40100f,0x434)]['RED']),this[_0x3e8165(0x107d,_0x143b7d._0xdcde2)]=_0x4765e8[_0xa46150(0xc5a,_0x143b7d._0x2eacb8)]??0x10,this[_0xa46150(_0x143b7d._0x5045ee,0x985)]=_0x4765e8[_0xa46150(0xf90,_0x143b7d._0x24473c)]??0.1,this['sidesColor']=getCesiumColor(_0x4765e8[_0xa46150(_0x143b7d._0x30262b,-0x1f3)],Cesium__namespace[_0x3e8165(_0x143b7d._0x1ba51a,0x1139)][_0x3e8165(-0x36e,_0x143b7d._0x1ddb10)]),this['sidesDashLength']=_0x4765e8['sidesDashLength']??0x20,this['sidesWidthRatio']=_0x4765e8['sidesWidthRatio']??0.1,this[_0x3e8165(0x1697,0x149b)]=_0x4765e8['dashPattern']??0xff;function _0xa46150(_0x28f1ee,_0x5c1948){return _0x54a7f1(_0x28f1ee- -_0x558dd4._0x94a2b8,_0x5c1948);}this[_0x3e8165(-0x2ff,_0x143b7d._0x3bd8f9)]=_0x4765e8['globalAlpha']??0x1;}['getType'](_0x575c91){return LineThreeDash;}[_0x54a7f1(0xaf2,0x70e)](_0x447295,_0x6b272){const _0x32a150={_0x1ba340:0xe16,_0x5ed63b:0xf4e,_0x47a3d0:0xa52,_0xf26847:0x709},_0x5ac46d={_0x384785:0x23d};function _0x35ed60(_0x379f25,_0x1dff24){return _0x54a7f1(_0x1dff24- -0x15c,_0x379f25);}!Cesium__namespace[_0x35ed60(0x15d8,0x1525)](_0x6b272)&&(_0x6b272={});_0x6b272['color']=getCesiumColor(this[_0x35ed60(0x14d9,0x10b6)],Cesium__namespace['Color'][_0x35ed60(0x155a,0xf70)],_0x447295),_0x6b272[_0x35ed60(_0x32a150._0x1ba340,_0x32a150._0x5ed63b)]=this['dashLength'];function _0x51e0d8(_0x232cec,_0x34bb58){return _0x54a7f1(_0x232cec- -_0x5ac46d._0x384785,_0x34bb58);}return _0x6b272['widthRatio']=this['widthRatio'],_0x6b272[_0x35ed60(0x2bd,0x3fe)]=getCesiumColor(this['sidesColor'],Cesium__namespace['Color'][_0x35ed60(_0x32a150._0x47a3d0,0x731)],_0x447295),_0x6b272['sidesDashLength']=this['sidesDashLength'],_0x6b272['sidesWidthRatio']=this['sidesWidthRatio'],_0x6b272['dashPattern']=this['dashPattern'],_0x6b272['globalAlpha']=this[_0x35ed60(-0x336,_0x32a150._0xf26847)],_0x6b272;}[_0x7afdbe(0x186f,0x1113)](_0x417192){const _0x1697c3={_0x4ca422:0xcf6},_0x59a921={_0x4cfed3:0x3c7};function _0x14e194(_0x47aac5,_0x401999){return _0x54a7f1(_0x47aac5- -_0x59a921._0x4cfed3,_0x401999);}return this===_0x417192||_0x417192 instanceof LineThreeDashMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x14e194(0xe4b,_0x1697c3._0x4ca422)],_0x417192['color'])&&this['speed']===_0x417192['speed'];}}registerPropertyClass(LineThreeDash,LineThreeDashMaterialProperty);class LineCrossMaterialProperty extends BaseMaterialProperty{constructor(_0x246f24={}){const _0x321d7e={_0x5d38d1:0x131e,_0x5a8d6e:0x1263,_0x5695c3:0xda5,_0x4078ff:0xf36,_0x3177e9:0x56a,_0x5d541e:0x7fd,_0x15bab4:0x976,_0x4e673c:0x399,_0x1ea63a:0x10c3},_0x319f33={_0x1f4a48:0x194};super(_0x246f24),this['color']=getCesiumColor(_0x246f24['color'],Cesium__namespace[_0x497eec(_0x321d7e._0x5d38d1,_0x321d7e._0x5a8d6e)]['WHITE']),this[_0x5007f7(0x1142,_0x321d7e._0x5695c3)]=_0x246f24[_0x5007f7(_0x321d7e._0x4078ff,_0x321d7e._0x5695c3)]??0x1e,this['maskLength']=_0x246f24['maskLength']??0xa,this[_0x5007f7(_0x321d7e._0x3177e9,0x7fd)]=_0x246f24[_0x5007f7(-0xe5,_0x321d7e._0x5d541e)]??0.1;function _0x497eec(_0x23496a,_0x4a8775){return _0x7afdbe(_0x4a8775,_0x23496a- -_0x319f33._0x1f4a48);}this['dashPower']=_0x246f24[_0x497eec(_0x321d7e._0x15bab4,_0x321d7e._0x4e673c)]??0.2,this[_0x5007f7(_0x321d7e._0x1ea63a,0x12e1)]=_0x246f24[_0x5007f7(0x1829,0x12e1)]??0xff;function _0x5007f7(_0x1d85c1,_0x2b54e2){return _0x7afdbe(_0x1d85c1,_0x2b54e2- -0x533);}this['globalAlpha']=_0x246f24[_0x497eec(0x8ff,0xaa)]??0x1;}['getType'](_0x3ce993){return LineCross;}['getValue'](_0xdb47c3,_0x3c8414){const _0x10ae36={_0x1495e4:0x123e,_0x12b999:0x41,_0x45407a:0xea3,_0x84e280:0x1060,_0x28b979:0x8fb,_0x27ce53:0x65e},_0x13b952={_0x23b654:0x207};!Cesium__namespace['defined'](_0x3c8414)&&(_0x3c8414={});_0x3c8414['color']=getCesiumColor(this['color'],Cesium__namespace[_0x4498b9(0xec1,_0x10ae36._0x1495e4)][_0x4498b9(0x4ca,_0x10ae36._0x12b999)],_0xdb47c3),_0x3c8414[_0x4498b9(0xce7,0xa7b)]=this[_0x172763(0x11b2,_0x10ae36._0x45407a)],_0x3c8414[_0x172763(0x9a6,_0x10ae36._0x84e280)]=this['maskLength'],_0x3c8414[_0x172763(0xe87,_0x10ae36._0x28b979)]=this['centerPower'],_0x3c8414['dashPower']=this['dashPower'];function _0x172763(_0x4b1b67,_0x15fc0f){return _0x54a7f1(_0x15fc0f- -_0x13b952._0x23b654,_0x4b1b67);}_0x3c8414['dashPattern']=this['dashPattern'],_0x3c8414['globalAlpha']=this[_0x172763(-0x3ef,_0x10ae36._0x27ce53)];function _0x4498b9(_0x118fc4,_0x2bb4ec){return _0x7afdbe(_0x2bb4ec,_0x118fc4- -0x5f1);}return _0x3c8414;}['equals'](_0x2bfef2){function _0xce234a(_0x30c7dc,_0x30c195){return _0x7afdbe(_0x30c7dc,_0x30c195- -0x62f);}return this===_0x2bfef2||_0x2bfef2 instanceof LineCrossMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x2bfef2['color'])&&this['speed']===_0x2bfef2[_0xce234a(0x4b3,0xc9f)];}}registerPropertyClass(LineCross,LineCrossMaterialProperty);class ODLineMaterialProperty extends BaseMaterialProperty{constructor(_0x2cb848={}){const _0x364951={_0x103b7b:0x16ec,_0x4c5b5c:0xdf2,_0x3b1d19:0x876,_0x349684:0x1296,_0x57f7af:0xc80,_0x421133:0x1dba,_0x2ed66b:0x2b3,_0x3524d0:0x903},_0x14d6ae={_0x443c3a:0x1aa},_0x3053a7={_0x52899e:0x420};super(_0x2cb848);function _0xbba3e3(_0x441f94,_0x4504a2){return _0x54a7f1(_0x4504a2- -_0x3053a7._0x52899e,_0x441f94);}this[_0x5b1589(0x1296,_0x364951._0x103b7b)]=getCesiumColor(_0x2cb848[_0xbba3e3(0x7d0,_0x364951._0x4c5b5c)],new Cesium__namespace['Color'](Math[_0x5b1589(_0x364951._0x3b1d19,0xb01)]()*0.5+0.5,Math['random']()*0.8+0.2,0x0,0x1));function _0x5b1589(_0x35f3fc,_0x26bd9d){return _0x7afdbe(_0x26bd9d,_0x35f3fc- -_0x14d6ae._0x443c3a);}this['bgColor']=getCesiumColor(_0x2cb848[_0x5b1589(0xb21,0x492)],this[_0x5b1589(_0x364951._0x349684,0xc4d)]['withAlpha'](0.1)),this['speed']=_0x2cb848[_0xbba3e3(0x337,_0x364951._0x57f7af)]??0x14+0xa*Math[_0x5b1589(0x876,-0x1ce)](),this['startTime']=_0x2cb848[_0x5b1589(0x1404,_0x364951._0x421133)]??Math['random'](),this[_0x5b1589(_0x364951._0x2ed66b,_0x364951._0x3524d0)]=_0x2cb848['bidirectional']??0x0,this['globalAlpha']=_0x2cb848[_0x5b1589(0x8e9,0x133e)]??0x1;}['getType'](_0x54a269){return ODLine;}[_0x54a7f1(0xaf2,0x480)](_0x370870,_0x37ded1){const _0x14c569={_0xa98404:0xac8,_0x4926d8:0x464},_0x38050f={_0x431d36:0xd9},_0x58b1ca={_0x1c761b:0x62f};!_0x37ded1&&(_0x37ded1={});_0x37ded1[_0x2341eb(0x1303,0x12eb)]=this['color'];function _0x21a445(_0x5a0894,_0x100d1b){return _0x7afdbe(_0x5a0894,_0x100d1b- -_0x58b1ca._0x1c761b);}_0x37ded1['speed']=this['speed'],_0x37ded1['startTime']=this['startTime'],_0x37ded1['bgColor']=this['bgColor'],_0x37ded1['bidirectional']=this['bidirectional'];function _0x2341eb(_0x5726e6,_0x6e962c){return _0x54a7f1(_0x6e962c-_0x38050f._0x431d36,_0x5726e6);}return _0x37ded1[_0x21a445(_0x14c569._0xa98404,_0x14c569._0x4926d8)]=this[_0x2341eb(0x7ce,0x93e)],_0x37ded1;}['equals'](_0xb919c4){const _0x5a312c={_0x11b3e1:0x12b1,_0x2cc71:0x1b5a,_0x5beb21:0x102d},_0x4d8224={_0x31e9b0:0x73};function _0x5f2554(_0x31745e,_0x2770f8){return _0x54a7f1(_0x2770f8- -_0x4d8224._0x31e9b0,_0x31745e);}function _0x1a96ed(_0xc49486,_0x1e00f8){return _0x54a7f1(_0xc49486-0x9f,_0x1e00f8);}return this===_0xb919c4||_0xb919c4 instanceof ODLineMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0xb919c4[_0x1a96ed(_0x5a312c._0x11b3e1,_0x5a312c._0x2cc71)])&&Cesium__namespace['Property']['equals'](this['bgColor'],_0xb919c4['bgColor'])&&this[_0x5f2554(0x13b7,_0x5a312c._0x5beb21)]===_0xb919c4['speed']&&this[_0x1a96ed(0x141f,0x1cf1)]===_0xb919c4['startTime']&&this[_0x5f2554(-0x367,0x1bc)]===_0xb919c4['bidirectional'];}}registerPropertyClass(ODLine,ODLineMaterialProperty);class PolyAsphaltMaterialProperty extends BaseMaterialProperty{constructor(_0xa9d5c5={}){const _0x438cb7={_0x1fe870:0xdea,_0x186bd9:0x8ad,_0x5d9835:0xe5c,_0x2c7619:0x78a,_0x2ef57a:0xb3a,_0x549915:0xb61,_0x55be04:0xbac,_0x5222d2:0x746};function _0x4069b8(_0x31ec28,_0x35ca65){return _0x7afdbe(_0x31ec28,_0x35ca65- -0x6c8);}super(_0xa9d5c5),this['color']=getCesiumColor(_0xa9d5c5[_0x4b1ce8(0x13c3,_0x438cb7._0x1fe870)],new Cesium__namespace[(_0x4b1ce8(_0x438cb7._0x186bd9,_0x438cb7._0x5d9835))](0x0,0x0,0x0,0x0)),this[_0x4069b8(_0x438cb7._0x2c7619,_0x438cb7._0x2ef57a)]=_0xa9d5c5[_0x4b1ce8(_0x438cb7._0x549915,_0x438cb7._0x55be04)]??0.02;function _0x4b1ce8(_0x4db4a6,_0x16b79f){return _0x54a7f1(_0x16b79f- -0x428,_0x4db4a6);}this['frequency']=_0xa9d5c5[_0x4069b8(_0x438cb7._0x5222d2,0x507)]??0.2,this['globalAlpha']=_0xa9d5c5['globalAlpha']??0x1;}['getType'](_0x73a1e4){return PolyAsphalt;}[_0x7afdbe(0x97d,0xd20)](_0x51caec,_0x565460){const _0x408963={_0x383319:0x5ae,_0x3b08e2:0xa0a,_0x551fb7:0xcc6,_0x1d9d56:0x2a7},_0x20115e={_0x4512bc:0x1c5};function _0x18759e(_0x2df5fe,_0x2f5eee){return _0x7afdbe(_0x2f5eee,_0x2df5fe- -0x712);}!Cesium__namespace[_0x5bb89e(0x16ea,0xf16)](_0x565460)&&(_0x565460={});_0x565460[_0x5bb89e(0x127b,0x1a1f)]=this[_0x5bb89e(0x127b,0x1940)],_0x565460[_0x18759e(0xaf0,0xf41)]=this[_0x18759e(0xaf0,_0x408963._0x383319)];function _0x5bb89e(_0x1e980e,_0x520674){return _0x7afdbe(_0x520674,_0x1e980e- -_0x20115e._0x4512bc);}return _0x565460['frequency']=this[_0x5bb89e(_0x408963._0x3b08e2,_0x408963._0x551fb7)],_0x565460['globalAlpha']=this[_0x18759e(0x381,-_0x408963._0x1d9d56)],_0x565460;}['equals'](_0x4572ca){const _0x591f78={_0x39cf32:0x1228,_0x232f8a:0x1011,_0x5bdd89:0x1100,_0x40a727:0x7f3},_0x550d34={_0x4c6a3d:0xf2};function _0x344052(_0x20d113,_0x442cdc){return _0x7afdbe(_0x442cdc,_0x20d113- -0x102);}function _0x1cbcd2(_0x2b315d,_0x1e5592){return _0x7afdbe(_0x2b315d,_0x1e5592- -_0x550d34._0x4c6a3d);}return this===_0x4572ca||_0x4572ca instanceof PolyAsphaltMaterialProperty&&Cesium__namespace[_0x344052(_0x591f78._0x39cf32,0x1b3c)][_0x344052(_0x591f78._0x232f8a,0xb6a)](this['color'],_0x4572ca['color'])&&this['frequency']===_0x4572ca['frequency']&&this[_0x344052(_0x591f78._0x5bdd89,_0x591f78._0x40a727)]===_0x4572ca['size'];}}registerPropertyClass(PolyAsphalt,PolyAsphaltMaterialProperty);class PolyBlobMaterialProperty extends BaseMaterialProperty{constructor(_0x3791f1={}){const _0x3e71f6={_0x8021a6:0x167e,_0x1dc6c8:0x1ca0,_0x30a9d1:0x12be,_0x57953f:0x8f4,_0x2d27d8:0x100a},_0x46c601={_0x4cb68b:0x3a};super(_0x3791f1),this[_0x5ebdad(_0x3e71f6._0x8021a6,0x16dc)]=getCesiumColor(_0x3791f1['evenColor'],new Cesium__namespace[(_0x28174d(0x12be,_0x3e71f6._0x1dc6c8))](0x1,0x1,0x1,0.5)),this['oddColor']=getCesiumColor(_0x3791f1['evenColor'],new Cesium__namespace[(_0x28174d(_0x3e71f6._0x30a9d1,0x822))](0x0,0x0,0x1,0.5));function _0x28174d(_0x4f9810,_0x1dc159){return _0x54a7f1(_0x4f9810-_0x46c601._0x4cb68b,_0x1dc159);}function _0x5ebdad(_0x172b8b,_0x389240){return _0x54a7f1(_0x172b8b- -0xad,_0x389240);}this['frequency']=_0x3791f1[_0x5ebdad(_0x3e71f6._0x57953f,-0x44)]??0xa,this[_0x28174d(0x89f,_0x3e71f6._0x2d27d8)]=_0x3791f1['globalAlpha']??0x1;}[_0x7afdbe(0xaa5,0x5e6)](_0x46c7b6){return PolyBlob;}[_0x7afdbe(0xdac,0xd20)](_0x5c3b73,_0x205bda){const _0x1f912d={_0x4782f3:0x1df0};!Cesium__namespace['defined'](_0x205bda)&&(_0x205bda={});function _0x581881(_0x485b8f,_0x335a3b){return _0x54a7f1(_0x485b8f- -0x2f5,_0x335a3b);}return _0x205bda[_0x581881(0x1436,_0x1f912d._0x4782f3)]=this['evenColor'],_0x205bda['evenColor']=this['oddColor'],_0x205bda['frequency']=this['frequency'],_0x205bda['globalAlpha']=this['globalAlpha'],_0x205bda;}['equals'](_0x2c0e86){const _0x114a44={_0x12e70a:0xc87,_0x4548ec:0x100b,_0x2766f3:0x103b},_0x40ea8a={_0x2d7dbd:0xf4},_0x30e01c={_0x96cbd6:0x475};function _0x1b5f27(_0x23dea3,_0x6ab97e){return _0x54a7f1(_0x6ab97e- -_0x30e01c._0x96cbd6,_0x23dea3);}function _0x3520d8(_0x1e4ec1,_0x14aae0){return _0x54a7f1(_0x14aae0-_0x40ea8a._0x2d7dbd,_0x1e4ec1);}return this===_0x2c0e86||_0x2c0e86 instanceof PolyBlobMaterialProperty&&Cesium__namespace['Property'][_0x3520d8(0x10d8,0xfd9)](this['evenColor'],_0x2c0e86[_0x3520d8(0x14ed,0x181f)])&&Cesium__namespace[_0x1b5f27(0xf1c,_0x114a44._0x12e70a)][_0x1b5f27(_0x114a44._0x4548ec,0xa70)](this['oddColor'],_0x2c0e86[_0x3520d8(_0x114a44._0x2766f3,0xf7b)])&&this[_0x1b5f27(-0x4d1,0x52c)]===_0x2c0e86['frequency'];}}registerPropertyClass(PolyBlob,PolyBlobMaterialProperty);class PolyFacetMaterialProperty extends PolyBlobMaterialProperty{['getType'](_0x5e676c){return PolyFacet;}}registerPropertyClass(PolyFacet,PolyFacetMaterialProperty);class PolyGradientMaterialProperty extends BaseMaterialProperty{constructor(_0x56ddaa={}){const _0x1f676b={_0x36a92b:0x152e,_0x423849:0x6d7,_0x3db159:0xfc9};super(_0x56ddaa);function _0x46ff18(_0x4e0891,_0x1eb462){return _0x7afdbe(_0x1eb462,_0x4e0891- -0x269);}function _0x2c0d60(_0x303750,_0x4bba7c){return _0x7afdbe(_0x303750,_0x4bba7c- -0x6f4);}this[_0x46ff18(0x11d7,_0x1f676b._0x36a92b)]=getCesiumColor(_0x56ddaa[_0x46ff18(0x11d7,0x9d2)],new Cesium__namespace[(_0x46ff18(0x1249,0x1146))](0x1,0x1,0x0,0.5)),this['diffusePower']=_0x56ddaa['diffusePower']??1.6,this[_0x46ff18(_0x1f676b._0x423849,0xbea)]=_0x56ddaa['alphaPower']??1.5,this['isInner']=_0x56ddaa[_0x2c0d60(0x56a,0xca5)]??![],this['center']=_0x56ddaa['center']??new Cesium__namespace[(_0x46ff18(0x16c9,_0x1f676b._0x3db159))](0.5,0.5),this[_0x46ff18(0x82a,0x8eb)]=_0x56ddaa['globalAlpha']??0x1;}[_0x54a7f1(0x3b8,-0x56f)](_0xef9d48){return PolyGradient;}['getValue'](_0x475319,_0x575149){const _0x1e287d={_0x5079e8:0x192f,_0x4d2930:0x2161,_0x291dae:0x9c0,_0xe71456:0xc0d,_0x80b388:0xf4f,_0x3ffa3d:0xf49};!Cesium__namespace[_0x78fbb6(_0x1e287d._0x5079e8,_0x1e287d._0x4d2930)](_0x575149)&&(_0x575149={});function _0x7c7d00(_0x517d03,_0x1838cb){return _0x7afdbe(_0x1838cb,_0x517d03- -0x44a);}_0x575149['color']=this['color'],_0x575149['diffusePower']=this['diffusePower'],_0x575149[_0x78fbb6(_0x1e287d._0x291dae,0xd51)]=this[_0x78fbb6(0x9c0,0x10ef)];function _0x78fbb6(_0x22004e,_0x3a3e0e){return _0x7afdbe(_0x3a3e0e,_0x22004e-0x80);}return _0x575149[_0x7c7d00(0x361,_0x1e287d._0xe71456)]=this['center'],_0x575149[_0x7c7d00(_0x1e287d._0x80b388,0x128e)]=this['isInner'],_0x575149['globalAlpha']=this[_0x78fbb6(0xb13,_0x1e287d._0x3ffa3d)],_0x575149;}['equals'](_0x226e7b){const _0x5a4b9b={_0xa2e3b3:0xb52,_0x4f1d32:0x131f,_0x5313f5:0x131f,_0x182341:0x8e6,_0x5187bc:0x9b1},_0x1f415f={_0x1f55a3:0x121},_0x5af1de={_0x311c6c:0x596};function _0x13ddfb(_0x419995,_0x234671){return _0x7afdbe(_0x234671,_0x419995- -_0x5af1de._0x311c6c);}function _0x339cec(_0x187e80,_0x9b8c21){return _0x7afdbe(_0x9b8c21,_0x187e80- -_0x1f415f._0x1f55a3);}return this===_0x226e7b||_0x226e7b instanceof PolyGradientMaterialProperty&&Cesium__namespace[_0x13ddfb(0xd94,_0x5a4b9b._0xa2e3b3)][_0x339cec(0xff2,0x135e)](this[_0x339cec(_0x5a4b9b._0x4f1d32,0xcbf)],_0x226e7b[_0x339cec(_0x5a4b9b._0x5313f5,_0x5a4b9b._0x182341)])&&this[_0x13ddfb(0x124e,_0x5a4b9b._0x5187bc)]===_0x226e7b['diffusePower'];}}registerPropertyClass(PolyGradient,PolyGradientMaterialProperty);class PolyGrassMaterialProperty extends PolyBlobMaterialProperty{['getType'](_0x4b97ad){return PolyGrass;}}registerPropertyClass(PolyGrass,PolyGrassMaterialProperty);class PolyWoodMaterialProperty extends BaseMaterialProperty{constructor(_0xd8db58={}){const _0x31752e={_0x24e938:0x1685,_0xfd9300:0x2053};super(_0xd8db58),this['evenColor']=getCesiumColor(_0xd8db58['evenColor'],new Cesium__namespace['Color'](0x1,0x1,0x1,0.5)),this['oddColor']=getCesiumColor(_0xd8db58['evenColor'],new Cesium__namespace[(_0x4eaa45(0x14fc,0x1eda))](0x0,0x0,0x1,0.5)),this['frequency']=_0xd8db58[_0x4eaa45(0xc19,_0x31752e._0x24e938)]??0xa;function _0x4eaa45(_0x35f2a6,_0xf137ad){return _0x54a7f1(_0x35f2a6-0x278,_0xf137ad);}function _0x53633a(_0x27e832,_0x4cbb92){return _0x54a7f1(_0x27e832- -0x15c,_0x4cbb92);}this['noiseScale']=_0xd8db58['noiseScale']??new Cesium__namespace[(_0x53633a(0x15a8,_0x31752e._0xfd9300))](0.7,0.5),this['grainFrequency']=_0xd8db58['grainFrequency']??0x1b,this['globalAlpha']=_0xd8db58['globalAlpha']??0x1;}['getType'](_0x406b8f){return PolyWood;}['getValue'](_0x187b87,_0x2938af){const _0x2cddce={_0x5c6a10:0x1623,_0x14319f:0x16cd,_0x3e7427:0x1f2b,_0xfe0f38:0x1532},_0xe60a01={_0x4d3905:0x5e};!Cesium__namespace[_0x8f12ea(_0x2cddce._0x5c6a10,0x1225)](_0x2938af)&&(_0x2938af={});_0x2938af[_0x8f12ea(_0x2cddce._0x14319f,_0x2cddce._0x3e7427)]=this[_0x88f21a(0x17f9,_0x2cddce._0xfe0f38)];function _0x88f21a(_0x3c1b00,_0x5d2fa5){return _0x54a7f1(_0x3c1b00-0xce,_0x5d2fa5);}function _0x8f12ea(_0x1651b1,_0x25e5af){return _0x54a7f1(_0x1651b1- -_0xe60a01._0x4d3905,_0x25e5af);}return _0x2938af['evenColor']=this[_0x88f21a(0xf55,0x6c4)],_0x2938af['frequency']=this['frequency'],_0x2938af['noiseScale']=this[_0x88f21a(0x15ca,0x1076)],_0x2938af['grainFrequency']=this['grainFrequency'],_0x2938af['globalAlpha']=this['globalAlpha'],_0x2938af;}['equals'](_0x1a9510){const _0x194ff3={_0x24a320:0xfc4,_0x5e1dfd:0x1474,_0x4f84db:0xdf8};function _0x1d503b(_0x555fff,_0x565f6f){return _0x54a7f1(_0x565f6f- -0x138,_0x555fff);}function _0x2078ac(_0x5a6681,_0x186f07){return _0x7afdbe(_0x186f07,_0x5a6681- -0x2bd);}return this===_0x1a9510||_0x1a9510 instanceof PolyWoodMaterialProperty&&Cesium__namespace['Property']['equals'](this['evenColor'],_0x1a9510['evenColor'])&&Cesium__namespace[_0x1d503b(0x1647,_0x194ff3._0x24a320)][_0x2078ac(0xe56,_0x194ff3._0x5e1dfd)](this[_0x2078ac(_0x194ff3._0x4f84db,0x11d3)],_0x1a9510['oddColor'])&&this[_0x1d503b(-0x1af,0x869)]===_0x1a9510['frequency'];}}registerPropertyClass(PolyWood,PolyWoodMaterialProperty);class RadarLineMaterialProperty extends BaseMaterialProperty{constructor(_0x3b2e43={}){const _0x15bb7e={_0x27a1d4:0xa13},_0x4e2755={_0xfadea6:0x493};super(_0x3b2e43),this[_0x260ff0(0xfad,0x8b0)]=getCesiumColor(_0x3b2e43['color'],new Cesium__namespace[(_0x79818f(0xe48,_0x15bb7e._0x27a1d4))](0x0,0x0,0x0,0x0));function _0x79818f(_0x3c44ba,_0x1aa868){return _0x54a7f1(_0x3c44ba- -0x43c,_0x1aa868);}this['speed']=_0x3b2e43['speed']??0x5;function _0x260ff0(_0x4e2589,_0x5dd680){return _0x7afdbe(_0x5dd680,_0x4e2589- -_0x4e2755._0xfadea6);}this['globalAlpha']=_0x3b2e43[_0x79818f(0x429,0x8c8)]??0x1;}['getType'](_0x49ce47){return RadarLine;}['getValue'](_0x2f4385,_0xf532f5){const _0x1a1673={_0x1fe2d9:0xfc6},_0x1a7477={_0x5a6d0d:0x24a};!Cesium__namespace[_0x156130(0x15a7,0x1ea8)](_0xf532f5)&&(_0xf532f5={});function _0x156130(_0x1b9617,_0x3e1d61){return _0x7afdbe(_0x3e1d61,_0x1b9617- -0x308);}function _0x214c5b(_0x16fb71,_0x2baf8c){return _0x7afdbe(_0x2baf8c,_0x16fb71- -_0x1a7477._0x5a6d0d);}return _0xf532f5['color']=this['color'],_0xf532f5[_0x156130(_0x1a1673._0x1fe2d9,0x1656)]=this['speed'],_0xf532f5[_0x156130(0x78b,0xd6e)]=this['globalAlpha'],_0xf532f5;}[_0x54a7f1(0xee5,0xa22)](_0x75e2b){function _0x4f7d87(_0x12351f,_0x33bc0d){return _0x7afdbe(_0x33bc0d,_0x12351f- -0x733);}return this===_0x75e2b||_0x75e2b instanceof RadarLineMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x4f7d87(0xd0d,0x8b3)],_0x75e2b['color'])&&this['speed']===_0x75e2b['speed'];}}registerPropertyClass(RadarLine,RadarLineMaterialProperty);class RadarWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x3c412a={}){const _0x31e7b4={_0x48557d:0x1455,_0x4f3461:0x1012,_0x489019:0xf3f,_0x12a0a8:0xea0},_0x530500={_0x1bc422:0x42e};super(_0x3c412a),this[_0x382606(_0x31e7b4._0x48557d,_0x31e7b4._0x4f3461)]=getCesiumColor(_0x3c412a['color'],new Cesium__namespace[(_0x382606(0x13b2,0x1084))](0x0,0x0,0x0,0x0)),this[_0x1ae138(0xeef,_0x31e7b4._0x489019)]=_0x3c412a[_0x382606(0x9b8,_0x31e7b4._0x12a0a8)]??0x5;function _0x382606(_0x221367,_0x26398c){return _0x7afdbe(_0x221367,_0x26398c- -_0x530500._0x1bc422);}function _0x1ae138(_0x483cd4,_0x9ac346){return _0x54a7f1(_0x483cd4- -0x1b1,_0x9ac346);}this['globalAlpha']=_0x3c412a['globalAlpha']??0x1;}['getType'](_0x306f8c){return RadarWave;}[_0x54a7f1(0xaf2,0xe45)](_0xff1562,_0x33ccf3){const _0x41a06d={_0xab4087:0xac1,_0x4d91e4:0xe18};!Cesium__namespace['defined'](_0x33ccf3)&&(_0x33ccf3={});_0x33ccf3[_0xe4f09b(_0x41a06d._0xab4087,0x111a)]=this[_0x2517c4(0x7bf,0xf8a)],_0x33ccf3[_0x2517c4(0x10ed,_0x41a06d._0x4d91e4)]=this['speed'];function _0xe4f09b(_0x44175d,_0x535bee){return _0x7afdbe(_0x44175d,_0x535bee- -0x326);}_0x33ccf3['globalAlpha']=this['globalAlpha'];function _0x2517c4(_0x3effaa,_0xb68fea){return _0x54a7f1(_0xb68fea- -0x288,_0x3effaa);}return _0x33ccf3;}[_0x7afdbe(0x1885,0x1113)](_0x83f36b){const _0x41a2a0={_0x2fb458:0xf56,_0x3d032a:0x11a4},_0x551497={_0x1f8cd9:0x3d4},_0x26d7b4={_0x37f8d4:0x104};function _0x150e16(_0x5df230,_0x3002db){return _0x54a7f1(_0x5df230-_0x26d7b4._0x37f8d4,_0x3002db);}function _0x17f187(_0x78189a,_0x20309f){return _0x7afdbe(_0x20309f,_0x78189a- -_0x551497._0x1f8cd9);}return this===_0x83f36b||_0x83f36b instanceof RadarWaveMaterialProperty&&Cesium__namespace[_0x17f187(_0x41a2a0._0x2fb458,0x10c8)]['equals'](this['color'],_0x83f36b['color'])&&this['speed']===_0x83f36b[_0x150e16(_0x41a2a0._0x3d032a,0x893)];}}registerPropertyClass(RadarWave,RadarWaveMaterialProperty);class RectSlideMaterialProperty extends BaseMaterialProperty{constructor(_0x4df020={}){super(_0x4df020),this['image']=_0x4df020['image'];function _0x239a60(_0x1e35ff,_0x1ce6fd){return _0x54a7f1(_0x1ce6fd- -0x330,_0x1e35ff);}this['color']=getCesiumColor(_0x4df020['color'],new Cesium__namespace['Color'](0x1,0x1,0x1,0.9)),this['speed']=_0x4df020[_0xde7de9(0xc6f,0xa14)]??0x1;function _0xde7de9(_0x1d27c7,_0x34b67d){return _0x54a7f1(_0x1d27c7- -0x431,_0x34b67d);}this[_0x239a60(0x1ae4,0x11f6)]=!!_0x4df020['pure'],this['globalAlpha']=_0x4df020['globalAlpha']??0x1;}[_0x54a7f1(0x3b8,0xbc3)](_0xdcc4cd){return RectSlide;}['getValue'](_0x5e889b,_0x3a9d89){const _0xf6f809={_0x4c4be6:0x4fb};!Cesium__namespace[_0x367ed7(0x13b4,0x1a6a)](_0x3a9d89)&&(_0x3a9d89={});_0x3a9d89['image']=this['image'],_0x3a9d89['color']=this['color'],_0x3a9d89['speed']=this['speed'],_0x3a9d89['pure']=this['pure'];function _0x367ed7(_0x3a0035,_0x450b3d){return _0x7afdbe(_0x450b3d,_0x3a0035- -_0xf6f809._0x4c4be6);}return _0x3a9d89['globalAlpha']=this['globalAlpha'],_0x3a9d89;}['equals'](_0x43aea6){const _0x2e426a={_0x52a8c1:0xd9},_0x20b0d9={_0x4c688b:0x43a},_0x28b5c5={_0x46950e:0xb1};function _0x9e8dc(_0x1ade0b,_0x27f012){return _0x7afdbe(_0x27f012,_0x1ade0b- -_0x28b5c5._0x46950e);}function _0x16fc87(_0x3dbb7f,_0x1e442e){return _0x7afdbe(_0x1e442e,_0x3dbb7f- -_0x20b0d9._0x4c688b);}return this===_0x43aea6||_0x43aea6 instanceof RectSlideMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x43aea6['color'])&&this[_0x16fc87(_0x2e426a._0x52a8c1,-0x8a1)]===_0x43aea6[_0x16fc87(0xd9,-0x824)]&&this[_0x16fc87(0x131a,0xa12)]===_0x43aea6['pure']&&this['speed']===_0x43aea6['speed'];}}registerPropertyClass(RectSlide,RectSlideMaterialProperty);class ScanLineMaterialProperty extends BaseMaterialProperty{constructor(_0x322fee={}){const _0x49bbb6={_0xc7b444:0xe8d};super(_0x322fee),this[_0x293b47(0xe1d,0xc31)]=getCesiumColor(_0x322fee['color'],Cesium__namespace['Color']['YELLOW']);function _0x287981(_0x2e405d,_0xecd40b){return _0x54a7f1(_0x2e405d- -0x46a,_0xecd40b);}this['speed']=_0x322fee[_0x287981(0xc36,0x1298)]??0xa;function _0x293b47(_0x594648,_0x220220){return _0x7afdbe(_0x220220,_0x594648- -0x623);}this['globalAlpha']=_0x322fee[_0x287981(0x3fb,_0x49bbb6._0xc7b444)]??0x1;}['getType'](_0x379a55){return ScanLine;}['getValue'](_0x426fec,_0x4259c4){const _0x8f7282={_0x546166:0x16b3,_0x38d278:0x621};!Cesium__namespace['defined'](_0x4259c4)&&(_0x4259c4={});_0x4259c4['color']=this[_0x29be84(_0x8f7282._0x546166,0x10ba)];function _0x29be84(_0xfc423e,_0x518191){return _0x7afdbe(_0xfc423e,_0x518191- -0x386);}function _0x2b3d8c(_0xa3f5,_0x526ee){return _0x7afdbe(_0xa3f5,_0x526ee- -0x472);}return _0x4259c4['speed']=this['speed'],_0x4259c4[_0x2b3d8c(0x97a,_0x8f7282._0x38d278)]=this['globalAlpha'],_0x4259c4;}['equals'](_0x402d68){const _0x2b91a0={_0x75c331:0x162d,_0xcf26b1:0x11db},_0x25b00f={_0x12cf64:0x50};function _0x427841(_0x5f52f7,_0x3b94dd){return _0x54a7f1(_0x3b94dd-_0x25b00f._0x12cf64,_0x5f52f7);}function _0x362f9c(_0x3df272,_0x2e7559){return _0x7afdbe(_0x3df272,_0x2e7559- -0xf3);}return this===_0x402d68||_0x402d68 instanceof ScanLineMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x402d68['color'])&&this[_0x362f9c(0x17a8,0x11db)]===_0x402d68[_0x362f9c(_0x2b91a0._0x75c331,_0x2b91a0._0xcf26b1)];}}registerPropertyClass(ScanLine,ScanLineMaterialProperty);class TextMaterialProperty extends Image2MaterialProperty{constructor(_0x4a215e={}){const _0x68b79c={_0x50625c:0x12e6,_0x2fb9a4:0x12e6,_0x2bd972:0x12a4,_0x2ec7b9:0x1140,_0x56bfe5:0xfde},_0x4c1b8f={_0x3fb05c:0x372},_0x7eb87e={_0xb39271:0x485};_0x4a215e[_0x276a0c(_0x68b79c._0x50625c,0xe7f)]=_0x4a215e[_0x276a0c(_0x68b79c._0x2fb9a4,0x1ae7)]??0x46,super(_0x4a215e),this['transparent']=_0x4a215e[_0x276a0c(_0x68b79c._0x2bd972,0x1cb4)]??!![],this['color']=Cesium__namespace[_0x31703d(0x1b7f,_0x68b79c._0x2ec7b9)]['WHITE'];function _0x276a0c(_0x5cf786,_0x227bd8){return _0x54a7f1(_0x5cf786- -_0x7eb87e._0xb39271,_0x227bd8);}function _0x31703d(_0x3a3b05,_0x5382c0){return _0x7afdbe(_0x3a3b05,_0x5382c0- -_0x4c1b8f._0x3fb05c);}this[_0x276a0c(0xdb2,0xfb3)]=LabelStyleConver[_0x276a0c(0x954,_0x68b79c._0x56bfe5)](_0x4a215e,{'fill':_0x4a215e['fill']??!![],'fillColor':new Cesium__namespace['Color'](0x1,0x1,0x0,0x1),'textBaseline':'middle','padding':0xa}),this['_updateImage']();}get[_0x54a7f1(0x10fb,0x7dd)](){const _0x7c4864={_0x31f9ca:0xb48,_0x104a11:0x1371};function _0x43a9ce(_0xfb4870,_0x8a51b4){return _0x54a7f1(_0xfb4870- -0x180,_0x8a51b4);}function _0x480dea(_0xf2daa4,_0xa757d1){return _0x54a7f1(_0xf2daa4-0x298,_0xa757d1);}return this[_0x480dea(_0x7c4864._0x31f9ca,0x1374)][_0x480dea(0x1393,_0x7c4864._0x104a11)];}set['text'](_0x249999){const _0x1e899f={_0x37f4a3:0x231};function _0x5b348c(_0x1aa401,_0x28f09f){return _0x54a7f1(_0x1aa401-_0x1e899f._0x37f4a3,_0x28f09f);}function _0x4d8111(_0x1fe3d2,_0x2a34eb){return _0x7afdbe(_0x1fe3d2,_0x2a34eb- -0x541);}this['options'][_0x5b348c(0x132c,0xbdc)]=_0x249999,this[_0x4d8111(0x32c,0x5bb)]();}get[_0x54a7f1(0x1056,0x1434)](){return this['_textStyles'];}set['textStyles'](_0x586218){const _0x5a0b43={_0x242d0a:0x2fa};this[_0x11041d(0x63b,0xf3d)]=LabelStyleConver[_0x36dd35(0x1297,0x95c)](_0x586218,this[_0x11041d(0x194c,0xf3d)]);function _0x11041d(_0x13e761,_0x52ac29){return _0x54a7f1(_0x52ac29- -_0x5a0b43._0x242d0a,_0x13e761);}function _0x36dd35(_0x337356,_0x539e55){return _0x7afdbe(_0x337356,_0x539e55- -0x6ab);}this['_updateImage']();}['_updateImage'](){const _0x244dcd={_0x173ce0:0x32c},_0x1a0ebe={_0x2cb731:0x20c};function _0x4983fb(_0x531b61,_0x357c51){return _0x7afdbe(_0x531b61,_0x357c51- -0xe4);}function _0x2de5c8(_0x56d951,_0x1154aa){return _0x54a7f1(_0x56d951-_0x1a0ebe._0x2cb731,_0x1154aa);}this['_canvas']=getTextImage(this['options'][_0x4983fb(0x14bc,0x1245)],this[_0x2de5c8(0x1443,0x1437)]);if(this['_canvas']){var _0x5f04bc;this['image']=this['_canvas'];const _0x451f54=(_0x5f04bc=this['options'])===null||_0x5f04bc===void 0x0?void 0x0:_0x5f04bc[_0x2de5c8(0x12cf,0x196d)];_0x451f54&&_0x451f54(this['_canvas'],this)['then'](_0x431898=>{const _0x5e3c2f={_0x178c59:0x103};function _0x5001fb(_0x219bbc,_0x492a27){return _0x4983fb(_0x219bbc,_0x492a27- -_0x5e3c2f._0x178c59);}this[_0x5001fb(0x40e,_0x244dcd._0x173ce0)]=copyCanvas(_0x431898);});}}}registerPropertyClass(Text,TextMaterialProperty);class WallScrollMaterialProperty extends BaseMaterialProperty{constructor(_0x51bb93={}){const _0x537165={_0x5d2c87:0xd6e,_0x58894f:0xacd,_0x583f6c:0x11ad,_0x2881aa:0x19bc,_0x1b3443:0xf7d,_0xd3b3bc:0x10e2,_0x4f9bfd:0x349,_0x336c6b:0x3d7,_0x2621a9:0xe03,_0x8df35c:0x23e},_0xed49ca={_0x38d6cb:0x41};super(_0x51bb93),this[_0x377a72(_0x537165._0x5d2c87,0x326)]=_0x51bb93['image'],this[_0x505dba(_0x537165._0x58894f,_0x537165._0x583f6c)]=getCesiumColor(_0x51bb93[_0x505dba(0x8b8,0x11ad)],new Cesium__namespace[(_0x505dba(_0x537165._0x2881aa,0x121f))](0x0,0x0,0x0,0x1)),this['speed']=_0x51bb93[_0x377a72(_0x537165._0x1b3443,0x10e1)]??0xa;function _0x505dba(_0x59dc0b,_0xfee60c){return _0x7afdbe(_0x59dc0b,_0xfee60c- -0x293);}function _0x377a72(_0x1aa2b6,_0x33c5b2){return _0x54a7f1(_0x33c5b2-_0xed49ca._0x38d6cb,_0x1aa2b6);}this[_0x377a72(0x10e6,_0x537165._0xd3b3bc)]=_0x51bb93['count']??0x1,this[_0x377a72(-_0x537165._0x4f9bfd,0x3d7)]=_0x51bb93[_0x377a72(-0x128,_0x537165._0x336c6b)]??![],this['axisY']=_0x51bb93['axisY']??![],this[_0x377a72(0x7d5,0xea9)]=_0x51bb93[_0x505dba(0x166c,_0x537165._0x2621a9)]??![],this[_0x505dba(_0x537165._0x8df35c,0x800)]=_0x51bb93['globalAlpha']??0x1;}['getType'](_0x359145){return WallScroll;}['getValue'](_0xaea42,_0x146462){const _0x36c69e={_0xef3601:0xaf,_0x5032a9:0x1001,_0x49fb06:0xed3,_0x113aef:0x614,_0x1cec09:0x2f7,_0x29189d:0x45a};!Cesium__namespace['defined'](_0x146462)&&(_0x146462={});_0x146462[_0xd97ad8(0x117,-_0x36c69e._0xef3601)]=this[_0xd97ad8(0x117,-0x521)],_0x146462['color']=this[_0xd97ad8(0x1044,0x827)];function _0x3cee7a(_0x8e242e,_0x3ec9fa){return _0x54a7f1(_0x3ec9fa- -0x9f,_0x8e242e);}function _0xd97ad8(_0x216547,_0x1ed570){return _0x54a7f1(_0x216547- -0x1ce,_0x1ed570);}return _0x146462[_0x3cee7a(0x1791,_0x36c69e._0x5032a9)]=this['speed'],_0x146462['count']=this[_0xd97ad8(_0x36c69e._0x49fb06,0xf7f)],_0x146462['reverse']=this[_0x3cee7a(-_0x36c69e._0x113aef,_0x36c69e._0x1cec09)],_0x146462['axisY']=this['axisY'],_0x146462[_0xd97ad8(0xc9a,_0x36c69e._0x29189d)]=this['bloom'],_0x146462['globalAlpha']=this['globalAlpha'],_0x146462;}['equals'](_0x48f402){const _0x55bd92={_0x4a0fdf:0x1604,_0x17f921:0x1aa5};function _0x50c81d(_0x258d96,_0x3d311f){return _0x7afdbe(_0x3d311f,_0x258d96- -0x1cf);}function _0x479732(_0x442e30,_0xb895d2){return _0x7afdbe(_0x442e30,_0xb895d2- -0x37c);}return this===_0x48f402||_0x48f402 instanceof WallScrollMaterialProperty&&Cesium__namespace['Property'][_0x50c81d(0xf44,_0x55bd92._0x4a0fdf)](this['color'],_0x48f402[_0x50c81d(0x1271,_0x55bd92._0x17f921)])&&this[_0x479732(0x822,0x197)]===_0x48f402['image']&&this[_0x50c81d(0x1100,0x127e)]===_0x48f402['count']&&this['reverse']===_0x48f402['reverse']&&this['bloom']===_0x48f402['bloom']&&this[_0x479732(0xd57,0xf52)]===_0x48f402['speed'];}}registerPropertyClass(WallScroll,WallScrollMaterialProperty);class WaterLightMaterialProperty extends BaseMaterialProperty{constructor(_0x5ba04a={}){const _0x5793bb={_0x213ceb:0x5d4,_0x25fcf0:0xce6,_0x271cf3:0x254,_0x76a2cc:0x2},_0x3fd53e={_0x754d7b:0x606};super(_0x5ba04a),this['specularMap']=_0x5ba04a[_0x2b9b3d(0xac,-_0x5793bb._0x213ceb)],this['normalMap']=_0x5ba04a['normalMap']||Cesium__namespace[_0x3659b6(_0x5793bb._0x25fcf0,_0x5793bb._0x271cf3)]['DefaultImageId'];function _0x3659b6(_0x48c47c,_0x16b77d){return _0x54a7f1(_0x16b77d- -0x3b5,_0x48c47c);}this[_0x2b9b3d(-_0x5793bb._0x76a2cc,0xa91)]=_0x5ba04a['alpha']??0.2;function _0x2b9b3d(_0xc1472,_0x179c73){return _0x7afdbe(_0x179c73,_0xc1472- -_0x3fd53e._0x754d7b);}this[_0x3659b6(0xc71,0x4b0)]=_0x5ba04a['globalAlpha']??0x1;}['getType'](_0x42fb28){return WaterLight;}[_0x54a7f1(0xaf2,0xf9f)](_0x56369c,_0x356fd5){const _0x2365c1={_0x1f65a1:0x640,_0x36c7ff:0x34d,_0x462cbe:0x79};!Cesium__namespace[_0x58cea3(0x131f,0x9f8)](_0x356fd5)&&(_0x356fd5={});_0x356fd5[_0x10108a(0x74d,0x49f)]=this[_0x10108a(_0x2365c1._0x1f65a1,0x49f)];function _0x58cea3(_0x193dfd,_0x3f5ca1){return _0x7afdbe(_0x3f5ca1,_0x193dfd- -0x590);}_0x356fd5[_0x58cea3(_0x2365c1._0x36c7ff,0xda1)]=this['normalMap'];function _0x10108a(_0x6c89a1,_0xa6751e){return _0x54a7f1(_0xa6751e-0x1b,_0x6c89a1);}return _0x356fd5[_0x58cea3(0x74,0x2ef)]=this[_0x58cea3(0x74,-_0x2365c1._0x462cbe)],_0x356fd5['globalAlpha']=this['globalAlpha'],_0x356fd5;}[_0x7afdbe(0xe29,0x1113)](_0x3fe3d6){const _0x2124e4={_0xcd43dd:0x47e,_0x1fb504:0x973};function _0xa137(_0x4653f0,_0x2768f2){return _0x54a7f1(_0x4653f0-0xa8,_0x2768f2);}return this===_0x3fe3d6||_0x3fe3d6 instanceof WaterLightMaterialProperty&&this['specularMap']===_0x3fe3d6['specularMap']&&this['normalMap']===_0x3fe3d6['normalMap']&&this[_0xa137(_0x2124e4._0xcd43dd,_0x2124e4._0x1fb504)]===_0x3fe3d6['alpha'];}}registerPropertyClass(WaterLight,WaterLightMaterialProperty);class WaterMaterialProperty extends BaseMaterialProperty{constructor(_0xe6e3f5={}){const _0xf90d9b={_0x403c51:0x787,_0x211b3a:0xd5d,_0x403ae7:0x4e3,_0x560ccc:0x307,_0x523a8b:0x3ea,_0x437420:0xcd,_0xa9fb56:0x8d5,_0x5885d5:0x1031,_0x1fc037:0x1043,_0x4d0cfe:0x6e8,_0x43ae9b:0x7f4},_0x5dafa8={_0x3c975e:0x3ab},_0x4a8025={_0x54c8f1:0x5f};function _0x2d58d7(_0x239e0f,_0x484382){return _0x54a7f1(_0x239e0f-_0x4a8025._0x54c8f1,_0x484382);}function _0x12be02(_0x134115,_0x111f11){return _0x7afdbe(_0x111f11,_0x134115- -_0x5dafa8._0x3c975e);}super(_0xe6e3f5),this['baseWaterColor']=getCesiumColor(_0xe6e3f5['baseWaterColor'],new Cesium__namespace[(_0x2d58d7(0x12e3,0xc0d))](0.2,0.3,0.6,0x1)),this[_0x12be02(0x2d4,-_0xf90d9b._0x403c51)]=getCesiumColor(_0xe6e3f5[_0x2d58d7(0x4b0,_0xf90d9b._0x211b3a)],new Cesium__namespace['Color'](0x0,0x1,0.699,0x1)),this[_0x2d58d7(_0xf90d9b._0x403ae7,0x43)]=_0xe6e3f5[_0x12be02(_0xf90d9b._0x560ccc,_0xf90d9b._0x523a8b)]||Cesium__namespace['Material']['DefaultImageId'],this['normalMap']=_0xe6e3f5[_0x2d58d7(0x70e,-0x324)]||Cesium__namespace['Material']['DefaultImageId'],this['frequency']=_0xe6e3f5[_0x2d58d7(0xa00,_0xf90d9b._0x437420)]??0x3e8,this['animationSpeed']=_0xe6e3f5['animationSpeed']??0.01,this[_0x2d58d7(_0xf90d9b._0xa9fb56,_0xf90d9b._0x5885d5)]=_0xe6e3f5[_0x2d58d7(0x8d5,_0xf90d9b._0x1fc037)]??0xa,this['specularIntensity']=_0xe6e3f5['specularIntensity']??0.5,this['fadeFactor']=_0xe6e3f5[_0x2d58d7(0x139c,0x111b)]??0x1,this['globalAlpha']=_0xe6e3f5[_0x12be02(_0xf90d9b._0x4d0cfe,_0xf90d9b._0x43ae9b)]??0x1;}['getType'](_0x27ef3d){return Water$1;}['getValue'](_0x1fd9e7,_0x41ea96){const _0x4b016b={_0x502598:0x226,_0x2ab694:0x787,_0x29eacb:0x139,_0x1ff02a:0xffd,_0x4149a7:0x2e6,_0x53d110:0x618,_0x490e45:0xe5b,_0x5742a2:0x45,_0x315347:0x224,_0x168480:0x551,_0x89cfd7:0xc2,_0x53299e:0x94d,_0x5ddc86:0x30e},_0x2220cc={_0x4d430b:0x544},_0x215c29={_0x3407b6:0x542};!_0x41ea96&&(_0x41ea96={});_0x41ea96[_0x3483a9(_0x4b016b._0x502598,0x1ae)]=this[_0x3483a9(0x226,-0x500)];function _0x3483a9(_0x3d8367,_0x5d383d){return _0x7afdbe(_0x5d383d,_0x3d8367- -_0x215c29._0x3407b6);}_0x41ea96[_0x3483a9(0x13d,0xb04)]=this['blendColor'],_0x41ea96[_0x3483a9(0x170,0x2de)]=this[_0x3483a9(0x170,_0x4b016b._0x2ab694)],_0x41ea96['normalMap']=this[_0x2d6d0b(_0x4b016b._0x29eacb,0x399)],_0x41ea96[_0x2d6d0b(0x208,0x68b)]=this['frequency'],_0x41ea96['animationSpeed']=this[_0x2d6d0b(_0x4b016b._0x1ff02a,0xbb5)],_0x41ea96['amplitude']=this[_0x3483a9(0x562,-_0x4b016b._0x4149a7)],_0x41ea96[_0x2d6d0b(0x767,_0x4b016b._0x53d110)]=this[_0x2d6d0b(_0x4b016b._0x490e45,_0x4b016b._0x53d110)],_0x41ea96['fadeFactor']=this['fadeFactor'];this['globalAlpha']!==0x1&&(_0x41ea96[_0x2d6d0b(_0x4b016b._0x5742a2,_0x4b016b._0x315347)]['alpha']*=this[_0x3483a9(_0x4b016b._0x168480,0x858)],_0x41ea96['blendColor'][_0x3483a9(_0x4b016b._0x89cfd7,-_0x4b016b._0x53299e)]*=this[_0x3483a9(_0x4b016b._0x168480,_0x4b016b._0x5ddc86)]);function _0x2d6d0b(_0x3f0715,_0x49e12e){return _0x7afdbe(_0x3f0715,_0x49e12e- -_0x2220cc._0x4d430b);}return _0x41ea96;}['equals'](_0x1cb1a2){const _0x28d739={_0x36edad:0x39a,_0x55ff7e:0x12d,_0x43bf2f:0x85,_0x239b53:0x32d,_0x3bddf1:0xa6b,_0x44276a:0xf81,_0x4c76bb:0x11c9},_0x4fa024={_0x150cd2:0x1a0};function _0x5227b1(_0x3078ce,_0x5b218f){return _0x54a7f1(_0x3078ce- -_0x4fa024._0x150cd2,_0x5b218f);}function _0x517977(_0x1c94ea,_0x795d62){return _0x7afdbe(_0x1c94ea,_0x795d62- -0x62d);}return this===_0x1cb1a2||_0x1cb1a2 instanceof WaterMaterialProperty&&this['baseWaterColor']['equals'](_0x1cb1a2[_0x5227b1(_0x28d739._0x36edad,-_0x28d739._0x55ff7e)])&&this['blendColor']['equals'](_0x1cb1a2['blendColor'])&&this[_0x517977(-0x35c,_0x28d739._0x43bf2f)]===_0x1cb1a2[_0x5227b1(0x2e4,-_0x28d739._0x239b53)]&&this['normalMap']===_0x1cb1a2['normalMap']&&this['frequency']===_0x1cb1a2[_0x517977(_0x28d739._0x3bddf1,0x5a2)]&&this['animationSpeed']===_0x1cb1a2['animationSpeed']&&this['amplitude']===_0x1cb1a2[_0x5227b1(0x6d6,_0x28d739._0x44276a)]&&this['specularIntensity']===_0x1cb1a2[_0x5227b1(0x78e,_0x28d739._0x4c76bb)]&&this['fadeFactor']===_0x1cb1a2[_0x5227b1(0x119d,0x102f)];}}registerPropertyClass(Water$1,WaterMaterialProperty);const _0xd3a5b={};_0xd3a5b['__proto__']=null,_0xd3a5b['TextMaterial']=TextMaterial,_0xd3a5b['CylinderWaveMaterial']=CylinderWaveMaterial,_0xd3a5b['BaseMaterialProperty']=BaseMaterialProperty,_0xd3a5b['CircleScanMaterialProperty']=CircleScanMaterialProperty,_0xd3a5b['CircleWaveMaterialProperty']=CircleWaveMaterialProperty,_0xd3a5b['CylinderWaveMaterialProperty']=CylinderWaveMaterialProperty,_0xd3a5b['DigitalFlowMaterialProperty']=DigitalFlowMaterialProperty,_0xd3a5b['EllipsoidElectricMaterialProperty']=EllipsoidElectricMaterialProperty,_0xd3a5b['EllipsoidWaveMaterialProperty']=EllipsoidWaveMaterialProperty,_0xd3a5b['Image2MaterialProperty']=Image2MaterialProperty,_0xd3a5b['LineBloomMaterialProperty']=LineBloomMaterialProperty,_0xd3a5b[_0x7afdbe(-0xde,0x507)]=LineFlickerMaterialProperty,_0xd3a5b[_0x7afdbe(0x1c4e,0x16a3)]=LineFlowColorMaterialProperty,_0xd3a5b['LineFlowMaterialProperty']=LineFlowMaterialProperty,_0xd3a5b['LineTrailMaterialProperty']=LineTrailMaterialProperty,_0xd3a5b['LineDotDashMaterialProperty']=LineDotDashMaterialProperty,_0xd3a5b[_0x54a7f1(0x115b,0x7dc)]=LineDashArrowMaterialProperty,_0xd3a5b['NeonLightMaterialProperty']=NeonLightMaterialProperty,_0xd3a5b[_0x54a7f1(0xf35,0x12a1)]=LineThreeDashMaterialProperty,_0xd3a5b['LineCrossMaterialProperty']=LineCrossMaterialProperty,_0xd3a5b[_0x7afdbe(0xd3b,0x8bf)]=ODLineMaterialProperty,_0xd3a5b['PolyAsphaltMaterialProperty']=PolyAsphaltMaterialProperty,_0xd3a5b['PolyBlobMaterialProperty']=PolyBlobMaterialProperty,_0xd3a5b[_0x7afdbe(0x12f3,0x133a)]=PolyFacetMaterialProperty,_0xd3a5b['PolyGradientMaterialProperty']=PolyGradientMaterialProperty,_0xd3a5b['PolyGrassMaterialProperty']=PolyGrassMaterialProperty,_0xd3a5b['PolyWoodMaterialProperty']=PolyWoodMaterialProperty,_0xd3a5b['RadarLineMaterialProperty']=RadarLineMaterialProperty,_0xd3a5b['RadarWaveMaterialProperty']=RadarWaveMaterialProperty,_0xd3a5b['RectSlideMaterialProperty']=RectSlideMaterialProperty,_0xd3a5b['ScanLineMaterialProperty']=ScanLineMaterialProperty,_0xd3a5b['TextMaterialProperty']=TextMaterialProperty,_0xd3a5b['WallScrollMaterialProperty']=WallScrollMaterialProperty,_0xd3a5b['WaterLightMaterialProperty']=WaterLightMaterialProperty,_0xd3a5b['WaterMaterialProperty']=WaterMaterialProperty;var index$8=_0xd3a5b;class BaseGraphic extends BaseClass{constructor(_0x5ce55a={}){const _0x4600d3={_0x99694b:0xb59,_0x418f24:0x1208,_0x1791d2:0x14dd,_0x38bd10:0x2272,_0x57f9f4:0x108f,_0x2bfbc6:0x1057,_0x247ba6:0x1662,_0x537075:0xcb8,_0x2fe59b:0x9a8,_0x473922:0x528};_0x5ce55a['style']=_0x5ce55a['style']||{};function _0x5e8f06(_0x21f602,_0x5d5e69){return _0x7afdbe(_0x21f602,_0x5d5e69-0x33);}_0x5ce55a[_0x1a9c4f(0x1841,0x1930)]=_0x5ce55a[_0x1a9c4f(0x1f9f,0x1930)]||{},super(_0x5ce55a),this[_0x1a9c4f(0x5c8,_0x4600d3._0x99694b)]=_0x5ce55a,_0x5ce55a['id']=_0x5ce55a['id']??_0x5ce55a[_0x5e8f06(_0x4600d3._0x418f24,0x18e8)]['id']??createGuid(),_0x5ce55a['name']=_0x5ce55a[_0x5e8f06(0x17b0,_0x4600d3._0x1791d2)]||_0x5ce55a['attr']['name'],this[_0x1a9c4f(0x10f5,0x151f)]=_0x5ce55a[_0x5e8f06(_0x4600d3._0x38bd10,0x1854)]??!![],this[_0x1a9c4f(0x16db,0x1098)]=_0x5ce55a[_0x5e8f06(_0x4600d3._0x57f9f4,_0x4600d3._0x2bfbc6)];function _0x1a9c4f(_0x723a74,_0x2107db){return _0x54a7f1(_0x2107db-0x2a9,_0x723a74);}_0x5ce55a['popup']&&this['bindPopup'](_0x5ce55a['popup'],_0x5ce55a['popupOptions']),_0x5ce55a['tooltip']&&this[_0x1a9c4f(_0x4600d3._0x247ba6,0xfb6)](_0x5ce55a[_0x5e8f06(0x328,0xb47)],_0x5ce55a[_0x1a9c4f(0x42a,_0x4600d3._0x537075)]),_0x5ce55a['contextmenuItems']&&this['bindContextMenu'](_0x5ce55a[_0x1a9c4f(0xdf,_0x4600d3._0x2fe59b)],_0x5ce55a[_0x5e8f06(0x8f4,0xf9d)]),this[_0x5e8f06(-_0x4600d3._0x473922,0x4eb)]=State['INITIALIZED'];}get[_0x7afdbe(0x1512,0xa64)](){const _0x42bcc7={_0x1a8dbc:0x2bf},_0x4e8762={_0x8b17f2:0x5cd};function _0x2d6517(_0x18b6ca,_0x13b554){return _0x7afdbe(_0x18b6ca,_0x13b554- -_0x4e8762._0x8b17f2);}return this[_0x2d6517(0x181,_0x42bcc7._0x1a8dbc)];}get[_0x7afdbe(0x1886,0x1475)](){const _0x57842f={_0x61ad51:0x7c3},_0x3a954b={_0x33373f:0x30e};function _0x25ef42(_0x18f18e,_0x9e20e5){return _0x7afdbe(_0x18f18e,_0x9e20e5- -_0x3a954b._0x33373f);}return this[_0x25ef42(-_0x57842f._0x61ad51,0x28d)];}get['id'](){const _0x13150d={_0x5eff92:0xba8},_0x1c372d={_0x20b024:0x6bb};function _0x36e282(_0x69a7b2,_0x11323c){return _0x7afdbe(_0x11323c,_0x69a7b2- -_0x1c372d._0x20b024);}var _0x4d07f9;return(_0x4d07f9=this[_0x36e282(0x423,_0x13150d._0x5eff92)])===null||_0x4d07f9===void 0x0?void 0x0:_0x4d07f9['id'];}set['id'](_0x1af17c){this['options']['id']=_0x1af17c;}get['pid'](){const _0x5c42fe={_0x32eaad:0x9ce,_0x31ca59:0x217b};function _0x7b74f6(_0x104e94,_0x1117fa){return _0x54a7f1(_0x1117fa- -0xee,_0x104e94);}function _0x3ef689(_0x13dc1a,_0x42a3e5){return _0x54a7f1(_0x42a3e5-0x11e,_0x13dc1a);}var _0x357716;return(_0x357716=this[_0x3ef689(0xf2e,_0x5c42fe._0x32eaad)])===null||_0x357716===void 0x0?void 0x0:_0x357716[_0x7b74f6(_0x5c42fe._0x31ca59,0x16ae)];}set['pid'](_0x18bcc6){this['options']['pid']=_0x18bcc6;}get[_0x54a7f1(0xacc,0xd4b)](){const _0x4ecb63={_0x193649:0x50b};function _0x3052c8(_0x8c73c8,_0x1392d4){return _0x7afdbe(_0x8c73c8,_0x1392d4-0x53);}return this[_0x3052c8(-0x246,_0x4ecb63._0x193649)];}get['isAdded'](){return this['_state']===State['ADDED'];}get[_0x54a7f1(0x3c2,0x41d)](){const _0x26d73a={_0x2e431d:0xa6e,_0x57ceac:0x769},_0x32d76e={_0xd8d4d4:0x147};function _0x46a726(_0x2ce33f,_0x540a83){return _0x54a7f1(_0x2ce33f-0xc3,_0x540a83);}function _0x1b3bc9(_0xf0090e,_0x58eb70){return _0x54a7f1(_0xf0090e- -_0x32d76e._0xd8d4d4,_0x58eb70);}return this['_state']===State[_0x46a726(_0x26d73a._0x2e431d,0xa3c)]||!this[_0x1b3bc9(_0x26d73a._0x57ceac,0x274)];}get[_0x54a7f1(0x4cb,-0x20e)](){const _0x2d0680={_0xe4e8a7:0x14aa,_0x1df828:0xd2b};function _0x1b04f5(_0x524e16,_0x1865c3){return _0x7afdbe(_0x524e16,_0x1865c3- -0x2f2);}if(this[_0x1b04f5(_0x2d0680._0xe4e8a7,_0x2d0680._0x1df828)])return!![];return![];}get['czmObject'](){return null;}get['czmObjectEx'](){return null;}get['show'](){const _0x1ade4b={_0x47b06a:0x141b},_0x80a134={_0x23aec0:0x89};function _0x493ccd(_0x32c6d6,_0x4fd83a){return _0x7afdbe(_0x4fd83a,_0x32c6d6- -_0x80a134._0x23aec0);}return this[_0x493ccd(_0x1ade4b._0x47b06a,0xda4)];}set['show'](_0x40a7c4){const _0x14e857={_0x10bed9:0xd4b,_0x1273fb:0xaff,_0x49ba7b:0x16c6,_0x5dabac:0xe34},_0xb35c28={_0x3be2e6:0x2b2},_0x4e35a9={_0x157cb7:0x603};if(this['_show']===_0x40a7c4)return;this['options']['show']=_0x40a7c4,this['_show']=_0x40a7c4;function _0x2630a7(_0x21d2e9,_0x26a3d9){return _0x7afdbe(_0x26a3d9,_0x21d2e9- -_0x4e35a9._0x157cb7);}delete this[_0x2630a7(0xd6b,_0x14e857._0x10bed9)],this[_0x17a397(_0x14e857._0x1273fb,0xf01)](_0x40a7c4);function _0x17a397(_0x63ed04,_0x36835e){return _0x7afdbe(_0x36835e,_0x63ed04- -_0xb35c28._0x3be2e6);}this[_0x17a397(_0x14e857._0x49ba7b,0x165a)]&&this[_0x17a397(0x16c6,0x127e)](_0x40a7c4),_0x40a7c4?this[_0x17a397(_0x14e857._0x5dabac,0xa04)](EventType['show']):this[_0x2630a7(0xae3,0x529)](EventType['hide']);}['getRealShow'](_0x45acc9){const _0x883964={_0xd8c0b4:0x36a,_0x455da7:0xfa0,_0x2c61c1:0x17c9},_0x7f88ec={_0x37b1da:0x697};var _0x587cf7;function _0x45b96c(_0x2b5b92,_0x437010){return _0x7afdbe(_0x437010,_0x2b5b92- -0x626);}function _0x2f1513(_0x2d5b5d,_0x1a82cf){return _0x7afdbe(_0x2d5b5d,_0x1a82cf- -_0x7f88ec._0x37b1da);}if(!this[_0x2f1513(0x4be,_0x883964._0xd8c0b4)]||!this[_0x45b96c(0x11fb,_0x883964._0x455da7)]||this['isCluster'])return![];if(this['availability']&&!this[_0x45b96c(0xa92,0xc4d)](_0x45acc9??((_0x587cf7=this['_map'])===null||_0x587cf7===void 0x0?void 0x0:_0x587cf7['clock'][_0x2f1513(_0x883964._0x2c61c1,0xfea)])))return![];return this['show'];}get['hasCluster'](){return!![];}get['isCluster'](){const _0x4d9734={_0x5e10be:0x268};function _0x561466(_0x52667d,_0x579c48){return _0x7afdbe(_0x52667d,_0x579c48- -_0x4d9734._0x5e10be);}return this[_0x561466(0x4a5,0x20c)];}set['isCluster'](_0x2aac6c){const _0x240fd2={_0x4b5c32:0x17f6,_0x1a1315:0x17f6,_0x168e13:0x1454},_0x518272={_0x1dbce2:0x152};if(this['_isCluster']===_0x2aac6c)return;this['_isCluster']=_0x2aac6c;function _0xd91e92(_0x5ee06d,_0x616604){return _0x7afdbe(_0x5ee06d,_0x616604- -_0x518272._0x1dbce2);}delete this[_0xc6ecae(0x11ec,0x12f3)];const _0x232828=!this['_isCluster'];this['_clusterShowHook']?this['_clusterShowHook'](_0x232828):(this['_updateCzmObjectShow'](_0x232828),this[_0xc6ecae(_0x240fd2._0x4b5c32,0x1b85)]&&this[_0xc6ecae(_0x240fd2._0x1a1315,_0x240fd2._0x168e13)](_0x232828));function _0xc6ecae(_0x4856c2,_0x5cecb3){return _0x7afdbe(_0x5cecb3,_0x4856c2- -0x182);}const _0xcf3bf1={};_0xcf3bf1['isCluster']=_0x2aac6c,this['fire'](EventType['clusterItemChange'],_0xcf3bf1,!![]);}['_updateCzmObjectShow'](_0x15c58d){const _0x362e35={_0x438931:0x1831,_0x3da7f8:0x12e3},_0x1aa9ed={_0x33da1c:0x13ca,_0x2a24dc:0x1d0c},_0x4c9c3f={_0x3a1193:0x88},_0x10fad1={_0x2320c4:0xf8};function _0x5793fc(_0x694071,_0x1664ec){return _0x7afdbe(_0x694071,_0x1664ec- -_0x10fad1._0x2320c4);}this[_0x5793fc(0x1cb6,_0x362e35._0x438931)]&&(this[_0x4b6a40(_0x362e35._0x3da7f8,0x155a)]['show']=_0x15c58d);function _0x4b6a40(_0x215332,_0x4d780f){return _0x7afdbe(_0x215332,_0x4d780f- -0x3cf);}this['czmObjectEx']&&this[_0x4b6a40(0x746,0x36d)]['forEach'](function(_0x42148b){function _0x1a9e57(_0x559517,_0xbc4fe6){return _0x4b6a40(_0xbc4fe6,_0x559517- -_0x4c9c3f._0x3a1193);}_0x42148b[_0x1a9e57(_0x1aa9ed._0x33da1c,_0x1aa9ed._0x2a24dc)]=_0x15c58d;});}get[_0x7afdbe(0x1ae3,0x13c3)](){var _0x4e7302;return(_0x4e7302=this['options'])===null||_0x4e7302===void 0x0?void 0x0:_0x4e7302['availability'];}set['availability'](_0x31944e){const _0x35234b={_0x2c1543:0x19f0,_0xeccd35:0x1200,_0x200711:0x786,_0x398124:0xafb,_0x1a81e2:0x8e4,_0x56a970:0x88a},_0x3ad2d1={_0x8a6dd9:0x4d},_0xae9518={_0x18125f:0x4ec};function _0x121c2e(_0x794001,_0x59a93e){return _0x7afdbe(_0x794001,_0x59a93e- -_0xae9518._0x18125f);}function _0x29022c(_0x57aaac,_0x1d0b4e){return _0x54a7f1(_0x57aaac- -_0x3ad2d1._0x8a6dd9,_0x1d0b4e);}this[_0x121c2e(_0x35234b._0x2c1543,_0x35234b._0xeccd35)]=getAvailability(_0x31944e,this[_0x29022c(_0x35234b._0x200711,0xcd4)][_0x121c2e(0x7cf,0x71b)]),this[_0x121c2e(0x9ed,0x5f2)]['availability']=getAvailabilityJson(Array['isArray'](_0x31944e)?_0x31944e:this['_availability']),this[_0x29022c(_0x35234b._0x398124,_0x35234b._0x1a81e2)]&&this[_0x121c2e(0x10ee,_0x35234b._0x56a970)](this['_availability']);}[_0x7afdbe(0x10aa,0x10b8)](_0x44e29e){function _0x42de1a(_0x5b10aa,_0x300022){return _0x7afdbe(_0x5b10aa,_0x300022-0x83);}var _0x564bea;function _0x18d2d4(_0x307614,_0x2e3b63){return _0x7afdbe(_0x2e3b63,_0x307614- -0x2dc);}if(((_0x564bea=this[_0x42de1a(0x122e,0xa84)])===null||_0x564bea===void 0x0?void 0x0:_0x564bea['availabilityEnabled'])===![])return!![];return this['_availability']&&_0x44e29e?this['_availability'][_0x42de1a(0x103f,0x6e4)](_0x44e29e)??![]:!![];}[_0x7afdbe(0xf23,0x17a9)](_0x4c40fa){const _0x27e105={_0x4d047a:0x1793,_0x183242:0x153c,_0x38e4b9:0x11a4,_0x3aab19:0x94f,_0x567ca2:0x1512},_0x5bb23c={_0x4ca770:0x254};function _0x301d4c(_0x566783,_0x255f2b){return _0x7afdbe(_0x566783,_0x255f2b- -_0x5bb23c._0x4ca770);}let _0x12f79c=!![];_0x4c40fa[_0x301d4c(0x6e8,0x919)]=_0x57058b=>{const _0x16b8b2={_0x51fe91:0x429};if(!this[_0x308630(0x11a4,_0x27e105._0x4d047a)]){_0x4c40fa[_0x1c6146(0x1512,0x103b)]=this[_0x308630(0x11a4,_0x27e105._0x183242)];return;}if(this['_isCluster']){_0x4c40fa[_0x308630(_0x27e105._0x38e4b9,0x1048)]=![];return;}function _0x1c6146(_0x3a708e,_0x44c20f){return _0x301d4c(_0x44c20f,_0x3a708e- -0xbb);}const _0x24bd1f=this['getAvailabilityShow'](_0x57058b[_0x308630(0x610,_0x27e105._0x3aab19)]);function _0x308630(_0x2a6c7e,_0x2b9c60){return _0x301d4c(_0x2b9c60,_0x2a6c7e- -_0x16b8b2._0x51fe91);}_0x12f79c!==_0x24bd1f&&(_0x4c40fa[_0x1c6146(_0x27e105._0x567ca2,0xdb6)]=_0x24bd1f,_0x12f79c=_0x24bd1f);};}['_updateObjectAvailability'](_0x3e8754){const _0x12c75a={_0x5d1531:0x133a,_0x28beb3:0x1e86,_0x2761b4:0x17ca},_0x28714c={_0x58132c:0x57};function _0x4b90df(_0x121697,_0x2ac393){return _0x7afdbe(_0x121697,_0x2ac393- -_0x28714c._0x58132c);}if(this['availability']&&this['czmObject']){const _0x154545=this[_0x3ed27b(0xc6d,0x16dd)](_0x3e8754);return this['_last_availabilityShow']!==_0x154545&&(this['_updateCzmObjectShow'](_0x154545),this['_showHook']&&this['_showHook'](_0x154545),this['_last_availabilityShow']=_0x154545),_0x154545;}else Cesium__namespace['defined'](this[_0x4b90df(0xdff,0x1317)])&&(this['_updateCzmObjectShow'](this['show']),this['_showHook']&&this[_0x4b90df(_0x12c75a._0x5d1531,0x1921)](this[_0x4b90df(_0x12c75a._0x28beb3,_0x12c75a._0x2761b4)]),delete this[_0x3ed27b(0xf23,0x1635)]);function _0x3ed27b(_0x15cb1b,_0x80ca65){return _0x54a7f1(_0x15cb1b- -0x21d,_0x80ca65);}return!![];}get['name'](){const _0x300599={_0x2b3764:0x2e9};var _0x512e29;function _0xce84e3(_0x2e69ca,_0x2c99eb){return _0x54a7f1(_0x2e69ca- -_0x300599._0x2b3764,_0x2c99eb);}return(_0x512e29=this['options'])===null||_0x512e29===void 0x0?void 0x0:_0x512e29[_0xce84e3(0xf93,0xfee)];}set['name'](_0x195675){const _0x5edee0={_0x5ee256:0xe79},_0x2c8fef={_0x500125:0x4a4};function _0x1df79c(_0x5eb7d1,_0x14d908){return _0x7afdbe(_0x5eb7d1,_0x14d908- -_0x2c8fef._0x500125);}this['options'][_0x1df79c(_0x5edee0._0x5ee256,0x1006)]=_0x195675;}get['attr'](){var _0x37823e;return(_0x37823e=this['options'])===null||_0x37823e===void 0x0?void 0x0:_0x37823e['attr'];}set['attr'](_0x529521){const _0x184705={_0x1573bc:0x4c5,_0xef351:0x129c},_0x3091ea={_0x26cdba:0x6b};this[_0x16dbe2(0x976,_0x184705._0x1573bc)]['attr']=_0x529521;const _0x2f9d2b={};function _0x5b1a10(_0x44fe08,_0x3ca09a){return _0x54a7f1(_0x3ca09a-_0x3091ea._0x26cdba,_0x44fe08);}function _0x16dbe2(_0x5b2220,_0x489b46){return _0x54a7f1(_0x489b46- -0x3eb,_0x5b2220);}_0x2f9d2b[_0x16dbe2(0x9fe,_0x184705._0xef351)]=_0x529521,this['fire'](EventType['updateAttr'],_0x2f9d2b,!![]);}get['style'](){const _0x57ff78={_0x3b96fb:0xacc,_0x30fbae:0x4be};function _0x24e326(_0x11a913,_0xd52d57){return _0x54a7f1(_0x11a913-0x21c,_0xd52d57);}function _0x59a322(_0x43ab75,_0x325c8a){return _0x54a7f1(_0x325c8a- -0x1fb,_0x43ab75);}var _0x33fa5c;return(_0x33fa5c=this[_0x24e326(_0x57ff78._0x3b96fb,0x1155)])===null||_0x33fa5c===void 0x0?void 0x0:_0x33fa5c[_0x59a322(-_0x57ff78._0x30fbae,0x2a1)];}set[_0x54a7f1(0x49c,-0x139)](_0x118252){const _0x3cf6c9={_0x476c2d:0x1237},_0xf7f0f9={_0x13dd41:0x8e};function _0x18e287(_0xdffbae,_0x280b5c){return _0x7afdbe(_0xdffbae,_0x280b5c- -_0xf7f0f9._0x13dd41);}this[_0x18e287(_0x3cf6c9._0x476c2d,0x12ed)](_0x118252);}get['allowDrillPick'](){var _0x437940;return(_0x437940=this['options'])===null||_0x437940===void 0x0?void 0x0:_0x437940['allowDrillPick'];}set[_0x7afdbe(0x20a2,0x17ae)](_0x4e1bb4){const _0x40831a={_0x32725b:0x13a2};function _0x2bbdb4(_0x53dc92,_0x5563a3){return _0x54a7f1(_0x5563a3- -0x1de,_0x53dc92);}this['options'][_0x2bbdb4(0xd8f,_0x40831a._0x32725b)]=_0x4e1bb4;}get[_0x54a7f1(0x1732,0x1585)](){const _0x229a7d={_0x55e984:0x499};function _0x1a6ef6(_0x538961,_0x3091a4){return _0x7afdbe(_0x3091a4,_0x538961- -_0x229a7d._0x55e984);}return this['_hasEdit']&&Boolean(this[_0x1a6ef6(0x1481,0x1417)]||this['_getDrawEntityClass']);}set['hasEdit'](_0x2f66cb){this['_hasEdit']=_0x2f66cb;}get[_0x54a7f1(0x965,0x5f0)](){const _0x28f855={_0x429727:0x129f,_0x52ea3b:0x1a1,_0x45a82f:0x595};function _0x2fc38c(_0x55124f,_0x1a8c51){return _0x7afdbe(_0x55124f,_0x1a8c51- -0x10e);}if(this['_layer'])return this[_0x2fc38c(_0x28f855._0x429727,0x174d)][_0x2fc38c(_0x28f855._0x52ea3b,0xa85)]&&this[_0x2fc38c(0x6e,_0x28f855._0x45a82f)];function _0x10bdfe(_0x1e4b90,_0x19d8eb){return _0x7afdbe(_0x1e4b90,_0x19d8eb- -0x4c9);}return this[_0x10bdfe(-0x5ee,0x1da)];}set['enabledEvent'](_0x1212ab){this['_enabledEvent']=_0x1212ab;}get[_0x7afdbe(-0x112,0x7ab)](){return null;}get['centerPoint'](){function _0x225908(_0x15a45b,_0x307c23){return _0x7afdbe(_0x15a45b,_0x307c23- -0x4b7);}function _0x8fa1a2(_0x732388,_0x38379a){return _0x7afdbe(_0x732388,_0x38379a-0x2c);}return LngLatPoint[_0x8fa1a2(0x264,0x597)](this[_0x225908(0x12d,0x2f4)]);}get['hasOpacity'](){return!![];}get['ellipsoid'](){function _0x333845(_0x135c52,_0x58c259){return _0x7afdbe(_0x135c52,_0x58c259- -0x2e5);}function _0x589626(_0x347539,_0x363336){return _0x7afdbe(_0x363336,_0x347539- -0x189);}var _0x4118e7;return((_0x4118e7=this['_map'])===null||_0x4118e7===void 0x0||(_0x4118e7=_0x4118e7['scene'])===null||_0x4118e7===void 0x0||(_0x4118e7=_0x4118e7[_0x589626(0x324,0xbdc)])===null||_0x4118e7===void 0x0?void 0x0:_0x4118e7['ellipsoid'])??Cesium__namespace[_0x589626(0x165a,0x1209)]['WGS84'];}get['fixedFrameTransform'](){const _0x172f89={_0x32c3e5:0x6f1,_0xa80537:0x866},_0x20a610={_0x527cad:0x3ed};function _0x2dc57a(_0x13ab29,_0xd729ac){return _0x54a7f1(_0xd729ac- -0xde,_0x13ab29);}if(Cesium__namespace[_0x49c52f(0x12b4,0x14c2)](this['options']['fixedFrameTransform']))return this[_0x49c52f(0x7de,_0x172f89._0x32c3e5)][_0x49c52f(0xdac,0x1574)];function _0x49c52f(_0x1b230e,_0xa11439){return _0x7afdbe(_0x1b230e,_0xa11439- -_0x20a610._0x527cad);}return Cesium__namespace['Transforms'][_0x49c52f(0x1235,0xc9f)]('east',_0x2dc57a(0x483,_0x172f89._0xa80537));}[_0x54a7f1(0x101a,0x872)](_0xb09f4d){return _0xb09f4d&&_0xb09f4d['addGraphic']&&_0xb09f4d['addGraphic'](this),this;}[_0x7afdbe(0xc96,0x9bc)](_0x16461c){const _0x4e86b1={_0x3316cc:0x1381,_0x5266eb:0x1cd3},_0x164b4d={_0x354c10:0x2ac},_0x4b6f19={_0x43439c:0x28d};function _0x22c1a8(_0x5a27a0,_0x16a86a){return _0x7afdbe(_0x16a86a,_0x5a27a0- -_0x4b6f19._0x43439c);}function _0x160edf(_0x1a2abb,_0x40b505){return _0x54a7f1(_0x1a2abb- -_0x164b4d._0x354c10,_0x40b505);}this[_0x160edf(_0x4e86b1._0x3316cc,0x105f)]&&this[_0x160edf(0x1381,_0x4e86b1._0x5266eb)][_0x22c1a8(0x38a,0x76f)](this,_0x16461c);}['bindPickId'](_0x25d9a5){var _0x5dcfaf;return _0x25d9a5['_mars3d_layerId']=(_0x5dcfaf=this['_layer'])===null||_0x5dcfaf===void 0x0?void 0x0:_0x5dcfaf['id'],_0x25d9a5['_mars3d_graphicId']=this['id'],this;}['_onAdd'](_0x4b06ae){const _0x139da2={_0x2f92d6:0x754,_0x10ccf9:0x3cf,_0x441e32:0x74c,_0x5f26cb:0x15a6,_0x3fc12:0x7e1,_0x37400e:0x2a8,_0x2f56c2:0x1674,_0x4481c2:0x204,_0xeaccbe:0x17d9,_0x50c6b5:0x415,_0x21c099:0x829,_0x12c9e9:0x2b3,_0xf8e175:0x127e,_0x1b33e9:0x162c,_0x4d99e0:0xe20,_0x499ff0:0x16f,_0x3f58eb:0x862,_0x5eb40f:0x8ba,_0x6e5cf8:0x444,_0x3793b8:0x8de,_0x507f2e:0x106a,_0x7eb387:0xe31,_0x487777:0x172d,_0x263f27:0xc44};var _0x7f25e7,_0x5062a7;if(this[_0x5890b6(_0x139da2._0x2f92d6,0xd87)])return;this['_state']=State[_0x5890b6(_0x139da2._0x10ccf9,-0x4fc)],this['_layer']=_0x4b06ae;function _0x281874(_0x1159e6,_0xa43e47){return _0x7afdbe(_0xa43e47,_0x1159e6- -0x2b5);}this[_0x281874(_0x139da2._0x441e32,0x3a9)]=_0x4b06ae['_map'],this[_0x281874(_0x139da2._0x5f26cb,0x15ed)]['_checkGraphicId'](this);!this['_map']&&logWarn(_0x281874(0x11f0,0x1663));if(this['options']['eventParent'])this['addEventParent'](this[_0x5890b6(_0x139da2._0x3fc12,_0x139da2._0x37400e)]['eventParent']);else{if(((_0x7f25e7=this[_0x281874(0x829,0x19)])===null||_0x7f25e7===void 0x0?void 0x0:_0x7f25e7['eventParent'])===![]);else this['addEventParent'](_0x4b06ae);}!this[_0x281874(_0x139da2._0x2f56c2,0x153a)]&&this[_0x281874(_0x139da2._0x4481c2,-0x85a)]&&this['_mountedHook']();this[_0x5890b6(0x1052,0x5cd)]&&this['_addedHook'](this['style']);if(!((_0x5062a7=this[_0x5890b6(0x155e,_0x139da2._0xeaccbe)])!==null&&_0x5062a7!==void 0x0&&_0x5062a7['_highlightOptions'])){if(this['style']['highlight'])this[_0x281874(0xbe4,0xcb2)](this[_0x281874(_0x139da2._0x50c6b5,-0x443)]['highlight']);else this['options']['highlight']&&this['bindHighlight'](this[_0x281874(_0x139da2._0x21c099,0x726)][_0x281874(0x657,-_0x139da2._0x12c9e9)]);}this['czmObject']&&this[_0x5890b6(_0x139da2._0xf8e175,0x1c7c)](this[_0x5890b6(_0x139da2._0x1b33e9,0x19b9)]);this[_0x281874(0x487,0x4a3)]&&this['czmObjectEx']['forEach'](_0x591168=>{this['bindPickId'](_0x591168);});this[_0x281874(0x829,_0x139da2._0x4d99e0)]['availability']&&(this['availability']=this[_0x281874(0x829,-_0x139da2._0x499ff0)]['availability']);this['options']['flyTo']&&(this['options']['flyToOptions']=this['options']['flyToOptions']||{},this['options']['flyToOptions'][_0x281874(_0x139da2._0x3f58eb,_0x139da2._0x5eb40f)]=this['options'][_0x5890b6(0xcd6,0xaa8)][_0x281874(0x862,0xffc)]??0x0,this[_0x5890b6(0x122b,0x1561)]());this['_state']=State['ADDED'],this[_0x5890b6(0xde9,0x135f)](EventType['add']);function _0x5890b6(_0x28d342,_0x2327a5){return _0x7afdbe(_0x2327a5,_0x28d342- -0x2fd);}!this[_0x281874(_0x139da2._0x6e5cf8,-0x10d)]&&this[_0x281874(_0x139da2._0x3793b8,_0x139da2._0x507f2e)]&&this['_layer'][_0x281874(_0x139da2._0x7eb387,_0x139da2._0x487777)](EventType['addGraphic'],{'graphic':this},!![]),this['options']['script']&&new Function(_0x5890b6(0x4f9,0x769),this[_0x281874(0x829,_0x139da2._0x263f27)]['script'])(this);}[_0x54a7f1(0x15b0,0x1c8d)](){const _0x5bbf9c={_0x4a4b56:0x1241,_0x58d170:0xb80,_0x1a941c:0x10cf,_0x356190:0x1288,_0x444cd8:0x8db,_0x3df8be:0x8e3,_0x261b7d:0x1302,_0x116ff0:0x81d},_0x5db676={_0x29d0dc:0xe1};var _0x14a9d9,_0x472a1b;function _0x167d84(_0xcb0994,_0x25d61b){return _0x7afdbe(_0x25d61b,_0xcb0994- -_0x5db676._0x29d0dc);}if(this[_0x167d84(0x3d7,0x9a)]!==State['ADDED'])return;if(!this['_layer']||!this[_0x167d84(0x9fd,_0x5bbf9c._0x4a4b56)])return;this['_closeAllControl'](),this[_0x22a61d(0x3e7,0x372)]();this['update']&&this[_0x167d84(_0x5bbf9c._0x58d170,0x1298)]();this['_removedHook']&&this[_0x22a61d(0x86b,0x11d0)]();if(!this['options'])return;this['_state']=State[_0x167d84(_0x5bbf9c._0x1a941c,_0x5bbf9c._0x356190)];function _0x22a61d(_0xed127f,_0x17522a){return _0x54a7f1(_0xed127f- -0x1e4,_0x17522a);}this['fire'](EventType[_0x167d84(_0x5bbf9c._0x444cd8,0xb93)]);!this['isPrivate']&&this[_0x22a61d(0x781,_0x5bbf9c._0x3df8be)]&&this[_0x22a61d(0x1449,_0x5bbf9c._0x261b7d)]['fire'](EventType['removeGraphic'],{'graphic':this},!![]);if((_0x14a9d9=this['options'])!==null&&_0x14a9d9!==void 0x0&&_0x14a9d9['eventParent'])this[_0x22a61d(0x3bf,_0x5bbf9c._0x116ff0)](this['options']['eventParent']);else{if(((_0x472a1b=this['options'])===null||_0x472a1b===void 0x0?void 0x0:_0x472a1b[_0x167d84(0xeee,0x54a)])===![]);else this['removeEventParent'](this['_layer']);}this['_layer']=null,this['_map']=null;}[_0x7afdbe(0x6eb,0x4b9)](){}[_0x7afdbe(0xa30,0x134f)](_0x5392c4){}['_removedHook'](){}[_0x7afdbe(0x302,0x527)](_0x32a2f5){const _0x4b38db={_0x51b448:0x5b4,_0x2b85a8:0x8ea,_0x5bf6a0:0x10bd,_0x5e6e55:0x5b4,_0x35e4c5:0x10cb};function _0x18bc26(_0x488d0f,_0xb54423){return _0x7afdbe(_0xb54423,_0x488d0f- -0x601);}function _0x157044(_0x2b2908,_0x54776c){return _0x7afdbe(_0x2b2908,_0x54776c- -0x44d);}this[_0x157044(0x421,_0x4b38db._0x51b448)][_0x157044(0x8de,_0x4b38db._0x2b85a8)]['enabledMoveTarget']=_0x32a2f5,this['_map'][_0x157044(0xb28,_0x4b38db._0x5bf6a0)]&&(this['_map'][_0x18bc26(0xf09,0x4e4)]['enabled']=_0x32a2f5),this['_map']['tooltip']&&(this[_0x157044(0xc62,_0x4b38db._0x5e6e55)]['tooltip']['enabled']=_0x32a2f5),this['_map'][_0x157044(0x9f3,_0x4b38db._0x35e4c5)]&&(this[_0x157044(0x709,0x5b4)]['contextmenu']['enabled']=_0x32a2f5);}['setOptions'](_0x2fce5c){const _0x5aec10={_0x556b8d:0x389,_0xb8f3d8:0xde1,_0x5b7d21:0xb3c,_0x316c23:0xf60,_0x365237:0x10d3,_0x14e4fd:0x1bf,_0x194bdc:0x415,_0x2947a6:0x1050,_0x3b44b0:0x11ec,_0x3fa8eb:0x1281,_0x27d4c4:0x728,_0x150427:0x955,_0x3a58cf:0xe54,_0x39a932:0x574,_0x4ca687:0x65d,_0x2b05b0:0x6d0,_0x4284c5:0xfc8,_0x36f0c3:0x1425,_0x3ff6c8:0x12bc,_0x322d90:0x1e4};if(!_0x2fce5c||Object[_0x3ef976(0x116,_0x5aec10._0x556b8d)](_0x2fce5c)['length']===0x0)return this;function _0x2c5024(_0x17c72e,_0x28d18d){return _0x54a7f1(_0x28d18d-0x28c,_0x17c72e);}for(const _0xa396e2 in _0x2fce5c){const _0x325f16=_0x2fce5c[_0xa396e2];switch(_0xa396e2){case _0x3ef976(0xf70,_0x5aec10._0xb8f3d8):case'show':case'position':case'positions':case'targetPosition':case _0x2c5024(0x12e1,0x1421):this['options'][_0xa396e2]=_0x325f16,this[_0xa396e2]=_0x325f16;break;case'orientation':this[_0x2c5024(0x13be,_0x5aec10._0x5b7d21)][_0xa396e2]=_0x325f16,this[_0x2c5024(_0x5aec10._0x316c23,0x1987)][_0xa396e2]=_0x325f16;break;case _0x3ef976(_0x5aec10._0x365237,0x11ec):{this[_0x3ef976(_0x5aec10._0x14e4fd,_0x5aec10._0x194bdc)]['attr']=merge(this['options'][_0x3ef976(_0x5aec10._0x2947a6,_0x5aec10._0x3b44b0)],_0x2fce5c['attr']);const _0x360f4f={};_0x360f4f[_0x3ef976(0x1139,0x11ec)]=_0x2fce5c['attr'],this['fire'](EventType['updateAttr'],_0x360f4f,!![]);break;}case'style':{this['options']['style']=merge(this['options']['style'],_0x2fce5c[_0x3ef976(-0xa,0x1)]),this[_0x2c5024(_0x5aec10._0x3fa8eb,0x171c)](_0x2fce5c['style']);const _0x5bea79={};_0x5bea79['style']=_0x2fce5c[_0x2c5024(0xb86,_0x5aec10._0x27d4c4)],this[_0x2c5024(0x12f3,0x1144)](EventType['updateStyle'],_0x5bea79,!![]);break;}default:{isObject(_0x325f16)?this['options'][_0xa396e2]=merge(this[_0x2c5024(0xb68,0xb3c)][_0xa396e2],_0x325f16):this['options'][_0xa396e2]=_0x325f16;break;}}}function _0x3ef976(_0x9052cd,_0x41ab5a){return _0x54a7f1(_0x41ab5a- -0x49b,_0x9052cd);}return(_0x2fce5c[_0x3ef976(_0x5aec10._0x150427,0xe41)]||_0x2fce5c['popupOptions'])&&this[_0x2c5024(0xbd2,0x1023)](this[_0x2c5024(_0x5aec10._0x3a58cf,0xb3c)]['popup'],this['options']['popupOptions']),(_0x2fce5c[_0x3ef976(0x73c,0x44b)]||_0x2fce5c[_0x3ef976(-0x3a,_0x5aec10._0x39a932)])&&this[_0x2c5024(0x1979,0xf99)](this['options'][_0x2c5024(_0x5aec10._0x4ca687,0xb72)],this['options']['tooltipOptions']),(_0x2fce5c['contextmenuItems']||_0x2fce5c[_0x2c5024(_0x5aec10._0x2b05b0,_0x5aec10._0x4284c5)])&&this['bindContextMenu'](this['options'][_0x2c5024(0x1016,0x98b)],this['options']['contextmenuItemsOptions']),this[_0x3ef976(_0x5aec10._0x36f0c3,0x12bc)]&&this[_0x3ef976(0x191e,_0x5aec10._0x3ff6c8)](this[_0x2c5024(_0x5aec10._0x322d90,0xb3c)],_0x2fce5c),this;}['setStyle'](_0x4d66f5){const _0x4ccf0c={_0x520402:0x33f,_0x43c971:0x42a,_0x4df00b:0x79c,_0x334e9d:0xa3a,_0x202e13:0x388,_0x32dd42:0xa21,_0x49a23c:0x1e6,_0x5269aa:0x3ac,_0x5def9d:0xe55,_0x3b8428:0x8d8,_0x169d31:0x8d8,_0x229f71:0x405,_0x49374e:0x2a7,_0x5400f1:0x111f};var _0x2c4e7e,_0x24284e,_0x2067e4;if(!_0x4d66f5)return;_0x4d66f5[_0x5f41f3(_0x4ccf0c._0x520402,-0x4cf)]&&delete this[_0x5f5054(_0x4ccf0c._0x43c971,0xe5c)]['style'][_0x5f41f3(0x33f,0x7a4)];_0x4d66f5[_0x5f41f3(0x194,0xb4b)]&&this[_0x5f41f3(_0x4ccf0c._0x4df00b,_0x4ccf0c._0x334e9d)][_0x5f41f3(_0x4ccf0c._0x202e13,_0x4ccf0c._0x32dd42)]['materialOptions']&&delete this[_0x5f41f3(_0x4ccf0c._0x4df00b,_0x4ccf0c._0x49a23c)][_0x5f5054(0x16,_0x4ccf0c._0x5269aa)][_0x5f5054(0x405,_0x4ccf0c._0x5def9d)];(_0x2c4e7e=_0x4d66f5['outlineStyle'])!==null&&_0x2c4e7e!==void 0x0&&_0x2c4e7e['materialType']&&(_0x24284e=this[_0x5f5054(_0x4ccf0c._0x43c971,-0x147)]['style'])!==null&&_0x24284e!==void 0x0&&(_0x24284e=_0x24284e[_0x5f41f3(_0x4ccf0c._0x3b8428,0xc74)])!==null&&_0x24284e!==void 0x0&&_0x24284e['materialOptions']&&delete this['options']['style'][_0x5f41f3(_0x4ccf0c._0x169d31,0x88a)][_0x5f5054(_0x4ccf0c._0x229f71,_0x4ccf0c._0x49374e)];this['options']['style']=merge(this[_0x5f41f3(_0x4ccf0c._0x4df00b,0x2d8)][_0x5f41f3(0x388,0x29a)],_0x4d66f5);!((_0x2067e4=this[_0x5f41f3(0x1519,_0x4ccf0c._0x5400f1)])!==null&&_0x2067e4!==void 0x0&&_0x2067e4['_highlightOptions'])&&Cesium__namespace['defined'](_0x4d66f5['highlight'])&&(_0x4d66f5['highlight']?this['bindHighlight'](this['style']['highlight']):this['unbindHighlight']());this['_updateStyleBaseHook'](_0x4d66f5);function _0x5f41f3(_0xefe509,_0x4351ce){return _0x54a7f1(_0xefe509- -0x114,_0x4351ce);}const _0x11bf9f={};function _0x5f5054(_0x8f1d4,_0x2bd0ec){return _0x54a7f1(_0x8f1d4- -0x486,_0x2bd0ec);}return _0x11bf9f['style']=_0x4d66f5,this['fire'](EventType[_0x5f5054(0x50f,0x2b0)],_0x11bf9f,!![]),this;}['_updateStyleBaseHook'](_0x59b825){}['setOpacity'](_0x58cf97){clearTimeout(this['_canrefresh']),this['_canrefresh']=setTimeout(()=>{if(this['isAdded']){const _0x332c1b={};_0x332c1b['globalAlpha']=_0x58cf97,this['setStyle'](_0x332c1b);}},0x1f4);}[_0x7afdbe(0x3bb,0x4eb)](_0x1cc111){const _0x23221c={_0x48321d:0x189,_0x1c9856:0x15ad,_0x3b3f78:0x11a2,_0x1bb2dd:0x1b7e,_0xd088d3:0x16a0,_0x40b5f8:0x3c2,_0xf412db:0xbc3,_0x1c6194:0x1263,_0x1b5adb:0xfe1,_0x507245:0x3c2},_0x4d78ce={_0x229d89:0xda},_0xdce0e8={_0x514a12:0x215};let _0xae8e2a;if(_0x1cc111!==null&&_0x1cc111!==void 0x0&&_0x1cc111['standard'])_0xae8e2a=this['attr'];else{const _0x1a55a6={...this['options']},_0x2fb1f3=_0x1a55a6;for(const _0x26292d in _0x2fb1f3){(_0x26292d[_0x1feeff(_0x23221c._0x48321d,0x710)]('_')||_0x26292d==='id'||_0x26292d==='name'||_0x26292d==='type'||_0x26292d==='style'||_0x26292d===_0x42c457(_0x23221c._0x1c9856,0x1c62)||_0x26292d==='position'||_0x26292d==='positions')&&delete _0x2fb1f3[_0x26292d];}const _0x500253={};_0x500253['onlySimpleType']=!![],_0xae8e2a={'name':this[_0x42c457(_0x23221c._0x3b3f78,_0x23221c._0x1bb2dd)],...this[_0x1feeff(0xed9,_0x23221c._0xd088d3)],'id':this['id'],'type':this['type'],'style':this[_0x42c457(0x706,0x96b)](this[_0x42c457(_0x23221c._0x40b5f8,_0x23221c._0xf412db)],!![]),'options':getAttrVal(_0x2fb1f3,_0x500253)},this[_0x42c457(0x13e4,0x158c)]&&(_0xae8e2a['availability']=this['availability']),_0x1cc111!==null&&_0x1cc111!==void 0x0&&_0x1cc111['noStyle']&&delete _0xae8e2a['style'],this['_toJSON_Ex']&&this[_0x1feeff(0x679,0xb6e)](_0xae8e2a['options']);}const _0x5a33bf={};_0x5a33bf['type']='Feature',_0x5a33bf[_0x1feeff(_0x23221c._0x1c6194,0x132d)]=_0xae8e2a;const _0x2b35bd=_0x5a33bf;function _0x1feeff(_0x27db36,_0x45d4f2){return _0x7afdbe(_0x27db36,_0x45d4f2- -_0xdce0e8._0x514a12);}function _0x42c457(_0x1477e5,_0x496ff0){return _0x54a7f1(_0x1477e5- -_0x4d78ce._0x229d89,_0x496ff0);}if(this['_getGeoJsonGeometry'])_0x2b35bd['geometry']=this['_getGeoJsonGeometry'](_0x1cc111);else{if(this['position'])_0x2b35bd['geometry']={'type':_0x42c457(_0x23221c._0x1b5adb,0xb64),'coordinates':this['getCoordinate'](_0x1cc111===null||_0x1cc111===void 0x0?void 0x0:_0x1cc111['noAlt'])};else this['positions']&&(_0x2b35bd['geometry']={'type':'LineString','coordinates':this[_0x1feeff(0xa1e,_0x23221c._0x507245)](_0x1cc111===null||_0x1cc111===void 0x0?void 0x0:_0x1cc111['noAlt'])});}return _0x2b35bd;}['toJSON'](){const _0x31e91c={_0x224e81:0x21f,_0x4775d2:0x52e,_0xb5acaf:0x1945,_0xcf399e:0x1314,_0x499a90:0x12c0,_0x9e46d2:0xb14,_0x1e3f23:0xd40,_0x5a875a:0xa9a,_0x305fcf:0xd6f,_0x2cfc1a:0x78,_0x2530a1:0x734,_0x46b7fc:0x7d2,_0x24669d:0xdb9},_0x36688f={_0x1d0cc1:0x64f};function _0x438da8(_0x319363,_0x4dd68e){return _0x7afdbe(_0x319363,_0x4dd68e- -_0x36688f._0x1d0cc1);}function _0x558718(_0x22dbc2,_0x5d6e09){return _0x7afdbe(_0x22dbc2,_0x5d6e09-0x36);}const _0x3a7df2={};_0x3a7df2['onlySimpleType']=!![];const _0x40a819={...getAttrVal(this['options'],_0x3a7df2),'id':this['id'],'name':this[_0x438da8(0xc10,0xe5b)],'type':this['type'],'attr':this['attr'],'style':this['_style2JsonBase'](this[_0x438da8(0x210,0x7b)],![])};if(this[_0x558718(-_0x31e91c._0x224e81,_0x31e91c._0x4775d2)])this[_0x438da8(-0x31e,-0x157)](_0x40a819);else{if(this['coordinate'])_0x40a819[_0x558718(0x1e51,_0x31e91c._0xb5acaf)]=this[_0x438da8(0x16fa,_0x31e91c._0xcf399e)],this['options']['position']&&this['options'][_0x438da8(0x1d20,_0x31e91c._0x499a90)]['type']==='ajax'&&this['options']['position']['url']&&(_0x40a819['position']=this['options']['position']);else this[_0x438da8(0xffc,0x963)]?_0x40a819['positions']=this['coordinates']:logError('toJSON:缺少坐标信息',this);}Cesium__namespace[_0x438da8(0x86b,0x1260)](this['options']['styleType'])&&this[_0x558718(0x355,_0x31e91c._0x9e46d2)][_0x558718(0x580,_0x31e91c._0x1e3f23)]!==this[_0x558718(0x9c5,_0x31e91c._0x5a875a)]&&(_0x40a819[_0x438da8(-0x3bc,0x6bb)]=this['options'][_0x558718(_0x31e91c._0x305fcf,0xd40)]);this[_0x558718(0x10c4,0x1722)]&&(_0x40a819['availability']=this['availability']);this[_0x438da8(_0x31e91c._0x2cfc1a,_0x31e91c._0x2530a1)]&&this[_0x558718(_0x31e91c._0x46b7fc,_0x31e91c._0x24669d)](_0x40a819);for(const _0x57e8e2 in _0x40a819){const _0x37dd49=_0x40a819[_0x57e8e2];(!Cesium__namespace['defined'](_0x37dd49)||isObject(_0x37dd49)&&Object['keys'](_0x37dd49)[_0x438da8(0x9b8,0xb64)]===0x0)&&delete _0x40a819[_0x57e8e2];}return _0x40a819;}['_style2JsonBase'](_0x516005,_0x380884){const _0x46d174={_0x1674f4:0x879,_0x1fe0a5:0x925,_0x536343:0x1c4d,_0x14cf33:0xf3e,_0x39fb9c:0x1385,_0x233ff7:0x7a2,_0x1aa00d:0xc33,_0x29a231:0xc72};let _0x5b7d4f;if(this[_0x14576d(0xc13,_0x46d174._0x1674f4)])_0x5b7d4f=this['_style2Json'](_0x516005),_0x516005[_0x14576d(0x6ec,0x728)]&&(_0x5b7d4f['highlight']=this['_style2Json'](_0x516005[_0x9a4ba(_0x46d174._0x1fe0a5,0xc4e)]));else{const _0x528961={};_0x528961[_0x9a4ba(0x199d,_0x46d174._0x536343)]=!![],_0x5b7d4f=getAttrVal(_0x516005,_0x528961);}_0x516005['label']&&(_0x5b7d4f['label']=LabelStyleConver[_0x14576d(_0x46d174._0x14cf33,_0x46d174._0x39fb9c)](_0x516005['label']));function _0x14576d(_0x2ac9c8,_0x9e45d4){return _0x54a7f1(_0x9e45d4-0x4a,_0x2ac9c8);}_0x516005[_0x14576d(_0x46d174._0x233ff7,0xa36)]&&(_0x5b7d4f['outlineStyle']=PolylineStyleConver['toJSON'](_0x516005[_0x9a4ba(_0x46d174._0x1aa00d,_0x46d174._0x29a231)]));function _0x9a4ba(_0x33ad68,_0x2c39d6){return _0x7afdbe(_0x2c39d6,_0x33ad68-0x19);}return _0x5b7d4f;}['bindUpdateEvent'](){const _0xe9b99={_0x3c9d03:0x95d,_0x18925f:0x2d9,_0x1f4e35:0x1021,_0x2030f8:0x1209};if(!this['update']||!this[_0x5147e3(_0xe9b99._0x3c9d03,_0xe9b99._0x18925f)])return;function _0x5147e3(_0x9fec5c,_0x380faf){return _0x54a7f1(_0x9fec5c-0x18a,_0x380faf);}this['unbindUpdateEvent']();function _0x688056(_0x34585f,_0x800af0){return _0x54a7f1(_0x34585f- -0x22a,_0x800af0);}this['_map']['on'](EventType[_0x5147e3(_0xe9b99._0x1f4e35,0x110d)],this['_map_preRenderHandler'],this),this[_0x688056(0x863,0x12e0)](this['_map'][_0x5147e3(_0xe9b99._0x2030f8,0x1859)]);}['unbindUpdateEvent'](){const _0x188ded={_0x9ce781:0x541,_0x15d8c1:0x5d8,_0x31b41d:0x1a3},_0x465cde={_0x1fde74:0x4f0},_0x21193a={_0xf7f8c5:0x4};function _0x4718ef(_0x47bc79,_0x3a60d9){return _0x54a7f1(_0x3a60d9- -_0x21193a._0xf7f8c5,_0x47bc79);}function _0x97bd61(_0x4cbb2a,_0x1c8917){return _0x54a7f1(_0x1c8917- -_0x465cde._0x1fde74,_0x4cbb2a);}this[_0x4718ef(_0x188ded._0x9ce781,0x7cf)]&&this['_map'][_0x97bd61(-_0x188ded._0x15d8c1,-_0x188ded._0x31b41d)](EventType['preRender'],this['_map_preRenderHandler'],this);}[_0x54a7f1(0xa8d,0x139e)](_0x36f53a){const _0x344a72={_0x500715:0xa48,_0x583200:0x1324,_0x2cd8a3:0x73b,_0x106115:0xc59,_0xd08ed7:0x66e,_0x2bed0a:0x95e,_0x409a24:0x557};var _0x2053b2;function _0x34a8d5(_0x438526,_0x417f57){return _0x7afdbe(_0x438526,_0x417f57- -0x470);}if(!this['_map']||!this[_0xa69b6b(_0x344a72._0x500715,_0x344a72._0x583200)]||this['_isCluster']||!this['_layer']['show'])return;function _0xa69b6b(_0x172c99,_0x50e7d6){return _0x7afdbe(_0x172c99,_0x50e7d6- -0x4fd);}if((_0x2053b2=this['options'])!==null&&_0x2053b2!==void 0x0&&_0x2053b2[_0x34a8d5(_0x344a72._0x2cd8a3,0xea8)]&&this['_last_preUpdateTime']){const _0x4e5206=_0x36f53a[_0xa69b6b(0x1212,0x1078)]['frameNumber']-this['_last_preUpdateTime'];if(_0x4e5206<this[_0x34a8d5(_0x344a72._0x106115,_0x344a72._0xd08ed7)][_0x34a8d5(0x807,0xea8)])return;}this[_0x34a8d5(_0x344a72._0x2bed0a,_0x344a72._0x409a24)]=_0x36f53a['_frameState'][_0x34a8d5(0xa3f,0xb85)],this['update'](_0x36f53a[_0xa69b6b(0x7bb,0x1078)]);}['getRectangle'](_0x4b3d36){const _0x494e26={_0x1ca59d:0x33b,_0x3b3f92:0x928,_0xb45ff5:0x19ee,_0x3ef222:0x13f7},_0x138559={_0xdc0214:0x323};if(!this[_0x12033f(0x9f0,_0x494e26._0x1ca59d)]){let _0x1a55a0=this['positionsShow']||this['positions'];if(!_0x1a55a0||_0x1a55a0['length']===0x0){const _0x28ce97=this[_0x12033f(_0x494e26._0x3b3f92,0xd4b)]||this[_0x1410b4(_0x494e26._0xb45ff5,0x13be)];_0x28ce97&&(_0x1a55a0=[_0x28ce97]);}if((_0x4b3d36===null||_0x4b3d36===void 0x0?void 0x0:_0x4b3d36['onePoint'])===![]&&_0x1a55a0['length']===0x1)return undefined;this['_getRectangle_cache']=getRectangle(_0x1a55a0,_0x4b3d36===null||_0x4b3d36===void 0x0?void 0x0:_0x4b3d36[_0x1410b4(0x1862,_0x494e26._0x3ef222)]);}function _0x12033f(_0x270757,_0x355e63){return _0x54a7f1(_0x355e63- -0x14e,_0x270757);}function _0x1410b4(_0x27b9aa,_0x80730f){return _0x54a7f1(_0x80730f- -_0x138559._0xdc0214,_0x27b9aa);}return this[_0x1410b4(0xc02,0x166)];}[_0x54a7f1(0x855,0x2bc)](){const _0x39950b={_0x4640a8:0x63a,_0x19f777:0x1146};function _0x4e8e90(_0x1c946d,_0x421979){return _0x7afdbe(_0x421979,_0x1c946d- -0x204);}function _0x5f4ca8(_0x32391e,_0x126c89){return _0x54a7f1(_0x126c89- -0x197,_0x32391e);}if(this[_0x5f4ca8(0x1a10,0x10b0)])return LngLatPoint[_0x4e8e90(0x367,0x9ff)](this['positionShow'])['alt'];const _0x494dea=this[_0x5f4ca8(0x7d2,_0x39950b._0x4640a8)]||this['positionsShow']||this[_0x5f4ca8(_0x39950b._0x19f777,0xf58)];if(_0x494dea&&_0x494dea[_0x5f4ca8(0x16bf,0xdee)]>0x0)return getMaxHeight(_0x494dea);return 0x0;}[_0x54a7f1(0xeb8,0x149f)](_0x41e1e2,_0x191915={},_0x2551e1){const _0x230c00={_0x16c04f:0x61c,_0x1d5a8b:0x1b6,_0x21d13e:0x63e},_0xb0e165={_0x8c1c77:0x315},_0x37941c={_0x305ee6:0x1da};var _0x457f90;function _0x261849(_0x2b18a0,_0x224558){return _0x7afdbe(_0x224558,_0x2b18a0- -_0x37941c._0x305ee6);}function _0x34c923(_0x2af0a1,_0x377c00){return _0x54a7f1(_0x377c00- -_0xb0e165._0x8c1c77,_0x2af0a1);}return(!_0x191915['graphic']||(_0x457f90=_0x191915[_0x261849(_0x230c00._0x16c04f,0xdc4)])!==null&&_0x457f90!==void 0x0&&_0x457f90[_0x34c923(-0x8d0,_0x230c00._0x1d5a8b)]||_0x191915['drawType']||_0x191915['editType'])&&(_0x191915['graphic']=this),super[_0x34c923(_0x230c00._0x21d13e,0xba3)](_0x41e1e2,_0x191915,_0x2551e1);}['flyTo'](_0x2323fc={}){const _0xf744fc={_0x2af538:0xb57,_0x13fa99:0xf48,_0x4c70b3:0x8e4,_0x135735:0x18bd,_0x49ae08:0x11f8,_0x1ac270:0xdfb,_0x4737a4:0x3cb,_0x5ac0bf:0x164e,_0x6535f:0x151,_0x2ac924:0x21};if(!this[_0x265259(0x976,_0xf744fc._0x2af538)])return Promise['resolve'](![]);this['options'][_0x265259(_0xf744fc._0x13fa99,0xd8c)]&&(_0x2323fc={...this['options'][_0x5c8693(0x1127,_0xf744fc._0x4c70b3)],..._0x2323fc});const _0x373676={};_0x373676['onePoint']=![],_0x373676[_0x265259(_0xf744fc._0x135735,0x1133)]=!![];const _0x42ebf1=this[_0x5c8693(0x93b,0x11f3)]||this[_0x5c8693(_0xf744fc._0x49ae08,_0xf744fc._0x1ac270)](_0x373676);function _0x265259(_0x454300,_0x34088c){return _0x7afdbe(_0x34088c,_0x454300- -0x8b);}if(_0x42ebf1)return this['_map'][_0x5c8693(0x42c,0xbe1)](_0x42ebf1,_0x2323fc);let _0x3f3eff;if(this['positionsShow'])_0x3f3eff=this[_0x5c8693(0xbd5,_0xf744fc._0x4737a4)];else{if(this[_0x5c8693(0x157f,0xc2e)])_0x3f3eff=this['positions'];else this['position']&&(_0x3f3eff=[this['position']]);}_0x2323fc[_0x265259(0x170c,0x1a74)]=this[_0x265259(0x63f,-0x456)][_0x265259(0x170c,_0xf744fc._0x5ac0bf)];function _0x5c8693(_0x5534cc,_0x599a46){return _0x54a7f1(_0x599a46- -0x4c1,_0x5534cc);}return this['_map'][_0x5c8693(-_0xf744fc._0x6535f,_0xf744fc._0x2ac924)](_0x3f3eff,_0x2323fc);}['getAddHeight'](_0x410a63,_0xdfec4c=0x0){const _0xfaf1de={_0x46611a:0x129b,_0x2a359c:0x101a};var _0x4e0cd5;!_0x410a63&&(_0x410a63=this['style']);let _0x3dcd93=(_0x4e0cd5=_0x410a63)===null||_0x4e0cd5===void 0x0?void 0x0:_0x4e0cd5['addHeight'];function _0x53177a(_0x475b5d,_0x137474){return _0x54a7f1(_0x137474- -0x454,_0x475b5d);}if(Cesium__namespace['defined'](_0x3dcd93)){if(isString(_0x3dcd93))_0x3dcd93=Number(template(_0x3dcd93,this['attr'],!![])),isNaN(_0x3dcd93)&&(_0x3dcd93=0x0);else Array[_0x53177a(_0xfaf1de._0x46611a,_0xfaf1de._0x2a359c)](_0x3dcd93)&&(_0x3dcd93=_0x3dcd93[_0xdfec4c]||0x0);return _0x3dcd93;}return undefined;}['getSetHeight'](_0x35246c,_0x16648b=0x0){const _0x33b09b={_0x2058c0:0x15df},_0x33a7db={_0x37be16:0x3b2},_0x1db273={_0x42bb42:0x103};var _0x5a9c03;!_0x35246c&&(_0x35246c=this['style']);let _0x42a4ed=(_0x5a9c03=_0x35246c)===null||_0x5a9c03===void 0x0?void 0x0:_0x5a9c03[_0xd43eb7(0x1263,_0x33b09b._0x2058c0)];function _0x5d61ba(_0x38af61,_0x2ead3e){return _0x54a7f1(_0x38af61-_0x1db273._0x42bb42,_0x2ead3e);}function _0xd43eb7(_0x3a611c,_0x252f48){return _0x7afdbe(_0x252f48,_0x3a611c- -_0x33a7db._0x37be16);}if(Cesium__namespace[_0xd43eb7(0x14fd,0x1954)](_0x42a4ed)){if(isString(_0x42a4ed))_0x42a4ed=Number(template(_0x42a4ed,this['attr'],!![])),isNaN(_0x42a4ed)&&(_0x42a4ed=0x0);else Array[_0xd43eb7(0x12ea,0x1718)](_0x42a4ed)&&(_0x42a4ed=_0x42a4ed[_0x16648b]||0x0);return _0x42a4ed;}return undefined;}[_0x54a7f1(0x466,-0x174)](_0x5955e2,_0x32ac6d){const _0x176d0b={_0x3de92b:0x13e2,_0x2d9c63:0x14b7,_0x7acd70:0x1189};function _0x30b758(_0x56fb35,_0x22295d){return _0x7afdbe(_0x56fb35,_0x22295d- -0x3f8);}function _0x14e664(_0x43a260,_0x158f50){return _0x7afdbe(_0x43a260,_0x158f50- -0x17a);}Cesium__namespace[_0x30b758(_0x176d0b._0x3de92b,_0x176d0b._0x2d9c63)](_0x32ac6d['height'])&&(_0x5955e2=setPositionsHeight(_0x5955e2,_0x32ac6d[_0x14e664(0x82f,0x71b)]));const _0x2e540e=this['getSetHeight'](_0x32ac6d);Cesium__namespace[_0x30b758(_0x176d0b._0x7acd70,0x14b7)](_0x2e540e)&&(_0x5955e2=setPositionsHeight(_0x5955e2,_0x2e540e));const _0x2df6f7=this[_0x14e664(0x4f9,0x81c)](_0x32ac6d);return Cesium__namespace['defined'](_0x2df6f7)&&(_0x5955e2=addPositionsHeight(_0x5955e2,_0x2df6f7)),_0x5955e2;}['_calculateCzmHeight'](_0x3bdd3d,_0x1d6a71,_0x1deff5=!![]){const _0x3d1ac5={_0x385b1e:0x6ab,_0xc7799d:0x15f1,_0x31ff56:0xf66,_0x5e1228:0xa42,_0x3555f5:0x1973,_0x41f88d:0x1177,_0x4c77e4:0x453,_0x39e1c4:0x1155,_0x2f2cbe:0x84b,_0x2c1de9:0xf69,_0x13ee03:0x108a},_0x3c7cc8={_0x13c5c1:0x5c};if(this['style']['clampToGround']||!_0x3bdd3d)return;let _0xf2b15c=this['style'][_0x1f0090(-_0x3d1ac5._0x385b1e,0x15d)]??0x0;function _0x42bf6e(_0x25db4e,_0x55a8fb){return _0x7afdbe(_0x25db4e,_0x55a8fb- -_0x3c7cc8._0x13c5c1);}if(!Cesium__namespace[_0x1f0090(_0x3d1ac5._0xc7799d,0x1177)](this['style']['height'])||_0x1d6a71){const _0x353f56=this['getMaxHeight']();_0x353f56!==0x0&&(_0xf2b15c=_0x353f56,_0x1deff5&&(this[_0x42bf6e(_0x3d1ac5._0x31ff56,0x66e)]['height']=_0x353f56));}const _0x48df10=this[_0x1f0090(_0x3d1ac5._0x5e1228,0xc66)]();Cesium__namespace[_0x1f0090(_0x3d1ac5._0x3555f5,_0x3d1ac5._0x41f88d)](_0x48df10)&&(_0xf2b15c=_0x48df10);const _0x54d874=this['getAddHeight']();Cesium__namespace['defined'](_0x54d874)&&(_0xf2b15c+=_0x54d874);function _0x1f0090(_0xd4f105,_0x3d0d14){return _0x54a7f1(_0x3d0d14- -0x50a,_0xd4f105);}_0x3bdd3d['height']=_0xf2b15c,Cesium__namespace['defined'](this[_0x42bf6e(_0x3d1ac5._0x4c77e4,0x66e)]['diffHeight'])&&(Cesium__namespace[_0x1f0090(_0x3d1ac5._0x39e1c4,0x1177)](this['style']['diffHeight'])&&this[_0x1f0090(-0x3d5,-0x6e)][_0x1f0090(0x4a6,0xb42)]!==0x0?_0x3bdd3d['extrudedHeight']=_0xf2b15c+this[_0x42bf6e(_0x3d1ac5._0x2f2cbe,0x66e)]['diffHeight']:_0x3bdd3d[_0x42bf6e(0xb1b,0xfba)]=undefined),this[_0x42bf6e(_0x3d1ac5._0x2c1de9,_0x3d1ac5._0x13ee03)](EventType['editStyle']);}[_0x7afdbe(0xf54,0xe99)](_0x1d7b43){const _0x41e6ee={_0x134acf:0x1263,_0x700e0a:0xfb4,_0xb0ca8:0xca0},_0x5e72fc={_0x43d948:0xfe};function _0x16c468(_0x2afd37,_0x108f77){return _0x7afdbe(_0x2afd37,_0x108f77- -0x184);}this[_0x16c468(0xe06,0x675)]();function _0x27758a(_0xa25ac2,_0x371233){return _0x54a7f1(_0x371233- -_0x5e72fc._0x43d948,_0xa25ac2);}this['_highlightOptions']=_0x1d7b43,this['_highlightOptions']['type']===EventType['click']?this['on'](EventType[_0x16c468(_0x41e6ee._0x134acf,_0x41e6ee._0x700e0a)],this['_highlight_mouseEventHandler'],this):(this['on'](EventType['mouseOver'],this[_0x16c468(_0x41e6ee._0xb0ca8,0xf2a)],this),this['on'](EventType[_0x16c468(-0x36b,0x613)],this['_highlight_mouseOutHandler'],this));}['unbindHighlight'](){const _0x58ebef={_0x1b1a3a:0x6fd,_0x182ea5:0x8c9,_0x108c70:0xd6d,_0x346568:0x356},_0x3ef748={_0x395fef:0x6ab},_0x14f214={_0x7b2f6d:0x460};function _0xca2595(_0x3fbc69,_0x3a3cad){return _0x7afdbe(_0x3a3cad,_0x3fbc69- -_0x14f214._0x7b2f6d);}function _0x4ad7fe(_0x3a3db1,_0x156b6b){return _0x7afdbe(_0x3a3db1,_0x156b6b- -_0x3ef748._0x395fef);}this[_0xca2595(0x959,0x11d9)]&&(this['_highlightOptions']['type']===EventType['click']?this[_0x4ad7fe(-0x997,-0x130)](EventType[_0xca2595(0xcd8,_0x58ebef._0x1b1a3a)],this[_0xca2595(0xc4e,_0x58ebef._0x182ea5)],this):(this['off'](EventType['mouseOver'],this[_0xca2595(0xc4e,_0x58ebef._0x108c70)],this),this[_0xca2595(0x11b,0x7a9)](EventType['mouseOut'],this['_highlight_mouseOutHandler'],this)),this[_0x4ad7fe(0x9f4,_0x58ebef._0x346568)]['isHighlighting'](this)&&this[_0xca2595(0x5a1,-0x306)]['closeHighlight'](),this[_0xca2595(0x959,0x672)]=null);}['_highlight_mouseEventHandler'](_0x141ce5){const _0x1d6af8={_0x1d22b5:0x29c},_0x3cc1bb={_0x102481:0x279},_0x4b694f={_0x4307d1:0x2be};function _0x3d45e0(_0x5341d1,_0x4e17e3){return _0x54a7f1(_0x4e17e3- -_0x4b694f._0x4307d1,_0x5341d1);}if(!this['_map'])return;function _0x263c11(_0x2040f7,_0x2868d3){return _0x7afdbe(_0x2040f7,_0x2868d3- -_0x3cc1bb._0x102481);}const _0x161506=_0x141ce5===null||_0x141ce5===void 0x0?void 0x0:_0x141ce5['graphic'];_0x161506?this['_map']['openHighlight'](_0x161506,this[_0x263c11(0x487,0xb40)],_0x141ce5):this[_0x263c11(-0x1fa,0x788)][_0x263c11(-_0x1d6af8._0x1d22b5,0x20e)]();}[_0x54a7f1(0xee7,0x15c5)](_0x3dc357){function _0x1233df(_0x405998,_0x1929a1){return _0x7afdbe(_0x1929a1,_0x405998- -0x3bb);}this['_map'][_0x1233df(0xcc,-0x9a5)]();}['_closeAllControl'](){const _0x5229a8={_0x36ef24:0xb1,_0xece482:0xee9},_0x21d97a={_0x1c5549:0x263};function _0x3156ed(_0x321066,_0x83ed79){return _0x54a7f1(_0x83ed79-0x154,_0x321066);}function _0x22f80e(_0x19b24d,_0x318fd9){return _0x7afdbe(_0x318fd9,_0x19b24d- -_0x21d97a._0x1c5549);}this['closePopup'](),this[_0x22f80e(0x4e7,_0x5229a8._0x36ef24)](),this[_0x3156ed(0x7fe,_0x5229a8._0xece482)](),this[_0x3156ed(0xca9,0x127c)]();}['_getPopupPosition'](){const _0x2684fa={_0x1be868:0x2b9};function _0x381b74(_0x3b4957,_0x2f5671){return _0x7afdbe(_0x3b4957,_0x2f5671- -_0x2684fa._0x1be868);}function _0x36f6f(_0x280fd2,_0x3b6286){return _0x54a7f1(_0x3b6286- -0xf6,_0x280fd2);}return this[_0x36f6f(0x11d7,0x15eb)]||this[_0x381b74(-0x1a4,0x4f2)];}[_0x54a7f1(0x137d,0x1c80)](_0x147f75){return Boolean(this['getPopupConfig'](_0x147f75));}[_0x54a7f1(0xb4f,0x1118)](_0x52d7b5=!![]){const _0x3d915e={_0x1f52c6:0x83b,_0xce6a14:0x48a};function _0x1837ba(_0x4aae8c,_0x5c725e){return _0x7afdbe(_0x4aae8c,_0x5c725e- -0x1fb);}var _0x543a0e;function _0x5ba33d(_0x37e581,_0x46bcb8){return _0x7afdbe(_0x37e581,_0x46bcb8-0x7b);}if(this[_0x1837ba(_0x3d915e._0x1f52c6,_0x3d915e._0xce6a14)]){const _0x4cf243={...this['_popupConfig']};return _0x4cf243;}if(_0x52d7b5&&(_0x543a0e=this[_0x5ba33d(0x1f0e,0x18d6)])!==null&&_0x543a0e!==void 0x0&&_0x543a0e[_0x5ba33d(0x2b2,0x700)]){const _0x22be45={...this['_layer']['_popupConfig']};return _0x22be45;}return null;}['bindPopup'](_0x4c44c9,_0xf1a602={}){const _0x5e160a={_0x5c1acf:0xa8b,_0x32ca92:0xaf6,_0x444a79:0x7af},_0x1bcd3d={_0x5ed65f:0x175},_0x1887b3={_0x2cfc6b:0x28b};this[_0x49d24b(0xae3,0x1cc)]={'content':_0x4c44c9,'options':_0xf1a602||this[_0x30f222(_0x5e160a._0x5c1acf,0xa25)][_0x49d24b(_0x5e160a._0x32ca92,_0x5e160a._0x444a79)],'graphic':this,'layer':this['_layer']};function _0x49d24b(_0x6d4c7d,_0x2adc05){return _0x54a7f1(_0x2adc05- -_0x1887b3._0x2cfc6b,_0x6d4c7d);}this['_onEventHook']&&this['_onEventHook']('popup');function _0x30f222(_0x4a0e82,_0x8ac810){return _0x54a7f1(_0x8ac810-_0x1bcd3d._0x5ed65f,_0x4a0e82);}return this;}['unbindPopup'](_0x5841a1){const _0x5ae30d={_0x260764:0xae0},_0x41b326={_0x144100:0x329};function _0x4155f7(_0x2b2999,_0x4b0bb0){return _0x7afdbe(_0x4b0bb0,_0x2b2999- -_0x41b326._0x144100);}return _0x5841a1?this[_0x4155f7(0x35c,_0x5ae30d._0x260764)]=![]:this['_popupConfig']=null,this['_onEventHook']&&this['_onEventHook']('popup'),this;}['openPopup'](_0x12930d,_0x252a46){const _0x24eb3b={_0x3079ee:0x960},_0x23f8ac={_0x3af2af:0x5f3},_0x298edc=this[_0x48d12f(0x78a,0xf5f)]();function _0x48d12f(_0x469ce4,_0x221e44){return _0x7afdbe(_0x221e44,_0x469ce4- -_0x23f8ac._0x3af2af);}_0x298edc&&this['_map']&&(_0x252a46&&(_0x298edc['event']=_0x252a46),_0x298edc['graphic']=this,_0x298edc['layer']=this['_layer'],_0x298edc['_custom_position']=_0x12930d,this['_map']['popup'][_0x48d12f(_0x24eb3b._0x3079ee,0x563)](_0x12930d||this['_getPopupPosition'](),_0x298edc));function _0x36086b(_0x4bbe56,_0x37adf4){return _0x7afdbe(_0x37adf4,_0x4bbe56-0x52);}return this;}['closePopup'](){const _0x317cd1={_0x29476a:0xd73},_0x2048f3={_0x5e0ad2:0x12e},_0x5854b7={_0x2550ff:0x11b};this[_0x1283fa(0x8ee,_0x317cd1._0x29476a)]&&this[_0x54fdea(0x6a5,0xbf9)][_0x54fdea(0x11ae,0x1703)][_0x54fdea(0x4fb,-0x1c2)](this);function _0x1283fa(_0x2ea0ef,_0xfc198){return _0x54a7f1(_0x2ea0ef-_0x5854b7._0x2550ff,_0xfc198);}function _0x54fdea(_0x2ef2ed,_0xf46dec){return _0x54a7f1(_0x2ef2ed- -_0x2048f3._0x5e0ad2,_0xf46dec);}return this;}[_0x54a7f1(0x527,0x480)](){const _0x21db9b={_0x41ee9a:0x198};function _0x27a982(_0x55e2a0,_0x14d2d8){return _0x54a7f1(_0x55e2a0-_0x21db9b._0x41ee9a,_0x14d2d8);}if(this[_0x27a982(0x96b,0xab6)])return this['_map']['popup']['getPopup'](this);}['hasTooltip'](_0x36ec7a){function _0x3f800e(_0x26e77d,_0xae4da8){return _0x7afdbe(_0xae4da8,_0x26e77d-0x1c);}return Boolean(this[_0x3f800e(0x6da,0x960)](_0x36ec7a));}['getTooltipConfig'](_0x4858a1=!![]){const _0x4bddc5={_0x25f589:0x375,_0x101295:0x16b0,_0x3e350b:0x553,_0x5dedfb:0x3ec,_0x5a2200:0xc25},_0x43b5f6={_0x3c77a2:0x1ab},_0x162197={_0x255c92:0x33f};var _0x54237f;function _0xe4592e(_0x16947,_0x555df4){return _0x54a7f1(_0x16947- -_0x162197._0x255c92,_0x555df4);}if(this[_0x55b8e3(_0x4bddc5._0x25f589,0x915)]){const _0x3e9ea9={...this[_0x55b8e3(0xc,0x915)]};return _0x3e9ea9;}if(_0x4858a1&&(_0x54237f=this[_0x55b8e3(0x1b51,_0x4bddc5._0x101295)])!==null&&_0x54237f!==void 0x0&&_0x54237f[_0xe4592e(_0x4bddc5._0x3e350b,_0x4bddc5._0x5dedfb)]){const _0x5af40b={...this[_0xe4592e(0x12ee,_0x4bddc5._0x5a2200)]['_tooltipConfig']};return _0x5af40b;}function _0x55b8e3(_0x1b32ff,_0x594193){return _0x7afdbe(_0x1b32ff,_0x594193- -_0x43b5f6._0x3c77a2);}return null;}['bindTooltip'](_0x3017f1,_0x1ccd0c){const _0x1e12a9={_0x5bd7e9:0x89d},_0x9a1cd={_0x3d41ac:0x4da};this[_0x149795(0x100f,0x720)]={'content':_0x3017f1,'options':_0x1ccd0c||this['options'][_0x149795(0xa48,_0x1e12a9._0x5bd7e9)]};function _0x149795(_0x2c9285,_0x125df8){return _0x54a7f1(_0x125df8- -0x172,_0x2c9285);}this['_onEventHook']&&this['_onEventHook']('tooltip');function _0x1543b5(_0x3c9190,_0xe2e80d){return _0x54a7f1(_0xe2e80d- -_0x9a1cd._0x3d41ac,_0x3c9190);}return this;}[_0x7afdbe(0x12a8,0x1661)](_0x2034fb){const _0x56b0d9={_0x181e73:0x53f,_0x53b40a:0x8ff,_0x20dc9e:0x12a8};function _0x1fee9c(_0xfba5dd,_0x54b49b){return _0x7afdbe(_0x54b49b,_0xfba5dd- -0x581);}_0x2034fb?this[_0x1fee9c(_0x56b0d9._0x181e73,0xf38)]=![]:this[_0x1fee9c(0x53f,0xd31)]=null;this[_0x29aaca(0x891,0x65b)]&&this[_0x29aaca(0x891,_0x56b0d9._0x53b40a)](_0x29aaca(0xa9d,_0x56b0d9._0x20dc9e));function _0x29aaca(_0x5713bc,_0x5840f0){return _0x7afdbe(_0x5840f0,_0x5713bc- -0x77);}return this;}['openTooltip'](_0x476cba,_0xf4e4f8){const _0x4dcbb0={_0x43b848:0x11ab,_0x147816:0xfc2,_0x33de95:0x9cd,_0x1a0784:0x8a3},_0x229d8c={_0x1bf858:0xe7},_0xe220b0={_0x4bb901:0x6b0};function _0x1aa771(_0x3b6b35,_0x429322){return _0x7afdbe(_0x429322,_0x3b6b35- -_0xe220b0._0x4bb901);}const _0x44ab7e=this['getTooltipConfig']();function _0x4102bd(_0x4b251d,_0xe63ccc){return _0x54a7f1(_0xe63ccc-_0x229d8c._0x1bf858,_0x4b251d);}return _0x44ab7e&&this['_map']&&(_0x44ab7e['graphic']=this,_0x44ab7e['layer']=this[_0x1aa771(_0x4dcbb0._0x43b848,0x1714)],_0xf4e4f8&&(_0x44ab7e['event']=_0xf4e4f8),this['_map'][_0x4102bd(_0x4dcbb0._0x147816,_0x4dcbb0._0x33de95)][_0x1aa771(_0x4dcbb0._0x1a0784,0x1100)](_0x476cba||this[_0x4102bd(0x367,0x9b2)](),_0x44ab7e)),this;}['closeTooltip'](){const _0x14742d={_0x458811:0x391};function _0x5e8438(_0x40caa9,_0x37dadc){return _0x7afdbe(_0x37dadc,_0x40caa9- -0x8a);}return this[_0x5e8438(0x977,_0x14742d._0x458811)]&&this['_map']['tooltip']['close'](this),this;}['getTooltip'](){const _0x1e7a86={_0x1b7620:0xae,_0x2770d4:0x824},_0x194753={_0x1a951f:0xdc};function _0x26abc8(_0x49dd5b,_0x262392){return _0x7afdbe(_0x49dd5b,_0x262392- -_0x194753._0x1a951f);}function _0x327ecc(_0x4de0f8,_0x290aaa){return _0x54a7f1(_0x290aaa- -0x3d7,_0x4de0f8);}if(this['_map'])return this[_0x327ecc(-_0x1e7a86._0x1b7620,0x3fc)][_0x26abc8(_0x1e7a86._0x2770d4,0xa38)][_0x26abc8(0x37f,0x765)](this);}['hasContextMenu'](_0x55efb3){return Boolean(this['getContextMenu'](_0x55efb3));}[_0x54a7f1(0x1799,0x166f)](_0x180ec8=!![]){const _0x27c998={_0x4f4a4c:0x12df,_0x4d72a9:0x1145};var _0x412518;if(this['_contextmenuConfig'])return this['_contextmenuConfig'];function _0x47e0a9(_0x3f87bc,_0xa5e165){return _0x7afdbe(_0xa5e165,_0x3f87bc- -0x207);}if(_0x180ec8&&(_0x412518=this[_0xa4a663(0x1301,_0x27c998._0x4f4a4c)])!==null&&_0x412518!==void 0x0&&_0x412518[_0xa4a663(0xd71,_0x27c998._0x4d72a9)])return this['_layer']['_contextmenuConfig'];function _0xa4a663(_0x50ea7a,_0xb6847b){return _0x7afdbe(_0xb6847b,_0x50ea7a- -0x55a);}return null;}[_0x54a7f1(0x1659,0xfdd)](_0x51ccbf,_0x1ca8ad){const _0x4e6c11={_0x3e08de:0x392,_0x126d54:0x1f9,_0x245185:0x7e0},_0x1e9cd3={_0x13268e:0x70f};function _0x722783(_0x439338,_0x2a96e4){return _0x7afdbe(_0x439338,_0x2a96e4- -0x576);}function _0x34b49c(_0x477da3,_0x29d12e){return _0x7afdbe(_0x477da3,_0x29d12e- -_0x1e9cd3._0x13268e);}var _0x4f063c;return this['_contextmenuConfig']={'content':_0x51ccbf,'options':_0x1ca8ad||((_0x4f063c=this[_0x722783(0x567,0x568)])===null||_0x4f063c===void 0x0?void 0x0:_0x4f063c[_0x34b49c(0x12a4,0x81d)]),'graphic':this,'layer':this[_0x34b49c(0x85a,0x114c)]},this[_0x722783(0x641,_0x4e6c11._0x3e08de)]&&this[_0x34b49c(-0x5bb,_0x4e6c11._0x126d54)](_0x722783(-0x1b9,_0x4e6c11._0x245185)),this;}['unbindContextMenu'](_0x299ca9){return _0x299ca9?this['_contextmenuConfig']=![]:this['_contextmenuConfig']=null,this['_onEventHook']&&this['_onEventHook']('contextMenu'),this;}['openContextMenu'](_0x5c762e){const _0x20fd66={_0x20accb:0x365},_0x2c8de9={_0x5235c8:0x2ed};function _0xed3e2(_0x254398,_0x5a7df6){return _0x54a7f1(_0x254398-0x14a,_0x5a7df6);}const _0x444000=this['getContextMenu']();_0x444000&&this[_0xed3e2(0x91d,_0x20fd66._0x20accb)]&&(_0x444000['graphic']=this,_0x444000['layer']=this[_0x38ceb6(0x156e,0xc88)],this['_map']['contextmenu']['open'](_0x5c762e||this[_0x38ceb6(0x80c,0xfce)](),_0x444000));function _0x38ceb6(_0x370ab8,_0x4bbc43){return _0x7afdbe(_0x4bbc43,_0x370ab8- -_0x2c8de9._0x5235c8);}return this;}[_0x54a7f1(0x1128,0x1759)](){const _0xf70830={_0x41de9b:0x3c0};function _0x3f9784(_0x26f060,_0x3835fe){return _0x7afdbe(_0x3835fe,_0x26f060- -0x33c);}return this['hasContextMenu']()&&this['_map']&&this['_map']['contextmenu'][_0x3f9784(0x51b,-_0xf70830._0x41de9b)](this),this;}['openSmallTooltip'](_0x562c71,_0x499fe1){return this['_map']&&this['_map']['openSmallTooltip'](_0x562c71,_0x499fe1),this;}['closeSmallTooltip'](){const _0x13e449={_0x590ca2:0x6da},_0x10228d={_0xb873f2:0xe0};function _0x27380a(_0x315737,_0x1ee1ab){return _0x54a7f1(_0x315737- -0xf9,_0x1ee1ab);}function _0x3f5611(_0x2899eb,_0x3c890f){return _0x54a7f1(_0x2899eb- -_0x10228d._0xb873f2,_0x3c890f);}return this['_map']&&this[_0x27380a(_0x13e449._0x590ca2,-0x2f5)][_0x27380a(0xc9c,0x13d9)](),this;}get['hasAjaxAttr'](){const _0x54a1d8={_0x5b4f55:0x1047,_0x5f4dbe:0xab7};function _0x35b274(_0x1d92d0,_0x5170ae){return _0x54a7f1(_0x5170ae-0x94,_0x1d92d0);}const _0x3b68b3=this[_0xd6b867(0x161b,0x184f)];function _0xd6b867(_0x1c9c2e,_0x2bacc4){return _0x7afdbe(_0x2bacc4,_0x1c9c2e- -0x29a);}return Boolean(_0x3b68b3&&_0x3b68b3[_0x35b274(-0x9c,0x8ca)]==='ajax'&&_0x3b68b3[_0x35b274(_0x54a1d8._0x5b4f55,_0x54a1d8._0x5f4dbe)]);}async['getAjaxAttr'](){const _0xacb734={_0x99b97a:0x6ce,_0x5f514e:0xe2e,_0x967233:0x1795},_0x8b2898={_0x39b1b:0xc8},_0x1f4955=this['attr'];function _0x4a160e(_0x349dc2,_0x3b3904){return _0x54a7f1(_0x3b3904-_0x8b2898._0x39b1b,_0x349dc2);}function _0x39fc4c(_0x57e9c9,_0x4b22f5){return _0x7afdbe(_0x4b22f5,_0x57e9c9- -0x32b);}if(_0x1f4955&&_0x1f4955['type']==='ajax'&&_0x1f4955['url']){const _0x2bceeb=(_0x1f4955[_0x39fc4c(_0xacb734._0x99b97a,0x543)]??0x1)*0x3e8;if(this[_0x39fc4c(_0xacb734._0x5f514e,0x133d)]&&new Date()['getTime']()-this['_last_getAjaxAttrTime']<_0x2bceeb)return this['_last_getAjaxAttr'];return this['_last_getAjaxAttrTime']=new Date()[_0x39fc4c(0x12ae,_0xacb734._0x967233)](),this['_last_getAjaxAttr']=await this[_0x39fc4c(0xe35,0x54e)](_0x1f4955),this['_last_getAjaxAttr'];}else return _0x1f4955;}async['_getNowAjaxAttr'](_0x1c00e7){let _0x144c09=await sendAjax(_0x1c00e7);function _0x4b37cb(_0x4ceb96,_0x26c409){return _0x54a7f1(_0x4ceb96- -0x1d9,_0x26c409);}if(_0x1c00e7['dataColumn']){const _0x5c8a20=_0x1c00e7['dataColumn'][_0x4b37cb(0xfcf,0x157d)]('.');_0x5c8a20['forEach'](_0x391971=>{_0x144c09=_0x144c09[_0x391971];});}return _0x1c00e7['formatData']&&(_0x144c09=_0x1c00e7['formatData'](_0x144c09)),_0x144c09;}get['hasAjaxPostion'](){const _0x329e8a={_0x4ee243:0x14bd},_0x1fbe0b={_0x158e4b:0xd4},_0x189397={_0xf98f4:0x33a},_0x3c524a=this[_0x4a78aa(_0x329e8a._0x4ee243,0xa0a)]['position'];function _0x5b5b7c(_0x325d1b,_0x5e3d54){return _0x7afdbe(_0x325d1b,_0x5e3d54- -_0x189397._0xf98f4);}function _0x4a78aa(_0x4f3c8f,_0x2143d4){return _0x7afdbe(_0x4f3c8f,_0x2143d4- -_0x1fbe0b._0x158e4b);}return Boolean(_0x3c524a&&_0x3c524a[_0x5b5b7c(0xb55,0x72a)]==='ajax'&&_0x3c524a['url']);}['setAjaxPostion'](_0x324e4d){const _0x2487ec={_0x51a9d2:0x7e7,_0x36bb6d:0x305,_0x5332c5:0x1253,_0x127ee9:0xfbc,_0xbcce97:0xbb3,_0x16b90:0x4a8},_0x4ce415={_0x4894d8:0x1813};function _0x58d300(_0x43d8a4,_0x36dd31){return _0x7afdbe(_0x43d8a4,_0x36dd31- -0x27d);}function _0x58ebda(_0x4b2921,_0x47cf1d){return _0x54a7f1(_0x47cf1d- -0x48e,_0x4b2921);}return _0x324e4d&&_0x324e4d[_0x58d300(0x437,_0x2487ec._0x51a9d2)]===_0x58ebda(_0x2487ec._0x36bb6d,0x8b6)&&_0x324e4d['url']?(this['options'][_0x58ebda(0xc40,_0x2487ec._0x5332c5)]=_0x324e4d,_0x324e4d[_0x58d300(0xf59,0xa10)]>0x0?(this[_0x58d300(_0x2487ec._0x127ee9,0x8bd)]=setInterval(async()=>{this['isAdded']&&(this['_position']=await this['_getNowAjaxPostion'](_0x324e4d)),this['isDestroy']&&this['clearAjaxPostion']();},_0x324e4d[_0x58ebda(_0x2487ec._0xbcce97,0x5d1)]*0x3e8),this[_0x58d300(0x2128,0x1692)]=new Cesium__namespace[(_0x58d300(_0x2487ec._0x16b90,0xcfb))](_0x9728c=>{return this['_position'];},![])):this['_getNowAjaxPostion'](_0x324e4d)['then'](_0x3a78ed=>{function _0x51a693(_0x5b52d0,_0x22ef3b){return _0x58d300(_0x22ef3b,_0x5b52d0-0x181);}this[_0x51a693(_0x4ce415._0x4894d8,0x1af9)]=_0x3a78ed;}),!![]):![];}async['_getNowAjaxPostion'](_0x376874){const _0x584120={_0x43487e:0x1450,_0x2a633d:0x1b5b,_0x50e42f:0x1415,_0x105fd1:0x163b,_0x2ef735:0x106b,_0x560ad5:0xce8,_0x264aff:0x106b,_0x4eec19:0xfee,_0x37aad3:0x1171},_0x51b792={_0x35064c:0xd4};function _0x13a028(_0x281780,_0x273ae7){return _0x54a7f1(_0x281780- -0x2cc,_0x273ae7);}function _0x3eb0a1(_0x5ebb89,_0xbe5b68){return _0x54a7f1(_0x5ebb89- -_0x51b792._0x35064c,_0xbe5b68);}let _0x2fde4e=await sendAjax(_0x376874);if(_0x376874[_0x3eb0a1(0x1450,0x1655)]){const _0x2db8ce=_0x376874[_0x3eb0a1(_0x584120._0x43487e,_0x584120._0x2a633d)]['split']('.');_0x2db8ce['forEach'](_0x73eeb6=>{_0x2fde4e=_0x2fde4e[_0x73eeb6];});}if(_0x2fde4e['position'])return LngLatPoint['parse'](_0x2fde4e[_0x13a028(_0x584120._0x50e42f,_0x584120._0x105fd1)])['toCartesian']();else{if(_0x376874['formatPosition'])_0x2fde4e=_0x376874['formatPosition'](_0x2fde4e);else{if(_0x376874['latColumn']||_0x376874[_0x3eb0a1(0xb49,0xad2)]){const _0xb52517=_0x2fde4e[_0x376874['latColumn']||'lat'],_0x11374b=_0x2fde4e[_0x376874['lngColumn']||_0x13a028(0x106b,0x1388)],_0xfd6b0c=_0x2fde4e[_0x376874['altColumn']||'alt']||0x0;return Cesium__namespace['Cartesian3']['fromDegrees'](_0x11374b,_0xb52517,_0xfd6b0c);}else{if(_0x2fde4e['lat']&&_0x2fde4e[_0x13a028(_0x584120._0x2ef735,0xb2e)])return Cesium__namespace['Cartesian3'][_0x13a028(0xb1e,_0x584120._0x560ad5)](_0x2fde4e[_0x13a028(_0x584120._0x264aff,0xc60)],_0x2fde4e[_0x13a028(_0x584120._0x4eec19,_0x584120._0x37aad3)],_0x2fde4e['alt']||0x0);}}}}[_0x54a7f1(0xeca,0x94a)](){const _0xd48ffc={_0x1051e5:0xf3,_0x52dbd5:0x8ca,_0xb62ba2:0x121};function _0x4506e4(_0x1b12c,_0xdbefb4){return _0x54a7f1(_0xdbefb4- -0x42,_0x1b12c);}var _0x47c106;function _0x376736(_0x2c0bb2,_0x39c817){return _0x7afdbe(_0x2c0bb2,_0x39c817- -0x67a);}this['_setAjaxPostion_Time']&&(clearInterval(this[_0x4506e4(-_0xd48ffc._0x1051e5,0x8ca)]),delete this[_0x4506e4(0x10af,_0xd48ffc._0x52dbd5)]),(_0x47c106=this[_0x4506e4(-_0xd48ffc._0xb62ba2,0x86e)])!==null&&_0x47c106!==void 0x0&&_0x47c106[_0x4506e4(0x12e8,0x169f)]&&delete this['options']['position'];}['isInView'](_0x19a841,_0x2e7fc9){const _0x319352={_0x31bef2:0x744,_0x3957fa:0x103e,_0x2b6d74:0x882,_0x1a0083:0xaf2,_0x4e61b3:0x11bc,_0x2a4ab6:0x407};function _0x4c44e8(_0x4eb58c,_0x16d5bc){return _0x7afdbe(_0x4eb58c,_0x16d5bc- -0x643);}if(!_0x19a841){var _0x194866;_0x19a841=getPositionValue(this['position'],(_0x194866=this['_map'])===null||_0x194866===void 0x0?void 0x0:_0x194866['clock'][_0x4c44e8(_0x319352._0x31bef2,_0x319352._0x3957fa)]);}const _0x2c898c=this[_0x4c44e8(_0x319352._0x2b6d74,0x3be)]['scene'];function _0x333c17(_0x373ef2,_0x31cbfa){return _0x7afdbe(_0x31cbfa,_0x373ef2- -0x48e);}if(_0x2c898c['mode']===Cesium__namespace[_0x333c17(0x672,0x5b4)]['SCENE3D']){const _0x546997=new Cesium__namespace['EllipsoidalOccluder'](_0x2c898c['globe']['ellipsoid'],_0x2c898c[_0x333c17(0x2fb,-0x5a3)][_0x333c17(_0x319352._0x1a0083,0x12c9)]),_0x355724=_0x546997['isPointVisible'](_0x19a841);if(!_0x355724)return![];}if(_0x2e7fc9!==null&&_0x2e7fc9!==void 0x0&&_0x2e7fc9[_0x333c17(_0x319352._0x4e61b3,0x10c1)]){const _0x2ea8fb=this['_map']['canvas'],_0x43e9a2=toWindowCoordinates$1(_0x2c898c,_0x19a841);if(!_0x43e9a2||_0x43e9a2['x']<0x0||_0x43e9a2['y']<0x0||_0x43e9a2['x']>parseInt(_0x2ea8fb[_0x4c44e8(0x144b,0x1142)])||_0x43e9a2['y']>parseInt(_0x2ea8fb[_0x333c17(_0x319352._0x2a4ab6,0x185)]))return![];}return!![];}['destroy'](_0x5b56a4){const _0x24d5a9={_0x2e9d96:0x1967,_0x1cc183:0x12e7};function _0x26d65b(_0x39190d,_0x1d0483){return _0x7afdbe(_0x39190d,_0x1d0483- -0x360);}function _0x16c2c1(_0x334033,_0x48c14c){return _0x7afdbe(_0x48c14c,_0x334033- -0x26a);}if(this['_state']===State['DESTROY']||this[_0x16c2c1(0x12c2,_0x24d5a9._0x2e9d96)])return;this['_state']!==State['REMOVED']&&(this['clear']&&this[_0x16c2c1(_0x24d5a9._0x1cc183,0x1316)](),this['remove']()),super['destroy'](_0x5b56a4),this['_state']=State['DESTROY'];}}class GroupGraphic extends BaseGraphic{constructor(_0x5c4347={}){super(_0x5c4347),this['_arrGraphic']=[];}get[_0x7afdbe(0xb5b,0x794)](){return this['length']===0x0;}get['hasChildGraphic'](){const _0x1acfc9={_0x312a6d:0xe58};function _0x2b10a2(_0x200d7d,_0xb83c9a){return _0x54a7f1(_0x200d7d- -0x12d,_0xb83c9a);}return this[_0x2b10a2(_0x1acfc9._0x312a6d,0x934)]>0x0;}get['length'](){const _0x17e323={_0x541acf:0x3e4},_0x374ce2={_0xf8a20d:0x6fa};var _0x2eabc4;function _0x6e3618(_0x31287f,_0x2d8efa){return _0x7afdbe(_0x31287f,_0x2d8efa- -_0x374ce2._0xf8a20d);}function _0x50fb96(_0x24825c,_0x1b0e15){return _0x54a7f1(_0x24825c-0x22d,_0x1b0e15);}if(((_0x2eabc4=this[_0x6e3618(0x5be,_0x17e323._0x541acf)])===null||_0x2eabc4===void 0x0||(_0x2eabc4=_0x2eabc4['graphics'])===null||_0x2eabc4===void 0x0?void 0x0:_0x2eabc4['length'])>0x0)return this[_0x50fb96(0xadd,0x4bb)]['graphics']['length'];else{var _0x4b13c1;return((_0x4b13c1=this['_arrGraphic'])===null||_0x4b13c1===void 0x0?void 0x0:_0x4b13c1['length'])||0x0;}}['_showHook'](_0x478f05){const _0x4e8d3e={_0x3566ab:0x2d8};function _0x7ef95(_0x42401d,_0x483061){return _0x7afdbe(_0x483061,_0x42401d- -_0x4e8d3e._0x3566ab);}this[_0x7ef95(0x8d1,0x7d6)](_0x1192b3=>{_0x1192b3['show']=_0x478f05;},this);}[_0x7afdbe(0x87c,0x4b9)](){const _0x1f46b9={_0x2c84ec:0x2ef};function _0x3dccdc(_0x3a94a1,_0x59b490){return _0x7afdbe(_0x59b490,_0x3a94a1- -0x40a);}const _0x19a764=this['options']['graphics'];if(_0x19a764&&_0x19a764['length']>0x0)for(let _0x3098f3=0x0;_0x3098f3<_0x19a764['length'];_0x3098f3++){const _0x134018=_0x19a764[_0x3098f3];_0x134018['eventParent']=this,_0x134018['private']=this[_0x3dccdc(_0x1f46b9._0x2c84ec,0x943)];const _0x7f31a6=create$5(_0x134018['type'],_0x134018);_0x7f31a6&&this['addGraphic'](_0x7f31a6);}}[_0x54a7f1(0x1121,0x1698)](_0x29ae96){const _0x49ae3c={_0x15a7a3:0xb55,_0x381349:0x895};function _0x3a14fa(_0x135428,_0x48c9ec){return _0x54a7f1(_0x48c9ec- -0xe6,_0x135428);}this[_0x3a14fa(_0x49ae3c._0x15a7a3,_0x49ae3c._0x381349)](_0x3bbac4=>{_0x3bbac4['eventParent']=this,this['_layer']['addGraphic'](_0x3bbac4);},this);}['_removedHook'](){function _0x2b1620(_0x172d69,_0xfddedc){return _0x54a7f1(_0xfddedc- -0x24,_0x172d69);}this[_0x2b1620(-0x25e,0x6a5)]();}['addChildsToMap'](){const _0x2375fe={_0x2db35f:0x513},_0x54c908={_0x5f3249:0xe6};function _0x4ec34c(_0x42b06d,_0xaf1d05){return _0x54a7f1(_0x42b06d-_0x54c908._0x5f3249,_0xaf1d05);}this[_0x4ec34c(0xa61,_0x2375fe._0x2db35f)](_0x3de55b=>{this['_layer']['addGraphic'](_0x3de55b);},this);}['removeMapChilds'](){this['eachGraphic'](_0x5051a4=>{this['_layer']['removeGraphic'](_0x5051a4);},this);}['addGraphic'](_0x5cb0c8){const _0x1318f0={_0x1712fa:0x166c,_0x3ed0e9:0x1106,_0x568def:0x1ac1,_0x227fe8:0x5f2,_0x541b75:0xace,_0xff54c5:0xdc4,_0xea9686:0x14b5};function _0xffb3c5(_0x497b44,_0x5df901){return _0x54a7f1(_0x5df901-0x14a,_0x497b44);}_0x5cb0c8['parent']&&(_0x5cb0c8['removeEventParent'](_0x5cb0c8['parent']),_0x5cb0c8['parent']=null);_0x5cb0c8[_0x322549(0x14de,_0x1318f0._0x1712fa)]=this['id'],_0x5cb0c8[_0x322549(_0x1318f0._0x3ed0e9,_0x1318f0._0x568def)]=this,_0x5cb0c8[_0x322549(_0x1318f0._0x227fe8,_0x1318f0._0x541b75)]['eventParent']=this,this['_arrGraphic']['push'](_0x5cb0c8);this[_0xffb3c5(_0x1318f0._0xff54c5,0x96d)]&&!_0x5cb0c8['isAdded']?this[_0xffb3c5(_0x1318f0._0xea9686,0x1777)]['addGraphic'](_0x5cb0c8):(_0x5cb0c8['removeEventParent'](this['_layer']),_0x5cb0c8[_0x322549(0x8c0,0x5dd)](this));function _0x322549(_0x88e4aa,_0x184717){return _0x7afdbe(_0x184717,_0x88e4aa- -0x4ec);}return this;}[_0x54a7f1(0x3e9,0x36)](_0x470a53){const _0x450739={_0x28411f:0x17e6,_0x567ad9:0x533,_0x2580f8:0x1f4};function _0x43e5cc(_0x2b4dcb,_0x3b4029){return _0x7afdbe(_0x3b4029,_0x2b4dcb- -0x423);}_0x470a53[_0x14b12c(_0x450739._0x28411f,0x10d4)]=null,_0x470a53['removeEventParent'](this),removeArrayItem(this['_arrGraphic'],_0x470a53);this['_layer']&&_0x470a53[_0x14b12c(0x54d,_0x450739._0x567ad9)]&&this['_layer'][_0x43e5cc(_0x450739._0x2580f8,0x7e3)](_0x470a53);function _0x14b12c(_0x56cb5d,_0x5062cd){return _0x7afdbe(_0x56cb5d,_0x5062cd- -0x51e);}return this;}[_0x54a7f1(0xba6,0x120f)](){const _0x33e1f9={_0x3eb43d:0xbfe};function _0x1ca2b2(_0x3a387c,_0x103a47){return _0x54a7f1(_0x3a387c- -0xea,_0x103a47);}for(let _0xaa58a5=this['_arrGraphic']['length']-0x1;_0xaa58a5>=0x0;_0xaa58a5--){const _0x435d5b=this['_arrGraphic'][_0xaa58a5];this['removeGraphic'](_0x435d5b);}this[_0x1ca2b2(_0x33e1f9._0x3eb43d,0x373)]=[];}['eachGraphic'](_0x3ec479,_0x4231f7){const _0x29b71f={_0x3b1cc0:0x17bf};if(!this[_0x4da37f(0xa03,0xc55)])return;this['_arrGraphic']['forEach'](_0x27bc47=>{function _0x497ecf(_0x38436f,_0x392d91){return _0x4da37f(_0x392d91,_0x38436f- -0x318);}_0x3ec479[_0x497ecf(0xd06,_0x29b71f._0x3b1cc0)](_0x4231f7,_0x27bc47);});function _0x4da37f(_0x5bee71,_0x18c080){return _0x7afdbe(_0x5bee71,_0x18c080- -0x2c1);}return this;}[_0x54a7f1(0x2f1,-0x18)](){const _0x25dcc7={_0x559015:0x1791};function _0x113119(_0x583211,_0x3e023c){return _0x7afdbe(_0x583211,_0x3e023c-0x32);}return this[_0x113119(_0x25dcc7._0x559015,0xf48)];}['getInMapChilds'](){const _0x96250f={_0x165d39:0xa78},_0x2144ba={_0x109ac0:0x2c6},_0x17cdab=this['_arrGraphic']||[];return this['_layer']['eachGraphic'](_0x49fa7f=>{if(_0x49fa7f[_0x2a3fb4(0x137e,0x183f)]!==this['id'])return;if(this[_0x2ddf6d(_0x96250f._0x165d39,0xe87)][_0x2a3fb4(-0x1a0,0x652)](_0x49fa7f)!==-0x1)return;function _0x2a3fb4(_0x5d12b5,_0x41201a){return _0x536c(_0x41201a-0x1ca,_0x5d12b5);}function _0x2ddf6d(_0x205fdf,_0x4c64ec){return _0x536c(_0x4c64ec-_0x2144ba._0x109ac0,_0x205fdf);}_0x17cdab['push'](_0x49fa7f);},this),_0x17cdab;}[_0x54a7f1(0x11ad,0xc92)](_0x454723){const _0xcc78f0={_0x556046:0x9c4},_0x7bf735={_0x240aba:0x324},_0x42dc10=this['_arrGraphic'];if(!this['_arrGraphic']||this[_0x3171bb(0x10b8,_0xcc78f0._0x556046)]['length']===0x0)return;for(let _0x338190=0x0,_0x230c83=_0x42dc10['length'];_0x338190<_0x230c83;_0x338190++){const _0x5b640e=_0x42dc10[_0x338190];if(_0x5b640e['id']===_0x454723)return _0x5b640e;}function _0x3171bb(_0x383c7f,_0x4f8d57){return _0x54a7f1(_0x4f8d57- -_0x7bf735._0x240aba,_0x383c7f);}return undefined;}['getGraphic'](_0x19db49){const _0x1c5b66={_0x10f7a1:0xc7a,_0x236de0:0x10c3},_0x497bf8={_0x3f1f22:0x30b};function _0x4ad1f0(_0x563275,_0x27b9ef){return _0x7afdbe(_0x563275,_0x27b9ef- -0x3ae);}function _0x4b046c(_0xc9a0fd,_0x19b3ea){return _0x54a7f1(_0x19b3ea- -_0x497bf8._0x3f1f22,_0xc9a0fd);}if(!this['_arrGraphic']||this['_arrGraphic'][_0x4b046c(0x10cd,_0x1c5b66._0x10f7a1)]===0x0)return undefined;for(let _0x5e6903=0x0;_0x5e6903<this[_0x4ad1f0(_0x1c5b66._0x236de0,0xb68)]['length'];_0x5e6903++){const _0x3c1ac8=this['_arrGraphic'][_0x5e6903];if(_0x3c1ac8['name']===_0x19db49||_0x3c1ac8['id']===_0x19db49)return _0x3c1ac8;}return undefined;}['hasGraphic'](_0x25b1e3,_0x5d8311){const _0x457bb2={_0x3d4351:0x91d},_0x38b3c8={_0x500465:0x5f9};for(let _0x2cf822=0x0;_0x2cf822<this['_arrGraphic']['length'];_0x2cf822++){const _0x299e61=this[_0x3fa746(_0x457bb2._0x3d4351,0x5a7)][_0x2cf822];if(_0x5d8311&&_0x299e61===_0x5d8311)continue;if(_0x299e61['name']===_0x25b1e3||_0x299e61['id']===_0x25b1e3)return!![];}function _0x3fa746(_0x55e0cf,_0x196ad0){return _0x7afdbe(_0x196ad0,_0x55e0cf- -_0x38b3c8._0x500465);}return![];}[_0x7afdbe(0x1765,0x14ea)](_0x201fbf){const _0x340ed4={_0x356e9c:0x1607,_0x3c7ef3:0x1489,_0xf266b1:0x18c4};let _0x3bdbe5;function _0x563920(_0x2e47b8,_0x154a50){return _0x7afdbe(_0x2e47b8,_0x154a50- -0x341);}function _0x459a81(_0x8732b9,_0x5a7e13){return _0x54a7f1(_0x5a7e13- -0x3b0,_0x8732b9);}for(let _0x1f0ba3=0x0;_0x1f0ba3<this['_arrGraphic']['length'];_0x1f0ba3++){const _0x3af137=this[_0x459a81(0x88d,0x938)][_0x1f0ba3];if(!_0x3af137['getRectangle'])return;const _0x4f754f={..._0x201fbf};_0x4f754f[_0x563920(0x12ea,_0x340ed4._0x356e9c)]=![];const _0xfddd57=_0x3af137[_0x563920(_0x340ed4._0x3c7ef3,0x11a9)](_0x4f754f);if(!Cesium__namespace[_0x563920(_0x340ed4._0xf266b1,0x156e)](_0xfddd57))return;_0x3bdbe5?_0x3bdbe5=Cesium__namespace['Rectangle']['union'](_0xfddd57,_0x3bdbe5):_0x3bdbe5=_0xfddd57;}return _0x201fbf!==null&&_0x201fbf!==void 0x0&&_0x201fbf['isFormat']?formatRectangle(_0x3bdbe5):_0x3bdbe5;}['toJSON'](){const _0x264207={_0x46f145:0xd46,_0x49349f:0xb36,_0x42db3a:0x147b,_0x2c7ce0:0x1603,_0x3f10fc:0x1922,_0x413203:0xe8f},_0x18573e={_0x59fbde:0x44f},_0x184363={_0x31267e:0x2a1};function _0x3d91ac(_0x6fb48b,_0xee3ceb){return _0x54a7f1(_0x6fb48b-_0x184363._0x31267e,_0xee3ceb);}const _0x2264ff={};_0x2264ff[_0x3d91ac(0x19f7,0x10f2)]=!![];const _0x2b6d1b={...getAttrVal(this['options'],_0x2264ff),'id':this['id'],'name':this['name'],'type':this['type']};function _0x137738(_0x35b353,_0x28fe6e){return _0x54a7f1(_0x35b353- -_0x18573e._0x59fbde,_0x28fe6e);}this['_availability']&&(_0x2b6d1b['availability']=this[_0x137738(_0x264207._0x46f145,0x657)]);const _0x28b964=[];this['eachGraphic'](_0x338c2b=>{const _0x3d1687={_0x33bdb1:0x181},_0x3c54bb=_0x338c2b['toJSON']();delete _0x3c54bb['pid'],delete _0x3c54bb['id'];function _0x409b59(_0x112f67,_0x2f90d1){return _0x3d91ac(_0x112f67- -0x47f,_0x2f90d1);}delete _0x3c54bb[_0x3d089d(0x9ba,0x1097)];function _0x3d089d(_0x53eb56,_0x4854cb){return _0x137738(_0x53eb56-_0x3d1687._0x33bdb1,_0x4854cb);}delete _0x3c54bb[_0x409b59(0xc18,0xf66)],_0x28b964['push'](_0x3c54bb);},this);_0x28b964[_0x137738(_0x264207._0x49349f,0x849)]>0x0&&(_0x2b6d1b[_0x3d91ac(_0x264207._0x42db3a,_0x264207._0x2c7ce0)]=_0x28b964);for(const _0x22a4c5 in _0x2b6d1b){const _0x133a45=_0x2b6d1b[_0x22a4c5];(!Cesium__namespace[_0x3d91ac(_0x264207._0x3f10fc,_0x264207._0x413203)](_0x133a45)||isObject(_0x133a45)&&Object[_0x3d91ac(0xac5,0x547)](_0x133a45)['length']===0x0)&&delete _0x2b6d1b[_0x22a4c5];}return _0x2b6d1b;}}register$5(_0x7afdbe(0x1584,0xdb2),GroupGraphic);class FlickerEntity{constructor(_0x438b26={}){const _0x2fb9da={_0x2e5028:0x1145,_0x1a1c08:0x1172};function _0x494734(_0x25a398,_0x5d6c06){return _0x7afdbe(_0x5d6c06,_0x25a398- -0x2fb);}function _0x15ed29(_0x35d670,_0x35d8c9){return _0x7afdbe(_0x35d670,_0x35d8c9- -0x51a);}this[_0x494734(_0x2fb9da._0x2e5028,0x110c)]=Cesium__namespace['Color'][_0x15ed29(0x81c,_0x2fb9da._0x1a1c08)]['withAlpha'](0x0);}[_0x7afdbe(0xdf9,0xb44)](_0x4ffaa1,_0x198ac={}){const _0x44abd1={_0x39efdb:0x586,_0x2d0b45:0xb3a,_0x4dddf8:0xb4e},_0x4d0790={_0x45f835:0x961,_0x540849:0x2d,_0x9a3f44:0x6ef,_0x34850c:0x695,_0x3ae68b:0x8ca,_0x517dc0:0xe35,_0xdbd69a:0x484,_0x54cbab:0xaa3,_0x22b201:0xed3,_0x1ce3ae:0x15b3,_0xb3758e:0x77b,_0x171153:0x10a,_0xb1902d:0x1207,_0x337e48:0xddb,_0x120173:0x1106,_0x28dbf9:0x698,_0x38e8a8:0x13b1,_0x3c8467:0x1af5,_0x3939ac:0xecb,_0x4cc024:0x6dd,_0x25b528:0x23,_0x3dc3cd:0x1259,_0x1183e6:0x3dd},_0x1af11e={_0x6eecfe:0xea4},_0x4cecb4=this;function _0x4e5b00(_0x5b19b8,_0x26d6e7){return _0x54a7f1(_0x26d6e7- -0x11b,_0x5b19b8);}this['stopFlicker'](),this['entitys']=_0x4ffaa1,this['maxAlpha']=_0x198ac['maxAlpha']??0.3,this[_0x5c151d(_0x44abd1._0x39efdb,0xb18)]=_0x198ac['time'],this['color']=getCesiumColor(_0x198ac[_0x4e5b00(_0x44abd1._0x2d0b45,0x10f7)],Cesium__namespace['Color']['WHITE']),this['color']=this[_0x4e5b00(0x1374,0x10f7)]['withAlpha'](this[_0x4e5b00(0xd7e,0x1502)]);function _0x5c151d(_0x29fcc1,_0x44ad21){return _0x54a7f1(_0x44ad21-0xb9,_0x29fcc1);}this['onEnd']=_0x198ac['onEnd'];const _0x2b36e9=this['maxAlpha']/0x3e8*(_0x198ac['setp']??0xa);let _0x8dac65=0x0;return this['interVal']=setInterval(()=>{const _0x3cba9d={_0x31c37d:0x4e4};_0x8dac65+=_0x2b36e9;_0x8dac65>this['maxAlpha']&&(_0x8dac65=0x0);function _0x22cdc8(_0x397429,_0x53b34){return _0x5c151d(_0x53b34,_0x397429- -_0x3cba9d._0x31c37d);}this[_0x22cdc8(0xde7,_0x1af11e._0x6eecfe)]=this['color']['withAlpha'](_0x8dac65),this['_updateClr']();},0xa),this['time']&&(this['timeEndVal']=setTimeout(()=>{this['stopFlicker']();},this[_0x4e5b00(_0x44abd1._0x4dddf8,0x944)]*0x3e8)),loopArrayForFun(_0x4ffaa1,function(_0x38bd88){_0x38bd88['polygon']&&(_0x38bd88['polygon']['material_bak']=_0x38bd88['polygon'][_0x159ef0(-_0x4d0790._0x45f835,-_0x4d0790._0x540849)],_0x38bd88[_0x159ef0(-0x538,0x24)]['material']=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace[(_0x159ef0(0x5a,0x8ca))](_0x30e4b4=>{function _0x3e577f(_0x6063b8,_0x24e63e){return _0x159ef0(_0x24e63e,_0x6063b8-0x70f);}return _0x4cecb4[_0x3e577f(0x14a1,0x19c7)];},![])));_0x38bd88['polyline']&&(_0x38bd88['polyline'][_0x515983(_0x4d0790._0x9a3f44,_0x4d0790._0x34850c)]=_0x38bd88['polyline']['material'],_0x38bd88['polyline']['material']=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace[(_0x159ef0(0xc41,_0x4d0790._0x3ae68b))](_0x3a369c=>{return _0x4cecb4['color'];},![])));_0x38bd88['ellipsoid']&&(_0x38bd88[_0x159ef0(_0x4d0790._0x517dc0,_0x4d0790._0xdbd69a)]['material_bak']=_0x38bd88[_0x515983(_0x4d0790._0x54cbab,0x954)]['material'],_0x38bd88[_0x159ef0(0xa55,_0x4d0790._0xdbd69a)]['material']=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace['CallbackProperty'](_0x39221a=>{return _0x4cecb4['color'];},![])));_0x38bd88['ellipse']&&(_0x38bd88[_0x515983(0xd9a,_0x4d0790._0x22b201)]['material_bak']=_0x38bd88[_0x515983(0xd9a,_0x4d0790._0x1ce3ae)]['material'],_0x38bd88[_0x159ef0(0x7dd,_0x4d0790._0xb3758e)]['material']=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace['CallbackProperty'](_0x427285=>{return _0x4cecb4['color'];},![])));_0x38bd88[_0x515983(0x46b,0x9ee)]&&(_0x38bd88['rectangle']['material_bak']=_0x38bd88['rectangle']['material'],_0x38bd88[_0x515983(0x46b,_0x4d0790._0x171153)]['material']=new Cesium__namespace[(_0x159ef0(0x17cc,0xe4e))](new Cesium__namespace['CallbackProperty'](_0x477038=>{return _0x4cecb4['color'];},![])));_0x38bd88[_0x515983(_0x4d0790._0xb1902d,_0x4d0790._0x337e48)]&&(_0x38bd88[_0x515983(0x1207,0xb9a)]['material_bak']=_0x38bd88[_0x515983(0x1207,_0x4d0790._0x120173)][_0x159ef0(_0x4d0790._0x28dbf9,-_0x4d0790._0x540849)],_0x38bd88['wall'][_0x515983(0x5f2,-0x36b)]=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace['CallbackProperty'](_0x486fa1=>{return _0x4cecb4['color'];},![])));_0x38bd88['point']&&(_0x38bd88['point']['color_bak']=_0x38bd88[_0x515983(0xebb,0x627)][_0x515983(_0x4d0790._0x38e8a8,_0x4d0790._0x3c8467)],_0x38bd88['point']['color']=_0x4cecb4['color']);function _0x515983(_0x39bb26,_0x46ecc9){return _0x4e5b00(_0x46ecc9,_0x39bb26-0x2ba);}function _0x159ef0(_0x5d6e82,_0x4326f1){return _0x5c151d(_0x5d6e82,_0x4326f1- -0x539);}_0x38bd88['billboard']&&(_0x38bd88[_0x515983(_0x4d0790._0x3939ac,_0x4d0790._0x4cc024)]['color_bak']=_0x38bd88['billboard']['color'],_0x38bd88['billboard']['color']=_0x4cecb4['color']),_0x38bd88['model']&&(_0x38bd88['model']['color']&&(_0x38bd88['model']['color_bak']=getCesiumColor(_0x38bd88['model'][_0x515983(0x13b1,0x1c86)]),_0x38bd88[_0x159ef0(0x467,0x24b)]['color_bak']['clone']&&(_0x38bd88['model']['color_bak']=_0x38bd88['model']['color_bak']['clone']())),_0x38bd88[_0x515983(0x86a,-_0x4d0790._0x25b528)][_0x159ef0(0x5fb,0xd92)]=_0x4cecb4[_0x515983(0x13b1,0x1440)]),_0x38bd88[_0x515983(_0x4d0790._0x3dc3cd,0x1a43)]&&(_0x38bd88['label']['fillColor_bak']=_0x38bd88['label']['fillColor'],_0x38bd88['label'][_0x515983(_0x4d0790._0x1183e6,0x525)]=_0x4cecb4['color']);}),this;}[_0x54a7f1(0x26f,0x83)](){const _0x2326a8={_0x323c83:0x73a,_0x1c4ea7:0x29f},_0x4e8d9a={_0x53c570:0x247,_0x590d98:0x1ea,_0x1da33d:0x278,_0x2b7822:0x6cc,_0x3f6543:0x2c9,_0x443bba:0x2ed,_0x191b58:0x2ce,_0x3bdb29:0x47b,_0x57402f:0xdbe,_0x418f28:0x8dc,_0x4f7eaa:0x43b,_0x3f0f4d:0x125b,_0x41a198:0xbdf,_0x4bd28c:0x893,_0x1a2814:0xe03,_0xa4f0f5:0xb51,_0x2474b6:0x1037,_0x432015:0x8e3,_0x22f499:0x1387,_0x1f63f5:0xdfb,_0x5f3a9c:0x554,_0x52615f:0x6b2,_0x27d416:0x1067,_0x130ff7:0xedf,_0x2796f5:0x120a};function _0x51451a(_0x7f62ad,_0xdcf38e){return _0x54a7f1(_0xdcf38e- -0xb1,_0x7f62ad);}this['_stopTime']();function _0x4e99f6(_0x4b63cb,_0x2cdf03){return _0x54a7f1(_0x2cdf03-0x20b,_0x4b63cb);}return this['entitys']&&(loopArrayForFun(this['entitys'],function(_0x1511bc){const _0x4e8659={_0x3932b:0xb4};function _0x4a1c6f(_0xe1b4b8,_0x45887d){return _0x536c(_0x45887d- -_0x4e8659._0x3932b,_0xe1b4b8);}_0x1511bc['polygon']&&(_0x1511bc['polygon'][_0x3ed9e7(-_0x4e8d9a._0x53c570,0xc7)]&&(_0x1511bc['polygon'][_0x4a1c6f(_0x4e8d9a._0x590d98,_0x4e8d9a._0x1da33d)]=_0x1511bc[_0x4a1c6f(-_0x4e8d9a._0x2b7822,_0x4e8d9a._0x3f6543)][_0x3ed9e7(-_0x4e8d9a._0x443bba,0xc7)]));_0x1511bc['polyline']&&(_0x1511bc['polyline']['material_bak']&&(_0x1511bc['polyline'][_0x3ed9e7(-_0x4e8d9a._0x191b58,-0x36)]=_0x1511bc['polyline'][_0x4a1c6f(-0x357,0x375)]));_0x1511bc['ellipsoid']&&(_0x1511bc[_0x4a1c6f(0xaae,0x729)]['material_bak']&&(_0x1511bc[_0x3ed9e7(0x9bc,_0x4e8d9a._0x3bdb29)]['material']=_0x1511bc['ellipsoid']['material_bak']));_0x1511bc['ellipse']&&(_0x1511bc['ellipse'][_0x4a1c6f(0xa4a,0x375)]&&(_0x1511bc['ellipse']['material']=_0x1511bc[_0x3ed9e7(_0x4e8d9a._0x57402f,0x772)]['material_bak']));_0x1511bc['rectangle']&&(_0x1511bc['rectangle'][_0x3ed9e7(-_0x4e8d9a._0x418f28,0xc7)]&&(_0x1511bc['rectangle']['material']=_0x1511bc[_0x3ed9e7(_0x4e8d9a._0x4f7eaa,-0x1bd)]['material_bak']));_0x1511bc['wall']&&(_0x1511bc['wall']['material_bak']&&(_0x1511bc['wall']['material']=_0x1511bc[_0x3ed9e7(_0x4e8d9a._0x3f0f4d,_0x4e8d9a._0x41a198)]['material_bak']));_0x1511bc['point']&&(_0x1511bc['point']['color_bak']&&(_0x1511bc[_0x3ed9e7(0x34f,_0x4e8d9a._0x4bd28c)]['color']=_0x1511bc['point'][_0x3ed9e7(0xc50,0xb66)]));_0x1511bc['billboard']&&(_0x1511bc['billboard']['color_bak']?_0x1511bc['billboard'][_0x4a1c6f(0x7e7,0x1037)]=_0x1511bc[_0x4a1c6f(_0x4e8d9a._0x1a2814,_0x4e8d9a._0xa4f0f5)]['color_bak']:_0x1511bc['billboard'][_0x4a1c6f(0x1406,0x1037)]=undefined);function _0x3ed9e7(_0x44e6bd,_0x4d9abc){return _0x536c(_0x4d9abc- -0x362,_0x44e6bd);}_0x1511bc['model']&&(_0x1511bc[_0x3ed9e7(0x861,0x242)]['color_bak']?_0x1511bc[_0x3ed9e7(-0x4ca,0x242)][_0x4a1c6f(0xb96,_0x4e8d9a._0x2474b6)]=_0x1511bc[_0x4a1c6f(_0x4e8d9a._0x432015,0x4f0)]['color_bak']:_0x1511bc['model']['color']=Cesium__namespace[_0x3ed9e7(_0x4e8d9a._0x22f499,_0x4e8d9a._0x1f63f5)][_0x4a1c6f(_0x4e8d9a._0x5f3a9c,_0x4e8d9a._0x52615f)]),_0x1511bc['label']&&(_0x1511bc['label']['fillColor_bak']&&(_0x1511bc[_0x4a1c6f(_0x4e8d9a._0x27d416,_0x4e8d9a._0x130ff7)]['fillColor']=_0x1511bc['label'][_0x3ed9e7(_0x4e8d9a._0x2796f5,0x93f)]));}),this[_0x4e99f6(_0x2326a8._0x323c83,0xc81)]&&this[_0x4e99f6(_0x2326a8._0x1c4ea7,0xc81)](this[_0x4e99f6(0x1077,0x10a7)]),delete this['entitys']),this;}['_updateClr'](){const _0x2ad4fd={_0x566e1c:0xc71},_0x2adb33={_0xaaa607:0xd0b,_0x3692ac:0xbbc,_0x5a2a38:0x1201,_0x537667:0x115f,_0x41de5d:0x4a9,_0x434c05:0x274},_0x53cb3b={_0x408622:0x459};function _0x2d856c(_0x457fe1,_0x366edc){return _0x7afdbe(_0x457fe1,_0x366edc- -_0x53cb3b._0x408622);}const _0x2592e2=this;this['entitys']&&loopArrayForFun(this[_0x2d856c(0xe0b,_0x2ad4fd._0x566e1c)],function(_0x19d7c6){function _0x1102fc(_0x3c72bc,_0x243301){return _0x2d856c(_0x3c72bc,_0x243301- -0x287);}_0x19d7c6['point']&&(_0x19d7c6[_0x5d42d3(0x529,_0x2adb33._0xaaa607)]['color']=_0x2592e2[_0x5d42d3(_0x2adb33._0x3692ac,_0x2adb33._0x5a2a38)]);function _0x5d42d3(_0x26e210,_0x2691db){return _0x2d856c(_0x26e210,_0x2691db-0x21a);}_0x19d7c6['billboard']&&(_0x19d7c6['billboard']['color']=_0x2592e2['color']),_0x19d7c6['model']&&(_0x19d7c6['model']['color']=_0x2592e2['color']),_0x19d7c6[_0x5d42d3(_0x2adb33._0x537667,0x10a9)]&&(_0x19d7c6['label'][_0x1102fc(_0x2adb33._0x41de5d,-_0x2adb33._0x434c05)]=_0x2592e2['color']);});}['_stopTime'](){const _0x560fdc={_0x305052:0x13e1,_0x47327b:0x149c,_0x55f158:0x21d};function _0x280765(_0x54547a,_0xc88fde){return _0x7afdbe(_0x54547a,_0xc88fde- -0x693);}function _0x3909e6(_0x4d6c74,_0x3fa3d6){return _0x7afdbe(_0x3fa3d6,_0x4d6c74- -0x28);}this['interVal']&&(clearInterval(this[_0x3909e6(_0x560fdc._0x305052,_0x560fdc._0x47327b)]),this[_0x3909e6(0x13e1,0xaf1)]=null),this[_0x280765(0x4f5,0x585)]&&(clearTimeout(this[_0x280765(_0x560fdc._0x55f158,0x585)]),this['timeEndVal']=null);}}function loopArrayForFun(_0x3e17dd,_0x488098){if(_0x3e17dd==null)return;if(Array['isArray'](_0x3e17dd)){const _0x86093a=[];for(let _0x15705a=0x0,_0x49b4da=_0x3e17dd['length'];_0x15705a<_0x49b4da;_0x15705a++){_0x86093a['push'](_0x488098(_0x3e17dd[_0x15705a]));}return _0x86093a;}else return _0x488098(_0x3e17dd);}class BaseEntity extends BaseGraphic{get['dataSource'](){const _0x59e65d={_0x57f364:0x11f8};function _0x6f43ec(_0x4181e6,_0x20819){return _0x7afdbe(_0x4181e6,_0x20819- -0x663);}var _0x2e47a7;return(_0x2e47a7=this[_0x6f43ec(0x19d6,_0x59e65d._0x57f364)])===null||_0x2e47a7===void 0x0?void 0x0:_0x2e47a7['dataSource'];}get['czmObject'](){const _0x46b345={_0x1ba3cb:0x443},_0x3278be={_0x128f72:0x306};function _0x19d063(_0x3c96b8,_0x16f19d){return _0x54a7f1(_0x16f19d- -_0x3278be._0x128f72,_0x3c96b8);}return this[_0x19d063(-_0x46b345._0x1ba3cb,0x35b)];}get[_0x54a7f1(0x50e,-0x338)](){let _0x30f512=[];return this['_primitive_label']&&_0x30f512['push'](this['_primitive_label']),this['_entity_outlines']&&(_0x30f512=_0x30f512['concat'](this['_entity_outlines'])),_0x30f512;}get['entity'](){return this['_entity'];}get['entityGraphic'](){var _0x7c2ad1;return(_0x7c2ad1=this['_entity'])===null||_0x7c2ad1===void 0x0?void 0x0:_0x7c2ad1['point'];}get[_0x54a7f1(0x10ba,0xa10)](){const _0x130dbc={_0x3c041f:0x17f,_0x136284:0x6ad,_0x3ae574:0xbd8,_0x3a0714:0x213,_0x3d3fb8:0xc59},_0x33e2dc={_0x4575ae:0x4e2};var _0x3e71b7,_0x2402b3;if(this['_primitive_label'])return this['_primitive_label'];function _0x3c8c6b(_0x215b82,_0x3c10ed){return _0x54a7f1(_0x215b82- -_0x33e2dc._0x4575ae,_0x3c10ed);}if((_0x3e71b7=this[_0x3c8c6b(_0x130dbc._0x3c041f,_0x130dbc._0x136284)])!==null&&_0x3e71b7!==void 0x0&&_0x3e71b7[_0x3c8c6b(0xbd8,0x2d0)])return this['_entity'][_0x3c8c6b(0xbd8,0x5dc)];function _0x2385fb(_0x408f9f,_0x4efec4){return _0x7afdbe(_0x408f9f,_0x4efec4- -0x68f);}if((_0x2402b3=this['style'])!==null&&_0x2402b3!==void 0x0&&_0x2402b3[_0x3c8c6b(_0x130dbc._0x3ae574,_0x130dbc._0x3a0714)]){var _0x54b43e;return(_0x54b43e=this[_0x2385fb(-0x4ee,0x3b)])===null||_0x54b43e===void 0x0?void 0x0:_0x54b43e[_0x2385fb(0x468,_0x130dbc._0x3d3fb8)];}return{};}get[_0x7afdbe(0xcab,0x11e7)](){return this['_enabledEdit'];}get['lastDrawPoint'](){const _0x1ad5f9={_0x21eca6:0x451,_0x5e3754:0xc05};function _0xcfda3c(_0x532983,_0x231670){return _0x54a7f1(_0x532983- -0x380,_0x231670);}function _0x320cd1(_0x4129ac,_0x4ab93a){return _0x7afdbe(_0x4129ac,_0x4ab93a- -0x10c);}const _0x3a6e41=this[_0xcfda3c(_0x1ad5f9._0x21eca6,0x9aa)];if(!_0x3a6e41||_0x3a6e41[_0xcfda3c(_0x1ad5f9._0x5e3754,0x14c3)]===0x0)return;return this[_0x320cd1(0x1b94,0x11d9)]?_0x3a6e41[_0x3a6e41['length']-0x2]:_0x3a6e41[_0x3a6e41[_0x320cd1(0x1844,0x10a7)]-0x1];}[_0x7afdbe(0x13bd,0x15e5)](){return this['redraw']();}[_0x7afdbe(0x523,0xcb0)](){const _0x3a001c={_0x112d7f:0x1379,_0x4bf394:0x13af,_0x30e087:0xb70,_0x12c372:0x3bf,_0xd8914a:0x11f0,_0x245628:0x474,_0x1b109d:0x4c0},_0x922604={_0x336fad:0x92};function _0x4b5654(_0x2a8e3b,_0x4ed35c){return _0x54a7f1(_0x2a8e3b- -0x4f1,_0x4ed35c);}this['enabledEvent']=![];const _0x68d34=this['_layer'];this['_entity'][_0x4b5654(0x1102,0x18f6)]=![],this['_onRemove'](),delete this['_entity'],this[_0x4b5654(0x1047,0x15da)]();this['options']['positions']&&!this['_positions']&&(this[_0x4f799e(_0x3a001c._0x112d7f,_0x3a001c._0x4bf394)]=this[_0x4f799e(0x6f2,_0x3a001c._0x30e087)]['positions']);function _0x4f799e(_0xdbe4a6,_0xbb9096){return _0x7afdbe(_0xdbe4a6,_0xbb9096-_0x922604._0x336fad);}this[_0x4b5654(_0x3a001c._0x12c372,0xe49)][_0x4b5654(_0x3a001c._0xd8914a,0x1926)]&&!this['_position']&&(this['position']=this[_0x4b5654(_0x3a001c._0x12c372,0x3d0)]['position']),this['_onAdd'](_0x68d34),this[_0x4b5654(_0x3a001c._0x245628,-_0x3a001c._0x1b109d)]=!![];}[_0x7afdbe(-0x4e8,0x4b9)](){}['_addedHook'](_0x15ebae){const _0x1679c8={_0x4fee3f:0x1a2e,_0x710529:0x174e,_0x4fcac7:0x40b},_0x1ee6ae={_0x458efa:0x1072},_0x10cdac={_0xacfce8:0xd},_0xd79b35={_0xaaa334:0x1db},_0x40dd98={_0x1ea9d7:0x331},_0x925dd6=_0x4d0bd7=>{var _0x2abdc4;function _0x100642(_0x2cba42,_0x5ba1de){return _0x536c(_0x2cba42-0xb8,_0x5ba1de);}return(_0x2abdc4=this['_map'])===null||_0x2abdc4===void 0x0?void 0x0:_0x2abdc4[_0x100642(0xd8b,0x1121)];};this['czmObject']['isAvailableByMap']=_0x925dd6,this['dataSource']['entities']['add'](this[_0x1be677(_0x1679c8._0x4fee3f,_0x1679c8._0x710529)]);function _0xa9a2ab(_0x2e370c,_0x5733e1){return _0x7afdbe(_0x5733e1,_0x2e370c- -_0x40dd98._0x1ea9d7);}function _0x1be677(_0x5e879b,_0x17ded3){return _0x7afdbe(_0x5e879b,_0x17ded3- -_0xd79b35._0xaaa334);}this[_0xa9a2ab(_0x1679c8._0x4fcac7,0xa17)]['forEach'](_0x3df3fd=>{function _0x53b473(_0xf317bf,_0x8f20c9){return _0xa9a2ab(_0xf317bf-_0x10cdac._0xacfce8,_0x8f20c9);}function _0x2b6408(_0x445475,_0x37ad64){return _0xa9a2ab(_0x37ad64-0x28f,_0x445475);}_0x3df3fd instanceof Cesium__namespace['Entity']&&(_0x3df3fd[_0x2b6408(0x15e1,_0x1ee6ae._0x458efa)]=_0x925dd6,this['dataSource'][_0x2b6408(0xe17,0xe48)]['add'](_0x3df3fd));}),this[_0x1be677(0x211,0x3dc)]&&(this['_clampToGround_last']=this['style']['clampToGround']);}[_0x54a7f1(0xa4f,0xe92)](){const _0x7e0ad0={_0x4b7318:0xf5a,_0x1cf525:0x980,_0x3409be:0x1996,_0x3a8ae4:0x72f},_0x516e52={_0x5a2b19:0x1446,_0x299e2b:0x1795};this['stopDraw'](),this[_0x37bffb(_0x7e0ad0._0x4b7318,_0x7e0ad0._0x1cf525)]();function _0x37bffb(_0x311b7c,_0x4aefcf){return _0x7afdbe(_0x4aefcf,_0x311b7c- -0x737);}function _0x22b584(_0x526380,_0x174419){return _0x54a7f1(_0x526380- -0x2e,_0x174419);}this[_0x37bffb(0x11f2,0x18ce)]&&this['dataSource']['entities']['remove'](this[_0x37bffb(0x11f2,_0x7e0ad0._0x3409be)]),this['czmObjectEx']&&this[_0x37bffb(0x5,0x1c8)]['forEach'](_0x9081a9=>{const _0x45e2ca={_0x11a924:0xa5};function _0x9e7ab3(_0x37911a,_0x2b3238){return _0x22b584(_0x2b3238-_0x45e2ca._0x11a924,_0x37911a);}_0x9081a9 instanceof Cesium__namespace[_0x9e7ab3(_0x516e52._0x5a2b19,_0x516e52._0x299e2b)]&&this['dataSource']['entities']['remove'](_0x9081a9);}),this['_primitive_label']&&(this['_layer']['labelCollection'][_0x22b584(0x760,0x2e8)](this['_primitive_label']),delete this[_0x22b584(_0x7e0ad0._0x3a8ae4,0xa96)]);}['_initFromEntity'](_0x25d5a8){const _0x231233={_0x5357e1:0xd6};function _0x4b3694(_0x131d41,_0x32a21d){return _0x7afdbe(_0x131d41,_0x32a21d- -0x475);}_0x25d5a8[_0x4b3694(_0x231233._0x5357e1,0x12e)]&&_0x25d5a8[_0x4b3694(0x2d8,0x12e)]['remove'](_0x25d5a8);function _0x10b72c(_0x40cd15,_0x5000ff){return _0x54a7f1(_0x5000ff- -0x4df,_0x40cd15);}return _0x25d5a8['_id']=this['id'],_0x25d5a8;}['_updateEditDraggers'](){const _0x22475a={_0x128774:0x69e,_0x501d0a:0x2e},_0x91d4ca={_0x4c7c84:0xeb},_0x277d06={_0x14b3b2:0x733};function _0x376280(_0xa24b5f,_0x5397ce){return _0x7afdbe(_0x5397ce,_0xa24b5f- -_0x277d06._0x14b3b2);}function _0x118bc4(_0x422c5c,_0x80f4a9){return _0x54a7f1(_0x422c5c- -_0x91d4ca._0x4c7c84,_0x80f4a9);}var _0x4e51db;(_0x4e51db=this['editing'])!==null&&_0x4e51db!==void 0x0&&_0x4e51db[_0x376280(_0x22475a._0x128774,0xdb8)]&&this[_0x118bc4(0x4be,-_0x22475a._0x501d0a)]['updateDraggers']();}['_updateStyleBaseHook'](_0x3b9d48){const _0x10a906={_0x11103e:0xf75,_0x4f817c:0xa72,_0x1252cd:0x65c,_0x2535d1:0x129,_0x31ee5e:0xa6b,_0xacf766:0x10ce,_0x45505c:0x65b,_0x2c942d:0xab1,_0x3cadda:0xb6f,_0x318fef:0x2a0,_0x256847:0x728,_0x3590e2:0x2a0,_0x3404a6:0x117b};var _0x1680f3;function _0x5c7e48(_0xb8aab7,_0x35a38a){return _0x54a7f1(_0xb8aab7- -0x309,_0x35a38a);}if(!this['czmObject']||!_0x3b9d48)return;if(this['_clampToGround_reload']&&Cesium__namespace[_0x5c7e48(0x1378,_0x10a906._0x11103e)](_0x3b9d48[_0x5c7e48(0x1260,0x172f)])&&_0x3b9d48['clampToGround']!==this[_0x5c7e48(_0x10a906._0x4f817c,0xe61)]){const _0x4492fc=this['isEditing'];this['redraw'](),this['_clampToGround_last']=_0x3b9d48['clampToGround'];_0x4492fc&&(this[_0x5c7e48(0x65c,-0x21e)]=![],this['startEditing'](),this[_0x5c7e48(_0x10a906._0x1252cd,0x621)]=!![]);return;}(Cesium__namespace[_0x482811(0x1728,0x19e9)](_0x3b9d48['setHeight'])||Cesium__namespace['defined'](_0x3b9d48[_0x482811(0xbc7,0x12c7)]))&&(this[_0x5c7e48(0x4c8,0xf89)]?(this['positions']=this['_positions_draw'],this[_0x5c7e48(0xef6,0x1675)](![])):this['positions']=this['positionsShow']);function _0x482811(_0x54e5be,_0x3aec2e){return _0x54a7f1(_0x54e5be-0xa7,_0x3aec2e);}return this['_updateStyleHook'](this['style'],_0x3b9d48),this[_0x482811(0x8c8,_0x10a906._0x2535d1)](this['style'],_0x3b9d48),this[_0x482811(0x147e,0x1683)]&&this[_0x5c7e48(_0x10a906._0x31ee5e,0x449)](this[_0x5c7e48(_0x10a906._0xacf766,_0x10a906._0x45505c)](),this['style']),this['_updateExOpacity']&&Cesium__namespace['defined'](_0x3b9d48['globalAlpha'])&&this['_updateExOpacity'](_0x3b9d48['globalAlpha']),this['_isCallbackPositions']&&this[_0x482811(_0x10a906._0x2c942d,_0x10a906._0x3cadda)](),(_0x1680f3=this[_0x5c7e48(_0x10a906._0x318fef,_0x10a906._0x256847)])!==null&&_0x1680f3!==void 0x0&&_0x1680f3['enabled']&&this[_0x5c7e48(_0x10a906._0x3590e2,-0x110)][_0x482811(_0x10a906._0x3404a6,0xf76)](_0x3b9d48),this;}['_updateDistanceDisplayConditionByEdit'](){const _0x44a0de={_0x14b567:0xd10,_0x2872f6:0x1286,_0xc153db:0xa83,_0xf6c091:0xf04,_0xcbcfd5:0x12d0,_0x41e97c:0xca3,_0x52c209:0xe0d};function _0x4a2529(_0x3701a6,_0xf1c89e){return _0x54a7f1(_0x3701a6- -0x32f,_0xf1c89e);}let _0xd465b6;const _0xbaff33=this['center'];_0xbaff33?_0xd465b6=Cesium__namespace['Cartesian3']['distance'](_0xbaff33,new Cesium__namespace['Cartesian3']()):_0xd465b6=(Cesium__namespace['Ellipsoid']['WGS84'][_0x2af6d3(0x1717,_0x44a0de._0x14b567)]+Cesium__namespace[_0x4a2529(_0x44a0de._0x2872f6,_0x44a0de._0xc153db)][_0x2af6d3(0x114b,0xb78)]['maximumRadius'])/0x2;function _0x2af6d3(_0x3689b1,_0x517262){return _0x54a7f1(_0x517262- -0x2e2,_0x3689b1);}this[_0x2af6d3(0xc82,0xcff)]?this['updateDistanceDisplayCondition'](_0xd465b6):this[_0x2af6d3(0xfb4,0x11bf)]();if(this[_0x2af6d3(_0x44a0de._0xf6c091,_0x44a0de._0xcbcfd5)])for(let _0x2daceb=0x0,_0x37c6a9=this['_entity_outlines'][_0x2af6d3(0x32c,_0x44a0de._0x41e97c)];_0x2daceb<_0x37c6a9;_0x2daceb++){const _0xf13e60=this['_entity_outlines'][_0x2daceb]['polyline'];this['style']['distanceDisplayCondition']?_0xf13e60[_0x2af6d3(0x140d,_0x44a0de._0x52c209)]instanceof Cesium__namespace['CallbackProperty']&&this['style']['clampToGround']?this['updateOutlinesDistanceDisplayCondition'](_0xf13e60,_0xd465b6):this['updateOutlinesDistanceDisplayCondition'](_0xf13e60):_0xf13e60['distanceDisplayCondition']=undefined;}}['updateDistanceDisplayCondition'](_0x57c422=0x0){const _0x4af259={_0x5fd914:0xc3a,_0x1cab5f:0xc1a,_0x2c9b72:0x5b5,_0x20166c:0xfd3,_0x29ad18:0x15f1,_0x599e95:0x603};function _0x583937(_0x2221ba,_0x45aef3){return _0x7afdbe(_0x45aef3,_0x2221ba- -0x2fa);}function _0x5aefa0(_0x2f8c9e,_0x1d9e53){return _0x54a7f1(_0x1d9e53- -0x85,_0x2f8c9e);}this[_0x583937(0x3d0,0x47f)]['distanceDisplayCondition']?this['entityGraphic'][_0x5aefa0(_0x4af259._0x5fd914,_0x4af259._0x1cab5f)]=new Cesium__namespace['DistanceDisplayCondition'](Number((this['style']['distanceDisplayCondition_near']??0x0)+_0x57c422),Number((this['style'][_0x583937(_0x4af259._0x2c9b72,0x613)]??Number[_0x583937(_0x4af259._0x20166c,_0x4af259._0x29ad18)])+_0x57c422)):this['entityGraphic'][_0x583937(0xbd3,_0x4af259._0x599e95)]=undefined;}[_0x54a7f1(0x605,0xf9f)](_0xbf6348,_0xe8be9f=0x0){const _0x3ec961={_0x44071a:0x238},_0x527da1={_0x5096aa:0x135};function _0x56510f(_0x3a2244,_0x5274c6){return _0x54a7f1(_0x3a2244- -0x4f1,_0x5274c6);}function _0xd24958(_0x5c963b,_0x338b0e){return _0x7afdbe(_0x5c963b,_0x338b0e- -_0x527da1._0x5096aa);}_0xbf6348[_0x56510f(0x7ae,-_0x3ec961._0x44071a)]=new Cesium__namespace['DistanceDisplayCondition'](Number((this[_0xd24958(-0xa5,0x595)][_0xd24958(0x3ee,0xd38)]??0x0)+_0xe8be9f),Number((this[_0xd24958(0x4e4,0x595)]['distanceDisplayCondition_far']??Number['MAX_VALUE'])+_0xe8be9f));}['_updateStyleHook'](_0x4ee982,_0x390ff2){}['openHighlight'](_0x51c981,_0x29bd6d=!![]){const _0x3db7b3={_0x44c61e:0x2ec,_0x214901:0x1560,_0x201ce8:0xdf5,_0x43607e:0xe97,_0x215d2d:0x1641,_0x3247e6:0x187f,_0x223471:0xbe2},_0x15df29={_0x127a6a:0x26a};var _0x7407a5;function _0x382d39(_0x38e186,_0x575225){return _0x54a7f1(_0x38e186-_0x15df29._0x127a6a,_0x575225);}_0x29bd6d&&(this['_map']['closeHighlight'](),this['_map']['last_highlighGraphic']=this);function _0x399148(_0x274b0d,_0x166d69){return _0x54a7f1(_0x166d69-0x81,_0x274b0d);}this[_0x382d39(0x566,_0x3db7b3._0x44c61e)]=!![];const _0xa245c8=_0x51c981||this[_0x399148(_0x3db7b3._0x214901,0xc0c)]||((_0x7407a5=this['_layer'])===null||_0x7407a5===void 0x0?void 0x0:_0x7407a5[_0x382d39(_0x3db7b3._0x201ce8,_0x3db7b3._0x43607e)]);if(_0xa245c8){const _0x100dfc=[];for(const _0x48e5fa in _0xa245c8){if(_0x48e5fa==='type')continue;!Cesium__namespace['defined'](this[_0x382d39(0x706,0x1162)][_0x48e5fa])&&_0x100dfc['push'](_0x48e5fa);}_0x100dfc[_0x382d39(0x11ef,0x989)]>0x0&&logWarn('openHighlight:原有style中不存在以下属性,关闭高亮时将无法恢复',_0x100dfc);const _0x4a2dbf=merge(clone(this['style']),_0xa245c8);this['_updateStyleHook'](_0x4a2dbf,_0xa245c8),this[_0x382d39(0xa8b,0x1027)](_0x4a2dbf,_0xa245c8),this[_0x382d39(_0x3db7b3._0x215d2d,_0x3db7b3._0x3247e6)]&&this['_updateOutlineStyle'](this[_0x399148(0x1d84,0x1458)](),_0x4a2dbf),this['fire'](EventType[_0x382d39(_0x3db7b3._0x223471,0xcac)],{},!![]);}}['closeHighlight'](){const _0x5baa58={_0xcdeebf:0xc87,_0x593ab5:0x9a3,_0x63f45a:0x3aa,_0x2c9d88:0x164b},_0x20fefa={_0xc43ead:0x44d};if(!this['isAdded']||!this['_highlight_state'])return;delete this['_highlight_state'],this[_0x599600(_0x5baa58._0xcdeebf,_0x5baa58._0x593ab5)](this['style'],this['style']);function _0x599600(_0x289ae3,_0x50d70d){return _0x54a7f1(_0x289ae3- -_0x20fefa._0xc43ead,_0x50d70d);}function _0x5da34d(_0x1a9ed2,_0x36038d){return _0x7afdbe(_0x36038d,_0x1a9ed2- -0x6a5);}this[_0x5da34d(_0x5baa58._0x63f45a,-0x322)](this['style'],this[_0x599600(0x4f,0xaaa)]),this['_getOutlinePositions']&&this['_updateOutlineStyle'](this[_0x599600(0xf8a,_0x5baa58._0x2c9d88)](),this['style']),this['_map']['_clearLastHighlight'](),this['fire'](EventType['highlightClose'],{},!![]);}['_createEntity'](_0x30b593){const _0x558bdb={_0x29b991:0x730,_0x32b12f:0x1206,_0x1657c1:0x1194,_0x240d38:0x157d,_0xd62080:0xde5,_0x204c16:0x1015,_0x324a79:0x111f,_0x2be0e4:0xdae,_0x316675:0xe4b,_0x5a6dea:0x9de,_0x56f6d5:0x1276,_0x1eade9:0xa32},_0x25fec1={_0x285a94:0x76},_0x5a21f8={_0x2aca7a:0x3ae};this[_0x49649f(0x92,_0x558bdb._0x29b991)]['onBeforeCreate']&&(_0x30b593=this['options']['onBeforeCreate'](_0x30b593)||_0x30b593);this[_0x57b140(0x1626,0xd7d)]&&(_0x30b593=this['_onBeforeCreate'](_0x30b593)||_0x30b593);const _0x3c91a3={};_0x3c91a3['id']=this['id'],_0x3c91a3['name']=this[_0x57b140(_0x558bdb._0x32b12f,0x188c)]||this['id'],_0x3c91a3[_0x49649f(0x832,_0x558bdb._0x1657c1)]=this['attr'];function _0x49649f(_0x1330b8,_0x185a87){return _0x7afdbe(_0x1330b8,_0x185a87- -_0x5a21f8._0x2aca7a);}_0x3c91a3[_0x57b140(_0x558bdb._0x240d38,_0x558bdb._0xd62080)]=this['show'],_0x3c91a3['parent']=this[_0x49649f(0xf05,0x730)]['parent'];const _0x22cbc8=_0x3c91a3;this[_0x49649f(0xedf,_0x558bdb._0x204c16)]&&(_0x22cbc8['availability']=getAvailability(this[_0x57b140(_0x558bdb._0x324a79,_0x558bdb._0x2be0e4)],this['_map']['clock']));function _0x57b140(_0x222f2a,_0xd2f16){return _0x54a7f1(_0x222f2a- -_0x25fec1._0x285a94,_0xd2f16);}this['options'][_0x49649f(0x6cc,0x9de)]&&(_0x22cbc8[_0x57b140(0xae8,_0x558bdb._0x316675)]=this['options'][_0x49649f(-0x9e,_0x558bdb._0x5a6dea)]);this[_0x57b140(0x83a,0xd24)]['viewFrom']&&(_0x22cbc8[_0x49649f(_0x558bdb._0x56f6d5,0x977)]=this[_0x57b140(0x83a,_0x558bdb._0x1eade9)]['viewFrom']);this['options']['parent']&&(_0x22cbc8['parent']=this['options']['parent']);const _0x298901={..._0x22cbc8,..._0x30b593},_0x304383=new Cesium__namespace['Entity'](_0x298901);return _0x304383;}['_updateAvailabilityHook'](_0x5c3fde){const _0x1174d3={_0x129b41:0x16f5,_0x492d2a:0x18aa},_0x57e885={_0x5c3ac3:0x551};function _0x19bf1a(_0x47df74,_0x3b5b2e){return _0x7afdbe(_0x3b5b2e,_0x47df74- -_0x57e885._0x5c3ac3);}function _0x59606f(_0x375bf3,_0x5b6496){return _0x7afdbe(_0x375bf3,_0x5b6496- -0x234);}this[_0x59606f(0x1abe,_0x1174d3._0x129b41)]&&(this[_0x19bf1a(0x13d8,_0x1174d3._0x492d2a)][_0x19bf1a(0xe72,0x3ed)]=_0x5c3fde,this['czmObjectEx']['forEach'](_0x1d6b70=>{_0x1d6b70['availability']=_0x5c3fde;}));}[_0x7afdbe(0x11e9,0xa4f)](_0x52f111,_0x23c938){const _0xa2e9f1={_0x59b0aa:0x13cc,_0x2b13c8:0x56a,_0x3fb9c6:0xc75,_0x56fbc5:0x14ba,_0x47d76d:0x160e,_0x21f53b:0x1454,_0x31768d:0x13cc,_0x2be80f:0xef3,_0x2edb51:0xe05,_0x10a7dd:0x111b},_0x3724e1={_0x1c004a:0x2b5};function _0x85fafc(_0x1b5167,_0x181f17){return _0x7afdbe(_0x181f17,_0x1b5167- -0x3f5);}function _0x3ad1d1(_0x538a2f,_0x57f6c3){return _0x54a7f1(_0x538a2f- -_0x3724e1._0x1c004a,_0x57f6c3);}if(_0x23c938!==null&&_0x23c938!==void 0x0&&_0x23c938['label']){Cesium__namespace['defined'](_0x52f111['clampToGround'])&&!Cesium__namespace[_0x3ad1d1(_0xa2e9f1._0x59b0aa,0x1132)](_0x52f111[_0x85fafc(0xef3,_0xa2e9f1._0x2b13c8)]['clampToGround'])&&(_0x23c938['label']['clampToGround']=_0x52f111['clampToGround']);if(this['_primitive_label']){var _0x173bfd,_0x1e17b0,_0x90b888,_0x1b4c8d;LabelStyleConver['toCesiumVal'](_0x52f111[_0x85fafc(0xef3,0x11fe)],this[_0x3ad1d1(0x4a8,0x481)],this[_0x85fafc(0x14c0,0x18db)]),(Cesium__namespace['defined'](_0x23c938===null||_0x23c938===void 0x0||(_0x173bfd=_0x23c938[_0x3ad1d1(0xe05,_0xa2e9f1._0x3fb9c6)])===null||_0x173bfd===void 0x0?void 0x0:_0x173bfd['position'])||Cesium__namespace[_0x85fafc(0x14ba,0x128e)](_0x23c938===null||_0x23c938===void 0x0||(_0x1e17b0=_0x23c938[_0x85fafc(0xef3,0x116b)])===null||_0x1e17b0===void 0x0?void 0x0:_0x1e17b0['height'])||Cesium__namespace['defined'](_0x23c938===null||_0x23c938===void 0x0||(_0x90b888=_0x23c938['label'])===null||_0x90b888===void 0x0?void 0x0:_0x90b888[_0x85fafc(0x959,0xc5b)])||Cesium__namespace[_0x85fafc(_0xa2e9f1._0x56fbc5,_0xa2e9f1._0x47d76d)](_0x23c938===null||_0x23c938===void 0x0||(_0x1b4c8d=_0x23c938[_0x85fafc(0xef3,_0xa2e9f1._0x21f53b)])===null||_0x1b4c8d===void 0x0?void 0x0:_0x1b4c8d[_0x3ad1d1(0x1132,0x10ce)]))&&this['_updateLabelPosition']();}else{if(this['_entity'][_0x85fafc(0xef3,0x12a5)]){var _0xea6c9d,_0x1ffa33,_0x5a97d5;LabelStyleConver['toCesiumVal'](_0x52f111['label'],this['_entity']['label'],this['attr']),(Cesium__namespace[_0x3ad1d1(_0xa2e9f1._0x31768d,0x167f)](_0x23c938===null||_0x23c938===void 0x0||(_0xea6c9d=_0x23c938['label'])===null||_0xea6c9d===void 0x0?void 0x0:_0xea6c9d['height'])||Cesium__namespace['defined'](_0x23c938===null||_0x23c938===void 0x0||(_0x1ffa33=_0x23c938[_0x85fafc(_0xa2e9f1._0x2be80f,0xe12)])===null||_0x1ffa33===void 0x0?void 0x0:_0x1ffa33['addHeight'])||Cesium__namespace['defined'](_0x23c938===null||_0x23c938===void 0x0||(_0x5a97d5=_0x23c938[_0x3ad1d1(_0xa2e9f1._0x2edb51,0x7bf)])===null||_0x5a97d5===void 0x0?void 0x0:_0x5a97d5['setHeight']))&&this['_updateLabelPosition']();}else this['_addLabel'](_0x52f111['label']);}}else Cesium__namespace['defined'](_0x23c938===null||_0x23c938===void 0x0?void 0x0:_0x23c938['globalAlpha'])&&this[_0x85fafc(_0xa2e9f1._0x10a7dd,0x1255)](_0x23c938[_0x3ad1d1(0x5b0,0xacb)]);}['_addLabel'](_0x560523){const _0x5d001f={_0x299221:0x168b,_0xbaf4ce:0x21e,_0x3f2c59:0xa6a,_0x5e3292:0xb5b,_0x52011e:0x14a9,_0x366bf8:0xfe,_0x315a66:0xcab,_0x4241bc:0x503,_0x22e525:0x548,_0x2f1175:0x78b,_0x34e7a4:0x12fd,_0x2c4468:0x261},_0x4d263a={_0x263460:0x246};if(!_0x560523||!_0x560523['text']||_0x560523['show']===![])return;Cesium__namespace[_0x2c9943(0x143b,_0x5d001f._0x299221)](this[_0x5b3b2f(_0x5d001f._0xbaf4ce,0xbc7)]['clampToGround'])&&!Cesium__namespace['defined'](_0x560523['clampToGround'])&&!Cesium__namespace[_0x5b3b2f(0x1403,0x13a9)](_0x560523['height'])&&(_0x560523['clampToGround']=this['style'][_0x5b3b2f(0x12eb,_0x5d001f._0x3f2c59)]);const _0x16a82f=LabelStyleConver[_0x5b3b2f(_0x5d001f._0x5e3292,_0x5d001f._0x52011e)](_0x560523,{},this['attr']);_0x16a82f['position']=this['_getLablePosition']();function _0x5b3b2f(_0x281bb7,_0x2624af){return _0x7afdbe(_0x2624af,_0x281bb7- -0x4ac);}_0x16a82f['show']=(this[_0x2c9943(0x13ad,0x152e)]&&_0x560523['show'])??!![];!_0x16a82f['position']&&_0x16a82f['show']&&(_0x16a82f['show']=![],_0x16a82f[_0x2c9943(_0x5d001f._0x366bf8,0x79c)]=!![]);this['_primitive_label']&&this['_layer'][_0x2c9943(_0x5d001f._0x315a66,_0x5d001f._0x4241bc)][_0x2c9943(_0x5d001f._0x22e525,_0x5d001f._0x2f1175)](this['_primitive_label']);this['_primitive_label']=this[_0x5b3b2f(0x13af,0x1410)][_0x2c9943(_0x5d001f._0x315a66,0x1349)]['add'](_0x16a82f),this[_0x2c9943(0x1107,0x672)](this['_primitive_label']),this[_0x5b3b2f(_0x5d001f._0x34e7a4,0x138a)](this['_primitive_label']);function _0x2c9943(_0x5619da,_0xe50c13){return _0x54a7f1(_0x5619da- -_0x4d263a._0x263460,_0xe50c13);}return this['_primitive_label'][_0x2c9943(_0x5d001f._0x366bf8,-_0x5d001f._0x2c4468)]=_0x16a82f['_showforposition'],this['_primitive_label'];}['_updateLabelPosition'](_0x1adfb5){const _0x59db64={_0x5d9e1e:0x13d7,_0x3af9bc:0xe2e,_0x47ed5c:0x43a},_0x5955bc={_0x155085:0x3b8};function _0x4c7e2a(_0x125c5d,_0x391ae5){return _0x7afdbe(_0x391ae5,_0x125c5d- -0x6bd);}function _0x55998f(_0x4ab9ca,_0x48b65f){return _0x54a7f1(_0x48b65f- -_0x5955bc._0x155085,_0x4ab9ca);}this['_primitive_label']&&(_0x1adfb5=this[_0x55998f(0xb9a,_0x59db64._0x5d9e1e)](_0x1adfb5),this['_primitive_label'][_0x55998f(0x1893,0x1329)]=_0x1adfb5,this[_0x55998f(_0x59db64._0x3af9bc,0x3a5)]['_showforposition']&&_0x1adfb5&&(this['_primitive_label']['show']=!![],delete this[_0x55998f(-0x328,0x3a5)][_0x4c7e2a(-0x14b,_0x59db64._0x47ed5c)]));}[_0x7afdbe(0xdb5,0x1510)](_0x1e3e8f){const _0x51cb01={_0xaf272a:0x1699,_0x1a97ac:0x12d1,_0x5a9f30:0x26d};var _0x3aea25;function _0x56bfab(_0x118574,_0x224790){return _0x54a7f1(_0x118574-0x26c,_0x224790);}function _0x3dad87(_0x418cc8,_0x361891){return _0x54a7f1(_0x361891- -0x322,_0x418cc8);}(_0x3aea25=this['_entity'])!==null&&_0x3aea25!==void 0x0&&_0x3aea25[_0x56bfab(0x1326,_0x51cb01._0xaf272a)]&&LabelStyleConver['setOpacity'](this['_entity']['label'],_0x1e3e8f),this['_primitive_label']&&this['_primitive_label'][_0x3dad87(0x1ced,_0x51cb01._0x1a97ac)]&&LabelStyleConver['setOpacity'](this[_0x3dad87(_0x51cb01._0x5a9f30,0x43b)],_0x1e3e8f);}[_0x54a7f1(0x178f,0x179c)](_0x3eb420){const _0x20743e={_0x300c21:0x103b,_0x2e7d78:0x10d4,_0x2d1711:0x1662,_0x66947b:0x33c,_0x320ca0:0xed4,_0x3bb5c1:0x370,_0x1e810a:0xdd1,_0x17285c:0x41d,_0x4bcb41:0x20a9,_0x47866b:0x1602,_0x1deb6b:0x176};var _0x112d51;function _0x5d4f34(_0x1dbc6c,_0x183279){return _0x54a7f1(_0x1dbc6c- -0x3ef,_0x183279);}const _0x213376=this[_0x4197c9(-0x301,0x41d)][_0x4197c9(0x1789,_0x20743e._0x300c21)];if(_0x213376['position']&&!_0x3eb420){if(_0x213376[_0x4197c9(_0x20743e._0x2e7d78,_0x20743e._0x2d1711)]==='center')_0x3eb420=this['centerOfMass'];else{if(isString(_0x213376[_0x5d4f34(0x12f2,0x17ca)])){const _0x4abb2f=template(_0x213376['position'],this[_0x4197c9(0x12b4,0x1608)],!![]);_0x4abb2f&&(_0x3eb420=LngLatPoint['parse'](_0x4abb2f)['toCartesian']());}else isFunction(_0x213376['position'])?_0x3eb420=_0x213376[_0x4197c9(0xd12,0x1662)](_0x3eb420):_0x3eb420=LngLatPoint[_0x4197c9(-0xf8,_0x20743e._0x66947b)](_0x213376[_0x5d4f34(0x12f2,0x13ad)])['toCartesian']();}}!_0x3eb420&&(_0x3eb420=this[_0x4197c9(_0x20743e._0x320ca0,0x4fe)]);function _0x4197c9(_0x5569d4,_0x2534f9){return _0x54a7f1(_0x2534f9- -0x7f,_0x5569d4);}if(!_0x3eb420)return;let _0x11afb4=getCesiumValue((_0x112d51=this[_0x5d4f34(0x13f,-_0x20743e._0x3bb5c1)])===null||_0x112d51===void 0x0?void 0x0:_0x112d51['height'],Number)??_0x213376[_0x4197c9(-0x38b,0x5e8)];return!Cesium__namespace['defined'](_0x11afb4)&&Cesium__namespace['defined'](this[_0x4197c9(_0x20743e._0x1e810a,_0x20743e._0x17285c)]['height'])&&this['type']!=='billboard'&&(_0x11afb4=this['style']['height']),Cesium__namespace[_0x4197c9(_0x20743e._0x4bcb41,_0x20743e._0x47866b)](_0x11afb4)&&(_0x3eb420=setPositionsHeight(_0x3eb420,_0x11afb4)),Cesium__namespace[_0x5d4f34(0x1292,0x9e8)](this[_0x5d4f34(0xad,-_0x20743e._0x1deb6b)][_0x4197c9(0x565,0xfcd)])&&(_0x3eb420=addPositionsHeight(_0x3eb420,this['style']['diffHeight'])),_0x3eb420=this['_updatePositionsForHeight'](_0x3eb420,_0x213376),_0x3eb420;}['_createLabel'](_0x15abe6={},_0x391918){const _0x48b2c5={_0x26adc1:0x383,_0x327511:0x126,_0x591ef4:0xa0c,_0x3b01ba:0x726,_0x3a3ce2:0x224,_0x4031bf:0x4d8,_0x75a4f5:0x1d7,_0x101a53:0x10ef,_0x4716e4:0x721},_0x4bc25e={_0x4f9a0c:0x2e},_0x3a3836={_0x383a16:0x12ba,_0x4b70ce:0x132a,_0x49a6f3:0x5b8};function _0x1eada7(_0x528470,_0x1d821d){return _0x7afdbe(_0x1d821d,_0x528470- -0x441);}function _0x4ee881(_0x5d0af4,_0x1ff089){return _0x7afdbe(_0x1ff089,_0x5d0af4- -0x6e1);}if(_0x15abe6['type']&&_0x15abe6['type']!==_0x1eada7(0xea7,0x15ae)){const _0x27cb23=create$5(_0x15abe6[_0x4ee881(_0x48b2c5._0x26adc1,_0x48b2c5._0x327511)],{'position':_0x391918,'style':_0x15abe6,'hasEdit':![],'private':!![],'show':this['show']});return Object[_0x1eada7(_0x48b2c5._0x591ef4,_0x48b2c5._0x3b01ba)](_0x27cb23,{'text':{'set':function(_0x333458){const _0x4a56b7={_0xe0187e:0x1ba},_0x5c17e9={_0x4291ee:0x6e2};function _0x1cf768(_0x4d8e00,_0x4102f4){return _0x4ee881(_0x4102f4-_0x5c17e9._0x4291ee,_0x4d8e00);}var _0x3f2cc3;this[_0x325e38(_0x3a3836._0x383a16,0x163d)][_0x1cf768(0x1369,_0x3a3836._0x4b70ce)]=_0x333458;function _0x325e38(_0x31be37,_0x238f8b){return _0x1eada7(_0x31be37- -_0x4a56b7._0xe0187e,_0x238f8b);}(_0x3f2cc3=this[_0x325e38(0xcf,0xb06)])!==null&&_0x3f2cc3!==void 0x0&&_0x3f2cc3[_0x325e38(0x807,0x9c8)]&&this[_0x325e38(0xcf,-0x688)][_0x325e38(0x807,_0x3a3836._0x49a6f3)](_0x333458,this);},'get':function(){function _0x389e69(_0x5416fb,_0x38d248){return _0x4ee881(_0x38d248-_0x4bc25e._0x4f9a0c,_0x5416fb);}var _0x44ec38;return(_0x44ec38=this['attr'])===null||_0x44ec38===void 0x0?void 0x0:_0x44ec38[_0x389e69(0x13d6,0xc76)];}}}),this['_layer']['addGraphic'](_0x27cb23),_0x27cb23;}else{const _0x38ba17={'color':_0x1eada7(0x5c9,-0x4bc),'font_size':0x14,'outline':!![],'outlineColor':'#000000','outlineWidth':0x3,'background':!![],'backgroundColor':'#000000','backgroundOpacity':0.5,'scaleByDistance':!![],'scaleByDistance_far':0xc3500,'scaleByDistance_farValue':0.5,'scaleByDistance_near':0x3e8,'scaleByDistance_nearValue':0x1,'pixelOffsetY':-0xf,'horizontalOrigin':Cesium__namespace[_0x4ee881(0x41a,_0x48b2c5._0x3a3ce2)][_0x1eada7(_0x48b2c5._0x4031bf,-0x33b)],'verticalOrigin':Cesium__namespace[_0x1eada7(0x7a4,0x7af)][_0x4ee881(-_0x48b2c5._0x75a4f5,-0xb94)],'visibleDepth':![],..._0x15abe6},_0x326a61=LabelStyleConver['toCesiumVal'](_0x38ba17);_0x326a61['show']=this[_0x4ee881(0x1140,_0x48b2c5._0x101a53)];_0x391918&&(_0x326a61[_0x4ee881(0x122e,0x1203)]=_0x391918);const _0x3ab8c3=this['_layer']['labelCollection']['add'](_0x326a61);return this['bindPickId'](_0x3ab8c3),_0x3ab8c3[_0x1eada7(0x5a2,-0x75)]=!![],_0x3ab8c3['hasEdit']=![],_0x3ab8c3['updateText']=_0x15abe6[_0x4ee881(_0x48b2c5._0x4716e4,0xa85)],_0x3ab8c3;}}[_0x7afdbe(0x971,0xec0)](_0x550805){const _0xea9472={_0x2b72c4:0xeac},_0x2a7a85={_0x28e64c:0x291};function _0xe5d3b5(_0x47cd9d,_0x55cc91){return _0x54a7f1(_0x55cc91-_0x2a7a85._0x28e64c,_0x47cd9d);}function _0xdf3dbb(_0x15cf30,_0x1cb377){return _0x54a7f1(_0x1cb377- -0x3a4,_0x15cf30);}_0x550805[_0xe5d3b5(_0xea9472._0x2b72c4,0xab4)]?this['_layer']['removeGraphic'](_0x550805,!![]):this['_layer'][_0xdf3dbb(0x71a,0xb4d)]['remove'](_0x550805);}['_getOutlineStyle'](_0x548dca,_0x33d92a){const _0x1671a9={_0x274c44:0x23e,_0x1e2ebe:0x1201,_0x73700:0xa7b,_0x27b428:0x982,_0x25ad05:0x78c,_0x3eba0b:0x106e,_0x449702:0x474,_0x4395e6:0x72},_0x451a4c={_0x80b128:0x733},_0x3421dd={..._0x548dca},_0x20bd57=_0x3421dd;delete _0x20bd57['material'],delete _0x20bd57[_0x453d43(-0x381,_0x1671a9._0x274c44)],delete _0x20bd57['materialOptions'];function _0x5348f6(_0x366f3b,_0x9a2a6c){return _0x7afdbe(_0x366f3b,_0x9a2a6c- -_0x451a4c._0x80b128);}delete _0x20bd57[_0x453d43(_0x1671a9._0x1e2ebe,0x13ce)],delete _0x20bd57['outlineColor'],delete _0x20bd57['outlineOpacity'],delete _0x20bd57['outlineWidth'];function _0x453d43(_0x5a8fd9,_0x981be1){return _0x54a7f1(_0x981be1- -0x6a,_0x5a8fd9);}delete _0x20bd57[_0x453d43(_0x1671a9._0x73700,_0x1671a9._0x27b428)];const _0x806511={..._0x20bd57,'show':_0x548dca[_0x453d43(0x1e73,0x13ce)]??![],'color':_0x548dca['outlineColor']??Cesium__namespace['Color']['WHITE'],'opacity':_0x548dca['outlineOpacity'],'width':_0x548dca['outlineWidth']??0x1,..._0x548dca['outlineStyle']};let _0x5c1731=_0x806511;return!_0x5c1731['show']&&_0x33d92a&&(_0x5c1731={..._0x5c1731,..._0x33d92a}),!Cesium__namespace['defined'](_0x5c1731[_0x453d43(_0x1671a9._0x25ad05,0x50d)])&&_0x5c1731[_0x5348f6(_0x1671a9._0x3eba0b,0x1064)]&&(_0x5c1731[_0x5348f6(_0x1671a9._0x449702,_0x1671a9._0x4395e6)]=Cesium__namespace['ArcType']['GEODESIC']),_0x5c1731;}['_updateOutlineStyle'](_0xe25a64,_0x4f8036,_0x125243){const _0x2c0717={_0x44294f:0x1394,_0x40200e:0xefe,_0x22b2c9:0xe1a,_0x36e070:0xbad,_0x3c62ce:0x1463,_0x19d7b8:0xee3,_0x10ac8f:0x1463,_0x34d9d3:0x1ad8,_0x58d69e:0x902,_0x40861a:0xf35,_0x1e0e7f:0x1428,_0x5f2124:0xe0f,_0x2f99bc:0x737,_0x5cded6:0xf16,_0x3d5778:0x14b7,_0x55c4e8:0x7a7,_0x2758a4:0x1526,_0x1b0743:0x817,_0xb2e8db:0x5fe,_0x4608c3:0xeab,_0x55349d:0x15df,_0x5b643a:0x1912,_0x455e2d:0x909},_0x22a679={_0x25a80e:0x44c},_0x387ced={_0x513387:0xd0};var _0x5bbd84;if(!this['entityGraphic'])return;function _0x5e71ef(_0x14f68f,_0x15887d){return _0x54a7f1(_0x14f68f-_0x387ced._0x513387,_0x15887d);}function _0x1adb9c(_0x216fcb,_0x2a771e){return _0x7afdbe(_0x2a771e,_0x216fcb- -_0x22a679._0x25a80e);}const _0x1b8a73=this['_getOutlineStyle'](_0x4f8036,_0x125243);if(_0x1b8a73['show']&&(_0x1b8a73['width']>0x1||_0x4f8036[_0x1adb9c(0x134b,0x192d)]||((_0x5bbd84=this[_0x1adb9c(_0x2c0717._0x44294f,0x1b9a)])===null||_0x5bbd84===void 0x0?void 0x0:_0x5bbd84['length'])>0x0)){this['entityGraphic']['outline']=![];if(this['_entity_outlines'])for(let _0x400d8d=0x0,_0x1a2d31=this[_0x1adb9c(0x1394,0x1de4)]['length'];_0x400d8d<_0x1a2d31;_0x400d8d++){const _0x34921e=this['_entity_outlines'][_0x400d8d][_0x5e71ef(_0x2c0717._0x40200e,0x580)];if(_0xe25a64&&_0xe25a64[_0x400d8d]){let _0x53e88c=_0xe25a64[_0x400d8d];if(_0x53e88c instanceof Cesium__namespace[_0x5e71ef(_0x2c0717._0x22b2c9,_0x2c0717._0x36e070)])_0x34921e['positions']=_0x53e88c;else Array['isArray'](_0x53e88c)&&_0x53e88c['length']>0x0&&(Cesium__namespace['defined'](_0x1b8a73['height'])&&(_0x53e88c=setPositionsHeight(_0x53e88c,_0x1b8a73['height'])),Cesium__namespace[_0x1adb9c(_0x2c0717._0x3c62ce,_0x2c0717._0x19d7b8)](_0x1b8a73['setHeight'])&&(_0x53e88c=setPositionsHeight(_0x53e88c,_0x1b8a73[_0x5e71ef(0x14b7,0xcc8)])),Cesium__namespace[_0x1adb9c(_0x2c0717._0x10ac8f,_0x2c0717._0x34d9d3)](_0x1b8a73[_0x1adb9c(_0x2c0717._0x58d69e,_0x2c0717._0x40861a)])&&(_0x53e88c=addPositionsHeight(_0x53e88c,_0x1b8a73['addHeight'])),_0x1b8a73[_0x1adb9c(0x147f,_0x2c0717._0x1e0e7f)]??!![]?_0x34921e['positions']=_0x53e88c['concat'](_0x53e88c[0x0]):_0x34921e['positions']=_0x53e88c);}PolylineStyleConver['toCesiumVal'](_0x1b8a73,_0x34921e,!![]);}else{if(_0xe25a64){this[_0x5e71ef(0x1682,_0x2c0717._0x5f2124)]=[];for(let _0x107724=0x0,_0x2c850a=_0xe25a64['length'];_0x107724<_0x2c850a;_0x107724++){let _0x5ae8eb=_0xe25a64[_0x107724];const _0x4f427e=PolylineStyleConver['toCesiumVal'](_0x1b8a73,{},!![]);if(_0x5ae8eb instanceof Cesium__namespace['CallbackProperty'])_0x4f427e['positions']=_0x5ae8eb;else Array[_0x1adb9c(0x1250,0xee1)](_0x5ae8eb)&&_0x5ae8eb['length']>0x0&&(Cesium__namespace['defined'](_0x1b8a73[_0x5e71ef(_0x2c0717._0x2f99bc,_0x2c0717._0x5cded6)])&&(_0x5ae8eb=setPositionsHeight(_0x5ae8eb,_0x1b8a73[_0x5e71ef(_0x2c0717._0x2f99bc,0x807)])),Cesium__namespace['defined'](_0x1b8a73['setHeight'])&&(_0x5ae8eb=setPositionsHeight(_0x5ae8eb,_0x1b8a73[_0x5e71ef(_0x2c0717._0x3d5778,0x1b6d)])),Cesium__namespace['defined'](_0x1b8a73['addHeight'])&&(_0x5ae8eb=addPositionsHeight(_0x5ae8eb,_0x1b8a73['addHeight'])),_0x1b8a73['closure']??!![]?_0x4f427e['positions']=_0x5ae8eb[_0x1adb9c(_0x2c0717._0x55c4e8,0xa06)](_0x5ae8eb[0x0]):_0x4f427e['positions']=_0x5ae8eb);const _0x379b2e=this[_0x1adb9c(_0x2c0717._0x2758a4,0x1bb5)]({'id':this['id']+'-outline'+_0x107724,'polyline':_0x4f427e,'show':this['show']});this['bindPickId'](_0x379b2e),this['_entity_outlines']['push'](_0x379b2e),this['isAdded']&&this[_0x1adb9c(_0x2c0717._0x1b0743,0x3f2)]['entities']['add'](_0x379b2e);}}}return!![];}else{if(this['_entity_outlines'])for(let _0x3535c6=0x0,_0x7928aa=this['_entity_outlines']['length'];_0x3535c6<_0x7928aa;_0x3535c6++){const _0x32f656=this['_entity_outlines'][_0x3535c6]['polyline'];_0x32f656['show']=![];}return this['entityGraphic']['outline']=_0x1b8a73['show'],this[_0x5e71ef(_0x2c0717._0xb2e8db,_0x2c0717._0x4608c3)][_0x5e71ef(_0x2c0717._0x55349d,_0x2c0717._0x5b643a)]=_0x1b8a73['width'],_0x1b8a73['show']&&(this[_0x1adb9c(0x310,0x285)][_0x5e71ef(_0x2c0717._0x455e2d,0xdff)]=getCesiumColor(_0x1b8a73['color'],Cesium__namespace['Color']['WHITE'])),![];}}[_0x54a7f1(0x239,-0x38)](_0x39a578){const _0x4a6cef={_0x54234d:0xc20,_0x3f17d3:0x175a,_0x4467f7:0x40e,_0x2c06bd:0x674,_0xa7970d:0x1c9,_0x1eaaab:0x73d,_0x5610f2:0x759,_0x288480:0x566,_0x4bef8b:0xb8},_0x19bdcb={_0x5e408c:0x501};function _0x139735(_0x4544ec,_0x3b62e3){return _0x7afdbe(_0x3b62e3,_0x4544ec- -_0x19bdcb._0x5e408c);}var _0x11b8fa;if(this[_0x139735(0x12df,0x115c)]&&this[_0x139735(0x12df,_0x4a6cef._0x54234d)][_0x139735(0xcb2,0xa21)]>0x0)for(let _0x1f8198=0x0,_0x2b300a=this[_0x139735(0x12df,_0x4a6cef._0x3f17d3)]['length'];_0x1f8198<_0x2b300a;_0x1f8198++){var _0x34fa85;const _0x10ed8f=this['_entity_outlines'][_0x1f8198][_0x139735(0xb5b,0x743)];Cesium__namespace['defined'](_0x10ed8f===null||_0x10ed8f===void 0x0||(_0x34fa85=_0x10ed8f['material'])===null||_0x34fa85===void 0x0?void 0x0:_0x34fa85[_0x3ce2cb(_0x4a6cef._0x4467f7,_0x4a6cef._0x2c06bd)])?_0x10ed8f['material']['globalAlpha']=_0x39a578:this['_updateOutlineStyle'](null,this[_0x139735(_0x4a6cef._0xa7970d,-_0x4a6cef._0x1eaaab)]);}function _0x3ce2cb(_0x1dddae,_0x2d47f2){return _0x7afdbe(_0x1dddae,_0x2d47f2- -0x41f);}if((_0x11b8fa=this['entityGraphic'])!==null&&_0x11b8fa!==void 0x0&&_0x11b8fa[_0x139735(0x1165,0x10a7)]&&this['entityGraphic']['outline']['getValue']()){const _0x2865bd=getCesiumColor(this['entityGraphic']['outlineColor'],Cesium__namespace['Color']['WHITE']);!Cesium__namespace['defined'](this[_0x139735(0x25b,-0x38f)]['_outlineColor_alpha'])&&(this[_0x139735(0x25b,_0x4a6cef._0x5610f2)]['_outlineColor_alpha']=_0x2865bd['alpha']),this['entityGraphic'][_0x139735(_0x4a6cef._0x288480,0x2e8)]=_0x2865bd[_0x139735(_0x4a6cef._0x4bef8b,-0x111)](this['entityGraphic']['_outlineColor_alpha']*_0x39a578);}}[_0x54a7f1(0x1556,0x14d0)](){const _0x3ea2fa={_0x19a000:0x1c55,_0x2b3b71:0x1034,_0x3e273d:0xaf8,_0x51c788:0xdda,_0x5d95f9:0xab2,_0x1d007a:0xe9d};function _0x595062(_0x567439,_0x126ba2){return _0x54a7f1(_0x567439- -0x252,_0x126ba2);}function _0x436e41(_0x445459,_0xf96ef3){return _0x7afdbe(_0xf96ef3,_0x445459- -0x28);}if(this['_entity_outlines'])for(let _0x197e99=0x0,_0x2afd03=this[_0x436e41(0x17b8,0xf71)]['length'];_0x197e99<_0x2afd03;_0x197e99++){const _0x2d2d69=this[_0x436e41(0x17b8,_0x3ea2fa._0x19a000)][_0x197e99];if(_0x2d2d69[_0x436e41(_0x3ea2fa._0x2b3b71,0x7a5)]['positions']instanceof Cesium__namespace[_0x595062(_0x3ea2fa._0x3e273d,_0x3ea2fa._0x51c788)])continue;_0x2d2d69[_0x595062(0xbdc,_0x3ea2fa._0x5d95f9)][_0x595062(_0x3ea2fa._0x1d007a,0x1030)]=new Cesium__namespace['CallbackProperty'](_0x9b780b=>{function _0x1c3b53(_0x42db70,_0x57417c){return _0x595062(_0x57417c-0x1e0,_0x42db70);}return this[_0x1c3b53(0xca2,0x7d4)];},![]);}}['_cancelOutlinePositionsCallback'](){const _0x926578={_0x281a08:0x138b,_0x1a2115:0xd74,_0x57006d:0x105f};function _0x44786c(_0x462713,_0x34862f){return _0x54a7f1(_0x34862f- -0x90,_0x462713);}function _0xcc1909(_0x3ae8af,_0x5d5168){return _0x54a7f1(_0x3ae8af-0x72,_0x5d5168);}if(this[_0x44786c(_0x926578._0x281a08,0x1522)])for(let _0x4146de=0x0,_0x2e4295=this[_0xcc1909(0x1624,0x185b)]['length'];_0x4146de<_0x2e4295;_0x4146de++){const _0x579c25=this[_0x44786c(0x18ed,0x1522)][_0x4146de];if(!(_0x579c25['polyline'][_0x44786c(_0x926578._0x1a2115,_0x926578._0x57006d)]instanceof Cesium__namespace['CallbackProperty']))continue;_0x579c25['polyline']['positions']=this['outlinePositions'];}}[_0x54a7f1(0x508,0x435)](_0x3984d5){const _0x42e2de={_0x3833ca:0x76,_0x32aa0e:0x104,_0x57ef62:0x26e,_0x45e394:0x6e6},_0x5d1d8d={_0x3b8679:0x426};this[_0x4ab641(0xa38,_0x42e2de._0x3833ca)][_0x27f2f5(-_0x42e2de._0x32aa0e,0x3be)]=_0x3984d5;function _0x27f2f5(_0x6d4a3b,_0x1f074a){return _0x54a7f1(_0x1f074a- -0x4a7,_0x6d4a3b);}const _0x1ee5eb=this['_updateEntityOpacity'](this['entityGraphic'],_0x3984d5);if(_0x1ee5eb){this['_updateLabelOpacity'](_0x3984d5),this[_0x27f2f5(-0x5c,-_0x42e2de._0x57ef62)](_0x3984d5),this['_updateExOpacity']&&this[_0x4ab641(0x1104,_0x42e2de._0x45e394)](_0x3984d5);return;}function _0x4ab641(_0x25b7e3,_0x5e24b5){return _0x54a7f1(_0x5e24b5- -_0x5d1d8d._0x3b8679,_0x25b7e3);}super['setOpacity'](_0x3984d5);}['_updateEntityOpacity'](_0x49f7b8,_0x488cd4){const _0x388758={_0x35fe26:0x10a,_0x4b4c24:0x62f,_0x5e462d:0x785,_0x2b2544:0x15cb,_0x614ca:0x8bc,_0x3247f3:0x7eb,_0x1b5898:0x9bf,_0x50917f:0xde2,_0x1486e6:0x569},_0x7c47ca={_0x146db6:0x660};function _0x5ae84e(_0x180f67,_0x2f5f25){return _0x7afdbe(_0x180f67,_0x2f5f25- -_0x7c47ca._0x146db6);}const _0x48407b=_0x49f7b8===null||_0x49f7b8===void 0x0?void 0x0:_0x49f7b8[_0x5ae84e(-_0x388758._0x35fe26,0x21)];function _0x15d671(_0x41b9e1,_0x354a04){return _0x7afdbe(_0x354a04,_0x41b9e1- -0x9b);}if(!_0x48407b){if(!this[_0x15d671(_0x388758._0x4b4c24,_0x388758._0x5e462d)][_0x5ae84e(0x1860,0x1116)]&&this['style'][_0x15d671(_0x388758._0x2b2544,0x1ba9)])return!![];return![];}if(Cesium__namespace['defined'](_0x48407b===null||_0x48407b===void 0x0?void 0x0:_0x48407b['globalAlpha']))return _0x48407b['globalAlpha']=_0x488cd4,!![];if(_0x48407b['_mars_type']===_0x15d671(0x1417,0x12f3)||_0x48407b[_0x15d671(_0x388758._0x614ca,_0x388758._0x3247f3)]==='Image'){const _0x2e7a08=getCesiumColor(_0x48407b['color'],Cesium__namespace['Color']['WHITE']);return!Cesium__namespace['defined'](_0x48407b[_0x5ae84e(_0x388758._0x1b5898,_0x388758._0x50917f)])&&(_0x48407b['_color_alpha']=_0x2e7a08[_0x15d671(_0x388758._0x1486e6,0x6e2)]),_0x48407b['color']=_0x2e7a08['withAlpha'](_0x48407b['_color_alpha']*_0x488cd4),!![];}return![];}['startFlicker'](_0x4e08d7={}){const _0x17a3dc={_0x4e2845:0x413,_0x514a74:0xf27,_0x47a90f:0x56c,_0x4a081c:0x14c9},_0x76cd94={_0x36b489:0x89};!this[_0xcc284e(-0x107,_0x17a3dc._0x4e2845)]&&(this[_0x16a20b(0x24b,0x5fa)]=new FlickerEntity());!_0x4e08d7['color']&&this[_0xcc284e(_0x17a3dc._0x514a74,_0x17a3dc._0x47a90f)][_0x16a20b(0x142d,0x14c9)]&&(_0x4e08d7[_0x16a20b(0x15d1,_0x17a3dc._0x4a081c)]=this[_0x16a20b(-0x2c2,0x753)]['color']);function _0xcc284e(_0x2065da,_0x582444){return _0x54a7f1(_0x582444-0xd0,_0x2065da);}const _0x3492b7=this['czmObjectEx']['concat'](this['czmObject']);function _0x16a20b(_0x30b073,_0x22a55e){return _0x7afdbe(_0x30b073,_0x22a55e-_0x76cd94._0x36b489);}return this['flickerEntity']['startFlicker'](_0x3492b7,_0x4e08d7),this['flickerEntity'];}[_0x54a7f1(0x26f,0x1d7)](){return this['flickerEntity']?this['flickerEntity']['stopFlicker']():null;}['startDraw'](_0x5f42a9){const _0x1e6ed7={_0x875f1c:0xa7e,_0x59b103:0xa3d,_0xf6e3b:0x1bea,_0x5b1603:0x17cc,_0x4bccb4:0x1b2,_0x2469eb:0x2ac,_0x31c83e:0x137,_0x5c4c14:0xfc,_0x2fde56:0xac0,_0x28631b:0x480,_0x466f86:0x23e},_0x2c892e={_0x207ce7:0x375};if(this['_enabledDraw'])return this;this[_0x463208(0x1008,0xbf3)]=!![];_0x5f42a9&&this['addTo'](_0x5f42a9);if(!this['_map'])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_drawAddEventType']=_0x5f42a9['options'][_0x38f2cb(0x128c,0x1146)]??EventType[_0x38f2cb(0xdc3,0x6b5)],this['_drawEndEventType']=_0x5f42a9['options'][_0x463208(0xd03,_0x1e6ed7._0x875f1c)]??EventType[_0x38f2cb(0xd03,_0x1e6ed7._0x59b103)];function _0x38f2cb(_0x1ddc75,_0x258c07){return _0x7afdbe(_0x258c07,_0x1ddc75- -_0x2c892e._0x207ce7);}function _0x463208(_0x4fdaba,_0x503134){return _0x7afdbe(_0x503134,_0x4fdaba- -0x178);}this['_drawDelEventType']=_0x5f42a9['options']['drawDelEventType']??EventType['rightClick'],this['_map']['mouseEvent'][_0x463208(0x1716,_0x1e6ed7._0xf6e3b)]=this['_entity'],this['_map'][_0x463208(_0x1e6ed7._0x5b1603,0x1678)](!![]),this[_0x38f2cb(_0x1e6ed7._0x4bccb4,_0x1e6ed7._0x2469eb)](![]),this['_setPositionsToCallback'](),this[_0x38f2cb(_0x1e6ed7._0x31c83e,-_0x1e6ed7._0x5c4c14)](),this['_isCallbackPositions']&&this[_0x463208(_0x1e6ed7._0x2fde56,0x117b)](),this['fire'](EventType[_0x38f2cb(0x2c5,-_0x1e6ed7._0x28631b)],{'drawType':this[_0x38f2cb(0x6ef,_0x1e6ed7._0x466f86)]},!![]);}['stopDraw'](){const _0x5f3a1a={_0x1dde65:0x1465,_0x4a619d:0xa3f,_0x4c0dc7:0x1098,_0x8c1cf7:0x1b0e,_0x55fbb5:0xd61,_0x5962ca:0x520,_0x468c24:0x3b1,_0x26515c:0xcd4,_0x79e721:0xf4e,_0x1a91d9:0x4dd,_0x4f4d41:0x7f8,_0x486f82:0x16cf,_0x312b60:0x225,_0x2d6f99:0xb5,_0x2fff25:0xf34,_0x296d32:0x55a,_0x4f5b49:0x2bc,_0x5b271d:0x1415},_0x4b6952={_0x43b601:0x584};var _0x2bd5c7,_0xead2f9,_0x3e1438,_0x5a97b9;if(!this['_enabledDraw'])return this;this['_stopDrawHook'](),this[_0x13090e(0x1a7f,0x1393)](),this['_map'][_0x13090e(0x170c,_0x5f3a1a._0x1dde65)](![]),this['enableControl'](!![]),this['_map'][_0x2a5bfc(_0x5f3a1a._0x4a619d,0x10c5)](),this['_map'][_0x2a5bfc(0x7b3,_0x5f3a1a._0x4c0dc7)][_0x2a5bfc(0x130a,_0x5f3a1a._0x8c1cf7)]=null;function _0x2a5bfc(_0x3b4582,_0x1f4142){return _0x7afdbe(_0x1f4142,_0x3b4582- -_0x4b6952._0x43b601);}this['_enabledDraw']=![];if(this[_0x2a5bfc(_0x5f3a1a._0x55fbb5,0xe89)]){var _0x46ba58;((_0x46ba58=this[_0x13090e(0x347,_0x5f3a1a._0x5962ca)])===null||_0x46ba58===void 0x0?void 0x0:_0x46ba58[_0x13090e(_0x5f3a1a._0x468c24,_0x5f3a1a._0x26515c)])>0x0&&this['removeNearPoint'](),this['_position_draw']&&(this['_position_draw']=undefined),this[_0x13090e(0x4a4,_0x5f3a1a._0x79e721)](![]),this['_hadRemoveLastMovePoint']=![];}if(!this['_position_draw']&&(!this['_positions_draw']||((_0x2bd5c7=this['_positions_draw'])===null||_0x2bd5c7===void 0x0?void 0x0:_0x2bd5c7['length'])===0x0))return this[_0x13090e(0x29f,_0x5f3a1a._0x1a91d9)](!![]),undefined;if(this[_0x2a5bfc(0x47b,-0x83)]&&this[_0x13090e(_0x5f3a1a._0x4f4d41,0x520)][_0x13090e(_0x5f3a1a._0x486f82,0xcd4)]<this[_0x13090e(-0x6e,0x457)])return this[_0x2a5bfc(0x438,0x3ac)](!![]),undefined;(this['_layer'][_0x13090e(-0x69,0x5ff)]['isRestorePositions']||Cesium__namespace['defined']((_0xead2f9=this[_0x2a5bfc(0x1d8,_0x5f3a1a._0x312b60)])===null||_0xead2f9===void 0x0?void 0x0:_0xead2f9[_0x2a5bfc(_0x5f3a1a._0x2d6f99,-0x265)]))&&this['_cancelPositionsCallback']();function _0x13090e(_0x118109,_0x496ece){return _0x7afdbe(_0x118109,_0x496ece- -0x4df);}this['style']['distanceDisplayCondition']&&this['_updateDistanceDisplayConditionByEdit'](),this[_0x13090e(_0x5f3a1a._0x2fff25,0xc07)](EventType[_0x13090e(0x1c4d,0x12ec)],{'drawType':this['type'],'positions':this[_0x2a5bfc(0x47b,0x2d6)]},!![]),(_0x3e1438=this[_0x2a5bfc(_0x5f3a1a._0x296d32,_0x5f3a1a._0x4f5b49)])!==null&&_0x3e1438!==void 0x0&&_0x3e1438['success']&&this[_0x2a5bfc(0x55a,0x3fc)]['success'](this),(_0x5a97b9=this[_0x2a5bfc(0x55a,-0xc0)])!==null&&_0x5a97b9!==void 0x0&&(_0x5a97b9=_0x5a97b9[_0x13090e(0x824,-0x2e)])!==null&&_0x5a97b9!==void 0x0&&_0x5a97b9['resolve']&&this['options'][_0x2a5bfc(-0xd3,-0xb0b)][_0x13090e(_0x5f3a1a._0x5b271d,0xaf1)](this);}[_0x54a7f1(0x50a,-0x49a)](){}['_cancelPositionsCallback'](){}['_startDrawHook'](){}[_0x7afdbe(0x5b1,0xc98)](){}['_showDrawMouseMoveSmallTooltip'](_0xcc7fc3){const _0x1c6c7e={_0x1b8878:0x460,_0x45f20f:0xb6c,_0xed0082:0x141f,_0x7bb366:0x188,_0x44ce54:0x140e,_0x4fc01a:0xb18,_0x2a2b7a:0x11bf,_0x492b21:0x611,_0x160cba:0x190c,_0x5190ab:0xf8,_0x16b1c2:0x8c5,_0x3f8dfa:0x10ed,_0x547eec:0xab};function _0x8d2e48(_0x4d5df2,_0x341a4c){return _0x54a7f1(_0x4d5df2- -0x373,_0x341a4c);}function _0xfbaf0e(_0x45c803,_0xb3c335){return _0x7afdbe(_0xb3c335,_0x45c803- -0xa3);}if(!this['_positions_draw'])return;const _0x556763=_0xcc7fc3['endPosition']??_0xcc7fc3['position'];if(this['_positions_draw']['length']<=0x1&&isPCBroswer())this['_map'][_0x8d2e48(0x140e,0x133f)](_0x556763,this[_0x8d2e48(_0x1c6c7e._0x1b8878,_0x1c6c7e._0x45f20f)]['getLangText'](_0xfbaf0e(_0x1c6c7e._0xed0082,0x16f9)));else{if(this['_positions_draw']['length']<this[_0x8d2e48(0x395,-_0x1c6c7e._0x7bb366)])this['_map'][_0x8d2e48(_0x1c6c7e._0x44ce54,_0x1c6c7e._0x4fc01a)](_0x556763,this['_map']['getLangText']('_单击增加点'));else{if(this['_positions_draw']['length']>=this['_maxPointNum']){let _0x1756a5=this['_map']['getLangText']('_单击完成绘制');this[_0xfbaf0e(0xd44,_0x1c6c7e._0x2a2b7a)]&&(_0x1756a5+=this[_0xfbaf0e(0xd44,_0x1c6c7e._0x492b21)](_0xcc7fc3)),this['_map'][_0xfbaf0e(_0x1c6c7e._0x160cba,0x1782)](_0x556763,_0x1756a5);}else{let _0x39fbfc;if(isPCBroswer()){let _0x4cdd9b='';(this['options'][_0x8d2e48(0x2c3,-_0x1c6c7e._0x5190ab)]??!![])&&(_0x4cdd9b=',\x20'+this['_map'][_0xfbaf0e(0x11ad,0xb89)]('_右击删除点')),_0x39fbfc=this['_map'][_0x8d2e48(0xcaf,0x1529)]('_单击增加点')+_0x4cdd9b+'<br/>'+this['_map']['getLangText'](_0x8d2e48(_0x1c6c7e._0x16b1c2,-0xf2));}else _0x39fbfc=this['_map']['getLangText'](_0x8d2e48(_0x1c6c7e._0x3f8dfa,0xb4a));this['_getExSmallTooltip']&&(_0x39fbfc+=this['_getExSmallTooltip'](_0xcc7fc3)),this[_0x8d2e48(0x460,_0x1c6c7e._0x547eec)]['openSmallTooltip'](_0x556763,_0x39fbfc);}}}}[_0x54a7f1(0x13b2,0x1d80)](){const _0x523bfe={_0x19a65e:0xb15};function _0x53d3e8(_0x49e8f2,_0x484660){return _0x54a7f1(_0x484660- -0x25c,_0x49e8f2);}this['_hadRemoveLastMovePoint']&&(this['_positions_draw'][_0x53d3e8(_0x523bfe._0x19a65e,0x1366)](),this['_hadRemoveLastMovePoint']=![]);}[_0x54a7f1(0x9f9,0xb13)](_0x18fdaf){const _0x319be2={_0x30357f:0x138d,_0x2e8386:0x5e,_0x474726:0xcbe,_0x5c2100:0x74d,_0x27ef4f:0x71d,_0x371a8a:0xa61,_0x3e9e14:0x1177,_0x148083:0x1772,_0x5a87be:0x1494,_0x3e2b72:0x9fe,_0x1f54ed:0xf4c};function _0x12eb35(_0x3b14a5,_0x3198fe){return _0x54a7f1(_0x3b14a5-0x1c8,_0x3198fe);}this['_showDrawMouseMoveSmallTooltip'](_0x18fdaf);function _0x181a1c(_0x238762,_0x12dd24){return _0x7afdbe(_0x12dd24,_0x238762- -0x16e);}let _0x4f84d4=_0x18fdaf[_0x12eb35(0x6a0,0x1c7)];if(_0x4f84d4){var _0x486bbc,_0x3c82df;if((_0x486bbc=this['options'])!==null&&_0x486bbc!==void 0x0&&_0x486bbc[_0x12eb35(0xcbe,_0x319be2._0x30357f)]){_0x4f84d4=this[_0x12eb35(0xa78,_0x319be2._0x2e8386)][_0x12eb35(_0x319be2._0x474726,_0x319be2._0x5c2100)](_0x4f84d4,this);if(!_0x4f84d4)return;_0x18fdaf['cartesian']=_0x4f84d4;}if((_0x3c82df=this['options'])!==null&&_0x3c82df!==void 0x0&&_0x3c82df[_0x12eb35(_0x319be2._0x27ef4f,0x9bf)]){const _0x5c55ae=this[_0x12eb35(0xa78,_0x319be2._0x371a8a)]['validDrawPosition'](_0x4f84d4,this);if(!_0x5c55ae)return;}this['_removeLastMovePoint'](),this['_positions_draw']['push'](_0x4f84d4),this[_0x181a1c(_0x319be2._0x3e9e14,_0x319be2._0x148083)]=!![],this[_0x12eb35(0x13c7,_0x319be2._0x5a87be)](![]),this[_0x181a1c(0x1704,0x1393)](),this[_0x181a1c(0xf78,0x98c)](EventType['drawMouseMove'],{..._0x18fdaf,'drawType':this[_0x12eb35(_0x319be2._0x3e2b72,_0x319be2._0x1f54ed)],'positions':this['_positions_draw']},!![]);}}[_0x7afdbe(0xb88,0x1049)](_0xc073d0){const _0x54f921={_0x36ba2e:0x12f9,_0x2f6643:0x15c3,_0x5b5811:0xfa7,_0x3a8270:0x6cf};function _0x14b0f1(_0x2fbd78,_0x232812){return _0x54a7f1(_0x232812- -0x102,_0x2fbd78);}const _0x520f80=new Date()['getTime']()-(this['_last_clickTime']||0x0);if(this['_last_clickTime']&&_0x520f80<0xc8)return;this[_0x14b0f1(_0x54f921._0x36ba2e,0xc60)]=new Date()['getTime']();if(this['_last_clickPositionX']&&Math[_0x2d87ce(_0x54f921._0x2f6643,_0x54f921._0x5b5811)](this['_last_clickPositionX']-_0xc073d0['windowPosition']['x'])<0xa&&Math[_0x14b0f1(0x59b,0xfd0)](this['_last_clickPositionY']-_0xc073d0['windowPosition']['y'])<0xa)return;this['_last_clickPositionX']=_0xc073d0[_0x14b0f1(0x159d,0x10df)]['x'];function _0x2d87ce(_0xe807fa,_0x5a0042){return _0x7afdbe(_0xe807fa,_0x5a0042- -0x359);}this['_last_clickPositionY']=_0xc073d0['windowPosition']['y'];let _0x5b1c42=_0xc073d0['cartesian'];!_0x5b1c42&&this['_hadRemoveLastMovePoint']&&(_0x5b1c42=this['_positions_draw'][this[_0x14b0f1(0xeb0,_0x54f921._0x3a8270)]['length']-0x1]),_0x5b1c42&&this['_drawAddPoint'](_0xc073d0,_0x5b1c42);}[_0x54a7f1(0x579,0x69)](_0x19e3c1,_0x2e723c){const _0x7d57e2={_0x53a368:0xb27,_0x2529bc:0x86a,_0x342efd:0x44f,_0x3a99bf:0x164,_0x4225fa:0x1e1,_0x4cdd66:0x112,_0x43838f:0xd97,_0x9d2d27:0xa48,_0x1bbb61:0xb34,_0x398261:0x4c2},_0x45def2={_0x38ab7e:0x277},_0x1db99c={_0x2bc8b6:0x374};var _0x8872ba;function _0x24c00f(_0x1f162c,_0x19b92f){return _0x54a7f1(_0x19b92f- -_0x1db99c._0x2bc8b6,_0x1f162c);}if(this['options']['updateDrawPosition']){_0x2e723c=this[_0x3e0f9f(_0x7d57e2._0x53a368,_0x7d57e2._0x2529bc)][_0x3e0f9f(0xd6d,0x6ec)](_0x2e723c,this);if(!_0x2e723c)return;_0x19e3c1[_0x24c00f(-_0x7d57e2._0x342efd,_0x7d57e2._0x3a99bf)]=_0x2e723c;}function _0x3e0f9f(_0x4aa121,_0xfd475){return _0x54a7f1(_0x4aa121-_0x45def2._0x38ab7e,_0xfd475);}if(this[_0x24c00f(-0x24d,0x53c)]['validDrawPosition']){const _0x8ffaf5=this[_0x3e0f9f(0xb27,0xf82)][_0x24c00f(0x71c,_0x7d57e2._0x4225fa)](_0x2e723c,this);if(!_0x8ffaf5)return;}this['_removeLastMovePoint'](),this['removeNearPoint'](),(_0x8872ba=this[_0x3e0f9f(0xb27,_0x7d57e2._0x4cdd66)])!==null&&_0x8872ba!==void 0x0&&_0x8872ba[_0x3e0f9f(_0x7d57e2._0x43838f,0xabf)]&&(_0x2e723c=addPositionsHeight(_0x2e723c,this['options']['addHeight'])),this[_0x3e0f9f(_0x7d57e2._0x9d2d27,_0x7d57e2._0x1bbb61)]['push'](_0x2e723c),this['updateAttrForDrawing'](![]),!isPCBroswer()&&this['_showDrawMouseMoveSmallTooltip'](_0x19e3c1),this['fire'](EventType['drawAddPoint'],{..._0x19e3c1,'drawType':this[_0x24c00f(0x581,_0x7d57e2._0x398261)],'positions':this['_positions_draw']},!![]),this['_positions_draw']['length']>=this['_maxPointNum']&&this['stopDraw']();}['_onRightClickHandler'](_0x7118d){const _0x41064b={_0x772c2a:0xd62,_0x2808ea:0x279,_0x425f79:0x56a,_0x35ba7b:0xe91,_0x4d3196:0x969,_0x5eefa8:0xf98};function _0xb7d675(_0x512491,_0x47196b){return _0x7afdbe(_0x512491,_0x47196b- -0x495);}function _0xc8b5aa(_0x52bc2f,_0x87cbb5){return _0x7afdbe(_0x87cbb5,_0x52bc2f- -0x2a5);}if(this['_positions_draw']['length']<=0x1)return;this[_0xb7d675(0x1754,0x114b)](),this[_0xc8b5aa(0x75a,-0x239)][_0xc8b5aa(0x154b,0x18fc)]();const _0x3abcda=_0x7118d===null||_0x7118d===void 0x0?void 0x0:_0x7118d[_0xc8b5aa(0x461,_0x41064b._0x772c2a)];_0x3abcda&&(this['fire'](EventType['drawRemovePoint'],{..._0x7118d,'drawType':this['type'],'positions':this[_0xb7d675(_0x41064b._0x2808ea,_0x41064b._0x425f79)]},!![]),this['_positions_draw'][_0xc8b5aa(_0x41064b._0x35ba7b,0x1949)](_0x3abcda),this[_0xc8b5aa(0x1040,0x176a)]=!![],this[_0xb7d675(_0x41064b._0x4d3196,_0x41064b._0x5eefa8)](![]));}[_0x7afdbe(0xbfd,0x943)](_0x2a09cb){_0x2a09cb['type']!==EventType['dblClick']&&(this['_hadRemoveLastMovePoint']=![]),this['removeNearPoint'](),this['endDraw']();}['removeNearPoint'](){const _0x5a0b15={_0xb74ce:0x30e,_0x75f970:0x4b7,_0x412cd3:0x8bd,_0x3fbd21:0x4d1};function _0x31866f(_0x41ecce,_0x21e765){return _0x7afdbe(_0x41ecce,_0x21e765- -0x3fc);}if(this['_positions_draw']['length']<0x3)return;function _0x49fac9(_0x4f55be,_0x4161fd){return _0x54a7f1(_0x4161fd- -0x31a,_0x4f55be);}for(let _0x24d455=this[_0x49fac9(_0x5a0b15._0xb74ce,0x4b7)]['length']-0x1;_0x24d455>0x0;_0x24d455--){const _0x350808=this['_positions_draw'][_0x24d455],_0xbad1b5=this['_positions_draw'][_0x24d455-0x1],_0x3566fa=Cesium__namespace['Cartesian3']['distance'](_0x350808,_0xbad1b5);if(_0x3566fa<0.01)this[_0x49fac9(0x20a,_0x5a0b15._0x75f970)][_0x49fac9(_0x5a0b15._0x412cd3,_0x5a0b15._0x3fbd21)](_0x24d455,0x1);else break;}}['endDraw'](){const _0x1b7b63={_0x219ef7:0x279},_0x1a88a4={_0x5b7dfb:0x4c7},_0x4fdc97={_0x51d92d:0x547};function _0x4ab336(_0x240ee6,_0x137cd3){return _0x7afdbe(_0x240ee6,_0x137cd3- -_0x4fdc97._0x51d92d);}if(!this['_enabledDraw'])return![];if(this[_0x4ab336(0x906,0x4b8)]&&this['_positions_draw']['length']<this[_0x88001c(0x241,-_0x1b7b63._0x219ef7)])return![];function _0x88001c(_0x3c301a,_0x4f2477){return _0x54a7f1(_0x3c301a- -_0x1a88a4._0x5b7dfb,_0x4f2477);}return this[_0x4ab336(0x957,0xee6)](![]),this[_0x88001c(0xc84,0xf8c)](),!![];}['updateAttrForDrawing'](_0x13ec04){}[_0x7afdbe(0x769,0xedb)](){const _0xe4b217={_0x40e819:0x177d,_0x2af081:0x882,_0x15ba28:0x2d1,_0x46895d:0xcc6,_0x48f4e3:0x285,_0x48881c:0x4a2,_0x53c8bc:0x453,_0x324975:0xadf,_0xc13350:0xf65,_0x1598ec:0x508},_0x36f680={_0x2ac13e:0x502};if(this[_0x47c255(_0xe4b217._0x40e819,0xdd0)])return this;this['_enabledEdit']=!![];function _0x47c255(_0x23e21b,_0x43cb6e){return _0x54a7f1(_0x43cb6e- -_0x36f680._0x2ac13e,_0x23e21b);}if(!this[_0x47c255(_0xe4b217._0x2af081,_0xe4b217._0x15ba28)])throw new Error(_0x47c255(0x1532,0xd93));this[_0x47c255(_0xe4b217._0x46895d,0x2d1)][_0x47c255(0x475,0x607)]['noPickEntity']=this[_0x38daf3(-0x285,_0xe4b217._0x48f4e3)],this[_0x47c255(-0x776,0x2d1)][_0x38daf3(_0xe4b217._0x48881c,0x72d)]['enabledMoveTarget']=![];function _0x38daf3(_0x565425,_0x4fea30){return _0x54a7f1(_0x4fea30- -0x3dc,_0x565425);}!this[_0x47c255(-0x852,0xa7)]&&(this['editing']=new this['EditClass'](this)),this[_0x38daf3(-_0xe4b217._0x53c8bc,0x1cd)]['activate']&&this['editing'][_0x47c255(0x12d5,0xb02)](),this[_0x47c255(0xe89,_0xe4b217._0x324975)]&&this[_0x47c255(_0xe4b217._0xc13350,_0xe4b217._0x1598ec)]();}[_0x54a7f1(0x1463,0x186f)](){const _0xe419ab={_0x13af1d:0x1247,_0x3a7506:0x848,_0x3c89b3:0x78,_0x50991b:0xde4,_0xd98cb:0x7fb,_0x4a4fa5:0x303};var _0x2f3781;if(!this['_enabledEdit']||!this['isAdded'])return this;(_0x2f3781=this['editing'])!==null&&_0x2f3781!==void 0x0&&_0x2f3781[_0x5182ca(_0xe419ab._0x13af1d,_0xe419ab._0x3a7506)]&&this[_0x3e2d1b(0xd9,_0xe419ab._0x3c89b3)][_0x5182ca(_0xe419ab._0x13af1d,0x12de)]();if(!this['options'])return;this['style']['distanceDisplayCondition']&&this['_updateDistanceDisplayConditionByEdit']();function _0x3e2d1b(_0x5f02ad,_0x4e45e6){return _0x54a7f1(_0x5f02ad- -0x4d0,_0x4e45e6);}this['_stopEditingHook']&&this['_stopEditingHook']();this['_map']&&(this[_0x3e2d1b(0x303,0x5e8)][_0x5182ca(_0xe419ab._0x50991b,_0xe419ab._0xd98cb)](),this[_0x3e2d1b(_0xe419ab._0x4a4fa5,0xb65)][_0x5182ca(0xb58,0x531)]['noPickEntity']=null,this['_map'][_0x3e2d1b(0x639,0x6b7)]['enabledMoveTarget']=!![]);function _0x5182ca(_0x503775,_0x596406){return _0x54a7f1(_0x503775-0x4f,_0x596406);}this['_enabledEdit']=![];}}class BasePrimitive extends BaseGraphic{get[_0x54a7f1(0x16fb,0x10f9)](){const _0x380cef={_0xa8922a:0xf43};function _0x5a8735(_0x1e38a4,_0x1eb40a){return _0x54a7f1(_0x1eb40a- -0x467,_0x1e38a4);}return this[_0x5a8735(0x59f,_0x380cef._0xa8922a)];}get['czmObjectEx'](){function _0x3f903b(_0x4313fe,_0xb7d031){return _0x54a7f1(_0x4313fe- -0x214,_0xb7d031);}const _0x49081c=[];this[_0x3f903b(0x549,-0x580)]&&_0x49081c[_0x215102(0x1107,0xe60)](this['_primitive_label']);function _0x215102(_0xdcbb34,_0x4a44af){return _0x7afdbe(_0xdcbb34,_0x4a44af- -0x2d6);}return this['_primitive_outline']&&_0x49081c['push'](this['_primitive_outline']),_0x49081c;}get[_0x54a7f1(0x43f,0x88)](){const _0x251742={_0xcf89f6:0x1f0};function _0x40ffd5(_0x500177,_0x240e89){return _0x54a7f1(_0x240e89-_0x251742._0xcf89f6,_0x500177);}var _0xa4a515;return(_0xa4a515=this[_0x40ffd5(0x1f22,0x181d)])===null||_0xa4a515===void 0x0?void 0x0:_0xa4a515['primitiveCollection'];}get[_0x54a7f1(0x12ed,0x167d)](){const _0x52f584={_0x39fc62:0x114d},_0xe602d1={_0x2c1dae:0x71f};function _0x1c91d6(_0x554746,_0x21b9cf){return _0x7afdbe(_0x554746,_0x21b9cf- -_0xe602d1._0x2c1dae);}function _0x1a38a6(_0x3e5c74,_0x3b0e0d){return _0x54a7f1(_0x3e5c74- -0x1cf,_0x3b0e0d);}if(this[_0x1a38a6(0x41d,-0x5a4)]){var _0x41154;return(_0x41154=this['_layer'])===null||_0x41154===void 0x0?void 0x0:_0x41154[_0x1a38a6(0x111e,_0x52f584._0x39fc62)];}else{var _0x48efff;return(_0x48efff=this['_layer'])===null||_0x48efff===void 0x0?void 0x0:_0x48efff['primitiveCollection'];}}get[_0x7afdbe(0xb77,0x1322)](){const _0x1d23ff={_0x326149:0x464};function _0x4828c9(_0x519990,_0x45f2cb){return _0x7afdbe(_0x45f2cb,_0x519990- -_0x1d23ff._0x326149);}return this[_0x4828c9(0x1174,0x6cc)];}get['ready'](){const _0x4a8cc6={_0x684ae2:0x1451,_0x154db6:0x330},_0x11cdd7={_0x220c26:0x4c},_0x4e4250={_0x517d9d:0x187};var _0x231f14;function _0x3e798a(_0x392dac,_0x5e398d){return _0x7afdbe(_0x392dac,_0x5e398d- -_0x4e4250._0x517d9d);}function _0x519dd2(_0x4794cc,_0x47a676){return _0x7afdbe(_0x4794cc,_0x47a676- -_0x11cdd7._0x220c26);}return(_0x231f14=this[_0x3e798a(0xaf8,_0x4a8cc6._0x684ae2)])===null||_0x231f14===void 0x0?void 0x0:_0x231f14[_0x3e798a(-_0x4a8cc6._0x154db6,0x3f9)];}get['readyPromise'](){const _0xc2890a={_0x1b6652:0x14f4,_0x21e6ba:0x11dc,_0x25ab1d:0xcb7,_0x2fcf3b:0xb41},_0x447fde={_0x90d872:0x5ae,_0x2b4632:0xad},_0x4a0bb1={_0x408b61:0x421};function _0x5563c1(_0x56eaae,_0x2bd4cf){return _0x7afdbe(_0x2bd4cf,_0x56eaae- -0xe4);}function _0x298925(_0x4fc40d,_0x55de1e){return _0x7afdbe(_0x55de1e,_0x4fc40d- -0x48f);}if(!this['_primitive']||!Cesium__namespace['defined'](this[_0x5563c1(_0xc2890a._0x1b6652,_0xc2890a._0x21e6ba)]['ready']))return logWarn('readyPromise\x20无法监听,该对象不存在primitive对象或ready属性',this),Promise[_0x298925(0xb41,_0xc2890a._0x25ab1d)](this);return this['ready']?Promise[_0x298925(_0xc2890a._0x2fcf3b,0xf61)](this):new Promise((_0x3f87fa,_0x4c10e3)=>{function _0x57228c(_0x2aafc0,_0x442a8b){return _0x298925(_0x2aafc0-0x50d,_0x442a8b);}function _0x20abbe(_0xdcdc70,_0x2a2e8d){return _0x5563c1(_0x2a2e8d- -_0x4a0bb1._0x408b61,_0xdcdc70);}const _0x29e3c7=this['_map']['scene'][_0x57228c(_0x447fde._0x90d872,-_0x447fde._0x2b4632)][_0x57228c(0x1a0f,0x1ecd)](()=>{this['ready']&&(_0x3f87fa(this),_0x29e3c7());});});}get['geometryInstanceAttributes'](){const _0x12e12b={_0x1ac633:0x82};function _0x5d5bdf(_0xc1254f,_0x15ce09){return _0x7afdbe(_0x15ce09,_0xc1254f- -_0x12e12b._0x1ac633);}function _0x294f15(_0x5055ba,_0x52b6f8){return _0x54a7f1(_0x5055ba-0x26,_0x52b6f8);}if(this['_primitive'])return this[_0x294f15(0xf85,0xe2b)](this['id']);else{if(this['_primitive_outline'])return this['getGeometryInstanceAttributes'](this['id'],this[_0x294f15(0x94c,0x74e)]);}return null;}get[_0x7afdbe(0x1084,0x171b)](){const _0x2e1475={_0x560fd2:0x17f,_0x2ebc5e:0x1578};var _0x1f2af0;function _0x156a1c(_0x1cddaf,_0x38a5cc){return _0x7afdbe(_0x38a5cc,_0x1cddaf-0x7c);}function _0x1d3446(_0x4adcf1,_0x54706a){return _0x54a7f1(_0x4adcf1-0x8b,_0x54706a);}return(_0x1f2af0=this['primitive'])===null||_0x1f2af0===void 0x0||(_0x1f2af0=_0x1f2af0['appearance'])===null||_0x1f2af0===void 0x0||(_0x1f2af0=_0x1f2af0[_0x156a1c(0x6fd,-_0x2e1475._0x560fd2)])===null||_0x1f2af0===void 0x0?void 0x0:_0x1f2af0[_0x1d3446(_0x2e1475._0x2ebc5e,0x1b8a)];}get[_0x7afdbe(0xbf5,0x12e8)](){const _0x195474={_0x353795:0x96,_0x3f6876:0x819,_0x360a59:0x558},_0xd79c48={_0x24475c:0x172},_0x5c8972={_0x591296:0x3a};function _0x5332be(_0x113e78,_0x2c61a6){return _0x54a7f1(_0x113e78-_0x5c8972._0x591296,_0x2c61a6);}function _0x30c416(_0x563358,_0x347a88){return _0x7afdbe(_0x563358,_0x347a88- -_0xd79c48._0x24475c);}return this[_0x30c416(_0x195474._0x353795,_0x195474._0x3f6876)]?this[_0x5332be(0x797,-0x22a)]:this[_0x30c416(-0x218,_0x195474._0x360a59)]['label'];}get['isEditing'](){return this['_enabledEdit'];}get['editing'](){var _0x588fc9;return(_0x588fc9=this['_editing_entity'])===null||_0x588fc9===void 0x0?void 0x0:_0x588fc9['editing'];}get['offsetHeight'](){return this['style']['offsetHeight'];}set[_0x54a7f1(0xb49,0xb45)](_0x39a77f){this['style']['offsetHeight']=_0x39a77f,this['setOffsetHeight'](_0x39a77f);}get['zIndex'](){const _0x41c15e={_0x2ea02b:0x721},_0x2f42f8={_0x16e6d7:0xe3};function _0x161417(_0x2d0da1,_0x35ef3a){return _0x54a7f1(_0x35ef3a- -_0x2f42f8._0x16e6d7,_0x2d0da1);}return this['style'][_0x161417(_0x41c15e._0x2ea02b,0xba5)];}set['zIndex'](_0x2349a9){const _0x1bf8aa={_0x4aaa83:0xaa6,_0x19669b:0x43b,_0x28108d:0xc27},_0x19b7cd={_0x27b1b7:0x65},_0x430fac={_0x1f97fd:0x61};function _0x57b0f9(_0x39ded7,_0x3524de){return _0x54a7f1(_0x3524de- -_0x430fac._0x1f97fd,_0x39ded7);}this[_0x57b0f9(_0x1bf8aa._0x4aaa83,_0x1bf8aa._0x19669b)][_0x57b0f9(0x1066,_0x1bf8aa._0x28108d)]=_0x2349a9;function _0x475514(_0x774f7a,_0x19a91e){return _0x54a7f1(_0x774f7a- -_0x19b7cd._0x27b1b7,_0x19a91e);}if(_0x2349a9==null)return;setTimeout(()=>{this['_setZIndex'](_0x2349a9);},0x64);}['_setZIndex'](_0x1c906e){const _0x4e702a={_0xb7c00e:0x15ac,_0x29e275:0xf4e,_0x559ccf:0x70d,_0xddb274:0xcbd,_0x3a552e:0x14e2,_0x3a3942:0xea9,_0x39c18e:0x783},_0x580faa={_0x5db69a:0x45c};if(!this['isAdded'])return;this[_0x1c6ebd(_0x4e702a._0xb7c00e,_0x4e702a._0x29e275)]['zIndex']=_0x1c906e;function _0x1c6ebd(_0x1ead19,_0x1a89bb){return _0x54a7f1(_0x1a89bb- -_0x580faa._0x5db69a,_0x1ead19);}const _0x52a804=this[_0x1c6ebd(-_0x4e702a._0x559ccf,-0x1d)];_0x52a804[_0x445e99(_0x4e702a._0xddb274,_0x4e702a._0x3a552e)](this['_primitive']);function _0x445e99(_0x598e9d,_0x1a9529){return _0x54a7f1(_0x1a9529- -0xdf,_0x598e9d);}for(let _0x227f2a=_0x52a804[_0x445e99(0xfd8,0xea6)]-0x1;_0x227f2a>=0x0;_0x227f2a--){const _0x4cc2d1=_0x52a804[_0x445e99(_0x4e702a._0x3a3942,0xd27)](_0x227f2a);if(_0x4cc2d1===this['_primitive'])continue;Cesium__namespace[_0x1c6ebd(0x190d,0x1225)](_0x4cc2d1['zIndex'])&&_0x1c906e<_0x4cc2d1[_0x1c6ebd(0x109a,0x82c)]&&this['primitiveCollection'][_0x1c6ebd(0x877,0xbc0)](this[_0x1c6ebd(_0x4e702a._0x39c18e,0xf4e)]);}}['toTop'](){const _0x5bb643={_0x98d947:0x449,_0x4dacba:0xac},_0x2ef7cb=this[_0x53bfaa(-_0x5bb643._0x98d947,-_0x5bb643._0x4dacba)];function _0x53bfaa(_0x4ee047,_0x2bc3ef){return _0x7afdbe(_0x4ee047,_0x2bc3ef- -0x719);}if(_0x2ef7cb)return _0x2ef7cb['raiseToTop'](this['_primitive']);}['toBottom'](){const _0x57095d={_0x2a18d0:0x8dd,_0x41ab00:0x1497,_0x45cc81:0xe9d};function _0x5fb1b3(_0x21d426,_0x3c8afa){return _0x54a7f1(_0x21d426-0xed,_0x3c8afa);}const _0xf3d312=this[_0x1121c4(0x4cc,_0x57095d._0x2a18d0)];function _0x1121c4(_0x168fd3,_0x8425d9){return _0x54a7f1(_0x168fd3-0x8d,_0x8425d9);}if(_0xf3d312)return _0xf3d312['lowerToBottom'](this[_0x5fb1b3(_0x57095d._0x41ab00,_0x57095d._0x45cc81)]);}['_isColorMaterial'](_0x4de903,_0x2b63b0){const _0x30d8d4={_0x7188a1:0x402},_0x2383c7={_0x1779e6:0x1e1},_0x14f359={_0x3f3039:0x662};function _0x828db4(_0x359a42,_0x1cbb7b){return _0x7afdbe(_0x359a42,_0x1cbb7b- -_0x14f359._0x3f3039);}var _0x59db50;const _0x5e7647=_0x4de903['materialType']||(_0x2b63b0===null||_0x2b63b0===void 0x0?void 0x0:_0x2b63b0['materialType'])||(_0x2b63b0===null||_0x2b63b0===void 0x0||(_0x59db50=_0x2b63b0['material'])===null||_0x59db50===void 0x0?void 0x0:_0x59db50[_0x828db4(-0x278,_0x30d8d4._0x7188a1)]);function _0x59878f(_0x3dc6bf,_0x7c0fb3){return _0x7afdbe(_0x7c0fb3,_0x3dc6bf- -_0x2383c7._0x1779e6);}return Cesium__namespace[_0x59878f(0x16ce,0x2003)](_0x5e7647)&&_0x5e7647!==Color$2?![]:!![];}[_0x54a7f1(0x1121,0xe30)](_0x65402e){const _0x21bbf2={_0x11d4f0:0x678,_0x16ef45:0x462,_0x523688:0x703,_0xe49b52:0x1054,_0x13a223:0x1311,_0x51c87b:0x7b2,_0x633c0d:0x767,_0x41052d:0x13ce,_0x13ee38:0x7f6,_0x3b04ff:0x13c4,_0x35bf09:0x1367,_0x35a17e:0x1079,_0x13103e:0x5f9,_0xea07a2:0xae0,_0x1f8b72:0x1711,_0xdc8f7a:0x3de,_0x3ae0b3:0x72f,_0x13c54f:0xae0,_0x3deac1:0x212,_0x397d52:0xcac,_0x50f24a:0x2ad,_0x5dbc7f:0x1104,_0x105d15:0xe42,_0x506616:0x10fd,_0x1462d6:0x7b1},_0x530610={_0x37f9c8:0x74};if(!this['show'])return;if(!_0x65402e['material']&&!_0x65402e['materialType']){if(_0x65402e['color']||_0x65402e['randomColor'])_0x65402e['materialType']=Color$2;else _0x65402e[_0x4d25d5(0x309,0xd2d)]&&(_0x65402e[_0x37fd19(_0x21bbf2._0x11d4f0,_0x21bbf2._0x16ef45)]=Image$1);}const _0x29e2d7=this['_conversionStyle'](_0x65402e);_0x29e2d7[_0x4d25d5(0x2f9,-_0x21bbf2._0x523688)]=this['_isColorMaterial'](_0x65402e,_0x29e2d7);this[_0x37fd19(_0x21bbf2._0xe49b52,0x1564)]&&(this['_primitive']['_clampToGround']?this[_0x4d25d5(_0x21bbf2._0x13a223,0x19c6)][_0x4d25d5(_0x21bbf2._0x51c87b,_0x21bbf2._0x633c0d)](this[_0x4d25d5(_0x21bbf2._0x41052d,0x112b)]):this['primitiveCollection']['remove'](this[_0x37fd19(0x163d,0x1564)]));(_0x65402e['fill']??!![])&&(this['_primitive']=this[_0x37fd19(0xcd3,0x7f3)](_0x29e2d7));this[_0x4d25d5(0x94a,_0x21bbf2._0x13ee38)]&&(this['_primitive_outline']['_clampToGround']?this[_0x37fd19(_0x21bbf2._0x3b04ff,0x14a7)][_0x4d25d5(_0x21bbf2._0x51c87b,0x96a)](this[_0x37fd19(_0x21bbf2._0x35bf09,0xae0)]):this[_0x37fd19(_0x21bbf2._0x35a17e,_0x21bbf2._0x13103e)][_0x4d25d5(0x7b2,0xe4d)](this[_0x4d25d5(0x94a,0x861)]),delete this[_0x37fd19(0xf56,_0x21bbf2._0xea07a2)]);if(_0x65402e['outline']){const _0x140567=this['_getOutlineStyle'](_0x65402e);_0x140567[_0x37fd19(0x191a,_0x21bbf2._0x1f8b72)]>0x1&&(this[_0x37fd19(-_0x21bbf2._0xdc8f7a,0x656)]['diffHeight']??0x0)===0x0||_0x140567['clampToGround']?this[_0x37fd19(_0x21bbf2._0x3ae0b3,0xae0)]=this['_createPolylineOutline'](_0x140567):(_0x29e2d7[_0x37fd19(0x45e,0xba6)]=_0x140567,this['_primitive_outline']=this['_createPrimitive'](_0x29e2d7,!![]),!this['_primitive_outline']&&(this[_0x37fd19(0x5cb,_0x21bbf2._0x13c54f)]=this[_0x4d25d5(0xb7a,_0x21bbf2._0x3deac1)](_0x140567)));}function _0x37fd19(_0x34ebd5,_0x30e975){return _0x7afdbe(_0x34ebd5,_0x30e975- -_0x530610._0x37f9c8);}Cesium__namespace['defined'](this[_0x37fd19(0xe5a,0x656)][_0x4d25d5(_0x21bbf2._0x397d52,_0x21bbf2._0x50f24a)])&&(this[_0x4d25d5(0xcac,_0x21bbf2._0x5dbc7f)]=this['style'][_0x37fd19(0x8e5,_0x21bbf2._0x105d15)]);_0x65402e['label']&&this[_0x4d25d5(0x1147,_0x21bbf2._0x506616)](_0x65402e[_0x4d25d5(0x10de,_0x21bbf2._0x1462d6)]);function _0x4d25d5(_0x2907c4,_0x33b260){return _0x7afdbe(_0x33b260,_0x2907c4- -0x20a);}this['_availability']&&this['_updateAvailabilityHook'](this['_availability']);}[_0x54a7f1(0xb48,0xc21)](_0xe746c9){const _0x3f1368={_0x5871d0:0x1ed,_0x4a7de0:0x8a6,_0x4a092d:0x77b,_0x54bdbb:0x914},_0x606284={_0x50743d:0x724},_0x514dd5={_0x5285a5:0xb2f,_0x3d07b4:0x12c,_0x1f70c0:0x3c7},_0x2284b2={_0x5a95b4:0x259},_0x2e7929=this['czmObject']||this['_primitive_outline'];this['_editing_entity']&&(this['_editing_entity']['availability']=_0xe746c9);if(!this['_availability']||!_0x2e7929||_0x2e7929['__initUpdateForAvailability'])return;let _0x560464=!![];const _0x80b8b4=this,_0x4a5324=_0x2e7929[_0xa3296d(0x449,_0x3f1368._0x5871d0)];if(!_0x4a5324){logInfo(_0xa9dcc7(0x1094,_0x3f1368._0x4a7de0),_0x2e7929);return;}function _0xa9dcc7(_0x3feb81,_0xf8667c){return _0x7afdbe(_0x3feb81,_0xf8667c- -_0x2284b2._0x5a95b4);}_0x2e7929[_0xa9dcc7(_0x3f1368._0x4a092d,_0x3f1368._0x54bdbb)]=function(_0x50f8b4){const _0x2397b9=_0x80b8b4['getAvailabilityShow'](_0x50f8b4[_0xea1931(_0x514dd5._0x5285a5,0x139b)]);function _0x5ec62e(_0x55ec60,_0x141a3d){return _0xa3296d(_0x141a3d-0x278,_0x55ec60);}_0x2397b9&&_0x4a5324['bind'](this)(_0x50f8b4);function _0xea1931(_0x29be7d,_0x8a2dc6){return _0xa9dcc7(_0x8a2dc6,_0x29be7d-0xfb);}if(_0x560464!==_0x2397b9){const _0xa2f70=_0x80b8b4['czmObjectEx'];_0xa2f70&&_0xa2f70[_0x5ec62e(-_0x514dd5._0x3d07b4,_0x514dd5._0x1f70c0)](_0x29d414=>{if(_0x29d414===_0x2e7929)return;_0x29d414['show']=_0x2397b9;}),_0x560464=_0x2397b9;}};function _0xa3296d(_0x42ea2e,_0x10947a){return _0x7afdbe(_0x10947a,_0x42ea2e- -_0x606284._0x50743d);}_0x2e7929['__initUpdateForAvailability']=!![];}[_0x54a7f1(0xa4f,0xade)](){const _0x202d83={_0x76dfa4:0x2000,_0x4aeea1:0xea0,_0x46fc26:0x1916,_0x5407e8:0x15d3,_0x4b6afe:0x41c,_0x1d6f3e:0x5cc,_0x28a913:0xf63,_0x4e274f:0x9b7,_0x5cb32a:0xcb,_0x4e26c0:0xacc,_0x42e5cd:0x41c};!this[_0x4d9a23(0x16c3,0x1527)]&&(this['stopDraw'](),this[_0x4d9a23(_0x202d83._0x76dfa4,0x168c)]());function _0x42a742(_0x4e8c60,_0x31604d){return _0x7afdbe(_0x4e8c60,_0x31604d- -0x738);}function _0x4d9a23(_0x4a64c2,_0x417f8d){return _0x54a7f1(_0x417f8d-0x229,_0x4a64c2);}this['_primitive']&&(this[_0x42a742(0x1769,_0x202d83._0x4aeea1)]['_clampToGround']?this['groundPrimitiveCollection']['remove'](this['_primitive']):this['primitiveCollection']['remove'](this[_0x4d9a23(_0x202d83._0x46fc26,_0x202d83._0x5407e8)]),delete this['_primitive']),this[_0x42a742(-0x5bf,_0x202d83._0x4b6afe)]&&(this['_primitive_outline'][_0x42a742(-_0x202d83._0x1d6f3e,-0x15d)]?this['groundPrimitiveCollection'][_0x4d9a23(_0x202d83._0x28a913,_0x202d83._0x4e274f)](this['_primitive_outline']):this[_0x42a742(-0x803,-_0x202d83._0x5cb32a)]['remove'](this[_0x42a742(_0x202d83._0x4e26c0,_0x202d83._0x4b6afe)]),delete this[_0x42a742(-0x544,_0x202d83._0x42e5cd)]),this[_0x4d9a23(0x6a4,0xebb)]();}[_0x7afdbe(0x17b3,0x1978)](_0x30be7c){const _0x20996d={_0x1b7485:0x178,_0x23bfb5:0x3b5,_0x2b2bbb:0x87a,_0x15acd6:0xe90,_0x511eea:0x76c,_0x5661ab:0xa0},_0xca550a={_0x5de42f:0x46e},_0x41634c={_0x5cad4b:0x17e};if(!this[_0x549105(_0x20996d._0x1b7485,_0x20996d._0x23bfb5)])return;this['czmObject']&&(this['_noDestroy']=!![],this[_0x27fc59(0xbcd,0x108f)](),this[_0x549105(_0x20996d._0x2b2bbb,_0x20996d._0x15acd6)]=![]);function _0x27fc59(_0x54ee06,_0x3c6c89){return _0x54a7f1(_0x54ee06-_0x41634c._0x5cad4b,_0x3c6c89);}function _0x549105(_0x42b98f,_0x34a77a){return _0x54a7f1(_0x34a77a- -_0xca550a._0x5de42f,_0x42b98f);}_0x30be7c&&(this['_addedHook'](this['style']),this[_0x27fc59(0x1879,0x1f2c)]&&this['bindPickId'](this['czmObject']),this[_0x549105(_0x20996d._0x511eea,_0x20996d._0x5661ab)]&&this['czmObjectEx']['forEach'](_0x904e19=>{this['bindPickId'](_0x904e19);}));}['_conversionStyle'](_0x324a2c){return _0x324a2c;}['_createPrimitive'](_0x221233,_0x5028e5){const _0x23e743={_0x2bdfbc:0x8c5,_0x512511:0xe6f,_0x1cdfdd:0x374,_0x7cd03e:0x1dcb,_0x43051c:0x529,_0x2ba8d8:0x35c,_0x486809:0x580,_0x389bee:0x41,_0x5b96b1:0x6d1,_0x468457:0xf5,_0x2338e5:0xae4,_0x4b0699:0x46c,_0x185721:0x3f5,_0x3d1e95:0x5c9,_0x26b1f5:0x1575,_0x326c52:0xa7d,_0x23d579:0x963,_0x320041:0x687,_0x5ca0ec:0x50f,_0x4f5597:0xd7e,_0x318710:0x6fc,_0x4e9f34:0x7bd,_0x2b77e4:0x4da},_0xfd6060={_0x39156f:0x3ca};(!_0x221233['vertexFormat']&&_0x221233['_isColorMaterial']||_0x5028e5)&&(_0x221233[_0x298376(0x4dc,_0x23e743._0x2bdfbc)]=this['defaultVertexFormat']||Cesium__namespace['PerInstanceColorAppearance'][_0x1c1321(_0x23e743._0x512511,0x1341)]);const _0x57b628={...this[_0x298376(_0x23e743._0x1cdfdd,0x9dd)],'geometryInstances':this['_createGeometryInstance'](_0x221233,_0x5028e5),'show':this[_0x1c1321(0xdd5,0x1229)],'shadows':_0x221233['shadows']};if(!_0x57b628[_0x298376(_0x23e743._0x7cd03e,0x1814)])return;delete _0x57b628[_0x298376(0x1da,0x5c9)],delete _0x57b628['attr'];function _0x298376(_0x3abe0b,_0x208ce1){return _0x54a7f1(_0x208ce1-0x12d,_0x3abe0b);}delete _0x57b628[_0x1c1321(_0x23e743._0x43051c,_0x23e743._0x2ba8d8)];function _0x1c1321(_0x31f65a,_0xa289a6){return _0x54a7f1(_0xa289a6- -_0xfd6060._0x39156f,_0x31f65a);}!_0x57b628['appearance']&&(_0x57b628['appearance']=this['_createAppearance'](_0x221233,_0x57b628,_0x5028e5));if(_0x221233['depthFail']&&!_0x57b628['depthFailAppearance']){var _0x3ece85;const _0x254240={..._0x221233};_0x254240[_0x298376(0xe9f,_0x23e743._0x486809)]=_0x221233[_0x1c1321(0x3c9,_0x23e743._0x389bee)]??_0x221233[_0x298376(-0x48,_0x23e743._0x486809)];const _0x25463a=_0x254240;_0x25463a[_0x1c1321(-_0x23e743._0x5b96b1,-_0x23e743._0x468457)]=!(_0x25463a!==null&&_0x25463a!==void 0x0&&(_0x3ece85=_0x25463a['material'])!==null&&_0x3ece85!==void 0x0&&_0x3ece85[_0x1c1321(_0x23e743._0x2338e5,_0x23e743._0x4b0699)]&&_0x25463a['material']['type']!==Color$2),_0x57b628[_0x1c1321(-0x1c2,_0x23e743._0x185721)]=this['_createAppearance'](_0x25463a,_0x57b628,_0x5028e5);}let _0x4421d2;if(this[_0x298376(0xe63,_0x23e743._0x3d1e95)][_0x1c1321(_0x23e743._0x26b1f5,0x119f)]&&this[_0x298376(0x442,0x719)]!==![])_0x57b628['classificationType']=_0x221233['classificationType'],this['type']===_0x1c1321(_0x23e743._0x326c52,0xfa2)||this[_0x298376(0x751,_0x23e743._0x23d579)]===_0x1c1321(_0x23e743._0x320041,_0x23e743._0x5ca0ec)?_0x4421d2=this['groundPrimitiveCollection']['add'](new Cesium__namespace[(_0x298376(_0x23e743._0x4f5597,_0x23e743._0x318710))](_0x57b628)):_0x4421d2=this[_0x1c1321(0x481,0xf23)][_0x298376(-0x2bd,_0x23e743._0x4e9f34)](new Cesium__namespace[(_0x1c1321(0xefd,0x83e))](_0x57b628)),_0x4421d2[_0x298376(0x8da,_0x23e743._0x2b77e4)]=!![];else _0x221233['classification']?(_0x57b628['classificationType']=_0x221233['classificationType']||Cesium__namespace['ClassificationType']['CESIUM_3D_TILE'],_0x4421d2=this['primitiveCollection']['add'](new Cesium__namespace['ClassificationPrimitive'](_0x57b628))):_0x4421d2=this['primitiveCollection'][_0x1c1321(-0x6dd,0x2c6)](new Cesium__namespace['Primitive'](_0x57b628));return this['bindPickId'](_0x4421d2),_0x4421d2;}[_0x7afdbe(0x6c3,0xb3d)](_0x46a2f4,_0x54bda6){const _0xbe5de8={_0x2df45b:0x704,_0x1b0e87:0x12f5,_0x112b8d:0x1522,_0x153da1:0x1404,_0x537da6:0x108a,_0x12dd09:0x6d8,_0x55c317:0xc2c,_0x545dce:0x1a61,_0x32ccff:0x113e};!_0x54bda6&&(_0x54bda6=this['options']['attributes']||{});_0x54bda6['show']=new Cesium__namespace[(_0x2fab3a(-0x1ef,_0xbe5de8._0x2df45b))](this[_0x4e179c(0xb5e,0x1376)]);function _0x4e179c(_0x23bab8,_0x443a78){return _0x54a7f1(_0x443a78- -0x27d,_0x23bab8);}_0x46a2f4['color']&&(_0x54bda6[_0x2fab3a(0x146f,_0xbe5de8._0x1b0e87)]=Cesium__namespace['ColorGeometryInstanceAttribute'][_0x2fab3a(0xd7a,_0xbe5de8._0x112b8d)](_0x46a2f4['color']));_0x46a2f4['distanceDisplayCondition']&&(_0x54bda6['distanceDisplayCondition']=_0x46a2f4[_0x2fab3a(0xf88,0xd82)]);function _0x2fab3a(_0x4bdf91,_0x50a096){return _0x7afdbe(_0x4bdf91,_0x50a096- -0x14b);}(Cesium__namespace[_0x4e179c(0x14a9,_0xbe5de8._0x153da1)](_0x46a2f4[_0x4e179c(0xfe9,_0xbe5de8._0x537da6)])||Cesium__namespace['defined'](_0x46a2f4['offsetHeight']))&&(_0x54bda6[_0x4e179c(0xe93,0x69b)]=Cesium__namespace['OffsetGeometryInstanceAttribute'][_0x2fab3a(0xa4d,_0xbe5de8._0x12dd09)](this['_getOffsetByHeight'](_0x46a2f4[_0x2fab3a(0x10eb,_0xbe5de8._0x55c317)],_0x46a2f4['center'])));if(_0x46a2f4['depthFail']){const _0x5ba515=this['_getColorByColorMaterial'](_0x46a2f4);_0x54bda6['depthFailColor']=Cesium__namespace[_0x2fab3a(_0xbe5de8._0x545dce,_0xbe5de8._0x32ccff)][_0x2fab3a(0x1f38,0x1522)](_0x46a2f4['depthFailColor']||_0x5ba515);}return _0x54bda6;}[_0x7afdbe(0x1495,0x1020)](_0x3aa5cb,_0x1e6d2f){const _0x57f4d2={_0x363d93:0x1445},_0x18dc50={_0x500474:0x15e},_0x5ddf16={_0x38d589:0x13f};function _0x2f8c03(_0x3d15d5,_0xf2ff00){return _0x54a7f1(_0xf2ff00-_0x5ddf16._0x38d589,_0x3d15d5);}if(!_0x3aa5cb)return Cesium__namespace['Cartesian3']['ZERO'];function _0x31510a(_0x2efdca,_0xa5befb){return _0x54a7f1(_0x2efdca-_0x18dc50._0x500474,_0xa5befb);}return!_0x1e6d2f&&(!this['_center_offsetHeight']&&(this['_center_offsetHeight']=this['center']),_0x1e6d2f=this['_center_offsetHeight']),_0x1e6d2f?Cesium__namespace['Cartesian3']['multiplyByScalar'](this[_0x2f8c03(0x6d9,0xa43)]['geodeticSurfaceNormal'](_0x1e6d2f),_0x3aa5cb,new Cesium__namespace['Cartesian3']()):Cesium__namespace[_0x31510a(_0x57f4d2._0x363d93,0x18ce)]['ZERO'];}['setOffsetHeight'](_0x87e29){const _0x1c5643={_0x11e666:0x1e84,_0x8d351:0x672,_0x2b03aa:0xd47,_0x45b506:0x45f},_0x33df53={_0x246700:0x30},_0x5017bd={_0x179f71:0x496};function _0x4124c7(_0x3a4caf,_0x326ffb){return _0x7afdbe(_0x3a4caf,_0x326ffb- -_0x5017bd._0x179f71);}if(!Cesium__namespace[_0x975339(_0x1c5643._0x11e666,0x187f)](this['style']['offsetAttribute'])){const _0x203865={};_0x203865['offsetAttribute']=Cesium__namespace['GeometryOffsetAttribute']['ALL'],this[_0x4124c7(0xbf2,0xee5)](_0x203865);}function _0x975339(_0x47fb73,_0x4f31cf){return _0x7afdbe(_0x47fb73,_0x4f31cf- -_0x33df53._0x246700);}!Cesium__namespace['defined'](_0x87e29)&&(_0x87e29=this[_0x975339(_0x1c5643._0x8d351,0x69a)][_0x975339(0x514,_0x1c5643._0x2b03aa)]||0x0);const _0x56a84c=this['_getOffsetByHeight'](_0x87e29),_0x553e51=this['getGeometryInstanceAttributes'](this['id']);_0x553e51&&(_0x553e51['offset']=Cesium__namespace[_0x975339(-_0x1c5643._0x45b506,0x4f2)]['toValue'](_0x56a84c,_0x553e51[_0x975339(0xa7a,0xb16)]));if(this['_primitive_outline']){const _0x3ccd5b=this['getGeometryInstanceAttributes'](this['id'],this['_primitive_outline']);_0x3ccd5b&&(_0x3ccd5b['offset']=Cesium__namespace['OffsetGeometryInstanceAttribute']['toValue'](_0x56a84c,_0x3ccd5b['offset']));}}['_getColorByColorMaterial'](_0x36f4b2,_0x2fd948=Cesium__namespace['Color']['WHITE']['withAlpha'](0.5)){const _0x51ad81={_0x4ec407:0xfde,_0x510446:0xd0f,_0x932009:0xfde};function _0x2ea8ef(_0x76f639,_0x11c4cb){return _0x7afdbe(_0x11c4cb,_0x76f639- -0x462);}function _0x1699dd(_0x1dc097,_0x39dd15){return _0x7afdbe(_0x1dc097,_0x39dd15- -0x27a);}var _0x35018b,_0x199ec9;return((_0x35018b=_0x36f4b2['material'])===null||_0x35018b===void 0x0||(_0x35018b=_0x35018b['uniforms'])===null||_0x35018b===void 0x0?void 0x0:_0x35018b[_0x1699dd(0x91c,0x11c6)])||((_0x199ec9=_0x36f4b2['material'])===null||_0x199ec9===void 0x0||(_0x199ec9=_0x199ec9['options'])===null||_0x199ec9===void 0x0?void 0x0:_0x199ec9[_0x2ea8ef(_0x51ad81._0x4ec407,_0x51ad81._0x510446)])||_0x36f4b2[_0x2ea8ef(_0x51ad81._0x932009,0x5bd)]||_0x2fd948;}['_createAppearance'](_0x50968c,_0x887f21,_0x355f9a){const _0x384b33={_0x5ca65e:0x111,_0x18f09c:0x1701,_0x1a631b:0x84,_0x30f97e:0x429,_0x33d9bd:0x7bd,_0xe0f81:0x1f34,_0x186f14:0x8f5,_0x52f574:0x1913,_0x169615:0x1492,_0x12fe36:0x486,_0x1592d1:0x6ed,_0x1902dc:0xb96},_0x370efa={_0x13df4c:0x1db};function _0x20bc98(_0x2a9db1,_0x8a59df){return _0x7afdbe(_0x2a9db1,_0x8a59df- -0x214);}function _0x4853f2(_0xcaaea,_0xf8fd0d){return _0x7afdbe(_0xcaaea,_0xf8fd0d- -_0x370efa._0x13df4c);}if(_0x50968c[_0x4853f2(-_0x384b33._0x5ca65e,0x4a6)]&&!_0x50968c['_isColorMaterial']&&!_0x355f9a){const _0x4d35aa={..._0x50968c};return new Cesium__namespace[(_0x20bc98(0xe6b,0x1417))](_0x4d35aa);}else{if(_0x887f21[_0x20bc98(0x1368,_0x384b33._0x18f09c)]instanceof Cesium__namespace['GeometryInstance']){let _0x5669d0;_0x355f9a&&_0x50968c['outlineStyle']?_0x5669d0=getColorByStyle(_0x50968c['outlineStyle'],Cesium__namespace['Color']['WHITE']):_0x5669d0=this['_getColorByColorMaterial'](_0x50968c),_0x50968c['translucent']=_0x5669d0[_0x4853f2(-_0x384b33._0x1a631b,_0x384b33._0x30f97e)]!==0x1,_0x887f21['geometryInstances'][_0x4853f2(_0x384b33._0x33d9bd,0x29d)]=_0x887f21[_0x4853f2(_0x384b33._0xe0f81,0x173a)]['attributes']||{},_0x887f21['geometryInstances']['attributes']['color']=Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](_0x5669d0),_0x50968c['depthFail']&&(_0x887f21['geometryInstances']['attributes'][_0x4853f2(_0x384b33._0x186f14,0xaa6)]=Cesium__namespace['ColorGeometryInstanceAttribute'][_0x4853f2(_0x384b33._0x52f574,_0x384b33._0x169615)](_0x50968c[_0x20bc98(_0x384b33._0x12fe36,0xa6d)]||_0x5669d0));}Cesium__namespace['defined'](this[_0x20bc98(_0x384b33._0x1592d1,0x633)])&&(_0x50968c['translucent']=this['translucent']);const _0x49e4f5={..._0x50968c};return new Cesium__namespace[(_0x4853f2(_0x384b33._0x1902dc,0x993))](_0x49e4f5);}}['_createGeometryInstance'](_0xa420fa,_0x51b5de){return this['options']['geometryInstances'];}['_updateStyleBaseHook'](_0x5d781c){const _0x29a341={_0x1d8516:0x56c,_0x5893c4:0x143a,_0x32d5a5:0x1afc,_0x332329:0x714,_0x4ca490:0x112b,_0x5284e0:0x38f,_0xfb13dd:0x9ff,_0x3c344d:0x8cc,_0x4227ef:0xae2,_0x597d4b:0x82a,_0x534a66:0x1574,_0x498b89:0x1164,_0x254faa:0xd9d};if(!_0x5d781c)return;function _0x5c63e2(_0x3ad0db,_0x38216f){return _0x7afdbe(_0x3ad0db,_0x38216f-0x4f);}function _0x4fc033(_0xbb8391,_0xd65203){return _0x54a7f1(_0xbb8391- -0x10d,_0xd65203);}if(this['_editing_entity']&&this['type'][_0x5c63e2(_0x29a341._0x1d8516,0x974)](this[_0x5c63e2(0xac6,_0x29a341._0x5893c4)]['type']))this[_0x5c63e2(0x1012,0x143a)]['setStyle'](_0x5d781c);else(this[_0x5c63e2(_0x29a341._0x32d5a5,0x1978)]||this['czmObjectEx'])&&(this[_0x4fc033(_0x29a341._0x332329,_0x29a341._0x4ca490)](this[_0x4fc033(_0x29a341._0x5284e0,0x82b)],_0x5d781c),this[_0x4fc033(_0x29a341._0xfb13dd,_0x29a341._0x3c344d)]&&Cesium__namespace['defined'](_0x5d781c[_0x5c63e2(0x139b,_0x29a341._0x4227ef)])&&this[_0x4fc033(_0x29a341._0xfb13dd,0x53a)](_0x5d781c[_0x5c63e2(_0x29a341._0x597d4b,0xae2)]),(Cesium__namespace[_0x4fc033(_0x29a341._0x534a66,_0x29a341._0x498b89)](_0x5d781c[_0x5c63e2(0x1b0f,0x1664)])||Cesium__namespace[_0x4fc033(0x1574,0xe01)](_0x5d781c[_0x5c63e2(0x11c6,_0x29a341._0x254faa)]))&&(this['positions']=this['positionsShow']),this[_0x5c63e2(0xd3f,0x1351)](this['style'],_0x5d781c));}[_0x7afdbe(0x1190,0x1302)](_0x10a7d4,_0x1c3bb9){const _0x15b64d={_0x1ceb70:0x12ad,_0x373421:0xbb1,_0x3ccf85:0x154e,_0xd79bcd:0xcfc,_0x189805:0x179b,_0x59e1e2:0x12ad,_0x5e333b:0x1565,_0x33d6cc:0x59f,_0x3267ce:0x38d,_0x2167c9:0x121f,_0x2b7e67:0xb8d,_0x2ed246:0x9ff,_0x5648db:0x4bf,_0x484b4c:0xf19,_0x3f4a35:0xc98,_0x4f9709:0x6b,_0x4134aa:0xad9,_0x34f7ac:0x6f3,_0x2503f3:0xb6a};var _0x1dadd0,_0x2c7077;function _0x5a2533(_0x3c2282,_0x42419e){return _0x54a7f1(_0x3c2282- -0x3d4,_0x42419e);}function _0x5e81df(_0x298159,_0xa0d8a4){return _0x7afdbe(_0x298159,_0xa0d8a4-0x16);}if(Cesium__namespace[_0x5a2533(_0x15b64d._0x1ceb70,0x995)](_0x1c3bb9['offsetHeight'])&&Object['keys'](_0x1c3bb9)[_0x5a2533(_0x15b64d._0x373421,0x12aa)]===0x1){this[_0x5e81df(0x932,0xd8d)]=_0x1c3bb9['offsetHeight'];return;}if(Cesium__namespace['defined'](_0x1c3bb9[_0x5e81df(_0x15b64d._0x3ccf85,0x17ad)])||Cesium__namespace['defined'](_0x1c3bb9['addHeight'])||Cesium__namespace['defined'](_0x1c3bb9[_0x5e81df(_0x15b64d._0xd79bcd,0x162b)])||Cesium__namespace[_0x5a2533(0x12ad,0x10c3)]((_0x1dadd0=_0x1c3bb9['outlineStyle'])===null||_0x1dadd0===void 0x0?void 0x0:_0x1dadd0[_0x5e81df(0x1c31,_0x15b64d._0x189805)])||Cesium__namespace[_0x5a2533(_0x15b64d._0x59e1e2,0x19db)]((_0x2c7077=_0x1c3bb9['outlineStyle'])===null||_0x2c7077===void 0x0?void 0x0:_0x2c7077[_0x5e81df(0x1672,0xd64)])){this['redraw'](_0x10a7d4);return;}if(_0x10a7d4[_0x5e81df(0x666,0x4ec)]===Color$2&&(Cesium__namespace[_0x5e81df(_0x15b64d._0x5e333b,0x18c5)](_0x1c3bb9['color'])||Cesium__namespace['defined'](_0x1c3bb9[_0x5e81df(_0x15b64d._0x33d6cc,0x59e)]))){const _0x3ac9f9=getColorByStyle(_0x10a7d4);if(_0x3ac9f9){const _0x3a4d8c=this['_updatePrimitiveForColorMaterial'](this['_primitive'],_0x3ac9f9,_0x10a7d4);if(_0x3a4d8c){if(Cesium__namespace['defined'](_0x1c3bb9['outline'])){if(this[_0x5a2533(0x552,-_0x15b64d._0x3267ce)]){const _0x44f938=this['_getOutlineStyle'](_0x10a7d4);if(!_0x44f938['materialType']){if(_0x44f938[_0x5a2533(_0x15b64d._0x2167c9,0x183c)]){const _0x127ef3=this[_0x5a2533(_0x15b64d._0x2b7e67,_0x15b64d._0x2ed246)](this[_0x5e81df(_0x15b64d._0x5648db,0xb6a)],getCesiumColor(_0x44f938[_0x5e81df(0xe79,0x1456)]),_0x10a7d4);if(_0x127ef3)return;}else{this['_primitive_outline']&&(this['_primitive_outline']['_clampToGround']?this[_0x5a2533(_0x15b64d._0x484b4c,_0x15b64d._0x3f4a35)]['remove'](this['_primitive_outline']):this[_0x5a2533(_0x15b64d._0x4f9709,_0x15b64d._0x4134aa)]['remove'](this['_primitive_outline']),delete this[_0x5e81df(_0x15b64d._0x34f7ac,_0x15b64d._0x2503f3)]);return;}}}}else return;}}}this['redraw'](_0x10a7d4);}[_0x54a7f1(0xf61,0x159e)](_0x4650ea,_0x9ac2bc,_0x23389e){const _0x133da3={_0x36b388:0x93c,_0x4f7ff3:0x6b9,_0x47d7ad:0x185c,_0x448929:0x1753,_0x5dcdcf:0x2361,_0x1557c6:0x369,_0x2527b0:0xa9c,_0x397688:0x3b8,_0x3ef095:0x63c,_0x3507ee:0x1128,_0x32d1ec:0x79a,_0x19c20b:0x1ec},_0x2251b5={_0x3dec5e:0x318};var _0x3a620b;if(!_0x4650ea)return![];const _0x54d604=_0x4650ea===null||_0x4650ea===void 0x0||(_0x3a620b=_0x4650ea[_0x7b3bf6(0xca7,0x4bd)])===null||_0x3a620b===void 0x0||(_0x3a620b=_0x3a620b[_0x7b3bf6(_0x133da3._0x36b388,_0x133da3._0x4f7ff3)])===null||_0x3a620b===void 0x0?void 0x0:_0x3a620b[_0x7b3bf6(_0x133da3._0x47d7ad,_0x133da3._0x448929)];function _0x7b3bf6(_0x3655f6,_0x2395ca){return _0x7afdbe(_0x3655f6,_0x2395ca-0x38);}function _0x3392e4(_0xf772bb,_0x3fbeed){return _0x7afdbe(_0x3fbeed,_0xf772bb- -_0x2251b5._0x3dec5e);}if(Cesium__namespace[_0x7b3bf6(_0x133da3._0x5dcdcf,0x18e7)](_0x54d604===null||_0x54d604===void 0x0?void 0x0:_0x54d604[_0x7b3bf6(0x111c,0x1478)])&&_0x4650ea['appearance'][_0x3392e4(_0x133da3._0x1557c6,0x9a7)][_0x7b3bf6(0x14bb,_0x133da3._0x2527b0)]===Color$2)return _0x4650ea['appearance']['translucent']=_0x9ac2bc[_0x7b3bf6(-_0x133da3._0x397688,_0x133da3._0x3ef095)]!==0x1,_0x54d604['color']=_0x9ac2bc,!![];const _0x13c33e=this['getGeometryInstanceAttributes'](this['id'],_0x4650ea);if(_0x13c33e!==null&&_0x13c33e!==void 0x0&&_0x13c33e[_0x3392e4(_0x133da3._0x3507ee,0x65d)])return _0x13c33e['color']=Cesium__namespace[_0x3392e4(0xf71,0x996)][_0x7b3bf6(0x52b,_0x133da3._0x32d1ec)](_0x9ac2bc),_0x13c33e['depthFailColor']&&(_0x23389e['depthFailColor']||_0x23389e['depthFail'])&&(_0x13c33e['depthFailColor']=Cesium__namespace['ColorGeometryInstanceAttribute'][_0x7b3bf6(-_0x133da3._0x19c20b,0x79a)](getCesiumColor(_0x23389e['depthFailColor'],_0x9ac2bc))),!![];return![];}['setOpacity'](_0x320800){const _0x117c0b={_0x51d736:0xc04,_0x5d1a46:0x32d,_0x26a89a:0x560,_0x206af0:0x222,_0x37ac5d:0x720},_0x56d92c={_0x41a9dd:0x16},_0x4791d2={_0x592997:0x3a};this['style'][_0x30b423(_0x117c0b._0x51d736,0xa7d)]=_0x320800;function _0xf1d42d(_0x27fbc9,_0x4afc27){return _0x54a7f1(_0x27fbc9-_0x4791d2._0x592997,_0x4afc27);}const _0x3d4129=this[_0x30b423(-_0x117c0b._0x5d1a46,0x73e)](this['_primitive'],_0x320800);function _0x30b423(_0x67f7a3,_0x45f7d2){return _0x7afdbe(_0x67f7a3,_0x45f7d2- -_0x56d92c._0x41a9dd);}if(_0x3d4129){this[_0xf1d42d(_0x117c0b._0x26a89a,0x41)](this['_primitive_outline'],_0x320800),this['_updateLabelOpacity'](_0x320800),this['_updateExOpacity']&&this[_0xf1d42d(0xb46,_0x117c0b._0x206af0)](_0x320800);return;}super[_0x30b423(0x716,_0x117c0b._0x37ac5d)](_0x320800);}['_updatePrimitiveOpacity'](_0xfb583c,_0x395081){const _0x4d3806={_0x281d7e:0x9a1,_0x17a4fb:0xeb,_0x41f87e:0x347,_0xe97eef:0x63f,_0x3bf08f:0x279,_0x374d49:0x1515,_0x38c7e4:0xbbc,_0x34cf22:0x20c,_0x3cb644:0x6f9,_0x478856:0x14c,_0x49985c:0x82f,_0x5d3fea:0x13f7,_0x2f96cd:0xf88,_0xfd5c83:0x1118,_0xbe4030:0x33,_0x7b287c:0x26e,_0x18fece:0x2f5,_0xcee334:0x4d5,_0x510e11:0x8e7,_0x1ea476:0x7c9,_0x4f472c:0xa5e};function _0x1d1a35(_0x5343fa,_0x5db483){return _0x7afdbe(_0x5db483,_0x5343fa- -0x4b8);}function _0x25cd9f(_0x35ed2d,_0x509a28){return _0x54a7f1(_0x509a28- -0x16c,_0x35ed2d);}if(!_0xfb583c)return![];try{var _0x4b8b1d;const _0x1395c1=_0xfb583c===null||_0xfb583c===void 0x0||(_0x4b8b1d=_0xfb583c[_0x25cd9f(_0x4d3806._0x281d7e,_0x4d3806._0x17a4fb)])===null||_0x4b8b1d===void 0x0||(_0x4b8b1d=_0x4b8b1d[_0x1d1a35(0x1c9,_0x4d3806._0x41f87e)])===null||_0x4b8b1d===void 0x0?void 0x0:_0x4b8b1d['uniforms'];if(_0x1395c1){if(Cesium__namespace['defined'](_0x1395c1['globalAlpha']))return _0xfb583c['appearance'][_0x25cd9f(_0x4d3806._0xe97eef,0x4ad)]=_0x395081!==0x1,_0x1395c1[_0x25cd9f(_0x4d3806._0x3bf08f,0x6f9)]=_0x395081,!![];if((_0xfb583c['appearance']['material']['type']===Color$2||_0xfb583c[_0x25cd9f(-0x4c5,0xeb)]['material'][_0x25cd9f(0xfbc,0x6ca)]===Image$1)&&Cesium__namespace[_0x25cd9f(0xfed,_0x4d3806._0x374d49)](_0x1395c1[_0x1d1a35(0xf88,0x991)]))return!Cesium__namespace[_0x25cd9f(0x1f5e,_0x4d3806._0x374d49)](_0xfb583c[_0x25cd9f(0x1594,0xee4)])&&(_0xfb583c['_uniforms_color_alpha']=_0x1395c1['color']['alpha']),_0x1395c1['color'][_0x25cd9f(-0x19d,0x26a)]=_0xfb583c['_uniforms_color_alpha']*_0x395081,_0xfb583c['appearance']['translucent']=_0x1395c1[_0x1d1a35(0xf88,_0x4d3806._0x38c7e4)]['alpha']!==0x1,!![];if(_0xfb583c['appearance']['material']['type']===Water$1)return!Cesium__namespace[_0x25cd9f(0x1a0e,0x1515)](_0xfb583c['_uniforms_baseWaterColor_alpha'])&&(_0xfb583c['_uniforms_baseWaterColor_alpha']=_0x1395c1['baseWaterColor']['alpha'],_0xfb583c['_uniforms_blendColor_alpha']=_0x1395c1[_0x1d1a35(0x1c7,_0x4d3806._0x34cf22)]['alpha']),this[_0x25cd9f(0x72a,_0x4d3806._0x3cb644)]!==0x1&&(_0x1395c1['baseWaterColor'][_0x1d1a35(_0x4d3806._0x478856,-_0x4d3806._0x49985c)]=_0xfb583c[_0x1d1a35(0xb66,0x638)]*_0x395081,_0x1395c1['blendColor']['alpha']=_0xfb583c['_uniforms_blendColor_alpha']*_0x395081),!![];}const _0x38779c=this[_0x1d1a35(0xcd5,0x6b2)](this['id'],_0xfb583c);if(_0x38779c!==null&&_0x38779c!==void 0x0&&_0x38779c['color']){!Cesium__namespace[_0x1d1a35(_0x4d3806._0x5d3fea,0xb9f)](_0xfb583c['_attributes_color_alpha'])&&(_0xfb583c['_attributes_color_alpha']=_0x38779c[_0x25cd9f(0x1976,0x10a6)][0x3]/0xff);const _0x29ab76=_0xfb583c['_attributes_color_alpha']*_0x395081;return _0x38779c['color']=new Uint8Array([_0x38779c[_0x1d1a35(_0x4d3806._0x2f96cd,0x12ca)][0x0],_0x38779c['color'][0x1],_0x38779c['color'][0x2],Cesium__namespace[_0x25cd9f(0x736,_0x4d3806._0xfd5c83)]['floatToByte'](_0x29ab76)]),_0xfb583c[_0x1d1a35(-_0x4d3806._0xbe4030,_0x4d3806._0x7b287c)][_0x25cd9f(_0x4d3806._0x18fece,0x4ad)]=_0x29ab76!==0x1,_0x38779c[_0x25cd9f(_0x4d3806._0xcee334,_0x4d3806._0x510e11)]&&(!Cesium__namespace['defined'](_0xfb583c['_attributes_depthFailColor_alpha'])&&(_0xfb583c['_attributes_depthFailColor_alpha']=_0x38779c['depthFailColor'][0x3]/0xff),_0x38779c[_0x1d1a35(_0x4d3806._0x1ea476,_0x4d3806._0x4f472c)]=new Uint8Array([_0x38779c['depthFailColor'][0x0],_0x38779c['depthFailColor'][0x1],_0x38779c[_0x25cd9f(0x409,0x8e7)][0x2],Cesium__namespace['Color']['floatToByte'](_0xfb583c[_0x25cd9f(0x539,0xfa7)]*_0x395081)])),!![];}}catch(_0x12ad0e){}return![];}['getGeometryInstanceAttributes'](_0x15c837,_0x2d0dae){const _0x324228={_0x58e8b1:0x1e4d},_0x4410f1={_0x18e7fc:0x1e9};_0x2d0dae=_0x2d0dae||this[_0x2def8f(0x13ef,_0x324228._0x58e8b1)];function _0x2def8f(_0x514001,_0x3bac3c){return _0x7afdbe(_0x3bac3c,_0x514001- -_0x4410f1._0x18e7fc);}if(!_0x2d0dae||!_0x2d0dae['getGeometryInstanceAttributes'])return null;if(this['style']['clampToGround']&&!_0x2d0dae['_primitive'])return null;return _0x2d0dae['getGeometryInstanceAttributes'](_0x15c837);}[_0x54a7f1(0x12e2,0x1ba4)](_0xd995e5){const _0x5c0aa0={_0x1ef43b:0x679,_0x2a1911:0x1080,_0x4b8cce:0x679};function _0x4a2d77(_0x5b2f69,_0x40e9e7){return _0x54a7f1(_0x5b2f69- -0xdc,_0x40e9e7);}function _0x220e9c(_0x2bfff5,_0x18aa3b){return _0x7afdbe(_0x18aa3b,_0x2bfff5- -0x312);}this['_primitive_label']&&this[_0x220e9c(_0x5c0aa0._0x1ef43b,_0x5c0aa0._0x2a1911)]['show']&&LabelStyleConver['setOpacity'](this[_0x220e9c(_0x5c0aa0._0x4b8cce,0xaf2)],_0xd995e5);}['redraw'](_0x3ce9c6){const _0x39c02f={_0x43b700:0xff2,_0x480efc:0x86a,_0x1c1bcb:0xe1d,_0x38f572:0x1737,_0x348fa8:0x1a76,_0x7ca0c5:0xc7b};this[_0x3bef1f(0x51f,0xa48)]&&this[_0x154477(-0x414,0x61f)]()&&(this['enabledEvent']=![],this[_0x3bef1f(0xeb9,_0x39c02f._0x43b700)]&&(this['_editing_entity']['enabledEvent']=![]),this[_0x154477(0x15e4,0xeae)]=!![],this[_0x3bef1f(0x74b,_0x39c02f._0x480efc)](),this['_noDestroy']=![],this[_0x3bef1f(_0x39c02f._0x1c1bcb,_0x39c02f._0x38f572)](_0x3ce9c6||this['style']),this[_0x3bef1f(0x13f7,_0x39c02f._0x348fa8)]&&this['bindPickId'](this[_0x3bef1f(0x13f7,0x1b31)]),this['czmObjectEx']&&this[_0x3bef1f(0x20a,_0x39c02f._0x7ca0c5)]['forEach'](_0x405755=>{this['bindPickId'](_0x405755);}),this['_editing_entity']&&(this['_editing_entity'][_0x3bef1f(0x661,0x5fd)]=!![]),this['enabledEvent']=!![]);function _0x154477(_0x59edea,_0x36fad3){return _0x54a7f1(_0x36fad3- -0x450,_0x59edea);}function _0x3bef1f(_0x55d0f1,_0x2d6e37){return _0x54a7f1(_0x55d0f1- -0x304,_0x2d6e37);}return this;}[_0x7afdbe(0xe9c,0xa56)](){this['redraw']();}[_0x54a7f1(0x821,0x7e6)](_0x170f16,_0x1a9830){const _0x1a95d4={_0x38078c:0x698,_0x47c66a:0x2dc,_0x52e0cb:0x2c9,_0x5a97be:0xeb1,_0x563ca0:0x1281,_0x1280a2:0x16e0},_0x181034={_0xde447a:0x394};function _0x567614(_0x47a8ef,_0x4cf6bb){return _0x54a7f1(_0x47a8ef- -0xc5,_0x4cf6bb);}function _0x29a7a9(_0x20bf70,_0x41f5a9){return _0x7afdbe(_0x41f5a9,_0x20bf70- -_0x181034._0xde447a);}if(_0x1a9830!==null&&_0x1a9830!==void 0x0&&_0x1a9830[_0x29a7a9(0xf54,0xff2)]){if(this[_0x567614(_0x1a95d4._0x38078c,_0x1a95d4._0x47c66a)]){var _0x49e02d,_0x4d4156,_0x325d6d,_0x1c1f38;LabelStyleConver['toCesiumVal'](_0x170f16['label'],this[_0x29a7a9(0x5f7,-_0x1a95d4._0x52e0cb)],this['attr']),(Cesium__namespace['defined'](_0x1a9830===null||_0x1a9830===void 0x0||(_0x49e02d=_0x1a9830[_0x567614(0xff5,0xb33)])===null||_0x49e02d===void 0x0?void 0x0:_0x49e02d['position'])||Cesium__namespace['defined'](_0x1a9830===null||_0x1a9830===void 0x0||(_0x4d4156=_0x1a9830['label'])===null||_0x4d4156===void 0x0?void 0x0:_0x4d4156[_0x29a7a9(0x501,_0x1a95d4._0x5a97be)])||Cesium__namespace['defined'](_0x1a9830===null||_0x1a9830===void 0x0||(_0x325d6d=_0x1a9830['label'])===null||_0x325d6d===void 0x0?void 0x0:_0x325d6d['addHeight'])||Cesium__namespace['defined'](_0x1a9830===null||_0x1a9830===void 0x0||(_0x1c1f38=_0x1a9830['label'])===null||_0x1c1f38===void 0x0?void 0x0:_0x1c1f38[_0x29a7a9(_0x1a95d4._0x563ca0,0x1732)]))&&this[_0x567614(0x157f,_0x1a95d4._0x1280a2)]();}else this['_addLabel'](_0x170f16['label']);}else Cesium__namespace['defined'](_0x1a9830===null||_0x1a9830===void 0x0?void 0x0:_0x1a9830['globalAlpha'])&&this['_updateLabelOpacity'](_0x1a9830['globalAlpha']);}['_addLabel'](_0x337696){const _0x28ab1f={_0x1c4245:0x420,_0xf68fda:0x19fb,_0x5a4d7f:0x1554,_0x39f570:0xb67,_0x3f7cdc:0x28c,_0x2a8f92:0xf53,_0x152813:0x487,_0x100d93:0x1018,_0x4a5bd3:0xaf8,_0x93ef20:0xa42,_0x48e19a:0x1566,_0x68af41:0x364},_0x48d504={_0xa2cdf8:0x15};function _0x203bc2(_0x2e5d57,_0x89802b){return _0x7afdbe(_0x89802b,_0x2e5d57- -0x627);}this[_0x203bc2(0x899,_0x28ab1f._0x1c4245)]();!_0x337696&&(_0x337696=this['style']['label']);if(!_0x337696||!_0x337696['text']||_0x337696[_0x5cb27f(_0x28ab1f._0xf68fda,0x15de)]===![])return;Cesium__namespace['defined'](this['style'][_0x5cb27f(0x1a84,_0x28ab1f._0x5a4d7f)])&&!Cesium__namespace['defined'](_0x337696[_0x203bc2(0x1170,0x10aa)])&&!Cesium__namespace[_0x203bc2(0x1288,_0x28ab1f._0x39f570)](_0x337696[_0x5cb27f(_0x28ab1f._0x3f7cdc,0x652)])&&(_0x337696['clampToGround']=this[_0x5cb27f(_0x28ab1f._0x2a8f92,_0x28ab1f._0x152813)]['clampToGround']);const _0x1b62ee=LabelStyleConver['toCesiumVal'](_0x337696,{},this['attr']);function _0x5cb27f(_0x428b26,_0x468019){return _0x54a7f1(_0x468019- -_0x48d504._0xa2cdf8,_0x428b26);}return _0x1b62ee[_0x203bc2(0x11fa,0x125f)]=this['show'],_0x1b62ee['position']=this['_getLablePosition'](),this[_0x5cb27f(_0x28ab1f._0x100d93,0x748)]=this[_0x5cb27f(0x2053,0x1618)][_0x203bc2(_0x28ab1f._0x4a5bd3,_0x28ab1f._0x93ef20)][_0x203bc2(0x297,0xa78)](_0x1b62ee),this[_0x5cb27f(0x1461,0x1338)](this['_primitive_label']),this[_0x5cb27f(0x1afe,_0x28ab1f._0x48e19a)](this['_primitive_label']),this[_0x203bc2(_0x28ab1f._0x68af41,-0x358)];}[_0x7afdbe(0xdff,0xec0)](){const _0x46818d={_0x39cb5e:0x14e,_0xe72527:0x102c,_0x40116a:0x898};function _0xad9c78(_0x5cf560,_0x1751fd){return _0x54a7f1(_0x5cf560-0x13b,_0x1751fd);}function _0x29be38(_0x262740,_0x514f66){return _0x7afdbe(_0x514f66,_0x262740- -0x32a);}this[_0xad9c78(0x898,_0x46818d._0x39cb5e)]&&(this['_layer'][_0xad9c78(_0x46818d._0xe72527,0x9a0)]['remove'](this[_0xad9c78(_0x46818d._0x40116a,0x79d)]),delete this['_primitive_label']);}['_updateLabelPosition'](_0x289f58){const _0x5a2e7a={_0x596987:0x2fa},_0x463238={_0x3b9ae9:0x463};function _0x3c986a(_0x2022c5,_0x3ae090){return _0x54a7f1(_0x3ae090- -_0x463238._0x3b9ae9,_0x2022c5);}this['_primitive_label']&&!this[_0x3c986a(-0x336,_0x5a2e7a._0x596987)]['isDestroyed']()&&(this['_primitive_label']['position']=this['_getLablePosition'](_0x289f58));}['_getLablePosition'](_0x1af3de){const _0x2d1a52={_0x59a893:0xc69,_0x41db90:0x12c,_0x59626c:0x10b,_0x388a2b:0x1290,_0x4d2b69:0x10cd,_0x514bed:0x6c2,_0x1b4213:0x259,_0x3eff82:0x103e,_0x494915:0x5bb,_0x277743:0x1f91,_0x4114af:0x15d5,_0x1d60cb:0x3e5,_0x563777:0x7a,_0x5c6f05:0xbaa,_0xe44efc:0x15,_0x38b3f1:0x23},_0xb22fbe={_0x21c49a:0x2da},_0x460497=this[_0x2c602d(0x6b5,0x3f0)][_0x1d880a(_0x2d1a52._0x59a893,0x668)]||{};if(_0x460497['position']&&!_0x1af3de){if(_0x460497['position']===_0x1d880a(_0x2d1a52._0x41db90,_0x2d1a52._0x59626c))_0x1af3de=this['centerOfMass'];else{if(isString(_0x460497['position'])){const _0x15b06b=template(_0x460497[_0x1d880a(_0x2d1a52._0x388a2b,_0x2d1a52._0x4d2b69)],this[_0x1d880a(0x1236,0x8e2)],!![]);_0x15b06b&&(_0x1af3de=LngLatPoint[_0x2c602d(_0x2d1a52._0x514bed,0x30f)](_0x15b06b)['toCartesian']());}else _0x1af3de=LngLatPoint['parse'](_0x460497[_0x2c602d(0xc56,0x1635)])['toCartesian']();}}!_0x1af3de&&(_0x1af3de=this[_0x2c602d(_0x2d1a52._0x1b4213,0x4d1)]);if(!_0x1af3de)return new Cesium__namespace['Cartesian3']();let _0x23c020=_0x460497[_0x2c602d(_0x2d1a52._0x3eff82,_0x2d1a52._0x494915)];!Cesium__namespace['defined'](_0x23c020)&&Cesium__namespace[_0x2c602d(_0x2d1a52._0x277743,_0x2d1a52._0x4114af)](this['style']['height'])&&this[_0x1d880a(_0x2d1a52._0x1d60cb,_0x2d1a52._0x563777)]!=='billboardP'&&(_0x23c020=this['style'][_0x1d880a(0x216,0x593)]);function _0x2c602d(_0x4f221a,_0x4fa47d){return _0x7afdbe(_0x4f221a,_0x4fa47d- -_0xb22fbe._0x21c49a);}function _0x1d880a(_0x9d5fbe,_0x1eb51a){return _0x7afdbe(_0x1eb51a,_0x9d5fbe- -0x67f);}return Cesium__namespace[_0x2c602d(_0x2d1a52._0x5c6f05,0x15d5)](_0x23c020)&&(_0x1af3de=setPositionsHeight(_0x1af3de,_0x23c020)),Cesium__namespace['defined'](this['style']['diffHeight'])&&(_0x1af3de=addPositionsHeight(_0x1af3de,this['style'][_0x2c602d(0x16fc,0xfa0)])),_0x1af3de=this[_0x1d880a(_0x2d1a52._0xe44efc,-_0x2d1a52._0x38b3f1)](_0x1af3de,_0x460497),_0x1af3de;}[_0x54a7f1(0x16c5,0xd10)](_0x45c566,_0x37999b){const _0x4504c0={_0x39644d:0x33,_0x966709:0x1b62,_0x24df62:0x1463,_0xaf9c2c:0x982,_0x40e9c6:0x12c4},_0x3daac8={_0x9579ea:0xd8},_0x5ce09e={..._0x45c566},_0x496b2e=_0x5ce09e;delete _0x496b2e[_0x2a9beb(0x10a,-_0x4504c0._0x39644d)],delete _0x496b2e['materialType'],delete _0x496b2e['materialOptions'],delete _0x496b2e['outline'];function _0x2713c0(_0x5764dd,_0x7f95c5){return _0x54a7f1(_0x5764dd- -_0x3daac8._0x9579ea,_0x7f95c5);}delete _0x496b2e['outlineColor'],delete _0x496b2e['outlineOpacity'],delete _0x496b2e['outlineWidth'],delete _0x496b2e['outlineStyle'];function _0x2a9beb(_0x4a05bd,_0x22cf21){return _0x7afdbe(_0x22cf21,_0x4a05bd- -0x577);}const _0x2b2e83={..._0x496b2e,'show':_0x45c566[_0x2713c0(0x1360,_0x4504c0._0x966709)]??![],'color':_0x45c566['outlineColor']??Cesium__namespace['Color']['WHITE'],'opacity':_0x45c566[_0x2a9beb(0x1012,_0x4504c0._0x24df62)],'width':_0x45c566[_0x2713c0(0x1437,_0x4504c0._0xaf9c2c)]??0x1,..._0x45c566['outlineStyle']};let _0x168e99=_0x2b2e83;return!_0x168e99['show']&&_0x37999b&&(_0x168e99={..._0x168e99,..._0x37999b}),!Cesium__namespace['defined'](_0x168e99['arcType'])&&_0x168e99['clampToGround']&&(_0x168e99['arcType']=Cesium__namespace[_0x2713c0(_0x4504c0._0x40e9c6,0xe85)]['GEODESIC']),_0x168e99;}[_0x54a7f1(0x63d,0x29b)](){const _0x494410={_0x413599:0x120c};function _0x1d993b(_0x39b793,_0x808dbc){return _0x7afdbe(_0x39b793,_0x808dbc- -0x111);}return[this[_0x1d993b(0x1221,_0x494410._0x413599)]];}[_0x7afdbe(0x8b9,0xd84)](_0x4d895d){const _0x2409cf={_0x5cedcd:0xc9f,_0x3b0e84:0x109e,_0x7880ba:0x18d2,_0x293972:0xdce,_0x229e78:0x12e,_0x2b89b8:0x1ec7,_0x4a7e59:0x1ae7,_0x1a18dc:0x10d8,_0x398a6b:0xada,_0x368150:0x13b,_0x5869f4:0x1541,_0x4a1976:0x1a4,_0x4f81c4:0x1632,_0x7f3bac:0x123a,_0x2b7247:0xeb2,_0x3230e8:0x51c,_0xfcbdd5:0x278,_0x4a07c8:0x38c},_0x4cfb64={_0x376593:0x4},_0xad001f=PolylineStyleConver['toCesiumVal'](_0x4d895d),_0x20b804=_0xad001f['clampToGround']?Cesium__namespace[_0x50ee49(0x143f,_0x2409cf._0x5cedcd)]:Cesium__namespace[_0x3f317a(_0x2409cf._0x3b0e84,_0x2409cf._0x7880ba)],_0x7ecf75=this[_0x50ee49(_0x2409cf._0x293972,0x181d)],_0x56c399=[],_0x51ef83=this[_0x50ee49(_0x2409cf._0x229e78,0x867)]();for(let _0x53bfcb=0x0,_0x131314=_0x51ef83['length'];_0x53bfcb<_0x131314;_0x53bfcb++){let _0x4c81f3=_0x51ef83[_0x53bfcb];if(!_0x4c81f3||_0x4c81f3['length']===0x0)continue;Cesium__namespace[_0x3f317a(0x15ce,_0x2409cf._0x2b89b8)](_0x4d895d['height'])&&(_0x4c81f3=setPositionsHeight(_0x4c81f3,_0x4d895d['height']));Cesium__namespace[_0x50ee49(0x1365,0x18ab)](_0x4d895d['setHeight'])&&(_0x4c81f3=setPositionsHeight(_0x4c81f3,_0x4d895d[_0x50ee49(0x1c09,0x1611)]));Cesium__namespace['defined'](_0x4d895d['addHeight'])&&(_0x4c81f3=addPositionsHeight(_0x4c81f3,_0x4d895d['addHeight']));_0x4c81f3['length']>0x0&&(_0x4c81f3=_0x4c81f3['concat'](_0x4c81f3[0x0]));const _0x4e1383={..._0xad001f},_0x294e00=_0x4e1383;_0x294e00['positions']=_0x4c81f3;(!_0x294e00['material']||_0x294e00['material']['type']===_0x50ee49(0x1212,0x14ae))&&(_0x294e00['vertexFormat']=Cesium__namespace['PolylineColorAppearance']['VERTEX_FORMAT']);const _0x298e78=this['_getColorByColorMaterial'](_0x294e00),_0x1c7bb5=new Cesium__namespace[(_0x3f317a(0xe25,0x1811))]({'id':this['id'],'geometry':new _0x20b804(_0x294e00),'attributes':this['_createGeometryInstanceAttributes'](_0x294e00,{'color':Cesium__namespace[_0x50ee49(_0x2409cf._0x4a7e59,0x1285)]['fromColor'](_0x298e78)})});_0x56c399[_0x50ee49(_0x2409cf._0x1a18dc,0x1132)](_0x1c7bb5);}if(_0x56c399['length']===0x0)return;function _0x3f317a(_0x3efd3f,_0x5928ed){return _0x54a7f1(_0x3efd3f- -0xb3,_0x5928ed);}const _0x8de3ac={...this[_0x50ee49(0x1b7,_0x2409cf._0x398a6b)]};_0x8de3ac[_0x3f317a(0x1634,0x160a)]=_0x56c399,_0x8de3ac['show']=_0x7ecf75,_0x8de3ac['shadows']=_0xad001f['shadows'];const _0x3b6b48=_0x8de3ac;delete _0x3b6b48['style'],delete _0x3b6b48[_0x50ee49(0x1228,0x18b1)];if(_0xad001f[_0x50ee49(_0x2409cf._0x368150,0x67d)]&&!_0xad001f['classification']){const _0x147752={..._0xad001f};_0x3b6b48['appearance']=new Cesium__namespace[(_0x3f317a(_0x2409cf._0x5869f4,0x1ca3))](_0x147752);}else{const _0x216383={..._0xad001f};_0x3b6b48[_0x3f317a(_0x2409cf._0x4a1976,0x4f6)]=new Cesium__namespace['PolylineColorAppearance'](_0x216383);}let _0x391f53;function _0x50ee49(_0x4cb50d,_0x307098){return _0x7afdbe(_0x4cb50d,_0x307098- -_0x4cfb64._0x376593);}return this[_0x50ee49(0xbe5,0x6c6)]['clampToGround']?(_0x3b6b48['classificationType']=_0xad001f[_0x50ee49(0x13bf,_0x2409cf._0x4f81c4)],_0x391f53=this[_0x3f317a(_0x2409cf._0x7f3bac,_0x2409cf._0x2b7247)][_0x3f317a(0x5dd,0xe0d)](new Cesium__namespace[(_0x3f317a(_0x2409cf._0x3230e8,_0x2409cf._0xfcbdd5))](_0x3b6b48)),_0x391f53[_0x50ee49(0x5f3,0x5d7)]=!![]):_0x391f53=this[_0x3f317a(_0x2409cf._0x4a07c8,0x861)][_0x50ee49(0x53e,0x8ba)](new Cesium__namespace['Primitive'](_0x3b6b48)),this['bindPickId'](_0x391f53),_0x391f53;}[_0x7afdbe(0x1019,0x15d3)](_0x572623,_0x1dbce5=!![]){const _0x56a20e={_0x77eeeb:0x4dd,_0x2c3943:0x1328,_0x1650a0:0x4d9,_0x42b6c1:0x10f7,_0x10a107:0x763,_0xc3495:0xa11,_0x1fb097:0x61f},_0x244b65={_0x59e1fa:0x359};function _0x294f3c(_0x5a52fa,_0x37d0fb){return _0x54a7f1(_0x37d0fb- -0x4a7,_0x5a52fa);}var _0x2f9488;function _0x4fabc2(_0x4581c0,_0x4a4db1){return _0x54a7f1(_0x4a4db1- -_0x244b65._0x59e1fa,_0x4581c0);}_0x1dbce5&&(this['_map']['closeHighlight'](),this['_map'][_0x294f3c(0x14ec,0x1162)]=this);this['_highlight_state']=!![];const _0x254daf=_0x572623||this['_highlightOptions']||((_0x2f9488=this['_layer'])===null||_0x2f9488===void 0x0?void 0x0:_0x2f9488['_highlightOptions']);if(_0x254daf){const _0x217b55=[];for(const _0x5438f9 in _0x254daf){if(_0x5438f9===_0x4fabc2(0x82,_0x56a20e._0x77eeeb))continue;!Cesium__namespace[_0x4fabc2(0xe68,_0x56a20e._0x2c3943)](this[_0x4fabc2(-_0x56a20e._0x1650a0,0x143)][_0x5438f9])&&_0x217b55['push'](_0x5438f9);}_0x217b55['length']>0x0&&logWarn('openHighlight:原有style中不存在以下属性,关闭高亮时将无法恢复',_0x217b55);const _0x531645=merge(clone(this['style']),_0x254daf);_0x531645[_0x294f3c(_0x56a20e._0x42b6c1,0x114c)]=this[_0x294f3c(_0x56a20e._0x10a107,0x114c)],this['_updateStyleHook'](_0x531645,_0x254daf),this['_updateLabelStyleHook'](_0x531645,_0x254daf),this[_0x294f3c(0xbb7,_0x56a20e._0xc3495)](EventType[_0x4fabc2(0x99,_0x56a20e._0x1fb097)],{},!![]);}}[_0x7afdbe(0xba8,0x487)](){const _0x3beec0={_0x3e7917:0x575,_0x5920f0:0x1c12,_0x44bd0e:0x475,_0x4fd5b1:0x4e,_0x253de0:0xab6,_0x104fe8:0xec8,_0x21d8bd:0x36e,_0x3c11b4:0x290,_0x9d9e16:0x350},_0x166671={_0x1ced21:0x20c};if(!this[_0x49e56a(0x8f3,_0x3beec0._0x3e7917)]||!this[_0x41284f(_0x3beec0._0x5920f0,0x13e7)]||!this[_0x49e56a(-_0x3beec0._0x44bd0e,_0x3beec0._0x4fd5b1)])return;delete this[_0x49e56a(-0x11f,0x4e)];function _0x41284f(_0x394b33,_0x298c09){return _0x54a7f1(_0x298c09- -_0x166671._0x1ced21,_0x394b33);}this[_0x41284f(_0x3beec0._0x253de0,_0x3beec0._0x104fe8)](this['style'],this['style']),this['_updateLabelStyleHook'](this['style'],this[_0x41284f(_0x3beec0._0x21d8bd,_0x3beec0._0x3c11b4)]);function _0x49e56a(_0x46fd04,_0x4dfec5){return _0x7afdbe(_0x46fd04,_0x4dfec5- -0x4dc);}this[_0x41284f(-_0x3beec0._0x9d9e16,0x5c7)][_0x49e56a(0x126a,0xd27)](),this[_0x49e56a(0x931,0xc0a)](EventType['highlightClose'],{},!![]);}[_0x7afdbe(0x1d6e,0x1502)](_0xd93bf9){const _0x872380={_0x4ca783:0xb1c,_0x123ec2:0xc74,_0x35abaf:0x2},_0x46ffb9={_0x3c1cef:0xa2};function _0x4843c4(_0x18df9e,_0x4b0f40){return _0x54a7f1(_0x4b0f40-0xd4,_0x18df9e);}this['style'][_0x4843c4(_0x872380._0x4ca783,_0x872380._0x123ec2)]&&(_0xd93bf9=_0x4843c4(-_0x872380._0x35abaf,0x795)+_0xd93bf9);this['style']['faceForward']&&(_0xd93bf9=_0x4843c4(0x16de,0x14e0)+_0xd93bf9);function _0x5aa8b0(_0x57c1b5,_0x2ba658){return _0x54a7f1(_0x57c1b5- -_0x46ffb9._0x3c1cef,_0x2ba658);}return _0xd93bf9;}[_0x54a7f1(0x132e,0x11fb)](_0x396fe9){const _0x2ac68f={_0x2a730e:0x758,_0x1a034f:0x13e8,_0x5337d3:0x119c,_0x4457fb:0x5c8,_0x13745f:0x33f,_0x20d465:0x984,_0x43cc03:0x1079,_0x5c61b6:0x6a5,_0xaba0e8:0x12dd,_0x2a3138:0xb,_0x39dcde:0x53f,_0x2c2037:0x1787,_0x2615da:0xce3,_0x2dff24:0x1305},_0xb5201b={_0x9529e9:0x38c},_0x3ec098={_0x54f3e4:0x148};if(!this['_getDrawEntityClass']){logInfo('对象不支持标绘',this);return;}if(this[_0x2cfde8(0xd47,_0x2ac68f._0x2a730e)])return this;function _0x59b68a(_0xf084b6,_0x58645a){return _0x54a7f1(_0x58645a-_0x3ec098._0x54f3e4,_0xf084b6);}this['_enabledDraw']=!![],this[_0x2cfde8(_0x2ac68f._0x1a034f,0x117a)]=![];_0x396fe9&&this[_0x59b68a(_0x2ac68f._0x5337d3,0x1162)](_0x396fe9);if(!this[_0x2cfde8(_0x2ac68f._0x4457fb,_0x2ac68f._0x13745f)])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this[_0x2cfde8(_0x2ac68f._0x20d465,_0x2ac68f._0x43cc03)]();const _0x519ee4=getDrawOptions(this[_0x2cfde8(_0x2ac68f._0x5c61b6,0xd12)]),_0x5dcdf2={..._0x519ee4,'style':this['_getDrawEntityStyle'](),'availability':this[_0x59b68a(0x162c,_0x2ac68f._0xaba0e8)],'private':!![]};function _0x2cfde8(_0x3b2124,_0x47437e){return _0x7afdbe(_0x47437e,_0x3b2124- -0x439);}this['_editing_entity']=this[_0x59b68a(-_0x2ac68f._0x2a3138,_0x2ac68f._0x39dcde)](_0x5dcdf2,!![]),this['_editing_entity']['parent']=this,this['_editing_entity']['once'](EventType[_0x59b68a(_0x2ac68f._0x2c2037,0x16e5)],_0xfac3e6=>{function _0x2a24ea(_0xf15585,_0x1bf85b){return _0x59b68a(_0xf15585,_0x1bf85b- -0x139);}this[_0x2a24ea(0x136b,0x115a)]();}),this['_editing_entity']['on']([EventType['drawAddPoint'],EventType['drawMouseMove'],EventType[_0x59b68a(0x12fd,_0x2ac68f._0x2615da)]],_0x48efb2=>{const _0x48b5c8={_0x53f742:0x5f2};_0x48efb2['graphic']=this;function _0x5f0fe7(_0x4d7ded,_0x8bc4d7){return _0x59b68a(_0x4d7ded,_0x8bc4d7- -_0x48b5c8._0x53f742);}_0x48efb2['drawType']=this['type'],this['fire'](_0x48efb2[_0x5f0fe7(0x791,_0xb5201b._0x9529e9)],_0x48efb2,!![]);}),this[_0x59b68a(0x110b,_0x2ac68f._0x2dff24)]['startDraw'](this['_layer']),this['fire'](EventType[_0x59b68a(0x729,0x554)],{'drawType':this['type']},!![]);}[_0x7afdbe(0x17cf,0x1379)](){const _0x287056={_0x5be088:0x1382,_0x4d20ed:0xee9,_0xfb9f10:0x7d1,_0x39e411:0x1654,_0x52c547:0x3db,_0x289928:0x64e,_0x5722fe:0x59c,_0x29dd88:0xf27,_0x1cb478:0xa19,_0x341fc2:0x91,_0x25f812:0x298,_0x5d9a70:0xb40,_0x16cfeb:0x3e};var _0x1ef2fd,_0x27aa7b;function _0x47379b(_0x4ca289,_0x40ee16){return _0x54a7f1(_0x4ca289- -0x314,_0x40ee16);}if(!this['_enabledDraw']||!this[_0x47379b(0xea9,_0x287056._0x5be088)])return this;this['_enabledDraw']=![];if(!this[_0x4336e4(0xdeb,0xf5b)][_0x4336e4(0x8b8,_0x287056._0x4d20ed)]()){this['_removeEditingEntity'](),this[_0x47379b(0x47a,_0x287056._0xfb9f10)](!![]);return;}this[_0x4336e4(0x342,0x267)]();function _0x4336e4(_0x21b6aa,_0x2e3972){return _0x54a7f1(_0x2e3972- -0x262,_0x21b6aa);}this[_0x47379b(0xba4,0x11da)](EventType[_0x47379b(0x1289,0xbea)],{'drawType':this['type'],'positions':this[_0x47379b(0xddb,_0x287056._0x39e411)]},!![]),(_0x1ef2fd=this[_0x4336e4(_0x287056._0x52c547,_0x287056._0x289928)])!==null&&_0x1ef2fd!==void 0x0&&_0x1ef2fd['success']&&this[_0x47379b(_0x287056._0x5722fe,0xc06)][_0x47379b(_0x287056._0x29dd88,_0x287056._0x1cb478)](this),(_0x27aa7b=this['options'])!==null&&_0x27aa7b!==void 0x0&&(_0x27aa7b=_0x27aa7b[_0x47379b(-_0x287056._0x341fc2,-_0x287056._0x25f812)])!==null&&_0x27aa7b!==void 0x0&&_0x27aa7b[_0x4336e4(0xd50,_0x287056._0x5d9a70)]&&this[_0x4336e4(0xd72,0x64e)][_0x4336e4(_0x287056._0x16cfeb,0x21)]['resolve'](this);}['endDraw'](){const _0x53f2ec={_0x4a9757:0xde5,_0x122970:0x39d,_0x1de845:0xe4a},_0x1b243a={_0x5f07c7:0x39b};function _0x34f1b5(_0x2c732a,_0x1fea6b){return _0x7afdbe(_0x2c732a,_0x1fea6b- -_0x1b243a._0x5f07c7);}function _0x59eb2f(_0x4ea410,_0x4572a1){return _0x54a7f1(_0x4572a1- -0x373,_0x4ea410);}if(!this[_0x34f1b5(0x609,_0x53f2ec._0x4a9757)]||!this[_0x59eb2f(_0x53f2ec._0x122970,_0x53f2ec._0x1de845)])return![];if(!this['_editing_entity']['endDraw']())return![];return!![];}['_getDrawEntityStyle'](){const _0x320c9f=this['_style2JsonBase'](this['style'],![]);return delete _0x320c9f['highlight'],_0x320c9f;}['_getDrawPointEntityClass'](_0x415e2c,_0x5d26eb){_0x415e2c['drawShow']=!_0x5d26eb,_0x415e2c['style']=getEditPointStyle(undefined,_0x415e2c['style']);function _0x2923dd(_0x42d4ed,_0x2f45fc){return _0x7afdbe(_0x2f45fc,_0x42d4ed- -0xb5);}return create$5(_0x2923dd(0xe95,0xf21),_0x415e2c);}[_0x54a7f1(0x4c9,0xed8)](){const _0xf2aa8e={_0x59f3b9:0x472,_0x21cc95:0xb00,_0x27091c:0x5e,_0x1a62bc:0x19d,_0x4ec46e:0x53c,_0x5eddbc:0x751,_0x46fb3f:0x1bc0,_0x3a8922:0xcb1,_0x375517:0x38d,_0xf2c08e:0x490,_0x3b32e7:0x1163},_0xf36579=this['_editing_entity']['toJSON']();this[_0x4d04dc(0x1dc,0xa30)]();if(_0xf36579['style']&&this[_0x57a67a(0x3f8,0x30e)][_0x57a67a(0x2b9,-0x579)](_0xf36579['type']))this[_0x57a67a(_0xf2aa8e._0x59f3b9,_0xf2aa8e._0x21cc95)][_0x57a67a(_0xf2aa8e._0x27091c,-_0xf2aa8e._0x1a62bc)]=merge(this[_0x57a67a(0x472,_0xf2aa8e._0x4ec46e)]['style'],_0xf36579['style']),this['_updateStyleBaseHook'](this[_0x4d04dc(0x2cb,_0xf2aa8e._0x5eddbc)]['style']);else this['_updateStyleByEdit']&&this['_updateStyleByEdit'](_0xf36579['style'],_0xf36579);if(_0xf36579['position'])this['position']=_0xf36579[_0x4d04dc(_0xf2aa8e._0x46fb3f,0x1582)];else _0xf36579[_0x57a67a(_0xf2aa8e._0x3a8922,_0xf2aa8e._0x375517)]&&(this[_0x57a67a(0xcb1,_0xf2aa8e._0xf2c08e)]=_0xf36579['positions']);function _0x57a67a(_0x3729b7,_0x2306a5){return _0x54a7f1(_0x3729b7- -0x43e,_0x2306a5);}function _0x4d04dc(_0x44f350,_0x55b233){return _0x7afdbe(_0x44f350,_0x55b233- -0x38d);}this[_0x57a67a(0x11b5,_0xf2aa8e._0x3b32e7)]=!![];}[_0x54a7f1(0xb8f,0xf5)](){const _0x12ecae={_0x254097:0xe2a,_0xc63fcb:0x1541},_0x10ee23={_0x10a516:0x393};function _0x54f93f(_0x4902cb,_0x3d81f5){return _0x54a7f1(_0x4902cb- -_0x10ee23._0x10a516,_0x3d81f5);}this['_editing_entity']&&(this[_0x54f93f(_0x12ecae._0x254097,_0x12ecae._0xc63fcb)]['remove'](!![]),delete this['_editing_entity']);}['startEditing'](){const _0x4f266d={_0x2d4511:0x3b5,_0xdf3ef8:0x492,_0xd01094:0xcb0,_0x1fca52:0xc0a,_0x42c3b6:0xd9f,_0x517d6c:0x6a2,_0x4bda4e:0x418,_0x1fd0e8:0x212,_0x446e25:0xfb1,_0x49a426:0xe81,_0xfa79e:0x11,_0x48ffa7:0x7c8,_0x52981a:0x2f8,_0x12e372:0xdf7},_0x338f3e={_0x432708:0x1939,_0x2cc967:0x7ae,_0xceacf8:0x1977,_0x3cf52e:0x13ab,_0x34e494:0xd5a,_0x2b7cb8:0x1166,_0x13a78b:0x13ab,_0x43a9ea:0x1282,_0x19deaf:0xffe},_0x2231bd={_0x3eb555:0x3ec},_0x5084b5={_0x1b7709:0x133f,_0x56b6e2:0x1c42};if(this['_enabledEdit'])return this;this['_enabledEdit']=!![];if(!this[_0x5e3e1f(0xd9c,_0x4f266d._0x2d4511)])throw new Error('编辑时_map不能为空,请将对象添加到图层,并且图层已添加到Map');function _0x5e3e1f(_0x12f045,_0x4f19b0){return _0x54a7f1(_0x4f19b0- -0x41e,_0x12f045);}this['_removeEditingEntity']();const _0x389b5f=getDrawOptions(this[_0x5e3e1f(0x8df,_0x4f266d._0xdf3ef8)]),_0xc88e76={..._0x389b5f,'style':this[_0x3c05d3(0x151a,0xcdd)](),'availability':this[_0x3c05d3(0x969,_0x4f266d._0xd01094)],'private':!![]};this['position']&&isPointType(this['type'])?_0xc88e76[_0x5e3e1f(0x119e,0x12c3)]=this['position']:_0xc88e76[_0x3c05d3(0x7a1,_0x4f266d._0x1fca52)]=this['positions'];this[_0x5e3e1f(0x1431,_0x4f266d._0x42c3b6)]=this['_getDrawEntityClass'](_0xc88e76,![]);this['_startEditingHook']&&this['_startEditingHook'](this[_0x3c05d3(0x5df,0xcd8)]);this['_editing_entity']['parent']=this;const _0x120853=this[_0x5e3e1f(-_0x4f266d._0x517d6c,_0x4f266d._0x4bda4e)][_0x3c05d3(0x472,_0x4f266d._0x1fd0e8)](this[_0x5e3e1f(_0x4f266d._0x446e25,0xd9f)]['type'])&&!this['EditClass'];this['_editing_entity']['once'](EventType['editStop'],_0x3a14ad=>{function _0x21c493(_0x10e35c,_0xdf5dd8){return _0x5e3e1f(_0xdf5dd8,_0x10e35c-0x2fa);}this[_0x21c493(_0x5084b5._0x1b7709,_0x5084b5._0x56b6e2)]();}),this['_editing_entity']['on'](EventType['editStyle'],_0x404381=>{const _0x530a72=this['_editing_entity']['toJSON']();if(_0x530a72['style']&&_0x120853)this['options']['style']=merge(this['options']['style'],_0x530a72['style']);else this['_updateStyleByEdit']&&this['_updateStyleByEdit'](_0x530a72['style'],_0x530a72);}),this['_editing_entity']['on']([EventType[_0x5e3e1f(0x6a8,-0x157)],EventType['editMovePoint'],EventType['editRemovePoint']],_0x5425ad=>{function _0x59dfec(_0xabf3da,_0x4b7e56){return _0x5e3e1f(_0xabf3da,_0x4b7e56-_0x2231bd._0x3eb555);}function _0x51ba64(_0x221730,_0x449830){return _0x3c05d3(_0x449830,_0x221730-0x86);}if(this['_editing_entity'][_0x51ba64(0xf7e,_0x338f3e._0x432708)])_0x120853?(this['_point']=LngLatPoint[_0x59dfec(_0x338f3e._0x2cc967,0x389)](this['_editing_entity'][_0x59dfec(_0x338f3e._0xceacf8,_0x338f3e._0x3cf52e)]),this[_0x59dfec(0x813,_0x338f3e._0x34e494)]=this[_0x59dfec(0x185f,0x118b)][_0x59dfec(_0x338f3e._0x2b7cb8,_0x338f3e._0x13a78b)]):this[_0x51ba64(_0x338f3e._0x43a9ea,0x19c0)]=this[_0x51ba64(0xd5e,_0x338f3e._0x19deaf)]['_position_draw'];else this['_editing_entity']['_positions_draw']&&(_0x120853?(this[_0x59dfec(0x1304,0x1530)]=LngLatArray['toPoints'](this['_editing_entity'][_0x51ba64(0x372,-0x3db)]),this[_0x51ba64(0x8de,-0x1d0)]=this['_editing_entity']['_positions_draw']):this[_0x51ba64(0xc90,0x8bb)]=this['_editing_entity'][_0x51ba64(0x372,0x24d)]);});!_0x120853&&delete this['_editing_entity']['style'][_0x5e3e1f(0x736,0xc9c)];this['_layer']['addGraphic'](this['_editing_entity']),this[_0x5e3e1f(_0x4f266d._0x49a426,0xd9f)][_0x3c05d3(_0x4f266d._0xfa79e,_0x4f266d._0x48ffa7)]();function _0x3c05d3(_0x57ec91,_0x423a10){return _0x54a7f1(_0x423a10- -0x4e5,_0x57ec91);}_0x120853?this['show']=![]:this['_editing_entity'][_0x3c05d3(0x340,0x351)]!=='point'&&(this['_editing_entity'][_0x3c05d3(-_0x4f266d._0x52981a,0x49)][_0x3c05d3(_0x4f266d._0x12e372,0x110e)]=![]);}[_0x54a7f1(0x1463,0xe6f)](){const _0x38528e={_0x19753d:0x1892};function _0xc5805f(_0x20b99e,_0x2d6696){return _0x7afdbe(_0x20b99e,_0x2d6696- -0x314);}if(!this['_enabledEdit']||!this[_0xc5805f(_0x38528e._0x19753d,0x10d7)])return this;this['_enabledEdit']=![],this['_updateDrawEntityToThis']();}}function getDrawOptions(_0x5693f0){const _0xbe3528={_0x2918b6:0x1cd};function _0x47889c(_0x372459,_0x23df4b){return _0x54a7f1(_0x23df4b-_0xbe3528._0x2918b6,_0x372459);}if(!_0x5693f0)return _0x5693f0;try{const _0x44efb3={};for(const _0x3365cc in _0x5693f0){const _0x6679a1=_0x5693f0[_0x3365cc];if(_0x3365cc===_0x47889c(0x2056,0x17c0))continue;(isBoolean(_0x6679a1)||isNumber(_0x6679a1)||isString(_0x6679a1))&&(_0x44efb3[_0x3365cc]=_0x6679a1);}return _0x44efb3;}catch(_0x16bcc4){}return _0x5693f0;}class BasePolyPrimitive extends BasePrimitive{constructor(_0xfda5e5={}){const _0x3c6825={_0x3876b1:0x1fe};super(_0xfda5e5),this[_0x26e139(0x8c8,0x6a4)]=this['options']['hasEdit']??!![];function _0x14ef61(_0x11885f,_0x36cd3e){return _0x7afdbe(_0x36cd3e,_0x11885f- -0x3e7);}function _0x26e139(_0x3cfc10,_0x3604b7){return _0x7afdbe(_0x3604b7,_0x3cfc10- -0x570);}_0xfda5e5['positions']&&(this['style']['buffer']>0x0?this['positions']=bufferPoints(_0xfda5e5['positions'],this['style']['buffer'],this[_0x14ef61(0x2e3,-_0x3c6825._0x3876b1)]['bufferSteps']):this['positions']=_0xfda5e5['positions']);}get['center'](){const _0x4d0671={_0xd6f435:0x1c5};function _0x4b4ce0(_0x2c2478,_0x460a14){return _0x54a7f1(_0x460a14- -0x4c,_0x2c2478);}return this['style']['closure']?this['centerOfMass']:this[_0x4b4ce0(_0x4d0671._0xd6f435,0x87d)];}get['centerOfMass'](){const _0x14ba4e={_0x5cdb95:0x886},_0xf3ab8={_0x10256c:0x234};function _0x827617(_0x3cd875,_0x1bd85b){return _0x7afdbe(_0x3cd875,_0x1bd85b- -_0xf3ab8._0x10256c);}return centerOfMass(this[_0x827617(0xba5,_0x14ba4e._0x5cdb95)]);}get['centerOfLine'](){const _0x257158={_0x1fcfe7:0x1241,_0x592548:0xc0b,_0x1e65ea:0xf44,_0x24c9b9:0x923,_0xdfaa82:0xb26,_0x505962:0x758,_0x517578:0x6bb};function _0x2cdcd1(_0x4e9e1a,_0x41c0aa){return _0x54a7f1(_0x4e9e1a-0x2bc,_0x41c0aa);}const _0x21e500=this['positionsShow'];if(!_0x21e500||_0x21e500[_0x2cdcd1(_0x257158._0x1fcfe7,0xfcd)]===0x0)return null;else{if(_0x21e500['length']===0x1)return _0x21e500[0x0];}let _0x169662;function _0xc35a(_0x39b82c,_0xf1ba28){return _0x7afdbe(_0x39b82c,_0xf1ba28- -0x26f);}if(_0x21e500[_0xc35a(_0x257158._0x592548,_0x257158._0x1e65ea)]<0xa){const _0x3c016a={};_0x3c016a['point']=!![],_0x169662=sliceByMaxDistance(_0x21e500,this['distance']/0x2,_0x3c016a);}else _0x169662=_0x21e500[Math['floor'](_0x21e500['length']/0x2)];return Cesium__namespace['defined'](this['style'][_0x2cdcd1(_0x257158._0x24c9b9,_0x257158._0xdfaa82)])&&(_0x169662=setPositionsHeight(_0x169662,this[_0x2cdcd1(_0x257158._0x505962,_0x257158._0x517578)]['height'])),_0x169662;}get['distance'](){return getDistance(this['positionsShow']);}get[_0x54a7f1(0x6e8,0x117c)](){return getArea(this['positionsShow']);}get[_0x7afdbe(0x1471,0x131d)](){const _0xe06508={_0xf871c4:0xec2};function _0x3e27a2(_0x46723f,_0x3ce7fa){return _0x7afdbe(_0x3ce7fa,_0x46723f- -0xa9);}return this[_0x3e27a2(_0xe06508._0xf871c4,0x6e5)];}set[_0x7afdbe(0x1700,0x131d)](_0x1c893a){const _0x4aba9d={_0x29705a:0x36,_0x2c130c:0x1312,_0x40f006:0x17c1,_0x5dfe35:0x101e,_0x7f1236:0x16b6},_0xb9d8cb={_0x759dd:0x38c},_0xd09245={_0x201aaf:0x145d,_0x53926e:0x6dc,_0x3a3cb1:0x709,_0x543e3b:0x3a0,_0x28ce5e:0x18ee,_0x14b5c2:0x1e6,_0x4b0a57:0x744},_0x34b6ca={_0x2b9a75:0x300};function _0x53e4a3(_0x58ee0f,_0x47e037){return _0x7afdbe(_0x47e037,_0x58ee0f- -0x4fd);}if(!_0x1c893a||this[_0x3ffd15(0x422,_0x4aba9d._0x29705a)])return;const _0x14de70=[],_0xc02235=[];_0x1c893a[_0x53e4a3(0x376,0xbce)]((_0x38ae8d,_0x283b97)=>{function _0x49e8ff(_0x1ab9a8,_0x1c0e93){return _0x3ffd15(_0x1ab9a8,_0x1c0e93-_0x34b6ca._0x2b9a75);}const _0x40ad34=LngLatPoint['parse'](_0x38ae8d);if(!_0x40ad34||!_0x40ad34[_0x49e8ff(0x14d8,_0xd09245._0x201aaf)]())return;const _0x107b4c=_0x14de70[_0x14de70['length']-0x1];if(_0x107b4c&&_0x107b4c['equals'](_0x40ad34))return;const _0x49647e=this['getSetHeight'](this[_0x49e8ff(-0x32f,0x410)],_0x283b97);Cesium__namespace['defined'](_0x49647e)&&(_0x40ad34['alt']=_0x49647e);const _0x2e675d=this[_0x49e8ff(0xf69,_0xd09245._0x53926e)](this[_0x6ce063(_0xd09245._0x3a3cb1,-_0xd09245._0x543e3b)],_0x283b97);Cesium__namespace[_0x6ce063(_0xd09245._0x28ce5e,0x1c2d)](_0x2e675d)&&(_0x40ad34[_0x49e8ff(-_0xd09245._0x14b5c2,0x3c9)]=_0x40ad34['alt']+_0x2e675d);_0x14de70[_0x49e8ff(_0xd09245._0x4b0a57,0xe7c)](_0x40ad34);function _0x6ce063(_0x1b64c1,_0x5517e){return _0x3ffd15(_0x5517e,_0x1b64c1-0x5f9);}_0xc02235['push'](_0x40ad34['toCartesian']());}),this[_0x3ffd15(_0x4aba9d._0x2c130c,0x11d6)]=_0x14de70,this['_positions']=_0xc02235;this[_0x3ffd15(_0x4aba9d._0x40f006,_0x4aba9d._0x5dfe35)]&&this['_updatePositionsHook']();this['_primitive_label']&&this[_0x53e4a3(0x1375,_0x4aba9d._0x7f1236)]();function _0x3ffd15(_0x19d499,_0x479d5f){return _0x54a7f1(_0x479d5f- -_0xb9d8cb._0x759dd,_0x19d499);}this['_editing_entity']&&!this[_0x53e4a3(0xea9,0x1860)]&&(this['_editing_entity']['positions']=_0xc02235),this['_getRectangle_cache']&&delete this['_getRectangle_cache'],this['fire'](EventType[_0x3ffd15(-0x1df,0x3e4)],{'positions':this['_positions']});}get[_0x54a7f1(0x88c,0xdf5)](){return this['positions'];}get[_0x54a7f1(0x840,0xd2a)](){const _0x3f63bd={_0x4c79df:0x26d},_0x2f67d7={_0x337997:0x2b},_0x21fad4={_0x3b021e:0x42};function _0x172176(_0x1c3ae7,_0x217277){return _0x54a7f1(_0x1c3ae7-_0x21fad4._0x3b021e,_0x217277);}function _0x22e65c(_0xf175ae,_0x34ba19){return _0x54a7f1(_0x34ba19-_0x2f67d7._0x337997,_0xf175ae);}return!this['_points']&&(this[_0x22e65c(0x1f0a,0x158d)]=LngLatArray['toPoints'](this[_0x22e65c(_0x3f63bd._0x4c79df,0x8b7)])),this[_0x22e65c(0xdb5,0x158d)];}get['coordinates'](){const _0x406895={_0x48e87c:0xf6,_0x8f7ecd:0x861};function _0x3bfb65(_0x149a25,_0x20c4d5){return _0x54a7f1(_0x149a25- -0x2b3,_0x20c4d5);}return this[_0x3bfb65(_0x406895._0x48e87c,_0x406895._0x8f7ecd)]();}get[_0x54a7f1(0x2cc,0x4f1)](){function _0x42cf39(_0x56a8df,_0x4be456){return _0x54a7f1(_0x4be456- -0x135,_0x56a8df);}return Cesium__namespace[_0x42cf39(0xcb3,0x3c4)]['fromCartesianArray'](this['positions']);}['_getGeoJsonGeometry'](_0x41efdd){return{'type':'LineString','coordinates':this['getCoordinates'](_0x41efdd===null||_0x41efdd===void 0x0?void 0x0:_0x41efdd['noAlt'])};}[_0x7afdbe(0xe48,0x5d7)](_0x3e7eb8){const _0x3e295a=[];function _0x50cada(_0x1d8cee,_0x5df5d2){return _0x7afdbe(_0x5df5d2,_0x1d8cee- -0x4d);}return this['points'][_0x50cada(0x826,-0x16c)](_0x5750de=>{function _0x4d40b1(_0x1a7e83,_0x5de2ef){return _0x50cada(_0x1a7e83- -0x2cf,_0x5de2ef);}_0x3e295a['push'](_0x5750de[_0x4d40b1(0x16b8,0x1060)](_0x3e7eb8));}),_0x3e295a;}['isInPoly'](_0x2a8f61){return isInPoly(_0x2a8f61,this['positionsShow']);}['autoSurfaceHeight'](_0x41c404={}){const _0x893a41={_0x1d4714:0xf0a,_0x292942:0x14d5,_0x35747f:0x117,_0x2beda6:0x976},_0x23f939={_0x5b002d:0x6ca},_0x5cd17d={..._0x41c404};_0x5cd17d['map']=this['_map'];function _0x5a2625(_0x168d1e,_0x3cb2ae){return _0x7afdbe(_0x3cb2ae,_0x168d1e- -_0x23f939._0x5b002d);}_0x5cd17d[_0x687c2a(0x807,_0x893a41._0x1d4714)]=this[_0x687c2a(_0x893a41._0x292942,0xf0a)];function _0x687c2a(_0x5333f8,_0x28df3f){return _0x54a7f1(_0x28df3f- -0x1e5,_0x5333f8);}return computeSurfacePoints(_0x5cd17d)[_0x5a2625(_0x893a41._0x35747f,-_0x893a41._0x2beda6)](_0x27ec32=>{return!_0x27ec32['noHeight']&&(this['positions']=_0x27ec32['positions']),_0x27ec32;});}}class PolylinePrimitive extends BasePolyPrimitive{constructor(_0x55b92a={}){const _0x39b012={_0x1db786:0x3cb,_0x23990a:0x75e},_0x419df0={_0xb1981:0x221};function _0x7a3ffe(_0x279fd3,_0x2d5966){return _0x54a7f1(_0x279fd3- -_0x419df0._0xb1981,_0x2d5966);}super(_0x55b92a),this[_0x7a3ffe(_0x39b012._0x1db786,_0x39b012._0x23990a)]=!![];}['_conversionStyle'](_0xa20656){return PolylineStyleConver['toCesiumVal'](_0xa20656);}[_0x54a7f1(0x82f,0xe4a)](_0xfde508,_0x33b593){return PolylineStyleConver['toJSON'](_0xfde508,_0x33b593);}[_0x7afdbe(0xbd2,0x113d)](_0x2bb122,_0x1508fe){const _0x34740f={_0xa214a3:0xbe0,_0x4fd9a7:0x1be,_0x5dcdf4:0x1327,_0x53252d:0xb50,_0x1e7d5d:0xf41},_0x24088f={_0x3202d6:0x411};var _0x415814;_0x2bb122[_0x4eb1bd(0x1087,0x127a)]=this[_0x28095a(_0x34740f._0xa214a3,0xcde)]||[];function _0x28095a(_0xa5dad9,_0x446b13){return _0x54a7f1(_0x446b13- -_0x24088f._0x3202d6,_0xa5dad9);}if(((_0x415814=_0x2bb122['positions'])===null||_0x415814===void 0x0?void 0x0:_0x415814[_0x28095a(_0x34740f._0x4fd9a7,0xb74)])<0x2)return;!_0x2bb122['clampToGround']&&_0x2bb122['closure']&&(_0x2bb122['positions']=_0x2bb122[_0x28095a(_0x34740f._0x5dcdf4,0xcde)][_0x4eb1bd(0x782,_0x34740f._0x53252d)](_0x2bb122['positions'][0x0]));function _0x4eb1bd(_0x267f40,_0x8c82e0){return _0x7afdbe(_0x267f40,_0x8c82e0- -0xa3);}const _0x33da40=_0x2bb122[_0x28095a(0x1127,0x1158)]?Cesium__namespace['GroundPolylineGeometry']:Cesium__namespace['PolylineGeometry'];return new Cesium__namespace[(_0x4eb1bd(0x7f0,0x1063))]({'id':this['id'],'geometry':new _0x33da40(_0x2bb122),'attributes':this[_0x4eb1bd(_0x34740f._0x1e7d5d,0xa9a)](_0x2bb122)});}['_createAppearance'](_0x1d5373,_0x5ca109){const _0xaf3ca8={_0x36cd66:0x926,_0x20a652:0x1590,_0x27e630:0x995,_0x388d63:0x8f7,_0x178e24:0x32d,_0x497796:0x9d7,_0x1ac406:0xbeb},_0x4d8aaf={_0x3b5f97:0x6d1};function _0x3b144f(_0x26eacc,_0x55e79b){return _0x7afdbe(_0x26eacc,_0x55e79b- -0x69e);}function _0x409044(_0x335ad0,_0x412b9e){return _0x7afdbe(_0x412b9e,_0x335ad0- -_0x4d8aaf._0x3b5f97);}if(_0x1d5373['_isColorMaterial']){_0x5ca109['geometryInstances'][_0x3b144f(_0xaf3ca8._0x36cd66,0x113f)]['vertexFormat']=Cesium__namespace['PolylineColorAppearance'][_0x409044(0x1268,_0xaf3ca8._0x20a652)];if(!_0x1d5373[_0x409044(0x1255,0x14de)]){const _0x58a687=this['_getColorByColorMaterial'](_0x1d5373);_0x5ca109[_0x409044(0x1244,0xaba)][_0x409044(-0x259,-_0xaf3ca8._0x27e630)]=_0x5ca109[_0x409044(0x1244,0xf30)]['attributes']||{},_0x5ca109['geometryInstances']['attributes']['color']=Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](_0x58a687),_0x1d5373['depthFail']&&(_0x5ca109[_0x3b144f(_0xaf3ca8._0x388d63,0x1277)]['attributes'][_0x409044(0x5b0,_0xaf3ca8._0x178e24)]=Cesium__namespace[_0x3b144f(_0xaf3ca8._0x497796,_0xaf3ca8._0x1ac406)]['fromColor'](_0x1d5373[_0x3b144f(-0x26d,0x5e3)]||_0x58a687));}const _0x32f2c1={..._0x1d5373};return new Cesium__namespace['PolylineColorAppearance'](_0x32f2c1);}else{const _0x53c74c={..._0x1d5373};return new Cesium__namespace['PolylineMaterialAppearance'](_0x53c74c);}}['_updateStyleHook'](_0x289e93,_0x1d8e9f){const _0x546390={_0x29ba9f:0x1393},_0x50e318={_0xbf0743:0x710};function _0x3cb14c(_0xe7b9f,_0x179e7d){return _0x7afdbe(_0x179e7d,_0xe7b9f- -_0x50e318._0xbf0743);}function _0x5abdc4(_0x352c1f,_0x2cb6a1){return _0x7afdbe(_0x352c1f,_0x2cb6a1- -0x514);}Cesium__namespace['defined'](_0x1d8e9f[_0x5abdc4(_0x546390._0x29ba9f,0xf2c)])&&Object[_0x5abdc4(0xec6,0x53e)](_0x1d8e9f)===0x1?super[_0x3cb14c(0xbf2,0x1fa)](_0x289e93,_0x1d8e9f):this['redraw'](_0x289e93);}['_getDrawEntityClass'](_0x3bd241,_0x1aba2d){return create$5('polyline',_0x3bd241);}}register$5('polylineP',PolylinePrimitive);class BaseLayer extends BaseClass{constructor(_0x11b416={}){const _0xdf20dc={_0x4d6922:0x993,_0x25b097:0xec1,_0x222ffc:0xf61,_0xdad547:0x14c,_0x4b6368:0x763,_0x1e630c:0xfd3,_0x32dd23:0xb42,_0x27722e:0x147a,_0x186d45:0x453,_0x282409:0xe9a,_0x32927a:0x15c5},_0xcc6185={_0x4f3431:0xcb};super(_0x11b416),this[_0x505364(_0xdf20dc._0x4d6922,0xb42)]=_0x11b416,_0x11b416['id']=_0x11b416['id']??createGuid(),this['_show']=_0x11b416[_0x505364(0x1f33,0x1885)]??!![],this[_0x53fdae(0xeba,0xe5b)]=_0x11b416[_0x53fdae(_0xdf20dc._0x25b097,_0xdf20dc._0x222ffc)],this['options']['opacity']=_0x11b416[_0x505364(0xa37,0x5ec)]??0x1;Cesium__namespace[_0x53fdae(0x174c,0x20ab)](_0x11b416['alpha'])&&(this['options'][_0x505364(-0x13f,0x5ec)]=_0x11b416['alpha']);this['options']['proxy']&&(isString(this['options'][_0x53fdae(0xb06,_0xdf20dc._0xdad547)])?this[_0x53fdae(_0xdf20dc._0x4b6368,0xf62)]=new Cesium__namespace[(_0x505364(0x529,_0xdf20dc._0x1e630c))](this['options']['proxy']):this['_proxy']=this[_0x505364(0xf00,_0xdf20dc._0x32dd23)][_0x505364(_0xdf20dc._0x27722e,0xccd)]);this[_0x53fdae(_0xdf20dc._0x186d45,_0xdf20dc._0x282409)]();function _0x505364(_0x386b4a,_0x343ddb){return _0x7afdbe(_0x386b4a,_0x343ddb-0x64);}function _0x53fdae(_0xda7bd2,_0x3a7168){return _0x54a7f1(_0xda7bd2-_0xcc6185._0x4f3431,_0x3a7168);}this['_readyPromise']=Cesium__namespace['defer'](),this['_state']=State[_0x505364(0x1774,_0xdf20dc._0x32927a)];}get['id'](){const _0x467fc1={_0x1c9e7a:0xcb2};var _0x44a647;function _0x49d96b(_0x246008,_0x11e180){return _0x54a7f1(_0x246008- -0x3b6,_0x11e180);}return(_0x44a647=this[_0x49d96b(0x4fa,_0x467fc1._0x1c9e7a)])===null||_0x44a647===void 0x0?void 0x0:_0x44a647['id'];}set['id'](_0x40aaa2){const _0x1030d2={_0x1c3283:0x10be};function _0x3f6b4a(_0x493f60,_0x343845){return _0x54a7f1(_0x493f60-0x294,_0x343845);}this[_0x3f6b4a(0xb44,_0x1030d2._0x1c3283)]['id']=_0x40aaa2;}get[_0x54a7f1(0x127c,0x14d2)](){const _0x48a57a={_0x53fcc3:0x651};function _0x46fc77(_0x2a6922,_0x5b61e6){return _0x54a7f1(_0x5b61e6- -0x25f,_0x2a6922);}var _0x2e9761;return(_0x2e9761=this[_0x46fc77(0x19f,_0x48a57a._0x53fcc3)])===null||_0x2e9761===void 0x0?void 0x0:_0x2e9761['name'];}set[_0x54a7f1(0x127c,0x1028)](_0x1c9a6f){this['options']['name']=_0x1c9a6f;}get[_0x54a7f1(0x179c,0xcf5)](){const _0x2c63e5={_0x2bbd3f:0x151a},_0x5a1ab3={_0x17b74f:0x282};function _0x3ec1cd(_0x2410fe,_0x12dbe0){return _0x54a7f1(_0x12dbe0- -_0x5a1ab3._0x17b74f,_0x2410fe);}var _0x5a0cda;return(_0x5a0cda=this['options'])===null||_0x5a0cda===void 0x0?void 0x0:_0x5a0cda[_0x3ec1cd(0x14bf,_0x2c63e5._0x2bbd3f)];}set[_0x54a7f1(0x179c,0x1b28)](_0x479034){const _0xac696b={_0x1c24e5:0xd5c};function _0x59ca32(_0x261742,_0x518380){return _0x54a7f1(_0x261742- -0x23c,_0x518380);}this[_0x59ca32(0x674,_0xac696b._0x1c24e5)]['pid']=_0x479034;}get['templateValues'](){const _0x5f0787={_0x3b4440:0x2b4},_0x45cb19={_0x40dca5:0x52};function _0x31330b(_0x3f872b,_0x28018c){return _0x7afdbe(_0x28018c,_0x3f872b- -_0x45cb19._0x40dca5);}if(this['_map'][_0x31330b(0x5ee,0x477)])return this['_map'][_0x16fbdf(0x797,_0x5f0787._0x3b4440)];function _0x16fbdf(_0x485045,_0x2b228f){return _0x7afdbe(_0x485045,_0x2b228f- -0x38c);}return this['options'][_0x31330b(0x5ee,0x3f5)];}set[_0x7afdbe(0x68,0x640)](_0x25c0c9){const _0x1521f6={_0x32674f:0x275};function _0x426a12(_0x1aaa8f,_0x31812e){return _0x54a7f1(_0x31812e-_0x1521f6._0x32674f,_0x1aaa8f);}this['options'][_0x426a12(0x4af,0x687)]=_0x25c0c9;}get['type'](){return this['_type'];}get['state'](){function _0x5d56e5(_0x3324b6,_0x13fafc){return _0x7afdbe(_0x3324b6,_0x13fafc- -0x190);}return this[_0x5d56e5(0x95c,0x328)];}get['isAdded'](){return this['_state']===State['ADDED']&&this['options'];}get['isDestroy'](){const _0xb5521d={_0x23d07d:0x5f5};function _0x1e69ad(_0xc1777b,_0x4d90db){return _0x7afdbe(_0xc1777b,_0x4d90db- -_0xb5521d._0x23d07d);}return this['_state']===State[_0x1e69ad(0xbe0,0x5e4)]||!this['options'];}get['isPrivate'](){if(this['_private'])return!![];return![];}get['readyPromise'](){function _0x58aec9(_0x526537,_0x2b213b){return _0x54a7f1(_0x526537-0x1c2,_0x2b213b);}var _0x434437;return(_0x434437=this[_0x58aec9(0x473,0x261)])===null||_0x434437===void 0x0?void 0x0:_0x434437['promise'];}get[_0x54a7f1(0x131a,0x177d)](){return null;}get[_0x7afdbe(0x1465,0x1821)](){const _0x21b273={_0x3e4241:0x9fd};function _0x28681c(_0x793577,_0x4daa19){return _0x7afdbe(_0x793577,_0x4daa19- -0x3b1);}return this[_0x28681c(_0x21b273._0x3e4241,0x10f3)];}set[_0x7afdbe(0xf67,0x1821)](_0x63d0b9){const _0x34e503={_0x2ecfd4:0xe0f,_0x2aa758:0x935,_0x114bb9:0x1c45,_0x3247c0:0x12e3,_0x5aa82c:0x1319,_0x160280:0xbe6,_0x39840a:0x497,_0x116057:0xa87,_0x370861:0x45,_0x4def2e:0x7b9},_0x11b076={_0x45817d:0x65f};if(this['_show']===_0x63d0b9||this['isDestroy'])return;this['options']['show']=_0x63d0b9,this[_0x3f65e5(0x1895,_0x34e503._0x2ecfd4)]=_0x63d0b9;function _0x25843f(_0x2fd4af,_0x165cd1){return _0x7afdbe(_0x165cd1,_0x2fd4af- -_0x11b076._0x45817d);}delete this['_last_availabilityShow'];const _0xb6e644=this[_0x25843f(0xee9,_0x34e503._0x2aa758)];function _0x3f65e5(_0x422271,_0x1a10e4){return _0x54a7f1(_0x1a10e4- -0x467,_0x422271);}_0xb6e644&&(Array[_0x3f65e5(0x1711,0x1007)](_0xb6e644)?_0xb6e644['forEach'](function(_0x584ed8){_0x584ed8['show']=_0x63d0b9,_0x584ed8['_showHook']&&_0x584ed8['_showHook'](_0x63d0b9);}):(_0xb6e644['show']=_0x63d0b9,_0xb6e644[_0x3f65e5(_0x34e503._0x114bb9,_0x34e503._0x3247c0)]&&_0xb6e644[_0x25843f(_0x34e503._0x5aa82c,_0x34e503._0x160280)](_0x63d0b9))),this[_0x25843f(0x3f2,-_0x34e503._0x39840a)]&&(this['_showHook']&&this['_showHook'](_0x63d0b9),_0x63d0b9?this['fire'](EventType['show']):this[_0x25843f(_0x34e503._0x116057,0x113a)](EventType[_0x25843f(-_0x34e503._0x370861,-_0x34e503._0x4def2e)]));}[_0x54a7f1(0xa6f,0x6d)](_0x49bce9){const _0x55c54b={_0x8b9ae7:0xaaa};if(!this['_map']||!this['show'])return![];function _0x123ffb(_0x1261ad,_0x18065){return _0x54a7f1(_0x1261ad- -0x492,_0x18065);}if(this['availability']&&Cesium__namespace['defined'](this['_last_availabilityShow']))return this[_0x123ffb(0xcae,_0x55c54b._0x8b9ae7)];return this['show'];}get['hasOpacity'](){const _0x2eb4f1={_0x8cee74:0x1897,_0x240bd9:0xfe5,_0x2e2a22:0x67a,_0x387b91:0xe42},_0x5237f9={_0x1b455c:0x18},_0x3d04a4={_0x5a5a55:0x112};function _0x296f01(_0x6fac8,_0x1b7383){return _0x54a7f1(_0x1b7383- -_0x3d04a4._0x5a5a55,_0x6fac8);}if(Cesium__namespace[_0x4c33dc(_0x2eb4f1._0x8cee74,_0x2eb4f1._0x240bd9)](this['options']['hasOpacity']))return this['options'][_0x296f01(_0x2eb4f1._0x2e2a22,0x770)];function _0x4c33dc(_0x4bd9e5,_0x52d67d){return _0x7afdbe(_0x52d67d,_0x4bd9e5- -_0x5237f9._0x1b455c);}return!!this[_0x4c33dc(0x71e,_0x2eb4f1._0x387b91)];}get[_0x54a7f1(0x35a,-0x20e)](){var _0x5d5845;return(_0x5d5845=this['options'])===null||_0x5d5845===void 0x0?void 0x0:_0x5d5845['opacity'];}set[_0x7afdbe(0x205,0x588)](_0x1a4ded){this['options']['opacity']=_0x1a4ded,clearTimeout(this['_timeTik']),this['_timeTik']=setTimeout(()=>{const _0x202e6d={_0x552c9d:0x25};function _0x2ee77e(_0x3077f5,_0x3b306a){return _0x536c(_0x3b306a-_0x202e6d._0x552c9d,_0x3077f5);}this[_0x2ee77e(0xcf5,0x406)]&&this['setOpacity'](_0x1a4ded);},0x64);}get[_0x54a7f1(0x1195,0xd81)](){const _0x306c87={_0xeaaccc:0x10c0};var _0x32100f;function _0x4641c2(_0x3383e0,_0x565d0f){return _0x54a7f1(_0x565d0f- -0xd5,_0x3383e0);}return(_0x32100f=this['options'])===null||_0x32100f===void 0x0?void 0x0:_0x32100f[_0x4641c2(0x967,_0x306c87._0xeaaccc)];}set['availability'](_0x18ba7f){const _0x22e5e1={_0x4ede8a:0x9fb,_0xf29860:0x476,_0x5e3c1e:0x730,_0x15485b:0x16fa,_0x549aa4:0x1015,_0x1c8722:0x133e},_0x2b97e1={_0x894a21:0x180};this['_availability']=getAvailability(_0x18ba7f,this['_map'][_0x47e29f(_0x22e5e1._0x4ede8a,0x1211)]);function _0x2df13f(_0x528a18,_0x3c4f92){return _0x54a7f1(_0x3c4f92- -_0x2b97e1._0x894a21,_0x528a18);}this[_0x2df13f(_0x22e5e1._0xf29860,_0x22e5e1._0x5e3c1e)][_0x2df13f(_0x22e5e1._0x15485b,_0x22e5e1._0x549aa4)]=getAvailabilityJson(Array['isArray'](_0x18ba7f)?_0x18ba7f:this[_0x2df13f(0x9c8,_0x22e5e1._0x1c8722)]);function _0x47e29f(_0x12db99,_0x26efc2){return _0x54a7f1(_0x12db99-0x22,_0x26efc2);}_0x18ba7f?(this[_0x47e29f(0x961,0x703)]=_0x5164ad=>{this['_updateObjectAvailability'](_0x5164ad['time']);},this['bindUpdateEvent']()):this['unbindUpdateEvent']();}['getAvailabilityShow'](_0x233727){const _0x202a8c={_0x342a1b:0xf1b,_0x48d6a4:0x13a2,_0x235241:0x4ab};var _0x56dc5c;function _0x5a945a(_0x41577d,_0x5218bb){return _0x54a7f1(_0x5218bb-0x78,_0x41577d);}function _0x3efd0a(_0x4c609b,_0x5f409d){return _0x54a7f1(_0x5f409d- -0x11c,_0x4c609b);}if(((_0x56dc5c=this['_map'])===null||_0x56dc5c===void 0x0?void 0x0:_0x56dc5c['availabilityEnabled'])===![])return!![];return this[_0x3efd0a(_0x202a8c._0x342a1b,_0x202a8c._0x48d6a4)]&&_0x233727?this['_availability'][_0x5a945a(-0x387,_0x202a8c._0x235241)](_0x233727)??![]:!![];}['_updateObjectAvailability'](_0x40d1b3){const _0xebddc8={_0x57cb57:0xaaa,_0x331a57:0x4df,_0x22d163:0x265,_0x235ea6:0xcad},_0x59c541={_0x5a3ea4:0x3e0};function _0x428268(_0x8f4c3a,_0x490793){return _0x54a7f1(_0x8f4c3a- -_0x59c541._0x5a3ea4,_0x490793);}function _0x22f3b2(_0x46daff,_0xe61614){return _0x7afdbe(_0x46daff,_0xe61614- -0x6c1);}const _0x45c7cb=this['layer'];if(!_0x45c7cb)return;const _0x2ce460=this[_0x428268(_0xebddc8._0x57cb57,_0xebddc8._0x331a57)](_0x40d1b3);this['_last_availabilityShow']!==_0x2ce460&&(Array['isArray'](_0x45c7cb)?_0x45c7cb[_0x428268(_0xebddc8._0x22d163,0xa65)](function(_0x294f07){_0x294f07['show']=_0x2ce460,_0x294f07['_showHook']&&_0x294f07['_showHook'](_0x2ce460);}):(_0x45c7cb[_0x22f3b2(0x163c,0x1160)]=_0x2ce460,_0x45c7cb['_showHook']&&_0x45c7cb['_showHook'](_0x2ce460)),this['_showHook']&&this['_showHook'](_0x2ce460),this[_0x22f3b2(0x74b,_0xebddc8._0x235ea6)]=_0x2ce460);}['addTo'](_0x28b941){const _0x5873ca={_0x4c105c:0x1a0e};_0x28b941&&_0x28b941[_0x129415(_0x5873ca._0x4c105c,0x137e)]&&_0x28b941['addLayer'](this);function _0x129415(_0x2466cc,_0x5e936e){return _0x7afdbe(_0x2466cc,_0x5e936e- -0x576);}return this;}[_0x7afdbe(0x186,0x9bc)](_0x38208c){this['_map']&&this['_map']['removeLayer'](this,_0x38208c);}['_onAdd'](_0xe36c18){const _0x8e43aa={_0x3a7d0f:0x70d,_0x103402:0x10cf,_0x34b394:0x17e7,_0x192846:0x7ea,_0x4f0658:0xa20,_0x49af54:0x1761,_0x37cea1:0x7ea},_0xbf8cdb={_0x1220a5:0x2f4};var _0x57b474;if(this['isAdded']||this['_state']===State['ADD'])return;this['_state']=State['ADD'],this[_0xd7ab19(_0x8e43aa._0x3a7d0f,0x1167)]=_0xe36c18;if(this['options']['eventParent'])this['addEventParent'](this['options'][_0x328c6c(0xa55,0xe1a)]);else{if(((_0x57b474=this['options'])===null||_0x57b474===void 0x0?void 0x0:_0x57b474['eventParent'])===![]);else this['addEventParent'](_0xe36c18);}this['_mountedHook']&&!this['_createOK']&&(this['_mountedHook'](),this['_createOK']=!![]);function _0xd7ab19(_0x20c792,_0x289876){return _0x7afdbe(_0x289876,_0x20c792- -_0xbf8cdb._0x1220a5);}this['_addedHook']&&this['_addedHook']();this['options'][_0xd7ab19(_0x8e43aa._0x103402,_0x8e43aa._0x34b394)]&&(this[_0x328c6c(0x1923,0x120e)]=this[_0xd7ab19(_0x8e43aa._0x192846,-0x138)]['availability']);this[_0xd7ab19(_0x8e43aa._0x192846,_0x8e43aa._0x4f0658)]['flyTo']&&this['flyTo']();this[_0xd7ab19(0x1c4,0x872)]=State[_0xd7ab19(0xc62,0xb47)],this[_0xd7ab19(0xdf2,0x989)](EventType['add']),this[_0x328c6c(_0x8e43aa._0x49af54,0xf31)](EventType[_0x328c6c(0x20e5,0x173f)],{},!![]);function _0x328c6c(_0x39b4e0,_0x220630){return _0x7afdbe(_0x39b4e0,_0x220630- -0x1b5);}this['options']['script']&&new Function('layer',this[_0xd7ab19(_0x8e43aa._0x37cea1,0xaaa)]['script'])(this);}['_onRemove'](){const _0x27a53d={_0x6db12c:0x3e0,_0x26c598:0x8f1,_0x4e264c:0x4bd,_0x116ab5:0xc43,_0x74c125:0x1145,_0x28b30b:0x8ac};var _0x5c25a8,_0x5c06fc;if(this['_state']!==State['ADDED'])return;if(!this[_0x470ce5(0x368,_0x27a53d._0x6db12c)])return;this[_0x552cb(-0x1cb,0x8f1)]&&this[_0x552cb(0x12f4,_0x27a53d._0x26c598)]();function _0x470ce5(_0x474761,_0x4cda52){return _0x54a7f1(_0x4cda52- -0x3f3,_0x474761);}this['_state']=State['REMOVED'],this['fire'](EventType[_0x552cb(0xa8c,0x630)]),this['fire'](EventType['removeLayer'],{},!![]);if((_0x5c25a8=this[_0x470ce5(0x705,_0x27a53d._0x4e264c)])!==null&&_0x5c25a8!==void 0x0&&_0x5c25a8[_0x552cb(0xeb9,_0x27a53d._0x116ab5)])this['removeEventParent'](this[_0x552cb(0xbbc,0x752)]['eventParent']);else{if(((_0x5c06fc=this[_0x552cb(0xff2,0x752)])===null||_0x5c06fc===void 0x0?void 0x0:_0x5c06fc[_0x552cb(_0x27a53d._0x74c125,_0x27a53d._0x116ab5)])===![]);else this['removeEventParent'](this[_0x470ce5(_0x27a53d._0x28b30b,0x3e0)]);}function _0x552cb(_0xe6c24d,_0x135d81){return _0x7afdbe(_0xe6c24d,_0x135d81- -0x38c);}this['_map']=null;}['_mountedHook'](){}['_addedHook'](){}['_removedHook'](){}['fire'](_0x45f285,_0x33ae96={},_0x30ba86){return!_0x33ae96['layer']&&(_0x33ae96['layer']=this),super['fire'](_0x45f285,_0x33ae96,_0x30ba86);}[_0x7afdbe(0x11c2,0x1715)](){if(!this['update']||!this['_map'])return;this['unbindUpdateEvent']();function _0x40abe6(_0x33d623,_0x3c62d3){return _0x54a7f1(_0x33d623-0x1c9,_0x3c62d3);}this[_0x40abe6(0x99c,-0x2c)]['on'](EventType['preRender'],this['_map_preRenderHandler'],this);function _0x5f3878(_0x97d129,_0x5038d8){return _0x7afdbe(_0x5038d8,_0x97d129- -0x242);}this['_map_preRenderHandler'](this['_map'][_0x40abe6(0x1248,0x1566)]);}[_0x7afdbe(0x1435,0xc61)](){const _0x17c834={_0x5ec88c:0x313,_0x30945b:0x2c7},_0x35af62={_0x1cdf57:0x3f8},_0x38435c={_0x1dffa8:0x50c};function _0x2ed4fe(_0x348df9,_0x367b57){return _0x54a7f1(_0x367b57- -_0x38435c._0x1dffa8,_0x348df9);}function _0x1fa042(_0x5ba36d,_0x15f324){return _0x54a7f1(_0x5ba36d- -_0x35af62._0x1cdf57,_0x15f324);}this[_0x1fa042(0x3db,_0x17c834._0x5ec88c)]&&this[_0x2ed4fe(0xa29,_0x17c834._0x30945b)]['off'](EventType['preRender'],this[_0x2ed4fe(0x4da,0x581)],this);}['_map_preRenderHandler'](_0x3b4ec9){const _0x2cae54={_0x2207a7:0x823,_0x8d262a:0x135e,_0x30026c:0xd79,_0x8eb5ff:0xbb3},_0x5c7ae9={_0x715c51:0x274};var _0x32c100;if(!this[_0x1030d0(0xa47,_0x2cae54._0x2207a7)]||!this['show'])return;function _0x1030d0(_0x1ab3c4,_0x1a97c7){return _0x54a7f1(_0x1ab3c4-_0x5c7ae9._0x715c51,_0x1a97c7);}if((_0x32c100=this['options'])!==null&&_0x32c100!==void 0x0&&_0x32c100['frameRate']&&this['_last_preUpdateTime']){const _0x580841=_0x3b4ec9['_frameState']['frameNumber']-this['_last_preUpdateTime'];if(_0x580841<this['options'][_0x1030d0(_0x2cae54._0x8d262a,0xb17)])return;}this['_last_preUpdateTime']=_0x3b4ec9[_0x34fe83(_0x2cae54._0x30026c,0x140a)]['frameNumber'];function _0x34fe83(_0x300430,_0x24ffa4){return _0x7afdbe(_0x300430,_0x24ffa4- -0x16b);}this[_0x1030d0(_0x2cae54._0x8eb5ff,0x14b1)](_0x3b4ec9['_frameState']);}async[_0x54a7f1(0x12fa,0x1b90)](_0xb1e800={}){const _0x41d510={_0x45a2b3:0x317,_0x5ae4d0:0x899,_0x1b0261:0xc1,_0x333ae9:0x5c8},_0x11d35e={_0x3a355c:0x6ea},_0xcbd4ea={_0x6be2c4:0x2b3};if(!this[_0x4d45b7(-0x544,_0x41d510._0x45a2b3)])return![];this['options']['flyToOptions']&&(_0xb1e800={...this['options'][_0x4d45b7(_0x41d510._0x5ae4d0,0x8e9)],..._0xb1e800});await this['_map']['flyAnimationPromise'];function _0x5ed04c(_0x4496fd,_0x5b8b3e){return _0x7afdbe(_0x5b8b3e,_0x4496fd- -_0xcbd4ea._0x6be2c4);}function _0x4d45b7(_0x537a00,_0x1d1949){return _0x7afdbe(_0x537a00,_0x1d1949- -_0x11d35e._0x3a355c);}if(this[_0x4d45b7(0xc6d,0x3f4)][_0x4d45b7(-0x8c7,0xc1)])return this['_map']['setCameraView'](this['options'][_0x4d45b7(0x313,_0x41d510._0x1b0261)],_0xb1e800);const _0x5a8fd8=this['options'][_0x4d45b7(-_0x41d510._0x333ae9,-0x81)]||this['_extent']||this['getRectangle']&&this['getRectangle']();if(_0x5a8fd8)return this[_0x5ed04c(0x74e,-0x236)]['flyToExtent'](_0x5a8fd8,_0xb1e800);return await this[_0x5ed04c(0x15dc,0x1bd9)],await this['_map'][_0x4d45b7(0x174c,0x1064)],this['_flyToEx'](_0xb1e800);}async[_0x7afdbe(0xbe1,0x1184)](_0x510540){const _0x40642c={_0xffb461:0x1143,_0x5889f7:0x9d7,_0x5f3f62:0x1104,_0x11b00d:0x1164};function _0xe6c3aa(_0x5c36f3,_0xe930b5){return _0x54a7f1(_0xe930b5- -0x158,_0x5c36f3);}function _0x364e13(_0x4f98c0,_0x384ab8){return _0x7afdbe(_0x384ab8,_0x4f98c0- -0x413);}const _0x190f33=this[_0xe6c3aa(_0x40642c._0xffb461,_0x40642c._0x5889f7)]||this['getRectangle']&&this[_0xe6c3aa(_0x40642c._0x5f3f62,_0x40642c._0x11b00d)]();if(_0x190f33)return this[_0x364e13(0x5ee,-0x1b4)]['flyToExtent'](_0x190f33,_0x510540);}[_0x54a7f1(0x1286,0x177b)](_0x5af915){const _0x1d2abb={_0x426837:0x528,_0x5c24bc:0x151f,_0x43b7d1:0x151f,_0x54589a:0xe46,_0x47c5c4:0x5b6,_0x1024de:0x0,_0x47c356:0xa25,_0x23d519:0xbf2,_0x395778:0xb53},_0x4b61a1={_0x1ba1ff:0x2a3},_0x11f928={_0x1d1dc1:0x5b6};function _0x51c8a8(_0x404f78,_0x4271a5){return _0x7afdbe(_0x404f78,_0x4271a5- -_0x11f928._0x1d1dc1);}if(!_0x5af915||Object['keys'](_0x5af915)['length']===0x0)return this;this[_0x51c8a8(0x87,_0x1d2abb._0x426837)]=merge(this['options'],_0x5af915);Cesium__namespace['defined'](_0x5af915['opacity'])&&(this['opacity']=_0x5af915['opacity']);Cesium__namespace[_0x51c8a8(0x1b6f,0x12f9)](_0x5af915[_0x2c41c4(0xc94,_0x1d2abb._0x5c24bc)])&&(this[_0x2c41c4(0x1c1a,_0x1d2abb._0x43b7d1)]=_0x5af915[_0x2c41c4(0xcc4,_0x1d2abb._0x43b7d1)]);Cesium__namespace['defined'](_0x5af915['show'])&&(this['show']=_0x5af915[_0x51c8a8(0x19d5,0x126b)]);Cesium__namespace[_0x51c8a8(0xa22,0x12f9)](_0x5af915['availability'])&&(this['availability']=_0x5af915[_0x51c8a8(_0x1d2abb._0x54589a,0xe0d)]);this[_0x51c8a8(-_0x1d2abb._0x47c5c4,_0x1d2abb._0x1024de)]();function _0x2c41c4(_0x89973c,_0x3eae37){return _0x54a7f1(_0x3eae37-_0x4b61a1._0x1ba1ff,_0x89973c);}return this[_0x51c8a8(_0x1d2abb._0x47c356,0x13cf)]&&this['_setOptionsHook'](this[_0x2c41c4(_0x1d2abb._0x23d519,_0x1d2abb._0x395778)],_0x5af915),this;}['toJSON'](){const _0x2b691c={_0x27a7af:0x121d,_0x220c9b:0x1825,_0x3535ab:0x144c,_0x50280c:0x14b6,_0x1f1f42:0xfee,_0x25af94:0x156a,_0x3dd1a0:0x67d},_0x193ed3={_0x1ac38d:0x1a7},_0x485fb4=clone(this[_0x237ce0(0x2fe,0x67e)],[_0x46a542(0x130b,_0x2b691c._0x27a7af),_0x46a542(0x6d8,0xbfa),'templateValues']);_0x485fb4['id']=this['id'],_0x485fb4['type']=this['type'];function _0x237ce0(_0x56a770,_0x2311e4){return _0x7afdbe(_0x56a770,_0x2311e4- -0x460);}!this[_0x46a542(0x1597,0x1350)]&&(_0x485fb4[_0x46a542(0x1e39,0x144c)]=this[_0x46a542(_0x2b691c._0x220c9b,_0x2b691c._0x3535ab)]);this['_availability']&&(_0x485fb4[_0x237ce0(_0x2b691c._0x50280c,0xf63)]=this[_0x46a542(0x750,_0x2b691c._0x1f1f42)]);this['_toJsonEx']&&this['_toJsonEx'](_0x485fb4);_0x485fb4['pid']===-0x1&&delete _0x485fb4[_0x237ce0(0xe29,_0x2b691c._0x25af94)];_0x485fb4['opacity']===0x1&&delete _0x485fb4['opacity'];for(const _0xe0c819 in _0x485fb4){const _0x386b8d=_0x485fb4[_0xe0c819];(!Cesium__namespace['defined'](_0x386b8d)||isObject(_0x386b8d)&&Object[_0x46a542(-0x413,_0x2b691c._0x3dd1a0)](_0x386b8d)['length']===0x0)&&delete _0x485fb4[_0xe0c819];}function _0x46a542(_0x3a1fef,_0x16d491){return _0x54a7f1(_0x16d491- -_0x193ed3._0x1ac38d,_0x3a1fef);}return _0x485fb4;}['_bindControl'](){const _0x3f3f6f={_0x4d712a:0x738,_0x3e6e21:0xedf,_0x4ede6b:0x8be,_0x10cbf1:0xae3,_0x4d518d:0x14aa,_0x2ebb86:0xa9d},_0x261af4={_0x44ca53:0x3a6};function _0x49ea3a(_0x4e31fc,_0x472ac8){return _0x7afdbe(_0x4e31fc,_0x472ac8-0x0);}Cesium__namespace[_0x49ea3a(0x21df,0x18af)](this['options']['contextmenuItems'])&&(this['options']['contextmenuItems']?this[_0x563bf6(0xf25,0x1640)]={'content':this['options']['contextmenuItems'],'options':this[_0x563bf6(0x738,0x58d)]['contextmenuOptions'],'layer':this}:this['_contextmenuConfig']=null);if(Cesium__namespace['defined'](this['options'][_0x563bf6(0x1164,0xe6a)])){if(this[_0x563bf6(_0x3f3f6f._0x4d712a,_0x3f3f6f._0x3e6e21)]['popup']){const _0x13b679=this['options'][_0x49ea3a(_0x3f3f6f._0x4ede6b,0xc68)]||{};this[_0x563bf6(0x2df,0xd92)]={'options':_0x13b679,'content':bindLayerPopup(_0x13b679,this['options']['popup'],this[_0x49ea3a(_0x3f3f6f._0x10cbf1,_0x3f3f6f._0x4d518d)]),'layer':this};}else this[_0x49ea3a(0x97,0x685)]=null;}function _0x563bf6(_0x122635,_0x4c7f71){return _0x7afdbe(_0x4c7f71,_0x122635- -_0x261af4._0x44ca53);}if(Cesium__namespace['defined'](this['options']['tooltip'])){if(this['options']['tooltip']){const _0x2f86ba=this['options']['tooltipOptions']||{};this[_0x49ea3a(0xf24,0xac0)]={'options':_0x2f86ba,'content':bindLayerPopup(_0x2f86ba,this['options']['tooltip'],this[_0x563bf6(0x1104,_0x3f3f6f._0x2ebb86)]),'layer':this};}else this['_tooltipConfig']=null;}}[_0x54a7f1(0x494,0x241)](_0x50e9b5,_0x4d67f9){if(_0x4d67f9['type']===_0x4e5800(0xe9,0x98b))return![];function _0x4e5800(_0x36f211,_0x57e595){return _0x54a7f1(_0x36f211- -0x44e,_0x57e595);}return!![];}[_0x7afdbe(0x89d,0xd5c)](_0x2a9e34,_0x52599c,_0xc8fc6d,_0xdec7b4,_0xfc8e1d){const _0x2f93d2={_0x45bd65:0x9c7,_0xba6abe:0x471,_0x2440fb:0x3bf,_0x5e166a:0xed,_0x3de9da:0x2c5,_0x400974:0x927,_0x13ff4c:0x10b9,_0x4c695e:0x1999,_0x443792:0xadf},_0x65239a={_0x8c11d0:0x1c3};!_0xfc8e1d&&(_0xfc8e1d=this[_0x190aa6(0x6ed,0xd20)][_0x190aa6(0x318,-0x2e)]);if(_0xfc8e1d&&_0xfc8e1d!==CRS[_0x190aa6(_0x2f93d2._0x45bd65,0xf9c)]&&_0xfc8e1d!==CRS['EPSG4490']){const _0x46591b=proj4Trans([_0x2a9e34,_0x52599c],_0xfc8e1d),_0x3e0737=proj4Trans([_0xc8fc6d,_0xdec7b4],_0xfc8e1d);_0x2a9e34=_0x46591b[0x0],_0x52599c=_0x46591b[0x1],_0xc8fc6d=_0x3e0737[0x0],_0xdec7b4=_0x3e0737[0x1];}if(isNaN(_0x2a9e34)||isNaN(_0xc8fc6d)||isNaN(_0x52599c)||isNaN(_0xdec7b4)||_0x2a9e34<-0xb3||_0xc8fc6d>0xb3||_0x52599c<-0x55||_0xdec7b4>0x55)return;const _0x158d8b={};function _0x190aa6(_0x4021ff,_0x3472d3){return _0x54a7f1(_0x4021ff- -_0x65239a._0x8c11d0,_0x3472d3);}_0x158d8b['xmin']=_0x2a9e34,_0x158d8b['ymin']=_0x52599c,_0x158d8b['xmax']=_0xc8fc6d,_0x158d8b[_0x190aa6(0x1019,0x1025)]=_0xdec7b4,this[_0x30ef8f(_0x2f93d2._0xba6abe,-_0x2f93d2._0x2440fb)]['extent']=_0x158d8b,this['_rectangle']=Cesium__namespace[_0x190aa6(0x336,-_0x2f93d2._0x5e166a)]['fromDegrees'](_0x2a9e34,_0x52599c,_0xc8fc6d,_0xdec7b4);this[_0x190aa6(_0x2f93d2._0x3de9da,_0x2f93d2._0x400974)]&&(this['_tileLayer']['rectangle']=this['_rectangle']);function _0x30ef8f(_0xa6ed18,_0x5a8602){return _0x54a7f1(_0xa6ed18- -0x43f,_0x5a8602);}logInfo(this[_0x190aa6(_0x2f93d2._0x13ff4c,_0x2f93d2._0x4c695e)]+'图层设置了范围:',this,this[_0x30ef8f(0x471,_0x2f93d2._0x443792)]['extent']);}[_0x54a7f1(0x432,-0x583)](_0x310468){const _0x30c6a0={_0x4d5e1c:0x958,_0x37f266:0x134b,_0x26a103:0x669},_0x4a7f9d={_0x36b9c6:0x281};function _0x29b45b(_0x5ea11c,_0xfea6b2){return _0x7afdbe(_0xfea6b2,_0x5ea11c- -0x206);}function _0x24e31e(_0x40ba08,_0x10c28b){return _0x7afdbe(_0x40ba08,_0x10c28b- -_0x4a7f9d._0x36b9c6);}if(this[_0x29b45b(0x2b2,0x4a7)]===State[_0x24e31e(0xa7d,_0x30c6a0._0x4d5e1c)])return;this['_state']!==State[_0x29b45b(0xfaa,0x116b)]&&(this[_0x29b45b(_0x30c6a0._0x37f266,0xf8f)]&&this['clear'](),this['remove']()),super['destroy'](_0x310468),this[_0x29b45b(0x2b2,-_0x30c6a0._0x26a103)]=State['DESTROY'];}}function bindLayerPopup(_0x41555c,_0xc124a1,_0x1667a1){const _0x18b08b={_0xa9f619:0x12dc,_0x4758c2:0xd79,_0xfecf35:0x195c,_0x3786da:0x4ba,_0x354769:0xf1d,_0x2b2595:0x80,_0x3327d3:0x162f};function _0x54e6cb(_0x223544,_0x536883){return _0x54a7f1(_0x223544- -0xf,_0x536883);}return typeof _0xc124a1===_0x54e6cb(0x1592,0x113b)?function(_0xdc9584){return _0xc124a1(_0xdc9584);}:function(_0x1e4e5c){const _0x179466={_0x347752:0xd29,_0x52fedf:0x669,_0x867e04:0x167f},_0x1cadd1={_0xa7d3bc:0x36};function _0x2ea50e(_0x4e327b,_0x2e5ec7){return _0x54e6cb(_0x2e5ec7-0x76,_0x4e327b);}function _0x3679dd(_0x54910f,_0x4afc1a){return _0x54e6cb(_0x4afc1a- -0x14b,_0x54910f);}let _0x2f9663=_getAttrForPopup(_0x1e4e5c);if(_0x2f9663 instanceof Promise)return _0x2f9663[_0x2ea50e(0x6fd,0x61a)](_0x2a569a=>{function _0xf9a85a(_0x4db000,_0x2c7927){return _0x2ea50e(_0x4db000,_0x2c7927- -0x1f4);}const _0x5901b7={'layer_name':_0x1667a1,..._0x2a569a};_0x2f9663=_0x5901b7;let _0x4ed57f=_0x1667a1;if(_0x41555c['noTitle'])_0x4ed57f=null;else{if(_0x41555c[_0xf9a85a(0xaec,_0x179466._0x347752)])_0x4ed57f=_0x41555c['title'];else _0x41555c['titleField']&&(_0x4ed57f=_0x2f9663[_0x41555c[_0xf9a85a(0x351,_0x179466._0x52fedf)]]);}const _0x48bff5={..._0x41555c};function _0x5ebf6b(_0x98e4c8,_0xc118a2){return _0x2ea50e(_0x98e4c8,_0xc118a2-_0x1cadd1._0xa7d3bc);}return _0x48bff5[_0x5ebf6b(_0x179466._0x867e04,0xf53)]=_0x4ed57f,_0x48bff5[_0xf9a85a(0x1ba0,0x1472)]=_0xc124a1,_0x48bff5['attr']=_0x2f9663,getTemplateHtml(_0x48bff5);});else{_0x2f9663={'layer_name':_0x1667a1,..._0x2f9663};let _0x5356ae=_0x1667a1;if(_0x41555c[_0x2ea50e(_0x18b08b._0xa9f619,_0x18b08b._0x4758c2)])_0x5356ae=null;else{if(_0x41555c[_0x2ea50e(_0x18b08b._0xfecf35,0xf1d)])_0x5356ae=_0x41555c[_0x2ea50e(_0x18b08b._0x3786da,_0x18b08b._0x354769)];else _0x41555c[_0x3679dd(_0x18b08b._0x2b2595,0x69c)]&&(_0x5356ae=_0x2f9663[_0x41555c['titleField']]);}const _0x4dc515={..._0x41555c};return _0x4dc515['title']=_0x5356ae,_0x4dc515['template']=_0xc124a1,_0x4dc515[_0x3679dd(_0x18b08b._0x3327d3,0x152d)]=_0x2f9663,getTemplateHtml(_0x4dc515);}};}function _getAttrForPopup(_0x43c4fb){const _0x88dfad={_0x254a0b:0x9a7,_0x1c532f:0x259,_0x4705f3:0x84d,_0x1befc0:0x1623,_0x2129af:0xc28,_0x1bf60b:0xa99,_0x52017b:0xa7a,_0x235d12:0xa01},_0x119bb8={_0x2cab80:0x59d};var _0x55f22e;if(_0x43c4fb!==null&&_0x43c4fb!==void 0x0&&_0x43c4fb['attr'])return _0x43c4fb['attr'];function _0x3a78a8(_0xd9130c,_0x25bb89){return _0x7afdbe(_0xd9130c,_0x25bb89- -0x292);}function _0x1e8507(_0x348a30,_0x5ed3d7){return _0x7afdbe(_0x5ed3d7,_0x348a30- -_0x119bb8._0x2cab80);}if(_0x43c4fb!==null&&_0x43c4fb!==void 0x0&&(_0x55f22e=_0x43c4fb['graphic'])!==null&&_0x55f22e!==void 0x0&&_0x55f22e[_0x1e8507(0x1318,_0x88dfad._0x254a0b)])return _0x43c4fb[_0x1e8507(_0x88dfad._0x1c532f,-_0x88dfad._0x4705f3)][_0x3a78a8(0x2012,_0x88dfad._0x1befc0)];if(!_0x43c4fb[_0x3a78a8(_0x88dfad._0x2129af,0x1697)])return{};const _0x31ced0=_0x43c4fb['czmObject'][_0x3a78a8(0x124e,0x15bd)]||_0x43c4fb['czmObject'][_0x1e8507(0xfa5,_0x88dfad._0x1bf60b)]||_0x43c4fb['czmObject'][_0x1e8507(_0x88dfad._0x52017b,_0x88dfad._0x235d12)];return _0x31ced0??{};}class BaseGraphicLayer extends BaseLayer{constructor(_0x7d041b={}){function _0x4e7970(_0x3a420f,_0x4e3bdf){return _0x7afdbe(_0x3a420f,_0x4e3bdf- -0xf5);}_0x7d041b['url']&&_0x7d041b['templateValues']&&(_0x7d041b['url']=template(_0x7d041b[_0x4e7970(0x154e,0xb5c)],_0x7d041b['templateValues'])),super(_0x7d041b);}[_0x7afdbe(0x1acf,0x1978)](_0x647e94){!_0x647e94&&this['_closeAllControl']();}['_addedHook'](){const _0x10e7de={_0x5de4b2:0xea9,_0x289f78:0x792,_0x1db8a2:0x5fd,_0x2e3f18:0x49c,_0x2add7d:0x2e8,_0x3a252d:0x66e};function _0x50fb3e(_0x50a51f,_0x241782){return _0x54a7f1(_0x241782- -0x2b3,_0x50a51f);}function _0x5b3124(_0x37ff8d,_0x553b94){return _0x7afdbe(_0x37ff8d,_0x553b94- -0x470);}var _0x31fa5a;if(this['options'][_0x50fb3e(_0x10e7de._0x5de4b2,0x42b)])this['bindHighlight'](this[_0x50fb3e(_0x10e7de._0x289f78,_0x10e7de._0x1db8a2)][_0x5b3124(0x390,_0x10e7de._0x2e3f18)]);else(_0x31fa5a=this['options']['symbol'])!==null&&_0x31fa5a!==void 0x0&&(_0x31fa5a=_0x31fa5a['styleOptions'])!==null&&_0x31fa5a!==void 0x0&&_0x31fa5a['highlight']&&this['bindHighlight'](this[_0x5b3124(-_0x10e7de._0x2add7d,_0x10e7de._0x3a252d)][_0x5b3124(0x163,0x980)]['styleOptions']['highlight']);}['_removedHook'](){const _0x5c22c1={_0x4160ea:0x30a};function _0x229715(_0x2a808a,_0x38da82){return _0x7afdbe(_0x2a808a,_0x38da82- -_0x5c22c1._0x4160ea);}this[_0x229715(0xb3a,0x7c0)](),this['unbindHighlight']();}[_0x54a7f1(0x1757,0x13f2)](_0xbc7e6f,_0x59bb5a){const _0x3d8865={_0x22893f:0x80a},_0x46ecff={_0x20e7b7:0x1ae};function _0x5a0d0e(_0x588ade,_0x28005b){return _0x54a7f1(_0x28005b-_0x46ecff._0x20e7b7,_0x588ade);}var _0x28edc7;this['_highlightOptions']&&this['unbindHighlight']();function _0x157c98(_0x2566e0,_0x468517){return _0x7afdbe(_0x2566e0,_0x468517- -0x2ec);}if(_0x59bb5a['highlight'])this[_0x5a0d0e(0xc28,0xe19)](_0xbc7e6f['highlight']);else(_0x28edc7=_0x59bb5a['symbol'])!==null&&_0x28edc7!==void 0x0&&(_0x28edc7=_0x28edc7['styleOptions'])!==null&&_0x28edc7!==void 0x0&&_0x28edc7['highlight']&&this['bindHighlight'](_0xbc7e6f[_0x157c98(0xcae,0xb04)][_0x5a0d0e(_0x3d8865._0x22893f,0x5b8)]['highlight']);}['_closeAllControl'](){const _0xbea42e={_0x47d2b7:0x242},_0x545b5b={_0x50f740:0x508};this['closePopup']();function _0x4090df(_0xcee59c,_0x1c036c){return _0x7afdbe(_0x1c036c,_0xcee59c- -_0x545b5b._0x50f740);}this[_0x4090df(_0xbea42e._0x47d2b7,-0x54f)](),this['closeSmallTooltip'](),this['closeContextMenu']();}[_0x7afdbe(0x100c,0xe99)](_0x2a9da3){const _0x1b8d7e={_0x452176:0x3f7,_0x368ca8:0xbfc};this[_0x4a849e(0x382,-0x17b)](),this['_highlightOptions']=_0x2a9da3;function _0x4a849e(_0x951508,_0x2a96da){return _0x7afdbe(_0x2a96da,_0x951508- -0x477);}function _0x56b747(_0x14c8c9,_0x539c55){return _0x7afdbe(_0x14c8c9,_0x539c55- -0x347);}this['_highlightOptions']['type']===EventType['click']?this['on'](EventType[_0x56b747(_0x1b8d7e._0x452176,0xdf1)],this['_highlight_mouseEventHandler'],this):(this['on'](EventType['mouseOver'],this[_0x56b747(0x38b,0xd67)],this),this['on'](EventType['mouseOut'],this[_0x56b747(_0x1b8d7e._0x368ca8,0xdce)],this));}[_0x7afdbe(0xa4e,0x7f9)](){const _0x4a3576={_0xd30042:0x4f,_0x5e56eb:0xb5,_0xe6b9ae:0x890,_0xa1a186:0x5be,_0x522544:0x8f3};function _0xb24f7e(_0x2dcda3,_0x2811c8){return _0x54a7f1(_0x2dcda3- -0x298,_0x2811c8);}function _0x538d6f(_0x9249f8,_0x2a423b){return _0x7afdbe(_0x9249f8,_0x2a423b- -0x714);}this[_0x538d6f(-_0x4a3576._0xd30042,0x6a5)]&&(this[_0xb24f7e(0xb5,-0x3ec)](EventType['click'],this['_highlight_mouseEventHandler'],this),this[_0xb24f7e(_0x4a3576._0x5e56eb,-_0x4a3576._0xe6b9ae)](EventType['mouseOver'],this[_0x538d6f(0xd0c,0x99a)],this),this['off'](EventType['mouseOut'],this[_0xb24f7e(0xc4f,0x6af)],this),this['_map']['isHighlighting'](this)&&this['_map'][_0xb24f7e(-0x3f,_0x4a3576._0xa1a186)](),this[_0xb24f7e(_0x4a3576._0x522544,0x5c7)]=null);}['_highlight_mouseEventHandler'](_0x1cc4c0){if(!this['_map'])return;function _0x531880(_0x3ff2f1,_0x179c4c){return _0x7afdbe(_0x3ff2f1,_0x179c4c- -0x6b);}const _0x31ba4e=_0x1cc4c0===null||_0x1cc4c0===void 0x0?void 0x0:_0x1cc4c0['graphic'];_0x31ba4e?this[_0x531880(0xf49,0x996)]['openHighlight'](_0x31ba4e,this['_highlightOptions'],_0x1cc4c0):this['_map']['closeHighlight']();}['_highlight_mouseOutHandler'](_0x389e82){const _0x3df562={_0xca5073:0xbad,_0x40d5e1:0x26f},_0x4de1dc={_0x1314e7:0x218};function _0x31a638(_0x57e766,_0x3fa3e2){return _0x7afdbe(_0x57e766,_0x3fa3e2- -_0x4de1dc._0x1314e7);}function _0x3965e1(_0x4c7d66,_0x5e5171){return _0x54a7f1(_0x4c7d66- -0xda,_0x5e5171);}this[_0x3965e1(0x6f9,0xfc3)][_0x31a638(_0x3df562._0xca5073,_0x3df562._0x40d5e1)]();}[_0x7afdbe(0x1784,0x15d3)](_0x3eac5f,_0x14155f){const _0x218f3c={_0x1ac328:0x1470};function _0x121dd3(_0x51d7b6,_0x24cba6){return _0x7afdbe(_0x51d7b6,_0x24cba6- -0x163);}if(!this['_map']||!_0x3eac5f)return;this['_map'][_0x121dd3(0xe5f,_0x218f3c._0x1ac328)](_0x3eac5f,this['_highlightOptions'],_0x14155f);}['closeHighlight'](){this['_map']['closeHighlight']();}[_0x54a7f1(0x137d,0x108d)](){const _0x46f9e9={_0x4cf6a9:0x6c4,_0x5df333:0x355},_0x1c1e7b={_0x442f13:0x26d};function _0x1def6d(_0x26875e,_0x470e4d){return _0x54a7f1(_0x26875e-_0x1c1e7b._0x442f13,_0x470e4d);}if(this[_0x1def6d(_0x46f9e9._0x4cf6a9,0x4e9)])return!![];if(this[_0x1def6d(0x943,0x502)]){const _0x99de9d=this['_graphicList']['values'];for(let _0x58ddb3=0x0,_0x1bf196=_0x99de9d['length'];_0x58ddb3<_0x1bf196;_0x58ddb3++){const _0x11d500=_0x99de9d[_0x58ddb3];if(_0x11d500[_0x3ce4b5(_0x46f9e9._0x5df333,-0x27a)])return!![];}}function _0x3ce4b5(_0x3679e5,_0xbeddd3){return _0x54a7f1(_0x3679e5- -0x102,_0xbeddd3);}return![];}['bindPopup'](_0x2a77d6,_0x2ad015){const _0x45494f={_0x2906a9:0x82a},_0x5379bc={_0x145aed:0x210};function _0x202896(_0x40c07d,_0x113e5b){return _0x54a7f1(_0x40c07d- -_0x5379bc._0x145aed,_0x113e5b);}return this['_popupConfig']={'content':_0x2a77d6,'options':_0x2ad015||this['options'][_0x202896(_0x45494f._0x2906a9,0x813)],'layer':this},this;}[_0x7afdbe(0x18fc,0x12c5)](_0x46bc13){return this['closePopup'](),_0x46bc13?this['_popupConfig']=![]:this['_popupConfig']=null,this;}[_0x7afdbe(0x124f,0x870)](_0x410455){const _0x594df3={_0x19620c:0x1ba,_0x51c633:0x35c,_0x222280:0x4ed,_0x299411:0x447,_0x468c99:0x171},_0x1ddaf0={_0x1ebb48:0x444};function _0x2241b3(_0x3ef790,_0x4760bf){return _0x54a7f1(_0x4760bf- -0x2e6,_0x3ef790);}function _0x36c615(_0x5cac74,_0x593ba1){return _0x7afdbe(_0x593ba1,_0x5cac74- -_0x1ddaf0._0x1ebb48);}if(_0x410455['openPopup'])_0x410455[_0x2241b3(_0x594df3._0x19620c,_0x594df3._0x51c633)]();else this['_popupConfig']&&_0x410455&&this['_map']&&(this['_popupConfig']['graphic']=null,this[_0x2241b3(-0x578,_0x594df3._0x222280)][_0x2241b3(0xbe9,0xff6)][_0x36c615(0xb0f,_0x594df3._0x299411)](_0x410455,this[_0x2241b3(-0x74a,_0x594df3._0x468c99)]));return this;}[_0x7afdbe(0x175d,0x14f7)](){const _0x5ade38={_0x130f67:0x8a2,_0x1caf1f:0xd3c,_0x3b52f7:0x131a},_0xae00d={_0x39be16:0xcf};function _0x39c80e(_0x29392c,_0x25514e){return _0x54a7f1(_0x29392c-_0xae00d._0x39be16,_0x25514e);}function _0x73a430(_0x12ddf2,_0x12451a){return _0x7afdbe(_0x12ddf2,_0x12451a- -0x1f0);}return this[_0x39c80e(_0x5ade38._0x130f67,0x3c0)]&&this['hasPopup']()&&this[_0x39c80e(_0x5ade38._0x130f67,_0x5ade38._0x1caf1f)][_0x73a430(0x184b,_0x5ade38._0x3b52f7)]['close'](null,this),this;}[_0x54a7f1(0x11cb,0x1636)](){const _0x551195={_0x34b692:0x10b9},_0x543e56={_0x398471:0x97};function _0x3dd1e1(_0x49f545,_0x3fc92e){return _0x54a7f1(_0x49f545- -_0x543e56._0x398471,_0x3fc92e);}if(this['_tooltipConfig'])return!![];if(this['_graphicList']){const _0x2b16fe=this['_graphicList'][_0x3dd1e1(_0x551195._0x34b692,0xfc9)];for(let _0x153b57=0x0,_0x49954a=_0x2b16fe['length'];_0x153b57<_0x49954a;_0x153b57++){const _0x2ded93=_0x2b16fe[_0x153b57];if(_0x2ded93['_tooltipConfig'])return!![];}}return![];}['bindTooltip'](_0x1c612f,_0x25cf37){const _0x41d47a={_0xd3f34e:0x54e},_0x2948ca={_0x3ddbf8:0x344};function _0x38494b(_0x66634e,_0x584a47){return _0x54a7f1(_0x66634e- -_0x2948ca._0x3ddbf8,_0x584a47);}return this[_0x38494b(_0x41d47a._0xd3f34e,0xa75)]={'content':_0x1c612f,'options':_0x25cf37||this['options']['tooltipOptions'],'layer':this},this;}[_0x54a7f1(0x1433,0x1395)](_0x377d6d){function _0x1db7aa(_0x41c112,_0x37b369){return _0x7afdbe(_0x37b369,_0x41c112- -0x413);}return _0x377d6d?this['_tooltipConfig']=![]:this[_0x1db7aa(0x6ad,-0x3ef)]=null,this['closeTooltip'](),this;}[_0x7afdbe(0x1a4c,0x18cc)](_0x454c83){const _0x22e4e5={_0x2c2d12:0xab5,_0x35fe9c:0x455,_0x2832e7:0xb09,_0x2aef89:0x514},_0x3829aa={_0x5b2994:0xb};function _0x2a9e1e(_0x18d38f,_0x2a655a){return _0x7afdbe(_0x2a655a,_0x18d38f- -0x5ac);}if(_0x454c83[_0x416252(0x18c1,0x1fac)])_0x454c83['openTooltip']();else this[_0x416252(_0x22e4e5._0x2c2d12,0x1124)]&&_0x454c83&&this[_0x2a9e1e(_0x22e4e5._0x35fe9c,0x6ab)]&&(this['_tooltipConfig']['graphic']=null,this['_map'][_0x416252(_0x22e4e5._0x2832e7,0x1473)][_0x416252(0xf48,0xd45)](_0x454c83,this[_0x2a9e1e(_0x22e4e5._0x2aef89,0x870)]));function _0x416252(_0x2afbd6,_0x2a08d8){return _0x7afdbe(_0x2a08d8,_0x2afbd6- -_0x3829aa._0x5b2994);}return this;}['closeTooltip'](){const _0x314db0={_0x5aa86d:0xd61,_0x335ad1:0xd5f,_0x11f221:0x369},_0x1d1f2d={_0x42fdb3:0x2a9},_0x5d8898={_0x23540d:0x698};this[_0x148a35(0x369,0x5fb)]&&this[_0x148a35(_0x314db0._0x5aa86d,_0x314db0._0x335ad1)]()&&this[_0x148a35(_0x314db0._0x11f221,0xd25)][_0x1042ac(0x462,0x86b)][_0x1042ac(0x78d,0x5ae)](null,this);function _0x148a35(_0x41b65e,_0x31a088){return _0x7afdbe(_0x31a088,_0x41b65e- -_0x5d8898._0x23540d);}function _0x1042ac(_0x559a5e,_0x94e3a3){return _0x7afdbe(_0x559a5e,_0x94e3a3- -_0x1d1f2d._0x42fdb3);}return this;}[_0x54a7f1(0x732,0xdaa)](){const _0x4c333b={_0x408b70:0x917,_0x211bbe:0x1391,_0x3ba871:0x1822,_0x8c6952:0x12de},_0x127ea1={_0x2503c2:0x1a6};if(this['_contextmenuConfig'])return!![];function _0x461ce4(_0xa81f51,_0x40cb23){return _0x54a7f1(_0x40cb23-_0x127ea1._0x2503c2,_0xa81f51);}if(this['_graphicList']){const _0x4bf2f1=this[_0x4714a4(0xe7d,_0x4c333b._0x408b70)][_0x4714a4(0x15f1,_0x4c333b._0x211bbe)];for(let _0x259403=0x0,_0x5de91f=_0x4bf2f1['length'];_0x259403<_0x5de91f;_0x259403++){const _0x42a4a2=_0x4bf2f1[_0x259403];if(_0x42a4a2[_0x4714a4(_0x4c333b._0x3ba871,_0x4c333b._0x8c6952)])return!![];}}function _0x4714a4(_0x1ccbdb,_0x5dea30){return _0x7afdbe(_0x1ccbdb,_0x5dea30-0x13);}return![];}[_0x54a7f1(0x1799,0xdca)](){const _0x4573de={_0x9ced06:0xc11};function _0x60aeb1(_0x243721,_0x4f90e8){return _0x7afdbe(_0x4f90e8,_0x243721- -0x6ba);}return this[_0x60aeb1(_0x4573de._0x9ced06,0x9ae)];}['bindContextMenu'](_0x580b56,_0x18e90f){const _0x4e325c={_0x22b0e1:0x2fe};var _0x28315f;this['_contextmenuConfig']={'content':_0x580b56,'options':_0x18e90f||((_0x28315f=this[_0x26e6ab(0x99e,0x6aa)])===null||_0x28315f===void 0x0?void 0x0:_0x28315f[_0x336f52(0xc2e,0x1226)]),'layer':this};function _0x26e6ab(_0x2f81b7,_0x534032){return _0x7afdbe(_0x534032,_0x2f81b7- -0x140);}function _0x336f52(_0x9c2920,_0x16f9e6){return _0x7afdbe(_0x16f9e6,_0x9c2920- -_0x4e325c._0x22b0e1);}return this;}['unbindContextMenu'](_0x1c700f){const _0x29190d={_0x1b0551:0xe54};_0x1c700f?this['_contextmenuConfig']=![]:this['_contextmenuConfig']=null;this[_0x5e9970(_0x29190d._0x1b0551,0xca3)]();function _0x5e9970(_0x173721,_0x31264e){return _0x54a7f1(_0x31264e- -0x485,_0x173721);}return this;}['openContextMenu'](_0xa6ef31){const _0x3e998b={_0x491181:0x191,_0x3233d3:0x7a,_0x410add:0x5e6,_0x374ab6:0xe1c,_0x3bfd05:0x1657};function _0x1bedb3(_0x28298e,_0x487f9e){return _0x54a7f1(_0x28298e- -0x4ce,_0x487f9e);}function _0x108ece(_0x4ce240,_0x381510){return _0x7afdbe(_0x4ce240,_0x381510- -0x41b);}if(_0xa6ef31[_0x108ece(-0x21,_0x3e998b._0x491181)])_0xa6ef31['openContextMenu']();else this['_contextmenuConfig']&&_0xa6ef31&&this[_0x108ece(_0x3e998b._0x3233d3,_0x3e998b._0x410add)]&&(this['_contextmenuConfig']['graphic']=null,this['_map'][_0x1bedb3(_0x3e998b._0x374ab6,_0x3e998b._0x3bfd05)]['open'](_0xa6ef31,this[_0x108ece(0x71a,0xeb0)]));return this;}[_0x54a7f1(0x1128,0x140d)](){return this['_map']&&this['hasContextMenu']()&&this['_map']['contextmenu']['close'](null,this),this;}[_0x7afdbe(0x155c,0x19af)](_0x68789,_0x14c60e){const _0x212321={_0x209acd:0x459,_0x3b2e4c:0x16cd},_0x396805={_0x4f5581:0x37a},_0x379292={_0x65cf4a:0x35};function _0xf675b2(_0x59d5ae,_0x56080b){return _0x7afdbe(_0x59d5ae,_0x56080b-_0x379292._0x65cf4a);}this['_map']&&this[_0x3f745e(0x3cd,_0x212321._0x209acd)][_0xf675b2(_0x212321._0x3b2e4c,0x19e4)](_0x68789,_0x14c60e);function _0x3f745e(_0x354ace,_0x5394c6){return _0x54a7f1(_0x5394c6- -_0x396805._0x4f5581,_0x354ace);}return this;}[_0x54a7f1(0xd95,0xaa6)](){const _0x2ebdd4={_0x2347fb:0x7b8},_0x1e6790={_0x2d5c58:0x1b};this['_map']&&this[_0x3f07c4(_0x2ebdd4._0x2347fb,0x1127)]['closeSmallTooltip']();function _0x3f07c4(_0x86e3ba,_0x2f1857){return _0x54a7f1(_0x86e3ba- -_0x1e6790._0x2d5c58,_0x2f1857);}return this;}}const KDBush=Cesium__namespace[_0x54a7f1(0xb81,0xfc6)]['KDBush']??window['KDBush'];class PointCluster{constructor(_0x29681d){const _0x4b070b={_0x3df30a:0xe51,_0x4f9df9:0x992,_0x3f9753:0x100f};function _0x38376f(_0x244c86,_0x390a95){return _0x54a7f1(_0x244c86-0x1c5,_0x390a95);}this[_0x38376f(0x15fa,_0x4b070b._0x3df30a)]=_0x29681d,this[_0x38376f(0x998,0x74a)]=_0x29681d[_0x38376f(0x998,0x467)];function _0x8df3eb(_0x3725ca,_0x27d065){return _0x7afdbe(_0x27d065,_0x3725ca- -0x6f);}this['_clustersList']=[],this['_billboardCollection']=new Cesium__namespace['BillboardCollection']({'scene':this[_0x8df3eb(_0x4b070b._0x4f9df9,_0x4b070b._0x3f9753)]['scene']}),this['_map']['scene']['primitives']['add'](this['_billboardCollection']),this[_0x38376f(0x169c,0x1cce)](),KDBush?this['bindEvent']():logError('未识别KDBush库,请引入kdbush.js或更新mars3d-cesium库至最新版本',KDBush);}get['enabled'](){const _0x474dbc={_0xf67741:0xd12};function _0x3fe7e3(_0x5510f2,_0x172bfe){return _0x54a7f1(_0x5510f2- -0x3e4,_0x172bfe);}return this[_0x3fe7e3(0x716,_0x474dbc._0xf67741)];}set[_0x7afdbe(0x14a1,0xdd1)](_0x4d787e){const _0x2b2a9a={_0x4a3d01:0x1562};this[_0x37eb99(0x4c3,0xbf8)]=_0x4d787e;function _0x44369c(_0x363a3a,_0x1a17e2){return _0x7afdbe(_0x363a3a,_0x1a17e2- -0x51e);}function _0x37eb99(_0x366ca4,_0x321fb2){return _0x7afdbe(_0x366ca4,_0x321fb2- -0x130);}if(_0x4d787e)this[_0x37eb99(0xabf,0x770)]();else{this['removeAll']();const _0x5ce423=this[_0x44369c(_0x2b2a9a._0x4a3d01,0x1145)]['graphics'];for(let _0x1831dc=0x0;_0x1831dc<_0x5ce423[_0x37eb99(0xd08,0x1083)];++_0x1831dc){_0x5ce423[_0x1831dc]['isCluster']=![];}}}['updateOptions'](){const _0x94a051={_0x10b2f7:0x110d,_0xf30bef:0xc71,_0x5f0297:0x3ca,_0x37931b:0x3e6,_0xc50abf:0xd9b,_0x19b4dd:0x6d1,_0x271e02:0xb6d},_0x448a9f=this[_0x267bb6(_0x94a051._0x10b2f7,0x9de)]['options']['cluster']||this[_0x1c8892(0xb0b,0x15ac)]['options']['clustering']||{};this[_0x1c8892(0x138c,0xa27)]=_0x448a9f,this[_0x1c8892(0x564,_0x94a051._0xf30bef)]=_0x448a9f[_0x267bb6(0x87b,0x74f)]??this['_graphicLayer']['show'],this['_pixelRange']=_0x448a9f['pixelRange']??0x14,this['_minimumClusterSize']=_0x448a9f[_0x267bb6(_0x94a051._0x5f0297,0xae9)]??0x2,this[_0x1c8892(-_0x94a051._0x37931b,0x4a9)]=_0x448a9f['includePoly']??!![],this[_0x267bb6(0x120c,0x1477)]=this['_graphicLayer'][_0x1c8892(_0x94a051._0xc50abf,0x4d1)];function _0x1c8892(_0x4bdead,_0x595bc7){return _0x7afdbe(_0x4bdead,_0x595bc7- -0xb7);}function _0x267bb6(_0x5a4d06,_0x53b90c){return _0x54a7f1(_0x5a4d06- -0x328,_0x53b90c);}this[_0x1c8892(_0x94a051._0x19b4dd,_0x94a051._0x271e02)]&&(this['_billboardCollection']['zIndex']=_0x448a9f['zIndex']);}['bindEvent'](){const _0xc0d684={_0x11ae2a:0x1161,_0x38405c:0xd7d,_0xcf2a59:0x8da,_0x82a9fa:0x579,_0x48a523:0x38a};this[_0x36982f(0x1af8,_0xc0d684._0x11ae2a)]=![],this['mouse_move']=![];function _0x3a100f(_0x3df2b0,_0x3e293d){return _0x7afdbe(_0x3df2b0,_0x3e293d- -0x488);}function _0x36982f(_0x54bce5,_0x18be6d){return _0x54a7f1(_0x18be6d-0x290,_0x54bce5);}this['_onCameraChangedEventThrottle']=funThrottle(this[_0x3a100f(-0x4ce,0x418)],0x12c),this[_0x3a100f(_0xc0d684._0x38405c,0x579)]['on'](EventType[_0x36982f(0x143d,0x13de)],this[_0x36982f(0x1a23,0x11ec)],this),this[_0x3a100f(-0x455,0x579)][_0x36982f(_0xc0d684._0xcf2a59,0x7eb)][_0x3a100f(0x778,0xf07)]=0.02,this[_0x3a100f(0x4ca,_0xc0d684._0x82a9fa)]['on'](EventType['cameraChanged'],this[_0x36982f(0xf7f,0x11ec)],this),this[_0x3a100f(-_0xc0d684._0x48a523,0x579)]['on'](EventType['mouseDown'],this['_onMouseDownEvent'],this),this['_map']['on'](EventType[_0x36982f(0x661,0xaa6)],this['_onMouseUpEvent'],this);}['unbindEvent'](){const _0x588a3e={_0x3b2f6b:0x7e6,_0x3c1ccf:0xecf,_0x3b00b8:0x8cb,_0x2cba80:0x8be,_0x24dcf4:0x40e,_0x3b30d9:0x31f,_0xeb774f:0x9ed,_0x399c03:0x78b};function _0x4922ae(_0x423310,_0x38d79f){return _0x7afdbe(_0x423310,_0x38d79f- -0x2bb);}this['_map']['off'](EventType['wheel'],this['_onCameraChangedEventThrottle'],this),this['_map']['off'](EventType['cameraChanged'],this[_0x4922ae(_0x588a3e._0x3b2f6b,_0x588a3e._0x3c1ccf)],this),this['_map']['off'](EventType[_0x2425cb(_0x588a3e._0x3b00b8,_0x588a3e._0x2cba80)],this['_onMouseDownEvent'],this),this['_map'][_0x2425cb(-_0x588a3e._0x24dcf4,_0x588a3e._0x3b30d9)](EventType[_0x4922ae(0xb5a,0x789)],this[_0x2425cb(0x13e2,_0x588a3e._0xeb774f)],this);function _0x2425cb(_0x13b27a,_0x2a393c){return _0x7afdbe(_0x13b27a,_0x2a393c- -0x25c);}this[_0x4922ae(0xe5,0x746)][_0x2425cb(0x1d3,0x31f)](EventType[_0x2425cb(0xfbe,0xb47)],this[_0x4922ae(_0x588a3e._0x399c03,0xb38)],this);}['_onMouseDownEvent'](_0x949840){const _0x57d42b={_0x18ce7a:0x511};this['mouse_down']=!![],this['_map']['off'](EventType['mouseMove'],this[_0x33b5b9(0x84e,0xe21)],this);function _0x5c6d2c(_0x1b7679,_0x4fedba){return _0x7afdbe(_0x4fedba,_0x1b7679- -_0x57d42b._0x18ce7a);}function _0x33b5b9(_0x1b10ce,_0xdb8b8c){return _0x7afdbe(_0x1b10ce,_0xdb8b8c-0x2e);}this['_map']['on'](EventType['mouseMove'],this[_0x5c6d2c(0x8e2,0x813)],this);}[_0x7afdbe(0x12a2,0xdf3)](_0x52284b){this['mouse_down']&&(this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x2c1e10){const _0x4143ce={_0x5e7b15:0x97c,_0x2e925f:0x21e0,_0x18c0ab:0xc2},_0x157195={_0x53c40e:0x25c};function _0x6af9f6(_0x16db06,_0x37a69a){return _0x54a7f1(_0x37a69a-_0x157195._0x53c40e,_0x16db06);}this['_map']['off'](EventType[_0x6af9f6(_0x4143ce._0x5e7b15,0xdd1)],this['_onMouseMoveEvent'],this);this['mouse_down']&&this[_0x6af9f6(_0x4143ce._0x2e925f,0x1841)]&&this[_0x3eb6d8(_0x4143ce._0x18c0ab,0x45b)]();function _0x3eb6d8(_0x1b3cde,_0x438f87){return _0x7afdbe(_0x1b3cde,_0x438f87- -0x445);}this['mouse_down']=![],this[_0x3eb6d8(0xc2e,0x13ce)]=![];}[_0x7afdbe(0xa73,0xa5a)](){this['_billboardCollection']['removeAll']();}['_cluster'](){const _0xa35338={_0x2533d2:0x1103,_0x2054eb:0x1cd,_0x3cdd6e:0x7d2,_0x288561:0x69d,_0x4effce:0x827,_0x39161d:0x107e,_0x426a28:0xa55,_0x2346e3:0x1008,_0xa23fdc:0xf84,_0x1e39c9:0x335,_0x4023c0:0xb97,_0x3ccf89:0x635,_0x108c99:0x12b8,_0xde69af:0xaf3,_0x32a420:0x16e0,_0x18a28d:0x1870,_0x3e11a5:0xfba,_0x55b28f:0xd4d,_0x48f9ac:0xb09,_0x37199c:0x239,_0x178947:0x753,_0x3bcafc:0x1d27,_0x25b5f2:0xbd6,_0x1c7a6f:0x6a7,_0x34b2a1:0x12f,_0xe2a374:0x167d,_0x5933ac:0xe4c,_0x1cddf1:0xc21,_0x2da301:0x81c,_0x48fa3a:0x502,_0x4acd13:0x12e6,_0x313386:0x113b,_0x58fcfe:0x134c,_0x32cf34:0x4a,_0x5e7cb7:0x5};if(!this['enabled']||!this[_0x2b5a35(_0xa35338._0x2533d2,0x19c1)]['show'])return;const _0x38ffac=this['_graphicLayer'],_0x511940=_0x38ffac['getGraphics']();if(_0x511940['length']===0x0)return;const _0x53bd5b=this[_0x51a5a0(_0xa35338._0x2054eb,_0xa35338._0x3cdd6e)]['scene'][_0x51a5a0(-0x1c1,0x32b)]['ellipsoid'],_0x3c6f6c=this[_0x51a5a0(_0xa35338._0x288561,0x7d2)][_0x51a5a0(_0xa35338._0x4effce,_0xa35338._0x39161d)]['camera']['positionWC'];function _0x2b5a35(_0x1484cb,_0xcd2edd){return _0x7afdbe(_0xcd2edd,_0x1484cb- -0x560);}const _0x551d03=new Cesium__namespace[(_0x2b5a35(_0xa35338._0x426a28,0xcf1))](_0x53bd5b,_0x3c6f6c),_0x353a9a=this[_0x51a5a0(0x151,0x777)](_0x511940,_0x551d03);if(_0x353a9a[_0x51a5a0(_0xa35338._0x2346e3,_0xa35338._0xa23fdc)]===0x0)return;const _0x4e5995=this['_pixelRange'],_0x4c06d9=this['_minimumClusterSize'],_0x54030e=this['_clustersList'],_0x66cf11=[],_0x24a42f=this['_previousHeight'],_0x2da23b=this['_map']['scene']['camera']['positionCartographic'][_0x2b5a35(_0xa35338._0x1e39c9,_0xa35338._0x4023c0)];let _0x2d4880,_0x2258fb,_0xa26edb;function _0x51a5a0(_0x53556e,_0x34cacf){return _0x54a7f1(_0x34cacf- -0x1,_0x53556e);}let _0x3f66de,_0x323b35,_0x5e205d,_0x4d9a22,_0x3c2fc0,_0x3338fb,_0x52425c,_0x942962;if(_0x353a9a['length']>0x0){const _0x31048a=new KDBush(_0x353a9a['length'],0x40,Uint32Array);for(let _0x45508e=0x0;_0x45508e<_0x353a9a['length'];++_0x45508e){_0x31048a[_0x2b5a35(0x35e,-_0xa35338._0x3ccf89)](_0x353a9a[_0x45508e]['_cluster_coord']['x'],_0x353a9a[_0x45508e][_0x51a5a0(_0xa35338._0x108c99,_0xa35338._0xde69af)]['y']);}_0x31048a['finish']();if(_0x2da23b<_0x24a42f){_0xa26edb=_0x54030e[_0x2b5a35(0xc53,0x16f1)];for(_0x2d4880=0x0;_0x2d4880<_0xa26edb;++_0x2d4880){const _0x1b4d46=_0x54030e[_0x2d4880];if(!_0x551d03['isPointVisible'](_0x1b4d46[_0x51a5a0(0xf94,_0xa35338._0x32a420)]))continue;const _0x1f6b1b=Cesium__namespace['Billboard'][_0x2b5a35(0x32e,-0x46a)](Cesium__namespace['Matrix4']['IDENTITY'],_0x1b4d46['position'],Cesium__namespace['Cartesian3']['ZERO'],Cesium__namespace[_0x2b5a35(0x13d2,_0xa35338._0x18a28d)][_0x2b5a35(_0xa35338._0x3e11a5,0xc52)],this[_0x51a5a0(-0x101,0x7d2)][_0x2b5a35(_0xa35338._0x55b28f,0x17c2)]);if(!Cesium__namespace['defined'](_0x1f6b1b))continue;const _0x36cfef=0x1-_0x2da23b/_0x24a42f;let _0x4a2837=_0x1b4d46['width']=_0x1b4d46['width']*_0x36cfef,_0x31da81=_0x1b4d46['height']=_0x1b4d46[_0x2b5a35(0x335,-0x26b)]*_0x36cfef;_0x4a2837=Math[_0x51a5a0(0xa6b,_0xa35338._0x48f9ac)](_0x4a2837,_0x1b4d46['minimumWidth']),_0x31da81=Math['max'](_0x31da81,_0x1b4d46['minimumHeight']);const _0x20b9d3=_0x1f6b1b['x']-_0x4a2837*0.5,_0x4bd606=_0x1f6b1b['y']-_0x31da81*0.5,_0x1be004=_0x1f6b1b['x']+_0x4a2837,_0x19366f=_0x1f6b1b['y']+_0x31da81;_0x323b35=_0x31048a[_0x51a5a0(-_0xa35338._0x37199c,_0xa35338._0x178947)](_0x20b9d3,_0x4bd606,_0x1be004,_0x19366f),_0x5e205d=_0x323b35['length'],_0x52425c=0x0,_0x3338fb=[];for(_0x2258fb=0x0;_0x2258fb<_0x5e205d;++_0x2258fb){_0x4d9a22=_0x323b35[_0x2258fb],_0x3c2fc0=_0x353a9a[_0x4d9a22],!_0x3c2fc0[_0x2b5a35(0x134c,_0xa35338._0x3bcafc)]&&(++_0x52425c,_0x942962=_0x3c2fc0,_0x3338fb[_0x2b5a35(_0xa35338._0x25b5f2,_0xa35338._0x1c7a6f)](_0x942962['id']));}if(_0x52425c>=_0x4c06d9){_0x1b4d46[_0x2b5a35(0x405,_0xa35338._0x34b2a1)]=_0x3338fb,_0x66cf11[_0x51a5a0(0x16b6,0xf07)](_0x1b4d46);for(_0x2258fb=0x0;_0x2258fb<_0x5e205d;++_0x2258fb){_0x353a9a[_0x323b35[_0x2258fb]][_0x51a5a0(0x1f65,_0xa35338._0xe2a374)]=!![];}}}}_0xa26edb=_0x353a9a['length'];for(_0x2d4880=0x0;_0x2d4880<_0xa26edb;++_0x2d4880){const _0x3d0a4b=_0x353a9a[_0x2d4880];if(_0x3d0a4b['_clustered'])continue;_0x3d0a4b['_clustered']=!![],_0x3f66de=this[_0x51a5a0(0x123d,0xcf9)](_0x3d0a4b,_0x3d0a4b['_cluster_coord'],_0x4e5995,pointBoundinRectangleScratch);const _0xf03f6a=Cesium__namespace['BoundingRectangle']['clone'](_0x3f66de,totalBoundingRectangleScratch);_0x323b35=_0x31048a['range'](_0x3f66de['x'],_0x3f66de['y'],_0x3f66de['x']+_0x3f66de[_0x2b5a35(0x1225,0x167c)],_0x3f66de['y']+_0x3f66de['height']),_0x5e205d=_0x323b35['length'];const _0xcd6da1=Cesium__namespace['Cartesian3'][_0x51a5a0(_0xa35338._0x5933ac,0x7ee)](_0x3d0a4b['_position_cluster']);_0x52425c=0x1,_0x3338fb=[_0x3d0a4b['id']];for(_0x2258fb=0x0;_0x2258fb<_0x5e205d;++_0x2258fb){_0x4d9a22=_0x323b35[_0x2258fb],_0x3c2fc0=_0x353a9a[_0x4d9a22];if(!_0x3c2fc0['_clustered']){const _0x4af4cc=this['_getBoundingBox'](_0x3c2fc0,_0x3c2fc0[_0x2b5a35(0x7c2,_0xa35338._0x1cddf1)],_0x4e5995,neighborBoundingRectangleScratch),_0x50b90a=_0x3c2fc0['_position_cluster'];Cesium__namespace['Cartesian3']['add'](_0x50b90a,_0xcd6da1,_0xcd6da1),Cesium__namespace[_0x51a5a0(0xb30,_0xa35338._0x2da301)][_0x2b5a35(_0xa35338._0x48fa3a,0x137)](_0xf03f6a,_0x4af4cc,_0xf03f6a),++_0x52425c,_0x3338fb['push'](_0x3c2fc0['id']);}}if(_0x52425c>=_0x4c06d9){const _0x5db570=Cesium__namespace[_0x51a5a0(0xe51,_0xa35338._0x4acd13)]['multiplyByScalar'](_0xcd6da1,0x1/_0x52425c,_0xcd6da1),_0x28a690={'position':_0x5db570,'width':_0xf03f6a[_0x2b5a35(0x1225,0x7a2)],'height':_0xf03f6a['height'],'minimumWidth':_0x3f66de['width'],'minimumHeight':_0x3f66de['height'],'graphicIds':_0x3338fb,'getGraphics':function(){return _0x38ffac['getGraphicsByIds'](this['graphicIds']);}};_0x66cf11[_0x2b5a35(0xbd6,_0xa35338._0x313386)](_0x28a690);for(_0x2258fb=0x0;_0x2258fb<_0x5e205d;++_0x2258fb){_0x353a9a[_0x323b35[_0x2258fb]][_0x2b5a35(_0xa35338._0x58fcfe,0x1abf)]=!![];}}else _0x3d0a4b['isCluster']=![];}}this['_clustersList']=_0x66cf11,this['_previousHeight']=_0x2da23b,this[_0x2b5a35(-_0xa35338._0x32cf34,_0xa35338._0x5e7cb7)](_0x66cf11);}[_0x54a7f1(0xcfa,0xa7b)](_0x1b99cc,_0x10fb03,_0x2df7cd,_0x419847){const _0x3afb83={_0x274e84:0x85a,_0x1d728c:0x2c0,_0x1978a8:0x5b2},_0x198fa1={_0x1d8589:0xfd},_0x4f679a={_0x5a245c:0x282};_0x1b99cc['getBoundingBox']?_0x419847=_0x1b99cc['getBoundingBox'](_0x10fb03,_0x419847):_0x419847=getScreenSpaceBoundingBox(_0x1b99cc,_0x10fb03,_0x419847);function _0x1c6343(_0x2ebc58,_0xfbdab){return _0x54a7f1(_0xfbdab- -_0x4f679a._0x5a245c,_0x2ebc58);}function _0x3cd2ad(_0x218d78,_0x16c418){return _0x54a7f1(_0x16c418-_0x198fa1._0x1d8589,_0x218d78);}expandBoundingBox(_0x419847,_0x2df7cd);if(_0x1b99cc['_primitive_label']){const _0x4e96e8=Cesium__namespace['Label']['getScreenSpaceBoundingBox'](_0x1b99cc[_0x3cd2ad(0x106d,_0x3afb83._0x274e84)],_0x10fb03,labelBoundingBoxScratch);expandBoundingBox(_0x4e96e8,_0x2df7cd),_0x419847=Cesium__namespace[_0x3cd2ad(0x5b1,0x91a)][_0x1c6343(_0x3afb83._0x1d728c,_0x3afb83._0x1978a8)](_0x419847,_0x4e96e8,_0x419847);}return _0x419847;}[_0x7afdbe(0x7d8,0x9a6)](_0xb079f,_0x26cfd1){const _0x51aa88={_0x19c655:0xe74,_0x51984c:0x1102,_0x55caa7:0x1627,_0x5081fd:0xf62,_0x834acb:0x288,_0x57c53a:0x159b,_0x5633b0:0x14ae,_0x1defcf:0x1a32,_0x3c88bd:0x1422,_0x1ef652:0x6f2,_0x409224:0x3a2,_0x56576a:0x31b,_0x35fc04:0xd50,_0x6eeafb:0xf3a,_0x51b24d:0x148b,_0x214420:0x174a,_0x1f0a65:0x7a6},_0x5b6671={_0x7784a2:0xc9},_0x3b22b1={_0x247bdf:0x373};if(!Cesium__namespace['defined'](_0xb079f))return;const _0xd32df7=this[_0x49739a(0x14e1,0x14fe)]['_graphic_drawing'],_0x37c6a4=[];function _0x3a737e(_0x16e856,_0x2c6451){return _0x7afdbe(_0x16e856,_0x2c6451- -_0x3b22b1._0x247bdf);}const _0x1ef3a8=_0xb079f['length'];for(let _0x213f40=0x0;_0x213f40<_0x1ef3a8;++_0x213f40){const _0x207618=_0xb079f[_0x213f40];if(!_0x207618['isAdded']||_0xd32df7===_0x207618||_0x207618[_0x3a737e(0xda6,_0x51aa88._0x19c655)]||this[_0x49739a(0x98e,0x3fb)]===![]&&!_0x207618[_0x3a737e(0x1b92,_0x51aa88._0x51984c)]||!_0x207618['hasCluster'])continue;const _0x573036=_0x207618[_0x49739a(_0x51aa88._0x55caa7,_0x51aa88._0x5081fd)]??_0x207618['position']??_0x207618[_0x49739a(_0x51aa88._0x834acb,0x646)];if(!_0x573036||!_0x207618[_0x3a737e(_0x51aa88._0x57c53a,_0x51aa88._0x5633b0)]||this['_map'][_0x49739a(0x71c,0x1148)]['mode']===Cesium__namespace['SceneMode'][_0x3a737e(_0x51aa88._0x1defcf,_0x51aa88._0x3c88bd)]&&!_0x26cfd1['isPointVisible'](_0x573036))continue;let _0x4a3fc6;_0x207618[_0x3a737e(-_0x51aa88._0x1ef652,_0x51aa88._0x409224)]?_0x4a3fc6=_0x207618[_0x49739a(_0x51aa88._0x56576a,0x5b0)]():_0x4a3fc6=getWindowCoordinates(this['_map'][_0x3a737e(_0x51aa88._0x35fc04,_0x51aa88._0x6eeafb)],_0x573036);if(!Cesium__namespace[_0x49739a(_0x51aa88._0x51b24d,_0x51aa88._0x214420)](_0x4a3fc6))continue;_0x207618['isCluster']=!![],_0x207618['_clustered']=![],_0x207618['_cluster_coord']=_0x4a3fc6,_0x207618['_position_cluster']=_0x573036,_0x37c6a4[_0x3a737e(_0x51aa88._0x1f0a65,0xdc3)](_0x207618);}function _0x49739a(_0x42561c,_0x22d5aa){return _0x54a7f1(_0x22d5aa-_0x5b6671._0x7784a2,_0x42561c);}return _0x37c6a4;}[_0x7afdbe(0x96,0x516)](_0x5dee03){const _0x4c348f={_0x305688:0x69,_0x36c59d:0x1ea6,_0x474862:0xbed,_0x2db333:0x129d,_0x54abb5:0x1abb};this[_0x42bcff(0xa91,0x5ad)][_0x42bcff(0x8c7,_0x4c348f._0x305688)]();function _0x3cdd2b(_0x288f0d,_0x553ab0){return _0x54a7f1(_0x288f0d-0x2d,_0x553ab0);}function _0x42bcff(_0x24ae4d,_0x11e299){return _0x54a7f1(_0x24ae4d-0x9b,_0x11e299);}for(let _0x54ea57=0x0;_0x54ea57<_0x5dee03['length'];_0x54ea57++){this['_addClusterItem'](_0x5dee03[_0x54ea57]);}this[_0x3cdd2b(0x1462,_0x4c348f._0x36c59d)][_0x42bcff(0xf53,_0x4c348f._0x474862)](EventType['clusterStop'],{'list':this[_0x3cdd2b(_0x4c348f._0x2db333,_0x4c348f._0x54abb5)]()});}[_0x54a7f1(0x8c6,0x3bb)](_0x53efdc){const _0x9fe607={_0x819df3:0x92d,_0x3f5344:0x444,_0x5e77f7:0xba,_0x4dd201:0xa82,_0x237b04:0x1051,_0x1583c6:0x1488,_0x3398d4:0x67,_0x267035:0x10c8,_0x3ffcd7:0x1771,_0x262c0d:0x1278,_0x2d4ae0:0x264,_0x3445a6:0x95,_0x165bcc:0x6d3,_0x5beca4:0x168,_0x3acaee:0x90a,_0x4e6169:0x2ab,_0x2d73ab:0x934,_0x36f44b:0xa1d},_0x3186e5={_0x15e42f:0x503};var _0x2ef728,_0x1f8a26;let _0x778dad=_0x53efdc[_0x13dfdf(0x1275,_0x9fe607._0x819df3)];(_0x2ef728=this[_0x13dfdf(_0x9fe607._0x3f5344,0xb47)]['style'])!==null&&_0x2ef728!==void 0x0&&_0x2ef728[_0x5d4568(0x1173,0xee4)]&&(_0x778dad=setPositionsHeight(_0x778dad,this[_0x5d4568(-_0x9fe607._0x5e77f7,0x3ad)]['style'][_0x5d4568(0x171b,0xee4)]));function _0x5d4568(_0x493479,_0x244bc3){return _0x54a7f1(_0x244bc3- -_0x3186e5._0x15e42f,_0x493479);}(_0x1f8a26=this['options'][_0x5d4568(-_0x9fe607._0x4dd201,-0x67)])!==null&&_0x1f8a26!==void 0x0&&_0x1f8a26['addHeight']&&(_0x778dad=addPositionsHeight(_0x778dad,this['options']['style'][_0x13dfdf(0x6b4,_0x9fe607._0x237b04)]));const _0x3e5337={};_0x3e5337[_0x5d4568(_0x9fe607._0x1583c6,0x11de)]=_0x778dad,_0x3e5337[_0x5d4568(0x1577,0x1155)]=Cesium__namespace['VerticalOrigin']['BOTTOM'],_0x3e5337['scale']=0.5;const _0x420b62=_0x3e5337;this['options'][_0x5d4568(-0x584,-_0x9fe607._0x3398d4)]?(this['_globalAlpha']!==0x1&&(this['options']['style']['globalAlpha']=this[_0x13dfdf(_0x9fe607._0x267035,_0x9fe607._0x3ffcd7)]),BillboardStyleConver[_0x13dfdf(0x96d,0x9fe)](this['options']['style'],_0x420b62)):this[_0x5d4568(_0x9fe607._0x262c0d,0x1031)]!==0x1&&(_0x420b62['color']=Cesium__namespace[_0x13dfdf(0xe18,0xab8)][_0x13dfdf(0x421,0x809)]['withAlpha'](this[_0x13dfdf(0x10c8,0x145b)]));const _0x54df7b=this[_0x13dfdf(0x444,0x63d)][_0x5d4568(_0x9fe607._0x2d4ae0,-0x21e)];if(isString(_0x54df7b))_0x420b62['image']=_0x54df7b;else{if(isFunction(_0x54df7b)){const _0x787202=_0x54df7b(_0x53efdc['graphicIds']['length'],_0x53efdc);_0x787202[_0x13dfdf(0x147,-_0x9fe607._0x3445a6)]?_0x787202[_0x5d4568(_0x9fe607._0x165bcc,0xb0)](function(_0x113bd7){const _0x280277={_0x52ccf7:0x433};function _0x30caef(_0x3f0e33,_0x42707b){return _0x13dfdf(_0x3f0e33-_0x280277._0x52ccf7,_0x42707b);}_0x1e7ace['_billboardCollection']&&(_0x1e7ace[_0x30caef(0x2ac,0x1da)]=_0x113bd7);}):_0x420b62[_0x13dfdf(-0x187,-0x57c)]=_0x787202;}else _0x420b62[_0x13dfdf(-0x187,_0x9fe607._0x5beca4)]=getCircleImage(_0x53efdc[_0x13dfdf(0x2cb,_0x9fe607._0x3acaee)][_0x13dfdf(0xb19,_0x9fe607._0x4e6169)],_0x54df7b);}function _0x13dfdf(_0x5818a8,_0x4dc1aa){return _0x7afdbe(_0x4dc1aa,_0x5818a8- -0x69a);}const _0x1e7ace=this[_0x5d4568(0xa39,0x4f3)]['add'](_0x420b62);return _0x1e7ace['_mars3d_layerId']=this['_graphicLayer']['id'],_0x1e7ace[_0x5d4568(_0x9fe607._0x2d73ab,_0x9fe607._0x36f44b)]=_0x53efdc,_0x53efdc['billboard']=_0x1e7ace,_0x1e7ace;}[_0x54a7f1(0x1270,0x194a)](){const _0x3fde8f={_0xd41124:0x798,_0x201109:0xba8,_0x1a17e6:0x743},_0x272141={_0x3fbe3c:0x25e},_0x55d309=[];function _0x3fbd1e(_0x2ce1d4,_0x25c5aa){return _0x54a7f1(_0x2ce1d4- -_0x272141._0x3fbe3c,_0x25c5aa);}for(let _0x3ff38c=0x0,_0x51d00a=this[_0x3fbd1e(_0x3fde8f._0xd41124,0x37)][_0x30995d(0xc55,0xbd9)];_0x3ff38c<_0x51d00a;_0x3ff38c++){const _0x45a2d4=this['_billboardCollection'][_0x3fbd1e(_0x3fde8f._0x201109,_0x3fde8f._0x1a17e6)](_0x3ff38c);_0x55d309['push'](_0x45a2d4['_clusterData']);}function _0x30995d(_0x53266b,_0x184d3e){return _0x7afdbe(_0x53266b,_0x184d3e- -0x5da);}return _0x55d309;}[_0x7afdbe(0x1070,0x736)](_0xe73c82){const _0x14bc8b={_0x3e2732:0x107e,_0x1baa0b:0x1391,_0x119561:0x1259,_0x4b5f46:0x862,_0x3f2f6d:0x29c},_0x425436={_0x46166e:0x31d},_0x461308={_0x35b7c7:0x259};this[_0x404810(_0x14bc8b._0x3e2732,0x1509)]=_0xe73c82;function _0x404810(_0x1266f0,_0x509bc0){return _0x7afdbe(_0x1266f0,_0x509bc0- -_0x461308._0x35b7c7);}function _0x565148(_0x309c1b,_0x2be04e){return _0x7afdbe(_0x309c1b,_0x2be04e- -_0x425436._0x46166e);}for(let _0x222d32=0x0,_0x176741=this['_billboardCollection']['length'];_0x222d32<_0x176741;_0x222d32++){const _0x54e000=this['_billboardCollection']['get'](_0x222d32);_0x54e000['color']=Cesium__namespace[_0x404810(_0x14bc8b._0x1baa0b,_0x14bc8b._0x119561)][_0x404810(0xf0,_0x14bc8b._0x4b5f46)][_0x565148(0x49f,_0x14bc8b._0x3f2f6d)](_0xe73c82);}}[_0x54a7f1(0x432,-0x22e)](){const _0xb470ee={_0x308d03:0x78f,_0x1cdbb9:0x932,_0x12b97d:0x932},_0x8d3ef6={_0x454907:0x208};function _0x5e493c(_0x27c267,_0x152d5d){return _0x54a7f1(_0x152d5d- -_0x8d3ef6._0x454907,_0x27c267);}this[_0x179324(_0xb470ee._0x308d03,0x369)]();function _0x179324(_0x57e1be,_0x503ba8){return _0x54a7f1(_0x57e1be- -0xc4,_0x503ba8);}this['_billboardCollection']&&this[_0x179324(_0xb470ee._0x1cdbb9,0x11b4)]['destroy'](),this[_0x179324(_0xb470ee._0x12b97d,0x2d1)]=undefined;}}const labelBoundingBoxScratch=new Cesium__namespace['BoundingRectangle'](),pointBoundinRectangleScratch=new Cesium__namespace[(_0x54a7f1(0x81d,0x155))](),totalBoundingRectangleScratch=new Cesium__namespace[(_0x7afdbe(0x197,0xa4b))](),neighborBoundingRectangleScratch=new Cesium__namespace['BoundingRectangle']();function expandBoundingBox(_0x414557,_0x493af1){const _0x58cfc7={_0x45f56b:0x1369};_0x414557['x']-=_0x493af1,_0x414557['y']-=_0x493af1,_0x414557[_0x16e2e9(_0x58cfc7._0x45f56b,0x1385)]+=_0x493af1*0x2;function _0x16e2e9(_0x5534ae,_0x19fc50){return _0x7afdbe(_0x19fc50,_0x5534ae- -0x41c);}_0x414557['height']+=_0x493af1*0x2;}function getWindowCoordinates(_0x15822a,_0x462a74){return toWindowCoordinates$1(_0x15822a,_0x462a74);}function getScreenSpaceBoundingBox(_0x113abe,_0x1de784,_0x10a454){const _0x3ebbab={_0x43f900:0x18c3,_0x3542f8:0x275,_0x2e862f:0x157c,_0x2939bb:0x152f},_0x5518d8={_0x457ebd:0x3f};function _0x514519(_0x47b98e,_0x444f47){return _0x54a7f1(_0x444f47- -_0x5518d8._0x457ebd,_0x47b98e);}!Cesium__namespace['defined'](_0x10a454)&&(_0x10a454=new Cesium__namespace['BoundingRectangle']());if(!_0x113abe['isPoint']){const _0x1697bd=_0x113abe[_0x514519(_0x3ebbab._0x43f900,0x127d)]();if(_0x1697bd){const _0x2a98d9=_0x113abe['_map'][_0x37b1b6(0x1cb3,0x1246)],_0x3d5cfe=[],_0x3cb68c=getWindowCoordinates(_0x2a98d9,Cesium__namespace['Cartesian3']['fromRadians'](_0x1697bd[_0x37b1b6(-_0x3ebbab._0x3542f8,0x6b4)],_0x1697bd['south'],_0x1697bd['maxHeight'])),_0x17534e=getWindowCoordinates(_0x2a98d9,Cesium__namespace['Cartesian3'][_0x37b1b6(_0x3ebbab._0x2e862f,_0x3ebbab._0x2939bb)](_0x1697bd['east'],_0x1697bd['north'],_0x1697bd['maxHeight']));if(_0x3cb68c&&_0x17534e)return Cesium__namespace['BoundingRectangle']['fromPoints'](_0x3d5cfe,_0x10a454);}}function _0x37b1b6(_0x436eb6,_0x2acd8){return _0x54a7f1(_0x2acd8-0x1c7,_0x436eb6);}const _0x5266f8=0x8,_0x8159c9=0x8,_0x2eaea3=_0x1de784['x']-_0x5266f8*0.5,_0x405959=_0x1de784['y']-_0x8159c9*0.5;return _0x10a454['x']=_0x2eaea3,_0x10a454['y']=_0x405959,_0x10a454['width']=_0x5266f8,_0x10a454['height']=_0x8159c9,_0x10a454;}class GraphicLayer extends BaseGraphicLayer{constructor(_0x2b8f26={}){super(_0x2b8f26),this['_setOptionsHook'](_0x2b8f26,_0x2b8f26),this['_graphicList']=new MarsArray();}['_setOptionsHook'](_0x1a9d99,_0xdf78d5){const _0x4194f1={_0x432e1a:0x14f4,_0x2d91b3:0x1419,_0xe25c99:0x131d,_0x21fef3:0x6a7},_0x1213dd={_0xad80de:0x11e};super[_0x1f92cd(0x22fc,0x1875)](_0x1a9d99,_0xdf78d5),this[_0x3fa206(_0x4194f1._0x432e1a,_0x4194f1._0x2d91b3)]=_0x1a9d99[_0x3fa206(0x14f4,0x1d46)]??![];function _0x3fa206(_0x370682,_0x3ee641){return _0x54a7f1(_0x370682- -0x23e,_0x3ee641);}this['isAutoEditing']=_0x1a9d99[_0x1f92cd(_0x4194f1._0xe25c99,0x8ae)]??!![];function _0x1f92cd(_0x414a5a,_0x37d48e){return _0x54a7f1(_0x37d48e-_0x1213dd._0xad80de,_0x414a5a);}this[_0x3fa206(0xe05,_0x4194f1._0x21fef3)]=_0x1a9d99['isContinued']??![],_0xdf78d5['cluster']&&this['_initializeCluster']();}get['layer'](){const _0x39010d={_0x1d6842:0x1696,_0x310915:0xc48,_0x91dfa4:0x405,_0x3e4aaf:0x282,_0xa91dbe:0xd62,_0x23501d:0x1530,_0x26202e:0xccf,_0x59f83d:0x1523,_0x2a47a7:0xe0c,_0x2c8f0b:0x90d},_0x3aff70={_0x15eee1:0x317};function _0x2d8838(_0x31c60c,_0x5b9856){return _0x7afdbe(_0x31c60c,_0x5b9856- -_0x3aff70._0x15eee1);}const _0x25649b=[];this['_dataSource']&&_0x25649b['push'](this[_0x242dcb(0x122b,0x145d)]);this['_primitiveCollection']&&_0x25649b['push'](this['_primitiveCollection']);this['_groundPrimitiveCollection']&&_0x25649b['push'](this['_groundPrimitiveCollection']);this['_labelCollection']&&_0x25649b[_0x2d8838(_0x39010d._0x1d6842,0xe1f)](this['_labelCollection']);function _0x242dcb(_0x529ac9,_0x2d1b94){return _0x7afdbe(_0x2d1b94,_0x529ac9- -0x1f0);}return this[_0x242dcb(0xa34,_0x39010d._0x310915)]&&_0x25649b['push'](this[_0x2d8838(0xba2,0x90d)]),this[_0x2d8838(-_0x39010d._0x91dfa4,_0x39010d._0x3e4aaf)]&&_0x25649b['push'](this['_cloudCollection']),this[_0x242dcb(0x377,-0x705)]&&_0x25649b['push'](this['_pointCollection']),this[_0x2d8838(0x14ad,0xec0)]&&_0x25649b['push'](this['_polylineCollection']),this[_0x242dcb(0xc22,0xc5d)]&&_0x25649b['push'](this[_0x2d8838(_0x39010d._0xa91dbe,0xafb)]),this[_0x242dcb(_0x39010d._0x23501d,0x182e)]&&_0x25649b['push'](this['_visibilitys']),this['_pointCluster']&&(this['_pointCluster']['_billboardCollection']&&_0x25649b['push'](this[_0x2d8838(_0x39010d._0x26202e,_0x39010d._0x59f83d)][_0x2d8838(_0x39010d._0x2a47a7,_0x39010d._0x2c8f0b)])),_0x25649b;}get['clusterEnabled'](){const _0x1ac334={_0x1d09c3:0xbd2};function _0x19891d(_0x19af7a,_0x5962b3){return _0x7afdbe(_0x5962b3,_0x19af7a- -0x300);}var _0x32a7d3;return(_0x32a7d3=this[_0x19891d(0x153a,_0x1ac334._0x1d09c3)])===null||_0x32a7d3===void 0x0?void 0x0:_0x32a7d3['enabled'];}set[_0x7afdbe(0xb5c,0x502)](_0x5ba9ca){const _0x3483eb={_0x4ff620:0x2ec,_0x26ce2c:0x460};function _0x53c8f4(_0x2c96c0,_0x14f794){return _0x54a7f1(_0x14f794-0x54,_0x2c96c0);}this[_0x53c8f4(0x2a0,_0x3483eb._0x4ff620)]();function _0x2f7c51(_0x4364c0,_0x15c48a){return _0x54a7f1(_0x15c48a- -0x178,_0x4364c0);}this['_pointCluster'][_0x53c8f4(_0x3483eb._0x26ce2c,0xbf7)]=_0x5ba9ca;}get[_0x7afdbe(0xc79,0xc63)](){const _0x2ee59d={_0x41d0d9:0x148c,_0x5f490c:0x9fd,_0x3bd624:0x7ad,_0x85dd9e:0x6d5,_0x292f01:0xa77,_0x5aabaa:0x9c6,_0x9496f8:0xf05,_0x2d2bab:0x97e,_0x41988a:0x7ee,_0x4ef0a3:0x5a6,_0x5dc7b5:0x9c6};function _0x1320cb(_0x3222ff,_0xf760d0){return _0x54a7f1(_0x3222ff- -0x2c2,_0xf760d0);}function _0xb79b3d(_0x57a26b,_0x55e951){return _0x54a7f1(_0x57a26b- -0x30a,_0x55e951);}return!this[_0x1320cb(0xf2b,_0x2ee59d._0x41d0d9)]&&(this[_0x1320cb(0xf2b,_0x2ee59d._0x5f490c)]=new Cesium__namespace['CustomDataSource'](this['id']),this['_dataSource'][_0x1320cb(0x1331,0x13ed)]=this[_0x1320cb(_0x2ee59d._0x3bd624,_0x2ee59d._0x85dd9e)](),this['_dataSource']['zIndex']=this['options']['zIndex'],this[_0x1320cb(0x511,_0x2ee59d._0x292f01)]&&(this['_map'][_0x1320cb(0x684,0x113e)]['add'](this[_0x1320cb(0xf2b,0x115e)]),Cesium__namespace['defined'](this[_0x1320cb(0x5ee,-0x1d5)][_0x1320cb(_0x2ee59d._0x5aabaa,_0x2ee59d._0x9496f8)])&&(this[_0xb79b3d(_0x2ee59d._0x2d2bab,_0x2ee59d._0x41988a)]=this[_0xb79b3d(_0x2ee59d._0x4ef0a3,0x793)][_0x1320cb(_0x2ee59d._0x5dc7b5,0x1179)]))),this['_dataSource'];}get['primitiveCollection'](){const _0x428111={_0x2fafbf:0x6a1,_0x53d4a9:0x4ed,_0x35b80f:0x535,_0x296c76:0x6fd,_0x47693e:0x8fb,_0x4e5934:0x1350,_0x8f9a04:0x969},_0x5d8c2a={_0x20bc13:0x3e1},_0x1862af={_0x31e583:0x31f};function _0x23b5a0(_0x3647e0,_0x3bf294){return _0x54a7f1(_0x3bf294- -_0x1862af._0x31e583,_0x3647e0);}function _0xcee064(_0x17c860,_0x3998d3){return _0x7afdbe(_0x3998d3,_0x17c860- -_0x5d8c2a._0x20bc13);}return!this[_0xcee064(_0x428111._0x2fafbf,-0x3c4)]&&(this['_primitiveCollection']=new Cesium__namespace[(_0x23b5a0(0x147e,0xb62))](this['options']),this[_0x23b5a0(_0x428111._0x53d4a9,0x535)]['show']=this[_0x23b5a0(0x37f,0x750)](),this[_0x23b5a0(0x2fb,_0x428111._0x35b80f)]['zIndex']=this['options'][_0x23b5a0(-0x110,0x969)],this['_map']&&(this['_map']['scene']['primitives'][_0x23b5a0(0x512,0x371)](this[_0xcee064(0x6a1,-0x142)]),Cesium__namespace[_0x23b5a0(0x118d,0x1362)](this['options']['zIndex'])&&(this['zIndex']=this[_0xcee064(_0x428111._0x296c76,_0x428111._0x47693e)][_0x23b5a0(_0x428111._0x4e5934,_0x428111._0x8f9a04)]))),this['_primitiveCollection'];}get['groundPrimitiveCollection'](){const _0x580c4a={_0x5dceb8:0xddf,_0x117c75:0x1551,_0x177528:0x949,_0x266431:0x11ff,_0xb6e3a0:0xcb8,_0x3a0fdc:0xa26},_0x47e345={_0x82f301:0x131};function _0x26661e(_0x5d4f80,_0x3ff6b9){return _0x54a7f1(_0x5d4f80- -_0x47e345._0x82f301,_0x3ff6b9);}!this['_groundPrimitiveCollection']&&(this['_groundPrimitiveCollection']=new Cesium__namespace['PrimitiveCollection'](this[_0x26661e(0x77f,0x9fe)]),this[_0x26661e(0x13a2,_0x580c4a._0x5dceb8)]['show']=this['getRealShow'](),this[_0x4079c3(0x1649,_0x580c4a._0x117c75)]['zIndex']=this[_0x4079c3(0xa26,0xde6)]['zIndex'],this[_0x4079c3(_0x580c4a._0x177528,_0x580c4a._0x266431)]&&(this['_map'][_0x4079c3(0x11f5,0x762)][_0x26661e(0x549,_0x580c4a._0xb6e3a0)]['add'](this['_groundPrimitiveCollection']),Cesium__namespace['defined'](this[_0x4079c3(_0x580c4a._0x3a0fdc,0x830)]['zIndex'])&&(this['zIndex']=this['options'][_0x4079c3(0xdfe,0x10f0)])));function _0x4079c3(_0x2b3e55,_0x4228d0){return _0x7afdbe(_0x4228d0,_0x2b3e55- -0xb8);}return this['_groundPrimitiveCollection'];}get[_0x7afdbe(0x1aff,0x111f)](){const _0x431584={_0x1c5c0f:0x135f,_0x32a574:0x1186,_0x4fd05c:0x946,_0x441870:0x129d,_0x4e9698:0x947,_0x5a252f:0x10c1,_0x2891c9:0x1d0},_0x55448f={_0x22c7ac:0x341},_0x68c685={_0x39664e:0x1209,_0x4c18e9:0xfac},_0x1aadb9={_0xbd08a8:0x357};function _0x4cd0cf(_0x3ed9f7,_0x15aaa1){return _0x7afdbe(_0x3ed9f7,_0x15aaa1- -_0x1aadb9._0xbd08a8);}if(!this[_0x4cd0cf(0x1b40,_0x431584._0x1c5c0f)]){this[_0x4cd0cf(_0x431584._0x32a574,_0x431584._0x1c5c0f)]=new Cesium__namespace['LabelCollection']({...this[_0x4cd0cf(0x946,0x787)],'scene':this['_map']['scene']}),this['_labelCollection']['show']=this[_0x4cd0cf(0x703,_0x431584._0x4fd05c)](),this[_0x4cd0cf(0x16e3,_0x431584._0x1c5c0f)]['zIndex']=this['options'][_0x3be00e(_0x431584._0x441870,_0x431584._0x4e9698)];const _0x56f5f2=this[_0x4cd0cf(_0x431584._0x5a252f,0x135f)][_0x4cd0cf(_0x431584._0x2891c9,0x816)];this['_labelCollection']['update']=function(_0x1dbabf){function _0x359260(_0x487d49,_0x699d46){return _0x4cd0cf(_0x699d46,_0x487d49- -0x7b);}if(!this['show'])return;const _0x4c44d6=this[_0x4efe6f(_0x68c685._0x39664e,0x1598)];function _0x4efe6f(_0x58a968,_0xcf3c57){return _0x3be00e(_0x58a968,_0xcf3c57-0x368);}for(let _0x25fd01=0x0,_0x5b49d0=_0x4c44d6[_0x4efe6f(0x1933,_0x68c685._0x4c18e9)];_0x25fd01<_0x5b49d0;++_0x25fd01){_0x4c44d6[_0x25fd01]['update']&&_0x4c44d6[_0x25fd01][_0x4efe6f(0x130d,0x966)](_0x1dbabf);}return _0x56f5f2['bind'](this)(_0x1dbabf);},this['_map']&&this['_map']['scene']['primitives']['add'](this[_0x3be00e(0xa56,0x1147)]);}function _0x3be00e(_0x4aaa27,_0x2fdea6){return _0x54a7f1(_0x2fdea6- -_0x55448f._0x22c7ac,_0x4aaa27);}return this[_0x4cd0cf(0x9bb,0x135f)];}get['pointCollection'](){const _0x577ecd={_0x12b817:0x13a8,_0x42a278:0x226,_0x4404b6:0x1189,_0x541abc:0xa3d,_0x245c34:0x20a,_0x284eb1:0xef6,_0x17e0c8:0x928,_0x164848:0xee,_0x2cd785:0x8e4},_0x2efa5e={_0x374e8a:0x341};function _0x551f2a(_0xf68a64,_0x1707be){return _0x54a7f1(_0xf68a64- -0x24b,_0x1707be);}!this[_0x551f2a(0xee,0x136)]&&(this['_pointCollection']=new Cesium__namespace['PointPrimitiveCollection'](this['options']),this['_pointCollection'][_0x551f2a(_0x577ecd._0x12b817,0x1aeb)]=this['getRealShow'](),this[_0x2cb37c(0x248,_0x577ecd._0x42a278)][_0x551f2a(0xa3d,_0x577ecd._0x4404b6)]=this['options'][_0x551f2a(_0x577ecd._0x541abc,_0x577ecd._0x245c34)],this['_map']&&this['_map'][_0x2cb37c(_0x577ecd._0x284eb1,0xf6c)]['primitives'][_0x551f2a(0x445,_0x577ecd._0x17e0c8)](this['_pointCollection']));function _0x2cb37c(_0x2ff789,_0x360315){return _0x7afdbe(_0x2ff789,_0x360315- -_0x2efa5e._0x374e8a);}return this[_0x551f2a(_0x577ecd._0x164848,-_0x577ecd._0x2cd785)];}get[_0x7afdbe(0xfd3,0x5d0)](){const _0x575210={_0x157759:0x270,_0x5a232c:0xf01,_0x33469e:0xce0,_0x5e7a57:0xa65,_0x205ec7:0xe3d,_0x530e62:0xe61},_0xa3e92e={_0x5c7823:0x79};!this['_billboardCollection']&&(this['_billboardCollection']=new Cesium__namespace['BillboardCollection']({...this[_0x5d4ac4(0x1170,0x908)],'scene':this[_0x5d4ac4(0xc1f,0x82b)]['scene']}),this[_0x5d4ac4(_0x575210._0x157759,0xa4e)]['show']=this['getRealShow'](),this['_billboardCollection'][_0x5d4ac4(_0x575210._0x5a232c,_0x575210._0x33469e)]=this[_0x5afc85(_0x575210._0x5e7a57,0x1229)][_0x5afc85(_0x575210._0x205ec7,0xd0a)],this[_0x5d4ac4(0x103c,0x82b)]&&this['_map']['scene']['primitives']['add'](this['_billboardCollection']));function _0x5afc85(_0x2b2a6a,_0x49254e){return _0x7afdbe(_0x49254e,_0x2b2a6a- -_0xa3e92e._0x5c7823);}function _0x5d4ac4(_0x4368ac,_0x1113c1){return _0x54a7f1(_0x1113c1-0x58,_0x4368ac);}return this[_0x5d4ac4(_0x575210._0x530e62,0xa4e)];}get[_0x7afdbe(0x131a,0x12f8)](){const _0x290cf7={_0x3ea291:0x489,_0x569f03:0x3df,_0x1f1c61:0x11e5,_0x2ea94a:0x1c1f,_0x1fa1e7:0x53b},_0x569bc2={_0x14c4d7:0x5d3};function _0x382203(_0x5545f0,_0x53893d){return _0x7afdbe(_0x5545f0,_0x53893d- -_0x569bc2._0x14c4d7);}function _0x2c4546(_0x3173a8,_0xf5618f){return _0x7afdbe(_0xf5618f,_0x3173a8- -0xc8);}return!this['_cloudCollection']&&(this['_cloudCollection']=new Cesium__namespace[(_0x2c4546(0xc12,_0x290cf7._0x3ea291))](this['options']['cloud']),this[_0x382203(0x4c2,-0x3a)]['show']=this['getRealShow'](),this['_cloudCollection']['zIndex']=this[_0x382203(_0x290cf7._0x569f03,0x50b)]['zIndex'],this['_map']&&this['_map'][_0x2c4546(_0x290cf7._0x1f1c61,_0x290cf7._0x2ea94a)][_0x2c4546(_0x290cf7._0x1fa1e7,0x94f)]['add'](this['_cloudCollection'])),this['_cloudCollection'];}get[_0x7afdbe(0x10b7,0xd41)](){const _0x331548={_0x52a0f4:0x617,_0x14a92c:0x9e4};!this[_0x46c441(0xb98,_0x331548._0x52a0f4)]&&(this[_0x4e04d7(_0x331548._0x14a92c,0xee8)]=new MarsArray(),this['_lights']['show']=this[_0x4e04d7(0x86f,0x778)]());function _0x4e04d7(_0x2058f0,_0x4608df){return _0x7afdbe(_0x4608df,_0x2058f0- -0x42e);}function _0x46c441(_0x1abbd2,_0xe26499){return _0x54a7f1(_0x1abbd2- -0x4c,_0xe26499);}return this['_lights'];}get[_0x7afdbe(-0x5f0,0x460)](){return!this['_visibilitys']&&(this['_visibilitys']=new MarsArray(),this['_visibilitys']['show']=this['getRealShow']()),this['_visibilitys'];}get['container'](){const _0x4cfa76={_0x231392:0x314,_0x43bd14:0xf11,_0x4c2012:0x1b90},_0xb2a4f2={_0x2866a7:0x5ae},_0x2e64a2={_0x3bf399:0x72a};function _0x7194e(_0x4b34ca,_0x524da1){return _0x7afdbe(_0x4b34ca,_0x524da1- -_0x2e64a2._0x3bf399);}function _0x4a9799(_0x173fda,_0x3e9638){return _0x7afdbe(_0x173fda,_0x3e9638- -_0xb2a4f2._0x2866a7);}return!this['_container']&&(this['_container']=create$4('div',_0x4a9799(0x160f,0x135f)),this['getRealShow']()?this[_0x7194e(0x4bd,0x18f)]['style']['display']=_0x4a9799(0xd0c,0x28e):this['_container'][_0x4a9799(-0x408,0x11c)]['display']=_0x4a9799(0x61e,0xcb8),this['_map']&&this[_0x7194e(_0x4cfa76._0x231392,0x2d7)][_0x4a9799(_0x4cfa76._0x43bd14,0x87d)][_0x4a9799(_0x4cfa76._0x4c2012,0x1187)](this['_container'])),this[_0x4a9799(0x8b3,0x30b)];}get['pointerEvents'](){return this['_pointerEvents'];}set['pointerEvents'](_0x41ad47){const _0xbba0aa={_0x2b4e2d:0x75d,_0x5938fd:0xb98,_0x503e13:0x794};this['_pointerEvents']=_0x41ad47;function _0x1f708d(_0x1f9708,_0x2e67d7){return _0x7afdbe(_0x2e67d7,_0x1f9708- -0x413);}function _0xb13bc0(_0x464500,_0x24e699){return _0x54a7f1(_0x464500- -0x4a0,_0x24e699);}_0x41ad47?this[_0xb13bc0(_0xbba0aa._0x2b4e2d,0x1164)]['style']['pointer-events']='all':this['container']['style']['pointer-events']=_0xb13bc0(_0xbba0aa._0x5938fd,_0xbba0aa._0x503e13);}get['objectsToExclude'](){const _0x4a848d={_0x4fed5d:0x1677,_0x7a69a1:0x1ab4},_0x46bb8e={_0x5482f8:0x14b},_0x425791={_0x55cee8:0x33,_0x7edd1d:0x1510,_0x487b82:0xec7,_0x5b7f6c:0xeae};function _0x6740f4(_0x473beb,_0x550760){return _0x7afdbe(_0x473beb,_0x550760- -0x6d5);}if(this['_objectsToExclude'])return this['_objectsToExclude'];!this['_objectsToExclude_auto']&&(this[_0x6740f4(_0x4a848d._0x4fed5d,0x1173)]=[],this['_graphicList']['forEach'](_0x57d9a4=>{function _0x468a73(_0x3a26ef,_0x4c7674){return _0x6740f4(_0x3a26ef,_0x4c7674-0x3e9);}const _0x208678=_0x57d9a4[_0x43e7a1(0x10c,-_0x425791._0x55cee8)];function _0x43e7a1(_0x171546,_0x2717a1){return _0x6740f4(_0x171546,_0x2717a1-0x57);}if(_0x208678&&_0x208678[_0x468a73(_0x425791._0x7edd1d,_0x425791._0x487b82)]>0x0)_0x208678['forEach'](_0x55ec84=>{function _0x1cebf4(_0xe3bdad,_0x22a0f3){return _0x43e7a1(_0xe3bdad,_0x22a0f3-0x24d);}this['_objectsToExclude_auto']['indexOf'](_0x55ec84)===-0x1&&this[_0x1cebf4(0x1ebe,0x1417)]['push'](_0x55ec84);});else{if(_0x57d9a4['czmObject']){const _0x515abf=_0x57d9a4['czmObject'];this[_0x43e7a1(_0x425791._0x5b7f6c,0x11ca)]['indexOf'](_0x515abf)===-0x1&&this['_objectsToExclude_auto']['push'](_0x515abf);}}},this));function _0x59250f(_0x265737,_0x53f0a2){return _0x7afdbe(_0x265737,_0x53f0a2- -_0x46bb8e._0x5482f8);}return this[_0x6740f4(_0x4a848d._0x7a69a1,0x1173)];}set[_0x7afdbe(0x38d,0x64b)](_0x2581a1){function _0x559fd4(_0x203647,_0x3e984c){return _0x7afdbe(_0x3e984c,_0x203647- -0x14f);}this[_0x559fd4(0x1392,0x1af3)]=_0x2581a1;}get['hasZIndex'](){return!![];}get[_0x7afdbe(0x1556,0xeb6)](){const _0x4f4e6e={_0x3f7428:0x89b,_0x3b437c:0xdd2};function _0x1afb52(_0x3cdbba,_0x4b6283){return _0x7afdbe(_0x4b6283,_0x3cdbba- -0x61b);}return this['options'][_0x1afb52(_0x4f4e6e._0x3f7428,_0x4f4e6e._0x3b437c)];}set[_0x7afdbe(0x1049,0xeb6)](_0x547170){this['options']['zIndex']=_0x547170;if(_0x547170==null)return;setTimeout(()=>{this['_setZIndex'](_0x547170);},0x64);}['_setZIndex'](_0x4baeed){const _0x2063fe={_0x5a6760:0x705,_0x38d2a8:0x3ed,_0x3d5155:0x84a,_0x489f9d:0x1262,_0x37a774:0xe67,_0x17fbbe:0x8a2,_0x58b657:0x736,_0x428f3e:0xaa3,_0x3fc727:0xcc7,_0x77361e:0x1024,_0x4cf735:0x7a2,_0x7b85dc:0x1092,_0x4a399b:0x1563,_0x5a0a4a:0x8a2,_0x46793f:0xa76,_0x54cb95:0xf7f,_0xca68a5:0xf4a,_0x330c04:0xa4d,_0x35cda0:0x828};if(!this[_0x455fa0(0x703,_0x2063fe._0x5a6760)])return;if(this['_primitiveCollection']){this['_primitiveCollection']['zIndex']=_0x4baeed,this[_0x4e3d2e(_0x2063fe._0x38d2a8,_0x2063fe._0x3d5155)]['scene']['primitives']['raiseToTop'](this['_primitiveCollection']);const _0x3d02d3=this['_map'][_0x455fa0(_0x2063fe._0x489f9d,0xf61)]['primitives'];for(let _0x5a5552=_0x3d02d3[_0x455fa0(0x18c1,_0x2063fe._0x37a774)]-0x1;_0x5a5552>=0x0;_0x5a5552--){const _0x5630dd=_0x3d02d3['get'](_0x5a5552);if(_0x5630dd===this['_primitiveCollection'])continue;Cesium__namespace['defined'](_0x5630dd['zIndex'])&&_0x4baeed<_0x5630dd[_0x4e3d2e(_0x2063fe._0x17fbbe,0x7d8)]&&this[_0x4e3d2e(_0x2063fe._0x38d2a8,0x45)][_0x455fa0(0x9c4,0xf61)]['primitives']['lower'](this[_0x455fa0(0x90b,_0x2063fe._0x58b657)]);}}if(this['_groundPrimitiveCollection']){this[_0x4e3d2e(0x10ed,_0x2063fe._0x428f3e)][_0x4e3d2e(0x8a2,_0x2063fe._0x3fc727)]=_0x4baeed,this['_map']['scene']['groundPrimitives']['raiseToTop'](this['_groundPrimitiveCollection']);const _0x1f2226=this['_map']['scene'][_0x4e3d2e(0x294,0xa3c)];for(let _0x532b7b=_0x1f2226[_0x455fa0(_0x2063fe._0x77361e,0xe67)]-0x1;_0x532b7b>=0x0;_0x532b7b--){const _0x17c9ab=_0x1f2226[_0x455fa0(_0x2063fe._0x4cf735,0xce8)](_0x532b7b);if(_0x17c9ab===this[_0x4e3d2e(0x10ed,_0x2063fe._0x7b85dc)])continue;Cesium__namespace[_0x455fa0(0xf6e,_0x2063fe._0x4a399b)](_0x17c9ab['zIndex'])&&_0x4baeed<_0x17c9ab[_0x4e3d2e(_0x2063fe._0x5a0a4a,0x11d6)]&&this['_map']['scene']['groundPrimitives'][_0x455fa0(0x83d,0xefe)](this[_0x455fa0(0x1724,0x13b5)]);}}function _0x4e3d2e(_0x4c0a59,_0x54e135){return _0x54a7f1(_0x4c0a59- -0x3e6,_0x54e135);}function _0x455fa0(_0x59aed5,_0xb30866){return _0x54a7f1(_0xb30866- -0x11e,_0x59aed5);}if(this['_dataSource']){this[_0x4e3d2e(0xe07,0x1014)]['zIndex']=_0x4baeed,this['_map'][_0x455fa0(_0x2063fe._0x46793f,0x828)]['raiseToTop'](this[_0x4e3d2e(0xe07,_0x2063fe._0x54cb95)]);const _0xa6acd4=this['_map'][_0x4e3d2e(0x560,_0x2063fe._0xca68a5)];for(let _0x10d7a8=_0xa6acd4['length']-0x1;_0x10d7a8>=0x0;_0x10d7a8--){const _0x3ab9e5=_0xa6acd4['get'](_0x10d7a8);if(_0x3ab9e5===this['_dataSource'])continue;Cesium__namespace['defined'](_0x3ab9e5['zIndex'])&&_0x4baeed<_0x3ab9e5['zIndex']&&this[_0x4e3d2e(0x3ed,0xd88)][_0x455fa0(_0x2063fe._0x330c04,_0x2063fe._0x35cda0)]['lower'](this['_dataSource']);}}}['toTop'](){const _0x32c998={_0x2b9f08:0x104a,_0x52094f:0x158c,_0x26db58:0x15e7,_0x14e0dc:0x1490,_0x436855:0x79e,_0x265b35:0x2d5},_0x5efffb={_0xb761c7:0x2de};function _0x25688e(_0x359047,_0x10f784){return _0x54a7f1(_0x359047- -0x35,_0x10f784);}function _0x2ef128(_0x9697f1,_0x1f27ec){return _0x54a7f1(_0x9697f1- -_0x5efffb._0xb761c7,_0x1f27ec);}if(this['_map']){if(this['_primitiveCollection'])return this['_map'][_0x25688e(_0x32c998._0x2b9f08,0x17d3)]['primitives'][_0x25688e(_0x32c998._0x52094f,_0x32c998._0x26db58)](this[_0x2ef128(0x576,0x87e)]);if(this['_groundPrimitiveCollection'])return this[_0x25688e(0x79e,0xcb9)]['scene']['groundPrimitives'][_0x25688e(_0x32c998._0x52094f,_0x32c998._0x14e0dc)](this['_groundPrimitiveCollection']);if(this['_dataSource'])return this[_0x25688e(_0x32c998._0x436855,_0x32c998._0x265b35)][_0x25688e(0x911,0x3e7)]['raiseToTop'](this[_0x25688e(0x11b8,0xba1)]);}}['toBottom'](){const _0x56b094={_0xf9fc2b:0x38b,_0x56e8f5:0x3ec,_0x4a026c:0xc17,_0x35c974:0xb4c,_0xd34fb6:0x3f2,_0x1443c1:0xd85,_0x1ec389:0x4de},_0x2eec08={_0x354729:0xb2};function _0x4f465e(_0x3e021b,_0x1927eb){return _0x54a7f1(_0x1927eb- -0x468,_0x3e021b);}function _0x2e5867(_0x2a4ec0,_0x338547){return _0x54a7f1(_0x2a4ec0-_0x2eec08._0x354729,_0x338547);}if(this['_map']){if(this[_0x4f465e(_0x56b094._0xf9fc2b,_0x56b094._0x56e8f5)])return this['_map'][_0x4f465e(0x101c,_0x56b094._0x4a026c)]['primitives'][_0x4f465e(0xc09,_0x56b094._0x35c974)](this[_0x4f465e(0xae5,0x3ec)]);if(this['_groundPrimitiveCollection'])return this[_0x4f465e(-_0x56b094._0xd34fb6,0x36b)]['scene']['groundPrimitives']['lowerToBottom'](this['_groundPrimitiveCollection']);if(this[_0x4f465e(0x9ba,_0x56b094._0x1443c1)])return this['_map'][_0x4f465e(0x38a,_0x56b094._0x1ec389)]['lowerToBottom'](this['_dataSource']);}}get['length'](){var _0x2d7dfa;return(_0x2d7dfa=this['_graphicList'])===null||_0x2d7dfa===void 0x0?void 0x0:_0x2d7dfa['length'];}get['graphics'](){return this['getGraphics']();}get[_0x54a7f1(0x1732,0x1364)](){return this['_hasEdit'];}set['hasEdit'](_0x214369){const _0x4dd7e2={_0x5c9921:0x1b4b},_0x1f0fac={_0x3d7643:0x1f2};function _0x237020(_0x47fa81,_0x2853b9){return _0x54a7f1(_0x47fa81-0x4e,_0x2853b9);}function _0x20e888(_0x48d528,_0x1593b1){return _0x7afdbe(_0x1593b1,_0x48d528- -_0x1f0fac._0x3d7643);}_0x214369?this[_0x20e888(0x1256,_0x4dd7e2._0x5c9921)]():this[_0x20e888(0x157c,0xe35)]();}get['isDrawing'](){const _0x4edab7={_0x27a570:0x968},_0x16b283={_0x5899d6:0x74};function _0x268176(_0x365817,_0x2c5ac8){return _0x54a7f1(_0x365817- -_0x16b283._0x5899d6,_0x2c5ac8);}return this[_0x268176(_0x4edab7._0x27a570,0x879)]!=null;}get[_0x7afdbe(0x134a,0x11e7)](){const _0x5e3261={_0x5b67b2:0x712},_0x3360f1={_0x4a69a4:0x134};function _0x31b9c4(_0x55f8de,_0x5dbd93){return _0x54a7f1(_0x55f8de-_0x3360f1._0x4a69a4,_0x5dbd93);}return this[_0x31b9c4(0x370,_0x5e3261._0x5b67b2)]!=null;}get['allowDrillPick'](){function _0x472416(_0x3dd052,_0x3febe7){return _0x7afdbe(_0x3dd052,_0x3febe7- -0x5e1);}return this[_0x472416(-0x4f2,0x4fd)]['allowDrillPick'];}set[_0x54a7f1(0x1580,0x172b)](_0x51a60e){const _0x43989d={_0x3cdea6:0x322};function _0x94bf2e(_0x439c20,_0x2e15ee){return _0x54a7f1(_0x2e15ee- -_0x43989d._0x3cdea6,_0x439c20);}this['options'][_0x94bf2e(0xf64,0x125e)]=_0x51a60e;}get['splitDirection'](){function _0x3eec7b(_0x2c6241,_0x34bcd2){return _0x54a7f1(_0x2c6241- -0x3ac,_0x34bcd2);}return this[_0x3eec7b(0x504,-0x18d)]['splitDirection'];}set[_0x54a7f1(0x33c,-0x37e)](_0x509be3){const _0xfce450={_0x597d1a:0xb36,_0x801d7f:0x1479},_0x15edb2={_0x5a5cc7:0x4b1};this[_0x1c3704(_0xfce450._0x597d1a,0xfa9)][_0x8baf24(-0x168,0x807)]=_0x509be3;function _0x1c3704(_0x41bf41,_0x355504){return _0x54a7f1(_0x41bf41-0x286,_0x355504);}function _0x8baf24(_0x5676bf,_0x17c161){return _0x7afdbe(_0x17c161,_0x5676bf- -0x6d2);}this[_0x1c3704(0xc01,_0xfce450._0x801d7f)](_0x3d58cd=>{function _0x227c75(_0x2a1e68,_0xc96feb){return _0x8baf24(_0x2a1e68-0x619,_0xc96feb);}_0x3d58cd[_0x227c75(_0x15edb2._0x5a5cc7,-0x45e)]=_0x509be3;});}get[_0x54a7f1(0x1661,0x1d1a)](){const _0x4c644e={_0x4ea0a6:0x699,_0x5e6176:0x971},_0x20d42f={_0x1ce7d3:0x322};function _0x9e6386(_0xed258d,_0x232be6){return _0x54a7f1(_0xed258d-0x6d,_0x232be6);}function _0x4086d6(_0x29bf5c,_0x2f8e92){return _0x54a7f1(_0x29bf5c- -_0x20d42f._0x1ce7d3,_0x2f8e92);}if(this[_0x4086d6(0x514,-0x253)]==='graphic'){const _0x355b64=[];return this['eachGraphic'](_0x2c65db=>{const _0x331157=_0x2c65db['readyPromise'];Cesium__namespace['defined'](_0x331157)&&_0x355b64['push'](_0x331157);}),Promise[_0x9e6386(_0x4c644e._0x4ea0a6,_0x4c644e._0x5e6176)](_0x355b64);}else{var _0x39c9b6;return(_0x39c9b6=this['_readyPromise'])===null||_0x39c9b6===void 0x0?void 0x0:_0x39c9b6['promise'];}}[_0x54a7f1(0x6c3,0xddf)](_0x147d02){const _0x408b9e={_0xa9df42:0xaa0,_0x3c2883:0x799,_0x27e455:0x55e,_0x5f1e6f:0xd90,_0x7123ef:0x305,_0x53d54c:0xf62,_0x546b8b:0x3fa,_0x2863d1:0x1043,_0x4f642b:0x119d,_0x3e8105:0x106e,_0x1a82db:0x83,_0x5d9023:0xa26,_0x519919:0x55e,_0x295f66:0x67f,_0x65af88:0x5c9,_0x50be2a:0x16c7,_0x4f7296:0x132f,_0x379d52:0x15a8,_0x30a8b8:0xe43,_0x151359:0x12e9,_0x3fdb21:0x176c,_0x42877e:0x1aa3,_0x20cb0e:0x55e,_0x33e580:0x34f,_0x2d9c7d:0x89f,_0x2e0a59:0x9d1,_0x4d434d:0xda0},_0x5a4ca7={_0x4baf2e:0x432},_0x2ca2e0={_0x320052:0x352};var _0x5cc896;if(this[_0x1ad4ca(0x481,_0x408b9e._0xa9df42)])return;this[_0x17e340(0x279,-_0x408b9e._0x3c2883)]=State['ADD'],this['_map']=_0x147d02;if(this[_0x1ad4ca(_0x408b9e._0x27e455,-0x7e)][_0x17e340(0xd90,0xd3d)])this['addEventParent'](this['options']['eventParent']);else{if(((_0x5cc896=this['options'])===null||_0x5cc896===void 0x0?void 0x0:_0x5cc896[_0x17e340(_0x408b9e._0x5f1e6f,_0x408b9e._0x7123ef)])===![]);else this['addEventParent'](_0x147d02);}this['_dataSource']&&this['_map']['dataSources'][_0x17e340(0x67f,_0x408b9e._0x53d54c)](this['_dataSource']);this[_0x1ad4ca(0x502,_0x408b9e._0x546b8b)]&&this[_0x17e340(0x7c2,_0x408b9e._0x2863d1)]['scene']['primitives']['add'](this['_primitiveCollection']);function _0x17e340(_0x3b9b0d,_0x517c28){return _0x7afdbe(_0x517c28,_0x3b9b0d- -0x23f);}this[_0x1ad4ca(0x1181,0xf20)]&&this['_map']['scene'][_0x17e340(0x669,0xc1d)][_0x17e340(0x67f,0xbd8)](this['_groundPrimitiveCollection']);this['_labelCollection']&&this['_map'][_0x17e340(0x106e,_0x408b9e._0x4f642b)][_0x17e340(0x3c4,-0x49a)]['add'](this['_labelCollection']);this['_billboardCollection']&&this['_map'][_0x17e340(_0x408b9e._0x3e8105,0x1a43)][_0x1ad4ca(_0x408b9e._0x1a82db,-0x132)]['add'](this[_0x1ad4ca(0x6a4,-0x184)]);function _0x1ad4ca(_0x5de6d6,_0x35d71c){return _0x54a7f1(_0x5de6d6- -_0x2ca2e0._0x320052,_0x35d71c);}this['_cloudCollection']&&this['_map'][_0x1ad4ca(0xd2d,0x12fe)][_0x17e340(0x3c4,0x10c)]['add'](this[_0x1ad4ca(0x19,-_0x408b9e._0x5d9023)]),this['_pointCollection']&&this['_map']['scene'][_0x1ad4ca(0x83,_0x408b9e._0x519919)]['add'](this['_pointCollection']),this[_0x1ad4ca(0xc57,0x6fe)]&&this[_0x1ad4ca(0x481,0x250)][_0x1ad4ca(0xd2d,0xaf4)]['primitives'][_0x17e340(_0x408b9e._0x295f66,0x36f)](this['_polylineCollection']),this['_container']&&this['_map']['container']['appendChild'](this['_container']),this[_0x17e340(0x89f,0x1284)]['cluster']&&this['_initializeCluster'](),this['_mountedHook']&&(!this['_createOK']&&(this['_createOK']=!![],this[_0x1ad4ca(-0xc7,_0x408b9e._0x65af88)]())),this[_0x1ad4ca(0xdcf,_0x408b9e._0x50be2a)]&&this['_addedHook'](),this[_0x1ad4ca(0x384,0xd4f)][_0x17e340(0x634,0xff3)](_0x341958=>{function _0xf5fc60(_0x3a3324,_0x22006a){return _0x1ad4ca(_0x3a3324-0xc1,_0x22006a);}_0x341958!==null&&_0x341958!==void 0x0&&_0x341958['_onAdd']&&_0x341958[_0xf5fc60(_0x5a4ca7._0x4baf2e,-0x432)](this);},this),Cesium__namespace[_0x1ad4ca(_0x408b9e._0x4f7296,0x187f)](this['options'][_0x17e340(0xc77,_0x408b9e._0x379d52)])&&(this[_0x1ad4ca(0x936,0x329)]=this[_0x17e340(0x89f,0xf0a)]['zIndex']),this['options'][_0x1ad4ca(_0x408b9e._0x30a8b8,0xfe6)]&&(this['availability']=this['options']['availability']),this[_0x1ad4ca(0x55e,0x8d)][_0x17e340(_0x408b9e._0x151359,_0x408b9e._0x3fdb21)]&&this[_0x17e340(0x12e9,0xb88)](),this['_state']=State['ADDED'],this['fire'](EventType[_0x17e340(0x16b5,_0x408b9e._0x42877e)],{'layer':this},!![]),this[_0x1ad4ca(_0x408b9e._0x20cb0e,-_0x408b9e._0x33e580)]['script']&&new Function('layer',this[_0x17e340(_0x408b9e._0x2d9c7d,_0x408b9e._0x2e0a59)][_0x17e340(0x15cc,_0x408b9e._0x4d434d)])(this);}['_onRemove'](){const _0x427eb5={_0x3b48d1:0x592,_0x593f4a:0x1e3,_0x231c82:0x213,_0x1b7ffc:0x1bad,_0x2409f1:0x3a1,_0x2a2e94:0x5a1,_0x1ff9e5:0x10cd,_0x368dbb:0x3df,_0x15016d:0x7dc,_0x54b6da:0x1451,_0x28483c:0x1521,_0x3ac8dd:0x10cd,_0x2e5eac:0x266,_0x32b874:0x248,_0x28030e:0x60a,_0x9c7f92:0x360,_0x4812ae:0x35c,_0x31f1ef:0xeb1,_0x5cb773:0xc7,_0x21494b:0xf9,_0x37a50a:0xc4d,_0x5e3adb:0xff7,_0x502497:0x26e,_0xa0e6e0:0xe89,_0x22e0e0:0x722,_0x103875:0x17b,_0x2ba94f:0x39e,_0x5c897b:0x1134,_0x43c104:0x3b9,_0x436fbd:0xf3f,_0x1810e8:0xdef},_0x80c739={_0x5c7ba5:0x660};var _0xde4f0a,_0x4306ab;if(this['_state']!==State[_0x149f6b(_0x427eb5._0x3b48d1,0x8f6)])return;if(!this['_map'])return;this['_graphicList'][_0x149f6b(-_0x427eb5._0x593f4a,_0x427eb5._0x231c82)](_0x91f23f=>{function _0x4b3e71(_0x4a8db2,_0xdda037){return _0x149f6b(_0x4a8db2,_0xdda037-0x367);}(_0x91f23f===null||_0x91f23f===void 0x0?void 0x0:_0x91f23f['_onRemove'])&&_0x91f23f[_0x4b3e71(0x158d,0x14e5)]();},this);this[_0xf9d28f(_0x427eb5._0x1b7ffc,0x123b)]&&this[_0x149f6b(-0x504,_0x427eb5._0x2409f1)][_0x149f6b(-_0x427eb5._0x2a2e94,0x514)][_0x149f6b(-0x178,0x35c)](this['_dataSource']);this['_primitiveCollection']&&this['_map'][_0xf9d28f(0x892,_0x427eb5._0x1ff9e5)][_0x149f6b(-0xc6,-0x5d)][_0xf9d28f(_0x427eb5._0x368dbb,_0x427eb5._0x15016d)](this[_0xf9d28f(0x32c,0x8a2)]);this[_0xf9d28f(_0x427eb5._0x54b6da,_0x427eb5._0x28483c)]&&this['_map'][_0xf9d28f(0x15e7,_0x427eb5._0x3ac8dd)][_0x149f6b(_0x427eb5._0x2e5eac,_0x427eb5._0x32b874)]['remove'](this['_groundPrimitiveCollection']);this['_labelCollection']&&this[_0x149f6b(-_0x427eb5._0x28030e,_0x427eb5._0x2409f1)]['scene']['primitives'][_0x149f6b(0x667,0x35c)](this['_labelCollection']);function _0xf9d28f(_0x497dc0,_0x13ef91){return _0x54a7f1(_0x13ef91-0x4e,_0x497dc0);}this[_0xf9d28f(0xaa4,0xa44)]&&this['_map'][_0x149f6b(0x41a,0xc4d)]['primitives'][_0x149f6b(-_0x427eb5._0x9c7f92,_0x427eb5._0x4812ae)](this[_0xf9d28f(_0x427eb5._0x31f1ef,0xa44)]);this[_0x149f6b(-0x2af,-_0x427eb5._0x5cb773)]&&this['_map']['scene']['primitives'][_0xf9d28f(0xf3e,_0x427eb5._0x15016d)](this['_cloudCollection']);this[_0x149f6b(-0x278,-_0x427eb5._0x21494b)]&&this['_map'][_0x149f6b(0x9b4,_0x427eb5._0x37a50a)]['primitives']['remove'](this['_pointCollection']);this[_0xf9d28f(0x572,_0x427eb5._0x5e3adb)]&&this[_0xf9d28f(_0x427eb5._0x502497,0x821)]['scene']['primitives']['remove'](this[_0xf9d28f(_0x427eb5._0xa0e6e0,_0x427eb5._0x5e3adb)]);this[_0x149f6b(-_0x427eb5._0x22e0e0,0x259)]&&this['_container'][_0x149f6b(0x1888,0x121a)]&&this['_map'][_0xf9d28f(0x16c2,0xc4b)][_0xf9d28f(-_0x427eb5._0x103875,0x4d9)](this['_container']);this['_pointCluster']&&(this[_0x149f6b(0xee4,0x11da)][_0xf9d28f(-_0x427eb5._0x2ba94f,0x480)](),delete this['_pointCluster']);this['_map']['scene'][_0xf9d28f(0xcbf,0x423)]['destroyPrimitives']&&(this['_primitiveCollection']=null,this['_groundPrimitiveCollection']=null,this[_0xf9d28f(_0x427eb5._0x5c897b,0x14d6)]=null,this['_billboardCollection']=null,this[_0xf9d28f(-0x85,_0x427eb5._0x43c104)]=null,this['_pointCollection']=null,this['_polylineCollection']=null);this['update']&&this['unbindUpdateEvent']();this['_removedHook']&&this[_0xf9d28f(0xff8,0xa9d)](),this['_state']=State['REMOVED'],this[_0xf9d28f(0x11f7,0xf06)](EventType['remove']),this['fire'](EventType['removeLayer'],{'layer':this},!![]);if((_0xde4f0a=this['options'])!==null&&_0xde4f0a!==void 0x0&&_0xde4f0a[_0xf9d28f(0xd13,0xdef)])this['removeEventParent'](this['options']['eventParent']);else{if(((_0x4306ab=this[_0x149f6b(_0x427eb5._0x436fbd,0x47e)])===null||_0x4306ab===void 0x0?void 0x0:_0x4306ab[_0xf9d28f(0x15a0,_0x427eb5._0x1810e8)])===![]);else this['removeEventParent'](this[_0xf9d28f(-0x14e,0x821)]);}function _0x149f6b(_0x5ea9a1,_0x33ac3b){return _0x7afdbe(_0x5ea9a1,_0x33ac3b- -_0x80c739._0x5c7ba5);}this['_map']=null;}[_0x7afdbe(0x1dc6,0x1978)](_0x2beece){const _0x4dc6d0={_0x239e68:0x49,_0x446ab3:0x129,_0x5be15d:0x54e},_0x39f796={_0x26448c:0xd7b};function _0x103387(_0x1988ac,_0x39f181){return _0x54a7f1(_0x1988ac- -0x4e5,_0x39f181);}super['_showHook'](_0x2beece);_0x2beece?this['_container']&&(this[_0x46b063(0x7ce,0xc9f)][_0x103387(-_0x4dc6d0._0x239e68,0x8f3)]['display']=_0x103387(_0x4dc6d0._0x446ab3,-0x7fb),this['_graphicList']['forEach'](_0x4fe5c9=>{const _0x1c027e={_0x41d4a5:0x4c6};function _0x2c525e(_0x503f30,_0x25f18){return _0x103387(_0x503f30-_0x1c027e._0x41d4a5,_0x25f18);}_0x4fe5c9[_0x2c525e(_0x39f796._0x26448c,0x10fd)]&&_0x4fe5c9['updateDivPosition']();},this)):(this['_container']&&(this['_container']['style'][_0x103387(0x11ed,0x14af)]='none'),this[_0x46b063(0x128e,0xd95)]());function _0x46b063(_0x4dff26,_0x161b29){return _0x7afdbe(_0x161b29,_0x4dff26- -0xeb);}_0x2beece&&this[_0x103387(0xb90,_0x4dc6d0._0x5be15d)]();}[_0x54a7f1(0x298,-0x290)](){const _0x46bedf={_0x233cca:0x28f};function _0x2a83e(_0x4a7ed5,_0x215a1d){return _0x54a7f1(_0x215a1d- -_0x46bedf._0x233cca,_0x4a7ed5);}if(!this['_map'])return;this['_pointCluster']?this['_pointCluster'][_0x2a83e(0xa22,0x1248)]():this['_pointCluster']=new PointCluster(this);}[_0x7afdbe(0xf80,0x12a3)](){const _0x59ad66={_0x27aaa9:0x16a3,_0x2af1fa:0xfcb},_0x17f0ba={_0x9f459e:0x2e4};function _0x30f850(_0x38ae3a,_0x3a0018){return _0x54a7f1(_0x38ae3a-0x97,_0x3a0018);}var _0x4c8e03;function _0x2b0f3d(_0x4e5a75,_0x40ea06){return _0x7afdbe(_0x40ea06,_0x4e5a75- -_0x17f0ba._0x9f459e);}(_0x4c8e03=this[_0x30f850(_0x59ad66._0x27aaa9,_0x59ad66._0x2af1fa)])!==null&&_0x4c8e03!==void 0x0&&_0x4c8e03[_0x2b0f3d(0xea6,0x800)]&&this['_pointCluster']['_onCameraChangedEventThrottle']();}['_mountedHook'](){const _0x2ea3c0={_0x3e32d4:0x941,_0x3914ad:0x4f4,_0xc1cbe4:0x2d8,_0x42af4c:0xf1f,_0x27765d:0x97f,_0x4f5ca8:0x56e,_0xcf151:0x961,_0x15ef59:0x733,_0x18f5f3:0x70b},_0xf98cff={_0x39f2fe:0x1fd,_0x5efe26:0x49f},_0x1425bd={_0x53d832:0x1da},_0x438859={_0x53f9c8:0x1271},_0x274551={_0x46ae0a:0x53c};function _0x1299cd(_0x2a25d7,_0x47324a){return _0x7afdbe(_0x2a25d7,_0x47324a- -_0x274551._0x46ae0a);}super['_mountedHook'](),this['on'](EventType['drawCreated'],_0xe3d1dc=>{function _0xdc173f(_0x2e73e4,_0xb2b3b8){return _0x536c(_0x2e73e4- -0x53,_0xb2b3b8);}this[_0xdc173f(0xfd1,0x59f)]();function _0x29c66d(_0x5aec1b,_0x931413){return _0x536c(_0x5aec1b-0x6a,_0x931413);}if(this['isContinued'])this[_0x29c66d(_0x438859._0x53f9c8,0xcc4)](clone(_0xe3d1dc['graphic']['options'],['_promise']));else this['hasEdit']&&this['isAutoEditing']&&this['startEditing'](_0xe3d1dc[_0x29c66d(0x50b,0xe26)]);},this),this['on'](EventType[_0x1299cd(-0x3b1,0x229)],_0xca1ca7=>{function _0x28d302(_0x379265,_0x29a44a){return _0x1299cd(_0x379265,_0x29a44a- -0x162);}this[_0x28d302(0x12c1,0x12c2)]&&this['isAutoEditing']&&this['_graphic_editing']===_0xca1ca7['graphic']&&this['startEditing'](_0xca1ca7['graphic']);},this),this['on'](EventType['removeGraphic'],_0x136db4=>{this[_0x4730f1(0xc8e,0x113b)]===_0x136db4['graphic']&&(this['_graphic_drawing']=null);function _0x4730f1(_0x4a8123,_0x1f5d50){return _0x1299cd(_0x1f5d50,_0x4a8123-0x5c0);}this['_graphic_editing']===_0x136db4['graphic']&&(this['_graphic_editing']=null);},this),this['on'](EventType['editStart'],_0x315043=>{function _0x548f55(_0x5994e9,_0x598196){return _0x1299cd(_0x598196,_0x5994e9-0x1e5);}function _0x22c307(_0x14a95c,_0x31268c){return _0x1299cd(_0x14a95c,_0x31268c- -_0x1425bd._0x53d832);}this[_0x548f55(0x113,_0xf98cff._0x39f2fe)]=_0x315043[_0x548f55(_0xf98cff._0x5efe26,0xa23)];},this),this['on'](EventType[_0x51fd44(-0xd8,_0x2ea3c0._0x3e32d4)],_0x46b095=>{this['_graphic_editing']=null;},this);function _0x51fd44(_0x398de2,_0x2435a3){return _0x54a7f1(_0x2435a3- -0x2f0,_0x398de2);}if(this['type']===_0x51fd44(_0x2ea3c0._0x3914ad,_0x2ea3c0._0xc1cbe4)){if(this['options']['data']&&this['options'][_0x51fd44(_0x2ea3c0._0x42af4c,_0x2ea3c0._0x27765d)]['length']>0x0)this['loadJSON'](this[_0x1299cd(_0x2ea3c0._0x4f5ca8,0x5a2)][_0x1299cd(0x26f,_0x2ea3c0._0xcf151)]);else this['options'][_0x51fd44(-0x33d,_0x2ea3c0._0x15ef59)]&&this[_0x1299cd(0xc9d,_0x2ea3c0._0x18f5f3)](this['options']['url']);}this[_0x51fd44(-0x44d,0x5c0)]['geojson']&&this[_0x51fd44(0xa55,0x1423)](this['options'][_0x51fd44(0xdb0,0x7ae)]);}['_addedHook'](){const _0x2349b8={_0x59c0e8:0x106};function _0x30759a(_0x32adfb,_0x157780){return _0x54a7f1(_0x32adfb- -_0x2349b8._0x59c0e8,_0x157780);}super['_addedHook'](),this[_0x30759a(0xb04,0x99e)]&&this['_bindEditEvent']();}['_removedHook'](){const _0x5e3d4c={_0x4c99e1:0xb6c},_0x36f1b0={_0x20301e:0x9a};function _0xa84c82(_0x55be65,_0x56e29c){return _0x54a7f1(_0x55be65- -_0x36f1b0._0x20301e,_0x56e29c);}function _0x31e1d4(_0x5b464f,_0xe13530){return _0x7afdbe(_0xe13530,_0x5b464f- -0x111);}super[_0x31e1d4(_0x5e3d4c._0x4c99e1,0x52b)](),this['_hasEdit']&&(this['stopDraw'](),this[_0xa84c82(0x106e,0x1656)]());}[_0x54a7f1(0x12bc,0x17fe)](_0xac91cc){const _0x55546c={_0x26809e:0x919,_0x55bb39:0x58,_0x4bd154:0x8e8,_0x319b19:0x5d3};let _0x4fcdc5;return this['_graphicList']['forEach'](_0x5ad51a=>{const _0x1b41e8={_0x3eaaa0:0x2f5};if(!_0x5ad51a['getRectangle'])return;function _0xb13a01(_0x8c1f2e,_0x884f9f){return _0x536c(_0x8c1f2e- -0x37a,_0x884f9f);}const _0x12489e=_0x5ad51a[_0x52cc86(0xea0,_0x55546c._0x26809e)]();if(!Cesium__namespace['defined'](_0x12489e))return;function _0x52cc86(_0x1740bb,_0x1cf9e4){return _0x536c(_0x1740bb- -_0x1b41e8._0x3eaaa0,_0x1cf9e4);}_0x4fcdc5?_0x4fcdc5=Cesium__namespace[_0xb13a01(_0x55546c._0x55bb39,-_0x55546c._0x4bd154)][_0x52cc86(0x418,-_0x55546c._0x319b19)](_0x12489e,_0x4fcdc5):_0x4fcdc5=_0x12489e;},this),_0xac91cc?formatRectangle(_0x4fcdc5):_0x4fcdc5;}[_0x54a7f1(0x855,-0x20c)](){const _0x4a407f={_0x6c0aba:0x5e9},_0x421abd={_0x425fe4:0x1031},_0x5d6c07={_0x4963a2:0x197},_0x32003d={_0x97b3a7:0xed};let _0x52c996=0x0;function _0x3e8841(_0x353272,_0x22ca4d){return _0x54a7f1(_0x353272- -_0x32003d._0x97b3a7,_0x22ca4d);}function _0x40a5df(_0x31da50,_0x1df533){return _0x7afdbe(_0x31da50,_0x1df533- -_0x5d6c07._0x4963a2);}return this[_0x3e8841(_0x4a407f._0x6c0aba,0xa22)][_0x3e8841(0x558,0x4f2)](_0x10db68=>{const _0x4c6c09={_0x5a2c34:0x144};function _0x5e1c1f(_0x3d90ba,_0x3beeaf){return _0x40a5df(_0x3beeaf,_0x3d90ba- -_0x4c6c09._0x5a2c34);}if(!_0x10db68['getMaxHeight'])return;_0x52c996=Math['max'](_0x10db68[_0x5e1c1f(0x7a8,_0x421abd._0x425fe4)](),_0x52c996);},this),_0x52c996;}[_0x54a7f1(0x2bd,0x3ea)](_0x7ca4fd){const _0x1ef45d={_0x25ced7:0x164e,_0x18b698:0x1041,_0xaf85a5:0x82,_0x239aa5:0x2fb},_0x22edfe={_0x3b3858:0x609},_0x3d9bee={_0x454536:0x3d5},_0x3297bb={_0x111a7b:0x570,_0xa03f75:0x13b3,_0x54568c:0x1469};_0x7ca4fd!==null&&_0x7ca4fd!==void 0x0&&_0x7ca4fd[_0x22190b(0x12a5,_0x1ef45d._0x25ced7)]&&this[_0x224026(_0x1ef45d._0x18b698,0x1088)]();let _0x3f131b=[];this[_0x224026(_0x1ef45d._0xaf85a5,_0x1ef45d._0x239aa5)]['forEach'](_0x18e3a1=>{if(_0x18e3a1[_0x170546(0x8d,_0x3297bb._0x111a7b)])return;function _0x170546(_0x421b59,_0x11bfb7){return _0x224026(_0x11bfb7,_0x421b59- -0x63);}const _0x411d31=_0x18e3a1['toGeoJSON'](_0x7ca4fd);function _0x2ebafd(_0x43cc5c,_0x5ee455){return _0x224026(_0x5ee455,_0x43cc5c-0x320);}if(!_0x411d31)return;Array[_0x2ebafd(_0x3297bb._0xa03f75,_0x3297bb._0x54568c)](_0x411d31)?_0x3f131b=_0x3f131b['concat'](_0x411d31):_0x3f131b[_0x2ebafd(0xe4d,0x511)](_0x411d31);},this);const _0x40a624={};_0x40a624['id']=this['id'],_0x40a624['name']=this['name'];const _0x4e40c={};function _0x22190b(_0x207140,_0x2e1007){return _0x7afdbe(_0x2e1007,_0x207140- -_0x3d9bee._0x454536);}_0x4e40c[_0x224026(-0x7e,0x45b)]='FeatureCollection',_0x4e40c['layer']=_0x40a624,_0x4e40c['features']=_0x3f131b;function _0x224026(_0x1f3e10,_0x52ef9d){return _0x7afdbe(_0x1f3e10,_0x52ef9d- -_0x22edfe._0x3b3858);}return _0x4e40c;}['_toJsonEx'](_0x51c954){const _0x596ae9={_0x4923da:0x1654,_0x2f2594:0x407,_0x3f9d9f:0xdc8},_0x45f573={_0x1515ff:0x1058,_0x1cb911:0xbd8,_0x45b459:0xa13,_0x196553:0x1235},_0x4ac8e8={_0xcea414:0x2c0};function _0x1a1dfd(_0x2271bf,_0x49b9de){return _0x7afdbe(_0x49b9de,_0x2271bf- -_0x4ac8e8._0xcea414);}function _0x70277a(_0x2ccb8a,_0x2a89cc){return _0x54a7f1(_0x2a89cc-0x159,_0x2ccb8a);}this[_0x1a1dfd(0x13d1,_0x596ae9._0x4923da)]();let _0x568b2b=[];this['_graphicList'][_0x70277a(_0x596ae9._0x2f2594,0x79e)](_0xfbb901=>{if(_0xfbb901['isPrivate']||_0xfbb901[_0x378983(0x6b0,_0x45f573._0x1515ff)]||!_0xfbb901[_0x378983(_0x45f573._0x1cb911,0x760)])return;function _0x378983(_0x225b78,_0xa2d39d){return _0x1a1dfd(_0xa2d39d- -0x2da,_0x225b78);}const _0x11500b=_0xfbb901[_0x378983(_0x45f573._0x45b459,0xfcf)]();if(!_0x11500b)return;function _0x1d2a5a(_0x134577,_0x4cfb19){return _0x1a1dfd(_0x134577- -0x4d,_0x4cfb19);}Array['isArray'](_0x11500b)?_0x568b2b=_0x568b2b['concat'](_0x11500b):_0x568b2b[_0x378983(_0x45f573._0x196553,0xb9c)](_0x11500b);},this),_0x51c954[_0x70277a(0x75b,_0x596ae9._0x3f9d9f)]=_0x568b2b;}async['loadJSON'](_0x50c189){const _0x252365={_0x2a9d5b:0x92b,_0x2b8e1f:0x122e},_0x5b236f={_0x3e191f:0xf5};var _0x4f728f;isString(_0x50c189)&&(_0x50c189=await sendAjax({'url':_0x50c189,'proxy':this[_0x518171(0x78d,0x5cb)]}));if(!_0x50c189)return;function _0x518171(_0x17c565,_0x1b8898){return _0x54a7f1(_0x17c565-_0x5b236f._0x3e191f,_0x1b8898);}function _0x2f00a7(_0x2e7796,_0x3b64c7){return _0x54a7f1(_0x2e7796-0x1e3,_0x3b64c7);}if(_0x50c189[_0x518171(_0x252365._0x2a9d5b,0xe9b)]===_0x518171(0x15d9,0x2058)&&_0x50c189['features'])return this[_0x2f00a7(0x18f6,0x1b11)](_0x50c189);return this[_0x2f00a7(0x11b2,_0x252365._0x2b8e1f)](((_0x4f728f=_0x50c189)===null||_0x4f728f===void 0x0?void 0x0:_0x4f728f['data'])||_0x50c189);}['loadGeoJSON'](_0x2d2a78,_0x35059a={}){const _0x52f379={_0x36cf63:0x7e0,_0x2f1615:0x1152,_0x8cd38d:0xaf2,_0xd6325:0x566};var _0x8b24a6;function _0x9e15e5(_0x4910b9,_0x28292f){return _0x54a7f1(_0x4910b9- -0x34a,_0x28292f);}try{isString(_0x2d2a78)&&(_0x2d2a78=JSON['parse'](_0x2d2a78));}catch(_0x47d0cc){logError(_0x2d72bb(0x704,0xd9b),_0x47d0cc);return;}const _0x467b06=(_0x8b24a6=this[_0x2d72bb(0x703,0xa68)])===null||_0x8b24a6===void 0x0?void 0x0:_0x8b24a6['chinaCRS'],_0x27e346=this['options']['chinaCRS'],_0x110364=getTransFun(_0x27e346,_0x467b06),_0x47e0fa={'symbol':this[_0x2d72bb(_0x52f379._0x36cf63,_0x52f379._0x2f1615)][_0x2d72bb(_0x52f379._0x8cd38d,0x158f)],'crs':this['options']['crs'],'simplify':this['options']['simplify'],'filter':this[_0x9e15e5(_0x52f379._0xd6325,0xba5)]['filter'],..._0x35059a};function _0x2d72bb(_0x1a15a2,_0x51e764){return _0x7afdbe(_0x51e764,_0x1a15a2- -0x2fe);}_0x47e0fa['onPointTrans']=_0x110364;const _0x762889=geoJsonToGraphics(_0x2d2a78,_0x47e0fa);return this['_addGraphicByArrOptions'](_0x762889,_0x35059a);}['_addGraphicByArrOptions'](_0x548c5e,_0x5db0b0={}){const _0x1f4963={_0x36f7e8:0x1053,_0x16f197:0xcb5,_0x214bc9:0x7a,_0xd46c8d:0x695,_0x312d3a:0x93d,_0x13c6b9:0x4b7,_0x72cb7f:0xcb5,_0x3f9674:0xed,_0x2c88fb:0x1ce6,_0x44ae6b:0x3ff,_0x473161:0xb17,_0x5c0301:0xdd5,_0x117ed6:0x10ed,_0x4be8d9:0xff6,_0x11a079:0x10d6,_0x235eef:0x11ac,_0xe716d:0x8ac,_0x253c36:0x8da,_0x428bfe:0x498},_0x2264e1={_0x4fe78d:0x127};_0x5db0b0[_0x49563e(0xfa3,_0x1f4963._0x36f7e8)]&&this[_0x21f17f(0xc68,0x142a)]();function _0x49563e(_0x2b24d4,_0x5c29dd){return _0x7afdbe(_0x2b24d4,_0x5c29dd- -0x4fe);}let _0x5b9420=[];if(_0x548c5e[_0x49563e(0x14c0,_0x1f4963._0x16f197)]===0x0)return _0x5b9420;let _0x4bbcca;_0x5db0b0[_0x49563e(_0x1f4963._0x214bc9,_0x1f4963._0xd46c8d)]===![]&&(this[_0x21f17f(0xf09,0xa6c)]=![],_0x4bbcca=!![]);let _0x56c956=_0x548c5e[0x0][_0x21f17f(0x100f,_0x1f4963._0x312d3a)];if(_0x5db0b0['toPrimitive']&&_0x548c5e['length']>0x1388){_0x56c956[_0x21f17f(0x1289,0xf7c)]('P')&&(_0x56c956=_0x56c956[_0x21f17f(0x3fc,_0x1f4963._0x13c6b9)](0x0,_0x56c956[_0x49563e(0xc4e,_0x1f4963._0x72cb7f)]-0x1));const _0x28557=_0x56c956+'C';GraphicType[_0x28557]&&(_0x56c956=_0x28557);}const _0x547844=this[_0x21f17f(_0x1f4963._0x3f9674,0x9b7)]['graphicOptions']||{};if(isCombineType(_0x56c956)){const _0x21a229={..._0x547844};_0x21a229['type']=_0x56c956,_0x21a229['instances']=_0x548c5e,_0x21a229['availability']=_0x548c5e[0x0]['availability'];const _0x5faeef=_0x21a229;_0x5db0b0['onEachFeature']&&_0x5db0b0[_0x21f17f(_0x1f4963._0x2c88fb,0x16bf)](_0x5faeef);const _0x22e6bd=this[_0x49563e(_0x1f4963._0x44ae6b,0xc07)](_0x5faeef,![]);_0x5b9420['push'](_0x22e6bd);}else for(let _0x1681de=0x0,_0xf8a95e=_0x548c5e['length'];_0x1681de<_0xf8a95e;_0x1681de++){const _0xdc5927={..._0x547844,..._0x548c5e[_0x1681de]},_0xca7452=_0xdc5927;if(_0x5db0b0[_0x21f17f(_0x1f4963._0x473161,0x356)]){const _0x47ea23=_0xca7452['type']+'P';GraphicType[_0x47ea23]&&(_0xca7452['type']=_0x47ea23);}_0x5db0b0['onEachFeature']&&_0x5db0b0['onEachFeature'](_0xca7452);if(this['options'][_0x21f17f(_0x1f4963._0x5c0301,0xa9f)]){const _0x45af23=this['options'][_0x21f17f(_0x1f4963._0x117ed6,0xa9f)](_0xca7452);_0x45af23&&(this[_0x21f17f(_0x1f4963._0x4be8d9,_0x1f4963._0x11a079)](_0x45af23),Array[_0x21f17f(_0x1f4963._0x235eef,0x1575)](_0x45af23)?_0x5b9420=_0x5b9420['concat'](_0x45af23):_0x5b9420['push'](_0x45af23));}else{const _0x197e7e=this['_addGraphic'](_0xca7452,![]);_0x5b9420['push'](_0x197e7e);}}_0x4bbcca&&(this['enabledEvent']=!![]);function _0x21f17f(_0x367ae9,_0x193336){return _0x7afdbe(_0x367ae9,_0x193336- -_0x2264e1._0x4fe78d);}return _0x5db0b0[_0x49563e(_0x1f4963._0xe716d,0x102a)]&&this['getRealShow']()&&this[_0x21f17f(0x1125,_0x1f4963._0x253c36)][_0x21f17f(_0x1f4963._0x428bfe,0x36e)](_0x5b9420),_0x5b9420;}['getClusterList'](){const _0x539d45={_0x1da746:0x13d5};function _0x53cd2c(_0x470f87,_0x1bba80){return _0x7afdbe(_0x470f87,_0x1bba80- -0x465);}if(this[_0x53cd2c(0xe03,_0x539d45._0x1da746)])return this['_pointCluster']['getClusterList']();}['getNoClusterGraphics'](_0x2d7f15){const _0x54c4ee={_0x2b1a1f:0x361,_0xcb07c:0xde2,_0x13bed0:0x14e3,_0x25164e:0x1f39};if(!this['_pointCluster'])return;const _0x5543a6=[];return this['eachGraphic'](_0x3c222e=>{const _0x15488a={_0x5f1dc2:0x1ee};function _0x255d68(_0x4e172f,_0x174bda){return _0x536c(_0x4e172f-_0x15488a._0x5f1dc2,_0x174bda);}if(_0x3c222e[_0x255d68(_0x54c4ee._0x2b1a1f,_0x54c4ee._0xcb07c)])return;const _0x374f68={};function _0x375e62(_0x550705,_0x2c2362){return _0x536c(_0x2c2362- -0x373,_0x550705);}_0x374f68[_0x255d68(_0x54c4ee._0x13bed0,_0x54c4ee._0x25164e)]=!![];if((_0x2d7f15===null||_0x2d7f15===void 0x0?void 0x0:_0x2d7f15['isInView'])===!![]&&!_0x3c222e['isInView'](undefined,_0x374f68))return;_0x5543a6[_0x255d68(0xfcf,0x7f2)](_0x3c222e);}),_0x5543a6;}[_0x54a7f1(0x508,0x8eb)](_0x4b2326){const _0x1339c5={_0x11164d:0x244,_0x2b5268:0x349,_0x55e8e0:0x2d4},_0x45916e={_0x169db9:0x5b7};this['options']['opacity']=_0x4b2326;function _0x5438cc(_0x723237,_0x30161a){return _0x54a7f1(_0x723237- -0x1bf,_0x30161a);}this[_0x561748(0x4bf,_0x1339c5._0x11164d)][_0x561748(0x42e,0xb82)](_0x457ed9=>{const _0x14182c={_0x592b62:0x26e};function _0x5965ef(_0x507c19,_0x1b0cab){return _0x5438cc(_0x1b0cab-_0x14182c._0x592b62,_0x507c19);}_0x457ed9['setOpacity']&&_0x457ed9[_0x5965ef(0x7dd,_0x45916e._0x169db9)](_0x4b2326);},this);function _0x561748(_0x576918,_0xab9d7e){return _0x54a7f1(_0x576918- -0x217,_0xab9d7e);}this['_pointCluster']&&this[_0x5438cc(0x144d,0xa66)][_0x5438cc(_0x1339c5._0x2b5268,-_0x1339c5._0x55e8e0)](_0x4b2326);}[_0x54a7f1(0xfcf,0x146c)](_0x2753b4){const _0x4631cf={_0x1cbee2:0xfe,_0x1486ef:0x360,_0x23b42d:0xf6f,_0x43c29b:0xb4e,_0x3dd2a4:0x3c9,_0x2796b3:0xa11};function _0x4d191f(_0x21bdc8,_0x49a90b){return _0x7afdbe(_0x49a90b,_0x21bdc8- -0x5b7);}!this[_0x4d191f(0x5e7,0x28a)]&&this[_0x4d191f(-_0x4631cf._0x1cbee2,0x79f)]&&(this['_createOK']=!![],this[_0x4d191f(-0xfe,_0x4631cf._0x1486ef)]());function _0x4b61fc(_0xc863a6,_0x3ae275){return _0x54a7f1(_0x3ae275- -0x4f7,_0xc863a6);}if(Array['isArray'](_0x2753b4)){if(_0x2753b4['length']===0x0)return;const _0x4b3919=_0x2753b4[0x0]['type'];if(isCombineType(_0x4b3919)&&!_0x2753b4[0x0]['instances']){const _0x3e21f3={};_0x3e21f3['type']=_0x4b3919,_0x3e21f3[_0x4d191f(0xb57,_0x4631cf._0x23b42d)]=_0x2753b4,_0x3e21f3['availability']=_0x2753b4[0x0]['availability'];const _0x3f304d=_0x3e21f3;return this[_0x4d191f(_0x4631cf._0x43c29b,0x14ba)](_0x3f304d);}else{const _0x594bb5=[];for(let _0x125f3e=0x0,_0x1973d7=_0x2753b4['length'];_0x125f3e<_0x1973d7;_0x125f3e++){const _0x3f5fbf=this['_addGraphic'](_0x2753b4[_0x125f3e]);_0x3f5fbf&&_0x594bb5[_0x4b61fc(_0x4631cf._0x3dd2a4,_0x4631cf._0x2796b3)](_0x3f5fbf);}return _0x594bb5;}}else return this['_addGraphic'](_0x2753b4);}['_checkGraphicId'](_0x87bfb7){const _0x14474e={_0x130583:0x12c6},_0x56619f={_0xdd506b:0x487};function _0x2fe7d9(_0x4ef985,_0x145a79){return _0x7afdbe(_0x145a79,_0x4ef985- -_0x56619f._0xdd506b);}const _0x5e03a7=this['_graphicList']['get'](_0x87bfb7===null||_0x87bfb7===void 0x0?void 0x0:_0x87bfb7['id']);_0x5e03a7&&_0x5e03a7!==_0x87bfb7&&(_0x87bfb7['id']=createGuid(),logWarn(_0x2fe7d9(_0x14474e._0x130583,0x1814),_0x87bfb7));}[_0x54a7f1(0xed7,0x750)](_0x19a4e4,_0x548b70=!![]){const _0x5046d4={_0x4a0ef4:0x450,_0x8fd23b:0xbd6,_0xe183aa:0x2ee,_0x50e338:0xbf6,_0x1fda3d:0x1299,_0x4d57f6:0x69b,_0x3af839:0x5d4},_0x464de8={_0x3b0730:0x2b5};function _0x5d88d3(_0x470237,_0x319f1c){return _0x54a7f1(_0x319f1c- -0x3e8,_0x470237);}function _0x3b2e13(_0x451447,_0x30ec1){return _0x7afdbe(_0x451447,_0x30ec1- -_0x464de8._0x3b0730);}return delete this[_0x5d88d3(0xfca,0x1232)],!_0x19a4e4['_onAdd']&&(_0x19a4e4['type']||this['options']['symbol'])&&(_0x548b70&&this[_0x3b2e13(0xbd,0x829)][_0x3b2e13(_0x5046d4._0x4a0ef4,0xb3b)]&&(_0x19a4e4=mergeSymbolToGraphic(_0x19a4e4,this[_0x3b2e13(0xf0b,0x829)]['symbol'])),_0x19a4e4=create$5(_0x19a4e4['type'],_0x19a4e4)),_0x19a4e4&&(_0x19a4e4['_onAdd'](this),this[_0x5d88d3(_0x5046d4._0x8fd23b,_0x5046d4._0xe183aa)][_0x3b2e13(_0x5046d4._0x50e338,0xd2a)](_0x19a4e4['id'],_0x19a4e4),Cesium__namespace[_0x5d88d3(0x1877,_0x5046d4._0x1fda3d)](this['options'][_0x5d88d3(-0xac8,-0x8e)])&&this[_0x3b2e13(_0x5046d4._0x4d57f6,0x829)]['opacity']!==0x1&&_0x19a4e4['setOpacity']&&_0x19a4e4['setOpacity'](this['options']['opacity']),this[_0x5d88d3(_0x5046d4._0x3af839,0xc8d)]()),_0x19a4e4;}[_0x54a7f1(0x3e9,0x482)](_0x51c516,_0x28913a=!![]){const _0x215c73={_0x4652d6:0xa3b};this[_0x4bcdfc(0xd80,_0x215c73._0x4652d6)](_0x51c516,_0x28913a);function _0x4bcdfc(_0x2d00e4,_0x31fa81){return _0x7afdbe(_0x31fa81,_0x2d00e4- -0x6ff);}return this;}[_0x54a7f1(0x1251,0x1a01)](_0xe55686,_0x5913ee,_0x1de34f){const _0x305a0b={_0x48437a:0x3a8,_0x342a73:0xd47},_0x2281a1={_0x38a2ca:0x32e};if(!_0xe55686||!_0xe55686['_onRemove'])return this;delete this['_objectsToExclude_auto'];function _0x2ed230(_0x41e26a,_0x27ae90){return _0x54a7f1(_0x27ae90-0xa,_0x41e26a);}!_0x1de34f&&this[_0x30fcf1(0x661,_0x305a0b._0x48437a)]['remove'](_0xe55686['id']);function _0x30fcf1(_0x4221a6,_0x257db2){return _0x54a7f1(_0x257db2- -_0x2281a1._0x38a2ca,_0x4221a6);}_0xe55686[_0x30fcf1(0xd21,0x1282)](),_0x5913ee&&_0xe55686['destroy'](),this[_0x30fcf1(0x10a3,_0x305a0b._0x342a73)]();}['getGraphicById'](_0x9249da){function _0x1f3e9f(_0x1b85c7,_0x40555e){return _0x54a7f1(_0x1b85c7-0x1b0,_0x40555e);}return this['_graphicList'][_0x1f3e9f(0xfb6,0x19eb)](_0x9249da);}['getGraphicByAttr'](_0x48f500,_0x39903c){const _0x306f7c={_0x366828:0xed2},_0x1bbc1b={_0x4f6ecc:0x1bf};function _0x33a213(_0x6fab47,_0x27277b){return _0x54a7f1(_0x27277b- -_0x1bbc1b._0x4f6ecc,_0x6fab47);}function _0x8674b(_0x3e16d8,_0x557a40){return _0x54a7f1(_0x3e16d8- -0x4c3,_0x557a40);}return this['_graphicList'][_0x8674b(_0x306f7c._0x366828,0x1059)](_0x48f500,_0x39903c,_0x8674b(0x11c4,0x1029));}['getGraphicsByAttr'](_0x39fd2f,_0xa646aa){const _0x1d76e8={_0x2d811a:0x153a},_0x50af64={_0x4b127e:0x2ba};function _0x84a62b(_0x45963d,_0xd3e15a){return _0x7afdbe(_0xd3e15a,_0x45963d- -_0x50af64._0x4b127e);}function _0x4f628e(_0xb9c749,_0x250ee1){return _0x7afdbe(_0xb9c749,_0x250ee1- -0x6c2);}return this['_graphicList'][_0x4f628e(0x740,0xb94)](_0x39fd2f,_0xa646aa,_0x84a62b(0x15fb,_0x1d76e8._0x2d811a));}['getGraphicsByStyle'](_0x5eea3d,_0x43d0fe){const _0x4360c0={_0x16d39b:0x619},_0x3580aa={_0x4180b2:0x11e,_0x40c66a:0x9c8},_0x35ee3d=[];this[_0x1efdf2(_0x4360c0._0x16d39b,0x65e)]['forEach'](_0x528dfd=>{function _0x3947c4(_0x88cb8,_0x415ca9){return _0x1efdf2(_0x415ca9- -0x2c1,_0x88cb8);}function _0x4574eb(_0xe12e12,_0x3ba44a){return _0x1efdf2(_0x3ba44a- -0xb2,_0xe12e12);}_0x528dfd[_0x3947c4(0x94e,_0x3580aa._0x4180b2)][_0x5eea3d]===_0x43d0fe&&_0x35ee3d[_0x3947c4(_0x3580aa._0x40c66a,0xb8a)](_0x528dfd);},this);function _0x1efdf2(_0x3295a3,_0x3eeb00){return _0x54a7f1(_0x3295a3- -0xbd,_0x3eeb00);}return _0x35ee3d;}['eachGraphic'](_0x2a18ab,_0x19daac,_0x2a3bf0){const _0x45a1ae={_0x788df6:0xf0,_0x8ff40:0x23d},_0x7091f9={_0x9c75c:0x6c7},_0x4e4357={_0x4460db:0x8f};this[_0x19f7bd(-_0x45a1ae._0x788df6,_0x45a1ae._0x8ff40)][_0x19f7bd(-0x5d7,0x1ac)](_0x2a18ab,_0x19daac||this,_0x2a3bf0);function _0x2fcb1a(_0x26579e,_0x38f5c3){return _0x7afdbe(_0x38f5c3,_0x26579e- -_0x4e4357._0x4460db);}function _0x19f7bd(_0x1f9568,_0x4f0abc){return _0x7afdbe(_0x1f9568,_0x4f0abc- -_0x7091f9._0x9c75c);}return this;}['getGraphics'](_0x39abbb=![]){const _0x58c6fe={_0x136488:0x5d};function _0xcc226f(_0x19b5c0,_0x14eb75){return _0x54a7f1(_0x14eb75-_0x58c6fe._0x136488,_0x19b5c0);}if(_0x39abbb)return this['_graphicList'][_0xcc226f(0x1ae2,0x11ad)];else{const _0x23dbf0=[];return this['_graphicList']['forEach'](_0x444460=>{!_0x444460['isPrivate']&&_0x23dbf0['push'](_0x444460);},this),_0x23dbf0;}}['getGraphicsByIds'](_0x37a25a){const _0x3f46fb={_0x4e73e3:0x2f},_0x30ac28={_0x5d77a9:0x9},_0x3508c1=[];_0x37a25a[_0x2d3c9f(0x9d,0x616)](_0x16f828=>{const _0x4e44aa=this[_0x1c2f2a(0x69e,0x332)]['get'](_0x16f828);function _0x1c2f2a(_0x2530b9,_0x2d5597){return _0x2d3c9f(_0x2d5597,_0x2530b9- -_0x30ac28._0x5d77a9);}_0x4e44aa&&_0x3508c1['push'](_0x4e44aa);});function _0x2d3c9f(_0x47ff46,_0x47a501){return _0x54a7f1(_0x47a501- -_0x3f46fb._0x4e73e3,_0x47ff46);}return _0x3508c1;}[_0x7afdbe(0xa23,0xa60)](_0x32bece={}){const _0xd60017={_0x2f0cf6:0x163,_0x460954:0x172e},_0x47b95e={_0x55fbfd:0x13fd,_0x3893ef:0x321,_0x3fca01:0x12b},_0x17b2c4={_0x4d21b9:0x1ad},_0x95b05={_0x1c98ea:0x1382,_0x588a80:0xf49,_0x9f2b3f:0x1093,_0x39440a:0x3bb,_0x418ec2:0x1dba,_0xcabbba:0x513,_0x445c86:0x778,_0x2a2d86:0x1b55,_0x2fb4b0:0xfcb,_0x9c25f9:0xb7e},_0x4750b5={_0x3406d2:0x65},_0x236e06={_0x5eb47d:0x4fb};function _0x4d724d(_0x22e9ce,_0x35ed08){return _0x54a7f1(_0x22e9ce- -_0x236e06._0x5eb47d,_0x35ed08);}const _0x10ebb9=[],_0x55e88d={};let _0x1efb6a=!![];this[_0x438cea(0x883,_0xd60017._0x2f0cf6)]['forEach'](_0x160a8d=>{if(!_0x160a8d['options']||_0x160a8d[_0x54297a(0x517,0x6dd)]||_0x160a8d[_0x3f8b8a(_0x95b05._0x1c98ea,_0x95b05._0x588a80)])return;const _0x284deb={};function _0x3f8b8a(_0x5779a4,_0x33cb70){return _0x438cea(_0x33cb70- -0x628,_0x5779a4);}function _0x54297a(_0x4f2a13,_0x39c5ef){return _0x438cea(_0x39c5ef-_0x4750b5._0x3406d2,_0x4f2a13);}_0x284deb['id']=_0x160a8d['id'],_0x284deb[_0x3f8b8a(0xed6,0x1321)]=_0x160a8d[_0x3f8b8a(_0x95b05._0x9f2b3f,0x1321)],_0x284deb[_0x3f8b8a(0x9a3,_0x95b05._0x39440a)]=_0x160a8d['type'],_0x284deb[_0x3f8b8a(0x151c,0xe01)]=_0x160a8d['name'],_0x284deb[_0x54297a(_0x95b05._0x418ec2,0x1805)]=_0x160a8d['isAdded']&&_0x160a8d['show'],_0x284deb['group']=_0x160a8d['type']==='group'&&_0x160a8d[_0x54297a(_0x95b05._0xcabbba,_0x95b05._0x445c86)],_0x284deb['attr']=_0x160a8d[_0x3f8b8a(_0x95b05._0x2a2d86,0x120c)];let _0x3f06d9=_0x284deb;for(const _0x5530a9 in _0x3f06d9){const _0x329292=_0x3f06d9[_0x5530a9];!Cesium__namespace['defined'](_0x329292)&&delete _0x3f06d9[_0x5530a9];}_0x32bece['forEach']&&(_0x3f06d9=_0x32bece['forEach'](_0x3f06d9,_0x160a8d)??_0x3f06d9),_0x3f06d9['group']&&(_0x1efb6a=![]),_0x55e88d[_0x3f06d9['id']]&&logWarn(_0x54297a(0x11a0,_0x95b05._0x2fb4b0),_0x55e88d[_0x3f06d9['id']],_0x3f06d9),_0x55e88d[_0x3f06d9['id']]=_0x3f06d9,delete _0x55e88d[_0x3f06d9['id']]['children'],_0x10ebb9[_0x54297a(_0x95b05._0x9c25f9,0x111a)](_0x3f06d9);},this,!![]);function _0x438cea(_0x381a49,_0x1c6d13){return _0x54a7f1(_0x381a49-_0x17b2c4._0x4d21b9,_0x1c6d13);}if(_0x1efb6a&&_0x32bece['autoGroup']){const _0x47d328={};for(let _0x54098b=_0x10ebb9['length']-0x1;_0x54098b>=0x0;_0x54098b--){const _0x36f079=_0x10ebb9[_0x54098b];let _0x1cb029;isString(_0x32bece['autoGroup'])?_0x1cb029=_0x36f079[_0x32bece['autoGroup']]||_0x36f079['attr'][_0x32bece['autoGroup']]:_0x1cb029=_0x32bece['autoGroup'](_0x36f079,_0x55e88d[_0x36f079['id']]);if(!_0x47d328[_0x1cb029]){let _0x408251={'id':createGuid(),'type':'group','name':_0x1cb029,'show':![],'group':!![]};_0x32bece['forEach']&&(_0x408251=_0x32bece['forEach'](_0x408251)??_0x408251),_0x10ebb9[_0x438cea(0x10b5,_0xd60017._0x460954)](_0x408251),_0x47d328[_0x1cb029]=_0x408251['id'],_0x55e88d[_0x408251['id']]=_0x408251;}_0x36f079[_0x4d724d(0x12a1,0x1147)]=_0x47d328[_0x1cb029];}}const _0x51b023=[];_0x10ebb9['forEach'](function(_0x114d29){function _0x1f00b5(_0x3ff688,_0x323db3){return _0x4d724d(_0x3ff688-0x798,_0x323db3);}function _0x3ecccc(_0x314831,_0xad4d){return _0x438cea(_0xad4d- -0x561,_0x314831);}const _0x3be812=_0x55e88d[_0x114d29[_0x3ecccc(_0x47b95e._0x55fbfd,0x13e8)]];_0x3be812?(!_0x3be812[_0x3ecccc(-_0x47b95e._0x3893ef,-_0x47b95e._0x3fca01)]&&(_0x3be812['children']=[]),_0x3be812['children'][_0x1f00b5(0x11a5,0x1207)](_0x114d29)):(delete _0x114d29['pid'],_0x51b023['push'](_0x114d29));});const _0xd10622={};return _0xd10622[_0x4d724d(0xe87,0x11ad)]=_0x10ebb9,_0xd10622['tree']=_0x51b023,_0xd10622;}[_0x7afdbe(0x12b0,0x1551)](_0x537782=!![]){const _0x59491f={_0x1aefb5:0x17ea,_0x4f7759:0x7a8,_0x3129ce:0xf01,_0x20bd2e:0xa54,_0x3248a8:0x874,_0x11bdaa:0x1353,_0x485346:0x6b7,_0x319b2a:0x950,_0x231dba:0x16ef,_0x1a77d1:0x12a7},_0x497bb7={_0x16dde7:0x84},_0x308e72={_0x2421d5:0x14b};this['stopDraw']();this[_0x234078(0x652,0x3ae)]&&(this[_0x234078(0x652,0x871)]['forEach'](_0x2de146=>{this['_removeGraphic'](_0x2de146,_0x537782,!![]);},this),this['_graphicList']['removeAll']());this['_dataSource']&&this[_0x592e35(0x12d0,_0x59491f._0x1aefb5)]['entities'][_0x234078(_0x59491f._0x4f7759,0xaf5)]();if(this['_primitiveCollection'])try{this['_primitiveCollection']['removeAll']();}catch(_0x42d829){const _0x593333=this['_primitiveCollection'][_0x592e35(0x1632,0x20f5)],_0xc65d3a=_0x593333[_0x234078(_0x59491f._0x3129ce,0x19bf)];for(let _0x23efc0=0x0;_0x23efc0<_0xc65d3a;++_0x23efc0){var _0xb3ed3a;(_0xb3ed3a=_0x593333[_0x23efc0])!==null&&_0xb3ed3a!==void 0x0&&(_0xb3ed3a=_0xb3ed3a[_0x592e35(_0x59491f._0x20bd2e,_0x59491f._0x3248a8)])!==null&&_0xb3ed3a!==void 0x0&&_0xb3ed3a['_composites']&&(delete _0x593333[_0x23efc0]['_external']['_composites'][this['_guid']],this['_primitiveCollection']['destroyPrimitives']&&_0x593333[_0x23efc0]['destroy']());}this['_primitiveCollection']['_primitives']=[];}if(this['_groundPrimitiveCollection'])try{this['_groundPrimitiveCollection'][_0x592e35(0x90f,0x725)]();}catch(_0x18cc94){const _0x558089=this[_0x234078(0x144f,0x1e50)]['_primitives'],_0x451dfc=_0x558089[_0x234078(0xf01,0x16e6)];for(let _0x5df6c8=0x0;_0x5df6c8<_0x451dfc;++_0x5df6c8){var _0x5c149b;(_0x5c149b=_0x558089[_0x5df6c8])!==null&&_0x5c149b!==void 0x0&&(_0x5c149b=_0x5c149b[_0x234078(0x8ed,_0x59491f._0x11bdaa)])!==null&&_0x5c149b!==void 0x0&&_0x5c149b['_composites']&&(delete _0x558089[_0x5df6c8][_0x592e35(0xa54,_0x59491f._0x485346)]['_composites'][this[_0x234078(0xb45,0xe27)]],this['_groundPrimitiveCollection']['destroyPrimitives']&&_0x558089[_0x5df6c8]['destroy']());}this['_groundPrimitiveCollection']['_primitives']=[];}this['_labelCollection']&&this['_labelCollection']['removeAll']();function _0x592e35(_0x4b2460,_0x494763){return _0x7afdbe(_0x494763,_0x4b2460- -_0x308e72._0x2421d5);}this['_billboardCollection']&&this[_0x234078(0x972,0x8ef)]['removeAll']();this['_cloudCollection']&&this['_cloudCollection']['removeAll']();function _0x234078(_0x23bc9e,_0x26b5a7){return _0x54a7f1(_0x23bc9e- -_0x497bb7._0x16dde7,_0x26b5a7);}this['_pointCollection']&&this[_0x592e35(0x41c,0x144)][_0x234078(0x7a8,_0x59491f._0x319b2a)](),this['_polylineCollection']&&this['_polylineCollection']['removeAll'](),this[_0x592e35(_0x59491f._0x231dba,0x15b8)]&&this['_pointCluster'][_0x234078(0x7a8,0x84)](),this['_lights']&&this['_lights']['removeAll'](),this['_visibilitys']&&this['_visibilitys']['removeAll'](),this[_0x234078(0x818,_0x59491f._0x1a77d1)]();}['autoSurfaceHeight'](_0x1285d3={}){const _0x45fcba={_0x2e1906:0x78b};return new Promise((_0x34bef8,_0x378ee2)=>{const _0x5ae8aa={_0x583dba:0x1752,_0x3b9367:0xe6b,_0x506f26:0xd86,_0x3c560f:0x1cd};function _0x43f247(_0x48207e,_0x38fbc6){return _0x536c(_0x38fbc6- -0x150,_0x48207e);}const _0x3aade0=this[_0x43f247(_0x45fcba._0x2e1906,0x7a)]();let _0x3bee77=-0x1;const _0x40a203=_0x3aade0[_0x43f247(0x30a,0xd0e)];function _0x1468c4(){const _0x1dcd87={_0xd58b9:0xd1},_0x532166={_0x241a60:0x288};function _0x11fc10(_0x2184be,_0x2332e6){return _0x246064(_0x2332e6,_0x2184be- -0x81);}_0x3bee77++;if(_0x3bee77>=_0x40a203){if(_0x1285d3[_0x11fc10(0x2f8,0xa21)]){const _0x46da70={};_0x46da70['index']=_0x3bee77,_0x46da70[_0x244c8f(_0x5ae8aa._0x583dba,0xfaf)]=_0x40a203,_0x46da70['graphics']=_0x3aade0,_0x1285d3['end'](_0x46da70);}_0x34bef8(_0x3aade0);return;}function _0x244c8f(_0x37a624,_0x31e149){return _0x246064(_0x37a624,_0x31e149-_0x532166._0x241a60);}const _0x1ad0fe=_0x3aade0[_0x3bee77];if(_0x1ad0fe['autoSurfaceHeight'])_0x1ad0fe['autoSurfaceHeight'](_0x1285d3)['then'](()=>{function _0x79c746(_0x2131ab,_0x3326c4){return _0x11fc10(_0x3326c4-0x60f,_0x2131ab);}function _0x2318c0(_0x5c3b9d,_0xba1de6){return _0x11fc10(_0xba1de6-_0x1dcd87._0xd58b9,_0x5c3b9d);}if(_0x1285d3[_0x2318c0(0x865,0xb4e)]){const _0x30ef94={};_0x30ef94['graphic']=_0x1ad0fe,_0x30ef94[_0x2318c0(0xda1,0x921)]=_0x3bee77,_0x30ef94[_0x2318c0(0x106f,0xd77)]=_0x40a203,_0x1285d3[_0x2318c0(0x220,0xb4e)](_0x30ef94);}_0x1468c4();});else{if(_0x1285d3[_0x244c8f(_0x5ae8aa._0x3b9367,_0x5ae8aa._0x506f26)]){const _0x588802={};_0x588802[_0x11fc10(_0x5ae8aa._0x3c560f,-0xa2)]=_0x1ad0fe,_0x588802['index']=_0x3bee77,_0x588802[_0x11fc10(0xca6,0x90c)]=_0x40a203,_0x1285d3[_0x11fc10(0xa7d,0xef2)](_0x588802);}_0x1468c4();}}function _0x246064(_0x14459f,_0x199782){return _0x536c(_0x199782- -0x253,_0x14459f);}_0x1468c4();});}['startDraw'](_0x133992){const _0x2e46b8={_0x1e55d9:0x527},_0x1ada75={_0x4339fc:0x2a2};return new Promise((_0x380c70,_0x1cd70e)=>{function _0x35e86a(_0x2336d2,_0x1c7c8b){return _0x536c(_0x1c7c8b- -0x38e,_0x2336d2);}this['stopDraw']();if(!this['_map'])throw new Error(_0xab181c(0x2c0,0xad4));function _0xab181c(_0x2b943b,_0x5db25f){return _0x536c(_0x2b943b- -_0x1ada75._0x4339fc,_0x5db25f);}const _0x4f5d4a={};_0x4f5d4a['resolve']=_0x380c70,_0x4f5d4a['reject']=_0x1cd70e,_0x133992['_promise']=_0x4f5d4a;const _0x24f06e=fromDraw(this,_0x133992);_0x24f06e!=null&&(this[_0x35e86a(0x650,_0x2e46b8._0x1e55d9)]=_0x24f06e,this['_map']['_setDrawingLayer'](this));});}[_0x7afdbe(0x1975,0x1481)](){const _0xc244e8={_0x6c1368:0x121f},_0x2dc79b={_0x3e6910:0xef},_0x5e9679={_0x10c657:0x244};this[_0xa7c7cd(0xc57,_0xc244e8._0x6c1368)]();function _0xa7c7cd(_0x3292ce,_0x41bd45){return _0x54a7f1(_0x41bd45- -_0x5e9679._0x10c657,_0x3292ce);}if(this[_0x2461a1(0xb1b,0xe11)]){const _0x1963a4=this[_0x2461a1(0xb1b,0xa5f)]['endDraw']();return _0x1963a4&&(this['_graphic_drawing']=null),_0x1963a4;}function _0x2461a1(_0x434383,_0xaf2a1){return _0x7afdbe(_0xaf2a1,_0x434383- -_0x2dc79b._0x3e6910);}return![];}[_0x7afdbe(0xa75,0x1379)](){const _0x44afe9={_0x21849d:0x199,_0x33f4c5:0x1a89},_0x21655a={_0x407741:0xf8},_0x8534a={_0x51b765:0x95};function _0x3ab52d(_0x2c9f6b,_0x4bbf19){return _0x54a7f1(_0x2c9f6b-_0x8534a._0x51b765,_0x4bbf19);}function _0x45fca0(_0x5a8231,_0x3b0ea9){return _0x54a7f1(_0x5a8231- -_0x21655a._0x407741,_0x3b0ea9);}return this['stopEditing'](),this['_graphic_drawing']?(this[_0x3ab52d(0xa71,0x2cf)]['stopDraw'](),this[_0x45fca0(0x8e4,_0x44afe9._0x21849d)]=null,this[_0x3ab52d(0x110a,_0x44afe9._0x33f4c5)](),!![]):![];}[_0x7afdbe(0x666,0x6c0)](){const _0xe75c99={_0x2a9594:0x29f,_0x443ab2:0x679,_0x260e10:0x4c,_0x2fe3ab:0x1f6,_0xc2207a:0x159};function _0x5e87ab(_0xccfdd0,_0x4e4ba1){return _0x7afdbe(_0xccfdd0,_0x4e4ba1- -0xe1);}function _0x209a04(_0x551ca8,_0x3f9c1e){return _0x7afdbe(_0x551ca8,_0x3f9c1e- -0x465);}if(this['_graphic_drawing']){var _0x2a3757,_0x48f9d1;return(_0x2a3757=this['_graphic_drawing'][_0x5e87ab(_0xe75c99._0x2a9594,0x9fd)])!==null&&_0x2a3757!==void 0x0&&_0x2a3757['success']&&delete this[_0x5e87ab(0x848,0xb29)][_0x209a04(0xcb9,_0xe75c99._0x443ab2)]['success'],(_0x48f9d1=this['_graphic_drawing']['options'])!==null&&_0x48f9d1!==void 0x0&&_0x48f9d1[_0x209a04(-0x602,_0xe75c99._0x260e10)]&&delete this['_graphic_drawing'][_0x209a04(-_0xe75c99._0x2fe3ab,_0xe75c99._0x443ab2)][_0x5e87ab(-_0xe75c99._0xc2207a,0x3d0)],this['_graphic_drawing']['remove'](!![]),this[_0x209a04(0x6e,0x7a5)]=null,!![];}else return![];}[_0x7afdbe(0x9da,0x1448)](){const _0x5a8f02={_0x55f811:0x962,_0x59b15f:0x52b,_0x322c2a:0x8b4};if(this['_hasEdit'])return;this[_0x9b08ef(_0x5a8f02._0x55f811,0x126e)]=!![];this[_0x9b08ef(_0x5a8f02._0x59b15f,_0x5a8f02._0x322c2a)]&&this['_bindEditEvent']();function _0x3d291e(_0x303842,_0x165b20){return _0x54a7f1(_0x303842- -0x1e4,_0x165b20);}function _0x9b08ef(_0x16b90c,_0xfff1a8){return _0x7afdbe(_0xfff1a8,_0x16b90c- -0x4d6);}return this;}[_0x7afdbe(0x2234,0x176e)](){const _0x59ead5={_0x23abf0:0xd03,_0x4c618b:0x491,_0x359609:0x1201};if(!this[_0x1e4e6b(0xd03,0x727)])return;this[_0x1e4e6b(_0x59ead5._0x23abf0,_0x59ead5._0x4c618b)]=![];function _0x1e4e6b(_0x11fd53,_0x150890){return _0x7afdbe(_0x150890,_0x11fd53- -0x135);}function _0x296c6c(_0x2d508a,_0x1a7fe2){return _0x7afdbe(_0x1a7fe2,_0x2d508a-0x5a);}return this[_0x1e4e6b(_0x59ead5._0x359609,0x1ccb)](),this['stopEditing'](),this;}['_bindEditEvent'](){const _0x14e4ca={_0x43ef7b:0xc08,_0x380e76:0x4f4,_0x4791c0:0xe71,_0x58884c:0x100},_0x567976={_0x402918:0x530};function _0x4088c8(_0xdefcfa,_0x2b392b){return _0x54a7f1(_0xdefcfa- -0xc5,_0x2b392b);}this['_map']['on'](EventType[_0x13be45(_0x14e4ca._0x43ef7b,_0x14e4ca._0x380e76)],this[_0x4088c8(0xd56,0xe56)],this);function _0x13be45(_0xd6f271,_0x2219e8){return _0x7afdbe(_0x2219e8,_0xd6f271- -_0x567976._0x402918);}this['_map']['on'](EventType[_0x13be45(0x56b,_0x14e4ca._0x4791c0)],this[_0x13be45(0x6f7,-_0x14e4ca._0x58884c)],this);}['_unbindEditEvent'](){const _0x2e0649={_0x222263:0xacc};function _0xec7605(_0x4cd241,_0x34da8a){return _0x54a7f1(_0x34da8a- -0x43e,_0x4cd241);}function _0x3d0c73(_0x259c02,_0x252207){return _0x7afdbe(_0x259c02,_0x252207- -0x46a);}this['_map']['off'](EventType[_0xec7605(0x149f,_0x2e0649._0x222263)],this['_onClickHandler'],this),this['_map']['off'](EventType[_0xec7605(0x55a,0x42f)],this[_0x3d0c73(0x5b1,0x7bd)],this);}[_0x7afdbe(0x8eb,0xc27)](_0x2532ff){const _0x35bdac={_0x3699ce:0x126d,_0x323e3f:0x136d,_0x5a7710:0x9c1,_0x11549f:0x397,_0x21bc64:0x100,_0x5617cc:0x80,_0x149c24:0x1cb3,_0x427e69:0x406,_0x1477ed:0x1ac,_0x25b927:0x5dd,_0x45469f:0x779},_0x3398e4={_0x29ca93:0x1ee};if(!this[_0x196735(0xb02,0x7bf)])return;if(!this[_0x46efb5(0x9c1,0xc6f)][_0x46efb5(_0x35bdac._0x3699ce,_0x35bdac._0x323e3f)]['screenSpaceCameraController']['enableInputs'])return;let _0x5256cb=_0x2532ff['graphic'];if(!_0x5256cb){const _0x5b5531=this[_0x46efb5(_0x35bdac._0x5a7710,0xc9)]['mouseEvent']['getPickTarget'](_0x2532ff[_0x196735(-_0x35bdac._0x11549f,-_0x35bdac._0x21bc64)],_0x2532ff);_0x5256cb=_0x5b5531===null||_0x5b5531===void 0x0?void 0x0:_0x5b5531[_0x196735(0x784,0x17d)];}if(_0x5256cb==null||_0x5256cb['_layer']!==this){this['_map']['closeSmallTooltip']();return;}if(_0x5256cb[_0x46efb5(0x1140,0x12e7)]||_0x5256cb[_0x196735(0x6ab,_0x35bdac._0x5617cc)]||!_0x5256cb[_0x46efb5(0x1920,0x1361)])return;if(this['_map']['contextmenu']['show']&&this['_map'][_0x46efb5(0x14d8,_0x35bdac._0x149c24)][_0x196735(-_0x35bdac._0x427e69,-_0x35bdac._0x1477ed)]===_0x5256cb)return;let _0x182d76=this['_map']['getLangText'](_0x196735(_0x35bdac._0x25b927,0x101f));function _0x196735(_0x99083b,_0x1e3b11){return _0x7afdbe(_0x99083b,_0x1e3b11- -0x679);}isPCBroswer()&&(_0x5256cb['options'][_0x196735(0x24,_0x35bdac._0x45469f)]??!![])&&(_0x182d76+='<br/>'+this['_map']['getLangText']('_右击菜单删除'));function _0x46efb5(_0x1946e6,_0x2b80a6){return _0x54a7f1(_0x1946e6-_0x3398e4._0x29ca93,_0x2b80a6);}this['_map']['openSmallTooltip'](_0x2532ff['windowPosition'],_0x182d76);}['_onClickHandler'](_0xb937cb){const _0x3fdce6={_0x13d5f6:0x90c,_0x499cf8:0xaa1};if(this['_graphic_drawing'])return;function _0x4e45d9(_0x32d183,_0x247231){return _0x54a7f1(_0x247231- -0x3bf,_0x32d183);}const _0xe55bd0=_0xb937cb[_0x4e45d9(-0xbd,0x209)];if(_0xe55bd0&&(_0xe55bd0['isPrivate']||!_0xe55bd0['hasEdit']))return;function _0x37d20a(_0x59e1c0,_0x5f2f9a){return _0x7afdbe(_0x59e1c0,_0x5f2f9a- -0x43a);}this['hasEdit']&&_0xe55bd0&&_0xb937cb['layer']===this?this[_0x37d20a(_0x3fdce6._0x13d5f6,_0x3fdce6._0x499cf8)](_0xe55bd0,_0xb937cb):this[_0x37d20a(0x98b,0x1257)]();}['startEditing'](_0x30f0f5,_0x3cf343){const _0x16de80={_0x3066b5:0xc4d,_0xfd7caf:0x4ef,_0x1f24e6:0x153f,_0x39dd74:0xf41,_0x6d0435:0xfe0,_0x1c55c7:0x7c9,_0x52b59f:0xb3},_0x1652cb={_0x5acb44:0x562};if(!_0x30f0f5||!_0x30f0f5['startEditing']||!_0x30f0f5[_0x47c3e1(_0x16de80._0x3066b5,_0x16de80._0xfd7caf)]||!_0x30f0f5['hasEdit'])return;function _0x47c3e1(_0x4e17ef,_0x445c66){return _0x7afdbe(_0x4e17ef,_0x445c66- -_0x1652cb._0x5acb44);}if(this['_graphic_editing']===_0x30f0f5||_0x30f0f5[_0x5ce04a(_0x16de80._0x1f24e6,_0x16de80._0x39dd74)])return;function _0x5ce04a(_0x4b11e5,_0x27752b){return _0x54a7f1(_0x27752b- -0x11,_0x4b11e5);}return this['stopEditing'](),_0x30f0f5[_0x47c3e1(_0x16de80._0x6d0435,0x979)](),_0x3cf343&&_0x30f0f5[_0x47c3e1(_0x16de80._0x1c55c7,_0x16de80._0x52b59f)]&&this['_map']['openSmallTooltip'](_0x3cf343['position'],_0x30f0f5['_draw_tooltip']),this[_0x47c3e1(0x218,-0xf8)]=_0x30f0f5,this;}[_0x54a7f1(0x1463,0x13bd)](){const _0x3801ee={_0x232d1b:0x115f},_0x1d5d2e={_0x3e1595:0x144};function _0x8d445d(_0x180bd7,_0x64e07){return _0x7afdbe(_0x180bd7,_0x64e07- -_0x1d5d2e._0x3e1595);}return this['_graphic_editing']&&(this['_graphic_editing']['stopEditing'](),this['_graphic_editing']=null,this[_0x8d445d(0xa12,_0x3801ee._0x232d1b)]()),this;}}register$3('graphic',GraphicLayer);class MatrixMove extends BaseThing{constructor(_0x196cc7={}){const _0x3a47be={_0x30c68c:0x3f7,_0x35af77:0x5bd,_0x392252:0x2ad,_0x25c886:0x1277,_0x3bed68:0x1307,_0x2ca25f:0xf20},_0x17f93f={_0x3099b1:0xa},_0x1526b1={_0x115a6d:0x20};super(_0x196cc7),this['options']['radius']=this[_0xb8158c(0x8a6,0xfc0)][_0xfef75(_0x3a47be._0x30c68c,_0x3a47be._0x35af77)]??0xc8,this['options']['hasMiddle']=this['options'][_0xb8158c(0x29d,_0x3a47be._0x392252)]??!![];function _0xfef75(_0x59824a,_0x161ff0){return _0x54a7f1(_0x59824a-_0x1526b1._0x115a6d,_0x161ff0);}this[_0xb8158c(0x13ee,_0x3a47be._0x25c886)]=new Cesium__namespace[(_0xfef75(_0x3a47be._0x3bed68,_0x3a47be._0x2ca25f))](0x0,0x0,0x0),this['rotateMatrix']=new Cesium__namespace['Matrix3'](0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1);function _0xb8158c(_0x4951f2,_0x23817a){return _0x54a7f1(_0x4951f2- -_0x17f93f._0x3099b1,_0x23817a);}_0x196cc7['position']&&(this['position']=_0x196cc7['position']);}get['position'](){return this['_position'];}set['position'](_0x3f665f){const _0x3d8edf={_0xe84800:0xb93},_0x52b744={_0x3d9a9a:0xe1};this['_position']=LngLatPoint[_0x44799e(_0x3d8edf._0xe84800,0xab1)](_0x3f665f),this[_0x382c80(0x1787,0xf25)]();function _0x44799e(_0x515ee7,_0x399d53){return _0x7afdbe(_0x399d53,_0x515ee7- -0x19f);}function _0x382c80(_0x53789c,_0x115458){return _0x54a7f1(_0x53789c-_0x52b744._0x3d9a9a,_0x115458);}this['_updatePositionHook'](!![]);}get['isMoveing'](){const _0x4ca73a={_0x1044b3:0x476,_0x42b9ad:0x474};if(!this[_0x4bb696(-_0x4ca73a._0x1044b3,_0x4ca73a._0x42b9ad)])return![];function _0x4bb696(_0x898b98,_0x3bedda){return _0x54a7f1(_0x3bedda- -0x35f,_0x898b98);}return this['_hasChangeEnableInputs'];}['_mountedHook'](){const _0x3c57ee={};_0x3c57ee['private']=!![],this['_graphicLayer']=new GraphicLayer(_0x3c57ee);}['_addedHook'](){this['_map']['addLayer'](this['_graphicLayer']),this['_updatePositionHook'](!![]);function _0x39df21(_0x264e30,_0x1ba4ee){return _0x54a7f1(_0x264e30- -0x91,_0x1ba4ee);}this['_createGraphics'](),this[_0x39df21(0x13ad,0x1518)]();}['_removedHook'](){const _0x5e2941={_0x3c4946:0x6ba};this['_graphic_move_x']&&delete this['_graphic_move_x'];function _0xc36d2b(_0x4fa7a9,_0x170de8){return _0x54a7f1(_0x4fa7a9- -0x119,_0x170de8);}this['_graphic_move_y']&&delete this['_graphic_move_y'],this['_graphic_move_z']&&delete this['_graphic_move_z'],this['_graphic_dragger_ing']&&delete this['_graphic_dragger_ing'],this['_graphicLayer']['clear'](),this[_0xc36d2b(_0x5e2941._0x3c4946,0x436)]['removeLayer'](this['_graphicLayer']),this['_unbindEvent']();}[_0x54a7f1(0x15b4,0x1654)](){const _0x4a6ea1={_0x4e0057:0x1794,_0x3f3795:0x14d8,_0x40d2e:0xf07,_0x4e16a0:0xdaa,_0x1a7145:0x146a,_0x585c42:0x14d8,_0x287bd0:0x1193,_0x18668d:0x978,_0x2efd66:0x1205,_0x1000ee:0x63c,_0xf8eb88:0x14d8,_0x2f0c8f:0x131d,_0x4340ed:0x569,_0x1f822a:0x101f,_0x168446:0x10ba,_0x3ebb78:0x19de,_0x5942e9:0xe13},_0x14952d={_0x4ae60b:0x7f},_0x43aec6={_0x3147ee:0x5ab};this['_graphicLayer']['clear']();const _0x73a5f4={};_0x73a5f4[_0xa96148(_0x4a6ea1._0x4e0057,_0x4a6ea1._0x3f3795)]=0xf,_0x73a5f4['arcType']=Cesium__namespace['ArcType']['NONE'],_0x73a5f4['materialType']=PolylineArrow,_0x73a5f4['color']=Cesium__namespace[_0x567aa5(_0x4a6ea1._0x40d2e,_0x4a6ea1._0x4e16a0)][_0xa96148(0x11f1,0x104d)],_0x73a5f4[_0xa96148(0xcd9,0xdee)]=!![];const _0x2f7b35={};_0x2f7b35[_0x567aa5(0x63c,-0x316)]=!![],_0x2f7b35['type']=Cesium__namespace['Axis']['X'],this['_graphic_move_x']=new PolylinePrimitive({'positions':this['_positions_line_x'],'style':_0x73a5f4,'attr':_0x2f7b35,'asynchronous':![],'private':!![]}),this['_graphicLayer'][_0x567aa5(0xc52,0x6f1)](this[_0xa96148(_0x4a6ea1._0x1a7145,0xed8)]);const _0x5418b4={};_0x5418b4[_0xa96148(0x10dd,_0x4a6ea1._0x585c42)]=0xf,_0x5418b4['arcType']=Cesium__namespace['ArcType']['NONE'],_0x5418b4['materialType']=PolylineArrow,_0x5418b4[_0xa96148(0xc3e,_0x4a6ea1._0x287bd0)]=Cesium__namespace[_0xa96148(_0x4a6ea1._0x18668d,_0x4a6ea1._0x2efd66)][_0xa96148(0x7e9,0x10c4)],_0x5418b4['depthFail']=!![];const _0x53c0ab={};_0x53c0ab[_0x567aa5(_0x4a6ea1._0x1000ee,0x51a)]=!![],_0x53c0ab['type']=Cesium__namespace['Axis']['Y'];function _0x567aa5(_0x3dbb72,_0x3f0eed){return _0x7afdbe(_0x3f0eed,_0x3dbb72- -_0x43aec6._0x3147ee);}this['_graphic_move_y']=new PolylinePrimitive({'positions':this[_0x567aa5(0xd45,0x176f)],'style':_0x5418b4,'attr':_0x53c0ab,'asynchronous':![],'private':!![]}),this['_graphicLayer']['addGraphic'](this['_graphic_move_y']);const _0x5a55f2={};_0x5a55f2[_0xa96148(0x133a,_0x4a6ea1._0xf8eb88)]=0xf,_0x5a55f2['arcType']=Cesium__namespace[_0xa96148(0x1170,_0x4a6ea1._0x2f0c8f)]['NONE'],_0x5a55f2[_0xa96148(_0x4a6ea1._0x4340ed,0x229)]=PolylineArrow,_0x5a55f2['color']=Cesium__namespace[_0xa96148(0x9b5,_0x4a6ea1._0x2efd66)]['BLUE'],_0x5a55f2[_0x567aa5(0xaf0,0xfdb)]=!![];const _0x57f81d={};_0x57f81d['move']=!![],_0x57f81d['type']=Cesium__namespace['Axis']['Z'],this['_graphic_move_z']=new PolylinePrimitive({'positions':this['_positions_line_z'],'style':_0x5a55f2,'attr':_0x57f81d,'asynchronous':![],'private':!![]}),this[_0xa96148(0xbe6,0x13b6)]['addGraphic'](this['_graphic_move_z']);const _0x2442db={};_0x2442db['width']=0x3,_0x2442db['arcType']=Cesium__namespace[_0x567aa5(_0x4a6ea1._0x1f822a,0x1245)]['NONE'],_0x2442db['materialType']=PolylineDash,_0x2442db['color']=Cesium__namespace['Color']['YELLOW'],_0x2442db['depthFail']=!![];const _0x235f21={};_0x235f21['positions']=[],_0x235f21['style']=_0x2442db,_0x235f21[_0x567aa5(_0x4a6ea1._0x168446,_0x4a6ea1._0x3ebb78)]=![],_0x235f21['private']=!![];function _0xa96148(_0x12f8ea,_0xb58907){return _0x54a7f1(_0xb58907- -_0x14952d._0x4ae60b,_0x12f8ea);}_0x235f21['show']=![],this[_0x567aa5(0xdbe,_0x4a6ea1._0x5942e9)]=new PolylinePrimitive(_0x235f21),this['_graphicLayer']['addGraphic'](this['_graphic_dragger_ing']);}[_0x7afdbe(0x2398,0x18d4)](){const _0x4dfd31={_0x3da5ad:0x15e3,_0x4ec201:0x160b,_0x3dbdd2:0x467,_0x2e5929:0x81c,_0x166496:0xd2d,_0x18633c:0x18d0,_0x571258:0x1484,_0x822f96:0x6d8,_0x48d170:0x715,_0x487cea:0x8e3,_0x541dce:0x120d};this[_0x33fd95(0x1372,_0x4dfd31._0x3da5ad)]=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this[_0x33fd95(_0x4dfd31._0x4ec201,0x1607)]);function _0x49356d(_0x560e60,_0x21d32d){return _0x7afdbe(_0x560e60,_0x21d32d- -0x7d);}this[_0x33fd95(_0x4dfd31._0x3dbdd2,_0x4dfd31._0x2e5929)]=Cesium__namespace['Matrix4']['inverse'](this[_0x33fd95(_0x4dfd31._0x166496,0x15e3)],new Cesium__namespace['Matrix4']()),this[_0x49356d(_0x4dfd31._0x18633c,_0x4dfd31._0x571258)]=this['modelToWorld'][_0x33fd95(_0x4dfd31._0x822f96,_0x4dfd31._0x48d170)](),this['inverseMatrix']=Cesium__namespace['Matrix4'][_0x49356d(0x1e80,0x15bf)](this['matrix'],new Cesium__namespace[(_0x33fd95(-0x557,0x2fe))]()),this['normalX']=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this[_0x49356d(0x118e,0x1484)],Cesium__namespace['Cartesian3']['UNIT_X'],new Cesium__namespace['Cartesian3']()),this[_0x49356d(0x796,0xb92)]=Cesium__namespace['Matrix4'][_0x49356d(0x1b21,0x1393)](this[_0x33fd95(_0x4dfd31._0x487cea,0x11f9)],Cesium__namespace[_0x33fd95(0x1896,_0x4dfd31._0x541dce)][_0x49356d(0x16ab,0x141e)],new Cesium__namespace[(_0x49356d(0x182c,0x1498))]()),this['normalZ']=Cesium__namespace[_0x33fd95(0x79b,0x2fe)]['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3'][_0x33fd95(0x1658,0x1159)],new Cesium__namespace['Cartesian3']()),this['_positions_line_x']=[];function _0x33fd95(_0x37ebd8,_0x3f266f){return _0x7afdbe(_0x37ebd8,_0x3f266f- -0x308);}this['_positions_line_y']=[],this[_0x49356d(0x269,0xc5a)]=[];}[_0x54a7f1(0x172a,0x196c)](){const _0x584d93={_0x181cae:0x3a3,_0x55871c:0x21,_0x49a955:0x656,_0x16723c:0x354,_0x7606c8:0x41c,_0x232a29:0xc8e,_0x451465:0x809,_0x20fc2b:0x147c},_0xce0c8a={_0x4f4c2d:0xd9},_0x3d2cc6=new Cesium__namespace[(_0x46cb68(_0x584d93._0x181cae,_0x584d93._0x55871c))]['multiplyByPoint'](this['_map']['camera'][_0x46cb68(0x35f,_0x584d93._0x49a955)],this['position'],new Cesium__namespace['Cartesian3']());function _0x46cb68(_0x10985e,_0x27ca44){return _0x54a7f1(_0x27ca44- -0x3b7,_0x10985e);}let _0x479139=-_0x3d2cc6['z']*Math['tan'](this[_0x46cb68(-_0x584d93._0x16723c,_0x584d93._0x7606c8)][_0x5a0617(0x6ef,0x482)][_0x46cb68(0x7e9,_0x584d93._0x232a29)]['fov']/0x2)*0x2;function _0x5a0617(_0x2660f1,_0xe37bce){return _0x54a7f1(_0xe37bce- -_0xce0c8a._0x4f4c2d,_0x2660f1);}(!_0x479139||_0x479139<0x64)&&(_0x479139=0x64);const _0x342579=_0x479139/this['_map'][_0x5a0617(0x1287,_0x584d93._0x451465)][_0x5a0617(_0x584d93._0x20fc2b,0x147e)];return _0x342579;}['_updatePositionHook'](_0x176ec3){const _0x1f2502={_0x1b5615:0x166a,_0xd6815:0x7c7,_0xaf6329:0x136d,_0x2a1f79:0x953,_0x305284:0xa56,_0x593b96:0x129a,_0x5ceb5a:0x1075,_0x4a41ed:0xc9c,_0x12a69f:0x38a,_0x2dd8cc:0x2ce,_0x186097:0x1286,_0x2ef49b:0xd8e,_0x38d354:0xfdd,_0x53d382:0x70f,_0x4e9c42:0x10a2,_0x3d2b12:0x19b3};if(!this['_map']||!this[_0x96d9a(0x1767,_0x1f2502._0x1b5615)])return;const _0x52475f=this['position']['clone']();_0x176ec3&&(this['radius']=this['options']['radius']*this[_0x5aea9a(0x16dd,0x210a)]());this[_0x96d9a(_0x1f2502._0xd6815,0x727)]=[_0x52475f,Cesium__namespace[_0x96d9a(0x45e,0x386)]['multiplyByPoint'](this['matrix'],new Cesium__namespace[(_0x96d9a(_0x1f2502._0xaf6329,_0x1f2502._0x2a1f79))](this[_0x5aea9a(0x38a,_0x1f2502._0x305284)],0x0,0x0),new Cesium__namespace[(_0x5aea9a(_0x1f2502._0x593b96,0x18a2))]())],this[_0x5aea9a(_0x1f2502._0x5ceb5a,0x106d)]=[_0x52475f,Cesium__namespace['Matrix4'][_0x5aea9a(_0x1f2502._0x4a41ed,0xbd6)](this['matrix'],new Cesium__namespace['Cartesian3'](0x0,this[_0x5aea9a(_0x1f2502._0x12a69f,-_0x1f2502._0x2dd8cc)],0x0),new Cesium__namespace[(_0x96d9a(_0x1f2502._0xaf6329,0x1bfe))]())];function _0x96d9a(_0x20cfce,_0x52a2ba){return _0x54a7f1(_0x20cfce-0x86,_0x52a2ba);}this['_positions_line_z']=[_0x52475f,Cesium__namespace['Matrix4']['multiplyByPoint'](this[_0x5aea9a(_0x1f2502._0x186097,_0x1f2502._0x2ef49b)],new Cesium__namespace['Cartesian3'](0x0,0x0,this['radius']),new Cesium__namespace['Cartesian3']())];this[_0x96d9a(_0x1f2502._0x38d354,0x12e5)]&&(this['_graphic_move_x']['positions']=this['_positions_line_x']);function _0x5aea9a(_0x4a31ac,_0x59c18b){return _0x7afdbe(_0x59c18b,_0x4a31ac- -0x27b);}this['_graphic_move_y']&&(this['_graphic_move_y']['positions']=this['_positions_line_y']),this[_0x96d9a(0xe38,0x1179)]&&(this[_0x5aea9a(0xd65,_0x1f2502._0x53d382)][_0x5aea9a(_0x1f2502._0x4e9c42,_0x1f2502._0x3d2b12)]=this[_0x5aea9a(0xa5c,0x12fb)]);}[_0x7afdbe(0x1699,0x166c)](){const _0x44fbf5={_0x51ea67:0xcf,_0x18e6b9:0x157},_0x5ed843={_0x19a84c:0x2c0};this['_graphicLayer']['on'](EventType['leftDown'],this['_onMap_leftDown'],this),this['_map']['on'](EventType['leftUp'],this[_0x5058c7(0x265,0x4bc)],this);function _0x1535f6(_0x26e3e,_0x2fa08b){return _0x54a7f1(_0x26e3e- -_0x5ed843._0x19a84c,_0x2fa08b);}function _0x5058c7(_0x391895,_0xbaf85e){return _0x7afdbe(_0x391895,_0xbaf85e- -0x37e);}this['options'][_0x5058c7(-_0x44fbf5._0x51ea67,_0x44fbf5._0x18e6b9)]&&this['_map']['on'](EventType['middleClick'],this['_onMap_middleClick'],this),this['_map']['on'](EventType['wheel'],this['_onMap_wheel'],this);}['_unbindEvent'](){const _0x543218={_0x19b252:0x165,_0x1c99d3:0x813,_0x1f8b7b:0x6c3,_0x9f8b85:0x53b,_0x3dd273:0x178,_0x20b055:0x321,_0x3b1ce0:0xd81,_0x413fb9:0x8e8},_0x53132f={_0x3a9192:0x55};this[_0x4e93c5(0x148a,0xe4e)][_0x7bddea(-_0x543218._0x19b252,-_0x543218._0x1c99d3)](EventType[_0x4e93c5(0xd7f,0x5a5)],this['_onMap_leftDown'],this),this['_map']['off'](EventType['leftUp'],this[_0x4e93c5(0x661,0x1010)],this),this[_0x4e93c5(0x828,0x1120)]['off'](EventType[_0x7bddea(_0x543218._0x1f8b7b,0x88d)],this[_0x7bddea(_0x543218._0x9f8b85,0xe78)],this);function _0x7bddea(_0x4bcac6,_0x251bfc){return _0x54a7f1(_0x4bcac6- -0x4b2,_0x251bfc);}this['options']['hasMiddle']&&this['_map']['off'](EventType[_0x7bddea(_0x543218._0x3dd273,0x936)],this['_onMap_middleClick'],this);function _0x4e93c5(_0x283882,_0x53a3ef){return _0x54a7f1(_0x283882-_0x53132f._0x3a9192,_0x53a3ef);}this[_0x7bddea(_0x543218._0x20b055,_0x543218._0x3b1ce0)][_0x7bddea(-0x165,_0x543218._0x413fb9)](EventType[_0x7bddea(0xc9c,0xccc)],this[_0x7bddea(0xafd,0x88f)],this);}[_0x54a7f1(0x9c8,0x1ef)](_0x2ad8b9){const _0x5b7a05={_0x3c28ed:0x1bea,_0x4ddf00:0x118c,_0x510338:0x31,_0x3ca3a9:0x16b9,_0x54c362:0x6ce,_0x2ac52e:0x639,_0x360a62:0x187e,_0x18b734:0x121c,_0x200333:0x13c0,_0x2f998d:0x218,_0x123a87:0x4c0,_0x4fdfe1:0x368,_0x4c8bba:0xe13,_0x4f2f84:0x6ad,_0x2a2005:0x7f};this['_graphic']=undefined;if(_0x2ad8b9['layer']!==this['_graphicLayer'])return;const _0x25d809=_0x2ad8b9['graphic'];function _0x4b7e9c(_0x564d3a,_0x42ed3c){return _0x54a7f1(_0x42ed3c-0x19d,_0x564d3a);}if(!_0x25d809||!(_0x25d809['attr']['move']||_0x25d809['attr']['rotate']))return;this[_0x4b7e9c(_0x5b7a05._0x3c28ed,0x13ff)]=_0x25d809;!_0x25d809['style'][_0x4b7e9c(0x772,_0x5b7a05._0x4ddf00)]&&(_0x25d809[_0x5e2877(_0x5b7a05._0x510338,-0x8bf)][_0x4b7e9c(_0x5b7a05._0x3ca3a9,0x118c)]=_0x25d809[_0x4b7e9c(_0x5b7a05._0x54c362,_0x5b7a05._0x2ac52e)]['color']);const _0x2464bf={};_0x2464bf['color']=Cesium__namespace['Color']['YELLOW'],_0x25d809['setStyle'](_0x2464bf);function _0x5e2877(_0x413fdf,_0x1b143c){return _0x54a7f1(_0x413fdf- -0x46b,_0x1b143c);}this['_graphic_dragger_ing']['positions']=[this['position'],this[_0x4b7e9c(0x2117,_0x5b7a05._0x360a62)]],this['_graphic_dragger_ing']['show']=!![];const _0x3a7295=this['_graphic'][_0x5e2877(_0x5b7a05._0x18b734,_0x5b7a05._0x200333)]['type'],_0xce622e={..._0x2ad8b9};_0xce622e[_0x5e2877(0xa21,0xb19)]=_0x3a7295,_0xce622e[_0x5e2877(0x15d,_0x5b7a05._0x2f998d)]=_0x25d809,this['fire'](EventType[_0x5e2877(_0x5b7a05._0x123a87,0x4c1)],_0xce622e),this[_0x5e2877(_0x5b7a05._0x4fdfe1,0x837)]['scene']['screenSpaceCameraController'][_0x5e2877(0xb4d,0x12c7)]&&(this['_map']['scene'][_0x5e2877(_0x5b7a05._0x4c8bba,_0x5b7a05._0x4f2f84)][_0x5e2877(0xb4d,0x424)]=![],this['_hasChangeEnableInputs']=!![]),this[_0x5e2877(0x368,-_0x5b7a05._0x2a2005)]['on'](EventType['mouseMove'],this['_onMap_mouseMove'],this);}[_0x54a7f1(0x9ed,0xce4)](_0x5dd616){const _0x5289ff={_0x43812c:0xdd8,_0x56b17d:0xc56,_0x643191:0x5e2,_0x38ff85:0x14f9,_0x2f453f:0x1457,_0x59b774:0xc78,_0x64c435:0x19e2,_0x1a53ca:0xf92,_0x6ecd39:0xb1,_0x816060:0x72a,_0x19c7f4:0x47e,_0x18848f:0x1738,_0x4f4337:0x190,_0x3c4afe:0x1a39,_0x390df7:0x157e,_0x14f654:0xfa9,_0x4058b9:0x83,_0x3bf332:0x4d3,_0x23d20b:0x422,_0x4fc0c7:0xcb,_0x3a13b5:0x10a3,_0x51846e:0x1b95,_0x439c09:0x1978,_0x5da574:0xcff,_0x399561:0xf92,_0xfeca33:0xa44,_0x338d63:0x10ab,_0x5c7fb9:0x168c,_0x5f488a:0xc30,_0x5f320c:0xb8d,_0x139cfb:0x83,_0x261e2b:0xb6d,_0x3da44f:0x484,_0x246662:0x16a7,_0x25ff4d:0xf95,_0x242d31:0x8e8,_0x3b3509:0x7cb,_0x162a48:0x66f,_0xb5436a:0x1508,_0x3068da:0x16a7,_0x5caaa0:0x16a5,_0x3a80c2:0xe40,_0x1027ad:0x17ff,_0x2a4e48:0x196},_0x1559a7={_0x27b0ce:0x355};if(!this[_0x3036b0(_0x5289ff._0x43812c,0x14f9)])return;const _0x3f3256=_0x5dd616['startPosition'],_0x2bb8f8=_0x5dd616[_0x3036b0(_0x5289ff._0x56b17d,_0x5289ff._0x643191)];let _0xe3f1f0;const _0x419690=this[_0x3036b0(0x1002,_0x5289ff._0x38ff85)][_0x295fd1(_0x5289ff._0x2f453f,0x1332)]['type'];_0x419690===Cesium__namespace['Axis']['X']&&(_0xe3f1f0=this['normalX']);_0x419690===Cesium__namespace['Axis']['Y']&&(_0xe3f1f0=this[_0x3036b0(0x2cc,_0x5289ff._0x59b774)]);_0x419690===Cesium__namespace[_0x3036b0(0x1566,_0x5289ff._0x64c435)]['Z']&&(_0xe3f1f0=this['normalZ']);const _0x2ae686=new Cesium__namespace[(_0x295fd1(0x8f8,_0x5289ff._0x1a53ca))](_0x2bb8f8['x']-_0x3f3256['x'],-(_0x2bb8f8['y']-_0x3f3256['y']),0x0);this['_map']['scene'][_0x3036b0(_0x5289ff._0x6ecd39,_0x5289ff._0x816060)]===Cesium__namespace['SceneMode']['SCENE2D']&&(_0x2ae686['x']=-0x1*_0x2ae686['x']);function _0x3036b0(_0x3227e2,_0x265b2f){return _0x7afdbe(_0x3227e2,_0x265b2f-0x69);}const _0x1a7d57=new Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this[_0x295fd1(0x256,_0x5289ff._0x19c7f4)]['camera']['inverseViewMatrix'],_0x2ae686,new Cesium__namespace[(_0x295fd1(0x8cb,0xf92))]()),_0x3ec4a2=Cesium__namespace['Cartesian3'][_0x295fd1(0xc3,0x1be)](_0x1a7d57,_0xe3f1f0)*this[_0x295fd1(_0x5289ff._0x18848f,0x13d5)](),_0x3a684f=Cesium__namespace['Cartographic'][_0x295fd1(_0x5289ff._0x4f4337,-0x18)](this['position']);let _0x1885f0=new Cesium__namespace[(_0x3036b0(_0x5289ff._0x3c4afe,_0x5289ff._0x390df7))](this['position']['x']+_0xe3f1f0['x']*_0x3ec4a2,this['position']['y']+_0xe3f1f0['y']*_0x3ec4a2,this['position']['z']+_0xe3f1f0['z']*_0x3ec4a2);_0x419690!==Cesium__namespace['Axis']['Z']&&(_0x1885f0=Cesium__namespace['Cartographic'][_0x3036b0(0x87d,0x5d4)](_0x1885f0),_0x1885f0['height']=_0x3a684f['height'],_0x419690===Cesium__namespace[_0x3036b0(0x19d8,_0x5289ff._0x64c435)]['X']?_0x1885f0['latitude']=_0x3a684f['latitude']:_0x1885f0['longitude']=_0x3a684f['longitude'],_0x1885f0=Cesium__namespace[_0x295fd1(_0x5289ff._0x14f654,_0x5289ff._0x1a53ca)]['fromRadians'](_0x1885f0['longitude'],_0x1885f0['latitude'],_0x1885f0['height']));const _0x438ae8=Cesium__namespace[_0x295fd1(-0x1d0,_0x5289ff._0x4058b9)]['multiplyByPoint'](this[_0x3036b0(0x1239,0xa7f)],_0x1885f0,new Cesium__namespace[(_0x3036b0(0x157f,0x157e))]());Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this[_0x295fd1(_0x5289ff._0x3bf332,0xf7e)],_0x438ae8,_0x438ae8),Cesium__namespace[_0x295fd1(-_0x5289ff._0x23d20b,0x83)][_0x3036b0(0x74f,0x603)](this[_0x295fd1(-_0x5289ff._0x4fc0c7,0x5a1)],new Cesium__namespace['Cartesian4'](_0x438ae8['x'],_0x438ae8['y'],_0x438ae8['z'],0x0),_0x438ae8),Cesium__namespace['Cartesian3']['add'](this[_0x295fd1(0xd72,_0x5289ff._0x3a13b5)],_0x438ae8,this['translation']),this['position']=_0x1885f0,this['matrix']=Cesium__namespace['Transforms'][_0x295fd1(0x110a,0xf45)](this[_0x3036b0(_0x5289ff._0x51846e,_0x5289ff._0x439c09)]),Cesium__namespace['Matrix4'][_0x295fd1(_0x5289ff._0x5da574,0x10b9)](this[_0x3036b0(0x1afa,0x156a)],this['inverseMatrix']);const _0x5d740e=this['normalX'],_0x9e40f3=this['normalY'],_0x1d1ae6=this['normalZ'];function _0x295fd1(_0x1d25ff,_0x447873){return _0x54a7f1(_0x447873- -_0x1559a7._0x27b0ce,_0x1d25ff);}this['normalX']=Cesium__namespace[_0x295fd1(0x421,0x83)]['multiplyByPointAsVector'](this[_0x3036b0(0x1545,0x156a)],Cesium__namespace['Cartesian3']['UNIT_X'],new Cesium__namespace[(_0x295fd1(0xae3,_0x5289ff._0x399561))]()),this[_0x295fd1(_0x5289ff._0xfeca33,0x68c)]=Cesium__namespace[_0x295fd1(-0x42b,0x83)]['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3'][_0x3036b0(0x1b2d,0x1504)],new Cesium__namespace[(_0x295fd1(0x1256,0xf92))]()),this['normalZ']=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3'][_0x295fd1(0x1867,0xede)],new Cesium__namespace['Cartesian3']());if(_0x419690===Cesium__namespace['Axis']['X']){let _0x4865ac=Cesium__namespace['Cartesian3'][_0x3036b0(_0x5289ff._0x338d63,0x1904)](_0x9e40f3,this['normalY']),_0x32a9cb=Cesium__namespace[_0x295fd1(_0x5289ff._0x5c7fb9,0xf92)][_0x3036b0(0x1f26,0x1904)](_0x1d1ae6,this[_0x295fd1(_0x5289ff._0x5f488a,0x59a)]);_0x3ec4a2<0x0&&(_0x32a9cb=-_0x32a9cb,_0x4865ac=-_0x4865ac);const _0x1d7744=Cesium__namespace[_0x3036b0(0x1138,0x66f)][_0x3036b0(0xfbb,0x1479)](this[_0x3036b0(0x10c6,_0x5289ff._0x5f320c)],_0x1d1ae6,new Cesium__namespace[(_0x295fd1(0x1870,0xf92))]());let _0x5bf894=Cesium__namespace['Matrix3'][_0x3036b0(0x13a1,0x16a5)](this['rotateMatrix'],new Cesium__namespace[(_0x295fd1(0x1509,0x10bb))]()),_0x2d2045=Cesium__namespace['Matrix3']['multiplyByVector'](_0x5bf894,_0x1d7744,new Cesium__namespace['Cartesian3']()),_0x1f7cf5=this['_axisRotation'](_0x2d2045,_0x4865ac);Cesium__namespace['Matrix3']['multiply'](this['rotateMatrix'],_0x1f7cf5,this['rotateMatrix']);const _0x538ee6=Cesium__namespace[_0x295fd1(0x659,_0x5289ff._0x139cfb)][_0x3036b0(_0x5289ff._0x261e2b,0x1479)](this['worldToModel'],_0x9e40f3,new Cesium__namespace['Cartesian3']());_0x5bf894=Cesium__namespace[_0x295fd1(0xe14,0x10bb)]['inverse'](this['rotateMatrix'],new Cesium__namespace['Matrix3']()),_0x2d2045=Cesium__namespace['Matrix3'][_0x295fd1(-_0x5289ff._0x3da44f,0x17)](_0x5bf894,_0x538ee6,new Cesium__namespace['Cartesian3']()),_0x1f7cf5=this[_0x295fd1(0xd11,0x1213)](_0x2d2045,_0x32a9cb),Cesium__namespace[_0x3036b0(0x1322,_0x5289ff._0x246662)]['multiply'](this['rotateMatrix'],_0x1f7cf5,this[_0x3036b0(_0x5289ff._0x25ff4d,_0x5289ff._0x242d31)]);}if(_0x419690===Cesium__namespace[_0x295fd1(0x13bc,0x13f6)]['Y']){let _0x5cd9f6=Cesium__namespace['Cartesian3']['angleBetween'](_0x1d1ae6,this['normalZ']);_0x3ec4a2>0x0&&(_0x5cd9f6=-_0x5cd9f6);const _0x3dd6c1=Cesium__namespace[_0x3036b0(_0x5289ff._0x3b3509,_0x5289ff._0x162a48)][_0x295fd1(0xa51,0xe8d)](this['worldToModel'],_0x5d740e,new Cesium__namespace['Cartesian3']()),_0x1eb837=Cesium__namespace[_0x3036b0(_0x5289ff._0xb5436a,_0x5289ff._0x3068da)][_0x3036b0(0x170f,_0x5289ff._0x5caaa0)](this['rotateMatrix'],new Cesium__namespace[(_0x3036b0(0x1ac5,_0x5289ff._0x246662))]()),_0x352506=Cesium__namespace['Matrix3']['multiplyByVector'](_0x1eb837,_0x3dd6c1,new Cesium__namespace['Cartesian3']()),_0x5441f9=this[_0x3036b0(_0x5289ff._0x3a80c2,_0x5289ff._0x1027ad)](_0x352506,_0x5cd9f6);Cesium__namespace['Matrix3']['multiply'](this[_0x295fd1(_0x5289ff._0x2a4e48,0x2fc)],_0x5441f9,this['rotateMatrix']);}this['_graphic_dragger_ing']['positions']=[this['_graphic_dragger_ing']['positions'][0x0],_0x1885f0],this['_updatePositionHook']();const _0x33d4a8={..._0x5dd616};_0x33d4a8[_0x3036b0(0x1200,0x1123)]=_0x419690,_0x33d4a8['position']=_0x1885f0;const _0x2e386c=_0x33d4a8;this['onChange'](_0x2e386c);}['_onMap_leftUp'](_0xf9fb73){const _0x3f862b={_0x349730:0xd68,_0x3b553d:0xe12,_0x35214d:0xdb4,_0x5d26c2:0xb85,_0x42e06d:0x363},_0xd33f8a={_0x4a9ec4:0x728};if(!this[_0x3584a1(_0x3f862b._0x349730,0x7c2)])return;this[_0x3584a1(0xd68,0xd5d)][_0x544fd4(0xc45,_0x3f862b._0x3b553d)]({'color':this['_graphic']['style'][_0x544fd4(0x119e,0xcb4)]}),this['_graphic']=null,this['_graphic_dragger_ing'][_0x544fd4(0x17ec,_0x3f862b._0x35214d)]=[],this[_0x544fd4(0x1233,0xe00)][_0x3584a1(0x10f9,0x18e3)]=![];this['_hasChangeEnableInputs']&&(this['_map'][_0x3584a1(_0x3f862b._0x5d26c2,0x1374)]['screenSpaceCameraController']['enableInputs']=!![],delete this['_hasChangeEnableInputs']);function _0x3584a1(_0x536f6a,_0x5e31c6){return _0x7afdbe(_0x5e31c6,_0x536f6a- -_0xd33f8a._0x4a9ec4);}this['_map']['off'](EventType[_0x544fd4(_0x3f862b._0x42e06d,0x83a)],this['_onMap_mouseMove'],this);function _0x544fd4(_0x270225,_0x83644f){return _0x54a7f1(_0x83644f- -0x33b,_0x270225);}this[_0x3584a1(0x9be,0x5d9)](EventType['stop'],_0xf9fb73);}['_axisRotation'](_0x1c2f04,_0x42f64c,_0xac1353){const _0x49fa19={_0x5ce730:0x1847,_0x894406:0x13fb,_0x23f701:0xcea,_0x49dee8:0x1665,_0x4795f3:0xfd5,_0x2a91ed:0x170a};let _0x3d3fa1=_0x1c2f04['x'],_0x18230f=_0x1c2f04['y'],_0x3d2327=_0x1c2f04['z'];const _0x634a41=Math[_0x4191dd(0xdef,0xa95)](_0x3d3fa1*_0x3d3fa1+_0x18230f*_0x18230f+_0x3d2327*_0x3d2327);_0x3d3fa1=_0x3d3fa1/_0x634a41,_0x18230f=_0x18230f/_0x634a41,_0x3d2327=_0x3d2327/_0x634a41;const _0x39f89f=_0x3d3fa1*_0x3d3fa1,_0x3d26c2=_0x18230f*_0x18230f;function _0x4191dd(_0x58f767,_0x4cd6e0){return _0x7afdbe(_0x4cd6e0,_0x58f767- -0x243);}const _0x4c38c5=_0x3d2327*_0x3d2327,_0x2c03ce=Math[_0x426020(0x12f3,_0x49fa19._0x5ce730)](_0x42f64c),_0x4e7435=Math[_0x4191dd(0x45f,0x768)](_0x42f64c),_0x736867=0x1-_0x2c03ce;_0xac1353=_0xac1353||new Cesium__namespace['Matrix3'](),_0xac1353[Cesium__namespace['Matrix3']['COLUMN0ROW0']]=_0x39f89f+(0x1-_0x39f89f)*_0x2c03ce,_0xac1353[Cesium__namespace['Matrix3']['COLUMN0ROW1']]=_0x3d3fa1*_0x18230f*_0x736867+_0x3d2327*_0x4e7435,_0xac1353[Cesium__namespace['Matrix3'][_0x4191dd(0xb4b,0x802)]]=_0x3d3fa1*_0x3d2327*_0x736867-_0x18230f*_0x4e7435,_0xac1353[Cesium__namespace[_0x4191dd(_0x49fa19._0x894406,0xf46)][_0x4191dd(0xaf3,_0x49fa19._0x23f701)]]=_0x3d3fa1*_0x18230f*_0x736867-_0x3d2327*_0x4e7435;function _0x426020(_0x5b3686,_0x592677){return _0x54a7f1(_0x592677-0xf3,_0x5b3686);}return _0xac1353[Cesium__namespace['Matrix3'][_0x426020(_0x49fa19._0x49dee8,_0x49fa19._0x4795f3)]]=_0x3d26c2+(0x1-_0x3d26c2)*_0x2c03ce,_0xac1353[Cesium__namespace[_0x4191dd(_0x49fa19._0x894406,0x125f)][_0x426020(0x1ed6,_0x49fa19._0x2a91ed)]]=_0x18230f*_0x3d2327*_0x736867+_0x3d3fa1*_0x4e7435,_0xac1353[Cesium__namespace[_0x4191dd(0x13fb,0xc41)]['COLUMN2ROW0']]=_0x3d3fa1*_0x3d2327*_0x736867+_0x18230f*_0x4e7435,_0xac1353[Cesium__namespace['Matrix3']['COLUMN2ROW1']]=_0x18230f*_0x3d2327*_0x736867-_0x3d3fa1*_0x4e7435,_0xac1353[Cesium__namespace['Matrix3']['COLUMN2ROW2']]=_0x4c38c5+(0x1-_0x4c38c5)*_0x2c03ce,_0xac1353;}[_0x54a7f1(0xfaf,0x12ea)](){const _0xed01db={_0x4506ff:0x5eb},_0x29eb2b={_0x4abe56:0x1e};function _0x18ddbf(_0x84bd6a,_0x17ced8){return _0x54a7f1(_0x17ced8-_0x29eb2b._0x4abe56,_0x84bd6a);}this[_0x18ddbf(-_0xed01db._0x4506ff,0x4d0)](!![]);}['_onMap_middleClick'](_0x3d8632){const _0xf9abb2={_0x23c292:0x1163,_0x30e9ae:0x166f,_0x44acc3:0x47e,_0x189ec5:0x81c},_0x2d9530={_0x322c8e:0xe4};function _0x448088(_0x2004c8,_0x52423f){return _0x54a7f1(_0x2004c8-_0x2d9530._0x322c8e,_0x52423f);}function _0x571ff4(_0xf46034,_0x9178ec){return _0x7afdbe(_0x9178ec,_0xf46034- -0x51d);}const _0x725c72=this['_map'][_0x448088(_0xf9abb2._0x23c292,0x188e)][_0x448088(0xee4,_0xf9abb2._0x30e9ae)](_0x3d8632['position']);_0x725c72&&(this['position']=_0x725c72,this['matrix']=Cesium__namespace[_0x571ff4(_0xf9abb2._0x44acc3,0x44f)][_0x571ff4(0xfab,0x107c)](this['position']),Cesium__namespace[_0x571ff4(0xe9,_0xf9abb2._0x189ec5)]['inverse'](this['matrix'],this['inverseMatrix']),this['_updatePositionHook']());}[_0x7afdbe(0x1887,0x123d)](_0x1c380f){const _0x5cff84={_0x5e8f43:0xca2,_0x157e4e:0xd2e,_0x45a743:0xc2,_0x489b1a:0x5e8},_0x278750={_0x52393d:0x9};function _0x59518e(_0x4a1c3a,_0x282263){return _0x54a7f1(_0x282263- -_0x278750._0x52393d,_0x4a1c3a);}function _0x3efdf3(_0x330ad7,_0x188b49){return _0x54a7f1(_0x188b49- -0x2e1,_0x330ad7);}this['options']['onChange']&&this['options'][_0x3efdf3(_0x5cff84._0x5e8f43,_0x5cff84._0x157e4e)](_0x1c380f),this['fire'](EventType[_0x59518e(_0x5cff84._0x45a743,_0x5cff84._0x489b1a)],_0x1c380f,!![]);}}class MatrixRotate extends MatrixMove{get[_0x7afdbe(0x1bc,0x53b)](){const _0x13f331={_0x4cce10:0xab5,_0x19d1c9:0x76},_0x2d3880={_0x1e5bcc:0x205};function _0xc966c2(_0x11a9a6,_0x219d5f){return _0x54a7f1(_0x11a9a6-_0x2d3880._0x1e5bcc,_0x219d5f);}return this[_0xc966c2(_0x13f331._0x4cce10,_0x13f331._0x19d1c9)]['heading']??0x0;}set['heading'](_0x7b0e84){this['options']['heading']=_0x7b0e84;}get[_0x7afdbe(0x112b,0x18c0)](){const _0x40900a={_0x5181be:0x1152};function _0x4cf115(_0x4b6a38,_0x5da1f8){return _0x7afdbe(_0x4b6a38,_0x5da1f8- -0x2e2);}return this[_0x4cf115(_0x40900a._0x5181be,0x7fc)]['pitch']??0x0;}set['pitch'](_0x453f28){const _0x3008d5={_0xc05020:0xa00,_0x1d4934:0x0,_0x3458d5:0xe24},_0x8b7d63={_0x146576:0xde};function _0x36ee49(_0x37e2e0,_0x98e4be){return _0x7afdbe(_0x98e4be,_0x37e2e0- -0x64a);}function _0x5cb583(_0x580ea1,_0x2e1a45){return _0x7afdbe(_0x2e1a45,_0x580ea1- -_0x8b7d63._0x146576);}this[_0x5cb583(_0x3008d5._0xc05020,_0x3008d5._0x1d4934)][_0x36ee49(0x1276,_0x3008d5._0x3458d5)]=_0x453f28;}get[_0x54a7f1(0x1731,0x1c84)](){const _0xa97f8f={_0x2a3fc5:0x1999},_0x20e916={_0x5232e4:0x3a};function _0xf1cd1d(_0x1beab2,_0x337723){return _0x7afdbe(_0x337723,_0x1beab2-_0x20e916._0x5232e4);}return this['options'][_0xf1cd1d(_0xa97f8f._0x2a3fc5,0x196f)]??0x0;}set['roll'](_0x3ccf5a){function _0x16e7dc(_0x249840,_0x33e3df){return _0x54a7f1(_0x33e3df-0x10,_0x249840);}this[_0x16e7dc(0x33d,0x8c0)]['roll']=_0x3ccf5a;}['_removedHook'](){const _0x2af28a={_0x10ae4d:0xbf2};delete this['_graphic_rotate_z'];function _0x49cbef(_0x327990,_0x49c163){return _0x7afdbe(_0x49c163,_0x327990- -0x63f);}delete this['_graphic_rotate_x'],delete this[_0x49cbef(_0x2af28a._0x10ae4d,0xe73)],super['_removedHook']();}[_0x54a7f1(0x15b4,0x1111)](){const _0x36dade={_0x5d51de:0x889,_0x517783:0x17ff,_0x55bf38:0x139f,_0xeaab42:0x15be,_0xf0eff3:0x14c0,_0x55767a:0x16ba,_0x31c0b6:0x6f8,_0x1e0260:0xd7f,_0x2587ab:0x1544};this['_graphicLayer']['clear'](),this['_graphic_rotate_x']=new PolylinePrimitive({'positions':this['_positions_circle_x'],'style':{'width':0x8,'color':Cesium__namespace['Color'][_0x5f4384(0x1328,0xd17)],'depthFail':!![],'depthFailColor':Cesium__namespace[_0x5f4384(0x14e0,0x13a1)]['RED']['withAlpha'](0.5)},'attr':{'rotate':!![],'type':Cesium__namespace['Axis']['X']},'asynchronous':![]}),this['_graphicLayer'][_0x5f4384(0x122b,_0x36dade._0x5d51de)](this['_graphic_rotate_x']),this['_graphic_rotate_y']=new PolylinePrimitive({'positions':this[_0x5f4384(0xd48,_0x36dade._0x517783)],'style':{'width':0x8,'color':Cesium__namespace['Color']['GREEN'],'depthFail':!![],'depthFailColor':Cesium__namespace['Color'][_0x5f4384(_0x36dade._0x55bf38,_0x36dade._0xeaab42)]['withAlpha'](0.5)},'attr':{'rotate':!![],'type':Cesium__namespace['Axis']['Y']},'asynchronous':![]}),this[_0x2f8ad0(0x1411,_0x36dade._0xf0eff3)]['addGraphic'](this[_0x2f8ad0(0x7cf,0x108e)]);function _0x5f4384(_0x4ab20c,_0x57dd2f){return _0x54a7f1(_0x4ab20c-0x25c,_0x57dd2f);}this['_graphic_rotate_z']=new PolylinePrimitive({'positions':this['_positions_circle_z'],'style':{'width':0x8,'color':Cesium__namespace['Color']['BLUE'],'depthFail':!![],'depthFailColor':Cesium__namespace['Color']['BLUE']['withAlpha'](0.5)},'attr':{'rotate':!![],'type':Cesium__namespace['Axis']['Z']},'asynchronous':![]}),this['_graphicLayer'][_0x5f4384(0x122b,0xc42)](this['_graphic_rotate_z']);const _0x138ed2={};_0x138ed2['width']=0x3,_0x138ed2['arcType']=Cesium__namespace['ArcType']['NONE'],_0x138ed2[_0x2f8ad0(0x6c,0x333)]=PolylineDash,_0x138ed2['color']=Cesium__namespace[_0x5f4384(0x14e0,0x137c)][_0x5f4384(_0x36dade._0x55767a,0x120e)],_0x138ed2['depthFail']=!![];function _0x2f8ad0(_0x24010b,_0x1d7f8a){return _0x7afdbe(_0x24010b,_0x1d7f8a- -0x1a3);}const _0x140fa1={};_0x140fa1['positions']=[],_0x140fa1[_0x5f4384(_0x36dade._0x31c0b6,0x1c0)]=_0x138ed2,_0x140fa1['asynchronous']=![],_0x140fa1['show']=![],this['_graphic_dragger_ing']=new PolylinePrimitive(_0x140fa1),this[_0x2f8ad0(_0x36dade._0x1e0260,0x14c0)][_0x2f8ad0(_0x36dade._0x2587ab,0x105a)](this[_0x5f4384(0x1397,0xd20)]);}['_initByPosition'](){const _0x53bcf7={_0x4fc298:0x13d1,_0x3d0e3d:0x1292,_0x318b3e:0x17b8,_0x23388d:0xa13,_0xd98d30:0xa1c,_0x446d09:0x119f,_0x409885:0x13e2,_0x2374a1:0x95f,_0x3ad2ee:0x9ea,_0x4af5b7:0x1dcf,_0x2931d2:0x132e,_0x277ef7:0x160e};this['modelToWorld']=Cesium__namespace['Transforms'][_0x559e3d(_0x53bcf7._0x4fc298,0x153b)](this['position']),this[_0x559e3d(0xa2d,0x3a9)]=Cesium__namespace['Matrix4'][_0x559e3d(0x1545,_0x53bcf7._0x3d0e3d)](this[_0xb1fd3d(0x13d1,_0x53bcf7._0x318b3e)],new Cesium__namespace['Matrix4']()),this['matrix']=this[_0xb1fd3d(0x133c,0x17b8)]['clone'](),this[_0xb1fd3d(_0x53bcf7._0x23388d,0x8e3)]=Cesium__namespace['Matrix4'][_0x559e3d(0x1545,0xe07)](this['matrix'],new Cesium__namespace['Matrix4']());function _0x559e3d(_0x5e06f7,_0x5cf0e2){return _0x54a7f1(_0x5e06f7-0x137,_0x5cf0e2);}function _0xb1fd3d(_0x39cc88,_0x1f8ba1){return _0x7afdbe(_0x39cc88,_0x1f8ba1- -0x133);}this['normalX']=Cesium__namespace[_0xb1fd3d(_0x53bcf7._0xd98d30,0x4d3)]['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3']['UNIT_X'],new Cesium__namespace[(_0xb1fd3d(_0x53bcf7._0x446d09,_0x53bcf7._0x409885))]()),this['normalY']=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],Cesium__namespace[_0x559e3d(0x141e,_0x53bcf7._0x2374a1)]['UNIT_Y'],new Cesium__namespace[(_0x559e3d(0x141e,0x1090))]()),this[_0xb1fd3d(0xdfd,_0x53bcf7._0x3ad2ee)]=Cesium__namespace['Matrix4'][_0x559e3d(0x1319,_0x53bcf7._0x4af5b7)](this['matrix'],Cesium__namespace['Cartesian3'][_0xb1fd3d(0x1a0f,_0x53bcf7._0x2931d2)],new Cesium__namespace[(_0x559e3d(0x141e,_0x53bcf7._0x277ef7))]()),this['_positions_circle_z']=[],this['_positions_circle_x']=[],this['_positions_circle_y']=[];}['_updatePositionHook'](_0x3e73bc){const _0x28b180={_0x1bd86e:0xad3,_0x47f35d:0x633,_0x4fdde1:0x181,_0x105e2a:0x66e,_0x4c5c5c:0x3,_0x2f1255:0x804,_0x4ec6b7:0x66b,_0x53141a:0x94d,_0x447211:0xebb,_0x1783dc:0xf0d,_0xb94480:0x8d4,_0x23f620:0xf05,_0x1b51cf:0x511,_0x596934:0x6cc,_0x58d968:0xa4,_0x29f6c7:0x5f6,_0x5051e0:0x11bf,_0x3141c5:0xb40,_0x239863:0x13b,_0x53800e:0xf7d},_0x5b3908={_0x524003:0x608},_0x25f3ce={_0x5dcddb:0x3e2};if(!this[_0x6d0bec(_0x28b180._0x1bd86e,0x3f9)])return;function _0x5d8d9d(_0x1a2e9d,_0x5977f0){return _0x54a7f1(_0x5977f0- -_0x25f3ce._0x5dcddb,_0x1a2e9d);}const _0x183169=this['position']['clone']();if(_0x3e73bc){const _0x587d17=new Cesium__namespace[(_0x5d8d9d(-0x235,-0xa))]['multiplyByPoint'](this['_map']['camera'][_0x6d0bec(0xdaf,_0x28b180._0x47f35d)],_0x183169,new Cesium__namespace['Cartesian3']()),_0x32bacb=-_0x587d17['z']*Math['tan'](this[_0x5d8d9d(0x365,0x3f1)][_0x6d0bec(0xa37,_0x28b180._0x4fdde1)]['frustum'][_0x6d0bec(0xdf5,0xa6a)]/0x2)*0x2,_0x387601=_0x32bacb/this[_0x6d0bec(-_0x28b180._0x105e2a,0x3f9)]['canvas']['width'];this['radius']=this['options']['radius']*_0x387601;}function _0x6d0bec(_0xd3b0e5,_0x5e8ade){return _0x7afdbe(_0xd3b0e5,_0x5e8ade- -_0x5b3908._0x524003);}this['_positions_circle_z']=[],this[_0x6d0bec(0x183c,0xf85)]=[],this['_positions_circle_y']=[];for(let _0x3159df=0x0;_0x3159df<=0x168;_0x3159df++){const _0x4aba9c=this[_0x6d0bec(-0x711,-0x3)]*Math[_0x5d8d9d(0x18ec,0x1372)](_0x3159df/0xb4*Math['PI']),_0x1c8305=this[_0x6d0bec(0x8b4,-_0x28b180._0x4c5c5c)]*Math[_0x6d0bec(0x8a4,0x9a)](_0x3159df/0xb4*Math['PI']),_0x11655a=new Cesium__namespace['Cartesian3']();Cesium__namespace[_0x5d8d9d(_0x28b180._0x2f1255,0xf05)]['add'](_0x183169,Cesium__namespace['Cartesian3']['multiplyByScalar'](this['normalX'],_0x4aba9c,new Cesium__namespace['Cartesian3']()),_0x11655a),Cesium__namespace[_0x5d8d9d(0x147f,0xf05)]['add'](_0x11655a,Cesium__namespace['Cartesian3']['multiplyByScalar'](this['normalY'],_0x1c8305,new Cesium__namespace[(_0x6d0bec(_0x28b180._0x4ec6b7,0xf0d))]()),_0x11655a),this['_positions_circle_z']['push'](_0x11655a);const _0x510d9c=new Cesium__namespace['Cartesian3']();Cesium__namespace[_0x5d8d9d(_0x28b180._0x53141a,0xf05)]['add'](_0x183169,Cesium__namespace['Cartesian3']['multiplyByScalar'](this['normalX'],_0x4aba9c,new Cesium__namespace['Cartesian3']()),_0x510d9c),Cesium__namespace['Cartesian3'][_0x6d0bec(-0x3f4,0x2b6)](_0x510d9c,Cesium__namespace['Cartesian3'][_0x5d8d9d(0xa1e,0xa4)](this['normalZ'],_0x1c8305,new Cesium__namespace[(_0x6d0bec(_0x28b180._0x447211,_0x28b180._0x1783dc))]()),_0x510d9c),this['_positions_circle_x']['push'](_0x510d9c);const _0x2c3431=new Cesium__namespace[(_0x5d8d9d(_0x28b180._0xb94480,_0x28b180._0x23f620))]();Cesium__namespace['Cartesian3'][_0x6d0bec(_0x28b180._0x1b51cf,0x2b6)](_0x183169,Cesium__namespace['Cartesian3'][_0x5d8d9d(-_0x28b180._0x596934,_0x28b180._0x58d968)](this[_0x5d8d9d(_0x28b180._0x29f6c7,0x5ff)],_0x4aba9c,new Cesium__namespace[(_0x5d8d9d(_0x28b180._0x5051e0,0xf05))]()),_0x2c3431),Cesium__namespace['Cartesian3']['add'](_0x2c3431,Cesium__namespace[_0x6d0bec(0x1318,0xf0d)]['multiplyByScalar'](this['normalZ'],_0x1c8305,new Cesium__namespace['Cartesian3']()),_0x2c3431),this['_positions_circle_y'][_0x6d0bec(0x86c,0xb2e)](_0x2c3431);}this[_0x5d8d9d(0x1238,0xb40)]&&(this[_0x5d8d9d(0x1449,_0x28b180._0x3141c5)]['positions']=this['_positions_circle_z']),this[_0x5d8d9d(0xa8e,_0x28b180._0x239863)]&&(this['_graphic_rotate_x']['positions']=this[_0x5d8d9d(0x15c0,_0x28b180._0x53800e)]),this['_graphic_rotate_y']&&(this['_graphic_rotate_y']['positions']=this['_positions_circle_y']);}[_0x7afdbe(0x213,0xc1b)](_0x31317e){const _0x3660ea={_0x1f7496:0xcd2,_0x2e21a9:0x6ca,_0x5059e8:0xb04,_0x2e8924:0x2e6,_0xd65cc1:0x183b,_0x3db636:0x2348,_0xbc1560:0x1821,_0x51684a:0x7bc,_0x29f3cd:0x173,_0x1476e2:0xc0f,_0x96b5f9:0x4b4,_0x45aec0:0x12d0,_0x52e21e:0x1656,_0x51fc5e:0xcb7,_0x5b75ba:0x1396,_0xdf9e09:0x494,_0x176b43:0x4d9,_0x4c6d43:0x3c1,_0x3a8837:0x19e,_0x17f304:0x987,_0x4a6b6f:0x170b,_0x49baf9:0x58c,_0xdf57db:0xa00,_0x231632:0x817,_0x160605:0x99c,_0x26d40c:0x149b,_0x578e2b:0xa0a,_0x3599cd:0x1396,_0x1fde37:0xf2a,_0x172f30:0x2ad,_0x369d25:0xfe2,_0x59f5af:0x163a,_0x37b29a:0x1846,_0x3ccd89:0x1460,_0x10bc7a:0x102f,_0x2d18cc:0x18ff,_0x53b76a:0x13f9,_0x7ccaaa:0xf19,_0x4657aa:0xcaf,_0x205cb2:0xe75,_0x240fdf:0x5cb,_0x586f11:0x13b2,_0x27d0d1:0x18e5},_0xf498a8={_0x3bf759:0x17},_0xa62d00={_0x17e1a0:0x1b4},_0x418269=_0x31317e['startPosition'],_0x901efe=_0x31317e['endPosition'],_0x21dc2c=new Cesium__namespace[(_0x12088a(0xf3a,0x58c))][(_0x3f350b(_0x3660ea._0x1f7496,_0x3660ea._0x2e21a9))](this['_map'][_0x12088a(_0x3660ea._0x5059e8,0x70f)]['viewMatrix'],this['position'],new Cesium__namespace['Cartesian3']()),_0x10fb92=-_0x21dc2c['z']*Math['tan'](this['_map']['camera']['frustum']['fov']/0x2)*0x2;let _0x37dfeb=_0x10fb92/this[_0x3f350b(0x7bc,-_0x3660ea._0x2e8924)][_0x3f350b(0x8cb,0x123b)]['width'];const _0xd99ffb=new Cesium__namespace['Cartesian3'](0x1,0x1,0x1);let _0x1048b9;const _0x5a9691=this['_graphic'][_0x12088a(0x1c37,_0x3660ea._0xd65cc1)]['type'];function _0x12088a(_0x4feb2d,_0x17f0f1){return _0x54a7f1(_0x17f0f1-_0xa62d00._0x17e1a0,_0x4feb2d);}_0x5a9691===Cesium__namespace[_0x12088a(_0x3660ea._0x3db636,0x18ff)]['Z']&&(_0xd99ffb['z']=0x0,_0x1048b9=Cesium__namespace['Cartesian3'][_0x12088a(0x211f,_0x3660ea._0xbc1560)](Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],new Cesium__namespace['Cartesian3'](0x0,0x0,0x1),new Cesium__namespace[(_0x3f350b(0x12d0,0xe61))]()),this[_0x3f350b(_0x3660ea._0x51684a,-_0x3660ea._0x29f3cd)]['camera'][_0x3f350b(_0x3660ea._0x1476e2,_0x3660ea._0x96b5f9)]));_0x5a9691===Cesium__namespace['Axis']['X']&&(_0xd99ffb['y']=0x0,_0x1048b9=Cesium__namespace[_0x3f350b(_0x3660ea._0x45aec0,0x1340)][_0x3f350b(_0x3660ea._0x52e21e,0x1f35)](Cesium__namespace[_0x3f350b(0x3c1,_0x3660ea._0x51fc5e)][_0x12088a(0x1d31,_0x3660ea._0x5b75ba)](this['matrix'],new Cesium__namespace['Cartesian3'](0x0,0x1,0x0),new Cesium__namespace[(_0x3f350b(0x12d0,0x8a3))]()),this[_0x12088a(_0x3660ea._0xdf9e09,0x987)][_0x3f350b(0x544,-_0x3660ea._0x176b43)]['direction']));_0x5a9691===Cesium__namespace['Axis']['Y']&&(_0xd99ffb['x']=0x0,_0x1048b9=Cesium__namespace['Cartesian3'][_0x12088a(0xede,0x1821)](Cesium__namespace[_0x3f350b(_0x3660ea._0x4c6d43,0x2db)]['multiplyByPointAsVector'](this['matrix'],new Cesium__namespace['Cartesian3'](0x1,0x0,0x0),new Cesium__namespace[(_0x3f350b(0x12d0,0xb4b))]()),this['_map'][_0x3f350b(0x544,0x79a)]['direction']));Math['abs'](_0x1048b9-Math['PI']/0x2)<0.1&&(_0x37dfeb=0x1,_0x21dc2c['z']=0x0);let _0x4b2bf3=new Cesium__namespace['Cartesian3']((_0x418269['x']-this['_map']['canvas']['width']/0x2)*_0x37dfeb,(-_0x418269['y']+this['_map'][_0x3f350b(0x8cb,_0x3660ea._0x3a8837)][_0x3f350b(0x650,0x915)]/0x2)*_0x37dfeb,_0x21dc2c['z']),_0x2712ca=new Cesium__namespace['Cartesian3']((_0x901efe['x']-this[_0x12088a(0x22a,_0x3660ea._0x17f304)]['canvas'][_0x12088a(0xe18,_0x3660ea._0x4a6b6f)]/0x2)*_0x37dfeb,(-_0x901efe['y']+this['_map']['canvas']['height']/0x2)*_0x37dfeb,_0x21dc2c['z']);Cesium__namespace['Matrix4']['multiplyByPoint'](this['_map']['camera']['inverseViewMatrix'],_0x4b2bf3,_0x4b2bf3),Cesium__namespace[_0x3f350b(0x3c1,0xc9c)]['multiplyByPoint'](this['_map']['camera']['inverseViewMatrix'],_0x2712ca,_0x2712ca),Cesium__namespace[_0x12088a(0xf40,_0x3660ea._0x49baf9)][_0x3f350b(0xcd2,0x344)](this[_0x3f350b(0x7d1,0xc5a)],_0x4b2bf3,_0x4b2bf3),Cesium__namespace['Matrix4'][_0x12088a(_0x3660ea._0xdf57db,0xe9d)](this[_0x12088a(_0x3660ea._0x231632,_0x3660ea._0x160605)],_0x2712ca,_0x2712ca),_0x4b2bf3=new Cesium__namespace['Cartesian3'](_0x4b2bf3['x']*_0xd99ffb['x'],_0x4b2bf3['y']*_0xd99ffb['y'],_0x4b2bf3['z']*_0xd99ffb['z']),_0x2712ca=new Cesium__namespace['Cartesian3'](_0x2712ca['x']*_0xd99ffb['x'],_0x2712ca['y']*_0xd99ffb['y'],_0x2712ca['z']*_0xd99ffb['z']),_0x1048b9=Cesium__namespace[_0x12088a(0x1dfc,_0x3660ea._0x26d40c)]['angleBetween'](_0x4b2bf3,_0x2712ca);let _0x2ddce9;if(_0x5a9691===Cesium__namespace['Axis']['Z']){const _0x1de63d=_0x4b2bf3['x']*_0x2712ca['y']-_0x4b2bf3['y']*_0x2712ca['x'];_0x2ddce9=Cesium__namespace['Matrix4'][_0x12088a(_0x3660ea._0x578e2b,_0x3660ea._0x3599cd)](this[_0x12088a(0xf88,0xaaa)],this['normalZ'],new Cesium__namespace['Cartesian3']()),_0x1de63d>0x0&&(_0x1048b9=-_0x1048b9),this['heading']=(this['heading']+Cesium__namespace['Math'][_0x3f350b(_0x3660ea._0x1fde37,0x130a)](_0x1048b9))%0x168;}else{if(_0x5a9691===Cesium__namespace[_0x12088a(0x13c6,0x18ff)]['X']){const _0x36aa30=_0x4b2bf3['x']*_0x2712ca['z']-_0x4b2bf3['z']*_0x2712ca['x'];_0x2ddce9=Cesium__namespace[_0x12088a(_0x3660ea._0x172f30,0x58c)]['multiplyByPointAsVector'](this['worldToModel'],this['normalY'],new Cesium__namespace[(_0x3f350b(0x12d0,_0x3660ea._0x369d25))]()),_0x36aa30>0x0&&(_0x1048b9=-_0x1048b9),this['pitch']=(this[_0x12088a(_0x3660ea._0x59f5af,_0x3660ea._0x37b29a)]+Cesium__namespace[_0x12088a(0x1303,_0x3660ea._0x3ccd89)][_0x3f350b(0xf2a,_0x3660ea._0x10bc7a)](_0x1048b9))%0x168;}else{if(_0x5a9691===Cesium__namespace[_0x12088a(0x1cc1,_0x3660ea._0x2d18cc)]['Y']){const _0x1452d5=_0x4b2bf3['y']*_0x2712ca['z']-_0x4b2bf3['z']*_0x2712ca['y'];_0x2ddce9=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this[_0x12088a(0x967,0xaaa)],this['normalX'],new Cesium__namespace['Cartesian3']()),_0x1452d5<0x0&&(_0x1048b9=-_0x1048b9),this['roll']=(this['roll']+Cesium__namespace['Math'][_0x3f350b(0xf2a,0x74c)](_0x1048b9))%0x168;}}}const _0x2764f2=Cesium__namespace['Matrix3']['inverse'](this['rotateMatrix'],new Cesium__namespace['Matrix3']()),_0x48dc99=Cesium__namespace['Matrix3']['multiplyByVector'](_0x2764f2,_0x2ddce9,new Cesium__namespace[(_0x12088a(0xc78,0x149b))]()),_0x168863=this['_axisRotation'](_0x48dc99,_0x1048b9);Cesium__namespace[_0x3f350b(_0x3660ea._0x53b76a,_0x3660ea._0x7ccaaa)][_0x12088a(_0x3660ea._0x4657aa,0xbfd)](this['rotateMatrix'],_0x168863,this['rotateMatrix']);const _0x2aba87={..._0x31317e};_0x2aba87[_0x3f350b(_0x3660ea._0x205cb2,_0x3660ea._0x240fdf)]=_0x5a9691,_0x2aba87[_0x12088a(_0x3660ea._0x586f11,0x1895)]=this['position'],_0x2aba87[_0x3f350b(0x2f6,-0x331)]=this['heading'];function _0x3f350b(_0x677c4a,_0x58e74c){return _0x54a7f1(_0x677c4a- -_0xf498a8._0x3bf759,_0x58e74c);}_0x2aba87['pitch']=this['pitch'],_0x2aba87[_0x3f350b(0x171a,0x1333)]=this[_0x12088a(0x1d04,_0x3660ea._0x27d0d1)];const _0x3a7869=_0x2aba87;this[_0x12088a(0x882,0x11c3)](_0x3a7869);}[_0x7afdbe(0xa0b,0xe61)](_0x5857fc){}}class EditBase{constructor(_0x50ebb0){const _0x5f2c1e={_0x313313:0x50b,_0x14d685:0x87e},_0x11edd9={_0x5ac206:0x183};this['_graphic']=_0x50ebb0;function _0x57fcc7(_0x5deec2,_0x128026){return _0x7afdbe(_0x5deec2,_0x128026- -_0x11edd9._0x5ac206);}this['_map']=_0x50ebb0[_0x57fcc7(_0x5f2c1e._0x313313,_0x5f2c1e._0x14d685)],this['draggers']=[];}get[_0x54a7f1(0xba3,0x952)](){return this['_enabled'];}get['map'](){function _0x28dd78(_0x38c119,_0x316076){return _0x54a7f1(_0x316076-0x7e,_0x38c119);}return this[_0x28dd78(0xd71,0x851)];}get['layer'](){const _0x519167={_0x46ae8f:0x1013,_0x558807:0x1268,_0x9a9b93:0x1a02};function _0x4d5d86(_0x4f512c,_0x521c50){return _0x7afdbe(_0x4f512c,_0x521c50- -0x706);}function _0x2309b3(_0x77d0d6,_0x5ed9f4){return _0x7afdbe(_0x5ed9f4,_0x77d0d6- -0x47d);}return this[_0x2309b3(_0x519167._0x46ae8f,_0x519167._0x558807)][_0x4d5d86(_0x519167._0x9a9b93,0x1155)];}get['type'](){return this['_graphic']['type'];}get['style'](){return this['_graphic']['style'];}get['options'](){return this['_graphic']['options'];}get[_0x7afdbe(0xccc,0x1797)](){const _0x3cf104={_0x11b9db:0x42c},_0x25f386={_0x190f0d:0xaa};function _0x54a714(_0x246415,_0x25f0a1){return _0x54a7f1(_0x246415- -_0x25f386._0x190f0d,_0x25f0a1);}function _0x2089f6(_0x5fd9d1,_0x54e8aa){return _0x54a7f1(_0x54e8aa- -_0x3cf104._0x11b9db,_0x5fd9d1);}var _0x142309;return(_0x142309=this[_0x2089f6(0x995,0xe36)])===null||_0x142309===void 0x0||(_0x142309=_0x142309[_0x2089f6(-0x80c,0x70)])===null||_0x142309===void 0x0?void 0x0:_0x142309['clampToGround'];}get['entityGraphic'](){return this['_graphic']['entityGraphic'];}get[_0x7afdbe(0x18b0,0x17f5)](){const _0x1930d4={_0x52ebff:0xd38};function _0xabde65(_0x48068c,_0x49aacd){return _0x54a7f1(_0x48068c- -0x361,_0x49aacd);}return Boolean(this[_0xabde65(0x10e3,_0x1930d4._0x52ebff)]);}get['hasMoveMatrix'](){const _0x3993d0={_0x53c4d6:0x335};function _0x3bbb10(_0x25f0d6,_0xf437b){return _0x7afdbe(_0xf437b,_0x25f0d6- -_0x3993d0._0x53c4d6);}return Boolean(this[_0x3bbb10(0x57e,0xb48)]);}get['isScene2D'](){const _0x3963c0={_0x4fe32a:0x1677,_0xc1201c:0x1885},_0x526443={_0xc2cf3e:0x25f};function _0x5ba89f(_0x4fa7e4,_0x57cbe6){return _0x54a7f1(_0x4fa7e4- -0x1e5,_0x57cbe6);}function _0x3f4ccf(_0x1f91c6,_0x4d17b9){return _0x54a7f1(_0x4d17b9-_0x526443._0xc2cf3e,_0x1f91c6);}return this['_map'][_0x5ba89f(0xe9a,0x1240)][_0x5ba89f(0x2ae,-0x42c)]===Cesium__namespace['SceneMode'][_0x3f4ccf(_0x3963c0._0x4fe32a,_0x3963c0._0xc1201c)];}[_0x7afdbe(0x13d4,0x10e6)](_0x153166,_0x1e61b5={},_0x51d6af=!![]){const _0x42d35d={_0x1f5eda:0xa9d,_0x3495d2:0x806,_0x2fcca8:0xe1a},_0x3d66e0={_0x1f5e83:0x4a3};function _0x4f0076(_0x28ee84,_0x3c7dd4){return _0x7afdbe(_0x28ee84,_0x3c7dd4- -0x185);}if(!this[_0x4f0076(0xa7e,0x130b)][_0x51197a(_0x42d35d._0x1f5eda,0x4c2)])return;function _0x51197a(_0x1461e9,_0x149044){return _0x54a7f1(_0x149044- -_0x3d66e0._0x1f5e83,_0x1461e9);}if(this[_0x51197a(_0x42d35d._0x3495d2,0xdbf)]){const _0x4df458=this['_graphic']['parent'];_0x1e61b5[_0x4f0076(0x6de,0xf35)]=this['type'],this['_graphic']['fire'](_0x153166,_0x1e61b5,_0x51d6af),_0x4df458&&(_0x1e61b5['editType']=_0x4df458['type'],_0x4df458[_0x4f0076(_0x42d35d._0x2fcca8,0xf61)](_0x153166,_0x1e61b5,_0x51d6af));}}['formatNum'](_0x32fa8c,_0x73ba2b){return formatNum$1(_0x32fa8c,_0x73ba2b);}['activate'](){const _0x1a46ee={_0x130016:0x8bc,_0x5ed3ae:0x314,_0x422b2c:0x1547,_0xbc1867:0x187d,_0x13eb83:0xa59,_0x15883f:0x5b1,_0x79118c:0xb3,_0x3938d7:0x13b0,_0x4c9048:0x1dfb,_0x154d80:0x125a,_0x524b13:0x353},_0x19ee44={_0x2a2069:0x46c};if(this[_0x21f490(_0x1a46ee._0x130016,_0x1a46ee._0x5ed3ae)])return this;this[_0x213ffc(0xc65,_0x1a46ee._0x422b2c)]=!![];this['_graphic']['_setPositionsToCallback']&&this['_graphic']['_setPositionsToCallback']();function _0x21f490(_0x106d24,_0x55693b){return _0x7afdbe(_0x55693b,_0x106d24- -_0x19ee44._0x2a2069);}this[_0x213ffc(_0x1a46ee._0xbc1867,0x1e61)]();function _0x213ffc(_0x26591c,_0x5891c7){return _0x54a7f1(_0x26591c-0x16b,_0x5891c7);}this['bindDraggers'](),this[_0x213ffc(0x1011,0x6ad)]();if(this[_0x21f490(0x672,_0x1a46ee._0x13eb83)]['hasEditRevoke']??!![]){if(this['position']&&this['position'][_0x21f490(_0x1a46ee._0x15883f,0xcea)])this[_0x21f490(0x13b0,0xde8)]=[this[_0x213ffc(0x184c,0x1592)][_0x21f490(0x5b1,-_0x1a46ee._0x79118c)]()],this['_position_first']=this[_0x21f490(_0x1a46ee._0x3938d7,_0x1a46ee._0x4c9048)][0x0];else this['positions']&&this[_0x213ffc(_0x1a46ee._0x154d80,0x1a14)][_0x213ffc(0x10f0,0xa30)]>0x0&&(this['_positions_steps']=[clonePostions(this['positions'])],this['_positions_first']=this['_positions_steps'][0x0]);}return this[_0x21f490(0xc7a,_0x1a46ee._0x524b13)](EventType['editStart']),this;}[_0x54a7f1(0x11f8,0x1949)](){const _0x19cccf={_0x5260af:0xdf1,_0x3fad46:0x6da,_0x3f3482:0x742,_0x263576:0x31c,_0x1a2a0f:0x304,_0x4ed23b:0x988,_0x598c36:0x120d,_0x293f40:0xb26},_0x5f20d2={_0x2b6aa8:0x420};var _0x1e1920;if(!this[_0x24bfb2(_0x19cccf._0x5260af,_0x19cccf._0x3fad46)])return this;this[_0x13338e(_0x19cccf._0x3f3482,0x7de)]=![],this[_0x24bfb2(0xfbe,0xfd2)](),this[_0x24bfb2(_0x19cccf._0x263576,_0x19cccf._0x1a2a0f)](),this[_0x24bfb2(0x2d8,0x433)](),this['destroyDraggers'](),this['finish']();function _0x13338e(_0x26527c,_0x82e9fc){return _0x7afdbe(_0x26527c,_0x82e9fc- -0x54a);}function _0x24bfb2(_0x45b60a,_0x393ce9){return _0x54a7f1(_0x393ce9- -_0x5f20d2._0x2b6aa8,_0x45b60a);}return delete this[_0x13338e(_0x19cccf._0x4ed23b,-0x77)],delete this['_position_steps'],delete this['_positions_first'],delete this['_positions_steps'],(_0x1e1920=this['_graphic'])!==null&&_0x1e1920!==void 0x0&&(_0x1e1920=_0x1e1920[_0x24bfb2(0xdd8,_0x19cccf._0x598c36)])!==null&&_0x1e1920!==void 0x0&&(_0x1e1920=_0x1e1920['options'])!==null&&_0x1e1920!==void 0x0&&_0x1e1920[_0x24bfb2(_0x19cccf._0x293f40,0xdd6)]&&this[_0x24bfb2(0xbcb,0xe42)][_0x13338e(0xe66,0x121c)](),this[_0x13338e(0x12eb,0xb9c)](EventType[_0x24bfb2(0x517,0x811)]),this;}[_0x7afdbe(0x3c5,0xe7c)](){const _0x4dc7b7={_0x181bb2:0x128e,_0x5e491f:0x114e,_0x119a7a:0xf0b,_0x3b18d0:0x1611};function _0x2c02ec(_0x110084,_0x363c52){return _0x7afdbe(_0x363c52,_0x110084- -0x208);}if(this['_position_first'])return!this['_position_first']['equals'](this['position']);else{if(this['_positions_first']){const _0x2773aa=this['_positions_first'],_0x2d2627=this[_0x5980f4(0x1cd7,0x12b8)];if(_0x2773aa['length']!==_0x2d2627[_0x5980f4(0xe89,0x114e)])return!![];for(let _0x1c579b=0x0;_0x1c579b<_0x2d2627[_0x5980f4(_0x4dc7b7._0x181bb2,_0x4dc7b7._0x5e491f)];_0x1c579b++){if(!_0x2d2627[_0x1c579b][_0x2c02ec(_0x4dc7b7._0x119a7a,_0x4dc7b7._0x3b18d0)](_0x2773aa[_0x1c579b]))return!![];}}}function _0x5980f4(_0x109b18,_0xd6e3a5){return _0x54a7f1(_0xd6e3a5-0x1c9,_0x109b18);}return![];}['restore'](){const _0x3b8a2d={_0x10284b:0xd06,_0x1a1921:0x3fe,_0x4726d1:0x12bf,_0xa6f0ad:0x129c,_0x33d1d1:0x12da,_0x4df107:0x876,_0xe46304:0x1785,_0x4a920e:0x157f,_0x396bed:0x1015},_0x4408f2={_0x4fb6bd:0x159};let _0x206f04=![];function _0x7c4d01(_0x1ed5a9,_0x5676fc){return _0x54a7f1(_0x5676fc-_0x4408f2._0x4fb6bd,_0x1ed5a9);}function _0x4dcaad(_0x53b6ef,_0x3c658b){return _0x54a7f1(_0x53b6ef- -0x352,_0x3c658b);}if(this['_position_first'])this[_0x7c4d01(0x1787,0x183a)]=this[_0x7c4d01(_0x3b8a2d._0x10284b,_0x3b8a2d._0x1a1921)][_0x7c4d01(_0x3b8a2d._0x4726d1,0x948)](),this['_position_steps']=[this[_0x4dcaad(_0x3b8a2d._0xa6f0ad,0xeba)][0x0]],_0x206f04=!![];else this[_0x7c4d01(-0x31c,0x700)]&&(this[_0x7c4d01(0x1ce3,0x1248)]=clonePostions(this['_positions_first']),this[_0x4dcaad(_0x3b8a2d._0x33d1d1,_0x3b8a2d._0x4df107)]=[this[_0x7c4d01(0xcc7,_0x3b8a2d._0xe46304)][0x0]],_0x206f04=!![]);if(_0x206f04){this[_0x7c4d01(0x1a35,_0x3b8a2d._0x4a920e)](),this[_0x7c4d01(0xf74,0x10ae)]();const _0x472515={};_0x472515[_0x7c4d01(0xee8,_0x3b8a2d._0x396bed)]='restore',this['fire'](EventType[_0x4dcaad(0x1e3,0x622)],_0x472515);}return _0x206f04;}['hasRevoke'](){const _0x5bb2d0={_0x23cb1d:0x165e,_0x443dfb:0x166b};function _0x21212d(_0x578742,_0x150772){return _0x7afdbe(_0x578742,_0x150772- -0x292);}function _0x36c960(_0x3a1434,_0x8c6bd2){return _0x7afdbe(_0x8c6bd2,_0x3a1434- -0x566);}if(this['_position_steps'])return this['_position_steps'][_0x21212d(_0x5bb2d0._0x23cb1d,0xf21)]>0x1;else{if(this[_0x36c960(0x12f4,_0x5bb2d0._0x443dfb)])return this['_positions_steps']['length']>0x1;}return this;}[_0x54a7f1(0x34c,0xb34)](){const _0x71e313={_0xef8345:0x189e,_0x54ccdd:0x154a,_0x27e848:0x1cb0,_0xee2088:0x302,_0x4c76ad:0x15b4,_0x404798:0x1872,_0x63fb7e:0x16d6},_0x240b42={_0x241cca:0x2b0};function _0x36152a(_0x4ea091,_0x37a1cd){return _0x54a7f1(_0x4ea091- -0x78,_0x37a1cd);}let _0x496ce7=![];if(this['_position_steps']){if(this['_position_steps']['length']>0x1){this[_0x58f4a1(_0x71e313._0xef8345,0x11d4)][_0x36152a(_0x71e313._0x54ccdd,0x160e)]();const _0x43424f=this[_0x58f4a1(_0x71e313._0xef8345,0xe40)][this[_0x58f4a1(0x189e,0x235f)][_0x58f4a1(0x1235,_0x71e313._0x27e848)]-0x1];_0x43424f&&(this[_0x36152a(0x1669,0x11e7)]=_0x43424f[_0x58f4a1(0xa9f,_0x71e313._0xee2088)]()),_0x496ce7=!![];}}else{if(this['_positions_steps']){if(this[_0x36152a(_0x71e313._0x4c76ad,0x1e1e)]['length']>0x1){this['_positions_steps'][_0x58f4a1(_0x71e313._0x404798,0x2094)]();const _0x394962=this['_positions_steps'][this['_positions_steps']['length']-0x1];(_0x394962===null||_0x394962===void 0x0?void 0x0:_0x394962['length'])>0x0&&(this['positions']=clonePostions(_0x394962)),_0x496ce7=!![];}}}if(_0x496ce7){this[_0x58f4a1(_0x71e313._0x63fb7e,0x1cef)](),this['updateAttrForEditing']();const _0xdfc08f={};_0xdfc08f['tag']='revoke',this['fire'](EventType['editMovePoint'],_0xdfc08f);}function _0x58f4a1(_0x535ad6,_0x5f2dea){return _0x54a7f1(_0x535ad6-_0x240b42._0x241cca,_0x5f2dea);}return _0x496ce7;}['finish'](){}['bindEvent'](){const _0x1407cc={_0x2bbbfd:0xab2,_0x2565ca:0x10ee},_0x521771={_0x1167dc:0x288},_0x5a9210={_0x1f7c65:0x2ba};function _0x42250d(_0x10ed09,_0x16debc){return _0x7afdbe(_0x16debc,_0x10ed09- -_0x5a9210._0x1f7c65);}this['_map']['on'](EventType[_0x1b08a6(0x113,0xaa2)],this[_0x42250d(_0x1407cc._0x2bbbfd,0x897)],this),this[_0x1b08a6(0x643,0x54b)]['on'](EventType['mouseMove'],this[_0x1b08a6(0x256,0x771)],this);function _0x1b08a6(_0x48fb8c,_0x57449c){return _0x54a7f1(_0x57449c- -_0x521771._0x1167dc,_0x48fb8c);}this['_map']['on'](EventType['leftUp'],this[_0x1b08a6(_0x1407cc._0x2565ca,0x623)],this);}['unbindEvent'](){const _0xf69e6={_0x1bb581:0x915,_0x19904a:0xe6d,_0x15dd36:0x2d,_0x8afce8:0x490,_0x59cd93:0xf67,_0x2eae3f:0x1764,_0x3b023c:0x1859,_0x2f7c07:0x13a5},_0x4103db={_0x4bb638:0x142};function _0x245c5b(_0x20f6cb,_0x3c3eb9){return _0x54a7f1(_0x3c3eb9-0x143,_0x20f6cb);}this[_0x508e1d(0xf01,_0xf69e6._0x1bb581)]['off'](EventType[_0x245c5b(0x1040,_0xf69e6._0x19904a)],this['_onLeftDownHandler'],this),this['_map'][_0x245c5b(_0xf69e6._0x15dd36,_0xf69e6._0x8afce8)](EventType['mouseMove'],this['_onMouseMoveHandler'],this),this['_map']['off'](EventType['leftUp'],this['_onLeftUpHandler'],this);this['_hasChangeEnableInputs']&&(this['_map']['scene']['screenSpaceCameraController']['enableInputs']=!![],delete this[_0x508e1d(_0xf69e6._0x59cd93,0x67b)]);this['_map'][_0x245c5b(_0xf69e6._0x2eae3f,_0xf69e6._0x3b023c)](![]);function _0x508e1d(_0x20d076,_0x3b0d9b){return _0x54a7f1(_0x3b0d9b-_0x4103db._0x4bb638,_0x20d076);}!this['_graphic'][_0x508e1d(0x174d,0x1735)]&&(this[_0x245c5b(0x17db,_0xf69e6._0x2f7c07)][_0x508e1d(0x1e67,0x1735)]=!![]);}[_0x7afdbe(0x8bb,0xd6c)](_0x4710a0){const _0x1bd639={_0x4a65f9:0x7ef,_0x1d4aab:0x1867,_0x4ac565:0xe6e,_0x45f21d:0x1404,_0x1f3744:0x110f,_0x421aff:0xdfe,_0x4efcea:0x664,_0x245637:0x5d0,_0x5f5cf4:0xb71,_0x104170:0xdad,_0x56664f:0xadc},_0xf0b120={_0x5ac7f2:0x186};function _0x5d2094(_0x11daae,_0x532134){return _0x54a7f1(_0x532134- -0x16f,_0x11daae);}const _0x269ea1=this[_0xb32aed(0x959,_0x1bd639._0x4a65f9)]['mouseEvent']['getPickTarget'](_0x4710a0[_0xb32aed(_0x1bd639._0x1d4aab,_0x1bd639._0x4ac565)],_0x4710a0);if(_0x269ea1['layer']!==this['layer'])return;const _0x264d69=_0x269ea1===null||_0x269ea1===void 0x0?void 0x0:_0x269ea1['graphic'];if(!_0x264d69||!_0x264d69['_isDragger'])return;this['_map']['scene'][_0xb32aed(_0x1bd639._0x45f21d,0xa08)]['enableInputs']&&(this['_map']['scene'][_0x5d2094(0x124f,_0x1bd639._0x1f3744)]['enableInputs']=![],this['_hasChangeEnableInputs']=!![]);this[_0x5d2094(_0x1bd639._0x421aff,_0x1bd639._0x4efcea)]['_setEditCursor'](!![]);function _0xb32aed(_0x586edf,_0x5c9b24){return _0x54a7f1(_0x586edf-_0xf0b120._0x5ac7f2,_0x5c9b24);}_0x264d69[_0x5d2094(0xaed,0x72d)](),this[_0x5d2094(0x47d,0x2db)]=_0x264d69,this[_0xb32aed(_0x1bd639._0x245637,0x747)][_0x5d2094(0x17c6,0x1484)]=_0x264d69['options'][_0x5d2094(0x1431,_0x1bd639._0x5f5cf4)]??![],_0x264d69[_0x5d2094(-0x7b4,0x187)]&&_0x264d69['onDragStart'](_0x264d69,_0x269ea1['cartesian']||_0x264d69[_0x5d2094(0x1769,0x1572)]),this['fire'](EventType[_0x5d2094(0x1ea,0x715)],{..._0x4710a0,..._0x269ea1,'index':this['_draggerIng'][_0x5d2094(_0x1bd639._0x104170,_0x1bd639._0x56664f)]});}[_0x7afdbe(0x7ff,0xc27)](_0x360cef){function _0xac9b46(_0x5c0a0c,_0x1a0970){return _0x7afdbe(_0x1a0970,_0x5c0a0c- -0x711);}function _0x465f53(_0x4c1d0b,_0x455fac){return _0x54a7f1(_0x455fac-0x23d,_0x4c1d0b);}this[_0x465f53(0x386,0x687)]?this[_0xac9b46(0x5fa,0x488)](_0x360cef):this['_onMouseMoveMapHandler'](_0x360cef);}[_0x54a7f1(0xadd,0x12a3)](_0x208af4){const _0x902901={_0x39a218:0x787,_0x3e28e9:0x15df,_0xb47af8:0x739,_0x524189:0x21c,_0x358b80:0xf8,_0x5beb12:0x5f1,_0x7bd067:0x345,_0x33b879:0xec4,_0x3f53b2:0xda5,_0x31a296:0x10bb,_0x5b5f31:0x24a,_0x34f610:0x3fd,_0x49b95d:0x348,_0xe9e474:0xce5,_0xffec31:0x3f6,_0x2a21ac:0xdb6,_0x176fd0:0xe67,_0x1d575f:0x62e,_0x43e3e6:0xab7,_0x17ac62:0x10a7,_0x53cb5b:0x13ae,_0xea492e:0x3a2,_0x2cf0f3:0x28f,_0x28f374:0x1029},_0x39af2a={_0x3cd305:0x330},_0xd2c2c9={_0x597081:0x3e9};function _0x201301(_0x10eec7,_0x174c59){return _0x7afdbe(_0x10eec7,_0x174c59- -_0xd2c2c9._0x597081);}let _0x2b2fcd;function _0x37acc6(_0x19769d,_0x512c2a){return _0x7afdbe(_0x19769d,_0x512c2a- -_0x39af2a._0x3cd305);}switch(this['_draggerIng'][_0x37acc6(0x1cea,0x1279)]){case EditPointType['MoveHeight']:{var _0x1e6a74;const _0x1f50b5=_0x208af4[_0x37acc6(_0x902901._0x39a218,0x249)]['y']-_0x208af4[_0x37acc6(0xba5,0x55b)]['y'],_0x114a9d=getPositionValue(this['_draggerIng'][_0x37acc6(0x1322,_0x902901._0x3e28e9)],(_0x1e6a74=this['_map'])===null||_0x1e6a74===void 0x0?void 0x0:_0x1e6a74['clock']['currentTime']),_0x113a32=new Cesium__namespace['EllipsoidTangentPlane'](_0x114a9d),_0x329495=new Cesium__namespace[(_0x37acc6(0x293,0x873))](),_0x44ee9c=new Cesium__namespace['Cartesian3']();_0x329495['center']=_0x114a9d,_0x329495[_0x201301(-_0x902901._0xb47af8,_0x902901._0x524189)]=0x1;const _0x2b0902=this['_map']['scene']['frameState']['camera'][_0x201301(0x8e7,0x78f)](_0x329495,this['_map']['scene']['frameState']['context'][_0x201301(-_0x902901._0x358b80,_0x902901._0x5beb12)],this[_0x37acc6(-_0x902901._0x7bd067,0x6d1)][_0x201301(0x1196,_0x902901._0x33b879)]['frameState']['context'][_0x201301(0x120b,_0x902901._0x3f53b2)])*1.5;Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x113a32['zAxis'],-_0x1f50b5*_0x2b0902,_0x44ee9c),_0x2b2fcd=Cesium__namespace[_0x37acc6(_0x902901._0x31a296,0x11e5)]['clone'](_0x114a9d),Cesium__namespace['Cartesian3'][_0x201301(_0x902901._0x5b5f31,0x4d5)](_0x114a9d,_0x44ee9c,_0x2b2fcd),this[_0x37acc6(-_0x902901._0x34f610,0x348)]['position']=_0x2b2fcd;this[_0x201301(-0x633,0x28f)]['onDrag']&&this[_0x37acc6(-0x1b2,_0x902901._0x49b95d)]['onDrag'](this[_0x37acc6(_0x902901._0xe9e474,0x348)],_0x2b2fcd,_0x114a9d);this['updateAttrForEditing'](),this[_0x37acc6(_0x902901._0xffec31,_0x902901._0x2a21ac)](EventType['editStyle'],_0x208af4);break;}default:{let _0x1ee237=this['_map'][_0x201301(0x1171,_0x902901._0x176fd0)]('_释放后完成修改');this['_graphic']['_getExSmallTooltip']&&(_0x208af4['index']=this['_draggerIng']['index'],_0x1ee237+=this['_graphic'][_0x37acc6(_0x902901._0x1d575f,_0x902901._0x43e3e6)](_0x208af4));this[_0x37acc6(0x2b7,0x6d1)]['openSmallTooltip'](_0x208af4['endPosition'],_0x1ee237);let _0x4215b9=this[_0x201301(0xdc4,_0x902901._0x17ac62)]['_entity'];this[_0x201301(0x1422,_0x902901._0x53cb5b)]&&(_0x4215b9=null);this['_draggerIng'][_0x37acc6(0x8c0,0x1279)]===EditPointType[_0x37acc6(0x11e0,0x949)]?_0x2b2fcd=getCurrentMouseTerrainPosition(this['_map']['scene'],_0x208af4[_0x201301(0x8dc,0x190)]):_0x2b2fcd=getCurrentMousePosition(this[_0x37acc6(0x1079,0x6d1)]['scene'],_0x208af4['endPosition'],_0x4215b9);if(_0x2b2fcd){if(this['options']['updateDrawPosition']){_0x2b2fcd=this[_0x201301(-_0x902901._0xea492e,0x6f5)]['updateDrawPosition'](_0x2b2fcd,this);if(!_0x2b2fcd)return;}if(this['options']['validDrawPosition']){const _0x16dcd5=this['options']['validDrawPosition'](_0x2b2fcd,this['_graphic']);if(!_0x16dcd5)return;}this['_draggerIng']['position']=_0x2b2fcd,this[_0x201301(0xc99,_0x902901._0x2cf0f3)]['onDrag']&&this['_draggerIng'][_0x201301(-0x678,0x283)](this['_draggerIng'],_0x2b2fcd),this['updateAttrForEditing']();}}break;}this[_0x37acc6(_0x902901._0x28f374,0xdb6)](EventType['editMouseMove'],{..._0x208af4,'index':this['_draggerIng']['index'],'cartesian':_0x2b2fcd,'windowPosition':_0x208af4[_0x201301(-0x2b2,0x190)]});}['_onMouseMoveMapHandler'](_0x2b7273){const _0xcc9877={_0x5cc09d:0x247,_0x59a201:0x114,_0x13d51e:0x452,_0x5e9085:0x131d,_0x35fdb9:0x907,_0x42a74c:0x15a,_0x1e09aa:0x1398,_0x5e6889:0xfce,_0x44375f:0x754};function _0x4da41f(_0x414a2c,_0x40c784){return _0x54a7f1(_0x40c784- -0x381,_0x414a2c);}function _0x1278d3(_0x4d5ad5,_0x25de35){return _0x7afdbe(_0x25de35,_0x4d5ad5- -0xf8);}var _0x1599bb,_0x4ccbd7;const _0x431a3c=this['_map']['mouseEvent'][_0x1278d3(0xf8c,0x154d)](_0x2b7273['endPosition'],_0x2b7273),_0x3e9dcf=_0x431a3c===null||_0x431a3c===void 0x0?void 0x0:_0x431a3c[_0x4da41f(-0x18,_0xcc9877._0x5cc09d)];if(_0x3e9dcf==null){this[_0x4da41f(_0xcc9877._0x59a201,_0xcc9877._0x13d51e)][_0x1278d3(0xecb,0x760)]();return;}if(_0x431a3c[_0x1278d3(0x1450,0x1208)]!==this['layer']||!_0x3e9dcf[_0x1278d3(0xd96,0xfbd)])return;if(this[_0x1278d3(0x909,0x543)]['contextmenu']['show']&&this['_map']['contextmenu']['target']===_0x3e9dcf)return;let _0x27c13c=_0x3e9dcf['_draw_tooltip'];if(!_0x27c13c)return;EditPointType[_0x1278d3(0xa96,0x389)]===_0x3e9dcf[_0x4da41f(_0xcc9877._0x5e9085,0xffa)]&&((_0x1599bb=this['_graphic'])===null||_0x1599bb===void 0x0||(_0x1599bb=_0x1599bb[_0x1278d3(_0xcc9877._0x35fdb9,-_0xcc9877._0x42a74c)])===null||_0x1599bb===void 0x0?void 0x0:_0x1599bb['length'])>this['_graphic']['_minPointNum']&&(((_0x4ccbd7=this[_0x1278d3(_0xcc9877._0x1e09aa,_0xcc9877._0x5e6889)][_0x4da41f(0x53a,0x52f)])===null||_0x4ccbd7===void 0x0?void 0x0:_0x4ccbd7['hasEditContextMenu'])??!![])&&(_0x27c13c+='<br/>'+this[_0x1278d3(0x909,_0xcc9877._0x44375f)]['getLangText']('_右击删除点')),this['_map']['openSmallTooltip'](_0x2b7273['endPosition'],_0x27c13c);}['_onLeftUpHandler'](_0x4773e4){const _0x92f97a={_0x5a0f56:0x756,_0x56b115:0xd1,_0x18fbb2:0x494,_0x27ac7f:0x62d,_0x350265:0x4f,_0x4e1113:0xc84},_0x2f2ac0={_0x4c3f4d:0x4b1},_0x45fed1={_0x54ea8f:0x629};var _0x15bf6a;function _0x2b6e60(_0x49c072,_0x2a8b13){return _0x7afdbe(_0x49c072,_0x2a8b13- -_0x45fed1._0x54ea8f);}if(!this['_draggerIng'])return;this['_draggerIng']['show']=!![];const _0x4e0d9b=getPositionValue(this[_0x3db818(0xb2e,0x1c7)]['position'],(_0x15bf6a=this['_map'])===null||_0x15bf6a===void 0x0?void 0x0:_0x15bf6a[_0x3db818(0x5a7,_0x92f97a._0x5a0f56)]['currentTime']),_0x4a960d=this['_draggerIng'][_0x2b6e60(0xf17,0x850)];this[_0x2b6e60(-_0x92f97a._0x56b115,0x4f)][_0x3db818(0x665,0x7a8)]&&this[_0x3db818(-_0x92f97a._0x18fbb2,0x1c7)][_0x2b6e60(0x1bf,0x630)](this[_0x2b6e60(-_0x92f97a._0x27ac7f,_0x92f97a._0x350265)],_0x4e0d9b);this['updateAttrForEditing']();const _0x34a972={..._0x4773e4};_0x34a972['index']=_0x4a960d,_0x34a972['cartesian']=_0x4e0d9b,this['fire'](EventType['editMovePoint'],_0x34a972),this[_0x2b6e60(0x9f7,0x4f)]=null;function _0x3db818(_0x40c895,_0xca2f61){return _0x7afdbe(_0x40c895,_0xca2f61- -_0x2f2ac0._0x4c3f4d);}this['_map']['_setEditCursor'](![]),this['_hasChangeEnableInputs']&&(this['_map'][_0x2b6e60(0x1486,_0x92f97a._0x4e1113)]['screenSpaceCameraController'][_0x2b6e60(0x780,0xbbd)]=!![],delete this[_0x3db818(0x246,0x2b6)]),this[_0x3db818(0x1a3a,0xf9f)]();}['openSmallTooltipByMinPointNum'](_0x3887c9){this['_map']['openSmallTooltip'](_0x3887c9,this['_map']['getLangText']('_无法删除不能少于最小点数')+'\x20'+this['_graphic']['_minPointNum']);}[_0x7afdbe(0xcc4,0x74d)](_0x3b53bb){const _0x2ea1df={_0xcd7223:0x204,_0x41f7c7:0x6bd,_0x109fe5:0xdc8,_0x8b0bd4:0x1a88,_0x3478f5:0x15b9,_0xa5e960:0x91f,_0x5ddee2:0x3d0,_0x531c43:0x1499,_0x377e42:0x11a1,_0x307a21:0xe56,_0x349786:0x317,_0x42fd4b:0x415,_0x561e84:0x63c,_0x900108:0xea4,_0x3e927c:0x1309,_0x2b9de1:0x554,_0x1d023f:0xf0,_0xb91e9:0xb6e,_0x2aaa5c:0x2fc,_0x29237b:0x1c42,_0x208fca:0x12b9,_0xdd0e15:0x1538,_0x236a3a:0xc76,_0x1de92b:0x1ae,_0x27b2fc:0xf24},_0x3b8423={_0x517714:0x179};let _0x2a2555;if(_0x3b53bb['dragger'])_0x2a2555=_0x3b53bb['dragger'];else{const _0x2c81a3=getEditPointStyle(_0x3b53bb[_0x47f204(-_0x2ea1df._0xcd7223,_0x2ea1df._0x41f7c7)]),_0x43e3d9=_0x2c81a3['type']||_0x4e49ed(_0x2ea1df._0x109fe5,0x5d7),_0x5ace0a={};_0x5ace0a['position']=_0x3b53bb[_0x47f204(_0x2ea1df._0x8b0bd4,0x1568)]??Cesium__namespace['Cartesian3']['ZERO'],_0x5ace0a['style']=_0x2c81a3,_0x5ace0a[_0x47f204(0x11ca,_0x2ea1df._0x3478f5)]=![],_0x5ace0a[_0x4e49ed(_0x2ea1df._0xa5e960,_0x2ea1df._0x5ddee2)]=!![],_0x2a2555=create$5(_0x43e3d9,_0x5ace0a),_0x2a2555['style'][_0x47f204(_0x2ea1df._0x531c43,0x13f0)]=this[_0x47f204(0x1550,0x13f0)],_0x2a2555[_0x47f204(0xdef,0x124b)]=this['_graphic'],this[_0x47f204(0x13d4,_0x2ea1df._0x377e42)][_0x47f204(0x69f,_0x2ea1df._0x307a21)](_0x2a2555);}_0x2a2555['_draw_tooltip']=this['_map']['getLangText']('_拖动该点后')+'\x20'+(_0x3b53bb['tooltip']||this[_0x4e49ed(0x2fc,-_0x2ea1df._0x349786)]['getLangText']('_修改位置')),_0x2a2555['_isDragger']=!![],_0x2a2555[_0x47f204(-_0x2ea1df._0x42fd4b,_0x2ea1df._0x561e84)]=!![];function _0x4e49ed(_0x5e2788,_0x40fabb){return _0x54a7f1(_0x5e2788- -0x4d7,_0x40fabb);}_0x2a2555[_0x4e49ed(_0x2ea1df._0x900108,_0x2ea1df._0x3e927c)]=_0x3b53bb['type']||EditPointType['Control'],_0x2a2555['onDragStart']=_0x3b53bb['onDragStart'],_0x2a2555['onDrag']=_0x3b53bb['onDrag'],_0x2a2555[_0x4e49ed(_0x2ea1df._0x2b9de1,-0x4c7)]=_0x3b53bb['onDragEnd'];if((_0x2a2555['_pointType']===EditPointType['Control']||_0x2a2555['_pointType']===EditPointType[_0x4e49ed(0x574,0x898)])&&(this['options']['hasEditContextMenu']??!![])){_0x2a2555[_0x4e49ed(-_0x2ea1df._0x1d023f,-0x6a4)]+=_0x4e49ed(0x308,_0x2ea1df._0xb91e9)+this[_0x4e49ed(_0x2ea1df._0x2aaa5c,0x9c1)][_0x47f204(0x1370,0xea9)](_0x47f204(_0x2ea1df._0x29237b,_0x2ea1df._0x208fca));const _0x4654d0=_0x2a2555[_0x47f204(_0x2ea1df._0xdd0e15,0xf24)],_0x5edd91=this[_0x47f204(0x908,0x9fa)](_0x2a2555);_0x4654d0&&!_0x4654d0[_0x47f204(0xd35,_0x2ea1df._0x236a3a)]&&!_0x2a2555['_contextmenuConfig_bak']&&(_0x2a2555[_0x4e49ed(-_0x2ea1df._0x1de92b,-0x774)]=_0x4654d0,_0x5edd91[_0x47f204(0x84a,0xd8f)](..._0x4654d0[_0x4e49ed(0x103c,0x1a80)]));const _0x55ac3b=this['layer'][_0x4e49ed(0xbc6,_0x2ea1df._0x27b2fc)];_0x55ac3b&&this['layer']!==_0x2a2555&&_0x5edd91['push'](..._0x55ac3b['content']),_0x2a2555['bindContextMenu'](_0x5edd91),_0x2a2555['_contextmenuConfig'][_0x4e49ed(0x918,0xe84)]=!![];}function _0x47f204(_0x5ffe69,_0x315fff){return _0x54a7f1(_0x315fff- -_0x3b8423._0x517714,_0x5ffe69);}return _0x2a2555;}['_resetContextMenu'](_0x1c88a3){const _0x220a5b={_0x366e06:0x13e,_0x15d2ec:0x970,_0x5f4d34:0x115d,_0x2db5d1:0x273,_0x330ff0:0x55d},_0x4b0cc4={_0x504abc:0x16e};function _0x2c1f0b(_0x4f7271,_0x3f55e4){return _0x7afdbe(_0x4f7271,_0x3f55e4- -_0x4b0cc4._0x504abc);}function _0x236ca7(_0x43cb34,_0x5b55d9){return _0x54a7f1(_0x5b55d9- -0x17b,_0x43cb34);}if(_0x1c88a3&&(this[_0x2c1f0b(_0x220a5b._0x366e06,_0x220a5b._0x15d2ec)]['hasEditContextMenu']??!![])){var _0x160191;(_0x160191=_0x1c88a3[_0x2c1f0b(0xc8b,_0x220a5b._0x5f4d34)])!==null&&_0x160191!==void 0x0&&_0x160191['_private']&&_0x1c88a3[_0x2c1f0b(-_0x220a5b._0x2db5d1,_0x220a5b._0x330ff0)](),_0x1c88a3['_contextmenuConfig_bak']&&(_0x1c88a3['_contextmenuConfig']=_0x1c88a3['_contextmenuConfig_bak'],delete _0x1c88a3[_0x2c1f0b(0x1d7,0x3e9)]);}}['bindDraggers'](){}[_0x54a7f1(0x1712,0x1f6e)](){const _0x53480c={_0x33045e:0x828,_0x35844d:0x349,_0x55636b:0xa76,_0x11d817:0xa18};function _0x50f9a2(_0x40a3ff,_0x4eac59){return _0x7afdbe(_0x40a3ff,_0x4eac59-0x63);}function _0x2a2901(_0x5ccd6d,_0x22e33b){return _0x7afdbe(_0x5ccd6d,_0x22e33b- -0x29a);}this[_0x2a2901(_0x53480c._0x33045e,_0x53480c._0x35844d)](this['_graphic']);for(let _0x459aef=0x0,_0x2c72b8=this[_0x2a2901(_0x53480c._0x55636b,0x12fd)][_0x50f9a2(_0x53480c._0x11d817,0x1216)];_0x459aef<_0x2c72b8;_0x459aef++){const _0x44c4cc=this['draggers'][_0x459aef];this['_resetContextMenu'](_0x44c4cc),this['layer']['removeGraphic'](_0x44c4cc,!![]);}this['draggers']=[];}[_0x7afdbe(0x1eb5,0x1654)](){const _0x74d3ea={_0x3afad:0x10a9,_0x31b540:0xc9e},_0x5df8b0={_0x2bd1c5:0x448};if(!this[_0x5a5308(0x856,0xebd)])return this;function _0x5a5308(_0x1ead75,_0x8e0c6d){return _0x54a7f1(_0x1ead75- -0x2a4,_0x8e0c6d);}clearTimeout(this['_updateDraggersTimeTik']),this['_updateDraggersTimeTik']=setTimeout(()=>{function _0x2a68ac(_0x3f9a88,_0x293c02){return _0x5a5308(_0x293c02-_0x5df8b0._0x2bd1c5,_0x3f9a88);}if(!this[_0x2a68ac(_0x74d3ea._0x3afad,_0x74d3ea._0x31b540)])return this;this['_updateDraggers']();},0x14);}['_updateDraggers'](){const _0x16c8ba={_0x47d5c:0x11b1,_0x3debfb:0x7e0,_0x1b2f47:0x15f7,_0x32838d:0x1d4b,_0x42144b:0x14f8},_0x40e2e3={_0x2c855d:0x3e6};function _0x51e270(_0x7528e0,_0x1ed0bb){return _0x7afdbe(_0x1ed0bb,_0x7528e0- -_0x40e2e3._0x2c855d);}var _0x4311d3;if(!this['_enabled'])return this;const _0x190864=(_0x4311d3=this[_0x51e270(0x4cd,0x490)])===null||_0x4311d3===void 0x0?void 0x0:_0x4311d3['_dragger_index'];this['destroyDraggers'](),this['bindDraggers']();function _0x434d58(_0x39059b,_0x51181a){return _0x7afdbe(_0x39059b,_0x51181a- -0x3ae);}if(Cesium__namespace['defined'](_0x190864))for(let _0x451372=0x0,_0x2e40ff=this['draggers']['length'];_0x451372<_0x2e40ff;_0x451372++){const _0x3c494a=this[_0x51e270(_0x16c8ba._0x47d5c,0xd37)][_0x451372];if(_0x3c494a['_pointType']!==EditPointType[_0x434d58(0x620,_0x16c8ba._0x3debfb)]&&_0x3c494a[_0x434d58(_0x16c8ba._0x1b2f47,0x11fb)]!==EditPointType['MoveAll'])continue;if(_0x3c494a['index']===_0x190864){this[_0x434d58(_0x16c8ba._0x32838d,_0x16c8ba._0x42144b)](_0x3c494a);break;}}}['updateAttrForEditing'](){const _0x368e47={_0x1b21ab:0xe5e,_0xf1592d:0xda1},_0x107417={_0x4739cb:0x68c};function _0x8101d7(_0x407fec,_0x22f997){return _0x7afdbe(_0x407fec,_0x22f997- -_0x107417._0x4739cb);}this[_0x517ca2(0x18ff,_0x368e47._0x1b21ab)][_0x8101d7(0x16c8,_0x368e47._0xf1592d)]&&this[_0x8101d7(0x14b5,0xe04)]['updateAttrForDrawing'](!![]);function _0x517ca2(_0x556436,_0xd371d5){return _0x54a7f1(_0xd371d5- -0x404,_0x556436);}this['_graphic']['_updateLabelPosition']&&this['_graphic']['_updateLabelPosition']();}['getDraggerContextMenu'](_0x2d70ef){const _0x3ff4db={_0x669e5b:0xf40,_0xda6db4:0x5fc,_0x3c9ea5:0x7f0},_0x2f058e={_0x2abdf6:0xc64},_0x6e4b20={_0xc8d611:0x291,_0x8ceaf4:0xda5,_0x2c7693:0x138d,_0x4f8f99:0xfe3},_0x544e5c={_0x6dee2f:0x1468,_0x5f367a:0xb92,_0x228002:0x1335,_0x18bfee:0x935,_0x375ec5:0x115},_0x39a930={_0x1fa445:0x7dd,_0x24535f:0x613,_0x145d97:0xfa0},_0x1640f1={_0x177dea:0x14a2,_0x27ff25:0x1095,_0x3b144b:0x7ff,_0x4d45d4:0x11c5,_0x2cff18:0x1529};function _0x35bce3(_0xe32e58,_0x4c99bd){return _0x7afdbe(_0x4c99bd,_0xe32e58- -0x556);}function _0x4827e5(_0x514521,_0xaa3bd5){return _0x54a7f1(_0x514521- -0xe2,_0xaa3bd5);}return[{'text':this['_map'][_0x4827e5(_0x3ff4db._0x669e5b,0x191a)]('_删除该点'),'icon':Icon['Delete'],'show':_0x1a612f=>{var _0x65a438;function _0x3dec38(_0x419ac9,_0x5d3de9){return _0x4827e5(_0x5d3de9-0x154,_0x419ac9);}if(this[_0x7db88d(0xdc0,_0x1640f1._0x177dea)]['isPoint']||!((_0x65a438=this['_graphic'])!==null&&_0x65a438!==void 0x0&&_0x65a438['_positions_draw'])||_0x2d70ef[_0x7db88d(_0x1640f1._0x27ff25,0x15bb)]===EditPointType[_0x7db88d(_0x1640f1._0x3b144b,0xc8b)])return![];function _0x7db88d(_0x48ad18,_0x4f83ed){return _0x4827e5(_0x4f83ed-0x322,_0x48ad18);}if(this['_graphic']['_positions_draw'][_0x7db88d(0xbc3,_0x1640f1._0x4d45d4)]-0x1<this[_0x3dec38(_0x1640f1._0x2cff18,0x12d4)]['_minPointNum'])return this['openSmallTooltipByMinPointNum'](_0x1a612f['position']),![];return!![];},'callback':_0x334442=>{const _0x46b082={_0x317ce0:0x420};function _0x42a44d(_0x4d988b,_0x4d2df9){return _0x4827e5(_0x4d2df9- -_0x46b082._0x317ce0,_0x4d988b);}const _0xfac8ec=_0x334442[_0x538bea(_0x39a930._0x1fa445,_0x39a930._0x24535f)];function _0x538bea(_0x601a77,_0x30e0b7){return _0x4827e5(_0x30e0b7-0x12d,_0x601a77);}if(_0xfac8ec){const _0x4251d4=_0xfac8ec['index'];if(_0x4251d4>=0x0&&_0x4251d4<this[_0x538bea(0xe1b,0x12ad)]['_positions_draw']['length']){this['_graphic']['_positions_draw']['splice'](_0x4251d4,0x1),this['updateDraggers'](),this[_0x538bea(0x553,_0x39a930._0x145d97)]();const _0x1928d5={..._0x334442};_0x1928d5['index']=_0x4251d4,this['fire'](EventType[_0x538bea(0x1fe2,0x16f0)],_0x1928d5),this['_editPositionsHook']();}}}},{'text':this[_0x4827e5(0x6f1,_0x3ff4db._0xda6db4)]['getLangText'](_0x35bce3(_0x3ff4db._0x3c9ea5,0x1144)),'icon':Icon['DrawEditYes'],'show':_0x1ec149=>{const _0x4a86cb={_0x4428e9:0xfb};function _0x3b93c7(_0x1a15eb,_0x255e3d){return _0x35bce3(_0x1a15eb- -_0x4a86cb._0x4428e9,_0x255e3d);}if(this['_map'][_0x244a1c(0x132f,_0x544e5c._0x6dee2f)][_0x244a1c(0x743,_0x544e5c._0x5f367a)]!==Cesium__namespace['SceneMode'][_0x3b93c7(0x1144,_0x544e5c._0x228002)])return![];function _0x244a1c(_0x438fee,_0x1f473b){return _0x35bce3(_0x438fee-0x5d8,_0x1f473b);}return!this[_0x244a1c(_0x544e5c._0x18bfee,-_0x544e5c._0x375ec5)]||this['_matrixMove']['_dragger_index']!==_0x2d70ef['index'];},'callback':_0x72e7cc=>{const _0x44d1c2={_0x38ad24:0x19d};var _0x2f481b;function _0x2063c5(_0x5ba7b0,_0x192109){return _0x4827e5(_0x192109- -_0x44d1c2._0x38ad24,_0x5ba7b0);}function _0x20c68d(_0x1c011a,_0x8e4c8d){return _0x4827e5(_0x8e4c8d- -0x255,_0x1c011a);}const _0x21536e=(_0x2f481b=_0x72e7cc[_0x20c68d(0x278,_0x6e4b20._0xc8d611)])!==null&&_0x2f481b!==void 0x0&&_0x2f481b[_0x2063c5(_0x6e4b20._0x8ceaf4,0x1462)]?_0x72e7cc['graphic']:_0x72e7cc[_0x20c68d(_0x6e4b20._0x2c7693,_0x6e4b20._0x4f8f99)];this['startMoveMatrix'](_0x21536e,_0x72e7cc);}},{'text':this['_map']['getLangText']('_停止按轴平移'),'icon':Icon['DrawEditNo'],'show':_0x4e5b01=>{function _0x4a1ded(_0x3979e3,_0x39e8d3){return _0x35bce3(_0x39e8d3-0x14b,_0x3979e3);}return this['_matrixMove']&&this['_matrixMove'][_0x4a1ded(_0x2f058e._0x2abdf6,0x4e5)]===_0x2d70ef['index'];},'callback':_0x31ef74=>{function _0x49d6ac(_0x377fe5,_0x25c24b){return _0x4827e5(_0x25c24b-0x3a1,_0x377fe5);}this[_0x49d6ac(0x1d5d,0x16b1)]();}}];}['_updateStyleHook'](_0x44fcf5){const _0x113925={_0x440cf8:0x135b,_0x4a2ea3:0xf1a},_0x312119={_0x53d3bf:0x1fb},_0x3f1031={_0x4b2f76:0x554};function _0x36263a(_0x33582c,_0x577bd7){return _0x7afdbe(_0x33582c,_0x577bd7- -_0x3f1031._0x4b2f76);}function _0x5547b9(_0x3462d6,_0x4f1a62){return _0x54a7f1(_0x3462d6- -_0x312119._0x53d3bf,_0x4f1a62);}Cesium__namespace[_0x36263a(0x1746,_0x113925._0x440cf8)](_0x44fcf5['clampToGround'])&&(this[_0x36263a(0x651,0x10cc)](),this['stopRotateMatrix'](),this[_0x36263a(_0x113925._0x4a2ea3,0x1100)]());}['_editPositionsHook'](){const _0x16dec1={_0x53678e:0x16fb,_0x3b72b6:0x1cfe,_0xa2288c:0x11fc,_0xc0d034:0xf37},_0x134974={_0x37a61a:0x121};function _0x22b76c(_0x5b6bf1,_0x4cc96a){return _0x7afdbe(_0x5b6bf1,_0x4cc96a- -0x3e6);}function _0x1b45fb(_0x2f3914,_0xabc3ca){return _0x7afdbe(_0xabc3ca,_0x2f3914- -_0x134974._0x37a61a);}if(this[_0x1b45fb(0x16fb,0x1bc1)]&&!this[_0x1b45fb(_0x16dec1._0x53678e,_0x16dec1._0x3b72b6)][this['_position_steps']['length']-0x1]['equals'](this[_0x22b76c(0x1cf7,0x1529)]))this['_position_steps']['push'](this[_0x1b45fb(0x17ee,0x2001)][_0x1b45fb(0x8fc,0x535)]());else{if(this[_0x22b76c(0x1702,0x1474)]){let _0xc6262a=![];const _0x28a726=this['_positions_steps'][this['_positions_steps']['length']-0x1],_0x10dccd=this[_0x1b45fb(_0x16dec1._0xa2288c,0xcee)];if(_0x28a726['length']!==_0x10dccd['length'])_0xc6262a=!![];else for(let _0x19a754=0x0;_0x19a754<_0x10dccd['length'];_0x19a754++){if(!_0x10dccd[_0x19a754]['equals'](_0x28a726[_0x19a754])){_0xc6262a=!![];break;}}_0xc6262a&&this['_positions_steps']['push'](clonePostions(this[_0x22b76c(0x14a4,_0x16dec1._0xc0d034)]));}}}[_0x7afdbe(0x57e,0x781)](_0xc9d78b,_0x2d454d){const _0x2d7e16={_0x2e059c:0x75d};function _0x5e7225(_0x5027e2,_0x551af0){return _0x54a7f1(_0x5027e2-0x1b7,_0x551af0);}const _0x194b38={};function _0x38d483(_0x22dff3,_0x2f07ad){return _0x7afdbe(_0x22dff3,_0x2f07ad- -0x510);}_0x194b38['index']=_0xc9d78b['index'],_0x194b38[_0x5e7225(0x68f,0x13a)]=_0x2d454d,this['fire'](EventType[_0x5e7225(0x47e,_0x2d7e16._0x2e059c)],_0x194b38);}['startMoveMatrix'](_0x449285,_0x40496a={}){const _0x516201={_0x5b9916:0x1ce4,_0x48ca9d:0x122f,_0xdca195:0x909,_0x206a9d:0x16b9,_0x4df924:0xa4c,_0x6a0948:0x313,_0x275254:0xa57,_0x5aeed5:0xe00,_0x2c8ab3:0x17ed,_0x36bd42:0x4a0,_0x8dc90a:0xa29,_0x10e3c0:0x13aa,_0x4a2bdb:0xbaf,_0x118b5a:0x13da},_0x59c9b7={_0x2fc4f7:0x19c7,_0x269c6a:0x8fb,_0x382972:0xd77,_0x4f3d52:0x1462,_0x2311bc:0x14cc,_0x3510fa:0xa31,_0x1dc0f7:0x175,_0x178a16:0x29d,_0x26a69f:0x155},_0x34628a={_0x18e1d5:0x1a1f,_0x4c19b8:0x992,_0x48d7d1:0x862,_0x5c3b2b:0x9af},_0x392e59={_0xbcab7d:0x58e,_0x380565:0x23},_0x3b71ba={_0x3019b0:0x450};this[_0x520ddb(_0x516201._0x5b9916,0x1676)](),this['stopRotateMatrix']();!_0x449285&&(_0x449285=this['_graphic']);let _0x5964a6=_0x449285[_0xf6a064(0xc77,_0x516201._0x48ca9d)]||_0x449285['position'],_0x2957d0;function _0x520ddb(_0x3e3eeb,_0x3e18a7){return _0x54a7f1(_0x3e18a7-0x284,_0x3e3eeb);}if(!_0x5964a6&&this['_moveAllPostions']){_0x5964a6=centerOfMass(this['positions']);if(!_0x5964a6)return;_0x2957d0=_0x5964a6['clone']();}this[_0x520ddb(0xf1d,0x17ed)]&&(_0x5964a6=getSurfacePosition(this['_map']['scene'],_0x5964a6));const _0x39b03d={..._0x449285[_0xf6a064(0x68e,-0x293)]['matrixMove']};_0x39b03d['position']=_0x5964a6,this[_0x520ddb(0x10ff,_0x516201._0xdca195)]=new MatrixMove(_0x39b03d),this['_map']['addThing'](this['_matrixMove']);function _0xf6a064(_0x30bfa3,_0x293785){return _0x7afdbe(_0x293785,_0x30bfa3- -_0x3b71ba._0x3019b0);}this['_matrixMove'][_0x520ddb(0x1224,_0x516201._0x206a9d)][_0xf6a064(0x1437,_0x516201._0x4df924)]([{'text':this[_0x520ddb(_0x516201._0x6a0948,_0x516201._0x275254)][_0xf6a064(_0x516201._0x5aeed5,0x811)]('_停止按轴平移'),'icon':Icon[_0xf6a064(0x182,0xb22)],'show':_0x4a684f=>{return this['_matrixMove'];},'callback':_0x907243=>{this['stopMoveMatrix']();}}]),(this[_0x520ddb(0xe0c,_0x516201._0x2c8ab3)]||this['noMatrixMoveZ'])&&this[_0x520ddb(0x252,0x909)]['_graphic_move_z']&&(this['_matrixMove']['_graphic_move_z'][_0x520ddb(0x1871,0x1877)]=![]),this['_matrixMove'][_0xf6a064(_0x516201._0x36bd42,0x289)]=_0x449285[_0xf6a064(_0x516201._0x8dc90a,0x1e9)],this[_0x520ddb(_0x516201._0x10e3c0,_0x516201._0xdca195)]['on'](EventType[_0x520ddb(0x12bd,_0x516201._0x4a2bdb)],_0x38420e=>{function _0x4ee496(_0x3a0bbe,_0x288b69){return _0x520ddb(_0x3a0bbe,_0x288b69- -0x557);}_0x449285['onDragStart']&&_0x449285[_0x4ee496(_0x392e59._0xbcab7d,_0x392e59._0x380565)](_0x449285,this['_matrixMove']['position']);}),this['_matrixMove']['on'](EventType['stop'],_0x48adc2=>{const _0x1d97ba={_0x111d0a:0x444},_0x5de4a6=this['_matrixMove'][_0x2177af(_0x34628a._0x18e1d5,0x11d8)];if(_0x2957d0)this[_0x2177af(0x1a41,0x1112)](_0x2957d0,_0x5de4a6),_0x2957d0=_0x5de4a6;else _0x449285['onDragEnd']?_0x449285['onDragEnd'](_0x449285,_0x5de4a6,_0x48adc2):_0x449285['position']=_0x5de4a6;const _0x2b0d01={};_0x2b0d01[_0x2177af(0x1af2,0x11d8)]=_0x5de4a6,_0x449285['fire'](EventType[_0x18b7ca(_0x34628a._0x4c19b8,0xd51)],_0x2b0d01);function _0x2177af(_0x3eab99,_0x53f39f){return _0xf6a064(_0x53f39f- -0x2e7,_0x3eab99);}const _0x496ebd={..._0x40496a,..._0x48adc2};_0x496ebd['index']=_0x449285[_0x18b7ca(0xe6d,_0x34628a._0x48d7d1)],_0x496ebd['cartesian']=_0x5de4a6;function _0x18b7ca(_0x5e3403,_0x4d50d7){return _0xf6a064(_0x5e3403-_0x1d97ba._0x111d0a,_0x4d50d7);}this[_0x2177af(0x544,_0x34628a._0x5c3b2b)](EventType['editMovePoint'],_0x496ebd),this['_editPositionsHook']();}),this[_0x520ddb(0x5da,0x909)]['on'](EventType['change'],_0x352862=>{const _0x327030={_0x10023d:0x503};var _0x39f437;const _0x3e4881=this['_matrixMove'][_0x5c7a88(_0x59c9b7._0x2fc4f7,0x11f6)];function _0xa720a1(_0xa20a15,_0x39fa82){return _0x520ddb(_0x39fa82,_0xa20a15- -_0x327030._0x10023d);}if(_0x2957d0)this[_0x5c7a88(0xf19,0x1130)](_0x2957d0,_0x3e4881),_0x2957d0=_0x3e4881;else Cesium__namespace[_0xa720a1(0x1402,0x1810)]((_0x39f437=this['_graphic'])===null||_0x39f437===void 0x0?void 0x0:_0x39f437[_0x5c7a88(0x11bf,0xef2)])?this[_0x5c7a88(_0x59c9b7._0x269c6a,_0x59c9b7._0x382972)][_0x5c7a88(0xc9f,0xef2)]=_0x3e4881:_0x449285[_0xa720a1(_0x59c9b7._0x4f3d52,0x1bad)]=_0x3e4881;if(_0x352862['editType']===Cesium__namespace[_0xa720a1(_0x59c9b7._0x2311bc,0x1e0c)]['Z']&&this[_0x5c7a88(0xa17,0x1149)]){const _0x1cfd42=Cesium__namespace['Cartographic'][_0x5c7a88(-_0x59c9b7._0x3510fa,-0x1ae)](_0x3e4881)['height'];this['_updateHeight'](_0x1cfd42);}else _0x449285[_0x5c7a88(-_0x59c9b7._0x1dc0f7,-0xad)]&&_0x449285['onDrag'](_0x449285,_0x3e4881);this['updateAttrForEditing']();const _0x2f57cf={..._0x40496a,..._0x352862};function _0x5c7a88(_0x2e1a9b,_0x15d962){return _0xf6a064(_0x15d962- -0x2c9,_0x2e1a9b);}_0x2f57cf[_0xa720a1(0x9cc,0xe74)]=_0x449285[_0x5c7a88(0x1087,0x760)],_0x2f57cf['cartesian']=_0x5964a6,this['fire'](EventType[_0x5c7a88(-_0x59c9b7._0x178a16,_0x59c9b7._0x26a69f)],_0x2f57cf);}),_0x449285['off'](EventType[_0x520ddb(0xc36,0x9f4)],this['_updateMatrixMovePosition'],this),_0x449285['off'](EventType['updatePosition'],this[_0xf6a064(0x149a,_0x516201._0x118b5a)],this),_0x449285['on'](EventType['updatePosition'],this['_updateMatrixMovePosition'],this);}['_updateMatrixMovePosition'](_0x3e69df){const _0x304027={_0xc0e28f:0x38a,_0x22473a:0x1aa8},_0xf54bc3={_0x1d7d6a:0x187};function _0x15b779(_0x30b89c,_0x3d59e1){return _0x54a7f1(_0x3d59e1- -0x9e,_0x30b89c);}function _0x23c747(_0x2f0d77,_0xce7ed1){return _0x7afdbe(_0x2f0d77,_0xce7ed1- -_0xf54bc3._0x1d7d6a);}var _0x12cebb;if(!this[_0x23c747(0xbb3,0x72c)]||this[_0x15b779(_0x304027._0xc0e28f,0x5e7)]['isMoveing']||!_0x3e69df['position']||this[_0x15b779(0x637,0x5e7)]['_dragger_index']!==((_0x12cebb=_0x3e69df['graphic'])===null||_0x12cebb===void 0x0?void 0x0:_0x12cebb['index']))return;this[_0x23c747(0x484,0x72c)][_0x23c747(_0x304027._0x22473a,0x1788)]=_0x3e69df[_0x15b779(0xd67,0x1643)];}['stopMoveMatrix'](){const _0x261fd8={_0x52954b:0xdc,_0x11e352:0x2ca,_0x5af96f:0x3af,_0x3e569b:0x190},_0x5d210a={_0x1cec87:0x3bb};function _0x2e2ef8(_0x5973e5,_0x3a793a){return _0x54a7f1(_0x5973e5- -0xb7,_0x3a793a);}function _0x3af2de(_0x4e6c02,_0x3e7031){return _0x54a7f1(_0x4e6c02- -_0x5d210a._0x1cec87,_0x3e7031);}this[_0x2e2ef8(0x5ce,-_0x261fd8._0x52954b)]&&(this[_0x3af2de(0x418,-0x231)]['removeThing'](this[_0x3af2de(_0x261fd8._0x11e352,_0x261fd8._0x5af96f)],!![]),delete this[_0x2e2ef8(0x5ce,_0x261fd8._0x3e569b)]);}[_0x54a7f1(0x5e7,0x836)](_0x499ba8){const _0x57b678={_0x50188a:0x743,_0x45887e:0x524,_0x122014:0x13,_0x389355:0x131a,_0x34fb02:0xd63,_0x5ed680:0x10c2,_0x3dea35:0x232,_0x195667:0x655,_0x36b11e:0x528,_0x31266f:0x655,_0xd71e0d:0x153d},_0x5b248b={_0x4a0e66:0xb17,_0x2c621b:0x8fe,_0x313e8b:0x177c,_0x26cf36:0x5c3,_0x19b2a5:0x1ade,_0x2721e6:0x181b,_0x5c34b5:0x2318,_0x29715f:0x115c,_0x241312:0xa8d,_0x2cd61b:0x158e},_0xd1c1f8={_0x5a0f34:0x148},_0x254262={_0x3934ce:0x28d},_0xcb1f46={_0x2a5119:0x489};this['stopMoveMatrix'](),this['stopRotateMatrix']();!_0x499ba8&&(_0x499ba8=this[_0x570e3f(0xd2a,0x1147)]);const _0xc22623=_0x499ba8['positionShow']||_0x499ba8['position'];if(!_0xc22623)return;this[_0x27c166(_0x57b678._0x50188a,0xfbb)]=new MatrixRotate({..._0x499ba8['options'][_0x27c166(0x786,0x66a)],'position':_0xc22623,'heading':this[_0x27c166(-_0x57b678._0x45887e,_0x57b678._0x122014)]['heading']||0x0,'pitch':this['style']['pitch']||0x0,'roll':this[_0x570e3f(-0x6b5,0x381)]['roll']||0x0});function _0x27c166(_0x220e19,_0x213463){return _0x54a7f1(_0x213463- -_0xcb1f46._0x2a5119,_0x220e19);}this['_map']['addThing'](this['_matrixRotate']),this['_matrixRotate'][_0x570e3f(0x1dc0,_0x57b678._0x389355)][_0x570e3f(_0x57b678._0x34fb02,0x153e)]([{'text':this[_0x570e3f(_0x57b678._0x5ed680,0x6b8)]['getLangText'](_0x27c166(-0x374,0x54c)),'icon':Icon[_0x27c166(0x887,0xf3)],'show':_0x1061e2=>{return this['_matrixRotate'];},'callback':_0x4a8bbf=>{function _0x3bad6f(_0x1e5659,_0x2c33ea){return _0x570e3f(_0x2c33ea,_0x1e5659- -_0x254262._0x3934ce);}this[_0x3bad6f(0x37c,-_0xd1c1f8._0x5a0f34)]();}}]),this['_matrixRotate']['on'](EventType[_0x570e3f(0x265,0x4d6)],_0x25dc0c=>{const _0x4b8dd0={_0x3109e2:0x205};function _0x81ede3(_0x41dcea,_0x41d8b8){return _0x570e3f(_0x41d8b8,_0x41dcea-0x242);}this[_0x81ede3(0x5c3,_0x5b248b._0x4a0e66)][_0x27b09e(0x88c,0x3f7)]=formatNum$1(_0x25dc0c[_0x27b09e(0xeb1,0x3f7)],0x2),this[_0x81ede3(0x5c3,_0x5b248b._0x2c621b)][_0x27b09e(0x1a84,_0x5b248b._0x313e8b)]=formatNum$1(_0x25dc0c['pitch'],0x2),this[_0x81ede3(_0x5b248b._0x26cf36,0x6f9)][_0x27b09e(_0x5b248b._0x19b2a5,_0x5b248b._0x2721e6)]=formatNum$1(_0x25dc0c[_0x81ede3(0x1858,_0x5b248b._0x5c34b5)],0x2);function _0x27b09e(_0x2c6cab,_0x15fb8f){return _0x570e3f(_0x2c6cab,_0x15fb8f-_0x4b8dd0._0x3109e2);}this['_graphic'][_0x27b09e(_0x5b248b._0x29715f,_0x5b248b._0x241312)](),this[_0x81ede3(0xfdf,0x15a6)](EventType[_0x27b09e(0x1737,_0x5b248b._0x2cd61b)]);}),_0x499ba8[_0x570e3f(0xae7,_0x57b678._0x3dea35)](EventType[_0x570e3f(0xf97,_0x57b678._0x195667)],this['_updateMatrixMovePosition'],this),_0x499ba8['off'](EventType['updatePosition'],this['_updateMatrixRotatePosition'],this);function _0x570e3f(_0x51871b,_0x3174ea){return _0x7afdbe(_0x51871b,_0x3174ea- -0x349);}_0x499ba8['on'](EventType[_0x570e3f(_0x57b678._0x36b11e,_0x57b678._0x31266f)],this[_0x570e3f(_0x57b678._0xd71e0d,0x15a1)],this);}['_updateMatrixRotatePosition'](_0x341a17){const _0x1bbf68={_0x54da18:0x1701,_0x49f625:0x10df,_0x3be79c:0x229a},_0x20e215={_0xaa6c0f:0x8f};function _0x45c7a5(_0x502225,_0x398719){return _0x7afdbe(_0x398719,_0x502225-_0x20e215._0xaa6c0f);}var _0x4f307f;function _0x208cb3(_0x3be47f,_0x2fe20f){return _0x7afdbe(_0x2fe20f,_0x3be47f- -0x4b8);}if(!this['_matrixRotate']||this[_0x45c7a5(_0x1bbf68._0x54da18,0x1be5)]['isMoveing']||!_0x341a17['position']||this['_matrixRotate']['_dragger_index']!==((_0x4f307f=_0x341a17['graphic'])===null||_0x4f307f===void 0x0?void 0x0:_0x4f307f['index']))return;this[_0x45c7a5(0x1701,_0x1bbf68._0x49f625)][_0x45c7a5(0x199e,_0x1bbf68._0x3be79c)]=_0x341a17['position'];}['stopRotateMatrix'](){function _0x507d19(_0x4e9351,_0xf02045){return _0x7afdbe(_0xf02045,_0x4e9351- -0x193);}function _0x25c865(_0x588138,_0x2875ac){return _0x7afdbe(_0x2875ac,_0x588138- -0x433);}this['_matrixRotate']&&(this['_map'][_0x507d19(0x1685,0x163b)](this[_0x507d19(0x14df,0x1ba9)],!![]),delete this[_0x25c865(0x123f,0x15a5)]);}['destroy'](){this['disable']();for(const _0x3a3268 in this){delete this[_0x3a3268];}}}function clonePostions(_0x3d09aa){const _0x26af4e={_0x474989:0xf1d},_0x43dcc7={_0x24f665:0x296},_0x3206c3=[];function _0x365d96(_0x2b25e9,_0x215833){return _0x7afdbe(_0x215833,_0x2b25e9- -_0x43dcc7._0x24f665);}for(let _0x5f4827=0x0,_0x234146=_0x3d09aa[_0x365d96(_0x26af4e._0x474989,0x1854)];_0x5f4827<_0x234146;++_0x5f4827){_0x3206c3['push'](_0x3d09aa[_0x5f4827]['clone']());}return _0x3206c3;}class EditPoint extends EditBase{get[_0x54a7f1(0x16e1,0x1665)](){return this['_graphic']['_position_draw'];}set['position'](_0x155aa3){const _0x4e8641={_0x4a8f34:0xf9e};function _0x2a57c5(_0x3200b6,_0x2c8e04){return _0x7afdbe(_0x3200b6,_0x2c8e04- -0x523);}function _0x5ee883(_0x3d7c3a,_0x4f5118){return _0x7afdbe(_0x4f5118,_0x3d7c3a- -0x49d);}this[_0x5ee883(0xff3,0xd00)][_0x2a57c5(_0x4e8641._0x4a8f34,0x10e8)]=_0x155aa3;}['bindDraggers'](){const _0x1c395b={_0x20701c:0x1419};function _0x323d57(_0x3d92aa,_0x2c8dde){return _0x7afdbe(_0x2c8dde,_0x3d92aa- -0x50d);}function _0x3b380c(_0x513460,_0x85b261){return _0x54a7f1(_0x513460-0xd8,_0x85b261);}this[_0x323d57(0x240,0xadd)]({'dragger':this[_0x3b380c(0x133a,0x1c5e)],'onDrag':(_0x4c6fe6,_0x76343e)=>{function _0x2a710d(_0x1382df,_0x3687b5){return _0x3b380c(_0x1382df- -0x3a0,_0x3687b5);}this[_0x2a710d(_0x1c395b._0x20701c,0x1be0)]=_0x76343e;}});}['finish'](){const _0xcf61f9={_0xf96381:0x1a13,_0x3296b6:0x44d,_0x3ced10:0x1605,_0x1dcef6:0x1388,_0x35c4e4:0x6c8},_0x5a6ec9={_0x342922:0x43f};delete this[_0x4505c4(0x14ec,0x1c1c)]['_draw_tooltip'];function _0x256f69(_0x4e639c,_0x3e902e){return _0x7afdbe(_0x3e902e,_0x4e639c- -_0x5a6ec9._0x342922);}delete this['_graphic']['_isDragger'],delete this[_0x4505c4(0x14ec,_0xcf61f9._0xf96381)][_0x256f69(0x5a4,_0xcf61f9._0x3296b6)],delete this['_graphic'][_0x4505c4(_0xcf61f9._0x3ced10,_0xcf61f9._0x1dcef6)];function _0x4505c4(_0x43235b,_0x503055){return _0x54a7f1(_0x43235b-0x28a,_0x503055);}delete this['_graphic'][_0x4505c4(_0xcf61f9._0x35c4e4,0xee5)];}}class BasePointEntity extends BaseEntity{constructor(_0x531b26={}){const _0x9b04c6={_0x432553:0xb63,_0x502588:0x181d,_0x14e632:0xeb5},_0x421017={_0x724a8e:0x13c};_0x531b26['drawShow']=_0x531b26['drawShow']??!![],super(_0x531b26),this['_minPointNum']=_0x531b26['minPointNum']??0x1;function _0x2f5faa(_0x41e548,_0x5423c8){return _0x54a7f1(_0x5423c8- -0x314,_0x41e548);}this[_0x55e308(_0x9b04c6._0x432553,0xc1b)]=_0x531b26['maxPointNum']??0x1;function _0x55e308(_0x5e0d79,_0x2a5f4a){return _0x54a7f1(_0x5e0d79-_0x421017._0x724a8e,_0x2a5f4a);}this['_hasEdit']=this['options']['hasEdit']??!![],_0x531b26['positions']&&(this['positions']=_0x531b26['positions']),_0x531b26[_0x55e308(_0x9b04c6._0x502588,_0x9b04c6._0x14e632)]&&(this[_0x55e308(0x181d,0x1aa6)]=_0x531b26['position']);}get['EditClass'](){return EditPoint;}get[_0x7afdbe(0x1a23,0x190f)](){return this['_position'];}set[_0x7afdbe(0x1cc8,0x190f)](_0x3464c2){const _0x3ee0cb={_0x36571f:0xb49,_0xcccd9f:0x894,_0x5f46a1:0x1273,_0x5c1432:0xd5a,_0x21a369:0x926,_0x30141c:0x1b0,_0x382875:0x1160,_0x110860:0x2d4,_0x4da08a:0x131f,_0x191bc9:0xef0,_0x373c3f:0xc75,_0x55f476:0xb52};var _0xa1b59a,_0x1c8db1;if(this['isDestroy'])return;function _0x319aa7(_0x31d9ed,_0x36c5ff){return _0x54a7f1(_0x31d9ed- -0x27d,_0x36c5ff);}if(this[_0x2a9098(0xda1,0xa01)](_0x3464c2))return;this[_0x2a9098(_0x3ee0cb._0x36571f,0x6f3)]=LngLatPoint['parse'](_0x3464c2);if(this['_point']&&!(this[_0x319aa7(_0x3ee0cb._0xcccd9f,0xe88)][_0x319aa7(0x103d,0xbda)]===0x0&&this['_point']['lng']===0x0)){const _0x38f617=this['getSetHeight']();Cesium__namespace['defined'](_0x38f617)&&(this[_0x2a9098(_0x3ee0cb._0x36571f,0x1462)]['alt']=_0x38f617);const _0x325dab=this[_0x2a9098(0x7a0,0x984)]();Cesium__namespace[_0x2a9098(0x16b9,_0x3ee0cb._0x5f46a1)](_0x325dab)&&(this['_point'][_0x2a9098(0x48d,_0x3ee0cb._0x5c1432)]+=_0x325dab);}const _0x3f4d58=(_0xa1b59a=this['_point'])===null||_0xa1b59a===void 0x0?void 0x0:_0xa1b59a['toCartesian']();if((_0x1c8db1=this[_0x2a9098(0x5e1,-0xe2)])!==null&&_0x1c8db1!==void 0x0&&_0x1c8db1[_0x319aa7(_0x3ee0cb._0x21a369,_0x3ee0cb._0x30141c)]&&_0x3f4d58 instanceof Cesium__namespace['Cartesian3']){var _0x38c12a;this[_0x319aa7(_0x3ee0cb._0x382875,0xed6)]=_0x3f4d58,_0x3f4d58&&((_0x38c12a=this['_positions_draw'])===null||_0x38c12a===void 0x0?void 0x0:_0x38c12a['length'])>0x0&&(this[_0x2a9098(0x809,_0x3ee0cb._0x110860)][0x0]=_0x3f4d58);}else this['_isCallbackPositions']&&_0x3f4d58 instanceof Cesium__namespace[_0x2a9098(_0x3ee0cb._0x4da08a,0x1888)]&&this['_cancelPositionsCallback'](),this['_position']=_0x3f4d58;this['_entity']&&this['_updatePositionsHook']();this['_getRectangle_cache']&&delete this[_0x319aa7(0x20c,0x87b)];function _0x2a9098(_0x39f00c,_0x4cae31){return _0x7afdbe(_0x4cae31,_0x39f00c- -0x1f6);}this[_0x2a9098(_0x3ee0cb._0x191bc9,0x1255)](EventType[_0x2a9098(0x7a8,_0x3ee0cb._0x373c3f)],{'position':this[_0x2a9098(0xdc4,_0x3ee0cb._0x55f476)]});}get[_0x7afdbe(0x9d1,0x10c7)](){const _0xcb6858={_0x2162b2:0xa03};function _0x1c3771(_0x55c7b4,_0x13f0c5){return _0x54a7f1(_0x13f0c5- -0x1ca,_0x55c7b4);}var _0x4ba30f;function _0x483a9b(_0x4f0258,_0x4147e9){return _0x7afdbe(_0x4f0258,_0x4147e9- -0x71b);}return getPositionValue(this[_0x483a9b(_0xcb6858._0x2162b2,0x11f4)],(_0x4ba30f=this[_0x1c3771(0xc1a,0x609)])===null||_0x4ba30f===void 0x0?void 0x0:_0x4ba30f['clock']['currentTime']);}get['point'](){const _0xb3e0e3={_0xb23249:0xbe5,_0x243205:0x283,_0x40b3de:0xab4},_0x18358a={_0x342914:0x3e5};function _0x1e4f1b(_0x3ea7fd,_0x466548){return _0x54a7f1(_0x466548- -_0x18358a._0x342914,_0x3ea7fd);}(!this['_point']||isNaN(this['_point']['lat'])||!(this[_0x12c42c(_0xb3e0e3._0xb23249,0xdfd)]instanceof Cesium__namespace['Cartesian3']))&&(this['_point']=LngLatPoint[_0x12c42c(_0xb3e0e3._0x243205,0x42c)](this[_0x1e4f1b(0x1184,_0xb3e0e3._0x40b3de)]));function _0x12c42c(_0x324fa5,_0x31e40d){return _0x7afdbe(_0x324fa5,_0x31e40d- -0x1bd);}return this['_point'];}get['coordinate'](){return this['getCoordinate']();}get['center'](){const _0x151b8f={_0x1a0f1a:0x737,_0x178c10:0xca3};function _0x55c0b1(_0x17947a,_0x135f25){return _0x54a7f1(_0x17947a- -0xa5,_0x135f25);}function _0x27c5a4(_0x124973,_0x5179f8){return _0x54a7f1(_0x124973- -0x9c,_0x5179f8);}var _0x9700a2;return getPositionValue(this[_0x27c5a4(0xdfd,0x3b3)],(_0x9700a2=this[_0x27c5a4(_0x151b8f._0x1a0f1a,_0x151b8f._0x178c10)])===null||_0x9700a2===void 0x0?void 0x0:_0x9700a2['clock']['currentTime']);}get['centerPoint'](){return this['point'];}get[_0x54a7f1(0x10ef,0x1281)](){const _0x4e7eff=this['positionShow'];return _0x4e7eff?[_0x4e7eff]:[];}set[_0x7afdbe(0xe2f,0x131d)](_0x4c4488){_0x4c4488&&_0x4c4488['length']>0x0&&(this['position']=_0x4c4488[0x0]);}get['points'](){const _0x19bb14=this['point'];return _0x19bb14?[_0x19bb14]:[];}get[_0x54a7f1(0xd84,0x1182)](){const _0x5363fb={_0x3d3fd7:0x1c48},_0x1a3ce5={_0x387497:0x387};function _0x835f93(_0x2773da,_0x5e1857){return _0x7afdbe(_0x2773da,_0x5e1857- -_0x1a3ce5._0x387497);}const _0x344b5d=this[_0x835f93(_0x5363fb._0x3d3fd7,0x15dc)];return _0x344b5d?[_0x344b5d]:[];}get['positionsShow'](){const _0x9884fe=this['positionShow'];return _0x9884fe?[_0x9884fe]:[];}get[_0x7afdbe(0x1f9c,0x182e)](){return this['getOrientation']();}set['orientation'](_0x4d0393){this[_0xcd0dac(0x13f4,0x110e)]=_0x4d0393;function _0xcd0dac(_0x54db57,_0x50ac28){return _0x54a7f1(_0x50ac28-0x19d,_0x54db57);}this['updateOrientation']();}get[_0x54a7f1(0x30d,0xae5)](){const _0x3ab62c={_0xacde3a:0x387},_0x2cd59f={_0x29b2db:0x115};function _0x46f623(_0x13ac2d,_0x2d68c7){return _0x54a7f1(_0x2d68c7- -_0x2cd59f._0x29b2db,_0x13ac2d);}return this[_0x46f623(0x47b,_0x3ab62c._0xacde3a)]['heading']??0x0;}set[_0x7afdbe(0x783,0x53b)](_0x2fd9ad){this['style']['heading']=_0x2fd9ad,this['updateOrientation']();}get['pitch'](){const _0x29ad55={_0x5526af:0x63f};function _0x225841(_0x42174b,_0x3a6b54){return _0x54a7f1(_0x3a6b54- -0x4e2,_0x42174b);}function _0x1008aa(_0x1d0461,_0x144b7a){return _0x54a7f1(_0x1d0461-0x1a3,_0x144b7a);}return this[_0x1008aa(_0x29ad55._0x5526af,0xa0f)][_0x225841(0xc78,0x11b0)]??0x0;}set[_0x7afdbe(0x1e77,0x18c0)](_0x1405c1){this['style']['pitch']=_0x1405c1,this['updateOrientation']();}get['roll'](){return this['style']['roll']??0x0;}set[_0x54a7f1(0x1731,0xe11)](_0x2f5774){this['style']['roll']=_0x2f5774,this['updateOrientation']();}get[_0x7afdbe(-0x75,0x895)](){var _0x256e39;return(_0x256e39=this['point'])===null||_0x256e39===void 0x0?void 0x0:_0x256e39['alt'];}set['height'](_0x5ab26f){const _0x349d43={_0x27f97e:0x27c},_0x37a99a={_0x3226a5:0x597};this['point'][_0x7e7902(_0x349d43._0x27f97e,0x6a0)]=_0x5ab26f;function _0x7e7902(_0x14296d,_0x1289c4){return _0x7afdbe(_0x1289c4,_0x14296d- -0x407);}function _0x55d7a8(_0x180c86,_0x2743b9){return _0x7afdbe(_0x180c86,_0x2743b9- -_0x37a99a._0x3226a5);}this['position']=this[_0x7e7902(0xb43,0x12af)];}get['modelMatrix'](){const _0x50053d={_0x295285:0x4d2,_0x5a564e:0x5dc,_0x8f8528:0x930,_0x54b99c:0xa5a,_0x188423:0x32f},_0x176441={_0x1f8bdd:0xa9},_0xb673e6={_0x4b587a:0x3bd};function _0xbe95ec(_0x599193,_0x2e6f75){return _0x7afdbe(_0x2e6f75,_0x599193- -_0xb673e6._0x4b587a);}function _0x1d0b5f(_0x17473b,_0x4a2c70){return _0x54a7f1(_0x4a2c70- -_0x176441._0x1f8bdd,_0x17473b);}if(this['_entity']){var _0x57c095;return this[_0xbe95ec(_0x50053d._0x295285,-_0x50053d._0x5a564e)]['computeModelMatrix']((_0x57c095=this['_map'])===null||_0x57c095===void 0x0||(_0x57c095=_0x57c095[_0x1d0b5f(0x132b,_0x50053d._0x8f8528)])===null||_0x57c095===void 0x0?void 0x0:_0x57c095['currentTime'],new Cesium__namespace[(_0x1d0b5f(_0x50053d._0x54b99c,_0x50053d._0x188423))]());}else return undefined;}get['debugAxis'](){return this['_debugAxis'];}set[_0x54a7f1(0x5db,0x63b)](_0x4222a7){const _0x33d49a={_0x37d4aa:0x8d3,_0x134db4:0x173b,_0x357cf1:0xc8a,_0x1824ad:0x2d2,_0xc5a61d:0xa0c,_0x5c4115:0xc52,_0xb0899:0xae6,_0x17e97a:0xa9d,_0x11e744:0x1117,_0x239f45:0x143};function _0x1f3f77(_0x28a8ca,_0x3c45c3){return _0x54a7f1(_0x28a8ca- -0x27e,_0x3c45c3);}this['_debugAxis']=_0x4222a7;function _0x40e40b(_0x2a4ef4,_0x3dd386){return _0x54a7f1(_0x2a4ef4-0x243,_0x3dd386);}if(!this['debugAxisPrimitive']){const _0x598488=Math['max'](Cesium__namespace['Cartographic']['fromCartesian'](this['positionShow'])['height']*0.06,0x64);this['debugAxisPrimitive']=this['_layer']['primitiveCollection'][_0x40e40b(_0x33d49a._0x37d4aa,0xf9e)](new Cesium__namespace[(_0x40e40b(_0x33d49a._0x134db4,_0x33d49a._0x357cf1))]({'modelMatrix':this['modelMatrix'],'length':_0x598488,'width':0x5})),this[_0x1f3f77(0x143,_0x33d49a._0x1824ad)]['_tooltipConfig']={'content':_0x40e40b(0x6a3,_0x33d49a._0xc5a61d),'options':this['options'][_0x40e40b(_0x33d49a._0x5c4115,_0x33d49a._0xb0899)]},(this['position']instanceof Cesium__namespace['CallbackProperty']||this[_0x1f3f77(0x1463,_0x33d49a._0x17e97a)]instanceof Cesium__namespace[_0x40e40b(0x124e,0x1523)])&&(this['debugAxisPrimitive'][_0x40e40b(0xc97,_0x33d49a._0x11e744)]=setInterval(()=>{function _0xe2f93c(_0x3fd98a,_0x27af59){return _0x40e40b(_0x27af59- -0x748,_0x3fd98a);}this['debugAxisPrimitive']['modelMatrix']=this[_0xe2f93c(-0x573,0x221)];},0x12c)),this['bindPickId'](this['debugAxisPrimitive']);}this[_0x1f3f77(_0x33d49a._0x239f45,0x917)]['show']=_0x4222a7;}get[_0x54a7f1(0xe24,0x151f)](){const _0x1770b3={_0x5edd8b:0xa9c,_0x4dba62:0xf0d};function _0x22a7c9(_0xf9d21e,_0x3745bd){return _0x54a7f1(_0xf9d21e- -0x4e9,_0x3745bd);}return this['debugAxisPrimitive']?this['debugAxisPrimitive'][_0x22a7c9(_0x1770b3._0x5edd8b,_0x1770b3._0x4dba62)]:0x0;}set['debugAxisLength'](_0x3e91d7){const _0x364697={_0x40bca1:0x272};function _0x1f54d9(_0x327a68,_0x1d0f3b){return _0x54a7f1(_0x1d0f3b- -0x369,_0x327a68);}!this['debugAxisPrimitive']&&(this[_0x1f54d9(0x4a6,_0x364697._0x40bca1)]=!![]),this['debugAxisPrimitive']['length']=_0x3e91d7;}get[_0x7afdbe(0x883,0x64b)](){const _0x1f7713={_0x273595:0xfc6},_0x479e5b={_0x35f1b6:0x51b};if(this['options']['objectsToExclude'])return this['options']['objectsToExclude'];function _0x48acf1(_0x166c03,_0x5e9294){return _0x7afdbe(_0x166c03,_0x5e9294- -_0x479e5b._0x35f1b6);}if(this['_objectsToExcludee'])return this[_0x48acf1(0x5e7,_0x1f7713._0x273595)];return undefined;}set[_0x54a7f1(0x41d,-0x4f0)](_0xc69db0){this['_objectsToExclude']=_0xc69db0;}['_mountedHook'](){}['_removedHook'](){const _0x46372f={_0x58b0c8:0x2280,_0x131cbe:0x24,_0x51448e:0x599},_0x413c9c={_0x53d94e:0x23},_0x537403={_0x583e9d:0x56};function _0x2c2ac9(_0x4b738e,_0x1fb0bd){return _0x7afdbe(_0x4b738e,_0x1fb0bd- -_0x537403._0x583e9d);}function _0x1ec023(_0x58140b,_0x3a1cca){return _0x7afdbe(_0x3a1cca,_0x58140b- -_0x413c9c._0x53d94e);}super['_removedHook'](),this['debugAxisPrimitive']&&(clearInterval(this['debugAxisPrimitive']['_timeTik']),this[_0x1ec023(0x1838,_0x46372f._0x58b0c8)]['primitiveCollection']['remove'](this[_0x1ec023(0x5cc,0x517)]),delete this[_0x2c2ac9(-_0x46372f._0x131cbe,_0x46372f._0x51448e)]);}['_updatePositionsHook'](){const _0x399bc0={_0x487cb2:0x495};this['_entity'][_0x298337(0xc12,0x124c)]=this['_position'];function _0x1036d9(_0x1011c0,_0x41cf01){return _0x54a7f1(_0x1011c0-0x28f,_0x41cf01);}this['debugAxisPrimitive']&&(this[_0x298337(0x8ef,-0xd4)]['modelMatrix']=this[_0x1036d9(0x9b5,0x12f1)]);this[_0x298337(0xd42,0xc58)]();function _0x298337(_0x2b536c,_0xdc88f5){return _0x54a7f1(_0xdc88f5- -_0x399bc0._0x487cb2,_0x2b536c);}this['_updateLabelPosition']();}['updateOrientation'](){const _0x1f9a64={_0x549a54:0x72b,_0x55415a:0x1,_0x3df037:0xfdd,_0x202c02:0x7f0},_0x10fd8a={_0xe66fa1:0x25a};function _0x2ebfea(_0x5bac24,_0x22207e){return _0x54a7f1(_0x22207e-_0x10fd8a._0xe66fa1,_0x5bac24);}function _0x5038ca(_0x70296c,_0x42df16){return _0x54a7f1(_0x42df16-0xca,_0x70296c);}return this[_0x5038ca(0xe80,_0x1f9a64._0x549a54)][_0x2ebfea(0x1fe7,0x185a)]=this[_0x2ebfea(-_0x1f9a64._0x55415a,0xab2)](),this[_0x2ebfea(0xc05,0x61b)]&&(this['debugAxisPrimitive'][_0x5038ca(_0x1f9a64._0x3df037,_0x1f9a64._0x202c02)]=this[_0x2ebfea(0x119f,0x980)]),this['_entity'][_0x5038ca(0x143b,0x16ca)];}[_0x54a7f1(0x858,0xa2e)](_0x28aa27){const _0x350518={_0x118b7a:0x6ab,_0x161d39:0xb26,_0x5a033a:0x1139,_0x452098:0x5c6,_0x2e24a9:0x1e51,_0x49e08e:0x1145,_0x43d842:0x1711,_0x1c53eb:0x125d,_0x230efa:0xf97,_0x5bcf29:0x1525,_0x705382:0x1713},_0x415400={_0x3f7e33:0x20},_0x5d7941={_0x1207aa:0x1aeb,_0x1954ad:0x134,_0x46be25:0x14,_0x4db212:0x980,_0x33c3a0:0x60b,_0x5146d5:0xf05,_0x308b78:0x143a},_0x29f8dc={_0x36ec4c:0x2fc},_0x1768b1={_0x40a034:0x3};_0x28aa27=_0x28aa27||this[_0x261c32(0x2d3,0x8b3)][_0x2935d2(_0x350518._0x118b7a,0x39d)]||this[_0x261c32(_0x350518._0x161d39,0x49f)];let _0x4ae2a3=this['options']['orientation']||this['_orientation'];function _0x261c32(_0x4fca01,_0x359dd5){return _0x54a7f1(_0x359dd5-_0x1768b1._0x40a034,_0x4fca01);}if(_0x4ae2a3){const _0x5b8233=_0x28aa27[_0x2935d2(0x450,0x5d7)]||Cesium__namespace[_0x261c32(0x17c4,0x1684)](_0x28aa27['heading'])||Cesium__namespace['defined'](_0x28aa27['pitch'])||Cesium__namespace['defined'](_0x28aa27[_0x261c32(_0x350518._0x5a033a,0x1734)]);if(_0x4ae2a3 instanceof Cesium__namespace['VelocityOrientationProperty']&&_0x5b8233){const _0x4cadc1=_0x4ae2a3,_0x511627=Cesium__namespace['Math']['toRadians'](_0x28aa27['heading']??this[_0x2935d2(0x2ed,-_0x350518._0x452098)]),_0x2fb6c1=Cesium__namespace['Math']['toRadians'](_0x28aa27[_0x2935d2(0x1672,0x192a)]??this[_0x261c32(_0x350518._0x2e24a9,0x1695)]),_0x25b4fb=Cesium__namespace[_0x2935d2(0x128c,_0x350518._0x49e08e)]['toRadians'](_0x28aa27[_0x261c32(0x1603,0x1734)]??this[_0x2935d2(_0x350518._0x43d842,_0x350518._0x1c53eb)]);_0x4ae2a3=new Cesium__namespace['CallbackProperty'](_0x43d6d8=>{const _0x2a05cb={_0x18da8e:0x1fe},_0x152007=getPositionValue(this['position'],_0x43d6d8),_0x52ce48=_0x4cadc1['getValue'](_0x43d6d8);if(!_0x152007||!_0x52ce48)return null;const _0x20481b=getHeadingPitchRollByOrientation(_0x152007,_0x52ce48,this['ellipsoid'],this['fixedFrameTransform']);_0x28aa27['mergeOrientation']?(_0x20481b['heading']+=_0x511627,_0x20481b['roll']+=_0x25b4fb,_0x20481b['pitch']+=_0x2fb6c1):(Cesium__namespace[_0x5c0ac2(_0x5d7941._0x1207aa,0x1486)](_0x28aa27[_0x334168(_0x5d7941._0x1954ad,0x14)])&&(_0x20481b[_0x334168(-0x7b1,_0x5d7941._0x46be25)]=_0x511627),Cesium__namespace[_0x5c0ac2(0x1113,0x1486)](_0x28aa27['roll'])&&(_0x20481b['roll']=_0x25b4fb),Cesium__namespace[_0x334168(0x1668,0x1388)](_0x28aa27[_0x5c0ac2(0x1248,0x1497)])&&(_0x20481b['pitch']=_0x2fb6c1));function _0x5c0ac2(_0x2fb798,_0x3f5a0e){return _0x261c32(_0x2fb798,_0x3f5a0e- -_0x2a05cb._0x18da8e);}function _0x334168(_0x1d3259,_0x26a351){return _0x261c32(_0x1d3259,_0x26a351- -_0x29f8dc._0x36ec4c);}return Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x152007,_0x20481b,this[_0x334168(_0x5d7941._0x4db212,_0x5d7941._0x33c3a0)],this[_0x334168(_0x5d7941._0x5146d5,_0x5d7941._0x308b78)]);},![]);}return _0x4ae2a3;}const _0x3fbecb=this['positionShow'];if(_0x3fbecb==null)return;const _0x4f17ce=Cesium__namespace[_0x2935d2(0x128c,0x1882)]['toRadians'](_0x28aa27['heading']??0x0);function _0x2935d2(_0x482da,_0x35ff92){return _0x54a7f1(_0x482da- -_0x415400._0x3f7e33,_0x35ff92);}const _0x21c4bd=Cesium__namespace['Math']['toRadians'](_0x28aa27['pitch']??0x0),_0x367ff0=Cesium__namespace[_0x2935d2(0x128c,0x1082)][_0x261c32(_0x350518._0x230efa,_0x350518._0x5bcf29)](_0x28aa27['roll']??0x0),_0x2868b2=new Cesium__namespace[(_0x2935d2(0xb42,0xe84))](_0x4f17ce,_0x21c4bd,_0x367ff0);return Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x3fbecb,_0x2868b2,this['ellipsoid'],this[_0x2935d2(_0x350518._0x705382,0x211c)]);}['_getGeoJsonGeometry'](_0x1425f6){function _0x1c1f2c(_0x2f8880,_0x3f742c){return _0x54a7f1(_0x3f742c-0x1d1,_0x2f8880);}return{'type':_0x1c1f2c(0xf1f,0x128c),'coordinates':this['getCoordinate'](_0x1425f6===null||_0x1425f6===void 0x0?void 0x0:_0x1425f6['noAlt'])};}['clearDynamicPosition'](){return this['_orientation']=undefined,this['property']=null,this['position']=undefined,this;}['_initSampledPositionProperty'](){const _0x398f43={_0x1b7887:0x52e,_0x10c452:0x3ae,_0x299c8b:0xdd3,_0x2eb7c3:0xd15,_0x4dea65:0x1487,_0x1e8e19:0x7ac,_0x7fb625:0x1a95,_0x43180b:0x433,_0x444ef7:0xcb4,_0x2a950b:0xe66,_0x418b32:0x14f5,_0x4c2d6f:0xad4,_0x2ae99a:0x1694,_0x524de5:0x15d6},_0x3c037b={_0x119779:0xac4,_0x40c208:0xab8,_0x28acc5:0x180d,_0x4e35dd:0x1198,_0x101e1e:0x714,_0x27b7a6:0x10e7,_0x3c9ac8:0x72e,_0x40c5ed:0x168d,_0x5cff9d:0x1c6b,_0x1c2f2e:0x66e,_0x3d53ae:0x1e5e},_0x3b3e31={_0x4785a3:0x50e};this[_0x1b679c(0xa6b,0x575)]=-0x1,this['_frameRateHeight']=this['options']['frameRateHeight']??0x1e;function _0x1b679c(_0xa15eb4,_0x4f57ca){return _0x54a7f1(_0x4f57ca- -0x10b,_0xa15eb4);}this[_0x1b679c(-_0x398f43._0x1b7887,0x2d1)]=this['options']['maxCacheCount']??0x32;const _0x47e735=new Cesium__namespace[(_0x4540a7(0xb09,0x12f4))](this[_0x4540a7(_0x398f43._0x10c452,_0x398f43._0x299c8b)][_0x4540a7(_0x398f43._0x2eb7c3,_0x398f43._0x4dea65)],this['options']['numberOfDerivatives']);_0x47e735[_0x4540a7(0xe73,_0x398f43._0x1e8e19)]=this[_0x1b679c(0x42e,0x7a5)]['forwardExtrapolationType']??Cesium__namespace['ExtrapolationType'][_0x1b679c(0x89a,0x12e1)],_0x47e735[_0x1b679c(_0x398f43._0x7fb625,0x1196)]=this[_0x4540a7(_0x398f43._0x10c452,_0x398f43._0x43180b)][_0x4540a7(0xd9f,_0x398f43._0x444ef7)]??Cesium__namespace['ExtrapolationType']['HOLD'];!this['_orientation']&&(this[_0x1b679c(0x9a7,_0x398f43._0x2a950b)]=new Cesium__namespace['VelocityOrientationProperty'](_0x47e735),this['_entity']&&(this[_0x1b679c(0xa2f,0x556)][_0x1b679c(0xab7,_0x398f43._0x418b32)]=this[_0x4540a7(0x356,_0x398f43._0x4c2d6f)]()));this['property']=_0x47e735;function _0x4540a7(_0x34a6af,_0x4ad0c3){return _0x7afdbe(_0x4ad0c3,_0x34a6af- -0x730);}this[_0x1b679c(_0x398f43._0x2ae99a,_0x398f43._0x524de5)]=new Cesium__namespace['CallbackProperty'](_0x37280a=>{const _0x73cd9b={_0x45b3e7:0xd1};if(!this['_map'])return undefined;let _0xd42239=_0x47e735[_0x275d74(_0x3c037b._0x119779,_0x3c037b._0x40c208)](_0x37280a);if(!_0xd42239)return!this['_last_isFireStop']&&this['_stopTime']&&Cesium__namespace['JulianDate']['greaterThanOrEquals'](_0x37280a,this['_stopTime'])&&(this['_last_isFireStop']=!![],this['fire'](EventType['stop'])),this[_0x275d74(_0x3c037b._0x28acc5,_0x3c037b._0x4e35dd)];if(_0xd42239&&this['options']['clampToTileset']){this['_clampToTilesetFrame']++;if(!this['_clampToTilesetHeight']||this['_clampToTilesetFrame']%this['_frameRateHeight']===0x0){const _0x342b54=getHeight(this[_0x472975(0x7df,0x213)][_0x275d74(0x1a4e,0x1045)],_0xd42239);_0x342b54&&(this[_0x472975(0x93e,-0xc6)]=_0x342b54);}if(this['_clampToTilesetHeight']){const _0x301818=Cesium__namespace['Cartographic'][_0x275d74(_0x3c037b._0x101e1e,0x303)](_0xd42239);let _0x1951dd=this[_0x275d74(_0x3c037b._0x27b7a6,_0x3c037b._0x3c9ac8)]();!Cesium__namespace[_0x472975(_0x3c037b._0x40c5ed,0x1be4)](_0x1951dd)&&(_0x1951dd=0x0),_0xd42239=Cesium__namespace[_0x472975(0x12f3,_0x3c037b._0x5cff9d)]['fromRadians'](_0x301818[_0x275d74(0xcc,_0x3c037b._0x1c2f2e)],_0x301818['latitude'],this['_clampToTilesetHeight']+_0x1951dd);}}function _0x472975(_0x10bed3,_0x521425){return _0x4540a7(_0x10bed3-_0x3b3e31._0x4785a3,_0x521425);}this[_0x275d74(-0x32e,0x723)]&&(this[_0x275d74(-0x1bd,0x723)]['position']=_0xd42239);this[_0x275d74(0x1806,0x1198)]=_0xd42239,this[_0x472975(0x1534,_0x3c037b._0x3d53ae)]=![];function _0x275d74(_0x3210f1,_0x468dbc){return _0x1b679c(_0x3210f1,_0x468dbc-_0x73cd9b._0x45b3e7);}return _0xd42239;},![]),this[_0x1b679c(0x3a5,0x7a5)][_0x4540a7(0x2b5,-0x3af)]&&(this['position']=_0x47e735);}['addDynamicPosition'](_0x14f34f,_0x2c705a){const _0x4c89cf={_0x17f71e:0x301,_0x28d388:0x393,_0x4b2fa4:0x14a,_0x287bcb:0x43f,_0x1ab3a7:0x938,_0x413530:0x2a5,_0x1fba9a:0xab3,_0x1b7cfa:0x1516,_0x2ff046:0x7d,_0x4ebf42:0x5b9,_0x81ba62:0x632,_0x41faa9:0x1eb,_0x1b5ee0:0x1ea,_0x421ef9:0xd67,_0x1ba6d0:0x1067},_0x40af16={_0x337961:0x36d};var _0x37abec,_0x2ec659;!this[_0x361ee0(0x8cb,0x1051)]&&this['_initSampledPositionProperty']();this['_removeDynamicPosition']();const _0x441d15=((_0x37abec=this[_0x361ee0(_0x4c89cf._0x17f71e,0xb16)])===null||_0x37abec===void 0x0||(_0x37abec=_0x37abec['clock'])===null||_0x37abec===void 0x0?void 0x0:_0x37abec['currentTime'])||Cesium__namespace[_0x2bd8ff(_0x4c89cf._0x28d388,0xa9d)][_0x361ee0(_0x4c89cf._0x4b2fa4,-0x62b)]();if(!_0x2c705a)_0x2c705a=_0x441d15;else{if(isNumber(_0x2c705a))_0x2c705a=Cesium__namespace['JulianDate'][_0x361ee0(-0xbf,-_0x4c89cf._0x287bcb)](_0x441d15,_0x2c705a,new Cesium__namespace[(_0x361ee0(_0x4c89cf._0x1ab3a7,0x448))]());else{if(isString(_0x2c705a))_0x2c705a['indexOf']('Z')===-0x1?_0x2c705a=Cesium__namespace['JulianDate'][_0x2bd8ff(0x1082,0xfc2)](new Date(_0x2c705a)):_0x2c705a=Cesium__namespace['JulianDate']['fromIso8601'](_0x2c705a);else _0x2c705a instanceof Date&&(_0x2c705a=Cesium__namespace['JulianDate']['fromDate'](_0x2c705a));}}_0x14f34f=LngLatPoint[_0x2bd8ff(0x18,0x4e)](_0x14f34f);const _0x51abe9=(_0x2ec659=this['_sampledPositionProperty'])===null||_0x2ec659===void 0x0||(_0x2ec659=_0x2ec659['_property'])===null||_0x2ec659===void 0x0?void 0x0:_0x2ec659[_0x2bd8ff(-_0x4c89cf._0x413530,0x51a)];if(this['options'][_0x361ee0(0x1177,0x10ee)]&&(_0x51abe9===null||_0x51abe9===void 0x0?void 0x0:_0x51abe9[_0x361ee0(_0x4c89cf._0x1fba9a,_0x4c89cf._0x1b7cfa)])>0x0&&this[_0x2bd8ff(0x16a,0xa1f)]){const _0x54b244=_0x51abe9[_0x51abe9['length']-0x1];if(Cesium__namespace['JulianDate']['secondsDifference'](_0x441d15,_0x54b244)>0.3){let _0x5a81af=this['_position'];if(this['_lastDynamicPosition']){const _0x16aee7=0.01;_0x5a81af=getOnLinePointByLen(this[_0x361ee0(0xc95,0x2c8)],this['_position'],_0x16aee7,!![]);}_0x5a81af=setPositionsHeight(_0x5a81af,_0x14f34f[_0x361ee0(-_0x4c89cf._0x2ff046,-_0x4c89cf._0x4ebf42)]||0x0),this['_sampledPositionProperty']['addSample'](_0x441d15,_0x5a81af);}}function _0x2bd8ff(_0x1fe5e1,_0x16a25c){return _0x54a7f1(_0x16a25c- -_0x40af16._0x337961,_0x1fe5e1);}const _0x164ee2=_0x14f34f[_0x361ee0(_0x4c89cf._0x81ba62,-_0x4c89cf._0x41faa9)]();function _0x361ee0(_0x24f65b,_0x555c52){return _0x7afdbe(_0x555c52,_0x24f65b- -0x700);}return this['property'][_0x2bd8ff(0x656,-0x8f)](_0x2c705a,_0x164ee2),this['_auto_availability']&&(this[_0x361ee0(0x3de,_0x4c89cf._0x1b5ee0)][_0x361ee0(0x2e5,_0x4c89cf._0x421ef9)]||this['type']==='path')&&this['_setAutoAvailability'](),this[_0x361ee0(0xc95,_0x4c89cf._0x1ba6d0)]=_0x164ee2,this['_stopTime']=_0x2c705a,this;}['_removeDynamicPosition'](){const _0x194836={_0x2f2a31:0x1ae6,_0x18ce42:0x152a},_0x53efb7={_0x4bf12e:0x214};var _0x429493;function _0x55c101(_0x4cc45b,_0x1cb683){return _0x54a7f1(_0x1cb683-0x10a,_0x4cc45b);}if(this[_0x413a5f(0x1c8,0x682)]<0x1)return;const _0x155f3d=(_0x429493=this['property'])===null||_0x429493===void 0x0||(_0x429493=_0x429493[_0x55c101(_0x194836._0x2f2a31,_0x194836._0x18ce42)])===null||_0x429493===void 0x0?void 0x0:_0x429493['_times'];function _0x413a5f(_0x245ba4,_0x285253){return _0x54a7f1(_0x245ba4- -_0x53efb7._0x4bf12e,_0x285253);}if(!_0x155f3d||(_0x155f3d===null||_0x155f3d===void 0x0?void 0x0:_0x155f3d[_0x55c101(0x15b3,0x108f)])===0x0)return;const _0x851cca=_0x155f3d['length']-this['_maxCacheCount']-0x1;if(_0x851cca>0x0){const _0x417bb4={};_0x417bb4[_0x413a5f(0x717,0xd13)]=_0x155f3d[0x0],_0x417bb4['stop']=_0x155f3d[_0x851cca],this['property']['removeSamples'](new Cesium__namespace['TimeInterval'](_0x417bb4));}}[_0x54a7f1(0x1761,0x1c9a)](_0x3aaefd){const _0x5b1e03={_0x2358b7:0x15e5,_0x4df218:0xb9d,_0x13c4af:0xd93,_0x2801c9:0x110e,_0x1317f8:0x9ac,_0x2f3ce3:0xf74,_0x372610:0x6cc,_0x2eea26:0x5b2,_0x2b32f4:0x474,_0x14cb9c:0xe8b,_0x40b586:0xe8b,_0x396e46:0xbe9,_0xd67a56:0x4b5,_0x3d8da6:0x559},_0x299fda={_0x53b04a:0x1ad};var _0x30cf53;function _0x598c9b(_0x585c4b,_0x6ea8d){return _0x7afdbe(_0x585c4b,_0x6ea8d- -_0x299fda._0x53b04a);}function _0x2cb1af(_0x1c7979,_0x16cf1c){return _0x7afdbe(_0x1c7979,_0x16cf1c- -0x44f);}const _0x433891=this['property']||this['position'],_0x4404ea=_0x433891===null||_0x433891===void 0x0||(_0x30cf53=_0x433891['_property'])===null||_0x30cf53===void 0x0?void 0x0:_0x30cf53['_times'];if(_0x4404ea&&_0x4404ea[_0x598c9b(_0x5b1e03._0x2358b7,0x1006)]>0x0){var _0x262ecb,_0x2de95a;let _0x3215aa=_0x4404ea[0x0],_0x32d834=_0x4404ea[_0x4404ea['length']-0x1];((_0x262ecb=this['position'])===null||_0x262ecb===void 0x0?void 0x0:_0x262ecb[_0x2cb1af(0x15ab,0x1080)])===Cesium__namespace['ExtrapolationType']['HOLD']&&(_0x3215aa=Cesium__namespace['JulianDate']['fromDate'](new Date(0x44c,0x1,0x1)));((_0x2de95a=this['position'])===null||_0x2de95a===void 0x0?void 0x0:_0x2de95a[_0x598c9b(_0x5b1e03._0x4df218,0x13f6)])===Cesium__namespace['ExtrapolationType']['HOLD']&&(_0x32d834=Cesium__namespace['JulianDate'][_0x2cb1af(_0x5b1e03._0x13c4af,_0x5b1e03._0x2801c9)](new Date(0x834,0x1,0x1)));const _0x8c4a03={};_0x8c4a03[_0x598c9b(0x747,_0x5b1e03._0x1317f8)]=_0x3215aa,_0x8c4a03['stop']=_0x32d834,this[_0x2cb1af(0x12f5,_0x5b1e03._0x2f3ce3)]=new Cesium__namespace[(_0x2cb1af(_0x5b1e03._0x372610,0xc4f))]([new Cesium__namespace['TimeInterval'](_0x8c4a03)]);_0x3aaefd&&(_0x3aaefd['availability']=this['_availability']);this[_0x2cb1af(-0x256,0x83a)]=!![];return;}if(this['_map']){var _0x3cb75f,_0xfbc1bb;let _0x1d7064=this[_0x2cb1af(0x146,_0x5b1e03._0x2eea26)][_0x598c9b(_0x5b1e03._0x2b32f4,0xa5a)]['currentTime'],_0x33554a=Cesium__namespace[_0x598c9b(0xbe5,_0x5b1e03._0x14cb9c)][_0x2cb1af(0x786,0x14d)](_0x1d7064,0x1,new Cesium__namespace['JulianDate']());((_0x3cb75f=this['position'])===null||_0x3cb75f===void 0x0?void 0x0:_0x3cb75f['backwardExtrapolationType'])===Cesium__namespace[_0x598c9b(-0x1d3,0x832)]['HOLD']&&(_0x1d7064=Cesium__namespace[_0x598c9b(0x13f9,_0x5b1e03._0x40b586)]['addDays'](_0x1d7064,-0x16d,new Cesium__namespace[(_0x2cb1af(0x726,_0x5b1e03._0x396e46))]()));((_0xfbc1bb=this['position'])===null||_0xfbc1bb===void 0x0?void 0x0:_0xfbc1bb['forwardExtrapolationType'])===Cesium__namespace['ExtrapolationType']['HOLD']&&(_0x33554a=Cesium__namespace['JulianDate'][_0x2cb1af(-_0x5b1e03._0xd67a56,0x14d)](_0x33554a,0x16d,new Cesium__namespace[(_0x2cb1af(0x1192,0xbe9))]()));const _0x53bab3={};_0x53bab3['start']=_0x1d7064,_0x53bab3[_0x2cb1af(0x320,_0x5b1e03._0x3d8da6)]=_0x33554a,this[_0x2cb1af(0x10a4,0xf74)]=new Cesium__namespace[(_0x2cb1af(0x7ac,0xc4f))]([new Cesium__namespace['TimeInterval'](_0x53bab3)]),_0x3aaefd&&(_0x3aaefd['availability']=this['_availability']);}}['_getPopupPosition'](){function _0x1850cd(_0x1cc70e,_0x29581d){return _0x7afdbe(_0x1cc70e,_0x29581d- -0x595);}return this['property']||this['position']||this[_0x1850cd(0x82c,0x216)];}[_0x7afdbe(0x413,0xa78)](_0x252fc6={}){const _0x38c957={_0x23b4e4:0xf2d,_0x538f1d:0x1507},_0x460cb3={_0x3656f9:0x1100};function _0xefa068(_0x155976,_0x5b32bc){return _0x54a7f1(_0x5b32bc- -0x3ab,_0x155976);}function _0x5c2ba1(_0x4bbc49,_0x261e0a){return _0x54a7f1(_0x261e0a- -0x126,_0x4bbc49);}return getSurfaceHeight(this[_0x5c2ba1(_0x38c957._0x23b4e4,0x6ad)]['scene'],this[_0xefa068(0x1758,0x1336)],{'objectsToExclude':this[_0x5c2ba1(0xf3e,_0x38c957._0x538f1d)]['objectsToExclude'],..._0x252fc6})['then'](_0x33515c=>{function _0x3585b9(_0x4303cf,_0x1fa6a9){return _0xefa068(_0x1fa6a9,_0x4303cf-0x157);}function _0x34c3b4(_0x48755c,_0x66d1fb){return _0xefa068(_0x48755c,_0x66d1fb-0x55c);}_0x33515c[_0x3585b9(0x148d,_0x460cb3._0x3656f9)]&&(this[_0x3585b9(0x148d,0x1365)]=_0x33515c['position']);});}['getCoordinate'](_0x128535){const _0x1a58e5={_0x4b3c83:0xb93},_0x11d864={_0x2999fa:0x3b7};function _0x831a33(_0x5e1a7a,_0x457b37){return _0x7afdbe(_0x457b37,_0x5e1a7a- -_0x11d864._0x2999fa);}return this[_0x831a33(_0x1a58e5._0x4b3c83,0xd08)]?this['point']['toArray'](_0x128535):[];}[_0x7afdbe(0x110f,0xe44)](_0x4e7f20){const _0x57bba9={_0xb091cf:0x1364,_0x2a11e9:0x198e},_0x567630={_0x233e0b:0x79},_0x543ee7={_0x504134:0x14c};function _0x4cf4a0(_0x2908af,_0x5c6410){return _0x54a7f1(_0x2908af- -_0x543ee7._0x504134,_0x5c6410);}function _0x3a6407(_0xa22e53,_0x38ac09){return _0x54a7f1(_0xa22e53- -_0x567630._0x233e0b,_0x38ac09);}return this['_setPositionsToCallback'](),_0x4e7f20&&(this[_0x3a6407(_0x57bba9._0xb091cf,_0x57bba9._0x2a11e9)]=LngLatPoint['toCartesian'](_0x4e7f20)),this[_0x3a6407(0x1364,0x1295)];}['_setPositionsToCallback'](){const _0xc805d5={_0x187562:0x696,_0x11adef:0xa40,_0x30d4e6:0xa1f},_0x2a5da5={_0x51619c:0x5c1},_0x7cb4ff={_0x237da7:0x11e3,_0x4f011c:0x1639,_0xf2a4d7:0xed0,_0x2ca9e7:0xf0f};function _0x129029(_0x2e00e8,_0x32fb42){return _0x54a7f1(_0x2e00e8- -0x459,_0x32fb42);}if(this[_0x129029(0xb88,_0xc805d5._0x187562)])return;this['_isCallbackPositions']=!![],this['_position_draw']=this[_0x129029(_0xc805d5._0x11adef,_0xc805d5._0x30d4e6)],this['position']=new Cesium__namespace[(_0x280ec9(0x160,0x9b7))](_0x19925d=>{this[_0xb0094d(0x18a0,_0x7cb4ff._0x237da7)](this[_0xb0094d(_0x7cb4ff._0x4f011c,_0x7cb4ff._0xf2a4d7)]);function _0xb0094d(_0x11a63e,_0x4b04b2){return _0x280ec9(_0x4b04b2,_0x11a63e-0x5ef);}function _0x3e7b5a(_0x54fe23,_0x4bc3eb){return _0x129029(_0x54fe23- -0x75,_0x4bc3eb);}return this[_0x3e7b5a(_0x7cb4ff._0x2ca9e7,0x74e)];},![]),this['updateAttrForDrawing']&&this['updateAttrForDrawing'](!![]);function _0x280ec9(_0x57f8c6,_0x1a22a0){return _0x7afdbe(_0x57f8c6,_0x1a22a0- -_0x2a5da5._0x51619c);}this['_updateOutlineToCallback'](),this['_updateLabelPosition'](this['_position_draw']);}['_cancelPositionsCallback'](){const _0x16fcbd={_0x16b6d8:0x1a60,_0x1e5b5d:0xfb7,_0x15c5de:0x1552,_0x1743b8:0x2214,_0x564d2e:0x186e},_0x1a2dd5={_0x48e352:0x18d};if(!this['_isCallbackPositions'])return;function _0x3c1be2(_0x2e04d9,_0x2f6395){return _0x7afdbe(_0x2f6395,_0x2e04d9- -0x3);}this[_0x3c1be2(0x120c,_0x16fcbd._0x16b6d8)]=![];function _0x43d679(_0x1802fd,_0x37f485){return _0x54a7f1(_0x37f485-_0x1a2dd5._0x48e352,_0x1802fd);}this[_0x3c1be2(_0x16fcbd._0x1e5b5d,_0x16fcbd._0x15c5de)]=this['_position_draw'],this[_0x43d679(0x14f3,0xc9e)]=LngLatPoint[_0x43d679(0x81c,0x4ca)](this['_position']),delete this['_position_draw'],this['_entity']&&(this['_entity'][_0x43d679(_0x16fcbd._0x1743b8,_0x16fcbd._0x564d2e)]=this['_position']);}['_startDrawHook'](){const _0x2fb1db={_0x207c9a:0x118b,_0x3ba539:0xf03,_0x3cead6:0xc0b,_0x1e99da:0xfd5,_0x482d2c:0x869},_0x47b896={_0x494662:0x96};function _0x543f31(_0x16b6a1,_0x2dfa49){return _0x54a7f1(_0x16b6a1-_0x47b896._0x494662,_0x2dfa49);}this[_0x58f3da(0x1624,_0x2fb1db._0x207c9a)]=this['options'][_0x58f3da(0xd11,0xde1)],this[_0x543f31(0x869,_0x2fb1db._0x3ba539)]['on'](EventType[_0x543f31(_0x2fb1db._0x3cead6,0xebc)],this['_onMouseMoveHandler_point'],this);function _0x58f3da(_0x36091c,_0x1f1721){return _0x7afdbe(_0x1f1721,_0x36091c- -0x1fd);}this['_drawAddEventType']&&this['_map']['on'](this['_drawAddEventType'],this['_onClickHandler_point'],this),this[_0x58f3da(_0x2fb1db._0x1e99da,0x159d)]&&this[_0x58f3da(0xfd5,0x139c)]!==EventType['dblClick']&&this[_0x543f31(_0x2fb1db._0x482d2c,0x1ba)]['on'](this['_drawEndEventType'],this['_onClickHandler_point'],this);}['_stopDrawHook'](){const _0x11a6a9={_0x318262:0x8e0,_0x2ecb6a:0x678,_0x622b9b:0x1176,_0x24a911:0x938};function _0x1fa27f(_0x18a965,_0x41af12){return _0x54a7f1(_0x18a965- -0x295,_0x41af12);}this[_0x1fa27f(0x53e,0xabc)]['off'](EventType[_0x1fa27f(_0x11a6a9._0x318262,_0x11a6a9._0x2ecb6a)],this['_onMouseMoveHandler_point'],this);this[_0x6ca8f3(_0x11a6a9._0x622b9b,0x180e)]&&this['_map']['off'](this['_drawAddEventType'],this['_onClickHandler_point'],this);function _0x6ca8f3(_0x2bb65b,_0x5bc4b1){return _0x7afdbe(_0x5bc4b1,_0x2bb65b- -0x26a);}this['_drawEndEventType']&&this[_0x1fa27f(0xd0f,0x613)]!==EventType['dblClick']&&this['_map'][_0x1fa27f(0xb8,-0x9bd)](this[_0x6ca8f3(0xf68,0xee3)],this[_0x6ca8f3(_0x11a6a9._0x24a911,0xafe)],this),this[_0x1fa27f(0x135e,0x1c48)]=!![];}['_onMouseMoveHandler_point'](_0x4d31dd){const _0xb15222={_0x342aa2:0x758,_0x594d88:0x7a9,_0x7df896:0x11be,_0x285636:0x7a9,_0x4f534b:0x4c0,_0x4ae28d:0x172e,_0x564d21:0x80c,_0xbadab7:0x119},_0x12fc5b={_0x84f8dc:0x10f},_0x4a8c1a=_0x4d31dd[_0x157763(_0xb15222._0x342aa2,0x5f7)];function _0x1c1dff(_0x1890d6,_0x107738){return _0x7afdbe(_0x107738,_0x1890d6- -0x258);}_0x4a8c1a&&(this['_position_draw']=_0x4a8c1a,this['_hadRemoveLastMovePoint']=!![]);this[_0x1c1dff(_0xb15222._0x594d88,_0xb15222._0x7df896)]['openSmallTooltip'](_0x4d31dd['endPosition'],this['_draw_tooltip']||this[_0x1c1dff(_0xb15222._0x285636,_0xb15222._0x4f534b)]['getLangText'](_0x1c1dff(_0xb15222._0x4ae28d,0x1bbe)));function _0x157763(_0x1ac0cd,_0xf07c62){return _0x7afdbe(_0x1ac0cd,_0xf07c62- -_0x12fc5b._0x84f8dc);}this['fire'](EventType['drawMouseMove'],{..._0x4d31dd,'drawType':this[_0x1c1dff(_0xb15222._0x564d21,-_0xb15222._0xbadab7)],'graphic':this},!![]);}[_0x54a7f1(0x974,0xd8e)](_0x55705a){const _0x303456={_0x11dbce:0x11ba,_0x469520:0x11a9},_0x1d213b={_0x168563:0x12b},_0x4b8814=_0x55705a['cartesian'];_0x4b8814&&(this[_0x4456c3(0x14e0,0x143d)]=_0x4b8814);function _0x4456c3(_0x201458,_0x4476af){return _0x7afdbe(_0x4476af,_0x201458- -_0x1d213b._0x168563);}function _0x2169c0(_0x364a8b,_0x4ea8d9){return _0x7afdbe(_0x4ea8d9,_0x364a8b- -0x183);}this['_position_draw']&&(this[_0x4456c3(_0x303456._0x11dbce,_0x303456._0x469520)]=![],this[_0x4456c3(0x124e,0x14b5)]());}}class EditPoly extends EditBase{set[_0x54a7f1(0x10ef,0x62b)](_0x1f16ee){const _0x51ed81={_0x5275c3:0x143c,_0x1b54f1:0x7d6,_0x19ad66:0xc9a},_0x4389bf={_0x382324:0x472};function _0x12863a(_0x479272,_0x2ad1e9){return _0x7afdbe(_0x2ad1e9,_0x479272- -0x229);}function _0x3acd9a(_0x195c72,_0xd4491e){return _0x7afdbe(_0xd4491e,_0x195c72- -_0x4389bf._0x382324);}this[_0x3acd9a(0x101e,_0x51ed81._0x5275c3)][_0x12863a(_0x51ed81._0x1b54f1,_0x51ed81._0x19ad66)]=_0x1f16ee;}get['positions'](){function _0x34b67c(_0x15de89,_0x2e8c0b){return _0x54a7f1(_0x15de89-0x26a,_0x2e8c0b);}return this['_graphic'][_0x34b67c(0xa3b,0x136d)]||this['_graphic']['_positions']||[];}get['hasClosure'](){return this['style']['closure'];}get['hasMidPoint'](){const _0x43090f={_0x4599d5:0xc05},_0x3d88ad={_0xf58a27:0x380},_0x3f71b6={_0x527338:0x15f};function _0x16def2(_0x20667c,_0x34361e){return _0x7afdbe(_0x34361e,_0x20667c- -_0x3f71b6._0x527338);}function _0x3f085d(_0x2a403c,_0x547f77){return _0x54a7f1(_0x2a403c- -_0x3d88ad._0xf58a27,_0x547f77);}return this['positions'][_0x3f085d(_0x43090f._0x4599d5,0x454)]<this[_0x3f085d(0xee2,0xaa5)][_0x16def2(0xaf6,0x54)]&&(this['_graphic']['hasMidPoint']??!![]);}get[_0x7afdbe(0x51,0x7ab)](){return centerOfMass(this['positions']);}[_0x7afdbe(0x780,0x520)](){const _0x3a741f={_0x118acc:0xe9e,_0x49360e:0xa57,_0x5c057d:0xc26,_0x52404d:0x93b,_0x5027d2:0xc14,_0x2a6442:0xec1,_0x41e38b:0x1332},_0x121e53={_0x1f4f34:0x7a8,_0x1684cb:0x90e},_0x103329={_0x1115d8:0x1165,_0x194fa5:0x10ae,_0x5cde40:0xf37},_0xfa78ed={_0x42d5e9:0x4b8},_0xfb9a30={_0x44cfc7:0x9f7,_0x2afffc:0x13ab,_0x26acb4:0x16df},_0x5d1f44={_0x12e06e:0x156b,_0x4fa54a:0x10b7,_0x14033c:0xf22,_0x53ae70:0x999,_0x2c6716:0xea5,_0x507070:0x7d3,_0x2081f6:0xd42,_0x62992b:0x40a,_0x4d7a98:0x191f,_0x5b0300:0x142f},_0x1c5108={_0x127eab:0x265};function _0x174ee3(_0x2e6a43,_0x4e8df3){return _0x7afdbe(_0x4e8df3,_0x2e6a43- -0x647);}function _0x371457(_0x278984,_0x2f234d){return _0x7afdbe(_0x278984,_0x2f234d- -_0x1c5108._0x127eab);}const _0x3cd6bb=this['positions'];for(let _0x23e175=0x0,_0x4c72fd=_0x3cd6bb['length'];_0x23e175<_0x4c72fd;_0x23e175++){const _0x328557=this['updatePositionsHeightByAttr'](_0x3cd6bb[_0x23e175]),_0x3d884f=this[_0x371457(0xac4,0x4e8)]({'position':_0x328557,'onDrag':(_0x574c86,_0x40514b)=>{const _0x28156e={_0x17464a:0xa6};function _0x296d05(_0x5ed387,_0x4acd7e){return _0x371457(_0x4acd7e,_0x5ed387- -0x27b);}var _0x3e9655;_0x40514b=this['updatePositionsHeightByAttr'](_0x40514b),_0x574c86['position']=_0x40514b,this['positions'][_0x574c86[_0x2bbbb7(0xb6e,_0x5d1f44._0x12e06e)]]=_0x40514b;if(((_0x3e9655=this[_0x2bbbb7(0x14d1,0x15af)])===null||_0x3e9655===void 0x0?void 0x0:_0x3e9655['length'])>0x0)return;function _0x2bbbb7(_0x21fbed,_0x17097f){return _0x371457(_0x17097f,_0x21fbed- -_0x28156e._0x17464a);}if(this[_0x2bbbb7(0xdf8,0x3b5)]){let _0x3874f4,_0x289161,_0x195906;if(this['hasClosure']||!this['hasClosure']&&_0x574c86[_0x296d05(0x999,0xd03)]!==0x0){_0x574c86['index']===0x0?(_0x3874f4=_0x4c72fd*0x2-0x1,_0x289161=_0x4c72fd-0x1):(_0x3874f4=_0x574c86['index']*0x2-0x1,_0x289161=_0x574c86['index']-0x1);const _0xc2bcc1=_0x3cd6bb[_0x289161];_0x195906=getMidpoint(_0x40514b,_0xc2bcc1,this['options']['midPointFraction']),_0x195906=this[_0x296d05(0x9ab,0xeb8)](_0x195906),this[_0x296d05(_0x5d1f44._0x4fa54a,_0x5d1f44._0x14033c)][_0x3874f4]['position']=_0x195906;}(this['hasClosure']||!this['hasClosure']&&_0x574c86[_0x2bbbb7(0xb6e,0x15d2)]!==_0x4c72fd-0x1)&&(_0x574c86['index']===_0x4c72fd-0x1?(_0x3874f4=_0x574c86[_0x296d05(0x999,0x11f6)]*0x2+0x1,_0x289161=0x0):(_0x3874f4=_0x574c86['index']*0x2+0x1,_0x289161=_0x574c86[_0x296d05(_0x5d1f44._0x53ae70,_0x5d1f44._0x2c6716)]+0x1),_0x195906=getMidpoint(_0x40514b,_0x3cd6bb[_0x289161],this[_0x2bbbb7(_0x5d1f44._0x507070,0x8fe)][_0x296d05(_0x5d1f44._0x2081f6,_0x5d1f44._0x62992b)]),_0x195906=this['updatePositionsHeightByAttr'](_0x195906),this[_0x296d05(_0x5d1f44._0x4fa54a,_0x5d1f44._0x4d7a98)][_0x3874f4][_0x296d05(_0x5d1f44._0x5b0300,0xf7b)]=_0x195906);}if(this[_0x296d05(0xc1c,0x10de)]){let _0x1a4e9f=this[_0x2bbbb7(0x4a0,0x693)];_0x1a4e9f=this['updatePositionsHeightByAttr'](_0x1a4e9f),this[_0x296d05(0xc1c,0xd9d)]['position']=_0x1a4e9f;}},'onDragStart':(_0x24a62a,_0x4cd67f)=>{const _0x5d983a={_0x51333c:0x123};function _0x793721(_0xc0e243,_0x4a920d){return _0x371457(_0x4a920d,_0xc0e243- -0x1b1);}function _0x36fb44(_0x3c15af,_0x95f7f2){return _0x371457(_0x3c15af,_0x95f7f2-_0x5d983a._0x51333c);}var _0x272890;if(((_0x272890=this['_heightDraggers'])===null||_0x272890===void 0x0?void 0x0:_0x272890[_0x793721(0xd9d,_0xfb9a30._0x44cfc7)])>0x0)for(let _0x4ec3cf=0x0,_0x559f55=this[_0x36fb44(_0xfb9a30._0x2afffc,0x1455)]['length'];_0x4ec3cf<_0x559f55;_0x4ec3cf++){this['draggers'][_0x4ec3cf][_0x36fb44(0x12ff,_0xfb9a30._0x26acb4)]=![];}},'onDragEnd':(_0x2e71f2,_0x13d9a9)=>{function _0x5c3b4e(_0x5ac54d,_0x30730e){return _0x371457(_0x5ac54d,_0x30730e- -0x4c9);}var _0x1987e2;function _0x5d4bc3(_0x2a6bdc,_0x27c281){return _0x371457(_0x27c281,_0x2a6bdc- -_0xfa78ed._0x42d5e9);}((_0x1987e2=this[_0x5c3b4e(_0x103329._0x1115d8,_0x103329._0x194fa5)])===null||_0x1987e2===void 0x0?void 0x0:_0x1987e2['length'])>0x0&&this[_0x5d4bc3(_0x103329._0x5cde40,0x16be)]();}});_0x3d884f['index']=_0x23e175,this['draggers']['push'](_0x3d884f);if(this[_0x371457(0x193d,_0x3a741f._0x118acc)]&&(this['hasClosure']||!this['hasClosure']&&_0x23e175<_0x4c72fd-0x1)){const _0xa7c84f=(_0x23e175+0x1)%_0x4c72fd;let _0xc59aab=getMidpoint(_0x328557,_0x3cd6bb[_0xa7c84f],this['options']['midPointFraction']);_0xc59aab=this[_0x371457(_0x3a741f._0x49360e,_0x3a741f._0x5c057d)](_0xc59aab);const _0x1bdb96=this['createDragger']({'position':_0xc59aab,'type':EditPointType[_0x371457(0xd46,_0x3a741f._0x52404d)],'tooltip':this['_map']['getLangText']('_增加点'),'onDragStart':(_0x1ca2c9,_0x16056b)=>{function _0x259ab9(_0x2ecccb,_0x100099){return _0x371457(_0x2ecccb,_0x100099-0x15a);}this['positions'][_0x259ab9(_0x121e53._0x1f4f34,_0x121e53._0x1684cb)](_0x1ca2c9['index'],0x0,_0x16056b);},'onDrag':(_0x379c43,_0x5c2c50)=>{function _0x13fb78(_0x22ed97,_0x42767b){return _0x174ee3(_0x42767b-0x35a,_0x22ed97);}this['positions'][_0x379c43[_0x13fb78(0x12b8,0xb8c)]]=_0x5c2c50;},'onDragEnd':(_0x2da4e4,_0x5a761c)=>{this['_fireAddPoint'](_0x2da4e4,_0x5a761c),this['updateDraggers']();}});_0x1bdb96[_0x371457(0x110f,_0x3a741f._0x5027d2)]=_0xa7c84f,this[_0x371457(_0x3a741f._0x2a6442,_0x3a741f._0x41e38b)][_0x174ee3(0xaef,0xf3)](_0x1bdb96);}}this['_bindMoveAllDragger'](),this['entityGraphic'][_0x371457(0x14a2,0xdb1)]&&!this[_0x174ee3(0xad1,0x1276)]&&this['_bindHeightDraggers']();}['_bindMoveAllDragger'](){const _0x8cba2f={_0x1eac1e:0xa48,_0x4723bd:0x1249,_0x3cddd5:0xf9e,_0x4301a5:0x1249,_0x3aa1a9:0xda6,_0x31752f:0xe9,_0x366ad5:0xf2a,_0x27a927:0x1062},_0xae4dbe={_0x32d2e9:0x15a};function _0x4c4d15(_0x2d1363,_0x3b17b0){return _0x54a7f1(_0x3b17b0-_0xae4dbe._0x32d2e9,_0x2d1363);}if(!this[_0x22ca13(0x691,0xf19)]['hasMoveEdit'])return;let _0x4702ef=this['center'];function _0x22ca13(_0x29b99b,_0x4953db){return _0x54a7f1(_0x4953db- -0x349,_0x29b99b);}if(this[_0x4c4d15(_0x8cba2f._0x1eac1e,_0x8cba2f._0x4723bd)]['length']===0x2){const _0x31d62d=Cesium__namespace[_0x22ca13(0x11c9,_0x8cba2f._0x3cddd5)][_0x4c4d15(0x113f,0x13eb)](this[_0x4c4d15(0x1300,_0x8cba2f._0x4301a5)][0x0],this[_0x22ca13(0x45d,_0x8cba2f._0x3aa1a9)][0x1]);_0x4702ef=getPositionByDirectionAndLen(_0x4702ef,0x5a,_0x31d62d*0.06);}_0x4702ef=this['updatePositionsHeightByAttr'](_0x4702ef);const _0x4e4b54=this[_0x22ca13(_0x8cba2f._0x31752f,0x1d6)]({'position':_0x4702ef,'type':EditPointType['MoveAll'],'tooltip':this['_map'][_0x22ca13(0xf77,0xcd9)]('_整体平移'),'onDragStart':(_0x539f79,_0x23f4bc)=>{_0x4702ef=_0x23f4bc;},'onDrag':(_0x31b2f7,_0x3026dd)=>{this['_moveAllPostions'](_0x4702ef,_0x3026dd),_0x4702ef=_0x3026dd;}});this['_draggerMove']=_0x4e4b54,this['draggers'][_0x4c4d15(_0x8cba2f._0x366ad5,_0x8cba2f._0x27a927)](_0x4e4b54);}[_0x54a7f1(0x161b,0xd50)](_0x57fe2f,_0x5e4318){const _0x2d62f8={_0x16c831:0xafe,_0x23b029:0x12e9,_0x2ce243:0xb8d,_0x2ef1e5:0x3af,_0x45c4d4:0x1ad,_0x51f97b:0x717,_0x1836a8:0x6de,_0x4531f2:0xcbd,_0x2132ab:0x14bd},_0x4586b9={_0x39bc18:0xf2f,_0x1958c4:0x1649,_0x1989d3:0x16c3,_0x227c7e:0xefd},_0x5b3b6f={_0x4c99b4:0x43f},_0x1a76ba={_0x3d03e9:0xcb8,_0x3c2e22:0x15ea,_0x5cda9d:0x1741,_0xf63847:0x11e2};function _0x3c59fe(_0x5d85b2,_0x3b0434){return _0x54a7f1(_0x5d85b2-0x87,_0x3b0434);}var _0x56ab3;const _0x183207=Cesium__namespace['Cartesian3']['subtract'](_0x5e4318,_0x57fe2f,new Cesium__namespace['Cartesian3']());function _0x3a9dbd(_0x22b2bb,_0x5dc360){return _0x7afdbe(_0x5dc360,_0x22b2bb- -0x6b5);}this[_0x3c59fe(0x1176,0xc3c)]['forEach']((_0x549dd2,_0x398740,_0x11cece)=>{const _0x1fe9ad={_0x88b4e:0x2c};function _0x4da7a5(_0x45aca0,_0xb004b8){return _0x3c59fe(_0xb004b8-0x6c,_0x45aca0);}const _0x48c16a=this[_0x55037a(_0x1a76ba._0x3d03e9,_0x1a76ba._0x3c2e22)](Cesium__namespace['Cartesian3']['add'](_0x549dd2,_0x183207,new Cesium__namespace[(_0x4da7a5(_0x1a76ba._0x5cda9d,0x13da))]()));function _0x55037a(_0x54a0fd,_0x16ebb2){return _0x3c59fe(_0x54a0fd- -_0x1fe9ad._0x88b4e,_0x16ebb2);}this[_0x4da7a5(0x839,_0x1a76ba._0xf63847)][_0x398740]=_0x48c16a;});if(((_0x56ab3=this['_graphic']['_draw_holes'])===null||_0x56ab3===void 0x0?void 0x0:_0x56ab3[_0x3a9dbd(_0x2d62f8._0x16c831,0xc56)])>0x0)for(let _0x1fcb3c=0x0,_0x34efac=this[_0x3c59fe(_0x2d62f8._0x23b029,0x15b4)][_0x3a9dbd(0xb8d,0x22a)]['length'];_0x1fcb3c<_0x34efac;_0x1fcb3c++){const _0xfae90d=this['_graphic'][_0x3a9dbd(_0x2d62f8._0x2ce243,0x137c)][_0x1fcb3c];_0xfae90d[_0x3a9dbd(0x1be,-0x6ee)]((_0x11db24,_0xf0bf8c,_0x535a8f)=>{function _0x190a1f(_0x75626f,_0x196f07){return _0x3a9dbd(_0x196f07-0x9d,_0x75626f);}function _0x2c3659(_0x54d549,_0x46c87e){return _0x3c59fe(_0x54d549- -_0x5b3b6f._0x4c99b4,_0x46c87e);}const _0x4b6f77=this['updatePositionsHeightByAttr'](Cesium__namespace[_0x2c3659(_0x4586b9._0x39bc18,_0x4586b9._0x1958c4)]['add'](_0x11db24,_0x183207,new Cesium__namespace[(_0x190a1f(_0x4586b9._0x1989d3,_0x4586b9._0x227c7e))]()));_0xfae90d[_0xf0bf8c]=_0x4b6f77;});}for(let _0x4e4933=0x0,_0x281ca6=this['draggers']['length'];_0x4e4933<_0x281ca6;_0x4e4933++){this['draggers'][_0x4e4933][_0x3a9dbd(_0x2d62f8._0x2ef1e5,-_0x2d62f8._0x45c4d4)]!==EditPointType['MoveAll']&&(this['draggers'][_0x4e4933]['position']=this['updatePositionsHeightByAttr'](Cesium__namespace['Cartesian3'][_0x3c59fe(_0x2d62f8._0x51f97b,_0x2d62f8._0x1836a8)](this['draggers'][_0x4e4933][_0x3c59fe(0x1768,0x210e)],_0x183207,new Cesium__namespace['Cartesian3']())));}this[_0x3c59fe(_0x2d62f8._0x4531f2,_0x2d62f8._0x2132ab)](_0x5e4318);}[_0x7afdbe(0x616,0xe64)](_0x26d3df){}['_bindHeightDraggers'](_0x177308){const _0x9aa149={_0x21cd54:0xca8,_0x237afe:0x2b9,_0x3dbc68:0x529,_0x256427:0xde3,_0x679c67:0x7ce,_0x4c14f2:0x17df},_0x14aca6={_0x42dc66:0xb35,_0x1cd450:0xd2f,_0x5cfcc1:0x12d8,_0x7a7e26:0xbc2,_0x32da0a:0x1517,_0x3643b3:0x116e,_0x41b021:0x1459,_0x5a9ec7:0x1336,_0x313e16:0x1459,_0x4ae807:0x10a1,_0x4168a8:0x168d},_0xb842b2={_0x248054:0x1ee},_0xfde34={_0x68231f:0x152,_0x388720:0x519,_0x47045b:0x959,_0x344505:0x1391,_0x3c5a85:0xac6,_0x342df4:0xa29},_0x2a2c53={_0x1c8bc1:0xed};if(!this[_0x30c9e6(_0x9aa149._0x21cd54,0x125d)]['_hasHeightEdit'])return;this['_heightDraggers']=[],_0x177308=_0x177308||this['positions'];function _0x4bd292(_0x536f3f,_0x33e888){return _0x7afdbe(_0x33e888,_0x536f3f- -0x84);}const _0xe520d=getCesiumValue(this[_0x30c9e6(-_0x9aa149._0x237afe,_0x9aa149._0x3dbc68)][_0x30c9e6(0x14fd,_0x9aa149._0x256427)],Number,this[_0x4bd292(0x97d,0x2b)]['clock'][_0x4bd292(0x15fd,0x194b)]);for(let _0x1daac1=0x0,_0x46f6ed=_0x177308['length'];_0x1daac1<_0x46f6ed;_0x1daac1++){const _0x499284=setPositionsHeight(_0x177308[_0x1daac1],_0xe520d),_0x3b3909=this[_0x4bd292(0x6c9,-0x189)]({'position':_0x499284,'type':EditPointType['MoveHeight'],'tooltip':this[_0x30c9e6(0xa33,_0x9aa149._0x679c67)]['getLangText']('_修改高度'),'onDrag':(_0x4397e5,_0x254766)=>{const _0x133d9d={_0x46e2d5:0x639},_0x4b215f=Cesium__namespace[_0x2625a2(0x441,0xa99)][_0x2625a2(-_0xfde34._0x68231f,_0xfde34._0x388720)](_0x254766)['height'];function _0x57a1eb(_0x287a15,_0x1ac477){return _0x30c9e6(_0x1ac477,_0x287a15-_0x2a2c53._0x1c8bc1);}this[_0x2625a2(0x9f,0x2eb)][_0x2625a2(_0xfde34._0x47045b,_0xfde34._0x344505)]=_0x4b215f;function _0x2625a2(_0x2ef9db,_0xc54f74){return _0x4bd292(_0x2ef9db- -_0x133d9d._0x46e2d5,_0xc54f74);}const _0x1e7e90=getMaxHeight(this['positions']);this['style']['diffHeight']=this['formatNum'](_0x4b215f-_0x1e7e90,0x2),this['updateHeightDraggers'](_0x4b215f),this[_0x2625a2(_0xfde34._0x3c5a85,0x10a1)](),this[_0x2625a2(_0xfde34._0x342df4,-0x77)](EventType['editStyle']);}});this['draggers']['push'](_0x3b3909),this['_heightDraggers']['push'](_0x3b3909);}function _0x30c9e6(_0x5e0283,_0x355f90){return _0x7afdbe(_0x5e0283,_0x355f90- -0x233);}!this['_updateHeight']&&(this[_0x4bd292(0x17de,_0x9aa149._0x4c14f2)]=_0x281b45=>{this[_0x4c51f9(0x2a6,0xcb9)][_0x4c51f9(0x3df,_0x14aca6._0x42dc66)]=_0x281b45,this['style']['height']=this['formatNum'](_0x281b45,0x2);const _0x516bbe=this[_0x15c370(_0x14aca6._0x1cd450,_0x14aca6._0x5cfcc1)];for(let _0x3bcee4=0x0,_0x4069f0=_0x516bbe['length'];_0x3bcee4<_0x4069f0;_0x3bcee4++){_0x516bbe[_0x3bcee4]=setPositionsHeight(_0x516bbe[_0x3bcee4],_0x281b45);}function _0x4c51f9(_0x22d389,_0x423a72){return _0x4bd292(_0x22d389- -0x432,_0x423a72);}const _0x32fa47=getCesiumValue(this['entityGraphic']['extrudedHeight'],Number,this[_0x4c51f9(0x54b,0xd6e)][_0x15c370(0x114f,_0x14aca6._0x7a7e26)]['currentTime']);function _0x15c370(_0x36d970,_0x5da008){return _0x30c9e6(_0x36d970,_0x5da008-_0xb842b2._0x248054);}for(let _0x342bad=0x0,_0x592cd3=this['draggers'][_0x15c370(_0x14aca6._0x32da0a,_0x14aca6._0x3643b3)];_0x342bad<_0x592cd3;_0x342bad++){const _0x963502=this['draggers'][_0x342bad];_0x963502['_pointType']===EditPointType[_0x4c51f9(0x6b,0xfa)]?_0x963502[_0x4c51f9(_0x14aca6._0x41b021,_0x14aca6._0x5a9ec7)]=setPositionsHeight(_0x963502[_0x4c51f9(_0x14aca6._0x313e16,0xcde)],_0x32fa47):_0x963502['position']=setPositionsHeight(_0x963502[_0x4c51f9(_0x14aca6._0x313e16,0x1aa7)],_0x281b45);}this[_0x15c370(0xc5f,_0x14aca6._0x4ae807)](EventType[_0x15c370(0x1523,_0x14aca6._0x4168a8)]);});}['updateHeightDraggers'](_0x3959c3){const _0x2445f4={_0x28c055:0x1c37,_0x1b0001:0x11ae,_0x5a1a09:0x2329,_0x357e93:0x190a,_0x3bb2c4:0xc02,_0x4e056c:0x10ba},_0xa27faa={_0x1fe98c:0x241};function _0x20e12a(_0x198dba,_0x92bfd0){return _0x54a7f1(_0x92bfd0-_0xa27faa._0x1fe98c,_0x198dba);}function _0x38f72c(_0x31647c,_0x3346d8){return _0x7afdbe(_0x31647c,_0x3346d8- -0x5);}for(let _0x406b0c=0x0;_0x406b0c<this['_heightDraggers'][_0x38f72c(_0x2445f4._0x28c055,_0x2445f4._0x1b0001)];_0x406b0c++){var _0xa29363;const _0x2d7bbd=this['_heightDraggers'][_0x406b0c],_0x4efad0=setPositionsHeight(getPositionValue(_0x2d7bbd[_0x38f72c(_0x2445f4._0x5a1a09,_0x2445f4._0x357e93)],(_0xa29363=this['_map'])===null||_0xa29363===void 0x0?void 0x0:_0xa29363[_0x38f72c(0xe23,_0x2445f4._0x3bb2c4)]['currentTime']),_0x3959c3);_0x2d7bbd[_0x20e12a(_0x2445f4._0x4e056c,0x1922)]=_0x4efad0;}}[_0x7afdbe(0xd10,0xe8b)](_0x2331b2){const _0x568c13={_0x110b21:0x129d,_0xf8ffb0:0x916},_0x426448={_0x291b71:0x309},_0x23e875={_0x4451a1:0x2cc};function _0x444349(_0x10211e,_0x502e80){return _0x54a7f1(_0x10211e- -_0x23e875._0x4451a1,_0x502e80);}if(this[_0x444349(_0x568c13._0x110b21,0x1418)])_0x2331b2=getSurfacePosition(this['_map']['scene'],_0x2331b2);else this['_graphic'][_0x536aa9(0xf78,0x522)]&&(_0x2331b2=this[_0x444349(0xf96,_0x568c13._0xf8ffb0)]['_updateEditDraggerPositionHeight'](_0x2331b2));function _0x536aa9(_0x5e5fd4,_0x3afe2e){return _0x54a7f1(_0x3afe2e- -_0x426448._0x291b71,_0x5e5fd4);}return _0x2331b2;}['_updateStyleHook'](_0x2105ea){const _0x17edd1={_0x42de16:0x1540,_0x39334c:0x132e};function _0x468fe7(_0x2d8a5b,_0x6c1260){return _0x54a7f1(_0x6c1260- -0x353,_0x2d8a5b);}super['_updateStyleHook'](_0x2105ea);function _0x4e3838(_0x4fe20f,_0x19c5e5){return _0x7afdbe(_0x4fe20f,_0x19c5e5- -0x59);}(Cesium__namespace['defined'](_0x2105ea[_0x4e3838(0xaf4,0x1221)])||Cesium__namespace['defined'](_0x2105ea['height'])||Cesium__namespace[_0x468fe7(_0x17edd1._0x42de16,_0x17edd1._0x39334c)](_0x2105ea[_0x468fe7(0xce4,0x1216)]))&&this[_0x4e3838(0x1a9d,0x15fb)]();}}class BasePolyEntity extends BaseEntity{constructor(_0x3b7d2d={}){const _0x5f49bb={_0x170d54:0x1692,_0x2e39e0:0xd9b};function _0x5ad5f2(_0x19cf19,_0xb63dc9){return _0x7afdbe(_0x19cf19,_0xb63dc9- -0x319);}super(_0x3b7d2d);function _0x472528(_0xc0261f,_0x4bf123){return _0x54a7f1(_0x4bf123-0x16d,_0xc0261f);}this['_hasEdit']=this[_0x5ad5f2(0xe8e,0x7c5)]['hasEdit']??!![],this[_0x472528(0x305,0x875)]=_0x3b7d2d['minPointNum']??0x2,this['_maxPointNum']=_0x3b7d2d[_0x472528(0xe5,0x5ba)]??0x270f,this[_0x5ad5f2(0x135d,_0x5f49bb._0x170d54)]=_0x3b7d2d['hasHeightEdit']??!![],_0x3b7d2d['positions']&&(this['style']['buffer']>0x0?this['positions']=bufferPoints(_0x3b7d2d[_0x472528(_0x5f49bb._0x2e39e0,0x125c)],this['style']['buffer'],this['style']['bufferSteps']):this['positions']=_0x3b7d2d['positions']);}get[_0x7afdbe(0xf3d,0xb9b)](){const _0x5b5a78={_0x4b84d4:0x7b4},_0x5c0fe8={_0x4eedd8:0x32a};function _0x2e5343(_0x1828c6,_0x3c9b7f){return _0x7afdbe(_0x3c9b7f,_0x1828c6- -_0x5c0fe8._0x4eedd8);}return this[_0x2e5343(_0x5b5a78._0x4b84d4,-0x1f8)]['hasMoveEdit']??!![];}get[_0x7afdbe(0x1721,0x1103)](){function _0x507192(_0x21a8bf,_0x3c80a2){return _0x54a7f1(_0x21a8bf- -0x1f0,_0x3c80a2);}return this['options'][_0x507192(0xce5,0x2ed)]??!![];}get[_0x7afdbe(0xaa9,0x451)](){return this['_hasHeightEdit'];}get['EditClass'](){return EditPoly;}get['center'](){const _0x59162e={_0x2528ef:0x351};function _0x211052(_0xbf22cb,_0x21ada1){return _0x7afdbe(_0xbf22cb,_0x21ada1- -_0x59162e._0x2528ef);}return this['style']['closure']?this[_0x211052(0x540,0xace)]:this['centerOfLine'];}get['centerOfMass'](){const _0x2cf27c={_0x4c8f8a:0x6fb};function _0xcc4a3a(_0x4029da,_0x1f6e60){return _0x7afdbe(_0x1f6e60,_0x4029da- -_0x2cf27c._0x4c8f8a);}return centerOfMass(this[_0xcc4a3a(0x3bf,0x54d)]);}get['centerOfLine'](){const _0x134d06={_0x16f2ee:0x101f};function _0x2ba454(_0x4d70a2,_0x2ae86b){return _0x7afdbe(_0x4d70a2,_0x2ae86b- -0x19e);}const _0x1c1083=this['positionsShow'];if(!_0x1c1083||_0x1c1083[_0x2ba454(0x138f,0x1015)]===0x0)return null;else{if(_0x1c1083['length']===0x1)return _0x1c1083[0x0];}let _0x4c66a6;function _0x1c8c73(_0x3fffe1,_0x495112){return _0x54a7f1(_0x3fffe1-0x9a,_0x495112);}if(_0x1c1083[_0x1c8c73(_0x134d06._0x16f2ee,0x13b2)]<0xa){const _0x3b95db={};_0x3b95db['point']=!![],_0x4c66a6=sliceByMaxDistance(_0x1c1083,this['distance']/0x2,_0x3b95db);}else _0x4c66a6=_0x1c1083[Math[_0x2ba454(0x9d3,0x982)](_0x1c1083[_0x1c8c73(_0x134d06._0x16f2ee,0xf7f)]/0x2)];if(this['_calculateCzmHeight']&&Cesium__namespace['defined'](this['entityGraphic']['height'])){const _0x34c955=getCesiumValue(this['entityGraphic'][_0x1c8c73(0x701,0x76e)],Number);_0x4c66a6=setPositionsHeight(_0x4c66a6,_0x34c955);}return _0x4c66a6;}get[_0x54a7f1(0x1291,0x18c5)](){const _0x2a0ad1={_0x57e418:0xb2a},_0xe5ddfe={_0x38cdff:0x70};function _0x8e436f(_0x6be256,_0x366ae2){return _0x7afdbe(_0x366ae2,_0x6be256-_0xe5ddfe._0x38cdff);}return getDistance(this[_0x8e436f(_0x2a0ad1._0x57e418,0x12d2)]);}get['area'](){return getArea(this['positionsShow']);}get['positions'](){const _0xeebd7f={_0x5cecda:0x12fb};function _0x17ad59(_0x3f85af,_0x364327){return _0x54a7f1(_0x3f85af- -0xbe,_0x364327);}if(this['_getPositions'])return this[_0x17ad59(0xf0b,_0xeebd7f._0x5cecda)]();function _0x47f00e(_0x4698f5,_0x168aae){return _0x7afdbe(_0x168aae,_0x4698f5- -0x698);}return this[_0x17ad59(0xc7f,0x13b2)];}set[_0x7afdbe(0x1a85,0x131d)](_0x599221){const _0x98ceef={_0x1001dd:0x17f2,_0x557a76:0xf1f,_0x30cb05:0x5b0},_0x402ea6={_0x14452a:0x12d3,_0x1a2dc8:0x13b2,_0x41e616:0xd6f,_0x536549:0x1227,_0x105462:0x10f6,_0x2c7158:0xaae,_0x39fffb:0x8ee},_0x45acc1={_0x3a9369:0x2af};if(!_0x599221||this['isDestroy'])return;if(Array[_0x15cf84(0x12c3,_0x98ceef._0x1001dd)](_0x599221)){var _0x556160;const _0x439452=[],_0x9f3c4e=[];_0x599221['forEach']((_0x4441da,_0x1a29de)=>{const _0x23e774=LngLatPoint['parse'](_0x4441da);if(!_0x23e774||!_0x23e774[_0x1ea000(_0x402ea6._0x14452a,_0x402ea6._0x1a2dc8)]())return;const _0x312ee8=_0x439452[_0x439452[_0x1ea000(_0x402ea6._0x41e616,0x164a)]-0x1];if(_0x312ee8&&_0x312ee8['equals'](_0x23e774))return;const _0x42779c=this['getSetHeight'](this[_0x4eb85d(0x42,0x4d5)],_0x1a29de);Cesium__namespace['defined'](_0x42779c)&&(_0x23e774['alt']=_0x42779c);const _0x4a08be=this['getAddHeight'](this['style'],_0x1a29de);function _0x4eb85d(_0x2b1f1e,_0x121326){return _0x15cf84(_0x2b1f1e- -_0x45acc1._0x3a9369,_0x121326);}Cesium__namespace[_0x4eb85d(_0x402ea6._0x536549,_0x402ea6._0x105462)](_0x4a08be)&&(_0x23e774['alt']=_0x23e774[_0x4eb85d(-0x5,0x693)]+_0x4a08be);function _0x1ea000(_0x4d5862,_0x43152e){return _0x15cf84(_0x4d5862- -0x6b,_0x43152e);}_0x439452[_0x4eb85d(_0x402ea6._0x2c7158,0x5ec)](_0x23e774),_0x9f3c4e['push'](_0x23e774[_0x1ea000(_0x402ea6._0x39fffb,-0x55)]());}),(_0x556160=this['editing'])!==null&&_0x556160!==void 0x0&&_0x556160['enabled']?this[_0x55468b(_0x98ceef._0x557a76,0x8f8)]=_0x9f3c4e:(this[_0x55468b(0xce6,0x8f8)]&&this['_cancelPositionsCallback'](),this['_positions']=_0x9f3c4e),this['_points']=_0x439452;}else this['_positions']=_0x599221;this['_entity']&&this['_updatePositionsHook']();this['_getRectangle_cache']&&delete this[_0x55468b(0x332,_0x98ceef._0x30cb05)];function _0x55468b(_0x5a4752,_0x1c7013){return _0x7afdbe(_0x5a4752,_0x1c7013- -0x107);}function _0x15cf84(_0x33e192,_0x186bce){return _0x7afdbe(_0x186bce,_0x33e192- -0x3d9);}this['fire'](EventType[_0x55468b(0x42d,0x897)],{'positions':this['_positions']});}get['positionsShow'](){const _0x1c2637={_0x50aed8:0x5e1,_0x1afa55:0x1155};let _0x4a43c7=getCesiumValue(this['_positions']);if(_0x4a43c7 instanceof Cesium__namespace[_0x469cb0(_0x1c2637._0x50aed8,-0xd5)])_0x4a43c7=_0x4a43c7[_0x469cb0(0x1165,_0x1c2637._0x1afa55)];else{if(_0x4a43c7 instanceof Cesium__namespace['Rectangle'])_0x4a43c7=this['outlinePositions'];else _0x4a43c7 instanceof Cesium__namespace[_0x5d8e4f(0xf77,0x1077)]&&(_0x4a43c7=[_0x4a43c7]);}function _0x5d8e4f(_0x24d90d,_0x215eb1){return _0x7afdbe(_0x24d90d,_0x215eb1- -0x49e);}function _0x469cb0(_0x4388da,_0x32a679){return _0x54a7f1(_0x4388da-0x76,_0x32a679);}return _0x4a43c7;}get['points'](){const _0x58ca4d={_0x150515:0xc85,_0x2cbc58:0x601,_0x2a6413:0x2cc},_0x5223f7={_0x415a96:0x1d0},_0x2981aa={_0x5e8554:0x6e};if(this['_positions']instanceof Cesium__namespace['CallbackProperty']){let _0xbe157d;this['_positions_draw']&&Array[_0x114418(0x129e,_0x58ca4d._0x150515)](this['_positions_draw'])?_0xbe157d=this[_0x114418(_0x58ca4d._0x2cbc58,0x959)]:(_0xbe157d=this['positionsShow'],this[_0x114418(_0x58ca4d._0x2a6413,-0x6e4)][_0x4f23c5(0x162f,0x202d)]&&_0xbe157d['pop']());const _0x27de00=[];_0xbe157d['forEach'](function(_0x997b28){const _0xd78ddd=LngLatPoint['parse'](_0x997b28);if(!_0xd78ddd)return;_0x27de00['push'](_0xd78ddd);}),this[_0x114418(0x1392,0x1712)]=_0x27de00;}function _0x4f23c5(_0x18bd99,_0x1e4a0d){return _0x54a7f1(_0x18bd99- -_0x2981aa._0x5e8554,_0x1e4a0d);}function _0x114418(_0x3aa4c9,_0x4a2495){return _0x54a7f1(_0x3aa4c9- -_0x5223f7._0x415a96,_0x4a2495);}return!this['_points']&&(this['_points']=LngLatArray['toPoints'](this['_positions'])),this['_points'];}get['coordinates'](){const _0x57f7b5={_0x21b3a1:0x64d};function _0x14a93f(_0x787b84,_0xa686c2){return _0x54a7f1(_0xa686c2- -0x329,_0x787b84);}return this[_0x14a93f(_0x57f7b5._0x21b3a1,0x80)]();}get['rectangle'](){const _0x5e1d88={_0x1c1fc1:0x713};function _0x5b0742(_0x232289,_0x5e2869){return _0x54a7f1(_0x232289-0x1c6,_0x5e2869);}return Cesium__namespace['Rectangle'][_0x5b0742(_0x5e1d88._0x1c1fc1,0x95)](this['positions']);}[_0x7afdbe(0xeaa,0x1798)](){function _0x2c4d78(_0x2adb1d,_0xb58db6){return _0x7afdbe(_0xb58db6,_0x2adb1d- -0x376);}return this[_0x2c4d78(0x3e6,0x63a)]['positions'];}['_mountedHook'](){}['_updatePositionsHook'](){this['_updateLabelPosition'](),this['_updateEditDraggers']();}['_getGeoJsonGeometry'](_0xdfa25a){const _0x25ae40={_0x1820de:0x80c},_0x3b0c5e={_0x209e20:0x42},_0x298be7={_0x33ff75:0x28d};function _0x2ba312(_0x28377d,_0x319be7){return _0x7afdbe(_0x28377d,_0x319be7- -_0x298be7._0x33ff75);}function _0x13a84b(_0x39d789,_0x3e6aef){return _0x7afdbe(_0x3e6aef,_0x39d789-_0x3b0c5e._0x209e20);}return{'type':_0x13a84b(0x1566,0x19bf),'coordinates':this['getCoordinates'](_0xdfa25a===null||_0xdfa25a===void 0x0?void 0x0:_0xdfa25a[_0x2ba312(0x1160,_0x25ae40._0x1820de)])};}[_0x54a7f1(0x3a9,0x9ab)](_0x525b43){const _0xaa79ad=[];this[_0x6ebef(0x661,0xe72)]['forEach'](_0x21b765=>{const _0x937313={_0xb0879e:0xbb};function _0x570519(_0x215bad,_0x1196e1){return _0x6ebef(_0x1196e1-_0x937313._0xb0879e,_0x215bad);}_0xaa79ad['push'](_0x21b765[_0x570519(0x149a,0x1682)](_0x525b43));});function _0x6ebef(_0x2331fe,_0x36ef62){return _0x54a7f1(_0x2331fe- -0x1df,_0x36ef62);}return _0xaa79ad;}['isInPoly'](_0x35daf9){return isInPoly(_0x35daf9,this['positionsShow']);}['autoSurfaceHeight'](_0x4727a5={}){const _0x43af6a={..._0x4727a5};return _0x43af6a['map']=this['_map'],_0x43af6a['positions']=this['positionsShow'],computeSurfacePoints(_0x43af6a)['then'](_0x32e688=>{function _0x34f36a(_0x2178f6,_0x4a169f){return _0x536c(_0x4a169f-0xbb,_0x2178f6);}return!_0x32e688[_0x34f36a(0x197b,0x14ce)]&&(this['positions']=_0x32e688['positions']),_0x32e688;});}['setCallbackPositions'](_0xb9577c){const _0x5b8a71={_0x303959:0xc9c,_0x401ea2:0x2cc,_0x1b5c0f:0xd9a,_0x3741d5:0x1327,_0x30d7ad:0x4b4,_0x53b0f7:0x3eb},_0x3246c4={_0x35f094:0x505};function _0x33ecf3(_0x31ab86,_0x40a03b){return _0x54a7f1(_0x40a03b- -_0x3246c4._0x35f094,_0x31ab86);}this[_0x33ecf3(-0x219,0x5)]();function _0x836996(_0x39448f,_0xdbd86c){return _0x54a7f1(_0x39448f- -0x31d,_0xdbd86c);}return _0xb9577c&&(this[_0x33ecf3(_0x5b8a71._0x303959,_0x5b8a71._0x401ea2)]=LngLatArray['toCartesians'](_0xb9577c),this['getShowPositions']&&this['_positions_show']&&(this['_positions_show']=this[_0x836996(0xd16,_0x5b8a71._0x1b5c0f)](this['_positions_draw'])),this[_0x836996(_0x5b8a71._0x3741d5,0x1c27)]()),this[_0x836996(_0x5b8a71._0x30d7ad,_0x5b8a71._0x53b0f7)];}[_0x7afdbe(0x381,0x738)](){const _0x448812={_0x43ba6:0xbcc,_0x1ca5cc:0x658,_0x1f87db:0x935};function _0x1a9b61(_0x216b2c,_0x1e74b4){return _0x54a7f1(_0x1e74b4-0xed,_0x216b2c);}if(this[_0x4c6fad(0x992,_0x448812._0x43ba6)])return;this['_isCallbackPositions']=!![];let _0x33a952=getCesiumValue(this['_positions']);function _0x4c6fad(_0x4019cc,_0x41f65d){return _0x54a7f1(_0x41f65d- -0x415,_0x4019cc);}if(_0x33a952 instanceof Cesium__namespace[_0x1a9b61(-0x20,_0x448812._0x1ca5cc)])_0x33a952=_0x33a952['positions'];else _0x33a952 instanceof Cesium__namespace[_0x1a9b61(0x93b,0x5e6)]&&(_0x33a952=this['outlinePositions']);this['_positions_draw']=_0x33a952||this['positionsShow']||[],this['positions']=new Cesium__namespace[(_0x4c6fad(0x69b,_0x448812._0x1f87db))](_0x34f1e4=>{return this['_positions_CallbackProperty']();},![]),this['_updateOutlineToCallback'](),this[_0x4c6fad(0x514,0xdea)]&&this['updateAttrForDrawing'](!![]),this['_updateLabelPosition']();}['_positions_CallbackProperty'](){return this['_positions_draw'];}['_cancelPositionsCallback'](){const _0x5269b7={_0x59fa89:0xf53,_0x3958f2:0xcaf,_0x5d0bd8:0x945};function _0xceb2be(_0x480d79,_0x109c39){return _0x7afdbe(_0x480d79,_0x109c39- -0x2bc);}if(!this[_0xceb2be(0x18b7,_0x5269b7._0x59fa89)])return;this[_0xceb2be(0x8cf,0xf53)]=![],this[_0xceb2be(0x1167,_0x5269b7._0x3958f2)]=this['_positions_draw'];function _0x4c4cc4(_0x26a975,_0x55805c){return _0x7afdbe(_0x26a975,_0x55805c- -0xf8);}this['_points']=LngLatArray[_0x4c4cc4(_0x5269b7._0x5d0bd8,0xf9f)](this['_positions_draw']),delete this['_positions_draw'],this['_entity']&&(this['_updatePositionsHook'](),this[_0xceb2be(0x739,0xb16)]());}[_0x54a7f1(0x27e,0x60e)](){const _0x19991b={_0x178c6e:0xb42,_0x4d9675:0xaa,_0x22a38d:0x1885},_0x52aa89={_0x29e610:0x33};function _0x242637(_0x4c7d5a,_0x478b07){return _0x7afdbe(_0x4c7d5a,_0x478b07- -0x361);}function _0x16a6ce(_0x40f6af,_0x261e88){return _0x54a7f1(_0x40f6af- -_0x52aa89._0x29e610,_0x261e88);}this['_map']['on'](EventType[_0x16a6ce(_0x19991b._0x178c6e,_0x19991b._0x4d9675)],this['_onMouseMoveHandler'],this),this[_0x16a6ce(0x117f,0x6d7)]&&this['_map']['on'](this[_0x16a6ce(0x117f,0x1615)],this['_onClickHandler'],this),this[_0x16a6ce(0xf71,_0x19991b._0x22a38d)]&&this['_map']['on'](this['_drawEndEventType'],this['_onDbClickHandler'],this),(this['options']['hasDrawDelPoint']??!![])&&this['_map']['on'](this['_drawDelEventType'],this['_onRightClickHandler'],this);}[_0x54a7f1(0xa6a,0xcb0)](){const _0x22b0df={_0xd6e8e7:0x1c47,_0x5ea2aa:0x1336,_0xc720b0:0xdfb,_0x3f1efc:0x36a,_0x3c26f1:0x3cd,_0x502285:0x1b8,_0x432253:0x30b},_0x9845a2={_0x388a29:0x497},_0x22eacb={_0x2e505a:0xaa};this['_map']['off'](EventType[_0x33e18c(0x55f,0xcf9)],this[_0x3954f8(0x790,0xca1)],this);this[_0x33e18c(_0x22b0df._0xd6e8e7,_0x22b0df._0x5ea2aa)]&&this[_0x3954f8(0x56a,-0x382)]['off'](this['_drawAddEventType'],this[_0x33e18c(_0x22b0df._0xc720b0,0xf9f)],this);function _0x33e18c(_0x2f9070,_0x2f26d4){return _0x7afdbe(_0x2f9070,_0x2f26d4- -_0x22eacb._0x2e505a);}function _0x3954f8(_0x1bf5ac,_0xffaeee){return _0x7afdbe(_0xffaeee,_0x1bf5ac- -_0x9845a2._0x388a29);}this[_0x33e18c(0x1573,0x1128)]&&this['_map'][_0x33e18c(-_0x22b0df._0x3f1efc,0x4d1)](this['_drawEndEventType'],this['_onDbClickHandler'],this),(this['options'][_0x3954f8(_0x22b0df._0x3c26f1,0x728)]??!![])&&this[_0x3954f8(0x56a,-_0x22b0df._0x502285)][_0x33e18c(0x45b,0x4d1)](this[_0x33e18c(_0x22b0df._0x432253,0x90b)],this['_onRightClickHandler'],this);}['_getExSmallTooltip'](_0x334bd8,_0x45547b=''){const _0x57972c={_0x5cf874:0x2de,_0x48aa45:0x1616,_0x2985e0:0xb82,_0x18ba29:0xdb7,_0x28a625:0xdf1,_0x13c270:0x681,_0x280fdf:0xcbc,_0x320db6:0x5a0,_0x4f81b9:0xf47},_0x2fe4e3={_0x2e225a:0x6ce},_0x1166fd={_0x518c23:0x45c};if(this['options']['drawShowMeasure']===![])return _0x45547b;const _0x489390=this[_0x1133a3(0x331,-_0x57972c._0x5cf874)];function _0x57a324(_0xf5f6e,_0x2fc847){return _0x7afdbe(_0xf5f6e,_0x2fc847- -_0x1166fd._0x518c23);}const _0x586808=_0x489390[_0x57a324(_0x57972c._0x48aa45,0xd57)];if(_0x586808<0x2)return _0x45547b;const _0x8a2d84={'unit':this[_0x1133a3(0x410,0x55f)][_0x57a324(0x656,0x1d7)],'getLangText':_0x3b6b06=>{return this['_map']['getLangText'](_0x3b6b06);},'decimal':this['options']['decimal']};function _0x1133a3(_0x55f76d,_0x5a24ce){return _0x7afdbe(_0x5a24ce,_0x55f76d- -_0x2fe4e3._0x2e225a);}const _0x4640ed=formatDistance(this['distance'],_0x8a2d84);if(_0x334bd8['index']===0x0)return'<br\x20/>'+this[_0x57a324(0x6c3,0x5a5)][_0x1133a3(_0x57972c._0x2985e0,0x11e5)]('_总长')+':'+_0x4640ed;const _0x4f1997=_0x334bd8['index']??_0x586808-0x1,_0x25320a=formatDistance(Cesium__namespace[_0x57a324(_0x57972c._0x18ba29,0x10b9)][_0x1133a3(_0x57972c._0x28a625,_0x57972c._0x13c270)](_0x489390[_0x4f1997],_0x489390[_0x4f1997-0x1]),_0x8a2d84);return'<br\x20/>'+this['_map'][_0x1133a3(0xb82,_0x57972c._0x280fdf)]('_总长')+':'+_0x4640ed+_0x57a324(0xa2e,_0x57972c._0x320db6)+this['_map']['getLangText'](_0x1133a3(0x87b,_0x57972c._0x4f81b9))+':'+_0x25320a+')';}}class BasePointPrimitive extends BasePrimitive{constructor(_0x487bde={}){const _0x48b262={_0x4b7b91:0x37d,_0x2439bb:0x6d1,_0x58042c:0xcd8,_0x19d03a:0x15c5,_0x2e67c7:0x12ca,_0x56b492:0x975,_0x1aab1a:0x1dc,_0x500390:0x1222,_0x274c85:0xbad,_0x516e7f:0x85,_0xf95914:0xf22,_0x341275:0x1130,_0x5dddcf:0x374,_0x524aa0:0x235,_0x223cad:0x14,_0x1bc19d:0x6c7,_0x14c3f9:0xc1c,_0x446f67:0x8f9,_0x1aa177:0x10a,_0x44f8a0:0xe90,_0x2b4b83:0xbc3,_0x3c8aae:0x6c3,_0x1bdafa:0xce,_0x1b68f1:0x74b,_0x3033ec:0x8b,_0xfda22d:0x2bd,_0x7585ec:0x168a,_0x2bdd6b:0x131a};super(_0x487bde);function _0x26e3ca(_0x42402e,_0x3e1a27){return _0x54a7f1(_0x3e1a27- -0x1df,_0x42402e);}this['_hasEdit']=this[_0x26e3ca(_0x48b262._0x4b7b91,_0x48b262._0x2439bb)]['hasEdit']??!![];_0x487bde[_0x38f055(0xe53,_0x48b262._0x58042c)]&&(this[_0x26e3ca(0x8f0,0xf10)]=_0x487bde['positions']);function _0x38f055(_0x2b5c41,_0x9eb7be){return _0x7afdbe(_0x2b5c41,_0x9eb7be- -0x645);}if(_0x487bde['position'])this[_0x38f055(_0x48b262._0x19d03a,_0x48b262._0x2e67c7)]=_0x487bde['position'];else{if(_0x487bde['modelMatrix']){const _0x229710=_0x487bde['modelMatrix'];this[_0x38f055(0xf3,_0x48b262._0x56b492)]=Cesium__namespace['Matrix4']['getTranslation'](_0x229710,new Cesium__namespace['Cartesian3']()),this['_point']=LngLatPoint[_0x26e3ca(0x1c5,_0x48b262._0x1aab1a)](this[_0x26e3ca(_0x48b262._0x500390,_0x48b262._0x274c85)]);if(!Cesium__namespace['defined'](this[_0x38f055(-0x964,_0x48b262._0x516e7f)][_0x26e3ca(_0x48b262._0xf95914,_0x48b262._0x341275)])){const _0x3d41d3=Cesium__namespace[_0x26e3ca(-_0x48b262._0x5dddcf,0x1f9)][_0x38f055(_0x48b262._0x524aa0,0xcba)](_0x229710,new Cesium__namespace[(_0x38f055(0x95b,0xed0))]());_0x3d41d3&&(_0x3d41d3['x']===_0x3d41d3['y']&&_0x3d41d3['x']===_0x3d41d3['z']?this['style']['scale']=_0x3d41d3['x']:(this['style'][_0x38f055(_0x48b262._0x223cad,_0x48b262._0x1bc19d)]=_0x3d41d3['x'],this['style']['scaleY']=_0x3d41d3['y'],this['style']['scaleZ']=_0x3d41d3['z']));}if(!Cesium__namespace[_0x38f055(_0x48b262._0x14c3f9,0x126a)](this[_0x38f055(0x6a8,0x85)][_0x38f055(_0x48b262._0x446f67,-_0x48b262._0x1aa177)])){const _0x454c65=Cesium__namespace[_0x26e3ca(_0x48b262._0x44f8a0,0x58e)]['eastNorthUpToFixedFrame'](Cesium__namespace['Matrix4']['getTranslation'](_0x229710,new Cesium__namespace['Cartesian3']()),Cesium__namespace[_0x38f055(_0x48b262._0x2b4b83,0x119e)]['WGS84'],new Cesium__namespace['Matrix4']()),_0x58cd59=Cesium__namespace['Matrix4']['multiply'](Cesium__namespace[_0x26e3ca(0x1b9,0x1f9)][_0x26e3ca(0x15de,0x122f)](_0x454c65,new Cesium__namespace['Matrix4']()),_0x229710,new Cesium__namespace['Matrix4']()),_0x2ef2b4=Cesium__namespace['Matrix4'][_0x26e3ca(_0x48b262._0x3c8aae,_0x48b262._0x1bdafa)](_0x58cd59,new Cesium__namespace['Matrix3']()),_0x23d777=Cesium__namespace[_0x38f055(0xa4f,0x51c)]['fromRotationMatrix'](_0x2ef2b4),_0x1beee3=Cesium__namespace[_0x38f055(0xdf6,_0x48b262._0x1b68f1)]['fromQuaternion'](_0x23d777);this[_0x26e3ca(_0x48b262._0x3033ec,_0x48b262._0xfda22d)]['heading']=Cesium__namespace['Math']['toDegrees'](_0x1beee3['heading']),this['style']['pitch']=Cesium__namespace[_0x26e3ca(_0x48b262._0x7585ec,0x10cd)]['toDegrees'](_0x1beee3['pitch']),this[_0x38f055(-0x7cc,0x85)]['roll']=Cesium__namespace[_0x26e3ca(0x144b,0x10cd)]['toDegrees'](_0x1beee3[_0x38f055(0x18db,_0x48b262._0x2bdd6b)]);}}}}get['position'](){const _0x3fd9f5={_0x46a30f:0x1010,_0x258050:0x764,_0x238edf:0xdfd};function _0x17909b(_0x56e150,_0x114a39){return _0x54a7f1(_0x56e150- -0x2f5,_0x114a39);}function _0x278e00(_0x45ab81,_0x39c89d){return _0x54a7f1(_0x45ab81- -0x6f,_0x39c89d);}if(this[_0x278e00(0xd1d,_0x3fd9f5._0x46a30f)])return this['_position'];if(this['property']){var _0x5bfb17;return this['property']['getValue']((_0x5bfb17=this[_0x278e00(_0x3fd9f5._0x258050,0xec0)])===null||_0x5bfb17===void 0x0||(_0x5bfb17=_0x5bfb17['clock'])===null||_0x5bfb17===void 0x0?void 0x0:_0x5bfb17[_0x278e00(0x13e4,_0x3fd9f5._0x238edf)]);}}set['position'](_0x57c9df){const _0x30f81a={_0x303200:0x9ab,_0x98db76:0x2c0,_0x2fe7e4:0xd8f,_0x2f6b4d:0x12a0,_0xfbb98d:0x1007,_0x21eba5:0x465,_0xb27527:0x83c,_0x512723:0xab,_0x37ee15:0x136f,_0x19d500:0x13b5,_0x14b481:0x1b4,_0x23b4db:0x38f,_0x4494db:0x587,_0x1cca88:0x296},_0x462217={_0x16d345:0x503},_0x2215d5={_0x3bd318:0x3e1};var _0x152614;function _0x10f5cf(_0x504681,_0x67aca9){return _0x54a7f1(_0x504681- -_0x2215d5._0x3bd318,_0x67aca9);}if(this['isDestroy'])return;if(this['setAjaxPostion'](_0x57c9df))return this[_0x10f5cf(_0x30f81a._0x303200,_0x30f81a._0x98db76)];if(this['_forPositionProperty'](_0x57c9df))return this['_position'];function _0x20288d(_0x6d169e,_0x32f598){return _0x7afdbe(_0x6d169e,_0x32f598- -_0x462217._0x16d345);}this['_point']=LngLatPoint['parse'](_0x57c9df);if(this['_point']){const _0xf80d29=this[_0x10f5cf(_0x30f81a._0x2fe7e4,0x14be)]();Cesium__namespace[_0x10f5cf(_0x30f81a._0x2f6b4d,0x111d)](_0xf80d29)&&(this[_0x20288d(_0x30f81a._0xfbb98d,0x83c)]['alt']=_0xf80d29);const _0x4708c0=this[_0x20288d(0x7aa,0x493)]();Cesium__namespace['defined'](_0x4708c0)&&(this[_0x10f5cf(0x730,_0x30f81a._0x21eba5)]['alt']+=_0x4708c0);}this['_position']=(_0x152614=this[_0x20288d(0x76a,_0x30f81a._0xb27527)])===null||_0x152614===void 0x0?void 0x0:_0x152614['toCartesian']();this['options']['modelMatrix']&&delete this['options']['modelMatrix'];if(this['czmObject'])this['_updatePositionsHook']();else this[_0x10f5cf(_0x30f81a._0x512723,0x2c0)]&&this['_updatePositionsHook_noCzmObject']();this['_primitive_label']&&this[_0x20288d(0x9f0,_0x30f81a._0x37ee15)](),this[_0x10f5cf(0xddc,_0x30f81a._0x19d500)]&&(this['_editing_entity'][_0x10f5cf(0x1300,0xed0)]=this['_position']),this['_getRectangle_cache']&&delete this[_0x20288d(0x6c3,_0x30f81a._0x14b481)],this['fire'](EventType[_0x10f5cf(_0x30f81a._0x23b4db,-_0x30f81a._0x4494db)],{'position':this[_0x10f5cf(0x9ab,_0x30f81a._0x1cca88)]});}get['positionsShow'](){const _0xb0423e={_0x55c945:0x1284},_0x1d02c1={_0xe9dcec:0x195};function _0x1b21ca(_0x357a87,_0x4114a1){return _0x54a7f1(_0x357a87-_0x1d02c1._0xe9dcec,_0x4114a1);}return this[_0x1b21ca(_0xb0423e._0x55c945,0x90e)];}get[_0x7afdbe(0x1973,0x10c7)](){const _0x545e54={_0x2ea03e:0x509};function _0x13f69f(_0x109ef3,_0x4da46c){return _0x54a7f1(_0x109ef3- -0x271,_0x4da46c);}if(this['isEditing']){var _0x30efee;const _0x3f9f54=(_0x30efee=this['_editing_entity'])===null||_0x30efee===void 0x0?void 0x0:_0x30efee['positionShow'];if(_0x3f9f54)return _0x3f9f54;}return this[_0x13f69f(0xb1b,_0x545e54._0x2ea03e)];}get['point'](){const _0x21afad={_0x2bf5cd:0xe4c,_0x269475:0xec4},_0xc8f210={_0x8fd6:0x2f9},_0x28066f={_0x121fee:0x39b};function _0x2309af(_0x208b47,_0x11d50c){return _0x7afdbe(_0x208b47,_0x11d50c- -_0x28066f._0x121fee);}if(this[_0x2309af(0x3a8,_0x21afad._0x2bf5cd)]){var _0x47a1a1;const _0xd9fd02=(_0x47a1a1=this[_0x1e4337(0x903,_0x21afad._0x269475)])===null||_0x47a1a1===void 0x0?void 0x0:_0x47a1a1['point'];if(_0xd9fd02)return _0xd9fd02;}function _0x1e4337(_0x3d0d3f,_0x534905){return _0x54a7f1(_0x534905- -_0xc8f210._0x8fd6,_0x3d0d3f);}return this[_0x2309af(0x86e,0x9a4)];}get[_0x7afdbe(0x167e,0x1963)](){const _0x19f217={_0x439ffb:0xd60};function _0x1a31f2(_0x1939ae,_0x15ba03){return _0x54a7f1(_0x15ba03- -0xc1,_0x1939ae);}return this[_0x1a31f2(_0x19f217._0x439ffb,0xe8b)]();}get[_0x54a7f1(0x57d,0xc89)](){return this['position'];}get['centerPoint'](){return this['point'];}get['height'](){const _0x379f9e={_0x51ca62:0x9d8},_0x3dbe64={_0x303ca8:0x551};function _0x5e83d0(_0x30c423,_0xa300a7){return _0x7afdbe(_0xa300a7,_0x30c423- -_0x3dbe64._0x303ca8);}function _0x5239f8(_0x34143f,_0x4f7cba){return _0x7afdbe(_0x34143f,_0x4f7cba- -0x24);}var _0x694a52;return(_0x694a52=this[_0x5e83d0(0x9f9,_0x379f9e._0x51ca62)])===null||_0x694a52===void 0x0?void 0x0:_0x694a52[_0x5239f8(0x5ce,0x65f)];}set['height'](_0x2770d6){const _0x37a9c5={_0x5b5b38:0x865,_0x1206f2:0x2e0};this['point'][_0x53af27(_0x37a9c5._0x5b5b38,_0x37a9c5._0x1206f2)]=_0x2770d6;function _0x53af27(_0x256ff6,_0x167d80){return _0x54a7f1(_0x167d80- -0x175,_0x256ff6);}this['position']=this['point'];}get[_0x7afdbe(0xc5f,0x131d)](){const _0x15993f={_0x443d9f:0x1256},_0xbb143f={_0x48caf6:0x3a4},_0x22a39a=this[_0x2da798(_0x15993f._0x443d9f,0xd23)];function _0x2da798(_0x2f2b01,_0x4951e4){return _0x7afdbe(_0x2f2b01,_0x4951e4- -_0xbb143f._0x48caf6);}return _0x22a39a?[_0x22a39a]:null;}set[_0x7afdbe(0x18ab,0x131d)](_0x57ea6c){const _0x5bdd13={_0xf23009:0xfb0},_0x1054a0={_0x1eb718:0x70};function _0x11c35a(_0x2dce2f,_0x544cd0){return _0x7afdbe(_0x544cd0,_0x2dce2f- -_0x1054a0._0x1eb718);}_0x57ea6c&&_0x57ea6c[_0x11c35a(0x1143,_0x5bdd13._0xf23009)]>0x0&&(this['position']=_0x57ea6c[0x0]);}get['points'](){const _0x2ccf84=this['point'];return _0x2ccf84?[_0x2ccf84]:null;}get['coordinates'](){const _0x5bbcb8={_0x33611d:0xfa1},_0x4cba3a=this[_0x3ecf08(0x1955,_0x5bbcb8._0x33611d)];function _0x3ecf08(_0x1761a5,_0x5e4fc1){return _0x7afdbe(_0x5e4fc1,_0x1761a5- -0xe);}return _0x4cba3a?[_0x4cba3a]:null;}get['orientation'](){const _0x47ac36={_0x3ca943:0x7f6,_0x4208be:0xc4f};function _0x109f40(_0x3c6303,_0x3bc552){return _0x54a7f1(_0x3bc552- -0x448,_0x3c6303);}function _0x31824a(_0x3c0ca4,_0x18a3ca){return _0x54a7f1(_0x3c0ca4- -0x10d,_0x18a3ca);}return this[_0x109f40(0xaf2,0xb29)]||this[_0x109f40(_0x47ac36._0x3ca943,0x468)][_0x109f40(_0x47ac36._0x4208be,0x11b8)];}set['orientation'](_0x294fa3){this['_orientation']=_0x294fa3;}get[_0x54a7f1(0x726,0x56a)](){const _0x11be31={_0x242494:0xa7c,_0x3913d3:0x3fc,_0x30fcd4:0x31c,_0xa04257:0x102f,_0x2e55a1:0x1a5},_0x51c9e1={_0x2e4d8a:0x558},_0xb8efb1={_0x45aa58:0x1ac};function _0xac3325(_0x27de31,_0x24afbf){return _0x7afdbe(_0x27de31,_0x24afbf- -_0xb8efb1._0x45aa58);}function _0x388d37(_0x4224e4,_0x4b776f){return _0x7afdbe(_0x4224e4,_0x4b776f- -_0x51c9e1._0x2e4d8a);}return this[_0x388d37(_0x11be31._0x242494,0x586)][_0x388d37(0x457,_0x11be31._0x3913d3)]?this['options'][_0xac3325(-_0x11be31._0x30fcd4,0x7a8)]:this[_0xac3325(0xd4f,_0x11be31._0xa04257)](this['position'],this[_0x388d37(_0x11be31._0x2e55a1,0xc47)]);}get['heading'](){const _0x72f60f={_0x3a2102:0x232};if(Cesium__namespace['defined'](this[_0x43bf64(-0x226,0x2ea)]))return Cesium__namespace['Math']['toDegrees'](this[_0x53a277(0x45f,0x1a3)]);function _0x43bf64(_0x5b6c19,_0x32a9cd){return _0x7afdbe(_0x5b6c19,_0x32a9cd- -0x309);}function _0x53a277(_0x409ce4,_0x79534d){return _0x7afdbe(_0x79534d,_0x409ce4- -0x194);}return this['style'][_0x43bf64(-0x324,_0x72f60f._0x3a2102)]??0x0;}set['heading'](_0x407bc7){const _0x47bc4c={_0x2e7a2e:0x132a,_0x215429:0x97f},_0x5d3ec2={_0x2ce98e:0x3e5};this['style']['heading']=_0x407bc7;function _0x55d936(_0x5b08e5,_0x1327e0){return _0x54a7f1(_0x1327e0- -_0x5d3ec2._0x2ce98e,_0x5b08e5);}this[_0x55d936(_0x47bc4c._0x2e7a2e,_0x47bc4c._0x215429)]();}get['pitch'](){const _0x1c98bf={_0x284d02:0x1861},_0x3283c3={_0x1d743a:0x733},_0x1a6d83={_0x562744:0x5f};if(Cesium__namespace[_0x2db9a6(0x117c,0x1643)](this['_pitch_reality']))return Cesium__namespace['Math']['toDegrees'](this['_pitch_reality']);function _0x396e05(_0x405f63,_0x5b1cb6){return _0x7afdbe(_0x405f63,_0x5b1cb6- -_0x1a6d83._0x562744);}function _0x2db9a6(_0x331865,_0x44a1ea){return _0x7afdbe(_0x44a1ea,_0x331865- -_0x3283c3._0x1d743a);}return this[_0x2db9a6(-0x69,0x34a)][_0x396e05(0x131c,_0x1c98bf._0x284d02)]??0x0;}set['pitch'](_0xf45cb1){this['style']['pitch']=_0xf45cb1,this['updateModelMatrix']();}get[_0x7afdbe(0x1b49,0x195f)](){const _0x4296d1={_0x3fd5db:0x22e};function _0x1852f2(_0x1429c7,_0x574d3e){return _0x7afdbe(_0x1429c7,_0x574d3e- -_0x4296d1._0x3fd5db);}if(Cesium__namespace['defined'](this[_0x1852f2(0x1e80,0x1633)]))return Cesium__namespace[_0x1852f2(0x116d,0x12ac)]['toDegrees'](this['_roll_reality']);function _0x218e4a(_0x496631,_0x2a5471){return _0x54a7f1(_0x2a5471-0xb3,_0x496631);}return this['style'][_0x1852f2(0xd1e,0x1731)]??0x0;}set[_0x7afdbe(0x2231,0x195f)](_0x3f14f0){const _0x283e58={_0x5e4981:0x564};this['style']['roll']=_0x3f14f0;function _0x50bbf5(_0x3c24ea,_0x513fb7){return _0x54a7f1(_0x3c24ea-0x249,_0x513fb7);}this[_0x50bbf5(0xfad,_0x283e58._0x5e4981)]();}get[_0x7afdbe(0x750,0x64b)](){const _0x4a5745={_0xa9da95:0x38e,_0x27f46d:0x4a5,_0x40cbc0:0xe97},_0x145e06={_0x2c8dc3:0x8f};function _0x5893b9(_0x3f178f,_0x52c779){return _0x54a7f1(_0x3f178f- -0x445,_0x52c779);}if(this['options'][_0x39ee34(0x38e,-0x533)])return this['options'][_0x39ee34(_0x4a5745._0xa9da95,_0x4a5745._0x27f46d)];function _0x39ee34(_0x6a7da0,_0x33fcc0){return _0x54a7f1(_0x6a7da0- -_0x145e06._0x2c8dc3,_0x33fcc0);}if(this['_objectsToExcludee'])return this[_0x39ee34(0x1224,_0x4a5745._0x40cbc0)];return undefined;}set['objectsToExclude'](_0x2de193){this['_objectsToExclude']=_0x2de193;}get[_0x54a7f1(0x772,0x7e1)](){const _0x589613={_0x213971:0x3e8,_0x297b1e:0x12f9,_0x41e43e:0xae8},_0x2b239f={_0x4ec6d1:0x48},_0x29f62a={_0x1937b0:0x21c};!this['_trackedEntity']&&(this['_trackedEntity']=this['_layer']['dataSource'][_0x137fac(0xcce,0xda3)][_0xb027a4(0x648,_0x589613._0x213971)]({'viewFrom':this['options'][_0x137fac(0xb09,0xf75)]||new Cesium__namespace[(_0x137fac(_0x589613._0x297b1e,0xa14))](-0x1f4,-0x1f4,0xc8),'position':this[_0xb027a4(0xd55,0x996)]||new Cesium__namespace[(_0xb027a4(0xd02,_0x589613._0x41e43e))](_0x79a4a8=>{return this['_position'];},![]),'point':{'pixelSize':0x2,'color':Cesium__namespace['Color'][_0x137fac(0x89f,0x8b1)][_0xb027a4(0x343,0x957)](0.01)}}));function _0x137fac(_0x1c4a34,_0x26882d){return _0x7afdbe(_0x26882d,_0x1c4a34- -_0x29f62a._0x1937b0);}function _0xb027a4(_0x3094df,_0x229beb){return _0x54a7f1(_0x3094df- -_0x2b239f._0x4ec6d1,_0x229beb);}return this['_trackedEntity'];}get[_0x7afdbe(0x17,0x809)](){const _0x18a17b={_0x5731a0:0x6dd};function _0x1b7369(_0x4ab991,_0xca8130){return _0x7afdbe(_0xca8130,_0x4ab991- -0x707);}return this[_0x1b7369(0x1160,_0x18a17b._0x5731a0)];}set['debugAxis'](_0x5ddb4a){const _0x46b837={_0x2a52dd:0x1342,_0x238bc3:0x360,_0x4d6c3a:0xe08,_0x26c413:0x8b5,_0x5e99a0:0x186,_0x369610:0xa9a,_0x39665e:0xb78,_0x24f532:0x1660},_0x4db154={_0x152c93:0x52f};this['_debugAxis']=_0x5ddb4a;function _0x592b2a(_0x4eca73,_0x1972a6){return _0x7afdbe(_0x4eca73,_0x1972a6- -_0x4db154._0x152c93);}if(!this['debugAxisPrimitive']){const _0x5c0ae1=Math['max'](Cesium__namespace[_0x62a838(0x8f3,_0x46b837._0x2a52dd)][_0x62a838(_0x46b837._0x238bc3,_0x46b837._0x4d6c3a)](this['positionShow'])['height']*0.06,0x64);this['debugAxisPrimitive']=this['_layer'][_0x62a838(0x462,0x977)]['add'](new Cesium__namespace['DebugModelMatrixPrimitive']({'modelMatrix':this['modelMatrix'],'length':_0x5c0ae1,'width':0x5})),this[_0x592b2a(-0x4b5,0xc0)][_0x62a838(_0x46b837._0x26c413,-_0x46b837._0x5e99a0)]={'content':'<span\x20style=\x22color:\x20red;\x22>红色</span>\x20是\x20X轴<br/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:\x20green;\x22>绿色</span>\x20是\x20Y轴<br/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:\x20blue;\x22>蓝色</span>\x20是\x20Z轴','options':this['options'][_0x592b2a(_0x46b837._0x369610,0x70e)]},this[_0x62a838(0xdc0,_0x46b837._0x39665e)]&&(this['debugAxisPrimitive']['_timeTik']=setInterval(()=>{function _0x43585a(_0x4a8ffe,_0x59f05e){return _0x62a838(_0x59f05e- -0x1fb,_0x4a8ffe);}this['debugAxisPrimitive'][_0x43585a(0x8da,0x54e)]=this['modelMatrix'];},0x12c)),this['bindPickId'](this['debugAxisPrimitive']);}function _0x62a838(_0x1d476b,_0x2066a8){return _0x7afdbe(_0x2066a8,_0x1d476b- -0x20b);}this['debugAxisPrimitive'][_0x592b2a(_0x46b837._0x24f532,0x12f2)]=_0x5ddb4a;}get['debugAxisLength'](){const _0x2d1d2d={_0x2f4058:0x5f2},_0x5c6a6f={_0x3e7078:0x231};function _0x512ee4(_0x571e34,_0x4ded86){return _0x54a7f1(_0x4ded86-_0x5c6a6f._0x3e7078,_0x571e34);}function _0x5aea54(_0x268023,_0x3ffe80){return _0x7afdbe(_0x3ffe80,_0x268023- -0x631);}return this[_0x512ee4(-0x63,_0x2d1d2d._0x2f4058)]?this['debugAxisPrimitive'][_0x512ee4(0x11ab,0x11b6)]:0x0;}set['debugAxisLength'](_0x1f84f0){const _0x591adb={_0x429f11:0xe4e};!this['debugAxisPrimitive']&&(this['debugAxis']=!![]);function _0x1f8736(_0xa82d0,_0x28535d){return _0x54a7f1(_0xa82d0-0xd7,_0x28535d);}this[_0x1f8736(0x498,_0x591adb._0x429f11)]['length']=_0x1f84f0;}['_addedHook'](_0x5938d5){const _0x3a4169={_0x49f798:0x1d90},_0xa59277={_0x4b5cab:0x4b5};function _0x428c92(_0x164bff,_0x3e047f){return _0x7afdbe(_0x3e047f,_0x164bff- -0x434);}if(!this[_0x428c92(0x13ed,_0x3a4169._0x49f798)]||!this[_0x428c92(0x14db,0xa50)])return;this['_forPositionProperty'](this['options'][_0x1fca63(0x13a5,0x122c)]);function _0x1fca63(_0x583ace,_0x594af1){return _0x54a7f1(_0x594af1- -_0xa59277._0x4b5cab,_0x583ace);}super[_0x428c92(0xf1b,0x81d)](_0x5938d5);}['_removedHook'](_0x17b498){const _0x50f7e0={_0x532881:0xbd5,_0x173f30:0x6b4,_0x19a06b:0x12b,_0x1e2d29:0x4ff,_0x4a51e7:0xde6,_0x5f0363:0x8c4,_0x355725:0x150e,_0x5ad02f:0x9d4,_0x5685d9:0x3e2};function _0x5de63c(_0x419517,_0xa6958a){return _0x7afdbe(_0x419517,_0xa6958a- -0x63e);}function _0x1b9f46(_0x104fb1,_0x1a55b3){return _0x54a7f1(_0x1a55b3- -0x11f,_0x104fb1);}this[_0x5de63c(_0x50f7e0._0x532881,0x12b)]&&(this[_0x1b9f46(0xbac,_0x50f7e0._0x173f30)]['trackedEntity']===this[_0x5de63c(0x772,_0x50f7e0._0x19a06b)]&&(this[_0x5de63c(0x627,0x3c3)]['trackedEntity']=undefined),this['_layer'][_0x5de63c(_0x50f7e0._0x1e2d29,0x625)][_0x1b9f46(_0x50f7e0._0x4a51e7,0xb9d)]['remove'](this['_trackedEntity']),delete this[_0x5de63c(-_0x50f7e0._0x5f0363,0x12b)]),this['debugAxisPrimitive']&&(clearInterval(this['debugAxisPrimitive']['_timeTik']),this[_0x1b9f46(0x1814,_0x50f7e0._0x355725)]['primitiveCollection']['remove'](this[_0x5de63c(-_0x50f7e0._0x5ad02f,-0x4f)]),delete this[_0x5de63c(_0x50f7e0._0x5685d9,-0x4f)]),super['_removedHook'](_0x17b498);}['updateModelMatrix'](){const _0x3e1b89={_0x24f2fd:0x129f},_0x2bbbd4={_0xfc3f60:0x1b1};function _0x52f62f(_0x4904b0,_0x5c2f3a){return _0x54a7f1(_0x4904b0-_0x2bbbd4._0xfc3f60,_0x5c2f3a);}this['_primitive']&&(this[_0x52f62f(0x155b,_0x3e1b89._0x24f2fd)]['modelMatrix']=this['modelMatrix']);}[_0x54a7f1(0xfad,0x186f)](_0x16f43f,_0x426835){const _0x25a1ff={_0x15f3f5:0x1533,_0x406707:0x1328,_0x51e91c:0xec0,_0x51785c:0x518,_0x1f29fd:0x159e,_0x32a68f:0xc0f,_0x313270:0x14c8,_0x3e0af2:0x125,_0x2761a3:0x1b9a,_0x508680:0x14aa,_0x4ff02e:0x402,_0x3889bc:0x1549,_0x5965f0:0xf6b,_0xafc4f1:0x1549,_0x450243:0x16af,_0x23879d:0x426,_0x451e1e:0x2049,_0x584912:0x17af,_0x18ea8c:0xef7,_0x25ea97:0x579,_0x493e99:0x2b4,_0x4787b5:0x1127};if(!_0x16f43f)return Cesium__namespace['Matrix4']['IDENTITY'];function _0x51b6d1(_0x2f318b,_0x4bb5f2){return _0x7afdbe(_0x2f318b,_0x4bb5f2- -0x416);}let _0x48a81a=Cesium__namespace['Math'][_0x51b6d1(_0x25a1ff._0x15f3f5,0x133a)](this['style']['heading']||0x0),_0x1e6e5e=Cesium__namespace[_0x834b9c(0x1b79,_0x25a1ff._0x406707)][_0x834b9c(_0x25a1ff._0x51e91c,0x159e)](this[_0x834b9c(-0x2b2,_0x25a1ff._0x51785c)][_0x51b6d1(0xd32,0x14aa)]||0x0),_0x256b46=Cesium__namespace['Math'][_0x834b9c(0x1d6d,_0x25a1ff._0x1f29fd)](this['style'][_0x51b6d1(_0x25a1ff._0x32a68f,0x1549)]||0x0);if(_0x426835){if(_0x426835['getValue']){var _0x4cf4da;_0x426835=_0x426835['getValue']((_0x4cf4da=this['_map'])===null||_0x4cf4da===void 0x0||(_0x4cf4da=_0x4cf4da[_0x834b9c(0xd68,0xa55)])===null||_0x4cf4da===void 0x0?void 0x0:_0x4cf4da['currentTime']);}if(_0x426835){const _0x1d433a=getHeadingPitchRollByOrientation(_0x16f43f,_0x426835,this[_0x834b9c(0x1143,0x980)],this[_0x834b9c(_0x25a1ff._0x313270,0x17af)]);this['style']['mergeOrientation']?(_0x48a81a+=_0x1d433a[_0x51b6d1(-0x7d0,_0x25a1ff._0x3e0af2)],_0x256b46+=_0x1d433a[_0x51b6d1(_0x25a1ff._0x2761a3,0x1549)],_0x1e6e5e+=_0x1d433a[_0x51b6d1(0x1149,_0x25a1ff._0x508680)]):(!Cesium__namespace['defined'](this['style'][_0x834b9c(-_0x25a1ff._0x4ff02e,0x389)])&&(_0x48a81a=_0x1d433a['heading']),!Cesium__namespace['defined'](this['style'][_0x51b6d1(0x1964,_0x25a1ff._0x3889bc)])&&(_0x256b46=_0x1d433a[_0x51b6d1(_0x25a1ff._0x5965f0,_0x25a1ff._0xafc4f1)]),!Cesium__namespace['defined'](this['style']['pitch'])&&(_0x1e6e5e=_0x1d433a['pitch']));}}this['_heading_reality']=_0x48a81a;function _0x834b9c(_0xc352a9,_0x16fe07){return _0x7afdbe(_0xc352a9,_0x16fe07- -0x1b2);}this[_0x51b6d1(0x61c,0x7c6)]=_0x1e6e5e,this[_0x834b9c(0x20b2,_0x25a1ff._0x450243)]=_0x256b46;const _0x3ec72e=Cesium__namespace['Transforms']['headingPitchRollToFixedFrame'](_0x16f43f,new Cesium__namespace['HeadingPitchRoll'](_0x48a81a,_0x1e6e5e,_0x256b46),this[_0x834b9c(_0x25a1ff._0x23879d,0x980)],this[_0x834b9c(_0x25a1ff._0x451e1e,_0x25a1ff._0x584912)]);if(Cesium__namespace['defined'](this['scaleX'])&&Cesium__namespace[_0x51b6d1(_0x25a1ff._0x18ea8c,0x1499)](this['scaleY'])&&Cesium__namespace['defined'](this[_0x51b6d1(0xb32,_0x25a1ff._0x25ea97)]))Cesium__namespace['Matrix4']['multiplyByScale'](_0x3ec72e,new Cesium__namespace['Cartesian3'](this['scaleX'],this['scaleY'],this[_0x51b6d1(0x8c0,_0x25a1ff._0x25ea97)]),_0x3ec72e);else Cesium__namespace['defined'](this[_0x51b6d1(-0x70c,_0x25a1ff._0x493e99)][_0x51b6d1(0x7ca,_0x25a1ff._0x4787b5)])&&Cesium__namespace['Matrix4']['multiplyByScale'](_0x3ec72e,new Cesium__namespace['Cartesian3'](this['style']['scale'],this[_0x51b6d1(0x9ab,0x2b4)]['scale'],this['style']['scale']),_0x3ec72e);return _0x3ec72e;}['_getGeoJsonGeometry'](_0x3de6da){const _0x238231={_0x1dce7f:0x5c6};function _0x5d26ea(_0x46e320,_0x78b67d){return _0x7afdbe(_0x78b67d,_0x46e320- -0x4d3);}return{'type':'Point','coordinates':this['getCoordinate'](_0x3de6da===null||_0x3de6da===void 0x0?void 0x0:_0x3de6da[_0x5d26ea(_0x238231._0x1dce7f,0x4b6)])};}['_forPositionProperty'](_0x3961fb){const _0xa1aee0={_0x5c078b:0xcdc,_0x466a3d:0x842,_0x1f0873:0xbff,_0x262760:0xa86,_0x12a50f:0x1115};function _0x5498ef(_0x414990,_0x2a45c0){return _0x7afdbe(_0x414990,_0x2a45c0- -0x719);}function _0x962e82(_0x45d9f8,_0x5586ef){return _0x54a7f1(_0x45d9f8- -0x6e,_0x5586ef);}return _0x3961fb instanceof Cesium__namespace[_0x962e82(_0xa1aee0._0x5c078b,0x1110)]||_0x3961fb instanceof Cesium__namespace['SampledPositionProperty']?(this['options']['frameRate']=this[_0x962e82(_0xa1aee0._0x466a3d,0xf53)][_0x5498ef(0x106e,_0xa1aee0._0x1f0873)]??0x14,this[_0x5498ef(0x756,_0xa1aee0._0x262760)]=this[_0x962e82(0x842,0x1097)][_0x5498ef(0x15ed,_0xa1aee0._0x12a50f)]||new Cesium__namespace['VelocityOrientationProperty'](_0x3961fb),this['property']=_0x3961fb,this['bindUpdateEvent'](),!![]):![];}['update'](_0x9570c6){const _0x20008a={_0x30a740:0xcc1,_0x345a6d:0x983,_0x41d393:0x8a,_0x25e067:0x32a,_0x3c14e6:0x1366};if(!this['show'])return;this[_0x5c8d21(_0x20008a._0x30a740,0x9c9)]&&(this['_position']=this['property'][_0x2aa39c(0x1511,0xd75)](_0x9570c6[_0x5c8d21(_0x20008a._0x345a6d,0xeff)]),this[_0x2aa39c(0x1ba3,0x197e)]&&this[_0x5c8d21(0x74c,_0x20008a._0x41d393)](),this[_0x5c8d21(0x681,-_0x20008a._0x25e067)]&&this['_updateLabelPosition']());function _0x2aa39c(_0x59dccb,_0x48d89f){return _0x7afdbe(_0x59dccb,_0x48d89f-0x55);}function _0x5c8d21(_0x203f17,_0x19b245){return _0x7afdbe(_0x19b245,_0x203f17- -0x30a);}this[_0x2aa39c(0x1710,_0x20008a._0x3c14e6)](_0x9570c6['time']);}['_getPopupPosition'](){const _0x5bbc95={_0x1f9d59:0xda8,_0x2d94b4:0x90};function _0x55e246(_0x1de49d,_0x44a2ee){return _0x7afdbe(_0x44a2ee,_0x1de49d- -0x327);}function _0x55e21d(_0x60836f,_0x210462){return _0x7afdbe(_0x60836f,_0x210462- -0x71b);}return this['property']||this[_0x55e246(0x15e8,_0x5bbc95._0x1f9d59)]||this[_0x55e21d(-0x87f,_0x5bbc95._0x2d94b4)];}[_0x54a7f1(0x807,-0xd1)](_0x49dec4,_0x1185a5){const _0x9c6ee9={_0x509719:0x630,_0x45163e:0x74a,_0x160ef5:0x251,_0x2304b5:0x866,_0x4067ce:0xb9b,_0xcd203e:0xb2,_0x3ab926:0x7b1,_0x1cf7bb:0x943,_0x5d3f85:0x158a,_0x552d14:0x11fa,_0xc2f39d:0x1481,_0x3dbb3f:0x206};var _0x37ebb2,_0x25a16b;!this[_0x13e8fa(0x1190,0x7cc)]&&this['_initSampledPositionProperty']();function _0x387b4a(_0x4f71b8,_0x14de21){return _0x7afdbe(_0x4f71b8,_0x14de21- -0x19b);}this['_removeDynamicPosition']();const _0x6e9c8c=((_0x37ebb2=this['_map'])===null||_0x37ebb2===void 0x0||(_0x37ebb2=_0x37ebb2['clock'])===null||_0x37ebb2===void 0x0?void 0x0:_0x37ebb2['currentTime'])||Cesium__namespace['JulianDate'][_0x387b4a(0x79b,0x6af)]();!_0x1185a5?_0x1185a5=_0x6e9c8c:_0x1185a5=getJulianDate$1(_0x1185a5,_0x6e9c8c);_0x49dec4=LngLatPoint[_0x13e8fa(_0x9c6ee9._0x509719,-0x129)](_0x49dec4);if(this['clampToGround']){const _0x2d5552={};_0x2d5552[_0x13e8fa(_0x9c6ee9._0x45163e,_0x9c6ee9._0x160ef5)]=!![],_0x49dec4['alt']=getHeight(this[_0x387b4a(0xfac,_0x9c6ee9._0x2304b5)][_0x13e8fa(0x305,_0x9c6ee9._0x4067ce)],_0x49dec4,_0x2d5552);}const _0x4a558d=(_0x25a16b=this['_sampledPositionProperty'])===null||_0x25a16b===void 0x0||(_0x25a16b=_0x25a16b['_property'])===null||_0x25a16b===void 0x0?void 0x0:_0x25a16b[_0x13e8fa(-_0x9c6ee9._0xcd203e,0x3a3)];if(this[_0x387b4a(_0x9c6ee9._0x3ab926,_0x9c6ee9._0x1cf7bb)]['autoMiddleDynamicPosition']&&(_0x4a558d===null||_0x4a558d===void 0x0?void 0x0:_0x4a558d['length'])>0x0&&this['_position']){const _0x1a1351=_0x4a558d[_0x4a558d['length']-0x1];if(Cesium__namespace[_0x13e8fa(0xb26,0x926)]['secondsDifference'](_0x6e9c8c,_0x1a1351)>0.3){let _0x31f709=this['_position'];if(this[_0x387b4a(_0x9c6ee9._0x5d3f85,_0x9c6ee9._0x552d14)]){const _0x59cb5a=0.01;_0x31f709=getOnLinePointByLen(this[_0x13e8fa(0x2ea,0xc83)],this['_position'],_0x59cb5a,!![]);}_0x31f709=setPositionsHeight(_0x31f709,_0x49dec4['alt']||0x0),this[_0x387b4a(_0x9c6ee9._0xc2f39d,0xd43)][_0x13e8fa(-0x197,-_0x9c6ee9._0x3dbb3f)](_0x6e9c8c,_0x31f709);}}const _0x41301d=_0x49dec4['toCartesian']();this[_0x387b4a(0x12ab,0xd43)][_0x13e8fa(-0x978,-0x206)](_0x1185a5,_0x41301d),this['_lastDynamicPosition']=_0x41301d;function _0x13e8fa(_0x4877a4,_0x14a951){return _0x7afdbe(_0x4877a4,_0x14a951- -0x712);}return this;}['_initSampledPositionProperty'](){const _0x4c5723={_0x124a26:0xbea,_0x9dfdce:0xade,_0x52e98e:0x15f,_0x2f8768:0xd3,_0x288485:0x2ef,_0x4fd8f6:0x1117,_0x3a8382:0x1592,_0x57e421:0x652,_0x36dff8:0xe9c,_0x1b1f1d:0x13a2},_0x4b34b1={_0x1cbbfe:0x793,_0x363bf7:0xc43,_0x1cdd4c:0x6db,_0x47bf7e:0x100,_0x3ecab2:0x463},_0x592581={_0x4c69e4:0x633};this['_clampToTilesetFrame']=-0x1,this['_frameRateHeight']=this[_0x380f7a(0x282,0x4ab)][_0x4792ca(_0x4c5723._0x124a26,0x1541)]??0x1e,this['_maxCacheCount']=this['options']['maxCacheCount']??0x32;let _0xaa90ee;this['_sampledPositionProperty']?_0xaa90ee=this[_0x4792ca(0xa52,_0x4c5723._0x9dfdce)]:(_0xaa90ee=new Cesium__namespace[(_0x380f7a(_0x4c5723._0x52e98e,0xc06))](this['options']['referenceFrame'],this['options'][_0x380f7a(_0x4c5723._0x2f8768,_0x4c5723._0x288485)]),_0xaa90ee[_0x4792ca(_0x4c5723._0x4fd8f6,_0x4c5723._0x3a8382)]=this[_0x4792ca(_0x4c5723._0x57e421,0x69b)][_0x4792ca(0x1117,0xff8)]??Cesium__namespace['ExtrapolationType']['NONE'],_0xaa90ee[_0x380f7a(0x11b8,_0x4c5723._0x36dff8)]=this[_0x380f7a(0x822,0x4ab)]['backwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['NONE'],this['_sampledPositionProperty']=_0xaa90ee);function _0x4792ca(_0x3b37b1,_0x4c2c1f){return _0x54a7f1(_0x3b37b1- -0x25e,_0x4c2c1f);}function _0x380f7a(_0x637a90,_0x563dac){return _0x7afdbe(_0x637a90,_0x563dac- -_0x592581._0x4c69e4);}this['property']=new Cesium__namespace['CallbackProperty'](_0x256674=>{const _0x3fbbc8={_0x827fc:0x7},_0x587ed9={_0x2bac8e:0x1c0};if(!this['_map'])return undefined;let _0x95aac3=_0xaa90ee['getValue'](_0x256674);if(_0x95aac3&&this[_0x27be71(0x66b,_0x4b34b1._0x1cbbfe)]['clampToTileset']){this['_clampToTilesetFrame']++;if(!this[_0x1f902e(_0x4b34b1._0x363bf7,_0x4b34b1._0x1cdd4c)]||this['_clampToTilesetFrame']%this['_frameRateHeight']===0x0){const _0x2e52da=getHeight(this['_map']['scene'],_0x95aac3);_0x2e52da&&(this['_clampToTilesetHeight']=_0x2e52da);}if(this['_clampToTilesetHeight']){const _0x5e55a1=Cesium__namespace['Cartographic']['fromCartesian'](_0x95aac3);let _0x3c27b7=this[_0x1f902e(-_0x4b34b1._0x47bf7e,0x511)]();!Cesium__namespace['defined'](_0x3c27b7)&&(_0x3c27b7=0x0),_0x95aac3=Cesium__namespace['Cartesian3'][_0x27be71(0x1123,0x1191)](_0x5e55a1[_0x27be71(_0x4b34b1._0x3ecab2,0x9d9)],_0x5e55a1['latitude'],this['_clampToTilesetHeight']+_0x3c27b7);}}function _0x27be71(_0x303ac4,_0xb24e36){return _0x380f7a(_0xb24e36,_0x303ac4-_0x587ed9._0x2bac8e);}function _0x1f902e(_0x1e30ff,_0x39c56f){return _0x4792ca(_0x39c56f-_0x3fbbc8._0x827fc,_0x1e30ff);}return _0x95aac3;},![]),this['_orientation']=this['options'][_0x4792ca(_0x4c5723._0x1b1f1d,0x183e)]||new Cesium__namespace['VelocityOrientationProperty'](_0xaa90ee),this['bindUpdateEvent']();}['_removeDynamicPosition'](){const _0x48cfae={_0x3c3b8c:0x668,_0x269124:0x730,_0x6dbf5b:0x1211},_0x5d4133={_0x3bf5f4:0x28c};var _0x426179;if(this[_0x168fbf(_0x48cfae._0x3c3b8c,0xca5)]<0x1)return;const _0x21e75f=(_0x426179=this['_sampledPositionProperty'])===null||_0x426179===void 0x0||(_0x426179=_0x426179['_property'])===null||_0x426179===void 0x0?void 0x0:_0x426179[_0x10fde8(_0x48cfae._0x269124,0x22)];if(!_0x21e75f||_0x21e75f['length']===0x0)return;function _0x168fbf(_0x2e14b4,_0x14964a){return _0x54a7f1(_0x2e14b4-_0x5d4133._0x3bf5f4,_0x14964a);}function _0x10fde8(_0x2e33f1,_0x22ae87){return _0x54a7f1(_0x2e33f1- -0x157,_0x22ae87);}const _0x6a0ecf=_0x21e75f[_0x168fbf(_0x48cfae._0x6dbf5b,0xca4)]-this['_maxCacheCount']-0x1;if(_0x6a0ecf>0x0){const _0x2b92ea={};_0x2b92ea['start']=_0x21e75f[0x0],_0x2b92ea['stop']=_0x21e75f[_0x6a0ecf],this['_sampledPositionProperty']['removeSamples'](new Cesium__namespace['TimeInterval'](_0x2b92ea));}}['autoSurfaceHeight'](_0x319fbf={}){const _0x26c7b4={_0x6d46ef:0x1bd7,_0x27b576:0x1724},_0x5b16c3={_0x4b6cf4:0xd33},_0x35d508={_0x430e37:0x43};function _0x366814(_0x961a2c,_0x2f5c0e){return _0x54a7f1(_0x2f5c0e-_0x35d508._0x430e37,_0x961a2c);}return getSurfaceHeight(this['_map']['scene'],this[_0x366814(_0x26c7b4._0x6d46ef,_0x26c7b4._0x27b576)],_0x319fbf)['then'](_0x181b69=>{function _0x228518(_0x2b3028,_0x578ae0){return _0x366814(_0x2b3028,_0x578ae0- -0x16b);}function _0x9181da(_0x150f0e,_0x577ef7){return _0x366814(_0x577ef7,_0x150f0e- -0x3a6);}_0x181b69['position']&&(this[_0x228518(0xccd,0x15b9)]=_0x181b69[_0x228518(_0x5b16c3._0x4b6cf4,0x15b9)]);});}[_0x54a7f1(0xf4c,0x140c)](_0x2ac5ec){function _0x48c9d4(_0x502d85,_0xe7ac33){return _0x7afdbe(_0x502d85,_0xe7ac33- -0x1a6);}return this[_0x48c9d4(0x12fa,0xda4)]?this['point']['toArray'](_0x2ac5ec):[];}}class PointEntity extends BasePointEntity{get['entityGraphic'](){var _0x3d50a0;return(_0x3d50a0=this['_entity'])===null||_0x3d50a0===void 0x0?void 0x0:_0x3d50a0['point'];}['_mountedHook'](){const _0x19b155={_0x1b334e:0x1564,_0x24f2b1:0x101d,_0x2d28e2:0xa2d,_0x4bbdbc:0x7a0,_0x4faa8e:0xe34,_0x26aef0:0x1a9,_0x23212c:0x183d,_0xb9092e:0x1270,_0x51f203:0x1b5c,_0x3886ef:0xcfd,_0x43099b:0xd77,_0x4f4ada:0x12c8,_0x15f671:0x5a1,_0x1342e5:0xee2,_0x4a82ec:0x5cc,_0xd8a04e:0xd87,_0x55b3d0:0xed2,_0x211094:0xf8f,_0x4978ac:0x11df,_0x3bb89e:0x1161,_0x16bc08:0x77e,_0x1cf2d3:0x12e2,_0x498dcb:0xfd5,_0x5e4adc:0x67e,_0x552a6e:0x1e57,_0x1479f4:0x165b,_0x3768ee:0x84b,_0x5db75b:0x726,_0x2f9d69:0xc55,_0x995c14:0x1327,_0xb8970:0x881,_0xf58233:0x1009,_0x43ea76:0x89e},_0x229382={_0x2a03be:0x395,_0x1a70db:0x2ed},_0x4c0406={_0x1da866:0x1b6},_0x38ea48={_0x2c309d:0x5b},_0x997397={'position':this[_0x1d9b48(_0x19b155._0x1b334e,0x173c)],'point':PointStyleConver['toCesiumVal'](this['style'])};this[_0x3e97ab(0x652,_0x19b155._0x24f2b1)][_0x1d9b48(_0x19b155._0x2d28e2,0x1115)]&&(_0x997397[_0x3e97ab(0x1270,0x1872)]=LabelStyleConver[_0x1d9b48(_0x19b155._0x4bbdbc,_0x19b155._0x4faa8e)](this[_0x3e97ab(0x652,-_0x19b155._0x26aef0)]['label'],{},this[_0x3e97ab(_0x19b155._0x23212c,0x1a73)]),!Cesium__namespace['defined'](_0x997397[_0x3e97ab(_0x19b155._0xb9092e,_0x19b155._0x51f203)][_0x1d9b48(0x1161,0x1084)])&&Cesium__namespace['defined'](_0x997397[_0x1d9b48(_0x19b155._0x3886ef,_0x19b155._0x43099b)]['heightReference'])&&(_0x997397['label']['heightReference']=_0x997397['point'][_0x3e97ab(0x11df,_0x19b155._0x4f4ada)]));this[_0x1d9b48(_0x19b155._0x15f671,0x90b)][_0x3e97ab(_0x19b155._0x1342e5,0x18f0)]&&(_0x997397['billboard']=BillboardStyleConver['toCesiumVal'](this['options']['billboard'],{},!![]),!Cesium__namespace['defined'](_0x997397[_0x1d9b48(_0x19b155._0x4a82ec,_0x19b155._0xd8a04e)][_0x1d9b48(0x9f1,0x1084)])&&Cesium__namespace['defined'](_0x997397[_0x3e97ab(_0x19b155._0x55b3d0,_0x19b155._0x211094)][_0x1d9b48(0x92d,0x1084)])&&(_0x997397['billboard']['heightReference']=_0x997397['point'][_0x3e97ab(_0x19b155._0x4978ac,0xabd)]));function _0x1d9b48(_0x178904,_0x5cf5db){return _0x54a7f1(_0x5cf5db-_0x38ea48._0x2c309d,_0x178904);}function _0x3e97ab(_0x4d66cb,_0x2d5cdd){return _0x54a7f1(_0x4d66cb-_0x4c0406._0x1da866,_0x2d5cdd);}this[_0x1d9b48(0x26d,0x90b)][_0x3e97ab(_0x19b155._0x3bb89e,_0x19b155._0x16bc08)]&&(_0x997397[_0x1d9b48(_0x19b155._0x1cf2d3,0xc56)]=CircleStyleConver[_0x3e97ab(0xf8f,_0x19b155._0x498dcb)](this[_0x1d9b48(_0x19b155._0x5e4adc,0x90b)]['circle'],{},!![]),!Cesium__namespace['defined'](_0x997397['ellipse']['heightReference'])&&Cesium__namespace['defined'](_0x997397['point']['heightReference'])&&(_0x997397['ellipse'][_0x3e97ab(0x11df,0x1a59)]=_0x997397['point'][_0x3e97ab(0x11df,0xc84)]));this['options']['model']&&(_0x997397[_0x1d9b48(_0x19b155._0x552a6e,_0x19b155._0x1479f4)]=this[_0x1d9b48(_0x19b155._0x3768ee,0x8b3)](this[_0x1d9b48(0x68e,0x90b)]['model']),_0x997397['model']=ModelStyleConver[_0x1d9b48(0x1081,0xe34)](this['options'][_0x1d9b48(0x602,_0x19b155._0x5db75b)],{},!![]),_0x997397['model'][_0x3e97ab(0x790,_0x19b155._0x2f9d69)]={'occlusion':this[_0x1d9b48(_0x19b155._0x995c14,0x90b)][_0x3e97ab(_0x19b155._0xb8970,0xd2c)][_0x1d9b48(_0x19b155._0xf58233,0x136c)],'callback':(_0x3c78cd,_0x1177ac)=>{this['_model']=_0x1177ac;function _0x2f3dba(_0x3412b3,_0x37ce4d){return _0x1d9b48(_0x37ce4d,_0x3412b3- -0x391);}const _0x975fb7={};_0x975fb7[_0x2f3dba(_0x229382._0x2a03be,_0x229382._0x1a70db)]=_0x1177ac,this['fire'](EventType['load'],_0x975fb7,!![]);}});if(this['options']['path']){const _0x299e60=PathStyleConver['toCesiumVal'](this['options'][_0x1d9b48(0x263,0x812)],{},!![]);!_0x299e60['isAll']&&(_0x299e60['leadTime']=0x0),_0x997397['path']=_0x299e60,!this['options'][_0x1d9b48(_0x19b155._0x43ea76,0x11f0)]&&this[_0x3e97ab(0x1917,0x1866)](_0x997397);}this[_0x1d9b48(0x77e,0x6bc)]=this[_0x3e97ab(0x18fa,0x1411)](_0x997397);}[_0x7afdbe(0x1b31,0x1351)](_0x1202a3){const _0x934a64={_0x1c9caf:0x128e,_0x2e1406:0x504},_0x4f10ec={_0x532528:0x126};function _0x55577a(_0x548457,_0x297a0b){return _0x7afdbe(_0x297a0b,_0x548457-0x4e);}function _0x13eb4a(_0x1863fc,_0x58781d){return _0x54a7f1(_0x1863fc- -_0x4f10ec._0x532528,_0x58781d);}this['_entity']['label']=this['_entity']['label']||{},LabelStyleConver['toCesiumVal'](_0x1202a3,this[_0x55577a(0x8dd,_0x934a64._0x1c9caf)][_0x13eb4a(0xf94,_0x934a64._0x2e1406)],this[_0x55577a(0x1903,0x10e9)]);}['_updateStyleHook'](_0x231ea7,_0x95c35c){function _0x211181(_0x3bbeb4,_0x3821f2){return _0x54a7f1(_0x3bbeb4- -0x46f,_0x3821f2);}PointStyleConver[_0x211181(0x96a,0xffd)](_0x231ea7,this['entityGraphic']);}['_style2Json'](_0x55f162,_0x3297d6){const _0x31b22d={_0x448e73:0x97};function _0x4fab85(_0x5ba8f8,_0x1629b3){return _0x54a7f1(_0x1629b3-_0x31b22d._0x448e73,_0x5ba8f8);}return PointStyleConver[_0x4fab85(0x1baf,0x13d2)](_0x55f162,_0x3297d6,!![]);}['_setOptionsHook'](_0x2f86b3,_0x1b9565){const _0x301409={_0x325d81:0x70c,_0x497bf1:0xdd7,_0x107fdb:0xa08,_0x10bc48:0x4ed,_0x75a760:0x14f1,_0x3d9f80:0xc65};_0x1b9565['model']&&ModelStyleConver['toCesiumVal'](_0x2f86b3['model'],this[_0x49013e(_0x301409._0x325d81,0x401)]['model'],!![]);function _0x55b859(_0x21eea5,_0x355035){return _0x54a7f1(_0x355035- -0x174,_0x21eea5);}function _0x49013e(_0x539f40,_0x22568e){return _0x54a7f1(_0x539f40-0xab,_0x22568e);}_0x1b9565[_0x55b859(0xc82,0xbb8)]&&BillboardStyleConver['toCesiumVal'](_0x2f86b3[_0x49013e(_0x301409._0x497bf1,_0x301409._0x107fdb)],this[_0x55b859(0xf,_0x301409._0x10bc48)]['billboard'],!![]),_0x1b9565['path']&&PathStyleConver[_0x55b859(_0x301409._0x75a760,_0x301409._0x3d9f80)](_0x2f86b3['path'],this['_entity']['path'],!![]),_0x1b9565['circle']&&CircleStyleConver[_0x49013e(0xe84,0x802)](_0x2f86b3['circle'],this[_0x55b859(-0x444,0x4ed)]['ellipse'],!![]);}[_0x54a7f1(0xb55,0x149c)](_0x52cae0){const _0x4670d1={_0x1459bc:0x8d7,_0x213fc1:0x6f2,_0x1c97d2:0xcd2,_0x206fc0:0x3cb,_0x42238d:0xb14,_0xa2b5e7:0x5b0,_0x320234:0xf91,_0x139e68:0xa2c,_0x2da1f1:0x29f,_0x2b52da:0x131b,_0x5317fb:0xaa,_0x96961a:0x4b7,_0x3ae52b:0xd60};this[_0x3afb88(_0x4670d1._0x1459bc,0x55a)][_0x3afb88(_0x4670d1._0x213fc1,0x6bd)]&&(_0x52cae0['model']={},ModelStyleConver[_0x3afb88(0x1362,0xb6f)](this[_0x334637(-0x354,0x5b0)][_0x334637(0x190,0x3cb)],_0x52cae0[_0x334637(_0x4670d1._0x1c97d2,_0x4670d1._0x206fc0)],!![]));this[_0x334637(_0x4670d1._0x42238d,_0x4670d1._0xa2b5e7)]['billboard']&&(_0x52cae0[_0x334637(0x12d3,0xa2c)]={},BillboardStyleConver['toJSON'](this[_0x334637(_0x4670d1._0x320234,_0x4670d1._0xa2b5e7)][_0x334637(0x66,_0x4670d1._0x139e68)],_0x52cae0['billboard'],!![]));function _0x334637(_0x45536f,_0x161512){return _0x54a7f1(_0x161512- -0x300,_0x45536f);}function _0x3afb88(_0x225f93,_0x48d56d){return _0x7afdbe(_0x48d56d,_0x225f93- -0x207);}this['options']['path']&&(_0x52cae0[_0x334637(_0x4670d1._0x2da1f1,0x4b7)]={},PathStyleConver[_0x3afb88(0x1362,_0x4670d1._0x2b52da)](this[_0x334637(_0x4670d1._0x5317fb,0x5b0)]['path'],_0x52cae0[_0x334637(0xb8f,_0x4670d1._0x96961a)],!![])),this[_0x3afb88(_0x4670d1._0x1459bc,_0x4670d1._0x3ae52b)]['circle']&&(_0x52cae0['circle']={},CircleStyleConver['toJSON'](this['options']['circle'],_0x52cae0[_0x334637(0xf99,0xcab)],!![]));}[_0x54a7f1(0xb0c,0xc4c)](_0x2d89a6){const _0x5926ac={_0x3e1490:0x36,_0x113091:0x55c,_0xa5aa8b:0x5fd,_0x1ef541:0x18c,_0x2fb6e0:0x1f6,_0x3e67d8:0xcf6,_0x37331c:0x90d,_0x11297c:0xdaf,_0x383c06:0x2a8,_0x487973:0x10a3,_0x251cc8:0xa8,_0x109a03:0x390,_0x4aeec2:0x18c,_0x2f1db2:0xad6,_0x2fa625:0x1f9,_0x1b87f8:0x726},_0x179225={_0x59cbf2:0x39d},_0x3a03ae={_0x1b6139:0x703};function _0x4d1de2(_0x4d6b97,_0x4dff67){return _0x7afdbe(_0x4d6b97,_0x4dff67- -_0x3a03ae._0x1b6139);}this[_0x4d1de2(-_0x5926ac._0x3e1490,0x18c)][_0x3ed936(0x5e4,_0x5926ac._0x113091)]&&(this[_0x4d1de2(_0x5926ac._0xa5aa8b,_0x5926ac._0x1ef541)][_0x4d1de2(-0x793,_0x5926ac._0x2fb6e0)][_0x4d1de2(_0x5926ac._0x3e67d8,0xd3d)]=Cesium__namespace[_0x4d1de2(_0x5926ac._0x37331c,_0x5926ac._0x11297c)][_0x4d1de2(_0x5926ac._0x383c06,0x3b8)]['withAlpha'](_0x2d89a6));this['_entity']['billboard']&&(this['_entity'][_0x4d1de2(0x905,0x857)][_0x3ed936(0x8f4,_0x5926ac._0x487973)]=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x2d89a6));if(this['_entity']['path']){const _0x115aeb=this['_updateEntityOpacity'](this['_entity'][_0x3ed936(0x4ca,0x648)],_0x2d89a6);if(!_0x115aeb){const _0x302985={...this['options']['path']};_0x302985[_0x4d1de2(_0x5926ac._0x251cc8,_0x5926ac._0x109a03)]=_0x2d89a6,PathStyleConver[_0x4d1de2(0x5bc,0x904)](_0x302985,this['_entity'][_0x4d1de2(0xd5e,0x2e2)],!![]);}}function _0x3ed936(_0x43e0dd,_0xd28d77){return _0x7afdbe(_0x43e0dd,_0xd28d77- -_0x179225._0x59cbf2);}if(this[_0x4d1de2(-0x679,_0x5926ac._0x4aeec2)]['circle']){const _0xcae4f4=this['_updateEntityOpacity'](this['_entity']['circle'],_0x2d89a6);if(!_0xcae4f4){const _0x444021={...this['options'][_0x4d1de2(0xab6,_0x5926ac._0x2f1db2)]};_0x444021[_0x3ed936(0xd39,0x6f6)]=_0x2d89a6,CircleStyleConver['toCesiumVal'](_0x444021,this[_0x3ed936(-0x217,0x4f2)][_0x4d1de2(_0x5926ac._0x2fa625,_0x5926ac._0x1b87f8)],!![]);}}}[_0x7afdbe(0x799,0xc38)](){}['setOpacity'](_0x26bff5){const _0x4448bc={_0x1bd940:0x681,_0x4cc6ff:0x4ff,_0x26c34d:0x2ca,_0x381e72:0x56b},_0x513985={_0x1c2b19:0x63};this[_0x177c80(_0x4448bc._0x1bd940,_0x4448bc._0x4cc6ff)]['globalAlpha']=_0x26bff5;function _0x177c80(_0x1bf9ca,_0x39b15f){return _0x54a7f1(_0x39b15f-_0x513985._0x1c2b19,_0x1bf9ca);}function _0x9bf01d(_0x3d5941,_0x22c7c1){return _0x7afdbe(_0x22c7c1,_0x3d5941- -0x617);}PointStyleConver[_0x177c80(_0x4448bc._0x26c34d,_0x4448bc._0x381e72)](this[_0x177c80(0x65c,0x591)],_0x26bff5);}}register$5('point',PointEntity,!![]);class BillboardEntity extends BasePointEntity{get[_0x7afdbe(0x113a,0x75c)](){function _0x5e8848(_0x3c35b0,_0x298fd5){return _0x7afdbe(_0x3c35b0,_0x298fd5- -0x359);}var _0x3c774e;return(_0x3c774e=this['_entity'])===null||_0x3c774e===void 0x0?void 0x0:_0x3c774e[_0x5e8848(0xc87,0xc01)];}get['image'](){return this['style']['image'];}set['image'](_0x860139){const _0x5445af={_0x3173e5:0x2bd,_0x30dee3:0x91f,_0x361464:0x32f,_0x42dfba:0x482,_0x54ede4:0x2f2,_0x59b984:0x18a};function _0xfbf7af(_0x4b61ea,_0x229055){return _0x54a7f1(_0x229055- -0x332,_0x4b61ea);}function _0x37371c(_0x1f98a1,_0x3ff502){return _0x54a7f1(_0x1f98a1- -0x1df,_0x3ff502);}this[_0x37371c(_0x5445af._0x3173e5,_0x5445af._0x30dee3)]['image']=_0x860139,this[_0xfbf7af(0x3d0,_0x5445af._0x361464)]&&(this[_0x37371c(_0x5445af._0x42dfba,_0x5445af._0x54ede4)][_0x37371c(0xb4d,_0x5445af._0x59b984)]['image']=_0x860139);}['_mountedHook'](){const _0x540d17={_0x39b2a4:0x34e,_0x22e703:0x7f3,_0x494ced:0x266,_0x300352:0x1333,_0x25240a:0x9d6,_0xf5ac7e:0xf6c,_0x3306c0:0xa83,_0x17abf8:0xae6,_0x16f435:0xba3,_0x8d5ff7:0x112c,_0x274531:0x1452,_0x1a2ef4:0x9cc,_0x5afae4:0xd75,_0x371720:0x2e1,_0x265708:0xf40,_0x2cc4da:0xa85,_0x9e0720:0x23e,_0x2e679d:0x57d,_0x2b8657:0xd2f,_0x45c173:0x771,_0x4d357e:0x266},_0x5c5b9f={_0x46ae6f:0x1124,_0x3501cc:0x126a,_0x1b6e7a:0x7a3},_0x3e0580={'position':this['position'],'billboard':BillboardStyleConver['toCesiumVal'](this['style'])},_0xd6b656=this[_0xf3c23b(_0x540d17._0x39b2a4,_0x540d17._0x22e703)]['label'];_0xd6b656&&(Cesium__namespace['defined'](this[_0x38662b(_0x540d17._0x494ced,-0x6b1)]['clampToGround'])&&!Cesium__namespace['defined'](_0xd6b656[_0x38662b(_0x540d17._0x300352,_0x540d17._0x25240a)])&&(_0xd6b656['clampToGround']=this['style']['clampToGround']),_0x3e0580[_0xf3c23b(_0x540d17._0xf5ac7e,_0x540d17._0x3306c0)]=LabelStyleConver['toCesiumVal'](_0xd6b656,{},this['attr']));this['options'][_0xf3c23b(0xbce,0xd30)]&&(_0x3e0580[_0x38662b(_0x540d17._0x17abf8,0x95b)]=PointStyleConver[_0x38662b(_0x540d17._0x16f435,0x12a7)](this['options'][_0x38662b(0xae6,_0x540d17._0x8d5ff7)],{},!![]),!Cesium__namespace['defined'](_0x3e0580['point']['heightReference'])&&Cesium__namespace['defined'](_0x3e0580['billboard'][_0x38662b(0xdf3,0x142f)])&&(_0x3e0580['point']['heightReference']=_0x3e0580['billboard'][_0xf3c23b(0xedb,0x5a0)]));this['options']['circle']&&(_0x3e0580['ellipse']=CircleStyleConver[_0x38662b(0xba3,_0x540d17._0x274531)](this[_0x38662b(0x67a,_0x540d17._0x1a2ef4)][_0x38662b(_0x540d17._0x5afae4,0x1805)],{},!![]));this['options'][_0x38662b(0x495,-_0x540d17._0x371720)]&&(_0x3e0580[_0xf3c23b(0x14b2,_0x540d17._0x265708)]=this[_0xf3c23b(0x70a,_0x540d17._0x2cc4da)](this[_0xf3c23b(0x762,0xedb)]['model']),_0x3e0580[_0x38662b(0x495,-0x56f)]=ModelStyleConver['toCesiumVal'](this['options']['model'],{},!![]),_0x3e0580[_0xf3c23b(0x57d,_0x540d17._0x9e0720)]['marsOptions']={'occlusion':this['options'][_0xf3c23b(_0x540d17._0x2e679d,0x892)]['marsOcclusion'],'callback':(_0x43259a,_0x1c4fdd)=>{this['_model']=_0x1c4fdd;function _0x115a67(_0x3f9e3b,_0x39da23){return _0x38662b(_0x3f9e3b-0x4a2,_0x39da23);}function _0x227b19(_0xf4a0b7,_0x12b41f){return _0xf3c23b(_0x12b41f- -0x1f5,_0xf4a0b7);}const _0x376687={};_0x376687['model']=_0x1c4fdd,this[_0x115a67(_0x5c5b9f._0x46ae6f,_0x5c5b9f._0x3501cc)](EventType[_0x115a67(_0x5c5b9f._0x1b6e7a,-0x127)],_0x376687,!![]);}});function _0xf3c23b(_0x4fea76,_0xaaf1bd){return _0x54a7f1(_0x4fea76- -0x14e,_0xaaf1bd);}function _0x38662b(_0x35d7ba,_0x459f2d){return _0x54a7f1(_0x35d7ba- -0x236,_0x459f2d);}if(this['options']['path']){const _0x4c36f3=PathStyleConver[_0x38662b(0xba3,0xb9e)](this['options'][_0x38662b(0x581,-0x13)],{},!![]);!_0x4c36f3['isAll']&&(_0x4c36f3[_0x38662b(_0x540d17._0x2b8657,0x15a5)]=0x0),_0x3e0580[_0x38662b(0x581,_0x540d17._0x45c173)]=_0x4c36f3,!this['options']['availability']&&this['_setAutoAvailability'](_0x3e0580);}this['style'][_0x38662b(0xa69,0xca)]&&(this['style']['distanceDisplayPoint']&&(_0x3e0580['point']=PointStyleConver[_0x38662b(_0x540d17._0x16f435,0x146a)](this[_0x38662b(_0x540d17._0x4d357e,0xf3)][_0x38662b(0x48e,0xd84)]),_0x3e0580['point']['distanceDisplayCondition']=this['_getTargetDistanceDisplayCondition'](this['style']['distanceDisplayPoint']))),this[_0xf3c23b(0x513,0x92e)]=this['_createEntity'](_0x3e0580);}[_0x7afdbe(0x1dfc,0x1351)](_0x39ce49){const _0x1ab246={_0x1f460f:0x1394};function _0x52bfde(_0x2d4d3e,_0x51b318){return _0x7afdbe(_0x51b318,_0x2d4d3e- -0x50b);}this['_entity']['label']=this[_0x2c1d31(0x4f1,0x178)][_0x52bfde(0xddd,_0x1ab246._0x1f460f)]||{};function _0x2c1d31(_0xa45900,_0x4ba4ac){return _0x54a7f1(_0x4ba4ac- -0x4e9,_0xa45900);}LabelStyleConver[_0x2c1d31(0xa23,0x8f0)](_0x39ce49,this['_entity']['label'],this[_0x52bfde(0x13aa,0x187a)]);}['_style2Json'](_0x5cf278,_0x47c296){const _0x319725=BillboardStyleConver['toJSON'](_0x5cf278,_0x47c296,!![]);function _0x39b9dd(_0x360770,_0x49b89b){return _0x7afdbe(_0x360770,_0x49b89b- -0x41e);}function _0x4f9650(_0x47ec80,_0x36f80f){return _0x7afdbe(_0x36f80f,_0x47ec80- -0x44e);}return this['style']['distanceDisplayPoint']&&(_0x319725[_0x4f9650(0x4a4,0xc64)]=PointStyleConver['toJSON'](this[_0x39b9dd(0x1a4,0x2ac)]['distanceDisplayPoint'],{},!![])),_0x319725;}[_0x54a7f1(0x10d4,0x10fa)](_0x29c79a,_0xbb36f8){function _0x24129e(_0x50c849,_0x2ad730){return _0x7afdbe(_0x50c849,_0x2ad730- -0x5b3);}BillboardStyleConver[_0x24129e(0x16c,0xa54)](_0x29c79a,this['entityGraphic']);}[_0x54a7f1(0x1757,0x2102)](_0x226637,_0x400235){const _0x5d468b={_0x50cbcc:0x276,_0x4b1c40:0x984,_0x12b05:0xaca,_0x33b405:0x95a};function _0x57b69b(_0x1d8f11,_0x464dea){return _0x54a7f1(_0x464dea- -0x455,_0x1d8f11);}_0x400235[_0x57b69b(-0x650,_0x5d468b._0x50cbcc)]&&ModelStyleConver[_0x57b69b(0x324,_0x5d468b._0x4b1c40)](_0x226637['model'],this['_entity'][_0x57b69b(-0x2c7,0x276)],!![]);function _0x2facfd(_0x4a37ff,_0x226d8c){return _0x7afdbe(_0x4a37ff,_0x226d8c- -0x62c);}_0x400235['point']&&PointStyleConver['toCesiumVal'](_0x226637['point'],this['_entity']['point'],!![]),_0x400235['path']&&PathStyleConver['toCesiumVal'](_0x226637['path'],this[_0x57b69b(_0x5d468b._0x12b05,0x20c)]['path'],!![]),_0x400235['circle']&&CircleStyleConver['toCesiumVal'](_0x226637['circle'],this[_0x2facfd(0x45d,0x263)][_0x57b69b(_0x5d468b._0x33b405,0x7a6)],!![]);}['_updateExOpacity'](_0xe99ad1){const _0x377fdf={_0x15d552:0x1439,_0x5349c9:0xc78,_0x2169e9:0xf43,_0xcd74f9:0x186,_0x2a7267:0x140d,_0x12a6c4:0x9de,_0xe487b2:0x888,_0x1d3e77:0x1ccb,_0x91e5e6:0x666,_0x573caf:0xd09},_0x2d17e9={_0x3b956f:0x227};this['_entity']['model']&&(this['_entity']['model'][_0x5b0d2d(_0x377fdf._0x15d552,_0x377fdf._0x5349c9)]=Cesium__namespace['Color']['WHITE']['withAlpha'](_0xe99ad1));function _0x112c4c(_0x3d5d91,_0x392630){return _0x54a7f1(_0x3d5d91- -0x4db,_0x392630);}if(this['_entity']['point']){const _0x28cd47=this['_updateEntityOpacity'](this['_entity'][_0x5b0d2d(_0x377fdf._0x2169e9,0x176e)],_0xe99ad1);if(!_0x28cd47){const _0x426e87={...this['options'][_0x5b0d2d(_0x377fdf._0x2169e9,0xa55)]};_0x426e87['globalAlpha']=_0xe99ad1,PointStyleConver['toCesiumVal'](_0x426e87,this[_0x112c4c(_0x377fdf._0xcd74f9,0x9e6)][_0x5b0d2d(_0x377fdf._0x2169e9,0xa48)],!![]);}}if(this[_0x112c4c(_0x377fdf._0xcd74f9,0xa1d)]['path']){const _0x3a9728=this[_0x5b0d2d(0x1436,_0x377fdf._0x2a7267)](this['_entity']['path'],_0xe99ad1);if(!_0x3a9728){const _0x3e70a8={...this['options'][_0x5b0d2d(_0x377fdf._0x12a6c4,0x1d8)]};_0x3e70a8['globalAlpha']=_0xe99ad1,PathStyleConver['toCesiumVal'](_0x3e70a8,this[_0x5b0d2d(_0x377fdf._0xe487b2,0x7c2)]['path'],!![]);}}function _0x5b0d2d(_0x4a22c5,_0x5266fa){return _0x54a7f1(_0x4a22c5-_0x2d17e9._0x3b956f,_0x5266fa);}if(this['_entity']['circle']){const _0x4f2e23=this[_0x5b0d2d(0x1436,_0x377fdf._0x1d3e77)](this[_0x112c4c(0x186,-_0x377fdf._0x91e5e6)]['circle'],_0xe99ad1);if(!_0x4f2e23){const _0x25640a={...this[_0x112c4c(0x3d5,-0x32f)]['circle']};_0x25640a[_0x112c4c(0x38a,_0x377fdf._0x573caf)]=_0xe99ad1,CircleStyleConver['toCesiumVal'](_0x25640a,this['_entity'][_0x112c4c(0x720,0xb08)],!![]);}}}['_toJSON_Ex'](_0x56c236){const _0x1e53e9={_0x3007e4:0x23c,_0x479308:0x583,_0xd067e1:0x152a,_0x3f9582:0xae3,_0x432194:0x758,_0x2d472f:0x48a,_0x552ddf:0x19,_0x5c73de:0x48a,_0x90cdc6:0x583,_0x1cbec9:0xc4e,_0xbaf54d:0xb1c},_0x1d9b68={_0x1d0713:0x32d},_0x235dce={_0x2a2acb:0x48f};function _0x7d7b70(_0x81e02c,_0xecc408){return _0x54a7f1(_0xecc408- -_0x235dce._0x2a2acb,_0x81e02c);}this['options']['model']&&(_0x56c236['model']={},ModelStyleConver['toJSON'](this['options']['model'],_0x56c236[_0x7d7b70(0x4d8,_0x1e53e9._0x3007e4)],!![]));function _0x54ebe2(_0x3016f0,_0x474a58){return _0x54a7f1(_0x474a58- -_0x1d9b68._0x1d0713,_0x3016f0);}this[_0x54ebe2(0xa19,_0x1e53e9._0x479308)]['point']&&(_0x56c236['point']={},PointStyleConver[_0x7d7b70(_0x1e53e9._0xd067e1,0xeac)](this['options'][_0x54ebe2(_0x1e53e9._0x3f9582,0x9ef)],_0x56c236['point'],!![])),this['options']['path']&&(_0x56c236[_0x54ebe2(_0x1e53e9._0x432194,_0x1e53e9._0x2d472f)]={},PathStyleConver['toJSON'](this[_0x54ebe2(0x847,_0x1e53e9._0x479308)][_0x54ebe2(-_0x1e53e9._0x552ddf,_0x1e53e9._0x5c73de)],_0x56c236['path'],!![])),this[_0x54ebe2(0x182,_0x1e53e9._0x90cdc6)]['circle']&&(_0x56c236[_0x7d7b70(_0x1e53e9._0x1cbec9,_0x1e53e9._0xbaf54d)]={},CircleStyleConver['toJSON'](this['options'][_0x7d7b70(0xfcc,0xb1c)],_0x56c236['circle'],!![]));}[_0x7afdbe(0xc07,0xc38)](){}['_getTargetDistanceDisplayCondition'](_0x136c71){const _0x1cfefc={_0x221a8c:0xba8,_0x82204:0x1784,_0x3292b5:0x17ea,_0x1d239a:0x679,_0x44bc74:0xe02,_0x5bf370:0xc37,_0x348c45:0x293};function _0xcad20d(_0x1121e1,_0x11a9f7){return _0x7afdbe(_0x11a9f7,_0x1121e1- -0x236);}let _0x9aad91;function _0x36dc84(_0x214f84,_0x694d3a){return _0x7afdbe(_0x694d3a,_0x214f84- -0x61c);}if(this['style'][_0x36dc84(0x8b1,0x666)]instanceof Cesium__namespace[_0xcad20d(0x1460,0x1928)])_0x9aad91=this[_0xcad20d(0x494,_0x1cfefc._0x221a8c)][_0xcad20d(0xc97,0x1742)][_0xcad20d(_0x1cfefc._0x82204,_0x1cfefc._0x3292b5)];else this['style']['distanceDisplayCondition_far']&&(_0x9aad91=this['style'][_0xcad20d(_0x1cfefc._0x1d239a,_0x1cfefc._0x44bc74)]);return new Cesium__namespace['DistanceDisplayCondition'](_0x136c71[_0xcad20d(_0x1cfefc._0x5bf370,0xf1c)]??_0x9aad91,_0x136c71[_0x36dc84(_0x1cfefc._0x348c45,0x131)]??Number[_0xcad20d(0x1097,0x1326)]);}[_0x54a7f1(0x508,0x565)](_0x4e1c6d){const _0x4d1d85={_0x4adfcd:0xa06},_0x8b160a={_0x47047b:0x1b6};function _0x5bde0c(_0x3647a1,_0x227315){return _0x7afdbe(_0x3647a1,_0x227315- -0x728);}function _0x54ca42(_0x394cac,_0x13fc77){return _0x7afdbe(_0x13fc77,_0x394cac- -_0x8b160a._0x47047b);}this[_0x54ca42(0x514,0x424)]['globalAlpha']=_0x4e1c6d,this[_0x54ca42(0x6d9,_0x4d1d85._0x4adfcd)]&&(this[_0x54ca42(0x6d9,-0x1bf)]['billboard']['color']=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x4e1c6d)),this['_updateLabelOpacity'](_0x4e1c6d);}[_0x7afdbe(0x9b5,0x848)](_0x3e8f05={}){const _0xd0b68e={_0x925b42:0xf1,_0x25ebc3:0x39,_0x1de5ef:0xd6c,_0x2f5f89:0x1ad2,_0x10f020:0xb0f},_0x515682={_0x15c994:0x5ae},_0x32e5a0={_0x5aab2a:0x558},_0x433774={_0x380dfd:0x46},_0x474477={_0x4fb1b0:0x57c};if(!this['_entity'])return;function _0x4ec961(_0x154cc6,_0x41294c){return _0x7afdbe(_0x41294c,_0x154cc6- -_0x474477._0x4fb1b0);}let _0x4d78d7=-(_0x3e8f05[_0x4ec961(-_0xd0b68e._0x925b42,0x40c)]||0x32);const _0x514b26=_0x3e8f05['step']||0x1,_0x55206e=_0x3e8f05[_0x4ec961(0xb03,0xdfe)];function _0x3c6be6(_0x1ef561,_0x6bab4d){return _0x7afdbe(_0x6bab4d,_0x1ef561- -_0x433774._0x380dfd);}let _0x2a6b7c=_0x4d78d7,_0x2063e8=-0x1;const _0x54423e=this;function _0x2a3062(){if(_0x2a6b7c<=_0x4d78d7&&_0x2063e8!==0x1)_0x2063e8=0x1,_0x55206e&&(_0x4d78d7*=0.55,_0x514b26*0x2>=-_0x4d78d7&&_0x54423e[_0x29eb95(_0x515682._0x15c994,0x626)]());else _0x2a6b7c>=0x0&&_0x2063e8!==-0x1&&(_0x2063e8=-0x1);function _0x29eb95(_0x2251a8,_0x512188){return _0x3c6be6(_0x512188- -_0x32e5a0._0x5aab2a,_0x2251a8);}_0x2a6b7c+=_0x514b26*_0x2063e8;}const _0x19eaaa=getCesiumValue(this[_0x4ec961(0x1e0,-0x515)]['pixelOffset'],Cesium__namespace[_0x3c6be6(0x18ec,0x1a96)])||new Cesium__namespace['Cartesian2'](0x0,0x0),_0x38a71d=_0x19eaaa[_0x3c6be6(0x9d7,0x8dd)]();this[_0x4ec961(0x1e0,_0xd0b68e._0x25ebc3)]['pixelOffset_original']=_0x19eaaa,this['entityGraphic']['pixelOffset']=new Cesium__namespace[(_0x4ec961(0x9fc,0x9ae))](_0x4b72b9=>{return _0x2a3062(),_0x38a71d['y']=_0x19eaaa['y']+_0x2a6b7c,_0x38a71d;});if(this['_entity']['label']){const _0x48ef95=getCesiumValue(this['_entity'][_0x4ec961(_0xd0b68e._0x1de5ef,0x4f5)]['pixelOffset'],Cesium__namespace[_0x4ec961(0x13b6,0x1cad)])||new Cesium__namespace['Cartesian2'](0x0,0x0),_0x2e9fe9=_0x48ef95['clone']();this['_entity'][_0x3c6be6(0x12a2,_0xd0b68e._0x2f5f89)]['pixelOffset_original']=_0x48ef95,this['_entity'][_0x4ec961(0xd6c,_0xd0b68e._0x10f020)]['pixelOffset']=new Cesium__namespace['CallbackProperty'](_0x3c01c5=>{return _0x2e9fe9['y']=_0x48ef95['y']+_0x2a6b7c,_0x2e9fe9;});}}[_0x54a7f1(0x996,0xa78)](){const _0x21d185={_0x2ee781:0x31b};this['entityGraphic']['pixelOffset']=this['entityGraphic']['pixelOffset_original'];function _0x1203dd(_0x15bda8,_0x3603f2){return _0x54a7f1(_0x3603f2-0x4f,_0x15bda8);}function _0x46b881(_0x171360,_0x2b89e3){return _0x54a7f1(_0x171360- -0x346,_0x2b89e3);}this[_0x46b881(_0x21d185._0x2ee781,0x5c4)]['label']&&(this[_0x46b881(0x31b,-0x67)]['label'][_0x1203dd(0x139b,0xf53)]=this['_entity']['label']['pixelOffset_original']);}}register$5(_0x7afdbe(0x5c3,0xf5a),BillboardEntity,!![]);class DivBillboardEntity extends BillboardEntity{[_0x7afdbe(0x5ce,0x4b9)](){function _0x1b57b6(_0x1879b5,_0x57e2a2){return _0x7afdbe(_0x1879b5,_0x57e2a2- -0x706);}super[_0x1b57b6(-0xd13,-0x24d)](),this['_updateImage_delay']();}[_0x54a7f1(0x10d4,0x65c)](_0x45cb94,_0x23b1d0){const _0x44017f={_0x2378a4:0x1292,_0x4cadc8:0x30d,_0x2d8aef:0x1de7},_0x5106e7={_0x1d058f:0x34};delete _0x45cb94[_0x5bf663(-0x53c,0x49c)],super['_updateStyleHook'](_0x45cb94,_0x23b1d0);function _0x3895d3(_0x26f8d0,_0x4cac1c){return _0x54a7f1(_0x4cac1c-_0x5106e7._0x1d058f,_0x26f8d0);}function _0x5bf663(_0x51b84f,_0x4aca96){return _0x7afdbe(_0x51b84f,_0x4aca96- -0x77);}_0x23b1d0&&(_0x23b1d0[_0x5bf663(_0x44017f._0x2378a4,0xb41)]||_0x23b1d0[_0x5bf663(_0x44017f._0x4cadc8,0x859)]||_0x23b1d0['color'])&&this[_0x5bf663(_0x44017f._0x2d8aef,0x15e6)]();}[_0x54a7f1(0x142f,0x13ff)](){const _0x38daed={_0x5bc58b:0x8e8,_0x57ceb7:0x609,_0x54c73e:0x3cc},_0xb95719={_0x1be239:0x2ca};this['updateTimer']&&clearTimeout(this['updateTimer']),this['updateTimer']=setTimeout(()=>{function _0x5e79b0(_0x3c1e05,_0x54ccc5){return _0x536c(_0x3c1e05-_0xb95719._0x1be239,_0x54ccc5);}function _0x38454e(_0x5bc6fd,_0x2de27e){return _0x536c(_0x2de27e- -0x16e,_0x5bc6fd);}delete this[_0x5e79b0(0x67d,_0x38daed._0x5bc58b)];if(!this[_0x38454e(_0x38daed._0x57ceb7,_0x38daed._0x54c73e)])return;this['_updateImage']();},0x12c);}['_updateImage'](){const _0x13b48f={_0xed5fd3:0x7c5,_0x29820c:0xe2e,_0x4fd0be:0x15b8,_0x967f49:0x1be9,_0x229c56:0x64e,_0x47197d:0x119f,_0x30ccfd:0xa2c,_0x2b334e:0x6c0},_0x519387={_0x24a9b6:0xe72},_0xfafdb={_0x4a9cca:0x8eb,_0x2599d8:0x572,_0x1508eb:0x44a},_0x2f6ff0={_0x2ae06f:0x1fa},_0x5af2d3={_0x1e6520:0x509},_0x5a4050={_0x169e4d:0xad2},_0x34a636={_0x5bb7ba:0x214},_0x47c54b=create$4(_0x158846(_0x13b48f._0xed5fd3,0x86c),'mars3d-hideDiv'),_0x2bf3cf=this[_0x158846(0x6b0,_0x13b48f._0x29820c)]['html'];function _0x36e248(_0x3d2cc4,_0x10c3b5){return _0x7afdbe(_0x3d2cc4,_0x10c3b5- -0x596);}function _0x158846(_0x573586,_0x54c253){return _0x54a7f1(_0x573586-_0x34a636._0x5bb7ba,_0x54c253);}if(isString(_0x2bf3cf))_0x47c54b[_0x158846(0x1429,_0x13b48f._0x4fd0be)]=_0x2bf3cf;else _0x2bf3cf instanceof Element&&_0x47c54b[_0x36e248(_0x13b48f._0x967f49,0x119f)](_0x2bf3cf);document[_0x36e248(0xa18,_0x13b48f._0x229c56)][_0x36e248(0x16dd,_0x13b48f._0x47197d)](_0x47c54b),this[_0x158846(0x76c,0xe94)]=!![];if(window[_0x36e248(0x6ea,_0x13b48f._0x30ccfd)])window[_0x36e248(0x7f,0xa2c)]['toPng'](_0x47c54b)['then'](_0x11ae4e=>{this['entityGraphic']['image']=''+_0x11ae4e;function _0x3e8946(_0x2cf944,_0x38b28d){return _0x158846(_0x38b28d- -0x539,_0x2cf944);}function _0x1fde43(_0x4bc1fe,_0x2a0e14){return _0x36e248(_0x2a0e14,_0x4bc1fe-0x5a8);}document['body']['removeChild'](_0x47c54b),this[_0x3e8946(0x8b8,0x233)]=![];const _0x1b0b23={};_0x1b0b23[_0x3e8946(-_0x5a4050._0x169e4d,-0x40)]=_0x11ae4e,this['fire']('image',_0x1b0b23);})[_0x36e248(-0xc6,_0x13b48f._0x2b334e)](_0x33cb8a=>{function _0x4e3941(_0x285963,_0x1ec133){return _0x158846(_0x1ec133- -0x512,_0x285963);}logError(_0x4e3941(-_0x5af2d3._0x1e6520,0x503),_0x33cb8a),document['body']['removeChild'](_0x47c54b),this['_islosdImg']=![];});else{if(window['html2canvas']){const _0x56c1b3={};_0x56c1b3['backgroundColor']=null,_0x56c1b3['allowTaint']=!![],window['html2canvas'](_0x47c54b,_0x56c1b3)['then'](_0x36d36d=>{function _0x4ef27a(_0x2dc8a2,_0x20860a){return _0x158846(_0x2dc8a2- -_0x2f6ff0._0x2ae06f,_0x20860a);}this['entityGraphic'][_0x21ee52(-0x4d,_0xfafdb._0x4a9cca)]=_0x36d36d,document[_0x4ef27a(0x9d0,0xdcb)]['removeChild'](_0x47c54b),this[_0x4ef27a(_0xfafdb._0x2599d8,_0xfafdb._0x1508eb)]=![];const _0x59f2e2={};_0x59f2e2['canvas']=_0x36d36d;function _0x21ee52(_0x583871,_0x2fb619){return _0x158846(_0x583871- -0x546,_0x2fb619);}this['fire']('image',_0x59f2e2);})['catch'](_0xbd6409=>{logError(_0x2a27ca(0x5b9,0x6ee),_0xbd6409);function _0x3c3671(_0x24a501,_0x521f0b){return _0x158846(_0x521f0b- -0x2b,_0x24a501);}document[_0x2a27ca(0x76e,_0x519387._0x24a9b6)]['removeChild'](_0x47c54b);function _0x2a27ca(_0x4f2962,_0x3175bd){return _0x158846(_0x4f2962- -0x45c,_0x3175bd);}this['_islosdImg']=![];});}}}}register$5(_0x7afdbe(0x344,0xd13),DivBillboardEntity,!![]);class FontBillboardEntity extends DivBillboardEntity{['_updateImage'](){const _0x55a53f={_0x2c0067:0x6f,_0x8a25ca:0x197,_0x591413:0xf41,_0x16b12e:0x10c,_0x1c2779:0xf1d,_0xf84707:0x13d1,_0x1205de:0x989,_0x2207a0:0xde9,_0x4b3622:0x42c,_0x4d0166:0x1cb,_0x24ce61:0x148e,_0x13f5ed:0x4b9,_0x15023e:0x757},_0xd7738c={_0x52aeb7:0xb16,_0x193c32:0x6c9},_0x46bb68={_0x45bb11:0xa7e,_0x2ae3e8:0x981,_0x475d94:0xac5,_0x30d309:0xa13},_0x1424a7={_0x1632d8:0x3b4,_0x2cef95:0xa5},_0x3ee661={_0x338519:0x6ab},_0x2dd3b0={_0x49709e:0x705,_0x972a:0xa2,_0x34092e:0x4d4,_0x2b28ba:0x5a1,_0x33a43f:0x32e,_0x3f406f:0x41e},_0x10b671={_0x1eb7c3:0x554},_0x485c4b={_0x1dec82:0x739},_0x60b694=this[_0x50edda(0x1e3,-_0x55a53f._0x2c0067)][_0x50edda(0x670,_0x55a53f._0x8a25ca)]??0x32,_0x58c45a=this['style']['iconPadding']??0xa,_0x2bad50=this['style'][_0x50f1a8(_0x55a53f._0x591413,0x1844)]??'#ff0000',_0x4c8202=create$4(_0x50edda(_0x55a53f._0x16b12e,0xa6),_0x50f1a8(0x5f9,0xcdb));_0x4c8202['setAttribute']('style','padding:\x20'+_0x58c45a+'px;text-align:center;max-width:'+_0x60b694+_0x50f1a8(0x63c,_0x55a53f._0x1c2779)+_0x60b694+_0x50f1a8(_0x55a53f._0xf84707,0xfb6));const _0x2432df=document[_0x50edda(_0x55a53f._0x1205de,0xb19)]('i');_0x2432df[_0x50f1a8(0x666,0x903)]('class',this['style']['iconClass']),_0x2432df[_0x50edda(_0x55a53f._0x2207a0,_0x55a53f._0x4b3622)](_0x50f1a8(_0x55a53f._0x4d0166,0x10d),'font-size:'+_0x60b694+'px;color:'+_0x2bad50+';');function _0x50edda(_0xe61ef7,_0x428502){return _0x7afdbe(_0xe61ef7,_0x428502- -_0x485c4b._0x1dec82);}_0x4c8202[_0x50edda(0xeac,0xffc)](_0x2432df),document['body'][_0x50f1a8(0x1236,_0x55a53f._0x24ce61)](_0x4c8202);function _0x50f1a8(_0x420039,_0x44d622){return _0x54a7f1(_0x420039- -0x2d1,_0x44d622);}this['_islosdImg']=!![];if(window[_0x50f1a8(0xac3,0x482)])window['domtoimage']['toPng'](_0x4c8202)[_0x50edda(-0x7c6,0xa8)](_0x87ca8f=>{this['entityGraphic'][_0x3c3588(-_0x2dd3b0._0x49709e,_0x2dd3b0._0x972a)]=''+_0x87ca8f,document['body'][_0x5ce3d5(-0x25e,_0x2dd3b0._0x34092e)](_0x4c8202),this[_0x5ce3d5(0x672,_0x2dd3b0._0x2b28ba)]=![];function _0x3c3588(_0x42c250,_0x475ed2){return _0x50edda(_0x42c250,_0x475ed2-0x2c8);}const _0x2c8af2={};function _0x5ce3d5(_0x5c8fbf,_0x5627bf){return _0x50edda(_0x5c8fbf,_0x5627bf-_0x10b671._0x1eb7c3);}_0x2c8af2[_0x5ce3d5(0x9e8,_0x2dd3b0._0x33a43f)]=_0x87ca8f,this[_0x3c3588(_0x2dd3b0._0x3f406f,0xc75)]('image',_0x2c8af2);})[_0x50edda(-0x29e,0x51d)](_0x46e99a=>{logError(_0x716ee4(_0x1424a7._0x1632d8,_0x1424a7._0x2cef95),_0x46e99a);function _0x3846ca(_0xb830b4,_0x49403b){return _0x50edda(_0xb830b4,_0x49403b-_0x3ee661._0x338519);}document['body'][_0x3846ca(-0x8a,0x62b)](_0x4c8202);function _0x716ee4(_0x20fac9,_0x3b1e9d){return _0x50f1a8(_0x20fac9- -0x17c,_0x3b1e9d);}this['_islosdImg']=![];});else{if(window[_0x50f1a8(0x9f3,0x2b2)]){const _0x21d007={};_0x21d007['backgroundColor']=null,_0x21d007['allowTaint']=!![],window['html2canvas'](_0x4c8202,_0x21d007)[_0x50f1a8(0x2e2,-_0x55a53f._0x13f5ed)](_0x2e1a6a=>{function _0x21138f(_0x19b0fb,_0x144571){return _0x50f1a8(_0x144571-0x29c,_0x19b0fb);}this['entityGraphic'][_0x22e9fa(0x2f2,0x2ab)]=_0x2e1a6a,document[_0x21138f(_0x46bb68._0x45bb11,_0x46bb68._0x2ae3e8)][_0x21138f(_0x46bb68._0x475d94,0x456)](_0x4c8202),this['_islosdImg']=![];const _0x43fac8={};_0x43fac8[_0x22e9fa(0x52,0x8a8)]=_0x2e1a6a;function _0x22e9fa(_0x2a556a,_0x1018f8){return _0x50f1a8(_0x1018f8-0x297,_0x2a556a);}this[_0x22e9fa(_0x46bb68._0x30d309,0xe7e)]('image',_0x43fac8);})[_0x50f1a8(_0x55a53f._0x15023e,0x736)](_0x2aa201=>{logError(_0x378f86(0x40b,0x9b3),_0x2aa201);function _0x582908(_0x1761bd,_0x27b9cf){return _0x50edda(_0x1761bd,_0x27b9cf-0x21e);}document[_0x582908(_0xd7738c._0x52aeb7,_0xd7738c._0x193c32)]['removeChild'](_0x4c8202);function _0x378f86(_0x2bad0f,_0x4e01ce){return _0x50f1a8(_0x4e01ce-0x483,_0x2bad0f);}this['_islosdImg']=![];});}}}}register$5('fontBillboard',FontBillboardEntity,!![]);class LabelEntity extends BasePointEntity{get['entityGraphic'](){var _0x312c30;return(_0x312c30=this['_entity'])===null||_0x312c30===void 0x0?void 0x0:_0x312c30['label'];}get['label'](){const _0x2c3b91={_0x557bbe:0xfd1};function _0xfc3594(_0xf6994a,_0x1941a7){return _0x54a7f1(_0x1941a7- -0xe9,_0xf6994a);}return this['_entity']?this['_entity'][_0xfc3594(0x1998,_0x2c3b91._0x557bbe)]:this['style'];}get['text'](){const _0x298e94={_0x284bcb:0x14e,_0x3abc4d:0x120a};function _0xcfa08f(_0x322a6a,_0x2786b3){return _0x7afdbe(_0x2786b3,_0x322a6a- -0x11f);}function _0x39693a(_0x163500,_0x5c2ef0){return _0x7afdbe(_0x163500,_0x5c2ef0- -0x45a);}return this[_0xcfa08f(0x5ab,_0x298e94._0x284bcb)][_0xcfa08f(_0x298e94._0x3abc4d,0x1384)];}set[_0x7afdbe(0x13a5,0x1329)](_0x525dbf){this['style']['text']=_0x525dbf,this['_entity']&&(this['entityGraphic']['text']=_0x525dbf);}[_0x54a7f1(0x28b,0x976)](){const _0x12ef2f={_0x5898a8:0xda2,_0xe81605:0x325,_0x43350f:0x1b7e},_0xb85b51={_0x37c6c5:0x56a},_0x4722d4={'position':this['position'],'label':LabelStyleConver['toCesiumVal'](this['style'])};function _0x5558ee(_0x3ec86d,_0x37009e){return _0x7afdbe(_0x3ec86d,_0x37009e- -_0xb85b51._0x37c6c5);}function _0x373b26(_0x5b449c,_0x1460b2){return _0x7afdbe(_0x5b449c,_0x1460b2- -0x16d);}this[_0x5558ee(_0x12ef2f._0x5898a8,_0x12ef2f._0xe81605)]=this[_0x373b26(_0x12ef2f._0x43350f,0x1805)](_0x4722d4);}['_addLabel'](_0x2584b7){}['_style2Json'](_0x5e23d3,_0x1b6568){return LabelStyleConver['toJSON'](_0x5e23d3,_0x1b6568,!![]);}['_updateStyleHook'](_0x27335c,_0x35ceb1){const _0x46ab18={_0x11eb87:0xaa};function _0x3d82f1(_0x21410f,_0x3bbda5){return _0x54a7f1(_0x3bbda5-_0x46ab18._0x11eb87,_0x21410f);}LabelStyleConver['toCesiumVal'](_0x27335c,this[_0x3d82f1(-0x176,0x5d8)]);}['_updateDistanceDisplayConditionByEdit'](){}[_0x54a7f1(0x61a,0xd2)](_0x1b79f1={}){const _0x4050f9={_0x4b8873:0x6a,_0x5ddc92:0x1240,_0x527776:0x11e0,_0x5442e1:0x6a},_0x2d2448={_0x5d1d33:0x59d},_0x489192={_0x150907:0x6f2};function _0x32b28f(_0x5ccdcc,_0x15b01b){return _0x7afdbe(_0x15b01b,_0x5ccdcc- -_0x489192._0x150907);}function _0x19271f(_0xc2f23e,_0x395fb4){return _0x7afdbe(_0x395fb4,_0xc2f23e- -_0x2d2448._0x5d1d33);}if(!this['_entity'])return;let _0x155ba1=-(_0x1b79f1[_0x32b28f(-0x267,0x194)]||0x32);const _0xbdcf7c=_0x1b79f1['step']||0x1,_0x1c5535=_0x1b79f1['autoStop'];let _0x535132=_0x155ba1,_0x363d6c=-0x1;const _0x48d900=this;function _0x1bd3bb(){if(_0x535132<=_0x155ba1&&_0x363d6c!==0x1)_0x363d6c=0x1,_0x1c5535&&(_0x155ba1*=0.55,_0xbdcf7c*0x2>=-_0x155ba1&&_0x48d900['stopBounce']());else _0x535132>=0x0&&_0x363d6c!==-0x1&&(_0x363d6c=-0x1);_0x535132+=_0xbdcf7c*_0x363d6c;}const _0x46b39b=getCesiumValue(this[_0x32b28f(_0x4050f9._0x4b8873,-0x6e1)]['pixelOffset'],Cesium__namespace[_0x32b28f(_0x4050f9._0x5ddc92,_0x4050f9._0x527776)])||new Cesium__namespace['Cartesian2'](0x0,0x0),_0x2da548=_0x46b39b['clone']();this['entityGraphic']['pixelOffset_original']=_0x46b39b,this[_0x32b28f(_0x4050f9._0x5442e1,-0x769)][_0x32b28f(0xa40,0x5d0)]=new Cesium__namespace['CallbackProperty'](_0x2d6ec6=>{return _0x1bd3bb(),_0x2da548['y']=_0x46b39b['y']+_0x535132,_0x2da548;});}['stopBounce'](){const _0x2cd419={_0x56cfd9:0x1da,_0x53cf3d:0x290},_0x359ad5={_0xa14393:0xa};function _0x4404ef(_0x506e3b,_0xe0e156){return _0x54a7f1(_0x506e3b-_0x359ad5._0xa14393,_0xe0e156);}function _0x384e72(_0x3f9921,_0xabbff4){return _0x7afdbe(_0x3f9921,_0xabbff4- -0x23b);}this[_0x4404ef(0x538,-_0x2cd419._0x56cfd9)]['pixelOffset']=this[_0x4404ef(0x538,-_0x2cd419._0x53cf3d)][_0x4404ef(0x253,-0x6df)];}[_0x7afdbe(0xf6f,0x736)](_0x56e7f3){const _0x14c6a9={_0x23fa2c:0x5c4};function _0x32bd16(_0x288595,_0x473077){return _0x7afdbe(_0x473077,_0x288595- -0x157);}this['style']['globalAlpha']=_0x56e7f3,this[_0x32bd16(0x738,_0x14c6a9._0x23fa2c)]&&LabelStyleConver['setOpacity'](this['entityGraphic'],_0x56e7f3);}}register$5('label',LabelEntity,!![]);class CanvasLabelEntity extends BillboardEntity{['_mountedHook'](){const _0x6bd08f={_0xcfde97:0x24c};function _0x5497cc(_0x63c118,_0x4bcb13){return _0x7afdbe(_0x4bcb13,_0x63c118- -0x47e);}super['_mountedHook'](),this['_updateImage_delay'](this[_0x5497cc(_0x6bd08f._0xcfde97,0xa4e)]);}['_onBeforeCreate'](_0x1f29cf){const _0x3b64ad={_0x365597:0x1262,_0x3ce991:0x1595,_0x3e0546:0xf7a,_0x484283:0x1000},_0x98003b={_0x68470f:0x212};var _0x57bdc0,_0x2d55b5;Cesium__namespace['defined'](_0x1f29cf===null||_0x1f29cf===void 0x0||(_0x57bdc0=_0x1f29cf[_0x5b7071(_0x3b64ad._0x365597,0xb1a)])===null||_0x57bdc0===void 0x0?void 0x0:_0x57bdc0['image'])&&delete _0x1f29cf[_0x37c942(0xe8a,_0x3b64ad._0x3ce991)]['image'];function _0x5b7071(_0x2f9559,_0x1ee400){return _0x54a7f1(_0x1ee400- -_0x98003b._0x68470f,_0x2f9559);}Cesium__namespace['defined'](_0x1f29cf===null||_0x1f29cf===void 0x0||(_0x2d55b5=_0x1f29cf[_0x5b7071(0x31f,0xb1a)])===null||_0x2d55b5===void 0x0?void 0x0:_0x2d55b5[_0x5b7071(_0x3b64ad._0x3e0546,_0x3b64ad._0x484283)])&&delete _0x1f29cf['billboard']['color'];function _0x37c942(_0x56a938,_0x4e0bfd){return _0x7afdbe(_0x4e0bfd,_0x56a938- -0xd0);}return _0x1f29cf;}['_updateStyleHook'](_0x28faee,_0x34d975){const _0x61b068={_0x1e5f7e:0x375,_0x5c3ec5:0x74e,_0x31aa16:0x137a},_0x434181={_0x5d6edc:0xdb},_0x2ca2cd={_0x171123:0x19e},_0x321004={..._0x28faee};function _0xd59418(_0x4d9e81,_0x1e5001){return _0x7afdbe(_0x1e5001,_0x4d9e81- -_0x2ca2cd._0x171123);}const _0x3c79d5=_0x321004;delete _0x3c79d5[_0xd59418(_0x61b068._0x1e5f7e,-_0x61b068._0x5c3ec5)],delete _0x3c79d5['color'];function _0x338578(_0x16033b,_0x2df418){return _0x54a7f1(_0x2df418-_0x434181._0x5d6edc,_0x16033b);}super['_updateStyleHook'](_0x3c79d5,_0x34d975),this[_0xd59418(0x14bf,_0x61b068._0x31aa16)](_0x28faee);}[_0x54a7f1(0x142f,0x19eb)](_0x338ae6){const _0x1a0574={_0x4ffc01:0x1f1};this['updateTimer']&&clearTimeout(this['updateTimer']),this['updateTimer']=setTimeout(()=>{function _0x3f65fd(_0x1f526c,_0x2008a5){return _0x536c(_0x1f526c- -0x349,_0x2008a5);}delete this['updateTimer'];if(!this[_0x3f65fd(_0x1a0574._0x4ffc01,0x4eb)])return;this['_updateImage'](_0x338ae6);},0x64);}['_updateImage'](_0x488c95){const _0x55c7ee=LabelStyleConver['toCesiumVal'](_0x488c95),_0x259cb4=getTextImage(_0x55c7ee['text'],_0x55c7ee);_0x259cb4&&(this['entityGraphic']['image']=_0x259cb4);}}register$5('canvasLabel',CanvasLabelEntity,!![]);class EditCircle extends EditPoly{set[_0x54a7f1(0x16e1,0x18c5)](_0x3f7cbf){this['positions'][0x0]=_0x3f7cbf;}get[_0x54a7f1(0x16e1,0x131f)](){const _0x37bbf1={_0x4797fa:0x1300,_0x54955c:0xb12},_0x34b795={_0x37b60f:0x211};function _0x5d4454(_0x419d6a,_0x1cdc44){return _0x54a7f1(_0x419d6a-_0x34b795._0x37b60f,_0x1cdc44);}return this[_0x5d4454(_0x37bbf1._0x4797fa,_0x37bbf1._0x54955c)][0x0];}['bindDraggers'](){const _0x467b64={_0x6ad5e1:0xbfb,_0x53326:0x7de,_0x5010a1:0x104,_0x4de491:0x1372,_0x245535:0xa0c,_0xed8901:0x14cd,_0x12f345:0x33d,_0x2b3962:0xbc1,_0x1c5694:0x17,_0x23178c:0x15bd,_0x5445d9:0xbde},_0x3dd9b7={_0x305417:0xa0d},_0x34f8d9={_0x5d50f1:0xaae,_0x7bb3cb:0xa29,_0x496c46:0x758,_0x365bc6:0x30c,_0x4bd5d0:0x4e1,_0x2e6c9a:0x9c,_0x53cb83:0x956},_0x19bb97={_0x479f1f:0x6ff},_0x144d09={_0x20178c:0x1399,_0x165906:0x42f,_0x3ab682:0xc35},_0x3d81c0={_0x508b46:0x878},_0x597762={_0x548cd4:0x560},_0x1774ef={_0x542bc1:0x36a,_0x189890:0x2e1},_0x5397e0={_0x1793df:0x17e1},_0x3e61ce={_0x362068:0x72e},_0x27ae17=this[_0x371f60(_0x467b64._0x6ad5e1,0xbe7)];if(_0x27ae17['length']===0x0)return;const _0x47200b=this['updatePositionsHeightByAttr'](_0x27ae17[0x0]),_0x53fed0=this['_map']['clock']['currentTime'],_0x557ef1=getEllipseOuterPositions({'position':_0x47200b,'semiMajorAxis':getCesiumValue(this['entityGraphic'][_0x371f60(-0x20f,0x3f)],Number,_0x53fed0),'semiMinorAxis':getCesiumValue(this['entityGraphic'][_0x371f60(-_0x467b64._0x53326,-_0x467b64._0x5010a1)],Number,_0x53fed0),'rotation':getCesiumValue(this['entityGraphic']['rotation'],Number,_0x53fed0)??0x0,'count':0x1});function _0xd5e6f0(_0x15707a,_0x430781){return _0x7afdbe(_0x15707a,_0x430781-0x26);}const _0x1915f6=this['updatePositionsHeightByAttr'](_0x557ef1[0x3]);_0x27ae17[0x1]=_0x1915f6;const _0x3f6143=this[_0xd5e6f0(0x122,0x773)]({'position':_0x1915f6,'type':EditPointType['EditAttr'],'tooltip':this[_0xd5e6f0(_0x467b64._0x4de491,0xa27)]['getLangText'](_0xd5e6f0(0x110c,0x1971)),'onDragStart':(_0x5470a3,_0x52417c)=>{function _0x3f5073(_0x4397eb,_0x3bcb7d){return _0x371f60(_0x3bcb7d,_0x4397eb-_0x3e61ce._0x362068);}function _0x530a45(_0x12fb14,_0x24ad95){return _0x371f60(_0x24ad95,_0x12fb14-0x73b);}if(!this[_0x530a45(_0x5397e0._0x1793df,0x1261)])return;for(let _0x2827e9=0x0,_0x118059=this[_0x3f5073(0x17d4,0x13b3)]['length'];_0x2827e9<_0x118059;_0x2827e9++){this['_heightDraggers'][_0x2827e9]['show']=![];}},'onDrag':(_0x2f737c,_0x31980e)=>{const _0x1aa376={_0x38488b:0x239};if(this['entityGraphic']['height']!==undefined){const _0x348044=getCesiumValue(this['entityGraphic']['height'],Number,_0x53fed0);_0x31980e=setPositionsHeight(_0x31980e,_0x348044),_0x2f737c['position']=_0x31980e;}_0x27ae17[_0x2f737c['index']]=_0x31980e;const _0x4a7b49=this['formatNum'](Cesium__namespace['Cartesian3']['distance'](_0x27ae17[0x0],_0x31980e),0x2);function _0xe3384f(_0x229a8f,_0xff8cef){return _0x371f60(_0x229a8f,_0xff8cef-_0x1aa376._0x38488b);}function _0x585342(_0x23aa9e,_0x3df1de){return _0xd5e6f0(_0x23aa9e,_0x3df1de- -0x40f);}this[_0x585342(_0x1774ef._0x542bc1,0x373)]['semiMajorAxis']=_0x4a7b49,this['_graphic']['_maxPointNum']===0x3||!Cesium__namespace['defined'](this['style']['radius'])?this[_0x585342(0x51a,_0x1774ef._0x189890)]['semiMajorAxis']=_0x4a7b49:(this['entityGraphic']['semiMinorAxis']=_0x4a7b49,this['style']['radius']=_0x4a7b49),this['fire'](EventType['editStyle']);},'onDragEnd':(_0x32cee7,_0x323511)=>{function _0x418ad9(_0x35259a,_0x451e4e){return _0xd5e6f0(_0x35259a,_0x451e4e- -_0x597762._0x548cd4);}this[_0x418ad9(_0x3d81c0._0x508b46,0x111a)]();}});_0x3f6143['index']=0x1,this['draggers']['push'](_0x3f6143);let _0x4167c5;if(this['_graphic'][_0x371f60(_0x467b64._0x245535,0x51f)]===0x3){const _0x33ac26=this['updatePositionsHeightByAttr'](_0x557ef1[0x2]);_0x27ae17[0x2]=_0x33ac26,_0x4167c5=this['createDragger']({'position':_0x33ac26,'type':EditPointType[_0xd5e6f0(_0x467b64._0xed8901,0x110e)],'tooltip':this['_map']['getLangText'](_0x371f60(0xa59,0x1215)),'onDragStart':(_0x4c2e0d,_0x3490a9)=>{const _0x1f8b58={_0x47bd03:0x469};if(!this[_0x507aac(_0x144d09._0x20178c,0x167a)])return;function _0x507aac(_0x3ac767,_0x2726d1){return _0xd5e6f0(_0x2726d1,_0x3ac767- -_0x1f8b58._0x47bd03);}function _0x5713ca(_0x11ef6d,_0x497941){return _0x371f60(_0x11ef6d,_0x497941-0x2fd);}for(let _0x5734a3=0x0,_0x8fbe24=this['_heightDraggers'][_0x5713ca(_0x144d09._0x165906,0xd7a)];_0x5734a3<_0x8fbe24;_0x5734a3++){this[_0x507aac(0x1399,_0x144d09._0x3ab682)][_0x5734a3]['show']=![];}},'onDrag':(_0x3089b9,_0x209817)=>{const _0x4f3f63={_0x20c66b:0x476};if(this['entityGraphic']['height']!==undefined){const _0x515713=getCesiumValue(this['entityGraphic'][_0x44e475(0xf8,0x1bc)],Number,_0x53fed0);_0x209817=setPositionsHeight(_0x209817,_0x515713),_0x3089b9[_0x44e475(0x18c2,0x1236)]=_0x209817;}_0x27ae17[_0x3089b9[_0x202b69(_0x34f8d9._0x5d50f1,_0x34f8d9._0x7bb3cb)]]=_0x209817;let _0x392364=this['formatNum'](Cesium__namespace['Cartesian3']['distance'](_0x27ae17[0x0],_0x209817),0x2);const _0x5c4122=getCesiumValue(this['entityGraphic']['semiMajorAxis'],Number,_0x53fed0);_0x392364>_0x5c4122&&(_0x392364=_0x5c4122);this[_0x202b69(_0x34f8d9._0x496c46,_0x34f8d9._0x365bc6)]['semiMinorAxis']=_0x392364;function _0x44e475(_0x585128,_0x1d77ae){return _0xd5e6f0(_0x585128,_0x1d77ae- -_0x19bb97._0x479f1f);}function _0x202b69(_0x38f118,_0x109934){return _0xd5e6f0(_0x38f118,_0x109934- -_0x4f3f63._0x20c66b);}this['_graphic']['_maxPointNum']===0x3||!Cesium__namespace['defined'](this[_0x44e475(-_0x34f8d9._0x4bd5d0,-0xf)]['radius'])?this['style']['semiMinorAxis']=_0x392364:(this['entityGraphic'][_0x44e475(0x70,_0x34f8d9._0x2e6c9a)]=_0x392364,this[_0x202b69(0x90b,0x27a)][_0x202b69(_0x34f8d9._0x53cb83,0x1b5)]=_0x392364),this['fire'](EventType['editStyle']);},'onDragEnd':(_0x450e28,_0x4e6b12)=>{function _0x385494(_0x49bea9,_0x2832c0){return _0xd5e6f0(_0x49bea9,_0x2832c0- -0x3e8);}this[_0x385494(0x85c,0x1292)]();}}),_0x4167c5['index']=0x2,this[_0xd5e6f0(0xce0,0x15bd)][_0x371f60(_0x467b64._0x12f345,0xa00)](_0x4167c5);}function _0x371f60(_0x3920ea,_0x348cb8){return _0x7afdbe(_0x3920ea,_0x348cb8- -0x736);}if(this['_graphic'][_0xd5e6f0(0x11b4,_0x467b64._0x2b3962)]){const _0x18bfc2=this[_0x371f60(-0x536,_0x467b64._0x1c5694)]({'position':_0x47200b,'onDragStart':(_0x363505,_0x46329d)=>{const _0xce46ba={_0x1603ba:0x64d},_0x43fd4a={_0x2d6db7:0x32};function _0x164fd6(_0x12f605,_0x4ab12c){return _0xd5e6f0(_0x12f605,_0x4ab12c- -_0x43fd4a._0x2d6db7);}function _0x516abf(_0x529095,_0x5661c4){return _0xd5e6f0(_0x5661c4,_0x529095- -_0xce46ba._0x1603ba);}for(let _0x5f345e=0x0,_0x113ca3=this[_0x516abf(0xf70,0xe47)]['length'];_0x5f345e<_0x113ca3;_0x5f345e++){this['draggers'][_0x5f345e][_0x516abf(0x11fa,0x1871)]=![];}},'onDrag':(_0x868c3e,_0x1aa592)=>{_0x27ae17[0x0]=_0x1aa592;},'onDragEnd':(_0x1796e3,_0x3f2b0b)=>{function _0x3c12e4(_0x15853f,_0x29bc2){return _0x371f60(_0x15853f,_0x29bc2-0x5a6);}this[_0x3c12e4(_0x3dd9b7._0x305417,0x14c4)]();}});_0x18bfc2['index']=0x0,this[_0xd5e6f0(0x10b2,_0x467b64._0x23178c)]['push'](_0x18bfc2),_0x18bfc2['majorDragger']=_0x3f6143,_0x18bfc2[_0xd5e6f0(_0x467b64._0x5445d9,0xc55)]=_0x4167c5;}if(this[_0xd5e6f0(0xbb7,0x782)][_0x371f60(0x2c2,0x8e0)]){const _0x19df87=this['_graphic']['_maxPointNum']===0x3?[_0x27ae17[0x1],_0x27ae17[0x2]]:[_0x27ae17[0x1]];this['_bindHeightDraggers'](_0x19df87);}}['updatePositionsHeightByAttr'](_0x3beb81){const _0x1ed6e1={_0x5aec98:0xbbd,_0x50dd36:0x7b,_0x1a44b1:0x10db,_0x161c16:0x6e0,_0x65ccf1:0x84c},_0x1dd67f={_0x305fc8:0x1b5};this['clampToGround']&&(_0x3beb81=getSurfacePosition(this[_0x1930b4(0xe5f,0x84c)][_0x1930b4(_0x1ed6e1._0x5aec98,0x10f8)],_0x3beb81));function _0x1930b4(_0xcceffe,_0x4c9c2d){return _0x7afdbe(_0xcceffe,_0x4c9c2d- -_0x1dd67f._0x305fc8);}function _0x3ea158(_0x1bb6b5,_0x8de5c6){return _0x7afdbe(_0x1bb6b5,_0x8de5c6- -0x323);}if(this[_0x1930b4(-_0x1ed6e1._0x50dd36,0x5a7)]['height']!==undefined){const _0x3c9349=getCesiumValue(this['entityGraphic'][_0x1930b4(_0x1ed6e1._0x1a44b1,_0x1ed6e1._0x161c16)],Number,this[_0x1930b4(0xf84,_0x1ed6e1._0x65ccf1)][_0x3ea158(0x32f,0x8e4)]['currentTime']);_0x3beb81=setPositionsHeight(_0x3beb81,_0x3c9349);}return _0x3beb81;}['_updateStyleHook'](_0x182c64){const _0xf3682={_0x49b058:0x14d};function _0x27325c(_0x4685de,_0x29137f){return _0x54a7f1(_0x4685de-_0xf3682._0x49b058,_0x29137f);}super['_updateStyleHook'](_0x182c64);function _0x5c7bbf(_0x1f8dff,_0x1a4037){return _0x54a7f1(_0x1a4037-0xa,_0x1f8dff);}(Cesium__namespace['defined'](_0x182c64[_0x5c7bbf(0x776,0x3e1)])||Cesium__namespace['defined'](_0x182c64[_0x5c7bbf(0x31c,0x40e)])||Cesium__namespace['defined'](_0x182c64[_0x27325c(0x694,0xee5)])||Cesium__namespace[_0x27325c(0x17ce,0x1cbc)](_0x182c64['height'])||Cesium__namespace[_0x5c7bbf(0xec9,0x168b)](_0x182c64['diffHeight']))&&this['updateDraggers']();}['openSmallTooltipByMinPointNum'](_0xd8d61e){}}class CircleEntity extends BasePointEntity{constructor(_0x59a19c={}){const _0x1542ca={_0x3d7752:0x1163};function _0x16ddbc(_0x3e1f5f,_0x2e220f){return _0x54a7f1(_0x3e1f5f-0x12,_0x2e220f);}super(_0x59a19c);function _0x31d32c(_0x4da73a,_0x49632f){return _0x7afdbe(_0x49632f,_0x4da73a- -0x62);}this[_0x31d32c(0x8d4,0xd7b)]=0x2,this[_0x31d32c(0xbf3,_0x1542ca._0x3d7752)]=0x2,this[_0x16ddbc(0x39b,0x991)]=!![];}get[_0x7afdbe(-0x313,0x75c)](){const _0xa1c0c6={_0x3c32f7:0x9d9};var _0x4b081f;function _0x2aa73d(_0x4d94a8,_0x69445b){return _0x54a7f1(_0x4d94a8-0x1f9,_0x69445b);}return(_0x4b081f=this['_entity'])===null||_0x4b081f===void 0x0?void 0x0:_0x4b081f[_0x2aa73d(0xdf4,_0xa1c0c6._0x3c32f7)];}get[_0x7afdbe(0x107c,0x191a)](){return EditCircle;}get['outlinePositions'](){const _0x5da9aa={_0x2f5741:0x259,_0x1e54e2:0x5a6,_0x166156:0xce3,_0x3e8de4:0x15f7},_0x8db391={_0x4d8856:0x207},_0x195b47={_0x2396d7:0x6f4};function _0x35932b(_0x487c1f,_0x5f5183){return _0x7afdbe(_0x487c1f,_0x5f5183- -_0x195b47._0x2396d7);}function _0x3d22da(_0x379b7a,_0x3d4446){return _0x54a7f1(_0x3d4446-_0x8db391._0x4d8856,_0x379b7a);}return this[_0x3d22da(-_0x5da9aa._0x2f5741,0x868)]&&(this[_0x35932b(_0x5da9aa._0x1e54e2,-0x123)]=this[_0x3d22da(_0x5da9aa._0x166156,_0x5da9aa._0x3e8de4)]()),this[_0x3d22da(0x360,0x5aa)];}set[_0x7afdbe(0x1151,0xa74)](_0x392705){this['_outlinePositions']=_0x392705;}get['outlineCoordinates'](){const _0x5c4414={_0x9bd91a:0x62e},_0x101126={_0x4e461f:0x446};function _0x5ba474(_0x20f3da,_0x250871){return _0x7afdbe(_0x250871,_0x20f3da- -_0x101126._0x4e461f);}return cartesians2lonlats(this[_0x5ba474(_0x5c4414._0x9bd91a,0x10f7)]);}get[_0x7afdbe(0x1e4c,0x14bf)](){const _0x49132c={_0x589a26:0x29b};function _0x2818ec(_0x3a2c75,_0x52e484){return _0x54a7f1(_0x52e484-_0x49132c._0x589a26,_0x3a2c75);}return Math['PI']*0x2*this[_0x2818ec(0xb70,0x672)];}get['area'](){const _0xe67c9c=this['radius'];return Math['PI']*_0xe67c9c*_0xe67c9c;}get['radius'](){const _0x46da85={_0x291996:0x552,_0x1bd656:0x249};function _0xee9660(_0x2db873,_0x3623b5){return _0x54a7f1(_0x2db873- -0x17f,_0x3623b5);}var _0xbe8551;function _0x296b2e(_0x1bde80,_0x51ec66){return _0x7afdbe(_0x51ec66,_0x1bde80- -0x5a3);}if(this[_0xee9660(0x31d,-_0x46da85._0x291996)][_0x296b2e(0x62,-0x505)])return this[_0xee9660(0x31d,_0x46da85._0x1bd656)]['radius'];return getCesiumValue((_0xbe8551=this['entityGraphic'])===null||_0xbe8551===void 0x0?void 0x0:_0xbe8551['semiMajorAxis'],Number,Cesium__namespace['JulianDate'][_0x296b2e(0x2a7,0x518)]());}set[_0x54a7f1(0x3d7,-0x3ca)](_0x5c9a08){const _0x294bb3={_0x9968e6:0xa48,_0x3b7dfb:0x6e6,_0x254244:0xe6,_0x50895:0x41e,_0x55f8fb:0x9ee,_0xa5eb0a:0x987};function _0x1c42c9(_0x583b2a,_0x53e26f){return _0x54a7f1(_0x583b2a- -0x461,_0x53e26f);}function _0x515039(_0x2d5130,_0x417441){return _0x54a7f1(_0x417441-0x1b8,_0x2d5130);}this['style'][_0x1c42c9(-0x8a,-_0x294bb3._0x9968e6)]=_0x5c9a08,this['entityGraphic']&&(this[_0x515039(-0x1d6,_0x294bb3._0x3b7dfb)][_0x1c42c9(_0x294bb3._0x254244,_0x294bb3._0x50895)]=_0x5c9a08,this[_0x515039(-0x33e,0x6e6)][_0x515039(_0x294bb3._0x55f8fb,0x5bc)]=_0x5c9a08,this['_updateOutlineStyle'](this['_getOutlinePositions'](),this[_0x515039(_0x294bb3._0xa5eb0a,0x654)]));}get['height'](){const _0x55303d={_0x40e39b:0x538,_0x5e540d:0x36d},_0x38ad61={_0x1a758b:0x619};var _0x38e667;if(this['style'][_0xe692a8(0xf09,_0x55303d._0x40e39b)])return this[_0xe692a8(0x45e,_0x55303d._0x5e540d)]['height'];function _0x54e210(_0x6943fa,_0x52d62a){return _0x7afdbe(_0x52d62a,_0x6943fa- -_0x38ad61._0x1a758b);}function _0xe692a8(_0x2742f1,_0x1de12d){return _0x7afdbe(_0x2742f1,_0x1de12d- -0x35d);}return getCesiumValue((_0x38e667=this[_0x54e210(0x143,0x388)])===null||_0x38e667===void 0x0?void 0x0:_0x38e667['height'],Number)??0x0;}set['height'](_0x5f0f61){const _0x50fea7={_0x985b38:0xddf,_0x16e73f:0x58e,_0x199ff2:0x8ec,_0x3200c9:0x299,_0x52362a:0xb3b};function _0x381dc2(_0x446880,_0xc9546b){return _0x7afdbe(_0x446880,_0xc9546b- -0x307);}this['style'][_0x381dc2(_0x50fea7._0x985b38,_0x50fea7._0x16e73f)]=_0x5f0f61;function _0x41a138(_0x5885e5,_0xedb27b){return _0x7afdbe(_0xedb27b,_0x5885e5- -0x354);}this[_0x381dc2(_0x50fea7._0x199ff2,0x455)]&&(this[_0x41a138(0x408,-_0x50fea7._0x3200c9)][_0x381dc2(_0x50fea7._0x52362a,_0x50fea7._0x16e73f)]=_0x5f0f61);}get['hasMoveEdit'](){return this['options']['hasMoveEdit']??!![];}['_mountedHook'](){const _0x43a947={_0x3dd44d:0x16c0,_0x4eda41:0xd30,_0x36a72a:0x3f3,_0x2b8cbe:0xbe4,_0x53c473:0x1745,_0x12ee5f:0x1441,_0x12c802:0x1559,_0x569948:0x1a37,_0x16f495:0xd30,_0x17cf25:0x134c,_0x100229:0xccb,_0x4d5d09:0xc22,_0x248a24:0xe04,_0x3c15ae:0xf62},_0x37a53c={_0x2c897b:0x128};function _0x2d165d(_0x5ca4d6,_0x51337b){return _0x54a7f1(_0x51337b- -_0x37a53c._0x2c897b,_0x5ca4d6);}const _0x43adde={'position':this['position'],'ellipse':CircleStyleConver[_0xa22540(_0x43a947._0x3dd44d,_0x43a947._0x4eda41)](this[_0xa22540(0xc3f,_0x43a947._0x36a72a)],{},!![])},_0x5452e3=this['style']['label'];_0x5452e3&&(Cesium__namespace['defined'](this['style'][_0x2d165d(_0x43a947._0x2b8cbe,0x1441)])&&!Cesium__namespace[_0xa22540(_0x43a947._0x53c473,0x15d8)](_0x5452e3['clampToGround'])&&(_0x5452e3['clampToGround']=this['style'][_0x2d165d(0x1ac0,_0x43a947._0x12ee5f)]),Cesium__namespace[_0x2d165d(0x1c50,_0x43a947._0x12c802)](_0x5452e3[_0x2d165d(_0x43a947._0x569948,0x12bf)])||Cesium__namespace['defined'](_0x5452e3['addHeight'])?this['_addLabel'](_0x5452e3):_0x43adde['label']=LabelStyleConver[_0xa22540(0x29d,_0x43a947._0x16f495)](this['style']['label'],{},this[_0x2d165d(_0x43a947._0x17cf25,0x155f)]));this['_entity']=this['_createEntity'](_0x43adde);function _0xa22540(_0x297168,_0x1fb3d4){return _0x7afdbe(_0x297168,_0x1fb3d4- -0x2d7);}this['_calculateCzmHeight'](this['entityGraphic']),this[_0xa22540(0x1023,_0x43a947._0x100229)](this['_getOutlinePositions'](),this['style']),(this['position']instanceof Cesium__namespace[_0x2d165d(0xc45,_0x43a947._0x4d5d09)]||this['position']instanceof Cesium__namespace[_0xa22540(_0x43a947._0x248a24,_0x43a947._0x3c15ae)])&&this['_updateOutlineToCallback']();}[_0x7afdbe(0x1a2f,0x1351)](_0x523b4e){const _0x2bf0cd={_0x3b3965:0x56e,_0x4134eb:0xfd1,_0x441ab3:0xe65,_0x28341c:0x7be},_0x1ed912={_0x236065:0x255};function _0x30661a(_0x176fac,_0x14f034){return _0x7afdbe(_0x176fac,_0x14f034- -0xfc);}function _0x4f0cb7(_0x518a2f,_0x5bc9e0){return _0x54a7f1(_0x5bc9e0- -_0x1ed912._0x236065,_0x518a2f);}if(Cesium__namespace['defined'](_0x523b4e['setHeight'])||Cesium__namespace['defined'](_0x523b4e['addHeight'])){var _0x109bdc;(_0x109bdc=this[_0x4f0cb7(_0x2bf0cd._0x3b3965,0x40c)])!==null&&_0x109bdc!==void 0x0&&_0x109bdc[_0x4f0cb7(_0x2bf0cd._0x4134eb,_0x2bf0cd._0x441ab3)]&&(this['_entity']['label']['show']=![]),super['_addLabel'](_0x523b4e);}else this['_entity']['label']=this['_entity'][_0x4f0cb7(_0x2bf0cd._0x28341c,0xe65)]||{},LabelStyleConver['toCesiumVal'](_0x523b4e,this['_entity']['label'],this['attr']);}['_style2Json'](_0x5ded92,_0x185e03){const _0xbefede={_0x266b2e:0xd70};function _0xd6a381(_0x2eefb9,_0x19a9ad){return _0x7afdbe(_0x19a9ad,_0x2eefb9- -0x16d);}return CircleStyleConver[_0xd6a381(0x13fc,_0xbefede._0x266b2e)](_0x5ded92,_0x185e03,!![]);}['toGeoJSON'](_0x57754b){const _0x3221b1={_0x2abff1:0x1f3};function _0x209662(_0x895662,_0x5a0c92){return _0x54a7f1(_0x5a0c92- -_0x3221b1._0x2abff1,_0x895662);}return super[_0x209662(0x44b,0xca)](_0x57754b);}['_getGeoJsonGeometry'](_0x309fe8){const _0x59364d={_0xbb6de8:0xebf,_0x52e7c4:0x253,_0x44099c:0xeb0,_0x1ed101:0xc40,_0x6f47f:0x660};function _0x2c9cc0(_0x59dd72,_0x42ae0a){return _0x7afdbe(_0x59dd72,_0x42ae0a- -0x439);}function _0x5146ab(_0x14a9e6,_0x5a698c){return _0x54a7f1(_0x5a698c- -0x1e2,_0x14a9e6);}return _0x309fe8!==null&&_0x309fe8!==void 0x0&&_0x309fe8[_0x2c9cc0(0x15d2,0x122d)]?{'type':'Polygon','coordinates':[this['getOutlineCoordinates'](_0x309fe8===null||_0x309fe8===void 0x0?void 0x0:_0x309fe8[_0x5146ab(0x1d0d,0x14bb)],_0x309fe8===null||_0x309fe8===void 0x0?void 0x0:_0x309fe8[_0x5146ab(0x18d1,_0x59364d._0xbb6de8)],_0x309fe8===null||_0x309fe8===void 0x0?void 0x0:_0x309fe8[_0x2c9cc0(-_0x59364d._0x52e7c4,0x660)])]}:{'type':_0x2c9cc0(0xd55,_0x59364d._0x44099c),'coordinates':this['getCoordinate'](_0x309fe8===null||_0x309fe8===void 0x0?void 0x0:_0x309fe8[_0x2c9cc0(_0x59364d._0x1ed101,_0x59364d._0x6f47f)])};}['_updateStyleHook'](_0x4c67f3,_0x4f0054){const _0x184a3e={_0x13a271:0xa3a,_0x5283ae:0xd74,_0x2fc6dd:0x1830,_0x29a04e:0xf0d,_0x3fa5e0:0x1718,_0x2d94d1:0xd1b,_0x1b262d:0x1080,_0x3e81e3:0x13c4,_0x50949a:0x15aa,_0x379d4d:0x810};CircleStyleConver[_0x84661b(_0x184a3e._0x13a271,_0x184a3e._0x5283ae)](_0x4c67f3,this['entityGraphic'],!![]);function _0x84661b(_0x1baae3,_0x2a74fa){return _0x7afdbe(_0x2a74fa,_0x1baae3- -0x5cd);}function _0x567f54(_0x607fc2,_0xa935b6){return _0x7afdbe(_0xa935b6,_0x607fc2- -0x7f);}(Cesium__namespace['defined'](_0x4f0054['diffHeight'])||Cesium__namespace['defined'](_0x4f0054['height'])||Cesium__namespace['defined'](_0x4c67f3['addHeight'])||Cesium__namespace[_0x567f54(_0x184a3e._0x2fc6dd,_0x184a3e._0x29a04e)](_0x4c67f3['setHeight']))&&this['_calculateCzmHeight'](this['entityGraphic']);if(_0x4f0054!==null&&_0x4f0054!==void 0x0&&_0x4f0054['label']){Cesium__namespace['defined'](_0x4c67f3[_0x567f54(_0x184a3e._0x3fa5e0,0xd4b)])&&!Cesium__namespace['defined'](_0x4c67f3[_0x84661b(_0x184a3e._0x2d94d1,_0x184a3e._0x1b262d)]['clampToGround'])&&(_0x4c67f3[_0x84661b(0xd1b,0x43d)][_0x567f54(0x1718,0x1e49)]=_0x4c67f3[_0x567f54(0x1718,_0x184a3e._0x3e81e3)]);if(Cesium__namespace['defined'](_0x4c67f3['label']['setHeight'])||Cesium__namespace['defined'](_0x4c67f3[_0x84661b(_0x184a3e._0x2d94d1,_0x184a3e._0x50949a)][_0x567f54(0xccf,0x663)])){var _0x3228f6;(_0x3228f6=this['_entity'])!==null&&_0x3228f6!==void 0x0&&_0x3228f6['label']&&(this[_0x567f54(0x810,0xc1b)]['label']['show']=![]),this['_addLabel'](_0x4c67f3['label']);}else this[_0x567f54(0x810,0xa81)][_0x567f54(0x1269,0x158f)]=this['_entity']['label']||{},LabelStyleConver['toCesiumVal'](_0x4c67f3['label'],this[_0x567f54(_0x184a3e._0x379d4d,0x8)]['label'],this['attr']);}}['_updatePositionsHook'](){const _0x5aac84={_0x4321c1:0x5af,_0x201c67:0x985,_0x1b9a47:0x3ea,_0x5103fa:0x1238,_0xae5f86:0x1382},_0x4da3d5={_0x1c2021:0xb2};this[_0x5f0e5b(_0x5aac84._0x4321c1,0x982)][_0xded7ff(_0x5aac84._0x201c67,0x139f)]=this['position'],this[_0xded7ff(0x984,0x51f)](this[_0x5f0e5b(0x47c,-0xdf)]);function _0xded7ff(_0xa243dc,_0x4e8aee){return _0x54a7f1(_0x4e8aee- -0x342,_0xa243dc);}this['_updateOutlineStyle'](this['_getOutlinePositions'](),this[_0x5f0e5b(_0x5aac84._0x1b9a47,-0x57c)]);function _0x5f0e5b(_0x59d7d3,_0x33b685){return _0x54a7f1(_0x59d7d3- -_0x4da3d5._0x1c2021,_0x33b685);}this[_0x5f0e5b(0x1592,_0x5aac84._0x5103fa)](),this[_0xded7ff(_0x5aac84._0xae5f86,0xdab)]();}[_0x54a7f1(0x13d7,0x1cd6)](){return[this['outlinePositions']];}['_setPositionsToCallback'](){const _0x104e36={_0x19a193:0xfd5,_0x2afb18:0xea5,_0x241c64:0xd3e},_0x1e9005={_0x76fc8a:0x35e},_0x1374df={_0x254650:0x23a},_0xde4b34={_0x37718a:0x61a};function _0x292b1f(_0x3aef56,_0x505c18){return _0x7afdbe(_0x505c18,_0x3aef56- -_0xde4b34._0x37718a);}if(this[_0x58afa4(0xe5e,_0x104e36._0x19a193)])return;this['_isCallbackPositions']=!![];function _0x58afa4(_0x5ebc6,_0x3ec6b6){return _0x7afdbe(_0x5ebc6,_0x3ec6b6- -_0x1374df._0x254650);}this['_positions_draw']=this['positions']||[],this[_0x292b1f(0x12f5,_0x104e36._0x2afb18)]=new Cesium__namespace[(_0x58afa4(0xe68,_0x104e36._0x241c64))](_0x21fc7c=>{const _0x7e84e7={_0x5ea41e:0x668};function _0xcbdc5d(_0x3d04cb,_0x8e9878){return _0x292b1f(_0x8e9878- -0x87,_0x3d04cb);}if(this[_0xcbdc5d(-0x291,_0x1e9005._0x76fc8a)]['length']<0x1)return null;function _0x28e77a(_0x417839,_0x5b8c60){return _0x292b1f(_0x5b8c60-_0x7e84e7._0x5ea41e,_0x417839);}return this[_0xcbdc5d(-0x60d,0x35e)][0x0];},![]),this[_0x292b1f(0x116a,0x1497)]();}['_cancelPositionsCallback'](){const _0x1b371c={_0xccf520:0xc99,_0x3fe3b7:0x1001,_0x4f764e:0x29,_0x2d3449:0xb},_0x441a03={_0x4cd85c:0x348},_0x2bc2f3={_0x5c5277:0x2a3};if(!this[_0x16110d(0xde9,_0x1b371c._0xccf520)])return;function _0x5ae830(_0x57a695,_0x1e5704){return _0x54a7f1(_0x57a695-_0x2bc2f3._0x5c5277,_0x1e5704);}this['_isCallbackPositions']=![],this[_0x5ae830(0x102f,_0x1b371c._0x3fe3b7)]=this[_0x5ae830(0xa74,0xc60)][0x0];function _0x16110d(_0xd76d37,_0x5ca1cf){return _0x54a7f1(_0x5ca1cf- -_0x441a03._0x4cd85c,_0xd76d37);}this['_point']=LngLatPoint[_0x16110d(_0x1b371c._0x4f764e,-_0x1b371c._0x2d3449)](this[_0x5ae830(0x102f,0xc3c)]),this[_0x5ae830(0x904,0x98e)]&&this['_updatePositionsHook']();}['_startDrawHook'](){const _0x5e76dc={_0x4c02b8:0x623,_0xababb2:0xad3,_0x4d2fc4:0x9f6,_0x5b3ac2:0x9aa};this['_map']['on'](EventType['mouseMove'],this[_0x192b4a(0xbb8,_0x5e76dc._0x4c02b8)],this);function _0x192b4a(_0x52d599,_0x519f14){return _0x7afdbe(_0x519f14,_0x52d599- -0x6f);}this[_0x192b4a(0x992,0x3e)]['on'](this['_drawAddEventType'],this[_0x17a229(0x103e,0xe81)],this),this[_0x17a229(0x9f6,0xe55)]['on'](this[_0x17a229(0x11c7,0x7dc)],this[_0x17a229(0x938,0x1210)],this);function _0x17a229(_0x5ad8ee,_0x36f09d){return _0x7afdbe(_0x36f09d,_0x5ad8ee- -0xb);}(this[_0x17a229(_0x5e76dc._0xababb2,0x19b)]['hasDrawDelPoint']??!![])&&this[_0x17a229(_0x5e76dc._0x4d2fc4,0x131f)]['on'](this[_0x17a229(_0x5e76dc._0x5b3ac2,0x11a8)],this[_0x17a229(0x443,-0x165)],this);}[_0x7afdbe(0x9d3,0xc98)](){const _0x3b40b4={_0x514004:0x983,_0x4620b5:0xba9,_0x39d497:0xcad,_0x4552a1:0x86f,_0x5e187f:0xd40,_0x3ddd6d:0x19e},_0x2b1bac={_0x504811:0x1b0};this[_0x41b56f(_0x3b40b4._0x514004,0x5d2)]['off'](EventType['mouseMove'],this[_0x41b56f(_0x3b40b4._0x4620b5,_0x3b40b4._0x39d497)],this),this['_map'][_0x1b519f(0x435,0xeb4)](this['_drawAddEventType'],this['_onClickHandler'],this);function _0x1b519f(_0x273939,_0x5d1b0b){return _0x7afdbe(_0x5d1b0b,_0x273939- -0x146);}this['_map'][_0x41b56f(0x4fd,0x912)](this['_drawEndEventType'],this['_onDbClickHandler'],this);function _0x41b56f(_0x4bb59b,_0x203088){return _0x54a7f1(_0x4bb59b-_0x2b1bac._0x504811,_0x203088);}(this['options']['hasDrawDelPoint']??!![])&&this['_map']['off'](this[_0x1b519f(_0x3b40b4._0x4552a1,_0x3b40b4._0x5e187f)],this[_0x1b519f(0x308,_0x3b40b4._0x3ddd6d)],this);}['_getExSmallTooltip'](_0x391de3,_0x2ae5a3=''){const _0xfc9c2e={_0x287cf5:0x5de,_0x2c3808:0x1004,_0x396272:0x3d4,_0xcd8f09:0xbf8,_0x34d24f:0xb30,_0x2d6e55:0x5de,_0x1c07d1:0x4b3,_0x204cdc:0xd50},_0x514194={_0x18752d:0x500},_0x2a060c={_0x1071ca:0x3fd};if(this[_0x59fafc(0x977,_0xfc9c2e._0x287cf5)][_0x59fafc(0x1589,_0xfc9c2e._0x2c3808)]===![])return _0x2ae5a3;if(this[_0x363da6(_0xfc9c2e._0x396272,_0xfc9c2e._0xcd8f09)]['length']===0x0||!_0x391de3[_0x363da6(0xdb,0x881)])return _0x2ae5a3;const _0x437eee=Cesium__namespace['Cartesian3'][_0x59fafc(_0xfc9c2e._0x34d24f,0xfbf)](this['_positions_draw'][0x0],_0x391de3[_0x59fafc(0xb20,0x206)]);function _0x363da6(_0x343bee,_0x30ef9e){return _0x54a7f1(_0x343bee- -_0x2a060c._0x1071ca,_0x30ef9e);}if(_0x437eee>0x0){const _0xd17cfc={'unit':this[_0x59fafc(0xecf,_0xfc9c2e._0x2d6e55)]['unit'],'getLangText':_0x5e7441=>{function _0x5c470e(_0x5eddf4,_0x3a483c){return _0x59fafc(_0x5eddf4,_0x3a483c-0x314);}return this['_map'][_0x5c470e(0x5e3,0x1064)](_0x5e7441);},'decimal':this[_0x363da6(_0xfc9c2e._0x1c07d1,0xd89)]['decimal']};return'<br\x20/>'+this[_0x363da6(0x3d6,-0x195)][_0x59fafc(0x1179,_0xfc9c2e._0x204cdc)]('_半径')+':'+formatDistance(_0x437eee,_0xd17cfc)+'}';}function _0x59fafc(_0x33411b,_0x55b918){return _0x7afdbe(_0x33411b,_0x55b918- -_0x514194._0x18752d);}return _0x2ae5a3;}[_0x54a7f1(0xbee,0x291)](_0x6ab4a7){const _0x1eed9d={_0x2664b1:0x566,_0x5414b9:0xb50,_0x4dac3a:0x1516,_0x359888:0xed9,_0x130422:0x47f},_0x279748={_0x42e066:0x24b};function _0x5200b5(_0x719993,_0x2d84ec){return _0x7afdbe(_0x2d84ec,_0x719993- -0x499);}function _0x771bea(_0x33145e,_0x59a297){return _0x7afdbe(_0x59a297,_0x33145e- -_0x279748._0x42e066);}if(this[_0x5200b5(_0x1eed9d._0x2664b1,-0x19b)][_0x5200b5(0xd1a,0xd67)]<=0x1){this[_0x5200b5(0x568,_0x1eed9d._0x5414b9)][_0x5200b5(_0x1eed9d._0x4dac3a,_0x1eed9d._0x359888)](_0x6ab4a7['endPosition'],this['_map']['getLangText']('_单击开始绘制'));return;}this['_map']['openSmallTooltip'](_0x6ab4a7['endPosition'],this['_map']['getLangText'](_0x771bea(0x173b,0x1896))+this[_0x5200b5(0x94e,_0x1eed9d._0x130422)](_0x6ab4a7));}[_0x7afdbe(0x1465,0x142d)](_0x5a9f9c){const _0x4a0b34={_0x1837da:0x83a,_0x154719:0xed1,_0x27714c:0xf14,_0x388abb:0x7ad,_0x8a65a:0x8d4,_0x3adacc:0x1230,_0x39f53c:0x85b,_0x36ca63:0x868,_0x45d477:0x973,_0x23b1f2:0xf3b,_0x108c73:0x852,_0x55cb61:0x38c,_0x1a58a5:0xada,_0x1c5962:0x34e,_0xd58dc3:0x2ef,_0x570a5e:0x147a};function _0x853cd8(_0x3e82cb,_0x146e00){return _0x7afdbe(_0x3e82cb,_0x146e00- -0x2e2);}function _0x5d6b83(_0x2c3d06,_0x3ee861){return _0x7afdbe(_0x2c3d06,_0x3ee861- -0x1a4);}if(this['_positions_draw'][_0x853cd8(_0x4a0b34._0x1837da,_0x4a0b34._0x154719)]<0x2)return;this[_0x853cd8(_0x4a0b34._0x27714c,_0x4a0b34._0x388abb)](this['entityGraphic'],!![]);if(!_0x5a9f9c){const _0x9b8b8e=formatNum$1(Cesium__namespace['Cartesian3'][_0x5d6b83(_0x4a0b34._0x8a65a,0x131b)](this[_0x5d6b83(_0x4a0b34._0x3adacc,_0x4a0b34._0x39f53c)][0x0],this['_positions_draw'][0x1]),0x2);if(_0x9b8b8e<0x1)return;if(this[_0x853cd8(_0x4a0b34._0x36ca63,_0x4a0b34._0x45d477)]===0x3){let _0x24ef0e=_0x9b8b8e,_0x5ca5e7=_0x9b8b8e;this['_positions_draw']['length']===0x3&&(_0x5ca5e7=formatNum$1(Cesium__namespace['Cartesian3']['distance'](this['_positions_draw'][0x0],this[_0x5d6b83(0x18e,0x85b)][0x2]),0x2));if(_0x24ef0e>_0x5ca5e7){const _0x5dd47d=_0x24ef0e;_0x24ef0e=_0x5ca5e7,_0x5ca5e7=_0x5dd47d;}this[_0x853cd8(_0x4a0b34._0x23b1f2,0x47a)][_0x5d6b83(-0x495,0x5d1)]=_0x5ca5e7,this['entityGraphic'][_0x5d6b83(_0x4a0b34._0x108c73,0x48e)]=_0x24ef0e,this['style']['semiMajorAxis']=_0x5ca5e7,this[_0x853cd8(-_0x4a0b34._0x55cb61,0x3e8)]['semiMinorAxis']=_0x24ef0e;}else this['entityGraphic']['semiMajorAxis']=_0x9b8b8e,this['entityGraphic']['semiMinorAxis']=_0x9b8b8e,this['style']['radius']=_0x9b8b8e;}this[_0x853cd8(_0x4a0b34._0x1a58a5,0x14fe)]&&(this[_0x853cd8(_0x4a0b34._0x1c5962,_0x4a0b34._0xd58dc3)]=this[_0x5d6b83(0x1879,_0x4a0b34._0x570a5e)](),this['_updateOutlineToCallback']());}[_0x7afdbe(0x744,0x44e)](_0x40d0d1){const _0x3977e9={_0x2d372e:0x1a2,_0x45dcc3:0x261},_0x491536={_0x30b0d8:0x41};super[_0x5e7342(-_0x3977e9._0x2d372e,_0x3977e9._0x45dcc3)](_0x40d0d1),this[_0x44ff6f(0xbb,-0x2be)]['semiMajorAxis']=0x0;function _0x5e7342(_0x377b59,_0x1e9697){return _0x54a7f1(_0x1e9697-_0x491536._0x30b0d8,_0x377b59);}function _0x44ff6f(_0x24a733,_0x3eed3d){return _0x54a7f1(_0x24a733- -0x473,_0x3eed3d);}this['entityGraphic']['semiMinorAxis']=0x0,this['style']['radius']=0x0;}['getOutlinePositions'](_0x24e14a=!![],_0x22ab43){const _0x5e614b={_0x1d6696:0xb3d,_0x465797:0x116,_0x3d947d:0x22a,_0x4d9e6c:0x5de,_0x2cae42:0x7b,_0x432c7a:0x872,_0x1fa4ce:0xa07,_0x37ec5c:0xad1,_0x30b6ad:0x1186,_0xf2d889:0xad1},_0x4ff3da={_0xee2b0a:0x389},_0x284c70={_0x6f74b7:0x437};var _0x4bce14,_0x4fae1b,_0x540dd8,_0x19b56b;function _0x2b964e(_0x153032,_0x2f2269){return _0x54a7f1(_0x153032- -_0x284c70._0x6f74b7,_0x2f2269);}const _0x523f0d=Cesium__namespace[_0x2b964e(0x9d3,_0x5e614b._0x1d6696)][_0x2b964e(0x1e5,_0x5e614b._0x465797)]();function _0x3aa11b(_0x4ef480,_0x3b7d75){return _0x54a7f1(_0x4ef480- -_0x4ff3da._0xee2b0a,_0x3b7d75);}const _0x224d65=getEllipseOuterPositions({'position':getPositionValue(this[_0x3aa11b(0x2d8,-0x2ed)]['position']),'semiMajorAxis':getCesiumValue((_0x4bce14=this[_0x2b964e(_0x5e614b._0x3d947d,0x5c6)]['ellipse'])===null||_0x4bce14===void 0x0?void 0x0:_0x4bce14['semiMajorAxis'],Number,_0x523f0d),'semiMinorAxis':getCesiumValue((_0x4fae1b=this[_0x3aa11b(0x2d8,-_0x5e614b._0x4d9e6c)][_0x3aa11b(0x872,0x28a)])===null||_0x4fae1b===void 0x0?void 0x0:_0x4fae1b[_0x3aa11b(_0x5e614b._0x2cae42,0xa65)],Number,_0x523f0d),'rotation':getCesiumValue((_0x540dd8=this['_entity'][_0x3aa11b(_0x5e614b._0x432c7a,_0x5e614b._0x1fa4ce)])===null||_0x540dd8===void 0x0?void 0x0:_0x540dd8['rotation'],Number,_0x523f0d)??0x0,'granularity':getCesiumValue((_0x19b56b=this['_entity']['ellipse'])===null||_0x19b56b===void 0x0?void 0x0:_0x19b56b[_0x3aa11b(0xc87,0xa70)],Number,_0x523f0d),'count':_0x22ab43});if(_0x24e14a&&_0x224d65){var _0x18c8fb;_0x224d65[_0x2b964e(_0x5e614b._0x37ec5c,0xd5a)](_0x224d65[0x0]),(this['style'][_0x3aa11b(_0x5e614b._0x30b6ad,0x182a)]>0x4||((_0x18c8fb=this['style']['outlineStyle'])===null||_0x18c8fb===void 0x0?void 0x0:_0x18c8fb['width'])>0x4)&&_0x224d65[_0x2b964e(_0x5e614b._0xf2d889,0x121e)](_0x224d65[0x1]);}return _0x224d65;}['getOutlineCoordinates'](_0x316a6e,_0x227b9a,_0x1eb36b){const _0x1adbec={_0x306e96:0x1598};function _0x5c986f(_0x97d672,_0x3fea72){return _0x54a7f1(_0x3fea72-0x1a8,_0x97d672);}return cartesians2lonlats(this[_0x5c986f(0x1835,_0x1adbec._0x306e96)](_0x316a6e,_0x227b9a),_0x1eb36b);}['_getOutlineStyle'](_0x24f5c8,_0x3264e0){const _0x5f1273={_0x51a718:0xdc0};function _0xc74a49(_0x27820e,_0x54435e){return _0x7afdbe(_0x27820e,_0x54435e-0x19);}const _0x1f9667=super['_getOutlineStyle'](_0x24f5c8,_0x3264e0);return _0x1f9667['arcType']=Cesium__namespace['ArcType'][_0xc74a49(0x16c2,_0x5f1273._0x51a718)],_0x1f9667;}['getRectangle'](_0x2e262c){const _0x53624b={_0x114c89:0x13fb,_0x300286:0x1877},_0x56ef95={_0x4de2e2:0x15d};function _0x457b03(_0x585ffb,_0x4736f6){return _0x54a7f1(_0x585ffb-_0x56ef95._0x4de2e2,_0x4736f6);}const _0x2df6fa=this[_0x4509ad(_0x53624b._0x114c89,0xfb1)](![],0x1);if(!_0x2df6fa||_0x2df6fa['length']===0x0)return;const _0x45d075=getRectangle(_0x2df6fa,_0x2e262c===null||_0x2e262c===void 0x0?void 0x0:_0x2e262c[_0x457b03(_0x53624b._0x300286,0x1c17)]);function _0x4509ad(_0x211b0e,_0x161c3f){return _0x7afdbe(_0x161c3f,_0x211b0e- -0x223);}return _0x45d075;}[_0x54a7f1(0xba7,0x10b7)](_0x4d801a){const _0x3f67ff={_0x34bf24:0x118d,_0x5c07f3:0x100,_0x38bd7c:0x7af,_0x6e0710:0x472},_0x1e4b6e={_0x4558d9:0x193};function _0x38109f(_0x52ec9b,_0x10bb22){return _0x7afdbe(_0x10bb22,_0x52ec9b- -_0x1e4b6e._0x4558d9);}const _0x2a642a=LngLatPoint['fromCartesian'](this[_0xd06753(0xb44,_0x3f67ff._0x34bf24)]);_0x2a642a[_0xd06753(_0x3f67ff._0x5c07f3,0xb18)]=0x0;const _0x10dfc9=LngLatPoint['parse'](_0x4d801a);function _0xd06753(_0x3364cc,_0x5b24cb){return _0x54a7f1(_0x3364cc- -0x355,_0x5b24cb);}_0x10dfc9['alt']=0x0;const _0x5c2516=Cesium__namespace['Cartesian3']['distance'](_0x2a642a[_0xd06753(_0x3f67ff._0x38bd7c,0xa2)](),_0x10dfc9['toCartesian']());return _0x5c2516<=this[_0x38109f(_0x3f67ff._0x6e0710,0x585)];}[_0x7afdbe(0x1f5a,0x1528)](_0x3468a0={}){const _0x213e52={_0x4e47c2:0x4e5,_0x1f23bd:0xe93,_0x1925b8:0x4df},_0xdcfc6a={_0x483fb6:0x47c},_0x433adf={_0x1fa3cf:0x2bc};if(!this['_map'])return Promise['resolve'](![]);function _0x1da5b2(_0x3fc197,_0x2e7d0b){return _0x7afdbe(_0x3fc197,_0x2e7d0b- -_0x433adf._0x1fa3cf);}function _0x196e6c(_0xc089cc,_0x3d9d9d){return _0x54a7f1(_0x3d9d9d- -_0xdcfc6a._0x483fb6,_0xc089cc);}return!Cesium__namespace[_0x196e6c(0xa89,0x1205)](_0x3468a0[_0x1da5b2(-_0x213e52._0x4e47c2,0x349)])&&(_0x3468a0['radius']=this['radius']*0x2*(_0x3468a0[_0x196e6c(0x1389,_0x213e52._0x1f23bd)]||1.8)),this['_map']['flyToPoint'](this[_0x196e6c(_0x213e52._0x1925b8,0x8a0)],_0x3468a0);}}register$5('circle',CircleEntity,!![]);class EditModel extends EditBase{get['position'](){const _0xf6b4c9={_0xd90827:0x13d7};function _0x4658d0(_0x52110b,_0x3527a6){return _0x54a7f1(_0x52110b-0x175,_0x3527a6);}return this[_0x4658d0(_0xf6b4c9._0xd90827,0x19dc)]['_position_draw'];}set[_0x54a7f1(0x16e1,0x145c)](_0x5d7284){const _0x1291ac={_0x4766d0:0x12b8},_0x2c3b34={_0x160dee:0x4f6};function _0xfce5fa(_0x15eca7,_0xa717f2){return _0x7afdbe(_0xa717f2,_0x15eca7- -0x353);}function _0x484538(_0x2534c1,_0x4e1847){return _0x7afdbe(_0x2534c1,_0x4e1847- -_0x2c3b34._0x160dee);}this[_0x484538(0x1399,0xf9a)][_0xfce5fa(_0x1291ac._0x4766d0,0x10e3)]=_0x5d7284;}[_0x54a7f1(0xc5d,0xacc)](_0x810d88){return this['clampToGround']&&(_0x810d88=getSurfacePosition(this['_map']['scene'],_0x810d88)),_0x810d88;}[_0x54a7f1(0x2f2,-0x611)](){const _0x2775e1={_0x26dbc7:0x969,_0xaa57e1:0x167d,_0x43e985:0x1549,_0x1ed7d9:0x5f,_0x329add:0x603,_0xbdee17:0x440,_0x270708:0xb91,_0x101f4a:0x12b3,_0x498ecf:0xdf7,_0x1ab33e:0x373,_0x2943f9:0x809,_0x458bca:0x106f,_0x3f8a89:0xf52,_0x10b6c6:0x76f,_0x566f08:0x1796,_0x2f869e:0x142a,_0x5a28a1:0xe60,_0x607688:0x593,_0x1da681:0x1bd7,_0x1983dd:0x14c6,_0xacd072:0xf75},_0x5993a0={_0x138233:0x14ff,_0x573c02:0xc98,_0x365b59:0x1035},_0x333a50={_0x44263e:0x13d},_0x2a1299={_0x306a7a:0x581,_0x15314b:0x223,_0x44628a:0x29,_0x4b4b8d:0x2e8,_0x469660:0xa6e},_0x2ead18={_0x4fd95d:0x64c},_0x452fde={_0x4d6096:0x2b3},_0x422c2d={_0x31478a:0x2fb},_0x1e5fc2={_0x5eb1da:0x1d7},_0x7e69e4={_0x45c0f2:0x18e};this[_0x1f10e6(0x1631,0x11ba)]['_draw_tooltip']=this['_map']['getLangText'](_0x1f10e6(0x131,0x6ed))+_0x1f10e6(-0xae,0x737)+this['_map'][_0x145c5d(0x10ca,0xfbe)](_0x145c5d(0xf9b,_0x2775e1._0x26dbc7)),this[_0x145c5d(0x607,0x4bb)]({'dragger':this['_graphic'],'onDragStart':(_0x2185db,_0x471e2d)=>{function _0x564f80(_0x2d11d2,_0x3619ac){return _0x1f10e6(_0x2d11d2,_0x3619ac- -0x79);}function _0x140634(_0x4129f8,_0x4435d7){return _0x1f10e6(_0x4435d7,_0x4129f8- -0x358);}for(let _0x5cac57=0x0,_0x45937b=this[_0x140634(0xf69,0x16b2)]['length'];_0x5cac57<_0x45937b;_0x5cac57++){this['draggers'][_0x5cac57][_0x140634(0x11f3,0xbde)]=![];}},'onDrag':(_0x521caf,_0x3473c0)=>{this['position']=_0x3473c0;},'onDragEnd':(_0x5bbfb9,_0x26feb7)=>{this['updateDraggers']();}});const _0x5b1977=this['style']['radius'],_0x2e5c6c=this[_0x1f10e6(0x92d,0xbb5)](this[_0x145c5d(0x205b,_0x2775e1._0xaa57e1)]);function _0x145c5d(_0x2dc6ed,_0xdcf34f){return _0x7afdbe(_0x2dc6ed,_0xdcf34f- -0x292);}if(this[_0x1f10e6(_0x2775e1._0x43e985,0x10e5)]){const _0x100d01=_0x2e5c6c&&Cesium__namespace['Cartographic']['fromCartesian'](_0x2e5c6c)[_0x145c5d(_0x2775e1._0x1ed7d9,_0x2775e1._0x329add)],_0x43be43={};_0x43be43['fill']=![],_0x43be43[_0x145c5d(0x1589,0x13d4)]=!![],_0x43be43[_0x145c5d(-0x1a2,0x7d5)]=_0x1f10e6(-0xcd,_0x2775e1._0xbdee17),_0x43be43[_0x1f10e6(_0x2775e1._0x270708,_0x2775e1._0x101f4a)]=0.8,_0x43be43[_0x145c5d(_0x2775e1._0x498ecf,_0x2775e1._0x1ab33e)]=_0x5b1977,_0x43be43['height']=_0x100d01,this['entityAngle']=new CircleEntity({'name':'角度调整底部圆','position':new Cesium__namespace['CallbackProperty'](_0x5b9dce=>{return _0x2e5c6c;},![]),'style':_0x43be43,'private':!![]}),this[_0x1f10e6(_0x2775e1._0x2943f9,0x1272)][_0x1f10e6(_0x2775e1._0x458bca,0xf27)](this['entityAngle']);const _0x1e6fce=getPositionByDirectionAndLen(_0x2e5c6c,this['style']['heading'],_0x5b1977),_0x251831=this['createDragger']({'position':_0x1e6fce,'type':EditPointType['EditAttr'],'tooltip':this[_0x145c5d(_0x2775e1._0x3f8a89,_0x2775e1._0x10b6c6)]['getLangText'](_0x1f10e6(_0x2775e1._0x566f08,_0x2775e1._0x2f869e)),'onDrag':(_0x45f4c9,_0x1969a1)=>{const _0x158246=getAngle(_0x2e5c6c,_0x1969a1);this[_0x48cdc8(0x98c,0x261)]['heading']=formatNum$1(_0x158246,0x2),_0x45f4c9['position']=getPositionByDirectionAndLen(_0x2e5c6c,this['style']['heading'],this['style'][_0x30e7c5(-_0x422c2d._0x31478a,0x1e5)]);function _0x30e7c5(_0x38d8f2,_0x22bde3){return _0x145c5d(_0x38d8f2,_0x22bde3- -_0x7e69e4._0x45c0f2);}function _0x48cdc8(_0x193a9a,_0x3bc2be){return _0x145c5d(_0x193a9a,_0x3bc2be- -_0x1e5fc2._0x5eb1da);}this[_0x30e7c5(0xa84,0x1070)]['updateOrientation'](_0x2e5c6c);}});this['draggers'][_0x1f10e6(0x45b,_0x2775e1._0x5a28a1)](_0x251831);}function _0x1f10e6(_0xc5741e,_0x330f14){return _0x54a7f1(_0x330f14- -0xa8,_0xc5741e);}if(this['_hasEditScale']&&!this[_0x1f10e6(_0x2775e1._0x607688,0xe42)]){const _0x3d115b=addPositionsHeight(_0x2e5c6c,_0x5b1977),_0x3b9b83=this['createDragger']({'position':_0x3d115b,'type':EditPointType['MoveHeight'],'tooltip':this['_map'][_0x145c5d(0x113e,0xfbe)](_0x1f10e6(_0x2775e1._0x1da681,_0x2775e1._0x1983dd)),'onDragStart':(_0xdf3975,_0x3a4d8a)=>{function _0xb5a556(_0x54e8c2,_0x1d8c80){return _0x1f10e6(_0x1d8c80,_0x54e8c2-0x1b4);}this[_0x583558(0x6f5,-0x362)]&&(this[_0x583558(0x6f5,0x7d)]['show']=![]);function _0x583558(_0x4400d6,_0x447606){return _0x1f10e6(_0x447606,_0x4400d6- -_0x452fde._0x4d6096);}for(let _0x25227f=0x0,_0x2d21f8=this[_0x583558(0x100e,_0x2ead18._0x4fd95d)]['length'];_0x25227f<_0x2d21f8;_0x25227f++){this['draggers'][_0x25227f][_0xb5a556(0x16ff,0x146c)]=![];}},'onDrag':(_0x58e765,_0x4bb699)=>{function _0x16128b(_0x57ca30,_0x2cc754){return _0x1f10e6(_0x2cc754,_0x57ca30- -0x10c);}const _0x4c45c0=Cesium__namespace[_0x16128b(0x1133,0x6af)]['distance'](_0x4bb699,_0x2e5c6c);function _0x3a592b(_0x2742f5,_0x313210){return _0x1f10e6(_0x313210,_0x2742f5-0x18d);}const _0x13a876=_0x58e765['radius']/(this['style']['scale']||0x1);let _0x51b93f=formatNum$1(_0x4c45c0/_0x13a876,0x3);if(isNaN(_0x51b93f))return;_0x51b93f<=0x0&&(_0x51b93f=0.001),this[_0x3a592b(_0x2a1299._0x306a7a,0x9c)]['scale']=_0x51b93f,this['entityGraphic'][_0x3a592b(0x13f4,0xc5d)]=_0x51b93f,_0x58e765[_0x16128b(_0x2a1299._0x15314b,_0x2a1299._0x44628a)]=_0x4c45c0,this[_0x16128b(_0x2a1299._0x4b4b8d,_0x2a1299._0x469660)][_0x16128b(0x223,-0x105)]=_0x4c45c0;},'onDragEnd':(_0x211d54,_0x2f879e)=>{function _0x174c67(_0x1ffa80,_0x1a9e05){return _0x1f10e6(_0x1ffa80,_0x1a9e05- -0x36f);}this[_0x3abb8d(_0x5993a0._0x138233,_0x5993a0._0x573c02)]();function _0x3abb8d(_0x3e0081,_0x2fac6d){return _0x145c5d(_0x2fac6d,_0x3e0081-_0x333a50._0x44263e);}this['fire'](EventType[_0x3abb8d(0x157d,_0x5993a0._0x365b59)]);}});_0x3b9b83['radius']=_0x5b1977,this[_0x1f10e6(_0x2775e1._0xacd072,0x12c1)]['push'](_0x3b9b83);}}['destroyDraggers'](){super['destroyDraggers'](),this['entityAngle']&&(this['layer']['removeGraphic'](this['entityAngle'],!![]),delete this['entityAngle']);}[_0x54a7f1(0xb73,0xb3)](_0x2427c5){const _0x29fe64={_0x5de500:0x544,_0x3c0cb7:0xb5e,_0x5417fb:0xd3f,_0xd377b4:0x66c,_0x34a6a4:0x5e9,_0x316adf:0xc87,_0x26fc36:0xf93,_0x2c9231:0xb6d,_0x8f3dea:0xf3f,_0x3c21e4:0x882,_0x2d51de:0xb5b,_0x334dd5:0xb6d,_0x4bfb6e:0x1332},_0x22d046={_0x3a2198:0x1054},_0x39546e={_0x17ab60:0x7b1},_0x2849d3={_0x1f42e4:0x129a,_0x34adab:0x16d8,_0x1366d9:0x371,_0x3866d3:0x7a7},_0x308aba={_0x1d3aa5:0x50c},_0x482fdd={_0x33be3f:0xcd8},_0x41ee10={_0x3b71c4:0x8e3},_0x3a9e90={_0x47f923:0xc33,_0x297a1a:0xf25,_0xe2c42f:0x34a},_0x547a41={_0x4bb5b6:0xd16,_0x1e6913:0x417},_0x15d715={_0x560c81:0x8d},_0xad139b=super['getDraggerContextMenu'](_0x2427c5);function _0x5d8343(_0x388b12,_0x3ba544){return _0x54a7f1(_0x388b12- -0x39b,_0x3ba544);}(this[_0x5d8343(0x101,_0x29fe64._0x5de500)]['hasEditRotate']??!![])&&(_0xad139b[_0x4393e1(0xeed,_0x29fe64._0x3c0cb7)]({'text':this['_map']['getLangText'](_0x5d8343(_0x29fe64._0x5417fb,_0x29fe64._0xd377b4)),'icon':Icon['BloomEffectYes'],'show':_0x5f00b7=>{function _0x117f03(_0x419171,_0x1da61b){return _0x4393e1(_0x1da61b-_0x15d715._0x560c81,_0x419171);}function _0x2f0c8e(_0x47ee32,_0x390430){return _0x4393e1(_0x47ee32-0x1b0,_0x390430);}if(this[_0x2f0c8e(0x968,_0x547a41._0x4bb5b6)]['scene']['mode']!==Cesium__namespace['SceneMode'][_0x117f03(0x156b,0x15d9)])return![];return!this['_matrixRotate']||this['_matrixRotate'][_0x2f0c8e(0x857,_0x547a41._0x1e6913)]!==_0x2427c5['index'];},'callback':_0x12806f=>{const _0x3e8c29={_0x27e172:0x133};this['entityAngle']&&(this[_0x2fb8a1(0xe34,0x107d)]['removeGraphic'](this['entityAngle'],!![]),delete this['entityAngle'],this[_0x53c500(_0x3a9e90._0x47f923,_0x3a9e90._0x297a1a)]=![],this['updateDraggers']());function _0x2fb8a1(_0x15ee60,_0x3d66ff){return _0x4393e1(_0x3d66ff- -0x282,_0x15ee60);}function _0x53c500(_0x3340f5,_0x15244c){return _0x5d8343(_0x15244c-_0x3e8c29._0x27e172,_0x3340f5);}this[_0x2fb8a1(0xdc4,_0x3a9e90._0xe2c42f)](_0x12806f['graphic'],_0x12806f);}}),_0xad139b['push']({'text':this[_0x4393e1(0x7b8,_0x29fe64._0x34a6a4)][_0x5d8343(_0x29fe64._0x316adf,0xd7d)]('_停止按轴旋转'),'icon':Icon['BloomEffectNo'],'show':_0x2a09bb=>{const _0x5ef65b={_0x83aaee:0x5bc};function _0x178a80(_0x151806,_0x3dc8c9){return _0x4393e1(_0x151806-0x209,_0x3dc8c9);}function _0x279a29(_0x44055d,_0x55c59f){return _0x5d8343(_0x55c59f-_0x5ef65b._0x83aaee,_0x44055d);}return this['_matrixRotate']&&this[_0x178a80(0x1632,0x1960)][_0x279a29(0xf4,_0x41ee10._0x3b71c4)]===_0x2427c5['index'];},'callback':_0x21c127=>{function _0x225688(_0x56f1b7,_0x1e3b3e){return _0x4393e1(_0x1e3b3e- -0x434,_0x56f1b7);}this[_0x225688(0x21,0x2d5)]();}}));!Cesium__namespace[_0x4393e1(0x1666,0x11e1)](this[_0x4393e1(0x1172,0xd79)])&&(this['_hasEditHeading']=this[_0x4393e1(0x895,_0x29fe64._0x26fc36)]['hasEditHeading']??![]);function _0x4393e1(_0xcbc2a9,_0x1fa8ac){return _0x7afdbe(_0x1fa8ac,_0xcbc2a9- -0x249);}return _0xad139b[_0x5d8343(_0x29fe64._0x2c9231,0x249)]({'text':'编辑方向','icon':Icon[_0x4393e1(_0x29fe64._0x8f3dea,0xfff)],'show':_0x2da54d=>{function _0x569a6c(_0x786b90,_0x3684bc){return _0x4393e1(_0x3684bc- -0x1a9,_0x786b90);}return!this[_0x569a6c(_0x482fdd._0x33be3f,0xfc9)];},'callback':_0x47464e=>{this['stopRotateMatrix'](),this['_hasEditHeading']=!![],this['updateDraggers']();}}),_0xad139b['push']({'text':'停止编辑方向','icon':Icon['DrawCircle'],'show':_0x24ce1e=>{function _0x356033(_0x2340ac,_0x84da6b){return _0x4393e1(_0x2340ac- -0xdd,_0x84da6b);}return this[_0x356033(0x1095,0x61e)];},'callback':_0x315be5=>{this['_hasEditHeading']=![],this['updateDraggers']();}}),!Cesium__namespace[_0x5d8343(0x12e6,_0x29fe64._0x3c21e4)](this[_0x5d8343(0x880,-0x20f)])&&(this[_0x4393e1(0xc00,0xe28)]=this['options'][_0x4393e1(0xf55,0xe86)]??![]),_0xad139b[_0x5d8343(0xb6d,0xca1)]({'text':this['_map'][_0x5d8343(0xc87,_0x29fe64._0x2d51de)](_0x4393e1(0x4a1,-0xf7)),'icon':Icon['UndergroundYes'],'show':_0x1ab9f9=>{if(this['_map']['scene']['mode']!==Cesium__namespace[_0x262726(0x4b1,0x45e)][_0x278673(_0x2849d3._0x1f42e4,_0x2849d3._0x34adab)])return![];function _0x278673(_0x1de0f5,_0x259d1f){return _0x5d8343(_0x259d1f-_0x308aba._0x1d3aa5,_0x1de0f5);}function _0x262726(_0x4d405b,_0x479b59){return _0x4393e1(_0x479b59- -0x459,_0x4d405b);}return!this[_0x262726(_0x2849d3._0x1366d9,_0x2849d3._0x3866d3)];},'callback':_0x2bf466=>{this['_hasEditScale']=!![],this['updateDraggers']();}}),_0xad139b[_0x5d8343(_0x29fe64._0x334dd5,_0x29fe64._0x4bfb6e)]({'text':this['_map']['getLangText']('_停止调整比例'),'icon':Icon['UndergroundNo'],'show':_0x4b30f3=>{function _0x483a10(_0x4fe148,_0x26042){return _0x4393e1(_0x26042- -0x44f,_0x4fe148);}return this[_0x483a10(0xaff,_0x39546e._0x17ab60)];},'callback':_0x290240=>{this[_0xaa9845(0x7b9,_0x22d046._0x3a2198)]=![];function _0xaa9845(_0x48c8e7,_0x2eb517){return _0x4393e1(_0x48c8e7- -0x447,_0x2eb517);}this['updateDraggers']();}}),_0xad139b;}['finish'](){const _0x2ef365={_0x91b69c:0xdd8,_0x56d81d:0x16b8,_0x180f86:0x3c};delete this[_0x39046f(0x8be,0xde8)][_0x39046f(0x49,-0x93)],delete this[_0x4c5826(0x631,_0x2ef365._0x91b69c)][_0x4c5826(0x77d,0x7d6)],delete this['_graphic']['_noMousePick'];function _0x39046f(_0x292575,_0x2af786){return _0x7afdbe(_0x292575,_0x2af786- -0x6a8);}function _0x4c5826(_0x2471ef,_0x1a0d12){return _0x54a7f1(_0x1a0d12- -0x48a,_0x2471ef);}delete this[_0x39046f(_0x2ef365._0x56d81d,0xde8)]['_pointType'],delete this[_0x39046f(0xee3,0xde8)][_0x39046f(0x416,-_0x2ef365._0x180f86)];}}class ModelEntity extends BasePointEntity{constructor(_0x539e28={}){const _0x5e944e={_0xc289f3:0xdb4,_0xf30179:0x579},_0xa29c73={_0x2ecc8d:0x35d};function _0x56399c(_0x564825,_0x1c0bfa){return _0x7afdbe(_0x1c0bfa,_0x564825- -_0xa29c73._0x2ecc8d);}super(_0x539e28),this[_0x144e4a(0x27,0x63e)][_0x56399c(0x2a8,-0x192)]=this['style'][_0x144e4a(_0x5e944e._0xc289f3,_0x5e944e._0xf30179)]??0x32;function _0x144e4a(_0x45793c,_0x44ab2a){return _0x54a7f1(_0x44ab2a-0x1a2,_0x45793c);}this['_readyPromise']=Cesium__namespace[_0x56399c(0xfe6,0x846)]();}get[_0x54a7f1(0x52e,0xca2)](){var _0x3eff0e;return(_0x3eff0e=this['_entity'])===null||_0x3eff0e===void 0x0?void 0x0:_0x3eff0e['model'];}get[_0x7afdbe(0x19be,0x191a)](){return EditModel;}get['scale'](){const _0x5d3e61={_0x5216d9:0x154e};function _0x2c54ad(_0x46c274,_0x1f2190){return _0x54a7f1(_0x1f2190-0x23f,_0x46c274);}return this['style'][_0x2c54ad(0x1817,_0x5d3e61._0x5216d9)]??0x1;}set[_0x7afdbe(0x1020,0x153d)](_0x2de0fb){const _0x4983a9={_0xa96f81:0x1c1c},_0x41eb50={_0x46ed7d:0x295};this['style']['scale']=_0x2de0fb;function _0x1aad7a(_0x193cc8,_0x229b3c){return _0x54a7f1(_0x229b3c-_0x41eb50._0x46ed7d,_0x193cc8);}const _0x438533={};_0x438533[_0x1aad7a(_0x4983a9._0xa96f81,0x15a4)]=_0x2de0fb,this['_updateStyleHook'](this['style'],_0x438533);}get['splitDirection'](){const _0x23dd43={_0x343ca1:0x5eb,_0x5e872d:0xc8},_0x381b5b={_0x524cc0:0x384};function _0x5707ca(_0x495fc6,_0x27abb6){return _0x54a7f1(_0x495fc6- -0x192,_0x27abb6);}function _0x58c1ba(_0x383320,_0x177ade){return _0x7afdbe(_0x383320,_0x177ade- -_0x381b5b._0x524cc0);}return this[_0x5707ca(0x71e,_0x23dd43._0x343ca1)][_0x5707ca(0x1aa,_0x23dd43._0x5e872d)];}set['splitDirection'](_0x1d0965){this['options']['splitDirection']=_0x1d0965;function _0x1d3d84(_0x30b1cf,_0x4773ab){return _0x7afdbe(_0x30b1cf,_0x4773ab- -0x518);}this['_entity']&&(this[_0x1d3d84(0x7f1,0x377)]['splitDirection']=_0x1d0965);}get['readyPromise'](){const _0xba3f06={_0x1c0663:0xaa},_0xf20de4={_0x30bc87:0x22b};function _0x30d585(_0x58f97f,_0x55dc60){return _0x54a7f1(_0x58f97f- -_0xf20de4._0x30bc87,_0x55dc60);}return this['_readyPromise'][_0x30d585(0x10b,_0xba3f06._0x1c0663)];}['_mountedHook'](){const _0x518780={_0x481ff4:0x1245,_0x208111:0x3ad,_0x3367b0:0x3c6,_0xaf07cc:0x6c7,_0x3a1f1e:0x1305,_0xdad7b7:0x8ef,_0x174cf8:0xcf1,_0x1a3102:0x3d0,_0x68773c:0x1e1,_0x13d7dc:0xc20,_0x8c9bc7:0x1527,_0x43af02:0x174b,_0x27e215:0x1ae,_0x201dc5:0x15b5,_0x5c6149:0x270,_0x27338f:0x204,_0x17c6bb:0x6fa,_0x3014a1:0x1181,_0xcdadeb:0x18db,_0x38d6d6:0x842,_0x48e626:0x1f1,_0x2edf98:0xc60,_0x109739:0xf71,_0x2b55f3:0x1200,_0x504fbe:0x6eb,_0x488f61:0x7e4,_0x5b1c97:0x3e1,_0x6581a7:0xd26,_0x1fb525:0xc50,_0x5aea93:0x14ad,_0x6ed6:0x5f8,_0x405a67:0x32c,_0xb20947:0x82c},_0x2bb746={_0x2528e9:0x4ea},_0x38e3b7={_0x585816:0x1471,_0x5ecd35:0x1c36,_0x4d17ef:0x129a,_0x3019d2:0x37d,_0x430464:0xd34,_0x185fcc:0x11d8,_0x3caabd:0x621,_0xb77c76:0x37,_0x410313:0x54a},_0x483ac3={};_0x483ac3['occlusion']=this['style'][_0x2898b8(_0x518780._0x481ff4,0xed8)];const _0x93ab87=_0x483ac3;isMars3DCesium&&(this[_0x2898b8(0xe48,0x11b5)]=![],this['fire'](EventType[_0x2898b8(_0x518780._0x208111,0x45c)],{'url':this[_0x95d318(_0x518780._0x3367b0,0xd19)]['url']}),this['_draw_tooltip']=this[_0x2898b8(0x707,_0x518780._0xaf07cc)][_0x2898b8(0xf56,_0x518780._0x3a1f1e)]('_加载模型中'),_0x93ab87['callback']=(_0x250d2a,_0x167855)=>{var _0x1baa9c;delete this['_draw_tooltip'],this['loadOk']=!![],this[_0x816f60(_0x38e3b7._0x585816,0x1dd3)]=_0x167855;(_0x1baa9c=this['_layer'])!==null&&_0x1baa9c!==void 0x0&&_0x1baa9c[_0x816f60(0x1704,_0x38e3b7._0x5ecd35)]&&delete this[_0x3a1984(_0x38e3b7._0x4d17ef,0x1ba5)]['_objectsToExclude_auto'];_0x167855[_0x3a1984(_0x38e3b7._0x3019d2,_0x38e3b7._0x430464)]['radius']<(this['style'][_0x816f60(0xb58,_0x38e3b7._0x185fcc)],0x3e8)&&(this['style']['radius']=_0x167855['boundingSphere'][_0x816f60(0x4c1,0x3c1)]);function _0x3a1984(_0x1bbe4a,_0xdd0de4){return _0x2898b8(_0x1bbe4a- -0x2c7,_0xdd0de4);}function _0x816f60(_0x11e609,_0x54a9b6){return _0x2898b8(_0x11e609-0x1b6,_0x54a9b6);}this['fire'](EventType[_0x816f60(_0x38e3b7._0x3caabd,_0x38e3b7._0xb77c76)],{'drawType':this[_0x3a1984(0x4a3,_0x38e3b7._0x410313)],'entity':_0x250d2a,'model':_0x167855,'graphic':this},!![]),this[_0x816f60(0x39b,0xbce)]['resolve'](this);});const _0x1f3aaf={'position':this['position'],'orientation':this['getOrientation'](),'model':ModelStyleConver[_0x95d318(_0x518780._0xdad7b7,_0x518780._0x174cf8)](this[_0x2898b8(_0x518780._0x1a3102,0x312)],{},!![])};!_0x1f3aaf['model']['uri']&&this[_0x95d318(0x3c6,0xdc3)]['url']&&(_0x1f3aaf['model']['uri']=this['options']['url'],_0x1f3aaf[_0x95d318(_0x518780._0x68773c,_0x518780._0x13d7dc)][_0x2898b8(_0x518780._0x8c9bc7,_0x518780._0x43af02)]=!![]);!Cesium__namespace['defined'](_0x1f3aaf[_0x95d318(-_0x518780._0x27e215,-0x4e7)])&&Cesium__namespace[_0x2898b8(_0x518780._0x201dc5,0x19a3)](this['_layer']['splitDirection'])&&(_0x1f3aaf[_0x2898b8(_0x518780._0x5c6149,-_0x518780._0x27338f)]=this[_0x95d318(0x1143,_0x518780._0x17c6bb)][_0x2898b8(0x270,0x459)]);const _0x20f1d1=this['style']['label'];_0x20f1d1&&(Cesium__namespace[_0x95d318(0x1197,_0x518780._0x3014a1)](this['style']['clampToGround'])&&!Cesium__namespace['defined'](_0x20f1d1['clampToGround'])&&(_0x20f1d1['clampToGround']=this['style'][_0x2898b8(0x149d,_0x518780._0xcdadeb)]),Cesium__namespace['defined'](_0x20f1d1['setHeight'])||Cesium__namespace['defined'](_0x20f1d1['addHeight'])?this['_addLabel'](_0x20f1d1):_0x1f3aaf[_0x2898b8(0xfee,0x5e9)]=LabelStyleConver['toCesiumVal'](_0x20f1d1,{},this['attr']));this[_0x95d318(0x3c6,-0x126)]['billboard']&&(_0x1f3aaf[_0x95d318(_0x518780._0x38d6d6,_0x518780._0x48e626)]=BillboardStyleConver['toCesiumVal'](this['options'][_0x2898b8(_0x518780._0x2edf98,0xc14)],{},!![]));function _0x2898b8(_0x546b77,_0x33ce6f){return _0x54a7f1(_0x546b77- -0xcc,_0x33ce6f);}this['options'][_0x2898b8(0xc50,0xcfd)]&&(_0x1f3aaf['point']=PointStyleConver[_0x2898b8(0xd0d,0x2d0)](this['options']['point'],{},!![]));this['options'][_0x95d318(0xac1,0x80b)]&&(_0x1f3aaf['ellipse']=CircleStyleConver[_0x95d318(_0x518780._0xdad7b7,_0x518780._0x109739)](this[_0x2898b8(0x7e4,_0x518780._0x2b55f3)]['circle'],{},!![]));if(this['options'][_0x2898b8(_0x518780._0x504fbe,0x84f)]){const _0x384e9e=PathStyleConver['toCesiumVal'](this['options'][_0x2898b8(0x6eb,-0x167)],{},!![]);!_0x384e9e['isAll']&&(_0x384e9e['leadTime']=0x0),_0x1f3aaf['path']=_0x384e9e,!this[_0x2898b8(_0x518780._0x488f61,_0x518780._0x5b1c97)]['availability']&&this['_setAutoAvailability'](_0x1f3aaf);}if(this['style']['distanceDisplayCondition']){if(this[_0x95d318(-0x4e,-0xa72)]['distanceDisplayPoint'])_0x1f3aaf['point']=PointStyleConver[_0x2898b8(0xd0d,0x6c9)](this[_0x2898b8(0x3d0,_0x518780._0x6581a7)]['distanceDisplayPoint']),_0x1f3aaf[_0x2898b8(_0x518780._0x1fb525,0x813)]['distanceDisplayCondition']=this[_0x2898b8(_0x518780._0x5aea93,0xb62)](this['style'][_0x2898b8(_0x518780._0x6ed6,0x187)]);else this['style']['distanceDisplayBillboard']&&(_0x1f3aaf[_0x2898b8(_0x518780._0x2edf98,0xe70)]=BillboardStyleConver[_0x95d318(0x8ef,0x1007)](this['style']['distanceDisplayBillboard']),_0x1f3aaf['billboard']['distanceDisplayCondition']=this['_getTargetDistanceDisplayCondition'](this[_0x95d318(-0x4e,_0x518780._0x405a67)][_0x95d318(_0x518780._0xb20947,0x5ab)]));}function _0x95d318(_0x284bea,_0x15afca){return _0x54a7f1(_0x284bea- -_0x2bb746._0x2528e9,_0x15afca);}_0x1f3aaf[_0x2898b8(0x5ff,-0x208)]['marsOptions']=_0x93ab87,this[_0x95d318(0x177,-0x4b4)]=this['_createEntity'](_0x1f3aaf);}['_removedHook'](){const _0x415585={_0xf36187:0xd35,_0x13a5d4:0x15a5};function _0x3ab0ab(_0x4b2b7c,_0xa41435){return _0x54a7f1(_0x4b2b7c-0x14,_0xa41435);}this[_0x3ab0ab(_0x415585._0xf36187,_0x415585._0x13a5d4)](),super['_removedHook']();}['_style2Json'](_0x198091,_0x55f2fc){const _0x109141={_0x41f625:0x1268,_0x46e985:0xcd7,_0x469fa7:0x10b2,_0x2df67f:0x98a,_0x4aa7db:0x43b,_0x1d3963:0xc43,_0x55ebc4:0xd2c,_0x5d7781:0xa8d},_0x1ffcba={_0x36e7ca:0x4b7};_0x55f2fc=ModelStyleConver[_0x5cd42c(_0x109141._0x41f625,_0x109141._0x46e985)](_0x198091,_0x55f2fc,!![]);function _0x84e044(_0x317f31,_0x19f620){return _0x7afdbe(_0x317f31,_0x19f620- -_0x1ffcba._0x36e7ca);}function _0x5cd42c(_0x26eb28,_0x272d24){return _0x7afdbe(_0x272d24,_0x26eb28- -0x301);}if(this['style']['distanceDisplayPoint'])_0x55f2fc['distanceDisplayPoint']=PointStyleConver[_0x84e044(0x14a0,_0x109141._0x469fa7)](this['style']['distanceDisplayPoint'],_0x55f2fc[_0x84e044(_0x109141._0x2df67f,_0x109141._0x4aa7db)],!![]);else this['style'][_0x5cd42c(_0x109141._0x1d3963,0x884)]&&(_0x55f2fc['distanceDisplayBillboard']=BillboardStyleConver['toJSON'](this['style']['distanceDisplayBillboard'],_0x55f2fc[_0x84e044(_0x109141._0x55ebc4,_0x109141._0x5d7781)],!![]));return _0x55f2fc;}['_updateStyleHook'](_0x1f8074,_0x47ca73){const _0x106b6a={_0x5903e4:0x60b,_0xe3cf74:0x3de,_0x45f781:0xf0,_0x3f1b9f:0xe,_0x20c0cd:0x440,_0x41c055:0x1744,_0x3b7896:0x1213,_0x445c52:0x891,_0x3cd358:0xc7c,_0x3f39cb:0x140e,_0x32e9c8:0x1038,_0x70a0ae:0x223,_0x202941:0xc7c,_0x1b7513:0x1215,_0x5b7f47:0x8de,_0x3f4ad5:0x5e,_0x1847fc:0x32c,_0x22cd66:0x11cb,_0x576b6a:0x113b,_0x475cc8:0x8c1,_0x2abed2:0x223,_0x38e3d7:0xa46},_0x298f86={_0x3b68c1:0x646};function _0x33c166(_0x1bea5a,_0x570aa4){return _0x7afdbe(_0x570aa4,_0x1bea5a- -_0x298f86._0x3b68c1);}var _0x3bf91;if(_0x47ca73['url']&&this['show']&&((_0x3bf91=this['entityGraphic']['uri'])===null||_0x3bf91===void 0x0?void 0x0:_0x3bf91['_value'])!==_0x47ca73[_0x33c166(_0x106b6a._0x5903e4,0x9af)]){this['loadOk']=![],this[_0xecf39c(-_0x106b6a._0xe3cf74,_0x106b6a._0x45f781)]['_readyOk']=![];const _0x5b0dcc={};_0x5b0dcc['url']=_0x47ca73===null||_0x47ca73===void 0x0?void 0x0:_0x47ca73['url'],this['fire'](EventType['loadBefore'],_0x5b0dcc);}ModelStyleConver['toCesiumVal'](_0x1f8074,this[_0x33c166(0x116,_0x106b6a._0x3f1b9f)],!![]);function _0xecf39c(_0x3770bb,_0x57d6a7){return _0x7afdbe(_0x3770bb,_0x57d6a7- -0x66c);}this['_entity']['orientation']=this[_0x33c166(_0x106b6a._0x20c0cd,0xb4)]();Cesium__namespace['defined'](_0x1f8074['clampToGround'])&&this['_position_draw']&&(this['_position_draw']['z']+=0.01);if(_0x47ca73!==null&&_0x47ca73!==void 0x0&&_0x47ca73[_0xecf39c(_0x106b6a._0x41c055,0xc7c)]){Cesium__namespace['defined'](_0x1f8074[_0x33c166(0x1151,0x1a04)])&&!Cesium__namespace['defined'](_0x1f8074['label']['clampToGround'])&&(_0x1f8074['label']['clampToGround']=_0x1f8074[_0xecf39c(_0x106b6a._0x3b7896,0x112b)]);if(Cesium__namespace[_0x33c166(0x1269,0x11ea)](_0x1f8074[_0xecf39c(_0x106b6a._0x445c52,_0x106b6a._0x3cd358)][_0xecf39c(_0x106b6a._0x3f39cb,0xfa9)])||Cesium__namespace[_0x33c166(0x1269,0x1a3f)](_0x1f8074[_0x33c166(0xca2,_0x106b6a._0x32e9c8)]['addHeight'])){var _0x75938d;(_0x75938d=this[_0xecf39c(-0x6db,_0x106b6a._0x70a0ae)])!==null&&_0x75938d!==void 0x0&&_0x75938d['label']&&(this['_entity']['label']['show']=![]),this['_addLabel'](_0x1f8074['label']);}else this['_entity']['label']=this[_0xecf39c(0x60,0x223)][_0xecf39c(0x1736,_0x106b6a._0x202941)]||{},LabelStyleConver['toCesiumVal'](_0x1f8074['label'],this[_0xecf39c(0x996,0x223)]['label'],this['attr']);}if(this['style']['distanceDisplayCondition']){var _0x48aefa;if(_0x47ca73['distanceDisplayPoint']&&this['_entity'][_0xecf39c(_0x106b6a._0x1b7513,_0x106b6a._0x5b7f47)])PointStyleConver['toCesiumVal'](this[_0xecf39c(0x918,_0x106b6a._0x3f4ad5)]['distanceDisplayPoint'],this['_entity']['point']),this[_0xecf39c(0x1e2,0x223)][_0xecf39c(_0x106b6a._0x1847fc,0x8de)]['distanceDisplayCondition']=this[_0xecf39c(_0x106b6a._0x22cd66,_0x106b6a._0x576b6a)](this[_0x33c166(0x84,-0x663)]['distanceDisplayPoint']);else _0x47ca73['distanceDisplayBillboard']&&(_0x48aefa=this['_entity'])!==null&&_0x48aefa!==void 0x0&&_0x48aefa[_0x33c166(0x914,_0x106b6a._0x475cc8)]&&(BillboardStyleConver['toCesiumVal'](this[_0xecf39c(0x4eb,0x5e)]['distanceDisplayBillboard'],this[_0xecf39c(0x57,0x223)]['billboard']),this[_0xecf39c(0xb7f,_0x106b6a._0x2abed2)]['billboard'][_0xecf39c(_0x106b6a._0x38e3d7,0x861)]=this['_getTargetDistanceDisplayCondition'](this[_0xecf39c(-0x37d,_0x106b6a._0x3f4ad5)]['distanceDisplayBillboard']));}}[_0x54a7f1(0x828,0xadd)](){const _0x36b81c={_0x6678b7:0x3b9,_0x415b1a:0x16e7,_0x3c0d44:0x2141,_0x2a45ff:0x3ce,_0x4aa52b:0xcdd,_0x4e5970:0x1144,_0x2adc31:0x17b7,_0x5638c7:0x683},_0x27deba={_0x27d529:0x228};super['_updatePositionsHook']();function _0x5d5e49(_0xa2ab26,_0xee73cf){return _0x54a7f1(_0xee73cf- -0x2a8,_0xa2ab26);}this[_0x5d5e49(-0x361,_0x36b81c._0x6678b7)]['orientation']=this['getOrientation']();function _0x209cdd(_0x474800,_0x2b8063){return _0x7afdbe(_0x2b8063,_0x474800- -_0x27deba._0x27d529);}if(this['_entity']['path']){var _0xd09b90;const _0x241ece=(_0xd09b90=this[_0x209cdd(_0x36b81c._0x415b1a,_0x36b81c._0x3c0d44)])===null||_0xd09b90===void 0x0||(_0xd09b90=_0xd09b90[_0x209cdd(0x1426,0x1939)])===null||_0xd09b90===void 0x0?void 0x0:_0xd09b90[_0x5d5e49(_0x36b81c._0x2a45ff,0x5df)];if(_0x241ece&&_0x241ece[_0x5d5e49(0x129c,_0x36b81c._0x4aa52b)]>0x0){var _0x39b7fa;const _0x414e39=_0x241ece[0x0];let _0x181550=_0x241ece[_0x241ece['length']-0x1];((_0x39b7fa=this['position'])===null||_0x39b7fa===void 0x0?void 0x0:_0x39b7fa[_0x209cdd(0x137b,0x1b5b)])===Cesium__namespace['ExtrapolationType'][_0x5d5e49(0x10b1,_0x36b81c._0x4e5970)]&&(_0x181550=Cesium__namespace['JulianDate'][_0x209cdd(0x1335,_0x36b81c._0x2adc31)](new Date(0x834,0x1,0x1)));const _0x4cba4e={};_0x4cba4e[_0x5d5e49(0x69b,_0x36b81c._0x5638c7)]=_0x414e39,_0x4cba4e['stop']=_0x181550,this['availability']=_0x4cba4e;}}}['_setPositionsToCallback'](){const _0x2fce09={_0x53ba0e:0x275,_0x53d112:0x78,_0x101d4c:0x971,_0x3f2c0d:0xc7e,_0x5c86a4:0xbcf},_0x56dc39={_0x4f70d1:0xcf,_0x4d000d:0xedf,_0x71eced:0x19e8,_0x2db851:0xd45},_0x39dfd7={_0x45cf6b:0x295};super[_0x326cc1(_0x2fce09._0x53ba0e,-_0x2fce09._0x53d112)]();function _0x326cc1(_0x2f948d,_0x4e8dcc){return _0x54a7f1(_0x2f948d- -_0x39dfd7._0x45cf6b,_0x4e8dcc);}function _0x1a0a29(_0x31b2f4,_0x127bbd){return _0x7afdbe(_0x127bbd,_0x31b2f4- -0x2fa);}this[_0x1a0a29(0x595,0xc91)][_0x326cc1(0x136b,_0x2fce09._0x101d4c)]=new Cesium__namespace[(_0x1a0a29(_0x2fce09._0x3f2c0d,_0x2fce09._0x5c86a4))](_0xea2fce=>{const _0x332f28=getPositionValue(this['position'],_0xea2fce);function _0x363e30(_0x2fe9dd,_0x3f09ee){return _0x326cc1(_0x3f09ee-0xf7,_0x2fe9dd);}function _0x5ce2c2(_0x35f871,_0x568c0d){return _0x326cc1(_0x35f871- -0x138,_0x568c0d);}if(_0x332f28==null)return;const _0x5ae92a=Cesium__namespace[_0x5ce2c2(0xedf,0x18aa)]['toRadians'](this[_0x5ce2c2(_0x56dc39._0x4f70d1,0x499)][_0x363e30(0x7ca,0x16f)]??0x0),_0x1cd4c7=Cesium__namespace[_0x5ce2c2(_0x56dc39._0x4d000d,0xfc3)]['toRadians'](this['style'][_0x363e30(_0x56dc39._0x71eced,0x14f4)]??0x0),_0xa261a7=Cesium__namespace[_0x5ce2c2(0xedf,0x16c1)]['toRadians'](this['style']['roll']??0x0),_0xd47f1c=new Cesium__namespace[(_0x363e30(_0x56dc39._0x2db851,0x9c4))](_0x5ae92a,_0x1cd4c7,_0xa261a7);return Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x332f28,_0xd47f1c,this['ellipsoid'],this[_0x5ce2c2(0x1366,0x1942)]);},![]);}['_cancelPositionsCallback'](){const _0x2f78ca={_0x1b4bdd:0x932,_0x21c8fa:0x1d1};if(!this['_isCallbackPositions'])return;function _0x279dc1(_0x45015e,_0x4bf8c1){return _0x7afdbe(_0x45015e,_0x4bf8c1- -0x6be);}super['_cancelPositionsCallback'](),this[_0x279dc1(_0x2f78ca._0x1b4bdd,_0x2f78ca._0x21c8fa)]&&(this['_entity']['orientation']=this['getOrientation']());}[_0x7afdbe(0x12c2,0x1985)](_0x2ac99f,_0x118daf){const _0x103159={_0x493104:0x85e,_0x2769c5:0x8d1,_0x24119a:0xa1,_0x2d2ce2:0xf4a,_0xbef7bb:0x1967};_0x118daf[_0x1b958b(_0x103159._0x493104,_0x103159._0x2769c5)]&&BillboardStyleConver['toCesiumVal'](_0x2ac99f['billboard'],this['_entity']['billboard'],!![]);_0x118daf[_0x1b958b(0x84e,0x1178)]&&PointStyleConver['toCesiumVal'](_0x2ac99f['point'],this['_entity']['point'],!![]);function _0x1b958b(_0x400aa5,_0x42821d){return _0x54a7f1(_0x400aa5- -0x4ce,_0x42821d);}function _0x4e52d2(_0x479654,_0x323319){return _0x54a7f1(_0x479654- -0x61,_0x323319);}_0x118daf['path']&&(PathStyleConver['toCesiumVal'](_0x2ac99f['path'],this['_entity']['path'],!![]),!_0x2ac99f[_0x4e52d2(0x756,-_0x103159._0x24119a)]['isAll']&&(this[_0x1b958b(0x193,0x3ba)]['path']['leadTime']=0x0)),_0x118daf[_0x4e52d2(_0x103159._0x2d2ce2,0xee4)]&&CircleStyleConver['toCesiumVal'](_0x2ac99f[_0x4e52d2(0xf4a,_0x103159._0xbef7bb)],this['_entity']['ellipse'],!![]);}['_toJSON_Ex'](_0x3d155e){const _0x15247f={_0x2cd925:0x532,_0x10a3da:0x99e,_0x2cea2a:0x28,_0x339f3d:0x1e7a,_0x33d338:0x16b2,_0x2a2360:0xedf,_0xf068a1:0xd07,_0x5ab726:0x439,_0x315798:0x3a2,_0x44fc9f:0x23},_0x3ef205={_0x377e7f:0x37e};this[_0xa15401(_0x15247f._0x2cd925,-0x1db)]['billboard']&&(_0x3d155e['billboard']={},BillboardStyleConver['toJSON'](this[_0xa15401(_0x15247f._0x2cd925,0xdd1)]['billboard'],_0x3d155e['billboard'],!![]));function _0xa15401(_0x3bb08d,_0x2834e0){return _0x54a7f1(_0x3bb08d- -_0x3ef205._0x377e7f,_0x2834e0);}this['options']['point']&&(_0x3d155e[_0xa15401(_0x15247f._0x10a3da,-_0x15247f._0x2cea2a)]={},PointStyleConver[_0x269f70(_0x15247f._0x339f3d,0x14fe)](this['options'][_0x269f70(_0x15247f._0x33d338,_0x15247f._0x2a2360)],_0x3d155e['point'],!![]));function _0x269f70(_0x5c718c,_0x48eaa0){return _0x7afdbe(_0x5c718c,_0x48eaa0- -0x6b);}this[_0x269f70(_0x15247f._0xf068a1,0xa73)][_0xa15401(_0x15247f._0x5ab726,-_0x15247f._0x315798)]&&(_0x3d155e[_0xa15401(0x439,-0x318)]={},PathStyleConver['toJSON'](this['options'][_0x269f70(0xe17,0x97a)],_0x3d155e['path'],!![])),this[_0x269f70(-_0x15247f._0x44fc9f,0xa73)]['circle']&&(_0x3d155e['circle']={},CircleStyleConver['toJSON'](this['options']['circle'],_0x3d155e[_0x269f70(0xe5d,0x116e)],!![]));}[_0x54a7f1(0x1123,0xcaf)](_0x49016a){const _0x51807a={_0x55ee9d:0x189e,_0x2ce11d:0x117c,_0x40b3f6:0xbb5,_0x43dcf3:0x1310,_0x690288:0x606,_0x6cd351:0x1067},_0x263167={_0x3e41b8:0x289};function _0x57e4e3(_0x4857ba,_0x551e61){return _0x7afdbe(_0x4857ba,_0x551e61- -_0x263167._0x3e41b8);}const _0x2dc86b=this['style'][_0x57e4e3(_0x51807a._0x55ee9d,0x105f)];function _0x5115bd(_0x342b92,_0x428d88){return _0x54a7f1(_0x342b92- -0x505,_0x428d88);}if(Cesium__namespace[_0x5115bd(_0x51807a._0x2ce11d,0xa9b)](_0x2dc86b['setHeight'])||Cesium__namespace['defined'](_0x2dc86b['addHeight'])){var _0x597d04;(_0x597d04=this[_0x5115bd(0x15c,-0x39e)])!==null&&_0x597d04!==void 0x0&&_0x597d04[_0x5115bd(_0x51807a._0x40b3f6,_0x51807a._0x43dcf3)]&&(this[_0x57e4e3(-0x23d,_0x51807a._0x690288)][_0x57e4e3(0x101b,0x105f)][_0x57e4e3(0x1c54,0x1598)]=![]),super['_addLabel'](_0x49016a);}else this[_0x57e4e3(_0x51807a._0x6cd351,0x606)]['label']=this['_entity']['label']||{},LabelStyleConver['toCesiumVal'](this['style']['label'],this['_entity']['label'],this['attr']);}[_0x54a7f1(0x11ff,0x940)](_0x52771b){}[_0x54a7f1(0xa0a,0xbac)](){}[_0x54a7f1(0x1579,0x1b47)](_0xfca4b8){const _0x224eb3={_0x5099ea:0x55c,_0x38ffa2:0x601,_0x18c90f:0x27b,_0x41b539:0xdc6,_0x51f66e:0x115f};function _0x1c02e2(_0x485548,_0xf1419b){return _0x54a7f1(_0xf1419b-0xc0,_0x485548);}let _0x41663a;if(this[_0x1c02e2(0x4cc,0x55c)]['distanceDisplayCondition']instanceof Cesium__namespace['DistanceDisplayCondition'])_0x41663a=this[_0x37bdb5(-0xe9,0x96)]['distanceDisplayCondition']['far'];else this[_0x1c02e2(0xaee,_0x224eb3._0x5099ea)][_0x37bdb5(0xa67,0x27b)]&&(_0x41663a=this['style']['distanceDisplayCondition_far']);function _0x37bdb5(_0xf275fc,_0x2a5c77){return _0x7afdbe(_0xf275fc,_0x2a5c77- -0x634);}return new Cesium__namespace['DistanceDisplayCondition'](_0xfca4b8['distanceDisplayCondition_near']??_0x41663a,_0xfca4b8[_0x37bdb5(-_0x224eb3._0x38ffa2,_0x224eb3._0x18c90f)]??Number[_0x1c02e2(_0x224eb3._0x41b539,_0x224eb3._0x51f66e)]);}['getHeadingPitchRoll'](){const _0x3169e9={_0x4cc04e:0x94c,_0x1dc614:0x1104};function _0x3adf63(_0xac8728,_0x2c3318){return _0x54a7f1(_0xac8728-0x179,_0x2c3318);}const _0x319816=this[_0x3adf63(_0x3169e9._0x4cc04e,0x121c)]['clock'][_0x32c7c5(0x168e,_0x3169e9._0x1dc614)];function _0x32c7c5(_0x49ca25,_0x2ecdf0){return _0x7afdbe(_0x49ca25,_0x2ecdf0- -0x57d);}const _0x36040b=this['positionShow'],_0x6a1070=Cesium__namespace['Property']['getValueOrUndefined'](this['_entity']['orientation'],_0x319816,new Cesium__namespace['Quaternion']()),_0x279419=getHeadingPitchRollByOrientation(_0x36040b,_0x6a1070,this['ellipsoid'],this['fixedFrameTransform']);return _0x279419;}['rotateStart'](_0x89dc94={}){const _0x4cae4d={_0xef05fb:0x1247,_0x25f94d:0x55e,_0x5cd1c2:0x111d,_0x4886c4:0xc6,_0x4d775b:0x7e},_0x50724c={_0x4230b0:0x108,_0x369aed:0xd60,_0x4696e3:0x885,_0x321f95:0x1975},_0x1ffe62={_0x499466:0x501};this['_isRotateStart']&&this['rotateStop']();this['_rotateDirection']=_0x89dc94['direction']?0x1:-0x1,this[_0x1e3315(0x1b01,_0x4cae4d._0xef05fb)]=0x168/(0x3c*(_0x89dc94[_0x14dc20(0xa18,_0x4cae4d._0x25f94d)]||0x3c)),this[_0x14dc20(0x12c2,_0x4cae4d._0x5cd1c2)]=_0x89dc94['autoStopAngle'],this[_0x14dc20(-_0x4cae4d._0x4886c4,0x182)]=this['getHeadingPitchRoll'](),this['_startHeading']=this[_0x1e3315(-_0x4cae4d._0x4d775b,0x836)]['heading'];function _0x14dc20(_0x668e2a,_0xc17f56){return _0x54a7f1(_0xc17f56- -_0x1ffe62._0x499466,_0x668e2a);}this['_tikRender']=0x0;function _0x1e3315(_0x424d77,_0x186d5c){return _0x54a7f1(_0x186d5c-0x1b3,_0x424d77);}this['_isRotateStart']=!![],this['entity']['orientation']=new Cesium__namespace['CallbackProperty'](_0x2820e7=>{function _0x553ccc(_0x3bf942,_0x2eb731){return _0x14dc20(_0x3bf942,_0x2eb731-0x703);}const _0x3f5d28=getPositionValue(this['position'],_0x2820e7);function _0xa204ab(_0x2832c3,_0x37926d){return _0x1e3315(_0x37926d,_0x2832c3-0x8f);}return Cesium__namespace['Transforms'][_0x553ccc(_0x50724c._0x4230b0,0x603)](_0x3f5d28,this[_0x553ccc(_0x50724c._0x369aed,_0x50724c._0x4696e3)],this['ellipsoid'],this[_0xa204ab(_0x50724c._0x321f95,0x22cc)]);},![]),this['_map']['on'](EventType['preRender'],this['_rotate_onPreRenderHandler'],this);}['_rotate_onPreRenderHandler'](_0x4e232b){const _0x8777f5={_0x411cba:0xaeb,_0x375497:0xfd6,_0x86fded:0x1794};if(!this['_map'])return;this['_tikRender']++;function _0x597426(_0x461ae3,_0x322f40){return _0x54a7f1(_0x461ae3-0x272,_0x322f40);}const _0xcdc20=this[_0x597426(0xcf8,_0x8777f5._0x411cba)]*this[_0x51cc10(0xf5d,0x1375)];if(this['_rotateAutoStopAngle']&&_0xcdc20>=this[_0x51cc10(0x14e7,_0x8777f5._0x375497)]){this['rotateStop']();return;}const _0xee129a=Cesium__namespace['Math'][_0x597426(_0x8777f5._0x86fded,0x2156)](_0xcdc20*this['_rotateDirection'])+this['_startHeading'];function _0x51cc10(_0x339122,_0x2878b4){return _0x7afdbe(_0x2878b4,_0x339122- -0x365);}this['_rotateHpr']['heading']=_0xee129a;}['rotateStop'](){const _0x1dccac={_0x113d5a:0x154,_0x3e2476:0xb85,_0x230331:0x12df,_0x46889f:0xe1c,_0x5a2d9f:0xcc1,_0x2a96ce:0x538,_0xc4c8d8:0xdf7};if(!this['_isRotateStart'])return;function _0x4b1b9f(_0x1a3401,_0x500b1e){return _0x7afdbe(_0x1a3401,_0x500b1e- -0x2f3);}this[_0x489a23(_0x1dccac._0x113d5a,0x4a0)]=![],this['_map'][_0x4b1b9f(0x4cf,0x288)](EventType[_0x489a23(_0x1dccac._0x3e2476,0xc17)],this[_0x489a23(_0x1dccac._0x230331,_0x1dccac._0x46889f)],this),this[_0x4b1b9f(0xb70,0x248)]=Cesium__namespace['Math'][_0x489a23(0x60a,_0x1dccac._0x5a2d9f)](this['_rotateHpr']['heading']),delete this['_rotateDirection'],delete this['_rotateAngle'],delete this['_rotateAutoStopAngle'],delete this[_0x489a23(-_0x1dccac._0x2a96ce,0x403)];function _0x489a23(_0x2122e3,_0x3387ad){return _0x54a7f1(_0x3387ad- -0x280,_0x2122e3);}delete this['_startHeading'],delete this[_0x489a23(_0x1dccac._0xc4c8d8,0x806)];}[_0x7afdbe(0x681,0xf0f)](_0xc3d3f4){const _0x466733={_0x119d25:0x884,_0x3e806b:0x117d,_0x49dcc4:0x136,_0x26665a:0xd19,_0x42675b:0x7da,_0x5470e1:0x59,_0x57a678:0x3ed,_0x21cdfd:0x1038,_0x5338fd:0x189c,_0x497a5b:0x754,_0x37a4a1:0xb03,_0x363a58:0x1073,_0x2190b8:0x754},_0x2684e6={_0x41951a:0x521,_0x3743e5:0x5d5,_0x12669c:0x747,_0x4f402b:0x36c,_0x3b7fb5:0x4dc,_0x34485d:0xed0,_0x2807f3:0xaa3,_0x562814:0x579};return new Promise((_0x23bc78,_0x500304)=>{const _0x31aaf6=new Cesium__namespace['SampledPositionProperty']();_0x31aaf6['forwardExtrapolationType']=Cesium__namespace[_0x1bd31f(_0x466733._0x119d25,_0x466733._0x3e806b)][_0x1bd31f(0x14bf,0x17cc)];const _0x530335=this[_0x1bd31f(0x8a6,0x5ac)]['clock']['currentTime']['clone'](),_0x476fc8=this['positionShow'];_0x31aaf6['addSample'](_0x530335,_0x476fc8);const _0x2133b4=LngLatPoint[_0x1aacb8(_0x466733._0x49dcc4,0x157)](_0xc3d3f4['position'])[_0x1aacb8(0x87f,_0x466733._0x26665a)](),_0x50e732=_0xc3d3f4[_0x1aacb8(_0x466733._0x42675b,0xabe)]||0x5,_0x1fdcc2=Cesium__namespace['JulianDate']['addSeconds'](_0x530335,_0x50e732,new Cesium__namespace['JulianDate']());_0x31aaf6[_0x1aacb8(_0x466733._0x5470e1,0x741)](_0x1fdcc2,_0x2133b4),this['_entity']['position']=_0x31aaf6;let _0x208228;function _0x1aacb8(_0xecbb90,_0x14114e){return _0x536c(_0xecbb90- -0x15e,_0x14114e);}_0xc3d3f4['orientation']&&(_0x208228=this[_0x1aacb8(0x3dc,0x8e6)]['orientation'],this[_0x1bd31f(0x734,_0x466733._0x57a678)][_0x1aacb8(0x137b,0x9b2)]=new Cesium__namespace[(_0x1aacb8(_0x466733._0x21cdfd,_0x466733._0x5338fd))](_0x31aaf6));const _0x3afd35=this['_map'][_0x1aacb8(_0x466733._0x497a5b,_0x466733._0x37a4a1)][_0x1bd31f(_0x466733._0x363a58,0xf37)];this[_0x1bd31f(0x8a6,0xe1b)][_0x1aacb8(_0x466733._0x2190b8,0x952)]['shouldAnimate']=!![];function _0x1bd31f(_0x27444a,_0x3cd85b){return _0x536c(_0x27444a-0x1fa,_0x3cd85b);}this['_map']['clock']['multiplier']=_0xc3d3f4['speed']||0x1,this['_cancelMoveTo']=()=>{function _0x32bb9b(_0x55a4e2,_0x575de7){return _0x1aacb8(_0x55a4e2-0x1f9,_0x575de7);}if(!this[_0x3851ca(0x2d6,-_0x2684e6._0x41951a)])return;delete this['_cancelMoveTo'];_0x208228&&(this[_0x32bb9b(_0x2684e6._0x3743e5,-0x158)]['orientation']=_0x208228);function _0x3851ca(_0x5e031f,_0x1e027e){return _0x1bd31f(_0x5e031f- -0x5d0,_0x1e027e);}this['position']=_0x2133b4,this[_0x32bb9b(_0x2684e6._0x12669c,_0x2684e6._0x4f402b)][_0x3851ca(_0x2684e6._0x3b7fb5,_0x2684e6._0x34485d)][_0x3851ca(_0x2684e6._0x2807f3,0x432)]=_0x3afd35,_0xc3d3f4['onEnd']&&_0xc3d3f4[_0x3851ca(_0x2684e6._0x562814,0x885)](),_0x23bc78(this);},setTimeout(()=>{this['cancelMoveTo']();},_0x50e732*0x3e8);});}[_0x54a7f1(0xf0c,0x51d)](){const _0x3ff890={_0x37224f:0x58};function _0x48fe95(_0x9e9418,_0x3cbda9){return _0x7afdbe(_0x3cbda9,_0x9e9418- -_0x3ff890._0x37224f);}this['_cancelMoveTo']&&this[_0x48fe95(0x1569,0x1022)]();}['_getPopupPosition'](){return this['_entity']['position'];}['setOpacity'](_0x535d10){const _0x1ffc27={_0xe6f0f7:0xf86,_0x12ec4e:0x139,_0x3974dd:0x19a,_0x50100d:0x273};function _0x1125c1(_0x1886f2,_0x11014c){return _0x7afdbe(_0x1886f2,_0x11014c- -0x4e9);}this[_0x41a752(0x679,_0x1ffc27._0xe6f0f7)]['globalAlpha']=_0x535d10;function _0x41a752(_0x1cf782,_0x5bd014){return _0x7afdbe(_0x5bd014,_0x1cf782- -0x51);}this[_0x41a752(0x83e,-_0x1ffc27._0x12ec4e)]&&(ModelStyleConver[_0x1125c1(_0x1ffc27._0x3974dd,0x24d)](this[_0x1125c1(0xb51,_0x1ffc27._0x50100d)],_0x535d10),this[_0x41a752(0x14bf,0x9f3)](_0x535d10));}['getBoundingBox'](_0x293cae,_0x195903){var _0xfee501;!Cesium__namespace['defined'](_0x195903)&&(_0x195903=new Cesium__namespace['BoundingRectangle']());const _0x38493e=((_0xfee501=this['style'])===null||_0xfee501===void 0x0?void 0x0:_0xfee501['minimumPixelSize'])??0x14,_0xd6ff23=_0x293cae['x']-_0x38493e*0.5,_0x44cfe8=_0x293cae['y']-_0x38493e*0.5;return _0x195903['x']=_0xd6ff23,_0x195903['y']=_0x44cfe8,_0x195903['width']=_0x38493e,_0x195903['height']=_0x38493e,_0x195903;}}register$5(_0x7afdbe(0xc3e,0x8f9),ModelEntity,!![]);class EditBox extends EditBase{set['position'](_0x337434){const _0x40952b={_0x2209f1:0x13e7};function _0x453e37(_0x43fa5a,_0x49384b){return _0x7afdbe(_0x43fa5a,_0x49384b- -0x530);}this[_0x453e37(_0x40952b._0x2209f1,0xf60)]['_position_draw']=_0x337434;}get['position'](){function _0x37c4b3(_0x5a2270,_0x25b90e){return _0x54a7f1(_0x25b90e-0x98,_0x5a2270);}return this['_graphic'][_0x37c4b3(0x1b41,0x1475)];}[_0x7afdbe(0xf72,0x520)](){const _0x444a18={_0x564b26:0x1250,_0x103caf:0x8e,_0x3f30e0:0x7c7,_0x4a7708:0x1091,_0x39786e:0x166f,_0x137145:0x503,_0x233585:0x342,_0x43f139:0xed8,_0x5b74c5:0x1550,_0x3afa90:0x66e,_0x451a5e:0xc74,_0xacf4c8:0x18e,_0x21776b:0x902},_0x2156f3={_0x2ee14a:0x1568,_0x8baead:0x18c5},_0x2274f6={_0x16a77e:0x111e},_0x4a376b={_0x4ca9b9:0x42d,_0x4add5d:0x6e7,_0x408a05:0x1068,_0x2bcb16:0x1d08},_0x52d6bc={_0xa860be:0x912,_0x444d73:0x14de,_0x1d1244:0x1816,_0x162863:0x14c3,_0x1d4d63:0xcec,_0x499bfa:0xf1d},_0x39e0dc={_0x5f5dd0:0x13e9,_0x1a7c2e:0x1061,_0x4a004a:0x1aa2,_0x2eebde:0x1367},_0x57ffcd={_0x2424a6:0x1e5},_0x3444d6=this['style'];let _0x328888;const _0x8844a4=this[_0x514c62(_0x444a18._0x564b26,0xac0)];_0x328888=this[_0x514c62(_0x444a18._0x103caf,0xb21)]({'position':_0x8844a4,'onDrag':(_0x533786,_0x271f37)=>{const _0x5d158d=Cesium__namespace['Cartesian3']['subtract'](_0x271f37,this['position'],new Cesium__namespace['Cartesian3']());function _0x367e26(_0x5880b9,_0x23b604){return _0x5d763c(_0x23b604-_0x57ffcd._0x2424a6,_0x5880b9);}this[_0x367e26(0x15f4,0x1761)]=_0x271f37;function _0x308e07(_0x42d8b9,_0x3af3dc){return _0x5d763c(_0x3af3dc-0x9b,_0x42d8b9);}for(let _0x2e3b3=0x0,_0x573ed1=this[_0x367e26(0x1204,_0x39e0dc._0x5f5dd0)]['length'];_0x2e3b3<_0x573ed1;_0x2e3b3++){if(this[_0x308e07(0x984,0x129f)][_0x2e3b3]===_0x533786)continue;this['draggers'][_0x2e3b3]['position']=Cesium__namespace['Cartesian3'][_0x308e07(0x82a,0x5c6)](this[_0x308e07(_0x39e0dc._0x1a7c2e,0x129f)][_0x2e3b3][_0x367e26(_0x39e0dc._0x4a004a,0x1761)],_0x5d158d,new Cesium__namespace[(_0x367e26(0x1d5d,_0x39e0dc._0x2eebde))]());}}}),this['draggers']['push'](_0x328888);function _0x514c62(_0x4d335c,_0x4f3de4){return _0x7afdbe(_0x4f3de4,_0x4d335c- -0x6bf);}const _0xdff25b=Cesium__namespace['Math']['toRadians'](this[_0x514c62(0xdd1,0x109f)][_0x5d763c(0x1a8,0x86a)]),_0x47706c=Cesium__namespace[_0x514c62(0xe1b,_0x444a18._0x3f30e0)][_0x514c62(_0x444a18._0x4a7708,_0x444a18._0x39786e)](this[_0x514c62(0xdd1,_0x444a18._0x137145)]['pitch']),_0x48ceb1=Cesium__namespace['Math']['toRadians'](this['_graphic']['roll']),_0x5dee3d=new Cesium__namespace['HeadingPitchRoll'](_0xdff25b,_0x47706c,_0x48ceb1),_0x259372=getPositionByHprAndOffset(_0x8844a4,new Cesium__namespace['Cartesian3'](_0x3444d6['dimensions_x']/0x2,0x0,0x0),_0x5dee3d);_0x328888=this['createDragger']({'position':_0x259372,'type':EditPointType['EditAttr'],'tooltip':this[_0x514c62(_0x444a18._0x233585,0x69)]['getLangText']('_修改长度'),'onDrag':(_0x36d695,_0x37d379)=>{const _0x32b855={_0x1086e0:0x6c3},_0x1e1e8b=Cesium__namespace['Cartographic'][_0x36fdb4(_0x52d6bc._0xa860be,0x56f)](this['position'])['height'];_0x37d379=setPositionsHeight(_0x37d379,_0x1e1e8b);function _0x36fdb4(_0x3b29b3,_0x358ae7){return _0x514c62(_0x358ae7-_0x32b855._0x1086e0,_0x3b29b3);}_0x36d695[_0x1eea31(_0x52d6bc._0x444d73,0xfa1)]=_0x37d379;function _0x1eea31(_0x4a72a2,_0xbbb441){return _0x514c62(_0x4a72a2-0x28e,_0xbbb441);}const _0x424605=this[_0x1eea31(0x694,-0x269)](Cesium__namespace['Cartesian3'][_0x36fdb4(_0x52d6bc._0x1d1244,_0x52d6bc._0x162863)](this['position'],_0x37d379),0x2);_0x3444d6[_0x1eea31(_0x52d6bc._0x1d4d63,0x1691)]=_0x424605*0x2,this[_0x36fdb4(0x179b,0x1278)](_0x3444d6),this['fire'](EventType[_0x36fdb4(_0x52d6bc._0x499bfa,0x16d6)]);},'onDragEnd':(_0x44a26a,_0x4779d0)=>{this['updateDraggers']();}}),this[_0x514c62(_0x444a18._0x43f139,_0x444a18._0x5b74c5)]['push'](_0x328888);const _0x460488=getPositionByHprAndOffset(_0x8844a4,new Cesium__namespace['Cartesian3'](0x0,_0x3444d6['dimensions_y']/0x2,0x0),_0x5dee3d);_0x328888=this['createDragger']({'position':_0x460488,'type':EditPointType['EditAttr'],'tooltip':this[_0x5d763c(_0x444a18._0x3afa90,_0x444a18._0x451a5e)][_0x5d763c(0xebd,0x1710)]('_修改宽度'),'onDrag':(_0x2ca24e,_0x56e5f5)=>{const _0x18e697={_0x39377c:0x257},_0x3681f4=Cesium__namespace['Cartographic']['fromCartesian'](_0x8844a4)[_0x1a6bfc(0x228,_0x4a376b._0x4ca9b9)];_0x56e5f5=setPositionsHeight(_0x56e5f5,_0x3681f4),_0x2ca24e['position']=_0x56e5f5;const _0x308b43=this[_0x160e7a(_0x4a376b._0x4add5d,0xb27)](Cesium__namespace['Cartesian3'][_0x160e7a(0x10e1,0x1543)](this['position'],_0x56e5f5),0x2);function _0x1a6bfc(_0x54839a,_0x50d807){return _0x514c62(_0x50d807-_0x18e697._0x39377c,_0x54839a);}_0x3444d6[_0x1a6bfc(0x1bf1,0x11d0)]=_0x308b43*0x2;function _0x160e7a(_0x4ba3a6,_0x330aa){return _0x514c62(_0x4ba3a6-0x2e1,_0x330aa);}this[_0x160e7a(0xe96,_0x4a376b._0x408a05)](_0x3444d6),this[_0x160e7a(0xd08,0x5df)](EventType[_0x1a6bfc(_0x4a376b._0x2bcb16,0x126a)]);},'onDragEnd':(_0x3d0fd4,_0x2559ff)=>{function _0x4dcbbd(_0x40f6c1,_0x599677){return _0x5d763c(_0x599677- -0x1a3,_0x40f6c1);}this[_0x4dcbbd(0x118a,_0x2274f6._0x16a77e)]();}});function _0x5d763c(_0xd6fd17,_0x251d50){return _0x54a7f1(_0xd6fd17- -0x165,_0x251d50);}this['draggers'][_0x514c62(0xa77,0x56c)](_0x328888);if(!this['isScene2D']){const _0x2751a1=getPositionByHprAndOffset(_0x8844a4,new Cesium__namespace['Cartesian3'](0x0,0x0,_0x3444d6['dimensions_z']/0x2),_0x5dee3d);_0x328888=this['createDragger']({'position':_0x2751a1,'type':EditPointType[_0x5d763c(_0x444a18._0xacf4c8,-0x45d)],'tooltip':this['_map']['getLangText']('_修改高度'),'onDrag':(_0x1eb603,_0x53606a)=>{const _0x24afb2=this['formatNum'](Cesium__namespace['Cartesian3']['distance'](this['position'],_0x53606a),0x2);function _0x1c5049(_0x306de0,_0x188374){return _0x5d763c(_0x188374- -0x2d3,_0x306de0);}_0x3444d6['dimensions_z']=_0x24afb2*0x2;function _0x2937a2(_0x2c369c,_0x5376e2){return _0x514c62(_0x2c369c-0x4e0,_0x5376e2);}this[_0x1c5049(_0x2156f3._0x2ee14a,0xc0e)](_0x3444d6),this[_0x2937a2(0xf07,_0x2156f3._0x8baead)](EventType['editStyle']);},'onDragEnd':(_0x396ff2,_0x31760d)=>{this['updateDraggers']();}}),this[_0x514c62(0xed8,_0x444a18._0x21776b)]['push'](_0x328888);}}[_0x54a7f1(0x1046,0xea7)](_0xe90604){const _0x2fc03d={_0x7efdd4:0xf63,_0x534bb1:0x9ba,_0x22d030:0xb6b,_0x250e68:0x1103,_0x6ee611:0x6f4,_0x4d03ea:0x1fa},_0x5536d0={_0x2aa9cd:0x71f};function _0x2ad8df(_0x44ffe1,_0x228d0c){return _0x7afdbe(_0x228d0c,_0x44ffe1- -0x5b2);}const _0x119ed3=new Cesium__namespace[(_0x2ad8df(_0x2fc03d._0x7efdd4,_0x2fc03d._0x534bb1))](_0xe90604[_0x2ad8df(_0x2fc03d._0x22d030,_0x2fc03d._0x250e68)],_0xe90604['dimensions_y'],_0xe90604['dimensions_z']);function _0x1c7f3c(_0x169f6c,_0x135445){return _0x7afdbe(_0x135445,_0x169f6c- -_0x5536d0._0x2aa9cd);}this['entityGraphic']['dimensions'][_0x2ad8df(_0x2fc03d._0x6ee611,-_0x2fc03d._0x4d03ea)](_0x119ed3);}[_0x54a7f1(0x10d4,0x6cc)](_0x5cc214){const _0x4c0d27={_0x3bbe0c:0x1073,_0x39c8eb:0x608,_0x2c327c:0x12c2,_0x4cce31:0x13a9,_0x205308:0xca4,_0x676638:0x1660},_0x5c8247={_0x324eb8:0xc};super[_0x3faf83(_0x4c0d27._0x3bbe0c,_0x4c0d27._0x39c8eb)](_0x5cc214);function _0x3faf83(_0x4cc7a2,_0x3b75cc){return _0x7afdbe(_0x3b75cc,_0x4cc7a2- -0x28f);}function _0x5ee456(_0x58d7c5,_0xa7f76d){return _0x7afdbe(_0x58d7c5,_0xa7f76d-_0x5c8247._0x324eb8);}(Cesium__namespace['defined'](_0x5cc214[_0x5ee456(_0x4c0d27._0x2c327c,0x1129)])||Cesium__namespace['defined'](_0x5cc214[_0x3faf83(_0x4c0d27._0x4cce31,0x1417)])||Cesium__namespace[_0x5ee456(0x18a0,0x18bb)](_0x5cc214['dimensions_z']))&&this[_0x5ee456(_0x4c0d27._0x205308,_0x4c0d27._0x676638)]();}}class BoxEntity extends BasePointEntity{get[_0x54a7f1(0x52e,0xb90)](){var _0x3b40ba;return(_0x3b40ba=this['_entity'])===null||_0x3b40ba===void 0x0?void 0x0:_0x3b40ba['box'];}get['EditClass'](){return EditBox;}[_0x7afdbe(-0x44a,0x4b9)](){const _0x3277eb={_0x35a9e8:0xb36,_0x5a1ac6:0x79b,_0x350a05:0xc74,_0x4d9cbc:0x188b},_0x3592c9={_0x2d23c0:0x191};function _0x1bc2fa(_0x3c960c,_0x5a57f2){return _0x54a7f1(_0x5a57f2-_0x3592c9._0x2d23c0,_0x3c960c);}function _0x1b12b0(_0x1e1677,_0x3d22e6){return _0x54a7f1(_0x3d22e6- -0x4af,_0x1e1677);}const _0x1411a1={'position':this[_0x1b12b0(0x18ef,0x1232)],'orientation':this[_0x1bc2fa(_0x3277eb._0x35a9e8,0x9e9)](),'box':BoxStyleConver[_0x1b12b0(0xef6,0x92a)](this[_0x1bc2fa(_0x3277eb._0x5a1ac6,0x62d)],{},!![])};this['_entity']=this['_createEntity'](_0x1411a1),this['style'][_0x1b12b0(0xf8f,0xc0b)]&&this[_0x1b12b0(0x3b2,_0x3277eb._0x350a05)](this['style'][_0x1bc2fa(_0x3277eb._0x4d9cbc,0x124b)]);}[_0x7afdbe(0xf60,0xa5d)](_0x364056,_0x28ada5){return BoxStyleConver['toJSON'](_0x364056,_0x28ada5,!![]);}[_0x7afdbe(0x1d8b,0x1302)](_0x262067,_0x507332){const _0x5ecdfe={_0x57a036:0x99e};function _0x2f2f7a(_0x58191a,_0x4ab426){return _0x7afdbe(_0x58191a,_0x4ab426- -0xe8);}_0x507332&&(Cesium__namespace['defined'](_0x507332['heading'])||Cesium__namespace['defined'](_0x507332['pitch'])||Cesium__namespace['defined'](_0x507332['roll']))&&(this['_entity']['orientation']=this[_0x2f2f7a(0x4a7,_0x5ecdfe._0x57a036)]()),BoxStyleConver['toCesiumVal'](_0x262067,this['entityGraphic'],!![]);}['_setPositionsToCallback'](){const _0x3db65e={_0x5603ae:0x9ab,_0x1681b7:0x47f,_0xd7a48a:0xc74,_0x598b09:0xea6,_0x268e2d:0x86c,_0x46ee51:0xc8b,_0x5dc55b:0x19df,_0xbc9840:0xb9},_0x35a218={_0x130a3c:0x277},_0x45bfde={_0x5b030c:0x24b};super['_setPositionsToCallback']();function _0x110d23(_0x301d2e,_0x2af2f7){return _0x7afdbe(_0x2af2f7,_0x301d2e- -_0x45bfde._0x5b030c);}const _0x5dae6b=getCesiumValue(this[_0x317c89(0x4e5,_0x3db65e._0x5603ae)]['dimensions'],Number,this[_0x110d23(0x7b6,0x36c)]['clock']['currentTime']);this[_0x110d23(_0x3db65e._0x1681b7,_0x3db65e._0xd7a48a)][_0x317c89(_0x3db65e._0x598b09,_0x3db65e._0x268e2d)]=this[_0x317c89(0x453,_0x3db65e._0x46ee51)][_0x317c89(0xea6,0xd6b)]??_0x5dae6b['x'],this[_0x317c89(0x453,-0x378)][_0x317c89(0x13c1,_0x3db65e._0x5dc55b)]=this[_0x110d23(_0x3db65e._0x1681b7,-0xa2)]['dimensions_y']??_0x5dae6b['y'];function _0x317c89(_0x3c26bc,_0x30d6ed){return _0x7afdbe(_0x30d6ed,_0x3c26bc- -_0x35a218._0x130a3c);}this[_0x110d23(0x47f,-_0x3db65e._0xbc9840)]['dimensions_z']=this[_0x110d23(0x47f,0x828)]['dimensions_z']??_0x5dae6b['z'],delete this['style']['dimensions'];}}register$5('box',BoxEntity,!![]);class EditPlane extends EditBase{get['position'](){const _0xb63a7d={_0x52d538:0x851,_0x1acf5b:0x1036};function _0x233435(_0x24c627,_0x46c142){return _0x54a7f1(_0x46c142- -0x3a7,_0x24c627);}function _0x157528(_0x41a23a,_0x19f76e){return _0x54a7f1(_0x41a23a- -0x1c0,_0x19f76e);}return this[_0x157528(0x10a2,0xf97)][_0x233435(_0xb63a7d._0x52d538,_0xb63a7d._0x1acf5b)];}set[_0x7afdbe(0x1930,0x190f)](_0xaaf120){const _0x329955={_0x54207e:0x18d5},_0x51ee80={_0x428356:0x178};function _0x345340(_0x18ebf2,_0x3368c5){return _0x7afdbe(_0x3368c5,_0x18ebf2- -_0x51ee80._0x428356);}this[_0x345340(0x1318,_0x329955._0x54207e)]['_position_draw']=_0xaaf120;}['bindDraggers'](){const _0x1f1180={_0x1bdf32:0xe2a,_0x33bfba:0xf3e,_0x26da4a:0x522,_0x3fafe0:0x14c1,_0x3f089b:0xe67,_0x353075:0x22be,_0x6037a4:0xd78,_0xd53299:0xd98,_0xe34457:0x14fc,_0x210ec4:0x734,_0x17f412:0x613,_0x1286de:0xb4c,_0x211615:0xcb4,_0x291a1b:0xb9a,_0x3667a5:0x1b1,_0x15ff90:0xbbd,_0xf103f3:0x1c5a},_0xf5d9a={_0x118847:0xb5c},_0x3e9c8d={_0x1f89a3:0x8a8,_0x3e6353:0x10eb,_0x5bddff:0x8c8},_0x467492={_0x3b4ba2:0xb7,_0x5a524b:0x3da,_0xfc3b52:0x1667},_0xa737b5={_0x458025:0xb2d,_0x97607e:0x982},_0x5b91bc={_0x17127a:0x135c,_0x5ce31f:0xfe4,_0x3c305f:0x135b,_0x3a3b1b:0xf62},_0x59abdc={_0x3f7b3d:0x25e},_0x3a132b={_0x497315:0x36e},_0x2ab975=this['style'];let _0x457726;function _0x3eda47(_0x59d5dd,_0x43a1b7){return _0x54a7f1(_0x43a1b7- -_0x3a132b._0x497315,_0x59d5dd);}const _0x393204=this['position'];_0x457726=this['createDragger']({'position':_0x393204,'onDrag':(_0x52d1d0,_0xb7c13)=>{const _0x1bfcc8={_0x42f5f5:0x1ba},_0x4ae37f=Cesium__namespace['Cartesian3']['subtract'](_0xb7c13,this['position'],new Cesium__namespace['Cartesian3']());function _0x2fd918(_0x5cfc68,_0x5ac919){return _0x536c(_0x5ac919- -_0x59abdc._0x3f7b3d,_0x5cfc68);}function _0x39aca7(_0x40cf2f,_0x44ccec){return _0x536c(_0x44ccec- -_0x1bfcc8._0x42f5f5,_0x40cf2f);}this[_0x2fd918(0xa1a,_0x5b91bc._0x17127a)]=_0xb7c13;for(let _0x14690d=0x0,_0x57cf8f=this[_0x2fd918(0x11d0,0xfe4)]['length'];_0x14690d<_0x57cf8f;_0x14690d++){if(this['draggers'][_0x14690d]===_0x52d1d0)continue;this['draggers'][_0x14690d]['position']=Cesium__namespace['Cartesian3']['add'](this[_0x2fd918(0xbc8,_0x5b91bc._0x5ce31f)][_0x14690d]['position'],_0x4ae37f,new Cesium__namespace[(_0x2fd918(_0x5b91bc._0x3c305f,_0x5b91bc._0x3a3b1b))]());}}}),this['draggers']['push'](_0x457726);const _0x1fe67e=Cesium__namespace[_0x3eda47(_0x1f1180._0x1bdf32,_0x1f1180._0x33bfba)][_0x580bd1(0x1739,0x1737)](this['_graphic'][_0x580bd1(0xe9b,_0x1f1180._0x26da4a)]);function _0x580bd1(_0x355810,_0x512dbd){return _0x7afdbe(_0x355810,_0x512dbd- -0x19);}const _0x494c25=Cesium__namespace[_0x580bd1(0x1db6,_0x1f1180._0x3fafe0)]['toRadians'](this['_graphic'][_0x580bd1(0x16ff,0x18a7)]),_0x55c687=Cesium__namespace['Math']['toRadians'](this[_0x3eda47(_0x1f1180._0x3f089b,0xef4)][_0x580bd1(_0x1f1180._0x353075,0x1946)]),_0x19f365=new Cesium__namespace[(_0x3eda47(_0x1f1180._0x6037a4,0x7f4))](_0x1fe67e,_0x494c25,_0x55c687),_0x40adf6=new Cesium__namespace[(_0x580bd1(_0x1f1180._0xd53299,_0x1f1180._0xe34457))]();switch(_0x2ab975['plane_normal']){case'x':_0x40adf6['y']=_0x2ab975['dimensions_x']/0x2;break;default:_0x40adf6['x']=_0x2ab975['dimensions_x']/0x2;break;}_0x457726=this[_0x580bd1(0x102d,_0x1f1180._0x210ec4)]({'position':getPositionByHprAndOffset(_0x393204,_0x40adf6,_0x19f365),'type':EditPointType[_0x3eda47(_0x1f1180._0x17f412,_0x1f1180._0x1286de)],'tooltip':this['_map'][_0x3eda47(0xd2a,_0x1f1180._0x211615)]('_修改长度'),'onDrag':(_0x11f807,_0x29ac5f)=>{const _0x4392ce=Cesium__namespace['Cartographic']['fromCartesian'](this['position'])['height'];_0x29ac5f=setPositionsHeight(_0x29ac5f,_0x4392ce),_0x11f807['position']=_0x29ac5f;const _0x5e10a4=this[_0x4339d6(0x1381,_0xa737b5._0x458025)](Cesium__namespace[_0x4339d6(0x1497,0x157d)]['distance'](this['position'],_0x29ac5f),0x2);function _0xb06970(_0x222a12,_0x1be2d9){return _0x580bd1(_0x1be2d9,_0x222a12- -0x27e);}function _0x4339d6(_0x266b32,_0x170cd7){return _0x3eda47(_0x266b32,_0x170cd7-0x604);}_0x2ab975[_0x4339d6(_0xa737b5._0x97607e,0x1185)]=_0x5e10a4*0x2,this[_0x4339d6(0x2b,0x90c)](_0x2ab975);},'onDragEnd':(_0x48278e,_0x14b79c)=>{this['updateDraggers']();}}),this[_0x3eda47(0x1062,0xffb)][_0x3eda47(0x405,_0x1f1180._0x291a1b)](_0x457726);if(_0x2ab975['plane_normal']==='z')_0x457726=this[_0x3eda47(0x700,_0x1f1180._0x3667a5)]({'position':getPositionByHprAndOffset(_0x393204,new Cesium__namespace['Cartesian3'](0x0,_0x2ab975['dimensions_y']/0x2,0x0),_0x19f365),'type':EditPointType['EditAttr'],'tooltip':this[_0x580bd1(0x93f,0x9e8)]['getLangText']('_修改宽度'),'onDrag':(_0x736809,_0x5607e0)=>{const _0x14bb1d=Cesium__namespace[_0x381f33(-_0x467492._0x3b4ba2,0x8c8)][_0x6583e7(-0x4fa,_0x467492._0x5a524b)](this[_0x6583e7(_0x467492._0xfc3b52,0x177e)])[_0x6583e7(-0x1a3,0x704)];_0x5607e0=setPositionsHeight(_0x5607e0,_0x14bb1d),_0x736809['position']=_0x5607e0;const _0x58da6e=this['formatNum'](Cesium__namespace['Cartesian3'][_0x6583e7(0x1502,0x132e)](this['position'],_0x5607e0),0x2);function _0x381f33(_0x3e946f,_0x33909b){return _0x580bd1(_0x3e946f,_0x33909b- -0x21d);}_0x2ab975['dimensions_y']=_0x58da6e*0x2;function _0x6583e7(_0x247422,_0x1bce2b){return _0x580bd1(_0x247422,_0x1bce2b- -0x178);}this['updatePlane'](_0x2ab975);},'onDragEnd':(_0x328324,_0xc31a3c)=>{this['updateDraggers']();}}),this['draggers'][_0x3eda47(0x15dc,0xb9a)](_0x457726);else{const _0x3d9c3f={};_0x3d9c3f['x']=0x0,_0x3d9c3f['y']=0x0,_0x3d9c3f['z']=0x0;const _0x1ccd7c=_0x3d9c3f;switch(_0x2ab975['plane_normal']){case'x':case'y':_0x1ccd7c['z']=_0x2ab975[_0x3eda47(_0x1f1180._0x15ff90,0x109c)]/0x2;break;default:_0x1ccd7c['y']=_0x2ab975['dimensions_y']/0x2;break;}_0x457726=this['createDragger']({'position':getPositionByHprAndOffset(_0x393204,_0x1ccd7c,_0x19f365),'type':EditPointType['MoveHeight'],'tooltip':this['_map']['getLangText'](_0x580bd1(_0x1f1180._0xf103f3,0x146b)),'onDrag':(_0x2e9d84,_0x5b5a75)=>{const _0x4b68ca={_0x33b1ca:0x165};function _0x14d049(_0x32c9ac,_0x14efb2){return _0x3eda47(_0x14efb2,_0x32c9ac-0x37f);}const _0x54e7dd=this[_0x14d049(_0x3e9c8d._0x1f89a3,_0x3e9c8d._0x3e6353)](Cesium__namespace[_0x58cbae(0x10de,_0x3e9c8d._0x5bddff)]['distance'](this[_0x14d049(0x16f2,0x18a8)],_0x5b5a75),0x2);_0x2ab975[_0x14d049(0x141b,0x13b5)]=_0x54e7dd*0x2;function _0x58cbae(_0x5a1d68,_0x517f19){return _0x3eda47(_0x517f19,_0x5a1d68-_0x4b68ca._0x33b1ca);}this['updatePlane'](_0x2ab975);},'onDragEnd':(_0x26970b,_0xcff6a4)=>{function _0x40200c(_0x24bc42,_0x50ddc9){return _0x3eda47(_0x50ddc9,_0x24bc42-0x324);}this[_0x40200c(0x13dc,_0xf5d9a._0x118847)]();}}),this['draggers']['push'](_0x457726);}}['updatePlane'](_0x894b3a){const _0x351196={_0x1418d3:0x161f};function _0xa83fb8(_0x44bad0,_0x32d41e){return _0x54a7f1(_0x32d41e-0x15,_0x44bad0);}const _0x5a73ab=new Cesium__namespace['Cartesian2'](_0x894b3a['dimensions_x'],_0x894b3a['dimensions_y']);function _0x5f2b29(_0x44c4d7,_0xd8f5d8){return _0x7afdbe(_0x44c4d7,_0xd8f5d8- -0x155);}this[_0xa83fb8(0x408,0x543)]['dimensions']['setValue'](_0x5a73ab),this['fire'](EventType[_0xa83fb8(_0x351196._0x1418d3,0x14b9)]);}[_0x7afdbe(0x1db4,0x1302)](_0x16f4f5){const _0x2b6a1d={_0xad877f:0xa75};super['_updateStyleHook'](_0x16f4f5);function _0x17e721(_0x3fd5f8,_0x24817b){return _0x54a7f1(_0x24817b-0x2d,_0x3fd5f8);}function _0x248c59(_0x3f623e,_0x3da44b){return _0x54a7f1(_0x3f623e- -0x47a,_0x3da44b);}(Cesium__namespace[_0x248c59(0x1207,0x1860)](_0x16f4f5[_0x248c59(_0x2b6a1d._0xad877f,0x1422)])||Cesium__namespace['defined'](_0x16f4f5[_0x17e721(0x116f,0x1437)]))&&this['updateDraggers']();}}class PlaneEntity extends BasePointEntity{get['entityGraphic'](){var _0x1a9c47;return(_0x1a9c47=this['_entity'])===null||_0x1a9c47===void 0x0?void 0x0:_0x1a9c47['plane'];}get['EditClass'](){return EditPlane;}[_0x7afdbe(0x962,0x4b9)](){const _0x5afff3={_0x4e0f00:0x14a};function _0x3266e3(_0x2885c8,_0x5171a2){return _0x54a7f1(_0x5171a2- -0x352,_0x2885c8);}function _0x56527c(_0x5ee9a2,_0xd0a659){return _0x54a7f1(_0xd0a659- -0x11c,_0x5ee9a2);}const _0x102e42={'position':this['position'],'orientation':this['getOrientation'](),'plane':PlaneStyleConver['toCesiumVal'](this['style'],{},!![])};this['_entity']=this[_0x56527c(0x2055,0x1628)](_0x102e42),this[_0x3266e3(0x70b,_0x5afff3._0x4e0f00)]['label']&&this['_addLabel'](this[_0x3266e3(-0x757,0x14a)]['labe']);}[_0x54a7f1(0x82f,0xc73)](_0x483004,_0x1834b6){const _0x507c8a={_0x53f883:0x12dc};function _0x4a364b(_0x1c413e,_0x3b9420){return _0x7afdbe(_0x3b9420,_0x1c413e- -0x28d);}return PlaneStyleConver[_0x4a364b(_0x507c8a._0x53f883,0xc5f)](_0x483004,_0x1834b6,!![]);}['_updateStyleHook'](_0x323208,_0x38a6b5){const _0x1b4b9e={_0x5174fd:0x190,_0x2eb28a:0x14db,_0x451ec2:0x1766,_0x440bc1:0xe3,_0x2da5f0:0xade},_0x3261ad={_0x6bfb62:0x49d},_0x42c096={_0x337496:0x35};function _0x6c19fe(_0xf52b1,_0x18ec15){return _0x54a7f1(_0x18ec15-_0x42c096._0x337496,_0xf52b1);}function _0x5e74fa(_0x19a201,_0x332d6e){return _0x54a7f1(_0x19a201- -_0x3261ad._0x6bfb62,_0x332d6e);}_0x38a6b5&&(Cesium__namespace[_0x6c19fe(0x1de0,0x16b6)](_0x38a6b5[_0x5e74fa(-_0x1b4b9e._0x5174fd,0x94)])||Cesium__namespace['defined'](_0x38a6b5['pitch'])||Cesium__namespace['defined'](_0x38a6b5[_0x6c19fe(_0x1b4b9e._0x2eb28a,_0x1b4b9e._0x451ec2)]))&&(this[_0x5e74fa(0x1c4,-_0x1b4b9e._0x440bc1)]['orientation']=this[_0x5e74fa(0x3bb,_0x1b4b9e._0x2da5f0)]()),PlaneStyleConver['toCesiumVal'](_0x323208,this['entityGraphic'],!![]);}[_0x7afdbe(0xb38,0x738)](){const _0x55b0cf={_0x293670:0x34,_0x574fb2:0x797,_0x5403c0:0x6ae},_0x1e37ba={_0x436d9a:0x385};super['_setPositionsToCallback']();const _0x294ad1=getCesiumValue(this['entityGraphic']['dimensions'],Cesium__namespace['Cartesian2'],this[_0x2f5612(0x44e,0x55d)]['clock']['currentTime']);function _0xfcb6e(_0x5bd7c4,_0x1a0750){return _0x54a7f1(_0x1a0750-0x212,_0x5bd7c4);}_0x294ad1&&PlaneStyleConver['toOneJson']('dimensions',_0x294ad1,this['style']);function _0x2f5612(_0x3ff985,_0x4ef9b7){return _0x54a7f1(_0x3ff985- -_0x1e37ba._0x436d9a,_0x4ef9b7);}const _0x2d8274=getCesiumValue(this['entityGraphic'][_0xfcb6e(-_0x55b0cf._0x293670,0xa60)],Cesium__namespace['Plane'],this['_map']['clock']['currentTime']);_0x2d8274&&PlaneStyleConver['toOneJson']('plane',_0x2d8274,this[_0xfcb6e(_0x55b0cf._0x574fb2,_0x55b0cf._0x5403c0)]);}}register$5(_0x54a7f1(0x84e,0xd86),PlaneEntity,!![]);class EditCylinder extends EditPoly{set[_0x54a7f1(0x16e1,0xc5e)](_0x509fd5){this['positions'][0x0]=_0x509fd5;}get['position'](){const _0x1518fd={_0xa4ec98:0xde3};function _0x5048e4(_0x23543e,_0x5d9e7f){return _0x7afdbe(_0x23543e,_0x5d9e7f- -0x9a);}return this[_0x5048e4(_0x1518fd._0xa4ec98,0x1283)][0x0];}['bindDraggers'](){const _0x1fb361={_0x16b46d:0x119f,_0x3e776d:0xd0c,_0x499664:0x12fe,_0x26dd3e:0xa6b,_0x3b66b7:0x5e5,_0x41f384:0x9fb,_0x4fbeb2:0x1b2,_0x137618:0x1112},_0x566ef6={_0x12ae26:0x16b0,_0x2b1773:0x37e,_0x4a097a:0x797,_0x5d45f5:0xd9a,_0x5382db:0xcf8},_0x42d376={_0x55e605:0x485},_0x49b419={_0x581421:0xab,_0x111232:0xac7},_0x29aaef={_0x19c7a2:0xf28,_0x2fea10:0xcea},_0x29cc9c={_0x56bfc4:0x1a85,_0x3bd721:0x70d},_0x1ad435={_0x30f843:0x249},_0x32ff94=this[_0x28ab8a(_0x1fb361._0x16b46d,_0x1fb361._0x3e776d)];function _0x28ab8a(_0x2a1172,_0x496f9c){return _0x54a7f1(_0x496f9c- -0x3e3,_0x2a1172);}const _0x54dcc3=this[_0x28ab8a(0x125a,_0x1fb361._0x499664)];let _0x526764=0x0;const _0x513610=this['createDragger']({'position':_0x54dcc3,'onDragStart':(_0x4a98a2,_0x35c853)=>{function _0x5981b5(_0x3565b0,_0x3fa66a){return _0x8a5758(_0x3565b0,_0x3fa66a- -_0x1ad435._0x30f843);}function _0x5d7ad7(_0x52b7ba,_0x2af310){return _0x28ab8a(_0x2af310,_0x52b7ba-0x21a);}for(let _0xa42a40=0x0,_0x21b586=this[_0x5d7ad7(0x11a0,_0x29cc9c._0x56bfc4)][_0x5981b5(_0x29cc9c._0x3bd721,0xae5)];_0xa42a40<_0x21b586;_0xa42a40++){this[_0x5981b5(0x1232,0xec9)][_0xa42a40][_0x5981b5(0x1471,0x1153)]=![];}},'onDrag':(_0xbc4801,_0x9bca22)=>{_0x32ff94[0x0]=_0x9bca22;},'onDragEnd':(_0xd796f4,_0x21d0c5)=>{function _0x285ae3(_0x3f89ba,_0xd29b5c){return _0x8a5758(_0xd29b5c,_0x3f89ba- -0x2a7);}this[_0x285ae3(_0x29aaef._0x19c7a2,_0x29aaef._0x2fea10)]();}});_0x513610[_0x28ab8a(0xd5b,0x868)]=_0x526764,this['draggers']['push'](_0x513610);const _0x4878ad=getEllipseOuterPositions({'position':_0x54dcc3,'semiMajorAxis':this['style']['bottomRadius'],'semiMinorAxis':this[_0x28ab8a(_0x1fb361._0x26dd3e,0xb9)][_0x8a5758(-0x37d,_0x1fb361._0x3b66b7)],'rotation':Cesium__namespace['Math']['toRadians'](Number(this['style']['rotation']||0x0))});_0x526764=0x1;const _0x528c46=_0x4878ad[0x0];_0x32ff94[_0x526764]=_0x528c46;const _0x2d5049=this[_0x28ab8a(_0x1fb361._0x41f384,0x13c)]({'position':_0x528c46,'type':EditPointType['EditAttr'],'tooltip':this['_map'][_0x8a5758(0x8c5,0xdcb)]('_修改半径'),'onDrag':(_0x5e0712,_0x4bffd0)=>{function _0x49b266(_0x5462d8,_0x58d440){return _0x8a5758(_0x58d440,_0x5462d8- -0x19a);}_0x32ff94[0x1]=_0x4bffd0;function _0x2a912a(_0x5e52c7,_0x571ad7){return _0x28ab8a(_0x571ad7,_0x5e52c7-0x2ec);}const _0xfa3272=this['formatNum'](Cesium__namespace['Cartesian3']['distance'](_0x32ff94[0x0],_0x4bffd0),0x2);this[_0x49b266(_0x49b419._0x581421,-0x532)]['bottomRadius']=_0xfa3272,this[_0x49b266(_0x49b419._0x111232,0xa5f)](EventType['editStyle']);},'onDragEnd':(_0x40ed85,_0x5ef491)=>{this['updateDraggers']();}});function _0x8a5758(_0x24e89d,_0x20eda7){return _0x7afdbe(_0x24e89d,_0x20eda7- -_0x42d376._0x55e605);}_0x2d5049[_0x28ab8a(_0x1fb361._0x4fbeb2,0x868)]=_0x526764,this['draggers']['push'](_0x2d5049);if(!this['isScene2D']){_0x526764=0x2;const _0x5e578c=addPositionsHeight(_0x54dcc3,this['style']['length']);_0x32ff94[_0x526764]=_0x5e578c;const _0x2951a7=this['createDragger']({'position':_0x5e578c,'type':EditPointType['MoveHeight'],'tooltip':this['_map']['getLangText'](_0x28ab8a(0x8d5,0xb3e)),'onDrag':(_0x2425a1,_0x245bb9)=>{const _0x20e283={_0xe3062b:0x2c5};function _0x4798ee(_0x2b1f9c,_0x544efa){return _0x28ab8a(_0x544efa,_0x2b1f9c-_0x20e283._0xe3062b);}_0x32ff94[_0x2425a1['index']]=_0x245bb9;const _0x3e57b4=this['formatNum'](Cesium__namespace['Cartesian3'][_0x4798ee(0x1173,_0x566ef6._0x12ae26)](_0x32ff94[0x0],_0x245bb9),0x2);this[_0x4798ee(_0x566ef6._0x2b1773,_0x566ef6._0x4a097a)]['length']=_0x3e57b4;function _0x304f9d(_0x4c5912,_0x38040c){return _0x8a5758(_0x38040c,_0x4c5912-0x39b);}this[_0x4798ee(_0x566ef6._0x5d45f5,_0x566ef6._0x5382db)](EventType[_0x304f9d(0x15e8,0x1045)]);},'onDragEnd':(_0x4b48da,_0x467698)=>{this['updateDraggers']();}});_0x2951a7['index']=_0x526764,this[_0x8a5758(0xa3b,_0x1fb361._0x137618)][_0x28ab8a(0xfa7,0xb25)](_0x2951a7);}}[_0x54a7f1(0x10d4,0x196a)](_0xc13eb2){const _0x374b31={_0x245c3a:0x14e0,_0x1265ab:0xd97};function _0x583529(_0x33c552,_0x4ea07a){return _0x54a7f1(_0x33c552- -0x51,_0x4ea07a);}function _0x194c64(_0x57ef8f,_0x388002){return _0x54a7f1(_0x57ef8f- -0x1a1,_0x388002);}super['_updateStyleHook'](_0xc13eb2),(Cesium__namespace['defined'](_0xc13eb2[_0x194c64(0xc3e,0x169a)])||Cesium__namespace[_0x194c64(_0x374b31._0x245c3a,_0x374b31._0x1265ab)](_0xc13eb2[_0x583529(0x7eb,0x9ae)])||Cesium__namespace['defined'](_0xc13eb2['length'])||Cesium__namespace[_0x194c64(0x14e0,0x1937)](_0xc13eb2['diffHeight']))&&this['updateDraggers']();}}class CylinderEntity extends BasePointEntity{constructor(_0x42334f={}){const _0x2c0ee6={_0x55b243:0x231};super(_0x42334f);function _0x554717(_0x16dcbb,_0x3bb284){return _0x54a7f1(_0x16dcbb-_0x2c0ee6._0x55b243,_0x3bb284);}this[_0x554717(0x939,0x463)]=0x2,this['_maxPointNum']=0x2;}get['entityGraphic'](){const _0x8be9f7={_0x5be822:0x8b9};var _0x1449b5;function _0x570172(_0x4e3f8e,_0x95f079){return _0x54a7f1(_0x4e3f8e-0x258,_0x95f079);}return(_0x1449b5=this[_0x570172(_0x8be9f7._0x5be822,-0x19b)])===null||_0x1449b5===void 0x0?void 0x0:_0x1449b5['cylinder'];}get[_0x54a7f1(0x16ec,0xd4d)](){return EditCylinder;}['_mountedHook'](){const _0x2375d0={_0x1dd546:0x97b,_0x1e69e3:0x12b,_0x1e266b:0x550},_0x269f3e={_0x13c53f:0x4e0};function _0x114f9b(_0xd41f63,_0x3a6f0e){return _0x7afdbe(_0xd41f63,_0x3a6f0e- -0x17a);}function _0x28a7b3(_0x30e580,_0x27050c){return _0x54a7f1(_0x27050c- -_0x269f3e._0x13c53f,_0x30e580);}this['_entity']=this['_createEntity'](this[_0x28a7b3(_0x2375d0._0x1dd546,_0x2375d0._0x1e69e3)]()),this[_0x114f9b(0xccc,_0x2375d0._0x1e266b)]['label']&&this['_addLabel'](this['style']['label']);}[_0x7afdbe(0x7d9,0x839)](){const _0x1991f5={'position':this['position'],'orientation':this['getOrientation'](),'cylinder':CylinderStyleConver['toCesiumVal'](this['style'],{},!![])};return _0x1991f5;}['_style2Json'](_0x2262cf,_0xa68307){return CylinderStyleConver['toJSON'](_0x2262cf,_0xa68307,!![]);}['_updateStyleHook'](_0x4dd4e9,_0x4950d0){const _0x3599c7={_0x5b8bb4:0x558,_0x3f89d4:0x8a0,_0x3a3723:0x111b,_0x10b24d:0x4d1,_0x17daa0:0xe7,_0x48cd6e:0xd7f,_0x59bf00:0xc85};function _0x27130c(_0x665623,_0x397723){return _0x7afdbe(_0x665623,_0x397723- -0x15f);}CylinderStyleConver['toCesiumVal'](_0x4dd4e9,this['entityGraphic'],{},!![]);(Cesium__namespace['defined'](_0x4950d0['heading'])||Cesium__namespace['defined'](_0x4950d0[_0x27130c(0x19a6,0x1761)])||Cesium__namespace[_0x27130c(0xe40,0x1750)](_0x4950d0['roll']))&&(this['_entity']['orientation']=this[_0x214562(_0x3599c7._0x5b8bb4,0x738)]());function _0x214562(_0x2ed1fa,_0x27f6ce){return _0x54a7f1(_0x2ed1fa- -0x300,_0x27f6ce);}if(Cesium__namespace['defined'](_0x4950d0['length'])||Cesium__namespace['defined'](_0x4950d0[_0x27130c(_0x3599c7._0x3f89d4,_0x3599c7._0x3a3723)])){var _0x289a93;((_0x289a93=this[_0x214562(_0x3599c7._0x10b24d,_0x3599c7._0x17daa0)])===null||_0x289a93===void 0x0?void 0x0:_0x289a93[_0x214562(0xc85,_0x3599c7._0x48cd6e)])>0x0&&(this['_position_show']=addPositionsHeight(this['_positions_draw'][0x0],_0x4dd4e9[_0x214562(_0x3599c7._0x59bf00,0xd2f)]/0x2));}}['_updatePositionsHook'](){const _0x45c961={_0x11fb42:0x409,_0x1fd7c2:0x948,_0x10ccfc:0xa02,_0x604444:0x1099},_0x296185={_0x50e2c6:0x11a},_0x2b2ad9={_0x1b2c0b:0x3c8};var _0x981836,_0x2a983f;function _0x29698c(_0x5e8b46,_0x31caef){return _0x54a7f1(_0x5e8b46- -_0x2b2ad9._0x1b2c0b,_0x31caef);}function _0x18d72e(_0x18f3de,_0x5ec6df){return _0x7afdbe(_0x18f3de,_0x5ec6df- -_0x296185._0x50e2c6);}(_0x981836=this['editing'])!==null&&_0x981836!==void 0x0&&_0x981836['enabled']&&((_0x2a983f=this['_positions_draw'])===null||_0x2a983f===void 0x0?void 0x0:_0x2a983f['length'])>0x0&&(this['_position_show']=addPositionsHeight(this[_0x29698c(_0x45c961._0x11fb42,_0x45c961._0x1fd7c2)][0x0],this['style'][_0x18d72e(_0x45c961._0x10ccfc,_0x45c961._0x604444)]/0x2)),super['_updatePositionsHook']();}[_0x7afdbe(0xb2f,0x738)](){const _0x3cce4f={_0x2438f9:0x9ce,_0x2552c5:0x80f,_0x42b396:0x12cd,_0x1d60bb:0xa15,_0x5c131c:0xb5,_0x4a09b9:0xe1b,_0x5d555a:0x7e8,_0x2a8916:0x5dc,_0x47aaf9:0x3a,_0x3163f1:0x1c37,_0x5c50b1:0x571,_0xa7f6fa:0x4d8},_0x477051={_0x462f54:0xccd,_0x373a79:0x147c},_0x5a4045={_0x4f17d4:0xc2d},_0x1c5c74={_0x186ac1:0x3ea,_0x4f6718:0x67d},_0x152023={_0x75885d:0x1};if(this['_isCallbackPositions'])return;this['_isCallbackPositions']=!![];const _0x509658=this[_0x21767b(_0x3cce4f._0x2438f9,_0x3cce4f._0x2552c5)][_0x21767b(_0x3cce4f._0x42b396,_0x3cce4f._0x1d60bb)][_0x2172ef(0x1c82,0x11f3)];function _0x21767b(_0x74ce17,_0x27e3a1){return _0x7afdbe(_0x74ce17,_0x27e3a1- -0x1f2);}this[_0x2172ef(_0x3cce4f._0x5c131c,0x23c)][_0x21767b(0x183b,_0x3cce4f._0x4a09b9)]=getCesiumValue(this['entityGraphic'][_0x2172ef(_0x3cce4f._0x5d555a,0xb7f)],Number,_0x509658),this[_0x21767b(-0x290,0x56a)]['topRadius']=new Cesium__namespace[(_0x21767b(0x560,0xd86))](_0x204ed6=>{function _0x40521a(_0x30ef70,_0x220195){return _0x2172ef(_0x30ef70,_0x220195- -0x23d);}return this[_0x40521a(0x812,-_0x152023._0x75885d)]['topRadius'];},![]),this['style']['bottomRadius']=getCesiumValue(this[_0x21767b(-0x198,0x56a)][_0x2172ef(0xf38,_0x3cce4f._0x2a8916)],Number,_0x509658),this[_0x21767b(_0x3cce4f._0x47aaf9,0x56a)]['bottomRadius']=new Cesium__namespace['CallbackProperty'](_0x554566=>{function _0x522d82(_0xfad7fc,_0x5660d3){return _0x2172ef(_0xfad7fc,_0x5660d3- -0x241);}function _0x5a4622(_0x468ed3,_0x934448){return _0x21767b(_0x934448,_0x468ed3- -0x1fb);}return this[_0x5a4622(0x2dd,_0x1c5c74._0x186ac1)][_0x5a4622(_0x1c5c74._0x4f6718,0xb4c)];},![]),this['style']['length']=getCesiumValue(this[_0x21767b(-0x15b,0x56a)][_0x21767b(0x16e5,0xfc1)],Number,_0x509658);function _0x2172ef(_0x5d761d,_0x130f83){return _0x7afdbe(_0x5d761d,_0x130f83- -0x48e);}this['entityGraphic']['length']=new Cesium__namespace['CallbackProperty'](_0x2c634f=>{function _0x21cb1e(_0x23bfcb,_0x2b9d3f){return _0x2172ef(_0x23bfcb,_0x2b9d3f- -0xf8);}return this['style'][_0x21cb1e(0x10bc,_0x5a4045._0x4f17d4)];},![]),this[_0x21767b(_0x3cce4f._0x3163f1,0x171d)]?(this[_0x2172ef(0xe71,_0x3cce4f._0x5c50b1)]=this['positions'],this['_positions_draw'][0x0]=addPositionsHeight(this['position'],-this[_0x21767b(0x8f0,_0x3cce4f._0xa7f6fa)]['length']/0x2)):this[_0x21767b(0x221,0x80d)]=[],this['_position_show']=this['position'],this['position']=new Cesium__namespace['CallbackProperty'](_0x4dce3c=>{function _0x1ad47c(_0x5e1e65,_0x4f4819){return _0x21767b(_0x5e1e65,_0x4f4819- -0xea);}return this[_0x1ad47c(_0x477051._0x462f54,_0x477051._0x373a79)];},![]);}['_cancelPositionsCallback'](){const _0x46c143={_0x93f488:0xfaa,_0x48c2e5:0xd31,_0x5858d3:0xab6,_0x1bda9e:0xd01,_0x1afcf0:0xd31,_0x786550:0x4a7,_0x3a6883:0xf2a,_0x1171ca:0x17a,_0x15da2e:0x7e1,_0x285479:0x535,_0x2281bc:0x426},_0x3ff58f={_0x4229b4:0x5b},_0x29205e={_0xff41c8:0x195};function _0x779aea(_0xdaeb1a,_0x39f7e8){return _0x7afdbe(_0x39f7e8,_0xdaeb1a- -_0x29205e._0xff41c8);}if(!this[_0x779aea(0x107a,_0x46c143._0x93f488)])return;this[_0x779aea(0x107a,0x1960)]=![],this[_0x8734da(0x15f0,_0x46c143._0x48c2e5)]=this['_position_show'],this[_0x8734da(0xca0,_0x46c143._0x5858d3)]=LngLatPoint[_0x779aea(0x3d6,0xe6f)](this[_0x8734da(_0x46c143._0x1bda9e,_0x46c143._0x1afcf0)]);function _0x8734da(_0x55b816,_0x1f8684){return _0x54a7f1(_0x1f8684- -_0x3ff58f._0x4229b4,_0x55b816);}this['_entity']&&(this[_0x779aea(0x5c7,-0x27d)][_0x8734da(_0x46c143._0x786550,_0x46c143._0x3a6883)]=this['style']['length'],this[_0x779aea(0x5c7,-0x440)]['topRadius']=this['style']['topRadius'],this['entityGraphic'][_0x8734da(_0x46c143._0x1171ca,_0x46c143._0x15da2e)]=this[_0x779aea(_0x46c143._0x285479,-_0x46c143._0x2281bc)]['bottomRadius'],this['_updatePositionsHook']());}[_0x54a7f1(0x27e,-0x728)](){const _0x5454ff={_0x529b35:0x15a2},_0x4bb9ef={_0x45cefe:0x146},_0x4e42ea={_0x1eb145:0x102};function _0xc85ac1(_0x513008,_0x581600){return _0x7afdbe(_0x513008,_0x581600- -_0x4e42ea._0x1eb145);}this['_map']['on'](EventType[_0xc85ac1(_0x5454ff._0x529b35,0xca1)],this['_onMouseMoveHandler'],this),this[_0xc85ac1(0xeae,0x8ff)]['on'](this['_drawAddEventType'],this['_onClickHandler'],this);function _0x31f413(_0x44310d,_0x4356d5){return _0x54a7f1(_0x4356d5- -_0x4bb9ef._0x45cefe,_0x44310d);}this['_map']['on'](this['_drawEndEventType'],this['_onDbClickHandler'],this),(this['options']['hasDrawDelPoint']??!![])&&this['_map']['on'](this[_0xc85ac1(0x98b,0x8b3)],this['_onRightClickHandler'],this);}[_0x7afdbe(0xdba,0xc98)](){const _0x228670={_0x1ee24a:0x7f1,_0x4512f4:0x864,_0x101d2d:0x17b},_0x62d0b0={_0x50f6d6:0x4bb};this['_map']['off'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);function _0x323487(_0x349ed1,_0x2fb098){return _0x7afdbe(_0x2fb098,_0x349ed1- -0x210);}this['_map']['off'](this['_drawAddEventType'],this['_onClickHandler'],this);function _0x1ff3bf(_0x23174a,_0x3e7f82){return _0x54a7f1(_0x3e7f82- -_0x62d0b0._0x50f6d6,_0x23174a);}this[_0x323487(_0x228670._0x1ee24a,_0x228670._0x4512f4)]['off'](this[_0x1ff3bf(0x79c,0xae9)],this['_onDbClickHandler'],this),(this[_0x1ff3bf(-0x84,0x3f5)][_0x1ff3bf(-0x121,_0x228670._0x101d2d)]??!![])&&this['_map']['off'](this['_drawDelEventType'],this['_onRightClickHandler'],this);}[_0x54a7f1(0x11ff,0x1b38)](_0x13d6eb){const _0x3d6207={_0xcf5fe6:0x1954,_0x4c8231:0xeed,_0x4043f0:0x11d7,_0x3f0aac:0xa49},_0x5e555e={_0x7fe9ec:0x4a};function _0xa359c0(_0x1794dd,_0x570c46){return _0x7afdbe(_0x570c46,_0x1794dd- -0x2c6);}this[_0xa359c0(0x1492,_0x3d6207._0xcf5fe6)]=addPositionsHeight(this['_positions_draw'][0x0],this['style'][_0xa359c0(_0x3d6207._0x4c8231,0x138d)]/0x2);function _0x57145d(_0x5f40d2,_0x5ea7a5){return _0x7afdbe(_0x5f40d2,_0x5ea7a5-_0x5e555e._0x7fe9ec);}if(!_0x13d6eb&&this[_0xa359c0(0x739,-0x32f)]['length']>0x1){const _0x55e631=formatNum$1(Cesium__namespace['Cartesian3'][_0x57145d(_0x3d6207._0x4043f0,0x1509)](this[_0x57145d(0x126a,_0x3d6207._0x3f0aac)][0x0],this['_positions_draw'][0x1]),0x2);this[_0xa359c0(0x404,-0x224)][_0xa359c0(0x7a4,-0x303)]=_0x55e631,this['style']['length']=_0x55e631*0x2;}}['_onRightClickHandler'](_0x503f5f){const _0x399aff={_0x1cc4fa:0xc5e},_0x4bc7f1={_0x2dd868:0x49a};super[_0x5b8723(-0x27a,-_0x399aff._0x1cc4fa)](_0x503f5f);function _0x5b8723(_0x20af5e,_0x1fd03b){return _0x54a7f1(_0x20af5e- -_0x4bc7f1._0x2dd868,_0x1fd03b);}this['style']['bottomRadius']=0x0,this['style']['length']=0x0;}}register$5('cylinder',CylinderEntity,!![]);class ConeTrack extends CylinderEntity{constructor(_0x425c5c={}){const _0x24bb80={_0x31c418:0x15b8,_0x32f252:0x13d5},_0x473e90={_0x4ad127:0x298};function _0x3082ee(_0x581d5e,_0x466059){return _0x54a7f1(_0x466059-_0x473e90._0x4ad127,_0x581d5e);}function _0x5f2af0(_0x4cc3fe,_0x4bbbb7){return _0x7afdbe(_0x4bbbb7,_0x4cc3fe-0x6e);}super(_0x425c5c),_0x425c5c[_0x5f2af0(0x15b8,0x1320)]&&(this[_0x5f2af0(_0x24bb80._0x31c418,_0x24bb80._0x32f252)]=_0x425c5c[_0x5f2af0(0x15b8,0x2037)]);}get[_0x7afdbe(0x1636,0x1960)](){return![];}get['EditClass'](){return undefined;}get[_0x7afdbe(0x18c1,0x154a)](){return this['_targetPosition'];}set[_0x7afdbe(0x13db,0x154a)](_0xc565ed){const _0x4b5c51={_0x2a6873:0x100d};function _0x5acd49(_0x35a745,_0x5881ec){return _0x54a7f1(_0x5881ec-0x1fa,_0x35a745);}this['_targetPoint']=LngLatPoint['parse'](_0xc565ed),this['_targetPosition']=this[_0x5acd49(0x5cd,_0x4b5c51._0x2a6873)]['toCartesian']();}get['targetPoint'](){return this['_targetPoint'];}get['angle'](){const _0x181c8b={_0x1fb2c0:0x1eb};function _0x21770e(_0xaa75f,_0x5ecbb3){return _0x54a7f1(_0x5ecbb3- -_0x181c8b._0x1fb2c0,_0xaa75f);}return this[_0x21770e(0xc39,0x2b1)]['angle'];}set['angle'](_0x29e1cf){function _0x507d7d(_0x4057ed,_0x474d76){return _0x7afdbe(_0x4057ed,_0x474d76- -0xa8);}function _0x245061(_0x420be4,_0x3d77ba){return _0x7afdbe(_0x3d77ba,_0x420be4- -0x29a);}this[_0x507d7d(0x1b0,0x622)][_0x507d7d(0x1c6e,0x1628)]=_0x29e1cf;}['_mountedHook'](){const _0x5f2e8e={_0x40f956:0xd91};function _0x5ac533(_0x3ef156,_0x101503){return _0x7afdbe(_0x101503,_0x3ef156- -0x15b);}super[_0x5ac533(0x35e,_0x5f2e8e._0x40f956)](),this['_updateDistanceDisplayConditionByEdit']();}['_getCreateEntityAttr'](){const _0x46b903={_0x441680:0x9d3,_0x25b810:0x711,_0x176166:0x1226,_0x346cfe:0x139,_0x2751d3:0xc87,_0x579f30:0x1e8,_0x44e52f:0xd2d},_0x745ca8={_0x229c62:0x34d},_0x3ba035={_0x486a92:0x2b4},_0x39985d={_0x324628:0x12b8},_0x16f8a5=super['_getCreateEntityAttr']();_0x16f8a5[_0x4f9a3c(_0x46b903._0x441680,0x1394)]=new Cesium__namespace[(_0x4f9a3c(0x11c6,0x9fd))](_0x5a63a6=>{function _0x1624bb(_0x518dcf,_0x27a501){return _0x4f9a3c(_0x518dcf,_0x27a501-0xdb);}function _0x2fa2a5(_0x145e1f,_0x595dec){return _0x431788(_0x595dec,_0x145e1f-0x453);}return this[_0x2fa2a5(0x1524,0x15a0)](_0x5a63a6),this[_0x1624bb(0x1642,_0x39985d._0x324628)];},![]);function _0x431788(_0x273d2a,_0x5095bf){return _0x54a7f1(_0x5095bf- -_0x3ba035._0x486a92,_0x273d2a);}_0x16f8a5['orientation']=new Cesium__namespace['CallbackProperty'](_0xbbacc2=>{return this['_orientation'];},![]);function _0x4f9a3c(_0x2542e8,_0x21c2b2){return _0x54a7f1(_0x21c2b2- -_0x745ca8._0x229c62,_0x2542e8);}return _0x16f8a5['cylinder'][_0x431788(_0x46b903._0x25b810,0xcd1)]=new Cesium__namespace['CallbackProperty'](_0x18c0a7=>{return this['_cylinderLength'];},![]),!Cesium__namespace[_0x431788(_0x46b903._0x176166,0x13cd)](_0x16f8a5['cylinder'][_0x4f9a3c(_0x46b903._0x346cfe,0xa92)])&&(_0x16f8a5['cylinder'][_0x431788(_0x46b903._0x2751d3,0xb2b)]=0x0),Cesium__namespace['defined'](this[_0x431788(0x68c,_0x46b903._0x579f30)]['angle'])&&(_0x16f8a5[_0x4f9a3c(0x740,0xb5)][_0x431788(0x65e,0x588)]=new Cesium__namespace['CallbackProperty'](_0x54bc28=>{return this['_cylinderBottomRadius'];},![])),this[_0x431788(0x980,_0x46b903._0x44e52f)]=!![],_0x16f8a5;}['_update'](_0x2a80ed){const _0x28d0b5={_0x297f62:0x1333,_0x555d7:0xa2d,_0xa3444c:0x94a,_0x59c61c:0x963,_0x2bfe90:0x193,_0x17fab8:0x62b,_0x51b1fa:0x108a,_0x3faaa4:0xdb9,_0x3ccd40:0x1d05,_0x4ee86e:0x1950,_0xd36aa9:0x1082,_0x4dcfee:0x911},_0x14fa14={_0x43fd65:0x62e};function _0x399783(_0x19cea3,_0x567ed6){return _0x7afdbe(_0x567ed6,_0x19cea3- -0x6ce);}const _0x30c9bd=getPositionValue(this[_0x399783(0x1241,0x1a0f)],_0x2a80ed);if(!_0x30c9bd){this['_position_show']=undefined;return;}if(Cesium__namespace['defined'](this[_0x4af62d(0x8c9,0xf1c)])){const _0x14c54e=getPositionValue(this['targetPosition'],_0x2a80ed);_0x14c54e&&(this['_cylinderLength']=Cesium__namespace['Cartesian3']['distance'](_0x30c9bd,_0x14c54e),this['_position_show']=Cesium__namespace['Cartesian3']['midpoint'](_0x30c9bd,_0x14c54e,new Cesium__namespace[(_0x399783(0xe47,0x97b))]()),this['_orientation']=Cesium__namespace[_0x399783(0x2cd,0x3d8)]['headingPitchRollQuaternion'](_0x30c9bd,getHeadingPitchRollForLine(_0x30c9bd,_0x14c54e),this['ellipsoid'],this[_0x4af62d(0x1046,_0x28d0b5._0x297f62)]));}else{this[_0x399783(0x1051,0x1863)]=this[_0x399783(-0x4,_0x28d0b5._0x555d7)]['length'];if(!this['_cylinderLength']){const _0x1dbfd1=LngLatPoint[_0x399783(-0xe5,0x5ed)](_0x30c9bd),_0x1de63b={};_0x1de63b[_0x4af62d(0x992,0x335)]=!![],this[_0x4af62d(0x1577,0x10f1)]=_0x1dbfd1[_0x4af62d(0x511,0x55)]-getHeight(this['_map']['scene'],_0x30c9bd,_0x1de63b);}const _0x2da80f=Cesium__namespace['HeadingPitchRoll'][_0x399783(_0x28d0b5._0xa3444c,_0x28d0b5._0x59c61c)](this[_0x399783(-_0x28d0b5._0x2bfe90,_0x28d0b5._0x17fab8)],this['pitch'],this['roll']);this['_orientation']=Cesium__namespace['Transforms'][_0x399783(-0x9f,-0xd5)](_0x30c9bd,_0x2da80f,this['ellipsoid'],this[_0x4af62d(0x9cb,0x1333)]),this[_0x399783(_0x28d0b5._0x51b1fa,_0x28d0b5._0x3faaa4)]=getPositionByHprAndLen(_0x30c9bd,_0x2da80f,this['_cylinderLength']/0x2);}Cesium__namespace[_0x4af62d(_0x28d0b5._0x3ccd40,0x1281)](this[_0x4af62d(0x96c,0x9c)]['angle'])&&(this[_0x399783(0xa1f,0x16a)]=this[_0x399783(0x1051,_0x28d0b5._0x4ee86e)]*Math['cos'](Cesium__namespace['Math'][_0x399783(_0x28d0b5._0xd36aa9,_0x28d0b5._0x4dcfee)](0x5a-this[_0x4af62d(0x1055,0x10a2)])));function _0x4af62d(_0x5de99f,_0x4199f0){return _0x7afdbe(_0x5de99f,_0x4199f0- -_0x14fa14._0x43fd65);}this['_updateLabelPosition'](this['_position_show']);}[_0x54a7f1(0x828,0x4da)](){}['_setPositionsToCallback'](){}[_0x7afdbe(0x12fe,0x1766)](){}[_0x54a7f1(0x9a3,0x40e)](){const _0x381ece={_0x5b9ddc:0x1d2,_0x27e60f:0x14f4,_0x5e0633:0x1524},_0x245ed7={_0xcb934d:0x6bd};function _0x49d70d(_0x527174,_0x29bde7){return _0x7afdbe(_0x527174,_0x29bde7- -_0x245ed7._0xcb934d);}function _0x447a03(_0x336bb3,_0x2ad168){return _0x54a7f1(_0x2ad168- -0xdc,_0x336bb3);}return this[_0x49d70d(-0x4f,_0x381ece._0x5b9ddc)][_0x447a03(_0x381ece._0x27e60f,_0x381ece._0x5e0633)];}}register$5('coneTrack',ConeTrack);class EditEllipsoid extends EditBase{set['position'](_0x28b660){const _0xc0fd53={_0x4d3efc:0xe1b,_0x21df57:0x6a5};function _0x158953(_0x561662,_0x2d110c){return _0x7afdbe(_0x2d110c,_0x561662- -0x502);}this[_0x158953(_0xc0fd53._0x4d3efc,_0xc0fd53._0x21df57)][0x0]=_0x28b660;}get['position'](){function _0x363681(_0x2744a2,_0x1f21cf){return _0x7afdbe(_0x1f21cf,_0x2744a2- -0x2a1);}return this[_0x363681(0x107c,0x1b12)][0x0];}set[_0x7afdbe(0x194f,0x131d)](_0x374710){this['_graphic']['_positions_draw']=_0x374710;}get[_0x54a7f1(0x10ef,0x18f2)](){const _0x4d13fa={_0x2ff070:0xe79,_0x40df88:0xaf1,_0x20158a:0x1623,_0x587620:0xc5e};function _0x55393f(_0x415f2a,_0x560fc9){return _0x7afdbe(_0x415f2a,_0x560fc9- -0x30d);}function _0x50d907(_0x4cdf94,_0x430697){return _0x54a7f1(_0x4cdf94- -0x3e9,_0x430697);}return this[_0x50d907(_0x4d13fa._0x2ff070,_0x4d13fa._0x40df88)]['_positions_draw']||this['_graphic'][_0x55393f(_0x4d13fa._0x20158a,_0x4d13fa._0x587620)]||[];}['bindDraggers'](){const _0x48191d={_0x2c74c1:0x7ce,_0x46a7a3:0x691,_0x3bf5f1:0x116b,_0x2c6b30:0x207,_0x542a73:0x50b,_0x176b57:0x1999,_0x8fc9d1:0xf5c,_0x15e77f:0xa3d,_0x397434:0x812},_0x549c01={_0x4f703a:0x15dc,_0x5f0c6f:0x1a20,_0x4f6348:0x1409},_0x99ec21={_0x2f454b:0xaa5,_0x292389:0x139d,_0x11e63a:0x1577,_0x315a5f:0xb82},_0x3160bc={_0x291f50:0x34b},_0x20055e={_0x567693:0x6cf,_0x1161ba:0x3d6,_0x22badd:0xdd0,_0x23488e:0x383,_0x3b0e71:0x25,_0x4bd100:0x4be,_0x1f28ef:0x1381,_0x3faf99:0xec1,_0xc53474:0xfe3},_0x262d5e={_0xd93e60:0x22c},_0x544190={_0x7cadf8:0x29e},_0x40137a={_0x4d9c86:0x18b8};let _0x3dd700;const _0x66ad6f=this['positions'][0x0];_0x3dd700=this['createDragger']({'position':_0x66ad6f,'onDragStart':(_0x4db25d,_0x5aa2bb)=>{for(let _0x387eba=0x0,_0xfd33bd=this['draggers']['length'];_0x387eba<_0xfd33bd;_0x387eba++){this['draggers'][_0x387eba]['show']=![];}},'onDrag':(_0xb51a6a,_0x45fe1f)=>{this['positions'][0x0]=_0x45fe1f;},'onDragEnd':(_0x5153c5,_0x399e93)=>{function _0x353f7d(_0x25ca31,_0x533ed9){return _0x536c(_0x25ca31- -0x35c,_0x533ed9);}this[_0x353f7d(0xfa3,_0x40137a._0x4d9c86)]();}}),_0x3dd700[_0x459f9a(_0x48191d._0x2c74c1,_0x48191d._0x46a7a3)]=0x0;function _0x459f9a(_0x3f0d34,_0x1eebc8){return _0x7afdbe(_0x1eebc8,_0x3f0d34- -0x6ab);}this['draggers'][_0x43f128(0xc73,_0x48191d._0x3bf5f1)](_0x3dd700);function _0x43f128(_0x45966f,_0x12b059){return _0x7afdbe(_0x12b059,_0x45966f- -0x4c3);}const _0x96f6d4=this['options'][_0x459f9a(0x2b7,-0x15e)]??!![];if(_0x96f6d4&&!this['isScene2D']){_0x3dd700=this['createDragger']({'position':addPositionsHeight(_0x66ad6f,this['style']['radii_z']),'type':EditPointType['MoveHeight'],'tooltip':this['_map']['getLangText']('_修改半径'),'onDrag':(_0x3ad5d3,_0x35f2d1)=>{function _0x1cc5e3(_0x43ff8e,_0x4a8988){return _0x43f128(_0x4a8988-_0x544190._0x7cadf8,_0x43ff8e);}const _0x4e461d=this['positions'][0x0];function _0x304503(_0x27f3a8,_0x2c5940){return _0x43f128(_0x2c5940- -_0x262d5e._0xd93e60,_0x27f3a8);}const _0x1c3fae=this[_0x304503(-_0x20055e._0x567693,_0x20055e._0x1161ba)](Cesium__namespace['Cartesian3'][_0x304503(0xe00,_0x20055e._0x22badd)](_0x4e461d,_0x35f2d1),0x2);this[_0x304503(_0x20055e._0x23488e,-_0x20055e._0x3b0e71)][_0x1cc5e3(0x656,_0x20055e._0x4bd100)]=_0x1c3fae,this['_graphic']['updateRadii'](this['style']),this[_0x1cc5e3(_0x20055e._0x1f28ef,_0x20055e._0x3faf99)](EventType[_0x304503(0x9e3,_0x20055e._0xc53474)]);}}),this['draggers'][_0x43f128(0xc73,0x8c1)](_0x3dd700);const _0x290974=getEllipseOuterPositions({'position':_0x66ad6f,'semiMajorAxis':Number(this[_0x43f128(_0x48191d._0x2c6b30,0x407)]['radii_x']),'semiMinorAxis':Number(this[_0x43f128(0x207,_0x48191d._0x542a73)]['radii_y']),'rotation':Cesium__namespace[_0x43f128(0x1017,_0x48191d._0x176b57)]['toRadians'](Number(this['style'][_0x43f128(_0x48191d._0x8fc9d1,0x1807)]||0x0))}),_0x23f81c=_0x290974[0x0],_0x46ea7e=this['createDragger']({'position':_0x23f81c,'type':EditPointType[_0x459f9a(_0x48191d._0x15e77f,_0x48191d._0x397434)],'tooltip':this['_map']['getLangText']('_修改半径'),'onDrag':(_0x2208dc,_0x49ef33)=>{const _0x57ae67=this['positions'][0x0],_0x4ace89=Cesium__namespace[_0x2e8d48(0x10e1,0x986)][_0x2e8d48(0xc36,0x3f3)](_0x57ae67)['height'];_0x49ef33=setPositionsHeight(_0x49ef33,_0x4ace89),_0x2208dc['position']=_0x49ef33;function _0x5daca1(_0x3ba3b1,_0x2a8147){return _0x43f128(_0x2a8147-0x533,_0x3ba3b1);}function _0x2e8d48(_0x1cf394,_0xaf97f7){return _0x43f128(_0xaf97f7-_0x3160bc._0x291f50,_0x1cf394);}const _0x18e4fd=this['formatNum'](Cesium__namespace[_0x2e8d48(_0x99ec21._0x2f454b,_0x99ec21._0x292389)]['distance'](_0x57ae67,_0x49ef33),0x2);this[_0x5daca1(0xe5f,0x73a)]['radii_y']=_0x18e4fd,this['_graphic'][_0x2e8d48(0xb23,_0x99ec21._0x11e63a)](this[_0x2e8d48(_0x99ec21._0x315a5f,0x552)]),this['fire'](EventType['editStyle']);}});_0x3dd700['majorDragger']=_0x46ea7e,this['draggers']['push'](_0x46ea7e);const _0x26e23c=_0x290974[0x1],_0x5a1ed7=this['createDragger']({'position':_0x26e23c,'type':EditPointType[_0x459f9a(_0x48191d._0x15e77f,0xd2c)],'tooltip':this['_map']['getLangText']('_修改半径'),'onDrag':(_0x5a9ac0,_0xd17296)=>{const _0x57a739=this['positions'][0x0],_0x7090c6=Cesium__namespace['Cartographic'][_0x4052cd(0x238,0x372)](_0x57a739)[_0x5ef629(0xdc9,0x40e)];_0xd17296=setPositionsHeight(_0xd17296,_0x7090c6),_0x5a9ac0[_0x4052cd(_0x549c01._0x4f703a,_0x549c01._0x5f0c6f)]=_0xd17296;function _0x5ef629(_0x339fcc,_0x31133c){return _0x43f128(_0x31133c-0x3c,_0x339fcc);}const _0x2d26f9=this['formatNum'](Cesium__namespace['Cartesian3'][_0x4052cd(0x118c,_0x549c01._0x4f6348)](_0x57a739,_0xd17296),0x2);function _0x4052cd(_0x5eb586,_0x54240b){return _0x43f128(_0x5eb586-0x190,_0x54240b);}this[_0x4052cd(0x397,0x618)][_0x4052cd(0x15cc,0x1ac3)]=_0x2d26f9,this['_graphic'][_0x5ef629(0xe6d,0x1268)](this[_0x5ef629(0x713,0x243)]),this['fire'](EventType['editStyle']);}});_0x3dd700['minorDragger']=_0x5a1ed7,this['draggers']['push'](_0x5a1ed7);}}[_0x7afdbe(0x1484,0x1302)](_0x7453ec){const _0x337b72={_0x2036c6:0xa9e,_0x151d44:0x157d,_0x44cee4:0x1403,_0xb0cecc:0xe43};super[_0xf314de(_0x337b72._0x2036c6,0xe56)](_0x7453ec);function _0xf314de(_0x278ce6,_0x1fccc8){return _0x7afdbe(_0x278ce6,_0x1fccc8- -0x4ac);}function _0x22b5a5(_0x47200c,_0x32f5ef){return _0x7afdbe(_0x47200c,_0x32f5ef-0x36);}(Cesium__namespace[_0xf314de(_0x337b72._0x151d44,0x1403)](_0x7453ec[_0x22b5a5(0x12c0,0x1935)])||Cesium__namespace[_0xf314de(0x1522,_0x337b72._0x44cee4)](_0x7453ec['radii_y'])||Cesium__namespace['defined'](_0x7453ec['radii_z']))&&this[_0x22b5a5(_0x337b72._0xb0cecc,0x168a)]();}}class EllipsoidEntity extends BasePointEntity{constructor(_0x4170e4={}){const _0x36a56d={_0x30b9e3:0x141};super(_0x4170e4);function _0x3df2bb(_0x32b105,_0x32647b){return _0x54a7f1(_0x32647b- -_0x36a56d._0x30b9e3,_0x32b105);}this[_0x3df2bb(-0x391,0x5c7)]=0x2,this['_maxPointNum']=0x3;}get['entityGraphic'](){const _0x498581={_0xf1d74d:0x2bc};function _0x8125d7(_0x3bfc94,_0x4022fd){return _0x7afdbe(_0x3bfc94,_0x4022fd- -0x5d3);}var _0x23063a;return(_0x23063a=this[_0x8125d7(0xd60,_0x498581._0xf1d74d)])===null||_0x23063a===void 0x0?void 0x0:_0x23063a['ellipsoid'];}get[_0x7afdbe(0x15e6,0x191a)](){return EditEllipsoid;}get[_0x54a7f1(0x50e,0x99f)](){const _0x4cfd47={_0x2ea6fb:0x1066,_0x3964f0:0x921},_0x421074={_0x5e7ee6:0x494};function _0x5d6d58(_0x4f13dd,_0x30601e){return _0x7afdbe(_0x30601e,_0x4f13dd- -0x137);}let _0x1aa2e9=[];this[_0x5d6d58(0x854,_0x4cfd47._0x2ea6fb)]&&_0x1aa2e9[_0x3a2832(0xca2,0x772)](this['_primitive_label']);this['_entity_scanPlane']&&(_0x1aa2e9=_0x1aa2e9[_0x3a2832(0x75f,_0x4cfd47._0x3964f0)](this['_entity_scanPlane']));function _0x3a2832(_0x2eeb4c,_0x10cf84){return _0x7afdbe(_0x10cf84,_0x2eeb4c- -_0x421074._0x5e7ee6);}return _0x1aa2e9;}[_0x7afdbe(0xf6,0x4b9)](){const _0x2130bd={_0x2ca01c:0x509,_0x57e95d:0x17b1,_0x7b19c1:0x9ba,_0x12564c:0xd9c,_0x50035f:0x1190,_0x546a86:0x10a2},_0x51c748={_0x216f65:0x999,_0x3f7612:0x137d},_0x33b459={_0x1d27a8:0x14f},_0x30f466={_0x557052:0x31e},_0x5317b6={'position':this['position'],'orientation':this['getOrientation'](),'ellipsoid':EllipsoidStyleConver['toCesiumVal'](this[_0x26926f(_0x2130bd._0x2ca01c,0x5a9)],{},!![])};function _0x26926f(_0x528247,_0x5181ce){return _0x54a7f1(_0x528247-0x6d,_0x5181ce);}function _0x533443(_0x3544c3,_0x2887a3){return _0x54a7f1(_0x2887a3- -_0x30f466._0x557052,_0x3544c3);}this['_entity']=this[_0x26926f(_0x2130bd._0x57e95d,0x1af2)](_0x5317b6);this['style'][_0x533443(_0x2130bd._0x7b19c1,_0x2130bd._0x12564c)]&&this[_0x26926f(_0x2130bd._0x50035f,0x8c9)](this['style']['label']);const _0x1cbb4f=this['options'][_0x26926f(_0x2130bd._0x546a86,0x1224)]||this['style']['scanPlane'];_0x1cbb4f&&(Array['isArray'](_0x1cbb4f)?_0x1cbb4f['forEach'](_0x4d1b38=>{function _0x2e3950(_0x81451a,_0x2c7545){return _0x533443(_0x81451a,_0x2c7545-_0x33b459._0x1d27a8);}this[_0x2e3950(_0x51c748._0x216f65,_0x51c748._0x3f7612)](_0x4d1b38);}):this['addScanPlane'](_0x1cbb4f));}['_removedHook'](){const _0x106d5d={_0x209410:0xabe,_0x4712e0:0x1526};this[_0x381829(0x19e2,0x141d)]&&(window[_0x381829(_0x106d5d._0x209410,_0x106d5d._0x4712e0)](this[_0x4717d6(0x13ab,0x1536)]),delete this[_0x381829(0x1eb7,0x141d)]);function _0x4717d6(_0x3b45e2,_0x469d9c){return _0x7afdbe(_0x3b45e2,_0x469d9c- -0x25b);}function _0x381829(_0x56211d,_0x55cdbe){return _0x54a7f1(_0x55cdbe- -0x146,_0x56211d);}super['_removedHook']();}[_0x54a7f1(0x82f,0xf97)](_0x49964d,_0x6a8dce){const _0x126fa5={_0x158d17:0xccf,_0x194ccf:0x4fb},_0x157f96={_0xc831c0:0x75e},_0x84554={_0x25293b:0x4ba};function _0x4c6e80(_0x1ea9b6,_0x152c38){return _0x54a7f1(_0x152c38-0x82,_0x1ea9b6);}_0x6a8dce=EllipsoidStyleConver[_0x4c6e80(0x10ca,0x13bd)](_0x49964d,_0x6a8dce,!![]);function _0x553175(_0x13fb1f,_0x1b1ca9){return _0x54a7f1(_0x1b1ca9- -0x2b6,_0x13fb1f);}if(this['_entity_scanPlane']&&this['_entity_scanPlane'][_0x553175(0xebe,_0x126fa5._0x158d17)]>0x0){const _0x191aa7=[];this[_0x553175(_0x126fa5._0x194ccf,0xd25)][_0x4c6e80(0x62e,0x6c7)](_0x500926=>{function _0x2ec15c(_0x2b3934,_0x6ac49){return _0x553175(_0x6ac49,_0x2b3934-_0x84554._0x25293b);}_0x191aa7['push'](_0x500926[_0x2ec15c(0x89a,_0x157f96._0xc831c0)]);}),_0x6a8dce['scanPlane']=_0x191aa7;}return _0x6a8dce;}['_updateStyleHook'](_0x19b778,_0x4890f5){const _0x1c191f={_0x47b8ec:0x4ce,_0x4351f4:0x191a,_0xede3f6:0x3d7,_0x2bd834:0x17e9,_0x422d76:0x1b84,_0x3bd47f:0x1ca7,_0x3831f5:0x69e,_0x40a879:0x20ca},_0xfdd051={_0x5003d6:0x91};EllipsoidStyleConver['toCesiumVal'](_0x19b778,this['entityGraphic'],!![]);(Cesium__namespace['defined'](_0x4890f5[_0x2c183f(-_0x1c191f._0x47b8ec,0x5cc)])||Cesium__namespace['defined'](_0x4890f5['pitch'])||Cesium__namespace['defined'](_0x4890f5[_0x163779(_0x1c191f._0x4351f4,0x1404)]))&&(this[_0x2c183f(_0x1c191f._0xede3f6,0x920)][_0x163779(_0x1c191f._0x2bd834,_0x1c191f._0x422d76)]=this[_0x163779(0xa41,0xd6d)]());function _0x2c183f(_0x2f6490,_0x4f62ab){return _0x7afdbe(_0x2f6490,_0x4f62ab-_0xfdd051._0x5003d6);}function _0x163779(_0x2f89e1,_0x8fe54){return _0x7afdbe(_0x8fe54,_0x2f89e1- -0x45);}(Cesium__namespace['defined'](_0x4890f5[_0x163779(0x18ba,0x1798)])||Cesium__namespace[_0x163779(0x186a,_0x1c191f._0x3bd47f)](_0x4890f5['radii_y'])||Cesium__namespace['defined'](_0x4890f5[_0x163779(_0x1c191f._0x3831f5,0xb7e)]))&&this[_0x163779(0x16aa,_0x1c191f._0x40a879)](_0x19b778);}['_updatePositionsHook'](){const _0x270adc={_0xcb7dec:0xc06},_0x680ecf={_0x3f72e1:0x113d,_0x2bc217:0x18f7},_0x429e5c={_0x5353df:0x603};function _0x46766a(_0x557707,_0xd9b032){return _0x7afdbe(_0x557707,_0xd9b032- -_0x429e5c._0x5353df);}super['_updatePositionsHook'](),this['_entity_scanPlane']&&this['_entity_scanPlane'][_0x46766a(_0x270adc._0xcb7dec,0x270)](_0x5e599c=>{function _0x5552b3(_0x32d2fc,_0x24cb8d){return _0x46766a(_0x24cb8d,_0x32d2fc-0x4f2);}function _0x36a676(_0x41ffad,_0x2f1feb){return _0x46766a(_0x41ffad,_0x2f1feb- -0xda);}_0x5e599c[_0x5552b3(0x17fe,_0x680ecf._0x3f72e1)]=this[_0x36a676(_0x680ecf._0x2bc217,0x1232)];});}['_setOptionsHook'](_0x1227c0,_0x4528aa){const _0x54d1fd={_0x9f4af4:0xb54},_0x3d6fec={_0x52c5f8:0x6a0};function _0x28e903(_0x17f25f,_0x11eb8f){return _0x54a7f1(_0x11eb8f- -0x74,_0x17f25f);}function _0x1f2fb5(_0x57333d,_0x85f4de){return _0x7afdbe(_0x57333d,_0x85f4de- -_0x3d6fec._0x52c5f8);}if(_0x4528aa['scanPlane']){this[_0x28e903(_0x54d1fd._0x9f4af4,0x7f3)]();const _0xb91c74=_0x1227c0['scanPlane'];Array['isArray'](_0xb91c74)?_0xb91c74['forEach'](_0x54b2cb=>{this['addScanPlane'](_0x54b2cb);}):this[_0x1f2fb5(0xab2,0x10da)](_0xb91c74);}}[_0x54a7f1(0xb0c,0xfe)](_0x47b9ac){const _0x16bc04={_0x3d1ef8:0xda1,_0x2bdd7f:0xd8f},_0x31a33f={_0x6bf45a:0x3ad,_0x3a5ccb:0xb1a,_0x2d84fa:0xeb7,_0x110d98:0x774,_0x153b23:0x6b},_0x304e21={_0x1cc91c:0x26c};function _0x53557a(_0x3987a4,_0xd072fd){return _0x7afdbe(_0x3987a4,_0xd072fd- -0x47a);}var _0x2f307c;((_0x2f307c=this[_0x53557a(_0x16bc04._0x3d1ef8,_0x16bc04._0x2bdd7f)])===null||_0x2f307c===void 0x0?void 0x0:_0x2f307c['length'])>0x0&&this['_entity_scanPlane']['forEach'](_0x4c79fa=>{const _0x25c2b6={_0x482edd:0x32a},_0xd3e6b6=this['_updateEntityOpacity'](_0x4c79fa['ellipsoid'],_0x47b9ac);function _0x3c1263(_0x8d5164,_0x4958dc){return _0x53557a(_0x4958dc,_0x8d5164- -_0x304e21._0x1cc91c);}function _0xb7d53d(_0x21b33d,_0x5cbb10){return _0x53557a(_0x5cbb10,_0x21b33d-_0x25c2b6._0x482edd);}!_0xd3e6b6&&(_0x4c79fa['_planeOptions']['style'][_0x3c1263(_0x31a33f._0x6bf45a,_0x31a33f._0x3a5ccb)]=_0x47b9ac,EllipsoidStyleConver[_0xb7d53d(_0x31a33f._0x2d84fa,0x1284)](_0x4c79fa[_0xb7d53d(_0x31a33f._0x110d98,_0x31a33f._0x153b23)]['style'],_0x4c79fa['ellipsoid'],!![]));});}['updateRadii'](_0x4e1bd9){const _0x275e20=new Cesium__namespace[(_0x29173a(0x1913,0x1279))](_0x4e1bd9[_0x29173a(0x1017,0x1663)],_0x4e1bd9['radii_y'],_0x4e1bd9['radii_z']);function _0x29173a(_0x1a3a77,_0x1ce0e0){return _0x7afdbe(_0x1a3a77,_0x1ce0e0- -0x29c);}function _0x43eaf6(_0x2e8b03,_0xb1fe48){return _0x7afdbe(_0xb1fe48,_0x2e8b03- -0x71f);}this['entityGraphic']['radii']?this['entityGraphic']['radii']['setValue'](_0x275e20):this['entityGraphic']['radii']=_0x275e20;}['_setPositionsToCallback'](){const _0x4c7219={_0x4a1943:0x14a7,_0x3aedd6:0xaab,_0x3f71b4:0x272,_0x36aa7d:0x371,_0x12e54e:0x10db,_0x4cc708:0xc68,_0x2f0f49:0x912,_0x5a1205:0x28b,_0x356e60:0x629,_0x5794a4:0xec5,_0x454147:0x147b,_0x31ebf1:0xb20,_0x74fc85:0xafa};function _0x44d2b2(_0x30150c,_0x15c9ea){return _0x7afdbe(_0x15c9ea,_0x30150c- -0x458);}function _0x4c9c08(_0x209f35,_0x545cb5){return _0x7afdbe(_0x209f35,_0x545cb5- -0x613);}if(this['_isCallbackPositions'])return;this[_0x4c9c08(0x130f,0xbfc)]=!![];const _0x1242b7=getCesiumValue(this['entityGraphic']['radii'],Cesium__namespace['Cartesian3'],this['_map']['clock'][_0x44d2b2(0x1229,0x1ca8)]);_0x1242b7&&(this['style']['radii_x']=this['style'][_0x44d2b2(_0x4c7219._0x4a1943,_0x4c7219._0x3aedd6)]??_0x1242b7['x'],this[_0x44d2b2(_0x4c7219._0x3f71b4,-_0x4c7219._0x36aa7d)][_0x4c9c08(0xc10,_0x4c7219._0x12e54e)]=this['style'][_0x4c9c08(_0x4c7219._0x4cc708,0x10db)]??_0x1242b7['y'],this[_0x44d2b2(0x272,_0x4c7219._0x2f0f49)][_0x4c9c08(0xa06,0xd0)]=this['style'][_0x44d2b2(_0x4c7219._0x5a1205,0x398)]??_0x1242b7['z']),this[_0x4c9c08(_0x4c7219._0x356e60,0x3ec)]=this[_0x44d2b2(_0x4c7219._0x5794a4,0xf7a)]||[],this[_0x44d2b2(0x14b7,_0x4c7219._0x454147)]=new Cesium__namespace[(_0x44d2b2(_0x4c7219._0x31ebf1,_0x4c7219._0x74fc85))](_0xa297e8=>{function _0x2464e(_0x3bd132,_0x58aff2){return _0x44d2b2(_0x58aff2-0x2fc,_0x3bd132);}if(this['_positions_draw'][_0x2464e(0x12b9,0x1057)]<0x1)return null;return this['_positions_draw'][0x0];},![]);}['_cancelPositionsCallback'](){const _0x3e9c7b={_0x3764bb:0xcd5,_0x331d17:0xb1e,_0x44cf27:0xac9,_0x345456:0x8c8,_0x53ac6c:0xec,_0x5173c3:0x565},_0x331b96={_0x3ce306:0x6f1};if(!this[_0x2fc0e0(0xb1e,_0x3e9c7b._0x3764bb)])return;this[_0x2fc0e0(_0x3e9c7b._0x331d17,0x461)]=![];function _0x506729(_0x5a390c,_0x236299){return _0x54a7f1(_0x5a390c- -0x2c3,_0x236299);}this['_position']=this['_positions_draw'][0x0];function _0x2fc0e0(_0x2cd786,_0x538d44){return _0x7afdbe(_0x538d44,_0x2cd786- -_0x331b96._0x3ce306);}this['_point']=LngLatPoint['fromCartesian'](this[_0x506729(_0x3e9c7b._0x44cf27,_0x3e9c7b._0x345456)]),this[_0x506729(0x39e,-_0x3e9c7b._0x53ac6c)]&&this[_0x506729(_0x3e9c7b._0x5173c3,0x455)]();}['_startDrawHook'](){const _0x557f11={_0x24d39f:0x2c8,_0x50760c:0x30e},_0x44cb6c={_0xa808e7:0x43};function _0x32c74f(_0x118e51,_0x5aa8dc){return _0x54a7f1(_0x118e51- -_0x44cb6c._0xa808e7,_0x5aa8dc);}this['_map']['on'](EventType[_0x6b8250(0xadc,0x6a5)],this['_onMouseMoveHandler'],this),this['_map']['on'](this['_drawAddEventType'],this['_onClickHandler'],this),this['_map']['on'](this['_drawEndEventType'],this[_0x6b8250(-_0x557f11._0x24d39f,0x245)],this);function _0x6b8250(_0x434a76,_0x3ced6b){return _0x7afdbe(_0x434a76,_0x3ced6b- -0x6fe);}(this['options'][_0x6b8250(-0x245,0x166)]??!![])&&this['_map']['on'](this[_0x32c74f(0x744,-_0x557f11._0x50760c)],this[_0x32c74f(0x1dd,0x419)],this);}['_stopDrawHook'](){const _0x190fde={_0x5f5aeb:0x748,_0x547985:0x53c,_0xd3070c:0x772,_0x581b79:0x13c0,_0x24de3d:0x96e,_0x16b560:0x16bb,_0x289702:0x8c4,_0x3b736e:0x147,_0x5ae6f6:0x1449};this[_0x3f9d58(0x4f8,_0x190fde._0x5f5aeb)][_0x3f9d58(-_0x190fde._0x547985,0x2c2)](EventType[_0x44bfdb(0xd24,_0x190fde._0xd3070c)],this[_0x3f9d58(_0x190fde._0x581b79,_0x190fde._0x24de3d)],this);function _0x44bfdb(_0x5eddfc,_0x2f95b0){return _0x54a7f1(_0x5eddfc-0x1af,_0x2f95b0);}this['_map']['off'](this['_drawAddEventType'],this['_onClickHandler'],this),this['_map']['off'](this[_0x3f9d58(_0x190fde._0x16b560,0xf19)],this[_0x44bfdb(_0x190fde._0x289702,_0x190fde._0x3b736e)],this);function _0x3f9d58(_0x495c16,_0x5d0131){return _0x7afdbe(_0x495c16,_0x5d0131- -0x2b9);}(this['options']['hasDrawDelPoint']??!![])&&this[_0x44bfdb(0x982,_0x190fde._0x5ae6f6)]['off'](this['_drawDelEventType'],this['_onRightClickHandler'],this);}['updateAttrForDrawing'](_0x1c2f16){const _0xa233e9={_0x1515fe:0x10de,_0x42dae0:0x98e,_0x1b9b59:0xb8,_0x438c57:0xdb6,_0x52fa32:0xecc,_0x3db258:0x105f,_0x4027d6:0x226},_0x3df056={_0x5c7dea:0x5c};if(this['_positions_draw'][_0x48cb09(_0xa233e9._0x1515fe,0x1972)]<0x2)return;function _0x2b9369(_0x155b8d,_0x53d513){return _0x54a7f1(_0x155b8d-_0x3df056._0x5c7dea,_0x53d513);}function _0x48cb09(_0x4cf719,_0x95ae9a){return _0x54a7f1(_0x4cf719-0x159,_0x95ae9a);}if(!_0x1c2f16){const _0x52760b=formatNum$1(Cesium__namespace[_0x2b9369(0x1343,_0xa233e9._0x42dae0)]['distance'](this[_0x2b9369(0x82d,-_0xa233e9._0x1b9b59)][0x0],this[_0x48cb09(0x92a,0xaa6)][0x1]),0x2);this[_0x2b9369(0x4f8,_0xa233e9._0x438c57)]['radii_x']=_0x52760b,this[_0x48cb09(0x5f5,_0xa233e9._0x52fa32)][_0x48cb09(0x60e,0xd06)]=_0x52760b;let _0x2e5385;this[_0x2b9369(0x82d,0xe76)]['length']===0x3?_0x2e5385=formatNum$1(Cesium__namespace[_0x48cb09(0x1440,0xb48)][_0x2b9369(0x12ed,_0xa233e9._0x3db258)](this[_0x2b9369(0x82d,0x96f)][0x0],this['_positions_draw'][0x2]),0x2):_0x2e5385=_0x52760b,this[_0x2b9369(0x4f8,_0xa233e9._0x4027d6)][_0x48cb09(0x1619,0x1026)]=_0x2e5385,this['updateRadii'](this['style']);}}['_onRightClickHandler'](_0x407c4f){const _0x354819={_0x3787ff:0xc20,_0x18fe52:0x473},_0xa3e8a={_0x57a0c8:0x29},_0x14b828={_0x2a943b:0x645};function _0x16d324(_0x835e8f,_0xf9c713){return _0x7afdbe(_0xf9c713,_0x835e8f- -_0x14b828._0x2a943b);}function _0x57bbf2(_0x45f42c,_0x4144f9){return _0x54a7f1(_0x4144f9- -_0xa3e8a._0x57a0c8,_0x45f42c);}super[_0x57bbf2(_0x354819._0x3787ff,0x1f7)](_0x407c4f),this[_0x16d324(0x85,0x763)]['radii_y']=0x0,this['_positions_draw']['length']===0x1&&(this[_0x57bbf2(0xa47,_0x354819._0x18fe52)]['radii_x']=0x0,this[_0x16d324(0x85,-0x293)]['radii_z']=0x0),this['updateRadii'](this['style']);}[_0x7afdbe(0x1fd7,0x177a)](_0x142e4a={}){const _0x1588ab={_0x33013f:0xd5b,_0x3d1117:0x21c,_0x4b9609:0x1905,_0x256203:0x198e,_0x5c1e0a:0x89d,_0x14adc0:0x5dd,_0x52536a:0xf97,_0x37f2f0:0x10db,_0x16926f:0x15a,_0x226825:0x65,_0x50d4f4:0x694,_0x1a2fa2:0xb9b,_0x64d358:0x1481,_0x191b7e:0x1915,_0x54a028:0x1412,_0x4b1742:0x14b1,_0x4453a1:0x4ed,_0x363e29:0x181,_0x37cbf6:0xf51,_0x4b91a5:0x152f,_0x4e4fd8:0xd1b,_0x5ebf04:0x14b1,_0x135ca3:0x1ee7,_0x527243:0x1d06,_0x5e88b4:0xaca,_0x2ff744:0xb78,_0x4f7da7:0x167,_0x1c23e2:0x21c,_0x51a8e6:0x146e,_0x3d5fd1:0x1755,_0x29ef11:0x105c,_0x357252:0xf24,_0xe8ea2d:0xa3c,_0x199b2d:0x1da,_0x366c5d:0xc88,_0x52b8f9:0x415},_0xf59689={_0x396a90:0x1a3,_0x566df2:0x777},_0xafef91={_0x3335c0:0x32d,_0x22520a:0x3cc},_0x1bb8ac={_0x5c3451:0x12ec,_0x79be08:0x12fa},_0xec10ef={_0x1f9544:0x672},_0x2746c3={_0x9177ef:0xa5e},_0x2a63a0={_0x1f7f85:0x439};this['_entity_scanPlane']=this[_0x2a6d6a(0x4ab,_0x1588ab._0x33013f)]||[],_0x142e4a['style']=_0x142e4a[_0x2a6d6a(0x618,_0x1588ab._0x3d1117)]||{};const _0x4fd2cb={};_0x4fd2cb[_0x754665(0x1128,_0x1588ab._0x4b9609)]=this[_0x2a6d6a(0x14f,0x2ae)][_0x2a6d6a(_0x1588ab._0x256203,0x1402)],_0x4fd2cb[_0x2a6d6a(0x1a9d,0x11c3)]=0.00001,_0x4fd2cb['minimumClockDegree']=-0.00001,_0x4fd2cb['maximumClockDegree']=0.00001,_0x4fd2cb['minimumConeDegree']=this[_0x754665(-0x6,0x71f)]['minimumConeDegree']||0x0,_0x4fd2cb['maximumConeDegree']=this['style']['maximumConeDegree']||0x5a,_0x4fd2cb['outline']=![];const _0x20c225=_0x4fd2cb;if(this[_0x754665(_0x1588ab._0x5c1e0a,0x71f)]['color'])_0x20c225['color']=this['style']['color'],this['style']['opacity']&&(_0x20c225[_0x754665(0x53a,_0x1588ab._0x14adc0)]=this['style'][_0x754665(_0x1588ab._0x52536a,0x5dd)]);else this['style']['outlineColor']&&(_0x20c225['color']=this['style'][_0x2a6d6a(0xf22,0x5b9)],this[_0x754665(0x80c,0x71f)][_0x2a6d6a(0x1372,_0x1588ab._0x37f2f0)]&&(_0x20c225['opacity']=this[_0x2a6d6a(-_0x1588ab._0x16926f,0x21c)]['outlineOpacity']));let _0x4da8e0;const _0x21dfa7=Cesium__namespace['Math']['toRadians'](_0x142e4a['step']||0.5);function _0x2a6d6a(_0x5bd208,_0x27f2bf){return _0x7afdbe(_0x5bd208,_0x27f2bf- -0x4ae);}const _0x56a101=new Cesium__namespace['HeadingPitchRoll'](Cesium__namespace['Math']['toRadians'](_0x142e4a[_0x754665(_0x1588ab._0x226825,0x71f)]['heading']||this[_0x2a6d6a(-_0x1588ab._0x50d4f4,0x8d)]),Cesium__namespace['Math'][_0x2a6d6a(0x188c,0x12a2)](_0x142e4a[_0x754665(_0x1588ab._0x1a2fa2,0x71f)][_0x754665(_0x1588ab._0x64d358,_0x1588ab._0x191b7e)]||this[_0x2a6d6a(0xbf3,_0x1588ab._0x54a028)]),Cesium__namespace['Math']['toRadians'](_0x142e4a[_0x754665(-0x51,0x71f)][_0x754665(0xf8e,0x19b4)]||this[_0x2a6d6a(0x1424,_0x1588ab._0x4b1742)]));let _0xaa939a=Cesium__namespace[_0x2a6d6a(0x6e,_0x1588ab._0x4453a1)][_0x2a6d6a(0x216,_0x1588ab._0x363e29)](this['positionShow'],_0x56a101,this['ellipsoid'],this['fixedFrameTransform']),_0x1f5066;switch(_0x142e4a[_0x754665(_0x1588ab._0x37cbf6,0xab9)]){case'pitch':{const _0x2ff2a6=Cesium__namespace[_0x754665(0x19cd,_0x1588ab._0x4b91a5)]['toRadians'](_0x142e4a['min']??0x0),_0x2de915=Cesium__namespace['Math']['toRadians'](_0x142e4a[_0x754665(0x1347,0xd8d)]??0xb4);_0x4da8e0=new Cesium__namespace[(_0x754665(0x1977,0xfcd))](_0x25e4e3=>{if(!this['_map']['clock']['shouldAnimate'])return _0xaa939a;function _0x167832(_0x105ce1,_0x3532be){return _0x754665(_0x105ce1,_0x3532be- -0x223);}_0xaa939a=Cesium__namespace[_0x167832(-0x21f,0x7cd)]['headingPitchRollQuaternion'](this['positionShow'],_0x56a101,this[_0x14fe15(0x74e,_0x2746c3._0x9177ef)],this['fixedFrameTransform']);function _0x14fe15(_0x4ac54d,_0x29b93d){return _0x754665(_0x29b93d,_0x4ac54d- -_0x2a63a0._0x1f7f85);}return _0xaa939a;},![]),_0x1f5066=function(){_0x56a101['pitch']+=_0x21dfa7,_0x56a101['pitch']>=_0x2de915&&(_0x56a101['pitch']=_0x2ff2a6);};}break;case _0x2a6d6a(_0x1588ab._0x4e4fd8,_0x1588ab._0x5ebf04):{const _0x949c8e=Cesium__namespace['Math'][_0x754665(_0x1588ab._0x135ca3,0x17a5)](_0x142e4a['min']??-0x5a),_0x564401=Cesium__namespace['Math'][_0x754665(_0x1588ab._0x527243,0x17a5)](_0x142e4a['max']??0x5a);_0x4da8e0=new Cesium__namespace[(_0x2a6d6a(0x9c4,_0x1588ab._0x5e88b4))](_0x2d7ffa=>{function _0x2ff6bf(_0x2be7b7,_0x4c8ef8){return _0x2a6d6a(_0x2be7b7,_0x4c8ef8- -0xa7);}if(!this[_0x2ff6bf(-0x29c,0x4ac)][_0x2ff6bf(0x1166,0x6b2)]['shouldAnimate'])return _0xaa939a;function _0x35fa70(_0x1785d9,_0x4d0093){return _0x754665(_0x4d0093,_0x1785d9- -0x37e);}return _0xaa939a=Cesium__namespace[_0x35fa70(_0xec10ef._0x1f9544,0x975)]['headingPitchRollQuaternion'](this['positionShow'],_0x56a101,this['ellipsoid'],this[_0x2ff6bf(0x1a1b,0x140c)]),_0xaa939a;},![]),_0x1f5066=function(){function _0x488ce0(_0x2b2ce6,_0x4f770e){return _0x2a6d6a(_0x4f770e,_0x2b2ce6- -0x1c5);}_0x56a101['roll']+=_0x21dfa7,_0x56a101['roll']>=_0x564401&&(_0x56a101[_0x488ce0(_0x1bb8ac._0x5c3451,_0x1bb8ac._0x79be08)]=_0x949c8e);};}break;case'heading':default:{const _0x5e2931=Cesium__namespace['Math']['toRadians'](_0x142e4a['min']??-0xb4),_0x32bf5c=Cesium__namespace['Math']['toRadians'](_0x142e4a[_0x2a6d6a(_0x1588ab._0x2ff744,0x88a)]??0xb4);_0x4da8e0=new Cesium__namespace[(_0x2a6d6a(0x5bc,0xaca))](_0x35df0f=>{function _0x344c4d(_0xb75c9,_0x3d13d2){return _0x754665(_0x3d13d2,_0xb75c9- -0x688);}if(!this[_0x135b37(_0xafef91._0x3335c0,_0xafef91._0x22520a)]['clock'][_0x135b37(0xc89,0x160f)])return _0xaa939a;_0xaa939a=Cesium__namespace['Transforms']['headingPitchRollQuaternion'](this['positionShow'],_0x56a101,this['ellipsoid'],this['fixedFrameTransform']);function _0x135b37(_0x548c0f,_0x3aa82f){return _0x754665(_0x3aa82f,_0x548c0f- -0x729);}return _0xaa939a;},![]),_0x1f5066=function(){const _0x471412={_0x422113:0x3ed};_0x56a101[_0x1affbd(_0xf59689._0x396a90,_0xf59689._0x566df2)]+=_0x21dfa7;function _0x1affbd(_0x2ff3eb,_0x5490d9){return _0x754665(_0x5490d9,_0x2ff3eb- -_0x471412._0x422113);}function _0x421367(_0x476163,_0x39ea3e){return _0x754665(_0x39ea3e,_0x476163- -0x6ef);}_0x56a101['heading']>=_0x32bf5c&&(_0x56a101[_0x1affbd(0x1a3,0x139)]=_0x5e2931);};break;}}const _0x15ebf9={..._0x20c225,..._0x142e4a[_0x2a6d6a(_0x1588ab._0x4f7da7,_0x1588ab._0x1c23e2)]};function _0x754665(_0x335128,_0x42d393){return _0x54a7f1(_0x42d393-0x283,_0x335128);}const _0x212be9={'id':_0x754665(_0x1588ab._0x51a8e6,0xcca)+createGuid(),'position':this['position'],'orientation':_0x4da8e0,'ellipsoid':EllipsoidStyleConver[_0x754665(_0x1588ab._0x3d5fd1,_0x1588ab._0x29ef11)](_0x15ebf9,{},!![])},_0x2fed79=this['_createEntity'](_0x212be9);return this[_0x754665(_0x1588ab._0x357252,0xcb8)]&&this['isAdded']&&this[_0x754665(0x10b9,0xcb8)][_0x2a6d6a(0x203,_0x1588ab._0xe8ea2d)][_0x754665(0x8b1,0x913)](_0x2fed79),this['bindPickId'](_0x2fed79),_0x2fed79[_0x2a6d6a(0xa55,0x416)]=_0x142e4a,this['_entity_scanPlane'][_0x2a6d6a(_0x1588ab._0x199b2d,_0x1588ab._0x366c5d)](_0x2fed79),_0x2fed79[_0x2a6d6a(0xa60,_0x1588ab._0x52b8f9)]=_0x1f5066,this[_0x2a6d6a(0xf7e,0xbf2)](),_0x2fed79;}['_bindRequestAnimationFrame'](){const _0x107bbc={_0x89e323:0x19f5,_0x2a73ed:0x11b8},_0x5adb04={_0x2b1d15:0x846,_0x27f9ba:0x29b,_0x21471f:0x21a},_0x3b2e80={_0x2df274:0x2b0},_0x36e026={_0x4d3ce1:0x1b6};function _0x477ca0(_0x259fe7,_0x41346b){return _0x7afdbe(_0x259fe7,_0x41346b-0x5);}var _0x120c71;if(this[_0x213ab9(_0x107bbc._0x89e323,0x15db)])return;function _0x213ab9(_0x31adf4,_0x199b16){return _0x7afdbe(_0x31adf4,_0x199b16- -_0x36e026._0x4d3ce1);}if(((_0x120c71=this['_entity_scanPlane'])===null||_0x120c71===void 0x0?void 0x0:_0x120c71[_0x477ca0(0x9e6,_0x107bbc._0x2a73ed)])>0x0){const _0x55cb7e=this;let _0x47d319=Date['now']();const _0x182c72=0x3e8/0x32;(function _0x25d0df(){function _0x50c804(_0xe13314,_0x30878c){return _0x477ca0(_0xe13314,_0x30878c- -_0x3b2e80._0x2df274);}if(_0x55cb7e[_0x50c804(-0x233,0x345)])return;function _0x3625a5(_0x1a07e7,_0x3c3ae9){return _0x477ca0(_0x3c3ae9,_0x1a07e7- -0x1c0);}_0x55cb7e['_animateFrame']=window['requestAnimationFrame'](_0x25d0df);if(_0x55cb7e[_0x3625a5(_0x5adb04._0x2b1d15,_0x5adb04._0x27f9ba)]&&_0x55cb7e[_0x3625a5(0x846,-_0x5adb04._0x21471f)]['clock']['shouldAnimate']){const _0x323c54=Date['now'](),_0x544c7c=_0x323c54-_0x47d319;_0x544c7c>_0x182c72&&(_0x47d319=_0x323c54-_0x544c7c%_0x182c72,_0x55cb7e['_updateScanPlane']());}}());}}['_updateScanPlane'](){const _0x6181e4={_0x6c7b13:0xb3e,_0x5bd40f:0xcdc},_0x45a334={_0x4ebebe:0x236,_0x4335a3:0x549},_0x372eb2={_0x44f5a2:0x351},_0x4946fa={_0x31afe0:0x6cb};function _0xfbf746(_0x32cd00,_0x2c8bc6){return _0x7afdbe(_0x2c8bc6,_0x32cd00- -_0x4946fa._0x31afe0);}function _0x11ba72(_0x2a4172,_0x463063){return _0x54a7f1(_0x463063- -0x2a9,_0x2a4172);}var _0x997252;((_0x997252=this[_0xfbf746(_0x6181e4._0x6c7b13,0x1be)])===null||_0x997252===void 0x0?void 0x0:_0x997252[_0x11ba72(0x1790,_0x6181e4._0x5bd40f)])>0x0&&this['_entity_scanPlane']['forEach'](_0x143da6=>{function _0x56968f(_0x549110,_0x3e339a){return _0xfbf746(_0x3e339a-_0x372eb2._0x44f5a2,_0x549110);}_0x143da6[_0x56968f(_0x45a334._0x4ebebe,_0x45a334._0x4335a3)]();});}['removeScanPlan'](_0x2f05f8){const _0x286cb2={_0x463a97:0x1562},_0x529644={_0x279d62:0x12c};function _0x21a181(_0x322392,_0x3df523){return _0x54a7f1(_0x3df523- -_0x529644._0x279d62,_0x322392);}this['dataSource']&&this['isAdded']&&this['dataSource']['entities']['remove'](_0x2f05f8),removeArrayItem(this[_0x21a181(_0x286cb2._0x463a97,0xeaf)],_0x2f05f8);}['removeAllScanPlan'](){const _0x19cbcf={_0x249ba2:0x6ea},_0x22d4ef={_0xd0d251:0x74};this[_0x370b9b(-0x5b,0x8fc)]&&this[_0x370b9b(0xdd0,_0x19cbcf._0x249ba2)]&&this['_entity_scanPlane']['forEach'](_0xf2bd0=>{function _0x2a85d0(_0x1f6d6a,_0x369a6b){return _0x370b9b(_0x1f6d6a,_0x369a6b- -0x65);}this['dataSource']['entities'][_0x2a85d0(0x9d3,0x5f0)](_0xf2bd0);});function _0x370b9b(_0x51a286,_0xa0223c){return _0x7afdbe(_0x51a286,_0xa0223c- -0x367);}function _0x183225(_0x2b29a7,_0x26426e){return _0x54a7f1(_0x26426e-_0x22d4ef._0xd0d251,_0x2b29a7);}this['_entity_scanPlane']=[];}}register$5('ellipsoid',EllipsoidEntity,!![]);class PolylineEntity extends BasePolyEntity{get[_0x54a7f1(0x52e,0xb52)](){const _0x53e213={_0x134bfa:0xd13},_0x413e79={_0x3cca77:0x1e8},_0x383e97={_0x3b0043:0x349};function _0x3dc4da(_0x5d665c,_0x5a1c38){return _0x7afdbe(_0x5d665c,_0x5a1c38- -_0x383e97._0x3b0043);}function _0x111c5a(_0x366fa8,_0x515b41){return _0x54a7f1(_0x366fa8- -_0x413e79._0x3cca77,_0x515b41);}var _0x1415e6;return(_0x1415e6=this[_0x111c5a(0x479,0x69d)])===null||_0x1415e6===void 0x0?void 0x0:_0x1415e6[_0x3dc4da(0xad1,_0x53e213._0x134bfa)];}['_mountedHook'](){const _0x836794={_0x131d11:0x1060,_0x262073:0x10f8,_0x3a32b0:0x11b4,_0x2abef1:0x10d7,_0x263615:0xde8,_0x32db0e:0x52f},_0x5e45ce={_0x229c7f:0x169};this[_0xfa5f7b(0x1e82,0x1818)]=this[_0xfa5f7b(_0x836794._0x131d11,_0x836794._0x262073)](this[_0xfa5f7b(0x1b92,_0x836794._0x3a32b0)]);const _0x2c2c86={'polyline':PolylineStyleConver['toCesiumVal'](this['style'],{},!![])};_0x2c2c86[_0xfa5f7b(0x15da,0xef3)][_0x17f46d(0x1126,0xe15)]=this['_positions_show'];function _0x17f46d(_0x3f6bc5,_0x5950e5){return _0x7afdbe(_0x3f6bc5,_0x5950e5- -0x508);}this['_entity']=this['_createEntity'](_0x2c2c86);function _0xfa5f7b(_0x27fa9f,_0x4c8983){return _0x7afdbe(_0x27fa9f,_0x4c8983- -_0x5e45ce._0x229c7f);}this['style'][_0xfa5f7b(_0x836794._0x2abef1,0x117f)]&&this[_0xfa5f7b(0x121b,0x11e8)](this['style']['label']),this[_0xfa5f7b(0x761,0x561)][_0xfa5f7b(_0x836794._0x263615,0x1556)]&&this['startSnakeAnimation']({'delay':this[_0x17f46d(-_0x836794._0x32db0e,0x1c2)]['snakeAnimationDelay'],'duration':this['style']['snakeAnimationDuration']});}[_0x7afdbe(0x1d1b,0x1261)](_0xbe0109){const _0x297b06={_0x2848c4:0x12ba,_0x79e9c4:0x1bf6},_0xec0dcc={_0x5e7706:0x3e3};function _0x715409(_0xaaf02d,_0x3f485c){return _0x54a7f1(_0xaaf02d-0x42,_0x3f485c);}function _0x40891e(_0x56c1c3,_0x5cb2f3){return _0x54a7f1(_0x56c1c3- -_0xec0dcc._0x5e7706,_0x5cb2f3);}return this[_0x40891e(0xb9,-0xd1)][_0x40891e(_0x297b06._0x2848c4,_0x297b06._0x79e9c4)]&&(_0xbe0109===null||_0xbe0109===void 0x0?void 0x0:_0xbe0109['length'])>0x0?_0xbe0109['concat'](_0xbe0109[0x0]):_0xbe0109;}['_style2Json'](_0x194882,_0x519ad6){return PolylineStyleConver['toJSON'](_0x194882,_0x519ad6,!![]);}[_0x7afdbe(0xa1c,0x1302)](_0x5135e2,_0xcc7d37){const _0x29d727={_0x35d5b0:0x1507,_0x4a3116:0xe9d,_0x4c14ff:0x1450},_0xfcdb76={_0x319364:0x3c4},_0x330279={_0x54f098:0x1a6};function _0x144f2d(_0x2c22f6,_0x336232){return _0x54a7f1(_0x336232-_0x330279._0x54f098,_0x2c22f6);}function _0x5abb4a(_0x5edda7,_0x5aeb52){return _0x7afdbe(_0x5edda7,_0x5aeb52- -_0xfcdb76._0x319364);}PolylineStyleConver['toCesiumVal'](_0x5135e2,this['entityGraphic'],!![]),Cesium__namespace['defined'](_0xcc7d37===null||_0xcc7d37===void 0x0?void 0x0:_0xcc7d37[_0x5abb4a(0xa97,_0x29d727._0x35d5b0)])&&(!this['_isCallbackPositions']&&(this['_positions_show']=this[_0x5abb4a(0x531,_0x29d727._0x4a3116)](this[_0x5abb4a(0x148b,0xba7)]),this[_0x144f2d(0xc9b,0x6d4)]['positions']=this[_0x5abb4a(_0x29d727._0x4c14ff,0x15bd)]),this['updateAttrForDrawing']());}['_updatePositionsHook'](){const _0x111514={_0x4e829a:0x902,_0x1d022c:0x222,_0x9e1c4d:0x1606,_0x275557:0x173e},_0x5283bf={_0x1c3645:0x448},_0x542888={_0x29d27c:0x14d};this['_positions']instanceof Cesium__namespace[_0x51698b(_0x111514._0x4e829a,_0x111514._0x1d022c)]?(this[_0x2b4fec(0x684,-0x408)]&&(this['_positions_show']=this['getShowPositions'](this[_0x51698b(0x389,0xda3)])),this[_0x2b4fec(0x3e1,0xbf8)]['positions']=this[_0x51698b(0x8f5,0xda1)]):(this[_0x2b4fec(_0x111514._0x9e1c4d,_0x111514._0x275557)]=this[_0x51698b(0xbeb,0x2db)](this[_0x2b4fec(0xbf0,0xe45)]),this[_0x2b4fec(0x3e1,0xa6c)][_0x51698b(0xca7,0xaae)]=this['_positions_show']);function _0x2b4fec(_0x57792d,_0x4d9931){return _0x54a7f1(_0x57792d- -_0x542888._0x29d27c,_0x4d9931);}function _0x51698b(_0x3fe7b5,_0x31b7dd){return _0x54a7f1(_0x3fe7b5- -_0x5283bf._0x1c3645,_0x31b7dd);}this['_updateLabelPosition'](),this['_updateEditDraggers']();}['_positions_CallbackProperty'](){function _0xfcffdb(_0x109f4f,_0x440374){return _0x54a7f1(_0x109f4f- -0x13c,_0x440374);}return this[_0xfcffdb(0x1617,0x1909)];}[_0x7afdbe(0xd5b,0x142d)](_0x1fe5df){const _0x1b47a9={_0x46dfba:0xb87,_0x2552e9:0x1078};function _0x15bdf6(_0x115f25,_0x12894f){return _0x7afdbe(_0x12894f,_0x115f25- -0x6da);}this['_positions_show']=this[_0x15bdf6(_0x1b47a9._0x46dfba,_0x1b47a9._0x2552e9)](this['_positions_draw']);}['_updateDistanceDisplayConditionByEdit'](){const _0x1a5ed6={_0x529cda:0x1ec7,_0x59232f:0x13cf,_0xb60e3a:0x1425,_0x3bf0fa:0x1203,_0x121137:0x1851},_0x59f9f0={_0x597bea:0x729},_0x41584f={_0x25ce05:0xf0};function _0x181b55(_0x6da137,_0x1982e3){return _0x7afdbe(_0x1982e3,_0x6da137- -_0x41584f._0x25ce05);}function _0xa37d84(_0x16ca61,_0x45b53a){return _0x7afdbe(_0x45b53a,_0x16ca61- -_0x59f9f0._0x597bea);}if(this['_isCallbackPositions']&&this['style']['clampToGround']){let _0x352537;const _0x1f590b=this[_0xa37d84(0x82,-0xa4b)];_0x1f590b?_0x352537=Cesium__namespace[_0x181b55(0x1425,_0x1a5ed6._0x529cda)][_0x181b55(_0x1a5ed6._0x59232f,0x14f2)](_0x1f590b,new Cesium__namespace[(_0x181b55(_0x1a5ed6._0xb60e3a,0x9cf))]()):_0x352537=(Cesium__namespace['Ellipsoid']['WGS84']['minimumRadius']+Cesium__namespace[_0xa37d84(0x10ba,_0x1a5ed6._0x3bf0fa)]['WGS84']['maximumRadius'])/0x2,this['updateDistanceDisplayCondition'](_0x352537);}else this[_0x181b55(0x15df,_0x1a5ed6._0x121137)]();}['startSnakeAnimation'](_0x5cdc1e={}){const _0x2b8d80={_0x38ca22:0x8e9},_0x57eb3e={_0x47e386:0x1ed};this['stopSnakeAnimation']();const _0x2be171=_0x5cdc1e['delay']??0.5;setTimeout(()=>{if(!this[_0x108d7d(0x101c,_0x2b8d80._0x38ca22)])return;this['stopSnakeAnimation'](),this['setCallbackPositions']();function _0x108d7d(_0x4363fd,_0x5469ae){return _0x536c(_0x5469ae-_0x57eb3e._0x47e386,_0x4363fd);}this['_startSnakeAnimation'](_0x5cdc1e);},_0x2be171*0x3e8);}['_startSnakeAnimation'](_0x5a4c16){const _0x5532fa={_0x5dec74:0x12d2,_0x2749de:0x8e0},_0x3cf9f0={_0x4bc18a:0x1ea},_0x53717a={_0x5dd06d:0xef7,_0x4f2d8e:0xb87,_0x22c8d6:0x1114,_0x41e080:0xad,_0x1e1c30:0xbd4,_0x2acd6:0x141f,_0x3b39ae:0x1e52,_0x2eba88:0x18e2},_0x5aab74=this['_positions_draw'];let _0x293b21=0x0;const _0xe20b0c=_0x5aab74[_0xfdcab1(0xfc9,_0x5532fa._0x5dec74)]-0x1;for(let _0x337333=0x0;_0x337333<_0xe20b0c;_0x337333++){const _0xd67f60=_0x5aab74[_0x337333],_0x26ff60=_0x5aab74[_0x337333+0x1],_0x14ecda=Cesium__namespace['Cartesian3']['distance'](_0xd67f60,_0x26ff60);_0x293b21+=_0x14ecda,_0x26ff60['_distance']=_0x293b21;}const _0x2c0894=_0x5a4c16[_0x1f1e51(0x4cc,_0x5532fa._0x2749de)]??0x8;function _0x1f1e51(_0x8dc095,_0x24640a){return _0x7afdbe(_0x24640a,_0x8dc095- -0x64b);}const _0x11eed3=_0x293b21/_0x2c0894;let _0x188436=0x0;const _0x5148bb=0.05,_0x3ccfa5=_0x5148bb*_0x11eed3;this['_positions_show']=[_0x5aab74[0x0]];let _0x279c43=0x0;const _0x4a716b=()=>{function _0x697cec(_0x412943,_0x2e1547){return _0x1f1e51(_0x2e1547-0xe9,_0x412943);}if(_0x188436>=_0xe20b0c||!this['isAdded']){this['stopSnakeAnimation']();_0x5a4c16['callback']&&_0x5a4c16[_0x1d789b(_0x53717a._0x5dd06d,0x136c)]();return;}function _0x1d789b(_0x209920,_0x302cba){return _0x1f1e51(_0x302cba-0x5ac,_0x209920);}const _0x10e529=_0x5aab74[_0x188436],_0x20d008=_0x5aab74[_0x188436+0x1];if(_0x279c43+_0x3ccfa5>=_0x20d008['_distance'])this[_0x1d789b(0x1a53,0x18e2)][this[_0x697cec(0x127f,0x141f)][_0x1d789b(_0x53717a._0x4f2d8e,_0x53717a._0x22c8d6)]-0x1][_0x697cec(-0x46c,-_0x53717a._0x41e080)]&&this['_positions_show']['pop'](),_0x279c43=_0x20d008['_distance'],this[_0x697cec(0x1582,0x141f)][_0x697cec(0xe9b,_0x53717a._0x1e1c30)](_0x20d008),_0x188436++,_0x4a716b();else{_0x279c43+=_0x3ccfa5;const _0x336109=getOnLinePointByLen(_0x10e529,_0x20d008,_0x279c43-(_0x10e529[_0x1d789b(0xc0b,0x5a7)]??0x0));_0x336109['_istemp']=!![],this[_0x697cec(0x1c95,_0x53717a._0x2acd6)][this['_positions_show']['length']-0x1]['_istemp']?this['_positions_show'][this[_0x697cec(_0x53717a._0x3b39ae,_0x53717a._0x2acd6)][_0x1d789b(0x8a7,0x1114)]-0x1]=_0x336109:this[_0x1d789b(0x1c77,_0x53717a._0x2eba88)][_0x1d789b(0x806,0x1097)](_0x336109);}};function _0xfdcab1(_0x3d3971,_0x3ad564){return _0x7afdbe(_0x3ad564,_0x3d3971- -_0x3cf9f0._0x4bc18a);}this['_timeTik_SnakeAnimation']=setInterval(()=>{_0x4a716b();},_0x5148bb*0x3e8);}[_0x54a7f1(0x14ac,0xb46)](){const _0x42443d={_0x49a7d2:0x5a};function _0x5ad19b(_0x545721,_0x346f15){return _0x54a7f1(_0x545721-_0x42443d._0x49a7d2,_0x346f15);}this['_timeTik_SnakeAnimation']&&(clearInterval(this['_timeTik_SnakeAnimation']),delete this['_timeTik_SnakeAnimation'],this['_positions_show']=this[_0x5ad19b(0x82b,0xbd2)]);}}register$5(_0x54a7f1(0xe2e,0x15ef),PolylineEntity);class CurveEntity extends PolylineEntity{['getShowPositions'](_0x294e1f){const _0x49438a={_0xb50c2:0x119};if(!_0x294e1f||_0x294e1f['length']<0x2)return _0x294e1f;_0x294e1f=getBezierCurve(_0x294e1f,this[_0x4fdd56(0x683,0x383)]),_0x294e1f=this['_updatePositionsForHeight'](_0x294e1f,this['style']);function _0x4fdd56(_0x7b126e,_0x8465aa){return _0x54a7f1(_0x8465aa- -_0x49438a._0xb50c2,_0x7b126e);}return _0x294e1f;}}register$5('curve',CurveEntity);class BrushLineEntity extends PolylineEntity{[_0x7afdbe(-0x5f5,0x4ac)](){function _0x1081d2(_0xc79b40,_0x1fc69a){return _0x54a7f1(_0x1fc69a-0x26e,_0xc79b40);}this['_map']['on'](EventType[_0x1081d2(0x158e,0xf98)],this['_onMap_leftDown'],this),this['_map']['on'](EventType['leftUp'],this['_onMap_leftUp'],this);}[_0x54a7f1(0xa6a,0x6b7)](){const _0x1c7ca8={_0x172e42:0x6cc,_0x4af458:0x141,_0x22153d:0x1187,_0x2e5b91:0x8c1,_0x1581ba:0x6cc,_0x1804e5:0x3b9,_0x103da7:0x773,_0x51fd4c:0x246};function _0x20daa7(_0x582309,_0x5670c8){return _0x7afdbe(_0x582309,_0x5670c8- -0x335);}function _0x323dbc(_0x3bf1db,_0x12ba69){return _0x54a7f1(_0x12ba69- -0x1e7,_0x3bf1db);}this[_0x20daa7(0x346,_0x1c7ca8._0x172e42)][_0x20daa7(_0x1c7ca8._0x4af458,0x246)](EventType['leftDown'],this[_0x20daa7(_0x1c7ca8._0x22153d,_0x1c7ca8._0x2e5b91)],this),this[_0x20daa7(0x4f4,_0x1c7ca8._0x1581ba)][_0x20daa7(_0x1c7ca8._0x1804e5,0x246)](EventType['leftUp'],this['_onMap_leftUp'],this),this[_0x20daa7(0xcd1,0x6cc)][_0x20daa7(-_0x1c7ca8._0x103da7,_0x1c7ca8._0x51fd4c)](EventType['mouseMove'],this[_0x20daa7(-0x19f,0x8e6)],this);}[_0x54a7f1(0x9c8,0xe45)](_0x3caba3){const _0x64565c={_0x498884:0x5c8,_0x1b3f46:0xd4b,_0x40e53a:0x14df,_0x2fad5a:0x1219};function _0x24cfb8(_0x511ddd,_0x41f9c7){return _0x54a7f1(_0x511ddd-0x261,_0x41f9c7);}this['_map'][_0x24cfb8(0x12e0,0x1cc3)]['screenSpaceCameraController'][_0x1dde36(_0x64565c._0x498884,_0x64565c._0x1b3f46)]&&(this['_map']['scene'][_0x24cfb8(_0x64565c._0x40e53a,0xf14)][_0x24cfb8(_0x64565c._0x2fad5a,0x13c0)]=![],this['_hasChangeEnableInputs']=!![]);function _0x1dde36(_0x309413,_0x55051a){return _0x7afdbe(_0x309413,_0x55051a- -0x49b);}this['_map']['on'](EventType[_0x24cfb8(0xdd6,0xbeb)],this['_onMap_mouseMove'],this);}['_onMap_mouseMove'](_0x1400b0){const _0x2b72e9={_0x42c34c:0x652,_0xc69274:0x131c,_0x3108a9:0x14f7,_0x345f73:0xb72,_0x4ebd5d:0x9eb,_0x150898:0xe4,_0x1d5689:0x781,_0x218239:0x90c,_0x4916f0:0xf38,_0x557032:0xcbe,_0x35b108:0x13fd};if(this[_0x2799ea(0xa25,_0x2b72e9._0x42c34c)]&&Math[_0x53b950(0x796,0x120d)](this['_last_clickPositionX']-_0x1400b0[_0x53b950(0x1afb,_0x2b72e9._0xc69274)]['x'])<0xa&&Math['abs'](this[_0x2799ea(0x759,0x393)]-_0x1400b0[_0x53b950(_0x2b72e9._0x3108a9,_0x2b72e9._0xc69274)]['y'])<0xa)return;function _0x53b950(_0x2dd678,_0x5ef857){return _0x54a7f1(_0x5ef857-0x13b,_0x2dd678);}this[_0x53b950(_0x2b72e9._0x345f73,0xa54)]=_0x1400b0['windowPosition']['x'],this['_last_clickPositionY']=_0x1400b0[_0x2799ea(0x100c,0xf1a)]['y'];function _0x2799ea(_0x3695cc,_0x37b692){return _0x7afdbe(_0x3695cc,_0x37b692- -0x4f5);}let _0x433f68=_0x1400b0['cartesian'];if(_0x433f68){var _0x5ed50a,_0x16a27a,_0x5bae81;if((_0x5ed50a=this['options'])!==null&&_0x5ed50a!==void 0x0&&_0x5ed50a['updateDrawPosition']){_0x433f68=this[_0x53b950(0x8fd,_0x2b72e9._0x4ebd5d)]['updateDrawPosition'](_0x433f68,this);if(!_0x433f68)return;}if((_0x16a27a=this['options'])!==null&&_0x16a27a!==void 0x0&&_0x16a27a[_0x2799ea(-0x10b,0x28e)]){const _0x55d063=this['options']['validDrawPosition'](_0x433f68,this);if(!_0x55d063)return;}this['removeNearPoint'](),(_0x5bae81=this['options'])!==null&&_0x5bae81!==void 0x0&&_0x5bae81[_0x2799ea(_0x2b72e9._0x150898,0x859)]&&(_0x433f68=addPositionsHeight(_0x433f68,this['options']['addHeight'])),this[_0x53b950(_0x2b72e9._0x1d5689,_0x2b72e9._0x218239)]['push'](_0x433f68),this[_0x2799ea(0x8e0,_0x2b72e9._0x4916f0)](![]),!isPCBroswer()&&this['_showDrawMouseMoveSmallTooltip'](_0x1400b0),this['fire'](EventType['drawAddPoint'],{..._0x1400b0,'drawType':this['type'],'positions':this[_0x53b950(-0x152,0x90c)]},!![]),this['_positions_draw'][_0x2799ea(0x1467,_0x2b72e9._0x557032)]>=this[_0x2799ea(0x524,0x760)]&&this[_0x53b950(_0x2b72e9._0x35b108,0x1286)]();}}[_0x7afdbe(0xffe,0x83a)](_0x1dbba9){const _0x1ff2c5={_0x208ab0:0x7fb,_0x758de8:0x38a,_0x580992:0xb71,_0xe51ad7:0x2de,_0x1c2fe2:0x561},_0x2e4f38={_0x1c6658:0x3d};function _0xcfc01f(_0x384ed,_0x38bbfb){return _0x54a7f1(_0x38bbfb-_0x2e4f38._0x1c6658,_0x384ed);}this[_0x4b82cc(_0x1ff2c5._0x208ab0,0x61c)][_0xcfc01f(0xaf3,_0x1ff2c5._0x758de8)](EventType[_0xcfc01f(_0x1ff2c5._0x580992,0xbb2)],this['_onMap_mouseMove'],this);this[_0xcfc01f(-_0x1ff2c5._0xe51ad7,0x576)]&&(this[_0x4b82cc(0x7fb,0x581)]['scene']['screenSpaceCameraController']['enableInputs']=!![],delete this[_0x4b82cc(_0x1ff2c5._0x1c2fe2,0x4ba)]);function _0x4b82cc(_0x1b203a,_0x1f05cd){return _0x54a7f1(_0x1b203a-0x28,_0x1f05cd);}this['endDraw']();}}register$5(_0x7afdbe(0x1c,0x526),BrushLineEntity);class EditPolylineVolume extends EditPoly{get['noMatrixMoveZ'](){return!![];}}class PolylineVolumeEntity extends BasePolyEntity{get['entityGraphic'](){const _0x1a8dc0={_0x36718f:0x517};function _0x3a6aa2(_0x4030e9,_0x4c718f){return _0x54a7f1(_0x4c718f- -0x3b1,_0x4030e9);}var _0x33e205;return(_0x33e205=this[_0x3a6aa2(-_0x1a8dc0._0x36718f,0x2b0)])===null||_0x33e205===void 0x0?void 0x0:_0x33e205['polylineVolume'];}get[_0x7afdbe(0x126f,0x191a)](){return EditPolylineVolume;}['_mountedHook'](){const _0x1eee9d={_0xa4b064:0xe10,_0x426589:0x698,_0x3c45f4:0x96c,_0x340a32:0x10f1};function _0x4fad34(_0x5cfa70,_0x464d19){return _0x7afdbe(_0x5cfa70,_0x464d19- -0x1f7);}const _0x444df4={'polylineVolume':PolylineVolumeStyleConver[_0x4fad34(0xa7a,_0x1eee9d._0xa4b064)](this['style'],{},!![])};_0x444df4['polylineVolume']['positions']=this['positions'],this[_0x4fad34(0x416,_0x1eee9d._0x426589)]=this['_createEntity'](_0x444df4);function _0x279b9b(_0x506f29,_0x26da92){return _0x54a7f1(_0x26da92-0x17,_0x506f29);}this['style']['label']&&this['_addLabel'](this['style'][_0x4fad34(_0x1eee9d._0x3c45f4,_0x1eee9d._0x340a32)]);}[_0x7afdbe(0xf01,0xa5d)](_0x420b8b,_0x9d55a8){const _0x4f69c8={_0x1da045:0x1fc};function _0x4e5150(_0x37cbd4,_0x2580e1){return _0x54a7f1(_0x2580e1- -_0x4f69c8._0x1da045,_0x37cbd4);}return PolylineVolumeStyleConver[_0x4e5150(0x17ee,0x113f)](_0x420b8b,_0x9d55a8,!![]);}[_0x7afdbe(0x179c,0x1302)](_0x25e5a3,_0x548e16){PolylineVolumeStyleConver['toCesiumVal'](_0x25e5a3,this['entityGraphic'],!![]);}[_0x7afdbe(0x1432,0xa56)](){const _0x2d377f={_0x9d7cb8:0x16eb,_0xf138e8:0x11dc,_0x488246:0x10e2};function _0x17a292(_0x269dfb,_0x371bfd){return _0x54a7f1(_0x269dfb- -0xb,_0x371bfd);}this['entityGraphic']['positions']=this['positions'],this[_0x4cc9c5(_0x2d377f._0x9d7cb8,_0x2d377f._0xf138e8)]();function _0x4cc9c5(_0x3a7876,_0x34f4b8){return _0x54a7f1(_0x34f4b8- -0x468,_0x3a7876);}this[_0x17a292(_0x2d377f._0x488246,0x733)]();}}register$5('polylineVolume',PolylineVolumeEntity);class PathEntity extends BasePointEntity{constructor(_0x37455f={}){const _0x4d5577={_0x269767:0x15f6};function _0x78b99d(_0xc0d568,_0x6034db){return _0x54a7f1(_0xc0d568-0xa6,_0x6034db);}super(_0x37455f),delete this[_0x78b99d(0xd53,_0x4d5577._0x269767)],this['_hasEdit']=![];}get['entityGraphic'](){var _0x207ec3;return(_0x207ec3=this['_entity'])===null||_0x207ec3===void 0x0?void 0x0:_0x207ec3['path'];}get['orientationShow'](){const _0x56cbad={_0x45868c:0x89e,_0x310163:0x5da},_0x34b4f2={_0x5043e4:0x68a};function _0x3c62d8(_0x1e8ea0,_0x5092bf){return _0x7afdbe(_0x5092bf,_0x1e8ea0- -0x587);}const _0x4d9703=Cesium__namespace['Property'][_0x1946fb(-_0x56cbad._0x45868c,0x14f)](this[_0x3c62d8(0x12a7,0xff5)],this['_map']['clock']['currentTime'],new Cesium__namespace[(_0x3c62d8(_0x56cbad._0x310163,0xd88))]());function _0x1946fb(_0x451786,_0x5c86fc){return _0x7afdbe(_0x451786,_0x5c86fc- -_0x34b4f2._0x5043e4);}return _0x4d9703;}get[_0x54a7f1(0xe4d,0xb75)](){const _0x4cb4f9={_0x4490d8:0x2381,_0x1514c4:0x18ca},_0x65af34={_0x3f5b68:0x97};function _0x56faeb(_0x31dde0,_0x4c6ee4){return _0x7afdbe(_0x31dde0,_0x4c6ee4- -_0x65af34._0x3f5b68);}return getHeadingPitchRollByOrientation(this['positionShow'],this['orientationShow'],this['ellipsoid'],this[_0x56faeb(_0x4cb4f9._0x4490d8,_0x4cb4f9._0x1514c4)]);}get['pitch'](){return this['style']['pitch']??0x0;}set['pitch'](_0x4ccd57){function _0x50ef5b(_0x293075,_0xc7e27){return _0x7afdbe(_0xc7e27,_0x293075- -0x136);}this['style']['pitch']=_0x4ccd57,this[_0x50ef5b(0xa9b,0xd0b)]();}get[_0x54a7f1(0x1731,0x21c8)](){return this['style']['roll']??0x0;}set['roll'](_0x2e245e){const _0x6c111c={_0x3f79cc:0xfb0,_0x1d84c8:0xa1b};function _0x3c8044(_0x326522,_0x19c649){return _0x54a7f1(_0x19c649-0x78,_0x326522);}this['style']['roll']=_0x2e245e,this[_0x3c8044(_0x6c111c._0x3f79cc,_0x6c111c._0x1d84c8)]();}get['positions'](){const _0x31ece4={_0x419a37:0x592};function _0x43cd63(_0xc33f5e,_0x2e31fd){return _0x7afdbe(_0x2e31fd,_0xc33f5e- -_0x31ece4._0x419a37);}return this[_0x43cd63(0x9d9,0x2bf)];}set['positions'](_0x2d9501){const _0x52d1f0={_0x4c8676:0x6c1},_0x4ae551={_0x16778d:0xbf8,_0x398322:0x75f},_0x21b6de={_0x588830:0x7c};if(!_0x2d9501)return;const _0x5de77b=new Cesium__namespace['SampledPositionProperty']();function _0x512b40(_0x26d7e8,_0x24b0b3){return _0x54a7f1(_0x24b0b3-_0x21b6de._0x588830,_0x26d7e8);}_0x2d9501[_0x512b40(0x9c4,_0x52d1f0._0x4c8676)]((_0x56a23c,_0x119014)=>{const _0x1c4044=Cesium__namespace[_0x5f07b9(_0x4ae551._0x16778d,_0x4ae551._0x398322)]['fromDate'](new Date(_0x56a23c[0x3]));function _0x5f07b9(_0x22ad6f,_0x4d0cef){return _0x512b40(_0x4d0cef,_0x22ad6f- -0x28e);}_0x5de77b['addSample'](_0x1c4044,Cesium__namespace['Cartesian3']['fromDegrees'](_0x56a23c[0x0],_0x56a23c[0x1],_0x56a23c[0x2]));}),this['position']=_0x5de77b;}get[_0x54a7f1(0xd84,0x559)](){function _0x5c6e84(_0x4077b9,_0x10a866){return _0x7afdbe(_0x10a866,_0x4077b9-0x80);}return this[_0x5c6e84(0x657,0xc51)]();}['_updatePositionsHook'](){const _0x51e14f={_0x59462b:0x39f,_0x57f735:0x1d8,_0x3dd6b9:0x104e},_0x1d805f={_0x5adea7:0x6b7};function _0x14724a(_0x3b530e,_0x6e7c47){return _0x7afdbe(_0x3b530e,_0x6e7c47- -_0x1d805f._0x5adea7);}function _0x3885eb(_0x5b25ba,_0x4b2b76){return _0x54a7f1(_0x4b2b76- -0x4df,_0x5b25ba);}super[_0x14724a(-0x56b,_0x51e14f._0x59462b)](),!this['position']||this['position']instanceof Cesium__namespace['Cartesian3']?(this[_0x14724a(0xc41,_0x51e14f._0x57f735)]['orientation']=undefined,this['availability']=undefined):(this['options']['_auto_orientation']&&(this[_0x3885eb(0x93d,0x182)][_0x3885eb(0x75c,0x1121)]=new Cesium__namespace[(_0x14724a(0x907,0xe34))](this[_0x14724a(_0x51e14f._0x3dd6b9,0x1258)])),this['_auto_availability']&&this['_setAutoAvailability']());}['_mountedHook'](){const _0x368889={_0x150ca7:0x1973,_0x8bc730:0x11fc,_0x3ec850:0x1aa5,_0x388fe7:0xb42,_0xc62615:0xbcc,_0x5d8fd6:0x6d0,_0x3f6afe:0xc40,_0x16a1a9:0x148c,_0x2905c2:0x11f5,_0x52f60b:0x597,_0x20880c:0xfbe,_0x5c1033:0x574,_0x50d3a0:0x861,_0x1d368d:0x8a6,_0x44ea84:0x106b,_0x4fa097:0xaf0,_0x570ead:0xd02,_0x436d04:0xe8d,_0x279fb8:0x142d,_0x49543d:0xb42,_0x15203e:0x91e,_0xef82de:0x11d7,_0x3b1039:0x1aa8,_0x197fcc:0x19d6,_0x3055c7:0x230e},_0xacf05d={_0x25c0c2:0xd92,_0x165dce:0xfba,_0x12841c:0x10f6,_0x3780bc:0x8cb},_0x4bcef6={_0x5624d3:0x4bb},_0x2a2100={_0x14914e:0x64};this['position']&&!this[_0x1d05e6(0x3f5,0x9e9)]['orientation']&&(this['options'][_0x1d05e6(0x1145,0x18ca)]=new Cesium__namespace['VelocityOrientationProperty'](this[_0x1d05e6(0x1226,0x1b23)]),this['_auto_orientation']=!![]);const _0x203f0c={'position':this[_0xd7f894(_0x368889._0x150ca7,_0x368889._0x8bc730)],'orientation':this['options']['orientation'],'path':PathStyleConver[_0xd7f894(0x106b,_0x368889._0x3ec850)](this['style']||this['options']['path'],{},!![])};!this[_0xd7f894(_0x368889._0x388fe7,_0x368889._0xc62615)]['availability']&&this['_setAutoAvailability'](_0x203f0c);this[_0x1d05e6(0x3f5,-_0x368889._0x5d8fd6)][_0xd7f894(0x134c,0x1071)]&&(this[_0x1d05e6(0x3f5,0x789)]['label'][_0xd7f894(0x138d,0x13b5)]=this['options']['label'][_0x1d05e6(_0x368889._0x3f6afe,_0x368889._0x16a1a9)]||this[_0x1d05e6(0xdc1,_0x368889._0x2905c2)],_0x203f0c['label']=LabelStyleConver['toCesiumVal'](this['options']['label']));this['options']['billboard']&&(_0x203f0c[_0xd7f894(0xfbe,_0x368889._0x52f60b)]=BillboardStyleConver['toCesiumVal'](this['options'][_0xd7f894(_0x368889._0x20880c,_0x368889._0x5c1033)]));this['options'][_0x1d05e6(_0x368889._0x50d3a0,_0x368889._0x1d368d)]&&(_0x203f0c['point']=PointStyleConver[_0xd7f894(_0x368889._0x44ea84,0x189e)](this[_0x1d05e6(0x3f5,0xaab)]['point']));function _0xd7f894(_0x44031e,_0x309f72){return _0x7afdbe(_0x309f72,_0x44031e-_0x2a2100._0x14914e);}this[_0xd7f894(0xb42,0x971)][_0x1d05e6(_0x368889._0x4fa097,_0x368889._0x570ead)]&&(_0x203f0c[_0xd7f894(_0x368889._0x436d04,_0x368889._0x279fb8)]=CircleStyleConver['toCesiumVal'](this['options']['circle'],{},!![]));function _0x1d05e6(_0x4f559a,_0x2c983a){return _0x54a7f1(_0x4f559a- -_0x4bcef6._0x5624d3,_0x2c983a);}if(this[_0xd7f894(_0x368889._0x49543d,0xfd0)]['model']){_0x203f0c['model']=ModelStyleConver[_0x1d05e6(_0x368889._0x15203e,0x1160)](this['options']['model'],{},!![]),_0x203f0c[_0xd7f894(0x95d,0x2ae)][_0x1d05e6(0x11f,-0x108)]={'occlusion':this['options']['model']['marsOcclusion'],'callback':(_0x4f276b,_0x39f972)=>{const _0x4cbb1d={_0xb27885:0xee};this[_0x6956f2(_0xacf05d._0x25c0c2,_0xacf05d._0x165dce)]=_0x39f972;const _0x27195f={};_0x27195f[_0x21b63b(_0xacf05d._0x12841c,_0xacf05d._0x3780bc)]=_0x39f972;function _0x6956f2(_0x3f19ce,_0x347f2a){return _0x1d05e6(_0x347f2a-_0x4cbb1d._0xb27885,_0x3f19ce);}function _0x21b63b(_0x544646,_0x42e521){return _0x1d05e6(_0x42e521-0x6bb,_0x544646);}this[_0x21b63b(0x14ec,0x10b8)](EventType['load'],_0x27195f,!![]);}};const _0x494cac=this[_0xd7f894(_0x368889._0x49543d,0x76f)]['model'];(_0x494cac[_0x1d05e6(-0x4b,-0x855)]||Cesium__namespace['defined'](_0x494cac['heading'])||Cesium__namespace['defined'](_0x494cac[_0x1d05e6(_0x368889._0xef82de,0x1908)])||Cesium__namespace[_0xd7f894(0x1913,0x1bf6)](_0x494cac[_0xd7f894(0x19c3,_0x368889._0x3b1039)]))&&(_0x203f0c['orientation']=new Cesium__namespace['CallbackProperty'](_0x4b8396=>{return this['_getCustomQuaternion'](this['position'],this['options']['orientation']);},![]));}this['_entity']=this[_0xd7f894(_0x368889._0x197fcc,_0x368889._0x3055c7)](_0x203f0c);}['_getCustomQuaternion'](_0x1862d2,_0x39760c){const _0x3732ef={_0x1bce2e:0x5f3,_0x2a2a65:0x5ec,_0x5e84fc:0x113c,_0x470007:0x1444,_0xd74d9d:0x1344,_0x26b2ca:0x13e1,_0x18b5d8:0x14,_0x4d1132:0x153,_0x1860b6:0x96b};if(_0x1862d2[_0x481de7(0x705,-0x11b)]){var _0x238b29;_0x1862d2=_0x1862d2[_0x481de7(0x705,0xbe)]((_0x238b29=this['_map'])===null||_0x238b29===void 0x0||(_0x238b29=_0x238b29[_0x281851(_0x3732ef._0x1bce2e,0xd40)])===null||_0x238b29===void 0x0?void 0x0:_0x238b29['currentTime']);}function _0x281851(_0x5ee1b6,_0x5424bc){return _0x54a7f1(_0x5ee1b6- -0x3e6,_0x5424bc);}function _0x481de7(_0x30f04d,_0x36f66a){return _0x7afdbe(_0x36f66a,_0x30f04d- -0x61b);}if(_0x39760c[_0x481de7(0x705,0x1a)]){var _0x2b14c0;_0x39760c=_0x39760c['getValue']((_0x2b14c0=this['_map'])===null||_0x2b14c0===void 0x0||(_0x2b14c0=_0x2b14c0[_0x481de7(_0x3732ef._0x2a2a65,0xa11)])===null||_0x2b14c0===void 0x0?void 0x0:_0x2b14c0['currentTime']);}const _0x436450=this['options']['model'];let _0xf5bc0b=Cesium__namespace['Math'][_0x281851(_0x3732ef._0x5e84fc,_0x3732ef._0x470007)](_0x436450['heading']||0x0),_0x3155f5=Cesium__namespace['Math'][_0x281851(0x113c,0x1122)](_0x436450['pitch']||0x0),_0x28e40e=Cesium__namespace['Math'][_0x481de7(0x1135,0xe1a)](_0x436450['roll']||0x0);if(_0x39760c){const _0x27bd24=getHeadingPitchRollByOrientation(_0x1862d2,_0x39760c,this['ellipsoid'],this['fixedFrameTransform']);_0x436450[_0x281851(0x8a,-0x92)]?(_0xf5bc0b+=_0x27bd24['heading'],_0x28e40e+=_0x27bd24[_0x481de7(_0x3732ef._0xd74d9d,_0x3732ef._0x26b2ca)],_0x3155f5+=_0x27bd24[_0x281851(0x12ac,0x124b)]):(!Cesium__namespace['defined'](_0x436450[_0x281851(-0xd9,-0x39c)])&&(_0xf5bc0b=_0x27bd24['heading']),!Cesium__namespace['defined'](_0x436450[_0x281851(0x134b,0x19bf)])&&(_0x28e40e=_0x27bd24['roll']),!Cesium__namespace['defined'](_0x436450['pitch'])&&(_0x3155f5=_0x27bd24['pitch']));}return Cesium__namespace['Transforms'][_0x481de7(_0x3732ef._0x18b5d8,-_0x3732ef._0x4d1132)](_0x1862d2,new Cesium__namespace[(_0x481de7(0x775,-0xb3))](_0xf5bc0b,_0x3155f5,_0x28e40e),this[_0x481de7(0x517,_0x3732ef._0x1860b6)],this['fixedFrameTransform']);}[_0x7afdbe(0x78f,0x589)](){const _0x375d2f={_0x5111d0:0x17fd,_0x4a7341:0x1212,_0x50df49:0x1d07,_0x227691:0xb1d,_0x34cca7:0x1fb4,_0x1a733d:0x16dc,_0xbe3cf0:0x149f},_0x475735={_0x54d520:0x5};function _0x165341(_0x114d1b,_0x4ad2d1){return _0x54a7f1(_0x4ad2d1- -0x242,_0x114d1b);}if(!this['options'])return;this['_maxCacheCount']=this['options']['maxCacheCount']??0x32;if(!this[_0x165341(_0x375d2f._0x5111d0,0x149f)]){const _0x963927=new Cesium__namespace[(_0x165341(0x9c7,0xdc9))](this['options'][_0x2b201e(0x905,_0x375d2f._0x4a7341)]);_0x963927[_0x2b201e(0x1bf7,0x1370)]=this[_0x165341(-0x87,0x66e)]['forwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],_0x963927['backwardExtrapolationType']=this['options'][_0x2b201e(_0x375d2f._0x50df49,0x129c)]??Cesium__namespace[_0x2b201e(_0x375d2f._0x227691,0x7ac)]['HOLD'],!this[_0x165341(-0x5e,0x66e)]['orientation']&&(this['options'][_0x2b201e(0xc85,0x15fb)]=new Cesium__namespace['VelocityOrientationProperty'](_0x963927),this['_entity']&&(this['_entity']['orientation']=this['getOrientation']())),this[_0x2b201e(_0x375d2f._0x34cca7,_0x375d2f._0x1a733d)]=_0x963927;}function _0x2b201e(_0xa1340a,_0x194528){return _0x54a7f1(_0x194528- -_0x475735._0x54d520,_0xa1340a);}this['property']=this[_0x165341(0x18c0,_0x375d2f._0xbe3cf0)];}[_0x54a7f1(0x10d4,0x19bb)](_0x59ed18,_0x2a7885){PathStyleConver['toCesiumVal'](_0x59ed18,this['entityGraphic'],{},!![]);}['_style2Json'](_0xce3479,_0x2dcaa8){return PathStyleConver['toJSON'](_0xce3479,_0x2dcaa8,!![]);}[_0x7afdbe(0x643,0xfa0)](_0xc1962e){const _0x2e56bd={_0x52b9a0:0x5e0,_0x49029b:0x42e},_0x23ee54={_0x40f70b:0x66b};function _0x3953fe(_0x1d89ce,_0x5e2242){return _0x54a7f1(_0x1d89ce-0x237,_0x5e2242);}function _0x387741(_0x600bf2,_0x106ef7){return _0x7afdbe(_0x106ef7,_0x600bf2- -_0x23ee54._0x40f70b);}return{'type':'LineString','coordinates':this[_0x3953fe(_0x2e56bd._0x52b9a0,0x6c1)](_0xc1962e===null||_0xc1962e===void 0x0?void 0x0:_0xc1962e[_0x387741(_0x2e56bd._0x49029b,-0x4df)])};}['_getJsonPositions'](_0x2aee89){const _0x27961b={_0x2866bb:0x121b};function _0xe96cf7(_0x2b192e,_0x3916eb){return _0x54a7f1(_0x3916eb-0x12c,_0x2b192e);}_0x2aee89[_0xe96cf7(0x1721,_0x27961b._0x2866bb)]=this['getCoordinates']();}['_toJSON_Ex'](_0x2abf78){const _0x4977a7={_0x16ca1a:0xdae,_0x5bc961:0x6ef,_0x5d5d2f:0x1094,_0xe4c994:0x14a0,_0x513afe:0x231,_0x4593cf:0x6a5,_0x3211db:0x88a,_0x456f61:0x41c,_0x2c8fdf:0xd06,_0x4d0329:0x84d,_0x450533:0x16ff,_0x2921fc:0x1315},_0x114b2a={_0x1498ec:0x40b},_0x22e7b9={_0x3bdef4:0x254};this['options']['label']&&(_0x2abf78['label']={},LabelStyleConver['toJSON'](this[_0x2404cc(_0x4977a7._0x16ca1a,0x88a)][_0x2404cc(_0x4977a7._0x5bc961,_0x4977a7._0x5d5d2f)],_0x2abf78[_0x2404cc(_0x4977a7._0xe4c994,0x1094)],!![]));this[_0x55f6aa(0x6d3,-0x195)][_0x2404cc(_0x4977a7._0x513afe,0x6a5)]&&(_0x2abf78[_0x2404cc(0x67d,0x6a5)]={},ModelStyleConver['toJSON'](this[_0x2404cc(0x1172,0x88a)][_0x2404cc(0x8a0,_0x4977a7._0x4593cf)],_0x2abf78['model'],!![]));this[_0x2404cc(0x8e,_0x4977a7._0x3211db)]['billboard']&&(_0x2abf78[_0x55f6aa(0xb4f,0x124f)]={},BillboardStyleConver['toJSON'](this[_0x2404cc(_0x4977a7._0x456f61,0x88a)][_0x2404cc(0x1404,_0x4977a7._0x2c8fdf)],_0x2abf78[_0x55f6aa(0xb4f,0x656)],!![]));function _0x2404cc(_0x57412b,_0x3391fe){return _0x7afdbe(_0x57412b,_0x3391fe- -_0x22e7b9._0x3bdef4);}this[_0x55f6aa(0x6d3,_0x4977a7._0x4d0329)]['point']&&(_0x2abf78['point']={},PointStyleConver['toJSON'](this[_0x55f6aa(0x6d3,0xa29)][_0x2404cc(0xef4,0xcf6)],_0x2abf78['point'],!![]));function _0x55f6aa(_0x2d6a08,_0x710b98){return _0x7afdbe(_0x710b98,_0x2d6a08- -_0x114b2a._0x1498ec);}this['options'][_0x2404cc(_0x4977a7._0x450533,0xf85)]&&(_0x2abf78['circle']={},CircleStyleConver[_0x2404cc(0xf52,_0x4977a7._0x2921fc)](this['options']['circle'],_0x2abf78[_0x55f6aa(0xdce,0xa60)],!![]));}['_setOptionsHook'](_0x193949,_0x5c3500){const _0x1bb29b={_0x56f269:0x10db,_0x107e29:0x143c,_0x54b66a:0xd7e},_0x596757={_0x3dc678:0x4dc};_0x5c3500[_0x197b21(0xf4d,0xc97)]&&LabelStyleConver['toCesiumVal'](_0x193949['label'],this['_entity'][_0x197b21(0xf4d,_0x1bb29b._0x56f269)],this);_0x5c3500[_0x22eab4(0x658,0x1ef)]&&ModelStyleConver['toCesiumVal'](_0x193949['model'],this['_entity']['model'],!![]);function _0x197b21(_0x226b4c,_0x986830){return _0x7afdbe(_0x986830,_0x226b4c- -0x39b);}_0x5c3500['billboard']&&BillboardStyleConver['toCesiumVal'](_0x193949[_0x22eab4(0x3cf,0x850)],this['_entity']['billboard'],!![]);function _0x22eab4(_0x2404f2,_0x269f82){return _0x54a7f1(_0x269f82- -_0x596757._0x3dc678,_0x2404f2);}_0x5c3500['point']&&PointStyleConver[_0x197b21(0xc6c,_0x1bb29b._0x107e29)](_0x193949['point'],this['_entity'][_0x22eab4(0x91a,0x840)],!![]),_0x5c3500[_0x197b21(0xe3e,0x17ce)]&&CircleStyleConver[_0x22eab4(_0x1bb29b._0x54b66a,0x8fd)](_0x193949['circle'],this[_0x197b21(0x4f4,0xda9)]['ellipse'],!![]);}['_updateExOpacity'](_0x41be94){const _0x1d286c={_0x2ebd28:0x883,_0x474fdd:0x846,_0x1a5d0a:0x19da,_0x3630e8:0xf11,_0x57cfe5:0xa45,_0x1530f9:0x630,_0x36edbe:0xed4,_0x512ffa:0xf01,_0x3a5993:0x191d,_0x3d1690:0x1163,_0x14833d:0x13c7,_0x11d0d5:0xa95,_0x101a37:0xa4a,_0x11664c:0x1de};this[_0x89d43d(0x819,0xd8f)][_0x89d43d(_0x1d286c._0x2ebd28,0x17d)]&&(this[_0x30eef8(0x1d4,_0x1d286c._0x474fdd)][_0x30eef8(0xdef,0x8b0)][_0x89d43d(0x13ca,0xa73)]=Cesium__namespace['Color'][_0x30eef8(0xb1d,0xa72)][_0x30eef8(0xf41,0x570)](_0x41be94));this['_entity'][_0x30eef8(_0x1d286c._0x1a5d0a,_0x1d286c._0x3630e8)]&&(this[_0x30eef8(0x851,_0x1d286c._0x474fdd)]['billboard']['color']=Cesium__namespace[_0x89d43d(0x143c,0x1c03)][_0x89d43d(_0x1d286c._0x57cfe5,_0x1d286c._0x1530f9)]['withAlpha'](_0x41be94));function _0x89d43d(_0x53f222,_0x3e4535){return _0x54a7f1(_0x53f222-0x1b8,_0x3e4535);}function _0x30eef8(_0x127d23,_0x32d5c1){return _0x7afdbe(_0x127d23,_0x32d5c1- -0x49);}if(this['_entity'][_0x89d43d(_0x1d286c._0x36edbe,0x10a5)]){const _0x30430a=this['_updateEntityOpacity'](this['_entity'][_0x30eef8(0x16d3,_0x1d286c._0x512ffa)],_0x41be94);if(!_0x30430a){const _0x307f3b={...this['options']['point']};_0x307f3b['globalAlpha']=_0x41be94,PointStyleConver['toCesiumVal'](_0x307f3b,this['_entity'][_0x30eef8(_0x1d286c._0x3a5993,0xf01)],!![]);}}if(this['_entity'][_0x89d43d(_0x1d286c._0x3d1690,0x7ea)]){const _0x3f8742=this[_0x89d43d(_0x1d286c._0x14833d,0x1a16)](this['_entity']['circle'],_0x41be94);if(!_0x3f8742){const _0x59b1c7={...this[_0x30eef8(0x938,_0x1d286c._0x11d0d5)][_0x30eef8(0xe0c,0x1190)]};_0x59b1c7[_0x30eef8(0x104,_0x1d286c._0x101a37)]=_0x41be94,CircleStyleConver['toCesiumVal'](_0x59b1c7,this[_0x30eef8(_0x1d286c._0x11664c,0x846)]['ellipse'],!![]);}}}['getIndex'](_0x2b13fd){const _0x36164a={_0x2f7935:0x1186,_0x2699be:0x62e,_0x3cd451:0x13ed,_0x223378:0xf66,_0x4912b1:0xcae,_0x24da2b:0xa13};var _0x3816c0,_0x3a9527;const _0x2dc66d=(_0x3816c0=this['position'])===null||_0x3816c0===void 0x0||(_0x3816c0=_0x3816c0[_0x847d8a(_0x36164a._0x2f7935,0xf28)])===null||_0x3816c0===void 0x0?void 0x0:_0x3816c0['_times'],_0x2b8d81=_0x2dc66d[_0x341863(0xe29,_0x36164a._0x2699be)];function _0x847d8a(_0x13883f,_0x5bfa4a){return _0x7afdbe(_0x5bfa4a,_0x13883f- -0x4c8);}if(_0x2b8d81===0x0)return 0x0;const _0x244d7b=_0x2b13fd||((_0x3a9527=this['_map'])===null||_0x3a9527===void 0x0||(_0x3a9527=_0x3a9527['clock'])===null||_0x3a9527===void 0x0?void 0x0:_0x3a9527['currentTime'])||Cesium__namespace[_0x847d8a(0xb70,_0x36164a._0x3cd451)]['now']();for(let _0x8f2c28=0x0;_0x8f2c28<_0x2b8d81;_0x8f2c28++){const _0x35a94b=Cesium__namespace[_0x847d8a(0xb70,0x69b)]['compare'](_0x244d7b,_0x2dc66d[_0x8f2c28]);if(_0x35a94b<=0x0)return _0x8f2c28-0x1;}let _0x2dfb74=Cesium__namespace[_0x847d8a(0xb59,_0x36164a._0x223378)](_0x2dc66d,_0x244d7b,Cesium__namespace[_0x341863(_0x36164a._0x4912b1,_0x36164a._0x24da2b)][_0x847d8a(0xbe3,0x6eb)]);_0x2dfb74<0x0&&(_0x2dfb74=~_0x2dfb74);_0x2dfb74<0x0&&(_0x2dfb74=0x0);function _0x341863(_0x4e1164,_0x51179b){return _0x54a7f1(_0x4e1164- -0x15c,_0x51179b);}return _0x2dfb74>=_0x2b8d81&&(_0x2dfb74=_0x2b8d81-0x1),_0x2dfb74;}['getRectangle'](_0x3edd90){const _0x1a5a6c={_0x4e4d43:0x7c6,_0x3c7389:0xe80,_0x36c6f5:0x1620,_0x511c2a:0xc20,_0x25449e:0x135f,_0x5832d3:0xcd0,_0xb2db86:0x1075},_0x19e92e={_0x353bcf:0x16d};var _0x3546cb,_0x3e4fd8;function _0xd22c62(_0x231d3b,_0x37cd3f){return _0x54a7f1(_0x37cd3f-_0x19e92e._0x353bcf,_0x231d3b);}const _0x5eecf3=(_0x3546cb=this['position'])===null||_0x3546cb===void 0x0||(_0x3546cb=_0x3546cb['_property'])===null||_0x3546cb===void 0x0?void 0x0:_0x3546cb[_0x1c5729(0xef,_0x1a5a6c._0x4e4d43)],_0x7c4275=(_0x3e4fd8=this[_0x1c5729(_0x1a5a6c._0x3c7389,_0x1a5a6c._0x36c6f5)])===null||_0x3e4fd8===void 0x0||(_0x3e4fd8=_0x3e4fd8[_0x1c5729(_0x1a5a6c._0x511c2a,_0x1a5a6c._0x25449e)])===null||_0x3e4fd8===void 0x0?void 0x0:_0x3e4fd8[_0xd22c62(0x1b97,0x1112)];function _0x1c5729(_0x59b3ee,_0x5809aa){return _0x7afdbe(_0x59b3ee,_0x5809aa- -0x2ef);}if(!_0x5eecf3||_0x5eecf3['length']===0x0)return;const _0x13561c=[];for(let _0x42a1e2=0x0,_0x28ca41=_0x5eecf3['length'];_0x42a1e2<_0x28ca41;_0x42a1e2++){_0x13561c[_0xd22c62(_0x1a5a6c._0x5832d3,_0x1a5a6c._0xb2db86)](new Cesium__namespace[(_0xd22c62(0xd06,0x1454))](_0x7c4275[_0x42a1e2*0x3],_0x7c4275[_0x42a1e2*0x3+0x1],_0x7c4275[_0x42a1e2*0x3+0x2]));}const _0x529228=getRectangle(_0x13561c,_0x3edd90===null||_0x3edd90===void 0x0?void 0x0:_0x3edd90['isFormat']);return _0x529228;}['getCoordinates'](_0x47853e){const _0x3e2b58={_0x1ca104:0x1be9,_0x2d00a8:0xc06,_0x66fa69:0xd76},_0xa4a79d={_0x368b42:0x39f};var _0x1de45c,_0x5b3e1d;const _0x6443e6=(_0x1de45c=this['position'])===null||_0x1de45c===void 0x0||(_0x1de45c=_0x1de45c['_property'])===null||_0x1de45c===void 0x0?void 0x0:_0x1de45c['_times'],_0x67c234=(_0x5b3e1d=this[_0x1d4828(0x1213,_0x3e2b58._0x1ca104)])===null||_0x5b3e1d===void 0x0||(_0x5b3e1d=_0x5b3e1d['_property'])===null||_0x5b3e1d===void 0x0?void 0x0:_0x5b3e1d[_0x86248f(0x83e,_0x3e2b58._0x2d00a8)];if(!_0x6443e6||_0x6443e6['length']===0x0)return[];const _0x4e17ea=[];function _0x1d4828(_0x41f2c1,_0x1f7aa9){return _0x7afdbe(_0x1f7aa9,_0x41f2c1- -0x6fc);}for(let _0x6d405c=0x0,_0x20fa6b=_0x6443e6[_0x1d4828(0xab7,0x10a0)];_0x6d405c<_0x20fa6b;_0x6d405c++){const _0x33bd8b=LngLatPoint[_0x86248f(-0x987,-0x62)](new Cesium__namespace['Cartesian3'](_0x67c234[_0x6d405c*0x3],_0x67c234[_0x6d405c*0x3+0x1],_0x67c234[_0x6d405c*0x3+0x2])),_0x324683=_0x33bd8b['toArray'](_0x47853e);_0x324683['push'](Cesium__namespace[_0x86248f(0x76e,0xa6b)][_0x86248f(_0x3e2b58._0x66fa69,0x1113)](_0x6443e6[_0x6d405c])['getTime']()),_0x4e17ea['push'](_0x324683);}function _0x86248f(_0x59c95e,_0x1115e2){return _0x54a7f1(_0x1115e2- -_0xa4a79d._0x368b42,_0x59c95e);}return _0x4e17ea;}[_0x7afdbe(0x65d,0xf05)](_0x458423={}){const _0xf0fe1f={_0xa0856d:0xf82};if(!this[_0x56d319(0x9a5,0x7f6)])return Promise['resolve'](![]);const _0x394876=this['positionShow'];if(!_0x394876)return Promise[_0x408304(_0xf0fe1f._0xa0856d,0x89f)](![]);let _0x343093;if(Cesium__namespace['defined'](_0x458423['heading'])){var _0x39bba0;_0x343093=_0x458423['heading']+Cesium__namespace['Math']['toDegrees'](((_0x39bba0=this['hpr'])===null||_0x39bba0===void 0x0?void 0x0:_0x39bba0[_0x56d319(0x97d,0x330)])||0x0);}function _0x56d319(_0x57b472,_0x33adb0){return _0x54a7f1(_0x33adb0-0x23,_0x57b472);}const _0xee62af={..._0x458423};function _0x408304(_0x9e87fb,_0x42b120){return _0x54a7f1(_0x9e87fb-0x1e0,_0x42b120);}return _0xee62af['heading']=_0x343093,this['_map']['flyToPoint'](_0x394876,_0xee62af);}}register$5('path',PathEntity,!![]);class EditCorridor extends EditPoly{[_0x54a7f1(0xc5d,0x56c)](_0x5baf6d){const _0x2fc098={_0x16ea57:0x329,_0x5c332e:0xbbc},_0x1f27f9={_0xf192e7:0x33e};if(this['entityGraphic'][_0x5bb6aa(_0x2fc098._0x16ea57,_0x2fc098._0x5c332e)]!==undefined){const _0x376419=getCesiumValue(this['entityGraphic']['height'],Number,this['_map']['clock']['currentTime']);_0x5baf6d=setPositionsHeight(_0x5baf6d,_0x376419);}function _0x5bb6aa(_0x1e4f0f,_0x520234){return _0x54a7f1(_0x1e4f0f- -_0x1f27f9._0xf192e7,_0x520234);}return _0x5baf6d;}[_0x7afdbe(0xac1,0x74d)](_0x4f8796){const _0x5a2d00={_0x3fdc26:0x7e0},_0x4ed2af={_0x51cf11:0x44c},_0x4655de={_0x5cde10:0x460};function _0x1c72e8(_0xec6c15,_0x48cf3e){return _0x7afdbe(_0xec6c15,_0x48cf3e- -_0x4655de._0x5cde10);}function _0x1e875c(_0x5c471e,_0x5b74ce){return _0x7afdbe(_0x5b74ce,_0x5c471e- -_0x4ed2af._0x51cf11);}return this['clampToGround']&&(_0x4f8796[_0x1c72e8(0x1bee,0x14af)]=getSurfacePosition(this['_map'][_0x1c72e8(_0x5a2d00._0x3fdc26,0xe4d)],_0x4f8796['position'])),super['createDragger'](_0x4f8796);}[_0x54a7f1(0xc36,0x103d)](_0x34cf0a){const _0x3d9dc4={_0x5462e0:0x7bd,_0x3bfe61:0x9ed,_0x4e1741:0xc72},_0x1af681={_0x311b0d:0x73},_0x1d8a42={_0x5c9958:0xd8};if(this['clampToGround'])return;function _0x21d9b1(_0x437b6e,_0x2f8362){return _0x7afdbe(_0x2f8362,_0x437b6e- -_0x1d8a42._0x5c9958);}function _0x26f6e1(_0x2b39fa,_0x3e7525){return _0x54a7f1(_0x2b39fa- -_0x1af681._0x311b0d,_0x3e7525);}const _0x127270=Cesium__namespace['Cartographic']['fromCartesian'](_0x34cf0a)['height'];this['entityGraphic'][_0x21d9b1(_0x3d9dc4._0x5462e0,0x7f3)]=_0x127270,this['style']['height']=this[_0x21d9b1(_0x3d9dc4._0x3bfe61,_0x3d9dc4._0x4e1741)](_0x127270,0x2);}['_updateHeight'](_0x58d072){const _0x2db912={_0x90c1eb:0x2fc};function _0x1b0bd7(_0x43484f,_0x32b046){return _0x54a7f1(_0x32b046-0x122,_0x43484f);}this['entityGraphic'][_0x1b0bd7(_0x2db912._0x90c1eb,0x789)]=_0x58d072,this['style']['height']=this['formatNum'](_0x58d072,0x2);const _0x3ed855=this['positions'];for(let _0x11fac4=0x0,_0x263d86=_0x3ed855['length'];_0x11fac4<_0x263d86;_0x11fac4++){_0x3ed855[_0x11fac4]=setPositionsHeight(_0x3ed855[_0x11fac4],_0x58d072);}for(let _0x2a85dd=0x0,_0x54bf89=this['draggers']['length'];_0x2a85dd<_0x54bf89;_0x2a85dd++){const _0x3f63f7=this['draggers'][_0x2a85dd];_0x3f63f7['position']=setPositionsHeight(_0x3f63f7['position'],_0x58d072);}this['fire'](EventType['editStyle']);}}class CorridorEntity extends BasePolyEntity{get[_0x54a7f1(0x52e,0xe1c)](){var _0x41e069;return(_0x41e069=this['_entity'])===null||_0x41e069===void 0x0?void 0x0:_0x41e069['corridor'];}get['EditClass'](){return EditCorridor;}['_mountedHook'](){const _0x3ff7b={_0x2220d3:0xa32,_0x16e872:0x13e1,_0x12c1c3:0xd34,_0x53c63c:0x173,_0x471f2c:0xcff,_0x5baf7b:0xd68,_0x1f0058:0xe1},_0x4300ff={'corridor':CorridorStyleConver['toCesiumVal'](this['style'],{},!![])};function _0x4da70a(_0x50e137,_0x10745d){return _0x54a7f1(_0x50e137- -0x16b,_0x10745d);}_0x4300ff[_0x4da70a(_0x3ff7b._0x2220d3,_0x3ff7b._0x16e872)][_0x2bbddf(0xaff,_0x3ff7b._0x12c1c3)]=this['positions'],this['_entity']=this['_createEntity'](_0x4300ff),this['_calculateCzmHeight'](this[_0x2bbddf(-0x4e6,_0x3ff7b._0x53c63c)]);function _0x2bbddf(_0x36a5ad,_0x8a3f55){return _0x54a7f1(_0x8a3f55- -0x3bb,_0x36a5ad);}this['style'][_0x2bbddf(0x847,_0x3ff7b._0x471f2c)]&&this[_0x2bbddf(0x4b2,_0x3ff7b._0x5baf7b)](this[_0x2bbddf(-0x818,_0x3ff7b._0x1f0058)]['label']);}['_style2Json'](_0x152167,_0x422911){return CorridorStyleConver['toJSON'](_0x152167,_0x422911,!![]);}[_0x7afdbe(0xc04,0x1302)](_0x22d20c,_0x8c87a5){const _0x2c786d={_0x23f7a8:0x1035,_0x234004:0x406,_0x34678c:0x205e,_0x339738:0x12a5,_0x6720e1:0x1c3,_0x41f50b:0x2cd},_0x1b7d65={_0x5cedd2:0x48f},_0x519f1b={_0x605d76:0x171};function _0x6dc50(_0x5c5473,_0x47c98a){return _0x7afdbe(_0x5c5473,_0x47c98a- -_0x519f1b._0x605d76);}function _0x2eb487(_0x7617e3,_0xaeb6a6){return _0x7afdbe(_0x7617e3,_0xaeb6a6- -_0x1b7d65._0x5cedd2);}CorridorStyleConver['toCesiumVal'](_0x22d20c,this['entityGraphic'],!![]),(Cesium__namespace[_0x2eb487(0x1070,0x1420)](_0x8c87a5[_0x2eb487(_0x2c786d._0x23f7a8,0xdeb)])||Cesium__namespace[_0x6dc50(0xcc9,0x173e)](_0x8c87a5[_0x2eb487(0x3bb,_0x2c786d._0x234004)])||Cesium__namespace[_0x6dc50(_0x2c786d._0x34678c,0x173e)](_0x22d20c[_0x2eb487(_0x2c786d._0x339738,0x8bf)])||Cesium__namespace['defined'](_0x22d20c['setHeight']))&&this[_0x6dc50(0xe5b,0x91e)](this[_0x2eb487(-_0x2c786d._0x6720e1,_0x2c786d._0x41f50b)]);}['_updatePositionsHook'](){const _0x46e964={_0x44a9b9:0x1198,_0x22f272:0xf0f};this['entityGraphic']['positions']=this['positions'],this['_updateLabelPosition']();function _0x5ed754(_0x379733,_0xe5e652){return _0x54a7f1(_0xe5e652- -0x1de,_0x379733);}this['_calculateCzmHeight'](this['entityGraphic']),this[_0x5ed754(_0x46e964._0x44a9b9,_0x46e964._0x22f272)]();}[_0x7afdbe(0xedc,0x142d)](_0xec3437){this['_calculateCzmHeight'](this['entityGraphic'],!![]);}}register$5('corridor',CorridorEntity);class EditWall extends EditPoly{['bindDraggers'](){const _0x5825d6={_0x5d1937:0x87e,_0x152e17:0x9e8,_0x29c428:0x1098,_0x5e80ba:0xec8},_0x4d2218={_0x28e68f:0x12c5,_0x3e5ed4:0x11d2},_0x7364c6={_0x21e58f:0x264,_0x70c78b:0xc0a,_0x4342f2:0x86f,_0x4f14f2:0x13cc,_0x4adf9f:0x495,_0x5e8e3e:0x972,_0x20fa7c:0x3b6},_0x7ce55b={_0xfab05d:0x40};function _0x25dcaf(_0x20e415,_0x92d2e6){return _0x54a7f1(_0x92d2e6- -_0x7ce55b._0xfab05d,_0x20e415);}const _0x43567d=this['positions'],_0x3df408=this[_0x25dcaf(0x7b8,0x45c)],_0x2ceb5c=this['hasMidPoint'];function _0x5b2ea4(_0x1ccb05,_0x2c7ee5){return _0x54a7f1(_0x2c7ee5-0x76,_0x1ccb05);}for(let _0x1aefdd=0x0,_0x1f62fb=_0x43567d['length'];_0x1aefdd<_0x1f62fb;_0x1aefdd++){const _0x4f84cc=_0x43567d[_0x1aefdd],_0x4f2521=this['createDragger']({'position':_0x4f84cc,'onDrag':(_0x4d8e49,_0x28a7d8)=>{const _0x526db0={_0x2cf45e:0x1},_0x1409d0={_0x54a66f:0x299};_0x43567d[_0x4d8e49['index']]=_0x28a7d8;this['_heightDraggers']&&this['_heightDraggers']['length']>0x0&&(this[_0x253aa5(0xd52,0x156d)][_0x4d8e49[_0x287037(_0x7364c6._0x21e58f,0x972)]][_0x287037(0xdf0,0x1408)]=addPositionsHeight(_0x28a7d8,_0x3df408['diffHeight']));_0x2ceb5c&&(_0x4d8e49['index']>0x0&&(this['draggers'][_0x4d8e49['index']*0x2-0x1]['position']=getMidpoint(_0x28a7d8,_0x43567d[_0x4d8e49[_0x253aa5(0x162,_0x7364c6._0x70c78b)]-0x1],this[_0x253aa5(-0x1ba,_0x7364c6._0x4342f2)][_0x253aa5(_0x7364c6._0x4f14f2,0xfb3)])),_0x4d8e49['index']<_0x43567d[_0x287037(0x11ff,0xcac)]-0x1&&(this['draggers'][_0x4d8e49['index']*0x2+0x1]['position']=getMidpoint(_0x28a7d8,_0x43567d[_0x4d8e49[_0x287037(_0x7364c6._0x4adf9f,_0x7364c6._0x5e8e3e)]+0x1],this[_0x253aa5(_0x7364c6._0x20fa7c,0x86f)]['midPointFraction'])));function _0x287037(_0x2b358b,_0x5e8b1e){return _0x25dcaf(_0x2b358b,_0x5e8b1e- -_0x1409d0._0x54a66f);}const _0x217502=centerOfMass(_0x43567d);function _0x253aa5(_0x177d16,_0x4087f1){return _0x25dcaf(_0x177d16,_0x4087f1- -_0x526db0._0x2cf45e);}this['_draggerMove']['position']=_0x217502;}});_0x4f2521[_0x25dcaf(_0x5825d6._0x5d1937,0xc0b)]=_0x1aefdd,this['draggers']['push'](_0x4f2521);if(this['hasMidPoint']&&(this['hasClosure']||!this['hasClosure']&&_0x1aefdd<_0x1f62fb-0x1)){const _0x2e2f3f=(_0x1aefdd+0x1)%_0x1f62fb,_0x4235de=getMidpoint(_0x4f84cc,_0x43567d[_0x2e2f3f],this['options']['midPointFraction']),_0x4a71b4=this['createDragger']({'position':_0x4235de,'type':EditPointType[_0x5b2ea4(0xbba,_0x5825d6._0x152e17)],'tooltip':this['_map'][_0x5b2ea4(0x6a0,_0x5825d6._0x29c428)]('_增加点'),'onDragStart':(_0x5b26a7,_0x42a267)=>{this[_0x175ba9(_0x4d2218._0x28e68f,_0x4d2218._0x3e5ed4)]['splice'](_0x5b26a7['index'],0x0,_0x42a267);function _0x175ba9(_0x5dbff5,_0x8e6cfe){return _0x5b2ea4(_0x8e6cfe,_0x5dbff5-0x160);}this['updateAttrForEditing']();},'onDrag':(_0x4efdf7,_0x58b215)=>{this['positions'][_0x4efdf7['index']]=_0x58b215;},'onDragEnd':(_0x40d86d,_0xdbfcad)=>{this['_fireAddPoint'](_0x40d86d,_0xdbfcad),this['updateDraggers']();}});_0x4a71b4['index']=_0x2e2f3f,this['draggers'][_0x25dcaf(0x1637,_0x5825d6._0x5e80ba)](_0x4a71b4);}}this['_bindMoveAllDragger'](),!this['isScene2D']&&this[_0x5b2ea4(0x1c3c,0x14d2)]();}['_bindHeightDraggers'](){const _0x14f9e3={_0x56d60d:0x192a,_0x5a85b2:0x4ac,_0x507ede:0x212},_0x238ab9={_0x7dab5d:0x48e,_0x542c3c:0x707,_0xd7e7c6:0xcd7,_0x4fa7dd:0xf77,_0x5096e5:0xf28,_0x1bfd42:0xf47},_0x15581e={_0x2b5bb9:0x81},_0x2a90ac={_0xc4ac7d:0x30d};function _0x3a70a2(_0x5b4131,_0x3ce8b1){return _0x54a7f1(_0x5b4131- -_0x2a90ac._0xc4ac7d,_0x3ce8b1);}if(!this['_graphic'][_0x3d690c(_0x14f9e3._0x56d60d,0x1fea)])return;this[_0x3a70a2(0x12a1,0x17f8)]=[];function _0x3d690c(_0x31cc8f,_0x5f5c8c){return _0x7afdbe(_0x5f5c8c,_0x31cc8f- -_0x15581e._0x2b5bb9);}const _0x2bc7b4=this['positions'],_0x47b2f7=Number(this[_0x3a70a2(0x18f,-_0x14f9e3._0x5a85b2)]['diffHeight']);for(let _0x2b0e61=0x0,_0x25dbc4=_0x2bc7b4['length'];_0x2b0e61<_0x25dbc4;_0x2b0e61++){const _0x2c3a2a=addPositionsHeight(_0x2bc7b4[_0x2b0e61],_0x47b2f7),_0xa85d1c=this[_0x3a70a2(_0x14f9e3._0x507ede,-0x820)]({'position':_0x2c3a2a,'type':EditPointType['MoveHeight'],'tooltip':this['_map']['getLangText']('_修改高度'),'onDrag':(_0x53a1f4,_0x43dd82)=>{const _0xf1785c={_0xed73a0:0x1bb},_0x5a6dd8=Cesium__namespace['Cartographic'][_0x1d6135(0x32f,0x614)](_0x43dd82)['height'];this[_0x1d6135(_0x238ab9._0x7dab5d,_0x238ab9._0x542c3c)]['diffHeight']=formatNum$1(_0x5a6dd8-this[_0x3018d0(_0x238ab9._0xd7e7c6,0x113e)][_0x3018d0(0x57a,0xec8)][_0x53a1f4['index']],0x2);for(let _0x371974=0x0;_0x371974<_0x2bc7b4[_0x1d6135(_0x238ab9._0x4fa7dd,0x1722)];_0x371974++){if(_0x371974===_0x53a1f4[_0x3018d0(0xee3,0xb27)])continue;this['_heightDraggers'][_0x371974]['position']=addPositionsHeight(_0x2bc7b4[_0x371974],this[_0x3018d0(0xc83,0x378)][_0x3018d0(0xd2a,_0x238ab9._0x5096e5)]);}function _0x3018d0(_0x2d26d2,_0x44a0dd){return _0x3d690c(_0x44a0dd- -0x2d1,_0x2d26d2);}function _0x1d6135(_0x37b938,_0x1c473d){return _0x3d690c(_0x37b938- -_0xf1785c._0xed73a0,_0x1c473d);}this[_0x1d6135(_0x238ab9._0x1bfd42,0xad3)](),this['fire'](EventType['editStyle']);}});_0xa85d1c['index']=_0x2b0e61,this['draggers']['push'](_0xa85d1c),this['_heightDraggers'][_0x3a70a2(0xbfb,0x80d)](_0xa85d1c);}}}class WallEntity extends BasePolyEntity{get[_0x54a7f1(0x52e,0x7d3)](){var _0x3dddec;return(_0x3dddec=this['_entity'])===null||_0x3dddec===void 0x0?void 0x0:_0x3dddec['wall'];}get['EditClass'](){return EditWall;}['_mountedHook'](){const _0x316605={_0x1f126d:0xbff,_0xf5b508:0xce2,_0x1e820b:0xd69,_0x2b845b:0xe78,_0x30524b:0x1c,_0x510af5:0x116,_0x2e545c:0x23e,_0x2861ca:0x1dc0},_0x157cdb={_0x18c139:0x5b4},_0x51dac6={_0xd05960:0x25c};function _0x59567c(_0x225a4c,_0x67f7f6){return _0x54a7f1(_0x225a4c-_0x51dac6._0xd05960,_0x67f7f6);}var _0x14bf54;this['style']['diffHeight']=this['style']['diffHeight']||0x64;const _0x24bb6c={'wall':WallStyleConver['toCesiumVal'](this['style'],{},!![])};this['style']['closure']&&((_0x14bf54=this['positions'])===null||_0x14bf54===void 0x0?void 0x0:_0x14bf54[_0x43f7bd(_0x316605._0x1f126d,0x14f0)])>0x0?_0x24bb6c[_0x59567c(0x12c4,0x19bc)][_0x43f7bd(0xd69,0x1662)]=this['positions']['concat'](this[_0x59567c(0x134b,0x12f0)][0x0]):_0x24bb6c[_0x43f7bd(_0x316605._0xf5b508,0xf88)][_0x43f7bd(_0x316605._0x1e820b,_0x316605._0x2b845b)]=this[_0x43f7bd(0xd69,0xba5)];function _0x43f7bd(_0x5da44a,_0x31b4e3){return _0x7afdbe(_0x31b4e3,_0x5da44a- -_0x157cdb._0x18c139);}(!this[_0x43f7bd(0x116,0x588)][_0x43f7bd(0x97f,_0x316605._0x30524b)]||!this[_0x43f7bd(_0x316605._0x510af5,_0x316605._0x2e545c)]['minimumHeights'])&&this['_updateMaxMinHeights'](_0x24bb6c),this[_0x43f7bd(0x2db,0x8f1)]=this['_createEntity'](_0x24bb6c),this['style']['label']&&this[_0x59567c(0x137f,_0x316605._0x2861ca)](this['style']['label']);}['_style2Json'](_0x1e22a8,_0x38cba2){const _0x527a25={_0x2276db:0x1422,_0x46b1f0:0xa2e},_0x280e59={_0xbd31df:0xe7};function _0xb2741f(_0x5a7520,_0x1d705e){return _0x54a7f1(_0x5a7520-_0x280e59._0xbd31df,_0x1d705e);}return WallStyleConver[_0xb2741f(_0x527a25._0x2276db,_0x527a25._0x46b1f0)](_0x1e22a8,_0x38cba2,!![]);}[_0x54a7f1(0x10d4,0x15c8)](_0xa83e0b,_0x2a2132){const _0x3c8989={_0x581502:0x15e6,_0x17a088:0xd16,_0x1b0364:0xf80,_0x5e7722:0x9c1};WallStyleConver['toCesiumVal'](_0xa83e0b,this['entityGraphic'],!![]);function _0x59b59d(_0x456e80,_0xa6c87){return _0x54a7f1(_0xa6c87- -0x9c,_0x456e80);}function _0x16f7f0(_0x220552,_0x184d31){return _0x54a7f1(_0x184d31- -0x9b,_0x220552);}Cesium__namespace[_0x16f7f0(0x1187,_0x3c8989._0x581502)](_0x2a2132[_0x59b59d(0xf91,0x1601)])&&this['_updatePositionsHook'](),Cesium__namespace[_0x16f7f0(_0x3c8989._0x17a088,0x15e6)](_0x2a2132===null||_0x2a2132===void 0x0?void 0x0:_0x2a2132['diffHeight'])&&this[_0x59b59d(_0x3c8989._0x1b0364,_0x3c8989._0x5e7722)](this['_entity']);}[_0x54a7f1(0x828,0xab7)](){const _0x79db79={_0x3688ad:0x6a8,_0x7087fe:0x10a5,_0xee08e:0x1b2a,_0x2aa847:0x452,_0x13c6cd:0x667},_0x292a19={_0x1a8416:0x228},_0x1fc7e5={_0x427ea3:0x278};var _0x230c44;function _0x3726e6(_0xb7316d,_0x43f757){return _0x7afdbe(_0xb7316d,_0x43f757- -_0x1fc7e5._0x427ea3);}function _0x3fadef(_0x41585f,_0x436978){return _0x7afdbe(_0x41585f,_0x436978- -_0x292a19._0x1a8416);}this['style']['closure']&&((_0x230c44=this['positions'])===null||_0x230c44===void 0x0?void 0x0:_0x230c44['length'])>0x0?this['entityGraphic'][_0x3fadef(0x86f,0x10f5)]=this[_0x3726e6(_0x79db79._0x3688ad,_0x79db79._0x7087fe)]['concat'](this[_0x3726e6(_0x79db79._0xee08e,0x10a5)][0x0]):this['entityGraphic']['positions']=this['positions'],(!this[_0x3726e6(0xe67,_0x79db79._0x2aa847)]['maximumHeights']||!this['style']['minimumHeights'])&&this['_updateMaxMinHeights'](this[_0x3fadef(-0x41a,_0x79db79._0x13c6cd)]),this[_0x3fadef(0x1f49,0x164a)](),this['_updateEditDraggers']();}['_updateMaxMinHeights'](_0x368701){const _0x14d993={_0x24bbe6:0x6f0,_0x35f393:0x118c,_0x4d84dc:0x987,_0x3f5977:0xc80,_0x1622b9:0x302,_0x484541:0x18a4,_0x4d88c7:0x159b,_0x876050:0x110f,_0x2391d1:0x15e5,_0x107e0e:0x19d6,_0x95c792:0x104c,_0x4a211b:0xece,_0x27ad82:0x15ed},_0x4fc567=this[_0x160620(0xa47,_0x14d993._0x24bbe6)];if(!_0x4fc567||_0x4fc567[_0x160620(_0x14d993._0x35f393,0xf2d)]===0x0)return;const _0x279fb4=_0x4fc567['length'],_0x2b5e97=new Array(_0x279fb4),_0x18d50d=new Array(_0x279fb4);function _0x16f4b2(_0x5e279b,_0x1b0258){return _0x7afdbe(_0x1b0258,_0x5e279b- -0x3c8);}for(let _0x258c84=0x0;_0x258c84<_0x279fb4;_0x258c84++){const _0x1115f0=_0x4fc567[_0x258c84][_0x16f4b2(0x2bb,_0x14d993._0x4d84dc)];_0x2b5e97[_0x258c84]=_0x1115f0,this['style'][_0x160620(_0x14d993._0x3f5977,0x1199)]?_0x18d50d[_0x258c84]=_0x4fc567[0x0]['alt']+this[_0x16f4b2(_0x14d993._0x1622b9,-0x6a3)]['diffHeight']:_0x18d50d[_0x258c84]=_0x1115f0+this['style']['diffHeight'];}function _0x160620(_0x1b34fc,_0x241bc9){return _0x54a7f1(_0x1b34fc-0x207,_0x241bc9);}this['style'][_0x160620(_0x14d993._0x484541,_0x14d993._0x4d88c7)]&&_0x279fb4>0x0&&(_0x2b5e97['push'](_0x2b5e97[0x0]),_0x18d50d[_0x160620(_0x14d993._0x876050,0x9c1)](_0x18d50d[0x0])),this['_minimumHeights']=_0x2b5e97,this[_0x160620(0xc0a,_0x14d993._0x2391d1)]=_0x18d50d,_0x368701&&(!(_0x368701['wall'][_0x160620(0x108a,0x15df)]instanceof Cesium__namespace[_0x160620(0xf51,_0x14d993._0x107e0e)])&&(_0x368701['wall'][_0x160620(0x108a,_0x14d993._0x95c792)]=_0x2b5e97),!(_0x368701['wall']['maximumHeights']instanceof Cesium__namespace[_0x160620(0xf51,0x639)])&&(_0x368701[_0x16f4b2(_0x14d993._0x4a211b,0x15ce)][_0x16f4b2(0xb6b,_0x14d993._0x27ad82)]=_0x18d50d));}[_0x7afdbe(0x1062,0x738)](){const _0x17d0ef={_0x50fbb6:0x220,_0x3def29:0x2,_0x5e927d:0x244,_0x406450:0xa07},_0x36dc4a={_0x5d598e:0x571},_0x434d3f={_0x13d4c0:0x191};function _0x599e13(_0x1c1dc9,_0x483f09){return _0x54a7f1(_0x1c1dc9- -0x2ea,_0x483f09);}if(this['_isCallbackPositions'])return;super[_0x599e13(_0x17d0ef._0x50fbb6,_0x17d0ef._0x3def29)](),this[_0x2e605c(0x71e,0x1eb)][_0x599e13(0xb99,0x9bb)]=new Cesium__namespace['CallbackProperty'](_0x1e04f6=>{function _0x2fe052(_0x1fb78b,_0x3881a1){return _0x2e605c(_0x3881a1,_0x1fb78b-_0x434d3f._0x13d4c0);}return this[_0x2fe052(0xe3a,0xeae)];},![]);function _0x2e605c(_0x3b5279,_0x9bf095){return _0x7afdbe(_0x3b5279,_0x9bf095- -_0x36dc4a._0x5d598e);}this[_0x599e13(_0x17d0ef._0x5e927d,0xa71)]['maximumHeights']=new Cesium__namespace[(_0x2e605c(0xbb8,_0x17d0ef._0x406450))](_0x20d7c6=>{return this['_maximumHeights'];},![]);}['_positions_CallbackProperty'](){var _0x3409e7;function _0x4926db(_0x464711,_0x41404f){return _0x54a7f1(_0x464711- -0x236,_0x41404f);}function _0x43f7b5(_0x4266c4,_0x3fa5dd){return _0x7afdbe(_0x4266c4,_0x3fa5dd- -0x537);}return this['style']['closure']&&((_0x3409e7=this['_positions_draw'])===null||_0x3409e7===void 0x0?void 0x0:_0x3409e7['length'])>0x0?this[_0x4926db(0x59b,0xe78)][_0x43f7b5(0x694,0x6bc)](this['_positions_draw'][0x0]):this['_positions_draw'];}['_cancelPositionsCallback'](){const _0x442c33={_0x2827b1:0x1d96};function _0x1cac7c(_0x115ec4,_0x2e303d){return _0x54a7f1(_0x2e303d-0x77,_0x115ec4);}function _0x182667(_0x3edac4,_0x524e81){return _0x7afdbe(_0x524e81,_0x3edac4-0x51);}if(!this[_0x1cac7c(0x1861,0x1058)])return;super[_0x1cac7c(_0x442c33._0x2827b1,0x15af)](),this['_entity']&&(this['entityGraphic']['minimumHeights']=this['_minimumHeights'],this['entityGraphic']['maximumHeights']=this['_maximumHeights']);}['updateAttrForDrawing'](_0x4a781a){this['_updateMaxMinHeights'](this['_entity']);}}register$5('wall',WallEntity);class EditRectangle extends EditPoly{['bindDraggers'](){const _0x309dee={_0x3ad9a2:0xcbb,_0x240aef:0x1192,_0x4253fa:0xf35,_0x488061:0xb81,_0x2aca60:0x268},_0x3a1f06={_0x2f9b2b:0x13b5,_0x56e3c3:0xc0a,_0x2cff8d:0x12e9,_0xcacac0:0xd7d,_0xeed1dd:0x1320,_0x3e1e06:0xf73,_0xbdcb00:0xe7c,_0x12f45d:0xd38,_0x262fe3:0x13c0,_0x141eca:0x17df,_0x5afab8:0x1127,_0x59174f:0x1019,_0x2beb92:0x824,_0xe78bf9:0x1912,_0x3d013f:0x8d5,_0x21d231:0x7ae},_0x56a8c2={_0x5d5187:0x665},_0x15f889={_0x5507a1:0x662},_0x156bbe={_0xc5aca6:0x2c5};function _0x7f71c2(_0x13aaca,_0x12008e){return _0x54a7f1(_0x13aaca- -_0x156bbe._0xc5aca6,_0x12008e);}function _0x305e10(_0x4ae67a,_0x568cdd){return _0x7afdbe(_0x568cdd,_0x4ae67a- -_0x15f889._0x5507a1);}const _0x40f06d=this[_0x305e10(_0x309dee._0x3ad9a2,_0x309dee._0x240aef)];for(let _0xa6eaff=0x0,_0x1008ed=_0x40f06d['length'];_0xa6eaff<_0x1008ed;_0xa6eaff++){const _0x42b9b7=this['updatePositionsHeightByAttr'](_0x40f06d[_0xa6eaff]),_0x565bbc=this['createDragger']({'position':_0x42b9b7,'onDrag':(_0x1fe277,_0x4e3e59)=>{const _0x578ad6={_0x3c8c6d:0x3b4},_0x5ce4e6=this['_map'][_0xef88ed(_0x3a1f06._0x2f9b2b,_0x3a1f06._0x56e3c3)]['currentTime'],_0x5c01c1=getCesiumValue(this['entityGraphic']['height'],Number,_0x5ce4e6);function _0x45eb23(_0x4a6e60,_0x14bb31){return _0x305e10(_0x4a6e60-_0x578ad6._0x3c8c6d,_0x14bb31);}this['positions'][_0x1fe277['index']]=_0x4e3e59;function _0xef88ed(_0x134c1c,_0x9f1425){return _0x305e10(_0x9f1425-_0x56a8c2._0x5d5187,_0x134c1c);}if(this[_0xef88ed(0x78d,0x75f)][_0x45eb23(0x5e7,-0x3fa)]!==undefined)for(let _0x4d56a0=0x0,_0x5e5bfa=this['draggers']['length'];_0x4d56a0<_0x5e5bfa;_0x4d56a0++){const _0x10919c=this[_0x45eb23(_0x3a1f06._0x2cff8d,0x1a46)][_0x4d56a0],_0x33e512=setPositionsHeight(this[_0xef88ed(_0x3a1f06._0xcacac0,_0x3a1f06._0xeed1dd)][_0x10919c[_0xef88ed(_0x3a1f06._0x3e1e06,_0x3a1f06._0xbdcb00)]],_0x5c01c1);_0x10919c[_0x45eb23(0x1661,0xc4e)]=_0x33e512,this['positions'][_0x10919c[_0xef88ed(_0x3a1f06._0x12f45d,0xe7c)]]=_0x33e512;}if(this['_heightDraggers']&&this[_0xef88ed(_0x3a1f06._0x262fe3,_0x3a1f06._0x141eca)]['length']>0x0){const _0x52219f=getCesiumValue(this['entityGraphic'][_0xef88ed(_0x3a1f06._0x5afab8,_0x3a1f06._0x59174f)],Number,_0x5ce4e6);this[_0xef88ed(0x1dd3,0x17df)][_0x1fe277[_0x45eb23(0xbcb,_0x3a1f06._0x2beb92)]][_0xef88ed(0x16b1,_0x3a1f06._0xe78bf9)]=setPositionsHeight(_0x4e3e59,_0x52219f);}let _0x537271=this[_0xef88ed(_0x3a1f06._0x3d013f,_0x3a1f06._0x21d231)];_0x537271=this[_0xef88ed(0x164b,0xe8e)](_0x537271),this['_draggerMove']['position']=_0x537271;}});_0x565bbc['index']=_0xa6eaff,this[_0x305e10(_0x309dee._0x4253fa,_0x309dee._0x488061)]['push'](_0x565bbc);}this[_0x305e10(0x65a,-_0x309dee._0x2aca60)](),this[_0x305e10(0xfa,-0x4b4)]['extrudedHeight']&&this['_bindHeightDraggers']();}[_0x54a7f1(0xc5d,0x1714)](_0x31549b){const _0x5cb669={_0x4ff2f3:0x5b8,_0x27fc79:0x16fe},_0x5a3992={_0x167a41:0x2ab};this['clampToGround']&&(_0x31549b=getSurfacePosition(this['_map']['scene'],_0x31549b));function _0x258d42(_0xdb7a32,_0x54ea75){return _0x54a7f1(_0xdb7a32-_0x5a3992._0x167a41,_0x54ea75);}function _0x14dcb1(_0x5a86cf,_0x681b2b){return _0x54a7f1(_0x5a86cf- -0xaf,_0x681b2b);}if(this['entityGraphic']['height']!==undefined){const _0x484a4a=getCesiumValue(this[_0x14dcb1(0x47f,-0x226)][_0x14dcb1(_0x5cb669._0x4ff2f3,0x4be)],Number,this['_map']['clock'][_0x258d42(_0x5cb669._0x27fc79,0xc53)]);_0x31549b=setPositionsHeight(_0x31549b,_0x484a4a);}return _0x31549b;}['_updateHeight'](_0x2b2b71){const _0x50a319={_0x520852:0x206,_0x254aba:0x400,_0x19f472:0x10eb,_0x955970:0xe2c,_0x5ce4b7:0x13de},_0x521f74={_0x3a90be:0x495};this[_0x92d513(-0x6f9,0x2b0)][_0x53da3c(-0x5a9,0x400)]=_0x2b2b71,this['style'][_0x53da3c(_0x50a319._0x520852,_0x50a319._0x254aba)]=this[_0x92d513(0xd34,0x619)](_0x2b2b71,0x2);const _0x4dc2fb=this[_0x92d513(0x623,0xe71)];for(let _0x52a05c=0x0,_0x3c44a6=_0x4dc2fb['length'];_0x52a05c<_0x3c44a6;_0x52a05c++){_0x4dc2fb[_0x52a05c]=setPositionsHeight(_0x4dc2fb[_0x52a05c],_0x2b2b71);}function _0x53da3c(_0x5c5028,_0xff90b4){return _0x7afdbe(_0x5c5028,_0xff90b4- -_0x521f74._0x3a90be);}function _0x92d513(_0x5d1fc1,_0x4f5ef2){return _0x7afdbe(_0x5d1fc1,_0x4f5ef2- -0x4ac);}for(let _0x2923bf=0x0,_0x2d92e5=this[_0x92d513(0x11ad,_0x50a319._0x19f472)][_0x53da3c(_0x50a319._0x955970,0xd1e)];_0x2923bf<_0x2d92e5;_0x2923bf++){const _0x3a3c6b=this[_0x92d513(_0x50a319._0x5ce4b7,_0x50a319._0x19f472)][_0x2923bf];_0x3a3c6b[_0x92d513(0x10b5,0x1463)]=setPositionsHeight(_0x3a3c6b['position'],_0x2b2b71);}this[_0x92d513(0x8f0,0xc3a)](EventType['editStyle']);}['_bindMoveAllDragger'](){const _0x5f1640={_0x19583b:0xc62,_0x3cf7dc:0xf27},_0x584ce9={_0x3fe5b1:0x162f},_0x450c93={_0x52c659:0x16d,_0x296272:0x497,_0x23a717:0xa87,_0xe27ca4:0x4d7,_0x35b1ec:0xc6c},_0x530352={_0x1afc04:0x3ea,_0xf27d6b:0x521,_0x59d581:0x57e,_0x107bb5:0x521,_0x383c44:0x62a,_0x50fe06:0xc3e,_0x16c4ba:0x1759},_0x31b20a={_0x2813cb:0x1b0},_0x4a9e88={_0x292237:0x1d5};if(!this['_graphic']['hasMoveEdit'])return;function _0x59fdd2(_0x4b2abf,_0x354b61){return _0x7afdbe(_0x4b2abf,_0x354b61- -_0x4a9e88._0x292237);}function _0x376b32(_0x11e3a2,_0x4006f1){return _0x54a7f1(_0x11e3a2- -_0x31b20a._0x2813cb,_0x4006f1);}let _0x5cbd75=this[_0x59fdd2(0x61b,0x5d6)];_0x5cbd75=this['updatePositionsHeightByAttr'](_0x5cbd75);let _0x398a57,_0x3c764a;const _0x2080ba=this['createDragger']({'position':_0x5cbd75,'type':EditPointType['MoveAll'],'tooltip':this['_map']['getLangText'](_0x376b32(0x15b5,_0x5f1640._0x19583b)),'onDragStart':(_0x1f1758,_0x5c773f)=>{for(let _0x21c606=0x0,_0x4bd31a=this[_0x4fed44(0xe8f,_0x530352._0x1afc04)]['length'];_0x21c606<_0x4bd31a;_0x21c606++){this['draggers'][_0x21c606]['show']=![];}const _0x42bb92=getCesiumValue(this['_graphic']['_entity'][_0x325385(0x466,_0x530352._0xf27d6b)][_0x325385(0x1537,0xfd9)],Cesium__namespace['Rectangle']),_0x3c3766=getCesiumValue(this['_graphic']['_entity']['rectangle']['height'],Number)||0x0;function _0x325385(_0x1a0e1c,_0x59b9b3){return _0x59fdd2(_0x1a0e1c,_0x59b9b3-0x1fc);}const _0x5b7c5e={};function _0x4fed44(_0x2bcca8,_0x110402){return _0x59fdd2(_0x110402,_0x2bcca8- -0x533);}_0x5b7c5e[_0x325385(-_0x530352._0x59d581,_0x530352._0x107bb5)]=_0x42bb92,_0x5b7c5e[_0x4fed44(0xd17,0x10f8)]=0x0,_0x5b7c5e['height']=_0x3c3766;const _0x6f5380=getRectangleOuterPositions(_0x5b7c5e);_0x398a57=Cesium__namespace['Cartesian3'][_0x4fed44(0xdb7,_0x530352._0x383c44)](_0x6f5380[0x0],_0x6f5380[0x1]),_0x3c764a=Cesium__namespace[_0x325385(_0x530352._0x50fe06,0x153c)][_0x4fed44(0xdb7,_0x530352._0x16c4ba)](_0x6f5380[0x1],_0x6f5380[0x2]);},'onDrag':(_0x3cd294,_0x22753)=>{const _0x224846={_0xd7c191:0x1eb};if(!this['clampToGround']){const _0x354e0d=Cesium__namespace['Cartographic'][_0x5d6af9(_0x450c93._0x52c659,-0x1d5)](_0x22753)['height'];this[_0x4e3910(0xdc9,0x569)][_0x5d6af9(_0x450c93._0x296272,_0x450c93._0x23a717)]=_0x354e0d,this[_0x4e3910(0x3bd,_0x450c93._0xe27ca4)][_0x5d6af9(_0x450c93._0x296272,_0x450c93._0x35b1ec)]=this[_0x4e3910(0x10c0,0x8d2)](_0x354e0d,0x2);}function _0x5d6af9(_0x33e706,_0x2f9107){return _0x59fdd2(_0x2f9107,_0x33e706- -0x229);}const _0x5cb7ba={};_0x5cb7ba['center']=_0x22753,_0x5cb7ba['width']=_0x398a57,_0x5cb7ba['height']=_0x3c764a;function _0x4e3910(_0x5c69ef,_0xa7b0ad){return _0x376b32(_0xa7b0ad-_0x224846._0xd7c191,_0x5c69ef);}const _0x37dbf9=getRectPositionsByCenter(_0x5cb7ba);this['positions']=[_0x37dbf9[0x1],_0x37dbf9[0x3]];},'onDragEnd':(_0x4493cc,_0x523b93)=>{function _0x5a0dbf(_0x4a8c11,_0x315b5a){return _0x59fdd2(_0x315b5a,_0x4a8c11- -0x17d);}this[_0x5a0dbf(0x1302,_0x584ce9._0x3fe5b1)]();}});this[_0x59fdd2(0x840,_0x5f1640._0x3cf7dc)]=_0x2080ba,this['draggers']['push'](_0x2080ba);}}class RectangleEntity extends BasePolyEntity{constructor(_0x31d8af={}){const _0x36e4ee={_0x41db56:0x135,_0x877f11:0x34f,_0x509365:0x605,_0x4c0125:0xf40},_0x5f4dcc={_0x514696:0x61b};function _0x32e59d(_0x42b5a5,_0x4b879c){return _0x7afdbe(_0x4b879c,_0x42b5a5- -_0x5f4dcc._0x514696);}super(_0x31d8af);function _0x26340d(_0x505f5e,_0x1080e0){return _0x54a7f1(_0x505f5e- -0x254,_0x1080e0);}this[_0x32e59d(0x31b,-0x353)]=0x2,this['_maxPointNum']=0x2,this[_0x26340d(_0x36e4ee._0x41db56,_0x36e4ee._0x877f11)]=!![];if(this[_0x26340d(0x65c,0x236)][_0x32e59d(-0x121,_0x36e4ee._0x509365)])this['_rectangle']=this['options']['rectangle'];else this[_0x32e59d(0x4c3,_0x36e4ee._0x4c0125)]['coordinates']&&(this['_rectangle']=this['options']['coordinates']);}get['entityGraphic'](){var _0x2b5b42;return(_0x2b5b42=this['_entity'])===null||_0x2b5b42===void 0x0?void 0x0:_0x2b5b42['rectangle'];}get[_0x7afdbe(0x2174,0x191a)](){return EditRectangle;}get[_0x54a7f1(0x57d,0x1b5)](){const _0xfe4e99={_0x3ae75d:0x666,_0x5947ee:0x30d,_0x133d08:0x20b,_0x52d39f:0x242},_0x89c7e8={_0x465360:0x16d},_0x4e50c5={_0x117db4:0x68a},_0x1ee931=getCesiumValue(this['rectangle']);if(!_0x1ee931)return null;function _0x3a15e3(_0x2f953b,_0x523e47){return _0x7afdbe(_0x523e47,_0x2f953b- -_0x4e50c5._0x117db4);}let _0x2ff35f=Cesium__namespace['Cartographic'][_0x3a15e3(0x6a8,0xe27)](Cesium__namespace[_0x58a9bb(_0xfe4e99._0x3ae75d,0xde4)]['center'](_0x1ee931));function _0x58a9bb(_0x4ee47c,_0x58c87d){return _0x54a7f1(_0x4ee47c-_0x89c7e8._0x465360,_0x58c87d);}return Cesium__namespace[_0x58a9bb(0x17ee,0x1218)](this['style'][_0x3a15e3(0x20b,-_0xfe4e99._0x5947ee)])&&(_0x2ff35f=setPositionsHeight(_0x2ff35f,this['style'][_0x3a15e3(_0xfe4e99._0x133d08,-_0xfe4e99._0x52d39f)])),_0x2ff35f;}get['outlinePositions'](){const _0x295e60={_0x349a0d:0x2d1};function _0xc6ae6e(_0x8af246,_0x1ba359){return _0x54a7f1(_0x1ba359- -0xd2,_0x8af246);}return this['_outlinePositions']=getOutlinePositions(this['_entity']),this[_0xc6ae6e(0xd47,_0x295e60._0x349a0d)];}set['outlinePositions'](_0x2d6705){const _0x3edf96={_0xa44c45:0x1f6};function _0x4a69b0(_0x282531,_0x3c8232){return _0x54a7f1(_0x3c8232- -_0x3edf96._0xa44c45,_0x282531);}this[_0x4a69b0(0x6e1,0x1ad)]=_0x2d6705;}get[_0x54a7f1(0x16d9,0x19e1)](){return cartesians2lonlats(this['outlinePositions']);}get[_0x54a7f1(0x2cc,0xb7f)](){const _0x5f233f={_0x5a164e:0x7ce},_0x284abe={_0x2f9497:0x85};function _0x530847(_0x2e4158,_0x1ec899){return _0x7afdbe(_0x1ec899,_0x2e4158-_0x284abe._0x2f9497);}!this['_rectangle']&&this['positions']&&(this[_0x530847(0x1967,0x10ec)]=Cesium__namespace[_0x2a3218(_0x5f233f._0x5a164e,0x6a2)]['fromCartesianArray'](this[_0x530847(0x13a2,0xd22)]));function _0x2a3218(_0x263ef0,_0x452887){return _0x7afdbe(_0x263ef0,_0x452887- -0x85);}return this[_0x530847(0x1967,0x20a6)];}set['rectangle'](_0x13a2b9){const _0x153dea={_0x2e409f:0x446,_0x191120:0x108b,_0x23909d:0x16eb,_0x540940:0x538},_0x82e1a3={_0x407d93:0x1f7};function _0x346c13(_0x1156de,_0x415193){return _0x7afdbe(_0x1156de,_0x415193- -_0x82e1a3._0x407d93);}var _0xf8d1bf;function _0x1cc5a8(_0x238b40,_0x27f4ec){return _0x7afdbe(_0x238b40,_0x27f4ec- -0x13);}(_0xf8d1bf=this[_0x346c13(0xfbe,0x5e0)])!==null&&_0xf8d1bf!==void 0x0&&_0xf8d1bf[_0x346c13(0x1299,0xbda)]&&!(_0x13a2b9 instanceof Cesium__namespace['CallbackProperty'])?this[_0x1cc5a8(-_0x153dea._0x2e409f,0x4d1)]=_0x13a2b9:(this[_0x346c13(_0x153dea._0x191120,_0x153dea._0x23909d)]=_0x13a2b9,this['_entity']&&(this[_0x346c13(-_0x153dea._0x540940,0x565)]['coordinates']=_0x13a2b9));}get[_0x54a7f1(0x840,0xac7)](){const _0x57ac91={_0x123c3f:0x5c8,_0x461563:0x15b4,_0x36a97f:0x43c,_0x4a6630:0x1a45},_0x4a9c8e={_0x41ca64:0x7bf,_0x267c91:0x11fc},_0x1588c7={_0x2c2f14:0xe4},_0x1a1354={_0x4221cf:0x3c},_0x3ee749={_0x23f948:0x437},_0x59617d=[];let _0x306b93;this['_positions_draw']?_0x306b93=this[_0x9e2a98(_0x57ac91._0x123c3f,0xdf)]:this['_positions']['getValue']?_0x306b93=this[_0x9e2a98(0xb34,0x11a8)]['getValue']():_0x306b93=this[_0x41ad6c(0xd79,_0x57ac91._0x461563)];!_0x306b93&&(_0x306b93=getOutlinePositions(this['_entity'],![]));function _0x9e2a98(_0x3ff748,_0x255664){return _0x7afdbe(_0x255664,_0x3ff748- -_0x3ee749._0x23f948);}function _0x41ad6c(_0x354d50,_0x2da188){return _0x54a7f1(_0x354d50-_0x1a1354._0x4221cf,_0x2da188);}return _0x306b93[_0x9e2a98(_0x57ac91._0x36a97f,0xa9c)](function(_0x15f0c9){const _0x41fedb=LngLatPoint['parse'](_0x15f0c9);function _0x102fdd(_0x118cd1,_0x28f65e){return _0x9e2a98(_0x28f65e- -_0x1588c7._0x2c2f14,_0x118cd1);}if(!_0x41fedb||!_0x41fedb[_0x102fdd(_0x4a9c8e._0x41ca64,_0x4a9c8e._0x267c91)]())return;_0x59617d['push'](_0x41fedb);}),this[_0x9e2a98(0x1359,_0x57ac91._0x4a6630)]=_0x59617d,this['_points'];}get[_0x7afdbe(0x1dde,0x14bf)](){return getDistance(this['outlinePositions'],!![]);}get['area'](){return getArea(this['outlinePositions']);}['getEntityPositions'](){const _0x2ee2bc={_0x57dc68:0x185,_0x31c558:0xbf5,_0x47bdfd:0x88e,_0x172356:0x12e6},_0x1e5534={_0xfff9ba:0x7d};if(!this['_entity'][_0x301563(0x4f3,0xd81)])return null;function _0xc64c1f(_0xe8b892,_0x5b647a){return _0x7afdbe(_0xe8b892,_0x5b647a-_0x1e5534._0xfff9ba);}const _0x45d1c0=getCesiumValue(this[_0x301563(0x888,-_0x2ee2bc._0x57dc68)]['rectangle']['coordinates'],Cesium__namespace[_0x301563(0x720,_0x2ee2bc._0x31c558)]),_0x7b29d9=getCesiumValue(this['_entity'][_0x301563(0x4f3,0x42b)][_0x301563(_0x2ee2bc._0x47bdfd,-0x162)],Number)||0x0,_0x5e5c79=Cesium__namespace[_0x301563(0x150e,0x174e)]['fromRadians'](_0x45d1c0['west'],_0x45d1c0['south'],_0x7b29d9),_0x3d6703=Cesium__namespace['Cartesian3']['fromRadians'](_0x45d1c0[_0xc64c1f(0x85f,_0x2ee2bc._0x172356)],_0x45d1c0['north'],_0x7b29d9);function _0x301563(_0x1888ed,_0x1b4c2e){return _0x54a7f1(_0x1888ed-0x227,_0x1b4c2e);}return[_0x5e5c79,_0x3d6703];}[_0x54a7f1(0x28b,0x54a)](){const _0x2c6f6e={_0x237393:0x1979,_0x37a6b8:0x8e0,_0x39f8be:0xf42,_0x1b501e:0x8c9,_0x52c81b:0x193c,_0x319d51:0x1bc8,_0x37e114:0xa59,_0x190f42:0x726,_0x2cd44a:0x11c6},_0x242c99={_0x55c2d9:0x23b},_0x372d8e={_0x3a94d1:0x1380,_0x59b661:0x1634,_0x2ffc6b:0x1634},_0x17fa37={_0x30c38e:0x278},_0x487acc={'rectangle':RectangleStyleConver[_0x316323(0xfd1,_0x2c6f6e._0x237393)](this['style'],{},!![])};_0x487acc['rectangle']['coordinates']=this['rectangle'];this[_0x316323(0xf35,_0x2c6f6e._0x37a6b8)]instanceof Cesium__namespace['CallbackProperty']&&(_0x487acc['rectangle']['coordinates']=new Cesium__namespace[(_0x316323(_0x2c6f6e._0x39f8be,_0x2c6f6e._0x1b501e))](_0x2a2870=>{const _0x546deb={_0x58048f:0x3b};function _0x44f4be(_0x3d64b7,_0x961221){return _0x316323(_0x961221- -_0x17fa37._0x30c38e,_0x3d64b7);}function _0x41979f(_0x4406aa,_0x561460){return _0x38771d(_0x4406aa-_0x546deb._0x58048f,_0x561460);}const _0x5ec0c8=this['_positions']['getValue'](_0x2a2870);return _0x5ec0c8&&_0x5ec0c8['length']>0x0?(this[_0x44f4be(_0x372d8e._0x3a94d1,_0x372d8e._0x59b661)]=Cesium__namespace[_0x41979f(0x2f9,0x839)][_0x44f4be(0x166,0x4cd)](_0x5ec0c8),this[_0x44f4be(0xb74,_0x372d8e._0x2ffc6b)]):undefined;},![]));this['_entity']=this[_0x316323(_0x2c6f6e._0x52c81b,_0x2c6f6e._0x319d51)](_0x487acc),this[_0x316323(_0x2c6f6e._0x37e114,0x3a0)](this[_0x316323(_0x2c6f6e._0x190f42,0xced)]);function _0x316323(_0x4063cb,_0x37f68a){return _0x54a7f1(_0x4063cb-0x1f8,_0x37f68a);}this['_updateOutlineStyle'](this[_0x38771d(0x119c,0x1a7a)](),this['style']);this['_entity_outlines']&&this['entityGraphic']['coordinates']instanceof Cesium__namespace[_0x38771d(0xb0f,_0x2c6f6e._0x2cd44a)]&&this['_updateOutlineToCallback']();function _0x38771d(_0x44c37c,_0x3d4ace){return _0x54a7f1(_0x44c37c- -_0x242c99._0x55c2d9,_0x3d4ace);}this['style']['label']&&this['_addLabel'](this['style']['label']);}['_style2Json'](_0x176cb9,_0x43099e){function _0x17b860(_0x59065c,_0xbfbd88){return _0x54a7f1(_0xbfbd88- -0x202,_0x59065c);}return RectangleStyleConver[_0x17b860(0x179b,0x1139)](_0x176cb9,_0x43099e,!![]);}['_updateStyleHook'](_0x4fca2b,_0x524910){const _0x695de5={_0x5d58ed:0xdc6,_0x1a3cd2:0x15d2},_0x46981b={_0x52634c:0x2f};function _0x15491b(_0x33b822,_0xee5ea){return _0x54a7f1(_0xee5ea- -0xaf,_0x33b822);}function _0x497ac5(_0x3b25de,_0x1f92d0){return _0x54a7f1(_0x1f92d0- -_0x46981b._0x52634c,_0x3b25de);}RectangleStyleConver['toCesiumVal'](_0x4fca2b,this['entityGraphic'],!![]),(Cesium__namespace[_0x15491b(_0x695de5._0x5d58ed,0x15d2)](_0x524910['diffHeight'])||Cesium__namespace[_0x15491b(0xc82,_0x695de5._0x1a3cd2)](_0x524910['height'])||Cesium__namespace['defined'](_0x4fca2b['addHeight'])||Cesium__namespace['defined'](_0x4fca2b['setHeight']))&&this['_calculateCzmHeight'](this['entityGraphic']);}['_updatePositionsHook'](){const _0x37e758={_0x3ec8b7:0x14b,_0xa8f714:0x209,_0x1f20fd:0x8b0,_0x384a5b:0x7e7,_0x5e492b:0x38c};function _0x370abd(_0x30384a,_0x323033){return _0x54a7f1(_0x323033-0x70,_0x30384a);}this['positions']?this[_0x11bbe6(-_0x37e758._0x3ec8b7,-_0x37e758._0xa8f714)]=Cesium__namespace['Rectangle'][_0x11bbe6(-_0x37e758._0x1f20fd,0x78)](this[_0x370abd(0x1b23,0x115f)]):this['_rectangle_draw']=Cesium__namespace['Rectangle']['fromCartesianArray'](this['_positions_draw']);function _0x11bbe6(_0x30e6b1,_0x5d775c){return _0x7afdbe(_0x30e6b1,_0x5d775c- -0x703);}this['outlinePositions']=getOutlinePositions(this['_entity']),this['_updateOutlineStyle'](this['_getOutlinePositions'](),this['style']),this[_0x370abd(0xd4b,0x16b4)](),this[_0x11bbe6(_0x37e758._0x384a5b,_0x37e758._0x5e492b)](this[_0x11bbe6(0xa4f,0x59)]),this['_updateEditDraggers']();}[_0x54a7f1(0x16c5,0x1b3c)](_0xfb7a56,_0x336cf1){const _0xe9c900={_0xde8871:0x339};_0xfb7a56={..._0xfb7a56},delete _0xfb7a56['addHeight'],delete _0xfb7a56['setHeight'];function _0x1cd9de(_0x5dd7b6,_0x33c8db){return _0x7afdbe(_0x5dd7b6,_0x33c8db- -0x46c);}function _0x4ed40c(_0x3b2444,_0x219264){return _0x7afdbe(_0x3b2444,_0x219264- -0xae);}delete _0xfb7a56['height'];const _0xdf35a6=super[_0x1cd9de(0x16f2,0x1487)](_0xfb7a56,_0x336cf1);return _0xdf35a6[_0x1cd9de(0x5bc,_0xe9c900._0xde8871)]=Cesium__namespace['ArcType']['RHUMB'],_0xdf35a6;}[_0x7afdbe(0x20a6,0x1605)](){const _0x53c13e=getOutlinePositions(this['_entity']);return[_0x53c13e];}['toGeoJSON'](_0x11ff56){return super['toGeoJSON'](_0x11ff56);}['_getGeoJsonGeometry'](_0x4aba55){const _0x4a0ba0={_0x2c4114:0x827,_0x1d9e7a:0xa7a,_0x70a5c8:0x5f8,_0x5e618f:0xb9b},_0xd5aed8={_0x1afff6:0x1ce},_0x72e5d6={_0x353e02:0x465};function _0x40707c(_0x12624d,_0x5ebddd){return _0x54a7f1(_0x12624d- -_0x72e5d6._0x353e02,_0x5ebddd);}function _0x1a32a1(_0x1630c9,_0x2cf9b1){return _0x54a7f1(_0x1630c9-_0xd5aed8._0x1afff6,_0x2cf9b1);}return _0x4aba55!==null&&_0x4aba55!==void 0x0&&_0x4aba55[_0x1a32a1(0x1606,0x17ad)]?{'type':_0x1a32a1(_0x4a0ba0._0x2c4114,0x82b),'coordinates':[this[_0x40707c(_0x4a0ba0._0x1d9e7a,_0x4a0ba0._0x70a5c8)](_0x4aba55===null||_0x4aba55===void 0x0?void 0x0:_0x4aba55['closure'],_0x4aba55===null||_0x4aba55===void 0x0?void 0x0:_0x4aba55[_0x1a32a1(0xa39,0x14ab)])]}:{'type':'LineString','coordinates':this['getCoordinates'](_0x4aba55===null||_0x4aba55===void 0x0?void 0x0:_0x4aba55[_0x40707c(0x406,_0x4a0ba0._0x5e618f)])};}['setCallbackPositions'](_0x4ad03f){const _0x2f147f={_0x264ed1:0xced},_0x13e7a5={_0x3b01fa:0x78};this['_setPositionsToCallback']();function _0x2b242e(_0x2b07d8,_0x55244d){return _0x54a7f1(_0x2b07d8- -0xe7,_0x55244d);}_0x4ad03f&&(_0x4ad03f&&(_0x4ad03f=LngLatArray['toCartesians'](_0x4ad03f)),this['_positions_draw']=_0x4ad03f,this[_0x2b242e(0x1118,_0x2f147f._0x264ed1)](!![]),this[_0x1b1e7d(0x2117,0x18ea)]());function _0x1b1e7d(_0x2980ec,_0x4e371e){return _0x7afdbe(_0x2980ec,_0x4e371e-_0x13e7a5._0x3b01fa);}return this['_positions_draw'];}[_0x7afdbe(0xff5,0x738)](){const _0x3b368e={_0x4876f8:0x8e2},_0x852cf8={_0x272c64:0x270,_0x249c51:0x372},_0x1d989c={_0xfd0124:0x116};if(this[_0xc98cf8(0x128b,0x10bb)])return;this['_isCallbackPositions']=!![];const _0x1be2c9=this['positions'];function _0xc98cf8(_0x2c8c71,_0x35a505){return _0x7afdbe(_0x35a505,_0x2c8c71-0x7c);}_0x1be2c9?(_0x1be2c9 instanceof Cesium__namespace['CallbackProperty']?this[_0x440e2d(_0x3b368e._0x4876f8,0x675)]=this['getEntityPositions']():this['_positions_draw']=this['positions'],this['_rectangle_draw']=Cesium__namespace['Rectangle']['fromCartesianArray'](this['_positions_draw'])):(this[_0xc98cf8(0xa7b,-0x35)]=[],this[_0xc98cf8(0x560,0x2f0)]=null);this['rectangle']=new Cesium__namespace['CallbackProperty'](_0x2eee3a=>{function _0x19756e(_0xd1051d,_0x54bafb){return _0x440e2d(_0x54bafb,_0xd1051d-_0x1d989c._0xfd0124);}return this[_0x19756e(_0x852cf8._0x272c64,_0x852cf8._0x249c51)];},![]);function _0x440e2d(_0x389632,_0x1d13da){return _0x54a7f1(_0x1d13da- -0x15c,_0x389632);}this['_updateOutlineToCallback']();}[_0x54a7f1(0x1538,0x1c26)](){const _0x410177={_0x563405:0x74d,_0x584aa7:0x1630,_0x43e129:0x312,_0x397899:0x239,_0x4491f4:0x1d21,_0xd4a1fd:0x855},_0x504f77={_0x2fed1b:0x2b2};if(!this[_0x17d224(0xc92,0x7c6)])return;function _0x4267ee(_0x11dedd,_0x25bbfe){return _0x7afdbe(_0x25bbfe,_0x11dedd- -_0x504f77._0x2fed1b);}this[_0x4267ee(0xf5d,0x779)]=![],this['_positions']=this[_0x4267ee(_0x410177._0x563405,0xbaf)],this[_0x4267ee(_0x410177._0x584aa7,0x1be1)]=this['_rectangle_draw'],delete this[_0x4267ee(_0x410177._0x563405,0xbd7)],delete this['_rectangle_draw'];function _0x17d224(_0x1fe3f3,_0x532614){return _0x54a7f1(_0x1fe3f3- -0x34f,_0x532614);}this[_0x17d224(_0x410177._0x43e129,-_0x410177._0x397899)]&&(this['entityGraphic']['coordinates']=this[_0x17d224(0x1365,_0x410177._0x4491f4)],this[_0x17d224(_0x410177._0xd4a1fd,0x769)]());}['updateAttrForDrawing'](_0x25220a){const _0x3fc1b0={_0x41900d:0x366,_0x56ac30:0x2c8,_0x31aa0a:0x1379},_0x145861={_0x2bfece:0x21c};this[_0x22014c(0x684,_0x3fc1b0._0x41900d)](this['entityGraphic'],!![]);function _0x22014c(_0x1b623b,_0x3be208){return _0x54a7f1(_0x1b623b- -0x1dd,_0x3be208);}this[_0x4d0be6(_0x3fc1b0._0x56ac30,0x96d)]=Cesium__namespace['Rectangle']['fromCartesianArray'](this['_positions_draw']);function _0x4d0be6(_0xed814a,_0x33c696){return _0x7afdbe(_0x33c696,_0xed814a- -_0x145861._0x2bfece);}this['_entity_outlines']&&(this[_0x22014c(_0x3fc1b0._0x31aa0a,0x1ae7)](),this[_0x4d0be6(0x3b5,0x330)]=getOutlinePositions(this['_entity']));}['_getExSmallTooltip'](_0x9856a8,_0x9fb4fc=''){const _0x35eaa5={_0x1acbe6:0xe0d,_0x188204:0x449,_0x5bbc52:0x528,_0x2f6b65:0xe51,_0x41bfbf:0x566,_0x1dbaff:0x94b};if(this[_0x2be7e7(0x72e,_0x35eaa5._0x1acbe6)][_0x2be7e7(0x1154,0x1648)]===![])return _0x9fb4fc;function _0x2be7e7(_0x51e5ca,_0x287c8f){return _0x7afdbe(_0x287c8f,_0x51e5ca- -0x3b0);}if(this[_0x8d8a6f(_0x35eaa5._0x188204,0x9d4)][_0x2be7e7(0xe03,0xaa0)]<0x2)return _0x9fb4fc;const _0x4e542d={'unit':this[_0x8d8a6f(_0x35eaa5._0x5bbc52,_0x35eaa5._0x2f6b65)]['unit'],'getLangText':_0x15d9b2=>{return this['_map']['getLangText'](_0x15d9b2);},'decimal':this['options'][_0x8d8a6f(0x942,0x7a7)]};function _0x8d8a6f(_0xef0faa,_0x5ae18c){return _0x54a7f1(_0xef0faa- -0x388,_0x5ae18c);}return'<br\x20/>'+this['_map']['getLangText'](_0x2be7e7(0x18a,0x8f4))+':'+formatArea(this[_0x2be7e7(_0x35eaa5._0x41bfbf,_0x35eaa5._0x1dbaff)],_0x4e542d);}[_0x54a7f1(0x13f0,0x1ae7)](_0x4fee7e){return getOutlinePositions(this['_entity'],_0x4fee7e);}[_0x54a7f1(0xedf,0x623)](_0x577fbf,_0x1eff0d){return cartesians2lonlats(this['getOutlinePositions'](_0x577fbf),_0x1eff0d);}['getRectangle'](_0x5a981b){function _0x10c99f(_0x3387f3,_0x3ed1b7){return _0x7afdbe(_0x3387f3,_0x3ed1b7- -0x676);}function _0x11c2bd(_0x4b09c6,_0x5a8987){return _0x7afdbe(_0x4b09c6,_0x5a8987- -0xaa);}const _0x3719f7=this[_0x11c2bd(0x8b8,0x43a)]||this['rectangle'];return _0x5a981b!==null&&_0x5a981b!==void 0x0&&_0x5a981b[_0x11c2bd(0xf19,0x189e)]?formatRectangle(_0x3719f7):_0x3719f7;}[_0x54a7f1(0xba7,0xc17)](_0x24bdf3){const _0x8c6cc9={_0x3e7c87:0x2b7,_0x96305b:0xbf7},_0x217923={_0x49ead0:0x14b};var _0x21ff7e;const _0x2c9614=getCesiumValue((_0x21ff7e=this[_0x4e4fb2(_0x8c6cc9._0x3e7c87,-0x6e0)]['rectangle'])===null||_0x21ff7e===void 0x0?void 0x0:_0x21ff7e[_0x4bc49c(_0x8c6cc9._0x96305b,0xe67)],Cesium__namespace['Rectangle']);function _0x4e4fb2(_0xc37350,_0x56c8df){return _0x54a7f1(_0xc37350- -0x3aa,_0x56c8df);}const _0x21582e=Cesium__namespace[_0x4bc49c(0xb02,0x5dc)]['contains'](_0x2c9614,LngLatPoint['parse'](_0x24bdf3)[_0x4e4fb2(-0x7a,0xa3c)]());function _0x4bc49c(_0x2dfab1,_0x2420a4){return _0x7afdbe(_0x2dfab1,_0x2420a4- -_0x217923._0x49ead0);}return _0x21582e;}['flyTo'](_0x4d92ce={}){const _0xc620f0={_0x1f1394:0x742,_0x32afc0:0x900,_0x3fbab7:0xed};function _0x2fd9fd(_0x368aab,_0x21c85c){return _0x54a7f1(_0x21c85c- -0x3b9,_0x368aab);}if(!this['_map'])return;_0x4d92ce['clampToGround']=this['style']['clampToGround'],this[_0x38bc7a(_0xc620f0._0x1f1394,_0xc620f0._0x32afc0)][_0x2fd9fd(0x17a0,0xce9)](getCesiumValue(this[_0x2fd9fd(-0x2a2,-_0xc620f0._0x3fbab7)],Cesium__namespace['Rectangle']),_0x4d92ce);function _0x38bc7a(_0x3c4f4e,_0x1d79ed){return _0x54a7f1(_0x1d79ed-0x12d,_0x3c4f4e);}return this;}}register$5(_0x54a7f1(0x2cc,0x226),RectangleEntity);function getOutlinePositions(_0x4499f7,_0xd31b6f=!![]){const _0x594fc1={_0x5d90f5:0x3ce,_0x720d97:0x140,_0x207a64:0x1065};if(!_0x4499f7||!_0x4499f7[_0x262c64(0x140,-0x5e0)])return[];const _0x38a383=getCesiumValue(_0x4499f7['rectangle'][_0x262c64(0xbf8,0x14bb)],Cesium__namespace['Rectangle']);function _0x48f698(_0xccb7dc,_0x423b3f){return _0x7afdbe(_0x423b3f,_0xccb7dc- -0x26a);}if(!_0x38a383)return[];const _0x355e96=getCesiumValue(_0x4499f7[_0x48f698(0x290,_0x594fc1._0x5d90f5)]['rotation'],Number)||0x0,_0x457c6f=getCesiumValue(_0x4499f7[_0x262c64(_0x594fc1._0x720d97,0x7a8)]['height'],Number)||0x0,_0x4441c3={};_0x4441c3['rectangle']=_0x38a383,_0x4441c3[_0x262c64(_0x594fc1._0x207a64,0x197f)]=_0x355e96;function _0x262c64(_0x5eee3f,_0x21a1c5){return _0x54a7f1(_0x5eee3f- -0x18c,_0x21a1c5);}_0x4441c3['height']=_0x457c6f;const _0x16979c=getRectangleOuterPositions(_0x4441c3);return _0xd31b6f&&_0x16979c[_0x262c64(0xd7c,0xc8b)](_0x16979c[0x0]),_0x16979c;}function getAllPositions(_0x3ba63d){const _0xf5547e=getCesiumValue(_0x3ba63d[_0xfee869(0x8a,-0x11b)]['hierarchy'],Cesium__namespace['PolygonHierarchy']),_0x1f60ac=getHierarchyVal(_0xf5547e);function _0xfee869(_0x337f0b,_0x468da3){return _0x54a7f1(_0x337f0b- -0x41a,_0x468da3);}return _0x1f60ac;}function getPositions(_0x38b13a,_0x458ce4){const _0xc13c25={_0x67af51:0xad4,_0x242ec2:0x360,_0x26b62c:0x5e2};if(!_0x458ce4&&_0x38b13a[_0x1c2e3a(0xb8d,0x436)]&&_0x38b13a['_positions_draw'][_0x5978a9(0xca4,_0xc13c25._0x67af51)]>0x0)return _0x38b13a[_0x5978a9(-_0xc13c25._0x242ec2,0x320)];function _0x5978a9(_0x34997e,_0x3f5a06){return _0x7afdbe(_0x34997e,_0x3f5a06- -0x6df);}let _0x3bf7f7=getCesiumValue(_0x38b13a['polygon'][_0x5978a9(0xe63,0x127d)],Cesium__namespace['PolygonHierarchy']);function _0x1c2e3a(_0x4aeb79,_0x3d60b8){return _0x54a7f1(_0x3d60b8- -0x39b,_0x4aeb79);}return _0x3bf7f7&&_0x3bf7f7 instanceof Cesium__namespace['PolygonHierarchy']&&(_0x3bf7f7=_0x3bf7f7[_0x1c2e3a(_0xc13c25._0x26b62c,0xd54)]),_0x3bf7f7;}function getHolesPositions(_0x298d6e){const _0x2c69f4=getCesiumValue(_0x298d6e['polygon']['hierarchy'],Cesium__namespace[_0x235337(0x6ce,-0x31e)]);function _0x235337(_0x7b5345,_0x3beb0d){return _0x54a7f1(_0x7b5345-0x163,_0x3beb0d);}function _0x4cee90(_0x1885b4,_0x4f21fc){return _0x7afdbe(_0x1885b4,_0x4f21fc- -0x462);}const _0x260968=getHierarchyVal(_0x2c69f4);return _0x260968[_0x235337(0x10e8,0x1088)]>0x1?_0x260968[_0x4cee90(0xe13,0x5d7)](0x1):null;}function getHierarchyVal(_0xce0c3c){const _0x9b4abb={_0x22263e:0x105b,_0x1f8a58:0xfa8,_0x3ef88c:0x11a2,_0x5370c7:0x11d7,_0x3bde01:0x931},_0x4edda2={_0x3a5b48:0x2c2},_0xe8d808={_0x4e3599:0x23};function _0x1130dc(_0x2b427d,_0x3f8879){return _0x54a7f1(_0x2b427d-_0xe8d808._0x4e3599,_0x3f8879);}function _0x3baf37(_0x218640,_0x29bf82){return _0x7afdbe(_0x218640,_0x29bf82- -_0x4edda2._0x3a5b48);}if(!_0xce0c3c)return[];if(_0xce0c3c&&_0xce0c3c instanceof Cesium__namespace['PolygonHierarchy']){let _0x1a6586=[_0xce0c3c[_0x3baf37(0x1694,_0x9b4abb._0x22263e)]];for(let _0x4a405c=0x0,_0x5304ce=_0xce0c3c['holes'][_0x1130dc(_0x9b4abb._0x1f8a58,_0x9b4abb._0x3ef88c)];_0x4a405c<_0x5304ce;_0x4a405c++){const _0x5dd583=_0xce0c3c['holes'][_0x4a405c];_0x1a6586=_0x1a6586[_0x3baf37(_0x9b4abb._0x5370c7,_0x9b4abb._0x3bde01)](getHierarchyVal(_0x5dd583));}return _0x1a6586;}else return[_0xce0c3c];}function getPolygonHierarchy(_0x4a1b61,_0x4002a9){const _0x4f5404={_0x4bf3e5:0x382},_0x2014a1={_0x5a244b:0x520};function _0x35b816(_0x3c940e,_0x4f9722){return _0x7afdbe(_0x3c940e,_0x4f9722- -0x417);}if(_0x4a1b61['length']===0x0)return new Cesium__namespace['PolygonHierarchy']();const _0x4ef4f8=[];if(_0x4a1b61['length']>0x1)for(let _0x4fd8fa=0x1,_0x15ff26=_0x4a1b61[_0x25b218(0xc93,0x546)];_0x4fd8fa<_0x15ff26;_0x4fd8fa++){_0x4ef4f8['push'](new Cesium__namespace[(_0x35b816(0xd77,_0x4f5404._0x4bf3e5))](lonlats2cartesians(_0x4a1b61[_0x4fd8fa],_0x4002a9)));}const _0x44788f=_0x4a1b61[0x0];function _0x25b218(_0x389c54,_0x14b8c2){return _0x7afdbe(_0x14b8c2,_0x389c54- -_0x2014a1._0x5a244b);}const _0x20e023=new Cesium__namespace['PolygonHierarchy'](lonlats2cartesians(_0x44788f,_0x4002a9),_0x4ef4f8);return _0x20e023;}function getPolygonHierarchy2(_0x479c95){const _0x1beddc={_0x2af8ee:0xa60,_0x239de2:0x1105,_0x1b64b6:0x69b},_0x395c81={_0x1e4815:0x3b2};if(_0x479c95[_0x1885af(_0x1beddc._0x2af8ee,_0x1beddc._0x239de2)]===0x0)return new Cesium__namespace['PolygonHierarchy']();function _0x1885af(_0x161bb,_0x25ba21){return _0x7afdbe(_0x161bb,_0x25ba21- -0xae);}function _0x44c3fc(_0x1e891a,_0x237130){return _0x7afdbe(_0x237130,_0x1e891a- -_0x395c81._0x1e4815);}const _0x4767e7=[];if(_0x479c95['length']>0x1)for(let _0x379627=0x1,_0x324ca3=_0x479c95['length'];_0x379627<_0x324ca3;_0x379627++){_0x4767e7['push'](new Cesium__namespace['PolygonHierarchy'](LngLatArray[_0x44c3fc(_0x1beddc._0x1b64b6,0x8c2)](_0x479c95[_0x379627])));}const _0x36686c=_0x479c95[0x0],_0x1f7be3=new Cesium__namespace['PolygonHierarchy'](LngLatArray['toCartesians'](_0x36686c),_0x4767e7);return _0x1f7be3;}class EditPolygon extends EditPoly{get['hasClosure'](){const _0x237f1b={_0x45a219:0x1ecb};function _0x35e8b9(_0x22b900,_0x17bd7e){return _0x54a7f1(_0x22b900-0x1b3,_0x17bd7e);}return this['_graphic'][_0x35e8b9(0x1924,_0x237f1b._0x45a219)]??!![];}get['clampToGround'](){var _0x4bac40;return this['style']['clampToGround']??!getCesiumValue((_0x4bac40=this['_graphic'])===null||_0x4bac40===void 0x0||(_0x4bac40=_0x4bac40['entityGraphic'])===null||_0x4bac40===void 0x0?void 0x0:_0x4bac40['perPositionHeight'],Boolean);}['bindDraggers'](){const _0x4fb720={_0x67a2bd:0xc5e,_0x3c902f:0x1334,_0x2d028e:0x11eb};function _0x3e7f18(_0x397b09,_0x16b643){return _0x7afdbe(_0x16b643,_0x397b09- -0x1d4);}function _0x2ea51e(_0x3861e3,_0xdc8fdf){return _0x54a7f1(_0xdc8fdf-0x266,_0x3861e3);}var _0x21f1e6;super[_0x3e7f18(0x34c,-0x5ca)]();if(((_0x21f1e6=this['_graphic'][_0x3e7f18(0x106e,_0x4fb720._0x67a2bd)])===null||_0x21f1e6===void 0x0?void 0x0:_0x21f1e6['length'])>0x0)for(let _0x4d70d0=0x0,_0x192de6=this['_graphic']['_draw_holes'][_0x2ea51e(_0x4fb720._0x3c902f,_0x4fb720._0x2d028e)];_0x4d70d0<_0x192de6;_0x4d70d0++){this[_0x2ea51e(0x450,0xab8)](this[_0x3e7f18(0x12bc,0xbee)]['_draw_holes'][_0x4d70d0],_0x4d70d0);}}['bindHolesDraggers'](_0x500f05,_0x179728){const _0x2c8727={_0x50692d:0x1a3,_0x49f34c:0xd5e,_0x28e704:0x1143,_0x26a36c:0x8d4},_0x162839={_0x4b4888:0x128d},_0x43fc36={_0x37793b:0x1617},_0x9e49d9={_0x31bc8b:0x323};function _0x44be98(_0x5cde8d,_0xa6ba3){return _0x54a7f1(_0xa6ba3-0x101,_0x5cde8d);}function _0x37a37c(_0x3f1d8f,_0x2d7c6f){return _0x54a7f1(_0x2d7c6f-0x2a7,_0x3f1d8f);}for(let _0x1bf255=0x0,_0x136e62=_0x500f05['length'];_0x1bf255<_0x136e62;_0x1bf255++){const _0x36ac11=this['updatePositionsHeightByAttr'](_0x500f05[_0x1bf255]),_0x503ef3=this[_0x37a37c(-0x259,0x7c6)]({'position':_0x36ac11,'onDrag':(_0x142598,_0x2c22f7)=>{function _0x4e266a(_0x294370,_0x3cc68f){return _0x37a37c(_0x294370,_0x3cc68f- -_0x9e49d9._0x31bc8b);}_0x2c22f7=this['updatePositionsHeightByAttr'](_0x2c22f7),_0x142598[_0x4e266a(_0x43fc36._0x37793b,0x1665)]=_0x2c22f7,_0x500f05[_0x142598['index']]=_0x2c22f7;},'onDragEnd':(_0x2cb452,_0x340ce6)=>{this['updateDraggers']();}});_0x503ef3['index']=_0x1bf255,this['draggers']['push'](_0x503ef3);if(this['hasMidPoint']&&(this['hasClosure']||!this['hasClosure']&&_0x1bf255<_0x136e62-0x1)){const _0x29ddff=(_0x1bf255+0x1)%_0x136e62;let _0x56b86a=getMidpoint(_0x36ac11,_0x500f05[_0x29ddff],this[_0x37a37c(_0x2c8727._0x50692d,0xb57)]['midPointFraction']);_0x56b86a=this[_0x44be98(0xcf2,_0x2c8727._0x49f34c)](_0x56b86a);const _0x549143=this[_0x37a37c(0x15f,0x7c6)]({'position':_0x56b86a,'type':EditPointType[_0x37a37c(_0x2c8727._0x28e704,0xc19)],'tooltip':this[_0x44be98(0xeea,_0x2c8727._0x26a36c)]['getLangText'](_0x37a37c(0xde7,0xa6b)),'onDragStart':(_0x3d936a,_0x4e970f)=>{function _0x504205(_0x23118d,_0x49f055){return _0x44be98(_0x23118d,_0x49f055- -0x1);}_0x500f05['splice'](_0x3d936a[_0x504205(0x285,0xd4b)],0x0,_0x4e970f);},'onDrag':(_0x308cba,_0x5e2bd4)=>{_0x500f05[_0x308cba['index']]=_0x5e2bd4;},'onDragEnd':(_0x5efacc,_0x286327)=>{this['_fireAddPoint'](_0x5efacc,_0x286327);function _0x46275d(_0x35f52f,_0x639fdd){return _0x37a37c(_0x639fdd,_0x35f52f- -0x440);}this[_0x46275d(_0x162839._0x4b4888,0x132c)]();}});_0x549143['index']=_0x29ddff,this['draggers']['push'](_0x549143);}}}}class PolygonEntity extends BasePolyEntity{constructor(_0x782a29={}){const _0x18c73c={_0x488162:0xa17,_0x312c20:0x22,_0x11b6fa:0x242},_0x432b2d={_0x259976:0x147};super(_0x782a29);function _0xf44e11(_0x506d98,_0x42d52d){return _0x54a7f1(_0x42d52d- -_0x432b2d._0x259976,_0x506d98);}this['_minPointNum']=_0x782a29[_0x172429(0xdf,_0x18c73c._0x488162)]??0x3;function _0x172429(_0x32ab8d,_0x34e18c){return _0x54a7f1(_0x34e18c- -0x4c7,_0x32ab8d);}this[_0xf44e11(-_0x18c73c._0x312c20,_0x18c73c._0x11b6fa)]=!![];}get[_0x7afdbe(0x6c9,0x75c)](){const _0x4c57ca={_0x215a88:0x60},_0x2046ca={_0x838c74:0x4bb};var _0x21c1dc;function _0x360994(_0x2a7558,_0x47348a){return _0x7afdbe(_0x47348a,_0x2a7558- -0x361);}function _0x4b6fc4(_0x563685,_0x8e625f){return _0x7afdbe(_0x563685,_0x8e625f- -_0x2046ca._0x838c74);}return(_0x21c1dc=this[_0x360994(0x52e,_0x4c57ca._0x215a88)])===null||_0x21c1dc===void 0x0?void 0x0:_0x21c1dc[_0x360994(0x371,0xa18)];}get['EditClass'](){return EditPolygon;}get[_0x54a7f1(0x57d,0x8d9)](){return this['centerOfMass'];}get['distance'](){return getDistance(this['positionsShow'],!![]);}get[_0x7afdbe(0xe7b,0xaba)](){const _0x5a7126={_0x75feea:0xd32},_0x8c2c1={_0x3c6bdf:0x70};let _0x42478b=getCesiumValue(this['_positions']);if(_0x42478b instanceof Cesium__namespace['PolygonHierarchy'])_0x42478b=_0x42478b[_0x121698(0x107f,_0x5a7126._0x75feea)];else _0x42478b instanceof Cesium__namespace['Cartesian3']&&(_0x42478b=[_0x42478b]);function _0x121698(_0x13a7b9,_0xdd3dbd){return _0x54a7f1(_0x13a7b9- -_0x8c2c1._0x3c6bdf,_0xdd3dbd);}return this['_positions_show']??this['getShowPositions'](_0x42478b);}get[_0x54a7f1(0x172e,0xfdd)](){const _0x10268e={_0x50d0ab:0xc64};function _0x3200d7(_0x154b23,_0x33551f){return _0x7afdbe(_0x154b23,_0x33551f- -0x39f);}function _0x4e6559(_0x3d5bcf,_0x26a614){return _0x7afdbe(_0x3d5bcf,_0x26a614- -0x2c1);}var _0x4a42b1;return this[_0x3200d7(0x1675,_0x10268e._0x50d0ab)]||((_0x4a42b1=this[_0x3200d7(-0x36e,0x3bd)])===null||_0x4a42b1===void 0x0?void 0x0:_0x4a42b1['hierarchy']);}get[_0x54a7f1(0x10ef,0xdd5)](){const _0x530bca={_0x161690:0x13a5,_0x7d15ee:0x9fe},_0x1c8354={_0x447c69:0x33f};function _0x1579af(_0x492fd4,_0x49fc1f){return _0x54a7f1(_0x49fc1f- -_0x1c8354._0x447c69,_0x492fd4);}return this[_0x1579af(_0x530bca._0x161690,_0x530bca._0x7d15ee)];}set['positions'](_0x57f733){const _0x5a85c2={_0x2f5fdb:0xd1f,_0x4c7b40:0xbc1,_0x24f322:0xf51,_0x2437ea:0x126b,_0x6db0c4:0x1976,_0x873a44:0xacc,_0x199120:0x972,_0x75ebf2:0x2c3,_0x5cbd66:0xc79,_0x1f7f61:0x309,_0x446f62:0x947,_0x815df7:0xc39,_0x2ec389:0x112c,_0x5b0d0c:0x331,_0x2d353d:0x3d0,_0x1929c2:0x14ee},_0xbb6cc={_0x29fb7a:0x36e,_0x73529b:0x703,_0x3c01d4:0xc2b};var _0x334417;if(!_0x57f733)return;function _0x41b9bd(_0x432d76,_0x46488b){return _0x54a7f1(_0x46488b- -0x1d9,_0x432d76);}!((_0x334417=this[_0x4a6e87(0x725,0xe12)])!==null&&_0x334417!==void 0x0&&_0x334417[_0x4a6e87(_0x5a85c2._0x2f5fdb,_0x5a85c2._0x4c7b40)])&&(this['_hierarchy']=null,this['_positions_show']=null);function _0x4a6e87(_0x3420a8,_0x37ac54){return _0x54a7f1(_0x3420a8-0x17c,_0x37ac54);}_0x57f733 instanceof Cesium__namespace['PolygonHierarchy']&&(this[_0x4a6e87(_0x5a85c2._0x24f322,0x19a6)]=_0x57f733,_0x57f733=this[_0x4a6e87(0xf51,0x612)][_0x4a6e87(_0x5a85c2._0x2437ea,0x15e4)]);if(Array['isArray'](_0x57f733)){var _0x22d732;if(_0x57f733['length']>0x0&&Array[_0x4a6e87(0x15ea,_0x5a85c2._0x6db0c4)](_0x57f733[0x0])&&_0x57f733[0x0]['length']>0x0){const _0x1e8fa9=_0x57f733[0x0][0x0];if(Array['isArray'](_0x1e8fa9)&&isNumber(_0x1e8fa9[0x0]))this[_0x41b9bd(_0x5a85c2._0x873a44,0xbfc)]=getPolygonHierarchy(_0x57f733,this[_0x41b9bd(_0x5a85c2._0x199120,_0x5a85c2._0x75ebf2)][_0x41b9bd(_0x5a85c2._0x5cbd66,0x48e)]||this['style']['setHeight']||this['style'][_0x41b9bd(_0x5a85c2._0x1f7f61,_0x5a85c2._0x446f62)]),_0x57f733=this['_hierarchy']['positions'];else(_0x1e8fa9 instanceof Cesium__namespace[_0x41b9bd(0xba4,0x110e)]||_0x1e8fa9 instanceof LngLatPoint)&&(this['_hierarchy']=getPolygonHierarchy2(_0x57f733),_0x57f733=this[_0x4a6e87(0xf51,_0x5a85c2._0x815df7)][_0x4a6e87(0x126b,0x1333)]);}const _0x3059d7=[],_0xce6374=[];_0x57f733['forEach']((_0x1be46f,_0x5b75df)=>{const _0x364ab5=LngLatPoint['parse'](_0x1be46f);function _0x32d600(_0xc9cd5,_0x151185){return _0x41b9bd(_0xc9cd5,_0x151185-0x174);}function _0x24fe81(_0xfd9f61,_0x1dcbe8){return _0x4a6e87(_0x1dcbe8- -0x459,_0xfd9f61);}if(!_0x364ab5)return;const _0x35675e=this['getSetHeight'](this['style'],_0x5b75df);Cesium__namespace['defined'](_0x35675e)&&(_0x364ab5[_0x32d600(0x45e,0x3f0)]=_0x35675e);const _0x604dbf=this[_0x32d600(-_0xbb6cc._0x29fb7a,_0xbb6cc._0x73529b)](this[_0x24fe81(-0x380,0x1bf)],_0x5b75df);Cesium__namespace[_0x32d600(0x1da8,0x161c)](_0x604dbf)&&(_0x364ab5['alt']+=_0x604dbf),_0x3059d7['push'](_0x364ab5),_0xce6374[_0x24fe81(0x500,_0xbb6cc._0x3c01d4)](_0x364ab5['toCartesian']());}),this[_0x41b9bd(_0x5a85c2._0x2ec389,0x1389)]=_0x3059d7,(_0x22d732=this[_0x41b9bd(-_0x5a85c2._0x5b0d0c,_0x5a85c2._0x2d353d)])!==null&&_0x22d732!==void 0x0&&_0x22d732['enabled']?this['_positions_draw']=_0xce6374:this[_0x4a6e87(0xeb9,0x82e)]=_0xce6374;}else this[_0x4a6e87(0xeb9,_0x5a85c2._0x1929c2)]=_0x57f733;this[_0x4a6e87(0x7dd,0x49b)]&&this['_updatePositionsHook'](),this['fire'](EventType[_0x4a6e87(0x8ec,0xb72)],{'positions':this[_0x41b9bd(0x151c,0xb64)]});}[_0x7afdbe(0x1e08,0x1798)](){return getPositions(this['_entity']);}[_0x7afdbe(0xdb4,0x1261)](_0x3d280e){if(!_0x3d280e||_0x3d280e['length']===0x0)return _0x3d280e;const _0x530d55=[];return _0x3d280e['forEach'](function(_0x593a47){_0x530d55['push'](_0x593a47['clone']());}),_0x530d55;}['_mountedHook'](){const _0x36924e={_0x371b3b:0xaf1,_0x2798fe:0x1260,_0x411782:0x378,_0x55b8e2:0x63e,_0x527c99:0x2b1,_0x3b3102:0x2a8,_0x4ca414:0xb4a,_0x2a329d:0xbe2,_0x263624:0x8da,_0x3d2c08:0x12d3,_0x403be9:0xd3c,_0x41e52f:0x153b,_0x28d81c:0x1cbe,_0x37ef07:0xb09,_0x3f5d6e:0x114f,_0x524a99:0x46e,_0x49875f:0xa2a,_0x37ca24:0x20e2,_0x4f4d81:0x753,_0x515919:0x1021},_0x1ab29f={_0xfef852:0xcc,_0x356cf0:0x1677,_0x1aeb25:0xef5};function _0x1bbe85(_0x341b85,_0x411dec){return _0x7afdbe(_0x411dec,_0x341b85- -0x421);}function _0x2a8fc5(_0x2faf33,_0x1e9f3b){return _0x54a7f1(_0x1e9f3b- -0x99,_0x2faf33);}const _0x487118={'polygon':PolygonStyleConver['toCesiumVal'](this['style'],{},!![])};if(this['_positions']instanceof Cesium__namespace['CallbackProperty']){const _0x570c96=this['_positions']['getValue'](this['_map'][_0x2a8fc5(_0x36924e._0x371b3b,0x940)][_0x1bbe85(_0x36924e._0x2798fe,0x1a96)]);if(_0x570c96&&Array['isArray'](_0x570c96)){const _0x3a34f7=new Cesium__namespace[(_0x1bbe85(_0x36924e._0x411782,_0x36924e._0x55b8e2))]();_0x487118[_0x1bbe85(_0x36924e._0x527c99,-_0x36924e._0x3b3102)][_0x1bbe85(0x153b,0x1d0b)]=new Cesium__namespace[(_0x1bbe85(0xb57,0x1144))](_0x1ab2d1=>{const _0x540fd7={_0x16f4e0:0x3ea};var _0x3e34eb;function _0x200ba5(_0xaeccf7,_0x32fbde){return _0x1bbe85(_0xaeccf7-_0x540fd7._0x16f4e0,_0x32fbde);}const _0x263113=this['_positions']['getValue'](_0x1ab2d1);this['_positions_show']=this['getShowPositions'](_0x263113),_0x3a34f7['positions']=this['_positions_show'];if(this['_entity_outlines']&&((_0x3e34eb=this[_0x200ba5(0x194a,0xe9f)])===null||_0x3e34eb===void 0x0?void 0x0:_0x3e34eb['length'])>0x0){var _0x14fe74;((_0x14fe74=this[_0x5b46a9(0x476,-_0x1ab29f._0xfef852)]['outlineStyle'])===null||_0x14fe74===void 0x0?void 0x0:_0x14fe74[_0x5b46a9(_0x1ab29f._0x356cf0,0x1487)])??!![]?this[_0x200ba5(0xa3d,0x498)]=this['_positions_show']['concat'](this['_positions_show'][0x0]):this['outlinePositions']=this['_positions_show'];}this[_0x5b46a9(0x161e,_0x1ab29f._0x1aeb25)]();function _0x5b46a9(_0xef8e09,_0x5232a1){return _0x2a8fc5(_0x5232a1,_0xef8e09-0x73);}return _0x3a34f7;},![]),this['_hierarchy']=_0x3a34f7;}else _0x487118['polygon']['hierarchy']=this[_0x1bbe85(_0x36924e._0x4ca414,0x1365)];}else this[_0x1bbe85(_0x36924e._0x2a329d,0x16a4)]?_0x487118[_0x1bbe85(0x2b1,_0x36924e._0x263624)]['hierarchy']=this[_0x2a8fc5(_0x36924e._0x3d2c08,_0x36924e._0x403be9)]:(!this['_positions_show']&&(this['_positions_show']=this[_0x1bbe85(0xe40,0x705)](this['positions'])),_0x487118['polygon'][_0x1bbe85(_0x36924e._0x41e52f,_0x36924e._0x28d81c)]=new Cesium__namespace['PolygonHierarchy'](this['_positions_show']));this['_entity']=this['_createEntity'](_0x487118),this['_updateDiffHeight'](this['style'][_0x2a8fc5(0x931,0xfb3)]),this[_0x2a8fc5(0x12ba,_0x36924e._0x37ef07)](),this[_0x1bbe85(0xb81,_0x36924e._0x3f5d6e)](this['_getOutlinePositions'](),this['style']),this[_0x1bbe85(_0x36924e._0x524a99,_0x36924e._0x49875f)]['polygon'][_0x2a8fc5(_0x36924e._0x37ca24,0x1695)]instanceof Cesium__namespace['CallbackProperty']&&this['_updateOutlineToCallback'](),this['style']['label']&&this['_addLabel'](this[_0x2a8fc5(_0x36924e._0x4f4d81,0x403)][_0x2a8fc5(0x14e9,_0x36924e._0x515919)]);}['_bindExType'](){const _0x5e1c56={_0x3f1a7f:0x11,_0x5f4113:0xdfe,_0x4a3c10:0x140a,_0x325a54:0x692,_0x2d5500:0x16b2,_0x306f11:0x1551,_0x304620:0x692,_0x220889:0x8bc},_0x34c102={_0x597d0a:0x2d};function _0x3d2044(_0x467f36,_0x37b7c2){return _0x7afdbe(_0x467f36,_0x37b7c2-_0x34c102._0x597d0a);}const _0x163414=this['options']['buildings']||this[_0x3d2044(0x11fe,0x1888)][_0x1efce3(0x8db,_0x5e1c56._0x3f1a7f)]['buildings'];function _0x1efce3(_0x18241f,_0x77dc0f){return _0x7afdbe(_0x77dc0f,_0x18241f- -0x203);}if(_0x163414&&(_0x163414[_0x3d2044(0xe98,_0x5e1c56._0x5f4113)]??!![])){if(_0x163414['bottomHeight']){let _0x349596;if(isNumber(_0x163414['bottomHeight']))_0x349596=_0x163414[_0x3d2044(_0x5e1c56._0x4a3c10,0x1a02)];else isString(_0x163414['bottomHeight'])&&(_0x349596=Number(this['attr'][_0x163414[_0x1efce3(0x17d2,0x1e0c)]]||0x0));this[_0x1efce3(0x68c,0x853)]['polygon'][_0x1efce3(_0x5e1c56._0x325a54,0x877)]=_0x349596;}const _0x280843=Number(this[_0x1efce3(_0x5e1c56._0x2d5500,_0x5e1c56._0x306f11)][_0x163414[_0x1efce3(0x1008,0x846)]]||0x1);let _0x5b47f4;if(isNumber(_0x163414[_0x3d2044(0x605,0x8c2)]))_0x5b47f4=_0x163414[_0x1efce3(0x692,0x15f)];else isString(_0x163414[_0x1efce3(_0x5e1c56._0x304620,0xf5e)])?_0x5b47f4=this[_0x1efce3(0x16b2,0x148f)][_0x163414['height']]||_0x5b47f4:_0x5b47f4=3.5;const _0x16ef0d=getCesiumValue(this['_entity']['polygon']['height'])||0x0;this[_0x3d2044(0x124e,_0x5e1c56._0x220889)]['polygon']['extrudedHeight']=_0x16ef0d+_0x280843*_0x5b47f4;}}['_updateDiffHeight'](_0x3c7881){const _0x326837={_0x16990a:0x1257},_0x426f6f={_0x12fcd5:0x42a};if(!Cesium__namespace[_0x36f863(_0x326837._0x16990a,0xbe4)](_0x3c7881)||this[_0x36f863(0x104,0x477)]['extrudedHeight']instanceof Cesium__namespace['CallbackProperty'])return;function _0x36f863(_0x29f055,_0x584f24){return _0x54a7f1(_0x29f055- -_0x426f6f._0x12fcd5,_0x584f24);}function _0x180ad6(_0x1f0235,_0xf9a103){return _0x54a7f1(_0x1f0235-0x1db,_0xf9a103);}if(Cesium__namespace['defined'](_0x3c7881)&&_0x3c7881!==0x0){const _0x2fb43a=this['getMaxHeight']();this[_0x180ad6(0x709,-0x240)]['extrudedHeight']=_0x2fb43a+_0x3c7881;}else this['entityGraphic']['extrudedHeight']=undefined;}['getMaxHeight'](){const _0x1d98ca={_0x435875:0xecd,_0x43e290:0x6a2},_0x148fa0={_0x4272b0:0x3b};function _0x416759(_0x7efbfb,_0xaf1fdf){return _0x54a7f1(_0x7efbfb-0x18a,_0xaf1fdf);}function _0xf2c4d4(_0x424485,_0x28e62d){return _0x54a7f1(_0x28e62d-_0x148fa0._0x4272b0,_0x424485);}let _0x37abd5=0x0;return Cesium__namespace[_0x416759(0x180b,0x1400)](this['style'][_0x416759(0x7f1,0x62)])?_0x37abd5=this[_0xf2c4d4(_0x1d98ca._0x435875,0x4d7)][_0xf2c4d4(0x93d,_0x1d98ca._0x43e290)]:_0x37abd5=getMaxHeight(this['_positions_draw']||this['_positions']),_0x37abd5;}['_style2Json'](_0x4fa4ee,_0x43236c){return PolygonStyleConver['toJSON'](_0x4fa4ee,_0x43236c,!![]);}[_0x7afdbe(0x1d09,0x1302)](_0x441f4d,_0x1abb83){const _0x1dae63={_0x560bcc:0x1473};PolygonStyleConver['toCesiumVal'](_0x441f4d,this['entityGraphic'],!![]);function _0x13a806(_0x1b6b0b,_0x92afef){return _0x54a7f1(_0x1b6b0b- -0x2dc,_0x92afef);}function _0x352976(_0x959cd6,_0x394794){return _0x7afdbe(_0x959cd6,_0x394794-0x3b);}(Cesium__namespace[_0x13a806(0x13a5,0x1aa2)](_0x1abb83[_0x352976(_0x1dae63._0x560bcc,0x12b5)])||Cesium__namespace['defined'](_0x1abb83['height']))&&this['_updateDiffHeight'](_0x1abb83[_0x352976(0x192a,0x12b5)]);}[_0x54a7f1(0x828,-0x2a1)](){const _0x184749={_0x43daac:0x109d,_0xa8b539:0x9d7,_0x2d3f33:0xfce,_0xb60bac:0xbc4,_0x4aaef4:0x12e4,_0x1f2430:0xca5,_0x383429:0x2ec},_0x38327d={_0x345487:0x3fe};if(this['_positions']instanceof Cesium__namespace[_0x17af62(0x8db,0xa6e)]){var _0x12f847;this[_0x289868(0x130,-0x21f)][_0x17af62(0x12bf,_0x184749._0x43daac)]=this['_positions'],(_0x12f847=this['editing'])!==null&&_0x12f847!==void 0x0&&_0x12f847[_0x289868(0x7a5,0x825)]&&this['_hierarchy']&&(this['_positions_show']=this[_0x289868(0xc35,0x945)](this['_positions_draw']),this['_hierarchy']['positions']=this['_positions_show']);}else this[_0x289868(_0x184749._0xa8b539,_0x184749._0x2d3f33)]?this[_0x17af62(0xbf,0x85d)]['hierarchy']=this['_hierarchy']:(this['_positions_show']=this[_0x17af62(_0x184749._0xb60bac,0x146e)](this['positions']),this['entityGraphic'][_0x289868(0x1330,0xccf)]=new Cesium__namespace[(_0x289868(0x16d,-0x190))](this[_0x17af62(_0x184749._0x4aaef4,0xcd6)]),this['_isCallbackPositions']=![]);function _0x289868(_0x5df74a,_0x531445){return _0x54a7f1(_0x5df74a- -_0x38327d._0x345487,_0x531445);}function _0x17af62(_0xd4c8db,_0x84415d){return _0x7afdbe(_0x84415d,_0xd4c8db- -0x69d);}this['_updateOutlineStyle'](this['_getOutlinePositions'](),this['style']),this['_updateLabelPosition'](),this[_0x289868(_0x184749._0x1f2430,_0x184749._0x383429)](this['style'][_0x17af62(0xbdd,0xc3a)]),this['_updateEditDraggers']();}[_0x54a7f1(0x13d7,0x1268)](){return getAllPositions(this['_entity']);}['_getOutlineStyle'](_0x6c582c,_0x1a6b09){const _0x5d9096={_0x137909:0x1320,_0x6fa310:0x18a0},_0x1b5b8a={_0x444ac5:0x2f5};_0x6c582c={..._0x6c582c},delete _0x6c582c['addHeight'],delete _0x6c582c[_0x516e1f(0xabd,_0x5d9096._0x137909)];function _0x211e9d(_0x1aaf2f,_0x3dee81){return _0x54a7f1(_0x1aaf2f-0x1db,_0x3dee81);}function _0x516e1f(_0x5225f1,_0x2daac3){return _0x7afdbe(_0x5225f1,_0x2daac3- -_0x1b5b8a._0x444ac5);}return delete _0x6c582c['height'],super[_0x211e9d(_0x5d9096._0x6fa310,0x1e3c)](_0x6c582c,_0x1a6b09);}['toGeoJSON'](_0x48a8d9){function _0x291487(_0x22bd32,_0x52db4c){return _0x7afdbe(_0x22bd32,_0x52db4c- -0x113);}return super[_0x291487(-0x29,0x3d8)](_0x48a8d9);}[_0x7afdbe(0x855,0xfa0)](_0x3058d0){const _0xea6896={_0x5969b5:0x461,_0x1fd810:0x1755,_0x3dea5a:0xfc0,_0x50156a:0xc10},_0x7b92f4={_0x272581:0xb32},_0x96bea={_0x56766f:0x209};var _0x3bbc9a;function _0x286b99(_0x1c4b66,_0x454627){return _0x7afdbe(_0x1c4b66,_0x454627- -0x176);}function _0x49ca8d(_0x199139,_0x3b8e4a){return _0x7afdbe(_0x3b8e4a,_0x199139- -_0x96bea._0x56766f);}let _0x563875=this[_0x286b99(0x6c7,_0xea6896._0x5969b5)](_0x3058d0===null||_0x3058d0===void 0x0?void 0x0:_0x3058d0['noAlt']);_0x3058d0!==null&&_0x3058d0!==void 0x0&&_0x3058d0[_0x286b99(0x15ef,_0xea6896._0x1fd810)]&&_0x563875['length']>0x0&&_0x563875[_0x286b99(0x1017,_0xea6896._0x3dea5a)](_0x563875[0x0]);if(((_0x3bbc9a=this[_0x286b99(_0xea6896._0x50156a,0xe8d)])===null||_0x3bbc9a===void 0x0||(_0x3bbc9a=_0x3bbc9a[_0x49ca8d(0xff8,0x142b)])===null||_0x3bbc9a===void 0x0?void 0x0:_0x3bbc9a[_0x286b99(0x1489,0x103d)])>0x0){_0x563875=[_0x563875];const _0x394335=getHolesPositions(this[_0x286b99(0x860,0x719)]);_0x394335['forEach'](_0x128763=>{function _0xafd8c9(_0x8c8717,_0x235a86){return _0x286b99(_0x235a86,_0x8c8717- -0x185);}function _0x20d4d4(_0x21bb4f,_0x421c34){return _0x49ca8d(_0x421c34- -0x41a,_0x21bb4f);}_0x563875[_0xafd8c9(0xe3b,0xbd3)](LngLatArray[_0x20d4d4(_0x7b92f4._0x272581,0x13b1)](_0x128763));});const _0x2cb138={};return _0x2cb138['type']=_0x49ca8d(0x67e,0xac),_0x2cb138['coordinates']=_0x563875,_0x2cb138;}else{const _0x3e243a={};return _0x3e243a['type']='Polygon',_0x3e243a['coordinates']=[_0x563875],_0x3e243a;}}['setCallbackPositions'](_0x4a0b4d){const _0x354fc0={_0x416e61:0x29e,_0x505d8d:0x283,_0x1fb2f6:0xe58},_0x6cfda1={_0xb783d3:0x178a,_0x32edf5:0xbf3},_0x3d9535={_0x20b506:0x363};function _0xdebaf4(_0x440c46,_0x409c46){return _0x54a7f1(_0x440c46- -_0x3d9535._0x20b506,_0x409c46);}function _0x5dd308(_0x1c4e9b,_0x400bf7){return _0x54a7f1(_0x1c4e9b- -0x3a7,_0x400bf7);}this['_setPositionsToCallback']();if(_0x4a0b4d){if(_0x4a0b4d){const _0x1843f7=[],_0xb6084d=[];_0x4a0b4d[_0x5dd308(_0x354fc0._0x416e61,-_0x354fc0._0x505d8d)]((_0x889349,_0x303856)=>{const _0x9b0a8=LngLatPoint['parse'](_0x889349);if(!_0x9b0a8)return;const _0x56e757=this['getSetHeight'](this['style'],_0x303856);Cesium__namespace[_0x4beaf6(_0x6cfda1._0xb783d3,0x15e7)](_0x56e757)&&(_0x9b0a8['alt']=_0x56e757);const _0x50db45=this['getAddHeight'](this['style'],_0x303856);function _0x4beaf6(_0x28b606,_0x1a9b20){return _0x5dd308(_0x1a9b20-0x30d,_0x28b606);}Cesium__namespace['defined'](_0x50db45)&&(_0x9b0a8['alt']+=_0x50db45);_0x1843f7['push'](_0x9b0a8);function _0x28d9e0(_0x5dada0,_0x4168e8){return _0x5dd308(_0x4168e8-0x496,_0x5dada0);}_0xb6084d[_0x28d9e0(0x1312,0xff7)](_0x9b0a8[_0x28d9e0(0x1418,_0x6cfda1._0x32edf5)]());}),this['_points']=_0x1843f7,this['_positions_draw']=_0xb6084d;}this[_0x5dd308(_0x354fc0._0x1fb2f6,0x93e)](!![]),this['_updateLabelPosition']();}return this['_positions_draw'];}[_0x7afdbe(0xef8,0x105d)](){const _0x34533a={_0x235560:0xb29};function _0x647773(_0x53e959,_0xe525ce){return _0x7afdbe(_0x53e959,_0xe525ce- -0x4da);}return this[_0x647773(0x354,_0x34533a._0x235560)];}[_0x7afdbe(0x18f3,0x1766)](){super['_cancelPositionsCallback'](),this['_hierarchy']=null;}['_startDrawHook'](){const _0x213780={_0x5ee11b:0x21c};super['_startDrawHook'](),this['_updateOutlineStyle']([new Cesium__namespace['CallbackProperty'](_0x548786=>{function _0x900c00(_0x27d21f,_0x47ded6){return _0x536c(_0x47ded6- -_0x213780._0x5ee11b,_0x27d21f);}return this[_0x900c00(-0x46a,0x503)];},![])],this['style'],{'show':!![],'width':0x2,'color':this['style']['color']});}['_setPositionsToCallback'](){const _0x395edb={_0x2d8dd3:0xec1,_0x222d1a:0x6cb};if(this['_isCallbackPositions'])return;this['_draw_holes']=getHolesPositions(this[_0x49f7d5(_0x395edb._0x2d8dd3,0x822)]);function _0x14dc03(_0x5492c9,_0x468d67){return _0x7afdbe(_0x468d67,_0x5492c9- -0x49a);}function _0x49f7d5(_0x24948,_0x2b3cb3){return _0x54a7f1(_0x2b3cb3-0x1c1,_0x24948);}super[_0x49f7d5(0xb03,_0x395edb._0x222d1a)]();}[_0x7afdbe(0x1951,0x142d)](_0x58a157){const _0x53931e={_0x500b42:0x1005,_0x5e8557:0x119d,_0x17b684:0x1344,_0x2cadfd:0x5e3,_0x35661e:0x15eb,_0x1f5bf5:0x1cf9,_0x4862fc:0x437,_0x388575:0xa01,_0x329c36:0x938,_0x219777:0xb2f,_0x271bc2:0x6cc},_0x55ba72={_0xf9d056:0x63d},_0x36bcc9={_0x5cfb4f:0x230},_0x1bd852={_0x196187:0x1049};var _0x550a59;if(!this['_hierarchy']){this[_0x14bbf3(_0x53931e._0x500b42,_0x53931e._0x5e8557)]=new Cesium__namespace['PolygonHierarchy']();if(this['_draw_holes']){const _0x3aae8a=[];this['_draw_holes']['forEach'](_0x4f1736=>{function _0x42fb98(_0xd1b513,_0x130ba2){return _0x14bbf3(_0x130ba2- -0x223,_0xd1b513);}_0x3aae8a[_0x42fb98(_0x1bd852._0x196187,0xf15)](new Cesium__namespace['PolygonHierarchy'](_0x4f1736));}),this['_hierarchy']['holes']=_0x3aae8a;}}function _0x14bbf3(_0x416501,_0x4fdc68){return _0x54a7f1(_0x416501-_0x36bcc9._0x5cfb4f,_0x4fdc68);}this[_0x4e1e45(0x16d3,_0x53931e._0x17b684)]=this['getShowPositions'](this[_0x14bbf3(0xa01,_0x53931e._0x2cadfd)]),this['_hierarchy'][_0x4e1e45(_0x53931e._0x35661e,0xce0)]=this['_positions_show'];function _0x4e1e45(_0x15b56d,_0x39fb24){return _0x7afdbe(_0x15b56d,_0x39fb24- -_0x55ba72._0xf9d056);}if(((_0x550a59=this['_positions_show'])===null||_0x550a59===void 0x0?void 0x0:_0x550a59['length'])>0x0){var _0x64b861;((_0x64b861=this['style']['outlineStyle'])===null||_0x64b861===void 0x0?void 0x0:_0x64b861['closure'])??!![]?this['outlinePositions']=this[_0x14bbf3(0x1983,0x1bd4)]['concat'](this[_0x4e1e45(_0x53931e._0x1f5bf5,0x1344)][0x0]):this[_0x4e1e45(0x6e0,_0x53931e._0x4862fc)]=this['_positions_show'];}let _0xfa24d8;if(this[_0x14bbf3(_0x53931e._0x388575,0xc19)]['length']<this[_0x14bbf3(_0x53931e._0x329c36,0x13a1)]){const _0x18f1ec={};_0x18f1ec['show']=!![],_0x18f1ec['width']=0x2,_0x18f1ec['color']=this['style']['color'],_0xfa24d8=_0x18f1ec;}this['_updateOutlineToCallback'](),this[_0x14bbf3(0xfa4,_0x53931e._0x219777)](null,this[_0x14bbf3(_0x53931e._0x271bc2,0x82b)],_0xfa24d8),this[_0x14bbf3(0x12d3,0x1392)](this[_0x4e1e45(0x53c,0x8d)][_0x14bbf3(0x127c,0x136a)]);}['_getExSmallTooltip'](_0xb18ac4,_0x5760a7=''){const _0x1b7dfc={_0x224711:0x6c8,_0x10a230:0x21d,_0x44908c:0x181b},_0x102377={_0xf218d5:0x661};function _0x290819(_0xdc99b7,_0x59dc23){return _0x54a7f1(_0xdc99b7- -0x1e8,_0x59dc23);}if(this[_0x290819(_0x1b7dfc._0x224711,0x8a5)]['drawShowMeasure']===![])return _0x5760a7;if(this[_0x290819(0x5e9,0xf23)]['length']<0x3)return _0x5760a7;const _0x2422d6={'unit':this[_0x290819(_0x1b7dfc._0x224711,0x6ab)][_0x290819(_0x1b7dfc._0x10a230,-0x1a)],'getLangText':_0x176db4=>{const _0x5a20a5={_0x190a70:0x76};function _0x508dbe(_0x140eba,_0x5a7f5a){return _0x290819(_0x5a7f5a-_0x5a20a5._0x190a70,_0x140eba);}return this[_0x508dbe(0x105,_0x102377._0xf218d5)]['getLangText'](_0x176db4);},'decimal':this['options']['decimal']};function _0x2676e3(_0x486374,_0x358afa){return _0x54a7f1(_0x358afa- -0x282,_0x486374);}return _0x290819(0x261,-0x7a3)+this[_0x290819(0x5eb,0x18a)][_0x2676e3(_0x1b7dfc._0x44908c,0xda0)](_0x2676e3(0xe1,0x8a))+':'+formatArea(this['area'],_0x2422d6);}}register$5(_0x54a7f1(0x4a4,0xe01),PolygonEntity),PolygonEntity['getPositions']=getPositions,PolygonEntity[_0x7afdbe(0x1e74,0x17f6)]=getAllPositions;class EllipseEntity extends CircleEntity{constructor(_0x47db30={}){super(_0x47db30),this['_maxPointNum']=0x3;}}register$5('ellipse',EllipseEntity,!![]);function RectangularSensorGraphics(_0x3f8ca4){const _0x3d036b={_0x451457:0x460,_0x5d195d:0xd75,_0x4d5fe1:0xaf3,_0x25cccb:0x1450,_0x3ac2fd:0xabf,_0x802f70:0x1859,_0x6a069b:0x1ade,_0x3e28e0:0x363,_0x3bfc2c:0x363},_0x3122fe={_0x2e413d:0xec};this['_show']=undefined,this[_0x2da0e8(0xd68,0x14ce)]=undefined,this['_xHalfAngle']=undefined,this['_yHalfAngle']=undefined,this['_lineColor']=undefined,this[_0x102ccf(0x84f,_0x3d036b._0x451457)]=undefined,this['_showSectorSegmentLines']=undefined;function _0x2da0e8(_0x129cbf,_0x15644a){return _0x54a7f1(_0x129cbf-_0x3122fe._0x2e413d,_0x15644a);}this[_0x2da0e8(0xa6f,_0x3d036b._0x5d195d)]=undefined,this['_material']=undefined,this['_showDomeSurfaces']=undefined,this[_0x102ccf(0x13ca,_0x3d036b._0x4d5fe1)]=undefined,this[_0x2da0e8(0x1240,_0x3d036b._0x25cccb)]=undefined,this['_intersectionColor']=undefined,this['_intersectionWidth']=undefined,this[_0x2da0e8(_0x3d036b._0x3ac2fd,0x1454)]=undefined,this['_gaze']=undefined,this['_showScanPlane']=undefined,this['_scanPlaneColor']=undefined,this['_scanPlaneMode']=undefined,this[_0x2da0e8(_0x3d036b._0x802f70,_0x3d036b._0x6a069b)]=undefined;function _0x102ccf(_0xa41f89,_0x523853){return _0x54a7f1(_0x523853- -0xa1,_0xa41f89);}this['_definitionChanged']=new Cesium__namespace[(_0x102ccf(0x1381,0x1699))](),this['merge'](Cesium__namespace[_0x2da0e8(_0x3d036b._0x3e28e0,0xe2e)](_0x3f8ca4,Cesium__namespace[_0x2da0e8(_0x3d036b._0x3bfc2c,0x131)][_0x2da0e8(0x7ff,0x85)]));}const _0x1b7540={};_0x1b7540['get']=function(){return this['_definitionChanged'];},Object['defineProperties'](RectangularSensorGraphics['prototype'],{'definitionChanged':_0x1b7540,'show':Cesium__namespace[_0x7afdbe(0x127e,0xb82)](_0x7afdbe(0x10aa,0x1821)),'radius':Cesium__namespace['createPropertyDescriptor']('radius'),'xHalfAngle':Cesium__namespace[_0x7afdbe(0x79d,0xb82)]('xHalfAngle'),'yHalfAngle':Cesium__namespace['createPropertyDescriptor'](_0x54a7f1(0x7d8,-0xfe)),'lineColor':Cesium__namespace['createPropertyDescriptor'](_0x7afdbe(0x13d3,0x17ea)),'showSectorLines':Cesium__namespace[_0x7afdbe(0x1084,0xb82)]('showSectorLines'),'showSectorSegmentLines':Cesium__namespace[_0x54a7f1(0x954,0x951)]('showSectorSegmentLines'),'showLateralSurfaces':Cesium__namespace[_0x7afdbe(0x117a,0xb82)](_0x7afdbe(0x3c2,0x958)),'material':Cesium__namespace['createMaterialPropertyDescriptor'](_0x7afdbe(0x4a7,0x681)),'showDomeSurfaces':Cesium__namespace['createPropertyDescriptor'](_0x7afdbe(0x138d,0x94a)),'showDomeLines':Cesium__namespace['createPropertyDescriptor'](_0x54a7f1(0xaef,0xd19)),'showIntersection':Cesium__namespace['createPropertyDescriptor']('showIntersection'),'intersectionColor':Cesium__namespace['createPropertyDescriptor']('intersectionColor'),'intersectionWidth':Cesium__namespace[_0x7afdbe(0x503,0xb82)]('intersectionWidth'),'showThroughEllipsoid':Cesium__namespace[_0x7afdbe(0xc79,0xb82)]('showThroughEllipsoid'),'gaze':Cesium__namespace[_0x7afdbe(0xbd6,0xb82)]('gaze'),'showScanPlane':Cesium__namespace['createPropertyDescriptor'](_0x54a7f1(0x1723,0x2009)),'scanPlaneColor':Cesium__namespace[_0x54a7f1(0x954,0x5b)]('scanPlaneColor'),'scanPlaneMode':Cesium__namespace[_0x54a7f1(0x954,0x141c)](_0x7afdbe(0x8fa,0xc5f)),'scanPlaneRate':Cesium__namespace['createPropertyDescriptor'](_0x7afdbe(0x6e9,0xa57))}),RectangularSensorGraphics['prototype']['clone']=function(_0x52ff53){const _0x21c87b={_0x294283:0x17d2,_0x5a5195:0x1721,_0x480e3b:0x11e3,_0x5a03b4:0x73b,_0x32d419:0x11ac,_0x51a9d6:0xc29,_0x4b2e20:0x1324,_0x6c36a9:0x268,_0x396b0f:0xc1d,_0x69b6c9:0x932,_0x30a13d:0x1054,_0x11ce9e:0x1313,_0x121e55:0x9f6};!Cesium__namespace[_0x32d889(_0x21c87b._0x294283,0x17af)](_0x52ff53)&&(_0x52ff53=new RectangularSensorGraphics());_0x52ff53[_0x32d889(0xcde,_0x21c87b._0x5a5195)]=this[_0x146cff(_0x21c87b._0x480e3b,0xc1a)],_0x52ff53[_0x32d889(0x409,0x505)]=this['radius'],_0x52ff53['xHalfAngle']=this[_0x32d889(0x6be,_0x21c87b._0x5a03b4)],_0x52ff53[_0x32d889(-0x56,0x906)]=this['yHalfAngle'];function _0x146cff(_0x41ef85,_0x35d4f5){return _0x54a7f1(_0x41ef85- -0x410,_0x35d4f5);}_0x52ff53['lineColor']=this[_0x146cff(_0x21c87b._0x32d419,0x1789)],_0x52ff53[_0x146cff(0x259,_0x21c87b._0x51a9d6)]=this[_0x146cff(0x259,-0xd5)],_0x52ff53['showSectorSegmentLines']=this[_0x32d889(_0x21c87b._0x4b2e20,0x1776)];function _0x32d889(_0x1a8901,_0x348788){return _0x54a7f1(_0x348788-0x12e,_0x1a8901);}return _0x52ff53['showLateralSurfaces']=this['showLateralSurfaces'],_0x52ff53['material']=this['material'],_0x52ff53['showDomeSurfaces']=this['showDomeSurfaces'],_0x52ff53[_0x146cff(0x6df,-0x18e)]=this[_0x32d889(_0x21c87b._0x6c36a9,_0x21c87b._0x396b0f)],_0x52ff53['showIntersection']=this['showIntersection'],_0x52ff53['intersectionColor']=this['intersectionColor'],_0x52ff53['intersectionWidth']=this[_0x32d889(0x58b,_0x21c87b._0x69b6c9)],_0x52ff53[_0x32d889(0x198d,_0x21c87b._0x30a13d)]=this['showThroughEllipsoid'],_0x52ff53[_0x32d889(0x4bc,0x3a6)]=this['gaze'],_0x52ff53[_0x146cff(_0x21c87b._0x11ce9e,_0x21c87b._0x121e55)]=this['showScanPlane'],_0x52ff53['scanPlaneColor']=this['scanPlaneColor'],_0x52ff53['scanPlaneMode']=this['scanPlaneMode'],_0x52ff53['scanPlaneRate']=this['scanPlaneRate'],_0x52ff53;},RectangularSensorGraphics['prototype'][_0x7afdbe(0x178e,0x17ec)]=function(_0xc91957){const _0x28906a={_0x3881af:0x1758,_0x47dff7:0x115,_0x2ae2bf:0x34e,_0x4594e0:0x953,_0xe6c36d:0x4ae,_0x40b31a:0x4ff,_0x5e86f8:0x145a,_0xed7c12:0x507,_0x4b5ba0:0x796,_0x570284:0x792,_0x5a7c98:0x801,_0x4a856b:0x554,_0x1e3f3a:0x3ce,_0x3c7193:0x5ba,_0x894c5b:0x98d,_0x4df79f:0xdd8,_0x5244c9:0x1150,_0x43893c:0x81b,_0xba11f:0xcff,_0x2dbc17:0x6a2,_0x1855a9:0x1601,_0x13d17e:0x21,_0x4f5433:0x115,_0x5f5bb4:0xb08,_0x4107d2:0x115},_0x2298d9={_0x3a7e82:0x157};if(!Cesium__namespace[_0x2ca0ba(0x12f9,_0x28906a._0x3881af)](_0xc91957))throw new Cesium__namespace['DeveloperError']('source\x20is\x20required.');this['slice']=Cesium__namespace[_0x260d10(0x966,_0x28906a._0x47dff7)](this['slice'],_0xc91957['slice']),this['show']=Cesium__namespace['defaultValue'](this['show'],_0xc91957['show']),this['radius']=Cesium__namespace[_0x2ca0ba(0x6a2,_0x28906a._0x2ae2bf)](this[_0x2ca0ba(_0x28906a._0x4594e0,0x4ae)],_0xc91957[_0x2ca0ba(0x35e,_0x28906a._0xe6c36d)]);function _0x2ca0ba(_0x158b50,_0x31cd36){return _0x7afdbe(_0x158b50,_0x31cd36- -_0x2298d9._0x3a7e82);}this['xHalfAngle']=Cesium__namespace['defaultValue'](this['xHalfAngle'],_0xc91957['xHalfAngle']);function _0x260d10(_0x1ae994,_0x189a52){return _0x7afdbe(_0x1ae994,_0x189a52- -0x390);}this['yHalfAngle']=Cesium__namespace[_0x260d10(-0x68c,0x115)](this['yHalfAngle'],_0xc91957['yHalfAngle']),this['lineColor']=Cesium__namespace[_0x260d10(-_0x28906a._0x40b31a,_0x28906a._0x47dff7)](this[_0x260d10(0xc1e,_0x28906a._0x5e86f8)],_0xc91957['lineColor']),this['showSectorLines']=Cesium__namespace['defaultValue'](this[_0x2ca0ba(0x1173,0x740)],_0xc91957[_0x260d10(-0x25a,_0x28906a._0xed7c12)]),this['showSectorSegmentLines']=Cesium__namespace[_0x260d10(0x9f6,0x115)](this['showSectorSegmentLines'],_0xc91957['showSectorSegmentLines']),this['showLateralSurfaces']=Cesium__namespace['defaultValue'](this[_0x2ca0ba(_0x28906a._0x4b5ba0,0x801)],_0xc91957[_0x2ca0ba(_0x28906a._0x570284,_0x28906a._0x5a7c98)]),this[_0x2ca0ba(_0x28906a._0x4a856b,0x52a)]=Cesium__namespace['defaultValue'](this[_0x2ca0ba(_0x28906a._0x1e3f3a,0x52a)],_0xc91957[_0x260d10(-0x745,0x2f1)]),this['showDomeSurfaces']=Cesium__namespace['defaultValue'](this[_0x260d10(0x717,_0x28906a._0x3c7193)],_0xc91957[_0x260d10(0xa61,0x5ba)]),this['showDomeLines']=Cesium__namespace['defaultValue'](this['showDomeLines'],_0xc91957[_0x260d10(0xb44,_0x28906a._0x894c5b)]),this['showIntersection']=Cesium__namespace['defaultValue'](this['showIntersection'],_0xc91957[_0x260d10(0x130a,_0x28906a._0x4df79f)]),this[_0x2ca0ba(_0x28906a._0x5244c9,0x81b)]=Cesium__namespace[_0x260d10(-0x20b,0x115)](this['intersectionColor'],_0xc91957[_0x2ca0ba(0x255,_0x28906a._0x43893c)]),this['intersectionWidth']=Cesium__namespace['defaultValue'](this[_0x260d10(_0x28906a._0xba11f,_0x28906a._0x2dbc17)],_0xc91957['intersectionWidth']),this[_0x2ca0ba(0x1734,0xffd)]=Cesium__namespace['defaultValue'](this['showThroughEllipsoid'],_0xc91957[_0x260d10(_0x28906a._0x1855a9,0xdc4)]),this['gaze']=Cesium__namespace['defaultValue'](this['gaze'],_0xc91957[_0x2ca0ba(_0x28906a._0x13d17e,0x34f)]),this[_0x260d10(0x1efc,0x15c1)]=Cesium__namespace[_0x260d10(0x651,_0x28906a._0x4f5433)](this['showScanPlane'],_0xc91957['showScanPlane']),this['scanPlaneColor']=Cesium__namespace['defaultValue'](this['scanPlaneColor'],_0xc91957[_0x260d10(0x12a6,0x15a8)]),this[_0x2ca0ba(0x1122,_0x28906a._0x5f5bb4)]=Cesium__namespace[_0x260d10(-0x7ef,_0x28906a._0x4107d2)](this['scanPlaneMode'],_0xc91957[_0x260d10(0x4cc,0x8cf)]),this['scanPlaneRate']=Cesium__namespace['defaultValue'](this['scanPlaneRate'],_0xc91957[_0x2ca0ba(0x99a,0x900)]);};var RectangularSensorVS='in\x20vec4\x20position;\x0ain\x20vec3\x20normal;\x0aout\x20vec3\x20v_position;\x0aout\x20vec3\x20v_positionWC;\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec3\x20v_normalEC;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20position;\x0a\x20\x20v_position\x20=\x20vec3(position);\x0a\x20\x20v_positionWC\x20=\x20(czm_model\x20*\x20position).xyz;\x0a\x20\x20v_positionEC\x20=\x20(czm_modelView\x20*\x20position).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a}\x0a',RectangularSensorFS='uniform\x20bool\x20u_showIntersection;\x0auniform\x20bool\x20u_showThroughEllipsoid;\x0a\x0auniform\x20float\x20u_radius;\x0auniform\x20float\x20u_xHalfAngle;\x0auniform\x20float\x20u_yHalfAngle;\x0auniform\x20float\x20u_normalDirection;\x0auniform\x20float\x20u_type;\x0a\x0ain\x20vec3\x20v_position;\x0ain\x20vec3\x20v_positionWC;\x0ain\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0a\x0avec4\x20getColor(float\x20sensorRadius,\x20vec3\x20pointEC)\x20{\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x0a\x20\x20vec3\x20pointMC\x20=\x20(czm_inverseModelView\x20*\x20vec4(pointEC,\x201.0)).xyz;\x0a\x20\x20materialInput.st\x20=\x20sensor2dTextureCoordinates(sensorRadius,\x20pointMC);\x0a\x20\x20materialInput.str\x20=\x20pointMC\x20/\x20sensorRadius;\x0a\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x0a\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20materialInput.normalEC\x20=\x20u_normalDirection\x20*\x20normalEC;\x0a\x0a\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20\x20\x20//\x20czm_lightDirectionEC在cesium1.66开始加入的\x0a\x20\x20return\x20mix(czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC),\x20vec4(material.diffuse,\x20material.alpha),\x200.4);\x0a\x0a}\x0a\x0abool\x20isOnBoundary(float\x20value,\x20float\x20epsilon)\x20{\x0a\x20\x20float\x20width\x20=\x20getIntersectionWidth();\x0a\x20\x20float\x20tolerance\x20=\x20width\x20*\x20epsilon;\x0a\x0a\x20\x20float\x20delta\x20=\x20max(abs(dFdx(value)),\x20abs(dFdy(value)));\x0a\x20\x20float\x20pixels\x20=\x20width\x20*\x20delta;\x0a\x20\x20float\x20temp\x20=\x20abs(value);\x0a\x20\x20return\x20temp\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels\x20||\x20(delta\x20<\x2010.0\x20*\x20tolerance\x20&&\x20temp\x20-\x20delta\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels);\x0a}\x0a\x0avec4\x20shade(bool\x20isOnBoundary)\x20{\x0a\x20\x20if(u_showIntersection\x20&&\x20isOnBoundary)\x20{\x0a\x20\x20\x20\x20return\x20getIntersectionColor();\x0a\x20\x20}\x0a\x20\x20if(u_type\x20==\x201.0)\x20{\x0a\x20\x20\x20\x20return\x20getLineColor();\x0a\x20\x20}\x0a\x20\x20return\x20getColor(u_radius,\x20v_positionEC);\x0a}\x0a\x0afloat\x20ellipsoidSurfaceFunction(vec3\x20point)\x20{\x0a\x20\x20vec3\x20scaled\x20=\x20czm_ellipsoidInverseRadii\x20*\x20point;\x0a\x20\x20return\x20dot(scaled,\x20scaled)\x20-\x201.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20sensorVertexWC\x20=\x20czm_model[3].xyz;\x20\x20\x20\x20\x20\x20//\x20(0.0,\x200.0,\x200.0)\x20in\x20model\x20coordinates\x0a\x0a\x20\x20float\x20positionX\x20=\x20v_position.x;\x0a\x20\x20float\x20positionY\x20=\x20v_position.y;\x0a\x20\x20float\x20positionZ\x20=\x20v_position.z;\x0a\x0a\x20\x20vec3\x20zDir\x20=\x20vec3(0.0,\x200.0,\x201.0);\x0a\x20\x20vec3\x20lineX\x20=\x20vec3(positionX,\x200,\x20positionZ);\x0a\x20\x20vec3\x20lineY\x20=\x20vec3(0,\x20positionY,\x20positionZ);\x0a\x20\x20float\x20resX\x20=\x20dot(normalize(lineX),\x20zDir);\x0a\x20\x20if(resX\x20<\x20cos(u_xHalfAngle)\x20-\x200.00001)\x20{\x0a\x20\x20\x20\x20discard;\x0a\x20\x20}\x0a\x20\x20float\x20resY\x20=\x20dot(normalize(lineY),\x20zDir);\x0a\x20\x20if(resY\x20<\x20cos(u_yHalfAngle)\x20-\x200.00001)\x20{\x0a\x20\x20\x20\x20discard;\x0a\x20\x20}\x0a\x0a\x20\x20float\x20ellipsoidValue\x20=\x20ellipsoidSurfaceFunction(v_positionWC);\x0a\x20\x20if(!u_showThroughEllipsoid)\x20{\x0a\x20\x20\x20\x20if(ellipsoidValue\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(inSensorShadow(sensorVertexWC,\x20v_positionWC))\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20bool\x20isOnEllipsoid\x20=\x20isOnBoundary(ellipsoidValue,\x20czm_epsilon3);\x0a\x20\x20out_FragColor\x20=\x20shade(isOnEllipsoid);\x0a}\x0a',RectangularSensor$1='uniform\x20vec4\x20u_intersectionColor;\x0auniform\x20float\x20u_intersectionWidth;\x0auniform\x20vec4\x20u_lineColor;\x0a\x0abool\x20inSensorShadow(vec3\x20coneVertexWC,\x20vec3\x20pointWC)\x20{\x0a\x20\x20\x20\x20//\x20Diagonal\x20matrix\x20from\x20the\x20unscaled\x20ellipsoid\x20space\x20to\x20the\x20scaled\x20space.\x0a\x20\x20vec3\x20D\x20=\x20czm_ellipsoidInverseRadii;\x0a\x0a\x20\x20\x20\x20//\x20Sensor\x20vertex\x20in\x20the\x20scaled\x20ellipsoid\x20space\x0a\x20\x20vec3\x20q\x20=\x20D\x20*\x20coneVertexWC;\x0a\x20\x20float\x20qMagnitudeSquared\x20=\x20dot(q,\x20q);\x0a\x20\x20float\x20test\x20=\x20qMagnitudeSquared\x20-\x201.0;\x0a\x0a\x20\x20\x20\x20//\x20Sensor\x20vertex\x20to\x20fragment\x20vector\x20in\x20the\x20ellipsoid\x27s\x20scaled\x20space\x0a\x20\x20vec3\x20temp\x20=\x20D\x20*\x20pointWC\x20-\x20q;\x0a\x20\x20float\x20d\x20=\x20dot(temp,\x20q);\x0a\x0a\x20\x20\x20\x20//\x20Behind\x20silhouette\x20plane\x20and\x20inside\x20silhouette\x20cone\x0a\x20\x20return\x20(d\x20<\x20-test)\x20&&\x20(d\x20/\x20length(temp)\x20<\x20-sqrt(test));\x0a}\x0a\x0a\x0avec4\x20getLineColor()\x20{\x0a\x20\x20return\x20u_lineColor;\x0a}\x0a\x0avec4\x20getIntersectionColor()\x20{\x0a\x20\x20return\x20u_intersectionColor;\x0a}\x0a\x0afloat\x20getIntersectionWidth()\x20{\x0a\x20\x20return\x20u_intersectionWidth;\x0a}\x0a\x0avec2\x20sensor2dTextureCoordinates(float\x20sensorRadius,\x20vec3\x20pointMC)\x20{\x0a\x20\x20\x20\x20//\x20(s,\x20t)\x20both\x20in\x20the\x20range\x20[0,\x201]\x0a\x20\x20float\x20t\x20=\x20pointMC.z\x20/\x20sensorRadius;\x0a\x20\x20float\x20s\x20=\x201.0\x20+\x20(atan(pointMC.y,\x20pointMC.x)\x20/\x20czm_twoPi);\x0a\x20\x20s\x20=\x20s\x20-\x20floor(s);\x0a\x0a\x20\x20return\x20vec2(s,\x20t);\x0a}\x0a',RectangularSensorScanPlaneFS=_0x7afdbe(0xff1,0x15d6);const BoundingSphere$1=Cesium__namespace['BoundingSphere'],Cartesian3$4=Cesium__namespace['Cartesian3'],Color$1=Cesium__namespace[_0x54a7f1(0x1284,0xa4d)],combine$1=Cesium__namespace[_0x7afdbe(0x72a,0xd0d)],ComponentDatatype$1=Cesium__namespace[_0x7afdbe(0x1ca4,0x14c0)],defaultValue$2=Cesium__namespace['defaultValue'],defined$4=Cesium__namespace[_0x7afdbe(0xebd,0x18af)],DeveloperError$1=Cesium__namespace['DeveloperError'],Matrix4$2=Cesium__namespace['Matrix4'],PrimitiveType$1=Cesium__namespace[_0x54a7f1(0xf25,0x159d)],Buffer=Cesium__namespace['Buffer'],BufferUsage=Cesium__namespace[_0x7afdbe(0x2108,0x1721)],DrawCommand=Cesium__namespace['DrawCommand'],Pass=Cesium__namespace['Pass'],RenderState=Cesium__namespace['RenderState'],ShaderProgram=Cesium__namespace['ShaderProgram'],ShaderSource=Cesium__namespace['ShaderSource'],VertexArray=Cesium__namespace[_0x54a7f1(0xbd1,0x10d0)],BlendingState=Cesium__namespace['BlendingState'],CullFace=Cesium__namespace['CullFace'],Material=Cesium__namespace['Material'],SceneMode$1=Cesium__namespace['SceneMode'],VertexFormat$1=Cesium__namespace[_0x7afdbe(0x201,0x561)],CesiumMath$2=Cesium__namespace['Math'],Matrix3$2=Cesium__namespace[_0x54a7f1(0x1410,0xe33)],JulianDate=Cesium__namespace['JulianDate'],sin=Math[_0x54a7f1(0x474,-0x30)],cos=Math['cos'],tan=Math[_0x54a7f1(0x1473,0x9cc)],atan=Math[_0x7afdbe(0x1462,0xa09)],_0x24c1aa={};_0x24c1aa['position']=0x0,_0x24c1aa['normal']=0x1;const attributeLocations=_0x24c1aa;function RectangularSensorPrimitive(_0x413679){const _0x45b6ac={_0x54ed50:0x9cc,_0x3182db:0x222a,_0x4da125:0xde,_0x533bed:0xce3,_0x5e627b:0x4e2,_0x364139:0xa91,_0x4d1462:0x1a4d,_0x373ea5:0x265,_0x3f46ec:0x17fd,_0x3e6c2b:0x55b,_0x1d33e7:0x23d,_0x489a65:0x5f1,_0x5c2d88:0x8fa,_0x2848df:0x9fd,_0x8ae5b9:0x119e,_0x91975c:0x6d9,_0x32b33b:0x6d9,_0x5a0d0f:0x11df,_0x411dad:0xdfb,_0x1cef94:0x59,_0x54282c:0x24a9,_0x41819a:0x19c3,_0x1346bf:0xcea,_0x5d5cda:0x1208,_0x15465a:0x7e,_0x53ae2d:0x577,_0x53e14f:0x1e1c,_0x104cf5:0x1e11,_0x3a19e1:0x525,_0x4fab7a:0xe90,_0x2e1170:0xf49,_0xd804fe:0x1274,_0x181bed:0x1b29,_0xae62aa:0xbe9,_0x473b18:0x7c8,_0x30d799:0x15ac,_0x1526ff:0xb65},_0x1f5b63={_0x5c05f2:0x8ae},_0x1bb145={_0x2297a7:0x4db},_0x5e5db0={_0x5d2a11:0xd06,_0x973c36:0x1673},_0x370325={_0x51c227:0xb19},_0x4c1812={_0x2c97a1:0x12dc},_0x24d215={_0x5d1a5a:0x23a},_0x169b35={_0x1a0a7f:0x170},_0x18f97d={_0x4b6d63:0x83,_0x10d638:0x13c},_0x13cdc0={_0x1935a6:0x32f},_0x75ab8e={_0x127f9e:0x63c},_0x3fec08={_0x3df745:0x12b},_0x1d6abd=this;_0x413679=defaultValue$2(_0x413679,defaultValue$2[_0x5c0972(_0x45b6ac._0x54ed50,0x656)]),this['show']=defaultValue$2(_0x413679[_0x5c0972(0x18ac,_0x45b6ac._0x3182db)],!![]),this['slice']=defaultValue$2(_0x413679[_0x16162e(_0x45b6ac._0x4da125,0x6e0)],0x20),this['modelMatrix']=Matrix4$2['clone'](_0x413679[_0x5c0972(0x9df,0x59c)],new Matrix4$2());function _0x16162e(_0x47e666,_0x217381){return _0x54a7f1(_0x217381- -_0x3fec08._0x3df745,_0x47e666);}this['_modelMatrix']=new Matrix4$2(),this['_computedModelMatrix']=new Matrix4$2(),this['_computedScanPlaneModelMatrix']=new Matrix4$2(),this['radius']=defaultValue$2(_0x413679['radius'],Number[_0x5c0972(0x112a,_0x45b6ac._0x533bed)]),this['_radius']=undefined,this[_0x5c0972(0x8c6,0x161)]=defaultValue$2(_0x413679[_0x16162e(-0x193,_0x45b6ac._0x5e627b)],0x0),this['_xHalfAngle']=undefined,this[_0x5c0972(_0x45b6ac._0x364139,0x11d8)]=defaultValue$2(_0x413679['yHalfAngle'],0x0),this['_yHalfAngle']=undefined,this[_0x16162e(0xbb2,0x1491)]=defaultValue$2(_0x413679['lineColor'],Color$1['WHITE']),this['showSectorLines']=defaultValue$2(_0x413679[_0x5c0972(0x922,0xd80)],!![]),this['showSectorSegmentLines']=defaultValue$2(_0x413679[_0x16162e(_0x45b6ac._0x4d1462,0x151d)],!![]),this['showLateralSurfaces']=defaultValue$2(_0x413679['showLateralSurfaces'],!![]),this[_0x5c0972(0x70c,_0x45b6ac._0x373ea5)]=defined$4(_0x413679['material'])?_0x413679[_0x16162e(0x7e0,0x328)]:Material['fromType'](Material['ColorType']),this[_0x16162e(_0x45b6ac._0x3f46ec,0xf81)]=undefined,this['_translucent']=undefined,this[_0x16162e(-0x2bb,0x4ce)]=defined$4(_0x413679[_0x5c0972(0x8b2,0xf29)])?_0x413679['lateralSurfaceMaterial']:Material[_0x5c0972(0xe83,0x14fa)](Material[_0x16162e(0x9de,0xade)]),this[_0x5c0972(_0x45b6ac._0x3e6c2b,-0x432)]=undefined,this['_lateralSurfaceTranslucent']=undefined,this[_0x16162e(_0x45b6ac._0x1d33e7,0x5f1)]=defaultValue$2(_0x413679[_0x16162e(0x117,_0x45b6ac._0x489a65)],!![]),this['domeSurfaceMaterial']=defined$4(_0x413679['domeSurfaceMaterial'])?_0x413679['domeSurfaceMaterial']:Material['fromType'](Material[_0x5c0972(0xec2,0xb18)]),this['_domeSurfaceMaterial']=undefined,this['showDomeLines']=defaultValue$2(_0x413679[_0x5c0972(0xda8,0x1252)],!![]),this[_0x5c0972(0x11f3,_0x45b6ac._0x5c2d88)]=defaultValue$2(_0x413679['showIntersection'],!![]),this[_0x5c0972(_0x45b6ac._0x2848df,_0x45b6ac._0x8ae5b9)]=defaultValue$2(_0x413679['intersectionColor'],Color$1['WHITE']),this[_0x16162e(0x6fa,_0x45b6ac._0x91975c)]=defaultValue$2(_0x413679[_0x16162e(0xa4a,_0x45b6ac._0x32b33b)],0x5),this[_0x5c0972(_0x45b6ac._0x5a0d0f,0x158f)]=defaultValue$2(_0x413679[_0x16162e(0x60e,_0x45b6ac._0x411dad)],![]);function _0x5c0972(_0x3d3ff7,_0x3fbf5b){return _0x7afdbe(_0x3fbf5b,_0x3d3ff7-0x8b);}this[_0x16162e(-_0x45b6ac._0x1cef94,0x8a8)]=undefined,this[_0x5c0972(0x19dc,_0x45b6ac._0x54282c)]=defaultValue$2(_0x413679['showScanPlane'],!![]),this['scanPlaneColor']=defaultValue$2(_0x413679[_0x5c0972(_0x45b6ac._0x41819a,0x2318)],Color$1['WHITE']),this[_0x16162e(0x6b,0x906)]=defaultValue$2(_0x413679[_0x5c0972(_0x45b6ac._0x1346bf,0x4ca)],'horizontal'),this['scanPlaneRate']=defaultValue$2(_0x413679['scanPlaneRate'],0xa),this['_scanePlaneXHalfAngle']=0x0,this[_0x5c0972(_0x45b6ac._0x5d5cda,0x12f9)]=0x0,this['_time']=JulianDate['now'](),this['_boundingSphere']=new BoundingSphere$1(),this['_boundingSphereWC']=new BoundingSphere$1(),this['_sectorFrontCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this['_boundingSphereWC']}),this['_sectorBackCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this['_boundingSphereWC']}),this['_sectorVA']=undefined,this['_sectorLineCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1[_0x5c0972(0x6aa,0x82d)],'boundingVolume':this['_boundingSphereWC']}),this[_0x16162e(-_0x45b6ac._0x15465a,0x469)]=undefined,this['_sectorSegmentLineCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1[_0x16162e(-_0x45b6ac._0x53ae2d,0x2c6)],'boundingVolume':this[_0x5c0972(0x19f2,_0x45b6ac._0x53e14f)]}),this['_sectorSegmentLineVA']=undefined,this['_domeFrontCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this['_boundingSphereWC']}),this['_domeBackCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this['_boundingSphereWC']}),this['_domeVA']=undefined,this['_domeLineCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['LINES'],'boundingVolume':this['_boundingSphereWC']}),this[_0x16162e(0xc8b,0x102b)]=undefined,this['_scanPlaneFrontCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1[_0x5c0972(0x1a68,_0x45b6ac._0x104cf5)],'boundingVolume':this[_0x16162e(0x1429,0x160e)]}),this['_scanPlaneBackCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this['_boundingSphereWC']}),this['_scanRadialCommand']=undefined,this[_0x5c0972(0x9ec,0x116)]=[],this['_frontFaceRS']=undefined,this['_backFaceRS']=undefined,this['_sp']=undefined;const _0x31e581={};_0x31e581[_0x5c0972(_0x45b6ac._0x3a19e1,0xd1)]=function(){return 0x0;},_0x31e581['u_xHalfAngle']=function(){function _0x2e8181(_0x568bfb,_0x499b34){return _0x5c0972(_0x568bfb- -0x28a,_0x499b34);}return _0x1d6abd[_0x2e8181(_0x75ab8e._0x127f9e,-0x2fe)];},_0x31e581['u_yHalfAngle']=function(){const _0x34f7dd={_0x9bb451:0x16a};function _0xbc7ee6(_0x279e0f,_0x1ada35){return _0x5c0972(_0x279e0f- -_0x34f7dd._0x9bb451,_0x1ada35);}return _0x1d6abd[_0xbc7ee6(0x927,0x9f4)];},_0x31e581[_0x16162e(0xb46,_0x45b6ac._0x4fab7a)]=function(){function _0x1cb2e6(_0x21954a,_0x59ce65){return _0x16162e(_0x59ce65,_0x21954a- -_0x13cdc0._0x1935a6);}return _0x1d6abd[_0x1cb2e6(-_0x18f97d._0x4b6d63,_0x18f97d._0x10d638)];},_0x31e581['u_showThroughEllipsoid']=function(){function _0x2257ac(_0xa4fbd6,_0x3f0daf){return _0x5c0972(_0xa4fbd6- -0x281,_0x3f0daf);}return _0x1d6abd[_0x2257ac(0xf5e,0x17fd)];},_0x31e581['u_showIntersection']=function(){function _0x4ad214(_0x430e45,_0x29b628){return _0x16162e(_0x29b628,_0x430e45- -_0x169b35._0x1a0a7f);}return _0x1d6abd[_0x4ad214(0xc9f,_0x24d215._0x5d1a5a)];},_0x31e581[_0x5c0972(0x689,0x96a)]=function(){return _0x1d6abd['intersectionColor'];},_0x31e581[_0x5c0972(0xd74,0x7a1)]=function(){return _0x1d6abd['intersectionWidth'];},_0x31e581['u_normalDirection']=function(){return 0x1;},_0x31e581[_0x5c0972(_0x45b6ac._0x2e1170,0x1973)]=function(){const _0x2bcd2e={_0x5b066f:0x209};function _0xe2e365(_0x3b4c18,_0x2779e0){return _0x16162e(_0x2779e0,_0x3b4c18-_0x2bcd2e._0x5b066f);}return _0x1d6abd[_0xe2e365(0x169a,0x185f)];},this['_uniforms']=_0x31e581;const _0x529f36={};_0x529f36['u_xHalfAngle']=function(){return _0x1d6abd['_scanePlaneXHalfAngle'];},_0x529f36[_0x16162e(0x1db8,0x13d4)]=function(){return _0x1d6abd['_scanePlaneYHalfAngle'];},_0x529f36[_0x5c0972(_0x45b6ac._0xd804fe,_0x45b6ac._0x181bed)]=function(){return _0x1d6abd['radius'];},_0x529f36['u_color']=function(){const _0x37e74b={_0x54f135:0x6e7};function _0x2778fd(_0x55963c,_0x3fd3f2){return _0x5c0972(_0x55963c- -_0x37e74b._0x54f135,_0x3fd3f2);}return _0x1d6abd[_0x2778fd(_0x4c1812._0x2c97a1,0x170c)];},_0x529f36[_0x5c0972(_0x45b6ac._0xae62aa,0x5b7)]=function(){function _0x587b8b(_0x58079e,_0x1b3e6c){return _0x5c0972(_0x58079e- -0x6c6,_0x1b3e6c);}return _0x1d6abd[_0x587b8b(_0x370325._0x51c227,0x154)];},_0x529f36[_0x16162e(0x897,0x11e7)]=function(){function _0x54729a(_0x26efe9,_0x19dbd5){return _0x16162e(_0x19dbd5,_0x26efe9- -0x109);}return _0x1d6abd[_0x54729a(_0x5e5db0._0x5d2a11,_0x5e5db0._0x973c36)];},_0x529f36[_0x16162e(-_0x45b6ac._0x473b18,0x2a5)]=function(){function _0x36ac3e(_0x10fc18,_0x41f3a4){return _0x16162e(_0x41f3a4,_0x10fc18- -0x13e);}return _0x1d6abd[_0x36ac3e(_0x1bb145._0x2297a7,0xd6d)];},_0x529f36[_0x16162e(0xa8b,0x990)]=function(){function _0x2fbba2(_0x11112c,_0x42de32){return _0x16162e(_0x11112c,_0x42de32-0x1d5);}return _0x1d6abd[_0x2fbba2(0x3e4,_0x1f5b63._0x5c05f2)];},_0x529f36['u_normalDirection']=function(){return 0x1;},_0x529f36[_0x16162e(_0x45b6ac._0x30d799,_0x45b6ac._0x1526ff)]=function(){return _0x1d6abd['lineColor'];},this['_scanUniforms']=_0x529f36;}RectangularSensorPrimitive['prototype']['update']=function(_0x220ddd){const _0x47f3c0={_0x1a8252:0x16ac,_0x1fae97:0x11a7,_0x15a5cf:0x1d6,_0x130402:0x2ae,_0x2117a4:0x541,_0x2d1f6a:0x13d3,_0x1a87b2:0x1f0,_0x1e5749:0x5ee,_0x20c12d:0x16f,_0x3a3484:0x7fe,_0xe71cea:0x113d,_0x5e58c2:0x193b,_0x3b1c4f:0x236e,_0x567acf:0xdf8,_0x2909c6:0xa40,_0x11484f:0x100f,_0x4842dc:0xf1b,_0x3c9da5:0x87c,_0x1204e1:0x9b8,_0x2e57c7:0xb93,_0x45ad60:0x1166,_0xbec41:0xb89,_0x9a7342:0x51e,_0x19a41a:0x50,_0x4d0a01:0x11cd,_0x39af79:0x10b2,_0x171186:0x111f},_0x4ad288={_0x2d0cb4:0x217},_0x5b130a=_0x220ddd[_0x5de392(0x68,0x2ae)];if(!this['show']||_0x5b130a!==SceneMode$1['SCENE3D'])return;let _0x4a142a=![];function _0x5abaa1(_0x1e6729,_0x2afbe1){return _0x54a7f1(_0x1e6729-_0x4ad288._0x2d0cb4,_0x2afbe1);}let _0x2f3070=![],_0xe44d3f=![];const _0x3900f6=this['xHalfAngle'],_0x4945ef=this['yHalfAngle'];if(_0x3900f6<0x0||_0x4945ef<0x0)throw new DeveloperError$1('halfAngle\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x20zero.');if(_0x3900f6===0x0||_0x4945ef===0x0)return;(this['_xHalfAngle']!==_0x3900f6||this['_yHalfAngle']!==_0x4945ef)&&(this[_0x5de392(0x1fc,0x31a)]=_0x3900f6,this[_0x5abaa1(0x1965,0x1f48)]=_0x4945ef,_0x4a142a=!![]);const _0x5c3a77=this['radius'];if(_0x5c3a77<0x0)throw new DeveloperError$1(_0x5abaa1(_0x47f3c0._0x1a8252,0x1ba2));let _0x2abb6e=![];this[_0x5de392(_0x47f3c0._0x1fae97,0xa97)]!==_0x5c3a77&&(_0x2abb6e=!![],this['_radius']=_0x5c3a77,this['_boundingSphere']=new BoundingSphere$1(Cartesian3$4['ZERO'],this[_0x5abaa1(0x5ee,-_0x47f3c0._0x15a5cf)]));const _0x10dc6d=!Matrix4$2['equals'](this[_0x5de392(-_0x47f3c0._0x130402,_0x47f3c0._0x2117a4)],this[_0x5abaa1(0x1113,_0x47f3c0._0x2d1f6a)]);(_0x10dc6d||_0x2abb6e)&&(Matrix4$2[_0x5de392(0x135,0x60a)](this[_0x5abaa1(0x93d,_0x47f3c0._0x1a87b2)],this['_modelMatrix']),Matrix4$2[_0x5abaa1(0x1765,0x1e0b)](this['modelMatrix'],this[_0x5abaa1(_0x47f3c0._0x1e5749,_0x47f3c0._0x20c12d)],this['_computedModelMatrix']),BoundingSphere$1[_0x5abaa1(0x4a9,_0x47f3c0._0x3a3484)](this['_boundingSphere'],this[_0x5de392(0x614,0x541)],this['_boundingSphereWC']));const _0x4f5f82=this[_0x5abaa1(_0x47f3c0._0xe71cea,0x133a)];this[_0x5de392(-0x19e,0x7ee)]!==this['showThroughEllipsoid']&&(this['_showThroughEllipsoid']=_0x4f5f82,_0x2f3070=!![]);function _0x5de392(_0x127809,_0x2b5891){return _0x7afdbe(_0x127809,_0x2b5891- -0x413);}const _0x4cf8b5=this['material'];this['_material']!==_0x4cf8b5&&(this[_0x5abaa1(0x12c3,_0x47f3c0._0x5e58c2)]=_0x4cf8b5,_0x2f3070=!![],_0xe44d3f=!![]);const _0x4f0957=_0x4cf8b5['isTranslucent']();this[_0x5abaa1(0x1810,0x141d)]!==_0x4f0957&&(this['_translucent']=_0x4f0957,_0x2f3070=!![]);if(this[_0x5abaa1(0x193a,_0x47f3c0._0x3b1c4f)]){const _0x13da00=_0x220ddd['time'],_0x159697=JulianDate['secondsDifference'](_0x13da00,this[_0x5abaa1(_0x47f3c0._0x567acf,0x1748)]);_0x159697<0x0&&(this[_0x5de392(0xaf8,0x9fc)]=JulianDate[_0x5abaa1(0xa06,0xe22)](_0x13da00,this['_time']));const _0x574f6a=Math['max'](_0x159697%this[_0x5de392(-0x124,0x644)]/this[_0x5abaa1(_0x47f3c0._0x2909c6,_0x47f3c0._0x11484f)],0x0);let _0x9d8321;const _0x592bce=new Matrix3$2();if(this['scanPlaneMode']===_0x5de392(_0x47f3c0._0x4842dc,_0x47f3c0._0x3c9da5)){_0x9d8321=0x2*_0x4945ef*_0x574f6a-_0x4945ef;const _0xba224d=cos(_0x9d8321),_0x1f2643=tan(_0x3900f6),_0x21ce6a=atan(_0xba224d*_0x1f2643);this[_0x5de392(_0x47f3c0._0x1204e1,0xdba)]=_0x21ce6a,this[_0x5abaa1(0x1166,0x9d9)]=_0x9d8321,Cesium__namespace[_0x5de392(_0x47f3c0._0x2e57c7,0x122b)]['fromRotationX'](this['_scanePlaneYHalfAngle'],_0x592bce);}else{_0x9d8321=0x2*_0x3900f6*_0x574f6a-_0x3900f6;const _0x51c04e=tan(_0x4945ef),_0xa71cbc=cos(_0x9d8321),_0x1c31f6=atan(_0xa71cbc*_0x51c04e);this['_scanePlaneXHalfAngle']=_0x9d8321,this[_0x5abaa1(_0x47f3c0._0x45ad60,0x886)]=_0x1c31f6,Cesium__namespace['Matrix3']['fromRotationY'](this['_scanePlaneXHalfAngle'],_0x592bce);}Cesium__namespace[_0x5de392(0x2c0,0x1f3)][_0x5de392(_0x47f3c0._0xbec41,_0x47f3c0._0x9a7342)](this['modelMatrix'],_0x592bce,this[_0x5de392(_0x47f3c0._0x19a41a,0x61e)]),Matrix4$2['multiplyByUniformScale'](this['_computedScanPlaneModelMatrix'],this[_0x5de392(-0x211,0x1f2)],this[_0x5abaa1(0xa1a,_0x47f3c0._0x4d0a01)]);}_0x4a142a&&createVertexArray(this,_0x220ddd);_0x2f3070&&createRenderState(this,_0x4f5f82,_0x4f0957);_0xe44d3f&&createShaderProgram(this,_0x220ddd,_0x4cf8b5);(_0x2f3070||_0xe44d3f)&&createCommands(this,_0x4f0957);const _0x7bf0c5=_0x220ddd[_0x5de392(_0x47f3c0._0x39af79,0xb3d)],_0x32ebe1=_0x220ddd['passes'],_0x4beb04=this['_colorCommands'];if(_0x32ebe1['render'])for(let _0x2297da=0x0,_0x29a33d=_0x4beb04['length'];_0x2297da<_0x29a33d;_0x2297da++){const _0x54e20c=_0x4beb04[_0x2297da];_0x7bf0c5[_0x5abaa1(_0x47f3c0._0x171186,0xcc2)](_0x54e20c);}},RectangularSensorPrimitive[_0x54a7f1(0x610,0x383)]['isDestroyed']=function(){return![];};const nScratch=new Cartesian3$4();function computeUnitPosiiton(_0x33c2e0,_0x4b5f21,_0x373b16){const _0x222af1={_0x48ff66:0x7c2,_0x3b8aaf:0x168},_0x1c6b4c={_0x5ec8ca:0x38c},_0x1a4b60=_0x33c2e0['slice'],_0x323aa0=cos(_0x373b16);function _0x1c680c(_0x34f1c5,_0x3f9f3f){return _0x7afdbe(_0x3f9f3f,_0x34f1c5- -_0x1c6b4c._0x5ec8ca);}const _0x3ea361=tan(_0x373b16),_0x352cd4=cos(_0x4b5f21),_0x48bfcd=tan(_0x4b5f21),_0x1ddd1f=atan(_0x352cd4*_0x3ea361),_0xf62671=atan(_0x323aa0*_0x48bfcd),_0x5a49c7=[];for(let _0x3c15c0=0x0;_0x3c15c0<_0x1a4b60;_0x3c15c0++){const _0x79a913=0x2*_0x1ddd1f*_0x3c15c0/(_0x1a4b60-0x1)-_0x1ddd1f;_0x5a49c7[_0x1c680c(0xdaa,0x7a1)](new Cartesian3$4(0x0,sin(_0x79a913),cos(_0x79a913)));}function _0x3232e7(_0x242d6d,_0x3398c8){return _0x7afdbe(_0x3398c8,_0x242d6d- -0x622);}const _0x3dd1a6=[];for(let _0x58c676=0x0;_0x58c676<_0x1a4b60;_0x58c676++){const _0x39216f=0x2*_0xf62671*_0x58c676/(_0x1a4b60-0x1)-_0xf62671;_0x3dd1a6['push'](new Cartesian3$4(sin(_0x39216f),0x0,cos(_0x39216f)));}const _0x36f2b1={};return _0x36f2b1[_0x3232e7(_0x222af1._0x48ff66,-_0x222af1._0x3b8aaf)]=_0x5a49c7,_0x36f2b1[_0x1c680c(0x827,0x3a1)]=_0x3dd1a6,_0x36f2b1;}function computeSectorPositions(_0x12ec0c,_0x5c2ac5){const _0x265a60={_0x4195eb:0x3b7,_0x35c8f2:0x1253,_0x3482f6:0x152f},_0x3c56e6={_0x1c0d4a:0x335,_0x2ce8ec:0x9e},_0x3cec0a={_0x5b3eb8:0x416},_0x5dd2b0={_0x28b4a4:0x421},_0x560bfd=_0x12ec0c[_0x2d170a(-0x713,0x1ec)],_0x439d2e=_0x12ec0c[_0x2d170a(0xc5d,_0x265a60._0x4195eb)],_0x4a62d9=_0x5c2ac5['zoy'];function _0x2d170a(_0x1e7780,_0x40c661){return _0x54a7f1(_0x40c661- -_0x5dd2b0._0x28b4a4,_0x1e7780);}function _0x461796(_0x13a30e,_0x28ae21){return _0x54a7f1(_0x28ae21- -_0x3cec0a._0x5b3eb8,_0x13a30e);}const _0x38eeb3=_0x5c2ac5['zox'],_0x263e15=[],_0x2f1049=new Matrix3$2();let _0x47617e=Matrix3$2[_0x461796(_0x265a60._0x35c8f2,0x1184)](_0x560bfd,_0x2f1049);return _0x263e15[_0x461796(0x10c8,0xaf2)](_0x4a62d9['map'](function(_0x542f65){return Matrix3$2['multiplyByVector'](_0x47617e,_0x542f65,new Cesium__namespace['Cartesian3']());})),_0x47617e=Matrix3$2['fromRotationX'](-_0x439d2e,_0x2f1049),_0x263e15['push'](_0x38eeb3['map'](function(_0x5aa308){return Matrix3$2['multiplyByVector'](_0x47617e,_0x5aa308,new Cesium__namespace['Cartesian3']());})['reverse']()),_0x47617e=Matrix3$2[_0x461796(_0x265a60._0x3482f6,0x1184)](-_0x560bfd,_0x2f1049),_0x263e15['push'](_0x4a62d9['map'](function(_0x55deb4){return Matrix3$2['multiplyByVector'](_0x47617e,_0x55deb4,new Cesium__namespace['Cartesian3']());})['reverse']()),_0x47617e=Matrix3$2[_0x2d170a(0x16b4,0xe7a)](_0x439d2e,_0x2f1049),_0x263e15['push'](_0x38eeb3['map'](function(_0x12115e){function _0x132a1a(_0x400222,_0x31db6b){return _0x2d170a(_0x400222,_0x31db6b-0x17);}return Matrix3$2[_0x132a1a(-_0x3c56e6._0x1c0d4a,-_0x3c56e6._0x2ce8ec)](_0x47617e,_0x12115e,new Cesium__namespace['Cartesian3']());})),_0x263e15;}function createSectorVertexArray(_0x330995,_0x2f3c30){const _0x46a17b={_0x248391:0x12c3,_0x5773d6:0x160e,_0x2f0587:0xc4,_0x8c0e71:0xaf3,_0x37ddd1:0xe1c,_0x30faba:0x1397,_0x434e7f:0x125},_0xc4680d={_0x462da5:0x158},_0x4fd0db={_0x35e3de:0x36f},_0x563631=Array['prototype']['concat']['apply']([],_0x2f3c30)[_0x47a2e6(0x132e,0xc16)]-_0x2f3c30['length'],_0x1f0053=new Float32Array(0x2*0x3*0x3*_0x563631);let _0x4ea666=0x0;for(let _0x4275c3=0x0,_0xda75ea=_0x2f3c30['length'];_0x4275c3<_0xda75ea;_0x4275c3++){const _0x25513d=_0x2f3c30[_0x4275c3],_0x59b54c=Cartesian3$4['normalize'](Cartesian3$4[_0x2ff9f0(_0x46a17b._0x248391,_0x46a17b._0x5773d6)](_0x25513d[0x0],_0x25513d[_0x25513d['length']-0x1],nScratch),nScratch);for(let _0x1a1e4f=0x0,_0x512d88=_0x25513d['length']-0x1;_0x1a1e4f<_0x512d88;_0x1a1e4f++){_0x1f0053[_0x4ea666++]=0x0,_0x1f0053[_0x4ea666++]=0x0,_0x1f0053[_0x4ea666++]=0x0,_0x1f0053[_0x4ea666++]=-_0x59b54c['x'],_0x1f0053[_0x4ea666++]=-_0x59b54c['y'],_0x1f0053[_0x4ea666++]=-_0x59b54c['z'],_0x1f0053[_0x4ea666++]=_0x25513d[_0x1a1e4f]['x'],_0x1f0053[_0x4ea666++]=_0x25513d[_0x1a1e4f]['y'],_0x1f0053[_0x4ea666++]=_0x25513d[_0x1a1e4f]['z'],_0x1f0053[_0x4ea666++]=-_0x59b54c['x'],_0x1f0053[_0x4ea666++]=-_0x59b54c['y'],_0x1f0053[_0x4ea666++]=-_0x59b54c['z'],_0x1f0053[_0x4ea666++]=_0x25513d[_0x1a1e4f+0x1]['x'],_0x1f0053[_0x4ea666++]=_0x25513d[_0x1a1e4f+0x1]['y'],_0x1f0053[_0x4ea666++]=_0x25513d[_0x1a1e4f+0x1]['z'],_0x1f0053[_0x4ea666++]=-_0x59b54c['x'],_0x1f0053[_0x4ea666++]=-_0x59b54c['y'],_0x1f0053[_0x4ea666++]=-_0x59b54c['z'];}}const _0x303046={};_0x303046['context']=_0x330995,_0x303046['typedArray']=_0x1f0053,_0x303046['usage']=BufferUsage['STATIC_DRAW'];const _0x34a580=Buffer['createVertexBuffer'](_0x303046),_0x57a8bf=0x2*0x3*Float32Array[_0x2ff9f0(0xa2d,0xec1)],_0x209e1={};_0x209e1['index']=attributeLocations['position'],_0x209e1[_0x47a2e6(0x326,0x108)]=_0x34a580,_0x209e1[_0x2ff9f0(0x1389,0x15ae)]=0x3,_0x209e1['componentDatatype']=ComponentDatatype$1[_0x2ff9f0(_0x46a17b._0x2f0587,0xa52)],_0x209e1['offsetInBytes']=0x0,_0x209e1[_0x47a2e6(0xc93,0xf29)]=_0x57a8bf;const _0x162968={};_0x162968[_0x2ff9f0(0x385,_0x46a17b._0x8c0e71)]=attributeLocations['normal'];function _0x47a2e6(_0x342f8f,_0xd62073){return _0x54a7f1(_0xd62073- -_0x4fd0db._0x35e3de,_0x342f8f);}_0x162968['vertexBuffer']=_0x34a580,_0x162968[_0x47a2e6(_0x46a17b._0x37ddd1,_0x46a17b._0x30faba)]=0x3,_0x162968['componentDatatype']=ComponentDatatype$1['FLOAT'],_0x162968['offsetInBytes']=0x3*Float32Array[_0x47a2e6(0x3e9,0xcaa)],_0x162968['strideInBytes']=_0x57a8bf;const _0xcaa470=[_0x209e1,_0x162968],_0x231477={};function _0x2ff9f0(_0x3d174e,_0x3c8d27){return _0x54a7f1(_0x3c8d27- -_0xc4680d._0x462da5,_0x3d174e);}return _0x231477['context']=_0x330995,_0x231477[_0x47a2e6(0x171,-_0x46a17b._0x434e7f)]=_0xcaa470,new VertexArray(_0x231477);}function createSectorLineVertexArray(_0x498061,_0xfdccfe){const _0x2481ac={_0x5780a6:0xda4},_0x40c101={_0x11a1c9:0x91},_0x457031=_0xfdccfe['length'];function _0x160a0b(_0x2956ef,_0x2427fe){return _0x7afdbe(_0x2427fe,_0x2956ef- -0x34);}const _0x320ea6=new Float32Array(0x3*0x3*_0x457031);let _0x14111e=0x0;for(let _0x1729e4=0x0,_0x5b8273=_0xfdccfe['length'];_0x1729e4<_0x5b8273;_0x1729e4++){const _0x1318c0=_0xfdccfe[_0x1729e4];_0x320ea6[_0x14111e++]=0x0,_0x320ea6[_0x14111e++]=0x0,_0x320ea6[_0x14111e++]=0x0,_0x320ea6[_0x14111e++]=_0x1318c0[0x0]['x'],_0x320ea6[_0x14111e++]=_0x1318c0[0x0]['y'],_0x320ea6[_0x14111e++]=_0x1318c0[0x0]['z'];}const _0x20a655={};_0x20a655['context']=_0x498061,_0x20a655['typedArray']=_0x320ea6,_0x20a655[_0x1322e9(0xb3,0xb36)]=BufferUsage[_0x1322e9(0x18dd,0x1242)];const _0x1ecbdd=Buffer['createVertexBuffer'](_0x20a655),_0xe0f0c9=0x3*Float32Array['BYTES_PER_ELEMENT'],_0x3f248b={};_0x3f248b['index']=attributeLocations['position'],_0x3f248b['vertexBuffer']=_0x1ecbdd,_0x3f248b['componentsPerAttribute']=0x3,_0x3f248b[_0x1322e9(0x1537,0x1867)]=ComponentDatatype$1[_0x160a0b(_0x2481ac._0x5780a6,0x1637)],_0x3f248b['offsetInBytes']=0x0,_0x3f248b[_0x160a0b(0x1492,0x178a)]=_0xe0f0c9;const _0x4796a3=[_0x3f248b],_0x3a07a4={};_0x3a07a4['context']=_0x498061,_0x3a07a4['attributes']=_0x4796a3;function _0x1322e9(_0x5a6ff4,_0x149a6f){return _0x7afdbe(_0x5a6ff4,_0x149a6f- -_0x40c101._0x11a1c9);}return new VertexArray(_0x3a07a4);}function createSectorSegmentLineVertexArray(_0x5b8574,_0x5d3f0b){const _0xbd0159={_0x582ae9:0x1009,_0x4b78db:0x7d4,_0x18cc4c:0x14c8,_0x2e52ff:0xdec,_0x580f64:0x10f9,_0x420fd9:0x51d},_0x373d9b={_0x1ed474:0x1ae},_0x405797={_0x454dee:0x150},_0x361a18=Array['prototype']['concat']['apply']([],_0x5d3f0b)['length']-_0x5d3f0b['length'],_0x57ac61=new Float32Array(0x3*0x3*_0x361a18);let _0x1cdd71=0x0;for(let _0x124d34=0x0,_0x32520e=_0x5d3f0b[_0x523016(0xe35,_0xbd0159._0x582ae9)];_0x124d34<_0x32520e;_0x124d34++){const _0x4f419f=_0x5d3f0b[_0x124d34];for(let _0x5c12ea=0x0,_0x396d38=_0x4f419f['length']-0x1;_0x5c12ea<_0x396d38;_0x5c12ea++){_0x57ac61[_0x1cdd71++]=_0x4f419f[_0x5c12ea]['x'],_0x57ac61[_0x1cdd71++]=_0x4f419f[_0x5c12ea]['y'],_0x57ac61[_0x1cdd71++]=_0x4f419f[_0x5c12ea]['z'],_0x57ac61[_0x1cdd71++]=_0x4f419f[_0x5c12ea+0x1]['x'],_0x57ac61[_0x1cdd71++]=_0x4f419f[_0x5c12ea+0x1]['y'],_0x57ac61[_0x1cdd71++]=_0x4f419f[_0x5c12ea+0x1]['z'];}}const _0x27e2b5={};function _0x523016(_0x37d4d5,_0x387a98){return _0x54a7f1(_0x37d4d5- -_0x405797._0x454dee,_0x387a98);}_0x27e2b5['context']=_0x5b8574;function _0x5d657f(_0x2b1b7e,_0x136e10){return _0x54a7f1(_0x136e10- -_0x373d9b._0x1ed474,_0x2b1b7e);}_0x27e2b5['typedArray']=_0x57ac61,_0x27e2b5[_0x523016(0x849,0xb9a)]=BufferUsage['STATIC_DRAW'];const _0x4a11b0=Buffer[_0x5d657f(0x21e,_0xbd0159._0x4b78db)](_0x27e2b5),_0x2f5087=0x3*Float32Array['BYTES_PER_ELEMENT'],_0x4eecd7={};_0x4eecd7['index']=attributeLocations[_0x523016(0x1591,0x1ecf)],_0x4eecd7['vertexBuffer']=_0x4a11b0,_0x4eecd7['componentsPerAttribute']=0x3,_0x4eecd7[_0x523016(0x157a,_0xbd0159._0x18cc4c)]=ComponentDatatype$1[_0x523016(0xa5a,_0xbd0159._0x2e52ff)],_0x4eecd7[_0x5d657f(0x826,0xf77)]=0x0,_0x4eecd7[_0x5d657f(_0xbd0159._0x580f64,0x10ea)]=_0x2f5087;const _0x5db02f=[_0x4eecd7],_0x2c35a1={};return _0x2c35a1[_0x523016(0x938,_0xbd0159._0x420fd9)]=_0x5b8574,_0x2c35a1['attributes']=_0x5db02f,new VertexArray(_0x2c35a1);}function createDomeVertexArray(_0x4dfb65){const _0x16d851={_0x1c749a:0x14b2,_0x3bccba:0x1130,_0x6bc376:0x15e3,_0x2eaa6b:0x2037,_0x5b07f1:0x1130},_0x2348c1={_0xb56e68:0x47f};function _0x5be986(_0x5aa59e,_0x25ba95){return _0x54a7f1(_0x5aa59e- -_0x2348c1._0xb56e68,_0x25ba95);}const _0x2e4641={};_0x2e4641['vertexFormat']=VertexFormat$1['POSITION_ONLY'],_0x2e4641[_0x5be986(0x1028,_0x16d851._0x1c749a)]=0x20,_0x2e4641['slicePartitions']=0x20;const _0x43ac3b=Cesium__namespace[_0xee864e(0x15e3,_0x16d851._0x3bccba)]['createGeometry'](new Cesium__namespace[(_0xee864e(_0x16d851._0x6bc376,_0x16d851._0x2eaa6b))](_0x2e4641)),_0x46a190={};_0x46a190['context']=_0x4dfb65,_0x46a190[_0x5be986(_0x16d851._0x5b07f1,0x10b3)]=_0x43ac3b,_0x46a190['attributeLocations']=attributeLocations,_0x46a190[_0xee864e(0xa18,0xeb7)]=BufferUsage['STATIC_DRAW'],_0x46a190['interleave']=![];const _0x1cd81e=VertexArray['fromGeometry'](_0x46a190);function _0xee864e(_0x5f15d3,_0x4fa80b){return _0x54a7f1(_0x5f15d3-0x10e,_0x4fa80b);}return _0x1cd81e;}function createDomeLineVertexArray(_0x6d7900){const _0x4b3798={_0x1b40a1:0x1441,_0x486a97:0xa2c,_0x2095f3:0x10d5,_0x1e04ca:0x80b,_0x503b60:0xbab},_0x416f94={};_0x416f94['vertexFormat']=VertexFormat$1['POSITION_ONLY'],_0x416f94['stackPartitions']=0x20,_0x416f94['slicePartitions']=0x20;const _0x405109=Cesium__namespace['EllipsoidOutlineGeometry'][_0xc3c54a(0x562,0x29b)](new Cesium__namespace['EllipsoidOutlineGeometry'](_0x416f94)),_0x2df25c={};_0x2df25c[_0xc3c54a(_0x4b3798._0x1b40a1,_0x4b3798._0x486a97)]=_0x6d7900;function _0xc3c54a(_0x36c5a6,_0x13e549){return _0x7afdbe(_0x36c5a6,_0x13e549- -0x28a);}_0x2df25c['geometry']=_0x405109,_0x2df25c['attributeLocations']=attributeLocations,_0x2df25c['bufferUsage']=BufferUsage['STATIC_DRAW'];function _0x56a494(_0x406a4a,_0x3fd861){return _0x7afdbe(_0x406a4a,_0x3fd861- -0x4fe);}_0x2df25c[_0x56a494(_0x4b3798._0x2095f3,_0x4b3798._0x1e04ca)]=![];const _0x4842ca=VertexArray[_0x56a494(_0x4b3798._0x503b60,0xc7e)](_0x2df25c);return _0x4842ca;}function createScanPlaneVertexArray(_0x392050,_0x342b62){const _0x35c114={_0x2cc52d:0xee5,_0x196ee7:0x18e5,_0x41feec:0x553,_0xbb9048:0xd01,_0x28adba:0x2f8},_0x9a91ec=_0x342b62[_0x1b49c7(_0x35c114._0x2cc52d,0x1033)]-0x1,_0x54d5db=new Float32Array(0x3*0x3*_0x9a91ec);function _0x25f354(_0x23c89f,_0x5d4c85){return _0x7afdbe(_0x5d4c85,_0x23c89f- -0x293);}function _0x1b49c7(_0x488fa1,_0x5701ce){return _0x54a7f1(_0x5701ce-0xae,_0x488fa1);}let _0x45fc57=0x0;for(let _0x31d796=0x0;_0x31d796<_0x9a91ec;_0x31d796++){_0x54d5db[_0x45fc57++]=0x0,_0x54d5db[_0x45fc57++]=0x0,_0x54d5db[_0x45fc57++]=0x0,_0x54d5db[_0x45fc57++]=_0x342b62[_0x31d796]['x'],_0x54d5db[_0x45fc57++]=_0x342b62[_0x31d796]['y'],_0x54d5db[_0x45fc57++]=_0x342b62[_0x31d796]['z'],_0x54d5db[_0x45fc57++]=_0x342b62[_0x31d796+0x1]['x'],_0x54d5db[_0x45fc57++]=_0x342b62[_0x31d796+0x1]['y'],_0x54d5db[_0x45fc57++]=_0x342b62[_0x31d796+0x1]['z'];}const _0x1cff27={};_0x1cff27['context']=_0x392050,_0x1cff27['typedArray']=_0x54d5db,_0x1cff27['usage']=BufferUsage['STATIC_DRAW'];const _0x4d4b13=Buffer['createVertexBuffer'](_0x1cff27),_0x4a00ea=0x3*Float32Array[_0x1b49c7(_0x35c114._0x196ee7,0x10c7)],_0xf0dc45={};_0xf0dc45[_0x1b49c7(_0x35c114._0x41feec,0xcf9)]=attributeLocations['position'],_0xf0dc45['vertexBuffer']=_0x4d4b13,_0xf0dc45[_0x25f354(0x16a1,0x1f8c)]=0x3,_0xf0dc45[_0x25f354(0x1665,0x11b0)]=ComponentDatatype$1['FLOAT'],_0xf0dc45['offsetInBytes']=0x0,_0xf0dc45['strideInBytes']=_0x4a00ea;const _0x198a34=[_0xf0dc45],_0x72992e={};return _0x72992e['context']=_0x392050,_0x72992e[_0x1b49c7(_0x35c114._0xbb9048,_0x35c114._0x28adba)]=_0x198a34,new VertexArray(_0x72992e);}function createVertexArray(_0x41059e,_0x2d8085){const _0x12eaf6={_0x895e84:0xa65,_0xf7042b:0x8c6,_0x1050e3:0x319,_0x4d6d1d:0x74c,_0x4c926a:0x62e,_0x55ac76:0xf42,_0x59de10:0xb33,_0x4dd73a:0x8a5},_0x224c5a={_0x48bfce:0x631},_0x4183ba=_0x2d8085[_0x57f887(_0x12eaf6._0x895e84,0x114e)],_0xe0b4ea=computeUnitPosiiton(_0x41059e,_0x41059e['xHalfAngle'],_0x41059e[_0x3d2675(0x3d5,-0x378)]);function _0x3d2675(_0x1096ab,_0x37d24a){return _0x7afdbe(_0x37d24a,_0x1096ab- -_0x224c5a._0x48bfce);}const _0x746e40=computeSectorPositions(_0x41059e,_0xe0b4ea);_0x41059e['showLateralSurfaces']&&(_0x41059e[_0x3d2675(_0x12eaf6._0xf7042b,0xa1f)]=createSectorVertexArray(_0x4183ba,_0x746e40));_0x41059e[_0x57f887(0x646,0xb61)]&&(_0x41059e[_0x3d2675(0x191,0x7f3)]=createSectorLineVertexArray(_0x4183ba,_0x746e40));function _0x57f887(_0x1bc3e9,_0x51f1af){return _0x54a7f1(_0x1bc3e9- -0x23,_0x51f1af);}_0x41059e['showSectorSegmentLines']&&(_0x41059e['_sectorSegmentLineVA']=createSectorSegmentLineVertexArray(_0x4183ba,_0x746e40));_0x41059e[_0x3d2675(_0x12eaf6._0x1050e3,-_0x12eaf6._0x4d6d1d)]&&(_0x41059e['_domeVA']=createDomeVertexArray(_0x4183ba));_0x41059e['showDomeLines']&&(_0x41059e['_domeLineVA']=createDomeLineVertexArray(_0x4183ba));if(_0x41059e['showScanPlane']){if(_0x41059e[_0x3d2675(_0x12eaf6._0x4c926a,_0x12eaf6._0x55ac76)]==='horizontal'){const _0x55d53d=computeUnitPosiiton(_0x41059e,CesiumMath$2[_0x3d2675(0x1c9,_0x12eaf6._0x59de10)],0x0);_0x41059e[_0x3d2675(_0x12eaf6._0x4dd73a,0x9c0)]=createScanPlaneVertexArray(_0x4183ba,_0x55d53d['zox']);}else{const _0x3b9421=computeUnitPosiiton(_0x41059e,0x0,CesiumMath$2['PI_OVER_TWO']);_0x41059e['_scanPlaneVA']=createScanPlaneVertexArray(_0x4183ba,_0x3b9421[_0x57f887(0xb93,0x1089)]);}}}function createCommonShaderProgram(_0x4e0fbf,_0x2e2a0d,_0xfe2080){const _0x5b7254={_0x184a67:0x6f6,_0x5ab20f:0x1175,_0x1d35a4:0xd5c,_0x4e789e:0x1b1,_0x4967f2:0x66,_0x1ed0ee:0xa74,_0x308496:0x17a},_0x3ab3e3={_0x54a669:0x1db},_0x375740={_0x5db979:0x398},_0x27a7ae=_0x2e2a0d[_0x566bd6(0x4f0,0x8ad)],_0x411107=RectangularSensorVS,_0xab3961={};_0xab3961['sources']=[RectangularSensor$1,_0xfe2080['shaderSource'],RectangularSensorFS];function _0x5daafb(_0x474759,_0x404ca9){return _0x7afdbe(_0x404ca9,_0x474759- -_0x375740._0x5db979);}const _0x231fdd=new ShaderSource(_0xab3961);function _0x566bd6(_0x3ae717,_0x508933){return _0x54a7f1(_0x508933- -_0x3ab3e3._0x54a669,_0x3ae717);}_0x4e0fbf[_0x566bd6(_0x5b7254._0x184a67,0xfcc)]=ShaderProgram[_0x5daafb(_0x5b7254._0x5ab20f,_0x5b7254._0x1d35a4)]({'context':_0x27a7ae,'shaderProgram':_0x4e0fbf[_0x566bd6(0xb1d,0xfcc)],'vertexShaderSource':_0x411107,'fragmentShaderSource':_0x231fdd,'attributeLocations':attributeLocations});const _0xfdd800={};_0xfdd800[_0x5daafb(0x2f3,-_0x5b7254._0x4e789e)]=[RectangularSensor$1,_0xfe2080['shaderSource'],RectangularSensorFS],_0xfdd800['pickColorQualifier']=_0x566bd6(_0x5b7254._0x4967f2,0x35b);const _0xf13f14=new ShaderSource(_0xfdd800);_0x4e0fbf['_pickSP']=ShaderProgram[_0x5daafb(0x1175,_0x5b7254._0x1ed0ee)]({'context':_0x27a7ae,'shaderProgram':_0x4e0fbf[_0x566bd6(-_0x5b7254._0x308496,0x96)],'vertexShaderSource':_0x411107,'fragmentShaderSource':_0xf13f14,'attributeLocations':attributeLocations});}function createScanPlaneShaderProgram(_0x376165,_0x539ed5,_0x524784){const _0x2be20f={_0x539964:0x731,_0x25a214:0xfe,_0x1aef81:0x1164,_0x1a0a34:0x1094},_0x3473d5={_0x14b8c9:0x585},_0x3463bc=_0x539ed5[_0x5d0559(_0x2be20f._0x539964,-_0x2be20f._0x25a214)];function _0x56c8b6(_0x92ae5b,_0x46ff81){return _0x7afdbe(_0x46ff81,_0x92ae5b- -0x5ee);}function _0x5d0559(_0x571b4f,_0x36c638){return _0x7afdbe(_0x36c638,_0x571b4f- -_0x3473d5._0x14b8c9);}const _0x327fb4=RectangularSensorVS,_0x260c8b={};_0x260c8b['sources']=[RectangularSensor$1,_0x524784[_0x56c8b6(0xdea,0xc27)],RectangularSensorScanPlaneFS];const _0xb068a9=new ShaderSource(_0x260c8b);_0x376165['_scanePlaneSP']=ShaderProgram[_0x5d0559(0xf88,0x136b)]({'context':_0x3463bc,'shaderProgram':_0x376165[_0x5d0559(_0x2be20f._0x1aef81,_0x2be20f._0x1a0a34)],'vertexShaderSource':_0x327fb4,'fragmentShaderSource':_0xb068a9,'attributeLocations':attributeLocations});}function createShaderProgram(_0x9c7734,_0x3d3f97,_0x1d1887){createCommonShaderProgram(_0x9c7734,_0x3d3f97,_0x1d1887),_0x9c7734['showScanPlane']&&createScanPlaneShaderProgram(_0x9c7734,_0x3d3f97,_0x1d1887);}function createRenderState(_0x13c822,_0x261fe4,_0x1fcab2){const _0x417893={_0x33333a:0xf2e,_0x480203:0x1764,_0xff4460:0x1646,_0x1370b0:0x263,_0x3b1d29:0x1266,_0x3b6072:0x9b6,_0x102d37:0x678},_0x58de0={_0x240afa:0x1e2},_0x1674e3={_0x2924db:0x442};function _0x1d476d(_0x21fbda,_0x2e40cc){return _0x54a7f1(_0x2e40cc- -_0x1674e3._0x2924db,_0x21fbda);}function _0x30940c(_0x348d7b,_0x4e3ddf){return _0x54a7f1(_0x348d7b-_0x58de0._0x240afa,_0x4e3ddf);}if(_0x1fcab2){const _0x2be664={};_0x2be664['enabled']=!_0x261fe4;const _0x561d35={};_0x561d35[_0x1d476d(_0x417893._0x33333a,0x761)]=!![],_0x561d35[_0x30940c(_0x417893._0x480203,0x133d)]=CullFace['BACK'];const _0x1160f5={};_0x1160f5['depthTest']=_0x2be664,_0x1160f5['depthMask']=![],_0x1160f5['blending']=BlendingState['ALPHA_BLEND'],_0x1160f5['cull']=_0x561d35,_0x13c822['_frontFaceRS']=RenderState['fromCache'](_0x1160f5);const _0x27f9f6={};_0x27f9f6['enabled']=!_0x261fe4;const _0x3f2847={};_0x3f2847['enabled']=!![],_0x3f2847['face']=CullFace['FRONT'];const _0x10f364={};_0x10f364['depthTest']=_0x27f9f6,_0x10f364['depthMask']=![],_0x10f364['blending']=BlendingState[_0x30940c(0xf8c,0xeaa)],_0x10f364['cull']=_0x3f2847,_0x13c822[_0x30940c(_0x417893._0xff4460,0x1467)]=RenderState['fromCache'](_0x10f364);const _0x12ae80={};_0x12ae80['enabled']=!_0x261fe4;const _0x20939c={};_0x20939c[_0x30940c(0x1266,0x1cab)]=_0x12ae80,_0x20939c[_0x30940c(0x897,_0x417893._0x1370b0)]=![],_0x20939c['blending']=BlendingState['ALPHA_BLEND'],_0x13c822[_0x30940c(0x17fa,0xe87)]=RenderState['fromCache'](_0x20939c);}else{const _0x2f9829={};_0x2f9829[_0x1d476d(0x66b,0x761)]=!_0x261fe4;const _0x5fc910={};_0x5fc910[_0x30940c(_0x417893._0x3b1d29,0x1045)]=_0x2f9829,_0x5fc910['depthMask']=!![],_0x13c822[_0x30940c(0x1058,_0x417893._0x3b6072)]=RenderState['fromCache'](_0x5fc910);const _0xb93025={};_0xb93025['enabled']=!![];const _0x11076a={};_0x11076a['depthTest']=_0xb93025,_0x11076a['depthMask']=!![],_0x13c822['_pickRS']=RenderState[_0x30940c(_0x417893._0x102d37,0x3d4)](_0x11076a);}}function createCommand(_0x295c59,_0x2799b5,_0x4fe2ab,_0x39d310,_0x39368b,_0x5ab561,_0x526284,_0x2f97b7,_0x4ef992,_0x24c8fa,_0x88e48b,_0x3f5985){const _0x597d42={_0x2f6737:0x79b,_0x189c6b:0xbc6,_0x5cd9e0:0x775,_0x2d7696:0x782,_0x2626df:0x107e},_0x5138e5={_0x4a1a4c:0x520};_0x24c8fa&&_0x4fe2ab&&(_0x4fe2ab['vertexArray']=_0x526284,_0x4fe2ab[_0x1b531e(0xda0,0x64d)]=_0x39368b,_0x4fe2ab['shaderProgram']=_0x5ab561,_0x4fe2ab['uniformMap']=combine$1(_0x2f97b7,_0x295c59['_material'][_0x1b531e(0x10cd,_0x597d42._0x2f6737)]),_0x4fe2ab['uniformMap'][_0x57ed4e(0x336,_0x597d42._0x189c6b)]=function(){return-0x1;},_0x4fe2ab['pass']=_0x88e48b,_0x4fe2ab[_0x57ed4e(_0x597d42._0x5cd9e0,0xe7a)]=_0x4ef992,_0x295c59[_0x57ed4e(_0x597d42._0x2d7696,_0x597d42._0x2626df)]['push'](_0x4fe2ab));function _0x1b531e(_0x32f023,_0x26584b){return _0x7afdbe(_0x26584b,_0x32f023- -_0x5138e5._0x4a1a4c);}_0x2799b5['vertexArray']=_0x526284,_0x2799b5['renderState']=_0x39d310,_0x2799b5['shaderProgram']=_0x5ab561,_0x2799b5['uniformMap']=combine$1(_0x2f97b7,_0x295c59['_material'][_0x1b531e(0x10cd,0x67e)]);function _0x57ed4e(_0x324920,_0x15f773){return _0x54a7f1(_0x324920-0x4f,_0x15f773);}_0x3f5985&&(_0x2799b5['uniformMap'][_0x1b531e(-0x86,0x73d)]=function(){return 0x1;}),_0x2799b5['pass']=_0x88e48b,_0x2799b5[_0x1b531e(0x434,0x28b)]=_0x4ef992,_0x295c59[_0x57ed4e(0x782,0xf89)]['push'](_0x2799b5);}function createCommands(_0x483bb2,_0x56f030){const _0x43bf5d={_0x5ca69:0x1100,_0x3e89ed:0x95b,_0x4595a8:0xe73,_0x1fa695:0x1529,_0x33759d:0x109c,_0x374a6d:0xec8,_0x2ccf5b:0xf4d,_0x16d14d:0xf40,_0x9fbd79:0x10f2,_0x403959:0xe1c,_0x1e39d0:0x38,_0x4b270c:0x785,_0x5c8443:0x230,_0x3ccfd8:0x64d,_0xeedd8d:0x19a,_0x5198ee:0x1fa,_0x19634e:0x1221,_0x47ba6f:0x1551,_0x2f88e0:0x41e,_0x914436:0x45e},_0x493d0f={_0x41dd16:0x4fb};_0x483bb2['_colorCommands']['length']=0x0;const _0x5dd023=_0x56f030?Pass[_0x6dcbed(_0x43bf5d._0x5ca69,0x1a99)]:Pass['OPAQUE'];function _0x6dcbed(_0x3313f3,_0x1dd552){return _0x7afdbe(_0x1dd552,_0x3313f3- -0x339);}_0x483bb2['showLateralSurfaces']&&createCommand(_0x483bb2,_0x483bb2[_0x6dcbed(_0x43bf5d._0x3e89ed,_0x43bf5d._0x4595a8)],_0x483bb2['_sectorBackCommand'],_0x483bb2[_0x426dc3(0xba9,_0x43bf5d._0x1fa695)],_0x483bb2['_backFaceRS'],_0x483bb2[_0x6dcbed(_0x43bf5d._0x33759d,0x9e2)],_0x483bb2['_sectorVA'],_0x483bb2['_uniforms'],_0x483bb2['_computedModelMatrix'],_0x56f030,_0x5dd023);_0x483bb2['showSectorLines']&&createCommand(_0x483bb2,_0x483bb2[_0x426dc3(0x489,0xb7f)],undefined,_0x483bb2[_0x6dcbed(0xd6b,_0x43bf5d._0x374a6d)],_0x483bb2[_0x6dcbed(0x1359,0x1198)],_0x483bb2['_sp'],_0x483bb2['_sectorLineVA'],_0x483bb2[_0x6dcbed(0x12b4,0x188f)],_0x483bb2['_computedModelMatrix'],_0x56f030,_0x5dd023,!![]);_0x483bb2[_0x426dc3(0x137b,_0x43bf5d._0x2ccf5b)]&&createCommand(_0x483bb2,_0x483bb2[_0x6dcbed(0xd85,_0x43bf5d._0x16d14d)],undefined,_0x483bb2['_frontFaceRS'],_0x483bb2['_backFaceRS'],_0x483bb2['_sp'],_0x483bb2['_sectorSegmentLineVA'],_0x483bb2[_0x426dc3(_0x43bf5d._0x9fbd79,_0x43bf5d._0x403959)],_0x483bb2[_0x426dc3(_0x43bf5d._0x1e39d0,-_0x43bf5d._0x4b270c)],_0x56f030,_0x5dd023,!![]);function _0x426dc3(_0x48dd5e,_0x4bf472){return _0x7afdbe(_0x4bf472,_0x48dd5e- -_0x493d0f._0x41dd16);}_0x483bb2['showDomeSurfaces']&&createCommand(_0x483bb2,_0x483bb2[_0x6dcbed(0x10f0,0xc20)],_0x483bb2[_0x426dc3(0x140f,0x150d)],_0x483bb2[_0x426dc3(0xba9,0x10d3)],_0x483bb2['_backFaceRS'],_0x483bb2['_sp'],_0x483bb2[_0x426dc3(0x6dd,-_0x43bf5d._0x5c8443)],_0x483bb2['_uniforms'],_0x483bb2[_0x6dcbed(0x1fa,0xf3)],_0x56f030,_0x5dd023),_0x483bb2['showDomeLines']&&createCommand(_0x483bb2,_0x483bb2[_0x426dc3(_0x43bf5d._0x3ccfd8,_0x43bf5d._0xeedd8d)],undefined,_0x483bb2['_frontFaceRS'],_0x483bb2['_backFaceRS'],_0x483bb2['_sp'],_0x483bb2['_domeLineVA'],_0x483bb2['_uniforms'],_0x483bb2[_0x6dcbed(_0x43bf5d._0x5198ee,-0x6ab)],_0x56f030,_0x5dd023,!![]),_0x483bb2['showScanPlane']&&createCommand(_0x483bb2,_0x483bb2[_0x426dc3(0x5d1,0x981)],_0x483bb2[_0x6dcbed(0x1325,0x14a0)],_0x483bb2[_0x6dcbed(0xd6b,_0x43bf5d._0x19634e)],_0x483bb2['_backFaceRS'],_0x483bb2[_0x426dc3(0x11ee,_0x43bf5d._0x47ba6f)],_0x483bb2[_0x426dc3(0x9db,_0x43bf5d._0x2f88e0)],_0x483bb2[_0x426dc3(_0x43bf5d._0x914436,0x8ab)],_0x483bb2['_computedScanPlaneModelMatrix'],_0x56f030,_0x5dd023);}const AssociativeArray=Cesium__namespace['AssociativeArray'],Cartesian3$3=Cesium__namespace['Cartesian3'],Color=Cesium__namespace['Color'],defined$3=Cesium__namespace['defined'],DeveloperError=Cesium__namespace['DeveloperError'],Matrix3$1=Cesium__namespace['Matrix3'],Matrix4$1=Cesium__namespace['Matrix4'],Quaternion$1=Cesium__namespace[_0x54a7f1(0x933,0x210)],MaterialProperty=Cesium__namespace[_0x54a7f1(0x2fe,-0x3f6)],Property=Cesium__namespace['Property'],matrix3Scratch=new Matrix3$1(),cachedPosition=new Cartesian3$3(),cachedGazePosition=new Cartesian3$3(),cachedOrientation=new Quaternion$1(),diffVectorScratch=new Cartesian3$3(),orientationScratch=new Quaternion$1();function removePrimitive(_0x1e1e23,_0x590624,_0x963152){const _0x29ca00={_0x209b3a:0xb39},_0x28819b={_0x21ce12:0x5e},_0x4ed081={_0x514eef:0x271};function _0x2625ec(_0x4b3542,_0x354518){return _0x54a7f1(_0x4b3542-_0x4ed081._0x514eef,_0x354518);}function _0x22738c(_0x415b70,_0x4ea49a){return _0x54a7f1(_0x4ea49a-_0x28819b._0x21ce12,_0x415b70);}const _0x374127=_0x590624[_0x1e1e23['id']];if(Cesium__namespace['defined'](_0x374127)){const _0x4040fe=_0x374127[_0x22738c(_0x29ca00._0x209b3a,0x1152)];try{_0x963152['remove'](_0x4040fe);}catch(_0x4a4fb4){}_0x4040fe['destroy']&&_0x4040fe['isDestroyed']&&!_0x4040fe['isDestroyed']()&&_0x4040fe[_0x2625ec(0x6a3,0x2cb)](),delete _0x590624[_0x1e1e23['id']];}}function RectangularSensorVisualizer(_0x447225,_0x1a9f58){const _0x582427={_0x1c7cf3:0x234,_0x11475b:0x59d,_0x6e51cd:0xed7,_0x29d34d:0x16fe,_0xc956d6:0x18e0,_0x3c14be:0x584,_0x5316f1:0x1c,_0x3633ca:0x10a9,_0x29b014:0x636},_0x5f3ac2={_0x48b2a9:0x1af};if(!defined$3(_0x447225))throw new DeveloperError(_0x2b3dda(0xb98,_0x582427._0x1c7cf3));if(!defined$3(_0x1a9f58))throw new DeveloperError(_0x2b3dda(_0x582427._0x11475b,-0x9));function _0x3f0b8f(_0x1dd691,_0x1ddc70){return _0x7afdbe(_0x1ddc70,_0x1dd691- -0x2d5);}_0x1a9f58['collectionChanged']['addEventListener'](RectangularSensorVisualizer['prototype']['_onCollectionChanged'],this),this[_0x3f0b8f(0x6f4,_0x582427._0x6e51cd)]=_0x447225,this[_0x2b3dda(_0x582427._0x29d34d,_0x582427._0xc956d6)]=_0x447225[_0x2b3dda(_0x582427._0x3c14be,_0x582427._0x5316f1)],this['_entityCollection']=_0x1a9f58;function _0x2b3dda(_0xca88a4,_0xc52070){return _0x54a7f1(_0xca88a4-_0x5f3ac2._0x48b2a9,_0xc52070);}this['_hash']={},this['_entitiesToVisualize']=new AssociativeArray(),this[_0x2b3dda(0x57a,-0x511)](_0x1a9f58,_0x1a9f58[_0x3f0b8f(_0x582427._0x3633ca,_0x582427._0x29b014)],[],[]);}RectangularSensorVisualizer[_0x7afdbe(0x6d8,0x83e)][_0x54a7f1(0x93f,0xf42)]=function(_0x595d6d){const _0x93010e={_0x108462:0x1233,_0x4c59da:0xe89,_0x33b38e:0x1393,_0x30299c:0x7ee,_0x4b07c5:0x2f5,_0x9ffc79:0x2d6,_0x370b68:0x4b9,_0x486a80:0x107e,_0x284fe4:0x1832,_0x2d18a1:0xb63,_0x4a15ae:0xe0a,_0x3b4a0e:0x1b32,_0x2eeb0f:0x4aa,_0x320b9b:0x14d4,_0x136f0e:0x14e7,_0x23bb83:0x1834,_0x53acbd:0x6c3,_0xa3d57c:0x1128,_0x3e2a87:0x4fd,_0x2a92c1:0x21e7,_0x38cbee:0x1924,_0x2de85e:0xa32,_0x5c545f:0x14dd,_0x91ffb0:0x4f,_0x50715a:0x3bb,_0x286670:0x3e4,_0x5d7aab:0x5d8,_0x12095b:0x1393,_0x108b95:0x91f,_0x3cc2a2:0x97f,_0x3ad92e:0x11f8,_0x2ccfbf:0x75a,_0xeaf80c:0x696,_0x51f6f0:0x1967,_0xa9fdb3:0xa47,_0x4d0600:0xc74,_0x180c23:0x1b1f,_0x2bf7a9:0x150c,_0x5c7701:0x61f};if(!defined$3(_0x595d6d))throw new DeveloperError(_0x145cfa(0x11c4,_0x93010e._0x108462));const _0x1dd849=this[_0x145cfa(0xe33,_0x93010e._0x4c59da)][_0x145cfa(0x1091,_0x93010e._0x33b38e)],_0x4fea09=this[_0x145cfa(0x412,0x465)],_0x3eb99e=this['_primitives'];let _0x245c85,_0x329bdd;function _0x17af05(_0x3a1a8b,_0x1f6c28){return _0x7afdbe(_0x1f6c28,_0x3a1a8b- -0x457);}function _0x145cfa(_0x418cf1,_0x36adf2){return _0x7afdbe(_0x418cf1,_0x36adf2-0x15);}let _0x387218,_0x52f2a7,_0x2327e9;for(let _0x4e8fd4=0x0,_0x5dbbe1=_0x1dd849['length'];_0x4e8fd4<_0x5dbbe1;_0x4e8fd4++){const _0x1b3619=_0x1dd849[_0x4e8fd4],_0x21b349=_0x1b3619['_rectangularSensorMars'];let _0x16d32f=_0x4fea09[_0x1b3619['id']],_0x5eb780=_0x1b3619['isShowing']&&_0x1b3619['isAvailable'](_0x595d6d)&&Property['getValueOrDefault'](_0x21b349['_show'],_0x595d6d,!![]);_0x5eb780&&(_0x245c85=Property['getValueOrUndefined'](_0x1b3619['_position'],_0x595d6d,cachedPosition),_0x329bdd=Property['getValueOrUndefined'](_0x1b3619['_orientation'],_0x595d6d,cachedOrientation),_0x387218=Property[_0x145cfa(0x5ac,_0x93010e._0x30299c)](_0x21b349[_0x145cfa(0x114a,0xebf)],_0x595d6d),_0x52f2a7=Property[_0x17af05(0x382,_0x93010e._0x4b07c5)](_0x21b349[_0x17af05(_0x93010e._0x9ffc79,-_0x93010e._0x370b68)],_0x595d6d),_0x2327e9=Property['getValueOrUndefined'](_0x21b349['_yHalfAngle'],_0x595d6d),_0x5eb780=defined$3(_0x245c85)&&defined$3(_0x52f2a7)&&defined$3(_0x2327e9));if(!_0x5eb780){defined$3(_0x16d32f)&&(_0x16d32f['primitive']['show']=![]);continue;}let _0x1daf6f=defined$3(_0x16d32f)?_0x16d32f['primitive']:undefined;if(!defined$3(_0x1daf6f)){_0x1daf6f=new RectangularSensorPrimitive(),_0x1daf6f['id']=_0x1b3619,_0x3eb99e[_0x145cfa(_0x93010e._0x486a80,0x8d3)](_0x1daf6f);const _0x44ee58={};_0x44ee58['primitive']=_0x1daf6f,_0x44ee58['position']=undefined,_0x44ee58[_0x17af05(0x13d7,_0x93010e._0x284fe4)]=undefined,_0x16d32f=_0x44ee58,_0x4fea09[_0x1b3619['id']]=_0x16d32f;}const _0x491847=Property[_0x145cfa(-0x17e,0x7ee)](_0x21b349['_gaze'],_0x595d6d);if(defined$3(_0x491847)){const _0x1a6fb2=Property[_0x17af05(0x382,-0x512)](_0x491847[_0x17af05(_0x93010e._0x2d18a1,0xb4)],_0x595d6d,cachedGazePosition);if(!defined$3(_0x245c85)||!defined$3(_0x1a6fb2))continue;const _0x123354=Cartesian3$3[_0x17af05(0x47c,_0x93010e._0x4a15ae)](_0x245c85,_0x1a6fb2,diffVectorScratch),_0xd4feae=Cartesian3$3['angleBetween'](Cesium__namespace['Cartesian3'][_0x145cfa(0xac4,0x1476)],_0x123354),_0x300e16=Cartesian3$3['cross'](Cesium__namespace[_0x145cfa(_0x93010e._0x3b4a0e,0x152a)]['UNIT_Z'],_0x123354,diffVectorScratch);_0x329bdd=Quaternion$1[_0x17af05(_0x93010e._0x2eeb0f,-0x568)](_0x300e16,_0xd4feae-Math['PI'],orientationScratch),_0x387218=Cartesian3$3[_0x145cfa(0x1e69,_0x93010e._0x320b9b)](_0x245c85,_0x1a6fb2),_0x1daf6f['modelMatrix']=Matrix4$1[_0x17af05(_0x93010e._0x136f0e,_0x93010e._0x23bb83)](Matrix3$1[_0x17af05(0x106a,_0x93010e._0x53acbd)](_0x329bdd,matrix3Scratch),_0x245c85,_0x1daf6f['modelMatrix']);}else(!Cartesian3$3[_0x145cfa(0x1702,0x1128)](_0x245c85,_0x16d32f['position'])||!Quaternion$1[_0x145cfa(0x1477,_0x93010e._0xa3d57c)](_0x329bdd,_0x16d32f['orientation']))&&(defined$3(_0x329bdd)?(_0x1daf6f[_0x17af05(_0x93010e._0x3e2a87,0x713)]=Matrix4$1['fromRotationTranslation'](Matrix3$1['fromQuaternion'](_0x329bdd,matrix3Scratch),_0x245c85,_0x1daf6f['modelMatrix']),_0x16d32f[_0x145cfa(_0x93010e._0x2a92c1,_0x93010e._0x38cbee)]=Cartesian3$3[_0x145cfa(0x10a9,_0x93010e._0x2de85e)](_0x245c85,_0x16d32f['position']),_0x16d32f['orientation']=Quaternion$1['clone'](_0x329bdd,_0x16d32f['orientation'])):(_0x1daf6f['modelMatrix']=Cesium__namespace[_0x145cfa(0xa96,0x9b0)][_0x145cfa(0xbb9,_0x93010e._0x5c545f)](_0x245c85),_0x16d32f['position']=Cartesian3$3['clone'](_0x245c85,_0x16d32f['position'])));_0x1daf6f['show']=!![],_0x1daf6f[_0x17af05(_0x93010e._0x91ffb0,-_0x93010e._0x50715a)]=_0x491847,_0x1daf6f['radius']=_0x387218,_0x1daf6f[_0x17af05(_0x93010e._0x286670,_0x93010e._0x5d7aab)]=_0x52f2a7,_0x1daf6f[_0x145cfa(0x1044,0xa1b)]=_0x2327e9,_0x1daf6f[_0x17af05(_0x93010e._0x12095b,_0x93010e._0x108b95)]=Property['getValueOrDefault'](_0x21b349[_0x17af05(0x82e,_0x93010e._0x3cc2a2)],_0x595d6d,Color['WHITE']),_0x1daf6f['showSectorLines']=Property['getValueOrDefault'](_0x21b349['_showSectorLines'],_0x595d6d,!![]),_0x1daf6f['showSectorSegmentLines']=Property[_0x145cfa(0x237f,0x1967)](_0x21b349['_showSectorSegmentLines'],_0x595d6d,!![]),_0x1daf6f['showLateralSurfaces']=Property[_0x17af05(0x14fb,_0x93010e._0x3ad92e)](_0x21b349[_0x17af05(_0x93010e._0x2ccfbf,0x947)],_0x595d6d,!![]),_0x1daf6f[_0x145cfa(0x402,0x696)]=MaterialProperty['getValue'](_0x595d6d,_0x21b349['_material'],_0x1daf6f[_0x145cfa(0xe03,_0x93010e._0xeaf80c)]),_0x1daf6f['showDomeSurfaces']=Property[_0x145cfa(0x1930,_0x93010e._0x51f6f0)](_0x21b349['_showDomeSurfaces'],_0x595d6d,!![]),_0x1daf6f['showDomeLines']=Property[_0x145cfa(0x1e1e,0x1967)](_0x21b349['_showDomeLines'],_0x595d6d,!![]),_0x1daf6f['showIntersection']=Property[_0x17af05(0x14fb,0xa57)](_0x21b349['_showIntersection'],_0x595d6d,!![]),_0x1daf6f['intersectionColor']=Property['getValueOrDefault'](_0x21b349[_0x145cfa(0x1378,0x1854)],_0x595d6d,Color['WHITE']),_0x1daf6f[_0x145cfa(0x370,_0x93010e._0xa9fdb3)]=Property['getValueOrDefault'](_0x21b349[_0x17af05(0xd42,0x1719)],_0x595d6d,0x1),_0x1daf6f['showThroughEllipsoid']=Property['getValueOrDefault'](_0x21b349[_0x145cfa(0xe4b,0xc16)],_0x595d6d,![]),_0x1daf6f[_0x145cfa(0x435,_0x93010e._0x4d0600)]=Property['getValueOrDefault'](_0x21b349['_scanPlaneMode'],_0x595d6d),_0x1daf6f[_0x17af05(0x14e1,_0x93010e._0x180c23)]=Property[_0x17af05(0x14fb,_0x93010e._0x2bf7a9)](_0x21b349[_0x17af05(0x1cb,_0x93010e._0x5c7701)],_0x595d6d,Color['WHITE']),_0x1daf6f[_0x17af05(0x14fa,0x1deb)]=Property['getValueOrDefault'](_0x21b349['_showScanPlane'],_0x595d6d,!![]),_0x1daf6f['scanPlaneRate']=Property['getValueOrDefault'](_0x21b349['_scanPlaneRate'],_0x595d6d,0x1);}return!![];},RectangularSensorVisualizer['prototype']['isDestroyed']=function(){return![];},RectangularSensorVisualizer['prototype'][_0x7afdbe(0xa38,0x660)]=function(){const _0x59b8a1={_0x299f7b:0x882,_0x1b253a:0x7c3},_0x352881=this[_0x48ca68(_0x59b8a1._0x299f7b,_0x59b8a1._0x1b253a)]['values'],_0x1914b0=this['_hash'],_0x5dd3fa=this['_primitives'];for(let _0x132d9e=_0x352881['length']-0x1;_0x132d9e>-0x1;_0x132d9e--){removePrimitive(_0x352881[_0x132d9e],_0x1914b0,_0x5dd3fa);}for(const _0x4a99a8 in this){delete this[_0x4a99a8];}function _0x48ca68(_0x2f1aa8,_0x48e306){return _0x7afdbe(_0x2f1aa8,_0x48e306- -0x6b1);}return Cesium__namespace['destroyObject'](this);},RectangularSensorVisualizer['prototype']['_onCollectionChanged']=function(_0x6613cf,_0x14d3da,_0xfaf9c4,_0xb92023){const _0x324f25={_0x20387b:0x2d8,_0x27a07a:0x1424,_0x45b0ef:0x1ec9,_0x45a744:0x145c,_0x17f20b:0xb59,_0xeee8e8:0x14be},_0x14fad4=this['_entitiesToVisualize'];if(!_0x14fad4)return;function _0x5d6f63(_0x422287,_0x5e2464){return _0x7afdbe(_0x5e2464,_0x422287- -0x359);}const _0x492a4e=this[_0x5d6f63(0xf7,_0x324f25._0x20387b)];function _0x7e97c5(_0x322598,_0x2e2756){return _0x7afdbe(_0x2e2756,_0x322598- -0x205);}const _0x1e25ef=this[_0x5d6f63(_0x324f25._0x27a07a,_0x324f25._0x45b0ef)];let _0x3338c3,_0x1a0c9c;for(_0x3338c3=_0x14d3da['length']-0x1;_0x3338c3>-0x1;_0x3338c3--){_0x1a0c9c=_0x14d3da[_0x3338c3],defined$3(_0x1a0c9c[_0x7e97c5(0xcad,_0x324f25._0x45a744)])&&defined$3(_0x1a0c9c['_position'])&&_0x14fad4['set'](_0x1a0c9c['id'],_0x1a0c9c);}for(_0x3338c3=_0xb92023['length']-0x1;_0x3338c3>-0x1;_0x3338c3--){_0x1a0c9c=_0xb92023[_0x3338c3],defined$3(_0x1a0c9c[_0x5d6f63(_0x324f25._0x17f20b,_0x324f25._0xeee8e8)])&&defined$3(_0x1a0c9c['_position'])?_0x14fad4['set'](_0x1a0c9c['id'],_0x1a0c9c):(removePrimitive(_0x1a0c9c,_0x492a4e,_0x1e25ef),_0x14fad4['remove'](_0x1a0c9c['id']));}for(_0x3338c3=_0xfaf9c4['length']-0x1;_0x3338c3>-0x1;_0x3338c3--){_0x1a0c9c=_0xfaf9c4[_0x3338c3],removePrimitive(_0x1a0c9c,_0x492a4e,_0x1e25ef),_0x14fad4['remove'](_0x1a0c9c['id']);}};const originalDefaultVisualizersCallback=Cesium__namespace[_0x7afdbe(0x1752,0x14ba)][_0x7afdbe(0x127f,0x171d)];Cesium__namespace['DataSourceDisplay']['defaultVisualizersCallback']=function(_0x45065e,_0x2723de,_0x57e70e){const _0x2e7a72={_0x2964f9:0x48e},_0x38817e=_0x57e70e['entities'];function _0x5c344c(_0x249bf9,_0x211dee){return _0x7afdbe(_0x211dee,_0x249bf9- -_0x2e7a72._0x2964f9);}const _0x13d2fe=originalDefaultVisualizersCallback(_0x45065e,_0x2723de,_0x57e70e);return _0x13d2fe[_0x5c344c(0x765,0x512)]([new RectangularSensorVisualizer(_0x45065e,_0x38817e)]);};class RectangularSensor extends BasePointEntity{get[_0x54a7f1(0x52e,0xa8e)](){var _0x1520a8;return(_0x1520a8=this['_entity'])===null||_0x1520a8===void 0x0?void 0x0:_0x1520a8['rectangularSensorMars'];}get['radius'](){return this['style']['radius'];}set[_0x54a7f1(0x3d7,0x6e8)](_0x3c6451){const _0x4ac105={_0x464ae1:0x348,_0x47a242:0x372},_0x270ac0={_0x18fe9a:0x1bc};this[_0x1d9570(-0x12,_0x4ac105._0x464ae1)]['radius']=_0x3c6451;function _0x1d9570(_0x4e00b8,_0x50140b){return _0x7afdbe(_0x50140b,_0x4e00b8- -0x6dc);}function _0x1a06dc(_0x483eac,_0x4f068b){return _0x54a7f1(_0x483eac- -_0x270ac0._0x18fe9a,_0x4f068b);}this[_0x1a06dc(0x4a5,0x292)]&&(this[_0x1a06dc(_0x4ac105._0x47a242,0xf6)]['radius']=_0x3c6451);}[_0x54a7f1(0x28b,0xa08)](){const _0x42c3ac={_0x50797d:0x639,_0x352a66:0x2a0,_0x14f3ff:0x7de,_0x23fc38:0x1092},_0x163e7e={_0x3fc0e5:0x28},_0x13b71c={_0x1328b6:0x113},_0x3f573c={'position':this['position'],'orientation':this['getOrientation'](),'rectangularSensorMars':new RectangularSensorGraphics(RectangularSensorStyleConver['toCesiumVal'](this[_0x15e7e5(0x474,0x42d)]))};this[_0x15e7e5(_0x42c3ac._0x50797d,-0xd9)]=this['_createEntity'](_0x3f573c);function _0x3e3eca(_0x511a1f,_0x42cfd9){return _0x7afdbe(_0x42cfd9,_0x511a1f- -_0x13b71c._0x1328b6);}function _0x15e7e5(_0x5e96ec,_0x34da73){return _0x54a7f1(_0x5e96ec- -_0x163e7e._0x3fc0e5,_0x34da73);}this[_0x3e3eca(0x5b7,_0x42c3ac._0x352a66)]['label']&&this[_0x15e7e5(0x10fb,_0x42c3ac._0x14f3ff)](this['style'][_0x15e7e5(_0x42c3ac._0x23fc38,0x16ee)]);}['_updateStyleHook'](_0x3f3962,_0x3b41de){const _0x38521a={_0x21c2e5:0x133a,_0x54e495:0xeb0,_0x442345:0x10b9,_0x57c1b6:0x649,_0x185d8f:0x649},_0x5e9e03={_0x363c56:0x1f4};function _0x9e93c5(_0x43f41d,_0x5042dd){return _0x7afdbe(_0x43f41d,_0x5042dd- -0x246);}function _0x20d2ef(_0x1ade52,_0x5e9296){return _0x54a7f1(_0x5e9296-_0x5e9e03._0x363c56,_0x1ade52);}if(this['_entity']&&this['isAdded']){const _0x4bda0b=this['_layer'][_0x20d2ef(_0x38521a._0x21c2e5,0xc29)];_0x4bda0b[_0x20d2ef(0x798,_0x38521a._0x54e495)][_0x20d2ef(_0x38521a._0x442345,0x982)](this[_0x9e93c5(-0x1d,_0x38521a._0x57c1b6)]),delete this['_entity'],this['_mountedHook'](),_0x4bda0b['entities'][_0x20d2ef(0xdce,0x884)](this[_0x9e93c5(0x16a,_0x38521a._0x185d8f)]);}}['_updateEntityOpacity'](_0x4b95a4,_0xfdb97a){const _0x375d48={_0x3670ef:0xf2d},_0xbb471={_0x175bc6:0x191},_0x5deddf=_0x4b95a4===null||_0x4b95a4===void 0x0?void 0x0:_0x4b95a4['material'];if(!_0x5deddf)return![];const _0x38c69a=getCesiumColor(_0x5deddf[_0x302976(0x186e,0x13be)],Cesium__namespace['Color']['WHITE']);!Cesium__namespace['defined'](this['_material_color_alpha'])&&(this[_0x302976(0x5a4,_0x375d48._0x3670ef)]=_0x38c69a['alpha']);function _0x302976(_0x87cd7c,_0x2a9178){return _0x7afdbe(_0x87cd7c,_0x2a9178- -0x82);}_0x5deddf[_0x2efd2f(0x12af,0xda5)]=_0x38c69a['withAlpha'](this[_0x2efd2f(0xe1e,0xa16)]*_0xfdb97a);function _0x2efd2f(_0x23e80f,_0x4cfd00){return _0x7afdbe(_0x4cfd00,_0x23e80f- -_0xbb471._0x175bc6);}return!![];}[_0x54a7f1(0xb0c,0x5ee)](_0x87258b){const _0x2a4161={_0x21fa4:0x6ae,_0x5a1994:0xf5,_0x4c7748:0x14a2,_0x9e4052:0x217,_0x1aa3e1:0x831,_0x582928:0x648,_0x2ae13b:0x13dd,_0x115ec7:0x34f,_0x16af08:0x152b,_0x202568:0x7c9,_0x2639d7:0xb22};function _0x4922c2(_0x2da1ab,_0x147459){return _0x7afdbe(_0x147459,_0x2da1ab- -0x40d);}const _0x1b4fa8=getCesiumColor(this['entityGraphic']['lineColor'],Cesium__namespace['Color'][_0x4922c2(_0x2a4161._0x21fa4,_0x2a4161._0x5a1994)]);function _0x27ccd5(_0x965360,_0xf9f4e1){return _0x54a7f1(_0xf9f4e1- -0x349,_0x965360);}!Cesium__namespace[_0x4922c2(_0x2a4161._0x4c7748,0x18ad)](this[_0x4922c2(0x99b,_0x2a4161._0x9e4052)])&&(this[_0x27ccd5(0xa3b,_0x2a4161._0x1aa3e1)]=_0x1b4fa8[_0x27ccd5(-_0x2a4161._0x582928,0x8d)]);this['entityGraphic'][_0x4922c2(_0x2a4161._0x2ae13b,0xcce)]=_0x1b4fa8['withAlpha'](this['_lineColor_alpha']*_0x87258b);const _0x378b0f=getCesiumColor(this[_0x4922c2(_0x2a4161._0x115ec7,0x786)][_0x4922c2(_0x2a4161._0x16af08,0xa81)],Cesium__namespace['Color']['WHITE']);!Cesium__namespace['defined'](this[_0x4922c2(_0x2a4161._0x202568,0x1005)])&&(this['_scanPlaneColor_alpha']=_0x378b0f[_0x4922c2(0x1f7,_0x2a4161._0x2639d7)]),this['entityGraphic'][_0x4922c2(0x152b,0xcad)]=_0x378b0f['withAlpha'](this['_scanPlaneColor_alpha']*_0x87258b);}['_style2Json'](_0x1e2da9,_0x5ed3fd){function _0x16c649(_0x2da751,_0x2b819b){return _0x7afdbe(_0x2da751,_0x2b819b-0x1d);}return RectangularSensorStyleConver[_0x16c649(0x176d,0x1586)](_0x1e2da9,_0x5ed3fd,!![]);}}register$5('rectangularSensor',RectangularSensor,!![]);class EditVideo2D extends EditBase{get[_0x7afdbe(0x2313,0x190f)](){return this['_graphic']['position'];}set['position'](_0x284836){const _0x174458={_0x44dcc8:0x1071,_0x29356a:0x129b};function _0x27b0c1(_0x112c15,_0x2db026){return _0x54a7f1(_0x112c15- -0x1f1,_0x2db026);}this[_0x27b0c1(_0x174458._0x44dcc8,_0x174458._0x29356a)]['position']=_0x284836;}['bindDraggers'](){const _0x59bdd0={_0x22c8fe:0xd9c},_0x1dd102={_0x576155:0xd9};function _0x50a434(_0x52ef55,_0x13b206){return _0x54a7f1(_0x13b206- -_0x1dd102._0x576155,_0x52ef55);}function _0x4b06b(_0x2fd78b,_0x4da20f){return _0x7afdbe(_0x4da20f,_0x2fd78b- -0x6f4);}const _0x1296ba=this[_0x4b06b(_0x59bdd0._0x22c8fe,0x1780)]['position'],_0x170a7b=this['createDragger']({'position':_0x1296ba,'onDragEnd':(_0x4cdfb8,_0x226e6d)=>{this['_graphic']['position']=_0x226e6d;}});this[_0x4b06b(0xea3,0x3e4)]['push'](_0x170a7b);}}const _0x325779={};_0x325779['distance']=0.1,_0x325779['perPositionHeight']=!![],_0x325779['showFrustum']=![],_0x325779[_0x7afdbe(-0xc1,0x588)]=0x1,_0x325779['flipx']=![],_0x325779[_0x7afdbe(0x1803,0x169b)]=![];const DEF_STYLE$v=_0x325779;class Video2D extends PolygonEntity{constructor(_0xcaaa16={}){const _0x52b518={_0x217d81:0x18e};function _0x52ace1(_0x5a9802,_0x390471){return _0x54a7f1(_0x5a9802- -_0x52b518._0x217d81,_0x390471);}_0xcaaa16['style']={...DEF_STYLE$v,..._0xcaaa16['style']},super(_0xcaaa16),_0xcaaa16['position']&&(this[_0x52ace1(0x1553,0x1329)]=_0xcaaa16['position']);}get['czmObjectEx'](){const _0x3f5669={_0x2ee203:0xd0c,_0xe57c68:0xa07},_0x38ed7e={_0x420c38:0x36c};let _0xe7bd26=[];function _0x3482b0(_0x45a1f7,_0x29accf){return _0x54a7f1(_0x29accf- -_0x38ed7e._0x420c38,_0x45a1f7);}function _0x31a690(_0x14585b,_0x52c5ba){return _0x7afdbe(_0x14585b,_0x52c5ba- -0x433);}return this[_0x3482b0(0x52e,_0x3f5669._0x2ee203)]&&_0xe7bd26[_0x31a690(0xe6e,0xd03)](this['_frustumPrimitive']),this[_0x3482b0(_0x3f5669._0xe57c68,0x132d)]&&_0xe7bd26['push'](this[_0x31a690(0x1acd,0x1494)]),this['_entity_outlines']&&(_0xe7bd26=_0xe7bd26['concat'](this['_entity_outlines'])),_0xe7bd26;}get[_0x54a7f1(0x16ec,0x1e1d)](){return EditVideo2D;}get['position'](){const _0x5025e1={_0x4e26f4:0xc28};function _0x4154f3(_0x738c88,_0xa31aa9){return _0x7afdbe(_0x738c88,_0xa31aa9- -0x392);}return getPositionValue(this[_0x4154f3(0x102c,_0x5025e1._0x4e26f4)]);}set[_0x7afdbe(0x164b,0x190f)](_0x4172f8){const _0x1f7676={_0x132892:0x7dc,_0x1b401b:0x1b,_0x17b88a:0x8d,_0x2c15cc:0x4f3,_0x20b336:0x187},_0x5af64a={_0x2f3f94:0x448};var _0x4615f1;this[_0x3147bf(_0x1f7676._0x132892,0xa2a)]=LngLatPoint[_0x5ce0d8(_0x1f7676._0x1b401b,-_0x1f7676._0x17b88a)](_0x4172f8),this['_position']=(_0x4615f1=this['_point'])===null||_0x4615f1===void 0x0?void 0x0:_0x4615f1['toCartesian']();function _0x3147bf(_0x357ebb,_0x2320bc){return _0x54a7f1(_0x357ebb- -0x335,_0x2320bc);}function _0x5ce0d8(_0xa2b6c6,_0x5e2e60){return _0x54a7f1(_0x5e2e60- -_0x5af64a._0x2f3f94,_0xa2b6c6);}this[_0x5ce0d8(-0x53b,0x219)]&&(this['_updateDraw'](),this[_0x3147bf(_0x1f7676._0x2c15cc,-_0x1f7676._0x20b336)](),this['_bindHierarchy']());}get['point'](){const _0x1f5c6e={_0x2a8405:0x1329,_0xa70631:0x875};function _0x3e9894(_0xe6bb7d,_0x5ef5b0){return _0x54a7f1(_0x5ef5b0- -0x29c,_0xe6bb7d);}return this[_0x3e9894(_0x1f5c6e._0x2a8405,_0x1f5c6e._0xa70631)];}get['coordinate'](){return this['point']['toArray']();}get['targetPosition'](){return this['options']['targetPosition'];}set['targetPosition'](_0x474c2e){const _0x4a1caa={_0x35bd94:0x3de,_0x476df7:0x1798,_0x29548f:0x1482,_0x5115cd:0x152c,_0x1111ee:0x18a7,_0x2c6fe1:0x1742,_0x35fb06:0xfa2,_0x4b2a6c:0x8df};var _0xc6bca1;function _0x35e27c(_0x33f0ac,_0x1ec6f5){return _0x54a7f1(_0x1ec6f5-0x1f1,_0x33f0ac);}this['options']['targetPosition']=_0x474c2e;if(!this['_map'])return;function _0x5d6ecb(_0xc551a8,_0x18ed72){return _0x7afdbe(_0xc551a8,_0x18ed72- -0x1cd);}const _0x450c84=this['position'];if(!_0x450c84)return;const _0x206b2a=LngLatPoint[_0x35e27c(_0x4a1caa._0x35bd94,0xcf5)](_0x474c2e,(_0xc6bca1=this[_0x35e27c(0x705,0x9c4)])===null||_0xc6bca1===void 0x0?void 0x0:_0xc6bca1[_0x35e27c(0x1f2b,0x1644)]);this[_0x35e27c(_0x4a1caa._0x476df7,_0x4a1caa._0x29548f)]=Cesium__namespace['Cartesian3']['distance'](_0x450c84,_0x206b2a);const _0x2ffa55=Cesium__namespace[_0x5d6ecb(_0x4a1caa._0x5115cd,0x1348)]['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0x206b2a,_0x450c84,new Cesium__namespace[(_0x5d6ecb(0xa84,0x1348))]()),new Cesium__namespace['Cartesian3']()),_0x58e28a=Cesium__namespace['Cartesian3']['normalize'](_0x450c84,new Cesium__namespace['Cartesian3']()),_0x2e0bd8=new Cesium__namespace[(_0x35e27c(0xea1,0xbf8))](this['_map'][_0x35e27c(_0x4a1caa._0x1111ee,0x1270)]);_0x2e0bd8[_0x5d6ecb(0x2159,_0x4a1caa._0x2c6fe1)]=_0x450c84,_0x2e0bd8['direction']=_0x2ffa55,_0x2e0bd8['up']=_0x58e28a,this['style']['heading']=Cesium__namespace['Math']['toDegrees'](_0x2e0bd8['heading'])-0x5a,this['style']['pitch']=Cesium__namespace['Math'][_0x5d6ecb(0x1115,_0x4a1caa._0x35fb06)](_0x2e0bd8['pitch']),this['_updateDraw'](),this[_0x5d6ecb(_0x4a1caa._0x4b2a6c,0x69d)]();}get['heading'](){return this['style']['heading']??0x0;}set[_0x7afdbe(0xae4,0x53b)](_0x2214f7){const _0x18b57f={_0x3342e1:0xed0};function _0x10899d(_0x3f6cc2,_0x1d4bff){return _0x7afdbe(_0x1d4bff,_0x3f6cc2- -0x137);}this['style']['heading']=_0x2214f7,this['_updateDraw'](),this[_0x10899d(0x733,_0x18b57f._0x3342e1)]();}get['pitch'](){const _0x3e3b78={_0xd5e732:0x1e2a,_0x1d8a25:0x14c1};function _0x1535fa(_0x10d4b9,_0x387ae4){return _0x54a7f1(_0x387ae4- -0x1d1,_0x10d4b9);}return this['style'][_0x1535fa(_0x3e3b78._0xd5e732,_0x3e3b78._0x1d8a25)]??0x0;}set['pitch'](_0x7a2c1f){const _0x14872e={_0x5d031e:0x52f},_0x542cf2={_0x1d667a:0xc5};this[_0x2cf0a0(_0x14872e._0x5d031e,0x561)]['pitch']=_0x7a2c1f,this[_0x2cf0a0(-0x365,0x55a)]();function _0x4e9335(_0x5aeac4,_0x3966a1){return _0x7afdbe(_0x5aeac4,_0x3966a1- -0x3b);}function _0x2cf0a0(_0x1bfb7f,_0x3d843e){return _0x54a7f1(_0x3d843e-_0x542cf2._0x1d667a,_0x1bfb7f);}this['_bindHierarchy']();}get['roll'](){return this['style']['roll']??0x0;}set['roll'](_0x2683e3){function _0x33a804(_0x2ce495,_0x3d6b19){return _0x7afdbe(_0x3d6b19,_0x2ce495- -0x5e6);}this['style']['roll']=_0x2683e3,this[_0x33a804(0xdd,-0x8bc)](),this['_bindHierarchy']();}get[_0x54a7f1(0x14a2,0x1461)](){const _0x5d00f5={_0x13d89b:0x4b3};function _0x2bc71c(_0x217122,_0x42a769){return _0x54a7f1(_0x42a769- -_0x5d00f5._0x13d89b,_0x217122);}return this[_0x2bc71c(-0x4ab,-0x17)]['angle'];}set['angle'](_0x3049a3){const _0x12aaee={_0x28b24c:0x18f3,_0x3a3914:0x228};function _0x2e4b6b(_0x2a7f98,_0x3d88b1){return _0x7afdbe(_0x3d88b1,_0x2a7f98- -0x642);}this['style'][_0x2e4b6b(0x108e,_0x12aaee._0x28b24c)]=_0x3049a3;function _0x3ce68f(_0x33a8ac,_0x5f1c0d){return _0x7afdbe(_0x33a8ac,_0x5f1c0d- -0x703);}this[_0x2e4b6b(0x81,0x346)](),this[_0x2e4b6b(_0x12aaee._0x3a3914,0xc17)]();}get['angle2'](){return this['style']['angle2']??this['style']['angle'];}set['angle2'](_0x1463ca){const _0x3d4402={_0x5765eb:0xb6,_0x221d4e:0x80a,_0x560d37:0xc3},_0x12c2df={_0x3dd24c:0x60d},_0x56d629={_0x4446d6:0x587};function _0x3e04d5(_0x1f1ebb,_0x9b8fe){return _0x7afdbe(_0x1f1ebb,_0x9b8fe- -_0x56d629._0x4446d6);}function _0x39b41d(_0x4903da,_0x40f184){return _0x7afdbe(_0x40f184,_0x4903da- -_0x12c2df._0x3dd24c);}this['style'][_0x3e04d5(0xa74,0x998)]=_0x1463ca,this[_0x39b41d(_0x3d4402._0x5765eb,_0x3d4402._0x221d4e)](),this[_0x39b41d(0x25d,_0x3d4402._0x560d37)]();}get[_0x7afdbe(0x1d0c,0x14bf)](){const _0x4af9e1={_0x579244:0x1836};function _0x128f04(_0x438d95,_0x4e7a0b){return _0x54a7f1(_0x438d95- -0x392,_0x4e7a0b);}return this['style'][_0x128f04(0xeff,_0x4af9e1._0x579244)];}set[_0x7afdbe(0x1ca0,0x14bf)](_0x35f0f5){const _0x4c0172={_0x173bbb:0x16ed,_0x1031f0:0x12fb};this['style'][_0x4721f5(_0x4c0172._0x173bbb,_0x4c0172._0x1031f0)]=_0x35f0f5;function _0x4721f5(_0x411553,_0x7a6cfc){return _0x54a7f1(_0x7a6cfc-0x6a,_0x411553);}this['_updateDraw'](),this['_bindHierarchy']();}get['opacity'](){const _0x2c0c13={_0x44bc30:0x584,_0x4ecb14:0x85},_0xea8e6a={_0x5c521d:0x2b6},_0x42a038={_0x5c8126:0xe8};function _0x1eaca8(_0x2de78d,_0x4a75f2){return _0x54a7f1(_0x2de78d-_0x42a038._0x5c8126,_0x4a75f2);}function _0x3a9a83(_0x193fd0,_0xef4c23){return _0x54a7f1(_0xef4c23-_0xea8e6a._0x5c521d,_0x193fd0);}return this[_0x1eaca8(_0x2c0c13._0x44bc30,0xdf)][_0x3a9a83(_0x2c0c13._0x4ecb14,0x610)];}set['opacity'](_0x15df82){const _0x22a4e3={_0x307795:0x909,_0xd23277:0x4eb,_0x5a154f:0xbd5,_0x4c08fa:0x326,_0x2593bb:0x6b2,_0x3e21c4:0x19d1},_0xad9541={_0x42691f:0x7a};function _0x50363d(_0x9bab59,_0x481577){return _0x54a7f1(_0x9bab59- -0x12d,_0x481577);}function _0x52842c(_0x5c54de,_0x5c30a2){return _0x7afdbe(_0x5c54de,_0x5c30a2-_0xad9541._0x42691f);}this['style']['opacity']=_0x15df82,this['_entity']&&(this[_0x52842c(0x10b9,_0x22a4e3._0x307795)][_0x50363d(0x377,0x40b)]['material'][_0x52842c(_0x22a4e3._0xd23277,0xc97)]['_value'][_0x50363d(0x2a9,_0x22a4e3._0x5a154f)]=_0x15df82,this['_entity'][_0x52842c(0xd87,0x74c)][_0x50363d(_0x22a4e3._0x4c08fa,_0x22a4e3._0x2593bb)][_0x52842c(0x1170,_0x22a4e3._0x3e21c4)]=_0x15df82!==0x1);}get['flipx'](){return this['style']['flipx'];}set['flipx'](_0x460c10){const _0x4fe7e2={_0x21d1ee:0x2c2,_0x1c8a8e:0x2,_0x3e1109:0x890};this[_0x3459dd(0x4b,-_0x4fe7e2._0x21d1ee)][_0x2e0712(0x9ea,0xbf2)]=_0x460c10;function _0x3459dd(_0x8f924,_0x1d14d7){return _0x7afdbe(_0x1d14d7,_0x8f924- -0x67f);}function _0x2e0712(_0x20edfe,_0x37e8f2){return _0x7afdbe(_0x37e8f2,_0x20edfe- -0x59f);}this[_0x3459dd(0x210,0xc59)]&&(this['_entity']['polygon'][_0x3459dd(_0x4fe7e2._0x1c8a8e,_0x4fe7e2._0x3e1109)][_0x3459dd(0x90a,0x2a7)]=_0x460c10);}get[_0x54a7f1(0x4ca,0x6fd)](){const _0x3a9ec2={_0x45ce85:0x408};function _0xd48c33(_0x386f79,_0x3eb988){return _0x54a7f1(_0x3eb988- -0x10f,_0x386f79);}return this[_0xd48c33(-_0x3a9ec2._0x45ce85,0x38d)]['showFrustum'];}set[_0x54a7f1(0x4ca,0x5f4)](_0x1f0607){const _0xfe21e7={_0x10d1ae:0x26,_0x35ad0f:0x16c1,_0x11031c:0x11dc},_0x12b54d={_0x240aab:0xca};function _0x367916(_0x1a3381,_0x3457ce){return _0x7afdbe(_0x1a3381,_0x3457ce- -_0x12b54d._0x240aab);}function _0x346b72(_0x146d07,_0x28faf3){return _0x7afdbe(_0x146d07,_0x28faf3- -0x88);}this[_0x346b72(-_0xfe21e7._0x10d1ae,0x642)]['showFrustum']=_0x1f0607,this[_0x367916(_0xfe21e7._0x35ad0f,_0xfe21e7._0x11031c)]['show']=_0x1f0607;}get['play'](){return this['options']['play']??!![];}set['play'](_0x4753fd){const _0x954395={_0x2e1d7c:0x948,_0x4c1fb8:0x1402,_0x5b68b4:0x313,_0x42ca89:0xb1f,_0x3bf8ed:0x11c8,_0x1e833b:0x948};this['options']['play']=_0x4753fd;function _0x252c63(_0x1d3bc3,_0x5db7b4){return _0x7afdbe(_0x1d3bc3,_0x5db7b4- -0x156);}if(!this[_0x252c63(0x11ee,_0x954395._0x2e1d7c)])return;function _0x58d56e(_0x356725,_0x30b1b2){return _0x54a7f1(_0x30b1b2-0x194,_0x356725);}try{_0x4753fd?(this['_videoSynchronizer']&&(this['_videoSynchronizer']['element']=this['_videoContainer']),this['_videoContainer'][_0x58d56e(_0x954395._0x4c1fb8,0x11dc)]()):(this[_0x58d56e(0x10f,0xb1f)]&&(this[_0x58d56e(_0x954395._0x5b68b4,_0x954395._0x42ca89)][_0x58d56e(0x13d5,_0x954395._0x3bf8ed)]=undefined),this[_0x252c63(0x1216,_0x954395._0x1e833b)]['pause']());}catch(_0x2a6150){}}['updateVideoContainer'](){const _0x3be039={_0x3e7721:0x8b0,_0x234553:0x3ed,_0x43dea0:0x795,_0x492f77:0x1a,_0xf6501b:0x3ba,_0x3bb3eb:0xb62,_0x364dfa:0x97f,_0x1ec397:0xdeb,_0x158c96:0xb82,_0x14b53f:0xd8c,_0x245004:0x183c,_0x1fe830:0x1e4,_0x1cc33b:0x747,_0x1fb87c:0x419,_0x1f7e41:0x3ba,_0x17b734:0x7b3,_0x12f428:0xc35,_0x104448:0x258,_0xa56fa8:0x598,_0x47ea5a:0x3c9,_0x12c9de:0x3c1,_0x32cea8:0xdce,_0x146cb2:0x9e5,_0x3e3663:0x578,_0x1b3d6f:0x98,_0x192907:0xce8,_0xa35956:0xc80},_0x1f6748={_0x77e203:0x309};function _0x2b7d6e(_0x38c2cb,_0x11755d){return _0x7afdbe(_0x11755d,_0x38c2cb- -0x6e4);}var _0x1c0367;this['_hasRemoveElement']&&(_0x1c0367=this['_videoContainer'])!==null&&_0x1c0367!==void 0x0&&_0x1c0367['parentNode']&&(this[_0x2b7d6e(0x3ba,0x427)]['parentNode']['removeChild'](this[_0x2b7d6e(0x3ba,-0x2f)]),delete this['_hasRemoveElement'],delete this['_videoContainer']);this['_videoSynchronizer']&&(this[_0x4e7e83(0xd63,_0x3be039._0x3e7721)]['destroy'](),delete this[_0x4e7e83(_0x3be039._0x234553,0x8b0)]);if(this['style'][_0x4e7e83(0xec2,0x948)])this[_0x4e7e83(0xa03,_0x3be039._0x43dea0)]=createVideo(this[_0x2b7d6e(-_0x3be039._0x492f77,-0x578)]['url'],this['style']['fileType'],'',document['body']),this[_0x2b7d6e(_0x3be039._0xf6501b,_0x3be039._0x3bb3eb)][_0x2b7d6e(-0x1a,-_0x3be039._0x364dfa)][_0x4e7e83(_0x3be039._0x1ec397,0x15f7)]=_0x2b7d6e(_0x3be039._0x158c96,0xd3d),!this[_0x2b7d6e(0xb92,0xe42)]&&this[_0x2b7d6e(0x3ba,-0x227)]['removeAttribute'](_0x2b7d6e(_0x3be039._0x14b53f,_0x3be039._0x245004)),this['_hasRemoveElement']=!![];else this[_0x2b7d6e(-0x1a,_0x3be039._0x1fe830)][_0x2b7d6e(_0x3be039._0x1cc33b,_0x3be039._0x1fb87c)]&&(this[_0x2b7d6e(_0x3be039._0x1f7e41,_0x3be039._0x17b734)]=this['style']['container']);function _0x4e7e83(_0x102cc7,_0x315e2d){return _0x7afdbe(_0x102cc7,_0x315e2d- -_0x1f6748._0x77e203);}this['_videoContainer']&&((this['options'][_0x2b7d6e(0x10dc,_0x3be039._0x12f428)]??!![])&&(this['_videoSynchronizer']=new Cesium__namespace[(_0x2b7d6e(-_0x3be039._0x104448,-0x223))]({'clock':this['_map']['clock'],'element':this['_videoContainer']})),this[_0x2b7d6e(0x1ab,_0x3be039._0xa56fa8)][_0x4e7e83(0xa62,_0x3be039._0x47ea5a)]['material']=new Image2MaterialProperty({'image':this['_videoContainer'],'maskImage':this[_0x4e7e83(0x372,_0x3be039._0x12c9de)]['maskImage'],'color':Cesium__namespace[_0x2b7d6e(_0x3be039._0x32cea8,0x1224)][_0x2b7d6e(0x3d7,_0x3be039._0x146cb2)]['withAlpha'](this['style'][_0x2b7d6e(-0x15c,0xa2)]),'transparent':this[_0x4e7e83(-_0x3be039._0x3e3663,0x3c1)]['opacity']!==0x1,'flipx':this[_0x4e7e83(_0x3be039._0x1b3d6f,0x3c1)][_0x4e7e83(_0x3be039._0x192907,_0x3be039._0xa35956)],'flipy':this[_0x2b7d6e(-_0x3be039._0x492f77,0x1ee)]['flipy']}));}['setOpacity'](_0x2c65f4){const _0x3a230f={_0x1cfdf6:0xa05,_0x5d9c68:0x2d6,_0x2342cf:0xa19,_0x17a100:0x99,_0x24248d:0x319},_0x28ca73={_0x406ca1:0xb7};function _0x2675c1(_0x37bc69,_0x103ece){return _0x54a7f1(_0x37bc69- -0x403,_0x103ece);}this['style'][_0x2675c1(-0xa9,-_0x3a230f._0x1cfdf6)]=_0x2c65f4;function _0x4ffb76(_0x389fcb,_0x5acfef){return _0x54a7f1(_0x5acfef- -_0x28ca73._0x406ca1,_0x389fcb);}this[_0x2675c1(0x25e,0x3f0)]&&(this['_entity'][_0x4ffb76(_0x3a230f._0x5d9c68,0x3ed)]['material'][_0x4ffb76(_0x3a230f._0x2342cf,0x2a3)]=_0x2c65f4,this['_entity']['polygon']['material']['transparent']=this[_0x2675c1(_0x3a230f._0x17a100,_0x3a230f._0x24248d)][_0x4ffb76(-0x4ac,0x2a3)]!==0x1);}['_mountedHook'](){const _0x53127a={_0xd99d2:0x71f};function _0x1bc7c4(_0x3daf18,_0xece31){return _0x54a7f1(_0xece31- -0x32b,_0x3daf18);}function _0x3dc1da(_0x464973,_0x50d815){return _0x7afdbe(_0x50d815,_0x464973- -0x72a);}super['_mountedHook'](),this['options']['targetPosition']&&(this[_0x1bc7c4(0x13b4,0xff1)]=this['options']['targetPosition']),this[_0x1bc7c4(0x1b4,_0x53127a._0xd99d2)]();}['_updateStyleHook'](_0x557561,_0x519393){const _0x27d1a1={_0x3f30e2:0x631};function _0x2e1fdc(_0x413160,_0x1e8a3c){return _0x54a7f1(_0x1e8a3c-0x22a,_0x413160);}function _0x1d1732(_0x5c6cf1,_0x400154){return _0x7afdbe(_0x400154,_0x5c6cf1- -_0x27d1a1._0x3f30e2);}super[_0x2e1fdc(0x1209,0x12fe)](_0x557561,_0x519393),(_0x519393[_0x2e1fdc(0x80e,0xc4d)]||_0x519393[_0x1d1732(0x7fa,0x207)])&&this['updateVideoContainer']();}['_addedHook'](_0x23d446){const _0x219f33={_0x48949e:0x3fe,_0x33ec2f:0xba2,_0x20264e:0x2b5},_0xd0272e={_0x594488:0x11a};this[_0x3f7e30(_0x219f33._0x48949e,-0x626)](),this['_bindHierarchy']();function _0x3f7e30(_0x34f18a,_0x3fab8d){return _0x7afdbe(_0x3fab8d,_0x34f18a- -0x2c5);}function _0x106a9e(_0x10980a,_0x47aadb){return _0x54a7f1(_0x10980a- -_0xd0272e._0x594488,_0x47aadb);}this['dataSource'][_0x106a9e(_0x219f33._0x33ec2f,0x53f)][_0x3f7e30(0x5f9,-_0x219f33._0x20264e)](this['_entity']);}['_removedHook'](){const _0x52e58d={_0x22c842:0xf70,_0x142ee1:0xbb4,_0x2176df:0x621,_0x20a84b:0x8ae,_0x5920f7:0x62b},_0x458495={_0x2ed540:0x108};var _0x13aca4;this['_frustumPrimitive']&&(this['_layer']['primitiveCollection']['remove'](this[_0x30c031(_0x52e58d._0x22c842,0x8b5)]),delete this['_frustumPrimitive']);function _0xe3550d(_0x2b9554,_0x54f509){return _0x54a7f1(_0x54f509- -0x245,_0x2b9554);}this['dataSource'][_0x30c031(_0x52e58d._0x142ee1,0x12e7)]['remove'](this[_0x30c031(0x559,-0x2ad)]);this['_videoSynchronizer']&&(this['_videoSynchronizer'][_0x30c031(0x32a,-_0x52e58d._0x2176df)](),delete this['_videoSynchronizer']);function _0x30c031(_0x34260d,_0x43dddc){return _0x54a7f1(_0x34260d- -_0x458495._0x2ed540,_0x43dddc);}this['_hasRemoveElement']&&(_0x13aca4=this[_0x30c031(0x768,-0x120)])!==null&&_0x13aca4!==void 0x0&&_0x13aca4['parentNode']&&(this[_0xe3550d(_0x52e58d._0x20a84b,_0x52e58d._0x5920f7)]['parentNode']['removeChild'](this['_videoContainer']),delete this['_hasRemoveElement'],delete this['_videoContainer']);}['_updateDraw'](){const _0x87cc95={_0x3bdd29:0x6fd,_0x417601:0xef0,_0x13bb79:0x160b,_0x1fcf98:0x149f,_0x578c00:0x1655,_0x19ce65:0x955,_0x25dfee:0x6df,_0x1a654f:0x185f,_0x2ad6fe:0x13f0,_0x277b9c:0x26b,_0x1aee88:0xc37,_0x245f9d:0x3ea,_0x30e3d3:0x237,_0x34161c:0x7f,_0x5cad62:0x1e06,_0x5c1832:0x1561,_0x4db6e6:0xa99,_0x431aaa:0x1577,_0x82a056:0x282,_0x54c3f6:0x71d,_0x14c45f:0x16a9,_0x5c6948:0x11bb,_0x4531ee:0xb66,_0x72a5de:0x11f,_0x58f42a:0x793,_0x3137f6:0x17a5,_0x453936:0x703,_0x239fbf:0x16a9,_0x1ded7a:0x1685,_0x5077ef:0x297,_0x38612f:0x119e,_0x5ca2ff:0x16a9,_0x1ee892:0x112d,_0x3fc27a:0x1235,_0x52baf7:0x12e6,_0x2733ae:0x1235,_0x4a4087:0x17b6},_0x29912a={_0x197f53:0x2e0};if(!this[_0xe5614e(_0x87cc95._0x3bdd29,_0x87cc95._0x417601)])return;const _0x5a8414=this[_0xe5614e(_0x87cc95._0x13bb79,_0x87cc95._0x1fcf98)];if(!_0x5a8414)return;function _0x1fa29c(_0x5b56c0,_0x83b31e){return _0x7afdbe(_0x5b56c0,_0x83b31e- -_0x29912a._0x197f53);}const _0x1b9ff8=new Cesium__namespace[(_0xe5614e(0xa8c,0x137b))]['fromDegrees'](this['heading']+0x5a,this[_0xe5614e(0x15bc,_0x87cc95._0x578c00)],this['roll']),_0x34e907=new Cesium__namespace[(_0x1fa29c(0x1345,_0x87cc95._0x19ce65))](this['_map']['scene']);_0x34e907['position']=_0x5a8414,_0x34e907['frustum'][_0x1fa29c(_0x87cc95._0x25dfee,0xd92)]=Cesium__namespace['Math']['toRadians'](this[_0x1fa29c(_0x87cc95._0x1a654f,_0x87cc95._0x2ad6fe)]*0x2),_0x34e907['frustum']['aspectRatio']=this['angle']/this['angle2'],_0x34e907['frustum'][_0x1fa29c(0x140,_0x87cc95._0x277b9c)]=0.01,_0x34e907['frustum'][_0x1fa29c(0x1cea,0x16da)]=this[_0x1fa29c(_0x87cc95._0x1aee88,_0x87cc95._0x245f9d)]['distance'];const _0x71fcbe={};_0x71fcbe['heading']=_0x1b9ff8[_0xe5614e(_0x87cc95._0x30e3d3,_0x87cc95._0x34161c)],_0x71fcbe['pitch']=_0x1b9ff8['pitch'],_0x71fcbe[_0xe5614e(0x165b,0x178e)]=_0x1b9ff8[_0xe5614e(0x165b,_0x87cc95._0x5cad62)];const _0xb515b2={};_0xb515b2['destination']=_0x5a8414,_0xb515b2['orientation']=_0x71fcbe,_0x34e907['setView'](_0xb515b2),this['_createFrustumPrimitive'](_0x34e907);const _0xcde1bf=_0x34e907[_0x1fa29c(_0x87cc95._0x5c1832,_0x87cc95._0x4db6e6)],_0x54721a=_0x34e907[_0xe5614e(_0x87cc95._0x431aaa,0x1754)],_0x3ed9b3=_0x34e907[_0xe5614e(_0x87cc95._0x82a056,-_0x87cc95._0x54c3f6)],_0x30f431=new Cesium__namespace[(_0xe5614e(0x948,0x6fb))](_0x5a8414,_0xcde1bf),_0x24e4b1=Cesium__namespace['Ray'][_0x1fa29c(0x2038,_0x87cc95._0x14c45f)](_0x30f431,this['style']['distance'],new Cesium__namespace[(_0x1fa29c(0x161d,0x1235))]()),_0x446dc0=Cesium__namespace['Math']['toRadians'](this['angle']),_0xab2676=Math[_0x1fa29c(0x13bf,0x13c1)](_0x446dc0),_0x3fa162=this['style'][_0xe5614e(_0x87cc95._0x5c6948,_0x87cc95._0x4531ee)]*_0xab2676,_0x67d82=_0x3fa162/_0x34e907['frustum'][_0x1fa29c(-_0x87cc95._0x72a5de,_0x87cc95._0x58f42a)],_0x2ff6e0=Math['sqrt'](_0x3fa162*_0x3fa162+_0x67d82*_0x67d82),_0x4a1b76=new Cesium__namespace[(_0xe5614e(0x1211,_0x87cc95._0x3137f6))](),_0x39e26c=new Cesium__namespace['Ray'](_0x24e4b1,_0x3ed9b3),_0x33e35a=Cesium__namespace[_0x1fa29c(_0x87cc95._0x453936,0x96c)][_0x1fa29c(0x18c7,_0x87cc95._0x239fbf)](_0x39e26c,_0x3fa162,new Cesium__namespace['Cartesian3']()),_0x48feb5=new Cesium__namespace[(_0x1fa29c(0x82d,0x96c))](_0x33e35a,_0x54721a);Cesium__namespace['Ray'][_0xe5614e(_0x87cc95._0x1ded7a,0x1a0f)](_0x48feb5,_0x67d82,_0x4a1b76);const _0x380412=new Cesium__namespace[(_0xe5614e(0x1211,0xc31))](),_0x57439f=Cesium__namespace['Cartesian3'][_0x1fa29c(_0x87cc95._0x5077ef,0xa22)](_0x54721a,new Cesium__namespace[(_0x1fa29c(_0x87cc95._0x38612f,0x1235))]()),_0x1ce4a0=new Cesium__namespace[(_0x1fa29c(0xac3,0x96c))](_0x33e35a,_0x57439f);Cesium__namespace['Ray'][_0x1fa29c(0xcd2,_0x87cc95._0x5ca2ff)](_0x1ce4a0,_0x67d82,_0x380412);const _0x54fd8a=new Cesium__namespace['Cartesian3'](),_0x115037=Cesium__namespace['Cartesian3'][_0xe5614e(0x119b,0x10b4)](Cesium__namespace['Cartesian3']['subtract'](_0x24e4b1,_0x4a1b76,new Cesium__namespace[(_0x1fa29c(_0x87cc95._0x1ee892,_0x87cc95._0x3fc27a))]()),new Cesium__namespace['Cartesian3']()),_0x44ad2d=new Cesium__namespace['Ray'](_0x24e4b1,_0x115037);Cesium__namespace['Ray'][_0xe5614e(0x1685,_0x87cc95._0x52baf7)](_0x44ad2d,_0x2ff6e0,_0x54fd8a);const _0x25fcbb=new Cesium__namespace['Cartesian3'](),_0x408231=Cesium__namespace[_0x1fa29c(0x1808,_0x87cc95._0x2733ae)][_0x1fa29c(_0x87cc95._0x4a4087,0x11bf)](Cesium__namespace['Cartesian3']['subtract'](_0x24e4b1,_0x380412,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x2f4bf3=new Cesium__namespace['Ray'](_0x24e4b1,_0x408231);function _0xe5614e(_0x1a04bb,_0x3529ab){return _0x7afdbe(_0x3529ab,_0x1a04bb- -0x304);}Cesium__namespace['Ray'][_0xe5614e(_0x87cc95._0x1ded7a,0x1184)](_0x2f4bf3,_0x2ff6e0,_0x25fcbb);const _0x5b0d66=[_0x25fcbb,_0x4a1b76,_0x380412,_0x54fd8a];this[_0xe5614e(0xc67,0xf42)]=_0x5b0d66,this['_positions_draw']&&(this['_positions_draw']=this['_positions']);}[_0x7afdbe(0x5d4,0x86a)](){const _0x48b3cc={_0x56b51a:0x685,_0x3cafcc:0xb34,_0xf6782f:0x4c8},_0x3dcddb={_0x5aa89e:0x130,_0x5d880c:0xf45,_0x22bdf1:0xbe0},_0x55a4c9={_0x313567:0xfb},_0xf241a0={_0x2acdda:0x486},_0x23a4c0={_0x15d229:0x24};function _0x518b9e(_0x24a783,_0x2abd36){return _0x54a7f1(_0x2abd36-_0x23a4c0._0x15d229,_0x24a783);}if(!this[_0x518b9e(-0x136,_0x48b3cc._0x56b51a)])return;function _0x2f8ebb(_0x2bd981,_0x25441b){return _0x7afdbe(_0x25441b,_0x2bd981- -_0xf241a0._0x2acdda);}if(this[_0x2f8ebb(_0x48b3cc._0x3cafcc,0x8bb)]instanceof Cesium__namespace['CallbackProperty']||this[_0x2f8ebb(0xb34,0x9ea)]instanceof Cesium__namespace['SampledPositionProperty']){const _0x1cb642=new Cesium__namespace['PolygonHierarchy']();this['_entity']['polygon']['hierarchy']=new Cesium__namespace['CallbackProperty'](_0x2f427a=>{this[_0xd1aa59(0x2eb,-_0x3dcddb._0x5aa89e)](),_0x1cb642[_0xd1aa59(_0x3dcddb._0x5d880c,0xb46)]=this[_0x5a6695(_0x3dcddb._0x22bdf1,0x3db)];function _0x5a6695(_0x45807a,_0x1681b4){return _0x2f8ebb(_0x45807a-_0x55a4c9._0x313567,_0x1681b4);}function _0xd1aa59(_0x423811,_0x43f67e){return _0x2f8ebb(_0x423811-0xae,_0x43f67e);}return _0x1cb642;},![]);}else this[_0x2f8ebb(0x409,-0x3eb)][_0x518b9e(0xbef,_0x48b3cc._0xf6782f)]['hierarchy']=new Cesium__namespace['PolygonHierarchy'](this['_positions']);}[_0x7afdbe(-0xe4,0x869)](_0x31a1d8){const _0x4c7cc2={_0x423558:0x15b6,_0x12ff73:0x12d8,_0x325b7c:0x42e,_0x5346ec:0xfa0,_0x1c13a2:0xace,_0x23910b:0x11f7,_0x3ffffb:0x54c,_0x22570e:0x447,_0x4fe5aa:0x405,_0x5dcbaa:0xafa,_0x18ce33:0xfd,_0x55001b:0xb09,_0x1cc216:0xd31,_0x518353:0x16c9,_0x120d68:0x10f8,_0x3c04f0:0x98c,_0x157ec5:0x11ed,_0x342d94:0x190,_0x207517:0x390,_0x189c54:0xf8,_0x337754:0xcfa},_0x474b51={_0x375dab:0x97},_0x510ebb=_0x31a1d8[_0x484534(0x804,0x933)],_0x486f1a=_0x31a1d8[_0x30ffa0(_0x4c7cc2._0x423558,_0x4c7cc2._0x12ff73)];let _0x58e690=_0x31a1d8[_0x484534(0x11,_0x4c7cc2._0x325b7c)];_0x58e690=Cesium__namespace[_0x484534(_0x4c7cc2._0x5346ec,0x197b)][_0x30ffa0(0xa3d,0x14eb)](_0x58e690,new Cesium__namespace[(_0x484534(0xfa0,_0x4c7cc2._0x1c13a2))]());const _0x56a155=new Cesium__namespace[(_0x30ffa0(0x1379,_0x4c7cc2._0x23910b))]();Cesium__namespace[_0x30ffa0(0x1379,0x12bc)]['setColumn'](_0x56a155,0x0,_0x58e690,_0x56a155),Cesium__namespace['Matrix3']['setColumn'](_0x56a155,0x1,_0x486f1a,_0x56a155),Cesium__namespace['Matrix3']['setColumn'](_0x56a155,0x2,_0x510ebb,_0x56a155);const _0x2074e2=Cesium__namespace['Quaternion'][_0x30ffa0(0x142c,0x1488)](_0x56a155,new Cesium__namespace['Quaternion']());this[_0x30ffa0(0xfe1,0xb48)]&&this['_layer'][_0x30ffa0(0x3a8,_0x4c7cc2._0x3ffffb)][_0x484534(_0x4c7cc2._0x22570e,-0x658)](this['_frustumPrimitive']);const _0x35eccf={};_0x35eccf[_0x484534(_0x4c7cc2._0x4fe5aa,_0x4c7cc2._0x5dcbaa)]=_0x31a1d8['position'];function _0x484534(_0x15f09f,_0x37aa3e){return _0x54a7f1(_0x15f09f- -0x347,_0x37aa3e);}_0x35eccf['orientation']=_0x2074e2,_0x35eccf['frustum']=_0x31a1d8['frustum'],_0x35eccf[_0x30ffa0(0x3ac,_0x4c7cc2._0x18ce33)]=!![];const _0x1e9d29={};_0x1e9d29['translucent']=![],_0x1e9d29[_0x30ffa0(_0x4c7cc2._0x55001b,0xa34)]=!![];function _0x30ffa0(_0x539270,_0x307f58){return _0x54a7f1(_0x539270- -_0x474b51._0x375dab,_0x307f58);}this[_0x484534(_0x4c7cc2._0x1cc216,0xaeb)]=new Cesium__namespace['Primitive']({'geometryInstances':new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new Cesium__namespace['FrustumOutlineGeometry'](_0x35eccf),'attributes':{'color':Cesium__namespace[_0x30ffa0(0xfc4,_0x4c7cc2._0x518353)][_0x484534(_0x4c7cc2._0x120d68,_0x4c7cc2._0x3c04f0)](Cesium__namespace[_0x30ffa0(_0x4c7cc2._0x157ec5,0x1b98)][_0x30ffa0(0x52c,-_0x4c7cc2._0x342d94)])}}),'appearance':new Cesium__namespace['PerInstanceColorAppearance'](_0x1e9d29),'asynchronous':![],'show':this[_0x484534(0x183,-_0x4c7cc2._0x207517)]&&this['show']}),this['_layer'][_0x484534(_0x4c7cc2._0x189c54,0x8af)]['add'](this[_0x30ffa0(0xfe1,_0x4c7cc2._0x337754)]);}[_0x7afdbe(0xc66,0xa0e)](_0x245325,_0x19f3fd){const _0x1f19a1={_0x22b17f:0xa46,_0x2b4047:0xe63},_0x172e4c={_0x1f9a2e:0x48},_0x37ff5f={};function _0x34a82b(_0x48a521,_0x27aa37){return _0x54a7f1(_0x27aa37- -0x1b7,_0x48a521);}_0x37ff5f['onlySimpleType']=!![];const _0x5c514f=getAttrVal(_0x245325,_0x37ff5f);function _0x40d50b(_0x522426,_0x2f789c){return _0x54a7f1(_0x522426- -_0x172e4c._0x1f9a2e,_0x2f789c);}return this['style'][_0x34a82b(0xd9d,_0x1f19a1._0x22b17f)]&&(_0x5c514f[_0x34a82b(_0x1f19a1._0x2b4047,0xa46)]='document.getElementById('+this['_videoContainer']['id']+')'),_0x5c514f;}['_getGeoJsonGeometry'](_0x2de54c){const _0x4e44a6={_0x3e9f0e:0x117e};function _0x3dcc2c(_0xbd047f,_0x2bb2f4){return _0x54a7f1(_0x2bb2f4-0x232,_0xbd047f);}return{'type':'Point','coordinates':this[_0x3dcc2c(0x799,_0x4e44a6._0x3e9f0e)](_0x2de54c===null||_0x2de54c===void 0x0?void 0x0:_0x2de54c['noAlt'])};}['getCoordinate'](_0x506a6a){const _0x3ec29c={_0x3f94fa:0x1237};function _0xe316e5(_0x46a4cc,_0x1dabf8){return _0x7afdbe(_0x46a4cc,_0x1dabf8- -0x57a);}return this[_0xe316e5(_0x3ec29c._0x3f94fa,0x9d0)]?this['point']['toArray'](_0x506a6a):[];}['setView'](){const _0x5f732b={_0x497751:0x1b6b},_0x2cc711={_0x84a9e2:0x26a},_0x598d53={_0x32857b:0x19b};if(!this['_map'])return;function _0x5e9283(_0x13043c,_0x13a344){return _0x54a7f1(_0x13043c-_0x598d53._0x32857b,_0x13a344);}function _0x30a40e(_0x28f90a,_0x3c7e4a){return _0x54a7f1(_0x3c7e4a- -_0x2cc711._0x84a9e2,_0x28f90a);}this[_0x30a40e(0xff7,0x569)][_0x5e9283(0x6f6,0x7b)]['setView']({'destination':this['position'],'orientation':{'heading':Cesium__namespace['Math']['toRadians'](this[_0x5e9283(0x4a8,0xb38)]),'pitch':Cesium__namespace['Math']['toRadians'](this['pitch']),'roll':Cesium__namespace[_0x5e9283(0x1447,_0x5f732b._0x497751)]['toRadians'](this['roll'])}});}[_0x7afdbe(0x1efe,0x155c)](_0x50d524){const _0x11c81f={_0x27c83d:0xa7d};if(this['_enabledDraw'])return this;this['_enabledDraw']=!![];function _0x24adb0(_0x4817f9,_0x2828bf){return _0x7afdbe(_0x2828bf,_0x4817f9-0x19);}_0x50d524&&this['addTo'](_0x50d524);if(!this[_0x24adb0(0xa1a,0x39b)])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_map']['_setEditCursor'](!![]),this['enableControl'](![]),this['_startDrawHook']();function _0x379faa(_0x24aaf4,_0x3a5054){return _0x7afdbe(_0x3a5054,_0x24aaf4- -0x6ef);}this[_0x24adb0(0x10ff,0xc01)](EventType[_0x379faa(-0xb5,-0xcc)],{'drawType':this[_0x24adb0(_0x11c81f._0x27c83d,0xa6a)],'graphic':this},!![]);}[_0x7afdbe(0x158f,0x1379)](){const _0x565d4c={_0x430be5:0xc8,_0x298aab:0x603,_0x3a589b:0x15ae,_0x2dd599:0x5a9,_0x3c99cc:0x4de,_0x7bf455:0xf45,_0x4860ec:0x13b8,_0x1f4a73:0x651,_0x1001b1:0x178,_0x2e9cb8:0xbbd,_0x5cde72:0xc97,_0x3d4030:0x9e,_0x450b25:0x430},_0x870534={_0x465ec8:0x1e5};function _0x2e653d(_0x2290da,_0x96e546){return _0x54a7f1(_0x2290da- -0x1d0,_0x96e546);}var _0x1a9fa2,_0x138a3f;if(!this['_enabledDraw'])return this;this[_0x2e653d(0x89a,-_0x565d4c._0x430be5)](),this['_map'][_0x2e653d(0x1546,0x1aa4)](![]),this['enableControl'](!![]),this[_0x2e653d(_0x565d4c._0x298aab,0xa3c)]['closeSmallTooltip']();function _0x5864c5(_0x497889,_0x306206){return _0x54a7f1(_0x497889- -_0x870534._0x465ec8,_0x306206);}this[_0x2e653d(0xd82,_0x565d4c._0x3a589b)]=![];if(!this[_0x5864c5(0x14fc,0x1715)]||!this['distance']){this[_0x5864c5(_0x565d4c._0x2dd599,_0x565d4c._0x3c99cc)](!![]);return;}this[_0x2e653d(0xce8,_0x565d4c._0x7bf455)](EventType[_0x5864c5(_0x565d4c._0x4860ec,0xd4a)],{'drawType':this[_0x5864c5(_0x565d4c._0x1f4a73,-0x3dd)],'graphic':this},!![]),(_0x1a9fa2=this['options'])!==null&&_0x1a9fa2!==void 0x0&&_0x1a9fa2['success']&&this[_0x5864c5(0x6cb,0x87b)]['success'](this),(_0x138a3f=this['options'])!==null&&_0x138a3f!==void 0x0&&(_0x138a3f=_0x138a3f[_0x2e653d(0xb3,-_0x565d4c._0x1001b1)])!==null&&_0x138a3f!==void 0x0&&_0x138a3f[_0x5864c5(_0x565d4c._0x2e9cb8,_0x565d4c._0x5cde72)]&&this['options'][_0x5864c5(_0x565d4c._0x3d4030,0x810)][_0x5864c5(0xbbd,_0x565d4c._0x450b25)](this);}[_0x7afdbe(0x96b,0x4ac)](){const _0x2309dc={_0x44fb4b:0x134};function _0x2a0308(_0x37f008,_0x1bcaa4){return _0x54a7f1(_0x37f008-_0x2309dc._0x44fb4b,_0x1bcaa4);}this[_0x2a0308(0x907,0xc7)]['on'](EventType['click'],this['_onClickHandler'],this),this['_map']['on'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);}['_stopDrawHook'](){const _0x42cf7={_0x53d764:0xe44,_0x47bfba:0x12ab};this['_map']['off'](EventType['click'],this[_0x500f81(_0x42cf7._0x53d764,_0x42cf7._0x47bfba)],this);function _0x500f81(_0x1a8989,_0x2ffb0b){return _0x54a7f1(_0x1a8989-0x29,_0x2ffb0b);}function _0x4facd5(_0x3cb189,_0x5aaae6){return _0x54a7f1(_0x5aaae6- -0x50e,_0x3cb189);}this[_0x4facd5(-0x109,0x2c5)]['off'](EventType[_0x500f81(0xb9e,0x438)],this[_0x4facd5(0x8ac,0x4eb)],this);}['_onClickHandler'](_0x539aab){const _0x4efe37={_0x3e21d6:0x5a8,_0x2d966d:0x1343,_0x12d364:0x266},_0x3a0281=_0x539aab[_0x4d446c(-0x927,0x13a)];if(!_0x3a0281)return;_0x539aab={..._0x539aab,'drawType':this['type'],'graphic':this},this['fire'](EventType[_0x937aab(-0x7e,_0x4efe37._0x3e21d6)],_0x539aab,!![]);function _0x937aab(_0x3c9c55,_0x544aef){return _0x7afdbe(_0x3c9c55,_0x544aef- -0x538);}if(!this['position']){this[_0x4d446c(0xd00,_0x4efe37._0x2d966d)]=_0x3a0281;return;}this['targetPosition']=_0x3a0281;function _0x4d446c(_0x540733,_0xe4b043){return _0x7afdbe(_0x540733,_0xe4b043- -0x5cc);}this['stopDraw'](),this[_0x937aab(_0x4efe37._0x12d364,0xbae)](EventType['drawCreated'],_0x539aab);}['_onMouseMoveHandler'](_0x1164a7){const _0x1d408d={_0x19dfd0:0x97b,_0x527d13:0x1929,_0x2a4d15:0x843,_0x249d68:0x129f},_0x3982f9={_0x46d661:0x86},_0x41d2dc=_0x1164a7[_0x31c093(-0x78c,-0xa)];function _0x153a46(_0xe01330,_0x420d91){return _0x7afdbe(_0xe01330,_0x420d91- -_0x3982f9._0x46d661);}if(!_0x41d2dc)return;const _0x28a08d=this['position'];function _0x31c093(_0x42c8ea,_0x21d8a7){return _0x54a7f1(_0x21d8a7- -0x4e2,_0x42c8ea);}_0x28a08d?(this['targetPosition']=_0x41d2dc,this[_0x31c093(0xe6a,0x9d6)](EventType['drawMouseMove'],{..._0x1164a7,'drawType':this[_0x31c093(0xdaf,0x354)],'graphic':this},!![]),this[_0x153a46(0xaf7,_0x1d408d._0x19dfd0)][_0x153a46(0x1937,_0x1d408d._0x527d13)](_0x1164a7['endPosition'],this['_map']['getLangText']('_单击完成绘制'))):this['_map'][_0x31c093(_0x1d408d._0x2a4d15,_0x1d408d._0x249d68)](_0x1164a7['endPosition'],this['_map'][_0x153a46(0x831,0x11ca)](_0x153a46(0x1b9e,0x143c)));}}register$5(_0x7afdbe(0x1547,0xb31),Video2D,!![]);class PitEntity extends BasePolyEntity{constructor(_0x19b931={}){const _0x19beb9={_0x56c71a:0x106e},_0x11d52d={_0x358e35:0x7e},_0x503ce4={_0x4cfc3e:0x20c};function _0x116c96(_0x3d8328,_0x48c618){return _0x7afdbe(_0x48c618,_0x3d8328- -_0x503ce4._0x4cfc3e);}function _0x17369e(_0x31233b,_0x1ed0d7){return _0x7afdbe(_0x31233b,_0x1ed0d7- -_0x11d52d._0x358e35);}super(_0x19b931),this['style']['diffHeight']=this['style'][_0x116c96(_0x19beb9._0x56c71a,0x1692)]??0xa,this['style'][_0x17369e(0x6f7,0xcec)]=this['style']['splitNum']??0x32;}get[_0x54a7f1(0x104c,0xe54)](){return this['style']['diffHeight'];}set[_0x7afdbe(0x1346,0x127a)](_0xb4f4d7){const _0x55fc65={_0x246f3b:0x1137};function _0x310273(_0x3ed050,_0x560249){return _0x54a7f1(_0x560249-0xcf,_0x3ed050);}this['style']['diffHeight']=_0xb4f4d7;function _0x122577(_0x208937,_0x3bbe70){return _0x54a7f1(_0x208937-0x1fe,_0x3bbe70);}if(this['_entity']){const _0x39a3ee=this[_0x122577(0xd74,0x118d)]-this['style']['diffHeight'];this['_entity']['polygon'][_0x310273(0x13b,0x736)]=_0x39a3ee;const _0xab6193=Array(this[_0x310273(0x1655,0x15b1)]['length'])['fill'](_0x39a3ee);this['_entity'][_0x310273(0x8f6,_0x55fc65._0x246f3b)]['minimumHeights']=_0xab6193;}}['_mountedHook'](){const _0x3a8df7={_0x4dba24:0x2f9,_0x2948dd:0x58b,_0x687942:0x816,_0x4fe8d9:0xfb5,_0x50cb0e:0x1743,_0x2a14f1:0x36c,_0x2b3a85:0x810,_0x329878:0xa98,_0x2d0ee8:0x1632,_0x50f943:0x151f,_0x559385:0xe09,_0x27d2af:0x13e8,_0x365f4f:0xeea,_0x2df650:0x910,_0x57a981:0x212,_0x4f0a5c:0xb19},_0x1a2acc={_0x47932d:0x2ab},_0x21f2de=this['options']['data']||this['_getPitData']();this[_0xbb41c8(0xb5d,0x20c)]=_0x21f2de;function _0xbb41c8(_0x3cd691,_0x1372e0){return _0x54a7f1(_0x3cd691- -0x112,_0x1372e0);}const _0x262a51={'polygon':new Cesium__namespace[(_0x5a8c62(_0x3a8df7._0x4dba24,_0x3a8df7._0x2948dd))]({'hierarchy':new Cesium__namespace[(_0x5a8c62(-0x1b5,_0x3a8df7._0x687942))](this['positions']),'perPositionHeight':![],'height':_0x21f2de['height'],'material':new Cesium__namespace['ImageMaterialProperty']({'image':this['style'][_0x5a8c62(_0x3a8df7._0x4fe8d9,_0x3a8df7._0x50cb0e)],'repeat':new Cesium__namespace['Cartesian2'](0x2,0x2),'transparent':![]}),'fill':!![],'outline':![]}),'wall':{'positions':_0x21f2de[_0xbb41c8(_0x3a8df7._0x2a14f1,-0x252)],'minimumHeights':_0x21f2de[_0xbb41c8(0xd71,_0x3a8df7._0x2b3a85)],'maximumHeights':_0x21f2de['maximumHeights'],'fill':!![],'material':new Cesium__namespace['ImageMaterialProperty']({'image':this['style']['image'],'repeat':new Cesium__namespace['Cartesian2'](this['style'][_0x5a8c62(0x45a,0x82e)]??0x32,this['style'][_0xbb41c8(0xe82,_0x3a8df7._0x329878)]??0x1)}),'outline':![]}};this['_entity']=this[_0xbb41c8(_0x3a8df7._0x2d0ee8,_0x3a8df7._0x50f943)](_0x262a51),this['_minHeight']=_0x21f2de[_0xbb41c8(_0x3a8df7._0x559385,0x158b)];function _0x5a8c62(_0x7279dc,_0x96817f){return _0x54a7f1(_0x96817f-_0x1a2acc._0x47932d,_0x7279dc);}this[_0xbb41c8(0x13d0,_0x3a8df7._0x27d2af)]=_0x21f2de[_0x5a8c62(0x5ee,0x729)],this[_0xbb41c8(_0x3a8df7._0x365f4f,0x4ba)]=_0x21f2de[_0x5a8c62(0x1186,0xfb0)],this['style']['label']&&this['_addLabel'](this[_0x5a8c62(_0x3a8df7._0x2df650,0x747)][_0xbb41c8(_0x3a8df7._0x57a981,_0x3a8df7._0x4f0a5c)]);}[_0x7afdbe(0xfd,0x8c0)](){const _0x52630f={_0x31042b:0xc21,_0x27736c:0xbb1,_0xcc0395:0x646,_0x509054:0x96f,_0x3cafb6:0xce4,_0x4a43be:0x321,_0x2cecf4:0xab7,_0x3112de:0x7d9,_0x46371f:0x9b5},_0x354792={_0xa1944f:0x4ce};function _0x3384a3(_0x1376b6,_0x355ce0){return _0x54a7f1(_0x1376b6- -0x17b,_0x355ce0);}const _0x2c15df=this[_0x28d502(_0x52630f._0x31042b,0x9b1)],_0x545628=interPolyline({'scene':this['_map'][_0x28d502(_0x52630f._0x27736c,0x1db)],'positions':_0x2c15df[_0x3384a3(0x84a,_0x52630f._0xcc0395)](_0x2c15df[0x0]),'splitNum':this['style']['splitNum']}),_0x39debf=[];let _0x4e035c=Number[_0x3384a3(0xf24,0x82c)];function _0x28d502(_0x266ef4,_0x4dbb98){return _0x54a7f1(_0x266ef4- -_0x354792._0xa1944f,_0x4dbb98);}for(let _0x59db36=0x0,_0x51abfd=_0x545628['length'];_0x59db36<_0x51abfd;_0x59db36++){const _0x4a6ad2=Cesium__namespace['Cartographic']['fromCartesian'](_0x545628[_0x59db36]);_0x4e035c=Math['min'](_0x4e035c,_0x4a6ad2[_0x28d502(0x199,_0x52630f._0x509054)]),_0x39debf[_0x3384a3(0xd8d,_0x52630f._0x3cafb6)](_0x4a6ad2['height']);}const _0x2cf99f=_0x4e035c-this[_0x3384a3(_0x52630f._0x4a43be,0x444)]['diffHeight'],_0x5b553f=Array(_0x545628[_0x28d502(_0x52630f._0x2cecf4,_0x52630f._0x3112de)])['fill'](_0x2cf99f),_0x525782={};return _0x525782['height']=_0x2cf99f,_0x525782[_0x28d502(0xa4d,0x106f)]=_0x4e035c,_0x525782['positionsWall']=_0x545628,_0x525782[_0x28d502(_0x52630f._0x46371f,0x22e)]=_0x5b553f,_0x525782[_0x28d502(0x837,0x14c)]=_0x39debf,_0x525782;}[_0x54a7f1(0x142c,0x19be)](_0x19a489){const _0x4a3a6b={_0x3dd231:0x17f6,_0x48172d:0xe0e,_0x176ccb:0x82,_0x892c7a:0x363,_0x40f07f:0x8f3,_0x4ba34d:0x8f9,_0x3a7edf:0x189e},_0x4e4ee0={_0x30b66d:0x367},_0x26e1f2=this[_0x25903b(_0x4a3a6b._0x3dd231,_0x4a3a6b._0x48172d)]-this[_0x394023(-_0x4a3a6b._0x176ccb,_0x4a3a6b._0x892c7a)]['diffHeight'],_0x41a040=_0x26e1f2+_0x19a489;function _0x394023(_0x51df5d,_0x44303e){return _0x7afdbe(_0x51df5d,_0x44303e- -_0x4e4ee0._0x30b66d);}const _0x10d9cc=[],_0x484635=[];function _0x25903b(_0x3626ed,_0xc7a733){return _0x7afdbe(_0x3626ed,_0xc7a733-0x6a);}for(let _0x3b5b36=0x0,_0x109bf2=this['_wallHeights']['length'];_0x3b5b36<_0x109bf2;_0x3b5b36++){const _0x315cbf=this['_wallHeights'][_0x3b5b36];_0x484635['push'](_0x315cbf+_0x19a489),_0x10d9cc['push'](_0x41a040);}this['_entity']&&(this['_isCallbackPositions']?(this['_height']=_0x26e1f2,this['_minimumHeights']=_0x10d9cc,this['_maximumHeights']=_0x484635):(this[_0x25903b(0xc76,0x8f9)]['polygon']['height']=_0x26e1f2,this[_0x25903b(_0x4a3a6b._0x40f07f,_0x4a3a6b._0x4ba34d)][_0x25903b(_0x4a3a6b._0x3a7edf,0x1300)]['minimumHeights']=_0x10d9cc,this['_entity'][_0x25903b(0x1173,0x1300)]['maximumHeights']=_0x484635));}[_0x7afdbe(0x3db,0x738)](){const _0x55d674={_0x32eff0:0xdde,_0x3ec9bc:0x44a,_0x521a20:0xc66,_0xc4e94d:0x608,_0x5733fe:0x31f,_0x89621a:0x912,_0x254a9e:0xb2d,_0x1b537a:0xa91,_0x20fa4f:0xc44,_0x21d217:0x444,_0x58f5c0:0xe4b,_0x15b4c0:0xe24,_0x12286b:0x621};function _0x3d5bf0(_0x4e0ba2,_0x48cae2){return _0x7afdbe(_0x4e0ba2,_0x48cae2-0x7d);}if(this[_0x3d5bf0(0x1236,0x128c)])return;this['_isCallbackPositions']=!![],this['_height']=this['_entity']['polygon'][_0x40e2e1(_0x55d674._0x32eff0,_0x55d674._0x3ec9bc)],this['_minimumHeights']=this['_entity']['wall'][_0x40e2e1(0x48a,_0x55d674._0x521a20)],this['_maximumHeights']=this['_entity']['wall'][_0x40e2e1(_0x55d674._0xc4e94d,0xae8)],this['_entity'][_0x3d5bf0(-0x83,0x74f)][_0x3d5bf0(_0x55d674._0x5733fe,_0x55d674._0x89621a)]=new Cesium__namespace[(_0x40e2e1(0x1234,_0x55d674._0x254a9e))](_0x5a522d=>{function _0x40c9da(_0x2a643b,_0x53d835){return _0x3d5bf0(_0x2a643b,_0x53d835- -0x2ff);}return this[_0x40c9da(0xa4a,0x1000)];},![]),this[_0x3d5bf0(_0x55d674._0x1b537a,0x90c)]['wall']['minimumHeights']=new Cesium__namespace[(_0x40e2e1(0x943,_0x55d674._0x254a9e))](_0x84c80e=>{return this['_minimumHeights'];},![]);function _0x40e2e1(_0x3a82a0,_0xc2c122){return _0x54a7f1(_0xc2c122- -0x21d,_0x3a82a0);}this[_0x40e2e1(_0x55d674._0x20fa4f,_0x55d674._0x21d217)][_0x40e2e1(0x1241,_0x55d674._0x58f5c0)][_0x40e2e1(_0x55d674._0x15b4c0,0xae8)]=new Cesium__namespace[(_0x3d5bf0(_0x55d674._0x12286b,0xff5))](_0x31203d=>{return this['_maximumHeights'];},![]);}}register$5(_0x54a7f1(0xfed,0x600),PitEntity);class AlgorithmUtil{constructor(){this['HALF_PI']=Math['PI']/0x2,this['ZERO_TOLERANCE']=0.0001;}['toRadians'](_0x55a45b){return _0x55a45b*Math['PI']/0xb4;}[_0x54a7f1(0xd24,0x14af)](_0x310846,_0x59bcbc,_0x13abad,_0x4d5194,_0xfd944c){const _0x2d9fa6=this['getAzimuth'](_0x310846,_0x59bcbc),_0x1b5b0b=_0xfd944c?_0x2d9fa6+_0x13abad:_0x2d9fa6-_0x13abad,_0x3590ea=_0x4d5194*Math['cos'](_0x1b5b0b),_0x5166c9=_0x4d5194*Math['sin'](_0x1b5b0b);return[_0x59bcbc[0x0]+_0x3590ea,_0x59bcbc[0x1]+_0x5166c9];}[_0x54a7f1(0x12f4,0xbef)](_0x1607c9,_0xd1ebb){const _0x4bb569={_0x1edbf3:0x4ea};let _0x39c618=0x0;const _0x42653e=Math[_0x53aeac(0x80e,0x10a1)](Math['abs'](_0xd1ebb[0x1]-_0x1607c9[0x1])/this['MathDistance'](_0x1607c9,_0xd1ebb));if(_0xd1ebb[0x1]>=_0x1607c9[0x1]&&_0xd1ebb[0x0]>=_0x1607c9[0x0])_0x39c618=_0x42653e+Math['PI'];else{if(_0xd1ebb[0x1]>=_0x1607c9[0x1]&&_0xd1ebb[0x0]<_0x1607c9[0x0])_0x39c618=Math['PI']*0x2-_0x42653e;else{if(_0xd1ebb[0x1]<_0x1607c9[0x1]&&_0xd1ebb[0x0]<_0x1607c9[0x0])_0x39c618=_0x42653e;else _0xd1ebb[0x1]<_0x1607c9[0x1]&&_0xd1ebb[0x0]>=_0x1607c9[0x0]&&(_0x39c618=Math['PI']-_0x42653e);}}function _0x53aeac(_0x56b252,_0x1c1c7d){return _0x7afdbe(_0x56b252,_0x1c1c7d- -_0x4bb569._0x1edbf3);}return _0x39c618;}['MathDistance'](_0x5d1749,_0x2399a4){const _0x2a3d4f={_0x2bc412:0x532};function _0x3feebd(_0x7215c9,_0x4a3465){return _0x7afdbe(_0x4a3465,_0x7215c9- -_0x2a3d4f._0x2bc412);}return Math[_0x3feebd(0xb00,0x10fc)](Math['pow'](_0x5d1749[0x0]-_0x2399a4[0x0],0x2)+Math['pow'](_0x5d1749[0x1]-_0x2399a4[0x1],0x2));}['isClockWise'](_0x232eed,_0x546d32,_0xb96dee){if(!_0xb96dee)return![];return(_0xb96dee[0x1]-_0x232eed[0x1])*(_0x546d32[0x0]-_0x232eed[0x0])>(_0x546d32[0x1]-_0x232eed[0x1])*(_0xb96dee[0x0]-_0x232eed[0x0]);}['getBisectorNormals'](_0x5c619d,_0x3e79de,_0x389821,_0x3d340f){const _0x1ecc1d={_0x4e9618:0x98a,_0x3730f2:0x41f,_0x1fd049:0x1476,_0x2a530b:0xf87};function _0x58cb3f(_0x57db86,_0x32ecdb){return _0x54a7f1(_0x32ecdb- -0x438,_0x57db86);}const _0x6c9b6a=this[_0x58cb3f(-_0x1ecc1d._0x4e9618,0xd1)](_0x3e79de,_0x389821,_0x3d340f);let _0x329ce1=null,_0x577ef6=null,_0x198aea=null,_0x481d28=null,_0x43c997=null;const _0x430840=Math[_0x58cb3f(_0x1ecc1d._0x3730f2,0x9cc)](_0x6c9b6a[0x0]*_0x6c9b6a[0x0]+_0x6c9b6a[0x1]*_0x6c9b6a[0x1]),_0x1f7cc0=_0x6c9b6a[0x0]/_0x430840,_0x3e91c0=_0x6c9b6a[0x1]/_0x430840,_0x43e1ce=this[_0x20667e(_0x1ecc1d._0x1fd049,_0x1ecc1d._0x2a530b)](_0x3e79de,_0x389821),_0x7c63ea=this['MathDistance'](_0x389821,_0x3d340f);_0x430840>this['ZERO_TOLERANCE']?this['isClockWise'](_0x3e79de,_0x389821,_0x3d340f)?(_0x198aea=_0x5c619d*_0x43e1ce,_0x481d28=_0x389821[0x0]-_0x198aea*_0x3e91c0,_0x43c997=_0x389821[0x1]+_0x198aea*_0x1f7cc0,_0x329ce1=[_0x481d28,_0x43c997],_0x198aea=_0x5c619d*_0x7c63ea,_0x481d28=_0x389821[0x0]+_0x198aea*_0x3e91c0,_0x43c997=_0x389821[0x1]-_0x198aea*_0x1f7cc0,_0x577ef6=[_0x481d28,_0x43c997]):(_0x198aea=_0x5c619d*_0x43e1ce,_0x481d28=_0x389821[0x0]+_0x198aea*_0x3e91c0,_0x43c997=_0x389821[0x1]-_0x198aea*_0x1f7cc0,_0x329ce1=[_0x481d28,_0x43c997],_0x198aea=_0x5c619d*_0x7c63ea,_0x481d28=_0x389821[0x0]-_0x198aea*_0x3e91c0,_0x43c997=_0x389821[0x1]+_0x198aea*_0x1f7cc0,_0x577ef6=[_0x481d28,_0x43c997]):(_0x481d28=_0x389821[0x0]+_0x5c619d*(_0x3e79de[0x0]-_0x389821[0x0]),_0x43c997=_0x389821[0x1]+_0x5c619d*(_0x3e79de[0x1]-_0x389821[0x1]),_0x329ce1=[_0x481d28,_0x43c997],_0x481d28=_0x389821[0x0]+_0x5c619d*(_0x3d340f[0x0]-_0x389821[0x0]),_0x43c997=_0x389821[0x1]+_0x5c619d*(_0x3d340f[0x1]-_0x389821[0x1]),_0x577ef6=[_0x481d28,_0x43c997]);function _0x20667e(_0x3d9dd9,_0x11e8ea){return _0x54a7f1(_0x11e8ea- -0x3cd,_0x3d9dd9);}return[_0x329ce1,_0x577ef6];}[_0x54a7f1(0xcd8,0x59b)](_0x43b9e7,_0x4dad93,_0xf4abb2,_0x542e1f,_0x6c4910){const _0x20c351={_0x52472b:0x9be};_0x43b9e7=Math['max'](Math[_0x1737b8(_0x20c351._0x52472b,0xda2)](_0x43b9e7,0x1),0x0);const _0x3257b8=0x1-_0x43b9e7,_0x4c3fa7=_0x43b9e7*_0x43b9e7,_0x2250d5=_0x4c3fa7*_0x43b9e7,_0x2a2d70=_0x3257b8*_0x3257b8,_0x4707cc=_0x2a2d70*_0x3257b8,_0x28245b=_0x4707cc*_0x4dad93[0x0]+0x3*_0x2a2d70*_0x43b9e7*_0xf4abb2[0x0]+0x3*_0x3257b8*_0x4c3fa7*_0x542e1f[0x0]+_0x2250d5*_0x6c4910[0x0];function _0x1737b8(_0x3b1966,_0x826e05){return _0x54a7f1(_0x826e05- -0x9,_0x3b1966);}const _0x59037b=_0x4707cc*_0x4dad93[0x1]+0x3*_0x2a2d70*_0x43b9e7*_0xf4abb2[0x1]+0x3*_0x3257b8*_0x4c3fa7*_0x542e1f[0x1]+_0x2250d5*_0x6c4910[0x1];return[_0x28245b,_0x59037b];}['getNormal'](_0x11530e,_0x140cab,_0x1dc2c4){let _0x5665fa=_0x11530e[0x0]-_0x140cab[0x0],_0x7d382=_0x11530e[0x1]-_0x140cab[0x1];const _0x4fb2=Math['sqrt'](_0x5665fa*_0x5665fa+_0x7d382*_0x7d382);_0x5665fa/=_0x4fb2,_0x7d382/=_0x4fb2;let _0x36440f=_0x1dc2c4[0x0]-_0x140cab[0x0],_0x52da9d=_0x1dc2c4[0x1]-_0x140cab[0x1];const _0x4f7d02=Math['sqrt'](_0x36440f*_0x36440f+_0x52da9d*_0x52da9d);_0x36440f/=_0x4f7d02,_0x52da9d/=_0x4f7d02;const _0x2633c5=_0x5665fa+_0x36440f,_0x2f416d=_0x7d382+_0x52da9d;return[_0x2633c5,_0x2f416d];}['getArcPoints'](_0xc44eda,_0x5e917e,_0x188dd3,_0xfe9424){const _0x2f9c05={_0x2a0692:0x149c,_0xe43f06:0x9d9},_0x33d5c0={_0x5dbf08:0x2b8};let _0x290ecc=null,_0x66b124=null;const _0x29bc6d=[];let _0x1555ef=_0xfe9424-_0x188dd3;_0x1555ef=_0x1555ef<0x0?_0x1555ef+Math['PI']*0x2:_0x1555ef;for(let _0x4880a3=0x0;_0x4880a3<=0x64;_0x4880a3++){const _0x142cd2=_0x188dd3+_0x1555ef*_0x4880a3/0x64;_0x290ecc=_0xc44eda[0x0]+_0x5e917e*Math[_0x3b0c04(_0x2f9c05._0x2a0692,_0x2f9c05._0xe43f06)](_0x142cd2),_0x66b124=_0xc44eda[0x1]+_0x5e917e*Math['sin'](_0x142cd2),_0x29bc6d['push']([_0x290ecc,_0x66b124]);}function _0x3b0c04(_0xec7be,_0x22c5fe){return _0x54a7f1(_0xec7be- -_0x33d5c0._0x5dbf08,_0x22c5fe);}return _0x29bc6d;}['getPointByAngleAndLen'](_0x355001,_0x4db53b,_0x1b032c){const _0x260770={_0x57fd15:0x1930},_0x5af69f=_0x355001[0x0]+_0x4db53b*Math[_0x548b3a(0x1e20,_0x260770._0x57fd15)](_0x1b032c);function _0x548b3a(_0x1b56f0,_0x3725f7){return _0x7afdbe(_0x1b56f0,_0x3725f7- -0x52);}const _0x5c9b14=_0x355001[0x1]+_0x4db53b*Math['sin'](_0x1b032c);return[_0x5af69f,_0x5c9b14];}['getBaseLength'](_0x2bc90c){function _0x38ab8c(_0x1e88a9,_0x21c376){return _0x54a7f1(_0x21c376- -0x346,_0x1e88a9);}return Math[_0x38ab8c(0x6d1,-0xb1)](this['wholeDistance'](_0x2bc90c),0.99);}['wholeDistance'](_0x2e0385){const _0x26f971={_0x5e00fc:0x171d};let _0x1a4bba=0x0;function _0x4d6d7a(_0x18c249,_0x18da54){return _0x7afdbe(_0x18da54,_0x18c249- -0x16c);}const _0x4547b8=this;_0x2e0385&&Array[_0xad2c04(0x1004,_0x26f971._0x5e00fc)](_0x2e0385)&&_0x2e0385['length']>0x0&&_0x2e0385[_0x4d6d7a(0x707,-0x3b2)](function(_0x34198d,_0xa7ef6e){_0xa7ef6e<_0x2e0385['length']-0x1&&(_0x1a4bba+=_0x4547b8['MathDistance'](_0x34198d,_0x2e0385[_0xa7ef6e+0x1]));});function _0xad2c04(_0x40c296,_0x385403){return _0x54a7f1(_0x40c296- -0x46a,_0x385403);}return _0x1a4bba;}[_0x7afdbe(0xa3a,0x5f1)](_0x3ae08c){const _0x496c14={_0xcacafe:0x8c1,_0x79c9f8:0x1199,_0x5a1bb0:0xb30,_0x5b4332:0xfc1,_0x35e0cc:0x1181,_0x1efd1c:0x1150},_0x64052f={_0x271f81:0x303};if(!_0x3ae08c)return[];const _0x5e132c=_0x3ae08c[_0x2d50c5(_0x496c14._0xcacafe,0x87c)];if(_0x5e132c['length']<0x2)return[];const _0x1e5ca2=_0x3ae08c['tailLeft'],_0x1313b4=_0x3ae08c['tailRight'],_0x34954a=_0x3ae08c['headTailFactor'],_0x51d4ad=_0x3ae08c[_0x2d50c5(0x1416,_0x496c14._0x79c9f8)],_0x4ff57f=_0x3ae08c['neckHeightFactor'],_0x31c4c7=_0x3ae08c['headWidthFactor'],_0x446946=_0x3ae08c['headHeightFactor'];let _0x12068d=this[_0x229a4d(_0x496c14._0x5a1bb0,0x715)](_0x5e132c),_0x5e2754=_0x12068d*_0x446946;function _0x2d50c5(_0xabed18,_0x112bb0){return _0x54a7f1(_0x112bb0-0x3c,_0xabed18);}const _0x672359=_0x5e132c[_0x5e132c[_0x2d50c5(0x16bc,_0x496c14._0x5b4332)]-0x1];function _0x229a4d(_0x2eaa17,_0x47cad6){return _0x7afdbe(_0x47cad6,_0x2eaa17- -_0x64052f._0x271f81);}_0x12068d=this['MathDistance'](_0x672359,_0x5e132c[_0x5e132c['length']-0x2]);const _0x4bf29f=this['MathDistance'](_0x1e5ca2,_0x1313b4);_0x5e2754>_0x4bf29f*_0x34954a&&(_0x5e2754=_0x4bf29f*_0x34954a);const _0x4461dd=_0x5e2754*_0x31c4c7,_0x1a15e8=_0x5e2754*_0x51d4ad;_0x5e2754=_0x5e2754>_0x12068d?_0x12068d:_0x5e2754;const _0x4f1603=_0x5e2754*_0x4ff57f,_0x17684a=this['getThirdPoint'](_0x5e132c[_0x5e132c['length']-0x2],_0x672359,0x0,_0x5e2754,!![]),_0x441430=this['getThirdPoint'](_0x5e132c[_0x5e132c['length']-0x2],_0x672359,0x0,_0x4f1603,!![]),_0x170c8e=this[_0x229a4d(0xc4f,0x113c)](_0x672359,_0x17684a,this[_0x229a4d(0x16cf,0x14c1)],_0x4461dd,![]),_0x5e574a=this[_0x2d50c5(0x4c6,0xd60)](_0x672359,_0x17684a,this['HALF_PI'],_0x4461dd,!![]),_0x3b11e4=this[_0x2d50c5(0x79c,0xd60)](_0x672359,_0x441430,this[_0x229a4d(0x16cf,_0x496c14._0x35e0cc)],_0x1a15e8,![]),_0x492862=this['getThirdPoint'](_0x672359,_0x441430,this[_0x2d50c5(_0x496c14._0x1efd1c,0x17e0)],_0x1a15e8,!![]);return[_0x3b11e4,_0x170c8e,_0x672359,_0x5e574a,_0x492862];}['getTailPoints'](_0x1a5f25){const _0xe5d2a3={_0x2fddd8:0x238c,_0xe7163e:0xfc2},_0x4a712f={_0x46823d:0x43a},_0x45f0d2={_0x52ebcb:0x1d2};if(!_0x1a5f25)return;function _0x2c580f(_0x4b76e8,_0x374887){return _0x54a7f1(_0x374887-_0x45f0d2._0x52ebcb,_0x4b76e8);}const _0x55ee3c=_0x1a5f25[_0x4a9c08(-0x394,0x634)],_0x10ff5b=_0x1a5f25['tailWidthFactor'],_0x13e8df=_0x1a5f25[_0x2c580f(_0xe5d2a3._0x2fddd8,0x193b)],_0x43fac3=this[_0x2c580f(0x8da,0xdd7)](_0x55ee3c),_0x23321e=_0x43fac3*_0x10ff5b,_0x2a29e1=this['getThirdPoint'](_0x55ee3c[0x1],_0x55ee3c[0x0],this['HALF_PI'],_0x23321e,![]),_0x8dad3b=this[_0x4a9c08(_0xe5d2a3._0xe7163e,0xb18)](_0x55ee3c[0x1],_0x55ee3c[0x0],this['HALF_PI'],_0x23321e,!![]);function _0x4a9c08(_0x2fd1cf,_0x1ce454){return _0x7afdbe(_0x2fd1cf,_0x1ce454- -_0x4a712f._0x46823d);}const _0x3048a4=_0x23321e*_0x13e8df,_0x2ce874=this['getThirdPoint'](_0x55ee3c[0x1],_0x55ee3c[0x0],0x0,_0x3048a4,!![]);return[_0x2a29e1,_0x2ce874,_0x8dad3b];}[_0x7afdbe(-0x1b3,0x6b1)](_0x4c36bd,_0xb1f782,_0x51e656,_0xda6195){const _0x4dca01={_0x557bf8:0x18d2,_0xc2037a:0x6ec,_0x29becc:0xf9c,_0x4f83ef:0x1bc1,_0x465090:0x1180,_0xdaf0fd:0xea},_0x4c0095=this['wholeDistance'](_0x4c36bd),_0x4c40b2=this[_0x2130a0(_0x4dca01._0x557bf8,0xe7d)](_0x4c36bd),_0xff54d=_0x4c40b2*_0xda6195;function _0x2130a0(_0x423f59,_0x277614){return _0x54a7f1(_0x277614-0x278,_0x423f59);}const _0x22f84b=this['MathDistance'](_0xb1f782,_0x51e656);function _0xc47025(_0x366dfb,_0x363bd1){return _0x54a7f1(_0x363bd1- -0x127,_0x366dfb);}const _0x589cec=(_0xff54d-_0x22f84b)/0x2;let _0x57f472=0x0;const _0x25c336=[],_0x5d84d0=[];for(let _0x6441e0=0x1;_0x6441e0<_0x4c36bd['length']-0x1;_0x6441e0++){const _0x1d278b=this['getAngleOfThreePoints'](_0x4c36bd[_0x6441e0-0x1],_0x4c36bd[_0x6441e0],_0x4c36bd[_0x6441e0+0x1])/0x2;_0x57f472+=this['MathDistance'](_0x4c36bd[_0x6441e0-0x1],_0x4c36bd[_0x6441e0]);const _0x2ca83e=(_0xff54d/0x2-_0x57f472/_0x4c0095*_0x589cec)/Math[_0x2130a0(0x259,_0x4dca01._0xc2037a)](_0x1d278b),_0x9631f8=this['getThirdPoint'](_0x4c36bd[_0x6441e0-0x1],_0x4c36bd[_0x6441e0],Math['PI']-_0x1d278b,_0x2ca83e,!![]),_0x15a0cd=this[_0x2130a0(0x14b8,_0x4dca01._0x29becc)](_0x4c36bd[_0x6441e0-0x1],_0x4c36bd[_0x6441e0],_0x1d278b,_0x2ca83e,![]);_0x25c336[_0x2130a0(_0x4dca01._0x4f83ef,_0x4dca01._0x465090)](_0x9631f8),_0x5d84d0['push'](_0x15a0cd);}return _0x25c336[_0xc47025(_0x4dca01._0xdaf0fd,0x89e)](_0x5d84d0);}[_0x7afdbe(0xf34,0xc16)](_0x4cc37e,_0x4391db,_0xb66ee8){const _0x23764a={_0x3ada58:0x5b6};function _0x2bf5ab(_0x418189,_0x33735f){return _0x7afdbe(_0x418189,_0x33735f- -_0x23764a._0x3ada58);}const _0x35cea9=this['getAzimuth'](_0x4391db,_0x4cc37e)-this[_0x2bf5ab(0x1746,0xf6c)](_0x4391db,_0xb66ee8);return _0x35cea9<0x0?_0x35cea9+Math['PI']*0x2:_0x35cea9;}['getQBSplinePoints'](_0x5525b8){const _0xcd2e0c={_0x89b673:0x1327,_0x22cac3:0x697,_0x82bfb5:0x10ea,_0x1f920b:0xeb9,_0x2d2e58:0x830,_0x4b85fe:0xbc3,_0x18d1ce:0x106d},_0x44e8c5={_0x29e408:0x27d};function _0x2a7bbe(_0x2335b0,_0x5c1df3){return _0x7afdbe(_0x5c1df3,_0x2335b0- -_0x44e8c5._0x29e408);}function _0x21ea2d(_0x5f38bf,_0x1f278f){return _0x54a7f1(_0x1f278f-0x165,_0x5f38bf);}if(_0x5525b8[_0x21ea2d(_0xcd2e0c._0x89b673,0x10ea)]<=0x2)return _0x5525b8;else{const _0x43f66e=0x2,_0x29b08e=[],_0x42f085=_0x5525b8[_0x21ea2d(_0xcd2e0c._0x22cac3,_0xcd2e0c._0x82bfb5)]-_0x43f66e-0x1;_0x29b08e[_0x2a7bbe(_0xcd2e0c._0x1f920b,0x780)](_0x5525b8[0x0]);for(let _0xa9389f=0x0;_0xa9389f<=_0x42f085;_0xa9389f++){for(let _0x1616bc=0x0;_0x1616bc<=0x1;_0x1616bc+=0.05){let _0xca3e88=0x0,_0x383249=0x0;for(let _0xf7d632=0x0;_0xf7d632<=_0x43f66e;_0xf7d632++){const _0xbc9b47=this[_0x21ea2d(_0xcd2e0c._0x2d2e58,_0xcd2e0c._0x4b85fe)](_0xf7d632,_0x1616bc);_0xca3e88+=_0xbc9b47*_0x5525b8[_0xa9389f+_0xf7d632][0x0],_0x383249+=_0xbc9b47*_0x5525b8[_0xa9389f+_0xf7d632][0x1];}_0x29b08e['push']([_0xca3e88,_0x383249]);}}return _0x29b08e[_0x21ea2d(0xce2,_0xcd2e0c._0x18d1ce)](_0x5525b8[_0x5525b8[_0x21ea2d(0x18ae,0x10ea)]-0x1]),_0x29b08e;}}['getQuadricBSplineFactor'](_0x273864,_0x2c5ff1){const _0x3a5525={_0x3e72d2:0x348,_0x9b8462:0xa04};let _0x1bd697=0x0;function _0x35b0d6(_0x2184e2,_0x379a37){return _0x54a7f1(_0x2184e2-0xb3,_0x379a37);}if(_0x273864===0x0)_0x1bd697=Math['pow'](_0x2c5ff1-0x1,0x2)/0x2;else{if(_0x273864===0x1)_0x1bd697=(-0x2*Math['pow'](_0x2c5ff1,0x2)+0x2*_0x2c5ff1+0x1)/0x2;else _0x273864===0x2&&(_0x1bd697=Math[_0x35b0d6(_0x3a5525._0x3e72d2,_0x3a5525._0x9b8462)](_0x2c5ff1,0x2)/0x2);}return _0x1bd697;}[_0x54a7f1(0x255,-0x4c0)](_0x398bcf,_0x530a80){return[(_0x398bcf[0x0]+_0x530a80[0x0])/0x2,(_0x398bcf[0x1]+_0x530a80[0x1])/0x2,(_0x398bcf[0x2]||0x0+_0x530a80[0x2]||0x0)/0x2];}['getCircleCenterOfThreePoints'](_0x245edf,_0x14c92d,_0x13f9bc){const _0x19aebe=_0x245edf[0x2]||0x0,_0x336775=[(_0x245edf[0x0]+_0x14c92d[0x0])/0x2,(_0x245edf[0x1]+_0x14c92d[0x1])/0x2,_0x19aebe],_0x39b973=[_0x336775[0x0]-_0x245edf[0x1]+_0x14c92d[0x1],_0x336775[0x1]+_0x245edf[0x0]-_0x14c92d[0x0],_0x19aebe],_0x4aa78a=[(_0x245edf[0x0]+_0x13f9bc[0x0])/0x2,(_0x245edf[0x1]+_0x13f9bc[0x1])/0x2,_0x19aebe],_0x381e11=[_0x4aa78a[0x0]-_0x245edf[0x1]+_0x13f9bc[0x1],_0x4aa78a[0x1]+_0x245edf[0x0]-_0x13f9bc[0x0],_0x19aebe];return this['getIntersectPoint'](_0x336775,_0x39b973,_0x4aa78a,_0x381e11);}[_0x54a7f1(0x14fa,0x1a24)](_0x23204f,_0x4b9294,_0xfef5b5,_0x555432){if(_0x23204f[0x1]===_0x4b9294[0x1]){const _0x1941f0=(_0x555432[0x0]-_0xfef5b5[0x0])/(_0x555432[0x1]-_0xfef5b5[0x1]),_0x3586e6=_0x1941f0*(_0x23204f[0x1]-_0xfef5b5[0x1])+_0xfef5b5[0x0],_0x212b62=_0x23204f[0x1];return[_0x3586e6,_0x212b62];}if(_0xfef5b5[0x1]===_0x555432[0x1]){const _0x3be189=(_0x4b9294[0x0]-_0x23204f[0x0])/(_0x4b9294[0x1]-_0x23204f[0x1]),_0x3e916b=_0x3be189*(_0xfef5b5[0x1]-_0x23204f[0x1])+_0x23204f[0x0],_0x2437b9=_0xfef5b5[0x1];return[_0x3e916b,_0x2437b9];}const _0x181f3b=(_0x4b9294[0x0]-_0x23204f[0x0])/(_0x4b9294[0x1]-_0x23204f[0x1]),_0x2112a8=(_0x555432[0x0]-_0xfef5b5[0x0])/(_0x555432[0x1]-_0xfef5b5[0x1]),_0x4212c0=(_0x181f3b*_0x23204f[0x1]-_0x23204f[0x0]-_0x2112a8*_0xfef5b5[0x1]+_0xfef5b5[0x0])/(_0x181f3b-_0x2112a8),_0x417dad=_0x181f3b*_0x4212c0-_0x181f3b*_0x23204f[0x1]+_0x23204f[0x0];return[_0x417dad,_0x4212c0,_0x23204f[0x2]||0x0];}[_0x54a7f1(0x587,0x3bb)](_0x50d96f){const _0x143fae={_0x4c2895:0x1554,_0x40bf82:0x4b7},_0x151981={_0x44375d:0x222};function _0x30854a(_0x7632f9,_0x3d3176){return _0x54a7f1(_0x3d3176- -0x4bf,_0x7632f9);}function _0x55a5f0(_0x54cda8,_0x3e18c0){return _0x54a7f1(_0x3e18c0-_0x151981._0x44375d,_0x54cda8);}if(_0x50d96f[_0x55a5f0(0x1002,0x11a7)]<=0x2)return _0x50d96f;else{const _0x2a208e=[],_0x2f9c01=_0x50d96f['length']-0x1;for(let _0x3f27f6=0x0;_0x3f27f6<=0x1;_0x3f27f6+=0.01){let _0x1fd132=0x0,_0x2a26d2=0x0;for(let _0x510680=0x0;_0x510680<=_0x2f9c01;_0x510680++){const _0xd3fd47=this[_0x55a5f0(0x1f04,_0x143fae._0x4c2895)](_0x2f9c01,_0x510680),_0x3ebf45=Math[_0x30854a(-0x4ea,-0x22a)](_0x3f27f6,_0x510680),_0x94b2a2=Math[_0x55a5f0(0x23,_0x143fae._0x40bf82)](0x1-_0x3f27f6,_0x2f9c01-_0x510680);_0x1fd132+=_0xd3fd47*_0x3ebf45*_0x94b2a2*_0x50d96f[_0x510680][0x0],_0x2a26d2+=_0xd3fd47*_0x3ebf45*_0x94b2a2*_0x50d96f[_0x510680][0x1];}_0x2a208e['push']([_0x1fd132,_0x2a26d2]);}return _0x2a208e;}}['getFactorial'](_0x362d4b){let _0x7350d8=0x1;switch(_0x362d4b){case _0x362d4b<=0x1:_0x7350d8=0x1;break;case _0x362d4b===0x2:_0x7350d8=0x2;break;case _0x362d4b===0x3:_0x7350d8=0x6;break;case _0x362d4b===0x18:_0x7350d8=0x18;break;case _0x362d4b===0x5:_0x7350d8=0x78;break;default:for(let _0xd13934=0x1;_0xd13934<=_0x362d4b;_0xd13934++){_0x7350d8*=_0xd13934;}break;}return _0x7350d8;}[_0x54a7f1(0x1332,0x1ada)](_0x294009,_0x1614ee){const _0x3ea03d={_0x44b6de:0x17bc},_0x261d09={_0x3ff1f2:0x1e3};function _0x2be094(_0x132b27,_0xdf4a6f){return _0x54a7f1(_0x132b27-_0x261d09._0x3ff1f2,_0xdf4a6f);}return this['getFactorial'](_0x294009)/(this['getFactorial'](_0x1614ee)*this[_0x2be094(_0x3ea03d._0x44b6de,0x2134)](_0x294009-_0x1614ee));}}const algorithmUtil=new AlgorithmUtil(),minAnalge=algorithmUtil[_0x7afdbe(0x1717,0x1750)](0x14),maxAnalge=algorithmUtil['toRadians'](0xa0);class ArrowParentUtil{constructor(){this['algorithmUtil']=algorithmUtil;}['getMaxHeight'](_0x1bdab9){let _0x3bc2f4=_0x1bdab9[0x0][0x2]||0x0;for(let _0x3111ce=0x0;_0x3111ce<_0x1bdab9['length'];_0x3111ce++){_0x1bdab9[0x2]>_0x3bc2f4&&(_0x3bc2f4=_0x1bdab9[0x2]);}return _0x3bc2f4;}['getArrowHeadPoints'](_0x5142df,_0x3a1425,_0x36a005){const _0xad9413={_0x3ab3db:0xa5e,_0xf62056:0x1166,_0x202933:0xe32,_0x37e226:0x1db,_0x1631d5:0xbd1,_0x3fee82:0x8df,_0x5871d3:0x881},_0x2838ff={_0x4fa9e2:0x381};if(!_0x5142df||_0x5142df['length']<0x2)return null;let _0x45b64e=this['algorithmUtil'][_0x3d4fc9(_0xad9413._0x3ab3db,0x9a)](_0x5142df)*this['headHeightFactor'];const _0x32cf48=this['algorithmUtil']['MathDistance'](_0x3a1425,_0x36a005);_0x45b64e>_0x32cf48*this[_0x5c33e9(0x11ba,0x878)]&&(_0x45b64e=_0x32cf48*this[_0x3d4fc9(_0xad9413._0xf62056,0x185c)]);const _0x1cd900=_0x5142df[_0x5142df[_0x5c33e9(0xe32,0x15c0)]-0x1];function _0x5c33e9(_0x4e795d,_0x155d88){return _0x7afdbe(_0x155d88,_0x4e795d- -_0x2838ff._0x4fa9e2);}const _0x7d2177=_0x5142df[_0x5142df[_0x5c33e9(_0xad9413._0x202933,0x4b2)]-0x2];function _0x3d4fc9(_0x38caaa,_0x272481){return _0x54a7f1(_0x38caaa- -0x1a7,_0x272481);}const _0x536647=this['algorithmUtil']['MathDistance'](_0x1cd900,_0x7d2177);_0x45b64e=_0x45b64e>_0x536647?_0x536647:_0x45b64e;const _0x3c113c=_0x45b64e*this['headWidthFactor'],_0x11e6cc=_0x45b64e*this['neckWidthFactor'],_0x1e6c26=_0x45b64e*this['neckHeightFactor'],_0x879257=this['algorithmUtil']['getThirdPoint'](_0x7d2177,_0x1cd900,0x0,_0x45b64e,!![]),_0x10cbf3=this['algorithmUtil'][_0x5c33e9(0xbd1,_0xad9413._0x37e226)](_0x7d2177,_0x1cd900,0x0,_0x1e6c26,!![]),_0x132e82=this['algorithmUtil'][_0x5c33e9(_0xad9413._0x1631d5,0x13d4)](_0x1cd900,_0x879257,Math['PI']/0x2,_0x3c113c,![]),_0x1dd5c4=this['algorithmUtil']['getThirdPoint'](_0x1cd900,_0x879257,Math['PI']/0x2,_0x3c113c,!![]),_0x2eacaf=this['algorithmUtil'][_0x3d4fc9(0xb7d,0x126)](_0x1cd900,_0x10cbf3,Math['PI']/0x2,_0x11e6cc,![]),_0xc8e272=this[_0x5c33e9(0x254,_0xad9413._0x3fee82)][_0x5c33e9(0xbd1,_0xad9413._0x5871d3)](_0x1cd900,_0x10cbf3,Math['PI']/0x2,_0x11e6cc,!![]);return[_0x2eacaf,_0x132e82,_0x1cd900,_0x1dd5c4,_0xc8e272];}['getArrowBodyPoints'](_0x244cde,_0xe2e92c,_0x25aa18,_0x51c699){const _0x2e9b43={_0x2e1313:0xa05,_0x4032cd:0x1416,_0x453e22:0x4fb,_0x201b1f:0x115,_0x1593d3:0x679},_0x38b1f2={_0x1b3913:0x4bc},_0x1cbb34=this['algorithmUtil'][_0x266b64(_0x2e9b43._0x2e1313,_0x2e9b43._0x4032cd)](_0x244cde),_0x4473fb=this['algorithmUtil']['getBaseLength'](_0x244cde),_0x2e6a2d=_0x4473fb*_0x51c699;function _0x374c73(_0x3313f8,_0x12f43a){return _0x54a7f1(_0x3313f8- -_0x38b1f2._0x1b3913,_0x12f43a);}const _0x5b4821=this[_0x266b64(0x27a,-_0x2e9b43._0x453e22)][_0x374c73(0xe98,0xaa1)](_0xe2e92c,_0x25aa18),_0x450e49=(_0x2e6a2d-_0x5b4821)/0x2;let _0x165d85=0x0;const _0x4f1f9=[];function _0x266b64(_0x5515ec,_0x1b2d3c){return _0x54a7f1(_0x5515ec- -0x12d,_0x1b2d3c);}const _0x5454ed=[];for(let _0x2cb60a=0x1;_0x2cb60a<_0x244cde['length']-0x1;_0x2cb60a++){let _0x203113=this['algorithmUtil']['getAngleOfThreePoints'](_0x244cde[_0x2cb60a-0x1],_0x244cde[_0x2cb60a],_0x244cde[_0x2cb60a+0x1])/0x2;if(_0x203113<minAnalge)_0x203113=minAnalge;else _0x203113>maxAnalge&&(_0x203113=maxAnalge);_0x165d85+=this['algorithmUtil']['MathDistance'](_0x244cde[_0x2cb60a-0x1],_0x244cde[_0x2cb60a]);const _0x3e3471=(_0x2e6a2d/0x2-_0x165d85/_0x1cbb34*_0x450e49)/Math['sin'](_0x203113),_0x3341ab=this[_0x374c73(-_0x2e9b43._0x201b1f,-_0x2e9b43._0x1593d3)]['getThirdPoint'](_0x244cde[_0x2cb60a-0x1],_0x244cde[_0x2cb60a],Math['PI']-_0x203113,_0x3e3471,!![]),_0x5e9899=this['algorithmUtil']['getThirdPoint'](_0x244cde[_0x2cb60a-0x1],_0x244cde[_0x2cb60a],_0x203113,_0x3e3471,![]);_0x4f1f9['push'](_0x3341ab),_0x5454ed['push'](_0x5e9899);}return _0x4f1f9['concat'](_0x5454ed);}}class AttackArrowUtil extends ArrowParentUtil{['setOptions'](_0x1ba0b8={}){const _0x565193={_0x4fab69:0x12c3,_0x3b7ad1:0x1473};this['headHeightFactor']=_0x1ba0b8[_0xe8f9a3(0x158f,0x1031)]||0.18,this['headWidthFactor']=_0x1ba0b8['headWidthFactor']||0.3;function _0x8633d2(_0x56d3dc,_0x46b0dd){return _0x7afdbe(_0x56d3dc,_0x46b0dd- -0xc8);}this['neckHeightFactor']=_0x1ba0b8['neckHeightFactor']||0.85,this[_0x8633d2(0x18bd,_0x565193._0x4fab69)]=_0x1ba0b8['neckWidthFactor']||0.15;function _0xe8f9a3(_0x367443,_0x4bc8e5){return _0x7afdbe(_0x367443,_0x4bc8e5-0x2b);}this[_0x8633d2(0x1689,_0x565193._0x3b7ad1)]=_0x1ba0b8['headTailFactor']||0.8;}[_0x54a7f1(0x1742,0x2014)](_0x43efb2,_0x5a3df3){const _0x4d013a={_0x299ed0:0x987,_0x5b0337:0xc49,_0x45438a:0xa35,_0x153d0e:0x182,_0x5185a9:0x87,_0x309b21:0x63,_0x108fe9:0x10ce,_0x57b0db:0x6b,_0x54ec0c:0x9db,_0x3e8b7b:0x8c9,_0x128141:0x161,_0x539021:0xcf8,_0x14a8ff:0x1051,_0xd3565c:0xafa},_0x4ae2ee={_0x26da71:0x33c};if(!_0x43efb2||_0x43efb2['length']===0x0)return _0x43efb2;this['positions']=_0x43efb2,this['setOptions'](_0x5a3df3);const _0x2f6f18=cartesians2mercators(_0x43efb2),_0xd24ff3=(_0x5a3df3===null||_0x5a3df3===void 0x0?void 0x0:_0x5a3df3[_0x46d9f1(-0xdf,-_0x4d013a._0x299ed0)])??this['getMaxHeight'](_0x2f6f18),_0xb8d360=_0x2f6f18[_0x2f6f18['length']-0x1],_0x2f1d89=_0x2f6f18[_0x2f6f18[_0x46d9f1(_0x4d013a._0x5b0337,_0x4d013a._0x45438a)]-0x2],_0xa626a1=this['algorithmUtil']['MathDistance'](_0xb8d360,_0x2f1d89);_0xa626a1<0x1&&_0x2f6f18['length']>0x2&&_0x2f6f18[_0x33171c(0x934,0x2c1)](_0x2f6f18['length']-0x2,0x1);let _0x4cd16b=_0x2f6f18[0x0],_0x1421fc=_0x2f6f18[0x1];this['algorithmUtil']['isClockWise'](_0x2f6f18[0x0],_0x2f6f18[0x1],_0x2f6f18[0x2])&&(_0x4cd16b=_0x2f6f18[0x1],_0x1421fc=_0x2f6f18[0x0]);const _0x519bdc=this['algorithmUtil'][_0x46d9f1(-0xe7,-_0x4d013a._0x153d0e)](_0x4cd16b,_0x1421fc),_0x20020d=[_0x519bdc][_0x46d9f1(0x689,-0x33a)](_0x2f6f18[_0x46d9f1(0x4cf,0x7f6)](0x2)),_0x3982f2=this[_0x46d9f1(_0x4d013a._0x5185a9,-_0x4d013a._0x309b21)](_0x20020d,_0x4cd16b,_0x1421fc);if(!_0x3982f2||_0x3982f2[_0x33171c(_0x4d013a._0x108fe9,0xa77)]<0x4)return _0x43efb2;const _0xdb7def=_0x3982f2[0x0],_0x4a2e78=_0x3982f2[0x4],_0x1ceae2=this[_0x46d9f1(_0x4d013a._0x57b0db,-_0x4d013a._0x54ec0c)]['MathDistance'](_0x4cd16b,_0x1421fc)/this['algorithmUtil'][_0x46d9f1(_0x4d013a._0x3e8b7b,0x376)](_0x20020d);function _0x46d9f1(_0x169d73,_0x3df300){return _0x54a7f1(_0x169d73- -_0x4ae2ee._0x26da71,_0x3df300);}const _0x231c3e=this['getArrowBodyPoints'](_0x20020d,_0xdb7def,_0x4a2e78,_0x1ceae2),_0x15c0d6=_0x231c3e['length'];let _0x2987c4=[_0x4cd16b]['concat'](_0x231c3e[_0x46d9f1(0x4cf,_0x4d013a._0x128141)](0x0,_0x15c0d6/0x2));_0x2987c4[_0x33171c(0x1051,_0x4d013a._0x539021)](_0xdb7def);function _0x33171c(_0x2187f2,_0x16d84c){return _0x54a7f1(_0x2187f2-0x149,_0x16d84c);}let _0x5d9293=[_0x1421fc]['concat'](_0x231c3e['slice'](_0x15c0d6/0x2,_0x15c0d6));_0x5d9293[_0x33171c(_0x4d013a._0x14a8ff,0x1896)](_0x4a2e78),_0x2987c4=this[_0x46d9f1(0x6b,-0xa5)]['getQBSplinePoints'](_0x2987c4),_0x5d9293=this[_0x46d9f1(0x6b,-0x693)]['getQBSplinePoints'](_0x5d9293);const _0x4be45e=_0x2987c4[_0x33171c(0xb0e,0x140e)](_0x3982f2,_0x5d9293[_0x46d9f1(0x5a,_0x4d013a._0xd3565c)]()),_0x2f0c84=mercators2cartesians(_0x4be45e,_0xd24ff3);return _0x2f0c84;}}const attackArrowUtil$1=new AttackArrowUtil();class AttackArrow extends PolygonEntity{get[_0x7afdbe(0x1108,0x199f)](){return![];}['getShowPositions'](_0x3da20f){const _0x17390e={_0x1abe0a:0x3f1};function _0x394683(_0x251682,_0x24ae26){return _0x54a7f1(_0x251682- -0x464,_0x24ae26);}if(!_0x3da20f||_0x3da20f['length']<0x2)return _0x3da20f;return this['style']['maxHeight']=this[_0x394683(_0x17390e._0x1abe0a,0x955)](),attackArrowUtil$1['startCompute'](_0x3da20f,this['style']);}[_0x7afdbe(0xf88,0xa59)](_0x5d798b){const _0x2857e5={_0x2a613d:0x98a};function _0x43741b(_0x2e995e,_0x56c1eb){return _0x7afdbe(_0x2e995e,_0x56c1eb- -0x242);}return setPositionsHeight(_0x5d798b,this['style'][_0x43741b(_0x2857e5._0x2a613d,0x249)]);}}register$5('attackArrow',AttackArrow);class AttackArrowPWUtil extends ArrowParentUtil{[_0x7afdbe(0xf98,0x14b4)](_0x199371={}){const _0x238b9e={_0x443ccc:0xf85,_0x21c696:0x95c,_0x28d728:0x12f2,_0x3d6b62:0xc68,_0x536e:0xbdb,_0x345ee9:0x9e1},_0x305750={_0x2c429d:0x4f5},_0x410069={_0x3363df:0x188};this['headHeightFactor']=_0x199371[_0x493853(0x8e3,0x15b)]||0.18;function _0x231d71(_0x76e27,_0x1bcc0d){return _0x54a7f1(_0x1bcc0d- -_0x410069._0x3363df,_0x76e27);}function _0x493853(_0x5b4837,_0x583c02){return _0x54a7f1(_0x5b4837- -_0x305750._0x2c429d,_0x583c02);}this['headWidthFactor']=_0x199371['headWidthFactor']||0.3,this[_0x493853(_0x238b9e._0x443ccc,0xdc7)]=_0x199371[_0x231d71(_0x238b9e._0x21c696,_0x238b9e._0x28d728)]||0.85,this['neckWidthFactor']=_0x199371[_0x493853(_0x238b9e._0x3d6b62,_0x238b9e._0x536e)]||0.15,this[_0x231d71(0x2b2,_0x238b9e._0x345ee9)]=_0x199371['tailWidthFactor']||0.1;}['startCompute'](_0x1d08b2,_0x21c8be){const _0x1a38c3={_0x1c89f7:0xd0b,_0x3d8dc2:0xe75,_0x286065:0x873,_0x411b0c:0xfd2,_0xf3336d:0x145,_0x2775e8:0xc00,_0x5d6b5b:0x8ef,_0x776613:0x617,_0xfec91d:0x12d,_0x488402:0x3e6,_0x1f9712:0x48b},_0x2d8e16={_0x1fc85e:0x27a};if(!_0x1d08b2||_0x1d08b2[_0x208f8b(0x1408,_0x1a38c3._0x1c89f7)]===0x0)return _0x1d08b2;this[_0x208f8b(0x1566,_0x1a38c3._0x3d8dc2)]=_0x1d08b2,this[_0x208f8b(_0x1a38c3._0x286065,0x100c)](_0x21c8be);const _0x23534b=cartesians2mercators(_0x1d08b2),_0x170e40=(_0x21c8be===null||_0x21c8be===void 0x0?void 0x0:_0x21c8be['maxHeight'])??this['getMaxHeight'](_0x23534b),_0x3b0f99=this[_0x208f8b(_0x1a38c3._0x411b0c,0x11f7)](_0x23534b),_0x3cd7e4=this[_0x208f8b(_0x1a38c3._0xf3336d,0x149)](_0x23534b,_0x3b0f99[0x0],_0x3b0f99[0x1]);if(!_0x3cd7e4||_0x3cd7e4[_0x114e5d(_0x1a38c3._0x2775e8,0x8c9)]<0x4)return _0x1d08b2;const _0x3e7869=_0x3cd7e4[0x0],_0x2241d1=_0x3cd7e4[0x4],_0x1567b1=this[_0x208f8b(-0x436,0x209)](_0x23534b,_0x3e7869,_0x2241d1,this[_0x208f8b(0xee9,_0x1a38c3._0x5d6b5b)]),_0x1c8851=_0x1567b1['length'];let _0x26a7ba=[_0x3b0f99[0x0]]['concat'](_0x1567b1['slice'](0x0,_0x1c8851/0x2));_0x26a7ba['push'](_0x3e7869);let _0xad412d=[_0x3b0f99[0x1]]['concat'](_0x1567b1['slice'](_0x1c8851/0x2,_0x1c8851));_0xad412d[_0x114e5d(0xb83,0x1036)](_0x2241d1),_0x26a7ba=this[_0x208f8b(-_0x1a38c3._0x776613,_0x1a38c3._0xfec91d)][_0x114e5d(_0x1a38c3._0x488402,_0x1a38c3._0x1f9712)](_0x26a7ba),_0xad412d=this['algorithmUtil']['getQBSplinePoints'](_0xad412d);function _0x208f8b(_0x1dbd5a,_0x2e1d88){return _0x54a7f1(_0x2e1d88- -_0x2d8e16._0x1fc85e,_0x1dbd5a);}function _0x114e5d(_0x25275a,_0x5b6042){return _0x54a7f1(_0x25275a- -0x385,_0x5b6042);}const _0x25f78f=_0x26a7ba['concat'](_0x3cd7e4,_0xad412d[_0x114e5d(0x11,0x75b)]()),_0x48f9a0=mercators2cartesians(_0x25f78f,_0x170e40);return _0x48f9a0;}['getTailPoints'](_0x1837c9){const _0x11d6a1={_0x285d7b:0x2d4,_0x267a74:0xa70,_0x597e69:0x120b,_0x870a0e:0xb8f,_0xe23923:0xe3f,_0x40cfdb:0xbc3},_0x2ca87e=this['algorithmUtil'][_0x33369c(_0x11d6a1._0x285d7b,_0x11d6a1._0x267a74)](_0x1837c9),_0x4e8edb=_0x2ca87e*this['tailWidthFactor'];function _0x294cb1(_0x1ad03b,_0x25ef7a){return _0x7afdbe(_0x25ef7a,_0x1ad03b- -0x113);}const _0x34ac16=this['algorithmUtil'][_0x33369c(_0x11d6a1._0x597e69,_0x11d6a1._0x870a0e)](_0x1837c9[0x1],_0x1837c9[0x0],Math['PI']/0x2,_0x4e8edb,![]),_0x354c3a=this['algorithmUtil'][_0x294cb1(_0x11d6a1._0xe23923,_0x11d6a1._0x40cfdb)](_0x1837c9[0x1],_0x1837c9[0x0],Math['PI']/0x2,_0x4e8edb,!![]);function _0x33369c(_0x4d53d1,_0x236c9e){return _0x7afdbe(_0x4d53d1,_0x236c9e- -0x3c3);}return[_0x34ac16,_0x354c3a];}}const attackArrowPWUtil=new AttackArrowPWUtil();class AttackArrowPW extends PolygonEntity{get[_0x54a7f1(0x1771,0x10aa)](){return![];}['getShowPositions'](_0x3b4e1d){const _0x5c309a={_0x4df054:0x110b,_0x4e2731:0xa6f};if(!_0x3b4e1d||_0x3b4e1d['length']<0x2)return _0x3b4e1d;function _0x41ccc8(_0x591f88,_0x5d0b26){return _0x7afdbe(_0x591f88,_0x5d0b26- -0x14);}return this['style']['maxHeight']=this[_0x41ccc8(_0x5c309a._0x4df054,_0x5c309a._0x4e2731)](),attackArrowPWUtil['startCompute'](_0x3b4e1d,this['style']);}[_0x7afdbe(0x14d8,0xa59)](_0x413a85){return setPositionsHeight(_0x413a85,this['style']['maxHeight']);}static[_0x54a7f1(0x13f0,0x10ac)](_0x3f23e9,_0x3c9b7d){const _0x5ab27d={_0x300127:0x135};function _0x54f81f(_0x30a444,_0x1f9f37){return _0x7afdbe(_0x30a444,_0x1f9f37- -_0x5ab27d._0x300127);}if(!_0x3f23e9||_0x3f23e9[_0x54f81f(0x664,0x107e)]<0x2)return _0x3f23e9;return _0x3f23e9=LngLatArray['toCartesians'](_0x3f23e9),attackArrowPWUtil['startCompute'](_0x3f23e9,_0x3c9b7d);}}register$5('attackArrowPW',AttackArrowPW);class AttackArrowYWUtil extends ArrowParentUtil{[_0x54a7f1(0x1286,0x12e2)](_0x57965f={}){const _0x5221ef={_0x5407ba:0xcc2,_0x306b31:0x12b5,_0x42ceaf:0x11c8},_0x302f34={_0x5f285c:0x49b};this['headHeightFactor']=_0x57965f['headHeightFactor']||0.18,this['headWidthFactor']=_0x57965f[_0x2ded7b(0x10ac,0x62a)]||0.3,this['neckHeightFactor']=_0x57965f['neckHeightFactor']||0.85,this['neckWidthFactor']=_0x57965f[_0x351a24(0x44b,_0x5221ef._0x5407ba)]||0.15;function _0x2ded7b(_0x513654,_0x1f3659){return _0x54a7f1(_0x1f3659- -0x207,_0x513654);}this['tailWidthFactor']=_0x57965f[_0x2ded7b(0x474,0x962)]||0.1;function _0x351a24(_0x51b760,_0xbce9b4){return _0x54a7f1(_0xbce9b4- -_0x302f34._0x5f285c,_0x51b760);}this['headTailFactor']=_0x57965f[_0x2ded7b(_0x5221ef._0x306b31,0x1106)]||0.8,this['swallowTailFactor']=_0x57965f[_0x351a24(_0x5221ef._0x42ceaf,0x12ce)]||0x1;}[_0x54a7f1(0x1742,0x1d20)](_0x5f5797,_0x3285ba){const _0x5a3ec5={_0x2289fa:0xc4e,_0x4a9021:0x25e,_0x150f1c:0x2fd,_0x414d87:0xe3c,_0x4e8208:0xaee,_0x581a73:0x1093,_0x391886:0xa06,_0x1ccd18:0x4d,_0x579583:0x84c,_0x476ed2:0x1818,_0x5e2523:0xe7f,_0x4282c4:0xa06,_0x341585:0xb9b,_0x370046:0xff5},_0x3f46b7={_0x57287:0x41};if(!_0x5f5797||_0x5f5797['length']===0x0)return _0x5f5797;this['positions']=_0x5f5797,this['setOptions'](_0x3285ba);const _0x3033be=cartesians2mercators(_0x5f5797),_0x298473=(_0x3285ba===null||_0x3285ba===void 0x0?void 0x0:_0x3285ba['maxHeight'])??this['getMaxHeight'](_0x3033be),_0x1a60bb=[_0x3033be[0x0],_0x3033be[0x1]];let _0x12030b=_0x1a60bb[0x0],_0x527f33=_0x1a60bb[0x1];this['algorithmUtil']['isClockWise'](_0x3033be[0x0],_0x3033be[0x1],_0x3033be[0x2])&&(_0x12030b=_0x3033be[0x1],_0x527f33=_0x3033be[0x0]);const _0x300502=this[_0x14ee3d(0x25e,_0x5a3ec5._0x2289fa)][_0x14ee3d(0x10c,0x778)](_0x12030b,_0x527f33),_0xf94661=[_0x300502]['concat'](_0x3033be['slice'](0x2)),_0x507313=this['getArrowHeadPoints'](_0xf94661,_0x12030b,_0x527f33);if(!_0x507313||_0x507313['length']<0x4)return _0x5f5797;const _0xdac90=[_0x507313[0x0],_0x507313[0x4]],_0x217873=_0xdac90[0x0],_0x25c5b0=_0xdac90[0x1],_0x20adb8=this[_0x14ee3d(_0x5a3ec5._0x4a9021,_0x5a3ec5._0x150f1c)]['MathDistance'](_0x12030b,_0x527f33),_0x14a430=this['algorithmUtil'][_0x14ee3d(0xabc,0xb4b)](_0xf94661),_0x469e4f=_0x14a430*this[_0x31f437(0xef2,0xbaa)]*this['swallowTailFactor'],_0x52a482=this[_0x14ee3d(0x25e,0x191)][_0x31f437(0x11f3,0xd65)](_0xf94661[0x1],_0xf94661[0x0],0x0,_0x469e4f,!![]),_0x4e16ab=_0x20adb8/_0x14a430,_0x21907b=this['getArrowBodyPoints'](_0xf94661,_0x217873,_0x25c5b0,_0x4e16ab),_0x1d479d=_0x21907b[_0x14ee3d(_0x5a3ec5._0x414d87,_0x5a3ec5._0x4e8208)];let _0x5b9d99=[_0x12030b][_0x31f437(_0x5a3ec5._0x581a73,_0x5a3ec5._0x391886)](_0x21907b[_0x31f437(-_0x5a3ec5._0x1ccd18,_0x5a3ec5._0x579583)](0x0,_0x1d479d/0x2));_0x5b9d99[_0x14ee3d(0xdbf,_0x5a3ec5._0x476ed2)](_0x217873);let _0x8b8764=[_0x527f33][_0x31f437(_0x5a3ec5._0x5e2523,_0x5a3ec5._0x4282c4)](_0x21907b['slice'](_0x1d479d/0x2,_0x1d479d));_0x8b8764['push'](_0x25c5b0);function _0x14ee3d(_0x592150,_0x3fb59e){return _0x54a7f1(_0x592150- -0x149,_0x3fb59e);}_0x5b9d99=this[_0x31f437(_0x5a3ec5._0x341585,0x3e8)]['getQBSplinePoints'](_0x5b9d99);function _0x31f437(_0x5f20b6,_0x57811f){return _0x54a7f1(_0x57811f-_0x3f46b7._0x57287,_0x5f20b6);}_0x8b8764=this[_0x14ee3d(0x25e,0x9c1)]['getQBSplinePoints'](_0x8b8764);const _0x35af2b=_0x5b9d99[_0x14ee3d(0x87c,_0x5a3ec5._0x370046)](_0x507313,_0x8b8764['reverse'](),[_0x52a482,_0x5b9d99[0x0]]),_0x316ad3=mercators2cartesians(_0x35af2b,_0x298473);return _0x316ad3;}}const attackArrowUtil=new AttackArrowYWUtil();class AttackArrowYW extends PolygonEntity{get[_0x54a7f1(0x1771,0x125d)](){return![];}[_0x7afdbe(0x8d3,0x1261)](_0x30edb){if(!_0x30edb||_0x30edb['length']<0x3)return _0x30edb;return this['style']['maxHeight']=this['getMaxHeight'](),attackArrowUtil['startCompute'](_0x30edb,this['style']);}[_0x54a7f1(0x82b,0x20b)](_0x4d4475){const _0x282dd7={_0x18fbfd:0x54a};function _0x5d0f5a(_0x109865,_0x35c122){return _0x54a7f1(_0x109865-0xae,_0x35c122);}return setPositionsHeight(_0x4d4475,this[_0x5d0f5a(_0x282dd7._0x18fbfd,0xb1)]['maxHeight']);}static[_0x54a7f1(0x13f0,0xc9d)](_0x1c80fe,_0x3fffa1){const _0x461527={_0x497734:0x7b8};function _0x15b27f(_0x511e9,_0x535390){return _0x54a7f1(_0x511e9- -0x67,_0x535390);}function _0x24451e(_0x10a719,_0x491c1a){return _0x54a7f1(_0x10a719- -0x4c4,_0x491c1a);}if(!_0x1c80fe||_0x1c80fe['length']<0x3)return _0x1c80fe;return _0x1c80fe=LngLatArray[_0x15b27f(_0x461527._0x497734,0x11fd)](_0x1c80fe),attackArrowUtil[_0x15b27f(0x16db,0x1f71)](_0x1c80fe,_0x3fffa1);}}register$5('attackArrowYW',AttackArrowYW);class CloseCurveUtil{constructor(){this['algorithmUtil']=algorithmUtil;}[_0x54a7f1(0x1742,0x15c2)](_0x4cd5ff,_0x2d64f9){const _0x43260c={_0x411a44:0x10fc,_0x22366f:0x6ae,_0x8e60d0:0xac8,_0x2071f4:0x1065},_0x59e065={_0x1a346f:0x306};function _0xf3207a(_0x51db9e,_0x449f10){return _0x54a7f1(_0x449f10- -0x317,_0x51db9e);}if(!_0x4cd5ff||_0x4cd5ff[_0x251137(0xc7f,0xe62)]===0x0)return _0x4cd5ff;this['positions']=_0x4cd5ff;const _0x70e303=cartesians2mercators(_0x4cd5ff),_0x39533f=(_0x2d64f9===null||_0x2d64f9===void 0x0?void 0x0:_0x2d64f9[_0xf3207a(0x32e,-0xba)])??this['getMaxHeight'](_0x70e303);_0x70e303[_0xf3207a(0x400,0xbf1)](_0x70e303[0x0],_0x70e303[0x1]);let _0x5067f8=[];const _0x5c811d=[];for(let _0x53b38b=0x0;_0x53b38b<_0x70e303['length']-0x2;_0x53b38b++){const _0xa905a6=this['algorithmUtil']['getBisectorNormals'](0.3,_0x70e303[_0x53b38b],_0x70e303[_0x53b38b+0x1],_0x70e303[_0x53b38b+0x2]);_0x5067f8=_0x5067f8[_0xf3207a(_0x43260c._0x411a44,_0x43260c._0x22366f)](_0xa905a6);}const _0xc505df=_0x5067f8['length'];_0x5067f8=[_0x5067f8[_0xc505df-0x1]]['concat'](_0x5067f8[_0x251137(0x505,_0x43260c._0x8e60d0)](0x0,_0xc505df-0x1));for(let _0x2457ae=0x0;_0x2457ae<_0x70e303['length']-0x2;_0x2457ae++){const _0x39013a=_0x70e303[_0x2457ae],_0xc4c2f6=_0x70e303[_0x2457ae+0x1];_0x5c811d['push'](_0x39013a);for(let _0x471dcc=0x0;_0x471dcc<=0x64;_0x471dcc++){const _0x545e09=this['algorithmUtil'][_0xf3207a(_0x43260c._0x2071f4,0x9c1)](_0x471dcc/0x64,_0x39013a,_0x5067f8[_0x2457ae*0x2],_0x5067f8[_0x2457ae*0x2+0x1],_0xc4c2f6);_0x5c811d['push'](_0x545e09);}_0x5c811d['push'](_0xc4c2f6);}const _0x10ca2c=mercators2cartesians(_0x5c811d,_0x39533f);function _0x251137(_0x452343,_0x54170c){return _0x54a7f1(_0x452343- -_0x59e065._0x1a346f,_0x54170c);}return _0x10ca2c;}['getMaxHeight'](_0x1bf17f){let _0x4ec662=_0x1bf17f[0x0][0x2]||0x0;for(let _0x181fe8=0x0;_0x181fe8<_0x1bf17f['length'];_0x181fe8++){_0x1bf17f[0x2]>_0x4ec662&&(_0x4ec662=_0x1bf17f[0x2]);}return _0x4ec662;}}const closeCurveUtil=new CloseCurveUtil();class CloseVurve extends PolygonEntity{[_0x7afdbe(0x1a29,0x1261)](_0x41e1dd){const _0x10cb82={_0x331e53:0x4e4,_0x4e991b:0x1993,_0x228570:0x4e4},_0x264fa2={_0x37a8e7:0x23};if(!_0x41e1dd||_0x41e1dd['length']<0x2)return _0x41e1dd;function _0x11b51a(_0x508f86,_0x546acb){return _0x7afdbe(_0x508f86,_0x546acb- -0x1e6);}this[_0x11b51a(-0x480,_0x10cb82._0x331e53)]['maxHeight']=this['getMaxHeight']();function _0x581fb0(_0xaa6043,_0x20efa4){return _0x7afdbe(_0x20efa4,_0xaa6043-_0x264fa2._0x37a8e7);}return closeCurveUtil[_0x581fb0(_0x10cb82._0x4e991b,0x1cb5)](_0x41e1dd,this[_0x11b51a(0x77b,_0x10cb82._0x228570)]);}['_updateEditDraggerPositionHeight'](_0x507b8e){return setPositionsHeight(_0x507b8e,this['style']['maxHeight']);}static['getOutlinePositions'](_0x3a846a,_0x2428c0){const _0x8bc5c4={_0x2b6819:0x373},_0x31b2d1={_0x4a0f6f:0x22};if(!_0x3a846a||_0x3a846a['length']<0x2)return _0x3a846a;_0x3a846a=LngLatArray[_0xc991fe(_0x8bc5c4._0x2b6819,0x841)](_0x3a846a);function _0xc991fe(_0x21cde1,_0x538f6a){return _0x54a7f1(_0x538f6a-_0x31b2d1._0x4a0f6f,_0x21cde1);}return closeCurveUtil['startCompute'](_0x3a846a,_0x2428c0);}}register$5(_0x54a7f1(0xa21,0x40a),CloseVurve);class DoubleArrowUtil{constructor(){function _0x48b480(_0x565c0e,_0x3dc3f1){return _0x54a7f1(_0x565c0e- -0x2f3,_0x3dc3f1);}this[_0x48b480(0xb4,0x26d)]=algorithmUtil;}['setOptions'](_0x4fb44f={}){const _0x5b590a={_0x11ed8d:0x182};function _0x268b02(_0x3c886a,_0xe33e15){return _0x54a7f1(_0xe33e15-0x2b8,_0x3c886a);}this['headHeightFactor']=_0x4fb44f[_0x3ea3e7(-_0x5b590a._0x11ed8d,0x935)]||0.25;function _0x3ea3e7(_0x407c98,_0x57cae3){return _0x7afdbe(_0x407c98,_0x57cae3- -0x6d1);}this['headWidthFactor']=_0x4fb44f[_0x3ea3e7(-0x1c1,0x38e)]||0.3,this['neckHeightFactor']=_0x4fb44f['neckHeightFactor']||0.85,this['neckWidthFactor']=_0x4fb44f['neckWidthFactor']||0.15;}[_0x7afdbe(0x11f7,0x1970)](_0x4c2d23,_0x3f71cf){const _0x4ccc59={_0x32a0c2:0xdde,_0x4b2715:0xc74,_0x5f1d8a:0xb8,_0x1c6f58:0x4b3,_0x381ac3:0x69d,_0x3ceb36:0x25c,_0x5d2586:0x23a,_0x32ee6d:0x51c,_0x2b9675:0xd46,_0x3e70f9:0x51c},_0xa2a717={_0x2e94ae:0x311};if(!_0x4c2d23||_0x4c2d23['length']<0x3)return _0x4c2d23;this[_0x295b1e(0x1097,0xdde)]=_0x4c2d23,this['setOptions'](_0x3f71cf);const _0x4da7d1=cartesians2mercators(_0x4c2d23),_0x151c54=(_0x3f71cf===null||_0x3f71cf===void 0x0?void 0x0:_0x3f71cf['maxHeight'])??this[_0x360159(0x566,0x599)](_0x4da7d1),_0xdf3645=[_0x4da7d1[0x0],_0x4da7d1[0x1],_0x4da7d1[0x2]],_0x1a7367=_0xdf3645[0x0],_0x3b9d1e=_0xdf3645[0x1],_0x48f311=_0xdf3645[0x2];function _0x360159(_0x2341d3,_0x2caed3){return _0x54a7f1(_0x2341d3- -0x2ef,_0x2caed3);}const _0x11235e=this[_0x295b1e(0x330,_0x4ccc59._0x32a0c2)][_0x295b1e(0x11c0,_0x4ccc59._0x4b2715)];let _0x435826,_0x114d1e;if(_0x11235e===0x3)_0x435826=this['getTempPoint4'](_0x1a7367,_0x3b9d1e,_0x48f311),_0x114d1e=this[_0x360159(0xb8,0x296)]['Mid'](_0x1a7367,_0x3b9d1e);else{if(_0x11235e===0x4)_0x435826=_0x4da7d1[0x3],_0x114d1e=this['algorithmUtil']['Mid'](_0x1a7367,_0x3b9d1e);else{const _0x416ffb=this[_0x360159(0xb8,-0x58b)]['MathDistance'](_0x4da7d1[0x3],_0x4da7d1[0x4]),_0x135a5e=this['algorithmUtil']['MathDistance'](_0x4da7d1[0x2],_0x4da7d1[0x3]);_0x416ffb<_0x135a5e*0.1?(_0x435826=_0x4da7d1[0x3],_0x114d1e=this[_0x360159(_0x4ccc59._0x5f1d8a,_0x4ccc59._0x1c6f58)]['Mid'](_0x1a7367,_0x3b9d1e)):(_0x435826=_0x4da7d1[0x3],_0x114d1e=_0x4da7d1[0x4]);}}let _0x225d9a,_0x3ec8c2;this[_0x360159(0xb8,-_0x4ccc59._0x381ac3)][_0x360159(0xfd9,0x14d1)](_0x1a7367,_0x3b9d1e,_0x48f311)?(_0x225d9a=this['getArrowPoints'](_0x1a7367,_0x114d1e,_0x435826,![]),_0x3ec8c2=this[_0x360159(0x25c,0xa91)](_0x114d1e,_0x3b9d1e,_0x48f311,!![])):(_0x225d9a=this[_0x360159(_0x4ccc59._0x3ceb36,0x2ea)](_0x3b9d1e,_0x114d1e,_0x48f311,![]),_0x3ec8c2=this[_0x295b1e(-0x7ff,_0x4ccc59._0x5d2586)](_0x114d1e,_0x1a7367,_0x435826,!![]));const _0x428d1b=_0x225d9a[_0x360159(0xc96,0x42a)],_0x7d1beb=(_0x428d1b-0x5)/0x2,_0xe7f4c7=_0x225d9a[_0x360159(_0x4ccc59._0x32ee6d,0x75)](0x0,_0x7d1beb),_0x8ae760=_0x225d9a['slice'](_0x7d1beb,_0x7d1beb+0x5);function _0x295b1e(_0x452bf0,_0x76b5b4){return _0x54a7f1(_0x76b5b4- -_0xa2a717._0x2e94ae,_0x452bf0);}let _0x54d0fa=_0x225d9a['slice'](_0x7d1beb+0x5,_0x428d1b),_0x3cdc02=_0x3ec8c2['slice'](0x0,_0x7d1beb);const _0x8baa8d=_0x3ec8c2[_0x360159(0x51c,_0x4ccc59._0x2b9675)](_0x7d1beb,_0x7d1beb+0x5),_0x1d482e=_0x3ec8c2[_0x360159(_0x4ccc59._0x3e70f9,0x304)](_0x7d1beb+0x5,_0x428d1b);_0x3cdc02=this['algorithmUtil']['getBezierPoints'](_0x3cdc02);const _0x4d4e40=this[_0x295b1e(-0x52,0x96)][_0x295b1e(0x3ea,0x276)](_0x1d482e['concat'](_0xe7f4c7['slice'](0x1)));_0x54d0fa=this['algorithmUtil']['getBezierPoints'](_0x54d0fa);const _0x37c989=_0x3cdc02['concat'](_0x8baa8d,_0x4d4e40,_0x8ae760,_0x54d0fa),_0xdd577e=mercators2cartesians(_0x37c989,_0x151c54);return _0xdd577e;}['getTempPoint4'](_0x4f2d12,_0x281093,_0x3c2dfe){const _0x4825cd={_0x166908:0x14b9,_0x4d2448:0xbb7,_0xaa77:0x307,_0x2bc239:0x22a4,_0x48612c:0x17f0,_0x2451e7:0xbb7,_0xe95704:0x887,_0x4383ca:0xdc0},_0x4afc91={_0x50bfd8:0x16d},_0x361d37=this['algorithmUtil']['Mid'](_0x4f2d12,_0x281093),_0x152d22=this['algorithmUtil'][_0x3f927d(0x197d,0x11e7)](_0x361d37,_0x3c2dfe);function _0x3f927d(_0x500f0f,_0x4b4283){return _0x54a7f1(_0x4b4283- -_0x4afc91._0x50bfd8,_0x500f0f);}const _0x267217=this[_0x3f927d(0x757,0x23a)][_0x33938b(_0x4825cd._0x166908,0xa84)](_0x4f2d12,_0x361d37,_0x3c2dfe);let _0x26816a,_0x499439,_0x5cd889,_0x4f016f;if(_0x267217<Math['PI']/0x2)_0x499439=_0x152d22*Math['sin'](_0x267217),_0x5cd889=_0x152d22*Math['cos'](_0x267217),_0x4f016f=this[_0x33938b(-0x298,0x443)]['getThirdPoint'](_0x4f2d12,_0x361d37,Math['PI']/0x2,_0x499439,![]),_0x26816a=this['algorithmUtil'][_0x3f927d(0x499,_0x4825cd._0x4d2448)](_0x361d37,_0x4f016f,Math['PI']/0x2,_0x5cd889,!![]);else{if(_0x267217>=Math['PI']/0x2&&_0x267217<Math['PI'])_0x499439=_0x152d22*Math['sin'](Math['PI']-_0x267217),_0x5cd889=_0x152d22*Math['cos'](Math['PI']-_0x267217),_0x4f016f=this[_0x33938b(0xec,0x443)]['getThirdPoint'](_0x4f2d12,_0x361d37,Math['PI']/0x2,_0x499439,![]),_0x26816a=this[_0x33938b(0xeeb,0x443)]['getThirdPoint'](_0x361d37,_0x4f016f,Math['PI']/0x2,_0x5cd889,![]);else _0x267217>=Math['PI']&&_0x267217<Math['PI']*1.5?(_0x499439=_0x152d22*Math[_0x3f927d(0xca2,_0x4825cd._0xaa77)](_0x267217-Math['PI']),_0x5cd889=_0x152d22*Math[_0x33938b(_0x4825cd._0x2bc239,_0x4825cd._0x48612c)](_0x267217-Math['PI']),_0x4f016f=this['algorithmUtil'][_0x3f927d(0x4ad,_0x4825cd._0x2451e7)](_0x4f2d12,_0x361d37,Math['PI']/0x2,_0x499439,!![]),_0x26816a=this['algorithmUtil'][_0x33938b(_0x4825cd._0xe95704,_0x4825cd._0x4383ca)](_0x361d37,_0x4f016f,Math['PI']/0x2,_0x5cd889,!![])):(_0x499439=_0x152d22*Math['sin'](Math['PI']*0x2-_0x267217),_0x5cd889=_0x152d22*Math['cos'](Math['PI']*0x2-_0x267217),_0x4f016f=this[_0x3f927d(0x906,0x23a)]['getThirdPoint'](_0x4f2d12,_0x361d37,Math['PI']/0x2,_0x499439,!![]),_0x26816a=this['algorithmUtil']['getThirdPoint'](_0x361d37,_0x4f016f,Math['PI']/0x2,_0x5cd889,![]));}function _0x33938b(_0x9e2a2a,_0x501f58){return _0x7afdbe(_0x9e2a2a,_0x501f58- -0x192);}return _0x26816a;}[_0x54a7f1(0x54b,0xc61)](_0x39803f,_0x322474,_0x3af5a6,_0x2ceb85){const _0x39b86e={_0x977141:0x21e,_0x18b2ed:0x152,_0x4be0ac:0x389,_0x568d26:0x3a5,_0x875194:0xad9,_0x2731b5:0x3c4,_0x4a8454:0x13bc,_0x44549a:0x3bd,_0x307cfe:0x78e,_0x56399a:0xa2d,_0x4ae1ba:0xa0f},_0x594c59=this['algorithmUtil'][_0x5a4ae6(_0x39b86e._0x977141,-0x2a4)](_0x39803f,_0x322474),_0xf86dd=this[_0x5a4ae6(0x85b,-_0x39b86e._0x18b2ed)][_0x5a4ae6(0xbe0,0xe5b)](_0x594c59,_0x3af5a6);let _0x145697=this['algorithmUtil'][_0x5a4ae6(0xe47,0x82b)](_0x3af5a6,_0x594c59,0x0,_0xf86dd*0.3,!![]);function _0x9116cc(_0xa101f1,_0x54558e){return _0x7afdbe(_0x54558e,_0xa101f1- -0x24c);}let _0x26f03d=this['algorithmUtil']['getThirdPoint'](_0x3af5a6,_0x594c59,0x0,_0xf86dd*0.5,!![]);_0x145697=this['algorithmUtil']['getThirdPoint'](_0x594c59,_0x145697,Math['PI']/0x2,_0xf86dd/0x5,_0x2ceb85),_0x26f03d=this[_0x9116cc(_0x39b86e._0x4be0ac,0x999)]['getThirdPoint'](_0x594c59,_0x26f03d,Math['PI']/0x2,_0xf86dd/0x4,_0x2ceb85);function _0x5a4ae6(_0x4bcb23,_0x572fba){return _0x7afdbe(_0x4bcb23,_0x572fba- -0x727);}const _0x4179c2=[_0x594c59,_0x145697,_0x26f03d,_0x3af5a6],_0x54d48e=this[_0x9116cc(_0x39b86e._0x568d26,0x80e)](_0x4179c2);if(_0x54d48e&&Array['isArray'](_0x54d48e)&&_0x54d48e[_0x9116cc(0xf67,_0x39b86e._0x875194)]>0x3){const _0xa3a8aa=[_0x54d48e[0x0],_0x54d48e[0x4]],_0x8d9972=_0xa3a8aa[0x0],_0x1d6389=_0xa3a8aa[0x1],_0x353ed0=this['algorithmUtil']['MathDistance'](_0x39803f,_0x322474)/this['algorithmUtil']['getBaseLength'](_0x4179c2)/0x2,_0x1f9dea=this['getArrowBodyPoints'](_0x4179c2,_0x8d9972,_0x1d6389,_0x353ed0);if(_0x1f9dea){const _0x4c9c7a=_0x1f9dea[_0x5a4ae6(0x131a,0xa8c)];let _0x5827d3=_0x1f9dea[_0x5a4ae6(-_0x39b86e._0x2731b5,0x312)](0x0,_0x4c9c7a/0x2),_0x4722f1=_0x1f9dea['slice'](_0x4c9c7a/0x2,_0x4c9c7a);return _0x5827d3[_0x5a4ae6(_0x39b86e._0x4a8454,0xa0f)](_0x8d9972),_0x4722f1['push'](_0x1d6389),_0x5827d3=_0x5827d3[_0x9116cc(0x378,_0x39b86e._0x44549a)](),_0x5827d3[_0x9116cc(0xeea,_0x39b86e._0x307cfe)](_0x322474),_0x4722f1=_0x4722f1['reverse'](),_0x4722f1[_0x5a4ae6(_0x39b86e._0x56399a,_0x39b86e._0x4ae1ba)](_0x39803f),_0x5827d3['reverse']()['concat'](_0x54d48e,_0x4722f1);}}else console[_0x9116cc(0x142c,0x16e9)]('getArrowPoints:插值出错',_0x54d48e);}[_0x54a7f1(0x3c3,0xb1f)](_0x224c4a){const _0x3b7972={_0x79a5bb:0xb7a,_0x10d02a:0x9cd,_0x20fa80:0x447,_0x52fec5:0x1880,_0x58c7ca:0x919,_0x24c73d:0x3ed,_0x452df2:0x9c9},_0x564670={_0x3194cf:0x1b1};if(!_0x224c4a||_0x224c4a[_0x3d5bd7(_0x3b7972._0x79a5bb,0x10d8)]<0x2)return[];const _0xb811fc=this['algorithmUtil']['getBaseLength'](_0x224c4a),_0x1b941a=_0xb811fc*this[_0x3d5bd7(_0x3b7972._0x10d02a,0x12eb)],_0x3f8987=_0x224c4a[_0x224c4a[_0x3d5bd7(0xb7a,_0x3b7972._0x20fa80)]-0x1],_0x268e52=_0x1b941a*this['headWidthFactor'],_0x370a95=_0x1b941a*this[_0x56464d(0x855,0xfac)],_0x174501=_0x1b941a*this['neckHeightFactor'],_0xc89099=this['algorithmUtil']['getThirdPoint'](_0x224c4a[_0x224c4a[_0x56464d(_0x3b7972._0x52fec5,0xdd4)]-0x2],_0x3f8987,0x0,_0x1b941a,!![]);function _0x56464d(_0x4e7c6e,_0x131db0){return _0x54a7f1(_0x131db0- -_0x564670._0x3194cf,_0x4e7c6e);}const _0x4ffc7a=this['algorithmUtil'][_0x3d5bd7(_0x3b7972._0x58c7ca,0x51f)](_0x224c4a[_0x224c4a['length']-0x2],_0x3f8987,0x0,_0x174501,!![]),_0x2f54f2=this[_0x56464d(-0x624,0x1f6)]['getThirdPoint'](_0x3f8987,_0xc89099,Math['PI']/0x2,_0x268e52,![]),_0x45870a=this[_0x56464d(-_0x3b7972._0x24c73d,0x1f6)]['getThirdPoint'](_0x3f8987,_0xc89099,Math['PI']/0x2,_0x268e52,!![]),_0x4ab941=this[_0x56464d(0x393,0x1f6)]['getThirdPoint'](_0x3f8987,_0x4ffc7a,Math['PI']/0x2,_0x370a95,![]),_0x194546=this['algorithmUtil'][_0x56464d(_0x3b7972._0x452df2,0xb73)](_0x3f8987,_0x4ffc7a,Math['PI']/0x2,_0x370a95,!![]);function _0x3d5bd7(_0x790961,_0x1dfb38){return _0x7afdbe(_0x1dfb38,_0x790961- -0x639);}return[_0x4ab941,_0x2f54f2,_0x3f8987,_0x45870a,_0x194546];}[_0x7afdbe(0x1e5,0x6b1)](_0x491ab4,_0x3436ab,_0x5e3114,_0xb1aafd){const _0x37998c={_0xdf81f2:0xa1f,_0x3861a1:0x12b1,_0x26e03a:0x821,_0x469c26:0x14c,_0xe9d67a:0x4f5,_0x39706b:0xe61,_0xb11280:0x7f,_0x386401:0x16d3,_0x2de3c6:0xc81,_0x261768:0x1ac},_0x5a1c83={_0xdf4718:0x4f3},_0x127c41={_0x3cbb2b:0xa3};function _0x214bab(_0x3fb8fe,_0x15c250){return _0x54a7f1(_0x15c250- -_0x127c41._0x3cbb2b,_0x3fb8fe);}const _0x2c39fe=this[_0x233d34(-0x14c,-_0x37998c._0xdf81f2)][_0x233d34(0x63f,0x10fa)](_0x491ab4);function _0x233d34(_0x4b20b3,_0xac5f4c){return _0x54a7f1(_0x4b20b3- -_0x5a1c83._0xdf4718,_0xac5f4c);}const _0x9d1d84=this['algorithmUtil']['getBaseLength'](_0x491ab4),_0x29c3bd=_0x9d1d84*_0xb1aafd,_0x37cab9=this[_0x233d34(-0x14c,-0x548)][_0x214bab(0x1391,_0x37998c._0x3861a1)](_0x3436ab,_0x5e3114),_0x184150=(_0x29c3bd-_0x37cab9)/0x2;let _0x35af50=0x0;const _0x38864a=[],_0x15053d=[];for(let _0x1663aa=0x1;_0x1663aa<_0x491ab4[_0x233d34(0xa92,_0x37998c._0x26e03a)]-0x1;_0x1663aa++){const _0x1cee00=this[_0x233d34(-_0x37998c._0x469c26,-0x751)][_0x233d34(_0x37998c._0xe9d67a,0xd15)](_0x491ab4[_0x1663aa-0x1],_0x491ab4[_0x1663aa],_0x491ab4[_0x1663aa+0x1])/0x2;_0x35af50+=this[_0x233d34(-0x14c,-0xd3)][_0x233d34(_0x37998c._0x39706b,0x109f)](_0x491ab4[_0x1663aa-0x1],_0x491ab4[_0x1663aa]);const _0x473079=(_0x29c3bd/0x2-_0x35af50/_0x2c39fe*_0x184150)/Math[_0x233d34(-_0x37998c._0xb11280,0x6cc)](_0x1cee00),_0x4cd181=this['algorithmUtil']['getThirdPoint'](_0x491ab4[_0x1663aa-0x1],_0x491ab4[_0x1663aa],Math['PI']-_0x1cee00,_0x473079,!![]),_0x4a586c=this['algorithmUtil'][_0x214bab(_0x37998c._0x386401,_0x37998c._0x2de3c6)](_0x491ab4[_0x1663aa-0x1],_0x491ab4[_0x1663aa],_0x1cee00,_0x473079,![]);_0x38864a[_0x233d34(0xa15,0x3d5)](_0x4cd181),_0x15053d['push'](_0x4a586c);}return _0x38864a[_0x214bab(_0x37998c._0x261768,0x922)](_0x15053d);}[_0x7afdbe(0x1373,0xa83)](_0x31e208){let _0x496e77=_0x31e208[0x0][0x2]||0x0;for(let _0xb3291e=0x0;_0xb3291e<_0x31e208['length'];_0xb3291e++){_0x31e208[0x2]>_0x496e77&&(_0x496e77=_0x31e208[0x2]);}return _0x496e77;}}const doubleArrowUtil=new DoubleArrowUtil();class DoubleArrow extends PolygonEntity{constructor(_0x32e4ec={}){const _0x4a037d={_0x3f9394:0x11b3,_0x119dd7:0x6e8},_0x31c47c={_0x1417f8:0x20};super(_0x32e4ec);function _0x1b408c(_0xab54,_0x2073d1){return _0x54a7f1(_0x2073d1- -_0x31c47c._0x1417f8,_0xab54);}this[_0x1b408c(_0x4a037d._0x3f9394,_0x4a037d._0x119dd7)]=0x3,this['_maxPointNum']=0x5;}[_0x7afdbe(0xaaf,0x1261)](_0x19bc7d){const _0x4e4df6={_0x187d15:0x196a},_0x35534e={_0x4bbb4f:0x350},_0xdb3a3a={_0x22a210:0x136};if(!_0x19bc7d||_0x19bc7d[_0x1298ee(0xbcb,0xe63)]<this['_minPointNum'])return _0x19bc7d;function _0x4af1d5(_0x43321a,_0x4808bf){return _0x54a7f1(_0x4808bf- -_0xdb3a3a._0x22a210,_0x43321a);}this['style']['maxHeight']=this[_0x1298ee(0x25f,0x733)]();function _0x1298ee(_0x2d1f3a,_0x47d131){return _0x7afdbe(_0x2d1f3a,_0x47d131- -_0x35534e._0x4bbb4f);}return doubleArrowUtil[_0x1298ee(_0x4e4df6._0x187d15,0x1620)](_0x19bc7d,this['style']);}[_0x54a7f1(0x82b,0xe82)](_0x1af558){return setPositionsHeight(_0x1af558,this['style']['maxHeight']);}static['getOutlinePositions'](_0x172379,_0x468a9c){const _0x39dce3={_0x4b15e3:0x13f1,_0x2334b0:0x10db},_0x5ab495={_0x1c0e01:0x57f};if(!_0x172379||_0x172379['length']<0x3)return _0x172379;function _0x4243bf(_0x13deb8,_0x17c53b){return _0x7afdbe(_0x17c53b,_0x13deb8- -_0x5ab495._0x1c0e01);}return _0x172379=LngLatArray['toCartesians'](_0x172379),doubleArrowUtil[_0x4243bf(_0x39dce3._0x4b15e3,_0x39dce3._0x2334b0)](_0x172379,_0x468a9c);}}register$5(_0x54a7f1(0xea8,0x5ea),DoubleArrow);class FineArrowUtil{constructor(){const _0x185417={_0x35e6a4:0x247};function _0x1dc833(_0x402d55,_0x346095){return _0x54a7f1(_0x402d55- -0x3e9,_0x346095);}this[_0x1dc833(-0x42,_0x185417._0x35e6a4)]=algorithmUtil;}[_0x54a7f1(0x1286,0xe43)](_0x9d91e={}){const _0x7257={_0x40483:0x14d,_0x4cc061:0x58d,_0x1bdcdf:0xdfa,_0x520c94:0xf5c};this[_0x186a19(-_0x7257._0x40483,-0x22e)]=_0x9d91e[_0x186a19(-_0x7257._0x4cc061,-0x22e)]||Math['PI']/8.5;function _0x3da728(_0x88cba1,_0x377b8e){return _0x54a7f1(_0x88cba1- -0x363,_0x377b8e);}this[_0x3da728(0x23b,0x6db)]=_0x9d91e['neckAngle']||Math['PI']/0xd,this['tailWidthFactor']=_0x9d91e[_0x186a19(0x63d,0x6a2)]||0.1,this[_0x186a19(0x1274,0xc96)]=_0x9d91e[_0x3da728(_0x7257._0x1bdcdf,_0x7257._0x520c94)]||0.2;function _0x186a19(_0x3866bc,_0x4ff556){return _0x54a7f1(_0x4ff556- -0x4c7,_0x3866bc);}this['headWidthFactor']=_0x9d91e['headWidthFactor']||0.25,this['neckHeightFactor']=_0x9d91e['neckHeightFactor']||0.85;}['startCompute'](_0x2054bb,_0x30f4dc){const _0x50af74={_0x203aca:0xc4a,_0x407fba:0x237,_0x56f6a0:0x45b,_0xb02052:0xb31,_0xa07c0f:0x304,_0x2824ee:0x237,_0x8f6928:0xc0b,_0x442478:0xf0,_0x570815:0x3ab},_0x40c587={_0x2325ca:0x39e};if(!_0x2054bb||_0x2054bb['length']===0x0)return _0x2054bb;this['positions']=_0x2054bb,this[_0x26c1d0(_0x50af74._0x203aca,0x1093)](_0x30f4dc);const _0x46f7ff=cartesians2mercators(_0x2054bb),_0x1fc745=(_0x30f4dc===null||_0x30f4dc===void 0x0?void 0x0:_0x30f4dc['maxHeight'])??this['getMaxHeight'](_0x46f7ff),_0x232162=[_0x46f7ff[0x0],_0x46f7ff[0x1]],_0x2b1ca0=_0x232162[0x0],_0x471694=_0x232162[0x1],_0xeb5376=this[_0x4213ba(_0x50af74._0x407fba,0x639)]['getBaseLength'](_0x46f7ff),_0x5c4b9e=_0xeb5376*this['tailWidthFactor'],_0x247d72=_0xeb5376*this[_0x26c1d0(0x5f2,0xf6a)],_0x5547b2=_0xeb5376*this['headWidthFactor'];function _0x26c1d0(_0x6cf77f,_0x3f1847){return _0x7afdbe(_0x6cf77f,_0x3f1847- -0x421);}const _0x392446=this['algorithmUtil'][_0x26c1d0(_0x50af74._0x56f6a0,_0x50af74._0xb02052)](_0x471694,_0x2b1ca0,Math['PI']/0x2,_0x5c4b9e,!![]),_0x42d4df=this[_0x4213ba(0x237,-_0x50af74._0xa07c0f)]['getThirdPoint'](_0x471694,_0x2b1ca0,Math['PI']/0x2,_0x5c4b9e,![]),_0x4df1fb=this[_0x4213ba(_0x50af74._0x2824ee,_0x50af74._0x8f6928)]['getThirdPoint'](_0x2b1ca0,_0x471694,this['headAngle'],_0x5547b2,![]),_0x3c0897=this['algorithmUtil']['getThirdPoint'](_0x2b1ca0,_0x471694,this['headAngle'],_0x5547b2,!![]);function _0x4213ba(_0x12d34e,_0x491d2b){return _0x7afdbe(_0x491d2b,_0x12d34e- -_0x40c587._0x2325ca);}const _0x45bba5=this['algorithmUtil']['getThirdPoint'](_0x2b1ca0,_0x471694,this['neckAngle'],_0x247d72,![]),_0x57bc95=this['algorithmUtil']['getThirdPoint'](_0x2b1ca0,_0x471694,this[_0x26c1d0(-_0x50af74._0x442478,_0x50af74._0x570815)],_0x247d72,!![]),_0x34d827=[_0x392446,_0x45bba5,_0x4df1fb,_0x471694,_0x3c0897,_0x57bc95,_0x42d4df],_0x2228d8=mercators2cartesians(_0x34d827,_0x1fc745);return _0x2228d8;}[_0x7afdbe(0x10d3,0xa83)](_0x2d031c){let _0x30f5ea=_0x2d031c[0x0][0x2]||0x0;for(let _0x41a981=0x0;_0x41a981<_0x2d031c['length'];_0x41a981++){_0x2d031c[0x2]>_0x30f5ea&&(_0x30f5ea=_0x2d031c[0x2]);}return _0x30f5ea;}}const fineArrowUtil=new FineArrowUtil();class FineArrow extends PolygonEntity{constructor(_0x4bb676={}){const _0x29ddac={_0x3fe313:0x47a};function _0x250a59(_0x2f8d8b,_0x203730){return _0x54a7f1(_0x203730- -0x28e,_0x2f8d8b);}super(_0x4bb676),this[_0x250a59(0xc85,_0x29ddac._0x3fe313)]=0x2,this['_maxPointNum']=0x2;}[_0x54a7f1(0x1033,0xc70)](_0x5cca89){const _0x4b1694={_0x52a306:0xc5b,_0x4046b2:0x1771,_0x2ee2f9:0x152e},_0x55801d={_0x5c868d:0x426};if(!_0x5cca89||_0x5cca89[_0x91d8a3(_0x4b1694._0x52a306,0xb5f)]<0x2)return _0x5cca89;function _0x91d8a3(_0x27a3bc,_0x21f734){return _0x54a7f1(_0x21f734- -_0x55801d._0x5c868d,_0x27a3bc);}function _0x418347(_0x4853c6,_0xe7ebe6){return _0x7afdbe(_0xe7ebe6,_0x4853c6- -0x1ff);}return this[_0x418347(0x4cb,0x128)]['maxHeight']=this['getMaxHeight'](),fineArrowUtil[_0x418347(_0x4b1694._0x4046b2,_0x4b1694._0x2ee2f9)](_0x5cca89,this['style']);}['_updateEditDraggerPositionHeight'](_0x102b62){function _0x56dee1(_0x3a957e,_0x290be9){return _0x54a7f1(_0x3a957e- -0x45a,_0x290be9);}return setPositionsHeight(_0x102b62,this[_0x56dee1(0x42,-0x88a)]['maxHeight']);}static[_0x54a7f1(0x13f0,0x1252)](_0x5c30ba,_0x165334){const _0xe3eeaf={_0x2932e5:0x16be,_0x169891:0x1244,_0x1ea54a:0x111,_0x229e05:0x61a};function _0x2830d8(_0x1c9688,_0x656c4a){return _0x7afdbe(_0x1c9688,_0x656c4a-0x91);}function _0xe502d1(_0x1bce68,_0x483f11){return _0x7afdbe(_0x1bce68,_0x483f11- -0x433);}if(!_0x5c30ba||_0x5c30ba[_0x2830d8(_0xe3eeaf._0x2932e5,_0xe3eeaf._0x169891)]<0x2)return _0x5c30ba;return _0x5c30ba=LngLatArray[_0xe502d1(-_0xe3eeaf._0x1ea54a,_0xe3eeaf._0x229e05)](_0x5c30ba),fineArrowUtil['startCompute'](_0x5c30ba,_0x165334);}}register$5('fineArrow',FineArrow);class FineArrowYWUtil extends ArrowParentUtil{['setOptions'](_0x5d575d={}){const _0x36354d={_0x3665fb:0xd00,_0xdb7867:0xe3d};this['headHeightFactor']=_0x5d575d[_0x9ec369(0x1752,0xfef)]||0.18,this['headWidthFactor']=_0x5d575d['headWidthFactor']||0.3,this['neckHeightFactor']=_0x5d575d['neckHeightFactor']||0.85;function _0x43f4f8(_0x484489,_0x13bcd4){return _0x7afdbe(_0x13bcd4,_0x484489- -0x97);}this['neckWidthFactor']=_0x5d575d['neckWidthFactor']||0.15,this[_0x43f4f8(0xd00,0x11cd)]=_0x5d575d[_0x43f4f8(_0x36354d._0x3665fb,_0x36354d._0xdb7867)]||0.1;function _0x9ec369(_0x2fe8d6,_0x4cdd1a){return _0x7afdbe(_0x2fe8d6,_0x4cdd1a- -0x17);}this['swallowTailFactor']=_0x5d575d[_0x43f4f8(0x1900,0x13b3)]||0x1;}['startCompute'](_0x5cffa5,_0x7b0380){const _0x5828eb={_0x1421bb:0xcc,_0x3f9120:0x622,_0x5140eb:0xc4,_0x33faa5:0x7e,_0x5a7694:0x701},_0xc3155f={_0x4efea2:0x5ed};if(!_0x5cffa5||_0x5cffa5['length']===0x0)return _0x5cffa5;this['positions']=_0x5cffa5,this['setOptions'](_0x7b0380);const _0x5b7e69=cartesians2mercators(_0x5cffa5);function _0x383ef2(_0x3890a1,_0x329645){return _0x7afdbe(_0x3890a1,_0x329645- -_0xc3155f._0x4efea2);}const _0x499df8=(_0x7b0380===null||_0x7b0380===void 0x0?void 0x0:_0x7b0380[_0xad8c99(-_0x5828eb._0x1421bb,-0x1a7)])??this['getMaxHeight'](_0x5b7e69),_0x2a5934=this['getTailPoints'](_0x5b7e69),_0x1e621e=this['getArrowHeadPoints'](_0x5b7e69,_0x2a5934[0x0],_0x2a5934[0x2]);if(!_0x1e621e||_0x1e621e['length']<0x4)return _0x5cffa5;const _0x2a590e=_0x1e621e[0x0],_0x475262=_0x1e621e[0x4],_0x5f0285=this[_0x383ef2(_0x5828eb._0x3f9120,_0x5828eb._0x5140eb)](_0x5b7e69,_0x2a590e,_0x475262,this[_0x383ef2(0x5c8,0x7aa)]),_0x1c9315=_0x5f0285[_0x383ef2(0x6cd,0xbc6)];let _0x220152=[_0x2a5934[0x0]]['concat'](_0x5f0285['slice'](0x0,_0x1c9315/0x2));_0x220152['push'](_0x2a590e);let _0x55e541=[_0x2a5934[0x2]]['concat'](_0x5f0285['slice'](_0x1c9315/0x2,_0x1c9315));function _0xad8c99(_0x491667,_0x10c56f){return _0x7afdbe(_0x10c56f,_0x491667- -0x557);}_0x55e541['push'](_0x475262),_0x220152=this[_0xad8c99(_0x5828eb._0x33faa5,0xaab)]['getQBSplinePoints'](_0x220152),_0x55e541=this['algorithmUtil'][_0x383ef2(-_0x5828eb._0x5a7694,0x3ac)](_0x55e541);const _0x4f890f=_0x220152['concat'](_0x1e621e,_0x55e541['reverse'](),[_0x2a5934[0x1],_0x220152[0x0]]),_0x43407c=mercators2cartesians(_0x4f890f,_0x499df8);return _0x43407c;}['getTailPoints'](_0x106802){const _0x5afb03={_0x270139:0x11b,_0x38e5f1:0x862,_0x4d83c3:0xdbd,_0x3e428f:0x115a,_0x4f8e66:0x12a7},_0x1410fe={_0x31cf21:0x4c2},_0x196d67=this['algorithmUtil']['getBaseLength'](_0x106802),_0x110e55=_0x196d67*this['tailWidthFactor'],_0x286e3f=this[_0x21dea2(-0x2a,-_0x5afb03._0x270139)][_0x21dea2(0x54b,_0x5afb03._0x38e5f1)](_0x106802[0x1],_0x106802[0x0],Math['PI']/0x2,_0x110e55,![]),_0x10ffc3=this['algorithmUtil'][_0xae3672(_0x5afb03._0x4d83c3,0xc2d)](_0x106802[0x1],_0x106802[0x0],Math['PI']/0x2,_0x110e55,!![]);function _0xae3672(_0x417d35,_0x335b84){return _0x54a7f1(_0x335b84- -0xf7,_0x417d35);}function _0x21dea2(_0x10b260,_0x106c5c){return _0x54a7f1(_0x106c5c- -_0x1410fe._0x31cf21,_0x10b260);}const _0x4de943=_0x110e55*this[_0x21dea2(_0x5afb03._0x3e428f,_0x5afb03._0x4f8e66)],_0x2551b0=this['algorithmUtil']['getThirdPoint'](_0x106802[0x1],_0x106802[0x0],0x0,_0x4de943,!![]);return[_0x286e3f,_0x2551b0,_0x10ffc3];}}const fineArrowYWUtil=new FineArrowYWUtil();class FineArrowYW extends PolygonEntity{constructor(_0x86aa36={}){super(_0x86aa36),this['_minPointNum']=0x2,this['_maxPointNum']=0x2;}[_0x54a7f1(0x1033,0x17c9)](_0x5424d5){const _0x363c8b={_0x2cfaa1:0xfc5,_0x5aa7b0:0x7d6,_0x1f2a3e:0x74c},_0x29380e={_0x5252c6:0x4a4},_0x1ee281={_0x29dffe:0x2ad};if(!_0x5424d5||_0x5424d5['length']<0x2)return _0x5424d5;function _0x40fd98(_0x406820,_0x313686){return _0x7afdbe(_0x406820,_0x313686- -_0x1ee281._0x29dffe);}function _0x2f2d66(_0x214a50,_0x515327){return _0x7afdbe(_0x214a50,_0x515327- -_0x29380e._0x5252c6);}return this['style']['maxHeight']=this[_0x40fd98(_0x363c8b._0x2cfaa1,_0x363c8b._0x5aa7b0)](),fineArrowYWUtil[_0x40fd98(0x1f21,0x16c3)](_0x5424d5,this[_0x2f2d66(_0x363c8b._0x1f2a3e,0x226)]);}['_updateEditDraggerPositionHeight'](_0xe31c84){function _0x2ab32e(_0x31cca1,_0x596628){return _0x7afdbe(_0x31cca1,_0x596628- -0x258);}return setPositionsHeight(_0xe31c84,this['style'][_0x2ab32e(0x73a,0x233)]);}static['getOutlinePositions'](_0x5a2188,_0x5f312e){const _0x592c24={_0x3a8828:0x1d6},_0x5efbe1={_0x22a625:0x135};if(!_0x5a2188||_0x5a2188['length']<0x2)return _0x5a2188;function _0x6cd9ab(_0x29a213,_0x2c9bda){return _0x7afdbe(_0x29a213,_0x2c9bda- -_0x5efbe1._0x22a625);}return _0x5a2188=LngLatArray[_0x6cd9ab(_0x592c24._0x3a8828,0x918)](_0x5a2188),fineArrowYWUtil['startCompute'](_0x5a2188,_0x5f312e);}}register$5('fineArrowYW',FineArrowYW);class GatheringPlaceUtil{constructor(){const _0x22a805={_0x10d982:0x34f,_0x625307:0x3db};function _0x34fd9b(_0xbc0ec1,_0x14f451){return _0x54a7f1(_0x14f451-0x34,_0xbc0ec1);}this[_0x34fd9b(-_0x22a805._0x10d982,_0x22a805._0x625307)]=algorithmUtil;}[_0x54a7f1(0x1742,0x1fdf)](_0x14d0eb,_0x2df8dc){const _0x565e35={_0x2b0d0b:0x60c,_0x3cda07:0x1fa},_0x1872a5={_0x38ba0b:0x40b};if(!_0x14d0eb||_0x14d0eb['length']===0x0)return _0x14d0eb;this['positions']=_0x14d0eb;function _0x5a8876(_0x3b3180,_0x2d0244){return _0x54a7f1(_0x3b3180- -0x24,_0x2d0244);}const _0x4af238=cartesians2mercators(_0x14d0eb),_0x3f80d9=(_0x2df8dc===null||_0x2df8dc===void 0x0?void 0x0:_0x2df8dc[_0x791242(0x217,0x80)])??this['getMaxHeight'](_0x4af238),_0x18ec11=this[_0x5a8876(0x383,0x7e2)]['Mid'](_0x4af238[0x0],_0x4af238[0x2]);_0x4af238['push'](_0x18ec11,_0x4af238[0x0],_0x4af238[0x1]);let _0x36e3b7=[],_0x1e5552,_0x2a1f82,_0x22dc41;const _0x56db09=[];for(let _0x354294=0x0;_0x354294<_0x4af238['length']-0x2;_0x354294++){_0x1e5552=_0x4af238[_0x354294],_0x2a1f82=_0x4af238[_0x354294+0x1],_0x22dc41=_0x4af238[_0x354294+0x2];const _0x1af574=this['algorithmUtil'][_0x791242(0x3f5,0x5bf)](0.4,_0x1e5552,_0x2a1f82,_0x22dc41);_0x36e3b7=_0x36e3b7['concat'](_0x1af574);}function _0x791242(_0x43231c,_0x3d9e08){return _0x7afdbe(_0x43231c,_0x3d9e08- -_0x1872a5._0x38ba0b);}const _0x5edb73=_0x36e3b7['length'];_0x36e3b7=[_0x36e3b7[_0x5edb73-0x1]]['concat'](_0x36e3b7['slice'](0x0,_0x5edb73-0x1));for(let _0x25ee6c=0x0;_0x25ee6c<_0x4af238['length']-0x2;_0x25ee6c++){_0x1e5552=_0x4af238[_0x25ee6c],_0x2a1f82=_0x4af238[_0x25ee6c+0x1],_0x56db09['push'](_0x1e5552);for(let _0x3ce7d6=0x0;_0x3ce7d6<=0x64;_0x3ce7d6++){const _0x52670f=this[_0x5a8876(0x383,-_0x565e35._0x2b0d0b)][_0x791242(_0x565e35._0x3cda07,0xafb)](_0x3ce7d6/0x64,_0x1e5552,_0x36e3b7[_0x25ee6c*0x2],_0x36e3b7[_0x25ee6c*0x2+0x1],_0x2a1f82);_0x56db09['push'](_0x52670f);}_0x56db09['push'](_0x2a1f82);}const _0x5e7caa=mercators2cartesians(_0x56db09,_0x3f80d9);return _0x5e7caa;}['getMaxHeight'](_0x337567){const _0x1b6ec7={_0x434c0f:0x1cc9},_0x4d920c={_0xce83db:0x28c};let _0x39a636=_0x337567[0x0][0x2]||0x0;function _0xe66b45(_0x1f7ba2,_0x20f2ef){return _0x54a7f1(_0x1f7ba2-_0x4d920c._0xce83db,_0x20f2ef);}for(let _0x4f734a=0x0;_0x4f734a<_0x337567[_0xe66b45(0x1211,_0x1b6ec7._0x434c0f)];_0x4f734a++){_0x337567[0x2]>_0x39a636&&(_0x39a636=_0x337567[0x2]);}return _0x39a636;}}const gatheringPlaceUtil=new GatheringPlaceUtil();class GatheringPlace extends PolygonEntity{constructor(_0x3306ba={}){super(_0x3306ba),this['_minPointNum']=0x3,this['_maxPointNum']=0x3;}['getShowPositions'](_0x1764de){const _0x3b7e81={_0x30aff6:0x1378},_0x45579f={_0x21f094:0x5f8},_0x5a2b78={_0x23809d:0x37b};if(!_0x1764de||_0x1764de[_0x522078(0xc8d,0xbbb)]<this['_minPointNum'])return _0x1764de;function _0x1d9439(_0x4bd832,_0x11dc1f){return _0x7afdbe(_0x4bd832,_0x11dc1f- -_0x5a2b78._0x23809d);}function _0x522078(_0x541e0d,_0x4edafd){return _0x7afdbe(_0x541e0d,_0x4edafd- -_0x45579f._0x21f094);}return this[_0x522078(-0x36b,0xd2)][_0x522078(0x850,-0x16d)]=this['getMaxHeight'](),gatheringPlaceUtil[_0x522078(0x1cc2,_0x3b7e81._0x30aff6)](_0x1764de,this['style']);}['_updateEditDraggerPositionHeight'](_0x227914){return setPositionsHeight(_0x227914,this['style']['maxHeight']);}static[_0x54a7f1(0x13f0,0x19ba)](_0x348749,_0x178f0f){const _0x478b2a={_0x2cafd7:0xcff,_0x30eb3a:0xc02};function _0x526fdb(_0x103757,_0x2d70dc){return _0x7afdbe(_0x103757,_0x2d70dc- -0x5b1);}function _0x120dd0(_0x232407,_0x52a6a4){return _0x7afdbe(_0x232407,_0x52a6a4- -0x507);}if(!_0x348749||_0x348749[_0x526fdb(_0x478b2a._0x2cafd7,_0x478b2a._0x30eb3a)]<0x2)return _0x348749;return _0x348749=LngLatArray[_0x526fdb(0xf58,0x49c)](_0x348749),gatheringPlaceUtil[_0x120dd0(0x18f9,0x1469)](_0x348749,_0x178f0f);}}register$5(_0x7afdbe(0x15e8,0x10eb),GatheringPlace);class IsosTriangle extends PolygonEntity{constructor(_0x192f12={}){const _0x1c08d6={_0x52e11b:0x957,_0x146d70:0xf9a};function _0x27220d(_0x526390,_0x32816f){return _0x7afdbe(_0x32816f,_0x526390-0x21);}super(_0x192f12),this[_0x27220d(_0x1c08d6._0x52e11b,_0x1c08d6._0x146d70)]=0x3,this['_maxPointNum']=0x3;}[_0x7afdbe(0x1312,0x1261)](_0x839176){const _0x36cb0c={_0x404e43:0x841,_0x37ecc3:0xde2,_0xf8fd28:0x14dc},_0x49efd8={_0x358aa8:0x3d1};function _0x581728(_0x51212a,_0x3ac8e7){return _0x7afdbe(_0x51212a,_0x3ac8e7- -_0x49efd8._0x358aa8);}if(!_0x839176||_0x839176[_0x581728(_0x36cb0c._0x404e43,_0x36cb0c._0x37ecc3)]<this['_minPointNum'])return _0x839176;function _0x49eaf3(_0x26a8a6,_0x16758e){return _0x54a7f1(_0x16758e-0xec,_0x26a8a6);}return IsosTriangle[_0x49eaf3(0xd42,_0x36cb0c._0xf8fd28)](_0x839176,this['style']);}static[_0x54a7f1(0x13f0,0x1dcc)](_0x539567,_0x2fcf6e){const _0x3ca86c={_0x46bfed:0x11b3};if(!_0x539567||_0x539567['length']<0x3)return _0x539567;const _0x271e63=_0x539567[0x0],_0x5ab48d=_0x539567[0x1];function _0xa87f65(_0x307862,_0x31574b){return _0x54a7f1(_0x31574b- -0x134,_0x307862);}const _0x1d9aee=_0x539567[0x2],_0x229162=Cesium__namespace[_0xa87f65(0xe3e,_0x3ca86c._0x46bfed)]['midpoint'](_0x271e63,_0x5ab48d,new Cesium__namespace['Cartesian3']()),_0x53c598=getAngle(_0x229162,_0x5ab48d),_0x5f4b0d=getAngle(_0x229162,_0x1d9aee),_0x5dc9f9=_0x53c598-_0x5f4b0d-0x5a,_0x1c8bf7=getRotateCenterPoint(_0x229162,_0x1d9aee,_0x5dc9f9);return[_0x271e63,_0x5ab48d,_0x1c8bf7];}}register$5('isosTriangle',IsosTriangle);class LuneUtil{constructor(){this['algorithmUtil']=algorithmUtil;}['startCompute'](_0x4719d1,_0x294948){const _0x5b6787={_0x4b580a:0x119b,_0x2e93d5:0x10ca,_0x3e20a2:0x1499,_0x2cbb0a:0x1b0d,_0x48c8cf:0xc8d};if(!_0x4719d1||_0x4719d1[_0x51daa6(_0x5b6787._0x4b580a,_0x5b6787._0x2e93d5)]===0x0)return _0x4719d1;this['positions']=_0x4719d1;let _0x43b1fb=cartesians2mercators(_0x4719d1);const _0x3e0894=(_0x294948===null||_0x294948===void 0x0?void 0x0:_0x294948['maxHeight'])??this[_0x51daa6(0x8f7,0x99a)](_0x43b1fb),_0x1298fb=[_0x43b1fb[0x0],_0x43b1fb[0x1],_0x43b1fb[0x2],undefined,undefined],_0x3dec70=_0x1298fb[0x0],_0x53e6da=_0x1298fb[0x1],_0x1d5029=_0x1298fb[0x2];let _0x58a77c=_0x1298fb[0x3],_0x49993e=_0x1298fb[0x4];function _0x16c68e(_0x17f0bf,_0x108d6f){return _0x54a7f1(_0x17f0bf-0x52,_0x108d6f);}const _0x4613e1=this['algorithmUtil'][_0x51daa6(0xf5d,0xca2)](_0x3dec70,_0x53e6da,_0x1d5029),_0x315b65=this['algorithmUtil'][_0x51daa6(0x14d0,_0x5b6787._0x3e20a2)](_0x3dec70,_0x4613e1),_0x227597=this['algorithmUtil'][_0x51daa6(0x1a95,0x1439)](_0x3dec70,_0x4613e1),_0x577beb=this['algorithmUtil'][_0x51daa6(0x12da,0x1439)](_0x53e6da,_0x4613e1);function _0x51daa6(_0x5e7eb8,_0x3a69d1){return _0x54a7f1(_0x3a69d1-0x145,_0x5e7eb8);}this['algorithmUtil'][_0x51daa6(_0x5b6787._0x2cbb0a,0x140d)](_0x3dec70,_0x53e6da,_0x1d5029)?(_0x58a77c=_0x577beb,_0x49993e=_0x227597):(_0x58a77c=_0x227597,_0x49993e=_0x577beb);_0x43b1fb=this[_0x51daa6(_0x5b6787._0x48c8cf,0x4ec)][_0x51daa6(0xc62,0x13fb)](_0x4613e1,_0x315b65,_0x58a77c,_0x49993e),_0x43b1fb['push'](_0x43b1fb[0x0]);const _0x4d7ad4=mercators2cartesians(_0x43b1fb,_0x3e0894);return _0x4d7ad4;}['getMaxHeight'](_0x5d804f){const _0x354959={_0x167df0:0xf64};let _0x21e3c4=_0x5d804f[0x0][0x2]||0x0;function _0x121083(_0xc606de,_0x2eb4b3){return _0x7afdbe(_0xc606de,_0x2eb4b3- -0x24f);}for(let _0x486ffc=0x0;_0x486ffc<_0x5d804f[_0x121083(0xe88,_0x354959._0x167df0)];_0x486ffc++){_0x5d804f[0x2]>_0x21e3c4&&(_0x21e3c4=_0x5d804f[0x2]);}return _0x21e3c4;}}const luneUtil=new LuneUtil();class Lune extends PolygonEntity{constructor(_0x4b5c94={}){super(_0x4b5c94),this['_minPointNum']=0x3,this['_maxPointNum']=0x3;}[_0x54a7f1(0x1033,0xd65)](_0x3472b0){const _0x45a6b0={_0xfec50:0x457,_0x38f6f7:0x226,_0x800a26:0x1b84,_0x11161e:0x16be,_0x302b1d:0xac0,_0x143632:0x418},_0x4707e9={_0x48e515:0x710};function _0x259d39(_0x2440a3,_0x419a36){return _0x7afdbe(_0x2440a3,_0x419a36- -_0x4707e9._0x48e515);}function _0x1cf1b7(_0x4bd7de,_0x9ae474){return _0x54a7f1(_0x9ae474- -0x84,_0x4bd7de);}if(!_0x3472b0||_0x3472b0['length']<this[_0x259d39(-_0x45a6b0._0xfec50,_0x45a6b0._0x38f6f7)])return _0x3472b0;return this['style']['maxHeight']=this['getMaxHeight'](),luneUtil[_0x1cf1b7(_0x45a6b0._0x800a26,_0x45a6b0._0x11161e)](_0x3472b0,this[_0x1cf1b7(_0x45a6b0._0x302b1d,_0x45a6b0._0x143632)]);}[_0x54a7f1(0x82b,-0x241)](_0x5da7ad){return setPositionsHeight(_0x5da7ad,this['style']['maxHeight']);}static[_0x7afdbe(0x1817,0x161e)](_0xebdd09,_0x24e855){const _0x257db3={_0x4815aa:0x1183},_0x3bd3b4={_0x46d42f:0x156};function _0x4bc1dd(_0x3c1469,_0x36464c){return _0x7afdbe(_0x3c1469,_0x36464c- -_0x3bd3b4._0x46d42f);}if(!_0xebdd09||_0xebdd09['length']<0x3)return _0xebdd09;return _0xebdd09=LngLatArray[_0x4bc1dd(_0x257db3._0x4815aa,0x8f7)](_0xebdd09),luneUtil['startCompute'](_0xebdd09,_0x24e855);}}register$5(_0x7afdbe(0x1900,0xfa6),Lune);class EditRegular extends EditPolygon{set[_0x7afdbe(0x1e52,0x190f)](_0x55b379){this['positions'][0x0]=_0x55b379;}get['position'](){return this['positions'][0x0];}[_0x7afdbe(0xa9b,0x520)](){const _0x4f150f={_0x1a4c33:0x1280,_0x3eef99:0xafe,_0x37df5f:0xc29,_0x1dad16:0x1fcd,_0x26add5:0xd7d,_0x233338:0x1665,_0x2bb1f3:0xf1a},_0x4c586d={_0x2cb0b7:0x1b3},_0x5de433={_0x485ec7:0x137d,_0x85309b:0x92e,_0xa2dd30:0xfca},_0x50f65b={_0x555916:0xfc},_0x4daabb={_0x45aedf:0x9d},_0xefb642=this[_0x185d30(0x180d,_0x4f150f._0x1a4c33)];let _0x274ad9=this[_0x185d30(0x951,0xdee)](_0xefb642[0x0]);if(this[_0x143073(0x1304,0x1394)][_0x185d30(0x53a,_0x4f150f._0x3eef99)]){const _0x1cb405=this[_0x143073(_0x4f150f._0x37df5f,0x651)]({'position':_0x274ad9,'type':EditPointType['MoveAll'],'tooltip':this['_map'][_0x185d30(0xd77,0x11b3)](_0x143073(_0x4f150f._0x1dad16,0x1897)),'onDrag':(_0x4b2ee6,_0x3c9332)=>{_0x3c9332=this['updatePositionsHeightByAttr'](_0x3c9332);function _0x433ed5(_0x242f0a,_0x55f95b){return _0x185d30(_0x242f0a,_0x55f95b- -0x48a);}_0x4b2ee6['position']=_0x3c9332,this[_0x433ed5(0x1215,0x1322)](_0x274ad9,_0x3c9332),_0x274ad9=_0x3c9332;}});_0x1cb405[_0x143073(0xd15,_0x4f150f._0x26add5)]=0x0,this['draggers']['push'](_0x1cb405);}function _0x185d30(_0x2b509b,_0x2f9696){return _0x7afdbe(_0x2b509b,_0x2f9696- -_0x4daabb._0x45aedf);}const _0x55c695=getPositionByDirectionAndLen(_0x274ad9,this['style']['startAngle'],this['style']['radius']);function _0x143073(_0x55ec07,_0x9c2a2f){return _0x7afdbe(_0x55ec07,_0x9c2a2f- -_0x50f65b._0x555916);}_0xefb642[0x1]=_0x55c695;const _0x295355=this['createDragger']({'position':this['updatePositionsHeightByAttr'](_0x55c695),'onDrag':(_0x4d2dba,_0x58cfc5)=>{const _0xe87068={_0x32550d:0x5a6};_0x58cfc5=this['updatePositionsHeightByAttr'](_0x58cfc5),_0x4d2dba['position']=_0x58cfc5;function _0x444f1d(_0x552121,_0x4b9ffb){return _0x185d30(_0x552121,_0x4b9ffb- -0x4ae);}this['positions'][_0x4d2dba[_0x444f1d(_0x5de433._0x485ec7,_0x5de433._0x85309b)]]=_0x58cfc5;function _0x57a869(_0x4022a7,_0x3f5fa5){return _0x185d30(_0x4022a7,_0x3f5fa5- -_0xe87068._0x32550d);}this['style']['radius']=Cesium__namespace[_0x444f1d(0x10b9,_0x5de433._0xa2dd30)][_0x444f1d(0x1271,0xf74)](_0xefb642[0x0],_0x58cfc5),this[_0x444f1d(-0x93e,0x17f)]['startAngle']=formatNum$1(getAngle(_0xefb642[0x0],_0x58cfc5),0x2);},'onDragStart':(_0x42b162,_0x3cfa17)=>{function _0xafe0b1(_0x451ee7,_0x48fc60){return _0x143073(_0x451ee7,_0x48fc60- -_0x4c586d._0x2cb0b7);}function _0x3851e5(_0x56b1e4,_0x4444db){return _0x185d30(_0x4444db,_0x56b1e4- -0x37d);}for(let _0x5452ff=0x0,_0x5bef8a=this[_0x3851e5(0x117d,0x8ff)]['length'];_0x5452ff<_0x5bef8a;_0x5452ff++){this['draggers'][_0x5452ff][_0x3851e5(0x1407,0xe37)]=![];}},'onDragEnd':(_0x35294c,_0x4504ec)=>{this['updateDraggers']();}});_0x295355['index']=0x1,this['draggers']['push'](_0x295355),this['entityGraphic'][_0x143073(_0x4f150f._0x233338,_0x4f150f._0x2bb1f3)]&&this['_bindHeightDraggers']();}['_moveAllPostions'](_0x1669c5,_0x274bc6){const _0x1aba4e={_0x40ab33:0xda6,_0x330c1d:0x1f30},_0xbcec95={_0x59ede5:0x26c},_0x12059c={_0x581f91:0x16ae},_0x2eea69={_0x5aa94b:0x365},_0x27cdda=Cesium__namespace['Cartesian3']['subtract'](_0x274bc6,_0x1669c5,new Cesium__namespace['Cartesian3']());function _0x1aeb8c(_0x32a2e2,_0x5f502f){return _0x54a7f1(_0x5f502f- -0x1fd,_0x32a2e2);}this['positions'][_0x1f7905(0x8b1,_0x1aba4e._0x40ab33)]((_0x105ba8,_0x109b36,_0x1c4409)=>{function _0x4bd8fc(_0xae3e69,_0x394fd5){return _0x1f7905(_0x394fd5- -_0x2eea69._0x5aa94b,_0xae3e69);}const _0x253f44=Cesium__namespace[_0x4bd8fc(_0x12059c._0x581f91,0x11ee)]['add'](_0x105ba8,_0x27cdda,new Cesium__namespace['Cartesian3']());this['positions'][_0x109b36]=_0x253f44;});function _0x1f7905(_0x19b9cf,_0x47872c){return _0x54a7f1(_0x19b9cf-_0xbcec95._0x59ede5,_0x47872c);}for(let _0x3cacfb=0x0,_0x36309a=this['draggers']['length'];_0x3cacfb<_0x36309a;_0x3cacfb++){this[_0x1f7905(0x15d5,0xe53)][_0x3cacfb][_0x1f7905(0x194d,_0x1aba4e._0x330c1d)]=Cesium__namespace['Cartesian3']['add'](this['draggers'][_0x3cacfb]['position'],_0x27cdda,new Cesium__namespace['Cartesian3']());}}[_0x7afdbe(0x22c0,0x1862)](_0x4e564c){const _0x3eff86={_0x14be16:0xb37,_0xcf148f:0xbde,_0xda7801:0x89f},_0x14b4fd={_0x58b389:0x1da},_0x330f49={_0x41f9f2:0xa};function _0x167be2(_0x184757,_0x3754fb){return _0x7afdbe(_0x184757,_0x3754fb-_0x330f49._0x41f9f2);}function _0x546e7a(_0x3c8562,_0x32909a){return _0x54a7f1(_0x32909a-_0x14b4fd._0x58b389,_0x3c8562);}this[_0x546e7a(_0x3eff86._0x14be16,0x708)]['height']=_0x4e564c,this['style'][_0x167be2(_0x3eff86._0xcf148f,_0x3eff86._0xda7801)]=this['formatNum'](_0x4e564c,0x2);const _0x33b2fb=this['positions'];for(let _0x427f40=0x0,_0x4569c2=_0x33b2fb[_0x546e7a(0x6c9,0x115f)];_0x427f40<_0x4569c2;_0x427f40++){_0x33b2fb[_0x427f40]=setPositionsHeight(_0x33b2fb[_0x427f40],_0x4e564c);}this[_0x546e7a(0x1a5e,0x1092)](EventType[_0x167be2(0x1158,0x16dc)]);}}class Regular extends PolygonEntity{constructor(_0x4ec11f={}){const _0xaf063a={_0x5e60cf:0x129,_0x5ab4b6:0x663},_0x249178={_0x159614:0x36b};super(_0x4ec11f),this[_0x20cada(0xa1e,0x208)]=0x2,this['_maxPointNum']=0x2;function _0x35255a(_0x488549,_0x1b5b6a){return _0x54a7f1(_0x1b5b6a- -_0x249178._0x159614,_0x488549);}this[_0x20cada(-0x9f1,-0x64)][_0x35255a(-0x301,0x6c)]=this['style'][_0x20cada(-0x5fd,-_0xaf063a._0x5e60cf)]??0x3e8;function _0x20cada(_0x5c5a22,_0x317d6e){return _0x54a7f1(_0x317d6e- -0x500,_0x5c5a22);}this['style'][_0x35255a(0xa5e,_0xaf063a._0x5ab4b6)]=this['style']['startAngle']??0x0,_0x4ec11f['position']&&(this['positions']=[_0x4ec11f['position']]);}get['EditClass'](){return EditRegular;}['updateAttrForDrawing'](_0x43e6d9){const _0x2f1986={_0x8ae483:0xdf7};function _0x345063(_0x53e8a2,_0x490ab0){return _0x54a7f1(_0x53e8a2- -0x1b4,_0x490ab0);}var _0x396e61;function _0x32f314(_0x22265b,_0x34d820){return _0x7afdbe(_0x22265b,_0x34d820- -0x3bc);}if(!_0x43e6d9&&((_0x396e61=this['_positions_draw'])===null||_0x396e61===void 0x0?void 0x0:_0x396e61[_0x32f314(0x1593,_0x2f1986._0x8ae483)])>0x1){const _0x22e7cb=this['_positions_draw'][0x0];this['style']['radius']=Cesium__namespace['Cartesian3']['distance'](_0x22e7cb,this['_positions_draw'][0x1]),this[_0x32f314(0xa38,0x30e)]['startAngle']=formatNum$1(getAngle(_0x22e7cb,this['_positions_draw'][0x1]),0x2);}super['updateAttrForDrawing'](_0x43e6d9);}['getShowPositions'](_0x549791){const _0x3b3939={_0x1e8f65:0xa92,_0xf8f4d:0x1036};function _0x55173c(_0x2d4c6b,_0x5cf12b){return _0x54a7f1(_0x5cf12b- -0x3ba,_0x2d4c6b);}if(!_0x549791||_0x549791[_0x15922a(0xacd,_0x3b3939._0x1e8f65)]<0x1)return _0x549791;function _0x15922a(_0x385a90,_0x15b5fa){return _0x7afdbe(_0x385a90,_0x15b5fa- -0x721);}return Regular[_0x55173c(0xa57,_0x3b3939._0xf8f4d)](_0x549791[0x0],this['style']);}[_0x54a7f1(0xd72,0x17b4)](_0x184c18){const _0x2d3582={_0x4ff64e:0x12d};function _0x3df2de(_0x1562f8,_0x33de01){return _0x7afdbe(_0x1562f8,_0x33de01- -0x551);}const _0xae894b=this[_0x575400(0xd,_0x2d3582._0x4ff64e)](_0x184c18===null||_0x184c18===void 0x0?void 0x0:_0x184c18['noAlt']),_0x51f4c7={};_0x51f4c7[_0x575400(0xfb7,0x5ba)]='Point';function _0x575400(_0x9b351f,_0x32b4f1){return _0x54a7f1(_0x32b4f1- -0x27c,_0x9b351f);}return _0x51f4c7['coordinates']=_0xae894b[0x0],_0x51f4c7;}['_updateStyleHook'](_0x293120,_0x107fd7){const _0x1dcae1={_0x5a1a07:0x1187,_0x5b7939:0x952,_0x5647d2:0x99e},_0x1f68be={_0xcd04ec:0x728},_0x47c083={_0x21000a:0x30};function _0x7b951e(_0x403bfe,_0x5d3eee){return _0x54a7f1(_0x403bfe- -_0x47c083._0x21000a,_0x5d3eee);}function _0x3824e8(_0x39d83b,_0x1a2b3d){return _0x7afdbe(_0x1a2b3d,_0x39d83b- -_0x1f68be._0xcd04ec);}super['_updateStyleHook'](_0x293120,_0x107fd7),(Cesium__namespace[_0x3824e8(_0x1dcae1._0x5a1a07,_0x1dcae1._0x5b7939)](_0x107fd7['radius'])||Cesium__namespace['defined'](_0x107fd7[_0x7b951e(_0x1dcae1._0x5647d2,0x22d)])||Cesium__namespace[_0x7b951e(0x1651,0x1cbb)](_0x107fd7['border']))&&this['_updatePositionsHook']();}static['getOutlinePositions'](_0x46cb82,_0x5eeaf9){const _0x3e075b={_0x4576d8:0x27},_0x2b22ae={_0x46bd3e:0x5de};function _0x286db2(_0x108b36,_0x146e8d){return _0x7afdbe(_0x108b36,_0x146e8d- -_0x2b22ae._0x46bd3e);}function _0x5b18ce(_0x18f898,_0x4c8539){return _0x54a7f1(_0x18f898- -0x4c8,_0x4c8539);}const _0x3bb4f7=_0x5eeaf9['border']||0x3,_0x2f6f99=_0x5eeaf9[_0x286db2(0x60e,_0x3e075b._0x4576d8)]||0x3e8,_0x296920=_0x5eeaf9[_0x5b18ce(0x506,0xebc)]||0x0,_0x31fe84=0x168/_0x3bb4f7,_0x5af2fa=[];for(let _0x39a344=0x0;_0x39a344<=_0x3bb4f7;_0x39a344++){const _0x14ce5d=_0x296920+_0x31fe84*_0x39a344;_0x5af2fa['push'](getPositionByDirectionAndLen(_0x46cb82,_0x14ce5d,_0x2f6f99));}return _0x5af2fa;}}register$5('regular',Regular,!![]);class EditSector extends EditPolygon{set['position'](_0x377cd7){this['positions'][0x0]=_0x377cd7;}get['position'](){const _0x2bf7df={_0x476030:0x80b},_0x27cc94={_0x860774:0x70d};function _0x1da63c(_0x36914e,_0x3a710c){return _0x7afdbe(_0x3a710c,_0x36914e- -_0x27cc94._0x860774);}return this[_0x1da63c(0xc10,_0x2bf7df._0x476030)][0x0];}['bindDraggers'](){const _0x17f2d9={_0x37c1f3:0xec9,_0x559156:0x9f9,_0x1ffca7:0x382,_0xec9a77:0x10ed,_0x3688cf:0x708,_0x1a5ddd:0xb7d,_0x36df8f:0x1d8,_0xecd6ec:0x1825,_0x419f9f:0xae9},_0x528782={_0x1c6c19:0xfcb},_0xf46584={_0x5ca339:0x1012},_0x2efe96={_0x5750b2:0x7},_0x26991a={_0x263c88:0x41f},_0x28426b={_0x42ce4b:0x917},_0x191322={_0x48ca02:0x65a},_0x19471a={_0x3e0ad2:0x13f4},_0x1a51fb={_0x4cc9f2:0x493},_0x5317ac=this['positions'];let _0x47ba3e=this[_0x5d693c(0x1051,_0x17f2d9._0x37c1f3)](_0x5317ac[0x0]);if(this['_graphic']['hasMoveEdit']){const _0x1bcd7d=this[_0x5d693c(_0x17f2d9._0x559156,0x78b)]({'position':_0x47ba3e,'type':EditPointType[_0x185550(0x62c,-_0x17f2d9._0x1ffca7)],'tooltip':this['_map'][_0x5d693c(_0x17f2d9._0xec9a77,0x128e)]('_整体平移'),'onDrag':(_0x4aa7a8,_0x111d3e)=>{function _0x27c3c7(_0x555223,_0xcdb7b0){return _0x185550(_0x555223-0x5db,_0xcdb7b0);}_0x111d3e=this['updatePositionsHeightByAttr'](_0x111d3e),_0x4aa7a8[_0x5096f0(0x14ba,0x1ef4)]=_0x111d3e,this[_0x5096f0(_0x19471a._0x3e0ad2,0x1d0c)](_0x47ba3e,_0x111d3e);function _0x5096f0(_0x28d7f8,_0x2f3b2a){return _0x5d693c(_0x2f3b2a,_0x28d7f8- -_0x1a51fb._0x4cc9f2);}_0x47ba3e=_0x111d3e;}});_0x1bcd7d['index']=0x0,this['draggers']['push'](_0x1bcd7d);}const _0x8e56d9=getPositionByDirectionAndLen(_0x47ba3e,this['style'][_0x5d693c(0x15af,0xc3a)],this[_0x5d693c(-0x32d,_0x17f2d9._0x3688cf)]['radius']);_0x5317ac[0x1]=_0x8e56d9;const _0x1ca50a=this['createDragger']({'position':this[_0x5d693c(_0x17f2d9._0x1a5ddd,0xec9)](_0x8e56d9),'onDrag':(_0x143d58,_0x32bb80)=>{_0x32bb80=this['updatePositionsHeightByAttr'](_0x32bb80);function _0x35d2a3(_0x562e1d,_0x273cce){return _0x5d693c(_0x562e1d,_0x273cce- -0x435);}_0x143d58['position']=_0x32bb80;function _0x3d9b3d(_0x5f181b,_0x2be076){return _0x185550(_0x5f181b-_0x191322._0x48ca02,_0x2be076);}this['positions'][_0x143d58['index']]=_0x32bb80,this['style']['radius']=Cesium__namespace[_0x35d2a3(_0x28426b._0x42ce4b,0x111e)]['distance'](_0x5317ac[0x0],_0x32bb80),this['style']['startAngle']=formatNum$1(getAngle(_0x5317ac[0x0],_0x32bb80),0x2),_0x5317ac[0x2]=getPositionByDirectionAndLen(_0x5317ac[0x0],this['style'][_0x3d9b3d(0x1931,0x166e)],this['style']['radius']);},'onDragStart':(_0xf59ce,_0xfc648a)=>{for(let _0x2bacfa=0x0,_0x1223e6=this['draggers']['length'];_0x2bacfa<_0x1223e6;_0x2bacfa++){this['draggers'][_0x2bacfa]['show']=![];}},'onDragEnd':(_0x2cebcd,_0x42f8dc)=>{this['updateDraggers']();}});_0x1ca50a['index']=0x1,this['draggers']['push'](_0x1ca50a);function _0x185550(_0x1ea7df,_0xa7f129){return _0x54a7f1(_0x1ea7df- -_0x26991a._0x263c88,_0xa7f129);}const _0x2c3bbe=getPositionByDirectionAndLen(_0x47ba3e,this[_0x5d693c(-_0x17f2d9._0x36df8f,_0x17f2d9._0x3688cf)]['endAngle'],this['style']['radius']);function _0x5d693c(_0x260f39,_0x55f769){return _0x7afdbe(_0x260f39,_0x55f769-0x3e);}_0x5317ac[0x2]=_0x2c3bbe;const _0x15103f=this['createDragger']({'position':this[_0x5d693c(_0x17f2d9._0xecd6ec,0xec9)](_0x2c3bbe),'onDrag':(_0x572ae6,_0x4734a3)=>{const _0x549a9d={_0x34f2f0:0x6b1};_0x4734a3=this[_0xd11ff(0x41d,0x818)](_0x4734a3),_0x572ae6['position']=_0x4734a3;function _0xd11ff(_0x470905,_0x5464bf){return _0x5d693c(_0x470905,_0x5464bf- -_0x549a9d._0x34f2f0);}function _0x1b4221(_0xe3d554,_0x20c13d){return _0x5d693c(_0xe3d554,_0x20c13d- -0x701);}this['positions'][_0x572ae6['index']]=_0x4734a3,this[_0x1b4221(-0x408,0x7)]['radius']=Cesium__namespace['Cartesian3']['distance'](_0x5317ac[0x0],_0x4734a3),this[_0xd11ff(0x62b,0x57)]['endAngle']=getAngle(_0x5317ac[0x0],_0x4734a3),_0x5317ac[0x1]=getPositionByDirectionAndLen(_0x5317ac[0x0],this[_0x1b4221(0x522,_0x2efe96._0x5750b2)]['startAngle'],this['style'][_0x1b4221(0x989,-0xbe)]);},'onDragStart':(_0x44a663,_0x448aeb)=>{function _0x47479e(_0x3902c4,_0x471fe2){return _0x5d693c(_0x3902c4,_0x471fe2- -0x4b3);}function _0x542394(_0x3aecba,_0x40b2cc){return _0x5d693c(_0x3aecba,_0x40b2cc- -0x20a);}for(let _0x5840ca=0x0,_0x1f4f4e=this['draggers'][_0x542394(_0xf46584._0x5ca339,0xfe7)];_0x5840ca<_0x1f4f4e;_0x5840ca++){this['draggers'][_0x5840ca][_0x47479e(0x156e,0x13ac)]=![];}},'onDragEnd':(_0x478c7c,_0xf0346c)=>{const _0x4667ad={_0x17387f:0x3c};function _0x57949c(_0x4e52b0,_0x32819c){return _0x185550(_0x4e52b0- -_0x4667ad._0x17387f,_0x32819c);}this[_0x57949c(_0x528782._0x1c6c19,0xb53)]();}});_0x15103f['index']=0x2,this['draggers'][_0x185550(_0x17f2d9._0x419f9f,0xb03)](_0x15103f),this['entityGraphic']['extrudedHeight']&&this['_bindHeightDraggers']();}['_moveAllPostions'](_0x549239,_0x5a0ed4){const _0x2cc97e={_0x24cf5b:0xd9c,_0x2b7d33:0xd42,_0xd70494:0x4fa},_0x49f0cd={_0x471625:0x417};function _0x5f1c70(_0x15c8b1,_0x31b28c){return _0x54a7f1(_0x15c8b1- -0x196,_0x31b28c);}const _0x32f613=Cesium__namespace[_0x85455b(0x93d,0x10fe)]['subtract'](_0x5a0ed4,_0x549239,new Cesium__namespace['Cartesian3']());this[_0x85455b(0x185c,0xf06)]['forEach']((_0x5ac163,_0xb12948,_0xcca787)=>{const _0x12dabe={_0x474dc3:0x7a};function _0x450c79(_0x4fcce7,_0x474c11){return _0x85455b(_0x4fcce7,_0x474c11- -_0x12dabe._0x474dc3);}function _0x295e2f(_0x3c7829,_0x54abd0){return _0x5f1c70(_0x54abd0- -0xe2,_0x3c7829);}const _0x42bc62=Cesium__namespace['Cartesian3']['add'](_0x5ac163,_0x32f613,new Cesium__namespace[(_0x295e2f(0xf78,0x106f))]());this[_0x295e2f(0x1555,0xe77)][_0xb12948]=_0x42bc62;});function _0x85455b(_0x34f2a2,_0x2d0921){return _0x7afdbe(_0x34f2a2,_0x2d0921- -_0x49f0cd._0x471625);}for(let _0x3cf9bd=0x0,_0x47ed07=this['draggers'][_0x85455b(0xce5,_0x2cc97e._0x24cf5b)];_0x3cf9bd<_0x47ed07;_0x3cf9bd++){this[_0x5f1c70(0x11d3,_0x2cc97e._0x2b7d33)][_0x3cf9bd]['position']=Cesium__namespace['Cartesian3'][_0x5f1c70(_0x2cc97e._0xd70494,0xc39)](this['draggers'][_0x3cf9bd]['position'],_0x32f613,new Cesium__namespace['Cartesian3']());}}['_updateHeight'](_0x1b8585){const _0x557069={_0x5e9b9c:0x649};function _0x32c830(_0x369921,_0x2e35fc){return _0x7afdbe(_0x369921,_0x2e35fc- -_0x557069._0x5e9b9c);}this['entityGraphic']['height']=_0x1b8585,this['style']['height']=this['formatNum'](_0x1b8585,0x2);const _0x5f515c=this['positions'];for(let _0x2ba847=0x0,_0x212571=_0x5f515c['length'];_0x2ba847<_0x212571;_0x2ba847++){_0x5f515c[_0x2ba847]=setPositionsHeight(_0x5f515c[_0x2ba847],_0x1b8585);}this['fire'](EventType[_0x32c830(0x1485,0x1089)]);}}class Sector extends PolygonEntity{constructor(_0x10f59b={}){const _0x331e8b={_0xe25700:0x4f7,_0x363675:0x1e21},_0x499191={_0x1b096e:0x112};super(_0x10f59b),this['_minPointNum']=0x2,this['_maxPointNum']=0x3,this[_0x220fd1(0x5ae,_0x331e8b._0xe25700)]['radius']=this['style']['radius']??0x3e8;function _0x220fd1(_0x9c15aa,_0x15f62e){return _0x54a7f1(_0x9c15aa-_0x499191._0x1b096e,_0x15f62e);}function _0x3b1041(_0x90ace6,_0x26a339){return _0x7afdbe(_0x26a339,_0x90ace6- -0x435);}this[_0x220fd1(0x5ae,0x4cc)]['startAngle']=this[_0x220fd1(0x5ae,0x794)]['startAngle']??0x0,this['style'][_0x3b1041(0x14ef,0xfbe)]=this['style'][_0x3b1041(0x14ef,0xb8f)]??0x0,_0x10f59b['position']&&(_0x10f59b[_0x3b1041(0x14da,0xbc8)]['getValue']?this['positions']=_0x10f59b[_0x220fd1(0x17f3,_0x331e8b._0x363675)]:this['positions']=[_0x10f59b[_0x3b1041(0x14da,0x1e9e)]]);}get[_0x7afdbe(0x12cc,0x191a)](){return EditSector;}[_0x54a7f1(0x28b,0xb5f)](){const _0x5e200b={_0x5346ac:0xe1c,_0x512f79:0x58e,_0x229df0:0xd6d,_0x2b84d9:0x163e,_0x1b5d1e:0x1861,_0x252a60:0x9ac,_0x8934b6:0xca2,_0x370c6b:0x47b,_0x5f1276:0x698,_0x48b708:0xf5c,_0x5c09ea:0x746,_0x1e7ac0:0x7fd},_0x1d2716={_0x1d6876:0xf0},_0x151451={_0x5c506d:0xb18,_0x14aedd:0x127a,_0x3887f4:0xb5a,_0x2c364f:0xc16,_0x36a96f:0x3d,_0x104220:0x3e4,_0x2a244e:0x36d,_0x208992:0x171,_0x4de588:0x4ec,_0x158144:0x1412};var _0x67fc7d;function _0x4bbcf9(_0x4ba492,_0x31a21c){return _0x54a7f1(_0x4ba492- -0x429,_0x31a21c);}const _0x4dce52={'polygon':PolygonStyleConver[_0x4bbcf9(0x9b0,_0x5e200b._0x5346ac)](this['style'],{},!![])};if((_0x67fc7d=this[_0x2ff77e(0xc4d,_0x5e200b._0x512f79)])!==null&&_0x67fc7d!==void 0x0&&_0x67fc7d[_0x4bbcf9(0x6c9,0xdab)]){const _0x7d0158=new Cesium__namespace[(_0x2ff77e(0x47b,_0x5e200b._0x229df0))]();_0x4dce52['polygon'][_0x2ff77e(_0x5e200b._0x2b84d9,_0x5e200b._0x1b5d1e)]=new Cesium__namespace[(_0x2ff77e(0xc5a,0x124e))](_0x256c4a=>{const _0x16315e={_0x418e88:0xb0};var _0x20d221;const _0x3c7b77=this['_positions'][_0x5921e6(0x1260,_0x151451._0x5c506d)](_0x256c4a);function _0x5921e6(_0x4fcf6b,_0x592083){return _0x4bbcf9(_0x592083-0x44f,_0x4fcf6b);}function _0x3e886c(_0x1269dc,_0x1d754b){return _0x4bbcf9(_0x1269dc- -_0x16315e._0x418e88,_0x1d754b);}this[_0x3e886c(_0x151451._0x14aedd,0x1930)]=this[_0x3e886c(_0x151451._0x3887f4,0xc4f)](_0x3c7b77),_0x7d0158[_0x3e886c(_0x151451._0x2c364f,0x11b7)]=this['_positions_show'];if(this['_entity_outlines']&&((_0x20d221=this['_positions_show'])===null||_0x20d221===void 0x0?void 0x0:_0x20d221['length'])>0x0){var _0x1eb363;((_0x1eb363=this[_0x3e886c(-_0x151451._0x36a96f,-_0x151451._0x104220)]['outlineStyle'])===null||_0x1eb363===void 0x0?void 0x0:_0x1eb363[_0x5921e6(0xc74,0x16c3)])??!![]?this[_0x3e886c(_0x151451._0x2a244e,-_0x151451._0x208992)]=this[_0x5921e6(0x220e,0x1779)][_0x3e886c(_0x151451._0x4de588,-0x539)](this['_positions_show'][0x0]):this['outlinePositions']=this[_0x5921e6(_0x151451._0x158144,0x1779)];}return this['_updateLabelPosition'](),_0x7d0158;},![]),this[_0x4bbcf9(_0x5e200b._0x252a60,0xdf9)]=_0x7d0158;}else!this[_0x4bbcf9(0x132a,_0x5e200b._0x8934b6)]&&(this['_positions_show']=this[_0x4bbcf9(0xc0a,0x217)](this['positions'])),_0x4dce52['polygon']['hierarchy']=new Cesium__namespace[(_0x2ff77e(_0x5e200b._0x370c6b,_0x5e200b._0x5f1276))](this['_positions_show']);this['_entity']=this['_createEntity'](_0x4dce52);function _0x2ff77e(_0x393486,_0x31b4cd){return _0x54a7f1(_0x393486- -_0x1d2716._0x1d6876,_0x31b4cd);}this['_updateDiffHeight'](this['style'][_0x2ff77e(_0x5e200b._0x48b708,0x11c5)]),this[_0x2ff77e(0xab2,_0x5e200b._0x5c09ea)](),this['_updateOutlineStyle'](this['_getOutlinePositions'](),this[_0x4bbcf9(0x73,-_0x5e200b._0x1e7ac0)]),this[_0x2ff77e(0x571,-0x38d)][_0x2ff77e(0x3b4,0xa40)]['hierarchy']instanceof Cesium__namespace['CallbackProperty']&&this[_0x4bbcf9(0x112d,0x665)](),this['style']['label']&&this['_addLabel'](this['style']['label']);}['updateAttrForDrawing'](_0x431a81){const _0x330b69={_0x54acc5:0x138,_0x34ae92:0x3f5,_0x56f94c:0x9e1,_0x3c311a:0xe11,_0x393ea0:0x1480,_0x1cfbb3:0x1906};function _0x2f742e(_0x1d90cd,_0x465850){return _0x54a7f1(_0x1d90cd-0x210,_0x465850);}var _0x24a6c7;if(!_0x431a81&&((_0x24a6c7=this[_0x40b9fd(_0x330b69._0x54acc5,_0x330b69._0x34ae92)])===null||_0x24a6c7===void 0x0?void 0x0:_0x24a6c7[_0x40b9fd(0x23e,0xba9)])>0x1){var _0x472fd9;const _0x50e404=this['_positions_draw'][0x0];this[_0x40b9fd(0x17b,0xc0)]['radius']=formatNum$1(Cesium__namespace['Cartesian3'][_0x40b9fd(0x146d,0xeb5)](_0x50e404,this[_0x40b9fd(0x2f0,0x3f5)][0x1]),0x2),this[_0x40b9fd(-0x941,0xc0)]['startAngle']=formatNum$1(getAngle(_0x50e404,this['_positions_draw'][0x1]),0x2),((_0x472fd9=this[_0x2f742e(_0x330b69._0x56f94c,_0x330b69._0x3c311a)])===null||_0x472fd9===void 0x0?void 0x0:_0x472fd9[_0x40b9fd(_0x330b69._0x393ea0,0xba9)])>0x2?this['style']['endAngle']=formatNum$1(getAngle(_0x50e404,this[_0x40b9fd(-0xaf,_0x330b69._0x34ae92)][0x2]),0x2):this['style'][_0x2f742e(_0x330b69._0x1cfbb3,0x2073)]=this[_0x40b9fd(0x8ae,0xc0)]['startAngle'];}function _0x40b9fd(_0x2aef58,_0x1ed2ce){return _0x7afdbe(_0x2aef58,_0x1ed2ce- -0x60a);}super['updateAttrForDrawing'](_0x431a81);}[_0x54a7f1(0x1033,0x821)](_0x232549){const _0x1da1a4={_0x479aca:0xc91};function _0xbac82b(_0x945a88,_0x265e7d){return _0x7afdbe(_0x265e7d,_0x945a88- -0x8f);}if(!_0x232549)return _0x232549;function _0x4da309(_0x5c42db,_0x458c52){return _0x7afdbe(_0x458c52,_0x5c42db- -0x1c1);}if(Array['isArray'](_0x232549)){if(_0x232549['length']<0x1)return _0x232549;return Sector['getOutlinePositions'](_0x232549[0x0],this['style']);}else{var _0x55027e;let _0x215b62=_0x232549;return(_0x55027e=_0x215b62)!==null&&_0x55027e!==void 0x0&&_0x55027e[_0xbac82b(_0x1da1a4._0x479aca,0x911)]&&(_0x215b62=_0x215b62['getValue'](Cesium__namespace[_0xbac82b(0xfa9,0x18e1)]['now']())),Sector[_0x4da309(0x145d,0x11f6)](_0x215b62,this['style']);}}['_updateStyleHook'](_0x4cdd0a,_0xcba8a7){const _0x51f4c2={_0x572298:0x1580,_0x5dcb75:0x1580,_0x5ebfd3:0x424,_0x331f6b:0x13a2},_0x3e4440={_0x5765ff:0x32f};function _0x5e4b48(_0x1904d0,_0x55d98a){return _0x7afdbe(_0x1904d0,_0x55d98a- -_0x3e4440._0x5765ff);}function _0x3ca862(_0xd7cbd0,_0x1df889){return _0x7afdbe(_0x1df889,_0xd7cbd0- -0x72);}super[_0x3ca862(0x1290,0x1989)](_0x4cdd0a,_0xcba8a7),(Cesium__namespace[_0x5e4b48(0x14c1,_0x51f4c2._0x572298)](_0xcba8a7['radius'])||Cesium__namespace[_0x5e4b48(0x1f3b,_0x51f4c2._0x5dcb75)](_0xcba8a7['startAngle'])||Cesium__namespace['defined'](_0xcba8a7[_0x5e4b48(0x1a8a,0x15f5)])||Cesium__namespace['defined'](_0xcba8a7[_0x3ca862(0x84a,_0x51f4c2._0x5ebfd3)]))&&this[_0x3ca862(0x9e4,_0x51f4c2._0x331f6b)]();}['autoSurfaceHeight'](_0x252ef8={}){const _0x519c64={_0x575b5e:0xdc0,_0x2f5101:0xfe6,_0x5489f5:0x5cd},_0x5ba45={_0x2e278b:0x18cc,_0x52aa3e:0x19f7},_0x4ed7c7={_0x3923f6:0x2bf};function _0x57fe33(_0x3283d9,_0x2492b7){return _0x54a7f1(_0x3283d9- -0x1e9,_0x2492b7);}function _0x5671c3(_0x2401b4,_0x8d25a2){return _0x54a7f1(_0x2401b4- -_0x4ed7c7._0x3923f6,_0x8d25a2);}return getSurfaceHeight(this['_map'][_0x5671c3(_0x519c64._0x575b5e,_0x519c64._0x2f5101)],this['positions'][0x0],{'objectsToExclude':this[_0x5671c3(0x136e,0x1c96)][_0x5671c3(0x15e,-_0x519c64._0x5489f5)],..._0x252ef8})['then'](_0x544e9a=>{function _0x3a4098(_0x2ac983,_0x5c3be1){return _0x5671c3(_0x2ac983-0x4aa,_0x5c3be1);}_0x544e9a['position']&&(this['positions']=[_0x544e9a[_0x3a4098(_0x5ba45._0x2e278b,_0x5ba45._0x52aa3e)]]);});}['_getGeoJsonGeometry'](_0x4a33d2){const _0x5ea003=this[_0x27e56c(0x300,-0x6ed)](_0x4a33d2===null||_0x4a33d2===void 0x0?void 0x0:_0x4a33d2['noAlt']);function _0x27e56c(_0x593b53,_0x2d2d12){return _0x54a7f1(_0x593b53- -0xa9,_0x2d2d12);}const _0x1edb59={};return _0x1edb59['type']='Point',_0x1edb59['coordinates']=_0x5ea003[0x0],_0x1edb59;}static[_0x7afdbe(0x114e,0x161e)](_0x564649,_0x31397c){const _0x20285a={_0x681ccf:0x1609,_0x445a78:0x43c,_0x3ae12b:0x5a1},_0x315bad={_0x54bc58:0xed},_0x33e1af={_0x517307:0x41d},_0x2a7322=_0x31397c[_0x2aa42d(0x1dd,0x1e8)],_0x3d3b39=_0x31397c['startAngle'];function _0x2aa42d(_0x4f8432,_0xbafbc1){return _0x7afdbe(_0x4f8432,_0xbafbc1- -_0x33e1af._0x517307);}function _0x5eb709(_0xdd2c7c,_0x4338cf){return _0x54a7f1(_0xdd2c7c- -_0x315bad._0x54bc58,_0x4338cf);}let _0x28449b=_0x31397c[_0x5eb709(_0x20285a._0x681ccf,0xc67)];_0x28449b<=_0x3d3b39&&(_0x28449b+=0x168);const _0x388afc=[];!_0x31397c[_0x5eb709(0x5a1,_0x20285a._0x445a78)]&&_0x388afc['push'](_0x564649);for(let _0x571d32=_0x3d3b39;_0x571d32<=_0x28449b;_0x571d32++){_0x388afc['push'](getPositionByDirectionAndLen(_0x564649,_0x571d32,_0x2a7322));}return!_0x31397c[_0x5eb709(_0x20285a._0x3ae12b,-0x2fc)]&&_0x388afc['push'](_0x564649),_0x388afc;}}register$5('sector',Sector,!![]);class StraightArrowUtil{constructor(){this['algorithmUtil']=algorithmUtil;}[_0x7afdbe(0xe14,0x14b4)](_0x3729f7={}){const _0x1b1338={_0x37710e:0x121a,_0x1be4af:0xe1a,_0x4a42c0:0xa9e},_0x2eb9ed={_0x244c80:0x3f};function _0x317576(_0x217cf0,_0x5c4455){return _0x7afdbe(_0x217cf0,_0x5c4455-_0x2eb9ed._0x244c80);}function _0x3481f7(_0x325de2,_0x5d8b2b){return _0x54a7f1(_0x5d8b2b-0xbd,_0x325de2);}this['tailWidthFactor']=_0x3729f7[_0x3481f7(0x12fa,0xc26)]||0.05,this[_0x3481f7(0x1c87,_0x1b1338._0x37710e)]=_0x3729f7['neckWidthFactor']||0.1,this[_0x317576(_0x1b1338._0x1be4af,_0x1b1338._0x4a42c0)]=_0x3729f7['headWidthFactor']||0.15,this['headAngle']=Math['PI']/0x4,this[_0x3481f7(0x14c,0x65b)]=Math['PI']*0.17741;}[_0x54a7f1(0x1742,0x140b)](_0x57d64d,_0xe4d41){const _0x5cb0d4={_0x427092:0xce4,_0x3132b2:0x5b4,_0x986624:0x8c2,_0x36f22b:0xebc,_0x3f1c3a:0x46d,_0x3ed80c:0x7d3,_0x130feb:0xa83,_0x198e00:0xa45,_0x2c204f:0x2fd},_0x29aa8a={_0x15a7f0:0x2a1};if(!_0x57d64d||_0x57d64d[_0xc2c39e(_0x5cb0d4._0x427092,0xa96)]===0x0)return _0x57d64d;function _0x19d28d(_0x6c88e4,_0x2c9b6c){return _0x7afdbe(_0x6c88e4,_0x2c9b6c- -0x353);}this['positions']=_0x57d64d,this['setOptions'](_0xe4d41);const _0x179f9c=cartesians2mercators(_0x57d64d),_0x12920b=(_0xe4d41===null||_0xe4d41===void 0x0?void 0x0:_0xe4d41['maxHeight'])??this[_0xc2c39e(_0x5cb0d4._0x3132b2,0xf28)](_0x179f9c),_0x54e980=[_0x179f9c[0x0],_0x179f9c[0x1]],_0xe17930=_0x54e980[0x0];function _0xc2c39e(_0x207009,_0x4f743c){return _0x54a7f1(_0x207009- -_0x29aa8a._0x15a7f0,_0x4f743c);}const _0xfbc879=_0x54e980[0x1],_0x212b89=this[_0x19d28d(0x9b2,0x282)][_0x19d28d(_0x5cb0d4._0x986624,0xae0)](_0x179f9c),_0x4fc181=_0x212b89*this['tailWidthFactor'],_0x2e45cd=_0x212b89*this[_0xc2c39e(_0x5cb0d4._0x36f22b,0x1461)],_0x53fa30=_0x212b89*this['headWidthFactor'],_0x456007=this[_0xc2c39e(0x106,-0x6c8)]['getThirdPoint'](_0xfbc879,_0xe17930,Math['PI']/0x2,_0x4fc181,!![]),_0x29a1c3=this[_0x19d28d(_0x5cb0d4._0x3f1c3a,0x282)]['getThirdPoint'](_0xfbc879,_0xe17930,Math['PI']/0x2,_0x4fc181,![]),_0x5e8425=this[_0x19d28d(0x3d5,0x282)][_0xc2c39e(0xa83,0xbb8)](_0xe17930,_0xfbc879,this['headAngle'],_0x53fa30,![]),_0x3b92f3=this[_0x19d28d(_0x5cb0d4._0x3ed80c,0x282)][_0xc2c39e(_0x5cb0d4._0x130feb,_0x5cb0d4._0x198e00)](_0xe17930,_0xfbc879,this['headAngle'],_0x53fa30,!![]),_0x564145=this['algorithmUtil']['getThirdPoint'](_0xe17930,_0xfbc879,this[_0xc2c39e(_0x5cb0d4._0x2c204f,-0x5ac)],_0x2e45cd,![]),_0x2267d7=this[_0x19d28d(0xd0a,0x282)][_0xc2c39e(_0x5cb0d4._0x130feb,0xa3d)](_0xe17930,_0xfbc879,this[_0x19d28d(-0xee,0x479)],_0x2e45cd,!![]),_0x3846e6=[_0x456007,_0x564145,_0x5e8425,_0xfbc879,_0x3b92f3,_0x2267d7,_0x29a1c3],_0x4f38fe=mercators2cartesians(_0x3846e6,_0x12920b);return _0x4f38fe;}[_0x54a7f1(0x855,-0x24f)](_0x4c7855){let _0xa78d52=_0x4c7855[0x0][0x2]||0x0;for(let _0x2ed2a4=0x0;_0x2ed2a4<_0x4c7855['length'];_0x2ed2a4++){_0x4c7855[0x2]>_0xa78d52&&(_0xa78d52=_0x4c7855[0x2]);}return _0xa78d52;}}const straightArrowUtil=new StraightArrowUtil();class StraightArrow extends PolygonEntity{constructor(_0x44e041={}){super(_0x44e041),this['_minPointNum']=0x2,this['_maxPointNum']=0x2;}['getShowPositions'](_0x26582c){const _0x3daa76={_0x58ac96:0xfc7,_0x2d09a7:0x790,_0x1625de:0x90b};function _0x14d0e0(_0x426da3,_0x2277d9){return _0x54a7f1(_0x426da3- -0x35a,_0x2277d9);}if(!_0x26582c||_0x26582c[_0x42dc51(_0x3daa76._0x58ac96,_0x3daa76._0x2d09a7)]<0x2)return _0x26582c;this['style'][_0x42dc51(0x29f,0x741)]=this['getMaxHeight']();function _0x42dc51(_0x46684a,_0x513647){return _0x54a7f1(_0x46684a-0x42,_0x513647);}return straightArrowUtil['startCompute'](_0x26582c,this[_0x14d0e0(0x142,-_0x3daa76._0x1625de)]);}['_updateEditDraggerPositionHeight'](_0x24dede){return setPositionsHeight(_0x24dede,this['style']['maxHeight']);}static[_0x7afdbe(0x115c,0x161e)](_0x376098,_0x4c3743){const _0x4dc5ff={_0x54c524:0x953,_0xa9c2d9:0xf88};if(!_0x376098||_0x376098[_0x55c3b9(_0x4dc5ff._0x54c524,_0x4dc5ff._0xa9c2d9)]<0x2)return _0x376098;function _0x554604(_0x4243f3,_0x3b839e){return _0x7afdbe(_0x3b839e,_0x4243f3- -0x4c0);}function _0x55c3b9(_0xcb2fea,_0x449d98){return _0x7afdbe(_0xcb2fea,_0x449d98- -0x22b);}return _0x376098=LngLatArray[_0x55c3b9(0xcc1,0x822)](_0x376098),straightArrowUtil['startCompute'](_0x376098,_0x4c3743);}}register$5(_0x7afdbe(0x1350,0xc5e),StraightArrow);class EditParallelogram extends EditPolygon{set[_0x7afdbe(0x10a7,0x131d)](_0x3f5775){const _0x5606a5={_0x8a3b13:0x1875},_0x51b6cb={_0x35a461:0x235};function _0x27d552(_0x52c3f1,_0x25cc02){return _0x54a7f1(_0x25cc02- -_0x51b6cb._0x35a461,_0x52c3f1);}this[_0x27d552(_0x5606a5._0x8a3b13,0x102d)]['_positions_draw']=_0x3f5775;}get[_0x54a7f1(0x10ef,0xc8a)](){const _0x525bf3={_0x9c746f:0xbfd,_0x417041:0x11f7,_0x2ddf93:0xb94,_0x10b8be:0x14b8};function _0x31e7f1(_0x52c6d2,_0x38d971){return _0x54a7f1(_0x38d971- -0x43,_0x52c6d2);}function _0x4d446a(_0x259131,_0x1c7dfd){return _0x54a7f1(_0x259131- -0x140,_0x1c7dfd);}const _0x28f5d4=this[_0x31e7f1(0xe88,0x121f)]['_positions_draw']||this['_graphic'][_0x4d446a(_0x525bf3._0x9c746f,0xcaa)]||[];if(_0x28f5d4['length']===0x2){const _0x145761=LngLatPoint['fromCartesian'](_0x28f5d4[0x0]),_0x326b43=LngLatPoint['fromCartesian'](_0x28f5d4[0x1]),_0x13163e=new LngLatPoint(_0x145761[_0x4d446a(_0x525bf3._0x417041,_0x525bf3._0x2ddf93)],_0x326b43['lat'],_0x145761['alt']);_0x28f5d4['push'](_0x13163e[_0x31e7f1(_0x525bf3._0x10b8be,0xac1)]());}return _0x28f5d4;}get['center'](){const _0x5d6c70={_0x10bee3:0x13e7,_0x1714b6:0xf4b},_0xcce1a3={_0xf0a8b9:0x263};function _0x4089f8(_0x1d2876,_0x3a7187){return _0x7afdbe(_0x3a7187,_0x1d2876- -_0xcce1a3._0xf0a8b9);}const _0x4a69b2=this[_0x1862e8(0xd53,_0x5d6c70._0x10bee3)];function _0x1862e8(_0xc83e83,_0x3e8303){return _0x7afdbe(_0x3e8303,_0xc83e83- -0x5ca);}if(_0x4a69b2['length']<this['_minPointNum'])return;return Cesium__namespace[_0x1862e8(_0x5d6c70._0x1714b6,0xd02)]['midpoint'](_0x4a69b2[0x0],_0x4a69b2[0x2],new Cesium__namespace['Cartesian3']());}}class ParallelogramEntity extends PolygonEntity{constructor(_0x18c088={}){const _0x4549f5={_0x513976:0xa21,_0x3dec24:0x442};super(_0x18c088),this['_minPointNum']=0x3;function _0x409c8d(_0x2d955f,_0x44fcd9){return _0x7afdbe(_0x44fcd9,_0x2d955f- -0x234);}this[_0x409c8d(_0x4549f5._0x513976,_0x4549f5._0x3dec24)]=0x3;}get['centerOfMass'](){const _0xb13049={_0x67c334:0x81a,_0x2e04f6:0x1b8d,_0x13d8a2:0x14c2,_0x299cdf:0x1319},_0x158e25=this['positionsShow'];function _0x28ca92(_0x551962,_0x11e87d){return _0x54a7f1(_0x11e87d-0x1db,_0x551962);}function _0x308301(_0x18e1d9,_0x516180){return _0x7afdbe(_0x516180,_0x18e1d9- -0x1fc);}if(_0x158e25[_0x308301(0xfb7,_0xb13049._0x67c334)]<this['_minPointNum'])return;return Cesium__namespace[_0x28ca92(_0xb13049._0x2e04f6,_0xb13049._0x13d8a2)]['midpoint'](_0x158e25[0x0],_0x158e25[0x2],new Cesium__namespace[(_0x308301(_0xb13049._0x299cdf,0x1d17))]());}get[_0x7afdbe(0x1fa7,0x191a)](){return EditParallelogram;}[_0x54a7f1(0x1033,0x1287)](_0xfc166f){if(!_0xfc166f||_0xfc166f['length']<this['_minPointNum'])return _0xfc166f;return ParallelogramEntity['getOutlinePositions'](_0xfc166f);}static['getOutlinePositions'](_0x1f0ba4){const _0x2c4ad8={_0x2e451a:0x114e},_0x15f9d4={_0x4806a8:0x199};function _0x2d4ee3(_0x11292c,_0x5c3590){return _0x54a7f1(_0x11292c- -_0x15f9d4._0x4806a8,_0x5c3590);}const _0x584d61=getAngle(_0x1f0ba4[0x2],_0x1f0ba4[0x1]),_0x5adb0b=Cesium__namespace[_0x2d4ee3(_0x2c4ad8._0x2e451a,0x90b)]['distance'](_0x1f0ba4[0x2],_0x1f0ba4[0x1]),_0x5d27aa=getPositionByDirectionAndLen(_0x1f0ba4[0x0],_0x584d61+0xb4,_0x5adb0b);return[_0x1f0ba4[0x0],_0x1f0ba4[0x1],_0x1f0ba4[0x2],_0x5d27aa];}}register$5(_0x7afdbe(0x489,0x83f),ParallelogramEntity);const _0x2e44c2={};_0x2e44c2[_0x54a7f1(0x1212,0xe0a)]='#3388ff',_0x2e44c2[_0x7afdbe(0x120a,0x1000)]=0x8,_0x2e44c2['outlineColor']=_0x54a7f1(0x7dc,0x133),_0x2e44c2[_0x7afdbe(0x1678,0x173d)]=0x2,_0x2e44c2['visibleDepth']=![];const DEF_STYLE$u=_0x2e44c2;class PointMeasure extends PointEntity{constructor(_0x4169bf={}){const _0x361837={_0xab93e0:0x43d};function _0x2a2c91(_0x333760,_0x7b58ea){return _0x7afdbe(_0x7b58ea,_0x333760- -0x156);}_0x4169bf[_0x3d161f(_0x361837._0xab93e0,0xd3f)]={...DEF_STYLE$u,..._0x4169bf[_0x3d161f(0x43d,0x372)]};function _0x3d161f(_0x36cbdd,_0x678d2){return _0x54a7f1(_0x36cbdd- -0x5f,_0x678d2);}super(_0x4169bf);}['enableControl'](_0x484402){const _0x152093={_0x36af50:0x42f,_0x530d6b:0xc5f,_0x7c289e:0xd80};function _0x22131a(_0xd58f87,_0x3366b5){return _0x54a7f1(_0xd58f87- -0x4b7,_0x3366b5);}this[_0x22131a(0x31c,-0x4b4)]['mouseEvent']['enabledMoveTarget']=_0x484402;this[_0x22131a(0x31c,0x30b)]['tooltip']&&(this['_map'][_0x22131a(_0x152093._0x36af50,-0x27f)][_0x117c2e(_0x152093._0x530d6b,0xd80)]=_0x484402);function _0x117c2e(_0x593772,_0x20293d){return _0x54a7f1(_0x20293d-0x1dd,_0x593772);}this['_map']['contextmenu']&&(this[_0x22131a(0x31c,0xa3f)]['contextmenu'][_0x117c2e(0x174f,_0x152093._0x7c289e)]=_0x484402);}['_addedHook'](_0x50ba45){const _0x1c7846={_0x564f41:0x13c7,_0x2a245e:0x37a,_0x16b2e7:0x117d,_0x4e7e5b:0xf9a,_0x3d4b97:0x102e,_0x335f1a:0x1624,_0x252834:0x19d2,_0x462b1c:0x1e42},_0x18fd57={_0xa01740:0x2da},_0x54afe7={_0x3bab91:0xc2d,_0x8a71fc:0xfa5,_0xa234be:0xcf2,_0x49e9ad:0x465,_0x49c67a:0x1242,_0x4d2205:0xd16,_0x5e9128:0x17fe,_0x307421:0x112a,_0x25158d:0x1346,_0x37aef2:0xb17,_0x193079:0xc5e,_0x103302:0x12d,_0x5f4b9c:0x170d,_0x23862b:0xe6f,_0x5121e0:0xeb5,_0x2bbbf9:0xf63,_0x2c0e46:0x1d65,_0xf77d26:0x379,_0x4c9a6b:0x8b1},_0x357f4d={_0x5cfc23:0x2a6};super[_0x15b368(_0x1c7846._0x564f41,0xda7)](_0x50ba45);const _0x25da51=this[_0x15b368(0xa79,_0x1c7846._0x2a245e)],_0x2df73a={};_0x2df73a['autoClose']=this[_0x41742a(0x804,_0x1c7846._0x16b2e7)]['autoClose']??![],_0x2df73a[_0x15b368(_0x1c7846._0x4e7e5b,_0x1c7846._0x3d4b97)]=this[_0x41742a(0x804,0xad6)]['closeOnClick']??![];function _0x15b368(_0x9695b3,_0x5e48a2){return _0x54a7f1(_0x9695b3-_0x357f4d._0x5cfc23,_0x5e48a2);}_0x2df73a[_0x15b368(0xa60,0xe33)]=this['options']['animation']??![];const _0x19986d=_0x2df73a;this[_0x41742a(0xceb,_0x1c7846._0x335f1a)](_0x396c30=>{const _0x5bbbb0=this['point'];function _0x41b331(_0x243d96,_0x2856d0){return _0x15b368(_0x2856d0- -0x6f1,_0x243d96);}_0x5bbbb0[_0x2790bb(_0x54afe7._0x3bab91,0xc5c)]();if(isFunction(this['options']['popup']))return this['options'][_0x2790bb(0xffb,0x1a91)](_0x5bbbb0,this);const _0x27caaf=degree2dms(_0x5bbbb0['lng'])['str'],_0x25baeb=degree2dms(_0x5bbbb0[_0x2790bb(0xfd9,0x8cb)])[_0x2790bb(0xe96,_0x54afe7._0x8a71fc)];function _0x2790bb(_0x40cba2,_0x141947){return _0x15b368(_0x40cba2- -0x587,_0x141947);}let _0x2bacad='';if(this[_0x41b331(_0x54afe7._0xa234be,_0x54afe7._0x49e9ad)][_0x2790bb(0x1fa,-0x5e4)]!==![]){const _0x130809=proj4Trans([_0x5bbbb0[_0x2790bb(0x1056,_0x54afe7._0x49c67a)],_0x5bbbb0['lat']],_0x2790bb(_0x54afe7._0x4d2205,0x1590),this[_0x2790bb(0x5cf,0xf01)]['crs']??CRS['CGCS2000_GK_Zone_3']);_0x130809[0x0]!==_0x5bbbb0[_0x41b331(_0x54afe7._0x5e9128,0xeec)]&&_0x130809[0x1]!==_0x5bbbb0[_0x2790bb(0xfd9,_0x54afe7._0x307421)]&&(_0x2bacad='<div\x20title=\x22大地2000坐标\x22><label>'+_0x25da51['getLangText']('_横坐标')+_0x2790bb(0x14b0,0x185b)+_0x130809[0x0][_0x41b331(0xad9,0xcde)](0x1)+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20title=\x22大地2000坐标\x22><label>'+_0x25da51['getLangText']('_纵坐标')+_0x41b331(0x143e,_0x54afe7._0x25158d)+_0x130809[0x1]['toFixed'](0x1)+'</div>');}return _0x2790bb(_0x54afe7._0x37aef2,_0x54afe7._0x193079)+_0x25da51['getLangText'](_0x41b331(-0x82c,-_0x54afe7._0x103302))+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22mars3d-template-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div><label>'+_0x25da51['getLangText']('_经度')+'</label>'+_0x5bbbb0[_0x2790bb(0x1056,_0x54afe7._0x5f4b9c)]+'  '+_0x27caaf+_0x2790bb(0x19b,-0x650)+_0x25da51['getLangText']('_纬度')+'</label>'+_0x5bbbb0[_0x41b331(0x13ab,_0x54afe7._0x23862b)]+'    '+_0x25baeb+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2bacad+_0x2790bb(0xbe0,_0x54afe7._0x5121e0)+_0x25da51['getLangText'](_0x41b331(_0x54afe7._0x2bbbf9,0x8cf))+_0x41b331(_0x54afe7._0x2c0e46,0x1346)+_0x5bbbb0[_0x2790bb(0x174,_0x54afe7._0xf77d26)]+_0x25da51[_0x41b331(_0x54afe7._0x4c9a6b,0xbd7)]('_米')+_0x2790bb(0xd2b,0x14d3);},_0x19986d);function _0x41742a(_0x2852af,_0x326087){return _0x7afdbe(_0x326087,_0x2852af- -_0x18fd57._0xa01740);}this['on'](EventType['drawMouseMove'],this['_drawMouseMoveHandler'],this),this[_0x15b368(0x1288,_0x1c7846._0x252834)](EventType[_0x15b368(0x1843,_0x1c7846._0x462b1c)],this['_drawCreatedHandler'],this),this['on'](EventType['editMovePoint'],this[_0x15b368(0xc39,0x1192)],this),this['on'](EventType['editRemovePoint'],this['_editPointHandler'],this),this[_0x41742a(0x1635,0x1120)]&&this['openPopup']();}['_updatePositionsHook'](){super['_updatePositionsHook'](),this['openPopup']();}['_removedHook'](){const _0x289a9f={_0x577c10:0x9dc,_0x35c626:0x1731,_0x12f937:0xbd9,_0x4187cc:0x415,_0x2c35a0:0x71f,_0x5dc613:0xb9e,_0x853e07:0xb17},_0x2b6c97={_0x5dd26f:0xc8};this['off'](EventType['drawMouseMove'],this[_0x365462(_0x289a9f._0x577c10,0xe9c)],this);function _0x3a009b(_0x3e8b33,_0x33681d){return _0x7afdbe(_0x33681d,_0x3e8b33- -0x4a2);}this['off'](EventType[_0x3a009b(0x1329,_0x289a9f._0x35c626)],this[_0x365462(0xd59,_0x289a9f._0x12f937)],this),this[_0x365462(_0x289a9f._0x4187cc,-0x59b)](EventType['editMovePoint'],this[_0x365462(0xa5b,0xedc)],this);function _0x365462(_0x2691b6,_0x2237dd){return _0x54a7f1(_0x2691b6-_0x2b6c97._0x5dd26f,_0x2237dd);}this['off'](EventType['editRemovePoint'],this[_0x3a009b(_0x289a9f._0x2c35a0,_0x289a9f._0x5dc613)],this),super[_0x365462(_0x289a9f._0x853e07,0x130)]();}['_drawMouseMoveHandler'](_0x16efbc){this['openPopup']();}['_drawCreatedHandler'](_0x577a6c){const _0x42f3da={_0x1e7940:0x90d,_0x3c39af:0x10c9,_0x56e251:0x655};function _0x5451e8(_0x4acffc,_0x46ff2c){return _0x54a7f1(_0x4acffc- -0x2b0,_0x46ff2c);}this[_0x5b7a03(_0x42f3da._0x1e7940,0x461)]();function _0x5b7a03(_0x25d46d,_0x480aa7){return _0x54a7f1(_0x480aa7- -0x1e1,_0x25d46d);}this[_0x5451e8(0xc08,0xfcd)](EventType['end'],{'mtype':this[_0x5b7a03(_0x42f3da._0x3c39af,_0x42f3da._0x56e251)],'graphic':this},!![]);}['_editPointHandler'](_0x120f12){const _0x2460dc={_0x59c9bd:0x43c};function _0x2293f5(_0x4e5aa7,_0x348fff){return _0x7afdbe(_0x348fff,_0x4e5aa7- -_0x2460dc._0x59c9bd);}this[_0x2293f5(0x434,0x431)]();}}register$5(_0x7afdbe(0x11d5,0xb94),PointMeasure,!![]);const _0x4ef6a5={};_0x4ef6a5[_0x7afdbe(-0x1f,0x4d6)]=_0x54a7f1(0xca0,0x3c7),_0x4ef6a5['glowPower']=0.1,_0x4ef6a5['color']=_0x7afdbe(-0x3d2,0x6f6),_0x4ef6a5['width']=0x9,_0x4ef6a5['clampToGround']=![];const DEF_STYLE$t=_0x4ef6a5;class DistanceMeasure extends PolylineEntity{constructor(_0x5b8a2b={}){const _0x44687a={_0x32e8d8:0x13b8,_0x583428:0xda1,_0x35ac0a:0x442},_0x27aeb0={_0x3f78f8:0xd7};_0x5b8a2b['hasMoveEdit']=_0x5b8a2b['hasMoveEdit']??![],_0x5b8a2b[_0x170a24(_0x44687a._0x32e8d8,0x198d)]=_0x5b8a2b['showAddText']??!![],_0x5b8a2b['decimal']=_0x5b8a2b[_0x59c5f0(_0x44687a._0x583428,0xd91)]??0x2,_0x5b8a2b[_0x170a24(0x43a,_0x44687a._0x35ac0a)]={...DEF_STYLE$t,..._0x5b8a2b[_0x59c5f0(0x573,0x3cf)]};function _0x170a24(_0x864270,_0x5098c7){return _0x54a7f1(_0x864270- -0x62,_0x5098c7);}function _0x59c5f0(_0x55bf80,_0x5e8831){return _0x54a7f1(_0x55bf80-_0x27aeb0._0x3f78f8,_0x5e8831);}super(_0x5b8a2b),this['_measured']={};}get['measured'](){return this['_measured'];}[_0x54a7f1(0x174a,0x1d08)](_0x2f955f){const _0x417678={_0xe23240:0x4aa};function _0x1730b3(_0x117fdc,_0x3099a1){return _0x54a7f1(_0x117fdc- -_0x417678._0xe23240,_0x3099a1);}this['_measureLable']&&(this['_measureLable'][_0x1730b3(0x1149,0x1096)]=_0x2f955f);if(this['_arrPartMeasureLable'])for(let _0x12cbba=0x0;_0x12cbba<this['_arrPartMeasureLable']['length'];_0x12cbba++){this['_arrPartMeasureLable'][_0x12cbba]['show']=_0x2f955f;}}['_addedHook'](_0xd7320f){const _0x211c0e={_0x278642:0x1788,_0x330c49:0xfc8,_0x372b11:0x198c,_0x5cd2f7:0x1818,_0x2337cb:0xa9b,_0x2370dd:0x159c,_0x172dc:0x17de,_0x1802bc:0xe57,_0xc80cab:0xb38,_0x2bc6ce:0xa9b,_0x12bc95:0xcf1,_0x34deb7:0x14af,_0xdae9c6:0x17de};var _0xe4672f;super[_0x106787(_0x211c0e._0x278642,_0x211c0e._0x330c49)](_0xd7320f),this[_0x30c63b(0x1237,0xd55)]=[];const _0xb3ab68=this['options']['label']||((_0xe4672f=this[_0x30c63b(_0x211c0e._0x372b11,_0x211c0e._0x5cd2f7)])===null||_0xe4672f===void 0x0||(_0xe4672f=_0xe4672f[_0x30c63b(0x354,_0x211c0e._0x2337cb)])===null||_0xe4672f===void 0x0?void 0x0:_0xe4672f[_0x30c63b(0x15fd,0x12a5)]);this['_measureLable']=this['_createLabel'](_0xb3ab68);function _0x106787(_0x2068e6,_0x57969e){return _0x54a7f1(_0x57969e- -0x159,_0x2068e6);}this['_measureLable'][_0x30c63b(_0x211c0e._0x2370dd,_0x211c0e._0x172dc)]=![],this['on'](EventType[_0x30c63b(_0x211c0e._0x1802bc,0xa9d)],this['_drawAddPointHandler'],this),this['on'](EventType[_0x106787(0x1006,0xa42)],this['_drawRemovePointHandler'],this),this['on'](EventType['drawMouseMove'],this['_drawMouseMoveHandler'],this);function _0x30c63b(_0x1a1573,_0x2d7ffc){return _0x7afdbe(_0x1a1573,_0x2d7ffc- -0x43);}this[_0x30c63b(0xb6e,0x11cd)](EventType['drawCreated'],this[_0x106787(0x143c,_0x211c0e._0xc80cab)],this),this['on'](EventType['editMovePoint'],this['_editPointHandler'],this),this['on'](EventType['editRemovePoint'],this['_editPointHandler'],this),this[_0x30c63b(0xa0a,_0x211c0e._0x2bc6ce)][_0x30c63b(_0x211c0e._0x12bc95,0x12da)]&&(this[_0x106787(0x8d7,0x409)][_0x106787(0x171b,0x149a)]=this[_0x30c63b(_0x211c0e._0x34deb7,_0x211c0e._0xdae9c6)],this['_editPointHandler']());}['_updatePositionsHook'](){function _0x144039(_0x47b33d,_0x24b8d5){return _0x7afdbe(_0x47b33d,_0x24b8d5- -0x2fd);}super['_updatePositionsHook'](),this[_0x144039(0x65f,0x493)]['show']=this['show'],this['_editPointHandler']();}[_0x54a7f1(0xa4f,0xbf9)](){const _0x239489={_0x1931ea:0x119b,_0x2eb9aa:0x7cc,_0x14cfa0:0x11ca,_0x1164f2:0x1526,_0x512d07:0x205,_0x23cf6e:0x181,_0xee27dd:0x155d,_0x495701:0x1e02,_0x4c765c:0x431,_0x5f36ed:0x41a,_0x260391:0xa0f,_0xe5824f:0xbaf,_0x2d7fa9:0x422};this[_0x1aa602(0x205,0xaf4)](EventType['drawAddPoint'],this['_drawAddPointHandler'],this),this['off'](EventType[_0x411c5e(0xce2,_0x239489._0x1931ea)],this[_0x1aa602(_0x239489._0x2eb9aa,_0x239489._0x14cfa0)],this),this[_0x411c5e(0x4e3,-0x47d)](EventType['drawRemovePoint'],this['_drawRemovePointHandler'],this),this['off'](EventType['drawCreated'],this[_0x411c5e(0xe27,_0x239489._0x1164f2)],this),this[_0x1aa602(_0x239489._0x512d07,-0x684)](EventType[_0x411c5e(0x6cb,-_0x239489._0x23cf6e)],this['_editPointHandler'],this);function _0x411c5e(_0x4d9302,_0x2b414f){return _0x7afdbe(_0x2b414f,_0x4d9302- -0x98);}this[_0x411c5e(0x4e3,-0x467)](EventType[_0x1aa602(_0x239489._0xee27dd,_0x239489._0x495701)],this['_editPointHandler'],this);function _0x1aa602(_0x43748b,_0xecc751){return _0x54a7f1(_0x43748b- -0x148,_0xecc751);}Cesium__namespace[_0x1aa602(0x1539,0x171a)](this[_0x411c5e(0x6f8,_0x239489._0x4c765c)])&&(this['_removeLabel'](this['_measureLable']),delete this[_0x1aa602(_0x239489._0x5f36ed,_0x239489._0x260391)]);if(Cesium__namespace['defined'](this['_arrPartMeasureLable'])&&this['_arrPartMeasureLable']['length']>0x0){const _0x5e75f9=this['_arrPartMeasureLable'];if(_0x5e75f9&&_0x5e75f9[_0x1aa602(0xe3d,_0x239489._0xe5824f)]>0x0)for(let _0x49037e=0x0,_0x1ba3a3=_0x5e75f9['length'];_0x49037e<_0x1ba3a3;_0x49037e++){this['_removeLabel'](_0x5e75f9[_0x49037e]);}delete this['_arrPartMeasureLable'];}super[_0x411c5e(0xbe5,_0x239489._0x2d7fa9)]();}['_toJSON_Ex'](_0x58e4f7){const _0x2ad119={_0x11a584:0xb5};var _0x447d73;(_0x447d73=_0x58e4f7['label'])!==null&&_0x447d73!==void 0x0&&_0x447d73[_0x3fc72f(0x1307,0xb1f)]&&delete _0x58e4f7['label'];function _0x3fc72f(_0x198502,_0x49b30a){return _0x54a7f1(_0x49b30a- -_0x2ad119._0x11a584,_0x198502);}const _0x5237e5={};_0x5237e5['onlySimpleType']=!![],_0x58e4f7['measured']=getAttrVal(this['measured'],_0x5237e5);}[_0x7afdbe(0x123e,0xe02)](_0xde316c){const _0x18003b={_0x19b50b:0x55,_0x55546e:0x2f5,_0x5d7ef9:0x5c5,_0x49c4bd:0xda2,_0x85da4f:0x423,_0x7e9dc7:0x269,_0x2c65c1:0x54,_0x758132:0x3a5,_0x480db2:0xb33,_0x2a0b2c:0x1115,_0x468d1f:0x7ba},_0x37a076={_0xa35f35:0x3b0};_0xde316c&&(this['options'][_0x345416(_0x18003b._0x19b50b,-_0x18003b._0x55546e)]=_0xde316c);const _0xe5a2ef={'unit':this['options'][_0x345416(_0x18003b._0x19b50b,-0x382)],'getLangText':_0xf96897=>{const _0x21a506={_0x1b8fbd:0x1f8};function _0x2d932b(_0x5f3fc6,_0x491754){return _0x316d2e(_0x5f3fc6-_0x21a506._0x1b8fbd,_0x491754);}return this[_0x2d932b(0x4dc,0xf50)]['getLangText'](_0xf96897);},'decimal':this['options'][_0x316d2e(0x7db,0xe2)]};this['_measured'][_0x345416(0x1c1,_0x18003b._0x5d7ef9)]=formatDistance(this['_measured'][_0x345416(0xee1,0xea6)],_0xe5a2ef);if(this[_0x345416(0x3a8,0xafa)][_0x316d2e(_0x18003b._0x49c4bd,0x5cb)]!==this['_measured']['distanceLastFd']){this['_measureLable']['text']=this[_0x345416(_0x18003b._0x85da4f,0x787)]['getLangText']('_总长')+':'+this['_measured']['distanceStr'];if(this['options']['showAddText']){const _0x18a3b9=formatDistance(this[_0x316d2e(_0x18003b._0x7e9dc7,0xb96)][_0x345416(0xa00,0x139d)],_0xe5a2ef);this['_measured'][_0x316d2e(_0x18003b._0x2c65c1,_0x18003b._0x758132)]=_0x18a3b9,this[_0x345416(0x1b2,-0x544)]['text']+='\x0a(+'+_0x18a3b9+')';}}else this['_measureLable']['text']=this['_map'][_0x316d2e(_0x18003b._0x480db2,_0x18003b._0x2a0b2c)]('_总长')+':'+this[_0x316d2e(0x269,0xad1)]['distanceStr'];function _0x316d2e(_0x2ce6a3,_0x1c819a){return _0x54a7f1(_0x2ce6a3- -0x4ef,_0x1c819a);}function _0x345416(_0x257ba5,_0x290af6){return _0x54a7f1(_0x257ba5- -_0x37a076._0xa35f35,_0x290af6);}if(_0xde316c)for(let _0x4d28bf=0x1,_0x3244b3=this[_0x345416(_0x18003b._0x468d1f,0x661)]['length'];_0x4d28bf<_0x3244b3;_0x4d28bf++){const _0x49cb62=this['_arrPartMeasureLable'][_0x4d28bf];_0x49cb62['showText']&&_0x49cb62['showText']();}}['_drawAddPointHandler'](_0x1c5b3f){const _0x3b29c2={_0x461903:0x6ea,_0x305b97:0x43a,_0x198a85:0x19b,_0x4cff88:0x1125,_0xd0db11:0x1117,_0x3be766:0x631,_0x586325:0x450,_0x4afcda:0xde3,_0x543c3e:0x170e,_0x2e8855:0x14e5,_0x211127:0x1a29,_0x40b023:0x5b6,_0x4288b5:0xee3,_0x427482:0x24e,_0x545543:0x967,_0x441854:0x263,_0x5cdeda:0xb28,_0x80fbe1:0x12c9},_0xb8d3d7={_0x2aec17:0x41},_0x302094={_0x252963:0xd18,_0x1566c0:0x1bdc,_0x45798f:0xe38,_0x188a75:0xa2f,_0x14958c:0x1149,_0x5083e1:0x144e,_0x15f993:0xbcd},_0x3cd8b8={_0x49796e:0x19b},_0x4d3eb0={_0x4ef433:0x1f},_0xb0ec5c={_0x1c00a8:0x1a2};function _0x2fd613(_0xd162c5,_0xf82688){return _0x54a7f1(_0xd162c5- -_0xb0ec5c._0x1c00a8,_0xf82688);}var _0x24bab7;const _0x8efae5=this,_0x2139fd=this[_0x2fd613(_0x3b29c2._0x461903,0x2b1)],_0x4dbf72=this[_0x2fd613(_0x3b29c2._0x305b97,0x8c2)](this[_0x132029(0xabf,_0x3b29c2._0x198a85)][_0x2fd613(0xf18,0xaaf)]||((_0x24bab7=this[_0x132029(0x183c,_0x3b29c2._0x4cff88)])===null||_0x24bab7===void 0x0||(_0x24bab7=_0x24bab7['options'])===null||_0x24bab7===void 0x0?void 0x0:_0x24bab7['label']),_0x2139fd[_0x2139fd[_0x2fd613(0xde3,0x3fc)]-0x1]);function _0x132029(_0x17b899,_0x7456cb){return _0x7afdbe(_0x7456cb,_0x17b899- -_0x4d3eb0._0x4ef433);}this['_arrPartMeasureLable'][_0x132029(_0x3b29c2._0xd0db11,0x1b07)](_0x4dbf72);if(_0x2139fd['length']===0x1)_0x4dbf72['text']=this[_0x2fd613(_0x3b29c2._0x3be766,0x529)]['getLangText']('_起点'),_0x4dbf72[_0x132029(0xde3,0x17b3)]&&_0x4dbf72[_0x2fd613(0xa32,_0x3b29c2._0x586325)](_0x4dbf72['text'],_0x4dbf72);else{const _0x14d9d4=getSurfaceDistance(_0x2139fd),_0x4f46ec=getSurfaceDistance([_0x2139fd[_0x2139fd[_0x2fd613(0xde3,0x157c)]-0x2],_0x2139fd[_0x2139fd[_0x2fd613(_0x3b29c2._0x4afcda,_0x3b29c2._0x543c3e)]-0x1]]);_0x4dbf72['attr']={},_0x4dbf72[_0x2fd613(_0x3b29c2._0x2e8855,0x1083)][_0x2fd613(0x1352,_0x3b29c2._0x211127)]=_0x14d9d4,_0x4dbf72['attr']['valueFD']=_0x4f46ec,_0x4dbf72['showText']=function(){const _0x4cafa8={_0x197a8e:0x1f0};function _0x4c1767(_0x4864f5,_0x3116f8){return _0x2fd613(_0x4864f5-_0x3cd8b8._0x49796e,_0x3116f8);}const _0x3d0bc8={'unit':_0x8efae5['options']['unit'],'getLangText':_0x591b17=>{const _0x324f9c={_0x1b8ff4:0x22d};function _0x317dfd(_0x112af5,_0x21105b){return _0x536c(_0x112af5-_0x324f9c._0x1b8ff4,_0x21105b);}return _0x8efae5['_map'][_0x317dfd(0x1128,0x13ec)](_0x591b17);},'decimal':_0x8efae5['options'][_0x54878f(_0x302094._0x252963,0x26b)]},_0x151dfd=formatDistance(this['attr']['value'],_0x3d0bc8);if(this['attr'][_0x54878f(0x1542,_0x302094._0x1566c0)]!==this[_0x4c1767(0x1680,0xe21)][_0x4c1767(0x421,_0x302094._0x45798f)]){this['text']=_0x151dfd;if(_0x8efae5[_0x4c1767(0x8a9,_0x302094._0x188a75)]['showAddText']){const _0x544426=formatDistance(this['attr']['valueFD'],_0x3d0bc8);this[_0x54878f(0x1149,0x11f6)]+='\x0a(+'+_0x544426+')';}}else this[_0x54878f(_0x302094._0x14958c,_0x302094._0x5083e1)]=_0x151dfd;function _0x54878f(_0x1cd96c,_0x5945b7){return _0x2fd613(_0x1cd96c-_0x4cafa8._0x197a8e,_0x5945b7);}this[_0x54878f(0xc22,0x5b1)]&&this[_0x4c1767(_0x302094._0x15f993,0x12a3)](this['text'],this);},_0x4dbf72['showText'](),this['_measured']['distance']=_0x14d9d4,this[_0x2fd613(_0x3b29c2._0x40b023,_0x3b29c2._0x4288b5)]['distanceLastFd']=_0x4f46ec,this[_0x2fd613(0x5b6,-_0x3b29c2._0x427482)]['distanceStr']=formatDistance(this[_0x132029(_0x3b29c2._0x545543,0xcd1)][_0x132029(0x14a0,0xaa8)],{'unit':this[_0x2fd613(0x70e,0xc34)][_0x2fd613(_0x3b29c2._0x441854,0x733)],'getLangText':_0x390794=>{function _0x7cafe(_0x2c72d7,_0x3e2ccc){return _0x132029(_0x2c72d7- -0x5e5,_0x3e2ccc);}return this[_0x7cafe(0x3fd,-_0xb8d3d7._0x2aec17)]['getLangText'](_0x390794);},'decimal':this['options'][_0x2fd613(_0x3b29c2._0x5cdeda,_0x3b29c2._0x80fbe1)]});}}['_drawRemovePointHandler'](_0x57790f){const _0x5996d7={_0x3506ac:0x920},_0x5892bd={_0x51b2ff:0x66},_0x5d4698=this['_arrPartMeasureLable']['pop']();function _0x5d4073(_0x360d6c,_0x130e6f){return _0x54a7f1(_0x130e6f-_0x5892bd._0x51b2ff,_0x360d6c);}this['_removeLabel'](_0x5d4698),this[_0x5d4073(_0x5996d7._0x3506ac,0x97a)](_0x57790f),this['_measureLable']['position']=_0x57790f['cartesian'];}['_drawMouseMoveHandler'](_0x1c3050){const _0x1b0593={_0x5c24e1:0x120f,_0x452c45:0x1017,_0xb58a1f:0x105a,_0x1f311d:0xc55,_0x4bedf6:0x103a,_0xdaf7e0:0xe5e,_0x5637a3:0x1684,_0x1f16c3:0x9e2,_0x1454c0:0xf4b,_0x34b8f2:0x7fb},_0x12f1ea={_0xbf9ca8:0x28a},_0x3d7515={_0x34ad37:0xd5};function _0x593c07(_0x204c9d,_0x584143){return _0x54a7f1(_0x584143-_0x3d7515._0x34ad37,_0x204c9d);}const _0x5e0644=this['positionsShow'];if(!_0x5e0644||_0x5e0644['length']<0x2){this['_measureLable']['show']=![];return;}const _0x14c8ea=getSurfaceDistance(_0x5e0644);let _0x2374a2=getSurfaceDistance([_0x5e0644[_0x5e0644[_0x302544(_0x1b0593._0x5c24e1,_0x1b0593._0x452c45)]-0x2],_0x5e0644[_0x5e0644[_0x593c07(0x1aef,_0x1b0593._0xb58a1f)]-0x1]]);_0x2374a2===0x0&&_0x5e0644[_0x593c07(0xbde,0x105a)]>0x2&&(_0x2374a2=getSurfaceDistance([_0x5e0644[_0x5e0644['length']-0x3],_0x5e0644[_0x5e0644[_0x302544(_0x1b0593._0x5c24e1,_0x1b0593._0x1f311d)]-0x2]]));this['_measured']['distance']=_0x14c8ea;function _0x302544(_0x2d8b1d,_0x2fb247){return _0x54a7f1(_0x2d8b1d-_0x12f1ea._0xbf9ca8,_0x2fb247);}this['_measured'][_0x302544(_0x1b0593._0x4bedf6,0x1758)]=_0x2374a2,this[_0x302544(_0x1b0593._0xdaf7e0,0x7c4)](),this[_0x593c07(0x2cf,0x637)]['position']=_0x5e0644[_0x5e0644[_0x302544(0x120f,0x11e2)]-0x1],this[_0x302544(0x1142,0xec7)](EventType['change'],{'mtype':this[_0x593c07(0xd46,0x90b)],'value':this['_measured'][_0x593c07(_0x1b0593._0x5637a3,0x1366)],'label':this[_0x302544(_0x1b0593._0x1f16c3,_0x1b0593._0x1454c0)][_0x302544(_0x1b0593._0x34b8f2,0x93f)]},!![]);}['_drawCreatedHandler'](_0x197090,_0x14fc96=!![]){const _0x220741={_0x1c3420:0x3be,_0x55607f:0x1064,_0x48e891:0xb36,_0x1b134e:0xf62,_0x51cf2c:0x1085,_0x371279:0x8ca,_0x48d0a2:0xcdc};function _0x34e3c1(_0x4249cc,_0x1bc214){return _0x7afdbe(_0x4249cc,_0x1bc214- -0x14f);}const _0x1a913d=this[_0x34e3c1(_0x220741._0x1c3420,0x96b)];function _0x2f237(_0xca9b3d,_0x444d8f){return _0x7afdbe(_0x444d8f,_0xca9b3d- -0x67d);}const _0xa1b6a2=this['_arrPartMeasureLable'][_0x34e3c1(0xb00,_0x220741._0x55607f)]-_0x1a913d[_0x2f237(_0x220741._0x48e891,0xd92)];if(_0xa1b6a2>=0x0){for(let _0x17824a=this[_0x2f237(0x71b,_0x220741._0x1b134e)]['length']-0x1;_0x17824a>=_0x1a913d['length']-0x1;_0x17824a--){this['_removeLabel'](this['_arrPartMeasureLable'][_0x17824a]);}this[_0x2f237(0x71b,-0x303)][_0x34e3c1(_0x220741._0x51cf2c,_0x220741._0x371279)](_0x1a913d['length']-0x1,_0xa1b6a2+0x1);}this[_0x2f237(0x785,0x7ad)](),this['_measureLable'][_0x2f237(0x1292,0xe25)]=_0x1a913d[_0x1a913d[_0x2f237(0xb36,0xaaa)]-0x1],this['_measureLable']['show']=this['show'],_0x14fc96&&this['fire'](EventType[_0x34e3c1(0x1191,0x7d2)],{'mtype':this['type'],'value':this[_0x2f237(0x309,_0x220741._0x48d0a2)]['distance'],'label':this['_measured']['distanceStr']},!![]);}['_editPointHandler'](_0x3284fa,_0x134e49=!![]){const _0x2d6271={_0x5b4355:0x135c,_0x56087d:0x9f7,_0x1e0073:0x5db,_0x2ac2f9:0x166c,_0x5ec018:0x138d,_0x43f4e7:0x1174,_0x58854c:0xdd4,_0x57e915:0x1fd2,_0x4a0f23:0xbe3,_0x1e0056:0xac7,_0x15cf8d:0xf81,_0x5813f9:0x10fd,_0x545aaa:0x184f,_0x35c76a:0x121,_0x5b56da:0xc4d,_0x361e40:0xf5f,_0x4483af:0xc87,_0x30f257:0x8e6,_0x3b9681:0x7d1},_0x368570={_0x40a6e2:0x1b5},_0x4aa718={_0x23aac7:0x551,_0x15ebdc:0xe7c,_0x31a52e:0x1447,_0x3e958c:0x803,_0x15bce8:0x141a,_0x4e6f3e:0x1eac,_0x4cdab5:0x14e3,_0x19e968:0x1653,_0x727599:0x15fe},_0x310172={_0x243d2b:0x1ee},_0x1fe7ba={_0x50754f:0xb69},_0x57e5f1={_0x5612ad:0x4c9};var _0x34c753;let _0x267818=this['_arrPartMeasureLable'];if(_0x267818&&_0x267818['length']>0x0)for(let _0x1b0d4b=0x0,_0x90c3c0=_0x267818['length'];_0x1b0d4b<_0x90c3c0;_0x1b0d4b++){this[_0x3b6e6e(_0x2d6271._0x5b4355,_0x2d6271._0x56087d)](_0x267818[_0x1b0d4b]);}this[_0x1260ba(_0x2d6271._0x1e0073,0x9d5)][_0x1260ba(_0x2d6271._0x2ac2f9,0xf09)]=![];const _0x5916e3=this;function _0x3b6e6e(_0x3e50b5,_0xf9ec1b){return _0x7afdbe(_0x3e50b5,_0xf9ec1b- -_0x57e5f1._0x5612ad);}const _0x375bf0=this['positionsShow'];if(!_0x375bf0||_0x375bf0['length']<0x2)return;const _0x392927=this['_createLabel'](this[_0x1260ba(0x929,_0x2d6271._0x5ec018)]['label']||((_0x34c753=this['_layer'])===null||_0x34c753===void 0x0||(_0x34c753=_0x34c753['options'])===null||_0x34c753===void 0x0?void 0x0:_0x34c753['label']),_0x375bf0[0x0]);_0x392927[_0x1260ba(_0x2d6271._0x43f4e7,_0x2d6271._0x58854c)]=this['_map']['getLangText']('_起点'),_0x267818=[_0x392927];const _0x5989ad=_0x267818[0x0];_0x5989ad[_0x1260ba(0x175a,_0x2d6271._0x57e915)]=_0x375bf0[0x0],this['_arrPartMeasureLable']=[_0x5989ad];let _0x30bfee=0x0;for(let _0x2d9fb3=0x1,_0x416310=_0x375bf0['length']-0x1;_0x2d9fb3<_0x416310;_0x2d9fb3++){var _0x5b051b;const _0x365728=getSurfaceDistance([_0x375bf0[_0x2d9fb3-0x1],_0x375bf0[_0x2d9fb3]]);_0x30bfee+=_0x365728;const _0x2bc604=this['_createLabel'](this[_0x3b6e6e(0xb18,0x615)]['label']||((_0x5b051b=this['_layer'])===null||_0x5b051b===void 0x0||(_0x5b051b=_0x5b051b['options'])===null||_0x5b051b===void 0x0?void 0x0:_0x5b051b['label']),_0x375bf0[_0x2d9fb3]);this[_0x1260ba(_0x2d6271._0x4a0f23,_0x2d6271._0x1e0056)][_0x1260ba(_0x2d6271._0x15cf8d,_0x2d6271._0x5813f9)](_0x2bc604),_0x2bc604['attr']={},_0x2bc604[_0x1260ba(0x1700,_0x2d6271._0x545aaa)]['value']=_0x30bfee,_0x2bc604['attr']['valueFD']=_0x365728,_0x2bc604['showText']=function(){const _0x1729eb={_0x37f5f8:0x7d},_0x598ee0={'unit':_0x5916e3['options'][_0x1d5d66(_0x4aa718._0x23aac7,0x401)],'getLangText':_0x152aa5=>{function _0x35db1c(_0xbd56ef,_0x3ad349){return _0x1d5d66(_0xbd56ef,_0x3ad349- -0x388);}function _0x1022c9(_0xaee956,_0x436869){return _0x1d5d66(_0xaee956,_0x436869- -0x243);}return _0x5916e3[_0x35db1c(_0x1fe7ba._0x50754f,0x447)][_0x1022c9(0x6af,0xddb)](_0x152aa5);},'decimal':_0x5916e3[_0xa46a7b(0xb77,0x803)]['decimal']};function _0xa46a7b(_0x37f2e7,_0x453e09){return _0x3b6e6e(_0x37f2e7,_0x453e09-_0x310172._0x243d2b);}function _0x1d5d66(_0x10fc91,_0x4e127e){return _0x1260ba(_0x4e127e- -_0x1729eb._0x37f5f8,_0x10fc91);}const _0x20c4c7=formatDistance(this['attr'][_0xa46a7b(_0x4aa718._0x15ebdc,_0x4aa718._0x31a52e)],_0x598ee0);if(this['attr']['value']!==this['attr']['valueFD']){const _0x1a1645=formatDistance(this[_0xa46a7b(0x11de,0x15da)]['valueFD'],_0x598ee0);this[_0x1d5d66(0x91d,0x10f7)]=_0x20c4c7,_0x5916e3[_0xa46a7b(0x767,_0x4aa718._0x3e958c)]['showAddText']&&(this[_0x1d5d66(_0x4aa718._0x15bce8,0x10f7)]+=_0xa46a7b(_0x4aa718._0x4e6f3e,_0x4aa718._0x4cdab5)+_0x1a1645+')');}else this['text']=_0x20c4c7;this['updateText']&&this[_0x1d5d66(_0x4aa718._0x19e968,0xbd0)](this[_0x1d5d66(_0x4aa718._0x727599,0x10f7)],this);},_0x2bc604[_0x1260ba(0x16df,0x1b57)]();}const _0x52f6f6=getSurfaceDistance([_0x375bf0[_0x375bf0['length']-0x2],_0x375bf0[_0x375bf0['length']-0x1]]);_0x30bfee+=_0x52f6f6,this[_0x1260ba(0x7d1,-_0x2d6271._0x35c76a)]['distance']=_0x30bfee,this['_measured']['distanceLastFd']=_0x52f6f6,this[_0x1260ba(_0x2d6271._0x5b56da,0x33b)](),this[_0x1260ba(_0x2d6271._0x1e0073,0x1e1)][_0x3b6e6e(_0x2d6271._0x361e40,0x1446)]=_0x375bf0[_0x375bf0['length']-0x1];function _0x1260ba(_0xcb7764,_0x2a5ec2){return _0x7afdbe(_0x2a5ec2,_0xcb7764- -_0x368570._0x40a6e2);}this['_measureLable']['show']=this[_0x3b6e6e(_0x2d6271._0x4483af,0x1358)],_0x134e49&&this['fire'](EventType['change'],{'mtype':this['type'],'value':this[_0x1260ba(0x7d1,_0x2d6271._0x30f257)]['distance'],'label':this[_0x1260ba(_0x2d6271._0x3b9681,0x1231)]['distanceStr']},!![]);}}register$5('distanceMeasure',DistanceMeasure);class DistanceSurfaceMeasure extends DistanceMeasure{constructor(_0x329852={}){super(_0x329852);_0x329852['_promise']&&(this['_promise']=_0x329852['_promise'],delete _0x329852['_promise']);function _0x4e042a(_0xab0283,_0x582c4f){return _0x7afdbe(_0x582c4f,_0xab0283- -0x63d);}_0x329852['style'][_0x4e042a(0x115a,0xdbb)]=!![],_0x329852['splitNum']=_0x329852['splitNum']??0xc8,this['disTerrainScale']=1.2;}['_drawCreatedHandler'](_0x51acf4){const _0x5b0ade={_0x4806d4:0xa34};super[_0x3300a0(0xa40,_0x5b0ade._0x4806d4)](_0x51acf4,![]);function _0x3300a0(_0x2b21ee,_0xaf8cf9){return _0x54a7f1(_0x2b21ee- -0x251,_0xaf8cf9);}this['updateLengthForTerrain'](_0x51acf4);}[_0x54a7f1(0x993,0xc40)](_0x14976c){super['_editPointHandler'](_0x14976c,![]),this['updateLengthForTerrain'](_0x14976c);}['updateLengthForTerrain'](_0x41835c){const _0x1215be={_0x1241ca:0x7c1,_0x287e82:0x7bc,_0x1fe0f1:0xf1c,_0x480949:0xcc7,_0x20f017:0x73d},_0x540549={_0x4f5b2e:0x3c1,_0x512aff:0x53a,_0x20a920:0x1f2,_0xd17c0a:0x7f8,_0x5ece0e:0xe7e,_0x3dbf61:0x5f0},_0x1751da={_0x24688f:0x78},_0x118a93={_0x11b567:0x2116,_0x13c3fd:0x17ce,_0x2129bc:0x17d1,_0x1792bb:0x572,_0x1ac330:0xeec},_0x551be2=this[_0x333bd0(0x549,0xd51)];function _0x333bd0(_0x2dc1f2,_0x326787){return _0x54a7f1(_0x2dc1f2- -0x343,_0x326787);}if(!_0x551be2||_0x551be2[_0x333bd0(0xc42,0x11ec)]<0x2)return;function _0x1b2722(_0x51e92d,_0x16b05f){return _0x7afdbe(_0x51e92d,_0x16b05f- -0x1ca);}this['_measured'][_0x1b2722(0xdf9,0x367)]=this[_0x1b2722(_0x1215be._0x1241ca,_0x1215be._0x287e82)]['distance'],this['_measured']['distanceStr_original']=this['_measured']['distanceStr'],this[_0x1b2722(0x4f3,_0x1215be._0x1fe0f1)](EventType[_0x1b2722(0x208,0x98f)],{'mtype':this['type'],'graphic':this},!![]),getClampDistance(_0x551be2,{'scene':this[_0x1b2722(-0x132,0x837)]['scene'],'splitNum':this['options']['splitNum'],'has3dtiles':this['options']['has3dtiles'],'exact':this['options']['exact'],'disTerrainScale':this[_0x333bd0(_0x1215be._0x480949,_0x1215be._0x20f017)],'endItem':_0x11497d=>{const _0x34f17c={_0x3e6a95:0xe6};if(this['isDestroy'])return;let _0x2baf5c=_0x11497d['index'];const _0x2f9990=_0x11497d[_0x3a119b(0x1965,0x1547)];function _0x3a119b(_0x25e975,_0x849e02){return _0x333bd0(_0x849e02-0x48a,_0x25e975);}function _0x1847b6(_0x18a57c,_0x37624d){return _0x1b2722(_0x18a57c,_0x37624d-_0x34f17c._0x3e6a95);}const _0x3aa2ed=_0x11497d['distance'];_0x2baf5c++;const _0x395b4f=this['_arrPartMeasureLable'][_0x2baf5c];if(_0x395b4f)_0x395b4f[_0x3a119b(_0x118a93._0x11b567,_0x118a93._0x13c3fd)]['value']=_0x2f9990,_0x395b4f[_0x1847b6(0x1ea6,_0x118a93._0x2129bc)][_0x1847b6(0x8d0,_0x118a93._0x1792bb)]=_0x3aa2ed,_0x395b4f['showText']();else _0x2baf5c===_0x551be2['length']-0x1&&this['_measureLable']&&(this[_0x1847b6(0xe7a,0x8a2)]['distance']=_0x2f9990,this['_measured'][_0x3a119b(_0x118a93._0x1ac330,0xef7)]=_0x3aa2ed,this['updateText']());},'end':_0x3fc835=>{const _0x928af4={_0x504159:0x9b};var _0x311cab;if(this['isDestroy'])return;this[_0x431164(0x721,_0x540549._0x4f5b2e)]['distance']=_0x3fc835;const _0x566d46={};function _0x40fdd5(_0x4d0356,_0x3a4819){return _0x1b2722(_0x4d0356,_0x3a4819-_0x1751da._0x24688f);}_0x566d46['mtype']=this['type'],_0x566d46[_0x40fdd5(-0x2db,0x6a4)]=this,_0x566d46['value']=this['_measured']['distance'];function _0x431164(_0x235cb8,_0x5f2fbd){return _0x1b2722(_0x5f2fbd,_0x235cb8- -_0x928af4._0x504159);}_0x566d46['label']=this['_measured'][_0x431164(_0x540549._0x512aff,-_0x540549._0x20a920)];const _0x2087dd=_0x566d46;this['fire'](EventType['change'],_0x2087dd,!![]),this[_0x431164(0xe81,0x1845)](EventType[_0x431164(0x6bc,-0x25f)],_0x2087dd,!![]),(_0x311cab=this['_promise'])!==null&&_0x311cab!==void 0x0&&_0x311cab[_0x40fdd5(_0x540549._0xd17c0a,_0x540549._0x5ece0e)]&&this[_0x40fdd5(-_0x540549._0x3dbf61,0x35f)]['resolve'](this);}});}}register$5(_0x54a7f1(0x149a,0xcd1),DistanceSurfaceMeasure);class SectionMeasure extends DistanceMeasure{constructor(_0x354b7d={}){const _0x3af1ab={_0x391fb2:0x1e2,_0x14fd02:0x319,_0x108f69:0x158a},_0x29857b={_0x5b5b8f:0x20d},_0x4add37={_0x278077:0x4e8};super(_0x354b7d);function _0x1a59c5(_0xe6db3b,_0x336335){return _0x7afdbe(_0x336335,_0xe6db3b- -_0x4add37._0x278077);}_0x354b7d[_0x1a59c5(-0x37,0x1be)]&&(this['_promise']=_0x354b7d['_promise'],delete _0x354b7d['_promise']);_0x354b7d[_0x1a59c5(_0x3af1ab._0x391fb2,_0x3af1ab._0x14fd02)][_0xdf1ba9(0x104a,_0x3af1ab._0x108f69)]=!![];function _0xdf1ba9(_0x699e55,_0x131d42){return _0x7afdbe(_0x699e55,_0x131d42- -_0x29857b._0x5b5b8f);}_0x354b7d['splitNum']=_0x354b7d['splitNum']??0xc8;}[_0x7afdbe(0x796,0xebf)](_0x2a84cf){const _0x57907d={_0x42b962:0xa0a},_0x3932c4={_0x5f2174:0x287},_0x2469da={_0x5047e1:0x6c1};super[_0x1b41f4(0x6,_0x57907d._0x42b962)](_0x2a84cf,![]);function _0x2ec671(_0x49204a,_0x43e31c){return _0x7afdbe(_0x49204a,_0x43e31c- -_0x2469da._0x5047e1);}function _0x1b41f4(_0x5a565d,_0xaeaeef){return _0x54a7f1(_0xaeaeef- -_0x3932c4._0x5f2174,_0x5a565d);}this[_0x1b41f4(-0x4ae,0x27f)](_0x2a84cf);}['_editPointHandler'](_0x262db1){const _0x48e072={_0x1fa543:0x69f,_0x3e3192:0x9db,_0x40bd31:0x697},_0x2b80f1={_0x27a920:0x9d};function _0x2bcb07(_0x14884b,_0x438cd0){return _0x7afdbe(_0x438cd0,_0x14884b- -0x522);}super[_0x2bcb07(_0x48e072._0x1fa543,_0x48e072._0x3e3192)](_0x262db1,![]);function _0x16d953(_0x1f8e80,_0x3da74f){return _0x7afdbe(_0x1f8e80,_0x3da74f- -_0x2b80f1._0x27a920);}this[_0x16d953(0xc49,_0x48e072._0x40bd31)](_0x262db1);}[_0x54a7f1(0x506,0xfa3)](_0x2b3c93){const _0x36377a={_0x5a9407:0x44f,_0xc9f319:0x52e,_0x3c149b:0x182,_0x1eef5a:0x605,_0x80cfc2:0x113e,_0x4c11c6:0xb24,_0x1cb8ab:0x6e2,_0x143d05:0x473,_0x3e668e:0xb3c,_0x4f4ecc:0x1257},_0x47485d={_0x18c0f1:0x985,_0x5142be:0x1031,_0xe44c8:0x3e2,_0x5598f6:0xe2,_0x13f1a3:0x7c6,_0x217942:0x1abf,_0x13f484:0x4d8,_0x418989:0xcf9,_0x2f5a46:0xff7,_0x35df98:0x1a8},_0x45fb5f={_0x542a1b:0x3a8},_0x2863b1={_0x487cd2:0x38d,_0x5397cc:0x89b,_0x27edd6:0x9c9,_0x1e8df6:0x51d,_0x44af52:0x11e,_0x393d2f:0x10f7,_0x4aaa0e:0x308,_0x1fd9e0:0x98c,_0x545863:0xd10,_0x4500cd:0x426,_0x17775e:0x835,_0x577014:0xf27,_0x58c35a:0x420,_0x4cf702:0x98,_0x2d6f51:0x1497,_0x35ae4f:0xf50,_0x2f2e8c:0x16f4,_0x4293fd:0x51f},_0x21ba03={_0x4d49f8:0x381},_0x968fa6={_0x29e822:0x66b},_0x56db31=this[_0x35d026(_0x36377a._0x5a9407,_0x36377a._0xc9f319)];if(!_0x56db31||_0x56db31['length']<0x2)return;this[_0x471806(_0x36377a._0x3c149b,_0x36377a._0x1eef5a)]['distance_original']=this[_0x471806(0xaaf,0x605)][_0x471806(0x16f8,_0x36377a._0x80cfc2)],this['_measured'][_0x35d026(0x210,_0x36377a._0x4c11c6)]=this['_measured']['distanceStr'];function _0x35d026(_0x5c89f4,_0xf42c1f){return _0x7afdbe(_0xf42c1f,_0x5c89f4- -_0x968fa6._0x29e822);}function _0x471806(_0x2a270d,_0x4edaee){return _0x7afdbe(_0x2a270d,_0x4edaee- -_0x21ba03._0x4d49f8);}this['fire'](EventType['start'],{'mtype':this['type'],'graphic':this},!![]);let _0xaf0052=0x0;const _0xca4646=[],_0x59c2d4=[],_0x2bb221=[],_0x484ca3=[];computeStepSurfaceLine({'map':this[_0x35d026(0x396,-0x5d)],'positions':_0x56db31,'splitNum':this['options'][_0x35d026(0x6ff,_0x36377a._0x1cb8ab)],'minDistance':this[_0x35d026(_0x36377a._0x143d05,_0x36377a._0x3e668e)]['minDistance'],'has3dtiles':this['options'][_0x35d026(0x1087,_0x36377a._0x4f4ecc)],'objectsToExclude':this[_0x35d026(0x473,-0x235)]['objectsToExclude'],'exact':this[_0x471806(0x842,0x75d)]['exact'],'endItem':(_0x147b04,_0x1176d9,_0x20f537)=>{var _0x3692d7,_0x2ae9d5;if(this[_0x5ef5b4(_0x2863b1._0x487cd2,-0x64a)])return;function _0x5ef5b4(_0x2903da,_0x4230f3){return _0x471806(_0x4230f3,_0x2903da-0x11e);}const _0x2ecdee=(_0x3692d7=Cesium__namespace[_0x5ef5b4(_0x2863b1._0x5397cc,_0x2863b1._0x27edd6)][_0x5ef5b4(0x308,_0x2863b1._0x1e8df6)](_0x56db31[_0x20f537]))===null||_0x3692d7===void 0x0?void 0x0:_0x3692d7[_0xc25754(0x477,0x1b8)],_0x58deb2=(_0x2ae9d5=Cesium__namespace['Cartographic'][_0xc25754(0x14d,-_0x2863b1._0x44af52)](_0x56db31[_0x20f537+0x1]))===null||_0x2ae9d5===void 0x0?void 0x0:_0x2ae9d5['height'],_0x5236a7=(_0x58deb2-_0x2ecdee)/_0x147b04[_0x5ef5b4(0xf50,_0x2863b1._0x393d2f)];let _0x39e1ef=0x0;function _0xc25754(_0x1952dc,_0x3ff4dc){return _0x471806(_0x3ff4dc,_0x1952dc- -0x9d);}for(let _0xa09c27=0x0;_0xa09c27<_0x147b04['length'];_0xa09c27++){const _0x429a72=LngLatPoint['fromCartesian'](_0x147b04[_0xa09c27]);if(_0xa09c27!==0x0){const _0x2bdafb=LngLatPoint[_0x5ef5b4(_0x2863b1._0x4aaa0e,_0x2863b1._0x1fd9e0)](_0x147b04[_0xa09c27-0x1]),_0x219898=Cesium__namespace[_0xc25754(_0x2863b1._0x393d2f,_0x2863b1._0x545863)][_0x5ef5b4(0x125c,0xefc)](Cesium__namespace['Cartesian3']['fromDegrees'](_0x2bdafb['lng'],_0x2bdafb['lat']),Cesium__namespace[_0xc25754(0x10f7,0x159b)][_0xc25754(0xbfa,_0x2863b1._0x4500cd)](_0x429a72[_0xc25754(0x1147,0x15f5)],_0x429a72[_0xc25754(0x10ca,0xa46)]));_0xaf0052+=_0x219898,_0x39e1ef+=_0x219898;}_0xca4646[_0xc25754(0xd18,_0x2863b1._0x17775e)](Number(_0xaf0052[_0x5ef5b4(0x10f4,_0x2863b1._0x577014)](0x1))),_0x59c2d4['push'](_0x429a72[_0x5ef5b4(_0x2863b1._0x58c35a,0x1b)]),_0x484ca3[_0xc25754(0xd18,0x135a)](_0x429a72);const _0x2bb6ca=Number((_0x2ecdee+_0x5236a7*_0xa09c27)['toFixed'](0x1));_0x2bb221['push'](_0x2bb6ca);}_0x20f537++;const _0x43e1fa=this[_0xc25754(0x97a,-_0x2863b1._0x4cf702)][_0x20f537];if(_0x43e1fa)_0x43e1fa[_0xc25754(_0x2863b1._0x2d6f51,0xfa2)]['value']=_0xaf0052,_0x43e1fa['attr'][_0xc25754(0x238,0x41f)]=_0x39e1ef,_0x43e1fa[_0xc25754(0x1476,0xb68)]();else _0x20f537===_0x56db31[_0x5ef5b4(_0x2863b1._0x35ae4f,_0x2863b1._0x2f2e8c)]-0x1&&this['_measureLable']&&(this[_0x5ef5b4(0x723,_0x2863b1._0x4293fd)]['distance']=_0xaf0052,this[_0x5ef5b4(0x723,0xa89)]['distanceLastFd']=_0x39e1ef,this['updateText']());},'end':()=>{function _0xabbbb1(_0x5826bc,_0x4d73dc){return _0x35d026(_0x5826bc-0x1ee,_0x4d73dc);}var _0x2f6369;if(this[_0xabbbb1(0x173,-0x90)])return;this[_0xabbbb1(_0x47485d._0x18c0f1,0x203)](),this['_measured']['arrLen']=_0xca4646,this['_measured']['arrLX']=_0x2bb221,this['_measured'][_0x1559c1(0x1657,_0x47485d._0x5142be)]=_0x59c2d4,this[_0xabbbb1(0x509,-_0x47485d._0xe44c8)]['arrPoint']=_0x484ca3;const _0x5b3454={'mtype':this['type'],'graphic':this,'value':_0xaf0052,'label':this[_0xabbbb1(0x509,_0x47485d._0x5598f6)][_0x1559c1(_0x47485d._0x13f1a3,0x5d0)],...this['_measured']};function _0x1559c1(_0xd49ab7,_0x29c1fe){return _0x471806(_0x29c1fe,_0xd49ab7-_0x45fb5f._0x542a1b);}const _0x262f0e=_0x5b3454;this['fire'](EventType['change'],_0x262f0e,!![]),this[_0x1559c1(0x110d,_0x47485d._0x217942)](EventType['end'],_0x262f0e,!![]),(_0x2f6369=this[_0x1559c1(_0x47485d._0x13f484,_0x47485d._0x418989)])!==null&&_0x2f6369!==void 0x0&&_0x2f6369[_0x1559c1(_0x47485d._0x2f5a46,0x1052)]&&this[_0x1559c1(0x4d8,_0x47485d._0x35df98)][_0xabbbb1(0xb53,0x15b4)](this);}});}}register$5('sectionMeasure',SectionMeasure);const _0x209aef={};_0x209aef['materialType']='PolylineArrow',_0x209aef['color']=_0x7afdbe(0x993,0x1241),_0x209aef['width']=0x9,_0x209aef['clampToGround']=!![];const DEF_STYLE$s=_0x209aef;class AngleMeasure extends PolylineEntity{constructor(_0xf621ee={}){const _0x354245={_0x2e507d:0x831,_0x56670b:0x1005,_0x27eb53:0xe2d,_0x407d0b:0x426,_0x121bcc:0x2c5,_0x203b4c:0xe0d,_0x541aa9:0x61c},_0x466399={_0x25dc25:0x163};_0xf621ee['hasMoveEdit']=_0xf621ee[_0x5187af(0x12e3,_0x354245._0x2e507d)]??![],_0xf621ee['maxPointNum']=0x2,_0xf621ee['decimal']=_0xf621ee[_0x3916d0(_0x354245._0x56670b,_0x354245._0x27eb53)]??0x2;function _0x5187af(_0x48786a,_0x27a96d){return _0x54a7f1(_0x27a96d- -0x13c,_0x48786a);}_0xf621ee[_0x3916d0(0xba4,_0x354245._0x407d0b)]=_0xf621ee[_0x5187af(_0x354245._0x121bcc,0x187)]??0x1;function _0x3916d0(_0x4fbc0a,_0x34598c){return _0x54a7f1(_0x34598c-_0x466399._0x25dc25,_0x4fbc0a);}_0xf621ee['style']={...DEF_STYLE$s,..._0xf621ee['style']},super(_0xf621ee),this[_0x5187af(_0x354245._0x203b4c,_0x354245._0x541aa9)]={};}get[_0x54a7f1(0xad6,0x1081)](){return this['_measured'];}['_showHook'](_0x4add8a){function _0x3c5781(_0x515cec,_0x8088f9){return _0x7afdbe(_0x8088f9,_0x515cec- -0x694);}this[_0x3c5781(0xfc,0x7db)]&&(this['_measureLable']['show']=_0x4add8a);}['_addedHook'](_0x4ddcfa){const _0x385f81={_0xfc145d:0x644,_0x127a5b:0x1114,_0x370ed0:0x37b,_0x4e889a:0x409,_0x52a494:0xf70,_0xf1bb76:0x165b,_0xcca8e4:0xbb4,_0x38e831:0x3dc,_0x14bba5:0x7e6,_0x320ce6:0x675,_0x2daf1b:0x2092},_0x9fb623={_0x1284c4:0x1c6};var _0x3cd9ca;super['_addedHook'](_0x4ddcfa);function _0x2803b8(_0x378c73,_0x492a38){return _0x54a7f1(_0x492a38- -0x159,_0x378c73);}this['_measureLable']=this[_0xe7e52a(-0x40,_0x385f81._0xfc145d)](this[_0x2803b8(0x452,0x757)]['label']||((_0x3cd9ca=this[_0xe7e52a(0x1933,0x1695)])===null||_0x3cd9ca===void 0x0||(_0x3cd9ca=_0x3cd9ca[_0x2803b8(_0x385f81._0x127a5b,0x757)])===null||_0x3cd9ca===void 0x0?void 0x0:_0x3cd9ca['label'])),this[_0x2803b8(_0x385f81._0x370ed0,_0x385f81._0x4e889a)][_0xe7e52a(_0x385f81._0x52a494,_0x385f81._0xf1bb76)]=![],this['on'](EventType['drawAddPoint'],this['_drawAddPointHandler'],this),this['on'](EventType['drawRemovePoint'],this['_drawRemovePointHandler'],this),this['on'](EventType[_0xe7e52a(0x7f1,_0x385f81._0xcca8e4)],this['_drawMouseMoveHandler'],this),this['once'](EventType['drawCreated'],this['_drawCreatedHandler'],this);function _0xe7e52a(_0x4bea15,_0x1e6a2f){return _0x7afdbe(_0x4bea15,_0x1e6a2f- -_0x9fb623._0x1284c4);}this['on'](EventType[_0x2803b8(0xa6,_0x385f81._0x38e831)],this['_drawMouseMoveHandler'],this),this['on'](EventType['editRemovePoint'],this[_0xe7e52a(_0x385f81._0x14bba5,0x97c)],this),this['on'](EventType[_0x2803b8(0x58c,0x4e7)],this['_drawMouseMoveHandler'],this),this[_0x2803b8(0xec9,0x757)]['positions']&&(this[_0x2803b8(_0x385f81._0x320ce6,0x409)]['show']=this[_0xe7e52a(_0x385f81._0x2daf1b,_0x385f81._0xf1bb76)],this['_drawMouseMoveHandler']());}['_updatePositionsHook'](){const _0x44455e={_0x116712:0x55a,_0x18a678:0xa57,_0xa5a47b:0xb6f},_0x4b654a={_0x9fa0e5:0x3f4};function _0x307c74(_0x4c8467,_0x4d2918){return _0x54a7f1(_0x4c8467- -_0x4b654a._0x9fa0e5,_0x4d2918);}super[_0x334d69(_0x44455e._0x116712,_0x44455e._0x18a678)](),this['_measureLable'][_0x334d69(0x1325,_0x44455e._0xa5a47b)]=this['show'];function _0x334d69(_0xe7e1f7,_0x59f5df){return _0x7afdbe(_0x59f5df,_0xe7e1f7- -0x4fc);}this['_drawMouseMoveHandler']();}[_0x54a7f1(0xa4f,0x5b1)](){const _0x2e4fd9={_0x197e79:0xeb3,_0x57ba65:0xeda,_0x357ca4:0x2c5,_0x52784e:0xdbc,_0x111b91:0x562,_0x27ea2a:0xe0b,_0x4f43a5:0x17,_0x53968d:0x88c,_0x37166b:0xf02},_0x125aae={_0x400e2d:0x42};this['off'](EventType['drawAddPoint'],this[_0x1ca8f0(_0x2e4fd9._0x197e79,_0x2e4fd9._0x57ba65)],this),this[_0x13345c(-0x54a,_0x2e4fd9._0x357ca4)](EventType[_0x1ca8f0(0xb8a,_0x2e4fd9._0x52784e)],this['_drawMouseMoveHandler'],this),this[_0x13345c(_0x2e4fd9._0x111b91,0x2c5)](EventType[_0x1ca8f0(0x697,_0x2e4fd9._0x27ea2a)],this[_0x13345c(0x1ceb,0x140f)],this),this['off'](EventType[_0x13345c(0x123a,0x1515)],this['_drawCreatedHandler'],this);function _0x1ca8f0(_0x8c01ce,_0x31583f){return _0x7afdbe(_0x8c01ce,_0x31583f-_0x125aae._0x400e2d);}this[_0x1ca8f0(-_0x2e4fd9._0x4f43a5,0x5bd)](EventType['editMovePoint'],this[_0x13345c(0x43c,_0x2e4fd9._0x53968d)],this),this[_0x13345c(0x14b,_0x2e4fd9._0x357ca4)](EventType['editRemovePoint'],this['_drawMouseMoveHandler'],this),this['off'](EventType['editMouseMove'],this['_drawMouseMoveHandler'],this);function _0x13345c(_0x3bccb8,_0x509b82){return _0x54a7f1(_0x509b82- -0x88,_0x3bccb8);}Cesium__namespace['defined'](this['_measureLable'])&&(this[_0x1ca8f0(0x19ab,_0x2e4fd9._0x37166b)](this[_0x13345c(0xd7a,0x4da)]),delete this[_0x1ca8f0(0x2fa,0x7d2)]),super['_removedHook']();}[_0x54a7f1(0xb55,0xbec)](_0x34f429){const _0x4e2b29={};_0x4e2b29['onlySimpleType']=!![],_0x34f429['measured']=getAttrVal(this['measured'],_0x4e2b29);}[_0x7afdbe(0x403,0xe02)](_0x3c0d12){const _0x3b2e53={_0x2f4433:0x8e2,_0x520c64:0x629,_0x3d3af2:0x557,_0x499da8:0xc86,_0xde571f:0xed2},_0x3b41a6={_0x119a7d:0x19c};_0x3c0d12&&(this[_0x3b9ab8(0xc50,0x870)]['unit']=_0x3c0d12);function _0x39529c(_0x12f9fd,_0x5de834){return _0x54a7f1(_0x12f9fd-0x32,_0x5de834);}this['_measured']['angleStr']=this[_0x39529c(0x78a,0xdf4)]['angle'][_0x39529c(0x115b,0x155a)](this[_0x39529c(_0x3b2e53._0x2f4433,0x100d)][_0x39529c(0x2f5,_0x3b2e53._0x520c64)])+'°';function _0x3b9ab8(_0x57810c,_0x126aac){return _0x54a7f1(_0x126aac- -0x40,_0x57810c);}this['_measured']['distanceStr']=formatDistance(this['_measured']['distance'],{'unit':this['options'][_0x39529c(0x437,-_0x3b2e53._0x3d3af2)],'getLangText':_0x35f70b=>{function _0xccac35(_0x503044,_0xa4a6b2){return _0x39529c(_0x503044-_0x3b41a6._0x119a7d,_0xa4a6b2);}return this[_0xccac35(0x9a1,0x108c)]['getLangText'](_0x35f70b);},'decimal':this['options']['decimal']}),this[_0x3b9ab8(_0x3b2e53._0x499da8,0x522)]['text']=this[_0x3b9ab8(0xd8a,0x793)]['getLangText']('_角度')+':'+this['_measured']['angleStr']+'\x0a'+this['_map']['getLangText']('_距离')+':'+this[_0x3b9ab8(0x58b,0x718)][_0x39529c(0x5a3,_0x3b2e53._0xde571f)];}[_0x7afdbe(0x1698,0xe98)](_0x395ee2){const _0x194b27={_0x489730:0xb72},_0x3f47e6={_0xae738:0x25e};function _0x5a4545(_0x43b80e,_0x38a3d0){return _0x54a7f1(_0x43b80e-_0x3f47e6._0xae738,_0x38a3d0);}this[_0x5a4545(_0x194b27._0x489730,0x778)](_0x395ee2);}['_drawRemovePointHandler'](_0x8239c){const _0x318e86={_0x27cc71:0x167a},_0x53b3cd={_0x258891:0x1a7};function _0x50a796(_0x116a24,_0x4a6251){return _0x7afdbe(_0x4a6251,_0x116a24- -_0x53b3cd._0x258891);}this['_measureLable']&&(this['_measureLable'][_0x50a796(_0x318e86._0x27cc71,0x1e47)]=![]);}[_0x54a7f1(0x914,0x459)](_0x2ce78e){const _0x5bef74={_0x2490fc:0x4c5,_0x51eb78:0xbe8,_0x37f332:0xbc7,_0x2bdd18:0x720,_0x40d8f8:0x39a,_0x19e267:0x1464,_0x539b01:0x10e4,_0x402e89:0x3ab,_0x27c1c0:0x55d,_0x32b32c:0xb1e};function _0x48383f(_0x4aec97,_0x59a71c){return _0x7afdbe(_0x59a71c,_0x4aec97- -0x69b);}const _0x3818ad=this[_0x48383f(0x41f,_0x5bef74._0x2490fc)];if(!_0x3818ad||_0x3818ad[_0x2e5d2c(_0x5bef74._0x51eb78,_0x5bef74._0x37f332)]<0x2){this['_measureLable']['show']=![];return;}this['_measured'][_0x48383f(0xe24,0x1194)]=Cesium__namespace['Cartesian3']['distance'](_0x3818ad[0x0],_0x3818ad[0x1]);function _0x2e5d2c(_0x5023cb,_0x40bd0a){return _0x54a7f1(_0x40bd0a- -0x3be,_0x5023cb);}this[_0x2e5d2c(_0x5bef74._0x2bdd18,_0x5bef74._0x40d8f8)][_0x2e5d2c(_0x5bef74._0x19e267,_0x5bef74._0x539b01)]=getAngle(_0x3818ad[0x0],_0x3818ad[0x1],!![]),this['updateText'](),this[_0x2e5d2c(-_0x5bef74._0x402e89,0x1a4)]['position']=_0x3818ad[0x1],this[_0x48383f(0xf5,-_0x5bef74._0x27c1c0)]['show']=this['show'],this[_0x2e5d2c(0x15bc,0xafa)](EventType[_0x48383f(0x184,_0x5bef74._0x32b32c)],{'mtype':this['type'],'value':this['_measured']['angle'],'label':this['_measured']['angleStr']},!![]);}[_0x7afdbe(0x6fc,0xebf)](_0xeef5fe){const _0x3e4e76={_0xb7fdd8:0x1266},_0x1b13d6={_0x11e747:0x523};function _0x44c05d(_0x478805,_0xbb9a69){return _0x7afdbe(_0xbb9a69,_0x478805- -_0x1b13d6._0x11e747);}this['fire'](EventType['end'],{'mtype':this['type'],'value':this['_measured']['angle'],'label':this['_measured'][_0x44c05d(0x11a8,_0x3e4e76._0xb7fdd8)]},!![]);}}register$5('angleMeasure',AngleMeasure);const _0xf2f4f1={};_0xf2f4f1['materialType']='PolylineGlow',_0xf2f4f1[_0x7afdbe(0x9cc,0x623)]=0.1,_0xf2f4f1[_0x54a7f1(0x1212,0x9a7)]='#ebe12c',_0xf2f4f1['width']=0x9;const DEF_STYLE$r=_0xf2f4f1;class HeightMeasure extends PolylineEntity{constructor(_0x591193={}){const _0x68a1d7={_0xa4fcb9:0xbc};_0x591193['hasMoveEdit']=_0x591193['hasMoveEdit']??![],_0x591193[_0x6420c9(0x391,0x98)]=0x2,_0x591193['decimal']=_0x591193[_0x324364(0x6d5,0x94f)]??0x2;function _0x6420c9(_0x18db29,_0x1222dc){return _0x54a7f1(_0x18db29- -_0x68a1d7._0xa4fcb9,_0x1222dc);}_0x591193['style']={...DEF_STYLE$r,..._0x591193['style']};function _0x324364(_0x2e2a76,_0x55a94d){return _0x54a7f1(_0x55a94d- -0x37b,_0x2e2a76);}super(_0x591193),this[_0x6420c9(0x69c,0x1fb)]={};}get[_0x7afdbe(0xa65,0xd04)](){return this['_measured'];}['_showHook'](_0x2dbe48){const _0xf1b873={_0x38c598:0x24a},_0x193f76={_0x5e7621:0x249};function _0x5a67fd(_0x305fa2,_0x5043cc){return _0x54a7f1(_0x305fa2-0x1b2,_0x5043cc);}function _0x71a06(_0xb7036,_0x47df29){return _0x7afdbe(_0x47df29,_0xb7036- -_0x193f76._0x5e7621);}this[_0x5a67fd(0x714,0x8be)]&&(this[_0x71a06(0x547,-_0xf1b873._0x38c598)]['show']=_0x2dbe48);}['_addedHook'](_0x69c92){const _0x4e2e06={_0x182be6:0xe52,_0x4daf01:0x16e0,_0x495b9a:0x56e,_0x985384:0x48b,_0x279a6a:0x819};super[_0x95b3b4(0xcfc,0x676)](_0x69c92),this['_initMeasureLable'](),this['on'](EventType['drawAddPoint'],this[_0x1a1033(0xf21,0x1657)],this);function _0x95b3b4(_0x356b85,_0x57c934){return _0x7afdbe(_0x57c934,_0x356b85- -0x653);}this['on'](EventType[_0x1a1033(_0x4e2e06._0x182be6,_0x4e2e06._0x4daf01)],this['_drawRemovePointHandler'],this),this['on'](EventType[_0x95b3b4(0x727,0x3e4)],this['_drawMouseMoveHandler'],this),this['once'](EventType['drawCreated'],this['_drawCreatedHandler'],this),this['on'](EventType[_0x95b3b4(0x110,-0x32f)],this['_editPointHandler'],this);function _0x1a1033(_0xe1b3d9,_0x3cd0b8){return _0x54a7f1(_0xe1b3d9-0x2b7,_0x3cd0b8);}this['on'](EventType[_0x95b3b4(0x1280,0x1cdf)],this[_0x95b3b4(_0x4e2e06._0x495b9a,-0x1b9)],this),this['on'](EventType['editMouseMove'],this['_editPointHandler'],this),this[_0x95b3b4(_0x4e2e06._0x985384,-0x215)][_0x1a1033(0x13a6,0x1270)]&&(this[_0x1a1033(_0x4e2e06._0x279a6a,0xa4a)]['show']=this['show'],this['_editPointHandler']());}['_updatePositionsHook'](){const _0x1bf514={_0x13009a:0x2,_0x4ff14:0x683};super['_updatePositionsHook'](),this[_0x51be96(-_0x1bf514._0x13009a,_0x1bf514._0x4ff14)]['show']=this['show'];function _0x51be96(_0x5cbee4,_0x154086){return _0x7afdbe(_0x5cbee4,_0x154086- -0x10d);}this['_editPointHandler']();}[_0x7afdbe(0x10bd,0xc7d)](){const _0x447687={_0x18f445:0x6bf,_0x321f96:0x238,_0x265832:0xf0b,_0x1bd2cf:0x721,_0x19c747:0x8b4,_0x4f4789:0x15a,_0x487513:0x2b4,_0x449969:0x342,_0x33ca6e:0x11ef,_0x4e5f93:0x7a0},_0x877c1c={_0x426486:0x60b};this[_0x2329fc(-0x90,0x6d7)](EventType[_0x6bd5e7(0x6af,_0x447687._0x18f445)],this[_0x2329fc(0x88d,0x12af)],this),this[_0x2329fc(-0x90,_0x447687._0x321f96)](EventType['drawMouseMove'],this[_0x6bd5e7(_0x447687._0x265832,_0x447687._0x1bd2cf)],this),this['off'](EventType['drawRemovePoint'],this['_drawRemovePointHandler'],this),this['off'](EventType[_0x6bd5e7(0x156a,0x13aa)],this[_0x2329fc(_0x447687._0x19c747,0x1)],this),this[_0x6bd5e7(-0x201,_0x447687._0x4f4789)](EventType[_0x6bd5e7(-_0x447687._0x487513,_0x447687._0x449969)],this['_editPointHandler'],this),this['off'](EventType['editRemovePoint'],this[_0x6bd5e7(_0x447687._0x33ca6e,_0x447687._0x4e5f93)],this),this['off'](EventType['editMouseMove'],this['_editPointHandler'],this);function _0x2329fc(_0x93ce2b,_0x5e6d13){return _0x7afdbe(_0x5e6d13,_0x93ce2b- -_0x877c1c._0x426486);}function _0x6bd5e7(_0x5145a4,_0x219e83){return _0x7afdbe(_0x5145a4,_0x219e83- -0x421);}this['_removeMeasureLabelAndEx'](),super['_removedHook']();}['_toJSON_Ex'](_0x2641aa){const _0x5a8bf7={};_0x5a8bf7['onlySimpleType']=!![],_0x2641aa['measured']=getAttrVal(this['measured'],_0x5a8bf7);}[_0x54a7f1(0x1363,0x1a73)](){const _0xc151eb={_0x2294bb:0xaa8,_0x32420d:0x1437,_0x219878:0xcb2,_0x4e4fae:0x15a},_0x2a2a39={_0x317640:0x408};function _0x9d84eb(_0x27d11d,_0x50e86e){return _0x7afdbe(_0x50e86e,_0x27d11d- -0x36);}function _0x1b2224(_0x3541ef,_0x196237){return _0x54a7f1(_0x196237- -_0x2a2a39._0x317640,_0x3541ef);}var _0x185fce;this['_measureLable']=this['_createLabel'](this['options'][_0x1b2224(0x349,0xcb2)]||((_0x185fce=this['_layer'])===null||_0x185fce===void 0x0||(_0x185fce=_0x185fce[_0x9d84eb(_0xc151eb._0x2294bb,_0xc151eb._0x32420d)])===null||_0x185fce===void 0x0?void 0x0:_0x185fce[_0x1b2224(0x122a,_0xc151eb._0x219878)])),this[_0x1b2224(-0x6be,_0xc151eb._0x4e4fae)]['show']=![];}['_removeMeasureLabelAndEx'](){const _0x4af19e={_0x175b9c:0x302,_0xfe022f:0x86c,_0x147a12:0x5b1,_0x2b8965:0x633},_0x52e7e1={_0x251ea5:0x654};function _0x28ca1f(_0x200a5c,_0x5b28a6){return _0x54a7f1(_0x200a5c- -0x260,_0x5b28a6);}function _0x4904cd(_0xfbfe72,_0x56b285){return _0x7afdbe(_0x56b285,_0xfbfe72- -_0x52e7e1._0x251ea5);}Cesium__namespace['defined'](this[_0x28ca1f(_0x4af19e._0x175b9c,-0x71a)])&&(this[_0x4904cd(_0x4af19e._0xfe022f,_0x4af19e._0x147a12)](this['_measureLable']),delete this[_0x28ca1f(0x302,-_0x4af19e._0x2b8965)]);}[_0x7afdbe(0x129a,0xe02)](_0x38d671){const _0x2ec217={_0x2bb0e0:0x1c9,_0x58c0f2:0x8cc,_0x224fd6:0x12dd,_0x480ade:0x1f72,_0x55a237:0x1621,_0x55309a:0xde6},_0x11ad7b={_0x6b7a94:0x1273},_0x3d57a8={_0x10cc38:0x1e2};_0x38d671&&(this['options']['unit']=_0x38d671);function _0x479e39(_0x3f730e,_0x9bd08f){return _0x54a7f1(_0x9bd08f-_0x3d57a8._0x10cc38,_0x3f730e);}this['_measured'][_0x490de2(0x1043,0x122f)]=formatDistance(this['_measured']['height'],{'unit':this['options'][_0x490de2(0x8d,_0x2ec217._0x2bb0e0)],'getLangText':_0x5ca9cf=>{const _0x40761f={_0x30973a:0x1e2};function _0x1cf871(_0x5dd12e,_0x1e4707){return _0x490de2(_0x1e4707,_0x5dd12e- -_0x40761f._0x30973a);}return this['_map'][_0x1cf871(0xc04,_0x11ad7b._0x6b7a94)](_0x5ca9cf);},'decimal':this[_0x490de2(_0x2ec217._0x58c0f2,0x674)]['decimal']});function _0x490de2(_0x2f04eb,_0xd497b6){return _0x7afdbe(_0x2f04eb,_0xd497b6- -0x46a);}this[_0x490de2(0x231,0x326)][_0x479e39(0xc4f,_0x2ec217._0x224fd6)]=this[_0x490de2(0xdc4,0x597)]['getLangText'](_0x490de2(0x5c5,0x8eb))+':'+this['_measured']['heightStr'],Cesium__namespace['defined'](this['_measured'][_0x479e39(_0x2ec217._0x480ade,0x1684)])&&(this['_measureLable']['text']+='\x0a'+this['_map'][_0x490de2(_0x2ec217._0x55a237,_0x2ec217._0x55309a)]('_角度')+':'+this['_measured']['angle'][_0x490de2(0x1508,0xeed)](0x2)+'°');}[_0x7afdbe(0x158f,0xe98)](_0x1293d7){const _0x5091ac={_0x91f378:0x244,_0x9ec8d7:0x621};function _0xf9fb46(_0x2240d0,_0x42dd5f){return _0x54a7f1(_0x42dd5f- -0x2f3,_0x2240d0);}this[_0xf9fb46(-_0x5091ac._0x91f378,_0x5091ac._0x9ec8d7)](_0x1293d7);}[_0x54a7f1(0x1497,0x1124)](_0x49acee){const _0x54190d={_0x4c97d3:0x91};function _0x47927c(_0x1aa9a8,_0x39785c){return _0x7afdbe(_0x39785c,_0x1aa9a8- -0x45b);}function _0x556eea(_0x317062,_0x4747f0){return _0x54a7f1(_0x4747f0- -0x36,_0x317062);}this[_0x556eea(_0x54190d._0x4c97d3,0x52c)]&&(this[_0x47927c(0x335,-0x783)]['show']=![]);}['_drawMouseMoveHandler'](_0x43c3c4){const _0x28bb47={_0xdacd96:0xeaf,_0xd6c7bf:0x7da,_0x3b5416:0x538,_0x28272a:0xe82,_0x47d1e6:0xbb,_0x46471d:0xafe,_0x1d015c:0x13fa,_0x1a33b5:0x117a,_0x14480d:0xdca,_0x5c74b9:0x4ee,_0x1bbf5d:0x707,_0xdf4083:0x682},_0x35f414={_0x17ab85:0x35d},_0x24ed60=this['positionsShow'];if(!_0x24ed60||_0x24ed60[_0xd06c4c(0x8ba,_0x28bb47._0xdacd96)]<0x2){this[_0x52062b(0x433,0xea2)]['show']=![];return;}const _0x2ac194=Cesium__namespace['Cartographic']['fromCartesian'](_0x24ed60[0x0]),_0x1d25f4=Cesium__namespace['Cartographic']['fromCartesian'](_0x24ed60[0x1]);function _0xd06c4c(_0x54ec33,_0x520f1e){return _0x54a7f1(_0x520f1e- -0xd6,_0x54ec33);}this['_measured'][_0xd06c4c(0x103d,0x591)]=this['_map']['getRealAlt'](_0x1d25f4['height']-_0x2ac194['height']);this[_0xd06c4c(0x153,_0x28bb47._0xd6c7bf)]['hasAbs']&&(this['_measured']['height']=Math['abs'](this['_measured'][_0x52062b(_0x28bb47._0x3b5416,_0x28bb47._0x28272a)]));this[_0xd06c4c(_0x28bb47._0x47d1e6,_0x28bb47._0x46471d)](),this['_measureLable']['position']=Cesium__namespace[_0x52062b(0x11b8,_0x28bb47._0x1d015c)][_0xd06c4c(_0x28bb47._0x1a33b5,_0x28bb47._0x14480d)](_0x24ed60[0x0],_0x24ed60[0x1],new Cesium__namespace['Cartesian3']()),this[_0x52062b(0x433,-0x282)][_0xd06c4c(0xf8c,0x151d)]=this['show'];function _0x52062b(_0x246191,_0x54655){return _0x7afdbe(_0x54655,_0x246191- -_0x35f414._0x17ab85);}this[_0x52062b(0xd89,_0x28bb47._0x5c74b9)](EventType[_0xd06c4c(-0x576,0x51b)],{'mtype':this[_0x52062b(_0x28bb47._0x1bbf5d,0x6df)],'value':this['_measured']['height'],'label':this[_0xd06c4c(-0x302,_0x28bb47._0xdf4083)]['heightStr']},!![]);}['_drawCreatedHandler'](_0x305133){const _0x2f0051={_0x2ae206:0x1c3,_0x539c3b:0x9a7,_0x39ee26:0xdda,_0x129927:0x16ba},_0x3636c7={_0x2c66eb:0x24f},_0x53df3c={_0x39f2da:0x621};function _0x136d73(_0x528d2f,_0x35249c){return _0x7afdbe(_0x35249c,_0x528d2f- -_0x53df3c._0x39f2da);}function _0x2a2321(_0xc35e46,_0x401fd1){return _0x54a7f1(_0xc35e46-_0x3636c7._0x2c66eb,_0x401fd1);}this['fire'](EventType['end'],{'mtype':this['type'],'value':this['_measured'][_0x2a2321(0x8b6,-_0x2f0051._0x2ae206)],'label':this[_0x2a2321(_0x2f0051._0x539c3b,_0x2f0051._0x39ee26)][_0x2a2321(_0x2f0051._0x129927,0xc54)]},!![]);}[_0x7afdbe(0x10dc,0xbc1)](_0x184638){const _0x543dc6={_0x1bfe72:0xee};function _0x112bd8(_0x1e4e81,_0x27dfd0){return _0x7afdbe(_0x27dfd0,_0x1e4e81-0x4a);}this[_0x112bd8(0xb8c,_0x543dc6._0x1bfe72)](_0x184638);}}register$5(_0x54a7f1(0xca9,0x1774),HeightMeasure);class HeightTriangleMeasure extends HeightMeasure{['_showHook'](_0x1f1b8b){const _0x383dc4={_0x3e3543:0x179d},_0x35a55f={_0x5185aa:0x327};function _0x17f57f(_0x5bb11d,_0x469446){return _0x54a7f1(_0x5bb11d- -_0x35a55f._0x5185aa,_0x469446);}this['_measureLable']&&(this[_0xb09cef(0x70c,0x10b6)][_0xb09cef(_0x383dc4._0x3e3543,0x1c35)]=_0x1f1b8b);this['_measureDistanceLable']&&(this['_measureDistanceLable']['show']=_0x1f1b8b);this['_measureHorLable']&&(this['_measureHorLable']['show']=_0x1f1b8b);function _0xb09cef(_0x55a698,_0x3b976a){return _0x7afdbe(_0x3b976a,_0x55a698- -0x84);}this['_measureExLine']&&(this['_measureExLine']['show']=_0x1f1b8b);}['_initMeasureLable'](){const _0x44d76d={_0x489ab0:0x669,_0x3e8082:0x65,_0x1bff3b:0xe9d,_0x547b2d:0x171f,_0x4f10e7:0x169d,_0x1d1bb6:0x395,_0x552f4a:0x1053,_0x39c01b:0xebd,_0x33f58e:0x1053,_0x1dbaca:0x13d8},_0x5e355a={_0x1a1881:0x475},_0x534487={_0x53d1d8:0x295};var _0x5d5b4a,_0x4c207e;super['_initMeasureLable'](),this['_measureDistanceLable']=this['_createLabel'](this['options'][_0x2dd48c(0x17da,0x1053)]||((_0x5d5b4a=this['_layer'])===null||_0x5d5b4a===void 0x0||(_0x5d5b4a=_0x5d5b4a[_0x43380(_0x44d76d._0x489ab0,0xae1)])===null||_0x5d5b4a===void 0x0?void 0x0:_0x5d5b4a['label'])),this[_0x43380(_0x44d76d._0x3e8082,0xa75)][_0x2dd48c(0x4a6,_0x44d76d._0x1bff3b)]=new Cesium__namespace[(_0x2dd48c(_0x44d76d._0x547b2d,_0x44d76d._0x4f10e7))](0x0,0x0),this['_measureHorLable']=this[_0x43380(_0x44d76d._0x1d1bb6,0xb8f)](this['options'][_0x2dd48c(0x165d,_0x44d76d._0x552f4a)]||((_0x4c207e=this[_0x43380(0x13e6,_0x44d76d._0x39c01b)])===null||_0x4c207e===void 0x0||(_0x4c207e=_0x4c207e['options'])===null||_0x4c207e===void 0x0?void 0x0:_0x4c207e[_0x2dd48c(0xb1c,_0x44d76d._0x33f58e)]));function _0x2dd48c(_0x9241af,_0x19a0d4){return _0x7afdbe(_0x9241af,_0x19a0d4- -_0x534487._0x53d1d8);}function _0x43380(_0x46e273,_0x265028){return _0x7afdbe(_0x265028,_0x46e273- -_0x5e355a._0x1a1881);}this[_0x2dd48c(_0x44d76d._0x1dbaca,0x1484)]['pixelOffset']=new Cesium__namespace['Cartesian2'](0x0,0x0);}['_removeMeasureLabelAndEx'](){const _0x3a4eef={_0x12cf3b:0x231,_0x51dedd:0x1b4,_0x52eba5:0xd1c,_0x2f7fa4:0x126a,_0x3d8ac2:0x840,_0x1cacb0:0xfa0,_0x4e34a8:0x12e7},_0x441fb7={_0x135b38:0x326};super[_0x484273(0x707,0x420)]();function _0x484273(_0x2b9d65,_0x2b1586){return _0x7afdbe(_0x2b9d65,_0x2b1586- -0x2a9);}this[_0x484273(-0x865,0x231)]!=null&&(this['_removeLabel'](this[_0x484273(0x5cf,_0x3a4eef._0x12cf3b)]),delete this[_0x3b8d3a(-0x4d6,_0x3a4eef._0x51dedd)]);this['_measureHorLable']!=null&&(this[_0x484273(_0x3a4eef._0x52eba5,0xc17)](this['_measureHorLable']),delete this['_measureHorLable']);function _0x3b8d3a(_0xa4f758,_0x2023d3){return _0x7afdbe(_0xa4f758,_0x2023d3- -_0x441fb7._0x135b38);}this[_0x3b8d3a(0xcda,_0x3a4eef._0x2f7fa4)]!=null&&(this['dataSource']['entities']['remove'](this[_0x484273(_0x3a4eef._0x3d8ac2,0x12e7)]),delete this[_0x484273(_0x3a4eef._0x1cacb0,_0x3a4eef._0x4e34a8)]);}['updateText'](_0x46284c){const _0x267ff1={_0x424eae:0xb8,_0x2a717d:0x9aa,_0x148c78:0x38b,_0xb62d58:0x40b,_0x4d9282:0x7c3,_0x4a714b:0x8be,_0x263d85:0xc59,_0x317f0b:0x80c,_0x22e7fd:0x119e,_0x26e15a:0x10eb},_0x45ec8b={_0x485fe3:0x24},_0x1e7d65={_0x474105:0x34d},_0xdcf25d={_0x46642d:0xa01,_0x3c543b:0x4bd,_0x426b4e:0x1906};super['updateText'](_0x46284c);const _0x58e1fe={'unit':this[_0x55922c(0xb02,0xb06)][_0xbe0c34(-0x371,_0x267ff1._0x424eae)],'getLangText':_0xa403a9=>{const _0x2ad2c6={_0x27fa25:0x24};function _0x38d5ff(_0x5a5230,_0x1b568e){return _0x55922c(_0x5a5230- -_0x2ad2c6._0x27fa25,_0x1b568e);}function _0x203c12(_0x1ec4f6,_0x520733){return _0xbe0c34(_0x1ec4f6,_0x520733-0x51b);}return this[_0x38d5ff(_0xdcf25d._0x46642d,_0xdcf25d._0x3c543b)][_0x38d5ff(0x1250,_0xdcf25d._0x426b4e)](_0xa403a9);},'decimal':this['options']['decimal']};this[_0x55922c(_0x267ff1._0x2a717d,0x637)]['distanceStr']=formatDistance(this['_measured']['distance'],_0x58e1fe);function _0xbe0c34(_0x39170c,_0x1c8234){return _0x54a7f1(_0x1c8234- -_0x1e7d65._0x474105,_0x39170c);}this['_measureDistanceLable']['text']=this['_map'][_0xbe0c34(0x70a,0xcd5)]('_空间距离')+':'+this[_0xbe0c34(-_0x267ff1._0x148c78,_0x267ff1._0xb62d58)][_0x55922c(_0x267ff1._0x4d9282,-0x2a3)],this[_0x55922c(_0x267ff1._0x2a717d,0xc8f)]['distanceHorStr']=formatDistance(this[_0xbe0c34(_0x267ff1._0x4a714b,0x40b)][_0x55922c(0xf94,_0x267ff1._0x263d85)],_0x58e1fe);function _0x55922c(_0x11b092,_0x2a08c9){return _0x7afdbe(_0x2a08c9,_0x11b092-_0x45ec8b._0x485fe3);}this[_0xbe0c34(_0x267ff1._0x317f0b,_0x267ff1._0x22e7fd)]['text']=this['_map'][_0xbe0c34(_0x267ff1._0x26e15a,0xcd5)](_0x55922c(0x9d0,0x1326))+':'+this[_0xbe0c34(0x4e6,0x40b)]['distanceHorStr'];}[_0x7afdbe(0x1b0b,0x16c5)](_0x3c7770){const _0x4a244d={_0x154ca1:0xf7,_0x3221e1:0x6d,_0x5efc3d:0x1bf,_0x4411c1:0xfe1},_0x26cc92={_0x599f87:0x46b};function _0x553bb9(_0x345256,_0x453003){return _0x7afdbe(_0x345256,_0x453003- -0x5af);}this[_0x2d8516(_0x4a244d._0x154ca1,-0x925)]&&(this[_0x2d8516(_0x4a244d._0x154ca1,_0x4a244d._0x3221e1)]['show']=![]);function _0x2d8516(_0x28637a,_0x5e4a0f){return _0x54a7f1(_0x28637a- -_0x26cc92._0x599f87,_0x5e4a0f);}this['_measureHorLable']&&(this['_measureHorLable']['show']=![]),this[_0x2d8516(-0x1bf,-0x233)]&&(this[_0x2d8516(-_0x4a244d._0x5efc3d,0x5e9)]['show']=![]),this[_0x553bb9(0xb3a,_0x4a244d._0x4411c1)]&&(this[_0x553bb9(0x1bb0,0x1356)]=null);}['_drawMouseMoveHandler'](_0x165f89){const _0x1e5be4={_0x5013eb:0x155c,_0x5af2e8:0xae,_0x3c186e:0xb32,_0x54bde7:0xc39,_0x2c084d:0x12ed,_0x4fbf4d:0x949,_0x47ddfa:0x7cf,_0x2c9603:0x1a63,_0x169bee:0x1f6a,_0x222714:0x49d,_0x1fbbb9:0x402,_0x7fdf50:0x1618,_0x3efb5d:0x9ba,_0x398413:0x1b3e,_0x6e3b35:0x1787,_0x33eb7a:0x158b,_0x53a5c2:0xe76,_0x3ecffa:0x62e,_0x160b9b:0xa98},_0x38b725={_0x32f869:0x34},_0x51a506=this[_0x1437b8(_0x1e5be4._0x5013eb,0xaee)];if(!_0x51a506||_0x51a506['length']<0x2){this['_measureLable']['show']=![];return;}const _0x251c83=Cesium__namespace['Cartographic'][_0x1437b8(_0x1e5be4._0x5af2e8,0x59f)](_0x51a506[0x0]),_0x264e88=_0x251c83[_0x38edaa(0x858,0x12d1)],_0x115235=Cesium__namespace[_0x1437b8(0xa66,_0x1e5be4._0x3c186e)]['fromCartesian'](_0x51a506[0x1]),_0x5c24d=_0x115235['height'];let _0x1559ff,_0x4d612b,_0x3440ce;_0x264e88>_0x5c24d?(_0x4d612b=Cesium__namespace['Cartesian3']['fromRadians'](_0x115235['longitude'],_0x115235['latitude'],_0x264e88),_0x3440ce=_0x51a506[0x0],_0x1559ff=_0x51a506[0x1]):(_0x4d612b=Cesium__namespace['Cartesian3']['fromRadians'](_0x251c83['longitude'],_0x251c83[_0x1437b8(0x20d,_0x1e5be4._0x54bde7)],_0x5c24d),_0x3440ce=_0x51a506[0x1],_0x1559ff=_0x51a506[0x0]);this['_measured']['height']=this['_map']['getRealAlt'](Math['abs'](_0x5c24d-_0x264e88)),this[_0x38edaa(0x753,0x855)][_0x1437b8(_0x1e5be4._0x2c084d,0x1943)]=getOnLinePointByRatio(_0x4d612b,_0x1559ff,0.5),this['_measureLable'][_0x1437b8(0x1ec4,0x1855)]=this['show'],this[_0x38edaa(_0x1e5be4._0x4fbf4d,_0x1e5be4._0x47ddfa)]['distance']=Cesium__namespace[_0x1437b8(_0x1e5be4._0x2c9603,0x1549)][_0x38edaa(0x1482,0x1a6e)](_0x3440ce,_0x1559ff),this['_measureDistanceLable'][_0x38edaa(0x18d2,_0x1e5be4._0x169bee)]=getOnLinePointByRatio(_0x3440ce,_0x1559ff,0.4),this[_0x38edaa(_0x1e5be4._0x222714,_0x1e5be4._0x1fbbb9)][_0x1437b8(_0x1e5be4._0x7fdf50,0x1855)]=this['show'],this[_0x1437b8(0x552,_0x1e5be4._0x3efb5d)][_0x1437b8(0x18a8,0xfa4)]=Cesium__namespace['Cartesian3']['distance'](_0x3440ce,_0x4d612b),this['_measureHorLable']['position']=getOnLinePointByRatio(_0x3440ce,_0x4d612b,0.6),this['_measureHorLable'][_0x1437b8(_0x1e5be4._0x398413,0x1855)]=this[_0x38edaa(0x17e4,_0x1e5be4._0x6e3b35)];function _0x38edaa(_0x17d031,_0x3591c1){return _0x7afdbe(_0x3591c1,_0x17d031- -0x3d);}const _0x2e6085=Math[_0x1437b8(0xb58,_0x1e5be4._0x33eb7a)](this['_measured']['height']/this['_measured'][_0x1437b8(_0x1e5be4._0x53a5c2,0x14f3)]*0x64)/0x64,_0x3aa8d7=Math['asin'](_0x2e6085)/Math['PI']*0xb4;this[_0x1437b8(0x1326,0x9ba)]['angle']=_0x3aa8d7;function _0x1437b8(_0x47e4c7,_0x6640d7){return _0x7afdbe(_0x47e4c7,_0x6640d7-_0x38b725._0x32f869);}this[_0x1437b8(0x756,0xe36)](),this['updateExLine']([_0x1559ff,_0x4d612b,_0x3440ce]),this['fire'](EventType['change'],{'mtype':this[_0x1437b8(_0x1e5be4._0x3ecffa,_0x1e5be4._0x160b9b)],'value':this[_0x1437b8(0xa19,0x9ba)]['height'],'label':this['_measured']['heightStr']},!![]);}[_0x54a7f1(0x76a,0x298)](_0x4949de){const _0x249d83={_0x50296a:0x519,_0x7b57f2:0x1c0,_0x9d70dd:0xdfa},_0x31c2af={_0x1067d1:0x1041},_0xef300c={_0x3641f4:0x7d},_0x106a05={_0x5d8acf:0x37};function _0x546a92(_0x9e58aa,_0x4cfdc8){return _0x54a7f1(_0x9e58aa-_0x106a05._0x5d8acf,_0x4cfdc8);}this[_0x244322(0x1754,0x1ed5)]=_0x4949de;function _0x244322(_0x175488,_0x3ad951){return _0x54a7f1(_0x175488-_0xef300c._0x3641f4,_0x3ad951);}if(!this['_measureExLine']){const _0x3b6d57={'id':this['id']+'-ex','polyline':PolylineStyleConver['toCesiumVal'](this['options'][_0x244322(_0x249d83._0x50296a,0x215)],{},!![])};_0x3b6d57[_0x546a92(0xe65,0x144f)]['positions']=new Cesium__namespace['CallbackProperty'](_0x55c8ae=>{function _0x303432(_0xba5e15,_0x5478d1){return _0x546a92(_0xba5e15- -0x271,_0x5478d1);}return this[_0x303432(0x149d,_0x31c2af._0x1067d1)];},![]),this['_measureExLine']=this[_0x244322(0x17c1,0xfeb)](_0x3b6d57),this['dataSource']['entities'][_0x244322(0x70d,-_0x249d83._0x7b57f2)](this[_0x546a92(0x1399,_0x249d83._0x9d70dd)]),this['bindPickId'](this['_measureExLine']);}}['_editPointHandler'](_0x1854c1){this['_drawMouseMoveHandler'](_0x1854c1);}}register$5('heightTriangleMeasure',HeightTriangleMeasure);const _0x552421={};_0x552421[_0x54a7f1(0x1212,0x1944)]='#00fff2',_0x552421['opacity']=0.4,_0x552421['outline']=!![],_0x552421[_0x54a7f1(0x839,0xe43)]='#fafa5a',_0x552421['outlineWidth']=0x2,_0x552421['clampToGround']=![];const DEF_STYLE$q=_0x552421;class AreaMeasure extends PolygonEntity{constructor(_0x36cba6={}){const _0x28edde={_0x294de9:0x765,_0x1d7303:0x105c},_0x26160a={_0x4260db:0x28c},_0x5bdec0={_0x58e32b:0x20e};_0x36cba6['hasMoveEdit']=_0x36cba6['hasMoveEdit']??![],_0x36cba6['decimal']=_0x36cba6[_0x8f931c(0x1d6,0xabc)]??0x2,_0x36cba6['style']={...DEF_STYLE$q,..._0x36cba6[_0x8f931c(_0x28edde._0x294de9,0x28e)]};function _0x8f931c(_0x57a39c,_0x1dd043){return _0x54a7f1(_0x1dd043- -_0x5bdec0._0x58e32b,_0x57a39c);}_0x36cba6['label']&&(_0x36cba6[_0x4ee4a6(0x1530,_0x28edde._0x1d7303)]={'horizontalOrigin':Cesium__namespace[_0x8f931c(0x55e,0x6bf)]['CENTER'],..._0x36cba6['label']});function _0x4ee4a6(_0xdddf41,_0x4f7890){return _0x7afdbe(_0xdddf41,_0x4f7890- -_0x26160a._0x4260db);}super(_0x36cba6),this['_measured']={};}get['measured'](){const _0x385b3c={_0x45372f:0xd6c,_0x11722a:0x3e9};function _0x12968b(_0x469aaf,_0xbe006b){return _0x54a7f1(_0xbe006b- -0x36f,_0x469aaf);}return this[_0x12968b(_0x385b3c._0x45372f,_0x385b3c._0x11722a)];}[_0x7afdbe(0x1cd0,0x1978)](_0x100d02){function _0xb8b7c3(_0x4ab4e7,_0x5bb409){return _0x54a7f1(_0x5bb409-0x205,_0x4ab4e7);}this['_measureLable']&&(this[_0xb8b7c3(0x11e8,0x767)]['show']=_0x100d02);}[_0x54a7f1(0x1121,0x1b75)](_0x3239fa){const _0x14757c={_0x2c88cd:0xa42,_0x52b941:0xc70,_0x58760b:0x1629,_0xaad5a6:0xe97,_0x3a2bef:0x9e9,_0x48697e:0x1552,_0x4a5ae4:0x17f,_0x5e4ad3:0x138b,_0x18d5f6:0x37,_0x58c2e5:0x1785,_0x4d5f7c:0xa68,_0x1633e5:0x12cd};var _0x46c5fe;super['_addedHook'](_0x3239fa),this['_measureLable']=this['_createLabel'](this[_0x588d4c(0x985,0xef5)][_0x588d4c(0x118f,0x709)]||((_0x46c5fe=this['_layer'])===null||_0x46c5fe===void 0x0||(_0x46c5fe=_0x46c5fe[_0x74f62c(_0x14757c._0x2c88cd,0x1212)])===null||_0x46c5fe===void 0x0?void 0x0:_0x46c5fe['label'])),this[_0x74f62c(0x6f4,0x974)][_0x74f62c(0x1785,0xda9)]=![],this['on'](EventType['drawAddPoint'],this['_drawAddPointHandler'],this),this['on'](EventType[_0x588d4c(_0x14757c._0x52b941,0x11e2)],this[_0x74f62c(_0x14757c._0x58760b,_0x14757c._0xaad5a6)],this);function _0x74f62c(_0x561132,_0x5a60fc){return _0x7afdbe(_0x5a60fc,_0x561132- -0x9c);}this['on'](EventType['drawMouseMove'],this[_0x588d4c(_0x14757c._0x3a2bef,0x170)],this),this[_0x74f62c(0x1174,_0x14757c._0x48697e)](EventType['drawCreated'],this['_drawCreatedHandler'],this),this['on'](EventType[_0x588d4c(0x60a,_0x14757c._0x4a5ae4)],this[_0x74f62c(0xb25,0x437)],this),this['on'](EventType['editMouseMove'],this[_0x74f62c(0xb25,0xb88)],this),this['on'](EventType[_0x74f62c(0x1837,_0x14757c._0x5e4ad3)],this['_editPointHandler'],this);function _0x588d4c(_0x4f29e7,_0x514aff){return _0x7afdbe(_0x514aff,_0x4f29e7- -0x159);}this['options'][_0x588d4c(0x11c4,0x9fb)]&&(this[_0x74f62c(0x6f4,-_0x14757c._0x18d5f6)][_0x74f62c(_0x14757c._0x58c2e5,0x181b)]=this['show'],this[_0x588d4c(_0x14757c._0x4d5f7c,_0x14757c._0x1633e5)]());}[_0x54a7f1(0x828,0x31c)](){const _0x27832b={_0x245ad0:0x762,_0x335d49:0xb93};super['_updatePositionsHook']();function _0x3ab30f(_0x5071d9,_0x3324c0){return _0x7afdbe(_0x5071d9,_0x3324c0- -0x2e);}function _0x3899e7(_0x21905b,_0x5cccc5){return _0x7afdbe(_0x5cccc5,_0x21905b- -0x55a);}this['_measureLable']&&(this[_0x3ab30f(0x829,_0x27832b._0x245ad0)]['show']=this['show'],this[_0x3ab30f(0x8e0,_0x27832b._0x335d49)]());}['_removedHook'](){const _0x7164d0={_0x241388:0x50d};function _0x5e0312(_0x3ffbe3,_0x5bdd67){return _0x54a7f1(_0x3ffbe3-0x80,_0x5bdd67);}this['off'](EventType['drawAddPoint'],this['_drawAddPointHandler'],this),this[_0x5ec78f(_0x7164d0._0x241388,-0x165)](EventType['drawMouseMove'],this['_drawMouseMoveHandler'],this),this['off'](EventType['drawRemovePoint'],this['_drawRemovePointHandler'],this),this['off'](EventType['drawCreated'],this['_drawCreatedHandler'],this);function _0x5ec78f(_0x5bc413,_0x2a82f1){return _0x54a7f1(_0x2a82f1- -0x4b2,_0x5bc413);}this['off'](EventType['editMouseMove'],this['_editPointHandler'],this),this['off'](EventType['editMovePoint'],this['_editPointHandler'],this),this['off'](EventType['editRemovePoint'],this['_editPointHandler'],this),this[_0x5ec78f(0x71a,-0x17)](),super['_removedHook']();}['_toJSON_Ex'](_0x3d9e74){const _0x296245={_0x2f1bc5:0x12ee};function _0x51db19(_0x4e4655,_0x506b0a){return _0x54a7f1(_0x4e4655- -0x468,_0x506b0a);}function _0x1df14a(_0x5dcdd6,_0x5cd877){return _0x7afdbe(_0x5cd877,_0x5dcdd6- -0x358);}const _0x1be440={};_0x1be440[_0x51db19(_0x296245._0x2f1bc5,0x86b)]=!![],_0x1be440['noArray']=!![],_0x3d9e74[_0x51db19(0x66e,-0x451)]=getAttrVal(this['measured'],_0x1be440);}['_removeMeasureLabelAndEx'](){const _0x261be6={_0x336a6d:0xd6b,_0x2bfbec:0x6ab};function _0x405d54(_0x5529cc,_0x2fddae){return _0x54a7f1(_0x5529cc- -0x4a0,_0x2fddae);}function _0xb3c47c(_0xdb3afa,_0x3fa6a6){return _0x7afdbe(_0x3fa6a6,_0xdb3afa- -0x52);}Cesium__namespace['defined'](this[_0xb3c47c(0x73e,_0x261be6._0x336a6d)])&&(this['_removeLabel'](this['_measureLable']),delete this[_0x405d54(0xc2,_0x261be6._0x2bfbec)]);}['updateText'](_0x22040f){const _0x3ffed5={_0xcfab5f:0x21c,_0x4156cc:0x310,_0x278657:0x47a,_0x3346fb:0xb9,_0x26afca:0x271,_0x1545d0:0x6c7,_0x44265c:0xe94,_0x5a93ab:0xae1,_0x23efd0:0x5ea,_0x44f510:0x979,_0x540ac1:0xb75},_0x34fd0b={_0x4f6060:0x417};_0x22040f&&(this['options'][_0x54fc13(0x3f4,_0x3ffed5._0xcfab5f)]=_0x22040f);function _0xb9e8a3(_0x209a19,_0x3d9ac3){return _0x54a7f1(_0x3d9ac3- -0x2de,_0x209a19);}function _0x54fc13(_0x439687,_0x1f61bd){return _0x7afdbe(_0x439687,_0x1f61bd- -_0x34fd0b._0x4f6060);}this[_0xb9e8a3(-_0x3ffed5._0x4156cc,_0x3ffed5._0x278657)][_0xb9e8a3(0xf,-_0x3ffed5._0x3346fb)]=formatArea(this['_measured']['area'],{'unit':this[_0x54fc13(-_0x3ffed5._0x26afca,_0x3ffed5._0x1545d0)]['unit'],'getLangText':_0x202754=>{return this['_map']['getLangText'](_0x202754);},'decimal':this[_0x54fc13(_0x3ffed5._0x44265c,0x6c7)][_0x54fc13(0xfdf,_0x3ffed5._0x5a93ab)]}),this[_0xb9e8a3(0x7b2,0x284)]['text']=this[_0x54fc13(0xebf,_0x3ffed5._0x23efd0)][_0xb9e8a3(_0x3ffed5._0x44f510,0xd44)]('_面积')+':'+this[_0x54fc13(_0x3ffed5._0x540ac1,0x56f)]['areaStr'];}['startDraw'](_0x785ba8){const _0x5b2d42={_0x45f9f7:0xe4};var _0x1505bf;super['startDraw'](_0x785ba8);function _0x3af2c0(_0x83d8c3,_0x9443c6){return _0x7afdbe(_0x9443c6,_0x83d8c3- -_0x5b2d42._0x45f9f7);}this['_drawMouseMoveHandler'](),((_0x1505bf=this['options']['positions'])===null||_0x1505bf===void 0x0?void 0x0:_0x1505bf[_0x3af2c0(0x10cf,0x1117)])>0x2&&this['stopDraw']();}[_0x54a7f1(0xc6a,0xc1e)](_0x12a66f){const _0x35f5f4={_0x4f6e9a:0x510};function _0x274a81(_0x5052c6,_0x214b16){return _0x54a7f1(_0x214b16- -0x404,_0x5052c6);}this[_0x274a81(0x1be,_0x35f5f4._0x4f6e9a)](_0x12a66f);}['_drawRemovePointHandler'](_0xab2772){const _0x33acf0=this['positionsShow'];(_0x33acf0===null||_0x33acf0===void 0x0?void 0x0:_0x33acf0['length'])<0x3&&(this['_measureLable']['show']=![]);}['_drawMouseMoveHandler'](_0xa79ef1){const _0x76cd6e={_0x1598fc:0x8d2,_0x5dbb75:0x10a1,_0x3173fe:0x6e2,_0x42b240:0x5a8,_0x1563de:0x75e,_0x54ae63:0x79e},_0x5cc93b={_0xd2e570:0x6},_0x4390c6={_0x21bba7:0x1e8};function _0x1c59a4(_0x4d04df,_0x4b477b){return _0x7afdbe(_0x4b477b,_0x4d04df- -_0x4390c6._0x21bba7);}const _0x1d434d=this[_0x1c59a4(_0x76cd6e._0x1598fc,_0x76cd6e._0x5dbb75)];if(_0x1d434d[_0x59079d(0xf8b,_0x76cd6e._0x3173fe)]<0x3){this['_measureLable']&&(this['_measureLable'][_0x1c59a4(0x1639,0x1a77)]=![]);return;}this['_measured'][_0x59079d(0x6ee,-0x2a2)]=getArea(_0x1d434d),this['updateText']();const _0x2b25b1=centerOfMass(_0x1d434d);function _0x59079d(_0x31ae8b,_0x465972){return _0x54a7f1(_0x31ae8b-_0x5cc93b._0xd2e570,_0x465972);}this[_0x1c59a4(_0x76cd6e._0x42b240,0xeca)]['position']=_0x2b25b1,this['_measureLable']['show']=this['show'],this['fire'](EventType['change'],{'mtype':this['type'],'value':this[_0x59079d(_0x76cd6e._0x1563de,0x552)]['area'],'label':this[_0x1c59a4(_0x76cd6e._0x54ae63,0x48b)]['areaStr']},!![]);}[_0x54a7f1(0xc91,0x128e)](_0x35d30e){const _0x31d428={_0x3fd2ca:0xf2d,_0x1c8998:0x224},_0x1c865c={_0x209a87:0x75},_0xf69ffd={_0x3360b6:0x1};function _0x5eb539(_0x5b7adc,_0x3ed063){return _0x54a7f1(_0x3ed063- -_0xf69ffd._0x3360b6,_0x5b7adc);}function _0x35ec67(_0x2bc45a,_0x107b97){return _0x54a7f1(_0x2bc45a-_0x1c865c._0x209a87,_0x107b97);}this[_0x35ec67(_0x31d428._0x3fd2ca,0xc1c)](EventType['end'],{'mtype':this['type'],'value':this['_measured']['area'],'label':this[_0x35ec67(0x7cd,0xe62)][_0x5eb539(-0x312,_0x31d428._0x1c8998)]},!![]);}['_editPointHandler'](_0x2c50c3){const _0x27299f={_0x2db7d0:0xdca,_0x12d3d2:0x7d2,_0x238e3d:0x436},_0x5252e9={_0x993a61:0x359};function _0x479b2d(_0x2b1220,_0x1f9b27){return _0x7afdbe(_0x1f9b27,_0x2b1220- -_0x5252e9._0x993a61);}const _0xfd8b4b=this['positionsShow'];if(!_0xfd8b4b||_0xfd8b4b[_0xa17931(_0x27299f._0x2db7d0,_0x27299f._0x12d3d2)]<0x3)return;this['_measured'][_0x479b2d(0x5bd,0x2ae)]=getArea(_0xfd8b4b),this['updateText'](),this['_measureLable']['position']=centerOfMass(_0xfd8b4b);function _0xa17931(_0x591a26,_0x32e09a){return _0x7afdbe(_0x32e09a,_0x591a26- -0x3e9);}this['fire'](EventType[_0xa17931(_0x27299f._0x238e3d,0x6c)],{'mtype':this['type'],'value':this['_measured']['area'],'label':this['_measured'][_0xa17931(0x6a,0x180)]},!![]);}}register$5(_0x54a7f1(0x134e,0x1c38),AreaMeasure);class AreaSurfaceMeasure extends AreaMeasure{constructor(_0x468b1f={}){const _0x3f8000={_0x233d9d:0x3a7,_0x462efa:0x5c0,_0x30d04b:0xf66};super(_0x468b1f);function _0x1c5b24(_0x3860ae,_0x365f30){return _0x7afdbe(_0x3860ae,_0x365f30- -0x197);}function _0x18dcc3(_0x52e122,_0x127062){return _0x54a7f1(_0x52e122-0x124,_0x127062);}_0x468b1f['_promise']&&(this[_0x18dcc3(_0x3f8000._0x233d9d,0x985)]=_0x468b1f['_promise'],delete _0x468b1f['_promise']),_0x468b1f[_0x18dcc3(_0x3f8000._0x462efa,_0x3f8000._0x30d04b)]['clampToGround']=!![];}[_0x7afdbe(0xdda,0xebf)](_0x5f3e0){const _0x941f64={_0x35ad9f:0x621};function _0x3c1700(_0x134b3b,_0x1fe699){return _0x7afdbe(_0x134b3b,_0x1fe699- -_0x941f64._0x35ad9f);}this[_0x3c1700(0xa8d,0xfe6)](_0x5f3e0);}[_0x7afdbe(0x115d,0xbc1)](_0x1e30c3){const _0x19efbc={_0x13770e:0xfe4,_0x22292e:0x171f};super[_0x1a4bfd(0xc2f,0xfde)](_0x1e30c3);function _0x1a4bfd(_0x5dc4cd,_0x5adee8){return _0x7afdbe(_0x5adee8,_0x5dc4cd-0x6e);}function _0x4b2a51(_0x492502,_0x3249bb){return _0x54a7f1(_0x492502- -0x3f5,_0x3249bb);}this[_0x4b2a51(_0x19efbc._0x13770e,_0x19efbc._0x22292e)](_0x1e30c3);}['updateAreaForTerrain'](_0x1a79e2){const _0x197b65={_0x577928:0x8de,_0x1c6e41:0x15e8,_0x2df851:0xcef,_0x7e14c7:0x12c3,_0x26069e:0x1154,_0xe77569:0x1677,_0x521a3c:0x540},_0x22fc97={_0x546422:0x1f07,_0x4f17c5:0x40f,_0x472f61:0x417,_0x4fa936:0x182b,_0x33f50b:0x22b0,_0x1bc398:0x8a2,_0x14b803:0x855,_0x389322:0xd8d,_0x542e39:0x1829,_0x103d2f:0x8a2,_0x27fadc:0xd6d,_0x497ed4:0x3cd},_0x34cbf6={_0x177025:0x4ba},_0x2ff210=this[_0x7eb9fc(_0x197b65._0x577928,0x51c)];if(!_0x2ff210||_0x2ff210['length']<0x3)return;this['_measured']['area_original']=this['_measured'][_0x2b9e58(0x89b,0x4fe)],this['_measured'][_0x7eb9fc(_0x197b65._0x1c6e41,0x13bd)]=this['_measured']['areaStr'];function _0x2b9e58(_0x37edf4,_0x4d1aa9){return _0x54a7f1(_0x37edf4-0x1b3,_0x4d1aa9);}this[_0x7eb9fc(0x8ce,0xb48)](EventType['start'],{'mtype':this['type'],'graphic':this},!![]);const _0x4c98f2={};_0x4c98f2[_0x7eb9fc(0x7f1,0xd0f)]=this['_map']['scene'];function _0x7eb9fc(_0x596539,_0x5af318){return _0x7afdbe(_0x596539,_0x5af318- -0x59e);}_0x4c98f2[_0x2b9e58(_0x197b65._0x2df851,_0x197b65._0x7e14c7)]=this['options']['splitNum'],_0x4c98f2[_0x7eb9fc(0x720,_0x197b65._0x26069e)]=this[_0x7eb9fc(-0x355,0x540)][_0x2b9e58(_0x197b65._0xe77569,0x1771)],_0x4c98f2['exact']=this[_0x7eb9fc(-0x328,_0x197b65._0x521a3c)]['exact'],getClampArea(_0x2ff210,_0x4c98f2)['then'](_0x37bbf4=>{const _0x1341bc={_0x4aa6d6:0x225};var _0x2c4f39,_0x4f43a8;if(!this['_map']||!this['_measureLable'])return;const _0x5dad5b=getPositionValue(this[_0x24422e(0x6ac,0xa1e)][_0x3d1125(_0x22fc97._0x546422,0x1596)],(_0x2c4f39=this['_map'])===null||_0x2c4f39===void 0x0?void 0x0:_0x2c4f39['clock']['currentTime']);_0x5dad5b&&_0x37bbf4!==null&&_0x37bbf4!==void 0x0&&_0x37bbf4['maxHeight']&&(this[_0x3d1125(-_0x22fc97._0x4f17c5,_0x22fc97._0x472f61)][_0x24422e(_0x22fc97._0x4fa936,_0x22fc97._0x33f50b)]=setPositionsHeight(_0x5dad5b,_0x37bbf4['maxHeight']));this[_0x24422e(_0x22fc97._0x1bc398,_0x22fc97._0x14b803)]['area']=_0x37bbf4['area'];function _0x3d1125(_0x21c90d,_0x11e2d4){return _0x7eb9fc(_0x21c90d,_0x11e2d4-_0x1341bc._0x4aa6d6);}this['updateText']();const _0x2c77f8={..._0x37bbf4};function _0x24422e(_0x4e0605,_0x14481f){return _0x7eb9fc(_0x14481f,_0x4e0605-_0x34cbf6._0x177025);}_0x2c77f8[_0x24422e(_0x22fc97._0x389322,_0x22fc97._0x542e39)]=this['type'],_0x2c77f8['value']=this[_0x24422e(_0x22fc97._0x103d2f,0xa4a)]['area'],_0x2c77f8['label']=this['_measured']['areaStr'];const _0x39f714=_0x2c77f8;this[_0x3d1125(0x8d1,_0x22fc97._0x27fadc)](EventType[_0x3d1125(-0x50c,0x4a6)],_0x39f714,!![]),this[_0x3d1125(0x15df,_0x22fc97._0x27fadc)](EventType['end'],_0x39f714,!![]),(_0x4f43a8=this['_promise'])!==null&&_0x4f43a8!==void 0x0&&_0x4f43a8['resolve']&&this[_0x24422e(_0x22fc97._0x497ed4,0xdba)]['resolve'](this);});}}register$5(_0x7afdbe(0x2b3,0x64a),AreaSurfaceMeasure);class VolumeMeasure extends AreaMeasure{constructor(_0x3ec34c={}){const _0x15c8e4={_0x1b1efd:0x997,_0x1404e9:0xa53,_0x5f59f0:0x1085,_0x361269:0x1a47,_0x4f5d7e:0x378,_0x4a2567:0xe30,_0x26b776:0xbb7,_0x16cc3c:0x133d,_0x3e25c6:0x1451,_0x2a83c:0x1a3b,_0x2700ca:0x1367,_0x343d2b:0x16a7,_0x2c96cf:0xd8d,_0x4277fd:0xc6b},_0x422dcd={_0x31a079:0x2f5};super(_0x3ec34c);_0x3ec34c['_promise']&&(this['_promise']=_0x3ec34c['_promise'],delete _0x3ec34c['_promise']);this['labelHeightStyle']={...this['options'][_0xc35435(0x1115,_0x15c8e4._0x1b1efd)],'font_size':0xf,'background':![]};function _0xc35435(_0x442a75,_0x2c9b35){return _0x54a7f1(_0x442a75-0x5b,_0x2c9b35);}function _0x24707d(_0x438c80,_0x568242){return _0x7afdbe(_0x568242,_0x438c80- -_0x422dcd._0x31a079);}Cesium__namespace['defined'](_0x3ec34c[_0xc35435(_0x15c8e4._0x1404e9,0xc73)])&&(this['labelHeightStyle']={...this['labelHeightStyle'],..._0x3ec34c['labelHeight']}),this['polygonWallStyle']={'color':_0x24707d(_0x15c8e4._0x5f59f0,_0x15c8e4._0x361269),'opacity':0.3,'closeTop':![],'closeBottom':!![],'perPositionHeight':![],'height':new Cesium__namespace[(_0x24707d(0xc83,0x164f))](_0x1869c5=>{return this['minHeight'];},![]),'extrudedHeight':new Cesium__namespace[(_0x24707d(0xc83,_0x15c8e4._0x4f5d7e))](_0x378dc7=>{return this['maxHeight'];},![])},Cesium__namespace['defined'](_0x3ec34c[_0x24707d(0x1033,_0x15c8e4._0x4a2567)])&&(this[_0x24707d(_0x15c8e4._0x26b776,0x2e3)]={...this['polygonWallStyle'],..._0x3ec34c['polygonWall']}),this[_0xc35435(0xbd7,0x2a1)]=_0x3ec34c[_0x24707d(0xab5,_0x15c8e4._0x16cc3c)]??!![],this['offsetLabel']=_0x3ec34c[_0x24707d(_0x15c8e4._0x3e25c6,_0x15c8e4._0x2a83c)]??![],this['showArea']=_0x3ec34c['showArea']??!![],this[_0x24707d(_0x15c8e4._0x2700ca,_0x15c8e4._0x343d2b)]=_0x3ec34c['showFillVolume']??!![],this[_0xc35435(_0x15c8e4._0x2c96cf,0x1584)]=_0x3ec34c[_0x24707d(_0x15c8e4._0x4277fd,0x469)]??!![],this[_0xc35435(0xdd9,0xc74)]=![];}get['hasEdit'](){return![];}get[_0x54a7f1(0xd56,0x10cf)](){const _0x4fdd46={_0x1d074d:0x1e1a,_0x2d008c:0xbae},_0x3deab5={_0x5f2603:0xbd},_0xeb804a={_0x1e6c50:0x255};function _0x5dabc6(_0x360171,_0x2d51bb){return _0x54a7f1(_0x2d51bb-_0xeb804a._0x1e6c50,_0x360171);}function _0x2f2695(_0xb91147,_0x3962e5){return _0x54a7f1(_0x3962e5-_0x3deab5._0x5f2603,_0xb91147);}return this[_0x5dabc6(_0x4fdd46._0x1d074d,0x15a4)]?this['interPolygonObj'][_0x5dabc6(_0x4fdd46._0x2d008c,0x4b2)]:this['maxHeight'];}get[_0x7afdbe(0x563,0x895)](){const _0x5c2fc2={_0x5743de:0xae7};function _0xf0ab1b(_0x31b3b1,_0x3c5861){return _0x54a7f1(_0x31b3b1-0x289,_0x3c5861);}return this[_0xf0ab1b(_0x5c2fc2._0x5743de,0xd5)];}set[_0x7afdbe(0x12dd,0x895)](_0x322d51){const _0xf1ae2c={_0x5b36fb:0x912,_0x2e0476:0x151,_0x5aab36:0x671},_0x14443c={_0x3fd4f9:0x2c2};this['_jzmHeight']=_0x322d51;_0x322d51>this['maxHeight']&&(this['maxHeight']=_0x322d51);_0x322d51<this['minHeight']&&(this['minHeight']=_0x322d51);if(!this['_hasFX'])return;const _0x476406=updateVolume(this['interPolygonObj'],this['height']);function _0x3b4578(_0x8f2fc2,_0x324e20){return _0x54a7f1(_0x8f2fc2- -_0x14443c._0x3fd4f9,_0x324e20);}for(const _0x2293c4 in _0x476406){this['_measured'][_0x2293c4]=_0x476406[_0x2293c4];}this[_0x3b4578(_0xf1ae2c._0x5b36fb,-_0xf1ae2c._0x2e0476)]();if(this['_arrPartMeasureLable'])for(let _0x374d28=0x0;_0x374d28<this[_0x533674(0x87c,-0xf1)]['length'];_0x374d28++){this['_arrPartMeasureLable'][_0x374d28]['showText']();}const _0x4b1f18={..._0x476406};_0x4b1f18['sourceTarget']=this,_0x4b1f18['mtype']=this[_0x3b4578(0x574,_0xf1ae2c._0x5aab36)];function _0x533674(_0xf5c015,_0x52e276){return _0x54a7f1(_0xf5c015- -0x2ee,_0x52e276);}_0x4b1f18['graphic']=this;const _0x2219f4=_0x4b1f18;this['fire'](EventType[_0x533674(0x303,0xf)],_0x2219f4,!![]);}get[_0x54a7f1(0xf1b,0x647)](){return this['_minHeight']||0x0;}set[_0x7afdbe(0x952,0x1149)](_0x44e4f6){const _0x128a37={_0x1c06f6:0x542},_0x502839={_0x286216:0x2f4},_0x3301cc={_0x31df5b:0x61e};this['_minHeight']=_0x44e4f6;if(!this['_hasFX'])return;this['interPolygonObj']&&(this['interPolygonObj']['minHeight']=_0x44e4f6,this['interPolygonObj']=updateVolumeByMinHeight(this['interPolygonObj']));const _0x30e94d=updateVolume(this[_0x3561bc(0x1b28,0x105b)],this[_0x33e194(0x3c6,0x277)]);for(const _0x199e98 in _0x30e94d){this['_measured'][_0x199e98]=_0x30e94d[_0x199e98];}this['updateText']();const _0x20d61a={..._0x30e94d};_0x20d61a['sourceTarget']=this,_0x20d61a['mtype']=this[_0x3561bc(-0x140,_0x128a37._0x1c06f6)];function _0x33e194(_0x4922f2,_0x114caf){return _0x7afdbe(_0x4922f2,_0x114caf- -_0x3301cc._0x31df5b);}function _0x3561bc(_0x3bf7c5,_0x2e334a){return _0x54a7f1(_0x2e334a- -_0x502839._0x286216,_0x3bf7c5);}_0x20d61a['graphic']=this;const _0x414a1a=_0x20d61a;this['fire'](EventType['change'],_0x414a1a,!![]);}get['maxHeight'](){const _0x162b89={_0x41c59e:0x165c},_0x40075d={_0x362f70:0x4e7};function _0x188f94(_0x2beb42,_0xaa84ea){return _0x7afdbe(_0xaa84ea,_0x2beb42- -_0x40075d._0x362f70);}return this[_0x188f94(0xcf5,_0x162b89._0x41c59e)]||0x0;}set['maxHeight'](_0x2e3f55){this['_maxHeight']=_0x2e3f55;}['_showHook'](_0x53a89e){const _0x1a99d5={_0x2e43e6:0x8c,_0x19d6d9:0x1629,_0x355b58:0xba0},_0x42ecda={_0x2b412d:0x514};this[_0x2623ab(0x35,-_0x1a99d5._0x2e43e6)]&&(this['_wallEntity']['show']=_0x53a89e);function _0x2a50c7(_0x3ec889,_0x4ec373){return _0x54a7f1(_0x3ec889-0x36,_0x4ec373);}function _0x2623ab(_0x3f58da,_0x204da3){return _0x7afdbe(_0x204da3,_0x3f58da- -_0x42ecda._0x2b412d);}this['_measureLable']&&(this[_0x2a50c7(0x598,0x26)][_0x2a50c7(_0x1a99d5._0x19d6d9,0xbae)]=_0x53a89e);if(this[_0x2a50c7(_0x1a99d5._0x355b58,0xaab)])for(let _0x347f01=0x0;_0x347f01<this['_arrPartMeasureLable']['length'];_0x347f01++){this[_0x2623ab(0x884,0x895)][_0x347f01][_0x2a50c7(_0x1a99d5._0x19d6d9,0xe35)]=_0x53a89e;}}['_removedHook'](){const _0x341e92={_0xa314a9:0xd4a,_0x24a7f3:0x1650},_0x2bc0cf={_0x15ab62:0x386};function _0x474360(_0x38e733,_0x16618e){return _0x7afdbe(_0x16618e,_0x38e733- -_0x2bc0cf._0x15ab62);}this[_0x474360(_0x341e92._0xa314a9,_0x341e92._0x24a7f3)]&&(this['_map']['scene']['globe']['depthTestAgainstTerrain']=![],delete this['_depthTestAgainstTerrain_reset']),super['_removedHook']();}['_removeMeasureLabelAndEx'](){const _0x24b690={_0x2fef2b:0x8dc,_0x34d404:0xad3,_0x5d9860:0xd67};function _0x4a3dc3(_0xd13c3f,_0x4dae03){return _0x54a7f1(_0x4dae03- -0x4b2,_0xd13c3f);}function _0x164011(_0x31ae1d,_0x546ebd){return _0x54a7f1(_0x546ebd-0xd5,_0x31ae1d);}super['_removeMeasureLabelAndEx']();if(Cesium__namespace['defined'](this['_arrPartMeasureLable'])&&this[_0x164011(0x4fa,0xc3f)][_0x4a3dc3(_0x24b690._0x2fef2b,_0x24b690._0x34d404)]>0x0){const _0x526cdd=this['_arrPartMeasureLable'];if(_0x526cdd&&_0x526cdd['length']>0x0)for(let _0x21f54f=0x0,_0x333c65=_0x526cdd['length'];_0x21f54f<_0x333c65;_0x21f54f++){this[_0x164011(0x1524,_0x24b690._0x5d9860)](_0x526cdd[_0x21f54f]);}delete this['_arrPartMeasureLable'];}Cesium__namespace[_0x4a3dc3(0xd62,0x11cf)](this['_wallEntity'])&&(this['dataSource']['entities']['remove'](this['_wallEntity']),delete this['_wallEntity']);}['_drawCreatedHandler'](_0x35cb2c){const _0x2803e2={_0x49bf48:0x12af,_0x432e45:0x5c3,_0x56914d:0xe12,_0x4e2e6a:0x1384};clearTimeout(this[_0x4d0068(0x1001,0xfd6)]),this['_measureLable'][_0x51943a(0xeeb,_0x2803e2._0x49bf48)]=this[_0x51943a(_0x2803e2._0x432e45,0xfb8)][_0x51943a(_0x2803e2._0x56914d,_0x2803e2._0x4e2e6a)]('_正在计算体积')+'…';function _0x4d0068(_0x17f199,_0x25c533){return _0x54a7f1(_0x25c533-0x93,_0x17f199);}function _0x51943a(_0x4e0d6e,_0x440577){return _0x7afdbe(_0x440577,_0x4e0d6e- -0x43e);}const _0x1d4079=this['positionsShow'];this['_cache_timeTik']=setTimeout(()=>{function _0x5d6903(_0x1faaa8,_0x2a2b1e){return _0x51943a(_0x2a2b1e-0xf4,_0x1faaa8);}this[_0x5d6903(-0xba,0x9ce)](_0x1d4079);},0x64);}[_0x54a7f1(0x993,0x566)](_0xd2bee){this['_drawCreatedHandler'](_0xd2bee);}[_0x7afdbe(0xdff,0xe02)](_0x4823e6){const _0x40b6bb={_0x2bf9e1:0x6b5,_0x9a9fbd:0x20a,_0x514c5a:0x44b,_0x3b034e:0x6b5,_0x291598:0xc4b,_0x27e966:0x13e8,_0x45798c:0x46f,_0x36b251:0xd99,_0x48804c:0xe27,_0x3c42cc:0x244,_0x3f8582:0x9ea,_0x4d448f:0x183b},_0x2bfac3={_0x26e909:0x693},_0x309424={_0x3f995a:0x74f,_0x4f91ac:0xf9e},_0x6242b={_0x7a9699:0x3e1},_0x44389c={_0x11bc51:0x429};_0x4823e6&&(this[_0x3af937(_0x40b6bb._0x2bf9e1,-0x174)][_0x3af937(_0x40b6bb._0x9a9fbd,0x29c)]=_0x4823e6);function _0x3af937(_0x169b5c,_0x59e4e4){return _0x7afdbe(_0x59e4e4,_0x169b5c- -_0x44389c._0x11bc51);}const _0x595ec9={'unit':this[_0x2c85c2(_0x40b6bb._0x514c5a,-0x56)][_0x3af937(0x20a,0xb35)],'getLangText':_0x3792e3=>{function _0x2fc075(_0x9b0ac2,_0x5df322){return _0x3af937(_0x5df322-0x194,_0x9b0ac2);}function _0x58ac85(_0x2d2b65,_0x2b49ec){return _0x2c85c2(_0x2b49ec-_0x6242b._0x7a9699,_0x2d2b65);}return this[_0x58ac85(0xa8,_0x309424._0x3f995a)][_0x58ac85(0xe44,_0x309424._0x4f91ac)](_0x3792e3);},'decimal':this[_0x3af937(_0x40b6bb._0x3b034e,0xab1)]['decimal']};let _0x14470b='';this['showFillVolume']&&this['_measured'][_0x3af937(0x2ff,-0x561)]>0x0&&(this['_measured'][_0x3af937(_0x40b6bb._0x291598,_0x40b6bb._0x27e966)]=formatVolume(this['_measured'][_0x2c85c2(0x95,0x448)],_0x595ec9),_0x14470b+=(this['options']['fillVolumeName']||this[_0x2c85c2(0x36e,0xdc6)][_0x3af937(0xe27,0x118f)]('_填方体积'))+':'+this[_0x2c85c2(0x2f3,-_0x40b6bb._0x45798c)]['fillVolumeStr']+'\x0a');this[_0x3af937(0xb37,_0x40b6bb._0x36b251)]&&this[_0x3af937(0x55d,0xfe6)]['digVolume']>0x0&&(this['_measured']['digVolumeStr']=formatVolume(this[_0x3af937(0x55d,0x208)]['digVolume'],_0x595ec9),_0x14470b+=(this[_0x2c85c2(0x44b,0xa55)]['digVolumeName']||this['_map'][_0x3af937(_0x40b6bb._0x48804c,0xa6e)]('_挖方体积'))+':'+this['_measured'][_0x3af937(0x615,_0x40b6bb._0x3c42cc)]+'\x0a');this['showArea']&&this['_measured']['totalArea']>0x0&&(this['_measured']['totalAreaStr']=formatArea(this[_0x2c85c2(0x2f3,-0x720)]['totalArea'],_0x595ec9),_0x14470b+=(this[_0x3af937(0x6b5,_0x40b6bb._0x3f8582)]['areaName']||this['_map']['getLangText'](_0x2c85c2(0x4c7,-0x294)))+':'+this['_measured']['totalAreaStr']);function _0x2c85c2(_0x2fbf14,_0x494d3b){return _0x7afdbe(_0x494d3b,_0x2fbf14- -_0x2bfac3._0x26e909);}this['_measureLable'][_0x3af937(0xf00,_0x40b6bb._0x4d448f)]=_0x14470b;}['calcVolume'](_0x26791){const _0x43d9b0={_0x55dec7:0x181,_0x18dadc:0x2fa,_0x9051ca:0x513},_0x25921f={_0x15a3ef:0xb0f,_0x5e6587:0xe,_0x1022f9:0xe0e,_0xf8f31a:0xd84},_0x2d5308={_0x2f35e1:0x2ca};function _0x43f8e5(_0x53c280,_0x4f28d9){return _0x54a7f1(_0x4f28d9- -0x192,_0x53c280);}if(!this['_map']||!_0x26791||_0x26791['length']<0x3)return;this['fire'](EventType['start'],{'mtype':this['type'],'sourceTarget':this,'positions':_0x26791},!![]),this[_0x43f8e5(_0x43d9b0._0x55dec7,0xbec)]=!![];const _0x51836e={'positions':_0x26791,'scene':this[_0x473ac8(0x509,_0x43d9b0._0x18dadc)]['scene'],'exact':!![],...this['options']};function _0x473ac8(_0x1dd625,_0x315994){return _0x54a7f1(_0x1dd625- -_0x2d5308._0x2f35e1,_0x315994);}interPolygon(_0x51836e)[_0x473ac8(0x2e9,-_0x43d9b0._0x9051ca)](_0x365a0f=>{if(!this[_0x1c129c(0x564,0xa5)]||!this[_0x1c129c(_0x25921f._0x15a3ef,0x66c)])return;function _0x1c129c(_0x699d09,_0x2e2af1){return _0x473ac8(_0x699d09-0x5b,_0x2e2af1);}function _0x32daf3(_0x2b61b7,_0x9d8e45){return _0x43f8e5(_0x9d8e45,_0x2b61b7- -0xdf);}if(_0x365a0f['has3dtiles'])this['_map']['scene'][_0x32daf3(_0x25921f._0x5e6587,0x16)]['depthTestAgainstTerrain']=![];else!this['_map'][_0x1c129c(0xe10,0xe1b)]['globe']['depthTestAgainstTerrain']&&(this[_0x1c129c(0x564,0xb9a)][_0x32daf3(_0x25921f._0x1022f9,_0x25921f._0xf8f31a)]['globe']['depthTestAgainstTerrain']=!![],this[_0x1c129c(0xc33,0xeaf)]=!![]);this['showVolume'](_0x26791,_0x365a0f);});}[_0x7afdbe(0x126,0x51e)](_0x1a2a3a,_0x45b81d){const _0x420578={_0x477cae:0xa62,_0x44d2ae:0x386,_0x4674f1:0xbaf,_0x5252f5:0xf4,_0x62d16b:0xfe3,_0x2fcc31:0xdc5,_0x2995b5:0x7b3,_0x3e429d:0x40f,_0x525532:0x108d,_0x5c3023:0xe78,_0x396dff:0x145e,_0xff08c1:0xca4,_0x8f55c8:0x40f,_0x273765:0xe31,_0x39d8d1:0x456,_0x4814e7:0xb2,_0x29b0cb:0x6e0,_0x55609d:0x1098,_0x30a06:0x130e,_0xc2cf0d:0x9f1,_0x5bf60d:0x71d,_0x5cbedc:0x9de,_0x33c5f6:0x6af,_0x1ddf6a:0x69f,_0x2e5396:0x4cd,_0x52dcd5:0x51,_0x1248ce:0x324,_0x7429aa:0x83e,_0x263b0c:0x17a5,_0x376184:0x123d,_0x380cb5:0x5c2,_0x548d3e:0xcbb,_0x2234d9:0x731,_0x1447d1:0x285,_0x168c5d:0xc75,_0x36abf1:0xa36,_0x19d9f9:0x80c},_0x3efece={_0x1181d9:0x36c};var _0xb1eaa6;this['_jzmHeight']=this[_0x31db1f(_0x420578._0x477cae,_0x420578._0x44d2ae)][_0x340b05(0x2fb,0x184)]??_0x45b81d['minHeight'];this['_jzmHeight']<_0x45b81d[_0x340b05(_0x420578._0x4674f1,_0x420578._0x5252f5)]&&(_0x45b81d['minHeight']=this['_jzmHeight']);this[_0x340b05(_0x420578._0x62d16b,0xfa8)]=updateVolumeByMinHeight(_0x45b81d),this['_minHeight']=this[_0x31db1f(_0x420578._0x477cae,_0x420578._0x2fcc31)][_0x31db1f(0x10cd,0x108b)]??this['interPolygonObj']['minHeight'],this[_0x31db1f(0x1160,_0x420578._0x2995b5)]=this['options'][_0x31db1f(_0x420578._0x3e429d,0x636)]??this[_0x31db1f(0x1501,_0x420578._0x525532)]['maxHeight'];const _0x3a100b=Math[_0x31db1f(0xaa4,_0x420578._0x5c3023)](0.3*Cesium__namespace[_0x31db1f(_0x420578._0x396dff,0x17f8)][_0x31db1f(0xe31,0x1730)](_0x45b81d[_0x340b05(_0x420578._0xff08c1,0x72c)],this['ellipsoid']['maximumRadius']));this['_maxHeight']-this['_minHeight']<_0x3a100b&&(this['_maxHeight']=this['_minHeight']+_0x3a100b);const _0x427675=updateVolume(this['interPolygonObj'],this['height']);for(const _0x50d972 in _0x427675){this['_measured'][_0x50d972]=_0x427675[_0x50d972];}this[_0x340b05(0x868,0xea1)]();function _0x340b05(_0x398f40,_0x5587d0){return _0x54a7f1(_0x398f40- -_0x3efece._0x1181d9,_0x5587d0);}this['_measureLable']['position']=centerOfMass(_0x1a2a3a,this[_0x340b05(0xfe3,0xad9)][_0x31db1f(_0x420578._0x8f55c8,_0x420578._0x273765)]);this[_0x31db1f(0xd2e,_0x420578._0x39d8d1)]&&this[_0x340b05(-_0x420578._0x4814e7,-0x31b)](_0x1a2a3a,this['interPolygonObj'][_0x31db1f(0x10cd,0x1a81)]);this['_entity'][_0x31db1f(0x967,0x703)]=!![],this[_0x31db1f(_0x420578._0x29b0cb,_0x420578._0x55609d)][_0x31db1f(_0x420578._0x30a06,0x185c)]=![],this[_0x31db1f(_0x420578._0x29b0cb,_0x420578._0xc2cf0d)]['hierarchy']=new Cesium__namespace[(_0x31db1f(_0x420578._0x5bf60d,0xee2))](_0x1a2a3a),this['entityGraphic']['height']=new Cesium__namespace[(_0x340b05(_0x420578._0x5cbedc,_0x420578._0x33c5f6))](_0x17067e=>{return this['height'];},![]);function _0x31db1f(_0x366c7d,_0x495382){return _0x54a7f1(_0x366c7d-0x1b2,_0x495382);}const _0x3ae839=PolygonStyleConver[_0x31db1f(0xf8b,0x8df)](this['polygonWallStyle'],{},!![]);_0x3ae839['hierarchy']=new Cesium__namespace['PolygonHierarchy'](_0x1a2a3a);Cesium__namespace[_0x340b05(0x1315,0x18fe)](this['_wallEntity'])&&this[_0x31db1f(0xbe7,0x14c8)]['entities'][_0x340b05(0x422,_0x420578._0x1ddf6a)](this[_0x31db1f(_0x420578._0x2e5396,0x1f9)]);this[_0x340b05(-_0x420578._0x52dcd5,0xe7)]=this['dataSource']['entities'][_0x340b05(_0x420578._0x1248ce,_0x420578._0x7429aa)]({'polygon':_0x3ae839,'show':this[_0x31db1f(_0x420578._0x263b0c,_0x420578._0x376184)]}),this['_wallEntity']['_noMousePick']=!![],this['bindPickId'](this['_wallEntity']);const _0xaab23a={..._0x427675};_0xaab23a['sourceTarget']=this,_0xaab23a[_0x31db1f(0xdf5,_0x420578._0x380cb5)]=this[_0x31db1f(0x9e8,_0x420578._0x548d3e)],_0xaab23a[_0x340b05(0x25c,_0x420578._0x2234d9)]=this;const _0x5052be=_0xaab23a;this['fire'](EventType[_0x340b05(_0x420578._0x1447d1,0xc05)],_0x5052be,!![]),this[_0x340b05(0xb4c,_0x420578._0x168c5d)](EventType['end'],_0x5052be,!![]),(_0xb1eaa6=this['_promise'])!==null&&_0xb1eaa6!==void 0x0&&_0xb1eaa6['resolve']&&this[_0x31db1f(0x435,0x6ff)][_0x340b05(_0x420578._0x36abf1,_0x420578._0x19d9f9)](this);}['showPointHeightLabel'](_0x319182,_0x3d9d52){const _0x231228={_0x2b5233:0xb67,_0x509c02:0x91a,_0x4a6133:0x17a,_0x2e2bc8:0x1ac1,_0x5c1029:0x103d,_0x3d914a:0x95b},_0x1a91d0={_0x4ad561:0xfed,_0x561980:0x4bb,_0x446202:0xccc,_0x5c2ef4:0xf99,_0x3f3532:0x677,_0x1892c5:0x99b,_0x5eb3e5:0xd0a,_0x47cafc:0x129a,_0x10e06a:0x949,_0x592eb1:0x76c},_0x2da055=this;if(Cesium__namespace['defined'](this[_0x2c4cb4(0xbd6,0xbb4)])&&this[_0x2569c5(_0x231228._0x2b5233,0x6b3)]['length']>0x0){const _0x12ea0a=this['_arrPartMeasureLable'];if(_0x12ea0a&&_0x12ea0a['length']>0x0)for(let _0x541b80=0x0,_0x3a794e=_0x12ea0a['length'];_0x541b80<_0x3a794e;_0x541b80++){this['_removeLabel'](_0x12ea0a[_0x541b80]);}delete this['_arrPartMeasureLable'];}function _0x2c4cb4(_0x2cd17e,_0x393b2e){return _0x7afdbe(_0x2cd17e,_0x393b2e- -0x1e4);}const _0x56784f=[];for(let _0x13841c=0x0;_0x13841c<_0x319182[_0x2569c5(0xbd8,0xace)];_0x13841c++){const _0x998514=Cesium__namespace[_0x2c4cb4(0x12e1,_0x231228._0x509c02)][_0x2569c5(-0x92b,-_0x231228._0x4a6133)](_0x319182[_0x13841c]),_0x11d7e0={};_0x11d7e0['original']=!![];const _0x483845=Math[_0x2c4cb4(0x9b,0xb54)](getHeight(this['_map']['scene'],_0x998514,_0x11d7e0),_0x3d9d52),_0x3d532f=Cesium__namespace['Cartesian3'][_0x2c4cb4(0x100c,0x13b2)](_0x998514[_0x2c4cb4(0x817,0x6f2)],_0x998514['latitude'],_0x483845),_0x177e4c=this['_createLabel'](this['labelHeightStyle'],_0x3d532f),_0x3dd205={};_0x3dd205[_0x2569c5(_0x231228._0x2e2bc8,_0x231228._0x5c1029)]=_0x483845,_0x177e4c['attr']=_0x3dd205,_0x56784f[_0x2569c5(_0x231228._0x3d914a,0xa51)](_0x177e4c),_0x177e4c['showText']=function(){function _0x1bb94c(_0xa3a81,_0x47bbca){return _0x2569c5(_0x47bbca,_0xa3a81-0x67f);}const _0x341595=this['attr']['value'];let _0x4e57d7=_0x2da055['_map']['getLangText']('_海拔')+':'+_0x341595[_0x1a5f91(_0x1a91d0._0x4ad561,0xe11)](0x2)+_0x2da055['_map']['getLangText']('_米');function _0x1a5f91(_0x8cdef5,_0xe63264){return _0x2569c5(_0x8cdef5,_0xe63264-0x19f);}if(_0x2da055['offsetLabel']){const _0x3c00c9=_0x341595-_0x2da055['height'];_0x3c00c9>0x0?_0x4e57d7+='\x0a'+_0x2da055[_0x1a5f91(0xe24,_0x1a91d0._0x561980)][_0x1a5f91(_0x1a91d0._0x446202,0xd0a)]('_高度')+':'+_0x3c00c9['toFixed'](0x2)+_0x2da055['_map']['getLangText']('_米')+'('+_0x2da055[_0x1a5f91(0x12c,_0x1a91d0._0x561980)][_0x1bb94c(0x11ea,0x106c)](_0x1a5f91(_0x1a91d0._0x5c2ef4,_0x1a91d0._0x3f3532))+')':_0x4e57d7+='\x0a'+_0x2da055[_0x1bb94c(_0x1a91d0._0x1892c5,0x831)][_0x1a5f91(0x1350,_0x1a91d0._0x5eb3e5)]('_高度')+':'+Math[_0x1bb94c(_0x1a91d0._0x47cafc,_0x1a91d0._0x10e06a)](_0x3c00c9)['toFixed'](0x2)+_0x2da055[_0x1bb94c(_0x1a91d0._0x1892c5,0x197)]['getLangText']('_米')+'('+_0x2da055[_0x1a5f91(0x3f2,0x4bb)]['getLangText'](_0x1a5f91(_0x1a91d0._0x592eb1,0x11c6))+')';}return this['text']=_0x4e57d7,_0x4e57d7;},_0x177e4c['showText']();}function _0x2569c5(_0x282682,_0x4aab1d){return _0x54a7f1(_0x4aab1d- -0x4b7,_0x282682);}this['_arrPartMeasureLable']=_0x56784f;}}register$5(_0x7afdbe(0x13b2,0xf9d),VolumeMeasure);class VolumeDepthMeasure extends AreaMeasure{constructor(_0x296fdc={}){const _0x12c250={_0xba4fc9:0x12b1,_0xa785e:0x147c,_0x4b8682:0x134,_0x4dee31:0xaa7,_0x565ac0:0xf0c,_0x12f7d2:0x104,_0x346e83:0xeda,_0x51f788:0x8ee,_0x27032c:0x1076,_0x55ae58:0xb87,_0x43445d:0xf75};super(_0x296fdc);_0x296fdc['_promise']&&(this['_promise']=_0x296fdc[_0x4e63db(0x47a,0xc9d)],delete _0x296fdc[_0x1aaf1e(-0x1c1,0x6e)]);this['labelHeightStyle']={...this['options'][_0x4e63db(_0x12c250._0xba4fc9,0xfa2)],'font_size':0xf,'background':![]};Cesium__namespace['defined'](_0x296fdc['labelHeight'])&&(this[_0x1aaf1e(0xdb8,0x12d7)]={...this['labelHeightStyle'],..._0x296fdc['labelHeight']});this['_digBoxColor']=Cesium__namespace[_0x1aaf1e(0xc17,0x157b)]['fromColor'](getCesiumColor(_0x296fdc[_0x4e63db(0x18f3,_0x12c250._0xa785e)]??_0x1aaf1e(0x10f2,0xca2))),this['_fillBoxColor']=Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](getCesiumColor(_0x296fdc['fillBoxColor']??_0x1aaf1e(_0x12c250._0x4b8682,0x8db))),this[_0x4e63db(_0x12c250._0x4dee31,0x16e)]['offsetHeight']=this[_0x1aaf1e(0x46c,0xec6)]['offsetHeight']??0x0,this[_0x1aaf1e(0x83a,_0x12c250._0x565ac0)]={'color':'#00ff00','opacity':0.3,'closeTop':![],'closeBottom':!![],'perPositionHeight':![],'height':new Cesium__namespace['CallbackProperty'](_0x46fd86=>{return this['minHeight'];},![]),'extrudedHeight':new Cesium__namespace['CallbackProperty'](_0x4261db=>{return this['maxHeight'];},![])};Cesium__namespace['defined'](_0x296fdc['polygonWall'])&&(this['polygonWallStyle']={...this['polygonWallStyle'],..._0x296fdc[_0x1aaf1e(0xcb6,0x1075)]});this['heightLabel']=_0x296fdc['heightLabel']??!![],this[_0x1aaf1e(0x10d4,0x635)]=_0x296fdc['offsetLabel']??![],this[_0x1aaf1e(0x6fc,-_0x12c250._0x12f7d2)]=_0x296fdc[_0x1aaf1e(0x6fc,_0x12c250._0x346e83)]??!![];function _0x1aaf1e(_0x31a61a,_0x50b87c){return _0x54a7f1(_0x31a61a- -0x444,_0x50b87c);}function _0x4e63db(_0xc2c954,_0x4e6487){return _0x7afdbe(_0x4e6487,_0xc2c954- -0x37);}this['showFillVolume']=_0x296fdc['showFillVolume']??!![],this[_0x4e63db(0xf29,0x983)]=_0x296fdc[_0x1aaf1e(_0x12c250._0x51f788,_0x12c250._0x27032c)]??!![],this[_0x4e63db(_0x12c250._0x55ae58,0x5fa)]=_0x296fdc['showFillBox']??!![],this[_0x1aaf1e(0x83c,0x4e5)]=_0x296fdc['showDigBox']??!![],this['_showPoly']=_0x296fdc['showPoly']??!![],this['_showWall']=_0x296fdc['showWall']??![],this[_0x4e63db(_0x12c250._0x43445d,0x18ea)]=![];}get['hasEdit'](){return![];}get['polygonMaxHeight'](){const _0x26549c={_0x2e01e9:0x257};function _0x57b5e9(_0x3428d8,_0x58aea3){return _0x54a7f1(_0x58aea3- -0x6,_0x3428d8);}return this['_measured']?this['_measured'][_0x57b5e9(0x1b1,_0x26549c._0x2e01e9)]:this['maxHeight'];}get['height'](){const _0x1cdbd4={_0x124461:0x6b1};function _0x319ccd(_0x49a132,_0x282e63){return _0x7afdbe(_0x282e63,_0x49a132- -0x3db);}return this[_0x319ccd(_0x1cdbd4._0x124461,0x7e1)];}set[_0x54a7f1(0x667,0x960)](_0x1fa5a6){const _0x34ee45={_0x6bba5c:0xd53,_0x235190:0x9fc,_0x5d11ff:0xe37,_0x24defb:0x5bc,_0x3a6dd3:0x1603,_0x313423:0xbbb},_0x50357d={_0x6786c1:0x19c};this[_0x14ee1a(-0x1db,0x6f0)]=_0x1fa5a6;function _0x14ee1a(_0x1cf348,_0x212d59){return _0x54a7f1(_0x212d59- -0x16e,_0x1cf348);}function _0x19fc77(_0x1f3e51,_0xe4574d){return _0x54a7f1(_0x1f3e51- -_0x50357d._0x6786c1,_0xe4574d);}_0x1fa5a6>this['maxHeight']&&(this[_0x19fc77(0xc1,-0x36a)]=_0x1fa5a6);_0x1fa5a6<this['minHeight']&&(this['minHeight']=_0x1fa5a6);if(!this['_hasFX'])return;this['updateVolume'](),this['updateText']();if(this['_arrPartMeasureLable'])for(let _0x363f74=0x0;_0x363f74<this['_arrPartMeasureLable']['length'];_0x363f74++){this[_0x14ee1a(_0x34ee45._0x6bba5c,_0x34ee45._0x235190)][_0x363f74][_0x14ee1a(_0x34ee45._0x5d11ff,0x14f8)]();}const _0x314dfc={...this[_0x19fc77(_0x34ee45._0x24defb,0x4c)]};_0x314dfc[_0x19fc77(_0x34ee45._0x3a6dd3,_0x34ee45._0x313423)]=this,_0x314dfc['mtype']=this[_0x19fc77(0x69a,0x9c4)],_0x314dfc['graphic']=this;const _0x309237=_0x314dfc;this['fire'](EventType[_0x14ee1a(0xc34,0x483)],_0x309237,!![]);}get['minHeight'](){const _0x3dc0ed={_0x58e0d2:0x24e};function _0x1f9674(_0xa70806,_0x5d95a9){return _0x54a7f1(_0xa70806-_0x3dc0ed._0x58e0d2,_0x5d95a9);}return this[_0x1f9674(0xdc4,0x161a)]||0x0;}set['minHeight'](_0x387066){const _0x306b0b={_0x2dacca:0x11b7,_0xba3278:0x10c3,_0x7ace06:0x146d,_0x349394:0x504,_0x1297f7:0x773};this['_minHeight']=_0x387066;if(!this[_0x6e9726(_0x306b0b._0x2dacca,0xa4c)])return;this['_measured']&&(this[_0xae8a36(0x10d5,0x903)]['minHeight']=_0x387066,this['updateVolume']());this['updateText']();function _0xae8a36(_0x4add88,_0x374714){return _0x7afdbe(_0x4add88,_0x374714- -0x83);}const _0x58f742={...this['_measured']};_0x58f742[_0x6e9726(_0x306b0b._0xba3278,_0x306b0b._0x7ace06)]=this,_0x58f742['mtype']=this[_0x6e9726(-0x33e,_0x306b0b._0x349394)];function _0x6e9726(_0x3c9e45,_0xf0bbeb){return _0x7afdbe(_0x3c9e45,_0xf0bbeb- -0x560);}_0x58f742[_0xae8a36(0x8a,_0x306b0b._0x1297f7)]=this;const _0x25f285=_0x58f742;this[_0x6e9726(0x2ba,0xb86)](EventType['change'],_0x25f285,!![]);}get[_0x7afdbe(-0x416,0x48b)](){return this['_maxHeight']||0x0;}set['maxHeight'](_0x5cefbe){const _0x4f28a8={_0x6a24:0xbf5,_0xa2436e:0xacd,_0x2fc676:0x605,_0x43709a:0x4b3,_0x9b21b7:0x141d},_0x278cb9={_0x5913ad:0x722};this[_0x365e09(_0x4f28a8._0x6a24,0xaba)]=_0x5cefbe;if(!this[_0x2c12a0(0xb07,0x13dc)])return;this[_0x2c12a0(0x4e1,0xa1b)]&&(this['_measured'][_0x2c12a0(-0x1a,-_0x4f28a8._0xa2436e)]=_0x5cefbe,this[_0x2c12a0(_0x4f28a8._0x2fc676,_0x4f28a8._0x43709a)]());this['updateText']();function _0x365e09(_0x380eac,_0x11392a){return _0x7afdbe(_0x380eac,_0x11392a- -_0x278cb9._0x5913ad);}const _0x132816={...this['_measured']};_0x132816['sourceTarget']=this,_0x132816['mtype']=this['type'],_0x132816['graphic']=this;function _0x2c12a0(_0x4e965e,_0x427575){return _0x54a7f1(_0x4e965e- -0x277,_0x427575);}const _0x550420=_0x132816;this[_0x365e09(_0x4f28a8._0x9b21b7,0x9c4)](EventType['change'],_0x550420,!![]);}get['showFillBox'](){return this['_showFillBox'];}set['showFillBox'](_0x32eaed){const _0x153821={_0x175bc2:0x1140},_0x11dc0d={_0x3651f5:0x18d};this['_showFillBox']=_0x32eaed;function _0x5e488c(_0x513205,_0xaeff27){return _0x54a7f1(_0xaeff27- -_0x11dc0d._0x3651f5,_0x513205);}this[_0x5e488c(_0x153821._0x175bc2,0x6ef)]();}get['showDigBox'](){return this['_showDigBox'];}set[_0x54a7f1(0x888,0x9e8)](_0x3855e2){this['_showDigBox']=_0x3855e2,this['updateVolume']();}['_removeMeasureLabelAndEx'](){const _0x168cb6={_0x1a372b:0xba7,_0x19a7c3:0xc81,_0x3a0394:0x1760,_0x1d7455:0x1484,_0x9e3c7e:0x4d0,_0x262e7d:0x4ba,_0x44c324:0x5c0,_0x269fc1:0x3e8,_0x54d816:0x62d};super[_0x39710f(_0x168cb6._0x1a372b,0x29e)](),this[_0x5da124(0x1644,_0x168cb6._0x19a7c3)]();function _0x5da124(_0xdec1c7,_0x63322e){return _0x7afdbe(_0xdec1c7,_0x63322e- -0x3fc);}function _0x39710f(_0x169a01,_0x8a4514){return _0x7afdbe(_0x169a01,_0x8a4514- -0x42b);}Cesium__namespace[_0x39710f(_0x168cb6._0x3a0394,_0x168cb6._0x1d7455)](this['_wallEntity'])&&(this[_0x5da124(_0x168cb6._0x9e3c7e,0x867)]['entities'][_0x39710f(-_0x168cb6._0x262e7d,0x591)](this['_wallEntity']),delete this[_0x5da124(0x585,0x14d)]),this['_primitive_boxs']&&(this[_0x39710f(0x145e,0x1430)]['primitiveCollection'][_0x5da124(0x93a,_0x168cb6._0x44c324)](this[_0x39710f(_0x168cb6._0x269fc1,_0x168cb6._0x54d816)]),delete this['_primitive_boxs']);}['_drawCreatedHandler'](_0x360e82){const _0x4e6d77={_0x1ba154:0x3eb},_0x565657={_0x5e82bc:0x592};clearTimeout(this['_cache_timeTik']);function _0x4444(_0x4d3c90,_0x275333){return _0x7afdbe(_0x4d3c90,_0x275333- -0x3a5);}function _0x82099a(_0x3c98a4,_0x242e39){return _0x7afdbe(_0x242e39,_0x3c98a4- -_0x565657._0x5e82bc);}this[_0x4444(-0x125,_0x4e6d77._0x1ba154)][_0x82099a(0xd97,0x92e)]=this['_map']['getLangText']('_正在计算体积')+'…';const _0x335cd3=this['positionsShow'];(_0x335cd3===null||_0x335cd3===void 0x0?void 0x0:_0x335cd3['length'])>0x3&&(this['_cache_timeTik']=setTimeout(()=>{const _0xf39a62={_0x45548a:0x389};function _0xbb88be(_0x41d8fe,_0x716b6f){return _0x82099a(_0x41d8fe-_0xf39a62._0x45548a,_0x716b6f);}this[_0xbb88be(0xb0f,0x1311)](_0x335cd3);},0x64));}[_0x7afdbe(0xc81,0xbc1)](_0x3e32a9){this['_drawCreatedHandler'](_0x3e32a9);}['updateText'](_0x431e30){const _0x3ca3be={_0x4facca:0xa48,_0x10cc14:0x98a,_0x4b5521:0x692,_0x3d47db:0x5d4,_0x4749a6:0x6e,_0x3845a0:0x8ea,_0x594a45:0xff4,_0xc30c1:0xbc,_0x188970:0x11ff,_0xb84e7b:0x8ea,_0xa2d141:0x560,_0x22247f:0x1216,_0x3fcca0:0x1293},_0x3d6f4e={_0x1ee054:0x3ef,_0x3e0e0d:0xa1};_0x431e30&&(this[_0x57a25e(_0x3ca3be._0x4facca,0x132d)]['unit']=_0x431e30);const _0x535c81={'unit':this[_0x3732fb(0xdfb,_0x3ca3be._0x10cc14)][_0x57a25e(0x59d,0xe30)],'getLangText':_0x1761d6=>{const _0x4e3287={_0x2dac27:0x57c};function _0x15b79c(_0x1ecb69,_0x1b7df6){return _0x3732fb(_0x1ecb69,_0x1b7df6- -0x3b4);}function _0x4d410d(_0x387ec5,_0x289054){return _0x57a25e(_0x387ec5- -_0x4e3287._0x2dac27,_0x289054);}return this[_0x4d410d(_0x3d6f4e._0x1ee054,_0x3d6f4e._0x3e0e0d)][_0x4d410d(0xc3e,0x3cf)](_0x1761d6);},'decimal':this['options'][_0x57a25e(0xe62,0x6ef)]};let _0xdd16b='';if(this[_0x3732fb(0x1746,0x1508)]){var _0x2521e8;const _0x11afd0=((_0x2521e8=this['options']['measured'])===null||_0x2521e8===void 0x0?void 0x0:_0x2521e8[_0x57a25e(_0x3ca3be._0x4b5521,0x96b)])??this['_measured'][_0x3732fb(0xf09,_0x3ca3be._0x3d47db)];this['_measured']['fillVolumeStr']=formatVolume(_0x11afd0,_0x535c81),_0xdd16b+=(this[_0x57a25e(_0x3ca3be._0x4facca,0x94)]['fillVolumeName']||this['_map'][_0x57a25e(0x11ba,0xb6e)]('_填方体积'))+':'+this['_measured']['fillVolumeStr']+'\x0a';}function _0x57a25e(_0x1985d7,_0x21ea29){return _0x7afdbe(_0x21ea29,_0x1985d7- -0x96);}function _0x3732fb(_0x627a0a,_0x578183){return _0x54a7f1(_0x578183-0xda,_0x627a0a);}if(this[_0x3732fb(0xf28,0xe0c)]){var _0x9c48f2;const _0x143bde=((_0x9c48f2=this['options'][_0x57a25e(0xc6e,0xbbd)])===null||_0x9c48f2===void 0x0?void 0x0:_0x9c48f2['digVolume'])??this['_measured']['digVolume'];this[_0x57a25e(0x8f0,_0x3ca3be._0x4749a6)][_0x3732fb(0xb3d,_0x3ca3be._0x3845a0)]=formatVolume(_0x143bde,_0x535c81),_0xdd16b+=(this[_0x3732fb(_0x3ca3be._0x594a45,0x98a)][_0x57a25e(0x4ba,_0x3ca3be._0xc30c1)]||this['_map']['getLangText']('_挖方体积'))+':'+this['_measured'][_0x3732fb(_0x3ca3be._0x188970,_0x3ca3be._0xb84e7b)]+'\x0a';}if(this['showArea']){var _0x7502d3;const _0x1494e5=((_0x7502d3=this[_0x3732fb(0x2a4,0x98a)][_0x3732fb(0xdea,0xbb0)])===null||_0x7502d3===void 0x0?void 0x0:_0x7502d3['totalArea'])??this['_measured']['totalArea'];this[_0x57a25e(0x8f0,_0x3ca3be._0xa2d141)][_0x3732fb(0x143e,_0x3ca3be._0x22247f)]=formatArea(_0x1494e5,_0x535c81),_0xdd16b+=(this[_0x3732fb(0x6b0,_0x3ca3be._0x10cc14)]['areaName']||this['_map'][_0x57a25e(0x11ba,0x1b63)]('_横切面积'))+':'+this[_0x57a25e(0x8f0,0xed9)][_0x57a25e(0x12d4,0x1d10)];}this['_measureLable'][_0x57a25e(_0x3ca3be._0x3fcca0,0x14aa)]=_0xdd16b;}['calcVolume'](_0x4685f3){const _0x5eb2ef={_0x37d31e:0x4c6,_0x1df6ce:0x16e,_0x1353f2:0x3d1,_0x1a71a5:0x1138,_0x3279e6:0x11dd,_0x268c3c:0xf0f,_0x5507a4:0x769,_0x1b23c3:0x10e4,_0x2ab6ce:0x1a57,_0x52bb27:0xbc4,_0x100e73:0x44b},_0x5d40f4={_0x395f55:0xea8,_0x2ae355:0x14c1,_0x329230:0xc07,_0x4e25ed:0xb03,_0x55862d:0xea8,_0x46b251:0x1288,_0x3d2c34:0xb48,_0x360f6d:0xc8a,_0x3cdf26:0x15ee,_0x1e8bd2:0x1580,_0x46e9df:0x72b,_0x176fc6:0xe31,_0x205ec5:0xc0b,_0x4aad62:0xd3d,_0xb9f805:0x266,_0x2d5afb:0x7b0,_0x29fcb6:0x316,_0x3e9c4c:0x26f,_0x1289af:0xa5,_0x351240:0x27e,_0x4eb9e1:0x20b};if(!this['_map'])return;this[_0x14c9b4(0xa53,0x293)](EventType[_0x14c9b4(_0x5eb2ef._0x37d31e,_0x5eb2ef._0x1df6ce)],{'mtype':this[_0x14c9b4(_0x5eb2ef._0x1353f2,-0x1c1)],'sourceTarget':this,'positions':_0x4685f3},!![]);function _0x57a643(_0x4ca67d,_0x5c9707){return _0x54a7f1(_0x4ca67d- -0x4bb,_0x5c9707);}this['_hasFX']=!![],this['_measureLable']['show']=![],this['_entity'][_0x57a643(_0x5eb2ef._0x1a71a5,0x197a)]=![];if(this[_0x57a643(0x10f7,_0x5eb2ef._0x3279e6)])for(let _0x4b95c4=0x0,_0x4a4b2d=this[_0x14c9b4(0x114d,_0x5eb2ef._0x268c3c)][_0x14c9b4(0xb20,0x5d8)];_0x4b95c4<_0x4a4b2d;_0x4b95c4++){const _0x92e7b6=this[_0x57a643(0x10f7,_0x5eb2ef._0x5507a4)][_0x4b95c4][_0x57a643(0x973,0xc27)];_0x92e7b6[_0x14c9b4(0x118e,_0x5eb2ef._0x1b23c3)]=![];}this['_primitive_boxs']&&(this[_0x14c9b4(0x11c8,_0x5eb2ef._0x2ab6ce)]['primitiveCollection']['remove'](this['_primitive_boxs']),delete this['_primitive_boxs']);function _0x14c9b4(_0x7bfa34,_0x2ce7a8){return _0x7afdbe(_0x2ce7a8,_0x7bfa34- -0x693);}const _0x1585b9={};_0x1585b9[_0x57a643(_0x5eb2ef._0x52bb27,0x1401)]=this['_map']['scene'],_0x1585b9['positions']=_0x4685f3,_0x1585b9['splitNum']=this[_0x14c9b4(_0x5eb2ef._0x100e73,0x3ba)]['splitNum'],_0x1585b9['cameraHeight']=this[_0x14c9b4(_0x5eb2ef._0x100e73,0xc3)]['cameraHeight'],interPolygonByDepth(_0x1585b9)['then'](_0x195afa=>{var _0x29cdc1;if(this[_0x32aa12(0x34f,0x212)])return;function _0x32aa12(_0x40bba5,_0x5924f4){return _0x57a643(_0x40bba5-0x448,_0x5924f4);}this[_0x32aa12(0x6e5,-0x1f)]=_0x195afa,this['_jzmHeight']=this['options']['height']??_0x195afa['minHeight'];this[_0x32aa12(0x7eb,0x89b)]<_0x195afa[_0x32aa12(_0x5d40f4._0x395f55,_0x5d40f4._0x2ae355)]&&(_0x195afa['minHeight']=this[_0x32aa12(0x7eb,_0x5d40f4._0x329230)]);this['_measured']=this['updateVolume'](_0x195afa),this[_0x32aa12(_0x5d40f4._0x4e25ed,0xcc8)]=this['options'][_0x32aa12(_0x5d40f4._0x55862d,0x82e)]??this['_measured'][_0x32aa12(0xea8,_0x5d40f4._0x46b251)],this['_maxHeight']=this[_0x32aa12(0x83d,_0x5d40f4._0x3d2c34)]['maxHeight']??this[_0x32aa12(0x6e5,_0x5d40f4._0x360f6d)]['maxHeight'];function _0x111f2f(_0x1e18e0,_0x516a67){return _0x57a643(_0x1e18e0-0x4b6,_0x516a67);}this['updateText'](),this['_measureLable'][_0x111f2f(0x16dc,0xecc)]=centerOfMass(_0x4685f3,this[_0x111f2f(0xfa9,0x16fa)]),this['_measureLable']['show']=this[_0x111f2f(_0x5d40f4._0x3cdf26,0x1ec8)];this[_0x111f2f(0xb77,0x122d)]&&this['addPointHeightLabel'](_0x4685f3,this[_0x111f2f(0xb71,0x150e)]);if(this[_0x111f2f(0xbfa,0xf8a)]){this['_entity']['show']=!![];if(this['_entity_outlines'])for(let _0x1a0f96=0x0,_0x12f69a=this['_entity_outlines']['length'];_0x1a0f96<_0x12f69a;_0x1a0f96++){const _0x3f651c=this['_entity_outlines'][_0x1a0f96]['polyline'];_0x3f651c[_0x32aa12(_0x5d40f4._0x1e8bd2,0x15ff)]=!![];}this['_entity']['_noMousePick']=!![],this['entityGraphic']['perPositionHeight']=![],this['entityGraphic']['hierarchy']=new Cesium__namespace['PolygonHierarchy'](_0x4685f3),this['entityGraphic'][_0x111f2f(0x662,0xe0e)]=new Cesium__namespace[(_0x111f2f(0xd45,_0x5d40f4._0x46e9df))](_0x39e9d4=>{return this['height'];},![]);}if(this[_0x111f2f(_0x5d40f4._0x176fc6,0x18c8)]){const _0x4cf508=PolygonStyleConver['toCesiumVal'](this[_0x32aa12(_0x5d40f4._0x205ec5,0xc39)],{},!![]);_0x4cf508[_0x32aa12(0x16bb,_0x5d40f4._0x4aad62)]=new Cesium__namespace[(_0x111f2f(0x566,-0x308))](_0x4685f3);const _0x3d57f4={};_0x3d57f4[_0x111f2f(0x49f,0x520)]=_0x4cf508,this['_wallEntity']=this['dataSource'][_0x32aa12(0xc49,_0x5d40f4._0xb9f805)]['add'](_0x3d57f4),this['_wallEntity'][_0x111f2f(_0x5d40f4._0x2d5afb,0xd4b)]=!![],this['bindPickId'](this[_0x111f2f(_0x5d40f4._0x29fcb6,-_0x5d40f4._0x3e9c4c)]);}const _0x149d78={...this[_0x111f2f(0x753,_0x5d40f4._0x1289af)]};_0x149d78['sourceTarget']=this,_0x149d78['mtype']=this['type'],_0x149d78['graphic']=this;const _0x173129=_0x149d78;this['fire'](EventType['change'],_0x173129,!![]),this['fire'](EventType[_0x111f2f(0x6ee,0xfa3)],_0x173129,!![]),(_0x29cdc1=this['_promise'])!==null&&_0x29cdc1!==void 0x0&&_0x29cdc1[_0x32aa12(0xd2f,0x4c3)]&&this[_0x111f2f(_0x5d40f4._0x351240,-_0x5d40f4._0x4eb9e1)]['resolve'](this);});}['updateVolume'](_0x2adb1b){const _0x23a831={_0x33bbb7:0x8ac,_0x2cacf8:0xd1d,_0x393f3e:0x3ce,_0x1a8d7e:0x68d,_0x2ae730:0xddb,_0x4b1c0d:0x1246,_0x4d6506:0xc17,_0x8559be:0x1eb,_0x2a464d:0x1851,_0x4b9996:0x1f0,_0x3ac544:0xa03,_0x2596db:0x49d,_0x4a5fcf:0x929,_0x323f4a:0xd6e,_0x578df6:0x1732,_0x520c03:0xae3};!_0x2adb1b&&(_0x2adb1b=this[_0x271437(0x444,_0x23a831._0x33bbb7)]);const _0x344bcb=_0x2adb1b['minHeight'],_0x4a1d2e=_0x2adb1b['maxHeight'],_0x551d10=this[_0x256f3b(_0x23a831._0x2cacf8,0x376)];function _0x271437(_0x49ddbe,_0x5e0746){return _0x7afdbe(_0x5e0746,_0x49ddbe- -0x542);}const _0x441de3=_0x2adb1b[_0x256f3b(-_0x23a831._0x393f3e,0x129)][_0x271437(0x3d4,-_0x23a831._0x1a8d7e)];function _0x256f3b(_0x4157d9,_0x2a38be){return _0x7afdbe(_0x4157d9,_0x2a38be- -0x51f);}const _0x42b885=[],_0x1b8607=this['options']['offsetHeight'];let _0x35468e=0x0,_0x2c72d6=0x0;for(let _0x810a5b=0x0,_0x5319be=_0x2adb1b['count'];_0x810a5b<_0x5319be;_0x810a5b++){const _0x1b93dc=_0x2adb1b[_0x271437(_0x23a831._0x2ae730,_0x23a831._0x4b1c0d)][_0x810a5b];let _0x58811b=_0x1b93dc['height'];_0x58811b<_0x344bcb&&(_0x58811b=_0x344bcb);_0x58811b>_0x4a1d2e&&(_0x58811b=_0x4a1d2e);if(_0x58811b>_0x551d10){_0x35468e+=_0x441de3*(_0x58811b-_0x551d10);if(this['showDigBox']){const _0x2a2163=_0x1b93dc[_0x256f3b(0xbed,0x10d2)](),_0x1b8717={};_0x1b8717['color']=this['_digBoxColor'],_0x42b885[_0x256f3b(0x35c,_0x23a831._0x4d6506)](new Cesium__namespace[(_0x256f3b(0x92d,0xbe7))]({'geometry':new Cesium__namespace['PolygonOutlineGeometry']({'polygonHierarchy':new Cesium__namespace[(_0x256f3b(_0x23a831._0x8559be,0x27a))](_0x2a2163),'extrudedHeight':_0x58811b+_0x1b8607,'height':_0x551d10+_0x1b8607}),'attributes':_0x1b8717}));}}else{if(_0x58811b<_0x551d10){_0x2c72d6+=_0x441de3*(_0x551d10-_0x58811b);if(this['showFillBox']){const _0x43593e=_0x1b93dc['getOutline'](),_0x3e4532={};_0x3e4532[_0x271437(0xefe,_0x23a831._0x2a464d)]=this['_fillBoxColor'],_0x42b885['push'](new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['PolygonOutlineGeometry']({'polygonHierarchy':new Cesium__namespace[(_0x271437(0x257,_0x23a831._0x4b9996))](_0x43593e),'extrudedHeight':_0x551d10+_0x1b8607,'height':_0x58811b+_0x1b8607}),'attributes':_0x3e4532}));}}}}_0x2adb1b['digVolume']=_0x35468e,_0x2adb1b[_0x271437(0x1e6,_0x23a831._0x3ac544)]=_0x2c72d6;this['_primitive_boxs']&&(this[_0x256f3b(0xf2b,0x133c)]['primitiveCollection'][_0x256f3b(0x8de,_0x23a831._0x2596db)](this['_primitive_boxs']),delete this['_primitive_boxs']);if(_0x42b885['length']>0x0){const _0xd0a78={};_0xd0a78['lineWidth']=0x1;const _0x36b0e1={};_0x36b0e1['flat']=!![],_0x36b0e1[_0x271437(0xd7e,_0x23a831._0x4a5fcf)]=_0xd0a78,this[_0x256f3b(0x178,0x539)]=new Cesium__namespace[(_0x271437(_0x23a831._0x323f4a,_0x23a831._0x578df6))]({'geometryInstances':_0x42b885,'appearance':new Cesium__namespace['PerInstanceColorAppearance'](_0x36b0e1),'asynchronous':!![]}),this['_layer']['primitiveCollection'][_0x256f3b(_0x23a831._0x520c03,0x39f)](this[_0x271437(0x516,0x3d1)]),this['_primitive_boxs']['_noMousePick']=!![],this[_0x256f3b(0xcbe,0x105c)](this[_0x271437(0x516,0x7e)]);}return _0x2adb1b;}[_0x54a7f1(0x408,0xc04)](_0x1c4c72,_0x26fb64){const _0x659e96={_0x44d22b:0xbd7,_0x409cd7:0xee4,_0x25d6e5:0xf84,_0x48044a:0x16e1,_0x5a8176:0x19e,_0x30246d:0x94e,_0xa210f2:0x140f},_0x287ccd={_0x318fec:0x14f6,_0x227d45:0x43f,_0x5ba9c6:0x929,_0x1b1b9d:0x1aed,_0x2bf60c:0x2d3,_0x50133c:0x13e9,_0x115bec:0xc8e,_0x16387b:0x16},_0x482256={_0x53dbf9:0x6f8},_0x5bd6ff={_0xc7814d:0x278};this[_0x1a2c48(_0x659e96._0x44d22b,_0x659e96._0x409cd7)]();const _0x5bed7c=this;function _0x1a2c48(_0x117f4c,_0x590021){return _0x54a7f1(_0x117f4c- -_0x5bd6ff._0xc7814d,_0x590021);}const _0x5063ec=[];function _0x1006b7(_0x795484,_0x55a446){return _0x7afdbe(_0x55a446,_0x795484- -_0x482256._0x53dbf9);}for(let _0x2566a1=0x0;_0x2566a1<_0x1c4c72['length'];_0x2566a1++){const _0x13c9bf=Cesium__namespace['Cartographic'][_0x1006b7(-0x18d,-0x362)](_0x1c4c72[_0x2566a1]),_0x5b491d={};_0x5b491d['original']=!![];const _0x25ebb6=Math[_0x1006b7(0x640,0xf50)](getHeight(this['_map'][_0x1a2c48(0xe07,_0x659e96._0x25d6e5)],_0x13c9bf,_0x5b491d),_0x26fb64),_0xf2dc41=Cesium__namespace['Cartesian3'][_0x1a2c48(0x10f0,_0x659e96._0x48044a)](_0x13c9bf[_0x1a2c48(0x430,-_0x659e96._0x5a8176)],_0x13c9bf['latitude'],_0x25ebb6),_0x1dca0c=this['_createLabel'](this[_0x1006b7(0xd32,_0x659e96._0x30246d)],_0xf2dc41),_0x3e2749={};_0x3e2749['value']=_0x25ebb6,_0x1dca0c[_0x1a2c48(_0x659e96._0xa210f2,0x1486)]=_0x3e2749,_0x5063ec['push'](_0x1dca0c),_0x1dca0c['showText']=function(){function _0x5e78b7(_0x549e04,_0x4d5062){return _0x1a2c48(_0x4d5062- -0x11c,_0x549e04);}const _0x547769=this[_0x5e78b7(0x1599,0x12f3)][_0x53b687(0x1541,_0x287ccd._0x318fec)];function _0x53b687(_0x207fbf,_0x21dd20){return _0x1a2c48(_0x207fbf-0x2c5,_0x21dd20);}let _0x49400f=_0x5bed7c['_map']['getLangText']('_海拔')+':'+_0x547769[_0x53b687(0x1176,0x14c2)](0x2)+_0x5bed7c[_0x5e78b7(0x235,_0x287ccd._0x227d45)][_0x53b687(0x106f,_0x287ccd._0x5ba9c6)]('_米');if(_0x5bed7c[_0x53b687(0x1565,_0x287ccd._0x1b1b9d)]){const _0xa67770=_0x547769-_0x5bed7c[_0x5e78b7(0x7f5,_0x287ccd._0x2bf60c)];_0xa67770>0x0?_0x49400f+='\x0a'+_0x5bed7c['_map']['getLangText']('_高度')+':'+_0xa67770['toFixed'](0x2)+_0x5bed7c['_map'][_0x53b687(0x106f,_0x287ccd._0x50133c)]('_米')+'('+_0x5bed7c['_map'][_0x5e78b7(0x9d6,_0x287ccd._0x115bec)]('_面上')+')':_0x49400f+='\x0a'+_0x5bed7c[_0x53b687(0x820,0x218)]['getLangText']('_高度')+':'+Math['abs'](_0xa67770)['toFixed'](0x2)+_0x5bed7c['_map']['getLangText']('_米')+'('+_0x5bed7c[_0x5e78b7(_0x287ccd._0x16387b,0x43f)]['getLangText']('_面下')+')';}return this[_0x53b687(0x1148,0xb32)]=_0x49400f,_0x49400f;},_0x1dca0c[_0x1006b7(0x119c,0x13ce)]();}this['_arrPartMeasureLable']=_0x5063ec;}[_0x7afdbe(0xdf4,0x107d)](){const _0x4335f0={_0x310d4c:0x7bf};function _0x240444(_0x58bcdd,_0x11bdca){return _0x54a7f1(_0x11bdca- -0x3ab,_0x58bcdd);}function _0x46d586(_0x777325,_0x116897){return _0x7afdbe(_0x116897,_0x777325- -0x65b);}if(Cesium__namespace['defined'](this[_0x240444(0xc39,0x7bf)])&&this[_0x240444(0x123d,_0x4335f0._0x310d4c)]['length']>0x0){const _0x5a7169=this['_arrPartMeasureLable'];if(_0x5a7169&&_0x5a7169['length']>0x0)for(let _0x5db096=0x0,_0x266b9d=_0x5a7169['length'];_0x5db096<_0x266b9d;_0x5db096++){this['_removeLabel'](_0x5a7169[_0x5db096]);}delete this['_arrPartMeasureLable'];}}['_toJSON_Ex'](_0x1059cd){const _0x1b0ce0={_0x4d89b4:0x372,_0x266e3a:0x49a,_0x33968c:0x6f9,_0x2fd21b:0xfbb,_0x1c130d:0x957,_0x2dfac6:0x680,_0x46a228:0xff8},_0x55ba93={_0x46fc9f:0x45e};function _0x5dcdc1(_0x277811,_0x4a25e4){return _0x54a7f1(_0x4a25e4- -_0x55ba93._0x46fc9f,_0x277811);}const _0x2050ec={};_0x2050ec[_0x5dcdc1(-_0x1b0ce0._0x4d89b4,0x9c)]=this[_0x5dcdc1(-_0x1b0ce0._0x266e3a,0x2fa)][_0x25bb6d(0x3fa,_0x1b0ce0._0x33968c)],_0x2050ec['digVolume']=this['_measured']['digVolume'],_0x2050ec[_0x5dcdc1(0xa6c,_0x1b0ce0._0x2fd21b)]=this[_0x25bb6d(0x12b9,_0x1b0ce0._0x1c130d)][_0x5dcdc1(0x9ad,0xfbb)];function _0x25bb6d(_0x1e2e6f,_0x202c83){return _0x54a7f1(_0x202c83-0x1ff,_0x1e2e6f);}_0x2050ec[_0x25bb6d(_0x1b0ce0._0x2dfac6,0x111a)]=this['_measured'][_0x25bb6d(0x107b,0x111a)],_0x2050ec['maxHeight']=this[_0x25bb6d(_0x1b0ce0._0x46a228,0x957)]['maxHeight'],_0x1059cd['measured']=_0x2050ec;}}register$5('volumeDepthMeasure',VolumeDepthMeasure);class PointPrimitive extends BasePointPrimitive{get['primitiveCollection'](){var _0x3484c3;return(_0x3484c3=this['_layer'])===null||_0x3484c3===void 0x0?void 0x0:_0x3484c3['pointCollection'];}[_0x7afdbe(0x141d,0x1978)](_0x3ed7cd){const _0x35296b={_0x2b60b4:0x133f},_0x24cb38={_0x5a387f:0x47b};function _0x41f791(_0x4ea1f6,_0x4c7f76){return _0x7afdbe(_0x4c7f76,_0x4ea1f6- -_0x24cb38._0x5a387f);}function _0xeab3de(_0x48c66d,_0x7c39ed){return _0x7afdbe(_0x48c66d,_0x7c39ed- -0x299);}if(this['_primitive'])this[_0xeab3de(0x1c8d,_0x35296b._0x2b60b4)][_0xeab3de(0x11e2,0x1588)]=_0x3ed7cd;else _0x3ed7cd&&super['_showHook'](_0x3ed7cd);}[_0x7afdbe(0xb37,0x134f)](_0x5c24cd){const _0x1171e5={_0x1d3ac1:0x151f,_0x59e235:0x177b,_0x2328a0:0x15ae,_0xbf7b31:0x4d9,_0x4ef7ac:0x553,_0x192d2a:0x1501,_0x2dbc54:0x15ef,_0x5d42a1:0x1e1d,_0x485795:0x1f1,_0x240908:0x1031,_0x7bbb3f:0xcde,_0x173da6:0xfc8};if(!this[_0x1a148f(0x1501,_0x1171e5._0x1d3ac1)])return;function _0x1a148f(_0x200947,_0x4edb7d){return _0x7afdbe(_0x4edb7d,_0x200947- -0x320);}this[_0x1a148f(0x5a1,0xb31)](this['options'][_0x482149(_0x1171e5._0x59e235,_0x1171e5._0x2328a0)]),this['_calculateAsynSurfacePosition']();this['_primitive']&&this[_0x482149(_0x1171e5._0xbf7b31,-_0x1171e5._0x4ef7ac)][_0x482149(0x828,0x37a)](this[_0x1a148f(0x12b8,0xacc)]);function _0x482149(_0x26ef4b,_0x36c504){return _0x54a7f1(_0x26ef4b-0x9a,_0x36c504);}const _0x3c626f=PointStyleConver['toCesiumVal'](this[_0x482149(0x536,0x44a)],{'show':this[_0x1a148f(_0x1171e5._0x192d2a,0x1bb7)],'position':this[_0x1a148f(_0x1171e5._0x2dbc54,_0x1171e5._0x5d42a1)]});this['_primitive']=this[_0x482149(0x4d9,_0x1171e5._0x485795)]['add'](_0x3c626f),_0x5c24cd['label']&&this[_0x1a148f(_0x1171e5._0x240908,_0x1171e5._0x7bbb3f)](_0x5c24cd[_0x1a148f(_0x1171e5._0x173da6,0x12b8)]);}['_updateStyleHook'](_0x754ac8,_0x927565){const _0xa1887c={_0x60750f:0x16e0};delete _0x927565[_0x27f0e1(0xb42,0xb9d)];function _0x27f0e1(_0x265cda,_0x107695){return _0x54a7f1(_0x107695- -0x4e2,_0x265cda);}function _0x41e89f(_0x2a46db,_0x363ca5){return _0x54a7f1(_0x363ca5-0x19c,_0x2a46db);}delete _0x927565[_0x27f0e1(_0xa1887c._0x60750f,0x11ff)],PointStyleConver['toCesiumVal'](_0x927565,this[_0x41e89f(0x107d,0x1290)]);}[_0x7afdbe(0x1491,0xa5d)](_0x12eabe,_0x37c49b){const _0x3c4d3d={_0x14cc32:0x171c,_0x1b8367:0x1840};function _0x3b55a0(_0xa16d75,_0x517b41){return _0x54a7f1(_0x517b41-0x15f,_0xa16d75);}return delete _0x12eabe['scene'],delete _0x12eabe[_0x3b55a0(_0x3c4d3d._0x14cc32,_0x3c4d3d._0x1b8367)],PointStyleConver['toJSON'](_0x12eabe,_0x37c49b);}['_updatePositionsHook'](){const _0x100a1f={_0x4a2839:0xe49,_0x526756:0x1638};function _0x50fd73(_0x4980b9,_0x1277d9){return _0x7afdbe(_0x4980b9,_0x1277d9- -0x2d7);}function _0x3a18af(_0x45bed7,_0x23ca4f){return _0x54a7f1(_0x45bed7-0x1ae,_0x23ca4f);}this[_0x50fd73(_0x100a1f._0x4a2839,0x1301)]['position']=this[_0x50fd73(0x16cf,_0x100a1f._0x526756)];}async['_calculateAsynSurfacePosition'](){const _0x2a73a8={_0x497df2:0x11bc,_0x577277:0x17d3,_0x41a4b5:0xbc,_0x301247:0x1b70,_0x37d226:0x246,_0x2186a9:0x5ee,_0x40a714:0x13f0},_0x54cfbf={_0x4b1803:0x3e0};function _0x3d5df8(_0x2c11ff,_0x1d6f66){return _0x54a7f1(_0x1d6f66-0x152,_0x2c11ff);}function _0xef6f43(_0x469e7b,_0x3d16be){return _0x54a7f1(_0x3d16be- -_0x54cfbf._0x4b1803,_0x469e7b);}if(this['style']['clampToGround']||Cesium__namespace[_0x3d5df8(_0x2a73a8._0x497df2,_0x2a73a8._0x577277)](this[_0x3d5df8(-0x28e,0x5ee)]['heightReference'])&&this[_0xef6f43(-0x1ae,_0x2a73a8._0x41a4b5)]['heightReference']!==Cesium__namespace['HeightReference'][_0x3d5df8(_0x2a73a8._0x301247,0x1148)]){if(this[_0xef6f43(-0x66c,0xbc)]['clampToGroundExact']){const _0x5ed08f=await getSurfaceHeight(this[_0x3d5df8(_0x2a73a8._0x37d226,0x925)]['scene'],this['position'],this[_0x3d5df8(-0x282,_0x2a73a8._0x2186a9)]);this[_0xef6f43(0x15cb,0x1301)]=_0x5ed08f['position'];}else this[_0xef6f43(_0x2a73a8._0x40a714,0x1301)]=getSurfacePosition(this[_0xef6f43(-0x4a6,0x3f3)]['scene'],this['position'],this[_0x3d5df8(0x78b,_0x2a73a8._0x2186a9)]);}}[_0x7afdbe(0x1548,0xd76)](_0x31347a){const _0x578caf={_0x4594eb:0x7a};_0x31347a?this['bindUpdateEvent']():(this[_0x39d5f7(_0x578caf._0x4594eb,0x601)](),this['_primitive']['show']=this['show'],this['czmObjectEx']['forEach'](_0x4347bb=>{_0x4347bb['show']=this['show'];}));function _0x39d5f7(_0x3f891d,_0x60a91f){return _0x54a7f1(_0x60a91f- -0x432,_0x3f891d);}this['_editing_entity']&&(this['_editing_entity']['availability']=_0x31347a);}['setOpacity'](_0x5e936f){const _0x523b17={_0xcebea:0x24f,_0x4d5e3e:0xccb},_0x2d6803={_0x2bfd34:0x169};this[_0x5667dd(_0x523b17._0xcebea,0x2f7)]['globalAlpha']=_0x5e936f;function _0x5bafb5(_0x3083bc,_0x33068a){return _0x7afdbe(_0x3083bc,_0x33068a- -_0x2d6803._0x2bfd34);}function _0x5667dd(_0x2dccdc,_0x42009f){return _0x54a7f1(_0x42009f- -0x1a5,_0x2dccdc);}PointStyleConver['setOpacity'](this[_0x5bafb5(0xa9e,0x11b9)],_0x5e936f),this[_0x5667dd(_0x523b17._0x4d5e3e,0x113d)](_0x5e936f);}['_getDrawEntityClass'](_0x2e57bd,_0x2c4236){const _0x549dbf={_0x62ab1f:0xea7},_0x48f591={_0x2d81f6:0xa3};function _0x310496(_0x4a4ddb,_0xecd463){return _0x7afdbe(_0xecd463,_0x4a4ddb- -_0x48f591._0x2d81f6);}return create$5(_0x310496(_0x549dbf._0x62ab1f,0x1622),_0x2e57bd);}[_0x54a7f1(0x4e7,0xcee)](_0x477102){return this['_primitive']['computeScreenSpacePosition'](this['_map']['scene'],_0x477102);}['getBoundingBox'](_0x3678d7,_0x128685){const _0x2c2614={_0x4178b0:0xe0};function _0x2613f7(_0x3e6aab,_0x524460){return _0x54a7f1(_0x524460-_0x2c2614._0x4178b0,_0x3e6aab);}return Cesium__namespace['PointPrimitive']['getScreenSpaceBoundingBox'](this[_0x2613f7(0x13db,0x148a)],_0x3678d7,_0x128685);}}register$5('pointP',PointPrimitive,!![]);class BillboardPrimitive extends BasePointPrimitive{get[_0x54a7f1(0x43f,-0x10c)](){const _0x2dc68b={_0x582cdd:0x137};function _0x4050c2(_0x47a1e6,_0x1b9c8f){return _0x54a7f1(_0x1b9c8f-_0x2dc68b._0x582cdd,_0x47a1e6);}var _0x22602a;return(_0x22602a=this[_0x4050c2(0x1501,0x1764)])===null||_0x22602a===void 0x0?void 0x0:_0x22602a['billboardCollection'];}get[_0x54a7f1(0x50e,0xe74)](){const _0x129d6c={_0x295620:0x598,_0x167d2c:0x1ca,_0x17be4f:0x356,_0x15bcfb:0x14a},_0x476e50={_0x36e69b:0x3f3};function _0x20ddab(_0x5709be,_0x366395){return _0x7afdbe(_0x366395,_0x5709be- -_0x476e50._0x36e69b);}const _0x1c7d48=[];this[_0x20ddab(_0x129d6c._0x295620,-_0x129d6c._0x167d2c)]&&_0x1c7d48['push'](this['_primitive_label']);function _0x493f09(_0x3cf6b9,_0x2655dc){return _0x7afdbe(_0x2655dc,_0x3cf6b9- -0x72b);}return this[_0x20ddab(_0x129d6c._0x17be4f,-_0x129d6c._0x15bcfb)]&&_0x1c7d48['push'](this['_primitive_point']),_0x1c7d48;}get[_0x54a7f1(0x2e5,-0x5ca)](){function _0x36327d(_0x2ffe3c,_0xa65c28){return _0x7afdbe(_0xa65c28,_0x2ffe3c- -0x63e);}return this[_0x36327d(0x8c,0x317)]['image'];}set['image'](_0x2b1226){const _0x123f0d={_0x596f7c:0x15b2,_0x204909:0xefe},_0x3194c3={_0x3f6de0:0x6da};function _0x2abce8(_0x8e2e6f,_0x3cdb54){return _0x7afdbe(_0x3cdb54,_0x8e2e6f- -0x26);}this['style']['image']=_0x2b1226;function _0x3d1130(_0x518ce5,_0x131689){return _0x7afdbe(_0x131689,_0x518ce5- -_0x3194c3._0x3f6de0);}this[_0x2abce8(_0x123f0d._0x596f7c,0x1cf1)]&&(this[_0x3d1130(_0x123f0d._0x204909,0x1910)]['image']=_0x2b1226);}['_showHook'](_0x4b09dc){const _0x413f4f={_0x5de94c:0x1458},_0x66e4a2={_0x271eb0:0x64f};function _0x55fd84(_0x24ca03,_0x59f735){return _0x54a7f1(_0x59f735-0xae,_0x24ca03);}function _0x590e83(_0xdf1355,_0x37a3bc){return _0x7afdbe(_0x37a3bc,_0xdf1355- -_0x66e4a2._0x271eb0);}if(this[_0x55fd84(0xe29,0x1458)])this[_0x55fd84(0x1669,_0x413f4f._0x5de94c)]['show']=_0x4b09dc;else _0x4b09dc&&super[_0x55fd84(0x2229,0x17f8)](_0x4b09dc);}['_addedHook'](_0x4f9f6b){const _0x27fbf1={_0x37c39a:0xa46,_0x4e13fa:0x1367,_0x122f1e:0x13b7,_0x23f98d:0x146a,_0x4f197d:0x1e48,_0x2a1286:0xe43,_0x43b96b:0xfe6,_0xca85f1:0x1443,_0xe54e7e:0x1426,_0x14a4e4:0x1ab9,_0x2a313f:0xe7f},_0x28c689={_0x5c008f:0x32a};if(!this[_0x2f2c3b(0x12c9,_0x27fbf1._0x37c39a)])return;this[_0x2f2c3b(0x369,0x6e5)](this['options'][_0x2f2c3b(0x13b7,0xb20)]);function _0x5ca257(_0x4bdea1,_0x2c2f76){return _0x7afdbe(_0x2c2f76,_0x4bdea1- -0x4a5);}const _0x3f646c={};_0x3f646c[_0x2f2c3b(0x12c9,_0x27fbf1._0x4e13fa)]=this['show'],_0x3f646c[_0x2f2c3b(_0x27fbf1._0x122f1e,0xdad)]=this[_0x5ca257(_0x27fbf1._0x23f98d,_0x27fbf1._0x4f197d)];const _0x59f4ac=BillboardStyleConver[_0x5ca257(0xb62,0xc4c)](_0x4f9f6b,_0x3f646c);this['_primitive']=this[_0x2f2c3b(0x115,-0x149)][_0x2f2c3b(0x366,0x72f)](_0x59f4ac);function _0x2f2c3b(_0x1dbaac,_0x3d9993){return _0x54a7f1(_0x1dbaac- -_0x28c689._0x5c008f,_0x3d9993);}_0x4f9f6b[_0x5ca257(0xe43,0x1657)]&&this['_addLabel'](_0x4f9f6b[_0x5ca257(_0x27fbf1._0x2a1286,0xb74)]);if(this['style']['distanceDisplayCondition']){if(this['style']['distanceDisplayPoint']){var _0x22f902;const _0x5a628b=PointStyleConver['toCesiumVal'](this['style']['distanceDisplayPoint'],{'show':this['show'],'position':this['position']});_0x5a628b[_0x5ca257(0xa28,_0x27fbf1._0x43b96b)]=this[_0x5ca257(0x1302,_0x27fbf1._0xca85f1)](this[_0x5ca257(0x225,0x5a4)]['distanceDisplayPoint']),this['_primitive_point']=(_0x22f902=this[_0x5ca257(0x13b6,0xa32)])===null||_0x22f902===void 0x0?void 0x0:_0x22f902[_0x2f2c3b(_0x27fbf1._0xe54e7e,_0x27fbf1._0x14a4e4)][_0x5ca257(0x419,_0x27fbf1._0x2a313f)](_0x5a628b);}}}['_removedHook'](){const _0x94c9b1={_0x48852b:0x89b,_0x2d3b46:0xa5f,_0x56786b:0x367};super[_0xa7abc8(0x9a5,_0x94c9b1._0x48852b)]();function _0xa7abc8(_0x3f8c8c,_0xe3dee){return _0x54a7f1(_0xe3dee- -0x1b4,_0x3f8c8c);}function _0x442bab(_0x467375,_0x5d738d){return _0x54a7f1(_0x467375- -0x283,_0x5d738d);}if(this[_0xa7abc8(_0x94c9b1._0x2d3b46,_0x94c9b1._0x56786b)]){var _0x3331df;(_0x3331df=this['_layer'])===null||_0x3331df===void 0x0||_0x3331df['pointCollection']['remove'](this[_0x442bab(0x298,0x64b)]),delete this['_primitive_point'];}}['_updateStyleHook'](_0x3f3e06,_0x395795){const _0x3abe0d={_0x129e0b:0xb90,_0x431d79:0xf50,_0x5c0ead:0x47b,_0x1cca3f:0xdc,_0x3488b2:0x7cc,_0x49fc34:0xd17,_0x119927:0x143b},_0x300090={_0x283e6d:0x83};function _0x176820(_0x58118b,_0x1728bb){return _0x7afdbe(_0x58118b,_0x1728bb-_0x300090._0x283e6d);}BillboardStyleConver[_0x5b9da5(_0x3abe0d._0x129e0b,0x1017)](_0x3f3e06,this[_0x5b9da5(0xeab,0x8e8)]);function _0x5b9da5(_0x3f7d24,_0x3cd688){return _0x54a7f1(_0x3f7d24- -0x249,_0x3cd688);}this['style'][_0x176820(0x6c5,_0x3abe0d._0x431d79)]&&(_0x395795[_0x5b9da5(_0x3abe0d._0x5c0ead,-_0x3abe0d._0x1cca3f)]&&this['_primitive_point']&&(PointStyleConver['toCesiumVal'](this[_0x176820(-0x1c7,0x74d)]['distanceDisplayPoint'],this[_0x176820(0xa6b,_0x3abe0d._0x3488b2)]),this[_0x176820(_0x3abe0d._0x49fc34,_0x3abe0d._0x3488b2)]['distanceDisplayCondition']=this[_0x176820(0x1122,0x182a)](this['style'][_0x176820(_0x3abe0d._0x119927,0x975)])));}['_style2Json'](_0x34ff56,_0x4b18c9){return BillboardStyleConver['toJSON'](_0x34ff56,_0x4b18c9);}['_updatePositionsHook'](){const _0x4dfcd2={_0x278e5b:0x1813,_0x4b7a10:0xe47,_0x2186e6:0x965,_0x121712:0x693},_0x3afd67={_0x20a713:0x9c},_0x566f44={_0x226d08:0x171};if(!this['_primitive']['_billboardCollection'])return;this['_primitive']['position']=this['position'];Cesium__namespace[_0x2e200a(0x128b,_0x4dfcd2._0x278e5b)](this['style']['alignedAxis'])&&(this['_primitive']['alignedAxis']=getCesiumValue(this['style']['alignedAxis'],Cesium__namespace['Cartesian3'],this[_0x2e200a(_0x4dfcd2._0x4b7a10,_0x4dfcd2._0x2186e6)]['clock']['currentTime']));function _0x5520d3(_0x1f1845,_0x2cd748){return _0x54a7f1(_0x1f1845- -_0x566f44._0x226d08,_0x2cd748);}function _0x2e200a(_0x48587b,_0x24c187){return _0x7afdbe(_0x48587b,_0x24c187- -_0x3afd67._0x20a713);}this[_0x2e200a(0xdc8,0x6ad)]&&(this[_0x2e200a(_0x4dfcd2._0x121712,0x6ad)]['position']=this['position']);}[_0x54a7f1(0x508,0x74e)](_0x144bd3){const _0x2e75f4={_0x3936f7:0x7b8};function _0x469b56(_0x2a5f93,_0x1893bf){return _0x7afdbe(_0x2a5f93,_0x1893bf- -0x303);}this['style']['globalAlpha']=_0x144bd3,this['_primitive']&&(this['_primitive']['color']=Cesium__namespace['Color'][_0x469b56(-0x63,_0x2e75f4._0x3936f7)]['withAlpha'](_0x144bd3)),this['_updateLabelOpacity'](_0x144bd3);}[_0x7afdbe(0xc5b,0xd76)](_0xc4a44c){const _0x52b0fe={_0x516512:0x102e,_0x3febb5:0x618,_0xf32401:0x19c1,_0x438b7d:0x137a},_0xf3f0a1={_0x239bb5:0x18f};_0xc4a44c?this[_0x6ee1f5(0x1358,0x11ec)]():(this[_0x289f54(0xbd4,0xc18)](),this['_primitive']['show']=this['show'],this['czmObjectEx']['forEach'](_0x12e0f6=>{const _0x25c7f5={_0x41d939:0x49a};function _0x43ee38(_0x122c8c,_0xb77490){return _0x289f54(_0xb77490,_0x122c8c- -_0x25c7f5._0x41d939);}_0x12e0f6['show']=this[_0x43ee38(0x133e,0xea7)];}));function _0x6ee1f5(_0x366405,_0x2e4bc9){return _0x54a7f1(_0x366405- -_0xf3f0a1._0x239bb5,_0x2e4bc9);}function _0x289f54(_0x4c44c2,_0x2dae18){return _0x54a7f1(_0x2dae18-0x1e5,_0x4c44c2);}this[_0x6ee1f5(_0x52b0fe._0x516512,_0x52b0fe._0x3febb5)]&&(this['_editing_entity'][_0x289f54(_0x52b0fe._0xf32401,_0x52b0fe._0x438b7d)]=_0xc4a44c);}['_getTargetDistanceDisplayCondition'](_0x51611c){const _0x16579c={_0x532d5e:0x13fc,_0x433b61:0x10cf,_0x944eb1:0xdb0,_0x549ccf:0x275,_0x48c70f:0xd0f},_0x19fa1b={_0x4827ca:0x5be};let _0x5c0454;function _0xea325e(_0x43adbb,_0x138f4b){return _0x7afdbe(_0x138f4b,_0x43adbb- -_0x19fa1b._0x4827ca);}function _0x1654e6(_0xac1300,_0x1c5f2a){return _0x54a7f1(_0xac1300- -0x399,_0x1c5f2a);}if(this[_0x1654e6(0x103,-0x903)]['distanceDisplayCondition']instanceof Cesium__namespace['DistanceDisplayCondition'])_0x5c0454=this['style']['distanceDisplayCondition'][_0xea325e(_0x16579c._0x532d5e,0x1a4b)];else this[_0xea325e(0x10c,0x49a)][_0x1654e6(0x2e8,-0x307)]&&(_0x5c0454=this[_0x1654e6(0x103,-0x2f7)]['distanceDisplayCondition_far']);return new Cesium__namespace[(_0x1654e6(_0x16579c._0x433b61,0x19bc))](_0x51611c[_0xea325e(0x8af,_0x16579c._0x944eb1)]??_0x5c0454,_0x51611c[_0xea325e(0x2f1,-_0x16579c._0x549ccf)]??Number[_0xea325e(_0x16579c._0x48c70f,0xd13)]);}['_getDrawEntityClass'](_0x4548b0,_0x507ced){return create$5('billboard',_0x4548b0);}['getWindowCoordinates'](_0x36f9cf){const _0xa6f9da={_0x5bdbd5:0x27f};function _0x69e876(_0x10b408,_0x396303){return _0x54a7f1(_0x396303-_0xa6f9da._0x5bdbd5,_0x10b408);}return this[_0x69e876(0xee5,0x1629)]['computeScreenSpacePosition'](this['_map']['scene'],_0x36f9cf);}[_0x54a7f1(0x132b,0xb3e)](_0x52ed84,_0x121fbd){const _0x272e5a={_0x46b574:0x1686,_0x427a07:0x117b,_0x1c2539:0xc06,_0x49af1f:0x123c,_0x5e444c:0x1b2e},_0x390e9d={_0x277491:0x301};function _0x4cc7e5(_0x55045f,_0x162916){return _0x7afdbe(_0x55045f,_0x162916- -_0x390e9d._0x277491);}function _0x5c91b7(_0x2f0e4c,_0x3868a6){return _0x7afdbe(_0x3868a6,_0x2f0e4c- -0x45d);}if(this[_0x4cc7e5(0x19a8,0x12d7)]['width']&&this['_primitive'][_0x5c91b7(0x438,0xe3c)])return Cesium__namespace[_0x4cc7e5(0x196c,_0x272e5a._0x46b574)]['getScreenSpaceBoundingBox'](this[_0x4cc7e5(0x167b,0x12d7)],_0x52ed84,_0x121fbd);else{const _0x461af8={};return _0x461af8[_0x4cc7e5(0xda1,0x1484)]=this['_primitive']['width']||0x1e,_0x461af8['height']=this[_0x5c91b7(_0x272e5a._0x427a07,0xc0d)]['height']||0x1e,_0x461af8[_0x4cc7e5(_0x272e5a._0x1c2539,_0x272e5a._0x49af1f)]=this['_primitive']['scale']||0x1,_0x461af8['horizontalOrigin']=this['_primitive']['horizontalOrigin'],_0x461af8['verticalOrigin']=this[_0x5c91b7(0x117b,0x1519)][_0x4cc7e5(_0x272e5a._0x5e444c,0x1585)],Cesium__namespace['Billboard']['getScreenSpaceBoundingBox'](_0x461af8,_0x52ed84,_0x121fbd);}}}register$5('billboardP',BillboardPrimitive,!![]);class DivBillboardPrimitive extends BillboardPrimitive{['_mountedHook'](){super['_mountedHook'](),this['_updateImage_delay']();}[_0x7afdbe(0xb10,0x1302)](_0x51baf9,_0x48704d){const _0x39c912={_0x7b5405:0x1250},_0x1f0cbb={_0x11f9bf:0x320};delete _0x51baf9['image'],super['_updateStyleHook'](_0x51baf9,_0x48704d);function _0xf76293(_0x2a5fd8,_0x49b700){return _0x54a7f1(_0x49b700- -_0x1f0cbb._0x11f9bf,_0x2a5fd8);}function _0xd3af35(_0x5da0d3,_0x43895c){return _0x7afdbe(_0x5da0d3,_0x43895c- -0x583);}_0x48704d&&(_0x48704d['html']||_0x48704d['iconSize']||_0x48704d[_0xf76293(0x1054,0xef2)])&&this[_0xf76293(_0x39c912._0x7b5405,0x110f)]();}['_updateImage_delay'](){const _0x5f4399={_0x4e6ed6:0x264},_0x1a5084={_0x2421ac:0x534},_0x26a01e={_0xa2ebb0:0x34a};this[_0x5d0fc2(0x83,0x57c)]&&clearTimeout(this['updateTimer']);function _0x5d0fc2(_0x1f40fe,_0x55b098){return _0x7afdbe(_0x55b098,_0x1f40fe- -0x685);}this['updateTimer']=setTimeout(()=>{function _0x3e6084(_0x166c64,_0x77ca8d){return _0x5d0fc2(_0x166c64-_0x26a01e._0xa2ebb0,_0x77ca8d);}delete this[_0xe767a3(-_0x5f4399._0x4e6ed6,0x5b7)];function _0xe767a3(_0x54132d,_0x3b32a7){return _0x5d0fc2(_0x3b32a7-_0x1a5084._0x2421ac,_0x54132d);}if(this['isDestroy'])return;this[_0xe767a3(0xcf5,0x9ab)]();},0x12c);}[_0x54a7f1(0x8ce,0xde)](){const _0x22ae3b={_0x596a71:0xfde,_0x6749d7:0x7f9,_0x2ae9ba:0x962,_0x548050:0xc0f,_0x56e1d5:0x145d,_0x1b76f3:0x1603,_0x15eea4:0xcf3,_0xb61132:0x838,_0x4b9c12:0x10c0,_0x31d77b:0xc70,_0x1db176:0xf49,_0x14cee5:0x1521,_0x1ca082:0xd44},_0x31b01d={_0x434c1f:0x307},_0x5454b4={_0x36c359:0xa04,_0x401e77:0x46a},_0x53bfd1={_0x89f190:0x928},_0x1c3038={_0x33696a:0x8f7,_0x31b6dc:0xc57},_0x49564a={_0x5a203c:0x248};if(this[_0x5e5c8d(_0x22ae3b._0x596a71,0x60a)])return;const _0x202b92=create$4(_0x5e5c8d(0x44a,_0x22ae3b._0x6749d7),'mars3d-hideDiv'),_0x1f0ed4=this['style'][_0x39bead(_0x22ae3b._0x2ae9ba,_0x22ae3b._0x548050)];if(isString(_0x1f0ed4))_0x202b92[_0x5e5c8d(0x1097,_0x22ae3b._0x56e1d5)]=_0x1f0ed4;else _0x1f0ed4 instanceof Element&&_0x202b92[_0x5e5c8d(_0x22ae3b._0x1b76f3,0x174f)](_0x1f0ed4);document['body'][_0x39bead(0x163f,0x178c)](_0x202b92);function _0x5e5c8d(_0xb62ff0,_0x583a47){return _0x54a7f1(_0x583a47-_0x49564a._0x5a203c,_0xb62ff0);}function _0x39bead(_0x1f5838,_0xd36d96){return _0x54a7f1(_0xd36d96-0x285,_0x1f5838);}this['_islosdImg']=!![];if(window['domtoimage'])window['domtoimage']['toPng'](_0x202b92)[_0x39bead(_0x22ae3b._0x15eea4,_0x22ae3b._0xb61132)](_0x422af3=>{function _0x43cad0(_0x2f22a9,_0x47e8fc){return _0x5e5c8d(_0x2f22a9,_0x47e8fc- -0xfb);}this[_0x172d28(_0x1c3038._0x33696a,0x356)]=''+_0x422af3,document['body'][_0x43cad0(0xc35,0x5d8)](_0x202b92);function _0x172d28(_0x32179e,_0x3f8a36){return _0x5e5c8d(_0x32179e,_0x3f8a36- -0x1d7);}this['_islosdImg']=![];const _0x1941ab={};_0x1941ab[_0x43cad0(0x516,0x432)]=_0x422af3,this['fire'](_0x43cad0(_0x1c3038._0x31b6dc,0x432),_0x1941ab);})[_0x5e5c8d(_0x22ae3b._0x4b9c12,_0x22ae3b._0x31d77b)](_0x50c560=>{const _0x31493e={_0x2f1f8e:0x4c0};logError(_0x4e8f02(_0x53bfd1._0x89f190,0x5c6),_0x50c560);function _0x4e8f02(_0x45773d,_0xc4949d){return _0x39bead(_0x45773d,_0xc4949d- -_0x31493e._0x2f1f8e);}document['body']['removeChild'](_0x202b92),this['_islosdImg']=![];});else{if(window[_0x39bead(0x197a,_0x22ae3b._0x1db176)]){const _0x4ca5ca={};_0x4ca5ca[_0x5e5c8d(0x1683,_0x22ae3b._0x14cee5)]=null,_0x4ca5ca[_0x5e5c8d(0xa32,_0x22ae3b._0x1ca082)]=!![],window['html2canvas'](_0x202b92,_0x4ca5ca)[_0x39bead(0x62,_0x22ae3b._0xb61132)](_0x49b781=>{this[_0x25d9ea(_0x5454b4._0x36c359,_0x5454b4._0x401e77)]=_0x49b781,document['body']['removeChild'](_0x202b92),this['_islosdImg']=![];const _0x260fc8={};_0x260fc8['canvas']=_0x49b781;function _0x25d9ea(_0x28d2c6,_0x37a9dc){return _0x39bead(_0x28d2c6,_0x37a9dc- -0x100);}this['fire']('image',_0x260fc8);})['catch'](_0xc28212=>{logError('未知原因,导出失败!',_0xc28212);function _0x44fe93(_0xcb04ce,_0x3aa615){return _0x39bead(_0xcb04ce,_0x3aa615- -0x22f);}document[_0x44fe93(_0x31b01d._0x434c1f,0xa0c)]['removeChild'](_0x202b92),this['_islosdImg']=![];});}}}}register$5('divBillboardP',DivBillboardPrimitive,!![]);const _0x49ed3d={};_0x49ed3d['rectX']=0x64,_0x49ed3d['rectY']=-0x32,_0x49ed3d['rectColor']='rgb(16\x20238\x20220)',_0x49ed3d['pointColor']='#0000ff',_0x49ed3d[_0x7afdbe(0x10d2,0x133d)]=0x4,_0x49ed3d['pointOutline']=!![],_0x49ed3d['pointOutlineWidth']=0x2,_0x49ed3d['pointOutlineColor']='#ffffff',_0x49ed3d['autoPoistion']=!![];const DEF_STYLE$p=_0x49ed3d;class BillboardIndicator extends BillboardPrimitive{constructor(_0x5ebf2f={}){const _0x3ef3c8={_0x29197b:0xc5a,_0x1b0a1e:0x19d9,_0x57f1ce:0x7e5,_0x401168:0x13f,_0x5269ff:0x1e3},_0x3a7fd2={_0x14b71d:0x64};_0x5ebf2f['style']={...DEF_STYLE$p,..._0x5ebf2f[_0x33fdf7(_0x3ef3c8._0x29197b,0x72e)]};function _0x11cb4e(_0x25797c,_0x32b0d3){return _0x7afdbe(_0x25797c,_0x32b0d3- -0x4e7);}function _0x33fdf7(_0x2befe2,_0x2255fb){return _0x7afdbe(_0x2befe2,_0x2255fb-_0x3a7fd2._0x14b71d);}_0x5ebf2f['style'][_0x33fdf7(_0x3ef3c8._0x1b0a1e,0x134c)]={'align':'center','baseline':_0x33fdf7(_0x3ef3c8._0x57f1ce,0xa36),..._0x5ebf2f[_0x11cb4e(_0x3ef3c8._0x401168,_0x3ef3c8._0x5269ff)]['label']},super(_0x5ebf2f);}['_addedHook'](_0x578604){const _0x3890d0={_0x28884f:0x1fa,_0x3f7f5e:0x4bf,_0x508c96:0x88c,_0x4b6c98:0xbdb,_0x5e4046:0x403,_0x17827e:0xaa7,_0x1fd1c0:0x4d8,_0x3bf5e2:0x1f2f,_0x27a220:0x12fb,_0xe707e4:0xa2b,_0x41b926:0xf9b},_0x5e7244=getCanvasImage(_0x578604);_0x578604[_0x4c2474(-_0x3890d0._0x28884f,0x3aa)]=_0x5e7244[_0x3c58fd(_0x3890d0._0x3f7f5e,_0x3890d0._0x508c96)],_0x578604[_0x3c58fd(0x96b,0xe7f)]=_0x5e7244['rectWidth'],_0x578604['rectHeight']=_0x5e7244['rectHeight'];function _0x4c2474(_0x1498a4,_0x3fcef2){return _0x54a7f1(_0x1498a4- -0x4df,_0x3fcef2);}function _0x3c58fd(_0x4a5b73,_0x75dfa0){return _0x7afdbe(_0x75dfa0,_0x4a5b73- -0x54);}_0x578604[_0x4c2474(_0x3890d0._0x4b6c98,_0x3890d0._0x5e4046)]={..._0x578604['label'],'visibleDepth':![],'hasPixelOffset':!![],'pixelOffsetX':_0x5e7244['pixelOffsetX'],'pixelOffsetY':_0x5e7244['pixelOffsetY'],'horizontalOrigin':Cesium__namespace[_0x3c58fd(_0x3890d0._0x17827e,0xf9a)]['CENTER'],'verticalOrigin':Cesium__namespace[_0x4c2474(_0x3890d0._0x1fd1c0,0xd53)][_0x3c58fd(0x149e,_0x3890d0._0x3bf5e2)]},Cesium__namespace['defined'](_0x578604['scale'])&&(_0x578604['label']['scale']=_0x578604['scale']),_0x578604['scaleByDistance']&&(_0x578604['label']['scaleByDistance']=_0x578604['scaleByDistance'],_0x578604['label'][_0x4c2474(0x10b4,0x15cd)]=_0x578604[_0x4c2474(0x16d,0x88f)]),super[_0x3c58fd(_0x3890d0._0x27a220,0xae5)](_0x578604),this['on'](EventType[_0x4c2474(_0x3890d0._0xe707e4,_0x3890d0._0x41b926)],this['_clickHandler'],this);}['_removedHook'](){function _0x214ac6(_0x732abc,_0x1e9789){return _0x54a7f1(_0x732abc- -0x35a,_0x1e9789);}this['off'](EventType['click'],this[_0x214ac6(0x12a0,0x126c)],this),super['_removedHook'](),this['_removeDragCanvas']();}['_updateStyleBaseHook'](_0x71c590){const _0x1a05e8={_0x50402:0x198,_0xf380fa:0xc3d,_0x598156:0x10c5,_0xe9cd4e:0x1917,_0x3bcd89:0x189d,_0x1713a0:0x1ffc,_0x563d9d:0x1cf,_0x2fd147:0x891,_0x2e8076:0x18b5,_0x55f1d5:0x10c5,_0x2b4664:0x131a},_0x5a7594={_0x58901f:0x47d};delete _0x71c590[_0x2b6064(-_0x1a05e8._0x50402,-0xa6)];Cesium__namespace['defined'](_0x71c590['scaleByDistance'])&&(_0x71c590[_0x2b6064(_0x1a05e8._0xf380fa,0x381)]=_0x71c590[_0x2b6064(0xc3d,0xff5)]||{},_0x71c590[_0x4c1006(_0x1a05e8._0x598156,_0x1a05e8._0xe9cd4e)]['scaleByDistance']=_0x71c590['scaleByDistance'],_0x71c590[_0x4c1006(0x10c5,_0x1a05e8._0x3bcd89)][_0x4c1006(0x159e,_0x1a05e8._0x1713a0)]=_0x71c590[_0x2b6064(0x1cf,0x71a)],this['style']['label']['scaleByDistance']=_0x71c590[_0x2b6064(_0x1a05e8._0x563d9d,-_0x1a05e8._0x2fd147)],this['style']['label']['pixelOffsetScaleByDistance']=_0x71c590['scaleByDistance']);Cesium__namespace['defined'](_0x71c590['scale'])&&(_0x71c590[_0x2b6064(_0x1a05e8._0xf380fa,0x113c)]=_0x71c590['label']||{},_0x71c590['label']['scale']=_0x71c590[_0x2b6064(0xe92,_0x1a05e8._0x2e8076)],this[_0x4c1006(0x4a7,0x693)][_0x4c1006(_0x1a05e8._0x55f1d5,0x69e)]['scale']=_0x71c590[_0x4c1006(_0x1a05e8._0x2b4664,0x160c)]);function _0x4c1006(_0x14f512,_0x4a1b56){return _0x54a7f1(_0x14f512-0xb,_0x4a1b56);}function _0x2b6064(_0x5327c7,_0x3b2ef4){return _0x54a7f1(_0x5327c7- -_0x5a7594._0x58901f,_0x3b2ef4);}super['_updateStyleBaseHook'](_0x71c590),this['_updateImage']();}[_0x54a7f1(0x8ce,0xf9a)](_0x2ec566){const _0x2f8537={_0xf0ebff:0x469,_0x68b529:0x56b,_0x11c3c1:0xcf,_0x25522d:0xbe3,_0x4b21db:0xfae,_0x75b7:0x195a},_0x4e65af={_0x168d62:0x5fb},_0x3d945a={_0x330b6f:0xaa},_0x2241e0=getCanvasImage(this['style']);this['image']=_0x2241e0[_0x1a62ac(_0x2f8537._0xf0ebff,-_0x2f8537._0x68b529)],this[_0x4de813(0x137,_0x2f8537._0x11c3c1)]['rectWidth']=_0x2241e0['rectWidth'],this['style'][_0x4de813(_0x2f8537._0x25522d,0x26d)]=_0x2241e0['rectHeight'],this['style']['label']['pixelOffsetX']=_0x2241e0['pixelOffsetX'];function _0x1a62ac(_0x1380f9,_0x3d596b){return _0x7afdbe(_0x3d596b,_0x1380f9- -_0x3d945a._0x330b6f);}function _0x4de813(_0x54c8dd,_0x3b5398){return _0x7afdbe(_0x54c8dd,_0x3b5398- -_0x4e65af._0x168d62);}this['style']['label'][_0x1a62ac(_0x2f8537._0x4b21db,0x1015)]=_0x2241e0['pixelOffsetY'],this['label']['pixelOffset']=new Cesium__namespace[(_0x1a62ac(0x1888,0x11e2))](_0x2241e0[_0x4de813(0x6c1,0x908)],_0x2241e0['pixelOffsetY']),_0x2ec566&&typeof _0x2ec566===_0x1a62ac(0x1725,_0x2f8537._0x75b7)&&_0x2ec566();}['setOpacity'](_0x29ed1c){const _0x25a33c={_0x124634:0x9b3,_0x175187:0x5c8},_0x23e752={_0x5061dd:0x4ac};function _0x66b060(_0x5b76b8,_0x4f833c){return _0x54a7f1(_0x5b76b8- -_0x23e752._0x5061dd,_0x4f833c);}function _0x51883c(_0x4b3d66,_0x3a36ba){return _0x7afdbe(_0x4b3d66,_0x3a36ba- -0x555);}super[_0x66b060(0x5c,-0x857)](_0x29ed1c),this[_0x66b060(0x3d3,_0x25a33c._0x124634)]&&(this[_0x51883c(_0x25a33c._0x175187,0x558)]['style']['opacity']=_0x29ed1c);}[_0x7afdbe(0x16f4,0x1978)](_0x3763e7){const _0x3df3e7={_0x5d327a:0x284,_0x54ee45:0x801,_0xfde595:0xc56};super['_showHook'](_0x3763e7);function _0x47514f(_0x7f55ec,_0x3e77eb){return _0x54a7f1(_0x3e77eb- -0x366,_0x7f55ec);}function _0x259015(_0x50b9d1,_0x3fcbfe){return _0x7afdbe(_0x50b9d1,_0x3fcbfe- -0x2ac);}this[_0x259015(-_0x3df3e7._0x5d327a,_0x3df3e7._0x54ee45)]&&(this[_0x47514f(_0x3df3e7._0xfde595,0x519)]['style'][_0x47514f(0x13be,0x136c)]=_0x3763e7?'block':'none');}['_visibleCzmObject'](_0x342072){const _0x5dcf1a={_0x127b19:0x5d7,_0xba23f5:0x1db4},_0x18754e={_0x5b0270:0x159};function _0xef2f87(_0xbc963e,_0x570c83){return _0x7afdbe(_0x570c83,_0xbc963e- -0x618);}this[_0xef2f87(0xfc0,0xd1f)]&&(this[_0xef2f87(0xfc0,_0x5dcf1a._0x127b19)][_0x15e1f6(0x149a,_0x5dcf1a._0xba23f5)]=_0x342072);function _0x15e1f6(_0x38e9f5,_0x532f80){return _0x54a7f1(_0x38e9f5- -_0x18754e._0x5b0270,_0x532f80);}this['_primitive_label']&&(this['_primitive_label'][_0xef2f87(0x1209,0x747)]=_0x342072);}['_clickHandler'](_0x2c10f0){const _0x429f68={_0xdc1876:0xe50,_0x4ea951:0xedb,_0x5136a0:0x1ddf,_0x2e3a0f:0x69e,_0x178cab:0x12a3,_0x33a0fa:0x9c2,_0x4498ef:0xc7b,_0x35670d:0x144e,_0x385790:0x7d9,_0x19b94b:0x69e,_0x9be968:0x155,_0x3d5b16:0x17e,_0x5d2bcf:0x869,_0x3f4caa:0x984,_0x1b0aa0:0x1039,_0x469bef:0xb26,_0x56ae0d:0x1ca,_0x12aad7:0x526},_0x2c7e68={_0x491311:0x109};if(this[_0x3e4e43(0x11bb,_0x429f68._0xdc1876)])return;this['_removeDragCanvas'](),this['_visibleCzmObject'](![]),this['_graphicWindowPosition']=toWindowCoordinates$1(this['_map']['scene'],this['positionShow']);const _0x3fb4d5=create$4('canvas','mars3d-billboard-indicator',this['_layer'][_0x1a6edd(0xaf4,_0x429f68._0x4ea951)]);_0x3fb4d5['id']=this['id'],_0x3fb4d5['style'][_0x1a6edd(0x15d8,_0x429f68._0x5136a0)]='absolute';function _0x1a6edd(_0x11b153,_0x5768f1){return _0x54a7f1(_0x11b153- -_0x2c7e68._0x491311,_0x5768f1);}_0x3fb4d5[_0x3e4e43(_0x429f68._0x2e3a0f,0xd8e)][_0x3e4e43(0x177e,_0x429f68._0x178cab)]='0px',_0x3fb4d5['style'][_0x1a6edd(_0x429f68._0x33a0fa,_0x429f68._0x4498ef)]='0px',_0x3fb4d5[_0x1a6edd(0x144e,0x1ac8)]=parseInt(this['_map']['canvas']['width']),_0x3fb4d5['height']=parseInt(this['_map'][_0x1a6edd(0x7d9,0xb2e)][_0x3e4e43(0x869,0xd1d)]),_0x3fb4d5['style'][_0x1a6edd(_0x429f68._0x35670d,0x1812)]=this['_map'][_0x1a6edd(_0x429f68._0x385790,0x1fa)][_0x3e4e43(_0x429f68._0x19b94b,-_0x429f68._0x9be968)]['width']+'px',_0x3fb4d5['style'][_0x1a6edd(0x55e,0x414)]=this['_map'][_0x1a6edd(0x7d9,0xe51)][_0x3e4e43(_0x429f68._0x19b94b,-_0x429f68._0x3d5b16)][_0x3e4e43(_0x429f68._0x5d2bcf,_0x429f68._0x3f4caa)]+'px';function _0x3e4e43(_0xef544,_0x5bd346){return _0x7afdbe(_0x5bd346,_0xef544- -0x2c);}this[_0x1a6edd(0x776,0x4de)]=_0x3fb4d5;const _0x59a527=_0x3fb4d5['getContext']('2d');this['_changeDragCanvas'](_0x59a527),this[_0x1a6edd(0x1320,0xfbd)](_0x59a527,!![]),addEvent(_0x3fb4d5,'mousedown',this[_0x3e4e43(_0x429f68._0x1b0aa0,_0x429f68._0x469bef)][_0x1a6edd(_0x429f68._0x56ae0d,_0x429f68._0x12aad7)](this));}['_removeDragCanvas'](){const _0x37f392={_0x3ee648:0x95a,_0x2d104d:0x3f1,_0x56c3f5:0x566,_0x266051:0x364},_0x31c9ae={_0x29ed76:0xdb},_0x6a1cc6={_0x4954d6:0x1d6};function _0x8c588(_0x5ce561,_0x534d49){return _0x7afdbe(_0x5ce561,_0x534d49- -_0x6a1cc6._0x4954d6);}function _0x2be90b(_0x1012c9,_0x25f912){return _0x54a7f1(_0x1012c9-_0x31c9ae._0x29ed76,_0x25f912);}this['_dragCanvas']&&(this[_0x2be90b(_0x37f392._0x3ee648,_0x37f392._0x2d104d)][_0x2be90b(0x936,0x62)][_0x2be90b(_0x37f392._0x56c3f5,0xa19)](this[_0x8c588(_0x37f392._0x266051,0x8d7)]),delete this['_dragCanvas']);}['_canvasMouseDown'](_0x564f71){const _0x2ac5f5={_0x538c0c:0x4ad,_0x36d8b9:0x430,_0x15d9ba:0x885,_0x43573a:0x1256,_0x4b7b36:0xaef,_0x2b0010:0x48c},_0x3e2e81={_0x4691ec:0x8a,_0x13ee68:0xd4e,_0xc4f313:0xdd4,_0x35e633:0x55c},_0xcb88b2={_0x3a050b:0x1d3},_0x841e3c={_0x2ab4ba:0x8d3,_0x50a3bc:0x41a,_0x16b154:0x64f,_0x213325:0xf4f,_0x351680:0xedc,_0x2a651c:0x96,_0xd0624:0xf09,_0x4e5fab:0x8e,_0x7b76d4:0xbe6,_0x16b76b:0x11a1};_0x564f71[_0x1490b8(_0x2ac5f5._0x538c0c,_0x2ac5f5._0x36d8b9)](),_0x564f71['stopPropagation']();function _0x1490b8(_0x1e0cb9,_0x1c39f1){return _0x7afdbe(_0x1e0cb9,_0x1c39f1- -0x61e);}const _0x28dc23=this[_0x1ba099(_0x2ac5f5._0x15d9ba,0x640)];if(!_0x28dc23)return;const _0x186b52=this['_getDragRectPosition'](),_0x2479d2={};_0x2479d2['x']=_0x564f71[_0x1490b8(0xd6c,0x1057)],_0x2479d2['y']=_0x564f71[_0x1ba099(_0x2ac5f5._0x43573a,_0x2ac5f5._0x4b7b36)];const _0x144ffc=_0x2479d2;isInRect(_0x144ffc,_0x186b52)&&addEvent(_0x28dc23,_0x1490b8(_0x2ac5f5._0x2b0010,0xc1),_0x51429e);function _0x1ba099(_0x299947,_0x3cdac7){return _0x7afdbe(_0x299947,_0x3cdac7- -0x46d);}addEvent(_0x28dc23,'mouseup',_0x3a0076);const _0x2dbd56=this;let _0x545be2;function _0x51429e(_0x19562f){_0x19562f[_0x324f0b(_0x841e3c._0x2ab4ba,_0x841e3c._0x50a3bc)](),_0x19562f[_0x3e0690(_0x841e3c._0x16b154,-0x2e5)]();function _0x324f0b(_0x2539ca,_0x2444f8){return _0x1ba099(_0x2539ca,_0x2444f8- -0x1c7);}function _0x3e0690(_0x4ff351,_0x34bb8f){return _0x1ba099(_0x34bb8f,_0x4ff351-0x418);}let _0x5722db=_0x19562f['clientX']-_0x564f71['clientX'],_0x2cf4ec=_0x19562f[_0x3e0690(0x613,_0x841e3c._0x213325)]-_0x564f71['clientY'];_0x2dbd56[_0x3e0690(0x675,_0x841e3c._0x351680)]['scale']&&_0x2dbd56[_0x324f0b(-0x65e,_0x841e3c._0x2a651c)]['scale']!==0x1&&(_0x5722db/=_0x2dbd56['style'][_0x324f0b(0x8f4,0xf09)],_0x2cf4ec/=_0x2dbd56['style'][_0x324f0b(0x4de,_0x841e3c._0xd0624)]);const _0x2905b7=_0x28dc23[_0x324f0b(-0x26f,-_0x841e3c._0x4e5fab)]('2d');_0x2905b7[_0x324f0b(_0x841e3c._0x7b76d4,_0x841e3c._0x16b76b)](0x0,0x0,_0x28dc23['width'],_0x28dc23['height']),_0x2dbd56['_changeDragCanvas'](_0x2905b7),_0x545be2=_0x2dbd56['_drawingCanvas'](_0x2905b7,!![],_0x5722db,_0x2cf4ec);}function _0x3a0076(){function _0x2d8f15(_0x4c3fda,_0x5bd2e7){return _0x1ba099(_0x4c3fda,_0x5bd2e7- -0x133);}_0x564f71['preventDefault'](),_0x564f71['stopPropagation'](),removeEvent(_0x28dc23,_0x53b448(-0x80f,0x9f),_0x51429e),removeEvent(_0x28dc23,_0x2d8f15(-0x340,0x3e0),_0x3a0076);function _0x53b448(_0x486655,_0xcd9ce9){return _0x1ba099(_0x486655,_0xcd9ce9- -_0xcb88b2._0x3a050b);}if(_0x545be2){var _0x445204,_0x3ec0fd;_0x2dbd56[_0x53b448(0x28,_0x3e2e81._0x4691ec)][_0x2d8f15(0x1590,_0x3e2e81._0x13ee68)]=(_0x445204=_0x545be2)===null||_0x445204===void 0x0?void 0x0:_0x445204['x'],_0x2dbd56['style']['rectY']=(_0x3ec0fd=_0x545be2)===null||_0x3ec0fd===void 0x0?void 0x0:_0x3ec0fd['y'];}_0x2dbd56[_0x2d8f15(_0x3e2e81._0xc4f313,_0x3e2e81._0x35e633)](()=>{_0x2dbd56['_removeDragCanvas'](),_0x2dbd56['_visibleCzmObject'](!![]);});}}[_0x7afdbe(0x1c1e,0x1657)](_0x4824c1,_0x32dd1f=![],_0x369121=0x0,_0x3a61be=0x0){const _0x4ceedd={_0x27d18f:0x4ed,_0x1777c6:0x819,_0x5e3f15:0x1719,_0x193ccd:0x432,_0x557f14:0x467,_0x2fd5be:0x897,_0x332579:0x132f,_0x1fe7cb:0x66d,_0x4d3020:0xeb2,_0x1af8cd:0x841,_0x4727a4:0x1291,_0x4a69c2:0xd3,_0x26f4c6:0x1411,_0x9a30f6:0x12a3,_0x236269:0x47d,_0x98499a:0x962,_0x22c93d:0x11f5,_0x124588:0x88c,_0x213dfa:0xf2e,_0x452cc6:0xda6,_0x253621:0x11b2,_0x418456:0x131d,_0x3f7bbc:0xa99,_0x3601e7:0xc1f,_0x5acbfc:0x1729,_0x2f9a54:0x931,_0x4d91f3:0x5f7,_0x33ab1d:0x975,_0x225534:0x13e3},_0x4e8a12={_0x3651a4:0x1d1};_0x4824c1['beginPath'](),_0x4824c1['arc'](0x0,0x0,this[_0x23ee77(0x6be,0x66d)][_0x23ee77(0x14f4,0x12e0)],0x0,0x2*Math['PI']),_0x4824c1['fillStyle']=this[_0x11da00(_0x4ceedd._0x27d18f,0x188)][_0x23ee77(0xfd1,_0x4ceedd._0x1777c6)],_0x4824c1[_0x23ee77(0xec1,_0x4ceedd._0x5e3f15)]();this[_0x23ee77(_0x4ceedd._0x193ccd,0x66d)][_0x11da00(-0x90b,-0x2)]&&(_0x4824c1['strokeStyle']=this['style'][_0x23ee77(_0x4ceedd._0x557f14,0x819)],_0x4824c1[_0x23ee77(_0x4ceedd._0x2fd5be,_0x4ceedd._0x332579)]=this[_0x23ee77(0x9bb,_0x4ceedd._0x1fe7cb)]['pointOutlineWidth']??0x2);_0x4824c1['stroke'](),_0x4824c1['beginPath'](),_0x4824c1[_0x23ee77(0xe21,_0x4ceedd._0x4d3020)](0x0,0x0),_0x4824c1[_0x23ee77(0xee2,_0x4ceedd._0x332579)]=this[_0x23ee77(-0x324,0x66d)]['lineWidth']??0x2,_0x4824c1['strokeStyle']=this['style']['lineColor']??'yellow';this[_0x11da00(-_0x4ceedd._0x1af8cd,0x188)][_0x23ee77(0xa1c,0x119d)]&&_0x4824c1['setLineDash'](this['style'][_0x11da00(0x140b,0xcb8)]['split'](','));const _0x332119=[this['style'][_0x23ee77(0x1b41,_0x4ceedd._0x4727a4)]+_0x369121,this[_0x11da00(-_0x4ceedd._0x4a69c2,0x188)][_0x11da00(_0x4ceedd._0x26f4c6,0xe21)]+_0x3a61be],_0x43295d=[0x0,0x0];this['style']['autoPoistion']&&(_0x332119[0x0]<0x0&&Math[_0x23ee77(0x8a4,_0x4ceedd._0x9a30f6)](_0x332119[0x0])>this['style'][_0x11da00(0x92e,_0x4ceedd._0x236269)]/0x2&&(_0x43295d[0x0]=_0x43295d[0x0]+this['style'][_0x23ee77(0xe73,_0x4ceedd._0x98499a)]),_0x332119[0x1]>0x0&&_0x332119[0x1]>this['style'][_0x23ee77(0x74c,0x80b)]/0x2&&(_0x43295d[0x1]=_0x43295d[0x1]+-this[_0x11da00(-0x88a,0x188)]['rectHeight']));function _0x23ee77(_0x3005d9,_0x5da043){return _0x54a7f1(_0x5da043-_0x4e8a12._0x3651a4,_0x3005d9);}_0x4824c1['translate'](..._0x332119),_0x4824c1[_0x11da00(0xae6,0x1d7)](..._0x43295d),_0x4824c1[_0x11da00(0x271,0x1e4)](),_0x4824c1[_0x23ee77(_0x4ceedd._0x22c93d,_0x4ceedd._0x124588)]=this['style'][_0x23ee77(0xcee,0x109e)]??'rgb(16\x20238\x20220)',_0x4824c1[_0x11da00(0xfc8,0xf19)](0x0,0x0,this['style']['rectWidth'],-this['style'][_0x11da00(-0x3d5,0x326)]);function _0x11da00(_0xf1b76c,_0x2f31dd){return _0x7afdbe(_0xf1b76c,_0x2f31dd- -0x542);}_0x4824c1['stroke']();_0x32dd1f&&(_0x4824c1['font']=getFontByStyle(this['style'][_0x11da00(_0x4ceedd._0x213dfa,_0x4ceedd._0x452cc6)]),_0x4824c1[_0x23ee77(_0x4ceedd._0x253621,0x194a)]=this['style'][_0x23ee77(_0x4ceedd._0x418456,0x128b)][_0x23ee77(_0x4ceedd._0x3f7bbc,_0x4ceedd._0x3601e7)]??_0x23ee77(0xdca,0x74e),_0x4824c1[_0x23ee77(0x1bd5,_0x4ceedd._0x5acbfc)]=this[_0x11da00(_0x4ceedd._0x2f9a54,0x188)][_0x23ee77(0xc69,0x128b)]['baseline']??_0x23ee77(_0x4ceedd._0x4d91f3,_0x4ceedd._0x33ab1d),_0x4824c1['fillStyle']=this['style']['label'][_0x23ee77(0x1e13,_0x4ceedd._0x225534)]??'#ffffff',_0x4824c1['fillText'](this['style']['label']['text'],this[_0x23ee77(0x774,0x66d)]['rectWidth']/0x2,-this[_0x11da00(0x69a,0x188)][_0x23ee77(-0x1c,0x80b)]/0x2),_0x4824c1[_0x23ee77(0x103e,0x6c9)]());_0x4824c1['restore']();const _0xd8fa5e={};return _0xd8fa5e['x']=this['style'][_0x11da00(0x135f,0xdac)]+_0x369121,_0xd8fa5e['y']=this[_0x23ee77(0x9e1,0x66d)]['rectY']+_0x3a61be,_0xd8fa5e;}[_0x54a7f1(0x519,-0xa7)](){const _0x7161c6={_0xce375b:0xe39,_0x10fc36:0x5fe,_0xa86d9:0x47e,_0x487d0b:0x799,_0x3a53f8:0x1179,_0x38c183:0x1297,_0x4aac5c:0x5fe,_0x5e9f98:0x7e4,_0x210d2a:0x44a,_0x6eef9d:0x3c2,_0x4c0551:0x5fe,_0x555305:0x2e2,_0xb8319:0x2f,_0x2dc3f2:0x13d3,_0x5d8ea0:0xf92,_0x5e1a9e:0xd2,_0x301e3b:0x36c,_0x52f669:0x6b9,_0x4cdb56:0x7c7,_0x378161:0x1a0,_0x55b4ea:0xe39,_0x40649c:0x963,_0x18cdce:0x1222,_0x322d53:0x5fe,_0x1c0d85:0x5fe,_0x18a50d:0x4b4,_0x2c2d7c:0x415,_0x2c30e4:0xd1b};let _0x2a35b7=this['_graphicWindowPosition']['x']+this['style']['rectX'],_0x14c371=this[_0x51f303(0xca4,0xd1b)]['y']+this['style'][_0x51f303(0x624,_0x7161c6._0xce375b)],_0x56b612=this['style']['rectWidth'],_0x15209d=this[_0x266331(_0x7161c6._0x10fc36,-_0x7161c6._0xa86d9)]['rectHeight'];this[_0x266331(0x5fe,0xd7b)][_0x266331(0x1471,0x1e16)]&&this[_0x51f303(-_0x7161c6._0x487d0b,0x1a0)]['scale']!==0x1&&(_0x2a35b7=this[_0x266331(_0x7161c6._0x3a53f8,0xf08)]['x']+this['style']['rectX']*Number(this['style']['scale']),_0x14c371=this['_graphicWindowPosition']['y']+this['style'][_0x266331(_0x7161c6._0x38c183,0xa35)]*Number(this[_0x266331(_0x7161c6._0x4aac5c,0xfd4)]['scale']),_0x56b612=this[_0x51f303(0x906,0x1a0)][_0x266331(0x8f3,_0x7161c6._0x5e9f98)]*Number(this[_0x51f303(-_0x7161c6._0x210d2a,0x1a0)]['scale']),_0x15209d=this['style']['rectHeight']*Number(this[_0x51f303(0x433,0x1a0)]['scale']));if(this['style'][_0x266331(0x7ae,_0x7161c6._0x6eef9d)]){const _0x1f3ec8=this['_map']['getCameraDistance'](),_0x1725d8=this[_0x266331(_0x7161c6._0x4c0551,-_0x7161c6._0x555305)]['scaleByDistance'],_0x7706b6=_0x1725d8['near']||this['style'][_0x51f303(0x75a,_0x7161c6._0xb8319)],_0x55e317=_0x1725d8[_0x266331(0x18ee,_0x7161c6._0x2dc3f2)]||this[_0x266331(0x5fe,_0x7161c6._0x5d8ea0)][_0x51f303(_0x7161c6._0x5e1a9e,0x113)],_0x4b8a09=_0x1725d8['farValue']||this[_0x51f303(_0x7161c6._0x301e3b,0x1a0)]['scaleByDistance_farValue'],_0x4c344b=_0x1725d8['nearValue']||this[_0x266331(0x5fe,_0x7161c6._0x52f669)][_0x266331(0x397,_0x7161c6._0x4cdb56)];(_0x1f3ec8<_0x7706b6||_0x1f3ec8<_0x55e317)&&(_0x2a35b7=this['_graphicWindowPosition']['x']+this[_0x51f303(-0x3c9,_0x7161c6._0x378161)][_0x51f303(0x187a,0xdc4)]*Number(_0x4c344b),_0x14c371=this[_0x266331(0x1179,0x13a1)]['y']+this['style'][_0x51f303(0x538,_0x7161c6._0x55b4ea)]*Number(_0x4c344b),_0x56b612=this[_0x266331(0x5fe,_0x7161c6._0x40649c)]['rectWidth']*Number(_0x4c344b),_0x15209d=this['style']['rectHeight']*Number(_0x4c344b)),_0x1f3ec8>_0x55e317&&(_0x2a35b7=this['_graphicWindowPosition']['x']+this[_0x266331(_0x7161c6._0x4c0551,0x37e)][_0x266331(_0x7161c6._0x18cdce,0x1021)]*Number(_0x4b8a09),_0x14c371=this['_graphicWindowPosition']['y']+this[_0x51f303(-0x7e5,0x1a0)]['rectY']*Number(_0x4b8a09),_0x56b612=this[_0x266331(_0x7161c6._0x322d53,0x32f)][_0x51f303(-0x3ce,0x495)]*Number(_0x4b8a09),_0x15209d=this[_0x266331(_0x7161c6._0x1c0d85,0xd14)][_0x266331(0x79c,0xb7d)]*Number(_0x4b8a09));}const _0x32d90c={};_0x32d90c['x']=_0x2a35b7,_0x32d90c['y']=_0x14c371;const _0x5e0ec6={};_0x5e0ec6['x']=_0x2a35b7+_0x56b612,_0x5e0ec6['y']=_0x14c371;const _0x555670={};_0x555670['x']=_0x2a35b7,_0x555670['y']=_0x14c371-_0x15209d;const _0xa5310b={};_0xa5310b['x']=_0x2a35b7+_0x56b612,_0xa5310b['y']=_0x14c371-_0x15209d;function _0x51f303(_0x1f2e0c,_0x3f21b8){return _0x7afdbe(_0x1f2e0c,_0x3f21b8- -0x52a);}const _0x1298e1={};_0x1298e1['bl']=_0x32d90c;function _0x266331(_0x1d20f0,_0x7906d1){return _0x54a7f1(_0x1d20f0-0x162,_0x7906d1);}_0x1298e1['br']=_0x5e0ec6,_0x1298e1['tl']=_0x555670,_0x1298e1['tr']=_0xa5310b;const _0x4d60d2=_0x1298e1;return this['style']['rotationDegree']&&this['style']['rotationDegree']!==0x1&&(_0x4d60d2['bl']=getRotationPoint(this['_graphicWindowPosition'],_0x4d60d2['bl'],this[_0x266331(_0x7161c6._0x322d53,-_0x7161c6._0x18a50d)]['rotationDegree']),_0x4d60d2['br']=getRotationPoint(this['_graphicWindowPosition'],_0x4d60d2['br'],this['style'][_0x266331(0x11c7,0x15b6)]),_0x4d60d2['tl']=getRotationPoint(this[_0x51f303(_0x7161c6._0x2c2d7c,_0x7161c6._0x2c30e4)],_0x4d60d2['tl'],this['style']['rotationDegree']),_0x4d60d2['tr']=getRotationPoint(this['_graphicWindowPosition'],_0x4d60d2['tr'],this['style'][_0x266331(0x11c7,0x7e9)])),_0x4d60d2;}['_changeDragCanvas'](_0x10bf05){const _0x1d44a={_0x4c96a7:0x1936,_0x4e2a7f:0xbe4,_0x530ae8:0x50e,_0x2fc267:0x46c,_0x514e3d:0x169f,_0x2bcc66:0x2f6,_0x50223b:0x3cc,_0x2e2593:0x660,_0x2438b3:0xfcc,_0x4dc330:0x1470,_0x441ed8:0xa1f,_0xa2002:0x6be,_0x1fb228:0x490,_0x13bd39:0x112e},_0x1339dc={_0x5263f5:0x343},_0x52dedd={_0x421c50:0x1bc};_0x10bf05[_0x51e40f(_0x1d44a._0x4c96a7,0x1458)]();(this[_0x51e40f(_0x1d44a._0x4e2a7f,0x169f)]['opacity']||this[_0x51e40f(0x92d,_0x1d44a._0x530ae8)]['opacity'])&&(_0x10bf05[_0x36cb1f(_0x1d44a._0x2fc267,0x522)]=this['style']['opacity']||this[_0x51e40f(0xfff,_0x1d44a._0x514e3d)][_0x51e40f(-_0x1d44a._0x2bcc66,_0x1d44a._0x50223b)]);function _0x51e40f(_0x2b4fb2,_0x41831e){return _0x7afdbe(_0x2b4fb2,_0x41831e- -_0x52dedd._0x421c50);}_0x10bf05['translate'](this['_graphicWindowPosition']['x'],this['_graphicWindowPosition']['y']);function _0x36cb1f(_0x53eb50,_0x7f95a9){return _0x54a7f1(_0x7f95a9- -_0x1339dc._0x5263f5,_0x53eb50);}this[_0x51e40f(_0x1d44a._0x2e2593,0x50e)][_0x36cb1f(0xe1d,_0x1d44a._0x2438b3)]&&this['style']['scale']!==0x1&&_0x10bf05[_0x36cb1f(_0x1d44a._0x4dc330,0xfcc)](this['style'][_0x36cb1f(0xfe8,_0x1d44a._0x2438b3)],this[_0x51e40f(0x2f8,_0x1d44a._0x530ae8)][_0x51e40f(_0x1d44a._0x441ed8,0x1381)]);if(this['style'][_0x51e40f(0x944,_0x1d44a._0xa2002)]){const _0x164941=this[_0x36cb1f(0x151,_0x1d44a._0x1fb228)]['getCameraDistance'](),_0x525773=this['style']['scaleByDistance'],_0xcefe88=_0x525773['near']||this['style']['scaleByDistance_near'],_0x10c9b1=_0x525773['far']||this[_0x51e40f(0x30,_0x1d44a._0x530ae8)][_0x51e40f(0xc15,0x481)],_0x156058=_0x525773['farValue']||this['style'][_0x51e40f(0x14b1,_0x1d44a._0x13bd39)],_0x159cb0=_0x525773['nearValue']||this['style']['scaleByDistance_nearValue'];(_0x164941<_0xcefe88||_0x164941<_0x10c9b1)&&_0x10bf05['scale'](_0x159cb0,_0x159cb0),_0x164941>_0x10c9b1&&_0x10bf05[_0x36cb1f(0xa38,0xfcc)](_0x156058,_0x156058);}this['style'][_0x51e40f(0xc60,0x10d7)]&&_0x10bf05[_0x36cb1f(0xb0f,0x56a)](-(this['style'][_0x36cb1f(0x67c,0xd22)]*Math['PI'])/0xb4);}}register$5(_0x7afdbe(0xc25,0xb08),BillboardIndicator,!![]);function getRotationPoint(_0x2ee819,_0x26563b,_0x15c9db,_0x1565f4=!![]){const _0x4fa25f={_0x42c317:0x1649,_0x268da8:0x16d4},_0x1fc934={_0x1fb044:0xbc},_0xc41a78={_0xa446b3:0x10b},{x:_0x346aff,y:_0x56dac6}=_0x2ee819,{x:_0xf8d17d,y:_0x3aa85f}=_0x26563b,_0x14744e=Math['PI']/0xb4*(_0x1565f4?0x168-_0x15c9db:_0x15c9db),_0x383c34=+((_0xf8d17d-_0x346aff)*Math[_0x5d85b8(_0x4fa25f._0x42c317,0x1ca4)](_0x14744e)-(_0x3aa85f-_0x56dac6)*Math['sin'](_0x14744e)+_0x346aff)['toFixed'](0x6),_0x2e6375=+((_0xf8d17d-_0x346aff)*Math['sin'](_0x14744e)+(_0x3aa85f-_0x56dac6)*Math[_0x1872d7(_0x4fa25f._0x268da8,0x1698)](_0x14744e)+_0x56dac6)['toFixed'](0x6),_0x41379f={};_0x41379f['x']=_0x383c34;function _0x5d85b8(_0x33c41e,_0x5f2f7d){return _0x54a7f1(_0x33c41e- -_0xc41a78._0xa446b3,_0x5f2f7d);}function _0x1872d7(_0x336147,_0x284264){return _0x54a7f1(_0x284264- -_0x1fc934._0x1fb044,_0x336147);}return _0x41379f['y']=_0x2e6375,_0x41379f;}function isInRect(_0x47fa7c,_0x303dec){const {x:_0x2b9ee0,y:_0x4904df}=_0x47fa7c,{bl:_0x139b4c,br:_0x2b683c,tl:_0x85e77a,tr:_0x47e90a}=_0x303dec;return _0x2b9ee0>_0x139b4c['x']&&_0x2b9ee0<_0x47e90a['x']&&_0x4904df>_0x139b4c['y']&&_0x4904df<_0x47e90a['y']||_0x2b9ee0>_0x85e77a['x']&&_0x2b9ee0<_0x2b683c['x']&&_0x4904df>_0x85e77a['y']&&_0x4904df<_0x2b683c['y'];}function addEvent(_0x1ea210,_0x4271d6,_0x28da90){const _0x2734ac={_0x44d562:0x166e,_0x35a633:0xcfc},_0x2b7ed2={_0xf416a2:0x31a},_0x31f741={_0x49da76:0xf5};function _0x17396f(_0x59bac8,_0x5e7da0){return _0x54a7f1(_0x5e7da0- -_0x31f741._0x49da76,_0x59bac8);}function _0x137e52(_0x18b192,_0x3263c3){return _0x54a7f1(_0x18b192- -_0x2b7ed2._0xf416a2,_0x3263c3);}if(!_0x1ea210)return;if(_0x1ea210['attachEvent'])_0x1ea210['attachEvent']('on'+_0x4271d6,_0x28da90);else _0x1ea210[_0x17396f(0x1c54,_0x2734ac._0x44d562)]?_0x1ea210[_0x17396f(_0x2734ac._0x35a633,0x166e)](_0x4271d6,_0x28da90):_0x1ea210['on'+_0x4271d6]=_0x28da90;}function removeEvent(_0x30c218,_0x9659fd,_0x52d61e){const _0x4a9160={_0x506012:0x1415,_0x175b32:0x7f7,_0x3b1e45:0xd57};function _0x1dd383(_0x2d217c,_0x37c45e){return _0x7afdbe(_0x37c45e,_0x2d217c- -0x41c);}if(!_0x30c218)return;function _0x3a9765(_0x2b63e9,_0x37708b){return _0x54a7f1(_0x37708b-0x172,_0x2b63e9);}if(_0x30c218[_0x3a9765(_0x4a9160._0x506012,0xb57)])_0x30c218[_0x1dd383(_0x4a9160._0x175b32,0x695)]('on'+_0x9659fd,_0x52d61e);else _0x30c218[_0x1dd383(_0x4a9160._0x3b1e45,0xe1e)]?_0x30c218['removeEventListener'](_0x9659fd,_0x52d61e):_0x30c218['on'+_0x9659fd]=null;}const bgImageCache={},textGroupSize=0x6;function getCanvasImage(_0xa4789b){const _0x4bf380={_0x14c20:0x11e7,_0x28a656:0xc36,_0x5f3874:0x2d4,_0x23155d:0x7a4,_0xdb399:0x7ba,_0x39a49c:0x174f,_0xcf09fa:0x2bf,_0x1f4b09:0x279,_0x56360c:0x133a,_0x433e2b:0xe1f,_0x5edb01:0x427,_0x542bde:0x593,_0x2f0258:0x10ae,_0x273b27:0x142f,_0x51ab5f:0xff7,_0x1f2893:0x1a70,_0x1583a2:0x85,_0x4ed85e:0xea4,_0x482834:0xfaa,_0x546a5d:0xfd,_0x2c1e17:0x8cb,_0x41f389:0xcfd,_0x15a40c:0x1105,_0x2eef41:0x177b,_0x33dc00:0x9f4,_0x5794f8:0xf21,_0x4009f9:0x8f7,_0x46919c:0x1e3,_0x270ad8:0x512,_0x56884b:0x146a,_0x4e62b5:0xbad,_0x1d5c4d:0xde6},_0x4e2d63={_0x4d541e:0x3ee},_0x36f110={_0x55ca8a:0x128};let _0x5375db=_0xa4789b['label']['text'];const _0x2edf42=getStrLength(_0x5375db),_0x104304=Math[_0x274fd4(0x663,0xb97)](_0x2edf42/textGroupSize),_0x26c0a4=_0xa4789b[_0x274fd4(0xcd2,0x11cb)]+'_'+_0xa4789b['rectY']+'_'+_0x104304+'_'+(_0xa4789b[_0x3c1034(0xef5,_0x4bf380._0x14c20)]??0x1)+'_'+(_0xa4789b['label']['font_size']??0x12);if(bgImageCache[_0x26c0a4])return bgImageCache[_0x26c0a4];const _0x42d8e0=document[_0x274fd4(_0x4bf380._0x28a656,_0x4bf380._0x5f3874)](_0x3c1034(_0x4bf380._0x23155d,_0x4bf380._0xdb399)),_0xc68e73={};_0xc68e73['willReadFrequently']=!![];const _0x353331=_0x42d8e0['getContext']('2d',_0xc68e73);let _0x5401f5=_0xa4789b['rectWidth'],_0x5bc379=_0xa4789b['rectHeight'];_0x353331['font']=getFontByStyle(_0xa4789b[_0x274fd4(0xccc,0x606)]);for(let _0x31f93e=0x0,_0x1bbaef=_0x104304*textGroupSize-_0x2edf42;_0x31f93e<_0x1bbaef;_0x31f93e++){_0x5375db+='0';}const _0xa53a76=_0x353331['measureText'](_0x5375db);_0x5401f5=_0xa53a76[_0x274fd4(0x1169,_0x4bf380._0x39a49c)]+0xa,_0x5bc379=_0xa53a76[_0x274fd4(_0x4bf380._0xcf09fa,0x8a)]+_0xa53a76[_0x274fd4(0x9e6,0xf60)]+0xa,_0x42d8e0[_0x274fd4(0x1169,0x9e7)]=(_0x5401f5+Math['abs'](_0xa4789b[_0x274fd4(0xcd2,0x9b4)]))*0x2,_0x42d8e0[_0x274fd4(_0x4bf380._0x1f4b09,0x320)]=(_0x5bc379+Math['abs'](_0xa4789b[_0x3c1034(_0x4bf380._0x56360c,0x100d)]))*0x2,_0x353331[_0x274fd4(_0x4bf380._0x433e2b,_0x4bf380._0x5edb01)](_0x42d8e0['width']/0x2,_0x42d8e0['height']/0x2),_0x353331['beginPath'](),_0x353331[_0x274fd4(0x880,0x594)](0x0,0x0,_0xa4789b['pointSize'],0x0,0x2*Math['PI']),_0x353331[_0x3c1034(0x774,_0x4bf380._0x542bde)]=_0xa4789b['pointColor'],_0x353331[_0x3c1034(_0x4bf380._0x2f0258,0x1420)]();_0xa4789b['pointOutline']&&(_0x353331[_0x3c1034(0x1276,0x11f0)]=_0xa4789b[_0x3c1034(0x2df,0x520)],_0x353331[_0x274fd4(0xd70,_0x4bf380._0x273b27)]=_0xa4789b['pointOutlineWidth']??0x2);_0x353331['stroke'](),_0x353331[_0x274fd4(_0x4bf380._0x51ab5f,_0x4bf380._0x1f2893)](),_0x353331['moveTo'](0x0,0x0),_0x353331[_0x274fd4(0xd70,0x180d)]=_0xa4789b[_0x274fd4(0xd70,0x41c)]??0x2,_0x353331['strokeStyle']=_0xa4789b['lineColor']??_0x274fd4(_0x4bf380._0x1583a2,0x15d);_0xa4789b['lineDash']&&_0x353331['setLineDash'](_0xa4789b[_0x3c1034(0x1159,_0x4bf380._0x4ed85e)][_0x3c1034(0x8a1,0x1080)](','));const _0x1db031=_0xa4789b['rectX'],_0x34811a=_0xa4789b['rectY'];let _0x574c0a=0x0,_0x1180a8=0x0;_0xa4789b['autoPoistion']&&(_0x1db031<0x0&&Math[_0x3c1034(0x891,_0x4bf380._0x482834)](_0x1db031)>_0x5401f5/0x2&&(_0x574c0a=_0x5401f5),_0x34811a>0x0&&_0x34811a>_0x5bc379/0x2&&(_0x1180a8=-_0x5bc379));_0x353331[_0x3c1034(0x19e3,0x10e5)](_0x1db031,_0x34811a);function _0x3c1034(_0x50259b,_0x595a1c){return _0x54a7f1(_0x595a1c- -_0x36f110._0x55ca8a,_0x50259b);}_0x353331[_0x274fd4(_0x4bf380._0x546a5d,-0x4ea)](_0x574c0a,_0x1180a8),_0x353331['stroke'](),_0x353331['fillStyle']=_0xa4789b[_0x274fd4(0xadf,0x5c)]??_0x3c1034(0x102f,_0x4bf380._0x2c1e17),_0x353331[_0x3c1034(_0x4bf380._0x41f389,_0x4bf380._0x15a40c)](0x0,0x0,_0x5401f5,-_0x5bc379),_0x353331['stroke']();const _0x5505a4=_0x42d8e0[_0x3c1034(0xc09,0xa2a)](_0x3c1034(_0x4bf380._0x2eef41,0xefe));function _0x274fd4(_0x460f31,_0x45f0f6){return _0x54a7f1(_0x460f31- -_0x4e2d63._0x4d541e,_0x45f0f6);}let _0x2d1ad3=_0x1db031+_0x5401f5/0x2+_0xa4789b['pointSize']/0x2,_0x58dc8f=_0x34811a-_0x5bc379+_0xa4789b['pointSize'];_0xa4789b[_0x3c1034(_0x4bf380._0x33dc00,0x11e7)]&&_0xa4789b['scale']!==0x1&&(_0x2d1ad3*=_0xa4789b['scale'],_0x58dc8f*=_0xa4789b[_0x274fd4(_0x4bf380._0x5794f8,_0x4bf380._0x4009f9)]);const _0x5e4c7d={};_0x5e4c7d['image']=_0x5505a4,_0x5e4c7d['rectWidth']=_0x5401f5,_0x5e4c7d[_0x3c1034(-_0x4bf380._0x46919c,_0x4bf380._0x270ad8)]=_0x5bc379,_0x5e4c7d[_0x3c1034(_0x4bf380._0x56884b,_0x4bf380._0x4e62b5)]=_0x2d1ad3,_0x5e4c7d[_0x274fd4(0xa3c,_0x4bf380._0x1d5c4d)]=_0x58dc8f;const _0x4fc0d6=_0x5e4c7d;return bgImageCache[_0x26c0a4]=_0x4fc0d6,_0x4fc0d6;}function getFontByStyle(_0x50b8bb){const _0x4e45e8={_0x1068b5:0x11a8},_0x128abd={_0x4602f1:0x502};function _0x482b87(_0x1a8d5f,_0x52da31){return _0x7afdbe(_0x52da31,_0x1a8d5f- -_0x128abd._0x4602f1);}if(Cesium__namespace['defined'](_0x50b8bb['font']))return _0x50b8bb['font'];return(_0x50b8bb['font_style']||'')+'\x20'+(_0x50b8bb['font_weight']||'')+'\x20'+(_0x50b8bb['font_size']||0x12)+'px\x20\x20'+(_0x50b8bb[_0x482b87(_0x4e45e8._0x1068b5,0x13e9)]||'微软雅黑');}class CloudPrimitive extends BasePointPrimitive{get[_0x7afdbe(0x2fc,0x66d)](){const _0xa1bdef={_0x2166c7:0xe94};function _0x51f0da(_0x5ae0d3,_0x55b397){return _0x54a7f1(_0x55b397- -0x9d,_0x5ae0d3);}var _0x52124c;return(_0x52124c=this[_0x51f0da(_0xa1bdef._0x2166c7,0x1590)])===null||_0x52124c===void 0x0?void 0x0:_0x52124c['cloudCollection'];}get['maximumSize'](){const _0x2591b2={_0x889eda:0x259};function _0x265a53(_0x522b2f,_0x16ee42){return _0x54a7f1(_0x16ee42- -0x243,_0x522b2f);}return this[_0x265a53(0x740,_0x2591b2._0x889eda)]['maximumSize'];}set['maximumSize'](_0x5523d2){const _0x52b3c5={_0x2de963:0xf87,_0x4a38da:0x1913},_0x1713f5={_0x2d1f0f:0x222};function _0x14b6f0(_0x292e7e,_0x526625){return _0x54a7f1(_0x292e7e- -0x423,_0x526625);}this['style']['maximumSize']=_0x5523d2;function _0xf17c9e(_0x25c887,_0x57ae3a){return _0x54a7f1(_0x25c887- -_0x1713f5._0x2d1f0f,_0x57ae3a);}this['_primitive']&&(this[_0x14b6f0(_0x52b3c5._0x2de963,0x1965)][_0xf17c9e(0x1296,_0x52b3c5._0x4a38da)]=_0x5523d2);}get['scale'](){const _0x22a0e5={_0x3ba10c:0x88a,_0x3ac744:0xd47};function _0x1b69a8(_0x3a527a,_0x4071b7){return _0x54a7f1(_0x4071b7- -0x3fe,_0x3a527a);}function _0x40fb53(_0x332641,_0xce0547){return _0x7afdbe(_0x332641,_0xce0547- -0x201);}return this[_0x1b69a8(-_0x22a0e5._0x3ba10c,0x9e)][_0x1b69a8(_0x22a0e5._0x3ac744,0xf11)];}set['scale'](_0x7f5fec){const _0xaaaa75={_0x35af7f:0x5ac,_0x3aa0b3:0x19a3};function _0x16c0d8(_0x27fea5,_0x401794){return _0x7afdbe(_0x27fea5,_0x401794- -0x28b);}this[_0x325dfb(0x575,_0xaaaa75._0x35af7f)]['scale']=_0x7f5fec;function _0x325dfb(_0x1fd107,_0x1b0227){return _0x7afdbe(_0x1fd107,_0x1b0227- -0x11e);}this[_0x325dfb(_0xaaaa75._0x3aa0b3,0x14ba)]&&(this[_0x16c0d8(0x16d8,0x134d)]['scale']=_0x7f5fec);}get[_0x7afdbe(0x343,0xa39)](){return this['style']['slice'];}set['slice'](_0x19a410){const _0x466ecc={_0x3befb9:0x316,_0x6bbc87:0x5a6,_0x239e8b:0x1646,_0x4d5284:0x1145},_0x241be3={_0x5495a9:0x265};function _0x14d5a5(_0x500196,_0xd005b2){return _0x54a7f1(_0x500196- -0x2e5,_0xd005b2);}function _0x451ef7(_0x11b920,_0x49f696){return _0x54a7f1(_0x49f696- -_0x241be3._0x5495a9,_0x11b920);}this[_0x451ef7(-0x61c,0x237)][_0x451ef7(_0x466ecc._0x3befb9,_0x466ecc._0x6bbc87)]=_0x19a410,this[_0x14d5a5(0x10c5,0x1a77)]&&(this[_0x451ef7(_0x466ecc._0x239e8b,_0x466ecc._0x4d5284)]['slice']=_0x19a410);}get['brightness'](){const _0x3ee15c={_0xbe4eb4:0xf92,_0x582ee8:0xc7f},_0x1d40ab={_0x4415ff:0x92};function _0x146e69(_0x38f468,_0x3ac86e){return _0x54a7f1(_0x38f468-_0x1d40ab._0x4415ff,_0x3ac86e);}return this['style'][_0x146e69(_0x3ee15c._0xbe4eb4,_0x3ee15c._0x582ee8)];}set['brightness'](_0x54bcba){const _0x14a7dd={_0xcd1ade:0x5b3,_0x5c2380:0x163a,_0x4ab645:0x119a},_0x5154ee={_0xf09f23:0x13};function _0x366c07(_0x43e348,_0x347956){return _0x54a7f1(_0x347956- -_0x5154ee._0xf09f23,_0x43e348);}function _0x21054e(_0x53c7b9,_0x5157df){return _0x54a7f1(_0x53c7b9-0x290,_0x5157df);}this[_0x366c07(_0x14a7dd._0xcd1ade,0x489)]['brightness']=_0x54bcba,this[_0x21054e(_0x14a7dd._0x5c2380,0x205b)]&&(this['_primitive'][_0x21054e(0x1190,_0x14a7dd._0x4ab645)]=_0x54bcba);}get[_0x54a7f1(0x882,0x851)](){return![];}[_0x54a7f1(0x1121,0x11e3)](_0x8aefe6){const _0x97f345={_0x5f0b3b:0x73e,_0x35306b:0x1373,_0x2676d3:0x133},_0x3721f4={_0x1310e0:0x36e};if(!this['show'])return;this['_forPositionProperty'](this['options']['position']);const _0x1acfaa={};_0x1acfaa[_0x243f8f(0x11c6,_0x97f345._0x5f0b3b)]=this['show'],_0x1acfaa[_0x381f1c(0x1373,0xa86)]=this[_0x381f1c(_0x97f345._0x35306b,0x17a8)];const _0x189f03=CloudStyleConver['toCesiumVal'](_0x8aefe6,_0x1acfaa);function _0x381f1c(_0x5ef2e6,_0x11241a){return _0x54a7f1(_0x5ef2e6- -_0x3721f4._0x1310e0,_0x11241a);}this['_primitive']=this['primitiveCollection'][_0x381f1c(0x322,_0x97f345._0x2676d3)](_0x189f03);function _0x243f8f(_0x9f3bf5,_0x36b010){return _0x54a7f1(_0x9f3bf5- -0x42d,_0x36b010);}_0x8aefe6['label']&&this['_addLabel'](_0x8aefe6['label']),this['_availability']&&this['_updateAvailabilityHook'](this['_availability']);}[_0x7afdbe(0x12c1,0x1978)](_0x586690){const _0x1f3242={_0x2ea9a5:0x11f5,_0x3a9909:0x129a};function _0x41302c(_0x278a6d,_0x2dc4cf){return _0x7afdbe(_0x2dc4cf,_0x278a6d- -0x62c);}this['_primitive']?this['_primitive'][_0x41302c(_0x1f3242._0x2ea9a5,_0x1f3242._0x3a9909)]=_0x586690:super['_showHook'](_0x586690);}['_updateStyleHook'](_0x7732b7,_0x24cdda){const _0x16ad70={_0x44e703:0x208};function _0x26c3bb(_0x15972d,_0x435804){return _0x54a7f1(_0x15972d-_0x16ad70._0x44e703,_0x435804);}CloudStyleConver[_0x26c3bb(0xfe1,0x1948)](_0x7732b7,this['primitive']);}[_0x54a7f1(0x82f,0xac2)](_0x571aa2,_0x1dc0e2){const _0x1d40e6={_0x5494a3:0x13fb,_0x3595bf:0x1e3e};function _0x3b25d2(_0x923ed0,_0x3eaf61){return _0x54a7f1(_0x923ed0-0xc0,_0x3eaf61);}return CloudStyleConver[_0x3b25d2(_0x1d40e6._0x5494a3,_0x1d40e6._0x3595bf)](_0x571aa2,_0x1dc0e2);}['_updatePositionsHook'](){const _0x4d3c15={_0x344871:0x13f5},_0x14adeb={_0x50817a:0x2ec};function _0x395ed4(_0x2a50eb,_0x29e660){return _0x54a7f1(_0x29e660- -_0x14adeb._0x50817a,_0x2a50eb);}function _0xc4c4d(_0x45c20b,_0x2f3a28){return _0x7afdbe(_0x2f3a28,_0x45c20b- -0x333);}this['_primitive'][_0xc4c4d(0x15dc,0xb71)]=this[_0x395ed4(0xec3,_0x4d3c15._0x344871)];}['_updateAvailabilityHook'](_0x9f180a){const _0xa28592={_0x126152:0x1c9c,_0x5d47c1:0x54d,_0x529f18:0xf93},_0xa2792e={_0x5c11c5:0x96},_0x545143={_0x1ce80c:0x8d},_0x4973c0={_0x493556:0xe62};_0x9f180a?this[_0xa0a015(0x145a,_0xa28592._0x126152)]():(this[_0x2dacc0(_0xa28592._0x5d47c1,0xac9)](),this[_0xa0a015(0x131d,_0xa28592._0x529f18)]['show']=this['show'],this['czmObjectEx']['forEach'](_0x32aca2=>{function _0x18fdf8(_0x26995a,_0x34792a){return _0xa0a015(_0x34792a- -0x35c,_0x26995a);}_0x32aca2['show']=this[_0x18fdf8(_0x4973c0._0x493556,0x120a)];}));function _0xa0a015(_0x108e3b,_0x44e72a){return _0x54a7f1(_0x108e3b- -_0x545143._0x1ce80c,_0x44e72a);}function _0x2dacc0(_0x2d7a4f,_0x4e3a1b){return _0x54a7f1(_0x4e3a1b-_0xa2792e._0x5c11c5,_0x2d7a4f);}this['_editing_entity']&&(this[_0x2dacc0(0x1739,0x1253)]['availability']=_0x9f180a);}['_getDrawEntityClass'](_0x31fdca,_0x1a6af7){return this['_getDrawPointEntityClass'](_0x31fdca,_0x1a6af7);}}register$5('cloud',CloudPrimitive,!![]);class LabelPrimitive extends BasePointPrimitive{get['primitiveCollection'](){const _0xe9a01e={_0xee10b0:0xab0};var _0x255905;function _0x430fc2(_0x889f34,_0x38c713){return _0x54a7f1(_0x38c713- -0x441,_0x889f34);}return(_0x255905=this['_layer'])===null||_0x255905===void 0x0?void 0x0:_0x255905[_0x430fc2(0x919,_0xe9a01e._0xee10b0)];}get['text'](){return this['style']['text'];}set[_0x7afdbe(0x156e,0x1329)](_0x39cd0a){const _0x5f4c4b={_0x34a15d:0x785,_0x2a0768:0x1429},_0x125257={_0x4c826d:0x7f},_0x5d5271={_0x1f9d2d:0xe1};function _0x2034f0(_0x46fa96,_0x2a3789){return _0x54a7f1(_0x46fa96- -_0x5d5271._0x1f9d2d,_0x2a3789);}this[_0x2034f0(0x3bb,-0x10b)][_0x2034f0(0x101a,_0x5f4c4b._0x34a15d)]=_0x39cd0a;function _0x55ea4e(_0x427297,_0x3fb868){return _0x54a7f1(_0x427297-_0x125257._0x4c826d,_0x3fb868);}this['_primitive']&&(this[_0x55ea4e(_0x5f4c4b._0x2a0768,0xb2f)]['text']=_0x39cd0a);}[_0x7afdbe(0x1a67,0x1978)](_0x1f3e7e){const _0x5b14f6={_0x12ed67:0x42b};function _0x5a29d9(_0xf45820,_0x5b8ae7){return _0x7afdbe(_0x5b8ae7,_0xf45820- -_0x5b14f6._0x12ed67);}if(this['_primitive'])this[_0x5a29d9(0x11ad,0xf43)]['show']=_0x1f3e7e;else _0x1f3e7e&&super['_showHook'](_0x1f3e7e);}[_0x54a7f1(0x1121,0x1a91)](_0x45d1d5){const _0x3b8fa0={_0x1bc20e:0x182a,_0x286e6b:0x1014,_0x53c665:0x1918,_0x149060:0x14ff},_0x5747c1={_0x4b8761:0x3c5};if(!this[_0x5a283d(_0x3b8fa0._0x1bc20e,_0x3b8fa0._0x286e6b)])return;function _0x5a283d(_0x23bfb3,_0x7f4776){return _0x7afdbe(_0x7f4776,_0x23bfb3-0x9);}function _0x22afae(_0x4a789e,_0x4a9750){return _0x54a7f1(_0x4a789e- -_0x5747c1._0x4b8761,_0x4a9750);}const _0x1a0b4c=LabelStyleConver[_0x22afae(0xa14,0xb14)](this['style'],{'show':this['show'],'position':this[_0x5a283d(_0x3b8fa0._0x53c665,0x1ee0)]},{},this[_0x22afae(0x12c2,_0x3b8fa0._0x149060)]);this['_primitive']=this[_0x5a283d(0x676,0x743)]['add'](_0x1a0b4c);}[_0x54a7f1(0x10d4,0x1652)](_0x10b670,_0x4f4423){const _0x2c614b={_0x9a5e2d:0x618};function _0x44e2f6(_0xcd71da,_0x1fee29){return _0x7afdbe(_0xcd71da,_0x1fee29- -0x63e);}function _0x423662(_0x443c7c,_0x2a71cb){return _0x54a7f1(_0x2a71cb- -0x180,_0x443c7c);}LabelStyleConver[_0x423662(0xa52,0xc59)](_0x10b670,this[_0x423662(_0x2c614b._0x9a5e2d,0xf74)],this['attr']);}['_style2Json'](_0x169a4e,_0x4e5227){return LabelStyleConver['toJSON'](_0x169a4e,_0x4e5227);}['_updatePositionsHook'](){const _0x51a3c4={_0x3b90fe:0x1154},_0x1d0245={_0x43260b:0x187};function _0x9b3d49(_0x4aa4db,_0x593679){return _0x7afdbe(_0x4aa4db,_0x593679- -_0x1d0245._0x43260b);}this['_primitive']['position']=this[_0x9b3d49(_0x51a3c4._0x3b90fe,0x1788)];}['_updateAvailabilityHook'](_0x5a4543){const _0x141065={_0x245b74:0x646,_0x507954:0x700,_0x131428:0x189,_0x192580:0x735,_0x437cb6:0xda8},_0x5bc3b2={_0x4ba8d9:0x3ed};function _0x122134(_0x2182f0,_0x4bf3e1){return _0x7afdbe(_0x4bf3e1,_0x2182f0- -0x5b3);}function _0x3f113d(_0x229d8e,_0x24f565){return _0x54a7f1(_0x229d8e- -_0x5bc3b2._0x4ba8d9,_0x24f565);}_0x5a4543?this['bindUpdateEvent']():(this[_0x3f113d(_0x141065._0x245b74,_0x141065._0x507954)](),this['_primitive'][_0x122134(0x126e,0x853)]=this['show'],this[_0x122134(_0x141065._0x131428,_0x141065._0x192580)]['forEach'](_0xdbd4a4=>{function _0x596475(_0x2b5019,_0x16a6a8){return _0x122134(_0x2b5019-0x511,_0x16a6a8);}_0xdbd4a4[_0x596475(0x177f,0x1ef4)]=this['show'];})),this['_editing_entity']&&(this[_0x3f113d(0xdd0,0x1306)][_0x3f113d(_0x141065._0x437cb6,0x763)]=_0x5a4543);}['_getDrawEntityClass'](_0x4fe590,_0xc65687){return create$5('label',_0x4fe590);}['setOpacity'](_0x3789df){const _0x429373={_0x24f64b:0xaff,_0x13af8f:0x6b1,_0x2d1669:0x12f6},_0x9b7a9c={_0x47e07d:0x2e2};function _0x5a94f0(_0x464a29,_0x485be0){return _0x7afdbe(_0x464a29,_0x485be0- -_0x9b7a9c._0x47e07d);}this[_0x2ff0bf(_0x429373._0x24f64b,_0x429373._0x13af8f)]['globalAlpha']=_0x3789df;function _0x2ff0bf(_0x3847a6,_0x3616f0){return _0x7afdbe(_0x3847a6,_0x3616f0- -0x19);}this[_0x5a94f0(0x1825,_0x429373._0x2d1669)]&&this['show']&&LabelStyleConver['setOpacity'](this['_primitive'],_0x3789df);}['getWindowCoordinates'](_0x554a14){const _0x25dc99={_0x4201e:0x163a},_0x432600={_0x47b307:0x102},_0x155f05={_0x2efbae:0x62};function _0x5d8c54(_0x37c470,_0x7a5ab){return _0x7afdbe(_0x7a5ab,_0x37c470-_0x155f05._0x2efbae);}function _0x4f8e36(_0x25aeeb,_0x10e4bd){return _0x54a7f1(_0x10e4bd-_0x432600._0x47b307,_0x25aeeb);}return this[_0x5d8c54(_0x25dc99._0x4201e,0xe33)]['computeScreenSpacePosition'](this['_map'][_0x5d8c54(0x130f,0x96a)],_0x554a14);}['getBoundingBox'](_0x190ba0,_0x307625){const _0x5e3d9e={_0x5cdca3:0x16c5,_0x212b6f:0x1952,_0x4468fa:0x1638};function _0x10b37d(_0x28623f,_0x139c47){return _0x7afdbe(_0x139c47,_0x28623f-0x67);}function _0x4830d8(_0x1550fd,_0x4015f2){return _0x54a7f1(_0x4015f2-0x28e,_0x1550fd);}return Cesium__namespace[_0x4830d8(_0x5e3d9e._0x5cdca3,0xebb)]['getScreenSpaceBoundingBox'](this[_0x4830d8(_0x5e3d9e._0x212b6f,_0x5e3d9e._0x4468fa)],_0x190ba0,_0x307625);}}register$5('labelP',LabelPrimitive,!![]);class ModelPrimitive extends BasePointPrimitive{constructor(_0x2a0754={}){super(_0x2a0754),this['_readyPromise']=Cesium__namespace['defer']();}get[_0x54a7f1(0x50e,0xb6a)](){const _0x5e296b={_0x468fb9:0xd2c,_0x527a4a:0x138a},_0x1bdd6a={_0x285912:0x1dc};function _0x1d4804(_0x402fbb,_0x48cf8c){return _0x54a7f1(_0x402fbb- -_0x1bdd6a._0x285912,_0x48cf8c);}const _0x32a370=[];function _0x504c13(_0x427d5d,_0x2734e9){return _0x7afdbe(_0x427d5d,_0x2734e9- -0x9b);}return this['_primitive_label']&&_0x32a370['push'](this['_primitive_label']),this['_primitive_point']&&_0x32a370[_0x1d4804(_0x5e296b._0x468fb9,0x13a6)](this['_primitive_point']),this['_primitive_billboard']&&_0x32a370[_0x504c13(_0x5e296b._0x527a4a,0x109b)](this['_primitive_billboard']),_0x32a370;}get['scale'](){const _0x55bee4={_0x55c9dc:0xe3,_0x56dd6b:0x17d6},_0x18c839={_0x2ed649:0x29d},_0x41ffae={_0x13ca9b:0x52};function _0x21ec48(_0x96f7fc,_0x2d73d7){return _0x54a7f1(_0x96f7fc- -_0x41ffae._0x13ca9b,_0x2d73d7);}function _0x2b54b5(_0x49e90f,_0x14c9f4){return _0x54a7f1(_0x49e90f- -_0x18c839._0x2ed649,_0x14c9f4);}return this[_0x21ec48(0x44a,-_0x55bee4._0x55c9dc)][_0x21ec48(0x12bd,_0x55bee4._0x56dd6b)]??0x1;}set['scale'](_0x566ef8){const _0x3c41e4={_0x13d816:0x40a,_0x5188eb:0x171},_0xc1e4b4={_0x572d9f:0xbc};function _0x42dcac(_0x3f703c,_0x264670){return _0x7afdbe(_0x3f703c,_0x264670- -0x559);}this[_0x42dcac(_0x3c41e4._0x13d816,_0x3c41e4._0x5188eb)]['scale']=_0x566ef8;function _0xb837ba(_0x2e2ded,_0x409280){return _0x54a7f1(_0x409280-_0xc1e4b4._0x572d9f,_0x2e2ded);}const _0x3dd344={};_0x3dd344['scale']=_0x566ef8,this['_updateStyleHook'](this[_0xb837ba(-0x1ad,0x558)],_0x3dd344);}get['scaleX'](){const _0x1ed9a7={_0x3fbf65:0xef};function _0x4eab00(_0x4ddae2,_0x14cfce){return _0x7afdbe(_0x4ddae2,_0x14cfce- -_0x1ed9a7._0x3fbf65);}return this[_0x4eab00(0x42c,0x5db)]['scaleX']??0x1;}set['scaleX'](_0x753711){const _0x1d4738={_0x4a7e9c:0x281},_0x2b9479={_0x346662:0xb2};this[_0x20be6b(-_0x1d4738._0x4a7e9c,0x618)]['scaleX']=_0x753711;function _0x20be6b(_0x5b48a2,_0x9e4013){return _0x7afdbe(_0x5b48a2,_0x9e4013- -_0x2b9479._0x346662);}function _0x1615b6(_0xdbfd52,_0x3d58ca){return _0x54a7f1(_0xdbfd52- -0x2c5,_0x3d58ca);}this[_0x20be6b(0x66f,0xee0)]();}get['scaleY'](){const _0x53dfc4={_0x2a0e18:0x1216};function _0x14827a(_0xb61294,_0x5d5a41){return _0x54a7f1(_0x5d5a41-0x188,_0xb61294);}return this['style'][_0x14827a(0xbb7,_0x53dfc4._0x2a0e18)]??0x1;}set[_0x54a7f1(0x108e,0x1372)](_0x1e0e69){const _0x43b6c7={_0x1fb0a2:0x1806,_0x2230a7:0x82e};function _0xcb6af4(_0x1bbd80,_0x3b6740){return _0x54a7f1(_0x3b6740- -0x244,_0x1bbd80);}this['style'][_0x16f76f(0xe8e,_0x43b6c7._0x1fb0a2)]=_0x1e0e69;function _0x16f76f(_0x17d9d6,_0x49cc8c){return _0x7afdbe(_0x49cc8c,_0x17d9d6- -0x42e);}this[_0xcb6af4(_0x43b6c7._0x2230a7,0xb20)]();}get[_0x7afdbe(0x13c2,0x98f)](){return this['style']['scaleZ']??0x1;}set[_0x54a7f1(0x761,-0x38)](_0x20f570){const _0x1ac787={_0x50d92b:0x66e,_0x2d419a:0x372,_0x536cfc:0xaab},_0x4ae7ba={_0x392a46:0x4e7};function _0x181a9d(_0x3c46cd,_0x3e7e50){return _0x7afdbe(_0x3e7e50,_0x3c46cd- -0x5c);}function _0x2cf66e(_0x31ee9d,_0x4ea27f){return _0x7afdbe(_0x31ee9d,_0x4ea27f- -_0x4ae7ba._0x392a46);}this[_0x181a9d(_0x1ac787._0x50d92b,0xdc5)][_0x2cf66e(-_0x1ac787._0x2d419a,0x4a8)]=_0x20f570,this[_0x2cf66e(0x6bf,_0x1ac787._0x536cfc)]();}get[_0x7afdbe(-0x187,0x56a)](){const _0x16e34a={_0x4989cf:0x937};function _0x5df3dd(_0x1697c9,_0x5e7551){return _0x54a7f1(_0x5e7551- -0x2a8,_0x1697c9);}return this[_0x5df3dd(_0x16e34a._0x4989cf,0x608)]['splitDirection'];}set[_0x54a7f1(0x33c,-0x5fc)](_0x5ef6af){const _0x476b5d={_0x32d5c4:0xd42};this['options']['splitDirection']=_0x5ef6af;function _0x2ae6b1(_0x32ede8,_0x37e7e3){return _0x7afdbe(_0x37e7e3,_0x32ede8-0x7e);}this['_primitive']&&(this[_0x2ae6b1(0x1656,_0x476b5d._0x32d5c4)]['splitDirection']=_0x5ef6af);}get[_0x54a7f1(0x1661,0x12c7)](){const _0x4e3535={_0x1cf8aa:0xa5d,_0xf2dcce:0x46a};function _0x403768(_0x3cdd1c,_0x4c86a8){return _0x54a7f1(_0x4c86a8-0x134,_0x3cdd1c);}return this['_readyPromise'][_0x403768(_0x4e3535._0x1cf8aa,_0x4e3535._0xf2dcce)];}[_0x54a7f1(0x174a,0x1c98)](_0x337f8d){const _0x30536b={_0x4ea8e0:0x115f,_0x3a5846:0x1ac0};function _0x33a1e6(_0x2bc35f,_0x394270){return _0x7afdbe(_0x394270,_0x2bc35f- -0x479);}if(this[_0x33a1e6(_0x30536b._0x4ea8e0,_0x30536b._0x3a5846)])this['_primitive']['show']=_0x337f8d;else _0x337f8d&&super['_showHook'](_0x337f8d);}['_addedHook'](_0x1e4e2e){const _0x2d71fd={_0x568175:0xec5,_0x58756e:0x1464,_0x439818:0xece,_0x8323c4:0x504,_0x17dff5:0x30d,_0x47a461:0xe2e,_0x39a2d8:0x760,_0x1cbb78:0x424,_0x4757f9:0x1442,_0x43e175:0x202,_0x1f2691:0x1552,_0x3b4f74:0xb10,_0x300dc4:0x38c,_0x419d4f:0x1fed,_0x1c512b:0x440,_0xcde3fa:0x2d0,_0x2ef52d:0xb87,_0x4faa16:0x1131,_0x54b8b0:0x452},_0x34a713={_0x5d92bd:0x3bd},_0x326f21={_0x5bb593:0xbfe,_0x281a07:0x1c83};if(!this[_0x327727(_0x2d71fd._0x568175,_0x2d71fd._0x58756e)]||!this['_map'])return;this[_0x327727(_0x2d71fd._0x439818,_0x2d71fd._0x8323c4)](this['options'][_0x327727(0x186e,0x1552)]);const _0x642801=ModelStyleConver['toCesiumVal'](this[_0x327727(-0x6a1,_0x2d71fd._0x17dff5)]);if(!_0x642801['url'])return;!Cesium__namespace[_0x327727(0xd0e,0x14f2)](_0x642801['splitDirection'])&&Cesium__namespace['defined'](this[_0x4d29c8(0x116b,0xf94)]['splitDirection'])&&(_0x642801['splitDirection']=this['_layer'][_0x327727(-0x638,0x1ad)]);const _0x4ebd5e={'modelMatrix':this['modelMatrix'],'scene':this['_map'][_0x4d29c8(0xbbd,_0x2d71fd._0x47a461)],'marsOptions':{'occlusion':this['style']['marsOcclusion']},..._0x642801};Cesium__namespace['Model'][_0x4d29c8(_0x2d71fd._0x39a2d8,0x3d2)](_0x4ebd5e)[_0x327727(0xd10,_0x2d71fd._0x1cbb78)](_0x3b0675=>{const _0x5b3e98={_0x511226:0x11bf,_0x150538:0x116e,_0x584a7d:0x11bf,_0x4d11fd:0x13b9,_0x4affa3:0x1012,_0x49e36e:0xc72,_0x45bd21:0xaa8},_0x508493={_0x33b446:0x3a6};if(!this['isAdded'])return;function _0x3be464(_0x56f97c,_0x400e8e){return _0x4d29c8(_0x56f97c-0x2ae,_0x400e8e);}this[_0x3be464(0x1139,0x1a2a)](_0x3b0675),this['_primitive']=this['primitiveCollection'][_0x3be464(0x47c,_0x326f21._0x5bb593)](_0x3b0675),this[_0x20765e(0x1d55,0x128e)]['show']=this[_0x20765e(_0x326f21._0x281a07,0x14d7)];function _0x20765e(_0x5e7914,_0x48249d){return _0x4d29c8(_0x48249d-_0x508493._0x33b446,_0x5e7914);}this['_primitive']['readyEvent'][_0x20765e(0x154d,0x1647)](()=>{const _0x2c7f65={_0x41d5fd:0xcf};function _0x73be69(_0x42105f,_0x55aec2){return _0x20765e(_0x55aec2,_0x42105f-0x38e);}var _0x29ebbb,_0x5ab36e;if(this[_0x52f382(0x1d7,-0x241)]||!this[_0x52f382(_0x5b3e98._0x511226,0xbb7)])return;this['_modelMatrix']&&(this[_0x52f382(0x11bf,0x1c15)][_0x52f382(0x53b,0xc68)]=this[_0x73be69(_0x5b3e98._0x150538,0x1810)]);(this['style']['runAnimations']??!![])&&(_0x29ebbb=this[_0x52f382(_0x5b3e98._0x584a7d,0xb33)][_0x52f382(0x13b3,0xc8a)])!==null&&_0x29ebbb!==void 0x0&&_0x29ebbb['addAll']&&this[_0x73be69(0x161c,_0x5b3e98._0x4d11fd)]['activeAnimations'][_0x73be69(0xabb,0xe5b)]({'loop':Cesium__namespace[_0x52f382(0x7d5,_0x5b3e98._0x4affa3)]['REPEAT'],...this['style']});(_0x5ab36e=this['_layer'])!==null&&_0x5ab36e!==void 0x0&&_0x5ab36e['_objectsToExclude_auto']&&delete this['_layer']['_objectsToExclude_auto'];function _0x52f382(_0x44e224,_0x58fed8){return _0x20765e(_0x58fed8,_0x44e224- -_0x2c7f65._0x41d5fd);}this['fire'](EventType[_0x52f382(0x34c,_0x5b3e98._0x49e36e)],{'drawType':this[_0x73be69(_0x5b3e98._0x45bd21,0x133c)],'model':_0x3b0675,'graphic':this},!![]),this[_0x52f382(0xc6,0x29)][_0x73be69(0x1014,0xd95)](this);});});function _0x4d29c8(_0x1ccf19,_0x9b318d){return _0x54a7f1(_0x1ccf19- -0x4c2,_0x9b318d);}_0x1e4e2e[_0x4d29c8(0xbf8,0x5af)]&&this['_addLabel'](_0x1e4e2e[_0x4d29c8(0xbf8,_0x2d71fd._0x4757f9)]);function _0x327727(_0x2f64f4,_0x2e9c3c){return _0x7afdbe(_0x2f64f4,_0x2e9c3c- -_0x34a713._0x5d92bd);}if(this['style']['distanceDisplayCondition']){if(this['style'][_0x4d29c8(_0x2d71fd._0x43e175,0xb82)]){var _0x52d019;const _0x3e88ba=PointStyleConver['toCesiumVal'](this['style']['distanceDisplayPoint'],{'show':this[_0x327727(0x1c63,_0x2d71fd._0x58756e)],'position':this[_0x327727(0xcaf,_0x2d71fd._0x1f2691)]});_0x3e88ba[_0x327727(0x90c,_0x2d71fd._0x3b4f74)]=this['_getTargetDistanceDisplayCondition'](this[_0x4d29c8(-0x26,-0x9ba)]['distanceDisplayPoint']),this[_0x327727(0xe59,_0x2d71fd._0x300dc4)]=(_0x52d019=this['_layer'])===null||_0x52d019===void 0x0?void 0x0:_0x52d019[_0x327727(_0x2d71fd._0x419d4f,0x15c1)][_0x4d29c8(0x1ce,-0x280)](_0x3e88ba);}else{if(this[_0x4d29c8(-0x26,_0x2d71fd._0x1c512b)]['distanceDisplayBillboard']){var _0x4a6efb;const _0x5b0732=BillboardStyleConver['toCesiumVal'](this[_0x327727(0x1db,_0x2d71fd._0x17dff5)][_0x327727(_0x2d71fd._0xcde3fa,_0x2d71fd._0x2ef52d)],{'show':this[_0x4d29c8(_0x2d71fd._0x4faa16,0xe17)],'position':this['position']});_0x5b0732['distanceDisplayCondition']=this['_getTargetDistanceDisplayCondition'](this['style']['distanceDisplayBillboard']),this[_0x327727(0x2ee,0x46b)]=(_0x4a6efb=this['_layer'])===null||_0x4a6efb===void 0x0?void 0x0:_0x4a6efb[_0x4d29c8(-0x120,-_0x2d71fd._0x54b8b0)]['add'](_0x5b0732);}}}}['_removedHook'](){const _0x277c27={_0x2bc93b:0x2f9,_0x34495f:0x6b6,_0x12b2f1:0xe66,_0x4358c8:0x84a},_0x300347={_0x3f4841:0x167};function _0x3d8317(_0x1b6563,_0x5b53be){return _0x7afdbe(_0x5b53be,_0x1b6563- -_0x300347._0x3f4841);}super[_0x486c55(_0x277c27._0x2bc93b,0xb0b)]();if(this[_0x3d8317(0x5e2,-0x6d)]){var _0x410c8a;(_0x410c8a=this['_layer'])===null||_0x410c8a===void 0x0||_0x410c8a['pointCollection']['remove'](this[_0x486c55(-0x375,0x5d7)]),delete this['_primitive_point'];}function _0x486c55(_0x3f3814,_0x1997f7){return _0x7afdbe(_0x3f3814,_0x1997f7- -0x172);}if(this[_0x486c55(-0x2e6,_0x277c27._0x34495f)]){var _0x36c6f7;(_0x36c6f7=this[_0x3d8317(0x16f4,0xf7e)])===null||_0x36c6f7===void 0x0||_0x36c6f7['billboardCollection'][_0x486c55(_0x277c27._0x12b2f1,_0x277c27._0x4358c8)](this['_primitive_billboard']),delete this['_primitive_billboard'];}}[_0x54a7f1(0x10d4,0x65d)](_0x4839dc,_0x24196b){const _0x360326={_0x419c50:0x8f8,_0x4b25b8:0x8f8,_0x47e55e:0x957,_0x3a7885:0x141a,_0x552cff:0xcae,_0x16e90b:0xd57,_0xf8d5b7:0x290,_0x26292a:0x1a86,_0x20b8df:0x107c,_0x5ea8b1:0x1604,_0x355b32:0x6e4,_0x156b45:0x10c5,_0x8b395a:0x5fb,_0x386d62:0x4ed,_0x4e6f11:0x3f0,_0x1778e1:0xb4f,_0x2c06db:0x973,_0x1ef2db:0xc99,_0x431c15:0x153d,_0x38c96c:0x1556,_0x5a0661:0x1255,_0x4cf211:0x1854,_0x259cc3:0xda5,_0x5794ce:0x701,_0x5d0e7d:0xffd},_0x49dbec={_0x3b14ac:0x12b};if(!this['primitive'])return;if(_0x24196b[_0x31d901(_0x360326._0x419c50,0x13a2)]&&this['show']&&this['primitive'][_0x31d901(_0x360326._0x4b25b8,0x10f3)]!==_0x24196b['url']){this[_0x31d901(_0x360326._0x47e55e,_0x360326._0x3a7885)](_0x4839dc);return;}ModelStyleConver[_0x31d901(_0x360326._0x552cff,0x2f1)](_0x4839dc,this[_0x31d901(0xfc9,_0x360326._0x16e90b)]);function _0x4cce67(_0x3454b9,_0x5e87d7){return _0x54a7f1(_0x3454b9- -0x7d,_0x5e87d7);}(Cesium__namespace[_0x31d901(0x1556,0x19c3)](_0x24196b[_0x4cce67(_0x360326._0xf8d5b7,0x7b7)])||Cesium__namespace['defined'](_0x24196b[_0x4cce67(0x1615,_0x360326._0x26292a)])||Cesium__namespace['defined'](_0x24196b['roll'])||Cesium__namespace[_0x4cce67(0x1604,0x1f2e)](_0x24196b['scale'])||Cesium__namespace[_0x4cce67(0x1604,0x1262)](_0x24196b[_0x31d901(0x9b3,_0x360326._0x20b8df)])||Cesium__namespace[_0x31d901(0x1556,0x1138)](_0x24196b[_0x4cce67(0x1011,0x181c)])||Cesium__namespace[_0x4cce67(_0x360326._0x5ea8b1,0x1ec9)](_0x24196b[_0x4cce67(_0x360326._0x355b32,_0x360326._0x156b45)]))&&(this['_primitive']['modelMatrix']=this[_0x31d901(_0x360326._0x8b395a,0xbbd)]);if(this['style'][_0x31d901(0xb74,_0x360326._0x386d62)]){var _0x3c1fe1;if(_0x24196b['distanceDisplayPoint']&&this['_primitive_point'])PointStyleConver['toCesiumVal'](this['style']['distanceDisplayPoint'],this[_0x31d901(_0x360326._0x4e6f11,0x390)]),this['_primitive_point']['distanceDisplayCondition']=this['_getTargetDistanceDisplayCondition'](this['style'][_0x4cce67(0x647,-0x9b)]);else _0x24196b['distanceDisplayBillboard']&&(_0x3c1fe1=this['_entity'])!==null&&_0x3c1fe1!==void 0x0&&_0x3c1fe1['billboard']&&(BillboardStyleConver[_0x31d901(0xcae,_0x360326._0x1778e1)](this[_0x4cce67(0x41f,_0x360326._0x2c06db)][_0x4cce67(_0x360326._0x1ef2db,0x13aa)],this['_primitive_billboard']),this['_primitive_billboard'][_0x4cce67(0xc22,_0x360326._0x431c15)]=this['_getTargetDistanceDisplayCondition'](this[_0x31d901(0x371,0xe1f)]['distanceDisplayBillboard']));}function _0x31d901(_0x2f3612,_0x148a44){return _0x54a7f1(_0x2f3612- -_0x49dbec._0x3b14ac,_0x148a44);}(Cesium__namespace['defined'](_0x24196b['runAnimations'])||Cesium__namespace[_0x31d901(_0x360326._0x38c96c,0x1bec)](_0x24196b[_0x31d901(_0x360326._0x5a0661,0x147c)])||Cesium__namespace['defined'](_0x24196b['delay'])||Cesium__namespace['defined'](_0x24196b['stopTime'])||Cesium__namespace[_0x31d901(0x1556,_0x360326._0x4cf211)](_0x24196b[_0x4cce67(0xf16,0x14ea)])||Cesium__namespace['defined'](_0x24196b['multiplier'])||Cesium__namespace['defined'](_0x24196b[_0x4cce67(0x319,-0x50c)])||Cesium__namespace['defined'](_0x24196b['loop']))&&(this['style'][_0x4cce67(_0x360326._0x259cc3,0x16cb)]?(this['_primitive']['activeAnimations'][_0x31d901(_0x360326._0x5794ce,0xdc2)](),this['_primitive']['activeAnimations'][_0x31d901(0x71e,-0xb2)]({'loop':Cesium__namespace['ModelAnimationLoop'][_0x4cce67(0xeff,_0x360326._0x5d0e7d)],...this['style']})):this['_primitive']['activeAnimations'][_0x31d901(_0x360326._0x5794ce,0x174)]());}['_style2Json'](_0x363da8,_0x59ce53){const _0x11f58c={_0x4dd19b:0x1b58,_0x527e71:0xffd,_0x43e033:0xfc0,_0x19298f:0xfc0,_0x577423:0x18cf};_0x59ce53=ModelStyleConver[_0x5aa189(0x1348,_0x11f58c._0x4dd19b)](_0x363da8,_0x59ce53);_0x363da8['distanceDisplayBillboard']&&(_0x59ce53[_0x51c3ec(_0x11f58c._0x527e71,_0x11f58c._0x43e033)]=BillboardStyleConver['toJSON'](_0x363da8[_0x51c3ec(0x189a,_0x11f58c._0x19298f)],_0x59ce53['distanceDisplayBillboard']));_0x363da8['distanceDisplayPoint']&&(_0x59ce53['distanceDisplayPoint']=PointStyleConver[_0x5aa189(0x1348,_0x11f58c._0x577423)](_0x363da8['distanceDisplayPoint'],_0x59ce53['distanceDisplayPoint']));function _0x5aa189(_0x27174f,_0x30d88c){return _0x54a7f1(_0x27174f-0xd,_0x30d88c);}function _0x51c3ec(_0x1454db,_0x1b6e5b){return _0x7afdbe(_0x1454db,_0x1b6e5b-0x7c);}return _0x59ce53;}['_updatePositionsHook'](){const _0x40b9f5={_0xc6073f:0x1014,_0x15d499:0x969,_0x4c04f4:0x972,_0x31ff67:0x935,_0x27cbf9:0x1398,_0x4c8c18:0x5b,_0xdc02ee:0x809,_0x4e8294:0x134b,_0x22e9fd:0x187a};function _0x1741eb(_0x9292f4,_0x344ec1){return _0x54a7f1(_0x9292f4- -0x396,_0x344ec1);}function _0x1c11eb(_0x10c0ca,_0x4facfc){return _0x7afdbe(_0x10c0ca,_0x4facfc- -0x1f);}this[_0x1741eb(_0x40b9f5._0xc6073f,_0x40b9f5._0x15d499)][_0x1c11eb(_0x40b9f5._0x4c04f4,_0x40b9f5._0x31ff67)]=this['modelMatrix'],this['_primitive_point']&&(this['_primitive_point'][_0x1c11eb(0x13f0,0x18f0)]=this[_0x1c11eb(_0x40b9f5._0x27cbf9,0x18f0)]),this[_0x1c11eb(_0x40b9f5._0x4c8c18,_0x40b9f5._0xdc02ee)]&&(this['_primitive_billboard']['position']=this[_0x1741eb(_0x40b9f5._0x4e8294,_0x40b9f5._0x22e9fd)]);}['_getTargetDistanceDisplayCondition'](_0x5af1e7){const _0x1b1c01={_0x756ad7:0x297,_0x4cc97c:0x2c4,_0x5989e1:0x687,_0x58269c:0xe9a},_0x51dfdd={_0xa8f7b3:0x4a7};function _0x12ed43(_0x5265a2,_0x121625){return _0x54a7f1(_0x121625- -0x205,_0x5265a2);}function _0x1cda36(_0x208d5f,_0x2f691c){return _0x54a7f1(_0x208d5f- -_0x51dfdd._0xa8f7b3,_0x2f691c);}let _0x428614;if(this[_0x12ed43(0x2b7,_0x1b1c01._0x756ad7)]['distanceDisplayCondition']instanceof Cesium__namespace['DistanceDisplayCondition'])_0x428614=this['style'][_0x1cda36(0x7f8,-_0x1b1c01._0x4cc97c)]['far'];else this[_0x12ed43(-_0x1b1c01._0x5989e1,0x297)]['distanceDisplayCondition_far']&&(_0x428614=this['style']['distanceDisplayCondition_far']);return new Cesium__namespace['DistanceDisplayCondition'](_0x5af1e7[_0x12ed43(0xe66,0xa3a)]??_0x428614,_0x5af1e7[_0x1cda36(0x1da,0xc5f)]??Number[_0x12ed43(0x784,_0x1b1c01._0x58269c)]);}['setOpacity'](_0x43fa7a){const _0x5b663d={_0x45af5a:0x1c7b,_0x4afcae:0x307,_0x465230:0xa35},_0x5ed5fb={_0x353778:0xe6b};function _0x598ab1(_0x2e18fc,_0x4a1023){return _0x54a7f1(_0x2e18fc- -0x2ac,_0x4a1023);}this[_0x598ab1(0x1f0,0xa58)]['globalAlpha']=_0x43fa7a;function _0x1fe811(_0x565c04,_0x583e7a){return _0x54a7f1(_0x565c04- -0x424,_0x583e7a);}this[_0x1fe811(0x123d,_0x5b663d._0x45af5a)][_0x598ab1(_0x5b663d._0x4afcae,_0x5b663d._0x465230)](()=>{function _0x5cf94c(_0x426d14,_0x155786){return _0x598ab1(_0x155786- -0x1cb,_0x426d14);}this['_primitive']&&ModelStyleConver['setOpacity'](this['_primitive'],_0x43fa7a),this[_0x5cf94c(0x102a,_0x5ed5fb._0x353778)](_0x43fa7a);});}['_updateAvailabilityHook'](_0x185fd7){const _0x17a834={_0x5d9652:0xba9,_0x40171d:0x1415,_0x44cc79:0x167c,_0x40abbd:0x1415,_0x51dbf9:0xfdf},_0x46cecf={_0x45c7ee:0x6fd},_0x306a37={_0x38fcc6:0x1de};function _0x5df630(_0xc84e9e,_0x3cdeee){return _0x54a7f1(_0x3cdeee- -_0x306a37._0x38fcc6,_0xc84e9e);}_0x185fd7?this['bindUpdateEvent']():(this['unbindUpdateEvent'](),this['_primitive']&&(this['_primitive'][_0x5df630(_0x17a834._0x5d9652,_0x17a834._0x40171d)]=this[_0x5df630(_0x17a834._0x44cc79,_0x17a834._0x40abbd)],this['czmObjectEx']['forEach'](_0x54de2f=>{_0x54de2f['show']=this['show'];})));function _0x599b1d(_0x93633b,_0x33677a){return _0x7afdbe(_0x93633b,_0x33677a- -_0x46cecf._0x45c7ee);}this['_editing_entity']&&(this[_0x5df630(0x1292,_0x17a834._0x51dbf9)]['availability']=_0x185fd7);}[_0x7afdbe(0xa46,0xb44)](_0x47da77={}){const _0x3c0c4d={_0x489dd0:0xdee,_0x145f9c:0x12be,_0x407524:0x12be,_0x276eec:0x16b7},_0x41e04b={_0x56f81c:0x17ab,_0x566adc:0xfec},_0x375214={_0xd57997:0xa2},_0x4068c0={_0x35784f:0xac};function _0x334ad3(_0x28af5f,_0x509f9f){return _0x54a7f1(_0x28af5f-_0x4068c0._0x35784f,_0x509f9f);}!this['flickerEntity']&&(this[_0x87e351(0x351,_0x3c0c4d._0x489dd0)]=new FlickerEntity());!_0x47da77[_0x87e351(0x1220,0xe5c)]&&this['style'][_0x334ad3(_0x3c0c4d._0x145f9c,0xce6)]&&(_0x47da77['color']=this['style'][_0x334ad3(_0x3c0c4d._0x407524,_0x3c0c4d._0x276eec)]);function _0x87e351(_0x2087a2,_0x3cf77d){return _0x7afdbe(_0x3cf77d,_0x2087a2- -0x220);}return this['readyPromise']['then'](()=>{const _0x2a6fa3={};_0x2a6fa3[_0x238b26(0x349,0x467)]=this[_0x5ddee4(_0x41e04b._0x56f81c,_0x41e04b._0x566adc)];function _0x5ddee4(_0x297030,_0x4afece){return _0x87e351(_0x297030-_0x375214._0xd57997,_0x4afece);}function _0x238b26(_0x3b85c4,_0x1141f6){return _0x334ad3(_0x3b85c4- -0x42e,_0x1141f6);}const _0x31d44a=[_0x2a6fa3];this['flickerEntity']['startFlicker'](_0x31d44a,_0x47da77);}),this['flickerEntity'];}[_0x7afdbe(-0x3e1,0x49d)](){const _0x46799c={_0x399d17:0x5a},_0x328798={_0x40f770:0x301};function _0x415e5d(_0x3e0661,_0x3a29a8){return _0x54a7f1(_0x3e0661- -_0x328798._0x40f770,_0x3a29a8);}return this['flickerEntity']?this[_0x415e5d(0x42,_0x46799c._0x399d17)]['stopFlicker']():null;}['_getDrawEntityClass'](_0x40d4a6,_0x244b92){const _0x5d12a2={_0x572581:0x4a5};_0x40d4a6['drawShow']=this[_0x1dc076(0xce7,0x68a)][_0x1dc076(0xe33,0xaba)];function _0x1dc076(_0x3e46e1,_0x153c6b){return _0x54a7f1(_0x153c6b- -0x226,_0x3e46e1);}function _0x107fc8(_0x426e75,_0x2d6cd3){return _0x7afdbe(_0x2d6cd3,_0x426e75- -0x316);}return create$5(_0x1dc076(0xf05,_0x5d12a2._0x572581),_0x40d4a6);}[_0x7afdbe(0x1cda,0x1559)](_0x11f73e,_0x483220){const _0x381113={_0x409b0a:0x950};var _0x20b0e5;!Cesium__namespace['defined'](_0x483220)&&(_0x483220=new Cesium__namespace['BoundingRectangle']());const _0x36a875=((_0x20b0e5=this['style'])===null||_0x20b0e5===void 0x0?void 0x0:_0x20b0e5['minimumPixelSize'])??0x14;function _0x5c7f76(_0x171843,_0x1f1e33){return _0x54a7f1(_0x1f1e33- -0x4be,_0x171843);}const _0x2a0516=_0x11f73e['x']-_0x36a875*0.5;function _0x1d405e(_0x57c5c9,_0x5b8d54){return _0x54a7f1(_0x5b8d54- -0x24b,_0x57c5c9);}const _0x3a66e6=_0x11f73e['y']-_0x36a875*0.5;return _0x483220['x']=_0x2a0516,_0x483220['y']=_0x3a66e6,_0x483220[_0x1d405e(_0x381113._0x409b0a,0x130c)]=_0x36a875,_0x483220[_0x5c7f76(-0x3d8,0x1a9)]=_0x36a875,_0x483220;}}register$5(_0x54a7f1(0x123e,0x963),ModelPrimitive,!![]);class CirclePrimitive extends BasePointPrimitive{constructor(_0x44a1db={}){super(_0x44a1db),this['_hasClampToGround']=!![];}get[_0x54a7f1(0x1291,0x18e1)](){return Math['PI']*0x2*this['radius'];}get['area'](){const _0x4e4e11=this['radius'];return Math['PI']*_0x4e4e11*_0x4e4e11;}get['radius'](){const _0x18c131={_0x556eee:0x14b},_0x1d70f3={_0x13e7f3:0x28c};function _0xeb1ce6(_0x54d738,_0x3035d4){return _0x54a7f1(_0x54d738- -_0x1d70f3._0x13e7f3,_0x3035d4);}return this['style'][_0xeb1ce6(_0x18c131._0x556eee,-0x23)];}set['radius'](_0x3580f3){const _0x1cf864={_0x1f9a57:0xd9f},_0x42fc3b={_0xeb7b12:0xa3};function _0x1dcabc(_0x1c2589,_0x4f2fed){return _0x54a7f1(_0x1c2589- -0x335,_0x4f2fed);}this['style'][_0x27ef16(-0x1f5,0x334)]=_0x3580f3;const _0x1ca939={};function _0x27ef16(_0x302464,_0x46e482){return _0x54a7f1(_0x46e482- -_0x42fc3b._0xeb7b12,_0x302464);}_0x1ca939[_0x27ef16(-0x6bb,0x334)]=_0x3580f3,this[_0x1dcabc(_0x1cf864._0x1f9a57,0x1469)](this['style'],_0x1ca939);}get['outlinePositions'](){return this['getOutlinePositions']();}['_conversionStyle'](_0x4dc938){return CircleStyleConver['toCesiumVal'](_0x4dc938);}['_style2Json'](_0x3623c6,_0x45b3fe){return CircleStyleConver['toJSON'](_0x3623c6,_0x45b3fe);}['_createGeometryInstance'](_0xb52630,_0x503031){const _0x475c11={_0x5de7cd:0xff,_0x5dbbdc:0x1dc8};_0xb52630[_0x414de7(0x772,-_0x475c11._0x5de7cd)]=this[_0x286e51(_0x475c11._0x5dbbdc,0x1912)],this['_calculateCzmHeight'](_0xb52630);function _0x414de7(_0x415efd,_0x27dfca){return _0x7afdbe(_0x27dfca,_0x415efd- -0x39);}const _0x1426e7=_0x503031?Cesium__namespace['CircleOutlineGeometry']:Cesium__namespace['CircleGeometry'];function _0x286e51(_0x25902e,_0x7f9884){return _0x7afdbe(_0x25902e,_0x7f9884-0x3);}return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x1426e7(_0xb52630),'attributes':this[_0x414de7(0xb04,0x1533)](_0xb52630)});}['_getPolylineOutlinePositions'](){return[this['getOutlinePositions'](![])];}[_0x7afdbe(0x731,0x110d)](_0x15d174,_0x3cfde2,_0x2eae06){return cartesians2lonlats(this['getOutlinePositions'](_0x15d174,_0x3cfde2),_0x2eae06);}['getOutlinePositions'](_0x45a7ce=!![],_0x2d6bb1){const _0x201cf1={_0x27658e:0x1565,_0x82f11c:0x15bb,_0x3ae6ef:0x4c5,_0x29b676:0x1bb,_0x2aedde:0x12aa,_0x1c77f5:0x4bd},_0x5d311a={_0x5be965:0x17c},_0x20aa9b={};_0x20aa9b['position']=this[_0x1a478d(_0x201cf1._0x27658e,_0x201cf1._0x82f11c)],_0x20aa9b[_0x1a478d(0x25b,_0x201cf1._0x3ae6ef)]=this['radius'],_0x20aa9b['granularity']=this[_0x320057(_0x201cf1._0x29b676,0x4e6)][_0x320057(0xd2f,0xc43)],_0x20aa9b['count']=_0x2d6bb1;function _0x1a478d(_0x296a05,_0x15f850){return _0x54a7f1(_0x296a05- -_0x5d311a._0x5be965,_0x15f850);}const _0x2f5f52=getEllipseOuterPositions(_0x20aa9b);if(_0x45a7ce&&_0x2f5f52){var _0x488eac;_0x2f5f52[_0x1a478d(0xd8c,0x11bc)](_0x2f5f52[0x0]),(this['style']['outlineWidth']>0x4||((_0x488eac=this['style']['outlineStyle'])===null||_0x488eac===void 0x0?void 0x0:_0x488eac[_0x1a478d(0x13db,_0x201cf1._0x2aedde)])>0x4)&&_0x2f5f52[_0x1a478d(0xd8c,_0x201cf1._0x1c77f5)](_0x2f5f52[0x1]);}function _0x320057(_0x467ff2,_0x36f868){return _0x54a7f1(_0x467ff2- -0x2e1,_0x36f868);}return _0x2f5f52;}['flyTo'](_0x373b94={}){const _0x26209e={_0x14ca20:0x189d};function _0x1c5a7d(_0x30504b,_0x369b6e){return _0x7afdbe(_0x369b6e,_0x30504b- -0x2ca);}function _0x13046a(_0x2c226d,_0xec23d7){return _0x7afdbe(_0x2c226d,_0xec23d7- -0x12);}if(!this[_0x13046a(0x1112,0x9ef)])return Promise[_0x1c5a7d(0xd06,0x5ac)](![]);return!Cesium__namespace[_0x13046a(0xfea,_0x26209e._0x14ca20)](_0x373b94['radius'])&&(_0x373b94[_0x13046a(0xf84,0x5f3)]=this['radius']*(_0x373b94[_0x13046a(0x1146,0x152b)]||1.8)),this['_map']['flyToPoint'](this[_0x13046a(0x11a7,0x18fd)],_0x373b94);}[_0x54a7f1(0x12bc,0x11a6)](_0x59d409){const _0x3acb1e={_0x4f0576:0x66};function _0x510a14(_0x54d205,_0x496e2f){return _0x54a7f1(_0x496e2f- -_0x3acb1e._0x4f0576,_0x54d205);}const _0x3867e1=this[_0x510a14(0x15e0,0x138a)](![],0x1);if(!_0x3867e1||_0x3867e1['length']===0x0)return;const _0x190ed3=getRectangle(_0x3867e1,_0x59d409===null||_0x59d409===void 0x0?void 0x0:_0x59d409['isFormat']);return _0x190ed3;}['isInPoly'](_0x4d25b9){function _0x48f386(_0x430618,_0x13cd70){return _0x54a7f1(_0x430618- -0x348,_0x13cd70);}_0x4d25b9=LngLatPoint[_0x48f386(0x73,-0x7e9)](_0x4d25b9)['toCartesian'](),_0x4d25b9=setPositionsHeight(_0x4d25b9,this['height']);const _0x4ad0fc=Cesium__namespace['Cartesian3']['distance'](this['position'],_0x4d25b9);return _0x4ad0fc<=this['radius'];}[_0x7afdbe(0x664,0x625)](_0x267128,_0x4a75ad){return create$5('circle',_0x267128);}}register$5('circleP',CirclePrimitive,!![]);class PlanePrimitive extends BasePointPrimitive{get[_0x54a7f1(0x726,-0x2ec)](){const _0x514cb8={_0x3e01c2:0x558,_0x477081:0x708,_0x3baf0c:0x1097,_0x384a6a:0x6ad,_0x26b277:0x28,_0x15133a:0xe63,_0x5d7340:0x16ad,_0x11aa59:0x3ba,_0x49c420:0x104a,_0x35131f:0x19ce,_0x253385:0x127d,_0x115a33:0xd07,_0x2417e4:0x3ba};var _0x3dd93d,_0x6f2ef2,_0x4fb71a;if(this[_0x1b35a9(0xbb3,0x892)][_0x1b35a9(_0x514cb8._0x3e01c2,_0x514cb8._0x477081)])return this[_0x1b35a9(0x126,0x892)]['modelMatrix'];const _0x41d86a=super['modelMatrix'];if(!this['position'])return Cesium__namespace['Matrix4']['IDENTITY'];const _0xa5de8=PlaneStyleConver[_0x3a370a(_0x514cb8._0x3baf0c,_0x514cb8._0x384a6a)](this[_0x1b35a9(_0x514cb8._0x26b277,0x47e)]),_0x3a0d9c=this[_0x1b35a9(0xca4,0x47e)][_0x3a370a(_0x514cb8._0x15133a,_0x514cb8._0x5d7340)]??((_0x3dd93d=_0xa5de8['plane'])===null||_0x3dd93d===void 0x0?void 0x0:_0x3dd93d['normal']),_0x16eec9=new Cesium__namespace['Cartesian3'](((_0x6f2ef2=_0xa5de8['dimensions'])===null||_0x6f2ef2===void 0x0?void 0x0:_0x6f2ef2['x'])??0x1,((_0x4fb71a=_0xa5de8['dimensions'])===null||_0x4fb71a===void 0x0?void 0x0:_0x4fb71a['y'])??0x1,0x1);function _0x1b35a9(_0x236bb9,_0x3242d7){return _0x54a7f1(_0x3242d7- -0x1e,_0x236bb9);}function _0x3a370a(_0x19a3b7,_0x5e2826){return _0x54a7f1(_0x19a3b7-0x2be,_0x5e2826);}if(_0x3a0d9c===Cesium__namespace['Cartesian3']['UNIT_X']||_0x3a0d9c==='x'){var _0x346cba,_0x163863;const _0x3b19ad=Cesium__namespace['Matrix4']['fromRotationTranslation'](Cesium__namespace['Matrix3']['fromRotationY'](Cesium__namespace['Math']['toRadians'](0x5a)));Cesium__namespace[_0x1b35a9(0x3ea,_0x514cb8._0x11aa59)]['multiply'](_0x41d86a,_0x3b19ad,_0x41d86a),_0x16eec9['x']=((_0x346cba=_0xa5de8['dimensions'])===null||_0x346cba===void 0x0?void 0x0:_0x346cba['y'])??0x1,_0x16eec9['y']=((_0x163863=_0xa5de8['dimensions'])===null||_0x163863===void 0x0?void 0x0:_0x163863['x'])??0x1,_0x16eec9['z']=0x1;}else{if(_0x3a0d9c===Cesium__namespace[_0x3a370a(0x15a5,_0x514cb8._0x49c420)]['UNIT_Y']||_0x3a0d9c==='y'){const _0x45c813=Cesium__namespace['Matrix4'][_0x3a370a(_0x514cb8._0x35131f,0x21bc)](Cesium__namespace['Matrix3'][_0x1b35a9(0x9e7,_0x514cb8._0x253385)](Cesium__namespace['Math'][_0x1b35a9(0x1763,0x1504)](0x5a)));Cesium__namespace[_0x1b35a9(0xb7f,0x3ba)][_0x3a370a(_0x514cb8._0x115a33,0xcfe)](_0x41d86a,_0x45c813,_0x41d86a);}}const _0x5bdcf7=Cesium__namespace['Matrix4']['fromScale'](_0x16eec9);return Cesium__namespace[_0x1b35a9(0x395,_0x514cb8._0x2417e4)]['multiply'](_0x41d86a,_0x5bdcf7,_0x41d86a),_0x41d86a;}['_conversionStyle'](_0x159d9e){return PlaneStyleConver['toCesiumVal'](_0x159d9e);}['_style2Json'](_0x58ca37,_0x10194c){const _0x155b1e={_0x4125fc:0x14c7,_0x352ed1:0x125e},_0x22fbb1={_0x4f2dac:0x18c};function _0x50def2(_0x3952d1,_0x10ff46){return _0x54a7f1(_0x3952d1-_0x22fbb1._0x4f2dac,_0x10ff46);}return PlaneStyleConver[_0x50def2(_0x155b1e._0x4125fc,_0x155b1e._0x352ed1)](_0x58ca37,_0x10194c);}['_createGeometryInstance'](_0x118dc5,_0x381a3e){const _0x20d09b={_0x3b4b5d:0xddc,_0xb760e4:0xc24,_0x59611a:0x62a};function _0x35920e(_0x32942a,_0x3bbb37){return _0x7afdbe(_0x32942a,_0x3bbb37- -0x32a);}const _0x40b6e3=_0x381a3e?Cesium__namespace['PlaneOutlineGeometry']:Cesium__namespace[_0x5928a4(-0x1fe,-0xc5b)];function _0x5928a4(_0x4450c1,_0x458851){return _0x54a7f1(_0x4450c1- -0x480,_0x458851);}return new Cesium__namespace[(_0x35920e(0xca1,_0x20d09b._0x3b4b5d))]({'id':this['id'],'geometry':new _0x40b6e3(_0x118dc5),'modelMatrix':this[_0x35920e(_0x20d09b._0xb760e4,_0x20d09b._0x59611a)],'attributes':this['_createGeometryInstanceAttributes'](_0x118dc5)});}[_0x54a7f1(0x3f7,0x447)](_0x3c3c24,_0x901e1f){return create$5('plane',_0x3c3c24);}}register$5(_0x54a7f1(0x643,0x3ac),PlanePrimitive,!![]);class BoxPrimitive extends BasePointPrimitive{constructor(_0x27b968={}){super(_0x27b968),this['style']['closed']=this['style']['closed']??!![];}['_conversionStyle'](_0x10b2e0){return BoxStyleConver['toCesiumVal'](_0x10b2e0);}['_style2Json'](_0x14dc21,_0x4ed46a){return BoxStyleConver['toJSON'](_0x14dc21,_0x4ed46a);}[_0x54a7f1(0xf0f,0x495)](_0x4571e0,_0x3bbd17){const _0xe1892d={_0x46d1ef:0x928},_0x2365d5={_0x5bbdb4:0x2e0};function _0x1fa436(_0x37339f,_0x1cf48e){return _0x54a7f1(_0x37339f-0x202,_0x1cf48e);}const _0x5c9c82=_0x3bbd17?Cesium__namespace['BoxOutlineGeometry']:Cesium__namespace[_0xc26b54(0x272,0x503)];function _0xc26b54(_0x37ccd8,_0x368a40){return _0x54a7f1(_0x37ccd8- -_0x2365d5._0x5bbdb4,_0x368a40);}return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':_0x5c9c82['fromDimensions'](_0x4571e0),'modelMatrix':this[_0x1fa436(_0xe1892d._0x46d1ef,0x11ee)],'attributes':this['_createGeometryInstanceAttributes'](_0x4571e0)});}['_getDrawEntityClass'](_0x225bdd,_0x301066){return create$5('box',_0x225bdd);}}register$5(_0x7afdbe(0x6cf,0xa04),BoxPrimitive,!![]);class CylinderPrimitive extends BasePointPrimitive{constructor(_0x5368b7={}){function _0x47c056(_0xcae1a9,_0x13b140){return _0x54a7f1(_0xcae1a9- -0x3ed,_0x13b140);}super(_0x5368b7);function _0x41f9c6(_0x365273,_0x374d2a){return _0x54a7f1(_0x365273-0x39,_0x374d2a);}this[_0x41f9c6(0x4d5,0x58f)]['closed']=this['style'][_0x47c056(0x114c,0x176e)]??!![];}['_conversionStyle'](_0x24ffab){return CylinderStyleConver['toCesiumVal'](_0x24ffab);}['_style2Json'](_0x41aeac,_0x30fb79){return CylinderStyleConver['toJSON'](_0x41aeac,_0x30fb79);}[_0x7afdbe(0x120b,0x113d)](_0x595224,_0x493e7d){const _0x8c21cd={_0x8c452a:0x8dc,_0x4c1c5f:0x532,_0x1964b1:0x255};function _0x4f5c1b(_0x1b7d35,_0x3201c8){return _0x54a7f1(_0x3201c8- -0x4d1,_0x1b7d35);}function _0x2d7ac7(_0x2c5e0f,_0x5a1d38){return _0x7afdbe(_0x2c5e0f,_0x5a1d38- -0x364);}const _0x307ab4=_0x493e7d?Cesium__namespace[_0x2d7ac7(0x15e,_0x8c21cd._0x8c452a)]:Cesium__namespace['CylinderGeometry'];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x307ab4(_0x595224),'modelMatrix':_0x595224[_0x4f5c1b(-_0x8c21cd._0x4c1c5f,_0x8c21cd._0x1964b1)]||this['modelMatrix'],'attributes':this['_createGeometryInstanceAttributes'](_0x595224)});}[_0x7afdbe(0x176,0x625)](_0x16d7c4,_0x6a2099){const _0x265ffa={_0xb2f597:0x758,_0x41cd86:0x44},_0x4b9279={_0x3f436b:0x446};function _0x45a3b5(_0x35b3d8,_0x56e0d8){return _0x54a7f1(_0x56e0d8- -_0x4b9279._0x3f436b,_0x35b3d8);}return create$5(_0x45a3b5(-_0x265ffa._0xb2f597,-_0x265ffa._0x41cd86),_0x16d7c4);}}register$5('cylinderP',CylinderPrimitive,!![]);class ConeTrackPrimitive extends CylinderPrimitive{constructor(_0x47cd3c={}){const _0x380c71={_0x780155:0x1403},_0x33356b={_0x49a00a:0x547};function _0x5cc783(_0x267e7c,_0x1b5f7b){return _0x7afdbe(_0x1b5f7b,_0x267e7c- -0x147);}function _0x31f5ea(_0x25f8f6,_0x2e9a8b){return _0x7afdbe(_0x2e9a8b,_0x25f8f6- -_0x33356b._0x49a00a);}super(_0x47cd3c),_0x47cd3c['targetPosition']&&(this[_0x5cc783(_0x380c71._0x780155,0x10c5)]=_0x47cd3c[_0x31f5ea(0x1003,0x18b3)]);}get['hasEdit'](){return![];}get['targetPosition'](){const _0x520fa0={_0x3aa322:0x4b6};function _0x2f2651(_0x29c634,_0x343ad2){return _0x7afdbe(_0x29c634,_0x343ad2- -0x21b);}return this[_0x2f2651(0xc79,_0x520fa0._0x3aa322)];}set[_0x54a7f1(0x131c,0xfb5)](_0x36727c){this['_targetPoint']=LngLatPoint['parse'](_0x36727c),this['_targetPosition']=this['_targetPoint']['toCartesian'](),this['czmObject']&&this['_updatePositionsHook']();}get['targetPoint'](){return this['_targetPoint'];}get[_0x7afdbe(0x1c11,0x16d0)](){return this['style']['angle'];}set[_0x54a7f1(0x14a2,0xfe7)](_0x42d7f6){const _0xeb53b0={_0x349191:0x1707};function _0x15d78d(_0x5babe1,_0x14a066){return _0x54a7f1(_0x5babe1-0x265,_0x14a066);}this['style'][_0x15d78d(_0xeb53b0._0x349191,0x2018)]=_0x42d7f6;}[_0x7afdbe(0x154d,0x113d)](_0x55057c,_0x204ce8){const _0x194e57={_0x5476e7:0x117f,_0x2065ab:0x434,_0x1b0301:0x8b3,_0x3f4eba:0xab9,_0x183b3b:0x12b6,_0x21e19c:0x1065,_0x289739:0xf80,_0xeca8a:0x1784,_0x1a072f:0x170,_0x2b6c3e:0xaa1,_0x21bfb7:0xfda,_0xb35416:0x1307,_0x4981f9:0x1834},_0x4833ac=this['position'];function _0x217ec7(_0x4597aa,_0x4963d2){return _0x54a7f1(_0x4963d2-0xe0,_0x4597aa);}const _0x133a55=getPositionValue(this[_0x472c16(_0x194e57._0x5476e7,0xadf)],this[_0x217ec7(_0x194e57._0x2065ab,_0x194e57._0x1b0301)][_0x217ec7(0x7e,_0x194e57._0x3f4eba)][_0x472c16(_0x194e57._0x183b3b,0xec1)]);function _0x472c16(_0xc025b2,_0x78ea97){return _0x54a7f1(_0xc025b2- -0x19d,_0x78ea97);}let _0xd2fa15,_0x5a7ca0;return _0x133a55?(_0x55057c[_0x217ec7(0x919,_0x194e57._0x21e19c)]=Cesium__namespace['Cartesian3'][_0x217ec7(0xb87,0x1371)](_0x4833ac,_0x133a55),_0x5a7ca0=Cesium__namespace[_0x472c16(0x114a,0x1580)][_0x217ec7(0x1773,_0x194e57._0x289739)](_0x4833ac,_0x133a55,new Cesium__namespace['Cartesian3']()),_0xd2fa15=getHeadingPitchRollForLine(_0x4833ac,_0x133a55)):(_0x55057c['length']=this['style'][_0x472c16(0xde8,_0x194e57._0xeca8a)],_0xd2fa15=new Cesium__namespace['HeadingPitchRoll'](Cesium__namespace['Math']['toRadians'](this[_0x472c16(_0x194e57._0x1a072f,0x231)]),Cesium__namespace[_0x217ec7(0x1756,0x138c)]['toRadians'](this[_0x472c16(0x14f5,0x1b7a)]),Cesium__namespace['Math']['toRadians'](this['roll'])),_0x5a7ca0=getPositionByHprAndLen(_0x4833ac,_0xd2fa15,_0x55057c['length']/0x2)),_0x55057c['modelMatrix']=Cesium__namespace[_0x217ec7(-0xb,0x84d)][_0x472c16(_0x194e57._0x2b6c3e,_0x194e57._0x21bfb7)](_0x5a7ca0,_0xd2fa15,this['ellipsoid'],this[_0x472c16(0x1596,0xeb9)]),Cesium__namespace[_0x472c16(0x14e4,0xd24)](this['style']['angle'])&&(_0x55057c['bottomRadius']=_0x55057c[_0x217ec7(_0x194e57._0xb35416,0x1065)]*Math[_0x217ec7(0x12d8,_0x194e57._0x4981f9)](Cesium__namespace['Math']['toRadians'](0x5a-this['angle']))),super['_createGeometryInstance'](_0x55057c,_0x204ce8);}}register$5('coneTrackP',ConeTrackPrimitive,!![]);class EllipsoidPrimitive extends BasePointPrimitive{constructor(_0x666fe7={}){const _0xbb16ac={_0x2e09d0:0x17e2,_0xe32f5:0xb1e},_0x143396={_0x533f5e:0xa2};function _0x541dee(_0x5d25e7,_0x3d224d){return _0x54a7f1(_0x3d224d-0x2a9,_0x5d25e7);}function _0x50bc8c(_0x541bb9,_0x22ab2f){return _0x54a7f1(_0x541bb9-_0x143396._0x533f5e,_0x22ab2f);}super(_0x666fe7),this['style'][_0x541dee(0x147c,_0xbb16ac._0x2e09d0)]=this[_0x50bc8c(0x53e,_0xbb16ac._0xe32f5)]['closed']??!![];}['_conversionStyle'](_0x38bf75){const _0x62d841={_0x2971c5:0x955};function _0x151b12(_0x158361,_0x599711){return _0x54a7f1(_0x599711- -0x4ee,_0x158361);}return EllipsoidStyleConver[_0x151b12(_0x62d841._0x2971c5,0x8eb)](_0x38bf75);}['_style2Json'](_0x2b0e86,_0x4b09e8){return EllipsoidStyleConver['toJSON'](_0x2b0e86,_0x4b09e8);}['_createGeometryInstance'](_0x2bed4c,_0x9602d){const _0x3e7b6f={_0x432458:0x23e},_0x557a45=_0x9602d?Cesium__namespace[_0x865b04(-0x53b,-0x20)]:Cesium__namespace['EllipsoidGeometry'];function _0x865b04(_0x3ca80a,_0x5e3373){return _0x54a7f1(_0x5e3373- -0x26e,_0x3ca80a);}function _0x23d3c9(_0x1370cf,_0x3a1cc3){return _0x7afdbe(_0x3a1cc3,_0x1370cf- -_0x3e7b6f._0x432458);}return new Cesium__namespace[(_0x865b04(0xfb3,0xc6a))]({'id':this['id'],'geometry':new _0x557a45(_0x2bed4c),'modelMatrix':this['modelMatrix'],'attributes':this['_createGeometryInstanceAttributes'](_0x2bed4c)});}['_getDrawEntityClass'](_0x57f51b,_0x15fe07){return create$5('ellipsoid',_0x57f51b);}}register$5(_0x7afdbe(0x1826,0xda0),EllipsoidPrimitive,!![]);class WallPrimitive extends BasePolyPrimitive{['_createGeometryInstance'](_0x57a4ab,_0xe02a53){const _0x3eb4b7={_0x107ce3:0x7ed},_0x42e0e3={_0x1ce970:0x351};var _0x27cc98;let _0x5260d8=this['positions'];const _0x5a0743=this['points'],_0x4d3c28=_0x5a0743['length'];let _0x6c5492=new Array(_0x4d3c28),_0x34d71a=new Array(_0x4d3c28);for(let _0x27ea8c=0x0;_0x27ea8c<_0x4d3c28;_0x27ea8c++){const _0x20a28b=_0x5a0743[_0x27ea8c]['alt'];_0x6c5492[_0x27ea8c]=_0x20a28b,_0x34d71a[_0x27ea8c]=_0x20a28b+Number(this['style']['diffHeight']||0x64);}this['style']['closure']&&((_0x27cc98=_0x5260d8)===null||_0x27cc98===void 0x0?void 0x0:_0x27cc98['length'])>0x0&&(_0x5260d8=_0x5260d8['concat'](_0x5260d8[0x0]),_0x6c5492=_0x6c5492[_0x3af8e6(_0x3eb4b7._0x107ce3,0x4d4)](_0x6c5492[0x0]),_0x34d71a=_0x34d71a['concat'](_0x34d71a[0x0]));const _0x123184=_0xe02a53?Cesium__namespace['WallOutlineGeometry']:Cesium__namespace[_0x3af8e6(0x14b0,0xfc4)];function _0x3af8e6(_0x17e864,_0x4551c8){return _0x7afdbe(_0x4551c8,_0x17e864- -0x406);}const _0x577ff0={..._0x57a4ab};function _0x52ad62(_0x4769a6,_0x4ca08e){return _0x7afdbe(_0x4769a6,_0x4ca08e- -_0x42e0e3._0x1ce970);}return _0x577ff0['positions']=_0x5260d8,_0x577ff0['maximumHeights']=_0x34d71a,_0x577ff0['minimumHeights']=_0x6c5492,new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x123184(_0x577ff0),'attributes':this['_createGeometryInstanceAttributes'](_0x57a4ab)});}[_0x54a7f1(0x1340,0x1241)](_0x1cb046){return WallStyleConver['toCesiumVal'](_0x1cb046);}[_0x54a7f1(0x82f,0xaae)](_0x3628f6,_0x56cfda){function _0x33eeac(_0x356136,_0x15b877){return _0x7afdbe(_0x356136,_0x15b877- -0x526);}return WallStyleConver[_0x33eeac(0x1583,0x1043)](_0x3628f6,_0x56cfda);}[_0x7afdbe(0xe0f,0x625)](_0xc92993,_0x434de2){return create$5('wall',_0xc92993);}}register$5('wallP',WallPrimitive);class CorridorPrimitive extends BasePolyPrimitive{constructor(_0x57a5ef={}){const _0x340eac={_0x5d4e3f:0x45a};super(_0x57a5ef);function _0x41a7fc(_0x2f35e0,_0x2c123a){return _0x54a7f1(_0x2f35e0- -_0x340eac._0x5d4e3f,_0x2c123a);}this[_0x41a7fc(0x192,0x4ae)]=!![];}['_createGeometryInstance'](_0x21713c,_0xd0f451){const _0x3a52c0={_0x3cd327:0x1244,_0x3660e9:0xd39};function _0x180ecd(_0x4d5611,_0x5688cc){return _0x7afdbe(_0x4d5611,_0x5688cc- -0xd9);}_0x21713c['positions']=this[_0x180ecd(0xba3,_0x3a52c0._0x3cd327)];function _0x2ddcf9(_0x374bb2,_0x290b3a){return _0x7afdbe(_0x290b3a,_0x374bb2- -0x298);}this['_calculateCzmHeight'](_0x21713c);const _0x50676a=_0xd0f451?Cesium__namespace['CorridorOutlineGeometry']:Cesium__namespace[_0x2ddcf9(_0x3a52c0._0x3660e9,0x348)];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x50676a(_0x21713c),'attributes':this['_createGeometryInstanceAttributes'](_0x21713c)});}[_0x7afdbe(0xc9e,0x156e)](_0x387884){const _0x4b86cd={_0x40ff5b:0x1758},_0x3cc07b={_0x1b1861:0xf};function _0x4cb213(_0x383e6c,_0x4c0103){return _0x54a7f1(_0x383e6c- -_0x3cc07b._0x1b1861,_0x4c0103);}return CorridorStyleConver[_0x4cb213(0xdca,_0x4b86cd._0x40ff5b)](_0x387884);}[_0x54a7f1(0x82f,0x565)](_0x5724cf,_0x1b6147){const _0x400e62={_0x538a25:0xe66};function _0x3b301e(_0x4cf681,_0x4c9e99){return _0x54a7f1(_0x4c9e99- -0x4d5,_0x4cf681);}return CorridorStyleConver[_0x3b301e(0x13d1,_0x400e62._0x538a25)](_0x5724cf,_0x1b6147);}[_0x54a7f1(0x3f7,-0x493)](_0x83c748,_0x2c9dab){return create$5('corridor',_0x83c748);}}register$5(_0x54a7f1(0x13c1,0x1a2b),CorridorPrimitive);class PolylineVolumePrimitive extends BasePolyPrimitive{constructor(_0x3c239d={}){const _0xc27d11={_0x541837:0x35c};super(_0x3c239d);function _0x27c566(_0xced9e5,_0x33cd47){return _0x54a7f1(_0x33cd47- -0xf6,_0xced9e5);}this[_0x27c566(-_0xc27d11._0x541837,0x3a6)]['closed']=this['style']['closed']??!![];}[_0x7afdbe(0x873,0x113d)](_0x44f00e,_0x343022){const _0x1a8de6={_0x57df1e:0x11fc,_0x38d772:0x1265,_0x8d343a:0xc6},_0x4b7b7d={_0x338ff1:0xd4};function _0xbe409d(_0x3307d2,_0x323377){return _0x7afdbe(_0x323377,_0x3307d2- -0x64e);}function _0x4188c5(_0x1d193b,_0x255125){return _0x54a7f1(_0x1d193b- -_0x4b7b7d._0x338ff1,_0x255125);}const _0x4c7282=_0x343022?Cesium__namespace['PolylineVolumeOutlineGeometry']:Cesium__namespace[_0xbe409d(_0x1a8de6._0x57df1e,0xa0d)];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x4c7282({..._0x44f00e,'polylinePositions':this['positions'],'shapePositions':_0x44f00e[_0xbe409d(_0x1a8de6._0x38d772,0xc89)]}),'attributes':this[_0x4188c5(0x83b,-_0x1a8de6._0x8d343a)](_0x44f00e)});}[_0x54a7f1(0x1340,0x17f0)](_0x12c179){return PolylineVolumeStyleConver['toCesiumVal'](_0x12c179);}['_style2Json'](_0x4b380d,_0x26d221){return PolylineVolumeStyleConver['toJSON'](_0x4b380d,_0x26d221);}['_getDrawEntityClass'](_0x503491,_0x7d1e34){const _0x3df8c8={_0x1cc095:0x10a6},_0x44b10c={_0x69a022:0x11c};function _0x41fe22(_0x5330af,_0x2a9074){return _0x54a7f1(_0x2a9074-_0x44b10c._0x69a022,_0x5330af);}return create$5(_0x41fe22(0xddf,_0x3df8c8._0x1cc095),_0x503491);}}register$5(_0x7afdbe(-0x239,0x616),PolylineVolumePrimitive);class RectanglePrimitive extends BasePolyPrimitive{constructor(_0x11ce03={}){const _0x46987c={_0x3eca68:0x6b,_0x520b43:0x174};super(_0x11ce03);function _0x5f47a4(_0x34fe51,_0x114788){return _0x7afdbe(_0x34fe51,_0x114788- -0x386);}this['_hasClampToGround']=!![],_0x11ce03['rectangle']&&(this['rectangle']=_0x11ce03[_0x5f47a4(_0x46987c._0x3eca68,_0x46987c._0x520b43)]);}get['rectangle'](){const _0x2b5700={_0x59285e:0x2bf};function _0x1288fe(_0x338bd0,_0xb96716){return _0x7afdbe(_0x338bd0,_0xb96716- -0x4bc);}return!this['_rectangle']&&this['positions']&&(this['_rectangle']=Cesium__namespace['Rectangle'][_0x1288fe(-0x1cf,_0x2b5700._0x59285e)](this['positions'])),this['_rectangle'];}set[_0x7afdbe(0xa86,0x4fa)](_0x3925f9){const _0x1c8738={_0xd95a58:0x1dc5},_0x2b4e9b={_0x1ee0dc:0x200};function _0x3172dc(_0x41d853,_0x37a391){return _0x54a7f1(_0x41d853- -_0x2b4e9b._0x1ee0dc,_0x37a391);}this[_0x3172dc(0x14b4,_0x1c8738._0xd95a58)]=_0x3925f9;}get[_0x7afdbe(0x9e4,0xa74)](){const _0x233eb8={_0x581a1b:0x1ea,_0x518dbd:0x62d,_0x15e17f:0x1996,_0x1c643a:0x1382,_0x4a8513:0x16,_0x29e1f8:0x1192};let _0x465fe9;function _0x47b2b3(_0x25d8b2,_0x3d02f1){return _0x7afdbe(_0x25d8b2,_0x3d02f1- -0x9d);}if(Cesium__namespace['defined'](this['style']['rotationDegree']))_0x465fe9=Cesium__namespace[_0x476cee(0x892,0xfca)][_0x476cee(0x15e3,0x1240)](this['style']['rotationDegree']);else Cesium__namespace['defined'](this['style']['rotation'])&&(_0x465fe9=this[_0x47b2b3(-_0x233eb8._0x581a1b,_0x233eb8._0x518dbd)][_0x47b2b3(_0x233eb8._0x15e17f,_0x233eb8._0x1c643a)]);const _0x2afbab=getRectangleOuterPositions({'rectangle':this[_0x476cee(0x292,-_0x233eb8._0x4a8513)],'rotation':_0x465fe9,'height':this[_0x47b2b3(0x1379,_0x233eb8._0x29e1f8)]()});function _0x476cee(_0x59556f,_0x4b6b31){return _0x54a7f1(_0x4b6b31- -0x2e2,_0x59556f);}return _0x2afbab;}get[_0x7afdbe(0x1e99,0x14bf)](){return getDistance(this['outlinePositions'],!![]);}get[_0x54a7f1(0x6e8,0x6a1)](){return getArea(this['outlinePositions']);}get['center'](){const _0x23002f={_0x2adbe3:0x22e,_0x5517b1:0x636,_0x1ea368:0x33c,_0x54789c:0x44,_0x55c55a:0x5ed,_0x528b0c:0x1a20,_0x5af66b:0x1071},_0x46ca7b=this[_0x5dc1fc(-0x4f5,-_0x23002f._0x2adbe3)];function _0x55fbf4(_0x1df3a3,_0x154bc1){return _0x54a7f1(_0x154bc1-0x70,_0x1df3a3);}if(!this[_0x55fbf4(_0x23002f._0x5517b1,_0x23002f._0x1ea368)])return null;function _0x5dc1fc(_0x453fac,_0x5f389b){return _0x7afdbe(_0x453fac,_0x5f389b- -0x728);}let _0x30a62a=Cesium__namespace['Cartographic'][_0x5dc1fc(-_0x23002f._0x54789c,0x60a)](Cesium__namespace['Rectangle'][_0x55fbf4(-0x1c7,_0x23002f._0x55c55a)](_0x46ca7b));return _0x30a62a=setPositionsHeight(_0x30a62a,this[_0x55fbf4(_0x23002f._0x528b0c,_0x23002f._0x5af66b)]()),_0x30a62a;}['_updatePositionsHook'](){function _0x976a6f(_0x338435,_0x592fd4){return _0x54a7f1(_0x338435-0xf6,_0x592fd4);}return this[_0x976a6f(0x3c2,-0x45c)]=Cesium__namespace['Rectangle']['fromCartesianArray'](this['positions']),super['_updatePositionsHook']();}['_createGeometryInstance'](_0x4fd4a3,_0x56f382){_0x4fd4a3['rectangle']=this[_0xd1da64(0xb1,0xb02)],this['_calculateCzmHeight'](_0x4fd4a3);const _0x170044=_0x56f382?Cesium__namespace['RectangleOutlineGeometry']:Cesium__namespace[_0xd1da64(0x7c,0x937)];function _0x295508(_0x2f46c6,_0x55db84){return _0x54a7f1(_0x2f46c6- -0xef,_0x55db84);}function _0xd1da64(_0x420383,_0x2a3b2f){return _0x7afdbe(_0x2a3b2f,_0x420383- -0x449);}return new Cesium__namespace[(_0x295508(0xde9,0xd05))]({'id':this['id'],'geometry':new _0x170044(_0x4fd4a3),'attributes':this['_createGeometryInstanceAttributes'](_0x4fd4a3)});}[_0x7afdbe(0x1cca,0x156e)](_0x1de55b){function _0x40388e(_0x3c406a,_0x4ce8d3){return _0x7afdbe(_0x4ce8d3,_0x3c406a-0x63);}return RectangleStyleConver[_0x40388e(0x106a,0xaca)](_0x1de55b);}['_style2Json'](_0x10392d,_0x4d4182){function _0x1309b3(_0x27e1f3,_0x8c25ad){return _0x7afdbe(_0x27e1f3,_0x8c25ad- -0x266);}return RectangleStyleConver[_0x1309b3(0x1195,0x1303)](_0x10392d,_0x4d4182);}[_0x7afdbe(0x11bc,0xfa0)](_0x5c8ed4){function _0x5770d7(_0x42d81e,_0x4bb236){return _0x54a7f1(_0x4bb236- -0x25b,_0x42d81e);}return{'type':'Polygon','coordinates':[this['getCoordinates'](_0x5c8ed4===null||_0x5c8ed4===void 0x0?void 0x0:_0x5c8ed4[_0x5770d7(0x358,0x610)])]};}['_getPolylineOutlinePositions'](){const _0x56aaa3={_0x291750:0x8bd};function _0x42f3f3(_0x15f946,_0x180258){return _0x7afdbe(_0x180258,_0x15f946- -0x1b7);}return[this[_0x42f3f3(_0x56aaa3._0x291750,0x1158)]];}[_0x7afdbe(0x1323,0x18f3)](_0x390e96,_0x5d3fef){const _0x37d0e8={_0x40f2a1:0x6df,_0x570129:0xf7};_0x390e96={..._0x390e96};function _0x14b61d(_0x4c3a65,_0x543d45){return _0x7afdbe(_0x543d45,_0x4c3a65- -0x341);}delete _0x390e96[_0x55a507(0xafa,_0x37d0e8._0x40f2a1)],delete _0x390e96['setHeight'];function _0x55a507(_0x38a8a0,_0x3a30c7){return _0x54a7f1(_0x38a8a0- -0x26,_0x3a30c7);}delete _0x390e96[_0x55a507(0x641,-_0x37d0e8._0x570129)];const _0x129ad4=super['_getOutlineStyle'](_0x390e96,_0x5d3fef);return _0x129ad4['arcType']=Cesium__namespace[_0x55a507(0x1376,0xa2d)]['RHUMB'],_0x129ad4;}[_0x7afdbe(0x13ad,0x122f)](){const _0x2f06ae={_0x4b9ba1:0x91e,_0x392676:0x472},_0xdf3668={_0x45ebed:0x23e};let _0x561afe=0x0;function _0x290a4a(_0x23a93f,_0x186338){return _0x7afdbe(_0x186338,_0x23a93f- -0x229);}if(Cesium__namespace['defined'](this['style']['height'])){_0x561afe=this[_0x290a4a(0x4a1,-0x82)][_0x290a4a(0x66c,_0x2f06ae._0x4b9ba1)];const _0x2b86ba=this['getSetHeight']();Cesium__namespace['defined'](_0x2b86ba)&&(_0x561afe=_0x2b86ba);const _0x1e20ae=this[_0x45889c(-_0x2f06ae._0x392676,0x52a)]();Cesium__namespace['defined'](_0x1e20ae)&&(_0x561afe+=_0x1e20ae);}else _0x561afe=this['getMaxHeight'](this['positions']);function _0x45889c(_0x49f763,_0x34f47e){return _0x54a7f1(_0x34f47e- -_0xdf3668._0x45ebed,_0x49f763);}return _0x561afe;}['getRectangle'](_0x4940ca){const _0x2694b1=this['rectangle'];return _0x4940ca!==null&&_0x4940ca!==void 0x0&&_0x4940ca['isFormat']?formatRectangle(_0x2694b1):_0x2694b1;}[_0x7afdbe(0x1862,0xdd5)](_0x2dacae){const _0x585800={_0x3f496a:0x20a},_0x143819={_0x1a5d74:0x704};function _0x457ef9(_0x418bde,_0x46f2af){return _0x7afdbe(_0x418bde,_0x46f2af- -_0x143819._0x1a5d74);}const _0x27edb0=Cesium__namespace['Rectangle']['contains'](this[_0x457ef9(-0x77b,-_0x585800._0x3f496a)],LngLatPoint['parse'](_0x2dacae)['toCartographic']());return _0x27edb0;}['_getDrawEntityClass'](_0xa4c3d8,_0x2b7ee5){return create$5('rectangle',_0xa4c3d8);}['_updateDrawEntityToThis'](){const _0x1c3aa8={_0x54b3ec:0x1f2};function _0x872d22(_0x46ebaf,_0x3c8a71){return _0x54a7f1(_0x3c8a71- -_0x1c3aa8._0x54b3ec,_0x46ebaf);}super[_0x872d22(0xac1,0x2d7)](),this['_updatePositionsHook']();}}register$5(_0x7afdbe(0x1a41,0x1544),RectanglePrimitive);class PolygonPrimitive extends BasePolyPrimitive{constructor(_0x3da2a3={}){super(_0x3da2a3),this['_hasClampToGround']=!![];}get['center'](){return this['centerOfMass'];}get[_0x54a7f1(0x1291,0x1b23)](){return getDistance(this['_positions'],!![]);}get['positions'](){return this['_positions'];}set['positions'](_0x2eba5f){const _0x375b3a={_0xd969f0:0x1cb9,_0x5d0ca7:0x1050,_0x441630:0x1455,_0x2e6007:0x42f},_0x558fa1={_0x32b2ed:0x6e},_0xd0ffa1={_0x137e5b:0x1f5};if(!_0x2eba5f)return;function _0x307c20(_0x55c9ed,_0x1b190a){return _0x54a7f1(_0x55c9ed- -_0xd0ffa1._0x137e5b,_0x1b190a);}if(_0x2eba5f['length']>0x0&&Array[_0x307c20(0x1279,_0x375b3a._0xd969f0)](_0x2eba5f[0x0])&&_0x2eba5f[0x0]['length']>0x0){const _0x68dc51=_0x2eba5f[0x0][0x0];if(Array[_0x314e41(_0x375b3a._0x5d0ca7,0x14dc)](_0x68dc51)&&isNumber(_0x68dc51[0x0]))this['_hierarchy']=getPolygonHierarchy(_0x2eba5f,this[_0x307c20(0x2a7,0xb56)][_0x314e41(0xdd8,0x6d5)]||this[_0x307c20(0x2a7,0x769)][_0x314e41(0x16a7,_0x375b3a._0x441630)]||this[_0x314e41(-0x59c,0x50a)]['addHeight']),_0x2eba5f=this['_hierarchy']['positions'];else(_0x68dc51 instanceof Cesium__namespace[_0x307c20(0x10f2,0x16e1)]||_0x68dc51 instanceof LngLatPoint)&&(this['_hierarchy']=getPolygonHierarchy2(_0x2eba5f),_0x2eba5f=this['_hierarchy']['positions']);}super['positions']=_0x2eba5f;function _0x314e41(_0xa67804,_0x3a3c33){return _0x54a7f1(_0x3a3c33-_0x558fa1._0x32b2ed,_0xa67804);}this[_0x307c20(0xbe0,0xddf)]&&this[_0x314e41(_0x375b3a._0x2e6007,0xdab)]&&(this['_hierarchy']['positions']=this['_positions']);}[_0x54a7f1(0xf0f,0x4d7)](_0x1d5896,_0x36031a){const _0x151c19={_0x57c20b:0x94a,_0x505c1b:0xfe4},_0x85eff4={_0x1aef8f:0x1d4},_0x5f07de={_0x2238db:0x1fc};function _0x3d939a(_0x4144a9,_0x597288){return _0x54a7f1(_0x4144a9-_0x5f07de._0x2238db,_0x597288);}this[_0x4eb255(0x10fd,0x1b01)](_0x1d5896);this['_hierarchy']?_0x1d5896[_0x3d939a(0x5da,_0x151c19._0x57c20b)]=this['_hierarchy']:_0x1d5896['polygonHierarchy']=new Cesium__namespace['PolygonHierarchy'](this['positions']);let _0x359b59;function _0x4eb255(_0x4ebaac,_0xb4f794){return _0x7afdbe(_0xb4f794,_0x4ebaac- -_0x85eff4._0x1aef8f);}return _0x36031a?_0x359b59=Cesium__namespace['PolygonOutlineGeometry']:_0x1d5896['perPositionHeight']&&!Cesium__namespace['defined'](_0x1d5896[_0x3d939a(_0x151c19._0x505c1b,0x756)])&&!Cesium__namespace[_0x4eb255(0x16db,0x1f52)](_0x1d5896['offsetAttribute'])?_0x359b59=Cesium__namespace['CoplanarPolygonGeometry']:_0x359b59=Cesium__namespace['PolygonGeometry'],new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x359b59(_0x1d5896),'attributes':this['_createGeometryInstanceAttributes'](_0x1d5896)});}[_0x7afdbe(0x134d,0x12d1)](_0x4b6463){const _0x27f43d={_0x16733f:0x150c,_0x10d2e0:0xe99,_0x37da6a:0xed7,_0x7f5d40:0x1be,_0x446c3a:0xa55};function _0xd15627(_0x2b897c,_0x5a55bd){return _0x7afdbe(_0x2b897c,_0x5a55bd- -0x3a3);}if(this['style']['clampToGround'])return;function _0x4ad751(_0x21ec17,_0x539b7b){return _0x7afdbe(_0x21ec17,_0x539b7b- -0x2b4);}if(Cesium__namespace[_0xd15627(0x196a,_0x27f43d._0x16733f)](this[_0x4ad751(0x924,0x416)][_0xd15627(_0x27f43d._0x10d2e0,_0x27f43d._0x37da6a)])&&!Cesium__namespace['defined'](_0x4b6463['extrudedHeight'])){let _0x272a01=0x0;if(Cesium__namespace['defined'](_0x4b6463[_0x4ad751(-_0x27f43d._0x7f5d40,0x5e1)]))_0x272a01=_0x4b6463['height'];else Cesium__namespace['defined'](this[_0x4ad751(_0x27f43d._0x446c3a,0x416)]['height'])?_0x272a01=this['style']['height']:_0x272a01=getMaxHeight(this['positions']);_0x4b6463['extrudedHeight']=_0x272a01+this['style']['diffHeight'];}}['_conversionStyle'](_0x20451b){const _0x29c239={_0x2f50b8:0x7c7},_0x59b2b0={_0x12cf96:0x3db};let _0x36dde1=PolygonStyleConver['toCesiumVal'](_0x20451b);function _0x4275e7(_0x5d7fe5,_0x4b603d){return _0x54a7f1(_0x5d7fe5- -_0x59b2b0._0x12cf96,_0x4b603d);}return _0x36dde1=this[_0x4275e7(_0x29c239._0x2f50b8,0x8e6)](_0x36dde1),_0x36dde1;}[_0x54a7f1(0xba2,0x516)](_0x2ecae5){const _0x54a82c={_0x5a01be:0x1013,_0x4fbe19:0x102c,_0x37999a:0x178b,_0x2e83a8:0x139f,_0x404767:0xd01,_0x4a63f2:0x1678,_0x1c5516:0xfc6,_0x139bf6:0x17e5,_0x56f5f3:0x1833},_0x39177e={_0x213b52:0xd0};function _0x5afe55(_0xd75e3d,_0x3ebc0a){return _0x7afdbe(_0xd75e3d,_0x3ebc0a- -_0x39177e._0x213b52);}const _0x3f3e47=this['options'][_0x520ec6(_0x54a82c._0x5a01be,0x800)]||this[_0x5afe55(_0x54a82c._0x4fbe19,_0x54a82c._0x37999a)]['options'][_0x5afe55(0x1151,0x12a0)];if(_0x3f3e47&&(_0x3f3e47[_0x5afe55(_0x54a82c._0x2e83a8,_0x54a82c._0x404767)]??!![])){if(_0x3f3e47['bottomHeight']){let _0x1c0cd5;if(isNumber(_0x3f3e47['bottomHeight']))_0x1c0cd5=_0x3f3e47[_0x520ec6(_0x54a82c._0x4a63f2,0xc60)];else isString(_0x3f3e47['bottomHeight'])&&(_0x1c0cd5=Number(this[_0x5afe55(_0x54a82c._0x1c5516,_0x54a82c._0x139bf6)][_0x3f3e47['bottomHeight']]||0x0));_0x2ecae5['height']=_0x1c0cd5;}const _0x261b20=Number(this['attr'][_0x3f3e47[_0x5afe55(_0x54a82c._0x56f5f3,0x113b)]]||0x1);let _0x312eaf;if(isNumber(_0x3f3e47['height']))_0x312eaf=_0x3f3e47['height'];else isString(_0x3f3e47['height'])?_0x312eaf=this['attr'][_0x3f3e47['height']]||_0x312eaf:_0x312eaf=3.5;const _0xadf3b1=_0x2ecae5['height']||0x0;_0x2ecae5['extrudedHeight']=_0xadf3b1+_0x261b20*_0x312eaf;}function _0x520ec6(_0x13fd6f,_0x34b23e){return _0x7afdbe(_0x34b23e,_0x13fd6f- -0x35d);}return _0x2ecae5;}['_style2Json'](_0x2df73c,_0x125d61){function _0x3b24ef(_0x7d9488,_0x329701){return _0x54a7f1(_0x7d9488-0x25c,_0x329701);}return PolygonStyleConver[_0x3b24ef(0x1597,0x1c60)](_0x2df73c,_0x125d61);}['_getGeoJsonGeometry'](_0x31e991){const _0x921948={_0x2b79d7:0x9ce,_0x41a48f:0xb3,_0x2e983a:0xe72,_0x1c47c7:0x97d,_0xc147b8:0x10c,_0x37bddf:0xc1a,_0x29bb07:0x1400,_0x381d18:0xb7e,_0x32b422:0xb01,_0x2194b1:0xd42,_0x418a22:0x42f,_0x3f6b59:0x342},_0x46e74d={_0x15d707:0xc51},_0x378076={_0x20ccc1:0x428};var _0x47e9bc;function _0x11ad52(_0x358cbd,_0x7779dd){return _0x54a7f1(_0x358cbd- -0x407,_0x7779dd);}function _0x946690(_0x3cd0e5,_0x32574c){return _0x7afdbe(_0x3cd0e5,_0x32574c- -0x4cb);}if(((_0x47e9bc=this[_0x11ad52(_0x921948._0x2b79d7,_0x921948._0x41a48f)])===null||_0x47e9bc===void 0x0||(_0x47e9bc=_0x47e9bc['holes'])===null||_0x47e9bc===void 0x0?void 0x0:_0x47e9bc[_0x946690(_0x921948._0x2e983a,0xce8)])>0x0){const _0x24fe9f=[],_0x25ba6c=getHierarchyVal(this['_hierarchy']);_0x25ba6c['forEach'](_0x781c1c=>{function _0x350ba2(_0x44fbf7,_0x26738b){return _0x946690(_0x26738b,_0x44fbf7-_0x378076._0x20ccc1);}_0x24fe9f[_0x350ba2(0x1093,_0x46e74d._0x15d707)](LngLatArray['toArray'](_0x781c1c));});const _0x941ed4={};return _0x941ed4[_0x11ad52(0x42f,-0x5aa)]='Polygon',_0x941ed4[_0x11ad52(_0x921948._0x1c47c7,0x10b2)]=_0x24fe9f,_0x941ed4;}else{const _0x34d072=this[_0x946690(0xba4,_0x921948._0xc147b8)](_0x31e991===null||_0x31e991===void 0x0?void 0x0:_0x31e991['noAlt']);_0x31e991!==null&&_0x31e991!==void 0x0&&_0x31e991[_0x946690(_0x921948._0x37bddf,_0x921948._0x29bb07)]&&_0x34d072[_0x11ad52(_0x921948._0x381d18,0x6bd)]>0x0&&_0x34d072[_0x11ad52(_0x921948._0x32b422,_0x921948._0x2194b1)](_0x34d072[0x0]);const _0x1519e1={};return _0x1519e1[_0x11ad52(_0x921948._0x418a22,-_0x921948._0x3f6b59)]='Polygon',_0x1519e1['coordinates']=[_0x34d072],_0x1519e1;}}[_0x7afdbe(0x11d,0x86b)](){const _0x5104d2={_0x14d515:0xc18,_0x44b9cd:0xfe5,_0x5296a5:0xbf3};function _0x3fe5cd(_0x4db818,_0xe77313){return _0x54a7f1(_0xe77313- -0x1e2,_0x4db818);}function _0x562881(_0x49f95f,_0x1f481e){return _0x7afdbe(_0x49f95f,_0x1f481e- -0x3eb);}return this[_0x562881(0xdbe,_0x5104d2._0x14d515)]?getHierarchyVal(this[_0x3fe5cd(_0x5104d2._0x44b9cd,_0x5104d2._0x5296a5)]):[this['positions']];}['_getOutlineStyle'](_0x41bf24,_0x5d9952){const _0x4629db={_0x525e7e:0xb46},_0x1edc85={_0x5db5b3:0x3b5};_0x41bf24={..._0x41bf24};function _0x214f1f(_0x36eea2,_0x4afac4){return _0x7afdbe(_0x4afac4,_0x36eea2- -_0x1edc85._0x5db5b3);}delete _0x41bf24[_0x4b072f(_0x4629db._0x525e7e,0xd4d)];function _0x4b072f(_0x16f2fe,_0x12beab){return _0x7afdbe(_0x12beab,_0x16f2fe- -0x208);}return delete _0x41bf24['setHeight'],delete _0x41bf24['height'],super[_0x214f1f(0x153e,0xfed)](_0x41bf24,_0x5d9952);}['_getDrawEntityClass'](_0x1a927c,_0x5f2e46){return create$5('polygon',_0x1a927c);}[_0x7afdbe(0x125b,0xaf6)](_0x4e2aed){this['_hierarchy']&&(_0x4e2aed['_hierarchy']=this['_hierarchy']);}}register$5(_0x7afdbe(0x1172,0x16f3),PolygonPrimitive);class FrustumPrimitive extends BasePointPrimitive{constructor(_0x2375a2={}){super(_0x2375a2),this[_0x20f4d0(0x5e3,-0x123)]['closed']=this['style']['closed']??!![];function _0x20f4d0(_0x10db92,_0x140614){return _0x7afdbe(_0x140614,_0x10db92- -0xe7);}_0x2375a2['targetPosition']&&(this['targetPosition']=_0x2375a2['targetPosition']);}get['targetPosition'](){const _0x1cca1b={_0x214f0d:0xc2,_0xdc6763:0x537},_0x88366f={_0x474df6:0x60f};function _0x22c4e4(_0x48f057,_0x1dab5e){return _0x7afdbe(_0x1dab5e,_0x48f057- -_0x88366f._0x474df6);}return this[_0x22c4e4(_0x1cca1b._0x214f0d,_0x1cca1b._0xdc6763)];}set['targetPosition'](_0xe7b85b){const _0x414637={_0x261fe1:0xd82,_0x48cdc6:0x40b},_0x1c3c89={_0xf8529b:0x3f7};function _0x3875ec(_0x42c8a9,_0x3b1a5c){return _0x7afdbe(_0x3b1a5c,_0x42c8a9- -_0x1c3c89._0xf8529b);}this['_targetPoint']=LngLatPoint['parse'](_0xe7b85b);function _0x47bd47(_0x3f2969,_0x11fdb5){return _0x54a7f1(_0x11fdb5- -0x91,_0x3f2969);}this['_targetPosition']=this[_0x47bd47(0x117e,_0x414637._0x261fe1)]['toCartesian'](),this['isAdded']&&this['show']&&(this['_removedHook'](),this['_addedHook'](this[_0x47bd47(0x1b7,_0x414637._0x48cdc6)]));}get[_0x7afdbe(0x36c,0xae6)](){return this['_targetPoint'];}get['angle'](){const _0x5dffa8={_0x1316be:0x943},_0x3a353f={_0x49dd7d:0x1c6};function _0x1ae426(_0x41c5ae,_0x442dfc){return _0x54a7f1(_0x41c5ae-_0x3a353f._0x49dd7d,_0x442dfc);}return this[_0x1ae426(0x662,_0x5dffa8._0x1316be)]['angle'];}set[_0x7afdbe(0x189d,0x16d0)](_0x1d7ca3){this['style']['angle']=_0x1d7ca3;}get['angle2'](){const _0x254bc3={_0x47e350:0x32d,_0x4c4f59:0x30b},_0x450943={_0x433a33:0x16f};function _0x57bd3d(_0xf2084b,_0x22dc1c){return _0x7afdbe(_0x22dc1c,_0xf2084b- -0x3bf);}function _0xf86ea1(_0x17bb60,_0x56e73f){return _0x54a7f1(_0x17bb60- -_0x450943._0x433a33,_0x56e73f);}return this[_0xf86ea1(_0x254bc3._0x47e350,0x245)]['angle2']??this[_0x57bd3d(_0x254bc3._0x4c4f59,0xa54)]['angle'];}set['angle2'](_0x5cd4ef){this['style']['angle2']=_0x5cd4ef;}get[_0x54a7f1(0x532,0xf07)](){return getRayEarthPosition(this['position'],this['_orientation']);}get[_0x7afdbe(0x65c,0xddf)](){const _0x5154fe={_0xe68f5c:0x889},_0x16a9c3={_0x3759b3:0xf6};function _0x38fd41(_0x423c06,_0xc67b98){return _0x7afdbe(_0x423c06,_0xc67b98- -_0x16a9c3._0x3759b3);}return Cesium__namespace[_0x38fd41(_0x5154fe._0xe68f5c,0x46b)]['POSITION_ONLY'];}['updateModelMatrix'](){}[_0x7afdbe(0x1b1c,0x156e)](_0x4e4e2f){const _0x316b66={_0x2c35ea:0x450};function _0x1e8915(_0x1c899f,_0x575c8e){return _0x7afdbe(_0x1c899f,_0x575c8e- -_0x316b66._0x2c35ea);}return CylinderStyleConver[_0x1e8915(0x140a,0xbb7)](_0x4e4e2f);}['_style2Json'](_0x894397,_0x1feff0){const _0x35c5d={_0x2b79b1:0x159e},_0x3e1328={_0x34d0e3:0x263};function _0x4a00fa(_0x13bdb7,_0x2b7b4d){return _0x54a7f1(_0x13bdb7-_0x3e1328._0x34d0e3,_0x2b7b4d);}return CylinderStyleConver[_0x4a00fa(_0x35c5d._0x2b79b1,0x1ce6)](_0x894397,_0x1feff0);}[_0x54a7f1(0xf0f,0x128a)](_0x2602b9,_0x58bd6e){const _0x41a2f4={_0x16e280:0x1890,_0x4a634f:0x184a};this['_update']();function _0x4457a9(_0x2f6fbe,_0xc3c8e){return _0x54a7f1(_0xc3c8e-0x1af,_0x2f6fbe);}function _0x5cceed(_0x29c6ef,_0x43a43d){return _0x7afdbe(_0x29c6ef,_0x43a43d-0x8a);}const _0xe2f4ea=_0x58bd6e?Cesium__namespace['FrustumOutlineGeometry']:Cesium__namespace['FrustumGeometry'];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0xe2f4ea({..._0x2602b9,'origin':this[_0x4457a9(0x2298,_0x41a2f4._0x16e280)],'orientation':this[_0x5cceed(0x1471,0x1229)],'frustum':this[_0x4457a9(0x1c46,_0x41a2f4._0x4a634f)]}),'attributes':this['_createGeometryInstanceAttributes'](_0x2602b9)});}[_0x7afdbe(0xe6f,0x15b3)](_0xad391){const _0x495546={_0x2174ec:0x799,_0x309923:0xdfd,_0x311c38:0x51d,_0x1dcae4:0x4a5,_0x16abaf:0x440,_0x4d11c3:0x1516,_0x26cf41:0x1a19,_0x3e15c8:0x5ca,_0x51e661:0x191,_0x252cac:0x1ec8,_0x29a5f4:0xa15,_0x4bebb0:0xd33,_0x5d1f6a:0x161c,_0x4053b0:0x194b,_0x2a3885:0x1584,_0x58b7a8:0xb4a,_0x310439:0x1195,_0x1be078:0x7ef,_0x23e7e8:0xb52},_0x12be23={_0x4eb59a:0x345},_0xf1ee9=getPositionValue(this['position'],_0xad391);if(!_0xf1ee9)return;if(this[_0x48dd9d(_0x495546._0x2174ec,_0x495546._0x309923)][_0x48f2e7(0x3df,0xd2b)]){const _0x27d2a2=this['options'][_0x48f2e7(0x3df,-_0x495546._0x311c38)],_0x86b08f=new Cesium__namespace['Cartesian3'](),_0x1f5770=new Cesium__namespace[(_0x48dd9d(0x12f9,0x106f))](),_0x5d6eb7=new Cesium__namespace['Quaternion'](),_0x57dd50=_0x27d2a2['directionWC'],_0x391838=_0x27d2a2['upWC'],_0x5012e0=Cesium__namespace['Cartesian3']['negate'](_0x27d2a2['rightWC'],_0x86b08f);Cesium__namespace['Matrix3']['setColumn'](_0x1f5770,0x0,_0x5012e0,_0x1f5770),Cesium__namespace['Matrix3'][_0x48dd9d(_0x495546._0x1dcae4,0xa41)](_0x1f5770,0x1,_0x391838,_0x1f5770),Cesium__namespace['Matrix3'][_0x48f2e7(_0x495546._0x16abaf,-0x1ed)](_0x1f5770,0x2,_0x57dd50,_0x1f5770),this['_orientation']=Cesium__namespace['Quaternion']['fromRotationMatrix'](_0x1f5770,_0x5d6eb7),this[_0x48f2e7(0x151f,0x13b4)]=_0x27d2a2['frustum'],this[_0x48dd9d(0x1f6,0x9)]=Cesium__namespace['Math']['toDegrees'](_0x27d2a2['heading']),this[_0x48f2e7(_0x495546._0x4d11c3,_0x495546._0x26cf41)]=Cesium__namespace['Math']['toDegrees'](_0x27d2a2['pitch']),this['roll']=Cesium__namespace['Math']['toDegrees'](_0x27d2a2[_0x48f2e7(0x15b5,0x1e1d)]);return;}function _0x48dd9d(_0x2e8da1,_0x2b09a2){return _0x7afdbe(_0x2b09a2,_0x2e8da1- -_0x12be23._0x4eb59a);}const _0x415942=getPositionValue(this['targetPosition'],_0xad391);function _0x48f2e7(_0x2796a7,_0x23e018){return _0x54a7f1(_0x2796a7- -0x17c,_0x23e018);}if(_0x415942){this[_0x48f2e7(0xb52,0xab3)]=Cesium__namespace[_0x48dd9d(0x11d0,0x1836)]['distance'](_0xf1ee9,_0x415942);const _0x5028ac=getHeadingPitchRollForLine(_0xf1ee9,_0x415942,!![]);this[_0x48f2e7(0x191,_0x495546._0x3e15c8)]=Cesium__namespace['Math'][_0x48dd9d(0xe2a,0xf33)](_0x5028ac[_0x48f2e7(_0x495546._0x51e661,-0x57e)]),this['pitch']=Cesium__namespace['Math']['toDegrees'](_0x5028ac['pitch']),this[_0x48dd9d(0x161a,_0x495546._0x252cac)]=Cesium__namespace['Math']['toDegrees'](_0x5028ac['roll']);}else this[_0x48dd9d(0xbb7,0xa49)]=this['style'][_0x48dd9d(0xe6e,_0x495546._0x29a5f4)];const _0x176007=Cesium__namespace[_0x48dd9d(0xa4b,0x4e3)][_0x48dd9d(0xcd3,_0x495546._0x4bebb0)](this['heading'],this['pitch'],this['roll']);this['_orientation']=Cesium__namespace['Transforms'][_0x48dd9d(0x2ea,0x65c)](_0xf1ee9,_0x176007,this['ellipsoid'],this[_0x48dd9d(_0x495546._0x5d1f6a,_0x495546._0x4053b0)]),this[_0x48dd9d(_0x495546._0x2a3885,0x1b27)]=new Cesium__namespace[(_0x48f2e7(_0x495546._0x58b7a8,0x13f4))]({'fov':Cesium__namespace[_0x48dd9d(_0x495546._0x310439,_0x495546._0x1be078)][_0x48dd9d(0x140b,0x9fb)](this['angle']*0x2||0.01),'aspectRatio':this['angle']/this['angle2'],'near':this['style'][_0x48f2e7(0x1a1,-0x200)]??0.01,'far':this[_0x48f2e7(_0x495546._0x23e7e8,0x268)]});}['getRayEarthPositions'](_0x235591){const _0xdbda00={_0x4e8526:0x1e4b,_0x94f17d:0x15f6,_0x52cb1e:0x1672,_0x138bd0:0x166e,_0x232aa5:0x2025,_0x4d8927:0x12fd,_0x4aba93:0x15ee,_0x4239a1:0xc36},_0x420278={_0x5e91f0:0x15a},_0x3ea3d4=getPositionValue(this[_0x3f2006(0xe7a,0x182d)],_0x235591);function _0x3f2006(_0x284e89,_0x64bcef){return _0x54a7f1(_0x64bcef-0x14c,_0x284e89);}function _0x3ee373(_0x3f39ad,_0x452f2a){return _0x7afdbe(_0x3f39ad,_0x452f2a- -_0x420278._0x5e91f0);}const _0xfb6726=Cesium__namespace['Math'][_0x3ee373(_0xdbda00._0x4e8526,_0xdbda00._0x94f17d)](this['heading']),_0x2d63fd=Cesium__namespace['Math'][_0x3f2006(_0xdbda00._0x52cb1e,_0xdbda00._0x138bd0)](this['pitch']+this['angle2']),_0x5f0ba3=Cesium__namespace['Math'][_0x3ee373(_0xdbda00._0x232aa5,0x15f6)](this['pitch']-this[_0x3f2006(_0xdbda00._0x4d8927,0xe3d)]),_0x54ef84=Cesium__namespace['Math']['toRadians'](this['roll']+this[_0x3f2006(0x1750,_0xdbda00._0x4aba93)]),_0x355636=Cesium__namespace['Math']['toRadians'](this['roll']-this['angle']),_0x2fbb8a=getRayEarthPosition(_0x3ea3d4,new Cesium__namespace['HeadingPitchRoll'](_0xfb6726,_0x2d63fd,_0x54ef84),![]),_0x534c11=getRayEarthPosition(_0x3ea3d4,new Cesium__namespace['HeadingPitchRoll'](_0xfb6726,_0x2d63fd,_0x355636),![]),_0x4880f7=getRayEarthPosition(_0x3ea3d4,new Cesium__namespace[(_0x3ee373(0xb94,_0xdbda00._0x4239a1))](_0xfb6726,_0x5f0ba3,_0x355636),![]),_0x1bec7=getRayEarthPosition(_0x3ea3d4,new Cesium__namespace['HeadingPitchRoll'](_0xfb6726,_0x5f0ba3,_0x54ef84),![]);return[_0x2fbb8a,_0x534c11,_0x4880f7,_0x1bec7];}[_0x54a7f1(0x3f7,-0xaa)](_0x564989,_0x1b29f4){return this['_getDrawPointEntityClass'](_0x564989,_0x1b29f4);}}register$5('frustum',FrustumPrimitive,!![]);class ParallelogramPrimitive extends BasePolyPrimitive{constructor(_0x2f3cd2={}){const _0x2f8278={_0x512e90:0x263,_0x5e3b0f:0x9ff},_0x483aea={_0x5a7a48:0x25d};super(_0x2f3cd2);function _0x2157bd(_0x3a996e,_0x8c1e5a){return _0x54a7f1(_0x3a996e- -_0x483aea._0x5a7a48,_0x8c1e5a);}this[_0x4cafc2(_0x2f8278._0x512e90,_0x2f8278._0x5e3b0f)]=0x3,this[_0x4cafc2(-0x6ae,-0x92)]=0x3;function _0x4cafc2(_0x4fb6a5,_0x53568b){return _0x7afdbe(_0x4fb6a5,_0x53568b- -0x70d);}this['_hasClampToGround']=![];}get['outlinePositions'](){const _0x32ca4d={_0x19b415:0x1a84},_0x5595fe={_0x3e85fe:0x291},_0x429251=ParallelogramPrimitive[_0x105607(_0x32ca4d._0x19b415,0x115f)](this['positions']);function _0x105607(_0x511e0a,_0x1c851b){return _0x54a7f1(_0x1c851b- -_0x5595fe._0x3e85fe,_0x511e0a);}return _0x429251;}get[_0x7afdbe(-0x2a4,0x7ab)](){return this['centerOfMass'];}get['centerOfMass'](){const _0x1c4692={_0x33b13d:0xad1,_0x5900fe:0x60e,_0x4a9b5f:0xed4},_0x172a31={_0x46d37c:0x641},_0x5b8d19=this[_0x4406cd(0xcdc,0x10a4)];function _0x4406cd(_0x12bbb2,_0x51a4eb){return _0x7afdbe(_0x51a4eb,_0x12bbb2- -_0x172a31._0x46d37c);}function _0x4297a0(_0x2cd034,_0xc4efce){return _0x7afdbe(_0xc4efce,_0x2cd034- -0x6e2);}if(_0x5b8d19[_0x4297a0(_0x1c4692._0x33b13d,_0x1c4692._0x5900fe)]<0x3)return;return Cesium__namespace['Cartesian3']['midpoint'](_0x5b8d19[0x0],_0x5b8d19[0x2],new Cesium__namespace[(_0x4406cd(_0x1c4692._0x4a9b5f,0x180b))]());}get[_0x54a7f1(0x16ec,0x1df3)](){return EditParallelogram;}[_0x54a7f1(0x1340,0x118e)](_0x17659e){return RectangleStyleConver['toCesiumVal'](_0x17659e);}['_style2Json'](_0x460399,_0x2398ec){const _0x43ef01={_0x355d7e:0x136a},_0x5b471c={_0xd36bbc:0x1ff};function _0x3d133a(_0x9fd014,_0x25e112){return _0x7afdbe(_0x25e112,_0x9fd014- -_0x5b471c._0xd36bbc);}return RectangleStyleConver[_0x3d133a(_0x43ef01._0x355d7e,0x17ce)](_0x460399,_0x2398ec);}['_createGeometryInstance'](_0x28a293,_0x5e08bc){const _0x21e786={_0x1cedb7:0xd10,_0x1277b0:0x11fc,_0x585745:0xd12,_0x3ab474:0x13d0,_0x587b05:0x796};if(_0x5e08bc)return;const _0x387aaa=this[_0x4d2a34(0x17d2,_0x21e786._0x1cedb7)],{positions:_0xc73c73,uv:_0x20a17a,indice:_0x33fe80}=getGridPositions$1(_0x387aaa),_0x5c0094=_0xc73c73['length'];function _0x45dfc1(_0x20305d,_0x5bda88){return _0x54a7f1(_0x20305d- -0x213,_0x5bda88);}function _0x4d2a34(_0x2ad625,_0x4619a6){return _0x7afdbe(_0x2ad625,_0x4619a6- -0x60d);}const _0xb5e94f=new Float64Array(_0x5c0094*0x3);for(let _0x3f2e4e=0x0;_0x3f2e4e<_0x5c0094;++_0x3f2e4e){_0xb5e94f[_0x3f2e4e*0x3]=_0xc73c73[_0x3f2e4e]['x'],_0xb5e94f[_0x3f2e4e*0x3+0x1]=_0xc73c73[_0x3f2e4e]['y'],_0xb5e94f[_0x3f2e4e*0x3+0x2]=_0xc73c73[_0x3f2e4e]['z'];}const _0x32dfd2=new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0xb5e94f}),'st':new Cesium__namespace[(_0x45dfc1(0x3a4,-0x407))]({'componentDatatype':Cesium__namespace[_0x4d2a34(_0x21e786._0x1277b0,0xeb3)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(_0x20a17a)})},'indices':new Uint16Array(_0x33fe80),'primitiveType':Cesium__namespace[_0x45dfc1(_0x21e786._0x585745,0x995)][_0x4d2a34(0x1376,_0x21e786._0x3ab474)],'boundingSphere':Cesium__namespace[_0x45dfc1(0x762,0x9ec)][_0x4d2a34(_0x21e786._0x587b05,0xdf)](_0xb5e94f)});return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':_0x32dfd2,'attributes':this['_createGeometryInstanceAttributes'](_0x28a293)});}['_createAppearance'](_0x4c2aac,_0x2598fd,_0xeddae9){const _0x173059={'flat':!![],..._0x4c2aac};return new Cesium__namespace['MaterialAppearance'](_0x173059);}['_getDrawEntityClass'](_0x50a667,_0x4a1f84){function _0x2da727(_0x318fce,_0xc2d087){return _0x7afdbe(_0xc2d087,_0x318fce- -0x392);}return create$5(_0x2da727(0x4ad,0x3a6),_0x50a667);}['_getPolylineOutlinePositions'](){return[this['outlinePositions']];}static['getOutlinePositions'](_0x214f93){const _0x356a14=getAngle(_0x214f93[0x2],_0x214f93[0x1]);function _0x2cb07c(_0x5a2464,_0x53f06d){return _0x54a7f1(_0x53f06d-0xa3,_0x5a2464);}const _0x191c56=Cesium__namespace['Cartesian3'][_0x2cb07c(0x9e8,0x1334)](_0x214f93[0x2],_0x214f93[0x1]),_0x5829a4=getPositionByDirectionAndLen(_0x214f93[0x0],_0x356a14+0xb4,_0x191c56);return[_0x214f93[0x0],_0x214f93[0x1],_0x214f93[0x2],_0x5829a4];}}register$5('parallelogramP',ParallelogramPrimitive);function getGridPositions$1(_0x2da1fa){const _0x2a9f43={_0x4e3831:0x1234,_0x58ec61:0x15c9,_0x2a6eba:0x1291,_0x3a9ccd:0xc5c,_0x4f3e46:0x1291,_0x942a36:0x1291,_0x3ac012:0xcc7,_0x2ea808:0x1702,_0x25c7be:0x1c96,_0x5c9987:0x189d,_0x115e3a:0xe6d},_0x4fa1b4=_0x2da1fa[0x0],_0x2a7b71=_0x2da1fa[0x1],_0x2aad84=_0x2da1fa[0x2],_0x4d50ca=getAngle(_0x2da1fa[0x2],_0x2da1fa[0x1]),_0x4da54d=Cesium__namespace['Cartesian3']['distance'](_0x2da1fa[0x2],_0x2da1fa[0x1]),_0x26f3ec=getPositionByDirectionAndLen(_0x2da1fa[0x0],_0x4d50ca+0xb4,_0x4da54d),_0x34fa42=[],_0x31f924=[],_0x57c032=[],_0x43e7b0=Cesium__namespace['Cartesian3']['distance'](_0x2a7b71,_0x2aad84),_0x1b9541=_0x43e7b0,_0x3ba683=Cesium__namespace[_0x3450cf(0x13a1,_0x2a9f43._0x4e3831)][_0x3450cf(0x132b,_0x2a9f43._0x58ec61)](Cesium__namespace[_0x3450cf(0x13a1,0xc91)]['subtract'](_0x26f3ec,_0x4fa1b4,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x1a317c=Cesium__namespace[_0x3450cf(0x13a1,0xd5b)]['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0x2aad84,_0x2a7b71,new Cesium__namespace[(_0x26fa92(0x1291,0x1442))]()),new Cesium__namespace['Cartesian3']());for(let _0x3bb5d1=0x0;_0x3bb5d1<=0x1;_0x3bb5d1++){for(let _0x50c9ce=0x0;_0x50c9ce<=0x1;_0x50c9ce++){const _0x2d30d1=Cesium__namespace['Cartesian3']['add'](Cesium__namespace[_0x26fa92(_0x2a9f43._0x2a6eba,0x85b)][_0x26fa92(0x430,_0x2a9f43._0x3a9ccd)](_0x3ba683,_0x3bb5d1*_0x1b9541,new Cesium__namespace['Cartesian3']()),_0x4fa1b4,new Cesium__namespace['Cartesian3']()),_0x19fc13=Cesium__namespace[_0x3450cf(0x13a1,0x13cc)]['add'](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x1a317c,_0x3bb5d1*_0x1b9541,new Cesium__namespace[(_0x26fa92(_0x2a9f43._0x4f3e46,0x175b))]()),_0x2a7b71,new Cesium__namespace['Cartesian3']()),_0x55f5fe=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace[_0x26fa92(_0x2a9f43._0x942a36,_0x2a9f43._0x3ac012)]['subtract'](_0x19fc13,_0x2d30d1,new Cesium__namespace['Cartesian3']()),new Cesium__namespace[(_0x26fa92(0x1291,_0x2a9f43._0x2ea808))]()),_0x4a5373=Cesium__namespace['Cartesian3']['distance'](_0x19fc13,_0x2d30d1),_0x4376ed=_0x4a5373,_0x3d9868=Cesium__namespace['Cartesian3'][_0x26fa92(0x63a,0x8b0)](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x55f5fe,_0x50c9ce*_0x4376ed,new Cesium__namespace[(_0x26fa92(0x1291,_0x2a9f43._0x25c7be))]()),_0x2d30d1,new Cesium__namespace['Cartesian3']());_0x34fa42['push'](_0x50c9ce),_0x34fa42['push'](0x1-_0x3bb5d1),_0x31f924['push'](_0x3d9868);}}for(let _0x4164aa=0x0;_0x4164aa<0x1;_0x4164aa++){for(let _0x112572=0x0;_0x112572<0x1;_0x112572++){const _0x336bbe=_0x4164aa*0x2+_0x112572,_0x45de0a=(_0x4164aa+0x1)*0x2+_0x112572;_0x57c032[_0x3450cf(0xfc2,_0x2a9f43._0x5c9987)](_0x336bbe),_0x57c032[_0x3450cf(0xfc2,_0x2a9f43._0x115e3a)](_0x336bbe+0x1),_0x57c032['push'](_0x45de0a+0x1),_0x57c032['push'](_0x45de0a+0x1),_0x57c032['push'](_0x45de0a),_0x57c032['push'](_0x336bbe);}}const _0x463f9d={};function _0x26fa92(_0xd850f3,_0x20f7d6){return _0x7afdbe(_0x20f7d6,_0xd850f3- -0x284);}_0x463f9d['uv']=_0x34fa42,_0x463f9d['indice']=_0x57c032,_0x463f9d['positions']=_0x31f924;function _0x3450cf(_0x5838be,_0x3d79c1){return _0x54a7f1(_0x5838be-0xba,_0x3d79c1);}return _0x463f9d;}var ConeGlowCircleOuterMaterial=_0x7afdbe(0x1682,0x1856),ConeGlowCylinderGaussMaterial='uniform\x20vec4\x20u_color;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20powerRatio\x20=\x201.\x20/\x20(fract(czm_frameNumber\x20/\x2030.0)\x20+\x201.);\x0a\x20\x20float\x20alphaMars3D\x20=\x20pow(1.\x20-\x20st.t,\x20powerRatio);\x0a\x20\x20vec4\x20color\x20=\x20vec4(u_color.rgb,\x20alphaMars3D\x20*\x20u_color.a);\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',ConeGlowGradientMaterial=_0x54a7f1(0xa92,0xb69),ConeGlowRingScanMaterial=_0x7afdbe(0x2d6,0x718);const _0x3625fc={};_0x3625fc['height']=0x3e8,_0x3625fc[_0x54a7f1(0x3d7,-0x575)]=0x64,_0x3625fc['color']='#00ffff';const DEF_STYLE$o=_0x3625fc,particleImage=new Image();particleImage['src']='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAEACAYAAADSoXR2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExQTg0NDEyMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExQTg0NDEzMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTFBODQ0MTAwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTFBODQ0MTEwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz41vRwAAAAE90lEQVR42uydyW4UMRCG3T2dgYSAEGs4sp44cCJBcGUJbwCvALwWPAI8ABwAiUVwgLBdkEikJEiAGMhkZqhfU1aa1sy0g+yaJPyWSupOpPjz0uVyucrJer2eG2fJ3ZgLAQhAgC0PgN8XIlkqgGLE75oih0WmRVZEvop0rHog18rnRe6IzInsthyCXFt+TuSKyGmRXZZDgK5eFrkv8l7kiUhrxN/JSo3pigSvcNmI1bCh3b5LK2+NqHyvyEF9x3z5HgqRRViOAXhW5JrCoNdei/y20gMYxhmRSyIXRY6JTMT4DENLW+SdyD19x/NajDmwmYIW79Hnn+MA4GJEAAIQgABJbMJB+n5Sl9zWZvR9DABUfkJkVt8fi3zUldAEoKl24Y2S1fPZEmBdZFHkkb4vxTLRQ5djbyUf0ncYrD/UADUB8MZno2Q19yx7gIqIAAQgAAEIQIAtYZT+85LvRnjQCoPKR3rQUgN4Y3ZeK30g8qps0qeeAzDn4TWD9+ySG+BBS90DaGnVg9a2tgnR4il9/jkOACoiAhCAAASIZpAAFl6yulO0JACo/IDrn6CedP1zxOciv6wAYNnAP3RVBeWtJQCWzG8iL/X9g4vkqNzMctzUXtintt2KM/aS+bmQaY90rb8CF6tSKiICEIAABCAAAQiwbfcFIWVCbUcc9bZDLKiYAKj4uOv7Bb+ILLj+8W7PCgC7Jhzv44Qdh9yrru8V61jPgd645gD2io+15RiC5ZA5ENNPmGmDmtrta9YAVEQE2FlrQUM/J6efU8cSAD87ojodBaccS6kgiiErGiq/qe93XT+3oGU5BJnbyKrIUs6BQZoQUEcrQ7CYagiGqeKiMgnXLXsg5uJUm/RQJKy8fGS7PMw6SgVQPrJFGZr0kCfUL/7IFjIzrLGpemBQ0kPbehL6I9vMjUh6oEVEAAIQgAAEIAABdpyj0qcK71YrqGUJANNrv+sHOcAiRpDDM1cTY1BEHk7kqyP/2Ac5vLEEQEG8aDnIoTb5ObZRWg5ywG5o1dX4ClNYxT7IISgJPsXGpLut9MCWU0S5bqkmdAa3LQEwcZDAfkZ3tthQfkwNkVeeD6kiuaUabcp6DpS9YyalrAdQ8bT1EFQVUabarND9fNuyB2gREYAABCAAAQhAAAIQoM770UgBXARCIr/koDogVlzgrWuxemBKd0m4JnBed0+5ZQ9gn3BK5LK+P4y5ewoB8DFiKO91COLFfwVuTCZV1hSoYw1APZCsFIkbN1Haaa87wwiKQe6eT27AEX6esPVVd8/kOOdAz/oz9FE0p+uGIKUeqE5C8xgSKiICEIAABCAAAQhAAAIQgAAEIAABCECA6AA+sbkREyDUUYlKD6ggZwzRkr8tewBhusisv+0in5qE/hFchoZTE0TL4p8sTbtIpyahQ4Ag5fKpSVBmfdDECvQTZjoM0U9N6KgkwH9xY7PXpPiCmq5yuaLVldHIO7jgNi5XfOEhCqNh9udHV/RnC5YAUDTftdV4/ivvwEoRVS9XXPWa1FIT5ird8jpSB+BDN3rO8AaGMnGy0I0QRYTvdk6NkOsucuhGCMAgI8Q0isaHbmAevNMhiD4P6iZhstANGiQE2PEGCRo2NcgAsQDwKnxWFdlT17/duWU1BJmuHz6A5bwbEsCScgh+qAHit3Jr1oooOPExdRBLbeJjSpuwuy30AAH+CDAAPH5ltESNYl4AAAAASUVORK5CYII=',particleImage['onload']=function(){};class LightCone extends BasePointPrimitive{constructor(_0x34d73e={}){const _0x53e80f={_0x51e105:0x6ba,_0x5d1c3a:0x4ff};_0x34d73e['style']={...DEF_STYLE$o,..._0x34d73e['style']};function _0x3d15f8(_0x5202f1,_0x5c5e14){return _0x54a7f1(_0x5c5e14- -0x15c,_0x5202f1);}super(_0x34d73e);function _0x4a8806(_0x612adf,_0x582203){return _0x54a7f1(_0x612adf- -0x460,_0x582203);}this[_0x3d15f8(0xf95,0x124e)]=null,this[_0x3d15f8(_0x53e80f._0x51e105,_0x53e80f._0x5d1c3a)]=null,this['_primitive3']=null,this['_primitive4']=null;}get['czmObject'](){const _0x4f7cb5={_0x2e0c83:0x1bf4},_0x38ac06={_0x575809:0x3a4};function _0x5caf1b(_0x2337cf,_0x1ac304){return _0x7afdbe(_0x2337cf,_0x1ac304- -_0x38ac06._0x575809);}return this[_0x5caf1b(_0x4f7cb5._0x2e0c83,0x1234)];}get[_0x54a7f1(0x50e,0xe86)](){const _0xcb2ec7={_0xe5c4dc:0x2bc,_0x48174b:0x8ea,_0x3dc9d4:0x907};function _0x45860a(_0x3a6865,_0x124ebb){return _0x7afdbe(_0x3a6865,_0x124ebb-0x7e);}function _0x4f79d8(_0x506f56,_0x5a91b7){return _0x54a7f1(_0x5a91b7-0x28f,_0x506f56);}return this[_0x4f79d8(_0xcb2ec7._0xe5c4dc,_0xcb2ec7._0x48174b)]?[this[_0x45860a(0x29e,_0xcb2ec7._0x3dc9d4)],this['_primitive3'],this['_primitive4']]:[];}get[_0x54a7f1(0x1212,0xcc7)](){return this['_color'];}set['color'](_0x35c80d){function _0x43e8c4(_0x17b8c6,_0x2d6d54){return _0x54a7f1(_0x17b8c6- -0x2d1,_0x2d6d54);}this[_0x43e8c4(0x1cb,-0x57a)]['color']=_0x35c80d;}[_0x7afdbe(0x131f,0x134f)](_0x36a97b){const _0x1105e3={_0x4ace97:0x830,_0x410f4f:0x1181,_0xe344ed:0x1004,_0x30217c:0x1be7,_0x4cb3c6:0xabb,_0xc3c13d:0x1e0,_0x351d12:0x144d,_0x3a9901:0x172c,_0x44bd3e:0xedb},_0xfb2316={_0x33ec11:0x225},_0x31bb00={_0x2c051c:0xc8};if(!this[_0x28ba22(0xb37,0x209)]()||!this[_0x28ba22(0x17a9,0x1462)])return;let _0x33a987=this['position'];if(Cesium__namespace[_0xc5ea62(0x1fda,0x18a6)](_0x36a97b['setHeight'])){const _0x2a933a=this['getSetHeight']();Cesium__namespace['defined'](_0x2a933a)&&(_0x33a987=setPositionsHeight(_0x33a987,_0x2a933a));const _0x57b435=this[_0x28ba22(_0x1105e3._0x4ace97,_0x1105e3._0x410f4f)]();Cesium__namespace['defined'](_0x57b435)&&(_0x33a987=addPositionsHeight(_0x33a987,_0x57b435));}const _0x5e4c1b=_0x36a97b[_0xc5ea62(-0x363,0x5fc)];function _0x28ba22(_0x3a29dc,_0x5f3aca){return _0x54a7f1(_0x3a29dc-_0x31bb00._0x2c051c,_0x5f3aca);}this[_0xc5ea62(0x6d2,_0x1105e3._0xe344ed)]=_0x5e4c1b/0x64,this['topRadius']=this['topRadius']>0x1?0x1:this['topRadius'],this[_0x28ba22(0xaae,0xa11)]=getCirclePosition(_0x33a987,_0x5e4c1b*0.7),this['outer_controlPoints']=getCirclePosition(_0x33a987,_0x5e4c1b),this[_0xc5ea62(0xb80,0x4a1)]=getCirclePosition(_0x33a987,this[_0xc5ea62(0x6fc,0x1004)]),this[_0x28ba22(0x1307,_0x1105e3._0x30217c)]=getCirclePosition(_0x33a987,_0x5e4c1b*0x2),this[_0xc5ea62(_0x1105e3._0x4cb3c6,0x53a)]=this['drawRingCanvas'](),this['gradientCircleCanvas']=this['cirdrawGradientCircleCanvas'](),this[_0xc5ea62(-_0x1105e3._0xc3c13d,0x50a)]=this[_0x28ba22(0x11d5,0xb80)](particleImage),this['_color']=getColorByStyle(_0x36a97b),this[_0x28ba22(0xb00,0x29d)](_0x36a97b),this[_0xc5ea62(_0x1105e3._0x351d12,0xe6a)](_0x36a97b);function _0xc5ea62(_0x5c9537,_0x332af1){return _0x54a7f1(_0x332af1-_0xfb2316._0x33ec11,_0x5c9537);}this['addCircle'](_0x36a97b),this[_0xc5ea62(_0x1105e3._0x3a9901,0x190e)](_0x36a97b),_0x36a97b['label']&&this['_addLabel'](_0x36a97b['label']),this[_0x28ba22(0x1586,_0x1105e3._0x44bd3e)]&&this['_updateAvailabilityHook'](this[_0xc5ea62(0x14c4,0x16e3)]);}[_0x54a7f1(0xa4f,0x18)](){const _0x52e48b={_0x51eb16:0x1a74,_0x2a398d:0x1000,_0xf0c3a6:0x11a6,_0x205ddd:0x6f4,_0x335d04:0xd50,_0x3c5d95:0x1310,_0x131b40:0x35d,_0x3e714e:0x7b0,_0x360472:0xccc,_0x79e957:0x8d},_0x3c7c61={_0x23f480:0x9a},_0x2d743f={_0x33d5e5:0x2fe};!this[_0x1a1ca6(_0x52e48b._0x51eb16,_0x52e48b._0x2a398d)]&&(this['stopDraw'](),this['stopEditing']());this['_primitive']&&(this['primitiveCollection'][_0x1d5c45(_0x52e48b._0xf0c3a6,_0x52e48b._0x205ddd)](this[_0x1d5c45(_0x52e48b._0x335d04,_0x52e48b._0x3c5d95)]),delete this['_primitive']);function _0x1a1ca6(_0x1ea495,_0x532071){return _0x54a7f1(_0x532071- -_0x2d743f._0x33d5e5,_0x1ea495);}this[_0x1a1ca6(0x139,_0x52e48b._0x131b40)]&&(this[_0x1a1ca6(-0xe3,0x141)]['remove'](this[_0x1a1ca6(0x7f0,0x35d)]),delete this[_0x1d5c45(_0x52e48b._0x3e714e,0x5c1)]);function _0x1d5c45(_0x68f011,_0x2a935f){return _0x54a7f1(_0x2a935f- -_0x3c7c61._0x23f480,_0x68f011);}this['_primitive3']&&(this['primitiveCollection'][_0x1a1ca6(_0x52e48b._0x360472,0x490)](this['_primitive3']),delete this['_primitive3']),this[_0x1a1ca6(-0x9a6,0x68)]&&(this[_0x1a1ca6(-_0x52e48b._0x79e957,0x141)]['remove'](this['_primitive4']),delete this[_0x1a1ca6(0x313,0x68)]);}[_0x7afdbe(0x1408,0xc66)](_0x26bcfe){const _0x11f1ee={_0x4aa18a:0x159c,_0x1af2e2:0x1425,_0x1375b2:0x114a,_0x3978e9:0xc13,_0x296c0e:0x14a2,_0x5c2f4e:0x819,_0x53406b:0x1295,_0x295455:0xc50},_0x5133f8=createCylinderInstance(this[_0x44a8d3(0xbf9,_0x11f1ee._0x4aa18a)],this['circular_clone_topPoints'],{'height':_0x26bcfe['height'],'color':this[_0x44a8d3(_0x11f1ee._0x1af2e2,_0x11f1ee._0x1375b2)],'distanceDisplayCondition':_0x26bcfe[_0x52310e(0xec3,0xf8d)]}),_0x3dbd29={};_0x3dbd29['u_color']=this[_0x52310e(_0x11f1ee._0x3978e9,_0x11f1ee._0x296c0e)],_0x3dbd29[_0x52310e(0xa89,_0x11f1ee._0x5c2f4e)]=0x1;function _0x52310e(_0x70a335,_0x449a21){return _0x7afdbe(_0x449a21,_0x70a335- -0xa);}const _0x5ddab9={};_0x5ddab9['uniforms']=_0x3dbd29,_0x5ddab9[_0x44a8d3(0x18c5,0x1437)]=ConeGlowCylinderGaussMaterial;const _0x2c8a79={};_0x2c8a79['fabric']=_0x5ddab9;function _0x44a8d3(_0x7a66a3,_0x1c7832){return _0x7afdbe(_0x1c7832,_0x7a66a3- -0x1b);}_0x2c8a79['translucent']=function(_0x5b299c){function _0x1448b7(_0x26a9a5,_0x36f4f9){return _0x52310e(_0x26a9a5- -0x2a6,_0x36f4f9);}return _0x5b299c['uniforms']['u_color'][_0x1448b7(0x354,-0x62d)]<0x1;};const _0x476a4d=new Cesium__namespace['EllipsoidSurfaceAppearance']({'material':new Cesium__namespace['Material'](_0x2c8a79)});this['_primitive']=new Cesium__namespace[(_0x44a8d3(_0x11f1ee._0x53406b,0x1983))]({'geometryInstances':_0x5133f8,'appearance':_0x476a4d,'asynchronous':![],'show':this['show']}),this['primitiveCollection'][_0x44a8d3(0x8a3,_0x11f1ee._0x295455)](this['_primitive']);}['addOuter'](_0x202b0b){const _0x2bef60={_0xbe199b:0xc50,_0x16f001:0x619,_0x5ba4c2:0x1084,_0x1a4268:0x7b4,_0x198d64:0x297},_0x5cbe54=createCylinderInstance(this[_0x384396(0xfa1,_0x2bef60._0xbe199b)],this['circular_clone_topPoints'],{'height':_0x202b0b[_0x384396(0x819,_0x2bef60._0x16f001)],'distanceDisplayCondition':_0x202b0b['distanceDisplayCondition'],'color':new Cesium__namespace['Color'](0.5,0.8,0x1,0x2)});this[_0x1b61e6(-0xbd,0x420)]=new Cesium__namespace['Primitive']({'geometryInstances':_0x5cbe54,'appearance':new Cesium__namespace[(_0x384396(0xd5d,0x82d))]({'material':new Cesium__namespace[(_0x384396(0xbc,0x5bb))]({'fabric':{'uniforms':{'u_color':this[_0x1b61e6(_0x2bef60._0x5ba4c2,_0x2bef60._0x1a4268)],'image':this[_0x384396(0x56b,_0x2bef60._0x198d64)],'globalAlpha':0x1},'source':ConeGlowCircleOuterMaterial},'translucent':!![]})}),'asynchronous':![],'show':this[_0x384396(0x16d4,0x15a5)]});function _0x1b61e6(_0x38b711,_0x22b6ee){return _0x54a7f1(_0x22b6ee- -0x23b,_0x38b711);}function _0x384396(_0x2f39ab,_0x65c2ae){return _0x7afdbe(_0x2f39ab,_0x65c2ae- -0x27c);}this['primitiveCollection']['add'](this[_0x1b61e6(0x1c2,0x420)]);}['addCircle'](_0x3e1645){const _0x181c9d={_0x370a11:0x429,_0x221eed:0x1839,_0x1114ab:0xe30,_0xda9a32:0x38c,_0x61fffc:0xdf7,_0x3c0263:0x127d,_0x5cce8f:0xc3,_0x2d9b1b:0x7e8,_0x6cb895:0x35d,_0x33b778:0x3d8},_0x1a319d=Cesium__namespace['Cartographic'][_0x536858(0x495,-_0x181c9d._0x370a11)](this[_0x536858(_0x181c9d._0x221eed,_0x181c9d._0x1114ab)]);function _0x512a1b(_0x22a2a3,_0x932bae){return _0x54a7f1(_0x22a2a3- -0x409,_0x932bae);}function _0x536858(_0x59000d,_0x332c87){return _0x54a7f1(_0x59000d-0x158,_0x332c87);}const _0x259e38={};_0x259e38['perPositionHeight']=_0x1a319d[_0x512a1b(0x25e,_0x181c9d._0xda9a32)]>=0x1,_0x259e38[_0x536858(_0x181c9d._0x61fffc,_0x181c9d._0x3c0263)]=_0x3e1645[_0x536858(0xdf7,0x423)];const _0x1444dd=createCircleInstance(this[_0x536858(0x1397,0xe72)],_0x259e38);this[_0x536858(0x939,_0x181c9d._0x5cce8f)]=new Cesium__namespace['Primitive']({'geometryInstances':_0x1444dd,'appearance':new Cesium__namespace[(_0x536858(0x9d3,0x7a9))]({'material':new Cesium__namespace[(_0x512a1b(0x200,0xb45))]({'fabric':{'uniforms':{'u_color':this['_color'],'image':this['gradientCircleCanvas'],'globalAlpha':0x1},'source':ConeGlowGradientMaterial},'translucent':!![]})}),'asynchronous':![],'show':this['show']}),this['primitiveCollection'][_0x536858(_0x181c9d._0x2d9b1b,_0x181c9d._0x6cb895)](this[_0x512a1b(_0x181c9d._0x33b778,0x5b2)]);}['addRing'](_0x4ad7ee){const _0x317df8={_0x4478b6:0x21b,_0x2a6d1f:0x1cd,_0x5d2ad6:0xf5e,_0x12e581:0x1684,_0x118eb5:0x6d1,_0x3130df:0x6ba};function _0x41bed7(_0x4ad534,_0x42a870){return _0x54a7f1(_0x4ad534-0x41,_0x42a870);}const _0x5a84c4=createCircleInstance(this['circlePoints_2'],{'perPositionHeight':this[_0x4cbd47(_0x317df8._0x4478b6,0xa94)][_0x4cbd47(0x6cd,_0x317df8._0x2a6d1f)]>=0x1,'distanceDisplayCondition':_0x4ad7ee['distanceDisplayCondition']});this['_primitive4']=new Cesium__namespace['Primitive']({'geometryInstances':_0x5a84c4,'appearance':new Cesium__namespace[(_0x41bed7(0x8bc,0xf4b))]({'material':new Cesium__namespace[(_0x41bed7(0x64a,_0x317df8._0x5d2ad6))]({'fabric':{'uniforms':{'u_color':this[_0x41bed7(0xa30,0x3b7)],'image':this['ringCanvas'],'globalAlpha':0x1},'source':ConeGlowRingScanMaterial},'translucent':!![]})}),'asynchronous':![],'show':this[_0x41bed7(0x1634,_0x317df8._0x12e581)]});function _0x4cbd47(_0x241d94,_0x174874){return _0x7afdbe(_0x241d94,_0x174874- -0x4b6);}this[_0x41bed7(0x480,0x572)][_0x41bed7(_0x317df8._0x118eb5,0x16f)](this[_0x41bed7(0x3a7,-_0x317df8._0x3130df)]);}['getParticleImage'](_0x16dec0){const _0x5af02c={_0x1e6420:0x17b3},_0x2607c2={_0x354afd:0x49c},_0x47136d=new Image();_0x47136d[_0x25282e(_0x5af02c._0x1e6420,0x118f)]='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAEACAYAAADSoXR2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExQTg0NDEyMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExQTg0NDEzMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTFBODQ0MTAwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTFBODQ0MTEwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz41vRwAAAAE90lEQVR42uydyW4UMRCG3T2dgYSAEGs4sp44cCJBcGUJbwCvALwWPAI8ABwAiUVwgLBdkEikJEiAGMhkZqhfU1aa1sy0g+yaJPyWSupOpPjz0uVyucrJer2eG2fJ3ZgLAQhAgC0PgN8XIlkqgGLE75oih0WmRVZEvop0rHog18rnRe6IzInsthyCXFt+TuSKyGmRXZZDgK5eFrkv8l7kiUhrxN/JSo3pigSvcNmI1bCh3b5LK2+NqHyvyEF9x3z5HgqRRViOAXhW5JrCoNdei/y20gMYxhmRSyIXRY6JTMT4DENLW+SdyD19x/NajDmwmYIW79Hnn+MA4GJEAAIQgABJbMJB+n5Sl9zWZvR9DABUfkJkVt8fi3zUldAEoKl24Y2S1fPZEmBdZFHkkb4vxTLRQ5djbyUf0ncYrD/UADUB8MZno2Q19yx7gIqIAAQgAAEIQIAtYZT+85LvRnjQCoPKR3rQUgN4Y3ZeK30g8qps0qeeAzDn4TWD9+ySG+BBS90DaGnVg9a2tgnR4il9/jkOACoiAhCAAASIZpAAFl6yulO0JACo/IDrn6CedP1zxOciv6wAYNnAP3RVBeWtJQCWzG8iL/X9g4vkqNzMctzUXtintt2KM/aS+bmQaY90rb8CF6tSKiICEIAABCAAAQiwbfcFIWVCbUcc9bZDLKiYAKj4uOv7Bb+ILLj+8W7PCgC7Jhzv44Qdh9yrru8V61jPgd645gD2io+15RiC5ZA5ENNPmGmDmtrta9YAVEQE2FlrQUM/J6efU8cSAD87ojodBaccS6kgiiErGiq/qe93XT+3oGU5BJnbyKrIUs6BQZoQUEcrQ7CYagiGqeKiMgnXLXsg5uJUm/RQJKy8fGS7PMw6SgVQPrJFGZr0kCfUL/7IFjIzrLGpemBQ0kPbehL6I9vMjUh6oEVEAAIQgAAEIAABdpyj0qcK71YrqGUJANNrv+sHOcAiRpDDM1cTY1BEHk7kqyP/2Ac5vLEEQEG8aDnIoTb5ObZRWg5ywG5o1dX4ClNYxT7IISgJPsXGpLut9MCWU0S5bqkmdAa3LQEwcZDAfkZ3tthQfkwNkVeeD6kiuaUabcp6DpS9YyalrAdQ8bT1EFQVUabarND9fNuyB2gREYAABCAAAQhAAAIQoM770UgBXARCIr/koDogVlzgrWuxemBKd0m4JnBed0+5ZQ9gn3BK5LK+P4y5ewoB8DFiKO91COLFfwVuTCZV1hSoYw1APZCsFIkbN1Haaa87wwiKQe6eT27AEX6esPVVd8/kOOdAz/oz9FE0p+uGIKUeqE5C8xgSKiICEIAABCAAAQhAAAIQgAAEIAABCECA6AA+sbkREyDUUYlKD6ggZwzRkr8tewBhusisv+0in5qE/hFchoZTE0TL4p8sTbtIpyahQ4Ag5fKpSVBmfdDECvQTZjoM0U9N6KgkwH9xY7PXpPiCmq5yuaLVldHIO7jgNi5XfOEhCqNh9udHV/RnC5YAUDTftdV4/ivvwEoRVS9XXPWa1FIT5ird8jpSB+BDN3rO8AaGMnGy0I0QRYTvdk6NkOsucuhGCMAgI8Q0isaHbmAevNMhiD4P6iZhstANGiQE2PEGCRo2NcgAsQDwKnxWFdlT17/duWU1BJmuHz6A5bwbEsCScgh+qAHit3Jr1oooOPExdRBLbeJjSpuwuy30AAH+CDAAPH5ltESNYl4AAAAASUVORK5CYII=';function _0x25282e(_0xac557c,_0x71e89d){return _0x54a7f1(_0x71e89d- -_0x2607c2._0x354afd,_0xac557c);}_0x47136d['onload']=function(){_0x16dec0&&_0x16dec0();};}['drawCanvas'](_0x1e002b){const _0x13ed25={_0x18ab4c:0xb54,_0x35fa7e:0x4,_0x4b1df6:0x18},_0x332aa2={_0x21f21b:0x18c},_0xe49cdd={_0x30d083:0x5be},_0x51b360=document[_0x3ac09a(0xe98,_0x13ed25._0x18ab4c)]('canvas');_0x51b360['width']=0x40;function _0x7d310e(_0x13f129,_0x43c622){return _0x7afdbe(_0x13f129,_0x43c622- -_0xe49cdd._0x30d083);}function _0x3ac09a(_0x5eb254,_0x34006c){return _0x54a7f1(_0x5eb254- -_0x332aa2._0x21f21b,_0x34006c);}_0x51b360['height']=0x100;const _0x389cc7={};_0x389cc7[_0x3ac09a(0x6dc,0x83)]=!![];const _0xf22b2b=_0x51b360[_0x7d310e(-_0x13ed25._0x35fa7e,-_0x13ed25._0x4b1df6)]('2d',_0x389cc7);return _0xf22b2b['clearRect'](0x0,0x0,0x40,0x100),_0xf22b2b['drawImage'](_0x1e002b,0x0,0x0),_0xf22b2b['drawImage'](_0x1e002b,0x21,0x0),_0x51b360;}[_0x7afdbe(0x1447,0xf36)](){const _0x341316={_0x335e87:0x2e9,_0x253134:0x121b,_0x3bbc6d:0x12bc,_0x2a9988:0x1ccb,_0x2b81b3:0x10fc,_0x5996d1:0x10d1},_0x415209={_0x1a77c4:0x290},_0x3c73c4=document[_0x2e267e(0x847,0xfc2)](_0x4fd55d(0x7e5,0x4a5));_0x3c73c4['width']=0x200,_0x3c73c4[_0x4fd55d(0x56a,-_0x341316._0x335e87)]=0x200;function _0x4fd55d(_0x5a960b,_0x30be04){return _0x7afdbe(_0x30be04,_0x5a960b- -0x32b);}const _0x2cce3e={};_0x2cce3e['willReadFrequently']=!![];const _0x5b3e91=_0x3c73c4['getContext']('2d',_0x2cce3e);_0x5b3e91['fillStyle']='rgba(255,255,255,0)',_0x5b3e91[_0x4fd55d(_0x341316._0x253134,0x1975)]='rgba(255,\x20255,\x20255,255)',_0x5b3e91[_0x4fd55d(_0x341316._0x3bbc6d,_0x341316._0x2a9988)]([0x32,0x32]),_0x5b3e91[_0x2e267e(0xc64,_0x341316._0x2b81b3)]=0x1e;function _0x2e267e(_0x1d77c7,_0x3840db){return _0x7afdbe(_0x1d77c7,_0x3840db- -_0x415209._0x1a77c4);}return _0x5b3e91['beginPath'](),_0x5b3e91['arc'](0x100,0x100,0x96,0x0,Math['PI']*0x2,!![]),_0x5b3e91['stroke'](),_0x5b3e91[_0x4fd55d(_0x341316._0x5996d1,0x1428)](),_0x3c73c4;}[_0x54a7f1(0x251,-0x2cb)](){const _0x32602b={_0x188d29:0x6c5,_0x81decd:0x1cc4,_0xe3cb07:0x12dc,_0x259941:0xa9b,_0xd1d2d1:0xd4c,_0x3669e2:0x122c},_0x24f54c={_0x2ffcca:0x65a},_0x3956dc=document['createElement'](_0x2a3a21(0x4b6,0x20e));function _0x2a3a21(_0x23332c,_0x5f4aaf){return _0x7afdbe(_0x5f4aaf,_0x23332c- -_0x24f54c._0x2ffcca);}function _0x41efc3(_0x10ddbf,_0x2eaed2){return _0x54a7f1(_0x10ddbf-0x5e,_0x2eaed2);}_0x3956dc['width']=0x200,_0x3956dc[_0x41efc3(_0x32602b._0x188d29,0x1ad)]=0x200;const _0xf98ac8={};_0xf98ac8['willReadFrequently']=!![];const _0x168b28=_0x3956dc['getContext']('2d',_0xf98ac8),_0xca83d3=_0x168b28[_0x41efc3(0x32c,0x38d)](0x100,0x100,0x0,0x100,0x100,0x100);return _0xca83d3['addColorStop'](0.1,'rgba(255,\x20255,\x20255,\x201.0)'),_0xca83d3[_0x41efc3(0x121a,_0x32602b._0x81decd)](0.2,'rgba(255,\x20255,\x20255,\x200.0)'),_0xca83d3['addColorStop'](0.3,'rgba(255,\x20255,\x20255,\x200.9)'),_0xca83d3['addColorStop'](0.5,_0x41efc3(0xbc5,0xcf6)),_0xca83d3['addColorStop'](0.9,_0x2a3a21(_0x32602b._0xe3cb07,_0x32602b._0x259941)),_0xca83d3['addColorStop'](0x1,'rgba(255,\x20255,\x20255,\x201.0)'),_0x168b28['clearRect'](0x0,0x0,0x200,0x200),_0x168b28['beginPath'](),_0x168b28[_0x41efc3(0xccc,_0x32602b._0xd1d2d1)](0x100,0x100,0x100,0x0,Math['PI']*0x2,!![]),_0x168b28['fillStyle']=_0xca83d3,_0x168b28['fill'](),_0x168b28[_0x41efc3(_0x32602b._0x3669e2,0xabe)](),_0x3956dc;}[_0x54a7f1(0x508,-0x575)](_0xd033f3){const _0x473e00={_0x5b33c0:0x893,_0x4a1096:0x107a,_0x431b0a:0x42f,_0x13f20b:0x11bd,_0x22be09:0x10fb,_0x3e9541:0x173e,_0x41bca4:0xf66,_0x232824:0x535};function _0x1f4007(_0x2a53ec,_0x2c0a37){return _0x54a7f1(_0x2c0a37- -0x330,_0x2a53ec);}function _0x1aeecb(_0x32d1cf,_0x2d00a0){return _0x54a7f1(_0x32d1cf-0x251,_0x2d00a0);}this[_0x1aeecb(0x6ed,_0x473e00._0x5b33c0)]['globalAlpha']=_0xd033f3,this[_0x1f4007(0x103f,_0x473e00._0x4a1096)]&&(this['_primitive']['appearance'][_0x1f4007(-_0x473e00._0x431b0a,0x123)][_0x1f4007(0x167e,_0x473e00._0x13f20b)]['globalAlpha']=_0xd033f3,this['_primitive2'][_0x1f4007(0x3af,-0xd9)][_0x1aeecb(0x6a4,_0x473e00._0x22be09)][_0x1aeecb(_0x473e00._0x3e9541,_0x473e00._0x41bca4)]['globalAlpha']=_0xd033f3,this[_0x1aeecb(0xa32,0xaa8)][_0x1aeecb(0x4a8,0xb80)]['material']['uniforms'][_0x1f4007(0x2b9,_0x473e00._0x232824)]=_0xd033f3,this[_0x1aeecb(0x5b7,0x919)]['appearance']['material']['uniforms'][_0x1f4007(0xd63,0x535)]=_0xd033f3);}['_getDrawEntityClass'](_0x164232,_0x111f80){const _0x2b0684={_0x2a63b4:0xef2};function _0xdf4bf3(_0x3a6016,_0x1394b0){return _0x7afdbe(_0x1394b0,_0x3a6016- -0x73a);}return this[_0xdf4bf3(0xff8,_0x2b0684._0x2a63b4)](_0x164232,_0x111f80);}}register$5('lightCone',LightCone,!![]);function createCircleInstance(_0x10a0e3,_0x2a3b7b){const _0x209025=new Cesium__namespace['CoplanarPolygonGeometry']({'polygonHierarchy':new Cesium__namespace['PolygonHierarchy'](_0x10a0e3),'perPositionHeight':_0x2a3b7b['perPositionHeight']});return new Cesium__namespace['GeometryInstance']({'geometry':_0x209025,'attributes':{'distanceDisplayCondition':_0x2a3b7b['distanceDisplayCondition']||new Cesium__namespace['DistanceDisplayConditionGeometryInstanceAttribute']()}});}function createCylinderInstance(_0x308da8,_0x1109a7,_0x4f0b46){const _0x6f1406={_0x3b7f1e:0x52d,_0x1f1996:0x803,_0x5d55f1:0x704,_0x37ad47:0xaf8,_0x2711d8:0xfcd,_0x368b12:0x14ca,_0x3f32c8:0x33},_0x475b62=_0x4f0b46['height'],_0x216791=_0x4f0b46['color'],_0x470d6d=_0x308da8[_0x395762(_0x6f1406._0x3b7f1e,0x19d)](),_0x278fb4=_0x308da8['length'],_0x55141f=0x2*_0x278fb4;function _0x395762(_0x4871d0,_0x34b9c7){return _0x7afdbe(_0x34b9c7,_0x4871d0- -0x50c);}const _0x5841aa=[],_0xccf7e1=0x1/(_0x278fb4-0x1),_0x38d5dd=[];function _0x27cc87(_0x457421,_0x5e3144){return _0x7afdbe(_0x457421,_0x5e3144- -0x6bb);}const _0x5de2e1=[];for(let _0x360848=0x0;_0x360848<_0x278fb4;_0x360848++){_0x5de2e1['push'](addPositionsHeight(_0x1109a7[_0x360848],_0x475b62)),_0x5841aa[_0x27cc87(_0x6f1406._0x1f1996,0xa7b)](_0x360848*_0xccf7e1),_0x5841aa['push'](0x0);const _0x321af0=_0x360848+0x1,_0xd96757=(_0x360848+0x1)%_0x278fb4,_0x201bd6=_0x55141f-_0x321af0;_0x38d5dd[_0x27cc87(_0x6f1406._0x5d55f1,0xa7b)](...[_0x201bd6-0x1,_0x201bd6,_0x360848]),_0x38d5dd['push'](...[_0x360848,_0xd96757,_0x201bd6-0x1]);}for(let _0x1adf93=0x0;_0x1adf93<_0x5de2e1[_0x27cc87(0x266,_0x6f1406._0x37ad47)];_0x1adf93++){_0x470d6d['push'](_0x5de2e1[_0x278fb4-_0x1adf93-0x1]),_0x5841aa['push'](0x1-_0x1adf93*_0xccf7e1),_0x5841aa[_0x395762(0xc2a,0x9c1)](0x1);}let _0x567341=new Cesium__namespace['CoplanarPolygonGeometry']({'polygonHierarchy':new Cesium__namespace['PolygonHierarchy'](_0x470d6d),'perPositionHeight':!![]});return _0x567341=Cesium__namespace[_0x27cc87(-0x1ac,0x7eb)]['createGeometry'](_0x567341),_0x567341[_0x395762(_0x6f1406._0x2711d8,_0x6f1406._0x368b12)]=_0x38d5dd,_0x567341['attributes']['st']['values']=_0x5841aa,new Cesium__namespace['GeometryInstance']({'geometry':_0x567341,'attributes':{'color':Cesium__namespace[_0x395762(0xd7d,0x1403)]['fromColor'](_0x216791),'distanceDisplayCondition':_0x4f0b46['distanceDisplayCondition']||new Cesium__namespace[(_0x27cc87(-0x1ff,-_0x6f1406._0x3f32c8))]()}});}function getCirclePosition(_0x5513ae,_0x52f80d,_0x2f2cc7=0x78){const _0x22a418={_0x492791:0x13aa,_0x301bb7:0x13dc,_0x2ae113:0x1686,_0x1c72b3:0xe3a},_0x3f5b50={_0x3d8f46:0xc3},_0x50a8f6=[];function _0x484b5a(_0xf9000a,_0x42117e){return _0x54a7f1(_0x42117e- -0xce,_0xf9000a);}const _0xbb6e45=Cesium__namespace[_0x2adab9(0x830,-0x29c)]['eastNorthUpToFixedFrame'](_0x5513ae),_0x47e20d=0x2*Math['PI']/_0x2f2cc7,_0x349dae=0x2*Math['PI']*0x10e/0x168;function _0x2adab9(_0x3dfddc,_0x4ef334){return _0x54a7f1(_0x3dfddc-_0x3f5b50._0x3d8f46,_0x4ef334);}for(let _0x36b257=0x0;_0x36b257<_0x2f2cc7;_0x36b257++){const _0x1e1c87=_0x349dae-_0x47e20d*_0x36b257,_0xa09d2c=new Cesium__namespace[(_0x2adab9(_0x22a418._0x492791,_0x22a418._0x301bb7))](Math['sin'](_0x1e1c87)*_0x52f80d,Math[_0x484b5a(0xc1c,_0x22a418._0x2ae113)](_0x1e1c87)*_0x52f80d,0x0);_0x50a8f6['push'](Cesium__namespace['Matrix4']['multiplyByPoint'](_0xbb6e45,_0xa09d2c,new Cesium__namespace[(_0x2adab9(_0x22a418._0x492791,0x17fc))]()));}return _0x50a8f6[_0x484b5a(0x16dd,_0x22a418._0x1c72b3)](_0x50a8f6[0x0]),_0x50a8f6;}var WaterFS=_0x7afdbe(0x1129,0x1779);class Water extends PolygonPrimitive{['_addedHook'](_0x1a9db2){const _0x585e3e={_0x37ce99:0x12b3,_0x5d24c5:0x13db,_0x281db3:0xff7,_0x4e487d:0x137,_0x3d1589:0x115c,_0x236842:0x2b9,_0x266391:0xb9f,_0x4cdb04:0x178,_0xa8257b:0x510,_0x5f9177:0xa5e,_0xee5217:0xa1,_0xdf3a37:0x268,_0x144d06:0x716,_0x43f174:0x12c,_0x6f9e84:0x434,_0xdd7036:0xdfb,_0x5c47a2:0xb8e,_0x58006e:0x2fd,_0x52008c:0x83a,_0x286cb5:0x495,_0x4dc553:0x6c5,_0x671619:0x346};if(!this['getRealShow']()||!this[_0x1cfa71(_0x585e3e._0x37ce99,0xc5e)]||this[_0x3acb8b(0xbfd,0x2cd)][_0x1cfa71(_0x585e3e._0x5d24c5,0xaf4)]===0x0)return;const _0x41e872=this[_0x3acb8b(0xe4e,0x6c2)](_0x1a9db2);_0x41e872['vertexFormat']=Cesium__namespace[_0x3acb8b(0x389,0x34f)][_0x3acb8b(0x1219,_0x585e3e._0x281db3)],_0x1a9db2['opacity']=_0x1a9db2[_0x1cfa71(-0x455,-0x137)]??0.8;const _0x3ff285=_0x1a9db2[_0x1cfa71(-0x40a,-_0x585e3e._0x4e487d)]*(_0x1a9db2[_0x3acb8b(0x373,0x610)]??0x1),_0x55f197={'geometryInstances':this['_createGeometryInstance'](_0x41e872),'appearance':new Cesium__namespace['EllipsoidSurfaceAppearance']({'aboveGround':![],'material':new Cesium__namespace['Material']({'fabric':{'type':_0x1cfa71(0xd46,_0x585e3e._0x3d1589),'uniforms':{'specularMap':_0x41e872['specularMap']??Cesium__namespace[_0x1cfa71(0x593,0x178)]['DefaultImageId'],'normalMap':_0x41e872[_0x1cfa71(_0x585e3e._0x236842,0x21e)]??Cesium__namespace[_0x1cfa71(_0x585e3e._0x266391,_0x585e3e._0x4cdb04)][_0x1cfa71(0x98a,0x849)],'frequency':_0x41e872[_0x1cfa71(0x700,_0x585e3e._0xa8257b)]??0x1f40,'animationSpeed':_0x41e872['animationSpeed']??0.03,'amplitude':_0x41e872['amplitude']??0x5,'specularIntensity':_0x1a9db2['specularIntensity']??0.8,'baseWaterColor':getCesiumColor(_0x1a9db2['baseWaterColor']??_0x1cfa71(_0x585e3e._0x5f9177,0x29b))['withAlpha'](_0x1a9db2['opacity']),'blendColor':getCesiumColor(_0x1a9db2[_0x3acb8b(-_0x585e3e._0xee5217,_0x585e3e._0xdf3a37)]??_0x3acb8b(0x23a,0xa6b))['withAlpha'](_0x1a9db2[_0x3acb8b(-0x198,-0x1b3)])}}}),'fragmentShaderSource':WaterFS,'translucent':_0x3ff285!==0x1}),'show':this['show']};_0x1a9db2['clampToGround']?(_0x55f197[_0x3acb8b(0xf16,0x7fa)]=_0x1a9db2['classificationType']??Cesium__namespace[_0x1cfa71(0xf3f,0x1199)]['TERRAIN'],this['_primitive']=this['groundPrimitiveCollection']['add'](new Cesium__namespace[(_0x3acb8b(_0x585e3e._0x144d06,_0x585e3e._0x43f174))](_0x55f197)),this['_primitive']['_clampToGround']=!![]):this['_primitive']=this['primitiveCollection']['add'](new Cesium__namespace['Primitive'](_0x55f197));this['_primitive_outline']&&(this[_0x3acb8b(_0x585e3e._0x6f9e84,-0x1ec)][_0x3acb8b(-0x145,-0x7e7)]?this[_0x3acb8b(_0x585e3e._0xdd7036,_0x585e3e._0x5c47a2)][_0x1cfa71(-0x462,_0x585e3e._0x58006e)](this['_primitive_outline']):this[_0x3acb8b(-0xb3,-_0x585e3e._0x52008c)]['remove'](this[_0x1cfa71(0xd81,_0x585e3e._0x286cb5)]),delete this['_primitive_outline']);if(_0x1a9db2['outline']){const _0x5886b7=this['_getOutlineStyle'](_0x1a9db2);this['_primitive_outline']=this[_0x1cfa71(0x819,_0x585e3e._0x4dc553)](_0x5886b7);}function _0x3acb8b(_0x5ea7ef,_0x4ff50f){return _0x54a7f1(_0x5ea7ef- -0x4f2,_0x4ff50f);}_0x1a9db2['label']&&this['_addLabel'](_0x1a9db2['label']);function _0x1cfa71(_0x2d153b,_0x285b31){return _0x7afdbe(_0x2d153b,_0x285b31- -0x6bf);}this['_availability']&&this[_0x1cfa71(-_0x585e3e._0x671619,0x6b7)](this[_0x3acb8b(0xfcc,0x19d6)]);}['_getDrawEntityClass'](_0x35a7a4,_0x4e40d7){const _0x598bda={_0x49b509:0x1d6d};_0x35a7a4['style']['materialType']=_0x295181(_0x598bda._0x49b509,0x16cb);function _0x2895c9(_0x182d1f,_0x2acabe){return _0x7afdbe(_0x2acabe,_0x182d1f- -0x37b);}function _0x295181(_0x88e51b,_0x4ba4bf){return _0x7afdbe(_0x88e51b,_0x4ba4bf- -0x150);}return create$5(_0x2895c9(0x357,0xfb),_0x35a7a4);}}register$5(_0x7afdbe(0x1cfa,0x1949),Water);class Mask extends PolygonPrimitive{get[_0x54a7f1(0x43b,0x102)](){const _0x42d315={_0xadbbb:0xe9c},_0x347d14={};_0x347d14['xmin']=0x3c,_0x347d14['xmax']=0x8c,_0x347d14['ymin']=0x0;function _0x1eca22(_0x2968a9,_0x438d4c){return _0x7afdbe(_0x438d4c,_0x2968a9- -0x347);}return _0x347d14['ymax']=0x3c,this[_0x1eca22(0x797,_0x42d315._0xadbbb)]['extent']??_0x347d14;}get['positions'](){const _0x2a610b={_0x55d5ae:0xc9a},_0x17a413={_0x3163a4:0x2d1};function _0xf9442d(_0x2fe055,_0x1c4451){return _0x7afdbe(_0x2fe055,_0x1c4451- -_0x17a413._0x3163a4);}return this[_0xf9442d(0x35d,_0x2a610b._0x55d5ae)];}set['positions'](_0x611b1d){const _0x2365ed={_0x59a430:0x1b61,_0x505745:0xb14,_0x1674dd:0x16d8,_0x3859b4:0x1172,_0x25834a:0xff3,_0x21c442:0x7d5,_0x449701:0x684,_0x1e4b52:0x13de,_0x73a4f:0x8a7,_0x32b709:0xcd0};function _0x59a724(_0x524243,_0x1b8c37){return _0x54a7f1(_0x1b8c37- -0x41f,_0x524243);}if(!_0x611b1d)return;const _0x13f9fc=[];if(_0x611b1d[_0x8c2f71(0x11ef,_0x2365ed._0x59a430)]>0x0){let _0x557bc7=![];if(Array[_0x59a724(_0x2365ed._0x505745,0x104f)](_0x611b1d[0x0])&&_0x611b1d[0x0]['length']>0x0){const _0x2edd79=_0x611b1d[0x0][0x0];if(Array[_0x8c2f71(_0x2365ed._0x1674dd,0x2088)](_0x2edd79)&&isNumber(_0x2edd79[0x0]))_0x557bc7=!![];else(_0x2edd79 instanceof Cesium__namespace['Cartesian3']||_0x2edd79 instanceof LngLatPoint)&&(_0x557bc7=!![]);}if(_0x557bc7)for(let _0x1f2175=0x0,_0x35f11b=_0x611b1d['length'];_0x1f2175<_0x35f11b;_0x1f2175++){_0x13f9fc[_0x8c2f71(_0x2365ed._0x3859b4,_0x2365ed._0x25834a)](new Cesium__namespace[(_0x8c2f71(_0x2365ed._0x21c442,0xae0))](LngLatArray['toCartesians'](_0x611b1d[_0x1f2175])));}else _0x13f9fc[_0x8c2f71(0x1172,0x12a8)](new Cesium__namespace['PolygonHierarchy'](LngLatArray['toCartesians'](_0x611b1d)));}function _0x8c2f71(_0x377da4,_0x43907e){return _0x54a7f1(_0x377da4-0x26a,_0x43907e);}const _0x427d78=this['extent'],_0x30ccd7=[[_0x427d78['xmin'],_0x427d78['ymax']],[_0x427d78['xmin'],_0x427d78['ymin']],[_0x427d78['xmax'],_0x427d78['ymin']],[_0x427d78['xmax'],_0x427d78['ymax']],[_0x427d78['xmin'],_0x427d78['ymax']]];this['_hierarchy']=new Cesium__namespace[(_0x8c2f71(_0x2365ed._0x21c442,_0x2365ed._0x449701))](LngLatArray['toCartesians'](_0x30ccd7),_0x13f9fc),super[_0x59a724(_0x2365ed._0x1e4b52,0xcd0)]=this['_hierarchy']['positions'],this['_hierarchy']&&this['_positions']&&(this['_hierarchy'][_0x59a724(_0x2365ed._0x73a4f,_0x2365ed._0x32b709)]=this['_positions']);}['_getPolylineOutlinePositions'](){function _0x4669d2(_0x18e7c6,_0x457643){return _0x54a7f1(_0x18e7c6-0x26f,_0x457643);}const _0x1b2533=super[_0x21451c(0x2ba,0x62)]();function _0x21451c(_0x3444ae,_0x34c9f9){return _0x54a7f1(_0x3444ae- -0x383,_0x34c9f9);}return _0x1b2533[_0x4669d2(0x11f4,0x11cd)]>0x1&&_0x1b2533['shift'](),_0x1b2533;}['_createGeometryInstance'](_0x422dbe,_0x3506bd){const _0x5540cb={_0x287304:0x1278,_0x4ac1da:0x226,_0x79f6e4:0x101d,_0x32a9b1:0x4a5,_0x43adb0:0x6fb,_0x1c909b:0x4a5,_0x428cfb:0x1000,_0x3604c9:0x1743,_0x171861:0x149f,_0x244384:0xcf1,_0x5b5ca5:0x140f},_0x3c8faf=super[_0xe02d16(0x1125,_0x5540cb._0x287304)](_0x422dbe,_0x3506bd);function _0xe02d16(_0x45ed76,_0x59af73){return _0x54a7f1(_0x45ed76-0x216,_0x59af73);}if(!this['style'][_0xe02d16(0x80c,0x319)])return _0x3c8faf;const _0x1fca90=this['extent'];function _0x464bbf(_0x15969e,_0x382bc7){return _0x54a7f1(_0x382bc7-0x233,_0x15969e);}const _0x3c02ff=179.999,_0x29d271=89.999,_0x10e702=this['_createRectangleGeometry'](_0x422dbe,Cesium__namespace[_0xe02d16(0x70f,-_0x5540cb._0x4ac1da)][_0x464bbf(0x82d,_0x5540cb._0x79f6e4)](-_0x3c02ff,-_0x29d271,0x0,_0x29d271)),_0x57c423=this[_0x464bbf(0x744,_0x5540cb._0x32a9b1)](_0x422dbe,Cesium__namespace['Rectangle'][_0xe02d16(0x1000,_0x5540cb._0x43adb0)](0x0,-_0x29d271,_0x1fca90['xmin'],_0x29d271)),_0x37a8a6=this[_0x464bbf(0xa58,0x4a5)](_0x422dbe,Cesium__namespace[_0xe02d16(0x70f,0x899)][_0xe02d16(0x1000,0x9c9)](_0x1fca90['xmax'],-_0x29d271,_0x3c02ff,_0x29d271)),_0x3febd5=this[_0x464bbf(0xc54,_0x5540cb._0x1c909b)](_0x422dbe,Cesium__namespace['Rectangle'][_0xe02d16(_0x5540cb._0x428cfb,_0x5540cb._0x3604c9)](_0x1fca90[_0xe02d16(_0x5540cb._0x171861,0x196c)],-_0x29d271,_0x1fca90['xmax'],_0x1fca90[_0xe02d16(0xd2a,0xfe4)])),_0x7d9b7=this['_createRectangleGeometry'](_0x422dbe,Cesium__namespace['Rectangle']['fromDegrees'](_0x1fca90['xmin'],_0x1fca90[_0x464bbf(_0x5540cb._0x244384,_0x5540cb._0x5b5ca5)],_0x1fca90['xmax'],_0x29d271));return[_0x3c8faf,_0x10e702,_0x57c423,_0x37a8a6,_0x3febd5,_0x7d9b7];}['_createRectangleGeometry'](_0x5d527f,_0x4857a1){const _0x324301={_0xbc1128:0x67d};function _0xfdfb06(_0x6e0e54,_0x10716d){return _0x7afdbe(_0x6e0e54,_0x10716d- -0x2b8);}const _0x5ecbc9={..._0x5d527f};_0x5ecbc9[_0xfdfb06(-0x685,0x242)]=_0x4857a1;function _0x2382b5(_0x3362a0,_0x45955b){return _0x7afdbe(_0x3362a0,_0x45955b- -_0x324301._0xbc1128);}return new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['RectangleGeometry'](_0x5ecbc9),'attributes':this[_0x2382b5(0x791,0x4c0)](_0x5d527f)});}['_createAppearance'](_0x4a975c,_0x85e584,_0x1740a7){const _0x47be74={_0x771aa9:0xd03},_0x58511a={_0x117837:0x1fc},_0x20fa7a={_0x247894:0x16b};_0x4a975c['vertexFormat']=Cesium__namespace[_0x36ae99(0x98,0x8ad)]['VERTEX_FORMAT'];function _0x204bfd(_0x2c8aa2,_0x583141){return _0x7afdbe(_0x583141,_0x2c8aa2- -_0x20fa7a._0x247894);}function _0x36ae99(_0xbb6ca7,_0x16a567){return _0x7afdbe(_0xbb6ca7,_0x16a567- -_0x58511a._0x117837);}const _0x2b918f={..._0x4a975c};return new Cesium__namespace[(_0x204bfd(0x93e,_0x47be74._0x771aa9))](_0x2b918f);}}register$5(_0x7afdbe(0x99e,0xb3e),Mask);var DiffuseWallGlowVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec3\x20normal;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0aout\x20vec2\x20v_st;\x0aout\x20vec3\x20v_normalEC;\x0aout\x20vec3\x20v_positionEC;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20p\x20=\x20czm_translateRelativeToEye(position3DHigh,\x20position3DLow);\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20v_st\x20=\x20st;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a}\x0a',DiffuseWallGlowFS='in\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0ain\x20vec2\x20v_st;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20out_FragColor\x20=\x20xh_getMaterial(v_st);\x0a}\x0a';const _0x3838a9={};_0x3838a9['diffHeight']=0x3e8,_0x3838a9['speed']=0xa,_0x3838a9['maxScale']=0x1;const DEF_STYLE$n=_0x3838a9;class DiffuseWall extends BasePolyPrimitive{constructor(_0x5e6f84={}){const _0x4609e1={_0x5d32f9:0x122e,_0x5e8c37:0x517,_0x5d3bd1:0x132d,_0x3d459d:0x4e,_0x1695e3:0x356},_0x56fce8={_0x36bd27:0x7a};function _0x59a55a(_0x1699f4,_0x806b40){return _0x7afdbe(_0x806b40,_0x1699f4-_0x56fce8._0x36bd27);}function _0x39c8a8(_0x350897,_0x5505fb){return _0x7afdbe(_0x350897,_0x5505fb- -0xef);}_0x5e6f84['style']={...DEF_STYLE$n,..._0x5e6f84['style']},super(_0x5e6f84);if(_0x5e6f84[_0x39c8a8(0x1140,_0x4609e1._0x5d32f9)])this['center']=this['centerOfMass'];else _0x5e6f84[_0x39c8a8(0x14f4,0x1820)]&&(this['position']=_0x5e6f84['position'],this['_isCircle']=!![]);this[_0x39c8a8(-0x310,0x766)]=Cesium__namespace[_0x39c8a8(0x31a,_0x4609e1._0x5e8c37)][_0x39c8a8(0xc37,_0x4609e1._0x5d3bd1)](0x1),this['_maxScale']=_0x5e6f84[_0x59a55a(0x744,-_0x4609e1._0x3d459d)][_0x39c8a8(_0x4609e1._0x1695e3,0xaf2)]||0x1;}get[_0x7afdbe(0x136f,0x1929)](){function _0x753a01(_0x343f9e,_0x411c4d){return _0x54a7f1(_0x411c4d-0x2b0,_0x343f9e);}return this[_0x753a01(0x1ef6,0x165a)];}get['center'](){const _0x54e5f7={_0x35fb4d:0x1640,_0x422beb:0xc49};function _0x11c6b7(_0x478445,_0x3572d8){return _0x7afdbe(_0x478445,_0x3572d8- -0x51b);}return!this[_0x11c6b7(_0x54e5f7._0x35fb4d,_0x54e5f7._0x422beb)]&&(this['_center']=this['centerOfMass']),this['_center'];}set['center'](_0x54609b){const _0x328894={_0x5c44d4:0x1172,_0x4dc080:0x10d0};function _0xecde55(_0x1fd6c1,_0x13ebc1){return _0x54a7f1(_0x1fd6c1-0x23c,_0x13ebc1);}this[_0xecde55(_0x328894._0x5c44d4,_0x328894._0x4dc080)]=_0x54609b;}get[_0x7afdbe(0x1d52,0x190f)](){return this['_center'];}set[_0x54a7f1(0x16e1,0x1d7e)](_0x37b597){const _0x5942c6={_0x5a3bc5:0x1116},_0x32fa5b={_0x33a7d6:0x1e0};this[_0x5a8d97(0x141d,_0x5942c6._0x5a3bc5)]=LngLatPoint['parse'](_0x37b597)['toCartesian']();function _0x5a8d97(_0x216b2a,_0x22e93c){return _0x54a7f1(_0x22e93c-_0x32fa5b._0x33a7d6,_0x216b2a);}this['_updatePositionsByCircleCenter']();}get['radius'](){function _0x2890e8(_0x4cecab,_0xdf258b){return _0x54a7f1(_0xdf258b- -0x22c,_0x4cecab);}return this['style'][_0x2890e8(0x3f,0x1ab)];}set['radius'](_0x5e8810){this['style']['radius']=_0x5e8810,this['_updatePositionsByCircleCenter']();}['_addedHook'](_0x10c6e1){const _0x44282f={_0x1c40a4:0xc36,_0xdbec28:0xfbf,_0x5c7b69:0xa31,_0x10134f:0x6a,_0x28f892:0x7b8,_0x4e2c0f:0x2df,_0x426ddc:0x1606,_0x342c46:0x16aa,_0x1572b9:0x4f6,_0x58a84a:0x1461,_0x1bdb83:0x4b9,_0x268317:0xefd,_0x26058a:0x19e8,_0x1cdfc5:0xce5,_0xcff2d:0x1301},_0x15d55c=this['positions'];function _0x5a25e3(_0x2b20d1,_0x2a65ac){return _0x54a7f1(_0x2a65ac- -0x1bd,_0x2b20d1);}if(!this[_0x5a25e3(0xc20,0x1436)]||!_0x15d55c||_0x15d55c[_0x5a25e3(_0x44282f._0x1c40a4,0xdc8)]===0x0)return;const _0x1ab9fe=addPositionsHeight(this['positions'],_0x10c6e1['diffHeight']);this['center']=this['centerOfMass'];const _0x107ea0=[],_0x94fc56=[],_0x380aed=[],_0x2e31a5=[];for(let _0x39b7cf=0x0,_0x3f8b63=_0x15d55c['length'];_0x39b7cf<_0x3f8b63;_0x39b7cf++){const _0x543090=(_0x39b7cf+0x1)%_0x3f8b63;_0x107ea0['push'](...[_0x15d55c[_0x39b7cf]['x'],_0x15d55c[_0x39b7cf]['y'],_0x15d55c[_0x39b7cf]['z']]),_0x107ea0['push'](...[_0x15d55c[_0x543090]['x'],_0x15d55c[_0x543090]['y'],_0x15d55c[_0x543090]['z']]),_0x107ea0['push'](...[_0x1ab9fe[_0x543090]['x'],_0x1ab9fe[_0x543090]['y'],_0x1ab9fe[_0x543090]['z']]),_0x107ea0['push'](...[_0x1ab9fe[_0x39b7cf]['x'],_0x1ab9fe[_0x39b7cf]['y'],_0x1ab9fe[_0x39b7cf]['z']]),_0x2e31a5[_0x4bafac(0x126c,_0x44282f._0xdbec28)](...[0x0,0x0,0x1]),_0x2e31a5['push'](...[0x0,0x0,0x1]),_0x2e31a5['push'](...[0x0,0x0,0x1]),_0x2e31a5['push'](...[0x0,0x0,0x1]),_0x94fc56['push'](...[0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1]);const _0x520053=_0x39b7cf*0x4,_0x5e59ad=_0x520053+0x1,_0x47ae51=_0x520053+0x2,_0x43de71=_0x520053+0x3;_0x380aed['push'](...[_0x47ae51,_0x43de71,_0x520053,_0x520053,_0x5e59ad,_0x47ae51]);}const _0x53879f=new Float64Array(_0x107ea0),_0x5544ca=new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new Cesium__namespace[(_0x5a25e3(_0x44282f._0x5c7b69,0x114c))]({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x53879f}),'normal':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array(_0x2e31a5)}),'st':new Cesium__namespace[(_0x5a25e3(_0x44282f._0x10134f,0x3fa))]({'componentDatatype':Cesium__namespace['ComponentDatatype'][_0x4bafac(0x10ad,0xc61)],'componentsPerAttribute':0x2,'values':new Float32Array(_0x94fc56)})},'indices':new Uint16Array(_0x380aed),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace[_0x5a25e3(0xcd1,_0x44282f._0x28f892)]['fromVertices'](_0x53879f)})}),_0x2acdc8=getColorByStyle(_0x10c6e1),_0x215ea0={};_0x215ea0['color']=_0x2acdc8,_0x215ea0['globalAlpha']=0x1;const _0x21c0c8={};_0x21c0c8['uniforms']=_0x215ea0,_0x21c0c8['source']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20globalAlpha;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20xh_getMaterial(vec2\x20st){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x20pow(1.\x20-\x20st.t,\x201.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20colorNew\x20=\x20vec4(color.rgb\x20*\x20color.a,\x20alpha*globalAlpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20colorNew;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}';const _0x51beed={};_0x51beed[_0x4bafac(0xafa,0x6d0)]=!![],_0x51beed['fabric']=_0x21c0c8,this['_primitive']=new Cesium__namespace[(_0x4bafac(0x982,0x1139))]({'geometryInstances':_0x5544ca,'appearance':new Cesium__namespace[(_0x4bafac(0x12d6,0x14b4))]({'material':new Cesium__namespace['Material'](_0x51beed),'vertexShaderSource':DiffuseWallGlowVS,'fragmentShaderSource':DiffuseWallGlowFS}),'asynchronous':![],'shadows':this[_0x5a25e3(0xd5f,_0x44282f._0x4e2c0f)][_0x4bafac(0xb88,0xe73)],'show':this[_0x4bafac(_0x44282f._0x426ddc,_0x44282f._0x342c46)]}),this[_0x4bafac(0xf77,_0x44282f._0x1572b9)]['add'](this[_0x4bafac(0xf5f,_0x44282f._0x58a84a)]);function _0x4bafac(_0x10e7a8,_0x45d710){return _0x54a7f1(_0x45d710-0xb7,_0x10e7a8);}this['bindUpdateEvent'](),_0x10c6e1[_0x5a25e3(_0x44282f._0x1bdb83,_0x44282f._0x268317)]&&this['_addLabel'](_0x10c6e1[_0x4bafac(_0x44282f._0x26058a,0x1171)]),this[_0x5a25e3(_0x44282f._0x1cdfc5,_0x44282f._0xcff2d)]&&this['_updateAvailabilityHook'](this['_availability']);}['update'](_0xc7fe14){const _0x162e5a={_0x1b5417:0x93f,_0x4369b6:0x53d,_0x5d387c:0x2fb,_0x3ee50c:0x405},_0x31fe22={_0x10c22e:0x1e1};function _0x333900(_0x2bfb74,_0x2c6ab6){return _0x54a7f1(_0x2c6ab6- -0x321,_0x2bfb74);}function _0x592464(_0x4cb87d,_0x5f5b02){return _0x7afdbe(_0x5f5b02,_0x4cb87d- -_0x31fe22._0x10c22e);}if(this['_primitive']&&this['show']){const _0x1d64fd=_0xc7fe14['frameNumber']/0x3e8*this['style']['speed'];let _0x33febe=_0x1d64fd-Math[_0x592464(_0x162e5a._0x1b5417,_0x162e5a._0x4369b6)](_0x1d64fd);_0x33febe=_0x33febe<0.01?0.01:_0x33febe,this['_mScale'][0x0]=this['_mScale'][0x5]=_0x33febe*this['_maxScale'],this[_0x333900(0x65c,0x306)][0xa]=1.1-_0x33febe,this[_0x333900(-_0x162e5a._0x5d387c,0x25c)]&&(this['_primitive'][_0x333900(-0x82,_0x162e5a._0x3ee50c)]=scaleXYZ(this['center'],this['_mScale']));}}[_0x54a7f1(0x5d1,0x1009)](){const _0x9b14fd={_0x4246a5:0x8d};function _0x462318(_0x1c6471,_0x58a4a8){return _0x54a7f1(_0x58a4a8- -_0x9b14fd._0x4246a5,_0x1c6471);}this[_0x347f10(0xfe0,0x1169)]=!![],this['positions']=getEllipseOuterPositions({'position':this['center'],'radius':this['style']['radius']??0x64,'count':this['style']['count']??0x32});function _0x347f10(_0x574fb9,_0x1c6564){return _0x54a7f1(_0x1c6564- -0xf,_0x574fb9);}this[_0x462318(0xaf4,0x10eb)]=![];}['_getDrawEntityClass'](_0x228239,_0x2b3812){const _0x2c33ce={_0x5eb99e:0x741,_0x2a0f83:0x1425};function _0x161fba(_0x3093ca,_0x21d911){return _0x7afdbe(_0x21d911,_0x3093ca- -0x4a6);}function _0x1243c8(_0xfc10fd,_0x1eb631){return _0x54a7f1(_0xfc10fd-0xc7,_0x1eb631);}return this[_0x1243c8(0x93a,_0x2c33ce._0x5eb99e)]?create$5(_0x1243c8(0x1072,0x1090),_0x228239):(_0x228239[_0x1243c8(0x563,0x6ad)][_0x161fba(_0x2c33ce._0x2a0f83,0xded)]=!![],create$5('wall',_0x228239));}['_updateStyleByEdit'](_0x46e848){const _0x54af3e={_0xdffc89:0x1218,_0x5949cb:0x10be},_0x5b99dd={_0x3e6b1d:0x469};function _0x3e18d5(_0x545aa7,_0xa62b27){return _0x54a7f1(_0x545aa7- -_0x5b99dd._0x3e6b1d,_0xa62b27);}this[_0x3e18d5(0x40a,0x211)]&&Cesium__namespace[_0x3e18d5(_0x54af3e._0xdffc89,_0x54af3e._0x5949cb)](_0x46e848[_0x3e18d5(-0x92,-0xb4d)])&&(this[_0x3e18d5(-0x92,0x4f1)]=_0x46e848['radius']);function _0x59fd1b(_0x14b874,_0x58820a){return _0x54a7f1(_0x58820a-0x9a,_0x14b874);}Cesium__namespace['defined'](_0x46e848['diffHeight'])&&(this['style']['diffHeight']=_0x46e848['diffHeight']);}}register$5(_0x54a7f1(0x89d,0x1199),DiffuseWall);function scaleXYZ(_0x4400c7,_0x18ea3f){const _0x102649={_0x2b2d61:0x1787},_0xd3a59={_0x2edde1:0x3a6},_0x48a160=Cesium__namespace[_0x147ae7(0x5f5,-0x17f)]['eastNorthUpToFixedFrame'](_0x4400c7);function _0xdc0039(_0x4b0e02,_0x120a41){return _0x7afdbe(_0x120a41,_0x4b0e02- -0x739);}const _0x2f3f81=Cesium__namespace['Matrix4'][_0xdc0039(0xf03,_0x102649._0x2b2d61)](_0x48a160,new Cesium__namespace['Matrix4']());function _0x147ae7(_0x147a57,_0x150059){return _0x7afdbe(_0x150059,_0x147a57- -_0xd3a59._0x2edde1);}const _0x25b556=Cesium__namespace['Matrix4']['multiply'](_0x18ea3f,_0x2f3f81,new Cesium__namespace['Matrix4']());return Cesium__namespace[_0x147ae7(0x260,0x627)]['multiply'](_0x48a160,_0x25b556,new Cesium__namespace['Matrix4']());}var ScrollWallGlowVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec3\x20normal;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0aout\x20vec2\x20v_st;\x0aout\x20vec3\x20v_normalEC;\x0aout\x20vec3\x20v_positionEC;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20p\x20=\x20czm_translateRelativeToEye(position3DHigh,\x20position3DLow);\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20v_st\x20=\x20st;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a}\x0a',ScrollWallGlowFS='in\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0ain\x20vec2\x20v_st;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20vec3\x20normalECMars3D\x20=\x20normalize(v_normalEC);\x0a\x20\x20\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20normalECMars3D\x20=\x20faceforward(normalECMars3D,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalECMars3D);\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.normalEC\x20=\x20normalECMars3D;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20materialInput.st\x20=\x20v_st;\x0a\x0a\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a}\x0a',ScrollWallGlowMaterial='uniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20cmi)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(cmi);\x0a\x20\x20vec2\x20st\x20=\x20cmi.st;\x0a\x20\x20float\x20t\x20=\x20fract(speed\x20*\x20czm_frameNumber\x20/\x201000.0)\x20*\x20direction;\x0a\x20\x20vec2\x20st1\x20=\x20vec2(st.s,\x20fract(st.t\x20-\x20t));\x0a\x20\x20vec4\x20color\x20=\x20vec4(0.,\x200.,\x200.,\x200.);\x0a\x20\x20float\x20tt\x20=\x200.5\x20-\x20abs(0.5\x20-\x20st1.t);\x0a\x20\x20//\x20float\x20ss\x20=\x20st1.s;\x0a\x20\x20float\x20alphaMars3D\x20=\x20tt\x20*\x202.;\x0a\x20\x20color\x20=\x20vec4(u_color.rgb\x20*\x20u_color.a,\x20alphaMars3D\x20*\x201.2);\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',ScrollWallGlowMaterial2=_0x7afdbe(0x1b93,0x1381);const _0x374166={};_0x374166[_0x7afdbe(0x147d,0x127a)]=0x64,_0x374166['speed']=0xa,_0x374166[_0x54a7f1(0x49c,-0x42)]=0x1;const DEF_STYLE$m=_0x374166;class ScrollWall extends BasePolyPrimitive{constructor(_0x286ca3={}){_0x286ca3['style']={...DEF_STYLE$m,..._0x286ca3['style']},super(_0x286ca3);}get[_0x7afdbe(0x22dd,0x1929)](){const _0x36385a={_0x46982a:0xf59,_0x5674e4:0x1395},_0x1addf0={_0x38ca3c:0x67f};function _0x242e3a(_0x47dd66,_0x5b5233){return _0x7afdbe(_0x5b5233,_0x47dd66- -_0x1addf0._0x38ca3c);}return this[_0x242e3a(_0x36385a._0x46982a,_0x36385a._0x5674e4)];}get[_0x7afdbe(0x88b,0x7ab)](){return this['centerOfMass'];}['_addedHook'](_0x1a20d6){const _0x55046b={_0x26c0a5:0x2b4,_0x319ccb:0xc41,_0x10802a:0xf15,_0x2f8b3e:0x16f3,_0xb9fa35:0xe68,_0x55d6ee:0x1ac,_0x1c32fb:0xa7b,_0x1c8b2d:0x44e,_0x4f3a4c:0x6b5,_0x3777ac:0x5f1,_0x293c1d:0x1030,_0x9d359d:0x1030,_0x5ef1c6:0x135d,_0x4e75ba:0x12c,_0x381b22:0x75,_0x3e1170:0x1716,_0x1a2ddd:0x7c6,_0x4c311b:0x7cb,_0x17e08c:0x62b,_0x1acc01:0x620,_0x5227f7:0x10ee},_0x777c89={_0x3a85b0:0x29e},_0x260d8e=this['positions'];if(!this[_0x19d4f1(0x1583,0x1b58)]||!_0x260d8e||_0x260d8e['length']===0x0)return;const _0x557f28=addPositionsHeight(_0x260d8e,_0x1a20d6[_0x3ad400(_0x55046b._0x26c0a5,_0x55046b._0x319ccb)]),_0x28af51=[],_0xd9be2f=[];function _0x3ad400(_0x27458c,_0xaa7026){return _0x54a7f1(_0xaa7026- -0x40b,_0x27458c);}const _0x262156=[],_0x4df99d=[];for(let _0x1c41a6=0x0,_0x40e405=_0x260d8e[_0x19d4f1(_0x55046b._0x10802a,0x13d3)];_0x1c41a6<_0x40e405;_0x1c41a6++){let _0x6c691d=_0x1c41a6+0x1;_0x6c691d===_0x40e405&&(_0x6c691d=0x0);_0x28af51[_0x19d4f1(0xe98,0x158a)](...[_0x260d8e[_0x1c41a6]['x'],_0x260d8e[_0x1c41a6]['y'],_0x260d8e[_0x1c41a6]['z']]),_0x28af51[_0x19d4f1(0xe98,_0x55046b._0x2f8b3e)](...[_0x260d8e[_0x6c691d]['x'],_0x260d8e[_0x6c691d]['y'],_0x260d8e[_0x6c691d]['z']]),_0x28af51['push'](...[_0x557f28[_0x6c691d]['x'],_0x557f28[_0x6c691d]['y'],_0x557f28[_0x6c691d]['z']]),_0x28af51['push'](...[_0x557f28[_0x1c41a6]['x'],_0x557f28[_0x1c41a6]['y'],_0x557f28[_0x1c41a6]['z']]),_0x4df99d[_0x3ad400(0xb8b,0xafd)](...[0x0,0x0,0x1]),_0x4df99d['push'](...[0x0,0x0,0x1]),_0x4df99d['push'](...[0x0,0x0,0x1]),_0x4df99d['push'](...[0x0,0x0,0x1]),_0xd9be2f['push'](...[0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1]);const _0x5671ad=_0x1c41a6*0x4,_0x3bf342=_0x5671ad+0x1,_0x1dfc7a=_0x5671ad+0x2,_0x39c816=_0x5671ad+0x3;_0x262156['push'](...[_0x5671ad,_0x3bf342,_0x1dfc7a,_0x1dfc7a,_0x39c816,_0x5671ad]);}const _0x39c0a5=new Float64Array(_0x28af51),_0x1f8b19=new Cesium__namespace[(_0x19d4f1(_0x55046b._0xb9fa35,0x6d1))]({'id':this['id'],'geometry':new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace[(_0x3ad400(-0x74,0x1ac))]({'componentDatatype':Cesium__namespace[_0x3ad400(0x1688,0xe87)]['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x39c0a5}),'normal':new Cesium__namespace[(_0x3ad400(0x7ac,_0x55046b._0x55d6ee))]({'componentDatatype':Cesium__namespace[_0x19d4f1(0x1222,_0x55046b._0x1c32fb)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array(_0x4df99d)}),'st':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x3ad400(0x13e2,0xe87)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(_0xd9be2f)})},'indices':new Uint16Array(_0x262156),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace['BoundingSphere'][_0x19d4f1(_0x55046b._0x1c8b2d,_0x55046b._0x4f3a4c)](_0x39c0a5)})}),_0x3eed64=getColorByStyle(_0x1a20d6),_0x3fb538=!![],_0x44bda4={};_0x44bda4[_0x3ad400(0x84c,_0x55046b._0x3777ac)]=_0x3eed64,_0x44bda4[_0x19d4f1(_0x55046b._0x293c1d,0xcc7)]=_0x1a20d6[_0x19d4f1(_0x55046b._0x9d359d,_0x55046b._0x5ef1c6)],_0x44bda4['direction']=_0x1a20d6[_0x3ad400(_0x55046b._0x4e75ba,-_0x55046b._0x381b22)]?0x1:-0x1,_0x44bda4['globalAlpha']=0x1,this[_0x3ad400(_0x55046b._0x3e1170,0xf9f)]=new Cesium__namespace[(_0x3ad400(_0x55046b._0x1a2ddd,0xc77))]({'geometryInstances':_0x1f8b19,'appearance':new Cesium__namespace['MaterialAppearance']({'material':new Cesium__namespace[(_0x19d4f1(0x599,_0x55046b._0x4c311b))]({'translucent':_0x3fb538,'fabric':{'uniforms':_0x44bda4,'source':this['createShader']()}}),'vertexShaderSource':ScrollWallGlowVS,'fragmentShaderSource':ScrollWallGlowFS}),'asynchronous':![],'shadows':_0x1a20d6['shadows'],'show':this[_0x19d4f1(0x1583,0x1d66)]}),this[_0x19d4f1(0x3cf,-_0x55046b._0x17e08c)][_0x19d4f1(_0x55046b._0x1acc01,0x15)](this['_primitive']);_0x1a20d6['label']&&this['_addLabel'](_0x1a20d6['label']);function _0x19d4f1(_0x1938fe,_0x5bef5d){return _0x7afdbe(_0x5bef5d,_0x1938fe- -_0x777c89._0x3a85b0);}this[_0x3ad400(0x673,0x10b3)]&&this[_0x19d4f1(0xad8,_0x55046b._0x5227f7)](this['_availability']);}[_0x54a7f1(0xc56,0x1511)](){const _0x4179df={_0x896778:0x6e0};function _0x3ca663(_0x56d36e,_0x22953b){return _0x7afdbe(_0x22953b,_0x56d36e-0x16);}return this['style'][_0x3ca663(_0x4179df._0x896778,0xce0)]===0x1?ScrollWallGlowMaterial:ScrollWallGlowMaterial2;}[_0x7afdbe(0x57a,0x625)](_0x267109,_0x1e5f82){const _0x42af9e={_0x56111d:0x5b8};_0x267109[_0x314fa2(0x98d,_0x42af9e._0x56111d)]['closure']=!![];function _0x314fa2(_0x20a099,_0x309579){return _0x54a7f1(_0x309579-0x11c,_0x20a099);}return create$5('wall',_0x267109);}['_updateStyleByEdit'](_0x5000ed){const _0x476c59={_0x2996ce:0x1051,_0x358f4b:0x1213},_0x48cd8b={_0x3fbc2f:0x120},_0x1f0a4={_0x321b00:0x1ab};function _0x1de81e(_0x157255,_0x11d1ee){return _0x54a7f1(_0x157255- -_0x1f0a4._0x321b00,_0x11d1ee);}function _0x46c16e(_0x2f87c0,_0x49b87d){return _0x54a7f1(_0x2f87c0- -_0x48cd8b._0x3fbc2f,_0x49b87d);}Cesium__namespace[_0x1de81e(0x14d6,_0x476c59._0x2996ce)](_0x5000ed['diffHeight'])&&(this[_0x46c16e(0x37c,-0x2ce)][_0x1de81e(0xea1,_0x476c59._0x358f4b)]=_0x5000ed[_0x1de81e(0xea1,0x403)]);}}register$5('scrollWall',ScrollWall);const Cartesian3$2=Cesium__namespace['Cartesian3'],defined$2=Cesium__namespace['defined'],CesiumMath$1=Cesium__namespace['Math'],Matrix3=Cesium__namespace['Matrix3'],PolylineVolumeGeometryLibrary=Cesium__namespace[_0x7afdbe(0x1567,0x1119)],Quaternion=Cesium__namespace['Quaternion'],ThickWallGeometryLibrary={},scratch1=new Cartesian3$2(),scratch2=new Cartesian3$2(),scratch3=new Cartesian3$2(),scratch4=new Cartesian3$2(),scaleArray2=[new Cartesian3$2(),new Cartesian3$2()],cartesian1=new Cartesian3$2(),cartesian2=new Cartesian3$2(),cartesian3=new Cartesian3$2(),cartesian4=new Cartesian3$2(),cartesian5=new Cartesian3$2(),cartesian6=new Cartesian3$2(),cartesian7=new Cartesian3$2(),cartesian8=new Cartesian3$2(),cartesian9=new Cartesian3$2(),cartesian10$1=new Cartesian3$2(),quaterion=new Quaternion(),rotMatrix=new Matrix3();function cartesian3ToArray(_0x25c87a){const _0x389be7={_0x58c8a0:0x1a1},_0x21b580={_0x51a12e:0xfa4,_0x335a13:0x196b},_0x16c3d5={_0xb8a394:0x4a4};function _0x421818(_0x3e84bc,_0x22d27a){return _0x54a7f1(_0x22d27a- -_0x16c3d5._0xb8a394,_0x3e84bc);}const _0x131660=[];return _0x25c87a[_0x421818(0x176,_0x389be7._0x58c8a0)](_0x2e480e=>{_0x131660[_0x1c0164(_0x21b580._0x51a12e,0xafb)](_0x2e480e['x']),_0x131660[_0x1c0164(0xfa4,_0x21b580._0x335a13)](_0x2e480e['y']);function _0x2c3623(_0x20c20d,_0x310d57){return _0x421818(_0x20c20d,_0x310d57-0x278);}function _0x1c0164(_0x34a93a,_0x2ef3f1){return _0x421818(_0x2ef3f1,_0x34a93a-0x540);}_0x131660['push'](_0x2e480e['z']);}),_0x131660;}function computeRoundCorner(_0x46bb17,_0x56a6bd,_0x3cef81,_0xcdeb55){const _0x4c38b0={_0x4e65b9:0xf57,_0x36b10f:0x3d5,_0x2596c7:0x7f0},_0x188a84={_0x23b8e5:0x38},_0x536e8b=Cartesian3$2['angleBetween'](Cartesian3$2[_0x4a72c0(0x89b,_0x4c38b0._0x4e65b9)](_0x56a6bd,_0x46bb17,scratch1),Cartesian3$2[_0x2ba0b5(0x7c2,0x690)](_0x3cef81,_0x46bb17,scratch2)),_0x2a7645=0x1,_0x4e4b46=_0x2a7645*0x3,_0x1fe63c=new Array(_0x4e4b46);_0x1fe63c[_0x4e4b46-0x3]=_0x3cef81['x'],_0x1fe63c[_0x4e4b46-0x2]=_0x3cef81['y'],_0x1fe63c[_0x4e4b46-0x1]=_0x3cef81['z'];function _0x4a72c0(_0x18125a,_0x51c698){return _0x7afdbe(_0x51c698,_0x18125a- -_0x188a84._0x23b8e5);}let _0x85d257;_0xcdeb55?_0x85d257=Matrix3['fromQuaternion'](Quaternion['fromAxisAngle'](Cartesian3$2[_0x4a72c0(0xcca,_0x4c38b0._0x36b10f)](_0x46bb17,scratch1),_0x536e8b/_0x2a7645,quaterion),rotMatrix):_0x85d257=Matrix3[_0x4a72c0(0x1489,0xd56)](Quaternion[_0x2ba0b5(_0x4c38b0._0x2596c7,0x11c0)](_0x46bb17,_0x536e8b/_0x2a7645,quaterion),rotMatrix);let _0x526cf4=0x0;function _0x2ba0b5(_0x36e9d5,_0x49f6e5){return _0x54a7f1(_0x36e9d5-0x11d,_0x49f6e5);}_0x56a6bd=Cartesian3$2['clone'](_0x56a6bd,scratch1);for(let _0x1b8dad=0x0;_0x1b8dad<_0x2a7645;_0x1b8dad++){_0x56a6bd=Matrix3[_0x2ba0b5(0x489,-0x5a3)](_0x85d257,_0x56a6bd,_0x56a6bd),_0x1fe63c[_0x526cf4++]=_0x56a6bd['x'],_0x1fe63c[_0x526cf4++]=_0x56a6bd['y'],_0x1fe63c[_0x526cf4++]=_0x56a6bd['z'];}return _0x1fe63c;}function addShiftedPositions(_0x1cf6e8,_0x2703fd,_0x55d70b,_0x19365c){const _0x390678={_0x2c7e03:0xf1f,_0x190da9:0x1323,_0xe3c3a6:0x16c},_0x28804c=new Array(_0x1cf6e8['length']),_0x2cc077=new Array(_0x1cf6e8[_0x2e55d5(_0x390678._0x2c7e03,_0x390678._0x190da9)]),_0x286597=Cartesian3$2['multiplyByScalar'](_0x2703fd,_0x55d70b,scratch1);function _0x219ff6(_0x48a3f2,_0x4d38fe){return _0x54a7f1(_0x48a3f2-0xc6,_0x4d38fe);}const _0x312b59=Cartesian3$2['negate'](_0x286597,scratch2);function _0x2e55d5(_0x1880eb,_0x171e02){return _0x7afdbe(_0x171e02,_0x1880eb- -0x294);}let _0x3cd2a9=0x0,_0x18eac8=_0x1cf6e8['length']-0x1;for(let _0x24e65d=0x0;_0x24e65d<_0x1cf6e8['length'];_0x24e65d+=0x3){const _0x2287ce=Cartesian3$2[_0x2e55d5(0xf25,0x61a)](_0x1cf6e8,_0x24e65d,scratch3),_0x4222d8=Cartesian3$2[_0x2e55d5(0x62a,-_0x390678._0xe3c3a6)](_0x2287ce,_0x312b59,scratch4);_0x28804c[_0x3cd2a9++]=_0x4222d8['x'],_0x28804c[_0x3cd2a9++]=_0x4222d8['y'],_0x28804c[_0x3cd2a9++]=_0x4222d8['z'];const _0x45115d=Cartesian3$2['add'](_0x2287ce,_0x286597,scratch4);_0x2cc077[_0x18eac8--]=_0x45115d['z'],_0x2cc077[_0x18eac8--]=_0x45115d['y'],_0x2cc077[_0x18eac8--]=_0x45115d['x'];}return _0x19365c['push'](_0x28804c,_0x2cc077),_0x19365c;}ThickWallGeometryLibrary['addAttribute']=function(_0x15a97f,_0x4ba726,_0x1ecc20,_0x37b6a1){const _0x2f961f=_0x4ba726['x'],_0x4a09bb=_0x4ba726['y'],_0x52a7c6=_0x4ba726['z'];defined$2(_0x1ecc20)&&(_0x15a97f[_0x1ecc20]=_0x2f961f,_0x15a97f[_0x1ecc20+0x1]=_0x4a09bb,_0x15a97f[_0x1ecc20+0x2]=_0x52a7c6),defined$2(_0x37b6a1)&&(_0x15a97f[_0x37b6a1]=_0x52a7c6,_0x15a97f[_0x37b6a1-0x1]=_0x4a09bb,_0x15a97f[_0x37b6a1-0x2]=_0x2f961f);};const scratchForwardProjection=new Cartesian3$2(),scratchBackwardProjection=new Cartesian3$2();ThickWallGeometryLibrary['computePositions']=function(_0x43cc16){const _0x5d5d70={_0x4b5acf:0xa96,_0x1a9cab:0x3e7,_0x381c00:0xfaf,_0x6ee2e:0xd9e,_0x10a7f3:0x3fa,_0x4d8c26:0x1bd,_0x16f54b:0x4d,_0x3ca835:0x478,_0x229a7a:0x1d69,_0x1fb843:0x1379,_0x316468:0xe2d,_0x46164c:0xa96,_0x49a6c3:0x31c,_0x123780:0xc30,_0x44d87a:0x937,_0x269afc:0x11be,_0x29fc7d:0x1518,_0x307b06:0x72d,_0x50ef71:0x601,_0x511de9:0x1447},_0x2f1f78=_0x43cc16['positions'],_0x205dd3=_0x43cc16['ellipsoid'],_0xaee662=_0x43cc16['width']/0x2;let _0x776a7c=cartesian1;function _0x4635e0(_0x1f94ad,_0xa473c){return _0x54a7f1(_0xa473c- -0x4d3,_0x1f94ad);}let _0x2e638b=cartesian2,_0x465e3b=cartesian3,_0x4973ec=cartesian4;function _0x11c60a(_0x32a72f,_0x173271){return _0x54a7f1(_0x173271-0x2a7,_0x32a72f);}let _0x4b6863=cartesian5,_0x36a755=cartesian6,_0x1e9340=cartesian7,_0x3e4aaa=cartesian8,_0x5caa46=cartesian9,_0x55bcd2=cartesian10$1,_0x21d5b3=[],_0x25a2af=_0x2f1f78[0x0],_0x326ab9=_0x2f1f78[0x1];_0x2e638b=Cartesian3$2['normalize'](Cartesian3$2['subtract'](_0x326ab9,_0x25a2af,_0x2e638b),_0x2e638b),_0x776a7c=_0x205dd3['geodeticSurfaceNormal'](_0x25a2af,_0x776a7c),_0x4973ec=Cartesian3$2['normalize'](Cartesian3$2['cross'](_0x776a7c,_0x2e638b,_0x4973ec),_0x4973ec),_0x1e9340=Cartesian3$2[_0x11c60a(0x97f,_0x5d5d70._0x4b5acf)](_0x25a2af,_0x1e9340),_0x25a2af=_0x326ab9,_0x465e3b=Cartesian3$2['negate'](_0x2e638b,_0x465e3b);let _0x502c1f;const _0x583165=[];let _0x54966c;const _0x45cb3d=_0x2f1f78[_0x4635e0(0xa14,0xab2)];for(_0x54966c=0x1;_0x54966c<_0x45cb3d-0x1;_0x54966c++){_0x776a7c=_0x205dd3['geodeticSurfaceNormal'](_0x25a2af,_0x776a7c),_0x326ab9=_0x2f1f78[_0x54966c+0x1],_0x2e638b=Cartesian3$2['normalize'](Cartesian3$2[_0x4635e0(-_0x5d5d70._0x1a9cab,0x1d2)](_0x326ab9,_0x25a2af,_0x2e638b),_0x2e638b),_0x4b6863=Cartesian3$2[_0x4635e0(_0x5d5d70._0x381c00,_0x5d5d70._0x6ee2e)](Cartesian3$2[_0x4635e0(_0x5d5d70._0x10a7f3,_0x5d5d70._0x4d8c26)](_0x2e638b,_0x465e3b,_0x4b6863),_0x4b6863);const _0x192597=Cartesian3$2[_0x4635e0(-0x62f,-_0x5d5d70._0x16f54b)](_0x776a7c,Cartesian3$2['dot'](_0x2e638b,_0x776a7c),scratchForwardProjection);Cartesian3$2[_0x4635e0(-0x563,0x1d2)](_0x2e638b,_0x192597,_0x192597),Cartesian3$2[_0x4635e0(0x156d,0xd9e)](_0x192597,_0x192597);const _0x9669d0=Cartesian3$2['multiplyByScalar'](_0x776a7c,Cartesian3$2['dot'](_0x465e3b,_0x776a7c),scratchBackwardProjection);Cartesian3$2['subtract'](_0x465e3b,_0x9669d0,_0x9669d0),Cartesian3$2['normalize'](_0x9669d0,_0x9669d0);const _0x4a4e58=!CesiumMath$1[_0x4635e0(-_0x5d5d70._0x3ca835,-0x15a)](Math[_0x11c60a(_0x5d5d70._0x229a7a,_0x5d5d70._0x1fb843)](Cartesian3$2['dot'](_0x192597,_0x9669d0)),0x1,CesiumMath$1['EPSILON7']);if(_0x4a4e58){_0x4b6863=Cartesian3$2[_0x11c60a(0x107b,0x1a0d)](_0x4b6863,_0x776a7c,_0x4b6863),_0x4b6863=Cartesian3$2['cross'](_0x776a7c,_0x4b6863,_0x4b6863),_0x4b6863=Cartesian3$2['normalize'](_0x4b6863,_0x4b6863);const _0x43fb11=_0xaee662/Math['max'](0.25,Cartesian3$2['magnitude'](Cartesian3$2['cross'](_0x4b6863,_0x465e3b,scratch1))),_0x121e08=PolylineVolumeGeometryLibrary[_0x11c60a(_0x5d5d70._0x316468,0x105f)](_0x2e638b,_0x465e3b,_0x25a2af,_0x205dd3);_0x4b6863=Cartesian3$2['multiplyByScalar'](_0x4b6863,_0x43fb11,_0x4b6863),_0x121e08?(_0x3e4aaa=Cartesian3$2['add'](_0x25a2af,_0x4b6863,_0x3e4aaa),_0x55bcd2=Cartesian3$2[_0x4635e0(0x87d,0x1bd)](_0x3e4aaa,Cartesian3$2['multiplyByScalar'](_0x4973ec,_0xaee662,_0x55bcd2),_0x55bcd2),_0x5caa46=Cartesian3$2['add'](_0x3e4aaa,Cartesian3$2['multiplyByScalar'](_0x4973ec,_0xaee662*0x2,_0x5caa46),_0x5caa46),scaleArray2[0x0]=Cartesian3$2[_0x11c60a(0xf54,0xa96)](_0x1e9340,scaleArray2[0x0]),scaleArray2[0x1]=Cartesian3$2[_0x11c60a(0x529,_0x5d5d70._0x46164c)](_0x55bcd2,scaleArray2[0x1]),_0x502c1f=cartesian3ToArray(scaleArray2),_0x21d5b3=addShiftedPositions(_0x502c1f,_0x4973ec,_0xaee662,_0x21d5b3),_0x36a755=Cartesian3$2[_0x4635e0(0x511,_0x5d5d70._0x49a6c3)](_0x5caa46,_0x36a755),_0x4973ec=Cartesian3$2['normalize'](Cartesian3$2['cross'](_0x776a7c,_0x2e638b,_0x4973ec),_0x4973ec),_0x5caa46=Cartesian3$2['add'](_0x3e4aaa,Cartesian3$2['multiplyByScalar'](_0x4973ec,_0xaee662*0x2,_0x5caa46),_0x5caa46),_0x1e9340=Cartesian3$2[_0x4635e0(_0x5d5d70._0x123780,_0x5d5d70._0x4d8c26)](_0x3e4aaa,Cartesian3$2['multiplyByScalar'](_0x4973ec,_0xaee662,_0x1e9340),_0x1e9340),_0x583165['push']({'leftPositions':computeRoundCorner(_0x3e4aaa,_0x36a755,_0x5caa46,_0x121e08)})):(_0x5caa46=Cartesian3$2['add'](_0x25a2af,_0x4b6863,_0x5caa46),_0x55bcd2=Cartesian3$2[_0x11c60a(0x723,_0x5d5d70._0x44d87a)](_0x5caa46,Cartesian3$2['negate'](Cartesian3$2['multiplyByScalar'](_0x4973ec,_0xaee662,_0x55bcd2),_0x55bcd2),_0x55bcd2),_0x3e4aaa=Cartesian3$2[_0x4635e0(0x941,_0x5d5d70._0x4d8c26)](_0x5caa46,Cartesian3$2['negate'](Cartesian3$2['multiplyByScalar'](_0x4973ec,_0xaee662*0x2,_0x3e4aaa),_0x3e4aaa),_0x3e4aaa),scaleArray2[0x0]=Cartesian3$2[_0x4635e0(0x8ba,0x31c)](_0x1e9340,scaleArray2[0x0]),scaleArray2[0x1]=Cartesian3$2[_0x11c60a(0xa23,_0x5d5d70._0x46164c)](_0x55bcd2,scaleArray2[0x1]),_0x502c1f=cartesian3ToArray(scaleArray2),_0x21d5b3=addShiftedPositions(_0x502c1f,_0x4973ec,_0xaee662,_0x21d5b3),_0x36a755=Cartesian3$2[_0x11c60a(_0x5d5d70._0x269afc,_0x5d5d70._0x4b5acf)](_0x3e4aaa,_0x36a755),_0x4973ec=Cartesian3$2[_0x11c60a(0x1b98,_0x5d5d70._0x29fc7d)](Cartesian3$2[_0x4635e0(0x15d3,0x1293)](_0x776a7c,_0x2e638b,_0x4973ec),_0x4973ec),_0x3e4aaa=Cartesian3$2['add'](_0x5caa46,Cartesian3$2['negate'](Cartesian3$2[_0x11c60a(-0x20e,_0x5d5d70._0x307b06)](_0x4973ec,_0xaee662*0x2,_0x3e4aaa),_0x3e4aaa),_0x3e4aaa),_0x1e9340=Cartesian3$2[_0x4635e0(-0x31e,0x1bd)](_0x5caa46,Cartesian3$2['negate'](Cartesian3$2['multiplyByScalar'](_0x4973ec,_0xaee662,_0x1e9340),_0x1e9340),_0x1e9340),_0x583165['push']({'rightPositions':computeRoundCorner(_0x5caa46,_0x36a755,_0x3e4aaa,_0x121e08)})),_0x465e3b=Cartesian3$2[_0x4635e0(-0x1b3,_0x5d5d70._0x50ef71)](_0x2e638b,_0x465e3b);}_0x25a2af=_0x326ab9;}_0x776a7c=_0x205dd3['geodeticSurfaceNormal'](_0x25a2af,_0x776a7c),scaleArray2[0x0]=Cartesian3$2['clone'](_0x1e9340,scaleArray2[0x0]),scaleArray2[0x1]=Cartesian3$2[_0x11c60a(_0x5d5d70._0x511de9,0xa96)](_0x25a2af,scaleArray2[0x1]),_0x502c1f=cartesian3ToArray(scaleArray2),_0x21d5b3=addShiftedPositions(_0x502c1f,_0x4973ec,_0xaee662,_0x21d5b3);const _0x4c7e93={};return _0x4c7e93['positions']=_0x21d5b3,_0x4c7e93['corners']=_0x583165,_0x4c7e93;};const BoundingSphere=Cesium__namespace['BoundingSphere'],Cartesian3$1=Cesium__namespace['Cartesian3'],Cartographic=Cesium__namespace['Cartographic'],Check=Cesium__namespace['Check'],ComponentDatatype=Cesium__namespace['ComponentDatatype'],defaultValue$1=Cesium__namespace['defaultValue'],defined$1=Cesium__namespace['defined'],Ellipsoid=Cesium__namespace[_0x54a7f1(0x15b5,0x13e6)],Geometry=Cesium__namespace[_0x7afdbe(0xccb,0x1537)],GeometryAttribute=Cesium__namespace[_0x54a7f1(0x5b7,0x810)],GeometryAttributes=Cesium__namespace['GeometryAttributes'],IndexDatatype=Cesium__namespace['IndexDatatype'],CesiumMath=Cesium__namespace['Math'],PrimitiveType=Cesium__namespace['PrimitiveType'],VertexFormat=Cesium__namespace[_0x7afdbe(0x177,0x561)],CornerType=Cesium__namespace[_0x54a7f1(0x178a,0x206e)],cartesian10=new Cartesian3$1(),cartesian20=new Cartesian3$1(),cartesian30=new Cartesian3$1();function combine(_0x134d7e,_0x2b85cd){const _0x253ae8={_0x55969b:0xf6a,_0x2fd080:0x18a3,_0x321bd1:0xb35,_0x14faf0:0x18ea,_0x3a035e:0x1f1f,_0x5ca48b:0xc28,_0x3256fe:0xdd0,_0x1afadf:0xf0d,_0xd09dbf:0x6f0,_0x5c7095:0x10e7,_0x4d3fd6:0x143c,_0x5e796e:0xbfc,_0x4b43e0:0x10dd,_0x59549e:0x22b8,_0x3c02e4:0x151b,_0x22873f:0x1515,_0x160ed4:0xd06},_0x240a3f={_0x39cd1d:0xd2},_0x5f0eb0={_0x27c533:0x3e3},_0x2fbb79=_0x134d7e['positions'],_0x245926=_0x134d7e[_0x165a88(_0x253ae8._0x55969b,_0x253ae8._0x2fd080)],_0x571bd3=new GeometryAttributes();let _0x4a3ffc,_0x291aec=0x0,_0x445c51=0x0,_0x1a9f99;function _0x4b366c(_0x22875b,_0x67b7a){return _0x7afdbe(_0x22875b,_0x67b7a- -_0x5f0eb0._0x27c533);}let _0x5bf3e7=0x0,_0x1dd5b0;for(_0x1a9f99=0x0;_0x1a9f99<_0x2fbb79['length'];_0x1a9f99+=0x2){_0x1dd5b0=_0x2fbb79[_0x1a9f99]['length']-0x3,_0x291aec+=_0x1dd5b0,_0x5bf3e7+=_0x1dd5b0*0x2,_0x445c51+=_0x2fbb79[_0x1a9f99+0x1][_0x165a88(0x10e1,_0x253ae8._0x321bd1)]-0x3;}_0x291aec+=0x3,_0x445c51+=0x3;for(_0x1a9f99=0x0;_0x1a9f99<_0x245926['length'];_0x1a9f99++){_0x4a3ffc=_0x245926[_0x1a9f99];const _0x169db5=_0x245926[_0x1a9f99][_0x165a88(_0x253ae8._0x14faf0,_0x253ae8._0x3a035e)];defined$1(_0x169db5)?(_0x1dd5b0=_0x169db5['length'],_0x291aec+=_0x1dd5b0,_0x5bf3e7+=_0x1dd5b0):(_0x1dd5b0=_0x245926[_0x1a9f99][_0x165a88(0x11b5,0x12c5)][_0x4b366c(_0x253ae8._0x5ca48b,_0x253ae8._0x3256fe)],_0x445c51+=_0x1dd5b0,_0x5bf3e7+=_0x1dd5b0);}const _0xe721cd=_0x291aec+_0x445c51,_0x3ed969=new Float64Array(_0xe721cd);let _0x3b07ce=0x0,_0x5749a=_0xe721cd-0x1,_0x2d51fe,_0xb96e27,_0x5a52c4,_0xf0c8da;const _0x2d9fcd=IndexDatatype['createTypedArray'](_0xe721cd/0x3,_0x5bf3e7);function _0x165a88(_0xdb0064,_0x3943ad){return _0x7afdbe(_0x3943ad,_0xdb0064- -_0x240a3f._0x39cd1d);}let _0x4d5932=0x0,_0x1e3c1f=0x0,_0x15e202=_0x2fbb79[_0x1e3c1f++],_0xaad7b8=_0x2fbb79[_0x1e3c1f++];_0x3ed969[_0x165a88(_0x253ae8._0x1afadf,_0x253ae8._0xd09dbf)](_0x15e202,_0x3b07ce),_0x3ed969['set'](_0xaad7b8,_0x5749a-_0xaad7b8['length']+0x1),_0x1dd5b0=_0xaad7b8['length']-0x3;for(_0x1a9f99=0x0;_0x1a9f99<_0x1dd5b0;_0x1a9f99+=0x3){_0xb96e27=_0x3b07ce/0x3,_0xf0c8da=_0xb96e27+0x1,_0x2d51fe=(_0x5749a-0x2)/0x3,_0x5a52c4=_0x2d51fe-0x1,_0x2d9fcd[_0x4d5932++]=_0x2d51fe,_0x2d9fcd[_0x4d5932++]=_0xb96e27,_0x2d9fcd[_0x4d5932++]=_0x5a52c4,_0x2d9fcd[_0x4d5932++]=_0x5a52c4,_0x2d9fcd[_0x4d5932++]=_0xb96e27,_0x2d9fcd[_0x4d5932++]=_0xf0c8da,_0x3b07ce+=0x3,_0x5749a-=0x3;}for(_0x1a9f99=0x0;_0x1a9f99<_0x245926['length'];_0x1a9f99++){let _0x12d95b;_0x4a3ffc=_0x245926[_0x1a9f99];const _0x4c1358=_0x4a3ffc['leftPositions'],_0x505f05=_0x4a3ffc['rightPositions'];let _0x448070,_0x4a2b8c,_0x3e6112=cartesian30,_0x2e01cf=cartesian10,_0x3729c9=cartesian20;if(defined$1(_0x4c1358)){_0x5749a-=0x3,_0x448070=_0xf0c8da,_0x4a2b8c=_0x5a52c4;for(_0x12d95b=0x0;_0x12d95b<_0x4c1358['length']/0x3;_0x12d95b++){_0x3e6112=Cartesian3$1[_0x4b366c(0x1834,0xdd6)](_0x4c1358,_0x12d95b*0x3,_0x3e6112),_0x2d9fcd[_0x4d5932++]=_0x448070,_0x2d9fcd[_0x4d5932++]=_0x4a2b8c-_0x12d95b-0x1,_0x2d9fcd[_0x4d5932++]=_0x4a2b8c-_0x12d95b,ThickWallGeometryLibrary['addAttribute'](_0x3ed969,_0x3e6112,undefined,_0x5749a),_0x2e01cf=Cartesian3$1['fromArray'](_0x3ed969,(_0x4a2b8c-_0x12d95b-0x1)*0x3,_0x2e01cf),_0x3729c9=Cartesian3$1['fromArray'](_0x3ed969,_0x448070*0x3,_0x3729c9),_0x5749a-=0x3;}_0x3e6112=Cartesian3$1[_0x165a88(0x10e7,0x1b28)](_0x3ed969,_0x448070*0x3,_0x3e6112),_0x2e01cf=Cartesian3$1['subtract'](Cartesian3$1['fromArray'](_0x3ed969,_0x4a2b8c*0x3,_0x2e01cf),_0x3e6112,_0x2e01cf),_0x3729c9=Cartesian3$1['subtract'](Cartesian3$1[_0x165a88(0x10e7,0x1154)](_0x3ed969,(_0x4a2b8c-_0x12d95b)*0x3,_0x3729c9),_0x3e6112,_0x3729c9),_0x3b07ce+=0x3;}else{_0x3b07ce+=0x3,_0x448070=_0x5a52c4,_0x4a2b8c=_0xf0c8da;for(_0x12d95b=0x0;_0x12d95b<_0x505f05['length']/0x3;_0x12d95b++){_0x3e6112=Cartesian3$1['fromArray'](_0x505f05,_0x12d95b*0x3,_0x3e6112),_0x2d9fcd[_0x4d5932++]=_0x448070,_0x2d9fcd[_0x4d5932++]=_0x4a2b8c+_0x12d95b,_0x2d9fcd[_0x4d5932++]=_0x4a2b8c+_0x12d95b+0x1,ThickWallGeometryLibrary['addAttribute'](_0x3ed969,_0x3e6112,_0x3b07ce),_0x2e01cf=Cartesian3$1['fromArray'](_0x3ed969,_0x448070*0x3,_0x2e01cf),_0x3729c9=Cartesian3$1['fromArray'](_0x3ed969,(_0x4a2b8c+_0x12d95b)*0x3,_0x3729c9),_0x3b07ce+=0x3;}_0x3e6112=Cartesian3$1[_0x165a88(_0x253ae8._0x5c7095,_0x253ae8._0x4d3fd6)](_0x3ed969,_0x448070*0x3,_0x3e6112),_0x2e01cf=Cartesian3$1[_0x165a88(0x801,0x9d4)](Cartesian3$1['fromArray'](_0x3ed969,(_0x4a2b8c+_0x12d95b)*0x3,_0x2e01cf),_0x3e6112,_0x2e01cf),_0x3729c9=Cartesian3$1['subtract'](Cartesian3$1[_0x165a88(0x10e7,0x19ea)](_0x3ed969,_0x4a2b8c*0x3,_0x3729c9),_0x3e6112,_0x3729c9),_0x5749a-=0x3;}_0x15e202=_0x2fbb79[_0x1e3c1f++],_0xaad7b8=_0x2fbb79[_0x1e3c1f++],_0x15e202['splice'](0x0,0x3),_0xaad7b8['splice'](_0xaad7b8['length']-0x3,0x3),_0x3ed969[_0x4b366c(0x15a2,_0x253ae8._0x5e796e)](_0x15e202,_0x3b07ce),_0x3ed969['set'](_0xaad7b8,_0x5749a-_0xaad7b8['length']+0x1),_0x1dd5b0=_0xaad7b8['length']-0x3;for(_0x12d95b=0x0;_0x12d95b<_0xaad7b8['length'];_0x12d95b+=0x3){_0xf0c8da=_0x3b07ce/0x3,_0xb96e27=_0xf0c8da-0x1,_0x5a52c4=(_0x5749a-0x2)/0x3,_0x2d51fe=_0x5a52c4+0x1,_0x2d9fcd[_0x4d5932++]=_0x2d51fe,_0x2d9fcd[_0x4d5932++]=_0xb96e27,_0x2d9fcd[_0x4d5932++]=_0x5a52c4,_0x2d9fcd[_0x4d5932++]=_0x5a52c4,_0x2d9fcd[_0x4d5932++]=_0xb96e27,_0x2d9fcd[_0x4d5932++]=_0xf0c8da,_0x3b07ce+=0x3,_0x5749a-=0x3;}_0x3b07ce-=0x3,_0x5749a+=0x3;}const _0x1dd644={};_0x1dd644['componentDatatype']=ComponentDatatype['DOUBLE'],_0x1dd644['componentsPerAttribute']=0x3,_0x1dd644[_0x4b366c(_0x253ae8._0x4b43e0,0xf9b)]=_0x3ed969,_0x571bd3[_0x165a88(0x183d,_0x253ae8._0x59549e)]=new GeometryAttribute(_0x1dd644);if(_0x2b85cd['st']){const _0x5ac15d=new Float32Array(_0xe721cd/0x3*0x2);let _0x4c0f45=0x0;_0x291aec/=0x3,_0x445c51/=0x3;const _0x1980b4=0x1/(_0x291aec-0x1),_0x13abb2=0x1/(_0x445c51-0x1);for(_0x1a9f99=0x0;_0x1a9f99<_0x445c51;_0x1a9f99++){_0x5ac15d[_0x4c0f45++]=_0x1a9f99*_0x13abb2,_0x5ac15d[_0x4c0f45++]=0x0;}for(_0x1a9f99=_0x291aec;_0x1a9f99>0x0;_0x1a9f99--){_0x5ac15d[_0x4c0f45++]=(_0x1a9f99-0x1)*_0x1980b4,_0x5ac15d[_0x4c0f45++]=0x1;}const _0x1dd33f={};_0x1dd33f[_0x4b366c(_0x253ae8._0x3c02e4,_0x253ae8._0x22873f)]=ComponentDatatype[_0x165a88(_0x253ae8._0x160ed4,0x2c6)],_0x1dd33f['componentsPerAttribute']=0x2,_0x1dd33f['values']=_0x5ac15d,_0x571bd3['st']=new GeometryAttribute(_0x1dd33f);}const _0x1154af={};return _0x1154af['attributes']=_0x571bd3,_0x1154af['indices']=_0x2d9fcd,_0x1154af;}function ThickWallGeometry(_0x3e0c8a){const _0x17fb43={_0x5a19cc:0x288,_0x3cfe90:0x708,_0x5e96fe:0xd7b,_0x13b380:0x130d,_0x4a9d50:0xdc0,_0x28457f:0x2e1,_0x119084:0xf54};_0x3e0c8a=defaultValue$1(_0x3e0c8a,defaultValue$1[_0x513a7e(-_0x17fb43._0x5a19cc,_0x17fb43._0x3cfe90)]);const _0x3a55ae=_0x3e0c8a[_0x496163(0x1451,_0x17fb43._0x5e96fe)],_0x5d46ff=_0x3e0c8a['width'];Check[_0x496163(0xe6f,_0x17fb43._0x13b380)](_0x513a7e(_0x17fb43._0x4a9d50,0xa78),_0x3a55ae);function _0x513a7e(_0x49e76a,_0x54a00b){return _0x7afdbe(_0x49e76a,_0x54a00b- -0x239);}Check['defined'](_0x496163(0xc49,_0x17fb43._0x28457f),_0x5d46ff);function _0x496163(_0x1c263d,_0x381c59){return _0x7afdbe(_0x1c263d,_0x381c59- -0x5a2);}this['_positions']=_0x3a55ae,this['_ellipsoid']=Ellipsoid['clone'](defaultValue$1(_0x3e0c8a['ellipsoid'],Ellipsoid[_0x513a7e(0x12c5,0xe4f)])),this['_vertexFormat']=VertexFormat['clone'](defaultValue$1(_0x3e0c8a['vertexFormat'],VertexFormat['POSITION_AND_ST'])),this['_width']=_0x5d46ff,this['_granularity']=defaultValue$1(_0x3e0c8a[_0x513a7e(_0x17fb43._0x119084,0x1005)],CesiumMath[_0x513a7e(0xba0,0xf5f)]);}ThickWallGeometry['createGeometry']=function(_0x579de2){const _0x2b8fa9={_0x2a3911:0xcc0,_0x2df17d:0xfc5,_0x583913:0x10f2,_0x3d4e50:0xc16,_0x4baa54:0x16cb,_0x5b9720:0x107f,_0x58f412:0x14e8,_0x1ad596:0xb57,_0x28211f:0x1f17,_0x43273d:0xfed,_0x2ef9b1:0xe8e,_0x1f921c:0x8ef},_0x5e5137={_0x57a868:0x1df},_0x2fbd0a={_0x55ba01:0x10},_0x12a384=_0x579de2['_positions'],_0x4c480e=_0x579de2[_0x2f001a(_0x2b8fa9._0x2a3911,_0x2b8fa9._0x2df17d)],_0x44f935=_0x579de2[_0x2100c1(_0x2b8fa9._0x583913,0x771)],_0x21f192=_0x12a384[_0x2100c1(_0x2b8fa9._0x3d4e50,0x763)](_0x3dea21=>Cartographic['fromCartesian'](_0x3dea21)),_0x3c9799=_0x12a384['map'](_0x32083b=>_0x44f935['scaleToGeodeticSurface'](_0x32083b)),_0x413b56=_0x579de2['_vertexFormat'],_0x4e634b={};_0x4e634b['ellipsoid']=_0x44f935;function _0x2f001a(_0xff9435,_0x4f2538){return _0x54a7f1(_0x4f2538-0x180,_0xff9435);}_0x4e634b['positions']=_0x3c9799,_0x4e634b['width']=_0x4c480e,_0x4e634b['cornerType']=CornerType[_0x2100c1(_0x2b8fa9._0x4baa54,0x126e)],_0x4e634b[_0x2100c1(0x11ef,0x19f1)]=_0x579de2['_granularity'],_0x4e634b['saveAttributes']=![];const _0x21442a=_0x4e634b,_0x61deac=ThickWallGeometryLibrary['computePositions'](_0x21442a),_0x147a26=[];let _0x593ba0=[];const _0x5c6f83=_0x61deac['positions'],_0x35ab81=_0x5c6f83['length']/0x2;for(let _0x20cde5=0x0;_0x20cde5<_0x35ab81;_0x20cde5++){const _0x2fef44=_0x21f192[_0x20cde5],_0x3e5cb3=_0x21f192[_0x20cde5+0x1],_0x49cb48=_0x5c6f83[_0x20cde5*0x2],_0x2c0592=_0x5c6f83[_0x20cde5*0x2+0x1],_0x5637bd=_0x49cb48['length']/0x3,_0x5bff9f=_0x2c0592[_0x2f001a(0x17bf,0x1105)]/0x3;for(let _0x16cc4d=0x0;_0x16cc4d<_0x5637bd;_0x16cc4d++){const _0x1eef61=new Cesium__namespace['Cartesian3'](_0x49cb48[_0x16cc4d*0x3],_0x49cb48[_0x16cc4d*0x3+0x1],_0x49cb48[_0x16cc4d*0x3+0x2]),_0x4c0950=Cartographic['fromCartesian'](_0x1eef61);let _0x226162;_0x16cc4d===0x0?_0x226162=Cartesian3$1['fromRadians'](_0x4c0950['longitude'],_0x4c0950['latitude'],_0x2fef44['height']):_0x226162=Cartesian3$1[_0x2f001a(_0x2b8fa9._0x5b9720,_0x2b8fa9._0x58f412)](_0x4c0950[_0x2100c1(0x887,0xe7e)],_0x4c0950[_0x2f001a(0x967,_0x2b8fa9._0x1ad596)],_0x3e5cb3[_0x2f001a(-0x177,0x7e7)]),_0x147a26['push'](_0x226162),_0x49cb48[_0x16cc4d*0x3]=_0x226162['x'],_0x49cb48[_0x16cc4d*0x3+0x1]=_0x226162['y'],_0x49cb48[_0x16cc4d*0x3+0x2]=_0x226162['z'];}const _0xd97cb=[];for(let _0x158d4b=0x0;_0x158d4b<_0x5bff9f;_0x158d4b++){const _0x3acf92=new Cesium__namespace['Cartesian3'](_0x2c0592[_0x158d4b*0x3],_0x2c0592[_0x158d4b*0x3+0x1],_0x2c0592[_0x158d4b*0x3+0x2]),_0x4e2e35=Cartographic['fromCartesian'](_0x3acf92);let _0x2f0525;_0x158d4b===0x0?_0x2f0525=Cartesian3$1[_0x2100c1(0x1547,_0x2b8fa9._0x28211f)](_0x4e2e35['longitude'],_0x4e2e35['latitude'],_0x3e5cb3['height']):_0x2f0525=Cartesian3$1[_0x2f001a(0x1a92,0x14e8)](_0x4e2e35['longitude'],_0x4e2e35[_0x2100c1(0xbb6,0xe07)],_0x2fef44['height']),_0xd97cb['push'](_0x2f0525),_0x2c0592[_0x158d4b*0x3]=_0x2f0525['x'],_0x2c0592[_0x158d4b*0x3+0x1]=_0x2f0525['y'],_0x2c0592[_0x158d4b*0x3+0x2]=_0x2f0525['z'];}_0x593ba0['push'](..._0xd97cb['reverse']());}_0x61deac[_0x2100c1(_0x2b8fa9._0x43273d,0x18f1)]['forEach']((_0x10591e,_0x1efad9)=>{let _0xf6a8f5;defined$1(_0x10591e['rightPositions'])?_0xf6a8f5=_0x10591e['rightPositions']:_0xf6a8f5=_0x10591e[_0x8e0914(0x195d,0x1701)];const _0x168726=new Cesium__namespace['Cartesian3'](_0xf6a8f5[0x0],_0xf6a8f5[0x1],_0xf6a8f5[0x2]),_0x27dc5a=Cartographic['fromCartesian'](_0x168726),_0x49c450=_0x12a384[_0x1efad9+0x1],_0xce1983=Cartographic['fromCartesian'](_0x49c450);function _0x8e0914(_0x1ba1de,_0x4bf9d4){return _0x2100c1(_0x1ba1de- -_0x2fbd0a._0x55ba01,_0x4bf9d4);}const _0x3330c4=Cartesian3$1['fromRadians'](_0x27dc5a['longitude'],_0x27dc5a['latitude'],_0xce1983['height']);_0xf6a8f5[0x0]=_0x3330c4['x'],_0xf6a8f5[0x1]=_0x3330c4['y'],_0xf6a8f5[0x2]=_0x3330c4['z'];});function _0x2100c1(_0x242a11,_0x3c6350){return _0x54a7f1(_0x242a11-_0x5e5137._0x57a868,_0x3c6350);}const _0x2c9175=combine(_0x61deac,_0x413b56),_0x780721=_0x2c9175['attributes'],_0x43758d=BoundingSphere['fromVertices'](_0x780721[_0x2f001a(_0x2b8fa9._0x2ef9b1,0x1861)]['values'],undefined,0x3);_0x593ba0=Cesium__namespace[_0x2f001a(0xa1b,0x1024)](_0x593ba0,Cartesian3$1[_0x2f001a(-0x3bb,0x4f9)]);const _0x9ffd6={};return _0x9ffd6['attributes']=_0x780721,_0x9ffd6['indices']=_0x2c9175['indices'],_0x9ffd6['primitiveType']=PrimitiveType['TRIANGLES'],_0x9ffd6[_0x2100c1(_0x2b8fa9._0x1f921c,0xf28)]=_0x43758d,{'geometry':new Geometry(_0x9ffd6),'rightPoints':_0x593ba0,'leftPoints':_0x147a26};};const _0x44960a={};_0x44960a[_0x54a7f1(0x104c,0x133f)]=0x64,_0x44960a[_0x7afdbe(0x1de5,0x19d5)]=0x0,_0x44960a['width']=0xa,_0x44960a['flat']=!![];const DEF_STYLE$l=_0x44960a;class ThickWall extends BasePolyPrimitive{constructor(_0xd4208b={}){_0xd4208b['style']={...DEF_STYLE$l,..._0xd4208b['style']},super(_0xd4208b);}get['czmObject'](){return this['_primitive'];}[_0x7afdbe(0x722,0x113d)](_0x181929,_0x40a0dc){const _0x5040fc={_0x5b61a4:0xe6d,_0x4131a7:0xb80,_0x5918ce:0x12d5,_0x2be284:0xd22,_0x37c5f2:0x11c8,_0x1337ad:0xb50,_0x3fb973:0x1300,_0x4386d6:0x11c8,_0x4cd2c2:0x1c90,_0x5a0435:0x1030,_0x1774fe:0x9e5,_0x59c33a:0x16e2,_0x99cf8:0xc56,_0x254cd7:0xe4c,_0x6eed6e:0x1406,_0x219dc6:0x11d2,_0xc4689b:0x803,_0x4d2ea1:0xb50,_0x5c9e5b:0xf5,_0x4cf638:0xe40,_0x3069a0:0xe5b,_0x3a2373:0x67d,_0x484b60:0x15da,_0x2a214e:0x708,_0x47154e:0xa1,_0x101a83:0x114d,_0x197119:0x117b,_0x3180fb:0xaeb},_0x5876a0={_0x3ec91a:0x6c,_0x4da540:0x1262},_0x1ba823={_0x5899b9:0x117},_0x3271d6={_0x393a17:0x882,_0xf9270a:0x143b},_0x205fb={_0x2f1a49:0x39c},_0x21ff4f={_0x1226d7:0x388},_0x24e672={_0x50ce68:0x878,_0x4ec4d8:0x143c,_0x42e40d:0x6b5,_0x25f5e7:0x1cc4,_0x5e5030:0x202e},_0x3dd51a=[],_0x4d2a01=[],_0x4dd5b0=[];this[_0x48c93a(0x1874,_0x5040fc._0x5b61a4)]['forEach'](_0x52dc8a=>{function _0x4fcf7c(_0x1c91eb,_0x2fc869){return _0x48c93a(_0x1c91eb,_0x2fc869-0x452);}const _0x7d08e7=Cesium__namespace['Cartographic']['fromCartesian'](_0x52dc8a);_0x4d2a01[_0x4fcf7c(0x950,0x10d8)](Cesium__namespace[_0x4fcf7c(0x1a87,0x14b7)]['fromRadians'](_0x7d08e7[_0x4fcf7c(-0x255,_0x24e672._0x50ce68)],_0x7d08e7[_0x4fcf7c(_0x24e672._0x4ec4d8,0xba7)],_0x7d08e7['height']+_0x181929['diffHeight']));function _0x23ba75(_0x2d7f09,_0x3cb70d){return _0x48c93a(_0x3cb70d,_0x2d7f09-0x10e);}_0x4dd5b0[_0x4fcf7c(_0x24e672._0x42e40d,0x10d8)](Cesium__namespace['Cartesian3'][_0x4fcf7c(_0x24e672._0x25f5e7,0x1538)](_0x7d08e7['longitude'],_0x7d08e7['latitude'],_0x7d08e7['height']-_0x181929[_0x4fcf7c(_0x24e672._0x5e5030,0x1977)]));});_0x181929['closure']&&(_0x4d2a01[_0x7dc73c(_0x5040fc._0x4131a7,0x92b)](_0x4d2a01[0x0]),_0x4dd5b0[_0x48c93a(0x317,0xc86)](_0x4dd5b0[0x0]));const _0x2b28c6={};_0x2b28c6['positions']=_0x4d2a01,_0x2b28c6['width']=_0x181929['width'];const _0x2faa80=ThickWallGeometry[_0x48c93a(-0x6ba,0x75)](new ThickWallGeometry(_0x2b28c6)),_0x3565a3={};_0x3565a3['positions']=_0x4dd5b0,_0x3565a3['width']=_0x181929[_0x48c93a(0xb76,_0x5040fc._0x5918ce)];const _0x14a33a=ThickWallGeometry['createGeometry'](new ThickWallGeometry(_0x3565a3)),_0x416731={};_0x416731[_0x7dc73c(0x1227,_0x5040fc._0x2be284)]=_0x2faa80['geometry'];const _0x2dd57d=new Cesium__namespace['GeometryInstance'](_0x416731),_0xb0b4ae={};_0xb0b4ae[_0x7dc73c(0x1227,0xc58)]=_0x14a33a['geometry'];const _0x359290=new Cesium__namespace['GeometryInstance'](_0xb0b4ae);_0x3dd51a['push'](_0x2dd57d);function _0x7dc73c(_0x2fd064,_0x24d044){return _0x54a7f1(_0x2fd064- -_0x21ff4f._0x1226d7,_0x24d044);}_0x3dd51a['push'](_0x359290);const _0x10225b=[];function _0x48c93a(_0x35b254,_0xc56f01){return _0x54a7f1(_0xc56f01- -0x282,_0x35b254);}const _0x3d8807=[];_0x14a33a[_0x7dc73c(_0x5040fc._0x37c5f2,0x8cb)]['forEach'](_0x5cb40d=>{function _0x2ee0c1(_0x4b530e,_0x1edb6f){return _0x7dc73c(_0x4b530e-_0x205fb._0x2f1a49,_0x1edb6f);}function _0x28c56c(_0x33dd89,_0x54152c){return _0x7dc73c(_0x33dd89- -0x122,_0x54152c);}const _0x24eb94=Cesium__namespace[_0x28c56c(0x426,_0x3271d6._0x393a17)]['fromCartesian'](_0x5cb40d);_0x10225b[_0x2ee0c1(0xf1c,_0x3271d6._0xf9270a)](_0x24eb94['height']);}),_0x14a33a['rightPoints']['forEach'](_0xdad4dc=>{function _0x202aeb(_0x4973d5,_0x2ee16a){return _0x7dc73c(_0x2ee16a- -0x21,_0x4973d5);}function _0x134a0c(_0xbe3537,_0x314733){return _0x7dc73c(_0x314733-_0x1ba823._0x5899b9,_0xbe3537);}const _0x2c4cc1=Cesium__namespace['Cartographic'][_0x202aeb(-0x3be,-_0x5876a0._0x3ec91a)](_0xdad4dc);_0x3d8807[_0x134a0c(_0x5876a0._0x4da540,0xc97)](_0x2c4cc1['height']);});const _0x4d2ba7=new Cesium__namespace[(_0x7dc73c(_0x5040fc._0x1337ad,0xa2f))]({'geometry':new Cesium__namespace[(_0x7dc73c(_0x5040fc._0x3fb973,0xf3d))]({'positions':_0x2faa80[_0x7dc73c(_0x5040fc._0x4386d6,_0x5040fc._0x4cd2c2)],'minimumHeights':_0x10225b,'vertexFormat':Cesium__namespace[_0x7dc73c(0x1075,_0x5040fc._0x5a0435)]['MaterialSupport'][_0x7dc73c(_0x5040fc._0x1774fe,0xf70)]['vertexFormat']})}),_0x378e82=new Cesium__namespace[(_0x48c93a(_0x5040fc._0x59c33a,_0x5040fc._0x99cf8))]({'geometry':new Cesium__namespace[(_0x48c93a(_0x5040fc._0x254cd7,_0x5040fc._0x6eed6e))]({'positions':_0x2faa80['rightPoints'],'minimumHeights':_0x3d8807,'vertexFormat':Cesium__namespace['MaterialAppearance']['MaterialSupport']['TEXTURED']['vertexFormat']})});_0x3dd51a['push'](_0x4d2ba7),_0x3dd51a['push'](_0x378e82);if(!_0x181929[_0x48c93a(_0x5040fc._0x219dc6,0x141b)]){const _0x46a013=Cesium__namespace['Cartographic']['fromCartesian'](_0x14a33a['leftPoints'][0x0])[_0x48c93a(_0x5040fc._0xc4689b,0x3e5)],_0x4f5f6b=new Cesium__namespace[(_0x7dc73c(_0x5040fc._0x4d2ea1,_0x5040fc._0x5c9e5b))]({'geometry':new Cesium__namespace[(_0x7dc73c(0x1300,_0x5040fc._0x4cf638))]({'positions':[_0x2faa80['leftPoints'][0x0],_0x2faa80['rightPoints'][0x0]],'minimumHeights':[_0x46a013,_0x46a013],'vertexFormat':Cesium__namespace['MaterialAppearance'][_0x48c93a(0x1d6,0x4af)][_0x7dc73c(0x9e5,_0x5040fc._0x3069a0)][_0x7dc73c(0x410,_0x5040fc._0x3a2373)]})}),_0x460b7b=Cesium__namespace['Cartographic'][_0x48c93a(-0x754,0xbb)](_0x14a33a['leftPoints'][_0x14a33a[_0x48c93a(0xb9d,0x12ce)][_0x48c93a(0x1020,0xd03)]-0x1])['height'],_0x3bb47c=new Cesium__namespace[(_0x48c93a(0x6e2,0xc56))]({'geometry':new Cesium__namespace['WallGeometry']({'positions':[_0x2faa80['leftPoints'][_0x2faa80[_0x7dc73c(_0x5040fc._0x4386d6,_0x5040fc._0x484b60)]['length']-0x1],_0x2faa80[_0x7dc73c(_0x5040fc._0x2a214e,_0x5040fc._0x47154e)][_0x2faa80['rightPoints']['length']-0x1]],'minimumHeights':[_0x460b7b,_0x460b7b],'vertexFormat':Cesium__namespace[_0x48c93a(_0x5040fc._0x101a83,_0x5040fc._0x197119)][_0x48c93a(-0x3c4,0x4af)][_0x48c93a(0xad1,_0x5040fc._0x3180fb)]['vertexFormat']})});_0x3dd51a[_0x48c93a(0x108f,0xc86)](_0x4f5f6b),_0x3dd51a['push'](_0x3bb47c);}return _0x3dd51a;}[_0x54a7f1(0x15db,0x1198)](_0xa51f08,_0x5976ff,_0xa6d64d){const _0x34a9e8={_0x160237:0x10ae,_0xbde87f:0x1197},_0x50e6b8={_0x3d80e6:0x34f},_0x50a87b={..._0xa51f08};function _0x47bcb9(_0x5179cc,_0x544c28){return _0x54a7f1(_0x5179cc- -_0x50e6b8._0x3d80e6,_0x544c28);}return new Cesium__namespace[(_0x47bcb9(_0x34a9e8._0x160237,_0x34a9e8._0xbde87f))](_0x50a87b);}['_conversionStyle'](_0x244787){return WallStyleConver['toCesiumVal'](_0x244787);}['_style2Json'](_0x9aad3,_0x9d6dd2){return WallStyleConver['toJSON'](_0x9aad3,_0x9d6dd2);}['_updateStyleByEdit'](_0x4b16fe){const _0x14d47d={_0x10efc9:0x2e};function _0x50cf1b(_0x54e66d,_0x495eef){return _0x7afdbe(_0x495eef,_0x54e66d- -_0x14d47d._0x10efc9);}function _0x421457(_0xffee59,_0x158419){return _0x7afdbe(_0xffee59,_0x158419- -0x2d9);}this[_0x421457(0x14c,0x7c8)]&&Cesium__namespace['defined'](_0x4b16fe['radius'])&&(this['radius']=_0x4b16fe['radius']),Cesium__namespace['defined'](_0x4b16fe['diffHeight'])&&(this[_0x421457(0xa77,0x3f1)]['diffHeight']=_0x4b16fe['diffHeight']);}['_getDrawEntityClass'](_0x2d0099,_0x13e930){const _0x5633d8={_0x9f4696:0x4a};function _0x41c3fd(_0x5dd773,_0x4f3bb1){return _0x7afdbe(_0x4f3bb1,_0x5dd773-_0x5633d8._0x9f4696);}return create$5(_0x41c3fd(0x12e0,0x18b7),_0x2d0099);}}register$5(_0x54a7f1(0x1622,0x1e54),ThickWall);var DynamicRiverFS=_0x7afdbe(0x14c0,0x13b2),DynamicRiverVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0a\x0aout\x20vec3\x20v_positionMC;\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec2\x20v_st;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x0a\x20\x20v_positionMC\x20=\x20position3DHigh\x20+\x20position3DLow;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20position\x20in\x20model\x20coordinates\x20MARS3D\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x20\x20\x20\x20\x20//\x20position\x20in\x20eye\x20coordinates\x0a\x20\x20v_st\x20=\x20st;\x0a\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a}\x0a',DynamicRiverMaterial=_0x54a7f1(0x6d5,-0x39d);const DEF_STYLE$k={'opacity':0.5,'width':0xa,'height':0x0,'speed':0xa,'axisY':![],'move':!![],'direction':!![],'moveVar':new Cesium__namespace['Cartesian3'](0x32,0x1,0x64)};class DynamicRiver extends BasePolyPrimitive{constructor(_0x6523f0={}){const _0x44a2f5={_0x24df87:0x9},_0x4c9a9e={_0x49a710:0x4a5};_0x6523f0[_0x4d4bc4(-_0x44a2f5._0x24df87,0x387)]={...DEF_STYLE$k,..._0x6523f0['style']};function _0x4d4bc4(_0x3517b8,_0x3f594d){return _0x54a7f1(_0x3517b8- -_0x4c9a9e._0x49a710,_0x3f594d);}super(_0x6523f0);}get['czmObject'](){const _0x3c10be={_0x5f2318:0xc0};function _0x2a9dd4(_0xb28b7c,_0x598990){return _0x54a7f1(_0x598990- -_0x3c10be._0x5f2318,_0xb28b7c);}return this[_0x2a9dd4(0x18ba,0x12ea)];}get['image'](){return this['style']['image'];}set['image'](_0x1ad561){const _0x2b54c8={_0x202aad:0x57};this[_0x5eae92(-0xee,-_0x2b54c8._0x202aad)]['image']=_0x1ad561;function _0x5eae92(_0x449b02,_0x300f88){return _0x7afdbe(_0x449b02,_0x300f88- -0x721);}function _0x3a5452(_0x12787a,_0x135b95){return _0x54a7f1(_0x135b95- -0x4ac,_0x12787a);}this['_material'][_0x3a5452(0x89f,0x1041)][_0x3a5452(0x1bc,-0x1c7)]=_0x1ad561;}get['width'](){function _0x4ed405(_0x6f81a,_0x4dd016){return _0x7afdbe(_0x6f81a,_0x4dd016- -0x28f);}return this[_0x4ed405(0x965,0x43b)]['width'];}set['width'](_0x1e1fe7){const _0x2fa98e={_0x2703a9:0x17dc},_0x249d04={_0x2d8a61:0x19},_0xa3f4b4={_0x31dad9:0x7a};_0x1e1fe7=Number(_0x1e1fe7)||0x1,this['style'][_0x2896a1(_0x2fa98e._0x2703a9,0x153e)]=_0x1e1fe7;function _0x2778e0(_0x5ef1df,_0x562e87){return _0x54a7f1(_0x5ef1df- -_0xa3f4b4._0x31dad9,_0x562e87);}function _0x2896a1(_0x1ca528,_0x2e1739){return _0x54a7f1(_0x2e1739- -_0x249d04._0x2d8a61,_0x1ca528);}this[_0x2896a1(0x14f,0xa69)](this['style']);}get['height'](){const _0x2e0a2c={_0x5badf9:0x6b5};function _0x3b7879(_0x4a5e7d,_0x49d336){return _0x7afdbe(_0x49d336,_0x4a5e7d-0x49);}return this[_0x3b7879(0x713,_0x2e0a2c._0x5badf9)]['height'];}set[_0x7afdbe(0x10aa,0x895)](_0x1b1481){const _0x1579c5={_0x47ab60:0x732,_0x1d269c:0x356},_0x2ae0ce={_0x45d609:0x311};function _0x5991c5(_0x2a6887,_0x522748){return _0x54a7f1(_0x522748- -_0x2ae0ce._0x45d609,_0x2a6887);}this[_0x5991c5(0x784,0x18b)][_0x5991c5(-_0x1579c5._0x47ab60,_0x1579c5._0x1d269c)]=_0x1b1481;function _0x181501(_0x50e4f7,_0x4f043f){return _0x54a7f1(_0x4f043f- -0xf1,_0x50e4f7);}this['redraw'](this[_0x181501(0x1c1,0x3ab)]);}get['opacity'](){const _0x50f359={_0xdc960d:0xe31,_0x3af672:0x37f},_0x427311={_0x4ebf7d:0x34b};function _0x2fefb6(_0x14fcf7,_0x168d8b){return _0x7afdbe(_0x14fcf7,_0x168d8b- -_0x427311._0x4ebf7d);}return this[_0x2fefb6(_0x50f359._0xdc960d,_0x50f359._0x3af672)]['opacity'];}set['opacity'](_0x1b3ea1){const _0x30ec06={_0x23e6ca:0x785,_0x4e7bbc:0x1a5,_0x437e97:0x3e3,_0x432fe5:0x847,_0x399e94:0x1135};function _0x1cab50(_0x3ea60e,_0x53a4dd){return _0x54a7f1(_0x3ea60e-0x89,_0x53a4dd);}function _0x4e4033(_0x52eea3,_0x491020){return _0x7afdbe(_0x52eea3,_0x491020- -0x525);}this[_0x4e4033(_0x30ec06._0x23e6ca,_0x30ec06._0x4e7bbc)][_0x1cab50(_0x30ec06._0x437e97,_0x30ec06._0x432fe5)]=Number(_0x1b3ea1),this[_0x1cab50(_0x30ec06._0x399e94,0x183b)]['uniforms'][_0x4e4033(0x40c,0x63)]=_0x1b3ea1;}get[_0x7afdbe(0xe50,0xe54)](){const _0x1a0a4d={_0x4aeaa5:0x5ef,_0x287b7a:0x14c3},_0x15fa62={_0x2a481c:0x1b6},_0x203597={_0x3f8159:0x1f};function _0x3f3010(_0x54e116,_0xf9976a){return _0x7afdbe(_0x54e116,_0xf9976a- -_0x203597._0x3f8159);}function _0x3c34bb(_0x4acc11,_0x135e20){return _0x54a7f1(_0x135e20- -_0x15fa62._0x2a481c,_0x4acc11);}return this[_0x3c34bb(_0x1a0a4d._0x4aeaa5,0x2e6)][_0x3c34bb(_0x1a0a4d._0x287b7a,0xa70)];}set[_0x54a7f1(0xc26,0x89e)](_0x20cb1b){const _0x3513cd={_0x4cf22d:0xc5d};function _0xc47876(_0x136b0a,_0x418215){return _0x7afdbe(_0x418215,_0x136b0a- -0x18b);}_0x20cb1b=Boolean(_0x20cb1b),this[_0xc47876(0x53f,0x7f)]['direction']=_0x20cb1b;function _0x1bbea4(_0x5d20f2,_0x5577c5){return _0x7afdbe(_0x5577c5,_0x5d20f2- -0x1f7);}this['_material']['uniforms'][_0x1bbea4(_0x3513cd._0x4cf22d,0x165b)]=_0x20cb1b?-0x1:0x1;}get[_0x7afdbe(0x12eb,0x12ce)](){const _0x3506a0={_0x3c60d1:0x228,_0x5e86ad:0xe2c},_0x2ebd4c={_0x52a53e:0x25e};function _0x198efa(_0x812462,_0x1d2b42){return _0x54a7f1(_0x1d2b42-_0x2ebd4c._0x52a53e,_0x812462);}function _0x3b6994(_0x7b904c,_0x236279){return _0x54a7f1(_0x7b904c- -0x274,_0x236279);}return this[_0x3b6994(_0x3506a0._0x3c60d1,0x806)][_0x3b6994(_0x3506a0._0x5e86ad,0x583)];}set['speed'](_0xc8682b){const _0x4d375e={_0x114748:0x980,_0x4f2a95:0xbf5,_0x1c95c7:0xdb7,_0x5232e8:0xc01};_0xc8682b=Number(_0xc8682b)||0x1,this[_0x43d5f5(_0x4d375e._0x114748,-0xf)][_0x43d5f5(0xc71,_0x4d375e._0x4f2a95)]=_0xc8682b;function _0x43d5f5(_0x136149,_0x129c3){return _0x7afdbe(_0x136149,_0x129c3- -0x6d9);}function _0x118806(_0x1be91f,_0x476460){return _0x54a7f1(_0x476460-0x157,_0x1be91f);}this[_0x43d5f5(_0x4d375e._0x1c95c7,_0x4d375e._0x5232e8)]['uniforms']['speed']=_0xc8682b;}get[_0x7afdbe(0xa57,0xbe7)](){function _0x37f88c(_0x4d698e,_0x36c220){return _0x54a7f1(_0x4d698e-0x299,_0x36c220);}return this['style'][_0x37f88c(0xc52,0xed8)];}set['move'](_0x260af9){const _0x216353={_0x478d75:0x13d9},_0x579990={_0x48bc43:0x5f3};_0x260af9=Boolean(_0x260af9),this['style']['move']=_0x260af9;function _0x461f7f(_0x3097b8,_0x5a51e8){return _0x7afdbe(_0x3097b8,_0x5a51e8- -_0x579990._0x48bc43);}this['_material'][_0x461f7f(_0x216353._0x478d75,0x1128)]['move']=_0x260af9;}get[_0x7afdbe(0x19ad,0x12ec)](){return this['style']['axisY'];}set['axisY'](_0x29ee5f){const _0x805fea={_0x14a3e4:0x705,_0xc2201d:0xa4e},_0x5b424f={_0x5606c2:0x5e6},_0x39133d={_0x4c2f02:0x3b};_0x29ee5f=Boolean(_0x29ee5f);function _0x34d605(_0x1cf859,_0x433dac){return _0x7afdbe(_0x433dac,_0x1cf859-_0x39133d._0x4c2f02);}function _0x578c46(_0x37aff6,_0x55937e){return _0x7afdbe(_0x55937e,_0x37aff6- -_0x5b424f._0x5606c2);}this[_0x34d605(_0x805fea._0x14a3e4,_0x805fea._0xc2201d)][_0x578c46(0xd06,0x13ac)]=_0x29ee5f,this[_0x578c46(0xcf4,0x14b0)][_0x34d605(0x1756,0x1b21)]['axisY']=_0x29ee5f;}get[_0x54a7f1(0x4c7,0x360)](){function _0x3b7e6b(_0x257a55,_0x57f969){return _0x7afdbe(_0x57f969,_0x257a55- -0x211);}return this[_0x3b7e6b(0x4b9,0x611)]['moveVar'];}set['moveVar'](_0x348805){const _0x213e96={_0x21aa36:0x3e3};function _0x5329d4(_0x4487fe,_0x4c67de){return _0x7afdbe(_0x4487fe,_0x4c67de- -0x340);}function _0x3b86b9(_0x2bb11b,_0x1755a4){return _0x7afdbe(_0x1755a4,_0x2bb11b- -0x312);}this[_0x5329d4(0x587,0x38a)]['moveVar']=_0x348805,this['_material']['uniforms'][_0x3b86b9(_0x213e96._0x21aa36,0x926)]=_0x348805;}[_0x7afdbe(0x10e1,0x134f)](_0x337461){const _0x25f609={_0x2ee801:0x1d74,_0x3568c6:0xded,_0x23881b:0x568,_0x837f11:0xc04,_0xa602c0:0x1012,_0x285d77:0x168,_0x2a551b:0x1212,_0x31403d:0xa4a,_0x58f861:0x1326,_0x24f1cc:0x1bf7,_0x292835:0xe82},_0x2b5fa6={_0x1401c8:0x3c6};if(!this[_0x281f11(_0x25f609._0x2ee801,0x141d)]||!this['positions']||this['positions'][_0x25903a(_0x25f609._0x3568c6,_0x25f609._0x23881b)]===0x0)return;function _0x281f11(_0x297a5f,_0x3296f5){return _0x7afdbe(_0x297a5f,_0x3296f5- -0x404);}this[_0x25903a(_0x25f609._0x837f11,0x13cc)]=Lines2Plane(this['positions'],this['width'],this['height']);function _0x25903a(_0x2a6429,_0x1bbcee){return _0x7afdbe(_0x1bbcee,_0x2a6429- -_0x2b5fa6._0x1401c8);}if(!this[_0x25903a(0xc04,0x20f)])return;this[_0x281f11(_0x25f609._0xa602c0,0x11d4)]=this[_0x25903a(_0x25f609._0x285d77,0xa72)](),this['primitiveCollection'][_0x25903a(0x4f8,0xe60)](this[_0x25903a(_0x25f609._0x2a551b,0xed1)]),_0x337461[_0x281f11(0xce2,0xee4)]&&this[_0x25903a(0xf8b,0xdd1)](_0x337461[_0x281f11(_0x25f609._0x31403d,0xee4)]),this[_0x25903a(_0x25f609._0x58f861,_0x25f609._0x24f1cc)]&&this[_0x281f11(_0x25f609._0x292835,0x972)](this['_availability']);}[_0x54a7f1(0xa4f,0x3ab)](){const _0xfd7c4e={_0x48262d:0x16c2,_0x36cfbc:0xf55,_0x54726c:0xa8e,_0x21fcdb:0xf7,_0xed19a3:0x9cf,_0x34a68b:0x1cfb,_0x374e05:0x15eb},_0x387243={_0x3f9edd:0x96};function _0x330e9b(_0x31aec5,_0x5c7dcb){return _0x7afdbe(_0x31aec5,_0x5c7dcb-0x13);}!this['_noDestroy']&&(this[_0x330e9b(0x1e59,0x138c)](),this['stopEditing']());this[_0x330e9b(0x1fb3,_0xfd7c4e._0x48262d)]&&(this[_0x330e9b(0x3bf,0xa14)][_0x330e9b(_0xfd7c4e._0x36cfbc,0x58e)](EventType['clockTick'],this['dhEvent'],this),delete this['dhEvent']);function _0x5c2c80(_0x13d7d4,_0x1be1b1){return _0x54a7f1(_0x13d7d4- -_0x387243._0x3f9edd,_0x1be1b1);}this['_primitive']&&(this[_0x5c2c80(0x3a9,_0xfd7c4e._0x54726c)][_0x330e9b(-_0xfd7c4e._0x21fcdb,_0xfd7c4e._0xed19a3)](this[_0x330e9b(_0xfd7c4e._0x34a68b,_0xfd7c4e._0x374e05)]),delete this['_primitive']),this[_0x5c2c80(0x1016,0x1434)]&&(this['_material']['destroy'](),delete this[_0x5c2c80(0x1016,0x7f8)]);}['_updateStyleHook'](_0x246567,_0x204fb1){const _0x282341={_0x42b31b:0x148b,_0x37398e:0x1388},_0x3996a3={_0x5d0dc4:0x3ff};let _0x40feb3=![];function _0x1f4dcd(_0x8350c1,_0xca040a){return _0x54a7f1(_0x8350c1- -0x62,_0xca040a);}function _0x553c29(_0x335424,_0x4bfc22){return _0x54a7f1(_0x335424- -_0x3996a3._0x5d0dc4,_0x4bfc22);}for(const _0x918fb2 in _0x204fb1){switch(_0x918fb2){case _0x1f4dcd(0x283,0xc1d):case'opacity':case'moveVar':case'direction':case'speed':case'axisY':case _0x553c29(0x466,0xb08):this['_material'][_0x1f4dcd(_0x282341._0x42b31b,_0x282341._0x37398e)][_0x918fb2]=_0x204fb1[_0x918fb2];break;default:_0x40feb3=!![];break;}}_0x40feb3&&this['redraw'](_0x246567);}[_0x54a7f1(0x300,-0x59c)](){const _0x50567b={_0x5a821e:0x1081,_0x1291d8:0x1265,_0x13b59a:0x1272,_0x14c2f0:0x7c9,_0xc13f34:0x73,_0x51894b:0x15dc,_0x4e9795:0xe9a,_0x2afd4c:0xb87,_0x125554:0xba,_0x15aee0:0x6d0,_0x473cd4:0xa69,_0x15eee9:0x1296,_0x29448f:0x1c41,_0x6200d5:0x12be,_0x209dcc:0x4f7,_0x2fb48c:0x54a,_0x53e11b:0x78d,_0x8648bb:0x1c,_0x10c8c7:0x19c8,_0x49ab99:0x64a,_0x2c9656:0x1aa6},_0x3fa715={_0x3ee00b:0x212},_0x37e64d=this['_sideRes'],_0x56d28e=new Float64Array(_0x37e64d[_0x49aedf(_0x50567b._0x5a821e,_0x50567b._0x1291d8)]),_0x3a4067=new Cesium__namespace[(_0x49aedf(0x2146,0x184e))]();_0x3a4067[_0x3e74b7(0x1cff,_0x50567b._0x13b59a)]=new Cesium__namespace[(_0x49aedf(0x144,_0x50567b._0x14c2f0))]({'componentDatatype':Cesium__namespace['ComponentDatatype'][_0x3e74b7(0xc47,0x6fe)],'componentsPerAttribute':0x3,'values':_0x56d28e}),_0x3a4067['st']=new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x49aedf(0x128e,0x14a4)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x37e64d[_0x3e74b7(-_0x50567b._0xc13f34,-0x1cc)]});const _0x17c704=new Cesium__namespace[(_0x3e74b7(_0x50567b._0x51894b,_0x50567b._0x4e9795))]({'attributes':_0x3a4067,'indices':_0x37e64d['indexs'],'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace[_0x49aedf(0x6ae,_0x50567b._0x2afd4c)][_0x49aedf(-_0x50567b._0x125554,_0x50567b._0x15aee0)](_0x56d28e)}),_0x321b20={};_0x321b20['id']=this['id'],_0x321b20['geometry']=_0x17c704;const _0x16fad9=new Cesium__namespace[(_0x3e74b7(0x789,_0x50567b._0x473cd4))](_0x321b20),_0x491ba7=new Cesium__namespace['RenderState']();_0x491ba7[_0x49aedf(0x1d3c,_0x50567b._0x15eee9)][_0x3e74b7(0xf71,0x734)]=!![],this[_0x49aedf(_0x50567b._0x29448f,_0x50567b._0x6200d5)]=createMaterial(MaterialType,{'image':this[_0x49aedf(-0x45e,_0x50567b._0x209dcc)],'opacity':this['opacity'],'moveVar':this['moveVar'],'direction':this['direction']?-0x1:0x1,'speed':this['speed'],'move':this[_0x3e74b7(0x875,_0x50567b._0x2fb48c)],'axisY':this['axisY'],'globalAlpha':0x1});const _0x3320b5={};_0x3320b5[_0x3e74b7(-_0x50567b._0x53e11b,-_0x50567b._0x8648bb)]=this[_0x49aedf(0xcda,0x12be)],_0x3320b5[_0x49aedf(_0x50567b._0x10c8c7,0x12a4)]=_0x491ba7;function _0x3e74b7(_0x14c584,_0x14bd75){return _0x7afdbe(_0x14c584,_0x14bd75- -0x69d);}function _0x49aedf(_0x3622d9,_0x23a162){return _0x54a7f1(_0x23a162-_0x3fa715._0x3ee00b,_0x3622d9);}_0x3320b5[_0x49aedf(0x903,_0x50567b._0x49ab99)]=DynamicRiverVS,_0x3320b5[_0x3e74b7(_0x50567b._0x2c9656,0x1246)]=DynamicRiverFS;const _0x2c1986=new Cesium__namespace['Primitive']({'geometryInstances':_0x16fad9,'appearance':new Cesium__namespace['Appearance'](_0x3320b5)});return _0x2c1986;}['setOffsetHeight'](_0x13ea58,_0x2d533b){const _0x5610c4={_0x279735:0x1990},_0xd537b0={_0xe5d54a:0x110f,_0x464708:0x883,_0x5d13bf:0x41c,_0x10c419:0x11e6,_0x4c34b1:0xc4f,_0x15353f:0xe19,_0xbb35e2:0x1102};function _0x16491b(_0x5ac627,_0x1437c9){return _0x7afdbe(_0x1437c9,_0x5ac627- -0x61c);}if(!_0x13ea58||!_0x2d533b||!this[_0x1d3456(0x12f7,_0x5610c4._0x279735)])return;let _0xfa72ee=0x0;function _0x1d3456(_0x40e974,_0x360b0f){return _0x7afdbe(_0x360b0f,_0x40e974- -0x2e1);}const _0x5ad125=0x14,_0x20f4ba=_0x13ea58/(_0x2d533b*_0x5ad125),_0x1762fc=this['_sideRes']['self'],_0x355e08=new Cesium__namespace['Cartesian3']();for(let _0x3b9d7e=0x0,_0x3b05ab=_0x1762fc['length'];_0x3b9d7e<_0x3b05ab;_0x3b9d7e++){const _0xf88bb9=Cesium__namespace[_0x16491b(0xef9,0xee1)]['normalize'](_0x1762fc[_0x3b9d7e],new Cesium__namespace['Cartesian3']());Cesium__namespace['Cartesian3']['add'](_0x355e08,_0xf88bb9,_0x355e08);}Cesium__namespace['Cartesian3']['normalize'](_0x355e08,_0x355e08);const _0x23edca=Cesium__namespace['clone'](this['_primitive']['modelMatrix']);this[_0x16491b(0x1093,0x7c9)]=function(){const _0x1b96e4={_0x306eeb:0x1e8};if(!this['_primitive']||!this['_map'])return;function _0x472050(_0x51aef1,_0x159616){return _0x1d3456(_0x159616- -_0x1b96e4._0x306eeb,_0x51aef1);}if(Math['abs'](_0xfa72ee)<=Math['abs'](_0x13ea58)){const _0x3b7ab3=Cesium__namespace[_0x34888d(0xdf1,0x13a0)]['multiplyByScalar'](_0x355e08,_0xfa72ee,new Cesium__namespace['Cartesian3']());this[_0x472050(0x8ce,_0xd537b0._0xe5d54a)]['modelMatrix']=Cesium__namespace['Matrix4'][_0x472050(0xa92,_0xd537b0._0x464708)](_0x23edca,_0x3b7ab3,new Cesium__namespace[(_0x34888d(-_0xd537b0._0x5d13bf,0x491))]());}else this[_0x472050(0x1b78,_0xd537b0._0x10c419)]&&(this[_0x34888d(_0xd537b0._0x4c34b1,0x88c)]['off'](EventType[_0x34888d(_0xd537b0._0x15353f,_0xd537b0._0xbb35e2)],this['dhEvent'],this),delete this['dhEvent']);function _0x34888d(_0x25f70e,_0x3fc18a){return _0x16491b(_0x3fc18a-0x4a7,_0x25f70e);}_0xfa72ee+=_0x20f4ba;},this['_map']['on'](EventType['clockTick'],this[_0x16491b(0x1093,0x1313)],this);}[_0x54a7f1(0x508,0xa27)](_0x51d554){const _0x5cae46={_0x104463:0xe23,_0x235548:0x15a5,_0xc6d1ed:0x4f7},_0x52fcdf={_0x376a2d:0x23a};function _0x1a7717(_0x1ad6c0,_0x5ef657){return _0x54a7f1(_0x1ad6c0-_0x52fcdf._0x376a2d,_0x5ef657);}function _0x4477db(_0x26d9b4,_0x25dead){return _0x54a7f1(_0x26d9b4-0xb4,_0x25dead);}this[_0x4477db(0x550,0xf8a)][_0x4477db(0x919,_0x5cae46._0x104463)]=_0x51d554,this[_0x4477db(0x1160,_0x5cae46._0x235548)]&&(this['_material']['uniforms'][_0x1a7717(0xa9f,_0x5cae46._0xc6d1ed)]=_0x51d554);}['_getDrawEntityClass'](_0x450ba9,_0x589d39){const _0xeee95e={_0xe98002:0xa84},_0x223966={_0x30e7d2:0x104};_0x450ba9['style']['width']=0x5;function _0x27a1df(_0x2eee97,_0x5269e1){return _0x54a7f1(_0x2eee97- -_0x223966._0x30e7d2,_0x5269e1);}return create$5(_0x27a1df(0xd2a,_0xeee95e._0xe98002),_0x450ba9);}}register$5('dynamicRiver',DynamicRiver);const MaterialType='DynamicRiver';register$4(MaterialType,{'fabric':{'uniforms':{'image':Cesium__namespace[_0x7afdbe(0x732,0x837)]['DefaultImageId'],'opacity':0x1,'moveVar':new Cesium__namespace[(_0x54a7f1(0x12e7,0x125b))](0x32,0x1,0x64),'direction':0x1,'speed':0x1,'move':!![],'axisY':![],'globalAlpha':0x1},'source':DynamicRiverMaterial},'translucent':!![]});function Lines2Plane(_0x4f9284,_0xfb9896,_0x140311){const _0x184f7a={_0x1b25fb:0x783,_0x53fece:0x3df,_0x3fe838:0x406,_0xece44d:0xd3,_0x58194c:0x1e9,_0x1069a1:0xbff,_0x525852:0xe10,_0x17bac1:0x8bb,_0x52ffb7:0xc9e,_0x4b10e4:0xbc0,_0x316804:0xcdd,_0x5725a3:0x59b,_0x2766be:0x3fe,_0x54b5de:0xc3d,_0x502e4e:0x3a5,_0x41515d:0x70b,_0x10d1a0:0x932,_0x3165b8:0xbc0,_0x2810e3:0x102c,_0x5b93bf:0x39f,_0x3801ed:0x110f,_0x1e3741:0xaff,_0x2eb4b6:0xcdd,_0x388474:0x1076};if(!_0x4f9284||_0x4f9284[_0x23a37c(0xc3d,0x1431)]<=0x1||!_0xfb9896||_0xfb9896===0x0){logError('请确认参数符合规则:数组长度大于1,宽高不能为0!',_0x4f9284);return;}const _0x175d41=_0x4f9284['length'],_0x2e9d69=[],_0x32f4ce=[],_0x4300c8=_0xfb9896/0x2;for(let _0x25d4fb=0x0;_0x25d4fb<_0x175d41;_0x25d4fb++){let _0x1f7988,_0xc2944a,_0x513525,_0x474a8e,_0x56e583;if(_0x25d4fb===0x0)_0x1f7988=_0x4f9284[_0x25d4fb],_0xc2944a=_0x4f9284[_0x25d4fb],_0x513525=_0x4f9284[_0x25d4fb+0x1];else _0x25d4fb===_0x175d41-0x1?(_0x1f7988=_0x4f9284[_0x25d4fb-0x1],_0xc2944a=_0x4f9284[_0x25d4fb],_0x513525=_0x4f9284[_0x25d4fb-0x1]):(_0x1f7988=_0x4f9284[_0x25d4fb-0x1],_0xc2944a=_0x4f9284[_0x25d4fb],_0x513525=_0x4f9284[_0x25d4fb+0x1]);_0x140311!==0x0&&(_0x1f7988=RaisePoint(_0x1f7988,_0x140311),_0xc2944a=RaisePoint(_0xc2944a,_0x140311),_0x513525=RaisePoint(_0x513525,_0x140311));if(_0x1f7988&&_0xc2944a&&_0x513525){const _0x1e16ff=GetSide2(_0x1f7988,_0xc2944a,_0x513525,_0x4300c8);_0x474a8e=_0x1e16ff[_0x23a37c(_0x184f7a._0x1b25fb,-0xe7)],_0x56e583=_0x1e16ff[_0x5bb97e(_0x184f7a._0x53fece,-0x4b9)],_0x2e9d69['push'](_0x56e583),_0x32f4ce['push'](_0x474a8e);}}const _0x1cca70=_0x2e9d69,_0x20b5e7=_0x32f4ce,_0xabb979=[];function _0x23a37c(_0x48de37,_0x29a55f){return _0x54a7f1(_0x48de37- -0x348,_0x29a55f);}const _0x30e2ce=[],_0x5c1c5b=[],_0xa2cec4=[],_0x4d212a=[];function _0x5bb97e(_0x11e60f,_0x301473){return _0x7afdbe(_0x301473,_0x11e60f- -0x498);}for(let _0x4e9dbb=0x0;_0x4e9dbb<_0x175d41;_0x4e9dbb++){const _0x328b7b=Cesium__namespace[_0x23a37c(0x1c5,_0x184f7a._0x3fe838)][_0x5bb97e(_0x184f7a._0xece44d,-0x3e4)](_0x20b5e7[_0x4e9dbb]);_0x30e2ce['push'](_0x20b5e7[_0x4e9dbb]['x']),_0x30e2ce['push'](_0x20b5e7[_0x4e9dbb]['y']),_0x30e2ce['push'](_0x20b5e7[_0x4e9dbb]['z']),_0x5c1c5b['push'](_0x328b7b['high']['x']),_0x5c1c5b[_0x23a37c(0xbc0,_0x184f7a._0x58194c)](_0x328b7b[_0x23a37c(_0x184f7a._0x1069a1,_0x184f7a._0x525852)]['y']),_0x5c1c5b['push'](_0x328b7b['high']['z']),_0xa2cec4['push'](_0x328b7b['low']['x']),_0xa2cec4['push'](_0x328b7b['low']['y']),_0xa2cec4[_0x5bb97e(0xc9e,_0x184f7a._0x17bac1)](_0x328b7b['low']['z']),_0xabb979[_0x5bb97e(_0x184f7a._0x52ffb7,0x2bf)](0x1,0x1),_0x4e9dbb<_0x175d41-0x1&&(_0x4d212a['push'](_0x4e9dbb+_0x175d41*0x2),_0x4d212a['push'](_0x4e9dbb+0x1),_0x4d212a[_0x23a37c(0xbc0,0x228)](_0x4e9dbb+0x1+_0x175d41),_0x4d212a['push'](_0x4e9dbb+_0x175d41*0x2),_0x4d212a['push'](_0x4e9dbb+0x1+_0x175d41),_0x4d212a['push'](_0x175d41+_0x4e9dbb+_0x175d41*0x2));}for(let _0x5d7d6d=0x0;_0x5d7d6d<_0x175d41;_0x5d7d6d++){const _0x4adada=Cesium__namespace['EncodedCartesian3']['fromCartesian'](_0x1cca70[_0x5d7d6d]);_0x30e2ce[_0x23a37c(_0x184f7a._0x4b10e4,0x841)](_0x1cca70[_0x5d7d6d]['x']),_0x30e2ce[_0x5bb97e(0xc9e,0x346)](_0x1cca70[_0x5d7d6d]['y']),_0x30e2ce[_0x23a37c(0xbc0,0x230)](_0x1cca70[_0x5d7d6d]['z']),_0x5c1c5b['push'](_0x4adada[_0x5bb97e(_0x184f7a._0x316804,_0x184f7a._0x5725a3)]['x']),_0x5c1c5b['push'](_0x4adada[_0x5bb97e(0xcdd,0x1072)]['y']),_0x5c1c5b[_0x23a37c(_0x184f7a._0x4b10e4,0xbef)](_0x4adada[_0x23a37c(0xbff,_0x184f7a._0x2766be)]['z']),_0xa2cec4['push'](_0x4adada[_0x5bb97e(0x110f,0xa46)]['x']),_0xa2cec4['push'](_0x4adada[_0x23a37c(0x1031,0x185c)]['y']),_0xa2cec4['push'](_0x4adada['low']['z']),_0xabb979[_0x5bb97e(0xc9e,_0x184f7a._0x54b5de)](0x1,0x0);}for(let _0x413ac3=0x0;_0x413ac3<_0x175d41;_0x413ac3++){const _0x4a2759=Cesium__namespace['EncodedCartesian3'][_0x23a37c(-0xb,0x77d)](_0x20b5e7[_0x413ac3]);_0x30e2ce[_0x5bb97e(0xc9e,_0x184f7a._0x502e4e)](_0x20b5e7[_0x413ac3]['x']),_0x30e2ce['push'](_0x20b5e7[_0x413ac3]['y']),_0x30e2ce['push'](_0x20b5e7[_0x413ac3]['z']),_0x5c1c5b['push'](_0x4a2759[_0x23a37c(0xbff,0x393)]['x']),_0x5c1c5b[_0x23a37c(_0x184f7a._0x4b10e4,_0x184f7a._0x41515d)](_0x4a2759[_0x23a37c(0xbff,_0x184f7a._0x10d1a0)]['y']),_0x5c1c5b[_0x23a37c(_0x184f7a._0x3165b8,_0x184f7a._0x2810e3)](_0x4a2759[_0x5bb97e(0xcdd,_0x184f7a._0x5b93bf)]['z']),_0xa2cec4['push'](_0x4a2759[_0x23a37c(0x1031,0xe06)]['x']),_0xa2cec4['push'](_0x4a2759[_0x5bb97e(_0x184f7a._0x3801ed,0x1518)]['y']),_0xa2cec4['push'](_0x4a2759['low']['z']),_0xabb979['push'](0x0,0x1);}for(let _0x3e9510=0x0;_0x3e9510<_0x175d41;_0x3e9510++){const _0x2db41b=Cesium__namespace['EncodedCartesian3']['fromCartesian'](_0x1cca70[_0x3e9510]);_0x30e2ce['push'](_0x1cca70[_0x3e9510]['x']),_0x30e2ce[_0x5bb97e(0xc9e,0xe7a)](_0x1cca70[_0x3e9510]['y']),_0x30e2ce['push'](_0x1cca70[_0x3e9510]['z']),_0x5c1c5b['push'](_0x2db41b[_0x23a37c(_0x184f7a._0x1069a1,_0x184f7a._0x1e3741)]['x']),_0x5c1c5b['push'](_0x2db41b['high']['y']),_0x5c1c5b[_0x5bb97e(0xc9e,0xc35)](_0x2db41b[_0x5bb97e(_0x184f7a._0x2eb4b6,0x264)]['z']),_0xa2cec4['push'](_0x2db41b[_0x5bb97e(0x110f,0xbeb)]['x']),_0xa2cec4['push'](_0x2db41b[_0x23a37c(0x1031,_0x184f7a._0x388474)]['y']),_0xa2cec4['push'](_0x2db41b['low']['z']),_0xabb979['push'](0x0,0x0);}return{'left':_0x1cca70,'right':_0x20b5e7,'self':_0x4f9284,'vertexs':new Float32Array(_0x30e2ce),'vertexsH':new Float32Array(_0x5c1c5b),'vertexsL':new Float32Array(_0xa2cec4),'indexs':new Uint16Array(_0x4d212a),'uvs':new Float32Array(_0xabb979)};}function RaisePoint(_0x55dbf5,_0x17640a){const _0x4efbc2={_0x526a9d:0x4ed};if(!(_0x55dbf5 instanceof Cesium__namespace['Cartesian3'])){logError(_0x372faa(0x10e0,0x665));return;}function _0x1087c6(_0x51ddfe,_0x3ed8bf){return _0x54a7f1(_0x3ed8bf- -0x227,_0x51ddfe);}if(!_0x17640a||_0x17640a===0x0){logError('请确认高度是非零数值!');return;}function _0x372faa(_0x2d4138,_0x11c1f7){return _0x7afdbe(_0x2d4138,_0x11c1f7- -_0x4efbc2._0x526a9d);}const _0x210b7c=Cesium__namespace['Cartesian3']['normalize'](_0x55dbf5,new Cesium__namespace[(_0x1087c6(0x15f5,0x10c0))]()),_0x5939a9=new Cesium__namespace['Ray'](_0x55dbf5,_0x210b7c);return Cesium__namespace['Ray']['getPoint'](_0x5939a9,_0x17640a);}function GetSide2(_0x11fd23,_0x2130da,_0xc80ad,_0x414b77){const _0x5701cd={_0x402a41:0x3f3,_0x1f9ab4:0xe97,_0x2939f8:0x135a,_0x4db0c8:0xb98,_0x152ff4:0x1206,_0x4d01cb:0x185a,_0x43f678:0x7a0,_0x32b61c:0x1370,_0x1bb51e:0xf0d,_0x215302:0xb1d,_0x44581c:0x13d0,_0x2ce5b9:0xa44,_0x36f94a:0x13e6,_0xa06c4b:0xf0d,_0xf363a2:0xad2,_0x1c649d:0x1d82,_0x2f1895:0x766,_0x4b8249:0xb0b,_0x2ad213:0x1dbf,_0x59d11a:0x13e6,_0xc9d528:0x13e6,_0x9929cd:0xe97,_0xb52d99:0x138c,_0x21456e:0x1cc6,_0x1f578b:0x1d6d,_0x2a7816:0x1e44,_0x3a984d:0xf0d,_0x936940:0x15b2,_0x5db913:0xed2,_0xc96f9:0xa80},_0x543e20={_0x1543d3:0x3da};let _0x437db1,_0x146f32;if(Cesium__namespace['Cartesian3']['equals'](_0x11fd23,_0x2130da)){const _0x2cb11c=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace[_0x327963(0xa52,0x13e6)][_0x327963(_0x5701cd._0x402a41,0x7a4)](_0xc80ad,_0x2130da,new Cesium__namespace[(_0xa3eeb3(0xf0d,0xcf0))]()),new Cesium__namespace[(_0xa3eeb3(0xf0d,0xdbe))]()),_0x3521e9=Cesium__namespace['Cartesian3'][_0xa3eeb3(_0x5701cd._0x1f9ab4,_0x5701cd._0x2939f8)](_0x2130da,new Cesium__namespace[(_0x327963(_0x5701cd._0x4db0c8,0x13e6))]()),_0x4039a5=Cesium__namespace['Cartesian3']['cross'](_0x3521e9,_0x2cb11c,new Cesium__namespace['Cartesian3']()),_0x126300=Cesium__namespace['Cartesian3'][_0x327963(_0x5701cd._0x152ff4,0x1865)](_0x2cb11c,_0x3521e9,new Cesium__namespace['Cartesian3']()),_0x5e515d=new Cesium__namespace['Ray'](_0x2130da,_0x4039a5),_0x4c4e28=new Cesium__namespace['Ray'](_0x2130da,_0x126300);_0x437db1=Cesium__namespace[_0x327963(0x1115,0xb1d)]['getPoint'](_0x5e515d,_0x414b77),_0x146f32=Cesium__namespace['Ray'][_0x327963(0x1e7a,_0x5701cd._0x4d01cb)](_0x4c4e28,_0x414b77);}else{if(Cesium__namespace['Cartesian3'][_0xa3eeb3(0xb0b,0x4bc)](_0xc80ad,_0x2130da)){const _0x62de5d=Cesium__namespace['Cartesian3'][_0xa3eeb3(0xe97,0xf4c)](Cesium__namespace['Cartesian3']['subtract'](_0x2130da,_0x11fd23,new Cesium__namespace['Cartesian3']()),new Cesium__namespace[(_0xa3eeb3(0xf0d,_0x5701cd._0x43f678))]()),_0x4bcbe8=Cesium__namespace['Cartesian3'][_0x327963(0x1e26,_0x5701cd._0x32b61c)](_0x2130da,new Cesium__namespace[(_0x327963(0x1df6,0x13e6))]()),_0x26fbf1=Cesium__namespace['Cartesian3']['cross'](_0x4bcbe8,_0x62de5d,new Cesium__namespace[(_0xa3eeb3(_0x5701cd._0x1bb51e,0x121d))]()),_0x5f1878=Cesium__namespace['Cartesian3']['cross'](_0x62de5d,_0x4bcbe8,new Cesium__namespace['Cartesian3']()),_0x44365c=new Cesium__namespace[(_0x327963(0x800,_0x5701cd._0x215302))](_0x2130da,_0x26fbf1),_0x37dcb=new Cesium__namespace[(_0x327963(_0x5701cd._0x44581c,0xb1d))](_0x2130da,_0x5f1878);_0x437db1=Cesium__namespace['Ray']['getPoint'](_0x44365c,_0x414b77),_0x146f32=Cesium__namespace[_0x327963(0x9cd,0xb1d)]['getPoint'](_0x37dcb,_0x414b77);}else{const _0xb35ca1=Cesium__namespace[_0xa3eeb3(0xf0d,0x10d1)]['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0x2130da,_0x11fd23,new Cesium__namespace[(_0x327963(_0x5701cd._0x2ce5b9,_0x5701cd._0x36f94a))]()),new Cesium__namespace[(_0xa3eeb3(_0x5701cd._0xa06c4b,_0x5701cd._0xf363a2))]()),_0x4b453b=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0xc80ad,_0x2130da,new Cesium__namespace['Cartesian3']()),new Cesium__namespace[(_0xa3eeb3(0xf0d,0xc20))]()),_0x550f85=Cesium__namespace[_0x327963(_0x5701cd._0x1c649d,0x13e6)][_0xa3eeb3(0x2b6,_0x5701cd._0x2f1895)](_0xb35ca1,_0x4b453b,new Cesium__namespace['Cartesian3']());if(Cesium__namespace['Cartesian3'][_0xa3eeb3(_0x5701cd._0x4b8249,0xe8c)](_0x550f85,new Cesium__namespace['Cartesian3']())){const _0x254105=Cesium__namespace[_0x327963(0x104e,0x13e6)]['normalize'](Cesium__namespace[_0x327963(_0x5701cd._0x2ad213,_0x5701cd._0x59d11a)]['subtract'](_0x2130da,_0x11fd23,new Cesium__namespace[(_0x327963(0x10c2,_0x5701cd._0xc9d528))]()),new Cesium__namespace['Cartesian3']()),_0x855ccf=Cesium__namespace['Cartesian3'][_0xa3eeb3(_0x5701cd._0x9929cd,0x69e)](_0x2130da,new Cesium__namespace['Cartesian3']()),_0x22c12=Cesium__namespace['Cartesian3'][_0xa3eeb3(_0x5701cd._0xb52d99,_0x5701cd._0x21456e)](_0x855ccf,_0x254105,new Cesium__namespace['Cartesian3']()),_0x3f9119=Cesium__namespace['Cartesian3']['cross'](_0x254105,_0x855ccf,new Cesium__namespace[(_0x327963(_0x5701cd._0x1f578b,0x13e6))]()),_0x14c8e4=new Cesium__namespace['Ray'](_0x2130da,_0x22c12),_0x219f95=new Cesium__namespace['Ray'](_0x2130da,_0x3f9119);_0x437db1=Cesium__namespace[_0xa3eeb3(0x644,0xd36)]['getPoint'](_0x14c8e4,_0x414b77),_0x146f32=Cesium__namespace['Ray']['getPoint'](_0x219f95,_0x414b77);}else{const _0x23ce4e=Cesium__namespace['Cartesian3']['normalize'](_0x550f85,new Cesium__namespace[(_0x327963(_0x5701cd._0x2a7816,0x13e6))]()),_0x4911b7=Cesium__namespace[_0xa3eeb3(0xf0d,0x19ab)][_0xa3eeb3(0xe97,0xe3b)](_0x2130da,new Cesium__namespace['Cartesian3']()),_0xa79791=Cesium__namespace[_0xa3eeb3(_0x5701cd._0x3a984d,0xdcd)]['cross'](_0x4911b7,_0x23ce4e,new Cesium__namespace['Cartesian3']()),_0x101f14=Cesium__namespace['Cartesian3']['cross'](_0x23ce4e,_0x4911b7,new Cesium__namespace['Cartesian3']()),_0x4a73fd=new Cesium__namespace[(_0x327963(0x20d,0xb1d))](_0x2130da,_0xa79791),_0x30aeed=new Cesium__namespace[(_0x327963(_0x5701cd._0x936940,0xb1d))](_0x2130da,_0x101f14),_0x780911=Cesium__namespace['Cartesian3']['dot'](_0xb35ca1,_0x4b453b),_0x27a053=Cesium__namespace['Cartesian3']['magnitude'](_0xb35ca1),_0x5c417d=Cesium__namespace['Cartesian3']['magnitude'](_0x4b453b),_0x2d3ee7=_0x780911/_0x27a053/_0x5c417d,_0x37c539=Cesium__namespace[_0xa3eeb3(_0x5701cd._0x5db913,0x199f)][_0x327963(_0x5701cd._0xc96f9,0x1040)](Math['acos'](_0x2d3ee7)),_0x4284c7=_0x37c539/0x2,_0x2932d8=Math['cos'](Cesium__namespace['Math']['toRadians'](_0x4284c7)),_0x3d4884=_0x414b77*0x2/_0x2932d8;_0x437db1=Cesium__namespace['Ray']['getPoint'](_0x4a73fd,_0x3d4884/0x2),_0x146f32=Cesium__namespace['Ray']['getPoint'](_0x30aeed,_0x3d4884/0x2);}}}const _0x14244f={};function _0xa3eeb3(_0x34c9b1,_0x288a6c){return _0x54a7f1(_0x34c9b1- -_0x543e20._0x1543d3,_0x288a6c);}_0x14244f['left']=_0x437db1,_0x14244f['right']=_0x146f32;function _0x327963(_0x21710a,_0x5c545c){return _0x7afdbe(_0x21710a,_0x5c545c- -0x12f);}return _0x14244f;}const _0x5d7f17={};_0x5d7f17[_0x54a7f1(0x35a,-0x6ea)]=0x1,_0x5d7f17[_0x54a7f1(0x9b9,0x114a)]=![],_0x5d7f17[_0x54a7f1(0x10be,0x152e)]=!![];const DEF_STYLE$j=_0x5d7f17;class Road extends DynamicRiver{constructor(_0x5e146b={}){_0x5e146b['style']={...DEF_STYLE$j,..._0x5e146b['style']},super(_0x5e146b);}}register$5(_0x54a7f1(0xd83,0x5b3),Road);class Pit extends BasePolyPrimitive{constructor(_0x393a59={}){const _0xf5649={_0x34e583:0xd95,_0x1e4701:0x81c},_0x531316={_0x230ee4:0x1e3};function _0x443fbd(_0x5e8afa,_0x2a081e){return _0x54a7f1(_0x2a081e-_0x531316._0x230ee4,_0x5e8afa);}function _0x45c599(_0x2c0b75,_0x45daaf){return _0x54a7f1(_0x45daaf- -0x2b7,_0x2c0b75);}super(_0x393a59),this['style'][_0x45c599(0x1298,_0xf5649._0x34e583)]=this['style']['diffHeight']??0xa,this['style']['splitNum']=this[_0x45c599(-_0xf5649._0x1e4701,0x1e5)][_0x45c599(0x785,0x885)]??0x32;}get[_0x54a7f1(0x50e,0x433)](){const _0xe5a0bb={_0x53ba2f:0xa41},_0x4d8cc4={_0xbdc782:0x5d2},_0x3d1fce=[];function _0x4ee4f9(_0x4446a3,_0x58642a){return _0x7afdbe(_0x58642a,_0x4446a3- -0x2a3);}this[_0x4ee4f9(_0xe5a0bb._0x53ba2f,0x127)]&&_0x3d1fce['push'](this['_bottomPrimitive']);function _0x567834(_0x2df6ab,_0x140925){return _0x7afdbe(_0x2df6ab,_0x140925- -_0x4d8cc4._0xbdc782);}return this['_primitive_label']&&_0x3d1fce[_0x567834(0x1567,0xb64)](this['_primitive_label']),_0x3d1fce;}get[_0x7afdbe(0x862,0x7ab)](){return this['centerOfMass'];}get[_0x7afdbe(0x1014,0x127a)](){const _0x8b83a9={_0x754e9e:0x39e};function _0x3f6258(_0x29ba70,_0x1ea2b0){return _0x54a7f1(_0x29ba70- -0xfe,_0x1ea2b0);}return this[_0x3f6258(_0x8b83a9._0x754e9e,0xacf)]['diffHeight'];}set['diffHeight'](_0x98f14){const _0x31563c={_0x31c89c:0x1806,_0x395881:0x1a2e,_0x75890a:0x10a9};this['style']['diffHeight']=_0x98f14;const _0x2e7d40=[],_0x1ee9d3=this['_minHeight']-_0x98f14,_0x45c985=this['wellData']['cartoList'];function _0x5f0eaf(_0x2d74ea,_0x41e11c){return _0x7afdbe(_0x2d74ea,_0x41e11c- -0x458);}const _0x31624a=new Array(_0x45c985[_0x5f0eaf(0x2af,0xd5b)]);function _0x17b424(_0x27a335,_0x70c138){return _0x54a7f1(_0x27a335-0x15a,_0x70c138);}for(let _0x24aa46=0x0,_0x379220=_0x45c985['length'];_0x24aa46<_0x379220;_0x24aa46++){const _0x222417=_0x45c985[_0x24aa46];_0x2e7d40['push'](Cesium__namespace['Cartesian3'][_0x5f0eaf(0xbd1,0x113e)](_0x222417['longitude'],_0x222417['latitude'],_0x1ee9d3)),_0x31624a[_0x24aa46]=_0x1ee9d3;}this[_0x17b424(_0x31563c._0x31c89c,_0x31563c._0x395881)]['bottomPositions']=_0x2e7d40,this['wellData'][_0x17b424(0xfdd,0xa59)]=_0x31624a,this['_removePit'](),this['_createPit'](this[_0x17b424(_0x31563c._0x31c89c,_0x31563c._0x75890a)]);}['_getWellData'](){const _0x7f7164={_0x4cc338:0x6bf,_0x5156f8:0xb8b,_0x295740:0x5fe,_0x4daef2:0x3c2,_0x359797:0x82,_0x283c0b:0x10d2,_0xc1f12d:0xb7d};if(this['positions']['length']===0x0)return;this['_minHeight']=getMinHeight(this['positions']);const _0x38050c=this['_minHeight']-this['diffHeight'],_0x3b5208=[];function _0x4ace62(_0x53202b,_0x11842c){return _0x54a7f1(_0x53202b- -0x3a2,_0x11842c);}const _0x5e13a1=[];function _0x234ef9(_0x30dcf7,_0x22df31){return _0x54a7f1(_0x22df31- -0x306,_0x30dcf7);}const _0x19551a=interPolyline({'scene':this['_map']['scene'],'positions':this['positions'][_0x234ef9(0x104e,_0x7f7164._0x4cc338)](this['positions'][0x0]),'splitNum':this['style'][_0x234ef9(_0x7f7164._0x5156f8,0x836)]}),_0x56465f=_0x19551a['length'],_0x1fc11a=new Array(_0x56465f),_0x57c7b2=new Array(_0x56465f);for(let _0x5aee7f=0x0;_0x5aee7f<_0x56465f;_0x5aee7f++){const _0xc7c09b=Cesium__namespace[_0x4ace62(0x52e,0xa8)][_0x234ef9(0x577,0x37)](_0x19551a[_0x5aee7f]);_0x5e13a1['push'](new Cesium__namespace[(_0x4ace62(0x52e,_0x7f7164._0x295740))](_0xc7c09b[_0x234ef9(-0xae,0x3a2)],_0xc7c09b['latitude'])),_0x1fc11a[_0x5aee7f]=_0x38050c,_0x57c7b2[_0x5aee7f]=0x0,_0x3b5208['push'](Cesium__namespace[_0x234ef9(0x9ba,0xfe1)]['fromRadians'](_0xc7c09b[_0x234ef9(-_0x7f7164._0x4daef2,0x3a2)],_0xc7c09b['latitude'],_0x38050c));}const _0x340632={};return _0x340632[_0x4ace62(0x8b2,-_0x7f7164._0x359797)]=_0x5e13a1,_0x340632[_0x4ace62(_0x7f7164._0x283c0b,0x13be)]=_0x3b5208,_0x340632[_0x234ef9(0x14a3,_0x7f7164._0xc1f12d)]=_0x1fc11a,_0x340632['maximumHeights']=_0x57c7b2,_0x340632;}[_0x7afdbe(0x91f,0x134f)](_0x31f59a){const _0x2637d1={_0x5af546:0x1696,_0x28e3d6:0xeb6,_0x249f8c:0xa80},_0x2ea0a3={_0x4e664d:0x49b};if(!this[_0x55a3b4(0x156a,0x139f)]||!this['positions']||this[_0x55a3b4(0x1066,_0x2637d1._0x5af546)]['length']===0x0)return;function _0x5ae95f(_0x495328,_0x3db41b){return _0x7afdbe(_0x3db41b,_0x495328- -_0x2ea0a3._0x4e664d);}const _0x2a893e=this['_getWellData']();this['wellData']=_0x2a893e;function _0x55a3b4(_0x5bdabc,_0x43bf0d){return _0x54a7f1(_0x5bdabc- -0x89,_0x43bf0d);}this['_createPit'](_0x2a893e),_0x31f59a['label']&&this[_0x5ae95f(_0x2637d1._0x28e3d6,0x49a)](_0x31f59a[_0x5ae95f(0xe4d,_0x2637d1._0x249f8c)]),this['_availability']&&this['_updateAvailabilityHook'](this[_0x55a3b4(0x1435,0x143b)]);}[_0x54a7f1(0xa4f,0x464)](){function _0x3fa089(_0x4b1fa3,_0x2312e3){return _0x7afdbe(_0x2312e3,_0x4b1fa3- -0x332);}super['_removedHook'](),this[_0x3fa089(0x10bb,0xfb6)]();}[_0x54a7f1(0x11bf,0x761)](){const _0x39458b={_0x5a6aed:0x665,_0x423050:0x81c,_0x48011b:0x98d},_0x225ece={_0x33dc2b:0x129};this['_primitive']&&(this['primitiveCollection'][_0x3a338c(_0x39458b._0x5a6aed,_0x39458b._0x423050)](this[_0x21bd4f(0xfcb,0x1696)]),delete this[_0x21bd4f(0xfcb,0xcfc)]);function _0x21bd4f(_0x158c5e,_0x5f59eb){return _0x54a7f1(_0x158c5e- -0x3df,_0x5f59eb);}function _0x3a338c(_0x51cd71,_0x31156e){return _0x54a7f1(_0x51cd71- -_0x225ece._0x33dc2b,_0x31156e);}this['_bottomPrimitive']&&(this['primitiveCollection']['remove'](this[_0x3a338c(0x98d,0x6b6)]),delete this[_0x3a338c(_0x39458b._0x48011b,0x1361)]);}async[_0x7afdbe(0x1390,0x108b)](_0x3250bf){const _0x3f19cd={_0x1bbec0:0x5b3,_0x1b8757:0x9d2,_0x428443:0x6c8,_0x1df5c1:0x393,_0x569706:0x2f5};function _0x5124a0(_0x6ed7d6,_0x6ec7c1){return _0x7afdbe(_0x6ec7c1,_0x6ed7d6- -0x44e);}await this['_map']['readyPromise'];this[_0x5124a0(_0x3f19cd._0x1bbec0,0xbef)]['scene']['_terrainProviderPromise']&&await this['_map']['scene']['_terrainProviderPromise'];function _0x36145f(_0x327fd9,_0x2dd879){return _0x54a7f1(_0x327fd9-0x188,_0x2dd879);}this[_0x5124a0(_0x3f19cd._0x1b8757,0x1229)](_0x3250bf[_0x36145f(0x15fc,0x18f8)]),this['_map']['hasTerrain']?Cesium__namespace['sampleTerrainMostDetailed'](this[_0x5124a0(0x5b3,0x3b6)][_0x36145f(0x1207,0x1108)][_0x5124a0(_0x3f19cd._0x428443,0x96f)],_0x3250bf['cartoList'])[_0x5124a0(_0x3f19cd._0x1df5c1,-_0x3f19cd._0x569706)](_0x39145d=>{if(!this['isAdded'])return;function _0x17f5a6(_0xd97dc,_0x53b4c8){return _0x36145f(_0xd97dc- -0x5d9,_0x53b4c8);}const _0x3c6459=[];for(let _0x23d3b4=0x0,_0x2563a5=_0x39145d['length'];_0x23d3b4<_0x2563a5;_0x23d3b4++){const _0x11c38c=_0x39145d[_0x23d3b4];_0x3c6459['push'](_0x11c38c[_0x17f5a6(0x216,-0x3bc)]);}_0x3250bf['maximumHeights']=_0x3c6459,this['_createWellWall'](_0x3250bf);}):this['_createWellWall'](_0x3250bf);}['_createWellWall'](_0x569c89){const _0x3ade23={_0x148803:0x59a,_0x582ad0:0xf1e,_0x3afbd1:0x13fd,_0x32be0f:0x1876,_0x79ad4f:0x1071,_0x321427:0x145e,_0x147ebd:0x14a,_0x2d7185:0x460,_0x5631ac:0x4fe,_0x5dc9fb:0x11ad,_0x1d7af5:0x1378,_0xd8fa51:0xee4,_0x53fb55:0x12f9,_0x6fbd17:0x16d7,_0x2fafe4:0x671,_0x34fadd:0xd61},_0x3a13ae={_0x3e3621:0xa1},_0x1bf2f4={_0x3a0ee1:0x219},_0x3a1a23=this[_0x3571a4(-0xf5,0x629)]['opacity']??0x1;this[_0x3571a4(0x1b51,0x1537)]&&this['primitiveCollection']['remove'](this['_primitive']);const _0x41278f={};_0x41278f['positions']=_0x569c89[_0x50e60e(0xe78,0x168d)],_0x41278f[_0x3571a4(_0x3ade23._0x148803,0xe92)]=_0x569c89[_0x50e60e(0xe13,_0x3ade23._0x582ad0)],_0x41278f['minimumHeights']=_0x569c89['minimumHeights'],this[_0x50e60e(0x105f,0x15c3)]=new Cesium__namespace[(_0x50e60e(_0x3ade23._0x3afbd1,0x129b))]({'geometryInstances':new Cesium__namespace[(_0x50e60e(_0x3ade23._0x32be0f,0x10f1))]({'id':this['id'],'geometry':new Cesium__namespace[(_0x3571a4(_0x3ade23._0x79ad4f,0x1815))](_0x41278f)}),'appearance':new Cesium__namespace['MaterialAppearance']({'material':Cesium__namespace[_0x3571a4(0xf59,0x796)]['fromType'](Cesium__namespace['Material'][_0x50e60e(0x1ed6,_0x3ade23._0x321427)],{'image':this[_0x3571a4(_0x3ade23._0x147ebd,0x629)][_0x50e60e(-_0x3ade23._0x2d7185,_0x3ade23._0x5631ac)],'color':Cesium__namespace['Color']['WHITE']['withAlpha'](_0x3a1a23),'repeat':new Cesium__namespace[(_0x3571a4(0xf0b,0x1891))](this['style']['repeatX']??0x32,this['style'][_0x50e60e(0x136d,_0x3ade23._0x5dc9fb)]??0x1)}),'translucent':_0x3a1a23!==0x1})});function _0x50e60e(_0x101a3d,_0x13927f){return _0x54a7f1(_0x13927f-_0x1bf2f4._0x3a0ee1,_0x101a3d);}this[_0x3571a4(0x9fd,0x5cc)]['add'](this[_0x3571a4(_0x3ade23._0x1d7af5,0x1537)]),this['bindPickId'](this[_0x3571a4(_0x3ade23._0xd8fa51,0x1537)]);function _0x3571a4(_0x21a55f,_0x39da70){return _0x7afdbe(_0x21a55f,_0x39da70- -_0x3a13ae._0x3e3621);}this[_0x50e60e(_0x3ade23._0x53fb55,_0x3ade23._0x6fbd17)]&&this[_0x50e60e(_0x3ade23._0x2fafe4,_0x3ade23._0x34fadd)](this[_0x3571a4(0xde5,0x164b)]);}['_createBottomSurface'](_0x2099f3){const _0x3626f9={_0x10908e:0x113b,_0x334c02:0x431,_0x49303f:0xc62,_0x34ca0e:0x49d,_0x28939e:0x20,_0x16a9af:0x15f2,_0x7e1e8e:0x7bf,_0x3514e8:0x167},_0x65d6da={_0x50b1ab:0x35d};function _0x36cc1c(_0x306045,_0x5c7a12){return _0x7afdbe(_0x306045,_0x5c7a12- -0x1b1);}function _0x4897a2(_0x415970,_0x54b210){return _0x54a7f1(_0x415970- -_0x65d6da._0x50b1ab,_0x54b210);}if(!_0x2099f3['length']||!this['style'][_0x4897a2(_0x3626f9._0x10908e,0x1bfa)])return;const _0x10dbc=this['style']['opacity']??0x1;this['_bottomPrimitive']&&this['primitiveCollection'][_0x4897a2(_0x3626f9._0x334c02,0x446)](this['_bottomPrimitive']),this['_bottomPrimitive']=new Cesium__namespace[(_0x4897a2(0xd25,0x4ed))]({'geometryInstances':new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':Cesium__namespace['CoplanarPolygonGeometry'][_0x36cc1c(0xeff,_0x3626f9._0x49303f)]({'vertexFormat':Cesium__namespace['VertexFormat'][_0x36cc1c(_0x3626f9._0x34ca0e,0xa0f)],'positions':_0x2099f3,'perPositionHeight':!![]})}),'appearance':new Cesium__namespace[(_0x36cc1c(0x1990,0x147a))]({'material':Cesium__namespace['Material']['fromType'](Cesium__namespace[_0x4897a2(0x2ac,_0x3626f9._0x28939e)][_0x36cc1c(_0x3626f9._0x16a9af,0x12c2)],{'image':this['style']['imageBottom'],'color':Cesium__namespace['Color'][_0x4897a2(0x530,_0x3626f9._0x7e1e8e)]['withAlpha'](_0x10dbc)}),'translucent':_0x10dbc!==0x1,'faceForward':!![],'flat':!![]})}),this['primitiveCollection'][_0x36cc1c(-_0x3626f9._0x3514e8,0x70d)](this[_0x36cc1c(0x139b,0xb33)]),this['bindPickId'](this[_0x36cc1c(0x1275,0xb33)]);}['_updateExOpacity'](_0x30cf26){this['_bottomPrimitive']&&this['_updatePrimitiveOpacity'](this['_bottomPrimitive'],_0x30cf26);}['_getDrawEntityClass'](_0x3a2c6c,_0x446c0a){const _0x5ed43e={_0x89ef96:0x107e};_0x3a2c6c[_0x75acad(0x82,-0x95b)][_0x253ddb(-0x79,-0xad0)]=_0x3a2c6c['style'][_0x75acad(_0x5ed43e._0x89ef96,0x13ec)];function _0x253ddb(_0x378a2c,_0x1c1705){return _0x7afdbe(_0x1c1705,_0x378a2c- -0x58c);}function _0x75acad(_0x5893a2,_0xf15f54){return _0x54a7f1(_0x5893a2- -0x41a,_0xf15f54);}return delete _0x3a2c6c['style']['diffHeight'],create$5('polygon',_0x3a2c6c);}}register$5(_0x54a7f1(0xe4b,0xb7e),Pit);const _0x12c774={};_0x12c774[_0x54a7f1(0xeef,0xe0c)]=0x64,_0x12c774[_0x7afdbe(0x16a2,0x1638)]=0x64;const DEF_STYLE$i=_0x12c774;class DoubleSidedPlane extends BasePointPrimitive{constructor(_0x415495={}){_0x415495['style']={...DEF_STYLE$i,..._0x415495['style']},super(_0x415495);}['_addedHook'](_0x5a5e2e){const _0x1ca036={_0x1a0ed1:0x1486,_0x4b239a:0x591,_0x5992e6:0x1a7,_0x59c5ee:0x889,_0x38318f:0x7bf,_0x395e37:0x872,_0x101a8e:0xcb8,_0x57df5d:0x1781,_0x31fc65:0xa32,_0x4be2e8:0x13db,_0x3fe016:0x3fd,_0x3775ec:0x36a,_0x5def42:0x245,_0x50f369:0x764},_0x1ba5fe={_0x309b9e:0x612};if(!this['show'])return;const _0x27fe50=[0x0,-0.5,-0.5,0x0,0.5,-0.5,0x0,0.5,0.5,0x0,-0.5,0.5,0x0,0.5,-0.5,0x0,-0.5,-0.5,0x0,-0.5,0.5,0x0,0.5,0.5],_0x5b10cb=[0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1];function _0x3be60f(_0xa3d004,_0xacd630){return _0x7afdbe(_0xa3d004,_0xacd630- -_0x1ba5fe._0x309b9e);}const _0x216a14=[0x0,0x1,0x2,0x0,0x2,0x3,0x4,0x5,0x6,0x4,0x6,0x7];function _0x44b3e8(_0x4a1dac,_0x37ec3e){return _0x7afdbe(_0x37ec3e,_0x4a1dac- -0x557);}const _0x22bb80=new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x44b3e8(0xf69,0x51e)]['DOUBLE'],'componentsPerAttribute':0x3,'values':new Float64Array(_0x27fe50)}),'st':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(_0x5b10cb)})},'indices':new Uint16Array(_0x216a14),'primitiveType':Cesium__namespace['PrimitiveType'][_0x44b3e8(_0x1ca036._0x1a0ed1,0x1559)],'boundingSphere':Cesium__namespace[_0x3be60f(0x549,_0x1ca036._0x4b239a)][_0x44b3e8(0x195,-_0x1ca036._0x5992e6)](_0x27fe50)}),_0x3c6a57={};_0x3c6a57[_0x3be60f(_0x1ca036._0x59c5ee,_0x1ca036._0x38318f)]=!![];const _0x575cb2=Cesium__namespace['RenderState']['fromCache']({'depthTest':_0x3c6a57,'depthMask':![],'blending':Cesium__namespace[_0x44b3e8(0x5ba,_0x1ca036._0x395e37)][_0x44b3e8(0xa81,0xff7)],'cull':{'enabled':!![],'face':Cesium__namespace[_0x44b3e8(0xe65,0xc33)]['BACK']}}),_0x57008d=new Cesium__namespace[(_0x44b3e8(0x2e0,_0x1ca036._0x101a8e))]({'fabric':{'type':'Image2','uniforms':{'image':_0x5a5e2e['image'],'opacity':_0x5a5e2e['opacity']??0x1,'rotation':_0x5a5e2e['rotation']??0x0,'color':Cesium__namespace[_0x44b3e8(0xf5b,_0x1ca036._0x57df5d)]['WHITE'],'speed':_0x5a5e2e['speed']||0x0,'flipx':_0x5a5e2e[_0x44b3e8(_0x1ca036._0x31fc65,0x368)]??![],'flipy':_0x5a5e2e['flipy']??![],'noWhite':_0x5a5e2e['noWhite']??!![],'repeat':_0x5a5e2e['repeat']??new Cesium__namespace[(_0x44b3e8(_0x1ca036._0x4be2e8,0x11a3))](0x1,0x1),'hasMask':![],'maskImage':Cesium__namespace[_0x3be60f(0x1f4,0x225)]['DefaultImageId'],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]}),_0x31829f={};_0x31829f[_0x3be60f(0x7aa,0x11cb)]=_0x22bb80,this['_primitive']=new Cesium__namespace['Primitive']({'geometryInstances':new Cesium__namespace['GeometryInstance'](_0x31829f),'appearance':new Cesium__namespace['MaterialAppearance']({'flat':!![],'renderState':_0x575cb2,...this['style'],'material':_0x57008d}),'modelMatrix':this[_0x44b3e8(_0x1ca036._0x3fe016,-0x670)],'show':this[_0x3be60f(0xf86,0x120f)]}),this[_0x44b3e8(0x116,-_0x1ca036._0x3775ec)][_0x44b3e8(0x367,-0x68f)](this['_primitive']),_0x5a5e2e['label']&&this[_0x3be60f(0x971,0xd3f)](_0x5a5e2e['label']),this['_availability']&&this[_0x3be60f(-_0x1ca036._0x5def42,_0x1ca036._0x50f369)](this['_availability']);}[_0x7afdbe(0x1c8f,0x11db)](_0x5871b1,_0xf145ea){const _0x2ea0e2={_0x4ca3c9:0x1c5,_0x5323f5:0x135d,_0x92f70f:0x3c8,_0x280fb6:0x70c};if(!_0x5871b1)return Cesium__namespace['Matrix4']['IDENTITY'];const _0x33d77b=Cesium__namespace['Math']['toRadians'](this['style'][_0x49927b(0x36,-0x2c8)]||0x0);function _0x36b0ce(_0x1d008b,_0x36a7df){return _0x54a7f1(_0x36a7df- -0x2d6,_0x1d008b);}const _0x44593c=Cesium__namespace[_0x49927b(0xfd5,0x1822)]['toRadians'](this[_0x49927b(_0x2ea0e2._0x4ca3c9,0xa8e)]['pitch']||0x0);function _0x49927b(_0x43f70b,_0x44d330){return _0x7afdbe(_0x44d330,_0x43f70b- -0x505);}const _0x4e23c1=Cesium__namespace['Math']['toRadians'](this['style'][_0x36b0ce(0x1825,0x145b)]||0x0);this['_heading_reality']=_0x33d77b,this['_pitch_reality']=_0x44593c,this[_0x36b0ce(0x117b,_0x2ea0e2._0x5323f5)]=_0x4e23c1;const _0x4bb269=Cesium__namespace['Transforms'][_0x49927b(0x967,_0x2ea0e2._0x92f70f)](_0x5871b1,new Cesium__namespace['HeadingPitchRoll'](_0x33d77b,_0x44593c,_0x4e23c1),this['ellipsoid'],this[_0x49927b(0x145c,0xc4b)]),_0x56e80a=Cesium__namespace['Matrix4']['fromScale'](new Cesium__namespace['Cartesian3'](0x1,this['style']['dimensions_x'],this['style']['dimensions_y']));return Cesium__namespace[_0x49927b(0x101,_0x2ea0e2._0x280fb6)]['multiply'](_0x4bb269,_0x56e80a,new Cesium__namespace['Matrix4']());}['_getDrawEntityClass'](_0x352fe5,_0x1099ef){return create$5('point',_0x352fe5);}}register$5(_0x54a7f1(0x630,-0xe6),DoubleSidedPlane,!![]);var ReflectionWaterFS=_0x7afdbe(0x987,0xd78),ReflectionWaterVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec3\x20normal;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0a\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec3\x20v_normalEC;\x0aout\x20vec2\x20v_st;\x0a\x0auniform\x20mat4\x20reflectorProjectionMatrix;\x0auniform\x20mat4\x20reflectorViewMatrix;\x0auniform\x20mat4\x20reflectMatrix;\x0aout\x20vec4\x20v_worldPosition;\x20\x20//\x20世界坐标\x0aout\x20vec4\x20v_uv;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20纹理坐标\x0aout\x20float\x20cameraDistance;\x20//\x20传递相机距离\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20pMars3D\x20=\x20czm_computePosition();\x0a\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20pMars3D).xyz;\x20\x20\x20\x20\x20\x20//\x20position\x20in\x20eye\x20coordinates\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20normal\x20in\x20eye\x20coordinates\x0a\x20\x20v_st\x20=\x20st;\x0a\x0a\x20\x20mat4\x20modelView\x20=\x20reflectorViewMatrix\x20*\x20reflectMatrix\x20*\x20czm_model;\x0a\x20\x20modelView[3][0]\x20=\x200.0;\x0a\x20\x20modelView[3][1]\x20=\x200.0;\x0a\x20\x20modelView[3][2]\x20=\x200.0;\x0a\x20\x20v_uv\x20=\x20reflectorProjectionMatrix\x20*\x20modelView\x20*\x20pMars3D;\x0a\x20\x20vec4\x20positionMC\x20=\x20vec4(position3DHigh\x20+\x20position3DLow,\x201.0);\x0a\x20\x20v_worldPosition\x20=\x20czm_model\x20*\x20positionMC;\x0a\x0a\x20\x20cameraDistance\x20=\x20distance(v_worldPosition.xyz,\x20czm_viewerPositionWC);\x0a\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20pMars3D;\x0a}\x0a';class ReflectionWater extends PolygonPrimitive{get['height'](){return this['_height'];}set['height'](_0x23143d){const _0x3faa99={_0x31e773:0x1592,_0x508db9:0xcf6,_0x24d910:0xf89,_0x3feb02:0xef6,_0x492dbe:0x979,_0x5e58d7:0x1d5,_0x3426a3:0xc79,_0x107d7c:0x227,_0x12f625:0x469,_0x3592e8:0x3de,_0x544ec4:0x9ca,_0x11cdaa:0x7bc,_0x493071:0xde,_0x5f1e8c:0x2a2,_0x1999b8:0x1d9,_0x62f69d:0x7aa,_0x3b4b1b:0x1d9,_0xae40e2:0x8ea,_0x1faca9:0x127,_0x481a43:0xef,_0x3a1f39:0x1d9,_0x13463f:0x3de},_0x51ee16={_0x43ed2d:0x28c};this[_0x8eb436(_0x3faa99._0x31e773,_0x3faa99._0x508db9)]=_0x23143d;const _0x248d71=Cesium__namespace['Cartographic']['fromCartesian'](this['_originalreflectorWorldPosition']),_0x318348=Cesium__namespace[_0x8eb436(0xc09,_0x3faa99._0x24d910)][_0x8eb436(0x5f0,0x100a)](_0x248d71['longitude'],_0x248d71[_0x5310a2(_0x3faa99._0x3feb02,_0x3faa99._0x492dbe)],this['_height']);function _0x5310a2(_0x595efc,_0x280fe9){return _0x7afdbe(_0x595efc,_0x280fe9- -_0x51ee16._0x43ed2d);}const _0x159df1=Cesium__namespace[_0x8eb436(0xc84,_0x3faa99._0x24d910)][_0x5310a2(-_0x3faa99._0x5e58d7,0x647)](_0x318348,this[_0x8eb436(0x720,_0x3faa99._0x3426a3)],new Cesium__namespace['Cartesian3']()),_0x9e132=Cesium__namespace['Matrix4']['fromTranslation'](_0x159df1);this['_primitive'][_0x5310a2(_0x3faa99._0x107d7c,0x6c8)]=_0x9e132,this[_0x5310a2(0x20c,0x919)]=_0x318348;function _0x8eb436(_0x1e54bf,_0x4c4827){return _0x7afdbe(_0x1e54bf,_0x4c4827- -0x58c);}this['_normal']=Cesium__namespace['Ellipsoid']['WGS84']['geodeticSurfaceNormal'](this['_reflectorWorldPosition']),this['_waterPlane']=Cesium__namespace['Plane'][_0x5310a2(0x181e,0xdfe)](this['_reflectorWorldPosition'],this['_normal']),this['_reflectMatrix']=new Cesium__namespace['Matrix4'](-0x2*this[_0x5310a2(0x77d,0x1d9)][_0x5310a2(0x89e,0x3de)]['x']*this[_0x8eb436(-0xa66,-0x127)]['normal']['x']+0x1,-0x2*this['_waterPlane'][_0x8eb436(0xadd,0xde)]['x']*this['_waterPlane']['normal']['y'],-0x2*this['_waterPlane'][_0x5310a2(_0x3faa99._0x12f625,_0x3faa99._0x3592e8)]['x']*this['_waterPlane']['normal']['z'],-0x2*this[_0x5310a2(_0x3faa99._0x544ec4,0x1d9)][_0x8eb436(-_0x3faa99._0x11cdaa,_0x3faa99._0x493071)]['x']*this[_0x5310a2(-_0x3faa99._0x5f1e8c,0x1d9)]['distance'],-0x2*this[_0x5310a2(-0x2e0,0x1d9)]['normal']['y']*this[_0x5310a2(-0x97,_0x3faa99._0x1999b8)][_0x8eb436(0x29,0xde)]['x'],-0x2*this['_waterPlane']['normal']['y']*this['_waterPlane']['normal']['y']+0x1,-0x2*this['_waterPlane']['normal']['y']*this['_waterPlane']['normal']['z'],-0x2*this[_0x5310a2(-_0x3faa99._0x62f69d,_0x3faa99._0x3b4b1b)][_0x5310a2(_0x3faa99._0xae40e2,0x3de)]['y']*this[_0x8eb436(-0xb48,-_0x3faa99._0x1faca9)]['distance'],-0x2*this[_0x5310a2(-_0x3faa99._0x481a43,_0x3faa99._0x3a1f39)]['normal']['z']*this['_waterPlane'][_0x5310a2(0xb93,_0x3faa99._0x13463f)]['x'],-0x2*this['_waterPlane'][_0x8eb436(-0x5c3,0xde)]['z']*this[_0x5310a2(0xaec,0x1d9)]['normal']['y'],-0x2*this['_waterPlane'][_0x5310a2(0x35c,_0x3faa99._0x13463f)]['z']*this['_waterPlane'][_0x8eb436(0x68c,_0x3faa99._0x493071)]['z']+0x1,-0x2*this[_0x5310a2(-0x4d5,0x1d9)]['normal']['z']*this[_0x5310a2(-0x2db,0x1d9)]['distance'],0x0,0x0,0x0,0x1);}[_0x54a7f1(0x10d4,0xd6f)](_0x2445a2,_0xf334cf){const _0xd24a36={_0x33c91c:0x1622,_0x75d993:0x167c,_0xf2650c:0x11b3,_0x470414:0xec5,_0x601cfd:0x1622,_0x7245f7:0xb8e,_0x55c611:0x1b49,_0x57760a:0xc8f,_0x317033:0x7c7,_0x4aaade:0x19d0,_0x18a543:0x148e,_0x47893a:0x1673,_0x2b7c99:0x1789,_0x1e4721:0x11a0,_0x2d8d3d:0xa17,_0x33f175:0x148e,_0x556962:0x104d,_0x155422:0x45a},_0x302513={_0x3b452c:0x34d};Cesium__namespace[_0x5db26e(0xeee,_0xd24a36._0x33c91c)](_0xf334cf[_0x5db26e(_0xd24a36._0x75d993,_0xd24a36._0xf2650c)])&&(this['_material']['uniforms']['waterColor']=getCesiumColor(_0x2445a2[_0x1e8e0f(0xcae,_0xd24a36._0x470414)]));Cesium__namespace[_0x5db26e(0x17af,_0xd24a36._0x601cfd)](_0xf334cf['opacity'])&&(this['_material']['uniforms'][_0x5db26e(_0xd24a36._0x7245f7,0x15fe)]=_0x2445a2['opacity']);function _0x5db26e(_0x13fbf7,_0x3f1d89){return _0x54a7f1(_0x3f1d89- -0x5f,_0x13fbf7);}Cesium__namespace[_0x5db26e(_0xd24a36._0x55c611,0x1622)](_0xf334cf[_0x1e8e0f(0x414,0x279)])&&(this[_0x1e8e0f(_0xd24a36._0x57760a,0xd5f)]['uniforms'][_0x5db26e(0x259,0x567)]=_0x2445a2['reflectivity']);Cesium__namespace['defined'](_0xf334cf['lightDirection'])&&(this[_0x5db26e(_0xd24a36._0x317033,0x104d)][_0x5db26e(_0xd24a36._0x4aaade,_0xd24a36._0x18a543)]['lightDirection']=_0x2445a2['lightDirection']);Cesium__namespace[_0x5db26e(0xcfb,0x1622)](_0xf334cf['shiny'])&&(this['_material'][_0x1e8e0f(_0xd24a36._0x47893a,0x11a0)]['shiny']=_0x2445a2['shiny']);Cesium__namespace['defined'](_0xf334cf['specularIntensity'])&&(this['_material'][_0x1e8e0f(_0xd24a36._0x2b7c99,_0xd24a36._0x1e4721)]['specularIntensity']=_0x2445a2['specularIntensity']);Cesium__namespace[_0x1e8e0f(_0xd24a36._0x2d8d3d,0x1334)](_0xf334cf['distortion'])&&(this[_0x1e8e0f(0x31b,0xd5f)][_0x5db26e(0x15d2,_0xd24a36._0x33f175)]['distortion']=_0x2445a2['distortion']);Cesium__namespace['defined'](_0xf334cf['farColor'])&&(this[_0x5db26e(0xdbb,_0xd24a36._0x556962)]['uniforms']['farColor']=getCesiumColor(_0x2445a2['farColor']));Cesium__namespace['defined'](_0xf334cf[_0x5db26e(0x76c,_0xd24a36._0x155422)])&&(this[_0x1e8e0f(0x1403,0xd5f)]['uniforms']['farDistance']=_0x2445a2['farDistance']);function _0x1e8e0f(_0x1d8285,_0x53c95f){return _0x54a7f1(_0x53c95f- -_0x302513._0x3b452c,_0x1d8285);}Cesium__namespace['defined'](_0xf334cf['height'])&&(this['height']=_0xf334cf['height']);}[_0x54a7f1(0x1121,0x877)](_0x20aa66){const _0x5c0f61={_0x3b9e98:0x1b00},_0x607eb4={_0x4d99ab:0x353};if(!this[_0x4c91a8(_0x5c0f61._0x3b9e98,0x15d7)]||!this['positions']||this['positions']['length']===0x0)return;this['_bindFun'](),this['_createPrimitive'](_0x20aa66);function _0x4c91a8(_0x378c16,_0x9742fd){return _0x54a7f1(_0x9742fd- -0x1c,_0x378c16);}this[_0x3d784b(0x1a48,0x13c2)]();_0x20aa66['label']&&this['_addLabel'](_0x20aa66[_0x4c91a8(0xa94,0x109e)]);function _0x3d784b(_0x5c97c7,_0x16c5cf){return _0x7afdbe(_0x5c97c7,_0x16c5cf- -_0x607eb4._0x4d99ab);}this['_availability']&&this['_updateAvailabilityHook'](this[_0x3d784b(0x1dfd,0x1399)]);}['_removedHook'](){const _0x3678d9={_0x27e68e:0x1aaf,_0x30b67b:0x13f3},_0x1b5d59={_0x3b4ef9:0x1eb};!this[_0x1331de(_0x3678d9._0x27e68e,0x1341)]&&(this['stopDraw'](),this[_0x549cde(0x1240,0xc35)]());function _0x1331de(_0x42bd59,_0x14bec5){return _0x7afdbe(_0x42bd59,_0x14bec5- -_0x1b5d59._0x3b4ef9);}this['unbindUpdateEvent']();this['_primitive']&&(this['primitiveCollection']['remove'](this['_primitive']),delete this[_0x549cde(0x1187,_0x3678d9._0x30b67b)]);this['_destroyResource']();function _0x549cde(_0x3203a2,_0x19bc9d){return _0x54a7f1(_0x3203a2- -0x223,_0x19bc9d);}this['_unbindFun']();}[_0x54a7f1(0x639,0xce4)](_0x5b055e){const _0x30130f={_0x4dac07:0x859,_0x58f972:0x89d,_0xd43793:0x8ea,_0x166af1:0xdda,_0x50d932:0x734,_0x14d62a:0x96a,_0x127e64:0x1a2,_0x54e685:0xb1c,_0x115a59:0x63,_0x577033:0x190,_0x2413d7:0x362,_0x4f09a3:0x1a2,_0x1bd500:0x619,_0x4a2db2:0x362,_0x18810f:0xa66,_0xd04325:0xb3a,_0xbd4e7b:0x244,_0x5c3c53:0x1a2,_0x1b8025:0x15d,_0x9b1ff6:0xb70,_0x39f913:0x362,_0xcd078d:0xff,_0x4b2767:0x590,_0x1ca243:0x15d,_0x1dc28b:0x4f3,_0x53fd99:0x1,_0x337b0c:0x7d3,_0x31acca:0x6af,_0x1ff117:0x1b7,_0x3bb04d:0x215,_0x518ba0:0x786,_0x592441:0xb87,_0x27331d:0x759,_0x4bca90:0x1692,_0x29562e:0xe9,_0x28b16d:0x3e8,_0x3136be:0x45d,_0x1cb907:0x69e,_0x11fe5c:0xc94,_0x2ee805:0x75c,_0x7190e0:0x1138,_0x16841a:0xa96,_0x4c8963:0x11aa,_0xf9e780:0x63f,_0x384c61:0xc3d,_0x4d584b:0x777,_0x2f5129:0xef8,_0x2313b4:0x496,_0x14149a:0xe21,_0xafc837:0x854,_0x12e2d7:0x2fe,_0x5345a0:0x1008,_0x57666e:0xe9,_0xa48861:0x9ae,_0x3b7054:0x1a2,_0x207590:0x2e1,_0x5ac8c0:0x7a,_0x583db6:0xb1d,_0x6aebc0:0x1538,_0x4d66ee:0x6bf,_0x16972c:0x13cd,_0x1b6192:0x1c5e,_0x5a1a9c:0x118c,_0x243f00:0x10a1,_0x4f6f9e:0xb36,_0x16e2c7:0x454,_0x54b71d:0xa01,_0x39bdf9:0x12d0,_0x3707ec:0x2b7,_0xececd1:0x260},_0x5acf92={_0xb8c840:0x3d9},_0x3c23d6=this[_0x48bc2c(_0x30130f._0x4dac07,0x1266)](_0x5b055e);_0x3c23d6['vertexFormat']=Cesium__namespace['EllipsoidSurfaceAppearance']['POSITION_NORMAL_AND_ST'];let _0x21737c=0x0;function _0x4c918f(_0x4013ca,_0x5a4c02){return _0x54a7f1(_0x4013ca- -_0x5acf92._0xb8c840,_0x5a4c02);}Cesium__namespace['defined'](this[_0x4c918f(0xc3,-0x12)]['height'])?_0x21737c=this['style']['height']:_0x21737c=getMaxHeight(this['positions']);this['_height']=_0x21737c,this[_0x4c918f(0x59e,0xbf9)]=this['center'],this[_0x48bc2c(0x126c,0xefd)]=this['_reflectorWorldPosition']['clone'](),this['_normal']=Cesium__namespace['Ellipsoid']['WGS84']['geodeticSurfaceNormal'](this[_0x48bc2c(0x1245,_0x30130f._0x58f972)]),this['_waterPlane']=Cesium__namespace['Plane']['fromPointNormal'](this['_reflectorWorldPosition'],this[_0x48bc2c(_0x30130f._0xd43793,_0x30130f._0x166af1)]),this['_reflectMatrix']=new Cesium__namespace['Matrix4'](-0x2*this[_0x48bc2c(_0x30130f._0x50d932,0x15d)][_0x4c918f(0x63,-0x305)]['x']*this['_waterPlane'][_0x48bc2c(_0x30130f._0x14d62a,0x362)]['x']+0x1,-0x2*this[_0x4c918f(-_0x30130f._0x127e64,-_0x30130f._0x54e685)][_0x4c918f(_0x30130f._0x115a59,0x159)]['x']*this['_waterPlane']['normal']['y'],-0x2*this['_waterPlane'][_0x48bc2c(-_0x30130f._0x577033,_0x30130f._0x2413d7)]['x']*this[_0x4c918f(-_0x30130f._0x4f09a3,-0x3ab)]['normal']['z'],-0x2*this['_waterPlane']['normal']['x']*this['_waterPlane']['distance'],-0x2*this[_0x4c918f(-0x1a2,_0x30130f._0x1bd500)][_0x48bc2c(0x45,_0x30130f._0x4a2db2)]['y']*this[_0x4c918f(-0x1a2,-_0x30130f._0x18810f)][_0x4c918f(0x63,0x5de)]['x'],-0x2*this[_0x48bc2c(_0x30130f._0xd04325,0x15d)][_0x4c918f(0x63,_0x30130f._0xbd4e7b)]['y']*this[_0x4c918f(-_0x30130f._0x5c3c53,0x19e)]['normal']['y']+0x1,-0x2*this[_0x48bc2c(-0x214,_0x30130f._0x1b8025)][_0x48bc2c(_0x30130f._0x9b1ff6,_0x30130f._0x39f913)]['y']*this['_waterPlane']['normal']['z'],-0x2*this[_0x48bc2c(_0x30130f._0xcd078d,_0x30130f._0x1b8025)]['normal']['y']*this['_waterPlane']['distance'],-0x2*this[_0x4c918f(-0x1a2,-0x5aa)][_0x48bc2c(0x1e6,_0x30130f._0x2413d7)]['z']*this['_waterPlane']['normal']['x'],-0x2*this[_0x4c918f(-_0x30130f._0x127e64,-0x1f8)][_0x4c918f(_0x30130f._0x115a59,-0x668)]['z']*this[_0x48bc2c(-_0x30130f._0x4b2767,_0x30130f._0x1b8025)]['normal']['y'],-0x2*this['_waterPlane']['normal']['z']*this[_0x48bc2c(-0xf9,_0x30130f._0x1ca243)][_0x4c918f(0x63,0x14e)]['z']+0x1,-0x2*this['_waterPlane'][_0x48bc2c(-_0x30130f._0x1dc28b,0x362)]['z']*this['_waterPlane'][_0x4c918f(0xeb8,0x1306)],0x0,0x0,0x0,0x1),this['_reflectorViewMatrix']=Cesium__namespace[_0x4c918f(-0x1,-0xa4e)][_0x4c918f(0x7d3,0x851)]['clone'](),this['_reflectorProjectionMatrix']=Cesium__namespace[_0x4c918f(-_0x30130f._0x53fd99,-0xa19)][_0x4c918f(_0x30130f._0x337b0c,0xa41)]['clone']();const _0x2180d0=this['_map']['scene'][_0x4c918f(_0x30130f._0x31acca,_0x30130f._0x1ff117)];this[_0x48bc2c(_0x30130f._0x3bb04d,_0x30130f._0x518ba0)](_0x2180d0,_0x2180d0['drawingBufferWidth'],_0x2180d0[_0x4c918f(_0x30130f._0x592441,0xb0d)],this['_map'][_0x48bc2c(_0x30130f._0x27331d,0xfa5)]['highDynamicRange']);const _0x3b1947=new Cesium__namespace[(_0x48bc2c(0x19af,_0x30130f._0x4bca90))]({'context':_0x2180d0,'source':{'width':0x1,'height':0x1,'arrayBufferView':new Uint8Array([0xff,0x0,0x0,0xff])},'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap']['REPEAT'],'wrapT':Cesium__namespace['TextureWrap']['REPEAT'],'minificationFilter':Cesium__namespace['TextureMinificationFilter'][_0x4c918f(_0x30130f._0x29562e,0x479)],'magnificationFilter':Cesium__namespace['TextureMinificationFilter'][_0x48bc2c(-0x2f2,_0x30130f._0x28b16d)]})});_0x3b1947[_0x4c918f(_0x30130f._0x3136be,_0x30130f._0x1cb907)]=_0x48bc2c(0x3d9,0x579);const _0x4e2e95={};_0x4e2e95['context']=_0x2180d0,_0x4e2e95[_0x4c918f(_0x30130f._0x11fe5c,0x14ae)]=this['_colorFramebuffer'];const _0x3d84d1=Cesium__namespace['Texture']['fromFramebuffer'](_0x4e2e95);_0x3d84d1[_0x48bc2c(0x550,_0x30130f._0x2ee805)]=_0x48bc2c(0x8d1,0x579);const _0x3dc867=new Cesium__namespace['Material']({'fabric':{'type':'ReflectionWater','uniforms':{'waterColor':getCesiumColor(_0x5b055e[_0x48bc2c(0x870,_0x30130f._0x7190e0)],Cesium__namespace[_0x48bc2c(_0x30130f._0x16841a,_0x30130f._0x4c8963)]['fromCssColorString'](_0x48bc2c(0xa15,0x12bc))),'farColor':getCesiumColor(_0x5b055e['farColor'],Cesium__namespace['Color']['fromCssColorString'](_0x48bc2c(_0x30130f._0xf9e780,0xfdc))),'farDistance':_0x5b055e['farDistance']??0x2710,'waterAlpha':_0x5b055e[_0x4c918f(-0x7f,-0x26e)]??0.9,'globalAlpha':0x1,'ripple':_0x5b055e[_0x4c918f(_0x30130f._0x384c61,_0x30130f._0x4d584b)]??0x32,'reflectivity':_0x5b055e[_0x4c918f(0x1ed,0xc6d)]??0.5,'lightDirection':_0x5b055e['lightDirection']??new Cesium__namespace['Cartesian3'](0x0,0x0,0x1),'shiny':_0x5b055e[_0x4c918f(_0x30130f._0x2f5129,_0x30130f._0x2313b4)]??0x64,'distortion':_0x5b055e[_0x4c918f(_0x30130f._0x14149a,0xdad)]??3.7,'normalTexture':_0x3b1947,'reflexTexture':_0x3d84d1,'time':0x0,'specularIntensity':_0x5b055e[_0x48bc2c(0x347,_0x30130f._0xafc837)]??0.3,'fixedFrameToEastNorthUpTransform':Cesium__namespace[_0x48bc2c(-0x101,_0x30130f._0x12e2d7)]['toArray'](this[_0x48bc2c(0x19b4,_0x30130f._0x5345a0)]())},'source':ReflectionWaterFS},'translucent':![],'minificationFilter':Cesium__namespace['TextureMinificationFilter'][_0x4c918f(_0x30130f._0x57666e,-0x5aa)],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter'][_0x4c918f(_0x30130f._0x29562e,-0x8e3)]}),_0x20b952={};_0x20b952['material']=_0x3dc867,_0x20b952[_0x48bc2c(0xdc9,_0x30130f._0xa48861)]=_0x2180d0,_0x20b952['uniformName']=_0x48bc2c(0x19b9,0x1449),_0x20b952[_0x48bc2c(-_0x30130f._0x3b7054,0x20b)]=_0x5b055e['normalMap']??_0x4c918f(-0x1a1,-_0x30130f._0x207590),addTextureUniform(_0x20b952),this['_material']=_0x3dc867;const _0x458246={};_0x458246[_0x4c918f(_0x30130f._0x5ac8c0,_0x30130f._0x583db6)]=_0x3dc867,_0x458246[_0x4c918f(0x5f,0x5ac)]=ReflectionWaterVS;function _0x48bc2c(_0x3961cd,_0x8e7fb4){return _0x54a7f1(_0x8e7fb4- -0xda,_0x3961cd);}_0x458246['translucent']=!![];const _0x551de0=new Cesium__namespace['MaterialAppearance'](_0x458246);_0x551de0['uniforms']={},_0x551de0['uniforms']['reflectMatrix']=Cesium__namespace['Matrix4'][_0x4c918f(0x13cd,_0x30130f._0x6aebc0)](this['_reflectMatrix']),_0x551de0['uniforms'][_0x4c918f(0x6e,-_0x30130f._0x4d66ee)]=Cesium__namespace['Matrix4'][_0x4c918f(_0x30130f._0x16972c,_0x30130f._0x1b6192)](this['_reflectorProjectionMatrix']),_0x551de0['uniforms']['reflectorViewMatrix']=Cesium__namespace[_0x4c918f(-0x1,0x262)][_0x4c918f(0x13cd,0x11ba)](this[_0x48bc2c(_0x30130f._0x5a1a9c,_0x30130f._0x243f00)]);const _0x433f4f={'geometryInstances':this[_0x4c918f(_0x30130f._0x4f6f9e,_0x30130f._0x16e2c7)](_0x3c23d6),'appearance':_0x551de0,'asynchronous':![],'show':this['show']};this[_0x48bc2c(_0x30130f._0x54b71d,_0x30130f._0x39bdf9)]=this[_0x48bc2c(-0x50a,0x365)][_0x4c918f(_0x30130f._0x3707ec,_0x30130f._0xececd1)](new Cesium__namespace[(_0x48bc2c(0xde2,0xfa8))](_0x433f4f));}['update'](_0x4dfc05){const _0x3daa9f={_0x5a0660:0x94a,_0x100e8e:0x7e2,_0x331e94:0x143,_0x36a8fa:0x19ba,_0x562768:0x126e,_0x480a60:0x14ce,_0x2d45d8:0x15a,_0x495477:0xcc3,_0x23c0d8:0xeb3,_0x21de4b:0xe3b,_0x2607bd:0x963,_0x2e1bdd:0x121,_0x3eb578:0x1634,_0x56a949:0x1647,_0x3673de:0xb8b,_0x5a95ce:0x923,_0x3e362d:0xf70,_0x34922b:0x1383,_0x414667:0x322,_0x365466:0xb47,_0x532acd:0x53c,_0x3b85c3:0x41f},_0x242703={_0x235823:0x36a};if(!this[_0x48c74b(_0x3daa9f._0x5a0660,0xe1e)](_0x4dfc05[_0x48c74b(0x93a,0x15a)]))return;const _0x276d21=this[_0x48c74b(0x6ae,-0x298)][_0x42301b(_0x3daa9f._0x100e8e,0xf43)],_0x5b7b69=_0x276d21['_defaultView']['camera'],_0x3bcb0d=_0x276d21['shadowMap'],_0x48858c=_0x276d21['globe']['show'],_0x11dbee=_0x276d21[_0x42301b(-0x914,_0x3daa9f._0x331e94)]['showSkirts'],_0x195007=_0x276d21['logarithmicDepthBuffer'];if(!this['_updateVirtualCamera'](_0x276d21['_defaultView']['camera'])){this[_0x48c74b(0x1285,0x172a)]['show']=![];return;}this[_0x42301b(_0x3daa9f._0x36a8fa,_0x3daa9f._0x562768)][_0x48c74b(_0x3daa9f._0x480a60,0x1418)]=![],_0x276d21['_defaultView']['camera']=this['_virtualCamera'],_0x276d21[_0x48c74b(0x1fa,0xae5)]=undefined,_0x276d21['globe']['show']=![],_0x276d21[_0x48c74b(_0x3daa9f._0x2d45d8,-0x1cd)]['showSkirts']=![];function _0x42301b(_0x2e5951,_0xb88040){return _0x7afdbe(_0x2e5951,_0xb88040- -_0x242703._0x235823);}_0x276d21[_0x48c74b(0x5df,_0x3daa9f._0x495477)]=![];const _0xd91ddc=_0x276d21[_0x42301b(_0x3daa9f._0x23c0d8,0x94c)],_0x5b9fd1=_0xd91ddc['drawingBufferWidth'],_0x4a0864=_0xd91ddc[_0x48c74b(_0x3daa9f._0x21de4b,0x1773)],_0x575803=_0x276d21['highDynamicRange'];this['_createFramebuffer'](_0xd91ddc,_0x5b9fd1,_0x4a0864,_0x575803),render(_0x276d21,this[_0x48c74b(0x158b,0x1079)]);const _0x4c2960=this['_primitive']['appearance'],_0x3b2293={};_0x3b2293[_0x48c74b(_0x3daa9f._0x2607bd,-_0x3daa9f._0x2e1bdd)]=_0xd91ddc,_0x3b2293[_0x48c74b(0xf48,_0x3daa9f._0x3eb578)]=this['_colorFramebuffer'];const _0x2593b2=Cesium__namespace[_0x48c74b(_0x3daa9f._0x56a949,0x138b)]['fromFramebuffer'](_0x3b2293);_0x2593b2['type']=_0x48c74b(0x52e,_0x3daa9f._0x3673de),this['_material']['uniforms']['reflexTexture']=_0x2593b2,this[_0x42301b(0x7e5,0xf70)][_0x48c74b(0x13c8,0x1d23)][_0x42301b(0x4d5,_0x3daa9f._0x5a95ce)]=(this[_0x48c74b(0x377,0x9ac)]['animationSpeed']??0x1)*(performance['now']()/0x3e8),this[_0x42301b(0x82f,_0x3daa9f._0x3e362d)]['uniforms'][_0x42301b(0xc6b,_0x3daa9f._0x34922b)]=Cesium__namespace['Matrix4']['toArray'](this['_getFixedFrameToEastNorthUpTransformFromWorldMatrix']()),_0x4c2960['uniforms']['reflectMatrix']=Cesium__namespace['Matrix4']['toArray'](this['_reflectMatrix']);function _0x48c74b(_0x23a0f9,_0x308e27){return _0x54a7f1(_0x23a0f9- -0x125,_0x308e27);}_0x4c2960['uniforms'][_0x48c74b(_0x3daa9f._0x414667,0x9c5)]=Cesium__namespace['Matrix4'][_0x48c74b(0x1681,0x1666)](this['_reflectorProjectionMatrix']),_0x4c2960[_0x42301b(_0x3daa9f._0x365466,0x13b1)]['reflectorViewMatrix']=Cesium__namespace['Matrix4']['toArray'](this['_reflectorViewMatrix']),this['_primitive']['show']=!![],_0x276d21['_defaultView'][_0x42301b(_0x3daa9f._0x532acd,_0x3daa9f._0x3b85c3)]=_0x5b7b69,_0x276d21['shadowMap']=_0x3bcb0d,_0x276d21['globe'][_0x42301b(0x107f,0x14b7)]=_0x48858c,_0x276d21['globe']['showSkirts']=_0x11dbee,_0x276d21['logarithmicDepthBuffer']=_0x195007;}['_updateVirtualCamera'](_0x1f58d3){const _0x50e284={_0x27c83b:0x92,_0x1e298a:0x15d,_0x260fe8:0xa7,_0x3d04f9:0x9ea,_0x2561e3:0xf78,_0x142bce:0x12ca,_0x3a927f:0x4e6,_0x4b0846:0x16c4,_0x5b33d4:0x11fc,_0x1553f0:0x1186,_0x43100a:0x15e,_0x2a68bb:0x11fc,_0x319356:0x2db,_0x548f17:0xd,_0x2c5ad0:0xc5,_0x44580d:0x4b7,_0x4b5474:0x922,_0x5eece8:0xdc9,_0x3e35d5:0x22b,_0x175923:0x679,_0x3e900d:0xad,_0x387d7d:0x22b,_0x219a9d:0x8c6,_0x3be942:0x73f,_0x43f9ae:0x1aa,_0x3f40d0:0x469,_0x2d0aed:0x1028,_0x4a3bde:0x44c},_0x1a7f49=new Cesium__namespace['Cartesian3'](0x0,0x0,-0x1);function _0x1bc44d(_0xeaca10,_0x120eab){return _0x7afdbe(_0xeaca10,_0x120eab- -0x24b);}let _0x4b726b=new Cesium__namespace['Cartesian3']();this[_0x47eeaa(-_0x50e284._0x27c83b,_0x50e284._0x1e298a)]=Cesium__namespace[_0x1bc44d(-_0x50e284._0x260fe8,_0x50e284._0x3d04f9)]['clone'](_0x1f58d3,this['_virtualCamera']);const _0x1503ff=_0x1f58d3[_0x1bc44d(0x1348,0xd35)]['clone']();let _0x37e9db=Cesium__namespace[_0x1bc44d(0x16e5,0x12ca)]['subtract'](this['_reflectorWorldPosition'],_0x1503ff,new Cesium__namespace[(_0x1bc44d(_0x50e284._0x2561e3,_0x50e284._0x142bce))]());if(Cesium__namespace['Cartesian3']['dot'](_0x37e9db,this['_normal'])>0x0)return![];_0x37e9db=getReflectVector(_0x37e9db,this[_0x1bc44d(0x191a,0xe97)]),Cesium__namespace['Cartesian3'][_0x1bc44d(0x1044,0xab7)](_0x37e9db,_0x37e9db),Cesium__namespace['Cartesian3']['add'](_0x37e9db,this['_reflectorWorldPosition'],_0x37e9db),this[_0x1bc44d(_0x50e284._0x3a927f,0x22b)][_0x1bc44d(0x1ff5,_0x50e284._0x4b0846)]=_0x37e9db['clone'](),Cesium__namespace['Cartesian3'][_0x1bc44d(0x6a3,0x673)](_0x1f58d3['directionWC'],_0x1503ff,_0x1a7f49),Cesium__namespace[_0x1bc44d(0x1777,_0x50e284._0x142bce)]['subtract'](this['_reflectorWorldPosition'],_0x1a7f49,_0x4b726b),_0x4b726b=getReflectVector(_0x4b726b,this['_normal']),Cesium__namespace['Cartesian3']['negate'](_0x4b726b,_0x4b726b),Cesium__namespace['Cartesian3']['add'](_0x4b726b,this['_reflectorWorldPosition'],_0x4b726b),this['_virtualCamera']['direction']=Cesium__namespace[_0x47eeaa(0x1bb8,_0x50e284._0x5b33d4)]['subtract'](_0x4b726b,this['_virtualCamera'][_0x1bc44d(0x1aa0,0x16c4)],new Cesium__namespace['Cartesian3']()),Cesium__namespace['Cartesian3'][_0x47eeaa(0xc43,_0x50e284._0x1553f0)](this['_virtualCamera']['direction'],this['_virtualCamera']['direction']),Cesium__namespace['Cartesian3']['add'](_0x1f58d3['upWC'],_0x1503ff,_0x1a7f49),Cesium__namespace['Cartesian3'][_0x1bc44d(0xc8d,0x688)](this[_0x47eeaa(-_0x50e284._0x43100a,0x88c)],_0x1a7f49,_0x4b726b),_0x4b726b=getReflectVector(_0x4b726b,this['_normal']),Cesium__namespace['Cartesian3']['negate'](_0x4b726b,_0x4b726b),Cesium__namespace[_0x47eeaa(0x1a7b,_0x50e284._0x2a68bb)][_0x1bc44d(0x4dc,0x673)](_0x4b726b,this[_0x1bc44d(0xc44,0x95a)],_0x4b726b),this['_virtualCamera']['up']=Cesium__namespace['Cartesian3'][_0x47eeaa(-_0x50e284._0x319356,0x5ba)](_0x4b726b,this[_0x47eeaa(_0x50e284._0x548f17,0x15d)][_0x1bc44d(0x1b32,0x16c4)],new Cesium__namespace[(_0x47eeaa(0x1515,0x11fc))]()),Cesium__namespace['Cartesian3']['normalize'](this['_virtualCamera']['up'],this[_0x47eeaa(-_0x50e284._0x2c5ad0,0x15d)]['up']),this['_reflectorProjectionMatrix']=this[_0x1bc44d(-0x2ca,0x22b)][_0x1bc44d(0x1a62,0x1028)][_0x1bc44d(-0x3ed,_0x50e284._0x44580d)],this['_reflectorViewMatrix']=this['_virtualCamera'][_0x47eeaa(0x12f5,_0x50e284._0x4b5474)];function _0x47eeaa(_0x421d7a,_0xefc75e){return _0x7afdbe(_0x421d7a,_0xefc75e- -0x319);}const _0x350bfc=Cesium__namespace['Plane']['fromPointNormal'](this['_reflectorWorldPosition'],this[_0x47eeaa(0x63f,_0x50e284._0x5eece8)]);Cesium__namespace['Plane']['transform'](_0x350bfc,this[_0x1bc44d(0xb56,_0x50e284._0x3e35d5)]['viewMatrix'],_0x350bfc);const _0x5e67bf=new Cesium__namespace[(_0x47eeaa(_0x50e284._0x175923,0x671))](_0x350bfc['normal']['x'],_0x350bfc[_0x47eeaa(-_0x50e284._0x3e900d,0x351)]['y'],_0x350bfc['normal']['z'],_0x350bfc['distance']),_0x22aaba=Cesium__namespace['Matrix4']['clone'](this[_0x1bc44d(-0x3b6,_0x50e284._0x387d7d)]['frustum']['projectionMatrix']),_0x29d453=new Cesium__namespace[(_0x1bc44d(0x9f4,0x73f))]((Math['sign'](_0x5e67bf['x'])+_0x22aaba[0x8])/_0x22aaba[0x0],(Math['sign'](_0x5e67bf['y'])+_0x22aaba[0x9])/_0x22aaba[0x5],-0x1,(0x1+_0x22aaba[0xa])/_0x22aaba[0xe]);Cesium__namespace[_0x1bc44d(_0x50e284._0x219a9d,_0x50e284._0x3be942)][_0x1bc44d(_0x50e284._0x43f9ae,_0x50e284._0x3f40d0)](_0x5e67bf,0x2/Cesium__namespace['Cartesian4']['dot'](_0x5e67bf,_0x29d453),_0x5e67bf);const _0x18be02=0x0;return _0x22aaba[0x2]=_0x5e67bf['x'],_0x22aaba[0x6]=_0x5e67bf['y'],_0x22aaba[0xa]=_0x5e67bf['z']+0x1-_0x18be02,_0x22aaba[0xe]=_0x5e67bf['w'],this['_virtualCamera'][_0x1bc44d(0xf32,_0x50e284._0x2d0aed)][_0x1bc44d(_0x50e284._0x4a3bde,0x8de)]=Cesium__namespace['Matrix4']['clone'](_0x22aaba),!![];}['_getFixedFrameToEastNorthUpTransformFromWorldMatrix'](){const _0x4fc24c={_0x1595a8:0xeaf},_0x1d8690=Cesium__namespace['Transforms'][_0x1c7839(0x12e7,_0x4fc24c._0x1595a8)](this['_reflectorWorldPosition']);function _0x1c7839(_0x4e174d,_0x22bce7){return _0x7afdbe(_0x4e174d,_0x22bce7- -0x619);}const _0x5b7800=Cesium__namespace['Matrix4'][_0x190766(0x1a57,0x1585)](_0x1d8690,new Cesium__namespace['Matrix4']());function _0x190766(_0x140368,_0x1939d5){return _0x54a7f1(_0x1939d5-0x177,_0x140368);}return _0x5b7800;}[_0x54a7f1(0x860,0x81b)](_0x4f8188,_0x19bd0f,_0x6914ad,_0x351f6a){const _0x30c47f={_0x292b43:0x162b,_0x3c317a:0x3c2,_0x5e0e8d:0x69,_0x3adccc:0x155,_0xa9b8b9:0xa5d,_0x2b766f:0x587,_0x264a7a:0xb16,_0x4c6ebf:0x16cd,_0x120cd8:0x12fc,_0x552a82:0x46,_0x274ba3:0x429,_0x309b71:0x4a9};function _0x5baba6(_0x1dd340,_0x3f8878){return _0x54a7f1(_0x1dd340- -0x508,_0x3f8878);}const _0x178ef3=this['_colorTexture'];if(Cesium__namespace['defined'](_0x178ef3)&&_0x178ef3['width']===_0x19bd0f&&_0x178ef3['height']===_0x6914ad&&this['_hdr']===_0x351f6a)return;this['_destroyResource'](),this['_hdr']=_0x351f6a;let _0x158daf;_0x351f6a?_0x158daf=_0x4f8188[_0x5a9b7f(_0x30c47f._0x292b43,0xba4)]?Cesium__namespace[_0x5a9b7f(-_0x30c47f._0x3c317a,-_0x30c47f._0x5e0e8d)]['HALF_FLOAT']:Cesium__namespace[_0x5baba6(-_0x30c47f._0x3adccc,-_0x30c47f._0xa9b8b9)]['FLOAT']:_0x158daf=Cesium__namespace[_0x5a9b7f(_0x30c47f._0x2b766f,-0x69)][_0x5a9b7f(-0x480,-0x29)];this['_colorTexture']=new Cesium__namespace['Texture']({'context':_0x4f8188,'width':_0x19bd0f,'height':_0x6914ad,'pixelFormat':Cesium__namespace[_0x5baba6(_0x30c47f._0x264a7a,0x1538)]['RGBA'],'pixelDatatype':_0x158daf,'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap'][_0x5a9b7f(_0x30c47f._0x4c6ebf,_0x30c47f._0x120cd8)],'wrapT':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'minificationFilter':Cesium__namespace[_0x5baba6(0x7da,0xe8b)]['LINEAR'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter'][_0x5baba6(-_0x30c47f._0x552a82,-0x587)]})}),this[_0x5a9b7f(-_0x30c47f._0x274ba3,_0x30c47f._0x309b71)]=new Cesium__namespace[(_0x5a9b7f(0x1b3e,0x1350))]({'context':_0x4f8188,'width':_0x19bd0f,'height':_0x6914ad,'pixelFormat':Cesium__namespace[_0x5a9b7f(0xd6a,0xc02)]['DEPTH_STENCIL'],'pixelDatatype':Cesium__namespace['PixelDatatype'][_0x5a9b7f(-0x4ae,0x3f6)]});function _0x5a9b7f(_0x19ed40,_0x128d68){return _0x7afdbe(_0x19ed40,_0x128d68- -0x64a);}this['_colorFramebuffer']=new Cesium__namespace['Framebuffer']({'context':_0x4f8188,'colorTextures':[this['_colorTexture']],'depthStencilTexture':this['_depthStencilTexture'],'destroyAttachments':![]});}['_destroyResource'](){const _0x124639={_0x1c060e:0x7cc,_0x36a72e:0x91f,_0x27c316:0x299,_0x3a969c:0x84d,_0x2dfdbe:0x1517,_0x3edefd:0x6c0},_0x1255f9={_0x205fb5:0x199};this['_colorTexture']&&this['_colorTexture'][_0x55e8fc(0x299,-_0x124639._0x1c060e)](),this[_0x55e8fc(_0x124639._0x36a72e,0x70a)]=undefined;function _0x55e8fc(_0x193d2f,_0x4ee9bc){return _0x54a7f1(_0x193d2f- -_0x1255f9._0x205fb5,_0x4ee9bc);}this[_0x10212f(0xf1d,0x5cd)]&&this[_0x10212f(0xea4,0x5cd)][_0x55e8fc(_0x124639._0x27c316,_0x124639._0x3a969c)](),this['_depthStencilTexture']=undefined;function _0x10212f(_0x118f83,_0x389b25){return _0x54a7f1(_0x389b25- -0x2f8,_0x118f83);}this[_0x55e8fc(_0x124639._0x2dfdbe,0x1661)]&&this['_colorFramebuffer'][_0x10212f(-_0x124639._0x3edefd,0x13a)](),this['_colorFramebuffer']=undefined;}['_bindFun'](){const _0x212c2f={_0x5b06fe:0xf57,_0x252f17:0x220,_0x502b5c:0x7fb,_0x391549:0x3ff,_0x2dbcbe:0x10,_0x570b9a:0xf09,_0x516309:0xeb1,_0x4a713f:0xb49,_0x56240c:0x722},_0x566c2a={_0x5dbdc7:0x5c0,_0x134b4e:0x1174,_0x16c421:0x9d7,_0xe8c05f:0x6bc,_0x463604:0xf07,_0x298619:0xe56,_0x5b1dad:0x7ba,_0x10c450:0x1465,_0x4cd45c:0x18f1,_0x361300:0x1381,_0x3f54b5:0x137b,_0x8637b1:0x7d9,_0x58fcaa:0xb88,_0x5a3306:0x1346,_0x27c63c:0xb23,_0x1b67d3:0xe75,_0x5c5bbe:0x17d7,_0xe7cb07:0x262,_0x59a138:0x213,_0x512c31:0x11d8};function _0x14532d(_0x36d215,_0x3b3ae6){return _0x54a7f1(_0x3b3ae6-0x1eb,_0x36d215);}function _0x218eb8(_0x54e7c4,_0x47f08c){return _0x54a7f1(_0x54e7c4- -0x3f0,_0x47f08c);}this[_0x218eb8(0x961,_0x212c2f._0x5b06fe)]=Cesium__namespace['UniformState'][_0x218eb8(_0x212c2f._0x252f17,0x98)]['updateFrustum'],Cesium__namespace['UniformState'][_0x14532d(0x11e5,_0x212c2f._0x502b5c)][_0x218eb8(0x6bf,0x2df)]=function(_0x9ad6b1){Cesium__namespace[_0x212607(0xaa4,_0x566c2a._0x5dbdc7)][_0x212607(_0x566c2a._0x134b4e,_0x566c2a._0x16c421)](Cesium__namespace['defaultValue'](_0x9ad6b1['customProjectionMatrix'],_0x9ad6b1[_0x212607(0x116,_0x566c2a._0xe8c05f)]),this[_0x49f9ce(_0x566c2a._0x463604,_0x566c2a._0x298619)]),this[_0x49f9ce(_0x566c2a._0x5b1dad,0xc00)]=!![],this[_0x49f9ce(0x136a,0x154e)]=!![];function _0x49f9ce(_0x57a6e8,_0x20c19b){return _0x218eb8(_0x20c19b-0x1d4,_0x57a6e8);}this['_inverseViewProjectionDirty']=!![],this['_modelViewProjectionDirty']=!![],this['_modelViewProjectionRelativeToEyeDirty']=!![];Cesium__namespace[_0x49f9ce(0x1a2d,_0x566c2a._0x10c450)](_0x9ad6b1[_0x49f9ce(_0x566c2a._0x4cd45c,0x137b)])&&(Cesium__namespace[_0x49f9ce(-0x892,0x1bc)]['clone'](_0x9ad6b1[_0x49f9ce(_0x566c2a._0x361300,_0x566c2a._0x3f54b5)],this[_0x212607(0xab5,0x1138)]),this[_0x212607(_0x566c2a._0x8637b1,_0x566c2a._0x58fcaa)]=!![]);this['_currentFrustum']['x']=_0x9ad6b1['near'],this[_0x212607(0x2084,0x16c7)]['y']=_0x9ad6b1[_0x49f9ce(0x1520,0x1570)];function _0x212607(_0x3b228e,_0x47585b){return _0x218eb8(_0x47585b-0x5d8,_0x3b228e);}this[_0x212607(_0x566c2a._0x5a3306,_0x566c2a._0x27c63c)]=_0x9ad6b1['far']-_0x9ad6b1['near']+0x1,this[_0x212607(0xd0a,_0x566c2a._0x1b67d3)]=Cesium__namespace[_0x212607(0x1cab,0x1494)]['log2'](this[_0x212607(0x2ca,_0x566c2a._0x27c63c)]),this['_oneOverLog2FarDepthFromNearPlusOne']=0x1/this[_0x212607(_0x566c2a._0x5c5bbe,0xe75)],Cesium__namespace['defined'](_0x9ad6b1['_offCenterFrustum'])&&(_0x9ad6b1=_0x9ad6b1['_offCenterFrustum']),this['_frustumPlanes']['x']=_0x9ad6b1['top'],this['_frustumPlanes']['y']=_0x9ad6b1['bottom'],this[_0x49f9ce(_0x566c2a._0xe7cb07,_0x566c2a._0x59a138)]['z']=_0x9ad6b1['left'],this[_0x49f9ce(0x4f6,0x213)]['w']=_0x9ad6b1[_0x212607(_0x566c2a._0x512c31,0x831)];};const _0xe70d57=Cesium__namespace['PerspectiveFrustum']['prototype'][_0x218eb8(_0x212c2f._0x391549,-_0x212c2f._0x2dbcbe)];Cesium__namespace[_0x14532d(_0x212c2f._0x570b9a,_0x212c2f._0x516309)]['prototype']['clone']=function(_0x1f7d08){_0x1f7d08=_0xe70d57['bind'](this)(_0x1f7d08),_0x1f7d08['customProjectionMatrix']=this[_0x1a74bf(0x5eb,0x8df)];function _0x1a74bf(_0x415b6e,_0x13cb53){return _0x14532d(_0x13cb53,_0x415b6e- -0x4fb);}return _0x1f7d08;},this[_0x218eb8(_0x212c2f._0x4a713f,_0x212c2f._0x56240c)]=_0xe70d57;}[_0x7afdbe(0x1301,0xfbf)](){const _0x221bd2={_0x5549aa:0x3fe,_0x4674dc:0x6fe},_0x535e15={_0x11a67c:0x4e1};function _0x57825c(_0x5d8196,_0xf97fb3){return _0x54a7f1(_0xf97fb3- -_0x535e15._0x11a67c,_0x5d8196);}function _0x26041d(_0x27f6b3,_0x50cfd7){return _0x54a7f1(_0x50cfd7-0xee,_0x27f6b3);}Cesium__namespace['UniformState']['prototype'][_0x57825c(_0x221bd2._0x5549aa,0x5ce)]=this['_UniformState_updateFrustum_old'],Cesium__namespace['PerspectiveFrustum'][_0x26041d(0x893,_0x221bd2._0x4674dc)]['clone']=this['_PerspectiveFrustum_clone_old'];}['_getDrawEntityClass'](_0x40c82f,_0x58b4c7){const _0x49ac04={_0x348a7f:0x10b6,_0x380125:0x13fe};function _0x403ea6(_0x4ff86d,_0x6782a2){return _0x54a7f1(_0x6782a2- -0x1ef,_0x4ff86d);}return _0x40c82f['style']['materialType']=_0x403ea6(_0x49ac04._0x348a7f,_0x49ac04._0x380125),create$5('polygon',_0x40c82f);}}register$5('reflectionWater',ReflectionWater);const scratchBackgroundColor=new Cesium__namespace['Color'](),renderTilesetPassState=new Cesium__namespace['Cesium3DTilePassState']({'pass':Cesium__namespace[_0x7afdbe(0x15d8,0xce3)][_0x54a7f1(0x462,-0x643)]});function render(_0xad2de1,_0x1c7818){const _0x5c5c1b={_0x26a349:0xad5,_0x1e0766:0x674,_0x4f9e96:0x1235,_0x43bc29:0x101b,_0x41dcab:0xa8c,_0x3c9ea7:0xa22,_0x3f3173:0x129f,_0xd7f6ac:0xe66,_0x129afe:0x1751,_0x3f6ca8:0x13fc,_0x5020cd:0x113c,_0x4d7d09:0xb03,_0x2f65c3:0x105c,_0x69c1e2:0x105c,_0x2568db:0x1a0c,_0x4a43b9:0x1070,_0x4fe08a:0x177b,_0x56e540:0x19d4,_0xaea73d:0x1035,_0x1e3aca:0x13e1,_0x228cb9:0xd5d,_0x238900:0x107f,_0x39ef42:0x536,_0x2d389a:0xd82,_0x55ad0e:0x12a3,_0x6f28ae:0xd57,_0x457e99:0x5b4,_0x4a46bb:0x96b,_0x2feddf:0x16,_0x2cca35:0xb7f},_0x55f430=_0xad2de1['_frameState'],_0x130394=_0xad2de1[_0x4ae60f(-0x2a9,0x81f)],_0x157ec7=_0x130394['uniformState'],_0x15383e=_0xad2de1[_0x48f817(0x307,_0x5c5c1b._0x26a349)];_0xad2de1['_view']=_0x15383e,_0xad2de1['updateFrameState'](),_0x55f430['passes']['render']=!![],_0x55f430[_0x48f817(0x481,0xe0a)]['postProcess']=_0xad2de1['postProcessStages']['hasSelected'],_0x55f430[_0x4ae60f(0xe28,_0x5c5c1b._0x1e0766)]=renderTilesetPassState;let _0x30636c=_0xad2de1['backgroundColor']??Cesium__namespace['Color'][_0x48f817(0x1031,0xf39)];_0xad2de1[_0x48f817(0x1b08,0x1315)]&&(_0x30636c=Cesium__namespace[_0x4ae60f(_0x5c5c1b._0x4f9e96,_0x5c5c1b._0x43bc29)]['clone'](_0x30636c,scratchBackgroundColor),_0x30636c[_0x4ae60f(_0x5c5c1b._0x41dcab,0x1186)]=Math[_0x4ae60f(-_0x5c5c1b._0x3c9ea7,0x2c)](_0x30636c[_0x4ae60f(0x7eb,0x1186)],_0xad2de1[_0x48f817(_0x5c5c1b._0x3f3173,_0x5c5c1b._0xd7f6ac)]),_0x30636c[_0x4ae60f(_0x5c5c1b._0x129afe,_0x5c5c1b._0x3f6ca8)]=Math['pow'](_0x30636c['green'],_0xad2de1[_0x4ae60f(_0x5c5c1b._0x5020cd,_0x5c5c1b._0x4d7d09)]),_0x30636c[_0x48f817(0x16a4,_0x5c5c1b._0x2f65c3)]=Math['pow'](_0x30636c[_0x48f817(0xedd,_0x5c5c1b._0x69c1e2)],_0xad2de1[_0x4ae60f(0x8b6,_0x5c5c1b._0x4d7d09)]));_0x55f430[_0x4ae60f(_0x5c5c1b._0x2568db,_0x5c5c1b._0x4a43b9)]=_0x30636c,_0xad2de1['fog']['update'](_0x55f430),_0x157ec7['update'](_0x55f430);const _0x18a6a2=_0xad2de1['shadowMap'];function _0x48f817(_0x17a62,_0x132504){return _0x54a7f1(_0x132504-0xfa,_0x17a62);}Cesium__namespace[_0x48f817(0x1e8b,_0x5c5c1b._0x4fe08a)](_0x18a6a2)&&_0x18a6a2['enabled']&&(!Cesium__namespace['defined'](_0xad2de1[_0x4ae60f(_0x5c5c1b._0x56e540,_0x5c5c1b._0xaea73d)])||_0xad2de1[_0x4ae60f(0x1673,0x1035)]instanceof Cesium__namespace['SunLight']?Cesium__namespace['Cartesian3']['negate'](_0x157ec7['sunDirectionWC'],_0xad2de1['_shadowMapCamera']['direction']):Cesium__namespace[_0x48f817(0x1bc1,_0x5c5c1b._0x1e3aca)][_0x4ae60f(-0xa9,0x586)](_0xad2de1[_0x4ae60f(0x137f,0x1035)]['direction'],_0xad2de1['_shadowMapCamera']['direction']),_0x55f430[_0x48f817(_0x5c5c1b._0x228cb9,0x1079)][_0x4ae60f(0x69b,0xc9f)](_0x18a6a2));_0xad2de1['_computeCommandList']['length']=0x0,_0xad2de1[_0x4ae60f(0x13ab,0x111b)][_0x48f817(0x1a7e,_0x5c5c1b._0x238900)]=0x0;const _0x2f653a=_0x15383e[_0x4ae60f(_0x5c5c1b._0x39ef42,_0x5c5c1b._0x2d389a)];_0x2f653a['x']=0x0,_0x2f653a['y']=0x0,_0x2f653a[_0x4ae60f(0xe80,0x12ee)]=_0x130394['drawingBufferWidth'];function _0x4ae60f(_0x2ceda6,_0x4df4ed){return _0x54a7f1(_0x4df4ed- -0x269,_0x2ceda6);}_0x2f653a['height']=_0x130394['drawingBufferHeight'];const _0x241ca3=_0x15383e[_0x4ae60f(0x5f5,0xe02)];_0x241ca3['framebuffer']=_0x1c7818,_0x241ca3['blendingEnabled']=undefined,_0x241ca3[_0x48f817(_0x5c5c1b._0x55ad0e,0xa5e)]=undefined,_0x241ca3[_0x48f817(_0x5c5c1b._0x6f28ae,0x10e5)]=Cesium__namespace[_0x4ae60f(-0x143,_0x5c5c1b._0x457e99)][_0x48f817(0x1030,0x8e9)](_0x2f653a,_0x241ca3[_0x4ae60f(_0x5c5c1b._0x4a46bb,0xd82)]),Cesium__namespace['defined'](_0xad2de1[_0x4ae60f(0x7b6,_0x5c5c1b._0x2feddf)])&&_0xad2de1['globe']['beginFrame'](_0x55f430),_0xad2de1[_0x48f817(0x279,_0x5c5c1b._0x2cca35)](),_0xad2de1['updateAndExecuteCommands'](_0x241ca3,_0x30636c),_0xad2de1[_0x4ae60f(0x558,0x954)](_0x241ca3),Cesium__namespace[_0x48f817(0x1a9e,0x177b)](_0xad2de1['globe'])&&(_0xad2de1['globe'][_0x48f817(0x508,0x3fe)](_0x55f430),!_0xad2de1['globe']['tilesLoaded']&&(_0xad2de1['_renderRequested']=!![])),_0x130394['endFrame']();}class EditPolygonGrid extends EditPoly{get['hasClosure'](){return this['_graphic']['hasClosure']??!![];}get['clampToGround'](){return![];}[_0x54a7f1(0x2f2,0x670)](){const _0x361ec4={_0x1a15d7:0x656,_0x306455:0x1001,_0x8f54b6:0x209,_0x58fe73:0x59b,_0x56b2be:0x136a,_0x362d59:0xf09,_0x5867b0:0xdbe},_0x421b18={_0x243e9d:0x22d};function _0x31650d(_0x82c502,_0x5629e0){return _0x7afdbe(_0x5629e0,_0x82c502- -_0x421b18._0x243e9d);}const _0x4040f1=this['getGridPositions'](this[_0x31650d(0x10f0,0xdf1)]);function _0x515613(_0x24c642,_0x5d54ea){return _0x7afdbe(_0x24c642,_0x5d54ea- -0x1b2);}for(let _0x1b0223=0x0,_0x5640b0=_0x4040f1[_0x515613(_0x361ec4._0x1a15d7,_0x361ec4._0x306455)];_0x1b0223<_0x5640b0;_0x1b0223++){const _0x3b13ce=this['updatePositionsHeightByAttr'](_0x4040f1[_0x1b0223]),_0x34b37f=this[_0x515613(-_0x361ec4._0x8f54b6,_0x361ec4._0x58fe73)]({'position':_0x3b13ce,'onDrag':(_0x4033cc,_0x5c1bca)=>{const _0x4081a5={_0x1d065c:0x1be};_0x5c1bca=this['updatePositionsHeightByAttr'](_0x5c1bca),_0x4033cc['position']=_0x5c1bca,_0x4040f1[_0x4033cc['index']]=_0x5c1bca;function _0x2d0c21(_0x329c85,_0x4da8d){return _0x515613(_0x4da8d,_0x329c85- -_0x4081a5._0x1d065c);}this[_0x2d0c21(0x644,-0x1d2)](_0x5c1bca,_0x4033cc['index']);}});_0x34b37f['index']=_0x1b0223,this[_0x31650d(_0x361ec4._0x56b2be,0x1143)][_0x31650d(_0x361ec4._0x362d59,_0x361ec4._0x5867b0)](_0x34b37f);}}}const _0x215960={};_0x215960[_0x54a7f1(0x35a,0x59e)]=0x1,_0x215960['globalAlpha']=0x1;const DEF_STYLE$h=_0x215960;class VideoPrimitive extends BasePolyPrimitive{constructor(_0x1e649a={}){const _0x44b92f={_0x55755b:0xc74},_0x37016d={_0x4589f2:0x26a};_0x1e649a['style']={...DEF_STYLE$h,..._0x1e649a[_0x5e1540(0x232,-0x1d9)]},super(_0x1e649a),this[_0x5e1540(_0x44b92f._0x55755b,0x16f0)]=0x4;function _0x2cf3e6(_0x10631c,_0x2ecd9a){return _0x54a7f1(_0x2ecd9a- -0x1d8,_0x10631c);}function _0x5e1540(_0x2a97e2,_0x4bed06){return _0x54a7f1(_0x2a97e2- -_0x37016d._0x4589f2,_0x4bed06);}this['maxPointNum']=0x4,this['_grids']=_0x1e649a[_0x5e1540(0x1018,0x176e)]??0x4,this['_useROI']=![],this[_0x5e1540(0xecd,0x7cf)]=![],this['_roiUV']=[[0x0,0x1],[0x1,0x1],[0x1,0x0],[0x0,0x0]];}get['czmObject'](){const _0x5c18e3={_0x305cba:0x144d};function _0x52530f(_0x1c44f0,_0x414050){return _0x54a7f1(_0x1c44f0-0xa3,_0x414050);}return this[_0x52530f(_0x5c18e3._0x305cba,0x10a3)];}get[_0x7afdbe(0x2106,0x177f)](){return this['options']['rois'];}set['rois'](_0x5b0825){const _0x53fcce={_0x52980a:0x853},_0x1b11fa={_0x361f85:0x3a},_0x3d41b5={_0x4e5338:0x273};function _0x30aa3a(_0x3d2b75,_0x414461){return _0x54a7f1(_0x414461-_0x3d41b5._0x4e5338,_0x3d2b75);}this['options']['rois']=_0x5b0825;function _0x1451eb(_0x2101fc,_0x14dcd4){return _0x54a7f1(_0x14dcd4-_0x1b11fa._0x361f85,_0x2101fc);}if((_0x5b0825===null||_0x5b0825===void 0x0?void 0x0:_0x5b0825['length'])>0x0){let _0x5880fc=[];_0x5b0825[_0x1451eb(0x100e,0x67f)](_0x43550c=>{_0x5880fc=_0x5880fc['concat']([_0x43550c[0x0],_0x43550c[0x1],0x0,0x0]);}),this['_roiUV']=_0x5880fc,this[_0x30aa3a(0xefd,0x853)]=!![];}else this[_0x1451eb(0xd70,0x10a6)]=[[0x0,0x1],[0x1,0x1],[0x1,0x0],[0x0,0x0]],this[_0x30aa3a(0x129f,_0x53fcce._0x52980a)]=![];this['update']();}['_addedHook'](_0x117dda){const _0x1a53d9={_0x487cb9:0x8c8,_0x71e008:0xec1,_0x414c66:0x1369,_0x5d620a:0xef2,_0x44b343:0x1a,_0xebd9ac:0x5f6,_0x1d8f19:0x13e,_0x11d48b:0x13aa,_0x2eace8:0x12cd,_0x39e34c:0x709,_0x2fa94c:0x9fc,_0x55f568:0x1aca,_0x113a92:0x185,_0x516cb5:0xf7c,_0x522592:0x610,_0x4ad1c9:0x1204,_0x697eb4:0xd48},_0x4f719d={_0x41a62e:0x3d5},_0x2cfad8=this['positions'];if(!this[_0x2b190f(_0x1a53d9._0x487cb9,0x971)]()||!_0x2cfad8||_0x2cfad8['length']===0x0)return;this[_0x17033f(_0x1a53d9._0x71e008,0x790)]();function _0x2b190f(_0xdfc04a,_0x121125){return _0x7afdbe(_0x121125,_0xdfc04a- -_0x4f719d._0x41a62e);}const {positions:_0x5c7788,uv:_0x32e8c7,indice:_0x59d689}=getGridPositions(_0x2cfad8,this[_0x17033f(0x1cee,_0x1a53d9._0x414c66)]);this[_0x2b190f(_0x1a53d9._0x5d620a,0xdb7)]=this[_0x17033f(_0x1a53d9._0x44b343,_0x1a53d9._0xebd9ac)]['positions_grid']??_0x5c7788,this[_0x2b190f(0x81,_0x1a53d9._0x1d8f19)]=_0x32e8c7,this['_indice']=_0x59d689;this['options'][_0x2b190f(0x13aa,0x96a)]&&(this[_0x2b190f(_0x1a53d9._0x11d48b,_0x1a53d9._0x2eace8)]=this[_0x2b190f(_0x1a53d9._0x39e34c,0x2fe)][_0x2b190f(0x13aa,0x16c3)]);this[_0x2b190f(0x1203,0x8df)]&&(this['primitiveCollection']['remove'](this['_primitive']),delete this[_0x17033f(_0x1a53d9._0x2fa94c,0x10f0)]);this['_primitive']=this['_createVideoPrimitive'](),this[_0x2b190f(0x11a6,0x13e3)](this[_0x17033f(_0x1a53d9._0x55f568,0x10f0)]);function _0x17033f(_0x1ac5c9,_0x3e1cf9){return _0x54a7f1(_0x3e1cf9- -0x2ba,_0x1ac5c9);}this[_0x17033f(0x626,_0x1a53d9._0x113a92)]['add'](this['_primitive']),_0x117dda['label']&&this[_0x2b190f(_0x1a53d9._0x516cb5,_0x1a53d9._0x522592)](_0x117dda['label']),this[_0x17033f(0x13df,_0x1a53d9._0x4ad1c9)]&&this[_0x17033f(0xc45,0x88e)](this[_0x2b190f(0x1317,_0x1a53d9._0x697eb4)]);}[_0x54a7f1(0xa4f,0xd22)](){const _0xbca03f={_0x3f4c3f:0x12a4,_0x46d375:0xe39,_0x23c9b4:0x149e};function _0x402ce6(_0x1a84bd,_0xd70fa2){return _0x54a7f1(_0x1a84bd-0x145,_0xd70fa2);}!this[_0x402ce6(0x1443,0xd97)]&&(this[_0x4bef70(0xdb7,_0xbca03f._0x3f4c3f)](),this['stopEditing']());function _0x4bef70(_0x49ba1d,_0x2cec62){return _0x54a7f1(_0x2cec62-0x159,_0x49ba1d);}this[_0x4bef70(_0xbca03f._0x46d375,_0xbca03f._0x23c9b4)](),this[_0x4bef70(0x19e0,0x1503)]&&(this['primitiveCollection']['remove'](this[_0x4bef70(0xcad,0x1503)]),delete this['_primitive']);}[_0x7afdbe(0x6df,0xcb0)](_0x545cf5){const _0x1ab496={_0xfa7eee:0xd7d};this['isAdded']&&this['show']&&this[_0x53915a(_0x1ab496._0xfa7eee,0xbdf)](_0x545cf5||this[_0x44116c(0x43e,0xdc)]);function _0x53915a(_0x3307d6,_0x7e1d){return _0x54a7f1(_0x3307d6- -0x3a4,_0x7e1d);}function _0x44116c(_0x2d31f6,_0xa562be){return _0x7afdbe(_0xa562be,_0x2d31f6- -0x28c);}return this;}[_0x7afdbe(0x6ca,0xb6d)](){const _0x4a454a={_0x3c7ff1:0x104b,_0x56dbbf:0xeb0,_0x37d44d:0xe0,_0x1df526:0x512},_0x3885d8={_0x228eaa:0x410};this[_0x4199c1(0xcd2,_0x4a454a._0x3c7ff1)]&&this['primitiveCollection']['remove'](this['_primitive']);this[_0x4199c1(0x6bb,0x104b)]=this[_0x4199c1(_0x4a454a._0x56dbbf,0x5c8)]();function _0x56cda1(_0x1f239f,_0x57edfd){return _0x7afdbe(_0x1f239f,_0x57edfd- -_0x3885d8._0x228eaa);}function _0x4199c1(_0x41b9d8,_0x829272){return _0x54a7f1(_0x829272- -0x35f,_0x41b9d8);}this[_0x4199c1(-0x77f,_0x4a454a._0x37d44d)][_0x4199c1(-_0x4a454a._0x1df526,0x331)](this['_primitive']);}['_createVideoPrimitive'](){const _0x1628ed={_0x305899:0x13b5,_0x16e9cf:0xddc,_0x3a7958:0xf6d,_0x5c8b51:0x146f,_0x1fa07a:0x9b8,_0x45568d:0xa41,_0x419f54:0x1258,_0x4827f6:0xaea,_0x32f667:0xdac,_0x2a24a6:0x25c,_0x257294:0xc16,_0x10c016:0x95e,_0x33de52:0x4be,_0xfc0fc7:0x16c8,_0x43a980:0x145d,_0x95b601:0x1216,_0x5c3b2a:0x10a,_0x116fec:0x1293,_0xc6bd86:0x1221},_0x1cf22a={_0x3db66c:0x1aa3},_0x298c63={_0x3671c3:0x1a9},_0x5d79a7=this['_positions_grid'][_0x2c31c5(_0x1628ed._0x305899,_0x1628ed._0x16e9cf)],_0x507589=new Float64Array(_0x5d79a7*0x3);for(let _0x352634=0x0;_0x352634<_0x5d79a7;++_0x352634){_0x507589[_0x352634*0x3]=this[_0x596b51(_0x1628ed._0x3a7958,_0x1628ed._0x5c8b51)][_0x352634]['x'],_0x507589[_0x352634*0x3+0x1]=this[_0x596b51(0xf6d,_0x1628ed._0x1fa07a)][_0x352634]['y'],_0x507589[_0x352634*0x3+0x2]=this[_0x596b51(0xf6d,0xc29)][_0x352634]['z'];}const _0x47d78b=new Cesium__namespace[(_0x2c31c5(0x1275,0x1160))]({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype'][_0x596b51(_0x1628ed._0x45568d,_0x1628ed._0x419f54)],'componentsPerAttribute':0x3,'values':_0x507589}),'st':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(this[_0x2c31c5(_0x1628ed._0x4827f6,0x7f)])})},'indices':new Uint16Array(this['_indice']),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace['BoundingSphere']['fromVertices'](_0x507589)}),_0x3d69b8=new Cesium__namespace[(_0x596b51(_0x1628ed._0x32f667,0x1502))]({'id':this['id'],'geometry':_0x47d78b,'attributes':{'show':new Cesium__namespace[(_0x596b51(0x4f5,0xfa8))](this[_0x596b51(0x14c7,0x19c5)]),'distanceDisplayCondition':new Cesium__namespace[(_0x596b51(0x32e,-_0x1628ed._0x2a24a6))](Number(this['style']['distanceDisplayCondition_near']??0x0),Number(this['style'][_0x2c31c5(_0x1628ed._0x257294,0x4d8)]??Number['MAX_VALUE']))}}),_0x3098bb=Cesium__namespace['Material']['fromType'](_0x2c31c5(0x4de,0x199));_0x3098bb[_0x2c31c5(0x119e,0x1344)]['image']=this['_videoContainer'];const _0x357fea=new Float32Array(this['_roiUV']),_0x2c67bf=_0x357fea[_0x596b51(0xe59,_0x1628ed._0x10c016)]/0x4,_0x2cbe6a={};_0x2cbe6a['width']=_0x2c67bf,_0x2cbe6a[_0x2c31c5(-0x40c,_0x1628ed._0x33de52)]=0x1,_0x2cbe6a[_0x2c31c5(_0x1628ed._0xfc0fc7,_0x1628ed._0x43a980)]=_0x357fea;function _0x2c31c5(_0x263632,_0xb92c3c){return _0x54a7f1(_0xb92c3c- -_0x298c63._0x3671c3,_0x263632);}_0x3098bb['uniforms'][_0x2c31c5(0xdca,0x4c2)]=new Cesium__namespace['Texture']({'context':this['_map']['scene'][_0x596b51(0x95c,0xc6e)],'source':_0x2cbe6a,'pixelDatatype':Cesium__namespace['PixelDatatype']['FLOAT']}),_0x3098bb[_0x2c31c5(0xdc7,_0x1628ed._0x95b601)][_0x596b51(0x819,-_0x1628ed._0x5c3b2a)]=()=>{function _0x45a325(_0x5aa34a,_0x10eeec){return _0x596b51(_0x5aa34a-0x285,_0x10eeec);}return _0x3098bb[_0x45a325(0x1646,_0x1cf22a._0x3db66c)]['roiUV'];},_0x3098bb[_0x596b51(_0x1628ed._0x116fec,0x1011)][_0x2c31c5(0xb0d,0x430)]=()=>{return this['_useROI'];},_0x3098bb['_uniforms'][_0x596b51(0x467,0xcee)]=()=>{return this['_reverseROI'];},_0x3098bb['_uniforms']['opacity']=()=>{return this['style']['opacity'];},_0x3098bb['_uniforms'][_0x596b51(0x739,0x35b)]=()=>{function _0x4a77fa(_0x5f37c7,_0x33c324){return _0x596b51(_0x5f37c7-0x14e,_0x33c324);}return this[_0x4a77fa(0x4be,0x67a)]['globalAlpha']??0x1;};function _0x596b51(_0x26de52,_0x29973a){return _0x7afdbe(_0x29973a,_0x26de52- -0x35a);}_0x3098bb['shaderSource']=_0x2c31c5(0x3eb,0x1d7)+_0x2c67bf+';\x0a\x20\x20\x20\x20\x20\x20uniform\x20sampler2D\x20image_0;\x0a\x20\x20\x20\x20\x20\x20uniform\x20sampler2D\x20roiUV0;\x0a\x20\x20\x20\x20\x20\x20uniform\x20bool\x20useROI;\x0a\x20\x20\x20\x20\x20\x20uniform\x20bool\x20reverseROI;\x0a\x20\x20\x20\x20\x20\x20uniform\x20float\x20opacity;\x0a\x20\x20\x20\x20\x20\x20uniform\x20float\x20globalAlpha;\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20获取指定的由UV坐标定义的poi边界点\x0a\x20\x20\x20\x20\x20\x20vec2\x20getROIuv(sampler2D\x20roi,\x20int\x20index){\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20poiuv\x20=\x20texture(roi,\x20vec2((float(index)\x20+\x200.5)\x20/\x20float(WIDTH),\x200)).xy;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20poiuv;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20//\x20判断UV坐标在不在范围内\x0a\x20\x20\x20\x20\x20\x20bool\x20isInside(vec2\x20uv,\x20sampler2D\x20roi){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bool\x20ifInside\x20=\x20false;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20u\x20=\x20uv.x;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20v\x20=\x20uv.y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20sP\x20=\x20getROIuv(roi,\x200);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20for\x20(int\x20i\x20=\x200;\x20i\x20<\x20100000;\x20i++){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(i\x20>=\x20WIDTH)\x20break;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20int\x20nextIndex\x20=\x20i\x20+\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nextIndex\x20=\x20nextIndex\x20==\x20WIDTH\x20?\x200\x20:\x20nextIndex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20eP\x20=\x20getROIuv(roi,\x20nextIndex);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if((sP.x\x20==\x20u\x20&&\x20sP.y\x20==\x20v)\x20||\x20(eP.x\x20==\x20u\x20&&\x20eP.y\x20==\x20v)){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if((sP.y\x20<\x20v\x20&&\x20eP.y\x20>=\x20v)\x20||\x20(sP.y\x20>=\x20v\x20&&\x20eP.y\x20<\x20v))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20x\x20=\x20sP.x\x20+\x20(v\x20-\x20sP.y)\x20*\x20(eP.x\x20-\x20sP.x)\x20/\x20(eP.y\x20-\x20sP.y);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(x\x20==\x20u){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if(x\x20>\x20u)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ifInside\x20=\x20!ifInside;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sP\x20=\x20eP;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20ifInside;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20czm_material\x20getMaterial(czm_materialInput\x20materialInput){\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uv\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20imageColor\x20=\x20texture(image_0,\x20uv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20imageColor.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20material.alpha\x20=\x20imageColor.a\x20*\x20opacity\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20material;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(useROI){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uv\x20=\x20materialInput.st;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20bool\x20inside\x20=\x20isInside(uv,\x20roiUV0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(inside\x20!=\x20reverseROI)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20getMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20getMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20';const _0x45e25f={'flat':!![],...this['style']};_0x45e25f['material']=_0x3098bb;const _0x26d18b={'geometryInstances':_0x3d69b8,'asynchronous':![],'appearance':new Cesium__namespace['MaterialAppearance'](_0x45e25f)},_0x2c5f8a=new Cesium__namespace['Primitive'](_0x26d18b);return this[_0x596b51(_0x1628ed._0xc6bd86,0x876)](_0x2c5f8a),_0x2c5f8a;}[_0x7afdbe(0x2c1,0xc78)](){const _0x174f06={_0x132ef0:0x181f,_0x4a8b63:0x1ac7,_0x5c47c3:0xf7d,_0x159d54:0x7ee,_0x481e45:0x7ed,_0x239516:0x3,_0x131cdb:0xa43,_0x595879:0xa04,_0x3e6951:0xa43,_0x522212:0xca0,_0x195fc2:0x10b3,_0x331d02:0xc78};function _0x41b15d(_0x3374a2,_0x23de51){return _0x54a7f1(_0x3374a2-0x7b,_0x23de51);}var _0x5884b4;this[_0x4be8aa(0x946,0xe17)]&&(_0x5884b4=this['_videoContainer'])!==null&&_0x5884b4!==void 0x0&&_0x5884b4[_0x4be8aa(_0x174f06._0x132ef0,_0x174f06._0x4a8b63)]&&(this['_videoContainer'][_0x4be8aa(0x181f,0x1420)][_0x4be8aa(0x65e,_0x174f06._0x5c47c3)](this['_videoContainer']),delete this[_0x41b15d(_0x174f06._0x159d54,_0x174f06._0x481e45)],delete this[_0x4be8aa(0xa43,_0x174f06._0x239516)]);function _0x4be8aa(_0x30248f,_0x2b128f){return _0x7afdbe(_0x2b128f,_0x30248f- -0x5b);}if(this[_0x4be8aa(0x66f,0x455)]['url'])this[_0x4be8aa(_0x174f06._0x131cdb,_0x174f06._0x595879)]=createVideo(this['style']['url'],this['style']['fileType'],'',document['body']),this[_0x4be8aa(_0x174f06._0x3e6951,_0x174f06._0x522212)]['style'][_0x41b15d(0x174d,0xea3)]=_0x41b15d(_0x174f06._0x195fc2,0xe7d),this[_0x4be8aa(0x946,0xa91)]=!![];else this['style']['container']&&(this['_videoContainer']=this['style'][_0x41b15d(_0x174f06._0x331d02,0xc0e)]);}['_getDrawEntityClass'](_0x267758,_0x5604b4){const _0x578304={_0x305e12:0x7f9,_0x167497:0x78d,_0x1e353b:0x18f,_0x3ae7fe:0x1ba,_0x3520af:0x5ea,_0x7dc00e:0x566},_0x37f9ee={_0x256dee:0x1b3};_0x267758[_0x15f4f9(0xd2b,0xeed)]=0x4,_0x267758[_0x15f4f9(0x29a,0x3a5)]=0x4,_0x267758[_0x56ffef(0x5e2,_0x578304._0x305e12)][_0x15f4f9(0xf5,-_0x578304._0x167497)]=_0x15f4f9(_0x578304._0x1e353b,_0x578304._0x3ae7fe);const _0x582393={};_0x582393['url']=this['_videoContainer'],_0x267758['style']['materialOptions']=_0x582393;function _0x56ffef(_0x2b42ed,_0x4f77d5){return _0x54a7f1(_0x2b42ed-0x146,_0x4f77d5);}function _0x15f4f9(_0x4ec5e8,_0x18bfec){return _0x54a7f1(_0x4ec5e8- -_0x37f9ee._0x256dee,_0x18bfec);}const _0x4c84c5=create$5(_0x56ffef(_0x578304._0x3520af,_0x578304._0x7dc00e),_0x267758);return _0x4c84c5;}['_startEditingHook'](_0x1f9a44){const _0x41be75={_0x205617:0xf8e};function _0x151681(_0x3ae0d7,_0x500754){return _0x54a7f1(_0x500754-0x14e,_0x3ae0d7);}this['_hierarchy']&&(_0x1f9a44[_0x151681(_0x41be75._0x205617,0xf23)]=this['_hierarchy']);}get[_0x7afdbe(0x5aa,0x774)](){return this['_enabledEditGrid'];}['startEditingGrid'](){const _0x408a9f={_0x4cfd7:0x14b5,_0x26b33d:0x14d1,_0x216ebd:0x1493,_0x1fcf28:0xe07,_0x3ff693:0x132e},_0x3006c7={_0x38323a:0x52};function _0x576ab4(_0x25443f,_0x8af057){return _0x7afdbe(_0x8af057,_0x25443f- -0x37f);}if(this['_enabledEditGrid'])return this;this['_enabledEditGrid']=!![];if(!this['_map'])throw new Error('编辑时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this[_0xe43162(_0x408a9f._0x4cfd7,0x1e3c)](),this['_map']['mouseEvent'][_0x576ab4(0x150f,0x1e9b)]=this['_entity'];function _0xe43162(_0x89ae3c,_0x25095d){return _0x54a7f1(_0x89ae3c-_0x3006c7._0x38323a,_0x25095d);}this['_map'][_0x576ab4(0x9b8,0x1293)]['enabledMoveTarget']=![],!this['editingGrid']&&(this['editingGrid']=new EditPolygonGrid(this),this[_0xe43162(_0x408a9f._0x26b33d,0x11e2)][_0x576ab4(_0x408a9f._0x216ebd,_0x408a9f._0x1fcf28)]=_0x1d557f=>{return this['_positions_grid'];},this[_0x576ab4(0x132e,0x174d)]['updateGridPositions']=(_0x569f2a,_0x4946b6)=>{this['_positions_grid'][_0x4946b6]=_0x569f2a,this['update']();}),this[_0x576ab4(_0x408a9f._0x3ff693,0x119f)]['activate']&&this['editingGrid']['activate']();}[_0x54a7f1(0x1345,0xe5f)](){const _0x43a5e2={_0x1890c6:0x1bb8,_0x30ed5c:0x1736,_0x222468:0x17c4,_0x4b0527:0x6b5,_0x2935e0:0xbdf,_0x38d8b5:0x14b9,_0x5e2c24:0x168b},_0x4ef1c5={_0x2d7898:0xd6};function _0x2f229d(_0x3bc5c1,_0x60ce6a){return _0x54a7f1(_0x3bc5c1-_0x4ef1c5._0x2d7898,_0x60ce6a);}var _0x4420c8;if(!this['_enabledEditGrid']||!this['isAdded'])return this;(_0x4420c8=this[_0x57ad5b(0x1361,_0x43a5e2._0x1890c6)])!==null&&_0x4420c8!==void 0x0&&_0x4420c8['disable']&&this['editingGrid']['disable']();this[_0x57ad5b(0x6b5,0xb21)]&&(this[_0x57ad5b(0x6b5,-0xd9)]['closeSmallTooltip'](),this['_map']['mouseEvent'][_0x2f229d(_0x43a5e2._0x30ed5c,_0x43a5e2._0x222468)]=null,this[_0x57ad5b(_0x43a5e2._0x4b0527,0x843)][_0x2f229d(_0x43a5e2._0x2935e0,0x11e8)]['enabledMoveTarget']=!![]);function _0x57ad5b(_0x2450de,_0x531195){return _0x54a7f1(_0x2450de- -0x11e,_0x531195);}this[_0x2f229d(_0x43a5e2._0x38d8b5,_0x43a5e2._0x5e2c24)]=![];}['_toJSON_Ex'](_0x143491){const _0x77d3de={_0x6a2fb:0x10d4,_0x9bd63e:0xfc0,_0x48d16a:0x12d0},_0x59bcf0={_0x10c167:0x169};function _0x1119df(_0x44ff20,_0x19ceae){return _0x7afdbe(_0x19ceae,_0x44ff20- -0x1f3);}function _0x519012(_0x297405,_0x4ddcb6){return _0x7afdbe(_0x4ddcb6,_0x297405- -_0x59bcf0._0x10c167);}_0x143491['positions_grid']=[];for(let _0x4ae8e2=0x0,_0x56468e=this[_0x1119df(_0x77d3de._0x6a2fb,0xf0a)][_0x1119df(_0x77d3de._0x9bd63e,_0x77d3de._0x48d16a)];_0x4ae8e2<_0x56468e;++_0x4ae8e2){const _0x47945c=this['_positions_grid'][_0x4ae8e2],_0x3a4cf0={};_0x3a4cf0['x']=_0x47945c['x'],_0x3a4cf0['y']=_0x47945c['y'],_0x3a4cf0['z']=_0x47945c['z'],_0x143491['positions_grid']['push'](_0x3a4cf0);}}}register$5(_0x7afdbe(0x8e1,0x120d),VideoPrimitive);function getGridPositions(_0x5afd24,_0x574bd4){const _0x350e94={_0x5d2d7d:0x2e0,_0xe45dd:0x1563,_0x4abbee:0xd8b,_0x4a2b2c:0xece,_0x33dfa2:0x76d,_0x3767af:0xf22,_0x41ada0:0xce1,_0x327337:0x702,_0x44edd8:0x69b,_0x5120a3:0x1dd,_0x19111e:0x150d,_0xfd3af9:0x19cb,_0x40f02a:0x16fb,_0x162280:0x1184,_0x249cf1:0xb43,_0x5a722f:0x3f},_0x310f04={_0x4e3fa2:0x3c5},_0x389740=[],_0x115468=[],_0x43486a=[];function _0x1c041d(_0x2b23b6,_0x2382ab){return _0x54a7f1(_0x2b23b6-0x27c,_0x2382ab);}const _0xdcac50=_0x5afd24[0x0],_0x492c79=_0x5afd24[0x1],_0x574ab3=_0x5afd24[0x2],_0xc0db7e=_0x5afd24[0x3],_0x510582=Cesium__namespace['Cartesian3'][_0x1c041d(0x150d,0xd4b)](_0xdcac50,_0xc0db7e),_0x1351e3=Cesium__namespace['Cartesian3']['distance'](_0x492c79,_0x574ab3),_0x69e793=_0x510582/_0x574bd4,_0x138f99=_0x1351e3/_0x574bd4,_0x19b12f=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace['Cartesian3'][_0x465702(0x68f,_0x350e94._0x5d2d7d)](_0xc0db7e,_0xdcac50,new Cesium__namespace[(_0x465702(0x11d6,0xf22))]()),new Cesium__namespace[(_0x1c041d(_0x350e94._0xe45dd,_0x350e94._0x4abbee))]()),_0x105418=Cesium__namespace[_0x465702(_0x350e94._0x4a2b2c,0xf22)]['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0x574ab3,_0x492c79,new Cesium__namespace[(_0x465702(_0x350e94._0x33dfa2,_0x350e94._0x3767af))]()),new Cesium__namespace['Cartesian3']()),_0xfb0cb8=0x1/_0x574bd4;for(let _0x413176=0x0;_0x413176<=_0x574bd4;_0x413176++){for(let _0x2edf5d=0x0;_0x2edf5d<=_0x574bd4;_0x2edf5d++){const _0xd8be08=Cesium__namespace[_0x465702(_0x350e94._0x41ada0,0xf22)][_0x1c041d(0x90c,0xe44)](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x19b12f,_0x413176*_0x69e793,new Cesium__namespace[(_0x1c041d(0x1563,0xdb8))]()),_0xdcac50,new Cesium__namespace[(_0x1c041d(0x1563,0x12e1))]()),_0x4022f5=Cesium__namespace[_0x465702(0x1135,0xf22)]['add'](Cesium__namespace[_0x465702(0x9da,0xf22)][_0x1c041d(_0x350e94._0x327337,_0x350e94._0x44edd8)](_0x105418,_0x413176*_0x138f99,new Cesium__namespace[(_0x465702(0x15c3,0xf22))]()),_0x492c79,new Cesium__namespace[(_0x1c041d(_0x350e94._0xe45dd,0x1ff4))]()),_0x2775c8=Cesium__namespace[_0x465702(0xf1b,0xf22)]['normalize'](Cesium__namespace[_0x465702(0x14a4,0xf22)][_0x465702(_0x350e94._0x5120a3,0x2e0)](_0x4022f5,_0xd8be08,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x1e9311=Cesium__namespace['Cartesian3'][_0x1c041d(_0x350e94._0x19111e,_0x350e94._0xfd3af9)](_0x4022f5,_0xd8be08),_0x126d2e=_0x1e9311/_0x574bd4,_0x5a556e=Cesium__namespace[_0x1c041d(0x1563,_0x350e94._0x40f02a)]['add'](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x2775c8,_0x2edf5d*_0x126d2e,new Cesium__namespace[(_0x465702(0x712,0xf22))]()),_0xd8be08,new Cesium__namespace['Cartesian3']());_0x389740['push'](_0x2edf5d*_0xfb0cb8),_0x389740['push'](0x1-_0x413176*_0xfb0cb8),_0x115468['push'](_0x5a556e);}}for(let _0x595c33=0x0;_0x595c33<_0x574bd4;_0x595c33++){for(let _0x4df13a=0x0;_0x4df13a<_0x574bd4;_0x4df13a++){const _0x1f31e8=_0x595c33*(_0x574bd4+0x1)+_0x4df13a,_0x52dc0a=(_0x595c33+0x1)*(_0x574bd4+0x1)+_0x4df13a;_0x43486a['push'](_0x1f31e8),_0x43486a['push'](_0x1f31e8+0x1),_0x43486a[_0x1c041d(_0x350e94._0x162280,0x6fb)](_0x52dc0a+0x1),_0x43486a[_0x465702(0x69f,_0x350e94._0x249cf1)](_0x52dc0a+0x1),_0x43486a['push'](_0x52dc0a),_0x43486a['push'](_0x1f31e8);}}const _0x85b948={};function _0x465702(_0x47a615,_0x400fa7){return _0x54a7f1(_0x400fa7- -_0x310f04._0x4e3fa2,_0x47a615);}return _0x85b948['uv']=_0x389740,_0x85b948[_0x465702(_0x350e94._0x5a722f,0x401)]=_0x43486a,_0x85b948['positions']=_0x115468,_0x85b948;}class BaseCombine extends BasePrimitive{get[_0x7afdbe(0x131e,0x110e)](){const _0x28d8c3={_0x676c5a:0x3c,_0x27ccb6:0x93b},_0x591f39={_0x3f324d:0x8b};function _0x27b29a(_0x2aba68,_0x263c63){return _0x54a7f1(_0x263c63-_0x591f39._0x3f324d,_0x2aba68);}return this[_0x27b29a(_0x28d8c3._0x676c5a,_0x28d8c3._0x27ccb6)]['instances']||[];}set['instances'](_0x452e66){const _0x43088b={_0x3e27f8:0x5db};this[_0x45edcb(_0x43088b._0x3e27f8,0x14b)]['instances']=_0x452e66,this['_rectangle']=null;function _0x45edcb(_0x346d49,_0x4fa88c){return _0x54a7f1(_0x346d49- -0x2d5,_0x4fa88c);}this['redraw']();}get['hasCluster'](){return![];}['_addedHook'](_0x143c9b){if(!this['show'])return;super['_addedHook'](_0x143c9b),this['_layer']['on'](EventType['show'],this['_layer_showHandler'],this);}['_removedHook'](){const _0x49736b={_0x366337:0x734};this['_layer'][_0x5db385(-0x142,_0x49736b._0x366337)](EventType['show'],this['_layer_showHandler'],this);function _0x5db385(_0x4f12a2,_0x1ca62c){return _0x7afdbe(_0x1ca62c,_0x4f12a2- -0x6bd);}super['_removedHook']();}[_0x54a7f1(0xc92,0x1137)](){const _0x4b07a7={_0x293087:0x497};function _0x5ea6e7(_0x7f7f11,_0x2b09c4){return _0x54a7f1(_0x2b09c4- -0x310,_0x7f7f11);}if(this['_labelList']){for(let _0x270e4f=this['_labelList']['length']-0x1;_0x270e4f>=0x0;_0x270e4f--){const _0xd65a7b=this['_labelList'][_0x270e4f];this['_layer']['labelCollection']['remove'](_0xd65a7b);}delete this[_0x5ea6e7(-0x1d2,_0x4b07a7._0x293087)];}}['_layer_showHandler'](){this['redraw']();}[_0x7afdbe(0x1846,0x170b)](_0x2dbe06){const _0x22e147={_0x14d036:0x59c,_0x4baf70:0xcb2,_0x48504d:0xcf3};function _0x5d82ff(_0x45826f,_0x449018){return _0x54a7f1(_0x45826f- -0x47d,_0x449018);}function _0x2ac7b5(_0x48ca1d,_0x577a47){return _0x7afdbe(_0x48ca1d,_0x577a47- -0x41b);}const _0x1a7cb7=_0x2dbe06['split']('#');if(_0x1a7cb7[_0x5d82ff(0xb08,_0x22e147._0x14d036)]!==0x2)return null;const _0x1147d8=Number(_0x1a7cb7[0x1]);return this[_0x2ac7b5(_0x22e147._0x4baf70,_0x22e147._0x48504d)][_0x1147d8];}[_0x7afdbe(0x15cc,0x160d)](_0x1f5448){return this['id']+'#'+_0x1f5448;}['_createGeometryInstance'](_0x35af14,_0xa0244c){const _0x2fb623={_0xe39deb:0x3c5,_0x35ff7d:0x7b9,_0x3753ba:0x1075,_0xdd9f36:0xcef};function _0x5cf154(_0x428787,_0x1c8fe3){return _0x54a7f1(_0x428787-0x16d,_0x1c8fe3);}function _0x45fca7(_0x1c8c98,_0x112ca4){return _0x54a7f1(_0x112ca4- -0xf7,_0x1c8c98);}if(this[_0x45fca7(_0x2fb623._0xe39deb,_0x2fb623._0x35ff7d)][_0x5cf154(0x1854,0x160c)])return this['options']['geometryInstances'];const _0x99cf30=[],_0x2638e8=this['instances'];for(let _0x841475=0x0;_0x841475<_0x2638e8[_0x45fca7(0xc77,0xe8e)];_0x841475++){const _0x8243d8=_0x2638e8[_0x841475];_0x8243d8['id']=this['createPickId'](_0x841475),_0x99cf30[_0x5cf154(_0x2fb623._0x3753ba,_0x2fb623._0xdd9f36)](_0x8243d8);}return _0x99cf30;}[_0x7afdbe(0xfe4,0x14ea)](_0x1acc20){const _0x21163b={_0x1deb74:0x141c},_0x59e4f7={_0x10e2e2:0x1340,_0x1e552b:0x737,_0x5097a9:0xd22,_0x1fb655:0x699};function _0x40a8bb(_0x36eade,_0x6092a6){return _0x54a7f1(_0x6092a6-0x2e,_0x36eade);}return!this['_rectangle']&&this[_0x40a8bb(0x168d,_0x21163b._0x1deb74)]((_0x18ab61,_0x36c572)=>{function _0x36a3c7(_0x5a351d,_0x43d394){return _0x40a8bb(_0x43d394,_0x5a351d- -0x3fb);}function _0x2821e8(_0x5216c9,_0x229543){return _0x40a8bb(_0x5216c9,_0x229543- -0x3cf);}_0x18ab61['position']&&(_0x18ab61[_0x2821e8(0xaf7,_0x59e4f7._0x10e2e2)]=LngLatPoint['parse'](_0x18ab61['position'])[_0x36a3c7(_0x59e4f7._0x1e552b,0xfc9)](),this['_unionRectangle']([_0x18ab61[_0x36a3c7(0x1314,0xe5a)]])),_0x18ab61['positions']&&(_0x18ab61[_0x36a3c7(0xd22,0xc78)]=LngLatArray['toCartesians'](_0x18ab61[_0x36a3c7(_0x59e4f7._0x5097a9,_0x59e4f7._0x1fb655)]),this['_unionRectangle'](_0x18ab61['positions']));}),_0x1acc20!==null&&_0x1acc20!==void 0x0&&_0x1acc20['isFormat']?formatRectangle(this['_rectangle']):this['_rectangle'];}['_unionRectangle'](_0x33f876){const _0x33479c={_0x431c80:0xcdf,_0x16b400:0x16f9,_0x19ba57:0x53e,_0x4dbcb4:0x1780,_0x5a24f4:0x1588},_0x286bac={_0x3dfb41:0x162};function _0xd04bdc(_0x5b79bf,_0x8ca797){return _0x54a7f1(_0x8ca797-0x45,_0x5b79bf);}const _0x3c9e97=Cesium__namespace['Rectangle']['fromCartesianArray'](_0x33f876);function _0x21bdac(_0x50e96a,_0x3e7d72){return _0x7afdbe(_0x3e7d72,_0x50e96a- -_0x286bac._0x3dfb41);}if(!Cesium__namespace['defined'](_0x3c9e97))return;Cesium__namespace['defined'](this[_0xd04bdc(_0x33479c._0x431c80,_0x33479c._0x16b400)])?this['_rectangle']=Cesium__namespace[_0xd04bdc(0x716,_0x33479c._0x19ba57)][_0xd04bdc(0xd58,0x879)](_0x3c9e97,this[_0x21bdac(_0x33479c._0x4dbcb4,_0x33479c._0x5a24f4)]):this['_rectangle']=_0x3c9e97;}[_0x54a7f1(0x13ee,0x10df)](_0x5011a3,_0x55bf89){for(let _0x3357cb=0x0;_0x3357cb<this['instances']['length'];_0x3357cb++){const _0x39bcee=this['instances'][_0x3357cb]||{};_0x5011a3['call'](_0x55bf89||this,_0x39bcee,_0x3357cb);}return this;}[_0x7afdbe(0xf6e,0x1569)](){const _0x1e6f8c={_0x37e424:0xcc6,_0x158ce2:0xf5d,_0x13fe1c:0x18c9,_0x40ef72:0x1303,_0x3e6273:0xa83,_0x2ce1b0:0xb52,_0x5b223e:0x12d7,_0x46a00c:0x777,_0x115531:0x1652,_0x443319:0x1869,_0x221b39:0xbe7,_0x2e013e:0x987},_0x1f9611={};_0x1f9611['onlySimpleType']=!![];const _0x4575a0={...getAttrVal(this['options'],_0x1f9611),'type':this[_0x43c08f(0x458,0xd15)]};this[_0x53cace(0xd9d,0xa98)]['style']&&(_0x4575a0['style']=this['_style2JsonBase'](this[_0x43c08f(0x4d2,_0x1e6f8c._0x37e424)]['style'],![]));this['_availability']&&(_0x4575a0[_0x43c08f(0xdb7,0xf0e)]=this['availability']);const _0xd5968f=[];for(let _0x35b2a1=0x0;_0x35b2a1<this['instances'][_0x43c08f(0xba7,0xaba)];_0x35b2a1++){const _0x524be0=this[_0x43c08f(0xb02,0xb15)][_0x35b2a1],_0xbac3ba={'attr':_0x524be0['attr'],'style':this['_style2JsonBase'](_0x524be0['style'],![])};if(_0x524be0[_0x53cace(_0x1e6f8c._0x158ce2,_0x1e6f8c._0x13fe1c)])_0xbac3ba['position']=LngLatPoint['toArray'](_0x524be0[_0x43c08f(_0x1e6f8c._0x40ef72,_0x1e6f8c._0x3e6273)]);else _0x524be0[_0x53cace(_0x1e6f8c._0x2ce1b0,_0x1e6f8c._0x5b223e)]&&(_0xbac3ba[_0x43c08f(0xd11,0x11c2)]=LngLatArray['toArray'](_0x524be0['positions']));_0xd5968f['push'](_0xbac3ba);}function _0x43c08f(_0x3e8085,_0x469c7e){return _0x7afdbe(_0x469c7e,_0x3e8085- -0x60c);}_0x4575a0[_0x43c08f(0xb02,0xd34)]=_0xd5968f;this[_0x43c08f(_0x1e6f8c._0x46a00c,0x6d3)]&&this[_0x43c08f(_0x1e6f8c._0x46a00c,0x44d)](_0x4575a0);for(const _0x2bd0ef in _0x4575a0){const _0x15cc97=_0x4575a0[_0x2bd0ef];(!Cesium__namespace[_0x53cace(_0x1e6f8c._0x115531,_0x1e6f8c._0x443319)](_0x15cc97)||isObject(_0x15cc97)&&Object[_0x53cace(_0x1e6f8c._0x221b39,0xa0c)](_0x15cc97)[_0x53cace(_0x1e6f8c._0x2e013e,0x116d)]===0x0)&&delete _0x4575a0[_0x2bd0ef];}function _0x53cace(_0x2d3dd4,_0xbfc5cb){return _0x7afdbe(_0x2d3dd4,_0xbfc5cb- -0x46);}return _0x4575a0;}[_0x54a7f1(0x2bd,-0xa7)](_0xa9dfa4){const _0x587fd8={_0x23499d:0xf8b,_0x30fdb8:0x1a31},_0x14fa1a={_0x16e717:0x34b},_0x5cb541=[];function _0x3deecf(_0x1734fe,_0x28e6ee){return _0x54a7f1(_0x28e6ee- -0x14a,_0x1734fe);}function _0x23c3c1(_0x3958ad,_0x22a878){return _0x7afdbe(_0x22a878,_0x3958ad- -_0x14fa1a._0x16e717);}for(let _0xaaa1fb=0x0;_0xaaa1fb<this['instances']['length'];_0xaaa1fb++){const _0x1d8947=this[_0x23c3c1(0xdc3,0x16fb)][_0xaaa1fb];let _0x41bb17;_0xa9dfa4!==null&&_0xa9dfa4!==void 0x0&&_0xa9dfa4['standard']?_0x41bb17=this['attr']:(_0x41bb17={..._0x1d8947['attr'],'type':this['type'],'style':this[_0x3deecf(_0x587fd8._0x23499d,0x696)](_0x1d8947[_0x23c3c1(0x37f,0xa4c)],!![])},this['_availability']&&(_0x41bb17[_0x3deecf(0xf15,0x104b)]=this[_0x3deecf(_0x587fd8._0x30fdb8,0x104b)]));const _0x5ccaa1={};_0x5ccaa1['type']=_0x23c3c1(0x14b4,0x1c63),_0x5ccaa1['properties']=_0x41bb17;const _0x3924a2=_0x5ccaa1;if(this['_getGeoJsonGeometry'])_0x3924a2['geometry']=this['_getGeoJsonGeometry'](_0x1d8947,_0xa9dfa4);else{if(_0x1d8947['position'])_0x3924a2['geometry']={'type':'Point','coordinates':LngLatPoint['toArray'](_0x1d8947['position'],_0xa9dfa4===null||_0xa9dfa4===void 0x0?void 0x0:_0xa9dfa4['noAlt'])};else _0x1d8947['positions']&&(_0x3924a2['geometry']={'type':'LineString','coordinates':LngLatArray['toArray'](_0x1d8947['positions'],_0xa9dfa4===null||_0xa9dfa4===void 0x0?void 0x0:_0xa9dfa4[_0x23c3c1(0x74e,0x8b)])});}_0x5cb541['push'](_0x3924a2);}return _0x5cb541;}['flyTo'](_0x4677af){const _0x359577={_0x30a608:0x1230,_0x2168f0:0xf0b},_0x285ef8=this[_0x794ca(_0x359577._0x30a608,_0x359577._0x2168f0)]();function _0x349537(_0x2bf909,_0x14f4a3){return _0x7afdbe(_0x14f4a3,_0x2bf909- -0x2);}function _0x794ca(_0x2536be,_0x29b1ec){return _0x54a7f1(_0x2536be- -0x8c,_0x29b1ec);}return this[_0x349537(0x9ff,0x891)]&&_0x285ef8?this['_map'][_0x794ca(0x1016,0x171f)](_0x285ef8,_0x4677af):Promise['resolve'](![]);}['setColorStyle'](_0x34e157,_0x29c3c0){const _0x377958={_0x14555f:0x217},_0x2d8da3={_0x441a37:0x1e6},_0x1992ab={_0x296380:0x517};function _0x52f3af(_0x56ab6,_0x790ece){return _0x7afdbe(_0x56ab6,_0x790ece- -_0x1992ab._0x296380);}function _0x587f97(_0x2e79fc,_0x73acf){return _0x54a7f1(_0x2e79fc- -0x283,_0x73acf);}Cesium__namespace[_0x587f97(0x13fe,0x106c)](_0x29c3c0)?this[_0x52f3af(0x52d,-0x31)](_0x29c3c0,_0x34e157):this['eachInstances']((_0x26f6c9,_0x3444ab)=>{function _0x4e7d12(_0x426f32,_0x25a095){return _0x52f3af(_0x25a095,_0x426f32- -_0x2d8da3._0x441a37);}this[_0x4e7d12(-_0x377958._0x14555f,0x3d8)](_0x3444ab,_0x34e157);});}['_setColorStyleItem'](_0x136b59,_0x4199a0){const _0x37ccc0={_0x40a449:0x46a,_0x4ca30f:0x1029},_0x24e4cb={_0x5e6b23:0x21},_0x5c7c1f=this[_0x12abbb(0x172f,0xebf)][_0x136b59];function _0x12abbb(_0x1d0537,_0x5c0e07){return _0x54a7f1(_0x5c0e07- -_0x24e4cb._0x5e6b23,_0x1d0537);}_0x5c7c1f['style']?_0x5c7c1f[_0x44b17d(-0x49f,0x46a)]={..._0x5c7c1f[_0x44b17d(0x6f,_0x37ccc0._0x40a449)],..._0x4199a0}:_0x5c7c1f['style']=_0x4199a0;function _0x44b17d(_0x4fcc37,_0x11e1bf){return _0x7afdbe(_0x4fcc37,_0x11e1bf- -0x260);}const _0x5b45b9=this['getGeometryInstanceAttributes'](this['createPickId'](_0x136b59));if(_0x5b45b9){const _0x4aabea={...this[_0x44b17d(0x782,0x46a)],..._0x5c7c1f['style']},_0xba04f2=getColorByStyle(_0x4aabea);_0x5b45b9['color']=Cesium__namespace[_0x44b17d(0x185e,_0x37ccc0._0x4ca30f)]['toValue'](_0xba04f2);}}}BaseCombine['isCombine']=!![],BaseCombine[_0x7afdbe(0x64d,0x83e)]['isCombine']=!![];class BasePolyCombine extends BaseCombine{get['style'](){const _0x477cde={_0x3cd6b8:0xd88,_0x219e71:0xfcb,_0x316c0b:0xaf,_0x48ff77:0xa34,_0x5356be:0x624,_0x4a8ff5:0xaf,_0x4dce50:0x82f},_0x505dd8={_0x53c453:0x143};var _0x29b169,_0x34f33b;if(((_0x29b169=this[_0x4fb4d3(_0x477cde._0x3cd6b8,0x99b)][_0x4fb4d3(0x999,_0x477cde._0x219e71)])===null||_0x29b169===void 0x0?void 0x0:_0x29b169['length'])>0x0&&this[_0x812ed1(0x4c3,0x234)]['instances'][0x0][_0x812ed1(_0x477cde._0x316c0b,_0x477cde._0x48ff77)]){const _0x536bac={...this['options']['style'],...this['options'][_0x4fb4d3(_0x477cde._0x5356be,_0x477cde._0x219e71)][0x0]['style']};return _0x536bac;}function _0x812ed1(_0x399e08,_0x23d8b4){return _0x7afdbe(_0x23d8b4,_0x399e08- -0x61b);}function _0x4fb4d3(_0x585bc7,_0x12b774){return _0x7afdbe(_0x585bc7,_0x12b774- -_0x505dd8._0x53c453);}return(_0x34f33b=this['options'])===null||_0x34f33b===void 0x0?void 0x0:_0x34f33b[_0x812ed1(_0x477cde._0x4a8ff5,-_0x477cde._0x4dce50)];}set['style'](_0x1a8b1a){this['setStyle'](_0x1a8b1a);}get[_0x54a7f1(0x10ba,0x16fe)](){return this['_labelList'];}['_createGeometryInstance'](_0xf6e343,_0x560441){const _0x10f037={_0x1cd14f:0xb0b,_0x5dc9ce:0x117d,_0x392553:0xbb0,_0x229491:0x1325,_0x5b7a53:0x517,_0xe437ce:0xea,_0x57cc3f:0x13b1,_0x4d6ac:0x23d,_0x2109f1:0x4b6,_0x55c140:0x6de,_0x493f39:0xaa7,_0x3cd55c:0x1000,_0x382b2f:0xc7,_0x504465:0x5d9};var _0x33ed10;this['_rectangle']=null,this['translucent']=![];const _0x4e402b=this[_0x44fdc0(_0x10f037._0x1cd14f,0x1553)];function _0x44fdc0(_0x2ac8a6,_0x59e487){return _0x54a7f1(_0x2ac8a6- -0x3d5,_0x59e487);}function _0x12a380(_0x16175c,_0x292c12){return _0x54a7f1(_0x16175c- -0xba,_0x292c12);}const _0x32f291=[],_0x36001a=[];(_0xf6e343[_0x12a380(0x1000,_0x10f037._0x5dc9ce)]||(_0x33ed10=_0x4e402b[0x0])!==null&&_0x33ed10!==void 0x0&&_0x33ed10['label'])&&this['_removeLabel']();for(let _0x42ebee=0x0;_0x42ebee<_0x4e402b[_0x44fdc0(_0x10f037._0x392553,0x300)];_0x42ebee++){var _0xf61b74;const _0x275807=_0x4e402b[_0x42ebee],_0x285b9b=this[_0x12a380(_0x10f037._0x229491,0x1841)](_0x42ebee);if(_0x275807 instanceof Cesium__namespace['GeometryInstance'])_0x275807['id']=_0x285b9b,_0x32f291['push'](_0x275807);else{const _0x4573ce={...this['options'][_0x12a380(0x3e2,_0x10f037._0x5b7a53)],..._0x275807['style']},_0x355710=_0x4573ce;let _0x2f7499;if(_0xf6e343[_0x12a380(0x21b,_0x10f037._0xe437ce)]){_0x2f7499=this[_0x44fdc0(0xf6b,_0x10f037._0x57cc3f)](_0x355710);let _0xb50781=this[_0x12a380(0xf2b,0x5a8)](_0x2f7499);_0x560441&&_0x2f7499[_0x44fdc0(0x464,0x413)]&&(_0xb50781=_0x2f7499['outlineColor']),_0x2f7499[_0x44fdc0(0xe3d,0x10e6)]=_0xb50781,_0xb50781['alpha']!==0x1&&(this['translucent']=!![]);}else _0x355710['material']=_0xf6e343['material'],delete _0x355710[_0x12a380(0x1ee,-_0x10f037._0x4d6ac)],delete _0x355710[_0x44fdc0(_0x10f037._0x2109f1,-0x52d)],_0x2f7499=this[_0x12a380(0x1286,0x937)](_0x355710);_0x2f7499['vertexFormat']=_0x2f7499[_0x44fdc0(0x3c3,-0xc5)]||_0xf6e343[_0x12a380(_0x10f037._0x55c140,0xc11)],_0x2f7499[_0x44fdc0(-0x100,0x1e7)]=_0xf6e343[_0x12a380(0x21b,_0x10f037._0x493f39)];const _0x4f38dc=this[_0x12a380(0x888,0x412)](_0x2f7499,_0x560441,_0x275807);_0x4f38dc&&(_0x4f38dc['id']=_0x285b9b,_0x32f291[_0x12a380(0xe4e,0xccd)](_0x4f38dc));}if(_0xf6e343['label']||(_0xf61b74=_0x275807['style'])!==null&&_0xf61b74!==void 0x0&&_0xf61b74[_0x12a380(_0x10f037._0x3cd55c,0x1557)]){var _0x281752,_0x164270;const _0x182f46={...(_0x281752=this['options'][_0x44fdc0(_0x10f037._0x382b2f,-0x107)])===null||_0x281752===void 0x0?void 0x0:_0x281752['label'],...(_0x164270=_0x275807[_0x44fdc0(0xc7,-_0x10f037._0x504465)])===null||_0x164270===void 0x0?void 0x0:_0x164270['label']},_0x4f7392=_0x182f46,_0x409a8e=this['_addLabel'](_0x4f7392,_0x275807);_0x409a8e&&(_0x409a8e['id']=_0x285b9b,_0x36001a['push'](_0x409a8e));}}return this['_labelList']=_0x36001a,_0x32f291;}['_createGeometryInstanceItem'](_0x1e750a,_0x1c617b,_0xf4652b){}[_0x54a7f1(0x63d,-0x2c8)](_0x4a88bf){const _0x2d1f2c={_0x184152:0x5f8};function _0x1d34df(_0x3ba13f,_0x14a36b){return _0x7afdbe(_0x3ba13f,_0x14a36b- -0x455);}return _0x4a88bf['positions']?[LngLatArray[_0x1d34df(0xcde,_0x2d1f2c._0x184152)](_0x4a88bf['positions'])]:null;}['_createPolylineOutline'](_0x347148){const _0x582c85={_0x4aab35:0x1de5,_0x5b5a30:0x3c4,_0x220865:0x142,_0x719208:0x176b,_0x385425:0x1fef,_0x240e07:0x36,_0x495a69:0x17e0,_0x402d5a:0x11af,_0x12e247:0xac3,_0x5e0506:0x586,_0x2d6788:0x2c6,_0x118206:0xb9f,_0x242306:0x1653,_0x2ec96b:0x123b,_0x323232:0x192,_0x172d1e:0x11d9,_0x351706:0xfc2,_0x449615:0x43d,_0x2e2d1b:0xb13,_0x57c0b5:0xb89,_0x2a8bac:0xa36,_0x268f4f:0x16dd,_0x36eb1e:0xe3,_0x217ff1:0xe1b},_0x5cb08f=this['instances'];function _0x2a8b2c(_0x24de96,_0x5a048a){return _0x7afdbe(_0x5a048a,_0x24de96- -0x700);}const _0x359027=[];let _0x12c8ca;for(let _0x232377=0x0;_0x232377<_0x5cb08f['length'];_0x232377++){const _0x2ccff4=_0x5cb08f[_0x232377];let _0x1accd4;if(_0x2ccff4['style']&&(Cesium__namespace['defined'](_0x2ccff4['style'][_0x24979f(0x1522,_0x582c85._0x4aab35)])||Cesium__namespace['defined'](_0x2ccff4[_0x2a8b2c(-0x36,-_0x582c85._0x5b5a30)]['outlineStyle'])||Cesium__namespace['defined'](_0x2ccff4[_0x24979f(0x586,_0x582c85._0x220865)]['outlineColor'])||Cesium__namespace[_0x24979f(_0x582c85._0x719208,_0x582c85._0x385425)](_0x2ccff4[_0x2a8b2c(-_0x582c85._0x240e07,0x50b)][_0x24979f(0x1445,_0x582c85._0x495a69)])||Cesium__namespace[_0x2a8b2c(_0x582c85._0x402d5a,_0x582c85._0x12e247)](_0x2ccff4['style']['outlineWidth']))){const _0x2672d6=this['_getOutlineStyle'](_0x2ccff4[_0x24979f(_0x582c85._0x5e0506,0xd42)]);if(!_0x2672d6['show'])continue;const _0xacbe55={..._0x347148,..._0x2672d6};_0x1accd4=_0xacbe55;}else _0x1accd4=_0x347148;_0x12c8ca=PolylineStyleConver['toCesiumVal'](_0x1accd4);!_0x12c8ca['material']&&(_0x12c8ca[_0x2a8b2c(_0x582c85._0x2d6788,_0x582c85._0x118206)]=Cesium__namespace['PolylineColorAppearance']['VERTEX_FORMAT']);const _0x332c2e=_0x1accd4[_0x24979f(_0x582c85._0x242306,0x1204)]?Cesium__namespace['GroundPolylineGeometry']:Cesium__namespace[_0x24979f(_0x582c85._0x2ec96b,0xa04)],_0x38ca6a=_0x12c8ca['color']??Cesium__namespace['Color']['YELLOW']['withAlpha'](0.5),_0x362733=this[_0x2a8b2c(0x16b,-0x2d5)](_0x2ccff4);if(!_0x362733)return;for(let _0x1ca496=0x0,_0x1384f1=_0x362733['length'];_0x1ca496<_0x1384f1;_0x1ca496++){let _0x4ff872=_0x362733[_0x1ca496];Cesium__namespace['defined'](_0x2ccff4[_0x24979f(0x586,-0x29f)][_0x24979f(0x751,0x5a5)])&&(_0x4ff872=setPositionsHeight(_0x4ff872,_0x2ccff4[_0x2a8b2c(-0x36,0x29f)][_0x24979f(0x751,_0x582c85._0x323232)]));_0x4ff872['length']>0x0&&(_0x4ff872=_0x4ff872['concat'](_0x4ff872[0x0]));const _0x2a7d46={..._0x12c8ca};_0x2a7d46[_0x24979f(_0x582c85._0x172d1e,0x1ac7)]=_0x4ff872;const _0x2da425=new Cesium__namespace[(_0x24979f(_0x582c85._0x351706,0x1891))]({'id':this['createPickId'](_0x232377),'geometry':new _0x332c2e(_0x2a7d46),'attributes':this[_0x2a8b2c(_0x582c85._0x449615,_0x582c85._0x2e2d1b)](_0x12c8ca,{'color':Cesium__namespace[_0x2a8b2c(_0x582c85._0x57c0b5,0xd69)][_0x2a8b2c(0xf6d,0x52e)](_0x38ca6a)})});_0x359027[_0x2a8b2c(_0x582c85._0x2a8bac,0x31b)](_0x2da425);}}const _0x4590aa={...this[_0x24979f(0x99a,0x98f)]};_0x4590aa[_0x24979f(0x17d1,0x1edd)]=_0x359027;function _0x24979f(_0x36a62e,_0x447a1f){return _0x54a7f1(_0x36a62e-0xea,_0x447a1f);}_0x4590aa[_0x24979f(_0x582c85._0x268f4f,0x11c2)]=this['show'];const _0x5eb49b=_0x4590aa;delete _0x5eb49b[_0x2a8b2c(-0x36,0x2ed)],delete _0x5eb49b[_0x24979f(0x1771,0x152d)];if(this['_isColorMaterial'](_0x347148,_0x12c8ca)){const _0x33c68d={..._0x12c8ca};_0x5eb49b[_0x2a8b2c(-0x27b,_0x582c85._0x36eb1e)]=new Cesium__namespace['PolylineColorAppearance'](_0x33c68d);}else{const _0x412bd3={..._0x12c8ca};_0x5eb49b['appearance']=new Cesium__namespace['PolylineMaterialAppearance'](_0x412bd3);}let _0x17558f;return _0x12c8ca['clampToGround']?(_0x17558f=this[_0x2a8b2c(_0x582c85._0x217ff1,0x115f)][_0x24979f(0x77a,0x323)](new Cesium__namespace[(_0x24979f(0x6b9,0x1ce))](_0x5eb49b)),_0x17558f[_0x2a8b2c(-0x125,-0xac1)]=!![]):_0x17558f=this['primitiveCollection']['add'](new Cesium__namespace['Primitive'](_0x5eb49b)),this['bindPickId'](_0x17558f),_0x17558f;}[_0x7afdbe(0x1582,0x1351)](_0x232f02,_0x38f9a7){const _0x1f37ca={_0x3c3e90:0x10de,_0x4eed5e:0x11e4,_0x437e08:0x4c2,_0x5af455:0x68d,_0x57e2ae:0x212,_0x17b24f:0x1ca,_0x7e4d6:0x123c,_0x139acb:0x1bfa,_0x149461:0xb2a,_0x506792:0x1156,_0x42a940:0x10a7,_0x3b494c:0x1bd8},_0x543b1d={_0x8939bf:0x49d};if(!_0x38f9a7)return;if(!_0x232f02||!_0x232f02['text']||_0x232f02['show']===![])return;let _0x5924ee=this['_getCenter'](_0x38f9a7);if(_0x232f02['position']){if(isString(_0x232f02[_0x29011f(0x152f,0x1707)])){const _0x3c0808=template(_0x232f02['position'],_0x38f9a7['attr'],!![]);_0x3c0808&&(_0x5924ee=LngLatPoint[_0x29011f(0x2a4,0x3e1)](_0x3c0808)[_0x29011f(_0x1f37ca._0x3c3e90,0xb2a)]());}}if(!_0x5924ee)return;if(Cesium__namespace['defined'](_0x232f02['height'])||Cesium__namespace[_0x5872fc(_0x1f37ca._0x4eed5e,0xc06)](this[_0x29011f(0x5b,_0x1f37ca._0x437e08)][_0x29011f(-0x384,_0x1f37ca._0x5af455)])){const _0x14a6e0=_0x232f02['height']??this[_0x5872fc(-0x1,_0x1f37ca._0x57e2ae)][_0x5872fc(_0x1f37ca._0x17b24f,-0x6c5)];_0x5924ee=setPositionsHeight(_0x5924ee,_0x14a6e0);}Cesium__namespace[_0x5872fc(0x11e4,_0x1f37ca._0x7e4d6)](this[_0x29011f(0xe6a,0x4c2)]['diffHeight'])&&(_0x5924ee=addPositionsHeight(_0x5924ee,this['style']['diffHeight']));function _0x29011f(_0x52099d,_0x2604c5){return _0x54a7f1(_0x2604c5-0x26,_0x52099d);}_0x5924ee=this['_updatePositionsForHeight'](_0x5924ee,_0x232f02);function _0x5872fc(_0x45a59e,_0xcc2e71){return _0x54a7f1(_0x45a59e- -_0x543b1d._0x8939bf,_0xcc2e71);}const _0x1505b4=LabelStyleConver['toCesiumVal'](_0x232f02,{},_0x38f9a7['attr']);_0x1505b4[_0x5872fc(0x1244,_0x1f37ca._0x139acb)]=LngLatPoint[_0x29011f(0xa24,_0x1f37ca._0x149461)](_0x5924ee),_0x1505b4[_0x5872fc(_0x1f37ca._0x506792,_0x1f37ca._0x42a940)]=this['show'];const _0xc77dca=this[_0x5872fc(0x1190,_0x1f37ca._0x3b494c)]['labelCollection']['add'](_0x1505b4);return this[_0x5872fc(0xeb0,0x1618)](_0xc77dca),this[_0x29011f(0x14e4,0x15a1)](_0xc77dca),_0xc77dca;}['_highlight_mouseEventHandler'](_0x2be3b3){const _0x26242d={_0x715518:0xe36};this['_map']['closeHighlight']();function _0x586d4e(_0x4559ea,_0x5281f4){return _0x7afdbe(_0x4559ea,_0x5281f4- -0x4dc);}const _0xd239e=_0x2be3b3[_0x586d4e(0xa78,_0x26242d._0x715518)];_0xd239e&&(this['_last_pickedObject']=_0xd239e,this['_map']['openHighlight'](this,this['_highlightOptions'],_0x2be3b3));}['openHighlight'](_0x166d6c,_0x2bd7f7=!![],_0x322839){const _0x309333={_0x55c875:0xda8,_0x5636fe:0x1495,_0x5087de:0xb05,_0x23f073:0x2b3,_0x2b9c74:0x107b,_0x5cb357:0xc1,_0x57bd86:0x348,_0x808cdb:0xb98,_0x39838a:0x1026,_0x299b22:0xdf9,_0x1415fe:0x5ce,_0x4b0c22:0x78c};function _0x5aa29a(_0x4e0a8c,_0x40362e){return _0x54a7f1(_0x40362e- -0x1ec,_0x4e0a8c);}_0x2bd7f7&&(this['_map']['closeHighlight'](),this['_map'][_0x5aa29a(_0x309333._0x55c875,0x141d)]=this);Cesium__namespace[_0x5aa29a(0x1447,_0x309333._0x5636fe)](_0x322839)&&(isNumber(_0x322839)?this['_last_pickedObject']={'id':this['createPickId'](_0x322839),'data':this['options'][_0x2ae65d(0x92e,_0x309333._0x5087de)][_0x322839]||{}}:this[_0x2ae65d(_0x309333._0x23f073,0x209)]=_0x322839);function _0x2ae65d(_0x1cb1c0,_0x534e63){return _0x7afdbe(_0x1cb1c0,_0x534e63- -0x609);}const _0x3bc99e=_0x166d6c||this['_highlightOptions'];if(this['_last_pickedObject']&&_0x3bc99e){var _0xdfec84;const _0x36e544=this['_last_pickedObject']['id'],_0x3ab132={...(_0xdfec84=this['_last_pickedObject'][_0x5aa29a(_0x309333._0x2b9c74,0xa83)])===null||_0xdfec84===void 0x0?void 0x0:_0xdfec84[_0x2ae65d(0x460,_0x309333._0x5cb357)],..._0x3bc99e},_0x3bc460=PolygonStyleConver['toCesiumVal'](_0x3ab132);if(this[_0x5aa29a(0xc3,0x73a)]){const _0x10cb69=this['getGeometryInstanceAttributes'](_0x36e544,this['_primitive_outline']);if(_0x10cb69){const _0x5db26d=this['_getOutlineStyle'](_0x3bc460),_0x569659=PolylineStyleConver['toCesiumVal'](_0x5db26d);_0x10cb69['color']=Cesium__namespace[_0x2ae65d(0x109f,0xc80)][_0x5aa29a(0xa1b,_0x309333._0x57bd86)](_0x569659[_0x5aa29a(_0x309333._0x808cdb,_0x309333._0x39838a)]);}}const _0x2377d2=this[_0x5aa29a(0x14cb,_0x309333._0x299b22)](_0x3bc460,![]);if(_0x2377d2){const _0x437c98=this['getGeometryInstanceAttributes'](_0x36e544);_0x437c98&&(_0x437c98['color']=Cesium__namespace[_0x5aa29a(0x5f3,0xe6f)][_0x5aa29a(_0x309333._0x1415fe,0x348)](_0x2377d2)),this['fire'](EventType[_0x5aa29a(0xb50,_0x309333._0x4b0c22)],{},!![]);}}}['closeHighlight'](_0x453cf4){const _0x58b77d={_0x36c726:0xbc4,_0x1b095d:0x64f,_0x14ed6a:0x52f,_0x33a008:0x539,_0x12119f:0xab7,_0x36a34b:0x1385,_0x1422fe:0xf15,_0x37acf2:0x1167,_0x303ab5:0x14a4},_0xe83c3={_0x31c7ce:0x486};Cesium__namespace['defined'](_0x453cf4)&&(isNumber(_0x453cf4)?this['_last_pickedObject']={'id':this['createPickId'](_0x453cf4),'data':this['options']['instances'][_0x453cf4]||{}}:this[_0x4d9521(-0x167,0x539)]=_0x453cf4);function _0x153671(_0x4f89aa,_0xa8f70){return _0x7afdbe(_0x4f89aa,_0xa8f70- -_0xe83c3._0x31c7ce);}if(this['_last_pickedObject']&&this['_primitive']){var _0x15ff6e;const _0x221ea7=PolygonStyleConver['toCesiumVal'](((_0x15ff6e=this[_0x153671(0x614,0x38c)][_0x4d9521(0x5c3,_0x58b77d._0x36c726)])===null||_0x15ff6e===void 0x0?void 0x0:_0x15ff6e[_0x153671(_0x58b77d._0x1b095d,0x244)])||{}),_0x2721bd=this[_0x4d9521(_0x58b77d._0x14ed6a,_0x58b77d._0x33a008)]['id'];if(this[_0x4d9521(0x3d9,0x87b)]){const _0x5de416=this['getGeometryInstanceAttributes'](_0x2721bd,this[_0x153671(0x7e9,0x6ce)]);if(_0x5de416){const _0x5cbfcb=this[_0x153671(_0x58b77d._0x12119f,0x146d)](_0x221ea7),_0x4aef6f=PolylineStyleConver[_0x153671(_0x58b77d._0x36a34b,0xb81)](_0x5cbfcb);_0x5de416['color']=Cesium__namespace['ColorGeometryInstanceAttribute']['toValue'](_0x4aef6f[_0x4d9521(_0x58b77d._0x1422fe,_0x58b77d._0x37acf2)]);}}const _0x46e472=this['_getColorByColorMaterial'](_0x221ea7,![]);if(_0x46e472){const _0x337b1b=this['getGeometryInstanceAttributes'](_0x2721bd);_0x337b1b&&(_0x337b1b[_0x153671(0x1638,0xfba)]=Cesium__namespace['ColorGeometryInstanceAttribute']['toValue'](_0x46e472),this[_0x153671(_0x58b77d._0x303ab5,0xc60)](EventType['highlightClose'],{},!![]));}delete this['_last_pickedObject'];}function _0x4d9521(_0x493a89,_0x256a93){return _0x7afdbe(_0x493a89,_0x256a93- -0x2d9);}this['_map']['isHighlighting'](this)&&this[_0x4d9521(0xf86,0x728)]['_clearLastHighlight']();}['setStyle'](_0x1d08b7){const _0x2d3a21={_0x30bfb6:0xea6};if(!_0x1d08b7)return;const _0x1e9188=this['options'][_0x51de65(_0x2d3a21._0x30bfb6,0xa47)]||[];function _0x4c0de6(_0x597d56,_0x369c5e){return _0x54a7f1(_0x597d56- -0x4da,_0x369c5e);}function _0x51de65(_0x5d5e5b,_0x7f37f1){return _0x7afdbe(_0x7f37f1,_0x5d5e5b- -0x268);}for(let _0x16ca40=0x0;_0x16ca40<_0x1e9188['length'];_0x16ca40++){const _0x196336=_0x1e9188[_0x16ca40];_0x196336['style']&&(_0x196336['style']=merge(_0x196336['style'],_0x1d08b7));}return super[_0x4c0de6(0xc73,0x474)](_0x1d08b7);}['openPopup'](_0x3de26c,_0x22dbac){const _0x102b40={_0x34810c:0x6d2,_0x217aef:0x73d,_0x2a5710:0xff8},_0x459ef9={_0x3e5a02:0x25b},_0x184ed6={_0x363754:0x2c4},_0x4d98f0=this['getPopupConfig']();function _0x1a5ebc(_0x38bf1b,_0x29af44){return _0x7afdbe(_0x29af44,_0x38bf1b- -_0x184ed6._0x363754);}if(_0x4d98f0&&this[_0x398838(_0x102b40._0x34810c,0xa2e)]){_0x22dbac&&(_0x4d98f0['event']=_0x22dbac);_0x4d98f0['graphic']=this,_0x4d98f0[_0x1a5ebc(0x1284,0xc08)]=this['_layer'];const _0x32a908=this['options']['instances'][_0x3de26c]||{};this['attr']=_0x32a908['attr'];const _0x3284a9=this['_getCenter'](_0x32a908);this[_0x1a5ebc(_0x102b40._0x217aef,_0x102b40._0x2a5710)]['popup']['open'](_0x3284a9,_0x4d98f0);}function _0x398838(_0x17bf72,_0x4c5d80){return _0x54a7f1(_0x4c5d80-_0x459ef9._0x3e5a02,_0x17bf72);}return this;}['_getCenter'](_0x5dba07){const _0x4bb747={_0x160e29:0x1438,_0x2e30c6:0xf77,_0x3151bc:0x1952,_0x2098e5:0xf77,_0x49d3a6:0x601,_0x335ac3:0xe46,_0x40bed4:0x975};function _0x3db11c(_0x5b43c3,_0x5be67c){return _0x7afdbe(_0x5be67c,_0x5b43c3- -0x1ed);}function _0x423b51(_0x19ab05,_0x31ec32){return _0x54a7f1(_0x19ab05- -0x2a9,_0x31ec32);}if(!_0x5dba07[_0x423b51(0xc8d,0xbbf)]){if(_0x5dba07[_0x423b51(_0x4bb747._0x160e29,0x13fc)])_0x5dba07[_0x3db11c(_0x4bb747._0x2e30c6,0xfb9)]=_0x5dba07[_0x3db11c(0x1722,_0x4bb747._0x3151bc)];else _0x5dba07[_0x3db11c(0x1130,0x17eb)]&&(_0x5dba07[_0x3db11c(_0x4bb747._0x2098e5,_0x4bb747._0x49d3a6)]=centerOfMass(_0x5dba07[_0x423b51(_0x4bb747._0x335ac3,_0x4bb747._0x40bed4)]));}return _0x5dba07['_center'];}[_0x7afdbe(0x1ab6,0x11bf)](_0x20a81b,_0x5b3ff3){const _0x43276b={_0x4517a6:0x6b4},_0x1a78c6={_0x2cf62e:0x31f};if(!Cesium__namespace['defined'](this[_0xda7228(0x99,-0x867)]['offsetAttribute'])){const _0x4d7bef={};_0x4d7bef[_0x32a958(0xfe8,0x801)]=Cesium__namespace[_0xda7228(0x4e2,0x613)]['ALL'],this[_0xda7228(0xd4a,_0x43276b._0x4517a6)](_0x4d7bef);}function _0xda7228(_0x1100ff,_0x19cf2e){return _0x54a7f1(_0x1100ff- -0x403,_0x19cf2e);}function _0x32a958(_0x1cb00c,_0xeb6973){return _0x54a7f1(_0x1cb00c- -_0x1a78c6._0x2cf62e,_0xeb6973);}Cesium__namespace['defined'](_0x5b3ff3)?this['_setOffsetHeight'](_0x5b3ff3,_0x20a81b):this['eachInstances']((_0x55f6d4,_0x772d59)=>{function _0x2e573f(_0x5493d8,_0x458b31){return _0xda7228(_0x5493d8-0x63,_0x458b31);}this[_0x2e573f(0xc3e,0xcbd)](_0x772d59,_0x20a81b);});}[_0x7afdbe(0x125a,0x120c)](_0x55a573,_0x2b0b40){const _0x731499={_0x52be6a:0xa7e,_0x450cdd:0xbe5,_0x3216df:0x18b,_0x37bb7c:0x8a},_0x1bd346={_0x318dba:0x9c},_0x10c269=this['instances'][_0x55a573];!Cesium__namespace[_0x606dca(0x1417,0x16af)](_0x2b0b40)&&(_0x2b0b40=_0x10c269['style'][_0x245c1b(_0x731499._0x52be6a,_0x731499._0x450cdd)]);function _0x606dca(_0x50a29b,_0x27b1cb){return _0x54a7f1(_0x50a29b- -0x26a,_0x27b1cb);}function _0x245c1b(_0x217253,_0x167e5e){return _0x54a7f1(_0x167e5e-_0x1bd346._0x318dba,_0x217253);}const _0x41f026=this['getGeometryInstanceAttributes'](this[_0x606dca(0x1175,0x1a0e)](_0x55a573));if(_0x41f026){const _0x25e7c7=this['_getCenter'](_0x10c269);if(!_0x25e7c7)return;const _0x3b5559=this[_0x245c1b(0x18dd,0xe8e)](_0x2b0b40,_0x25e7c7);_0x41f026[_0x606dca(0x6ae,-_0x731499._0x3216df)]=Cesium__namespace[_0x606dca(_0x731499._0x37bb7c,-0x453)]['toValue'](_0x3b5559,_0x41f026['offset']);}}['toCartesianPositions'](_0x37ffae,_0x523279){const _0x359cec={_0xfab09e:0x173a,_0x238ebb:0x194f,_0x1e8d06:0xe4d,_0x38e3cf:0xfd1},_0x41190b={_0x93cd53:0x25e};if(!_0x37ffae)return;const _0x4bc785=[];return _0x37ffae['forEach']((_0x26e872,_0x653128)=>{const _0x352943=LngLatPoint['parse'](_0x26e872);if(!_0x352943||!_0x352943[_0x5caf4f(_0x359cec._0xfab09e,_0x359cec._0x238ebb)]())return;function _0x5caf4f(_0x1d7bca,_0x128ce5){return _0x536c(_0x1d7bca-0x378,_0x128ce5);}const _0x4bd172=this['getSetHeight'](_0x523279,_0x653128);Cesium__namespace[_0x5caf4f(0x18d2,_0x359cec._0x1e8d06)](_0x4bd172)&&(_0x352943['alt']=_0x4bd172);const _0x2770fe=this[_0x49b79f(0x61c,0x3e3)](_0x523279,_0x653128);function _0x49b79f(_0x271dfd,_0x10d8e3){return _0x536c(_0x10d8e3- -_0x41190b._0x93cd53,_0x271dfd);}Cesium__namespace['defined'](_0x2770fe)&&(_0x352943['alt']=_0x352943['alt']+_0x2770fe),_0x4bc785['push'](_0x352943[_0x49b79f(_0x359cec._0x38e3cf,0x77f)]());}),_0x4bc785;}}class BasePointCombine extends BasePolyCombine{[_0x54a7f1(0xfad,0xf08)](_0x59743c,_0x12635a){const _0xee8050={_0x465bad:0xe14,_0x4e17a1:0x176e,_0x2af592:0x39a,_0x818f44:0x1c65},_0x463871={_0x49b956:0x29e};function _0x5201b6(_0x4e3012,_0x56c5b7){return _0x54a7f1(_0x56c5b7-0x8d,_0x4e3012);}if(_0x59743c['modelMatrix'])return _0x59743c['modelMatrix'];const _0x29d96f=LngLatPoint['toCartesian'](_0x59743c[_0x5201b6(_0xee8050._0x465bad,_0xee8050._0x4e17a1)]),_0x10974f=Cesium__namespace['Transforms'][_0x5201b6(0x114a,0xccb)](_0x29d96f,Cesium__namespace['HeadingPitchRoll']['fromDegrees'](_0x12635a[_0x5201b6(-0x21b,_0xee8050._0x2af592)]||0x0,_0x12635a['pitch']||0x0,_0x12635a['roll']||0x0),this['ellipsoid'],this[_0x4aa1ce(0x19d1,_0xee8050._0x818f44)]);function _0x4aa1ce(_0x5f1c22,_0xd7d093){return _0x54a7f1(_0x5f1c22-_0x463871._0x49b956,_0xd7d093);}return _0x10974f;}[_0x7afdbe(0x438,0x870)](_0x142da3,_0x1fdb0e){const _0x41d584={_0x5f410f:0x129c,_0x28bd56:0xa96,_0x1544af:0x442},_0x40da6b={_0x3844e5:0x391};function _0x2eeb82(_0x4ec204,_0x159abe){return _0x54a7f1(_0x159abe- -_0x40da6b._0x3844e5,_0x4ec204);}const _0xc74cb7=this['getPopupConfig']();function _0x43567f(_0x1e4295,_0x22091){return _0x7afdbe(_0x1e4295,_0x22091- -0x3ef);}if(_0xc74cb7&&this['_map']){_0x1fdb0e&&(_0xc74cb7['event']=_0x1fdb0e);_0xc74cb7['graphic']=this,_0xc74cb7['layer']=this[_0x2eeb82(0x187c,_0x41d584._0x5f410f)];const _0x44d9c8=this['instances'][_0x142da3]||{};this[_0x2eeb82(_0x41d584._0x28bd56,0x12f6)]=_0x44d9c8['attr'],this[_0x2eeb82(0xd70,_0x41d584._0x1544af)]['popup']['open'](_0x44d9c8['position'],_0xc74cb7);}return this;}}var FlatBillboardFS='#ifdef\x20GL_ES\x0aprecision\x20mediump\x20float;\x0a#endif\x0auniform\x20sampler2D\x20mars_image;\x0auniform\x20vec2\x20mars_distanceDisplayCondition;\x0auniform\x20vec3\x20mars_positionWC;\x0ain\x20vec3\x20v_worldPos;\x0ain\x20vec2\x20v_st;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20float\x20dis\x20=\x20distance(mars_positionWC,\x20v_worldPos);\x0a\x20\x20if(dis\x20<\x20mars_distanceDisplayCondition.x\x20||\x20dis\x20>\x20mars_distanceDisplayCondition.y)\x20{\x0a\x20\x20\x20\x20discard;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20vec4\x20colorMars3D\x20=\x20texture(mars_image,\x20v_st);\x0a\x20\x20\x20\x20colorMars3D.a\x20*=\x20globalAlpha;\x0a\x0a\x20\x20\x20\x20//\x20Fully\x20transparent\x20parts\x20of\x20the\x20billboard\x20are\x20not\x20pickable.\x0a\x20\x20\x20\x20#if\x20!defined(OPAQUE)\x20&&\x20!defined(TRANSLUCENT)\x0a\x20\x20\x20\x20if(colorMars3D.a\x20<\x200.005)\x20\x20\x20//\x20matches\x200/255\x20and\x201/255\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20//\x20The\x20billboard\x20is\x20rendered\x20twice.\x20The\x20opaque\x20pass\x20discards\x20translucent\x20fragments\x0a\x20\x20\x20\x20//\x20and\x20the\x20translucent\x20pass\x20discards\x20opaque\x20fragments.\x0a\x20\x20\x20\x20#ifdef\x20OPAQUE\x0a\x20\x20\x20\x20if(colorMars3D.a\x20<\x200.995)\x20\x20\x20//\x20matches\x20<\x20254/255\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20if(colorMars3D.a\x20>=\x200.995)\x20\x20//\x20matches\x20254/255\x20and\x20255/255\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20colorMars3D;\x0a\x0a\x20\x20}\x0a}\x0a',FlatBillboardVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec3\x20color;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0a\x0auniform\x20mat4\x20mars_orthographicMatrix;\x0auniform\x20mat4\x20mars_viewMatrix;\x0auniform\x20vec2\x20mars_resolution;\x0auniform\x20float\x20mars_pointSize;\x0aout\x20vec2\x20v_st;\x0aout\x20vec3\x20v_worldPos;\x0a\x0avec4\x20transform(mat4\x20m,\x20mat4\x20v,\x20vec3\x20coord)\x20{\x0a\x20\x20return\x20m\x20*\x20v\x20*\x20vec4(coord,\x201.0);\x0a}\x0avec2\x20project(vec4\x20device)\x20{\x0a\x20\x20vec3\x20device_normal\x20=\x20device.xyz\x20/\x20device.w;\x0a\x20\x20vec2\x20clip_pos\x20=\x20(device_normal\x20*\x200.5\x20+\x200.5).xy;\x0a\x20\x20return\x20clip_pos\x20*\x20mars_resolution;\x0a}\x0avec4\x20unproject(vec2\x20screen,\x20float\x20z,\x20float\x20w)\x20{\x0a\x20\x20vec2\x20clip_pos\x20=\x20screen\x20/\x20mars_resolution;\x0a\x20\x20vec2\x20device_normal\x20=\x20clip_pos\x20*\x202.0\x20-\x201.0;\x0a\x20\x20return\x20vec4(device_normal\x20*\x20w,\x20z,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20v_st\x20=\x20st;\x0a\x20\x20vec3\x20currPMars3D\x20=\x20position3DHigh.xyz\x20+\x20position3DLow.xyz;\x0a\x20\x20v_worldPos\x20=\x20currPMars3D;\x0a\x20\x20vec4\x20eyeCurrP\x20=\x20transform(mars_orthographicMatrix,\x20mars_viewMatrix,\x20currPMars3D);\x0a\x20\x20vec2\x20winCurrP\x20=\x20project(eyeCurrP);\x0a\x20\x20vec3\x20dirEye\x20=\x20czm_viewRotation\x20*\x20color;\x0a\x20\x20dirEye\x20=\x20normalize(dirEye);\x0a\x0a\x20\x20vec2\x20newWinCurrP\x20=\x20winCurrP\x20+\x20dirEye.xy\x20*\x20mars_pointSize;\x0a\x20\x20gl_Position\x20=\x20unproject(newWinCurrP,\x20eyeCurrP.z,\x20eyeCurrP.w);\x0a\x20\x20gl_PointSize\x20=\x20mars_pointSize;\x0a}\x0a';const _0x375715={};_0x375715[_0x7afdbe(0x1c51,0x16d0)]=0x0,_0x375715['width']=0x32;const DEF_STYLE$g=_0x375715;class FlatBillboard extends BaseCombine{constructor(_0x401c03={}){const _0x4253f4={_0xafe969:0x617};_0x401c03['style']={...DEF_STYLE$g,..._0x401c03[_0x4cbf3d(0x160,_0x4253f4._0xafe969)]},super(_0x401c03),this['distanceDisplayCondition']=_0x401c03['distanceDisplayCondition']??new Cesium__namespace['DistanceDisplayCondition'](0x0,0x4c4b40);function _0x4cbf3d(_0x1479e8,_0x8f81a0){return _0x7afdbe(_0x1479e8,_0x8f81a0- -0xb3);}this['_globalAlpha']=0x1;}get[_0x7afdbe(-0xd4,0x5d0)](){const _0x3aef25={_0x42920d:0x1508};var _0x18c576;function _0x509e34(_0x471191,_0x3f3a29){return _0x54a7f1(_0x3f3a29- -0x125,_0x471191);}return(_0x18c576=this[_0x509e34(0x1c9a,_0x3aef25._0x42920d)])===null||_0x18c576===void 0x0?void 0x0:_0x18c576['billboardCollection'];}get['distanceDisplayCondition'](){return this['_distanceDisplayCondition'];}set[_0x54a7f1(0xc9f,0x216)](_0x18a985){const _0x5556b5={_0x5aca8f:0xe};function _0xc98bca(_0x3a08bf,_0x3b545){return _0x54a7f1(_0x3a08bf-_0x5556b5._0x5aca8f,_0x3b545);}function _0x82b9ba(_0x2450af,_0x322321){return _0x7afdbe(_0x322321,_0x2450af- -0x5cc);}this[_0xc98bca(0x17a8,0x19b6)]=_0x18a985,this[_0xc98bca(0x1129,0x82b)]=new Cesium__namespace['Cartesian2'](_0x18a985['near'],_0x18a985['far']);}[_0x7afdbe(0x1703,0x134f)](_0x29919e){const _0x311d4e={_0x3e2111:0x17bb,_0x54fedc:0x715,_0x3d4914:0xc07,_0x5ec663:0x84a,_0x2d68a8:0xa7c,_0x45f5f3:0x106a,_0x5d4226:0xd2e,_0x1c4dbb:0x11b7,_0x501564:0x347,_0x1e0834:0x6d,_0x57103f:0x626,_0x190dca:0x9a6,_0xd49d44:0x10d2,_0x47b8d0:0x2da,_0x143ed8:0x174,_0x4509f7:0x81a,_0x3e1130:0xc06},_0x565421={_0x13a7d5:0x509};if(!this['show'])return;const _0xec084e=(this['options'][_0x39b6a9(_0x311d4e._0x3e2111,0x1a8e)]??0x1)*this[_0x39b6a9(0x95d,_0x311d4e._0x54fedc)]['viewer'][_0x1747e8(0xa7b,_0x311d4e._0x3d4914)];this['options'][_0x39b6a9(0x106a,_0x311d4e._0x5ec663)][_0x1747e8(_0x311d4e._0x2d68a8,0xa7c)]>0x0&&this['options'][_0x39b6a9(_0x311d4e._0x45f5f3,_0x311d4e._0x5d4226)][0x0][_0x39b6a9(0x626,-0x31c)][_0x39b6a9(0x16e1,_0x311d4e._0x1c4dbb)]?this['_pointSize']=_0xec084e*this['options'][_0x39b6a9(0x106a,0xbb3)][0x0][_0x1747e8(_0x311d4e._0x501564,-_0x311d4e._0x1e0834)]['width']:this['_pointSize']=_0xec084e*this['options'][_0x39b6a9(_0x311d4e._0x57103f,_0x311d4e._0x190dca)]['width'];function _0x39b6a9(_0x8825e7,_0x4d3332){return _0x54a7f1(_0x8825e7-0x18a,_0x4d3332);}this['textures']={},this[_0x39b6a9(0x1755,_0x311d4e._0xd49d44)]=new Cesium__namespace['Texture']({'context':this['_map']['scene']['context'],'width':0x1f4,'height':0x1f4});this['options']['instances']&&this['redraw']();function _0x1747e8(_0x1192ab,_0x4d6748){return _0x54a7f1(_0x4d6748- -_0x565421._0x13a7d5,_0x1192ab);}this['_map']['on'](EventType['morphComplete'],this[_0x1747e8(0x570,_0x311d4e._0x47b8d0)],this),this[_0x39b6a9(0x5c9,_0x311d4e._0x143ed8)][_0x39b6a9(_0x311d4e._0x4509f7,_0x311d4e._0x3e1130)](this);}['_removedHook'](){const _0x317a15={_0x415dee:0x2b4},_0x4a7b60={_0x421b0c:0x2be};this['_map'][_0x2be71a(0x2bd,0x5c)](EventType['morphComplete'],this['_onMorphComplete'],this);function _0x2be71a(_0xebcf4a,_0x91cd2e){return _0x7afdbe(_0x91cd2e,_0xebcf4a- -_0x4a7b60._0x421b0c);}this['clear'](),this['textureDef']['destroy'](),delete this['textureDef'],this['_noDestroy']=!![],this['primitiveCollection'][_0x2e2759(_0x317a15._0x415dee,-0x25d)](this);function _0x2e2759(_0x54cb7d,_0x2101b9){return _0x54a7f1(_0x54cb7d- -0x4da,_0x2101b9);}this['_noDestroy']=![];}['clear'](){const _0x2c3927={_0x3ee84a:0x39c},_0x937611={_0x36a383:0xc6},_0x27fed7={_0x24aaa9:0x524};function _0x586301(_0x5e6476,_0x55a107){return _0x7afdbe(_0x55a107,_0x5e6476- -_0x27fed7._0x24aaa9);}function _0x12acb3(_0x20f809,_0x2e03c3){return _0x54a7f1(_0x2e03c3-_0x937611._0x36a383,_0x20f809);}this[_0x12acb3(0x2e2,0xa57)](),this[_0x586301(0xe08,_0x2c3927._0x3ee84a)]();}['redraw'](){const _0x48a716={_0x4c16ab:0x187f,_0x116567:0x1064,_0x1c82d7:0xe87,_0x474383:0x12c6,_0x3d8801:0x652,_0x3c5510:0xc88,_0x25b1f2:0x128d,_0x1bdaf9:0x617,_0x54d6dc:0x207,_0x399c1c:0x1a36,_0x5eec4f:0xf0b},_0x5f1495={_0xcb79a1:0x184},_0x2282c1={_0x516ed0:0x20e};function _0x4bc615(_0x247aa6,_0x441ad9){return _0x54a7f1(_0x441ad9-_0x2282c1._0x516ed0,_0x247aa6);}function _0x50e67f(_0x53e83b,_0x3ac73a){return _0x54a7f1(_0x3ac73a-_0x5f1495._0xcb79a1,_0x53e83b);}if(!this[_0x50e67f(0x334,0x957)])return;this['clear']();const _0x35b3bf=this[_0x50e67f(_0x48a716._0x4c16ab,_0x48a716._0x116567)];if(_0x35b3bf)for(let _0x3323e0=0x0,_0x1dfcea=_0x35b3bf[_0x50e67f(_0x48a716._0x1c82d7,0x1109)];_0x3323e0<_0x1dfcea;_0x3323e0++){const _0x2a1fbb=_0x35b3bf[_0x3323e0];_0x2a1fbb[_0x4bc615(_0x48a716._0x474383,0x18ef)]=LngLatPoint[_0x50e67f(_0x48a716._0x3d8801,_0x48a716._0x3c5510)](_0x2a1fbb['position']);}this['_map'][_0x4bc615(0x93f,_0x48a716._0x25b1f2)][_0x50e67f(0xae8,_0x48a716._0x1bdaf9)]===Cesium__namespace[_0x4bc615(_0x48a716._0x54d6dc,0xae0)][_0x4bc615(_0x48a716._0x399c1c,0x1775)]?this[_0x4bc615(0x1402,_0x48a716._0x5eec4f)]():this['_initCollectionBy2D']();}['_onMorphComplete'](_0x45c836){this['redraw']();}[_0x7afdbe(0xb9f,0xb6d)](_0x126cb0){const _0x3734ed={_0x4c977b:0x523,_0x39873d:0x69e,_0x1b3745:0x575,_0x364ed6:0x1333,_0x4587ce:0xadc,_0x179bdc:0x13c3,_0x10f72f:0xef},_0x5c5010={_0x193fbb:0x234},_0x5cb003={_0x1039a7:0x354};if(!this['getRealShow'](_0x126cb0['time'])){this['_removeCollectionBy2D']();return;}function _0x213364(_0x55cc3c,_0x1a4319){return _0x54a7f1(_0x55cc3c- -_0x5cb003._0x1039a7,_0x1a4319);}function _0x16613b(_0x2aaded,_0x10ed48){return _0x54a7f1(_0x2aaded- -_0x5c5010._0x193fbb,_0x10ed48);}_0x126cb0[_0x213364(0x13f,-_0x3734ed._0x4c977b)]===Cesium__namespace[_0x16613b(_0x3734ed._0x39873d,_0x3734ed._0x1b3745)][_0x16613b(_0x3734ed._0x364ed6,0x9b3)]?_0x126cb0[_0x16613b(_0x3734ed._0x4587ce,0x3ed)][_0x213364(0x11b4,0xd01)]?this['_drawCommands']&&_0x126cb0['commandList'][_0x16613b(0xcd4,0xc96)](...this['_drawCommands']):this[_0x16613b(_0x3734ed._0x179bdc,0x1075)]&&_0x126cb0[_0x16613b(0xaee,0xd7)][_0x213364(0xbb4,0x18a)](...this['_pickCommands']):!this[_0x213364(0x4e,-0x80e)]&&this[_0x213364(0x1fa,-_0x3734ed._0x10f72f)]();}[_0x54a7f1(0x54e,0x48a)](){const _0x391a26={_0x3fc24e:0xdab,_0x2b9f8c:0xc4e,_0x38f683:0x529,_0x50a8a3:0x761,_0x4ef7e7:0x10c0},_0x47ff98=this[_0x158516(0x173a,0xfda)];if(!_0x47ff98)return;function _0x24bedd(_0x1c5607,_0x4621d0){return _0x7afdbe(_0x4621d0,_0x1c5607- -0x565);}this[_0x24bedd(0x10c0,_0x391a26._0x3fc24e)]=[];function _0x158516(_0x3c8660,_0x5dcc21){return _0x54a7f1(_0x5dcc21-0xfa,_0x3c8660);}for(let _0x4fc5a9=0x0,_0x1383af=_0x47ff98[_0x24bedd(_0x391a26._0x2b9f8c,_0x391a26._0x38f683)];_0x4fc5a9<_0x1383af;_0x4fc5a9++){const _0x158eb5=_0x47ff98[_0x4fc5a9],_0x5aace4={...this['options'][_0x158516(-0x13e,0x596)],..._0x158eb5[_0x24bedd(0x165,-0x69f)]},_0x20c3bc=_0x5aace4,_0x294308=this['billboardCollection'][_0x158516(0x9b6,0x78a)]({'id':this[_0x24bedd(0x10a8,0x1ac6)](_0x4fc5a9),'position':_0x158eb5['position'],'image':_0x20c3bc['image'],'scale':0x1,'rotation':Cesium__namespace['Math'][_0x158516(0xedd,0x161c)](_0x20c3bc[_0x24bedd(0x116b,0xa83)]||0x0),'width':_0x20c3bc['width'],'height':_0x20c3bc[_0x158516(0x779,_0x391a26._0x50a8a3)]||_0x20c3bc[_0x24bedd(0x1220,0x764)]});this['bindPickId'](_0x294308),this[_0x24bedd(_0x391a26._0x4ef7e7,0x9ff)]['push'](_0x294308);}}['_removeCollectionBy2D'](){const _0x11bf1b={_0x1d3daa:0xffa,_0x58973a:0x54a,_0xf4d241:0x11b3,_0x255970:0x14dd},_0x76c645={_0x4b5c61:0x472},_0x5185a3={_0x47d8fa:0x5f7};function _0x50228b(_0x2bb06d,_0x43fdd5){return _0x7afdbe(_0x43fdd5,_0x2bb06d- -_0x5185a3._0x47d8fa);}if(!this['billboardCollection']||!this['_billboard2DList'])return;for(let _0x28bb5a=this['_billboard2DList'][_0x50228b(0xbbc,_0x11bf1b._0x1d3daa)]-0x1;_0x28bb5a>=0x0;_0x28bb5a--){const _0xdb43c1=this['_billboard2DList'][_0x28bb5a];this['billboardCollection'][_0x1de944(_0x11bf1b._0x58973a,0x145)](_0xdb43c1);}function _0x1de944(_0x35c450,_0x1aefd9){return _0x7afdbe(_0x1aefd9,_0x35c450- -_0x76c645._0x4b5c61);}this[_0x1de944(_0x11bf1b._0xf4d241,_0x11bf1b._0x255970)]=[];}[_0x7afdbe(0x875,0xf2b)](){const _0x1d70e9={_0x5be5cf:0x188b},_0x19a60e=this['instances'];if(!_0x19a60e)return;function _0x4c1c01(_0x15b2a7,_0x100f41){return _0x54a7f1(_0x100f41-0x28b,_0x15b2a7);}const _0x4ced5e={};for(let _0x410ac5=0x0,_0x1c5f45=_0x19a60e['length'];_0x410ac5<_0x1c5f45;_0x410ac5++){var _0x753d0a;const _0x3b5943=_0x19a60e[_0x410ac5];_0x3b5943['index']=_0x410ac5;const _0x612006=(_0x753d0a=_0x3b5943['style'])===null||_0x753d0a===void 0x0?void 0x0:_0x753d0a['image'];if(!_0x612006)continue;!_0x4ced5e[_0x612006]&&(_0x4ced5e[_0x612006]=[]),_0x4ced5e[_0x612006][_0x4c1c01(_0x1d70e9._0x5be5cf,0x1193)](_0x3b5943);}this['_clearDrawCommand']();const _0x5ac1b1=[];for(const _0x34dfd2 in _0x4ced5e){const _0x3e50c6=_0x4ced5e[_0x34dfd2],_0x971c69=_0x34dfd2;this['prepareTexture'](_0x971c69);for(const _0x4cf02c of _0x3e50c6){const _0x259dcb=this['createDrawCommand'](_0x971c69,_0x4cf02c);_0x5ac1b1['push'](_0x259dcb);}}this['_drawCommands']=_0x5ac1b1;}['_removeCollectionBy3D'](){const _0x38ba92={_0x13741b:0x436},_0x252dc7={_0x1c7ead:0x1ca},_0x2dae3f={_0x3181c4:0xe1};function _0x2b240f(_0x23483a,_0x204f87){return _0x54a7f1(_0x204f87- -_0x2dae3f._0x3181c4,_0x23483a);}this['_clearDrawCommand']();function _0xb73313(_0x542c1e,_0x37900f){return _0x54a7f1(_0x542c1e-_0x252dc7._0x1c7ead,_0x37900f);}for(const _0x761851 in this[_0xb73313(0x6e1,-0x27c)]){this[_0x2b240f(0x724,_0x38ba92._0x13741b)][_0x761851]&&this['textures'][_0x761851]['destroy']();}this['textures']={};}[_0x7afdbe(0x1d97,0x15fc)](){const _0x6d72c7={_0x5270ed:0x1063,_0x5a7486:0x1519},_0x127e9e={_0x395dbb:0xa56,_0x3bdb49:0x8f,_0x49f8f8:0x2c,_0x4cc135:0x109},_0x1a9523={_0xb14edd:0x756},_0x5e5592={_0x3a47f7:0x1bb},_0x5dbf66={_0x3865cc:0x30c};function _0x146b3e(_0x2adb7f,_0x3bc7c8){return _0x7afdbe(_0x3bc7c8,_0x2adb7f- -_0x5dbf66._0x3865cc);}function _0x515b94(_0x596a89,_0x20b887){return _0x7afdbe(_0x20b887,_0x596a89-0x86);}this['_drawCommands']&&this['_drawCommands'][_0x146b3e(0xea7,0x1477)]>0x0&&(this[_0x515b94(_0x6d72c7._0x5270ed,0x1988)]['forEach'](function(_0x32822b){const _0xab693e={_0x1783ef:0x242};_0x32822b['vertexArray']&&_0x32822b['vertexArray']['destroy']();function _0x36e347(_0x2f578b,_0x1bde95){return _0x146b3e(_0x2f578b-_0xab693e._0x1783ef,_0x1bde95);}function _0x540266(_0x48602e,_0x5787bd){return _0x146b3e(_0x48602e- -_0x5e5592._0x3a47f7,_0x5787bd);}_0x32822b[_0x36e347(_0x1a9523._0xb14edd,0x43d)]&&_0x32822b['shaderProgram'][_0x36e347(0x596,-0x285)]();}),delete this['_drawCommands']),this['_pickCommands']&&this['_pickCommands']['length']>0x0&&(this[_0x515b94(0x18ab,0x1138)][_0x146b3e(0x567,-0x2ec)](function(_0x329933){const _0x3a5bbb={_0x138c86:0x25e};function _0x13f96f(_0x382e4b,_0x19d431){return _0x146b3e(_0x19d431- -0x2db,_0x382e4b);}_0x329933['vertexArray']&&_0x329933[_0x13f96f(_0x127e9e._0x395dbb,_0x127e9e._0x3bdb49)]['destroy']();function _0x3c8442(_0x248fbd,_0xc69b6f){return _0x146b3e(_0xc69b6f-_0x3a5bbb._0x138c86,_0x248fbd);}_0x329933['shaderProgram']&&_0x329933[_0x13f96f(-_0x127e9e._0x49f8f8,0x239)][_0x13f96f(_0x127e9e._0x4cc135,0x79)]();}),delete this[_0x146b3e(_0x6d72c7._0x5a7486,0x128b)]);}['prepareTexture'](_0x1e5c00){const _0x5de98b={_0x34e232:0x212},_0x236b91={_0x2b6e19:0x849,_0x2abcae:0x2b8},_0x8ebe6=new Image();_0x8ebe6[_0x36b334(0xe5c,0x1141)]='anonymous',_0x8ebe6['onload']=_0x1efd20=>{const _0x25d480={};_0x25d480[_0x1f8b5a(0x8a,_0x236b91._0x2b6e19)]=this['_map']['scene']['context'];function _0x1f8b5a(_0x23ca87,_0x51c949){return _0x36b334(_0x51c949- -0x451,_0x23ca87);}_0x25d480['source']=_0x8ebe6;const _0x5d67ed=new Cesium__namespace['Texture'](_0x25d480);function _0x55aca4(_0x4ee57c,_0x4d0491){return _0x36b334(_0x4d0491- -0x3d5,_0x4ee57c);}this[_0x1f8b5a(-_0x236b91._0x2abcae,0x2d8)][_0x1e5c00]=_0x5d67ed;};function _0x36b334(_0x39a205,_0x59e3ce){return _0x54a7f1(_0x39a205-_0x5de98b._0x34e232,_0x59e3ce);}_0x8ebe6['src']=_0x1e5c00;}['prepareVAO'](_0x456397){const _0x28079c={_0x3988d2:0xd61,_0x571e5b:0x278,_0x3edb5c:0xfae,_0x2defa1:0xfe2,_0x1aa6bd:0xc99,_0x1b622d:0xc99,_0x2101a6:0xce4,_0x11b5da:0x924,_0x46db8c:0xc99,_0x44275b:0x127e,_0x5a0c32:0x1298,_0x1bbece:0x103d,_0x2052d9:0x1b4,_0x46f330:0x14a1,_0x37aa7a:0x8c0,_0x569581:0x169,_0x2af0fa:0x201,_0x3df6e4:0x12e8,_0x1a0ba7:0x10c3,_0x590a00:0x1078,_0x127b9c:0xfbe,_0x448623:0x949,_0x224a48:0x986},_0x55e178={_0x269765:0x224},_0x13de78={_0x2a6b5f:0x49d},_0xfd70a1=[],_0x228f9b=[];function _0x28d724(_0x1978d5,_0x1930a7){return _0x7afdbe(_0x1978d5,_0x1930a7- -_0x13de78._0x2a6b5f);}const _0x2f4702=[],_0x1b8ea5=[],_0x364846=[];function _0x276407(_0x452812,_0x557826){return _0x54a7f1(_0x452812- -_0x55e178._0x269765,_0x557826);}for(let _0x325952=0x0,_0x57df5b=_0x456397[_0x276407(_0x28079c._0x3988d2,0x135b)];_0x325952<_0x57df5b;_0x325952++){const _0x4c5e82=_0x456397[_0x325952],_0xb83e0e=_0x4c5e82['position'],_0x1e5ae1={...this['options']['style'],..._0x4c5e82[_0x276407(_0x28079c._0x571e5b,0x15f)]},_0x3bdec5=_0x1e5ae1;_0x2f4702[_0x276407(0xce4,0x15e9)](_0x325952*0x4+0x0),_0x2f4702['push'](_0x325952*0x4+0x2),_0x2f4702['push'](_0x325952*0x4+0x1),_0x2f4702[_0x276407(0xce4,0xef0)](_0x325952*0x4+0x0),_0x2f4702[_0x276407(0xce4,_0x28079c._0x3edb5c)](_0x325952*0x4+0x3),_0x2f4702['push'](_0x325952*0x4+0x2);const _0x388c0d=new Float32Array(0x6);_0x388c0d[0x0]=_0xb83e0e['x'],_0x388c0d[0x1]=_0xb83e0e['x']-_0x388c0d[0x0],_0x388c0d[0x2]=_0xb83e0e['y'],_0x388c0d[0x3]=_0xb83e0e['y']-_0x388c0d[0x2],_0x388c0d[0x4]=_0xb83e0e['z'],_0x388c0d[0x5]=_0xb83e0e['z']-_0x388c0d[0x4],_0xfd70a1['push'](_0x388c0d[0x0]),_0xfd70a1['push'](_0x388c0d[0x2]),_0xfd70a1[_0x28d724(_0x28079c._0x2defa1,0xc99)](_0x388c0d[0x4]),_0x228f9b['push'](_0x388c0d[0x1]),_0x228f9b['push'](_0x388c0d[0x3]),_0x228f9b['push'](_0x388c0d[0x5]),_0xfd70a1[_0x28d724(0x35b,_0x28079c._0x1aa6bd)](_0x388c0d[0x0]),_0xfd70a1['push'](_0x388c0d[0x2]),_0xfd70a1[_0x276407(0xce4,0x12ce)](_0x388c0d[0x4]),_0x228f9b['push'](_0x388c0d[0x1]),_0x228f9b['push'](_0x388c0d[0x3]),_0x228f9b['push'](_0x388c0d[0x5]),_0xfd70a1[_0x28d724(0xcf3,_0x28079c._0x1aa6bd)](_0x388c0d[0x0]),_0xfd70a1[_0x28d724(0x6da,0xc99)](_0x388c0d[0x2]),_0xfd70a1['push'](_0x388c0d[0x4]),_0x228f9b['push'](_0x388c0d[0x1]),_0x228f9b[_0x276407(0xce4,0x1584)](_0x388c0d[0x3]),_0x228f9b['push'](_0x388c0d[0x5]),_0xfd70a1['push'](_0x388c0d[0x0]),_0xfd70a1[_0x276407(0xce4,0xe32)](_0x388c0d[0x2]),_0xfd70a1[_0x28d724(0x5ea,_0x28079c._0x1b622d)](_0x388c0d[0x4]),_0x228f9b[_0x276407(_0x28079c._0x2101a6,_0x28079c._0x11b5da)](_0x388c0d[0x1]),_0x228f9b[_0x276407(0xce4,0x34d)](_0x388c0d[0x3]),_0x228f9b['push'](_0x388c0d[0x5]),_0x1b8ea5[_0x28d724(0xc73,_0x28079c._0x1aa6bd)](0x0,0x0),_0x1b8ea5['push'](0x0,0x1),_0x1b8ea5[_0x28d724(0xdb4,_0x28079c._0x46db8c)](0x1,0x1),_0x1b8ea5['push'](0x1,0x0);const _0x40d95d=Cesium__namespace['Transforms'][_0x28d724(0x96a,0x102b)](_0xb83e0e),_0x196b70=_0x3bdec5[_0x276407(_0x28079c._0x44275b,_0x28079c._0x5a0c32)]||0x0,_0x3cc9d0=Cesium__namespace['Matrix3']['fromRotationZ'](Cesium__namespace[_0x28d724(0xd7d,_0x28079c._0x1bbece)][_0x28d724(0x187d,0x12b3)](_0x196b70)),_0x2a7dff=Cesium__namespace[_0x276407(_0x28079c._0x2052d9,0x93b)][_0x28d724(0x14b5,_0x28079c._0x46f330)](_0x3cc9d0),_0x4c2945=Cesium__namespace[_0x28d724(-_0x28079c._0x37aa7a,_0x28079c._0x569581)]['multiply'](_0x40d95d,_0x2a7dff,new Cesium__namespace[(_0x28d724(-0x47f,0x169))]()),_0x599695=0x1,_0x15cc52=(_0x3bdec5[_0x28d724(-_0x28079c._0x2af0fa,0x3f8)]||_0x3bdec5['width'])/_0x3bdec5[_0x28d724(0xf6c,_0x28079c._0x3df6e4)],_0xf9cf24=new Cesium__namespace[(_0x276407(_0x28079c._0x1a0ba7,0x19b2))](-_0x599695,-_0x15cc52,0x0);Cesium__namespace['Matrix4']['multiplyByPointAsVector'](_0x4c2945,_0xf9cf24,_0xf9cf24),Cesium__namespace[_0x28d724(0x126d,_0x28079c._0x590a00)]['normalize'](_0xf9cf24,_0xf9cf24),_0x364846[_0x276407(0xce4,0xef8)](_0xf9cf24['x'],_0xf9cf24['y'],_0xf9cf24['z']);const _0x37b45c=new Cesium__namespace['Cartesian3'](-_0x599695,_0x15cc52,0x0);Cesium__namespace['Matrix4']['multiplyByPointAsVector'](_0x4c2945,_0x37b45c,_0x37b45c),Cesium__namespace['Cartesian3']['normalize'](_0x37b45c,_0x37b45c),_0x364846['push'](_0x37b45c['x'],_0x37b45c['y'],_0x37b45c['z']);const _0x50cbee=new Cesium__namespace['Cartesian3'](_0x599695,_0x15cc52,0x0);Cesium__namespace['Matrix4'][_0x276407(0xfbe,0x1490)](_0x4c2945,_0x50cbee,_0x50cbee),Cesium__namespace[_0x276407(0x10c3,0x1a29)]['normalize'](_0x50cbee,_0x50cbee),_0x364846['push'](_0x50cbee['x'],_0x50cbee['y'],_0x50cbee['z']);const _0x14bce2=new Cesium__namespace['Cartesian3'](_0x599695,-_0x15cc52,0x0);Cesium__namespace['Matrix4'][_0x276407(_0x28079c._0x127b9c,0x183a)](_0x4c2945,_0x14bce2,_0x14bce2),Cesium__namespace[_0x276407(_0x28079c._0x1a0ba7,0x114c)]['normalize'](_0x14bce2,_0x14bce2),_0x364846['push'](_0x14bce2['x'],_0x14bce2['y'],_0x14bce2['z']);}return{'index':new Uint16Array(_0x2f4702),'vertex_H':{'values':new Float32Array(_0xfd70a1),'componentDatatype':_0x276407(_0x28079c._0x448623,0xe1),'componentsPerAttribute':0x3},'vertex_L':{'values':new Float32Array(_0x228f9b),'componentDatatype':'DOUBLE','componentsPerAttribute':0x3},'uv':{'values':new Float32Array(_0x1b8ea5),'componentDatatype':'FLOAT','componentsPerAttribute':0x2},'color':{'values':new Float32Array(_0x364846),'componentDatatype':_0x276407(_0x28079c._0x224a48,0x625),'componentsPerAttribute':0x3}};}['createDrawCommand'](_0xd683e5,_0xc3e26){const _0x5ec890={_0x242f74:0x14e,_0x9a5790:0xe77,_0xe81c0e:0x12d1,_0x2a2270:0x1467,_0x5579a7:0x9eb,_0x139a3d:0x12d1,_0x11cdec:0xcd7,_0x33c928:0x1344,_0x2d7708:0x10aa,_0x3399db:0xfe,_0x151d4f:0x1414,_0x98e7d2:0x1bd,_0x2c3681:0x138c,_0x3df383:0xc35,_0x48af25:0x13ef,_0x14dc57:0x1a7a,_0x35de01:0x189f,_0x3d98d1:0xf8d,_0xfd2c2d:0xcd2,_0x5cc0f4:0xa49,_0x384f5a:0x10a0,_0x3f3cf4:0x1335,_0x5a6526:0xc47,_0x4e1ea5:0x18,_0x2b4b8b:0xa5b,_0x572414:0xdd8,_0x287f1c:0x15f4},_0x78b8f0={_0x5d50b9:0xd7c,_0x521eee:0xf2e},_0x5ad632={_0x42f72d:0x1719,_0x3be0a4:0x17b6},_0x323a51={_0x2f919d:0xe36},_0x5991dc={_0xf0d324:0xa0b,_0x2c2210:0x454,_0x1e8d0d:0x190,_0x58ca46:0x1368},_0x40061b={_0x371e5b:0x1a0},_0x2c0416=this['_map']['scene']['context'];function _0x2d62db(_0x2bbba9,_0x657734){return _0x7afdbe(_0x657734,_0x2bbba9- -0x5ee);}const _0xf648f8=this['options']['translucent']??![],_0x3fd428=Cesium__namespace['RenderState']['fromCache']({'depthTest':{'enabled':!![],'func':_0xf648f8?Cesium__namespace['WebGLConstants']['LEQUAL']:Cesium__namespace['WebGLConstants']['LESS']},'depthMask':_0xf648f8,'blending':Cesium__namespace['BlendingState']['ALPHA_BLEND']}),_0x38e3ce={};_0x38e3ce['position3DHigh']=0x0,_0x38e3ce['position3DLow']=0x1,_0x38e3ce[_0x30ddd3(0x174d,0x143e)]=0x2,_0x38e3ce['st']=0x3;const _0x7da5e0=_0x38e3ce,_0x2e7980={};_0x2e7980[_0x30ddd3(0x3a6,0xcb4)]=_0x2c0416,_0x2e7980[_0x30ddd3(_0x5ec890._0x242f74,0x664)]=FlatBillboardVS,_0x2e7980['fragmentShaderSource']=FlatBillboardFS,_0x2e7980['attributeLocations']=_0x7da5e0;const _0x5bb5c7=Cesium__namespace['ShaderProgram']['fromCache'](_0x2e7980),_0x505033=this[_0x2d62db(0xb64,0x8d2)]([_0xc3e26]),_0x317c30=Cesium__namespace['Buffer']['createIndexBuffer']({'context':_0x2c0416,'typedArray':_0x505033[_0x30ddd3(0x1821,_0x5ec890._0x9a5790)],'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW'],'indexDatatype':Cesium__namespace['IndexDatatype']['UNSIGNED_SHORT']}),_0x1a539d=new Cesium__namespace['VertexArray']({'context':_0x2c0416,'attributes':[{'index':0x0,'vertexBuffer':Cesium__namespace['Buffer']['createVertexBuffer']({'context':_0x2c0416,'typedArray':_0x505033['vertex_H']['values'],'usage':Cesium__namespace['BufferUsage'][_0x30ddd3(0x84d,_0x5ec890._0xe81c0e)]}),'componentsPerAttribute':0x3},{'index':0x1,'vertexBuffer':Cesium__namespace['Buffer'][_0x30ddd3(0xea6,0xbae)]({'context':_0x2c0416,'typedArray':_0x505033['vertex_L'][_0x2d62db(0xd90,_0x5ec890._0x2a2270)],'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW']}),'componentsPerAttribute':0x3},{'index':0x2,'vertexBuffer':Cesium__namespace['Buffer'][_0x2d62db(0x5c2,0x19c)]({'context':_0x2c0416,'typedArray':_0x505033['color']['values'],'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW']}),'componentsPerAttribute':0x3},{'index':0x3,'vertexBuffer':Cesium__namespace['Buffer']['createVertexBuffer']({'context':_0x2c0416,'typedArray':_0x505033['uv'][_0x2d62db(0xd90,0x87c)],'usage':Cesium__namespace['BufferUsage'][_0x30ddd3(_0x5ec890._0x5579a7,_0x5ec890._0x139a3d)]}),'componentsPerAttribute':0x2}],'indexBuffer':_0x317c30}),_0x4a5730=this['_map'][_0x2d62db(0xcbf,_0x5ec890._0x11cdec)][_0x30ddd3(0xde3,0x787)],_0x509068=_0x2c0416['drawingBufferWidth'],_0x4ff1c8=_0x2c0416['drawingBufferHeight'],_0x498fdd=new Cesium__namespace[(_0x2d62db(_0x5ec890._0x33c928,_0x5ec890._0x2d7708))](_0x509068,_0x4ff1c8),_0x170537=Cesium__namespace['BoundingSphere'][_0x2d62db(_0x5ec890._0x3399db,0x5)](_0x505033['vertex_H'][_0x2d62db(0xd90,0xbc8)]);_0x170537['radius']=0x2710;const _0x37e113={};_0x37e113[_0x2d62db(0x12e3,_0x5ec890._0x151d4f)]=()=>{function _0x3a722a(_0x28d509,_0x76cf4b){return _0x2d62db(_0x76cf4b-_0x40061b._0x371e5b,_0x28d509);}function _0x3cd047(_0x16f474,_0x451d79){return _0x2d62db(_0x451d79-0x21c,_0x16f474);}if(_0x4a5730['frustum'][_0x3a722a(_0x5991dc._0xf0d324,_0x5991dc._0x2c2210)]){var _0xbedbf;return(_0xbedbf=_0x4a5730['frustum'][_0x3a722a(-_0x5991dc._0x1e8d0d,0x454)])===null||_0xbedbf===void 0x0?void 0x0:_0xbedbf[_0x3cd047(_0x5991dc._0x58ca46,0x1267)];}else return _0x4a5730['frustum']['_orthographicMatrix'];},_0x37e113[_0x2d62db(0x712,-_0x5ec890._0x98e7d2)]=()=>{function _0x2780e2(_0x2c46ea,_0x3cf225){return _0x30ddd3(_0x2c46ea,_0x3cf225- -0x3fd);}return _0x4a5730[_0x2780e2(_0x323a51._0x2f919d,0x117f)];},_0x37e113['mars_resolution']=()=>{return _0x498fdd;},_0x37e113[_0x30ddd3(0xed5,0x1231)]=()=>{function _0xe18469(_0x2d5a7c,_0x735740){return _0x2d62db(_0x735740-0x3c8,_0x2d5a7c);}return this[_0xe18469(_0x5ad632._0x42f72d,_0x5ad632._0x3be0a4)];},_0x37e113['mars_image']=()=>{return this['textures'][_0xd683e5]||this['textureDef'];},_0x37e113['mars_distanceDisplayCondition']=()=>{return this['_distanceDisplayConditionCartesian2'];},_0x37e113['mars_positionWC']=()=>{return _0x4a5730['positionWC'];},_0x37e113['globalAlpha']=()=>{return this['_globalAlpha'];};const _0x421b73={};_0x421b73[_0x30ddd3(0x1c52,_0x5ec890._0x2c3681)]=this,_0x421b73[_0x2d62db(_0x5ec890._0x3df383,0x1cf)]=!![];const _0x541efc=new Cesium__namespace['DrawCommand']({'primitiveType':Cesium__namespace['PrimitiveType'][_0x2d62db(_0x5ec890._0x48af25,_0x5ec890._0x14dc57)],'shaderProgram':_0x5bb5c7,'vertexArray':_0x1a539d,'modelMatrix':Cesium__namespace['Matrix4'][_0x30ddd3(_0x5ec890._0x35de01,0xdd8)],'renderState':_0x3fd428,'boundingVolume':_0x170537,'uniformMap':_0x37e113,'castShadows':![],'receiveShadows':![],'pass':_0xf648f8?Cesium__namespace[_0x2d62db(0x1335,0x14d1)][_0x30ddd3(0xe41,0x1437)]:Cesium__namespace['Pass']['OPAQUE'],'pickOnly':!![],'pickCommand':new Cesium__namespace['DrawCommand'](_0x421b73)});this[_0x2d62db(_0x5ec890._0x3d98d1,0x8f8)](_0x541efc),_0x541efc['pickId']=_0x2c0416[_0x2d62db(0x101f,0x181f)]({'primitive':_0x541efc,'id':this['createPickId'](_0xc3e26['index'])});const _0x170ef1=new Cesium__namespace['DrawCommand']({'owner':_0x541efc,'primitiveType':Cesium__namespace[_0x2d62db(0xb65,0xf9e)][_0x2d62db(0x13ef,0x1146)],'pickOnly':!![]});_0x170ef1[_0x30ddd3(-0x136,0x674)]=_0x1a539d,_0x170ef1[_0x2d62db(_0x5ec890._0xfd2c2d,0x101c)]=_0x3fd428;const _0x42cbf9=Cesium__namespace['ShaderProgram']['fromCache']({'context':_0x2c0416,'vertexShaderSource':FlatBillboardVS,'fragmentShaderSource':Cesium__namespace[_0x2d62db(0x8b9,_0x5ec890._0x5cc0f4)]['createPickFragmentShaderSource'](FlatBillboardFS,'uniform'),'attributeLocations':_0x7da5e0});_0x170ef1['shaderProgram']=_0x42cbf9,_0x170ef1[_0x30ddd3(0x8c3,0x10a0)]=_0x541efc['uniformMap'],_0x170ef1[_0x30ddd3(0x1502,_0x5ec890._0x384f5a)]['czm_pickColor']=()=>{const _0x3b4a0c={_0x18e16f:0x4e2};function _0x3465ef(_0x299718,_0x29a6a2){return _0x30ddd3(_0x29a6a2,_0x299718- -_0x3b4a0c._0x18e16f);}function _0x4f0851(_0x3d9584,_0x47e245){return _0x2d62db(_0x47e245- -0x119,_0x3d9584);}return _0x541efc[_0x4f0851(0x2c6,_0x78b8f0._0x5d50b9)][_0x3465ef(0xf5c,_0x78b8f0._0x521eee)];},_0x170ef1[_0x30ddd3(0xd78,0x107e)]=_0xf648f8?Cesium__namespace['Pass']['TRANSLUCENT']:Cesium__namespace[_0x2d62db(_0x5ec890._0x3f3cf4,0x126d)]['OPAQUE'],_0x170ef1[_0x2d62db(_0x5ec890._0x5a6526,0x4f4)]=_0x170537,_0x170ef1[_0x30ddd3(0x248,0x952)]=Cesium__namespace[_0x2d62db(_0x5ec890._0x4e1ea5,-_0x5ec890._0x2b4b8b)][_0x30ddd3(0x6a8,_0x5ec890._0x572414)];function _0x30ddd3(_0x30f2ad,_0xe58a13){return _0x54a7f1(_0xe58a13-0x22c,_0x30f2ad);}return!this['_pickCommands']&&(this[_0x30ddd3(_0x5ec890._0x287f1c,0x1823)]=[]),this['_pickCommands']['push'](_0x170ef1),_0x541efc;}['setOpacity'](_0x1462d4){function _0x26334d(_0x13a0c6,_0x39fd06){return _0x7afdbe(_0x39fd06,_0x13a0c6- -0x1e3);}this[_0x26334d(0x157f,0x1710)]=_0x1462d4;}}register$5(_0x7afdbe(0x15fc,0x16d1),FlatBillboard,!![]);class PlaneCombine extends BasePointCombine{[_0x7afdbe(0xd9d,0x156e)](_0x2f586b){const _0x4370c9={_0x504c33:0xc87,_0x1ebc10:0x12c8},_0x1501e5={_0x32396a:0x152};function _0x20bba3(_0x5e88e5,_0x41cc72){return _0x54a7f1(_0x5e88e5- -_0x1501e5._0x32396a,_0x41cc72);}return PlaneStyleConver[_0x20bba3(_0x4370c9._0x504c33,_0x4370c9._0x1ebc10)](_0x2f586b);}[_0x7afdbe(0x128f,0xa5d)](_0x25ab17,_0x7af0b5){const _0x395f46={_0x21619c:0x1be5},_0x5f35e0={_0x5bc7d9:0x2ab};function _0x26a6ef(_0x28c345,_0x32166c){return _0x7afdbe(_0x28c345,_0x32166c- -_0x5f35e0._0x5bc7d9);}return PlaneStyleConver[_0x26a6ef(_0x395f46._0x21619c,0x12be)](_0x25ab17,_0x7af0b5);}['_createGeometryInstanceItem'](_0x138fbe,_0x2c1112,_0x224cab){const _0x4c8a78={_0x1b8238:0xebe},_0x2d575e={_0x4f239f:0x2a5},_0x315422=this[_0x435364(0xd08,_0x4c8a78._0x1b8238)](_0x224cab,_0x138fbe),_0x32eb83=_0x2c1112?Cesium__namespace['PlaneOutlineGeometry']:Cesium__namespace['PlaneGeometry'];function _0x435364(_0xf9933a,_0x5e7af0){return _0x54a7f1(_0xf9933a- -_0x2d575e._0x4f239f,_0x5e7af0);}const _0x4d7a36=new Cesium__namespace[(_0x587c01(0x1491,0xc21))]({'geometry':new _0x32eb83(_0x138fbe),'modelMatrix':_0x315422,'attributes':this['_createGeometryInstanceAttributes'](_0x138fbe)});function _0x587c01(_0x5ae304,_0x4a2e8f){return _0x7afdbe(_0x5ae304,_0x4a2e8f- -0x4e5);}return _0x4d7a36;}['_getModelMatrix'](_0x138686,_0x1cd1de){const _0x4b6e69={_0x45b17e:0x860,_0x338913:0x450,_0x4dce0f:0x121d,_0x53ddf6:0x160b,_0x10da7f:0x6b2,_0x151dc2:0x2a1,_0xa8cc5:0x114f,_0x281a19:0xdb9,_0x202a36:0x470,_0x588691:0x803,_0x49b3c2:0xdf4};var _0x279653,_0x8054e3;if(_0x138686['modelMatrix'])return _0x138686['modelMatrix'];const _0x551b54=super[_0x501e75(0x1096,0x72a)](_0x138686,_0x1cd1de);if(_0x1cd1de['plane_normal']===Cesium__namespace[_0x4220a8(_0x4b6e69._0x45b17e,0xdf4)][_0x4220a8(0xefd,_0x4b6e69._0x338913)]){const _0x1497f3=Cesium__namespace['Matrix4'][_0x4220a8(0x11c2,_0x4b6e69._0x4dce0f)](Cesium__namespace['Matrix3']['fromRotationX'](Cesium__namespace['Math'][_0x501e75(_0x4b6e69._0x53ddf6,0x10ff)](0x5a)));Cesium__namespace['Matrix4']['multiply'](_0x551b54,_0x1497f3,_0x551b54);}else{if(_0x1cd1de[_0x4220a8(0x6bb,_0x4b6e69._0x10da7f)]===Cesium__namespace[_0x4220a8(0xcd8,0xdf4)]['UNIT_Y']){const _0x34001f=Cesium__namespace[_0x501e75(0x4c1,-_0x4b6e69._0x151dc2)]['fromRotationTranslation'](Cesium__namespace[_0x4220a8(0x171f,0xf1d)][_0x4220a8(0x1aec,0x10a7)](Cesium__namespace[_0x4220a8(_0x4b6e69._0xa8cc5,_0x4b6e69._0x281a19)]['toRadians'](0x5a)));Cesium__namespace[_0x501e75(0x4c1,-_0x4b6e69._0x202a36)][_0x501e75(0xb32,0x9d7)](_0x551b54,_0x34001f,_0x551b54);}}function _0x4220a8(_0x35b04e,_0x2c628c){return _0x54a7f1(_0x2c628c- -0x4f3,_0x35b04e);}const _0x508387=Cesium__namespace['Matrix4']['fromScale'](new Cesium__namespace[(_0x4220a8(_0x4b6e69._0x588691,_0x4b6e69._0x49b3c2))](((_0x279653=_0x1cd1de['dimensions'])===null||_0x279653===void 0x0?void 0x0:_0x279653['x'])??0x1,((_0x8054e3=_0x1cd1de['dimensions'])===null||_0x8054e3===void 0x0?void 0x0:_0x8054e3['y'])??0x1,0x1));function _0x501e75(_0x543455,_0x3eac55){return _0x7afdbe(_0x3eac55,_0x543455- -0x145);}return Cesium__namespace['Matrix4'][_0x501e75(0xb32,0x8de)](_0x551b54,_0x508387,_0x551b54),_0x551b54;}}register$5(_0x7afdbe(0x18fc,0xe8f),PlaneCombine,!![]);class BoxCombine extends BasePointCombine{['_conversionStyle'](_0x2131e4){return _0x2131e4['closed']=_0x2131e4['closed']??!![],BoxStyleConver['toCesiumVal'](_0x2131e4);}['_style2Json'](_0x561856,_0x30f369){const _0x5206b5={_0x55f2c7:0xbf0},_0x399211={_0x5b6953:0x78};function _0x461e42(_0x1c3054,_0x17f551){return _0x54a7f1(_0x1c3054- -_0x399211._0x5b6953,_0x17f551);}return BoxStyleConver[_0x461e42(0x12c3,_0x5206b5._0x55f2c7)](_0x561856,_0x30f369);}['_createGeometryInstanceItem'](_0x8318d1,_0x24df19,_0x5a5026){const _0x42d7b7={_0xf37eac:0x325,_0x378c65:0x6e2},_0x515c4c={_0x3b6cba:0x45b},_0x5c1497=this['_getModelMatrix'](_0x5a5026,_0x8318d1);function _0x5c91e6(_0x56bf32,_0x23be42){return _0x7afdbe(_0x23be42,_0x56bf32- -_0x515c4c._0x3b6cba);}const _0x230722=_0x24df19?Cesium__namespace['BoxOutlineGeometry']:Cesium__namespace[_0x5c91e6(_0x42d7b7._0xf37eac,-0x207)],_0x2a25b5=new Cesium__namespace[(_0x201f2d(0xf64,0xcfa))]({'geometry':_0x230722[_0x201f2d(0xddf,0x363)](_0x8318d1),'modelMatrix':_0x5c1497,'attributes':this[_0x5c91e6(_0x42d7b7._0x378c65,-0x24f)](_0x8318d1)});function _0x201f2d(_0xf900db,_0x4b726d){return _0x7afdbe(_0x4b726d,_0xf900db- -0x1a2);}return _0x2a25b5;}}register$5('boxC',BoxCombine,!![]);class CircleCombine extends BasePointCombine{constructor(_0x35f9b1={}){const _0x38d1e3={_0x2d418a:0x89d},_0x977deb={_0x56a575:0x2b1};super(_0x35f9b1);function _0x5ac0cc(_0x2fbfb0,_0x3cdfbf){return _0x54a7f1(_0x3cdfbf-_0x977deb._0x56a575,_0x2fbfb0);}this[_0x5ac0cc(0x1129,_0x38d1e3._0x2d418a)]=!![];}[_0x7afdbe(0x1984,0x156e)](_0x34da77){return CircleStyleConver['toCesiumVal'](_0x34da77);}['_style2Json'](_0x3b112c,_0x18f7e0){return CircleStyleConver['toJSON'](_0x3b112c,_0x18f7e0);}[_0x54a7f1(0x942,0x6b2)](_0x192c81,_0x162852,_0x3e939d){const _0x2b0508={_0x42801b:0x1505,_0x189910:0x1de3,_0x55f036:0x18dd};_0x3e939d[_0xda043(_0x2b0508._0x42801b,0x159d)]=LngLatPoint[_0xedc8fa(0x597,0x1e6)](_0x3e939d['position'])['toCartesian'](),_0x192c81['center']=_0x3e939d[_0xedc8fa(_0x2b0508._0x189910,0x150c)];const _0x3b5135=_0x162852?Cesium__namespace[_0xda043(_0x2b0508._0x55f036,0x1389)]:Cesium__namespace['CircleGeometry'],_0x2bbe1b=new Cesium__namespace['GeometryInstance']({'geometry':new _0x3b5135(_0x192c81),'attributes':this['_createGeometryInstanceAttributes'](_0x192c81)});function _0xda043(_0x59c96,_0x188232){return _0x7afdbe(_0x59c96,_0x188232- -0x372);}function _0xedc8fa(_0x104dea,_0x319330){return _0x7afdbe(_0x104dea,_0x319330- -0x403);}return _0x2bbe1b;}['_getPolylineOutlinePositions'](_0x5fa97){const _0x1781a7={_0x14b1c3:0x130e,_0x28ed21:0xa79},_0xc56239={_0x20071a:0x3d3},_0x15e06b={_0x504c8f:0x30b};function _0x3cb85c(_0x436aeb,_0x57b1bb){return _0x7afdbe(_0x57b1bb,_0x436aeb- -_0x15e06b._0x504c8f);}const _0x39733c={};_0x39733c[_0x4e845a(0x16eb,_0x1781a7._0x14b1c3)]=_0x5fa97['position'],_0x39733c[_0x3cb85c(0x2fa,_0x1781a7._0x28ed21)]=_0x5fa97['style']['radius'];function _0x4e845a(_0x2e5562,_0x4c245e){return _0x54a7f1(_0x4c245e- -_0xc56239._0x20071a,_0x2e5562);}_0x39733c['granularity']=_0x5fa97[_0x4e845a(0x3d7,0xc9)]['granularity'];const _0xc69ee3=getEllipseOuterPositions(_0x39733c);return[_0xc69ee3];}}register$5('circleC',CircleCombine,!![]);class CylinderCombine extends BasePointCombine{[_0x54a7f1(0x1340,0x1201)](_0x5df9c7){return _0x5df9c7['closed']=_0x5df9c7['closed']??!![],CylinderStyleConver['toCesiumVal'](_0x5df9c7);}[_0x7afdbe(0xecb,0xa5d)](_0x19a89a,_0x98cfed){return CylinderStyleConver['toJSON'](_0x19a89a,_0x98cfed);}['_createGeometryInstanceItem'](_0x5411eb,_0x50398c,_0x433e6d){const _0x48cb63={_0x4c2443:0xa9b},_0x1b5bb1=this['_getModelMatrix'](_0x433e6d,_0x5411eb);function _0x1fda7c(_0x58677e,_0x31a989){return _0x54a7f1(_0x58677e-0x18c,_0x31a989);}(Cesium__namespace['defined'](_0x5411eb[_0x5ab309(0x1567,0x1e7f)])||Cesium__namespace['defined'](_0x5411eb['offsetHeight']))&&(_0x5411eb['center']=this['_getCenter'](_0x433e6d));function _0x5ab309(_0x17395f,_0x2bd70b){return _0x54a7f1(_0x17395f-0x260,_0x2bd70b);}const _0x5bc715=_0x50398c?Cesium__namespace['CylinderOutlineGeometry']:Cesium__namespace['CylinderGeometry'],_0x2cc663=new Cesium__namespace[(_0x1fda7c(0x1064,0x7a4))]({'geometry':new _0x5bc715(_0x5411eb),'modelMatrix':_0x1b5bb1,'attributes':this[_0x1fda7c(_0x48cb63._0x4c2443,0x1b8)](_0x5411eb)});return _0x2cc663;}}register$5('cylinderC',CylinderCombine,!![]);class FrustumCombine extends BasePointCombine{['_conversionStyle'](_0x579727){const _0x48d6df={_0xfcdbdc:0x17de,_0x28da86:0x74b},_0x205fab={_0x370d2f:0x4c2};_0x579727[_0xd15f8f(_0x48d6df._0xfcdbdc,0x12a5)]=_0x579727[_0xd15f8f(0x1a5f,0x12a5)]??!![];function _0x3ac143(_0x4d1fb6,_0x13fe7e){return _0x7afdbe(_0x13fe7e,_0x4d1fb6- -0x72d);}function _0xd15f8f(_0x1c8698,_0x183503){return _0x7afdbe(_0x1c8698,_0x183503- -_0x205fab._0x370d2f);}return CylinderStyleConver[_0xd15f8f(_0x48d6df._0x28da86,0xb45)](_0x579727);}[_0x54a7f1(0x82f,0x392)](_0x4ea040,_0x2bb23c){return CylinderStyleConver['toJSON'](_0x4ea040,_0x2bb23c);}[_0x7afdbe(0x1150,0xb70)](_0x3d90d1,_0x3f445b,_0x41b3e3){const _0x112412={_0x222008:0x16bc,_0x33462c:0x16d5,_0x41c094:0x127f,_0x2b68ab:0xf79,_0x279e08:0xe48,_0x3bf927:0x1a7,_0x5acc49:0x508,_0x191527:0xcb4,_0x1141da:0x761,_0x432ff5:0x24e,_0xb2227d:0x12a0,_0x6e86e8:0x16b5,_0x158559:0x1516,_0x4be07a:0x428,_0x1ac211:0x114c,_0x513257:0x1718},_0x4c7eac={_0x23c236:0x4b4},_0x3c8799=_0x41b3e3[_0x2ca7fc(_0x112412._0x222008,_0x112412._0x33462c)]=LngLatPoint['parse'](_0x41b3e3['position'])['toCartesian']();let _0x38e422,_0x5d5479;if(_0x41b3e3['targetPositio']){const _0x1c92a2=LngLatPoint['parse'](_0x41b3e3['targetPosition'])[_0x266c16(0x650,0x1030)]();_0x38e422=Cesium__namespace['Cartesian3']['distance'](_0x3c8799,_0x1c92a2);const _0x235df6=getHeadingPitchRollForLine(_0x3c8799,_0x1c92a2,!![]);_0x5d5479=Cesium__namespace[_0x266c16(0x2b9,0xbe6)]['headingPitchRollQuaternion'](_0x3c8799,_0x235df6,this['ellipsoid'],this[_0x266c16(_0x112412._0x41c094,0xd3e)]);}else{_0x38e422=_0x3d90d1[_0x2ca7fc(0x1526,_0x112412._0x2b68ab)];const _0x3abebd=Cesium__namespace['HeadingPitchRoll'][_0x266c16(0x936,_0x112412._0x279e08)](_0x3d90d1[_0x266c16(-_0x112412._0x3bf927,-_0x112412._0x5acc49)]||0x0,_0x3d90d1[_0x266c16(0x11de,0xc6c)]||0x0,_0x3d90d1[_0x266c16(0x127d,0xc89)]||0x0);_0x5d5479=Cesium__namespace[_0x2ca7fc(_0x112412._0x191527,_0x112412._0x1141da)]['headingPitchRollQuaternion'](_0x3c8799,_0x3abebd,this[_0x2ca7fc(_0x112412._0x432ff5,0x8f8)],this['fixedFrameTransform']);}function _0x266c16(_0x171875,_0x3d76e6){return _0x54a7f1(_0x171875- -_0x4c7eac._0x23c236,_0x3d76e6);}const _0x3368b1=new Cesium__namespace['PerspectiveFrustum']({'fov':Cesium__namespace[_0x2ca7fc(0x8ba,_0x112412._0xb2227d)][_0x2ca7fc(_0x112412._0x6e86e8,_0x112412._0x158559)](_0x3d90d1['angle']*0x2||0.01),'aspectRatio':_0x3d90d1['angle']/_0x3d90d1['angle2'],'near':0.01,'far':_0x38e422}),_0x1a44fa=_0x3f445b?Cesium__namespace[_0x2ca7fc(_0x112412._0x4be07a,0xba1)]:Cesium__namespace['FrustumGeometry'],_0xabc88a={..._0x3d90d1};_0xabc88a['origin']=_0x3c8799,_0xabc88a[_0x266c16(_0x112412._0x1ac211,_0x112412._0x513257)]=_0x5d5479,_0xabc88a['frustum']=_0x3368b1;const _0x1c4112=new Cesium__namespace['GeometryInstance']({'geometry':new _0x1a44fa(_0xabc88a),'attributes':this['_createGeometryInstanceAttributes'](_0x3d90d1)});function _0x2ca7fc(_0x2c85f0,_0x13adae){return _0x7afdbe(_0x2c85f0,_0x13adae- -0x23a);}return _0x1c4112;}}register$5(_0x7afdbe(0x69e,0x56f),FrustumCombine,!![]);class EllipsoidCombine extends BasePointCombine{[_0x54a7f1(0x1340,0x16c3)](_0x1e9ecc){return _0x1e9ecc['closed']=_0x1e9ecc['closed']??!![],EllipsoidStyleConver['toCesiumVal'](_0x1e9ecc);}['_style2Json'](_0x150daa,_0x5cb4fa){const _0x47997a={_0x47b230:0x1c9};function _0x2453fc(_0x457423,_0x23a70b){return _0x7afdbe(_0x457423,_0x23a70b- -_0x47997a._0x47b230);}return EllipsoidStyleConver[_0x2453fc(0x18d8,0x13a0)](_0x150daa,_0x5cb4fa);}[_0x54a7f1(0x942,0x8fc)](_0x5b62b9,_0x3f8d84,_0x36b3ec){const _0x46ac7a={_0x38835e:0xc69,_0x495726:0xe74},_0x136ddb={_0x47599d:0x156},_0x113356=this[_0x449825(_0x46ac7a._0x38835e,0x76b)](_0x36b3ec,_0x5b62b9),_0x8fb3d6=_0x3f8d84?Cesium__namespace['EllipsoidOutlineGeometry']:Cesium__namespace['EllipsoidGeometry'];function _0x4d44e2(_0x473621,_0x4d9441){return _0x54a7f1(_0x4d9441- -_0x136ddb._0x47599d,_0x473621);}function _0x449825(_0x51289a,_0x4da46b){return _0x54a7f1(_0x51289a- -0x344,_0x4da46b);}const _0x6ef596=new Cesium__namespace[(_0x449825(0xb94,_0x46ac7a._0x495726))]({'geometry':new _0x8fb3d6(_0x5b62b9),'modelMatrix':_0x113356,'attributes':this['_createGeometryInstanceAttributes'](_0x5b62b9)});return _0x6ef596;}}register$5(_0x54a7f1(0x164a,0x1d78),EllipsoidCombine,!![]);class PolylineCombine extends BasePolyCombine{constructor(_0x366a6e={}){super(_0x366a6e),this['_hasClampToGround']=!![];}[_0x7afdbe(0xc73,0x156e)](_0x328829){return PolylineStyleConver['toCesiumVal'](_0x328829);}['_style2Json'](_0x38284d,_0x2129c){return PolylineStyleConver['toJSON'](_0x38284d,_0x2129c);}['_createGeometryInstanceItem'](_0xa7c196,_0x57af5f,_0x21a7ce){const _0x38fbc5={_0x3970f9:0x7b3},_0x504b7f={_0xccf88d:0x48},_0x527c0c={_0x3e08cf:0x5c8};var _0x26c69a;function _0x157a3f(_0x39a03a,_0x4a52e3){return _0x7afdbe(_0x39a03a,_0x4a52e3- -_0x527c0c._0x3e08cf);}if(((_0x26c69a=_0x21a7ce['positions'])===null||_0x26c69a===void 0x0?void 0x0:_0x26c69a['length'])<0x2)return;_0xa7c196[_0x5054f9(0x28d,0x903)]&&(_0xa7c196[_0x5054f9(0x750,0x575)]=Cesium__namespace['PolylineColorAppearance']['VERTEX_FORMAT']);const _0x38dd3b=_0x21a7ce[_0x157a3f(0xba8,0xd55)]=this['toCartesianPositions'](_0x21a7ce[_0x157a3f(0x1263,0xd55)],_0xa7c196);_0xa7c196[_0x5054f9(0x10a7,0x1912)]=_0x38dd3b;const _0x5b95af=_0xa7c196['clampToGround']?Cesium__namespace['GroundPolylineGeometry']:Cesium__namespace[_0x5054f9(0x1109,0x17fd)];function _0x5054f9(_0x32904d,_0x568b9a){return _0x54a7f1(_0x32904d- -_0x504b7f._0xccf88d,_0x568b9a);}const _0x2035e8=new Cesium__namespace[(_0x5054f9(0xe90,_0x38fbc5._0x3970f9))]({'geometry':new _0x5b95af(_0xa7c196),'attributes':this['_createGeometryInstanceAttributes'](_0xa7c196)});return _0x2035e8;}[_0x7afdbe(0x1ba7,0x1809)](_0xe143ef,_0x2b4d2b){const _0x1307e8={_0x25c656:0x5ea};function _0x4a4288(_0x4dd037,_0x1839e0){return _0x54a7f1(_0x4dd037- -0x3b2,_0x1839e0);}function _0x34959f(_0x2ffa94,_0x12204b){return _0x7afdbe(_0x2ffa94,_0x12204b- -_0x1307e8._0x25c656);}if(_0xe143ef['_isColorMaterial']){const _0x539b93={..._0xe143ef};return new Cesium__namespace[(_0x4a4288(0xdfa,0x1470))](_0x539b93);}else{const _0x870222={..._0xe143ef};return new Cesium__namespace[(_0x4a4288(0x1242,0xec4))](_0x870222);}}}register$5(_0x54a7f1(0x8d9,0xd57),PolylineCombine);class PolylineVolumeCombine extends BasePolyCombine{['_conversionStyle'](_0x608b19){return _0x608b19['closed']=_0x608b19['closed']??!![],PolylineVolumeStyleConver['toCesiumVal'](_0x608b19);}['_style2Json'](_0x40a480,_0x28f4ed){return PolylineVolumeStyleConver['toJSON'](_0x40a480,_0x28f4ed);}['_createGeometryInstanceItem'](_0x1e2dbb,_0x6b73c,_0x576415){const _0x10f50f={_0x4546b5:0x461,_0x55460a:0x1df},_0x39e670={_0x32c5cc:0x16f};function _0x42defc(_0x196ca1,_0x38769e){return _0x7afdbe(_0x38769e,_0x196ca1- -0x43c);}const _0x56ace8=_0x576415[_0x38fec5(0x14a5,0xf80)]=this[_0x42defc(0x1cf,-0x611)](_0x576415['positions'],_0x1e2dbb),_0xabb8df=_0x6b73c?Cesium__namespace[_0x42defc(0x315,-0x545)]:Cesium__namespace[_0x38fec5(0x1d15,0x14ad)],_0x4c09f1={..._0x1e2dbb};function _0x38fec5(_0x1f43bc,_0x1f0c50){return _0x54a7f1(_0x1f0c50- -_0x39e670._0x32c5cc,_0x1f43bc);}_0x4c09f1[_0x38fec5(0x263,_0x10f50f._0x4546b5)]=_0x56ace8,_0x4c09f1['shapePositions']=_0x1e2dbb['shape'];const _0x5e58ce=new Cesium__namespace['GeometryInstance']({'geometry':new _0xabb8df(_0x4c09f1),'attributes':this[_0x42defc(0x701,_0x10f50f._0x55460a)](_0x1e2dbb)});return _0x5e58ce;}}register$5(_0x54a7f1(0x118c,0xe58),PolylineVolumeCombine);class CorridorCombine extends BasePolyCombine{constructor(_0x4a4265={}){function _0x32808f(_0x3946fa,_0x4e891a){return _0x7afdbe(_0x4e891a,_0x3946fa- -0x6ef);}super(_0x4a4265),this[_0x32808f(0x12b,-0x8d7)]=!![];}[_0x7afdbe(0x18e1,0x156e)](_0xa15511){return CorridorStyleConver['toCesiumVal'](_0xa15511);}['_style2Json'](_0x26b93b,_0x566c48){return CorridorStyleConver['toJSON'](_0x26b93b,_0x566c48);}[_0x54a7f1(0x942,0x9a7)](_0x200a69,_0x571bed,_0x1cdfa5){const _0x21daae={_0x26a076:0xf22,_0x4a81c5:0x389,_0x4e7719:0x1212,_0x279d4a:0x9be,_0x13c9d1:0x7b0,_0x4d8259:0xb94,_0x26579a:0x4f};function _0x692c79(_0x2311c0,_0x38404e){return _0x7afdbe(_0x38404e,_0x2311c0- -0x10b);}_0x1cdfa5[_0x2f4671(0x126c,_0x21daae._0x26a076)]=this[_0x692c79(0x500,_0x21daae._0x4a81c5)](_0x1cdfa5[_0x2f4671(0x5dd,0xf22)],_0x200a69);function _0x2f4671(_0x511905,_0x1d1f22){return _0x7afdbe(_0x511905,_0x1d1f22- -0x3fb);}_0x200a69[_0x692c79(_0x21daae._0x4e7719,_0x21daae._0x279d4a)]=_0x1cdfa5[_0x2f4671(_0x21daae._0x13c9d1,_0x21daae._0x26a076)];const _0x51890c=_0x571bed?Cesium__namespace['CorridorOutlineGeometry']:Cesium__namespace[_0x692c79(0xec6,_0x21daae._0x4d8259)],_0x5c8087=new Cesium__namespace[(_0x2f4671(0xd5c,0xd0b))]({'geometry':new _0x51890c(_0x200a69),'attributes':this[_0x2f4671(-_0x21daae._0x26579a,0x742)](_0x200a69)});return _0x5c8087;}}register$5('corridorC',CorridorCombine);class WallCombine extends BasePolyCombine{['_conversionStyle'](_0x22051d){const _0x42f43f={_0x2702b6:0x1830,_0x2a1802:0x1089},_0x413650={_0x1f2cfd:0x82};function _0x52fe51(_0x356934,_0x53ce0f){return _0x7afdbe(_0x356934,_0x53ce0f-_0x413650._0x1f2cfd);}return WallStyleConver[_0x52fe51(_0x42f43f._0x2702b6,_0x42f43f._0x2a1802)](_0x22051d);}[_0x7afdbe(0x687,0xa5d)](_0x302b78,_0x521f2a){return WallStyleConver['toJSON'](_0x302b78,_0x521f2a);}[_0x54a7f1(0x942,0x12bd)](_0x18ad28,_0x5c64e6,_0x29ce24){const _0x1949ea={_0x1cc097:0x9d4,_0x1b92ab:0x10ca,_0x160879:0x7fa,_0x4387af:0xb0a,_0xa5b082:0xea5,_0x2375c4:0x11d7,_0x400306:0xfa4,_0x364980:0x1234},_0x2f14c2={_0x2e3bb0:0x4fc},_0x18e443={_0x3d4703:0x420,_0x3ea2ee:0x8a8,_0x34cad5:0x1b6c,_0x591ae3:0x10ae};var _0x1a12b6,_0x388a7a;if(((_0x1a12b6=_0x29ce24[_0x4c32e8(0xbf3,0x585)])===null||_0x1a12b6===void 0x0?void 0x0:_0x1a12b6[_0x119006(0x10ca,0x18fa)])<0x2)return;let _0x27721b=[],_0x713d64=[],_0x7a15ec=[];_0x29ce24['positions'][_0x4c32e8(0x149,_0x1949ea._0x1cc097)]((_0x18e114,_0x34d843)=>{const _0x3887f3=LngLatPoint['parse'](_0x18e114);function _0xe63ba6(_0x2cfa2f,_0xe11ca6){return _0x119006(_0xe11ca6-0x61,_0x2cfa2f);}if(!_0x3887f3||!_0x3887f3['valid']())return;const _0x5b4fab=this['getSetHeight'](_0x18ad28,_0x34d843);Cesium__namespace[_0x249833(0x164c,0xed6)](_0x5b4fab)&&(_0x3887f3['alt']=_0x5b4fab);const _0x3e788d=this['getAddHeight'](_0x18ad28,_0x34d843);Cesium__namespace['defined'](_0x3e788d)&&(_0x3887f3['alt']=_0x3887f3[_0x249833(_0x18e443._0x3d4703,_0x18e443._0x3ea2ee)]+_0x3e788d);const _0x23b29e=_0x3887f3['alt'];_0x27721b[_0xe63ba6(_0x18e443._0x34cad5,_0x18e443._0x591ae3)](_0x3887f3['toCartesian']());function _0x249833(_0x22837c,_0x2b15fd){return _0x4c32e8(_0x22837c-0x4c7,_0x2b15fd);}_0x713d64['push'](_0x23b29e),_0x7a15ec['push'](_0x23b29e+Number(_0x18ad28['diffHeight']??0x64));});function _0x4c32e8(_0x21e1f9,_0x3cd3d8){return _0x54a7f1(_0x21e1f9- -_0x2f14c2._0x2e3bb0,_0x3cd3d8);}function _0x119006(_0x631353,_0x19bde7){return _0x7afdbe(_0x19bde7,_0x631353- -0xe9);}if(((_0x388a7a=_0x27721b)===null||_0x388a7a===void 0x0?void 0x0:_0x388a7a[_0x119006(_0x1949ea._0x1b92ab,_0x1949ea._0x160879)])<0x2)return;_0x18ad28[_0x4c32e8(0x11a1,0x725)]&&(_0x27721b=_0x27721b['concat'](_0x27721b[0x0]),_0x713d64=_0x713d64[_0x119006(_0x1949ea._0x4387af,0xbac)](_0x713d64[0x0]),_0x7a15ec=_0x7a15ec[_0x119006(0xb0a,0x1190)](_0x7a15ec[0x0]));const _0x56c8c3=_0x5c64e6?Cesium__namespace[_0x119006(_0x1949ea._0xa5b082,_0x1949ea._0x2375c4)]:Cesium__namespace[_0x119006(0x17cd,_0x1949ea._0x400306)],_0x3b1edb={..._0x18ad28};_0x3b1edb[_0x119006(_0x1949ea._0x364980,0xc47)]=_0x27721b,_0x3b1edb['maximumHeights']=_0x7a15ec,_0x3b1edb['minimumHeights']=_0x713d64;const _0x44c239=new Cesium__namespace['GeometryInstance']({'geometry':new _0x56c8c3(_0x3b1edb),'attributes':this['_createGeometryInstanceAttributes'](_0x18ad28)});return _0x44c239;}}register$5('wallC',WallCombine);class PolygonCombine extends BasePolyCombine{constructor(_0x35ccf4={}){const _0x574cc8={_0x2eeb05:0x575},_0x33213a={_0x432d34:0x77};function _0x45b2e3(_0x1d34ae,_0x30a622){return _0x54a7f1(_0x1d34ae- -_0x33213a._0x432d34,_0x30a622);}super(_0x35ccf4),this[_0x45b2e3(_0x574cc8._0x2eeb05,0xf3)]=!![];}['_conversionStyle'](_0x204b54){const _0xa5f3cb={_0x21195a:0xbf7,_0x59af54:0xfac};function _0x22bd80(_0x1c0c48,_0x1ece5){return _0x7afdbe(_0x1c0c48,_0x1ece5- -0x5b);}return PolygonStyleConver[_0x22bd80(_0xa5f3cb._0x21195a,_0xa5f3cb._0x59af54)](_0x204b54);}['_style2Json'](_0x1a645c,_0x2ddc30){const _0x4cc68a={_0x2f94c1:0x11dc};function _0xe2c40b(_0x25458b,_0xae4ef){return _0x7afdbe(_0xae4ef,_0x25458b- -0x38d);}return PolygonStyleConver[_0xe2c40b(_0x4cc68a._0x2f94c1,0x1b87)](_0x1a645c,_0x2ddc30);}['_getPolygonHierarchy'](_0x5f1c3d,_0x2edc63){const _0x265951={_0x8e495c:0x24e,_0x3f8c9d:0xacb,_0xee5a80:0x516},_0x358f50={_0x59de32:0x55};if(_0x5f1c3d['length']>0x0&&Array['isArray'](_0x5f1c3d[0x0])&&_0x5f1c3d[0x0]['length']>0x0){const _0x1ce819=_0x5f1c3d[0x0][0x0];if(Array[_0x2a8635(0x1556,0x200b)](_0x1ce819)&&isNumber(_0x1ce819[0x0]))return getPolygonHierarchy(_0x5f1c3d,_0x2edc63['height']||_0x2edc63['setHeight']||_0x2edc63[_0x58a8d7(_0x265951._0x8e495c,_0x265951._0x3f8c9d)]);else{if(_0x1ce819 instanceof Cesium__namespace[_0x58a8d7(0x1438,0x1292)]||_0x1ce819 instanceof LngLatPoint)return getPolygonHierarchy2(_0x5f1c3d);}}function _0x2a8635(_0x1dd073,_0x1336ac){return _0x54a7f1(_0x1dd073-0xe8,_0x1336ac);}const _0x444038=this['toCartesianPositions'](_0x5f1c3d,_0x2edc63);function _0x58a8d7(_0x3a396b,_0x4cc019){return _0x54a7f1(_0x4cc019- -_0x358f50._0x59de32,_0x3a396b);}return new Cesium__namespace[(_0x58a8d7(0x1e6,_0x265951._0xee5a80))](_0x444038);}['_createGeometryInstanceItem'](_0x29218f,_0x1d57a8,_0x5c9f05){const _0x190e30={_0x292fed:0x153f,_0x2f383b:0x1383,_0x376bbb:0xf6b,_0x703d5d:0x1aa7,_0x38c541:0x12e5,_0x3fc7bc:0xb78,_0x3b1562:0x287,_0x53dbad:0x8dc,_0x553c6b:0xcbf,_0x1ed569:0x130d,_0xbbf3ab:0x573},_0x5d7eb3={_0x770f70:0x5ca},_0x96db5={_0x1bff85:0x466},_0x520a47=this[_0x322725(_0x190e30._0x292fed,0xc07)](_0x5c9f05[_0x1681c3(0xeb7,_0x190e30._0x2f383b)],_0x29218f);function _0x1681c3(_0x9c61d4,_0x55d9ab){return _0x7afdbe(_0x55d9ab,_0x9c61d4- -_0x96db5._0x1bff85);}_0x5c9f05[_0x322725(0x34b,0xa39)]=_0x520a47,_0x29218f['polygonHierarchy']=_0x520a47;(Cesium__namespace['defined'](_0x29218f[_0x322725(0xd43,_0x190e30._0x376bbb)])||Cesium__namespace['defined'](_0x29218f['offsetHeight']))&&(_0x29218f[_0x1681c3(0x345,-0x5d5)]=this['_getCenter'](_0x5c9f05));let _0x1a6178;function _0x322725(_0x450d9b,_0x416b70){return _0x7afdbe(_0x450d9b,_0x416b70- -_0x5d7eb3._0x770f70);}_0x1d57a8?_0x1a6178=Cesium__namespace[_0x1681c3(0x8f1,0xcbc)]:_0x29218f['perPositionHeight']&&!Cesium__namespace[_0x322725(_0x190e30._0x703d5d,_0x190e30._0x38c541)](_0x29218f[_0x1681c3(0xbb0,_0x190e30._0x3fc7bc)])&&!Cesium__namespace['defined'](_0x29218f['offsetAttribute'])?_0x1a6178=Cesium__namespace[_0x322725(_0x190e30._0x3b1562,_0x190e30._0x53dbad)]:_0x1a6178=Cesium__namespace[_0x1681c3(_0x190e30._0x553c6b,_0x190e30._0x1ed569)];const _0x47d924=new Cesium__namespace['GeometryInstance']({'geometry':new _0x1a6178(_0x29218f),'attributes':this[_0x322725(0x160,_0x190e30._0xbbf3ab)](_0x29218f)});return _0x47d924;}[_0x7afdbe(0x117d,0x86b)](_0x1b450f){const _0x3c48b8={_0x5bdc6f:0xa70,_0x475a91:0xebd},_0x54b324={_0x5f5b23:0x23};function _0x24b0c2(_0x1e8f34,_0x2c18f1){return _0x7afdbe(_0x2c18f1,_0x1e8f34-_0x54b324._0x5f5b23);}if(_0x1b450f['_hierarchy'])return getHierarchyVal(_0x1b450f['_hierarchy']);else{if(_0x1b450f['positions'])return getHierarchyVal(LngLatArray[_0x24b0c2(_0x3c48b8._0x5bdc6f,_0x3c48b8._0x475a91)](_0x1b450f['positions']));}}['_getGeoJsonGeometry'](_0x3c476a,_0x19a90){const _0x553849={_0x26a535:0x60d,_0x450225:0x175a,_0x46d36e:0x126d},_0x27438c={_0x284a0f:0x49f};function _0x501eb0(_0x10fed7,_0x16557d){return _0x54a7f1(_0x10fed7- -_0x27438c._0x284a0f,_0x16557d);}function _0x40898f(_0x5581b5,_0x8773c3){return _0x7afdbe(_0x8773c3,_0x5581b5- -0x27a);}return{'type':_0x40898f(_0x553849._0x26a535,0x4cf),'coordinates':[LngLatArray[_0x40898f(_0x553849._0x450225,0x1681)](_0x3c476a[_0x40898f(0x10a3,_0x553849._0x46d36e)],_0x19a90===null||_0x19a90===void 0x0?void 0x0:_0x19a90[_0x40898f(0x81f,-0x68)])]};}}register$5('polygonC',PolygonCombine);class WaterCombine extends PolygonCombine{constructor(_0x475373={}){super(_0x475373),this['_hasClampToGround']=!![];}[_0x54a7f1(0x1121,0x7a4)](_0x22c30f){const _0x1e4e74={_0x248a0a:0x92e,_0x11a0dd:0x38b,_0x3ca461:0x87,_0x435018:0x8ac,_0xdac2f1:0x4b5,_0x26dbcf:0x5a3,_0x19c850:0xb7b,_0x39d126:0x131a,_0x4c7dec:0x11a6,_0x4ddfe2:0x395,_0x33a719:0x6c1,_0x2e4ce5:0xc88,_0x4d1f95:0x935,_0xaa655c:0xda,_0x218142:0x9e3,_0x3bb8a3:0x957};if(!this[_0x141f15(0x1776,0x1320)])return;const _0x40016a=this['_conversionStyle'](_0x22c30f);_0x22c30f[_0x255031(_0x1e4e74._0x248a0a,_0x1e4e74._0x11a0dd)]=_0x22c30f[_0x141f15(-0x843,_0x1e4e74._0x3ca461)]??0.8;function _0x255031(_0x17c75f,_0x3f483a){return _0x54a7f1(_0x3f483a-0x31,_0x17c75f);}const _0x168232={'geometryInstances':this['_createGeometryInstance'](_0x40016a),'appearance':new Cesium__namespace[(_0x255031(0x730,_0x1e4e74._0x435018))]({'aboveGround':![],'material':new Cesium__namespace['Material']({'fabric':{'type':'Water','uniforms':{'specularMap':_0x40016a[_0x255031(-0x479,_0x1e4e74._0xdac2f1)]??Cesium__namespace['Material']['DefaultImageId'],'normalMap':_0x40016a['normalMap']??Cesium__namespace['Material']['DefaultImageId'],'frequency':_0x40016a['frequency']??0x1f40,'animationSpeed':_0x40016a['animationSpeed']??0.03,'amplitude':_0x40016a[_0x141f15(-0x1a6,_0x1e4e74._0x26dbcf)]??0x5,'specularIntensity':_0x22c30f['specularIntensity']??0.8,'baseWaterColor':getCesiumColor(_0x22c30f['baseWaterColor']??'#123e59')[_0x255031(0xe6d,0x3bc)](_0x22c30f['opacity']),'blendColor':getCesiumColor(_0x22c30f['blendColor']??'#123e59')['withAlpha'](_0x22c30f['opacity'])}}}),'fragmentShaderSource':WaterFS,'translucent':_0x22c30f['opacity']!==0x1}),'show':this[_0x141f15(0xa7e,0x1320)]};function _0x141f15(_0xb36fca,_0x3fceb1){return _0x54a7f1(_0x3fceb1- -0x2d3,_0xb36fca);}_0x22c30f['clampToGround']?(_0x168232[_0x141f15(_0x1e4e74._0x19c850,0x1135)]=_0x22c30f['classificationType']??Cesium__namespace[_0x141f15(_0x1e4e74._0x39d126,0x1357)][_0x255031(0x800,_0x1e4e74._0x4c7dec)],this[_0x255031(0xa45,0x13db)]=this['groundPrimitiveCollection'][_0x255031(-_0x1e4e74._0x4ddfe2,_0x1e4e74._0x33a719)](new Cesium__namespace[(_0x141f15(_0x1e4e74._0x2e4ce5,_0x1e4e74._0x4d1f95))](_0x168232)),this['_primitive'][_0x141f15(-0x353,_0x1e4e74._0xaa655c)]=!![]):this['_primitive']=this[_0x255031(_0x1e4e74._0x218142,0x470)][_0x141f15(0xa20,0x3bd)](new Cesium__namespace['Primitive'](_0x168232));this['_primitive_outline']&&(this['_primitive_outline']['_clampToGround']?this['groundPrimitiveCollection']['remove'](this['_primitive_outline']):this[_0x141f15(-0x21b,0x16c)]['remove'](this[_0x255031(0x1129,_0x1e4e74._0x3bb8a3)]),delete this['_primitive_outline']);if(_0x22c30f['outline']){const _0x504ebe=this[_0x255031(0x17b6,0x16f6)](_0x22c30f);this['_primitive_outline']=this['_createPolylineOutline'](_0x504ebe);}}}register$5('waterC',WaterCombine);class RectangleCombine extends BasePolyCombine{constructor(_0x59a179={}){const _0x504536={_0x38b566:0x4e8};function _0x37eed1(_0x156a8e,_0x42289b){return _0x7afdbe(_0x42289b,_0x156a8e- -0x712);}super(_0x59a179),this[_0x37eed1(0x108,_0x504536._0x38b566)]=!![];}['_conversionStyle'](_0x291649){const _0xac351f={_0x5af87f:0x170};function _0x4856bd(_0x41c252,_0x154e21){return _0x7afdbe(_0x41c252,_0x154e21- -_0xac351f._0x5af87f);}return RectangleStyleConver[_0x4856bd(0xe49,0xe97)](_0x291649);}[_0x54a7f1(0x82f,0x7e0)](_0x567f5f,_0x1f5fe9){return RectangleStyleConver['toJSON'](_0x567f5f,_0x1f5fe9);}[_0x54a7f1(0x942,0x780)](_0x531960,_0x24b9f1,_0x186d93){const _0x40e544={_0x42476e:0x139c,_0x7a07f9:0xf57,_0x478e9a:0x5e4,_0x43131e:0xcd3,_0x232357:0x16c6,_0x37c505:0x918,_0x5e48ab:0x2d4,_0x4384f0:0x1229,_0x262053:0x9fa},_0x302c4b={_0x421fd4:0xeb};function _0x248e04(_0x247685,_0x1a5899){return _0x54a7f1(_0x1a5899- -0x458,_0x247685);}const _0x552e2b=_0x186d93[_0x248e04(_0x40e544._0x42476e,0xc97)]=this['toCartesianPositions'](_0x186d93[_0x1c4443(0x11da,_0x40e544._0x7a07f9)],_0x531960);function _0x1c4443(_0x2e330a,_0x446e32){return _0x54a7f1(_0x2e330a-_0x302c4b._0x421fd4,_0x446e32);}_0x531960['rectangle']=Cesium__namespace[_0x1c4443(_0x40e544._0x478e9a,-0x4b9)][_0x1c4443(0x638,0x473)](_0x552e2b);Cesium__namespace['defined'](_0x531960['rectangle'])&&(Cesium__namespace[_0x1c4443(0x176c,_0x40e544._0x43131e)](this['_rectangle'])?this[_0x1c4443(0x179f,_0x40e544._0x232357)]=Cesium__namespace[_0x248e04(-_0x40e544._0x37c505,0xa1)]['union'](_0x531960[_0x1c4443(0x3b7,_0x40e544._0x5e48ab)],this['_rectangle']):this['_rectangle']=_0x531960[_0x248e04(0x860,-0x18c)]);(Cesium__namespace[_0x248e04(0xd92,_0x40e544._0x4384f0)](_0x531960['offsetAttribute'])||Cesium__namespace[_0x248e04(0xc7b,0x1229)](_0x531960['offsetHeight']))&&(_0x531960['center']=this['_getCenter'](_0x186d93));const _0x79ae5=_0x24b9f1?Cesium__namespace['RectangleOutlineGeometry']:Cesium__namespace['RectangleGeometry'],_0x1aff37=new Cesium__namespace[(_0x1c4443(0xfc3,0x8ef))]({'geometry':new _0x79ae5(_0x531960),'attributes':this[_0x1c4443(_0x40e544._0x262053,0xbc3)](_0x531960)});return _0x1aff37;}['_getPolylineOutlinePositions'](_0x101785){const _0x55a590={_0x5d13cc:0x106a,_0x108737:0x109e,_0x2110c5:0x1788,_0x5bb134:0x12cb,_0x41a9a2:0x1cab,_0x4094e7:0x6b3,_0x26cd51:0x7b3},_0x342b7c={_0x17099f:0xcc};let _0x577fc4;function _0x36570c(_0x2ea68f,_0x11998d){return _0x54a7f1(_0x2ea68f- -_0x342b7c._0x17099f,_0x11998d);}function _0x361123(_0x3c8829,_0x3ea65e){return _0x54a7f1(_0x3ea65e-0x266,_0x3c8829);}if(Cesium__namespace[_0x361123(_0x55a590._0x5d13cc,0x18e7)](_0x101785[_0x36570c(0x3d0,0x43f)]['rotationDegree']))_0x577fc4=Cesium__namespace['Math'][_0x361123(_0x55a590._0x108737,_0x55a590._0x2110c5)](_0x101785[_0x361123(-0x243,0x702)][_0x361123(0x15bb,_0x55a590._0x5bb134)]);else Cesium__namespace['defined'](_0x101785['style'][_0x361123(_0x55a590._0x41a9a2,0x1457)])&&(_0x577fc4=_0x101785['style'][_0x36570c(0x1125,_0x55a590._0x4094e7)]);const _0x46b58b=getRectangleOuterPositions({'rectangle':Cesium__namespace[_0x361123(-0x204,0x75f)][_0x361123(0xdea,_0x55a590._0x26cd51)](_0x101785[_0x36570c(0x1023,0x19e0)]),'rotation':_0x577fc4,'height':_0x101785['style']['height']});return[_0x46b58b];}}register$5('rectangleC',RectangleCombine);class EditDivGraphic extends EditBase{set[_0x54a7f1(0x16e1,0x1adb)](_0x111951){this['_graphic']['_position_draw']=_0x111951;}get['position'](){return this['_graphic']['_position_draw'];}get['container'](){return this['_graphic']['_container'];}['activate'](){const _0x53db0c={_0x3602b1:0x13e6,_0x14a0df:0x18e3,_0x43d9e0:0xd50,_0x56bf93:0xec4,_0x3c0eaf:0x1001,_0x1ee0cd:0x1903,_0x3f758f:0xf6b,_0x771470:0x426,_0x4e9119:0x1184,_0x4a4524:0x1326,_0x2fa3c1:0x1175,_0x116f7b:0x13b5};if(this['_enabled'])return this;this['_enabled']=!![];function _0x35836d(_0x5b8049,_0x27d25a){return _0x54a7f1(_0x5b8049-0x153,_0x27d25a);}this[_0x35836d(0xd50,_0x53db0c._0x3602b1)]['addEventListener'](_0x1c1955(-0x1a,0x651),this[_0x35836d(_0x53db0c._0x14a0df,0x131d)][_0x35836d(0x426,-0x14d)](this)),this[_0x35836d(_0x53db0c._0x43d9e0,_0x53db0c._0x56bf93)][_0x1c1955(_0x53db0c._0x3c0eaf,_0x53db0c._0x1ee0cd)]('mouseout',this['_onMouseOut'][_0x1c1955(0xc8b,0x473)](this)),this['container']['addEventListener']('mousedown',this[_0x1c1955(0x137b,_0x53db0c._0x3f758f)][_0x35836d(_0x53db0c._0x771470,0x7be)](this)),addClass(this[_0x35836d(0xd50,_0x53db0c._0x4e9119)],this[_0x35836d(0x13b5,0xe8b)]['style']['editClassName']||'mars3d-divGraphic-edit'),this[_0x1c1955(0x1c0d,0x1402)][_0x1c1955(0x632,0x587)]=this['_map']['getLangText']('_拖动对象后')+_0x35836d(0x932,_0x53db0c._0x4a4524)+this['_map']['getLangText']('_修改位置'),this['_graphic']['onDragEnd']=(_0x4b72d0,_0x226d8f,_0x424600)=>{this['_graphic']['position']=_0x226d8f,this['_editPositionsHook']();const _0x2a5dd9={};_0x2a5dd9['mouseEvent']=_0x424600,_0x2a5dd9['cartesian']=_0x226d8f,this['fire'](EventType['editMovePoint'],_0x2a5dd9);};function _0x1c1955(_0x431fb5,_0x751232){return _0x7afdbe(_0x431fb5,_0x751232- -0x8e);}return(this['_graphic']['options']['hasEditContextMenu']??!![])&&(this['_graphic']['_draw_tooltip']+='<br/>'+this['_map'][_0x35836d(_0x53db0c._0x2fa3c1,0xa11)]('_更多功能请右击'),this[_0x35836d(0x118d,0x1762)]=this['_graphic'][_0x35836d(0x11f0,0x1b18)],this[_0x35836d(_0x53db0c._0x116f7b,0x19a5)]['bindContextMenu'](this['getDraggerContextMenu'](this['_graphic']))),this['fire'](EventType['editStart']),this;}['disable'](){const _0x26050d={_0x55e5f3:0x67c,_0x1330c6:0x1007,_0x269336:0xd28,_0x49b93c:0x820,_0x4de2e7:0x114d,_0x27d166:0xb63,_0x52f26f:0xb4f,_0x571bc4:0x561,_0x3e3718:0xaca,_0x4f47a6:0x17f1,_0x565cac:0x97c,_0x88cac3:0x1385};if(!this[_0x5f56c3(0x6f1,0xbaa)])return this;function _0x208102(_0x2b0609,_0x3a7c24){return _0x54a7f1(_0x2b0609- -0x25b,_0x3a7c24);}this['_enabled']=![],this['stopMoveMatrix'](),delete this['_graphic']['onDragEnd'],delete this['_graphic']['_draw_tooltip'];function _0x5f56c3(_0x3bdd89,_0x5a9726){return _0x7afdbe(_0x3bdd89,_0x5a9726- -0x17e);}return this['_graphic'][_0x5f56c3(_0x26050d._0x55e5f3,0x54d)](),this[_0x208102(0xddf,0x401)]&&(this[_0x208102(_0x26050d._0x1330c6,_0x26050d._0x269336)][_0x5f56c3(_0x26050d._0x49b93c,_0x26050d._0x4de2e7)]=this['_last_contextmenuConfig'],delete this['_last_contextmenuConfig']),this['container'][_0x5f56c3(_0x26050d._0x27d166,0xff5)](_0x5f56c3(_0x26050d._0x52f26f,_0x26050d._0x571bc4),this['_onMouseMove']),this['container'][_0x5f56c3(_0x26050d._0x3e3718,0xff5)](_0x208102(0x11fc,_0x26050d._0x4f47a6),this['_onMouseOut']),this[_0x208102(0x9a2,0xf42)]['removeEventListener']('mousedown',this['_onMarkerDragStart']),this['unbindEvent'](),removeClass(this['container'],this['_graphic']['style'][_0x208102(0x432,_0x26050d._0x565cac)]||'mars3d-divGraphic-edit'),this['fire'](EventType[_0x208102(0x9d6,_0x26050d._0x88cac3)]),this;}[_0x7afdbe(0x1161,0xa81)](){const _0x5237af={_0x1f8923:0x11d0,_0x575c68:0xb94,_0x32df33:0x19a1},_0x3fdda5={_0x698b8:0x28b},_0x5603cd={_0x5e40d3:0x184};function _0x40f85e(_0x35c931,_0x4cfa0a){return _0x7afdbe(_0x35c931,_0x4cfa0a- -_0x5603cd._0x5e40d3);}function _0xe163e2(_0x37193f,_0x1bc142){return _0x54a7f1(_0x37193f-_0x3fdda5._0x698b8,_0x1bc142);}this['_mouseMoveHandle']&&document[_0xe163e2(_0x5237af._0x1f8923,0xe7e)]('mousemove',this['_mouseMoveHandle'],![]),this['_mouseUpHandle']&&document['removeEventListener']('mouseup',this[_0x40f85e(_0x5237af._0x575c68,0xb8b)],![]),this['_map'][_0xe163e2(_0x5237af._0x32df33,0x223e)](![]);}[_0x54a7f1(0x1790,0x1e08)](_0x473f44){const _0x2c6d52={_0x77c349:0x130},_0x23f46b={_0x103c35:0x99};function _0x5e95b5(_0x5838a6,_0x53b09c){return _0x7afdbe(_0x5838a6,_0x53b09c- -_0x23f46b._0x103c35);}function _0x216554(_0xc36ae7,_0x3de24f){return _0x7afdbe(_0x3de24f,_0xc36ae7- -_0x2c6d52._0x77c349);}if(this[_0x216554(0x1360,0x1da1)][_0x216554(0x4e5,0x8ca)]){const _0x1dfe29=this['_graphic']['_getWindowPosition'](_0x473f44);this['_map'][_0x216554(0x187f,0x202b)](_0x1dfe29,this['_graphic']['_draw_tooltip']);}}['_onMouseOut'](_0x14ea50){this['_map']['closeSmallTooltip']();}[_0x54a7f1(0xdcb,0xd47)](_0x2f340d){const _0x2bcd46={_0x289f4a:0x8f8,_0x2ced57:0x200,_0x3e4764:0x13ab,_0x2885c3:0x807,_0x520cd3:0xe6e,_0x5781b5:0x8df},_0x41e697={_0x134cdb:0x202},_0x43eced={_0x2b44eb:0x29a},_0x5cb2fd={_0x556871:0xdb0};if(!this[_0x137d35(0x94,_0x2bcd46._0x289f4a)]||_0x2f340d[_0x47b9b2(_0x2bcd46._0x2ced57,-0xcf)]!==0x1||this['_matrixMove'])return;_0x2f340d['preventDefault'](),this['_map'][_0x47b9b2(0x147c,_0x2bcd46._0x3e4764)](!![]);const _0x2c535a={};_0x2c535a[_0x47b9b2(0x86f,_0x2bcd46._0x2885c3)]=_0x2f340d,this[_0x47b9b2(0xc1e,0x363)](EventType['editMouseDown'],_0x2c535a),this[_0x47b9b2(0x5b9,0xb93)]();!this[_0x137d35(0xefa,0x696)]&&(this[_0x137d35(0xdc1,0x696)]=_0x13782c=>{this['_onMarkerDrag'](_0x13782c);},this[_0x137d35(_0x2bcd46._0x520cd3,_0x2bcd46._0x5781b5)]=_0x1d5680=>{function _0x307f39(_0x3200f2,_0x5f1396){return _0x47b9b2(_0x5f1396-0x437,_0x3200f2);}this[_0x307f39(0x159a,_0x5cb2fd._0x556871)](_0x1d5680);});function _0x47b9b2(_0x254d50,_0x3bf24d){return _0x54a7f1(_0x254d50- -_0x43eced._0x2b44eb,_0x3bf24d);}function _0x137d35(_0x44f3cc,_0x827112){return _0x54a7f1(_0x827112- -_0x41e697._0x134cdb,_0x44f3cc);}document['addEventListener']('mousemove',this[_0x137d35(0x929,0x696)],![]),document[_0x47b9b2(0x14c9,0x1be5)]('mouseup',this['_mouseUpHandle'],![]);}['_onMarkerDrag'](_0x1f4441){const _0x38be65={_0x3e783f:0x7dd,_0x2eee3d:0xa95,_0x5bb712:0x12ea,_0xcbda15:0x10e8,_0x2b1c87:0xec4,_0x548d62:0x4d5},_0x44532e={_0x419efa:0x31d},_0x2e2c7f={_0x228be7:0x2fc};if(!this[_0x1f0cfb(_0x38be65._0x3e783f,0x304)])return;_0x1f4441[_0x1f0cfb(0x503,0x24f)]();const _0x59953a=this['_graphic']['_getWindowPosition'](_0x1f4441),_0x494194=getCurrentMousePosition(this[_0x471955(_0x38be65._0x2eee3d,0x4d7)]['scene'],_0x59953a);function _0x471955(_0x4a2445,_0x5c5474){return _0x54a7f1(_0x5c5474- -_0x2e2c7f._0x228be7,_0x4a2445);}if(!_0x494194)return;this['_graphic'][_0x1f0cfb(0x13c4,0xb06)]=_0x494194;function _0x1f0cfb(_0x546aaf,_0x17075b){return _0x54a7f1(_0x546aaf- -_0x44532e._0x419efa,_0x17075b);}this['_map'][_0x471955(0x1ebe,0x1485)](_0x59953a,this['_map']['getLangText'](_0x1f0cfb(_0x38be65._0x5bb712,0x979))),this['_graphic'][_0x1f0cfb(_0x38be65._0xcbda15,0x1b6f)](![]);const _0x27f516={};_0x27f516['mouseEvent']=_0x1f4441,_0x27f516['cartesian']=_0x494194,_0x27f516[_0x1f0cfb(_0x38be65._0x2b1c87,0x1233)]=_0x59953a,this['fire'](EventType[_0x1f0cfb(0x323,_0x38be65._0x548d62)],_0x27f516);}['_onMarkerDragEnd'](_0xa22ae2){const _0x52cf1e={_0x2e25fc:0x4fd,_0x1f2013:0x4b5,_0x122f65:0xf33},_0x5065e7={_0x324c02:0x56c};function _0x4cac41(_0x44592e,_0x460ba7){return _0x7afdbe(_0x460ba7,_0x44592e- -0x2ae);}if(!this['_enabled'])return;_0xa22ae2['preventDefault'](),this['unbindEvent']();function _0x42a5cb(_0x2bc6a2,_0x33de22){return _0x7afdbe(_0x33de22,_0x2bc6a2- -_0x5065e7._0x324c02);}this['_map'][_0x4cac41(0xd15,0xe22)](),this[_0x4cac41(0x11e2,0x1c48)]['_updatePointerEvents'](this[_0x42a5cb(0xf24,_0x52cf1e._0x2e25fc)]['hasBindEvent']());const _0x36e98f=this['_graphic']['_getWindowPosition'](_0xa22ae2);this['_editPositionsHook'](),this['fire'](EventType[_0x4cac41(_0x52cf1e._0x1f2013,_0x52cf1e._0x122f65)],{'mouseEvent':_0xa22ae2,'cartesian':this['_graphic']['position'],'windowPosition':_0x36e98f});}['stopMoveMatrix'](){super['stopMoveMatrix'](),this['_graphic']['_updatePointerEvents'](this['_graphic']['hasBindEvent']());}['startMoveMatrix'](_0x119139,_0x362ad1){const _0x45fce6={_0x351828:0x15b9,_0x5863de:0x10e7},_0x249006={_0x3389e3:0x31e};super['startMoveMatrix'](_0x119139,_0x362ad1);function _0x370b7b(_0x29faba,_0x58e331){return _0x54a7f1(_0x58e331- -_0x249006._0x3389e3,_0x29faba);}function _0x21846b(_0x39ea69,_0x2bb958){return _0x54a7f1(_0x39ea69-0x49,_0x2bb958);}this[_0x370b7b(0xfdc,0xf44)][_0x370b7b(_0x45fce6._0x351828,_0x45fce6._0x5863de)](![]);}[_0x7afdbe(0x1f2c,0x168b)](_0x47fe42){const _0xc4add6={_0x56409b:0x5ff,_0x200cc3:0x4a4},_0x1bbbe6={_0x8b6fa9:0x1e1};function _0x256314(_0xdf3e80,_0x52ae1f){return _0x54a7f1(_0x52ae1f- -_0x1bbbe6._0x8b6fa9,_0xdf3e80);}if(!this['_matrixMove']||!_0x47fe42['position'])return;this[_0x256314(_0xc4add6._0x56409b,_0xc4add6._0x200cc3)]['position']=_0x47fe42['position'];}}const isFirefox=window[_0x7afdbe(0x1e49,0x143e)][_0x7afdbe(0x2182,0x1852)]['toLowerCase']()['indexOf'](_0x7afdbe(0x15c7,0x1027))>=0x0;class DivGraphic extends BaseGraphic{constructor(_0xebe485={}){const _0x3649f6={_0x48009c:0x7ca,_0x5d46b4:0x12e1,_0x2b003f:0x16,_0x4664a6:0x616,_0x34a6a1:0x25a,_0x3f5d90:0x202,_0x492bab:0xae5,_0x2e7dc1:0x5ae,_0x2e34c8:0xee8,_0x30342d:0xe50,_0x385465:0x1024};super(_0xebe485),this[_0x485076(0xae2,0xa64)]=this['options']['hasEdit']??this[_0x48500c(-_0x3649f6._0x48009c,0x202)]['hasEdit']??!![];function _0x485076(_0x4b8c4c,_0x3ddfc7){return _0x7afdbe(_0x3ddfc7,_0x4b8c4c- -0x356);}this[_0x48500c(_0x3649f6._0x5d46b4,0x1162)]=this['options']['depthTest']??this['style']['depthTest']??!![],this[_0x48500c(_0x3649f6._0x2b003f,0x2cd)]=this[_0x48500c(0xfde,_0x3649f6._0x4664a6)][_0x48500c(-0x5a,_0x3649f6._0x34a6a1)]??this[_0x48500c(0xab0,_0x3649f6._0x3f5d90)]['hasCache']??!![],this['_hasZIndex']=this['options']['hasZIndex']??this[_0x485076(0x374,0x232)][_0x48500c(_0x3649f6._0x492bab,0x14e9)]??![];function _0x48500c(_0x1fb16b,_0x1f0e5b){return _0x7afdbe(_0x1fb16b,_0x1f0e5b- -0x4c8);}this[_0x48500c(_0x3649f6._0x2e7dc1,0x616)][_0x48500c(_0x3649f6._0x2e34c8,_0x3649f6._0x30342d)]=this['options'][_0x48500c(_0x3649f6._0x385465,0xe50)]??0x1,_0xebe485['position']&&(this['position']=_0xebe485[_0x485076(0x15b9,0x103b)]);}get[_0x7afdbe(0x10d2,0x190f)](){return this['_position'];}set[_0x54a7f1(0x16e1,0x1ab8)](_0x12713a){const _0x13ac7c={_0x391f32:0xc5f,_0x930521:0x1074,_0xb5d947:0x1066,_0x489e7e:0xa07,_0x1fa95a:0x3f0,_0x17bfe2:0xcc,_0x2230ca:0x9a6,_0x272f4d:0xa07,_0x47ea3a:0x92a,_0x5e263e:0x11e6,_0xa6c161:0xb2f},_0x5a00da={_0x15aff7:0x10a};var _0x154427;if(this['isDestroy'])return;if(this[_0x1b78df(_0x13ac7c._0x391f32,0x1627)](_0x12713a))return;this[_0x491a05(0x788,_0x13ac7c._0x930521)]=LngLatPoint['parse'](_0x12713a);function _0x491a05(_0x2a0a16,_0x15100f){return _0x54a7f1(_0x2a0a16- -0x389,_0x15100f);}if(this['_point']){const _0x214bd3=this[_0x1b78df(_0x13ac7c._0xb5d947,0x144d)]();Cesium__namespace['defined'](_0x214bd3)&&(this[_0x1b78df(_0x13ac7c._0x489e7e,0x971)][_0x1b78df(0x34b,-0xfa)]=_0x214bd3);const _0x5933ab=this[_0x491a05(0x3df,-_0x13ac7c._0x1fa95a)]();Cesium__namespace['defined'](_0x5933ab)&&(this['_point'][_0x491a05(_0x13ac7c._0x17bfe2,_0x13ac7c._0x2230ca)]+=_0x5933ab);}this['_position']=(_0x154427=this[_0x1b78df(_0x13ac7c._0x272f4d,0xbff)])===null||_0x154427===void 0x0?void 0x0:_0x154427['toCartesian']();this[_0x1b78df(0xdd0,0x17a6)]&&(this[_0x491a05(0xb51,_0x13ac7c._0x47ea3a)][_0x1b78df(0x15d7,_0x13ac7c._0x5e263e)]=this['_position']);this['_updateDivPosition']();this[_0x491a05(0x100,-0x51d)]&&delete this['_getRectangle_cache'];function _0x1b78df(_0x433696,_0x298d00){return _0x54a7f1(_0x433696- -_0x5a00da._0x15aff7,_0x298d00);}this[_0x491a05(_0x13ac7c._0xa6c161,0x4ec)](EventType['updatePosition'],{'position':this[_0x1b78df(0xc82,0x901)]});}get['point'](){return this['_point'];}get['coordinate'](){return this['getCoordinate']();}get['center'](){return this['_position'];}get['positionShow'](){return this['_position_show'];}get['positions'](){const _0x9bcf03=this['positionShow'];return _0x9bcf03?[_0x9bcf03]:null;}set['positions'](_0x56384e){const _0x32ff0f={_0x55c422:0xa93,_0x3ad604:0x13b9},_0x16f37e={_0x2ae7c9:0x41c},_0x5ac9f0={_0xa3560d:0x1ad};function _0x368e91(_0x3c551d,_0x2ca36b){return _0x54a7f1(_0x3c551d- -_0x5ac9f0._0xa3560d,_0x2ca36b);}function _0xc1a02a(_0x14468a,_0x4a8760){return _0x54a7f1(_0x4a8760- -_0x16f37e._0x2ae7c9,_0x14468a);}_0x56384e&&_0x56384e[_0x368e91(0xdd8,_0x32ff0f._0x55c422)]>0x0&&(this[_0xc1a02a(_0x32ff0f._0x3ad604,0x12c5)]=_0x56384e[0x0]);}get['points'](){const _0x22a42e=this['point'];return _0x22a42e?[_0x22a42e]:null;}get['coordinates'](){const _0x2d3620={_0x4899d2:0x1339,_0x6de1d:0xf55},_0x28ff6c={_0x4c34be:0x62a};function _0x24aeea(_0x1fbb1a,_0x48882a){return _0x7afdbe(_0x48882a,_0x1fbb1a- -_0x28ff6c._0x4c34be);}const _0x145c1b=this[_0x24aeea(_0x2d3620._0x4899d2,_0x2d3620._0x6de1d)];return _0x145c1b?[_0x145c1b]:null;}get['testPoint'](){return this['_testPointEntity']!=null;}set[_0x54a7f1(0xc7a,0x126a)](_0x19345f){const _0xfed04={_0x240649:0xd00,_0x505289:0xc98,_0x1c43fd:0xdb4,_0xcf03ad:0x755,_0x56ee8c:0x3b1,_0x3eea04:0x35,_0x16464b:0x107e},_0x27f16e={_0x38e46b:0x1ea};function _0x11485b(_0x20fd3a,_0x5974b9){return _0x7afdbe(_0x5974b9,_0x20fd3a- -_0x27f16e._0x38e46b);}function _0x779a57(_0x40c096,_0x5e95fe){return _0x7afdbe(_0x40c096,_0x5e95fe- -0x72d);}this['_testPointEntity']&&(this['_layer']['dataSource'][_0x11485b(_0xfed04._0x240649,_0xfed04._0x505289)]['remove'](this['_testPointEntity']),delete this['_testPointEntity']);if(_0x19345f){var _0x501943;this['options']['testPoint']={'name':_0x779a57(0xb2b,0x9b4),'color':'#ff0000','pixelSize':0xa,'outlineColor':'#ffffff','outlineWidth':0x2,'distanceDisplayCondition':this['style']['distanceDisplayCondition'],'scaleByDistance':this['style'][_0x11485b(0x690,_0xfed04._0x1c43fd)],'clampToGround':this[_0x779a57(-0x9bb,-0x63)]['clampToGround'],'heightReference':this['style']['heightReference'],...this[_0x779a57(_0xfed04._0xcf03ad,_0xfed04._0x56ee8c)]['testPoint']},this['_testPointEntity']=this['_layer']['dataSource']['entities'][_0x779a57(0x826,0x191)]({'name':(_0x501943=this['options'][_0x779a57(_0xfed04._0x3eea04,0x77b)])===null||_0x501943===void 0x0?void 0x0:_0x501943[_0x11485b(0x12c0,_0xfed04._0x16464b)],'position':this['position'],'point':PointStyleConver['toCesiumVal'](this['options']['testPoint'])});}}get['pointerEvents'](){return this['options']['pointerEvents'];}set[_0x7afdbe(0x13e8,0x1617)](_0xfd2bb8){const _0x23f1f2={_0x10e91d:0x1680,_0x1ca5aa:0x11e8,_0x44653b:0x1046};function _0x1f2499(_0x43932a,_0x1d66d9){return _0x7afdbe(_0x1d66d9,_0x43932a-0x69);}function _0x19fffe(_0x1aaf90,_0x1007a2){return _0x7afdbe(_0x1007a2,_0x1aaf90- -0x44b);}this[_0x1f2499(0xb47,0x13b9)][_0x1f2499(_0x23f1f2._0x10e91d,0x1309)]=_0xfd2bb8,this[_0x19fffe(_0x23f1f2._0x1ca5aa,_0x23f1f2._0x44653b)](_0xfd2bb8);}get['isEditing'](){function _0x104d19(_0x2b5f60,_0x3c12de){return _0x54a7f1(_0x3c12de-0x25f,_0x2b5f60);}return this[_0x104d19(0x1f0a,0x1531)];}get[_0x54a7f1(0x16ec,0x1cde)](){return EditDivGraphic;}get['depthTest'](){return this['_depthTest'];}set['depthTest'](_0x135b25){this['_depthTest']=_0x135b25,delete this['_camera_cache'];}get['clampToGround'](){const _0x20e9bf={_0x19dce5:0xaf5,_0x22959e:0x1389};function _0x51f052(_0x28083d,_0x150b8b){return _0x7afdbe(_0x28083d,_0x150b8b- -0x40e);}return this['style'][_0x51f052(_0x20e9bf._0x19dce5,_0x20e9bf._0x22959e)];}set[_0x7afdbe(0xee0,0x1797)](_0x128367){this['style']['clampToGround']=_0x128367,this['_calculateAsynSurfacePosition']();}get['parentContainer'](){const _0x12dd8c={_0x10b600:0x8ab,_0x44f9ef:0x808,_0xfc9998:0x3a,_0x201bf9:0x13e1,_0x4556de:0x17ef},_0xc89db={_0x1d5f2b:0x233},_0x37155b={_0x4c5fd8:0x24c};if(this[_0x4b9157(_0x12dd8c._0x10b600,_0x12dd8c._0x44f9ef)][_0x1ae9c8(0x5b1,-_0x12dd8c._0xfc9998)])return this['options']['parentContainer'];function _0x1ae9c8(_0x2a49b9,_0x538f7b){return _0x54a7f1(_0x2a49b9- -_0x37155b._0x4c5fd8,_0x538f7b);}function _0x4b9157(_0x528d25,_0xdc1d7e){return _0x7afdbe(_0xdc1d7e,_0x528d25- -_0xc89db._0x1d5f2b);}return this[_0x1ae9c8(_0x12dd8c._0x201bf9,_0x12dd8c._0x4556de)][_0x1ae9c8(0x9b1,0xedb)];}get['parentContainerId'](){const _0x4dbe8d={_0x54a836:0xd01,_0x2cb908:0x3ac};function _0x19c663(_0x376045,_0x3b662b){return _0x54a7f1(_0x3b662b- -0x451,_0x376045);}var _0x40408d;return(_0x40408d=this[_0x19c663(_0x4dbe8d._0x54a836,_0x4dbe8d._0x2cb908)])===null||_0x40408d===void 0x0?void 0x0:_0x40408d['id'];}get[_0x7afdbe(0x14ed,0xe2b)](){function _0x2fd7cb(_0x3cf194,_0x1c11f3){return _0x7afdbe(_0x3cf194,_0x1c11f3- -0x4e3);}return this[_0x2fd7cb(-0x47e,0x3d6)];}get['containerId'](){return this['_container']['id'];}get['template'](){const _0x50d4b6={_0x4440b1:0x1da,_0x1cc8f6:0x346};if(Cesium__namespace['defined'](this['style']['template']))return this[_0x2357a6(_0x50d4b6._0x4440b1,_0x50d4b6._0x1cc8f6)]['template'];function _0x2357a6(_0x17fdc9,_0x576d15){return _0x7afdbe(_0x576d15,_0x17fdc9- -0x4f0);}if(this['_getDefaultTemplate'])return this['_getDefaultTemplate']();return![];}set['template'](_0x162da4){this['style']['template']=_0x162da4;}get[_0x7afdbe(0x8ae,0xbb8)](){const _0x5e6848={_0x22d316:0xfa1,_0x5b59b5:0x103a};function _0x4f5ac2(_0x208ea1,_0x369e5e){return _0x7afdbe(_0x369e5e,_0x208ea1- -0x4a2);}return this['_container'][_0x4f5ac2(_0x5e6848._0x22d316,_0x5e6848._0x5b59b5)];}set[_0x54a7f1(0x98a,0xec0)](_0x3473ac){const _0x42fd29={_0x5dd988:0x36b,_0x907115:0x6f6},_0x4025bc={_0x137235:0x12c2,_0x5eeb23:0x177,_0x276444:0x113,_0x2c8ae4:0xf37},_0x20e6ae={_0x33d71d:0x48c},_0x4f4e0d={_0x5931b6:0x20b};function _0x30af63(_0x5ee8e3,_0x267abe){return _0x7afdbe(_0x267abe,_0x5ee8e3- -_0x4f4e0d._0x5931b6);}this[_0x377dd4(-_0x42fd29._0x5dd988,0x10)][_0x377dd4(0x11d,0x4fe)]=_0x3473ac;function _0x377dd4(_0x751cfe,_0x253840){return _0x54a7f1(_0x253840- -_0x20e6ae._0x33d71d,_0x751cfe);}this[_0x30af63(0x6ae,0x110f)]&&_0x3473ac&&this[_0x377dd4(0xd6a,_0x42fd29._0x907115)](_0x3473ac)['then'](_0x33393b=>{if(!_0x33393b)return;this['style']['className']&&this['addClass'](this['style'][_0x180a2b(0x1203,0x1125)]);function _0x180a2b(_0x570afe,_0x765256){return _0x30af63(_0x765256- -0x4aa,_0x570afe);}this['_appendHtmlHook']&&this[_0x180a2b(_0x4025bc._0x137235,0xd6b)]();delete this[_0x12d735(-_0x4025bc._0x5eeb23,_0x4025bc._0x276444)];function _0x12d735(_0x5eed01,_0x3b3426){return _0x30af63(_0x5eed01- -0x430,_0x3b3426);}this[_0x180a2b(_0x4025bc._0x2c8ae4,0xa31)](EventType['load']);});}async['_setHtml'](_0x5aaffb){const _0x5b3870={_0x38ef1d:0x5ad,_0x28a05e:0x170e,_0x246936:0x276,_0x8df546:0xa2f,_0x4b8767:0x3a4,_0x2c4263:0x1c2,_0x14919f:0x7f3,_0xfcb5a1:0x10f3,_0x280205:0x2a2};typeof _0x5aaffb==='function'&&(_0x5aaffb=_0x5aaffb(this[_0x282f7e(_0x5b3870._0x38ef1d,0x3d2)]));_0x5aaffb instanceof Promise&&(_0x5aaffb=await _0x5aaffb,delete this['_camera_cache']);let _0x4a4e65=await this[_0x282f7e(_0x5b3870._0x28a05e,0xe26)]();_0x4a4e65 instanceof Promise&&(_0x4a4e65=await _0x4a4e65,delete this[_0x2b4340(-_0x5b3870._0x246936,0x588)]);if(!this['isAdded'])return![];function _0x2b4340(_0x72b47d,_0x2cc9ba){return _0x7afdbe(_0x2cc9ba,_0x72b47d- -0x73a);}if(_0x5aaffb instanceof Element||_0x5aaffb instanceof HTMLDivElement)return empty(this['_container']),_0x5aaffb[_0x282f7e(-0x3e6,0x3df)]['display']!=='block'&&(_0x5aaffb['style']['display']='block'),this['_container']['appendChild'](_0x5aaffb),!![];function _0x282f7e(_0x4c950c,_0x22da30){return _0x7afdbe(_0x4c950c,_0x22da30- -0x2eb);}const _0x4cae41=this[_0x282f7e(_0x5b3870._0x8df546,0x3df)]['templateEmptyStr']??!![];(_0x5aaffb==='all'||Array['isArray'](_0x5aaffb))&&(_0x5aaffb=getTemplateHtml({'template':_0x5aaffb,'attr':_0x4a4e65,'title':this[_0x2b4340(_0x5b3870._0x4b8767,-_0x5b3870._0x2c4263)]['title'],'showNull':this[_0x282f7e(0xa37,_0x5b3870._0x14919f)]['showNull'],'templateEmptyStr':_0x4cae41}));if(isString(_0x5aaffb)){const _0x141ce6=this[_0x2b4340(_0x5b3870._0xfcb5a1,0x9d6)];if(_0x141ce6){if(this[_0x2b4340(-0x288,_0x5b3870._0x280205)]&&this['_updateTemplateContentHtml'](template(_0x5aaffb,_0x4a4e65,_0x4cae41)))return!![];_0x5aaffb=_0x141ce6['replace']('{content}',_0x5aaffb);}return this['_container']['innerHTML']=template(_0x5aaffb,_0x4a4e65,_0x4cae41),!![];}return![];}get['divWidth'](){var _0x3b2ef9;return(_0x3b2ef9=this['_container'])===null||_0x3b2ef9===void 0x0?void 0x0:_0x3b2ef9['offsetWidth'];}get['divHeight'](){const _0x16c0df={_0x3d1b48:0x1a};function _0xaf1230(_0xc0ea7c,_0x11ef99){return _0x7afdbe(_0xc0ea7c,_0x11ef99- -0x68a);}var _0x415886;function _0x5d6dba(_0x1061e0,_0x540cc6){return _0x54a7f1(_0x1061e0- -_0x16c0df._0x3d1b48,_0x540cc6);}return(_0x415886=this[_0x5d6dba(0x671,0x975)])===null||_0x415886===void 0x0?void 0x0:_0x415886[_0x5d6dba(0xb2f,0x158e)];}get[_0x7afdbe(0xa06,0x6bd)](){return this;}['_showHook'](_0x275032){const _0x3e2fac={_0x497834:0x1b96,_0x38dfde:0x167c};function _0xbdb75f(_0x46d77c,_0x22488e){return _0x7afdbe(_0x22488e,_0x46d77c- -0x2a);}function _0x4a18e1(_0x477261,_0x25b474){return _0x54a7f1(_0x477261-0x89,_0x25b474);}if(!this['_container'])return;_0x275032?(delete this['_camera_cache'],this['_container']['style']['display']=_0xbdb75f(0x812,0x239)):this['hide'](),this['_testPointEntity']&&(this[_0xbdb75f(0x10de,_0x3e2fac._0x497834)][_0x4a18e1(_0x3e2fac._0x38dfde,0x1ef4)]=_0x275032);}[_0x7afdbe(0x18f7,0x1633)](_0x34d328){const _0x58056b={_0x6c72c:0x7c3,_0x57f806:0x64b,_0x362741:0x60e},_0x18654a={_0x13ce44:0x172},_0x32a918={_0x33adc8:0x20f};function _0x2da38c(_0x4b60ca,_0x22b38d){return _0x7afdbe(_0x4b60ca,_0x22b38d- -_0x32a918._0x33adc8);}function _0x59ee35(_0x545e37,_0x461b89){return _0x54a7f1(_0x545e37-_0x18654a._0x13ce44,_0x461b89);}this['_container']&&(_0x34d328?this['_container'][_0x59ee35(0x60e,0x6c5)][_0x59ee35(0x1299,0xae1)]=_0x2da38c(_0x58056b._0x6c72c,_0x58056b._0x57f806):this[_0x59ee35(0x7fd,0x76b)][_0x59ee35(_0x58056b._0x362741,0x107d)][_0x59ee35(0x1299,0x1d28)]='none');}[_0x54a7f1(0x508,-0x340)](_0x6b8a3a){const _0x5367b6={_0x3f67d5:0x84b,_0x581e7c:0x16e,_0x2bd132:0xec0,_0x480924:0x1870},_0x305b85={_0x3fd192:0x1a},_0x5b42f4={_0x211324:0xa4};this['style']['globalAlpha']=_0x6b8a3a;this['_container']&&(this['_container']['style']['opacity']=_0x6b8a3a);function _0x328902(_0x24db25,_0x1356ba){return _0x7afdbe(_0x1356ba,_0x24db25- -_0x5b42f4._0x211324);}function _0x255682(_0x135e4c,_0x77452c){return _0x54a7f1(_0x135e4c- -_0x305b85._0x3fd192,_0x77452c);}if(this[_0x328902(0x1064,0xaee)]){const _0x332db2={...this[_0x255682(0x896,0x1df)]['testPoint']};_0x332db2[_0x255682(_0x5367b6._0x3f67d5,-_0x5367b6._0x581e7c)]=_0x6b8a3a,PointStyleConver[_0x255682(0xdbf,0x768)](_0x332db2,this[_0x255682(_0x5367b6._0x2bd132,_0x5367b6._0x480924)]['point'],!![]);}}['hasBindEvent'](){const _0x1b1ee1={_0x4a4d34:0x188a,_0x3b3abc:0xf7c,_0xfb3fba:0x1113,_0x4e189c:0xccd,_0x28396f:0xd5a,_0x57a8df:0xdd1,_0xf96e91:0x768,_0x5e27c1:0x772,_0x2f4c64:0x1837,_0x1c4c7c:0x21d2,_0x45ef32:0x1824,_0x3a1a04:0xa35},_0x4f4306={_0x552735:0x129};function _0x1d5156(_0x1ce974,_0x36b841){return _0x7afdbe(_0x36b841,_0x1ce974- -_0x4f4306._0x552735);}if(Cesium__namespace[_0x36649e(0x1d49,_0x1b1ee1._0x4a4d34)](this[_0x36649e(_0x1b1ee1._0x3b3abc,0xab9)]['pointerEvents']))return this['options']['pointerEvents'];if(this['listens'](EventType[_0x36649e(0x11ee,_0x1b1ee1._0xfb3fba)]))return!![];if(this[_0x1d5156(_0x1b1ee1._0x4e189c,_0x1b1ee1._0x28396f)](EventType['mouseOver']))return!![];function _0x36649e(_0x556ebd,_0x12e265){return _0x54a7f1(_0x12e265-0x209,_0x556ebd);}if(this[_0x36649e(0x5cd,_0x1b1ee1._0x57a8df)](EventType[_0x36649e(_0x1b1ee1._0xf96e91,_0x1b1ee1._0x5e27c1)]))return!![];if(this['hasPopup'](![]))return!![];if(this['hasTooltip'](![]))return!![];if(this['_layer']){if(this[_0x36649e(0x21e6,0x1836)][_0x1d5156(_0x1b1ee1._0x2f4c64,_0x1b1ee1._0x1c4c7c)]&&this[_0x36649e(_0x1b1ee1._0x45ef32,0x193b)])return!![];if(this['_layer']['listens'](EventType['click']))return!![];if(this['_layer']['listens'](EventType['mouseOver']))return!![];if(this[_0x36649e(0x1683,0x1836)]['listens'](EventType['mouseOut']))return!![];}if(this['hasPopup'](!![]))return!![];if(this[_0x1d5156(0x12d0,_0x1b1ee1._0x3a1a04)](!![]))return!![];return![];}[_0x7afdbe(0x126a,0x908)](){const _0x2341f5={_0x24037f:0xc77,_0x39ed7a:0x518},_0x46b54d={_0x50d47c:0x1f3};function _0x499266(_0x47ab3b,_0x3dac7e){return _0x54a7f1(_0x47ab3b-_0x46b54d._0x50d47c,_0x3dac7e);}function _0xe333b2(_0x52bce6,_0x1435f5){return _0x7afdbe(_0x1435f5,_0x52bce6- -0x6b0);}this[_0x499266(0x15f8,0x1bf4)](this[_0xe333b2(_0x2341f5._0x24037f,_0x2341f5._0x39ed7a)]());}['_mountedHook'](){const _0x402718={_0x4326d4:0x7d6,_0x347451:0xc08,_0x5b1a00:0x4f0,_0xd12fec:0x4e2,_0x12d911:0x301,_0x578437:0xda,_0x246d3b:0x7ef,_0x471f15:0x195,_0x259c44:0x878,_0x2da05f:0x10f,_0x517497:0x878,_0x42e58e:0x1128,_0x392a3f:0x715,_0x1463d9:0x126a,_0x28b2d7:0x12a4},_0x3d417c={_0xb5e65d:0x19b};DivGraphicStyleConver[_0x1a531d(0x9d7,_0x402718._0x4326d4)](this[_0x387ee5(0x301,-0x422)],this),this[_0x387ee5(0x4f0,0xc49)]=create$4(_0x1a531d(0x1af,_0x402718._0x347451),'mars3d-divGraphic\x20',this['parentContainer']),this[_0x387ee5(_0x402718._0x5b1a00,0xe70)]['id']=this['id'];function _0x1a531d(_0x41d269,_0x2a5cdc){return _0x54a7f1(_0x41d269- -0x402,_0x2a5cdc);}this[_0x387ee5(_0x402718._0x5b1a00,_0x402718._0xd12fec)]['style'][_0x387ee5(0x1bf,-0x2b7)]=this['style']['globalAlpha'];this[_0x387ee5(_0x402718._0x12d911,_0x402718._0x578437)]['html']&&(this[_0x387ee5(_0x402718._0x246d3b,-_0x402718._0x471f15)]=this['style'][_0x1a531d(0x588,0x7de)]);this['options'][_0x1a531d(_0x402718._0x259c44,-_0x402718._0x2da05f)]&&(this[_0x1a531d(_0x402718._0x517497,_0x402718._0x42e58e)]=this[_0x387ee5(_0x402718._0x392a3f,0xf57)]['testPoint']);function _0x387ee5(_0x44db2e,_0x1e47be){return _0x54a7f1(_0x44db2e- -_0x3d417c._0xb5e65d,_0x1e47be);}this[_0x387ee5(_0x402718._0x1463d9,_0x402718._0x28b2d7)](this['hasBindEvent']());}['_addedHook'](_0x62544){const _0x5eab16={_0x5dc496:0x72d,_0x20480c:0x1820,_0x458321:0x20a0,_0x189318:0x3dd,_0x273e45:0xdf},_0x54772b={_0x4b5092:0x171};this['hide'](),this['_container']['addEventListener']('click',this['_container_onClickHandler']['bind'](this));function _0x2b0f19(_0x32bbec,_0x4289de){return _0x7afdbe(_0x4289de,_0x32bbec- -_0x54772b._0x4b5092);}this[_0x1cd0fd(0x39f,_0x5eab16._0x5dc496)][_0x2b0f19(_0x5eab16._0x20480c,_0x5eab16._0x458321)]('mousedown',this['_container_onMousedownHandler'][_0x1cd0fd(-_0x5eab16._0x189318,0x375)](this)),this[_0x2b0f19(0x748,0x584)]['addEventListener'](_0x2b0f19(0x56e,0xe35),this['_container_onMouseMoveHandler']['bind'](this)),this[_0x1cd0fd(0x5c1,_0x5eab16._0x5dc496)]['addEventListener']('mouseout',this['_container_onMouseoutHandler']['bind'](this)),this[_0x1cd0fd(_0x5eab16._0x273e45,0x435)]();function _0x1cd0fd(_0x4ad4bf,_0x2824c6){return _0x54a7f1(_0x2824c6-0xa2,_0x4ad4bf);}this['bindUpdateEvent'](),this['_hasCache']&&setTimeout(()=>{delete this['_camera_cache'];},0xa),this['_map']['on'](EventType['morphComplete'],this['_morphCompleteHandler'],this);}['_removedHook'](){const _0x30fa48={_0x1c27b2:0x1026,_0xf1b29e:0x6ae,_0x3552e0:0xef,_0x21de83:0x53,_0x2a9665:0x17,_0x5729b4:0x4f4,_0x2475fb:0x3d4,_0x5628b6:0x593,_0x47b3bb:0xca9,_0x1e49c2:0xde7,_0x27dd8a:0xe20,_0x4ae1ff:0xedb,_0x2971b1:0x391};this[_0x3bed62(_0x30fa48._0x1c27b2,0x1526)]();function _0x3bed62(_0x3216cc,_0x50a12a){return _0x7afdbe(_0x50a12a,_0x3216cc- -0x353);}this[_0x3bed62(0x133e,0x9ad)]();this[_0x3bed62(_0x30fa48._0xf1b29e,-_0x30fa48._0x3552e0)]&&(this['_map']['off'](EventType['morphComplete'],this['_morphCompleteHandler'],this),this['_map'][_0x1907e4(_0x30fa48._0x21de83,0x921)](EventType[_0x1907e4(-_0x30fa48._0x2a9665,0x8d0)],this['_onTerrainChangeHandler'],this));function _0x1907e4(_0x333e30,_0x13b9e7){return _0x7afdbe(_0x13b9e7,_0x333e30- -0x528);}this['testPoint']=![],this[_0x1907e4(0x391,-_0x30fa48._0x5729b4)]&&(this[_0x3bed62(0x566,-_0x30fa48._0x2475fb)]['removeEventListener']('click',this[_0x1907e4(0xa4d,0x8ed)]),this['_container'][_0x1907e4(0xc4b,0x1047)](_0x3bed62(0x32a,_0x30fa48._0x5628b6),this[_0x3bed62(_0x30fa48._0x47b3bb,_0x30fa48._0x1e49c2)]),this['_container'][_0x3bed62(_0x30fa48._0x27dd8a,0xed9)]('mousemove',this[_0x3bed62(0x154e,_0x30fa48._0x4ae1ff)]),this['_container']['removeEventListener'](_0x3bed62(0x1332,0x12cf),this['_container_onMouseoutHandler']),remove(this[_0x1907e4(_0x30fa48._0x2971b1,-0x668)]));}[_0x7afdbe(0x12dd,0xcb0)](){this['enabledEvent']=![];const _0x14ef9d=this['_layer'];this['_onRemove'](),this['_onAdd'](_0x14ef9d),this['enabledEvent']=!![];}['_morphCompleteHandler'](_0x54d97c){setTimeout(()=>{function _0x11c1d4(_0x21009a,_0x3f9f79){return _0x536c(_0x21009a-0x3d6,_0x3f9f79);}this[_0x11c1d4(0xad2,0x2e2)]&&this['updateDivPosition']();},0x1e);}['_calculateAsynSurfacePosition'](){const _0x3bd0a5={_0x19f69b:0x5bd,_0x11ff63:0x158a,_0x37f4d6:0x5ae,_0x3c6ecf:0xeff,_0x43f1bd:0x5ee,_0x5978f4:0x9d1,_0x43462d:0x9b6,_0x585b1a:0x4bc,_0x2345f6:0x457,_0x5b3a0a:0x1d0c,_0x2f6783:0x12b9,_0x3595f8:0x404,_0x46beec:0x8fb},_0x6b5aef={_0x50d5ea:0x16be,_0x591144:0xfa8,_0x2975ed:0xf84,_0x142b9c:0xfb,_0x175953:0x1e0},_0x599a06={_0x16970f:0x23a},_0x5edca3={_0x211292:0x121},_0x5dff2e={_0x400e51:0x325};function _0xe7a4ed(_0x4bd243,_0x16cb9c){return _0x7afdbe(_0x4bd243,_0x16cb9c- -_0x5dff2e._0x400e51);}delete this[_0x3fa164(0x3b7,-0x635)];function _0x3fa164(_0x27edad,_0x527271){return _0x54a7f1(_0x27edad-_0x5edca3._0x211292,_0x527271);}this['_hasAsynSurfacePosition']=![];const _0xb2dba4=this['position'];_0xb2dba4 instanceof Cesium__namespace['Cartesian3']&&(this[_0x3fa164(_0x3bd0a5._0x19f69b,0x28f)][_0x3fa164(0x168a,0x15ff)]||Cesium__namespace[_0xe7a4ed(0xb8c,_0x3bd0a5._0x11ff63)](this['style']['heightReference'])&&this['style']['heightReference']!==Cesium__namespace['HeightReference'][_0xe7a4ed(_0x3bd0a5._0x37f4d6,_0x3bd0a5._0x3c6ecf)])&&(getSurfaceHeight(this[_0x3fa164(0x8f4,0xac6)][_0xe7a4ed(_0x3bd0a5._0x43f1bd,0xf88)],_0xb2dba4,this[_0x3fa164(_0x3bd0a5._0x5978f4,_0x3bd0a5._0x43462d)])[_0xe7a4ed(-0x160,_0x3bd0a5._0x585b1a)](_0x13805e=>{if(this[_0x4c3b14(-0x822,0x2a9)])return;(this['style']['heightReference']===Cesium__namespace['HeightReference']['RELATIVE_TO_GROUND']||this['style'][_0x1b5e4e(0xc88,_0x6b5aef._0x50d5ea)]===Cesium__namespace[_0x1b5e4e(_0x6b5aef._0x591144,_0x6b5aef._0x2975ed)]['RELATIVE_TO_TERRAIN']||this[_0x1b5e4e(_0x6b5aef._0x142b9c,0x59a)]['heightReference']===Cesium__namespace['HeightReference']['RELATIVE_TO_3D_TILE'])&&(_0x13805e['point'][_0x1b5e4e(0xb4,-_0x6b5aef._0x175953)]+=_0x13805e['height_original']);this[_0x1b5e4e(0x1340,0xd35)]=_0x13805e[_0x4c3b14(0x4a1,0xc03)];function _0x4c3b14(_0x17b0e8,_0x3068ba){return _0x3fa164(_0x3068ba- -_0x599a06._0x16970f,_0x17b0e8);}function _0x1b5e4e(_0x11be99,_0x403346){return _0xe7a4ed(_0x403346,_0x11be99- -0x2aa);}this['_hasAsynSurfacePosition']=!![];}),this['_map'][_0xe7a4ed(_0x3bd0a5._0x2345f6,0x256)](EventType['terrainChange'],this[_0xe7a4ed(_0x3bd0a5._0x5b3a0a,_0x3bd0a5._0x2f6783)],this),this['_map']['on'](EventType[_0x3fa164(_0x3bd0a5._0x3595f8,_0x3bd0a5._0x46beec)],this[_0xe7a4ed(0x8e4,0x12b9)],this));}['_onTerrainChangeHandler'](_0xcfd3f9){this['_map']&&this['_calculateAsynSurfacePosition']();}['_updateStyleBaseHook'](_0x3b2109){const _0x12bfcd={_0x2b8a22:0x1324,_0x39b02a:0xbc6,_0x23faa2:0x17c7},_0x1f310e={_0xa66c18:0x25e};DivGraphicStyleConver['toCesiumVal'](this['style'],this);(Cesium__namespace['defined'](_0x3b2109['setHeight'])||Cesium__namespace['defined'](_0x3b2109['addHeight']))&&(this[_0xba0bb8(0xffc,_0x12bfcd._0x2b8a22)]=this['_point']);function _0x38dd7c(_0x4dc8ca,_0x597468){return _0x54a7f1(_0x597468-_0x1f310e._0xa66c18,_0x4dc8ca);}Cesium__namespace[_0xba0bb8(_0x12bfcd._0x39b02a,0x12c4)](_0x3b2109[_0x38dd7c(0x16db,_0x12bfcd._0x23faa2)])&&this['_calculateAsynSurfacePosition']();delete this[_0x38dd7c(0xa6b,0x4f4)];function _0xba0bb8(_0x10fe1d,_0x40073){return _0x54a7f1(_0x40073- -0x3bd,_0x10fe1d);}return this['_updateDivPosition'](),this;}['updateDivPosition'](){return delete this['_camera_cache'],this['_updateDivPosition'](),this;}['_updateAvailabilityHook'](_0x30f7d1){const _0x49b2f2={_0x5c6d2a:0xc86};function _0x1a01cb(_0x47f352,_0x1074c8){return _0x54a7f1(_0x1074c8- -0x254,_0x47f352);}function _0x396b05(_0x888fed,_0x3ec316){return _0x7afdbe(_0x888fed,_0x3ec316- -0x298);}this[_0x1a01cb(0x757,_0x49b2f2._0x5c6d2a)]&&(this['_testPointEntity'][_0x1a01cb(0x1294,0xf41)]=_0x30f7d1);}['update'](_0x2ddf9b){const _0x4bed90={_0x4ecd4b:0x1019,_0x4ba1c3:0xd6a,_0x1e0d74:0x390,_0x27f38b:0x3bf,_0x1920ed:0xc4c,_0x47bb19:0x444,_0x57189f:0x616,_0x407ff1:0x10e9},_0x4f5e54={_0x54dfc8:0x275};if(!this[_0x423562(_0x4bed90._0x4ecd4b,0xa28)](_0x2ddf9b[_0x1911b4(_0x4bed90._0x4ba1c3,0x982)])){this[_0x423562(0xb1b,0x3a5)]();return;}this[_0x1911b4(_0x4bed90._0x1e0d74,_0x4bed90._0x27f38b)][_0x1911b4(_0x4bed90._0x1920ed,_0x4bed90._0x47bb19)]&&this['style']['html']&&(this['html']=this[_0x1911b4(_0x4bed90._0x57189f,0x3bf)]['html']);this[_0x423562(0x1b52,0x16b2)]();function _0x1911b4(_0x5d3b9c,_0x330a75){return _0x7afdbe(_0x5d3b9c,_0x330a75- -0x30b);}function _0x423562(_0x1f1ce2,_0xb50673){return _0x7afdbe(_0x1f1ce2,_0xb50673- -_0x4f5e54._0x54dfc8);}this['fire'](EventType['postRender'],{'container':this[_0x1911b4(_0x4bed90._0x407ff1,0xb20)]},![]);}['_updateDivPosition'](){const _0x2e012e={_0x45f8df:0x54a,_0x12f37f:0xfff,_0x44c98a:0x5f1,_0x198261:0x8f4,_0x3e9658:0x8f7,_0x3ecf44:0xc14,_0x4f4604:0x4cd,_0x173e27:0x801,_0x86eecb:0x7ed,_0x3b7776:0xc2c,_0x275941:0x147,_0x21b74c:0x142b,_0x2290c4:0x70,_0x4d3aef:0x1be,_0x6a832:0x1285,_0x346780:0x137b,_0x54b99d:0x11fe,_0x4d0bff:0xc2b,_0x4af530:0x196,_0x4dc3f7:0xc5f,_0x432a93:0x9ec,_0x24f1f8:0x1948,_0x339d85:0xfe1,_0x575dee:0x166d,_0x1a3cb5:0x8fe,_0x1dd3dd:0x93a,_0x30a7c6:0xc39,_0x580815:0x127e,_0x29ee6f:0x1ba,_0x129317:0x68,_0x9a4c67:0xf90,_0x5ec8b8:0x4cf,_0x1ebbdc:0x13cc,_0x16b959:0x137,_0x12c142:0x1338,_0x477a54:0x1d4f,_0x330690:0xa22,_0x253c8a:0xe3d,_0x2f8563:0xe39,_0x5e5004:0x1d83,_0x36a691:0x48,_0x3aa7ba:0x133},_0x2c908d={_0x2b60e9:0x306};var _0x36cf3d;if(!this['getRealShow']())return![];const _0x5e2938=this[_0xbd17a2(0x37f,0x478)]['scene'],_0x476b05=this[_0xbd17a2(0x37f,-0x54f)]['camera'];let _0x10f007=getPositionValue(this[_0xbd17a2(0x128d,0x1934)],(_0x36cf3d=this['_map'])===null||_0x36cf3d===void 0x0?void 0x0:_0x36cf3d[_0x54fc72(0x6d3,_0x2e012e._0x45f8df)][_0xbd17a2(_0x2e012e._0x12f37f,_0x2e012e._0x44c98a)]);if(!Cesium__namespace['defined'](_0x10f007))return this['hide'](),![];if(this[_0xbd17a2(0x113,-0x169)]){const _0x455b3e=_0x476b05[_0x54fc72(_0x2e012e._0x198261,0xd69)],_0x37e4dc={};_0x37e4dc['x']=_0x10f007['x'],_0x37e4dc['y']=_0x10f007['y'],_0x37e4dc['z']=_0x10f007['z'],_0x37e4dc['p1']=this[_0x54fc72(0x4cd,0x6ae)][_0x54fc72(_0x2e012e._0x3e9658,_0x2e012e._0x3ecf44)]['clientWidth'],_0x37e4dc['p2']=this[_0x54fc72(_0x2e012e._0x4f4604,-0x1c0)]['container'][_0x54fc72(_0x2e012e._0x173e27,_0x2e012e._0x86eecb)],_0x37e4dc['p3']=_0x455b3e[_0x54fc72(0x3a2,_0x2e012e._0x3b7776)],_0x37e4dc['p4']=_0x455b3e['latitude'],_0x37e4dc['p5']=_0x455b3e[_0x54fc72(0x361,0xb94)],_0x37e4dc['p6']=_0x476b05[_0xbd17a2(-_0x2e012e._0x275941,-0x829)],_0x37e4dc['p7']=_0x476b05[_0xbd17a2(0x123e,0xc15)],_0x37e4dc['p8']=_0x476b05[_0x54fc72(_0x2e012e._0x21b74c,0x1785)];const _0x2462f7=_0x37e4dc;if(this['_camera_cache']&&_0x2462f7['x']===this[_0x54fc72(-_0x2e012e._0x2290c4,-0x2d6)]['x']&&_0x2462f7['y']===this['_camera_cache']['y']&&_0x2462f7['z']===this['_camera_cache']['z']&&_0x2462f7['p1']===this['_camera_cache']['p1']&&_0x2462f7['p2']===this['_camera_cache']['p2']&&_0x2462f7['p3']===this['_camera_cache']['p3']&&_0x2462f7['p4']===this['_camera_cache']['p4']&&_0x2462f7['p5']===this[_0xbd17a2(-_0x2e012e._0x4d3aef,-0x4c4)]['p5']&&_0x2462f7['p6']===this['_camera_cache']['p6']&&_0x2462f7['p7']===this['_camera_cache']['p7']&&_0x2462f7['p8']===this['_camera_cache']['p8'])return!![];this['_camera_cache']=_0x2462f7;}if(!this[_0x54fc72(_0x2e012e._0x6a832,0xb31)]){const _0x15456e=this[_0x54fc72(0x196,-0x926)]['heightReference'];(this['style']['clampToGround']||Cesium__namespace[_0x54fc72(_0x2e012e._0x346780,_0x2e012e._0x54b99d)](_0x15456e)&&_0x15456e!==Cesium__namespace['HeightReference']['NONE'])&&(_0x10f007=getSurfacePosition(this['_map'][_0xbd17a2(_0x2e012e._0x4d0bff,0x399)],_0x10f007,this[_0x54fc72(_0x2e012e._0x4af530,_0x2e012e._0x4dc3f7)]));}this['_position_show']=_0x10f007;const _0x1f3ab0=toWindowCoordinates$1(_0x5e2938,_0x10f007),_0x16b8be=this[_0x54fc72(0x999,_0x2e012e._0x432a93)],_0x19de39=this['scaleByDistance'];let _0x4e6398=_0x476b05['positionCartographic']['height'];(this[_0x54fc72(0xd5a,0x17f7)]||_0x16b8be||_0x19de39)&&(_0x5e2938['mode']===Cesium__namespace['SceneMode'][_0x54fc72(0x1261,_0x2e012e._0x24f1f8)]&&(_0x4e6398=Cesium__namespace[_0x54fc72(_0x2e012e._0x339d85,_0x2e012e._0x575dee)]['distance'](_0x10f007,_0x476b05[_0xbd17a2(_0x2e012e._0x1a3cb5,0x1111)])));if(!_0x1f3ab0||_0x16b8be&&(_0x16b8be['near']>_0x4e6398||_0x16b8be['far']<_0x4e6398))return this[_0x54fc72(0x385,-0x204)]['style']['display']==='block'&&this['hide'](),![];if(this[_0xbd17a2(0xc30,_0x2e012e._0x1dd3dd)]&&_0x5e2938['mode']===Cesium__namespace['SceneMode'][_0x54fc72(0x1261,0x1500)]){const _0x2fbbdf=this['isInView'](_0x10f007);if(!_0x2fbbdf)return this[_0xbd17a2(0x237,_0x2e012e._0x30a7c6)]['style'][_0xbd17a2(_0x2e012e._0x580815,0xc49)]===_0xbd17a2(_0x2e012e._0x29ee6f,-0x4cc)&&this[_0xbd17a2(-_0x2e012e._0x129317,0x15c)](),![];}this[_0x54fc72(0x385,0x5ba)]['style'][_0x54fc72(0x13cc,_0x2e012e._0x9a4c67)]!=='block'&&(delete this[_0xbd17a2(-_0x2e012e._0x4d3aef,-_0x2e012e._0x5ec8b8)],this['_container']['style'][_0x54fc72(_0x2e012e._0x1ebbdc,0xe8d)]='block');const _0x355a3b=this['_getDivOffset'](_0x1f3ab0);let {width:_0x15d2bb,height:_0x1e749d,xOffset:_0xe88378,yOffset:_0x4058b7}=_0x355a3b;function _0x54fc72(_0x2bcb0c,_0x3c7dd){return _0x54a7f1(_0x2bcb0c- -_0x2c908d._0x2b60e9,_0x3c7dd);}let _0x59d4a0=0x1;if(_0x19de39){if(_0x4e6398<=_0x19de39[_0xbd17a2(-_0x2e012e._0x16b959,0x6bf)])_0x59d4a0=_0x19de39['nearValue'];else _0x4e6398>_0x19de39['near']&&_0x4e6398<_0x19de39[_0xbd17a2(_0x2e012e._0x12c142,_0x2e012e._0x477a54)]?_0x59d4a0=_0x19de39['nearValue']+(_0x19de39['farValue']-_0x19de39['nearValue'])*(_0x4e6398-_0x19de39[_0x54fc72(0x17,_0x2e012e._0x330690)])/(_0x19de39['far']-_0x19de39['near']):_0x59d4a0=_0x19de39['farValue'];_0xe88378*=_0x59d4a0;}let _0x3f78cb=this[_0xbd17a2(0x45c,0x3c5)]['zIndex']??_0x54fc72(0x13ec,0x13c6);this['_hasZIndex']&&(_0x3f78cb=Math['round'](0x98967f-_0x4e6398),_0x3f78cb<=0x0&&(_0x3f78cb=0x98967f));const _0x2dd122={};_0x2dd122['position']=_0x10f007,_0x2dd122['windowPosition']=_0x1f3ab0,_0x2dd122[_0xbd17a2(_0x2e012e._0x253c8a,0x154c)]=_0x4e6398,_0x2dd122['zIndex']=_0x3f78cb,_0x2dd122['height']=_0x1e749d;function _0xbd17a2(_0x108cf4,_0x43f86f){return _0x7afdbe(_0x43f86f,_0x108cf4- -0x682);}_0x2dd122[_0xbd17a2(0x1103,0x650)]=_0x15d2bb,_0x2dd122['xOffset']=_0xe88378,_0x2dd122[_0x54fc72(0x59e,-0x4da)]=_0x4058b7,_0x2dd122['x']=_0x1f3ab0['x']+_0xe88378,_0x2dd122['y']=_0x1f3ab0['y']+_0x4058b7,_0x2dd122['scale']=_0x59d4a0;const _0x19efe4=_0x2dd122;this['_timeinfo']=_0x19efe4;this['_updateDivPosition_Ex']&&this[_0xbd17a2(0x98d,0xb15)](_0x19efe4);const _0x39f5cb={};_0x39f5cb['transform']='translateX('+_0x19efe4['x']+_0xbd17a2(_0x2e012e._0x2f8563,0x920)+_0x19efe4['y']+_0x54fc72(0x13eb,_0x2e012e._0x5e5004)+_0x19efe4['scale']+')\x20',_0x39f5cb['transform-origin']='left\x20bottom',_0x39f5cb['z-index']=_0x19efe4['zIndex'],merge(this['_container'][_0xbd17a2(_0x2e012e._0x36a691,_0x2e012e._0x3aa7ba)],_0x39f5cb),this['fire'](EventType['change'],_0x19efe4,!![]);}['_getDivOffset'](_0x26d69a){const _0x29879f={_0x537eb2:0x19c2,_0x34864d:0x6e4,_0x247168:0x12b2,_0x18763a:0x89d,_0x56e54d:0x128f,_0x1df1ac:0x17a0,_0x1d7094:0x64b,_0x5e8ec2:0x64b,_0x443047:0xc69,_0x449bd6:0xe4a,_0xba96bc:0x155d,_0x54c15b:0xedd,_0xb01602:0x99f,_0x4abeb6:0x209},_0x1089b9={_0x4d8dcf:0x118};function _0x129779(_0x56d178,_0x24f77c){return _0x7afdbe(_0x56d178,_0x24f77c- -_0x1089b9._0x4d8dcf);}const _0x10fea9=this['divHeight'],_0x25cadf=this[_0x38e066(0x187e,_0x29879f._0x537eb2)];let _0x34bc92=0x0,_0x864100=0x0;switch(this[_0x38e066(0x64b,_0x29879f._0x34864d)]['horizontalOrigin']){case _0x129779(0x1001,0x1219):case Cesium__namespace[_0x129779(0x462,0x9e3)]['CENTER']:_0x34bc92=-_0x25cadf/0x2;break;case'RIGHT':case Cesium__namespace[_0x38e066(0xa7c,0xb4e)]['RIGHT']:_0x34bc92=-_0x25cadf;break;case _0x129779(0xa96,0x801):case Cesium__namespace['HorizontalOrigin']['LEFT']:default:_0x34bc92=0x0;break;}switch(this['style'][_0x38e066(0x1807,0x14e2)]){case'TOP':case Cesium__namespace['VerticalOrigin']['TOP']:_0x864100=0x0;break;case _0x38e066(_0x29879f._0x247168,_0x29879f._0x18763a):case Cesium__namespace[_0x129779(0x14a3,0xacd)][_0x38e066(0x12b2,0x920)]:_0x864100=-_0x10fea9/0x2;break;case _0x38e066(0x48b,0xed):case Cesium__namespace[_0x38e066(0xb66,_0x29879f._0x56e54d)][_0x38e066(0x48b,-0x5af)]:default:_0x864100=-_0x10fea9;break;}function _0x38e066(_0x5ac81a,_0x182a02){return _0x7afdbe(_0x182a02,_0x5ac81a- -0x7f);}this[_0x129779(-0xa0,0x5b2)][_0x129779(_0x29879f._0x1df1ac,0xe90)]?(_0x34bc92+=this[_0x38e066(_0x29879f._0x1d7094,0x454)]['anchor'][0x0],_0x864100+=this[_0x38e066(_0x29879f._0x5e8ec2,0xa6a)][_0x38e066(0xf29,_0x29879f._0x443047)][0x1]):(this['style'][_0x129779(_0x29879f._0x449bd6,_0x29879f._0xba96bc)]&&(_0x34bc92+=this['style']['offsetX']),this['style'][_0x129779(0x16f8,0xe44)]&&(_0x864100+=this['style'][_0x38e066(_0x29879f._0x54c15b,_0x29879f._0xb01602)]));const _0x5a348f={};return _0x5a348f[_0x129779(-_0x29879f._0x4abeb6,0x77d)]=_0x10fea9,_0x5a348f['width']=_0x25cadf,_0x5a348f['xOffset']=_0x34bc92,_0x5a348f['yOffset']=_0x864100,_0x5a348f;}['getBoundingBox'](_0x1aa57b,_0x2e957e){const _0xc3c113={_0x16809e:0xa4c,_0x34ae03:0x9bc,_0x4abf25:0xcb8,_0x309a10:0x1484,_0x586590:0x14ef,_0x4375b8:0x1514,_0xd2b257:0xa4c},_0xd14718={_0xa50689:0xd3};!Cesium__namespace['defined'](_0x2e957e)&&(_0x2e957e=new Cesium__namespace['BoundingRectangle']());function _0x297e38(_0x16bd41,_0x1be23d){return _0x54a7f1(_0x16bd41- -_0xd14718._0xa50689,_0x1be23d);}function _0x505f3f(_0x706cfe,_0xc8c10){return _0x7afdbe(_0x706cfe,_0xc8c10- -0x271);}return this['_timeinfo']&&(_0x2e957e['x']=_0x1aa57b['x']+this[_0x505f3f(0x553,_0xc3c113._0x16809e)][_0x505f3f(0x168d,0x132a)],_0x2e957e['y']=_0x1aa57b['y']+this[_0x297e38(_0xc3c113._0x34ae03,-0x3f)][_0x297e38(0x7d1,_0xc3c113._0x4abf25)],_0x2e957e[_0x297e38(_0xc3c113._0x309a10,0x198b)]=this['_timeinfo'][_0x505f3f(_0xc3c113._0x586590,_0xc3c113._0x4375b8)],_0x2e957e['height']=this[_0x505f3f(0xc4,_0xc3c113._0xd2b257)]['height']),_0x2e957e;}[_0x7afdbe(0x2b7,0x61a)](){const _0x58a8cc={_0x125d55:0x28},_0x12a753={_0x6c1504:0x26e};this['_container']['style']['display']='none';function _0x13af3e(_0xe9c0a,_0x52514a){return _0x54a7f1(_0x52514a- -_0x12a753._0x6c1504,_0xe9c0a);}delete this[_0x13af3e(-0x36c,_0x58a8cc._0x125d55)];}['_getGeoJsonGeometry'](_0x692a0a){const _0x3672fb={_0x50ccfb:0x2e1};function _0x5248ed(_0x516ad5,_0x5e34d4){return _0x54a7f1(_0x5e34d4- -_0x3672fb._0x50ccfb,_0x516ad5);}return{'type':'Point','coordinates':this['getCoordinate'](_0x692a0a===null||_0x692a0a===void 0x0?void 0x0:_0x692a0a[_0x5248ed(-0x460,0x58a)])};}['addDynamicPosition'](_0x30181e,_0x1517fd){const _0x2a161c={_0x50de7a:0x115d,_0x1050a2:0x14af,_0x25be1c:0x1d8,_0x33f3da:0x124e,_0x3bb1b4:0x16b,_0x55a705:0xa02,_0x516af8:0x1822,_0x50b016:0x1db5,_0x2802dd:0x23e,_0x1a0a0c:0x1399,_0x4a260a:0xeef,_0x541b18:0xeca,_0x3a15d6:0xf95,_0x7233bf:0x179b,_0x294c07:0xede,_0x195d58:0x522,_0x226929:0x426,_0x9b05bd:0xbee,_0x358bab:0xa29};function _0x39922a(_0x3ec288,_0x4bd810){return _0x7afdbe(_0x3ec288,_0x4bd810- -0x3cc);}var _0x2a3bae,_0x3bd99e;if(!this['property']){const _0x4d3004=new Cesium__namespace[(_0x4b9123(0xa08,_0x2a161c._0x50de7a))](this[_0x4b9123(0xc7b,0xa02)]['referenceFrame'],this[_0x4b9123(_0x2a161c._0x1050a2,0xa02)]['numberOfDerivatives']);_0x4d3004['forwardExtrapolationType']=this['options']['forwardExtrapolationType']??Cesium__namespace[_0x4b9123(_0x2a161c._0x25be1c,0x903)][_0x39922a(0x11dd,_0x2a161c._0x33f3da)],_0x4d3004['backwardExtrapolationType']=this['options']['backwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],this['_orientation']=this[_0x4b9123(_0x2a161c._0x3bb1b4,_0x2a161c._0x55a705)][_0x39922a(_0x2a161c._0x516af8,0x1462)]||new Cesium__namespace[(_0x4b9123(_0x2a161c._0x50b016,0x140f))](_0x4d3004),this['property']=_0x4d3004,this['position']=_0x4d3004,this[_0x39922a(-0x6b5,_0x2a161c._0x2802dd)]=this['options'][_0x4b9123(0x2072,0x1779)]??0x32;}else this[_0x4b9123(_0x2a161c._0x1a0a0c,_0x2a161c._0x4a260a)]!==this['position']&&(this[_0x4b9123(_0x2a161c._0x541b18,0x1833)]=this[_0x39922a(0x16a2,0xbff)]);this[_0x39922a(0xa27,0x6b9)]();const _0x539153=((_0x2a3bae=this[_0x4b9123(_0x2a161c._0x3a15d6,0x925)])===null||_0x2a3bae===void 0x0||(_0x2a3bae=_0x2a3bae['clock'])===null||_0x2a3bae===void 0x0?void 0x0:_0x2a3bae['currentTime'])||Cesium__namespace['JulianDate']['now']();!_0x1517fd?_0x1517fd=_0x539153:_0x1517fd=getJulianDate$1(_0x1517fd,_0x539153);_0x30181e=LngLatPoint['parse'](_0x30181e);const _0x9bb80c=(_0x3bd99e=this['_sampledPositionProperty'])===null||_0x3bd99e===void 0x0||(_0x3bd99e=_0x3bd99e['_property'])===null||_0x3bd99e===void 0x0?void 0x0:_0x3bd99e['_times'];if(this['options'][_0x4b9123(0x10e0,_0x2a161c._0x7233bf)]&&(_0x9bb80c===null||_0x9bb80c===void 0x0?void 0x0:_0x9bb80c['length'])>0x0&&this[_0x4b9123(0x9bd,_0x2a161c._0x294c07)]){const _0x18ef1d=_0x9bb80c[_0x9bb80c['length']-0x1];if(Cesium__namespace['JulianDate'][_0x39922a(-_0x2a161c._0x195d58,_0x2a161c._0x226929)](_0x539153,_0x18ef1d)>0.3){let _0x416d52=this['_position'];if(this['_lastDynamicPosition']){const _0x4603e1=0.01;_0x416d52=getOnLinePointByLen(this[_0x4b9123(0xef8,0x12b9)],this[_0x39922a(0x1577,_0x2a161c._0x9b05bd)],_0x4603e1,!![]);}_0x416d52=setPositionsHeight(_0x416d52,_0x30181e['alt']||0x0),this['_sampledPositionProperty']['addSample'](_0x539153,_0x416d52);}}const _0x26b100=_0x30181e[_0x39922a(_0x2a161c._0x358bab,0x966)]();function _0x4b9123(_0x9e870d,_0x2a093e){return _0x7afdbe(_0x9e870d,_0x2a093e- -0xdc);}return this['position']['addSample'](_0x1517fd,_0x26b100),this;}[_0x7afdbe(-0x1a,0xa85)](){const _0xc4b4ef={_0x3f44e0:0xf36,_0x998b43:0x1fc,_0x39c6df:0xbbd,_0x2679c0:0x372};var _0xe82d3b;if(this['_maxCacheCount']<0x1)return;const _0x4800d2=(_0xe82d3b=this['property'])===null||_0xe82d3b===void 0x0||(_0xe82d3b=_0xe82d3b['_property'])===null||_0xe82d3b===void 0x0?void 0x0:_0xe82d3b['_times'];if(!_0x4800d2||_0x4800d2[_0x51a07c(0xda5,_0xc4b4ef._0x3f44e0)]===0x0)return;function _0x38490a(_0x16851c,_0xdcd028){return _0x54a7f1(_0x16851c- -0x299,_0xdcd028);}const _0x3f6e3e=_0x4800d2['length']-this[_0x51a07c(_0xc4b4ef._0x998b43,-0x76a)]-0x1;function _0x51a07c(_0x48cb5c,_0x28731a){return _0x7afdbe(_0x28731a,_0x48cb5c- -0x40e);}if(_0x3f6e3e>0x0){const _0x2a0e06={};_0x2a0e06['start']=_0x4800d2[0x0],_0x2a0e06['stop']=_0x4800d2[_0x3f6e3e],this[_0x51a07c(_0xc4b4ef._0x39c6df,_0xc4b4ef._0x2679c0)]['removeSamples'](new Cesium__namespace['TimeInterval'](_0x2a0e06));}}[_0x7afdbe(0x187b,0x117a)](_0x575367){const _0x4c317e={_0x2b309a:0xa5d,_0x21bd03:0x1576};function _0x5ea30c(_0x21d65f,_0x26bc2b){return _0x54a7f1(_0x26bc2b-0xd4,_0x21d65f);}function _0x1bab8c(_0x7e7479,_0x1fbb68){return _0x7afdbe(_0x1fbb68,_0x7e7479- -0x4ed);}return this[_0x1bab8c(_0x4c317e._0x2b309a,0x1144)]?this[_0x5ea30c(_0x4c317e._0x21bd03,0xdf0)]['toArray'](_0x575367):[];}[_0x7afdbe(0x15a1,0x15d3)](_0x19b8c0,_0x279f07=!![]){const _0x3d8623={_0xc7577f:0x78d,_0x1d0da2:0xf49,_0x9d6be3:0x1819,_0xd1eb8e:0xd77},_0x4846c0={_0x361b7e:0x4f9};var _0x335245;_0x279f07&&(this[_0x154baf(-_0x3d8623._0xc7577f,0x2da)]['closeHighlight'](),this['_map']['last_highlighGraphic']=this);this['_highlight_state']=!![];const _0x3b1ac4=_0x19b8c0||this['_highlightOptions']||((_0x335245=this[_0x133aa2(_0x3d8623._0x1d0da2,_0x3d8623._0x9d6be3)])===null||_0x335245===void 0x0?void 0x0:_0x335245[_0x133aa2(0x74d,_0x3d8623._0xd1eb8e)]);function _0x154baf(_0x553423,_0x564bfd){return _0x54a7f1(_0x564bfd- -_0x4846c0._0x361b7e,_0x553423);}function _0x133aa2(_0x259ee0,_0x36af00){return _0x54a7f1(_0x36af00-0x1ec,_0x259ee0);}_0x3b1ac4&&_0x3b1ac4['className']&&(this['addClass'](_0x3b1ac4['className']),this[_0x133aa2(0x16a3,0xd77)]=_0x3b1ac4,this[_0x154baf(0x2cc,0x9bf)](EventType['highlightOpen'],{},!![]));}['closeHighlight'](){const _0x4b9e30={_0x2fce52:0x5c0,_0x5aa45f:0x113b};var _0x4141c5;if(!this[_0x4581df(0x7c8,0x101c)]||!this[_0x158a4(0x91,-_0x4b9e30._0x2fce52)])return;delete this['_highlight_state'];function _0x158a4(_0x48b86d,_0x2cecfa){return _0x7afdbe(_0x2cecfa,_0x48b86d- -0x499);}this['_map']['_clearLastHighlight']();function _0x4581df(_0x5eb6af,_0x41bdcd){return _0x54a7f1(_0x5eb6af- -0x5b,_0x41bdcd);}(_0x4141c5=this['_highlightOptions'])!==null&&_0x4141c5!==void 0x0&&_0x4141c5['className']&&(this[_0x158a4(0x28a,-0x439)](this['_highlightOptions']['className']),this[_0x158a4(0xc4d,_0x4b9e30._0x5aa45f)](EventType[_0x158a4(0x96a,0x962)],{},!![]));}['_getWindowPosition'](_0x36efe4){const _0x4fe565={_0x14eff9:0x1203,_0x4b2782:0x250},_0x177c64={_0x284bdf:0x1ae},_0x20d3e0={_0x4e6ef8:0x5d};function _0x4ec178(_0x36199b,_0x2b59e7){return _0x54a7f1(_0x36199b- -_0x20d3e0._0x4e6ef8,_0x2b59e7);}function _0x30520a(_0x2c89b9,_0x197416){return _0x54a7f1(_0x197416-_0x177c64._0x284bdf,_0x2c89b9);}if(isFirefox){const _0x266534=this['_map'][_0x30520a(0x879,0xdab)]['getBoundingClientRect']();return new Cesium__namespace[(_0x30520a(_0x4fe565._0x14eff9,0x18b2))](_0x36efe4['clientX']-_0x266534['left'],_0x36efe4['clientY']-_0x266534['top']);}return new Cesium__namespace['Cartesian2'](_0x36efe4['layerX'],_0x36efe4[_0x4ec178(0x76d,-_0x4fe565._0x4b2782)]);}['_getEventTarget'](_0x546124){const _0x1339b7={_0x28267e:0x12b,_0x373170:0x1c,_0x2d18a7:0x57b,_0x27b9c1:0x190d,_0x5d4ab8:0x27d,_0x39f56c:0x541,_0x2256a3:0x1d3c,_0x2b2a98:0xd34};function _0x2fb0f0(_0x396c3b,_0x2e8eb6){return _0x7afdbe(_0x2e8eb6,_0x396c3b- -0x579);}_0x546124[_0x2fb0f0(_0x1339b7._0x28267e,0x805)]&&_0x546124['stopPropagation']();const _0x5dedaf=this[_0x2fb0f0(-_0x1339b7._0x373170,0xa4e)](_0x546124),_0x401afc={};_0x401afc[_0x2fb0f0(0x7be,_0x1339b7._0x2d18a7)]=_0x546124,_0x401afc['cartesian']=this['positionShow'],_0x401afc['windowPosition']=_0x5dedaf,_0x401afc[_0x2fb0f0(0x1454,_0x1339b7._0x27b9c1)]=this,_0x401afc[_0x2fb0f0(_0x1339b7._0x5d4ab8,-_0x1339b7._0x39f56c)]=this,_0x401afc[_0x2fb0f0(0xfcf,0x199a)]=this['_layer'];const _0xc49b06=_0x401afc;function _0x2dce6a(_0x171db8,_0x777d12){return _0x7afdbe(_0x777d12,_0x171db8- -0x365);}return this[_0x2dce6a(0x14f6,_0x1339b7._0x2256a3)]&&(this['_layer']['_graphic_drawing']||this['_layer']['_hasEdit']&&this['hasEdit'])&&(_0xc49b06['cartesian']=getCurrentMousePosition(this['_map'][_0x2fb0f0(_0x1339b7._0x2b2a98,0x13e7)],_0x5dedaf)),_0xc49b06;}[_0x54a7f1(0xd47,0x17bf)](_0x1c7a35){const _0xf7f65c={_0x29e1a7:0x1fa6,_0x5673d8:0x1955},_0x2df6aa={_0x54b406:0x46};function _0x1237b7(_0x4c529b,_0x1eedf7){return _0x7afdbe(_0x4c529b,_0x1eedf7-_0x2df6aa._0x54b406);}if(this[_0x1237b7(_0xf7f65c._0x29e1a7,0x1546)])return;const _0x34b950=this['_getEventTarget'](_0x1c7a35);function _0x1d017a(_0x14d57d,_0x33ffb2){return _0x54a7f1(_0x14d57d- -0x4bd,_0x33ffb2);}_0x34b950[_0x1237b7(0x199b,_0xf7f65c._0x5673d8)]=_0x34b950['windowPosition'],this['fire'](EventType['click'],_0x34b950,!![]);}[_0x7afdbe(0x1839,0xffc)](_0x5ee1a8){const _0x116fe1={_0x4e86cd:0x14c9};function _0x37fad1(_0x3dd5d0,_0x523434){return _0x7afdbe(_0x3dd5d0,_0x523434- -0x446);}if(_0x5ee1a8['button']!==0x2)return;const _0x4e29c9=this['_getEventTarget'](_0x5ee1a8);_0x4e29c9[_0x37fad1(0x1564,_0x116fe1._0x4e86cd)]=_0x4e29c9['windowPosition'],this['fire'](EventType['rightClick'],_0x4e29c9,!![]);}[_0x54a7f1(0x1673,0xd14)](_0x3ae69d){const _0x49d1d6={_0x21aeac:0x6ec,_0x142ab1:0x3c5,_0x2556d2:0xafa,_0xa5cd9f:0xdd1,_0x6f46ba:0x95d,_0xb97fb8:0xdd1,_0x25de2d:0x1899},_0x4a7fb8={_0x22b944:0xe7};if(this[_0x896bc3(0x13c2,0xec7)])return;this[_0x28f3e1(_0x49d1d6._0x21aeac,-_0x49d1d6._0x142ab1)]['mouseEvent']['clearMoveTargetDelay']();const _0x47bc47=this['_getEventTarget'](_0x3ae69d);function _0x28f3e1(_0x54a1a7,_0x3e5d32){return _0x54a7f1(_0x54a1a7- -_0x4a7fb8._0x22b944,_0x3e5d32);}_0x47bc47['endPosition']=_0x47bc47['windowPosition'],this[_0x28f3e1(0x6ec,_0x49d1d6._0x2556d2)][_0x28f3e1(_0x49d1d6._0xa5cd9f,0xb70)](EventType['mouseMove'],_0x47bc47),this['_map']['fire'](EventType[_0x896bc3(_0x49d1d6._0x6f46ba,0x676)],_0x47bc47);!this['_hasMouseOver']&&this[_0x28f3e1(_0x49d1d6._0xb97fb8,_0x49d1d6._0x25de2d)](EventType['mouseOver'],_0x47bc47,!![]);function _0x896bc3(_0x2d3687,_0x42448a){return _0x7afdbe(_0x42448a,_0x2d3687- -0x13e);}this[_0x896bc3(0xb62,0x1513)]=!![];}['_container_onMouseoutHandler'](_0x53f401){const _0x2a370c={_0x18d40e:0xa07,_0x9a61dd:0xc2d,_0x48b08b:0xa6a},_0x471967={_0xe77de1:0x44e};function _0x1ae00b(_0x4af68e,_0x5932f8){return _0x54a7f1(_0x4af68e- -0x407,_0x5932f8);}if(this['_enabledEdit'])return;this['_hasMouseOver']=![];function _0x3cb753(_0x29bc11,_0x3c4c27){return _0x54a7f1(_0x3c4c27- -_0x471967._0xe77de1,_0x29bc11);}const _0x45bbcb=this[_0x3cb753(0xcd7,_0x2a370c._0x18d40e)](_0x53f401);this[_0x3cb753(_0x2a370c._0x9a61dd,_0x2a370c._0x48b08b)](EventType['mouseOut'],_0x45bbcb,!![]);}[_0x54a7f1(0x84a,0xea0)](_0x1c49d3){const _0xfffa41={_0x3a8953:0xdb6};function _0x1adab4(_0x487e6f,_0x1aae5e){return _0x54a7f1(_0x487e6f- -0x4e5,_0x1aae5e);}return getSurfaceHeight(this['_map']['scene'],this['position'],_0x1c49d3??this[_0x1adab4(0x3cb,_0xfffa41._0x3a8953)])['then'](_0x9d19fb=>{function _0x14cb84(_0xf7c019,_0x3af1a2){return _0x1adab4(_0x3af1a2-0x501,_0xf7c019);}_0x9d19fb['position']&&(this['position']=_0x9d19fb[_0x14cb84(0x13c1,0x16fd)]);});}['_style2Json'](_0xda78b8,_0x374c79){return DivGraphicStyleConver['toJSON'](_0xda78b8,_0x374c79,!![]);}[_0x54a7f1(0x12bc,0x916)](_0x3fb85a){const _0x1c684b={_0x1573a5:0x1457},_0x45760e=this[_0x1f34f7(_0x1c684b._0x1573a5,0x10f8)];if(!_0x45760e)return;function _0x1f34f7(_0x2dd329,_0x2f3e2b){return _0x7afdbe(_0x2dd329,_0x2f3e2b-0x31);}const _0x1919c6=getRectangle([_0x45760e],_0x3fb85a===null||_0x3fb85a===void 0x0?void 0x0:_0x3fb85a['isFormat']);return _0x1919c6;}['addClass'](_0x3835dc,_0x1c3e35){const _0x1cce2e={_0x55ea6e:0x9f1,_0x31c1fd:0x1231},_0x56a7b7={_0x476658:0x443};function _0x86f2cf(_0x5e01c9,_0x1333f3){return _0x7afdbe(_0x1333f3,_0x5e01c9- -_0x56a7b7._0x476658);}var _0x284a45;function _0x5d4b62(_0x1dec75,_0x650025){return _0x54a7f1(_0x650025-0x163,_0x1dec75);}if(((_0x284a45=this['_container'])===null||_0x284a45===void 0x0||(_0x284a45=_0x284a45['children'])===null||_0x284a45===void 0x0?void 0x0:_0x284a45['length'])>0x0&&!_0x1c3e35)for(let _0x383253=0x0,_0x24bee3=this['_container'][_0x5d4b62(0x94,0x3ec)]['length'];_0x383253<_0x24bee3;_0x383253++){const _0x247631=this['_container'][_0x86f2cf(0x74,-_0x1cce2e._0x55ea6e)][_0x383253];addClass(_0x247631,_0x3835dc);}else addClass(this[_0x5d4b62(_0x1cce2e._0x31c1fd,0x7ee)],_0x3835dc);}[_0x54a7f1(0x4f5,0x534)](_0x26963f,_0x2a08ba){const _0x2e308d={_0x211f7f:0x1e0,_0xb5a809:0xb59,_0x5d6bde:0xdbc,_0x44fe1e:0x9d4};function _0x3ccd02(_0x1eb656,_0x59baa5){return _0x54a7f1(_0x1eb656- -0x469,_0x59baa5);}var _0x1d50f3;function _0x423d45(_0x3f659f,_0x52798d){return _0x54a7f1(_0x3f659f- -0x1c9,_0x52798d);}if(((_0x1d50f3=this['_container'])===null||_0x1d50f3===void 0x0||(_0x1d50f3=_0x1d50f3[_0x3ccd02(-_0x2e308d._0x211f7f,-0x528)])===null||_0x1d50f3===void 0x0?void 0x0:_0x1d50f3['length'])>0x0&&!_0x2a08ba)for(let _0x4ade51=0x0,_0x2db498=this[_0x423d45(0x4c2,_0x2e308d._0xb5a809)]['children'][_0x423d45(_0x2e308d._0x5d6bde,_0x2e308d._0x44fe1e)];_0x4ade51<_0x2db498;_0x4ade51++){const _0x11d332=this['_container'][_0x423d45(0xc0,-0x5e9)][_0x4ade51];removeClass(_0x11d332,_0x26963f);}else removeClass(this[_0x3ccd02(0x222,0x562)],_0x26963f);}['startDraw'](_0x54ae97){const _0x35359f={_0x46c0aa:0x10e,_0x3b59e9:0x7c4},_0x4b4a62={_0x4ba745:0x394},_0x52a606={_0x3e57bb:0x519};if(this['_enabledDraw'])return this;function _0x954a71(_0x1db5ad,_0x58d629){return _0x7afdbe(_0x1db5ad,_0x58d629- -_0x52a606._0x3e57bb);}this[_0x954a71(0x2cc,0xc67)]=!![];_0x54ae97&&this['addTo'](_0x54ae97);if(!this[_0x954a71(-_0x35359f._0x46c0aa,0x4e8)])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_map']['_setEditCursor'](!![]),this['enableControl'](![]);function _0x29035a(_0x4846a5,_0x53a57a){return _0x54a7f1(_0x4846a5- -_0x4b4a62._0x4ba745,_0x53a57a);}this[_0x29035a(-0x116,0x19f)](),this['fire'](EventType[_0x29035a(0x78,-_0x35359f._0x3b59e9)],{'drawType':this['type'],'graphic':this},!![]);}['stopDraw'](){const _0x17831f={_0x316798:0xf41,_0x2930b9:0xf13,_0x4d542d:0x1177,_0x5a3895:0xf6d,_0xe0a4b6:0x3d1,_0x275aab:0x1104,_0x175262:0xdb1,_0x21a637:0x10e3,_0x4e86fc:0x4fc,_0x51517e:0x272,_0x865d45:0x647,_0x4f3fb7:0x5ba},_0x3df90c={_0x39cf2f:0x11};function _0x267230(_0x1c1bbd,_0x4ab425){return _0x54a7f1(_0x1c1bbd- -0x48a,_0x4ab425);}var _0x152360,_0x40afa7;if(!this[_0x6caaf8(_0x17831f._0x316798,_0x17831f._0x2930b9)])return this;this[_0x6caaf8(0xa59,0xb8f)](),this['_map']['_setEditCursor'](![]);function _0x6caaf8(_0x6adc4c,_0x2cfecc){return _0x54a7f1(_0x6adc4c- -_0x3df90c._0x39cf2f,_0x2cfecc);}this['enableControl'](!![]),this[_0x6caaf8(0x7c2,_0x17831f._0x4d542d)]['closeSmallTooltip'](),this[_0x267230(0xac8,_0x17831f._0x5a3895)]=![];if(!this[_0x267230(0x902,0x21d)])return this['remove'](!![]),undefined;this['fire'](EventType['drawCreated'],{'drawType':this[_0x267230(0x3ac,_0x17831f._0xe0a4b6)],'graphic':this},!![]),(_0x152360=this[_0x6caaf8(0x89f,0x11ca)])!==null&&_0x152360!==void 0x0&&_0x152360[_0x267230(0xdb1,_0x17831f._0x275aab)]&&this['options'][_0x267230(_0x17831f._0x175262,_0x17831f._0x21a637)](this),(_0x40afa7=this[_0x267230(0x426,_0x17831f._0x4e86fc)])!==null&&_0x40afa7!==void 0x0&&(_0x40afa7=_0x40afa7[_0x6caaf8(_0x17831f._0x51517e,-_0x17831f._0x865d45)])!==null&&_0x40afa7!==void 0x0&&_0x40afa7['resolve']&&this[_0x6caaf8(0x89f,_0x17831f._0x4f3fb7)]['_promise']['resolve'](this);}['_startDrawHook'](){const _0xf897f1={_0x25a46b:0x1028,_0x19f178:0x43};this['_updatePointerEvents'](![]);function _0x3019c1(_0x3da090,_0x5c071b){return _0x54a7f1(_0x3da090- -0x239,_0x5c071b);}this['_map']['on'](EventType[_0x252bfa(0xc3c,0x97e)],this['_onMouseMoveHandler_point'],this);function _0x252bfa(_0x52818d,_0x30341f){return _0x7afdbe(_0x30341f,_0x52818d- -0x167);}this[_0x3019c1(0x59a,_0xf897f1._0x25a46b)]['on'](EventType['click'],this[_0x252bfa(0xa3b,-_0xf897f1._0x19f178)],this);}['_stopDrawHook'](){const _0x594a02={_0x47f1f7:0x303,_0x4cffa2:0xb22,_0x1ffdef:0x153b},_0x29a47a={_0x34331a:0x4d0},_0x14738f={_0x4ed2a1:0xf8};function _0x5d7cbb(_0x337e4d,_0x2ceb1f){return _0x7afdbe(_0x337e4d,_0x2ceb1f- -_0x14738f._0x4ed2a1);}function _0x108d7a(_0x42e012,_0x3810e6){return _0x54a7f1(_0x42e012- -_0x29a47a._0x34331a,_0x3810e6);}this['_map']['off'](EventType['mouseMove'],this[_0x5d7cbb(0x58a,0x5ea)],this),this[_0x108d7a(_0x594a02._0x47f1f7,-_0x594a02._0x47f1f7)]['off'](EventType[_0x5d7cbb(0x1172,0x1040)],this['_onClickHandler_point'],this),this[_0x5d7cbb(_0x594a02._0x4cffa2,_0x594a02._0x1ffdef)](this['hasBindEvent']());}[_0x54a7f1(0x4b4,0x6d9)](_0x33227f){const _0x3e2d53={_0x15401a:0x883,_0x19857c:0x33e},_0x431cea={_0xda1dd9:0x2c9},_0x334304={_0x4d91bf:0xd2},_0x3f8136=_0x33227f['cartesian'];_0x3f8136&&(this['position']=_0x3f8136);function _0x5c9fe8(_0x372f3f,_0x13ab09){return _0x54a7f1(_0x13ab09- -_0x334304._0x4d91bf,_0x372f3f);}function _0x3fdb0b(_0x54e1c8,_0xdde745){return _0x54a7f1(_0x54e1c8- -_0x431cea._0xda1dd9,_0xdde745);}this['_map']['openSmallTooltip'](_0x33227f['endPosition'],this[_0x5c9fe8(0xb7d,0x315)]||this['_map'][_0x5c9fe8(0xd39,0xf50)]('_单击完成绘制')),this[_0x3fdb0b(0xbef,0x109f)](EventType[_0x3fdb0b(_0x3e2d53._0x15401a,0xb02)],{..._0x33227f,'drawType':this[_0x5c9fe8(-_0x3e2d53._0x19857c,0x764)],'graphic':this},!![]);}[_0x7afdbe(0x153a,0xba2)](_0x3161fc){const _0x490b02={_0x5d9a02:0x14b8,_0x53d4de:0x121c},_0x111090={_0x183a31:0x229},_0x264a73=_0x3161fc['cartesian'];function _0x932105(_0x2d9816,_0x2a59d3){return _0x7afdbe(_0x2d9816,_0x2a59d3- -0x15d);}_0x264a73&&(this[_0x38a44c(_0x490b02._0x5d9a02,0x1792)]=_0x264a73);function _0x38a44c(_0x503112,_0x34dea5){return _0x54a7f1(_0x503112- -_0x111090._0x183a31,_0x34dea5);}this[_0x932105(0x1089,_0x490b02._0x53d4de)]();}['_setPositionsToCallback'](){}[_0x7afdbe(0x131c,0x1766)](){}[_0x54a7f1(0x1253,0x16a5)](){const _0x2ece3c={_0x4de9d9:0x10ab,_0x373837:0x15e};if(!this[_0x596754(_0x2ece3c._0x4de9d9,0x16bf)])return this;function _0x596754(_0x27b33f,_0x1dfb07){return _0x54a7f1(_0x27b33f-0x159,_0x1dfb07);}if(this[_0x596754(0x92a,_0x2ece3c._0x373837)]['length']<this['_minPointNum'])return;this['updateAttrForDrawing'](![]);function _0x261af1(_0x9c77e3,_0x3b36e6){return _0x7afdbe(_0x3b36e6,_0x9c77e3- -0x6bb);}this['stopDraw']();}['updateAttrForDrawing'](_0x341b36){}[_0x54a7f1(0x2f9,0x6c3)](_0x272c2c){const _0x352383={_0x24b849:0xc2e,_0x82daa0:0xe60,_0x32cb10:0xa7e,_0x4b2b55:0x8f8,_0x1dacba:0x10b0},_0x5048f5={_0x471504:0x109};function _0x3afade(_0x28cd80,_0x5c4599){return _0x7afdbe(_0x28cd80,_0x5c4599- -_0x5048f5._0x471504);}this[_0x1ab8ab(0x96b,0x1352)][_0x3afade(0x9c4,_0x352383._0x24b849)]['enabledMoveTarget']=_0x272c2c;this['_map']['popup']&&(this['_map']['popup']['enabled']=_0x272c2c);function _0x1ab8ab(_0x1eaa27,_0x7a94f6){return _0x7afdbe(_0x7a94f6,_0x1eaa27- -0x96);}this[_0x3afade(_0x352383._0x82daa0,0x8f8)][_0x1ab8ab(_0x352383._0x32cb10,0xe1b)]&&(this[_0x3afade(0x797,_0x352383._0x4b2b55)][_0x1ab8ab(0xa7e,_0x352383._0x1dacba)]['enabled']=_0x272c2c);}[_0x54a7f1(0xcad,0xafe)](){const _0x179a4d={_0x483036:0x393,_0x333457:0x1344,_0x3e5a9b:0x1678,_0x70cc6e:0xcc1,_0x28e4b4:0x1429,_0x436860:0x2e6},_0xa1fc24={_0xf527a6:0x2c3};function _0x30b2d6(_0x14772b,_0x42d122){return _0x54a7f1(_0x14772b- -_0xa1fc24._0xf527a6,_0x42d122);}function _0x4c2110(_0x32122f,_0xdc2c69){return _0x7afdbe(_0xdc2c69,_0x32122f- -0x66e);}if(this['_enabledEdit'])return this;this['_enabledEdit']=!![];if(!this[_0x4c2110(_0x179a4d._0x483036,-0x179)])throw new Error('编辑时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_draw_tooltip']=this[_0x30b2d6(0x510,-0x4c4)]['getLangText'](_0x30b2d6(_0x179a4d._0x333457,_0x179a4d._0x3e5a9b)),this[_0x30b2d6(0x36,0x30a)](![]),!this['editing']&&(this[_0x30b2d6(0x2e6,_0x179a4d._0x70cc6e)]=new this[(_0x30b2d6(_0x179a4d._0x28e4b4,0x1c25))](this)),this[_0x30b2d6(0x2e6,0x6d)]['activate']&&this[_0x30b2d6(_0x179a4d._0x436860,0x3f0)]['activate']();}[_0x7afdbe(0xdd3,0x1691)](){const _0x33bbbf={_0x8d84cb:0x118d,_0x3589a7:0xcd6},_0xa5bcd9={_0x39f1e2:0x299};var _0xc273cb;if(!this['_enabledEdit'])return this;(_0xc273cb=this['editing'])!==null&&_0xc273cb!==void 0x0&&_0xc273cb[_0x42f081(0x1345,_0x33bbbf._0x8d84cb)]&&this['editing']['disable']();function _0x42f081(_0x4e7565,_0xfe9049){return _0x7afdbe(_0x4e7565,_0xfe9049- -_0xa5bcd9._0x39f1e2);}this['enableControl'](!![]);function _0x3d16e6(_0x57fc1c,_0x4d20aa){return _0x54a7f1(_0x57fc1c- -0xa5,_0x4d20aa);}this[_0x3d16e6(0x72e,_0x33bbbf._0x3589a7)][_0x3d16e6(0xcf0,0xe95)](),this['_enabledEdit']=![];}}register$5(_0x7afdbe(0xbec,0x7df),DivGraphic,!![]);const _0x501cca={};_0x501cca['font_size']=0xf,_0x501cca['font_family']='楷体',_0x501cca['color']=_0x54a7f1(0x42d,0x10c),_0x501cca[_0x54a7f1(0x813,0x46e)]=_0x7afdbe(0x1883,0x13ee),_0x501cca[_0x54a7f1(0x15ce,0x1b37)]=Cesium__namespace[_0x7afdbe(0x128f,0xafb)][_0x54a7f1(0x1103,0x12c3)],_0x501cca['verticalOrigin']=Cesium__namespace[_0x7afdbe(0xa21,0xbe5)][_0x7afdbe(0x8d0,0x1331)];const DEF_STYLE$f=_0x501cca;class DivBoderLabel extends DivGraphic{constructor(_0x58bc8a={}){const _0x53e1c5={_0x4359ca:0x1724,_0x1d57be:0x20c9,_0x37ca2e:0x539,_0x4a7bfa:0x1198,_0x5bd706:0x756,_0x1b64d6:0x164e};_0x58bc8a['style']={...DEF_STYLE$f,..._0x58bc8a['style']},_0x58bc8a['style'][_0xc9f7e5(0xa27,-0x63)]=getHtmlByStyle$3(_0x58bc8a[_0x3c2ea6(0x448,-0xfc)],_0x58bc8a[_0xc9f7e5(_0x53e1c5._0x4359ca,_0x53e1c5._0x1d57be)]);function _0xc9f7e5(_0x2e2270,_0x1d1871){return _0x7afdbe(_0x1d1871,_0x2e2270- -0x191);}super(_0x58bc8a);const _0x327c15=_0x58bc8a['style'][_0xc9f7e5(0x1808,0x1679)],_0x48d6c6=_0x58bc8a['style']['width']||getStrLength(_0x58bc8a[_0xc9f7e5(_0x53e1c5._0x37ca2e,0x823)][_0xc9f7e5(_0x53e1c5._0x4a7bfa,_0x53e1c5._0x5bd706)])*_0x327c15*0.6,_0x306017=_0x58bc8a['style']['height']||_0x327c15*0x2;function _0x3c2ea6(_0x314df5,_0x32541f){return _0x54a7f1(_0x314df5- -0x54,_0x32541f);}this['_divWidth']=_0x48d6c6,this[_0xc9f7e5(_0x53e1c5._0x1b64d6,0x1e46)]=_0x306017;}get[_0x54a7f1(0x16cf,0x1e20)](){const _0x35cecb={_0x4bc1ed:0x180c};function _0x2f5fb8(_0x692e81,_0x1a0a59){return _0x54a7f1(_0x692e81-0x1,_0x1a0a59);}return this[_0x2f5fb8(0xdd7,_0x35cecb._0x4bc1ed)];}get[_0x7afdbe(0x9e1,0xf98)](){return this['_divHeight'];}['_updateStyleBaseHook'](_0x46d7f7){const _0x3d6c02={_0x40c1a0:0x840,_0x3cee1d:0x1dee,_0x435fb5:0x153d},_0x3b3815={_0x15afc4:0x39c},_0x16a493={_0x39933f:0x378};_0x46d7f7[_0x1880b4(0x122f,_0x3d6c02._0x40c1a0)]&&delete _0x46d7f7['html'];function _0x1880b4(_0xfe3801,_0x1061d2){return _0x7afdbe(_0xfe3801,_0x1061d2- -_0x16a493._0x39933f);}(Cesium__namespace[_0x13d210(0x1513,_0x3d6c02._0x3cee1d)](_0x46d7f7['color'])||Cesium__namespace[_0x13d210(0x1513,0x1652)](_0x46d7f7['boderColor'])||Cesium__namespace['defined'](_0x46d7f7['font_size'])||Cesium__namespace['defined'](_0x46d7f7[_0x13d210(0x130e,0x1719)])||Cesium__namespace['defined'](_0x46d7f7[_0x13d210(0xf8d,0x8b0)]))&&(this[_0x13d210(0x81c,-0x137)]=getHtmlByStyle$3(this[_0x13d210(0x32e,0xa4b)],this[_0x1880b4(0x1191,_0x3d6c02._0x435fb5)]));function _0x13d210(_0x2bc2fc,_0x502d5c){return _0x7afdbe(_0x502d5c,_0x2bc2fc- -_0x3b3815._0x15afc4);}return super['_updateStyleBaseHook'](_0x46d7f7),this;}}register$5('divBoderLabel',DivBoderLabel,!![]);function getHtmlByStyle$3(_0x193aa5,_0x17082e){const _0x421189={_0x33a936:0x980,_0xc869b4:0x170d,_0x3686c4:0x198f,_0x1a2268:0x81d,_0x84b2f1:0x114,_0x41e717:0x366,_0x2db461:0x69d,_0x479681:0xc1d,_0x316c73:0x1052,_0x347121:0x1a8e,_0x281e5b:0xcc8,_0x3283f9:0xd9e,_0x4164a0:0xeb7};function _0x5d1d9f(_0x13da15,_0x285f4c){return _0x54a7f1(_0x13da15- -0x19a,_0x285f4c);}const _0x2d9fc8=_0x193aa5[_0x5d1d9f(0x1078,_0x421189._0x33a936)],_0x2597bd=_0x193aa5[_0x5d1d9f(0x679,0xe15)];function _0x582602(_0xe8e5a4,_0x2c41b6){return _0x54a7f1(_0xe8e5a4-0x1b6,_0x2c41b6);}const _0x1f0ac1=Cesium__namespace['Color']['fromCssColorString'](_0x2597bd)['withAlpha'](0.5)['toCssColorString'](),_0x2f31=_0x193aa5[_0x5d1d9f(0x15d1,0x1f51)],_0x2254e6=_0x193aa5[_0x582602(_0x421189._0xc869b4,_0x421189._0x3686c4)]||getStrLength(_0x193aa5['text'])*_0x2f31*0.6,_0x28efa7=_0x193aa5[_0x582602(_0x421189._0x1a2268,0xfa4)]||_0x2f31*0x2;return _0x5d1d9f(0x111a,0x82e)+_0x2f31+'px;\x0a\x20\x20--boder-width:\x20'+_0x2254e6+_0x5d1d9f(0x837,-0x176)+(_0x2254e6+_0x2f31)+_0x5d1d9f(_0x421189._0x84b2f1,-_0x421189._0x41e717)+(_0x2254e6+_0x2f31-0x2)+_0x5d1d9f(0x9aa,_0x421189._0x2db461)+_0x28efa7+_0x5d1d9f(_0x421189._0x479681,0xc38)+(_0x28efa7+0xa)+'px;\x0a\x20\x20--clip-height-2:\x20'+(_0x28efa7+0x8)+_0x5d1d9f(_0x421189._0x316c73,_0x421189._0x347121)+_0x2d9fc8+';\x0a\x20\x20--border-color:\x20'+_0x2597bd+';\x0a\x20\x20--box-shadow-color:\x20'+_0x1f0ac1+_0x5d1d9f(_0x421189._0x281e5b,_0x421189._0x3283f9)+_0x193aa5[_0x582602(0x1632,0xf62)]+';\x22>'+template(_0x193aa5['text'],_0x17082e,_0x193aa5[_0x582602(_0x421189._0x4164a0,0x14a5)]??!![])+_0x582602(0x104a,0x5d3);}const _0x166cac={};_0x166cac['color']='#f33349',_0x166cac['horizontalOrigin']=Cesium__namespace['HorizontalOrigin'][_0x54a7f1(0x1103,0x1659)],_0x166cac['verticalOrigin']=Cesium__namespace[_0x7afdbe(0xb22,0xbe5)][_0x7afdbe(0x14c5,0x1331)];const DEF_STYLE$e=_0x166cac;class DivLightPoint extends DivGraphic{constructor(_0x48cabf={}){const _0xcd86c2={_0x35bcb7:0x5df};function _0x2dc948(_0x5ea6eb,_0x10f3da){return _0x54a7f1(_0x5ea6eb- -0x3ab,_0x10f3da);}_0x48cabf['style']={...DEF_STYLE$e,..._0x48cabf['style']},_0x48cabf['style'][_0x2dc948(_0xcd86c2._0x35bcb7,-0x49c)]=getHtmlByStyle$2(_0x48cabf[_0x2dc948(0xf1,0x2e4)],_0x48cabf['attr']);function _0x2d9e0f(_0x4b38e7,_0x13d51b){return _0x54a7f1(_0x4b38e7-0x7d,_0x13d51b);}super(_0x48cabf);}['_updateStyleBaseHook'](_0x9252fc){const _0x3a61d8={_0x4533dc:0xc79,_0x57bce9:0x1536,_0x16c943:0xf6f,_0x41ee45:0x286,_0x1b69c4:0x1345,_0x90b7b5:0x1082},_0x1d739e={_0x2bf1c4:0x2c4};_0x9252fc['html']&&delete _0x9252fc['html'];function _0x5e877a(_0x95b640,_0x1dcc50){return _0x7afdbe(_0x1dcc50,_0x95b640- -0x379);}function _0x1819ed(_0x139ef2,_0x36e6aa){return _0x7afdbe(_0x36e6aa,_0x139ef2- -_0x1d739e._0x2bf1c4);}return(Cesium__namespace['defined'](_0x9252fc['color'])||Cesium__namespace['defined'](_0x9252fc[_0x1819ed(0xf3e,_0x3a61d8._0x4533dc)])||Cesium__namespace[_0x5e877a(_0x3a61d8._0x57bce9,0xfae)](_0x9252fc[_0x5e877a(_0x3a61d8._0x16c943,0x153e)]))&&(this[_0x5e877a(0x83f,0x584)]=getHtmlByStyle$2(this[_0x5e877a(0x351,-_0x3a61d8._0x41ee45)],this['attr'])),super[_0x5e877a(_0x3a61d8._0x1b69c4,_0x3a61d8._0x90b7b5)](_0x9252fc),this;}}register$5(_0x54a7f1(0x14a5,0xa8a),DivLightPoint,!![]);function getHtmlByStyle$2(_0x566365,_0x1c5519){const _0x24e0c9={_0x142398:0x1ea,_0x24a4c6:0xeaf,_0x568250:0x95,_0x361afc:0x316,_0x5b4beb:0x1061},_0x1367e8={_0x87f29f:0x6c1};function _0x5708b5(_0x367f0d,_0x17d151){return _0x7afdbe(_0x17d151,_0x367f0d- -_0x1367e8._0x87f29f);}function _0x53c2f9(_0x2802aa,_0x375e6e){return _0x54a7f1(_0x375e6e-0x183,_0x2802aa);}return'\x0a\x20\x20<div\x20class=\x22mars3d-animation-point\x22\x20style=\x22color:'+_0x566365['color']+';width:\x20'+_0x566365[_0x5708b5(0xb41,0x6c7)]+'px;height:\x20'+_0x566365['size']+'px;\x22>\x0a\x20\x20\x20\x20'+(_0x566365['billboard']?_0x53c2f9(_0x24e0c9._0x142398,0x4a8)+_0x566365['billboard']['image']+'\x22\x20style=\x22position:\x20absolute;'+getTemplateTranslate(_0x566365[_0x53c2f9(0x17cf,_0x24e0c9._0x24a4c6)])+_0x53c2f9(-_0x24e0c9._0x568250,0x8d2):'')+'\x0a\x20\x20\x20\x20<p></p>\x0a\x20\x20\x20\x20'+(_0x566365[_0x5708b5(0xc27,_0x24e0c9._0x361afc)]?'<div\x20class=\x22mars3d-animation-point-lbl\x22\x20style=\x22color:'+(_0x566365['label']['color']||_0x566365[_0x53c2f9(0x1623,0x1395)])+_0x5708b5(0x11b8,0x1b8b)+template(_0x566365[_0x53c2f9(_0x24e0c9._0x5b4beb,0x123d)]['text'],_0x1c5519,_0x566365['label']['templateEmptyStr']??!![])+_0x5708b5(0x12dd,0xd95):'')+_0x53c2f9(0xa49,0x6fd);}function getTemplateTranslate(_0x25f9ca){const _0x2615b0={_0x70b0dc:0x1743,_0x15af58:0x8c5,_0x5970b2:0x725,_0x28d0f1:0x1686,_0x36576b:0xda0,_0x54eb28:0x5be,_0x321ca5:0x80f,_0x4e3926:0x604,_0x2753ff:0x178},_0x3244f4={_0x4c8a37:0x1a8},_0x4f54a0={_0x1f94ca:0x10f};function _0x427edd(_0x49ab4c,_0x2c3a12){return _0x54a7f1(_0x2c3a12- -_0x4f54a0._0x1f94ca,_0x49ab4c);}let _0x311dae,_0x29ee0d,_0x3f5d5f='';switch(_0x25f9ca[_0x427edd(_0x2615b0._0x70b0dc,0x14bf)]){case'CENTER':case Cesium__namespace['HorizontalOrigin']['CENTER']:_0x311dae='-50%',_0x3f5d5f+='left:50%;';break;case'RIGHT':case Cesium__namespace['HorizontalOrigin']['RIGHT']:_0x311dae=_0x427edd(-0x168,_0x2615b0._0x15af58);break;case'LEFT':case Cesium__namespace[_0x13c906(_0x2615b0._0x5970b2,0x14a)][_0x13c906(0x543,-0x260)]:default:_0x311dae='0';break;}function _0x13c906(_0x1800f7,_0x47a3e0){return _0x54a7f1(_0x1800f7- -_0x3244f4._0x4c8a37,_0x47a3e0);}switch(_0x25f9ca[_0x13c906(0x14b0,0x18c0)]){case _0x13c906(0x111c,0x1005):case Cesium__namespace['VerticalOrigin'][_0x13c906(0x111c,_0x2615b0._0x28d0f1)]:_0x29ee0d='0';break;case'CENTER':case Cesium__namespace['VerticalOrigin']['CENTER']:_0x29ee0d=_0x13c906(_0x2615b0._0x36576b,_0x2615b0._0x54eb28);break;case'BOTTOM':case Cesium__namespace[_0x13c906(_0x2615b0._0x321ca5,_0x2615b0._0x4e3926)]['BOTTOM']:default:_0x29ee0d=_0x427edd(-_0x2615b0._0x2753ff,0x8c5);break;}return _0x25f9ca[_0x13c906(0x129f,0x9ea)]&&(_0x311dae=_0x25f9ca['offsetX']+'px'),_0x25f9ca['offsetY']&&(_0x29ee0d=_0x25f9ca['offsetY']+'px'),'transform:translateX('+_0x311dae+')\x20translateY('+_0x29ee0d+');'+_0x3f5d5f;}const _0xdaf4a9={};_0xdaf4a9[_0x7afdbe(0xc0d,0x1440)]=_0x54a7f1(0xd4b,0xbd6),_0xdaf4a9[_0x7afdbe(0xf5c,0x16aa)]='楷体',_0xdaf4a9[_0x7afdbe(0x12e9,0x1999)]=0xf,_0xdaf4a9['lineHeight']=0x64,_0xdaf4a9[_0x7afdbe(0x1455,0x1781)]=0xa,_0xdaf4a9[_0x54a7f1(0x15ce,0x1224)]=Cesium__namespace[_0x7afdbe(0x134d,0xafb)]['CENTER'],_0xdaf4a9[_0x54a7f1(0x1658,0x184a)]=Cesium__namespace[_0x54a7f1(0x9b7,0xb20)][_0x54a7f1(0x2dc,0x9e2)];const DEF_STYLE$d=_0xdaf4a9;class DivUpLabel extends DivGraphic{constructor(_0x1af6d8={}){const _0x1bab7d={_0x219345:0x675,_0x4c066f:0x359},_0x3bb65c={_0x1c4d5c:0x315};_0x1af6d8['style']={...DEF_STYLE$d,..._0x1af6d8['style']};function _0x481acc(_0x332b48,_0x41aa57){return _0x54a7f1(_0x41aa57- -_0x3bb65c._0x1c4d5c,_0x332b48);}function _0x575988(_0x54cc06,_0x2e131c){return _0x54a7f1(_0x2e131c- -0x4d3,_0x54cc06);}_0x1af6d8['style'][_0x481acc(0xbf3,_0x1bab7d._0x219345)]=getHtmlByStyle$1(_0x1af6d8[_0x575988(_0x1bab7d._0x4c066f,-0x37)],_0x1af6d8['attr']),super(_0x1af6d8);}[_0x7afdbe(0x1fb1,0x16be)](_0x4a0a8c){const _0x453f64={_0x3cc280:0xb32,_0x3c161c:0x14c0,_0x30e570:0x13a6,_0x5d637a:0xd2d,_0x1e5b3e:0x1641,_0x25a663:0xf3a},_0x491282={_0x312c4f:0x1c1};_0x4a0a8c['html']&&delete _0x4a0a8c[_0x367dc9(0x7c9,_0x453f64._0x3cc280)];function _0x18cf1c(_0x3e1df4,_0x3d873f){return _0x54a7f1(_0x3e1df4- -0x40,_0x3d873f);}function _0x367dc9(_0x467555,_0x3ac10c){return _0x54a7f1(_0x467555- -_0x491282._0x312c4f,_0x3ac10c);}return(Cesium__namespace[_0x367dc9(_0x453f64._0x3c161c,_0x453f64._0x30e570)](_0x4a0a8c[_0x367dc9(0x1051,_0x453f64._0x5d637a)])||Cesium__namespace['defined'](_0x4a0a8c['circleSize'])||Cesium__namespace['defined'](_0x4a0a8c[_0x18cf1c(0x172b,0x1fb3)])||Cesium__namespace['defined'](_0x4a0a8c['font_family'])||Cesium__namespace['defined'](_0x4a0a8c[_0x18cf1c(0xb72,0x1629)])||Cesium__namespace[_0x18cf1c(_0x453f64._0x1e5b3e,0xe57)](_0x4a0a8c[_0x367dc9(_0x453f64._0x25a663,0xf25)]))&&(this['html']=getHtmlByStyle$1(this['style'],this['attr'])),super['_updateStyleBaseHook'](_0x4a0a8c),this;}}register$5('divUpLabel',DivUpLabel,!![]);function getHtmlByStyle$1(_0x41ad92,_0x5a919a){const _0x463dc6={_0x5877d2:0x11bf,_0x2df2f5:0x1c27,_0x38866d:0x789,_0x5542a3:0xe10},_0x577fce={_0x48504b:0x29a},_0x4c7b6e={_0x148253:0x229},_0x17e96=_0x41ad92['color'];function _0x2dc175(_0x4c0a4b,_0x3ab9d9){return _0x54a7f1(_0x4c0a4b- -_0x4c7b6e._0x148253,_0x3ab9d9);}function _0x395e26(_0x5aaf34,_0x5260f5){return _0x54a7f1(_0x5aaf34- -_0x577fce._0x48504b,_0x5260f5);}const _0x14e896=_0x41ad92[_0x2dc175(0x132a,_0x463dc6._0x5877d2)];return _0x2dc175(0x14ab,0x1e4c)+_0x17e96+_0x2dc175(0x1236,_0x463dc6._0x2df2f5)+_0x41ad92['font_family']+';font-size:\x20'+_0x41ad92['font_size']+_0x2dc175(_0x463dc6._0x38866d,_0x463dc6._0x5542a3)+template(_0x41ad92['text'],_0x5a919a,!![])+'</div>\x0a\x20\x20\x20\x20<div\x20class=\x22mars3d-divUpLabel-line\x22\x20\x20style=\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20height:\x20'+_0x41ad92['lineHeight']+'px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20'+_0x17e96+';\x22></div>\x0a\x20\x20\x20\x20<div\x20style=\x22border-radius:\x2050%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20width:\x20'+_0x14e896+'px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20height:\x20'+_0x14e896+'px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20margin-left:\x20calc(50%\x20-\x20'+_0x14e896/0x2+'px);\x0a\x20\x20\x20\x20\x20\x20\x20\x20background-color:\x20'+_0x17e96+_0x395e26(0x1421,0xfee);}const _0x533fc6={};_0x533fc6['horizontalOrigin']=Cesium__namespace['HorizontalOrigin'][_0x54a7f1(0x1103,0x19e9)],_0x533fc6['verticalOrigin']=Cesium__namespace[_0x7afdbe(0x1170,0xbe5)]['BOTTOM'];const DEF_STYLE$c=_0x533fc6;class Popup extends DivGraphic{constructor(_0x213cce={}){const _0x3c5769={_0x4bfde9:0x19b1,_0x1d9f5f:0x597,_0x301cba:0x63,_0x416d5e:0x1bc},_0x49ba42={_0x1e5dab:0xe0},_0x5ad3a2={_0x52ff3e:0x319};_0x213cce['eventParent']=_0x213cce['eventParent']??![],_0x213cce['hasEdit']=_0x213cce['hasEdit']??![];function _0x31b418(_0x1e31c3,_0x1793a4){return _0x54a7f1(_0x1e31c3- -_0x5ad3a2._0x52ff3e,_0x1793a4);}function _0x42d6c2(_0x1faa50,_0x25e2f7){return _0x7afdbe(_0x25e2f7,_0x1faa50- -0x1d);}_0x213cce['hasCache']=_0x213cce[_0x31b418(0x1db,0x3f9)]??!![],_0x213cce['animation']=_0x213cce['animation']??!![],_0x213cce[_0x31b418(0x96f,0x5a6)]=_0x213cce['zIndex']??0x989680,_0x213cce['style']={...DEF_STYLE$c,..._0x213cce['style']||{}},super(_0x213cce),this[_0x42d6c2(0x160d,_0x3c5769._0x4bfde9)]=this[_0x31b418(_0x3c5769._0x1d9f5f,_0x3c5769._0x301cba)]['depthTest']??this[_0x42d6c2(0x6ad,_0x3c5769._0x416d5e)]['depthTest']??![],this[_0x42d6c2(0x11f3,0x189f)](EventType[_0x31b418(0x21e,-0x5c3)],()=>{const _0x4d6a37={_0x31544f:0x587};function _0x4f26f0(_0x20e5e6,_0x1a3cd5){return _0x42d6c2(_0x20e5e6- -_0x4d6a37._0x31544f,_0x1a3cd5);}this['_fireTarget_open'](),delete this[_0x4f26f0(-_0x49ba42._0x1e5dab,-0x535)];});}get['target'](){function _0x37783a(_0x27a39a,_0x4247ec){return _0x7afdbe(_0x4247ec,_0x27a39a-0x64);}var _0xc62356;return(_0xc62356=this['options'])===null||_0xc62356===void 0x0?void 0x0:_0xc62356[_0x37783a(0x531,0x19c)];}get['eventTarget'](){const _0x2fadd4={_0x22390a:0x1b8,_0x4c7790:0x88d,_0x299dd3:0xa9b,_0x19c091:0xa17},_0x6892f9={_0x303e1d:0x1eb};var _0x49be5f,_0x436b44;function _0x854633(_0x5687d2,_0x58bca1){return _0x7afdbe(_0x5687d2,_0x58bca1- -0x55b);}function _0x137a3e(_0x28cf95,_0x5224c2){return _0x54a7f1(_0x5224c2-_0x6892f9._0x303e1d,_0x28cf95);}if((_0x49be5f=this['options'])!==null&&_0x49be5f!==void 0x0&&_0x49be5f[_0x854633(0x5c0,_0x2fadd4._0x22390a)])return this[_0x137a3e(_0x2fadd4._0x4c7790,_0x2fadd4._0x299dd3)]['event'];return(_0x436b44=this['options'])!==null&&_0x436b44!==void 0x0&&_0x436b44['target']?this[_0x137a3e(_0x2fadd4._0x19c091,0xa9b)]['target']:this;}[_0x7afdbe(0x1bd0,0x1747)](){const _0x1fa976={_0xf5c000:0x157d,_0x9be9bc:0x12df,_0x27f1fd:0x1477,_0x5564a0:0xa9,_0x284efa:0x76a,_0x28107b:0x67b,_0x2b7f53:0x700},_0x487260={_0x35ef08:0x1f0};let _0x166ff8;this['style']['closeButton']??!![]?_0x166ff8=_0x5e8f03(0xf61,0x1a20):_0x166ff8='';let _0xd056a7='';this[_0x5e8f03(0x68c,0x844)][_0x29ce2f(_0x1fa976._0xf5c000,_0x1fa976._0x9be9bc)]&&(_0xd056a7+='max-width:\x20'+this['style'][_0x5e8f03(0x12f0,0x1c35)]+_0x5e8f03(0x1892,0x144a));function _0x5e8f03(_0x1ee552,_0x422edf){return _0x54a7f1(_0x1ee552-_0x487260._0x35ef08,_0x422edf);}this['style']['minWidth']&&(_0xd056a7+='min-width:\x20'+this['style'][_0x29ce2f(_0x1fa976._0x27f1fd,0xac9)]+_0x5e8f03(0x1892,0x1cbe));this[_0x5e8f03(0x68c,-_0x1fa976._0x5564a0)]['maxHeight']&&(_0xd056a7+='max-height:\x20'+this[_0x29ce2f(_0x1fa976._0x284efa,_0x1fa976._0x28107b)][_0x5e8f03(0x44d,0xed1)]+'px;');function _0x29ce2f(_0x3cc605,_0x5724ea){return _0x7afdbe(_0x3cc605,_0x5724ea- -0x4f);}return'\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22mars3d-popup\x20'+(!this['style'][_0x29ce2f(0xd40,_0x1fa976._0x2b7f53)]&&this['options'][_0x29ce2f(-0xa2,0x999)]?'mars3d-popup-animation':'')+_0x29ce2f(-0x22a,0x5dc)+_0x166ff8+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22mars3d-popup-content-wrapper\x20mars3d-popup-background\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20id=\x22popup-'+this['id']+_0x29ce2f(0x100b,0xf7a)+_0xd056a7+_0x5e8f03(0xf65,0x1121);}['_updateTemplateContentHtml'](_0x16940b){const _0x570b86={_0x5e3cf3:0x1aa1,_0x166422:0x1107},_0x1856d5={_0x175556:0x148},_0x58e4d0=this['_container'][_0x59be55(_0x570b86._0x5e3cf3,_0x570b86._0x166422)]('#popup-'+this['id']);if(_0x58e4d0)return _0x58e4d0['innerHTML']=_0x16940b,!![];function _0x59be55(_0x4d99c4,_0x55b398){return _0x7afdbe(_0x4d99c4,_0x55b398- -_0x1856d5._0x175556);}return![];}['_appendHtmlHook'](){const _0x3c5bdd={_0x33c439:0xaa8},_0x151b9e={_0x1da9e2:0x325,_0xe44c05:0x17a,_0x2af796:0xbb7,_0x287f00:0x1c0},_0x3cad6e={_0xfcd4d7:0x668},_0x15a4a0=this['_container']['querySelector'](_0x440ea1(_0x3c5bdd._0x33c439,0x171));function _0x440ea1(_0x34be99,_0xa2b244){return _0x54a7f1(_0x34be99-0x24f,_0xa2b244);}_0x15a4a0&&_0x15a4a0['addEventListener']('click',_0x2d6e7c=>{function _0x23c27d(_0x2e38b6,_0x4208cb){return _0x440ea1(_0x2e38b6- -0x6b3,_0x4208cb);}this[_0x3d71b2(-_0x151b9e._0x1da9e2,-_0x151b9e._0xe44c05)]&&this['target'][_0x3d71b2(-_0x151b9e._0x2af796,-_0x151b9e._0x287f00)]&&this['target']['closeHighlight']();function _0x3d71b2(_0x55175d,_0x2d6d88){return _0x440ea1(_0x2d6d88- -_0x3cad6e._0xfcd4d7,_0x55175d);}this['remove'](!![]);});}[_0x54a7f1(0x93f,-0x11)](_0x5cde38){if(!this['_map'])return;super['update'](_0x5cde38),this['_fireTarget_render']();}['fireTarget'](_0x519258,_0x1a2066={},_0x3ed6f3=!![]){const _0x546d9c={_0x4fa9c9:0xaf0,_0x5c19e9:0x87e,_0x542067:0x95b,_0x1465f3:0xb74,_0x1f88aa:0x44,_0x4919f6:0xfde,_0x3709e5:0x15b9};function _0x107a1b(_0x2f8719,_0x42e408){return _0x7afdbe(_0x42e408,_0x2f8719- -0x183);}function _0x1ce982(_0x5ae1af,_0x3df0e1){return _0x7afdbe(_0x5ae1af,_0x3df0e1- -0x2fc);}const _0x2fed95=this[_0x107a1b(0x34a,_0x546d9c._0x4fa9c9)]||this[_0x107a1b(_0x546d9c._0x5c19e9,0x12f8)];if(_0x2fed95){if(this[_0x107a1b(_0x546d9c._0x542067,_0x546d9c._0x1465f3)]['event'])for(const _0x701351 in this['options']['event']){if(_0x701351===_0x1ce982(-_0x546d9c._0x1f88aa,0x7e2)||_0x701351==='content')continue;_0x1a2066[_0x701351]=this['options']['event'][_0x701351];}_0x1a2066['sourceTarget']=_0x2fed95,_0x1a2066['attr']=this[_0x1ce982(_0x546d9c._0x4919f6,_0x546d9c._0x3709e5)],_0x1a2066['container']=this['container'],this['_fireBindDataEx'](_0x1a2066),_0x2fed95['fire'](_0x519258,_0x1a2066,_0x3ed6f3);}}['_fireBindDataEx'](_0x51dc6c){_0x51dc6c['popup']=this;}['_addedHook'](_0x291fdf){const _0x5db680={_0x4a5117:0xad},_0xfc1bf4={_0xafaa4c:0x60b,_0x53a328:0x1280,_0x144b04:0x179,_0x32a690:0x175f},_0x10a74c={_0x2361a9:0x452};function _0x43ce78(_0x13a7a9,_0x4bcbd6){return _0x54a7f1(_0x13a7a9- -0x2b0,_0x4bcbd6);}function _0x4ffe7b(_0xc3cd16,_0x1891bf){return _0x54a7f1(_0x1891bf-0x17b,_0xc3cd16);}super['_addedHook'](_0x291fdf),this['once'](EventType[_0x4ffe7b(_0x5db680._0x4a5117,0x76c)],_0x1b7c93=>{function _0x36456e(_0x116607,_0x3bfee5){return _0x4ffe7b(_0x3bfee5,_0x116607- -_0x10a74c._0x2361a9);}function _0x34b718(_0x215110,_0x69fc6){return _0x4ffe7b(_0x215110,_0x69fc6- -0x669);}if(this[_0x36456e(0x5d9,0xe37)][_0x34b718(0xc6e,0x87d)]&&this[_0x34b718(0x5fa,0x2e5)]){let _0x131f93=![];_0x1b7c93['y']<0x0&&(_0x131f93=!![]);_0x1b7c93['x']<0x0&&(_0x131f93=!![]);_0x1b7c93['x']>this['_map']['scene'][_0x36456e(_0xfc1bf4._0xafaa4c,-0x158)][_0x36456e(0x122,0x52)]-_0x1b7c93['width']&&(_0x131f93=!![]);if(_0x131f93){const _0x1470f7=_0x1b7c93[_0x36456e(_0xfc1bf4._0x53a328,0xfd7)]/0x2+_0x1b7c93['x'],_0x20ce50=_0x1b7c93[_0x34b718(0x560,_0xfc1bf4._0x144b04)]/0x2+_0x1b7c93['y'],_0x116c89=new Cesium__namespace[(_0x34b718(_0xfc1bf4._0x32a690,0x1216))](_0x1470f7,_0x20ce50),_0x508811=getCurrentMouseTerrainPosition(this['_map']['scene'],_0x116c89);this['_map']['flyToPoint'](_0x508811);}}}),this['target']&&this[_0x43ce78(-0x11,-0x1cd)]['on'](EventType[_0x43ce78(0x4c0,0xd5c)],this[_0x4ffe7b(-0x15b,0x965)],this);}[_0x7afdbe(0x5b9,0xc7d)](){const _0x13d4ea={_0x4eee62:0xec0,_0x18638a:0x9dc},_0xd59a3e={_0xe17a33:0x52f},_0x293759={_0x51d5a1:0x2a1};this['target']&&this['target']['off'](EventType['updatePosition'],this['_graphic_updatePosition'],this);function _0xb93da(_0x262e01,_0x363cef){return _0x7afdbe(_0x363cef,_0x262e01- -_0x293759._0x51d5a1);}this[_0x3ac614(_0x13d4ea._0x4eee62,0xe4b)]();function _0x3ac614(_0x5ce511,_0x124db2){return _0x7afdbe(_0x124db2,_0x5ce511- -_0xd59a3e._0xe17a33);}super[_0xb93da(_0x13d4ea._0x18638a,0xfeb)]();}[_0x7afdbe(0x4c2,0xa18)](_0x48df27){const _0xf9ce3f={_0x4c3283:0x7ac,_0x17d12c:0x777};function _0x3f8e29(_0x5e5b81,_0x2e97b9){return _0x54a7f1(_0x5e5b81- -0x11f,_0x2e97b9);}function _0x49f3ed(_0x4ea9a3,_0x2e5630){return _0x54a7f1(_0x2e5630- -0x154,_0x4ea9a3);}var _0x351bcc;(_0x351bcc=_0x48df27[_0x3f8e29(0x4a9,-0x40d)])!==null&&_0x351bcc!==void 0x0&&_0x351bcc[_0x3f8e29(_0xf9ce3f._0x4c3283,0x62f)]&&(this['position']=_0x48df27['graphic'][_0x49f3ed(-0x32d,_0xf9ce3f._0x17d12c)]());}['_fireTarget_open'](){const _0xaf4d65={_0x5b7a2c:0x18fc,_0x14d6c8:0x1ca4},_0x697c44={_0x223302:0x39};function _0x2fba85(_0x9dce2d,_0x2e23ca){return _0x7afdbe(_0x9dce2d,_0x2e23ca- -0x136);}function _0x3db3a3(_0x953ce0,_0x5265c4){return _0x7afdbe(_0x5265c4,_0x953ce0- -_0x697c44._0x223302);}this[_0x2fba85(-0x24e,0x546)](EventType[_0x3db3a3(_0xaf4d65._0x5b7a2c,_0xaf4d65._0x14d6c8)]);}[_0x7afdbe(0x1795,0x13ef)](){const _0x6c19d7={_0x210524:0x2c9,_0xeb0aab:0x784},_0x5e1878={_0x2b64ab:0x81};function _0x155349(_0x3cc182,_0x1fde11){return _0x7afdbe(_0x3cc182,_0x1fde11- -_0x5e1878._0x2b64ab);}this['fireTarget'](EventType[_0x155349(-_0x6c19d7._0x210524,_0x6c19d7._0xeb0aab)]);}[_0x7afdbe(-0x268,0x5ce)](){const _0x2d47f7={_0x49dea3:0xb84},_0x5035be={_0x241cb3:0x2db};function _0x56f929(_0x12bda0,_0x3cc690){return _0x7afdbe(_0x3cc690,_0x12bda0- -0x11);}function _0x3715e0(_0x378e69,_0x1cf96a){return _0x7afdbe(_0x378e69,_0x1cf96a- -_0x5035be._0x241cb3);}this[_0x56f929(0x66b,-0x436)](EventType['popupRender'],{'container':this[_0x3715e0(_0x2d47f7._0x49dea3,0xb50)]});}['_closeAllControl'](){}[_0x54a7f1(0xd47,0xea7)](){}['_container_onMousedownHandler'](){}[_0x54a7f1(0x1673,0x103e)](){}['_container_onMouseoutHandler'](){}[_0x7afdbe(0xb5c,0x1327)](){const _0x3b7953={_0x95cd44:0x82d,_0x34e374:0xb06,_0x2fdd92:0xff2};function _0x565953(_0x2230eb,_0x3ddf58){return _0x7afdbe(_0x2230eb,_0x3ddf58- -0x625);}function _0x5380e5(_0x6d98e4,_0x93fb38){return _0x54a7f1(_0x93fb38-0x256,_0x6d98e4);}return this[_0x5380e5(_0x3b7953._0x95cd44,_0x3b7953._0x34e374)][_0x565953(0xe89,_0x3b7953._0x2fdd92)]??!![];}[_0x7afdbe(0x14d2,0x100f)](_0x4bd2eb){}}register$5('popup',Popup);class Tooltip extends Popup{['_getDefaultTemplate'](){function _0x3b4ff7(_0x244493,_0x1f7215){return _0x7afdbe(_0x244493,_0x1f7215- -0x720);}return'<div\x20id=\x22tooltip-'+this['id']+_0x3b4ff7(0x1581,0xb3d);}[_0x54a7f1(0x11f2,0x166b)](){super['_appendHtmlHook'](),this['_containerTooltip']=this['_container']['querySelector']('#tooltip-'+this['id']);}['_updateTemplateContentHtml'](_0x7f949d){const _0x497c19={_0x151994:0x3b6,_0x424bd5:0xe1d,_0x1f55d0:0x1305};if(this[_0x5bd1e4(_0x497c19._0x151994,-0x1d2)])return this['_containerTooltip'][_0x5bd1e4(_0x497c19._0x424bd5,_0x497c19._0x1f55d0)]=_0x7f949d,!![];function _0x5bd1e4(_0xf124eb,_0x195837){return _0x54a7f1(_0xf124eb- -0x3f8,_0x195837);}function _0x4071d0(_0xcaa69f,_0x1a0f6c){return _0x54a7f1(_0xcaa69f- -0x21b,_0x1a0f6c);}return![];}[_0x54a7f1(0xbdb,0x38f)](_0x309f3b){function _0x1ce5b5(_0x28e3cc,_0x3a052c){return _0x54a7f1(_0x28e3cc- -0x162,_0x3a052c);}_0x309f3b[_0x1ce5b5(0x784,0xcc5)]=this;}[_0x7afdbe(0x3aa,0x811)](){const _0x369f97={_0x3164a1:0x3e0,_0x3e0146:0x1b1,_0x38ef23:0xa1f};function _0x543a1e(_0x490d99,_0x14532a){return _0x7afdbe(_0x14532a,_0x490d99- -0x29c);}function _0x1520f1(_0x33d261,_0x13725f){return _0x7afdbe(_0x33d261,_0x13725f- -0x669);}this[_0x543a1e(_0x369f97._0x3164a1,0x2c9)](EventType[_0x543a1e(_0x369f97._0x3e0146,_0x369f97._0x38ef23)]);}[_0x7afdbe(0x1ade,0x13ef)](){const _0x7a9b55={_0x18e42a:0x5e},_0x5a8b07={_0x5367f8:0x61e};function _0x1d632e(_0x2ba596,_0x10771a){return _0x7afdbe(_0x2ba596,_0x10771a- -_0x5a8b07._0x5367f8);}this[_0x1d632e(-0x314,_0x7a9b55._0x18e42a)](EventType['tooltipClose']);}[_0x54a7f1(0x3a0,0x4db)](){const _0x4a178a={_0x514ca7:0x688};function _0x21c4ad(_0x34b5cb,_0x363933){return _0x7afdbe(_0x363933,_0x34b5cb- -0x43c);}this[_0x21c4ad(0x240,_0x4a178a._0x514ca7)](EventType['tooltipRender'],{'container':this['container']});}['_getDivOffset'](_0x1b88ac){const _0x543847={_0x42959e:0x1532,_0x36c284:0x14fd,_0x1ae72c:0x137a,_0x9fa4bb:0xcc8,_0x5d023a:0x137a,_0x25c38d:0xbd0,_0x3bd278:0xa4a,_0x3e8d48:0x11de,_0xad71d9:0x10fb,_0x4f6680:0x815,_0x512a52:0x240,_0xb33f75:0x1248,_0x33f564:0x9fe,_0x1f4612:0x177d,_0x151535:0x141e},_0x457a00={_0x1b64cc:0x2fb};if(Cesium__namespace['defined'](this[_0x473772(0x3cf,0xbb7)][_0x473772(_0x543847._0x42959e,_0x543847._0x36c284)]))return super['_getDivOffset'](_0x1b88ac);function _0x473772(_0x217d0a,_0x381487){return _0x7afdbe(_0x381487,_0x217d0a- -_0x457a00._0x1b64cc);}const _0x185021=this['divHeight'],_0x409f9e=this[_0x5eda1c(0x14d6,0x1571)],_0x4ec6a9=0xa;let _0x432815=this['style'][_0x473772(_0x543847._0x1ae72c,_0x543847._0x9fa4bb)]??this['options'][_0x473772(_0x543847._0x5d023a,0xf60)]??0x0,_0x262d55=this['style'][_0x5eda1c(0xaed,_0x543847._0x25c38d)]??this['options']['offsetY']??0x0,_0x411106=this[_0x473772(0x3cf,_0x543847._0x3bd278)][_0x5eda1c(0xe94,0xac8)];!Cesium__namespace['defined'](_0x411106)&&(_0x1b88ac['y']<_0x185021+_0x4ec6a9?_0x411106=_0x5eda1c(0xa68,_0x543847._0x3e8d48):_0x411106=_0x5eda1c(_0x543847._0xad71d9,0x141e),_0x1b88ac['x']<_0x409f9e+_0x4ec6a9&&(_0x411106='right'),_0x1b88ac['x']>this['_map']['scene'][_0x473772(_0x543847._0x4f6680,-0x211)]['clientWidth']-_0x409f9e-_0x4ec6a9&&(_0x411106='left'),this['_direction_last']&&removeClass(this[_0x473772(0x6e1,-_0x543847._0x512a52)],'mars3d-tooltip-'+this[_0x473772(_0x543847._0xb33f75,0x118f)]),this['_direction_last']=_0x411106,addClass(this['_containerTooltip'],'mars3d-tooltip-'+_0x411106));switch(_0x411106){case'center':_0x432815+=-_0x409f9e/0x2,_0x262d55+=-_0x185021/0x2;break;case'right':_0x432815+=_0x4ec6a9,_0x262d55+=-_0x185021/0x2;break;case _0x473772(_0x543847._0x33f564,0x65d):_0x432815+=-_0x409f9e-_0x4ec6a9,_0x262d55+=-_0x185021/0x2;break;case'bottom':_0x432815+=-_0x409f9e/0x2,_0x262d55+=_0x4ec6a9;break;case _0x5eda1c(_0x543847._0x1f4612,_0x543847._0x151535):default:_0x432815+=-_0x409f9e/0x2,_0x262d55+=-_0x185021-_0x4ec6a9;break;}const _0x471edf={};_0x471edf['height']=_0x185021,_0x471edf['width']=_0x409f9e;function _0x5eda1c(_0x4762ab,_0x44459d){return _0x7afdbe(_0x4762ab,_0x44459d- -0x38c);}return _0x471edf[_0x473772(0x12a0,0xd44)]=_0x432815,_0x471edf[_0x473772(0x7d7,0x82)]=_0x262d55,_0x471edf;}}register$5('tooltip',Tooltip);const _0x3e3c89={};_0x3e3c89[_0x7afdbe(0x116c,0x195f)]=0x5a,_0x3e3c89[_0x54a7f1(0x130f,0x1852)]=0x1;const DEF_STYLE$b=_0x3e3c89;class DivPlane extends DivGraphic{constructor(_0x3d429e={}){const _0x2efed8={_0x28ea46:0x239};_0x3d429e[_0x2e24b0(-_0x2efed8._0x28ea46,0x3ca)]={...DEF_STYLE$b,..._0x3d429e['style']};function _0x2e24b0(_0x494292,_0x3e562f){return _0x54a7f1(_0x3e562f- -0xd2,_0x494292);}super(_0x3d429e);}get[_0x7afdbe(0xeee,0x182e)](){return this['_orientation']||this['options']['orientation'];}set[_0x54a7f1(0x1600,0x1823)](_0x56cd70){this['_orientation']=_0x56cd70;}get['isDynamicProperty'](){const _0x43065d={_0x1a5c13:0x69a,_0x1138f6:0xa01,_0x378889:0x71e,_0x209cc7:0xc6f},_0x27e664={_0x398f5f:0x1d3},_0x43ab54={_0x1482db:0x5ca};function _0x183065(_0x13465c,_0x269c47){return _0x7afdbe(_0x13465c,_0x269c47- -_0x43ab54._0x1482db);}function _0x3eeb18(_0x2f23c2,_0xccf607){return _0x54a7f1(_0xccf607- -_0x27e664._0x398f5f,_0x2f23c2);}if(this[_0x183065(_0x43065d._0x1a5c13,_0x43065d._0x1138f6)]||this[_0x3eeb18(_0x43065d._0x378889,0xfc2)]||this['distanceDisplayCondition'])return!![];const _0x3d5bf9=this[_0x3eeb18(0x1c74,0x150e)];if(_0x3d5bf9 instanceof Cesium__namespace['CallbackProperty']||_0x3d5bf9 instanceof Cesium__namespace[_0x183065(0x331,_0x43065d._0x209cc7)])return!![];return![];}[_0x54a7f1(0xb48,0xfa1)](_0x5aaf05){const _0x4554fb={_0x34f265:0x1539,_0xf52514:0x976,_0x1f3b0f:0xa5e};function _0x4cf034(_0x199ed2,_0x59b3d8){return _0x7afdbe(_0x59b3d8,_0x199ed2- -0x147);}super[_0x13f936(0xceb,_0x4554fb._0x34f265)](_0x5aaf05);function _0x13f936(_0x329d0a,_0x34cd16){return _0x54a7f1(_0x329d0a-0x1a3,_0x34cd16);}!_0x5aaf05&&this[_0x13f936(0xae2,0xca4)](this[_0x13f936(_0x4554fb._0xf52514,_0x4554fb._0x1f3b0f)][_0x4cf034(0x1166,0x14f0)][_0x4cf034(0x142e,0x141d)]);}['_mountedHook'](){initParentContainer(this['_layer']),super['_mountedHook']();}['_addedHook'](_0x556cfc){super['_addedHook'](_0x556cfc),this['_updateDivPosition']();}[_0x7afdbe(0x210c,0x1747)](){const _0x5531bc={_0x571eeb:0x15d};function _0x221f6c(_0xa4a1a8,_0x32b78b){return _0x7afdbe(_0x32b78b,_0xa4a1a8- -_0x5531bc._0x571eeb);}return'<div\x20id=\x22divPlane-'+this['id']+'\x22\x20style=\x22position:\x20absolute;\x20transform:'+this[_0x221f6c(0x9d6,0xddf)]()+';\x20\x22>{content}</div>';}[_0x54a7f1(0x1490,0x124e)](_0x21ca5a){const _0x1834e8={_0x3b7653:0x1246,_0x1c8034:0x1ca3,_0x2d43f7:0x1a05,_0x14d792:0x12ef,_0xf7a57:0x1c3b,_0x837cce:0x118},_0x532d72={_0x23b600:0x33b},_0x18035d={_0x5ebf81:0x669};function _0x287bcc(_0x1edf0a,_0x3a4d3b){return _0x7afdbe(_0x3a4d3b,_0x1edf0a- -_0x18035d._0x5ebf81);}super['_updateStyleBaseHook'](_0x21ca5a);function _0x2538ea(_0x586f79,_0x233ceb){return _0x7afdbe(_0x233ceb,_0x586f79- -_0x532d72._0x23b600);}if(Cesium__namespace[_0x287bcc(_0x1834e8._0x3b7653,_0x1834e8._0x1c8034)](_0x21ca5a[_0x287bcc(0x1193,_0x1834e8._0x2d43f7)])||Cesium__namespace[_0x287bcc(0x1246,_0x1834e8._0x14d792)](_0x21ca5a[_0x287bcc(0x121d,_0x1834e8._0xf7a57)])){const _0x2e2135=this[_0x2538ea(0x57e,_0x1834e8._0x837cce)]['querySelector']('#divPlane-'+this['id']);_0x2e2135&&(_0x2e2135['style']['transform']=this['_getTemplateTranslate']());}}[_0x54a7f1(0x905,0x1215)](){const _0x1380e5={_0x52ce7b:0xd27,_0x5e5373:0x42c,_0x5425b0:0x10a6,_0x987462:0x100,_0x50aa9f:0x785,_0x15d6fc:0x14a,_0x27d42f:0x9dc},_0x48cfb8={_0x2534af:0x60a};let _0x45b2f9;function _0x25e5bd(_0x44a602,_0x3d777a){return _0x54a7f1(_0x44a602- -0x352,_0x3d777a);}let _0x1025d3;switch(this['style'][_0x25e5bd(0x127c,0x189c)]){case'CENTER':case Cesium__namespace['HorizontalOrigin'][_0x2265ba(_0x1380e5._0x52ce7b,0xe71)]:_0x45b2f9=_0x25e5bd(0xbf6,_0x1380e5._0x5e5373);break;case'RIGHT':case Cesium__namespace['HorizontalOrigin']['RIGHT']:_0x45b2f9='-100%';break;case'LEFT':case Cesium__namespace['HorizontalOrigin']['LEFT']:default:_0x45b2f9='0';break;}switch(this['style']['verticalOrigin']){case'TOP':case Cesium__namespace[_0x25e5bd(0x665,_0x1380e5._0x5425b0)]['TOP']:_0x1025d3='0';break;case'CENTER':case Cesium__namespace['VerticalOrigin']['CENTER']:_0x1025d3='-50%';break;case _0x2265ba(-_0x1380e5._0x987462,0x317):case Cesium__namespace[_0x25e5bd(0x665,0x38b)][_0x2265ba(-_0x1380e5._0x987462,-_0x1380e5._0x50aa9f)]:default:_0x1025d3='-100%';break;}this[_0x25e5bd(0x14a,-0x332)]['offsetX']&&(_0x45b2f9=this[_0x25e5bd(_0x1380e5._0x15d6fc,-0x3ae)]['offsetX']+'px');this['style'][_0x25e5bd(_0x1380e5._0x27d42f,0x902)]&&(_0x1025d3=this['style']['offsetY']+'px');function _0x2265ba(_0xaa7374,_0xff2b0c){return _0x7afdbe(_0xff2b0c,_0xaa7374- -_0x48cfb8._0x2534af);}return _0x2265ba(0x1210,0x825)+_0x45b2f9+')\x20translateY('+_0x1025d3+')';}['_updateDivPosition'](){const _0x2c518d={_0x38e9c5:0x13f3,_0x51573b:0x15d6,_0xcb832c:0xf4b,_0x9532b3:0x101f,_0x551d3f:0x582,_0x508df3:0xbf4,_0x146058:0x43c,_0x42a9f1:0xb3e,_0x2322ab:0xfe4,_0x329b83:0x14bc,_0x3fb404:0xf9,_0x86d65:0x553,_0x56b044:0xdd8,_0x23e716:0x203,_0x5c8b7a:0x341,_0x35b6f0:0xe82,_0x467fe7:0x904,_0x2af8ca:0x52a,_0x3c501e:0x5e0,_0x53ec35:0x3f1,_0x4334ea:0x1627,_0x5dbd68:0x5ae,_0x2eab07:0x134a,_0x3639b9:0x43c,_0x162c65:0xf33,_0x43b59c:0xbdd};var _0x959732;if(!this['getRealShow']())return![];const _0x3eb534=this[_0x560883(0x831,0x728)]['scene'],_0x49b3a4=this['_map']['camera'];let _0x4a979c=getPositionValue(this['position'],(_0x959732=this['_map'])===null||_0x959732===void 0x0?void 0x0:_0x959732['clock'][_0x4ed812(0x183e,_0x2c518d._0x38e9c5)]);if(!Cesium__namespace['defined'](_0x4a979c))return this['hide'](),![];if(!this[_0x560883(0xc12,0x14e0)]){const _0x1ffb52=this[_0x560883(0x730,0x3f1)]['heightReference'];(this['style']['clampToGround']||Cesium__namespace[_0x560883(0x12c8,_0x2c518d._0x51573b)](_0x1ffb52)&&_0x1ffb52!==Cesium__namespace['HeightReference'][_0x560883(0x1546,_0x2c518d._0xcb832c)])&&(_0x4a979c=getSurfacePosition(this['_map'][_0x4ed812(0x69e,_0x2c518d._0x9532b3)],_0x4a979c,this['style']));}this['_position_show']=_0x4a979c;const _0x28268d=this[_0x560883(_0x2c518d._0x551d3f,_0x2c518d._0x508df3)];let _0x511c12=_0x49b3a4['positionCartographic']['height'];(this['_hasZIndex']||_0x28268d)&&(_0x3eb534['mode']===Cesium__namespace['SceneMode']['SCENE3D']&&(_0x511c12=Cesium__namespace[_0x560883(0x1205,0x123c)][_0x560883(0x1094,0x11e6)](_0x4a979c,_0x49b3a4['positionWC'])));if(_0x28268d&&(_0x28268d['near']>_0x511c12||_0x28268d['far']<_0x511c12))return this['_container'][_0x4ed812(-0x59b,_0x2c518d._0x146058)]['display']==='block'&&this[_0x4ed812(_0x2c518d._0x42a9f1,0x38c)](),![];if(this['depthTest']&&_0x3eb534['mode']===Cesium__namespace[_0x4ed812(-0xaf,0x872)][_0x560883(_0x2c518d._0x2322ab,_0x2c518d._0x329b83)]){const _0x1c07b0=this[_0x560883(_0x2c518d._0x3fb404,_0x2c518d._0x86d65)](_0x4a979c);if(!_0x1c07b0)return this['_container']['style']['display']===_0x4ed812(_0x2c518d._0x56b044,0x5ae)&&this[_0x560883(-_0x2c518d._0x23e716,_0x2c518d._0x5c8b7a)](),![];}function _0x4ed812(_0x435695,_0x46e3af){return _0x7afdbe(_0x435695,_0x46e3af- -0x28e);}this['_container']['style'][_0x560883(_0x2c518d._0x35b6f0,0x1627)]!==_0x4ed812(_0x2c518d._0x467fe7,0x5ae)&&(this[_0x560883(_0x2c518d._0x2af8ca,_0x2c518d._0x3c501e)][_0x560883(0x33f,_0x2c518d._0x53ec35)][_0x560883(0x1ad4,_0x2c518d._0x4334ea)]=_0x4ed812(0x1040,_0x2c518d._0x5dbd68));const _0x1fbcbe=this[_0x560883(_0x2c518d._0x2eab07,0xf02)](_0x4a979c,this['_orientation']);this['_container'][_0x4ed812(0x58b,_0x2c518d._0x3639b9)]['transform']=getObjectCSSMatrix(_0x1fbcbe);let _0x20ac98=this[_0x560883(_0x2c518d._0x162c65,0x805)]['zIndex']??'auto';this['_hasZIndex']&&(_0x20ac98=Math[_0x560883(0x1337,0x127e)](0x98967f-_0x511c12),_0x20ac98<=0x0&&(_0x20ac98=0x98967f));function _0x560883(_0x378ce9,_0x55a742){return _0x7afdbe(_0x378ce9,_0x55a742- -0x2d9);}this['_container'][_0x4ed812(0x3a5,0x43c)][_0x560883(0x126b,_0x2c518d._0x43b59c)]=_0x20ac98;}[_0x54a7f1(0xfad,0xa85)](_0x22a242,_0x1cf1be){const _0x1ef275={_0x3e090c:0x96b,_0x3c116c:0x15f5,_0x3e47c6:0x1804,_0x49bb14:0x392,_0x1d5e88:0x90d,_0x2f25f5:0x85f,_0x308b50:0x1754,_0x10d9a6:0x216d,_0x38fc30:0x536,_0x3a1c02:0x5d6,_0x5aec15:0x17bb,_0x57138d:0x1765,_0x4d57a0:0xa81,_0x44bf16:0x1706,_0x505a41:0x16c2,_0x5eb900:0x103a,_0x395a22:0x8cd};function _0x11f140(_0x2f5d0d,_0x41406d){return _0x54a7f1(_0x41406d-0x13a,_0x2f5d0d);}if(!_0x22a242)return Cesium__namespace[_0x11f140(0x3da,0x512)]['IDENTITY'];let _0x4ff89a=Cesium__namespace[_0x11f140(0x131a,0x13e6)]['toRadians'](this[_0x11f140(_0x1ef275._0x3e090c,0x5d6)]['heading']||0x0),_0x26f678=Cesium__namespace['Math'][_0x59ee47(_0x1ef275._0x3c116c,0x1b3f)](this['style']['pitch']||0x0),_0x3fea7c=Cesium__namespace['Math']['toRadians'](this[_0x11f140(0xc97,0x5d6)][_0x59ee47(_0x1ef275._0x3e47c6,0x1808)]||0x0);if(_0x1cf1be){if(_0x1cf1be[_0x11f140(0x14b0,0xc2c)]){var _0x5e1aee;_0x1cf1be=_0x1cf1be['getValue']((_0x5e1aee=this[_0x11f140(_0x1ef275._0x49bb14,_0x1ef275._0x1d5e88)])===null||_0x5e1aee===void 0x0||(_0x5e1aee=_0x5e1aee['clock'])===null||_0x5e1aee===void 0x0?void 0x0:_0x5e1aee['currentTime']);}if(_0x1cf1be){const _0x232a0a=getHeadingPitchRollByOrientation(_0x22a242,_0x1cf1be);this['style'][_0x11f140(-0xa9,0x5aa)]?(_0x4ff89a+=_0x232a0a[_0x11f140(_0x1ef275._0x2f25f5,0x447)],_0x3fea7c+=_0x232a0a['roll'],_0x26f678+=_0x232a0a['pitch']):(!Cesium__namespace[_0x59ee47(_0x1ef275._0x308b50,_0x1ef275._0x10d9a6)](this[_0x11f140(_0x1ef275._0x38fc30,_0x1ef275._0x3a1c02)]['heading'])&&(_0x4ff89a=_0x232a0a['heading']),!Cesium__namespace[_0x11f140(0x1db9,_0x1ef275._0x5aec15)](this[_0x11f140(-0x114,0x5d6)]['roll'])&&(_0x3fea7c=_0x232a0a[_0x59ee47(0x1804,0x1de0)]),!Cesium__namespace['defined'](this['style']['pitch'])&&(_0x26f678=_0x232a0a[_0x59ee47(_0x1ef275._0x57138d,0x162f)]));}}this['_heading_reality']=_0x4ff89a,this[_0x59ee47(_0x1ef275._0x4d57a0,0x295)]=_0x26f678;function _0x59ee47(_0x6480bf,_0x426a20){return _0x54a7f1(_0x6480bf-0xd3,_0x426a20);}this[_0x59ee47(_0x1ef275._0x44bf16,_0x1ef275._0x505a41)]=_0x3fea7c;const _0x50e9f1=Cesium__namespace[_0x59ee47(0x840,0xa1c)][_0x11f140(_0x1ef275._0x5eb900,0xd78)](_0x22a242,new Cesium__namespace[(_0x11f140(_0x1ef275._0x395a22,0xc9c))](_0x4ff89a,_0x26f678,_0x3fea7c),Cesium__namespace['Ellipsoid']['WGS84'],this['options']['fixedFrameTransform']),_0x19624c=this['style']['scale'];return Cesium__namespace['defined'](_0x19624c)&&_0x19624c!==0x1&&Cesium__namespace['Matrix4'][_0x59ee47(0x3eb,-0x5e0)](_0x50e9f1,new Cesium__namespace['Cartesian3'](_0x19624c,_0x19624c,_0x19624c),_0x50e9f1),_0x50e9f1;}['bindUpdateEvent'](){}get['parentContainer'](){return this['_layer']['_container_camera'];}}register$5(_0x54a7f1(0x394,0xac2),DivPlane,!![]);function initParentContainer(_0x40f37a){const _0x20a5b8={_0x401817:0xe5e,_0x4edd04:0x1271,_0x5f597b:0x1d7,_0x4876b9:0x5aa,_0x14ea0b:0x1665,_0x7177cf:0x5c,_0x5b4b7c:0x44a},_0x1ccd22={_0x3df3ec:0xec2,_0x3aaa64:0x9c3,_0x1aa60a:0x187,_0x53a85b:0x24f,_0x2d5f3d:0xb8},_0x4ce17d={_0x1c0f2a:0x904},_0xfdced4={_0x4e088c:0x2c3},_0xa81bc9={_0x375782:0x52};if(_0x40f37a['_initDivPlane'])return;_0x40f37a['_initDivPlane']=!![];const _0xa8ab88=_0x40f37a[_0x154464(0x106e,0x8e1)][_0x154464(_0x20a5b8._0x401817,0x669)],_0x2037ae=_0x40f37a['_map']['container'],_0x31f20b=_0x40f37a['container'];_0x31f20b[_0x154464(-0xb0,0x5aa)][_0x500af0(0x168f,0x2130)]=_0x154464(0x7f6,_0x20a5b8._0x4edd04),_0x31f20b['style']['top']='0',_0x31f20b['style']['left']='0';function _0x500af0(_0x256e23,_0x3a9630){return _0x54a7f1(_0x256e23- -_0xa81bc9._0x375782,_0x3a9630);}_0x31f20b[_0x154464(-_0x20a5b8._0x5f597b,_0x20a5b8._0x4876b9)][_0x154464(0x1c51,_0x20a5b8._0x14ea0b)]='100%',_0x31f20b['style']['height']=_0x500af0(0x343,_0x20a5b8._0x7177cf),_0x31f20b['style']['pointerEvents']='none',_0x31f20b['style']['overflow']='hidden';const _0x2576c2=create$4('div','mars3d-divlayer-camera',_0x31f20b);_0x2576c2['style']['transformStyle']='preserve-3d',_0x2576c2[_0x500af0(_0x20a5b8._0x5b4b7c,0x219)]['width']='100%',_0x2576c2['style'][_0x500af0(0x615,0x6db)]='100%',_0x2576c2[_0x500af0(0x44a,-0x2e9)]['pointerEvents']='none',_0x40f37a['_container_camera']=_0x2576c2;let _0x4927df;function _0x154464(_0x50bf69,_0x452839){return _0x7afdbe(_0x50bf69,_0x452839- -0x120);}_0x40f37a['update']=function(_0x9694c9){const _0x300029={_0x59025b:0x2ab},_0x1250f4=_0x2037ae['clientHeight']/0x2,_0x4ce57f=_0x2037ae['clientWidth']/0x2;function _0x2ed522(_0x1e7a66,_0x2dc374){return _0x500af0(_0x1e7a66- -_0xfdced4._0x4e088c,_0x2dc374);}const _0x315746=_0xa8ab88['frustum']['projectionMatrix'][0x5]*_0x1250f4+'px';function _0x215580(_0x535f42,_0x3d2165){return _0x500af0(_0x535f42- -_0x300029._0x59025b,_0x3d2165);}_0x31f20b['style'][_0x2ed522(_0x1ccd22._0x3df3ec,0xae4)]=_0x315746;const _0x3336af=getCameraCSSMatrix(_0xa8ab88[_0x2ed522(0x6f8,0x77e)]),_0x218e1f='translateZ('+_0x315746+')\x20'+_0x3336af+'\x20translate('+_0x4ce57f+_0x215580(_0x1ccd22._0x3aaa64,0xd48)+_0x1250f4+'px)';_0x4927df!==_0x218e1f&&(_0x2576c2[_0x2ed522(_0x1ccd22._0x1aa60a,_0x1ccd22._0x53a85b)][_0x2ed522(-0x83,-_0x1ccd22._0x2d5f3d)]=_0x218e1f,_0x4927df=_0x218e1f),this[_0x215580(0x67e,0xc0a)](_0x1e27b7=>{const _0x16235e={_0xf1ed71:0x188};function _0x141c11(_0x48dc1d,_0x14c597){return _0x215580(_0x14c597- -_0x16235e._0xf1ed71,_0x48dc1d);}function _0x294fda(_0x40fbc3,_0x145e40){return _0x2ed522(_0x145e40- -0x19f,_0x40fbc3);}_0x1e27b7[_0x294fda(-0x675,0x197)]&&_0x1e27b7[_0x141c11(_0x4ce17d._0x1c0f2a,0x4ba)](_0x9694c9);});},_0x40f37a['bindUpdateEvent']();}function getObjectCSSMatrix(_0x54a805){return'matrix3d('+formatNum(_0x54a805[0x0])+','+formatNum(_0x54a805[0x1])+','+formatNum(_0x54a805[0x2])+','+formatNum(_0x54a805[0x3])+','+formatNum(-_0x54a805[0x4])+','+formatNum(-_0x54a805[0x5])+','+formatNum(-_0x54a805[0x6])+','+formatNum(-_0x54a805[0x7])+','+formatNum(_0x54a805[0x8])+','+formatNum(_0x54a805[0x9])+','+formatNum(_0x54a805[0xa])+','+formatNum(_0x54a805[0xb])+','+formatNum(_0x54a805[0xc])+','+formatNum(_0x54a805[0xd])+','+formatNum(_0x54a805[0xe])+','+formatNum(_0x54a805[0xf])+')';}function getCameraCSSMatrix(_0x1f4205){const _0x30d59c={_0x5ca48d:0x11cf};function _0x503a3b(_0x3b22ce,_0x118457){return _0x54a7f1(_0x3b22ce- -0x4fc,_0x118457);}return _0x503a3b(_0x30d59c._0x5ca48d,0x15fe)+formatNum(_0x1f4205[0x0])+','+formatNum(-_0x1f4205[0x1])+','+formatNum(_0x1f4205[0x2])+','+formatNum(_0x1f4205[0x3])+','+formatNum(_0x1f4205[0x4])+','+formatNum(-_0x1f4205[0x5])+','+formatNum(_0x1f4205[0x6])+','+formatNum(_0x1f4205[0x7])+','+formatNum(_0x1f4205[0x8])+','+formatNum(-_0x1f4205[0x9])+','+formatNum(_0x1f4205[0xa])+','+formatNum(_0x1f4205[0xb])+','+formatNum(_0x1f4205[0xc])+','+formatNum(-_0x1f4205[0xd])+','+formatNum(_0x1f4205[0xe])+','+formatNum(_0x1f4205[0xf])+')';}function formatNum(_0x23596e){const _0xc61b1c={_0x404c9a:0x114b,_0x208e33:0x12b5};function _0x1ac39d(_0x1c200f,_0x5f5408){return _0x7afdbe(_0x1c200f,_0x5f5408- -0x4b);}return Math[_0x1ac39d(_0xc61b1c._0x404c9a,_0xc61b1c._0x208e33)](_0x23596e)<1e-10?0x0:_0x23596e;}const _0x383ba3={};_0x383ba3['horizontalOrigin']=Cesium__namespace[_0x7afdbe(0xe92,0xafb)][_0x7afdbe(0xb0f,0x1331)],_0x383ba3['verticalOrigin']=Cesium__namespace[_0x7afdbe(0xb99,0xbe5)][_0x7afdbe(0xf10,0x1331)];const DEF_STYLE$a=_0x383ba3;class DivGif extends DivGraphic{constructor(_0x7291ae={}){const _0xa43681={_0x4a8420:0x832,_0x4c12d2:0x88a,_0x288a85:0x43f,_0x5ccc2c:0x2dd},_0x56ea7a={_0x3bda75:0x318};_0x7291ae['style']={...DEF_STYLE$a,..._0x7291ae['style']},_0x7291ae[_0x233573(0x43f,_0xa43681._0x4a8420)][_0x42df6(0x672,_0xa43681._0x4c12d2)]=getHtmlByStyle(_0x7291ae[_0x233573(_0xa43681._0x288a85,_0xa43681._0x5ccc2c)]);function _0x233573(_0x3bf503,_0x188926){return _0x54a7f1(_0x3bf503- -0x5d,_0x188926);}function _0x42df6(_0x4e1f03,_0x5de2a5){return _0x54a7f1(_0x4e1f03- -_0x56ea7a._0x3bda75,_0x5de2a5);}super(_0x7291ae);}[_0x54a7f1(0x1490,0x138b)](_0x30d78f){const _0x232f62={_0x447c54:0x98,_0x258fbe:0x63e,_0x3fa131:0x16cc,_0x5158be:0x1184},_0x408b67={_0x3cf911:0x341};_0x30d78f[_0x2a9432(-_0x232f62._0x447c54,0x48d)]&&delete _0x30d78f[_0x2a9432(-_0x232f62._0x258fbe,0x48d)];function _0x275e0a(_0xe97c0d,_0xe92d5b){return _0x7afdbe(_0xe92d5b,_0xe97c0d- -_0x408b67._0x3cf911);}Cesium__namespace[_0x2a9432(_0x232f62._0x3fa131,_0x232f62._0x5158be)](_0x30d78f['image'])&&(this['html']=getHtmlByStyle(this['style']));super['_updateStyleBaseHook'](_0x30d78f);function _0x2a9432(_0x22d481,_0x25016e){return _0x7afdbe(_0x22d481,_0x25016e- -0x72b);}return this;}}register$5(_0x54a7f1(0x1454,0xbae),DivGif,!![]);function getHtmlByStyle(_0x24dfe9){const _0x5d0853={_0x4b366e:0xda};let _0x526f42='';function _0xd3a131(_0x231904,_0x184347){return _0x7afdbe(_0x184347,_0x231904- -_0x5d0853._0x4b366e);}_0x24dfe9['width']&&(_0x526f42+='width:'+_0x24dfe9['width']+';');_0x24dfe9[_0xd3a131(0x7bb,-0x272)]&&(_0x526f42+='height:'+_0x24dfe9['height']+';');function _0x1eb7e2(_0x3e2de6,_0x431d2d){return _0x54a7f1(_0x431d2d- -0x1d6,_0x3e2de6);}return'<img\x20src=\x22'+_0x24dfe9[_0xd3a131(0x439,0x296)]+_0xd3a131(0x37a,-0x5b0)+_0x526f42+'\x22>';}const DEF_STYLE$9={'startColor':Cesium__namespace['Color']['LIGHTCYAN'][_0x7afdbe(-0x377,0x5b9)](0.3),'endColor':Cesium__namespace['Color'][_0x7afdbe(0x135,0xabb)][_0x7afdbe(0x9e,0x5b9)](0x0),'startScale':0x2,'endScale':0x4,'minimumParticleLife':0x3,'maximumParticleLife':0x6,'minimumSpeed':0x1,'maximumSpeed':0x2,'emissionRate':0x64};class ParticleSystem extends BasePointPrimitive{constructor(_0x3819e3={}){const _0x23fc3b={_0x3c7f3f:0x322,_0x1c4a11:0x1b0,_0x50cee4:0x85c,_0x13f8ec:0x138,_0x52a2e2:0x12c1,_0x4b0afc:0x11b0,_0x124826:0x8c2,_0x314f14:0xe59};_0x3819e3[_0xc670ca(0x365,-_0x23fc3b._0x3c7f3f)]={...DEF_STYLE$9,'emitter':new Cesium__namespace['CircleEmitter'](0x1),..._0x3819e3[_0xc670ca(0x365,_0x23fc3b._0x1c4a11)]},super(_0x3819e3),this['emitterModelMatrix']=new Cesium__namespace[(_0x44d0e0(_0x23fc3b._0x50cee4,_0x23fc3b._0x13f8ec))](),this[_0xc670ca(_0x23fc3b._0x52a2e2,0x1325)]=new Cesium__namespace[(_0xc670ca(_0x23fc3b._0x4b0afc,0x189f))]();function _0xc670ca(_0x43b09c,_0x5ebce5){return _0x7afdbe(_0x5ebce5,_0x43b09c- -0x365);}this[_0xc670ca(0x10ba,0x179e)]=new Cesium__namespace['Quaternion'](),this[_0x44d0e0(_0x23fc3b._0x124826,0xbad)]=new Cesium__namespace['HeadingPitchRoll']();function _0x44d0e0(_0x2c4f55,_0x538ef8){return _0x54a7f1(_0x538ef8- -0x2a0,_0x2c4f55);}this['trs']=new Cesium__namespace[(_0xc670ca(_0x23fc3b._0x314f14,0x131e))]();}get['czmObject'](){const _0x76edf6={_0x28dca8:0x5c7};function _0x5c23cd(_0x420a45,_0x434871){return _0x7afdbe(_0x434871,_0x420a45- -_0x76edf6._0x28dca8);}return this[_0x5c23cd(0x1011,0x1854)];}get[_0x54a7f1(0x25d,0x10c)](){const _0x3a64d7={_0x49c713:0x33d},_0x79af1={_0x5c7846:0xe0};function _0x581c7a(_0x189a5b,_0x65f534){return _0x54a7f1(_0x189a5b-_0x79af1._0x5c7846,_0x65f534);}return this['style'][_0x581c7a(_0x3a64d7._0x49c713,0x53c)];}set['maxHeight'](_0x50aa52){const _0x399e11={_0x4f6262:0x2b,_0x1b8c49:0x2cf};function _0x4a545c(_0x3dfa0f,_0x59f130){return _0x7afdbe(_0x59f130,_0x3dfa0f- -0x6f5);}this[_0x4a545c(-_0x399e11._0x4f6262,_0x399e11._0x1b8c49)]['maxHeight']=_0x50aa52;}get[_0x7afdbe(0x6a,0x701)](){const _0x3be1fa={_0x4240e5:0xc6c,_0x343780:0x1f7},_0x415a33={_0x21233e:0x129};function _0x5d29ca(_0x389814,_0x16051e){return _0x54a7f1(_0x389814-_0x415a33._0x21233e,_0x16051e);}function _0x411dd5(_0x423118,_0x4b4e1b){return _0x54a7f1(_0x4b4e1b-0x226,_0x423118);}return this[_0x5d29ca(0x5c5,_0x3be1fa._0x4240e5)][_0x5d29ca(0x5fc,_0x3be1fa._0x343780)]||0x0;}set[_0x7afdbe(0x7ac,0x701)](_0x51b432){const _0x198489={_0x2f80d1:0x41f,_0x123cf7:0x6ed};function _0x2c6ace(_0x2a7871,_0x3917eb){return _0x54a7f1(_0x3917eb-0x251,_0x2a7871);}this[_0x2c6ace(_0x198489._0x2f80d1,_0x198489._0x123cf7)]['gravity']=_0x51b432;}get[_0x7afdbe(0x1d2c,0x162c)](){return this['style']['transX']||0x0;}set[_0x7afdbe(0x1b3b,0x162c)](_0x32e19c){function _0x1f9378(_0x536b04,_0x481d3c){return _0x7afdbe(_0x536b04,_0x481d3c-0x16);}this[_0x1f9378(-0x37d,0x6e0)]['transX']=_0x32e19c;}get['transY'](){const _0xc1a745={_0x50c8ad:0x965},_0x2b2f35={_0x125a19:0x4d4};function _0x3f0dfb(_0x1bceac,_0x132559){return _0x54a7f1(_0x132559- -_0x2b2f35._0x125a19,_0x1bceac);}return this['style'][_0x3f0dfb(0x11ea,_0xc1a745._0x50c8ad)]||0x0;}set['transY'](_0x11c01b){const _0x26ca33={_0x5529d6:0x546};function _0x2dfd22(_0xd643a3,_0x3a0ede){return _0x54a7f1(_0x3a0ede-0xaa,_0xd643a3);}this[_0x2dfd22(0x154,_0x26ca33._0x5529d6)]['transY']=_0x11c01b;}get[_0x54a7f1(0x12a5,0xe03)](){const _0x16b8ca={_0x56bfb9:0x1340},_0x5da201={_0x11b3c7:0x193};function _0xaa4498(_0x3bd3b9,_0x55c038){return _0x7afdbe(_0x55c038,_0x3bd3b9- -_0x5da201._0x11b3c7);}return this['style'][_0xaa4498(_0x16b8ca._0x56bfb9,0x1641)]||0x0;}set['transZ'](_0x32579a){const _0xaf21c5={_0x2f62be:0x140b},_0x22c5ba={_0x456912:0x221};function _0x3ded5c(_0x4f9b81,_0x56a1df){return _0x54a7f1(_0x4f9b81- -_0x22c5ba._0x456912,_0x56a1df);}this['style'][_0x3ded5c(0x1084,_0xaf21c5._0x2f62be)]=_0x32579a;}get[_0x54a7f1(0x8ba,0x10ec)](){const _0x13a225={_0x12facf:0x24};function _0x1e49e0(_0x3eb220,_0x554b4a){return _0x7afdbe(_0x3eb220,_0x554b4a-_0x13a225._0x12facf);}return this['style'][_0x1e49e0(0x15a7,0xb0c)]||0x19;}set['particleSize'](_0x271db1){const _0x57e4c7={_0x2f0763:0x1060,_0x10f73b:0x17d9},_0x15b290={_0x5c982d:0x691};function _0x201984(_0x283e6b,_0x17dcd6){return _0x7afdbe(_0x17dcd6,_0x283e6b- -0x73a);}this['style']['particleSize']=_0x271db1;function _0x51aacc(_0x230e25,_0x156407){return _0x7afdbe(_0x156407,_0x230e25- -_0x15b290._0x5c982d);}this['_primitive']&&(this['_primitive'][_0x201984(_0x57e4c7._0x2f0763,0x198e)]['x']=_0x271db1,this[_0x51aacc(0xf47,0x7ce)]['minimumImageSize']['y']=_0x271db1,this['_primitive']['maximumImageSize']['x']=_0x271db1,this[_0x51aacc(0xf47,_0x57e4c7._0x10f73b)]['maximumImageSize']['y']=_0x271db1);}get['hasOpacity'](){return![];}[_0x7afdbe(0xdea,0x134f)](_0x11ba9d){const _0x160802={_0x1c778a:0x1abe,_0x4d08ee:0x161b,_0x3a57a0:0x21c,_0x1960b7:0x13e8,_0x6af7e8:0x122c,_0x2e70da:0x1068,_0x4b3c19:0x3c0,_0x218cdd:0x18a9,_0x30b463:0xcf1,_0x5ee74a:0x630,_0x33940e:0x58e,_0x196ad4:0x630,_0x557caa:0x630,_0x13a4fa:0x14a7,_0x755438:0xa78,_0x5b9ed7:0x15d5,_0x4c8257:0x2e4},_0x5ba2b5={_0x65d30f:0x6a1,_0x32fed5:0xc3f,_0x12fb27:0xf91,_0x7399f:0x6f3,_0x3bd0ae:0x431,_0x32a4dd:0x23c,_0x3aefff:0xde,_0x155615:0x9f7,_0x74c381:0x72f},_0x4ef576={_0x2fbb3f:0x280},_0x21f1ca={_0x28983a:0x66};if(!this[_0x2d6a6c(_0x160802._0x1c778a,0x1373)])return;function _0x48ce26(_0x1f31ef,_0x129220){return _0x7afdbe(_0x1f31ef,_0x129220- -_0x21f1ca._0x28983a);}const _0xe85a17=this['_map']['clock'][_0x48ce26(0x17c1,_0x160802._0x4d08ee)],_0x2ec472={'imageSize':new Cesium__namespace['Cartesian2'](this['particleSize'],this['particleSize']),'modelMatrix':this['_computeModelMatrix'](_0xe85a17),'emitterModelMatrix':this['_computeEmitterModelMatrix'](_0xe85a17),...this[_0x2d6a6c(0x616,_0x160802._0x3a57a0)],'show':this['show']};this['style'][_0x48ce26(0x1316,_0x160802._0x1960b7)]&&(_0x2ec472['startColor']=getCesiumColor(this['style'][_0x48ce26(_0x160802._0x6af7e8,_0x160802._0x1960b7)]));this['style']['endColor']&&(_0x2ec472[_0x2d6a6c(0x934,_0x160802._0x2e70da)]=getCesiumColor(this[_0x48ce26(-0xa3,0x664)]['endColor']));function _0x2d6a6c(_0x39e11f,_0xf92adb){return _0x54a7f1(_0xf92adb- -_0x4ef576._0x2fbb3f,_0x39e11f);}this['_primitive']=new Cesium__namespace[(_0x48ce26(-_0x160802._0x4b3c19,0x4b4))](_0x2ec472),this['primitiveCollection']['add'](this['_primitive']);this[_0x48ce26(0x14fa,0xa78)]['position']&&((this['options'][_0x2d6a6c(0x1e50,0x1461)]instanceof Cesium__namespace['CallbackProperty']||this['options'][_0x48ce26(0x224d,_0x160802._0x218cdd)]instanceof Cesium__namespace['SampledPositionProperty'])&&(this[_0x2d6a6c(0x3ce,_0x160802._0x30b463)]=this[_0x2d6a6c(0xb12,_0x160802._0x5ee74a)][_0x2d6a6c(0xfe6,0x1380)]||new Cesium__namespace[(_0x2d6a6c(_0x160802._0x33940e,0x103d))](this[_0x2d6a6c(0xe3a,_0x160802._0x196ad4)]['position']),this[_0x2d6a6c(0x13d5,0xb1d)]=this[_0x2d6a6c(-0x5e,_0x160802._0x557caa)]['position']));this['_bindUpdateCallback'](),this['_hasUpdate_modelMatrix']=isFunction(this[_0x48ce26(_0x160802._0x13a4fa,_0x160802._0x755438)]['modelMatrix'])||this['property'],this['_hasUpdate_emitterModelMatrix']=isFunction(this['options'][_0x2d6a6c(_0x160802._0x5b9ed7,0xf23)])||this[_0x2d6a6c(0x764,0x8d)]||this['pitch']||this['roll']||this['transX']||this['transY']||this['transZ'];const _0x572ee2=this['_primitive']['update'],_0x18167a=this;this['_primitive'][_0x2d6a6c(-_0x160802._0x4c8257,0x6bf)]=function(_0x31d683){_0x18167a['_update'](_0x31d683);if(this['_previousTime']){const _0x5421ad=Cesium__namespace['JulianDate']['secondsDifference'](_0x31d683[_0x461668(0x894,_0x5ba2b5._0x65d30f)],this[_0x296f97(_0x5ba2b5._0x32fed5,0xe0c)]);_0x5421ad>0xa&&(this[_0x461668(_0x5ba2b5._0x12fb27,_0x5ba2b5._0x7399f)]=Cesium__namespace['JulianDate'][_0x461668(0x6c6,_0x5ba2b5._0x3bd0ae)](_0x31d683['time'],this['_previousTime']));}!Cesium__namespace['defined'](this['_billboardCollection'])&&(this['_billboardCollection']=new Cesium__namespace['BillboardCollection']());if(this['_billboardCollection']&&!this['_billboardCollection']['defaultStyle']&&(Cesium__namespace['defined'](_0x18167a[_0x461668(0x6b9,0xde)]['visibleDepth'])||Cesium__namespace['defined'](_0x18167a['style']['disableDepthTestDistance']))){const _0x1ea5c8={};_0x1ea5c8[_0x461668(0x1094,0x9f7)]=_0x18167a[_0x461668(-_0x5ba2b5._0x32a4dd,_0x5ba2b5._0x3aefff)][_0x461668(0x209,_0x5ba2b5._0x155615)]??(_0x18167a['style'][_0x296f97(0x1841,0xeb1)]?0x0:Number['POSITIVE_INFINITY']),this[_0x461668(_0x5ba2b5._0x74c381,0x638)]['defaultStyle']=_0x1ea5c8;}function _0x461668(_0x1083a5,_0x59d83f){return _0x48ce26(_0x1083a5,_0x59d83f- -0x586);}function _0x296f97(_0x409d94,_0x1943cb){return _0x48ce26(_0x1943cb,_0x409d94- -0x3a);}_0x572ee2['bind'](this)(_0x31d683);};}['_removedHook'](){function _0x27c9a5(_0xf9e28b,_0xb4c839){return _0x7afdbe(_0xf9e28b,_0xb4c839-0x4c);}if(!this[_0x27c9a5(0x13ae,0xa4d)])return;function _0x2b5d7b(_0x52b36f,_0x3810a1){return _0x7afdbe(_0x52b36f,_0x3810a1- -0x54);}this['primitiveCollection']['remove'](this[_0x27c9a5(0xfaf,0x1624)]);}['_update'](_0x43be94){const _0x327a78={_0x1676da:0xaf8,_0x143966:0x126e,_0x1b129b:0xd72,_0x2643e3:0x1124,_0x15ebb1:0x1278,_0x4f929d:0xbc5,_0x814e10:0x168c,_0xd1e90d:0x19ad,_0x398a69:0x168c,_0x3897d5:0x1fe0,_0x551235:0x102f,_0x3571e0:0x134c},_0x1b40f1={_0x2c61c9:0x37b},_0x5b0af1={_0x29200c:0x99};function _0x230413(_0x52d876,_0x55597b){return _0x54a7f1(_0x52d876-_0x5b0af1._0x29200c,_0x55597b);}if(!this['getRealShow'](_0x43be94['time']))return;this['property']&&(this[_0x3927a2(0xa11,0xe31)]=getPositionValue(this[_0x230413(0xe36,0x425)],_0x43be94['time']));this[_0x3927a2(0x110c,0x13f4)]&&(this['_primitive']['modelMatrix']=this[_0x230413(0x159e,0x1562)](_0x43be94[_0x230413(_0x327a78._0x1676da,0x12aa)]));this['_hasUpdate_emitterModelMatrix']&&(this[_0x3927a2(0x102f,0x63f)][_0x230413(0x123c,_0x327a78._0x143966)]=this['_computeEmitterModelMatrix'](_0x43be94[_0x230413(_0x327a78._0x1676da,_0x327a78._0x1b129b)]));function _0x3927a2(_0x5524a1,_0x45e828){return _0x54a7f1(_0x5524a1- -_0x1b40f1._0x2c61c9,_0x45e828);}Cesium__namespace[_0x230413(0x171a,_0x327a78._0x2643e3)](this['maxHeight'])&&_0x43be94['frameNumber']%0xa===0x0&&(this['_map'][_0x230413(0x5f4,0x860)]['positionCartographic'][_0x230413(0x700,0x717)]<this[_0x3927a2(-0x11e,-0x18f)]?this['_primitive'][_0x3927a2(_0x327a78._0x15ebb1,_0x327a78._0x4f929d)]!==this[_0x230413(_0x327a78._0x814e10,_0x327a78._0xd1e90d)]&&(this[_0x230413(0x1443,0x1969)][_0x230413(_0x327a78._0x398a69,_0x327a78._0x3897d5)]=this['show']):this[_0x3927a2(_0x327a78._0x551235,_0x327a78._0x3571e0)]['show']&&(this['_primitive']['show']=![])),this['_primitive']['_isComplete']&&this['fire']('complete');}['_computeModelMatrix'](_0x2df51b){const _0x2ed0ad={_0x312ddb:0x865,_0x270d76:0x190,_0x51aad0:0x865,_0xaf8081:0xecb},_0x135293={_0x587d76:0x13f};function _0x5c6333(_0x294a31,_0x1ae590){return _0x54a7f1(_0x1ae590-_0x135293._0x587d76,_0x294a31);}if(this['options']['modelMatrix'])return isFunction(this['options'][_0x5c6333(0xaef,_0x2ed0ad._0x312ddb)])?this['options'][_0x5c6333(-_0x2ed0ad._0x270d76,_0x2ed0ad._0x51aad0)](_0x2df51b):this['options']['modelMatrix'];function _0x21b3dd(_0x5c5e74,_0x1d5b66){return _0x7afdbe(_0x1d5b66,_0x5c5e74- -0xc6);}if(this[_0x5c6333(0xd9e,_0x2ed0ad._0xaf8081)])return this['fixedFrameTransform'](this['_position']);return new Cesium__namespace[(_0x21b3dd(0x540,0x874))]();}[_0x54a7f1(0xa09,-0x27)](_0xba5bbc){const _0x421b1c={_0x697b0a:0x9bd,_0x11d3a1:0x2db,_0x5f3d43:0xad9,_0x53be68:0x13a1,_0x1c11ab:0x742,_0x5ea163:0xd95,_0x52024d:0x9ca,_0x2645cd:0xcea,_0x491e64:0x18a7,_0x797b4a:0xe36,_0x21358c:0x24,_0x1c1384:0x1564,_0x58cac7:0xd83,_0x10c5a5:0x1120},_0x35fb88={_0x132e5a:0x4b1};if(this['options']['emitterModelMatrix'])return isFunction(this[_0x1149bf(0x490,_0x421b1c._0x697b0a)]['emitterModelMatrix'])?this['options']['emitterModelMatrix'](_0xba5bbc):this[_0x1149bf(0x490,_0x421b1c._0x11d3a1)]['emitterModelMatrix'];const _0x34ce0c=this['heading'],_0x123ed2=this[_0x421d3f(_0x421b1c._0x5f3d43,0x11e1)],_0x3bf339=this[_0x1149bf(0x1311,_0x421b1c._0x53be68)];this['hpr']=Cesium__namespace[_0x1149bf(_0x421b1c._0x1c11ab,_0x421b1c._0x5ea163)][_0x1149bf(_0x421b1c._0x52024d,0xbef)](_0x34ce0c,_0x123ed2,_0x3bf339,this['hpr']);function _0x421d3f(_0x27df90,_0x13bdbc){return _0x54a7f1(_0x13bdbc- -_0x35fb88._0x132e5a,_0x27df90);}this[_0x421d3f(0x786,_0x421b1c._0x2645cd)]['translation']=Cesium__namespace[_0x421d3f(_0x421b1c._0x491e64,_0x421b1c._0x797b4a)][_0x421d3f(_0x421b1c._0x21358c,0x7)](this[_0x421d3f(0xb61,0xf4d)],this[_0x421d3f(0x1fb,0x988)],this['transZ'],this[_0x1149bf(0xfd8,_0x421b1c._0x1c1384)]);function _0x1149bf(_0x554585,_0x2fbb33){return _0x7afdbe(_0x2fbb33,_0x554585- -0x64e);}return this[_0x1149bf(0xd7b,0x4af)][_0x421d3f(0xd47,0xd40)]=Cesium__namespace['Quaternion']['fromHeadingPitchRoll'](this['hpr'],this['rotation']),Cesium__namespace['Matrix4']['fromTranslationRotationScale'](this['trs'],this[_0x421d3f(0x1053,0xcf2)]),this[_0x1149bf(_0x421b1c._0x58cac7,_0x421b1c._0x10c5a5)];}[_0x7afdbe(0x24d,0xcff)](){const _0x3b99e5={_0x38d0e1:0x7a4,_0x484e78:0x660,_0x4ab70a:0x9f0,_0xe0af3:0x129e,_0x1278de:0xf51,_0x1f7cca:0x702},_0x1bbef7={_0x36e63c:0x11de};function _0x3ba12d(_0x47a40d,_0x4a72ee){return _0x7afdbe(_0x47a40d,_0x4a72ee- -0x33a);}function _0x2e1d4f(_0x283811,_0x1420da){return _0x54a7f1(_0x283811- -0x459,_0x1420da);}if(this[_0x3ba12d(0x74b,_0x3b99e5._0x38d0e1)]['updateCallback']){this['_primitive']['updateCallback']=this['options'][_0x3ba12d(-0x3ec,_0x3b99e5._0x484e78)];return;}if(this[_0x3ba12d(0xa64,0x3c7)]===0x0)this[_0x3ba12d(_0x3b99e5._0x4ab70a,_0x3b99e5._0xe0af3)]['updateCallback']=undefined;else{if(!this['_primitive']['updateCallback']){const _0x4a0765=this,_0x261a92=new Cesium__namespace['Cartesian3']();this[_0x2e1d4f(_0x3b99e5._0x1278de,_0x3b99e5._0x1f7cca)]['updateCallback']=function(_0x33992c,_0x4bf7a9){const _0x4ec7c8=_0x33992c['position'];Cesium__namespace[_0x5d5492(0x14ba,0x1254)][_0x5d5492(0x1209,_0x1bbef7._0x36e63c)](_0x4ec7c8,_0x261a92);function _0x5d5492(_0x341ba7,_0x4fc8c0){return _0x2e1d4f(_0x4fc8c0-0x3c6,_0x341ba7);}function _0x4497a3(_0x5df45e,_0x21854d){return _0x2e1d4f(_0x21854d-0x3c6,_0x5df45e);}Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x261a92,_0x4a0765['gravity']*_0x4bf7a9,_0x261a92),_0x33992c['velocity']=Cesium__namespace['Cartesian3']['add'](_0x33992c['velocity'],_0x261a92,_0x33992c['velocity']);};}}}[_0x54a7f1(0x10d4,0xc3e)](_0xa6ef87,_0x4efb5e){const _0x36ba39={_0x1465f9:0x1098,_0x551f4b:0x2d,_0x113712:0xfe0,_0x28e942:0x11f9,_0x2c4fa5:0xe0b,_0x239588:0x1380};function _0x1df987(_0x19256e,_0xa030ea){return _0x54a7f1(_0x19256e-0x25a,_0xa030ea);}function _0x4bbd76(_0x10d8fc,_0x2b196c){return _0x7afdbe(_0x10d8fc,_0x2b196c- -0x540);}if(this[_0x4bbd76(0x186b,_0x36ba39._0x1465f9)]){if(_0x4efb5e[_0x4bbd76(-0x94a,-_0x36ba39._0x551f4b)]){this['redraw']();return;}for(const _0x393aeb in _0x4efb5e){this[_0x1df987(0x1604,0x130a)][_0x393aeb]=_0x4efb5e[_0x393aeb];}_0x4efb5e['particleSize']&&(this[_0x1df987(0xb14,0x1234)]=_0x4efb5e[_0x4bbd76(_0x36ba39._0x113712,0x5a8)]),_0x4efb5e['gravity']&&this['_bindUpdateCallback']();}this[_0x4bbd76(0x12fc,_0x36ba39._0x28e942)]=isFunction(this['options']['emitterModelMatrix'])||this[_0x1df987(0x567,0x7fe)]||this[_0x4bbd76(_0x36ba39._0x2c4fa5,_0x36ba39._0x239588)]||this['roll']||this['transX']||this['transY']||this['transZ'];}['_getDrawEntityClass'](_0x123bf2,_0x530b7c){const _0x59d615={_0xc5dfd7:0x1f08};function _0x1b9b8f(_0x1769dd,_0x11db3d){return _0x54a7f1(_0x1769dd-0x1a4,_0x11db3d);}return this[_0x1b9b8f(0x16a8,_0x59d615._0xc5dfd7)](_0x123bf2,_0x530b7c);}}register$5('particleSystem',ParticleSystem,!![]);var ArcFrustumFS='uniform\x20vec4\x20color;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20out_FragColor\x20=\x20color;\x0a}\x0a',ArcFrustumVS='in\x20vec4\x20aPosition;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20vec4(aPosition.xyz,\x201.0);\x0a}\x0a';const _0x58f1eb={};_0x58f1eb['color']=Cesium__namespace['Color'][_0x54a7f1(0x88d,0x10ee)];const DEF_STYLE$8=_0x58f1eb;class ArcFrustum extends BasePointPrimitive{constructor(_0x56b06d={}){const _0x136d55={_0x1cda61:0x3b1,_0x3deabe:0x904,_0x2dd334:0xf},_0x41989e={_0x481e48:0x6d9},_0x251a97={_0x547774:0xeb};_0x56b06d['style']={...DEF_STYLE$8,..._0x56b06d[_0x40017f(_0x136d55._0x1cda61,0xe0d)]},super(_0x56b06d);function _0x40017f(_0x3b2b64,_0x349953){return _0x54a7f1(_0x3b2b64- -_0x251a97._0x547774,_0x349953);}delete this['_position'],delete this['_point'];function _0x4bc3ed(_0x3fa3d2,_0x31a26f){return _0x7afdbe(_0x3fa3d2,_0x31a26f- -_0x41989e._0x481e48);}this['_boundingSphere']=new Cesium__namespace[(_0x40017f(0x88a,0x9c9))](),this[_0x40017f(_0x136d55._0x3deabe,0x71a)]=getCesiumColor(this[_0x4bc3ed(-0x198,-_0x136d55._0x2dd334)]['color']);}get[_0x7afdbe(0x16a7,0x1929)](){return this;}get['color'](){return this['_color'];}set['color'](_0x1a7206){this['_color']=_0x1a7206;}get[_0x54a7f1(0x14a2,0x1f18)](){const _0x2351fa={_0x24d940:0x1544};function _0xb24911(_0x1f5256,_0x556ad3){return _0x7afdbe(_0x1f5256,_0x556ad3- -0x5a2);}return this['style'][_0xb24911(_0x2351fa._0x24d940,0x112e)];}set[_0x7afdbe(0x17c9,0x16d0)](_0xc4813f){this['style']['angle']=_0xc4813f,this['destroyCommands']();}get[_0x54a7f1(0xcf1,0x676)](){function _0x3fc0d5(_0x3b041d,_0xa5e87){return _0x7afdbe(_0xa5e87,_0x3b041d- -0x5c9);}return this['style']['angle2']??this[_0x3fc0d5(0x101,0xc4)]['angle'];}set['angle2'](_0x32fa40){const _0x3943c5={_0xcd626c:0x1c8};function _0x44f1aa(_0x19bc49,_0x2680df){return _0x7afdbe(_0x19bc49,_0x2680df- -0x71c);}this['style']['angle2']=_0x32fa40,this[_0x44f1aa(-0x4d8,_0x3943c5._0xcd626c)]();}get[_0x7afdbe(0xf5,0x954)](){const _0x2785c2={_0x4177f7:0x5c7,_0x5bdcde:0xb01,_0x357646:0x1c07,_0x321d87:0x2fc,_0x12ca0f:0x6d0,_0x468ba9:0xba8,_0x4fd1cd:0x92b,_0x3c0e86:0x81a,_0x5c973d:0x1ba,_0x11b9da:0xb4a,_0x47107c:0xb6e,_0x217d71:0x7d9,_0x2f88c8:0x1ca,_0x461ad1:0x1317},_0x6d7de9={_0x434df4:0x517};if(this[_0x53e3fb(_0x2785c2._0x4177f7,0xdbb)]['modelMatrix'])return this['options']['modelMatrix'];const _0x224d36=this['position'];function _0x53e3fb(_0x19228d,_0x1666e1){return _0x7afdbe(_0x1666e1,_0x19228d- -_0x6d7de9._0x434df4);}const _0x1628de=Cesium__namespace['HeadingPitchRoll'][_0x53e3fb(_0x2785c2._0x5bdcde,0x326)](this['heading'],this[_0x7d067f(0x11bb,_0x2785c2._0x357646)],this['roll']),_0x2c4016=new Cesium__namespace['Camera'](this[_0x7d067f(_0x2785c2._0x321d87,-_0x2785c2._0x12ca0f)][_0x7d067f(_0x2785c2._0x468ba9,0x2f8)]);_0x2c4016['position']=_0x224d36,_0x2c4016['frustum']['fov']=Cesium__namespace['Math']['toRadians'](this['angle']*0x2),_0x2c4016[_0x7d067f(0xb6e,_0x2785c2._0x4fd1cd)]['aspectRatio']=this['angle']/this[_0x7d067f(_0x2785c2._0x3c0e86,-0xba)],_0x2c4016['frustum'][_0x7d067f(-_0x2785c2._0x5c973d,-_0x2785c2._0x11b9da)]=0.01,_0x2c4016[_0x7d067f(_0x2785c2._0x47107c,0xffe)]['far']=this[_0x7d067f(-0x3b,_0x2785c2._0x217d71)]['distance'];const _0x23a606={};_0x23a606[_0x7d067f(-_0x2785c2._0x2f88c8,-0x392)]=_0x1628de['heading'],_0x23a606['pitch']=_0x1628de['pitch'],_0x23a606['roll']=_0x1628de['roll'];const _0x7c2783={};_0x7c2783['destination']=_0x224d36,_0x7c2783[_0x53e3fb(_0x2785c2._0x461ad1,0x137a)]=_0x23a606;function _0x7d067f(_0x4ec9cf,_0x31347b){return _0x54a7f1(_0x4ec9cf- -0x4d7,_0x31347b);}return _0x2c4016['setView'](_0x7c2783),_0x2c4016['inverseViewMatrix'];}set[_0x54a7f1(0x726,-0x27c)](_0x5b5146){this['options']['modelMatrix']=_0x5b5146,this['destroyCommands']();}[_0x7afdbe(0xd49,0xf92)](){function _0x5aa0be(_0x32f8b5,_0x5b790c){return _0x7afdbe(_0x5b790c,_0x32f8b5- -0x4a);}this[_0x5aa0be(0x89a,0xd1f)]();}['_addedHook'](_0x73fc96){const _0x2e58fb={_0x4282c1:0xe6c,_0x50f2cb:0x5b3},_0x14defb={_0x5288f7:0x6b4},_0x18dabb={_0x265608:0xba};if(!this[_0x28b92e(0xe41,0x116d)])return;function _0x4ac092(_0x4dbb3a,_0x1afffc){return _0x7afdbe(_0x4dbb3a,_0x1afffc- -_0x18dabb._0x265608);}function _0x28b92e(_0x555690,_0x3af278){return _0x7afdbe(_0x555690,_0x3af278- -_0x14defb._0x5288f7);}this[_0x4ac092(_0x2e58fb._0x4282c1,_0x2e58fb._0x50f2cb)]['add'](this);}['_removedHook'](){function _0x21c933(_0x27f174,_0x314431){return _0x7afdbe(_0x27f174,_0x314431- -0x281);}this['primitiveCollection']['contains'](this)&&(this['_noDestroy']=!![],this[_0x21c933(-0x164,0x3ec)]['remove'](this),this['_noDestroy']=![]);}[_0x7afdbe(0x646,0xb6d)](_0x188944){const _0x22158e={_0x1e5c3d:0x2e6,_0x508124:0x788,_0x551da8:0x10b5,_0x8bb08f:0x61e};function _0x5eff6d(_0x792293,_0x29dbd7){return _0x54a7f1(_0x792293- -0x29,_0x29dbd7);}function _0x3054a5(_0xfab566,_0x2f755a){return _0x54a7f1(_0xfab566-0x141,_0x2f755a);}if(!this['getRealShow'](_0x188944['time']))return;!Cesium__namespace['defined'](this[_0x5eff6d(0x61e,-_0x22158e._0x1e5c3d)])&&(this[_0x3054a5(_0x22158e._0x508124,_0x22158e._0x551da8)]=this['createCommand'](_0x188944['context'])),_0x188944[_0x3054a5(0xe51,0xec1)]['render']&&(Cesium__namespace['defined'](this['_command'])&&_0x188944['commandList']['push'](this[_0x5eff6d(_0x22158e._0x8bb08f,0x2f5)]));}['destroyCommands'](){const _0x2d74cb={_0x5184e6:0x14ab,_0x81c405:0x1688,_0x21c09a:0x5cf,_0x212f8d:0xcfa,_0x16dc4e:0x272},_0x1b4e57={_0x40537e:0x2a6};function _0x2fde7a(_0xcc512e,_0x448a8f){return _0x7afdbe(_0x448a8f,_0xcc512e- -0x404);}function _0x3a68f7(_0x17bcec,_0x30536f){return _0x7afdbe(_0x30536f,_0x17bcec- -_0x1b4e57._0x40537e);}Cesium__namespace[_0x2fde7a(_0x2d74cb._0x5184e6,_0x2d74cb._0x81c405)](this[_0x3a68f7(0x5cf,-0x1f2)])&&(this[_0x2fde7a(0x471,0x7c0)]['shaderProgram']&&this['_command']['shaderProgram']['destroy'](),this[_0x3a68f7(_0x2d74cb._0x21c09a,_0x2d74cb._0x212f8d)]['vertexArray']&&this[_0x3a68f7(0x5cf,0xb88)][_0x2fde7a(_0x2d74cb._0x16dc4e,0x2ad)]['destroy'](),delete this['_command']);}[_0x7afdbe(0x7f8,0x537)](_0x50acc8){const _0x2f112a={_0x585355:0x31d,_0x49a939:0x610,_0x493493:0x184c,_0x521510:0xf2f,_0x25ef1e:0x1236,_0xe03f93:0x2f6,_0x45f3f9:0xac9,_0x2024cd:0x9df,_0x377234:0x96c,_0x22fed3:0xaed,_0x12766c:0x39,_0x3c71a3:0xfce,_0x225deb:0xc71,_0x5add2d:0x4fb,_0x5d3546:0x1cb,_0x3e0c38:0x4db,_0x2ac6ca:0x1297},_0x5e97b8={_0x314a12:0x1057};this[_0x56be5d(_0x2f112a._0x585355,0x47f)]();const _0x123fb5=this[_0x4088d6(0x407,0x1ff)]();function _0x56be5d(_0x24023b,_0x5a7a47){return _0x54a7f1(_0x5a7a47- -0x237,_0x24023b);}const _0x191d42={};_0x191d42[_0x56be5d(_0x2f112a._0x49a939,0x965)]=0x0;const _0x52ef5c=_0x191d42,_0x43a729=Cesium__namespace['Buffer']['createVertexBuffer']({'context':_0x50acc8,'typedArray':_0x123fb5['vertices'],'usage':Cesium__namespace[_0x56be5d(_0x2f112a._0x493493,0x12bc)]['STATIC_DRAW']}),_0xa64111={};_0xa64111['index']=_0x52ef5c['aPosition'],_0xa64111[_0x4088d6(0x3c1,0x61d)]=_0x43a729,_0xa64111['componentsPerAttribute']=0x3,_0xa64111['componentDatatype']=Cesium__namespace['ComponentDatatype']['FLOAT'],_0xa64111['offsetInBytes']=0x0,_0xa64111['strideInBytes']=0xc,_0xa64111[_0x56be5d(0x1aa7,0x103a)]=![];const _0x30c57f=[_0xa64111],_0x31feb6=Cesium__namespace['Buffer']['createIndexBuffer']({'context':_0x50acc8,'typedArray':_0x123fb5['indices'],'usage':Cesium__namespace[_0x56be5d(_0x2f112a._0x521510,0x12bc)]['STATIC_DRAW'],'indexDatatype':Cesium__namespace[_0x4088d6(0x58b,0x2d6)][_0x4088d6(0x1265,0xe99)]}),_0xe158ce={};_0xe158ce['context']=_0x50acc8,_0xe158ce['attributes']=_0x30c57f,_0xe158ce['indexBuffer']=_0x31feb6;const _0x1c886a=new Cesium__namespace['VertexArray'](_0xe158ce),_0x8597f9=this['modelMatrix'];this[_0x4088d6(0xc4a,0xe50)]['radius']=this[_0x56be5d(0x89d,0x265)]['distance'];this['position']?this['_boundingSphere']['position']=this['position']:(Cesium__namespace['Cartesian3'][_0x4088d6(0x739,0x183)](Cesium__namespace['Cartesian3'][_0x4088d6(_0x2f112a._0x25ef1e,0xc98)],this['_boundingSphere']['center']),Cesium__namespace['BoundingSphere']['transform'](this[_0x56be5d(_0x2f112a._0xe03f93,_0x2f112a._0x45f3f9)],_0x8597f9,this['_boundingSphere']));const _0x403bec={};_0x403bec[_0x4088d6(0x9d2,0xd31)]=_0x50acc8,_0x403bec['vertexShaderSource']=ArcFrustumVS;function _0x4088d6(_0x540817,_0x5022e0){return _0x7afdbe(_0x5022e0,_0x540817- -0x2e4);}_0x403bec['fragmentShaderSource']=ArcFrustumFS,_0x403bec['attributeLocations']=_0x52ef5c;const _0x19996a={};_0x19996a[_0x56be5d(_0x2f112a._0x2024cd,_0x2f112a._0x377234)]=!![];const _0x1867a2={};_0x1867a2[_0x4088d6(_0x2f112a._0x22fed3,_0x2f112a._0x12766c)]=!![];const _0x13189f={};_0x13189f[_0x56be5d(-0x5dc,0x243)]=_0x19996a,_0x13189f[_0x4088d6(_0x2f112a._0x3c71a3,0xb90)]=_0x1867a2;const _0x46ac7f=new Cesium__namespace['DrawCommand']({'primitiveType':Cesium__namespace[_0x4088d6(0xe6f,0x6db)]['LINES'],'shaderProgram':Cesium__namespace['ShaderProgram'][_0x56be5d(0x47b,0x25f)](_0x403bec),'vertexArray':_0x1c886a,'modelMatrix':_0x8597f9,'boundingVolume':this['_boundingSphere'],'uniformMap':{'color':()=>{function _0x33f1f3(_0x427fec,_0x357767){return _0x56be5d(_0x357767,_0x427fec-0x7c);}return this[_0x33f1f3(_0x5e97b8._0x314a12,0x8c6)];}},'pass':Cesium__namespace['Pass'][_0x4088d6(_0x2f112a._0x225deb,_0x2f112a._0x5add2d)],'owner':this,'cull':!![],'renderState':Cesium__namespace[_0x4088d6(0x6b0,-_0x2f112a._0x5d3546)][_0x4088d6(0x3e0,-_0x2f112a._0x3e0c38)](_0x13189f)});return this[_0x4088d6(_0x2f112a._0x2ac6ca,0x971)](_0x46ac7f),_0x46ac7f;}['createVertices'](){const _0x8be926={_0xb7c407:0x19b,_0xab4514:0x10ab,_0x74b0ef:0xef7,_0x3cdc49:0x12dd,_0x193f4d:0x1c79,_0x357dff:0x878,_0xec4ef5:0x9f0},_0x5ccd50={_0x384f45:0x5e3},_0x2e5f92={_0x1d122c:0x6a5},_0xbd833f=this[_0x1e3ed2(_0x8be926._0xb7c407,0xe7)]['distance'],_0x530ad8=0x14,_0x200f1b=(_0x530ad8+0x1)*(_0x530ad8+0x1)+0x1,_0x5249c8=Cesium__namespace['ComponentDatatype']['createTypedArray'](Cesium__namespace['ComponentDatatype']['FLOAT'],0x3*_0x200f1b);let _0x3676b1=0x3;const _0x4facb9=Cesium__namespace['Math'][_0x1c36b1(_0x8be926._0xab4514,0x153c)](this['angle']*0x2),_0x55e454=Cesium__namespace[_0x1e3ed2(0xfca,_0x8be926._0x74b0ef)]['toRadians'](this['angle2']*0x2),_0x3ae710=Math[_0x1e3ed2(0x19bf,0x10be)](0.5*_0x55e454),_0x5ed370=_0xbd833f*_0x3ae710,_0x1fe648=Math['PI']-0.5*_0x4facb9;let _0x598cc1=0x0,_0x13d536=0x0;const _0x34207=_0x4facb9/_0x530ad8;for(let _0x7e5820=0x0;_0x7e5820<_0x530ad8+0x1;_0x7e5820++){_0x598cc1=_0x1fe648+_0x7e5820*_0x34207;const _0x303c03=_0x5ed370/(_0xbd833f/Math['cos'](_0x598cc1)),_0x4ae3f9=Math['atan'](_0x303c03),_0x4d4c17=-_0x4ae3f9,_0x339e12=0x2*_0x4ae3f9/_0x530ad8;for(let _0xe57dfb=0x0;_0xe57dfb<_0x530ad8+0x1;_0xe57dfb++){_0x13d536=_0x4d4c17+_0xe57dfb*_0x339e12,_0x5249c8[_0x3676b1++]=_0xbd833f*Math[_0x1c36b1(_0x8be926._0x3cdc49,_0x8be926._0x193f4d)](_0x13d536)*Math['sin'](_0x598cc1),_0x5249c8[_0x3676b1++]=_0xbd833f*Math[_0x1c36b1(-0x3,_0x8be926._0x357dff)](_0x13d536),_0x5249c8[_0x3676b1++]=_0xbd833f*Math['cos'](_0x13d536)*Math[_0x1c36b1(0x12dd,0x17d7)](_0x598cc1);}}const _0x1405e8=0x2*(0x4+0x5*_0x530ad8+0x2*_0x530ad8*0x3),_0x451e31=Cesium__namespace['ComponentDatatype']['createTypedArray'](Cesium__namespace[_0x1c36b1(0xe1b,0x797)]['UNSIGNED_SHORT'],_0x1405e8);let _0x20a8ed=0x0;_0x451e31[_0x20a8ed++]=0x0,_0x451e31[_0x20a8ed++]=0x1;function _0x1c36b1(_0x12dec8,_0x2b848c){return _0x7afdbe(_0x2b848c,_0x12dec8- -_0x2e5f92._0x1d122c);}_0x451e31[_0x20a8ed++]=0x0,_0x451e31[_0x20a8ed++]=_0x530ad8+0x1,_0x451e31[_0x20a8ed++]=0x0,_0x451e31[_0x20a8ed++]=_0x530ad8*(_0x530ad8+0x1)+0x1,_0x451e31[_0x20a8ed++]=0x0,_0x451e31[_0x20a8ed++]=(_0x530ad8+0x1)*(_0x530ad8+0x1);function _0x1e3ed2(_0x34460e,_0x35d7a1){return _0x7afdbe(_0x34460e,_0x35d7a1- -_0x5ccd50._0x384f45);}for(let _0x224ed4=0x0;_0x224ed4<0x5;_0x224ed4++){for(let _0xd3999c=0x0;_0xd3999c<_0x530ad8;_0xd3999c++){_0x451e31[_0x20a8ed++]=0x1+_0xd3999c+0x5*(_0x530ad8+0x1)*_0x224ed4,_0x451e31[_0x20a8ed++]=0x1+(_0xd3999c+0x1)+0x5*(_0x530ad8+0x1)*_0x224ed4;}}for(let _0x16cbcf=0x0;_0x16cbcf<0x5;_0x16cbcf++){for(let _0x177e08=0x0;_0x177e08<_0x530ad8;_0x177e08++){_0x451e31[_0x20a8ed++]=0x1+(_0x530ad8+0x1)*_0x177e08+0x5*_0x16cbcf,_0x451e31[_0x20a8ed++]=0x1+(_0x530ad8+0x1)*(_0x177e08+0x1)+0x5*_0x16cbcf;}}const _0x5cf1e4=_0x530ad8*_0x530ad8*0x3*0x2+0x3*_0x530ad8*0x4,_0x236051=Cesium__namespace['ComponentDatatype']['createTypedArray'](Cesium__namespace['ComponentDatatype']['SHORT'],_0x5cf1e4),_0x5ae815=0x1;for(let _0xf0b03b=0x0;_0xf0b03b<_0x530ad8;_0xf0b03b++){for(let _0x33bf42=0x0;_0x33bf42<_0x530ad8;_0x33bf42++){_0x236051[_0x20a8ed++]=_0x5ae815+_0xf0b03b+_0x33bf42*(_0x530ad8+0x1),_0x236051[_0x20a8ed++]=_0x5ae815+_0xf0b03b+0x1+_0x33bf42*(_0x530ad8+0x1),_0x236051[_0x20a8ed++]=_0x5ae815+_0xf0b03b+(_0x33bf42+0x1)*(_0x530ad8+0x1),_0x236051[_0x20a8ed++]=_0x5ae815+_0xf0b03b+0x1+_0x33bf42*(_0x530ad8+0x1),_0x236051[_0x20a8ed++]=_0x5ae815+_0xf0b03b+0x1+(_0x33bf42+0x1)*(_0x530ad8+0x1),_0x236051[_0x20a8ed++]=_0x5ae815+_0xf0b03b+(_0x33bf42+0x1)*(_0x530ad8+0x1);}}for(let _0x42ca96=0x0;_0x42ca96<_0x530ad8;_0x42ca96++){_0x236051[_0x20a8ed++]=_0x42ca96+0x1+_0x5ae815,_0x236051[_0x20a8ed++]=_0x42ca96+_0x5ae815,_0x236051[_0x20a8ed++]=0x0,_0x236051[_0x20a8ed++]=0x0,_0x236051[_0x20a8ed++]=_0x42ca96+_0x530ad8*(_0x530ad8+0x1)+_0x5ae815,_0x236051[_0x20a8ed++]=_0x42ca96+0x1+_0x530ad8*(_0x530ad8+0x1)+_0x5ae815;}for(let _0x4d0f9c=0x0;_0x4d0f9c<_0x530ad8;_0x4d0f9c++){_0x236051[_0x20a8ed++]=0x0,_0x236051[_0x20a8ed++]=_0x4d0f9c*(_0x530ad8+0x1)+_0x5ae815,_0x236051[_0x20a8ed++]=(_0x4d0f9c+0x1)*(_0x530ad8+0x1)+_0x5ae815,_0x236051[_0x20a8ed++]=_0x530ad8+(_0x4d0f9c+0x1)*(_0x530ad8+0x1)+_0x5ae815,_0x236051[_0x20a8ed++]=_0x530ad8+_0x4d0f9c*(_0x530ad8+0x1)+_0x5ae815,_0x236051[_0x20a8ed++]=0x0;}const _0x4868e5={};return _0x4868e5[_0x1c36b1(_0x8be926._0xec4ef5,0x4ac)]=_0x5249c8,_0x4868e5['indices']=_0x451e31,_0x4868e5;}}register$5('arcFrustum',ArcFrustum,!![]);var TetrahedronFS='in\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0ain\x20vec2\x20v_st;\x0auniform\x20vec4\x20color;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20vec3\x20normalECMars3D\x20=\x20normalize(v_normalEC);\x0a\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20normalECMars3D\x20=\x20faceforward(normalECMars3D,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalECMars3D);\x0a\x20\x20#endif\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.normalEC\x20=\x20normalECMars3D;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20materialInput.st\x20=\x20v_st;\x0a\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20material.alpha\x20=\x20(mix(0.1,\x201.0,\x20clamp((1.0\x20-\x20st.t)\x20*\x20color.a,\x200.0,\x201.0))\x20+\x20(1.0\x20-\x20sign(st.t\x20-\x20czm_frameNumber\x20*\x200.001))\x20*\x200.2\x20+\x200.4)\x20*\x20globalAlpha;\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x0a\x20\x20#ifdef\x20FLAT\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20#else\x0a\x20\x20out_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20#endif\x0a}\x0a',TetrahedronVS='in\x20vec3\x20position;\x0ain\x20vec3\x20normal;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec3\x20v_normalEC;\x0aout\x20vec2\x20v_st;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20v_positionEC\x20=\x20(czm_modelView\x20*\x20vec4(position,\x201.0)).xyz;\x20\x20\x20\x20\x20\x20\x20//\x20position\x20in\x20eye\x20coordinates\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20normal\x20in\x20eye\x20coordinates\x0a\x20\x20v_st\x20=\x20st;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20vec4(position,\x201.0);\x0a}\x0a';const DEF_STYLE$7={'width':0x14,'height':0x1e,'color':new Cesium__namespace['Color'](0.8,0.8,0x0,0.8),'animation':!![],'moveHeight':0x1e,'moveDuration':0x2,'rotationAngle':0x1};class Tetrahedron extends BasePointPrimitive{constructor(_0x173a3c={}){_0x173a3c['style']={...DEF_STYLE$7,..._0x173a3c['style']},super(_0x173a3c),this['_globalAlpha']=0x1;}get[_0x54a7f1(0x16fb,0x1af1)](){return this;}get[_0x7afdbe(0x1a89,0x1440)](){return this['_color'];}set['color'](_0xce7a7d){this['_color']=getCesiumColor(_0xce7a7d);}get['modelMatrix'](){const _0x937492={_0x35d5c8:0x851},_0x4efe80={_0x17c5d4:0x239},_0x2181da={_0x4e8a15:0x44};if(this[_0x2e86f4(0x61b,0x8a5)][_0xfb5b0(0x910,0xc1f)])return this[_0xfb5b0(0xa9a,0x8cb)]['modelMatrix'];if(!this['position'])return Cesium__namespace['Matrix4'][_0x2e86f4(0x826,0xba1)];function _0xfb5b0(_0x30b96e,_0x5a52f6){return _0x7afdbe(_0x5a52f6,_0x30b96e- -_0x2181da._0x4e8a15);}const _0x54f53a=this['fixedFrameTransform'](this['position']);function _0x2e86f4(_0x583b30,_0x561ee6){return _0x7afdbe(_0x583b30,_0x561ee6- -_0x4efe80._0x17c5d4);}const _0x19ff6e=Cesium__namespace['Matrix4']['fromScale'](new Cesium__namespace[(_0xfb5b0(0x14d1,0x1740))](this['style']['width'],this['style'][_0xfb5b0(0x1741,0x13e7)],this['style'][_0xfb5b0(_0x937492._0x35d5c8,0xf21)])),_0x44d292=Cesium__namespace['Matrix4']['multiply'](_0x54f53a,_0x19ff6e,new Cesium__namespace['Matrix4']());return _0x44d292;}['_addedHook'](_0x16ff76){const _0x24b362={_0x112cc8:0x11cf,_0x3ffedc:0x5ad,_0x1bfd08:0x19f},_0x427a14={_0x5683dd:0x4f1},_0x2e1d73={_0x251a74:0x46d};if(!this[_0x38d9cc(0x18cd,0x1102)]||!this['position'])return;function _0x93f905(_0x1c9c1e,_0x5644fb){return _0x7afdbe(_0x5644fb,_0x1c9c1e- -_0x2e1d73._0x251a74);}this[_0x93f905(0xe95,_0x24b362._0x112cc8)](_0x16ff76,_0x16ff76);function _0x38d9cc(_0x1e4659,_0x2433cb){return _0x54a7f1(_0x2433cb- -_0x427a14._0x5683dd,_0x1e4659);}this['primitiveCollection'][_0x38d9cc(-_0x24b362._0x3ffedc,_0x24b362._0x1bfd08)](this);}['_removedHook'](){const _0x5ea358={_0x140ca4:0x245,_0x4e95ac:0x245},_0x2a7ae5={_0x1ebbc4:0x1fa};!this['_noDestroy']&&(this['stopDraw'](),this['stopEditing']());this[_0x3a5ca4(-0x619,_0x5ea358._0x140ca4)]&&this[_0x3a5ca4(0x954,_0x5ea358._0x4e95ac)]['contains'](this)&&(this['_noDestroy']=!![],this[_0x3a5ca4(-0x55b,0x245)]['remove'](this),this['_noDestroy']=![]);function _0x4b90f2(_0x26cca0,_0x53104a){return _0x54a7f1(_0x26cca0- -0xd3,_0x53104a);}function _0x3a5ca4(_0x34b79e,_0x239e24){return _0x54a7f1(_0x239e24- -_0x2a7ae5._0x1ebbc4,_0x34b79e);}delete this['_modelMatrix'];}[_0x7afdbe(0x465,0xa56)](){this['_modelMatrix']=this['modelMatrix'],this['_clearDrawCommand']();}['_updateStyleHook'](_0x3dbe0c,_0x42853b){const _0x138eba={_0x42cf4d:0x293,_0x51472d:0x57c,_0xc3cc43:0xe9f,_0x3c6058:0xbe2,_0x51f551:0xf8,_0x5bdfba:0x397,_0x196853:0xa17,_0xeaaaba:0x2d2,_0x2b7904:0xe6b},_0xc356b={_0x2d659e:0x1b7};(_0x42853b['width']||_0x42853b['height'])&&this['_updatePositionsHook']();function _0x17e4b8(_0x20a5dc,_0x1cc5d9){return _0x7afdbe(_0x20a5dc,_0x1cc5d9- -_0xc356b._0x2d659e);}this['color']=_0x3dbe0c['color'];function _0x260b3a(_0x26343c,_0xe3ae41){return _0x54a7f1(_0xe3ae41- -0x506,_0x26343c);}this[_0x260b3a(0x115,-_0x138eba._0x42cf4d)]=Cesium__namespace['Math'][_0x17e4b8(0x1400,0x1599)](_0x3dbe0c[_0x260b3a(_0x138eba._0x51472d,0x84a)]),this['_moveMaxHeight']=_0x3dbe0c[_0x260b3a(_0x138eba._0xc3cc43,_0x138eba._0x3c6058)]/this[_0x260b3a(-_0x138eba._0x51f551,-0x6a)][_0x260b3a(_0x138eba._0x5bdfba,0x161)],this['_moveMaxHeight']!==0x0&&(this[_0x260b3a(-_0x138eba._0x196853,-_0x138eba._0xeaaaba)]=this['_moveMaxHeight']/(_0x3dbe0c['moveDuration']*0x3c),this[_0x17e4b8(0x513,_0x138eba._0x2b7904)]=0x0);}['update'](_0x34c68d){const _0x2ebafc={_0x1f34b4:0x4aa,_0x4967e2:0xcf3,_0x59f541:0x3d8,_0x1f8ebf:0x30f,_0x584c57:0x440,_0x3e58fd:0xbec,_0x1cd862:0x1528,_0x7b94c8:0x2f4,_0x373327:0xbb7,_0xbaaa46:0x172e,_0x32b41e:0x1381,_0x5eb4f1:0xbf8,_0x49b170:0x1528},_0x46b318={_0x2c6dc3:0x310},_0x1147cf={_0x1e74fa:0x387};function _0x20a051(_0x32f661,_0x39b65b){return _0x7afdbe(_0x32f661,_0x39b65b- -_0x1147cf._0x1e74fa);}if(!this[_0x20a051(-0x143,0x916)](_0x34c68d['time']))return;if(this[_0x20a051(0xbc2,0x343)][_0x207f44(-0x21f,_0x2ebafc._0x1f34b4)]){if(this[_0x207f44(0x49c,0x2a2)]!==0x0){this[_0x20a051(_0x2ebafc._0x4967e2,0xc9b)]+=this['_moveDistanceStep'];(this['_moveDistanceSum']>=this[_0x207f44(-0x467,0x2a2)]||this['_moveDistanceSum']<=0x0)&&(this['_moveDistanceStep']=-this['_moveDistanceStep']);const _0x5255a4=new Cesium__namespace['Cartesian3'](0x0,0x0,this[_0x20a051(-_0x2ebafc._0x59f541,0xdb)]);Cesium__namespace[_0x207f44(-0x144,0xc8)]['multiplyByTranslation'](this[_0x207f44(0x28e,0xbec)],_0x5255a4,this[_0x207f44(_0x2ebafc._0x1f8ebf,0xbec)]);}if(this['_rotationAngle']!==0x0){const _0x104629=Cesium__namespace[_0x20a051(_0x2ebafc._0x584c57,0x27f)][_0x207f44(0xa44,0x1400)](Cesium__namespace[_0x20a051(0x1242,0x12b7)]['fromRotationZ'](this['_rotationAngle']));Cesium__namespace['Matrix4']['multiply'](this['_modelMatrix'],_0x104629,this[_0x207f44(0x775,_0x2ebafc._0x3e58fd)]);}}!Cesium__namespace[_0x20a051(0x14ed,_0x2ebafc._0x1cd862)](this['_drawCommand'])&&(this[_0x207f44(0xf12,0x86d)]=this[_0x207f44(-_0x2ebafc._0x7b94c8,0x409)](_0x34c68d['context']));function _0x207f44(_0xf8fe08,_0x1af707){return _0x54a7f1(_0x1af707- -_0x46b318._0x2c6dc3,_0xf8fe08);}_0x34c68d[_0x20a051(0x716,_0x2ebafc._0x373327)]['render']?Cesium__namespace[_0x20a051(_0x2ebafc._0xbaaa46,0x1528)](this['_drawCommand'])&&_0x34c68d['commandList'][_0x207f44(_0x2ebafc._0x32b41e,_0x2ebafc._0x5eb4f1)](this[_0x207f44(0x6f0,0x86d)]):Cesium__namespace[_0x20a051(0x1f6c,_0x2ebafc._0x49b170)](this['_pickCommand'])&&_0x34c68d[_0x207f44(0x10a6,0xa12)][_0x207f44(0x8bd,0xbf8)](this['_pickCommand']);}['_clearDrawCommand'](){const _0x15c968={_0x5c10bf:0x8e1,_0x38b496:0x42a,_0xedb31d:0x938,_0x526277:0x1aed,_0x13bbda:0x581,_0x59d4da:0x203,_0x4965f0:0x5f9};Cesium__namespace['defined'](this['_drawCommand'])&&(this['_drawCommand']['vertexArray']&&this['_drawCommand']['vertexArray']['destroy'](),this['_drawCommand'][_0x1c8967(_0x15c968._0x5c10bf,0x3ad)]&&this['_drawCommand'][_0x1b33f8(0x8ac,0x1d5)][_0x1c8967(-0x5bd,0x1ed)](),delete this[_0x1c8967(_0x15c968._0x38b496,_0x15c968._0xedb31d)]);function _0x1c8967(_0x1c3a02,_0x567898){return _0x7afdbe(_0x1c3a02,_0x567898- -0x473);}function _0x1b33f8(_0x20a21a,_0x100977){return _0x7afdbe(_0x20a21a,_0x100977- -0x64b);}Cesium__namespace[_0x1b33f8(_0x15c968._0x526277,0x1264)](this['_pickCommand'])&&(this['_pickCommand'][_0x1c8967(-_0x15c968._0x13bbda,_0x15c968._0x59d4da)]&&this[_0x1b33f8(0x397,0x3b3)][_0x1c8967(-0x8b9,0x203)][_0x1c8967(_0x15c968._0x4965f0,0x1ed)](),this['_pickCommand'][_0x1b33f8(-0x8b4,0x1d5)]&&this['_pickCommand']['shaderProgram']['destroy'](),delete this['_pickCommand']);}['createDrawCommand'](_0x1b25de){const _0x553661={_0x3e7d7c:0x672,_0x5e7935:0xd44,_0x570005:0x204,_0x2b4fb5:0x172e,_0x21ba3d:0x250,_0x142ebd:0x9f8,_0x58a93d:0x121d,_0x5e2f79:0x9d6,_0xaf024d:0xb9b,_0x4cce07:0xb57,_0x3dd5b5:0x58c,_0x353542:0xf70,_0x456d38:0x4bb,_0x1fa7e4:0x17df,_0x18d021:0x142c,_0x19fba4:0x17fc,_0x46b1ce:0xced,_0x3f4a2d:0x1440,_0x1ae7b2:0x8f3,_0x3f3dfd:0xec1,_0x17cf46:0x1aa5,_0x38425a:0x1258,_0x5bdee3:0xc8f,_0x377086:0x1054},_0x2e82c9={_0x23263:0xc67},_0x2a7021={_0x4232a7:0x74},_0x5dc7a3=this['style']['translucent']??![],_0x14807c=this[_0x434adb(-0x5bb,0x4e9)]['closed']??!![],_0x44742d=Cesium__namespace['Appearance'][_0x434adb(_0x553661._0x3e7d7c,0xdbb)](_0x5dc7a3,_0x14807c,this['options'][_0x3879fa(0x1106,_0x553661._0x5e7935)]);function _0x3879fa(_0x3333a8,_0x38640a){return _0x54a7f1(_0x3333a8-_0x2a7021._0x4232a7,_0x38640a);}const _0x14580c=Cesium__namespace['RenderState'][_0x434adb(-_0x553661._0x570005,0x4e3)](_0x44742d),_0x3253f3={};_0x3253f3[_0x434adb(0x1d3f,_0x553661._0x2b4fb5)]=0x0,_0x3253f3[_0x434adb(_0x553661._0x21ba3d,0x6b0)]=0x1;function _0x434adb(_0x3eb25b,_0x1c2b44){return _0x54a7f1(_0x1c2b44-0x4d,_0x3eb25b);}const _0x426647=_0x3253f3,_0x149708={};_0x149708['context']=_0x1b25de,_0x149708['vertexShaderSource']=TetrahedronVS,_0x149708[_0x3879fa(0x1729,0x1a49)]=TetrahedronFS,_0x149708[_0x3879fa(_0x553661._0x142ebd,0x4f6)]=_0x426647;const _0x491d33=Cesium__namespace[_0x434adb(_0x553661._0x58a93d,0xf26)]['fromCache'](_0x149708),_0x469a17=this[_0x3879fa(_0x553661._0x5e2f79,_0x553661._0xaf024d)](_0x1b25de),_0x70d4fa=new Cesium__namespace['BoundingSphere'](this['position'],Math[_0x434adb(0xdf3,_0x553661._0x4cce07)](this['style']['width'],this['style'][_0x3879fa(0x6db,_0x553661._0x3dd5b5)])),_0x413ff5=new Cesium__namespace['DrawCommand']({'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'shaderProgram':_0x491d33,'vertexArray':_0x469a17,'modelMatrix':this[_0x3879fa(_0x553661._0x353542,_0x553661._0x456d38)],'renderState':_0x14580c,'boundingVolume':_0x70d4fa,'uniformMap':{'color':()=>{return this['color'];},'globalAlpha':()=>{function _0x178bb5(_0x26f695,_0x592aef){return _0x434adb(_0x592aef,_0x26f695- -0xc2);}return this[_0x178bb5(0x14bf,_0x2e82c9._0x23263)];}},'castShadows':![],'receiveShadows':![],'pass':Cesium__namespace['Pass'][_0x434adb(0xf30,0x1258)],'owner':this,'pickOnly':!![],'pickCommand':new Cesium__namespace[(_0x3879fa(0x16dd,_0x553661._0x1fa7e4))]({'owner':this,'pickOnly':!![]})});this['bindPickId'](_0x413ff5),_0x413ff5[_0x434adb(0x1bbe,0x12a2)]=_0x1b25de[_0x434adb(0xc76,_0x553661._0x18d021)]({'primitive':_0x413ff5,'id':this['id']});const _0x5c9e19=new Cesium__namespace[(_0x3879fa(0x16dd,0x1f71))]({'owner':_0x413ff5,'primitiveType':Cesium__namespace['PrimitiveType'][_0x434adb(0x1ffd,_0x553661._0x19fba4)],'pickOnly':!![]});_0x5c9e19[_0x434adb(0x6b6,0x495)]=_0x469a17,_0x5c9e19['renderState']=_0x14580c;const _0x1a3305=Cesium__namespace['ShaderProgram']['fromCache']({'context':_0x1b25de,'vertexShaderSource':TetrahedronVS,'fragmentShaderSource':Cesium__namespace[_0x3879fa(_0x553661._0x46b1ce,_0x553661._0x3f4a2d)][_0x434adb(0x45d,_0x553661._0x1ae7b2)](TetrahedronFS,'uniform'),'attributeLocations':_0x426647});return _0x5c9e19['shaderProgram']=_0x1a3305,_0x5c9e19[_0x434adb(0xcc6,_0x553661._0x3f3dfd)]=_0x413ff5['uniformMap'],_0x5c9e19['uniformMap']['czm_pickColor']=()=>{return _0x413ff5['pickId']['color'];},_0x5c9e19['pass']=Cesium__namespace['Pass'][_0x434adb(_0x553661._0x17cf46,_0x553661._0x38425a)],_0x5c9e19[_0x434adb(_0x553661._0x5bdee3,_0x553661._0x377086)]=_0x70d4fa,_0x5c9e19['modelMatrix']=this[_0x434adb(0xc2f,0xf49)],this['_pickCommand']=_0x5c9e19,_0x413ff5;}['createVertexArray'](_0x343d0b){const _0x576962={_0x598d60:0x195b,_0x320e4c:0x106b,_0x47fe51:0xea6,_0x458ceb:0x24d6,_0x1a3d8f:0x1a29,_0x4b3248:0x618,_0x426922:0xd6c,_0x4db5bd:0x4c7,_0x2fbf2c:0xbea,_0xefec89:0xca0,_0x534258:0x9f2},_0x3e6651={_0x429970:0x405},_0x1b2f5c={};_0x1b2f5c[_0x336997(0x216e,_0x576962._0x598d60)]=0x0,_0x1b2f5c[_0x307118(0x25e,0xcfd)]=0x1;function _0x336997(_0x9e574,_0xd17c43){return _0x7afdbe(_0x9e574,_0xd17c43-0x4c);}const _0x579048=_0x1b2f5c,_0x47a5d9=this[_0x307118(0x7ff,_0x576962._0x320e4c)](),_0xbed9d9=new Cesium__namespace[(_0x336997(0x1242,0x1583))]({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':_0x47a5d9[_0x307118(0xcea,0x48b)]}),'textureCoordinates':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x336997(0x1024,0x150c)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x47a5d9['sts']})},'indices':_0x47a5d9[_0x307118(_0x576962._0x47fe51,0x429)],'primitiveType':Cesium__namespace['PrimitiveType'][_0x336997(_0x576962._0x458ceb,_0x576962._0x1a3d8f)],'boundingSphere':Cesium__namespace['BoundingSphere'][_0x307118(0xb9,-_0x576962._0x4b3248)](_0x47a5d9[_0x307118(0xcea,0x1374)])}),_0x3cbce0=Cesium__namespace['GeometryPipeline'][_0x307118(_0x576962._0x426922,_0x576962._0x4db5bd)](_0xbed9d9),_0x27dbbc=Cesium__namespace[_0x336997(_0x576962._0x2fbf2c,0xe4b)]['fromGeometry']({'context':_0x343d0b,'geometry':_0x3cbce0,'attributeLocations':_0x579048,'bufferUsage':Cesium__namespace[_0x307118(0x10ee,0xc34)][_0x307118(_0x576962._0xefec89,_0x576962._0x534258)]});function _0x307118(_0x32b145,_0x1f9b86){return _0x54a7f1(_0x32b145- -_0x3e6651._0x429970,_0x1f9b86);}return _0x27dbbc;}[_0x54a7f1(0xc04,0x13e5)](){const _0x14b01b={_0x3d6af4:0x1480},_0x59339d=new Float64Array(0x5*0x3);_0x59339d[0x0]=0x0,_0x59339d[0x1]=0x1,_0x59339d[0x2]=0x0,_0x59339d[0x3]=-0x1,_0x59339d[0x4]=0x0,_0x59339d[0x5]=0x0,_0x59339d[0x6]=0x0,_0x59339d[0x7]=-0x1,_0x59339d[0x8]=0x0,_0x59339d[0x9]=0x1,_0x59339d[0xa]=0x0,_0x59339d[0xb]=0x0,_0x59339d[0xc]=0x0,_0x59339d[0xd]=0x0,_0x59339d[0xe]=-0x1;const _0x238a73=new Uint16Array(0x6*0x3);_0x238a73[0x0]=0x4,_0x238a73[0x1]=0x2,_0x238a73[0x2]=0x3,_0x238a73[0x3]=0x4,_0x238a73[0x4]=0x3,_0x238a73[0x5]=0x0,_0x238a73[0x6]=0x4,_0x238a73[0x7]=0x0,_0x238a73[0x8]=0x1,_0x238a73[0x9]=0x4,_0x238a73[0xa]=0x1,_0x238a73[0xb]=0x2,_0x238a73[0xc]=0x1,_0x238a73[0xd]=0x2,_0x238a73[0xe]=0x3,_0x238a73[0xf]=0x1,_0x238a73[0x10]=0x3;function _0x3716cf(_0x355e76,_0x283dc0){return _0x54a7f1(_0x355e76- -0x2e0,_0x283dc0);}_0x238a73[0x11]=0x0;const _0x31a1ee=new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0.5,0.5]),_0x3f8e6e={};return _0x3f8e6e['indices']=_0x238a73,_0x3f8e6e['positions']=_0x59339d,_0x3f8e6e[_0x3716cf(_0x14b01b._0x3d6af4,0x16a4)]=_0x31a1ee,_0x3f8e6e;}['setOpacity'](_0x45fe38){const _0x3521de={_0x5dfcc4:0xbf};function _0x3dbbcc(_0x5b6258,_0x2d4b2a){return _0x54a7f1(_0x5b6258-_0x3521de._0x5dfcc4,_0x2d4b2a);}this[_0x3dbbcc(0x15f3,0x1c9c)]=_0x45fe38;}[_0x54a7f1(0x3f7,-0x461)](_0x11d23d,_0x42ad57){return this['_getDrawPointEntityClass'](_0x11d23d,_0x42ad57);}['_clusterShowHook'](_0x10c2c9){}}register$5('tetrahedron',Tetrahedron,!![]);var ViewShedFS='uniform\x20bool\x20mars3d_show;\x0auniform\x20float\x20mars3d_xAngle;\x0auniform\x20float\x20mars3d_yAngle;\x0auniform\x20float\x20mars3d_distance;\x0auniform\x20float\x20mars3d_opacity;\x0a\x0auniform\x20vec3\x20mars3d_visibleAreaColor;\x0auniform\x20vec3\x20mars3d_hiddenAreaColor;\x0a\x0auniform\x20sampler2D\x20shadowMap_texture;\x0auniform\x20mat4\x20shadowMap_matrix;\x0auniform\x20vec4\x20shadowMap_lightPositionEC;\x0auniform\x20vec4\x20shadowMap_lightDirectionEC;\x0auniform\x20vec3\x20shadowMap_lightUp;\x0auniform\x20vec3\x20shadowMap_lightDir;\x0auniform\x20vec3\x20shadowMap_lightRight;\x0auniform\x20vec4\x20shadowMap_texelSizeDepthBias;\x0auniform\x20vec4\x20shadowMap_normalOffsetScale;\x0a\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec4\x20toEye(in\x20vec2\x20uv,\x20in\x20float\x20depth)\x20{\x0a\x20\x20vec2\x20xy\x20=\x20vec2((uv.x\x20*\x202.0\x20-\x201.0),\x20(uv.y\x20*\x202.0\x20-\x201.0));\x0a\x20\x20vec4\x20posInCamera\x20=\x20czm_inverseProjection\x20*\x20vec4(xy,\x20depth,\x201.0);\x0a\x20\x20posInCamera\x20=\x20posInCamera\x20/\x20posInCamera.w;\x0a\x20\x20return\x20posInCamera;\x0a}\x0a\x0afloat\x20getDepthMars3D(in\x20vec4\x20depth)\x20{\x0a\x20\x20float\x20z_window\x20=\x20czm_unpackDepth(depth);\x0a\x20\x20z_window\x20=\x20czm_reverseLogDepth(z_window);\x0a\x20\x20float\x20n_range\x20=\x20czm_depthRange.near;\x0a\x20\x20float\x20f_range\x20=\x20czm_depthRange.far;\x0a\x20\x20return\x20(2.0\x20*\x20z_window\x20-\x20n_range\x20-\x20f_range)\x20/\x20(f_range\x20-\x20n_range);\x0a}\x0afloat\x20_czm_sampleShadowMap(sampler2D\x20shadowMap,\x20vec2\x20uv)\x20{\x0a\x20\x20return\x20texture(shadowMap,\x20uv).r;\x0a}\x0afloat\x20_czm_shadowDepthCompare(sampler2D\x20shadowMap,\x20vec2\x20uv,\x20float\x20depth)\x20{\x0a\x20\x20return\x20step(depth,\x20_czm_sampleShadowMap(shadowMap,\x20uv));\x0a}\x0afloat\x20_czm_shadowVisibility(sampler2D\x20shadowMap,\x20czm_shadowParameters\x20shadowParameters)\x20{\x0a\x20\x20float\x20depthBias\x20=\x20shadowParameters.depthBias;\x0a\x20\x20float\x20depth\x20=\x20shadowParameters.depth;\x0a\x20\x20float\x20nDotL\x20=\x20shadowParameters.nDotL;\x0a\x20\x20float\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0a\x20\x20float\x20darkness\x20=\x20shadowParameters.darkness;\x0a\x20\x20vec2\x20uv\x20=\x20shadowParameters.texCoords;\x0a\x20\x20depth\x20-=\x20depthBias;\x0a\x20\x20vec2\x20texelStepSize\x20=\x20shadowParameters.texelStepSize;\x0a\x20\x20float\x20radius\x20=\x201.0;\x0a\x20\x20float\x20dx0\x20=\x20-texelStepSize.x\x20*\x20radius;\x0a\x20\x20float\x20dy0\x20=\x20-texelStepSize.y\x20*\x20radius;\x0a\x20\x20float\x20dx1\x20=\x20texelStepSize.x\x20*\x20radius;\x0a\x20\x20float\x20dy1\x20=\x20texelStepSize.y\x20*\x20radius;\x0a\x20\x20float\x20visibility\x20=\x20(_czm_shadowDepthCompare(shadowMap,\x20uv,\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(0.0,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x200.0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x200.0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x20dy1),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(0.0,\x20dy1),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x20dy1),\x20depth))\x20*\x20(1.0\x20/\x209.0);\x0a\x20\x20return\x20visibility;\x0a}\x0a\x0avec3\x20pointProjectOnPlane(in\x20vec3\x20planeNormal,\x20in\x20vec3\x20planeOrigin,\x20in\x20vec3\x20point)\x20{\x0a\x20\x20vec3\x20v01\x20=\x20point\x20-\x20planeOrigin;\x0a\x20\x20float\x20d\x20=\x20dot(planeNormal,\x20v01);\x0a\x20\x20return\x20(point\x20-\x20planeNormal\x20*\x20d);\x0a}\x0afloat\x20ptm(vec3\x20pt)\x20{\x0a\x20\x20return\x20sqrt(pt.x\x20*\x20pt.x\x20+\x20pt.y\x20*\x20pt.y\x20+\x20pt.z\x20*\x20pt.z);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20const\x20float\x20PI\x20=\x203.141592653589793;\x0a\x20\x20vec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20vec4\x20currD\x20=\x20texture(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20if(!mars3d_show\x20||\x20currD.r\x20>=\x201.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20float\x20depth\x20=\x20getDepthMars3D(currD);\x0a\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20vec3\x20normalEC\x20=\x20vec3(1.0);\x0a\x20\x20czm_shadowParameters\x20shadowParameters;\x0a\x20\x20shadowParameters.texelStepSize\x20=\x20shadowMap_texelSizeDepthBias.xy;\x0a\x20\x20shadowParameters.depthBias\x20=\x20shadowMap_texelSizeDepthBias.z;\x0a\x20\x20shadowParameters.normalShadingSmooth\x20=\x20shadowMap_texelSizeDepthBias.w;\x0a\x20\x20shadowParameters.darkness\x20=\x20shadowMap_normalOffsetScale.w;\x0a\x20\x20shadowParameters.depthBias\x20*=\x20max(depth\x20*\x200.01,\x201.0);\x0a\x0a\x20\x20vec3\x20directionEC\x20=\x20normalize(positionEC.xyz\x20-\x20shadowMap_lightPositionEC.xyz);\x0a\x20\x20float\x20nDotL\x20=\x20clamp(dot(normalEC,\x20-directionEC),\x200.0,\x201.0);\x0a\x20\x20vec4\x20shadowPosition\x20=\x20shadowMap_matrix\x20*\x20positionEC;\x0a\x20\x20shadowPosition\x20/=\x20shadowPosition.w;\x0a\x20\x20if(any(lessThan(shadowPosition.xyz,\x20vec3(0.0)))\x20||\x20any(greaterThan(shadowPosition.xyz,\x20vec3(1.0))))\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20//坐标与视点位置距离,大于最大距离则舍弃阴影效果\x0a\x20\x20vec4\x20lw\x20=\x20czm_inverseView\x20*\x20vec4(shadowMap_lightPositionEC.xyz,\x201.0);\x0a\x20\x20vec4\x20vw\x20=\x20czm_inverseView\x20*\x20vec4(positionEC.xyz,\x201.0);\x0a\x20\x20if(distance(lw.xyz,\x20vw.xyz)\x20>\x20mars3d_distance)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20//水平夹角限制\x0a\x20\x20vec3\x20ptOnSP\x20=\x20pointProjectOnPlane(shadowMap_lightUp,\x20lw.xyz,\x20vw.xyz);\x0a\x20\x20directionEC\x20=\x20ptOnSP\x20-\x20lw.xyz;\x0a\x20\x20float\x20directionECMO\x20=\x20ptm(directionEC.xyz);\x0a\x20\x20float\x20shadowMap_lightDirMO\x20=\x20ptm(shadowMap_lightDir.xyz);\x0a\x20\x20float\x20cosJJ\x20=\x20dot(directionEC,\x20shadowMap_lightDir)\x20/\x20(directionECMO\x20*\x20shadowMap_lightDirMO);\x0a\x20\x20float\x20degJJ\x20=\x20abs(acos(cosJJ)\x20*\x20(180.0\x20/\x20PI));\x0a\x20\x20if(degJJ\x20>\x20mars3d_xAngle)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20//垂直夹角限制\x0a\x20\x20vec3\x20ptOnCZ\x20=\x20pointProjectOnPlane(shadowMap_lightRight,\x20lw.xyz,\x20vw.xyz);\x0a\x20\x20vec3\x20dirOnCZ\x20=\x20ptOnCZ\x20-\x20lw.xyz;\x0a\x20\x20float\x20dirOnCZMO\x20=\x20ptm(dirOnCZ);\x0a\x20\x20float\x20cosJJCZ\x20=\x20dot(dirOnCZ,\x20shadowMap_lightDir)\x20/\x20(dirOnCZMO\x20*\x20shadowMap_lightDirMO);\x0a\x20\x20float\x20degJJCZ\x20=\x20abs(acos(cosJJCZ)\x20*\x20(180.0\x20/\x20PI));\x0a\x20\x20if(degJJCZ\x20>\x20mars3d_yAngle)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20shadowParameters.texCoords\x20=\x20shadowPosition.xy;\x0a\x20\x20shadowParameters.depth\x20=\x20shadowPosition.z;\x0a\x20\x20shadowParameters.nDotL\x20=\x20nDotL;\x0a\x20\x20float\x20visibility\x20=\x20_czm_shadowVisibility(shadowMap_texture,\x20shadowParameters);\x0a\x0a\x20\x20//可视域\x0a\x20\x20if(visibility\x20==\x201.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_visibleAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_hiddenAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}\x0a}\x0a';const _0xa7284d={};_0xa7284d[_0x7afdbe(0x1b86,0x16d0)]=0x3c,_0xa7284d['angle2']=0x2d,_0xa7284d[_0x7afdbe(0x1ae5,0x14bf)]=0x3e8,_0xa7284d[_0x7afdbe(0x7d1,0x588)]=0.6,_0xa7284d[_0x7afdbe(0x1265,0xd4e)]=0x0,_0xa7284d['showFrustum']=![];const DEF_STYLE$6=_0xa7284d;class ViewShed extends BasePointPrimitive{constructor(_0x3b0e68={},_0x1014cc=!![]){const _0x2ee5e8={_0x4eafed:0x7a7,_0x408c40:0x1139,_0x51e66a:0x14ff,_0x284cbb:0x13ea,_0x116c8b:0xff9,_0x19fc94:0xe06},_0x27d3a8={_0x54ef0a:0x7c},_0x20f69b={_0x28206f:0x56c};_0x1014cc&&(_0x3b0e68['style']={...DEF_STYLE$6,..._0x3b0e68[_0x2f97ff(0x15e,_0x2ee5e8._0x4eafed)]});super(_0x3b0e68),this['_visibleAreaColor']=getCesiumColor(this['style']['visibleAreaColor'],new Cesium__namespace['Color'](0x0,0x1,0x0)),this[_0x2f97ff(_0x2ee5e8._0x408c40,_0x2ee5e8._0x51e66a)]=getCesiumColor(this['style']['hiddenAreaColor'],new Cesium__namespace['Color'](0x1,0x0,0x0)),this[_0x23cc49(0x127f,_0x2ee5e8._0x284cbb)]=this['options'][_0x23cc49(_0x2ee5e8._0x116c8b,_0x2ee5e8._0x19fc94)]??!![];function _0x2f97ff(_0x57f614,_0x408534){return _0x7afdbe(_0x408534,_0x57f614- -_0x20f69b._0x28206f);}function _0x23cc49(_0x583fb3,_0x1643ca){return _0x54a7f1(_0x583fb3-_0x27d3a8._0x54ef0a,_0x1643ca);}this[_0x2f97ff(0x11cb,0x19b1)]=this['style']['maximumDistance']??0x1388;}get['czmObject'](){const _0x4f1a2c={_0x5d2e5d:0x1212,_0x40a2d6:0x8fa};function _0x20c16b(_0x3fcf39,_0x2fa8eb){return _0x54a7f1(_0x2fa8eb- -0x1d6,_0x3fcf39);}return this[_0x20c16b(_0x4f1a2c._0x5d2e5d,_0x4f1a2c._0x40a2d6)];}get[_0x54a7f1(0x14a2,0x1189)](){return this['style']['angle'];}set['angle'](_0x5a0c98){const _0x2b5644={_0x1dc566:0x135f},_0x244944={_0x221f4f:0x143};this['style'][_0x579df9(_0x2b5644._0x1dc566,0x1cca)]=_0x5a0c98;function _0x579df9(_0x120aef,_0x46b468){return _0x54a7f1(_0x120aef- -_0x244944._0x221f4f,_0x46b468);}this['_updateDraw']();}get[_0x54a7f1(0xcf1,0xf88)](){const _0xb92404={_0x2e7e5a:0xa5};function _0x40e38c(_0x5b3225,_0x568fe2){return _0x7afdbe(_0x5b3225,_0x568fe2- -_0xb92404._0x2e7e5a);}return this['style']['angle2']??this['style'][_0x40e38c(0x1a33,0x162b)];}set[_0x54a7f1(0xcf1,0x1167)](_0x572ba1){const _0x370321={_0x6e90d9:0xefe};function _0x2d0a20(_0x257b9c,_0x58bead){return _0x7afdbe(_0x257b9c,_0x58bead- -0x21);}function _0x4d4063(_0x373e1a,_0xd91fa7){return _0x54a7f1(_0x373e1a- -0x1c8,_0xd91fa7);}this['style'][_0x2d0a20(0x58c,_0x370321._0x6e90d9)]=_0x572ba1,this[_0x2d0a20(0xae4,0x6a2)]();}get[_0x54a7f1(0xf29,0x109b)](){return this['_visibleAreaColor'];}set['visibleAreaColor'](_0x1e0de7){this['_visibleAreaColor']=getCesiumColor(_0x1e0de7);}get[_0x7afdbe(0x1f10,0x1506)](){const _0x2a412a={_0x1449f8:0x188f};function _0x3203f3(_0x33af9,_0x3a258e){return _0x54a7f1(_0x33af9-0x1a4,_0x3a258e);}return this[_0x3203f3(0x161b,_0x2a412a._0x1449f8)];}set['hiddenAreaColor'](_0x5ad95c){this['_hiddenAreaColor']=getCesiumColor(_0x5ad95c);}get['opacity'](){return this['style']['opacity'];}set['opacity'](_0x29c568){this['style']['opacity']=_0x29c568;}get[_0x7afdbe(0x22a,0x6f8)](){function _0x43da9(_0x55c7ad,_0x5cf4c6){return _0x7afdbe(_0x55c7ad,_0x5cf4c6- -0x176);}return this['style'][_0x43da9(0x5a,0x582)];}set[_0x54a7f1(0x4ca,0x669)](_0x4ee051){function _0x48564d(_0x54fbc1,_0xa05b12){return _0x7afdbe(_0x54fbc1,_0xa05b12- -0x3da);}this[_0x48564d(-0x156,0x2f0)]['showFrustum']=_0x4ee051,this['_frustumPrimitive']['show']=_0x4ee051;}get['distance'](){const _0x4f95b8={_0x458a49:0x1360},_0x2bfe2f={_0x2afeab:0x15f};function _0x1804f2(_0x1d6c53,_0x4d6982){return _0x7afdbe(_0x4d6982,_0x1d6c53- -_0x2bfe2f._0x2afeab);}return this['style'][_0x1804f2(_0x4f95b8._0x458a49,0x1981)];}set['distance'](_0x13553e){const _0x5b8b20={_0x46db40:0x28d};function _0x5e4e8a(_0x355c36,_0x5428ed){return _0x7afdbe(_0x5428ed,_0x355c36- -0x43d);}this[_0x5e4e8a(_0x5b8b20._0x46db40,-0x51e)]['distance']=_0x13553e,this['_updateDraw']();}get['shadowMap'](){return this['_shadowMap'];}get['camera'](){var _0x3f82e1;function _0x4fa91d(_0x2784c1,_0x4694d1){return _0x54a7f1(_0x4694d1- -0x4a5,_0x2784c1);}return(_0x3f82e1=this[_0x4fa91d(0x986,0x654)])===null||_0x3f82e1===void 0x0?void 0x0:_0x3f82e1['_lightCamera'];}get[_0x7afdbe(0x1851,0x154a)](){function _0x30fb27(_0x496e0e,_0x792f6d){return _0x7afdbe(_0x792f6d,_0x496e0e- -0x258);}return this['options'][_0x30fb27(0x12f2,0x14a7)];}set['targetPosition'](_0x263463){const _0x4d4709={_0x42bb61:0x760,_0x5c4517:0x1157,_0x90f263:0x136c,_0x1756cd:0xeb2,_0x5ba4bc:0xfeb,_0x420a98:0x728,_0xb0c753:0xfeb,_0x22b7b9:0x383},_0x169111={_0x55a610:0x153};var _0x19008a;function _0x4d3eab(_0x2a4162,_0x4fbf34){return _0x54a7f1(_0x4fbf34- -0x2fc,_0x2a4162);}this[_0x4d3eab(0xfa2,0x5b4)][_0x4d3eab(0xb01,0x1020)]=_0x263463;if(!this['_map'])return;const _0x27a0bd=this['position'];if(!_0x27a0bd)return;const _0x48fcd4=LngLatPoint['toCartesian'](_0x263463,(_0x19008a=this['_map'])===null||_0x19008a===void 0x0?void 0x0:_0x19008a[_0x4d3eab(_0x4d4709._0x42bb61,_0x4d4709._0x5c4517)]);this[_0x5e1406(_0x4d4709._0x90f263,0xe1d)]=Cesium__namespace['Cartesian3']['distance'](_0x27a0bd,_0x48fcd4);const _0x292e5e=Cesium__namespace[_0x4d3eab(_0x4d4709._0x1756cd,0xfeb)][_0x5e1406(0x134c,0xac9)](Cesium__namespace[_0x4d3eab(0x8b9,_0x4d4709._0x5ba4bc)][_0x5e1406(0x780,_0x4d4709._0x420a98)](_0x48fcd4,_0x27a0bd,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x43ce74=Cesium__namespace[_0x4d3eab(0x14cd,_0x4d4709._0xb0c753)]['normalize'](_0x27a0bd,new Cesium__namespace['Cartesian3']()),_0x5ae114=new Cesium__namespace['Camera'](this[_0x4d3eab(-_0x4d4709._0x22b7b9,0x4d7)]['scene']);_0x5ae114['position']=_0x27a0bd,_0x5ae114['direction']=_0x292e5e,_0x5ae114['up']=_0x43ce74,this['style']['heading']=Cesium__namespace['Math']['toDegrees'](_0x5ae114['heading'])-0x5a,this['style']['pitch']=Cesium__namespace['Math']['toDegrees'](_0x5ae114[_0x5e1406(0x176d,0xe52)]);function _0x5e1406(_0x47f85a,_0x5536a0){return _0x7afdbe(_0x5536a0,_0x47f85a- -_0x169111._0x55a610);}this['_updateDraw']();}['_showHook'](){const _0x1b5bc1={_0x153b66:0x390};function _0x46f85b(_0x22d958,_0x4df68e){return _0x54a7f1(_0x4df68e- -_0x1b5bc1._0x153b66,_0x22d958);}this['show']?this['_updateDraw']():this[_0x46f85b(0x7cc,0x439)]();}[_0x54a7f1(0x828,0x3b3)](){const _0x184d8d={_0x872c18:0x822};function _0x534cb3(_0x3647a6,_0x4497c7){return _0x54a7f1(_0x4497c7- -0x2d7,_0x3647a6);}this['_shadowMap']['_lightCamera']['position']=this['position'];function _0x436f19(_0x1ec99f,_0x39b19b){return _0x54a7f1(_0x39b19b- -0x1a4,_0x1ec99f);}this['_frustumPrimitive']&&this[_0x534cb3(-0x645,0x364)](this[_0x534cb3(0x389,_0x184d8d._0x872c18)]['_lightCamera']);}['_mountedHook'](){const _0x45a9a1={_0x7a87d4:0x157c,_0x180de3:0x4c3,_0x4cc8c4:0xa74,_0x5ee537:0xd6f};this['options'][_0x2a00dc(0x1822,0x100c)]&&(this[_0x356150(_0x45a9a1._0x7a87d4,0x1430)]=this['options'][_0x2a00dc(0xb91,0x100c)]);function _0x2a00dc(_0x4025b4,_0x5af697){return _0x7afdbe(_0x4025b4,_0x5af697- -0x53e);}function _0x356150(_0x1d3045,_0x3443f4){return _0x54a7f1(_0x3443f4-0x114,_0x1d3045);}this['_defaultColorTexture']=new Cesium__namespace['Texture']({'context':this[_0x2a00dc(0x901,_0x45a9a1._0x180de3)][_0x2a00dc(_0x45a9a1._0x4cc8c4,_0x45a9a1._0x5ee537)]['context'],'source':{'width':0x1,'height':0x1,'arrayBufferView':new Uint8Array([0x0,0x0,0x0,0x0])},'flipY':![]});}['_addedHook'](_0x5e22c3){const _0x34953a={_0x585e58:0xff,_0x45f026:0x50c,_0x35dee4:0x688,_0x38c65c:0x51b,_0x28c46e:0x6f7},_0x76bf15={_0x49a430:0x4f5};this['_hasTerrainShadows']&&(this[_0x2eea0d(-_0x34953a._0x585e58,_0x34953a._0x45f026)]['viewer']['terrainShadows']=Cesium__namespace[_0x2eea0d(0x7e9,0x9e8)][_0x2eea0d(_0x34953a._0x35dee4,_0x34953a._0x38c65c)]);function _0x2eea0d(_0x39d3c1,_0x464126){return _0x7afdbe(_0x39d3c1,_0x464126- -_0x76bf15._0x49a430);}this['_updateDraw']();function _0x336e06(_0x52621e,_0x2a4103){return _0x7afdbe(_0x2a4103,_0x52621e- -0x1c7);}this['primitiveCollection'][_0x336e06(_0x34953a._0x28c46e,-0x10d)](this);}['_removedHook'](){const _0xd3d09f={_0x441474:0xa32,_0x3dedc2:0x10e4,_0x3c5f44:0x1478,_0x23df83:0x49e,_0x5e54c9:0x511};this['stopDraw']();function _0x34bd48(_0x36c35e,_0x35ed68){return _0x7afdbe(_0x35ed68,_0x36c35e- -0x572);}this['_hasTerrainShadows']&&(this['_map']['terrainShadows']=Cesium__namespace[_0x2d4d6b(_0xd3d09f._0x441474,0x4f6)][_0x2d4d6b(_0xd3d09f._0x3dedc2,_0xd3d09f._0x3c5f44)]);function _0x2d4d6b(_0x48ad42,_0x48e9e6){return _0x7afdbe(_0x48e9e6,_0x48ad42- -0x4ab);}this[_0x34bd48(0x485,_0xd3d09f._0x23df83)](),this['primitiveCollection']&&this[_0x34bd48(0xfb,0x6ca)]['contains'](this)&&(this['_noDestroy']=!![],this['primitiveCollection'][_0x2d4d6b(_0xd3d09f._0x5e54c9,-0x3f2)](this),this['_noDestroy']=![]);}[_0x54a7f1(0x14e7,0x1f0d)](){}[_0x54a7f1(0xa33,0x336)](){}['updateModelMatrix'](){function _0x419643(_0x2de34c,_0xde558){return _0x54a7f1(_0xde558- -0x257,_0x2de34c);}this[_0x419643(-0x714,0x23e)]();}[_0x54a7f1(0x495,0x5c3)](){const _0x2bd549={_0x5afb5a:0x1069,_0x537288:0x1200,_0x2b6e34:0x14ee,_0x9d1d66:0x85f,_0x54ce87:0xe3c,_0x586df5:0x1130},_0x58da7f={_0x3f61dd:0x492};this[_0x313cb0(0x337,0xa18)]();if(!this['getRealShow']())return;const _0x424a4b=this['position'];if(!_0x424a4b)return;const _0x9a059e=new Cesium__namespace['HeadingPitchRoll'](Cesium__namespace[_0x287a5b(0x1069,0x780)][_0x287a5b(0x12df,0x1d67)](this['heading']+0x5a),Cesium__namespace[_0x287a5b(_0x2bd549._0x5afb5a,0xcdb)]['toRadians'](this[_0x313cb0(_0x2bd549._0x537288,0xaef)]),Cesium__namespace['Math']['toRadians'](this[_0x287a5b(_0x2bd549._0x2b6e34,0x1101)]));function _0x287a5b(_0x56d695,_0x32865e){return _0x7afdbe(_0x32865e,_0x56d695- -0x471);}const _0x125d56=new Cesium__namespace['Camera'](this['_map']['scene']);_0x125d56['position']=_0x424a4b;function _0x313cb0(_0x5b4bc2,_0x5c31ad){return _0x54a7f1(_0x5b4bc2- -_0x58da7f._0x3f61dd,_0x5c31ad);}_0x125d56['frustum']['fov']=Cesium__namespace['Math']['toRadians'](this[_0x313cb0(0x1010,0x1027)]*0x2),_0x125d56[_0x287a5b(0xe02,0xb33)]['aspectRatio']=this['angle']/this[_0x313cb0(_0x2bd549._0x9d1d66,0x43c)],_0x125d56['frustum']['near']=0.01,_0x125d56['frustum']['far']=this['distance'];const _0xc69ba8={};_0xc69ba8[_0x313cb0(-0x185,-0x8d0)]=_0x9a059e['heading'],_0xc69ba8['pitch']=_0x9a059e[_0x313cb0(0x1200,0x1c28)],_0xc69ba8['roll']=_0x9a059e['roll'];const _0x3e6714={};_0x3e6714['destination']=_0x424a4b,_0x3e6714['orientation']=_0xc69ba8,_0x125d56['setView'](_0x3e6714),this['_createFrustumPrimitive'](_0x125d56),this['_shadowMap']=new Cesium__namespace['ShadowMap']({'lightCamera':_0x125d56,'context':this[_0x287a5b(0x590,0x5e0)][_0x287a5b(_0x2bd549._0x54ce87,_0x2bd549._0x586df5)]['context'],'maximumDistance':this['_maximumDistance'],'isSpotLight':!![],'cascadesEnabled':![],'enabled':![],'depthBiasStep':this[_0x287a5b(0x66d,0x64d)]['depthBiasStep']??0x1}),this['_createPostProcessStage']();}['_clearDraw'](){const _0x185fb1={_0x382fd4:0x310,_0x3fb322:0x751,_0x3f6be5:0xcfe,_0x3ebd35:0x5ca,_0x28fc57:0x109f,_0x289e9f:0x9ae,_0x50a7d4:0x572},_0x136ad7={_0x50411f:0x102};function _0x4a9cfc(_0x3381a0,_0x3df470){return _0x7afdbe(_0x3381a0,_0x3df470- -0x379);}function _0x34fc81(_0x2d6f06,_0x34d376){return _0x7afdbe(_0x2d6f06,_0x34d376- -_0x136ad7._0x50411f);}if(!this['_map'])return;this[_0x34fc81(_0x185fb1._0x382fd4,0xbfc)]&&(this['_map'][_0x34fc81(0xbbf,0x11ab)][_0x34fc81(_0x185fb1._0x3fb322,_0x185fb1._0x3f6be5)]['remove'](this['_postProcessStage']),delete this[_0x34fc81(_0x185fb1._0x3ebd35,0xbfc)]),this[_0x4a9cfc(_0x185fb1._0x28fc57,_0x185fb1._0x289e9f)]&&(this[_0x34fc81(0xedd,0xc25)]['destroy'](),delete this['_shadowMap']),this[_0x4a9cfc(_0x185fb1._0x50a7d4,0xf2d)]&&(this['_layer']['removeGraphic'](this[_0x4a9cfc(0x1173,0xf2d)],!![]),delete this[_0x34fc81(0x15c9,0x11a4)]);}['update'](_0x5149e8){const _0x22c3ff={_0xa5d587:0x660,_0x5608e6:0x952,_0x39f124:0x6c1,_0x1effb7:0xe9e,_0x444fc8:0x198d,_0x57f466:0x943,_0x3e7007:0x8d,_0x534398:0x8b,_0x1581b2:0x687,_0x45d951:0x954,_0x3c7f66:0x16ff,_0x278a37:0x11e4,_0x2e3fef:0x1371,_0x37a50d:0xaa5,_0x16c540:0x1103,_0xcb7f12:0x1049,_0x290b42:0xaf9,_0x165527:0xf25,_0x1c4cb4:0xda5,_0x569305:0x60b};if(!this[_0x46a335(_0x22c3ff._0xa5d587,0xba2)](_0x5149e8[_0x46a335(0x650,_0x22c3ff._0x5608e6)])){this[_0x46a335(_0x22c3ff._0x39f124,_0x22c3ff._0x1effb7)]['enabled']=![];this['_frustumPrimitive']&&(this['_frustumPrimitive']['show']=![]);return;}function _0x3cdbc1(_0x3da29e,_0xa9847f){return _0x54a7f1(_0x3da29e-0x2ac,_0xa9847f);}const _0x2d3867=this['style'][_0x3cdbc1(0xf4b,0x1293)];if(_0x2d3867&&this[_0x46a335(0x6c1,0x3f1)]){let _0x6ec65d;this['_map']['mode']===Cesium__namespace['SceneMode']['SCENE3D']?_0x6ec65d=Cesium__namespace['Cartesian3']['distance'](this[_0x3cdbc1(_0x22c3ff._0x444fc8,0x106b)],this['_map']['camera'][_0x46a335(_0x22c3ff._0x57f466,0xd14)]):_0x6ec65d=this['_map']['camera']['positionCartographic']['height'];const _0x30ca6d=this['style']['distanceDisplayCondition_near']??_0x2d3867[_0x3cdbc1(0x5c9,0xeff)],_0x3d8220=this[_0x46a335(_0x22c3ff._0x3e7007,-_0x22c3ff._0x534398)]['distanceDisplayCondition_far']??_0x2d3867[_0x46a335(0x137d,0xfe8)];if(_0x30ca6d>_0x6ec65d||_0x3d8220<_0x6ec65d){this[_0x46a335(0x6c1,_0x22c3ff._0x1581b2)]['enabled']=![];this['_frustumPrimitive']&&(this['_frustumPrimitive']['show']=![]);return;}this[_0x3cdbc1(0xd7c,_0x22c3ff._0x45d951)]['enabled']===![]&&(this[_0x46a335(0x6c1,0x13c)][_0x3cdbc1(0xe4f,_0x22c3ff._0x3c7f66)]=!![]),this[_0x3cdbc1(0x1324,0xd64)]&&this['_frustumPrimitive'][_0x46a335(_0x22c3ff._0x278a37,_0x22c3ff._0x2e3fef)]===![]&&(this[_0x3cdbc1(0x1324,_0x22c3ff._0x37a50d)]['show']=this['showFrustum']&&this[_0x46a335(0x11e4,_0x22c3ff._0x16c540)]);}this[_0x3cdbc1(_0x22c3ff._0xcb7f12,0x181d)]&&this[_0x3cdbc1(0xad4,0x14fe)]();function _0x46a335(_0x36fa96,_0x3031e4){return _0x7afdbe(_0x3031e4,_0x36fa96- -0x63d);}this['_shadowMap']&&_0x5149e8['shadowMaps'][_0x46a335(_0x22c3ff._0x290b42,_0x22c3ff._0x165527)](this[_0x3cdbc1(_0x22c3ff._0x1c4cb4,_0x22c3ff._0x569305)]);}['_createFrustumPrimitive'](_0xfd11f4){const _0x2117e0={_0x44e547:0xc5c,_0xb510bf:0xfdc,_0x394796:0x1077};function _0x5ed01e(_0x308e77,_0x10c06f){return _0x54a7f1(_0x10c06f- -0x4a9,_0x308e77);}this['_frustumPrimitive']&&this[_0x5ed01e(0x73c,0x1184)]['removeGraphic'](this[_0x449d13(_0x2117e0._0x44e547,0x1120)],!![]);function _0x449d13(_0x1cbc78,_0x52fb81){return _0x7afdbe(_0x1cbc78,_0x52fb81- -0x186);}const _0xdefdf6=this[_0x449d13(0xde0,0x1339)]+0x1;this['_frustumPrimitive']=new ArcFrustum({'modelMatrix':_0xfd11f4[_0x449d13(0xc02,_0x2117e0._0xb510bf)],'style':{'angle':this['angle'],'angle2':this['angle2'],'distance':_0xdefdf6},'show':this['showFrustum']&&this['show'],'private':!![]}),this[_0x5ed01e(0x1a64,0x1184)][_0x449d13(0x997,_0x2117e0._0x394796)](this[_0x5ed01e(0xa2d,0xbcf)]);}[_0x7afdbe(0x16c7,0x16d7)](){const _0x2591bf={_0x5977fd:0x67d,_0x3418e7:0x9f8,_0x468ab3:0x6a6,_0x32dc05:0xc2c},_0x320f66={_0x17df25:0x3a1,_0x38ad35:0x33d,_0x5abfda:0xb60,_0x5ec5f7:0x12c6,_0x3865fd:0x50b},_0x2db8db={_0x33fe8d:0x806,_0x6db81a:0x339,_0x593547:0x40a},_0x272018={_0x15b7de:0xd25},_0x6e8cf0={_0x285d1c:0x2ba,_0xee3d93:0xf2},_0x30f0b6={_0x174f35:0x33},_0x1ba0f8={_0x38551d:0xaa1,_0x2f5d19:0x7d4},_0x44b41c={_0x2960ac:0x1052},_0x593d65={_0x20cfd2:0x441,_0x81d547:0x1339,_0x53dd57:0x5f8},_0x483fc3={_0xb06083:0x601},_0x4aa6e0={_0x529cdf:0xdd8},_0x3d3533={_0x26bcec:0x1196,_0x3c3b20:0x15b8};this[_0x2e43a4(0x5ab,_0x2591bf._0x5977fd)]&&(this['_map']['scene']['postProcessStages']['remove'](this['_postProcessStage']),delete this['_postProcessStage']);const _0x58a02a=new Cesium__namespace[(_0x2e43a4(0x11c7,0x12b1))](),_0x1e187b=new Cesium__namespace['Cartesian4']();function _0xb8adce(_0x292320,_0x334040){return _0x7afdbe(_0x334040,_0x292320- -0x54b);}function _0x2e43a4(_0x1308bf,_0x32c83f){return _0x7afdbe(_0x1308bf,_0x32c83f- -0x681);}const _0x1949e7=new Cesium__namespace[(_0xb8adce(0x43f,_0x2591bf._0x3418e7))](),_0x482871=this[_0x2e43a4(0xa60,_0x2591bf._0x468ab3)]['_primitiveBias'];this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'fragmentShader':ViewShedFS,'uniforms':{'mars3d_show':()=>{var _0x28976e;function _0x2c7b14(_0x5a7a1e,_0x6e242e){return _0x2e43a4(_0x6e242e,_0x5a7a1e- -0xa);}return this['show']&&((_0x28976e=this['_layer'])===null||_0x28976e===void 0x0?void 0x0:_0x28976e[_0x2c7b14(_0x3d3533._0x26bcec,_0x3d3533._0x3c3b20)]);},'mars3d_opacity':()=>{return this['opacity'];},'mars3d_visibleAreaColor':()=>{function _0x4e6941(_0xb92054,_0x28e4bb){return _0xb8adce(_0xb92054-0x480,_0x28e4bb);}return this[_0x4e6941(0x108c,0x8ae)];},'mars3d_hiddenAreaColor':()=>{return this['hiddenAreaColor'];},'mars3d_distance':()=>{function _0x125850(_0xf4a70e,_0x1057a5){return _0x2e43a4(_0xf4a70e,_0x1057a5- -0x66);}return this[_0x125850(0x144e,_0x4aa6e0._0x529cdf)];},'mars3d_xAngle':()=>{return this['angle'];},'mars3d_yAngle':()=>{return this['angle2'];},'shadowMap_texture':()=>{function _0x4d2374(_0x246095,_0xbe2476){return _0xb8adce(_0xbe2476-0x4e0,_0x246095);}function _0x425fa8(_0x29ce59,_0x1ca129){return _0x2e43a4(_0x1ca129,_0x29ce59-_0x483fc3._0xb06083);}return this[_0x425fa8(0xca7,_0x593d65._0x20cfd2)][_0x425fa8(_0x593d65._0x81d547,0x151e)]||this[_0x425fa8(0xbe2,_0x593d65._0x53dd57)];},'shadowMap_matrix':()=>{function _0x1e0c8f(_0x498a18,_0x52e14e){return _0x2e43a4(_0x52e14e,_0x498a18-0x22b);}function _0x36fd5d(_0x48c1f1,_0x2faf68){return _0xb8adce(_0x48c1f1-0x34a,_0x2faf68);}return this[_0x36fd5d(0xb26,0x28e)][_0x1e0c8f(_0x44b41c._0x2960ac,0x19ba)];},'shadowMap_lightPositionEC':()=>{function _0x4d92ef(_0x1e6d34,_0x5a1702){return _0xb8adce(_0x5a1702- -0x8d,_0x1e6d34);}function _0x215427(_0x179cd4,_0x38b794){return _0xb8adce(_0x38b794- -0x45,_0x179cd4);}return this[_0x215427(0x6e8,0x797)][_0x4d92ef(0x880,0x20e)];},'shadowMap_lightDirectionEC':()=>{const _0x1d9df2={_0xee7562:0x556};function _0x2b601b(_0x48da7b,_0x588274){return _0xb8adce(_0x588274-_0x1d9df2._0xee7562,_0x48da7b);}return this['_shadowMap'][_0x2b601b(_0x1ba0f8._0x38551d,_0x1ba0f8._0x2f5d19)];},'shadowMap_lightUp':()=>{function _0x3e5f90(_0x4cbbf0,_0x3d2f8f){return _0x2e43a4(_0x4cbbf0,_0x3d2f8f-0x7);}return this['_shadowMap'][_0x3e5f90(0x8a1,-_0x30f0b6._0x174f35)]['up'];},'shadowMap_lightDir':()=>{function _0xa9a87(_0x12e3e0,_0xa63214){return _0xb8adce(_0x12e3e0-0x1be,_0xa63214);}return this['_shadowMap'][_0xa9a87(_0x6e8cf0._0x285d1c,_0x6e8cf0._0xee3d93)]['direction'];},'shadowMap_lightRight':()=>{function _0x500d8a(_0x2abd8b,_0x1b4762){return _0xb8adce(_0x1b4762-0x1da,_0x2abd8b);}function _0x1c983a(_0x42e516,_0x6f4093){return _0xb8adce(_0x6f4093-0xa4,_0x42e516);}return this[_0x1c983a(0xc0f,0x880)]['_lightCamera'][_0x500d8a(_0x272018._0x15b7de,0x506)];},'shadowMap_texelSizeDepthBias':()=>{const _0x5d25cd={_0x49ba10:0x52c};function _0x392a60(_0x2d7752,_0x57df20){return _0x2e43a4(_0x2d7752,_0x57df20-_0x5d25cd._0x49ba10);}_0x58a02a['x']=0x1/this['_shadowMap']['_textureSize']['x'],_0x58a02a['y']=0x1/this[_0x5e7869(0xb1f,0x64b)]['_textureSize']['y'];function _0x5e7869(_0x566b22,_0x58b4e3){return _0x2e43a4(_0x58b4e3,_0x566b22-0x479);}return Cesium__namespace['Cartesian4'][_0x5e7869(0x4de,_0x2db8db._0x33fe8d)](_0x58a02a['x'],_0x58a02a['y'],_0x482871['depthBias'],_0x482871[_0x392a60(-_0x2db8db._0x6db81a,_0x2db8db._0x593547)],_0x1e187b);},'shadowMap_normalOffsetScale':()=>{const _0x276a39={_0x277913:0x384};function _0x949c97(_0x13365f,_0x5d454a){return _0x2e43a4(_0x5d454a,_0x13365f-0x3e5);}function _0x2e43f7(_0x52e72b,_0x45e672){return _0xb8adce(_0x45e672-_0x276a39._0x277913,_0x52e72b);}return Cesium__namespace['Cartesian4'][_0x949c97(0x44a,0x4ce)](_0x482871[_0x2e43f7(-_0x320f66._0x17df25,_0x320f66._0x38ad35)],this[_0x2e43f7(0x1123,_0x320f66._0x5abfda)]['_distance'],this['_shadowMap'][_0x949c97(0x9a8,_0x320f66._0x5ec5f7)],this[_0x949c97(0xa8b,_0x320f66._0x3865fd)]['_darkness'],_0x1949e7);}}}),this['_map'][_0x2e43a4(0x10db,_0x2591bf._0x32dc05)]['postProcessStages']['add'](this['_postProcessStage']);}['_style2JsonBase'](_0x2141eb,_0x5a7ce2){const _0x141fd3={_0x543a0b:0xd55,_0x388f3e:0x292,_0x2a5a63:0x1216},_0x282546={_0x122a2f:0x7b};_0x2141eb[_0x19ca65(_0x141fd3._0x543a0b,_0x141fd3._0x388f3e)]=formatNum$1(this['heading'],0x1),_0x2141eb[_0x3cbfd0(0xa00,0x12b2)]=formatNum$1(this['pitch'],0x1);function _0x19ca65(_0x5cdb38,_0x4b17f6){return _0x54a7f1(_0x4b17f6- -_0x282546._0x122a2f,_0x5cdb38);}_0x2141eb[_0x19ca65(0xbfb,_0x141fd3._0x2a5a63)]=formatNum$1(this['distance'],0x2);const _0x1ab4b6={};_0x1ab4b6['onlySimpleType']=!![];function _0x3cbfd0(_0x3e8788,_0x15d11c){return _0x54a7f1(_0x15d11c- -0x3e0,_0x3e8788);}return getAttrVal(_0x2141eb,_0x1ab4b6);}['setView'](){const _0xf40d1d={_0xc17cfd:0x2e8,_0x39513f:0x64b,_0x3bc690:0xee4,_0x1d57b4:0x657,_0x28cbe9:0x140,_0x3f4ec9:0x64b,_0x3e8fc7:0x4d8,_0x41cc2e:0xf6b,_0x208f64:0x653,_0x5b167d:0x667},_0x105212={_0x5aefe0:0x3b6};if(!this[_0xabfbde(-_0xf40d1d._0xc17cfd,_0xf40d1d._0x39513f)])return;function _0xabfbde(_0x596345,_0xd4bd33){return _0x7afdbe(_0x596345,_0xd4bd33- -_0x105212._0x5aefe0);}const _0x318f83=this[_0x53fbe3(_0xf40d1d._0x3bc690,_0xf40d1d._0x1d57b4)];if(!_0x318f83)return;this[_0xabfbde(-_0xf40d1d._0x28cbe9,_0xf40d1d._0x3f4ec9)]['camera']['position']=Cesium__namespace['clone'](this['position']);function _0x53fbe3(_0x23c1a7,_0x345136){return _0x7afdbe(_0x23c1a7,_0x345136- -0x132);}this['_map']['camera']['direction']=Cesium__namespace[_0x53fbe3(_0xf40d1d._0x3e8fc7,0x8eb)](_0x318f83['direction']),this[_0x53fbe3(_0xf40d1d._0x41cc2e,0x8cf)]['camera']['right']=Cesium__namespace[_0x53fbe3(_0xf40d1d._0x208f64,0x8eb)](_0x318f83['right']),this[_0xabfbde(0x753,_0xf40d1d._0x3f4ec9)]['camera']['up']=Cesium__namespace[_0xabfbde(0x5e7,_0xf40d1d._0x5b167d)](_0x318f83['up']);}[_0x54a7f1(0x508,0xb87)](_0x5072b9){const _0x50f0de={_0x557de6:0x154},_0x23a329={_0x2fd5a3:0x348};function _0x519302(_0xc65c91,_0xee7e34){return _0x54a7f1(_0xc65c91- -_0x23a329._0x2fd5a3,_0xee7e34);}this[_0x519302(_0x50f0de._0x557de6,-0x4cc)]['opacity']=_0x5072b9;}['startDraw'](_0x3c2cc0){const _0xead1fe={_0x5f122a:0x1b8b,_0x422b09:0x31f,_0x3cbd4d:0x1677},_0x33b337={_0x3a7daa:0x208},_0x14e54e={_0x42b403:0x114};if(this['_enabledDraw'])return this;this[_0x11f31f(0xf78,0x1822)]=!![];function _0x27cd91(_0x2e73f6,_0x1eec24){return _0x54a7f1(_0x1eec24-_0x14e54e._0x42b403,_0x2e73f6);}_0x3c2cc0&&this[_0x27cd91(_0xead1fe._0x5f122a,0x112e)](_0x3c2cc0);function _0x11f31f(_0x6971a0,_0x3bc559){return _0x7afdbe(_0x3bc559,_0x6971a0- -_0x33b337._0x3a7daa);}if(!this['_map'])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_map']['_setEditCursor'](!![]),this[_0x11f31f(_0xead1fe._0x422b09,-0x13a)](![]),this[_0x27cd91(0xaff,0x392)](),this[_0x27cd91(_0xead1fe._0x3cbd4d,0xfcc)](EventType['drawStart'],{'drawType':this['type'],'graphic':this},!![]);}['stopDraw'](){const _0x3731b0={_0x18cf23:0x12b,_0x59f1e4:0x498,_0x328bdf:0x7ac,_0x3d2a4c:0xaac,_0x6a7a6:0xc69,_0x46cfdf:0x3e7},_0x4c3eef={_0x199c23:0x16e};function _0x5c1dbb(_0x4b0b44,_0x47722a){return _0x54a7f1(_0x4b0b44- -0x2f6,_0x47722a);}function _0x55ef1e(_0x22f978,_0x528b00){return _0x54a7f1(_0x22f978-_0x4c3eef._0x199c23,_0x528b00);}var _0x2dce9c,_0x215ca4;if(!this['_enabledDraw'])return this;this[_0x55ef1e(0xbd8,_0x3731b0._0x18cf23)](),this['_map']['_setEditCursor'](![]),this['enableControl'](!![]),this['_map']['closeSmallTooltip'](),this['_enabledDraw']=![];if(!this['position']||!this['distance']){this[_0x5c1dbb(_0x3731b0._0x59f1e4,0x9a6)](!![]);return;}this[_0x5c1dbb(0xbc2,0x10ed)](EventType['drawCreated'],{'drawType':this['type'],'graphic':this},!![]),(_0x2dce9c=this[_0x55ef1e(0xa1e,_0x3731b0._0x328bdf)])!==null&&_0x2dce9c!==void 0x0&&_0x2dce9c['success']&&this['options'][_0x5c1dbb(0xf45,0xa59)](this),(_0x215ca4=this['options'])!==null&&_0x215ca4!==void 0x0&&(_0x215ca4=_0x215ca4[_0x55ef1e(0x3f1,0x110)])!==null&&_0x215ca4!==void 0x0&&_0x215ca4[_0x5c1dbb(_0x3731b0._0x3d2a4c,_0x3731b0._0x6a7a6)]&&this[_0x55ef1e(0xa1e,_0x3731b0._0x46cfdf)][_0x55ef1e(0x3f1,0x666)]['resolve'](this);}['_startDrawHook'](){const _0x24e042={_0x35fdfc:0x960,_0x3552cc:0x865,_0xfe21bf:0xeec,_0x1c5244:0x680},_0x3cf91d={_0x41109a:0x5a7};function _0x163075(_0x309677,_0x3b73db){return _0x7afdbe(_0x309677,_0x3b73db- -0x19c);}this[_0x163075(0x101b,0x865)]['on'](EventType[_0x163075(_0x24e042._0x35fdfc,0xf9c)],this['_onClickHandler'],this);function _0x1b8885(_0x3dee3a,_0x581c39){return _0x7afdbe(_0x3dee3a,_0x581c39- -_0x3cf91d._0x41109a);}this[_0x163075(0xb59,_0x24e042._0x3552cc)]['on'](EventType[_0x1b8885(_0x24e042._0xfe21bf,0x7fc)],this[_0x1b8885(-0x39a,_0x24e042._0x1c5244)],this);}[_0x7afdbe(0xc51,0xc98)](){const _0x282824={_0x20283a:0x5b8};function _0x8dca3a(_0x103278,_0x528c93){return _0x7afdbe(_0x528c93,_0x103278- -0x449);}this[_0x8dca3a(_0x282824._0x20283a,0xa56)][_0x1ad0c1(0x966,0x48b)](EventType['click'],this['_onClickHandler'],this);function _0x1ad0c1(_0x4a4486,_0xae67c7){return _0x54a7f1(_0xae67c7-0x13e,_0x4a4486);}this['_map']['off'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);}[_0x7afdbe(0xb80,0x1049)](_0x517e10){const _0x4364bb={_0x7b68a:0xd0,_0x103503:0x481,_0x1cd555:0x12fd,_0x1ff58f:0x16f8,_0x219c20:0x1705,_0x18da67:0x7b4,_0x4b3c70:0x4b3,_0x3247a5:0x941,_0x245470:0x1c0a,_0x4706e3:0x1333,_0x379a5b:0x1466,_0x41c3ce:0x1739,_0x239774:0x11e8};let _0x287c1a=_0x517e10['cartesian'];function _0x19049d(_0x1dd8c0,_0x4418b7){return _0x54a7f1(_0x4418b7- -0x3b5,_0x1dd8c0);}if(!_0x287c1a)return;_0x517e10={..._0x517e10,'drawType':this[_0x19049d(_0x4364bb._0x7b68a,_0x4364bb._0x103503)],'graphic':this};function _0x17c440(_0x2ab45d,_0x28525c){return _0x54a7f1(_0x28525c-0x17,_0x2ab45d);}this['fire'](EventType['drawAddPoint'],_0x517e10,!![]);if(!this[_0x17c440(_0x4364bb._0x1cd555,_0x4364bb._0x1ff58f)]){this[_0x17c440(_0x4364bb._0x219c20,_0x4364bb._0x1ff58f)]=addPositionsHeight(_0x287c1a,this[_0x17c440(_0x4364bb._0x18da67,_0x4364bb._0x4b3c70)]['addHeight']);return;}const _0x748944=Cesium__namespace[_0x17c440(0x1639,0x12fe)][_0x19049d(0x127f,0xedc)](this['position'],_0x287c1a);_0x748944>this[_0x19049d(0x1559,0x1154)]&&(_0x287c1a=getOnLinePointByLen(this[_0x19049d(_0x4364bb._0x3247a5,0x132c)],_0x287c1a,this[_0x19049d(0xba7,0x1154)])),this[_0x17c440(_0x4364bb._0x245470,_0x4364bb._0x4706e3)]=_0x287c1a,this[_0x19049d(_0x4364bb._0x379a5b,0xd96)](),this['fire'](EventType[_0x19049d(_0x4364bb._0x41c3ce,_0x4364bb._0x239774)],_0x517e10);}[_0x54a7f1(0x9f9,0xe88)](_0x2faf9e){const _0x5d9bfe={_0x28c8ec:0x194d,_0x40edba:0x14fd,_0x29cbd1:0x1cec,_0x3ad114:0x7d3,_0x26fd92:0x4bd,_0x15e9b1:0xca9,_0x3a48d5:0xa3f,_0x5ac82d:0x4f3},_0x32ff9b={_0x462ee6:0x5a7};function _0x38464d(_0x1a6c30,_0x2f1804){return _0x7afdbe(_0x2f1804,_0x1a6c30- -_0x32ff9b._0x462ee6);}let _0x268783=_0x2faf9e['cartesian'];if(!_0x268783)return;const _0x327f38=this[_0x3bca2f(_0x5d9bfe._0x28c8ec,0x1503)];function _0x3bca2f(_0x1f4ca4,_0x56c91d){return _0x7afdbe(_0x56c91d,_0x1f4ca4-0x3e);}if(_0x327f38){const _0x5d9a94=Cesium__namespace['Cartesian3'][_0x3bca2f(_0x5d9bfe._0x40edba,_0x5d9bfe._0x29cbd1)](_0x327f38,_0x268783);_0x5d9a94>this[_0x38464d(0x1190,0x1785)]&&(_0x268783=getOnLinePointByLen(_0x327f38,_0x268783,this['_maximumDistance'])),this['targetPosition']=_0x268783,this[_0x3bca2f(0x1124,0xc22)](EventType[_0x38464d(_0x5d9bfe._0x3ad114,-0xb8)],{..._0x2faf9e,'drawType':this[_0x38464d(_0x5d9bfe._0x26fd92,0xa95)],'graphic':this},!![]),this['_map']['openSmallTooltip'](_0x2faf9e['endPosition'],this['_map'][_0x38464d(_0x5d9bfe._0x15e9b1,0xac2)]('_单击完成绘制'));}else this[_0x3bca2f(_0x5d9bfe._0x3a48d5,_0x5d9bfe._0x5ac82d)][_0x3bca2f(0x19ed,0x23e5)](_0x2faf9e['endPosition'],this['_map']['getLangText']('_单击开始绘制'));}}register$5('viewShed',ViewShed,!![]);var ViewVideoFS=_0x54a7f1(0x1442,0x1b0c);const DEF_STYLE$5={'angle':0x3c,'angle2':0x2d,'distance':0x3e8,'opacity':0x1,'showFrustum':![],'hiddenAreaColor':new Cesium__namespace['Color'](0x0,0x0,0x0,0.5),'flipx':![],'flipy':![]};class Video3D extends ViewShed{constructor(_0x1305ba={}){const _0x1c0aac={_0x1c61f0:0x568},_0x192802={_0x3b3b0f:0x162};_0x1305ba['style']={...DEF_STYLE$5,..._0x1305ba[_0x43a829(0x869,_0x1c0aac._0x1c61f0)]};function _0x43a829(_0x4d9b05,_0x4d320e){return _0x7afdbe(_0x4d9b05,_0x4d320e- -_0x192802._0x3b3b0f);}_0x1305ba['terrain']=![],super(_0x1305ba,![]);}get['container'](){const _0x3db11a={_0x5f2120:0x1097};function _0x4edab0(_0x34b8d9,_0x1856fa){return _0x54a7f1(_0x34b8d9- -0x7c,_0x1856fa);}return this[_0x4edab0(0x7f4,_0x3db11a._0x5f2120)];}get['distance'](){return this['style']['distance'];}set['distance'](_0x504f97){const _0x2ad252={_0x1b8271:0xd03},_0x16eb00={_0x2666b3:0x1bf};function _0x560f51(_0x415de2,_0x2638d3){return _0x7afdbe(_0x415de2,_0x2638d3- -_0x16eb00._0x2666b3);}this['style']['distance']=_0x504f97,this[_0x560f51(_0x2ad252._0x1b8271,0x504)]();}get[_0x54a7f1(0xd5b,0xc72)](){const _0x28f60b={_0x14f0cb:0xbdb},_0x3db68b={_0x29bff4:0x1fc};function _0x4036fe(_0x24cfdb,_0x493a0d){return _0x54a7f1(_0x24cfdb- -_0x3db68b._0x29bff4,_0x493a0d);}return this['style'][_0x4036fe(0xb5f,_0x28f60b._0x14f0cb)];}set['flipx'](_0x2f2f84){const _0x4140bc={_0x597216:0x15f1};function _0x20b0ea(_0x428f69,_0xf74660){return _0x54a7f1(_0xf74660-0x1ac,_0x428f69);}this['style'][_0x20b0ea(_0x4140bc._0x597216,0xf07)]=_0x2f2f84;}get['play'](){const _0x42097f={_0xe53aac:0x3eb};function _0x20e433(_0x148c51,_0xacb27a){return _0x54a7f1(_0xacb27a- -0x225,_0x148c51);}function _0x59fa47(_0x3e3d15,_0x393b06){return _0x54a7f1(_0x393b06- -0x3bf,_0x3e3d15);}return this[_0x59fa47(_0x42097f._0xe53aac,0x4f1)][_0x20e433(0x17e1,0xe23)]??!![];}set['play'](_0xa03249){const _0x3ea7e5={_0x4ccc17:0x9fd,_0x450735:0x8ee,_0x4b532e:0x6be,_0x3290a7:0xd17,_0x329a02:0x5a3,_0x533b55:0xe70,_0x95036b:0xd7b,_0x4ea52c:0x1282,_0x93204b:0xa7d,_0x567c2e:0xb0,_0x58d0b9:0x962,_0x16ac09:0x5e1},_0x31f3b2={_0xe6419e:0x2cd};this[_0x27639f(0x9a2,_0x3ea7e5._0x4ccc17)][_0x403335(0xd7b,0x15a2)]=_0xa03249=Boolean(_0xa03249);if(!this[_0x27639f(0x962,_0x3ea7e5._0x450735)])return;function _0x27639f(_0x4ea5c0,_0x24576e){return _0x54a7f1(_0x4ea5c0-0xf2,_0x24576e);}function _0x403335(_0xd98479,_0x3aaf41){return _0x54a7f1(_0xd98479- -_0x31f3b2._0xe6419e,_0x3aaf41);}try{_0xa03249?(this[_0x403335(_0x3ea7e5._0x4b532e,_0x3ea7e5._0x3290a7)]&&(this['_videoSynchronizer']['element']=this['_videoContainer']),this[_0x403335(_0x3ea7e5._0x329a02,_0x3ea7e5._0x533b55)][_0x403335(_0x3ea7e5._0x95036b,_0x3ea7e5._0x4ea52c)]()):(this[_0x27639f(_0x3ea7e5._0x93204b,0x4d4)]&&(this[_0x27639f(0xa7d,_0x3ea7e5._0x567c2e)]['element']=undefined),this[_0x27639f(_0x3ea7e5._0x58d0b9,0x79)][_0x27639f(_0x3ea7e5._0x16ac09,-0x30a)]());}catch(_0x15a272){}}[_0x7afdbe(0x3bb,0x4b9)](){const _0x7c5574={_0x389ef7:0xaa3,_0x491325:0xf32,_0x451705:0xa02,_0x4065d2:0x6b,_0x44f3a1:0xc9d,_0x4e33ca:0x8db,_0xb69b54:0x507,_0x36ba4d:0x7fa,_0xb7a261:0x1bf6,_0x5d1994:0xa93,_0x5963ea:0x14f4,_0x33237c:0x197f,_0x92f9fb:0xbf6,_0x5829c9:0x965,_0x1365f4:0xa02,_0x431844:0xa90},_0x4a252f={_0x53ed34:0x4f4,_0x2ebb5c:0x1ab0,_0x488d1c:0x7a9,_0x1aa5c8:0x71},_0x147c51={_0xcc82b8:0x7c},_0x398eb2={_0x3068cf:0x1c3};super[_0x13d1b9(-0x112,0x2f6)]();const _0x5be7ad=this['style']['maskImage'];function _0x13d1b9(_0x45917b,_0x41d62a){return _0x7afdbe(_0x45917b,_0x41d62a- -_0x398eb2._0x3068cf);}if(_0x5be7ad){const _0x4a7e2f=new Image();_0x4a7e2f[_0x2e5d03(0xddc,_0x7c5574._0x389ef7)]=_0x2e5d03(_0x7c5574._0x491325,0xaf4),_0x4a7e2f['onload']=_0x51930e=>{const _0x36f794={_0x5097cb:0x471};function _0x3bab3f(_0x412202,_0x3575aa){return _0x2e5d03(_0x412202- -_0x36f794._0x5097cb,_0x3575aa);}function _0x176407(_0x4ee70b,_0xa5fb74){return _0x2e5d03(_0x4ee70b- -_0x147c51._0xcc82b8,_0xa5fb74);}this['_maskTexture']=new Cesium__namespace[(_0x176407(0x1882,0x152f))]({'context':this[_0x3bab3f(_0x4a252f._0x53ed34,0x84b)][_0x176407(0x1195,_0x4a252f._0x2ebb5c)][_0x3bab3f(_0x4a252f._0x488d1c,_0x4a252f._0x1aa5c8)],'source':_0x4a7e2f});},_0x4a7e2f['onerror']=_0x3d78ba=>{logError('图片加载失败:'+_0x5be7ad,_0x3d78ba);},_0x4a7e2f[_0x13d1b9(0x1ccf,0x1696)]=_0x5be7ad;}else this['_maskTexture']=new Cesium__namespace['Texture']({'context':this['_map']['scene']['context'],'source':{'width':0x1,'height':0x1,'arrayBufferView':new Uint8Array([0xff,0xff,0xff,0xff])},'flipY':![]});if(this['style']['container'])this[_0x2e5d03(_0x7c5574._0x451705,0x265)]=this[_0x13d1b9(0x131,0x507)]['container'];else this[_0x13d1b9(-_0x7c5574._0x4065d2,0x507)]['url']&&(this[_0x13d1b9(_0x7c5574._0x44f3a1,_0x7c5574._0x4e33ca)]=createVideo(this['style'][_0x2e5d03(0xbb5,0x1301)],this[_0x13d1b9(0xda0,_0x7c5574._0xb69b54)]['fileType'],'',document['body']),this['_videoContainer'][_0x13d1b9(_0x7c5574._0x36ba4d,0x507)][_0x13d1b9(0x1d23,0x173d)]=_0x2e5d03(0x11ca,_0x7c5574._0xb7a261),!this['play']&&this['_videoContainer'][_0x2e5d03(_0x7c5574._0x5d1994,_0x7c5574._0x5963ea)](_0x13d1b9(0xf8a,0x12ad)),this['_hasRemoveElement']=!![]);function _0x2e5d03(_0x2b6a5f,_0x401f4b){return _0x7afdbe(_0x401f4b,_0x2b6a5f- -0x9c);}this['_videoContainer']&&((this['options'][_0x13d1b9(_0x7c5574._0x33237c,0x15fd)]??!![])&&(this[_0x13d1b9(_0x7c5574._0x92f9fb,0x9f6)]=new Cesium__namespace['VideoSynchronizer']({'clock':this[_0x2e5d03(_0x7c5574._0x5829c9,0x400)][_0x2e5d03(0xb6b,0xfe)],'element':this[_0x2e5d03(_0x7c5574._0x1365f4,0xf17)]})),this[_0x13d1b9(_0x7c5574._0x431844,0x83e)]['on'](EventType['clockTick'],this['_onClockTickHandler'],this));}['_removedHook'](){const _0x11cb63={_0x2b2645:0x16dd,_0x3aaf51:0x104e,_0x4bef64:0x291,_0x370dd9:0xcf,_0x2a51e7:0x888,_0x180e89:0x579};function _0xf47a0(_0x8707d9,_0x2e9df1){return _0x54a7f1(_0x2e9df1-0x18,_0x8707d9);}function _0x5ef50b(_0x6abb58,_0x5471fd){return _0x7afdbe(_0x6abb58,_0x5471fd- -0x3cf);}var _0x2daaac;this['_map']['off'](EventType[_0xf47a0(0x11e2,0x1061)],this[_0x5ef50b(_0x11cb63._0x2b2645,0xfff)],this),this['_videoSynchronizer']&&(this[_0xf47a0(_0x11cb63._0x3aaf51,0x9a3)][_0x5ef50b(-0x345,_0x11cb63._0x4bef64)](),delete this['_videoSynchronizer']),this['_hasRemoveElement']&&(_0x2daaac=this[_0xf47a0(_0x11cb63._0x370dd9,_0x11cb63._0x2a51e7)])!==null&&_0x2daaac!==void 0x0&&_0x2daaac['parentNode']&&(this['_videoContainer']['parentNode']['removeChild'](this['_videoContainer']),delete this[_0xf47a0(0x108c,0x78b)],delete this[_0x5ef50b(0x419,0x6cf)]),super[_0xf47a0(_0x11cb63._0x180e89,0xa67)]();}['_onClockTickHandler'](){const _0x4be6ac={_0x289193:0x6a8,_0x304adb:0x54,_0x485fa9:0x15a4,_0x146ef9:0x633,_0x368e0f:0xbc9,_0xf2e992:0x35,_0x182e60:0x22b};function _0x133a6c(_0x38f85b,_0x345397){return _0x7afdbe(_0x38f85b,_0x345397- -0x3f6);}try{this['play']&&this[_0x133a6c(0xb6b,_0x4be6ac._0x289193)]['paused']&&this['_videoContainer'][_0x133a6c(0x1225,0xe80)]();}catch(_0x25ad3a){}if(!this['_videoContainer']||!this[_0x462c50(0x37e,-_0x4be6ac._0x304adb)])return;this['_videoTexture']&&this['_videoTexture']['destroy']();function _0x462c50(_0x3e3be8,_0x167c84){return _0x7afdbe(_0x167c84,_0x3e3be8- -0x683);}this['_videoTexture']=new Cesium__namespace[(_0x133a6c(0x181f,_0x4be6ac._0x485fa9))]({'context':this['_map'][_0x133a6c(0xafb,0xeb7)][_0x462c50(_0x4be6ac._0x146ef9,0x2fe)],'source':this['_videoContainer'],'pixelFormat':Cesium__namespace[_0x462c50(_0x4be6ac._0x368e0f,0xdf4)]['RGBA'],'pixelDatatype':Cesium__namespace['PixelDatatype'][_0x133a6c(-_0x4be6ac._0xf2e992,_0x4be6ac._0x182e60)]});}[_0x54a7f1(0x7c9,0x2d7)](){const _0x421f79={_0x22d226:0xed0,_0x2bd268:0x11c0,_0x4e1af8:0x9b9};function _0x2f61ed(_0x19225a,_0xa86f6b){return _0x54a7f1(_0xa86f6b-0x1f0,_0x19225a);}function _0x15b415(_0x144872,_0x4678eb){return _0x54a7f1(_0x144872-0x93,_0x4678eb);}this['_frustumPrimitive']&&(this[_0x2f61ed(_0x421f79._0x22d226,0x62f)]['remove'](this['_frustumPrimitive']),delete this['_frustumPrimitive']),super[_0x2f61ed(_0x421f79._0x2bd268,_0x421f79._0x4e1af8)]();}['_createFrustumPrimitive'](_0x357e64){const _0x28597b={_0x7ec307:0xb51,_0x2f1e76:0x96,_0x4fc81e:0x12c7,_0x217244:0x8db,_0x3e8713:0x4c6,_0x28cdb0:0xac2,_0x3b1d05:0x194a,_0x3eafdd:0x1212,_0x4322f0:0x1429,_0x9fdbf3:0xf12,_0x39b76e:0x113b,_0x5e1372:0xa67,_0x350241:0x92,_0x511f1e:0x1225,_0x42e040:0xc8a},_0x4bfb8f={_0x15b1af:0x149},_0x43f4ad=_0x357e64[_0x24612b(0xa02,_0x28597b._0x7ec307)],_0x5f22f5=_0x357e64['upWC'];let _0x394a47=_0x357e64[_0x124bea(-0xb51,-_0x28597b._0x2f1e76)];_0x394a47=Cesium__namespace['Cartesian3'][_0x124bea(0x7fa,0x6e6)](_0x394a47,new Cesium__namespace['Cartesian3']());const _0x478d8c=new Cesium__namespace[(_0x24612b(_0x28597b._0x4fc81e,0x1a96))]();function _0x124bea(_0x54e39c,_0x9d1dfb){return _0x54a7f1(_0x9d1dfb- -0x3ee,_0x54e39c);}Cesium__namespace['Matrix3'][_0x24612b(0x473,0x4e8)](_0x478d8c,0x0,_0x394a47,_0x478d8c),Cesium__namespace['Matrix3']['setColumn'](_0x478d8c,0x1,_0x5f22f5,_0x478d8c),Cesium__namespace[_0x24612b(0x12c7,0x1a20)][_0x124bea(_0x28597b._0x217244,0x1ce)](_0x478d8c,0x2,_0x43f4ad,_0x478d8c);const _0x5868a6=Cesium__namespace['Quaternion'][_0x24612b(0x137a,0xb98)](_0x478d8c,new Cesium__namespace[(_0x24612b(0x7ea,-0xeb))]());this['_frustumPrimitive']&&this[_0x124bea(0x43,0x51)][_0x24612b(0x645,_0x28597b._0x3e8713)](this['_frustumPrimitive']);function _0x24612b(_0x641983,_0x2e864b){return _0x54a7f1(_0x641983- -_0x4bfb8f._0x15b1af,_0x2e864b);}const _0x4b0a38={};_0x4b0a38[_0x24612b(0x603,_0x28597b._0x28cdb0)]=_0x357e64[_0x24612b(0x1598,_0x28597b._0x3b1d05)],_0x4b0a38[_0x124bea(0x15a3,_0x28597b._0x3eafdd)]=_0x5868a6,_0x4b0a38['frustum']=_0x357e64[_0x124bea(_0x28597b._0x4322f0,0xc57)],_0x4b0a38[_0x124bea(-0x444,0x55)]=!![];const _0x1aeeb3={};_0x1aeeb3['translucent']=![],_0x1aeeb3['flat']=!![],this['_frustumPrimitive']=new Cesium__namespace['Primitive']({'geometryInstances':new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new Cesium__namespace['FrustumOutlineGeometry'](_0x4b0a38),'attributes':{'color':Cesium__namespace[_0x24612b(_0x28597b._0x9fdbf3,0x1500)]['fromColor'](Cesium__namespace[_0x24612b(_0x28597b._0x39b76e,0xa90)]['AZURE'])}}),'appearance':new Cesium__namespace[(_0x24612b(0x7f7,0x922))](_0x1aeeb3),'asynchronous':![],'show':this['showFrustum']&&this['show']}),this[_0x124bea(-_0x28597b._0x5e1372,0x51)][_0x124bea(_0x28597b._0x350241,0x2a2)](this['_frustumPrimitive']),this['bindPickId'](this[_0x124bea(_0x28597b._0x511f1e,_0x28597b._0x42e040)]);}['_createPostProcessStage'](){const _0x4fa118={_0x3f8b9c:0xc85,_0x45762d:0x7a2,_0x3ae82f:0x9f9,_0x238886:0x898},_0x3c4ce4={_0x5b7e80:0xfb8,_0x11ed74:0x529},_0x50274a={_0x3ee670:0x318},_0x28ceae={_0x3b82e8:0x30e},_0x22bd7b={_0x24cc81:0x953,_0x44dac7:0xfbd,_0x48c7ab:0x5f7},_0x35fa7b={_0x203c3c:0x344},_0x4dee1a={_0x4ca1e6:0x82},_0x412569={_0x30a3be:0x422},_0x3a66d7={_0x3d3a91:0x45c},_0x35b1b1={_0x57d543:0x226},_0x533bb3={_0x26228c:0x1e8};function _0x13ec8a(_0x44e9eb,_0x12d4e9){return _0x7afdbe(_0x44e9eb,_0x12d4e9- -_0x533bb3._0x26228c);}this['_postProcessStage']&&(this['_map'][_0x2bb754(0x108b,0x12a5)]['postProcessStages']['remove'](this['_postProcessStage']),delete this['_postProcessStage']);const _0x1a6a58=new Cesium__namespace['Cartesian2'](),_0x3bfaa5=new Cesium__namespace['Cartesian4'](),_0x24a7c1=new Cesium__namespace[(_0x13ec8a(_0x4fa118._0x3f8b9c,_0x4fa118._0x45762d))]();function _0x2bb754(_0x18e13d,_0x5807d5){return _0x54a7f1(_0x5807d5-_0x35b1b1._0x57d543,_0x18e13d);}const _0x56b45c=this[_0x13ec8a(0x12b,0xb3f)]['_primitiveBias'];this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'fragmentShader':ViewVideoFS,'uniforms':{'mars3d_show':()=>{const _0xff26b6={_0x2836ee:0x50b};function _0x4796e4(_0x4ff1e7,_0x515d7e){return _0x13ec8a(_0x515d7e,_0x4ff1e7- -_0xff26b6._0x2836ee);}var _0x30b90e;return this['show']&&((_0x30b90e=this[_0x4796e4(0x1168,0x14d6)])===null||_0x30b90e===void 0x0?void 0x0:_0x30b90e['show']);},'mars3d_videoTexture':()=>{const _0x5a9192={_0x3ed72a:0x46d},_0x4e4946={_0x1956d7:0x298};function _0x4bcc5a(_0xe2991b,_0x28ef87){return _0x2bb754(_0x28ef87,_0xe2991b- -_0x4e4946._0x1956d7);}function _0x5e048b(_0x1b5eb5,_0x48cd6d){return _0x2bb754(_0x1b5eb5,_0x48cd6d- -_0x5a9192._0x3ed72a);}if(!this['_videoTexture']||this[_0x4bcc5a(_0x3a66d7._0x3d3a91,0xa49)][_0x4bcc5a(0xf68,0x183e)]())return this['_defaultColorTexture'];return this['_videoTexture'];},'mars3d_maskTexture':()=>{return this['_maskTexture'];},'mars3d_opacity':()=>{function _0x1c3d3e(_0x4dcb4b,_0x21c5ce){return _0x13ec8a(_0x21c5ce,_0x4dcb4b- -_0x412569._0x30a3be);}return this[_0x1c3d3e(-_0x4dee1a._0x4ca1e6,0x197)];},'mars3d_hiddenAreaColor':()=>{return this['hiddenAreaColor'];},'shadowMap_texture':()=>{if(!this['_shadowMap']||!this['_shadowMap']['_shadowMapTexture']||this['_shadowMap']['_shadowMapTexture']['isDestroyed']())return this['_defaultColorTexture'];return this['_shadowMap']['_shadowMapTexture'];},'shadowMap_matrix':()=>{function _0x342918(_0x2d2873,_0x3eb3a1){return _0x2bb754(_0x3eb3a1,_0x2d2873- -0x325);}return this[_0x342918(0x9fa,_0x35fa7b._0x203c3c)]['_shadowMapMatrix'];},'shadowMap_lightPositionEC':()=>{return this['_shadowMap']['_lightPositionEC'];},'shadowMap_texelSizeDepthBias':()=>{function _0x30e269(_0x1a519e,_0x4668ec){return _0x13ec8a(_0x1a519e,_0x4668ec- -0x1af);}_0x1a6a58['x']=0x1/this['_shadowMap'][_0x3a5bd8(0x41,_0x22bd7b._0x24cc81)]['x'],_0x1a6a58['y']=0x1/this['_shadowMap'][_0x30e269(_0x22bd7b._0x44dac7,_0x22bd7b._0x48c7ab)]['y'];function _0x3a5bd8(_0x52f929,_0x32f006){return _0x2bb754(_0x52f929,_0x32f006- -0x33);}return Cesium__namespace['Cartesian4']['fromElements'](_0x1a6a58['x'],_0x1a6a58['y'],_0x56b45c['depthBias'],_0x56b45c[_0x3a5bd8(0x832,0x524)],_0x3bfaa5);},'shadowMap_normalOffsetScale':()=>{const _0x48491f={_0x290bdc:0x6fd};function _0x59bd6f(_0x514357,_0x302c28){return _0x13ec8a(_0x514357,_0x302c28- -0x65);}function _0x45946c(_0x15c8df,_0x17fcdd){return _0x2bb754(_0x17fcdd,_0x15c8df- -_0x48491f._0x290bdc);}return Cesium__namespace['Cartesian4']['fromElements'](_0x56b45c['normalOffsetScale'],this['_shadowMap']['_distance'],this['_shadowMap']['maximumDistance'],this[_0x59bd6f(_0x28ceae._0x3b82e8,0xada)][_0x45946c(0x107b,0xe86)],_0x24a7c1);},'mars3d_flipx':()=>{function _0x989ceb(_0x2a514b,_0x38588d){return _0x2bb754(_0x38588d,_0x2a514b- -0x3aa);}return this[_0x989ceb(_0x50274a._0x3ee670,0xc12)]['flipx'];},'mars3d_flipy':()=>{function _0x12ee6a(_0x2b1b0b,_0x100721){return _0x2bb754(_0x100721,_0x2b1b0b-0x90);}function _0x4e0dcd(_0x3f0ff0,_0x1df000){return _0x13ec8a(_0x1df000,_0x3f0ff0- -0x4fb);}return this[_0x4e0dcd(-0x19,0x922)][_0x4e0dcd(_0x3c4ce4._0x5b7e80,_0x3c4ce4._0x11ed74)];}}}),this[_0x2bb754(0x6e9,_0x4fa118._0x3ae82f)]['scene'][_0x13ec8a(_0x4fa118._0x238886,0xc18)]['add'](this[_0x13ec8a(0x143d,0xb16)]);}}register$5('video3D',Video3D,!![]);let globeLastRoam;class Route extends BasePointPrimitive{constructor(_0x4fcd82={}){const _0x523a94={_0x29011b:0x96c,_0x27070e:0x42f,_0xa5e520:0x49c,_0x5dd878:0x389,_0x5392bd:0x82d,_0x5ecb8b:0x1260,_0x492887:0xe1b,_0x58f46a:0xf71,_0x5c3f7c:0x1009},_0x2da4c6={_0x16baf4:0x6af};super(_0x4fcd82),this[_0x4d9548(0x8b0,0x1f8)]['frameRate']=this[_0x4d9548(0x8b0,_0x523a94._0x29011b)][_0x3cd667(0x1058,0xc69)]??0x1;function _0x4d9548(_0x40f41e,_0x2ab5c2){return _0x54a7f1(_0x40f41e-0x0,_0x2ab5c2);}this['_maxCacheCount']=this['options']['maxCacheCount']??0x64,this[_0x4d9548(0x680,-0x67)]=-0x1,this[_0x3cd667(-0x262,0x7a6)]=this[_0x3cd667(-0x476,_0x523a94._0x27070e)]['frameRateHeight']??0x1e,this['_zhStyle'](this[_0x4d9548(0x8b0,-0x39)][_0x4d9548(_0x523a94._0xa5e520,0x174)]);function _0x3cd667(_0x17338a,_0x291893){return _0x7afdbe(_0x17338a,_0x291893- -_0x2da4c6._0x16baf4);}this[_0x3cd667(0x2e6,_0x523a94._0x5dd878)]={},this['_position_result']=new Cesium__namespace['Cartesian3'](),this['property']=this[_0x3cd667(_0x523a94._0x5392bd,_0x523a94._0x27070e)][_0x3cd667(0x8a4,_0x523a94._0x5ecb8b)]||new Cesium__namespace['SampledPositionProperty'](this[_0x4d9548(0x8b0,_0x523a94._0x492887)]['referenceFrame'],this['options']['numberOfDerivatives']),this['property']['forwardExtrapolationType']=this['options']['forwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],this['property']['backwardExtrapolationType']=this[_0x4d9548(0x8b0,0xcc6)]['backwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],this[_0x4d9548(_0x523a94._0x58f46a,0xca9)]=this[_0x4d9548(0x8b0,0xd48)]['orientation']||new Cesium__namespace[(_0x4d9548(0x12bd,0xcd2))](this['property']),this['_readyPromise']=Cesium__namespace[_0x4d9548(0x1115,_0x523a94._0x5c3f7c)]();}get[_0x54a7f1(0x10ba,0x12b7)](){const _0x52f11c={_0x549e02:0xe38,_0x48f90a:0x9e0},_0x2c8b10={_0x36ae2b:0x1d6};function _0x2dc7b1(_0x1b7b86,_0x36d0a7){return _0x54a7f1(_0x36d0a7-_0x2c8b10._0x36ae2b,_0x1b7b86);}return this[_0x2dc7b1(_0x52f11c._0x549e02,_0x52f11c._0x48f90a)]['label'];}set['label'](_0x4f8198){const _0x5beb41={_0x1dcecd:0xa3e,_0x1589a0:0x2cd},_0x38bc93={_0x225970:0xa0};this[_0x40553e(_0x5beb41._0x1dcecd,_0x5beb41._0x1589a0)]['label']=_0x4f8198;function _0x40553e(_0x4b73d4,_0x36bfea){return _0x7afdbe(_0x36bfea,_0x4b73d4- -_0x38bc93._0x225970);}this['_initChildGraphic']('label',LabelPrimitive);}get[_0x54a7f1(0xd2c,0x7ae)](){const _0xc559ca={_0xb5a3d1:0x602};function _0x3489a0(_0x28e10c,_0x4570d8){return _0x7afdbe(_0x4570d8,_0x28e10c- -0x3f);}return this['_child'][_0x3489a0(0xf1b,_0xc559ca._0xb5a3d1)];}set['billboard'](_0x4a4a9a){const _0x59826f={_0xe83a3b:0x23d,_0x45f015:0x30},_0x41f0dc={_0x5b9cfe:0x3b9};function _0x1ff444(_0x49367a,_0x312443){return _0x7afdbe(_0x312443,_0x49367a- -0x707);}this[_0x1ff444(0x3d7,_0x59826f._0xe83a3b)][_0x1ff444(0x853,0xb6a)]=_0x4a4a9a;function _0x218cdc(_0x1c6f31,_0x157e54){return _0x54a7f1(_0x157e54- -_0x41f0dc._0x5b9cfe,_0x1c6f31);}this['_initChildGraphic'](_0x218cdc(-_0x59826f._0x45f015,0x973),BillboardPrimitive);}get[_0x7afdbe(0x1243,0xf4a)](){return this['_child']['point'];}set[_0x54a7f1(0xd1c,0x1223)](_0x1cd332){const _0x5a4d0d={_0x48ff26:0x316};function _0x240ae9(_0x397902,_0x382c08){return _0x7afdbe(_0x397902,_0x382c08- -_0x5a4d0d._0x48ff26);}this['options']['point']=_0x1cd332,this['_initChildGraphic'](_0x240ae9(0x251,0xc34),PointPrimitive);}get['model'](){function _0x2a2c06(_0x1cac39,_0x534df8){return _0x54a7f1(_0x534df8-0x62,_0x1cac39);}function _0x5b73c2(_0x11ef3d,_0x58f32b){return _0x7afdbe(_0x58f32b,_0x11ef3d- -0xd9);}return this[_0x5b73c2(0x95f,0xb8c)][_0x2a2c06(0x5fc,0x72d)];}set[_0x7afdbe(0x89d,0x8f9)](_0xed4c10){const _0x1139bd={_0x5f2dc3:0x59b},_0x4f27a4={_0x10c75d:0x130};function _0x4f8e67(_0x2b3814,_0x165f02){return _0x54a7f1(_0x165f02- -_0x4f27a4._0x10c75d,_0x2b3814);}this['options'][_0x4f8e67(0x358,_0x1139bd._0x5f2dc3)]=_0xed4c10,this['_initChildGraphic']('model',ModelPrimitive);}get[_0x54a7f1(0x1661,0x1909)](){return this['_readyPromise']['promise'];}get['circle'](){return this['_child']['circle'];}set['circle'](_0x5c49ce){const _0x2da63a={_0x5bfd1c:0xa45,_0x1ff380:0x4ac,_0x50aa8a:0x1034},_0x164534={_0x1def65:0x99},_0x3e07a2={_0x2567d7:0x89};this[_0x2e1605(_0x2da63a._0x5bfd1c,_0x2da63a._0x1ff380)][_0x2e1605(0x1140,0xd70)]=_0x5c49ce;function _0x4bad37(_0x322f80,_0x1d6b44){return _0x54a7f1(_0x1d6b44-_0x3e07a2._0x2567d7,_0x322f80);}function _0x2e1605(_0x4320bf,_0x1bc3af){return _0x7afdbe(_0x1bc3af,_0x4320bf- -_0x164534._0x1def65);}this['_initChildGraphic'](_0x4bad37(0x1112,_0x2da63a._0x50aa8a),CircleEntity);}get['coneTrack'](){const _0xe15415={_0x5c0de8:0xcb3,_0x3e1c85:0x4bd},_0x21ccb6={_0x2186e8:0x57b};function _0x3cbd40(_0x2c03b2,_0x550754){return _0x7afdbe(_0x2c03b2,_0x550754- -_0x21ccb6._0x2186e8);}return this[_0x3cbd40(_0xe15415._0x5c0de8,_0xe15415._0x3e1c85)]['coneTrack'];}set['coneTrack'](_0x2d4dfa){this['options'][_0x52cb77(0x135f,0x91f)]=_0x2d4dfa;function _0x52cb77(_0x1d9cbe,_0x2b29af){return _0x54a7f1(_0x2b29af-0x263,_0x1d9cbe);}this['_initChildGraphic']('coneTrack',ConeTrack);}get['path'](){const _0x57c3e8={_0x3aafbc:0x291,_0x3e4a32:0x32c},_0x2fd417={_0x5891d1:0x70c},_0x763535={_0x5ddc26:0x40e};function _0x2c7869(_0x4f2524,_0x5853a8){return _0x54a7f1(_0x4f2524- -_0x763535._0x5ddc26,_0x5853a8);}function _0x3cbf0a(_0x5cdd9c,_0x110cb1){return _0x7afdbe(_0x5cdd9c,_0x110cb1- -_0x2fd417._0x5891d1);}return this[_0x3cbf0a(-_0x57c3e8._0x3aafbc,_0x57c3e8._0x3e4a32)][_0x3cbf0a(-0x56b,0x2d9)];}set[_0x7afdbe(0xac2,0x9e5)](_0xf63fcc){this['options']['path']=_0xf63fcc,this['_initChildGraphic']('path',PathEntity);}get['polyline'](){const _0xc4e7ff={_0x196194:0x422};function _0x2fe972(_0x5965a5,_0x5f0387){return _0x54a7f1(_0x5965a5- -0x3e8,_0x5f0387);}return this[_0x2fe972(_0xc4e7ff._0x196194,-0x671)]['polyline'];}set[_0x54a7f1(0xe2e,0xfef)](_0x57e457){this['options'][_0x163518(0x988,0x23d)]=_0x57e457;function _0x27a620(_0x3712a4,_0x53b1dd){return _0x7afdbe(_0x3712a4,_0x53b1dd- -0x6d9);}function _0x163518(_0x293aa5,_0xee1dc1){return _0x7afdbe(_0xee1dc1,_0x293aa5- -0x6d4);}this['_initChildGraphic'](_0x27a620(0xe99,0x983),PolylineEntity);}get['wall'](){const _0x1e209e={_0x22f6d6:0x1676};function _0x318c49(_0x3805cd,_0x4f7081){return _0x54a7f1(_0x3805cd- -0x2a2,_0x4f7081);}return this['_child'][_0x318c49(0xdc6,_0x1e209e._0x22f6d6)];}set[_0x7afdbe(0xadd,0x1296)](_0x48b1a9){const _0x4039d3={_0x341631:0x6e4};function _0x3b0c23(_0x5c0cf3,_0x3a47ed){return _0x54a7f1(_0x5c0cf3-0x1c2,_0x3a47ed);}function _0x3b78eb(_0x455072,_0x5e59b4){return _0x7afdbe(_0x455072,_0x5e59b4- -_0x4039d3._0x341631);}this[_0x3b78eb(-0x2d8,0x3fa)]['wall']=_0x48b1a9,this[_0x3b78eb(0x370,0x8fd)]('wall',WallEntity);}get[_0x7afdbe(0x332,0x954)](){const _0xbf8414={_0x56bd82:0x1206,_0x343cce:0x950},_0x4c9516={_0xfb8fc4:0xfc};function _0xb448ee(_0x13b53a,_0x2c5a40){return _0x7afdbe(_0x13b53a,_0x2c5a40- -0x66a);}function _0x482057(_0x2ac97d,_0x52fd92){return _0x54a7f1(_0x52fd92- -_0x4c9516._0xfb8fc4,_0x2ac97d);}return this['_modelMatrix']?this['_modelMatrix']:this[_0xb448ee(0x1086,0xb71)](this[_0xb448ee(_0xbf8414._0x56bd82,_0xbf8414._0x343cce)],this['_orientation_show']);}get['groundPosition'](){const _0x3562e8={_0x473d74:0x30a};function _0x827120(_0x11d3cc,_0x19acc0){return _0x7afdbe(_0x11d3cc,_0x19acc0- -0x2e9);}return getRayEarthPosition(this['_position'],new Cesium__namespace['HeadingPitchRoll'](this[_0x827120(-0x3c3,_0x3562e8._0x473d74)],this['_pitch_reality'],this['_roll_reality']),!![]);}get[_0x7afdbe(0x6d6,0x683)](){const _0x3378b6={_0x284b24:0x11d7,_0x4db078:0xa68,_0x3c74cd:0xa68,_0x412f78:0x147e,_0x1bbe72:0xec2,_0x338f8e:0xa06,_0x148626:0xd09,_0x5a4cc5:0x52f,_0xdaac67:0x1619,_0x5bed5a:0xec2,_0x79d726:0x11c9},_0x42816b={_0xb1a9c2:0xf8};if(this[_0x149aad(_0x3378b6._0x284b24,_0x3378b6._0x4db078)])return this[_0x149aad(0x1096,_0x3378b6._0x3c74cd)];function _0x4b2cc7(_0x33d32a,_0x2b1274){return _0x7afdbe(_0x33d32a,_0x2b1274- -0x3c);}function _0x149aad(_0x159a7c,_0x4ad90b){return _0x7afdbe(_0x159a7c,_0x4ad90b- -_0x42816b._0xb1a9c2);}if(this[_0x149aad(_0x3378b6._0x412f78,_0x3378b6._0x1bbe72)]){const _0x56fb7d=Cesium__namespace[_0x149aad(0x20b,_0x3378b6._0x338f8e)][_0x4b2cc7(_0x3378b6._0x148626,_0x3378b6._0x5a4cc5)](this[_0x149aad(_0x3378b6._0xdaac67,_0x3378b6._0x5bed5a)]);return _0x56fb7d[_0x149aad(_0x3378b6._0x79d726,0x79d)];}return 0x0;}get[_0x54a7f1(0x1569,0x12a3)](){const _0x5b409a={_0x2ae97a:0xa01,_0x248bbe:0x1597,_0x26aa1d:0xb8a},_0x116e99={_0x5345ae:0xdd};var _0x125251,_0x24d4bb,_0x30c7ea,_0x5a11df;if((_0x125251=this['options']['model'])!==null&&_0x125251!==void 0x0&&_0x125251['clampToGround'])return!![];function _0x40a27f(_0x4b00fd,_0x13a490){return _0x7afdbe(_0x4b00fd,_0x13a490- -_0x116e99._0x5345ae);}if((_0x24d4bb=this[_0x40a27f(0x20e,_0x5b409a._0x2ae97a)]['point'])!==null&&_0x24d4bb!==void 0x0&&_0x24d4bb['clampToGround'])return!![];function _0x5d08d6(_0x6d7d46,_0x36df04){return _0x7afdbe(_0x36df04,_0x6d7d46- -0x200);}if((_0x30c7ea=this[_0x40a27f(0x1081,0xa01)]['billboard'])!==null&&_0x30c7ea!==void 0x0&&_0x30c7ea[_0x5d08d6(_0x5b409a._0x248bbe,0x19c0)])return!![];if((_0x5a11df=this[_0x40a27f(_0x5b409a._0x26aa1d,_0x5b409a._0x2ae97a)][_0x5d08d6(0x10e8,0x160b)])!==null&&_0x5a11df!==void 0x0&&_0x5a11df['clampToGround'])return!![];return![];}get['startTime'](){const _0x396180={_0x5cd080:0x131b,_0x169a92:0xab7},_0x526245={_0x2ddd3f:0x2d7},_0x3660a0={_0xd5b3f8:0x4ce};var _0x4b8888;const _0x5d3341=(_0x4b8888=this['property'])===null||_0x4b8888===void 0x0||(_0x4b8888=_0x4b8888[_0x1d4527(0x1149,0x92d)])===null||_0x4b8888===void 0x0?void 0x0:_0x4b8888['_times'];function _0xc0fab6(_0x56336b,_0xba9b91){return _0x54a7f1(_0xba9b91- -_0x3660a0._0xd5b3f8,_0x56336b);}function _0x1d4527(_0x138c1b,_0x2ba835){return _0x54a7f1(_0x138c1b- -_0x526245._0x2ddd3f,_0x2ba835);}return _0x5d3341[_0xc0fab6(_0x396180._0x5cd080,_0x396180._0x169a92)]>0x0?_0x5d3341[0x0]:null;}get['stopTime'](){var _0xb631ac;function _0x22007d(_0x27e21c,_0x361df8){return _0x7afdbe(_0x361df8,_0x27e21c- -0x1c);}function _0x2c44fe(_0x23525a,_0x218d2c){return _0x7afdbe(_0x23525a,_0x218d2c- -0x453);}const _0x384c46=(_0xb631ac=this['property'])===null||_0xb631ac===void 0x0||(_0xb631ac=_0xb631ac['_property'])===null||_0xb631ac===void 0x0?void 0x0:_0xb631ac[_0x2c44fe(0x2d6,0x662)];return _0x384c46[_0x22007d(0x1197,0x14fa)]>0x0?_0x384c46[_0x384c46['length']-0x1]:null;}get['currIndex'](){return this['_flyok_index'];}get['multiplier'](){var _0xb9e045;return(_0xb9e045=this['_map'])===null||_0xb9e045===void 0x0?void 0x0:_0xb9e045['clock']['multiplier'];}set[_0x7afdbe(0x14f6,0x11ce)](_0x5c6714){const _0x3200e5={_0x5231d1:0x1169},_0x78ba17={_0x35d59d:0x1c9};function _0x2d7271(_0x37213f,_0x2d1c15){return _0x54a7f1(_0x2d1c15-0x10a,_0x37213f);}function _0x1ce95f(_0x4c12cb,_0x5ca8cd){return _0x54a7f1(_0x4c12cb-_0x78ba17._0x35d59d,_0x5ca8cd);}this[_0x2d7271(-0x1b4,0x8dd)]&&(this['_map']['clock'][_0x1ce95f(_0x3200e5._0x5231d1,0x193d)]=_0x5c6714);}get[_0x54a7f1(0x157d,0x157a)](){const _0x34eb23={_0x740994:0x1213};var _0x367b55;function _0x20e29d(_0x7fa493,_0x10ef60){return _0x7afdbe(_0x10ef60,_0x7fa493- -0x14a);}return!((_0x367b55=this['_map'])!==null&&_0x367b55!==void 0x0&&_0x367b55['clock'][_0x20e29d(_0x34eb23._0x740994,0x1256)]);}set[_0x54a7f1(0x157d,0x147a)](_0x31a910){const _0x5016bf={_0x1f72b7:0x4fc};function _0x10fa0a(_0x3d0ea6,_0xa25dea){return _0x54a7f1(_0xa25dea- -0x2d7,_0x3d0ea6);}this[_0x10fa0a(-0x259,_0x5016bf._0x1f72b7)]&&(_0x31a910?this['pause']():this['proceed']());}get['objectsToExclude'](){const _0x32b898={_0x178419:0x2c1,_0x4359d4:0xcd2,_0x135d20:0x110a,_0x969b71:0xe1f},_0x590ddf={_0x1ac8a5:0x3d7};if(this[_0x292603(_0x32b898._0x178419,0x9f3)]['objectsToExclude'])return this['options']['objectsToExclude'];if(this[_0x292603(_0x32b898._0x4359d4,0xe8b)])return this[_0x53c15f(0x143f,_0x32b898._0x135d20)];const _0x10f9a4=[];function _0x292603(_0x32a05a,_0x4832a1){return _0x54a7f1(_0x4832a1-0x143,_0x32a05a);}this[_0x53c15f(0x1876,_0x32b898._0x969b71)](_0x4c061b=>{_0x4c061b['czmObject']&&_0x10f9a4['push'](_0x4c061b['czmObject']);});function _0x53c15f(_0x5b4ccc,_0x53b272){return _0x7afdbe(_0x5b4ccc,_0x53b272- -_0x590ddf._0x1ac8a5);}if(_0x10f9a4['length']>0x0)return _0x10f9a4;return undefined;}set['objectsToExclude'](_0x49c16a){this['_objectsToExclude']=_0x49c16a;}get['style'](){const _0x390715={_0x2f01ca:0x6e2,_0x1c7a73:0xad2,_0x4d19ec:0xfd3,_0x2b1e34:0x168a,_0x40cbf4:0x12bf,_0xd2f377:0xe79,_0x283b8a:0x3b6,_0x18a59b:0x13a,_0x11bb8b:0x951,_0x3240fa:0x1ba,_0x16b49a:0x483,_0x234de3:0x1050,_0x3454bc:0x1949,_0x552238:0xd62,_0x4e93d3:0x2d4};if(!this[_0xc4c3c5(_0x390715._0x2f01ca,-0x2e8)]){const _0x4e1864={};_0x4e1864['onlySimpleType']=!![],this['_style_clache']=getAttrVal(this[_0xc4c3c5(_0x390715._0x1c7a73,0x72a)],_0x4e1864);}this['_splitOptionsToStyle'](this[_0xc4c3c5(0x6e2,_0x390715._0x4d19ec)],'model'),this['_splitOptionsToStyle'](this['_style_clache'],'label'),this['_splitOptionsToStyle'](this[_0xc4c3c5(_0x390715._0x2f01ca,-0xf0)],_0xc4c3c5(0xf4e,_0x390715._0x2b1e34)),this['_splitOptionsToStyle'](this['_style_clache'],_0x4934b4(0xa16,0xf2a)),this[_0xc4c3c5(0xe79,_0x390715._0x40cbf4)](this['_style_clache'],_0x4934b4(0xca5,0x13d8));function _0x4934b4(_0x1d9668,_0x1a1b05){return _0x54a7f1(_0x1d9668- -0x306,_0x1a1b05);}this['_splitOptionsToStyle'](this['_style_clache'],_0x4934b4(0x106a,0xad3)),this[_0xc4c3c5(_0x390715._0xd2f377,0x140b)](this['_style_clache'],_0x4934b4(_0x390715._0x283b8a,_0x390715._0x18a59b)),this[_0x4934b4(_0x390715._0x11bb8b,0xc32)](this[_0x4934b4(_0x390715._0x3240fa,-_0x390715._0x16b49a)],_0xc4c3c5(_0x390715._0x234de3,_0x390715._0x3454bc)),this['_splitOptionsToStyle'](this['_style_clache'],_0x4934b4(_0x390715._0x552238,0x983)),this['_splitOptionsToStyle'](this['_style_clache'],'path'),delete this['_style_clache'][_0xc4c3c5(0x4a5,-_0x390715._0x4e93d3)],delete this['_style_clache']['style'];function _0xc4c3c5(_0x27436f,_0x13281f){return _0x7afdbe(_0x13281f,_0x27436f- -0xc);}return delete this['_style_clache'][_0x4934b4(0x1381,0x1269)],this['_style_clache'];}set[_0x54a7f1(0x49c,0xc6d)](_0x5cd9c1){this['setStyle'](_0x5cd9c1);}['setStyle'](_0x4df1df){const _0x330d2c={_0x4b0e72:0x47c};if(!_0x4df1df)return;function _0x527dec(_0x2d880f,_0x5aaf3c){return _0x54a7f1(_0x5aaf3c-0x2b7,_0x2d880f);}function _0x39fb2e(_0x320cb0,_0x316e0d){return _0x7afdbe(_0x316e0d,_0x320cb0- -_0x330d2c._0x4b0e72);}return _0x4df1df={..._0x4df1df},this['_zhStyle'](_0x4df1df),this[_0x527dec(0xf89,0x1a0e)](this[_0x527dec(0xc60,0xb67)],_0x4df1df),this;}[_0x7afdbe(0x1cce,0x15d3)](_0x5512db,_0x5a4ce0=!![]){const _0x5642aa={_0x241c01:0x2bb,_0x304fd8:0x6e0,_0x6f713c:0x103b,_0x565742:0xd2e,_0x3eca54:0xabf,_0xc90bc6:0xfbf,_0x37e374:0xcdd,_0x5cb6d1:0x6a4,_0x1ed5a6:0x76a,_0x177f95:0xe90,_0x5e5c40:0x10ce,_0x351d6e:0x10ca,_0x198c18:0xaf1},_0x24f238={_0x1dda31:0x2f4},_0x1c3272={_0x43fb65:0x1cc};function _0x32a819(_0x51ac12,_0x5c6de7){return _0x7afdbe(_0x5c6de7,_0x51ac12- -_0x1c3272._0x43fb65);}var _0x40ab4a;_0x5a4ce0&&(this['_map'][_0x32a819(_0x5642aa._0x241c01,0x811)](),this['_map']['last_highlighGraphic']=this);this['_highlight_state']=!![];function _0x153ddf(_0x5ca0dc,_0x1c8b0c){return _0x54a7f1(_0x5ca0dc- -_0x24f238._0x1dda31,_0x1c8b0c);}const _0x4a7cec=_0x5512db||this[_0x153ddf(0x897,0x10c6)]||((_0x40ab4a=this['_layer'])===null||_0x40ab4a===void 0x0?void 0x0:_0x40ab4a['_highlightOptions']);if(_0x4a7cec){const _0x4357a4=[];for(const _0x3fbe0b in _0x4a7cec){const _0x2c805a=_0x4a7cec[_0x3fbe0b];switch(_0x3fbe0b){case _0x153ddf(0x542,_0x5642aa._0x304fd8):break;case'label':this['_initChildGraphic'](_0x32a819(0x111c,_0x5642aa._0x6f713c),LabelPrimitive,_0x2c805a);break;case'billboard':this['_initChildGraphic']('billboard',BillboardPrimitive,_0x2c805a);break;case _0x32a819(0xd7e,_0x5642aa._0x565742):this[_0x153ddf(_0x5642aa._0x3eca54,_0x5642aa._0xc90bc6)]('point',PointPrimitive,_0x2c805a);break;case _0x153ddf(0x3d7,_0x5642aa._0x37e374):this[_0x32a819(0xe15,0x1667)]('model',ModelPrimitive,_0x2c805a);break;case'circle':this[_0x153ddf(_0x5642aa._0x3eca54,0x1fb)](_0x32a819(0x100d,_0x5642aa._0x5cb6d1),CircleEntity,_0x2c805a);break;case'coneTrack':this[_0x153ddf(0xabf,_0x5642aa._0x1ed5a6)](_0x32a819(0x71e,0x7bb),ConeTrack,_0x2c805a);break;case'path':this['_initChildGraphic']('path',PathEntity,_0x2c805a);break;case _0x32a819(_0x5642aa._0x177f95,0x6c4):this['_initChildGraphic']('polyline',PolylineEntity,_0x2c805a);break;case _0x32a819(0x10ca,_0x5642aa._0x5e5c40):this['_initChildGraphic'](_0x32a819(_0x5642aa._0x351d6e,_0x5642aa._0x198c18),WallEntity);break;}}_0x4357a4['length']>0x0&&logWarn('openHighlight:原有options中不存在以下属性,关闭高亮时将无法恢复',_0x4357a4),this[_0x153ddf(0x4c8,0x352)]=_0x4a7cec,this['fire'](EventType['highlightOpen'],{},!![]);}}['closeHighlight'](){const _0x541777={_0x591874:0x1957};if(!this['isAdded']||!this[_0x5ef66f(0x2dc,-0x4bb)])return;delete this['_highlight_state'];function _0x5ef66f(_0x370e93,_0x19ec8a){return _0x7afdbe(_0x19ec8a,_0x370e93- -0x24e);}this[_0x14f90e(0x1d71,_0x541777._0x591874)](this['options'],this['_last_highlightOptions']),delete this[_0x5ef66f(0x79c,0xdc7)];function _0x14f90e(_0x4eca3f,_0x45fc5d){return _0x7afdbe(_0x4eca3f,_0x45fc5d- -0x2e);}this['_map']['_clearLastHighlight'](),this['fire'](EventType[_0x5ef66f(0xbb5,0x1659)],{},!![]);}['_initSampledPositionProperty'](){const _0xa443f0={_0x155cde:0x1120,_0x2dc8d0:0x842};function _0x581b1b(_0x120a2e,_0x6378d7){return _0x7afdbe(_0x120a2e,_0x6378d7- -0x59f);}function _0x1ea797(_0x27dfa5,_0x1317c4){return _0x7afdbe(_0x1317c4,_0x27dfa5- -0xbe);}this['_sampledPositionProperty']=this[_0x581b1b(_0xa443f0._0x155cde,0xa2c)],this[_0x581b1b(_0xa443f0._0x2dc8d0,0x1176)]();}[_0x7afdbe(-0x547,0x4b9)](){const _0x530b84={_0x53eefe:0x992,_0x20bbb9:0x770,_0xe3a15a:0x1037,_0x135354:0x992,_0x33ccff:0xc47},_0x1a25e9={_0x303e14:0x6c3},_0x3572fa={_0x51e870:0x64f};function _0x4d27aa(_0x2497d2,_0x1a8fcb){return _0x7afdbe(_0x1a8fcb,_0x2497d2- -_0x3572fa._0x51e870);}this[_0x4d27aa(_0x530b84._0x53eefe,_0x530b84._0x20bbb9)]('label',LabelPrimitive);function _0x14aeca(_0xc33bd2,_0x13ea6a){return _0x7afdbe(_0xc33bd2,_0x13ea6a- -_0x1a25e9._0x303e14);}this['_initChildGraphic']('billboard',BillboardPrimitive),this['_initChildGraphic']('point',PointPrimitive),this[_0x4d27aa(0x992,_0x530b84._0xe3a15a)](_0x14aeca(-0x876,0x236),ModelPrimitive),this['_initChildGraphic']('circle',CircleEntity),this['_initChildGraphic'](_0x14aeca(0xa6,0x227),ConeTrack),this[_0x4d27aa(_0x530b84._0x135354,0x315)]('path',PathEntity),this['_initChildGraphic']('polyline',PolylineEntity),this['_initChildGraphic'](_0x4d27aa(_0x530b84._0x33ccff,0x64f),WallEntity);}[_0x54a7f1(0x1121,0x764)](_0x5db92f){const _0x903fa8={_0x2c6284:0x1a2b,_0x5e861b:0x187e,_0x451e75:0x492,_0x1a7afa:0x1ac7,_0x289250:0x18a9,_0x228bef:0x1ec2,_0x571219:0x37a,_0x219e54:0xeb6,_0x2a1dea:0xed2},_0x415989={_0x4fe1a1:0x239},_0x287d1f={_0xc68cd7:0x1a};var _0x28253b;if(!this[_0x3f8b0c(_0x903fa8._0x2c6284,0x183b)]){this[_0x3f8b0c(-0x287,0x469)]=!![];return;}this[_0x3f8b0c(0x14f6,_0x903fa8._0x5e861b)]();(_0x28253b=this[_0x346005(_0x903fa8._0x451e75,0xb0e)])!==null&&_0x28253b!==void 0x0&&_0x28253b[_0x3f8b0c(_0x903fa8._0x1a7afa,_0x903fa8._0x289250)]&&this['model'][_0x3f8b0c(_0x903fa8._0x228bef,_0x903fa8._0x289250)][_0x346005(_0x903fa8._0x571219,0x39f)](()=>{this['_readyPromise']['resolve'](this);});this['options']['position']&&this[_0x346005(0x5ce,0xa28)](this['options']['position']);function _0x3f8b0c(_0x35e681,_0x55a5d3){return _0x7afdbe(_0x35e681,_0x55a5d3-_0x287d1f._0xc68cd7);}function _0x346005(_0x29c4f6,_0x3fb681){return _0x54a7f1(_0x29c4f6- -_0x415989._0x4fe1a1,_0x3fb681);}if(this['options']['positions'])for(let _0x2225b8=0x0;_0x2225b8<this['options']['positions']['length'];_0x2225b8++){const _0x60bf30=this['options'][_0x346005(_0x903fa8._0x219e54,_0x903fa8._0x2a1dea)][_0x2225b8];this['addDynamicPosition'](_0x60bf30,_0x60bf30['time']);}}[_0x54a7f1(0xa4f,0x2ad)](_0x23cb9c){const _0x58ae2d={_0x5c3ca2:0x7ab,_0xdda332:0xcf5};function _0x3fd82f(_0xdc1ba6,_0x2702fc){return _0x54a7f1(_0xdc1ba6- -0x384,_0x2702fc);}function _0x475429(_0x5c98ac,_0x12f129){return _0x54a7f1(_0x12f129-0xba,_0x5c98ac);}this[_0x475429(_0x58ae2d._0x5c3ca2,0x1259)](),super[_0x475429(_0x58ae2d._0xdda332,0xb09)](_0x23cb9c);}['_getJsonPositions'](_0x1ffa5d){const _0x804b48={_0x48bf0d:0x68f,_0x4342d5:0xc12,_0xd1762f:0x804,_0xe13187:0xc87,_0x4fcbf0:0x1052};var _0x7ebb8f,_0x19d99f;const _0x27ecd=(_0x7ebb8f=this[_0x2dc589(0xba5,0xb56)])===null||_0x7ebb8f===void 0x0||(_0x7ebb8f=_0x7ebb8f['_property'])===null||_0x7ebb8f===void 0x0?void 0x0:_0x7ebb8f[_0x2dc589(_0x804b48._0x48bf0d,-0x3a2)],_0x2a94be=(_0x19d99f=this[_0x170096(0x1034,0xd00)])===null||_0x19d99f===void 0x0||(_0x19d99f=_0x19d99f['_property'])===null||_0x19d99f===void 0x0?void 0x0:_0x19d99f['_values'];function _0x170096(_0xc02b70,_0x28b0b7){return _0x7afdbe(_0xc02b70,_0x28b0b7- -0x2cb);}if(!_0x27ecd||_0x27ecd['length']===0x0)return;const _0x58be41=[];function _0x2dc589(_0x5343b1,_0x5028a2){return _0x54a7f1(_0x5343b1- -0x1f8,_0x5028a2);}for(let _0x313b0a=0x0,_0x417eb9=_0x27ecd['length'];_0x313b0a<_0x417eb9;_0x313b0a++){const _0x2d1dd1=LngLatPoint['fromCartesian'](new Cesium__namespace['Cartesian3'](_0x2a94be[_0x313b0a*0x3],_0x2a94be[_0x313b0a*0x3+0x1],_0x2a94be[_0x313b0a*0x3+0x2])),_0x3c1631=Cesium__namespace[_0x2dc589(_0x804b48._0x4342d5,0xc0f)][_0x2dc589(0x12ba,_0x804b48._0xd1762f)](_0x27ecd[_0x313b0a]);_0x58be41[_0x2dc589(0xd10,0xb01)]({'lat':_0x2d1dd1[_0x170096(_0x804b48._0xe13187,0x121d)],'lng':_0x2d1dd1['lng'],'alt':_0x2d1dd1['alt'],'time':formatDate(_0x3c1631,_0x170096(0xc22,0x1dd))});}_0x1ffa5d[_0x170096(0x119b,_0x804b48._0x4fcbf0)]=_0x58be41;}['_showHook'](_0x56ccea){const _0x1bb292={_0xdfab47:0xacb,_0x4aa386:0x524},_0x3fa9b9={_0x4a7c17:0x817},_0x2306b9={_0x8d6419:0xff3,_0xb3e283:0x1379};function _0x4fb6e1(_0x4290da,_0x539f04){return _0x7afdbe(_0x539f04,_0x4290da- -0x6a2);}function _0x32e28e(_0x519d36,_0xaa1a36){return _0x54a7f1(_0x519d36- -0x3f6,_0xaa1a36);}_0x56ccea?(this['_has_addedHook']&&(this[_0x4fb6e1(0xcad,_0x1bb292._0xdfab47)](this[_0x32e28e(0xa6,_0x1bb292._0x4aa386)]),delete this['_has_addedHook']),this['eachChildGraphic'](_0x514865=>{function _0x4991ca(_0x6fa6e9,_0x4f823d){return _0x4fb6e1(_0x4f823d-0x1fa,_0x6fa6e9);}_0x514865[_0x4991ca(_0x2306b9._0x8d6419,_0x2306b9._0xb3e283)]=_0x514865['_lastShow']??!![],delete _0x514865['_lastShow'];})):this['eachChildGraphic'](_0x1bbd13=>{const _0x29cb17={_0x33720c:0x6c2},_0x31cc54={_0x26ea99:0xad};function _0x221c09(_0x30286f,_0xaf7759){return _0x32e28e(_0xaf7759-_0x31cc54._0x26ea99,_0x30286f);}function _0x31c92e(_0x271136,_0xc4a353){return _0x4fb6e1(_0xc4a353-_0x29cb17._0x33720c,_0x271136);}_0x1bbd13[_0x31c92e(0xed0,0x4c2)]=_0x1bbd13[_0x221c09(_0x3fa9b9._0x4a7c17,0x12aa)],_0x1bbd13['show']=![];});}[_0x7afdbe(0x1129,0x1985)](_0x10e279,_0x4dc03f){const _0x1e2ada={_0x5aa1d7:0x4de,_0x475e60:0x9ff,_0x237377:0x1054,_0x5ab104:0x7fa,_0x3e022b:0xa47,_0x5db167:0x3f6,_0x260211:0x7dc,_0x5f34ac:0x18d1,_0xc7c35a:0x1054,_0xe955a6:0x4e2,_0x2864fb:0xef,_0x153cd6:0x6b8,_0x356904:0xade,_0x283190:0x8dc,_0x4e7b9b:0x80a,_0x400394:0x189,_0x2bb0b7:0xb51},_0x272612={_0x51c077:0x73};function _0x23c198(_0x42009b,_0x40c314){return _0x7afdbe(_0x42009b,_0x40c314-_0x272612._0x51c077);}var _0x134e33;this['_zhStyle'](_0x4dc03f[_0x23c198(_0x1e2ada._0x5aa1d7,0x73d)]);function _0x35349e(_0x26cd48,_0x359c8d){return _0x54a7f1(_0x359c8d- -0x2d5,_0x26cd48);}for(const _0x268870 in _0x4dc03f){switch(_0x268870){case _0x35349e(0x11e2,0xde5):this[_0x35349e(0xfad,0xade)]('label',LabelPrimitive);break;case'billboard':this[_0x23c198(_0x1e2ada._0x475e60,_0x1e2ada._0x237377)]('billboard',BillboardPrimitive);break;case _0x35349e(0x87e,0xa47):this[_0x23c198(_0x1e2ada._0x5ab104,0x1054)](_0x35349e(0x5ec,_0x1e2ada._0x3e022b),PointPrimitive);break;case'model':this['_initChildGraphic'](_0x35349e(0xa8a,_0x1e2ada._0x5db167),ModelPrimitive);break;case _0x35349e(0x32e,0xcd6):this[_0x35349e(_0x1e2ada._0x260211,0xade)]('circle',CircleEntity);break;case _0x23c198(0x12e5,0x95d):this[_0x23c198(_0x1e2ada._0x5f34ac,_0x1e2ada._0xc7c35a)]('coneTrack',ConeTrack);break;case _0x35349e(-0x5a1,_0x1e2ada._0xe955a6):this[_0x35349e(_0x1e2ada._0x2864fb,0xade)](_0x35349e(0x752,_0x1e2ada._0xe955a6),PathEntity);break;case _0x35349e(_0x1e2ada._0x153cd6,0xb59):this[_0x35349e(0x64e,_0x1e2ada._0x356904)](_0x23c198(_0x1e2ada._0x283190,0x10cf),PolylineEntity);break;case _0x35349e(_0x1e2ada._0x4e7b9b,0xd93):this['_initChildGraphic']('wall',WallEntity);break;}}(_0x134e33=this[_0x23c198(_0x1e2ada._0x400394,_0x1e2ada._0x2bb0b7)])!==null&&_0x134e33!==void 0x0&&(_0x134e33=_0x134e33['polyline'])!==null&&_0x134e33!==void 0x0&&_0x134e33['showAll']&&(this['_child']['polyline'][_0x35349e(0x18bd,0xe1a)]=this[_0x35349e(0xc0e,0xe1a)]);}['_splitOptionsToStyle'](_0x34489c,_0x7126c9){const _0x599c39=_0x34489c[_0x7126c9];if(_0x599c39){delete _0x34489c[_0x7126c9];for(const _0x24412f in _0x599c39){_0x34489c[_0x7126c9+'_'+_0x24412f]=_0x599c39[_0x24412f];}}}['_mergeStyleToOptions'](_0x2790da,_0x577717){const _0x3fe736={_0x558f02:0x221};function _0x42fec9(_0x44b3a1,_0x4c725c){return _0x54a7f1(_0x4c725c-_0x3fe736._0x558f02,_0x44b3a1);}function _0x263dfd(_0x370810,_0x3ea46e){return _0x7afdbe(_0x3ea46e,_0x370810-0x8f);}const _0x16dfb9=_0x577717+'_';for(const _0x7c389f in _0x2790da){const _0x2834a0=_0x2790da[_0x7c389f];_0x7c389f[_0x263dfd(0x9b4,0xfde)](_0x16dfb9)&&(!_0x2790da[_0x577717]&&(_0x2790da[_0x577717]={}),_0x2790da[_0x577717][_0x7c389f['substring'](_0x16dfb9[_0x263dfd(0x1242,0x1762)])]=_0x2834a0,delete _0x2790da[_0x7c389f]);}}['_zhStyle'](_0x4d7365){const _0x4b4a17={_0x3cb5ac:0x6e8,_0x69d400:0x368,_0x20eff4:0x1740,_0x1712d5:0xd60,_0xed14b8:0x6f0,_0x339daf:0xfd8};function _0x2f3008(_0x181de4,_0x35710e){return _0x7afdbe(_0x181de4,_0x35710e- -0x1fa);}if(!_0x4d7365||Object['keys'](_0x4d7365)['length']===0x0)return;this['_mergeStyleToOptions'](_0x4d7365,_0x2f3008(_0x4b4a17._0x3cb5ac,0x6ff)),this[_0x13d5d5(_0x4b4a17._0x69d400,0x4f1)](_0x4d7365,_0x2f3008(_0x4b4a17._0x20eff4,0x10ee)),this['_mergeStyleToOptions'](_0x4d7365,_0x2f3008(0x137d,_0x4b4a17._0x1712d5)),this[_0x13d5d5(0xd41,0x4f1)](_0x4d7365,_0x13d5d5(0xc73,0xec6)),this[_0x2f3008(0x3e8,0x37b)](_0x4d7365,'circle'),this[_0x2f3008(0xd44,0x37b)](_0x4d7365,'cone'),this['_mergeStyleToOptions'](_0x4d7365,_0x2f3008(0x4ae,_0x4b4a17._0xed14b8)),this[_0x13d5d5(-0x94,0x4f1)](_0x4d7365,_0x13d5d5(0xade,_0x4b4a17._0x339daf)),this[_0x13d5d5(0x6ff,0x4f1)](_0x4d7365,'wall'),this[_0x13d5d5(0xe10,0x4f1)](_0x4d7365,'path');function _0x13d5d5(_0x5b6177,_0xf44059){return _0x7afdbe(_0x5b6177,_0xf44059- -0x84);}for(const _0x2e70cf in _0x4d7365){const _0x51593a=_0x4d7365[_0x2e70cf];switch(_0x2e70cf){default:{isObject(_0x51593a)?this['options'][_0x2e70cf]=merge(this['options'][_0x2e70cf],_0x51593a):this['options'][_0x2e70cf]=_0x51593a;break;}}}}[_0x7afdbe(0x1795,0xfe1)](_0x3c5f87,_0x48376e,_0x369fed){const _0x583e8d={_0x5e5f19:0xee0,_0x281da4:0x19b0,_0x1fa8a0:0x121a,_0x830dda:0x1254,_0xb2393c:0x1322,_0x311682:0x953,_0x28bc7f:0xcf,_0x4b57ff:0x4e2,_0x96a054:0xf5d,_0x5e5f1f:0xa77,_0x98507e:0x4e4,_0x4c0389:0xb47,_0x52d989:0xd16,_0x557013:0xc8f,_0x1b0651:0x318,_0xa22205:0x13de,_0x18ab67:0x88e,_0x52e029:0x197,_0x1016a8:0x431,_0x24ed1c:0x13ce,_0x3ba698:0x92c,_0xfadd6f:0xf4a,_0x5edfe6:0xd17,_0x1af0ba:0xd95},_0x34e1e1={_0x1e4471:0xea8},_0x48e047={_0x4db9fb:0x115a};let _0x49768e=this['options'][_0x3c5f87],_0xd13a59=this['_child'][_0x3c5f87];function _0x2a9f85(_0x3514e3,_0x420ba7){return _0x7afdbe(_0x3514e3,_0x420ba7- -0x607);}_0x369fed&&(_0x49768e=merge(clone(_0x49768e),_0x369fed));if(!_0x49768e){_0xd13a59&&(_0xd13a59[_0x30f121(_0x583e8d._0x5e5f19,0x4bb)](!![]),delete this['_child'][_0x3c5f87]);return;}function _0x30f121(_0x3e4eff,_0x4f248f){return _0x54a7f1(_0x4f248f- -0x2d3,_0x3e4eff);}if(_0xd13a59)_0xd13a59['setStyle'](_0x49768e),_0xd13a59[_0x30f121(_0x583e8d._0x281da4,0x1320)]=_0x49768e['show']??!![];else{_0xd13a59=new _0x48376e({'id':this['id']+'-'+_0x3c5f87,'style':clone(_0x49768e,['show']),'attr':this['attr'],'private':!![],'eventParent':this,'show':_0x49768e[_0x2a9f85(0x1791,_0x583e8d._0x1fa8a0)]??!![]}),_0xd13a59['removeEventParent'](this[_0x2a9f85(0x827,_0x583e8d._0x830dda)]),_0xd13a59['addEventParent'](this),_0xd13a59['parent']=this;this['isAdded']&&this['_layer']['addGraphic'](_0xd13a59);_0xd13a59['czmObject']&&this[_0x30f121(0xb03,0x107a)](_0xd13a59[_0x2a9f85(0xbf7,_0x583e8d._0xb2393c)]);_0xd13a59['czmObjectEx']&&_0xd13a59['czmObjectEx'][_0x30f121(0x80f,0x372)](_0x53a652=>{function _0x5248aa(_0x201fca,_0x32e1c2){return _0x30f121(_0x201fca,_0x32e1c2- -0x2b);}this[_0x5248aa(_0x48e047._0x4db9fb,0x104f)](_0x53a652);});this['_child'][_0x3c5f87]=_0xd13a59;switch(_0x3c5f87){case _0x2a9f85(-0x175,_0x583e8d._0x311682):{_0x49768e['alignedAxis']===!![]&&(this[_0x30f121(-_0x583e8d._0x28bc7f,0x537)]['billboard'][_0x30f121(-_0x583e8d._0x4b57ff,0x1c9)]['alignedAxis']=new Cesium__namespace['VelocityVectorProperty'](this['property'],!![]));break;}case _0x30f121(_0x583e8d._0x96a054,0xcd8):{this['_child']['circle'][_0x30f121(0x1cf0,0x140e)]=new Cesium__namespace[(_0x30f121(0x455,_0x583e8d._0x5e5f1f))](_0x3bb6bf=>{return this['_position'];},![]);break;}case _0x2a9f85(0x712,0x2e3):{this['_child'][_0x2a9f85(0x9c0,0x2e3)]['position']=new Cesium__namespace['CallbackProperty'](_0x835df2=>{function _0x44bde7(_0x35788f,_0x3d94c0){return _0x30f121(_0x35788f,_0x3d94c0-0x44f);}return this[_0x44bde7(0x81f,0xf08)];},![]);break;}case'path':{this['_child'][_0x30f121(-0x179,_0x583e8d._0x98507e)]['position']=this['property'];break;}case'polyline':{this['_polyline_positions']=[],this['_child']['polyline'][_0x2a9f85(_0x583e8d._0x4c0389,_0x583e8d._0x52d989)]=new Cesium__namespace['CallbackProperty'](_0x4e5fd2=>{return this['_polyline_positions'];},![]);break;}case _0x2a9f85(0xf83,_0x583e8d._0x557013):{this['_wall_positions']=[],this[_0x2a9f85(_0x583e8d._0x1b0651,0x431)]['wall'][_0x2a9f85(0xeed,0xd16)]=new Cesium__namespace[(_0x30f121(_0x583e8d._0xa22205,_0x583e8d._0x5e5f1f))](_0x29950c=>{return this['_wall_positions'];},![]),this['_wall_minimumHeights']=[],this['_child'][_0x2a9f85(_0x583e8d._0x18ab67,0xc8f)]['style']['minimumHeights']=new Cesium__namespace['CallbackProperty'](_0x35497e=>{function _0x397338(_0x1fbd26,_0x3173d4){return _0x2a9f85(_0x3173d4,_0x1fbd26- -0x103);}return this[_0x397338(0x111,0x6c3)];},![]),this['_wall_maximumHeights']=[],this[_0x2a9f85(-_0x583e8d._0x52e029,_0x583e8d._0x1016a8)][_0x2a9f85(_0x583e8d._0x24ed1c,0xc8f)][_0x30f121(-0x22a,0x1c9)][_0x2a9f85(0x873,_0x583e8d._0x3ba698)]=new Cesium__namespace['CallbackProperty'](_0x280402=>{function _0x246fb7(_0x20f746,_0x26222c){return _0x30f121(_0x20f746,_0x26222c-0x34e);}return this[_0x246fb7(0x4dc,_0x34e1e1._0x1e4471)];},![]),this[_0x30f121(_0x583e8d._0xfadd6f,0x537)][_0x30f121(_0x583e8d._0x5edfe6,_0x583e8d._0x1af0ba)]['_heights_cache']={};break;}}}}['_addChildGraphic'](){const _0x1426de={_0x41bd6f:0xe4a,_0x21c67a:0x150f,_0x382380:0x194a,_0x1c24cb:0x1576,_0x38ee67:0x11d},_0x56614d={_0x3f20f6:0xf9e};this['eachChildGraphic'](_0x478806=>{this[_0x363b51(0x1690,0x123c)][_0x591952(_0x1426de._0x41bd6f,_0x1426de._0x21c67a)](_0x478806);function _0x591952(_0x66caf,_0x253055){return _0x536c(_0x66caf- -0x5e,_0x253055);}_0x478806[_0x363b51(_0x1426de._0x382380,0x130a)]&&this['bindPickId'](_0x478806[_0x591952(_0x1426de._0x1c24cb,0xc9a)]);function _0x363b51(_0x38a17c,_0x19cc12){return _0x536c(_0x19cc12- -0x2ca,_0x38a17c);}_0x478806[_0x363b51(0xca,0x11d)]&&_0x478806[_0x363b51(0x9a9,_0x1426de._0x38ee67)][_0x363b51(0xc,0x254)](_0x206624=>{function _0x1b8cbb(_0x2b2986,_0x40e304){return _0x591952(_0x2b2986- -0x22a,_0x40e304);}this[_0x1b8cbb(_0x56614d._0x3f20f6,0x11fa)](_0x206624);});});}['_removeChildGraphic'](){const _0x2af21e={_0x30cfa2:0x1196};function _0x10f522(_0x288ac5,_0xd2c0b2){return _0x7afdbe(_0x288ac5,_0xd2c0b2- -0x60);}this[_0x10f522(0xf6d,_0x2af21e._0x30cfa2)](_0x485f46=>{this['_layer']['removeGraphic'](_0x485f46);});}['eachChildGraphic'](_0x31c88a,_0x421551){const _0x5da20e={_0x1c0dc7:0x7f2},_0x4d1fde={_0x56e5ca:0x606},_0x2f8fc3={_0x38c9bc:0x1ec},_0x31fb93={_0x53096e:0x246};if(!this['_child'])return;function _0x443628(_0x46e24d,_0x5013d6){return _0x7afdbe(_0x5013d6,_0x46e24d- -_0x31fb93._0x53096e);}return Object['keys'](this[_0x443628(_0x5da20e._0x1c0dc7,0x787)])['forEach']((_0xe5eb52,_0x5b7bbc)=>{function _0x136567(_0x1ce72a,_0x22d683){return _0x443628(_0x1ce72a- -_0x2f8fc3._0x38c9bc,_0x22d683);}_0x31c88a&&_0x31c88a['call'](_0x421551||this,this[_0x136567(_0x4d1fde._0x56e5ca,-0x29)][_0xe5eb52],_0x5b7bbc);}),this;}['_updateAvailabilityHook'](_0x1e8160){const _0x4bf335={_0x11d005:0x236,_0x5ceadd:0x646,_0x2c49f4:0xde4,_0x516bfb:0xfd1,_0x1d4490:0xa84};function _0xe0afcd(_0x4aeb0f,_0x979ac6){return _0x7afdbe(_0x4aeb0f,_0x979ac6- -0x3f2);}function _0x4efd2f(_0x4fabbf,_0x575876){return _0x7afdbe(_0x4fabbf,_0x575876-0x4c);}var _0x1cc2c1;(_0x1cc2c1=this['_child'])!==null&&_0x1cc2c1!==void 0x0&&_0x1cc2c1['path']&&(!this[_0xe0afcd(-_0x4bf335._0x11d005,_0x4bf335._0x5ceadd)]['path']['_availability_original']&&(this['_child']['path']['_availability_original']=this['_child'][_0xe0afcd(-0x23d,0x5f3)]['availability']),_0x1e8160?this[_0x4efd2f(0x8c8,0xa84)]['path'][_0xe0afcd(_0x4bf335._0x2c49f4,_0x4bf335._0x516bfb)]=_0x1e8160:this[_0x4efd2f(0xe8b,_0x4bf335._0x1d4490)]['path']['availability']=this['_child']['path']['_availability_original']);}['_convertToReferenceFrame'](_0xf0316b,_0x582731){const _0x1d0d14={_0x5095a2:0x9cb,_0x4fe56f:0x100f,_0x1ecdc2:0x1351};function _0x253842(_0x4ef9e6,_0x2d70c5){return _0x7afdbe(_0x4ef9e6,_0x2d70c5- -0x64f);}function _0x3879d3(_0x14ca29,_0x5e5a7a){return _0x7afdbe(_0x14ca29,_0x5e5a7a-0x44);}return Cesium__namespace['PositionProperty'][_0x253842(0xbcd,0xe1c)](_0x582731,_0xf0316b,this[_0x3879d3(_0x1d0d14._0x5095a2,_0x1d0d14._0x4fe56f)]['referenceFrame'],Cesium__namespace[_0x253842(_0x1d0d14._0x1ecdc2,0xf6c)]['FIXED'],_0xf0316b),this['_position'];}['update'](_0x3203d6){const _0x1a1e4e={_0x14fe75:0x1268,_0x19c605:0x16d9,_0x4816e1:0x128a,_0x3014c4:0x45b,_0x18b69e:0x290,_0xb52158:0x862,_0x319dca:0x56e,_0x407f62:0x81d,_0x4218d4:0x6f3,_0x4d0f05:0x5b5,_0x26a4e8:0xba,_0x3f61a5:0x1855,_0xda06d4:0xf10,_0x3273ef:0x137f,_0x1185f8:0xdff,_0x149cf9:0x923,_0x5ae599:0xad8,_0x258a1a:0x3e0};function _0x23afa6(_0x135675,_0x27542f){return _0x7afdbe(_0x27542f,_0x135675- -0x549);}if(!this['getRealShow'](_0x3203d6['time'])){this['_position']=undefined,this[_0x45aee9(-0x134,0x4e1)]();return;}this['_position']=this[_0x45aee9(-0x35d,0x3d1)](_0x3203d6['time'],this[_0x45aee9(0x6d5,0xf21)]);if(!this['_position']){this[_0x45aee9(0xc26,_0x1a1e4e._0x14fe75)]?this['_updatePosition']():(this['_updatePosition'](),this[_0x23afa6(0xd98,0x12d7)](),this[_0x23afa6(0xeda,0x813)]=!![]);return;}this[_0x23afa6(0xeda,0x150c)]=![];this[_0x23afa6(0xa82,0xa40)][_0x45aee9(_0x1a1e4e._0x19c605,_0x1a1e4e._0x4816e1)]===Cesium__namespace[_0x23afa6(0x1072,0x1b1b)][_0x23afa6(0x110,0x76c)]&&(this[_0x23afa6(0x9b0,_0x1a1e4e._0x3014c4)]=this['_position'][_0x45aee9(_0x1a1e4e._0x18b69e,_0x1a1e4e._0xb52158)](),this['_position']=this[_0x45aee9(0x388,0xdfe)](this['_position'],_0x3203d6[_0x45aee9(_0x1a1e4e._0x319dca,0xad2)]));if(this['options']['clampToTileset']){this['_clampToTilesetFrame']++,this[_0x45aee9(_0x1a1e4e._0x407f62,_0x1a1e4e._0x4218d4)]=this['_clampToTilesetFrame']%this['_frameRateHeight'];const _0x21537b=Cesium__namespace[_0x23afa6(_0x1a1e4e._0x4d0f05,0x1a3)][_0x45aee9(0x31e,0x3b0)](this['_position']),_0x31248f={};_0x31248f['x']=_0x21537b['latitude'],_0x31248f['y']=_0x21537b['longitude'],_0x31248f['z']=this['_map']['level'],_0x31248f['m']=this['_map']['scene'][_0x23afa6(_0x1a1e4e._0x26a4e8,0x2da)]['length'];const _0x235b80=_0x31248f,_0x9fe861={};_0x9fe861['inWindow']=!![];const _0x7f0984=!this['_clampToTilesetHeight']||this['_clampToTilesetFrame']===0x0&&!(this['_last_cache']&&_0x235b80['x']===this['_last_cache']['x']&&_0x235b80['y']===this[_0x45aee9(_0x1a1e4e._0x3f61a5,_0x1a1e4e._0xda06d4)]['y']&&_0x235b80['z']===this['_last_cache']['z']&&_0x235b80['m']===this['_last_cache']['m'])&&this['isInView'](this[_0x45aee9(_0x1a1e4e._0x3273ef,_0x1a1e4e._0x1185f8)],_0x9fe861);if(_0x7f0984){let _0x328e60=getHeight(this['_map']['scene'],this['_position']);_0x328e60&&(Cesium__namespace['defined'](this['options']['minHeight'])&&_0x328e60<this[_0x45aee9(0x40b,_0x1a1e4e._0x149cf9)]['minHeight']&&(_0x328e60=this[_0x23afa6(0x595,0x352)][_0x23afa6(0xc00,_0x1a1e4e._0x5ae599)]),Cesium__namespace['defined'](this['options']['maxHeight'])&&_0x328e60>this['options']['maxHeight']&&(_0x328e60=this['options']['maxHeight']),this['_clampToTilesetHeight']=_0x328e60),this[_0x23afa6(0xb82,0x83e)]=_0x235b80;}this['_clampToTilesetHeight']&&(this['_position']=Cesium__namespace['Cartesian3'][_0x45aee9(0x13db,0x13db)](_0x21537b['longitude'],_0x21537b['latitude'],this['_clampToTilesetHeight']));}this[_0x23afa6(_0x1a1e4e._0x258a1a,0x781)]=this['_orientation']['getValue'](_0x3203d6['time']),this['_updatePosition']();function _0x45aee9(_0x56369b,_0x4d459c){return _0x54a7f1(_0x4d459c-0x73,_0x56369b);}this['_updateCamera'](),this['_updateForEvent']();}['_clearShowPositions'](){const _0x1c370a={_0x1b8e15:0x112b,_0x2e4924:0xf24,_0x3a10df:0x165e},_0x3f8190={_0x5a2a4c:0x21c};var _0x335471;this[_0x271295(_0x1c370a._0x1b8e15,_0x1c370a._0x2e4924)]=[];function _0x271295(_0x1977a5,_0x4c9948){return _0x7afdbe(_0x1977a5,_0x4c9948-0x2a);}function _0x2d3074(_0x473e57,_0x308ed0){return _0x54a7f1(_0x473e57- -_0x3f8190._0x5a2a4c,_0x308ed0);}this['_wall_positions']=[],this['_wall_minimumHeights']=[],this['_wall_maximumHeights']=[],(_0x335471=this['_child'])!==null&&_0x335471!==void 0x0&&_0x335471['path']&&(this['_child']['path'][_0x271295(_0x1c370a._0x3a10df,0x13ed)]=undefined);}['_updatePosition'](){const _0x2e4104={_0x4e6afb:0x84,_0x35a1a6:0xa1f,_0x54eb01:0x191c,_0x20d109:0x52c,_0x31f384:0x7d6,_0x1affb5:0x697,_0x3a853e:0xb7f,_0x5b08c8:0x1331,_0x5b8562:0x9db,_0x5bed48:0x130b,_0x32b242:0x7d6,_0x4819f2:0x10cd,_0x48f988:0xa87,_0x4a1dbb:0xf75,_0x379c47:0x117e,_0x561228:0x71f,_0x538feb:0xdfa,_0x4080f4:0x1726,_0x42e47c:0x92b,_0x722658:0x1337,_0x183b53:0x1034,_0x5107d9:0x17c4,_0x4de7d8:0x2211,_0x351426:0xdd6,_0x10f9fe:0x819,_0x4b13e2:0x1010,_0x2bebcd:0x17c8,_0x16f47c:0x196e,_0x4a0de3:0x7be},_0x355570={_0x570752:0x1d1};var _0x478f72,_0x6d6e90,_0x1b52f2,_0xa3869b,_0xea895e,_0x2be28d,_0x2033f5;(_0x478f72=this['_child']['label'])!==null&&_0x478f72!==void 0x0&&_0x478f72['show']&&(this['_child']['label']['position']=this['_position']);function _0x51bff4(_0x1ba34e,_0x8456cf){return _0x54a7f1(_0x1ba34e-_0x355570._0x570752,_0x8456cf);}(_0x6d6e90=this[_0x51bff4(0x9db,0xf49)]['billboard'])!==null&&_0x6d6e90!==void 0x0&&_0x6d6e90['show']&&(this[_0x3915a9(0x7d6,0x1007)]['billboard']['position']=this['_position']);(_0x1b52f2=this['_child'][_0x3915a9(0xce8,0x72f)])!==null&&_0x1b52f2!==void 0x0&&_0x1b52f2[_0x51bff4(0x17c4,0xf5d)]&&(this[_0x3915a9(0x7d6,_0x2e4104._0x4e6afb)][_0x51bff4(0xeed,_0x2e4104._0x35a1a6)][_0x3915a9(0x16ad,_0x2e4104._0x54eb01)]=this['_position']);if((_0xa3869b=this['_child']['model'])!==null&&_0xa3869b!==void 0x0&&_0xa3869b[_0x3915a9(0x15bf,0x1810)]){var _0x25645e;this['_modelMatrix']=this['_child']['model']['_getModelMatrix'](this['_position'],this['_orientation_show']),this[_0x3915a9(0x391,-_0x2e4104._0x20d109)]=this[_0x51bff4(0x9db,0x1116)]['model']['_heading_reality'],this['_pitch_reality']=this[_0x3915a9(_0x2e4104._0x31f384,0x4b8)][_0x3915a9(_0x2e4104._0x1affb5,0x27f)][_0x51bff4(_0x2e4104._0x3a853e,_0x2e4104._0x5b08c8)],this['_roll_reality']=this[_0x51bff4(_0x2e4104._0x5b8562,_0x2e4104._0x5bed48)]['model']['_roll_reality'],this[_0x3915a9(_0x2e4104._0x32b242,0x2c6)]['model'][_0x51bff4(0xf5d,0x743)]=this[_0x3915a9(0xd58,0x9b9)],this[_0x51bff4(0x9db,0xce4)][_0x51bff4(0x89c,0xc05)]['_modelMatrix']=this[_0x51bff4(_0x2e4104._0x4819f2,0x1a25)],(_0x25645e=this[_0x3915a9(0x7d6,_0x2e4104._0x48f988)][_0x51bff4(0x89c,_0x2e4104._0x4a1dbb)])!==null&&_0x25645e!==void 0x0&&_0x25645e[_0x51bff4(0x157b,0x1f2c)]&&(this['_child']['model'][_0x51bff4(0x157b,0x1e62)][_0x3915a9(0x6f2,0x540)]=this[_0x3915a9(0xec8,0x576)]);}else this['_modelMatrix']=this[_0x51bff4(_0x2e4104._0x379c47,0xb1c)](this[_0x51bff4(0xf5d,_0x2e4104._0x561228)],this['_orientation_show']);let _0x8df6e9=![];function _0x3915a9(_0x2be604,_0x4c6a63){return _0x7afdbe(_0x4c6a63,_0x2be604- -0x262);}(_0xea895e=this[_0x51bff4(0x9db,0x121f)][_0x3915a9(_0x2e4104._0x538feb,_0x2e4104._0x4080f4)])!==null&&_0xea895e!==void 0x0&&_0xea895e['show']&&!((_0x2be28d=this['options']['polyline'])!==null&&_0x2be28d!==void 0x0&&_0x2be28d[_0x51bff4(0x8b4,0x12cc)])&&(this[_0x3915a9(_0x2e4104._0x42e47c,0x974)]>=0x0&&this[_0x51bff4(0xf5d,_0x2e4104._0x722658)]?(this['_polyline_positions']=this['_getPositionsShow'](),_0x8df6e9=!![]):this['_polyline_positions']=[]);if((_0x2033f5=this[_0x3915a9(0x7d6,0xf3c)][_0x3915a9(_0x2e4104._0x183b53,0x10d9)])!==null&&_0x2033f5!==void 0x0&&_0x2033f5[_0x51bff4(_0x2e4104._0x5107d9,_0x2e4104._0x4de7d8)]){if(this[_0x3915a9(0x92b,0x8e7)]>=0x0&&this['_position']){!_0x8df6e9&&(this['_polyline_positions']=this['_getPositionsShow']());const _0x534581=[],_0x29ca0d=[],_0x5638b6=this['_polyline_positions'];for(let _0x5e1fb6=0x0;_0x5e1fb6<_0x5638b6[_0x3915a9(0xf51,_0x2e4104._0x351426)];_0x5e1fb6++){const _0x2deb28=_0x5638b6[_0x5e1fb6],_0x58cb37=Cesium__namespace['Cartographic']['fromCartesian'](_0x2deb28);_0x29ca0d[_0x51bff4(0x10d9,_0x2e4104._0x10f9fe)](_0x58cb37['height']);if(this['options']['wall']['surface']){var _0xeb96c2;const _0x32868b={};_0x32868b['original']=!![],_0x5638b6[_0x5e1fb6][_0x3915a9(_0x2e4104._0x4b13e2,_0x2e4104._0x2bebcd)]=_0x5638b6[_0x5e1fb6][_0x3915a9(0x1010,0x180b)]??getHeight((_0xeb96c2=this['_map'])===null||_0xeb96c2===void 0x0?void 0x0:_0xeb96c2[_0x3915a9(0x104b,_0x2e4104._0x16f47c)],_0x58cb37,_0x32868b),_0x534581[_0x3915a9(0xed4,0x1812)](_0x5638b6[_0x5e1fb6]['hbgd']);}else _0x534581['push'](0x0);}this['_wall_positions']=_0x5638b6,this[_0x51bff4(_0x2e4104._0x4a0de3,0x1020)]=_0x534581,this['_wall_maximumHeights']=_0x29ca0d;}else this['_wall_positions']=[],this['_wall_minimumHeights']=[],this['_wall_maximumHeights']=[];}}[_0x54a7f1(0x4d2,0x593)](){const _0x5b4740={_0x2ed65e:0xd53,_0x39dbd9:0xb4d,_0x2f27f7:0x1ba7,_0x573cc8:0x665,_0x1f09b9:0x1938,_0x57a3bf:0xac4,_0x32bbb4:0x15c0,_0x2b89fd:0xae3,_0x9db4f9:0xbde,_0x1459fb:0xba6,_0x517fc3:0x91e,_0x11ca56:0x18c,_0xe5ad48:0x924,_0x3463e4:0xa3b,_0x50183b:0x18c},_0x6340c1={_0x1eb39a:0x6e};var _0x1cfa3e,_0x50b1e9;let _0x4293c0=[];function _0xe01a30(_0x586e04,_0x1124ef){return _0x54a7f1(_0x1124ef-_0x6340c1._0x1eb39a,_0x586e04);}const _0x1cc60a=(_0x1cfa3e=this[_0x1ba96f(_0x5b4740._0x2ed65e,_0x5b4740._0x39dbd9)])===null||_0x1cfa3e===void 0x0||(_0x1cfa3e=_0x1cfa3e[_0x1ba96f(_0x5b4740._0x2f27f7,0x11d0)])===null||_0x1cfa3e===void 0x0?void 0x0:_0x1cfa3e['_values'];function _0x1ba96f(_0x39e78d,_0x38a9dd){return _0x7afdbe(_0x39e78d,_0x38a9dd- -0x47e);}for(let _0x111286=0x0;_0x111286<=this[_0x1ba96f(_0x5b4740._0x573cc8,0x70f)];_0x111286++){const _0x511179=new Cesium__namespace[(_0x1ba96f(0xd38,0x1097))](_0x1cc60a[_0x111286*0x3],_0x1cc60a[_0x111286*0x3+0x1],_0x1cc60a[_0x111286*0x3+0x2]);if(_0x111286>0x0){const _0x56fff3=Cesium__namespace[_0x1ba96f(_0x5b4740._0x1f09b9,0x1097)][_0xe01a30(_0x5b4740._0x57a3bf,0x12ff)](_0x4293c0[_0x4293c0['length']-0x1],_0x511179);if(_0x56fff3<0.01)continue;}_0x4293c0[_0x1ba96f(0x754,0xcb8)](_0x511179);}return this[_0x1ba96f(_0x5b4740._0x32bbb4,0xb3c)]&&(_0x4293c0['length']>0x0&&Cesium__namespace['Cartesian3']['distance'](_0x4293c0[_0x4293c0['length']-0x1],this[_0xe01a30(0xdf7,0xdfa)])>0.01&&_0x4293c0['push'](this[_0xe01a30(0x38e,0xdfa)])),(_0x50b1e9=this['options'])!==null&&_0x50b1e9!==void 0x0&&(_0x50b1e9=_0x50b1e9[_0x1ba96f(_0x5b4740._0x2b89fd,_0x5b4740._0x9db4f9)])!==null&&_0x50b1e9!==void 0x0&&_0x50b1e9['maxDistance']&&_0x4293c0['length']>0x0&&(_0x4293c0=sliceByMaxDistance(_0x4293c0,this[_0xe01a30(_0x5b4740._0x1459fb,_0x5b4740._0x517fc3)]['polyline']['maxDistance']),this[_0x1ba96f(-0x391,0x18c)]>0x0&&(this[_0x1ba96f(-0x4f5,_0x5b4740._0x11ca56)]=Math[_0x1ba96f(_0x5b4740._0xe5ad48,0x8ba)](this[_0x1ba96f(_0x5b4740._0x3463e4,_0x5b4740._0x50183b)],_0x4293c0['length']*0x2))),_0x4293c0;}[_0x7afdbe(0x1a4d,0x100b)](){const _0x554b45={_0x25368f:0x73b,_0x32823f:0xbb9,_0x357ed8:0x6db,_0x2f60b5:0x9b3,_0x52347c:0xa14,_0x12813c:0xa73,_0x266203:0x11b7,_0x57f75d:0xa32,_0x4402f7:0x64c,_0x3b331b:0x2f7,_0x10218a:0x137,_0x13f370:0x4f4,_0x3ddf1d:0x796,_0x58087f:0x1083,_0x4558c4:0x56f,_0x5568db:0x52b,_0x2286ec:0x2f7,_0x4c26cd:0x2a3},_0x173cb8={_0x270d8d:0x264};function _0x1b6974(_0x5019c0,_0x265c50){return _0x54a7f1(_0x5019c0- -_0x173cb8._0x270d8d,_0x265c50);}function _0x3ca9f2(_0x1b512d,_0x264011){return _0x54a7f1(_0x1b512d-0x1e0,_0x264011);}if(!this['options']['camera'])return;switch(this['options'][_0x3ca9f2(_0x554b45._0x25368f,-0x23c)]['type']){case'gs':{const _0xc12929=this['trackedEntity'];this['_map'][_0x3ca9f2(_0x554b45._0x32823f,_0x554b45._0x357ed8)]['shouldAnimate']&&this[_0x3ca9f2(_0x554b45._0x2f60b5,0x3b7)]['trackedEntity']!==_0xc12929&&(this['_map']['trackedEntity']=_0xc12929,_0xc12929['_needFlyToPoint']=!![]);_0xc12929['_needFlyToPoint']&&!this['_map'][_0x3ca9f2(0xb3e,_0x554b45._0x52347c)]['_needTrackedEntityUpdate']&&(_0xc12929['_needFlyToPoint']=![],this[_0x1b6974(_0x554b45._0x12813c,0xcea)](this['options'][_0x1b6974(0x2f7,0x3be)]));break;}case'dy':{const _0x252947=this['trackedEntity'];this['_map'][_0x3ca9f2(0x952,_0x554b45._0x266203)]!==_0x252947&&(this['_map'][_0x3ca9f2(0x952,_0x554b45._0x57f75d)]=_0x252947);let _0x56264e=this['options']['camera'][_0x1b6974(0xb6c,0x25c)]||0x0;const _0x1e40ee=this['options']['camera']['followedZ']||0x0;_0x56264e===0x0&&_0x1e40ee===0x0&&(_0x56264e=0.1);let _0x29b4fb;this[_0x1b6974(_0x554b45._0x4402f7,0xaad)][_0x1b6974(_0x554b45._0x3b331b,-_0x554b45._0x10218a)][_0x1b6974(0x11e3,0xc7c)]&&(_0x29b4fb=_0x29b4fb||{},_0x29b4fb['x']=this['options']['camera']['offsetX']);this['options'][_0x1b6974(0x2f7,0xa26)]['offsetY']&&(_0x29b4fb=_0x29b4fb||{},_0x29b4fb['y']=this['options'][_0x3ca9f2(_0x554b45._0x25368f,0x1009)][_0x3ca9f2(0xf0e,0x132c)]);this['options'][_0x1b6974(_0x554b45._0x3b331b,_0x554b45._0x13f370)]['offsetZ']&&(_0x29b4fb=_0x29b4fb||{},_0x29b4fb['z']=this['options']['camera'][_0x1b6974(0x1311,0x10b9)]);this['_map'][_0x1b6974(0xe1b,0x1389)][_0x1b6974(0x2f7,_0x554b45._0x3ddf1d)]['lookAtTransform'](this['computeModelMatrix'](_0x29b4fb),new Cesium__namespace[(_0x1b6974(_0x554b45._0x58087f,0x1523))](-_0x56264e,0x0,_0x1e40ee));break;}case'sd':{const _0x10cf7c=this['trackedEntity'];this[_0x1b6974(_0x554b45._0x4558c4,_0x554b45._0x5568db)][_0x3ca9f2(0x952,0x184)]!==_0x10cf7c&&(this['_map']['trackedEntity']=_0x10cf7c);this[_0x1b6974(_0x554b45._0x4558c4,0xa10)]['scene'][_0x1b6974(_0x554b45._0x2286ec,0x1fe)]['lookAtTransform'](this['computeModelMatrix'](),new Cesium__namespace['Cartesian3'](-0x1,0x0,this['options']['camera']['followedZ']));break;}default:{this['_trackedEntity']&&this[_0x3ca9f2(0x9b3,_0x554b45._0x4c26cd)][_0x3ca9f2(0x952,0x116d)]===this['_trackedEntity']&&(this['_map']['trackedEntity']=undefined);break;}}}['computeModelMatrix'](_0x2f4778){const _0x4de3c2={_0x23d771:0xa86,_0x56ce7b:0xc6d,_0x1edde9:0x137b,_0x59cc05:0x3c7,_0x25dc07:0x29,_0x164d6e:0x15af,_0x2be5f0:0xd2,_0x450450:0xd12,_0x383015:0xa04,_0x228226:0x15af,_0x129e1e:0x2046},_0x3ddba2={_0x4c57a6:0x534};!this['_matrix4']&&(this['_matrix4']=new Cesium__namespace['Matrix4'](),this['_matrix3Scratch']=new Cesium__namespace['Matrix3']());let _0x1ca84a=this[_0x124080(_0x4de3c2._0x23d771,_0x4de3c2._0x56ce7b)];if(!Cesium__namespace[_0x124080(_0x4de3c2._0x1edde9,0x13f4)](_0x1ca84a)||!this['_orientation_show'])return undefined;function _0x41b68a(_0x3c8874,_0x351cd3){return _0x54a7f1(_0x3c8874- -0x1f4,_0x351cd3);}function _0x124080(_0xb50120,_0x5a5a45){return _0x7afdbe(_0x5a5a45,_0xb50120- -_0x3ddba2._0x4c57a6);}if(_0x2f4778){const _0x5ea8a4=new Cesium__namespace[(_0x41b68a(0x96e,0xc1e))](this['_heading'],this[_0x124080(0xb74,0x106c)],this[_0x41b68a(_0x4de3c2._0x59cc05,_0x4de3c2._0x25dc07)]);_0x1ca84a=getPositionByHprAndOffset(_0x1ca84a,new Cesium__namespace[(_0x124080(0xfe1,0xaf4))](_0x2f4778['x']||0x0,_0x2f4778['y']||0x0,_0x2f4778['z']||0x0),_0x5ea8a4);}return this[_0x41b68a(_0x4de3c2._0x164d6e,0x11a6)]=Cesium__namespace[_0x124080(_0x4de3c2._0x2be5f0,-0x1be)]['fromRotationTranslation'](Cesium__namespace[_0x41b68a(0x121c,0x1c8a)]['fromQuaternion'](this['_orientation_show'],this[_0x124080(_0x4de3c2._0x450450,_0x4de3c2._0x383015)]),_0x1ca84a,this[_0x41b68a(_0x4de3c2._0x228226,_0x4de3c2._0x129e1e)]),this['_matrix4'];}[_0x7afdbe(0x1224,0x12e1)](){const _0x13b064={_0x4e8204:0x1288,_0x45717b:0x991,_0x1ec0df:0xc2d,_0x4799a1:0x496,_0xea1b85:0x34f,_0x1a3c68:0x12b8,_0x5d44c7:0xc38,_0x29c1ec:0xabd},_0x46f7b2={_0x4d7907:0x3fb},_0x4240fc=this['_flyok_index'];function _0x25d072(_0x2518ff,_0x254bdb){return _0x54a7f1(_0x254bdb- -_0x46f7b2._0x4d7907,_0x2518ff);}if(!Cesium__namespace['defined'](_0x4240fc))return;function _0x5ba695(_0x564dd6,_0x41f4ad){return _0x7afdbe(_0x41f4ad,_0x564dd6- -0x38d);}this[_0x25d072(_0x13b064._0x4e8204,_0x13b064._0x45717b)]&&!this['_position']['equals'](this['_last_firePosition'])&&(this[_0x5ba695(0xd59,0x1661)](EventType['change'],{'index':_0x4240fc,'counts':this['_counts'],'position':this[_0x5ba695(_0x13b064._0x1ec0df,0x35a)],'orientation':this['_orientation_show']},!![]),this[_0x25d072(_0x13b064._0x4799a1,_0x13b064._0xea1b85)]=this['_position']?this['_position'][_0x5ba695(0x690,0x611)]():undefined);if(_0x4240fc!==this['_last_fireIndex']){if(Cesium__namespace[_0x25d072(_0x13b064._0x1a3c68,0x1286)](this['_last_fireIndex'])&&this[_0x5ba695(0x1620,_0x13b064._0x5d44c7)]+0x1!==_0x4240fc)while(++this['_last_fireIndex']<_0x4240fc){this[_0x25d072(0x1281,_0x13b064._0x29c1ec)](EventType['endItem'],{'counts':this['_counts'],'index':this['_last_fireIndex']});}this['fire'](EventType['endItem'],{'counts':this['_counts'],'index':_0x4240fc}),_0x4240fc===this['_counts']-0x1&&this['fire'](EventType['end']),this[_0x5ba695(0x1620,0xb5b)]=_0x4240fc;}}['getPropertyValue'](_0x2fe1f2,_0x1b0ac6){const _0x4c13e3={_0x4cecf3:0xe7,_0x504d95:0xcac,_0x5b4e80:0x7d5,_0x4f1654:0x1ee,_0x328956:0xbab,_0x115d41:0xf13,_0x52471c:0xba2,_0x2b620e:0xc4b,_0x3c7a3b:0xf98,_0x390fa0:0x7d5,_0x183e60:0x7d9,_0x2158da:0xba2,_0x4e45fe:0x43a,_0x30c39c:0x8be,_0x30ba61:0x627,_0xf56949:0x175,_0x1ca010:0x3f3,_0x4d263e:0x792,_0x478c35:0x136,_0x518bc1:0x400,_0x29210f:0xdfb,_0x4cf906:0xa61,_0x33a1c8:0x170,_0x3a5d3a:0x9b6,_0x188189:0xa4d,_0x269d2b:0xcf3,_0x5dc36a:0x13f1,_0x3aa991:0xe77,_0x42fe39:0x45d,_0x38a1c7:0x74d},_0x42360c={_0x5979ae:0x454};function _0xc67f74(_0x3bb56b,_0x2fa522){return _0x54a7f1(_0x3bb56b- -0x18a,_0x2fa522);}var _0x5b27c0;const _0x42d5ae=(_0x5b27c0=this[_0x323d34(-_0x4c13e3._0x4cecf3,0x949)])===null||_0x5b27c0===void 0x0?void 0x0:_0x5b27c0[_0xc67f74(0x1296,_0x4c13e3._0x504d95)],_0x4462f2=_0x42d5ae===null||_0x42d5ae===void 0x0?void 0x0:_0x42d5ae[_0x323d34(0xa29,0x433)],_0x2dbdf8=_0x4462f2['length'];function _0x323d34(_0x580c38,_0x2804b7){return _0x54a7f1(_0x2804b7- -_0x42360c._0x5979ae,_0x580c38);}if(_0x2dbdf8===0x0)return undefined;this['_counts']=_0x2dbdf8;let _0xd6c8fc;const _0x4747fd=Cesium__namespace[_0xc67f74(0x115d,0x109a)],_0x474a2e=_0x42d5ae['_values'];this['_flyok_index']=Cesium__namespace['binarySearch'](_0x4462f2,_0x2fe1f2,Cesium__namespace['JulianDate'][_0xc67f74(0xcf3,0x161c)]);if(this['_flyok_index']<0x0){this['_flyok_index']=~this['_flyok_index'];if(this['_flyok_index']===0x0){const _0x4f893b=_0x4462f2[this[_0xc67f74(_0x4c13e3._0x5b4e80,0xfbb)]];_0xd6c8fc=_0x42d5ae['_backwardExtrapolationDuration'];if(_0x42d5ae[_0x323d34(_0x4c13e3._0x4f1654,_0x4c13e3._0x328956)]===Cesium__namespace['ExtrapolationType'][_0x323d34(_0x4c13e3._0x115d41,_0x4c13e3._0x52471c)]||_0xd6c8fc!==0x0&&Cesium__namespace['JulianDate']['secondsDifference'](_0x4f893b,_0x2fe1f2)>_0xd6c8fc)return undefined;if(_0x42d5ae['_backwardExtrapolationType']===Cesium__namespace['ExtrapolationType'][_0x323d34(_0x4c13e3._0x2b620e,_0x4c13e3._0x3c7a3b)])return _0x4747fd['unpack'](_0x474a2e,0x0,_0x1b0ac6);}if(this['_flyok_index']>=_0x2dbdf8){this['_flyok_index']=_0x2dbdf8-0x1;const _0x3dfe9b=_0x4462f2[this[_0xc67f74(_0x4c13e3._0x390fa0,_0x4c13e3._0x183e60)]];_0xd6c8fc=_0x42d5ae['_forwardExtrapolationDuration'];if(_0x42d5ae['_forwardExtrapolationType']===Cesium__namespace['ExtrapolationType'][_0x323d34(0x1195,_0x4c13e3._0x2158da)]||_0xd6c8fc!==0x0&&Cesium__namespace['JulianDate'][_0xc67f74(_0x4c13e3._0x4e45fe,_0x4c13e3._0x30c39c)](_0x2fe1f2,_0x3dfe9b)>_0xd6c8fc)return undefined;if(_0x42d5ae['_forwardExtrapolationType']===Cesium__namespace[_0xc67f74(_0x4c13e3._0x30ba61,-_0x4c13e3._0xf56949)]['HOLD'])return this['_flyok_index']=_0x2dbdf8-0x1,_0x4747fd['unpack'](_0x474a2e,this['_flyok_index']*_0x4747fd['packedLength'],_0x1b0ac6);}const _0x2bf02b=_0x42d5ae[_0xc67f74(0xe1e,0x920)],_0x57e57b=_0x42d5ae['_yTable'],_0x31e7d2=_0x42d5ae[_0x323d34(0x7a7,_0x4c13e3._0x1ca010)],_0x3104e3=_0x42d5ae['_packedInterpolationLength'],_0xb509cd=_0x42d5ae['_inputOrder'];if(_0x42d5ae['_updateTableLength']){_0x42d5ae['_updateTableLength']=![];const _0x5d809e=Math[_0x323d34(0x45f,0x957)](_0x31e7d2[_0x323d34(0x4c,0x46f)](_0x42d5ae[_0xc67f74(0x208,-_0x4c13e3._0x4d263e)],_0xb509cd),_0x2dbdf8);_0x5d809e!==_0x42d5ae[_0x323d34(0x1c3,_0x4c13e3._0x478c35)]&&(_0x42d5ae[_0xc67f74(_0x4c13e3._0x518bc1,0x604)]=_0x5d809e,_0x2bf02b['length']=_0x5d809e,_0x57e57b[_0xc67f74(_0x4c13e3._0x29210f,0x15e1)]=_0x5d809e*_0x3104e3);}const _0x6c8da=_0x42d5ae['_numberOfPoints']-0x1;if(_0x6c8da<0x1)return this[_0xc67f74(0x7d5,0x143)]=0x0,undefined;let _0x3ee92a=0x0,_0x27587f=_0x2dbdf8-0x1;const _0x18b6ef=_0x27587f-_0x3ee92a+0x1;if(_0x18b6ef>=_0x6c8da+0x1){let _0x7c846e=this[_0x323d34(_0x4c13e3._0x4cf906,0x50b)]-(_0x6c8da/0x2|0x0)-0x1;_0x7c846e<_0x3ee92a&&(_0x7c846e=_0x3ee92a);let _0x5ee1a2=_0x7c846e+_0x6c8da;_0x5ee1a2>_0x27587f&&(_0x5ee1a2=_0x27587f,_0x7c846e=_0x5ee1a2-_0x6c8da,_0x7c846e<_0x3ee92a&&(_0x7c846e=_0x3ee92a)),_0x3ee92a=_0x7c846e,_0x27587f=_0x5ee1a2;}const _0x14a322=_0x27587f-_0x3ee92a+0x1;for(let _0x1b175f=0x0;_0x1b175f<_0x14a322;++_0x1b175f){_0x2bf02b[_0x1b175f]=Cesium__namespace[_0x323d34(0x124d,0x9b6)][_0x323d34(-0x717,_0x4c13e3._0x33a1c8)](_0x4462f2[_0x3ee92a+_0x1b175f],_0x4462f2[_0x27587f]);}if(!Cesium__namespace['defined'](_0x4747fd[_0xc67f74(0x68f,0x6ac)])){let _0x22803d=0x0;const _0x5acb63=_0x42d5ae['_packedLength'];let _0x3a11f8=_0x3ee92a*_0x5acb63;const _0x3e9311=(_0x27587f+0x1)*_0x5acb63;while(_0x3a11f8<_0x3e9311){_0x57e57b[_0x22803d]=_0x474a2e[_0x3a11f8],_0x3a11f8++,_0x22803d++;}}else _0x4747fd[_0x323d34(-0x4ac,0x3c5)](_0x474a2e,_0x3ee92a,_0x27587f,_0x57e57b);const _0xf9863e=Cesium__namespace[_0x323d34(0x950,_0x4c13e3._0x3a5d3a)][_0xc67f74(0x43a,0x200)](_0x2fe1f2,_0x4462f2[_0x27587f]);let _0xdeb68a;if(_0xb509cd===0x0||!Cesium__namespace['defined'](_0x31e7d2['interpolate']))_0xdeb68a=_0x31e7d2[_0xc67f74(_0x4c13e3._0x188189,-0x46)](_0xf9863e,_0x2bf02b,_0x57e57b,_0x3104e3,_0x42d5ae[_0x323d34(0x52c,-0x1f)]);else{const _0x240738=Math[_0xc67f74(0x768,0x103f)](_0x3104e3/(_0xb509cd+0x1));_0xdeb68a=_0x31e7d2['interpolate'](_0xf9863e,_0x2bf02b,_0x57e57b,_0x240738,_0xb509cd,_0xb509cd,_0x42d5ae['_interpolationResult']);}this['_flyok_index']=_0x3ee92a;for(let _0x2004fa=_0x3ee92a;_0x2004fa<=_0x27587f;_0x2004fa++){const _0x187622=Cesium__namespace['JulianDate'][_0xc67f74(_0x4c13e3._0x269d2b,0x1508)](_0x2fe1f2,_0x4462f2[_0x2004fa]);if(_0x187622<=0x0){this['_flyok_index']=_0x2004fa-0x1;break;}}if(!Cesium__namespace['defined'](_0x4747fd['unpackInterpolationResult']))return _0x4747fd['unpack'](_0xdeb68a,0x0,_0x1b0ac6);return _0x4747fd[_0xc67f74(0xf8f,_0x4c13e3._0x5dc36a)](_0xdeb68a,_0x474a2e,_0x3ee92a,_0x27587f,_0x1b0ac6);}return _0x4747fd['unpack'](_0x474a2e,this[_0x323d34(_0x4c13e3._0x3aa991,0x50b)]*_0x42d5ae[_0x323d34(_0x4c13e3._0x42fe39,_0x4c13e3._0x38a1c7)],_0x1b0ac6);}['clearPosition'](){const _0x23d3fc={_0x21fe14:0xfce,_0x5aaeb4:0xb6d,_0x4276c7:0x423,_0x1049d6:0x474},_0x594622={_0x995883:0x230};var _0x1b5f4b;const _0x516138=(_0x1b5f4b=this[_0x239b2d(_0x23d3fc._0x21fe14,_0x23d3fc._0x5aaeb4)])===null||_0x1b5f4b===void 0x0||(_0x1b5f4b=_0x1b5f4b[_0x2f3c07(0x111a,0x9cb)])===null||_0x1b5f4b===void 0x0?void 0x0:_0x1b5f4b[_0x2f3c07(0x581,0xc4e)];function _0x2f3c07(_0x79ad80,_0x332327){return _0x54a7f1(_0x79ad80- -0x306,_0x332327);}if(!_0x516138||_0x516138['length']===0x0)return;const _0x3a8391={};_0x3a8391[_0x2f3c07(0x625,_0x23d3fc._0x4276c7)]=_0x516138[0x0],_0x3a8391[_0x2f3c07(_0x23d3fc._0x1049d6,0x8e5)]=_0x516138[_0x516138['length']-0x1];function _0x239b2d(_0x51e65d,_0x41310c){return _0x54a7f1(_0x41310c- -_0x594622._0x995883,_0x51e65d);}this['property']['removeSamples'](new Cesium__namespace['TimeInterval'](_0x3a8391));}['getRectangle'](_0x4b7c6a){const _0x1476eb={_0x44b60f:0x90a,_0x45ba2f:0xdde,_0x336922:0x14bd,_0x4b98df:0x12d6},_0x293315={_0x1f674f:0x672};var _0x14382a,_0x1ab8ad;const _0x48b203=(_0x14382a=this[_0xeecd4d(_0x1476eb._0x44b60f,_0x1476eb._0x45ba2f)])===null||_0x14382a===void 0x0||(_0x14382a=_0x14382a['_property'])===null||_0x14382a===void 0x0?void 0x0:_0x14382a[_0x5bdbdd(0xc5f,0x443)];function _0xeecd4d(_0x2b8258,_0x38b632){return _0x54a7f1(_0x38b632-0x41,_0x2b8258);}const _0x5c440b=(_0x1ab8ad=this[_0x5bdbdd(0x179,0x959)])===null||_0x1ab8ad===void 0x0||(_0x1ab8ad=_0x1ab8ad['_property'])===null||_0x1ab8ad===void 0x0?void 0x0:_0x1ab8ad['_values'];function _0x5bdbdd(_0x420d80,_0x5ac360){return _0x7afdbe(_0x420d80,_0x5ac360- -_0x293315._0x1f674f);}if(!_0x48b203||_0x48b203['length']===0x0)return;const _0x324ab6=[];for(let _0x143540=0x0,_0x1c8b9a=_0x48b203['length'];_0x143540<_0x1c8b9a;_0x143540++){_0x324ab6['push'](new Cesium__namespace['Cartesian3'](_0x5c440b[_0x143540*0x3],_0x5c440b[_0x143540*0x3+0x1],_0x5c440b[_0x143540*0x3+0x2]));}const _0x36dbde=getRectangle(_0x324ab6,_0x4b7c6a===null||_0x4b7c6a===void 0x0?void 0x0:_0x4b7c6a[_0x5bdbdd(_0x1476eb._0x336922,_0x1476eb._0x4b98df)]);return _0x36dbde;}[_0x7afdbe(0x69c,0x5d7)](_0x3d1dda){const _0x4855ef={_0x418c39:0x262,_0x18acef:0x9cb};var _0x8e4363,_0x2d8935;const _0x1377d1=(_0x8e4363=this['property'])===null||_0x8e4363===void 0x0||(_0x8e4363=_0x8e4363['_property'])===null||_0x8e4363===void 0x0?void 0x0:_0x8e4363[_0x31c1f3(0xb51,0x4d1)];function _0x31c1f3(_0x5247bb,_0x663857){return _0x7afdbe(_0x5247bb,_0x663857- -0x5e4);}function _0x16248f(_0x4b5f66,_0x42267c){return _0x54a7f1(_0x4b5f66-0xe6,_0x42267c);}const _0xbdf79c=(_0x2d8935=this['property'])===null||_0x2d8935===void 0x0||(_0x2d8935=_0x2d8935['_property'])===null||_0x2d8935===void 0x0?void 0x0:_0x2d8935[_0x16248f(0x108b,0x1619)];if(!_0x1377d1||_0x1377d1['length']===0x0)return[];const _0x404ae5=[];for(let _0x21a94c=0x0,_0x4fd74e=_0x1377d1['length'];_0x21a94c<_0x4fd74e;_0x21a94c++){const _0x33b609=LngLatPoint['fromCartesian'](new Cesium__namespace[(_0x31c1f3(0x16d2,0xf31))](_0xbdf79c[_0x21a94c*0x3],_0xbdf79c[_0x21a94c*0x3+0x1],_0xbdf79c[_0x21a94c*0x3+0x2])),_0x1e6129=_0x33b609['toArray'](_0x3d1dda);_0x1e6129['push'](Cesium__namespace[_0x31c1f3(_0x4855ef._0x418c39,0xa54)][_0x31c1f3(_0x4855ef._0x18acef,0x10fc)](_0x1377d1[_0x21a94c])['getTime']()),_0x404ae5['push'](_0x1e6129);}return _0x404ae5;}['flyToPoint'](_0x562c2c={}){const _0x5ef013={_0x25e4c5:0x87f,_0x3517f1:0x17d0};if(!this[_0x38b879(0x8ad,0x189)])return;const _0x347102=this[_0x6663bb(_0x5ef013._0x25e4c5,0x3b8)];if(!_0x347102)return;function _0x6663bb(_0x1f7a1e,_0xbfb0f1){return _0x7afdbe(_0xbfb0f1,_0x1f7a1e- -0x73b);}let _0x3e0814;if(Cesium__namespace[_0x6663bb(0x1174,0x193e)](_0x562c2c['heading'])){var _0x51c082;_0x3e0814=_0x562c2c[_0x6663bb(-0x200,0x703)]+Cesium__namespace['Math']['toDegrees'](((_0x51c082=this[_0x38b879(0xf27,_0x5ef013._0x3517f1)])===null||_0x51c082===void 0x0?void 0x0:_0x51c082['heading'])||0x0);}const _0x23ce10={..._0x562c2c};_0x23ce10[_0x6663bb(-0x200,0x3c4)]=_0x3e0814;function _0x38b879(_0x329bb6,_0x4e0880){return _0x7afdbe(_0x4e0880,_0x329bb6- -0x154);}this[_0x6663bb(0x2c6,-0x3d6)]['flyToPoint'](_0x347102,_0x23ce10);}static['clearLastCamera'](){const _0xedbc5d={_0x99f438:0x264,_0x137df4:0x919};function _0x4697ea(_0x16788f,_0xd8224b){return _0x7afdbe(_0x16788f,_0xd8224b- -0x525);}function _0x1e4520(_0x4db973,_0x32e280){return _0x54a7f1(_0x4db973-0xe3,_0x32e280);}var _0x5e8f76;(_0x5e8f76=globeLastRoam)!==null&&_0x5e8f76!==void 0x0&&(_0x5e8f76=_0x5e8f76['options'])!==null&&_0x5e8f76!==void 0x0&&(_0x5e8f76=_0x5e8f76[_0x4697ea(0x677,_0xedbc5d._0x99f438)])!==null&&_0x5e8f76!==void 0x0&&_0x5e8f76['type']&&(globeLastRoam[_0x4697ea(0x85a,0x5b9)]['camera'][_0x1e4520(_0xedbc5d._0x137df4,0x1384)]=''),globeLastRoam=null;}[_0x54a7f1(0xaa6,0xdc3)](_0x4825da){const _0x248276={_0x1b949b:0x6ed,_0x246e45:0x1fb},_0x3f7623={_0x24b706:0x1c3};function _0x4e271a(_0x4cd076,_0x348a68){return _0x54a7f1(_0x348a68- -0x360,_0x4cd076);}var _0x2c6762;Route['clearLastCamera']();if(this[_0x590284(0x6ed,0xdd5)]['camera'])this['options']['camera']=merge(this[_0x590284(_0x248276._0x1b949b,0xd99)][_0x4e271a(-0x232,_0x248276._0x246e45)],_0x4825da);else{if(_0x4825da)this['options']['camera']=_0x4825da;else{const _0x107d38={};_0x107d38['type']='',this[_0x4e271a(-0x282,0x550)]['camera']=_0x107d38;}}((_0x2c6762=this['options'][_0x4e271a(-0x5e6,0x1fb)])===null||_0x2c6762===void 0x0?void 0x0:_0x2c6762['type'])!==''&&(globeLastRoam=this);function _0x590284(_0x4cfb76,_0x1753ce){return _0x54a7f1(_0x4cfb76- -_0x3f7623._0x24b706,_0x1753ce);}if(_0x4825da&&_0x4825da['type']==='gs'&&_0x4825da[_0x590284(0x214,0x5f8)]){const _0x57301a={..._0x4825da};_0x57301a['duration']=0x0,this[_0x590284(0xb14,0x2e7)](_0x57301a);}}[_0x54a7f1(0x84a,0x788)](){const _0x1b2b3b={_0x5b4dc3:0xd7b,_0x1fd0e0:0x11df};function _0x211e43(_0x410f2e,_0x49512d){return _0x54a7f1(_0x410f2e-0x4,_0x49512d);}logWarn(_0x211e43(_0x1b2b3b._0x5b4dc3,_0x1b2b3b._0x1fd0e0));}[_0x54a7f1(0x4ef,0x21a)](){const _0xf51766={_0x1205c4:0xb28,_0x21f547:0x14b3,_0x5d246:0xa3b};function _0x533ac3(_0x231cc7,_0x136973){return _0x7afdbe(_0x231cc7,_0x136973-0x3a);}function _0x45a880(_0x53f806,_0xf083dc){return _0x7afdbe(_0x53f806,_0xf083dc- -0xdf);}this['_map']&&(this['_map'][_0x45a880(0xf17,_0xf51766._0x1205c4)]['shouldAnimate']=![],this['_trackedEntity']&&this['_map']['trackedEntity']===this['_trackedEntity']&&(this[_0x533ac3(_0xf51766._0x21f547,_0xf51766._0x5d246)]['trackedEntity']=undefined));}['proceed'](){const _0x4eb437={_0x7fb15d:0x8cc,_0x525d5d:0xc63};function _0x1e51b5(_0x97b5aa,_0x2534e9){return _0x7afdbe(_0x97b5aa,_0x2534e9- -0x6fa);}function _0x311f64(_0x4dad4e,_0x262fe1){return _0x7afdbe(_0x262fe1,_0x4dad4e- -0x33b);}this[_0x1e51b5(0xb5a,0x307)]&&(this['_map'][_0x311f64(_0x4eb437._0x7fb15d,0xa61)][_0x1e51b5(0x1283,_0x4eb437._0x525d5d)]=!![]);}[_0x54a7f1(0x8cb,0xbe7)](){const _0x22b3cf={_0x54e250:0xb3c};function _0x50317d(_0x112d07,_0x4b75e4){return _0x7afdbe(_0x112d07,_0x4b75e4- -0x2cd);}if(this[_0x50317d(0x34f,0x811)]['clampToTileset'])return!this['_popupPosition']&&(this['_popupPosition']=new Cesium__namespace[(_0x50317d(_0x22b3cf._0x54e250,0xcab))](_0x1bcd5d=>{return this['_position'];},![])),this[_0x50317d(0xa0f,0x11d9)];function _0x50468e(_0x184d8c,_0x359d3b){return _0x54a7f1(_0x359d3b- -0x3d,_0x184d8c);}return this['property'];}[_0x7afdbe(0x1256,0x10e6)](_0x374ea0,_0x1160b0={},_0x51617f){return _0x1160b0['graphic']=this,super['fire'](_0x374ea0,_0x1160b0,_0x51617f);}[_0x7afdbe(0x31,0x660)](_0x15a14d){const _0x15e5fa={_0x27ee54:0x175};this['eachChildGraphic'](_0x4b6a4e=>{const _0x48e702={_0x284e11:0x196};function _0x30c0a8(_0x4693ce,_0x1a3d7a){return _0x536c(_0x4693ce- -_0x48e702._0x284e11,_0x1a3d7a);}_0x4b6a4e[_0x30c0a8(_0x15e5fa._0x27ee54,-0x7cd)](_0x15a14d);}),super['destroy'](_0x15a14d);}}register$5(_0x54a7f1(0x34e,0x880),Route,!![]);class FixedRoute extends Route{constructor(_0x1509f2={}){const _0x10124e={_0x5471b6:0x85d,_0x41c7e6:0x1854,_0x57a592:0xcf8},_0x4d4f86={_0x1d8ca7:0x53},_0x6171d6={_0x436284:0x64c};function _0x404073(_0xe9dab1,_0x4c874e){return _0x7afdbe(_0x4c874e,_0xe9dab1- -_0x6171d6._0x436284);}super(_0x1509f2),this[_0x154a44(_0x10124e._0x5471b6,0x1299)][_0x154a44(0xea5,_0x10124e._0x41c7e6)]=this['options']['showStop']??!![];function _0x154a44(_0x399d4d,_0x2b65a0){return _0x54a7f1(_0x399d4d- -_0x4d4f86._0x1d8ca7,_0x2b65a0);}this['options']['updateClock']=this['options'][_0x404073(0x9a7,_0x10124e._0x57a592)]??!![];}get[_0x7afdbe(0x1553,0x15ae)](){return this['_startTime'];}get[_0x54a7f1(0x9b1,0x8f)](){const _0x3eb324={_0x2250e3:0x16eb},_0x2450ac={_0x252897:0x17d};function _0x239b03(_0x50bf23,_0x239d40){return _0x7afdbe(_0x50bf23,_0x239d40- -_0x2450ac._0x252897);}return this[_0x239b03(0xefa,_0x3eb324._0x2250e3)];}get[_0x7afdbe(0x117,0xa6e)](){return this['_points'];}set['points'](_0x40fc0a){this['positions']=_0x40fc0a;}get['positions'](){const _0x5dac7a={_0x4d0009:0x7e};function _0x4d36b2(_0x35af12,_0x38cdc3){return _0x7afdbe(_0x38cdc3,_0x35af12-_0x5dac7a._0x4d0009);}return this['_points'][_0x4d36b2(0xce3,0x57b)](_0x30e8a1=>{return _0x30e8a1['_position'];});}set['positions'](_0x3ba2c1){const _0x350324={_0x3500cd:0x4f7,_0xd6145b:0xc7d,_0xe1965a:0x58f,_0xae5519:0x1053,_0x4ce947:0x110,_0x3fbdc8:0x250,_0x90bb18:0x640,_0x40fd78:0x8a7,_0x6160ac:0x905,_0x4de5bb:0x5a0,_0x39763e:0xdd5,_0x58ce93:0x1230,_0x1f4c90:0x886,_0x859474:0x1077,_0x54099a:0xdc7,_0x5beecd:0x31,_0x2a8481:0x3e,_0x1a6442:0xd55,_0x2987a3:0x41f,_0x4fbd1d:0x0,_0x1fa7a2:0x766,_0x49ffd3:0x97f,_0x5d1d86:0x776,_0x4ed524:0x202,_0x42a8a4:0xe4a,_0x2c4c2d:0x663,_0x1950a7:0x925,_0x5440b6:0x137,_0x1d92a1:0xb2c,_0x1913e9:0x16f,_0x5c292f:0xfd0,_0x561b53:0xbda,_0x5bcf4b:0x26e,_0x39904a:0x466,_0xb73bba:0xc2c,_0x577e1b:0x3cb,_0x4d9002:0xc5d,_0x20445c:0x2,_0x13bd89:0x1e1,_0x519c4e:0xcd,_0x1d5a9e:0x99c,_0x45077e:0xc79,_0x546518:0x5ee,_0x1fa1a8:0xb64,_0x35bf08:0xd02,_0x2d4456:0xde5,_0x30902c:0x4c3,_0x3dcf34:0x328,_0x4a8bb3:0x10f5,_0x25d67a:0x28b},_0x4f77df={_0x1b0e6a:0x4e5},_0x25e7e3={_0x1990c7:0xd6c,_0x3f996a:0x74f,_0xfad06c:0x2e5,_0x437c75:0x19b6,_0x3354f1:0xd29,_0x2d4063:0x89e,_0x549fa4:0x1130,_0x1a4232:0xdeb,_0x44cd62:0xb4a},_0x303b2a={_0x431f34:0x9},_0x2b74df={_0x26039b:0x96},_0x1196a1={_0x483250:0xb6};if(!this[_0x2394d5(_0x350324._0x3500cd,0x4f4)]||!_0x3ba2c1||!Array['isArray'](_0x3ba2c1)||_0x3ba2c1['length']===0x0)return;const _0x4ce722=LngLatArray['toPoints'](_0x3ba2c1);this[_0x462ea5(0x11e4,0x1ba4)]();let _0x380033=this[_0x462ea5(0x2ee,_0x350324._0xd6145b)]['clock']['currentTime'];if(this['options'][_0x2394d5(0x10a4,0x14db)])_0x380033=getJulianDate$1(this['options']['startTime'],_0x380033);else{if(this['options']['timeField']){const _0x5e306c=_0x4ce722[0x0][this['options'][_0x462ea5(0x776,_0x350324._0xe1965a)]];_0x5e306c&&(_0x380033=Cesium__namespace['JulianDate'][_0x2394d5(_0x350324._0xae5519,0x17b5)](new Date(_0x5e306c)));}}const _0x10aeff=this['options']['speed'],_0x5a5925=_0x10aeff&&Array['isArray'](_0x10aeff),_0x67d101=0x64;function _0x47e4c4(_0xaee3cd,_0x16f40d){if(_0x16f40d['speed'])return _0x16f40d['speed'];function _0x30bcf8(_0x2de4c8,_0x2386b2){return _0x2394d5(_0x2de4c8-_0x1196a1._0x483250,_0x2386b2);}if(_0x16f40d[_0x228e4b(-0xf0,0x4f1)])return _0x16f40d[_0x228e4b(-_0x2b74df._0x26039b,0x4f1)];if(_0x5a5925)return(_0x10aeff[_0xaee3cd]||_0x67d101)/3.6;function _0x228e4b(_0x2c484f,_0x4467d0){return _0x462ea5(_0x4467d0-0x48c,_0x2c484f);}return(_0x10aeff||_0x67d101)/3.6;}const _0x550623=this[_0x462ea5(0x3cb,-0x8)][_0x2394d5(0x86d,-_0x350324._0x4ce947)]??0x0;let _0x72698c=0x0,_0x21cb69=0x0,_0x3f0f15,_0x7b8ff;const _0x3bd319=[];let _0x4345c1=![];const _0x501cf6=0.001,_0xab05db=(_0xacd5a0,_0x4bc6e3)=>{for(let _0x27daab=_0xacd5a0-0x1;_0x27daab>=0x0;_0x27daab--){const _0x5a8294=_0x4ce722[_0x27daab];if(this[_0x1d0a0c(0xe3a,0x107b)]){const _0x1f86c4={};_0x1f86c4[_0x1d0a0c(-0x7e8,0x247)]=!![],_0x5a8294[_0x257488(_0x25e7e3._0x1990c7,0x35d)]=getHeight(this[_0x1d0a0c(-_0x25e7e3._0x3f996a,_0x25e7e3._0xfad06c)]['scene'],_0x5a8294,_0x1f86c4);}const _0x5ecea0=_0x5a8294['_position']||Cesium__namespace[_0x257488(_0x25e7e3._0x437c75,0x11ef)]['fromDegrees'](_0x5a8294['lng'],_0x5a8294['lat'],_0x5a8294['alt']+_0x550623);_0x5a8294['_position']=_0x5ecea0;const _0x3c754c=Cesium__namespace[_0x1d0a0c(_0x25e7e3._0x3354f1,0xdf9)]['distance'](_0x4bc6e3,_0x5ecea0);if(_0x3c754c!==0x0)return getOnLinePointByLen(_0x5ecea0,_0x4bc6e3,_0x501cf6,!![]);}function _0x1d0a0c(_0x42dc38,_0x31dbd8){return _0x462ea5(_0x31dbd8- -_0x303b2a._0x431f34,_0x42dc38);}function _0x257488(_0x291c4b,_0x53b439){return _0x2394d5(_0x53b439-0x1e4,_0x291c4b);}for(let _0x58af5a=_0xacd5a0-0x1,_0x1b951b=_0x4ce722['length'];_0x58af5a<_0x1b951b;_0x58af5a++){const _0x5c9832=_0x4ce722[_0x58af5a];if(this['clampToGround']){const _0x384840={};_0x384840['original']=!![],_0x5c9832['alt']=getHeight(this['_map']['scene'],_0x5c9832,_0x384840);}const _0x19d938=_0x5c9832[_0x1d0a0c(0xc8a,_0x25e7e3._0x2d4063)]||Cesium__namespace['Cartesian3'][_0x1d0a0c(0xe1a,0x8fc)](_0x5c9832[_0x1d0a0c(_0x25e7e3._0x549fa4,0xe49)],_0x5c9832[_0x1d0a0c(0x143d,0xdcc)],_0x5c9832['alt']+_0x550623);_0x5c9832[_0x1d0a0c(_0x25e7e3._0x1a4232,0x89e)]=_0x19d938;const _0x519774=Cesium__namespace['Cartesian3'][_0x1d0a0c(_0x25e7e3._0x44cd62,0xda3)](_0x4bc6e3,_0x19d938);if(_0x519774!==0x0)return getOnLinePointByLen(_0x4bc6e3,_0x19d938,_0x501cf6,![]);}return null;};function _0x2394d5(_0x5bed6b,_0x2f44a6){return _0x7afdbe(_0x2f44a6,_0x5bed6b- -0x50a);}this['_pauseTimeCounts']=0x0;for(let _0x16df1f=0x0,_0x4c1343=_0x4ce722['length'];_0x16df1f<_0x4c1343;_0x16df1f++){let _0x2e090f=_0x4ce722[_0x16df1f];if(this['clampToGround']){const _0x430afb={};_0x430afb[_0x462ea5(_0x350324._0x3fbdc8,-_0x350324._0x90bb18)]=!![],_0x2e090f['alt']=getHeight(this['_map']['scene'],_0x2e090f,_0x430afb);}if(_0x2e090f[_0x462ea5(-0xe6,-0x5ae)])continue;let _0x32bbe3=_0x2e090f[_0x462ea5(_0x350324._0x40fd78,-0x222)]||Cesium__namespace[_0x462ea5(0xe02,0x4ea)][_0x462ea5(_0x350324._0x6160ac,_0x350324._0x4de5bb)](_0x2e090f['lng'],_0x2e090f[_0x462ea5(_0x350324._0x39763e,0xc6d)],_0x2e090f['alt']+_0x550623);if(_0x16df1f===0x0){_0x7b8ff=_0x380033['clone'](),this['property']['addSample'](_0x7b8ff,_0x32bbe3),_0x2e090f[_0x462ea5(_0x350324._0x40fd78,_0x350324._0x58ce93)]=_0x32bbe3,_0x2e090f['_time']=_0x7b8ff,_0x2e090f['_distance']=_0x21cb69,_0x2e090f['_second']=_0x72698c,_0x2e090f['_speed']=0x0,_0x2e090f['_index']=_0x16df1f,_0x3bd319[_0x462ea5(0xa23,0x716)](_0x2e090f);if(Cesium__namespace['defined'](_0x2e090f['heading'])){this['_orientation']=new Cesium__namespace[(_0x2394d5(0x1ae,0xb59))](Cesium__namespace['Quaternion']),_0x4345c1=!![];const _0x448924=new Cesium__namespace[(_0x2394d5(_0x350324._0x1f4c90,_0x350324._0x859474))](Cesium__namespace[_0x462ea5(_0x350324._0x54099a,0x59f)]['toRadians'](_0x2e090f[_0x2394d5(_0x350324._0x5beecd,_0x350324._0x2a8481)]||0x0),Cesium__namespace['Math']['toRadians'](_0x2e090f['pitch']||0x0),Cesium__namespace['Math']['toRadians'](_0x2e090f[_0x2394d5(0x1455,_0x350324._0x1a6442)]||0x0));this['_orientation'][_0x2394d5(0x2,0x8f3)](_0x7b8ff,Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x32bbe3,_0x448924,this[_0x462ea5(_0x350324._0x2987a3,_0x350324._0x4fbd1d)],this['fixedFrameTransform']));}}else{let _0x4c496=Cesium__namespace['Cartesian3']['distance'](_0x32bbe3,_0x3f0f15);if(_0x4c496===0x0){_0x4c496=_0x501cf6,_0x32bbe3=_0xab05db(_0x16df1f,_0x32bbe3);if(!_0x32bbe3)continue;}let _0x3ff1d9,_0x14202c;if(this[_0x462ea5(0x3cb,_0x350324._0x1fa7a2)]['timeField']&&_0x2e090f[this['options'][_0x2394d5(_0x350324._0x49ffd3,0x3b3)]]){const _0x4b7377=new Date(_0x2e090f[this[_0x462ea5(0x3cb,0x102)][_0x462ea5(_0x350324._0x5d1d86,-_0x350324._0x4ed524)]]),_0x1438ee=Cesium__namespace['JulianDate'][_0x462ea5(_0x350324._0x42a8a4,_0x350324._0x2c4c2d)](_0x4b7377);_0x3ff1d9=Cesium__namespace[_0x462ea5(_0x350324._0x1950a7,0x903)]['secondsDifference'](_0x1438ee,_0x7b8ff)||0.0001,_0x7b8ff=_0x1438ee,_0x14202c=_0x4c496/_0x3ff1d9,_0x72698c+=_0x3ff1d9;}else _0x14202c=_0x47e4c4(_0x16df1f-0x1,_0x2e090f),_0x3ff1d9=_0x4c496/_0x14202c,_0x3ff1d9<0.0001&&(_0x3ff1d9=0.0001),_0x72698c+=_0x3ff1d9,_0x7b8ff=Cesium__namespace['JulianDate'][_0x2394d5(_0x350324._0x5440b6,_0x350324._0x1d92a1)](_0x380033,_0x72698c,new Cesium__namespace['JulianDate']());_0x21cb69+=_0x4c496,this['property']['addSample'](_0x7b8ff,_0x32bbe3);if(_0x4345c1){const _0x1f37a1=new Cesium__namespace['HeadingPitchRoll'](Cesium__namespace['Math']['toRadians'](_0x2e090f[_0x2394d5(_0x350324._0x5beecd,_0x350324._0x1913e9)]||0x0),Cesium__namespace['Math']['toRadians'](_0x2e090f['pitch']||0x0),Cesium__namespace[_0x2394d5(_0x350324._0x5c292f,0x1868)]['toRadians'](_0x2e090f[_0x2394d5(0x1455,0x1d09)]||0x0));this['_orientation']['addSample'](_0x7b8ff,Cesium__namespace[_0x462ea5(0x288,_0x350324._0x561b53)][_0x2394d5(0x125,-0x674)](_0x32bbe3,_0x1f37a1,this['ellipsoid'],this['fixedFrameTransform']));}_0x2e090f['_position']=_0x32bbe3,_0x2e090f['_time']=_0x7b8ff,_0x2e090f['_distance']=_0x21cb69,_0x2e090f['_second']=_0x72698c,_0x2e090f[_0x2394d5(_0x350324._0x5bcf4b,-_0x350324._0x39904a)]=_0x14202c,_0x2e090f['_index']=_0x16df1f,_0x3bd319[_0x2394d5(_0x350324._0xb73bba,0x12c7)](_0x2e090f);if(this['options']['pauseTime']){const _0x5afae5=_0xab05db(_0x16df1f,_0x32bbe3);if(!_0x5afae5)continue;let _0x5db9e9;typeof this[_0x462ea5(_0x350324._0x577e1b,_0x350324._0x4d9002)]['pauseTime']==='function'?_0x5db9e9=this[_0x2394d5(0x5d4,0xdec)]['pauseTime'](_0x16df1f,_0x5afae5):_0x5db9e9=this['options']['pauseTime'],_0x5db9e9>0x0&&(_0x72698c+=_0x5db9e9,_0x7b8ff=Cesium__namespace['JulianDate']['addSeconds'](_0x380033,_0x72698c,new Cesium__namespace['JulianDate']()),this['property'][_0x2394d5(_0x350324._0x20445c,_0x350324._0x13bd89)](_0x7b8ff,_0x5afae5),_0x21cb69+=_0x501cf6,_0x2e090f=clone(_0x2e090f),_0x2e090f['_pausePoint']=!![],_0x2e090f[_0x2394d5(0xab0,0x1aa)]=_0x5afae5,_0x2e090f['_time']=_0x7b8ff,_0x2e090f[_0x462ea5(-_0x350324._0x519c4e,0x831)]=_0x21cb69,_0x2e090f['_second']=_0x72698c,_0x2e090f[_0x2394d5(0x26e,_0x350324._0x1d5a9e)]=0x0,_0x2e090f['_index']=_0x16df1f,_0x3bd319['push'](_0x2e090f),this['_pauseTimeCounts']++);}}_0x3f0f15=_0x32bbe3;}this[_0x2394d5(0x1286,_0x350324._0x45077e)]=_0x3bd319,this['_startTime']=_0x380033,this['_stopTime']=_0x7b8ff['clone'](),this[_0x462ea5(_0x350324._0x546518,0x1008)]=_0x72698c,this['distance_all']=_0x21cb69;this[_0x2394d5(0x5d4,0xf47)][_0x2394d5(_0x350324._0x1fa1a8,0x24e)]&&this['property'][_0x462ea5(0x5b1,_0x350324._0x35bf08)]({'interpolationDegree':this[_0x462ea5(0x3cb,_0x350324._0x2d4456)][_0x462ea5(0x5fe,_0x350324._0x30902c)]??0x2,'interpolationAlgorithm':this[_0x2394d5(0x5d4,0xfd2)]['interpolationAlgorithm']??Cesium__namespace['HermitePolynomialApproximation']});function _0x462ea5(_0x43eb95,_0x5caee5){return _0x54a7f1(_0x43eb95- -_0x4f77df._0x1b0e6a,_0x5caee5);}if(this['options']['showStop']&&!this[_0x2394d5(0x492,-_0x350324._0x3dcf34)]){var _0x1b3525;this['backToFirst'](),(_0x1b3525=this['options'])!==null&&_0x1b3525!==void 0x0&&(_0x1b3525=_0x1b3525['polyline'])!==null&&_0x1b3525!==void 0x0&&_0x1b3525['showAll']&&(this[_0x462ea5(0x325,0x9ee)][_0x2394d5(0xb52,0x947)]['positions']=this[_0x2394d5(0xe13,_0x350324._0x4a8bb3)]);}this['fire'](EventType[_0x462ea5(_0x350324._0x25d67a,0x86f)],{'position':this['property']});}get[_0x54a7f1(0x76e,0xb0b)](){return this['_isStart'];}get[_0x54a7f1(0x1187,0x175c)](){return this['_timeinfo'];}['_addedHook'](_0x103810){const _0x26341e={_0x29dbe1:0xb6d,_0x5080bd:0x1721,_0x4e6861:0x430,_0xd96b12:0x97e};var _0x3973bc;if(!this['show']){this['_has_addedHook']=!![];return;}function _0x4c5f6d(_0x4daa16,_0x243d17){return _0x54a7f1(_0x4daa16- -0x5f,_0x243d17);}this['_addChildGraphic']();(_0x3973bc=this['model'])!==null&&_0x3973bc!==void 0x0&&_0x3973bc['readyPromise']&&this['model']['readyPromise'][_0x4c5f6d(0x554,_0x26341e._0x29dbe1)](()=>{function _0x60854e(_0x169f02,_0x37edb2){return _0x4c5f6d(_0x169f02- -0x474,_0x37edb2);}this['_readyPromise'][_0x60854e(0x8cf,-0x48)](this);});function _0x4f6721(_0x2fbf7e,_0x7533bd){return _0x54a7f1(_0x7533bd-0x143,_0x2fbf7e);}this[_0x4f6721(_0x26341e._0x5080bd,0x1232)]=this['options']['positions'],this[_0x4f6721(_0x26341e._0x4e6861,_0x26341e._0xd96b12)]();}['_setOptionsHook'](_0x57c9b1,_0x153393){const _0x1de68f={_0x43c7e0:0x4c2,_0x79b4d1:0xa99,_0x1755da:0xe85,_0x14b61e:0x125c},_0x3c3c70={_0x2f0eaa:0x462};function _0x5226fa(_0xcfd407,_0x8ee7da){return _0x7afdbe(_0xcfd407,_0x8ee7da- -0x729);}function _0x55da7a(_0x2d3f0f,_0x3bae50){return _0x54a7f1(_0x3bae50- -_0x3c3c70._0x2f0eaa,_0x2d3f0f);}for(const _0x102932 in _0x153393){switch(_0x102932){case _0x55da7a(_0x1de68f._0x43c7e0,0xc3e):case _0x5226fa(_0x1de68f._0x79b4d1,0xe85):this['positions']=this[_0x55da7a(-0xb5,0x44e)]['positions'];break;default:super[_0x5226fa(_0x1de68f._0x1755da,_0x1de68f._0x14b61e)](_0x57c9b1,_0x153393);break;}}}['start'](){const _0x72045f={_0x563179:0xd7f,_0x1d0b99:0x18a7,_0x3c8d2a:0xf70,_0x28dbc0:0x1145,_0x4ec312:0x18e8,_0x308389:0x861,_0x3657b8:0x983,_0x1d8c7f:0x12d4},_0x45a124={_0x58c1c3:0x64b};var _0x5b1cb3;if(!this['_map']||this[_0x16548f(0x4f8,_0x72045f._0x563179)])return;if(!Cesium__namespace[_0xdedb8e(_0x72045f._0x1d0b99,0x1264)](this['_points'])||this['_points']['length']===0x0){logError('没有坐标数据,漫游路线启动失败',this['_points']);return;}function _0xdedb8e(_0x40e3a5,_0x2abd9e){return _0x7afdbe(_0x40e3a5,_0x2abd9e- -_0x45a124._0x58c1c3);}this[_0x16548f(0x154a,0xd7f)]=!![];function _0x16548f(_0x2eb4d4,_0xffe625){return _0x7afdbe(_0x2eb4d4,_0xffe625- -0x3ad);}this[_0x16548f(0x185c,_0x72045f._0x3c8d2a)]=this[_0xdedb8e(0x75a,_0x72045f._0x28dbc0)],(_0x5b1cb3=this['_child']['model'])!==null&&_0x5b1cb3!==void 0x0&&_0x5b1cb3[_0xdedb8e(_0x72045f._0x4ec312,0x11d6)]&&this['options'][_0xdedb8e(_0x72045f._0x308389,0x9a8)]?(this['_map'][_0xdedb8e(0x568,0x5bc)]['shouldAnimate']=![],this['_map'][_0xdedb8e(_0x72045f._0x3657b8,0x5bc)][_0x16548f(0x10b6,_0x72045f._0x1d8c7f)]=this['startTime']['clone'](),this['_child']['model']['readyPromise']['then'](()=>{const _0x2c5ece={_0x3eb16f:0x613};function _0x5057f7(_0x27b0e6,_0x1b7784){return _0xdedb8e(_0x27b0e6,_0x1b7784-_0x2c5ece._0x3eb16f);}this[_0x5057f7(0x7bf,0x53c)]();})):this['_start']();}['_start'](){const _0xb5754={_0x172105:0xa55,_0x346829:0xd03,_0x2d8772:0xcd1,_0x275471:0x5fe,_0x38977d:0x968,_0x1e3984:0x19f,_0x4cc5dc:0x669,_0x3e40ff:0xef5,_0x4fd38c:0xee0,_0x2a08da:0x1365,_0x26911a:0x1010,_0x3e8a9f:0x698,_0x3c1264:0x414,_0x14cbdc:0x5d6,_0x3ace08:0x5d6,_0x46f862:0x900,_0x575992:0x1005,_0x2baa18:0x2,_0x4f25fc:0xa9a,_0x257a94:0x447,_0x32b8bf:0x3c4},_0xee8381={_0x531194:0x370},_0x42ddaf={_0x389827:0x609};function _0x4df95e(_0xd11b73,_0x2bac1e){return _0x7afdbe(_0xd11b73,_0x2bac1e- -_0x42ddaf._0x389827);}function _0x424e8f(_0x2a7afa,_0x4c5e17){return _0x54a7f1(_0x4c5e17- -_0xee8381._0x531194,_0x2a7afa);}var _0x385216;this['options'][_0x424e8f(0xe61,_0xb5754._0x172105)]&&(this[_0x424e8f(0x2c8,0x463)][_0x4df95e(0x109e,0x5fe)][_0x4df95e(0xc71,0xd54)]=!![],this['_map']['clock']['currentTime']=this['startTime']['clone'](),!this[_0x424e8f(-0x51d,0x540)][_0x4df95e(-0xa36,0x69)]&&this['options']['clockRange']&&(this['_bak_clockRange']=this['_map']['clock']['clockRange'],this[_0x4df95e(0x39c,0xc40)]=this['_map']['clock']['startTime'],this[_0x424e8f(0x111e,0x7f6)]=this[_0x424e8f(_0xb5754._0x346829,0x463)][_0x4df95e(_0xb5754._0x2d8772,_0xb5754._0x275471)][_0x424e8f(0xbaf,0x641)],this[_0x4df95e(_0xb5754._0x38977d,0x3f8)][_0x424e8f(_0xb5754._0x1e3984,_0xb5754._0x4cc5dc)]['clockRange']=this['options'][_0x424e8f(_0xb5754._0x3e40ff,_0xb5754._0x4fd38c)]??Cesium__namespace['ClockRange']['LOOP_STOP'],this['_map'][_0x4df95e(0xe42,0x5fe)]['startTime']=this[_0x424e8f(_0xb5754._0x2a08da,_0xb5754._0x26911a)][_0x4df95e(_0xb5754._0x3e8a9f,_0xb5754._0x3c1264)](),this[_0x424e8f(0xef3,0x463)][_0x4df95e(0x75d,0x5fe)][_0x4df95e(0xd53,_0xb5754._0x14cbdc)]=this[_0x4df95e(-0x14,_0xb5754._0x3ace08)]['clone'](),this['_map']['control']['timeline']&&this['_map']['control'][_0x4df95e(0x30b,0x22d)][_0x424e8f(_0xb5754._0x46f862,0x12d7)](this['startTime'],this['stopTime'])));if((_0x385216=this['_child']['path'])!==null&&_0x385216!==void 0x0&&_0x385216['entity']){var _0x25cddd;let _0x244dc2=this['_stopTime'];((_0x25cddd=this['property'])===null||_0x25cddd===void 0x0?void 0x0:_0x25cddd[_0x424e8f(0xd9d,_0xb5754._0x575992)])===Cesium__namespace['ExtrapolationType']['HOLD']&&(_0x244dc2=Cesium__namespace['JulianDate'][_0x424e8f(0x814,-_0xb5754._0x2baa18)](_0x244dc2,0x16d,new Cesium__namespace[(_0x424e8f(0x1cd,_0xb5754._0x4f25fc))]())),this['_child'][_0x424e8f(-0x2da,_0xb5754._0x257a94)][_0x424e8f(0xd21,0xe25)]=new Cesium__namespace[(_0x4df95e(0x7a7,0xa95))]([new Cesium__namespace['TimeInterval']({'start':this[_0x4df95e(0x5fc,_0xb5754._0x32b8bf)],'stop':_0x244dc2})]);}delete this['_isFireEndEvent'],this['fire'](EventType['start']),this['bindUpdateEvent']();}['stop'](){const _0x2750b1={_0x1c9bf0:0x5c0,_0x31d598:0x1d1,_0x16a25a:0xceb,_0x2be6bf:0xf22},_0x3362a3={_0x2ff8d9:0x196};if(!this['_isStart']||!this[_0x5d37a7(0x5c0,0xa58)])return;function _0x5788ab(_0x2f8b39,_0x4dea6d){return _0x54a7f1(_0x2f8b39-_0x3362a3._0x2ff8d9,_0x4dea6d);}this[_0x5d37a7(_0x2750b1._0x1c9bf0,_0x2750b1._0x31d598)][_0x5788ab(0x908,0x4de)]=undefined,this['unbindUpdateEvent']();this['options'][_0x5788ab(0x108e,0x112b)]?this['backToFirst']():(this['_position']=undefined,this['_updatePosition']());this['_clearShowPositions'](),this[_0x5d37a7(_0x2750b1._0x16a25a,0x988)]=![];function _0x5d37a7(_0x3807f9,_0x102b7e){return _0x54a7f1(_0x3807f9- -0x213,_0x102b7e);}this[_0x5788ab(0x1556,0x18f5)](),this['fire'](EventType['updatePosition'],{'position':this[_0x5788ab(_0x2750b1._0x2be6bf,0x185d)]});}['_fireEndEevnt'](){const _0xa3401b={_0x483203:0xe39,_0x318fcd:0xc46};function _0x4fb6c1(_0x5ce6fb,_0x353665){return _0x54a7f1(_0x353665-0x226,_0x5ce6fb);}if(this['_isFireEndEvent'])return;clearTimeout(this['_timeDebounce']),this[_0x4fb6c1(_0xa3401b._0x483203,_0xa3401b._0x318fcd)]=setTimeout(()=>{this['fire'](EventType['end']),this['_isFireEndEvent']=!![];},0xc8);}[_0x54a7f1(0x753,0x11a6)](){const _0x23dab6={_0x575f92:0x65b};this['_flyok_index']=0x0,this['_position']=this['_points'][0x0]['_position'],this['_orientation_show']=this['_orientation']['getValue'](this['startTime']),this[_0x5f4f55(0x49e,0x41)]();function _0x5f4f55(_0x5653f3,_0x17cacf){return _0x7afdbe(_0x5653f3,_0x17cacf- -_0x23dab6._0x575f92);}this['_updateForEvent'](![]);}['_updateForEvent'](_0x2517e0=!![]){const _0x1d13e6={_0x11d7d3:0x712,_0x563d31:0x1608,_0x4521a8:0xbad,_0x5adac0:0xd5f,_0x1c1d0b:0xe32,_0x4f9767:0xf0f,_0x456313:0x9b4,_0x4b016c:0x7f0,_0x187878:0x846,_0x1b3aac:0x1366,_0x1bf6dc:0x4be,_0x529311:0x5f0,_0x310eac:0x1408,_0x3a6cf1:0x219,_0xe9f444:0x849,_0x10d848:0xb35,_0x39a412:0xd00,_0x5d003a:0x9b4,_0x430358:0x895,_0x4e29f8:0x26d,_0x2f4ce3:0x13a7,_0x2e5d14:0xec6,_0x41034d:0xd7d,_0x5790fd:0x105e,_0x1b3d7a:0xf5e,_0x2a7145:0x8e8,_0x39459c:0xd01,_0x3d3a5a:0x101b,_0x44a5dc:0xf3e,_0x2ad6e6:0x72e,_0x7e2b28:0x13c6,_0x188a33:0x956,_0x4e7d0e:0x12ea,_0x46d936:0x120f,_0x59a054:0xe7c,_0x5d2f70:0x17e6,_0x304637:0x8b0,_0x40cc10:0xdbd,_0x3b6d36:0xa88,_0x1718d8:0xa2a,_0x25eaa6:0x918},_0x5c516f={_0x107761:0x606},_0x44b318={_0x10c7fa:0xa6};function _0x33c3fb(_0x32127c,_0x1e65e4){return _0x54a7f1(_0x32127c-_0x44b318._0x10c7fa,_0x1e65e4);}if(!this['_points'])return;let _0x3f38da=this['_flyok_index'];const _0x18fe1d=this['_points'][this['_points']['length']-0x1],_0x43bfcd=this[_0x33c3fb(0x1608,0xc5a)][_0x3f38da];if(!_0x43bfcd)return;let _0x20c5e1=this[_0x33c3fb(0x8e8,_0x1d13e6._0x11d7d3)]??this[_0x33c3fb(_0x1d13e6._0x563d31,0x18c7)][_0x22d9a8(_0x1d13e6._0x4521a8,0xe31)];this[_0x22d9a8(0x8e1,0x994)]>0x0&&(_0x3f38da=_0x43bfcd['_index'],_0x20c5e1-=this[_0x33c3fb(_0x1d13e6._0x5adac0,0x11ce)]);const _0x322614=LngLatPoint['fromCartesian'](this[_0x33c3fb(_0x1d13e6._0x1c1d0b,0x725)]);let _0x42aa34=_0x43bfcd['_distance']+(this['_position']?Cesium__namespace[_0x22d9a8(_0x1d13e6._0x4f9767,0x150f)]['distance'](this['_position'],_0x43bfcd[_0x22d9a8(_0x1d13e6._0x456313,_0x1d13e6._0x4b016c)]):0x0);_0x42aa34>_0x18fe1d[_0x22d9a8(0x40,_0x1d13e6._0x187878)]&&(_0x42aa34=_0x18fe1d['_distance']);let _0x30fd5a=0x0;_0x42aa34>0x0&&(_0x30fd5a=Cesium__namespace['JulianDate']['secondsDifference'](this['_map']['clock'][_0x33c3fb(0x14f9,_0x1d13e6._0x1b3aac)],this['startTime']),_0x30fd5a>_0x18fe1d['_second']&&(_0x30fd5a=_0x18fe1d[_0x33c3fb(0x4f1,-0x5a5)]));this['_timeinfo']={'index':_0x3f38da,'counts':_0x20c5e1,'point':_0x322614,'position':this[_0x33c3fb(_0x1d13e6._0x1c1d0b,0x859)],'orientation':this['_orientation_show'],'second':_0x30fd5a,'second_all':_0x18fe1d['_second'],'distance':_0x42aa34,'distance_all':_0x18fe1d[_0x33c3fb(_0x1d13e6._0x1bf6dc,0x1b3)],'speed':_0x43bfcd[_0x33c3fb(_0x1d13e6._0x529311,0x678)]};Cesium__namespace[_0x22d9a8(0x12a9,0x17b2)](_0x43bfcd[_0x33c3fb(0x1687,0x1206)])&&(this['_timeinfo'][_0x22d9a8(-0x13a,0x2fe)]=_0x43bfcd[_0x22d9a8(0x1209,_0x1d13e6._0x310eac)]);if(!_0x2517e0)return;this['_position']&&!this['_position'][_0x33c3fb(0xf8b,0x17a9)](this['_last_firePosition'])&&(this[_0x22d9a8(0xae0,0x8b0)](EventType[_0x22d9a8(_0x1d13e6._0x3a6cf1,-_0x1d13e6._0xe9f444)],this[_0x33c3fb(_0x1d13e6._0x10d848,_0x1d13e6._0x39a412)],!![]),this['_last_firePosition']=this[_0x22d9a8(_0x1d13e6._0x5d003a,-0x102)]?this[_0x33c3fb(0xe32,0x1235)][_0x33c3fb(_0x1d13e6._0x430358,_0x1d13e6._0x4e29f8)]():undefined);if(_0x3f38da!==this['_last_fireIndex']){if(Cesium__namespace['defined'](this['_last_fireIndex'])&&this['_last_fireIndex']+0x1!==_0x3f38da)while(++this['_last_fireIndex']<_0x3f38da){this['fire'](EventType['endItem'],{'counts':_0x20c5e1,'index':this[_0x33c3fb(0x1825,0x179d)],'point':this['_points'][this[_0x22d9a8(_0x1d13e6._0x2f4ce3,_0x1d13e6._0x2e5d14)]]});}const _0x512b16={};_0x512b16[_0x22d9a8(_0x1d13e6._0x41034d,0x53d)]=_0x20c5e1,_0x512b16[_0x22d9a8(0x873,_0x1d13e6._0x5790fd)]=_0x3f38da,_0x512b16[_0x33c3fb(0xdc2,0x1494)]=_0x43bfcd,this[_0x33c3fb(_0x1d13e6._0x1b3d7a,0x886)](EventType['endItem'],_0x512b16),_0x3f38da>=this[_0x33c3fb(_0x1d13e6._0x2a7145,0xaf4)]-0x1&&this['_fireEndEevnt'](),this['_last_fireIndex']=_0x3f38da;}function _0x22d9a8(_0x37391d,_0x4a632a){return _0x7afdbe(_0x4a632a,_0x37391d- -_0x5c516f._0x107761);}if(_0x30fd5a>=_0x18fe1d['_second']&&this['options']){if(this['options']['clockLoop']&&!this['options']['clockRange']){this['unbindUpdateEvent']();if(this[_0x22d9a8(0x4d8,0x2b0)][_0x33c3fb(0x1426,0x1392)])delete this['options'][_0x33c3fb(0x1426,0xecb)];else{if(this['options'][_0x33c3fb(_0x1d13e6._0x39459c,_0x1d13e6._0x3d3a5a)]){const _0x1ad549=this['_points'][0x0][this[_0x33c3fb(0x956,_0x1d13e6._0x44a5dc)]['timeField']];if(_0x1ad549){const _0x29f5f2=Cesium__namespace[_0x33c3fb(0xeb0,_0x1d13e6._0x2ad6e6)]['fromDate'](new Date(_0x1ad549)),_0x48e18d=Cesium__namespace[_0x33c3fb(0xeb0,_0x1d13e6._0x7e2b28)]['secondsDifference'](this['_map']['clock']['currentTime'],_0x29f5f2);for(let _0x279119=0x0;_0x279119<this[_0x22d9a8(0x118a,0x14eb)]['length'];_0x279119++){const _0x5434a1=Cesium__namespace['JulianDate']['fromDate'](new Date(this['_points'][_0x279119][this['options']['timeField']]));this[_0x33c3fb(0x1608,0x1aa1)][_0x279119][this[_0x33c3fb(_0x1d13e6._0x188a33,0xd5a)][_0x33c3fb(0xd01,_0x1d13e6._0x4e7d0e)]]=Cesium__namespace[_0x22d9a8(0xa32,0xd4c)]['toDate'](Cesium__namespace['JulianDate'][_0x33c3fb(0x4b9,0x7ec)](_0x5434a1,_0x48e18d,new Cesium__namespace[(_0x22d9a8(0xa32,-0x1))]()));}}}}this[_0x33c3fb(0x1195,_0x1d13e6._0x46d936)]=this['_points'];if(this['_child'][_0x33c3fb(0x85d,_0x1d13e6._0x59a054)]){var _0x518215;let _0xb0baa0=this['_stopTime'];((_0x518215=this[_0x33c3fb(0xe43,_0x1d13e6._0x5d2f70)])===null||_0x518215===void 0x0?void 0x0:_0x518215[_0x22d9a8(0xf9d,0x12d1)])===Cesium__namespace['ExtrapolationType']['HOLD']&&(_0xb0baa0=Cesium__namespace['JulianDate']['addDays'](_0xb0baa0,0x16d,new Cesium__namespace['JulianDate']())),this[_0x33c3fb(_0x1d13e6._0x304637,0x183)]['path'][_0x22d9a8(_0x1d13e6._0x40cc10,0x121c)]=new Cesium__namespace[(_0x22d9a8(0xa98,0x104a))]([new Cesium__namespace[(_0x33c3fb(_0x1d13e6._0x3b6d36,_0x1d13e6._0x1718d8))]({'start':this['_startTime'],'stop':_0xb0baa0})]);}this['bindUpdateEvent']();return;}this[_0x33c3fb(0x956,_0x1d13e6._0x25eaa6)]['autoStop']&&this['stop']();}}[_0x54a7f1(0x84a,0x8f2)](_0x53a0e8={}){const _0x2ebac7={_0x3e6263:0x197f,_0x1dc5a5:0x990,_0x1fa84c:0xa33},_0x72ab97={_0x37e58f:0xd79,_0x347365:0x1664,_0x2ffb2a:0x6a3,_0x5ecaf9:0x2e0,_0x16a9e9:0x14ba,_0x1e2898:0x1584,_0x5cf487:0xc46,_0x1645b0:0x1158,_0x1b101c:0x11d7,_0x25a378:0x1048,_0x30fba7:0x1297,_0x4ce04f:0xeab},_0x26c261=this[_0x77588c(0xefa,0x1638)];let _0x552e4e=0x0;const _0x2e4066=[],_0x3e404b=[];function _0x77588c(_0x526953,_0x5f25ce){return _0x7afdbe(_0x526953,_0x5f25ce- -0x158);}const _0x285b62=[],_0x20b317=[],_0x1afe25=[];return new Promise((_0x528be1,_0x5c382d)=>{const _0x5b2435={_0x572d9e:0xca},_0x17f369={_0x2795c9:0x68},_0x19226c=[];_0x26c261['forEach'](_0x39c881=>{const _0x4f736d={_0x56f8b7:0x33};function _0x463ee0(_0x3357c0,_0x196ca0){return _0x536c(_0x196ca0-_0x4f736d._0x56f8b7,_0x3357c0);}_0x19226c[_0x463ee0(0xf86,0xe14)](_0x39c881['_position']);}),computeStepSurfaceLine({'objectsToExclude':this['_layer']['objectsToExclude'],..._0x53a0e8,'scene':this['_map']['scene'],'positions':_0x19226c,'endItem':(_0x25e924,_0x274123,_0x28fa2d)=>{var _0x52a5a3,_0x451e36;function _0x26aca6(_0x8a4c57,_0x1ba07f){return _0x536c(_0x8a4c57- -_0x17f369._0x2795c9,_0x1ba07f);}if(!this['_map'])return;if(_0x274123)_0x1afe25[_0x26aca6(_0x72ab97._0x37e58f,0xd6f)](_0x26c261[_0x28fa2d]);else for(let _0x18e796=0x0;_0x18e796<_0x25e924[_0x54cb9f(_0x72ab97._0x347365,0xf28)];_0x18e796++){const _0x116e95=LngLatPoint[_0x54cb9f(-_0x72ab97._0x2ffb2a,_0x72ab97._0x5ecaf9)](_0x25e924[_0x18e796]);_0x116e95['_speed']=_0x26c261[_0x28fa2d+0x1]['_speed'],_0x116e95[_0x54cb9f(_0x72ab97._0x16a9e9,_0x72ab97._0x1e2898)]=_0x28fa2d,_0x1afe25['push'](_0x116e95);}const _0x4b533b=((_0x52a5a3=_0x26c261[_0x28fa2d])===null||_0x52a5a3===void 0x0?void 0x0:_0x52a5a3['alt'])||0x0;function _0x54cb9f(_0x19a496,_0x32121e){return _0x536c(_0x32121e-_0x5b2435._0x572d9e,_0x19a496);}const _0x59c831=((_0x451e36=_0x26c261[_0x28fa2d+0x1])===null||_0x451e36===void 0x0?void 0x0:_0x451e36['alt'])||0x0,_0x3d281f=(_0x59c831-_0x4b533b)/_0x25e924['length'];for(let _0x70922=0x0;_0x70922<_0x25e924[_0x26aca6(0xdf6,_0x72ab97._0x5cf487)];_0x70922++){_0x70922!==0x0&&(_0x552e4e+=Cesium__namespace[_0x26aca6(_0x72ab97._0x1645b0,0x971)]['distance'](_0x25e924[_0x70922],_0x25e924[_0x70922-0x1]));_0x2e4066[_0x26aca6(0xd79,_0x72ab97._0x1b101c)](Number(_0x552e4e['toFixed'](0x1)));const _0x4443b5=LngLatPoint[_0x54cb9f(-0x5c0,0x2e0)](_0x25e924[_0x70922]);_0x20b317[_0x26aca6(0xd79,_0x72ab97._0x25a378)](_0x4443b5);const _0x4d7832=_0x274123?0x0:_0x4443b5['alt'];_0x3e404b['push'](_0x4d7832);const _0x3e095e=Number((_0x4b533b+_0x3d281f*_0x70922)['toFixed'](0x1));_0x285b62[_0x54cb9f(_0x72ab97._0x30fba7,_0x72ab97._0x4ce04f)](_0x3e095e);}},'end':()=>{if(!this[_0x4cb887(0x414,0xca1)])return;const _0x36cc69={};_0x36cc69[_0x51c5b2(0xcb2,0x100c)]=_0x2e4066,_0x36cc69[_0x4cb887(0x1037,_0x2ebac7._0x3e6263)]=_0x285b62,_0x36cc69[_0x4cb887(_0x2ebac7._0x1dc5a5,_0x2ebac7._0x1fa84c)]=_0x3e404b,_0x36cc69['arrPoint']=_0x20b317;function _0x51c5b2(_0x1aadb5,_0xb416cd){return _0x536c(_0xb416cd-0xb2,_0x1aadb5);}function _0x4cb887(_0xfb5389,_0x5c0537){return _0x536c(_0xfb5389- -0x298,_0x5c0537);}this['_terrainHeight']=_0x36cc69,this['positions']=_0x1afe25,_0x528be1(_0x1afe25);}});});}['getTerrainHeight'](_0x4a81ac={}){const _0x5dba2f={_0x201558:0x1357},_0x5be250={_0x53e202:0x2be};function _0x1b4a7b(_0x38e429,_0x3d9e98){return _0x54a7f1(_0x38e429- -0x182,_0x3d9e98);}const _0x2adb1f=this[_0x1b4a7b(0x13e0,0x11f0)];return new Promise((_0x7fdeb8,_0x374534)=>{const _0x292b7b={_0x43ca3c:0x120d,_0x2ada7d:0x1ede,_0x12b295:0x156f,_0x484e5d:0x1779,_0x3ccf5f:0x1b3,_0x24ab42:0x1190,_0x41549c:0xd40},_0x4de0a9={_0x2d5a3f:0x138};if(this[_0x46de89(0x138e,_0x5dba2f._0x201558)]){_0x7fdeb8(this['_terrainHeight']);return;}this['_getTerrainHeight_ing']=!![];function _0x46de89(_0x58b5de,_0x213b71){return _0x1b4a7b(_0x58b5de-_0x4de0a9._0x2d5a3f,_0x213b71);}let _0x3e126d=0x0;const _0x102049=[];function _0x163b73(_0x32444d,_0xd6703d){return _0x1b4a7b(_0x32444d- -_0x5be250._0x53e202,_0xd6703d);}const _0x23d7ef=[],_0xfb03cc=[],_0x2f6ecb=[];computeStepSurfaceLine({'objectsToExclude':this['_layer'][_0x46de89(0x3d3,0x56a)],..._0x4a81ac,'exact':!![],'scene':this[_0x46de89(0x789,0x4e2)][_0x46de89(0x1035,0x1ac5)],'positions':_0x2adb1f,'endItem':(_0x1fd1e0,_0x31a822,_0x41792b)=>{const _0x361e41={_0x31bee5:0xb0},_0x7bd57=_0x2adb1f[_0x41792b]['alt'],_0x117014=_0x2adb1f[_0x41792b+0x1]['alt'];function _0x291135(_0x31bc69,_0xfcf2e1){return _0x163b73(_0x31bc69- -_0x361e41._0x31bee5,_0xfcf2e1);}const _0x2b8150=(_0x117014-_0x7bd57)/_0x1fd1e0['length'];function _0x24871b(_0x5bf975,_0x54b281){return _0x163b73(_0x54b281-0x6c8,_0x5bf975);}for(let _0x57ae3e=0x0;_0x57ae3e<_0x1fd1e0[_0x24871b(0xfe5,_0x292b7b._0x43ca3c)];_0x57ae3e++){_0x57ae3e!==0x0&&(_0x3e126d+=Cesium__namespace[_0x24871b(_0x292b7b._0x2ada7d,_0x292b7b._0x12b295)][_0x24871b(_0x292b7b._0x484e5d,0x1519)](_0x1fd1e0[_0x57ae3e],_0x1fd1e0[_0x57ae3e-0x1]));_0x102049['push'](Number(_0x3e126d['toFixed'](0x1)));const _0x2b3989=LngLatPoint[_0x291135(-_0x292b7b._0x3ccf5f,0x21)](_0x1fd1e0[_0x57ae3e]);_0x2f6ecb[_0x24871b(0x1b48,_0x292b7b._0x24ab42)](_0x2b3989);const _0x504287=_0x31a822?0x0:_0x2b3989[_0x24871b(0xdba,0x6dd)];_0x23d7ef['push'](_0x504287);const _0x1917ef=Number((_0x7bd57+_0x2b8150*_0x57ae3e)[_0x291135(0xc39,0x107e)](0x1));_0xfb03cc[_0x24871b(_0x292b7b._0x41549c,0x1190)](_0x1917ef);}},'end':()=>{this['_getTerrainHeight_ing']=![];const _0x172539={};_0x172539[_0x5122f9(0xc5a,0x1249)]=_0x102049,_0x172539['arrFxgd']=_0xfb03cc,_0x172539['arrHbgd']=_0x23d7ef;function _0x5122f9(_0x1cd052,_0x2bd3ad){return _0x163b73(_0x1cd052-0x19,_0x2bd3ad);}_0x172539['arrPoint']=_0x2f6ecb,this['_terrainHeight']=_0x172539,_0x7fdeb8(this['_terrainHeight']);}});});}[_0x54a7f1(0x8cb,0x400)](){const _0xc6fc4e={_0x10bc57:0xd88,_0x4837cd:0xff0},_0x4f4faa={_0x4ecd6e:0xe5};function _0x5d39b3(_0x48bfb5,_0x14669e){return _0x54a7f1(_0x14669e-_0x4f4faa._0x4ecd6e,_0x48bfb5);}if(this['isStart']&&!this['options'][_0x5d39b3(_0xc6fc4e._0x10bc57,_0xc6fc4e._0x4837cd)])return this['property'];return!this['_popupPosition']&&(this['_popupPosition']=new Cesium__namespace['CallbackProperty'](_0xa5e6a6=>{function _0x354137(_0x1dcb7f,_0x1c47d2){return _0x5d39b3(_0x1dcb7f,_0x1c47d2- -0x540);}return this[_0x354137(0xc12,0x931)];},![])),this['_popupPosition'];}}register$5('fixedRoute',FixedRoute,!![]);var MultipleLightShader='uniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0a\x0aconst\x20int\x20LightNum\x20=\x20Mars3D_LightNumValue;\x0auniform\x20vec4\x20lightPositionEC[LightNum];\x0auniform\x20float\x20intensity[LightNum];\x0auniform\x20vec3\x20lightColor[LightNum];\x0auniform\x20vec3\x20direction[LightNum];\x0auniform\x20float\x20outerConeCos[LightNum];\x0auniform\x20float\x20innerConeCos[LightNum];\x0auniform\x20mat4\x20shadowMapMatrix[LightNum];\x0auniform\x20vec4\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[LightNum];\x0auniform\x20vec2\x20shadowMapDarknessType[LightNum];\x0a\x0aMars3D_LightShadowMapsShader\x20in\x20vec2\x20v_textureCoordinates;\x0a\x0aconst\x20float\x20M_PI\x20=\x203.141592653589793;\x0a\x0avec3\x20getEyeCoordinate3FromWindowCoordinateMars3D(vec2\x20fragCoord,\x20float\x20logDepthOrDepth)\x20{\x0avec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(fragCoord,\x20logDepthOrDepth);\x0areturn\x20eyeCoordinate.xyz\x20/\x20eyeCoordinate.w;\x0a}\x0a\x0avec3\x20vectorFromOffsetMars3D(vec4\x20eyeCoordinate,\x20vec2\x20positiveOffset)\x20{\x0avec2\x20glFragCoordXY\x20=\x20v_textureCoordinates.xy\x20*\x20czm_viewport.zw;\x0afloat\x20upOrRightLogDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20(glFragCoordXY\x20+\x20positiveOffset)\x20/\x20czm_viewport.zw));\x0afloat\x20downOrLeftLogDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20(glFragCoordXY\x20-\x20positiveOffset)\x20/\x20czm_viewport.zw));\x0a\x0abvec2\x20upOrRightInBounds\x20=\x20lessThan(glFragCoordXY\x20+\x20positiveOffset,\x20czm_viewport.zw);\x0afloat\x20useUpOrRight\x20=\x20float(upOrRightLogDepth\x20>\x200.0\x20&&\x20upOrRightInBounds.x\x20&&\x20upOrRightInBounds.y);\x0afloat\x20useDownOrLeft\x20=\x20float(useUpOrRight\x20==\x200.0);\x0avec3\x20upOrRightECMars3D\x20=\x20getEyeCoordinate3FromWindowCoordinateMars3D(glFragCoordXY\x20+\x20positiveOffset,\x20upOrRightLogDepth);\x0avec3\x20downOrLeftEC\x20=\x20getEyeCoordinate3FromWindowCoordinateMars3D(glFragCoordXY\x20-\x20positiveOffset,\x20downOrLeftLogDepth);\x0areturn\x20(upOrRightECMars3D\x20-\x20(eyeCoordinate.xyz\x20/\x20eyeCoordinate.w))\x20*\x20useUpOrRight\x20+\x20((eyeCoordinate.xyz\x20/\x20eyeCoordinate.w)\x20-\x20downOrLeftEC)\x20*\x20useDownOrLeft;\x0a}\x0a\x0afloat\x20getRangeAttenuationMars3D(float\x20range,\x20float\x20d)\x20{\x0aif(range\x20<=\x200.0)\x20{\x0areturn\x201.0\x20/\x20pow(d,\x202.0);\x0a}\x0areturn\x20max(min(1.0\x20-\x20pow(d\x20/\x20range,\x204.0),\x201.0),\x200.0)\x20/\x20pow(d,\x202.0);\x0a}\x0a\x0afloat\x20getSpotAttenuationMars3D(vec3\x20pointToLight,\x20vec3\x20direction,\x20float\x20outerConeCos,\x20float\x20innerConeCos)\x20{\x0afloat\x20actualCos\x20=\x20dot(normalize(direction),\x20normalize(-\x20pointToLight));\x0aif(actualCos\x20>\x20outerConeCos)\x20{\x0aif(actualCos\x20<\x20innerConeCos)\x20{\x0areturn\x20smoothstep(outerConeCos,\x20innerConeCos,\x20actualCos);\x0a}\x0areturn\x201.0;\x0a}\x0areturn\x200.0;\x0a}\x0a\x0avec3\x20getLightIntensityMars3D(vec3\x20color,\x20float\x20intensity,\x20float\x20type,\x20float\x20range,\x20vec3\x20pointToLight,\x20vec3\x20direction,\x20float\x20outerConeCos,\x20float\x20innerConeCos)\x20{\x0a\x20\x20float\x20rangeAttenuation\x20=\x201.0;\x0a\x20\x20float\x20spotAttenuation\x20=\x201.0;\x0a\x20\x20rangeAttenuation\x20=\x20getRangeAttenuationMars3D(range,\x20length(pointToLight));\x0a\x20\x20if(type\x20==\x202.0)\x20{\x0a\x20\x20\x20\x20spotAttenuation\x20=\x20getSpotAttenuationMars3D(pointToLight,\x20direction,\x20outerConeCos,\x20innerConeCos);\x0a\x20\x20}\x0a\x20\x20return\x20rangeAttenuation\x20*\x20spotAttenuation\x20*\x20intensity\x20*\x20color;\x0a}\x0a\x0afloat\x20czm_private_shadowVisibility(float\x20visibility,\x20float\x20nDotL,\x20float\x20normalShadingSmooth,\x20float\x20darkness)\x20{\x0a\x20\x20float\x20strength\x20=\x20clamp(nDotL\x20/\x20normalShadingSmooth,\x200.0,\x201.0);\x0a\x20\x20visibility\x20*=\x20strength;\x0a\x20\x20visibility\x20=\x20max(visibility,\x20darkness);\x0a\x20\x20return\x20visibility;\x0a}\x0a\x0astruct\x20mars3d_shadowParameters\x20{\x0avec3\x20texCoordsCube;\x0avec2\x20texCoords;\x0afloat\x20depthBias;\x0afloat\x20depth;\x0afloat\x20nDotL;\x0avec2\x20texelStepSize;\x0afloat\x20normalShadingSmooth;\x0afloat\x20darkness;\x0a};\x0a\x0afloat\x20shadowVisibilityCubeMars3D(samplerCube\x20shadowMap,\x20mars3d_shadowParameters\x20shadowParameters)\x20{\x0afloat\x20depthBias\x20=\x20shadowParameters.depthBias;\x0afloat\x20depth\x20=\x20shadowParameters.depth;\x0afloat\x20nDotL\x20=\x20shadowParameters.nDotL;\x0afloat\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0afloat\x20darkness\x20=\x20shadowParameters.darkness;\x0avec3\x20uvw\x20=\x20shadowParameters.texCoordsCube;\x0a\x0adepth\x20-=\x20depthBias;\x0areturn\x20czm_shadowDepthCompare(shadowMap,\x20uvw,\x20depth);\x0a}\x0afloat\x20shadowVisibility2D(sampler2D\x20shadowMap,\x20mars3d_shadowParameters\x20shadowParameters)\x20{\x0afloat\x20depthBias\x20=\x20shadowParameters.depthBias;\x0afloat\x20depth\x20=\x20shadowParameters.depth;\x0afloat\x20nDotL\x20=\x20shadowParameters.nDotL;\x0afloat\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0afloat\x20darkness\x20=\x20shadowParameters.darkness;\x0avec2\x20uv\x20=\x20shadowParameters.texCoords;\x0a\x0adepth\x20-=\x20depthBias;\x0areturn\x20czm_shadowDepthCompare(shadowMap,\x20uv,\x20depth);\x0a}\x0a\x0avec3\x20getPointLightTotalColorMars3D(vec3\x20normalEC,\x20vec3\x20positionEC,\x20int\x20i,\x20samplerCube\x20lightShadowMapCube)\x20{\x0avec4\x20lightPEC\x20=\x20lightPositionEC[i];\x0avec2\x20shadowMapDT\x20=\x20shadowMapDarknessType[i];\x0avec3\x20pointToLightEC\x20=\x20positionEC\x20-\x20lightPEC.xyz;\x0afloat\x20pointToLightECLength\x20=\x20length(pointToLightEC);\x0avec3\x20l\x20=\x20normalize(pointToLightEC);\x0afloat\x20NdotL\x20=\x20clamp(dot(-\x20normalEC,\x20l),\x200.0,\x201.0);\x0a\x0afloat\x20visibility\x20=\x200.0;\x0afloat\x20radius\x20=\x20lightPEC.w;\x0afloat\x20type\x20=\x20shadowMapDT.y;\x0a\x0aif(pointToLightECLength\x20<=\x20radius)\x20{\x0avec4\x20shadowMapTSDBANSS\x20=\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[i];\x0a\x0amars3d_shadowParameters\x20shadowParameters;\x0ashadowParameters.texelStepSize\x20=\x20shadowMapTSDBANSS.xy;\x0ashadowParameters.depthBias\x20=\x20shadowMapTSDBANSS.z;\x0ashadowParameters.normalShadingSmooth\x20=\x20shadowMapTSDBANSS.w;\x0ashadowParameters.darkness\x20=\x20shadowMapDT.x;\x0ashadowParameters.depth\x20=\x20pointToLightECLength\x20/\x20radius;\x0ashadowParameters.nDotL\x20=\x20NdotL;\x0ashadowParameters.texCoordsCube\x20=\x20czm_inverseViewRotation\x20*\x20l;\x0avisibility\x20=\x20shadowVisibilityCubeMars3D(lightShadowMapCube,\x20shadowParameters);\x0a}\x0a\x0aif(visibility\x20==\x201.0)\x20{\x0a\x20\x20vec3\x20colorIntensity\x20=\x20getLightIntensityMars3D(lightColor[i],\x20intensity[i],\x20type,\x20lightPEC.w,\x20pointToLightEC,\x20direction[i],\x20outerConeCos[i],\x20innerConeCos[i]);\x0a\x20\x20return\x20NdotL\x20*\x20colorIntensity;\x0a}\x0areturn\x20vec3(0.0);\x0a}\x0a\x0avec3\x20getSpotLightTotalColorMars3D(vec3\x20normalEC,\x20vec3\x20positionEC,\x20int\x20i,\x20sampler2D\x20lightShadowMap2D)\x20{\x0avec4\x20lightPEC\x20=\x20lightPositionEC[i];\x0avec2\x20shadowMapDT\x20=\x20shadowMapDarknessType[i];\x0avec3\x20pointToLightEC\x20=\x20positionEC\x20-\x20lightPEC.xyz;\x0avec3\x20l\x20=\x20normalize(pointToLightEC);\x0afloat\x20NdotL\x20=\x20clamp(dot(-\x20normalEC,\x20l),\x200.0,\x201.0);\x0a\x0afloat\x20visibility\x20=\x200.0;\x0afloat\x20type\x20=\x20shadowMapDT.y;\x0a\x0avec4\x20shadowPosition\x20=\x20shadowMapMatrix[i]\x20*\x20vec4(positionEC,\x201.0);\x0ashadowPosition\x20/=\x20shadowPosition.w;\x0aif(!\x20(any(lessThan(shadowPosition.xyz,\x20vec3(0.0)))\x20||\x20any(greaterThan(shadowPosition.xyz,\x20vec3(1.0)))))\x20{\x0avec4\x20shadowMapTSDBANSS\x20=\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[i];\x0amars3d_shadowParameters\x20shadowParameters;\x0ashadowParameters.texelStepSize\x20=\x20shadowMapTSDBANSS.xy;\x0ashadowParameters.depthBias\x20=\x20shadowMapTSDBANSS.z;\x0ashadowParameters.normalShadingSmooth\x20=\x20shadowMapTSDBANSS.w;\x0ashadowParameters.darkness\x20=\x20shadowMapDT.x;\x0ashadowParameters.texCoords\x20=\x20shadowPosition.xy;\x0ashadowParameters.depth\x20=\x20shadowPosition.z;\x0ashadowParameters.nDotL\x20=\x20NdotL;\x0avisibility\x20=\x20shadowVisibility2D(lightShadowMap2D,\x20shadowParameters);\x0a}\x0a\x0aif(visibility\x20==\x201.0)\x20{\x0avec3\x20colorIntensity\x20=\x20getLightIntensityMars3D(lightColor[i],\x20intensity[i],\x20type,\x20lightPEC.w,\x20pointToLightEC,\x20direction[i],\x20outerConeCos[i],\x20innerConeCos[i]);\x0areturn\x20NdotL\x20*\x20colorIntensity;\x0a}\x0areturn\x20vec3(0.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0avec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0afloat\x20logDepthOrDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20v_textureCoordinates));\x0aif(logDepthOrDepth\x20>=\x201.0)\x20{\x0aout_FragColor\x20=\x20color;\x0areturn;\x0a}\x0a\x0avec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(v_textureCoordinates.xy\x20*\x20czm_viewport.zw,\x20logDepthOrDepth);\x0avec3\x20downUp\x20=\x20vectorFromOffsetMars3D(eyeCoordinate,\x20vec2(0.0,\x201.0));\x0avec3\x20leftRight\x20=\x20vectorFromOffsetMars3D(eyeCoordinate,\x20vec2(1.0,\x200.0));\x0avec3\x20normalEC\x20=\x20normalize(cross(leftRight,\x20downUp));\x0avec3\x20positionEC\x20=\x20eyeCoordinate.xyz\x20/\x20eyeCoordinate.w;\x0a\x0avec3\x20totalColor\x20=\x20vec3(0.0);\x0a\x0aMars3D_ShadowVisibilityShader\x20out_FragColor\x20=\x20vec4(color.xyz\x20+\x20totalColor,\x201.0);\x0a}\x0a',MultipleLightNoShadowShader=_0x54a7f1(0xd55,0x15d5);const _0x27a6b2={};_0x27a6b2['color']=Cesium__namespace['Color'][_0x7afdbe(0x10e,0xabb)],_0x27a6b2['intensity']=0xa,_0x27a6b2[_0x7afdbe(0x860,0x605)]=0x3e8;const DEF_STYLE$4=_0x27a6b2;class PointLight extends BasePointPrimitive{constructor(_0x2d07ac={},_0x4c3f70=!![]){const _0x1d19fb={_0x20c8e7:0x10ac,_0x4ad31e:0xf88};function _0x11a323(_0x46f59c,_0x5e57eb){return _0x7afdbe(_0x5e57eb,_0x46f59c- -0x52a);}_0x4c3f70&&(_0x2d07ac[_0x1e337d(0x401,-0x3d9)]={...DEF_STYLE$4,..._0x2d07ac['style']||{}});function _0x1e337d(_0xb9289e,_0x441439){return _0x7afdbe(_0x441439,_0xb9289e- -0x2c9);}super(_0x2d07ac),this['_light_type']=0x1,this[_0x11a323(0x6f3,_0x1d19fb._0x20c8e7)]=getCesiumColor(this[_0x11a323(0x1a0,0x8c7)][_0x1e337d(0x1177,0xe97)],Cesium__namespace[_0x11a323(_0x1d19fb._0x4ad31e,0x194b)]['WHITE']);}get['czmObject'](){function _0x3790e8(_0x3d7bed,_0x26837e){return _0x7afdbe(_0x26837e,_0x3d7bed- -0x3a7);}return this[_0x3790e8(0x9bc,0x172)];}get[_0x7afdbe(0x11f1,0xab0)](){return![];}get['lights'](){const _0x3eb601={_0x36dc26:0x133d,_0x12a4d3:0x823,_0x55355f:0xd17};function _0x3596b5(_0x40c288,_0x59d85b){return _0x7afdbe(_0x59d85b,_0x40c288- -0x51e);}function _0x58fd7a(_0x4bb769,_0x5c45bd){return _0x54a7f1(_0x5c45bd- -0x3ae,_0x4bb769);}var _0x5d1931;return(_0x5d1931=this[_0x3596b5(_0x3eb601._0x36dc26,0x1564)])===null||_0x5d1931===void 0x0?void 0x0:_0x5d1931[_0x3596b5(_0x3eb601._0x12a4d3,_0x3eb601._0x55355f)];}get[_0x7afdbe(0x7ed,0xf68)](){return this['style']['intensity'];}set['intensity'](_0x2e4a66){this['style']['intensity']=_0x2e4a66;}get[_0x54a7f1(0x1212,0xb54)](){return this['_color'];}set[_0x54a7f1(0x1212,0x9b2)](_0x315a2f){function _0x5b4649(_0x47e90b,_0x2f0ff7){return _0x7afdbe(_0x2f0ff7,_0x47e90b- -0x267);}function _0x32b038(_0x304765,_0x52eb92){return _0x7afdbe(_0x52eb92,_0x304765- -0xb9);}this[_0x5b4649(0x9b6,0xa81)]=getCesiumColor(_0x315a2f,Cesium__namespace[_0x32b038(0x13f9,0x1065)]['WHITE']);}get['shadowMap'](){return this['_shadowMap'];}get['camera'](){return this['_camera'];}[_0x54a7f1(0x828,0x12a2)](){const _0x1b77c5={_0x35a3cf:0x13cd,_0x2edf79:0xc75},_0x39e778={_0xaf2c41:0xee};function _0x1ea0d4(_0x25293d,_0x552d84){return _0x7afdbe(_0x25293d,_0x552d84- -0x665);}let _0x24b3df=this['_position'];function _0x1ef6e0(_0x272328,_0x168118){return _0x7afdbe(_0x168118,_0x272328- -_0x39e778._0xaf2c41);}if(this[_0x1ef6e0(0xc75,_0x1b77c5._0x35a3cf)]&&_0x24b3df){const _0x15485a=this['getAddHeight']();Cesium__namespace['defined'](_0x15485a)&&(_0x24b3df=addPositionsHeight(_0x24b3df,_0x15485a)),this[_0x1ef6e0(_0x1b77c5._0x2edf79,0xb02)][_0x1ea0d4(0x1bfa,0x12aa)]=_0x24b3df,this['_camera']['up']=Cesium__namespace['Cartesian3']['normalize'](_0x24b3df,new Cesium__namespace['Cartesian3']());}}['_addedHook'](_0x4400ae){const _0x3d6559={_0x2c738e:0x9d8},_0x435bca={_0x1e4461:0x3d9},_0x5e6ec8={_0x5c31c7:0x384};this['_shadowMap']=this['_createShadowMap']();function _0x4a91b5(_0x47ed2d,_0x4c21c8){return _0x7afdbe(_0x47ed2d,_0x4c21c8- -_0x5e6ec8._0x5c31c7);}this['_position']&&this['_updatePositionsHook']();this['primitiveCollection']['add'](this),this[_0x4a91b5(0x77,0x9bd)][_0x478c78(0x4f0,_0x3d6559._0x2c738e)](this['id'],this);function _0x478c78(_0x5b0dd3,_0x254816){return _0x54a7f1(_0x254816- -_0x435bca._0x1e4461,_0x5b0dd3);}this['lights']['_showHook']=()=>{const _0x22f43b={_0x13192d:0x179};function _0x4c0548(_0x2ccdf4,_0x1d1bb0){return _0x4a91b5(_0x1d1bb0,_0x2ccdf4- -_0x22f43b._0x13192d);}this[_0x4c0548(0x1c6,0x961)]();},this['_updateDraw']();}['_createShadowMap'](){const _0x544fdf={_0x2df529:0x909,_0x171e92:0x799,_0x555c63:0xc22,_0x5b700a:0xc6b,_0x13dcd8:0xb53,_0x176375:0xc22,_0x221fb9:0x967};this['_shadowMap']&&(this['_shadowMap']['destroy'](),delete this['_shadowMap']);this['_camera']=new Cesium__namespace['Camera'](this['_map'][_0x59d03a(_0x544fdf._0x2df529,0x1219)]);const _0x36b4ed={};_0x36b4ed[_0x59d03a(0x1626,0xe92)]=this[_0x59d03a(0x14d5,0xccf)],_0x36b4ed['enable']=![];function _0x59d03a(_0x1c69ed,_0xb70c6c){return _0x54a7f1(_0xb70c6c-0x19a,_0x1c69ed);}_0x36b4ed['darkness']=0x1,_0x36b4ed['isPointLight']=!![],_0x36b4ed['isSpotLight']=![],_0x36b4ed[_0x492798(0x5eb,_0x544fdf._0x171e92)]=![],_0x36b4ed[_0x59d03a(0x864,_0x544fdf._0x555c63)]=this['_map'][_0x59d03a(_0x544fdf._0x5b700a,0x1219)][_0x59d03a(_0x544fdf._0x13dcd8,_0x544fdf._0x176375)],_0x36b4ed['pointLightRadius']=this['style']['radius'],_0x36b4ed['fromLightSource']=![];function _0x492798(_0x3a772e,_0x4b9a11){return _0x54a7f1(_0x4b9a11-0x18,_0x3a772e);}return _0x36b4ed['depthBiasStep']=this['options'][_0x492798(0x814,_0x544fdf._0x221fb9)]??0x1,new Cesium__namespace['ShadowMap'](_0x36b4ed);}['_removedHook'](){const _0x270d14={_0x39807f:0x99e,_0x49fe97:0x62f},_0x383358={_0x5e25ac:0x3a3};this['_shadowMap']&&(this['_shadowMap']['destroy'](),delete this[_0x235e4d(0x52a,0x984)]);function _0x235e4d(_0x3dfe5b,_0x4c31b3){return _0x7afdbe(_0x3dfe5b,_0x4c31b3- -_0x383358._0x5e25ac);}this['primitiveCollection']&&this['primitiveCollection']['contains'](this)&&(this['_noDestroy']=!![],this['primitiveCollection']['remove'](this),this['_noDestroy']=![]);this[_0x235e4d(0x6d7,_0x270d14._0x39807f)][_0x3babc3(_0x270d14._0x49fe97,0x6f8)](this['id']);function _0x3babc3(_0xfcdc89,_0x5812bd){return _0x7afdbe(_0x5812bd,_0xfcdc89- -0x38d);}this['_updateDraw']();}['update'](_0x1f9b82){const _0xa99c11={_0x201f97:0xb8,_0x33a573:0x8f,_0x4cf857:0xe0a,_0x1414b4:0x7cd,_0x3ae55f:0xb5,_0xba1ce4:0x914},_0x30ae74=this['getAvailabilityShow'](_0x1f9b82['time']);function _0x5ec1c0(_0xb2a8f4,_0x5148c7){return _0x54a7f1(_0x5148c7- -0x32c,_0xb2a8f4);}(this[_0x5ec1c0(0x1f1,-_0xa99c11._0x201f97)]??!![])!==_0x30ae74&&(this['_availability_show']=_0x30ae74,this[_0xa13122(-0x16f,_0xa99c11._0x33a573)]=_0x30ae74,this[_0xa13122(-0x126,0x2b0)]());function _0xa13122(_0x2ee01,_0x1ed49a){return _0x54a7f1(_0x1ed49a- -0x1e5,_0x2ee01);}this[_0x5ec1c0(_0xa99c11._0x4cf857,_0xa99c11._0x1414b4)]&&_0x1f9b82['shadowMaps'][_0x5ec1c0(0xd65,0xbdc)](this[_0xa13122(_0xa99c11._0x3ae55f,_0xa99c11._0xba1ce4)]);}['_updateStyleHook'](_0x1945c8,_0x330d92){const _0x145449={_0x242e19:0x68f,_0x58c40d:0xe9c,_0x539171:0x13f9,_0x5211d7:0x16b8,_0x669190:0x140a,_0xbaf44a:0x7d0,_0x37a9bc:0x1534},_0x1958be={_0x57147a:0x4b6};function _0x2a8c27(_0x56069a,_0x3e263e){return _0x7afdbe(_0x3e263e,_0x56069a- -_0x1958be._0x57147a);}function _0x472ead(_0x590617,_0x45fb6f){return _0x54a7f1(_0x45fb6f- -0x3e8,_0x590617);}Cesium__namespace[_0x472ead(0x1563,0x1299)](_0x330d92['color'])&&(this['_color']=getCesiumColor(_0x330d92['color'],Cesium__namespace[_0x472ead(_0x145449._0x242e19,_0x145449._0x58c40d)]['WHITE'])),(Cesium__namespace['defined'](_0x330d92['addHeight'])||Cesium__namespace['defined'](_0x330d92[_0x2a8c27(0x85,-0x184)])||Cesium__namespace[_0x2a8c27(_0x145449._0x539171,_0x145449._0x5211d7)](_0x330d92[_0x2a8c27(_0x145449._0x669190,0x1bc2)])||Cesium__namespace[_0x472ead(0x13bb,0x1299)](_0x330d92['roll']))&&this[_0x472ead(_0x145449._0xbaf44a,0x440)](),Cesium__namespace['defined'](_0x330d92[_0x2a8c27(0x14f,-0x18a)])&&this[_0x472ead(0x1025,0x711)]&&(this[_0x472ead(0x296,0x711)]=this[_0x472ead(_0x145449._0x37a9bc,0x10cf)](),this['_position']&&this['_updatePositionsHook']());}['_clearDraw'](){const _0x85f325={_0x510dba:0x9b7,_0x4aa069:0xa43},_0x5bee4e={_0x4055e2:0x51};function _0x49bc7a(_0x41b31c,_0x259220){return _0x7afdbe(_0x41b31c,_0x259220- -0x4a);}function _0x49c5a9(_0x4e164b,_0xe7ebba){return _0x54a7f1(_0xe7ebba-_0x5bee4e._0x4055e2,_0x4e164b);}this['_map']&&clearAllLights(this[_0x49bc7a(0xec4,_0x85f325._0x510dba)],this[_0x49bc7a(_0x85f325._0x4aa069,0xcf7)]);}[_0x54a7f1(0x495,0x566)](){const _0x4c6ed0={_0x4dc079:0x7a1,_0x1818bd:0xf53,_0x5bbe0c:0x919},_0xf334f3={_0x4d2e14:0x32},_0x27b560={_0x110c35:0x146};if(!this['_map']||!this['_position'])return;const _0x26256c=this['lights'];function _0x2b7efb(_0x111e13,_0x280d8d){return _0x54a7f1(_0x111e13-_0x27b560._0x110c35,_0x280d8d);}function _0x8ce9c(_0x537180,_0x20db43){return _0x54a7f1(_0x537180- -_0xf334f3._0x4d2e14,_0x20db43);}clearAllLights(this[_0x8ce9c(_0x4c6ed0._0x4dc079,0x278)],_0x26256c),_0x26256c['show']&&_0x26256c[_0x8ce9c(_0x4c6ed0._0x1818bd,0xf3b)]>0x0&&drawAllLights(this[_0x2b7efb(_0x4c6ed0._0x5bbe0c,0x11de)],_0x26256c);}['_getDrawEntityClass'](_0x19b11c,_0x556d47){return this['_getDrawPointEntityClass'](_0x19b11c,_0x556d47);}}register$5(_0x7afdbe(0x6ff,0xe40),PointLight,!![]);function drawAllLights(_0x207d1e,_0x236ba6){const _0x46bc40={_0x49b81b:0x45},_0x272a99=[],_0xfbc347=_0x236ba6['splitArr'](0xe);function _0xaf5dc(_0x47824c,_0x32d30a){return _0x7afdbe(_0x47824c,_0x32d30a-_0x46bc40._0x49b81b);}function _0x583ad8(_0x28b9d5,_0x3499d5){return _0x54a7f1(_0x28b9d5-0x23c,_0x3499d5);}for(let _0x48e5a3=0x0,_0x484824=_0xfbc347[_0x583ad8(0x11c1,0x13a8)];_0x48e5a3<_0x484824;_0x48e5a3++){const _0x1add95=getPostProcessStage$1(_0xfbc347[_0x48e5a3],_0x207d1e['hasShadow']);_0x1add95&&(_0x207d1e['scene']['postProcessStages'][_0xaf5dc(0x299,0x903)](_0x1add95),_0x272a99['push'](_0x1add95));}_0x236ba6['_postProcessStages']=_0x272a99;}function clearAllLights(_0x1c38ce,_0x1356ce){const _0x29568d={_0x3fb629:0x306,_0x3350e6:0x85b,_0x2cd56a:0x10be};function _0xef6d6d(_0x1fc6df,_0x14c7e4){return _0x7afdbe(_0x14c7e4,_0x1fc6df- -0x92);}const _0x3a1ca6=_0x1356ce[_0xef6d6d(0x523,-_0x29568d._0x3fb629)];function _0x4f33ed(_0x4df5b5,_0x59726b){return _0x54a7f1(_0x4df5b5- -0x377,_0x59726b);}if(_0x3a1ca6){for(let _0x2afe9d=0x0,_0x126740=_0x3a1ca6['length'];_0x2afe9d<_0x126740;_0x2afe9d++){_0x1c38ce[_0xef6d6d(0x121b,0xe6f)][_0x4f33ed(_0x29568d._0x3350e6,_0x29568d._0x2cd56a)]['remove'](_0x3a1ca6[_0x2afe9d]);}delete _0x1356ce['_postProcessStages'];}}function getPostProcessStage$1(_0x1ed0b1,_0x2553fb=!![]){const _0x2a0411={_0x19ddd2:0x16fb,_0x9d0f16:0x2ee,_0x420e7f:0x120b,_0x1c1864:0x52c,_0x2397b2:0x178b},_0x51eb04={_0x28c7f9:0x11e9,_0x1ccc04:0x145f,_0x5874f7:0xa10,_0x4c5eb4:0x1374,_0x28ba71:0xad9,_0x576a12:0xc0,_0xa22ebc:0x268,_0x212f94:0xd9a,_0x483ae7:0x7ce,_0x511956:0x76a,_0x12536a:0x142e,_0x1ec1c6:0x1178,_0x1e9bbf:0x197f,_0x5e41f9:0xddc,_0xf5b4c2:0x1f5e,_0x36293b:0x14df,_0x442492:0x1615,_0x34ef77:0x151a},_0x462188={_0x4407b5:0x22e};let _0x4bb45f,_0x45d527,_0x582993,_0x29f9f7,_0x2963a9,_0x3feb4f,_0x4891a7,_0x4001d9,_0x3663da,_0xa103a,_0x3df455;function _0x95bb0(_0x58c551,_0x4fe03a){return _0x7afdbe(_0x58c551,_0x4fe03a- -_0x462188._0x4407b5);}let _0x1745a2;function _0x4f3109(){_0x582993=[],_0x29f9f7=[],_0x2963a9=[],_0x3feb4f=[],_0x4891a7=[],_0x4001d9=[],_0x3663da=[],_0xa103a=[],_0x3df455=[],_0x1745a2=[],_0x1ed0b1['forEach'](function(_0x5af574){const _0x418bb2=_0x5af574['shadowMap'];if(!_0x418bb2||!_0x5af574[_0x16ad37(_0x51eb04._0x28c7f9,0x1512)]||_0x5af574[_0x17b90e(_0x51eb04._0x1ccc04,0xc02)]===![])return;_0x1745a2[_0x16ad37(_0x51eb04._0x5874f7,_0x51eb04._0x4c5eb4)](_0x5af574),_0x29f9f7['push'](_0x5af574['intensity']),_0x2963a9['push'](_0x5af574['color']),_0x582993[_0x16ad37(0xa10,_0x51eb04._0x28ba71)](_0x418bb2[_0x16ad37(_0x51eb04._0x576a12,0x812)]),_0x3feb4f['push'](_0x418bb2['_shadowMapMatrix']);const _0x14a22e=_0x418bb2[_0x16ad37(-0x1af,0x282)]?_0x418bb2['_pointBias']:_0x418bb2['_primitiveBias'];function _0x16ad37(_0x3cd416,_0x1aa8fd){return _0x536c(_0x3cd416- -0x3d1,_0x1aa8fd);}_0x4891a7[_0x16ad37(_0x51eb04._0x5874f7,0x1041)](Cesium__namespace['Cartesian4']['fromElements'](0x1/_0x418bb2[_0x16ad37(_0x51eb04._0xa22ebc,0x367)]['x'],0x1/_0x418bb2[_0x16ad37(0x268,0x249)]['y'],_0x14a22e[_0x17b90e(0xb20,0xcd6)],_0x14a22e['normalShadingSmooth']));function _0x17b90e(_0x2617e5,_0x2c0a7b){return _0x536c(_0x2c0a7b-0x35a,_0x2617e5);}_0x4001d9[_0x16ad37(_0x51eb04._0x5874f7,_0x51eb04._0x212f94)](new Cesium__namespace[(_0x16ad37(0x120c,0x17b6))](_0x418bb2['_darkness'],_0x5af574['_light_type'])),_0x5af574['_light_type']===0x2?(_0x3663da[_0x16ad37(0xa10,0x1193)](_0x418bb2[_0x17b90e(0x1f8,_0x51eb04._0x483ae7)]),_0xa103a[_0x16ad37(0xa10,_0x51eb04._0x511956)](Math[_0x17b90e(_0x51eb04._0x12536a,0x1987)](Cesium__namespace['Math']['toRadians'](_0x5af574[_0x17b90e(_0x51eb04._0x1ec1c6,_0x51eb04._0x1e9bbf)]))),_0x3df455[_0x16ad37(_0x51eb04._0x5874f7,0x272)](Math[_0x16ad37(0x125c,_0x51eb04._0x5e41f9)](Cesium__namespace[_0x17b90e(_0x51eb04._0xf5b4c2,_0x51eb04._0x36293b)]['toRadians'](_0x5af574['innerCone'])))):(_0x3663da['push'](Cesium__namespace[_0x17b90e(_0x51eb04._0x442492,_0x51eb04._0x34ef77)]['ZERO']),_0xa103a['push'](0x0),_0x3df455[_0x16ad37(0xa10,0xa86)](0x0));});}function _0x58b309(_0x30145a,_0x5a1184){return _0x54a7f1(_0x5a1184- -0x5c,_0x30145a);}_0x4f3109();if(_0x1745a2[_0x58b309(_0x2a0411._0x19ddd2,0xf29)]===0x0)return;if(_0x2553fb){_0x4bb45f={'lightPositionEC':()=>{return _0x4f3109(),_0x582993;},'intensity':()=>{return _0x29f9f7;},'lightColor':()=>{return _0x2963a9;},'shadowMapMatrix':()=>{return _0x3feb4f;},'shadowMapTexelSizeDepthBiasAndNormalShadingSmooth':()=>{return _0x4891a7;},'shadowMapDarknessType':()=>{return _0x4001d9;},'direction':()=>{return _0x3663da;},'outerConeCos':()=>{return _0xa103a;},'innerConeCos':()=>{return _0x3df455;}};const {uniformShader:_0x84e6df,shadowVisibilityShader:_0x5a2ae5}=getLightShadowMaps(_0x1745a2,_0x4bb45f);_0x45d527=MultipleLightShader['replace'](_0x58b309(-0x609,_0x2a0411._0x9d0f16),_0x1745a2['length']),_0x45d527=_0x45d527['replace']('Mars3D_LightShadowMapsShader',_0x84e6df),_0x45d527=_0x45d527['replace'](_0x58b309(_0x2a0411._0x420e7f,0xf4e),_0x5a2ae5);}else _0x4bb45f={'lightPositionEC':()=>{return _0x4f3109(),_0x582993;},'intensity':()=>{return _0x29f9f7;},'lightColor':()=>{return _0x2963a9;},'shadowMapDarknessType':()=>{return _0x4001d9;},'direction':()=>{return _0x3663da;},'outerConeCos':()=>{return _0xa103a;},'innerConeCos':()=>{return _0x3df455;}},_0x45d527=MultipleLightNoShadowShader[_0x95bb0(-0x13f,_0x2a0411._0x1c1864)]('Mars3D_LightNumValue',_0x1745a2['length']);const _0x48dc4e=new Cesium__namespace[(_0x95bb0(0xe86,_0x2a0411._0x2397b2))]({'sampleMode':Cesium__namespace['PostProcessStageSampleMode']['NEAREST'],'fragmentShader':_0x45d527,'uniforms':_0x4bb45f});return _0x48dc4e;}function getLightShadowMaps(_0x4e3918,_0x2d5f1e){const _0x2110c7={_0x5b40bc:0x1ea},_0x8bcded={_0x1aeff5:0x6b4,_0x522bcd:0x225,_0x14856c:0x6c2,_0x2019ce:0x1386,_0x29faf5:0x5,_0x597ceb:0xda8},_0x53dcc3={_0x13c882:0xe77,_0xdcfbfd:0xc94},_0xfb9866={_0x38b338:0x4e};function _0x42ac40(_0x5728c8,_0x4d42cf){return _0x54a7f1(_0x5728c8- -0x45b,_0x4d42cf);}let _0x1ee7f1='',_0x4b67c1='';function _0x75bb35(_0x11e6ce,_0x2ad2b5){return _0x54a7f1(_0x11e6ce-_0xfb9866._0x38b338,_0x2ad2b5);}_0x4e3918[_0x42ac40(_0x2110c7._0x5b40bc,-0x7e9)]((_0x172893,_0x5502a7)=>{const _0x1cc07b={_0x1106aa:0x56a};function _0xd556d2(_0xc1ebad,_0x3871e9){return _0x42ac40(_0x3871e9-0x5c9,_0xc1ebad);}function _0x560bc3(_0xd1fb19,_0x54df91){return _0x42ac40(_0xd1fb19-0x196,_0x54df91);}switch(_0x172893[_0x560bc3(_0x8bcded._0x1aeff5,-_0x8bcded._0x522bcd)]){case 0x1:_0x1ee7f1+='uniform\x20samplerCube\x20lightShadowMapCube'+_0x5502a7+';\x0a',_0x4b67c1+='totalColor\x20+=\x20getPointLightTotalColorMars3D(normalEC,\x20positionEC,\x20'+_0x5502a7+',\x20lightShadowMapCube'+_0x5502a7+_0xd556d2(0x375,_0x8bcded._0x14856c),_0x2d5f1e['lightShadowMapCube'+_0x5502a7]=()=>{function _0xcf1df2(_0x376ea2,_0x12fa0b){return _0x560bc3(_0x12fa0b-0x48e,_0x376ea2);}return _0x172893[_0xcf1df2(0x1ec,0x4e8)]['_shadowMapTexture'];};break;case 0x2:_0x1ee7f1+=_0xd556d2(0x4c7,0xc07)+_0x5502a7+';\x0a',_0x4b67c1+=_0xd556d2(0x1843,_0x8bcded._0x2019ce)+_0x5502a7+_0x560bc3(-_0x8bcded._0x29faf5,0x2f8)+_0x5502a7+');\x0a',_0x2d5f1e[_0xd556d2(0xb2b,_0x8bcded._0x597ceb)+_0x5502a7]=()=>{function _0x140308(_0x28ca6f,_0x1e7896){return _0x560bc3(_0x1e7896- -0x232,_0x28ca6f);}function _0x2a3c4e(_0x4fa329,_0x37ecfe){return _0x560bc3(_0x4fa329-_0x1cc07b._0x1106aa,_0x37ecfe);}return _0x172893[_0x140308(0x7dd,-0x1d8)][_0x140308(_0x53dcc3._0x13c882,_0x53dcc3._0xdcfbfd)];};break;}});const _0x36319f={};return _0x36319f['uniformShader']=_0x1ee7f1,_0x36319f[_0x42ac40(0xc6d,0x123c)]=_0x4b67c1,_0x36319f;}const _0x761523={};_0x761523[_0x54a7f1(0x1212,0xf38)]=Cesium__namespace[_0x54a7f1(0x1284,0x1705)][_0x54a7f1(0x88d,0xe24)],_0x761523[_0x7afdbe(0x1335,0xf68)]=0xa,_0x761523[_0x54a7f1(0x3d7,-0x56)]=0x3e8,_0x761523['innerCone']=0xa,_0x761523['outerCone']=0x2d;const DEF_STYLE$3=_0x761523;class SpotLight extends PointLight{constructor(_0x1327db={},_0x1ff060=!![]){_0x1ff060&&(_0x1327db['style']={...DEF_STYLE$3,..._0x1327db['style']||{}});super(_0x1327db);function _0x45050f(_0x48bd28,_0x177064){return _0x7afdbe(_0x48bd28,_0x177064- -0x49b);}this[_0x45050f(0x84f,0x70c)]=0x2;}get[_0x7afdbe(0x20e8,0x197a)](){const _0x41e868={_0x57b015:0x13aa};function _0x17472b(_0x44cc9d,_0x2b3f79){return _0x7afdbe(_0x2b3f79,_0x44cc9d- -0x5d0);}return this['style'][_0x17472b(_0x41e868._0x57b015,0xe48)];}set['outerCone'](_0x30b753){const _0x495e99={_0x2066f4:0xef6,_0x31c63a:0x57,_0x4f2f6b:0x11d9},_0x2532e2={_0x109808:0x194},_0x30b85={_0x3bb274:0x275};function _0x3edfea(_0x5702ba,_0x379077){return _0x54a7f1(_0x379077- -_0x30b85._0x3bb274,_0x5702ba);}function _0x27ff7f(_0x41e8ef,_0x8f2b26){return _0x54a7f1(_0x41e8ef-_0x2532e2._0x109808,_0x8f2b26);}this[_0x27ff7f(0x630,_0x495e99._0x2066f4)]['outerCone']=_0x30b753,this['_camera']['frustum']['fov']=Cesium__namespace[_0x27ff7f(0x1440,0xe6f)]['toRadians'](this[_0x27ff7f(0x630,_0x495e99._0x31c63a)]['outerCone']*0x2),this['_camera'][_0x27ff7f(_0x495e99._0x4f2f6b,0x106a)]['far']=this['range'];}get['innerCone'](){const _0x378e30={_0x4f1228:0x81e};function _0x30399b(_0x2b8b85,_0x15ed18){return _0x7afdbe(_0x15ed18,_0x2b8b85- -0x4ce);}return this[_0x30399b(0x1fc,-_0x378e30._0x4f1228)]['innerCone'];}set['innerCone'](_0x2a5309){this['style']['innerCone']=_0x2a5309;}['_updatePositionsHook'](){const _0x268c4f={_0x2c3170:0x1107,_0x2c7d69:0x92d,_0x1000de:0x1230,_0x477cc9:0x1443,_0x9e3cd0:0x1e77,_0x11d646:0xcfa,_0x19ffb8:0x152c,_0x4d2112:0xcf,_0x5baf23:0x14f3,_0x39d55d:0x1857,_0x3f3520:0x4ce,_0x151344:0x13c2,_0x36da7d:0x3ad,_0x33592e:0x998},_0x48e9d9={_0x1663f5:0x23e};let _0x2ef2a4=this[_0x1a9864(0xb4e,_0x268c4f._0x2c3170)];function _0x1a9864(_0x53ccdb,_0x433336){return _0x54a7f1(_0x53ccdb- -_0x48e9d9._0x1663f5,_0x433336);}function _0x36d71b(_0x3af77c,_0x431b00){return _0x7afdbe(_0x431b00,_0x3af77c- -0x69);}if(this['_camera']&&_0x2ef2a4){const _0x41f7d3=this[_0x36d71b(_0x268c4f._0x2c7d69,_0x268c4f._0x1000de)]();Cesium__namespace[_0x1a9864(_0x268c4f._0x477cc9,_0x268c4f._0x9e3cd0)](_0x41f7d3)&&(_0x2ef2a4=addPositionsHeight(_0x2ef2a4,_0x41f7d3));this[_0x36d71b(_0x268c4f._0x11d646,0x54b)][_0x36d71b(0x18a6,_0x268c4f._0x19ffb8)]=_0x2ef2a4;const _0x961788=Cesium__namespace['HeadingPitchRoll']['fromDegrees'](this[_0x1a9864(_0x268c4f._0x4d2112,0x223)]+0x5a,this[_0x36d71b(0x1857,0x17c0)],this[_0x1a9864(_0x268c4f._0x5baf23,0x1882)]),_0x18ceb3={};_0x18ceb3['heading']=_0x961788[_0x36d71b(0x4d2,0x8c2)],_0x18ceb3[_0x36d71b(_0x268c4f._0x39d55d,0x178e)]=_0x961788['pitch'],_0x18ceb3[_0x36d71b(0x18f6,0x1fd6)]=_0x961788['roll'];const _0x1045bb={};_0x1045bb[_0x1a9864(_0x268c4f._0x3f3520,0xda3)]=_0x2ef2a4,_0x1045bb[_0x1a9864(_0x268c4f._0x151344,0x1080)]=_0x18ceb3,this['_camera'][_0x1a9864(_0x268c4f._0x36da7d,_0x268c4f._0x33592e)](_0x1045bb);}}[_0x54a7f1(0x14b7,0x1f39)](){const _0x2b2e13={_0x29a418:0x1162,_0x550f90:0x13d8,_0x24d706:0x33,_0x5df8e0:0xefb,_0x31d1a2:0x5c,_0x540d3a:0xf8e,_0x5dd3d0:0xbae,_0x4ff5ac:0x1265,_0x13ab36:0x1ae,_0x4515ff:0x5ca,_0x33dfe3:0x805,_0x3ebbfd:0x1036};this[_0x238e18(0xabb,0x9eb)]=new Cesium__namespace['Camera'](this['_map']['scene']),this[_0x238e18(0x3a2,0x9eb)]['frustum']['aspectRatio']=0x1,this['_camera']['frustum']['fov']=Cesium__namespace[_0x238e18(0xd45,_0x2b2e13._0x29a418)][_0x238e18(0xacc,_0x2b2e13._0x550f90)](this['style']['outerCone']*0x2),this['_camera']['frustum'][_0x238e18(-_0x2b2e13._0x24d706,0x1d3)]=0.1,this[_0x425378(0xf8d,0x6f5)][_0x238e18(0x11e1,_0x2b2e13._0x5df8e0)]['far']=this[_0x425378(-0x13c,_0x2b2e13._0x31d1a2)]['radius'];function _0x238e18(_0x2626d5,_0x23ec20){return _0x54a7f1(_0x23ec20- -0x14a,_0x2626d5);}const _0x5938e9={};_0x5938e9[_0x238e18(_0x2b2e13._0x540d3a,_0x2b2e13._0x5dd3d0)]=this['_camera'],_0x5938e9[_0x238e18(0x1406,_0x2b2e13._0x4ff5ac)]=![],_0x5938e9['darkness']=0x1;function _0x425378(_0x3104cf,_0x47f7dc){return _0x54a7f1(_0x47f7dc- -0x440,_0x3104cf);}return _0x5938e9['isPointLight']=![],_0x5938e9[_0x238e18(-_0x2b2e13._0x13ab36,_0x2b2e13._0x4515ff)]=!![],_0x5938e9['cascadesEnabled']=![],_0x5938e9['context']=this['_map']['scene'][_0x425378(0xc7d,0x648)],_0x5938e9[_0x425378(0x1013,0xe56)]=this['style']['radius'],_0x5938e9[_0x425378(0x50e,0x6e1)]=![],_0x5938e9[_0x238e18(0xf68,_0x2b2e13._0x33dfe3)]=this['options']['depthBiasStep']??0x1,new Cesium__namespace[(_0x238e18(0x10f8,_0x2b2e13._0x3ebbfd))](_0x5938e9);}}register$5('spotLight',SpotLight,!![]);var VolumeCloudFS='precision\x20highp\x20float;\x0aprecision\x20highp\x20sampler3D;\x0a\x0auniform\x20sampler3D\x20map;\x0auniform\x20float\x20threshold;\x0auniform\x20float\x20detail;\x0auniform\x20float\x20xCut;\x0auniform\x20float\x20yCut;\x0auniform\x20float\x20zCut;\x0auniform\x20vec4\x20colors[Mars3D_TotalColors];\x0auniform\x20float\x20colorsKey[Mars3D_TotalColors];\x0a\x0ain\x20vec3\x20vOrigin;\x0ain\x20vec3\x20vDirection;\x0a\x0avec2\x20hitBoxMars3D(vec3\x20orig,\x20vec3\x20dir)\x20{\x0a\x20\x20const\x20vec3\x20box_min\x20=\x20vec3(-0.5);\x0a\x20\x20const\x20vec3\x20box_max\x20=\x20vec3(0.5);\x0a\x20\x20vec3\x20inv_dir\x20=\x201.0\x20/\x20dir;\x0a\x20\x20vec3\x20tmin_tmp\x20=\x20(box_min\x20-\x20orig)\x20*\x20inv_dir;\x0a\x20\x20vec3\x20tmax_tmp\x20=\x20(box_max\x20-\x20orig)\x20*\x20inv_dir;\x0a\x20\x20vec3\x20tmin\x20=\x20min(tmin_tmp,\x20tmax_tmp);\x0a\x20\x20vec3\x20tmax\x20=\x20max(tmin_tmp,\x20tmax_tmp);\x0a\x20\x20float\x20t0\x20=\x20max(tmin.x,\x20max(tmin.y,\x20tmin.z));\x0a\x20\x20float\x20t1\x20=\x20min(tmax.x,\x20min(tmax.y,\x20tmax.z));\x0a\x20\x20return\x20vec2(t0,\x20t1);\x0a}\x0a\x0afloat\x20sampleMars3D(vec3\x20p)\x20{\x0a\x20\x20return\x20texture(map,\x20p).a;\x0a}\x0a\x0a//\x20获取颜色的方法\x0avec4\x20getColorMars3D(float\x20value)\x20{\x0a\x0a\x20\x20float\x20originalValue\x20=\x20value\x20*\x20255.0;\x0a\x0a\x20\x20vec4\x20color1\x20=\x20vec4(0.0);\x0a\x20\x20vec4\x20color2\x20=\x20vec4(0.0);\x0a\x20\x20float\x20key1\x20=\x200.0;\x0a\x20\x20float\x20key2\x20=\x200.0;\x0a\x0a\x20\x20//\x20计算当前值在哪一个区间\x0a\x20\x20for(int\x20i\x20=\x200;\x20i\x20<\x20Mars3D_TotalColors;\x20i++)\x20{\x0a\x20\x20\x20//\x20获取到最小的大于当前值的位置\x0a\x20\x20\x20\x20if(originalValue\x20<\x20colorsKey[i])\x20{\x0a\x20\x20\x20\x20\x20\x20//\x20如果是第一位,则无法插值\x0a\x20\x20\x20\x20\x20\x20if(i\x20==\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20key1\x20=\x20colorsKey[i\x20-\x201];\x0a\x20\x20\x20\x20\x20\x20key2\x20=\x20colorsKey[i];\x0a\x20\x20\x20\x20\x20\x20color1\x20=\x20colors[i\x20-\x201];\x0a\x20\x20\x20\x20\x20\x20color2\x20=\x20colors[i];\x0a\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20//\x20确定两个颜色区间之间的混合程度\x0a\x20\x20float\x20mixValue\x20=\x20(originalValue\x20-\x20key1)\x20/\x20(key2\x20-\x20key1);\x0a\x0a\x20\x20//\x20计算当前颜色\x0a\x20\x20vec4\x20finalColor\x20=\x20mix(color1,\x20color2,\x20mixValue);\x0a\x0a\x20\x20return\x20finalColor;\x0a}\x0a\x0avec4\x20alphaBlendingMars3D(vec4\x20color1,\x20vec4\x20color2)\x20{\x0a\x20\x20float\x20a1\x20=\x20color1.a;\x0a\x20\x20float\x20a2\x20=\x20color2.a;\x0a\x20\x20float\x20a\x20=\x201.0\x20-\x20(1.0\x20-\x20a1)\x20*\x20(1.0\x20-\x20a2);\x0a\x0a\x20\x20float\x20R\x20=\x20(a1\x20*\x20color1.r\x20+\x20(1.0\x20-\x20a1)\x20*\x20a2\x20*\x20color2.r)\x20/\x20a;\x0a\x20\x20float\x20G\x20=\x20(a1\x20*\x20color1.g\x20+\x20(1.0\x20-\x20a1)\x20*\x20a2\x20*\x20color2.g)\x20/\x20a;\x0a\x20\x20float\x20B\x20=\x20(a1\x20*\x20color1.b\x20+\x20(1.0\x20-\x20a1)\x20*\x20a2\x20*\x20color2.b)\x20/\x20a;\x0a\x0a\x20\x20return\x20vec4(R,\x20G,\x20B,\x20a);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20//\x20初始化色带\x0a\x20\x20vec4\x20color\x20=\x20vec4(0.0);\x0a\x20\x20vec3\x20rayDir\x20=\x20normalize(vDirection);\x0a\x20\x20vec2\x20bounds\x20=\x20hitBoxMars3D(vOrigin,\x20rayDir);\x0a\x0a\x20\x20if(bounds.x\x20>\x20bounds.y)\x0a\x20\x20\x20\x20discard;\x0a\x0a\x20\x20bounds.x\x20=\x20max(bounds.x,\x200.0);\x0a\x20\x20vec3\x20p\x20=\x20vOrigin\x20+\x20bounds.x\x20*\x20rayDir;\x0a\x20\x20vec3\x20inc\x20=\x201.0\x20/\x20abs(rayDir);\x0a\x20\x20float\x20delta\x20=\x20min(inc.x,\x20min(inc.y,\x20inc.z));\x0a\x20\x20delta\x20/=\x20detail;\x0a\x0a\x20\x20for(float\x20t\x20=\x20bounds.x;\x20t\x20<\x20bounds.y;\x20t\x20+=\x20delta)\x20{\x0a\x20\x20\x20\x20if(p.x\x20>\x20xCut\x20&&\x20p.y\x20>\x20yCut\x20&&\x20p.z\x20<\x20zCut)\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20value\x20=\x20sampleMars3D(p\x20+\x200.5);\x0a\x20\x20\x20\x20\x20\x20if(value\x20<\x20threshold)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(color.a\x20>=\x201.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20color\x20=\x20alphaBlendingMars3D(color,\x20getColorMars3D(value));\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20p\x20+=\x20rayDir\x20*\x20delta;\x0a\x20\x20}\x0a\x20\x20out_FragColor\x20=\x20color;\x0a}\x0a',VolumeCloudVS='in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec3\x20vOrigin;\x0aout\x20vec3\x20vDirection;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vOrigin\x20=\x20czm_encodedCameraPositionMCHigh\x20+\x20czm_encodedCameraPositionMCLow;\x0a\x20\x20vDirection\x20=\x20position\x20-\x20vOrigin;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20vec4(position,\x201.0);\x0a}\x0a';class VolumeCloud extends BasePrimitive{constructor(_0x53dec3={}){const _0x211a26={_0x344bfd:0x2a1,_0x46cc14:0xb75,_0x45dc9b:0x441},_0xfea638={_0xc753a1:0x6eb};super(_0x53dec3),this[_0x315b52(0xe34,0x8d3)]=this[_0x315b52(0x914,0x3f3)][_0x315b52(0xfb3,0x8d3)]??0x41/0xff,this[_0x315b52(-_0x211a26._0x344bfd,0x1b0)]=this['options'][_0x315b52(0x711,0x1b0)]??0x3e8;function _0x315b52(_0x15e7ac,_0x1503a9){return _0x7afdbe(_0x15e7ac,_0x1503a9- -_0xfea638._0xc753a1);}this[_0x315b52(0x13fd,_0x211a26._0x46cc14)]=this['options'][_0x315b52(0x48e,_0x211a26._0x46cc14)]??-0.5;function _0x38252a(_0x4704ff,_0x2f4da3){return _0x54a7f1(_0x2f4da3-0x16e,_0x4704ff);}this['yCut']=this['options']['yCut']??-0.5,this[_0x38252a(0x342,0xa6c)]=this['options'][_0x315b52(0x259,_0x211a26._0x45dc9b)]??0.5;}get['czmObject'](){const _0x1f957e={_0x3a4e17:0x57};function _0x5f1b5f(_0x43d6b0,_0x43ae80){return _0x54a7f1(_0x43d6b0-_0x1f957e._0x3a4e17,_0x43ae80);}return this[_0x5f1b5f(0xb50,0xa13)];}['updateData'](_0x4476f3){const _0x5e00be={_0x43cf4c:0x1082,_0x1dab56:0x127a,_0xcd513b:0xc40,_0x5d3f25:0xfb9,_0x39fdda:0xff1,_0x511da9:0x1385,_0x2b14df:0x5ae},_0x3d2232={_0x3d9d1f:0x15f};this[_0x2d7265(0xaae,_0x5e00be._0x43cf4c)]&&(this['texture3D']['destroy'](),delete this['texture3D']);function _0x5e7364(_0x33c6fe,_0x41ee40){return _0x54a7f1(_0x41ee40- -_0x3d2232._0x3d9d1f,_0x33c6fe);}for(let _0x30381c=0x0,_0x520f85=_0x4476f3[_0x5e7364(0xda0,0xff1)]['length'];_0x30381c<_0x520f85;_0x30381c++){_0x4476f3['values'][_0x30381c]=Math['abs'](_0x4476f3['values'][_0x30381c]);}function _0x2d7265(_0x145960,_0xa8ea27){return _0x7afdbe(_0xa8ea27,_0x145960- -0x33);}this['texture3D']=new Texture3({'context':this['_map'][_0x2d7265(_0x5e00be._0x1dab56,_0x5e00be._0xcd513b)]['context'],'source':{'width':_0x4476f3['rows'],'height':_0x4476f3[_0x2d7265(0x95a,_0x5e00be._0x5d3f25)],'depth':_0x4476f3['heights'],'arrayBufferView':new Uint8Array(_0x4476f3[_0x5e7364(0x12c4,_0x5e00be._0x39fdda)])},'pixelFormat':Cesium__namespace[_0x2d7265(0x1219,_0x5e00be._0x511da9)]['ALPHA'],'pixelDatatype':Cesium__namespace[_0x2d7265(_0x5e00be._0x2b14df,0xe19)][_0x5e7364(-0x62a,0x294)]});}['_mountedHook'](){const _0x5a9660={_0x5249fa:0x809,_0x415cb9:0xeb5,_0x2a4bfa:0xdd,_0x51446b:0x270,_0x17a489:0x1396,_0x1fa9bf:0x593,_0x18ed8a:0xf40,_0x588874:0x196,_0x5c2cf7:0x146a,_0x185c21:0x85d,_0x5827a2:0x1d15,_0x28bfc7:0x164e,_0x931bd0:0x604,_0x3401ff:0xd94,_0x209e0c:0x16e5,_0x4340b5:0x6df,_0x4e74c3:0xdab,_0x5070d9:0x923,_0x2240dc:0x418,_0x44e06a:0xa44,_0xf2a1b8:0xd40,_0x49ef90:0x308,_0xc074e7:0x1609,_0xd15f87:0x198,_0x2b4da6:0xf83,_0x142e02:0x10a0,_0x4ee3d9:0x125a,_0x34cecf:0x11e7,_0x19245f:0x476,_0x4203fe:0x666,_0xa3493a:0x784,_0xa78bcd:0xe52},_0xcb5b60=this['options']['data'];this[_0x5e4ed1(0x12d1,_0x5a9660._0x5249fa)]=new Texture3({'context':this['_map'][_0x510820(0xe8e,0x1924)][_0x510820(0x897,_0x5a9660._0x415cb9)],'source':{'width':_0xcb5b60['rows'],'height':_0xcb5b60['cols'],'depth':_0xcb5b60[_0x5e4ed1(0x1787,0xe8e)],'arrayBufferView':new Uint8Array(_0xcb5b60['values'])},'pixelFormat':Cesium__namespace['PixelFormat'][_0x5e4ed1(_0x5a9660._0x2a4bfa,_0x5a9660._0x51446b)],'pixelDatatype':Cesium__namespace['PixelDatatype']['UNSIGNED_BYTE']});const _0x195d85=this['options'][_0x510820(0x1507,_0x5a9660._0x17a489)]||[_0x510820(_0x5a9660._0x1fa9bf,0xbad),_0x510820(_0x5a9660._0x18ed8a,0x126b),_0x510820(0x6db,0xcd1),'rgba(238,2,48,0.12)',_0x5e4ed1(0x9ec,_0x5a9660._0x588874),'rgba(254,172,172,0.1)','rgba(140,140,0,0.09)','rgba(200,200,2,0.08)',_0x510820(0x130,-0x961),'rgba(16,146,26,0.06)','rgba(0,234,0,0.05)',_0x5e4ed1(0xd40,0x1693),_0x5e4ed1(0x1aec,0x1601),_0x510820(_0x5a9660._0x5c2cf7,0x19e9),'rgba(192,192,254,0.01)'],_0x583910=[];function _0x5e4ed1(_0x56d0ed,_0x76dd7b){return _0x54a7f1(_0x76dd7b- -0xaa,_0x56d0ed);}_0x195d85[_0x5e4ed1(_0x5a9660._0x185c21,0x59b)](_0xeda073=>{_0x583910['push'](getCesiumColor(_0xeda073));}),this[_0x5e4ed1(_0x5a9660._0x5827a2,_0x5a9660._0x28bfc7)]=_0x583910,this['steps']=this['options']['steps'];if(!this[_0x5e4ed1(0x1400,0xef4)]||this[_0x5e4ed1(_0x5a9660._0x931bd0,0xef4)][_0x510820(_0x5a9660._0x3401ff,_0x5a9660._0x209e0c)]===0x0){let _0x3e9648=Number[_0x5e4ed1(0x598,0xff5)],_0x12decf=Number['MIN_VALUE'];_0xcb5b60['values']['forEach'](_0x255900=>{_0x3e9648=Math['min'](_0x255900,_0x3e9648),_0x12decf=Math['max'](_0x255900,_0x12decf);});const _0x422767=_0x195d85[_0x510820(_0x5a9660._0x3401ff,0x5a6)]-0x1,_0x11307f=(_0x12decf-_0x3e9648)/_0x422767;this['steps']=[];for(let _0x976cf3=0x0;_0x976cf3<_0x422767;_0x976cf3++){this[_0x510820(0xdad,0x143b)]['push'](_0x3e9648+_0x976cf3*_0x11307f);}this['steps'][0x0]=0x0;}const _0x2640b3=Cesium__namespace[_0x510820(_0x5a9660._0x4340b5,0xb87)][_0x5e4ed1(_0x5a9660._0x4e74c3,0xd40)](_0xcb5b60['xmin'],_0xcb5b60[_0x510820(_0x5a9660._0x5070d9,_0x5a9660._0x2240dc)],_0xcb5b60['zmin']),_0x136960=Cesium__namespace[_0x510820(0x6df,-0x3ca)][_0x5e4ed1(_0x5a9660._0x44e06a,_0x5a9660._0xf2a1b8)](_0xcb5b60['xmax'],_0xcb5b60['ymax'],_0xcb5b60['zmax']),_0x3b9de3=Cesium__namespace['Rectangle']['fromRadians'](_0x2640b3['longitude'],_0x2640b3[_0x510820(0x7e6,0x171)],_0x136960[_0x5e4ed1(-0x299,0x5fe)],_0x136960['latitude']);this['_rectangle']=_0x3b9de3;const _0xb1318=Cesium__namespace[_0x510820(_0x5a9660._0x49ef90,0xcd5)]['center'](_0x3b9de3),_0x2cb90a=Cesium__namespace['Cartographic']['toCartesian'](Cesium__namespace['Rectangle'][_0x5e4ed1(_0x5a9660._0xc074e7,0x1618)](_0x3b9de3)),_0x253bb7=Cesium__namespace[_0x510820(0x6df,_0x5a9660._0xd15f87)]['toCartesian'](Cesium__namespace[_0x510820(0x308,0xe5)]['northwest'](_0x3b9de3)),_0x459361=Cesium__namespace['Cartographic'][_0x510820(0x913,_0x5a9660._0x2b4da6)](Cesium__namespace['Rectangle']['southeast'](_0x3b9de3)),_0x2be9e2=Cesium__namespace['Cartesian3'][_0x510820(_0x5a9660._0x142e02,0x1199)](_0x2cb90a,_0x253bb7),_0x1cec86=Cesium__namespace[_0x5e4ed1(_0x5a9660._0x4ee3d9,0x123d)][_0x5e4ed1(0x1c93,_0x5a9660._0x34cecf)](_0x2cb90a,_0x459361),_0x4accf2=(_0x136960[_0x510820(_0x5a9660._0x19245f,0x5bd)]+_0x2640b3['height'])/0x2,_0x37d2ca=Cesium__namespace[_0x5e4ed1(0xad6,0x123d)]['fromRadians'](_0xb1318['longitude'],_0xb1318[_0x510820(0x7e6,0x67b)],_0x4accf2);let _0x2c4794=_0x2be9e2>_0x1cec86?_0x2be9e2:_0x1cec86;_0x2c4794=_0x2c4794>_0x4accf2?_0x2c4794:_0x4accf2;const _0x27878e=Cesium__namespace['Transforms'][_0x5e4ed1(0x1ae4,0x11f0)](_0x37d2ca);function _0x510820(_0x5e83e5,_0x2a4e83){return _0x7afdbe(_0x2a4e83,_0x5e83e5- -0x41f);}const _0x5f33ff=Cesium__namespace['Matrix4']['fromScale'](new Cesium__namespace['Cartesian3'](_0x2be9e2,_0x1cec86,_0x4accf2*0x2));this[_0x5e4ed1(0xb92,_0x5a9660._0x4203fe)]=new Cesium__namespace[(_0x510820(_0x5a9660._0xa3493a,-0x134))](_0x37d2ca,_0x2c4794),this[_0x5e4ed1(0xf6a,_0x5a9660._0xa78bcd)]=Cesium__namespace[_0x510820(0x1e7,0x9c)]['multiply'](_0x27878e,_0x5f33ff,_0x27878e);}[_0x54a7f1(0x1121,0xbdc)](_0x4d8054){this['primitiveCollection']['add'](this);}['_removedHook'](){const _0x4a7cb2={_0x2aebb2:0x13d1,_0x51f9e8:0x567},_0x3e6f42={_0x5cd6dd:0xd3},_0x4f19b6={_0x637ef7:0x34c};function _0x4851bd(_0x51c6d9,_0x5cae3b){return _0x54a7f1(_0x51c6d9- -_0x4f19b6._0x637ef7,_0x5cae3b);}function _0x35aa56(_0x1c3a43,_0x7bfc7d){return _0x54a7f1(_0x7bfc7d-_0x3e6f42._0x5cd6dd,_0x1c3a43);}this['primitiveCollection']['contains'](this)&&(this['_noDestroy']=!![],this['primitiveCollection']['remove'](this),this[_0x35aa56(0x112d,_0x4a7cb2._0x2aebb2)]=![]),this['texture3D']&&(this[_0x4851bd(_0x4a7cb2._0x51f9e8,-0x398)][_0x4851bd(0xe6,0x1c3)](),delete this['texture3D']),this[_0x4851bd(0x1082,0xef7)]();}['update'](_0x7e1310){const _0x417527={_0x2a1380:0x8d5,_0x5e1100:0xb47,_0x3dd70b:0xb9b,_0x41214b:0xbd4,_0x3a4c6c:0x800};function _0x4ac931(_0x5b7db0,_0xb1348a){return _0x7afdbe(_0xb1348a,_0x5b7db0- -0x409);}if(!this['getRealShow'](_0x7e1310[_0x4ac931(0x884,_0x417527._0x2a1380)]))return;function _0x1f7f34(_0x53a6cf,_0x9dc180){return _0x54a7f1(_0x53a6cf- -0x37a,_0x9dc180);}!this['_drawCommands']&&this['createDrawCommand'](_0x7e1310['context']),_0x7e1310[_0x4ac931(_0x417527._0x5e1100,_0x417527._0x3dd70b)][_0x1f7f34(0xb8e,0x1574)](this[_0x4ac931(_0x417527._0x41214b,_0x417527._0x3a4c6c)]);}[_0x54a7f1(0x719,0xafa)](_0x15476d){const _0x28646f={_0x236262:0xd06,_0x422ebd:0xe11,_0x52a4e8:0x5a5,_0x4244bf:0xd63,_0x37c294:0x6c3,_0x321183:0x14e5,_0x77c8fe:0xd25,_0x1b8513:0x1862,_0x4f594e:0x17ad,_0x50cc9f:0x1d47},_0x18d7c8={_0x1f21ce:0xe2e},_0x11f3e0={_0x151e1b:0x1fe},_0x470076={_0x468f32:0x80};this[_0x14b046(0x15cc,_0x28646f._0x236262)]();const _0x5100b3=Cesium__namespace[_0x14b046(0x750,0x10c8)][_0x50911c(_0x28646f._0x422ebd,_0x28646f._0x52a4e8)](Cesium__namespace['BoxGeometry'][_0x14b046(0xf51,0x12e1)]({'vertexFormat':Cesium__namespace[_0x14b046(0x531,0xbf2)][_0x14b046(_0x28646f._0x4244bf,_0x28646f._0x37c294)],'dimensions':new Cesium__namespace[(_0x14b046(_0x28646f._0x321183,0x1900))](0x1,0x1,0x1)})),_0x37c7e5={};_0x37c7e5['enabled']=!![];const _0x36faff={};function _0x50911c(_0x4ecc61,_0x4f77b4){return _0x7afdbe(_0x4ecc61,_0x4f77b4-_0x470076._0x468f32);}_0x36faff[_0x50911c(_0x28646f._0x77c8fe,0xe51)]=![];const _0x1405ba={};_0x1405ba[_0x50911c(_0x28646f._0x1b8513,0x1332)]=_0x37c7e5;function _0x14b046(_0x2299c4,_0x2aae84){return _0x54a7f1(_0x2299c4-_0x11f3e0._0x151e1b,_0x2aae84);}_0x1405ba['cull']=_0x36faff;const _0x91bbc0=Cesium__namespace['RenderState']['fromCache'](_0x1405ba),_0x136a85=Cesium__namespace['GeometryPipeline']['createAttributeLocations'](_0x5100b3),_0x1cf240={};_0x1cf240['context']=_0x15476d,_0x1cf240[_0x14b046(_0x28646f._0x4f594e,_0x28646f._0x50cc9f)]=_0x5100b3,_0x1cf240['attributes']=_0x136a85;const _0x226ddf=Cesium__namespace['VertexArray']['fromGeometry'](_0x1cf240),_0x44a345=Cesium__namespace['ShaderProgram'][_0x50911c(0xea3,0x744)]({'boundingSphere':_0x5100b3['boundingSphere'],'context':_0x15476d,'vertexShaderSource':VolumeCloudVS,'fragmentShaderSource':VolumeCloudFS['replaceAll'](_0x14b046(0x557,0xb1f),this['colors']['length']),'attributeLocations':_0x136a85});this['_drawCommands']=new Cesium__namespace['DrawCommand']({'boundingVolume':this[_0x14b046(0x90e,0x929)],'modelMatrix':this['_modelMatrix'],'pass':Cesium__namespace[_0x14b046(0x18f3,0x21a0)]['TRANSLUCENT'],'shaderProgram':_0x44a345,'renderState':_0x91bbc0,'vertexArray':_0x226ddf,'uniformMap':{'map':()=>{return this['texture3D'];},'threshold':()=>{return this['threshold'];},'detail':()=>{function _0x51b97d(_0x7c936f,_0x36ed74){return _0x50911c(_0x36ed74,_0x7c936f- -0x59b);}return this[_0x51b97d(0x380,-0x30)];},'xCut':()=>{return this['xCut'];},'yCut':()=>{return this['yCut'];},'zCut':()=>{return this['zCut'];},'colors':()=>{return this['colors'];},'colorsKey':()=>{function _0x824b7f(_0x129201,_0x538826){return _0x14b046(_0x538826- -0x36e,_0x129201);}return this[_0x824b7f(0x12a8,_0x18d7c8._0x1f21ce)];}}});}[_0x54a7f1(0x13ce,0x11b4)](){this['_drawCommands']&&(this['_drawCommands']['vertexArray']&&this['_drawCommands']['vertexArray']['destroy'](),this['_drawCommands']['shaderProgram']&&this['_drawCommands']['shaderProgram']['destroy'](),delete this['_drawCommands']);}}register$5(_0x54a7f1(0x1130,0xf4f),VolumeCloud,!![]);var MultipleVisibilityShader='\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0a\x0auniform\x20float\x20mars3d_opacity;\x0auniform\x20vec3\x20mars3d_visibleAreaColor;\x0auniform\x20vec3\x20mars3d_hiddenAreaColor;\x0a\x0a\x0aconst\x20int\x20LightNum\x20=\x20LightNumVlaue;\x0auniform\x20vec4\x20lightPositionEC[LightNum];\x0auniform\x20mat4\x20shadowMapMatrix[LightNum];\x0auniform\x20vec4\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[LightNum];\x0auniform\x20vec2\x20shadowMapDarknessType[LightNum];\x0auniform\x20float\x20mars3d_distance[LightNum];\x0a\x0a\x0aLightShadowMapsShader\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec3\x20getEyeCoordinate3FromWindowCoordinate(vec2\x20fragCoord,\x20float\x20logDepthOrDepth)\x20{\x0a\x20\x20vec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(fragCoord,\x20logDepthOrDepth);\x0a\x20\x20return\x20eyeCoordinate.xyz\x20/\x20eyeCoordinate.w;\x0a}\x0a\x0avec3\x20vectorFromOffset(vec4\x20eyeCoordinate,\x20vec2\x20positiveOffset)\x20{\x0a\x20\x20vec2\x20glFragCoordXY\x20=\x20v_textureCoordinates.xy\x20*\x20czm_viewport.zw;\x0a\x20\x20float\x20upOrRightLogDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20(glFragCoordXY\x20+\x20positiveOffset)\x20/\x20czm_viewport.zw));\x0a\x20\x20float\x20downOrLeftLogDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20(glFragCoordXY\x20-\x20positiveOffset)\x20/\x20czm_viewport.zw));\x0a\x0a\x20\x20bvec2\x20upOrRightInBounds\x20=\x20lessThan(glFragCoordXY\x20+\x20positiveOffset,\x20czm_viewport.zw);\x0a\x20\x20float\x20useUpOrRight\x20=\x20float(upOrRightLogDepth\x20>\x200.0\x20&&\x20upOrRightInBounds.x\x20&&\x20upOrRightInBounds.y);\x0a\x20\x20float\x20useDownOrLeft\x20=\x20float(useUpOrRight\x20==\x200.0);\x0a\x20\x20vec3\x20upOrRightEC\x20=\x20getEyeCoordinate3FromWindowCoordinate(glFragCoordXY\x20+\x20positiveOffset,\x20upOrRightLogDepth);\x0a\x20\x20vec3\x20downOrLeftEC\x20=\x20getEyeCoordinate3FromWindowCoordinate(glFragCoordXY\x20-\x20positiveOffset,\x20downOrLeftLogDepth);\x0a\x20\x20return\x20(upOrRightEC\x20-\x20(eyeCoordinate.xyz\x20/\x20eyeCoordinate.w))\x20*\x20useUpOrRight\x20+\x20((eyeCoordinate.xyz\x20/\x20eyeCoordinate.w)\x20-\x20downOrLeftEC)\x20*\x20useDownOrLeft;\x0a}\x0a\x0astruct\x20mars3d_shadowParameters\x0a{\x0a\x20\x20\x20\x20vec3\x20texCoordsCube;\x0a\x20\x20\x20\x20vec2\x20texCoords;\x0a\x20\x20\x20\x20float\x20depthBias;\x0a\x20\x20\x20\x20float\x20depth;\x0a\x20\x20\x20\x20float\x20nDotL;\x0a\x20\x20\x20\x20vec2\x20texelStepSize;\x0a\x20\x20\x20\x20float\x20normalShadingSmooth;\x0a\x20\x20\x20\x20float\x20darkness;\x0a};\x0a\x0afloat\x20shadowVisibilityCube(samplerCube\x20shadowMap,\x20mars3d_shadowParameters\x20shadowParameters){\x0a\x20\x20\x20\x20float\x20depthBias\x20=\x20shadowParameters.depthBias;\x0a\x20\x20\x20\x20float\x20depth\x20=\x20shadowParameters.depth;\x0a\x20\x20\x20\x20float\x20nDotL\x20=\x20shadowParameters.nDotL;\x0a\x20\x20\x20\x20float\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0a\x20\x20\x20\x20float\x20darkness\x20=\x20shadowParameters.darkness;\x0a\x20\x20\x20\x20vec3\x20uvw\x20=\x20shadowParameters.texCoordsCube;\x0a\x0a\x20\x20\x20\x20depth\x20-=\x20depthBias;\x0a\x20\x20\x20\x20return\x20czm_shadowDepthCompare(shadowMap,\x20uvw,\x20depth);\x0a}\x0afloat\x20shadowVisibility2D(sampler2D\x20shadowMap,\x20mars3d_shadowParameters\x20shadowParameters)\x0a{\x0a\x20\x20\x20\x20float\x20depthBias\x20=\x20shadowParameters.depthBias;\x0a\x20\x20\x20\x20float\x20depth\x20=\x20shadowParameters.depth;\x0a\x20\x20\x20\x20float\x20nDotL\x20=\x20shadowParameters.nDotL;\x0a\x20\x20\x20\x20float\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0a\x20\x20\x20\x20float\x20darkness\x20=\x20shadowParameters.darkness;\x0a\x20\x20\x20\x20vec2\x20uv\x20=\x20shadowParameters.texCoords;\x0a\x0a\x20\x20\x20\x20depth\x20-=\x20depthBias;\x0a\x20\x20\x20\x20return\x20czm_shadowDepthCompare(shadowMap,\x20uv,\x20depth);\x0a}\x0a\x0aint\x20getPointVisibility(vec3\x20normalEC,\x20vec3\x20positionEC,\x20int\x20i,\x20samplerCube\x20lightShadowMapCube){\x0a\x20\x20vec4\x20lightPEC\x20=\x20lightPositionEC[i];\x0a\x20\x20vec2\x20shadowMapDT\x20=\x20shadowMapDarknessType[i];\x0a\x20\x20vec3\x20pointToLightEC\x20=\x20positionEC\x20-\x20lightPEC.xyz;\x0a\x20\x20float\x20pointToLightECLength\x20=\x20length(pointToLightEC);\x0a\x20\x20vec3\x20l\x20=\x20normalize(pointToLightEC);\x0a\x20\x20float\x20NdotL\x20=\x20clamp(dot(-normalEC,\x20l),\x200.0,\x201.0);\x0a\x0a\x20\x20float\x20visibility\x20=\x200.0;\x0a\x20\x20float\x20radius\x20=\x20lightPEC.w;\x0a\x20\x20float\x20type\x20=\x20shadowMapDT.y;\x0a\x0a\x20\x20if(pointToLightECLength\x20<=\x20radius){\x0a\x20\x20\x20\x20vec4\x20shadowMapTSDBANSS\x20=\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[i];\x0a\x0a\x20\x20\x20\x20mars3d_shadowParameters\x20shadowParameters;\x0a\x20\x20\x20\x20shadowParameters.texelStepSize\x20=\x20shadowMapTSDBANSS.xy;\x0a\x20\x20\x20\x20shadowParameters.depthBias\x20=\x20shadowMapTSDBANSS.z;\x0a\x20\x20\x20\x20shadowParameters.normalShadingSmooth\x20=\x20shadowMapTSDBANSS.w;\x0a\x20\x20\x20\x20shadowParameters.darkness\x20=\x20shadowMapDT.x;\x0a\x20\x20\x20\x20shadowParameters.depth\x20=\x20pointToLightECLength\x20/\x20radius;\x0a\x20\x20\x20\x20shadowParameters.nDotL\x20=\x20NdotL;\x0a\x20\x20\x20\x20shadowParameters.texCoordsCube\x20=\x20czm_inverseViewRotation\x20*\x20l;\x0a\x20\x20\x20\x20visibility\x20=\x20shadowVisibilityCube(lightShadowMapCube,\x20shadowParameters);\x0a\x20\x20\x20\x20if(visibility\x20==\x201.0){\x0a\x20\x20\x20\x20\x20\x20return\x200;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20return\x201;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20return\x202;\x0a\x20\x20}\x0a}\x0a\x0aint\x20getFrustumVisibility(vec3\x20normalEC,\x20vec3\x20positionEC,\x20int\x20i,\x20sampler2D\x20lightShadowMap2D){\x0a\x20\x20vec4\x20lightPEC\x20=\x20lightPositionEC[i];\x0a\x20\x20vec2\x20shadowMapDT\x20=\x20shadowMapDarknessType[i];\x0a\x20\x20vec3\x20pointToLightEC\x20=\x20positionEC\x20-\x20lightPEC.xyz;\x0a\x20\x20vec3\x20l\x20=\x20normalize(pointToLightEC);\x0a\x20\x20float\x20NdotL\x20=\x20clamp(dot(-normalEC,\x20l),\x200.0,\x201.0);\x0a\x0a\x20\x20float\x20visibility\x20=\x200.0;\x0a\x20\x20float\x20type\x20=\x20shadowMapDT.y;\x0a\x0a\x20\x20vec4\x20shadowPosition\x20=\x20shadowMapMatrix[i]\x20*\x20vec4(positionEC,\x201.0);\x0a\x20\x20shadowPosition\x20/=\x20shadowPosition.w;\x0a\x20\x20if\x20(any(lessThan(shadowPosition.xyz,\x20vec3(0.0)))\x20||\x20any(greaterThan(shadowPosition.xyz,\x20vec3(1.0))))\x20{\x0a\x20\x20\x20\x20return\x202;\x0a\x20\x20}\x0a\x0a\x20\x20//坐标与视点位置距离,大于最大距离则舍弃阴影效果\x0a\x20\x20vec4\x20lw\x20=\x20czm_inverseView\x20*\x20vec4(lightPEC.xyz,\x201.0);\x0a\x20\x20vec4\x20vw\x20=\x20czm_inverseView\x20*\x20vec4(positionEC.xyz,\x201.0);\x0a\x20\x20float\x20one_distance\x20=\x20mars3d_distance[i];\x0a\x20\x20if(distance(lw.xyz,\x20vw.xyz)\x20>\x20one_distance)\x20{\x0a\x20\x20\x20\x20return\x202;\x0a\x20\x20}\x0a\x0a\x0a\x20\x20vec4\x20shadowMapTSDBANSS\x20=\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[i];\x0a\x20\x20mars3d_shadowParameters\x20shadowParameters;\x0a\x20\x20shadowParameters.texelStepSize\x20=\x20shadowMapTSDBANSS.xy;\x0a\x20\x20shadowParameters.depthBias\x20=\x20shadowMapTSDBANSS.z;\x0a\x20\x20shadowParameters.normalShadingSmooth\x20=\x20shadowMapTSDBANSS.w;\x0a\x20\x20shadowParameters.darkness\x20=\x20shadowMapDT.x;\x0a\x20\x20shadowParameters.texCoords\x20=\x20shadowPosition.xy;\x0a\x20\x20shadowParameters.depth\x20=\x20shadowPosition.z;\x0a\x20\x20shadowParameters.nDotL\x20=\x20NdotL;\x0a\x0a\x20\x20visibility\x20=\x20shadowVisibility2D(lightShadowMap2D,\x20shadowParameters);\x0a\x20\x20if(visibility\x20==\x201.0){\x0a\x20\x20\x20\x20return\x200;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20return\x201;\x0a\x20\x20}\x0a\x0a}\x0a\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20float\x20logDepthOrDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20v_textureCoordinates));\x0a\x20\x20if(logDepthOrDepth\x20>=\x201.0){\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(v_textureCoordinates.xy\x20*\x20czm_viewport.zw,\x20logDepthOrDepth);\x0a\x20\x20vec3\x20downUp\x20=\x20vectorFromOffset(eyeCoordinate,\x20vec2(0.0,\x201.0));\x0a\x20\x20vec3\x20leftRight\x20=\x20vectorFromOffset(eyeCoordinate,\x20vec2(1.0,\x200.0));\x0a\x20\x20vec3\x20normalEC\x20=\x20normalize(cross(leftRight,\x20downUp));\x0a\x20\x20vec3\x20positionEC\x20=\x20eyeCoordinate.xyz\x20/\x20eyeCoordinate.w;\x0a\x0a\x20\x20int\x20visibility\x20=\x200;\x0a\x20\x20int\x20inside\x20=\x200;\x0a\x0a\x20\x20ShadowVisibilityShader\x0a\x0a\x20\x20if(visibility\x20>\x200){\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_visibleAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}\x20else\x20if(inside\x20>\x200)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_hiddenAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}else{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20}\x0a}\x0a';const _0x28187f={};_0x28187f['radius']=0x1,_0x28187f['opacity']=0.6,_0x28187f['showFrustum']=![];const DEF_STYLE$2=_0x28187f;class PointVisibility extends BasePointPrimitive{constructor(_0x5605cb={},_0x20e532=!![]){const _0x17ae0f={_0x444cf6:0x587,_0x212f03:0x5,_0x50c2bf:0x1ec2,_0x1a2573:0x12ee,_0x17861f:0x16ff,_0x4bb219:0x5c,_0x53fd30:0x136f,_0x5ccba0:0x1267,_0x4a221a:0xddd,_0x165561:0xf0f},_0x4635c0={_0x52217d:0xeb};_0x20e532&&(_0x5605cb[_0x49c5e0(_0x17ae0f._0x444cf6,-_0x17ae0f._0x212f03)]={...DEF_STYLE$2,..._0x5605cb[_0x49c5e0(0x587,0xaaf)]||{}});super(_0x5605cb),this[_0x49c5e0(0x16e1,_0x17ae0f._0x50c2bf)]=0x1,this[_0x49c5e0(_0x17ae0f._0x1a2573,_0x17ae0f._0x17861f)]=this['options'][_0x49c5e0(0x1068,0x758)]??!![],this['_maximumDistance']=this['style']['maximumDistance']??0x1388;function _0x49c5e0(_0xe53a1b,_0x5b5464){return _0x54a7f1(_0xe53a1b-_0x4635c0._0x52217d,_0x5b5464);}function _0x386f01(_0x1af789,_0x455f49){return _0x54a7f1(_0x455f49- -0x4fb,_0x1af789);}this['visibleAreaColor']=this[_0x386f01(-_0x17ae0f._0x4bb219,-0x5f)]['visibleAreaColor']??new Cesium__namespace[(_0x49c5e0(_0x17ae0f._0x53fd30,_0x17ae0f._0x5ccba0))](0x0,0x1,0x0),this['hiddenAreaColor']=this['style'][_0x386f01(0xc6f,_0x17ae0f._0x4a221a)]??new Cesium__namespace[(_0x49c5e0(0x136f,_0x17ae0f._0x165561))](0x1,0x0,0x0);}get['czmObject'](){return this['_camera'];}get['hasOpacity'](){return![];}get['visibilitys'](){const _0x1a6726={_0x400a8a:0x1310},_0x3e2637={_0x57c6c6:0x54b};function _0x6d55d4(_0x549327,_0xdbb8c4){return _0x54a7f1(_0x549327- -0xfc,_0xdbb8c4);}function _0x595a31(_0x14f850,_0x4d5ada){return _0x7afdbe(_0x4d5ada,_0x14f850- -_0x3e2637._0x57c6c6);}var _0x1fd02;return(_0x1fd02=this[_0x595a31(_0x1a6726._0x400a8a,0x14f7)])===null||_0x1fd02===void 0x0?void 0x0:_0x1fd02[_0x595a31(-0xeb,0x950)];}get['opacity'](){var _0x5c2a80;return(_0x5c2a80=this['style'])===null||_0x5c2a80===void 0x0?void 0x0:_0x5c2a80['opacity'];}set['opacity'](_0x43af48){function _0x52ec38(_0x574b15,_0x70f9ae){return _0x54a7f1(_0x574b15-0x25d,_0x70f9ae);}this['style'][_0x52ec38(0x5b7,-0x6f)]=_0x43af48;}get['visibleAreaColor'](){return this['_visibleAreaColor'];}set[_0x54a7f1(0xf29,0x9e6)](_0x59f9da){this['_visibleAreaColor']=getCesiumColor(_0x59f9da);}get['hiddenAreaColor'](){return this['_hiddenAreaColor'];}set['hiddenAreaColor'](_0x54ce19){this['_hiddenAreaColor']=getCesiumColor(_0x54ce19);}get[_0x7afdbe(0x9da,0x54d)](){return this['_shadowMap'];}get['camera'](){function _0x359bcc(_0x1155ac,_0x240a45){return _0x7afdbe(_0x1155ac,_0x240a45- -0x1c1);}return this[_0x359bcc(0x12f5,0xba2)];}['_updatePositionsHook'](){const _0x24cb41={_0x312abc:0x28a,_0x17ffdf:0x177,_0x203fc8:0xf79,_0x25370a:0x141c,_0x6cebc8:0xeb9};function _0x3837b3(_0x49f197,_0xbc4227){return _0x54a7f1(_0x49f197- -0x42e,_0xbc4227);}let _0x391ad4=this['_position'];function _0x1c3cda(_0x551a3a,_0x582c33){return _0x54a7f1(_0x582c33- -0x2c5,_0x551a3a);}if(this['_camera']&&_0x391ad4){const _0x4e80cb=this[_0x3837b3(0x33a,_0x24cb41._0x312abc)]();Cesium__namespace['defined'](_0x4e80cb)&&(_0x391ad4=addPositionsHeight(_0x391ad4,_0x4e80cb)),this[_0x3837b3(0x707,_0x24cb41._0x17ffdf)][_0x1c3cda(_0x24cb41._0x203fc8,_0x24cb41._0x25370a)]=_0x391ad4,this['_camera']['up']=Cesium__namespace[_0x3837b3(_0x24cb41._0x6cebc8,0x687)][_0x3837b3(0xe43,0xa3b)](_0x391ad4,new Cesium__namespace['Cartesian3']());}}['_addedHook'](_0x3703b2){const _0x1a8d23={_0x18a840:0x114f,_0x10884b:0x340,_0x24514e:0x591,_0x18f9a0:0x133,_0x10787f:0x133,_0x4c7711:0x1956},_0x129052={_0x2a90d1:0x20c},_0x1fa3ad={_0x5746a9:0x32d};this['_hasTerrainShadows']&&(this[_0x4606b1(0x6d4,_0x1a8d23._0x18a840)]['viewer'][_0x572e14(0x259,0x889)]=Cesium__namespace['ShadowMode'][_0x572e14(0x4b,0x9ee)]);this['_shadowMap']=this['_createShadowMap']();this['_position']&&this[_0x4606b1(0x729,0x850)]();this[_0x4606b1(_0x1a8d23._0x10884b,-0x3e0)][_0x4606b1(_0x1a8d23._0x24514e,0xe41)](this);function _0x4606b1(_0x4d1958,_0x2d9a67){return _0x7afdbe(_0x2d9a67,_0x4d1958- -_0x1fa3ad._0x5746a9);}this[_0x4606b1(_0x1a8d23._0x18f9a0,0x99e)]['set'](this['id'],this),this[_0x4606b1(_0x1a8d23._0x10787f,0xaa0)][_0x572e14(0x2160,_0x1a8d23._0x4c7711)]=()=>{this['_updateDraw']();},this['_updateDraw']();function _0x572e14(_0x17bf65,_0x201f95){return _0x54a7f1(_0x201f95-_0x129052._0x2a90d1,_0x17bf65);}this['_updateOutlineFrustum']();}['_createShadowMap'](){const _0xc0632a={_0x49b9f1:0x3a1,_0x2329fa:0xa68,_0x56c938:0xc5e,_0x54a7fc:0xb4d,_0x16a65f:0x799,_0xe32f64:0xaa0,_0x3f4af0:0xb95,_0x476ea3:0x1381,_0x302a8f:0x8be},_0x273919={_0xbfda70:0x216};this[_0x50cf83(0xb11,0xaff)]&&(this[_0x53d41b(0x1328,0xa68)][_0x53d41b(-0x1d6,_0xc0632a._0x49b9f1)](),delete this[_0x53d41b(0xf4b,_0xc0632a._0x2329fa)]);function _0x53d41b(_0x3fccca,_0x296fa2){return _0x54a7f1(_0x296fa2- -0x91,_0x3fccca);}this['_camera']=new Cesium__namespace[(_0x50cf83(0xa1f,_0xc0632a._0x56c938))](this['_map']['scene']);const _0x384daf={};_0x384daf['lightCamera']=this[_0x50cf83(_0xc0632a._0x54a7fc,0x637)],_0x384daf['enable']=![],_0x384daf['darkness']=0x1,_0x384daf['isPointLight']=!![],_0x384daf['isSpotLight']=![],_0x384daf[_0x50cf83(_0xc0632a._0x16a65f,0x296)]=![];function _0x50cf83(_0x323ef3,_0x268d17){return _0x7afdbe(_0x268d17,_0x323ef3- -_0x273919._0xbfda70);}return _0x384daf[_0x50cf83(_0xc0632a._0xe32f64,0xc1d)]=this['_map'][_0x50cf83(0x1097,0x1539)]['context'],_0x384daf['pointLightRadius']=this['style']['radius'],_0x384daf['fromLightSource']=![],_0x384daf[_0x50cf83(0x967,0x616)]=this[_0x53d41b(_0xc0632a._0x3f4af0,0x81f)][_0x53d41b(_0xc0632a._0x476ea3,_0xc0632a._0x302a8f)]??0xa,new Cesium__namespace['ShadowMap'](_0x384daf);}['_removedHook'](){const _0x49c7a2={_0x2e3dc9:0x89a,_0x41fa4b:0x8e6,_0xd3097c:0x160a,_0x2b3fd3:0x41c,_0x2056ed:0x5e2,_0x34cc3b:0x894},_0x5af7cd={_0x3f1308:0x23};function _0x2c40d8(_0x21d3f8,_0x3bc587){return _0x54a7f1(_0x21d3f8- -_0x5af7cd._0x3f1308,_0x3bc587);}this['_hasTerrainShadows']&&(this['_map'][_0x713d96(0x590,-0x503)]=Cesium__namespace['ShadowMode']['DISABLED']);this[_0x713d96(0xa0c,_0x49c7a2._0x2e3dc9)]&&(this['_shadowMap']['destroy'](),delete this[_0x2c40d8(0xad6,_0x49c7a2._0x41fa4b)]);this['_outlineFrustumGraphic']&&(this[_0x2c40d8(_0x49c7a2._0xd3097c,0x19b7)]['removeGraphic'](this['_outlineFrustumGraphic'],!![]),delete this['_outlineFrustumGraphic']);this['_outlineFrustum']&&(this['_layer']['primitiveCollection'][_0x713d96(0x6a1,0x4cf)](this['_outlineFrustum']),delete this['_outlineFrustum']);function _0x713d96(_0x589d85,_0x173ffd){return _0x54a7f1(_0x589d85- -0xed,_0x173ffd);}this[_0x2c40d8(_0x49c7a2._0x2b3fd3,_0x49c7a2._0x2056ed)]&&this['primitiveCollection']['contains'](this)&&(this['_noDestroy']=!![],this['primitiveCollection']['remove'](this),this['_noDestroy']=![]),this['visibilitys']['remove'](this['id']),this[_0x713d96(0x3a8,_0x49c7a2._0x34cc3b)]();}['update'](_0x81a4b4){const _0x4fdc30={_0xc8713f:0x871,_0x53a056:0x12dc},_0xe7f562={_0x1cb844:0x3f};if(this[_0x2cbd0b(_0x4fdc30._0xc8713f,0x1265)]&&!this['getAvailabilityShow'](_0x81a4b4['time']))return;function _0x10d34f(_0x22d03e,_0x438e62){return _0x54a7f1(_0x438e62-_0xe7f562._0x1cb844,_0x22d03e);}function _0x2cbd0b(_0x2347ec,_0x4e5b4c){return _0x7afdbe(_0x2347ec,_0x4e5b4c- -0x15e);}this['_shadowMap']&&_0x81a4b4[_0x2cbd0b(_0x4fdc30._0x53a056,0x104f)]['push'](this['_shadowMap']);}['_updateStyleHook'](_0x3c217d,_0x222beb){const _0x3e8fcb={_0x284ad0:0xc9a,_0x4c702e:0x1072,_0xffc65b:0x74a,_0x4b68a7:0x13e1,_0xbd5293:0x8ba,_0x497472:0x74,_0x1e6b12:0x1a2e,_0x108eca:0x141b,_0x213b43:0xd59,_0x44cc2a:0x15a3,_0x4527cf:0x9cf,_0x1dc9a2:0x14f3,_0x27d352:0x171,_0x5a1d41:0x69a},_0x23f2b3={_0x1ca4b3:0x494};function _0x5c627f(_0x4bb15e,_0x5ba921){return _0x54a7f1(_0x5ba921- -0x18e,_0x4bb15e);}Cesium__namespace['defined'](_0x222beb['showFrustum'])&&this[_0x575579(0x1aa,0x79e)]();(Cesium__namespace['defined'](_0x222beb['angle'])||Cesium__namespace['defined'](_0x222beb[_0x5c627f(_0x3e8fcb._0x284ad0,0xb63)]))&&this[_0x575579(0x22f,-0x8b)]();Cesium__namespace['defined'](_0x222beb[_0x575579(_0x3e8fcb._0x4c702e,_0x3e8fcb._0xffc65b)])&&(this[_0x575579(0x1072,_0x3e8fcb._0x4b68a7)]=_0x222beb[_0x5c627f(0x14c7,0x114a)]);Cesium__namespace['defined'](_0x222beb['visibleAreaColor'])&&(this['visibleAreaColor']=_0x222beb['visibleAreaColor']);(Cesium__namespace['defined'](_0x222beb[_0x575579(_0x3e8fcb._0xbd5293,-_0x3e8fcb._0x497472)])||Cesium__namespace[_0x575579(0x141b,_0x3e8fcb._0x1e6b12)](_0x222beb['heading'])||Cesium__namespace[_0x575579(_0x3e8fcb._0x108eca,_0x3e8fcb._0x213b43)](_0x222beb[_0x575579(0x142c,0x1ada)])||Cesium__namespace['defined'](_0x222beb[_0x5c627f(0x153f,_0x3e8fcb._0x44cc2a)]))&&this[_0x575579(0x5c2,_0x3e8fcb._0x4527cf)]();function _0x575579(_0x52c14a,_0x2dcfcb){return _0x7afdbe(_0x2dcfcb,_0x52c14a- -_0x23f2b3._0x1ca4b3);}Cesium__namespace[_0x5c627f(0x1189,_0x3e8fcb._0x1dc9a2)](_0x222beb[_0x575579(_0x3e8fcb._0x27d352,0x146)])&&this['_shadowMap']&&(this['_shadowMap']=this['_createShadowMap'](),this[_0x575579(0xb26,0xa84)]&&this[_0x5c627f(0x90d,_0x3e8fcb._0x5a1d41)](),this[_0x575579(0x1aa,-0x36)]());}[_0x54a7f1(0x7c9,-0x242)](){const _0x345015={_0x2fedae:0x204};function _0x5da99f(_0x4beb64,_0xaf10b2){return _0x7afdbe(_0xaf10b2,_0x4beb64- -0x25c);}if(!this['_map'])return;clearAllVisibility(this['_map'],this[_0x5da99f(_0x345015._0x2fedae,0xab3)]);}['_updateDraw'](){const _0x5461dc={_0x5a31e7:0x4dc};function _0x1b2409(_0x377cef,_0x5c2e65){return _0x54a7f1(_0x5c2e65-0x24a,_0x377cef);}function _0x206e31(_0xf1ecd4,_0x32f145){return _0x54a7f1(_0x32f145- -0x2f7,_0xf1ecd4);}if(!this[_0x206e31(0xcd2,_0x5461dc._0x5a31e7)])return;const _0x5e254e=this['visibilitys'];clearAllVisibility(this[_0x1b2409(0xea0,0xa1d)],_0x5e254e),_0x5e254e[_0x206e31(0x11d9,0x12fc)]&&_0x5e254e['length']>0x0&&drawAllVisibility(this[_0x1b2409(0x6b6,0xa1d)],_0x5e254e);}[_0x7afdbe(0xb24,0x63e)](){const _0x1acb8a={_0x13d2e8:0x52,_0x58ccc3:0x944,_0x4edc96:0x670,_0x3ee01f:0x91,_0x17190b:0x645,_0x4b53fe:0x1250,_0x16bd83:0xba7,_0x3a3c81:0x647,_0x122abb:0x763,_0x55c67b:0x16af,_0x22f6eb:0x1f32,_0x1bce76:0xafd,_0x4af54d:0xe10,_0x3b58d8:0x189d,_0xd041c0:0x1ff,_0x595762:0x526},_0x4cffbe={_0x1e2fd9:0x491},_0x4393ff={_0x6e468d:0x270};this['_outlineFrustum']&&(this[_0x10f117(0x119c,0x82f)][_0x10f117(-_0x1acb8a._0x13d2e8,_0x1acb8a._0x58ccc3)]['remove'](this[_0x2b53e5(_0x1acb8a._0x4edc96,0xd2d)]),delete this[_0x10f117(-_0x1acb8a._0x3ee01f,-0xdd)]);if(!this['position']||!this[_0x2b53e5(0x70c,0xc78)]['showFrustum'])return;function _0x2b53e5(_0x5dbf50,_0x2cdf84){return _0x54a7f1(_0x5dbf50-_0x4393ff._0x6e468d,_0x2cdf84);}function _0x10f117(_0x8003ab,_0x33ebbd){return _0x54a7f1(_0x8003ab- -_0x4cffbe._0x1e2fd9,_0x33ebbd);}const _0x51ef24=Cesium__namespace[_0x10f117(0x2dc,_0x1acb8a._0x17190b)]['eastNorthUpToFixedFrame'](this[_0x10f117(_0x1acb8a._0x4b53fe,_0x1acb8a._0x16bd83)]),_0x4fded5={};_0x4fded5[_0x2b53e5(_0x1acb8a._0x3a3c81,0x1f9)]=this['style']['radius'];const _0x34119f=new Cesium__namespace[(_0x2b53e5(0x1148,_0x1acb8a._0x122abb))]({'geometry':new Cesium__namespace['SphereOutlineGeometry'](_0x4fded5),'modelMatrix':_0x51ef24,'attributes':{'color':Cesium__namespace['ColorGeometryInstanceAttribute'][_0x2b53e5(_0x1acb8a._0x55c67b,_0x1acb8a._0x22f6eb)](Cesium__namespace['Color'][_0x2b53e5(_0x1acb8a._0x1bce76,0xa7a)])}}),_0x29d19c={};_0x29d19c['lineWidth']=0x1;const _0x5a1e7a={};_0x5a1e7a[_0x2b53e5(_0x1acb8a._0x4af54d,0xa7e)]=!![],_0x5a1e7a['renderState']=_0x29d19c,this['_outlineFrustum']=this[_0x2b53e5(_0x1acb8a._0x3b58d8,0x2005)]['primitiveCollection'][_0x10f117(_0x1acb8a._0xd041c0,_0x1acb8a._0x595762)](new Cesium__namespace['Primitive']({'geometryInstances':_0x34119f,'asynchronous':![],'appearance':new Cesium__namespace[(_0x2b53e5(0xbb0,0x603))](_0x5a1e7a)}));}[_0x7afdbe(0x1d99,0x155c)](_0x5d5efa){const _0x524e53={_0x5d8694:0xd73,_0x74c0df:0xe3b,_0x384370:0xe8d,_0x2b1c6f:0x3f3,_0x4bd4a7:0xcd9},_0x15330f={_0x224144:0x274};if(this['_enabledDraw'])return this;this[_0x52346c(0x6e8,_0x524e53._0x5d8694)]=!![];_0x5d5efa&&this[_0x52346c(0xb69,_0x524e53._0x74c0df)](_0x5d5efa);if(!this['_map'])throw new Error(_0x52346c(_0x524e53._0x384370,_0x524e53._0x2b1c6f));this['_map']['_setEditCursor'](!![]);function _0x3ac42d(_0xba78ae,_0x5a74ac){return _0x54a7f1(_0xba78ae- -_0x15330f._0x224144,_0x5a74ac);}function _0x52346c(_0x223b1c,_0x5459e2){return _0x7afdbe(_0x223b1c,_0x5459e2- -0x40d);}this[_0x3ac42d(0x85,0x1c7)](![]),this[_0x52346c(0x479,0x9f)](),this[_0x52346c(0xe3f,_0x524e53._0x4bd4a7)](EventType[_0x52346c(0x85d,0x22d)],{'drawType':this['type'],'graphic':this},!![]);}['stopDraw'](){const _0x374e47={_0x28e409:0x1031,_0x4bbf61:0x5fc,_0x3cc0ba:0xc1a,_0x299db4:0x12ff,_0x2337c3:0x1b31,_0x44ebc4:0x4c4},_0x201257={_0x36c95b:0xdf},_0x20d30f={_0x1ddc89:0x4cc};var _0x4b95f0,_0x3b30f8;if(!this[_0x14e8c0(_0x374e47._0x28e409,0x16a8)])return this;function _0x49090d(_0xbc0994,_0x18f51c){return _0x7afdbe(_0x18f51c,_0xbc0994- -_0x20d30f._0x1ddc89);}this['_stopDrawHook'](),this[_0x49090d(0x535,-0x1dc)]['_setEditCursor'](![]),this[_0x49090d(0x5b,-_0x374e47._0x4bbf61)](!![]),this['_map'][_0x14e8c0(0xe74,0x485)](),this['_enabledDraw']=![];if(!this['position']||!this['style']['radius']){this['remove'](!![]);return;}this[_0x49090d(_0x374e47._0x3cc0ba,0x157a)](EventType[_0x49090d(_0x374e47._0x299db4,_0x374e47._0x2337c3)],{'drawType':this[_0x49090d(0x598,0x63d)],'graphic':this},!![]);function _0x14e8c0(_0x3724a5,_0x394226){return _0x54a7f1(_0x3724a5-_0x201257._0x36c95b,_0x394226);}(_0x4b95f0=this['options'])!==null&&_0x4b95f0!==void 0x0&&_0x4b95f0['success']&&this[_0x14e8c0(0x98f,_0x374e47._0x44ebc4)]['success'](this),(_0x3b30f8=this['options'])!==null&&_0x3b30f8!==void 0x0&&(_0x3b30f8=_0x3b30f8['_promise'])!==null&&_0x3b30f8!==void 0x0&&_0x3b30f8[_0x14e8c0(0xe81,0xb76)]&&this['options']['_promise']['resolve'](this);}[_0x7afdbe(0x2c1,0x4ac)](){const _0x1f3a4f={_0x4cb459:0x312},_0x4cb0ab={_0x378d48:0x45d};this[_0x332109(0x8a6,0x6ef)]['on'](EventType[_0x1f69aa(0xcdb,0x656)],this['_onClickHandler'],this);function _0x1f69aa(_0x98fd61,_0x224214){return _0x7afdbe(_0x224214,_0x98fd61- -_0x4cb0ab._0x378d48);}function _0x332109(_0x26d3e2,_0x386913){return _0x7afdbe(_0x26d3e2,_0x386913- -_0x1f3a4f._0x4cb459);}this['_map']['on'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);}[_0x54a7f1(0xa6a,0x52b)](){const _0x5ac5eb={_0x5ced00:0xaeb,_0x3757ed:0x57e},_0x2d2ad5={_0x38d934:0x6a9};function _0x1f35f7(_0x4d3167,_0x14ccec){return _0x7afdbe(_0x14ccec,_0x4d3167- -0x1b1);}function _0x4a71d1(_0x562aa9,_0x34d6f8){return _0x7afdbe(_0x562aa9,_0x34d6f8- -_0x2d2ad5._0x38d934);}this['_map']['off'](EventType[_0x1f35f7(0xf87,0x1876)],this['_onClickHandler'],this),this[_0x1f35f7(0x850,_0x5ac5eb._0x5ced00)]['off'](EventType[_0x1f35f7(0xbf2,0x1141)],this[_0x4a71d1(0x83d,_0x5ac5eb._0x3757ed)],this);}[_0x54a7f1(0xe1b,0x1898)](_0x2c2a16){const _0x33a0d4={_0x1bf95f:0xf55,_0x518679:0x22a},_0x4b47fc={_0x14d72d:0x2ee},_0x1aab28=_0x2c2a16['cartesian'];if(!_0x1aab28)return;_0x2c2a16={..._0x2c2a16,'drawType':this[_0x14a974(0xc14,0x548)],'graphic':this},this[_0x14a974(_0x33a0d4._0x1bf95f,0xbca)](EventType['drawAddPoint'],_0x2c2a16,!![]);function _0x14a974(_0x1e9ddf,_0x32bba7){return _0x54a7f1(_0x32bba7- -_0x4b47fc._0x14d72d,_0x1e9ddf);}if(!this['position']){this['position']=_0x1aab28;return;}this[_0x14a974(-0x52f,_0x33a0d4._0x518679)](_0x1aab28);function _0x3c795e(_0x1ed456,_0xafa51b){return _0x7afdbe(_0xafa51b,_0x1ed456- -0x640);}this['stopDraw'](),this[_0x3c795e(0xaa6,0x1315)](EventType['drawCreated'],_0x2c2a16);}[_0x7afdbe(0xfb3,0xc27)](_0x5cd701){const _0x17a278={_0x4b64b4:0xb0d,_0x30f960:0x72e,_0x59085d:0x6d5,_0x2b8ae4:0x5bd,_0x622db9:0x12ee,_0x24391c:0x165a},_0x522ecb={_0x432df8:0xfe},_0x3f49c9={_0xfc6278:0x384};function _0x13b0b3(_0x25519e,_0x4676c9){return _0x7afdbe(_0x4676c9,_0x25519e- -_0x3f49c9._0xfc6278);}function _0x449fc5(_0x2294fd,_0x1bc69b){return _0x54a7f1(_0x1bc69b- -_0x522ecb._0x432df8,_0x2294fd);}const _0x23b3b7=_0x5cd701['cartesian'];if(!_0x23b3b7)return;const _0x5df18d=this['position'];_0x5df18d?(this['_updateMouseDraw'](_0x23b3b7),this[_0x13b0b3(0xd62,0xcbb)](EventType[_0x13b0b3(0x9f6,_0x17a278._0x4b64b4)],{..._0x5cd701,'drawType':this['type'],'graphic':this},!![]),this[_0x449fc5(_0x17a278._0x30f960,_0x17a278._0x59085d)]['openSmallTooltip'](_0x5cd701[_0x449fc5(-_0x17a278._0x2b8ae4,0x24d)],this[_0x13b0b3(0x67d,0x7e5)][_0x13b0b3(0xecc,0xa87)](_0x449fc5(_0x17a278._0x622db9,_0x17a278._0x24391c)))):this['_map'][_0x449fc5(0x16c1,0x1683)](_0x5cd701[_0x449fc5(-0x232,0x24d)],this['_map']['getLangText']('_单击开始绘制'));}[_0x7afdbe(-0x316,0x746)](_0x2e3518){const _0x7cbdf7={_0x430833:0xe7f,_0x4d68b5:0xd34},_0x331ae6={_0xfc8cb0:0xd};this['style']['radius']=Cesium__namespace['Cartesian3'][_0x176f5f(0x13be,_0x7cbdf7._0x430833)](this['position'],_0x2e3518);function _0x176f5f(_0x347e62,_0x2749af){return _0x7afdbe(_0x2749af,_0x347e62- -0x101);}this[_0x11301f(0x148a,_0x7cbdf7._0x4d68b5)]=this['_createShadowMap']();function _0x11301f(_0x203f61,_0x514e5e){return _0x7afdbe(_0x203f61,_0x514e5e-_0x331ae6._0xfc8cb0);}this['_position']&&this['_updatePositionsHook']();}}register$5('pointVisibility',PointVisibility,!![]);function drawAllVisibility(_0x59a876,_0x47c7de){const _0x5cdca4={_0x54cba7:0x11a},_0xd4a919={_0xd974a8:0x49b};function _0x5508dc(_0x23b5de,_0x52db84){return _0x7afdbe(_0x52db84,_0x23b5de- -_0xd4a919._0xd974a8);}const _0xd16fa8=[],_0x49d07c=_0x47c7de['splitArr'](0xe);function _0x5d2053(_0x1b80d5,_0x42693f){return _0x54a7f1(_0x42693f- -0x48c,_0x1b80d5);}for(let _0x471568=0x0,_0xcc71be=_0x49d07c[_0x5d2053(0x6fb,0xaf9)];_0x471568<_0xcc71be;_0x471568++){const _0x4a8087=getPostProcessStage(_0x49d07c[_0x471568]);_0x4a8087&&(_0x59a876['scene']['postProcessStages']['add'](_0x4a8087),_0xd16fa8[_0x5d2053(0x9a2,0xa7c)](_0x4a8087));}_0x47c7de[_0x5508dc(_0x5cdca4._0x54cba7,-0x829)]=_0xd16fa8;}function clearAllVisibility(_0x2c125d,_0x3b16a8){const _0x15fa57={_0x15458a:0x149,_0x513341:0x12ef},_0x13e5bf={_0x25c58b:0x175},_0x4ceb90=_0x3b16a8[_0x173e3d(_0x15fa57._0x15458a,0x940)];function _0x173e3d(_0x3506ea,_0x41feb3){return _0x54a7f1(_0x3506ea- -0x23e,_0x41feb3);}function _0x1b3228(_0x514656,_0x4bb99f){return _0x7afdbe(_0x4bb99f,_0x514656- -_0x13e5bf._0x25c58b);}if(_0x4ceb90){for(let _0x295b1b=0x0,_0x221b53=_0x4ceb90['length'];_0x295b1b<_0x221b53;_0x295b1b++){_0x2c125d[_0x173e3d(0xe41,0x597)]['postProcessStages'][_0x1b3228(0x847,_0x15fa57._0x513341)](_0x4ceb90[_0x295b1b]);}delete _0x3b16a8['_postProcessStages'];}}function getPostProcessStage(_0x14ca9e){const _0x1ef31b={_0x2698b4:0x91d,_0x4ba82d:0x982,_0x4d9721:0x22,_0x5dd0c8:0x1689,_0x1da324:0x116d,_0x21a6dd:0x8c},_0x51c86c={_0x15e6ce:0x19d9},_0x281934={_0x10937b:0xe1c},_0x439a14={_0x4f4622:0x779,_0x305e4f:0x32},_0x2f612d={_0x13f3e3:0x4f4},_0x5c9866={_0x2b9b09:0x502},_0x36207f={_0x529b4b:0x3c0};if(_0x14ca9e[_0x4b4641(_0x1ef31b._0x2698b4,0xbc5)]===0x0)return;function _0x4b4641(_0x3d615a,_0x534835){return _0x54a7f1(_0x534835- -_0x36207f._0x529b4b,_0x3d615a);}let _0x2a2b25,_0x354c1d;function _0x10a7fa(_0x456da2,_0x351e3b){return _0x54a7f1(_0x351e3b- -_0x5c9866._0x2b9b09,_0x456da2);}let _0x11493a,_0x2570db,_0x83680a,_0x4d5a01;function _0x2f89c4(){const _0xb8984d={_0x3306f4:0xcd,_0x39b47c:0x2bd,_0x1538cc:0x6b7},_0x4a76d7={_0x12bb13:0x520};_0x2a2b25=[],_0x354c1d=[],_0x11493a=[],_0x2570db=[];function _0x6c324e(_0x105dde,_0x314b7d){return _0x4b4641(_0x314b7d,_0x105dde-_0x2f612d._0x13f3e3);}_0x83680a=[],_0x4d5a01=[],_0x14ca9e[_0x6c324e(_0x439a14._0x4f4622,_0x439a14._0x305e4f)](function(_0x13269d){const _0x4844f3=_0x13269d[_0x4d5131(-0x8ed,-_0xb8984d._0x3306f4)];if(!_0x4844f3||_0x13269d['show']===![])return;_0x4d5a01[_0x4d5131(0x55e,0xb1c)](_0x13269d),_0x2a2b25['push'](_0x4844f3[_0x48d0c5(0x882,0x115)]);function _0x48d0c5(_0x177e6a,_0x352287){return _0x6c324e(_0x352287- -0x5d7,_0x177e6a);}_0x354c1d['push'](_0x4844f3[_0x48d0c5(0x128b,0xdd7)]);const _0x1eaf79=_0x4844f3['_isPointVisibility']?_0x4844f3['_pointBias']:_0x4844f3['_primitiveBias'];function _0x4d5131(_0x5a8ba7,_0x1cedca){return _0x6c324e(_0x1cedca- -_0x4a76d7._0x12bb13,_0x5a8ba7);}_0x11493a[_0x4d5131(0xfae,0xb1c)](Cesium__namespace['Cartesian4']['fromElements'](0x1/_0x4844f3[_0x48d0c5(0xbd1,_0xb8984d._0x39b47c)]['x'],0x1/_0x4844f3[_0x4d5131(-0x4c6,0x374)]['y'],_0x1eaf79[_0x4d5131(0xd75,_0xb8984d._0x1538cc)],_0x1eaf79['normalShadingSmooth'])),_0x2570db['push'](new Cesium__namespace['Cartesian2'](_0x4844f3['_darkness'],_0x13269d['_visibility_type'])),_0x83680a['push'](_0x13269d['style']['radius']);});}_0x2f89c4();if(_0x4d5a01['length']===0x0)return;const _0x1100e8=_0x4d5a01[0x0],_0x4aaba6={'lightPositionEC':()=>{return _0x2f89c4(),_0x2a2b25;},'shadowMapMatrix':()=>{return _0x354c1d;},'shadowMapTexelSizeDepthBiasAndNormalShadingSmooth':()=>{return _0x11493a;},'shadowMapDarknessType':()=>{return _0x2570db;},'mars3d_distance':()=>{return _0x83680a;},'mars3d_opacity':()=>{return _0x1100e8['opacity'];},'mars3d_visibleAreaColor':()=>{function _0x1e94ac(_0x3d38ad,_0x210e65){return _0x4b4641(_0x3d38ad,_0x210e65-0x2b3);}return _0x1100e8[_0x1e94ac(0x10d4,_0x281934._0x10937b)];},'mars3d_hiddenAreaColor':()=>{function _0x4bf01b(_0x26ab57,_0x24968d){return _0x4b4641(_0x24968d,_0x26ab57-0x328);}return _0x1100e8[_0x4bf01b(0x1240,_0x51c86c._0x15e6ce)];}},{uniformShader:_0x1ad3af,shadowVisibilityShader:_0x29b641}=getVisibilityShadowMaps(_0x4d5a01,_0x4aaba6);let _0x33690e=MultipleVisibilityShader['replace'](_0x4b4641(-_0x1ef31b._0x4ba82d,_0x1ef31b._0x4d9721),_0x4d5a01['length']);_0x33690e=_0x33690e[_0x4b4641(0x98d,0x16c)](_0x10a7fa(_0x1ef31b._0x5dd0c8,_0x1ef31b._0x1da324),_0x1ad3af),_0x33690e=_0x33690e['replace']('ShadowVisibilityShader',_0x29b641);const _0x1f8bd3=new Cesium__namespace[(_0x4b4641(0x14e0,0x13cb))]({'sampleMode':Cesium__namespace[_0x4b4641(0x4aa,_0x1ef31b._0x21a6dd)]['NEAREST'],'fragmentShader':_0x33690e,'uniforms':_0x4aaba6});return _0x1f8bd3;}function getVisibilityShadowMaps(_0x190894,_0xf26794){const _0x49dbae={_0x53665d:0xe08,_0x177df7:0x12f8,_0x1abc86:0x612,_0x4309a3:0x3a3,_0x472045:0xf9},_0x2aaa64={_0x311328:0x1c8};let _0x536110='',_0x5b28fe='';_0x190894['forEach']((_0x36d178,_0x1e2b02)=>{const _0x2d1fc7={_0x1909ad:0xd6d},_0x7efcc1={_0x499fd2:0x271},_0x28b944={_0x168e8f:0x14f};function _0x397a92(_0x2c40a6,_0x4359a6){return _0x536c(_0x2c40a6-0x1e6,_0x4359a6);}function _0xa16884(_0x4edb1d,_0x11566f){return _0x536c(_0x4edb1d-_0x2aaa64._0x311328,_0x11566f);}switch(_0x36d178['_visibility_type']){case 0x1:_0x536110+='uniform\x20samplerCube\x20lightShadowMapCube'+_0x1e2b02+';\x0a',_0x5b28fe+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20int\x20pointLightVisibility'+_0x1e2b02+'\x20=\x20getPointVisibility(normalEC,\x20positionEC,\x20'+_0x1e2b02+',\x20lightShadowMapCube'+_0x1e2b02+_0x397a92(_0x49dbae._0x53665d,0x977)+_0x1e2b02+_0x397a92(0x16fc,0x1ed0)+_0x1e2b02+'\x20==\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20visibility\x20+=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0xf26794[_0xa16884(_0x49dbae._0x177df7,0x10fe)+_0x1e2b02]=()=>{function _0x5b33ec(_0x99b75f,_0x282b24){return _0xa16884(_0x99b75f- -_0x28b944._0x168e8f,_0x282b24);}return _0x36d178[_0x5b33ec(_0x7efcc1._0x499fd2,-0x5cc)]['_shadowMapTexture'];};break;case 0x2:_0x536110+=_0x397a92(0xb58,_0x49dbae._0x1abc86)+_0x1e2b02+';\x0a',_0x5b28fe+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20int\x20frustumVisibility'+_0x1e2b02+'\x20=\x20getFrustumVisibility(normalEC,\x20positionEC,\x20'+_0x1e2b02+',\x20lightShadowMap2D'+_0x1e2b02+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(frustumVisibility'+_0x1e2b02+_0x397a92(_0x49dbae._0x4309a3,-_0x49dbae._0x472045)+_0x1e2b02+'\x20==\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20visibility\x20+=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0xf26794['lightShadowMap2D'+_0x1e2b02]=()=>{const _0x5e2c6b={_0x2685ab:0x4bf};function _0x1a97c8(_0x8e2d7,_0x5ec1d6){return _0xa16884(_0x5ec1d6- -_0x5e2c6b._0x2685ab,_0x8e2d7);}return _0x36d178['shadowMap'][_0x1a97c8(0x5fb,_0x2d1fc7._0x1909ad)];};break;}});const _0x41e177={};return _0x41e177['uniformShader']=_0x536110,_0x41e177['shadowVisibilityShader']=_0x5b28fe,_0x41e177;}const _0xca8f29={};_0xca8f29['angle']=0x3c,_0xca8f29[_0x7afdbe(0x1017,0xf1f)]=0x2d,_0xca8f29[_0x7afdbe(0xa9d,0x605)]=0x1,_0xca8f29[_0x7afdbe(0x9e1,0x588)]=0.6,_0xca8f29['showFrustum']=![];const DEF_STYLE$1=_0xca8f29;class ConeVisibility extends PointVisibility{constructor(_0x548d06={},_0x2f35d5=!![]){const _0x513fc4={_0x9a800e:0x4b8,_0x568cb8:0xa7};_0x2f35d5&&(_0x548d06[_0x46d808(_0x513fc4._0x9a800e,_0x513fc4._0x568cb8)]={...DEF_STYLE$1,..._0x548d06['style']||{}});function _0x46d808(_0x405e4a,_0x21b118){return _0x54a7f1(_0x21b118- -0x3f5,_0x405e4a);}super(_0x548d06),this['_visibility_type']=0x2;}get['angle'](){const _0x2c2c93={_0x28f37b:0x18f,_0x1b5b82:0x8a0},_0x34f4f0={_0x543bf0:0x30d};function _0x247298(_0xc33616,_0x11da44){return _0x54a7f1(_0xc33616- -_0x34f4f0._0x543bf0,_0x11da44);}return this[_0x247298(_0x2c2c93._0x28f37b,-_0x2c2c93._0x1b5b82)]['angle'];}set[_0x7afdbe(0x1a79,0x16d0)](_0x5b057f){this['style']['angle']=_0x5b057f,this['_updateDraw']();}get['angle2'](){const _0x31c9ac={_0x41c7a2:0x5b7},_0x2cefd0={_0x48f416:0x3d8};function _0x4ea69a(_0x481564,_0x2246c8){return _0x7afdbe(_0x481564,_0x2246c8- -0x133);}function _0x429004(_0x19ca01,_0x175bae){return _0x7afdbe(_0x175bae,_0x19ca01- -_0x2cefd0._0x48f416);}return this[_0x4ea69a(0x79,0x597)][_0x429004(0xb47,_0x31c9ac._0x41c7a2)]??this['style']['angle'];}set['angle2'](_0x4cabbd){const _0x3fc027={_0x30324c:0x338,_0x3b0e1b:0x9},_0x483359={_0x356440:0x493};this[_0x52f9e7(-_0x3fc027._0x30324c,_0x3fc027._0x3b0e1b)][_0x5731dd(0x11b4,0xc1b)]=_0x4cabbd;function _0x5731dd(_0x4da5e3,_0x4d455c){return _0x54a7f1(_0x4d455c- -0xd6,_0x4da5e3);}function _0x52f9e7(_0x34e56c,_0x2f9e9e){return _0x54a7f1(_0x2f9e9e- -_0x483359._0x356440,_0x34e56c);}this['_updateDraw']();}get[_0x54a7f1(0x131c,0x12e9)](){return this['options']['targetPosition'];}set[_0x7afdbe(0x1f81,0x154a)](_0x27504d){const _0x2f9721={_0x25ec25:0xf7d,_0x105466:0xa30,_0xa98230:0x11bf,_0x4508b4:0x44a,_0x2347a9:0x1640,_0x13b7dd:0x1b46,_0x1b2806:0xde9};var _0x54e9d9;this[_0x4021c5(0x511,-0x594)][_0x4021c5(_0x2f9721._0x25ec25,_0x2f9721._0x105466)]=_0x27504d;if(!this['_map'])return;const _0x5cc267=this['position'];if(!_0x5cc267)return;const _0x5021f4=LngLatPoint['toCartesian'](_0x27504d,(_0x54e9d9=this[_0x30ea41(0x781,0x8f5)])===null||_0x54e9d9===void 0x0?void 0x0:_0x54e9d9['currentTime']);function _0x30ea41(_0x500dea,_0x3036c9){return _0x7afdbe(_0x3036c9,_0x500dea- -0x280);}this['style']['radius']=Cesium__namespace['Cartesian3']['distance'](_0x5cc267,_0x5021f4);const _0x32b66b=Cesium__namespace[_0x4021c5(0xf48,_0x2f9721._0xa98230)]['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0x5021f4,_0x5cc267,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x293715=Cesium__namespace['Cartesian3']['normalize'](_0x5cc267,new Cesium__namespace['Cartesian3']()),_0x393554=new Cesium__namespace['Camera'](this['_map']['scene']);_0x393554['position']=_0x5cc267,_0x393554[_0x30ea41(0xbd4,0x5c6)]=_0x32b66b,_0x393554['up']=_0x293715,this['style'][_0x30ea41(0x2bb,0x1dd)]=Cesium__namespace['Math']['toDegrees'](_0x393554['heading'])-0x5a;function _0x4021c5(_0x1e76f6,_0x168413){return _0x54a7f1(_0x1e76f6- -0x39f,_0x168413);}this[_0x30ea41(_0x2f9721._0x4508b4,-0x5ae)]['pitch']=Cesium__namespace[_0x4021c5(0xf0d,0xfe1)][_0x30ea41(0xeef,0x11d8)](_0x393554[_0x30ea41(_0x2f9721._0x2347a9,_0x2f9721._0x13b7dd)]),this['_shadowMap']=this[_0x4021c5(0x1118,_0x2f9721._0x1b2806)](),this['_position']&&this['_updatePositionsHook'](),this['_updateDraw']();}[_0x54a7f1(0x28b,-0x100)](){const _0x39e3f={_0x5c802c:0x952,_0x1c49d2:0xf};function _0x50dc24(_0x2a96aa,_0x5865a3){return _0x7afdbe(_0x2a96aa,_0x5865a3- -0x62d);}function _0x367f07(_0x2d356f,_0x3c0a5a){return _0x54a7f1(_0x2d356f-0xa2,_0x3c0a5a);}this[_0x367f07(_0x39e3f._0x5c802c,_0x39e3f._0x1c49d2)]['targetPosition']&&(this['targetPosition']=this[_0x50dc24(0xb50,0x4b1)]['targetPosition']),super['_mountedHook']();}['_updatePositionsHook'](){const _0x5d5a71={_0x18a5d2:0xd2,_0x24ad3a:0xb9c,_0x3ce182:0xf4f,_0x5ee00f:0xd79,_0x2c4a83:0x15ae,_0x3eba1c:0x11e9},_0x4b91c6={_0x56bed1:0x224};function _0x249bd3(_0x4fcf9e,_0x177fc1){return _0x7afdbe(_0x177fc1,_0x4fcf9e- -_0x4b91c6._0x56bed1);}let _0x232483=this['_position'];function _0xd31aea(_0x260940,_0x56e96d){return _0x7afdbe(_0x56e96d,_0x260940- -0x6d7);}if(this['_camera']&&_0x232483){const _0x1f11c1=this['getAddHeight']();Cesium__namespace['defined'](_0x1f11c1)&&(_0x232483=addPositionsHeight(_0x232483,_0x1f11c1));this[_0xd31aea(0x68c,0xa0b)]['position']=_0x232483,this['_camera'][_0xd31aea(0xb9c,_0x5d5a71._0x18a5d2)]['fov']=Cesium__namespace[_0x249bd3(0x12b6,0x1d11)][_0xd31aea(0x1079,0x62c)](this['angle']*0x2),this[_0x249bd3(0xb3f,0xc3b)][_0xd31aea(_0x5d5a71._0x24ad3a,_0x5d5a71._0x3ce182)][_0xd31aea(0x39c,0x1c9)]=this[_0x249bd3(0x14ac,_0x5d5a71._0x5ee00f)]/this['angle2'],this[_0x249bd3(0xb3f,0xec0)][_0xd31aea(0xb9c,_0x5d5a71._0x2c4a83)]['far']=this[_0x249bd3(0x4a6,0x4b0)]['radius'];const _0x2dedbb=Cesium__namespace['HeadingPitchRoll']['fromDegrees'](this['heading']+0x5a,this[_0xd31aea(0x11e9,0xf52)],this['roll']),_0x242a1e={};_0x242a1e[_0x249bd3(0x317,0xb3a)]=_0x2dedbb['heading'],_0x242a1e['pitch']=_0x2dedbb[_0xd31aea(_0x5d5a71._0x3eba1c,0x1a6a)],_0x242a1e['roll']=_0x2dedbb['roll'];const _0x56aac0={};_0x56aac0[_0xd31aea(0x263,0x20b)]=_0x232483,_0x56aac0['orientation']=_0x242a1e,this[_0x249bd3(0xb3f,0xde5)]['setView'](_0x56aac0);}}[_0x7afdbe(0x1fd5,0x16e5)](){const _0x3b0365={_0x4534c6:0x8aa,_0x38691c:0xd40,_0x5b513a:0x412,_0x3cfd91:0x108f,_0x7bc159:0x1753,_0x242509:0x16d3,_0x3319f3:0x1829,_0x465d03:0x1d3d,_0x8c524c:0x7f6,_0xfd32d1:0x184,_0x462970:0xcb9,_0x3c15c5:0x13b1},_0x3bd188={_0x11623a:0x3},_0x1d605d={_0x3c720c:0x56d};this['_camera']=new Cesium__namespace[(_0xcc26db(0xc38,_0x3b0365._0x4534c6))](this['_map'][_0x2f3c56(_0x3b0365._0x38691c,_0x3b0365._0x5b513a)]),this['_camera'][_0x2f3c56(0xd06,_0x3b0365._0x3cfd91)]['aspectRatio']=this['angle']/this[_0xcc26db(0xf22,0x768)],this['_camera']['frustum']['fov']=Cesium__namespace['Math'][_0xcc26db(_0x3b0365._0x7bc159,0x21d8)](this[_0xcc26db(_0x3b0365._0x242509,_0x3b0365._0x3319f3)]*0x2),this[_0xcc26db(0xd66,0xa9c)]['frustum'][_0x2f3c56(-0x22,-0xba)]=0.01;function _0x2f3c56(_0x26186e,_0x1c04dc){return _0x7afdbe(_0x1c04dc,_0x26186e- -_0x1d605d._0x3c720c);}this['_camera'][_0xcc26db(0x1276,0x83f)][_0x2f3c56(0x144d,_0x3b0365._0x465d03)]=this['style']['radius'];const _0x487957={};_0x487957['lightCamera']=this[_0x2f3c56(_0x3b0365._0x8c524c,_0x3b0365._0xfd32d1)],_0x487957['enable']=![],_0x487957['darkness']=0x1,_0x487957['isPointLight']=![],_0x487957['isSpotLight']=!![],_0x487957['cascadesEnabled']=![],_0x487957[_0xcc26db(_0x3b0365._0x462970,0x1778)]=this['_map']['scene'][_0x2f3c56(0x749,-0x199)],_0x487957['pointLightRadius']=this[_0x2f3c56(0x15d,0x4ea)][_0x2f3c56(0x98,0x81)];function _0xcc26db(_0x3961c0,_0x2bfbde){return _0x7afdbe(_0x2bfbde,_0x3961c0-_0x3bd188._0x11623a);}return _0x487957['fromLightSource']=![],_0x487957['depthBiasStep']=this['options']['depthBiasStep']??0xa,new Cesium__namespace[(_0xcc26db(_0x3b0365._0x3c15c5,0xfdf))](_0x487957);}['_updateOutlineFrustum'](){const _0x676e17={_0x22b39a:0x1601,_0x105267:0xcd,_0x35c30a:0xdd,_0x28d30b:0x1c8,_0x3cf934:0x5f8,_0x116ec0:0x385,_0x53844d:0x14be,_0x1c973c:0xf08,_0x19721d:0xa1d,_0x27c23a:0x470,_0x5744c0:0xe37};function _0x9894df(_0x3cb989,_0x513b3e){return _0x7afdbe(_0x3cb989,_0x513b3e- -0x25a);}this['_outlineFrustumGraphic']&&(this[_0x9894df(0x1444,_0x676e17._0x22b39a)][_0x9894df(0x81c,0x3bd)](this[_0x88ecb1(-0x1cb,0xdd)],!![]),delete this[_0x88ecb1(_0x676e17._0x105267,_0x676e17._0x35c30a)]);function _0x88ecb1(_0x33d3b7,_0x478eb4){return _0x54a7f1(_0x478eb4- -0x2d4,_0x33d3b7);}if(!this['position']||!this[_0x88ecb1(0x1fd,_0x676e17._0x28d30b)]['showFrustum'])return;this[_0x9894df(_0x676e17._0x3cf934,_0x676e17._0x116ec0)]=new ArcFrustum({'modelMatrix':this[_0x88ecb1(-0x118,0x861)][_0x9894df(_0x676e17._0x53844d,_0x676e17._0x1c973c)],'style':{'angle':this[_0x9894df(0x1433,0x1476)],'angle2':this[_0x88ecb1(0x10e6,_0x676e17._0x19721d)],'distance':this[_0x9894df(0xa17,_0x676e17._0x27c23a)][_0x9894df(0x5af,0x3ab)]+0x1},'show':this['style']['showFrustum']&&this['show'],'private':!![]}),this['_layer'][_0x88ecb1(_0x676e17._0x5744c0,0xcfb)](this['_outlineFrustumGraphic']);}[_0x7afdbe(0xef9,0x746)](_0x4b22db){const _0x283bde={_0x18cb48:0x20c6,_0x599d05:0x17a3,_0x4552af:0x141b,_0x2c7612:0x1276,_0x355f65:0xb00},_0x256524={_0x555f73:0x6c},_0x2bc2ef=Cesium__namespace['Cartesian3']['distance'](this['position'],_0x4b22db);function _0x1176b9(_0x1ba33b,_0x33025e){return _0x54a7f1(_0x1ba33b- -0x293,_0x33025e);}_0x2bc2ef>this[_0x6502aa(_0x283bde._0x18cb48,_0x283bde._0x599d05)]&&(_0x4b22db=getOnLinePointByLen(this[_0x6502aa(_0x283bde._0x4552af,0x197b)],_0x4b22db,this[_0x1176b9(_0x283bde._0x2c7612,_0x283bde._0x355f65)]));this['targetPosition']=_0x4b22db;function _0x6502aa(_0x1571e5,_0x2c9b1a){return _0x7afdbe(_0x1571e5,_0x2c9b1a-_0x256524._0x555f73);}this[_0x1176b9(0x866,0x5c1)]=this[_0x1176b9(0x1224,0x1c83)](),this['_position']&&this['_updatePositionsHook']();}}register$5(_0x54a7f1(0xbf9,0x157d),ConeVisibility,!![]);class SkylineBody extends PolygonPrimitive{get['position'](){const _0x195d89={_0x356a82:0xa5a,_0x3f3bb2:0x140a,_0x57e15c:0x50f},_0x28a6c5={_0x1e220f:0x332};function _0xfd568c(_0x11c031,_0x3379ce){return _0x7afdbe(_0x11c031,_0x3379ce- -0x4f2);}if(this[_0xfd568c(0xca2,0xac8)])return this[_0xd63b87(0x144f,_0x195d89._0x356a82)];function _0xd63b87(_0x2e3ea5,_0x351a42){return _0x54a7f1(_0x351a42- -_0x28a6c5._0x1e220f,_0x2e3ea5);}if(this[_0xfd568c(_0x195d89._0x3f3bb2,0xad9)]){var _0x594d36;return this['property'][_0xd63b87(0x226,0x7c0)]((_0x594d36=this[_0xfd568c(0xefb,_0x195d89._0x57e15c)])===null||_0x594d36===void 0x0||(_0x594d36=_0x594d36['clock'])===null||_0x594d36===void 0x0?void 0x0:_0x594d36['currentTime']);}}set[_0x54a7f1(0x16e1,0xff7)](_0x1d60cd){const _0x9170={_0x27728f:0xcff,_0x3e796e:0x16e1};var _0x2be2e0;function _0x26ba5d(_0x4bc9a8,_0x3a530a){return _0x7afdbe(_0x3a530a,_0x4bc9a8- -0x50);}if(this[_0x9a52c2(_0x9170._0x27728f,0x5b7)](_0x1d60cd))return this[_0x26ba5d(0xf6a,0xbea)];this['_point']=LngLatPoint[_0x9a52c2(-0x65e,0x2df)](_0x1d60cd),this['_position']=(_0x2be2e0=this['_point'])===null||_0x2be2e0===void 0x0?void 0x0:_0x2be2e0['toCartesian']();function _0x9a52c2(_0x18584e,_0x3a3693){return _0x7afdbe(_0x18584e,_0x3a3693- -0x30a);}this['_getRectangle_cache']&&delete this['_getRectangle_cache'],this[_0x26ba5d(0x1096,_0x9170._0x3e796e)](EventType[_0x9a52c2(-0x3d5,0x694)],{'position':this['_position']});}[_0x7afdbe(0x1449,0x134f)](_0x551952){const _0x5e07da={_0x3daa73:0xe3a,_0x271309:0xfa6,_0x3a1063:0x101b},_0x42c738={_0x13fdec:0x20a},_0x4595e6={_0x40de9e:0x52};function _0x14487b(_0x1eddf5,_0x53cf0e){return _0x54a7f1(_0x53cf0e-_0x4595e6._0x40de9e,_0x1eddf5);}function _0x3b633a(_0x5cb4c8,_0x31445a){return _0x54a7f1(_0x5cb4c8-_0x42c738._0x13fdec,_0x31445a);}return this['style'][_0x14487b(0xc02,_0x5e07da._0x3daa73)]=this['style']['extrudedHeight']??0x0,this['_positions']=this[_0x14487b(_0x5e07da._0x271309,_0x5e07da._0x3a1063)](),super['_addedHook'](_0x551952);}['_getPositions'](){const _0x321a1f={_0x57e05d:0x812,_0x313025:0x8bb,_0x50d183:0x124c,_0x412f75:0x10be},_0x11d8cb={_0x4eac65:0x6c3},_0x415cc6={_0x58b777:0x1ef};function _0x2b77e2(_0xd4c700,_0x491c0b){return _0x7afdbe(_0x491c0b,_0xd4c700- -_0x415cc6._0x58b777);}const _0x4963f9=this[_0x2b77e2(0x8ef,0x2be)]['splitNum']??0x200,_0x2fbd58={};_0x2fbd58['scene']=this[_0x2b77e2(_0x321a1f._0x57e05d,_0x321a1f._0x313025)][_0x574747(0x1049,0xbea)],_0x2fbd58['splitNum']=_0x4963f9;const _0x520ce7=getRayIntersectingPositions$1(_0x2fbd58),_0x27e007=this[_0x574747(0x908,_0x321a1f._0x50d183)]??this['_map'][_0x2b77e2(_0x321a1f._0x412f75,0x1150)]['camera']['position'],_0x492836=[_0x27e007];for(let _0x36073e=_0x4963f9-0x1;_0x36073e>=0x0;_0x36073e--){for(let _0x1b5c8e=_0x4963f9-0x1;_0x1b5c8e>=0x0;_0x1b5c8e--){const _0x422746=_0x520ce7[_0x36073e][_0x1b5c8e];if(_0x422746){_0x492836['push'](_0x422746);break;}}}_0x492836['push'](_0x27e007);function _0x574747(_0x4cfe72,_0x12e980){return _0x7afdbe(_0x4cfe72,_0x12e980- -_0x11d8cb._0x4eac65);}return _0x492836;}}register$5('skylineBody',SkylineBody);var ViewDomeMaterial=_0x7afdbe(0x11b4,0x6e8),ViewDomeVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20float\x20batchId;\x0a\x0aout\x20vec3\x20v_positionEC;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a}\x0a',ViewDomeFS='in\x20vec3\x20v_positionEC;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20v_positionEC;\x0a\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha\x20*\x20globalAlpha);\x0a}\x0a';const _0xb6aed2={};_0xb6aed2['radius']=0x14,_0xb6aed2['visibleColor']='rgba(0,183,239,\x200.5)',_0xb6aed2['hiddenColor']='rgba(227,108,9,\x200.5)';const DEF_STYLE=_0xb6aed2;class ViewDome extends BasePointPrimitive{constructor(_0xf3e35f={}){const _0x1692f3={_0x306f72:0x351};function _0x1b69fb(_0x28f422,_0x243bcc){return _0x7afdbe(_0x28f422,_0x243bcc- -_0x1692f3._0x306f72);}_0xf3e35f['style']={...DEF_STYLE,..._0xf3e35f['style']},super(_0xf3e35f),this[_0x1b69fb(0x1a9f,0x1411)]=0x1;}get[_0x7afdbe(0xc03,0x605)](){const _0x224995={_0x24cc17:0x123e},_0x19ac87={_0x2e3eb0:0x320};function _0x561a83(_0x495dff,_0x388e00){return _0x54a7f1(_0x495dff- -_0x19ac87._0x2e3eb0,_0x388e00);}function _0x5253d3(_0x10b9de,_0x304b17){return _0x7afdbe(_0x10b9de,_0x304b17- -0x5b9);}return this[_0x561a83(0x7d9,_0x224995._0x24cc17)][_0x561a83(0x47a,-0x74)];}set[_0x54a7f1(0x3d7,-0x431)](_0x223b22){const _0x10faff={_0x1d3b3b:0x2ac,_0xed5793:0xecc},_0x1fb0a4={_0x2f4527:0x4d5},_0x6864ad={_0x41d407:0x4ee};this[_0x1e0a88(0x60b,0x9c4)][_0x1e0a88(_0x10faff._0x1d3b3b,0x33f)]=_0x223b22;function _0x1e0a88(_0x5038e1,_0x124e45){return _0x54a7f1(_0x5038e1- -_0x6864ad._0x41d407,_0x124e45);}function _0x54ee57(_0x449884,_0x1ed102){return _0x54a7f1(_0x449884- -_0x1fb0a4._0x2f4527,_0x1ed102);}this[_0x1e0a88(0x1013,0x17a2)]['material'][_0x54ee57(0x1018,0x5ac)][_0x54ee57(0xae6,_0x10faff._0xed5793)]=_0x223b22,this['_createPrimitive']();}get[_0x7afdbe(0x283,0xce0)](){const _0x47a600={_0x3dd7a5:0xcd},_0x4c53d0={_0x330d50:0x386};function _0x1f49e5(_0x42ccc5,_0x3b4d09){return _0x54a7f1(_0x42ccc5- -_0x4c53d0._0x330d50,_0x3b4d09);}return this['_appearance'][_0x1f49e5(_0x47a600._0x3dd7a5,0x33c)]['uniforms']['u_visibleColor'];}set[_0x7afdbe(0x10fa,0xce0)](_0x355ffc){this['_appearance']['material']['uniforms']['u_visibleColor']=getCesiumColor(_0x355ffc);}get['hiddenColor'](){function _0x1599f5(_0xab59bb,_0x50179f){return _0x7afdbe(_0x50179f,_0xab59bb- -0x4dc);}return this['_appearance']['material']['uniforms'][_0x1599f5(0x1289,0xc50)];}set['hiddenColor'](_0x1c4469){this['_appearance']['material']['uniforms']['u_hiddenColor']=getCesiumColor(_0x1c4469);}[_0x54a7f1(0x828,0x24d)](){const _0x536bba=this['position'];this['_camera']['position']=LngLatPoint['toCartesian'](_0x536bba);function _0x5008c4(_0x1ef464,_0x1d12d8){return _0x54a7f1(_0x1d12d8- -0x29,_0x1ef464);}this['_camera']['up']=Cesium__namespace['Cartesian3']['normalize'](_0x536bba,new Cesium__namespace[(_0x5008c4(0x98b,0x12be))]()),this['_createPrimitive']();}[_0x54a7f1(0x1121,0x19a0)](_0x3044da){const _0x3f98b0={_0x5ef132:0x1216,_0x252289:0x56e,_0x2f5e67:0x456,_0x32ab5e:0x8a,_0x3e75fd:0xc49,_0x430225:0x69b,_0xec63e6:0x61f,_0x3195f8:0x726,_0x2603e8:0x1556,_0x898da3:0x1904,_0x2fa0ad:0x13d2,_0x36e557:0xcdf,_0x5b607d:0x10bc,_0x5a3c42:0x1493,_0x47c123:0x14bf},_0x52b61a={_0x2b8fda:0x211},_0x3f8bc4={_0x462191:0x12fa},_0x2064d9={_0x5e57c5:0xd3a,_0x17f196:0xd3a,_0x3e20ef:0x314},_0x194756={_0x5884d5:0x87b},_0xe6a849={_0x2db1ee:0x306},_0x1d6bb4={_0x22946a:0x197};if(!this['show']||!this['position'])return;const _0x4c356f=this['_map'][_0x4a70db(_0x3f98b0._0x5ef132,0x158a)],_0x27db14=this[_0x36b45e(0x16b6,0x10f8)];function _0x4a70db(_0x4b03cf,_0x185661){return _0x54a7f1(_0x4b03cf-_0x1d6bb4._0x22946a,_0x185661);}this['_camera']=new Cesium__namespace['Camera'](_0x4c356f),this['_camera'][_0x4a70db(0x1878,0x1351)]=_0x27db14,this['_camera']['up']=Cesium__namespace['Cartesian3']['normalize'](_0x27db14,new Cesium__namespace[(_0x4a70db(0x147e,0x1c28))]()),this['_shadowMap']=new Cesium__namespace[(_0x36b45e(0x1155,0x11bb))]({'lightCamera':this['_camera'],'enable':![],'darkness':0x1,'isPointLight':!![],'isSpotLight':![],'cascadesEnabled':![],'context':_0x4c356f[_0x36b45e(0xa5d,0xfca)],'pointLightRadius':this['style'][_0x4a70db(_0x3f98b0._0x252289,-0x2f4)],'fromLightSource':![],'depthBiasStep':this['options']['depthBiasStep']??0x1});const _0x589e09=new Cesium__namespace['Material']({'fabric':{'type':_0x36b45e(_0x3f98b0._0x2f5e67,-_0x3f98b0._0x32ab5e),'uniforms':{'u_visibleColor':getCesiumColor(this['style'][_0x4a70db(_0x3f98b0._0x3e75fd,0x4a8)]),'u_hiddenColor':getCesiumColor(this['style'][_0x4a70db(_0x3f98b0._0x430225,_0x3f98b0._0xec63e6)]),'u_radius':this['style'][_0x36b45e(0x3ac,_0x3f98b0._0x3195f8)]},'source':ViewDomeMaterial}});_0x589e09['_uniforms']['u_shadowMapCube']=()=>{if(this['_shadowMap']['_shadowMapTexture'])return this['_shadowMap']['_shadowMapTexture'];function _0xc035f1(_0x125d0a,_0x15e3ae){return _0x36b45e(_0x125d0a- -_0xe6a849._0x2db1ee,_0x15e3ae);}return _0x4c356f['context'][_0xc035f1(0x38e,_0x194756._0x5884d5)];},_0x589e09['_uniforms']['u_shadowMapTSDBANSS']=()=>{function _0x36d2da(_0x10841a,_0x1e74af){return _0x4a70db(_0x10841a- -0x163,_0x1e74af);}function _0x25bda7(_0x443902,_0x41b5f4){return _0x4a70db(_0x41b5f4-0xaa,_0x443902);}return Cesium__namespace[_0x25bda7(0x4fa,0x99d)]['fromElements'](0x1/this[_0x25bda7(0x13ca,_0x2064d9._0x5e57c5)]['_textureSize']['x'],0x1/this[_0x25bda7(0xa61,_0x2064d9._0x17f196)]['_textureSize']['y'],this[_0x36d2da(0xb2d,_0x2064d9._0x3e20ef)]['_pointBias']['depthBias'],this[_0x25bda7(0x16f6,0xd3a)]['_pointBias']['normalShadingSmooth']);},_0x589e09['_uniforms']['u_shadowMapDarkness']=()=>{const _0x50bd08={_0x7b52aa:0x3ef};function _0x5e3101(_0x44ab88,_0x3d16b4){return _0x4a70db(_0x44ab88- -_0x50bd08._0x7b52aa,_0x3d16b4);}return this['_shadowMap'][_0x5e3101(_0x3f8bc4._0x462191,0x865)];},_0x589e09['_uniforms'][_0x4a70db(0x10ce,0x189b)]=()=>{function _0x49124d(_0xdaa381,_0xf6d4ee){return _0x36b45e(_0xf6d4ee- -0x1cd,_0xdaa381);}return this['_shadowMap'][_0x49124d(-_0x52b61a._0x2b8fda,0x3c0)];},_0x589e09[_0x4a70db(_0x3f98b0._0x2603e8,0xf2d)]['globalAlpha']=()=>{return this['_globalAlpha'];};const _0x418625={};_0x418625['flat']=!![],_0x418625['material']=_0x589e09,_0x418625[_0x4a70db(0x5cf,0xa61)]=ViewDomeVS,_0x418625['fragmentShaderSource']=ViewDomeFS;function _0x36b45e(_0x5d192e,_0x24700b){return _0x54a7f1(_0x5d192e- -0x2b,_0x24700b);}this[_0x4a70db(0x1698,_0x3f98b0._0x898da3)]=new Cesium__namespace[(_0x36b45e(_0x3f98b0._0x2fa0ad,0x1ab6))](_0x418625),this[_0x4a70db(0x7d0,0x1f3)](),this['primitiveCollection'][_0x36b45e(0x665,0x1057)](this),this['_availability']&&this[_0x4a70db(_0x3f98b0._0x36e557,_0x3f98b0._0x5b607d)](this[_0x36b45e(_0x3f98b0._0x5a3c42,_0x3f98b0._0x47c123)]);}['_createPrimitive'](){const _0x4018d1={_0x6a0465:0x1508,_0x2f1ab0:0x15ac,_0x257867:0x1a9e,_0x27616b:0xb3a},_0x309dad={_0x1572d7:0x15e};function _0x1e8a6b(_0x15db39,_0x87cf06){return _0x54a7f1(_0x15db39-_0x309dad._0x1572d7,_0x87cf06);}function _0x9455b1(_0x23a5e6,_0x1b2372){return _0x54a7f1(_0x1b2372- -0x39e,_0x23a5e6);}this[_0x1e8a6b(_0x4018d1._0x6a0465,_0x4018d1._0x2f1ab0)]=new Cesium__namespace[(_0x1e8a6b(0x11e0,_0x4018d1._0x257867))]({'geometryInstances':new Cesium__namespace[(_0x9455b1(0x8f1,_0x4018d1._0x27616b))]({'geometry':new Cesium__namespace['SphereGeometry']({'vertexFormat':Cesium__namespace['PerInstanceColorAppearance']['VERTEX_FORMAT'],'radius':this['style']['radius']}),'modelMatrix':Cesium__namespace[_0x1e8a6b(0x8cb,0xdee)]['eastNorthUpToFixedFrame'](this['position'])}),'appearance':this[_0x9455b1(0x1a5e,0x1163)],'asynchronous':![]});}['_removedHook'](){const _0x14b674={_0x6ee879:0x10bf,_0x2d1f94:0x4b0},_0x2b1bab={_0x2a8d43:0x29b};function _0x18502f(_0x36660a,_0x525e81){return _0x7afdbe(_0x36660a,_0x525e81- -0x1fc);}function _0x39deb2(_0x1db4b1,_0x9dfec1){return _0x54a7f1(_0x9dfec1- -_0x2b1bab._0x2a8d43,_0x1db4b1);}this[_0x39deb2(0x5a2,0x1a4)]&&this['primitiveCollection'][_0x39deb2(0x15fc,_0x14b674._0x6ee879)](this)&&(this[_0x18502f(0x17f7,0x1330)]=!![],this['primitiveCollection'][_0x39deb2(-_0x14b674._0x2d1f94,0x4f3)](this),this['_noDestroy']=![]),delete this['_modelMatrix'];}['update'](_0x3d9987){function _0x74a7a3(_0x485cef,_0x508058){return _0x7afdbe(_0x485cef,_0x508058- -0x279);}if(!this[_0x50455c(0xae1,0x794)](_0x3d9987['time']))return;_0x3d9987['shadowMaps']['push'](this[_0x74a7a3(0x86c,0xaae)]);function _0x50455c(_0x35e15a,_0x55d02b){return _0x7afdbe(_0x55d02b,_0x35e15a- -0x1bc);}this['_primitive']['update'](_0x3d9987);}[_0x7afdbe(0x4c5,0x736)](_0x1d411a){const _0x25e0be={_0x1a54e8:0x1c82},_0x59acb3={_0x12b1eb:0x4};function _0x18b7ec(_0x494a5e,_0x310e0e){return _0x54a7f1(_0x310e0e- -_0x59acb3._0x12b1eb,_0x494a5e);}this[_0x18b7ec(_0x25e0be._0x1a54e8,0x1530)]=_0x1d411a;}[_0x7afdbe(0x1d3,0x625)](_0x5e9fa1,_0x6428ca){const _0x37b325={_0x206724:0xc74,_0x3e43ba:0x1136},_0x42be5e={_0x36daa0:0x3ce};function _0x48a096(_0x1c8c88,_0x3ef55b){return _0x54a7f1(_0x3ef55b- -_0x42be5e._0x36daa0,_0x1c8c88);}return this[_0x48a096(_0x37b325._0x206724,_0x37b325._0x3e43ba)](_0x5e9fa1,_0x6428ca);}}register$5(_0x54a7f1(0x512,0xcc9),ViewDome,!![]);const _0x4d5b97={};_0x4d5b97[_0x7afdbe(0x3c8,0x851)]=null,_0x4d5b97['BaseGraphic']=BaseGraphic,_0x4d5b97['GroupGraphic']=GroupGraphic,_0x4d5b97[_0x54a7f1(0xf72,0xf62)]=BaseEntity,_0x4d5b97['BasePointEntity']=BasePointEntity,_0x4d5b97['BasePolyEntity']=BasePolyEntity,_0x4d5b97[_0x54a7f1(0x75e,0xd39)]=BasePrimitive,_0x4d5b97[_0x7afdbe(0x1255,0x15cd)]=BasePointPrimitive,_0x4d5b97[_0x54a7f1(0x28f,0x965)]=BasePolyPrimitive,_0x4d5b97['PointEntity']=PointEntity,_0x4d5b97[_0x54a7f1(0xbcc,0x557)]=BillboardEntity,_0x4d5b97['FontBillboardEntity']=FontBillboardEntity,_0x4d5b97[_0x7afdbe(0xcd3,0xd8f)]=DivBillboardEntity,_0x4d5b97[_0x54a7f1(0xe1a,0xebc)]=LabelEntity,_0x4d5b97['CanvasLabelEntity']=CanvasLabelEntity,_0x4d5b97['ModelEntity']=ModelEntity,_0x4d5b97[_0x54a7f1(0xc2c,0xf76)]=BoxEntity,_0x4d5b97['PlaneEntity']=PlaneEntity,_0x4d5b97['CircleEntity']=CircleEntity,_0x4d5b97['CylinderEntity']=CylinderEntity,_0x4d5b97['ConeTrack']=ConeTrack,_0x4d5b97['EllipsoidEntity']=EllipsoidEntity,_0x4d5b97['PolylineEntity']=PolylineEntity,_0x4d5b97[_0x54a7f1(0x1105,0x859)]=CurveEntity,_0x4d5b97['BrushLineEntity']=BrushLineEntity,_0x4d5b97['PolylineVolumeEntity']=PolylineVolumeEntity,_0x4d5b97['PathEntity']=PathEntity,_0x4d5b97['CorridorEntity']=CorridorEntity,_0x4d5b97['WallEntity']=WallEntity,_0x4d5b97['RectangleEntity']=RectangleEntity,_0x4d5b97[_0x7afdbe(0x1947,0x15a0)]=PolygonEntity,_0x4d5b97['EllipseEntity']=EllipseEntity,_0x4d5b97['RectangularSensor']=RectangularSensor,_0x4d5b97['Video2D']=Video2D,_0x4d5b97[_0x7afdbe(0xeb7,0x1259)]=PitEntity,_0x4d5b97[_0x54a7f1(0x58e,0x86d)]=AttackArrow,_0x4d5b97['AttackArrowPW']=AttackArrowPW,_0x4d5b97[_0x54a7f1(0x818,0x315)]=AttackArrowYW,_0x4d5b97[_0x54a7f1(0xaa7,0x995)]=CloseVurve,_0x4d5b97[_0x54a7f1(0xf15,0x13c7)]=DoubleArrow,_0x4d5b97[_0x7afdbe(0xf0f,0xbef)]=FineArrow,_0x4d5b97[_0x54a7f1(0xdae,0x8ba)]=FineArrowYW,_0x4d5b97['GatheringPlace']=GatheringPlace,_0x4d5b97['IsosTriangle']=IsosTriangle,_0x4d5b97[_0x54a7f1(0x1330,0xd59)]=Lune,_0x4d5b97['Regular']=Regular,_0x4d5b97[_0x7afdbe(0x1221,0xdcd)]=Sector,_0x4d5b97[_0x7afdbe(0x2016,0x18aa)]=StraightArrow,_0x4d5b97['ParallelogramEntity']=ParallelogramEntity,_0x4d5b97['PointMeasure']=PointMeasure,_0x4d5b97['DistanceMeasure']=DistanceMeasure,_0x4d5b97['DistanceSurfaceMeasure']=DistanceSurfaceMeasure,_0x4d5b97[_0x7afdbe(0x1889,0x1466)]=SectionMeasure,_0x4d5b97['AngleMeasure']=AngleMeasure,_0x4d5b97[_0x7afdbe(0x8dd,0xd50)]=HeightMeasure,_0x4d5b97['HeightTriangleMeasure']=HeightTriangleMeasure,_0x4d5b97[_0x54a7f1(0xf81,0x10ea)]=AreaMeasure,_0x4d5b97['AreaSurfaceMeasure']=AreaSurfaceMeasure,_0x4d5b97[_0x54a7f1(0xac5,0x618)]=VolumeMeasure,_0x4d5b97['VolumeDepthMeasure']=VolumeDepthMeasure,_0x4d5b97[_0x54a7f1(0x386,0x798)]=PointPrimitive,_0x4d5b97[_0x7afdbe(0x13f2,0xc20)]=BillboardPrimitive,_0x4d5b97['DivBillboardPrimitive']=DivBillboardPrimitive,_0x4d5b97['BillboardIndicator']=BillboardIndicator,_0x4d5b97[_0x54a7f1(0x58b,-0xc)]=CloudPrimitive,_0x4d5b97[_0x7afdbe(0x1931,0xeca)]=LabelPrimitive,_0x4d5b97['ModelPrimitive']=ModelPrimitive,_0x4d5b97['CirclePrimitive']=CirclePrimitive,_0x4d5b97['PlanePrimitive']=PlanePrimitive,_0x4d5b97['BoxPrimitive']=BoxPrimitive,_0x4d5b97[_0x54a7f1(0x14e5,0x1db9)]=CylinderPrimitive,_0x4d5b97['ConeTrackPrimitive']=ConeTrackPrimitive,_0x4d5b97['EllipsoidPrimitive']=EllipsoidPrimitive,_0x4d5b97['PolylinePrimitive']=PolylinePrimitive,_0x4d5b97['WallPrimitive']=WallPrimitive,_0x4d5b97['CorridorPrimitive']=CorridorPrimitive,_0x4d5b97['PolylineVolumePrimitive']=PolylineVolumePrimitive,_0x4d5b97[_0x54a7f1(0xacd,0x5a5)]=RectanglePrimitive,_0x4d5b97[_0x7afdbe(0x122a,0xbae)]=PolygonPrimitive,_0x4d5b97['FrustumPrimitive']=FrustumPrimitive,_0x4d5b97[_0x7afdbe(0x1c18,0x161b)]=ParallelogramPrimitive,_0x4d5b97[_0x54a7f1(0x6ef,0x9e4)]=LightCone,_0x4d5b97['Water']=Water,_0x4d5b97[_0x7afdbe(0xb32,0x6cd)]=Mask,_0x4d5b97[_0x7afdbe(0xaaf,0x1275)]=DiffuseWall,_0x4d5b97[_0x7afdbe(0x107b,0xdfb)]=ScrollWall,_0x4d5b97['ThickWall']=ThickWall,_0x4d5b97[_0x7afdbe(0xf3,0x614)]=DynamicRiver,_0x4d5b97['Road']=Road,_0x4d5b97['Pit']=Pit,_0x4d5b97[_0x54a7f1(0xb78,0xde6)]=DoubleSidedPlane,_0x4d5b97[_0x7afdbe(0x1513,0x1413)]=ReflectionWater,_0x4d5b97['VideoPrimitive']=VideoPrimitive,_0x4d5b97['BaseCombine']=BaseCombine,_0x4d5b97[_0x7afdbe(0x460,0x9b1)]=BasePointCombine,_0x4d5b97[_0x54a7f1(0x7de,0x240)]=BasePolyCombine,_0x4d5b97['FlatBillboard']=FlatBillboard,_0x4d5b97['PlaneCombine']=PlaneCombine,_0x4d5b97['BoxCombine']=BoxCombine,_0x4d5b97['CircleCombine']=CircleCombine,_0x4d5b97['CylinderCombine']=CylinderCombine,_0x4d5b97[_0x54a7f1(0x1085,0x5eb)]=FrustumCombine,_0x4d5b97['EllipsoidCombine']=EllipsoidCombine,_0x4d5b97[_0x7afdbe(0xf88,0xa34)]=PolylineCombine,_0x4d5b97['PolylineVolumeCombine']=PolylineVolumeCombine,_0x4d5b97[_0x54a7f1(0x1782,0x1da6)]=CorridorCombine,_0x4d5b97['WallCombine']=WallCombine,_0x4d5b97['PolygonCombine']=PolygonCombine,_0x4d5b97[_0x7afdbe(0xeb7,0xaa7)]=WaterCombine,_0x4d5b97['RectangleCombine']=RectangleCombine,_0x4d5b97[_0x54a7f1(0x264,-0x678)]=DivGraphic,_0x4d5b97[_0x7afdbe(0x5a4,0x9d8)]=DivBoderLabel,_0x4d5b97['DivLightPoint']=DivLightPoint,_0x4d5b97['DivUpLabel']=DivUpLabel,_0x4d5b97[_0x7afdbe(0x1a4e,0x1962)]=Popup,_0x4d5b97['Tooltip']=Tooltip,_0x4d5b97['DivPlane']=DivPlane,_0x4d5b97[_0x7afdbe(0x15a5,0x122b)]=DivGif,_0x4d5b97[_0x54a7f1(0x2ec,0x4ba)]=ParticleSystem,_0x4d5b97[_0x7afdbe(-0xec,0x5a1)]=ArcFrustum,_0x4d5b97['Tetrahedron']=Tetrahedron,_0x4d5b97['ViewShed']=ViewShed,_0x4d5b97[_0x54a7f1(0x102a,0x1424)]=Video3D,_0x4d5b97[_0x7afdbe(0x1502,0x17d1)]=Route,_0x4d5b97[_0x7afdbe(0xe6a,0xe4f)]=FixedRoute,_0x4d5b97[_0x7afdbe(0x135a,0xa0b)]=PointLight,_0x4d5b97['SpotLight']=SpotLight,_0x4d5b97['VolumeCloud']=VolumeCloud,_0x4d5b97['PointVisibility']=PointVisibility,_0x4d5b97['ConeVisibility']=ConeVisibility,_0x4d5b97['SkylineBody']=SkylineBody,_0x4d5b97[_0x54a7f1(0xa1d,0x798)]=ViewDome;var index$7=_0x4d5b97;class EditTileset extends EditBase{get['position'](){function _0x471196(_0x5ad755,_0x490a72){return _0x54a7f1(_0x5ad755- -0x179,_0x490a72);}return this['_graphic'][_0x471196(0x1568,0x11d8)];}set['position'](_0x4cae2f){const _0x3e1957={_0x19465e:0x1710,_0x96c54b:0xe94},_0x29f2d1={_0x15142e:0xa5};function _0x25df73(_0x376ae1,_0x5d28a5){return _0x54a7f1(_0x376ae1-_0x29f2d1._0x15142e,_0x5d28a5);}function _0x2e8f1a(_0x5c5278,_0x33afd3){return _0x54a7f1(_0x33afd3- -0x3ce,_0x5c5278);}this[_0x2e8f1a(_0x3e1957._0x19465e,_0x3e1957._0x96c54b)][_0x2e8f1a(0x1344,0x1313)]=_0x4cae2f;}get['layer'](){return this['_graphic'];}get['style'](){return this['_graphic']['options'];}[_0x54a7f1(0x2f2,0x349)](){const _0x159371={_0x335769:0x445},_0x1baac2={_0x269729:0xda};function _0x2b0333(_0x27156a,_0x2500da){return _0x54a7f1(_0x27156a- -_0x1baac2._0x269729,_0x2500da);}this[_0x2b0333(_0x159371._0x335769,0xf4)]({'dragger':this['_graphic'],'onDrag':(_0x41352b,_0x4fe97d)=>{this['_graphic']['position']=_0x4fe97d;}});}['finish'](){const _0xc7b2a0={_0x63daf7:0xc72,_0x16bf17:0x1117};delete this['_graphic']['_draw_tooltip'],delete this[_0x273adf(0x1702,0x1274)][_0x273adf(0x5d0,_0xc7b2a0._0x63daf7)],delete this['_graphic']['_noMousePick'];function _0x273adf(_0x2b736c,_0x5aeda8){return _0x7afdbe(_0x2b736c,_0x5aeda8- -0x21c);}function _0x319598(_0x252426,_0x39ebee){return _0x7afdbe(_0x39ebee,_0x252426- -0x379);}delete this['_graphic']['_pointType'],delete this[_0x319598(_0xc7b2a0._0x16bf17,0x12d7)]['onDrag'];}['_onLeftDownHandler'](_0x2eccef){const _0x559106={_0x3a9e35:0x9b8,_0x132fc2:0xe14,_0x4c8228:0x120a,_0x56977e:0x2cd,_0x376ee2:0x477,_0x466df7:0xf2e,_0x311630:0xee4,_0x578105:0xe67,_0x23931a:0x178b},_0x3c5cde={_0x5cfd55:0x37f};var _0x5f1ac9;const _0xac172b=this['_map'][_0x24b1ae(0xb14,_0x559106._0x3a9e35)]['getPickTarget'](_0x2eccef[_0x468ec0(_0x559106._0x132fc2,_0x559106._0x4c8228)],_0x2eccef);if(_0xac172b[_0x24b1ae(0xa45,0x11c9)]===this['layer']){const _0x19e229=_0xac172b===null||_0xac172b===void 0x0?void 0x0:_0xac172b['layer'];if(!_0x19e229['_isDragger'])return;_0x19e229['_closeAllControl'](),this['_draggerIng']=_0x19e229;}else{if((_0x5f1ac9=_0x2eccef[_0x24b1ae(-_0x559106._0x56977e,_0x559106._0x376ee2)])!==null&&_0x5f1ac9!==void 0x0&&_0x5f1ac9[_0x468ec0(0x11ab,0x789)])return;else return;}function _0x468ec0(_0x48424a,_0x5be0bb){return _0x54a7f1(_0x5be0bb- -0x4d7,_0x48424a);}function _0x24b1ae(_0x1c2217,_0x5b4325){return _0x7afdbe(_0x1c2217,_0x5b4325- -_0x3c5cde._0x5cfd55);}this[_0x24b1ae(0x81,0x682)][_0x24b1ae(0x892,_0x559106._0x466df7)]['screenSpaceCameraController'][_0x24b1ae(_0x559106._0x311630,_0x559106._0x578105)]&&(this['_map'][_0x24b1ae(0x7bf,0xf2e)]['screenSpaceCameraController']['enableInputs']=![],this['_hasChangeEnableInputs']=!![]);this['_map'][_0x24b1ae(_0x559106._0x23931a,0x15c5)](!![]);const _0x2c9672={..._0x2eccef,..._0xac172b};this['fire'](EventType[_0x468ec0(0x1cf,0x3ad)],_0x2c9672);}[_0x7afdbe(0x468,0xd0b)](_0x473bfe){const _0x1a82e5={_0x2806f7:0x122,_0x1b176e:0x2b1,_0x12ee96:0x5a6},_0x210d39={_0x236c9b:0x29f};this['_map']['openSmallTooltip'](_0x473bfe['endPosition'],this['_map']['getLangText']('_释放后完成修改'));const _0x4171c8=getCurrentMouseTerrainPosition(this[_0x5ecbf0(0xa72,0x78a)]['scene'],_0x473bfe['endPosition']);_0x4171c8&&(this[_0xc3f872(0x3b0,-_0x1a82e5._0x2806f7)][_0xc3f872(0x3a4,0x751)]&&this['_draggerIng']['onDrag'](this[_0xc3f872(0x3b0,0x281)],_0x4171c8));const _0x2bc11d={..._0x473bfe};function _0x5ecbf0(_0x4585fe,_0x8f0454){return _0x54a7f1(_0x4585fe-_0x210d39._0x236c9b,_0x8f0454);}function _0xc3f872(_0x24e6da,_0x3c8592){return _0x7afdbe(_0x3c8592,_0x24e6da- -0x2c8);}_0x2bc11d['cartesian']=_0x4171c8,_0x2bc11d['windowPosition']=_0x473bfe[_0xc3f872(_0x1a82e5._0x1b176e,-0x33b)],this['fire'](EventType[_0xc3f872(_0x1a82e5._0x12ee96,0x799)],_0x2bc11d);}['_onMouseMoveMapHandler'](_0x3d06af){const _0xd01cfa={_0x264134:0xae1,_0x259dcc:0x18e1,_0x4ff33a:0x996,_0xbcd131:0xa89,_0x367aea:0x7f5};function _0x53dff2(_0x235f05,_0x377794){return _0x54a7f1(_0x235f05-0x2b6,_0x377794);}var _0x14c40d;const _0x58dd91=this['_map']['mouseEvent']['getPickTarget'](_0x3d06af['endPosition'],_0x3d06af);function _0x38c01c(_0x3d4918,_0x2219f1){return _0x54a7f1(_0x3d4918-0x1c3,_0x2219f1);}if(_0x58dd91['layer']===this[_0x53dff2(0x15d0,0x1fa3)]){const _0x33ab90=_0x58dd91===null||_0x58dd91===void 0x0?void 0x0:_0x58dd91['layer'];if(!_0x33ab90[_0x53dff2(0xf16,0x15b0)])return;if(this[_0x38c01c(0x996,_0xd01cfa._0x264134)]['contextmenu']['show']&&this[_0x53dff2(0xa89,0xc51)][_0x38c01c(0x14ad,_0xd01cfa._0x259dcc)]['target']===_0x33ab90)return;const _0x3b4a21=_0x33ab90['_draw_tooltip'];if(!_0x3b4a21)return;this[_0x38c01c(_0xd01cfa._0x4ff33a,0x7eb)]['openSmallTooltip'](_0x3d06af['endPosition'],_0x3b4a21);}else(_0x14c40d=_0x3d06af['graphic'])!==null&&_0x14c40d!==void 0x0&&_0x14c40d['_isDragger']?this[_0x53dff2(_0xd01cfa._0xbcd131,0xb33)]['closeSmallTooltip']():this[_0x38c01c(0x996,0x1103)][_0x53dff2(0x104b,_0xd01cfa._0x367aea)]();}[_0x7afdbe(0x5ec,0xda1)](_0x3535a9){const _0x196442={_0x3bf86f:0xa7c,_0x34a9c8:0x748},_0x506b87={_0x2e76c9:0x1cc},_0x51b4e9={_0x4aa940:0x402,_0x35bed2:0xea3,_0x41405a:0x3f8},_0x25b687={_0x3df5be:0x521,_0xdd922b:0xab9},_0x288257={_0x3861a4:0xd2d,_0x42d212:0x1f3},_0x385a9a={_0x3daa54:0x27d},_0x13fe26={_0x892545:0x1fc};function _0x465180(_0x3cab82,_0x15ed26){return _0x7afdbe(_0x15ed26,_0x3cab82- -_0x13fe26._0x892545);}const _0x1495dc=super['getDraggerContextMenu'](_0x3535a9);Cesium__namespace[_0xc9510f(0x443,0xd1c)](this[_0xc9510f(_0x196442._0x3bf86f,0x443)]['hasEditRotate'],!![])&&(_0x1495dc['push']({'text':this[_0xc9510f(0x99f,0xea9)]['getLangText'](_0xc9510f(0x12a6,0xcec)),'icon':Icon['BloomEffectYes'],'show':_0x370b8b=>{function _0xe6562d(_0x44daa8,_0x33fbc1){return _0x465180(_0x44daa8- -0x501,_0x33fbc1);}function _0x22b172(_0x32db45,_0x59dc3d){return _0xc9510f(_0x59dc3d- -_0x385a9a._0x3daa54,_0x32db45);}return!this['_matrixRotate']||this[_0xe6562d(0xf75,_0x288257._0x3861a4)][_0xe6562d(_0x288257._0x42d212,0x7ff)]!==_0x3535a9['index'];},'callback':_0x3aa1c3=>{function _0x4269e6(_0x4cce1a,_0xc0d22){return _0xc9510f(_0x4cce1a- -0x134,_0xc0d22);}function _0x40c1a7(_0x53e209,_0x5ddb9d){return _0x465180(_0x53e209- -0xf8,_0x5ddb9d);}var _0x4075b4;const _0x49a5c7=(_0x4075b4=_0x3aa1c3['graphic'])!==null&&_0x4075b4!==void 0x0&&_0x4075b4['position']?_0x3aa1c3['graphic']:_0x3aa1c3[_0x40c1a7(0x1254,0x12f6)];this[_0x40c1a7(_0x25b687._0x3df5be,_0x25b687._0xdd922b)](_0x49a5c7,_0x3aa1c3);}}),_0x1495dc['push']({'text':this['_map']['getLangText']('_停止按轴旋转'),'icon':Icon[_0xc9510f(_0x196442._0x34a9c8,0xce)],'show':_0x3ecbe3=>{function _0x31d736(_0x47f1d3,_0x67d2e2){return _0x465180(_0x47f1d3-0x226,_0x67d2e2);}function _0x4c7bb0(_0x1a5b29,_0x23ab1d){return _0xc9510f(_0x1a5b29- -0x48c,_0x23ab1d);}return this['_matrixRotate']&&this[_0x31d736(0x169c,0x1e69)][_0x4c7bb0(_0x51b4e9._0x4aa940,0xb90)]===_0x3535a9[_0x31d736(_0x51b4e9._0x35bed2,_0x51b4e9._0x41405a)];},'callback':_0x509898=>{this['stopRotateMatrix']();}}));function _0xc9510f(_0x2ee018,_0x5b0ffd){return _0x54a7f1(_0x2ee018-_0x506b87._0x2e76c9,_0x5b0ffd);}return _0x1495dc;}['startRotateMatrix'](_0x6463e0,_0x1ba40d){const _0x707387={_0x2254bd:0xebf,_0x5de6cd:0xe55,_0x39d3e3:0x1311,_0x3bbb44:0x86b,_0x477f6a:0x15d,_0x9f7adf:0xb62,_0x394f6e:0xa0f},_0x1054d8={_0xf4d227:0x15e4};!_0x6463e0&&(_0x6463e0=this[_0x25865f(_0x707387._0x2254bd,_0x707387._0x5de6cd)]);this['stopMoveMatrix'](),this['stopRotateMatrix'](),this[_0x165453(0x10e0,_0x707387._0x39d3e3)]=new MatrixRotate({'map':this[_0x165453(_0x707387._0x3bbb44,0x6a0)],'position':_0x6463e0['position'],'roll':_0x6463e0[_0x25865f(0x375,-_0x707387._0x477f6a)],'pitch':_0x6463e0['rotation_y'],'heading':_0x6463e0['rotation_z']});function _0x25865f(_0x4bc681,_0xde5c10){return _0x7afdbe(_0x4bc681,_0xde5c10- -0x6f3);}this['_map'][_0x25865f(0x18a,_0x707387._0x9f7adf)](this['_matrixRotate']),this['_matrixRotate']['on'](EventType['change'],_0x9fb622=>{function _0x4117c6(_0x2e6dfb,_0x2c01b4){return _0x165453(_0x2c01b4,_0x2e6dfb- -0x1a);}_0x6463e0['rotation']={'x':formatNum$1(_0x9fb622[_0x4117c6(_0x1054d8._0xf4d227,0x1227)],0x2),'y':formatNum$1(_0x9fb622['pitch'],0x2),'z':formatNum$1(_0x9fb622['heading'],0x2)};}),_0x6463e0['off'](EventType[_0x165453(_0x707387._0x394f6e,0x63d)],this['_updateMatrixMovePosition'],this);function _0x165453(_0x56fd61,_0x1ed050){return _0x54a7f1(_0x1ed050- -0x133,_0x56fd61);}_0x6463e0['off'](EventType['updatePosition'],this['_updateMatrixRotatePosition'],this),_0x6463e0['on'](EventType['updatePosition'],this[_0x25865f(0xa56,0x11f7)],this);}}const _0x11805a={};_0x11805a['__proto__']=null,_0x11805a[_0x7afdbe(0x1583,0x12b7)]=EditBase,_0x11805a[_0x7afdbe(0x148e,0xb8a)]=EditBox,_0x11805a['EditCircle']=EditCircle,_0x11805a['EditCorridor']=EditCorridor,_0x11805a['EditCylinder']=EditCylinder,_0x11805a['EditEllipsoid']=EditEllipsoid,_0x11805a[_0x54a7f1(0x511,-0x464)]=EditModel,_0x11805a['EditPlane']=EditPlane,_0x11805a['EditPoint']=EditPoint,_0x11805a[_0x7afdbe(0x13f4,0xe15)]=EditPoly,_0x11805a['EditPolygon']=EditPolygon,_0x11805a['EditPolygonGrid']=EditPolygonGrid,_0x11805a['EditPolylineVolume']=EditPolylineVolume,_0x11805a[_0x7afdbe(0x11b1,0xedc)]=EditRectangle,_0x11805a[_0x54a7f1(0x8be,0x299)]=EditTileset,_0x11805a[_0x54a7f1(0x1736,0x197f)]=EditVideo2D,_0x11805a['EditWall']=EditWall,_0x11805a[_0x7afdbe(0xd9e,0x185e)]=EditDivGraphic;var index$6=_0x11805a;class XyzImageryProvider extends Cesium__namespace['UrlTemplateImageryProvider']{constructor(_0x3befc1={}){const _0x5a9e61={_0x36c403:0x2f2,_0x966f00:0x63d,_0x35320e:0x13a,_0x351933:0x8,_0x41c6e9:0x165b,_0x4fb768:0x921},_0x163b4f={_0x4a7bd0:0x559},_0x5790f2={_0x43688a:0xbae,_0x4bfa08:0x110c},_0x4a522a={_0x4b7180:0x14e};_0x3befc1[_0x4c8004(_0x5a9e61._0x36c403,_0x5a9e61._0x966f00)]=_0x3befc1['customTags']||{},_0x3befc1['customTags'][_0x4c8004(0x854,0x7ab)]=function(_0x180a9f,_0x2c3565,_0x4a107a,_0x5d4f8a){return location['host'];},_0x3befc1[_0x4c8004(0xb51,0x63d)]['hostname']=function(_0x55d7a2,_0x3b2c8a,_0x3e8ea9,_0x3adc04){return location['hostname'];},_0x3befc1['customTags'][_0x42a313(0x100d,0xec8)]=function(_0x146d0b,_0x722277,_0x2f9d77,_0x5eeafe){return _0x5eeafe+0x1;};!_0x3befc1[_0x4c8004(-_0x5a9e61._0x35320e,0xd2)]||_0x3befc1['crs']===CRS[_0x42a313(0x97f,_0x5a9e61._0x351933)]?(_0x3befc1['customTags'][_0x42a313(0xfe4,_0x5a9e61._0x41c6e9)]=function(_0x44b2ce,_0x8e7049,_0x2cbf65,_0x4e94b6){return scales_EPSG3857[_0x4e94b6];},_0x3befc1['customTags'][_0x42a313(0x421,_0x5a9e61._0x4fb768)]=function(_0x318037,_0x40053e,_0x1a4be0,_0x2c82f0){function _0x28d8f7(_0x254213,_0xd2b79){return _0x4c8004(_0x254213,_0xd2b79-0x38);}return _0x28d8f7(0x7a5,0x672);}):(_0x3befc1['customTags']['scale']=function(_0x51eccd,_0x339232,_0x4d43b2,_0x38eeef){return scales_EPSG4326[_0x38eeef];},_0x3befc1['customTags']['origin']=function(_0x2bf3b0,_0xf5c68c,_0x369e81,_0x3ded73){function _0x35c235(_0x388a9d,_0x12e26c){return _0x42a313(_0x12e26c-_0x4a522a._0x4b7180,_0x388a9d);}return _0x35c235(_0x5790f2._0x43688a,_0x5790f2._0x4bfa08);});super(_0x3befc1);function _0x4c8004(_0x1e3a25,_0x19ad4d){return _0x7afdbe(_0x1e3a25,_0x19ad4d- -0x637);}function _0x42a313(_0x220081,_0x384a23){return _0x7afdbe(_0x384a23,_0x220081- -_0x163b4f._0x4a7bd0);}this['options']=_0x3befc1;}}const scales_EPSG4326=[3.38032714321e-9,6.76065428641e-9,1.352130857282e-8,2.704261714564e-8,5.408523429128e-8,1.0817046858257e-7,2.1634093716514e-7,4.3268187433028e-7,8.6536374866056e-7,0.00000173072749732112,0.00000346145499464224,0.00000692290998928448,0.000013845819978568952,0.000027691639957137904,0.00005538327991427581,0.00011076655982855162,0.00022153311965710323,0.00044306623931420646,0.0008861324786284129,0.0017722649572568258,0.0035445299145136517,0.007089059829027303],scales_EPSG3857=[1.6901635716e-9,3.38032714321e-9,6.76065428641e-9,1.352130857282e-8,2.704261714564e-8,5.408523429128e-8,1.0817046858257e-7,2.1634093716514e-7,4.3268187433028e-7,8.6536374866056e-7,0.00000173072749732112,0.00000346145499464224,0.00000692290998928448,0.000013845819978568952,0.000027691639957137904,0.00005538327991427581,0.00011076655982855162,0.00022153311965710323,0.00044306623931420646,0.0008861324786284129,0.0017722649572568258,0.0035445299145136517,0.007089059829027303];class TdtImageryProvider extends Cesium__namespace[_0x54a7f1(0x958,0x1340)]{constructor(_0x5c107b={}){const _0xfaf96b={_0x7d711a:0x750,_0x33974b:0x112d,_0x54fc25:0xf6f,_0x340856:0xdae,_0x5f3f26:0x6ee,_0x263b01:0x203,_0x72fe06:0xd75,_0x176d51:0x160a,_0x21ce34:0x2a4,_0x4df5c4:0x1077,_0x18e4b1:0xcb4,_0x21d6e8:0x5d4,_0x4129eb:0x1236,_0x53722e:0x804,_0x389aef:0xec8,_0x31ad86:0xd9b,_0x497aff:0xb58,_0x4acf04:0x20a},_0x357ba2=_0x5c107b['url']||_0x37cc86(0xce3,0x649);let _0x24b9cb;function _0x37cc86(_0x447107,_0x2f0fbc){return _0x7afdbe(_0x447107,_0x2f0fbc- -0x465);}let _0x148182=0x12;switch(_0x5c107b['layer']){case _0x37cc86(0x1435,0x113d):_0x24b9cb='vec';break;case _0x37cc86(_0xfaf96b._0x7d711a,0x10b8):_0x24b9cb='cva';break;case _0x37cc86(_0xfaf96b._0x33974b,_0xfaf96b._0x54fc25):_0x24b9cb='eva';break;case _0x17557e(0xc6,0x5dc):_0x24b9cb='img';break;case'img_z':_0x24b9cb=_0x37cc86(0x12c,0x733);break;case'img_e':_0x24b9cb=_0x17557e(0xb28,_0xfaf96b._0x340856);break;case'ter_d':_0x24b9cb=_0x37cc86(0x221,_0xfaf96b._0x5f3f26),_0x148182=0xe;break;case _0x17557e(0x4c6,-_0xfaf96b._0x263b01):_0x24b9cb='cta',_0x148182=0xe;break;case _0x37cc86(0x932,0xf38):case _0x37cc86(0x6a8,0xfd7):_0x24b9cb='ibo',_0x148182=0xa;break;default:_0x24b9cb=_0x37cc86(0x55e,_0xfaf96b._0x72fe06);break;}(_0x5c107b[_0x37cc86(_0xfaf96b._0x176d51,0xe49)]==null||_0x5c107b['key'][_0x17557e(0xca6,0x1426)]===0x0)&&(_0x5c107b['key']=tiandituArr);const _0x3952b4=getArrayRandomOne(_0x5c107b['key']);let _0x4b88b0;!_0x5c107b['crs']||_0x5c107b[_0x37cc86(0x35f,_0xfaf96b._0x21ce34)]===CRS['EPSG3857']?(_0x4b88b0=_0x357ba2+_0x24b9cb+'_w/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={TileMatrix}&layer='+_0x24b9cb+_0x37cc86(0x1059,0x855)+_0x3952b4,(_0x5c107b[_0x17557e(0x75c,0x7ef)]||_0x5c107b[_0x37cc86(0xe4c,0xd9b)]||_0x5c107b['queryParameters'])&&(_0x4b88b0=getUrlResource({'url':_0x4b88b0['replace'](_0x17557e(0xc1c,0x1159),'0'),'proxy':_0x5c107b[_0x37cc86(_0xfaf96b._0x4df5c4,0x804)],'headers':_0x5c107b['headers'],'queryParameters':_0x5c107b['queryParameters']})),_0x5c107b={'subdomains':['0','1','2','3','4','5','6','7'],'maximumLevel':_0x5c107b['maximumLevel']??_0x148182,'tilingScheme':new Cesium__namespace[(_0x17557e(0xc65,0x36d))](),'style':_0x37cc86(_0xfaf96b._0x18e4b1,0x710),'format':'tiles','tileMatrixSetID':'w','tileMatrixLabels':[...Array(0x14)[_0x37cc86(_0xfaf96b._0x21d6e8,0x5ed)]()]['map'](_0x5d4920=>_0x5d4920['toString']()),..._0x5c107b,'url':_0x4b88b0,'layer':_0x24b9cb}):(_0x4b88b0=_0x357ba2+_0x24b9cb+'_c/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={TileMatrix}&layer='+_0x24b9cb+_0x37cc86(_0xfaf96b._0x4129eb,0x855)+_0x3952b4,_0x148182=0x11,(_0x5c107b[_0x37cc86(0x45e,_0xfaf96b._0x53722e)]||_0x5c107b['headers']||_0x5c107b['queryParameters'])&&(_0x4b88b0=getUrlResource({'url':_0x4b88b0['replace']('{s}','0'),'proxy':_0x5c107b['proxy'],'headers':_0x5c107b[_0x37cc86(_0xfaf96b._0x389aef,_0xfaf96b._0x31ad86)],'queryParameters':_0x5c107b['queryParameters']})),_0x5c107b={'subdomains':['0','1','2','3','4','5','6','7'],'maximumLevel':_0x5c107b['maximumLevel']??_0x148182,'tilingScheme':new Cesium__namespace[(_0x37cc86(0x1a7,0xa46))](),'style':'default','format':_0x37cc86(_0xfaf96b._0x497aff,0x1072),'tileMatrixSetID':'c','tileMatrixLabels':[...Array(0x14)['keys']()]['map'](_0x5b84d1=>(_0x5b84d1+0x1)['toString']()),..._0x5c107b,'url':_0x4b88b0,'layer':_0x24b9cb});function _0x17557e(_0x303365,_0x4560ae){return _0x54a7f1(_0x303365- -0x2df,_0x4560ae);}super(_0x5c107b),this[_0x37cc86(_0xfaf96b._0x4acf04,0x679)]=_0x5c107b;}}class GaodeImageryProvider extends XyzImageryProvider{constructor(_0x33b386={}){const _0x592ed2={_0x20ff66:0x1321,_0x5b44c2:0x14a0,_0x2ebb1e:0x1ee3,_0x1ed89f:0xb95,_0x16d696:0x6c,_0x18e5e1:0xf02,_0x153d1a:0xfd9},_0x6d8f3b={_0x2285d4:0x227};function _0x2d5e08(_0x4aa4bf,_0x271a9d){return _0x7afdbe(_0x271a9d,_0x4aa4bf- -_0x6d8f3b._0x2285d4);}let _0x325f3d;switch(_0x33b386[_0x2d5e08(_0x592ed2._0x20ff66,0xa98)]){case'vec':_0x325f3d='https://'+(_0x33b386['bigfont']?_0x535689(0x870,0x6c1):'webrd')+_0x2d5e08(0x716,0x11d1);break;case'img_d':_0x325f3d=_0x2d5e08(_0x592ed2._0x5b44c2,_0x592ed2._0x2ebb1e);break;case _0x535689(0xaa0,0xe5):_0x325f3d='https://webst0{s}.is.autonavi.com/appmaptile?x={x}&y={y}&z={z}&lang=zh_cn&size=1&scale=1&style=8';break;case'time':{const _0x365267=new Date()[_0x2d5e08(0x13b2,_0x592ed2._0x1ed89f)]();_0x325f3d='https://tm.amap.com/trafficengine/mapabc/traffictile?v=1.0&t=1&x={x}&y={y}&z={z}&&t='+_0x365267;break;}default:_0x325f3d=_0x33b386[_0x2d5e08(0xa2a,-_0x592ed2._0x16d696)];break;}(_0x33b386['proxy']||_0x33b386['headers']||_0x33b386[_0x2d5e08(0x9d9,0xf4d)])&&(_0x325f3d=getUrlResource({'url':_0x325f3d[_0x535689(0x39d,0x38a)](_0x2d5e08(_0x592ed2._0x18e5e1,0x1769),'1'),'proxy':_0x33b386[_0x2d5e08(0xa42,0x12f2)],'headers':_0x33b386[_0x2d5e08(_0x592ed2._0x153d1a,0x18c9)],'queryParameters':_0x33b386['queryParameters']}));function _0x535689(_0x27d964,_0x516932){return _0x54a7f1(_0x27d964- -0x18f,_0x516932);}const _0x29ce15={'subdomains':['1','2','3','4'],'maximumLevel':0x12,..._0x33b386};_0x29ce15['url']=_0x325f3d,super(_0x29ce15);}}const EARTH_RADIUS=6370996.81,MC_BAND=[12890594.86,8362377.87,0x554fed,3481989.83,1678043.12,0x0],LL_BAND=[0x4b,0x3c,0x2d,0x1e,0xf,0x0],MC2LL=[[1.410526172116255e-8,0.00000898305509648872,-1.9939833816331,200.9824383106796,-187.2403703815547,91.6087516669843,-23.38765649603339,2.57121317296198,-0.03801003308653,17337981.2],[-7.435856389565537e-9,0.000008983055097726239,-0.78625201886289,96.32687599759846,-1.85204757529826,-59.36935905485877,47.40033549296737,-16.50741931063887,2.28786674699375,10260144.86],[-3.030883460898826e-8,0.00000898305509983578,0.30071316287616,59.74293618442277,7.357984074871,-25.38371002664745,13.45380521110908,-3.29883767235584,0.32710905363475,6856817.37],[-1.981981304930552e-8,0.000008983055099779535,0.03278182852591,40.31678527705744,0.65659298677277,-4.44255534477492,0.85341911805263,0.12923347998204,-0.04625736007561,4482777.06],[3.09191371068437e-9,0.000008983055096812155,0.00006995724062,23.10934304144901,-0.00023663490511,-0.6321817810242,-0.00663494467273,0.03430082397953,-0.00466043876332,2555164.4],[2.890871144776878e-9,0.000008983055095805407,-3.068298e-8,7.47137025468032,-0.00000353937994,-0.02145144861037,-0.00001234426596,0.00010322952773,-0.00000323890364,826088.5]],LL2MC=[[-0.0015702102444,111320.7020616939,0x60e374c3105a3,-0x24bb4115e2e164,0x5cc55543bb0ae8,-0x7ce070193f3784,0x5e7ca61ddf8150,-0x261a578d8b24d0,0x665d60f3742ca,82.5],[0.0008277824516172526,111320.7020463578,647795574.6671607,-4082003173.641316,10774905663.51142,-15171875531.51559,12053065338.62167,-5124939663.577472,913311935.9512032,67.5],[0.00337398766765,111320.7020202162,4481351.045890365,-23393751.19931662,79682215.47186455,-115964993.2797253,97236711.15602145,-43661946.33752821,8477230.501135234,52.5],[0.00220636496208,111320.7020209128,51751.86112841131,3796837.749470245,992013.7397791013,-1221952.21711287,1340652.697009075,-620943.6990984312,144416.9293806241,37.5],[-0.0003441963504368392,111320.7020576856,278.2353980772752,2485758.690035394,6070.750963243378,54821.18345352118,9540.606633304236,-2710.55326746645,1405.483844121726,22.5],[-0.0003218135878613132,111320.7020701615,0.00369383431289,823725.6402795718,0.46104986909093,2351.343141331292,1.58060784298199,8.77738589078284,0.37238884252424,7.45]];class BaiduMercatorProjection{constructor(){this['isWgs84']=![];}[_0x7afdbe(0x1574,0xf3f)](_0x2df18f,_0x4d5eda){const _0x50443e={_0x1def4a:0x14de,_0x5a8183:0x20f7,_0x4181a8:0x151d},_0x2febda={_0x6c9a97:0x23},_0x2cffde={_0x5aa204:0x1a7};if(!_0x2df18f||!_0x4d5eda)return 0x0;function _0x438d1f(_0x5116c9,_0x3005dd){return _0x54a7f1(_0x3005dd-_0x2cffde._0x5aa204,_0x5116c9);}_0x2df18f=this['convertMC2LL'](_0x2df18f);if(!_0x2df18f)return 0x0;const _0x368fcc=this['toRadians'](_0x2df18f[_0x438d1f(0xba3,_0x50443e._0x1def4a)]),_0x3aedb8=this[_0x438d1f(0xcc4,0x16c9)](_0x2df18f['lat']);_0x4d5eda=this[_0x44aa7f(0x19ad,_0x50443e._0x5a8183)](_0x4d5eda);if(!_0x4d5eda)return 0x0;const _0x401b72=this['toRadians'](_0x4d5eda[_0x44aa7f(0x1588,_0x50443e._0x4181a8)]);function _0x44aa7f(_0x37e188,_0x503753){return _0x7afdbe(_0x503753,_0x37e188-_0x2febda._0x6c9a97);}const _0x471083=this['toRadians'](_0x4d5eda['lat']);return this[_0x44aa7f(0x1197,0x12c7)](_0x368fcc,_0x401b72,_0x3aedb8,_0x471083);}[_0x7afdbe(0x83d,0x101a)](_0x13a0d5,_0x3474b4){const _0xb4b60e={_0x23a9b4:0x14da,_0x399566:0x10e1,_0x5c8591:0x14da,_0x414a85:0x17e7,_0x11c239:0x14cd,_0x2594f2:0xb7e,_0x1139ca:0xc71},_0x196b31={_0x2deddf:0x213};if(!_0x13a0d5||!_0x3474b4)return 0x0;_0x13a0d5[_0x182c4d(_0xb4b60e._0x23a9b4,_0xb4b60e._0x399566)]=this['getLoop'](_0x13a0d5[_0x182c4d(_0xb4b60e._0x5c8591,_0xb4b60e._0x414a85)],-0xb4,0xb4),_0x13a0d5['lat']=this['getRange'](_0x13a0d5[_0x36fda3(_0xb4b60e._0x11c239,_0xb4b60e._0x2594f2)],-0x4a,0x4a),_0x3474b4['lng']=this[_0x182c4d(0x108f,0x870)](_0x3474b4['lng'],-0xb4,0xb4),_0x3474b4['lat']=this[_0x182c4d(_0xb4b60e._0x1139ca,0x16a1)](_0x3474b4['lat'],-0x4a,0x4a);function _0x36fda3(_0x7d38b6,_0x3d2f4d){return _0x54a7f1(_0x7d38b6-_0x196b31._0x2deddf,_0x3d2f4d);}function _0x182c4d(_0xe351d5,_0x34be5e){return _0x54a7f1(_0xe351d5-0x1a3,_0x34be5e);}const _0x20562a=this['toRadians'](_0x13a0d5['lng']),_0x25e5e8=this[_0x36fda3(0x1735,0x16d6)](_0x13a0d5['lat']),_0x35423a=this[_0x182c4d(0x16c5,0x13f4)](_0x3474b4['lng']),_0x349f83=this['toRadians'](_0x3474b4['lat']);return this['getDistance'](_0x20562a,_0x35423a,_0x25e5e8,_0x349f83);}[_0x7afdbe(0x1f9d,0x198a)](_0x5aa7ac){const _0x35e5ed={_0x4f8fcd:0x1466,_0x3c7fad:0x1e7c,_0x2995c0:0xce3,_0x6c3b7d:0x1b0f,_0x108127:0xf1b,_0x250554:0x1db4,_0x1a0176:0xa16,_0x43e14a:0xf2a,_0x2e8680:0x1258},_0x5677b0={_0x26360c:0x42d};if(!_0x5aa7ac){const _0x58a4d8={};return _0x58a4d8['lng']=0x0,_0x58a4d8['lat']=0x0,_0x58a4d8;}function _0x2d6889(_0x7fe887,_0x314394){return _0x7afdbe(_0x7fe887,_0x314394- -_0x5677b0._0x26360c);}let _0x49e2ff={};if(this['isWgs84']){_0x49e2ff[_0x424440(0x1466,0xeba)]=_0x5aa7ac[_0x424440(_0x35e5ed._0x4f8fcd,_0x35e5ed._0x3c7fad)]/20037508.34*0xb4;const _0x5989e0=_0x5aa7ac['lat']/20037508.34*0xb4;return _0x49e2ff['lat']=0xb4/Math['PI']*(0x2*Math['atan'](Math[_0x424440(0x38f,_0x35e5ed._0x2995c0)](_0x5989e0*Math['PI']/0xb4))-Math['PI']/0x2),{'lng':_0x49e2ff['lng']['toFixed'](LngLatPoint[_0x424440(0x1807,_0x35e5ed._0x6c3b7d)]),'lat':_0x49e2ff[_0x2d6889(_0x35e5ed._0x108127,0x10bb)]['toFixed'](LngLatPoint['FormatLength'])};}const _0xb2fc17={'lng':Math['abs'](_0x5aa7ac[_0x424440(0x1466,_0x35e5ed._0x250554)]),'lat':Math['abs'](_0x5aa7ac['lat'])};let _0x1f9746;function _0x424440(_0xa13469,_0x2ef360){return _0x54a7f1(_0xa13469-0x12f,_0x2ef360);}for(let _0x26dbdc=0x0;_0x26dbdc<MC_BAND['length'];_0x26dbdc++){if(_0xb2fc17['lat']>=MC_BAND[_0x26dbdc]){_0x1f9746=MC2LL[_0x26dbdc];break;}}return _0x49e2ff=this['convertor'](_0x5aa7ac,_0x1f9746),{'lng':_0x49e2ff['lng'][_0x2d6889(_0x35e5ed._0x1a0176,_0x35e5ed._0x43e14a)](LngLatPoint[_0x2d6889(0x1277,0x14d9)]),'lat':_0x49e2ff['lat'][_0x424440(_0x35e5ed._0x2e8680,0xcc2)](LngLatPoint['FormatLength'])};}['convertLL2MC'](_0x3e3678){const _0xf64f88={_0x4499cb:0xad2,_0x423171:0x1735,_0x1474cd:0x10ef,_0x24f013:0x1cd1,_0x4d3365:0x121d,_0x4db9ee:0x3c,_0xf43844:0xe3e,_0x5208e2:0x151c,_0x3a7b99:0x892,_0x38658e:0x1a76,_0x45d6cf:0x9f2,_0x5dc393:0x104c,_0x40d2eb:0xe3e,_0x265dc5:0x14a7,_0x3dc896:0x89d},_0x49f13e={_0x2e9885:0x9d};if(!_0x3e3678){const _0x326be3={};return _0x326be3['lng']=0x0,_0x326be3[_0x47a7fe(_0xf64f88._0x4499cb,0x121d)]=0x0,_0x326be3;}function _0x5ae8b8(_0x4249bf,_0x5bfa60){return _0x54a7f1(_0x4249bf- -0x2eb,_0x5bfa60);}if(_0x3e3678[_0x5ae8b8(0x104c,_0xf64f88._0x423171)]>0xb4||_0x3e3678['lng']<-0xb4||_0x3e3678[_0x47a7fe(_0xf64f88._0x1474cd,0x121d)]>0x5a||_0x3e3678['lat']<-0x5a)return _0x3e3678;function _0x47a7fe(_0x5a2850,_0x59791a){return _0x54a7f1(_0x59791a- -_0x49f13e._0x2e9885,_0x5a2850);}if(this['isWgs84']){const _0x56b254={},_0x4f23d8=0x615299;_0x56b254['lng']=_0x3e3678['lng']*Math['PI']/0xb4*_0x4f23d8;const _0x4367cb=_0x3e3678[_0x5ae8b8(0xfcf,0xbc7)]*Math['PI']/0xb4;return _0x56b254[_0x47a7fe(_0xf64f88._0x24f013,_0xf64f88._0x4d3365)]=_0x4f23d8/0x2*Math['log']((0x1+Math[_0x47a7fe(-_0xf64f88._0x4db9ee,0x3d7)](_0x4367cb))/(0x1-Math['sin'](_0x4367cb))),{'lng':parseFloat(_0x56b254['lng'][_0x5ae8b8(_0xf64f88._0xf43844,_0xf64f88._0x5208e2)](0x2)),'lat':parseFloat(_0x56b254['lat'][_0x47a7fe(_0xf64f88._0x3a7b99,0x108c)](0x2))};}_0x3e3678['lng']=this['getLoop'](_0x3e3678[_0x5ae8b8(0x104c,_0xf64f88._0x38658e)],-0xb4,0xb4),_0x3e3678['lat']=this['getRange'](_0x3e3678[_0x5ae8b8(0xfcf,0xcdb)],-0x4a,0x4a);const _0x5528d2={};_0x5528d2[_0x47a7fe(0xc58,0x129a)]=_0x3e3678['lng'],_0x5528d2[_0x5ae8b8(0xfcf,0xfe7)]=_0x3e3678['lat'];const _0x190338=_0x5528d2;let _0x2e4cef;for(let _0x5bdb06=0x0;_0x5bdb06<LL_BAND['length'];_0x5bdb06++){if(_0x190338['lat']>=LL_BAND[_0x5bdb06]){_0x2e4cef=LL2MC[_0x5bdb06];break;}}if(!_0x2e4cef)for(let _0x40c126=0x0;_0x40c126<LL_BAND[_0x47a7fe(_0xf64f88._0x45d6cf,0xee8)];_0x40c126++){if(_0x190338[_0x47a7fe(0xdb4,0x121d)]<=-LL_BAND[_0x40c126]){_0x2e4cef=LL2MC[_0x40c126];break;}}const _0x1f6fbb=this[_0x47a7fe(0xa4e,0x215)](_0x3e3678,_0x2e4cef);return{'lng':parseFloat(_0x1f6fbb[_0x5ae8b8(_0xf64f88._0x5dc393,0x196e)][_0x5ae8b8(_0xf64f88._0x40d2eb,_0xf64f88._0x265dc5)](0x2)),'lat':parseFloat(_0x1f6fbb[_0x5ae8b8(0xfcf,_0xf64f88._0x3dc896)]['toFixed'](0x2))};}['convertor'](_0xe9be2d,_0x5052d7){const _0x362c8a={_0x55f6f9:0x191b,_0x1aec68:0x1122,_0x1c2780:0x13fb,_0x1920f1:0x1213,_0xed8258:0x1780,_0x2d159a:0x1478,_0x3a6ae8:0x1a97},_0x1ef0e7={_0x111bbf:0xed};if(!_0xe9be2d||!_0x5052d7){const _0x24ec7d={};return _0x24ec7d[_0x2b21d3(_0x362c8a._0x55f6f9,_0x362c8a._0x1aec68)]=0x0,_0x24ec7d[_0x5d0e96(_0x362c8a._0x1c2780,0x17fa)]=0x0,_0x24ec7d;}let _0x23550b=_0x5052d7[0x0]+_0x5052d7[0x1]*Math[_0x5d0e96(_0x362c8a._0x1920f1,0x151c)](_0xe9be2d[_0x5d0e96(0x1478,_0x362c8a._0xed8258)]);const _0xf6858f=Math['abs'](_0xe9be2d['lat'])/_0x5052d7[0x9];function _0x5d0e96(_0x49e2ad,_0x31663d){return _0x7afdbe(_0x31663d,_0x49e2ad- -_0x1ef0e7._0x111bbf);}let _0xacdf5b=_0x5052d7[0x2]+_0x5052d7[0x3]*_0xf6858f+_0x5052d7[0x4]*_0xf6858f*_0xf6858f+_0x5052d7[0x5]*_0xf6858f*_0xf6858f*_0xf6858f+_0x5052d7[0x6]*_0xf6858f*_0xf6858f*_0xf6858f*_0xf6858f+_0x5052d7[0x7]*_0xf6858f*_0xf6858f*_0xf6858f*_0xf6858f*_0xf6858f+_0x5052d7[0x8]*_0xf6858f*_0xf6858f*_0xf6858f*_0xf6858f*_0xf6858f*_0xf6858f;_0x23550b*=_0xe9be2d[_0x5d0e96(_0x362c8a._0x2d159a,0xe99)]<0x0?-0x1:0x1,_0xacdf5b*=_0xe9be2d[_0x2b21d3(_0x362c8a._0x3a6ae8,0x10a5)]<0x0?-0x1:0x1;const _0x42cad8={};_0x42cad8['lng']=_0x23550b,_0x42cad8['lat']=_0xacdf5b;function _0x2b21d3(_0x17ece2,_0x2b0a10){return _0x7afdbe(_0x17ece2,_0x2b0a10- -0x443);}return _0x42cad8;}[_0x54a7f1(0xf46,0x941)](_0xb8e5fb,_0x3485e9,_0x22ef09,_0xb87eb6){const _0x3e2b44={_0x32969f:0xcc0,_0xa46fc:0x1686};function _0x1ec4c0(_0x154519,_0x48052a){return _0x54a7f1(_0x154519- -0x63,_0x48052a);}function _0x27f940(_0x2ad846,_0x227a91){return _0x54a7f1(_0x2ad846- -0xce,_0x227a91);}return EARTH_RADIUS*Math['acos'](Math['sin'](_0x22ef09)*Math['sin'](_0xb87eb6)+Math[_0x1ec4c0(0x16f1,_0x3e2b44._0x32969f)](_0x22ef09)*Math[_0x27f940(_0x3e2b44._0xa46fc,0x170c)](_0xb87eb6)*Math[_0x27f940(_0x3e2b44._0xa46fc,0x13bc)](_0x3485e9-_0xb8e5fb));}[_0x7afdbe(0x213f,0x1750)](_0xbe5ed9){return Math['PI']*_0xbe5ed9/0xb4;}['toDegrees'](_0x58b613){return 0xb4*_0x58b613/Math['PI'];}[_0x7afdbe(0xa0d,0xcfc)](_0x1b0078,_0x350f4e,_0x44da05){return _0x350f4e!=null&&(_0x1b0078=Math['max'](_0x1b0078,_0x350f4e)),_0x44da05!=null&&(_0x1b0078=Math['min'](_0x1b0078,_0x44da05)),_0x1b0078;}['getLoop'](_0x280441,_0x52ff6f,_0x277b3a){while(_0x280441>_0x277b3a){_0x280441-=_0x277b3a-_0x52ff6f;}while(_0x280441<_0x52ff6f){_0x280441+=_0x277b3a-_0x52ff6f;}return _0x280441;}[_0x54a7f1(0xfdc,0x1a80)](_0x4ae173){return this['convertLL2MC'](_0x4ae173);}[_0x7afdbe(0x14d8,0x1133)](_0x54f25e){const _0x2e0e73={_0x396bd3:0xe62},_0x31ddbb={_0x200a34:0x4d5},_0x266c74=this['convertLL2MC'](_0x54f25e),_0x5811ad={};_0x5811ad['x']=_0x266c74[_0x55b790(_0x2e0e73._0x396bd3,0x14ed)];function _0x55b790(_0x120d98,_0x5cafd7){return _0x54a7f1(_0x120d98- -_0x31ddbb._0x200a34,_0x5cafd7);}return _0x5811ad['y']=_0x266c74['lat'],_0x5811ad;}['mercatorToLngLat'](_0x437b09){return this['convertMC2LL'](_0x437b09);}['pointToLngLat'](_0x5884be){const _0x4fa116={_0x2fc355:0x12ae,_0x124023:0x16d3},_0x2313b3={_0x5edbf6:0x481},_0x167b94={};function _0x17294a(_0x25e25c,_0x5d0033){return _0x54a7f1(_0x25e25c- -0x89,_0x5d0033);}function _0x5d9012(_0x3e53e9,_0x22178d){return _0x7afdbe(_0x22178d,_0x3e53e9- -_0x2313b3._0x5edbf6);}_0x167b94[_0x17294a(_0x4fa116._0x2fc355,0x114e)]=_0x5884be['x'],_0x167b94['lat']=_0x5884be['y'];const _0x196208=_0x167b94;return this[_0x17294a(_0x4fa116._0x124023,0x16b3)](_0x196208);}['pointToPixel'](_0x5c0c25,_0x359c24,_0x330a5b,_0x3dec5b){const _0x4c4dea={_0x472c57:0xf81,_0x5a68a1:0x12dc,_0x494037:0x125f,_0x516ca3:0x1aad};if(!_0x5c0c25){const _0xf0394={};return _0xf0394['x']=0x0,_0xf0394['y']=0x0,_0xf0394;}_0x5c0c25=this[_0x3f82de(_0x4c4dea._0x472c57,0x9e2)](_0x5c0c25);function _0x5ca0c7(_0x27c543,_0x3be13e){return _0x7afdbe(_0x27c543,_0x3be13e-0x3a);}function _0x3f82de(_0x2cce3a,_0xebda97){return _0x7afdbe(_0xebda97,_0x2cce3a- -0x289);}const _0x2be015=this['getZoomUnits'](_0x359c24),_0x480e02=Math[_0x5ca0c7(0xb97,0x1591)]((_0x5c0c25[_0x3f82de(_0x4c4dea._0x5a68a1,0x1ab1)]-_0x330a5b['lng'])/_0x2be015+_0x3dec5b['width']/0x2),_0x497ce0=Math['round']((_0x330a5b[_0x3f82de(_0x4c4dea._0x494037,_0x4c4dea._0x516ca3)]-_0x5c0c25['lat'])/_0x2be015+_0x3dec5b['height']/0x2),_0x15c1b7={};return _0x15c1b7['x']=_0x480e02,_0x15c1b7['y']=_0x497ce0,_0x15c1b7;}['pixelToPoint'](_0x3500da,_0x44ec29,_0xb96b18,_0xbdc4b7){const _0x40a71d={_0x265170:0x16fe};function _0x154909(_0x2603c8,_0x4c7b03){return _0x7afdbe(_0x2603c8,_0x4c7b03- -0x345);}if(!_0x3500da){const _0x5bab16={};return _0x5bab16['lng']=0x0,_0x5bab16['lat']=0x0,_0x5bab16;}const _0x362ec2=this[_0x154909(0x3de,0x4f8)](_0x44ec29),_0x2069c6=_0xb96b18['lng']+_0x362ec2*(_0x3500da['x']-_0xbdc4b7[_0x190beb(0x1f46,0x15c8)]/0x2),_0x387f38=_0xb96b18[_0x190beb(_0x40a71d._0x265170,0x132b)]-_0x362ec2*(_0x3500da['y']-_0xbdc4b7['height']/0x2),_0x5df9f5={};_0x5df9f5[_0x190beb(0x1872,0x13a8)]=_0x2069c6;function _0x190beb(_0x114a89,_0x31fcbe){return _0x7afdbe(_0x114a89,_0x31fcbe- -0x1bd);}_0x5df9f5['lat']=_0x387f38;const _0x58683a=_0x5df9f5;return this['mercatorToLngLat'](_0x58683a);}[_0x7afdbe(0x8f1,0x83d)](_0x5f3b01){const _0x53da51={_0x15efe5:0xa},_0x52d6cc={_0x2cb52b:0x29f};function _0x3fb9bf(_0x399a05,_0x1ff192){return _0x54a7f1(_0x399a05- -_0x52d6cc._0x2cb52b,_0x1ff192);}return Math[_0x3fb9bf(-_0x53da51._0x15efe5,0x1cd)](0x2,0x12-_0x5f3b01);}}class BaiduMercatorTilingScheme extends Cesium__namespace[_0x54a7f1(0xf44,0x57f)]{constructor(_0x43fdba){const _0x2364ab={_0x12419f:0x5fc},_0x17b02e={_0x44f4d8:0x1009};super(_0x43fdba);const _0x11da3e=_0x43fdba[_0x151684(0x719,_0x2364ab._0x12419f)]||ChinaCRS['WGS84'],_0x4bfe6e=ChinaCRS['BAIDU'],_0xc29391=getTransFun(_0x11da3e,_0x4bfe6e),_0x4cb1c4=getTransFun(_0x4bfe6e,_0x11da3e),_0x47f3a5=new BaiduMercatorProjection();this['_projection']['project']=function(_0x25b369,_0x2d2a86){const _0x530e78={_0x7f1b06:0x14c};function _0x190bd9(_0x29661d,_0x334862){return _0x151684(_0x334862,_0x29661d- -_0x530e78._0x7f1b06);}_0x2d2a86=[Cesium__namespace[_0x4dccfe(0x12a7,_0x17b02e._0x44f4d8)]['toDegrees'](_0x25b369['longitude']),Cesium__namespace['Math']['toDegrees'](_0x25b369['latitude'])];_0xc29391&&(_0x2d2a86=_0xc29391(_0x2d2a86));_0x2d2a86[0x0]=Math['min'](_0x2d2a86[0x0],0xb4),_0x2d2a86[0x0]=Math[_0x190bd9(0x7bb,0xa98)](_0x2d2a86[0x0],-0xb4),_0x2d2a86[0x1]=Math['min'](_0x2d2a86[0x1],85.05112877980659),_0x2d2a86[0x1]=Math['max'](_0x2d2a86[0x1],-85.05112877980659);function _0x4dccfe(_0x2b0110,_0x61b348){return _0x151684(_0x2b0110,_0x61b348- -0xa0);}return _0x2d2a86=_0x47f3a5['lngLatToPoint']({'lng':_0x2d2a86[0x0],'lat':_0x2d2a86[0x1]}),new Cesium__namespace['Cartesian2'](_0x2d2a86['x'],_0x2d2a86['y']);};function _0x151684(_0x4cb9ac,_0x30f63e){return _0x7afdbe(_0x4cb9ac,_0x30f63e- -0x431);}this['_projection']['unproject']=function(_0xeb5680,_0x1f2252){const _0x5c9f25={};_0x5c9f25['lng']=_0xeb5680['x'],_0x5c9f25['lat']=_0xeb5680['y'],_0x1f2252=_0x47f3a5['mercatorToLngLat'](_0x5c9f25);function _0x4e0d52(_0x3c9a0e,_0x566410){return _0x151684(_0x3c9a0e,_0x566410-0x1fc);}_0x1f2252=[_0x1f2252[_0x4e0d52(0x17de,0x1330)],_0x1f2252['lat']];function _0x21760c(_0x2c47de,_0x4285b7){return _0x151684(_0x2c47de,_0x4285b7- -0x56);}return _0x4cb1c4&&(_0x1f2252=_0x4cb1c4(_0x1f2252)),new Cesium__namespace[(_0x4e0d52(0x1322,0x8c9))](Cesium__namespace['Math'][_0x21760c(0x8e9,0x12c9)](_0x1f2252[0x0]),Cesium__namespace[_0x4e0d52(0x1c0e,0x12a5)]['toRadians'](_0x1f2252[0x1]));},this['resolutions']=_0x43fdba['resolutions']||[];}[_0x54a7f1(0x7e9,0x134)](_0x3032f2,_0x1eceff,_0x177a72,_0x31ad09){const _0x3ff462={_0x36e7f5:0x1686,_0x2ab9ac:0x4f2,_0x48b9d3:0x817},_0x100a0c=this['resolutions'][_0x177a72],_0x16b9e2=_0x3032f2*_0x100a0c,_0x18f123=(_0x3032f2+0x1)*_0x100a0c,_0x1842b4=((_0x1eceff=-_0x1eceff)+0x1)*_0x100a0c,_0x1ac95e=_0x1eceff*_0x100a0c;if(!Cesium__namespace[_0x5b69c2(_0x3ff462._0x36e7f5,0x2046)](_0x31ad09))return new Cesium__namespace['Rectangle'](_0x16b9e2,_0x1ac95e,_0x18f123,_0x1842b4);_0x31ad09[_0x5b69c2(_0x3ff462._0x2ab9ac,_0x3ff462._0x48b9d3)]=_0x16b9e2,_0x31ad09['south']=_0x1ac95e,_0x31ad09['east']=_0x18f123;function _0x5d6d6e(_0x1eae07,_0x2aae9b){return _0x54a7f1(_0x1eae07- -0x505,_0x2aae9b);}function _0x5b69c2(_0x259074,_0x402c0c){return _0x54a7f1(_0x259074-0x5,_0x402c0c);}return _0x31ad09['north']=_0x1842b4,_0x31ad09;}[_0x7afdbe(0x171a,0x1098)](_0x46f650,_0x555a21,_0x162411){const _0xed9287={_0x40740a:0x62},_0x269a7f=this['_rectangle'];if(!Cesium__namespace['Rectangle']['contains'](_0x269a7f,_0x46f650))return undefined;const _0x2f711f=this['_projection'],_0x4001d7=_0x2f711f['project'](_0x46f650);if(!Cesium__namespace['defined'](_0x4001d7))return undefined;const _0x19ee34=this['resolutions'][_0x555a21],_0x38df18=Math[_0x47c73e(0xb82,0x150e)](_0x4001d7['x']/_0x19ee34),_0x2c37c3=-Math['floor'](_0x4001d7['y']/_0x19ee34);if(!Cesium__namespace['defined'](_0x162411))return new Cesium__namespace['Cartesian2'](_0x38df18,_0x2c37c3);_0x162411['x']=_0x38df18;function _0x47c73e(_0x538f66,_0x48362d){return _0x7afdbe(_0x48362d,_0x538f66-_0xed9287._0x40740a);}return _0x162411['y']=_0x2c37c3,_0x162411;}}class BaiduImageryProvider{constructor(_0x524683={}){const _0x6c2d2a={_0x1230af:0x51,_0x3e7e23:0xf7,_0x4c5a03:0x67e,_0x2f7690:0xa1c,_0x321588:0x1107,_0x4ca2b8:0x3d,_0x5af0f4:0x48,_0xfdaa9:0x5e8,_0x1fee50:0x608,_0x348b0d:0x638,_0x199bc9:0x62f,_0x10c3f2:0xf71,_0x717b70:0xad0,_0x204853:0x22b,_0x155cac:0xc86,_0x58818a:0x1032,_0xbbf91:0x1a6},_0x3848fd={_0x2a3b70:0x3f5};let _0x4b1ac3;switch(_0x524683['layer']){case'vec':_0x4b1ac3='https://maponline{s}.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles='+(_0x524683['bigfont']?'ph':'pl')+_0xd74fee(0x192,0x12a);break;case _0xd74fee(_0x6c2d2a._0x1230af,_0x6c2d2a._0x3e7e23):_0x4b1ac3='https://maponline{s}.bdimg.com/starpic/{s}?u={mars3d_u}',_0x524683['customTags']=_0x524683[_0x46f71f(0xd71,0x5ef)]||{},_0x524683[_0xd74fee(0x6f2,-0x31a)]['mars3d_u']=(_0x36b5d0,_0x158682,_0x19e5fa,_0x28fa2a)=>{const _0x208172={_0x1e5e04:0x3cb};function _0x462703(_0x1e2e90,_0x1d0c31){return _0xd74fee(_0x1e2e90-0x5fe,_0x1d0c31);}function _0x298e87(_0x2de8fd,_0x157460){return _0x46f71f(_0x2de8fd,_0x157460-_0x208172._0x1e5e04);}return'x='+_0x158682+';y='+-_0x19e5fa+_0x298e87(_0x3848fd._0x2a3b70,0xae8)+_0x28fa2a+_0x298e87(-0x77,0x42a);},_0x524683[_0x46f71f(0x6c5,0x57b)]={..._0x524683[_0xd74fee(_0x6c2d2a._0x4c5a03,0x343)],'qt':_0x46f71f(-0x60,_0x6c2d2a._0x2f7690),'app':'webearth2','udt':'20210830','fm':'46','v':_0xd74fee(_0x6c2d2a._0x321588,0x1348)};break;case'img_z':_0x4b1ac3=_0xd74fee(0xfc,_0x6c2d2a._0x4ca2b8)+(_0x524683['bigfont']?'sh':'sl')+_0xd74fee(0x567,-_0x6c2d2a._0x5af0f4);break;case'custom':_0x524683[_0xd74fee(0x148,0x2a4)]=_0x524683['style']||_0x46f71f(_0x6c2d2a._0xfdaa9,0x4dd),_0x4b1ac3='http://api{s}.map.bdimg.com/customimage/tile?&x={x}&y={y}&z={z}&scale=1&customid='+_0x524683['style'];break;case _0x46f71f(-0x1e6,_0x6c2d2a._0x1fee50):_0x4b1ac3='http://its.map.baidu.com:8002/traffic/TrafficTileService?x={x}&y={y}&level={z}&time='+new Date()['getTime']()+'&label='+(_0x524683['label']||_0xd74fee(_0x6c2d2a._0x348b0d,_0x6c2d2a._0x199bc9))+_0xd74fee(0x96f,_0x6c2d2a._0x10c3f2);break;case'streetview':_0x4b1ac3='https://gss{s}.bdstatic.com/5LUZemja_QUU8t7mm9GUKT-xh_/tile/?udt=20150114&qt=vtile&styles=pl&x={x}&y={y}&z={z}';break;default:_0x4b1ac3=_0x524683['url'];break;}this['options']=_0x524683;const _0x3aef4e={..._0x524683};_0x3aef4e['url']=_0x4b1ac3;function _0x46f71f(_0x978ef4,_0x15c7d5){return _0x54a7f1(_0x15c7d5- -0x457,_0x978ef4);}this['_resource']=getUrlResource(_0x3aef4e),this['_tags']=Cesium__namespace[_0xd74fee(0x78b,_0x6c2d2a._0x717b70)](tags,this[_0xd74fee(0x55c,0xb66)]['customTags']),this['_subdomains']=_0x524683[_0x46f71f(0x872,0x3d9)]??['0','1','2','3'],this[_0x46f71f(_0x6c2d2a._0x204853,0x117)]=0x100,this['_tileHeight']=0x100,this['_maximumLevel']=_0x524683['maximumLevel']??0x12;const _0x49734d=[];for(let _0x4b412e=0x0;_0x4b412e<0x13;_0x4b412e++){_0x49734d[_0x4b412e]=0x100*Math['pow'](0x2,0x12-_0x4b412e);}this[_0xd74fee(0x4c0,0x661)]=new BaiduMercatorTilingScheme({'resolutions':_0x49734d,'rectangleSouthwestInMeters':new Cesium__namespace[(_0xd74fee(0x13b0,_0x6c2d2a._0x155cac))](-20037726.37,-12474104.17),'rectangleNortheastInMeters':new Cesium__namespace['Cartesian2'](20037726.37,12474104.17),'mapChinaCRS':_0x524683['mapChinaCRS']}),this['_rectangle']=this[_0xd74fee(0x4c0,0xcef)]['rectangle'],this['_readyPromise']=Cesium__namespace['defer'](),this[_0x46f71f(0xfc7,0x125f)]=new Cesium__namespace['Event']();function _0xd74fee(_0x334eee,_0x2a3a94){return _0x7afdbe(_0x2a3a94,_0x334eee- -0x582);}this[_0x46f71f(0x866,_0x6c2d2a._0x58818a)]=!![],this[_0x46f71f(0x7c3,-_0x6c2d2a._0xbbf91)][_0x46f71f(0xd0b,0x94b)](!![]);}get['url'](){const _0x2d7ebd={_0x3d4ae5:0x51e};var _0x16c6c4;function _0x290bd9(_0x842729,_0xb2ce29){return _0x7afdbe(_0x842729,_0xb2ce29- -0x733);}return(_0x16c6c4=this['_resource'])===null||_0x16c6c4===void 0x0?void 0x0:_0x16c6c4[_0x290bd9(0x159,_0x2d7ebd._0x3d4ae5)];}get['tileWidth'](){return this['_tileWidth'];}get[_0x7afdbe(0x1ca2,0x17d0)](){function _0x27e498(_0x3bd751,_0x260ba0){return _0x7afdbe(_0x3bd751,_0x260ba0- -0x529);}return this[_0x27e498(0x5ff,0x724)];}get['maximumLevel'](){return this['_maximumLevel'];}get[_0x54a7f1(0x11ca,0x159f)](){return 0x0;}get['tilingScheme'](){const _0x1386ca={_0x1289a9:0x853};function _0x317ab3(_0x4d941d,_0x382aa8){return _0x54a7f1(_0x382aa8-0x3f,_0x4d941d);}return this[_0x317ab3(0x2de,_0x1386ca._0x1289a9)];}get[_0x54a7f1(0x2cc,0xa75)](){return this['_rectangle'];}get['ready'](){function _0x439133(_0x29c8d4,_0x5617ee){return _0x7afdbe(_0x5617ee,_0x29c8d4- -0xf3);}return this[_0x439133(0x15c4,0x1df6)];}get[_0x54a7f1(0x1661,0x1314)](){return this['_readyPromise']['promise'];}get[_0x54a7f1(0xcb4,0x457)](){return this['_errorEvent'];}get[_0x54a7f1(0x8a2,0xda2)](){return this['_credit'];}get[_0x54a7f1(0x1335,0xb3d)](){return!![];}[_0x54a7f1(0x6e4,0x1d1)](_0x5b9503,_0x61ef65,_0x543409){return undefined;}['requestImage'](_0x5eda04,_0x294bc3,_0x422dcc,_0x4dea6e){const _0x28cf7c={_0x31d44d:0x1218,_0x3246b3:0x171c},_0x55ec20={_0xa3f312:0x697};function _0x3516f3(_0x40b131,_0x475e09){return _0x7afdbe(_0x475e09,_0x40b131- -_0x55ec20._0xa3f312);}const _0x758c59=this[_0x3516f3(0xe61,0x169e)],_0x31f1a5=_0x758c59['getUrlComponent'](!![]),_0xec3070=this['_tags'],_0x182a6c={},_0x199a16=_0x31f1a5['match'](templateRegex);Cesium__namespace[_0x3516f3(_0x28cf7c._0x31d44d,_0x28cf7c._0x3246b3)](_0x199a16)&&_0x199a16['forEach'](_0x53e9fa=>{const _0x27fc2f=_0x53e9fa['substring'](0x1,_0x53e9fa['length']-0x1);Cesium__namespace['defined'](_0xec3070[_0x27fc2f])&&(_0x182a6c[_0x27fc2f]=_0xec3070[_0x27fc2f](this,_0x5eda04,_0x294bc3,_0x422dcc));});function _0x425980(_0x47ba47,_0x1e6eda){return _0x7afdbe(_0x47ba47,_0x1e6eda- -0x3f8);}const _0xa59790={};_0xa59790['request']=_0x4dea6e,_0xa59790['templateValues']=_0x182a6c;const _0x2fdefb={};return _0x2fdefb[_0x3516f3(0xc0a,0x3b2)]=!![],_0x2fdefb['flipY']=!![],_0x758c59[_0x3516f3(0x12bf,0x13b6)](_0xa59790)['fetchImage'](_0x2fdefb);}}const templateRegex=/{[^}]+}/g,_0xbdb641={};_0xbdb641['x']=xTag,_0xbdb641['y']=yTag,_0xbdb641[_0x7afdbe(-0x81,0x953)]=reverseYTag,_0xbdb641['z']=zTag,_0xbdb641['s']=sTag;const tags=_0xbdb641;function xTag(_0x118b47,_0x706c4e,_0x2c201a,_0xe9da9e){return _0x706c4e;}function yTag(_0x54e88d,_0x1c3ae2,_0xf4cd30,_0x153a8b){return-_0xf4cd30;}function reverseYTag(_0x532cd9,_0x2d9a9e,_0x1437e9,_0x1dd86c){const _0x451503=_0x532cd9['tilingScheme']['getNumberOfYTilesAtLevel'](_0x1dd86c)-_0x1437e9-0x1;return _0x451503;}function zTag(_0x2e1837,_0x38ebcb,_0x13c2d5,_0x40eb7f){return _0x40eb7f;}function sTag(_0x14b1ae,_0x5c0cc8,_0x5be925,_0x3c0a94){const _0x7b2b49={_0x3c6aec:0xa95},_0x3b86aa={_0x1edf61:0x2f9},_0x4be7db=(_0x5c0cc8+_0x5be925+_0x3c0a94)%_0x14b1ae['_subdomains'][_0x59759c(_0x7b2b49._0x3c6aec,0xc8c)];function _0x59759c(_0x37af0e,_0x4fa3e4){return _0x54a7f1(_0x4fa3e4- -_0x3b86aa._0x1edf61,_0x37af0e);}return _0x14b1ae['_subdomains'][_0x4be7db];}class TencentImageryProvider extends XyzImageryProvider{constructor(_0x491b55={}){const _0x13e849={_0x3c4242:0x267,_0x467270:0xd0b,_0x434af6:0x7a,_0x2cf408:0x1fb,_0x815a44:0x73c};function _0x3fdfc2(_0x173f31,_0x4df90f){return _0x54a7f1(_0x4df90f- -0x2a1,_0x173f31);}switch(_0x491b55['layer']){case _0x3fdfc2(_0x13e849._0x3c4242,_0x13e849._0x467270):_0x491b55[_0x3fdfc2(0xdea,0x782)]=_0x54e770(0xeb5,0x17d7);break;case'img_d':_0x491b55['url']='https://p{s}.map.gtimg.com/sateTiles/{z}/{sx}/{sy}/{x}_{reverseY}.jpg?version=400';const _0x1d8bd3={};_0x1d8bd3['sx']=(_0x16544c,_0x405ef6,_0x4c6d78,_0x23b57d)=>{return _0x405ef6>>0x4;},_0x1d8bd3['sy']=(_0x3238fe,_0x2755ef,_0x331a12,_0x2fde85)=>{return(0x1<<_0x2fde85)-_0x331a12>>0x4;},_0x491b55['customTags']=_0x1d8bd3;break;case _0x3fdfc2(0x1021,0x98e):_0x491b55['url']='https://rt{s}.map.gtimg.com/tile?z={z}&x={x}&y={reverseY}&styleid=2&scene=0';break;case _0x3fdfc2(0x115,0x801):_0x491b55[_0x3fdfc2(-_0x13e849._0x434af6,_0x13e849._0x2cf408)]=_0x491b55['style']||'4',_0x491b55[_0x3fdfc2(0x547,0x782)]=_0x3fdfc2(0xd1e,_0x13e849._0x815a44)+_0x491b55['style']+'&scene=0';break;}_0x491b55['subdomains']=_0x491b55['subdomains']??['0','1','2'];function _0x54e770(_0x574d0d,_0x23e4c9){return _0x54a7f1(_0x574d0d- -0xbe,_0x23e4c9);}super(_0x491b55);}}class GoogleImageryProvider extends XyzImageryProvider{constructor(_0x1212da={}){const _0x5ce281={_0x5f0cc8:0x406,_0x1d0990:0x795,_0x173fcb:0xe2e,_0x3f7721:0xa2e,_0x47bf80:0xade,_0x1f3e14:0x941};function _0xe93135(_0x5363c1,_0x2e5366){return _0x7afdbe(_0x5363c1,_0x2e5366- -0x23b);}let _0x406db6;switch(_0x1212da['layer']){case'img_d':_0x406db6=_0x37f113(0x579,_0x5ce281._0x5f0cc8);break;case'img_z':_0x406db6=_0xe93135(0xdc0,_0x5ce281._0x1d0990);break;case'vec':_0x406db6='https://gac-geo.googlecnapps.club/maps/vt?lyrs=m&x={x}&y={y}&z={z}';break;case'ter':_0x406db6='https://gac-geo.googlecnapps.club/maps/vt?lyrs=t@131,r&gl=CN&x={x}&y={y}&z={z}';break;default:_0x406db6=_0x1212da[_0x37f113(0xb2f,0x1279)];break;}function _0x37f113(_0x4a806b,_0x3c25d8){return _0x54a7f1(_0x4a806b-0x10c,_0x3c25d8);}(_0x1212da[_0xe93135(_0x5ce281._0x173fcb,_0x5ce281._0x3f7721)]||_0x1212da['headers']||_0x1212da[_0x37f113(_0x5ce281._0x47bf80,_0x5ce281._0x1f3e14)])&&(_0x406db6=getUrlResource({'url':_0x406db6['replace']('{s}','1'),'proxy':_0x1212da[_0x37f113(0xb47,0x211)],'headers':_0x1212da['headers'],'queryParameters':_0x1212da['queryParameters']}));const _0x23569e={'subdomains':['1','2','3'],'maximumLevel':0x14,..._0x1212da};_0x23569e[_0xe93135(0x953,0xa16)]=_0x406db6,super(_0x23569e);}}class OsmImageryProvider extends XyzImageryProvider{constructor(_0x225703={}){const _0x1a032d={_0x3a80a:0x6f2,_0x5b0575:0xd55,_0x28e1a1:0x1555,_0x3650d5:0x5d0,_0x1bd9fa:0xa05,_0x4e0fb0:0xeec},_0x7b5fc8={_0x5b5bc4:0x27d};let _0x1281f8='https://tile.openstreetmap.org/{z}/{x}/{y}.png';function _0x54d125(_0xd1bdb5,_0xc4ef8a){return _0x54a7f1(_0xd1bdb5- -0x1e,_0xc4ef8a);}(_0x225703['proxy']||_0x225703[_0x54d125(0xfb4,_0x1a032d._0x3a80a)]||_0x225703[_0x3e9086(0x755,-0xca)])&&(_0x1281f8=getUrlResource({'url':_0x1281f8,'proxy':_0x225703['proxy'],'headers':_0x225703[_0x3e9086(_0x1a032d._0x5b0575,_0x1a032d._0x28e1a1)],'queryParameters':_0x225703[_0x3e9086(0x755,_0x1a032d._0x3650d5)]}));const _0xafe58f={'maximumLevel':0x12,..._0x225703};function _0x3e9086(_0x52e6d8,_0x52a946){return _0x54a7f1(_0x52e6d8- -_0x7b5fc8._0x5b5bc4,_0x52a946);}_0xafe58f[_0x54d125(_0x1a032d._0x1bd9fa,_0x1a032d._0x4e0fb0)]=_0x1281f8,super(_0xafe58f);}}class EmptyImageryProvider extends Cesium__namespace[_0x7afdbe(0xbef,0x510)]{constructor(_0x5ce812={}){const _0x1a3fbf={_0x1d57d4:0x1891,_0x196b98:0xe28,_0x49704b:0x518,_0x4efafd:0xe2e,_0x2faefe:0x2d0,_0x59bbcd:0x110c,_0x4cced2:0x818,_0x23a7fa:0x1011,_0x3202d5:0xa93,_0x4d862f:0xce},_0x33b5e2={_0x430ac2:0x4};function _0x1e98e0(_0x33c4b4,_0x360131){return _0x54a7f1(_0x33c4b4-_0x33b5e2._0x430ac2,_0x360131);}super(_0x5ce812),this['options']=_0x5ce812,this['_minimumLevel']=_0x5ce812['minimumLevel']??0x0,this['_maximumLevel']=_0x5ce812[_0x1e98e0(0x11f7,_0x1a3fbf._0x1d57d4)],this['_tilingScheme']=_0x5ce812[_0xb26545(_0x1a3fbf._0x196b98,_0x1a3fbf._0x49704b)]??new Cesium__namespace[(_0xb26545(_0x1a3fbf._0x4efafd,0x145d))]({'ellipsoid':_0x5ce812['ellipsoid']});_0x5ce812[_0x1e98e0(_0x1a3fbf._0x2faefe,0xd5c)]?this['_rectangle']=Cesium__namespace[_0xb26545(0x6aa,0xf44)][_0xb26545(_0x1a3fbf._0x59bbcd,0xa62)](_0x5ce812[_0xb26545(0x47d,-0x491)],this[_0x1e98e0(_0x1a3fbf._0x4cced2,_0x1a3fbf._0x23a7fa)][_0xb26545(0x47d,0x46b)]):this['_rectangle']=this['_tilingScheme']['rectangle'];function _0xb26545(_0x1ebf6b,_0x1bd5ee){return _0x7afdbe(_0x1bd5ee,_0x1ebf6b- -0x7d);}this['options']=_0x5ce812;const _0x5de796=document['createElement'](_0xb26545(_0x1a3fbf._0x3202d5,_0x1a3fbf._0x4d862f));_0x5de796[_0x1e98e0(0x155b,0x1e3a)]=0x100,_0x5de796['height']=0x100,this['_canvas']=_0x5de796;}['requestImage'](_0x2b69a9,_0x504d34,_0x16b588){const _0x95dba1={_0x33cf72:0x6f7,_0x9b3d88:0x14ca,_0xa4bf54:0x17ae,_0x292455:0x5da,_0x25db5c:0x15f4,_0x577fb7:0x10d1,_0x2f4c58:0x2ef,_0x35bb4e:0x29e,_0x128640:0x77a,_0xa0d588:0x45b};return new Promise((_0x445585,_0x2717a3)=>{const _0xe0d43e=this['_canvas'],_0x5c0ee1={};_0x5c0ee1[_0x55132f(0x7db,0x548)]=!![];function _0x55132f(_0x12a1dc,_0x36e269){return _0x536c(_0x12a1dc-0x9a,_0x36e269);}function _0x593604(_0x453fa2,_0x1f3c32){return _0x536c(_0x1f3c32- -0x1b8,_0x453fa2);}const _0x422615=_0xe0d43e[_0x593604(-_0x95dba1._0x33cf72,0x99)]('2d',_0x5c0ee1);_0x422615['clearRect'](0x0,0x0,_0xe0d43e[_0x55132f(_0x95dba1._0x9b3d88,_0x95dba1._0xa4bf54)],_0xe0d43e[_0x55132f(_0x95dba1._0x292455,0xf6c)]);if(_0x16b588<this[_0x593604(0xc62,0xf8f)]||Cesium__namespace[_0x55132f(_0x95dba1._0x25db5c,0x188f)](this['_maximumLevel'])&&_0x16b588>this['_maximumLevel'])return _0x445585(_0xe0d43e);if(this['options'][_0x55132f(0x803,0x1b4)]){_0x422615['strokeStyle']='#ffff00',_0x422615[_0x55132f(_0x95dba1._0x577fb7,0x125b)]=0x2,_0x422615['strokeRect'](0x1,0x1,0xff,0xff);const _0x3039e9='L'+_0x16b588+'X'+_0x2b69a9+'Y'+_0x504d34;_0x422615['font']=_0x593604(0xd59,0xc31),_0x422615['textAlign']=_0x593604(_0x95dba1._0x2f4c58,_0x95dba1._0x35bb4e),_0x422615['fillStyle']='black',_0x422615['fillText'](_0x3039e9,0x7f,0x7f),_0x422615[_0x55132f(0x62e,_0x95dba1._0x128640)]=_0x55132f(_0x95dba1._0xa0d588,0xd40),_0x422615['fillText'](_0x3039e9,0x7c,0x7c),_0x422615['restore']();}_0x445585(_0xe0d43e);});}}const _0x383a10={};_0x383a10[_0x7afdbe(-0x21b,0x851)]=null,_0x383a10[_0x7afdbe(0x19de,0x13c2)]=XyzImageryProvider,_0x383a10['TdtImageryProvider']=TdtImageryProvider,_0x383a10[_0x54a7f1(0x12a7,0x11f3)]=GaodeImageryProvider,_0x383a10[_0x54a7f1(0x10f0,0x8ce)]=BaiduImageryProvider,_0x383a10[_0x54a7f1(0xab4,0xeef)]=TencentImageryProvider,_0x383a10['GoogleImageryProvider']=GoogleImageryProvider,_0x383a10[_0x54a7f1(0xed6,0xec9)]=OsmImageryProvider,_0x383a10['EmptyImageryProvider']=EmptyImageryProvider;var index$5=_0x383a10;class GroupLayer extends BaseGraphicLayer{constructor(_0x3c0deb={}){super(_0x3c0deb),this['_arrLayer']=[];}get['layer'](){const _0x2f6926={_0x254258:0xb8},_0x4fa59e={_0x1e5d71:0x456};function _0xc26eab(_0x4481d2,_0x46c532){return _0x54a7f1(_0x4481d2- -_0x4fa59e._0x1e5d71,_0x46c532);}return this[_0xc26eab(-_0x2f6926._0x254258,0x55e)];}get['arrLayer'](){function _0x1bc57c(_0x54c581,_0x526cb9){return _0x54a7f1(_0x526cb9- -0x483,_0x54c581);}return this[_0x1bc57c(0x186,-0xe5)];}get['hasEmptyGroup'](){const _0x11b6ef={_0x3eb575:0x1128,_0x1e2463:0xa0c};function _0xb0e779(_0x71a5ec,_0x3a9700){return _0x7afdbe(_0x3a9700,_0x71a5ec- -0x8b);}return this[_0xb0e779(_0x11b6ef._0x3eb575,_0x11b6ef._0x1e2463)]===0x0;}get[_0x7afdbe(0xb56,0xd96)](){const _0x239795={_0x21edaf:0xe9e},_0x123d0d={_0x90d108:0x315};function _0x270d1c(_0x4c8aa4,_0x4cc517){return _0x7afdbe(_0x4c8aa4,_0x4cc517- -_0x123d0d._0x90d108);}return this[_0x270d1c(0x154c,_0x239795._0x21edaf)]>0x0;}get[_0x7afdbe(0x973,0x11b3)](){const _0x500f7a={_0x244d86:0x976,_0x1f226b:0x3ef,_0x3e21cd:0x1001,_0x425fb1:0xac4},_0x5e58e3={_0x12b375:0x2c7};function _0x3cf6be(_0x33b763,_0x2b73e7){return _0x7afdbe(_0x33b763,_0x2b73e7- -0x6ef);}var _0x269d37;function _0x492d35(_0x34177e,_0x41b921){return _0x7afdbe(_0x41b921,_0x34177e- -_0x5e58e3._0x12b375);}if(((_0x269d37=this['options'])===null||_0x269d37===void 0x0||(_0x269d37=_0x269d37['layers'])===null||_0x269d37===void 0x0?void 0x0:_0x269d37[_0x492d35(0xeec,_0x500f7a._0x244d86)])>0x0)return this[_0x3cf6be(0x244,_0x500f7a._0x1f226b)][_0x492d35(0x9ee,0x1285)]['length'];else{var _0x27a66b;return((_0x27a66b=this['_arrLayer'])===null||_0x27a66b===void 0x0?void 0x0:_0x27a66b[_0x3cf6be(_0x500f7a._0x3e21cd,_0x500f7a._0x425fb1)])||0x0;}}get[_0x54a7f1(0x882,0x7f7)](){const _0x207927={_0x13f201:0x57a},_0x372e83={_0x5a9580:0x4a9};function _0x4793ad(_0xc46f88,_0x2c6efb){return _0x54a7f1(_0xc46f88- -_0x372e83._0x5a9580,_0x2c6efb);}if(Cesium__namespace['defined'](this[_0x20604f(0xb07,_0x207927._0x13f201)]['hasOpacity']))return this[_0x20604f(0xd4d,0x57a)]['hasOpacity'];function _0x20604f(_0xa85029,_0x46889d){return _0x54a7f1(_0x46889d- -0x336,_0xa85029);}if(this['_arrLayer']['length']===0x0)return![];return this['_arrLayer'][0x0]['hasOpacity'];}get[_0x54a7f1(0x1783,0x17a7)](){if(this['_arrLayer']['length']===0x0)return![];return this['_arrLayer'][0x0]['hasZIndex'];}get['zIndex'](){return this['options']['zIndex'];}set['zIndex'](_0x17f659){const _0x2c60f8={_0x238116:0xd8b,_0x2f7646:0x1088,_0x22a87d:0x4a1,_0x335e50:0xd8b,_0x24dcde:0xd27};function _0x2bc357(_0x2dcd74,_0x40e311){return _0x54a7f1(_0x2dcd74-0x103,_0x40e311);}function _0x39f81d(_0x1f323c,_0x28da0a){return _0x7afdbe(_0x1f323c,_0x28da0a- -0x5ca);}this['options'][_0x2bc357(_0x2c60f8._0x238116,0x856)]=_0x17f659;for(let _0x20aa2c=this['_arrLayer'][_0x2bc357(_0x2c60f8._0x2f7646,0x7db)]-0x1;_0x20aa2c>=0x0;_0x20aa2c--){const _0x4d106a=this[_0x2bc357(_0x2c60f8._0x22a87d,-0x1b2)][_0x20aa2c];_0x4d106a['hasZIndex']&&!_0x4d106a[_0x2bc357(0xd8b,0x441)]&&(_0x4d106a[_0x2bc357(_0x2c60f8._0x335e50,_0x2c60f8._0x24dcde)]=_0x17f659);}}['_showHook'](_0xaca553){this['eachLayer'](_0x1d184c=>{_0x1d184c['show']=_0xaca553;},this);}['_mountedHook'](){const _0x5a5b95={_0x146209:0x8aa,_0x5989e7:0xca3,_0x30596c:0xa81,_0x463feb:0x17c3},_0x4cd075={_0x1d3f8b:0x234};super['_mountedHook']();function _0x38148a(_0xb96407,_0x5f1d0e){return _0x7afdbe(_0x5f1d0e,_0xb96407- -_0x4cd075._0x1d3f8b);}function _0x23e3f2(_0x532300,_0x13e803){return _0x54a7f1(_0x13e803-0x259,_0x532300);}const _0x3e35ee=this[_0x38148a(_0x5a5b95._0x146209,_0x5a5b95._0x5989e7)][_0x38148a(_0x5a5b95._0x30596c,0x10c5)];if(_0x3e35ee&&_0x3e35ee[_0x23e3f2(0x17e6,0x11de)]>0x0)for(let _0x2775cf=0x0;_0x2775cf<_0x3e35ee['length'];_0x2775cf++){const _0x2ad4a4=_0x3e35ee[_0x2775cf];if(_0x2ad4a4 instanceof BaseLayer)_0x2ad4a4['eventParent']=this,this[_0x38148a(0x16c0,0x2105)](_0x2ad4a4);else{_0x2ad4a4[_0x23e3f2(_0x5a5b95._0x463feb,0xffa)]=this,_0x2ad4a4[_0x23e3f2(0x7cf,0x104f)]=this['isPrivate'];const _0x3591ad=create$3(_0x2ad4a4,this['templateValues']);_0x3591ad&&this['addLayer'](_0x3591ad);}}}['_addedHook'](){const _0x3c4b1b={_0x141000:0x10e0},_0x45c6f9=[];this['eachLayer'](_0x35a765=>{function _0x2a6d3e(_0x17f74e,_0x59fc99){return _0x536c(_0x59fc99-0x348,_0x17f74e);}_0x35a765[_0x2a6d3e(0x978,0xfc2)]=this,this['_map']['addLayer'](_0x35a765);function _0x3b5178(_0x589236,_0x34bfb5){return _0x536c(_0x589236- -0x1ae,_0x34bfb5);}_0x45c6f9[_0x3b5178(0xc33,_0x3c4b1b._0x141000)](_0x35a765['readyPromise']);},this),Promise['all'](_0x45c6f9)['then'](_0x1a5d0d=>{function _0x4eb1a3(_0x11ce95,_0x36764b){return _0x536c(_0x11ce95- -0x1b9,_0x36764b);}this['_readyPromise'][_0x4eb1a3(0xac2,0xc1d)](this);});}[_0x54a7f1(0xa4f,0x10ed)](){this['removeMapChilds']();}['addChildsToMap'](){const _0x3f5b94={_0x308e48:0xd7b,_0xe36243:0x816};this['eachLayer'](_0x179a5d=>{function _0x1a971e(_0x1a3d54,_0x474fce){return _0x536c(_0x474fce-0x16a,_0x1a3d54);}this[_0x1a971e(_0x3f5b94._0x308e48,_0x3f5b94._0xe36243)]['addLayer'](_0x179a5d);},this);}['removeMapChilds'](){this['eachLayer'](_0x53df97=>{this['_map']['removeLayer'](_0x53df97);},this);}[_0x7afdbe(0x1ed9,0x18f4)](_0x3a1df3){const _0x5ae885={_0x64fb0c:0x65c,_0x4da4c5:0xe5a,_0x417b55:0x37a,_0xca72f:0xfbb,_0x31bae8:0xec,_0x56d05d:0x561},_0x199171={_0x56929f:0x4b7},_0x146d6a={_0x5243b6:0x175};_0x3a1df3['parent']&&(_0x3a1df3[_0x3f4274(_0x5ae885._0x64fb0c,0xcf0)](_0x3a1df3['parent']),_0x3a1df3[_0x3f4274(0x147d,0xb96)]=null);_0x3a1df3[_0x32acfc(0x12e5,0xcf6)]=this['id'],_0x3a1df3[_0x3f4274(0x147d,0x19bd)]=this,_0x3a1df3['options'][_0x3f4274(_0x5ae885._0x4da4c5,0x719)]=this;function _0x3f4274(_0x3fd97a,_0x36fc55){return _0x7afdbe(_0x36fc55,_0x3fd97a- -_0x146d6a._0x5243b6);}this[_0x3f4274(0x457,-_0x5ae885._0x417b55)]['push'](_0x3a1df3);function _0x32acfc(_0x29f5bb,_0x3d20ac){return _0x54a7f1(_0x29f5bb- -_0x199171._0x56929f,_0x3d20ac);}return this['isAdded']&&!_0x3a1df3['isAdded']?this[_0x32acfc(0x31c,0xb50)][_0x3f4274(0x177f,_0x5ae885._0xca72f)](_0x3a1df3):(_0x3a1df3[_0x32acfc(_0x5ae885._0x31bae8,_0x5ae885._0x56d05d)](this['_map']),_0x3a1df3['addEventParent'](this)),this;}[_0x54a7f1(0xf5d,0x6a9)](_0x9bd145){const _0x1204dc={_0x41659e:0x5fd,_0x46d7db:0x9b0};_0x9bd145[_0x6ab164(0x1417,0x135b)]=null,_0x9bd145[_0x6ab164(0xed6,0x53a)](this);function _0x421583(_0x4d8968,_0x4c3deb){return _0x7afdbe(_0x4d8968,_0x4c3deb- -0x469);}function _0x6ab164(_0x5cb601,_0x5993e0){return _0x7afdbe(_0x5cb601,_0x5993e0- -0x297);}return removeArrayItem(this['_arrLayer'],_0x9bd145),this[_0x421583(_0x1204dc._0x41659e,0x598)]&&_0x9bd145[_0x421583(_0x1204dc._0x46d7db,0x5e8)]&&this[_0x421583(0xab3,0x598)]['removeLayer'](_0x9bd145),this;}[_0x7afdbe(0x169f,0x18c2)](){for(let _0x2698e9=this['_arrLayer']['length']-0x1;_0x2698e9>=0x0;_0x2698e9--){const _0x51ba02=this['_arrLayer'][_0x2698e9];this['removeLayer'](_0x51ba02);}this['_arrLayer']=[];}['eachLayer'](_0x187e5c,_0x57f39a){const _0x55352b={_0x404ea9:0x8f,_0x6b5672:0x6e4,_0x3b53e6:0x336},_0x1801cb={_0x98d9f2:0x12e};function _0x4c09ef(_0x5ed325,_0x59897b){return _0x7afdbe(_0x59897b,_0x5ed325- -0x53d);}if(!this['_arrLayer'])return;function _0x419419(_0x29aa4c,_0x47a736){return _0x54a7f1(_0x29aa4c-0x20e,_0x47a736);}return this[_0x4c09ef(_0x55352b._0x404ea9,_0x55352b._0x6b5672)][_0x4c09ef(_0x55352b._0x3b53e6,-0x555)](_0x10e8ea=>{function _0xb957be(_0x258724,_0x394884){return _0x419419(_0x258724- -0x718,_0x394884);}_0x187e5c[_0xb957be(0xba7,_0x1801cb._0x98d9f2)](_0x57f39a,_0x10e8ea);}),this;}[_0x54a7f1(0x97f,0xbf)](){return this['_arrLayer'];}[_0x54a7f1(0xbaf,0x11db)](){const _0x45527b={_0x35d178:0xfe0,_0x10a924:0x8c2,_0x27fb39:0x3b3},_0x4fc3fc={_0x20dc32:0x13f},_0x3c5d94={_0x5bb48b:0x1dc},_0x35f874=this['_arrLayer']||[];function _0x2cc717(_0x5eb0be,_0x478ee5){return _0x54a7f1(_0x478ee5- -_0x3c5d94._0x5bb48b,_0x5eb0be);}function _0x52f834(_0x24c1d5,_0x2c7ce7){return _0x7afdbe(_0x24c1d5,_0x2c7ce7- -_0x4fc3fc._0x20dc32);}return this[_0x52f834(_0x45527b._0x35d178,_0x45527b._0x10a924)][_0x52f834(-0x47a,_0x45527b._0x27fb39)](_0x6a5c1a=>{if(_0x6a5c1a['pid']!==this['id'])return;if(this['_arrLayer']['indexOf'](_0x6a5c1a)!==-0x1)return;_0x35f874['push'](_0x6a5c1a);},this),_0x35f874;}['getLayerById'](_0x314cf8){const _0xae9506={_0x223f38:0x4e5,_0x1642c0:0x1539},_0x3b735={_0x37e847:0x147},_0x3b4b4f=this['_arrLayer'];if(!this[_0x306fb0(0xec5,_0xae9506._0x223f38)]||this['_arrLayer']['length']===0x0)return;for(let _0x23630f=0x0,_0x5cccc4=_0x3b4b4f[_0x2f000d(_0xae9506._0x1642c0,0x108b)];_0x23630f<_0x5cccc4;_0x23630f++){const _0x188ff3=_0x3b4b4f[_0x23630f];if(_0x188ff3['id']===_0x314cf8)return _0x188ff3;}function _0x2f000d(_0x4364dc,_0x1a9ea5){return _0x7afdbe(_0x4364dc,_0x1a9ea5- -0x128);}function _0x306fb0(_0x957e45,_0x1f1356){return _0x54a7f1(_0x1f1356-_0x3b735._0x37e847,_0x957e45);}return undefined;}['getLayer'](_0x2b54f5){const _0x43ea3e={_0x46112f:0x322,_0x244039:0x9d0,_0x5710ef:0x593};function _0x5079ae(_0x5de2d2,_0x3feaae){return _0x7afdbe(_0x3feaae,_0x5de2d2- -0x238);}function _0x26ecb4(_0x28bb33,_0x3d402e){return _0x54a7f1(_0x28bb33-0x1e7,_0x3d402e);}if(!this['_arrLayer']||this[_0x26ecb4(0x585,-_0x43ea3e._0x46112f)]['length']===0x0)return undefined;for(let _0xf6a56e=0x0;_0xf6a56e<this['_arrLayer'][_0x26ecb4(0x116c,_0x43ea3e._0x244039)];_0xf6a56e++){const _0x130cf0=this[_0x5079ae(0x394,-_0x43ea3e._0x5710ef)][_0xf6a56e];if(_0x130cf0['name']===_0x2b54f5||_0x130cf0['id']===_0x2b54f5)return _0x130cf0;}return undefined;}['hasLayer'](_0x4732f5,_0x2d5c75){const _0x374399={_0x580707:0x167c,_0xefb205:0x4d7},_0x5d3f2b={_0x5be60c:0x4d5};function _0x528e2a(_0x205141,_0x2b4838){return _0x54a7f1(_0x2b4838- -_0x5d3f2b._0x5be60c,_0x205141);}for(let _0x4f0643=0x0;_0x4f0643<this['_arrLayer'][_0x4d7dd9(0xd69,_0x374399._0x580707)];_0x4f0643++){const _0x20c1a2=this[_0x4d7dd9(0x182,-_0x374399._0xefb205)][_0x4f0643];if(_0x2d5c75&&_0x20c1a2===_0x2d5c75)continue;if(_0x20c1a2['name']===_0x4732f5||_0x20c1a2['id']===_0x4732f5)return!![];}function _0x4d7dd9(_0x258ed2,_0x4e3884){return _0x54a7f1(_0x258ed2- -0x21c,_0x4e3884);}return![];}['_toJsonEx'](_0x351746){const _0x184392={_0x1f1722:0x15a1,_0x4c4a04:0x205d,_0x4502fb:0x15e3},_0x555c35={_0x2a42e2:0x38d},_0x3aa93e=[];this['eachLayer'](_0x54e099=>{const _0x46fbf4=_0x54e099[_0x38882c(_0x184392._0x1f1722,_0x184392._0x4c4a04)]();function _0x209580(_0x433ef7,_0x164cf8){return _0x536c(_0x164cf8- -0x264,_0x433ef7);}delete _0x46fbf4['pid'],delete _0x46fbf4['id'];function _0x38882c(_0x360ae7,_0x20b5d0){return _0x536c(_0x360ae7-_0x555c35._0x2a42e2,_0x20b5d0);}delete _0x46fbf4['zIndex'],delete _0x46fbf4['private'],_0x3aa93e[_0x209580(_0x184392._0x4502fb,0xb7d)](_0x46fbf4);},this),_0x3aa93e['length']>0x0&&(_0x351746['layers']=_0x3aa93e);}[_0x7afdbe(0x1bd8,0x14ea)](_0x5066a2){const _0x1246b2={_0x4bfed2:0x19bb};let _0x148710;const _0x530aff=this[_0x449b69(0xc64,0x8a1)]();_0x530aff['forEach'](_0x583534=>{if(!_0x583534['getRectangle'])return;function _0x3e3b26(_0x246b1b,_0x21d99d){return _0x449b69(_0x246b1b- -0x2f5,_0x21d99d);}const _0x33f6a6=_0x583534[_0x3e3b26(0x107c,_0x1246b2._0x4bfed2)]();function _0x5d6e97(_0x3e8a34,_0x471865){return _0x449b69(_0x471865- -0x2e5,_0x3e8a34);}if(!Cesium__namespace[_0x5d6e97(0xb6b,0x1451)](_0x33f6a6))return;_0x148710?_0x148710=Cesium__namespace['Rectangle']['union'](_0x33f6a6,_0x148710):_0x148710=_0x33f6a6;},this);function _0x449b69(_0x2132bf,_0xc10e6c){return _0x7afdbe(_0xc10e6c,_0x2132bf- -0x179);}return _0x5066a2?formatRectangle(_0x148710):_0x148710;}['setOpacity'](_0x59bd54){function _0x6376f7(_0x4f135a,_0xd15535){return _0x7afdbe(_0xd15535,_0x4f135a- -0x2d4);}this[_0x6376f7(0x21e,0x942)](_0x5b8e35=>{_0x5b8e35['opacity']=_0x59bd54;},this);}[_0x54a7f1(0xdca,0x16c1)](){this['eachLayer'](_0x1c4502=>{_0x1c4502['toTop']();},this);}[_0x54a7f1(0x1527,0x1e8f)](){const _0x146ab7={_0x16bf2b:0x546};function _0x4b443a(_0x5e082a,_0x14f609){return _0x54a7f1(_0x5e082a-0x1af,_0x14f609);}const _0x120305=this[_0x2bcf7e(0x1d2,0x86)];function _0x2bcf7e(_0x350fbd,_0x3b452f){return _0x7afdbe(_0x350fbd,_0x3b452f- -_0x146ab7._0x16bf2b);}for(let _0x56983e=_0x120305[_0x4b443a(0x1134,0x11a0)]-0x1;_0x56983e>=0x0;_0x56983e--){const _0x228cff=_0x120305[_0x56983e];_0x228cff[_0x4b443a(0x16d6,0x15ce)]();}}['reload'](){const _0x41a6e5={_0x1bc1e0:0x10d1,_0x5ee46c:0x1130,_0x1ba71c:0x11a5},_0x35ea20={_0x2516d6:0xde};function _0x5e184f(_0x206912,_0x230a1f){return _0x54a7f1(_0x230a1f- -_0x35ea20._0x2516d6,_0x206912);}const _0x20de94=this['_arrLayer'];function _0x41cf2c(_0x23e56b,_0x39022f){return _0x7afdbe(_0x39022f,_0x23e56b- -0x514);}for(let _0x1e0953=_0x20de94['length']-0x1;_0x1e0953>=0x0;_0x1e0953--){const _0x59216c=_0x20de94[_0x1e0953];_0x59216c[_0x41cf2c(_0x41a6e5._0x1bc1e0,_0x41a6e5._0x5ee46c)]?_0x59216c[_0x5e184f(_0x41a6e5._0x1ba71c,0x12d9)]():(this[_0x41cf2c(0xc77,0x1518)](_0x59216c),this[_0x5e184f(0x1033,0x15e8)](_0x59216c));}}['destroy'](_0x5c2f08){this['eachLayer'](_0x3a0105=>{function _0x41b0e5(_0x3d797d,_0x23ebfc){return _0x536c(_0x23ebfc- -0xb7,_0x3d797d);}function _0x640f2a(_0x4c450d,_0x45ba1d){return _0x536c(_0x4c450d- -0x32f,_0x45ba1d);}_0x3a0105!==null&&_0x3a0105!==void 0x0&&_0x3a0105[_0x640f2a(-0x24,0x9ae)]&&_0x3a0105[_0x640f2a(-0x24,-0x119)](_0x5c2f08);},this),super['destroy'](_0x5c2f08);}}register$3(_0x7afdbe(0xf19,0xdb2),GroupLayer);class BaseTileLayer extends BaseLayer{constructor(_0x208832={}){super(_0x208832),this['_setRectangleByOptions'](_0x208832),this['isTile']=!![];}get[_0x54a7f1(0x131a,0x13f9)](){return this['_imageryLayer'];}get['imageryProvider'](){const _0x6f7ebe={_0x5b9a29:0xe0};function _0x13141b(_0x5af095,_0x4cf8b7){return _0x54a7f1(_0x4cf8b7-_0x6f7ebe._0x5b9a29,_0x5af095);}function _0x4b44ff(_0x24ae7a,_0x1c1196){return _0x7afdbe(_0x1c1196,_0x24ae7a- -0x98);}var _0x594759;return(_0x594759=this[_0x13141b(0xca5,0xb21)])===null||_0x594759===void 0x0?void 0x0:_0x594759[_0x13141b(0x1141,0x17ff)];}get['crs'](){const _0x4b153c={_0x46342e:0xb18},_0xb5b3cf={_0x1b66d5:0x3c0};function _0x323ec3(_0x4d4ce3,_0x86e39e){return _0x7afdbe(_0x4d4ce3,_0x86e39e- -_0xb5b3cf._0x1b66d5);}return this['options']['crs']||CRS[_0x323ec3(0x7d9,_0x4b153c._0x46342e)];}get['alpha'](){return this['opacity'];}set['alpha'](_0x76ce76){this['opacity']=_0x76ce76;}get[_0x54a7f1(0xf00,0x16bb)](){const _0x5787e2={_0x27ba0a:0xfca},_0x1572cb={_0x3e3ba8:0xac};var _0x14ba94;function _0x332a44(_0x367f61,_0x3bce3b){return _0x54a7f1(_0x3bce3b- -_0x1572cb._0x3e3ba8,_0x367f61);}function _0x5e06e5(_0x4ed77e,_0x3362a5){return _0x7afdbe(_0x4ed77e,_0x3362a5- -0xdf);}return this[_0x5e06e5(0x9b0,0x9ff)][_0x332a44(_0x5787e2._0x27ba0a,0xe54)]||((_0x14ba94=this['_imageryLayer'])===null||_0x14ba94===void 0x0?void 0x0:_0x14ba94['brightness']);}set[_0x54a7f1(0xf00,0x8be)](_0x2ade2e){const _0xaa376e={_0x1eff53:0x97e,_0x531ae4:0x3d7,_0x2da542:0xfce};function _0x35e606(_0x361622,_0x1adb96){return _0x54a7f1(_0x361622-0x132,_0x1adb96);}this[_0x414caf(_0xaa376e._0x1eff53,0x388)]['brightness']=_0x2ade2e;if(this['_imageryLayer']==null)return;function _0x414caf(_0x40a956,_0x4974b5){return _0x54a7f1(_0x40a956-0xce,_0x4974b5);}this[_0x35e606(0xb73,_0xaa376e._0x531ae4)][_0x414caf(_0xaa376e._0x2da542,0x12a1)]=_0x2ade2e;}get['contrast'](){const _0x25faf1={_0x3b1dc1:0x12a1,_0x3ff24c:0x16b7},_0x55040a={_0x20d3bf:0xc9};function _0x18199b(_0xe5e16b,_0x19b858){return _0x7afdbe(_0x19b858,_0xe5e16b- -0x4f);}var _0x3874d;function _0x1c95ae(_0x24963c,_0x4d6986){return _0x54a7f1(_0x24963c- -_0x55040a._0x20d3bf,_0x4d6986);}return this[_0x18199b(0xa8f,_0x25faf1._0x3b1dc1)][_0x18199b(0x166b,_0x25faf1._0x3ff24c)]||((_0x3874d=this['_imageryLayer'])===null||_0x3874d===void 0x0?void 0x0:_0x3874d['contrast']);}set[_0x54a7f1(0x148c,0xadb)](_0x468ab9){const _0x3437e8={_0x67779c:0x48b,_0x3d24a5:0xade},_0x39a4f4={_0x444839:0x191};this[_0x197c0f(0x675,_0x3437e8._0x67779c)][_0x45e777(0x1529,0x1cd9)]=_0x468ab9;function _0x197c0f(_0x11cf81,_0x3de4a7){return _0x54a7f1(_0x11cf81- -0x23b,_0x3de4a7);}function _0x45e777(_0x5d6636,_0x5386a6){return _0x7afdbe(_0x5386a6,_0x5d6636- -_0x39a4f4._0x444839);}if(this[_0x45e777(_0x3437e8._0x3d24a5,0x24f)]==null)return;this['_imageryLayer']['contrast']=_0x468ab9;}get[_0x54a7f1(0x26e,0xbcc)](){const _0xef3c4b={_0x41bf55:0x1a1,_0xb24699:0xba5},_0x3d3ee6={_0x374c17:0x38d};function _0x3838a2(_0x2d1fdd,_0x5cc774){return _0x54a7f1(_0x2d1fdd- -_0x3d3ee6._0x374c17,_0x5cc774);}var _0x4e9c32;function _0x5ed601(_0x493cf3,_0x48f854){return _0x7afdbe(_0x493cf3,_0x48f854- -0xca);}return this['options'][_0x3838a2(-0x11f,-_0xef3c4b._0x41bf55)]||((_0x4e9c32=this[_0x5ed601(0x347,_0xef3c4b._0xb24699)])===null||_0x4e9c32===void 0x0?void 0x0:_0x4e9c32['hue']);}set[_0x7afdbe(0xf08,0x49c)](_0x5469eb){this[_0x4b3278(0xae1,0x111d)]['hue']=_0x5469eb;if(this['_imageryLayer']==null)return;function _0x4b3278(_0xc3432a,_0x378d6f){return _0x7afdbe(_0x378d6f,_0xc3432a-0x3);}this['_imageryLayer']['hue']=_0x5469eb;}get[_0x7afdbe(-0xc,0x50b)](){const _0x4ffe0e={_0x5eaa02:0x59f,_0x11aae3:0x2c9,_0x5d78d2:0x730},_0x181f7c={_0x152260:0x4fe},_0x198d61={_0x14025e:0x311};function _0x214765(_0x45bd3a,_0x3e7074){return _0x54a7f1(_0x3e7074- -_0x198d61._0x14025e,_0x45bd3a);}function _0x43632c(_0xf9ab9e,_0x5b729a){return _0x7afdbe(_0xf9ab9e,_0x5b729a- -_0x181f7c._0x152260);}var _0xe5b783;return this[_0x214765(0x136,_0x4ffe0e._0x5eaa02)]['saturation']||((_0xe5b783=this[_0x214765(-_0x4ffe0e._0x11aae3,_0x4ffe0e._0x5d78d2)])===null||_0xe5b783===void 0x0?void 0x0:_0xe5b783[_0x214765(0x3f0,-0x34)]);}set['saturation'](_0x4d1784){const _0x1f7a74={_0xad0d67:0x675};this[_0x192f9f(_0x1f7a74._0xad0d67,0x9b7)][_0x1ea336(-0x562,0x2f9)]=_0x4d1784;function _0x192f9f(_0x6c192b,_0x2f2681){return _0x7afdbe(_0x6c192b,_0x2f2681- -0x127);}if(this['_imageryLayer']==null)return;function _0x1ea336(_0x33006c,_0x42ee70){return _0x7afdbe(_0x33006c,_0x42ee70- -0x212);}this[_0x1ea336(0xc5b,0xa5d)]['saturation']=_0x4d1784;}get['gamma'](){const _0x3dfe22={_0xf25b76:0xdf8,_0x107f83:0xa11};function _0x4da5e8(_0x8692c8,_0x5896ea){return _0x54a7f1(_0x5896ea- -0x35b,_0x8692c8);}var _0x51c442;return this['options']['gamma']||((_0x51c442=this['_imageryLayer'])===null||_0x51c442===void 0x0?void 0x0:_0x51c442[_0x4da5e8(_0x3dfe22._0xf25b76,_0x3dfe22._0x107f83)]);}set['gamma'](_0x40731d){const _0x478a19={_0x49886e:0x1171,_0x181f08:0x969};function _0x4b1bcc(_0x47fd59,_0x12ae4d){return _0x54a7f1(_0x12ae4d- -0x403,_0x47fd59);}this['options'][_0x4b1bcc(_0x478a19._0x49886e,_0x478a19._0x181f08)]=_0x40731d;if(this['_imageryLayer']==null)return;this['_imageryLayer']['gamma']=_0x40731d;}get[_0x7afdbe(0x2f8,0x56a)](){const _0x583418={_0x23e198:0x166};function _0x4c0a92(_0x1abbcb,_0x499e25){return _0x54a7f1(_0x1abbcb- -_0x583418._0x23e198,_0x499e25);}return this[_0x4c0a92(0x74a,-0x22f)]['splitDirection'];}set['splitDirection'](_0x1d6917){const _0x1a8aae={_0x2315a4:0xd63,_0x40ccf0:0x41c,_0x177f14:0x86d,_0xf83772:0x158};function _0x1156e6(_0x598135,_0x441cce){return _0x7afdbe(_0x598135,_0x441cce- -0x6c2);}this[_0x1156e6(_0x1a8aae._0x2315a4,_0x1a8aae._0x40ccf0)][_0x1ba14f(-0xab,-_0x1a8aae._0x177f14)]=_0x1d6917;function _0x1ba14f(_0x2bd7fa,_0x35de71){return _0x7afdbe(_0x35de71,_0x2bd7fa- -0x615);}this['_imageryLayer']&&(this['_imageryLayer'][_0x1156e6(0x4f6,-_0x1a8aae._0xf83772)]=_0x1d6917);}get['hasZIndex'](){return!![];}get['zIndex'](){const _0x351343={_0x499d57:0x9f1},_0x5f063b={_0x3d0304:0x262};function _0x2097c8(_0x10a4e8,_0x16927c){return _0x54a7f1(_0x10a4e8- -_0x5f063b._0x3d0304,_0x16927c);}return this['options'][_0x2097c8(0xa26,_0x351343._0x499d57)];}set['zIndex'](_0x529faf){const _0x2436ad={_0x5afb6f:0xa16,_0x2818e8:0xe96,_0x42f499:0x7b0,_0x1531d0:0x101d,_0xc96db8:0xd31,_0x2d1c0c:0x939,_0x46b3b6:0x51d,_0x37458d:0x1268};this[_0xd93472(_0x2436ad._0x5afb6f,0x724)][_0x10ff91(_0x2436ad._0x2818e8,_0x2436ad._0x42f499)]=_0x529faf;if(this['_imageryLayer']==null||_0x529faf==null)return;function _0x10ff91(_0x5a8e8c,_0x616943){return _0x7afdbe(_0x616943,_0x5a8e8c- -0x20);}this['_map'][_0x10ff91(_0x2436ad._0x1531d0,0x1063)][_0xd93472(0x1727,_0x2436ad._0xc96db8)](this['_imageryLayer']);const _0x4b804b=this[_0xd93472(_0x2436ad._0x2d1c0c,0x427)]['imageryLayers']['_layers'];function _0xd93472(_0x3dcf6b,_0x1686f2){return _0x7afdbe(_0x1686f2,_0x3dcf6b- -0xc8);}for(let _0x4d86a3=_0x4b804b['length']-0x1;_0x4d86a3>=0x0;_0x4d86a3--){const _0x114ed2=_0x4b804b[_0x4d86a3];if(_0x114ed2===this[_0xd93472(0xba7,0x8e9)])continue;const _0x2d2174=_0x114ed2['_mars3d_config'];Cesium__namespace['defined'](_0x2d2174===null||_0x2d2174===void 0x0?void 0x0:_0x2d2174[_0x10ff91(0xe96,_0x2436ad._0x46b3b6)])&&(_0x529faf<_0x2d2174['zIndex']&&this[_0xd93472(_0x2436ad._0x2d1c0c,_0x2436ad._0x37458d)]['imageryLayers']['lower'](this['_imageryLayer']));}}get['subdomainItem'](){let _0x13021f=this['options']['subdomains'];if(!_0x13021f||_0x13021f['length']===0x0)return;isString(_0x13021f)&&(_0x13021f=_0x13021f['split'](''));if(!Array['isArray'](_0x13021f)||_0x13021f['length']===0x0)return;return getArrayRandomOne(_0x13021f);}get[_0x7afdbe(0x190,0x4fa)](){const _0x2f8d3c={_0x4f6f9c:0x148f,_0x30fac9:0x148f},_0x161bee={_0x510e92:0x225};var _0x5e2365;function _0x3ff1cb(_0x2ee172,_0x313b35){return _0x54a7f1(_0x313b35- -0x3d,_0x2ee172);}function _0x2164bc(_0x497ede,_0x420895){return _0x54a7f1(_0x497ede- -_0x161bee._0x510e92,_0x420895);}if(this[_0x2164bc(_0x2f8d3c._0x4f6f9c,0x1f33)])return this[_0x2164bc(_0x2f8d3c._0x30fac9,0x1931)];else return(_0x5e2365=this[_0x3ff1cb(0x9f6,0xa04)])!==null&&_0x5e2365!==void 0x0&&(_0x5e2365=_0x5e2365[_0x3ff1cb(0x1d60,0x16e2)])!==null&&_0x5e2365!==void 0x0&&_0x5e2365[_0x2164bc(0xa7,-0x91d)]?this['_imageryLayer']['imageryProvider']['rectangle']:null;}set['rectangle'](_0x56b0c0){const _0x4e78a4={_0x226631:0x299};function _0x1c0ccd(_0x29d985,_0xc125f6){return _0x54a7f1(_0xc125f6-0x26f,_0x29d985);}function _0x49a795(_0x95b8e0,_0x2afc8c){return _0x54a7f1(_0x95b8e0- -_0x4e78a4._0x226631,_0x2afc8c);}if(_0x56b0c0){if(_0x56b0c0 instanceof Cesium__namespace['Rectangle']){var _0x672eac;this['_rectangle']=_0x56b0c0,this['options'][_0x1c0ccd(0xc9d,0x53b)]=formatRectangle(this['_rectangle']),(_0x672eac=this['_imageryLayer'])!==null&&_0x672eac!==void 0x0&&(_0x672eac=_0x672eac['imageryProvider'])!==null&&_0x672eac!==void 0x0&&_0x672eac['rectangle']&&(this['_imageryLayer']['imageryProvider']['_rectangle']=this['_rectangle']);}}else this['_rectangle']=undefined,delete this['options'][_0x49a795(0x33,-0x8c2)],this['reload']();}[_0x7afdbe(-0x3a4,0x459)](_0x4d2b58){const _0x5e3739={_0x27207e:0xd4,_0x3f0196:0x91c,_0x267836:0xa09,_0x251a6e:0xfe4,_0x16e87e:0xbf2,_0x1049e5:0x316,_0x318492:0x593,_0x4783c4:0x1d6,_0x308e26:0x301,_0x12ee1b:0xfcf,_0x561a03:0x12e1,_0x462ba1:0x1176},_0x3e2410={_0xd935bc:0x4a};function _0x35e823(_0x108414,_0x494d2a){return _0x54a7f1(_0x494d2a- -0x1f8,_0x108414);}function _0x5d0f2b(_0x4003bb,_0x175ff3){return _0x54a7f1(_0x175ff3-_0x3e2410._0xd935bc,_0x4003bb);}if(Cesium__namespace[_0x35e823(0x179c,0x1489)](_0x4d2b58['rectangle'])){if(Cesium__namespace['defined'](_0x4d2b58['rectangle']['xmin'])&&Cesium__namespace['defined'](_0x4d2b58[_0x35e823(0x4f4,_0x5e3739._0x27207e)][_0x5d0f2b(0x123e,0x11dd)])&&Cesium__namespace['defined'](_0x4d2b58['rectangle'][_0x35e823(0x92b,_0x5e3739._0x3f0196)])&&Cesium__namespace[_0x5d0f2b(0x1235,0x16cb)](_0x4d2b58['rectangle'][_0x35e823(_0x5e3739._0x267836,_0x5e3739._0x251a6e)]))this['_rectangle']=Cesium__namespace['Rectangle'][_0x35e823(0x18c,_0x5e3739._0x16e87e)](_0x4d2b58[_0x5d0f2b(-0x564,_0x5e3739._0x1049e5)][_0x5d0f2b(0x155b,0x12d3)],_0x4d2b58[_0x35e823(_0x5e3739._0x318492,0xd4)]['ymin'],_0x4d2b58[_0x5d0f2b(-0x621,0x316)]['xmax'],_0x4d2b58[_0x5d0f2b(-_0x5e3739._0x4783c4,0x316)]['ymax']);else _0x4d2b58['rectangle']instanceof Cesium__namespace[_0x35e823(0x151,_0x5e3739._0x308e26)]?this['_rectangle']=_0x4d2b58['rectangle']:delete _0x4d2b58[_0x5d0f2b(0x143,_0x5e3739._0x1049e5)];}else Cesium__namespace[_0x35e823(0x1485,0x1489)](_0x4d2b58['bbox'])&&_0x4d2b58[_0x5d0f2b(0x1d5d,0x13b8)][_0x5d0f2b(0x894,_0x5e3739._0x12ee1b)]&&_0x4d2b58['bbox']['length']===0x4?this[_0x5d0f2b(0x1c7b,0x16fe)]=Cesium__namespace['Rectangle'][_0x35e823(_0x5e3739._0x561a03,0xbf2)](_0x4d2b58[_0x5d0f2b(0x1b44,0x13b8)][0x0],_0x4d2b58[_0x35e823(0xe09,_0x5e3739._0x462ba1)][0x1],_0x4d2b58[_0x35e823(0x9b6,0x1176)][0x2],_0x4d2b58['bbox'][0x3]):this['_rectangle']=undefined;}['_setOptionsHook'](_0x45bf1f,_0x305f21){const _0x27b791={_0x1ea131:0x1b2b,_0x2a3e41:0x158f},_0x268e94={_0x36321b:0x1d8};function _0x57806e(_0xb87c57,_0x3db2d3){return _0x54a7f1(_0x3db2d3-_0x268e94._0x36321b,_0xb87c57);}this['_setRectangleByOptions'](_0x45bf1f),this[_0x57806e(_0x27b791._0x1ea131,_0x27b791._0x2a3e41)]();}async[_0x7afdbe(-0x12f,0x693)](_0x5947df){return new Cesium__namespace['UrlTemplateImageryProvider'](_0x5947df);}['_addedHook'](){const _0xd57f9a={_0x5b743a:0x671,_0x597308:0xda,_0x57e096:0x3a7,_0x46f69b:0xa4,_0x49dd9a:0x7f7,_0x3d2516:0x222,_0x3438ca:0x1182,_0x2259c9:0x1178,_0x58f048:0x23d,_0x23c208:0xe5,_0x52a8c2:0x165,_0x1dd81b:0xaf3,_0x2ac1b8:0xa02,_0x435ecb:0xfca,_0x30e613:0x5f8,_0x30274d:0x2ca,_0xf0e875:0x13fd,_0x25813e:0xa05,_0xcfb4e5:0x3ed,_0x24c19d:0x9e8,_0x5957d9:0x1d5,_0x10bd11:0x3ba},_0x46a688={_0x28c5ca:0x975},_0xf354db={_0xeb9ec4:0x606},_0x5a4812={_0x2a5d32:0x425},_0x406dde={_0x2dfee7:0x474},_0x3b7945={_0x5a8429:0xf1a,_0x99ca5f:0xe14},_0x3c0720={_0xf59439:0x10e},_0x5f31c0={_0x47c941:0x15fb,_0x3d4877:0x5f1};var _0x36eb9a;function _0x384b71(_0x2bf73b,_0x3bfd88){return _0x7afdbe(_0x2bf73b,_0x3bfd88- -0x737);}this[_0x482a29(-0x2cf,0x62d)][_0x482a29(_0xd57f9a._0x5b743a,0x45b)]&&(this[_0x384b71(_0xd57f9a._0x597308,_0xd57f9a._0x57e096)]['enablePickFeatures']=!![]);const _0x596b72=this[_0x384b71(-0x87b,-_0xd57f9a._0x46f69b)]({...this[_0x384b71(_0xd57f9a._0x49dd9a,0x3a7)],'rectangle':this['rectangle'],'mapChinaCRS':this['_map'][_0x384b71(-_0xd57f9a._0x3d2516,0x7c4)]});function _0x482a29(_0xe57da1,_0x388b4f){return _0x54a7f1(_0x388b4f- -0x283,_0xe57da1);}if(!Cesium__namespace[_0x384b71(_0xd57f9a._0x3438ca,_0xd57f9a._0x2259c9)](_0x596b72))return;const _0x516731=this['options'],_0x20dc39={'show':this['show'],'alpha':this['opacity'],..._0x516731,'rectangle':this[_0x384b71(-0x977,-_0xd57f9a._0x58f048)],'marsOptions':{'onAddTile':_0x42ee1=>{const _0x2c7d5a={_0x1ef11f:0x451},_0x325692=this[_0x2255c5(0x12bf,_0x5f31c0._0x47c941)](_0x42ee1);function _0xd35d1d(_0x5210b0,_0x1f3384){return _0x482a29(_0x1f3384,_0x5210b0-_0x2c7d5a._0x1ef11f);}function _0x2255c5(_0xabc542,_0x2f2593){return _0x482a29(_0x2f2593,_0xabc542-0x1b1);}this['fire'](EventType[_0x2255c5(0xee8,_0x5f31c0._0x3d4877)],_0x325692);},'onAddTileSuccess':_0x2d6368=>{function _0x463392(_0x240e18,_0x275132){return _0x482a29(_0x275132,_0x240e18- -_0x3c0720._0xf59439);}const _0x5ec57d=this['_getTileEventParams'](_0x2d6368);this['fire'](EventType[_0x463392(0x11d5,0xe62)],_0x5ec57d);},'onAddTileError':_0x3edabd=>{const _0x4ecd8d={_0x264d6e:0x1f4},_0x170dcf={_0x4bacd8:0x6c5};function _0x1f32a4(_0x4b0531,_0x1edc6a){return _0x384b71(_0x4b0531,_0x1edc6a-_0x170dcf._0x4bacd8);}const _0x28c58d=this[_0x19d628(0xfa5,_0x3b7945._0x5a8429)](_0x3edabd);function _0x19d628(_0x472c71,_0x881375){return _0x482a29(_0x472c71,_0x881375- -_0x4ecd8d._0x264d6e);}this[_0x19d628(0xf2f,0xa41)](EventType[_0x1f32a4(0x1068,_0x3b7945._0x99ca5f)],_0x28c58d);},'onRemoveTile':_0x570f0e=>{const _0x136508=this['_getTileEventParams'](_0x570f0e);function _0x2e3702(_0xfca9a,_0x3464d5){return _0x384b71(_0x3464d5,_0xfca9a-_0x406dde._0x2dfee7);}this[_0x2e3702(0xe23,0x711)](EventType['removeTile'],_0x136508);}}};this['_imageryLayer']=Cesium__namespace[_0x384b71(0x683,-_0xd57f9a._0x23c208)]['fromProviderAsync'](_0x596b72,_0x20dc39),this[_0x384b71(-_0xd57f9a._0x52a8c2,0x538)]['_mars3d_layerId']=this['id'],this['_imageryLayer']['_mars3d_config']=this['options'];this[_0x384b71(-0x3ea,0x3a7)][_0x384b71(_0xd57f9a._0x1dd81b,_0xd57f9a._0x2ac1b8)]&&this['_map'][_0x482a29(_0xd57f9a._0x435ecb,0xb9a)]&&_0x20dc39['crs']!==CRS['EPSG3857']?(this['_imageryLayer'][_0x482a29(0x1374,0x104c)]=!![],this[_0x384b71(-_0xd57f9a._0x30e613,_0xd57f9a._0x30274d)]['imageryLayersForClamp']['add'](this[_0x384b71(0x267,0x538)])):this['_map']['imageryLayers']['add'](this['_imageryLayer']);Cesium__namespace['defined'](this[_0x482a29(0x32f,0x62d)]['zIndex'])&&(this['zIndex']=this['options'][_0x482a29(_0xd57f9a._0xf0e875,_0xd57f9a._0x25813e)]);if(this['options'][_0x482a29(-_0xd57f9a._0xcfb4e5,0x45b)])this[_0x482a29(-0x2ff,0x62d)][_0x384b71(0x2b5,0x8ce)]=!![],this[_0x482a29(0xdf,_0xd57f9a._0x24c19d)](this['options'][_0x384b71(-0x5b2,_0xd57f9a._0x5957d9)]);else(_0x36eb9a=this[_0x384b71(-_0xd57f9a._0x10bd11,_0xd57f9a._0x57e096)]['symbol'])!==null&&_0x36eb9a!==void 0x0&&(_0x36eb9a=_0x36eb9a[_0x384b71(0x26,-0xff)])!==null&&_0x36eb9a!==void 0x0&&_0x36eb9a[_0x482a29(-0x112,0x45b)]&&this['bindHighlight'](this['options'][_0x482a29(0x774,0x93f)]['styleOptions'][_0x384b71(-0x767,0x1d5)]);_0x596b72[_0x482a29(0x217,0x330)](()=>{if(this['isDestroy']||!this[_0x4ab75c(_0x46a688._0x28c5ca,0x1d1)])return;function _0x4ab75c(_0x3bd297,_0x5a2757){return _0x482a29(_0x5a2757,_0x3bd297-_0x5a4812._0x2a5d32);}this['_readyPromise']['resolve'](this);function _0x5c76e1(_0x49c179,_0x2ed4fb){return _0x384b71(_0x49c179,_0x2ed4fb-_0xf354db._0xeb9ec4);}this[_0x4ab75c(0x105a,0x1572)](EventType['load'],{},!![]);});}['_getTileEventParams'](_0x1d1b3c){const _0x1ed880={_0x4cc907:0x99b,_0x31bf9d:0x285};function _0x931552(_0x193d98,_0x2f94cc){return _0x7afdbe(_0x193d98,_0x2f94cc- -0x275);}return{'x':_0x1d1b3c['x'],'y':_0x1d1b3c['y'],'level':_0x1d1b3c['level'],'extent':formatRectangle(_0x1d1b3c[_0x931552(_0x1ed880._0x4cc907,_0x1ed880._0x31bf9d)])};}['_removedHook'](){const _0x2d249a={_0x3ded59:0x1e28,_0x275845:0x804,_0x25ccbf:0xa9d,_0x4cc4e1:0xd16,_0x591825:0x48e,_0x4786d4:0x62c,_0x525f30:0x143c,_0x3c2760:0xe6d};function _0x3d2e91(_0xa98ba2,_0x4427cc){return _0x54a7f1(_0x4427cc-0x162,_0xa98ba2);}function _0x309460(_0x25927b,_0x378a76){return _0x54a7f1(_0x378a76-0x5c,_0x25927b);}this['unbindHighlight']();if(this[_0x309460(0xd98,0xa9d)]){var _0x1aca1c;this['_imageryLayer'][_0x309460(_0x2d249a._0x3ded59,0x175b)]=![],(_0x1aca1c=this['_imageryLayer'][_0x3d2e91(0x1a48,0x1881)])!==null&&_0x1aca1c!==void 0x0&&_0x1aca1c['destroy']&&this[_0x309460(_0x2d249a._0x275845,_0x2d249a._0x25ccbf)]['imageryProvider'][_0x309460(_0x2d249a._0x4cc4e1,_0x2d249a._0x591825)](),this[_0x309460(_0x2d249a._0x4786d4,0xa9d)]['_clampToTileset']?this['_map'][_0x309460(_0x2d249a._0x525f30,0xe79)]['remove'](this['_imageryLayer']):this['_map'][_0x3d2e91(0xfed,0xf71)]['remove'](this['_imageryLayer'],!![]),delete this[_0x3d2e91(_0x2d249a._0x3c2760,0xba3)];}}['reload'](){const _0x1d9d81={_0x288e60:0x159e},_0x1955f0={_0xa62d68:0xa2b};function _0x1f0f28(_0xb73d9a,_0x33603b){return _0x7afdbe(_0x33603b,_0xb73d9a- -0x2f1);}this[_0x1f0f28(_0x1d9d81._0x288e60,0x1897)]['then'](()=>{function _0x15546a(_0xf6de88,_0x1d5079){return _0x1f0f28(_0xf6de88-0x23e,_0x1d5079);}const _0x5ba65a=this['options']['flyTo']??![];function _0x1cbd26(_0x594100,_0x9c4280){return _0x1f0f28(_0x594100-0x6b,_0x9c4280);}this[_0x15546a(0xbbc,0x111e)]&&this['_removedHook'](),this['isAdded']&&(this[_0x15546a(_0x1955f0._0xa62d68,0x9ce)][_0x1cbd26(0x12a2,0xc9c)]=![],this['once'](EventType[_0x1cbd26(0x4df,0x23b)],()=>{this['options']['flyTo']=_0x5ba65a;}),this['_addedHook']());});}[_0x7afdbe(0xd4f,0x736)](_0x46611d){this['_imageryLayer']&&(this['_imageryLayer']['alpha']=_0x46611d);}['toTop'](){function _0x34fe62(_0x2be499,_0x593784){return _0x7afdbe(_0x2be499,_0x593784- -0x442);}if(this['_map'])return this[_0x34fe62(0xed9,0x5bf)]['imageryLayers']['raiseToTop'](this['_imageryLayer']);}['toBottom'](){const _0x581f9d={_0x51acc9:0x477,_0x178915:0x1144},_0x121c9b={_0x2e0289:0x529},_0x5498f2={_0x8652c:0x35c};function _0x2768a1(_0x118ccf,_0x24cb1c){return _0x54a7f1(_0x118ccf- -_0x5498f2._0x8652c,_0x24cb1c);}function _0x467dec(_0x353fda,_0x59062c){return _0x7afdbe(_0x353fda,_0x59062c- -_0x121c9b._0x2e0289);}if(this[_0x2768a1(_0x581f9d._0x51acc9,0x3c7)])return this['_map'][_0x467dec(0x8b4,0xb14)]['lowerToBottom'](this[_0x2768a1(0x6e5,_0x581f9d._0x178915)]);}async['_flyToEx'](_0x243509){const _0x32f143={_0x210bed:0x10df,_0x3cbf77:0xfb6,_0x42ccc9:0x1738},_0x3ad627=this['rectangle'];function _0x2f5b50(_0x22925c,_0x2e6c9d){return _0x54a7f1(_0x2e6c9d- -0xe9,_0x22925c);}function _0xf7b273(_0x31fb0d,_0x5baa85){return _0x7afdbe(_0x5baa85,_0x31fb0d- -0x4f8);}if(Cesium__namespace[_0xf7b273(0x13b7,0xfbf)](_0x3ad627)&&_0x3ad627['equals']&&!_0x3ad627[_0xf7b273(0xc1b,0x772)](Cesium__namespace['Rectangle'][_0x2f5b50(_0x32f143._0x210bed,_0x32f143._0x3cbf77)])&&_0x3ad627['west']>0x0&&_0x3ad627[_0x2f5b50(_0x32f143._0x42ccc9,0x158d)]>0x0&&_0x3ad627[_0x2f5b50(0x112d,0xf52)]>0x0&&_0x3ad627[_0x2f5b50(0x70a,0x85b)]>0x0){const _0xb1a979={..._0x243509};return _0xb1a979['destination']=_0x3ad627,this['_map'][_0x2f5b50(0xd6e,0x472)]['flyTo'](_0xb1a979);}}[_0x54a7f1(0xc6b,0xb31)](_0x128883){const _0x4ae83c={_0x30cac2:0xc9c,_0x3e5d7d:0x222},_0x3af74f={_0xe12486:0x49c};this['unbindHighlight'](),this['_highlightOptions']=_0x128883;function _0x1ceed7(_0x10ae00,_0x215423){return _0x7afdbe(_0x215423,_0x10ae00- -_0x3af74f._0xe12486);}this['on'](EventType[_0x1ceed7(_0x4ae83c._0x30cac2,_0x4ae83c._0x3e5d7d)],this['_highlight_mouseEventHandler'],this);}['unbindHighlight'](){const _0x217f4b={_0x4b638c:0x16a,_0x319815:0x5ab,_0x2ceb13:0x8d0,_0x2addf0:0x4b7},_0x38e303={_0x3d1091:0x30};function _0x3738b1(_0x18522a,_0x4ed1b5){return _0x7afdbe(_0x4ed1b5,_0x18522a- -0x235);}function _0x330eed(_0x2bd4cb,_0x12e8ba){return _0x7afdbe(_0x2bd4cb,_0x12e8ba-_0x38e303._0x3d1091);}this[_0x330eed(0x16ad,0xde9)]&&(this[_0x330eed(-_0x217f4b._0x4b638c,_0x217f4b._0x319815)](EventType['click'],this['_highlight_mouseEventHandler'],this),this['_map']['isHighlighting'](this)&&this['_map'][_0x330eed(_0x217f4b._0x2ceb13,_0x217f4b._0x2addf0)](),this['_highlightOptions']=null);}['_highlight_mouseEventHandler'](_0x4cab32){const _0x41f8d8={_0xedd989:0x96b,_0x1cf2ef:0x704,_0x2c5f00:0x482,_0x5db204:0xeb4,_0x2b616a:0xd49},_0x3025a4={_0x54c857:0x554},_0x3479a1={_0x15d94c:0x96};function _0x472168(_0x44f8d3,_0x54a4b9){return _0x7afdbe(_0x54a4b9,_0x44f8d3- -_0x3479a1._0x15d94c);}this[_0x472168(_0x41f8d8._0xedd989,_0x41f8d8._0x1cf2ef)][_0x54fc02(-0xcd,-_0x41f8d8._0x2c5f00)]();function _0x54fc02(_0x52f0e6,_0x548e25){return _0x7afdbe(_0x548e25,_0x52f0e6- -_0x3025a4._0x54c857);}const _0x55eb08=_0x4cab32[_0x54fc02(_0x41f8d8._0x5db204,0x8dd)];_0x55eb08&&(this[_0x54fc02(0x8bd,_0x41f8d8._0x2b616a)]=_0x55eb08,this['_map']['openHighlight'](this,this['_highlightOptions'],_0x4cab32));}['_highlight_mouseOutHandler'](_0x344d1c){const _0x10e8a9={_0xa50af2:0x454};function _0x51aef(_0x561564,_0x586267){return _0x54a7f1(_0x586267- -_0x10e8a9._0xa50af2,_0x561564);}this['_map'][_0x51aef(-0x74f,-0x1fb)]();}[_0x7afdbe(0x1c5e,0x15d3)](_0x504b9c,_0x6647d7=!![]){const _0x15c0db={_0x3804f1:0x174e,_0x715982:0x12cf,_0x1656ae:0x1564,_0x1a2ceb:0x157a,_0xa2269:0x100a,_0x35d45f:0x143f},_0x36bfc7={_0x3010aa:0x625};_0x6647d7&&(this['_map']['closeHighlight'](),this[_0x4d0ffb(0x390,0x3dc)][_0x12a3c7(0x1cea,_0x15c0db._0x3804f1)]=this);function _0x12a3c7(_0x8411ee,_0x1f3ac8){return _0x7afdbe(_0x8411ee,_0x1f3ac8- -0xe9);}const _0x7df8e9=_0x504b9c||this['_highlightOptions'];function _0x4d0ffb(_0x508404,_0x1babbb){return _0x7afdbe(_0x508404,_0x1babbb- -_0x36bfc7._0x3010aa);}if(this['_last_graphicsOptions']&&_0x7df8e9){if(!this['_graphicLayer']){const _0x2aebfa={};_0x2aebfa[_0x12a3c7(0x1db4,0x13c1)]='高亮对象图层',_0x2aebfa['private']=!![],this['_graphicLayer']=new GraphicLayer(_0x2aebfa),this[_0x4d0ffb(0x28b,0x3dc)][_0x4d0ffb(0x1373,_0x15c0db._0x715982)](this[_0x12a3c7(_0x15c0db._0x1656ae,0x157a)]);}this[_0x12a3c7(0xf3f,_0x15c0db._0x1a2ceb)]['addGraphic'](this[_0x4d0ffb(0x7d6,0x7ec)]),_0x7df8e9['flyTo']&&this['_graphicLayer'][_0x12a3c7(_0x15c0db._0xa2269,_0x15c0db._0x35d45f)](),this['fire'](EventType['highlightOpen'],{},!![]);}}[_0x7afdbe(0x93f,0x487)](){const _0x58b972={_0x2d0d61:0x292};function _0x414dce(_0x30a930,_0x13440e){return _0x54a7f1(_0x30a930- -_0x58b972._0x2d0d61,_0x13440e);}if(!this['_graphicLayer']||!this['_map'][_0x414dce(0xf21,0x105a)](this))return;this['_graphicLayer']['clear'](),this['_map']['_clearLastHighlight'](),this['fire'](EventType['highlightClose'],{},!![]);}}class TerrainLayer extends BaseLayer{['_showHook'](_0x345e3c){const _0x1806c0={_0x44fc1f:0x61b},_0x3d77c2={_0x21dce9:0x434};function _0x5387ce(_0x637f19,_0x39cbb7){return _0x54a7f1(_0x637f19- -_0x3d77c2._0x21dce9,_0x39cbb7);}_0x345e3c?this['_addedHook']():this[_0x5387ce(_0x1806c0._0x44fc1f,0xc17)]();}[_0x7afdbe(0x31a,0x4b9)](){function _0x267b84(_0x56975e,_0x15c2a6){return _0x7afdbe(_0x15c2a6,_0x56975e- -0x60e);}this[_0x267b84(0x2a8,-0x4ab)]=createTerrainProvider(this['_getTerrainOptions']());}['_getTerrainOptions'](){const _0x4b14e2={_0x3fc967:0x2d,_0x5ae953:0x64e,_0x3f1c2f:0x194a},_0x43fdf0={_0x2b0233:0x262};function _0x2a6c35(_0x327490,_0x35d407){return _0x54a7f1(_0x35d407- -0x43f,_0x327490);}function _0x3ed672(_0x2cd53d,_0x388172){return _0x54a7f1(_0x2cd53d- -_0x43fdf0._0x2b0233,_0x388172);}if(this['options']['terrain']){const _0x10ca67={'templateValues':this['templateValues'],...this['options']['terrain']};return _0x10ca67;}else{const _0x2b27d3={'templateValues':this[_0x2a6c35(0x52a,-_0x4b14e2._0x3fc967)],...this['options']};return _0x2b27d3['type']=this[_0x3ed672(_0x4b14e2._0x5ae953,0x59c)]['terrainType']??_0x2a6c35(_0x4b14e2._0x3f1c2f,0x1323),_0x2b27d3;}}['_addedHook'](){const _0x3876d0={_0x4d8595:0x11e1,_0x48049d:0xa1d,_0x3a1880:0x1312},_0x4b44a1={_0x2f715d:0x10f};function _0x1a6add(_0x3eb7ad,_0x4a9bd7){return _0x54a7f1(_0x3eb7ad- -_0x4b44a1._0x2f715d,_0x4a9bd7);}function _0x3ddb21(_0x58fd00,_0x4b3287){return _0x54a7f1(_0x4b3287-0x253,_0x58fd00);}this[_0x3ddb21(_0x3876d0._0x4d8595,0x1846)]&&this[_0x3ddb21(_0x3876d0._0x48049d,_0x3876d0._0x3a1880)]();}[_0x7afdbe(0x9f3,0xc7d)](){const _0x47e928={_0x581599:0x99c,_0x4f1bb9:0xd4a};function _0x17146f(_0x32ae92,_0x598d5b){return _0x7afdbe(_0x598d5b,_0x32ae92- -0x65);}function _0x1b13d1(_0x2286e7,_0x35b673){return _0x54a7f1(_0x2286e7-0x1a7,_0x35b673);}this[_0x17146f(_0x47e928._0x581599,_0x47e928._0x4f1bb9)][_0x1b13d1(0xa8f,0x30e)]=getNoTerrainProvider();}[_0x7afdbe(0x18fc,0x1985)](_0x125d57,_0x5b9703){const _0x3c996e={_0x54b580:0x19cb};function _0x238ae9(_0x387f31,_0x336c35){return _0x7afdbe(_0x387f31,_0x336c35- -0xf);}this[_0x343d9f(0xbac,0x511)]=createTerrainProvider(this[_0x238ae9(0x207e,_0x3c996e._0x54b580)]());function _0x343d9f(_0x53d82f,_0x23cd64){return _0x7afdbe(_0x53d82f,_0x23cd64- -0x3a5);}this['_updateTerrainProvider']();}[_0x7afdbe(0x1198,0x12ed)](){const _0x3f9dd7={_0x40c441:0x8a6,_0x2261c3:0x8b9},_0x3d667c={_0x211284:0x3fc},_0x1ac972={_0x2e967e:0xba2},_0x830b36={_0x30c5b2:0x3b0};this[_0x4cbe77(0x4ba,0x806)]['then'](_0x3adf31=>{function _0x25f953(_0x510024,_0x5be44f){return _0x4cbe77(_0x5be44f- -0x148,_0x510024);}this['_readyPromise']['resolve'](this);function _0x363a44(_0x7daedc,_0x1958bd){return _0x4cbe77(_0x7daedc-_0x830b36._0x30c5b2,_0x1958bd);}this[_0x25f953(0x5bf,_0x1ac972._0x2e967e)](EventType['load'],{'terrain':this[_0x363a44(0x9b5,0x12fe)]['terrainProvider']});});function _0x48dce4(_0x5f48ae,_0x1fc50c){return _0x7afdbe(_0x5f48ae,_0x1fc50c- -0x15b);}function _0x4cbe77(_0x19cec9,_0x5ef988){return _0x7afdbe(_0x5ef988,_0x19cec9- -_0x3d667c._0x211284);}this[_0x48dce4(0x80f,_0x3f9dd7._0x40c441)][_0x4cbe77(0x71a,_0x3f9dd7._0x2261c3)]=this['_terrainProviderPromise'];}}register$3(_0x54a7f1(0xf7d,0xa13),TerrainLayer);class ArcGisCacheLayer extends BaseTileLayer{async['_createImageryProvider'](_0x6ada66){return await createImageryProvider$i(_0x6ada66);}}async function createImageryProvider$i(_0x5dded4){const _0x3d4687={_0x43d08c:0x413,_0x2b4b9b:0x630,_0x45a560:0x10b4},_0x5e5306={_0x2baa53:0xead,_0x3d6376:0xd04},_0x49a047={_0x340a60:0x149e,_0x4454e7:0xf17},_0x1375c7={_0x293ed6:0xa3},_0x54fd2f={_0x3f94bd:0xbf4},_0x8922a9={_0x4b567f:0x644};function _0x2d7ce3(_0x52d298,_0x5f01b6){return _0x7afdbe(_0x52d298,_0x5f01b6- -_0x8922a9._0x4b567f);}_0x5dded4['url']=_0x5dded4['url']['replace'](_0x3ea4d9(0x1073,0x8bc),'C{arc_x}')['replace']('{y}','R{arc_y}')['replace']('{z}','L{arc_z}');const _0x47db8e=_0x5dded4['upperCase'];_0x5dded4['customTags']=_0x5dded4[_0x2d7ce3(-_0x3d4687._0x43d08c,_0x3d4687._0x2b4b9b)]||{},_0x5dded4[_0x2d7ce3(_0x3d4687._0x45a560,0x630)]['arc_x']=function(_0x7142ad,_0x29079d,_0x44965f,_0x236cda){const _0x319f68={_0x258a16:0x1ef},_0xc8a92d={_0xd1ac62:0x1f6};function _0x49e9ec(_0x5adfac,_0x4d561c){return _0x3ea4d9(_0x4d561c-_0xc8a92d._0xd1ac62,_0x5adfac);}function _0x21c539(_0x49387d,_0x176177){return _0x3ea4d9(_0x49387d-_0x319f68._0x258a16,_0x176177);}return _0x47db8e?padLeft0(_0x29079d[_0x21c539(_0x54fd2f._0x3f94bd,0xf96)](0x10),0x8)[_0x21c539(0x438,-0x2ea)]():padLeft0(_0x29079d['toString'](0x10),0x8);};function _0x3ea4d9(_0x8c1f9a,_0x2e59f5){return _0x54a7f1(_0x8c1f9a- -0x2d9,_0x2e59f5);}return _0x5dded4['customTags']['arc_y']=function(_0x1f951c,_0xfeab3d,_0x3238e2,_0x2fb9c1){const _0x11ec39={_0x71dfd4:0x64f};function _0x4ea572(_0x10e1f4,_0x55c1c7){return _0x2d7ce3(_0x10e1f4,_0x55c1c7-_0x11ec39._0x71dfd4);}function _0x2d58c5(_0x63d905,_0x17372b){return _0x2d7ce3(_0x17372b,_0x63d905- -_0x1375c7._0x293ed6);}return _0x47db8e?padLeft0(_0x3238e2['toString'](0x10),0x8)[_0x2d58c5(0x69,0x685)]():padLeft0(_0x3238e2[_0x4ea572(_0x49a047._0x340a60,_0x49a047._0x4454e7)](0x10),0x8);},_0x5dded4[_0x2d7ce3(-0x40,0x630)]['arc_z']=function(_0x274615,_0xcdd593,_0x4a93fd,_0xe32ce5){function _0x1acf56(_0x192cb6,_0x5d19df){return _0x3ea4d9(_0x192cb6-0x518,_0x5d19df);}return _0x47db8e?padLeft0(_0xe32ce5['toString'](),0x2)[_0x1acf56(0x761,0x745)]():padLeft0(_0xe32ce5['toString'](),0x2);},_0x5dded4['customTags'][_0x3ea4d9(0x101c,0x13d5)]=function(_0x562cba,_0x4114a2,_0x19432b,_0x116918){function _0x5d15ac(_0x237449,_0x412a40){return _0x3ea4d9(_0x237449-0x4a8,_0x412a40);}return _0x47db8e?padLeft0((_0x116918+0x1)['toString'](),0x2)['toUpperCase']():padLeft0((_0x116918+0x1)[_0x5d15ac(_0x5e5306._0x2baa53,_0x5e5306._0x3d6376)](),0x2);},_0x5dded4=converOptions(_0x5dded4),new XyzImageryProvider(_0x5dded4);}ArcGisCacheLayer[_0x7afdbe(0xd6a,0x13d3)]=createImageryProvider$i;const layerType$j='arcgis_cache';register$3(layerType$j,ArcGisCacheLayer),registerImageryProvider(layerType$j,createImageryProvider$i);class ArcGisTileLayer extends BaseTileLayer{async[_0x7afdbe(-0x162,0x693)](_0x433fe4){return await createImageryProvider$h(_0x433fe4);}}async function createImageryProvider$h(_0x3373b1){const _0x57e756={_0xd31ded:0x6de,_0xe131c3:0xcc2,_0xe83335:0x149f,_0x336d6a:0xa68,_0x597f49:0xcbb},_0x2a0085={_0x537622:0x345};_0x3373b1=converOptions(_0x3373b1);function _0x201d9b(_0x3f6bac,_0x19158e){return _0x7afdbe(_0x19158e,_0x3f6bac- -0x21);}function _0x39e1da(_0x502ea7,_0x3bd719){return _0x54a7f1(_0x502ea7- -_0x2a0085._0x537622,_0x3bd719);}if(isString(_0x3373b1['url']))_0x3373b1[_0x39e1da(_0x57e756._0xd31ded,_0x57e756._0xe131c3)]=_0x3373b1[_0x201d9b(0xc30,_0x57e756._0xe83335)]+'/tile/{z}/{y}/{x}',Cesium__namespace[_0x39e1da(0x133c,0x1818)](_0x3373b1[_0x39e1da(_0x57e756._0x336d6a,0x1485)])&&(_0x3373b1['url']+='?token='+_0x3373b1['token']);else _0x3373b1['url']instanceof Cesium__namespace[_0x201d9b(0x1742,0x1492)]&&(_0x3373b1['url']['url']=_0x3373b1['url'][_0x201d9b(0xc30,0x216)]+'/tile/{z}/{y}/{x}',Cesium__namespace['defined'](_0x3373b1['token'])&&(_0x3373b1[_0x39e1da(0x6de,-0x1)]['url']+=_0x201d9b(_0x57e756._0x597f49,0xf53)+_0x3373b1['token']));return new XyzImageryProvider(_0x3373b1);}ArcGisTileLayer['createImageryProvider']=createImageryProvider$h;const layerType$i='arcgis_tile';register$3(layerType$i,ArcGisTileLayer),registerImageryProvider(layerType$i,createImageryProvider$h);class ArcGisImageryProvider{constructor(_0x31df7c={}){const _0x2557fe={_0x12a780:0x1086,_0x684ba5:0x1864,_0x1dfb88:0x6f,_0x174605:0xdb0,_0x24b0f6:0x15dc,_0x38243a:0xd2d},_0x49fb65={_0x3d56e0:0xc},_0x3ac486={_0xab7403:0x44b};this['options']=_0x31df7c;const _0x256b58=Cesium__namespace['Resource'][_0x2c94ce(_0x2557fe._0x12a780,0x1446)](_0x31df7c[_0xa6aec(0x804,0xa17)]);_0x256b58[_0xa6aec(0x9b4,0x1477)]();if(Cesium__namespace['defined'](_0x31df7c['token'])){const _0x4d4edf={};_0x4d4edf[_0x2c94ce(0xb90,0x1354)]=_0x31df7c[_0xa6aec(_0x2557fe._0x684ba5,0xda1)],_0x256b58[_0xa6aec(-_0x2557fe._0x1dfb88,0x8e9)](_0x4d4edf);}this['_resource']=_0x256b58,this['_tileDiscardPolicy']=_0x31df7c['tileDiscardPolicy'],this[_0xa6aec(0xee5,0x562)]=_0x31df7c['tileWidth']??0x100,this['_tileHeight']=_0x31df7c['tileHeight']??0x100,this[_0x2c94ce(0x46a,0x8f5)]=_0x31df7c['maximumLevel'],this['_maxTileLevel']=_0x31df7c['maxTileLevel'],this['_crs']=_0x31df7c['crs'],this['enablePickFeatures']=_0x31df7c['enablePickFeatures']??!![];function _0x2c94ce(_0x4c8672,_0x4590e3){return _0x7afdbe(_0x4590e3,_0x4c8672- -_0x3ac486._0xab7403);}this[_0xa6aec(0x11e2,0xdb5)]=_0x31df7c[_0x2c94ce(_0x2557fe._0x174605,0xe6b)]??!![],this[_0x2c94ce(0xdd6,_0x2557fe._0x24b0f6)](_0x31df7c['crs']||CRS['EPSG4326']);function _0xa6aec(_0x3f1a63,_0x402f6f){return _0x54a7f1(_0x402f6f- -_0x49fb65._0x3d56e0,_0x3f1a63);}this['_errorEvent']=new Cesium__namespace['Event'](),this[_0xa6aec(0x1679,0x147d)]=![],this['_readyPromise']=Cesium__namespace[_0xa6aec(0x649,0x1109)](),this[_0x2c94ce(0xa2c,_0x2557fe._0x38243a)]();}get['url'](){return this['_resource']['_url'];}get['token'](){const _0x122042={_0x536c27:0x13ce},_0x3785f8={_0x394c8b:0x104};function _0x3edbe8(_0x468105,_0x6a8bd8){return _0x54a7f1(_0x6a8bd8-_0x3785f8._0x394c8b,_0x468105);}return this[_0x3edbe8(0x17c7,_0x122042._0x536c27)]['queryParameters']['token'];}get['proxy'](){const _0x291919={_0x1cdec7:0x112e,_0x5cc5e8:0x1062,_0x1ef488:0x89f},_0x416f7c={_0x5eefa2:0x19c};function _0x1fd8ff(_0x1b5cb8,_0x3b1cd2){return _0x54a7f1(_0x1b5cb8- -_0x416f7c._0x5eefa2,_0x3b1cd2);}function _0x2780b4(_0x257f4f,_0x1be0b9){return _0x54a7f1(_0x1be0b9- -0x61,_0x257f4f);}return this[_0x1fd8ff(_0x291919._0x1cdec7,_0x291919._0x5cc5e8)][_0x1fd8ff(_0x291919._0x1ef488,0x85e)];}get[_0x54a7f1(0x141e,0x1297)](){return this['_tileWidth'];}get['tileHeight'](){const _0x33c485={_0x31ff05:0x6b4};function _0x398802(_0x354979,_0x3768a7){return _0x7afdbe(_0x3768a7,_0x354979- -_0x33c485._0x31ff05);}return this[_0x398802(0x599,-0x291)];}get['maximumLevel'](){const _0x403d69={_0x3ba1bc:0x215,_0x1a2e4e:0x39};function _0x3cec0c(_0x347b2d,_0x497e3c){return _0x7afdbe(_0x497e3c,_0x347b2d- -0x6a0);}return this[_0x3cec0c(_0x403d69._0x3ba1bc,-_0x403d69._0x1a2e4e)];}get[_0x7afdbe(0x14e8,0x13f8)](){return 0x0;}get[_0x7afdbe(0x7f6,0xea5)](){return this['_tilingScheme'];}get[_0x54a7f1(0x2cc,0x8e8)](){const _0x71472c={_0x10ff56:0x1744};function _0x4765df(_0x44bcec,_0x5822d4){return _0x54a7f1(_0x5822d4- -0x20c,_0x44bcec);}return this[_0x4765df(_0x71472c._0x10ff56,0x14a8)];}get['tileDiscardPolicy'](){const _0x1a4970={_0x4e0cc5:0x7c6};function _0x591ca4(_0x3490a0,_0x5276c7){return _0x54a7f1(_0x5276c7- -0x12b,_0x3490a0);}return this[_0x591ca4(_0x1a4970._0x4e0cc5,0x63c)];}get['errorEvent'](){return this['_errorEvent'];}get['ready'](){return this['_ready'];}get['readyPromise'](){const _0x5f1b8b={_0x27870c:0x89d,_0x19af2e:0xb0};function _0x187b34(_0x149f73,_0x577e66){return _0x7afdbe(_0x149f73,_0x577e66- -0x58f);}return this[_0x187b34(_0x5f1b8b._0x27870c,-_0x5f1b8b._0x19af2e)]['promise'];}get['credit'](){const _0x2e848c={_0x31007b:0x367};function _0x9aa67b(_0x24c9dc,_0x2127bf){return _0x7afdbe(_0x2127bf,_0x24c9dc- -_0x2e848c._0x31007b);}return this[_0x9aa67b(0xd7c,0x4d4)];}get['usingPrecachedTiles'](){return this['_useTiles'];}get['hasAlphaChannel'](){return!![];}get['layers'](){const _0x1814de={_0x4825b4:0x720},_0x29f36d={_0x2a6768:0x3be};function _0x46a08b(_0x4e222b,_0x2096a0){return _0x7afdbe(_0x2096a0,_0x4e222b- -_0x29f36d._0x2a6768);}return this[_0x46a08b(_0x1814de._0x4825b4,-0xf)]['layers'];}get['layerDefs'](){const _0x5742b1={_0x4d9b5c:0x6fe};function _0x23acaf(_0x4b6460,_0x3cc3be){return _0x7afdbe(_0x4b6460,_0x3cc3be- -_0x5742b1._0x4d9b5c);}return this[_0x23acaf(0x570,0x3e0)]['layerDefs'];}[_0x7afdbe(0x168c,0x1221)](_0x30fd88){const _0x3ce246={_0x45ee27:0x840,_0x232f18:0x11ca,_0x12e363:0x80d,_0x8cddb5:0xada,_0x1883e0:0x45e,_0x454dd5:0x19e,_0x2d7d94:0x818,_0x5ccdd1:0x142,_0x4537e5:0x13f6,_0xe3613:0xa2e,_0x3798e7:0xa34,_0xc77a86:0x146b,_0x431c0d:0x667,_0x1f9699:0x83};function _0x217ca2(_0x232c96,_0x18e067){return _0x7afdbe(_0x18e067,_0x232c96- -0x698);}function _0x3a02dd(_0x49e83d,_0x408ff1){return _0x7afdbe(_0x49e83d,_0x408ff1- -0x477);}if(_0x30fd88===CRS[_0x217ca2(_0x3ce246._0x45ee27,_0x3ce246._0x232f18)])return this[_0x217ca2(0x3aa,-0x372)]=this['options'][_0x217ca2(_0x3ce246._0x12e363,0xf0d)]||new Cesium__namespace[(_0x217ca2(_0x3ce246._0x8cddb5,_0x3ce246._0x1883e0))]({'ellipsoid':this['options']['ellipsoid']}),this['_rectangle']=this['options']['rectangle']??this['_tilingScheme'][_0x217ca2(-_0x3ce246._0x454dd5,-0x856)],!![];else return _0x30fd88===CRS['EPSG4326']||_0x30fd88===CRS[_0x217ca2(-0x164,-_0x3ce246._0x2d7d94)]?(this[_0x217ca2(0x3aa,-_0x3ce246._0x5ccdd1)]=this[_0x3a02dd(-0x43a,0x667)][_0x3a02dd(_0x3ce246._0x4537e5,_0x3ce246._0xe3613)]||new Cesium__namespace[(_0x3a02dd(0x8bd,_0x3ce246._0x3798e7))]({'ellipsoid':this[_0x3a02dd(0x56a,0x667)][_0x217ca2(0x49a,0xb5d)]}),this[_0x3a02dd(0x1071,_0x3ce246._0xc77a86)]=this[_0x3a02dd(0xac8,_0x3ce246._0x431c0d)][_0x3a02dd(0x7e5,_0x3ce246._0x1f9699)]??this['_tilingScheme'][_0x217ca2(-0x19e,-0x814)],!![]):![];}[_0x54a7f1(0xc49,0x1279)](){const _0x2dc17c={_0x56ebea:0x810,_0x19d3e2:0x261},_0x159d69={_0x53e321:0xba7},_0x83d284={_0x53758d:0x1b8};function _0x9008bd(_0x383e39,_0x2ad468){return _0x7afdbe(_0x2ad468,_0x383e39-0x2f);}const _0x5f52a6={};function _0x5d0620(_0x49f430,_0x3c7628){return _0x7afdbe(_0x49f430,_0x3c7628- -_0x83d284._0x53758d);}_0x5f52a6['f']='json';const _0x4e5baa={};_0x4e5baa['queryParameters']=_0x5f52a6;const _0x2be1d5=this['_resource']['getDerivedResource'](_0x4e5baa);_0x2be1d5[_0x5d0620(0xd10,0xcf7)]()[_0x9008bd(_0x2dc17c._0x56ebea,_0x2dc17c._0x19d3e2)](_0x2097c0=>{const _0x5f1d1e={_0x527efe:0x11d};function _0xd18137(_0x272737,_0x2cfe47){return _0x5d0620(_0x272737,_0x2cfe47- -_0x5f1d1e._0x527efe);}this[_0xd18137(0x12f9,0x13e8)](_0x2097c0);})['catch'](_0x4a8bde=>{const _0x3de20e={_0x1ad8fe:0x1c3};function _0x39995c(_0x12113f,_0x1234fe){return _0x9008bd(_0x12113f- -_0x3de20e._0x1ad8fe,_0x1234fe);}this[_0x39995c(_0x159d69._0x53e321,0xfa2)](_0x4a8bde);});}[_0x7afdbe(0x1297,0x16bd)](_0x5419dc){const _0x22a6ab={_0x527b58:0xe4f,_0x4daf9c:0x1873,_0x59a4ce:0xb9f,_0x5e481c:0x489,_0xc4296c:0x2ec,_0x3e26be:0x5bc,_0x25c38e:0x18e4,_0x5d59bd:0x1060,_0x214b9f:0x37f,_0x4f48eb:0x42f,_0x1ab141:0x131d,_0x164311:0x13cc,_0xe4af97:0x99,_0x119660:0x6c,_0x4cdbc0:0x18de,_0x13db68:0x53c,_0x4c3079:0x182,_0x48b9b6:0x8c7,_0x1c0145:0x87,_0x32fbcc:0x25a,_0x2ee197:0x72,_0x23fb7c:0xb2a,_0x578ed4:0x803},_0x28cc3b={_0xcd01e:0x71};this[_0x4fa99c(_0x22a6ab._0x527b58,0x600)]=_0x5419dc;if(!Cesium__namespace[_0x3d2d68(0x1920,0x1f5e)](_0x5419dc[_0x3d2d68(_0x22a6ab._0x4daf9c,0x14db)])||this[_0x4fa99c(0x85e,0x578)]['usePreCachedTilesIfAvailable']===![]){this['_useTiles']=![];if(!this['options']['crs']){var _0x44c212;this['_crs']=getCRSByWkid((_0x44c212=_0x5419dc[_0x3d2d68(0x18de,0x1a4a)])===null||_0x44c212===void 0x0?void 0x0:_0x44c212['wkid']),this['_initTilingSchemeByCrs'](this['_crs']);}}else{this[_0x4fa99c(0x23c,0xa89)]=!![];const _0x365aa1=_0x5419dc[_0x3d2d68(0x1873,0x1253)];this[_0x3d2d68(0x80d,0x930)]=_0x365aa1[_0x4fa99c(0xcbc,0x934)],this['_tileHeight']=_0x365aa1['cols'];!this['_maximumLevel']&&(this['_maximumLevel']=_0x365aa1[_0x3d2d68(0x1437,0xe0d)][_0x3d2d68(0x1224,_0x22a6ab._0x59a4ce)]-0x1);if(!this['options'][_0x4fa99c(-_0x22a6ab._0x5e481c,0x1a3)]){var _0x103e76;this[_0x4fa99c(_0x22a6ab._0xc4296c,_0x22a6ab._0x3e26be)]=getCRSByWkid((_0x103e76=_0x365aa1[_0x3d2d68(0x18de,_0x22a6ab._0x25c38e)])===null||_0x103e76===void 0x0?void 0x0:_0x103e76[_0x4fa99c(-0x43a,-0x9b)]),this['_useTiles']=this['_initTilingSchemeByCrs'](this['_crs']);}this[_0x3d2d68(_0x22a6ab._0x5d59bd,0x1232)]&&!Cesium__namespace['defined'](this['_tileDiscardPolicy'])&&(this[_0x4fa99c(-_0x22a6ab._0x214b9f,_0x22a6ab._0x4f48eb)]=new Cesium__namespace[(_0x3d2d68(0x530,0x547))]({'missingImageUrl':this['_buildImageResource'](0x0,0x0,this['_maximumLevel'])['url'],'pixelsToCheck':[new Cesium__namespace[(_0x3d2d68(0x19a3,_0x22a6ab._0x1ab141))](0x0,0x0),new Cesium__namespace['Cartesian2'](0xc8,0x14),new Cesium__namespace[(_0x4fa99c(0x1b5d,_0x22a6ab._0x164311))](0x14,0xc8),new Cesium__namespace['Cartesian2'](0x50,0x6e),new Cesium__namespace['Cartesian2'](0xa0,0x82)],'disableCheckIfAllPixelsAreTransparent':!![]}));}const _0x300161=_0x5419dc[_0x4fa99c(-_0x22a6ab._0xe4af97,0x402)]||_0x5419dc['extent'];if(!this['options'][_0x4fa99c(-0x52,-_0x22a6ab._0x119660)]&&_0x300161){var _0x1de1b0;let _0xbe5e52=this[_0x4fa99c(0xf0,0x5bc)];_0x300161!==null&&_0x300161!==void 0x0&&(_0x1de1b0=_0x300161[_0x3d2d68(_0x22a6ab._0x4cdbc0,0x1432)])!==null&&_0x1de1b0!==void 0x0&&_0x1de1b0[_0x3d2d68(_0x22a6ab._0x13db68,-_0x22a6ab._0x4c3079)]&&(_0xbe5e52=getCRSByWkid(_0x300161['spatialReference'][_0x3d2d68(0x53c,0x6f3)])),this[_0x4fa99c(-0x20a,0x7f6)](_0x300161['xmin'],_0x300161['ymin'],_0x300161[_0x3d2d68(0x1432,0xa4b)],_0x300161['ymax'],_0xbe5e52);}function _0x4fa99c(_0xeda1f0,_0x4e979d){return _0x54a7f1(_0x4e979d- -0x338,_0xeda1f0);}this['_ready']=!![];function _0x3d2d68(_0x289b45,_0xc5269){return _0x7afdbe(_0xc5269,_0x289b45-_0x28cc3b._0xcd01e);}this[_0x4fa99c(-_0x22a6ab._0x48b9b6,-_0x22a6ab._0x1c0145)]['resolve'](!![]);if(Cesium__namespace['TileProviderError'][_0x4fa99c(0xcc1,0x9d6)])Cesium__namespace[_0x4fa99c(-_0x22a6ab._0x32fbcc,-_0x22a6ab._0x2ee197)]['reportSuccess'](this['_metadataError']);else Cesium__namespace[_0x4fa99c(-_0x22a6ab._0x23fb7c,-0x72)][_0x4fa99c(0x98e,0x1436)]&&Cesium__namespace[_0x4fa99c(0x472,-0x72)]['handleSuccess'](this[_0x3d2d68(_0x22a6ab._0x578ed4,-0x276)]);}['_setExtent'](_0x78b8f9,_0x34eb0e,_0x5f5c5b,_0x4adee3,_0x1002db){const _0x3653c3={_0x39305f:0x9f8,_0x2c8419:0x17f4,_0x14bd9a:0xf2a};if(_0x1002db&&_0x1002db!==CRS['EPSG4326']&&_0x1002db!==CRS['EPSG4490']){const _0x243eea=proj4Trans([_0x78b8f9,_0x34eb0e],_0x1002db),_0x1c852a=proj4Trans([_0x5f5c5b,_0x4adee3],_0x1002db);_0x78b8f9=_0x243eea[0x0],_0x34eb0e=_0x243eea[0x1],_0x5f5c5b=_0x1c852a[0x0],_0x4adee3=_0x1c852a[0x1];}function _0x7227fd(_0x2a8ed9,_0x2431dd){return _0x7afdbe(_0x2a8ed9,_0x2431dd- -0xe6);}if(isNaN(_0x78b8f9)||isNaN(_0x5f5c5b)||isNaN(_0x34eb0e)||isNaN(_0x4adee3)||_0x78b8f9<-0xb3||_0x5f5c5b>0xb3||_0x34eb0e<-0x55||_0x4adee3>0x55)return;const _0x442129={};_0x442129['xmin']=_0x78b8f9,_0x442129['ymin']=_0x34eb0e,_0x442129['xmax']=_0x5f5c5b,_0x442129['ymax']=_0x4adee3,this[_0x7227fd(0x12f9,_0x3653c3._0x39305f)]['extent']=_0x442129;function _0x3adaaf(_0x462d80,_0x46208f){return _0x7afdbe(_0x462d80,_0x46208f- -0xee);}this[_0x3adaaf(0x1578,_0x3653c3._0x2c8419)]=Cesium__namespace['Rectangle'][_0x3adaaf(0x146d,_0x3653c3._0x14bd9a)](_0x78b8f9,_0x34eb0e,_0x5f5c5b,_0x4adee3),logInfo(this['options']['name']+'图层设置了范围:',this,this[_0x7227fd(0x1420,0x9f8)]['extent']);}['_metadataFailure'](_0x12e53e){const _0x2af531={_0x2e59b5:0x322,_0x59f5f9:0xaa1,_0x282bd6:0x15a},_0x3750b1={_0x1a18ba:0x68f};function _0x41e0ac(_0x5a4323,_0x5b1f98){return _0x7afdbe(_0x5a4323,_0x5b1f98- -_0x3750b1._0x1a18ba);}function _0x3f97e6(_0x41c352,_0x2c12ca){return _0x7afdbe(_0x2c12ca,_0x41c352- -0x58f);}var _0xdb5bad;const _0x20c6e8='An\x20error\x20occurred\x20while\x20accessing\x20'+this['_resource']['url']+'.';if(Cesium__namespace['TileProviderError'][_0x41e0ac(_0x2af531._0x2e59b5,_0x2af531._0x59f5f9)])this['_metadataError']=Cesium__namespace[_0x41e0ac(-0x810,-0x19b)]['reportError'](this['_metadataError'],this,this['_errorEvent'],_0x20c6e8,undefined,undefined,undefined,this['_requestMetadata']);else Cesium__namespace['TileProviderError']['handleError']&&(this['_metadataError']=Cesium__namespace['TileProviderError']['handleError'](this['_metadataError'],this,this['_errorEvent'],_0x20c6e8,undefined,undefined,undefined,this['_requestMetadata']));(_0xdb5bad=this[_0x41e0ac(_0x2af531._0x282bd6,-0x1b0)])!==null&&_0xdb5bad!==void 0x0&&_0xdb5bad['reject']&&this['_readyPromise'][_0x41e0ac(-0x6a5,0x357)](new Cesium__namespace[(_0x41e0ac(-0x23e,0x172))](_0x20c6e8));}['getTileCredits'](_0x215952,_0x2e56b9,_0x1e041d){return undefined;}['requestImage'](_0x48e017,_0x1eaff3,_0x53c596,_0x4a094f){const _0x5c5c3f={_0x2a0083:0x9d0};function _0x49594a(_0xba72d4,_0x1dc62f){return _0x7afdbe(_0xba72d4,_0x1dc62f- -0x328);}return Cesium__namespace[_0x49594a(0x10c,_0x5c5c3f._0x2a0083)]['loadImage'](this,this['_buildImageResource'](_0x48e017,_0x1eaff3,_0x53c596,_0x4a094f));}['_buildImageResource'](_0x315c36,_0x245dbc,_0x52f02c,_0x34711d){const _0x221744={_0x4e9e48:0xa84,_0x4bdafd:0xc18,_0x3c273f:0x496,_0x3fd603:0xbb3,_0x3abe8f:0xa0b,_0x49c120:0x18b8,_0x1d794d:0x625,_0x49100d:0x1f20,_0x24d12c:0x1865,_0x453263:0x15e0,_0x1ff1c1:0x1625,_0x3b8d5e:0x9ce,_0x405ca9:0xdb5},_0x13eff7={_0x57d09c:0x190};function _0x3eda73(_0xbb8a68,_0x32fb9e){return _0x54a7f1(_0x32fb9e-_0x13eff7._0x57d09c,_0xbb8a68);}function _0x578854(_0xec0645,_0x1a7627){return _0x7afdbe(_0x1a7627,_0xec0645- -0x2e7);}let _0x3cf916=this[_0x3eda73(0x10d7,0xf51)];_0x3cf916&&Cesium__namespace['defined'](this['_maxTileLevel'])&&(_0x3cf916=_0x52f02c<this['_maxTileLevel']);if(_0x3cf916){this[_0x3eda73(0x3,_0x221744._0x4e9e48)]===CRS[_0x3eda73(_0x221744._0x4bdafd,_0x221744._0x3c273f)]&&(_0x52f02c=_0x52f02c+0x1);const _0x4594c3={};return _0x4594c3[_0x3eda73(0x15bd,_0x221744._0x3fd603)]='tile/'+_0x52f02c+'/'+_0x245dbc+'/'+_0x315c36,_0x4594c3[_0x578854(0xb6c,_0x221744._0x3abe8f)]=_0x34711d,this['_resource'][_0x3eda73(0xe81,_0x221744._0x49c120)](_0x4594c3);}else{const _0x4fddc7=this[_0x3eda73(_0x221744._0x1d794d,0x9a4)]['tileXYToNativeRectangle'](_0x315c36,_0x245dbc,_0x52f02c),_0xd8fa7c=_0x4fddc7['west']+','+_0x4fddc7['south']+','+_0x4fddc7['east']+','+_0x4fddc7[_0x3eda73(0x216,0xad4)],_0x177861={};_0x177861['bbox']=_0xd8fa7c,_0x177861['size']=this['_tileWidth']+','+this[_0x578854(0x966,0xffd)],_0x177861[_0x3eda73(0x5f1,0x109e)]=_0x578854(0x145b,0xaf8),_0x177861['transparent']=!![],_0x177861['f']='image';const _0x2b1557=_0x177861;this[_0x578854(0x75b,-0x11b)]['projection']instanceof Cesium__namespace[_0x3eda73(0xb7a,0x988)]?(_0x2b1557[_0x3eda73(_0x221744._0x49100d,0x15e0)]=this['_wkid']||0x10e6,_0x2b1557['imageSR']=this['_wkid']||0x10e6):(_0x2b1557[_0x3eda73(_0x221744._0x24d12c,_0x221744._0x453263)]=this['_wkid']||0xf11,_0x2b1557['imageSR']=this[_0x3eda73(_0x221744._0x1ff1c1,0xdba)]||0xf11);this['layers']&&(_0x2b1557['layers']='show:'+this[_0x578854(_0x221744._0x3b8d5e,0x137e)]);this[_0x3eda73(0xb05,0xc49)]&&(_0x2b1557['layerDefs']=this['layerDefs']);const _0x4ea321={};return _0x4ea321[_0x578854(0x96a,0xc2b)]='export',_0x4ea321[_0x3eda73(0x177a,_0x221744._0x405ca9)]=_0x34711d,_0x4ea321['queryParameters']=_0x2b1557,this[_0x3eda73(0xa60,0x145a)][_0x578854(0x166f,0xdd6)](_0x4ea321);}}['pickFeatures'](_0x42c1b4,_0x7ca202,_0x43c0eb,_0x1a837f,_0xfa32d){const _0xea6cf1={_0x4e2b01:0x1033,_0x43193c:0xa70,_0x545000:0x3e3,_0x38e45c:0xa70,_0x4480ec:0x3f2,_0x5edec4:0x982,_0x51674b:0xfc,_0x3b40b7:0x6d9,_0x371d8e:0x7f0,_0xb635b:0xb2c,_0x2d87cb:0x1436,_0x4c2131:0x7e5,_0x5638ca:0x18d2,_0x127331:0xe75,_0x9b9ff3:0x1297,_0x3de7c8:0x73,_0x4a6f85:0xd15,_0x54b2d5:0x597},_0x49a86b={_0x244fb4:0x617,_0xe9ca4e:0x1247,_0xf7185d:0x1656,_0xd42257:0x3b9},_0x1b1be8={_0x286c63:0x634},_0x328d1d={_0x58c5c6:0x2e};if(!this[_0x10ead7(0x15bd,_0xea6cf1._0x4e2b01)])return undefined;const _0x46756c=this[_0x10ead7(0x11d,_0xea6cf1._0x43193c)][_0x37e7fd(_0xea6cf1._0x545000,-0x95)](_0x42c1b4,_0x7ca202,_0x43c0eb);let _0x49ea59,_0x3f795a,_0x3b7541;if(this[_0x10ead7(0x24a,_0xea6cf1._0x38e45c)][_0x37e7fd(0x77,0xaa2)]instanceof Cesium__namespace[_0x37e7fd(_0xea6cf1._0x4480ec,_0xea6cf1._0x5edec4)])_0x49ea59=Cesium__namespace['Math']['toDegrees'](_0x1a837f),_0x3f795a=Cesium__namespace['Math'][_0x10ead7(0xcfa,0x119d)](_0xfa32d),_0x3b7541='4326';else{const _0x19466f=this['_tilingScheme'][_0x10ead7(_0xea6cf1._0x51674b,_0xea6cf1._0x3b40b7)]['project'](new Cesium__namespace[(_0x10ead7(_0xea6cf1._0x371d8e,_0xea6cf1._0xb635b))](_0x1a837f,_0xfa32d,0x0));_0x49ea59=_0x19466f['x'],_0x3f795a=_0x19466f['y'],_0x3b7541=_0x37e7fd(0x105,0xa70);}let _0x7ad4c8=_0x10ead7(0xd6c,0x1542);Cesium__namespace['defined'](this['layers'])&&(_0x7ad4c8+=':'+this['layers']);const _0x5114c9={};function _0x10ead7(_0x7967f4,_0x379a1c){return _0x7afdbe(_0x7967f4,_0x379a1c-_0x328d1d._0x58c5c6);}_0x5114c9['f']='json',_0x5114c9[_0x10ead7(_0xea6cf1._0x2d87cb,0x1334)]=0x2,_0x5114c9[_0x10ead7(0xfee,_0xea6cf1._0x4c2131)]='esriGeometryPoint',_0x5114c9[_0x10ead7(0x1bde,0x180b)]=_0x49ea59+','+_0x3f795a,_0x5114c9['mapExtent']=_0x46756c['west']+','+_0x46756c[_0x10ead7(0x15e3,_0xea6cf1._0x5638ca)]+','+_0x46756c[_0x10ead7(_0xea6cf1._0x127331,_0xea6cf1._0x9b9ff3)]+','+_0x46756c['north'],_0x5114c9['imageDisplay']=this[_0x37e7fd(0x168,_0xea6cf1._0x3de7c8)]+','+this['_tileHeight']+',96',_0x5114c9['sr']=_0x3b7541,_0x5114c9[_0x10ead7(0x11bd,0xce3)]=_0x7ad4c8;const _0x17cf67=_0x5114c9;Cesium__namespace['defined'](this[_0x10ead7(0x13f9,_0xea6cf1._0x4a6f85)])&&(_0x17cf67[_0x37e7fd(0x6b3,_0xea6cf1._0x54b2d5)]=this[_0x10ead7(0x30b,0xd15)]);const _0x380872={};_0x380872['url']='identify';function _0x37e7fd(_0x4b9e8f,_0x4f3790){return _0x7afdbe(_0x4f3790,_0x4b9e8f- -_0x1b1be8._0x286c63);}_0x380872['queryParameters']=_0x17cf67;const _0x3c1460=this['_resource'][_0x37e7fd(0x1322,0x1734)](_0x380872);return _0x3c1460['fetchJson']()['then'](function(_0xf44f02){const _0x9cfa25={_0x1e8eaa:0x184},_0x478998=[],_0x145997=_0xf44f02[_0x3d6521(-0x353,_0x49a86b._0x244fb4)];function _0x3d6521(_0x5465ed,_0x3ac84c){return _0x10ead7(_0x5465ed,_0x3ac84c- -_0x9cfa25._0x1e8eaa);}if(!Cesium__namespace['defined'](_0x145997))return _0x478998;const _0x2b5bef=_0x3d6521(_0x49a86b._0xe9ca4e,_0x49a86b._0xf7185d)+_0x3b7541;for(let _0x16c30e=0x0;_0x16c30e<_0x145997['length'];++_0x16c30e){const _0x27efa4=_0x145997[_0x16c30e],_0x48ed5f=new Cesium__namespace['ImageryLayerFeatureInfo']();_0x48ed5f['data']=_0x27efa4,_0x48ed5f[_0x3d6521(_0x49a86b._0xd42257,0x5b3)]=_0x2b5bef,_0x48ed5f['name']=_0x27efa4['value'],_0x48ed5f[_0x17ea39(0x14d3,0x141a)]=_0x27efa4['attributes'],_0x48ed5f[_0x3d6521(0x10b1,0xa2e)](_0x27efa4['attributes']),_0x478998[_0x17ea39(0x10c7,0xbd4)](_0x48ed5f);}function _0x17ea39(_0x532e8f,_0x2eaa1d){return _0x37e7fd(_0x532e8f-0x5c5,_0x2eaa1d);}return _0x478998;});}}function getCRSByWkid(_0x52434b){const _0x1ad0c5={_0x137fb8:0x73};function _0x596e92(_0x433a13,_0x59339e){return _0x7afdbe(_0x59339e,_0x433a13-_0x1ad0c5._0x137fb8);}function _0x13b7b5(_0x53f6aa,_0x22485c){return _0x54a7f1(_0x22485c-0x88,_0x53f6aa);}switch(_0x52434b){case 0x10e6:case 0x10bb:return CRS['EPSG4326'];case 0x118a:return CRS[_0x13b7b5(0xbbf,0x38e)];case 0x18ed4:case 0xdbf31:case 0xf11:return CRS[_0x13b7b5(0x7bc,0xd32)];default:return isNumber(_0x52434b)?'EPSG:'+_0x52434b:undefined;}}class ArcGisLayer extends BaseTileLayer{get['crs'](){var _0x47cffb;return((_0x47cffb=this['imageryProvider'])===null||_0x47cffb===void 0x0?void 0x0:_0x47cffb['_crs'])||this['options']['crs']||CRS['EPSG4326'];}get['capabilities'](){const _0xfb97c5={_0x1f6a02:0x1788};function _0xa6306c(_0x55d906,_0x5d6d32){return _0x7afdbe(_0x5d6d32,_0x55d906- -0x47b);}var _0x26a189;return(_0x26a189=this[_0xa6306c(0x14d2,_0xfb97c5._0x1f6a02)])===null||_0x26a189===void 0x0?void 0x0:_0x26a189['capabilities'];}async['_createImageryProvider'](_0x191574){return await createImageryProvider$g(_0x191574);}['hasPopup'](){if(this['_popupConfig'])return!![];return![];}[_0x7afdbe(0x537,0xfc5)](_0x2adc0c,_0x342acc){this[_0x52f924(0x475,0x217)]={'content':_0x2adc0c,'options':_0x342acc,'layer':this};function _0x52f924(_0x2cfdb5,_0x201549){return _0x54a7f1(_0x201549- -0x240,_0x2cfdb5);}return this['_bindControl'](),this;}['unbindPopup'](){const _0xf28d59={_0x54177c:0x801};this[_0x548741(_0xf28d59._0x54177c,0xf6d)]();function _0x548741(_0x881c54,_0x142caa){return _0x54a7f1(_0x142caa- -0x35c,_0x881c54);}return this['_popupConfig']=null,this;}['closePopup'](){const _0x1eb7b9={_0x48d1a3:0x33a};this[_0xc9a979(-_0x1eb7b9._0x48d1a3,0x481)]&&this['hasPopup']()&&this['_map']['popup']['close'](null,this);function _0xc9a979(_0x4d75de,_0xeacb36){return _0x54a7f1(_0xeacb36- -0x352,_0x4d75de);}return this;}}async function createImageryProvider$g(_0x11d141){const _0x1eb6e1={_0xfd5ba7:0xfe0,_0x246143:0xb49,_0x1a1245:0x1471,_0x55feb2:0xfa4,_0x49f108:0x115a};if(Cesium__namespace['defined'](_0x11d141['layer'])&&!Cesium__namespace[_0x16ffc6(0x16e8,0x19a2)](_0x11d141['url']))switch(_0x11d141['layer']){case _0x493a65(_0x1eb6e1._0xfd5ba7,_0x1eb6e1._0x246143):_0x11d141['url']='https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer';break;case'img_d':_0x11d141['url']=_0x493a65(_0x1eb6e1._0x1a1245,_0x1eb6e1._0x55feb2);break;}_0x11d141=converOptions(_0x11d141);function _0x16ffc6(_0x4ac643,_0x42393a){return _0x7afdbe(_0x42393a,_0x4ac643- -0x1c7);}function _0x493a65(_0x59b40f,_0x27d51d){return _0x7afdbe(_0x27d51d,_0x59b40f- -0x1fa);}if(_0x11d141['czm'])return await Cesium__namespace['ArcGisMapServerImageryProvider'][_0x493a65(0xacc,_0x1eb6e1._0x49f108)](_0x11d141[_0x493a65(0xa57,0x5e1)],_0x11d141);else{const _0x58eb64=new ArcGisImageryProvider(_0x11d141);return await _0x58eb64['readyPromise'],_0x58eb64;}}ArcGisLayer['createImageryProvider']=createImageryProvider$g;const layerType$h=_0x7afdbe(0x17c8,0x129e);register$3(layerType$h,ArcGisLayer),registerImageryProvider(layerType$h,createImageryProvider$g);class BaiduLayer extends BaseTileLayer{async[_0x54a7f1(0x465,0x7)](_0x188b1e){return await createImageryProvider$f(_0x188b1e);}}async function createImageryProvider$f(_0x28305){return _0x28305=converOptions(_0x28305),new BaiduImageryProvider(_0x28305);}BaiduLayer['createImageryProvider']=createImageryProvider$f;const layerType$g='baidu';register$3(layerType$g,BaiduLayer),registerImageryProvider(layerType$g,createImageryProvider$f);class BingLayer extends BaseTileLayer{async[_0x7afdbe(0x630,0x693)](_0x17d01a){return await createImageryProvider$e(_0x17d01a);}}async function createImageryProvider$e(_0xb64f1b){const _0x4ae723={_0x2627de:0x66f,_0x4917e2:0x3f,_0x183375:0x11c5,_0x56bcdd:0x1fd},_0xeafe03={_0x18c22a:0x6a6},_0x2167c5={_0xdec55d:0x6a2},_0x3ce055=_0xb64f1b['url']??'https://dev.virtualearth.net';_0xb64f1b[_0x2a9d5e(-_0x4ae723._0x2627de,0x43)]=_0xb64f1b[_0x4c68e5(-0x5fa,_0x4ae723._0x4917e2)]??_0x2a9d5e(0x338,0xdcd),_0xb64f1b['key']=_0xb64f1b[_0x2a9d5e(_0x4ae723._0x183375,0xc0c)]??bing,_0xb64f1b['layer']=_0xb64f1b['layer']??Cesium__namespace['BingMapsStyle']['Aerial'];function _0x2a9d5e(_0x109c6d,_0x1d4600){return _0x7afdbe(_0x109c6d,_0x1d4600- -_0x2167c5._0xdec55d);}_0xb64f1b=converOptions(_0xb64f1b);const _0x347dc2={'mapStyle':_0xb64f1b['layer'],..._0xb64f1b};function _0x4c68e5(_0x244ca4,_0x43484e){return _0x7afdbe(_0x244ca4,_0x43484e- -_0xeafe03._0x18c22a);}return await Cesium__namespace[_0x4c68e5(0x3bb,-_0x4ae723._0x56bcdd)]['fromUrl'](_0x3ce055,_0x347dc2);}BingLayer['createImageryProvider']=createImageryProvider$e;const layerType$f='bing';register$3(layerType$f,BingLayer),registerImageryProvider(layerType$f,createImageryProvider$e);class GaodeLayer extends BaseTileLayer{async['_createImageryProvider'](_0x41415f){return await createImageryProvider$d(_0x41415f);}}async function createImageryProvider$d(_0x588ec7){const _0x55ef3a={_0xd95ef1:0xec1},_0x56ee54={_0x428ced:0x149};_0x588ec7[_0x1e57d1(0xb84,0x129c)]=_0x588ec7['chinaCRS']||ChinaCRS[_0x1e57d1(0x7b9,_0x55ef3a._0xd95ef1)];function _0x2abf75(_0x32084f,_0x47d028){return _0x54a7f1(_0x32084f-0x50,_0x47d028);}function _0x1e57d1(_0x26723a,_0x386a8f){return _0x54a7f1(_0x26723a- -_0x56ee54._0x428ced,_0x386a8f);}return _0x588ec7=converOptions(_0x588ec7),new GaodeImageryProvider(_0x588ec7);}GaodeLayer[_0x7afdbe(0x1e6d,0x13d3)]=createImageryProvider$d;const layerType$e=_0x54a7f1(0x4e4,0x436);register$3(layerType$e,GaodeLayer),registerImageryProvider(layerType$e,createImageryProvider$d);class GeeLayer extends BaseTileLayer{async['_createImageryProvider'](_0x349956){return await createImageryProvider$c(_0x349956);}}async function createImageryProvider$c(_0x554d22){const _0x307650={_0x3410b7:0x8f8,_0x274e1a:0x838},_0xc180f7={_0x201eff:0x1a0};function _0x29d35f(_0x15ae11,_0x2b9a11){return _0x54a7f1(_0x15ae11- -_0xc180f7._0x201eff,_0x2b9a11);}function _0xf478ff(_0x30fdff,_0x47b47d){return _0x7afdbe(_0x30fdff,_0x47b47d- -0x1bd);}_0x554d22=converOptions(_0x554d22);const _0x556232=await Cesium__namespace['GoogleEarthEnterpriseMetadata'][_0x29d35f(_0x307650._0x3410b7,0x671)](_0x554d22['url']);return new Cesium__namespace[(_0xf478ff(-0x45,_0x307650._0x274e1a))]['fromMetadata'](_0x556232,_0x554d22);}GeeLayer['createImageryProvider']=createImageryProvider$c;const layerType$d=_0x7afdbe(0x263,0x4ed);register$3(layerType$d,GeeLayer),registerImageryProvider(layerType$d,createImageryProvider$c);class GoogleLayer extends BaseTileLayer{async['_createImageryProvider'](_0x234520){return await createImageryProvider$b(_0x234520);}}async function createImageryProvider$b(_0x3ce54c){const _0xb75275={_0x1b4a00:0x266};_0x3ce54c['chinaCRS']=_0x3ce54c[_0x4d31fd(0xf33,0x1095)]||ChinaCRS['GCJ02'],_0x3ce54c=converOptions(_0x3ce54c);function _0x4d31fd(_0x50111a,_0x2c2c41){return _0x54a7f1(_0x50111a-_0xb75275._0x1b4a00,_0x2c2c41);}return new GoogleImageryProvider(_0x3ce54c);}GoogleLayer['createImageryProvider']=createImageryProvider$b;const layerType$c='google';register$3(layerType$c,GoogleLayer),registerImageryProvider(layerType$c,createImageryProvider$b);class ImageLayer extends BaseTileLayer{get[_0x7afdbe(0xb79,0xc51)](){return this['options']['url'];}set[_0x7afdbe(0x12f7,0xc51)](_0x2a5d96){function _0x17cdbf(_0x34df43,_0x4d152b){return _0x7afdbe(_0x34df43,_0x4d152b- -0x418);}this[_0x17cdbf(0x5cb,0x6c6)]['url']=_0x2a5d96,this['reload']();}get[_0x7afdbe(-0x2e,0x513)](){const _0x51a08c={_0x501485:0xd7d};var _0x3038d3;function _0x598457(_0x2d63eb,_0x21b792){return _0x54a7f1(_0x21b792- -0x1f4,_0x2d63eb);}return(_0x3038d3=this['imageryProvider'])===null||_0x3038d3===void 0x0?void 0x0:_0x3038d3[_0x598457(_0x51a08c._0x501485,0xf76)];}async['_createImageryProvider'](_0x2873bc){return await createImageryProvider$a(_0x2873bc);}}async function createImageryProvider$a(_0x1b9bd3){const _0x3c1f15={_0x3f8e5c:0x87,_0x231be4:0x17d,_0x27a8a1:0xa03,_0x4acc5e:0x113,_0x376aa9:0x4da,_0x528a45:0x10a8,_0x2753d2:0x18fb,_0x1123bd:0x129a,_0x15343b:0xa7c,_0x9da035:0xd5,_0x163454:0x3aa},_0x252d0f={_0x12d0e3:0x581};function _0x5dd723(_0x4c5df2,_0x4044c0){return _0x7afdbe(_0x4c5df2,_0x4044c0- -0x698);}if(!_0x1b9bd3['url'])return null;_0x1b9bd3=converOptions(_0x1b9bd3);const _0x13c2c8=new Cesium__namespace['SingleTileImageryProvider'](_0x1b9bd3);if(_0x1b9bd3['crs']===CRS['EPSG3857']){let _0x20b451,_0x43b715;if(_0x1b9bd3['rectangle']){const _0x4bcf18=LngLatPoint['fromCartographic'](new Cesium__namespace[(_0x506906(0x57d,-0x36f))](_0x1b9bd3[_0x506906(-_0x3c1f15._0x3f8e5c,-_0x3c1f15._0x231be4)]['west'],_0x1b9bd3[_0x506906(-0x87,-0x7a1)][_0x506906(0x1323,_0x3c1f15._0x27a8a1)]))['toMercator'](),_0x3336dd=LngLatPoint[_0x5dd723(0x67d,-_0x3c1f15._0x4acc5e)](new Cesium__namespace['Cartographic'](_0x1b9bd3[_0x506906(-0x87,-0x1b7)]['east'],_0x1b9bd3['rectangle'][_0x5dd723(-0x4af,_0x3c1f15._0x376aa9)]))[_0x5dd723(0xd39,_0x3c1f15._0x528a45)]();_0x20b451=new Cesium__namespace['Cartesian2'](_0x4bcf18[0x0],_0x4bcf18[0x1]),_0x43b715=new Cesium__namespace[(_0x5dd723(_0x3c1f15._0x2753d2,_0x3c1f15._0x1123bd))](_0x3336dd[0x0],_0x3336dd[0x1]);}const _0x78d8f={};_0x78d8f[_0x506906(0x1276,0x11e0)]=_0x1b9bd3['numberOfLevelZeroTilesX']||0x1,_0x78d8f['numberOfLevelZeroTilesY']=_0x1b9bd3[_0x5dd723(_0x3c1f15._0x15343b,0x124f)]||0x1,_0x78d8f['rectangleSouthwestInMeters']=_0x20b451,_0x78d8f['rectangleNortheastInMeters']=_0x43b715,_0x13c2c8[_0x5dd723(-_0x3c1f15._0x9da035,_0x3c1f15._0x163454)]=new Cesium__namespace['WebMercatorTilingScheme'](_0x78d8f);}function _0x506906(_0x2a71dd,_0x209e8c){return _0x7afdbe(_0x209e8c,_0x2a71dd- -_0x252d0f._0x12d0e3);}return await _0x13c2c8['requestImage'](),_0x13c2c8;}ImageLayer['createImageryProvider']=createImageryProvider$a;const layerType$b=_0x54a7f1(0x2e5,0x2da);register$3(layerType$b,ImageLayer),registerImageryProvider(layerType$b,createImageryProvider$a);class MapboxLayer extends BaseTileLayer{async[_0x54a7f1(0x465,0x342)](_0x5d05e3){return await createImageryProvider$9(_0x5d05e3);}}async function createImageryProvider$9(_0x383a90){const _0x5cad04={_0x31fa83:0x1161,_0x35130b:0x326},_0x432283={_0x2f9df1:0x4e7},_0x35f790={_0x3b8c96:0x3c},_0xa62fd7={_0x375980:0x369};function _0x3bd566(_0xd739e3,_0xbe354){return _0x54a7f1(_0xd739e3-0x10f,_0xbe354);}_0x383a90['url']=_0x383a90['url']??'https://api.mapbox.com/styles/v1',_0x383a90['username']=_0x383a90['username']??'marsgis',_0x383a90['accessToken']=_0x383a90[_0x3bd566(0xebc,0xf8d)]??_0x383a90['accessToken']??mapbox,_0x383a90['scaleFactor']=_0x383a90[_0x365391(0x19ac,_0x5cad04._0x31fa83)]?!![]:undefined,_0x383a90=converOptions(_0x383a90);const _0x42c006=new Cesium__namespace[(_0x365391(_0x5cad04._0x35130b,0x226))](_0x383a90);function _0x365391(_0x154690,_0x2e360b){return _0x54a7f1(_0x2e360b- -_0xa62fd7._0x375980,_0x154690);}return Promise['resolve'](_0x383a90)['then'](function(_0x5b41e4){function _0x4671f6(_0x45f3e2,_0x304a10){return _0x365391(_0x304a10,_0x45f3e2-_0x35f790._0x3b8c96);}function _0x23d646(_0x427717,_0x1c7bac){return _0x3bd566(_0x427717- -0x45,_0x1c7bac);}_0x383a90['tilingScheme']&&(_0x42c006['_imageryProvider'][_0x4671f6(_0x432283._0x2f9df1,0xa93)]=_0x383a90[_0x4671f6(0x94a,0x116e)]);}),_0x42c006;}MapboxLayer[_0x54a7f1(0x11a5,0x190e)]=createImageryProvider$9;const layerType$a='mapbox';register$3(layerType$a,MapboxLayer),registerImageryProvider(layerType$a,createImageryProvider$9);class OsmLayer extends BaseTileLayer{async['_createImageryProvider'](_0x2376b0){return await createImageryProvider$8(_0x2376b0);}}async function createImageryProvider$8(_0x369004){return _0x369004=converOptions(_0x369004),new OsmImageryProvider(_0x369004);}OsmLayer[_0x54a7f1(0x11a5,0x159b)]=createImageryProvider$8;const layerType$9='osm';register$3(layerType$9,OsmLayer),registerImageryProvider(layerType$9,createImageryProvider$8);class TdtLayer extends BaseTileLayer{async[_0x7afdbe(0xe16,0x693)](_0x3c7925){return await createImageryProvider$7(_0x3c7925);}}async function createImageryProvider$7(_0x9eb3b3){_0x9eb3b3['chinaCRS']=_0x9eb3b3['chinaCRS']||ChinaCRS[_0x140903(0x10b6,0x1217)],_0x9eb3b3=converOptions(_0x9eb3b3);function _0x140903(_0x11cd4a,_0x267e04){return _0x54a7f1(_0x11cd4a-0x25c,_0x267e04);}return new TdtImageryProvider(_0x9eb3b3);}TdtLayer[_0x54a7f1(0x11a5,0x1364)]=createImageryProvider$7;const layerType$8=_0x7afdbe(0xa83,0x5d4);register$3(layerType$8,TdtLayer),registerImageryProvider(layerType$8,createImageryProvider$7);class TencentLayer extends BaseTileLayer{async['_createImageryProvider'](_0x483980){return await createImageryProvider$6(_0x483980);}}async function createImageryProvider$6(_0x2bce02){const _0x2a862d={_0x61d04f:0x1367};_0x2bce02['chinaCRS']=_0x2bce02[_0xeeac4f(0xaff,_0x2a862d._0x61d04f)]||ChinaCRS['GCJ02'],_0x2bce02=converOptions(_0x2bce02);function _0xeeac4f(_0x3909d7,_0x41c343){return _0x54a7f1(_0x3909d7- -0x1ce,_0x41c343);}return new TencentImageryProvider(_0x2bce02);}TencentLayer['createImageryProvider']=createImageryProvider$6;const layerType$7='tencent';register$3(layerType$7,TencentLayer),registerImageryProvider(layerType$7,createImageryProvider$6);class TmsLayer extends BaseTileLayer{async['_createImageryProvider'](_0x1d4a72){return await createImageryProvider$5(_0x1d4a72);}}async function createImageryProvider$5(_0x315372){const _0x300608={_0x3e133d:0x6f4,_0x4fe3b8:0xcd6,_0x304e14:0xa52,_0x5ec65c:0x841},_0x4301a6={_0x4ec4ae:0x55d};function _0x5cdd57(_0x453ba2,_0x18f24e){return _0x7afdbe(_0x18f24e,_0x453ba2- -0x274);}_0x315372=converOptions(_0x315372);!_0x315372['url']&&(_0x315372[_0x18d4d1(_0x300608._0x3e133d,-0x56)]=Cesium__namespace['buildModuleUrl'](_0x5cdd57(0x1717,_0x300608._0x4fe3b8)));function _0x18d4d1(_0x472715,_0x319d7d){return _0x7afdbe(_0x319d7d,_0x472715- -_0x4301a6._0x4ec4ae);}return await Cesium__namespace[_0x18d4d1(0xfc8,0x1183)][_0x5cdd57(_0x300608._0x304e14,_0x300608._0x5ec65c)](_0x315372['url'],_0x315372);}TmsLayer[_0x54a7f1(0x11a5,0x1768)]=createImageryProvider$5;const layerType$6='tms';register$3(layerType$6,TmsLayer),registerImageryProvider(layerType$6,createImageryProvider$5);class WmsLayer extends BaseTileLayer{['_addedHook'](){const _0x43e76b={_0x300774:0xf52};function _0x24150f(_0x5e5be5,_0x4e2d9d){return _0x54a7f1(_0x5e5be5- -0x1cf,_0x4e2d9d);}this['options']['getCapabilities']??!![]?this['getMetadata']()['then'](()=>{this['isAdded']&&super['_addedHook']();}):super[_0x24150f(_0x43e76b._0x300774,0x693)]();}async['_createImageryProvider'](_0x4ff4ee){return await createImageryProvider$4(_0x4ff4ee);}[_0x7afdbe(0x1148,0x743)](){const _0x161054={_0x335c6d:0x424,_0x35811b:0xe6f,_0x445103:0xe61,_0x2945fc:0xe9,_0x33fdd9:0x919,_0xb4fa83:0xba8,_0x5aaeca:0x5e8,_0x1178c4:0x7ac},_0x3d623c={_0x5e4447:0x2fd},_0x9aca9e={_0x2dae90:0x3d4};return new Promise((_0x549efd,_0x395d0c)=>{const _0x58ae70={_0x1b2caf:0x62c},_0x54b3a8={_0x5b12f7:0x39c,_0x1d48af:0xf0c};if(this[_0x4f0a73(0x43d,-0x2ad)]){_0x549efd(this[_0x4bffb9(_0x161054._0x335c6d,0xb0e)]);return;}const _0x165caf={'version':_0x4f0a73(0xe7b,0x167b),...this['options'][_0x4f0a73(_0x161054._0x35811b,0x122d)]};function _0x4f0a73(_0x5a4b04,_0x3cdf1d){return _0x536c(_0x5a4b04- -_0x9aca9e._0x2dae90,_0x3cdf1d);}_0x165caf['service']=_0x4bffb9(_0x161054._0x445103,0x1309),_0x165caf['request']='GetCapabilities';const _0x388bdf=_0x165caf;let _0x3b2c20=this['options']['url'];this[_0x4f0a73(-_0x161054._0x2945fc,-_0x161054._0x33fdd9)]&&(_0x3b2c20=template(_0x3b2c20,this['templateValues']));const _0xf4e392={...this[_0x4f0a73(0x3b5,-0x4d2)]};_0xf4e392[_0x4bffb9(0x650,0xbf9)]=_0x3b2c20,_0xf4e392[_0x4bffb9(-0xe,_0x161054._0x5aaeca)]={...this['templateValues']},_0xf4e392[_0x4bffb9(0x152e,_0x161054._0xb4fa83)]=_0x388bdf,_0xf4e392['proxy']=this[_0x4f0a73(0x19d,0xf9)];function _0x4bffb9(_0x2e44b5,_0x3919f8){return _0x536c(_0x3919f8-_0x3d623c._0x5e4447,_0x2e44b5);}_0xf4e392[_0x4bffb9(-0xe,_0x161054._0x5aaeca)]['s']=this[_0x4f0a73(0xd94,0x17c4)],Cesium__namespace['Resource']['fetchXML'](_0xf4e392)[_0x4bffb9(_0x161054._0x1178c4,0x789)](_0x1be3a6=>{const _0x2d49d6={_0x556712:0x3e6};if(this[_0x510b13(0x7d3,0x2ad)])return;function _0x510b13(_0xc538dc,_0x2d31fc){return _0x4f0a73(_0x2d31fc-_0x2d49d6._0x556712,_0xc538dc);}if(_0x1be3a6){this['capabilities']=_0x1be3a6;try{this['_initByMetaData'](_0x1be3a6);}catch(_0x469870){logInfo('WMS\x20解析GetCapabilities有误',_0x469870);}}function _0x5ed7f4(_0x26c088,_0x10a70e){return _0x4f0a73(_0x26c088-0x47f,_0x10a70e);}_0x549efd(_0x1be3a6);const _0x341c1f={};_0x341c1f['capabilities']=_0x1be3a6,this[_0x510b13(_0x54b3a8._0x5b12f7,0xda3)](EventType[_0x510b13(_0x54b3a8._0x1d48af,0x51a)],_0x341c1f);})[_0x4bffb9(0xc7a,0xbfe)](_0xb923fc=>{function _0x3947b8(_0x2b77cb,_0x407e97){return _0x4bffb9(_0x2b77cb,_0x407e97- -0x520);}logInfo(_0x3947b8(-0x279,_0x58ae70._0x1b2caf),_0xb923fc),_0x549efd(_0xb923fc);});});}['_initByMetaData'](_0x47ac30){const _0x2710c9={_0x5258fe:0x46c,_0x20b97b:0x205,_0x1abc3f:0x1007,_0x502b53:0xe8c,_0xcd9abc:0xb6b,_0x2cc600:0x28d,_0x4c7482:0xb74,_0x232453:0x4c5,_0x134f5a:0x65,_0x31f762:0x3a3};let _0x1d8bf4=this[_0x426454(0x3a3,-_0x2710c9._0x5258fe)]['layers'];_0x1d8bf4[_0x426454(0xa2,-_0x2710c9._0x20b97b)](':')!==-0x1&&(_0x1d8bf4=_0x1d8bf4[_0x426454(0xc9b,0x495)](':')[0x1]);const _0x2c03f2=this[_0x45780f(_0x2710c9._0x1abc3f,0x81f)](_0x47ac30,_0x45780f(_0x2710c9._0x502b53,_0x2710c9._0xcd9abc));function _0x45780f(_0x126bdd,_0x20001c){return _0x7afdbe(_0x20001c,_0x126bdd- -0x6f8);}if(!_0x2c03f2)return;function _0x426454(_0x56a678,_0x36b73f){return _0x7afdbe(_0x36b73f,_0x56a678- -0x73b);}const _0xf8dd7a=this['_readNode'](_0x2c03f2,'Layer');if(!_0xf8dd7a)return;for(let _0x43dfa5=0x0,_0x1277b6=_0xf8dd7a['length'];_0x43dfa5<_0x1277b6;_0x43dfa5++){const _0xa2c7a3=_0xf8dd7a[_0x43dfa5],_0x435d11=this[_0x45780f(0xb74,0xc18)](_0xa2c7a3,_0x45780f(-_0x2710c9._0x2cc600,-0x68b)),_0x513af0=this[_0x45780f(_0x2710c9._0x4c7482,_0x2710c9._0x232453)](_0xa2c7a3,'Title');if(_0x435d11===_0x1d8bf4||_0x513af0===_0x1d8bf4){const _0x402927=this['_readChildNodeVal'](_0xa2c7a3,_0x426454(-_0x2710c9._0x134f5a,0x985));!this[_0x426454(_0x2710c9._0x31f762,0x144)]['crs']&&_0x402927&&(this['options']['crs']=_0x402927);const _0x142aaa=this['_readChildNode'](_0xa2c7a3,'BoundingBox');if(!this['options']['rectangle']&&_0x142aaa){const _0x52a139=Number(_0x142aaa['getAttribute']('minx')),_0x59e360=Number(_0x142aaa['getAttribute'](_0x45780f(0xb9f,0xf87))),_0x3f5855=Number(_0x142aaa['getAttribute']('miny')),_0x171e45=Number(_0x142aaa['getAttribute']('maxy'));this['_setExtent'](_0x52a139,_0x3f5855,_0x59e360,_0x171e45);}break;}}}['_readNode'](_0x308489,_0x9502ce){const _0x486e9a={_0x25c22b:0x1793};function _0x3dbff8(_0x116194,_0x23a334){return _0x54a7f1(_0x116194-0x1b1,_0x23a334);}if(!_0x308489)return null;let _0x4ecb51=_0x308489[_0x13470c(0x120e,0xcb3)](_0x9502ce);(!_0x4ecb51||_0x4ecb51['length']===0x0)&&(_0x4ecb51=_0x308489[_0x3dbff8(_0x486e9a._0x25c22b,0x1bab)]('wms:'+_0x9502ce));function _0x13470c(_0x2d1933,_0x38bd20){return _0x54a7f1(_0x2d1933- -0x3d4,_0x38bd20);}return _0x4ecb51;}[_0x54a7f1(0x14d1,0xe62)](_0x241f33,_0x3db0c4){const _0x17a3b9={_0xef6f5b:0x215};if(!_0x241f33)return null;const _0x488292=this[_0x55a4d7(0x1600,0x10ea)](_0x241f33,_0x3db0c4);function _0x55a4d7(_0x465a6f,_0xf1d705){return _0x7afdbe(_0xf1d705,_0x465a6f- -_0x17a3b9._0xef6f5b);}return _0x488292['length']>0x0?_0x488292[0x0]:null;}['_readChildNodeVal'](_0x457c31,_0x1c1b72){const _0x779822={_0x45e603:0x14c6};var _0x1c0b69,_0x58264a;if(!_0x457c31)return null;function _0x3ddea9(_0x28cd3d,_0x2457a0){return _0x54a7f1(_0x28cd3d-0x2ad,_0x2457a0);}let _0x22ffd6=this['_readChildNode'](_0x457c31,_0x1c1b72);function _0x430877(_0x3672a8,_0x336fc4){return _0x7afdbe(_0x3672a8,_0x336fc4-0x83);}!_0x22ffd6&&(_0x22ffd6=this['_readChildNode'](_0x457c31,'wms:'+_0x1c1b72));if((_0x1c0b69=_0x22ffd6)!==null&&_0x1c0b69!==void 0x0&&_0x1c0b69['innerHTML'])return _0x22ffd6[_0x430877(0xb40,_0x779822._0x45e603)];else return(_0x58264a=_0x22ffd6)!==null&&_0x58264a!==void 0x0&&_0x58264a[_0x430877(0x1839,0x19c5)]?_0x22ffd6['getInnerHTML']():null;}['hasPopup'](){const _0x2a87e1={_0x33f485:0xa6d},_0x30a1b5={_0x49bcd2:0x254};if(this[_0x10515e(0x431,_0x2a87e1._0x33f485)])return!![];function _0x10515e(_0x265265,_0x57f08c){return _0x7afdbe(_0x57f08c,_0x265265- -_0x30a1b5._0x49bcd2);}return![];}['bindPopup'](_0x464481,_0x3b4cd3){this[_0x46d401(-0x1a,-0x254)]={'content':_0x464481,'options':_0x3b4cd3,'layer':this};function _0x46d401(_0x4abc64,_0x4413bf){return _0x54a7f1(_0x4abc64- -0x471,_0x4413bf);}return this['_bindControl'](),this;}['unbindPopup'](){return this['closePopup'](),this['_popupConfig']=null,this;}[_0x7afdbe(0x1a19,0x14f7)](){const _0x100b12={_0x2ce9d8:0x7a4,_0x55921b:0x4e2,_0x48522f:0x4bf},_0x4393bd={_0x376a54:0x2f1};function _0x4dfbdc(_0x301e89,_0x43059b){return _0x7afdbe(_0x301e89,_0x43059b- -0x398);}function _0x5d5584(_0x57c181,_0x1f3444){return _0x54a7f1(_0x1f3444- -_0x4393bd._0x376a54,_0x57c181);}return this[_0x5d5584(_0x100b12._0x2ce9d8,_0x100b12._0x55921b)]&&this['hasPopup']()&&this['_map']['popup'][_0x4dfbdc(0x860,_0x100b12._0x48522f)](null,this),this;}}async function createImageryProvider$4(_0x5bbcc1){return _0x5bbcc1=converOptions(_0x5bbcc1),new Cesium__namespace['WebMapServiceImageryProvider'](_0x5bbcc1);}WmsLayer['createImageryProvider']=createImageryProvider$4;const layerType$5='wms';register$3(layerType$5,WmsLayer),registerImageryProvider(layerType$5,createImageryProvider$4);class WmtsLayer extends BaseTileLayer{['_addedHook'](){const _0x37a6d6={_0x2a70f6:0x7af,_0x23ea01:0xf3e,_0x123422:0xe07,_0x5ccf33:0xd55},_0x26317e={_0x1c002c:0xead},_0x22220c={_0x905ed6:0x50e};function _0xcdbb38(_0x4a5e59,_0x184b55){return _0x7afdbe(_0x184b55,_0x4a5e59- -0x548);}function _0x4573ea(_0x186229,_0x112097){return _0x54a7f1(_0x186229-0x29a,_0x112097);}this['options']['getCapabilities']??!![]?this[_0x4573ea(_0x37a6d6._0x2a70f6,_0x37a6d6._0x23ea01)]()['then'](()=>{function _0x3ce242(_0x174ad2,_0x457ae9){return _0x4573ea(_0x174ad2- -_0x22220c._0x905ed6,_0x457ae9);}this['isAdded']&&super[_0x3ce242(_0x26317e._0x1c002c,0x514)]();}):super[_0xcdbb38(_0x37a6d6._0x123422,_0x37a6d6._0x5ccf33)]();}async['_createImageryProvider'](_0x126607){const _0x4d5264={_0x19c457:0x6dc,_0x199d6a:0x187,_0x57283f:0x8a9},_0x5eb2d0={_0xc3aad1:0x240};function _0x1548ec(_0x357ae7,_0x259f09){return _0x54a7f1(_0x357ae7-_0x5eb2d0._0xc3aad1,_0x259f09);}function _0x47909e(_0x2f9c55,_0x1bc925){return _0x54a7f1(_0x2f9c55- -0x307,_0x1bc925);}_0x126607[_0x1548ec(_0x4d5264._0x19c457,_0x4d5264._0x199d6a)]=_0x126607['style']||'';const _0x99af4b=await createImageryProvider$3(_0x126607);if(_0x126607['pickFeatures'])_0x99af4b['pickFeatures']=_0x126607[_0x1548ec(0xaba,0xf81)];else _0x126607[_0x1548ec(0xd87,_0x4d5264._0x57283f)]&&(_0x99af4b['pickFeatures']=(_0x229204,_0x44db17,_0x129ed2,_0x1db8ba,_0x498317)=>{return this['pickFeatures'](_0x229204,_0x44db17,_0x129ed2,_0x1db8ba,_0x498317);});return _0x99af4b;}['pickFeatures'](_0x535a4e,_0x13b62f,_0x3eac07,_0x38b0c0,_0xefbf9){const _0x408e3c={_0x27ed4a:0x4cc,_0xff87bd:0x1335,_0x796efa:0x92a,_0x2bb37c:0xa3c,_0x5cc431:0x144a,_0x3f3ec6:0x682,_0x4ab0cd:0x30a,_0x42f85f:0x10fd,_0x48e7fe:0xcd9,_0x3c40a0:0x2e9,_0x8d741c:0x119e,_0x540bb6:0x9fe,_0x51a3a5:0xf8c,_0x373c30:0x608,_0x260191:0x5df,_0x5b8c05:0x4a2,_0x19f815:0x7ce,_0x11d6a9:0x288,_0x56556c:0x1415,_0x1d0e6b:0x1468},_0x2495d0={_0x45f361:0x114,_0x73df4d:0x1864,_0x26f49f:0x528,_0x5e9b48:0xcda,_0x33c220:0x1548,_0x1656e2:0x15c8,_0x3ab6a3:0x1955,_0xfb5f77:0x74b,_0x296283:0xe53,_0x5275ed:0x15c8,_0x4e3951:0x1ba4,_0x410a12:0x2022,_0x508c9e:0x1863,_0x157f64:0xa6a,_0x3ba2db:0x1996,_0x3a27ce:0x1f06,_0x51d9f4:0x1995},_0x51b1c1={_0x10cf9d:0x288},_0x5bc0f6={_0x1ee600:0x19c6,_0x1b0708:0x1755,_0x3646da:0x16a1,_0x58782f:0xfeb,_0x304b46:0x815,_0x35cd08:0x14e4},_0x23f7e5={_0x49f282:0x7e0,_0x304220:0xaa0},_0x114d1c={_0x3b5825:0x204};function _0x50bb28(_0x35628d,_0x3c5940){return _0x54a7f1(_0x35628d- -_0x114d1c._0x3b5825,_0x3c5940);}if(!this[_0x50bb28(0x6ac,-0x35)][_0x50bb28(0xbd3,_0x408e3c._0x27ed4a)])return undefined;const _0x15c6c3=this['imageryProvider'],_0x37bab2=new Cesium__namespace['Cartesian3'](),_0x12d388=_0x15c6c3[_0x50bb28(0xa73,_0x408e3c._0xff87bd)]['projection'];if(_0x12d388 instanceof Cesium__namespace[_0x2bf8a1(0x824,_0x408e3c._0x796efa)])_0x37bab2['x']=Cesium__namespace['Math']['toDegrees'](_0x38b0c0),_0x37bab2['y']=Cesium__namespace['Math']['toDegrees'](_0xefbf9);else{const _0x465fe8=new Cesium__namespace['Cartographic']();_0x465fe8['longitude']=_0x38b0c0,_0x465fe8['latitude']=_0xefbf9,_0x12d388['project'](_0x465fe8,_0x37bab2);}const _0x37aba0=new Cesium__namespace[(_0x50bb28(0x1500,_0x408e3c._0x2bb37c))]();function _0x2bf8a1(_0x611e76,_0x46e593){return _0x54a7f1(_0x611e76-0x2c,_0x46e593);}const _0x2a4c51=_0x15c6c3['tilingScheme'][_0x2bf8a1(0x815,0xf80)](_0x535a4e,_0x13b62f,_0x3eac07,new Cesium__namespace['Rectangle']());_0x37aba0['x']=_0x15c6c3[_0x2bf8a1(_0x408e3c._0x5cc431,0x120b)]*(_0x37bab2['x']-_0x2a4c51['west'])/_0x2a4c51['width']|0x0,_0x37aba0['y']=_0x15c6c3['tileHeight']*(_0x2a4c51['north']-_0x37bab2['y'])/_0x2a4c51[_0x50bb28(0x463,_0x408e3c._0x3f3ec6)]|0x0;const _0x3e52c6={'info_format':'application/json','version':'1.1.1','service':'WMS','request':'GetFeatureInfo','layers':this['options']['layer'],'query_layers':this['options']['layer'],'srs':this[_0x2bf8a1(0x8dc,_0x408e3c._0x4ab0cd)]['crs']??(_0x12d388 instanceof Cesium__namespace[_0x50bb28(_0x408e3c._0x42f85f,0x1641)]?'EPSG:3857':'EPSG:4326'),...this['options'][_0x2bf8a1(0x50f,_0x408e3c._0x48e7fe)]||{}};_0x3e52c6['bbox']=_0x2a4c51[_0x50bb28(_0x408e3c._0x3c40a0,0x84a)]+','+_0x2a4c51[_0x50bb28(0x1472,_0x408e3c._0x8d741c)]+','+_0x2a4c51['east']+','+_0x2a4c51['north'],_0x3e52c6['width']=_0x15c6c3[_0x2bf8a1(0x144a,0x1761)],_0x3e52c6[_0x2bf8a1(0x693,0x1103)]=_0x15c6c3['tileHeight'],_0x3e52c6['x']=_0x37aba0['x'],_0x3e52c6['y']=_0x37aba0['y'];const _0x133fe9=_0x3e52c6;if(this[_0x2bf8a1(0x8dc,0x13a2)]['getFeatureInfoFormat']==='xml'){const _0xd568=new Cesium__namespace[(_0x2bf8a1(0xed7,0xfaf))](_0x2bf8a1(0x287,0x44a),'text/xml'),_0x52307f={...this['options']};return _0x52307f['url']=this['options']['pickFeaturesUrl'],_0x52307f[_0x2bf8a1(_0x408e3c._0x540bb6,_0x408e3c._0x51a3a5)]=_0x133fe9,_0x52307f['proxy']=this['_proxy'],Cesium__namespace['Resource'][_0x50bb28(0x87a,_0x408e3c._0x373c30)](_0x52307f)[_0x2bf8a1(_0x408e3c._0x260191,-_0x408e3c._0x5b8c05)](_0x345605=>{const _0x37e11f={_0x50d855:0x563};if(this['isDestroy'])return;const _0x40d69d=_0xd568['callback'](_0x345605);function _0x1237bb(_0x8bb6a4,_0x96eb36){return _0x50bb28(_0x8bb6a4-0x17c,_0x96eb36);}function _0x654a00(_0x45fa3c,_0x275672){return _0x50bb28(_0x275672-0x3d4,_0x45fa3c);}for(let _0xf1db3f=0x0;_0xf1db3f<_0x40d69d['length'];_0xf1db3f++){const _0x103e91=_0x40d69d[_0xf1db3f],_0x20f708=this['_readChildNode'](_0x103e91['data'],_0x654a00(_0x5bc0f6._0x1ee600,0x11fc));if(!_0x20f708)continue;const _0x4545e4=this[_0x654a00(_0x5bc0f6._0x1b0708,_0x5bc0f6._0x3646da)](_0x20f708,'fields');if(!_0x4545e4)continue;const _0xbc168={},_0x470070=_0x4545e4[_0x654a00(0x222,0xbb7)]();_0x470070[_0x654a00(_0x5bc0f6._0x58782f,_0x5bc0f6._0x304b46)](_0x188750=>{function _0x32cc20(_0x28faf8,_0x26823d){return _0x654a00(_0x28faf8,_0x26823d- -_0x37e11f._0x50d855);}_0xbc168[_0x188750]=_0x4545e4[_0x32cc20(_0x23f7e5._0x49f282,_0x23f7e5._0x304220)](_0x188750);}),_0x103e91[_0x654a00(0xf5a,_0x5bc0f6._0x35cd08)]=_0xbc168;}return _0x40d69d;});}else{const _0x2eefc3={...this['options']};return _0x2eefc3['url']=this['options']['pickFeaturesUrl'],_0x2eefc3[_0x50bb28(_0x408e3c._0x19f815,-_0x408e3c._0x11d6a9)]=_0x133fe9,_0x2eefc3['proxy']=this[_0x2bf8a1(0x6c4,0x552)],Cesium__namespace[_0x2bf8a1(0x1561,0x17be)][_0x50bb28(_0x408e3c._0x56556c,_0x408e3c._0x1d0e6b)](_0x2eefc3)['then'](_0x37c3bb=>{if(this['isDestroy'])return;function _0x4ef50f(_0x772969,_0x30a3f1){return _0x50bb28(_0x30a3f1-0x438,_0x772969);}function _0x559e34(_0xc99e6e,_0x43f917){return _0x2bf8a1(_0x43f917-_0x51b1c1._0x10cf9d,_0xc99e6e);}const _0x29de63=[],_0x615431=_0x37c3bb[_0x4ef50f(-_0x2495d0._0x45f361,0x740)];for(let _0x3059c1=0x0;_0x3059c1<_0x615431[_0x559e34(_0x2495d0._0x73df4d,0x1239)];++_0x3059c1){const _0x1ee7b0=_0x615431[_0x3059c1],_0x90f949=new Cesium__namespace[(_0x559e34(_0x2495d0._0x26f49f,0x97c))]();_0x90f949['data']=_0x1ee7b0,_0x90f949[_0x4ef50f(_0x2495d0._0x5e9b48,_0x2495d0._0x33c220)]=_0x1ee7b0[_0x559e34(0x1f9a,_0x2495d0._0x1656e2)],_0x90f949[_0x559e34(0x1a4f,_0x2495d0._0x3ab6a3)](_0x1ee7b0['properties']),_0x90f949[_0x4ef50f(_0x2495d0._0xfb5f77,0xb8a)](_0x1ee7b0[_0x559e34(_0x2495d0._0x296283,_0x2495d0._0x5275ed)]);if(Cesium__namespace[_0x4ef50f(_0x2495d0._0x4e3951,0x18b5)](_0x1ee7b0['geometry'])&&_0x1ee7b0[_0x559e34(_0x2495d0._0x410a12,_0x2495d0._0x508c9e)][_0x4ef50f(0xe96,_0x2495d0._0x157f64)]==='Point'){const _0x4f81f3=_0x1ee7b0[_0x4ef50f(_0x2495d0._0x3ba2db,0x17e3)]['coordinates'][0x0],_0x1916ab=_0x1ee7b0['geometry']['coordinates'][0x1];_0x90f949[_0x559e34(_0x2495d0._0x3a27ce,_0x2495d0._0x51d9f4)]=Cesium__namespace['Cartographic']['fromDegrees'](_0x4f81f3,_0x1916ab);}_0x29de63['push'](_0x90f949);}return _0x29de63;});}}[_0x54a7f1(0x515,-0x4d6)](){const _0x1cd9c4={_0x1f9bfb:0x405,_0x3e1b41:0xe3c,_0x5be510:0xf72,_0x9bdb6a:0x151d,_0x189eb1:0x14f1,_0x2d9a05:0x8d9,_0xd79464:0xdd8,_0xf82a67:0x8f5,_0x3628c4:0xb15,_0x479b09:0x401,_0x4b7832:0xf0d,_0x171f85:0x5c5,_0x28cd0c:0x257,_0x558b3d:0xce3,_0x1e2e4b:0xb07},_0x4e2fee={_0x5e10ab:0x1ec,_0x194812:0x762,_0x206908:0xce2},_0x3e436a={_0x564f31:0x2da};return new Promise((_0x5b344a,_0x4b6d07)=>{if(this['capabilities']){_0x5b344a(this[_0x5c5ea8(0xb9d,_0x1cd9c4._0x1f9bfb)]);return;}const _0x6bc4ab={'version':_0x5c5ea8(0x97d,_0x1cd9c4._0x3e1b41),...this['options'][_0x38ca94(_0x1cd9c4._0x5be510,_0x1cd9c4._0x9bdb6a)]};_0x6bc4ab['service']=_0x38ca94(0x1f92,_0x1cd9c4._0x189eb1),_0x6bc4ab[_0x38ca94(_0x1cd9c4._0x2d9a05,_0x1cd9c4._0xd79464)]=_0x38ca94(0x534,_0x1cd9c4._0xf82a67);const _0x27fedc=_0x6bc4ab;function _0x38ca94(_0x454cc9,_0x3f3389){return _0x536c(_0x3f3389-_0x3e436a._0x564f31,_0x454cc9);}const _0x476231={...this[_0x5c5ea8(_0x1cd9c4._0x3628c4,0x207)]};_0x476231[_0x38ca94(-_0x1cd9c4._0x479b09,0x5c5)]={...this[_0x38ca94(_0x1cd9c4._0x4b7832,_0x1cd9c4._0x171f85)]},_0x476231['queryParameters']=_0x27fedc,_0x476231[_0x5c5ea8(0xca0,_0x1cd9c4._0x28cd0c)]=this['_proxy'];function _0x5c5ea8(_0x53a56c,_0x253a27){return _0x536c(_0x53a56c-0x38c,_0x253a27);}_0x476231[_0x38ca94(-_0x1cd9c4._0x479b09,0x5c5)]['s']=this['subdomainItem'],Cesium__namespace['Resource'][_0x5c5ea8(_0x1cd9c4._0x558b3d,_0x1cd9c4._0x1e2e4b)](_0x476231)['then'](_0x1e0eca=>{function _0x308909(_0x2fdaa6,_0x197629){return _0x5c5ea8(_0x2fdaa6- -0x43b,_0x197629);}if(this[_0x308909(_0x4e2fee._0x5e10ab,0x56d)])return;if(_0x1e0eca){this['capabilities']=_0x1e0eca;try{this['_initByMetaData'](_0x1e0eca);}catch(_0x21c86c){logInfo('解析GetCapabilities出错',_0x21c86c);}}_0x5b344a(_0x1e0eca);const _0x5364c5={};function _0x3f04bb(_0xe8a1cc,_0x52afff){return _0x38ca94(_0x52afff,_0xe8a1cc- -0x493);}_0x5364c5[_0x308909(_0x4e2fee._0x194812,0x10f5)]=_0x1e0eca,this[_0x308909(_0x4e2fee._0x206908,0x1036)](EventType['loadConfig'],_0x5364c5);})['catch'](_0x58a1d1=>{logInfo('WMTS\x20GetCapabilities请求出错',_0x58a1d1),_0x5b344a(_0x58a1d1);});});}['_initByMetaData'](_0x55e521){const _0x205cad={_0x545da5:0x74d,_0x400ca3:0x19df,_0x16a503:0x136e,_0x21aad1:0x683,_0x3c876c:0x1268,_0x184ef5:0xcc6,_0x51ad48:0x1497,_0x37d2a8:0x147f,_0x2103d1:0xb1b,_0x26b24d:0xdbb,_0x5180cd:0x1094,_0x13d640:0x74d,_0x327032:0x6e6,_0x3fe1f2:0x1600},_0x5b2c57=this['_readChildNode'](_0x55e521,'Contents');if(!_0x5b2c57)return;const _0x20b00a=this['_readNode'](_0x5b2c57,_0x1ee500(0x1a88,0x11f3));if(!_0x20b00a)return;function _0x52896c(_0x13b218,_0x453156){return _0x7afdbe(_0x13b218,_0x453156- -0x3f8);}function _0x1ee500(_0x55dfb2,_0x356bc9){return _0x54a7f1(_0x356bc9- -0x163,_0x55dfb2);}let _0x52219b;for(let _0x4b63e4=0x0,_0x535ee0=_0x20b00a['length'];_0x4b63e4<_0x535ee0;_0x4b63e4++){const _0x3904f0=_0x20b00a[_0x4b63e4],_0x31360e=this['_readChildNodeVal'](_0x3904f0,'ows:Identifier');if(_0x31360e===this[_0x1ee500(0xb28,_0x205cad._0x545da5)]['layer']){_0x52219b=_0x3904f0;break;}}if(!_0x52219b){let _0xa4c20e=this['options']['layer'];_0xa4c20e['indexOf'](':')!==-0x1&&(_0xa4c20e=_0xa4c20e['substr'](_0xa4c20e[_0x1ee500(0xab,0x44c)](':')+0x1));for(let _0x585955=0x0,_0x911b5c=_0x20b00a[_0x1ee500(0x760,0xe22)];_0x585955<_0x911b5c;_0x585955++){const _0x59aaef=_0x20b00a[_0x585955],_0x5e2d93=this['_readChildNodeVal'](_0x59aaef,'ows:Identifier');if(_0x5e2d93===_0xa4c20e){_0x52219b=_0x59aaef;break;}}}if(_0x52219b){const _0x1f1717=this[_0x1ee500(_0x205cad._0x400ca3,_0x205cad._0x16a503)](_0x52219b,'ows:WGS84BoundingBox');if(!this[_0x1ee500(0x7e7,_0x205cad._0x545da5)]['rectangle']&&_0x1f1717){let _0x42d4b9=this['_readChildNodeVal'](_0x1f1717,'ows:LowerCorner'),_0x4da753=this['_readChildNodeVal'](_0x1f1717,'ows:UpperCorner');if(_0x42d4b9&&_0x4da753){_0x42d4b9=_0x42d4b9['split']('\x20'),_0x4da753=_0x4da753[_0x1ee500(0xa5f,0x1045)]('\x20');const _0x3aeb12=Number(_0x42d4b9[0x0]),_0xb927e3=Number(_0x4da753[0x0]),_0xa52ac7=Number(_0x42d4b9[0x1]),_0x26529c=Number(_0x4da753[0x1]);this['_setExtent'](_0x3aeb12,_0xa52ac7,_0xb927e3,_0x26529c);}}!Cesium__namespace[_0x52896c(0x176c,0x14b7)](this[_0x1ee500(_0x205cad._0x21aad1,0x74d)]['style'])&&(this[_0x52896c(0x7df,0x6e6)]['style']=this['_readChildNodeVal'](this['_readChildNode'](_0x52219b,_0x1ee500(_0x205cad._0x3c876c,_0x205cad._0x184ef5)),'ows:Identifier'));const _0x588201=_0x52219b[_0x1ee500(_0x205cad._0x51ad48,_0x205cad._0x37d2a8)]('TileMatrixSetLink');for(let _0x5e875f=0x0,_0x162d22=_0x588201[_0x52896c(_0x205cad._0x2103d1,_0x205cad._0x26b24d)];_0x5e875f<_0x162d22;_0x5e875f++){const _0x1671ab=_0x588201[_0x5e875f],_0x156965=this['_readChildNodeVal'](_0x1671ab,_0x52896c(0x1a27,0x15d6));!Cesium__namespace['defined'](this[_0x1ee500(_0x205cad._0x5180cd,_0x205cad._0x13d640)]['tileMatrixSetID'])&&(this['options']['tileMatrixSetID']=_0x156965);if(_0x156965===this[_0x52896c(0x975,0x6e6)]['tileMatrixSetID']){if(!this[_0x52896c(0xca5,_0x205cad._0x327032)]['tileMatrixLabels']){const _0x5f3d1e=this['_readChildNode'](_0x1671ab,_0x1ee500(0xe51,0xc0d));if(_0x5f3d1e){const _0x130931=_0x5f3d1e['getElementsByTagName']('TileMatrixLimits'),_0x3acb9c=[];for(let _0x408e15=0x0,_0x57ea3c=_0x130931[_0x1ee500(_0x205cad._0x3fe1f2,0xe22)];_0x408e15<_0x57ea3c;_0x408e15++){const _0x1c8f78=this[_0x52896c(0x4eb,0xe74)](_0x130931[_0x408e15],'TileMatrix');_0x3acb9c[_0x1ee500(0x1224,0xda5)](_0x1c8f78);}this['options']['tileMatrixLabels']=_0x3acb9c;}}break;}}}}['_readNode'](_0x227622,_0x7d54c4){const _0x47b51f={_0x373297:0x113f},_0x917432={_0x2748e5:0x2b2};if(!_0x227622)return null;let _0x2bd40e=_0x227622['getElementsByTagName'](_0x7d54c4);function _0x354500(_0x5977ce,_0x1ab269){return _0x7afdbe(_0x1ab269,_0x5977ce- -_0x917432._0x2748e5);}return(!_0x2bd40e||_0x2bd40e['length']===0x0)&&(_0x2bd40e=_0x227622['getElementsByTagName'](_0x354500(0xe42,_0x47b51f._0x373297)+_0x7d54c4)),_0x2bd40e;}['_readChildNode'](_0x222456,_0x43679e){const _0xf19dfb={_0x16e6c4:0x11e8,_0x93354:0x15e9};if(!_0x222456)return null;function _0x18bd8a(_0x3eac5,_0x40b80f){return _0x7afdbe(_0x40b80f,_0x3eac5-0x35);}const _0x2a8362=this['_readNode'](_0x222456,_0x43679e);return _0x2a8362[_0x18bd8a(_0xf19dfb._0x16e6c4,_0xf19dfb._0x93354)]>0x0?_0x2a8362[0x0]:null;}[_0x54a7f1(0x103e,0x1b00)](_0x26dcd0,_0x5738a1){const _0x5cbdb3={_0x1866b0:0xefb,_0x2309bc:0x13fa,_0x3e5521:0x16d6};function _0x1bfb52(_0x3f965c,_0xc1fa1a){return _0x54a7f1(_0x3f965c- -0x31a,_0xc1fa1a);}var _0x77159d,_0x1c7b6a;if(!_0x26dcd0)return null;function _0x2333a7(_0x53d1a7,_0x33abc6){return _0x54a7f1(_0x33abc6- -0x292,_0x53d1a7);}let _0x552b46=this['_readChildNode'](_0x26dcd0,_0x5738a1);!_0x552b46&&(_0x552b46=this[_0x2333a7(0x135d,0x123f)](_0x26dcd0,'wmts:'+_0x5738a1));if((_0x77159d=_0x552b46)!==null&&_0x77159d!==void 0x0&&_0x77159d[_0x1bfb52(_0x5cbdb3._0x1866b0,0x168d)])return _0x552b46['innerHTML'];else return(_0x1c7b6a=_0x552b46)!==null&&_0x1c7b6a!==void 0x0&&_0x1c7b6a['getInnerHTML']?_0x552b46[_0x1bfb52(_0x5cbdb3._0x2309bc,_0x5cbdb3._0x3e5521)]():null;}}async function createImageryProvider$3(_0x51c0f5){const _0x313fa8={_0x400ca4:0x643,_0x10277f:0x82d,_0x4313e7:0x9b1,_0x35fc01:0x16c,_0x5aa0d1:0x491,_0xcee6f8:0x810,_0x4c5c98:0xca8,_0x1272cc:0xc9d,_0x18d531:0xa42},_0x5dfe1e={_0x142e2b:0x271};_0x51c0f5=converOptions(_0x51c0f5);_0x51c0f5[_0x366a94(_0x313fa8._0x400ca4,_0x313fa8._0x10277f)]&&!_0x51c0f5['tileMatrixSetID']&&(_0x51c0f5[_0x366a94(0x70a,0xecf)]=_0x51c0f5['tileMatrixSet']);_0x51c0f5[_0x538dc4(_0x313fa8._0x4313e7,0x873)]&&!_0x51c0f5['tileMatrixLabels']&&(_0x51c0f5[_0x366a94(_0x313fa8._0x35fc01,0x689)]=[...Array(0x15)[_0x366a94(_0x313fa8._0x5aa0d1,0x90e)]()]['map'](_0x30fa3c=>_0x51c0f5[_0x366a94(0xedb,0x82a)]+_0x30fa3c));_0x51c0f5['crs']===CRS['EPSG4490']&&(_0x51c0f5[_0x538dc4(_0x313fa8._0xcee6f8,0x8f)]=[...Array(0x15)['keys']()][_0x538dc4(_0x313fa8._0x4c5c98,0xdaa)](_0x4ec4f8=>(_0x4ec4f8+0x1)[_0x538dc4(0xf4f,0xb7c)]()));function _0x538dc4(_0x49463e,_0x5a9b20){return _0x54a7f1(_0x49463e-_0x5dfe1e._0x142e2b,_0x5a9b20);}function _0x366a94(_0x34151b,_0x4eb01b){return _0x54a7f1(_0x4eb01b-0xea,_0x34151b);}return new Cesium__namespace[(_0x366a94(_0x313fa8._0x1272cc,_0x313fa8._0x18d531))](_0x51c0f5);}WmtsLayer[_0x7afdbe(0xfe1,0x13d3)]=createImageryProvider$3;const layerType$4='wmts';register$3(layerType$4,WmtsLayer),registerImageryProvider(layerType$4,createImageryProvider$3);class XyzLayer extends BaseTileLayer{async['_createImageryProvider'](_0x57ea7e){return await createImageryProvider$2(_0x57ea7e);}}async function createImageryProvider$2(_0x291cc7){const _0x4251b5={_0x24b9d8:0xd92,_0xd9dc03:0x941},_0x291834={_0xf75330:0x23b};function _0x108632(_0x4b86a7,_0x24f298){return _0x7afdbe(_0x24f298,_0x4b86a7- -0x5ba);}function _0x15c641(_0x384ced,_0x163b6a){return _0x54a7f1(_0x384ced- -_0x291834._0xf75330,_0x163b6a);}_0x291cc7=converOptions(_0x291cc7);if(Cesium__namespace['defined'](_0x291cc7[_0x15c641(0xbb0,0xb1d)]))return await Cesium__namespace['IonImageryProvider']['fromAssetId'](_0x291cc7['assetId'],{'accessToken':_0x291cc7['ionToken']??_0x291cc7['accessToken'],'server':_0x291cc7[_0x108632(_0x4251b5._0x24b9d8,0x7cd)]});return _0x291cc7[_0x108632(_0x4251b5._0xd9dc03,0xc92)]===ChinaCRS['BAIDU']?new BaiduImageryProvider(_0x291cc7):new XyzImageryProvider(_0x291cc7);}XyzLayer[_0x7afdbe(0x19cf,0x13d3)]=createImageryProvider$2;const layerType$3='xyz';register$3(layerType$3,XyzLayer),registerImageryProvider(layerType$3,createImageryProvider$2);class GridLayer extends BaseTileLayer{async['_createImageryProvider'](_0x416822){return await createImageryProvider$1(_0x416822);}}async function createImageryProvider$1(_0x2652c1){const _0xbbb0e9={_0x396ba1:0x4ee,_0x43ce19:0x170,_0x107702:0xa52,_0x52ee8e:0xbaa,_0x1943be:0x1262};_0x2652c1['cells']=_0x2652c1[_0x2b6ffb(-_0xbbb0e9._0x396ba1,_0xbbb0e9._0x43ce19)]??0x2,_0x2652c1['color']=Cesium__namespace[_0x1733b6(0x6b7,0xe03)]['fromCssColorString'](_0x2652c1['color']??'rgba(255,255,255,1)'),_0x2652c1[_0x2b6ffb(0xd45,0xab7)]=_0x2652c1[_0x1733b6(0x997,_0xbbb0e9._0x107702)]??0x3;function _0x1733b6(_0x58c33f,_0x12e223){return _0x54a7f1(_0x12e223- -0x481,_0x58c33f);}_0x2652c1['glowColor']?_0x2652c1['glowColor']=Cesium__namespace['Color']['fromCssColorString'](_0x2652c1[_0x1733b6(0x675,0x43b)]):_0x2652c1['glowColor']=_0x2652c1['color'][_0x1733b6(0x46,-0xf6)](0.3);_0x2652c1['backgroundColor']=Cesium__namespace[_0x1733b6(_0xbbb0e9._0x52ee8e,0xe03)][_0x1733b6(0x18c9,_0xbbb0e9._0x1943be)](_0x2652c1[_0x2b6ffb(0xfe1,0xebd)]??'rgba(0,0,0,0)');function _0x2b6ffb(_0x384468,_0x5ac04b){return _0x54a7f1(_0x5ac04b- -0x41c,_0x384468);}return _0x2652c1=converOptions(_0x2652c1),new Cesium__namespace['GridImageryProvider'](_0x2652c1);}GridLayer[_0x54a7f1(0x11a5,0x115f)]=createImageryProvider$1;const layerType$2=_0x54a7f1(0x1206,0x1acf);register$3(layerType$2,GridLayer),registerImageryProvider(layerType$2,createImageryProvider$1);class TileInfoLayer extends BaseTileLayer{async[_0x54a7f1(0x465,0xdd)](_0x5c358a){return await createImageryProvider(_0x5c358a);}}async function createImageryProvider(_0x48feaf){const _0x903c21={_0x1619d3:0x12f0,_0x6d53c6:0xb1},_0x480f75={_0x49667a:0x26c};_0x48feaf[_0x7f9f57(0x15ce,_0x903c21._0x1619d3)]=Cesium__namespace['Color']['fromCssColorString'](_0x48feaf['color']||'rgba(255,0,0,1)');function _0x7f9f57(_0x10326b,_0x276e6e){return _0x54a7f1(_0x276e6e-0xde,_0x10326b);}_0x48feaf=converOptions(_0x48feaf);function _0x437295(_0x1b91d3,_0x50610e){return _0x54a7f1(_0x50610e- -_0x480f75._0x49667a,_0x1b91d3);}return new Cesium__namespace[(_0x7f9f57(_0x903c21._0x6d53c6,0x3c0))](_0x48feaf);}TileInfoLayer[_0x7afdbe(0xea7,0x13d3)]=createImageryProvider;const layerType$1=_0x7afdbe(-0x1b0,0x484);register$3(layerType$1,TileInfoLayer),registerImageryProvider(layerType$1,createImageryProvider);class EmptyTileLayer extends BaseTileLayer{constructor(_0x255625={}){function _0x2696fb(_0x2b2eb7,_0x4ac1e6){return _0x7afdbe(_0x2b2eb7,_0x4ac1e6- -0x147);}super(_0x255625),this[_0x2696fb(0x18c4,0x1355)]=_0x255625['minimumLevel']??0x0,this['_maximumLevel']=_0x255625['maximumLevel'];}async[_0x54a7f1(0x465,-0x241)](_0x1f016c){const _0x44f9ed={_0x2dfd07:0x17a0,_0x46f403:0x174e},_0x4811c3={_0x80d76a:0x191};_0x1f016c=converOptions(_0x1f016c);function _0x3783c6(_0x3aba27,_0x4b9c0d){return _0x54a7f1(_0x4b9c0d-_0x4811c3._0x80d76a,_0x3aba27);}return _0x1f016c[_0x3783c6(_0x44f9ed._0x2dfd07,_0x44f9ed._0x46f403)]=this['_minimumLevel'],_0x1f016c['maximumTerrainLevel']=this['_maximumLevel'],new EmptyImageryProvider(_0x1f016c);}['_setOptionsHook'](_0x4f3c94,_0x29da12){const _0x221fb2={_0x4e7d7c:0xf58,_0x54c27d:0x4b9,_0x5826bb:0x198,_0x4d153d:0x1cb};this[_0x2cb033(_0x221fb2._0x4e7d7c,0x9d0)]=this['options']['minimumLevel']??0x0;function _0x454d60(_0x47ae93,_0x1b719c){return _0x54a7f1(_0x1b719c- -0x4ef,_0x47ae93);}this[_0x454d60(_0x221fb2._0x54c27d,_0x221fb2._0x5826bb)]=this['options'][_0x454d60(0x113d,0xd04)],this['options'][_0x454d60(0x1927,0x10ce)]=this['_minimumLevel'];function _0x2cb033(_0x597b2c,_0x29ac5e){return _0x54a7f1(_0x597b2c- -0x316,_0x29ac5e);}this[_0x454d60(0x549,0x3c1)][_0x2cb033(0x283,-0x625)]=this[_0x454d60(-_0x221fb2._0x4d153d,0x198)],super['_setOptionsHook'](_0x4f3c94,_0x29da12);}['isInRange'](_0x55b644){const _0x4037a9={_0x53947c:0x4c6},_0x36683f={_0x120565:0x3ef},_0x1d50f2={_0x1313b8:0x165};function _0x126905(_0x4eee37,_0x55499c){return _0x7afdbe(_0x4eee37,_0x55499c- -_0x1d50f2._0x1313b8);}function _0x2664ed(_0x886143,_0x3d5936){return _0x7afdbe(_0x3d5936,_0x886143- -_0x36683f._0x120565);}return _0x55b644<this['_minimumLevel']||Cesium__namespace[_0x126905(0x2037,0x174a)](this[_0x2664ed(_0x4037a9._0x53947c,0xc29)])&&_0x55b644>=this['_maximumLevel']?![]:!![];}[_0x54a7f1(0x22e,-0x40b)](_0x3ddf5f){const _0x117cb0={_0x5ec99b:0x15b4,_0x4cfbaa:0x105e},_0x42a6dc=this['_map']['level'];function _0x11b9b9(_0x707834,_0x4f962a){return _0x54a7f1(_0x4f962a- -0x210,_0x707834);}return _0x42a6dc<this[_0x11b9b9(_0x117cb0._0x5ec99b,_0x117cb0._0x4cfbaa)]||Cesium__namespace['defined'](this['_maximumLevel'])&&_0x3ddf5f>=this['_maximumLevel'];}}const layerType='empty';register$3(layerType,EmptyTileLayer);function config2Entity(_0x1a6a2a,_0x3f1953,_0x673666){const _0x5656f7={_0x3ded68:0x139f,_0x4e7c3e:0x1286},_0xb52ed2={_0x212e8e:0x52e};for(let _0x208b6d=_0x1a6a2a[_0x4ee79f(0x10f3,_0x5656f7._0x3ded68)]-0x1;_0x208b6d>=0x0;_0x208b6d--){const _0x5c182d=_0x1a6a2a[_0x208b6d],_0x5b7e6f=_0x3f1953[_0x4ee79f(0xd30,0x827)];_0x5b7e6f&&(typeof _0x5b7e6f==='function'?_0x5b7e6f(_0x5c182d,_0x5c182d[_0xbc1e32(0x1321,_0x5656f7._0x4e7c3e)]):setConfigSymbol(_0x5c182d,_0x3f1953,_0x673666));}function _0xbc1e32(_0x24e2a5,_0x481753){return _0x7afdbe(_0x481753,_0x24e2a5- -_0xb52ed2._0x212e8e);}function _0x4ee79f(_0x52aa2d,_0x21b932){return _0x7afdbe(_0x21b932,_0x52aa2d- -0xc0);}return _0x1a6a2a;}function getStyleBySymbolConfig(_0x447e4c,_0x14e2d6,_0x2191e0){const _0x3ca06a={_0x413750:0x584,_0x2d0524:0x35e};let _0x5c40c8=_0x447e4c['styleOptions'];if(_0x447e4c[_0x57750d(_0x3ca06a._0x413750,0x5e6)]&&_0x14e2d6){const _0x3248d8=_0x14e2d6[_0x447e4c['styleField']],_0x2dacd0=_0x447e4c[_0x5414c4(_0x3ca06a._0x2d0524,0x927)][_0x3248d8];_0x2dacd0!=null&&(_0x5c40c8=clone(_0x5c40c8),_0x5c40c8={..._0x5c40c8,..._0x2dacd0});}if(typeof _0x447e4c['callback']==='function'){_0x5c40c8=clone(_0x5c40c8);const _0x263e6f=_0x447e4c['callback'](_0x14e2d6,_0x2191e0,_0x5c40c8);_0x263e6f&&(_0x5c40c8={..._0x5c40c8,..._0x263e6f});}function _0x57750d(_0x54b17c,_0x581fc5){return _0x7afdbe(_0x54b17c,_0x581fc5- -0x59b);}_0x5c40c8=_0x5c40c8||{};function _0x5414c4(_0x16b92b,_0x227989){return _0x7afdbe(_0x227989,_0x16b92b- -0x5ba);}return _0x5c40c8;}function setConfigSymbol(_0x4068f0,_0x43ebb2,_0x2a5b8f){const _0x4cd994={_0x2832d7:0x132d,_0x5709fb:0x1714,_0x19f6c3:0x82e,_0x52cf58:0x13ef,_0x2e9381:0x192e,_0x35884b:0xa35,_0x2f6085:0xa6a,_0x45c307:0x780,_0x41a1b0:0xd80,_0x3f1d2a:0x1848,_0x3491a1:0x810,_0x41558f:0xf5e,_0x4067d3:0x1664,_0x1ff7a2:0xf93,_0x1a5690:0x140a,_0x504146:0x583,_0x4e7b82:0x53a,_0x3c114d:0xf52,_0x1a35e2:0x126b,_0xa4d89c:0x415,_0x4dd7e6:0x18cf,_0x838d28:0xd4b,_0xac605b:0x6d9,_0x266582:0x18c,_0x2c17bb:0x1d9,_0x47f024:0xeaf,_0x3c33c7:0x2d5,_0x131ac4:0xb99,_0x59820c:0x2f7,_0xc2ed00:0xdf8,_0x5346f1:0xc71,_0x4898d7:0x1637,_0x3471c3:0xe74,_0x28c695:0x1530,_0x3e3f2c:0x1312,_0x506ef7:0x1060,_0x4fc8b2:0xb09,_0xb88858:0x155a,_0x5cf144:0x1527,_0x5cac35:0x12f0,_0x33977e:0x11e1,_0x54b0b4:0xbc4,_0x471135:0x159c,_0x18fd06:0x35c,_0x4e0388:0x61c,_0x2bfabc:0x1579,_0x1002f8:0x16bb,_0x77f3a0:0x563,_0x40cf74:0x176,_0x51b4d4:0x321,_0x40813f:0x12f4,_0x10b6b7:0xbb4,_0x565c4b:0x9ad,_0x18918c:0xb3c,_0x2e66f3:0x1163,_0x1bc7e1:0x8b3,_0x47dbcf:0x1bbb,_0x2f459b:0x1372,_0x50eef1:0xa03,_0x45b9a7:0xeaf,_0xbd9a32:0x14bc,_0x512867:0x69b,_0x52984c:0x12ef,_0x5b5221:0xa6a,_0x5c2937:0x1343,_0x2efe39:0x121e},_0x1a4c27={_0x5e75de:0x103d,_0x4b09e7:0x260},_0x10623b={_0x464309:0x36f},_0x37115f={_0x3bdec0:0x396},_0xe30b08={_0x3aa1a4:0x152a,_0x2b1640:0x12d7,_0x4c5d14:0x15bc},_0x45cff6=_0x4068f0['_attr'],_0x59f793=_0x4068f0['entityCollection'],_0x3a223c=getStyleBySymbolConfig(_0x43ebb2['symbol'],_0x45cff6,_0x4068f0);function _0x7a9a8c(_0x2f30ad,_0x1af26d,_0x48ecb0){function _0x21d7ae(_0x3005ab,_0x1b619a){return _0x536c(_0x3005ab- -0x223,_0x1b619a);}if(_0x1af26d[_0x21d7ae(0xdb1,0x36d)]==='')return null;Cesium__namespace[_0x1374fb(0x1704,_0xe30b08._0x3aa1a4)](_0x1af26d['height'])&&(_0x2f30ad=setPositionsHeight(_0x2f30ad,_0x1af26d['height']));const _0xe05807={};_0xe05807['position']=_0x2f30ad;function _0x1374fb(_0x2b912f,_0x34d0d4){return _0x536c(_0x34d0d4- -0x30,_0x2b912f);}_0xe05807[_0x1374fb(0x1921,0xf63)]=_0x1af26d,_0xe05807[_0x21d7ae(_0xe30b08._0x2b1640,_0xe30b08._0x4c5d14)]=_0x48ecb0;const _0x31318b=_0x59f793[_0x21d7ae(0x346,0x4fe)](_0xe05807);return _0x31318b;}_0x2a5b8f=_0x2a5b8f||_0x7a9a8c;if(_0x4068f0[_0x53f24e(0xcc6,_0x4cd994._0x2832d7)]){PolylineStyleConver['toCesiumVal'](_0x3a223c,_0x4068f0['polyline'],!![]);if(_0x3a223c['corridor']){const _0x3e7bf9={'color':_0x3a223c[_0x53f24e(0x10aa,_0x4cd994._0x5709fb)],'opacity':_0x3a223c['opacity'],..._0x3a223c['corridor']},_0x489460=_0x3e7bf9;isString(_0x3a223c[_0x471bb7(_0x4cd994._0x19f6c3,0xc46)][_0x53f24e(_0x4cd994._0x52cf58,_0x4cd994._0x2e9381)])&&(_0x489460[_0x53f24e(0x13ef,0x1ada)]=template(_0x3a223c['corridor']['width'],_0x45cff6));if(_0x4068f0[_0x53f24e(0x932,0x9b5)])CorridorStyleConver['toCesiumVal'](_0x489460,_0x4068f0['_corridorEx'][_0x53f24e(_0x4cd994._0x35884b,0x141c)],!![]);else{const _0x5024de=CorridorStyleConver[_0x471bb7(_0x4cd994._0x2f6085,0xf2)](_0x489460,{},!![]),_0x2f9a95=getCesiumValue(_0x4068f0[_0x53f24e(0xcc6,_0x4cd994._0x45c307)][_0x471bb7(0xd80,0x10f3)]);_0x4068f0['_positions']=_0x2f9a95,_0x5024de[_0x471bb7(_0x4cd994._0x41a1b0,_0x4cd994._0x3f1d2a)]=_0x2f9a95;const _0x46d169={};_0x46d169['corridor']=_0x5024de,_0x46d169['_attr']=_0x45cff6;const _0x4c0182=_0x59f793['add'](_0x46d169);_0x4c0182[_0x471bb7(0xeaf,_0x4cd994._0x3491a1)]=_0x43ebb2['id'],_0x4068f0[_0x471bb7(0x72b,_0x4cd994._0x41558f)]=_0x4c0182;}}if(_0x3a223c[_0x471bb7(0xd4b,_0x4cd994._0x4067d3)]&&_0x3a223c['label'][_0x53f24e(_0x4cd994._0x1ff7a2,0x142f)]){if(_0x4068f0[_0x53f24e(0x140a,0x1259)])LabelStyleConver['toCesiumVal'](_0x3a223c['label'],_0x4068f0[_0x53f24e(_0x4cd994._0x1a5690,0xd2d)]['label'],_0x45cff6);else{const _0x76e460=getCesiumValue(_0x4068f0['polyline']['positions']);let _0x28bf87=_0x76e460[Math[_0x471bb7(_0x4cd994._0x504146,-_0x4cd994._0x4e7b82)](_0x76e460[_0x53f24e(0xe1d,0x108c)]/0x2)];if(_0x3a223c[_0x53f24e(_0x4cd994._0x3c114d,_0x4cd994._0x1a35e2)]['position']){if(_0x3a223c[_0x53f24e(0xf52,0xb1e)]['position']===_0x53f24e(_0x4cd994._0xa4d89c,0x4f5))_0x28bf87=centerOfMass(_0x76e460,_0x3a223c[_0x53f24e(0xf52,_0x4cd994._0x4dd7e6)]['height']);else isNumber(_0x3a223c['label'][_0x53f24e(0x1579,0xd52)])&&(_0x28bf87=_0x76e460[_0x3a223c[_0x471bb7(_0x4cd994._0x838d28,0xdd8)]['position']]);}const _0x5f42a3=LabelStyleConver['toCesiumVal'](_0x3a223c['label'],{},_0x45cff6);_0x5f42a3['heightReference']=_0x5f42a3[_0x53f24e(0xec1,0x750)]??Cesium__namespace['HeightReference']['CLAMP_TO_GROUND'];const _0x24ce45=_0x2a5b8f(_0x28bf87,_0x5f42a3,_0x45cff6);_0x24ce45&&(_0x24ce45['_mars3d_layerId']=_0x43ebb2['id']),_0x4068f0['_labelEx']=_0x24ce45;}}}if(_0x4068f0['polygon']){var _0x1dbffa;PolygonStyleConver['toCesiumVal'](_0x3a223c,_0x4068f0[_0x471bb7(0x135,0x698)],!![]);if(_0x3a223c['outline']&&(_0x3a223c[_0x471bb7(0x11a0,_0x4cd994._0xac605b)]>0x1||((_0x1dbffa=_0x3a223c['outlineStyle'])===null||_0x1dbffa===void 0x0?void 0x0:_0x1dbffa[_0x53f24e(0x13ef,0x13c1)])>0x1)){_0x4068f0[_0x53f24e(0x33c,_0x4cd994._0x266582)]['outline']=![];const _0x22fb68={..._0x3a223c,'outline':![],'color':_0x3a223c['outlineColor'],'width':_0x3a223c[_0x53f24e(0x13a7,0xe62)],'opacity':_0x3a223c['outlineOpacity'],..._0x3a223c['outlineStyle']},_0x150a47=_0x22fb68;if(_0x4068f0['_outlineEx'])for(let _0x4f2fd8=0x0,_0x5291ee=_0x4068f0['_outlineEx']['length'];_0x4f2fd8<_0x5291ee;_0x4f2fd8++){PolylineStyleConver[_0x53f24e(0xc71,_0x4cd994._0x2c17bb)](_0x150a47,_0x4068f0[_0x471bb7(0xce,0x7a5)][_0x4f2fd8]['polyline'],!![]);}else{const _0x1ad7f6=getAllPositions(_0x4068f0);_0x4068f0['_positions']=_0x1ad7f6[0x0],_0x4068f0['_outlineEx']=[];for(let _0x51502b=0x0,_0xb537c9=_0x1ad7f6[_0x471bb7(0xc16,0x137e)];_0x51502b<_0xb537c9;_0x51502b++){const _0x182159=PolylineStyleConver['toCesiumVal'](_0x150a47,{},!![]);_0x182159['positions']=_0x1ad7f6[_0x51502b];const _0x141aac={};_0x141aac['polyline']=_0x182159,_0x141aac['_attr']=_0x45cff6;const _0xb30a34=_0x59f793['add'](_0x141aac);_0xb30a34[_0x471bb7(_0x4cd994._0x47f024,0x1667)]=_0x43ebb2['id'],_0x4068f0[_0x53f24e(_0x4cd994._0x3c33c7,0xda1)][_0x471bb7(_0x4cd994._0x131ac4,_0x4cd994._0x59820c)](_0xb30a34);}}}if(_0x3a223c['label']&&_0x3a223c[_0x471bb7(0xd4b,_0x4cd994._0xc2ed00)]['text']){if(_0x4068f0['_labelEx'])LabelStyleConver[_0x53f24e(_0x4cd994._0x5346f1,_0x4cd994._0x4898d7)](_0x3a223c[_0x471bb7(0xd4b,_0x4cd994._0x3471c3)],_0x4068f0['_labelEx'][_0x53f24e(0xf52,0xe4c)],_0x45cff6);else{const _0x331def=centerOfMass(getPositions(_0x4068f0),_0x3a223c['label'][_0x53f24e(0x4ff,-0xbb)]),_0x1b5fbb=LabelStyleConver['toCesiumVal'](_0x3a223c[_0x471bb7(0xd4b,0xbba)],{},_0x45cff6);_0x1b5fbb['heightReference']=_0x1b5fbb['heightReference']??Cesium__namespace['HeightReference']['CLAMP_TO_GROUND'];const _0x1470d0=_0x2a5b8f(_0x331def,_0x1b5fbb,_0x45cff6);_0x1470d0&&(_0x1470d0['_mars3d_layerId']=_0x43ebb2['id']),_0x4068f0['_labelEx']=_0x1470d0;}}}function _0x53f24e(_0x3d0770,_0x28c93e){return _0x7afdbe(_0x28c93e,_0x3d0770- -_0x37115f._0x3bdec0);}function _0x471bb7(_0x2f6c7d,_0x3217ad){return _0x54a7f1(_0x2f6c7d- -_0x10623b._0x464309,_0x3217ad);}_0x4068f0['label']?(_0x3a223c[_0x471bb7(0xd4b,_0x4cd994._0x28c695)]=_0x3a223c['label']||_0x3a223c||{},!Cesium__namespace[_0x471bb7(_0x4cd994._0x3e3f2c,0x111e)](_0x3a223c['label'][_0x471bb7(0x11fa,0x8d0)])&&!Cesium__namespace[_0x471bb7(0x1312,0x1025)](_0x3a223c['label'][_0x53f24e(0xec1,0x11a8)])&&(_0x3a223c['label'][_0x53f24e(0xec1,_0x4cd994._0x506ef7)]=_0x3a223c['label']['heightReference']??Cesium__namespace['HeightReference'][_0x53f24e(_0x4cd994._0x4fc8b2,_0x4cd994._0xb88858)]),LabelStyleConver['toCesiumVal'](_0x3a223c[_0x53f24e(0xf52,0x15bf)],_0x4068f0['label'],_0x45cff6)):_0x3a223c[_0x53f24e(_0x4cd994._0x3c114d,_0x4cd994._0x5cf144)]&&typeof _0x3a223c[_0x53f24e(0xf52,0x7f6)]===_0x53f24e(0x1439,0xc72)&&_0x3a223c['label'](_0x4068f0,_0x45cff6,function(_0x425959,_0x526e6a){const _0x92bd70={_0x519ff0:0x8b};function _0x4c85c0(_0x24d2ef,_0x5b6171){return _0x471bb7(_0x24d2ef-0xc0,_0x5b6171);}function _0x118c9b(_0x2d3631,_0x2cbb4a){return _0x53f24e(_0x2d3631-_0x92bd70._0x519ff0,_0x2cbb4a);}const _0x491718=LabelStyleConver['toCesiumVal'](_0x526e6a,{},_0x45cff6);_0x491718[_0x4c85c0(0xd7a,0x17f6)]=(_0x491718[_0x4c85c0(0xd7a,_0x1a4c27._0x5e75de)],Cesium__namespace['HeightReference'][_0x4c85c0(0x9c2,_0x1a4c27._0x4b09e7)]);const _0x244465=_0x2a5b8f(_0x425959,_0x491718,_0x45cff6);_0x244465&&(_0x244465['_mars3d_layerId']=_0x43ebb2['id']);});if(_0x4068f0['billboard']){!Cesium__namespace['defined'](_0x3a223c[_0x471bb7(0x11fa,_0x4cd994._0x5cac35)])&&!Cesium__namespace['defined'](_0x3a223c['heightReference'])&&(_0x3a223c['heightReference']=_0x3a223c['heightReference']??Cesium__namespace[_0x53f24e(_0x4cd994._0x33977e,0x1481)]['CLAMP_TO_GROUND']);_0x3a223c['image']=template(_0x3a223c['image'],_0x45cff6),BillboardStyleConver['toCesiumVal'](_0x3a223c,_0x4068f0[_0x53f24e(_0x4cd994._0x54b0b4,_0x4cd994._0x471135)],!![]);if(_0x3a223c[_0x471bb7(0x35c,-0x5ef)]){if(_0x4068f0[_0x53f24e(0xa82,0xd3f)])ModelStyleConver['toCesiumVal'](_0x3a223c[_0x471bb7(_0x4cd994._0x18fd06,-0x3af)],_0x4068f0['_modelEx']['model'],!![]);else{const _0x1ce374=ModelStyleConver['toCesiumVal'](_0x3a223c['model'],!![]);_0x1ce374['heightReference']=(_0x1ce374[_0x471bb7(0xcba,_0x4cd994._0x4e0388)],Cesium__namespace['HeightReference']['CLAMP_TO_GROUND']);const _0x416a6a={};_0x416a6a[_0x53f24e(_0x4cd994._0x2bfabc,_0x4cd994._0x1002f8)]=_0x4068f0['position'],_0x416a6a[_0x53f24e(_0x4cd994._0x77f3a0,-_0x4cd994._0x40cf74)]=_0x1ce374,_0x416a6a['_attr']=_0x45cff6;const _0x441c73=_0x59f793[_0x471bb7(_0x4cd994._0x51b4d4,-0x26c)](_0x416a6a);_0x441c73[_0x53f24e(0x10b6,0x18b6)]=_0x43ebb2['id'],_0x4068f0['_modelEx']=_0x441c73;}}if(_0x3a223c[_0x53f24e(0xbb4,_0x4cd994._0x40813f)]){if(_0x4068f0['_pointEx'])PointStyleConver[_0x471bb7(0xa6a,0x1293)](_0x3a223c[_0x53f24e(_0x4cd994._0x10b6b7,0x13e1)],_0x4068f0['_pointEx'][_0x471bb7(_0x4cd994._0x565c4b,0x1309)],!![]);else{const _0x1ae7f7=PointStyleConver[_0x471bb7(0xa6a,_0x4cd994._0x18918c)](_0x3a223c['point'],{},!![]);_0x1ae7f7[_0x471bb7(0xcba,_0x4cd994._0x2e66f3)]=_0x1ae7f7[_0x471bb7(0xcba,_0x4cd994._0x1bc7e1)]??Cesium__namespace['HeightReference']['CLAMP_TO_GROUND'];const _0x5db5ff={};_0x5db5ff[_0x471bb7(0x1372,_0x4cd994._0x47dbcf)]=_0x4068f0[_0x471bb7(_0x4cd994._0x2f459b,_0x4cd994._0x50eef1)],_0x5db5ff['point']=_0x1ae7f7,_0x5db5ff['_attr']=_0x45cff6;const _0x1a5afd=_0x59f793['add'](_0x5db5ff);_0x1a5afd[_0x471bb7(_0x4cd994._0x45b9a7,_0x4cd994._0xbd9a32)]=_0x43ebb2['id'],_0x4068f0['_pointEx']=_0x1a5afd;}}if(_0x3a223c[_0x53f24e(_0x4cd994._0x3c114d,_0x4cd994._0x512867)]&&_0x3a223c[_0x471bb7(_0x4cd994._0x838d28,0xe3c)]['text']&&!_0x4068f0['label']){if(_0x4068f0['_labelEx'])LabelStyleConver[_0x53f24e(0xc71,0x166c)](_0x3a223c['label'],_0x4068f0['_labelEx'][_0x471bb7(0xd4b,_0x4cd994._0x52984c)],_0x45cff6);else{const _0xdfd4e5=_0x4068f0['position'],_0x14d492=LabelStyleConver[_0x471bb7(_0x4cd994._0x5b5221,_0x4cd994._0x5c2937)](_0x3a223c['label'],{},_0x45cff6);_0x14d492['heightReference']=_0x14d492['heightReference']??Cesium__namespace[_0x53f24e(0x11e1,0xa1d)]['CLAMP_TO_GROUND'];const _0x94cf8e=_0x2a5b8f(_0xdfd4e5,_0x14d492,_0x45cff6);_0x94cf8e&&(_0x94cf8e[_0x471bb7(0xeaf,_0x4cd994._0x2efe39)]=_0x43ebb2['id']),_0x4068f0['_labelEx']=_0x94cf8e;}}}_0x4068f0[_0x471bb7(0x5c0,0x37d)]=_0x3a223c;}class CzmGeoJsonLayer extends BaseGraphicLayer{constructor(_0x363431={}){const _0x4afc96={_0x4cd6a3:0x17c3};super(_0x363431);function _0x33cc3e(_0x5a7d02,_0x50a4a8){return _0x7afdbe(_0x50a4a8,_0x5a7d02- -0xba);}this[_0x33cc3e(0x18cb,_0x4afc96._0x4cd6a3)](_0x363431,_0x363431);}get[_0x7afdbe(0xff1,0x1548)](){return this['_dataSource'];}get['entities'](){const _0x47561e={_0x594897:0xb5d,_0x326cb4:0x835};function _0x149624(_0x1ec4b7,_0x5ec4fc){return _0x54a7f1(_0x1ec4b7- -0x487,_0x5ec4fc);}function _0x474492(_0x192779,_0x301493){return _0x54a7f1(_0x301493-0x138,_0x192779);}return this[_0x149624(0xd66,_0x47561e._0x594897)]?this['_dataSource'][_0x149624(_0x47561e._0x326cb4,0xbd)]:null;}get[_0x7afdbe(0x756,0x111f)](){const _0x448671={_0x174dc9:0x1242,_0xe270b0:0x1285,_0x2d5435:0x8cd,_0x4cced5:0x618,_0x50599a:0x2a9,_0x5af068:0x23c},_0x1f9d2b={_0x548ee6:0x12c},_0x12a8f8={_0x180399:0x431};function _0x183e3f(_0x3fd820,_0x277ad0){return _0x7afdbe(_0x3fd820,_0x277ad0- -_0x12a8f8._0x180399);}function _0x243de1(_0x573656,_0x50ecad){return _0x54a7f1(_0x50ecad- -_0x1f9d2b._0x548ee6,_0x573656);}return!this['_labelCollection']&&(this[_0x183e3f(_0x448671._0x174dc9,_0x448671._0xe270b0)]=new Cesium__namespace[(_0x243de1(_0x448671._0x2d5435,0x3f4))]({'scene':this['_map'][_0x183e3f(_0x448671._0x4cced5,0xe7c)]}),this['_state']===State[_0x183e3f(0x124c,0xb25)]&&this[_0x243de1(0xcfc,0x6a7)]['scene'][_0x243de1(0x909,_0x448671._0x50599a)][_0x243de1(_0x448671._0x5af068,0x564)](this['_labelCollection'])),this['_labelCollection'];}get[_0x7afdbe(0x21c3,0x19b1)](){return!![];}get[_0x54a7f1(0xc88,0x10e6)](){return this['options']['zIndex'];}set['zIndex'](_0x365370){const _0x4aece1={_0x138e83:0x1ef,_0x251ead:0xd32,_0x50585e:0x1497},_0x51fff4={_0x5c630f:0x345};function _0x4c807b(_0x40c5e4,_0x56bde5){return _0x54a7f1(_0x56bde5- -_0x51fff4._0x5c630f,_0x40c5e4);}function _0x46ff0e(_0x44cd93,_0x32d885){return _0x54a7f1(_0x32d885- -0x1ea,_0x44cd93);}this[_0x46ff0e(-0x149,0x6c6)]['zIndex']=_0x365370;if(this['_dataSource']==null||_0x365370==null)return;if(!this['_map'][_0x46ff0e(0x11d6,0x75c)]['contains'](this['_dataSource']))return;this['_dataSource'][_0x4c807b(_0x4aece1._0x138e83,0x943)]=_0x365370,this[_0x46ff0e(0x2c9,0x5e9)][_0x4c807b(-0x14b,0x601)]['raiseToTop'](this['_dataSource']);const _0x5ae27b=this['_map']['dataSources'];for(let _0x406561=_0x5ae27b['length']-0x1;_0x406561>=0x0;_0x406561--){const _0x37dab8=_0x5ae27b['get'](_0x406561);if(_0x37dab8===this['_dataSource'])continue;Cesium__namespace[_0x46ff0e(_0x4aece1._0x251ead,_0x4aece1._0x50585e)](_0x37dab8['zIndex'])&&_0x365370<_0x37dab8['zIndex']&&this['_map']['dataSources']['lower'](this['_dataSource']);}}get['clampToGround'](){const _0x4768ca={_0x33ff7d:0x1a74};function _0x3ac59d(_0xc4f223,_0x48e3b5){return _0x54a7f1(_0xc4f223- -0x367,_0x48e3b5);}function _0x165575(_0x1ee6f6,_0x503719){return _0x7afdbe(_0x503719,_0x1ee6f6- -0x6cd);}if(this['options']['clampToGround'])return!![];if(this['options']['symbol']&&this[_0x3ac59d(0x549,0x399)]['symbol']['styleOptions']&&this['options']['symbol']['styleOptions'][_0x165575(0x10ca,_0x4768ca._0x33ff7d)])return!![];return![];}[_0x54a7f1(0x1757,0xd5e)](_0x3679a2,_0x4cc7de){const _0x2674e9={_0x536419:0x1b54,_0x1ec12a:0x117e,_0x1ed88b:0x12ae,_0xec5228:0x2fe,_0x15294f:0x6bf,_0x4be8e0:0x777,_0x295cea:0x1066,_0x1ad9f2:0x336,_0x21faff:0xdf8,_0x79d530:0x11cf,_0x9105c1:0x4c6,_0x1e666e:0x9c9,_0x440411:0x164f,_0x12f575:0x3ad,_0x6fbe88:0x53f},_0x268545={_0x454cfd:0x731},_0x281078={_0x511a5b:0x260};var _0x5d81f4;function _0x533b9d(_0x2c2cc0,_0x506831){return _0x7afdbe(_0x506831,_0x2c2cc0- -_0x281078._0x511a5b);}super[_0x1a3aa5(0x1254,_0x2674e9._0x536419)](_0x3679a2,_0x4cc7de);function _0x1a3aa5(_0x482689,_0x25c2e3){return _0x7afdbe(_0x25c2e3,_0x482689- -_0x268545._0x454cfd);}Cesium__namespace[_0x1a3aa5(_0x2674e9._0x1ec12a,_0x2674e9._0x1ed88b)](_0x4cc7de[_0x1a3aa5(0x6bf,-_0x2674e9._0xec5228)])&&this[_0x533b9d(0x963,0xb0)](_0x4cc7de[_0x1a3aa5(_0x2674e9._0x15294f,0xd7)]);if((_0x5d81f4=this[_0x533b9d(0x87e,_0x2674e9._0x4be8e0)]['symbol'])!==null&&_0x5d81f4!==void 0x0&&_0x5d81f4['styleOptions']){const _0x55edca=this['options'][_0x533b9d(0xb90,0x2ad)]['styleOptions'];Cesium__namespace[_0x1a3aa5(_0x2674e9._0x1ec12a,0xfd3)](_0x55edca['clampToGround'])&&(this['options']['clampToGround']=_0x55edca[_0x1a3aa5(_0x2674e9._0x295cea,0x161c)]);if(Cesium__namespace[_0x533b9d(0x164f,0x101b)](_0x55edca['color'])){const _0xe6a603=Cesium__namespace['Color']['fromCssColorString'](_0x55edca['color']??_0x533b9d(0x513,0xdca))['withAlpha'](Number(_0x55edca['opacity']??0.5));this[_0x1a3aa5(0x3ad,-0x1ff)]['fill']=_0xe6a603;}if(Cesium__namespace['defined'](_0x55edca['outlineColor'])){const _0x187c37=Cesium__namespace[_0x533b9d(0x1252,0x992)]['fromCssColorString'](_0x55edca[_0x1a3aa5(_0x2674e9._0x1ad9f2,-0x379)]??_0x55edca['color']??'#FFFFFF')['withAlpha'](_0x55edca[_0x533b9d(0x1329,_0x2674e9._0x21faff)]??(_0x55edca['opacity'],0x1));this[_0x533b9d(0x87e,_0x2674e9._0x79d530)][_0x533b9d(_0x2674e9._0x9105c1,_0x2674e9._0x1e666e)]=_0x187c37;}Cesium__namespace[_0x533b9d(_0x2674e9._0x440411,0x19f2)](_0x55edca[_0x1a3aa5(0x100c,0x75c)])&&(this[_0x1a3aa5(_0x2674e9._0x12f575,_0x2674e9._0x6fbe88)]['strokeWidth']=_0x55edca['outlineWidth']);}}['_showHook'](_0x38fd1e){const _0x20bdb9={_0x5e438e:0x126b};super['_showHook'](_0x38fd1e);function _0x56a4ac(_0x24f26a,_0x4f0f67){return _0x7afdbe(_0x24f26a,_0x4f0f67- -0x44b);}this['_labelCollection']&&(this[_0x56a4ac(0x166f,_0x20bdb9._0x5e438e)]['show']=_0x38fd1e);}['_mountedHook'](){const _0xa3c095={_0x582b99:0x4d5},_0x576643={_0x47e23c:0x23};function _0x4ce2e9(_0x32318c,_0x1f04e0){return _0x54a7f1(_0x32318c- -_0x576643._0x47e23c,_0x1f04e0);}super['_mountedHook'](),this[_0x4ce2e9(0x514,_0xa3c095._0x582b99)]();}[_0x54a7f1(0x1121,0x131e)](){const _0x286d90={_0x30b5bd:0x98c,_0x4c4c35:0xfbe,_0x44c7f2:0x12d0,_0x374524:0xf73,_0xd6eda:0x1161},_0x3ac499={_0x41502e:0x327},_0x565b87={_0x3946d0:0x3e6};super['_addedHook']();function _0x1912e1(_0x1bab69,_0x4f66fa){return _0x7afdbe(_0x1bab69,_0x4f66fa- -_0x565b87._0x3946d0);}function _0x2281c3(_0x471c14,_0x370d1b){return _0x54a7f1(_0x370d1b- -_0x3ac499._0x41502e,_0x471c14);}this['_dataSource']&&this['_map'][_0x1912e1(_0x286d90._0x30b5bd,0x78e)][_0x2281c3(-0x24f,0x369)](this['_dataSource']),this[_0x1912e1(_0x286d90._0x4c4c35,_0x286d90._0x44c7f2)]&&this['_map']['scene']['primitives']['add'](this[_0x2281c3(_0x286d90._0x374524,_0x286d90._0xd6eda)]);}['_removedHook'](){const _0x4e8bc8={_0x316bcc:0x2fa,_0x2671a7:0x35a},_0x299328={_0x2f7c78:0x6a7};function _0x2956cf(_0x3b550f,_0x33bcdb){return _0x7afdbe(_0x3b550f,_0x33bcdb- -_0x299328._0x2f7c78);}super['_removedHook']();this['_labelCollection']&&(this['_map']['scene']['primitives']['remove'](this[_0x2956cf(0xbdc,0x100f)]),this['_labelCollection']=null);function _0x55585e(_0x1d4f77,_0x55fae7){return _0x54a7f1(_0x55fae7- -0x10f,_0x1d4f77);}this[_0x55585e(0x1720,0x10de)]&&this[_0x2956cf(_0x4e8bc8._0x316bcc,_0x4e8bc8._0x2671a7)][_0x2956cf(0xdc6,0x4cd)]['remove'](this['_dataSource']);}[_0x54a7f1(0x537,0xfb1)](_0x218370){const _0x1e52dc={_0x7532:0xbe7,_0x387a33:0xd8b,_0x48a4ab:0xdd8,_0x49fa86:0x9b9},_0x2c086d={_0x429af6:0x191,_0x4015a6:0x309,_0x40b2f0:0x7eb,_0x358146:0x57d},_0x4f3942={_0x4fe097:0x3f},_0x369c03={_0x34eac0:0x28f};function _0x4e3808(_0x31ad26,_0x2417ce){return _0x7afdbe(_0x2417ce,_0x31ad26- -_0x369c03._0x34eac0);}function _0x1de653(_0x1f2e7d,_0x4d0da6){return _0x54a7f1(_0x4d0da6-_0x4f3942._0x4fe097,_0x1f2e7d);}_0x218370&&((_0x218370['clear']??!![])&&(delete this[_0x4e3808(0x84f,_0x1e52dc._0x7532)]['url'],delete this['options'][_0x1de653(0x11d5,0xcae)]),this['clear'](),this[_0x4e3808(0x84f,0x5ce)]={...this[_0x1de653(0x117,0x8ef)],..._0x218370});if(this['options']['url']){const _0x175a56={...this['options']};_0x175a56['proxy']=this[_0x1de653(_0x1e52dc._0x387a33,0x6d7)],fetchJson(_0x175a56)[_0x1de653(-0x157,0x5f2)](_0x4bd186=>{if(!this['_map']||!this['isAdded'])return;this['_load_data'](_0x4bd186);})[_0x1de653(0x6c8,0xa67)](_0x4dda94=>{var _0x32c67c;function _0x2b69dc(_0x2c9ddd,_0x94854d){return _0x1de653(_0x2c9ddd,_0x94854d- -0xc);}function _0x38d2c0(_0x466898,_0x360f55){return _0x1de653(_0x466898,_0x360f55-0x19);}logError('fetchJson出错了',_0x4dda94),(_0x32c67c=this[_0x38d2c0(_0x2c086d._0x429af6,_0x2c086d._0x4015a6)])!==null&&_0x32c67c!==void 0x0&&_0x32c67c[_0x2b69dc(0xe9c,_0x2c086d._0x40b2f0)]&&this['_readyPromise'][_0x38d2c0(_0x2c086d._0x358146,0x810)](_0x4dda94);});}else this['options'][_0x4e3808(0xc0e,_0x1e52dc._0x48a4ab)]?this['_load_data'](this['options']['data']):_0x218370&&logWarn(_0x1de653(_0x1e52dc._0x49fa86,0xc8b));return this;}[_0x7afdbe(0x1d08,0x1455)](_0x155620){const _0x47643f={_0x5f2d59:0x62f,_0x46add2:0x209};function _0x497725(_0x4cafa6,_0x5118f1){return _0x54a7f1(_0x5118f1- -0x244,_0x4cafa6);}function _0x2f6e83(_0x49300a,_0x118f2d){return _0x54a7f1(_0x49300a- -0x3aa,_0x118f2d);}this['options']['format']&&(_0x155620=this['options'][_0x2f6e83(0xb64,0xe0d)](_0x155620));const _0x8d1629=Cesium__namespace['GeoJsonDataSource']['load'](_0x155620,this[_0x497725(_0x47643f._0x5f2d59,0x66c)]);_0x8d1629[_0x2f6e83(_0x47643f._0x46add2,0xfb)](_0x6104fd=>{this['showResult'](_0x6104fd);});}['showResult'](_0x5545d4){const _0x51e045={_0x34dd2d:0x12b7,_0x551e84:0xff8,_0x30b326:0x34a,_0x4a218d:0xf65,_0x1871f9:0x219};this['_dataSource']&&(this[_0x41f6eb(0x169,0x3e7)]['dataSources'][_0x41f6eb(0x434,0x3a2)](this[_0x41f6eb(0xf48,0xe01)]),delete this['_dataSource']);if(!_0x5545d4||this['_state']===State[_0x41f6eb(_0x51e045._0x34dd2d,0xb96)])return;function _0x13f953(_0x56f47d,_0x178234){return _0x54a7f1(_0x56f47d- -0x117,_0x178234);}_0x5545d4['show']=this[_0x13f953(0x14dc,0x1196)],this['_map'][_0x41f6eb(_0x51e045._0x551e84,0x55a)]['add'](_0x5545d4),this['_dataSource']=_0x5545d4;this['options']['zIndex']&&(this['zIndex']=this['options']['zIndex']);const _0x3ba41c=_0x5545d4[_0x41f6eb(0x5e5,0x8d0)]['values'],_0x37c7a6=this['bindEntities'](_0x3ba41c);this['opacity']!==0x1&&this[_0x13f953(0x3f1,0xbf5)](this['opacity']);this[_0x13f953(0x19a,_0x51e045._0x30b326)][_0x13f953(0xc8b,_0x51e045._0x4a218d)](this);function _0x41f6eb(_0x5e5e08,_0x411a98){return _0x7afdbe(_0x5e5e08,_0x411a98- -0x61a);}const _0xbd8834={};_0xbd8834[_0x13f953(0x91e,_0x51e045._0x1871f9)]=_0x5545d4,_0xbd8834[_0x41f6eb(0x1034,0x8d0)]=_0x3ba41c,_0xbd8834['list']=_0x37c7a6,this['fire'](EventType['load'],_0xbd8834);}[_0x7afdbe(0xf6a,0x796)](_0xba98b2){const _0x42ba47={_0x568e52:0x10a6,_0x320fd6:0x1a24,_0x509aad:0x14a9},_0x488830={_0x562241:0x178},_0x1a88f8=[];function _0x5ecd9d(_0xb8756c,_0x1c5d31){return _0x54a7f1(_0x1c5d31- -_0x488830._0x562241,_0xb8756c);}function _0x3fcced(_0x4553e4,_0x2a7aa1){return _0x54a7f1(_0x2a7aa1-0x293,_0x4553e4);}for(let _0x2ccd9f=0x0,_0x1ad948=_0xba98b2['length'];_0x2ccd9f<_0x1ad948;_0x2ccd9f++){const _0x51720a=_0xba98b2[_0x2ccd9f];_0x51720a[_0x5ecd9d(0x19e6,_0x42ba47._0x568e52)]=this['id'];const _0x5054e1=this['getEntityAttr'](_0x51720a);_0x51720a[_0x5ecd9d(_0x42ba47._0x320fd6,_0x42ba47._0x509aad)]=_0x5054e1||{};const _0x51adad={};_0x51adad['czmObject']=_0x51720a,_0x51adad['attr']=_0x5054e1,this['fire'](EventType['addGraphic'],_0x51adad);const _0x778fef={..._0x5054e1};_0x778fef['_entity']=_0x51720a,_0x1a88f8['push'](_0x778fef);}return this['options']['id']=this['id'],config2Entity(_0xba98b2,this[_0x5ecd9d(0x58b,0x738)],(_0x31f92b,_0x333f10,_0x295982)=>{return this['lblAddFun'](_0x31f92b,_0x333f10,_0x295982);}),_0x1a88f8;}['getEntityById'](_0x404e7a){const _0x93f003={_0x58b7fa:0xf69,_0x36497c:0x545,_0x4bf9d1:0xd56,_0x14c836:0xba3},_0x590763={_0x50d013:0x4b2},_0x24886a={_0x21e02f:0x3e2};function _0x1b1981(_0x218db4,_0x31717f){return _0x54a7f1(_0x31717f- -_0x24886a._0x21e02f,_0x218db4);}const _0x53337a=this[_0x5815e2(_0x93f003._0x58b7fa,_0x93f003._0x36497c)]['entities'][_0x5815e2(0xecc,0x1924)];function _0x5815e2(_0xb86727,_0x3818cc){return _0x7afdbe(_0x3818cc,_0xb86727- -_0x590763._0x50d013);}for(let _0x4e7bcc=0x0,_0x16c460=_0x53337a[_0x1b1981(_0x93f003._0x4bf9d1,_0x93f003._0x14c836)];_0x4e7bcc<_0x16c460;_0x4e7bcc++){var _0x9c2742;const _0x308aea=_0x53337a[_0x4e7bcc];if(_0x308aea['id']===_0x404e7a||((_0x9c2742=_0x308aea['_attr'])===null||_0x9c2742===void 0x0?void 0x0:_0x9c2742['id'])===_0x404e7a)return _0x308aea;}}[_0x54a7f1(0x995,0x6c8)](_0x2a1920){const _0x138f9d={_0x524c9f:0x49b,_0x299fdd:0x6f0,_0xda56ff:0x129a},_0x38ab08={_0x87438:0x1196,_0x3d2013:0xcbb},_0x125929={_0x466cad:0x643};if(!this['_dataSource'])return;function _0x365db8(_0x2df727,_0x5c351e){return _0x7afdbe(_0x5c351e,_0x2df727- -_0x125929._0x466cad);}_0x2a1920&&(this[_0x365db8(_0x138f9d._0x524c9f,-0x42a)]['symbol']={...this[_0xe1e09f(0x110d,_0x138f9d._0x299fdd)]['symbol'],..._0x2a1920});function _0xe1e09f(_0xcd063d,_0x245da2){return _0x7afdbe(_0xcd063d,_0x245da2- -0x3ee);}const _0x2a4a7c=this['_dataSource'][_0x365db8(0x8a7,_0x138f9d._0xda56ff)]['values'];return this['options']['id']=this['id'],config2Entity(_0x2a4a7c,this['options'],(_0x182630,_0x53144c,_0x368717)=>{function _0x14811a(_0x5aeee8,_0x3a1d17){return _0xe1e09f(_0x5aeee8,_0x3a1d17- -0x55);}return this[_0x14811a(_0x38ab08._0x87438,_0x38ab08._0x3d2013)](_0x182630,_0x53144c,_0x368717);}),this;}['lblAddFun'](_0x266261,_0x12e312,_0x3bdc26){const _0x5b721f={_0x5b43a6:0x3ab,_0x32f751:0xa74,_0x2829a7:0x5ef,_0x444be4:0xc02,_0x23bcee:0xabd,_0x387aa5:0x58c,_0x1f4c0b:0x3d4,_0x3dd7f9:0x280},_0x1e7962={_0x4d5f62:0x6ab};if(_0x12e312['text']==='')return null;Cesium__namespace[_0x23b2ef(0x126f,0x1204)](_0x12e312['height'])&&(_0x266261=setPositionsHeight(_0x266261,_0x12e312[_0x751027(_0x5b721f._0x5b43a6,0x68f)]));!this['labelCollection']&&(this[_0x23b2ef(0xd92,_0x5b721f._0x32f751)]=new Cesium__namespace['LabelCollection']({'scene':this[_0x23b2ef(_0x5b721f._0x2829a7,0x4e1)][_0x23b2ef(0x7ad,_0x5b721f._0x444be4)]}),this['viewer']['scene'][_0x23b2ef(-_0x5b721f._0x23bcee,-0xa8)]['add'](this[_0x23b2ef(_0x5b721f._0x387aa5,0xa74)]));_0x12e312['position']=getPositionValue(_0x266261);function _0x23b2ef(_0x252a55,_0x1d63c9){return _0x7afdbe(_0x252a55,_0x1d63c9- -_0x1e7962._0x4d5f62);}function _0x751027(_0x4e6234,_0x40092d){return _0x54a7f1(_0x4e6234- -0x2bc,_0x40092d);}const _0x1f4a7a=this['labelCollection'][_0x751027(_0x5b721f._0x1f4c0b,-_0x5b721f._0x3dd7f9)](_0x12e312);return _0x1f4a7a[_0x23b2ef(0xb1f,0xe97)]=_0x3bdc26,_0x1f4a7a['_mars3d_layerId']=this['id'],_0x1f4a7a;}['setOpacity'](_0x3d4cdd){const _0x1ef5b8={_0x1c464a:0x2ab,_0x87dfdf:0xf0,_0x50ef7b:0x1ac,_0x517646:0xf6b,_0x25436b:0xb96,_0x1a3e67:0xa85,_0x43fd9c:0x13c,_0x43f069:0x399,_0x58faff:0xeea,_0x332ea3:0x688,_0x37943a:0x647,_0x259c88:0x45,_0x18bcd6:0xcaf,_0x419ba8:0xf88,_0x44fa30:0xe13,_0xca90b8:0x8bc,_0x390d14:0x9b1,_0x702ad2:0x645};function _0x47f482(_0x2d02bb,_0x5cf195){return _0x54a7f1(_0x5cf195- -0x2a7,_0x2d02bb);}function _0x189336(_0x9651f,_0x459c78){return _0x54a7f1(_0x459c78- -0x1f9,_0x9651f);}this['options']['opacity']=_0x3d4cdd;if(!this['_dataSource'])return;const _0x1a3dc7=this['_dataSource'][_0x189336(0xcae,0xac3)]['values'];for(let _0x33a88c=0x0,_0x1da29a=_0x1a3dc7['length'];_0x33a88c<_0x1da29a;_0x33a88c++){const _0x16753b=_0x1a3dc7[_0x33a88c];_0x16753b[_0x189336(0x7f5,_0x1ef5b8._0x1c464a)]&&_0x16753b['polygon'][_0x189336(-_0x1ef5b8._0x87dfdf,0x25a)]&&_0x16753b[_0x47f482(0x7fa,0x1fd)][_0x47f482(-0x6f1,0x1ac)]['color']&&(this['_updatEntityAlpha'](_0x16753b['polygon']['material'][_0x47f482(0x872,0xf6b)],_0x3d4cdd),_0x16753b[_0x189336(0x59a,0x2ab)]['outlineColor']&&this['_updatEntityAlpha'](_0x16753b['polygon']['outlineColor'],_0x3d4cdd));_0x16753b['polyline']&&_0x16753b['polyline'][_0x189336(0x70f,0x25a)]&&_0x16753b[_0x189336(0x4ef,0xc35)]['material']['color']&&this['_updatEntityAlpha'](_0x16753b['polyline'][_0x47f482(0xb83,_0x1ef5b8._0x50ef7b)][_0x47f482(0xfb4,_0x1ef5b8._0x517646)],_0x3d4cdd);_0x16753b['billboard']&&(_0x16753b[_0x47f482(_0x1ef5b8._0x25436b,_0x1ef5b8._0x1a3e67)]['color']=Cesium__namespace[_0x189336(0xf38,0x108b)]['WHITE']['withAlpha'](_0x3d4cdd));_0x16753b[_0x47f482(-_0x1ef5b8._0x43fd9c,0x424)]&&(_0x16753b['model']['color']=Cesium__namespace['Color'][_0x189336(-_0x1ef5b8._0x43f069,0x694)][_0x47f482(0xa49,0xe4)](_0x3d4cdd));if(_0x16753b['label']){let _0x430359=_0x3d4cdd;_0x16753b[_0x47f482(_0x1ef5b8._0x58faff,_0x1ef5b8._0x332ea3)]&&_0x16753b['styleOpt']['label']&&_0x16753b['styleOpt'][_0x47f482(0x11f8,0xe13)]['opacity']&&(_0x430359=_0x16753b['styleOpt']['label'][_0x189336(-_0x1ef5b8._0x37943a,0x161)]),_0x16753b['label'][_0x189336(-0x289,_0x1ef5b8._0x259c88)]&&this[_0x189336(_0x1ef5b8._0x18bcd6,0x645)](_0x16753b[_0x47f482(_0x1ef5b8._0x419ba8,_0x1ef5b8._0x44fa30)][_0x47f482(-0x90e,-0x69)],_0x430359),_0x16753b['label'][_0x47f482(_0x1ef5b8._0xca90b8,0x592)]&&this[_0x189336(_0x1ef5b8._0x390d14,_0x1ef5b8._0x702ad2)](_0x16753b[_0x47f482(0x56e,0xe13)]['outlineColor'],_0x430359),_0x16753b['label'][_0x189336(0x19e7,0x10e0)]&&this['_updatEntityAlpha'](_0x16753b['label']['backgroundColor'],_0x430359);}}}['_updatEntityAlpha'](_0x3c5c46,_0x4cadbc){const _0x41f767={_0x181cb2:0xf4};if(!_0x3c5c46)return;function _0x43541b(_0x487e82,_0x389bbb){return _0x7afdbe(_0x389bbb,_0x487e82- -0x53e);}let _0xb4daad=getCesiumValue(_0x3c5c46,Cesium__namespace['Color'],this[_0x43541b(0x4c3,-_0x41f767._0x181cb2)]['clock']['currentTime']);if(!_0xb4daad||!_0xb4daad['withAlpha'])return _0x3c5c46;_0xb4daad=_0xb4daad['withAlpha'](_0x4cadbc),_0x3c5c46['setValue'](_0xb4daad);}[_0x7afdbe(-0x254,0x4fe)](_0x18e572){const _0x4b9487={_0x35817f:0x160e,_0x7b891e:0xe58};function _0x1df169(_0x3c2de8,_0x340581){return _0x54a7f1(_0x340581- -0x4bc,_0x3c2de8);}return getAttrVal(_0x18e572[_0x1df169(_0x4b9487._0x35817f,_0x4b9487._0x7b891e)]);}['clear'](){const _0x3ab2c1={_0x1f8f91:0x393,_0x499665:0x100f,_0x52912d:0xef8},_0x32d26b={_0x17a3b2:0x6c7};function _0x227f4b(_0x463e6b,_0x42fa37){return _0x7afdbe(_0x42fa37,_0x463e6b- -_0x32d26b._0x17a3b2);}function _0x3b2373(_0x4ae78,_0x4e1914){return _0x7afdbe(_0x4ae78,_0x4e1914-0xe);}return this['_labelCollection']&&this['_labelCollection'][_0x227f4b(_0x3ab2c1._0x1f8f91,0xae4)](),this[_0x3b2373(0xdca,0x1429)]&&this['_dataSource'][_0x3b2373(_0x3ab2c1._0x499665,_0x3ab2c1._0x52912d)]['removeAll'](),this[_0x227f4b(0x403,-0x12c)](),this;}['process'](_0x24c594,_0x4e35f8){return this['readyPromise']['then'](_0x439f9e=>{const _0x482b6b={_0x21e885:0x18ab,_0x5cf1d6:0x43b},_0x494f23=this['_dataSource']['process'](_0x24c594,_0x4e35f8);return _0x494f23['then'](_0x5a0dac=>{const _0xcfb245=_0x5a0dac['entities'][_0x2a4be6(0x1023,_0x482b6b._0x21e885)];function _0x23ba3e(_0x1f35c9,_0xe36612){return _0x536c(_0x1f35c9-0x1f7,_0xe36612);}const _0x4d8edf=this[_0x2a4be6(_0x482b6b._0x5cf1d6,0x452)](_0xcfb245),_0x5e5c33={};_0x5e5c33['entities']=_0xcfb245,_0x5e5c33['list']=_0x4d8edf;function _0x2a4be6(_0x589119,_0x51c355){return _0x536c(_0x589119- -0x6,_0x51c355);}return _0x5e5c33;});});}['getRectangle'](_0x352ed7){const _0x1f9397={_0x1a129f:0x1585,_0x513436:0x889,_0x5debfa:0xa88,_0x5a79a3:0xeb4,_0x1bfb4e:0xe76,_0x50cb6a:0x3d1,_0x409b0c:0x6a4,_0x416736:0x1ed2};function _0x1d43af(_0x3d6d7c,_0x43e058){return _0x54a7f1(_0x43e058- -0x433,_0x3d6d7c);}function _0x2f25be(_0x288768,_0xa10bb9){return _0x7afdbe(_0xa10bb9,_0x288768- -0x35d);}if(!this['_dataSource']&&!this['_rectangle'])return;if(!this[_0x2f25be(_0x1f9397._0x1a129f,0x1f5a)]){const _0x19d23b=[],_0x3ae318=this[_0x2f25be(0x10be,0x111f)][_0x1d43af(0xadc,_0x1f9397._0x513436)]['values'];for(let _0x1a8ed2=0x0,_0x3c0835=_0x3ae318['length'];_0x1a8ed2<_0x3c0835;_0x1a8ed2++){var _0x47b9ca,_0x508322;const _0x543fb5=_0x3ae318[_0x1a8ed2];if(_0x543fb5['position']){var _0x39f87a;const _0x2b008f=getPositionValue(_0x543fb5['position'],this['_map']['clock'][_0x2f25be(0x1324,_0x1f9397._0x5debfa)]);if(_0x2b008f)_0x19d23b['push'](_0x2b008f);else{if((_0x39f87a=_0x543fb5['position'])!==null&&_0x39f87a!==void 0x0&&(_0x39f87a=_0x39f87a['_property'])!==null&&_0x39f87a!==void 0x0&&_0x39f87a['_values']){const _0x199613=Cesium__namespace[_0x1d43af(0x1064,_0x1f9397._0x5a79a3)][_0x1d43af(0xfd0,0xaec)](_0x543fb5['position']['_property'][_0x2f25be(_0x1f9397._0x1bfb4e,_0x1f9397._0x50cb6a)]);_0x19d23b['push'](..._0x199613);}}}else{if(_0x543fb5['_positions'])_0x19d23b['push'](_0x543fb5[_0x2f25be(0xc0e,0x77e)]);else{if((_0x47b9ca=_0x543fb5['polyline'])!==null&&_0x47b9ca!==void 0x0&&_0x47b9ca['positions']){const _0x3523d7=getCesiumValue(_0x543fb5['polyline']['positions'],Array,this[_0x2f25be(_0x1f9397._0x409b0c,0x305)]['clock']['currentTime']);_0x3523d7&&_0x19d23b['push'](..._0x3523d7);}else{if((_0x508322=_0x543fb5[_0x1d43af(0x8f4,0x71)])!==null&&_0x508322!==void 0x0&&_0x508322['hierarchy']){let _0x49df9d=getCesiumValue(_0x543fb5[_0x1d43af(-0x98b,0x71)]['hierarchy'],Cesium__namespace['PolygonHierarchy'],this[_0x1d43af(0x3b2,0x3a0)][_0x1d43af(0xc96,0x5a6)][_0x2f25be(0x1324,0x1033)]);_0x49df9d&&_0x49df9d instanceof Cesium__namespace['PolygonHierarchy']&&(_0x49df9d=_0x49df9d['positions']),_0x49df9d&&_0x19d23b['push'](..._0x49df9d);}}}}}_0x19d23b['length']>0x0&&(this['_rectangle']=getRectangle(_0x19d23b));}return _0x352ed7!==null&&_0x352ed7!==void 0x0&&_0x352ed7[_0x2f25be(0x15eb,_0x1f9397._0x416736)]&&this['_rectangle']?formatRectangle(this['_rectangle']):this[_0x2f25be(0x1585,0x134c)];}async[_0x54a7f1(0xf56,0x1825)](_0x58ea1e){const _0x36b34d={_0x1d698e:0x1386,_0x4933f1:0xe51},_0x54b7e4={_0x181a86:0xed};function _0x2be16d(_0x1c7c93,_0x3842cf){return _0x7afdbe(_0x3842cf,_0x1c7c93- -0x5ca);}function _0x300551(_0x1a0296,_0x3c821e){return _0x7afdbe(_0x1a0296,_0x3c821e- -_0x54b7e4._0x181a86);}const _0x6fde6=this['_extent']||this['getRectangle']&&this[_0x300551(0x1d93,0x13fd)]();if(_0x6fde6)return this[_0x300551(0x712,0x914)]['flyToExtent'](_0x6fde6,_0x58ea1e);else this['_dataSource']&&this[_0x300551(_0x36b34d._0x1d698e,0x914)]['flyTo'](this[_0x2be16d(_0x36b34d._0x4933f1,0x59d)]);}}register$3('czmGeojson',CzmGeoJsonLayer);class KmlLayer extends CzmGeoJsonLayer{['load'](_0x1dd1a4={}){const _0x53fb65={_0x19af5e:0x482,_0x510029:0x461,_0x4b70b0:0x16b,_0x52566c:0x42d,_0x4cc874:0x762,_0x1a173c:0xe57,_0x462ffa:0x5e,_0x5a982a:0x109,_0x1d221e:0xd04,_0xc1a1b:0xbef};this[_0x224803(0x5b6,_0x53fb65._0x19af5e)]={...this['options'],..._0x1dd1a4};function _0x224803(_0x1d8629,_0x581ad1){return _0x54a7f1(_0x581ad1- -0x42e,_0x1d8629);}let _0x4530d7;function _0x404faa(_0x5a6c4a,_0x3ba405){return _0x7afdbe(_0x3ba405,_0x5a6c4a- -0x61);}if(this['options']['url']){const _0x1d6906=getUrlResource(this[_0x224803(-_0x53fb65._0x510029,0x482)],this['templateValues']),_0xd7764e={};_0xd7764e[_0x404faa(0x728,-_0x53fb65._0x4b70b0)]=this['_map'][_0x404faa(0x124c,0x1116)][_0x224803(-_0x53fb65._0x52566c,0x12d)],_0xd7764e['canvas']=this['_map']['scene'][_0x404faa(0xaaf,0xad9)],_0xd7764e['clampToGround']=this[_0x404faa(0xa7d,_0x53fb65._0x4cc874)][_0x404faa(0x1736,0x1fdc)],_0x4530d7=Cesium__namespace[_0x224803(0xb5d,_0x53fb65._0x1a173c)][_0x224803(_0x53fb65._0x462ffa,_0x53fb65._0x5a982a)](_0x1d6906,_0xd7764e);}else this[_0x404faa(0xa7d,0xe5e)]['data']&&(_0x4530d7=Cesium__namespace[_0x224803(0x3e9,0xe57)]['load'](this[_0x404faa(0xa7d,0xb88)]['data'],{'camera':this['_map']['scene'][_0x224803(0x85f,0x12d)],'canvas':this['_map']['scene']['canvas'],'clampToGround':this['options'][_0x404faa(0x1736,_0x53fb65._0x1d221e)]}),logError('KmlLayer:请必须传入\x20url\x20或\x20data\x20参数'));_0x4530d7[_0x224803(_0x53fb65._0xc1a1b,0x185)](_0x2b2a1c=>{this['showResult'](_0x2b2a1c);});}[_0x54a7f1(0x2d0,-0x274)](_0x365949){const _0x26d564={_0x29f76d:0xa83,_0x456882:0x267,_0x5a35fe:0x954,_0x204d19:0x3d1},_0x3262f5={};_0x3262f5['name']=_0x365949['name'];function _0x59acb8(_0x6f8c3f,_0x1fce31){return _0x7afdbe(_0x1fce31,_0x6f8c3f- -0x307);}_0x3262f5[_0x59acb8(0xa85,_0x26d564._0x29f76d)]=_0x365949[_0x582c22(0xc13,_0x26d564._0x456882)];let _0x1c6d12=_0x3262f5;const _0x2e3167=_0x365949[_0x59acb8(_0x26d564._0x5a35fe,0x133c)]['extendedData'];for(const _0x362e31 in _0x2e3167){_0x1c6d12[_0x362e31]=_0x2e3167[_0x362e31]['value'];}_0x1c6d12=getAttrVal(_0x1c6d12);function _0x582c22(_0x178ca6,_0x1cbdbe){return _0x7afdbe(_0x1cbdbe,_0x178ca6- -0x179);}return _0x1c6d12['description']&&(_0x1c6d12['description']=_0x1c6d12[_0x59acb8(0xa85,_0x26d564._0x204d19)][_0x582c22(0x5e1,0xf82)](/<div[^>]+>/g,'')),_0x1c6d12;}}register$3('kml',KmlLayer);class CzmlLayer extends CzmGeoJsonLayer{['_showHook'](_0xb2c90d){const _0x557516={_0x358e5d:0xc5e,_0x5f1f35:0x514},_0x5634cc={_0x28450a:0x39c};function _0x1af29f(_0x407e2a,_0x144726){return _0x7afdbe(_0x407e2a,_0x144726- -0x435);}function _0xe68a0f(_0xcd79a6,_0x4f3979){return _0x54a7f1(_0x4f3979- -_0x5634cc._0x28450a,_0xcd79a6);}super[_0xe68a0f(_0x557516._0x358e5d,0x13ae)](_0xb2c90d),(this[_0xe68a0f(0x266,_0x557516._0x5f1f35)]['updateClock']??!![])&&(_0xb2c90d?this[_0x1af29f(0x93c,0xca)]():this['setNowTime']());}[_0x54a7f1(0x2d1,0xd7e)](){const _0x4a9745={_0x1e612f:0x1346,_0x1081f6:0x136b,_0xaeef66:0x8c9,_0x49b443:0x2e,_0x3a4b92:0x1073,_0x9f9e81:0x12e3,_0x17a6e3:0x1b9f,_0x33f49d:0x1549,_0x3ade9c:0x1692};function _0x5ceaef(_0x5765da,_0xbe0a15){return _0x54a7f1(_0xbe0a15-0xf6,_0x5765da);}var _0x302b3c;function _0x460941(_0x5cd880,_0x53562d){return _0x54a7f1(_0x5cd880- -0x16a,_0x53562d);}(_0x302b3c=this['_dataSource'])!==null&&_0x302b3c!==void 0x0&&_0x302b3c['clock']&&(this['_map']['clock'][_0x5ceaef(0xd93,_0x4a9745._0x1e612f)]=this[_0x460941(0x1083,0x1750)]['clock']['clockRange'],this['_map']['clock']['multiplier']=this['_dataSource']['clock']['multiplier'],this[_0x5ceaef(_0x4a9745._0x1081f6,_0x4a9745._0xaeef66)]['clock']['startTime']=this['_dataSource']['clock']['startTime'],this['_map'][_0x460941(0x86f,_0x4a9745._0x49b443)][_0x460941(0x847,_0x4a9745._0x3a4b92)]=this[_0x5ceaef(0x136b,_0x4a9745._0x9f9e81)][_0x5ceaef(0x8b6,0xacf)]['stopTime'],this[_0x460941(0x669,0x1068)]['clock'][_0x5ceaef(_0x4a9745._0x17a6e3,_0x4a9745._0x33f49d)]=this[_0x5ceaef(_0x4a9745._0x3ade9c,_0x4a9745._0x9f9e81)]['clock']['startTime']);}['setNowTime'](){const _0x4f7839={_0x54b4e5:0xd8e,_0x447ef9:0xedd,_0x485d5a:0x1933,_0x57f372:0x6b8,_0x13231e:0xe4,_0x1f26ba:0x73c};this['_map']['clock']['clockRange']=Cesium__namespace['ClockRange']['UNBOUNDED'],this[_0x4de62e(0x381,_0x4f7839._0x54b4e5)][_0x31bbcf(0x6b8,0x110c)][_0x4de62e(0xb4e,0x2b2)]=0x1;const _0x287115=Cesium__namespace['JulianDate'][_0x4de62e(_0x4f7839._0x447ef9,_0x4f7839._0x485d5a)](new Date());function _0x4de62e(_0x3ee9a7,_0x5636f2){return _0x54a7f1(_0x3ee9a7- -0x452,_0x5636f2);}function _0x31bbcf(_0x12e3e3,_0x5add55){return _0x54a7f1(_0x12e3e3- -0x321,_0x5add55);}this['_map']['clock']['startTime']=_0x287115[_0x31bbcf(0x4ce,0xba1)](),this['_map'][_0x31bbcf(_0x4f7839._0x57f372,-0xfd)]['stopTime']=Cesium__namespace['JulianDate'][_0x4de62e(-_0x4f7839._0x13231e,-_0x4f7839._0x1f26ba)](_0x287115,0x1,new Cesium__namespace[(_0x31bbcf(0xae9,0xb7))]()),this['_map']['clock'][_0x4de62e(0x1001,0x1098)]=_0x287115[_0x4de62e(0x39d,0xc33)]();}[_0x7afdbe(0xcaf,0xc7d)](){const _0x3d4c59={_0x15c18e:0xc62};function _0x25fbcd(_0x3aae62,_0xebed40){return _0x54a7f1(_0x3aae62-0x213,_0xebed40);}super[_0x25fbcd(_0x3d4c59._0x15c18e,0x640)](),(this['options']['updateClock']??!![])&&this['setNowTime']();}['load'](_0x58f757={}){const _0x162b12={_0x50c61f:0x92f,_0x31c304:0x5aa,_0xb221c8:0x260,_0x378664:0x12a,_0x3673b7:0xb54,_0x4cc8b5:0x2ad},_0x3e3e0c={_0x3ad25c:0x73e},_0x45036a={_0x3f1e64:0x103},_0x980e8d={_0x4f90e3:0x534};function _0x6b8759(_0x320d88,_0x94fe6b){return _0x7afdbe(_0x320d88,_0x94fe6b- -0x282);}function _0x1070d3(_0x5d26af,_0x2f3ac0){return _0x7afdbe(_0x5d26af,_0x2f3ac0- -_0x980e8d._0x4f90e3);}this[_0x1070d3(_0x162b12._0x50c61f,_0x162b12._0x31c304)]={...this['options'],..._0x58f757};let _0x439311;if(this['options'][_0x1070d3(0xd28,0x71d)]){const _0x91eb3e=getUrlResource(this['options'],this[_0x1070d3(0x65f,0x10c)]);_0x439311=Cesium__namespace[_0x1070d3(0x15e2,0x1004)][_0x1070d3(-0x709,0x231)](_0x91eb3e,this['options']);}else this['options']['data']?_0x439311=Cesium__namespace[_0x6b8759(0x19de,0x12b6)]['load'](this[_0x1070d3(_0x162b12._0xb221c8,0x5aa)]['data'],this[_0x1070d3(-_0x162b12._0x378664,_0x162b12._0x31c304)]):logError(_0x1070d3(0x538,0xf5));_0x439311[_0x1070d3(_0x162b12._0x3673b7,_0x162b12._0x4cc8b5)](_0x5e8af4=>{function _0x3cd983(_0xf64040,_0x5902cb){return _0x1070d3(_0x5902cb,_0xf64040- -_0x45036a._0x3f1e64);}this[_0x3cd983(0x3e4,_0x3e3e0c._0x3ad25c)](_0x5e8af4);});}[_0x7afdbe(0x440,0x4fe)](_0x56bd2d){if(_0x56bd2d['properties'])return getAttrVal(_0x56bd2d['properties']);function _0x2e40d5(_0x1d5b7d,_0x4c8654){return _0x54a7f1(_0x4c8654- -0x5d,_0x1d5b7d);}if(_0x56bd2d['description'])return{'description':getCesiumValue(_0x56bd2d[_0x2e40d5(0x480,0xb01)])};}}register$3('czml',CzmlLayer);class GraphicGroupLayer extends GroupLayer{get['hasEdit'](){return this['_hasEdit'];}set['hasEdit'](_0x41b081){const _0xeb861b={_0x596056:0xc74,_0x4f11c3:0xc98,_0x4a7ba7:0x4ea},_0x4fa051={_0x577eab:0x1c8};this['_hasEdit']=_0x41b081;function _0x2576ab(_0x18aa85,_0x125a51){return _0x7afdbe(_0x125a51,_0x18aa85- -0x6b9);}function _0x3a6574(_0x43c88d,_0x3afdb1){return _0x54a7f1(_0x43c88d- -_0x4fa051._0x577eab,_0x3afdb1);}this[_0x2576ab(_0xeb861b._0x596056,_0xeb861b._0x4f11c3)]&&(_0x41b081?this[_0x3a6574(0xf37,_0xeb861b._0x4a7ba7)]['activateEdit']():this['_selectedLayer']['disableEdit']());}get['isAutoEditing'](){return this['options']['isAutoEditing'];}set['isAutoEditing'](_0x3048c1){const _0x3c348d={_0x16f921:0x136,_0x1f227d:0x990},_0x593160={_0x13bc71:0x146};this['options']['isAutoEditing']=_0x3048c1;function _0x191fe1(_0x15e58b,_0x53aafe){return _0x7afdbe(_0x53aafe,_0x15e58b- -0x628);}this[_0x191fe1(-_0x3c348d._0x16f921,_0x3c348d._0x1f227d)](_0x4d534e=>{const _0x473431={_0x131d58:0xce};function _0x9c6385(_0x5f02a6,_0x52c72f){return _0x191fe1(_0x52c72f-_0x473431._0x131d58,_0x5f02a6);}_0x4d534e[_0x9c6385(-_0x593160._0x13bc71,0x464)]=_0x3048c1;},this);}get['selectedLayer'](){return this['_selectedLayer'];}set['selectedLayer'](_0x13813a){const _0x4b4c1e={_0x714c9:0x105a,_0x5dc2aa:0xf87},_0x37bd7e={_0x2f44db:0x301},_0x1d18d1={_0x53c55d:0x178};this[_0x14a989(_0x4b4c1e._0x714c9,0xf87)]&&(delete this[_0x14a989(0xb0a,0xf87)][_0x14a989(0xd82,0xf18)],this[_0x14a989(0xf04,0xf87)]['disableEdit']());!(_0x13813a instanceof GraphicLayer)&&(_0x13813a=this['getLayer'](_0x13813a));function _0x14a989(_0x43051d,_0x56bcc7){return _0x54a7f1(_0x56bcc7- -_0x1d18d1._0x53c55d,_0x43051d);}this[_0x14a989(0x1670,_0x4b4c1e._0x5dc2aa)]=_0x13813a;function _0x1cb2b8(_0xc47b87,_0x36d965){return _0x7afdbe(_0x36d965,_0xc47b87- -_0x37bd7e._0x2f44db);}this['_selectedLayer']&&(this[_0x14a989(0xf25,_0x4b4c1e._0x5dc2aa)][_0x14a989(0x18b2,0xf18)]=!![],this['_hasEdit']&&this['_selectedLayer']['activateEdit']());}['isActivate'](_0x1c1931){return _0x1c1931['isActivate'];}['_mountedHook'](){const _0x64cfde={_0x5e8c89:0x7de,_0x1fbfd:0x11ed,_0x4541ea:0x9cc,_0x3fecb3:0xaf5,_0x25e5b9:0x44d},_0x46bb98={_0x5ed91f:0xd2};function _0x2ae4fe(_0x58f49a,_0xf3c60b){return _0x7afdbe(_0xf3c60b,_0x58f49a- -0x691);}super['_mountedHook']();function _0x4c0b90(_0x5e0cf2,_0x42c90a){return _0x54a7f1(_0x5e0cf2- -_0x46bb98._0x5ed91f,_0x42c90a);}this[_0x4c0b90(_0x64cfde._0x5e8c89,_0x64cfde._0x1fbfd)][_0x4c0b90(_0x64cfde._0x4541ea,_0x64cfde._0x3fecb3)]&&this['loadGeoJSON'](this[_0x2ae4fe(_0x64cfde._0x25e5b9,-0x26)]['geojson']);}[_0x7afdbe(0x8d9,0x134f)](){const _0x5c15fb={_0x2dbc61:0xfb8},_0x120326={_0x2402b8:0x455};function _0xe22415(_0x125eca,_0x57761e){return _0x54a7f1(_0x57761e- -_0x120326._0x2402b8,_0x125eca);}super['_addedHook'](),this[_0xe22415(0x13b4,_0x5c15fb._0x2dbc61)]();}['_getOrCreateLayer'](_0x37cf4c){const _0x101b7a={_0x374698:0x138a,_0xa60e1f:0x12d4,_0x4dac08:0x1126,_0x4424bf:0x12e2,_0x80e1be:0x1cfa};function _0x444cbd(_0x96d25a,_0x58f815){return _0x7afdbe(_0x96d25a,_0x58f815- -0x384);}if(!_0x37cf4c)return this[_0x444cbd(0x1a8,0xc34)];function _0x1f2b2b(_0x91dfb4,_0x5668ee){return _0x7afdbe(_0x5668ee,_0x91dfb4- -0x376);}if(isObject(_0x37cf4c)){const _0x7e890b=this[_0x444cbd(_0x101b7a._0x374698,_0x101b7a._0xa60e1f)](_0x37cf4c[_0x444cbd(0x183e,_0x101b7a._0x4dac08)]);if(_0x7e890b)return Cesium__namespace[_0x1f2b2b(0x1539,0x1be7)](_0x37cf4c['id'])&&(_0x7e890b['id']=_0x37cf4c['id']),Cesium__namespace['defined'](_0x37cf4c['show'])&&(_0x7e890b['show']=_0x37cf4c[_0x1f2b2b(0x14ab,0x1095)]),_0x7e890b;}else{const _0x3117ba=this[_0x1f2b2b(_0x101b7a._0x4424bf,_0x101b7a._0x80e1be)](_0x37cf4c);if(_0x3117ba)return _0x3117ba;}return this['createLayer'](_0x37cf4c);}['createLayer'](_0x53caed){const _0x544ec1={_0x175be1:0x553,_0x3c7046:0x16ce,_0x421480:0xec0,_0x113aa3:0x192a,_0xdec55b:0x123a,_0x2af303:0x271,_0xd6b5ec:0x527,_0x2010e9:0x629,_0x98ba5d:0x987},_0x5a28e2={_0x3c299d:0x664},_0xa17487={_0x269c92:0x35d},_0x123811=clone(this[_0x30c219(_0x544ec1._0x175be1,0x8a6)],['id',_0x30c219(0x143f,_0x544ec1._0x3c7046),'geojson','data']);_0x123811[_0x400ef4(0xec1,0x1366)]=this['id'];isObject(_0x53caed)?(_0x123811['name']=_0x53caed[_0x30c219(0xf1f,0x123b)],Cesium__namespace[_0x400ef4(_0x544ec1._0x421480,0x124b)](_0x53caed['id'])&&(_0x123811['id']=_0x53caed['id']),Cesium__namespace['defined'](_0x53caed[_0x400ef4(_0x544ec1._0x113aa3,0x11bd)])&&(_0x123811['show']=_0x53caed[_0x30c219(0x1296,_0x544ec1._0xdec55b)])):_0x123811[_0x30c219(0xf1f,0x13be)]=_0x53caed;const _0x3c8345=new GraphicLayer(_0x123811);function _0x30c219(_0x5876b2,_0x96431a){return _0x54a7f1(_0x5876b2- -_0xa17487._0x269c92,_0x96431a);}if(this[_0x30c219(_0x544ec1._0x2af303,-_0x544ec1._0xd6b5ec)]){const _0x456d5b={...this['_events']};_0x3c8345[_0x30c219(0x271,-_0x544ec1._0x2010e9)]=_0x456d5b;}function _0x400ef4(_0x443893,_0x40b826){return _0x7afdbe(_0x443893,_0x40b826- -_0x5a28e2._0x3c299d);}return this['_map'][_0x400ef4(0x14ab,0x1290)](_0x3c8345),this[_0x400ef4(_0x544ec1._0x98ba5d,0x1290)](_0x3c8345),_0x3c8345;}['deleteLayer'](_0x6490db){let _0x2efc8b;function _0x2ef39d(_0xe04fe2,_0x58833c){return _0x54a7f1(_0x58833c- -0x18f,_0xe04fe2);}_0x6490db instanceof GraphicLayer?_0x2efc8b=_0x6490db:_0x2efc8b=this['getLayer'](_0x6490db);function _0x5a3aa3(_0x2aef16,_0x487444){return _0x54a7f1(_0x2aef16-0xd4,_0x487444);}return _0x2efc8b?(this['selectedLayer']===_0x2efc8b&&(this['selectedLayer']=null),removeArrayItem(this[_0x2ef39d(0x4c3,0x20f)],_0x2efc8b),this['_map']['removeLayer'](_0x2efc8b,!![]),this[_0x5a3aa3(0x14e1,0x1610)](),!![]):![];}['deleteEmptyLayer'](){const _0x5605c4={_0x6ad08d:0x44c,_0x2ee40e:0x196,_0x18b2da:0x104e,_0x52a49d:0x97b},_0x215a56={_0x496a82:0xa6};for(let _0x3e7b46=this['_arrLayer']['length']-0x1;_0x3e7b46>=0x0;_0x3e7b46--){const _0xf31aa1=this[_0x2365d2(_0x5605c4._0x6ad08d,-_0x5605c4._0x2ee40e)][_0x3e7b46];_0xf31aa1['length']===0x0&&(this['selectedLayer']===_0xf31aa1&&(this[_0x5ce7b3(0xe30,_0x5605c4._0x18b2da)]=null),this[_0x5ce7b3(0x444,_0x5605c4._0x52a49d)]['splice'](_0x3e7b46,0x1),this['_map'][_0x5ce7b3(0x1003,0x137a)](_0xf31aa1,!![]));}this['_processForRemoveLayer']();function _0x2365d2(_0x352b4e,_0x5e2002){return _0x7afdbe(_0x5e2002,_0x352b4e- -0x180);}function _0x5ce7b3(_0x344e4b,_0x233795){return _0x54a7f1(_0x344e4b-_0x215a56._0x496a82,_0x233795);}return this;}[_0x7afdbe(0x124d,0x163b)](){const _0x304101={_0x2d7583:0x1a88,_0x2a908c:0xfbf,_0x5771c7:0x6e},_0x5e1cbb={_0x29354b:0x58c};this['_arrLayer']['length']===0x0&&this['options'][_0x3f1a9b(0x8b,0x292)]&&(this['selectedLayer']=this['createLayer'](this['options']['defaultLayer']));function _0x39903e(_0x380643,_0x50f4f7){return _0x54a7f1(_0x50f4f7-0x235,_0x380643);}function _0x3f1a9b(_0x6302d5,_0x9bd365){return _0x7afdbe(_0x6302d5,_0x9bd365- -_0x5e1cbb._0x29354b);}this[_0x39903e(_0x304101._0x2d7583,_0x304101._0x2a908c)]==null&&this[_0x39903e(_0x304101._0x5771c7,0x5d3)][_0x39903e(0x8e4,0x11ba)]>0x0&&(this['selectedLayer']=this['_arrLayer'][0x0]);}['moveToLayer'](_0x42b528,_0x2704b6){!(_0x2704b6 instanceof GraphicLayer)&&(_0x2704b6=this['getLayer'](_0x2704b6));function _0x5a11bd(_0x1d4504,_0x2c5c06){return _0x7afdbe(_0x1d4504,_0x2c5c06- -0x4ed);}_0x42b528[_0x5a11bd(-0x20c,0x4cf)](),_0x2704b6['addGraphic'](_0x42b528);}[_0x54a7f1(0x2f1,0x344)](){const _0x50110a={_0x40378b:0x2c5},_0x275c02=[];return this['eachGraphic'](_0x4b2c2a=>{function _0x4c360d(_0xd9df05,_0x11dabf){return _0x536c(_0x11dabf-0x3d9,_0xd9df05);}if(_0x4b2c2a[_0x4c360d(_0x50110a._0x40378b,0x77d)])return;_0x275c02['push'](_0x4b2c2a);},this),_0x275c02;}['getGraphicById'](_0x1d459a){const _0x4ae192={_0x4d59a5:0xa2b,_0x6b18c4:0x544,_0x1ab7d8:0x854},_0x392dd9={_0x5783e3:0x89};if(!_0x1d459a)return undefined;function _0x1d3d6a(_0xdd01d2,_0x11099e){return _0x7afdbe(_0xdd01d2,_0x11099e-_0x392dd9._0x5783e3);}for(let _0x46f788=this[_0x3e36a4(_0x4ae192._0x4d59a5,_0x4ae192._0x6b18c4)][_0x1d3d6a(_0x4ae192._0x1ab7d8,0x123c)]-0x1;_0x46f788>=0x0;_0x46f788--){const _0x5b07a2=this['_arrLayer'][_0x46f788],_0x5e9cdb=_0x5b07a2[_0x3e36a4(0x10c3,0x1353)](_0x1d459a);if(_0x5e9cdb)return _0x5e9cdb;}function _0x3e36a4(_0x54f0cf,_0x561eb7){return _0x7afdbe(_0x54f0cf,_0x561eb7- -0x88);}return undefined;}['eachGraphic'](_0x1aaee2,_0x343193){return this['eachLayer'](_0x29e799=>{_0x29e799['eachGraphic'](_0x1aaee2,_0x343193);},this),this;}[_0x54a7f1(0x1323,0x199f)](_0x1aadf4=!![]){const _0x59aaf5={_0x4b54ba:0x19};function _0x5ee40f(_0x2d6580,_0x201b99){return _0x7afdbe(_0x2d6580,_0x201b99-_0x59aaf5._0x4b54ba);}this[_0x5ee40f(0xd34,0x50b)](_0x1c95ec=>{_0x1c95ec['clear'](_0x1aadf4);},this);}['toGeoJSON'](_0x3860c3){const _0x2dd4f7={_0x35afab:0x1271,_0x58c225:0x149d,_0xa2c136:0xe9},_0x4d7c5b={_0x1fddd5:0x183},_0x5919b3={_0x63d518:0xe28,_0x3723c8:0xb96,_0x361001:0x119f,_0x29034f:0x1c28,_0x4d0fca:0x119f,_0x114558:0xab4},_0x56718e={_0x59e424:0x421},_0x3abb8a={_0x4c122c:0x31};_0x3860c3!==null&&_0x3860c3!==void 0x0&&_0x3860c3[_0x32b3b2(0x1a7e,0x1029)]&&this['stopDraw']();const _0x2b42c6=[],_0x45385a=[];function _0x32b3b2(_0x447f02,_0x273529){return _0x7afdbe(_0x447f02,_0x273529- -0x651);}this['eachLayer'](_0x2be106=>{const _0x2ac465={};function _0x514342(_0x1d575c,_0x2422b5){return _0x32b3b2(_0x2422b5,_0x1d575c-0x2c2);}function _0x514991(_0x1f6ae3,_0x15f041){return _0x32b3b2(_0x1f6ae3,_0x15f041- -_0x3abb8a._0x4c122c);}_0x2ac465['id']=_0x2be106['id'],_0x2ac465[_0x514991(0xcac,_0x5919b3._0x63d518)]=_0x2be106[_0x514342(0x111b,_0x5919b3._0x3723c8)],_0x2ac465[_0x514991(0xc22,_0x5919b3._0x361001)]=_0x2be106[_0x514991(_0x5919b3._0x29034f,_0x5919b3._0x4d0fca)],_0x45385a[_0x514991(0x48e,_0x5919b3._0x114558)](_0x2ac465),_0x2be106['eachGraphic'](_0x1f2f76=>{function _0x488974(_0x3f4475,_0x144810){return _0x514342(_0x3f4475-0x2c5,_0x144810);}if(_0x1f2f76['isPrivate'])return;const _0x30d646=_0x1f2f76[_0x488974(_0x56718e._0x59e424,0x274)](_0x3860c3);_0x30d646['properties']['_layer']=_0x2be106['name'],_0x2b42c6['push'](_0x30d646);},this);},this);function _0x15730b(_0x3fa63e,_0x21e913){return _0x54a7f1(_0x3fa63e-_0x4d7c5b._0x1fddd5,_0x21e913);}const _0x270c55={};_0x270c55['id']=this['id'],_0x270c55['name']=this[_0x15730b(0x13ff,_0x2dd4f7._0x35afab)],_0x270c55['layers']=_0x45385a,_0x270c55['selected']=this['selectedLayer']['id'];const _0x430f86={};return _0x430f86['type']='FeatureCollection',_0x430f86[_0x15730b(_0x2dd4f7._0x58c225,0x1abb)]=_0x270c55,_0x430f86[_0x32b3b2(-0x39f,_0x2dd4f7._0xa2c136)]=_0x2b42c6,_0x430f86;}['loadGeoJSON'](_0x301a33,_0x59e4a4={}){const _0x4e2af1={_0x34b5f5:0x15db,_0x3221f2:0x1a9e,_0x3b62e6:0x108f,_0x250d60:0xcfa,_0x567da9:0xd2c},_0xda301d={_0x131e98:0x28b};try{isString(_0x301a33)&&(_0x301a33=JSON['parse'](_0x301a33));}catch(_0x5f8c90){alert(_0x5f8c90['name']+':\x20'+_0x5f8c90['message']+_0x5041cd(_0x4e2af1._0x34b5f5,_0x4e2af1._0x3221f2));return;}_0x59e4a4['clear']&&this['clear'](!![]);let _0x3f03c9;if(_0x59e4a4[_0x51e524(0x6ed,_0x4e2af1._0x3b62e6)])_0x3f03c9=this['getLayer'](_0x59e4a4['layer']);else{var _0xcb3606;const _0xdfd4dd={},_0x1dd500=(_0xcb3606=_0x301a33)===null||_0xcb3606===void 0x0||(_0xcb3606=_0xcb3606['layer'])===null||_0xcb3606===void 0x0?void 0x0:_0xcb3606[_0x5041cd(0xa33,0x33a)];if(_0x1dd500){var _0x10b25b;for(let _0x83f8f1=0x0;_0x83f8f1<_0x1dd500['length'];_0x83f8f1++){const _0x4ca65f=this['_getOrCreateLayer'](_0x1dd500[_0x83f8f1]);_0xdfd4dd[_0x4ca65f['id']]=_0x4ca65f;}if((_0x10b25b=_0x301a33)!==null&&_0x10b25b!==void 0x0&&(_0x10b25b=_0x10b25b['layer'])!==null&&_0x10b25b!==void 0x0&&_0x10b25b['selected']){var _0x3fc654;const _0x259462=_0xdfd4dd[(_0x3fc654=_0x301a33)===null||_0x3fc654===void 0x0||(_0x3fc654=_0x3fc654['layer'])===null||_0x3fc654===void 0x0?void 0x0:_0x3fc654['selected']];_0x259462&&(this['selectedLayer']=_0x259462);}}}function _0x5041cd(_0x3506bc,_0xece0f0){return _0x54a7f1(_0x3506bc- -0x54,_0xece0f0);}const _0x382976=getGeoJsonFeatures(_0x301a33);function _0x51e524(_0x3ac583,_0x5abfdc){return _0x54a7f1(_0x5abfdc- -_0xda301d._0x131e98,_0x3ac583);}let _0x5419e3=[];for(let _0x54589d=0x0,_0x4ba4c4=_0x382976[_0x51e524(0x654,_0x4e2af1._0x250d60)];_0x54589d<_0x4ba4c4;_0x54589d++){const _0x82def5=_0x382976[_0x54589d];let _0x5967d6;if(_0x3f03c9)_0x5967d6=_0x3f03c9;else{var _0x44558c;const _0x3faca2=_0x82def5===null||_0x82def5===void 0x0||(_0x44558c=_0x82def5['properties'])===null||_0x44558c===void 0x0?void 0x0:_0x44558c['_layer'];_0x5967d6=_0x3faca2?this['getLayer'](_0x3faca2):null,!_0x5967d6&&(_0x5967d6=this['selectedLayer']);}const _0x44556={..._0x59e4a4};_0x44556[_0x5041cd(0x12cf,_0x4e2af1._0x567da9)]=![],_0x44556['flyTo']=![];const _0x1010d0=_0x5967d6['loadGeoJSON'](_0x82def5,_0x44556);_0x5419e3=_0x5419e3['concat'](_0x1010d0);}return _0x59e4a4['flyTo']&&this['_map']['flyToGraphic'](_0x5419e3),_0x5419e3;}[_0x7afdbe(0x650,0xd5b)](_0x18dd3a){function _0x96ccc(_0x5b03e3,_0x12e93c){return _0x54a7f1(_0x12e93c- -0x22c,_0x5b03e3);}_0x18dd3a['geojson']=this[_0x96ccc(-0x67b,0x91)]();}['getRectangle'](_0x283c49){const _0x5f0f10={_0x2ccce6:0x11b5,_0x4784d2:0xf76,_0xfdfa79:0x42f},_0x470ff6={_0x21cfa9:0x3a5};let _0x2039af;return this['eachGraphic'](_0x50138c=>{if(_0x50138c['isPrivate'])return;function _0x51c8b8(_0x261d8d,_0x4f1e9b){return _0x536c(_0x261d8d-0x5d,_0x4f1e9b);}if(!_0x50138c['getRectangle'])return;function _0x2a9502(_0xc38032,_0x1f4167){return _0x536c(_0xc38032- -_0x470ff6._0x21cfa9,_0x1f4167);}const _0x3881e0=_0x50138c[_0x2a9502(0xdf0,0x100f)]();if(!Cesium__namespace[_0x2a9502(_0x5f0f10._0x2ccce6,_0x5f0f10._0x4784d2)](_0x3881e0))return;_0x2039af?_0x2039af=Cesium__namespace[_0x51c8b8(_0x5f0f10._0xfdfa79,-0x4ad)][_0x2a9502(0x368,0xd0a)](_0x3881e0,_0x2039af):_0x2039af=_0x3881e0;},this),_0x283c49?formatRectangle(_0x2039af):_0x2039af;}['startDraw'](_0xdf59b2){function _0x597773(_0x169ad4,_0x2488e1){return _0x7afdbe(_0x2488e1,_0x169ad4- -0x140);}return this[_0x597773(0x11ed,0x1ca1)]['startDraw'](_0xdf59b2);}['stopDraw'](){const _0x1625c7={_0x13f31c:0xd01,_0xab19af:0xd2b},_0x4e4121={_0x2612bd:0x62c},_0x56c4d1={_0x2edc9a:0x202};function _0x47e786(_0x3ef365,_0x3fbf71){return _0x54a7f1(_0x3fbf71- -_0x56c4d1._0x2edc9a,_0x3ef365);}function _0x1c52e9(_0xf4a180,_0x240904){return _0x7afdbe(_0x240904,_0xf4a180- -_0x4e4121._0x2612bd);}return this[_0x1c52e9(_0x1625c7._0x13f31c,_0x1625c7._0xab19af)][_0x1c52e9(0xd4d,0x9ec)]();}[_0x7afdbe(0x1a6c,0x1448)](){return this['_selectedLayer']['activateEdit']();}['disableEdit'](){const _0x22c688={_0x589d8c:0xd5d};function _0x205a26(_0x1ebe86,_0x9c94d7){return _0x7afdbe(_0x1ebe86,_0x9c94d7- -0x5d0);}return this[_0x205a26(0x2cf,_0x22c688._0x589d8c)]['disableEdit']();}}register$3(_0x54a7f1(0xdd3,0x815),GraphicGroupLayer);class GeoJsonLayer extends GraphicLayer{['_showHook'](_0x13b23e){function _0x3a2115(_0x3ecb59,_0x29df2d){return _0x54a7f1(_0x3ecb59- -0x17d,_0x29df2d);}function _0x42425a(_0x139b0b,_0x227d60){return _0x54a7f1(_0x227d60- -0x3f3,_0x139b0b);}super[_0x42425a(0x1be8,0x1357)](_0x13b23e),_0x13b23e&&this[_0x42425a(0xa19,0x11f5)]&&(this['_hasLoad']=![],this['load']());}[_0x7afdbe(0x1458,0x134f)](){const _0x3a8ad5={_0x58474d:0x16ec,_0xdec511:0xea8},_0x397d79={_0x2a0163:0xa7},_0x2c4cdb={_0x1d9cda:0xf9};function _0x8c1b47(_0x50323f,_0x5cfc04){return _0x54a7f1(_0x50323f-_0x2c4cdb._0x1d9cda,_0x5cfc04);}function _0x1dcbfd(_0x343554,_0x28b5ec){return _0x54a7f1(_0x28b5ec- -_0x397d79._0x2a0163,_0x343554);}super['_addedHook'](),this[_0x8c1b47(_0x3a8ad5._0x58474d,0x1012)]?this[_0x8c1b47(0x630,_0x3a8ad5._0xdec511)]():this[_0x8c1b47(0x16e1,0x17cc)]=!![];}['_removedHook'](){const _0x44bb84={_0x3bd1a1:0x7f6,_0xd0d54a:0x7d};super[_0x2077b8(_0x44bb84._0x3bd1a1,_0x44bb84._0xd0d54a)]();function _0x2077b8(_0x414284,_0x1e4d63){return _0x54a7f1(_0x414284- -0x259,_0x1e4d63);}this['clear']();}['load'](_0x30ea38){const _0x4c3482={_0x1013dc:0x1c9,_0xad0750:0x387,_0x32305f:0x1481},_0x57d314={_0x219af1:0x629,_0x4d551b:0x9b5};function _0x497a03(_0x39786f,_0x4eba06){return _0x7afdbe(_0x39786f,_0x4eba06- -0x10b);}function _0x5e88c8(_0x25b6bb,_0x59ae62){return _0x7afdbe(_0x25b6bb,_0x59ae62-0x52);}_0x30ea38&&(Cesium__namespace[_0x497a03(-_0x4c3482._0x1013dc,0x39a)](_0x30ea38['clear'],!![])&&(delete this[_0x497a03(0x18e,0x9d3)]['url'],delete this[_0x497a03(_0x4c3482._0xad0750,0x9d3)][_0x497a03(0xfb9,0xd92)]),this['clear'](),this['options']={...this['options'],..._0x30ea38});if(this['options'][_0x497a03(0x9bf,0xb46)]){const _0x5cb85c={...this['options']};_0x5cb85c['proxy']=this[_0x5e88c8(0xd0b,0x918)],sendAjax(_0x5cb85c)['then'](_0x4eb88c=>{this['_load_data'](_0x4eb88c);})['catch'](_0x2ea4d=>{var _0x1c174c;logError('fetchJson出错了',_0x2ea4d);function _0x7e5f8b(_0xb080d7,_0x54c9f0){return _0x497a03(_0x54c9f0,_0xb080d7- -0x2b2);}function _0x5b87dc(_0x1b04ec,_0x440713){return _0x5e88c8(_0x1b04ec,_0x440713- -0x83);}(_0x1c174c=this['_readyPromise'])!==null&&_0x1c174c!==void 0x0&&_0x1c174c[_0x7e5f8b(_0x57d314._0x219af1,-0x3f8)]&&this[_0x5b87dc(0x26e,0x4ae)][_0x5b87dc(-0x18,_0x57d314._0x4d551b)](_0x2ea4d);});}else this['options']['data']?this['_load_data'](this['options']['data']):_0x30ea38&&logWarn(_0x497a03(0xd2c,_0x4c3482._0x32305f));}['_load_data'](_0x2bd83b){const _0x485ed1={_0x31fccf:0xae,_0x184272:0x314,_0x37a0e3:0x165,_0x3c62d5:0xdf9,_0x407657:0xae3},_0x38aaa7={_0x381a9b:0x1605},_0x3a3607={_0x6af201:0x12d},_0x3a00d1={_0x280734:0x532},_0x3e6470={_0x4c33af:0x4ed};if(!this['_map']||this['isDestroy'])return;this['options'][_0x4e2650(0xbdd,0xac4)]&&(_0x2bd83b=this['options'][_0x13e38b(0x1240,0xc4f)](_0x2bd83b));_0x2bd83b=this['_formatForMask'](_0x2bd83b);function _0x13e38b(_0x45566b,_0x3e3117){return _0x7afdbe(_0x45566b,_0x3e3117- -_0x3e6470._0x4c33af);}function _0x4e2650(_0x43cb28,_0x30128b){return _0x54a7f1(_0x43cb28- -0x331,_0x30128b);}const _0xe06c1a=this['loadGeoJSON'](_0x2bd83b,{'clear':!![],'enabledEvent':![],'toPrimitive':this[_0x4e2650(0x57f,0xae6)][_0x13e38b(-_0x485ed1._0x31fccf,-0x70)]}),_0x565365=[];_0xe06c1a[_0x4e2650(_0x485ed1._0x184272,-_0x485ed1._0x37a0e3)](_0x556aef=>{if(!_0x556aef)return;const _0x4ec796={..._0x556aef[_0x4461cb(0x18fa,0x1fd8)]};_0x4ec796['graphic']=_0x556aef;function _0x4461cb(_0x240e9a,_0x4e5f05){return _0x13e38b(_0x4e5f05,_0x240e9a-_0x3a00d1._0x280734);}function _0x55d7b2(_0x40c4fc,_0x37d4f0){return _0x4e2650(_0x37d4f0-_0x3a3607._0x6af201,_0x40c4fc);}_0x565365[_0x55d7b2(_0x38aaa7._0x381a9b,0xd04)](_0x4ec796);});const _0x2b9064={};_0x2b9064['geojson']=_0x2bd83b,_0x2b9064['list']=_0x565365,_0x2b9064['graphics']=_0xe06c1a,this['fire'](EventType['load'],_0x2b9064),this['_readyPromise'][_0x13e38b(_0x485ed1._0x3c62d5,_0x485ed1._0x407657)](this);}['_formatForMask'](_0x1434c9){const _0x1d4854={_0x18d7da:0x5a9,_0x3dc111:0x1c68,_0x51fbf:0x492,_0x5ae4c0:0x164c,_0x2e44fd:0x5b2,_0x1ca916:0x1022,_0x2c28d1:0xf51,_0x4d641a:0xfa5,_0x2372db:0x939,_0x1f0744:0x14be,_0x402c10:0xe27,_0x4c8cc2:0x8d3,_0x4fd571:0x747,_0x5b915b:0x6f6,_0x4d8203:0x12fd},_0x2db6a8={_0x3f2b1f:0x191},_0x5db5c3=this['options']['mask'];function _0x37bf9d(_0x1aa89d,_0x188bcb){return _0x7afdbe(_0x1aa89d,_0x188bcb- -0x18b);}function _0x28d5d7(_0x2acb74,_0xc2994f){return _0x7afdbe(_0x2acb74,_0xc2994f- -_0x2db6a8._0x3f2b1f);}if(!_0x5db5c3)return _0x1434c9;if(!_0x1434c9['features']||_0x1434c9['features']['length']===0x0)return _0x1434c9;_0x1434c9=clone(_0x1434c9),_0x1434c9[_0x28d5d7(-0x30f,_0x1d4854._0x18d7da)]['splice'](0x1,_0x1434c9['features'][_0x28d5d7(0x18d3,0x1022)]-0x1),this['_extent']=getExtentByGeoJSON(_0x1434c9);const _0x535c0c=_0x1434c9['features'][0x0];_0x535c0c['properties']=_0x535c0c['properties']||{},_0x535c0c[_0x28d5d7(_0x1d4854._0x3dc111,0x13b1)][_0x28d5d7(_0x1d4854._0x51fbf,0x8d3)]='mask';if(_0x535c0c['geometry']['type']==='Polygon');else{if(_0x535c0c['geometry']['type']==='MultiPolygon'){const _0x5de636=[];for(let _0x1477ac=0x0,_0x11f9bc=_0x535c0c[_0x28d5d7(0x1d4b,_0x1d4854._0x5ae4c0)]['coordinates'][_0x28d5d7(_0x1d4854._0x2e44fd,_0x1d4854._0x1ca916)];_0x1477ac<_0x11f9bc;_0x1477ac++){const _0x1ae3a7=_0x535c0c[_0x28d5d7(0x13e0,0x164c)][_0x37bf9d(_0x1d4854._0x2c28d1,0xe27)][_0x1477ac];_0x1ae3a7['length']>0x0&&_0x5de636[_0x28d5d7(0x1a3d,_0x1d4854._0x4d641a)](_0x1ae3a7[0x0]);}const _0x5e9429={};_0x5e9429['type']=_0x28d5d7(-0x37a,0x6f6),_0x5e9429[_0x37bf9d(_0x1d4854._0x2372db,0xe27)]=[_0x5de636],_0x535c0c[_0x37bf9d(0x20a9,0x1652)]=_0x5e9429;}else{if(_0x535c0c['geometry'][_0x37bf9d(0x218,0x8d9)]==='GeometryCollection'){const _0x1821b4=[];for(let _0x34da7a=0x0,_0x2a00ff=_0x535c0c['geometry']['geometries']['length'];_0x34da7a<_0x2a00ff;_0x34da7a++){const _0x17f41e=_0x535c0c['geometry']['geometries'][_0x34da7a][_0x37bf9d(_0x1d4854._0x1f0744,_0x1d4854._0x402c10)];_0x17f41e['length']>0x0&&_0x1821b4['push'](_0x17f41e[0x0]);}const _0x3e4580={};_0x3e4580[_0x28d5d7(0x1108,_0x1d4854._0x4c8cc2)]=_0x28d5d7(_0x1d4854._0x4fd571,_0x1d4854._0x5b915b),_0x3e4580[_0x37bf9d(_0x1d4854._0x4d8203,_0x1d4854._0x402c10)]=[_0x1821b4],_0x535c0c[_0x28d5d7(_0x1d4854._0x3dc111,0x164c)]=_0x3e4580;}}}return _0x1434c9;}['_toJsonEx'](_0x5c18ca){}['_setOptionsHook'](_0x2ec4e9,_0x3d3ae0){const _0x5b63c6={_0x3fb2ee:0x6f3,_0x311fa3:0x333},_0x439ab7={_0x52cf7f:0x806,_0x1e5b2e:0xedc},_0x2aa7f9={_0x4815d9:0x4cf};var _0x5e471f;super['_setOptionsHook'](_0x2ec4e9,_0x3d3ae0);function _0x51ff6f(_0x13930c,_0x15a3fc){return _0x54a7f1(_0x15a3fc- -0x3f5,_0x13930c);}if(!this[_0x51ff6f(-0x187,0x3de)])return;function _0x5790c9(_0x2fbc5b,_0x2f4cdf){return _0x54a7f1(_0x2fbc5b- -_0x2aa7f9._0x4815d9,_0x2f4cdf);}_0x3d3ae0[_0x5790c9(_0x5b63c6._0x3fb2ee,-_0x5b63c6._0x311fa3)]&&!((_0x5e471f=_0x3d3ae0['symbol'])!==null&&_0x5e471f!==void 0x0&&_0x5e471f['type'])?this['eachGraphic'](_0x497f31=>{const _0x3128b2=getSymbolStyle(_0x2ec4e9[_0x34c202(_0x439ab7._0x52cf7f,_0x439ab7._0x1e5b2e)],_0x497f31['attr']);function _0x34c202(_0x2abb80,_0x3247e0){return _0x5790c9(_0x2abb80-0x113,_0x3247e0);}delete _0x3128b2['highlight'],_0x497f31['style']=_0x3128b2;}):(this['clear'](),this['load']());}}register$3('geojson',GeoJsonLayer);class ModelLayer extends GraphicLayer{get['scaleplate'](){const _0x439305={_0x1825d2:0xf0e,_0x4c1eac:0x653},_0x59d828={_0x53cef1:0x283};function _0x3982cc(_0x42d074,_0x5d784d){return _0x54a7f1(_0x5d784d- -_0x59d828._0x53cef1,_0x42d074);}return this[_0x3982cc(_0x439305._0x1825d2,_0x439305._0x4c1eac)];}[_0x7afdbe(0x75,0x4b9)](){const _0x5cf177={_0x42a8ff:0x855,_0x12a8ac:0x855,_0x92fc63:0x11e3},_0xaf5ff6={_0x32f9b1:0x3d};function _0x47d7ce(_0x2f53ed,_0x276d64){return _0x7afdbe(_0x2f53ed,_0x276d64- -0x289);}function _0x5e4854(_0x15e985,_0x5cbfeb){return _0x54a7f1(_0x15e985- -_0xaf5ff6._0x32f9b1,_0x5cbfeb);}super['_mountedHook'](),this[_0x47d7ce(0x920,_0x5cf177._0x42a8ff)]['style']&&(this['_graphicModel']=this['addGraphic']({...this[_0x47d7ce(0xe21,_0x5cf177._0x12a8ac)],'type':this['graphicType']??_0x47d7ce(0x16c0,_0x5cf177._0x92fc63)}));}['_showHook'](_0x1d300e){const _0x371ed1={_0x4d42bb:0x1897},_0x56dca1={_0x99808d:0x2a4};function _0x212f2e(_0x292664,_0x374a1d){return _0x54a7f1(_0x292664-_0x56dca1._0x99808d,_0x374a1d);}function _0x36022e(_0x21a1dc,_0x3993b5){return _0x7afdbe(_0x21a1dc,_0x3993b5- -0xac);}super[_0x212f2e(0x19ee,0x1513)](_0x1d300e),this[_0x212f2e(0xb7a,0xff1)]&&(this['_layerImg'][_0x212f2e(_0x371ed1._0x4d42bb,0x2325)]=_0x1d300e);}['_addedHook'](){const _0x4dced7={_0x1a1f5d:0xc7e,_0x3664af:0xdb6,_0x155ec2:0x22a,_0x4bc601:0xd5e},_0x500314={_0x56d1a5:0x6d1};super[_0x4c8d38(_0x4dced7._0x1a1f5d,_0x4dced7._0x3664af)]();function _0x4c8d38(_0x4c3b0b,_0x42ada6){return _0x7afdbe(_0x42ada6,_0x4c3b0b- -_0x500314._0x56d1a5);}function _0x1661b3(_0x454748,_0x289701){return _0x7afdbe(_0x289701,_0x454748- -0x553);}this['options']['scaleplate']&&(this['_layerImg']=new ImageLayer({'name':this['name']+_0x1661b3(0xd33,0x4b6),'rectangle':this['_getScaleplateRectangle'](),'zIndex':0x3e7,...this[_0x4c8d38(0x40d,-_0x4dced7._0x155ec2)][_0x1661b3(_0x4dced7._0x4bc601,0x45f)],'private':!![]}),this['_map']['addLayer'](this['_layerImg']));}['_removedHook'](){const _0x338169={_0xe07d60:0x14bb},_0x52248a={_0x19251a:0x68};function _0x2b4c2a(_0x49de3e,_0x21ca26){return _0x54a7f1(_0x21ca26-0x1c0,_0x49de3e);}function _0x3baf87(_0x2dae09,_0x369755){return _0x7afdbe(_0x2dae09,_0x369755-_0x52248a._0x19251a);}this['clear'](),this['_layerImg']&&(this['_map']['removeLayer'](this[_0x2b4c2a(_0x338169._0xe07d60,0xa96)]),delete this[_0x3baf87(0xb4f,0xb6c)]);}[_0x7afdbe(0x1eff,0x1985)](_0x2b950a,_0x4df87e){const _0x2e7e13={_0x254a41:0x15db,_0x375b11:0xc39,_0x4acf31:0xf3b},_0x152434={_0x1f068d:0x148};super['_setOptionsHook'](_0x2b950a,_0x4df87e);function _0x159c9c(_0x258a31,_0x3e88db){return _0x54a7f1(_0x258a31- -0x106,_0x3e88db);}(_0x4df87e[_0x159c9c(_0x2e7e13._0x254a41,0x19ad)]||_0x4df87e['style']||_0x4df87e[_0x510e24(0x153f,0x17ac)])&&this[_0x159c9c(0xe0b,_0x2e7e13._0x375b11)]&&this[_0x159c9c(0xe0b,0x11b3)]['setOptions'](_0x4df87e);function _0x510e24(_0xeae324,_0x4ea252){return _0x54a7f1(_0xeae324- -_0x152434._0x1f068d,_0x4ea252);}_0x4df87e[_0x159c9c(0xf7d,0x1580)]&&this['_layerImg']&&((_0x4df87e[_0x510e24(_0x2e7e13._0x4acf31,0x13e5)]['width']||_0x4df87e[_0x159c9c(0xf7d,0x190d)]['height'])&&(_0x4df87e['rectangle']=this['_getScaleplateRectangle']()),this['_layerImg']['setOptions'](_0x4df87e['scaleplate']));}['_getScaleplateRectangle'](){const _0x4c6451={_0x2a2f24:0x634,_0x2a861f:0x12db,_0x4e8165:0x7df,_0xcaf786:0x1101,_0x11a2b5:0xfb2,_0x2cd9be:0x1093,_0x3c2d5b:0x7df,_0x457ab7:0x663,_0x26092b:0xe07,_0x2099df:0xba7,_0x350f65:0x1486,_0x4112a3:0x1ab2},_0x41ba80={_0x4bfb16:0x27c};let _0x4f65d2=this[_0x351a03(-0x393,_0x4c6451._0x2a2f24)]['scaleplate'][_0x351a03(0x11c9,_0x4c6451._0x2a861f)]??0x64,_0x573b96=this[_0x351a03(-0xff,0x634)]['scaleplate']['height']??_0x4f65d2??0x64;this[_0x455440(_0x4c6451._0x4e8165,_0x4c6451._0xcaf786)][_0x455440(_0x4c6451._0x11a2b5,0x186e)][_0x351a03(0xaac,_0x4c6451._0x2cd9be)]&&(_0x4f65d2*=this['options']['scaleplate']['scale'],_0x573b96*=this[_0x455440(_0x4c6451._0x3c2d5b,0x4cf)][_0x351a03(_0x4c6451._0x457ab7,_0x4c6451._0x26092b)][_0x455440(0x123e,_0x4c6451._0x2099df)]);const _0x2ae19a={};function _0x351a03(_0x173de2,_0x5334ab){return _0x54a7f1(_0x5334ab- -_0x41ba80._0x4bfb16,_0x173de2);}_0x2ae19a['center']=this['options']['position'];function _0x455440(_0xd69dba,_0x28eb60){return _0x54a7f1(_0xd69dba- -0xd1,_0x28eb60);}_0x2ae19a[_0x455440(_0x4c6451._0x350f65,_0x4c6451._0x4112a3)]=_0x4f65d2,_0x2ae19a['height']=_0x573b96;const _0xd399e={};return _0xd399e['isFormat']=!![],getRectangle(getRectPositionsByCenter(_0x2ae19a),_0xd399e);}['_toJsonEx'](_0x150e0a){}}register$3(_0x7afdbe(0x6b7,0x8f9),ModelLayer);class BusineDataLayer extends GraphicLayer{[_0x7afdbe(0x131f,0x1978)](_0x345733){const _0x5f8763={_0x33d916:0x143b,_0x36f541:0x228},_0x2d7450={_0x5e99b5:0xc3};function _0x41634b(_0x35e044,_0x35011f){return _0x7afdbe(_0x35011f,_0x35e044- -_0x2d7450._0x5e99b5);}function _0x115c50(_0x10a014,_0x446b25){return _0x7afdbe(_0x10a014,_0x446b25- -0x53d);}super[_0x115c50(0x1152,_0x5f8763._0x33d916)](_0x345733),_0x345733&&this['_hasLoad']&&(this['_hasLoad']=![],this[_0x115c50(-0x1d0,_0x5f8763._0x36f541)]());}['_addedHook'](){const _0x3d0ee7={_0x8ba9a2:0x151b},_0x1ea3b5={_0x864c38:0x536};super['_addedHook']();function _0x502a39(_0x4fa0d9,_0x3bffdf){return _0x7afdbe(_0x4fa0d9,_0x3bffdf- -_0x1ea3b5._0x864c38);}function _0x380c7e(_0x5b7995,_0x376361){return _0x54a7f1(_0x5b7995- -0xd8,_0x376361);}this[_0x380c7e(_0x3d0ee7._0x8ba9a2,0x181b)]?this['load']():this[_0x380c7e(0x1510,0xee8)]=!![];}[_0x7afdbe(0xac4,0xc7d)](){const _0x2938fd={_0x24f436:0x1033,_0x21df20:0x9f1,_0x410460:0x1014,_0x50028e:0xf64},_0x3964ad={_0x5d570b:0x3bf};function _0x1a4761(_0x1ef05e,_0x3970f4){return _0x54a7f1(_0x3970f4- -0x5e,_0x1ef05e);}function _0x1f5855(_0x319649,_0xd9d0ac){return _0x54a7f1(_0xd9d0ac- -_0x3964ad._0x5d570b,_0x319649);}super[_0x1a4761(_0x2938fd._0x24f436,_0x2938fd._0x21df20)](),this[_0x1f5855(_0x2938fd._0x410460,_0x2938fd._0x50028e)]();}['load'](_0x51b52){const _0x434cbe={_0x24da04:0x4aa,_0x3ab213:0x4e4,_0x5c4068:0xa4d,_0x5cf8e2:0x161,_0x33ad22:0x90c,_0x2b4d52:0xdd5,_0x366768:0xdc2},_0x1594ea={_0x231a7a:0x6a4,_0x584324:0xaaf},_0x26c08f={_0x568373:0x452};function _0x289d3d(_0xea23b0,_0x44288d){return _0x7afdbe(_0x44288d,_0xea23b0- -0x5fa);}_0x51b52&&(Cesium__namespace['defaultValue'](_0x51b52['clear'],!![])&&(delete this[_0x423317(0x45e,0xd0d)]['url'],delete this['options'][_0x423317(0x81d,_0x434cbe._0x24da04)]),this['clear'](),this['options']={...this[_0x289d3d(0x4e4,-0xae)],..._0x51b52});function _0x423317(_0x4e14ec,_0x4ad579){return _0x54a7f1(_0x4e14ec- -_0x26c08f._0x568373,_0x4ad579);}if(this['options']['url']){const _0x12afa2={...this[_0x289d3d(_0x434cbe._0x3ab213,_0x434cbe._0x5c4068)]};_0x12afa2['proxy']=this[_0x289d3d(0x2cc,-0x261)],fetchJson(_0x12afa2)[_0x423317(_0x434cbe._0x5cf8e2,-0x2d9)](_0x1a2930=>{const _0x117e86={_0x2b9287:0x658};function _0x547d3f(_0x3e3b0b,_0x4cd8df){return _0x289d3d(_0x4cd8df-_0x117e86._0x2b9287,_0x3e3b0b);}if(!this['_map']||!this[_0x547d3f(_0x1594ea._0x231a7a,_0x1594ea._0x584324)])return;this['_load_data'](_0x1a2930);})['catch'](_0x352c24=>{const _0x3ad27c={_0x165a0a:0x414};function _0x1ef71f(_0x59797e,_0x138d25){return _0x289d3d(_0x59797e-_0x3ad27c._0x165a0a,_0x138d25);}function _0xc7e643(_0x52c26e,_0x4eb4a0){return _0x289d3d(_0x52c26e-0x556,_0x4eb4a0);}var _0x287590;logError('fetchJson出错了',_0x352c24),(_0x287590=this['_readyPromise'])!==null&&_0x287590!==void 0x0&&_0x287590['reject']&&this[_0xc7e643(0x43b,0xe6a)][_0x1ef71f(0x800,0xd8c)](_0x352c24);});}else this['options'][_0x423317(0x81d,_0x434cbe._0x33ad22)]?this[_0x423317(_0x434cbe._0x2b4d52,0x5f1)](this[_0x423317(0x45e,_0x434cbe._0x366768)]['data']):_0x51b52&&logWarn('GeoJsonLayer:没有传入\x20url\x20或\x20data\x20参数,请确认是否有误。');}['_load_data'](_0x232eb7){const _0x40e152={_0x55d5aa:0x730,_0x2ce62c:0x4c5,_0x5a26cf:0x57c,_0x4ac859:0xadf,_0x107dab:0xffa,_0x5dd6f6:0xa93,_0x34c17a:0x1537,_0x3fe31e:0x5d9,_0x241347:0x1561,_0x34ce85:0x1160,_0x3a359b:0x730,_0x2625c3:0x10ca,_0x56b74c:0xf6f,_0x1f81a3:0x4ea},_0x1501ff={_0x4e516b:0x1121},_0x18413e={_0x557d91:0x399},_0x75d15e={_0x21a65a:0x180},_0x496fd6={_0x358cfb:0x87};if(this[_0x31939b(_0x40e152._0x55d5aa,0x5e6)]['dataColumn']){const _0x1db3e9=this['options']['dataColumn'][_0x4ffdf0(0x1121,0x1746)]('.');_0x1db3e9[_0x31939b(_0x40e152._0x2ce62c,-_0x40e152._0x5a26cf)](_0x190abd=>{_0x232eb7=_0x232eb7[_0x190abd];});}this[_0x4ffdf0(0x829,_0x40e152._0x4ac859)]['formatData']&&(_0x232eb7=this[_0x4ffdf0(0x829,_0x40e152._0x107dab)][_0x4ffdf0(0x8c9,0xa94)](_0x232eb7));const _0x1176f1=[];for(let _0x3f9f61=0x0,_0x583daf=_0x232eb7[_0x31939b(0xe05,_0x40e152._0x5dd6f6)];_0x3f9f61<_0x583daf;_0x3f9f61++){const _0x43344e=_0x232eb7[_0x3f9f61];let _0x587bd4={};if(_0x43344e['style']){const _0x2e208a={..._0x43344e['style']};_0x587bd4=_0x2e208a;}const _0x1171e4=this['options']['symbol'];let _0xd276c4=_0x43344e['type']&&hasType(_0x43344e['type'])?_0x43344e['type']:_0x31939b(0xb9c,0x1636);if(_0x1171e4){if(isFunction(_0x1171e4))_0x587bd4=_0x1171e4(_0x43344e,_0x587bd4)||_0x587bd4,_0x587bd4['type']&&(_0xd276c4=_0x587bd4['type']);else{_0xd276c4=_0x1171e4['type']||_0xd276c4;const _0x36cb89=getSymbolStyle(_0x1171e4,_0x43344e||{});_0x1171e4[_0x4ffdf0(_0x40e152._0x34c17a,0x1343)]?_0x587bd4={..._0x36cb89,..._0x587bd4}:_0x587bd4=_0x36cb89;}}if(!hasType(_0xd276c4)){logError(_0x31939b(0x4ea,-_0x40e152._0x3fe31e),_0x43344e);continue;}const _0x240bca={};_0x240bca['type']=_0xd276c4,_0x240bca[_0x4ffdf0(0x415,0x826)]=_0x587bd4,_0x240bca['attr']=_0x43344e;const _0x9a48b8=_0x240bca;if(isPointType(_0xd276c4)){if(_0x43344e['position'])_0x9a48b8['position']=_0x43344e[_0x31939b(_0x40e152._0x241347,0xb83)];else{if(this['options']['formatPosition'])_0x9a48b8[_0x31939b(0x1561,0x189f)]=this['options'][_0x31939b(0x7cd,_0x40e152._0x34ce85)](_0x43344e,_0x9a48b8);else{if(this['options']['latColumn']||this['options']['lngColumn']){const _0x452da2=_0x43344e[this['options']['latColumn']||'lat'],_0x328254=_0x43344e[this[_0x31939b(_0x40e152._0x3a359b,0x775)]['lngColumn']||_0x31939b(0x11b7,0x1a2e)],_0x511f65=_0x43344e[this['options']['altColumn']||_0x31939b(0x2d5,0x3e8)]||0x0;_0x9a48b8['position']=[_0x328254,_0x452da2,_0x511f65];}else _0x43344e[_0x31939b(0x113a,_0x40e152._0x2625c3)]&&_0x43344e['lng']&&(_0x9a48b8['position']=[_0x43344e['lng'],_0x43344e['lat'],_0x43344e[_0x4ffdf0(0x3ce,0x32e)]||0x0]);}}if(!_0x9a48b8[_0x31939b(_0x40e152._0x241347,0x1fcd)]){logError(_0x4ffdf0(0x1589,0x173a),_0x43344e);continue;}}else{if(_0x43344e['positions'])_0x9a48b8[_0x31939b(_0x40e152._0x56b74c,0x13a0)]=_0x43344e['positions'];else this['options']['formatPosition']&&(_0x9a48b8[_0x31939b(0xf6f,0xf26)]=this[_0x4ffdf0(0x829,0xb55)]['formatPosition'](_0x43344e,_0x9a48b8));if(!_0x9a48b8['positions']){logError('无法解析数据positions坐标位置',_0x43344e);continue;}}_0x1176f1['push'](_0x9a48b8);}function _0x4ffdf0(_0xddf8e,_0x59e617){return _0x54a7f1(_0xddf8e- -_0x496fd6._0x358cfb,_0x59e617);}const _0x1f33a9={};_0x1f33a9['enabledEvent']=![];const _0x4ba07c=this['_addGraphicByArrOptions'](_0x1176f1,_0x1f33a9),_0x2da977=[];function _0x31939b(_0x5b9f2d,_0x15745a){return _0x54a7f1(_0x5b9f2d- -_0x75d15e._0x21a65a,_0x15745a);}_0x4ba07c[_0x31939b(0x4c5,-_0x40e152._0x1f81a3)](_0x56ecda=>{const _0x15f0f0={..._0x56ecda['attr']};_0x15f0f0['graphic']=_0x56ecda;function _0x4d9b47(_0x5a224b,_0x54c1a8){return _0x31939b(_0x5a224b-_0x18413e._0x557d91,_0x54c1a8);}_0x2da977[_0x4d9b47(_0x1501ff._0x4e516b,0xbc5)](_0x15f0f0);});const _0x5a792c={};_0x5a792c['jsonData']=_0x232eb7,_0x5a792c['list']=_0x2da977,_0x5a792c[_0x31939b(0x105a,0xcbb)]=_0x4ba07c,this['fire'](EventType['load'],_0x5a792c),this['_readyPromise']['resolve'](this);}['_toJsonEx'](_0x5e5006){}[_0x54a7f1(0x1757,0x1faa)](_0x10bc2a,_0x5ad098){const _0x33cdf0={_0x5705fb:0x184b,_0x2c572f:0x875,_0x39d9b2:0xf12,_0x3c43d9:0x10d8},_0x5c4f5d={_0x34bfb4:0x402};var _0x59e5c1;function _0x364bf9(_0x20b711,_0x5215ea){return _0x54a7f1(_0x20b711-0xa2,_0x5215ea);}function _0x449337(_0x5bb183,_0x2a38c3){return _0x7afdbe(_0x2a38c3,_0x5bb183- -_0x5c4f5d._0x34bfb4);}super[_0x449337(0x1583,_0x33cdf0._0x5705fb)](_0x10bc2a,_0x5ad098);if(!this[_0x364bf9(_0x33cdf0._0x2c572f,_0x33cdf0._0x39d9b2)])return;_0x5ad098['symbol']&&!((_0x59e5c1=_0x5ad098[_0x449337(0x9ee,_0x33cdf0._0x3c43d9)])!==null&&_0x59e5c1!==void 0x0&&_0x59e5c1['type'])?this['eachGraphic'](_0x44dab4=>{const _0x4af5e3=getSymbolStyle(_0x10bc2a['symbol'],_0x44dab4['attr']);_0x44dab4['style']=_0x4af5e3;}):(this['clear'](),this['load']());}}register$3('busineData',BusineDataLayer);var JzwStyleFS=_0x54a7f1(0x153f,0x1126);class TilesetEditBase extends BaseThing{constructor(_0x5d75f6={}){const _0x3d0e55={_0x2684d8:0x1c3},_0xc11d7b={_0x52c64a:0x1c};super(_0x5d75f6);!isMars3DCesium&&logError(_0x2c2bce(0x7f4,0xaa6),this);this['_rangeNumber']=0x0,this['_maxRangeLength']=0x0,this[_0x2c2bce(-_0x3d0e55._0x2684d8,0x23b)]=[];function _0x5247ff(_0x529bc1,_0x5a0391){return _0x54a7f1(_0x5a0391-_0xc11d7b._0x52c64a,_0x529bc1);}function _0x2c2bce(_0x1ef171,_0xfbd848){return _0x54a7f1(_0x1ef171- -0x40a,_0xfbd848);}this['_precise']=_0x5d75f6['precise']??!![];}get['list'](){return this['_areaList'];}get['tileset'](){var _0x6e4cd5;return(_0x6e4cd5=this['_layer'])===null||_0x6e4cd5===void 0x0?void 0x0:_0x6e4cd5['tileset'];}get[_0x54a7f1(0x131a,0x1be5)](){const _0x3c6b1a={_0x3d864c:0x1146};function _0x409ec9(_0x5aa998,_0x3d57b9){return _0x7afdbe(_0x3d57b9,_0x5aa998- -0xaa);}return this[_0x409ec9(0x17b1,_0x3c6b1a._0x3d864c)];}set['layer'](_0x443077){const _0x30220f={_0x567620:0x478,_0x466a4a:0xd1d,_0x243a4d:0x4fd,_0x86cd26:0x106,_0x17d0a0:0x15fe,_0x4470ac:0x341};this['_layer']=_0x443077;function _0x384a17(_0x1c2133,_0x263657){return _0x54a7f1(_0x1c2133- -0x50b,_0x263657);}_0x443077[_0x384a17(0x1156,0x6d5)]['then'](_0x34ec47=>{const _0x1ba2d1={_0x5cd682:0x1411,_0x30939b:0x127b,_0x32f481:0x15ab},_0x256a09={_0x2eb15b:0x142},_0x41fb00=_0x443077['boundingSphere']['center'];this[_0x1b1c4f(_0x30220f._0x567620,_0x30220f._0x466a4a)]=Cesium__namespace[_0x1b1c4f(0x607,_0x30220f._0x243a4d)]['eastNorthUpToFixedFrame'](_0x41fb00),this['_inverseMatrix']=Cesium__namespace['Matrix4'][_0x1b1c4f(0x12a8,0xe4f)](this[_0x17b1ee(_0x30220f._0x86cd26,-0x108)],new Cesium__namespace['Matrix4']()),this['_center']=Cesium__namespace['Cartographic']['fromCartesian'](_0x41fb00);this['_precise']?this['_initPrarmsByLayer'](_0x443077):this[_0x1b1c4f(_0x30220f._0x17d0a0,0x1897)](_0x443077);function _0x1b1c4f(_0x2108b3,_0x2bedc2){return _0x384a17(_0x2108b3-0x3a5,_0x2bedc2);}this['_initTileset'](_0x443077['tileset']);function _0x17b1ee(_0x5ee051,_0x2c1c58){return _0x384a17(_0x5ee051-0x33,_0x2c1c58);}this[_0x17b1ee(0x3d8,-0x3ee)]['area']&&this['options'][_0x17b1ee(0x210,-_0x30220f._0x4470ac)]['forEach'](_0x387a7f=>{function _0x194055(_0x12e9ed,_0x2bc447){return _0x17b1ee(_0x12e9ed-_0x256a09._0x2eb15b,_0x2bc447);}function _0x2dc108(_0x464b93,_0x2abf7d){return _0x17b1ee(_0x464b93-0x76d,_0x2abf7d);}this[_0x2dc108(_0x1ba2d1._0x5cd682,_0x1ba2d1._0x30939b)](_0x387a7f[_0x2dc108(0x1384,_0x1ba2d1._0x32f481)],_0x387a7f);});});}get['editHeight'](){const _0x37e7f1={_0x581e19:0x1135,_0x490d33:0xd50},_0x32d326={_0x46cabc:0x1e5};var _0xd4dc02;const _0x15fc9d=this[_0x3a7839(_0x37e7f1._0x581e19,_0x37e7f1._0x490d33)];if(_0x15fc9d!==null&&_0x15fc9d!==void 0x0&&(_0xd4dc02=_0x15fc9d['options'])!==null&&_0xd4dc02!==void 0x0&&_0xd4dc02['editHeight'])return _0x15fc9d['options']['editHeight'];function _0x3a7839(_0x243f35,_0x1c688f){return _0x54a7f1(_0x243f35- -_0x32d326._0x46cabc,_0x1c688f);}if(this['options']['editHeight'])return this['options']['editHeight'];return 0x0;}get['length'](){const _0x1b2df9={_0x2988cb:0xd5f};function _0x13d128(_0x2f6680,_0x468866){return _0x7afdbe(_0x2f6680,_0x468866- -0x454);}if(this['_areaList']){var _0x2c0a6c;return(_0x2c0a6c=this['_areaList'])===null||_0x2c0a6c===void 0x0?void 0x0:_0x2c0a6c[_0x13d128(0xf59,_0x1b2df9._0x2988cb)];}else return 0x0;}[_0x7afdbe(0x15fd,0x134f)](){const _0xe257eb={_0x3099f8:0x15c2,_0x586857:0x12af};function _0x364e9a(_0xc36b1b,_0x33a842){return _0x7afdbe(_0x33a842,_0xc36b1b- -0x621);}function _0x2831db(_0x3053db,_0x36e810){return _0x7afdbe(_0x3053db,_0x36e810- -0x15e);}this['options']['layer']&&(this[_0x2831db(_0xe257eb._0x3099f8,0x13ea)]=this['options'][_0x2831db(_0xe257eb._0x586857,0x13ea)]);}['_removedHook'](){const _0x3863fd={_0x57c29d:0x1d};function _0x3cb996(_0x2799af,_0x85dfb){return _0x7afdbe(_0x85dfb,_0x2799af-_0x3863fd._0x57c29d);}this['clear']();function _0x1430de(_0x2457b4,_0xb3df5){return _0x54a7f1(_0xb3df5- -0x17f,_0x2457b4);}this[_0x1430de(0x9df,0x4fd)]&&(this['cacheMarsOptions'](),delete this[_0x1430de(0x318,0x4fd)]);}['clear'](){const _0xdce0cc={_0x2f1243:0xa92,_0x21b917:0xc37},_0x21860d={_0x575b79:0x390},_0x1567b5={_0x7f6d2c:0x162};function _0x4da5c7(_0x5b315b,_0x475989){return _0x54a7f1(_0x5b315b- -_0x1567b5._0x7f6d2c,_0x475989);}this[_0x4da5c7(0xe5,_0xdce0cc._0x2f1243)]=[],this['_rangeNumber']=0x0,this['_maxRangeLength']=0x0;function _0x3b2fc0(_0x4af1b8,_0x5edc86){return _0x7afdbe(_0x5edc86,_0x4af1b8- -_0x21860d._0x575b79);}Cesium__namespace[_0x3b2fc0(0x151f,_0xdce0cc._0x21b917)](this['_texture'])&&(this['_texture']['destroy'](),this['_texture']=undefined);}['addArea'](_0x20b9d1,_0x19e510={}){const _0x3b48bd={_0xd2bb73:0xccd,_0x4c49a1:0xba8,_0x3ebcf6:0xd43,_0x490d36:0x10fc,_0x3e70cf:0xe4a};if(!_0x20b9d1||_0x20b9d1['length']<0x3)return;function _0x216507(_0x47a25a,_0x4de0b1){return _0x7afdbe(_0x47a25a,_0x4de0b1- -0x29c);}_0x19e510['simplify']&&(_0x20b9d1=simplifyPositions(_0x20b9d1,_0x19e510['simplify']));_0x20b9d1=LngLatArray['toCartesians'](_0x20b9d1),this['_maxRangeLength']=Math[_0x216507(0xd91,0xa9c)](this['_maxRangeLength'],_0x20b9d1['length']);const _0x3b3afb=[];for(let _0x3b0523=0x0;_0x3b0523<_0x20b9d1['length'];_0x3b0523++){_0x3b3afb['push'](Cesium__namespace['Matrix4']['multiplyByPoint'](this['_inverseMatrix'],_0x20b9d1[_0x3b0523],new Cesium__namespace[(_0x93452e(0x1b10,0x1554))]()));}const _0x5a6d8b={'id':_0x19e510['id']??getGlobalId(),'show':!![],'height':_0x19e510[_0x93452e(_0x3b48bd._0xd2bb73,0x8d4)]||0x0,'positions':_0x20b9d1,'positions_model':_0x3b3afb};this['_areaList']['push'](_0x5a6d8b),this[_0x216507(_0x3b48bd._0x4c49a1,0x83a)]=!![];const _0x3d2740={};_0x3d2740[_0x93452e(_0x3b48bd._0x3ebcf6,0x955)]=_0x5a6d8b;function _0x93452e(_0x197e73,_0x543329){return _0x54a7f1(_0x543329-0x26d,_0x197e73);}return this[_0x216507(_0x3b48bd._0x490d36,_0x3b48bd._0x3e70cf)](EventType['addItem'],_0x3d2740),_0x5a6d8b;}[_0x7afdbe(0x1840,0x11a5)](_0x486f40){for(let _0x13b9ea=0x0;_0x13b9ea<this['_areaList']['length'];_0x13b9ea++){const _0x3ebd3c=this['_areaList'][_0x13b9ea];if(_0x3ebd3c['id']===_0x486f40)return _0x3ebd3c;}return null;}[_0x54a7f1(0x35c,0x36f)](_0x472cf3){const _0x212908={_0x4682f6:0x13a2,_0x324004:0x133b,_0x275b91:0x636,_0x3123ad:0xd3d},_0x4cf6cf={_0x417f38:0x251},_0x2d5b50=this[_0x492ffb(0xd05,0x1160)](_0x472cf3);function _0x445e11(_0x1d7fcd,_0x48d041){return _0x54a7f1(_0x1d7fcd- -_0x4cf6cf._0x417f38,_0x48d041);}function _0x492ffb(_0x3bbac6,_0x489e4d){return _0x7afdbe(_0x489e4d,_0x3bbac6- -0x4a0);}_0x2d5b50&&(_0x2d5b50[_0x445e11(_0x212908._0x4682f6,_0x212908._0x324004)]=![],this[_0x492ffb(_0x212908._0x275b91,_0x212908._0x3123ad)]=!![]);}[_0x7afdbe(0x15fa,0xd6e)](_0x5e9ea8){const _0xbb491c=this['getAreaById'](_0x5e9ea8);_0xbb491c&&(_0xbb491c['show']=!![],this['_hasUpdate']=!![]);}[_0x7afdbe(0xd3b,0x15d0)](_0x132189){const _0x332fb3={_0x41043a:0x147};!isObject(_0x132189)&&(_0x132189=this['getAreaById'](_0x132189));if(!_0x132189)return;removeArrayItem(this[_0x53e735(-0x35,_0x332fb3._0x41043a)],_0x132189),this['_hasUpdate']=!![];function _0x53e735(_0x1c0807,_0x4550cb){return _0x7afdbe(_0x1c0807,_0x4550cb- -0x32e);}const _0x20b7ed={};_0x20b7ed['area']=_0x132189,this['fire'](EventType['removeItem'],_0x20b7ed);}['_initTileset'](_0x2d60fc){const _0x365fd1={_0x5838a5:0x12bb},_0x4f3606={_0x5351a7:0x225},_0x3b5705={_0x577746:0x598,_0x12143e:0x55};var _0x138a19;const _0x5d1887=_0x2d60fc['update'],_0x21b2b1=this;function _0x5df363(_0x3cddba,_0x417bc8){return _0x54a7f1(_0x417bc8- -0x395,_0x3cddba);}_0x2d60fc['update']=function(_0x1e407c){function _0x45eac6(_0x30021a,_0x53ab43){return _0x536c(_0x53ab43- -0xd2,_0x30021a);}function _0x531d83(_0x538b9a,_0x26cdd7){return _0x536c(_0x538b9a- -0x1e9,_0x26cdd7);}_0x21b2b1[_0x531d83(_0x3b5705._0x577746,0x1a6)]&&_0x21b2b1['_update'](_0x1e407c),_0x5d1887[_0x531d83(-0x3d,_0x3b5705._0x12143e)](this)(_0x1e407c);};let _0x8e1eda;function _0x846d23(_0x3c13c0,_0x483468){return _0x54a7f1(_0x3c13c0-_0x4f3606._0x5351a7,_0x483468);}this['_precise']?_0x8e1eda=this[_0x846d23(0x1216,0x1933)]():_0x8e1eda=this['_getCustomShader_Mask']();if(_0x8e1eda&&(_0x138a19=Cesium__namespace[_0x5df363(0xc41,0x7ec)])!==null&&_0x138a19!==void 0x0&&_0x138a19['getCacheOrAdd']){const _0x4cbe89=Cesium__namespace['Mars3DEx']['getCacheOrAdd'](this['layer']['_marsOptions'][_0x5df363(0xc76,_0x365fd1._0x5838a5)]);_0x4cbe89[this[_0x5df363(-0x4d7,0x307)]]=_0x8e1eda,this['cacheMarsOptions']=function(){_0x2d60fc['update']=_0x5d1887,delete _0x4cbe89[_0x21b2b1['_customShadersKey']];};}}[_0x7afdbe(0xb3a,0x15b3)](_0x3d9c86){const _0x1aef71={_0x4ac75e:0x17c9,_0x31472d:0xe7d,_0x1a726a:0x27f,_0x264f20:0x678,_0x4f8256:0x3ab,_0x33d16b:0x1967,_0x3888a9:0x1709};Cesium__namespace['defined'](this['_texture'])&&(this[_0x1c4a55(_0x1aef71._0x4ac75e,_0x1aef71._0x31472d)]['destroy'](),this['_texture']=undefined);this['_maxRangeLength']=0x0,this[_0x1deea5(0xb89,_0x1aef71._0x1a726a)]=this[_0x1c4a55(_0x1aef71._0x264f20,_0x1aef71._0x4f8256)]['length'];function _0x1c4a55(_0x49d7f0,_0x14e0b0){return _0x7afdbe(_0x49d7f0,_0x14e0b0- -0xca);}if(this['_rangeNumber']===0x0)return;this['_precise']?this['_texture']=this['_createTexture']():this['_texture']=this[_0x1c4a55(_0x1aef71._0x33d16b,_0x1aef71._0x3888a9)]();function _0x1deea5(_0x30a6b5,_0x57e7ca){return _0x7afdbe(_0x30a6b5,_0x57e7ca- -0x29a);}this['_hasUpdate']=![];}['toJSON'](){const _0x290b6c={_0x3542e1:0xb64,_0xd324cc:0x430},_0x24358f={_0x53cb81:0x426},_0xa03a6c={_0x4ff215:0xb7f,_0x28afa3:0x6b3},_0xb51f75=clone(this[_0x1a882d(0x6b8,0x1097)],['layer',_0x1a882d(0xba9,_0x290b6c._0x3542e1)]);function _0x23b66d(_0x1937ff,_0x36c5ab){return _0x54a7f1(_0x36c5ab-0x1e9,_0x1937ff);}_0xb51f75['area']=[],this[_0x23b66d(-0x4eb,_0x290b6c._0xd324cc)]['forEach'](_0x45f86c=>{const _0x2a8936={_0xc3c99a:0x572};function _0x21cdce(_0x1f0afb,_0x4f79be){return _0x23b66d(_0x4f79be,_0x1f0afb- -_0x2a8936._0xc3c99a);}_0xb51f75['area'][_0x21cdce(_0xa03a6c._0x4ff215,_0xa03a6c._0x28afa3)]({..._0x45f86c,'positions':LngLatArray['toArray'](_0x45f86c['positions'])});});function _0x1a882d(_0x4642b6,_0x4721ac){return _0x7afdbe(_0x4721ac,_0x4642b6- -_0x24358f._0x53cb81);}return _0xb51f75;}['_initPrarmsByLayer'](_0x3bd2e2){}[_0x54a7f1(0x95a,0xdc6)](){const _0x4f511c={_0x48c30c:0x85,_0x583e33:0xa50,_0xd011c7:0xdb8,_0x390921:0xf57,_0x211f41:0xbbb,_0x2b33d7:0x14b2,_0xa53992:0xfb9},_0x3e5eaa={_0x242b0c:0x28a,_0x55c054:0x3f,_0x23d32f:0xaea,_0x545a13:0xfc5},_0x252683={_0x37e9f2:0x1141},_0x5b7577={_0x54d26a:0x266},_0x4982fa={_0x4da31b:0x23a};let _0x4706a3=0x0;this['_rangeNumber']=0x0,this['_areaList']['forEach'](_0x4d4fcb=>{if(!_0x4d4fcb['show'])return;this[_0x3db768(0x388,0x598)]++;function _0x3db768(_0x3873c2,_0x15c75c){return _0x536c(_0x15c75c-0x3d4,_0x3873c2);}_0x4706a3<_0x4d4fcb['positions']['length']&&(_0x4706a3=_0x4d4fcb['positions']['length']);});function _0x1fbfcd(_0x5616c4,_0x2d9894){return _0x7afdbe(_0x2d9894,_0x5616c4- -_0x4982fa._0x4da31b);}this['_maxRangeLength']=_0x4706a3;if(this[_0x203019(_0x4f511c._0x48c30c,_0x4f511c._0x583e33)]===0x0)return;const _0x2fa705=[];function _0x203019(_0x35dd32,_0x745ad9){return _0x54a7f1(_0x35dd32- -_0x5b7577._0x54d26a,_0x745ad9);}return this['_areaList']['forEach']((_0xca861f,_0x22bbfd)=>{if(!_0xca861f['show'])return;const _0x810cd5=_0xca861f[_0x59aa3e(0x13c6,0xe7b)];function _0x4967e5(_0x46bea6,_0x3f9732){return _0x203019(_0x3f9732- -0x1b8,_0x46bea6);}const _0x45d1f9=_0x810cd5['length'],_0x3017b4=Cesium__namespace['Cartesian3']['fromRadians'](this['_center'][_0x4967e5(0x5c6,_0x3e5eaa._0x242b0c)],this['_center']['latitude'],this['_center']['height']+_0xca861f['height']+this['editHeight']),_0x3a77fa=Cesium__namespace['Matrix4']['multiplyByPoint'](this[_0x4967e5(0x14aa,0xc5f)],_0x3017b4,_0x3017b4);_0x2fa705['push'](_0x45d1f9);function _0x59aa3e(_0x4f0a8b,_0x27b419){return _0x203019(_0x27b419- -0xe,_0x4f0a8b);}_0x2fa705[_0x4967e5(_0x3e5eaa._0x55c054,_0x3e5eaa._0x23d32f)](_0x3a77fa['z']),_0x2fa705[_0x59aa3e(_0x3e5eaa._0x545a13,0xc94)](0x0),_0x2fa705['push'](0x0),_0x810cd5['forEach'](_0x5e36ce=>{const _0x43097e={_0x465807:0xce},_0x56a2e2=_0x5e36ce,_0x2a21bb=Cesium__namespace[_0x401aa0(0x195c,_0x252683._0x37e9f2)]['normalize'](_0x56a2e2,new Cesium__namespace['Cartesian3']());function _0x401aa0(_0xb4d533,_0x53cf22){return _0x59aa3e(_0xb4d533,_0x53cf22-_0x43097e._0x465807);}_0x2fa705[_0x401aa0(0xe6b,0xd62)](_0x2a21bb['x']),_0x2fa705[_0x8d3665(0x3ed,0xe77)](_0x2a21bb['y']);function _0x8d3665(_0xb38f6a,_0x5be46a){return _0x4967e5(_0xb38f6a,_0x5be46a-0x38d);}_0x2fa705['push'](_0x2a21bb['z']),_0x2fa705['push'](_0x56a2e2['x']/_0x2a21bb['x']);});if(_0x45d1f9<_0x4706a3)for(let _0xdaf902=0x0;_0xdaf902<_0x4706a3-_0x45d1f9;_0xdaf902++){_0x2fa705[_0x4967e5(0x3d9,_0x3e5eaa._0x23d32f)](0x0),_0x2fa705['push'](0x0),_0x2fa705['push'](0x0),_0x2fa705['push'](0x0);}}),new Cesium__namespace[(_0x1fbfcd(0x1760,0x210f))]({'context':this['_map']['scene']['_context'],'pixelFormat':Cesium__namespace[_0x203019(_0x4f511c._0xd011c7,_0x4f511c._0x390921)]['RGBA'],'pixelDatatype':Cesium__namespace['PixelDatatype']['FLOAT'],'sampler':new Cesium__namespace[(_0x203019(_0x4f511c._0x211f41,0x5c4))]({'wrapS':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'wrapT':Cesium__namespace['TextureWrap'][_0x203019(_0x4f511c._0x2b33d7,_0x4f511c._0xa53992)],'minificationFilter':Cesium__namespace['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter']['NEAREST']}),'flipY':![],'source':{'width':_0x4706a3+0x1,'height':this['_rangeNumber'],'arrayBufferView':new Float32Array(_0x2fa705)}});}['_getCustomShader'](){return null;}['_initPrarmsByLayer_Mask'](_0x17f38a){const _0x318f22={_0x375913:0x4d6,_0x52b715:0x508,_0x9c9406:0xd73,_0x13029e:0x66f,_0x2984f5:0xf40,_0x1c4ef1:0x10ac,_0x18eb84:0x16c4,_0x168911:0x7ba},_0x955cf={_0x16e369:0x3da};var _0x50de30;function _0x15560b(_0x5642ae,_0x23d212){return _0x54a7f1(_0x5642ae- -_0x955cf._0x16e369,_0x23d212);}this['_mask_radius']=Math['round'](((_0x50de30=_0x17f38a['boundingSphere'])===null||_0x50de30===void 0x0?void 0x0:_0x50de30['radius'])??0x800),this['_mask_size']=caculateCanvasSize(this['_mask_radius']*0x2,this[_0x15560b(_0x318f22._0x375913,0x182)]['maxCanvasSize']),this['_mask_canvas']=document['createElement'](_0x15560b(_0x318f22._0x52b715,_0x318f22._0x9c9406)),this['_mask_canvas']['style']['backgroundColor']='#000000',this['_mask_canvas'][_0x15560b(0x117d,0xee6)]=this[_0x538be2(0x11dc,0x10ac)]['width'],this['_mask_canvas']['height']=this['_mask_size']['height'];function _0x538be2(_0x45bbb,_0x24b4f1){return _0x54a7f1(_0x24b4f1-0x153,_0x45bbb);}this[_0x538be2(_0x318f22._0x13029e,_0x318f22._0x2984f5)]['style']['width']=this[_0x538be2(0x1544,_0x318f22._0x1c4ef1)][_0x538be2(0xe10,0x16aa)]+'px',this[_0x538be2(_0x318f22._0x18eb84,_0x318f22._0x2984f5)]['style'][_0x538be2(-0x10d,_0x318f22._0x168911)]=this['_mask_size'][_0x15560b(0x28d,-0x326)]+'px';}[_0x7afdbe(0x2099,0x17d3)](){const _0x3b4ac6={_0x6207e7:0x1578,_0x5257a3:0xb98,_0x184266:0x1130,_0x5cf784:0x9b2,_0x4e3986:0x748,_0x2ef0eb:0x893},_0x2b6ab1={_0x24f9dd:0x5d},_0xaf50e3={_0x1a5213:0x12b0,_0x24914b:0xf44,_0xd0a9ad:0x1261,_0x1ea656:0xe71,_0x25835d:0xc16},_0x15c801=this['_mask_canvas']['getContext']('2d');_0x15c801['clearRect'](0x0,0x0,this['_mask_size'][_0x15a53f(_0x3b4ac6._0x6207e7,0x15b4)],this['_mask_size']['height']);let _0x5af024=0x0;this['_areaList']['forEach'](_0x27cfcb=>{if(!_0x27cfcb[_0x2d9e20(0x1194,_0xaf50e3._0x1a5213)])return;function _0x2d9e20(_0xb9e20,_0x2f2785){return _0x15a53f(_0xb9e20,_0x2f2785- -0x3a0);}_0x5af024++;const _0x2ef743=_0x27cfcb[_0x2d9e20(0x1505,_0xaf50e3._0x24914b)];_0x15c801[_0x58b09e(0x1873,0xf9e)]();function _0x58b09e(_0x23a537,_0x3585a5){return _0x15a53f(_0x23a537,_0x3585a5- -0x4a4);}const _0x132a93=_0x2ef743[0x0],_0x2bb28e=localPointToCanvasPoint(_0x132a93,this['_mask_size']);_0x15c801['moveTo'](_0x2bb28e['x'],_0x2bb28e['y']);for(let _0x2e7a45=0x1;_0x2e7a45<_0x2ef743[_0x2d9e20(_0xaf50e3._0xd0a9ad,0xc42)];_0x2e7a45++){const _0x5da791=localPointToCanvasPoint(_0x2ef743[_0x2e7a45],this[_0x2d9e20(_0xaf50e3._0x1ea656,_0xaf50e3._0x25835d)]);_0x15c801['lineTo'](_0x5da791['x'],_0x5da791['y']);}_0x15c801['closePath'](),_0x15c801['fillStyle']='#ff0000',_0x15c801['fill']();});if(_0x5af024===0x0)return;const _0x3ad819=new Cesium__namespace['Texture']({'context':this[_0x15a53f(_0x3b4ac6._0x5257a3,0x830)][_0x15a53f(0xf60,0x10dc)][_0x15a53f(0x1bf2,_0x3b4ac6._0x184266)],'pixelFormat':Cesium__namespace['PixelFormat']['RGBA'],'pixelDatatype':Cesium__namespace['PixelDatatype'][_0x1c86aa(_0x3b4ac6._0x5cf784,_0x3b4ac6._0x4e3986)],'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'wrapT':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'minificationFilter':Cesium__namespace['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter']['NEAREST']}),'flipY':!![],'source':this['_mask_canvas']});function _0x15a53f(_0x51269d,_0x18be33){return _0x54a7f1(_0x18be33-_0x2b6ab1._0x24f9dd,_0x51269d);}_0x3ad819[_0x15a53f(0xcb3,_0x3b4ac6._0x2ef0eb)]='sampler2D';function _0x1c86aa(_0x333293,_0x28434a){return _0x7afdbe(_0x28434a,_0x333293- -0x426);}return _0x3ad819;}[_0x54a7f1(0x1239,0x1427)](){return null;}}function caculateCanvasSize(_0x3cf5e4,_0x33c38e=0x1000){let _0x4af30b=0x1;const _0x298715=0x200;function _0x4ce2bc(_0x267a45,_0xa1587a){return _0x54a7f1(_0x267a45- -0x47a,_0xa1587a);}if(_0x3cf5e4>_0x33c38e)_0x4af30b=_0x3cf5e4/_0x33c38e;else _0x3cf5e4<_0x298715&&(_0x4af30b=_0x3cf5e4/_0x298715);const _0x49b05b={};return _0x49b05b['factor']=_0x4af30b,_0x49b05b[_0x4ce2bc(0x10dd,0xa83)]=_0x3cf5e4/_0x4af30b,_0x49b05b['height']=_0x3cf5e4/_0x4af30b,_0x49b05b;}function localPointToCanvasPoint(_0x150fb4,_0x2fc6bc){const _0x4a6421={_0x20ee58:0x571,_0x4bf4de:0x1395,_0xb0f638:0x15c6},_0x320186={};_0x320186['x']=undefined,_0x320186['y']=undefined;function _0x16fcc4(_0x276729,_0x5c68a9){return _0x54a7f1(_0x5c68a9- -0x1e0,_0x276729);}function _0x22cd40(_0x536bb5,_0x1a68e3){return _0x54a7f1(_0x1a68e3- -0x3f7,_0x536bb5);}const _0x1211f0=_0x320186;return _0x1211f0['x']=Math['round'](_0x150fb4['x']/_0x2fc6bc[_0x16fcc4(-0x236,_0x4a6421._0x20ee58)])+_0x2fc6bc[_0x22cd40(_0x4a6421._0x4bf4de,0x1160)]/0x2,_0x1211f0['y']=_0x2fc6bc['height']-(Math[_0x16fcc4(_0x4a6421._0xb0f638,0x1149)](_0x150fb4['y']/_0x2fc6bc['factor'])+_0x2fc6bc['height']/0x2),_0x1211f0;}var TilesetClipFS='uniform\x20bool\x20u_mars3d_clip_enabled;\x0auniform\x20bool\x20u_mars3d_clip_outSide;\x0auniform\x20sampler2D\x20u_mars3d_clip_texture;\x0auniform\x20mat4\x20u_mars3d_clip_inverseMatrix;\x0auniform\x20float\x20u_mars3d_clip_rangeNumber;\x0auniform\x20float\x20u_mars3d_clip_maxRangeLength;\x0a\x0avec4\x20restorePoint_mars3d_clip(vec4\x20point)\x20{\x0a\x20\x20vec3\x20outpoint\x20=\x20point.xyz\x20*\x20point.w;\x0a\x20\x20return\x20u_mars3d_clip_inverseMatrix\x20*\x20vec4(outpoint,\x201.0);\x0a}\x0a\x0avec4\x20getRegions_mars3d_clip(int\x20x,\x20int\x20y)\x20{\x0a\x20\x20float\x20u\x20=\x20(float(x)\x20+\x200.5)\x20/\x20(u_mars3d_clip_maxRangeLength\x20+\x201.0);\x0a\x20\x20float\x20v\x20=\x20(float(y)\x20+\x200.5)\x20/\x20u_mars3d_clip_rangeNumber;\x0a\x20\x20vec4\x20point\x20=\x20texture(u_mars3d_clip_texture,\x20vec2(u,\x20v));\x0a\x20\x20return\x20point;\x0a}\x0a\x0abool\x20inRectangle_mars3d_clip(vec4\x20textPoint)\x20{\x0a\x20\x20int\x20rangeNumber\x20=\x20int(u_mars3d_clip_rangeNumber);\x0a\x20\x20int\x20step\x20=\x201;\x0a\x20\x20for(int\x20h\x20=\x200;\x20h\x20<\x20rangeNumber;\x20h\x20+=\x20step)\x20{\x0a\x20\x20\x20\x20int\x20currentLength\x20=\x20int(getRegions_mars3d_clip(0,\x20h).x);\x0a\x20\x20\x20\x20int\x20counter\x20=\x200;\x0a\x0a\x20\x20\x20\x20for(int\x20w\x20=\x200;\x20w\x20<\x20currentLength;\x20w\x20+=\x20step)\x20{\x0a\x20\x20\x20\x20\x20\x20int\x20nextIndex\x20=\x20w\x20+\x20step;\x0a\x20\x20\x20\x20\x20\x20nextIndex\x20=\x20nextIndex\x20>=\x20currentLength\x20?\x200\x20:\x20nextIndex;\x0a\x0a\x20\x20\x20\x20\x20\x20vec4\x20p1\x20=\x20restorePoint_mars3d_clip(getRegions_mars3d_clip(w\x20+\x20step,\x20h));\x0a\x20\x20\x20\x20\x20\x20vec4\x20p2\x20=\x20restorePoint_mars3d_clip(getRegions_mars3d_clip(nextIndex\x20+\x20step,\x20h));\x0a\x0a\x20\x20\x20\x20\x20\x20float\x20p1x\x20=\x20p1.x;\x0a\x20\x20\x20\x20\x20\x20float\x20p1y\x20=\x20p1.y;\x0a\x20\x20\x20\x20\x20\x20float\x20p2x\x20=\x20p2.x;\x0a\x20\x20\x20\x20\x20\x20float\x20p2y\x20=\x20p2.y;\x0a\x20\x20\x20\x20\x20\x20float\x20textPointx\x20=\x20textPoint.x;\x0a\x20\x20\x20\x20\x20\x20float\x20textPointy\x20=\x20textPoint.y;\x0a\x0a\x20\x20\x20\x20\x20\x20if(p1x\x20!=\x20p2x\x20&&\x20textPointx\x20>\x20min(p1x,\x20p2x)\x20&&\x20textPointx\x20<=\x20max(p1x,\x20p2x)\x20&&\x20textPointy\x20<=\x20max(p1y,\x20p2y))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20xinters\x20=\x20((textPointx\x20-\x20p1x)\x20*\x20(p2y\x20-\x20p1y))\x20/\x20(p2x\x20-\x20p1x)\x20+\x20p1y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(p1y\x20==\x20p2y\x20||\x20textPointy\x20<=\x20xinters)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20counter\x20+=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if((mod(float(counter),\x202.0)\x20!=\x200.0))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20return\x20false;\x0a}\x0a\x0avoid\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20if(u_mars3d_clip_enabled)\x20{\x0a\x20\x20\x20\x20vec3\x20positionMC\x20=\x20fsInput.attributes.positionMC;\x0a\x20\x20\x20\x20vec4\x20testPosition\x20=\x20u_mars3d_clip_inverseMatrix\x20*\x20czm_model\x20*\x20vec4(positionMC,\x201.0);\x0a\x20\x20\x20\x20if(u_mars3d_clip_outSide)\x20{\x0a\x20\x20\x20\x20\x20\x20if(!inRectangle_mars3d_clip(testPosition))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if(inRectangle_mars3d_clip(testPosition))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a}\x0a',TilesetClipMaskFS='uniform\x20bool\x20u_mars3d_clip_enabled;\x0auniform\x20bool\x20u_mars3d_clip_outSide;\x0auniform\x20sampler2D\x20u_mars3d_clip_texture;\x0auniform\x20mat4\x20u_mars3d_clip_inverseMatrix;\x0auniform\x20float\x20u_mars3d_clip_radius;\x0a\x0avoid\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20if(u_mars3d_clip_enabled)\x20{\x0a\x20\x20\x20\x20vec3\x20positionWC\x20=\x20fsInput.attributes.positionWC;\x0a\x20\x20\x20\x20vec4\x20position\x20=\x20u_mars3d_clip_inverseMatrix\x20*\x20vec4(positionWC,\x201.0);\x0a\x20\x20\x20\x20vec4\x20color\x20=\x20texture(u_mars3d_clip_texture,\x20(position.xy\x20+\x20u_mars3d_clip_radius)\x20/\x20u_mars3d_clip_radius\x20/\x202.0);\x0a\x0a\x20\x20\x20\x20if(u_mars3d_clip_outSide)\x20{\x0a\x20\x20\x20\x20\x20\x20if(color.r\x20<=\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if(color.r\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a}\x0a';class TilesetClip extends TilesetEditBase{constructor(_0x5b28d0={}){const _0x25db09={_0x171bc7:0x3eb},_0x285579={_0x41f03d:0x1cf};function _0x15d4f2(_0x18c108,_0x4fc4b4){return _0x54a7f1(_0x4fc4b4- -_0x285579._0x41f03d,_0x18c108);}_0x5b28d0['czm']=_0x5b28d0[_0x15d4f2(-0x5e3,_0x25db09._0x171bc7)]??_0x5b28d0['precise']??!![],super(_0x5b28d0),this['_customShadersKey']='clip';}get['clipOutSide'](){var _0x4eb5ea;return(_0x4eb5ea=this['options'])===null||_0x4eb5ea===void 0x0?void 0x0:_0x4eb5ea['clipOutSide'];}set['clipOutSide'](_0x18d9ed){this['options']['clipOutSide']=_0x18d9ed;}[_0x54a7f1(0xff1,0x16d4)](){const _0xe60f4c={_0x31ba6b:0x15e,_0x259ee7:0xdb2,_0x21929f:0x56c,_0x1f616a:0x168},_0xf6469f={_0xc4af8c:0x193},_0x2fa8b4={_0x25b028:0x11d5},_0x22f7d6={_0x58090b:0xf7},_0x3db4c5={_0x3bcc2e:0x216};if(this['options'][_0x3dc69a(0x6c3,0x5f8)]){this['_initTilesetClippingPolygons']();return;}function _0x3dc69a(_0x44012e,_0xb8728a){return _0x54a7f1(_0x44012e-0x109,_0xb8728a);}const _0x4e7b1b={};_0x4e7b1b[_0x3dc69a(0x1012,0x1a6c)]=TilesetClipFS;const _0x5e181d=new Cesium__namespace['CustomShader'](_0x4e7b1b),_0x4fe553=this['_map']['scene']['_context'][_0x5bd35b(0x5fd,0xc4f)];_0x5e181d[_0x3dc69a(0xf7d,0x672)][_0x5bd35b(0x687,-_0xe60f4c._0x31ba6b)]=()=>{return Cesium__namespace['defined'](this['_texture'])?this['_texture']:_0x4fe553;};function _0x5bd35b(_0x5078be,_0x33add7){return _0x54a7f1(_0x5078be- -0xc2,_0x33add7);}return _0x5e181d['uniformMap'][_0x5bd35b(0x146f,0x147d)]=()=>{return this['_inverseMatrix'];},_0x5e181d[_0x3dc69a(0xf7d,0x1274)]['u_mars3d_clip_rangeNumber']=()=>{function _0xf3afef(_0x5796ce,_0xc00e87){return _0x3dc69a(_0x5796ce- -0x60a,_0xc00e87);}return this[_0xf3afef(-_0x3db4c5._0x3bcc2e,-0xa01)];},_0x5e181d[_0x5bd35b(_0xe60f4c._0x259ee7,0x140b)][_0x5bd35b(0x2a3,-_0xe60f4c._0x21929f)]=()=>{function _0x4a09c3(_0x5c45be,_0x2c4852){return _0x3dc69a(_0x2c4852- -_0x22f7d6._0x58090b,_0x5c45be);}return this[_0x4a09c3(0x1241,_0x2fa8b4._0x25b028)];},_0x5e181d[_0x3dc69a(0xf7d,0x19ea)]['u_mars3d_clip_outSide']=()=>{function _0x154794(_0x4f6dd0,_0x276e84){return _0x5bd35b(_0x4f6dd0- -0x67,_0x276e84);}return Boolean(this[_0x154794(_0xf6469f._0xc4af8c,-0x7a3)]);},_0x5e181d['uniformMap'][_0x3dc69a(0x396,_0xe60f4c._0x1f616a)]=()=>{function _0x346e14(_0x3df303,_0xba4d8a){return _0x3dc69a(_0xba4d8a-0x79,_0x3df303);}return this['isAdded']&&this[_0x346e14(0x71a,0xd25)]&&Cesium__namespace['defined'](this['_texture']);},_0x5e181d;}[_0x54a7f1(0x1239,0x1a95)](){const _0x3cbc11={_0x33b9a7:0x796,_0x210e1a:0x12f3,_0x5a4352:0x935,_0x44ddb7:0x74},_0x5a685f={_0x3e566b:0x37,_0x245e91:0x81b,_0x38f4b9:0x17e5},_0x52d253={_0x32eef3:0x2f9},_0x8b31ea={_0x57921a:0x1b9e},_0x955673={_0x1c7200:0x301},_0x1058c0={_0x458d73:0x148};if(this['options']['czm']){this[_0x355ad1(_0x3cbc11._0x33b9a7,0x561)]();return;}function _0x542ddf(_0x275686,_0x73cc3b){return _0x54a7f1(_0x275686-0x141,_0x73cc3b);}const _0x2ab5c3={};_0x2ab5c3['fragmentShaderText']=TilesetClipMaskFS;const _0x5729f2=new Cesium__namespace['CustomShader'](_0x2ab5c3),_0x231cd3=this['_map']['scene']['_context']['defaultTexture'];_0x5729f2[_0x542ddf(0xfb5,0x153b)]['u_mars3d_clip_texture']=()=>{function _0x33fedd(_0x4c4767,_0x1201a2){return _0x355ad1(_0x1201a2,_0x4c4767- -0xf1);}return Cesium__namespace['defined'](this['_texture'])?this[_0x33fedd(0x927,-_0x1058c0._0x458d73)]:_0x231cd3;};function _0x355ad1(_0x2cfa20,_0x5ef508){return _0x54a7f1(_0x5ef508- -_0x955673._0x1c7200,_0x2cfa20);}return _0x5729f2[_0x542ddf(0xfb5,_0x3cbc11._0x210e1a)]['u_mars3d_clip_inverseMatrix']=()=>{const _0x3e2a62={_0x2446b9:0xbf};function _0x4470b4(_0x1c10b2,_0x20994a){return _0x542ddf(_0x1c10b2-_0x3e2a62._0x2446b9,_0x20994a);}return this[_0x4470b4(0x127d,_0x8b31ea._0x57921a)];},_0x5729f2['uniformMap']['u_mars3d_clip_radius']=()=>{return this['_mask_radius'];},_0x5729f2['uniformMap']['u_mars3d_clip_outSide']=()=>{return Boolean(this['clipOutSide']);},_0x5729f2[_0x542ddf(0xfb5,0xb27)][_0x355ad1(-_0x3cbc11._0x5a4352,-_0x3cbc11._0x44ddb7)]=()=>{function _0x292ea5(_0x3471aa,_0x4b35cc){return _0x355ad1(_0x3471aa,_0x4b35cc-_0x52d253._0x32eef3);}function _0x2d5b25(_0xc272e7,_0x401e68){return _0x542ddf(_0x401e68- -0x316,_0xc272e7);}return this[_0x292ea5(_0x5a685f._0x3e566b,_0x5a685f._0x245e91)]&&this['enabled']&&Cesium__namespace[_0x2d5b25(_0x5a685f._0x38f4b9,0x14ac)](this[_0x2d5b25(0x31c,0xb44)]);},_0x5729f2;}[_0x54a7f1(0x862,0x230)](){const _0x39aa97={_0x4e17bc:0x5db};function _0x37c170(_0x29cbab,_0x200840){return _0x54a7f1(_0x200840- -0xc6,_0x29cbab);}function _0x1bc189(_0x23a71e,_0x9b25a8){return _0x7afdbe(_0x9b25a8,_0x23a71e- -0x24c);}this[_0x37c170(0x5c7,0x306)][_0x37c170(-0x7c,_0x39aa97._0x4e17bc)]=new Cesium__namespace['ClippingPolygonCollection']({'polygons':[],'inverse':this['clipOutSide'],'enabled':this['enabled']});}[_0x54a7f1(0x1385,0x1978)](_0xd31dae){const _0x216433={_0x1a5a05:0x83c,_0x317754:0xc03,_0x4b7343:0x126},_0x4a6d28={_0x2f0768:0x2a2},_0x269d12={_0x590206:0x551},_0x41ac2a={_0x53b7a5:0x642};function _0x10e987(_0x2770f0,_0x583b86){return _0x7afdbe(_0x583b86,_0x2770f0- -_0x41ac2a._0x53b7a5);}if(!this[_0x1f3aed(_0x216433._0x1a5a05,_0x216433._0x317754)]['czm']){super['_update'](_0xd31dae);return;}this[_0x10e987(-0x48,0x6d9)][_0x1f3aed(0x62d,-_0x216433._0x4b7343)]['removeAll'](),this['_areaList']['forEach']((_0x1a3380,_0x322389)=>{if(!_0x1a3380['show'])return;const _0x2ed611={};function _0x662fe8(_0x12bed5,_0x39bad0){return _0x10e987(_0x12bed5-_0x269d12._0x590206,_0x39bad0);}_0x2ed611[_0x662fe8(0x122c,0x781)]=_0x1a3380['positions'],this['tileset']['clippingPolygons']['add'](new Cesium__namespace['ClippingPolygon'](_0x2ed611));});function _0x1f3aed(_0x16a97d,_0x3f944b){return _0x7afdbe(_0x3f944b,_0x16a97d- -_0x4a6d28._0x2f0768);}this['_hasUpdate']=![];}['clear'](){function _0x569fd9(_0x402700,_0x2744e9){return _0x7afdbe(_0x2744e9,_0x402700- -0x1d7);}var _0x5ed0ab;super[_0x272765(0x1141,0x1b27)]();function _0x272765(_0x2b909e,_0x4e23f9){return _0x54a7f1(_0x2b909e- -0x1e2,_0x4e23f9);}this['options']['czm']&&(_0x5ed0ab=this[_0x569fd9(0x423,0x9ca)])!==null&&_0x5ed0ab!==void 0x0&&_0x5ed0ab['clippingPolygons']&&this['tileset']['clippingPolygons']['removeAll']();}['_enabledHook'](_0x14f029){const _0x2e1d9b={_0x5d8240:0x8c8,_0x3f8236:0x17f,_0x2476b3:0x5f3,_0x744a63:0xb0a},_0xcd0699={_0x4643dc:0x7};var _0x291f51;function _0x12aa2c(_0x47832e,_0x2bde4){return _0x7afdbe(_0x2bde4,_0x47832e- -_0xcd0699._0x4643dc);}function _0x50bf8e(_0x90108,_0x437100){return _0x54a7f1(_0x90108-0x233,_0x437100);}this['options']['czm']&&(_0x291f51=this['tileset'])!==null&&_0x291f51!==void 0x0&&_0x291f51[_0x12aa2c(_0x2e1d9b._0x5d8240,_0x2e1d9b._0x3f8236)]&&(this[_0x12aa2c(_0x2e1d9b._0x2476b3,_0x2e1d9b._0x744a63)][_0x12aa2c(0x8c8,0x8db)]['enabled']=_0x14f029);}}var TilesetFlatVS='uniform\x20bool\x20u_mars3d_flat_enabled;\x0auniform\x20sampler2D\x20u_mars3d_flat_texture;\x0auniform\x20mat4\x20u_mars3d_flat_matrix;\x0auniform\x20mat4\x20u_mars3d_flat_inverseMatrix;\x0auniform\x20float\x20u_mars3d_flat_rangeNumber;\x0auniform\x20float\x20u_mars3d_flat_maxRangeLength;\x0a\x0avec4\x20restorePoint_mars3d_flat(vec4\x20point)\x20{\x0a\x20\x20vec3\x20outpoint\x20=\x20point.xyz\x20*\x20point.w;\x0a\x20\x20return\x20u_mars3d_flat_inverseMatrix\x20*\x20vec4(outpoint,\x201.0);\x0a}\x0a\x0avec4\x20getRegions_mars3d_flat(float\x20x,\x20float\x20y)\x20{\x0a\x20\x20float\x20u\x20=\x20(x\x20+\x200.5)\x20/\x20(u_mars3d_flat_maxRangeLength\x20+\x201.0);\x0a\x20\x20float\x20v\x20=\x20(y\x20+\x200.5)\x20/\x20u_mars3d_flat_rangeNumber;\x0a\x20\x20vec4\x20point\x20=\x20texture(u_mars3d_flat_texture,\x20vec2(u,\x20v));\x0a\x20\x20return\x20point;\x0a}\x0a\x0afloat\x20inRectangle_mars3d_flat(vec4\x20textPoint)\x20{\x0a\x20\x20for(float\x20h\x20=\x200.0;\x20h\x20<\x20u_mars3d_flat_rangeNumber;\x20h\x20+=\x201.0)\x20{\x0a\x20\x20\x20\x20float\x20currentLength\x20=\x20getRegions_mars3d_flat(0.0,\x20h).x;\x0a\x20\x20\x20\x20float\x20counter\x20=\x200.0;\x0a\x20\x20\x20\x20for(float\x20w\x20=\x200.0;\x20w\x20<\x20currentLength;\x20w\x20+=\x201.0)\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20nextIndex\x20=\x20w\x20+\x201.0;\x0a\x20\x20\x20\x20\x20\x20nextIndex\x20=\x20nextIndex\x20>=\x20currentLength\x20?\x200.0\x20:\x20nextIndex;\x0a\x20\x20\x20\x20\x20\x20vec4\x20p1\x20=\x20restorePoint_mars3d_flat(getRegions_mars3d_flat(w\x20+\x201.0,\x20h));\x0a\x20\x20\x20\x20\x20\x20vec4\x20p2\x20=\x20restorePoint_mars3d_flat(getRegions_mars3d_flat(nextIndex\x20+\x201.0,\x20h));\x0a\x0a\x20\x20\x20\x20\x20\x20float\x20p1x\x20=\x20p1.x;\x0a\x20\x20\x20\x20\x20\x20float\x20p1y\x20=\x20p1.y;\x0a\x20\x20\x20\x20\x20\x20float\x20p2x\x20=\x20p2.x;\x0a\x20\x20\x20\x20\x20\x20float\x20p2y\x20=\x20p2.y;\x0a\x20\x20\x20\x20\x20\x20float\x20textPointx\x20=\x20textPoint.x;\x0a\x20\x20\x20\x20\x20\x20float\x20textPointy\x20=\x20textPoint.y;\x0a\x0a\x20\x20\x20\x20\x20\x20if(p1x\x20!=\x20p2x\x20&&\x20textPointx\x20>\x20min(p1x,\x20p2x)\x20&&\x20textPointx\x20<=\x20max(p1x,\x20p2x)\x20&&\x20textPointy\x20<=\x20max(p1y,\x20p2y))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20xinters\x20=\x20((textPointx\x20-\x20p1x)\x20*\x20(p2y\x20-\x20p1y))\x20/\x20(p2x\x20-\x20p1x)\x20+\x20p1y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(p1y\x20==\x20p2y\x20||\x20textPointy\x20<=\x20xinters)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20counter\x20+=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if((mod(counter,\x202.0)\x20!=\x200.0))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20h;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20return\x2099999.0;\x0a}\x0a\x0avoid\x20vertexMain(VertexInput\x20vsInput,\x20inout\x20czm_modelVertexOutput\x20vsOutput)\x20{\x0a\x20\x20if(u_mars3d_flat_enabled)\x20{\x0a\x20\x20\x20\x20vec3\x20positionMC\x20=\x20vsInput.attributes.positionMC;\x0a\x0a\x20\x20\x20\x20vec4\x20testPosition\x20=\x20u_mars3d_flat_inverseMatrix\x20*\x20czm_model\x20*\x20vec4(positionMC,\x201.0);\x0a\x20\x20\x20\x20float\x20rectangleIndex\x20=\x20inRectangle_mars3d_flat(testPosition);\x0a\x20\x20\x20\x20if(rectangleIndex\x20!=\x2099999.0)\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20modelDatumHeight\x20=\x20getRegions_mars3d_flat(0.0,\x20rectangleIndex).y;\x0a\x20\x20\x20\x20\x20\x20testPosition.z\x20=\x20modelDatumHeight\x20+\x20testPosition.z\x20*\x200.0005;\x0a\x20\x20\x20\x20\x20\x20vsOutput.positionMC\x20=\x20(czm_inverseModel\x20*\x20u_mars3d_flat_matrix\x20*\x20testPosition).xyz;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20}\x0a}\x0a',TilesetFlatMaskVS=_0x7afdbe(0x136e,0x134e);class TilesetFlat extends TilesetEditBase{constructor(_0x44734a={}){const _0x864ab8={_0x284231:0x49f};function _0x1ffaba(_0x2e3e83,_0x4c5339){return _0x7afdbe(_0x4c5339,_0x2e3e83- -0x42b);}super(_0x44734a),this[_0x1ffaba(_0x864ab8._0x284231,-0x581)]='flat';}['_getCustomShader'](){const _0x910bb7={_0x3ddb25:0x161b,_0x1bccb5:0x613},_0x6126db={_0x9c240e:0x55e},_0x134f22={_0x232135:0x350},_0x460079={};_0x460079[_0x1d2738(_0x910bb7._0x3ddb25,0xbf9)]=TilesetFlatVS;const _0x31324a=new Cesium__namespace['CustomShader'](_0x460079),_0x19b905=this['_map']['scene']['_context']['defaultTexture'];_0x31324a['uniformMap']['u_mars3d_flat_texture']=()=>{return Cesium__namespace['defined'](this['_texture'])?this['_texture']:_0x19b905;},_0x31324a['uniformMap']['u_mars3d_flat_matrix']=()=>{return this['_matrix'];};function _0x1d2738(_0x184f1f,_0x36b36c){return _0x54a7f1(_0x36b36c- -_0x134f22._0x232135,_0x184f1f);}_0x31324a['uniformMap']['u_mars3d_flat_inverseMatrix']=()=>{return this['_inverseMatrix'];};function _0xa59fbf(_0x489eed,_0x360354){return _0x7afdbe(_0x360354,_0x489eed- -_0x6126db._0x9c240e);}return _0x31324a['uniformMap'][_0x1d2738(-0x1b5,_0x910bb7._0x1bccb5)]=()=>{return this['_rangeNumber'];},_0x31324a['uniformMap']['u_mars3d_flat_maxRangeLength']=()=>{return this['_maxRangeLength'];},_0x31324a['uniformMap']['u_mars3d_flat_enabled']=()=>{function _0xaa11f4(_0x27d747,_0x444e24){return _0x1d2738(_0x27d747,_0x444e24-0x161);}return this[_0xaa11f4(-0x2ab,0x634)]&&this['enabled']&&Cesium__namespace['defined'](this['_texture']);},_0x31324a;}['_getCustomShader_Mask'](){const _0x535232={_0x2d7486:0x6ac,_0x49df82:0xbf8,_0x45b70f:0x143d,_0x2ff1e3:0x478,_0x1ef786:0x1540,_0x798cc2:0x1058},_0x50e009={_0x1329ed:0x123f,_0x3bffd8:0xa62,_0x3902a3:0xe03},_0x274af5={_0x43489f:0x102f,_0x361b00:0xa12},_0x54a962={_0x190a6f:0x15e6},_0xa0cf7c={};function _0x3983ae(_0x5f37d9,_0xafe3dd){return _0x7afdbe(_0x5f37d9,_0xafe3dd- -0x4a);}function _0x2d6234(_0x43f640,_0x51c7e7){return _0x7afdbe(_0x51c7e7,_0x43f640- -0x6b5);}_0xa0cf7c[_0x3983ae(_0x535232._0x2d7486,0x112d)]=TilesetFlatMaskVS;const _0xc4f78b=new Cesium__namespace['CustomShader'](_0xa0cf7c),_0x400152=this['_map'][_0x2d6234(_0x535232._0x49df82,0x141c)]['_context']['defaultTexture'];return _0xc4f78b['uniformMap']['u_mars3d_flat_texture']=()=>{function _0x8f47f(_0x41db54,_0x138d0f){return _0x2d6234(_0x41db54-0x10a,_0x138d0f);}return Cesium__namespace[_0x8f47f(0x1304,_0x54a962._0x190a6f)](this['_texture'])?this['_texture']:_0x400152;},_0xc4f78b['uniformMap'][_0x3983ae(0x16c9,_0x535232._0x45b70f)]=()=>{return this['_matrix'];},_0xc4f78b[_0x3983ae(0x13d3,0x1058)]['u_mars3d_flat_inverseMatrix']=()=>{function _0x4a9620(_0x4fb391,_0x29e446){return _0x3983ae(_0x29e446,_0x4fb391- -0x232);}return this[_0x4a9620(_0x274af5._0x43489f,_0x274af5._0x361b00)];},_0xc4f78b['uniformMap'][_0x2d6234(_0x535232._0x2ff1e3,0x324)]=()=>{const _0x2ca99e={_0x430882:0x252};function _0x118e7f(_0x2cd2ec,_0x4a50b7){return _0x2d6234(_0x2cd2ec-_0x2ca99e._0x430882,_0x4a50b7);}return this[_0x118e7f(0x1306,0x1d82)];},_0xc4f78b[_0x3983ae(_0x535232._0x1ef786,_0x535232._0x798cc2)][_0x2d6234(0x305,0x931)]=()=>{return this['_mask_localZ'];},_0xc4f78b['uniformMap']['u_mars3d_flat_enabled']=()=>{const _0x5bc834={_0x30a4f1:0x571},_0x40591f={_0x229dcd:0x325};function _0x3cbd4b(_0x456033,_0x41c6d9){return _0x3983ae(_0x456033,_0x41c6d9- -_0x40591f._0x229dcd);}function _0x2027c2(_0x60e79d,_0x2f5b1e){return _0x2d6234(_0x2f5b1e-_0x5bc834._0x30a4f1,_0x60e79d);}return this['isAdded']&&this[_0x3cbd4b(_0x50e009._0x1329ed,_0x50e009._0x3bffd8)]&&Cesium__namespace['defined'](this[_0x2027c2(0x708,_0x50e009._0x3902a3)]);},_0xc4f78b;}[_0x54a7f1(0x117c,0x12c9)](_0x2b24c6,_0x18bb70={}){const _0x2ffae2={_0x3fbd8f:0x41f},_0x4676be={_0x2b901a:0x24f};!this[_0x5a191b(0xbc7,0x1425)]&&this[_0x3c6467(-0x68,0x20)](_0x18bb70[_0x3c6467(-0x270,_0x2ffae2._0x3fbd8f)]||0x0);function _0x3c6467(_0xba8f1f,_0x2318e3){return _0x54a7f1(_0x2318e3- -0x248,_0xba8f1f);}function _0x5a191b(_0x193b97,_0x5a50ca){return _0x7afdbe(_0x193b97,_0x5a50ca- -_0x4676be._0x2b901a);}return super['addArea'](_0x2b24c6,_0x18bb70);}['updateHeight'](_0x27926c,_0x23e421){const _0x1e98b5={_0xcf51df:0x618,_0x2983eb:0x187,_0x2c9296:0x16d3},_0x11bb89={_0x323f66:0x19f};function _0xd970a9(_0x20fcd4,_0x2678d8){return _0x54a7f1(_0x2678d8- -0x30e,_0x20fcd4);}function _0x2dae64(_0x181dc0,_0x3de3d2){return _0x54a7f1(_0x3de3d2-_0x11bb89._0x323f66,_0x181dc0);}if(this['_precise']){if(Cesium__namespace[_0x2dae64(0x16fb,0x1820)](_0x23e421)){const _0xea6dcc=this[_0xd970a9(_0x1e98b5._0xcf51df,0xc69)](_0x23e421);_0xea6dcc&&(_0xea6dcc[_0xd970a9(_0x1e98b5._0x2983eb,0x359)]=_0x27926c,this['_hasUpdate']=!![]);}else{for(let _0x53bb72=0x0;_0x53bb72<this['_areaList'][_0x2dae64(_0x1e98b5._0x2c9296,0x1124)];_0x53bb72++){const _0x43c243=this['_areaList'][_0x53bb72];_0x43c243['height']=_0x27926c;}this['_hasUpdate']=!![];}}else this[_0x2dae64(-0x5fd,0x407)](_0x27926c);}[_0x7afdbe(0xc41,0x496)](_0x2c2324){const _0x2e4e07={_0x57762c:0x571,_0x419298:0x325,_0x10c468:0xf35,_0x55a174:0x11ac},_0x20e18a={_0x3165bd:0x1e};function _0x21d528(_0x2e9702,_0x31facf){return _0x54a7f1(_0x31facf- -0xb3,_0x2e9702);}const _0x41c729=Cesium__namespace[_0x428ad1(0x1533,0x1bcc)]['fromRadians'](this['_center']['longitude'],this['_center']['latitude'],this['_center']['height']+_0x2c2324+this['editHeight']),_0x26b82c=Cesium__namespace[_0x21d528(_0x2e4e07._0x57762c,_0x2e4e07._0x419298)][_0x428ad1(_0x2e4e07._0x10c468,_0x2e4e07._0x55a174)](this['_inverseMatrix'],_0x41c729,_0x41c729);function _0x428ad1(_0x537b21,_0x159942){return _0x7afdbe(_0x159942,_0x537b21-_0x20e18a._0x3165bd);}this['_mask_localZ']=_0x26b82c['z'];}}var TilesetFloodFS=_0x54a7f1(0x3c6,-0x220),TilesetFloodMaskFS=_0x54a7f1(0x825,0x1db);class TilesetFlood extends TilesetEditBase{constructor(_0xfc0578={}){const _0xb4c7cc={_0x793534:0x30d,_0x5076e3:0x6ee,_0x18ff1c:0xc96,_0x21e623:0x162e,_0x50d9de:0xe7a,_0x4259f8:0x71d,_0x479516:0x12c9},_0x41b513={_0x1b5585:0x40a};function _0x31b893(_0x207cfe,_0x37b953){return _0x54a7f1(_0x37b953- -0x47d,_0x207cfe);}super(_0xfc0578),this['_customShadersKey']=_0x10d1bd(_0xb4c7cc._0x793534,-_0xb4c7cc._0x5076e3),this[_0x10d1bd(0x4a6,-0x560)]['speed']=this['options'][_0x10d1bd(_0xb4c7cc._0x18ff1c,_0xb4c7cc._0x21e623)]??0x5;function _0x10d1bd(_0x5f3940,_0x27bfa1){return _0x54a7f1(_0x5f3940- -_0x41b513._0x1b5585,_0x27bfa1);}this['color']=this['options']['color']||new Cesium__namespace[(_0x10d1bd(_0xb4c7cc._0x50d9de,_0xb4c7cc._0x4259f8))](0.15,0.7,0.95,0.5),this[_0x10d1bd(0x95b,-0x14e)]=this[_0x31b893(-0x2f,0x433)][_0x31b893(0x1995,_0xb4c7cc._0x479516)]??![];}get[_0x7afdbe(0x18db,0x12ce)](){return this['options']['speed'];}set[_0x7afdbe(0xcb3,0x12ce)](_0x5f0370){this['options']['speed']=_0x5f0370;}get[_0x7afdbe(0x133c,0x171c)](){function _0x19c45e(_0x3268ee,_0x445e0c){return _0x54a7f1(_0x445e0c-0x221,_0x3268ee);}return this[_0x19c45e(0xa1f,0xad1)]['floodAll']??![];}set['floodAll'](_0x5c2fd9){const _0x513959={_0x3a9812:0x9ef};function _0x2ef091(_0x75dac4,_0x28ce1b){return _0x7afdbe(_0x75dac4,_0x28ce1b- -0xef);}this[_0x2ef091(0x3b6,_0x513959._0x3a9812)]['floodAll']=_0x5c2fd9;}get['height'](){return this['options']['height'];}set[_0x7afdbe(0x123f,0x895)](_0x3cb126){const _0x2163a6={_0x23841d:0x50b,_0x1b0f4b:0xf98},_0x2b5451={_0x66e22c:0x567};this['options'][_0x2d7949(_0x2163a6._0x23841d,-0x3ea)]=_0x3cb126;function _0x2d7949(_0x5d6589,_0xe1ec72){return _0x7afdbe(_0xe1ec72,_0x5d6589- -0x38a);}function _0x2ea2a9(_0x5976fe,_0x1f6043){return _0x7afdbe(_0x1f6043,_0x5976fe- -_0x2b5451._0x66e22c);}this[_0x2d7949(0xe8,-0x165)]=_0x3cb126+this[_0x2d7949(0x11c1,_0x2163a6._0x1b0f4b)];}get['color'](){return this['_color'];}set['color'](_0x429d0f){this['_color']=getCesiumColor(_0x429d0f,new Cesium__namespace['Color'](0.15,0.7,0.95,0.5));}['start'](){const _0x4654a1={_0x945a45:0x694,_0xec1af8:0xf96,_0x2d3ee9:0x1a86,_0x4b203b:0x117d},_0x386881={_0x39e8e0:0x1b3};this['stop']();Cesium__namespace['defined'](this[_0x3a9ad7(0x446,0x88d)]['minHeight'])?(this[_0x3f6cb8(0xbf1,_0x4654a1._0x945a45)]=this['options'][_0x3f6cb8(_0x4654a1._0xec1af8,0x8ae)]+this[_0x3a9ad7(0x12a2,0x12fa)],this['height']=this['options']['minHeight']):(this[_0x3a9ad7(0x87d,0xb53)]=-0x270f,this[_0x3f6cb8(0x6e2,0x2bc)]=0x0);function _0x3f6cb8(_0x39f219,_0x173452){return _0x7afdbe(_0x173452,_0x39f219- -_0x386881._0x39e8e0);}function _0x3a9ad7(_0x4cea89,_0x5c89d9){return _0x7afdbe(_0x4cea89,_0x5c89d9- -0x251);}this[_0x3f6cb8(0x7e9,0x794)]=!![],this['fire'](EventType['start']),this['_map']['on'](EventType['clockTick'],this[_0x3a9ad7(_0x4654a1._0x2d3ee9,_0x4654a1._0x4b203b)],this);}['_onClockTickHandler'](_0x5dbb33){const _0x1d2579={_0x118db2:0x7a3,_0x490f42:0x646,_0x14f07b:0x358,_0x332c48:0x759,_0x1b7ff7:0xfaa,_0x125d49:0x155c},_0x15ef17={_0x3a3a40:0x19f};function _0x579325(_0x49c775,_0x3c49c2){return _0x7afdbe(_0x49c775,_0x3c49c2- -0x24f);}this['height']+=this['speed']/0x32;function _0x3af69a(_0x872f6c,_0x29164f){return _0x7afdbe(_0x29164f,_0x872f6c- -_0x15ef17._0x3a3a40);}if(this['height']>this['options']['maxHeight']){this[_0x579325(_0x1d2579._0x118db2,_0x1d2579._0x490f42)]=this['options'][_0x579325(-_0x1d2579._0x14f07b,0x23c)],this[_0x579325(-0x2d4,_0x1d2579._0x332c48)]();return;}if(this[_0x3af69a(0x6f6,0x316)]<this['options'][_0x3af69a(_0x1d2579._0x1b7ff7,0x8bf)]){this['height']=this['options'][_0x3af69a(0xfaa,_0x1d2579._0x125d49)],this['stop']();return;}this['fire'](EventType['change'],{'height':this['height']});}['stop'](){const _0x304782={_0x5dc5e5:0xd65,_0x44ec77:0x70c,_0x4b7aa8:0x333,_0x2341fa:0xb6e},_0x30c391={_0x55975a:0xd7},_0x2c4c6d={_0x3df0ee:0x669};if(!this['isStart'])return;this['_map']['off'](EventType['clockTick'],this[_0x3b3b06(_0x304782._0x5dc5e5,_0x304782._0x44ec77)],this);function _0x3b3b06(_0x1ca78e,_0x24a2c7){return _0x7afdbe(_0x24a2c7,_0x1ca78e- -_0x2c4c6d._0x3df0ee);}function _0x4d664d(_0x27a48c,_0x105ddf){return _0x54a7f1(_0x105ddf- -_0x30c391._0x55975a,_0x27a48c);}this[_0x3b3b06(_0x304782._0x4b7aa8,0x7e3)]=![],this['fire'](EventType[_0x4d664d(_0x304782._0x2341fa,0x61c)]);}['restart'](){this['start']();}['clear'](){this['stop'](),super['clear'](),delete this['_minHeight'],delete this['_currentHeight'];}[_0x7afdbe(0x11ed,0x121f)](){const _0x44fc53={_0xbf3a21:0x10d3,_0x3946fe:0x14b0,_0x1eb316:0x1350,_0x223933:0x966,_0x13bd2d:0x36c,_0x3b8614:0x676,_0x3bec08:0xf76},_0x293ae6={_0x436ac1:0x55c,_0x53ca9f:0xd87,_0x4f8318:0x83},_0x2d3acc={_0x3d418e:0x3a6},_0x54bc51={_0x4d0025:0x73c},_0x22be34={_0x48ea14:0xde6},_0x3305ed={_0x199717:0x131},_0x4c08d3={_0x32d75d:0xe9},_0x4dce94={};_0x4dce94[_0x4d83fa(0x43,0x9fb)]=TilesetFloodFS;const _0x4f84b0=new Cesium__namespace['CustomShader'](_0x4dce94),_0x221429=this[_0x4d83fa(0xac,0x2c5)][_0x1ce78e(0x12de,0xb1f)]['_context']['defaultTexture'];_0x4f84b0['uniformMap']['u_mars3d_flood_texture']=()=>{function _0x520a90(_0x59e343,_0x67db85){return _0x1ce78e(_0x59e343- -0x71a,_0x67db85);}function _0x383a4a(_0x45e05a,_0x5e3de9){return _0x4d83fa(_0x5e3de9,_0x45e05a-0xcc);}return Cesium__namespace['defined'](this[_0x383a4a(0x8d7,0xf42)])?this[_0x383a4a(0x8d7,0x6b)]:_0x221429;};function _0x1ce78e(_0x3d25b1,_0x4be106){return _0x7afdbe(_0x4be106,_0x3d25b1-0x31);}_0x4f84b0[_0x1ce78e(_0x44fc53._0xbf3a21,0x1644)]['u_mars3d_flood_inverseMatrix']=()=>{return this['_inverseMatrix'];},_0x4f84b0['uniformMap']['u_mars3d_flood_rangeNumber']=()=>{const _0x5af1e9={_0x41ff97:0x13a};function _0x5c981c(_0x3426f0,_0x1f40e2){return _0x4d83fa(_0x3426f0,_0x1f40e2-_0x5af1e9._0x41ff97);}return this[_0x5c981c(0x805,-_0x4c08d3._0x32d75d)];},_0x4f84b0[_0x1ce78e(0x10d3,_0x44fc53._0x3946fe)]['u_mars3d_flood_maxRangeLength']=()=>{function _0x54f0f6(_0x37f820,_0x4b6261){return _0x4d83fa(_0x37f820,_0x4b6261-_0x3305ed._0x199717);}return this[_0x54f0f6(0xb54,_0x22be34._0x48ea14)];},_0x4f84b0['uniformMap']['u_mars3d_flood_floodAll']=()=>{return this['floodAll'];};function _0x4d83fa(_0x33f91f,_0x1fcf6c){return _0x7afdbe(_0x33f91f,_0x1fcf6c- -_0x54bc51._0x4d0025);}return _0x4f84b0[_0x4d83fa(_0x44fc53._0x1eb316,_0x44fc53._0x223933)]['u_mars3d_flood_color']=()=>{return this['color'];},_0x4f84b0['uniformMap'][_0x4d83fa(_0x44fc53._0x13bd2d,-0x150)]=()=>{function _0x7d14b5(_0x91784b,_0x2b3e66){return _0x1ce78e(_0x91784b- -0x10e,_0x2b3e66);}return this[_0x7d14b5(0x395,-_0x2d3acc._0x3d418e)];},_0x4f84b0['uniformMap'][_0x4d83fa(0xa11,0x981)]=()=>{return this['_minHeight'];},_0x4f84b0['uniformMap']['u_mars3d_flood_limitMin']=()=>{return this['_limitMin'];},_0x4f84b0[_0x1ce78e(0x10d3,_0x44fc53._0x3b8614)][_0x1ce78e(0xd75,_0x44fc53._0x3bec08)]=()=>{function _0x4c8cda(_0x4a908b,_0x4168e3){return _0x1ce78e(_0x4a908b- -0x526,_0x4168e3);}function _0x8dc63f(_0x38852d,_0xfc5a4e){return _0x4d83fa(_0x38852d,_0xfc5a4e-0x4f4);}return this[_0x4c8cda(_0x293ae6._0x436ac1,_0x293ae6._0x53ca9f)]&&this['enabled']&&Cesium__namespace[_0x4c8cda(0x13ba,0x9f7)](this[_0x4c8cda(-_0x293ae6._0x4f8318,-0x47f)]);},this['uniformMap']=_0x4f84b0[_0x1ce78e(0x10d3,0x9b6)],_0x4f84b0;}[_0x54a7f1(0x1239,0x15cb)](){const _0x24ab8e={_0x850ea9:0xb2c,_0x5ec9f3:0x553,_0x272222:0xdff,_0x208a48:0x43f,_0x3514c6:0x10ba,_0x276cd9:0xf49,_0x21ad27:0xb2a,_0x169453:0x4a1,_0x24e663:0x74f,_0x23b69b:0xe5c,_0x127eaf:0xbf4},_0x28da63={_0x22cf48:0x8dd,_0x48c3ae:0x88},_0x9fdebe={_0xef6ebb:0x14c8},_0xfe9387={_0x14176a:0x340},_0x49ceee={_0x5665ec:0x280},_0x1afdeb={_0x3dde0e:0x1036,_0x3c7db4:0x1043},_0x168cb7={_0x3b5370:0x5c0},_0x1fd230={_0x4a797f:0x11b8},_0x1ec2ae={_0x569f6d:0x246},_0x57f6d2={};_0x57f6d2[_0x284a43(0x114f,0x6d6)]=TilesetFloodMaskFS;const _0x18435a=new Cesium__namespace[(_0x11c747(_0x24ab8e._0x850ea9,0x2c9))](_0x57f6d2);function _0x284a43(_0x248dc0,_0x14fb96){return _0x54a7f1(_0x248dc0-_0x1ec2ae._0x569f6d,_0x14fb96);}const _0x215797=this[_0x11c747(0xf87,_0x24ab8e._0x5ec9f3)][_0x11c747(0x3ed,_0x24ab8e._0x272222)]['_context'][_0x11c747(0x548,_0x24ab8e._0x208a48)];_0x18435a[_0x284a43(_0x24ab8e._0x3514c6,0x127b)][_0x11c747(_0x24ab8e._0x276cd9,0xe87)]=()=>{function _0x5b5442(_0x562a82,_0x59824b){return _0x284a43(_0x59824b- -0x433,_0x562a82);}return Cesium__namespace[_0x5b5442(_0x1fd230._0x4a797f,0x1494)](this['_texture'])?this['_texture']:_0x215797;},_0x18435a['uniformMap']['u_mars3d_flood_inverseMatrix']=()=>{function _0x815c4c(_0x2f5db8,_0x1feb71){return _0x11c747(_0x1feb71,_0x2f5db8- -0x1d2);}return this[_0x815c4c(0xc2b,_0x168cb7._0x3b5370)];},_0x18435a['uniformMap']['u_mars3d_flood_radius']=()=>{function _0x52631f(_0x5a573f,_0x328f72){return _0x284a43(_0x5a573f- -0x74b,_0x328f72);}return this[_0x52631f(_0x1afdeb._0x3dde0e,_0x1afdeb._0x3c7db4)];},_0x18435a['uniformMap'][_0x284a43(_0x24ab8e._0x21ad27,0xb44)]=()=>{return this['floodAll'];};function _0x11c747(_0x4eeef7,_0x596b33){return _0x54a7f1(_0x596b33- -_0x49ceee._0x5665ec,_0x4eeef7);}return _0x18435a['uniformMap'][_0x11c747(-0x4c9,_0x24ab8e._0x169453)]=()=>{return this['color'];},_0x18435a[_0x11c747(0x1197,0xbf4)][_0x11c747(-_0x24ab8e._0x24e663,0x13e)]=()=>{return this['_currentHeight'];},_0x18435a['uniformMap']['u_mars3d_flood_min_height']=()=>{function _0x517e69(_0x324726,_0x276e28){return _0x284a43(_0x324726- -_0xfe9387._0x14176a,_0x276e28);}return this[_0x517e69(0xa7c,_0x9fdebe._0xef6ebb)];},_0x18435a[_0x284a43(_0x24ab8e._0x3514c6,0x157f)][_0x11c747(0xd46,_0x24ab8e._0x23b69b)]=()=>{return this['_limitMin'];},_0x18435a['uniformMap']['u_mars3d_flood_enabled']=()=>{const _0x5e682d={_0x4ec0fd:0x402};function _0x2ecf57(_0x53a334,_0x2b9dbd){return _0x284a43(_0x2b9dbd- -_0x5e682d._0x4ec0fd,_0x53a334);}function _0x5a20e3(_0x530810,_0x179e5c){return _0x11c747(_0x530810,_0x179e5c-0x175);}return this['isAdded']&&this['enabled']&&Cesium__namespace[_0x5a20e3(0x1603,0x1576)](this[_0x2ecf57(_0x28da63._0x22cf48,_0x28da63._0x48c3ae)]);},this[_0x11c747(0x388,_0x24ab8e._0x127eaf)]=_0x18435a['uniformMap'],_0x18435a;}}class TilesetPlanClip extends BaseThing{get[_0x54a7f1(0x421,0xd37)](){return this['_tileset'];}set['clipTarget'](_0x15ff07){const _0x12ab91={_0x1c9626:0x4be,_0x439158:0xcfd,_0x4238ee:0xd33,_0x226101:0x1202,_0x4419b5:0xf51},_0x8708f3={_0x5e0693:0x3f2},_0xc057c8={_0x2dd04c:0x2ec};this['_tileset']=_0x15ff07,this[_0x306426(0xe65,0xc8b)]=null;function _0x426544(_0x3c1c7e,_0x4ab4f0){return _0x7afdbe(_0x4ab4f0,_0x3c1c7e- -_0xc057c8._0x2dd04c);}Cesium__namespace['defined'](this[_0x306426(-0x427,_0x12ab91._0x1c9626)][_0x426544(0x1031,0x108d)])&&(this[_0x306426(0xceb,_0x12ab91._0x439158)]=this[_0x306426(_0x12ab91._0x4238ee,0x4be)]['positions']);function _0x306426(_0x25a3b4,_0x12cb65){return _0x54a7f1(_0x12cb65- -_0x8708f3._0x5e0693,_0x25a3b4);}Cesium__namespace['defined'](this[_0x426544(0x7f2,0x8c6)]['clipType'])&&(this['clipType']=this[_0x426544(0x7f2,0x7c)]['clipType']),Cesium__namespace[_0x306426(_0x12ab91._0x226101,0x128f)](this['options']['distance'])&&(this[_0x426544(0x11d3,_0x12ab91._0x4419b5)]=this['options']['distance']);}get['layer'](){return this['_layer'];}set[_0x7afdbe(0x1dc6,0x1548)](_0x2c9b1b){const _0x38920e={_0x26ee94:0x1108,_0x57d5ec:0xe6f,_0x4fc50d:0x5e7},_0x19cf0e={_0x452e2f:0x465};this['_layer']=_0x2c9b1b;function _0x5d5a3d(_0x1e1c25,_0x148a85){return _0x7afdbe(_0x1e1c25,_0x148a85- -0x17e);}function _0x154c6d(_0x5dfbfc,_0x2c09df){return _0x54a7f1(_0x2c09df- -_0x19cf0e._0x452e2f,_0x5dfbfc);}_0x2c9b1b[_0x154c6d(_0x38920e._0x26ee94,0xaaf)]?this['clipTarget']=_0x2c9b1b['tileset']:_0x2c9b1b['on'](EventType[_0x5d5a3d(_0x38920e._0x57d5ec,_0x38920e._0x4fc50d)],_0x4a431a=>{this['clipTarget']=_0x2c9b1b['tileset'];});}get['planes'](){return this['clippingPlanes'];}get['polygons'](){return this['clippingPolygons'];}get['inverseMatrix'](){const _0x34ea26={_0x5a6cbd:0x1096,_0x3c1722:0x493,_0xd658ab:0xdf0,_0x50f158:0x9d4,_0x2b9646:0x4ee,_0x4cb6d4:0x76a,_0x192de7:0xae0,_0x5317bb:0x1a9,_0x3e2b7a:0xac3},_0x4249f0={_0x25ad13:0x602};function _0x17fdc3(_0x35df57,_0x66626a){return _0x7afdbe(_0x35df57,_0x66626a- -_0x4249f0._0x25ad13);}if(!this['_inverseMatrix']){let _0x56c230;const _0x185102=this[_0x1da20d(0xac3,0x674)][_0x17fdc3(_0x34ea26._0x5a6cbd,0xdf9)][_0x1da20d(_0x34ea26._0x3c1722,_0x34ea26._0xd658ab)];_0x185102&&_0x185102['equals'](Cesium__namespace[_0x1da20d(0x5d9,-0x477)]['IDENTITY'])||!_0x185102?_0x56c230=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this[_0x17fdc3(_0x34ea26._0x50f158,_0x34ea26._0x2b9646)][_0x17fdc3(_0x34ea26._0x4cb6d4,0x33c)][_0x17fdc3(_0x34ea26._0x192de7,_0x34ea26._0x5317bb)]):_0x56c230=Cesium__namespace[_0x1da20d(0x5d9,-0x416)]['fromArray'](this[_0x1da20d(_0x34ea26._0x3e2b7a,0x13d3)]['root'][_0x1da20d(0x493,-0xa8)]),this['_inverseMatrix']=Cesium__namespace['Matrix4'][_0x1da20d(0x1272,0x1d0c)](_0x56c230,new Cesium__namespace[(_0x17fdc3(-0x35b,0x4))]());}function _0x1da20d(_0x3c1b52,_0x999741){return _0x7afdbe(_0x999741,_0x3c1b52- -0x2d);}return this['_inverseMatrix'];}get['center'](){if(this['_layer'])return this['_layer']['position'];return this['_tileset']['boundingSphere']['center'];}get['distance'](){return this['_distance'];}set['distance'](_0x198268){const _0x2e6edb={_0x47e479:0x612,_0x45dd3a:0x7cb,_0x39828b:0xb53,_0x412ed2:0x12a2,_0x23bf92:0x117f,_0x3eb86b:0xc8f};this[_0x2d5ea5(_0x2e6edb._0x47e479,_0x2e6edb._0x45dd3a)]=_0x198268;function _0x2d5ea5(_0xdc534c,_0x283aef){return _0x7afdbe(_0x283aef,_0xdc534c- -0x34);}function _0x4d4cf4(_0x430ed3,_0x26c7fa){return _0x54a7f1(_0x26c7fa- -0x50f,_0x430ed3);}if(this[_0x2d5ea5(_0x2e6edb._0x39828b,_0x2e6edb._0x412ed2)]&&this['clippingPlanes'][_0x2d5ea5(_0x2e6edb._0x23bf92,0x1098)]>0x0){const _0x1caf1e=this[_0x2d5ea5(0xb53,_0x2e6edb._0x3eb86b)]['get'](this['clippingPlanes'][_0x4d4cf4(0x1531,0xa76)]-0x1);_0x1caf1e['distance']=_0x198268;}}get['angle1'](){const _0x296205={_0x4f175f:0x1257},_0x173265={_0x206d07:0x10e};function _0x5402a9(_0x592141,_0x41c7f5){return _0x54a7f1(_0x592141-_0x173265._0x206d07,_0x41c7f5);}return this[_0x5402a9(_0x296205._0x4f175f,0x830)]||0x0;}set['angle1'](_0x3827f4){const _0x1fb61c={_0x1d73f4:0x6a3,_0xfcb87e:0x9eb,_0x279826:0xccf,_0x168012:0x1043},_0x1ce74a={_0x3ac116:0x2db},_0x572a3d={_0xe0d7c:0x4e4};this['_normal_angle1']=_0x3827f4;function _0x413b34(_0x2476e6,_0x28c9fd){return _0x7afdbe(_0x28c9fd,_0x2476e6- -_0x572a3d._0xe0d7c);}function _0x340af4(_0x2c76c2,_0x5a42ae){return _0x54a7f1(_0x2c76c2- -_0x1ce74a._0x3ac116,_0x5a42ae);}if(this[_0x413b34(_0x1fb61c._0x1d73f4,0x6c1)]&&this[_0x413b34(0x6a3,0x27e)]['length']>0x0){const _0x48f094=this[_0x413b34(0x6a3,_0x1fb61c._0xfcb87e)]['get'](this['clippingPlanes'][_0x413b34(_0x1fb61c._0x279826,_0x1fb61c._0x168012)]-0x1);this[_0x340af4(0xe29,0x8c0)](_0x48f094,_0x3827f4,this['angle2']);}}get['angle2'](){return this['_normal_angle2']||0x0;}set[_0x7afdbe(0xc05,0xf1f)](_0x564af0){const _0x394f33={_0x9002d5:0xced,_0x1395a2:0x892,_0x33d0e7:0x6c1,_0x29924f:0x14c5,_0x1980ce:0x25f,_0x558a90:0x6ba},_0xecfb50={_0xcff04b:0x45};function _0x2e37e7(_0x31d5ac,_0x3af83d){return _0x7afdbe(_0x31d5ac,_0x3af83d- -0x4c6);}this[_0x1c143f(0x1305,0xc48)]=_0x564af0;function _0x1c143f(_0x5256cc,_0x35f2e8){return _0x54a7f1(_0x35f2e8-_0xecfb50._0xcff04b,_0x5256cc);}if(this['clippingPlanes']&&this['clippingPlanes'][_0x2e37e7(0x89e,_0x394f33._0x9002d5)]>0x0){const _0x52da33=this[_0x2e37e7(_0x394f33._0x1395a2,_0x394f33._0x33d0e7)]['get'](this[_0x1c143f(0xe63,0x99e)][_0x2e37e7(_0x394f33._0x29924f,0xced)]-0x1);this['_updateNormal'](_0x52da33,this[_0x2e37e7(_0x394f33._0x1980ce,_0x394f33._0x558a90)],_0x564af0);}}get['normalZ'](){return this['_normalZ']||0x0;}set['normalZ'](_0x19d4d6){const _0xeea9df={_0xde6881:0x97b,_0x34c6a4:0x277,_0x11a9f2:0xac2,_0x250588:0x1b14,_0x573113:0x108c};function _0x157581(_0x5ba79f,_0x19ca70){return _0x54a7f1(_0x19ca70- -0x344,_0x5ba79f);}this['_normalZ']=_0x19d4d6;function _0xe8ae41(_0x554232,_0x416d26){return _0x54a7f1(_0x416d26-0x107,_0x554232);}if(this[_0xe8ae41(_0xeea9df._0xde6881,0xa60)]&&this[_0x157581(-_0xeea9df._0x34c6a4,0x615)]['length']>0x0){const _0x54a3ec=this[_0x157581(-0x321,0x615)][_0x157581(0x8a8,_0xeea9df._0x11a9f2)](this['clippingPlanes'][_0xe8ae41(_0xeea9df._0x250588,_0xeea9df._0x573113)]-0x1);_0x54a3ec[_0xe8ae41(0x620,0x543)]['z']=_0x19d4d6;}}get['clipType'](){return this['_clipType'];}set['clipType'](_0xe3b86b){const _0x35e848={_0x2f7261:0x203,_0xdad0f6:0x1794,_0xb3fa38:0x843,_0x1c27df:0x1df};this[_0x512b63(0x1a4,_0x35e848._0x2f7261)]=_0xe3b86b;let _0x233127;function _0x512b63(_0x53a735,_0x322a4e){return _0x7afdbe(_0x53a735,_0x322a4e- -0x44a);}switch(_0xe3b86b){case ClipType['Z']:_0x233127=[new Cesium__namespace[(_0x512b63(0xb26,0xf36))](new Cesium__namespace['Cartesian3'](0x0,0x0,0x1),0x1)];break;case ClipType['ZR']:_0x233127=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,0x0,-0x1),0x1)];break;case ClipType['X']:_0x233127=[new Cesium__namespace[(_0x4027f9(0x109a,0xec0))](new Cesium__namespace[(_0x512b63(0xb50,0x10cb))](0x1,0x0,0x0),0x1)];break;case ClipType['XR']:_0x233127=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](-0x1,0x0,0x0),0x1)];break;case ClipType['Y']:_0x233127=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,0x1,0x0),0x1)];break;case ClipType['YR']:_0x233127=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace[(_0x4027f9(_0x35e848._0xdad0f6,0x1055))](0x0,-0x1,0x0),0x1)];break;}function _0x4027f9(_0x42ce9f,_0x2ea64a){return _0x54a7f1(_0x2ea64a- -0x292,_0x42ce9f);}this[_0x4027f9(-_0x35e848._0xb3fa38,_0x35e848._0x1c27df)](_0x233127);}get['positions'](){const _0x43799c={_0x1c301c:0x4fc},_0x45fff8={_0x252eb9:0x564};function _0x293bd5(_0x2e57a0,_0x1177fe){return _0x7afdbe(_0x1177fe,_0x2e57a0- -_0x45fff8._0x252eb9);}return this[_0x293bd5(0xa07,_0x43799c._0x1c301c)];}set[_0x7afdbe(0xa65,0x131d)](_0x47d21d){const _0x10c667={_0x411a8e:0x3bc};function _0x8b1e85(_0x44b685,_0x106433){return _0x7afdbe(_0x44b685,_0x106433- -0x259);}this[_0x8b1e85(_0x10c667._0x411a8e,0xd12)]=LngLatArray['toCartesians'](_0x47d21d),this['_setPositions'](this['_positions']);}get['clipOutSide'](){return this['options']['clipOutSide'];}set[_0x54a7f1(0x2bc,-0x482)](_0x59ff5a){const _0xe81baa={_0x5829d2:0x8dc};this[_0x274fa(0x689,0x454)][_0x274fa(0x95,0x21f)]=_0x59ff5a;function _0x511754(_0x51d675,_0x6d5cdf){return _0x7afdbe(_0x6d5cdf,_0x51d675- -0x43);}function _0x274fa(_0x591780,_0x528918){return _0x7afdbe(_0x528918,_0x591780- -0x455);}this['_map']&&this[_0x511754(0xf28,_0xe81baa._0x5829d2)]&&this[_0x274fa(0x17a,-0x4e4)](this['_positions']);}['_mountedHook'](){const _0x5b7292={_0x9c847b:0x6da,_0x50340b:0x12a0,_0x35b59c:0x1837,_0x3d09a8:0xdb5,_0x192b9d:0xaad,_0x5740e1:0xe60,_0xc2000:0x958,_0xee16fe:0xa73,_0x2ea09a:0x6da,_0x383d3c:0xa6c},_0x321636={_0x12f406:0x3c3},_0x1efb5f={_0x48ac64:0x613,_0x7eb052:0x10bc},_0x1a41c5={_0x513b36:0x400};this[_0xaded66(_0x5b7292._0x9c847b,0x86)]['showPlane']&&(this[_0x1b0a24(0x875,_0x5b7292._0x50340b)]=new GraphicLayer({...this['options'],'private':!![]}),this['options'][_0x1b0a24(_0x5b7292._0x35b59c,_0x5b7292._0x3d09a8)]&&this['_graphicLayer']['bindContextMenu']([{'text':this['_map'][_0x1b0a24(0x1107,0xe8d)](_0x1b0a24(_0x5b7292._0x192b9d,0x17c)),'icon':Icon[_0x1b0a24(_0x5b7292._0x5740e1,0x1470)],'callback':_0x4acb9a=>{const _0x5749cf={_0xb520ec:0x1d0},_0x3924bb=_0x4acb9a['graphic'];function _0x25a43e(_0x37afed,_0x10b1f3){return _0xaded66(_0x37afed-_0x1a41c5._0x513b36,_0x10b1f3);}if(!_0x3924bb)return;function _0x340781(_0x53cb58,_0x32d849){return _0x1b0a24(_0x53cb58,_0x32d849-_0x5749cf._0xb520ec);}this['_graphicLayer'][_0x25a43e(_0x1efb5f._0x48ac64,_0x1efb5f._0x7eb052)](_0x3924bb),this['fire'](EventType[_0x25a43e(0x9b8,0xa1e)],_0x4acb9a);}}]));function _0x1b0a24(_0x237aa8,_0xd6783e){return _0x7afdbe(_0x237aa8,_0xd6783e- -_0x321636._0x12f406);}function _0xaded66(_0xa73140,_0x407895){return _0x7afdbe(_0x407895,_0xa73140- -0x404);}if(this['options'][_0xaded66(0x1144,_0x5b7292._0xc2000)])this['layer']=this[_0x1b0a24(_0x5b7292._0xee16fe,0x71b)]['layer'];else this[_0xaded66(_0x5b7292._0x2ea09a,_0x5b7292._0x383d3c)]['tileset']&&(this['clipTarget']=this['options']['tileset']);}[_0x54a7f1(0xdf5,0x12fb)](_0x4f85f0){const _0x594f31={_0x5a1a42:0xfd5,_0x137eac:0x734,_0x1cfb33:0x926,_0x54cfc3:0xb2a},_0x255129={_0x3576ba:0x46b};function _0x2ac336(_0x5e5df3,_0x541868){return _0x54a7f1(_0x5e5df3- -0x4fe,_0x541868);}this['_last_planeGraphics']&&(this['_last_planeGraphics']['hasEdit']=![],this['_last_planeGraphics']['material'][_0x476c36(0x6e4,_0x594f31._0x5a1a42)]=this[_0x476c36(_0x594f31._0x137eac,_0x594f31._0x1cfb33)][_0x476c36(-0x3c6,0x216)]['color_bak'],delete this['_last_planeGraphics']);function _0x476c36(_0x558665,_0x1d1a39){return _0x7afdbe(_0x558665,_0x1d1a39- -_0x255129._0x3576ba);}this[_0x2ac336(-0x293,-_0x594f31._0x54cfc3)](_0x4f85f0);}['_graphicLayer_click'](_0x2affea){const _0x3705e4={_0x5ec2f7:0x43d,_0x1b7947:0x58e,_0x4429e3:0x122b,_0x24f9a5:0x68f,_0x1e0e27:0xe01,_0x34fdaf:0xb00,_0x32c372:0x8b,_0x3d3b1b:0x6d0,_0x2c1b61:0x1df,_0xda0cad:0x44c};var _0x53b4aa;function _0x17b5a8(_0x61c6a5,_0x43d672){return _0x7afdbe(_0x61c6a5,_0x43d672-0xe);}function _0x188c5f(_0x1bcecb,_0x29f1bf){return _0x54a7f1(_0x1bcecb- -0x411,_0x29f1bf);}const _0x17975e=(_0x53b4aa=_0x2affea[_0x188c5f(0x1b7,0xc1b)])===null||_0x53b4aa===void 0x0||(_0x53b4aa=_0x53b4aa[_0x188c5f(0xe9d,0x12af)])===null||_0x53b4aa===void 0x0?void 0x0:_0x53b4aa[_0x188c5f(_0x3705e4._0x5ec2f7,-_0x3705e4._0x1b7947)];Cesium__namespace[_0x188c5f(0x1270,0xd97)](_0x17975e)&&(this['_map_click'](),_0x17975e['hasEdit']=!_0x17975e['hasEdit'],_0x17975e['material'][_0x17b5a8(0x1031,_0x3705e4._0x4429e3)]=_0x17975e[_0x17b5a8(0xca2,_0x3705e4._0x24f9a5)]['color'],_0x17975e[_0x17b5a8(-0x3a0,0x68f)][_0x188c5f(_0x3705e4._0x1e0e27,_0x3705e4._0x34fdaf)]=_0x2affea['graphic'][_0x188c5f(_0x3705e4._0x32c372,_0x3705e4._0x3d3b1b)][_0x188c5f(0x854,-_0x3705e4._0x2c1b61)],_0x17975e['hasEdit']&&(this[_0x17b5a8(_0x3705e4._0xda0cad,0xd9f)]=_0x17975e),_0x2affea[_0x17b5a8(-0x23c,0x6b2)]());}['_graphicLayer_leftDown'](_0x5014e0){const _0x206d89={_0x254776:0x1874,_0x3c98c6:0x19e1,_0x3fc808:0x132e,_0x45ebc4:0x1272,_0x2f461b:0x1267},_0x31e3e3={_0x3de019:0x1f3};function _0x509f77(_0x3c3eff,_0x45de93){return _0x7afdbe(_0x3c3eff,_0x45de93-0x81);}var _0xf416d2;const _0x1b9822=(_0xf416d2=_0x5014e0[_0x509f77(0x363,0x877)])===null||_0xf416d2===void 0x0||(_0xf416d2=_0xf416d2['entity'])===null||_0xf416d2===void 0x0?void 0x0:_0xf416d2['plane'];function _0x2031d3(_0x4b39d2,_0x17b91a){return _0x54a7f1(_0x17b91a-_0x31e3e3._0x3de019,_0x4b39d2);}Cesium__namespace[_0x2031d3(0x1020,_0x206d89._0x254776)](_0x1b9822)&&_0x1b9822[_0x509f77(0x1fd0,_0x206d89._0x3c98c6)]&&(this['_selectedPlane']=_0x1b9822['plane']['getValue'](),this['_map'][_0x509f77(0xadc,_0x206d89._0x3fc808)]['screenSpaceCameraController']['enableInputs']&&(this['_map'][_0x2031d3(0xaca,_0x206d89._0x45ebc4)]['screenSpaceCameraController'][_0x509f77(0xdd2,_0x206d89._0x2f461b)]=![],this['_hasChangeEnableInputs']=!![]));}[_0x7afdbe(-0x4b5,0x499)](_0x2bea28){const _0x52d9d3={_0x1c77a9:0x1581,_0x166a6e:0x11e4},_0x3df689={_0x43a4a7:0x9a},_0x2f1f21={_0x4a4f38:0x3b6};function _0x17c0fa(_0xbd0db5,_0x36fb2c){return _0x7afdbe(_0xbd0db5,_0x36fb2c- -_0x2f1f21._0x4a4f38);}function _0x235a91(_0x2bc43d,_0x1e771c){return _0x54a7f1(_0x1e771c- -_0x3df689._0x43a4a7,_0x2bc43d);}Cesium__namespace['defined'](this[_0x235a91(0xb9e,0xf4a)])&&(delete this['_selectedPlane'],this['_hasChangeEnableInputs']&&(this['_map']['scene'][_0x235a91(_0x52d9d3._0x1c77a9,_0x52d9d3._0x166a6e)]['enableInputs']=!![],delete this['_hasChangeEnableInputs']));}['_map_mouseMove'](_0x3ea66f){const _0xd63488={_0x16707f:0xc79,_0x8e8235:0xebc,_0x3c172d:0x129c,_0x478194:0xbde,_0x577e6e:0x1be};function _0x3cc3d2(_0x4d4816,_0x53d2e9){return _0x7afdbe(_0x53d2e9,_0x4d4816- -0x599);}function _0x1c4dac(_0x7a48c6,_0x3323bd){return _0x54a7f1(_0x7a48c6- -0x1b7,_0x3323bd);}if(Cesium__namespace['defined'](this['_selectedPlane'])){const _0x21ce59=_0x3ea66f['startPosition']['x']-_0x3ea66f[_0x3cc3d2(-0x20,0x6f9)]['x'],_0x4d8e0c=_0x3ea66f[_0x1c4dac(0x4a6,-0x228)]['y']-_0x3ea66f['endPosition']['y'],_0x508a86=(_0x21ce59+_0x4d8e0c)/0x2;this[_0x3cc3d2(_0xd63488._0x16707f,0x775)]['distance']=(this['_selectedPlane']['distance']||0x0)+_0x508a86,this['_map']['openSmallTooltip'](_0x3ea66f['endPosition'],this[_0x1c4dac(0x61c,0x483)][_0x1c4dac(0xe6b,_0xd63488._0x8e8235)](_0x3cc3d2(_0xd63488._0x3c172d,0x1c56)));}else this[_0x3cc3d2(0x468,0x925)][_0x1c4dac(_0xd63488._0x478194,_0xd63488._0x577e6e)]();}['_addedHook'](){const _0x18caf3={_0x1be94d:0x17f2,_0x2de229:0x76c,_0x58f500:0xca5,_0x4d839f:0x2dd,_0x5aa7b1:0x111e,_0x540e1b:0x76c,_0x360e7d:0x188},_0x583749={_0x4a4fa1:0x651},_0x3ad111={_0x15cdb3:0x372};function _0x1cb3d8(_0x37d4da,_0x37e82d){return _0x7afdbe(_0x37e82d,_0x37d4da- -_0x3ad111._0x15cdb3);}this[_0x1cb3d8(0x12f1,_0x18caf3._0x1be94d)]&&(this['_map'][_0xeba191(0x1416,0x12a3)](this['_graphicLayer']),this[_0x1cb3d8(_0x18caf3._0x2de229,0x2d1)][_0x1cb3d8(0xe06,0x4bc)]&&(this['_map']['on'](EventType[_0xeba191(0x925,0xae7)],this['_map_click'],this),this['_graphicLayer']['on'](EventType[_0x1cb3d8(0xdc6,0x12a4)],this['_graphicLayer_click'],this),this[_0xeba191(0xf19,0x1012)]['on'](EventType['leftDown'],this['_graphicLayer_leftDown'],this),this['_graphicLayer']['on'](EventType[_0xeba191(_0x18caf3._0x58f500,0x318)],this['_graphicLayer_leftUp'],this),this['_map']['on'](EventType[_0x1cb3d8(0xa31,0x1446)],this['_map_mouseMove'],this)));function _0xeba191(_0x46321b,_0x59d1d8){return _0x7afdbe(_0x46321b,_0x59d1d8- -_0x583749._0x4a4fa1);}this[_0x1cb3d8(_0x18caf3._0x4d839f,-0x128)]&&(Cesium__namespace[_0xeba191(_0x18caf3._0x5aa7b1,0x125e)](this['options']['positions'])&&(this['positions']=this[_0xeba191(0xa77,0x48d)]['positions']),Cesium__namespace[_0xeba191(0x1b30,0x125e)](this[_0x1cb3d8(_0x18caf3._0x540e1b,0x5b)]['clipType'])&&(this[_0xeba191(0x178,-_0x18caf3._0x360e7d)]=this['options']['clipType']),Cesium__namespace['defined'](this[_0xeba191(0x43e,0x48d)]['distance'])&&(this['distance']=this['options']['distance']));}[_0x54a7f1(0xa4f,0xc07)](){const _0x148ac8={_0x5af9b0:0x1411,_0x1e70ec:0xff8,_0xf444e:0x1920,_0x506b9d:0x18ee,_0x5abe55:0x165c,_0x78832f:0x20d6,_0x6727d0:0x1583,_0x342dad:0x321,_0x5c9fc6:0x49b,_0x3e8684:0xd58},_0xd5a25a={_0x108a9d:0xee};this[_0x17a518(_0x148ac8._0x5af9b0,0x1da2)]();function _0x17a518(_0x18ae2f,_0x47e03f){return _0x54a7f1(_0x18ae2f-_0xd5a25a._0x108a9d,_0x47e03f);}function _0x164338(_0x1308e4,_0x1913bf){return _0x7afdbe(_0x1913bf,_0x1308e4- -0xe0);}this['_graphicLayer']&&(this['options']['editPlane']&&(this[_0x17a518(0x8c1,0x16e)]['off'](EventType[_0x17a518(_0x148ac8._0x1e70ec,_0x148ac8._0xf444e)],this[_0x17a518(0xee3,0xb1c)],this),this[_0x164338(0x1583,_0x148ac8._0x506b9d)]['off'](EventType['click'],this['_graphicLayer_click'],this),this['_graphicLayer']['off'](EventType[_0x164338(0xe78,0x7c0)],this[_0x164338(_0x148ac8._0x5abe55,_0x148ac8._0x78832f)],this),this[_0x164338(_0x148ac8._0x6727d0,0x11a1)]['off'](EventType[_0x164338(0x889,0x12a8)],this[_0x164338(0x3b9,_0x148ac8._0x342dad)],this),this['_map'][_0x164338(_0x148ac8._0x5c9fc6,-0x248)](EventType['mouseMove'],this['_map_mouseMove'],this)),this['_map']['removeLayer'](this[_0x164338(0x1583,_0x148ac8._0x3e8684)]));}[_0x54a7f1(0x3a1,-0x1f8)](_0x3ae6e5){const _0x3f9630={_0x474131:0xb7d,_0x928579:0x619,_0x361cd2:0x1793,_0xceac89:0x9f4,_0x277abf:0xab};function _0x548e49(_0x3a6457,_0x354d1d){return _0x7afdbe(_0x354d1d,_0x3a6457- -0x43f);}if(_0x3ae6e5[_0x2c3850(_0x3f9630._0x474131,_0x3f9630._0x928579)]<0x2)return;function _0x2c3850(_0x58a6bc,_0x3fc53b){return _0x54a7f1(_0x58a6bc- -0x408,_0x3fc53b);}if(_0x3ae6e5[_0x548e49(0xd74,_0x3f9630._0x361cd2)]===0x2){const _0x41c125=this['_createPlaneByLine'](_0x3ae6e5[0x0],_0x3ae6e5[0x1]);_0x41c125&&this[_0x2c3850(0x69,_0x3f9630._0xceac89)]([_0x41c125]);}else{const _0x597305={};_0x597305['positions']=_0x3ae6e5;const _0x5e8bd2=new Cesium__namespace['ClippingPolygonCollection']({'polygons':[new Cesium__namespace['ClippingPolygon'](_0x597305)],'inverse':this[_0x548e49(_0x3f9630._0x277abf,0xac3)],'enabled':!![]});this[_0x548e49(0x490,0x751)]=_0x5e8bd2,this['clipTarget']&&(this[_0x2c3850(0x19,-0x19)]['clippingPolygons']=_0x5e8bd2);}}['_createPlaneByLine'](_0x509b70,_0x430f9f){const _0x99909d={_0x3b2e8a:0x185d,_0x51961f:0x1a25};if(Cesium__namespace['Cartesian3']['distance'](_0x509b70,_0x430f9f)<0.1)return null;const _0x29257e=this[_0xff9c71(-0x18b,0x74b)],_0x336a35=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x29257e,_0x509b70,new Cesium__namespace[(_0x36062c(0x13de,0x17a5))]()),_0x3ff04e=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x29257e,_0x430f9f,new Cesium__namespace['Cartesian3']()),_0x1966ce=new Cesium__namespace['Cartesian3'](0x0,0x0,0xa);function _0x36062c(_0x225122,_0x2577d9){return _0x7afdbe(_0x2577d9,_0x225122- -0x137);}const _0x2dcc11=Cesium__namespace['Cartesian3']['subtract'](_0x3ff04e,_0x336a35,new Cesium__namespace[(_0xff9c71(0x1829,0x124a))]());let _0x807fe5=Cesium__namespace['Cartesian3'][_0x36062c(_0x99909d._0x3b2e8a,_0x99909d._0x51961f)](_0x2dcc11,_0x1966ce,new Cesium__namespace['Cartesian3']());function _0xff9c71(_0xae48a6,_0x4236e0){return _0x7afdbe(_0xae48a6,_0x4236e0- -0x2cb);}_0x807fe5=Cesium__namespace['Cartesian3']['normalize'](_0x807fe5,_0x807fe5);const _0x4af439=Cesium__namespace['Plane']['fromPointNormal'](_0x336a35,_0x807fe5);return Cesium__namespace['ClippingPlane']['fromPlane'](_0x4af439);}[_0x54a7f1(0x471,0x342)](_0x26de73){const _0x2deffc={_0x477d68:0x1004,_0x2f6350:0x253,_0x3cefa6:0x642,_0x3f49fd:0x157,_0x30e7aa:0x13b7,_0x2f2b59:0x1105,_0x355400:0xe50},_0x12409a={_0x45c3ac:0x4ae};function _0x339bc9(_0x396b5b,_0x2d44cb){return _0x7afdbe(_0x396b5b,_0x2d44cb- -0x3ad);}function _0x38c0cc(_0xc9cc11,_0x333f82){return _0x7afdbe(_0x333f82,_0xc9cc11- -_0x12409a._0x45c3ac);}if(!_0x26de73)return;const _0x8b71e9=new Cesium__namespace['ClippingPlaneCollection']({'planes':_0x26de73,'edgeWidth':this['options']['edgeWidth']??0x0,'edgeColor':this[_0x339bc9(-0xd4,0x731)][_0x339bc9(0x119b,0x96a)]??Cesium__namespace[_0x38c0cc(_0x2deffc._0x477d68,0x87f)]['WHITE'],'unionClippingRegions':this['clipOutSide']??![]});this['clippingPlanes']=_0x8b71e9;this['clipTarget']&&(this[_0x339bc9(_0x2deffc._0x2f6350,0x2a2)][_0x339bc9(0x4bc,0x7da)]=_0x8b71e9);if(this['options']['showPlane']){this[_0x339bc9(0x920,0x12b6)]['clear']();const _0x5bb85e=this[_0x38c0cc(_0x2deffc._0x3cefa6,0x871)]['boundingSphere'][_0x38c0cc(_0x2deffc._0x3f49fd,-0x714)];for(let _0x95c435=0x0;_0x95c435<_0x8b71e9['length'];++_0x95c435){var _0x23c1ad;const _0x474f76=_0x8b71e9['get'](_0x95c435),_0x23d20d=new PlaneEntity({'position':this['center'],'style':{'heading':0x168-(((_0x23c1ad=this[_0x38c0cc(0x13ad,0x1e36)])===null||_0x23c1ad===void 0x0?void 0x0:_0x23c1ad[_0x38c0cc(_0x2deffc._0x30e7aa,0xfe1)])??0x0),'dimensions':new Cesium__namespace[(_0x339bc9(0x1b75,0x1585))](_0x5bb85e,_0x5bb85e),'color':Cesium__namespace[_0x339bc9(0x926,_0x2deffc._0x2f2b59)]['WHITE'][_0x38c0cc(0x10b,-0x502)](0.2),'editColor':Cesium__namespace[_0x38c0cc(0x1004,0x63a)]['WHITE']['withAlpha'](0.5),'outline':!![],'outlineColor':Cesium__namespace['Color']['WHITE'],...this['options']['planeStyle'],'plane':new Cesium__namespace[(_0x339bc9(0x11eb,0xbcb))](createPlaneUpdateFunction(_0x474f76),![])}});this[_0x38c0cc(0x11b5,0x1704)][_0x339bc9(0x692,_0x2deffc._0x355400)](_0x23d20d);}}}[_0x7afdbe(0x12ce,0x1551)](){const _0x3ba162={_0x1c1d13:0x798,_0x32f4be:0x9a2,_0x266e7b:0x3ad,_0x2bd71e:0x361,_0x5ce465:0x515,_0x78d072:0x61a,_0x43787b:0xc97,_0x29878f:0x515,_0xb9d435:0x140b,_0x595faf:0x301,_0xcd1239:0x38e,_0x30c6a5:0xa4d,_0x3128fa:0xd44,_0x1de19e:0x795,_0x383036:0x930,_0x2808cd:0xbc1,_0x36a8ab:0xd39},_0x17181b={_0xd7fc31:0x2a2};this[_0x48a1a8(0x1529,0xe76)]&&this['_graphicLayer'][_0x48a1a8(0x1417,0xda2)]();delete this[_0x48a1a8(_0x3ba162._0x1c1d13,_0x3ba162._0x32f4be)],delete this['_normal_angle1'];function _0x10cf32(_0x58a491,_0x46d1eb){return _0x7afdbe(_0x46d1eb,_0x58a491- -_0x17181b._0xd7fc31);}delete this['_normal_angle2'],delete this['_positions'],this['options']['clipOutSide']=![];function _0x48a1a8(_0x449a49,_0x126c87){return _0x54a7f1(_0x449a49-0xf4,_0x126c87);}this['clippingPlanes']&&delete this['clippingPlanes'],this['clippingPolygons']&&delete this['clippingPolygons'],this['clipTarget']&&(this[_0x10cf32(_0x3ba162._0x266e7b,0xdc1)][_0x48a1a8(0xa4d,_0x3ba162._0x2bd71e)]&&(this[_0x48a1a8(_0x3ba162._0x5ce465,_0x3ba162._0x78d072)]['clippingPlanes'][_0x48a1a8(_0x3ba162._0x43787b,0x5da)]&&(this[_0x48a1a8(_0x3ba162._0x29878f,-0x1e8)][_0x48a1a8(0xa4d,_0x3ba162._0xb9d435)]['enabled']=![],this[_0x48a1a8(0x515,_0x3ba162._0x595faf)][_0x10cf32(0x8e5,_0x3ba162._0xcd1239)]['removeAll']()),this['clipTarget'][_0x48a1a8(_0x3ba162._0x30c6a5,0x81c)]=undefined),this[_0x48a1a8(0x515,_0x3ba162._0x3128fa)][_0x48a1a8(_0x3ba162._0x1de19e,_0x3ba162._0x383036)]&&(this['clipTarget']['clippingPolygons']['enabled']&&(this['clipTarget']['clippingPolygons']['enabled']=![],this[_0x10cf32(0x3ad,_0x3ba162._0x2808cd)]['clippingPolygons'][_0x10cf32(0x7b8,_0x3ba162._0x36a8ab)]()),this[_0x48a1a8(_0x3ba162._0x29878f,-0x39e)]['clippingPolygons']=undefined));}['updateAllDistance'](_0x776fdc){const _0x4a1715={_0x3c2e82:0x80f,_0x24bb17:0x1147,_0xa596b0:0x1ba5},_0x5b0999={_0x45eba9:0x378};if(this[_0x3b27e7(_0x4a1715._0x3c2e82,0x12d5)]==null)return;function _0x3b27e7(_0x423b4b,_0x4df621){return _0x7afdbe(_0x4df621,_0x423b4b- -_0x5b0999._0x45eba9);}function _0x13328e(_0x1cbac2,_0x4bf2b1){return _0x54a7f1(_0x1cbac2- -0x312,_0x4bf2b1);}for(let _0x1d9b55=0x0;_0x1d9b55<this['clippingPlanes'][_0x3b27e7(0xe3b,0xda1)];_0x1d9b55++){const _0x5a3f40=this['clippingPlanes']['get'](_0x1d9b55);_0x5a3f40[_0x3b27e7(_0x4a1715._0x24bb17,_0x4a1715._0xa596b0)]=_0x776fdc;}}['updateAllNormal'](_0x2c0adb,_0xde1054){const _0x27e84d={_0x6feb0d:0x161e,_0xa18e3c:0x10d2,_0x400a06:0x7d5,_0x50d2c4:0x1a08},_0x15bee0={_0x18e88d:0xe1};function _0x299331(_0x11fddd,_0x45ed32){return _0x7afdbe(_0x11fddd,_0x45ed32- -_0x15bee0._0x18e88d);}if(this['clippingPlanes']==null)return;function _0x4fbaa2(_0xf052d,_0x5bf237){return _0x54a7f1(_0xf052d- -0x184,_0x5bf237);}for(let _0x52f34b=0x0;_0x52f34b<this['clippingPlanes'][_0x299331(_0x27e84d._0x6feb0d,_0x27e84d._0xa18e3c)];_0x52f34b++){const _0x5ad60c=this[_0x4fbaa2(_0x27e84d._0x400a06,0xf98)]['get'](_0x52f34b);this[_0x299331(_0x27e84d._0x50d2c4,0x1251)](_0x5ad60c,_0x2c0adb,_0xde1054);}}['_updateNormal'](_0x4aa5f9,_0x21e6d1,_0x18d2ea){const _0x1ebcac={_0x199ee0:0x665,_0x102cf5:0x1b},_0x44e84a={_0x43a4be:0x685},_0x36e536={_0xd6ba33:0x335},_0x28538a=Cesium__namespace['Math']['toRadians'](_0x21e6d1),_0x1e6d6b=Cesium__namespace[_0x158295(0x179c,0xf77)]['toRadians'](_0x18d2ea),_0x278305=Math['sin'](_0x28538a)*Math['cos'](_0x1e6d6b);function _0x158295(_0x18e224,_0x280bf7){return _0x54a7f1(_0x280bf7- -_0x36e536._0xd6ba33,_0x18e224);}const _0x2f6a6e=Math[_0x471b5a(-_0x1ebcac._0x199ee0,0x1d)](_0x28538a)*Math['sin'](_0x1e6d6b),_0x2c5f3d=Math['cos'](_0x28538a);function _0x471b5a(_0x266205,_0x20c032){return _0x7afdbe(_0x266205,_0x20c032- -_0x44e84a._0x43a4be);}_0x4aa5f9[_0x471b5a(-0x305,-_0x1ebcac._0x102cf5)]['x']=_0x278305,_0x4aa5f9['normal']['y']=_0x2f6a6e,_0x4aa5f9[_0x471b5a(-0x596,-0x1b)]['z']=_0x2c5f3d;}['toJSON'](){const _0x4177aa={_0x420e96:0x7e1,_0xe463bc:0xf69},_0x2c19ec=clone(this['options'],['layer','eventParent']);function _0x1ab384(_0x1398ef,_0x135c0f){return _0x7afdbe(_0x1398ef,_0x135c0f- -0x2);}return this[_0x1ab384(_0x4177aa._0x420e96,_0x4177aa._0xe463bc)]&&(_0x2c19ec['positions']=LngLatArray['toArray'](this['positions'])),_0x2c19ec;}}function createPlaneUpdateFunction(_0x409314){return function(){return _0x409314;};}var TilesetColorCorrectionFS=_0x7afdbe(0x1241,0x153a);const _0x2a6415={};_0x2a6415[_0x54a7f1(0xf00,0x1788)]=0x1,_0x2a6415['contrast']=0x1,_0x2a6415['hue']=0x0,_0x2a6415[_0x7afdbe(-0xe8,0x50b)]=0x1;const DEF_OPTIONS$2=_0x2a6415;class TilesetColorCorrection extends BaseThing{constructor(_0x4b3670={}){_0x4b3670={...DEF_OPTIONS$2,..._0x4b3670},super(_0x4b3670),!isMars3DCesium&&logError('该功能需要引入mars3d修改版Cesium库(mars3d-cesium库)才支持!',this);}get[_0x7afdbe(0x197e,0x1548)](){function _0xc86f54(_0x5d8d65,_0x2c6c08){return _0x54a7f1(_0x5d8d65- -0x389,_0x2c6c08);}return this[_0xc86f54(0x12a4,0x1102)];}set['layer'](_0x10910c){const _0xed4982={_0x3cb8cf:0xe46},_0x67eeda={_0x290194:0x169};this['_layer']=_0x10910c,_0x10910c['readyPromise']['then'](_0x200806=>{function _0x524b74(_0x54e025,_0x3bc38d){return _0x536c(_0x3bc38d-_0x67eeda._0x290194,_0x54e025);}this[_0x524b74(_0xed4982._0x3cb8cf,0x1258)]();});}get['brightness'](){return this['options']['brightness'];}set['brightness'](_0x475113){const _0x5171cb={_0x130bc7:0xe29},_0x380525={_0x4dda05:0x14a};function _0x754084(_0x152863,_0x257bc1){return _0x54a7f1(_0x152863- -_0x380525._0x4dda05,_0x257bc1);}this['options'][_0x754084(0xdb6,_0x5171cb._0x130bc7)]=_0x475113;}get['contrast'](){return this['options']['contrast'];}set['contrast'](_0x104a9e){function _0x5c3676(_0x1677a6,_0x38598a){return _0x54a7f1(_0x38598a- -0x158,_0x1677a6);}this['options'][_0x5c3676(0x1bf2,0x1334)]=_0x104a9e;}get[_0x7afdbe(-0x125,0x49c)](){return this['options']['hue'];}set['hue'](_0x39aa02){this['options']['hue']=_0x39aa02;}get[_0x54a7f1(0x2dd,0x6d5)](){const _0x59d03b={_0x33b07f:0x9};function _0x167f7b(_0x40c999,_0x3ecd12){return _0x7afdbe(_0x40c999,_0x3ecd12- -_0x59d03b._0x33b07f);}return this[_0x167f7b(0xe8a,0xad5)]['saturation'];}set[_0x54a7f1(0x2dd,0xf5)](_0x39eeb4){function _0x3679a5(_0x38a915,_0x51beb3){return _0x7afdbe(_0x38a915,_0x51beb3- -0x45d);}function _0x1bf19b(_0x47e6ff,_0x4dc323){return _0x7afdbe(_0x47e6ff,_0x4dc323- -0x60);}this[_0x3679a5(0xc8,0x681)][_0x3679a5(0xfe,0xae)]=_0x39eeb4;}['_addedHook'](){function _0x341a40(_0x40e774,_0xc417c4){return _0x54a7f1(_0x40e774- -0x208,_0xc417c4);}this['options']['layer']&&(this['layer']=this[_0x341a40(0x6a8,0x79a)]['layer']);}['_removedHook'](){const _0x520f2c={_0xb07e19:0x8bf},_0x352d3d={_0x568d5c:0x15};function _0x548bb2(_0x3ca1c8,_0x209a7e){return _0x7afdbe(_0x3ca1c8,_0x209a7e-_0x352d3d._0x568d5c);}this[_0x548bb2(0xb01,_0x520f2c._0xb07e19)]&&this['cacheMarsOptions']();}[_0x54a7f1(0x1216,0x16b8)](){const _0x1a617e={_0x39a892:0xb62,_0x5d862e:0xdd6,_0x388ce5:0x1db8,_0x241dff:0x11c1,_0x6533a:0x135b,_0x4c3f50:0x8d1};var _0x24a57e;const _0x3c8f8e=this[_0x358372(_0x1a617e._0x39a892,0x1557)]();function _0x358372(_0x51c90f,_0x6bff27){return _0x7afdbe(_0x6bff27,_0x51c90f- -0x6bd);}function _0x158efc(_0x248283,_0x2b8d49){return _0x7afdbe(_0x248283,_0x2b8d49-0x27);}if((_0x24a57e=Cesium__namespace[_0x158efc(0x1485,0xdd6)])!==null&&_0x24a57e!==void 0x0&&_0x24a57e['getCacheOrAdd']){const _0x307333=Cesium__namespace[_0x158efc(0x4cb,_0x1a617e._0x5d862e)]['getCacheOrAdd'](this[_0x158efc(_0x1a617e._0x388ce5,0x156f)]['_marsOptions'][_0x358372(_0x1a617e._0x241dff,0x93e)]);_0x307333['colorCorrection']=_0x3c8f8e,this[_0x158efc(_0x1a617e._0x6533a,_0x1a617e._0x4c3f50)]=function(){delete _0x307333['colorcorrection'];};}}['_getCustomShader'](){const _0x1989ea={_0x179258:0x1481,_0x4a35c7:0x10b5,_0x510545:0x1a2f,_0x2bf5a2:0x1018,_0x1f7126:0x160e},_0x13f597={_0x268dbc:0x4b6},_0x182c00={_0x557d4b:0x672,_0x5c3af7:0x1072},_0x2da701={_0x51a4fe:0x65b};function _0x1a5823(_0x1861c5,_0x4513d9){return _0x54a7f1(_0x1861c5-0x241,_0x4513d9);}const _0x3319c8=new Cesium__namespace['CustomShader']({'lightingModel':Cesium__namespace['LightingModel'][_0x37f598(0x1643,_0x1989ea._0x179258)],'fragmentShaderText':TilesetColorCorrectionFS});_0x3319c8['uniformMap']['u_mars3d_colorcorrection_enabled']=()=>{return this['enabled'];};function _0x37f598(_0x2187b0,_0x36e8ac){return _0x7afdbe(_0x2187b0,_0x36e8ac-0x21);}return _0x3319c8[_0x1a5823(_0x1989ea._0x4a35c7,_0x1989ea._0x510545)][_0x1a5823(0xbf1,0x107f)]=()=>{return this['brightness'];},_0x3319c8['uniformMap']['u_mars3d_colorcorrection_contrast']=()=>{function _0x25a1aa(_0x33cc7c,_0x3870d7){return _0x1a5823(_0x3870d7- -_0x2da701._0x51a4fe,_0x33cc7c);}return this[_0x25a1aa(_0x182c00._0x557d4b,_0x182c00._0x5c3af7)];},_0x3319c8['uniformMap']['u_mars3d_colorcorrection_hue']=()=>{function _0x13986d(_0x1bc4d6,_0x6e9dc){return _0x1a5823(_0x1bc4d6- -_0x13f597._0x268dbc,_0x6e9dc);}return this[_0x13986d(-0x7,0x94c)];},_0x3319c8['uniformMap']['u_mars3d_colorcorrection_saturation']=()=>{return this['saturation'];},this[_0x37f598(_0x1989ea._0x2bf5a2,_0x1989ea._0x1f7126)]=_0x3319c8['uniforms'],_0x3319c8;}}register('colorCorrection',TilesetColorCorrection,![]);class TilesetLayer extends BaseGraphicLayer{constructor(_0x260883={}){const _0x54f591={_0x5cbce4:0xcd5,_0x377dd1:0x1198},_0x25e10d={_0x380c7f:0x116},_0x4e9e32={_0x3a4f9a:0xb3};super(_0x260883);const _0x17260a={};_0x17260a['x']=0x0,_0x17260a['y']=0x0,_0x17260a['z']=0x0;function _0x437160(_0x195bde,_0x5c1ce7){return _0x7afdbe(_0x195bde,_0x5c1ce7- -_0x4e9e32._0x3a4f9a);}function _0x441cd1(_0x1e8ce5,_0x233b36){return _0x54a7f1(_0x233b36-_0x25e10d._0x380c7f,_0x1e8ce5);}this['orginRotation']=_0x17260a,this['_orginCenterPoint']=new LngLatPoint(),this[_0x441cd1(_0x54f591._0x5cbce4,0xd20)]=_0x260883[_0x441cd1(_0x54f591._0x377dd1,0x1848)]??!![],this['_marsOptions']={};}get['layer'](){const _0x26e27a={_0x208da8:0xf99};function _0x152db0(_0x4e81f2,_0x4113f9){return _0x54a7f1(_0x4e81f2- -0x317,_0x4113f9);}return this[_0x152db0(0x5ab,_0x26e27a._0x208da8)];}get['tileset'](){const _0x52bc2e={_0x262bb8:0x966,_0x21c0c9:0x5a8};function _0x36cc21(_0x4e0cf8,_0x32ec5a){return _0x7afdbe(_0x32ec5a,_0x4e0cf8- -0x18a);}return this[_0x36cc21(_0x52bc2e._0x262bb8,_0x52bc2e._0x21c0c9)];}get[_0x54a7f1(0x726,-0x9e)](){const _0x5718f2={_0x3d7227:0x994,_0x1419f6:0x22a,_0x284e14:0x851},_0xffea62={_0x480b22:0x17b};if(!this['loadOk'])return Cesium__namespace['Matrix4']['ZERO'];function _0x3606aa(_0x1358db,_0xfd86ab){return _0x54a7f1(_0x1358db- -0x253,_0xfd86ab);}!this[_0x3606aa(0x779,0xd1b)]&&(this['transform']?this['_tilesetMatrix']=this['_tileset'][_0x539ce1(_0x5718f2._0x3d7227,0x1052)][_0x3606aa(0x3f,_0x5718f2._0x1419f6)]:this['_tilesetMatrix']=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this['_tileset']['boundingSphere']['center']));function _0x539ce1(_0x139ed5,_0x44464b){return _0x54a7f1(_0x44464b- -_0xffea62._0x480b22,_0x139ed5);}return this[_0x539ce1(0x3dd,_0x5718f2._0x284e14)];}get['inverseMatrix'](){const _0x3fa599={_0x4844e0:0x1326,_0x17da7c:0x17a4,_0x3be5e3:0xf97,_0x4d9ed6:0x15d1,_0x13716e:0xe92,_0x2b2bcf:0xcd0},_0x9b638d={_0x376a06:0x23a};function _0x5ad1b6(_0x4a8094,_0x3a6b36){return _0x54a7f1(_0x4a8094- -_0x9b638d._0x376a06,_0x3a6b36);}if(!this[_0x5ad1b6(0xcda,_0x3fa599._0x4844e0)])return Cesium__namespace['Matrix4'][_0x5ad1b6(0x10b2,_0x3fa599._0x17da7c)];!this['_inverseMatrix']&&(this[_0x46769e(_0x3fa599._0x3be5e3,0xcd0)]=Cesium__namespace['Matrix4'][_0x46769e(_0x3fa599._0x4d9ed6,0x1061)](this['modelMatrix'],new Cesium__namespace['Matrix4']()));function _0x46769e(_0x489ac4,_0x1597a9){return _0x7afdbe(_0x489ac4,_0x1597a9- -0x5db);}return this[_0x46769e(_0x3fa599._0x13716e,_0x3fa599._0x2b2bcf)];}get['highlight'](){const _0x47ebc8={_0x3b9083:0x27e};function _0x4cbc75(_0x4fde18,_0x2aae98){return _0x7afdbe(_0x4fde18,_0x2aae98- -_0x47ebc8._0x3b9083);}return this[_0x4cbc75(-0x1e7,0x860)]['highlight'];}set['highlight'](_0x569d88){const _0x3fcb2f={_0x46d9a5:0x2ca};this[_0x255150(0xd19,0x7be)]['highlight']=_0x569d88;function _0x255150(_0x363101,_0x200917){return _0x54a7f1(_0x200917- -0xf2,_0x363101);}function _0x1658c9(_0x37db23,_0x2bae60){return _0x7afdbe(_0x37db23,_0x2bae60- -0x112);}_0x569d88?this['bindHighlight'](this['options'][_0x1658c9(_0x3fcb2f._0x46d9a5,0x7fa)]):this['unbindHighlight']();}get['marsJzwStyle'](){const _0x2af676={_0x252b4f:0x505};function _0x5bfe08(_0x355bf3,_0xeb56f){return _0x7afdbe(_0x355bf3,_0xeb56f- -_0x2af676._0x252b4f);}return this[_0x5bfe08(-0x1af,0x5d9)]['marsJzwStyle'];}set['marsJzwStyle'](_0x411bda){const _0x3e37c0={_0x5383d2:0xb79};function _0x3b0370(_0x12a215,_0x1db3c7){return _0x54a7f1(_0x12a215- -0x2b5,_0x1db3c7);}this['options']['marsJzwStyle']=_0x411bda,_0x411bda?this['reload']():this[_0x3b0370(0x6ac,_0x3e37c0._0x5383d2)]();}get['style'](){const _0x4fe5d6={_0x39d903:0xd95,_0x2f1bd2:0x610,_0x29ddcf:0xc61},_0x254954={_0x323c00:0x141},_0x457a72={_0x237b10:0x2a0};function _0x1b31ff(_0x35b424,_0x3c9db9){return _0x54a7f1(_0x3c9db9- -_0x457a72._0x237b10,_0x35b424);}function _0x57deb8(_0x5604e2,_0x3aff14){return _0x7afdbe(_0x3aff14,_0x5604e2- -_0x254954._0x323c00);}return this[_0x1b31ff(_0x4fe5d6._0x39d903,_0x4fe5d6._0x2f1bd2)][_0x57deb8(0x589,_0x4fe5d6._0x29ddcf)];}set[_0x54a7f1(0x49c,0x21a)](_0x5600f3){const _0x34cb08={_0x2bec89:0x470,_0x22b875:0x1d5c,_0x246c45:0xa87},_0x2ba4fd={_0x20508b:0xa2a,_0x5ddc72:0x111a},_0x13af09={_0x2b3cf1:0x2c};this['options'][_0x4b9e0(0x6cc,_0x34cb08._0x2bec89)]=_0x5600f3;function _0x4b9e0(_0xfd9d3b,_0x5cbdc9){return _0x54a7f1(_0x5cbdc9- -_0x13af09._0x2b3cf1,_0xfd9d3b);}function _0x528502(_0x4847f0,_0x484bb8){return _0x54a7f1(_0x484bb8- -0x1ef,_0x4847f0);}if(this['_tileset']){if(_0x5600f3 instanceof Cesium__namespace['Cesium3DTileStyle'])this['_tileset']['style']=_0x5600f3;else typeof _0x5600f3===_0x528502(_0x34cb08._0x22b875,0x13b2)?this[_0x4b9e0(_0x34cb08._0x246c45,0x896)]['style']=new Cesium__namespace['Cesium3DTileStyle']({'color':{'evaluateColor':function(_0x4adbd8,_0x74a276){const _0x11fb95={_0x3063f7:0x85},_0x3f7138=_0x5600f3(_0x4adbd8);function _0x50fbb3(_0x12b4d5,_0x496ec4){return _0x528502(_0x12b4d5,_0x496ec4-_0x11fb95._0x3063f7);}function _0x184a88(_0x42bd8c,_0xdf4b08){return _0x528502(_0x42bd8c,_0xdf4b08-0xd0);}return _0x3f7138?Cesium__namespace[_0x50fbb3(_0x2ba4fd._0x20508b,_0x2ba4fd._0x5ddc72)]['clone'](Cesium__namespace[_0x50fbb3(0x10ab,0x111a)]['fromCssColorString'](_0x3f7138),_0x74a276):_0x74a276;}}}):this['_tileset']['style']=new Cesium__namespace['Cesium3DTileStyle'](_0x5600f3);}}get['customShader'](){const _0x3abdc7={_0x3524d6:0x361};function _0x3b6af4(_0x2d81e3,_0xf3aaf6){return _0x54a7f1(_0x2d81e3- -_0x3abdc7._0x3524d6,_0xf3aaf6);}return this[_0x3b6af4(0x54f,0x6c1)]['customShader'];}set[_0x54a7f1(0x637,-0x32a)](_0x16a494){const _0xbdd2cc={_0x235544:0xf77};this['options']['customShader']=_0x16a494;function _0x2e1eac(_0x5790a5,_0x35168d){return _0x7afdbe(_0x5790a5,_0x35168d-0x8a);}this['_tileset']&&(this['_tileset'][_0x2e1eac(_0xbdd2cc._0x235544,0x8ef)]=_0x16a494);}get['splitDirection'](){const _0x476d80={_0x1780c5:0xe02},_0x4778c4={_0x1dec6c:0x192};function _0x4ca1a6(_0x8fd85f,_0x3d444e){return _0x54a7f1(_0x3d444e-_0x4778c4._0x1dec6c,_0x8fd85f);}return this[_0x4ca1a6(_0x476d80._0x1780c5,0xa42)]['splitDirection'];}set[_0x54a7f1(0x33c,0x7ee)](_0x1a3f70){const _0x45a012={_0x2f992b:0x349};function _0x3a3daf(_0x375eb8,_0x589943){return _0x7afdbe(_0x375eb8,_0x589943- -0x4da);}this['options']['splitDirection']=_0x1a3f70,this[_0x3a3daf(_0x45a012._0x2f992b,0x616)]&&(this['_tileset']['splitDirection']=_0x1a3f70);}get[_0x7afdbe(0x5c6,0xcaa)](){const _0x365da6={_0x11fcff:0x54b};function _0x4dd241(_0x519225,_0x445fbc){return _0x54a7f1(_0x445fbc- -0x332,_0x519225);}return this[_0x4dd241(-0x1a8,_0x365da6._0x11fcff)];}get[_0x54a7f1(0xd39,0x292)](){return this['_orginCenterPosition'];}get[_0x54a7f1(0x16e1,0x13b9)](){const _0x4bc80c={_0x3255d0:0xa8a,_0x36692a:0xf59},_0x5d151f={_0x163be3:0x20b};function _0x596c55(_0x564e57,_0x3365f6){return _0x7afdbe(_0x564e57,_0x3365f6- -_0x5d151f._0x163be3);}return this[_0x596c55(_0x4bc80c._0x3255d0,_0x4bc80c._0x36692a)]['toCartesian']();}set['position'](_0x5d80d4){function _0x30fbf1(_0x5a9cfe,_0x10f99c){return _0x7afdbe(_0x5a9cfe,_0x10f99c- -0x133);}this[_0x30fbf1(-0x2d5,0x678)]=_0x5d80d4;}get['center'](){return this['_center'];}set[_0x7afdbe(0x29,0x7ab)](_0x4bf06d){const _0x1b708e={_0xafdff8:0x1045,_0x404024:0xd20,_0xee797:0xb1a};this[_0x485e16(_0x1b708e._0xafdff8,_0x1b708e._0x404024)]=LngLatPoint['parse'](_0x4bf06d);function _0x3977d3(_0x15704a,_0x1d89a4){return _0x54a7f1(_0x1d89a4-0x83,_0x15704a);}function _0x485e16(_0xc9d72d,_0x14ada1){return _0x7afdbe(_0x14ada1,_0xc9d72d- -0x11f);}this[_0x3977d3(_0x1b708e._0xee797,0x126d)]();}get['height'](){const _0x1ce563={_0xd40eec:0x219};function _0x439978(_0x5794b5,_0x4d3f54){return _0x54a7f1(_0x4d3f54-0x148,_0x5794b5);}return this[_0x439978(_0x1ce563._0xd40eec,0x59d)];}set[_0x7afdbe(0x3f1,0x895)](_0x4e9516){function _0x32c0db(_0x1da1aa,_0x8493e7){return _0x54a7f1(_0x8493e7-0x147,_0x1da1aa);}this[_0x32c0db(-0x5,0x59c)]=_0x4e9516;}get['alt'](){const _0x33fa00={_0x2187b9:0x5f9};function _0x285650(_0x5a8fde,_0x14337f){return _0x54a7f1(_0x5a8fde- -0xc8,_0x14337f);}function _0x512f20(_0x55a62d,_0x1e8989){return _0x7afdbe(_0x1e8989,_0x55a62d- -0x8a);}if(this['center'])return this[_0x512f20(0x721,0xa7a)][_0x512f20(_0x33fa00._0x2187b9,-0x4a8)];}set['alt'](_0x36db0e){const _0x5daff2={_0x5a1547:0x1bf,_0xf748c7:0x43},_0x235266={_0x26bac9:0x412};if(!this[_0x8c08c7(0xa03,0x4b0)])return;function _0x3b15e5(_0x4aba7b,_0x5c47f6){return _0x7afdbe(_0x4aba7b,_0x5c47f6- -0x2d2);}this['center'][_0x8c08c7(_0x5daff2._0x5a1547,_0x5daff2._0xf748c7)]=_0x36db0e;function _0x8c08c7(_0x2c1ec7,_0x2e575b){return _0x54a7f1(_0x2e575b- -_0x235266._0x26bac9,_0x2c1ec7);}this['updateMatrix']();}get[_0x54a7f1(0x710,0xf82)](){var _0x26a182;return(_0x26a182=this['_tileset'])===null||_0x26a182===void 0x0?void 0x0:_0x26a182['boundingSphere'];}get['modelUpAxis'](){const _0x14d481={_0x46e4b3:0x212,_0x4ee38a:0x5dd};var _0x227d15;function _0x5206db(_0x5c1e6f,_0x11c2ac){return _0x54a7f1(_0x5c1e6f-0x30,_0x11c2ac);}function _0x56fba1(_0x2de958,_0x59cbbb){return _0x7afdbe(_0x59cbbb,_0x2de958- -0x605);}if(Cesium__namespace['defined'](this['options']['modelUpAxis']))return this['options']['modelUpAxis'];if(Cesium__namespace['defined']((_0x227d15=this[_0x56fba1(0x4eb,_0x14d481._0x46e4b3)])===null||_0x227d15===void 0x0?void 0x0:_0x227d15['_modelUpAxis'])){var _0x36f2a8;return(_0x36f2a8=this[_0x5206db(0x8f2,0x1288)])===null||_0x36f2a8===void 0x0?void 0x0:_0x36f2a8[_0x5206db(0x6f0,_0x14d481._0x4ee38a)];}return undefined;}get[_0x54a7f1(0x11f1,0x1a74)](){const _0xe7661f={_0x32a949:0xc0a,_0x502655:0x5bf,_0x59bb4f:0x4a0};function _0x1056a2(_0xbf0a04,_0xd306b6){return _0x54a7f1(_0xd306b6- -0x2f1,_0xbf0a04);}function _0x29e29a(_0x477119,_0x54c975){return _0x7afdbe(_0x54c975,_0x477119- -0x63e);}if(this[_0x1056a2(_0xe7661f._0x32a949,_0xe7661f._0x502655)]['rotation'])return this[_0x29e29a(_0xe7661f._0x59bb4f,-0x15)][_0x1056a2(0xafb,0xf00)];return this[_0x29e29a(0x1076,0x1889)];}set[_0x7afdbe(0x1581,0x141f)](_0x4e741e){const _0x102f4c={_0x3d919a:0xb28,_0x18ba54:0xd5};this[_0x23924a(_0x102f4c._0x3d919a,_0x102f4c._0x18ba54)]['rotation']=_0x4e741e;function _0x23924a(_0x48782a,_0x178486){return _0x54a7f1(_0x48782a-0x278,_0x178486);}this['updateMatrix']();}get['rotation_x'](){const _0x4d421e={_0x4c6bb3:0xa2f,_0x478159:0xf75},_0x473f17={_0xa24875:0x2},_0x24e26b={_0x288fb3:0x27c};function _0x242040(_0x4b1391,_0x5d33bb){return _0x54a7f1(_0x5d33bb- -_0x24e26b._0x288fb3,_0x4b1391);}if(this['options']['rotation']&&Cesium__namespace['defined'](this[_0x1f03b0(_0x4d421e._0x4c6bb3,0xadc)]['rotation']['x']))return this['options'][_0x242040(0x6eb,_0x4d421e._0x478159)]['x'];function _0x1f03b0(_0x334e52,_0x5d0674){return _0x7afdbe(_0x334e52,_0x5d0674- -_0x473f17._0xa24875);}return this['orginRotation']['x'];}set['rotation_x'](_0x35ed9c){const _0x228aed={_0x7c21ff:0x11};function _0x531c39(_0x2bf436,_0x1cf571){return _0x54a7f1(_0x1cf571-_0x228aed._0x7c21ff,_0x2bf436);}this['options']['rotation']=this['options'][_0x531c39(0xc16,0x1202)]||{},this['options']['rotation']['x']=_0x35ed9c,this['updateMatrix']();}get[_0x7afdbe(0x8e6,0x12c4)](){const _0x193dd3={_0xd06aee:0x2d2};function _0x50936c(_0x1c6fa9,_0x2f76c9){return _0x54a7f1(_0x1c6fa9- -_0x193dd3._0xd06aee,_0x2f76c9);}if(this['options']['rotation']&&Cesium__namespace['defined'](this[_0x50936c(0x5de,0xa5a)]['rotation']['y']))return this['options']['rotation']['y'];return this['orginRotation']['y'];}set['rotation_y'](_0x37068b){const _0x34d3c0={_0x21b003:0xca},_0x262325={_0x15f293:0x6aa},_0x5eb105={_0x58f573:0x2e5};this[_0x1f1eba(0x5cb,_0x34d3c0._0x21b003)][_0x1f1eba(0xf0c,0x106e)]=this[_0x2d9188(0x26b,0x434)]['rotation']||{};function _0x1f1eba(_0x216d42,_0x5ebbdf){return _0x54a7f1(_0x216d42- -_0x5eb105._0x58f573,_0x5ebbdf);}this['options']['rotation']['y']=_0x37068b;function _0x2d9188(_0x142938,_0x5aae06){return _0x7afdbe(_0x142938,_0x5aae06- -_0x262325._0x15f293);}this[_0x2d9188(0x13c9,0xd6e)]();}get['rotation_z'](){const _0x341cee={_0x5c34fe:0x964,_0x25cf44:0x11fc,_0x52b030:0x1533};if(this[_0x1f6a4f(_0x341cee._0x5c34fe,0xe60)][_0xc5bbd(0x1093,_0x341cee._0x25cf44)]&&Cesium__namespace['defined'](this['options'][_0x1f6a4f(0x12a5,0xb9b)]['z']))return this[_0x1f6a4f(0x964,0xaa6)][_0x1f6a4f(0x12a5,_0x341cee._0x52b030)]['z'];function _0xc5bbd(_0x2360c5,_0x185b16){return _0x54a7f1(_0x185b16-0xb,_0x2360c5);}function _0x1f6a4f(_0xf0d13b,_0x32f0ba){return _0x54a7f1(_0xf0d13b-0xb4,_0x32f0ba);}return this['orginRotation']['z'];}set[_0x7afdbe(0x1f05,0x1865)](_0x1283ae){const _0x3a1158={_0x4b8c59:0x932,_0x13dc15:0x90a,_0x47b98b:0x1273,_0x165b7a:0x1622,_0x49d1f9:0xb02,_0xa7c8be:0x1443},_0x4d977e={_0x41f4a1:0x1ac};function _0x22cf95(_0xb39dfd,_0x46e270){return _0x54a7f1(_0xb39dfd-0x252,_0x46e270);}this['options']['rotation']=this[_0x9d9455(_0x3a1158._0x4b8c59,_0x3a1158._0x13dc15)][_0x9d9455(_0x3a1158._0x47b98b,_0x3a1158._0x165b7a)]||{},this[_0x22cf95(_0x3a1158._0x49d1f9,0x10cd)][_0x22cf95(_0x3a1158._0xa7c8be,0xcb0)]['z']=_0x1283ae;function _0x9d9455(_0x2a6061,_0x323eed){return _0x7afdbe(_0x323eed,_0x2a6061- -_0x4d977e._0x41f4a1);}this['updateMatrix']();}get[_0x54a7f1(0x1357,0x1af9)](){const _0x1c3181={_0x4515ac:0x152};function _0x57e830(_0x399cb3,_0x2a1e54){return _0x54a7f1(_0x2a1e54- -_0x1c3181._0x4515ac,_0x399cb3);}return this[_0x57e830(0x606,0x75e)]['axis']||'';}set['axis'](_0x348547){const _0x411366={_0x4a3cc5:0x1053},_0x3b2d64={_0x298423:0x532};function _0x431492(_0x2b8b58,_0x3c104e){return _0x7afdbe(_0x2b8b58,_0x3c104e- -_0x3b2d64._0x298423);}this['options'][_0x431492(0x195f,_0x411366._0x4a3cc5)]=_0x348547,this['updateMatrix']();}get['scale'](){function _0x4ecbf1(_0x42067d,_0x3e7711){return _0x54a7f1(_0x3e7711-0x234,_0x42067d);}return this[_0x4ecbf1(0x20c,0xae4)]['scale']||0x1;}set['scale'](_0x35acd0){const _0x186100={_0x1fd5b1:0x950,_0x50c7f8:0x128a,_0x5cdd9b:0xdb9};this[_0x455a11(_0x186100._0x1fd5b1,0xb1)][_0x455a11(0x13af,0xceb)]=_0x35acd0;function _0x455a11(_0x458ae2,_0x2414b6){return _0x54a7f1(_0x458ae2-0xa0,_0x2414b6);}function _0x519379(_0x5ebec9,_0x129dcc){return _0x54a7f1(_0x129dcc- -0x1b,_0x5ebec9);}this[_0x455a11(_0x186100._0x50c7f8,_0x186100._0x5cdd9b)]();}get[_0x7afdbe(0x331,0xd0c)](){const _0x5d1b6b={_0xff41e:0x8de};function _0x1fe6a5(_0x1d0640,_0x201e84){return _0x54a7f1(_0x1d0640- -0x176,_0x201e84);}return this[_0x1fe6a5(0x73a,_0x5d1b6b._0xff41e)]['scaleX']||0x1;}set['scaleX'](_0x12b207){const _0x197c1d={_0x417dec:0x17b1,_0x2abe7e:0xec7};function _0x15f098(_0x25f439,_0x19e501){return _0x54a7f1(_0x19e501- -0x323,_0x25f439);}this['options']['scaleX']=_0x12b207,this[_0x15f098(_0x197c1d._0x417dec,_0x197c1d._0x2abe7e)]();}get['scaleY'](){const _0x3f34fb={_0xb04c11:0x589,_0x422206:0x1416,_0x1b2c37:0xcb9};function _0x452935(_0x2e94d5,_0x23d034){return _0x54a7f1(_0x2e94d5- -0x327,_0x23d034);}function _0x26bad7(_0x54153e,_0x454099){return _0x54a7f1(_0x454099- -0x3d5,_0x54153e);}return this[_0x452935(_0x3f34fb._0xb04c11,-0x45a)][_0x26bad7(_0x3f34fb._0x422206,_0x3f34fb._0x1b2c37)]||0x1;}set[_0x54a7f1(0x108e,0x1b0d)](_0x3271f3){this['options']['scaleY']=_0x3271f3;function _0x1977da(_0x39a136,_0x1790cb){return _0x54a7f1(_0x39a136- -0x346,_0x1790cb);}this[_0x1977da(0xea4,0x14e8)]();}get['scaleZ'](){const _0x30d86e={_0x5e2282:0x9c0},_0x9771e7={_0x3cfd4d:0x110};function _0x54d2d2(_0x40c4a9,_0x320ff8){return _0x54a7f1(_0x40c4a9-_0x9771e7._0x3cfd4d,_0x320ff8);}return this[_0x54d2d2(_0x30d86e._0x5e2282,0x5b5)]['scaleZ']||0x1;}set['scaleZ'](_0x36b0d0){this['options']['scaleZ']=_0x36b0d0,this['updateMatrix']();}get['allowDrillPick'](){const _0x73185b={_0x16bd33:0x567,_0x1c672b:0x455,_0x25c932:0x17f},_0x108243={_0x339de6:0x5c8},_0x2f841e={_0x4239d4:0x64d},_0x10c789={_0x1f6d4a:0x1fb},_0x2fa62c=this[_0x350332(_0x73185b._0x16bd33,_0x73185b._0x1c672b)][_0x350332(0xdbe,0x1125)];function _0x5255a7(_0x1f0c88,_0x27ca96){return _0x54a7f1(_0x27ca96-_0x10c789._0x1f6d4a,_0x1f0c88);}if(isString(_0x2fa62c)){if(_0x2fa62c===_0x350332(-0x860,-0x85))return function(_0x3854af){function _0x447a59(_0x4cf562,_0x5125c4){return _0x350332(_0x4cf562,_0x5125c4-_0x2f841e._0x4239d4);}var _0x40e08b;const _0x4bcb31=_0x3854af===null||_0x3854af===void 0x0||(_0x40e08b=_0x3854af['pickedObject'])===null||_0x40e08b===void 0x0||(_0x40e08b=_0x40e08b['color'])===null||_0x40e08b===void 0x0?void 0x0:_0x40e08b[_0x447a59(0x494,_0x108243._0x339de6)];if(Cesium__namespace['defined'](_0x4bcb31)&&_0x4bcb31!==0x1)return!![];return![];};else{if(_0x2fa62c===_0x5255a7(0x152f,0xf4f))return!![];else{if(_0x2fa62c===_0x350332(_0x73185b._0x25c932,0x80c))return![];}}}function _0x350332(_0x28749b,_0xcb60c3){return _0x54a7f1(_0xcb60c3- -0x45b,_0x28749b);}return _0x2fa62c;}set[_0x54a7f1(0x1580,0x15b8)](_0x72c2b4){this['options']['allowDrillPick']=_0x72c2b4;}get['planClip'](){const _0x90f662={_0x25475f:0x5cd,_0x54380a:0x7dc},_0x31a7de={_0x30318c:0x69d};this['_map']&&!this['_tilesetPlanClip']&&this[_0x3bb295(_0x90f662._0x25475f,_0x90f662._0x54380a)]();function _0x3bb295(_0x290625,_0x2ffe53){return _0x7afdbe(_0x2ffe53,_0x290625- -_0x31a7de._0x30318c);}return this['_tilesetPlanClip'];}[_0x54a7f1(0xa3c,0x923)](){const _0x2a685a={_0x5deaef:0x9ad,_0x5e1611:0x49d,_0x4c94a1:0xf2},_0x5394ce={_0x5ee3a2:0x60};function _0x6fcb9f(_0x42ea92,_0x1abb27){return _0x54a7f1(_0x1abb27- -_0x5394ce._0x5ee3a2,_0x42ea92);}this['_tilesetPlanClip']&&this[_0x6fcb9f(_0x2a685a._0x5deaef,_0x2a685a._0x5e1611)]['destroy']();function _0x1e14c9(_0x3de38e,_0x5e2c18){return _0x54a7f1(_0x3de38e- -0x295,_0x5e2c18);}this['_tilesetPlanClip']=new TilesetPlanClip({...this[_0x1e14c9(0x61b,0xede)]['planClip'],'layer':this}),this[_0x6fcb9f(-_0x2a685a._0x4c94a1,0x773)]['addThing'](this['_tilesetPlanClip']);}get['colorCorrection'](){const _0x12011a={_0x5d1905:0x12b7,_0x8712df:0x1390};function _0x2e5130(_0x29c1d,_0x5c2d3f){return _0x7afdbe(_0x29c1d,_0x5c2d3f- -0x279);}return this['_map']&&!this[_0x2e5130(_0x12011a._0x5d1905,_0x12011a._0x8712df)]&&this['_initTilesetColorCorrection'](),this['_tilesetColorCorrection'];}[_0x54a7f1(0x307,-0x2a4)](){const _0x5fb2c={_0x164ca3:0x12e1};this[_0x11dd79(0xff1,0xc37)]&&this[_0x230332(0x15f9,0x12e1)][_0x230332(-0x38b,0x338)]();function _0x230332(_0x37ab42,_0x427af2){return _0x54a7f1(_0x427af2- -0xfa,_0x37ab42);}function _0x11dd79(_0x2f16cc,_0x1c9cc8){return _0x7afdbe(_0x1c9cc8,_0x2f16cc- -0x618);}this[_0x230332(0x1883,_0x5fb2c._0x164ca3)]=new TilesetColorCorrection({...this['options']['colorCorrection'],'layer':this}),this[_0x11dd79(0x3e9,0x705)]['addThing'](this['_tilesetColorCorrection']);}get[_0x7afdbe(0x1b47,0x1960)](){const _0x4ae672={_0xbd32d:0xbb8};function _0x283f4d(_0x4ee74e,_0x5145c6){return _0x7afdbe(_0x4ee74e,_0x5145c6- -0x280);}return this[_0x283f4d(0xaa3,_0x4ae672._0xbd32d)]&&this['transform'];}set['hasEdit'](_0x2e04e8){this['_hasEdit']=_0x2e04e8;}get['clip'](){const _0x2e2678={_0x553a3b:0x2131},_0x5eb434={_0x32e5a8:0x72};this['_map']&&!this['_tilesetClip']&&(this['loadOk']&&this['reload'](),this[_0x43eb19(_0x2e2678._0x553a3b,0x1908)]());function _0x43eb19(_0x2c9aa8,_0x49aaa6){return _0x7afdbe(_0x2c9aa8,_0x49aaa6-_0x5eb434._0x32e5a8);}return this['_tilesetClip'];}['_initTilesetClip'](){const _0x178a75={_0x132455:0x5cc},_0x236a9c={_0x554993:0x53a};this['_tilesetClip']&&this[_0x225660(_0x178a75._0x132455,0x191)]['destroy']();function _0x225660(_0x3daad1,_0x270ca8){return _0x7afdbe(_0x270ca8,_0x3daad1- -0x131);}function _0x1cb5fe(_0x1d9c49,_0x46cb61){return _0x7afdbe(_0x1d9c49,_0x46cb61- -_0x236a9c._0x554993);}this['_tilesetClip']=new TilesetClip({...this['options']['clip'],'layer':this}),this[_0x225660(0x8d0,0xc88)]['addThing'](this['_tilesetClip']);}get[_0x7afdbe(0xba3,0xdce)](){const _0x411fc7={_0x54f63d:0x9dd,_0x1fd57d:0x140a};function _0x1d184b(_0x3c18a0,_0x280fb9){return _0x7afdbe(_0x280fb9,_0x3c18a0- -0x24);}function _0x56f28e(_0x2a82e9,_0x30accd){return _0x7afdbe(_0x2a82e9,_0x30accd-0x80);}return this[_0x1d184b(_0x411fc7._0x54f63d,0xb8e)]&&!this['_tilesetFlat']&&(this['loadOk']&&this['reload'](),this[_0x1d184b(_0x411fc7._0x1fd57d,0x1529)]()),this['_tilesetFlat'];}['_initTilesetFlat'](){const _0x3cfdda={_0x4d9292:0xf8e,_0x49a2ce:0x156c},_0x29f76b={_0x42ffde:0x6cb};this[_0x52d610(_0x3cfdda._0x4d9292,0xcd1)]&&this['_tilesetFlat']['destroy']();function _0x11dc86(_0x235ff9,_0x10985d){return _0x7afdbe(_0x235ff9,_0x10985d- -0x25e);}function _0x52d610(_0x4e863c,_0x39a227){return _0x7afdbe(_0x4e863c,_0x39a227- -_0x29f76b._0x42ffde);}this[_0x11dc86(_0x3cfdda._0x49a2ce,0x113e)]=new TilesetFlat({...this[_0x11dc86(0x829,0x880)]['flat'],'layer':this}),this[_0x11dc86(0x1214,0x7a3)][_0x52d610(0x9f9,0xb8a)](this['_tilesetFlat']);}get[_0x7afdbe(-0x180,0x945)](){const _0x36d638={_0x196540:0x5b3,_0x545060:0x1890},_0x596ffa={_0x28a448:0x519},_0x2a4ebd={_0x4a2da6:0x42a};function _0x4d45f7(_0x1ea852,_0x2cc8d7){return _0x7afdbe(_0x2cc8d7,_0x1ea852- -_0x2a4ebd._0x4a2da6);}function _0x26f7ca(_0x5916cc,_0x54b92a){return _0x7afdbe(_0x54b92a,_0x5916cc- -_0x596ffa._0x28a448);}return this[_0x4d45f7(0x5d7,0x637)]&&!this[_0x26f7ca(0xec0,_0x36d638._0x196540)]&&(this['loadOk']&&this['reload'](),this['_initTilesetFlood']()),this[_0x4d45f7(0xfaf,_0x36d638._0x545060)];}['_initTilesetFlood'](){const _0x578fa4={_0x427162:0x9e0,_0x1bc234:0xeb9,_0x225872:0xc0d};this['_tilesetFlood']&&this[_0x172518(0x12db,0xb53)]['destroy']();function _0x172518(_0x4ac9ee,_0x4176a0){return _0x7afdbe(_0x4176a0,_0x4ac9ee- -0xfe);}function _0x288e8a(_0xaa0cf0,_0x55938f){return _0x7afdbe(_0x55938f,_0xaa0cf0- -0x648);}this['_tilesetFlood']=new TilesetFlood({...this[_0x172518(_0x578fa4._0x427162,_0x578fa4._0x1bc234)]['flood'],'layer':this}),this['_map'][_0x288e8a(_0x578fa4._0x225872,0x38d)](this[_0x172518(0x12db,0x1781)]);}get[_0x54a7f1(0xfb9,0x932)](){return this['_enabledEdit'];}async[_0x54a7f1(0x3cf,0x3e7)](){const _0x52f3ce={_0x1f0c69:0x42e,_0x34168d:0x3bb,_0x405d0b:0x63c,_0x29cc03:0xcaf,_0x4da5c1:0x1073,_0x152d80:0x1464,_0xd6413c:0x693,_0x4eafe4:0x75a,_0x51d488:0xb92,_0x2836a0:0x6ff,_0x4cb1ab:0x1254,_0x390d5c:0xe4d,_0x21569a:0x696,_0x345bcc:0xbce,_0x13326b:0x6e9,_0x31cb39:0x3f7,_0x1538d1:0xafa,_0x524a97:0x1776,_0x2471ba:0xff8,_0x26f362:0x966,_0x46d2ac:0xbea,_0x2ff8ff:0x921,_0x17b29d:0x558};if(this['options'][_0x14e887(0x528,_0x52f3ce._0x1f0c69)])return this[_0x1d62b2(0x1ad,0x693)][_0x1d62b2(-_0x52f3ce._0x34168d,0x1af)];function _0x1d62b2(_0x4b7f8e,_0x4e51f7){return _0x54a7f1(_0x4e51f7- -0x21d,_0x4b7f8e);}const _0x1914b9={'cacheBytes':0x40000000,'maximumCacheOverflowBytes':0x80000000,...this['options']};function _0x14e887(_0x2a37a1,_0xbb8f09){return _0x54a7f1(_0xbb8f09-0x62,_0x2a37a1);}_0x1914b9[_0x14e887(0xa3b,_0x52f3ce._0x405d0b)]=this[_0x1d62b2(_0x52f3ce._0x29cc03,0x156b)];const _0x5df3bc=_0x1914b9;Cesium__namespace[_0x1d62b2(_0x52f3ce._0x4da5c1,_0x52f3ce._0x152d80)](this[_0x1d62b2(0x10c7,_0x52f3ce._0xd6413c)]['maxMemory'])&&(!Cesium__namespace['defined'](this[_0x14e887(_0x52f3ce._0x4eafe4,0x912)]['cacheBytes'])&&(_0x5df3bc[_0x14e887(0x1162,0x13a1)]=this[_0x1d62b2(_0x52f3ce._0x51d488,0x693)]['maxMemory']*0x400*0x400),!Cesium__namespace[_0x1d62b2(0x1c56,0x1464)](this['options'][_0x1d62b2(0xc93,_0x52f3ce._0x2836a0)])&&(_0x5df3bc['maximumCacheOverflowBytes']=_0x5df3bc['cacheBytes']*1.5));if(this['options'][_0x14e887(_0x52f3ce._0x4cb1ab,_0x52f3ce._0x390d5c)]){if(this['options']['ionToken']||this['options']['ionServer']){const _0xb39a37=await Cesium__namespace['IonResource']['fromAssetId'](this['options'][_0x1d62b2(_0x52f3ce._0x21569a,_0x52f3ce._0x345bcc)],{'accessToken':this[_0x14e887(0xb4a,0x912)][_0x1d62b2(_0x52f3ce._0x13326b,_0x52f3ce._0x31cb39)]??this[_0x1d62b2(0x305,0x693)]['accessToken'],'server':this['options']['ionServer']});return await Cesium__namespace['Cesium3DTileset'][_0x14e887(0x38a,_0x52f3ce._0x1538d1)](_0xb39a37,_0x5df3bc);}return await Cesium__namespace[_0x14e887(_0x52f3ce._0x524a97,_0x52f3ce._0x2471ba)][_0x14e887(_0x52f3ce._0x26f362,_0x52f3ce._0x46d2ac)](this['options'][_0x1d62b2(_0x52f3ce._0x2ff8ff,0xbce)],_0x5df3bc);}else{const _0x4bd303=getUrlResource(this[_0x1d62b2(0x2df,0x693)],this[_0x1d62b2(-_0x52f3ce._0x17b29d,0x1f5)]);return await Cesium__namespace['Cesium3DTileset']['fromUrl'](_0x4bd303,_0x5df3bc);}}['_addedHook'](){const _0x2906f2={_0x4723ca:0xa11,_0x14053d:0x13ca,_0x5f3ad1:0xc24,_0x26c1dc:0x742,_0x49b3bc:0xb06,_0x3e908c:0x3ad,_0x1c12ba:0xd5b,_0x55376a:0x54f,_0xaf9b93:0x175,_0x17fde1:0xcc0,_0x3dd3b7:0x811,_0x2bd6ed:0x120,_0x1914d1:0x6a0,_0x46f3a1:0x421,_0x5bc1f6:0x755,_0x43558e:0x32b,_0x36b88b:0xb0},_0x12cf2e={_0xa4713f:0xfb2,_0x880c4b:0x149c,_0x2bf554:0xc92,_0x2ee41f:0xd86};var _0x57117d,_0x26a116,_0x337ea6,_0x4ecb3f,_0x52f55a,_0x270b32,_0x4557de,_0x5c8a50;this[_0x1de8fe(0xaf1,_0x2906f2._0x4723ca)]=![],super['_addedHook'](),this['_conventMarsOptions']();(((_0x57117d=this['options'][_0x1de8fe(-0xe1,0x69d)])===null||_0x57117d===void 0x0||(_0x57117d=_0x57117d[_0x1de8fe(0x846,0x1e5)])===null||_0x57117d===void 0x0?void 0x0:_0x57117d[_0x553f78(_0x2906f2._0x14053d,_0x2906f2._0x5f3ad1)])>0x0||(_0x26a116=this['options']['flat'])!==null&&_0x26a116!==void 0x0&&_0x26a116['enabled'])&&this['_initTilesetFlat']();(((_0x337ea6=this['options']['flood'])===null||_0x337ea6===void 0x0||(_0x337ea6=_0x337ea6[_0x553f78(_0x2906f2._0x26c1dc,0x387)])===null||_0x337ea6===void 0x0?void 0x0:_0x337ea6[_0x1de8fe(_0x2906f2._0x49b3bc,0xa82)])>0x0||(_0x4ecb3f=this[_0x1de8fe(-0xe0,_0x2906f2._0x3e908c)]['flood'])!==null&&_0x4ecb3f!==void 0x0&&_0x4ecb3f['enabled'])&&this['_initTilesetFlood']();(((_0x52f55a=this[_0x553f78(_0x2906f2._0x1c12ba,_0x2906f2._0x55376a)]['clip'])===null||_0x52f55a===void 0x0||(_0x52f55a=_0x52f55a[_0x553f78(-0x374,0x387)])===null||_0x52f55a===void 0x0?void 0x0:_0x52f55a['length'])>0x0||(_0x270b32=this[_0x553f78(-_0x2906f2._0xaf9b93,_0x2906f2._0x55376a)][_0x1de8fe(_0x2906f2._0x17fde1,_0x2906f2._0x3dd3b7)])!==null&&_0x270b32!==void 0x0&&_0x270b32[_0x1de8fe(_0x2906f2._0x2bd6ed,_0x2906f2._0x1914d1)])&&this['_initTilesetClip']();function _0x1de8fe(_0x29ffd6,_0x317eb9){return _0x54a7f1(_0x317eb9- -0x503,_0x29ffd6);}function _0x553f78(_0x516ea5,_0x1f0d72){return _0x7afdbe(_0x516ea5,_0x1f0d72- -0x58f);}(((_0x4557de=this[_0x1de8fe(-0x120,0x3ad)][_0x553f78(0x264,0x12c)])===null||_0x4557de===void 0x0||(_0x4557de=_0x4557de['positions'])===null||_0x4557de===void 0x0?void 0x0:_0x4557de['length'])>0x0||(_0x5c8a50=this['options']['planClip'])!==null&&_0x5c8a50!==void 0x0&&_0x5c8a50['enabled'])&&this[_0x1de8fe(_0x2906f2._0x46f3a1,0x539)](),this[_0x1de8fe(0x8af,0x3ad)][_0x1de8fe(_0x2906f2._0x5bc1f6,_0x2906f2._0x43558e)]&&this[_0x553f78(0x490,-0x5a)](),this['_createCesium3DTileset']()[_0x1de8fe(-0x508,_0x2906f2._0x36b88b)](_0x482346=>{if(this['isDestroy']||!this[_0x23af5c(0x591,0x6b9)])return;const _0x1cc9d3={};_0x1cc9d3['tileset']=_0x482346,this[_0x23af5c(0xc76,_0x12cf2e._0xa4713f)](EventType['loadBefore'],_0x1cc9d3),this['_initModel'](_0x482346),this['loadOk']=!![],this['_readyPromise']['resolve'](this);const _0x186633={};function _0x23af5c(_0x40269a,_0xc3d885){return _0x553f78(_0xc3d885,_0x40269a-0x11f);}function _0x180823(_0x1b416d,_0x1513bc){return _0x1de8fe(_0x1b416d,_0x1513bc-0x2dd);}_0x186633['tileset']=_0x482346,this[_0x180823(_0x12cf2e._0x880c4b,_0x12cf2e._0x2bf554)](EventType[_0x23af5c(0x2f5,_0x12cf2e._0x2ee41f)],_0x186633);})['catch'](_0x275a5a=>{const _0x40e749={_0x1cc749:0x408};function _0x58431d(_0xe08f1d,_0x2eed2e){return _0x553f78(_0xe08f1d,_0x2eed2e-_0x40e749._0x1cc749);}this['_readyPromise'][_0x58431d(0x37,0x85f)](_0x275a5a);});}['_removedHook'](){const _0x193236={_0x22a57f:0x153d,_0x4da2c2:0x17ff,_0x1f4a57:0x1534,_0x337c8c:0x1111,_0x1c8d8a:0x13b0,_0x28a2b3:0x10b8,_0xb09600:0x114e,_0x33f2fc:0x118d,_0x34eb00:0x19c9,_0x2d8c04:0x1427,_0x35a59b:0x235,_0x28c383:0x7fa,_0x195664:0x776,_0x6ca7c9:0x124,_0x454b90:0xe8c,_0x31d6bb:0x617,_0x3575d9:0xf69};this['_tileset']&&(this['_tileset'][_0x5c920e(0xb89,_0x193236._0x22a57f)]=![]);function _0x34b3a4(_0x460fd6,_0x34f327){return _0x54a7f1(_0x460fd6- -0x5d,_0x34f327);}this['_tilesetClip']&&(this[_0x34b3a4(0x776,0x776)][_0x5c920e(_0x193236._0x4da2c2,_0x193236._0x1f4a57)](this['_tilesetClip'],!![]),delete this['_tilesetClip']);this['_tilesetFlat']&&(this['_map'][_0x5c920e(0xcfb,0x1534)](this[_0x34b3a4(_0x193236._0x337c8c,0x1b18)],!![]),delete this[_0x5c920e(_0x193236._0x1c8d8a,_0x193236._0x28a2b3)]);this[_0x34b3a4(_0x193236._0xb09600,_0x193236._0x33f2fc)]&&(this['_map']['removeThing'](this['_tilesetFlood'],!![]),delete this[_0x5c920e(0x177d,0x10f5)]);this['_tilesetPlanClip']&&(this['_map']['removeThing'](this['_tilesetPlanClip'],!![]),delete this['_tilesetPlanClip']);this[_0x34b3a4(0x137e,0xea7)]&&(this['_map']['removeThing'](this[_0x5c920e(_0x193236._0x34eb00,0x1325)],!![]),delete this[_0x34b3a4(0x137e,_0x193236._0x2d8c04)]);function _0x5c920e(_0x55e29d,_0xb5dfa2){return _0x7afdbe(_0x55e29d,_0xb5dfa2- -0x2e4);}super[_0x34b3a4(0x9f2,0x626)](),Cesium__namespace['defined'](this[_0x5c920e(-_0x193236._0x35a59b,_0x193236._0x28c383)][_0x5c920e(0xc28,0x5cb)])&&this[_0x34b3a4(_0x193236._0x195664,-_0x193236._0x6ca7c9)]['off'](EventType[_0x34b3a4(_0x193236._0x454b90,_0x193236._0x31d6bb)],this['updateVisibleDistance'],this),this[_0x34b3a4(0x865,0x1c2)]&&(this['_map']['scene']['primitives']['remove'](this['_tileset']),delete this[_0x5c920e(_0x193236._0x3575d9,0x80c)]);}['reload'](){const _0x5dd3f0={_0x172e82:0x11ef,_0x1fcbab:0x718,_0x2010c2:0x11ef,_0x30861b:0x1747,_0x40aea4:0x1514};this['_readyPromise']=Cesium__namespace['defer']();const _0x511079=this['options'][_0x4fc991(_0x5dd3f0._0x172e82,0x18ca)]??![];function _0x4fc991(_0x4365a1,_0x435d2c){return _0x7afdbe(_0x435d2c,_0x4365a1- -0x339);}this['_removedHook']();function _0x333e99(_0x583b2d,_0x448896){return _0x54a7f1(_0x583b2d- -0x9a,_0x448896);}this[_0x4fc991(_0x5dd3f0._0x1fcbab,-0xed)]&&(this['options'][_0x4fc991(_0x5dd3f0._0x2010c2,_0x5dd3f0._0x30861b)]=![],this['once'](EventType['load'],()=>{this['options']['flyTo']=_0x511079;}),this[_0x4fc991(0x1016,_0x5dd3f0._0x40aea4)]());}['_mergePostion'](_0xbeb53c){const _0xd7428={_0x4d9757:0x16fa,_0xef3bd9:0x541,_0x1c8001:0x187c,_0x4c4ef8:0x11c2,_0x20f472:0x1f47,_0x18e4a6:0x1443,_0x47fb41:0x1440,_0x42c34b:0x190d,_0x964f6:0x1289,_0xa88570:0x14bd,_0x570633:0x134b,_0x55df06:0x15c3,_0x5c58d4:0xf63,_0xcf3fb8:0x3e5,_0x4e58d3:0x6e1},_0x4aff30={_0x43b5f2:0x5e},_0x1c7121={_0x594ed2:0xa8};function _0x31ce4f(_0xd27d41,_0xf7b9e7){return _0x7afdbe(_0xd27d41,_0xf7b9e7- -_0x1c7121._0x594ed2);}function _0x2bd9fd(_0xa1d65,_0x360254){return _0x7afdbe(_0xa1d65,_0x360254-_0x4aff30._0x43b5f2);}_0xbeb53c&&((Array[_0x2bd9fd(0xe0a,_0xd7428._0x4d9757)](_0xbeb53c)||isString(_0xbeb53c))&&(_0xbeb53c=LngLatPoint[_0x31ce4f(0x495,_0xd7428._0xef3bd9)](_0xbeb53c)),!this[_0x2bd9fd(_0xd7428._0x1c8001,_0xd7428._0x4c4ef8)]&&(this['_center']=new LngLatPoint()),Cesium__namespace[_0x31ce4f(_0xd7428._0x20f472,0x1807)](_0xbeb53c[_0x31ce4f(_0xd7428._0x18e4a6,_0xd7428._0x47fb41)])&&(this['center']['lat']=_0xbeb53c[_0x31ce4f(0x18e2,0x1440)]),Cesium__namespace[_0x2bd9fd(0xf04,_0xd7428._0x42c34b)](_0xbeb53c[_0x31ce4f(_0xd7428._0x964f6,_0xd7428._0xa88570)])&&(this['center'][_0x2bd9fd(_0xd7428._0x570633,_0xd7428._0x55df06)]=_0xbeb53c['lng']),Cesium__namespace['defined'](_0xbeb53c['alt_offset'])&&(this['center']['alt']=this['_orginCenterPoint'][_0x31ce4f(0x8c8,0x5db)]+_0xbeb53c[_0x31ce4f(_0xd7428._0x5c58d4,0xd63)]),Cesium__namespace['defined'](_0xbeb53c['alt'])&&(this['center'][_0x31ce4f(0xf9f,0x5db)]=_0xbeb53c[_0x2bd9fd(_0xd7428._0xcf3fb8,_0xd7428._0x4e58d3)]));}['_setOptionsHook'](_0x5ef86f,_0x3ac64e){const _0x53a24d={_0x2d996b:0x71f,_0xae3cd8:0x1017,_0x297d91:0x1931,_0x45ce70:0x3b4,_0x4efde5:0x139b,_0x10cb9e:0x8ec,_0x1057bc:0x238,_0x44c871:0xbc4,_0x1c8a34:0x15b0,_0x24995a:0xd2a,_0xcc37b7:0x1929,_0x406954:0x223,_0x23c150:0x63b,_0x318d16:0x1493,_0x1fe45e:0x295};function _0x5856b0(_0xc3ba12,_0xd6acd3){return _0x7afdbe(_0xd6acd3,_0xc3ba12- -0x35f);}if(!this['_tileset'])return;let _0x3c1812,_0xec67ff;function _0x30ea4d(_0x3ad77c,_0x18694c){return _0x54a7f1(_0x3ad77c- -0x137,_0x18694c);}for(const _0x314963 in _0x3ac64e){const _0x9f2bd5=_0x5ef86f[_0x314963];switch(_0x314963){case'highlight':{var _0x36f29d,_0x27128c;(_0x36f29d=this['_last_picked'])!==null&&_0x36f29d!==void 0x0&&_0x36f29d['event']&&!((_0x27128c=_0x3ac64e[_0x5856b0(0x5ad,0x8fc)])!==null&&_0x27128c!==void 0x0&&_0x27128c[_0x5856b0(0x705,_0x53a24d._0x2d996b)])?this[_0x5856b0(0xd4f,0x9de)](this[_0x5856b0(_0x53a24d._0xae3cd8,_0x53a24d._0x297d91)][_0x5856b0(_0x53a24d._0x45ce70,-0x3e9)]):super[_0x5856b0(0x1626,_0x53a24d._0x4efde5)](_0x5ef86f,_0x3ac64e);break;}case _0x30ea4d(_0x53a24d._0x10cb9e,-0x2d):{var _0x35fbd;((_0x35fbd=this[_0x5856b0(0x791,0xa66)])===null||_0x35fbd===void 0x0?void 0x0:_0x35fbd['_url'])!==_0x3ac64e[_0x30ea4d(0x8ec,_0x53a24d._0x1057bc)]&&(_0x3c1812=!![]);break;}case'classificationType':case'chinaCRS':case'flat':case _0x30ea4d(0x5e0,-0x357):case'clip':case'planClip':{_0x3c1812=!![];break;}case _0x30ea4d(0x6f7,_0x53a24d._0x44c871):{this['_tilesetColorCorrection']?this['colorCorrection']['setOptions'](_0x9f2bd5):_0x3c1812=!![];break;}case _0x5856b0(_0x53a24d._0x1c8a34,_0x53a24d._0x24995a):case'rotation':case'scale':case _0x30ea4d(0x9a7,0x32f):case'scaleY':case _0x30ea4d(0x62a,0x25f):case _0x5856b0(0x1226,_0x53a24d._0xcc37b7):_0xec67ff=!![];break;case _0x30ea4d(_0x53a24d._0x406954,-_0x53a24d._0x23c150):case'style':case _0x5856b0(_0x53a24d._0x318d16,0x15e3):case _0x5856b0(0x506,-0x11f):this[_0x314963]=_0x9f2bd5;break;default:{try{this[_0x30ea4d(_0x53a24d._0x1fe45e,-0x459)][_0x314963]=_0x9f2bd5;}catch(_0x45ba07){_0x3c1812=!![];}break;}}if(_0x3c1812){this[_0x5856b0(0x1286,0x10ca)]();return;}}_0xec67ff&&(this['_mergePostion'](this['options'][_0x30ea4d(0x15aa,0x1a40)]),this['updateMatrix']());}['_initModel'](_0x2bbe46){const _0x27e971={_0x53c02d:0x1260,_0x1a9f85:0x12b,_0x3225f3:0xcee,_0x2d2a0a:0x711,_0x41cec6:0x168,_0x4af83d:0x946,_0x10e813:0x463,_0x4f6d64:0xa6f,_0x2928e2:0x2fa,_0x529fde:0x94d,_0x511ef8:0x47c,_0x5603c9:0x1715,_0x525d00:0xe54,_0x239b81:0x592,_0x264a89:0x104d,_0x19a2f5:0x114e,_0x3958f9:0x1cc3,_0xc7e8be:0x149b,_0x513068:0x1332,_0x228176:0x1c14,_0xa9c011:0x1372,_0x32b9c8:0x1688,_0x516724:0xe6,_0x44a49e:0x79f,_0x2fce98:0x79f,_0x31b539:0xd69,_0x43a0be:0xcaf,_0x50a359:0x527,_0x286c30:0x2fb,_0x2d06d7:0x13b8,_0xc9d96e:0x4ac,_0x47b969:0x32a,_0x270ed3:0x7d2,_0x183a89:0x42b},_0x421921={_0x1e7deb:0x8b};var _0xae536b;this['_tileset']=_0x2bbe46;function _0x129bbf(_0x4ccd85,_0x4c68b8){return _0x7afdbe(_0x4ccd85,_0x4c68b8- -0x30c);}this['_tileset']['name']=this[_0x69fa38(_0x27e971._0x53c02d,0x1307)];function _0x69fa38(_0x5b5e89,_0x58864d){return _0x54a7f1(_0x58864d-_0x421921._0x1e7deb,_0x5b5e89);}this['_tileset'][_0x69fa38(0x1946,0x167e)]=this['show'],this[_0x69fa38(_0x27e971._0x1a9f85,0x94d)]['_mars3d_layerId']=this['id'];!this['options']['tileset']&&this['_map']['scene']['primitives']['add'](this['_tileset']);this['_tileset']['initialTilesLoaded']['addEventListener'](_0x1f86da=>{this['fire'](EventType['initialTilesLoaded'],_0x1f86da);}),this['_tileset']['allTilesLoaded']['addEventListener'](_0x260970=>{function _0x448f2d(_0x3ad8dd,_0x3d32e1){return _0x129bbf(_0x3ad8dd,_0x3d32e1-0x160);}this['fire'](EventType[_0x448f2d(0x14db,0xcad)],_0x260970);}),this['_orginCenterPosition']=Cesium__namespace[_0x129bbf(_0x27e971._0x3225f3,_0x27e971._0x2d2a0a)](this['_tileset']['boundingSphere']['center']);const _0x25c2ec=(_0xae536b=this['_tileset'][_0x129bbf(0xd67,0x10ef)])===null||_0xae536b===void 0x0?void 0x0:_0xae536b[_0x69fa38(0x24d,0x31d)];this['transform']=this[_0x69fa38(0x12b,0x93b)]['transform']??Boolean(_0x25c2ec&&!_0x25c2ec['equals'](Cesium__namespace['Matrix4']['IDENTITY']));if(this['transform']){this[_0x129bbf(_0x27e971._0x41cec6,_0x27e971._0x4af83d)]=Cesium__namespace[_0x69fa38(-0x594,_0x27e971._0x10e813)]['inverse'](Cesium__namespace[_0x129bbf(_0x27e971._0x4f6d64,_0x27e971._0x2928e2)]['fromArray'](this[_0x69fa38(0x1020,_0x27e971._0x529fde)]['_root'][_0x129bbf(-_0x27e971._0x511ef8,0x1b4)]),new Cesium__namespace['Matrix4']());const _0x1ce1da=Cesium__namespace['Matrix4']['fromArray'](this['_tileset']['_root']['transform']),_0x5b6f1c=Cesium__namespace['Matrix4'][_0x69fa38(0x2129,_0x27e971._0x5603c9)](_0x1ce1da,new Cesium__namespace[(_0x69fa38(0x15e1,0x1372))]());if(Cesium__namespace['defined'](_0x5b6f1c)&&Cesium__namespace[_0x129bbf(_0x27e971._0x525d00,0x7f2)][_0x69fa38(_0x27e971._0x239b81,0x3c8)](_0x5b6f1c)){this[_0x69fa38(_0x27e971._0x264a89,0x12df)]=_0x5b6f1c;const _0x50484b=Cesium__namespace['Matrix4'][_0x129bbf(0x1146,_0x27e971._0x19a2f5)](_0x1ce1da,new Cesium__namespace[(_0x69fa38(_0x27e971._0x3958f9,0x149b))]()),_0x4b8e4e=Cesium__namespace['Matrix4']['getMatrix3'](Cesium__namespace[_0x129bbf(0x141,0x68f)]['eastNorthUpToFixedFrame'](_0x5b6f1c),new Cesium__namespace[(_0x69fa38(0x17d7,_0x27e971._0xc7e8be))]()),_0x4b5cd2=Cesium__namespace[_0x129bbf(0x1a0c,_0x27e971._0x513068)]['getColumn'](_0x4b8e4e,0x0,new Cesium__namespace['Cartesian3']()),_0x59cdd8=Cesium__namespace['Matrix3'][_0x129bbf(0x6b9,0xe64)](_0x4b8e4e,0x1,new Cesium__namespace['Cartesian3']()),_0x4f32f9=Cesium__namespace['Matrix3']['getColumn'](_0x4b8e4e,0x2,new Cesium__namespace['Cartesian3']());let _0x2f1446=Cesium__namespace['Matrix3']['getColumn'](_0x50484b,0x0,new Cesium__namespace['Cartesian3']());_0x2f1446=Cesium__namespace[_0x69fa38(_0x27e971._0x228176,_0x27e971._0xa9c011)][_0x129bbf(0x1e57,_0x27e971._0x32b9c8)](_0x2f1446,_0x4f32f9,_0x2f1446),_0x2f1446=Cesium__namespace['Cartesian3']['cross'](_0x4f32f9,_0x2f1446,_0x2f1446),_0x2f1446=Cesium__namespace['Cartesian3']['normalize'](_0x2f1446,_0x2f1446);let _0x49463a=Cesium__namespace['Cartesian3']['angleBetween'](_0x4b5cd2,_0x2f1446);const _0x9846e1=Cesium__namespace['Cartesian3']['angleBetween'](_0x59cdd8,_0x2f1446);_0x9846e1>Math['PI']*0.5&&(_0x49463a=0x2*Math['PI']-_0x49463a),this['orginRotation']={'x':0x0,'y':0x0,'z':Number(Cesium__namespace['Math']['toDegrees'](_0x49463a)['toFixed'](0x1))};}else this['transform']=![];}this[_0x129bbf(-_0x27e971._0x516724,_0x27e971._0x44a49e)]=LngLatPoint['fromCartesian'](this['_orginCenterPosition']),logInfo((this['name']||_0x69fa38(0xf20,0xca0))+'\x20模型中心位置:'+this[_0x129bbf(0xee5,_0x27e971._0x2fce98)][_0x69fa38(0x1410,_0x27e971._0x31b539)]());Cesium__namespace['defined'](this['options']['style'])&&(this[_0x69fa38(_0x27e971._0x43a0be,_0x27e971._0x50a359)]=this['options'][_0x69fa38(-_0x27e971._0x286c30,0x527)]);this['setOpacity'](this['opacity']);Cesium__namespace['defined'](this[_0x69fa38(0xb43,0x93b)]['brightness'])&&(this['brightness']=this[_0x69fa38(_0x27e971._0x2d06d7,0x93b)]['brightness']);this['_center']=this['_orginCenterPoint'][_0x69fa38(0x12f,0x87a)](),this[_0x69fa38(_0x27e971._0xc9d96e,0x3d3)](this['options']['position']);if(this[_0x129bbf(_0x27e971._0x47b969,_0x27e971._0x270ed3)][_0x69fa38(0x3ee,0xd58)]){const _0x42ad4f=this[_0x129bbf(0x11c3,0x9e0)](this[_0x69fa38(0x10a8,0x608)]);this[_0x129bbf(-0x20b,0x26a)](_0x42ad4f);}this['_hasUpdateMater']()&&this['updateMatrix'](),Cesium__namespace['defined'](this[_0x129bbf(0x58e,0x7d2)][_0x129bbf(_0x27e971._0x183a89,0x5a3)])&&this['bindVisibleDistance'](),this['options']['clampToGround']&&this['clampToGround']();}[_0x7afdbe(0xbad,0x146e)](_0x50e347){const _0x2b1239={_0x543125:0x47c,_0x3de297:0x571,_0x55fbbd:0x482};function _0x1d22c8(_0x4660c2,_0x2d359d){return _0x54a7f1(_0x2d359d- -0x15f,_0x4660c2);}const _0x36c975=LngLatPoint['toCartographic'](_0x50e347);function _0x568db2(_0x105a97,_0x561d17){return _0x54a7f1(_0x561d17- -0x351,_0x105a97);}return this[_0x568db2(-_0x2b1239._0x543125,_0x2b1239._0x3de297)]['getHeight'](_0x36c975,this[_0x568db2(-0x42b,_0x2b1239._0x55fbbd)]['scene'])??_0x36c975['height'];}[_0x54a7f1(0x1569,0x1472)](_0x5eafa8=0x1){const _0x4d81c0={_0x3b69b7:0x1f6};function _0x133c12(_0x571fa1,_0x3f63ac){return _0x7afdbe(_0x571fa1,_0x3f63ac- -0x269);}function _0x31987b(_0x151cdc,_0x39d5ac){return _0x54a7f1(_0x39d5ac- -_0x4d81c0._0x3b69b7,_0x151cdc);}this['_map']&&this['_map']['hasTerrain']?getSurfaceTerrainHeight(this[_0x133c12(0xd61,0x798)]['scene'],this['_orginCenterPosition'])[_0x133c12(0xcdb,0x578)](_0x25708d=>{const _0x4145e6={_0x1bb4ac:0x2c4};function _0x18a29b(_0x4975f3,_0x5c96e0){return _0x133c12(_0x5c96e0,_0x4975f3- -_0x4145e6._0x1bb4ac);}function _0x175d96(_0xce4593,_0x5ba134){return _0x31987b(_0x5ba134,_0xce4593-0x423);}Cesium__namespace['defined'](_0x25708d[_0x18a29b(0x368,-0x3d4)])&&(this['alt']=_0x25708d['height']-this[_0x18a29b(0x57e,0x3ac)]['alt']+_0x5eafa8);}):this[_0x31987b(-0x2ec,0x25f)]=-this['_orginCenterPoint']['alt']+_0x5eafa8;}['_hasUpdateMater'](){const _0x4bd831={_0x4408f1:0x1057,_0x56c795:0x628,_0x83c6de:0x13f9,_0x3c3e46:0xa70,_0x3caa1b:0x628};if(!this[_0x19289d(_0x4bd831._0x4408f1,0x728)]['equals'](this['_orginCenterPoint']))return!![];if(this[_0x82c986(_0x4bd831._0x56c795,0xb1d)][_0x82c986(0xf69,0x13c0)])return!![];if(Cesium__namespace[_0x82c986(_0x4bd831._0x83c6de,0x1bb4)](this['options'][_0x19289d(0xf8a,0x14ba)])&&this['options'][_0x19289d(0xcdb,0x14ba)]!==0x1)return!![];function _0x19289d(_0x42981f,_0x2fbc2d){return _0x54a7f1(_0x2fbc2d-0x1ab,_0x42981f);}if(Cesium__namespace[_0x19289d(0x1566,0x182c)](this['options'][_0x82c986(0x856,_0x4bd831._0x3c3e46)])||Cesium__namespace['defined'](this['options']['scaleY'])||Cesium__namespace['defined'](this[_0x82c986(_0x4bd831._0x3caa1b,0x486)]['scaleZ']))return!![];function _0x82c986(_0x30b9a4,_0x1ff9f1){return _0x7afdbe(_0x1ff9f1,_0x30b9a4- -0x4b6);}if(Cesium__namespace['defined'](this['options']['axis']))return!![];return![];}[_0x54a7f1(0x11ea,0xc53)](){const _0x59d245={_0x4e86bb:0x16fc,_0x5867f1:0x12f7,_0x175b05:0x833,_0x7de941:0xb9a,_0x3a5493:0x13a7,_0x62d7d9:0x9c2,_0x46b928:0x475,_0x5939db:0x1156,_0x2d609d:0x966,_0x566af4:0x4f7,_0x50e670:0x129f,_0x138bfc:0x181d,_0x26bf4d:0x181d,_0x370d43:0x83a,_0x4d10ee:0x6e0,_0x30a436:0x952,_0x374564:0x1d53,_0x57ba7f:0x178e,_0x278d42:0x9bd,_0x4f6b93:0x1210,_0x1ac858:0xf2,_0x108fef:0x3ed,_0x147edc:0x601,_0x4acec9:0x43f,_0x3b8ec8:0x9bd,_0x15a6f:0x4e5,_0x35a748:0x43f,_0x5e0868:0xc38,_0x1fc274:0xe7e,_0x27aa9d:0x737,_0x2c87ea:0x13d8,_0x386741:0x1858,_0x3109f6:0x488},_0x57d3f7={_0x1ab91f:0x121};if(!this['_tileset'])return undefined;if(this['options'][_0x3ab917(_0x59d245._0x4e86bb,_0x59d245._0x5867f1)]){const _0x63264c=this['options']['updateMatrix'](this['position'],this);return this['_tileset'][_0x3ab917(-0x22c,_0x59d245._0x175b05)]=_0x63264c,_0x63264c;}if(!this['transform'])return this[_0x331f67(0x10cc,0xd6f)]();function _0x3ab917(_0x5ae84d,_0x18aa75){return _0x7afdbe(_0x5ae84d,_0x18aa75- -_0x57d3f7._0x1ab91f);}let _0x11553d=Cesium__namespace['Transforms'][_0x3ab917(_0x59d245._0x7de941,_0x59d245._0x3a5493)](this['position']);if(this['options']['rotation']){const _0x8e10ff=Cesium__namespace['Matrix3'][_0x3ab917(_0x59d245._0x62d7d9,0x13a8)](Cesium__namespace[_0x3ab917(0x1e3e,0x13b9)]['toRadians'](this[_0x3ab917(0x403,_0x59d245._0x46b928)])),_0xa90419=Cesium__namespace['Matrix3']['fromRotationY'](Cesium__namespace[_0x331f67(_0x59d245._0x5939db,0xe3b)]['toRadians'](this[_0x3ab917(_0x59d245._0x2d609d,0x11a3)])),_0x1d6569=Cesium__namespace['Matrix3'][_0x3ab917(_0x59d245._0x566af4,0x645)](Cesium__namespace['Math']['toRadians'](0x168-this['rotation_z'])),_0x3ff09a=Cesium__namespace['Matrix4'][_0x331f67(0x91b,_0x59d245._0x50e670)](_0x8e10ff),_0x507e41=Cesium__namespace[_0x331f67(-0x583,-0x99)][_0x3ab917(0x20d0,_0x59d245._0x138bfc)](_0xa90419),_0xc5114d=Cesium__namespace[_0x3ab917(-0x4c5,0x4e5)][_0x3ab917(0x1be5,_0x59d245._0x26bf4d)](_0x1d6569);Cesium__namespace[_0x331f67(-_0x59d245._0x370d43,-0x99)]['multiply'](_0x11553d,_0x3ff09a,_0x11553d),Cesium__namespace[_0x331f67(-_0x59d245._0x4d10ee,-0x99)]['multiply'](_0x11553d,_0x507e41,_0x11553d),Cesium__namespace[_0x3ab917(-0x543,0x4e5)][_0x331f67(_0x59d245._0x30a436,0x5d8)](_0x11553d,_0xc5114d,_0x11553d);}if(Cesium__namespace[_0x3ab917(_0x59d245._0x374564,_0x59d245._0x57ba7f)](this[_0x3ab917(0xa80,_0x59d245._0x278d42)][_0x3ab917(0x2cf,0xbeb)])||Cesium__namespace['defined'](this['options']['scaleY'])||Cesium__namespace[_0x331f67(0x1ba2,_0x59d245._0x4f6b93)](this['options'][_0x331f67(-0x3f4,0x2f0)]))Cesium__namespace['Matrix4']['multiplyByScale'](_0x11553d,new Cesium__namespace['Cartesian3'](this[_0x3ab917(_0x59d245._0x1ac858,0x9bd)][_0x331f67(0x6f1,0x66d)]??0x1,this[_0x3ab917(0x200,0x9bd)][_0x331f67(_0x59d245._0x108fef,0xc1d)]??0x1,this['options']['scaleZ']??0x1),_0x11553d);else Cesium__namespace['defined'](this[_0x331f67(_0x59d245._0x147edc,_0x59d245._0x4acec9)]['scale'])&&this[_0x3ab917(-0x9,_0x59d245._0x3b8ec8)]['scale']!==0x1&&Cesium__namespace[_0x3ab917(0x1e7,_0x59d245._0x15a6f)]['multiplyByUniformScale'](_0x11553d,this[_0x331f67(0xa92,_0x59d245._0x35a748)]['scale'],_0x11553d);if(Cesium__namespace['defined'](this['options']['axis'])){let _0x4fe25b;if(isString(this['options']['axis']))switch(this['options']['axis'][_0x3ab917(_0x59d245._0x5e0868,0x62f)]()){case'Y_UP_TO_Z_UP':_0x4fe25b=Cesium__namespace[_0x3ab917(_0x59d245._0x1fc274,0x1858)][_0x331f67(_0x59d245._0x27aa9d,0xef)];break;case'Z_UP_TO_Y_UP':_0x4fe25b=Cesium__namespace['Axis']['Z_UP_TO_Y_UP'];break;case'X_UP_TO_Z_UP':_0x4fe25b=Cesium__namespace[_0x331f67(0x192d,0x12da)][_0x3ab917(0x12fc,0x16fd)];break;case _0x331f67(_0x59d245._0x2c87ea,0xf1a):_0x4fe25b=Cesium__namespace[_0x3ab917(0x1ba3,_0x59d245._0x386741)]['Z_UP_TO_X_UP'];break;case'X_UP_TO_Y_UP':_0x4fe25b=Cesium__namespace[_0x331f67(0xfbb,0x12da)]['X_UP_TO_Y_UP'];break;case'Y_UP_TO_X_UP':_0x4fe25b=Cesium__namespace['Axis']['Y_UP_TO_X_UP'];break;}else this[_0x331f67(0x782,_0x59d245._0x35a748)]['axis']instanceof Cesium__namespace[_0x3ab917(0x1204,_0x59d245._0x386741)]&&(_0x4fe25b=this['options']['axis']);_0x4fe25b&&(_0x11553d=Cesium__namespace['Matrix4']['multiplyTransformation'](_0x11553d,_0x4fe25b,_0x11553d));}this[_0x331f67(0x835,0x451)]['_root']['transform']=_0x11553d,this[_0x331f67(_0x59d245._0x3109f6,0xa47)](EventType[_0x3ab917(-0x1ba,0x87d)],{'position':this['position']});function _0x331f67(_0x185094,_0x45f9db){return _0x54a7f1(_0x45f9db- -0x471,_0x185094);}return _0x11553d;}[_0x54a7f1(0x11e0,0xdaa)](){const _0x81babf={_0x238c09:0x141e,_0x3c25be:0xdaa,_0x3cb70b:0x7dc,_0x20d354:0x9f9},_0x6532a1={_0x47ce8a:0x34d},_0x245099={_0x3df687:0xf7};if(!this[_0x5b7e2d(0x9f9,0x1300)]||!this['_tileset']['_root'])return;function _0x5b7e2d(_0x420d72,_0x4b86d8){return _0x7afdbe(_0x4b86d8,_0x420d72- -_0x245099._0x3df687);}const _0x15442e=this['_orginCenterPosition'],_0x370e1b=this['position'];function _0x567012(_0x3c4cd6,_0x4788b7){return _0x7afdbe(_0x3c4cd6,_0x4788b7- -_0x6532a1._0x47ce8a);}const _0x1176c1=Cesium__namespace[_0x5b7e2d(_0x81babf._0x238c09,_0x81babf._0x3c25be)][_0x5b7e2d(_0x81babf._0x3cb70b,0x9e3)](_0x370e1b,_0x15442e,new Cesium__namespace['Cartesian3']()),_0x12510d=Cesium__namespace[_0x567012(0x2a8,0x2b9)]['fromTranslation'](_0x1176c1);return this[_0x5b7e2d(_0x81babf._0x20d354,0xd1a)]['modelMatrix']=_0x12510d,this['fire'](EventType['updatePosition'],{'position':this['position']}),_0x12510d;}[_0x54a7f1(0x1472,0x1577)](_0x56f979){const _0x51fbc6={_0x2f888e:0x591,_0x5a4189:0x243,_0x44f4b3:0x656,_0xfdbcfd:0x1a3},_0x2b0a7f={_0x5604a3:0x49a},_0x11fbfa={_0x847939:0x27d};if(this['orginMatrix']){const _0xb4353f=Cesium__namespace['Matrix4']['multiply'](this['_tileset']['_root'][_0x2e06cc(_0x51fbc6._0x2f888e,_0x51fbc6._0x5a4189)],this['orginMatrix'],new Cesium__namespace[(_0x3ac8a7(-0xc2,_0x51fbc6._0x44f4b3))]());return Cesium__namespace['Matrix4'][_0x3ac8a7(0x84f,_0x51fbc6._0xfdbcfd)](_0xb4353f,_0x56f979,new Cesium__namespace['Cartesian3']());}function _0x2e06cc(_0x427ca7,_0x12dfcc){return _0x7afdbe(_0x427ca7,_0x12dfcc- -_0x11fbfa._0x847939);}function _0x3ac8a7(_0x3a8105,_0x5b50c3){return _0x54a7f1(_0x3a8105- -_0x2b0a7f._0x5604a3,_0x5b50c3);}return _0x56f979;}['setOpacity'](_0x11dd50){const _0x42bb21={_0x52e18f:0xaac,_0x33b144:0xaba,_0x9cace2:0x290,_0x184669:0x7be,_0x7c3145:0xeeb},_0x209227={_0x9b2966:0x4e};function _0x5f4f05(_0x402eea,_0xd63cd1){return _0x54a7f1(_0xd63cd1-0x1f8,_0x402eea);}function _0x5c79ef(_0x5ef87e,_0x3bb97e){return _0x7afdbe(_0x5ef87e,_0x3bb97e-_0x209227._0x9b2966);}if(this['options']['onSetOpacity'])this['options']['onSetOpacity'](_0x11dd50);else{if(this['_tileset']){var _0x19cab8;this['options']['opacity']=_0x11dd50;if(this['opacity']!==0x1){const _0x13ae65={};_0x13ae65['color']='color()\x20*vec4(1,1,1,'+_0x11dd50+')',this[_0x5f4f05(_0x42bb21._0x52e18f,_0x42bb21._0x33b144)][_0x5c79ef(-_0x42bb21._0x9cace2,0x718)]=new Cesium__namespace['Cesium3DTileStyle'](_0x13ae65),this['_tileset']['style'][_0x5c79ef(_0x42bb21._0x184669,0xec3)]=!![];}else(_0x19cab8=this[_0x5f4f05(_0x42bb21._0x7c3145,_0x42bb21._0x33b144)])!==null&&_0x19cab8!==void 0x0&&(_0x19cab8=_0x19cab8['style'])!==null&&_0x19cab8!==void 0x0&&_0x19cab8[_0x5c79ef(0xb66,0xec3)]&&(this['_tileset'][_0x5f4f05(0x6d5,0x694)]=undefined);}}}async['_flyToEx'](_0x440529){const _0x3c7dbe={_0x31788f:0x386,_0x554368:0xa0e,_0x31acee:0xe8},_0x17a5bf={_0x2e3898:0x6ed};function _0x49abe7(_0x21c774,_0x26dc43){return _0x7afdbe(_0x26dc43,_0x21c774- -_0x17a5bf._0x2e3898);}var _0x312989;function _0x34390c(_0x43b3ec,_0x3eded8){return _0x54a7f1(_0x3eded8- -0x69,_0x43b3ec);}if((_0x312989=this['_tileset'])!==null&&_0x312989!==void 0x0&&_0x312989['_root'])return this['_map']['flyToPoint'](this[_0x49abe7(0x403,-_0x3c7dbe._0x31788f)][_0x34390c(0x128,0x6a7)]['center'],{'radius':this[_0x34390c(_0x3c7dbe._0x554368,0x859)]['boundingSphere'][_0x49abe7(-_0x3c7dbe._0x31acee,-0x730)]*0x2,'maxPitch':-0x2d,..._0x440529});}['_toJsonEx'](_0x11c27e){const _0x2a69fa={_0x4af1a8:0xb15,_0x4cc677:0x7b7,_0x202058:0xe33,_0x481835:0x1189,_0x5290ca:0xc66,_0x121355:0x20f,_0x285a80:0xe33,_0x36f370:0x1154,_0x273a99:0xedb,_0x525565:0x10b0,_0x55c11c:0x574,_0xbc2cf2:0x697,_0x3f9bdf:0xb3,_0x5af5f0:0x76b,_0x29a38f:0x11d9,_0x5125fb:0x65e,_0x4b52dc:0x1bb,_0x26e9f4:0x7b4,_0xebb5a6:0xa86,_0x5d17ed:0x13bc,_0x59a834:0xce9,_0x3bb086:0x15d8,_0x2f8368:0x16dd,_0x5d903a:0xcfe},_0x23f6f7={_0x4f17b5:0x287};if(!this[_0x38cc70(_0x2a69fa._0x4af1a8,0x3ba)]||!this[_0x3da060(_0x2a69fa._0x4cc677,0xc8d)])return;_0x11c27e['position']=this['center']['toObject']();this[_0x3da060(0x2e1,0x276)]&&(_0x11c27e[_0x38cc70(-0x9a2,-0x7b)]=this['_tilesetPlanClip'][_0x38cc70(0x1566,_0x2a69fa._0x202058)]());this[_0x3da060(0x6ed,0x248)]&&(_0x11c27e['clip']=this['_tilesetClip']['toJSON']());function _0x38cc70(_0x108262,_0x10a24e){return _0x54a7f1(_0x10a24e- -0x508,_0x108262);}this[_0x38cc70(_0x2a69fa._0x481835,_0x2a69fa._0x5290ca)]&&(_0x11c27e['flat']=this['_tilesetFlat'][_0x3da060(0x1a5b,0x10b4)]());this['_tilesetFlood']&&(_0x11c27e[_0x38cc70(0x91c,_0x2a69fa._0x121355)]=this['_tilesetFlood'][_0x38cc70(0x1375,_0x2a69fa._0x285a80)]());this['_tilesetColorCorrection']&&(_0x11c27e['colorCorrection']=this[_0x3da060(0x1687,_0x2a69fa._0x36f370)][_0x3da060(_0x2a69fa._0x273a99,0x10b4)]());this['center']['lat']===this['orginCenterPoint']['lat']&&delete _0x11c27e['position']['lat'];function _0x3da060(_0x2e3ba5,_0x4aa999){return _0x54a7f1(_0x4aa999- -_0x23f6f7._0x4f17b5,_0x2e3ba5);}this['center'][_0x3da060(0x111a,_0x2a69fa._0x525565)]===this[_0x38cc70(0xdf6,_0x2a69fa._0x55c11c)]['lng']&&delete _0x11c27e['position'][_0x38cc70(_0x2a69fa._0xbc2cf2,0xe2f)],this['center'][_0x38cc70(-0xb09,-0xb3)]===this['orginCenterPoint'][_0x38cc70(-0x54d,-_0x2a69fa._0x3f9bdf)]&&delete _0x11c27e['position'][_0x3da060(-0x29b,0x1ce)],Object['keys'](_0x11c27e[_0x38cc70(_0x2a69fa._0x5af5f0,_0x2a69fa._0x29a38f)])['length']===0x0&&delete _0x11c27e['position'],_0x11c27e['maximumScreenSpaceError']===0x10&&delete _0x11c27e[_0x3da060(-_0x2a69fa._0x5125fb,_0x2a69fa._0x4b52dc)],_0x11c27e[_0x3da060(0xc6e,0x1088)]===0x1&&delete _0x11c27e['scale'],(_0x11c27e[_0x38cc70(0x9e7,0xe4f)]===''||!_0x11c27e[_0x3da060(0x11fd,0x10d0)])&&delete _0x11c27e['axis'],!_0x11c27e[_0x3da060(0xd74,_0x2a69fa._0x26e9f4)]&&delete _0x11c27e['proxy'],_0x11c27e[_0x3da060(_0x2a69fa._0xebb5a6,0xf6a)]&&((_0x11c27e[_0x38cc70(_0x2a69fa._0x5d17ed,_0x2a69fa._0x59a834)]['x']===0x0||_0x11c27e['rotation']['x']===0x168)&&delete _0x11c27e['rotation']['x'],(_0x11c27e['rotation']['y']===0x0||_0x11c27e['rotation']['y']===0x168)&&delete _0x11c27e['rotation']['y'],(_0x11c27e['rotation']['z']===0x0||_0x11c27e['rotation']['z']===0x168)&&delete _0x11c27e[_0x38cc70(_0x2a69fa._0x3bb086,0xce9)]['z'],Object['keys'](_0x11c27e[_0x3da060(0xf2f,0xf6a)])[_0x3da060(_0x2a69fa._0x2f8368,_0x2a69fa._0x5d903a)]===0x0&&delete _0x11c27e[_0x38cc70(0x931,0xce9)]);}['transformCenter'](_0x17fbcb){const _0x7ef308={_0x5d99db:0x1042,_0x4f6a82:0x142f,_0x18c410:0x44e,_0x5d1c92:0x3df,_0x52873f:0xb6},_0x24e555={_0xa32796:0x76};if(!_0x17fbcb)return![];const _0x21cbbb=this[_0x453f04(_0x7ef308._0x5d99db,0x75d)][_0x453f04(_0x7ef308._0x4f6a82,0xc57)],_0x4e52b2=this['options']['chinaCRS'],_0x54a978=getTransFun(_0x4e52b2,_0x21cbbb);if(!_0x54a978)return![];const _0x4131fb=_0x54a978([_0x17fbcb['lng'],_0x17fbcb['lat']]),_0x479260={};_0x479260['lng']=_0x4131fb[0x0],_0x479260['lat']=_0x4131fb[0x1];function _0x453f04(_0x2118c5,_0x31bc0b){return _0x54a7f1(_0x31bc0b- -_0x24e555._0xa32796,_0x2118c5);}_0x479260[_0x453f04(-_0x7ef308._0x18c410,_0x7ef308._0x5d1c92)]=_0x17fbcb[_0x434fb4(_0x7ef308._0x52873f,-0x60b)];function _0x434fb4(_0x34abe5,_0x22c2c1){return _0x7afdbe(_0x22c2c1,_0x34abe5- -0x5cd);}return _0x479260;}[_0x54a7f1(0xbf3,0xbaf)](){const _0x2c0b63={_0xebd360:0x35f};function _0x3a739d(_0x11ed53,_0x4edc92){return _0x7afdbe(_0x4edc92,_0x11ed53- -0x48);}function _0x24be74(_0x24b662,_0x91cad3){return _0x54a7f1(_0x91cad3- -_0x2c0b63._0xebd360,_0x24b662);}this[_0x3a739d(0x9b9,0xa67)]['on'](EventType['cameraChanged'],this[_0x24be74(0xa19,0x126d)],this);}[_0x54a7f1(0x15cc,0xc32)](){const _0x484622={_0xf0ec9d:0x367,_0x367662:0xef,_0x117881:0x61a,_0x30eaed:0x6ee,_0x300ff7:0x1187};function _0x33d18e(_0x4b7e90,_0x1813d1){return _0x54a7f1(_0x4b7e90- -0x1d4,_0x1813d1);}if(!this['_show']||!this['_tileset']||!this['loadOk'])return;if(this[_0x1d44c4(_0x484622._0xf0ec9d,-0x3ad)]['scene']['mode']!==Cesium__namespace['SceneMode']['SCENE3D'])return;function _0x1d44c4(_0x18979e,_0x42411c){return _0x54a7f1(_0x18979e- -0x46c,_0x42411c);}const _0x163057=Cesium__namespace['Cartesian3']['distance'](this['position'],this['_map'][_0x1d44c4(_0x484622._0x367662,_0x484622._0x117881)]['positionWC']);this[_0x33d18e(_0x484622._0x30eaed,0x1045)][_0x1d44c4(_0x484622._0x300ff7,0x932)]=_0x163057<this['options']['distanceDisplayCondition_far'];}['_highlight_mouseEventHandler'](_0xb18ae6){const _0x1b9dee={_0x87198e:0x4c8,_0x5869e8:0xb5b,_0x584474:0x880,_0x25d195:0x3b1},_0x4fb07a={_0x4c67c9:0x2b3},_0x2fa025={_0x423453:0x30b};function _0x4da858(_0x19c2a4,_0x121414){return _0x54a7f1(_0x121414- -_0x2fa025._0x423453,_0x19c2a4);}function _0x2dfc61(_0x305251,_0x2ff874){return _0x7afdbe(_0x305251,_0x2ff874- -_0x4fb07a._0x4c67c9);}this[_0x4da858(-0xfb,_0x1b9dee._0x87198e)]['closeHighlight']();const _0x166106=_0xb18ae6['pickedObject'];if(_0x166106||this['_highlightOptions'][_0x2dfc61(_0x1b9dee._0x5869e8,0x5a7)]){if(isFunction(this[_0x4da858(0xe1a,_0x1b9dee._0x584474)]['filter'])){if(this[_0x4da858(_0x1b9dee._0x25d195,_0x1b9dee._0x584474)]['filter'](_0xb18ae6)===![])return;}const _0x4e4c19=this['allowDrillPick'];if(isFunction(_0x4e4c19)){if(_0x4e4c19(_0xb18ae6)===!![])return;}const _0x5928a7={};_0x5928a7['feature']=_0x166106,_0x5928a7['event']=_0xb18ae6,this['_last_picked']=_0x5928a7,this['_map']['openHighlight'](this,this['_highlightOptions'],_0xb18ae6);}}[_0x7afdbe(0xebe,0x15d3)](_0x2446ba,_0x1bafac=!![],_0x322e05){const _0x58a9ea={_0x130b54:0x138,_0x388166:0x406,_0x2802eb:0x129c,_0x4825ca:0xf8c,_0x2a9d79:0x91,_0x56f647:0x461,_0x4c40bb:0xea5,_0x2fb967:0xe81,_0xb41c5e:0x178,_0x33e874:0xb67,_0x277462:0xea5,_0x2ac460:0x1182,_0x4b83e5:0xff2,_0x298006:0x1a9b,_0x422d2f:0x8e4,_0x36e788:0xfce,_0x215c53:0x141e,_0x56e1d6:0xa48,_0x29b597:0x238,_0x3791a9:0x1079,_0x291a0c:0x1619,_0x45cd22:0xa3b,_0x16ec97:0xc35,_0x3422b7:0x5e7,_0x57cd5a:0xdb7,_0x488c8a:0x441};function _0x15bbe9(_0x4e06f0,_0x86010e){return _0x54a7f1(_0x4e06f0- -0x36d,_0x86010e);}function _0x3b4c57(_0x2e07f5,_0x21db57){return _0x7afdbe(_0x21db57,_0x2e07f5- -0x5bf);}_0x1bafac&&this['_map']&&(this['_map'][_0x3b4c57(-_0x58a9ea._0x130b54,-_0x58a9ea._0x388166)](),this['_map'][_0x15bbe9(_0x58a9ea._0x2802eb,0x1714)]=this);this['_last_picked']=this['_last_picked']||{'event':{'layer':this}};_0x322e05&&(this[_0x15bbe9(0xddb,_0x58a9ea._0x4825ca)][_0x3b4c57(_0x58a9ea._0x2a9d79,0x42c)]=_0x322e05);const _0x1778fd=_0x2446ba||this['_highlightOptions'];if(_0x1778fd){var _0x44dd4a,_0x27f528;if((_0x44dd4a=this['_last_picked'])!==null&&_0x44dd4a!==void 0x0&&_0x44dd4a[_0x3b4c57(0x91,_0x58a9ea._0x56f647)]&&!_0x1778fd['all']&&!_0x1778fd['uniqueKey']){var _0x451812;const _0x568139=this[_0x3b4c57(0xdb7,0x13cd)]['feature'];if(_0x568139!==null&&_0x568139!==void 0x0&&_0x568139['color']&&_0x1778fd['color']){this['_last_picked']['originalColor']=_0x568139[_0x3b4c57(0xe81,0x554)]['clone']();if(isFunction(_0x1778fd['color'])){var _0x3f74ca;_0x568139[_0x15bbe9(_0x58a9ea._0x4c40bb,0x13e7)]=getCesiumColor(_0x1778fd[_0x3b4c57(_0x58a9ea._0x2fb967,0x1388)]((_0x3f74ca=this['_last_picked'])===null||_0x3f74ca===void 0x0?void 0x0:_0x3f74ca[_0x15bbe9(_0x58a9ea._0xb41c5e,_0x58a9ea._0x33e874)]));}else _0x568139[_0x15bbe9(_0x58a9ea._0x277462,0x13ea)]=getColorByStyle(_0x1778fd);}_0x568139!==null&&_0x568139!==void 0x0&&(_0x451812=_0x568139[_0x3b4c57(_0x58a9ea._0x2ac460,_0x58a9ea._0x4b83e5)])!==null&&_0x451812!==void 0x0&&_0x451812[_0x15bbe9(0x101a,_0x58a9ea._0x298006)]&&_0x1778fd[_0x15bbe9(0x35e,0x48c)]&&(this['_last_picked'][_0x3b4c57(_0x58a9ea._0x422d2f,0x8ed)]=ModelStyleConver[_0x15bbe9(_0x58a9ea._0x36e788,_0x58a9ea._0x215c53)](_0x568139[_0x15bbe9(0x11a6,0x174e)]['_model']),ModelStyleConver[_0x3b4c57(_0x58a9ea._0x56e1d6,_0x58a9ea._0x29b597)](_0x1778fd[_0x3b4c57(0x33a,-0x730)],_0x568139['content']['_model'],![]));}else{const _0x2ccfed=Cesium__namespace[_0x15bbe9(0xf17,_0x58a9ea._0x3791a9)][_0x15bbe9(0x1376,0x120f)](_0x1778fd['color'])['toCssColorString']();if(_0x1778fd['uniqueKey']){const _0x8bb8fb=this['_last_picked']['feature'][_0x3b4c57(0xb89,0x1389)](_0x1778fd[_0x15bbe9(0xb67,_0x58a9ea._0x291a0c)]),_0x16a11a={};_0x16a11a['conditions']=[['${'+_0x1778fd[_0x3b4c57(0xb43,0x11af)]+'}\x20===\x27'+_0x8bb8fb+'\x27',_0x2ccfed]];const _0x17fe30={};_0x17fe30['color']=_0x16a11a,this[_0x3b4c57(0x531,0x12d)]['style']=new Cesium__namespace[(_0x15bbe9(0xc59,0x149e))](_0x17fe30);}else{const _0x4a4438={};_0x4a4438[_0x3b4c57(0x11f,_0x58a9ea._0x45cd22)]=[['true',_0x2ccfed]];const _0x472234={};_0x472234['color']=_0x4a4438,this['_tileset'][_0x15bbe9(0x12f,-0x335)]=new Cesium__namespace[(_0x3b4c57(_0x58a9ea._0x16ec97,0x16ef))](_0x472234);}this['_highlightAll']=!![];}this['fire'](EventType[_0x3b4c57(_0x58a9ea._0x3422b7,-0x45b)],(_0x27f528=this[_0x3b4c57(_0x58a9ea._0x57cd5a,0x171e)])===null||_0x27f528===void 0x0?void 0x0:_0x27f528[_0x3b4c57(0x154,-_0x58a9ea._0x488c8a)],!![]);}}['closeHighlight'](){const _0x175148={_0xf733:0x1493,_0x1512fd:0x1857,_0x44c5e4:0x249,_0x1da603:0x264,_0x1c622d:0x1a37,_0x4b6799:0x10ef,_0x1ac8ef:0x1308,_0x2b81ba:0xc1c,_0x3bfe6c:0x1a72,_0x3f5658:0xb7c,_0x3e3070:0x1381,_0x56af91:0x1071};var _0x42c737,_0x30c5a5;if(!this['_last_picked'])return;function _0x301a4(_0x342888,_0xef3f9e){return _0x7afdbe(_0xef3f9e,_0x342888- -0x287);}function _0x4a00fe(_0x2fb4bb,_0x40dd9f){return _0x54a7f1(_0x2fb4bb-0x239,_0x40dd9f);}if(this[_0x4a00fe(_0x175148._0xf733,_0x175148._0x1512fd)])this['_highlightAll']=![],this[_0x301a4(0x869,0x100d)][_0x4a00fe(0x6d5,_0x175148._0x44c5e4)]=this[_0x4a00fe(0x6d5,-_0x175148._0x1da603)];else{if((_0x42c737=this[_0x4a00fe(0x1381,_0x175148._0x1c622d)])!==null&&_0x42c737!==void 0x0&&_0x42c737['feature']){var _0x4804c0;const _0x4650a1=this['_last_picked']['feature'];this['_last_picked']['originalColor']&&(_0x4650a1['color']=this[_0x301a4(_0x175148._0x4b6799,0x1a15)][_0x4a00fe(0xaea,0x14c0)]),_0x4650a1!==null&&_0x4650a1!==void 0x0&&(_0x4804c0=_0x4650a1['content'])!==null&&_0x4804c0!==void 0x0&&_0x4804c0['_model']&&this['_last_picked'][_0x4a00fe(0xeae,0x420)]&&ModelStyleConver['toCesiumVal'](this[_0x301a4(0x10ef,_0x175148._0x1ac8ef)][_0x301a4(_0x175148._0x2b81ba,0xf22)],_0x4650a1[_0x301a4(0x14ba,_0x175148._0x3bfe6c)][_0x4a00fe(0x15c0,0x11e3)],![]);}}this['_map']['_clearLastHighlight'](),this['fire'](EventType[_0x301a4(_0x175148._0x3f5658,0x1535)],(_0x30c5a5=this[_0x4a00fe(_0x175148._0x3e3070,_0x175148._0x56af91)])===null||_0x30c5a5===void 0x0?void 0x0:_0x30c5a5['event'],!![]),delete this['_last_picked'];}['hasPopup'](){const _0xedda2f={_0x5f5b35:0x92},_0x5a30a4={_0x1584e8:0x1d4};function _0x5b19a9(_0x367749,_0x4789be){return _0x7afdbe(_0x4789be,_0x367749- -_0x5a30a4._0x1584e8);}if(this[_0x5b19a9(0x4b1,_0xedda2f._0x5f5b35)])return!![];return![];}['bindPopup'](_0x3256a5,_0x5d68f5){return this['_popupConfig']={'content':_0x3256a5,'options':_0x5d68f5,'layer':this},this['_bindControl'](),this;}['unbindPopup'](){return this['closePopup'](),this['_popupConfig']=null,this;}['closePopup'](){const _0x3093bf={_0x5ceb75:0x1062},_0x283367={_0x4c9827:0x69},_0xaba07={_0x2a1313:0x27a};function _0x2dd3df(_0x407757,_0x1fe493){return _0x54a7f1(_0x1fe493- -_0xaba07._0x2a1313,_0x407757);}function _0x3d3416(_0x2501cf,_0x488cb8){return _0x7afdbe(_0x488cb8,_0x2501cf- -_0x283367._0x4c9827);}return this[_0x2dd3df(0x8c,0x559)]&&this['hasPopup']()&&this['_map'][_0x2dd3df(0xf5c,_0x3093bf._0x5ceb75)]['close'](null,this),this;}['_conventMarsOptions'](){const _0x2a1d65={_0x3b93dd:0x1215,_0x25d1aa:0x12b7,_0x4ef891:0x1864,_0x38b626:0xd17,_0x4680c1:0x17ab,_0x4159f6:0x507,_0x57a724:0x4d9,_0x3188c6:0x1864},_0x24ccb8={_0x37bb9e:0x2a0};function _0x11335c(_0x186b50,_0x175051){return _0x54a7f1(_0x175051-_0x24ccb8._0x37bb9e,_0x186b50);}var _0x591322;function _0x5450bb(_0x38c2f4,_0x4a70a4){return _0x54a7f1(_0x38c2f4-0x2a7,_0x4a70a4);}if(!((_0x591322=Cesium__namespace[_0x5450bb(0xe28,0x145d)])!==null&&_0x591322!==void 0x0&&_0x591322['getCacheOrAdd']))return;this[_0x5450bb(0x1a2f,_0x2a1d65._0x3b93dd)][_0x5450bb(0x18f7,0x1630)]=this['_map'][_0x11335c(0xecc,0xeeb)]+'_'+this['id'];const _0x370311=Cesium__namespace[_0x5450bb(0xe28,0x16e0)]['getCacheOrAdd'](this['_marsOptions']['customShaders']);this[_0x11335c(_0x2a1d65._0x25d1aa,_0x2a1d65._0x4ef891)]?_0x370311[_0x5450bb(0x186b,0x17a0)]=new Cesium__namespace['CustomShader']({'lightingModel':Cesium__namespace['LightingModel'][_0x5450bb(0x14d9,0x10d6)],'uniforms':{'u_mars3d_jzw_upAxis':{'type':Cesium__namespace[_0x5450bb(_0x2a1d65._0x38b626,0x1321)]['INT'],'value':this['options']['editUpAxis']??Cesium__namespace['Axis']['Z']},'u_mars3d_jzw_baseHeight':{'type':Cesium__namespace[_0x5450bb(0xd17,_0x2a1d65._0x4680c1)][_0x5450bb(0xe51,_0x2a1d65._0x4159f6)],'value':this['marsJzwStyle']['baseHeight']??0x0},'u_mars3d_jzw_heightRange':{'type':Cesium__namespace['UniformType'][_0x11335c(_0x2a1d65._0x57a724,0xe4a)],'value':this[_0x11335c(0x18f7,0x1864)]['heightRange']??0x118},'u_mars3d_jzw_glowRange':{'type':Cesium__namespace['UniformType']['FLOAT'],'value':this[_0x11335c(0x18ab,0x1864)][_0x5450bb(0x126e,0x18d6)]??0x12c}},'fragmentShaderText':isString(this[_0x11335c(0x11e8,_0x2a1d65._0x3188c6)])?this['marsJzwStyle']:JzwStyleFS}):delete _0x370311['marsJzwStyle'];}['startEditing'](){const _0x50e26a={_0x33da33:0x807,_0x594510:0x1903,_0x27dd2e:0x1707,_0x18023e:0x9ff,_0x491ea2:0xca,_0x1548f0:0x207},_0x4603dd={_0x188835:0x75};function _0x11019e(_0x5e364d,_0x409f47){return _0x7afdbe(_0x5e364d,_0x409f47- -0x5d0);}if(this['_enabledEdit']||!this[_0x252b48(0x19d5,0x21c3)])return this;this[_0x252b48(0x1575,0xf6f)]=!![];if(!this['_map'])throw new Error(_0x11019e(0x508,_0x50e26a._0x33da33));function _0x252b48(_0x1fe381,_0x5eb3a9){return _0x7afdbe(_0x5eb3a9,_0x1fe381-_0x4603dd._0x188835);}this['_map']['mouseEvent'][_0x252b48(_0x50e26a._0x594510,_0x50e26a._0x27dd2e)]=this[_0x252b48(0x904,0x1241)],this['_map']['mouseEvent'][_0x252b48(0x137a,0xbd1)]=![],!this[_0x11019e(_0x50e26a._0x18023e,0x207)]&&(this[_0x11019e(_0x50e26a._0x491ea2,_0x50e26a._0x1548f0)]=new EditTileset(this)),this['editing']['activate']&&this['editing'][_0x252b48(0x12a7,0x101d)]();}['stopEditing'](){const _0x4d0590={_0x4a1373:0x7f7,_0x221c17:0x597,_0x48aca0:0x110b,_0xd5215c:0xc62,_0x5bb907:0x438,_0x3904cd:0x9ca,_0x1305fc:0x9fa,_0x500495:0x13f3,_0x21315c:0x11e5},_0x3736e7={_0x432441:0xed};function _0xedc3b8(_0x3bbf8c,_0x5561a7){return _0x54a7f1(_0x5561a7- -_0x3736e7._0x432441,_0x3bbf8c);}function _0x2ab1e3(_0x436ff3,_0x20d953){return _0x54a7f1(_0x20d953- -0x39b,_0x436ff3);}var _0xe3dac;if(!this[_0xedc3b8(_0x4d0590._0x4a1373,0x11e5)])return this;(_0xe3dac=this[_0xedc3b8(-_0x4d0590._0x221c17,0x4bc)])!==null&&_0xe3dac!==void 0x0&&_0xe3dac[_0xedc3b8(0x19a9,_0x4d0590._0x48aca0)]&&this['editing'][_0x2ab1e3(0xcd8,0xe5d)](),this['_map']&&(this[_0x2ab1e3(_0x4d0590._0xd5215c,_0x4d0590._0x5bb907)][_0x2ab1e3(_0x4d0590._0x3904cd,_0x4d0590._0x1305fc)](),this['_map']['mouseEvent']['noPickEntity']=null,this['_map'][_0xedc3b8(0x1130,0xa1c)]['enabledMoveTarget']=!![]),this[_0xedc3b8(_0x4d0590._0x500495,_0x4d0590._0x21315c)]=![];}}register$3('tileset',TilesetLayer),register$3(_0x54a7f1(0xd40,0xfac),TilesetLayer);class OsmBuildingsLayer extends TilesetLayer{async['_createCesium3DTileset'](){const _0xba2afc=await Cesium__namespace['createOsmBuildingsAsync'](this['options']);return _0xba2afc;}}register$3(_0x54a7f1(0x1755,0xe63),OsmBuildingsLayer);class I3SLayer extends BaseGraphicLayer{constructor(_0x50f600={}){super(_0x50f600),this['_marsOptions']={};}get['layer'](){return this['_i3sProvider'];}get['marsJzwStyle'](){return this['options']['marsJzwStyle'];}set[_0x7afdbe(0xfcb,0x17f2)](_0x55de3b){const _0x1c747b={_0x199494:0xb8};function _0x4be0d8(_0xaba89d,_0x4e5844){return _0x7afdbe(_0xaba89d,_0x4e5844- -_0x1c747b._0x199494);}this[_0x4be0d8(0x4a7,0xa26)]['marsJzwStyle']=_0x55de3b,this['_conventMarsOptions']();}get[_0x7afdbe(0xb07,0xbc5)](){const _0x170eb7=this['_i3sProvider']['_layers'];for(let _0x47aee3=0x0;_0x47aee3<_0x170eb7['length'];_0x47aee3++){const _0x35950a=_0x170eb7[_0x47aee3]['_tileset'];if(Cesium__namespace['defined'](_0x35950a))return _0x35950a===null||_0x35950a===void 0x0?void 0x0:_0x35950a['_modelUpAxis'];}return undefined;}['eachTilesetLayer'](_0x409523,_0x2f6145){const _0x8a390={_0x1a1160:0x21b};function _0x15c38e(_0x1faab1,_0x5e241f){return _0x54a7f1(_0x5e241f- -0x3a7,_0x1faab1);}function _0x1fd3b1(_0x45f838,_0xfb926){return _0x54a7f1(_0xfb926- -_0x8a390._0x1a1160,_0x45f838);}if(!this[_0x1fd3b1(-0x4c6,0x437)])return;const _0x54e11b=this['_i3sProvider']['_layers'];for(let _0x384d1c=0x0;_0x384d1c<_0x54e11b['length'];_0x384d1c++){const _0x3c8e9b=_0x54e11b[_0x384d1c][_0x15c38e(0x15ee,0x1286)];Cesium__namespace['defined'](_0x3c8e9b)&&_0x409523['call'](_0x2f6145,_0x3c8e9b);}return this;}async[_0x54a7f1(0x150c,0x1a9f)](){const _0x4214f7={_0x52a5cb:0x794,_0x39c705:0xa34,_0x91f0fd:0x7c9,_0x5e0375:0xae4,_0x36434c:0xf5d,_0x150701:0xcaa},_0x5225d1={_0x441030:0x619},_0x3717b3={_0x1bf04c:0x34a};let _0x4dbc4a;this[_0x385c28(_0x4214f7._0x52a5cb,_0x4214f7._0x39c705)]['geoidTiledTerrainProvider']&&(this[_0x4e6a0f(0xcd3,0x4c5)]['geoidTiledTerrainProvider']instanceof Cesium__namespace['ArcGISTiledElevationTerrainProvider']?_0x4dbc4a=this[_0x4e6a0f(0x6d9,0x4c5)]['geoidTiledTerrainProvider']:_0x4dbc4a=await Cesium__namespace[_0x4e6a0f(_0x4214f7._0x91f0fd,0xe88)]['fromUrl'](this['options'][_0x4e6a0f(-0x323,0x1c9)][_0x385c28(0x907,0xa1e)],this['options']['geoidTiledTerrainProvider']));this['_marsOptions'][_0x385c28(0x1102,_0x4214f7._0x5e0375)]=this['id'];const _0x32f88a={...this['options']};_0x32f88a['geoidTiledTerrainProvider']=_0x4dbc4a,_0x32f88a[_0x4e6a0f(_0x4214f7._0x150701,_0x4214f7._0x36434c)]={...this['options']},_0x32f88a[_0x4e6a0f(_0x4214f7._0x150701,_0x4214f7._0x36434c)]['marsOptions']=this['_marsOptions'];function _0x385c28(_0x4aaa59,_0x5637cf){return _0x7afdbe(_0x5637cf,_0x4aaa59- -_0x3717b3._0x1bf04c);}const _0x4ffd80=_0x32f88a;function _0x4e6a0f(_0x58abd,_0x43d092){return _0x7afdbe(_0x58abd,_0x43d092- -_0x5225d1._0x441030);}delete _0x4ffd80['url'];const _0x3c55ad=getUrlResource(this[_0x4e6a0f(-0x199,0x4c5)],this['templateValues']),_0x5cd26f=await Cesium__namespace['I3SDataProvider']['fromUrl'](_0x3c55ad,_0x4ffd80);return _0x5cd26f;}[_0x7afdbe(0x1c73,0x134f)](){const _0x3ecc01={_0x1e019a:0xb4f,_0x46e928:0x6a2,_0x1028b7:0x154b,_0x1ebcf9:0x6f3},_0x3f747e={_0x3ca5d1:0x441,_0x203446:0x12a6,_0x28fd6d:0x926,_0x16f644:0xf93,_0x71e486:0x330,_0x599c1f:0xdde},_0x5e967d={_0x462900:0x119},_0x3c78af={_0x1ef67e:0x1ef},_0xfff793={_0x3d4fcf:0x4ed};function _0xabd3ea(_0x30afbe,_0x37e2c4){return _0x7afdbe(_0x30afbe,_0x37e2c4- -_0xfff793._0x3d4fcf);}this[_0x1011c8(0x76b,0xf53)]=![];function _0x1011c8(_0x1a21b9,_0x5053db){return _0x7afdbe(_0x1a21b9,_0x5053db- -_0x3c78af._0x1ef67e);}super[_0xabd3ea(0x92a,0xe62)](),this[_0xabd3ea(_0x3ecc01._0x1e019a,_0x3ecc01._0x46e928)](),this[_0x1011c8(0x18d4,_0x3ecc01._0x1028b7)]()[_0xabd3ea(-_0x3ecc01._0x1ebcf9,0x2f4)](_0x3aa387=>{const _0xa5d5f8={_0x4c5381:0x40};function _0x48a824(_0x5a441c,_0x569e49){return _0x1011c8(_0x5a441c,_0x569e49- -_0x5e967d._0x462900);}if(this[_0x4d0f4d(_0x3f747e._0x3ca5d1,0x73f)])return;const _0x481e26={};_0x481e26[_0x48a824(_0x3f747e._0x203446,_0x3f747e._0x28fd6d)]=_0x3aa387,this['fire'](EventType['loadBefore'],_0x481e26);function _0x4d0f4d(_0x1e1769,_0x392a38){return _0x1011c8(_0x392a38,_0x1e1769-_0xa5d5f8._0x4c5381);}this['_initModel'](_0x3aa387),this[_0x4d0f4d(_0x3f747e._0x16f644,0x9aa)]=!![],this[_0x4d0f4d(_0x3f747e._0x71e486,0xc5e)]['resolve'](this);const _0x1e2d6b={};_0x1e2d6b[_0x48a824(0x7c6,0x926)]=_0x3aa387,_0x1e2d6b[_0x48a824(0x943,0x9ad)]=_0x3aa387['_layers'],this[_0x48a824(0x833,_0x3f747e._0x599c1f)](EventType['load'],_0x1e2d6b);});}['_removedHook'](){const _0x329b66={_0x270a7c:0x36c,_0x523a21:0xa75,_0x188aeb:0x231,_0x1e7625:0x2cc,_0x52f59a:0x225};super['_removedHook']();function _0x826b03(_0x68881b,_0x3853b9){return _0x54a7f1(_0x68881b- -0x2e6,_0x3853b9);}function _0x1361ec(_0x2953bf,_0xf36cea){return _0x7afdbe(_0xf36cea,_0x2953bf- -0x6b6);}if(this[_0x826b03(_0x329b66._0x270a7c,0xc9)]){const _0x2223bf=this[_0x826b03(0x36c,_0x329b66._0x523a21)][_0x1361ec(_0x329b66._0x188aeb,0x53)];for(let _0x527789=0x0;_0x527789<_0x2223bf['length'];_0x527789++){const _0x5e00f1=_0x2223bf[_0x527789]['_layer'];_0x5e00f1['_onRemove'](),delete _0x2223bf[_0x527789][_0x1361ec(0x11a5,0xde3)];}this[_0x826b03(0x4ed,-_0x329b66._0x1e7625)]['scene']['primitives']['remove'](this[_0x826b03(0x36c,0xca0)]),delete this[_0x826b03(0x36c,_0x329b66._0x52f59a)];}}[_0x7afdbe(0x1f7e,0x15e5)](){const _0x5a8d7b={_0x171646:0xcf8};function _0x2cefdf(_0x1bda4c,_0x439301){return _0x7afdbe(_0x439301,_0x1bda4c-0x7b);}this[_0x2cefdf(_0x5a8d7b._0x171646,0xe8b)](),this['_addedHook']();}['_initModel'](_0x30a19e){const _0x3252f9={_0x21cce2:0x911,_0x382ec2:0xa92,_0x14defa:0x2a,_0x10b6f6:0xb9,_0xe9f167:0x1d,_0x372660:0x911,_0xedf93a:0x1093,_0x343377:0x3c8,_0x4abbdc:0x1244,_0x51cf6d:0x1b90,_0x5b3794:0x68b,_0x19153e:0x10b5,_0x3426d9:0x84b,_0x42cf50:0x18ec,_0x4b8790:0x4ea,_0x3d78b4:0xf27,_0x355a7c:0xb3c};function _0x4fbaa6(_0x11f8f0,_0x16b7d6){return _0x54a7f1(_0x11f8f0-0x2bf,_0x16b7d6);}this[_0x4fbaa6(_0x3252f9._0x21cce2,0x1137)]=_0x30a19e,this['_i3sProvider'][_0x4baf92(0x12e9,0x120f)]=this['id'],this[_0x4baf92(0x62,0x643)]['show']=this['show'],this[_0x4fbaa6(_0x3252f9._0x382ec2,_0x3252f9._0x14defa)]['scene'][_0x4baf92(-_0x3252f9._0x10b6f6,0x3c6)][_0x4baf92(-_0x3252f9._0xe9f167,0x681)](this['_i3sProvider']);const _0x336aed=this[_0x4fbaa6(_0x3252f9._0x372660,_0x3252f9._0xedf93a)][_0x4baf92(_0x3252f9._0x343377,0x6aa)];function _0x4baf92(_0xbab684,_0x3aa723){return _0x7afdbe(_0xbab684,_0x3aa723- -0x23d);}for(let _0x52dcb7=0x0;_0x52dcb7<_0x336aed[_0x4fbaa6(_0x3252f9._0x4abbdc,_0x3252f9._0x51cf6d)];_0x52dcb7++){const _0x38fc47=_0x336aed[_0x52dcb7]['_tileset'],_0x201bcb={...this['options']};_0x201bcb[_0x4fbaa6(_0x3252f9._0x5b3794,0x188)]=_0x38fc47,_0x201bcb['eventParent']=this,_0x201bcb[_0x4fbaa6(_0x3252f9._0x19153e,_0x3252f9._0x3426d9)]=!![];const _0x38118d=new TilesetLayer(_0x201bcb);_0x38118d['_onAdd'](this['_map']),_0x336aed[_0x52dcb7][_0x4fbaa6(_0x3252f9._0x42cf50,0x1084)]=_0x38118d;}this['_extent']=this['_i3sProvider']['extent'],this[_0x4baf92(0x1c8,0x86e)]=LngLatPoint['fromCartographic'](Cesium__namespace[_0x4baf92(0xe25,_0x3252f9._0x4b8790)][_0x4baf92(0x102f,0x56e)](this['_extent'])),this['_orginCenterPosition']=this[_0x4baf92(0x1153,0x86e)][_0x4baf92(0x1111,0xaf5)](),this[_0x4baf92(0x8b6,_0x3252f9._0x3d78b4)]=this[_0x4fbaa6(_0x3252f9._0x355a7c,0x421)][_0x4baf92(-0x2b7,0x7e0)]();}async[_0x7afdbe(0xf65,0x1184)](_0x50486d){const _0x225fd5={_0x4dbd68:0x11f5,_0x1eb843:0x8ec},_0x56a088={_0x508cea:0x115};function _0x2bf41b(_0x46d720,_0x333c7d){return _0x7afdbe(_0x333c7d,_0x46d720- -0xf4);}function _0x14c677(_0x100d8f,_0x4be72a){return _0x7afdbe(_0x100d8f,_0x4be72a- -_0x56a088._0x508cea);}if(this['_center']){const _0x506f6b={'maxPitch':-0x2d,..._0x50486d};return this[_0x14c677(_0x225fd5._0x4dbd68,_0x225fd5._0x1eb843)][_0x2bf41b(0xe11,0x8e7)](this['_center'],_0x506f6b);}}[_0x54a7f1(0x961,0xdcf)](){const _0x573e08={_0x4f4c5a:0xc99,_0x5089a5:0xb55,_0x2caac4:0x11f7,_0x184fd7:0x6ad,_0x21ec52:0xd23,_0x2e03ea:0x1997,_0x18f2ae:0x13a9};var _0x8992a2;function _0x16ae42(_0x5eb7a2,_0x410108){return _0x54a7f1(_0x410108- -0x2a4,_0x5eb7a2);}if(!((_0x8992a2=Cesium__namespace[_0x1e6d94(0xf76,_0x573e08._0x4f4c5a)])!==null&&_0x8992a2!==void 0x0&&_0x8992a2[_0x1e6d94(_0x573e08._0x5089a5,0xb6a)]))return;function _0x1e6d94(_0x49ca5d,_0x16b788){return _0x7afdbe(_0x49ca5d,_0x16b788- -0x116);}this['_marsOptions'][_0x1e6d94(0x1420,0x1768)]=this['_map'][_0x16ae42(0x558,0x9a7)]+'_'+this['id'];const _0x459276=Cesium__namespace[_0x1e6d94(_0x573e08._0x2caac4,0xc99)]['getCacheOrAdd'](this['_marsOptions']['customShaders']);this['marsJzwStyle']?_0x459276['marsJzwStyle']=new Cesium__namespace[(_0x1e6d94(_0x573e08._0x184fd7,0x661))]({'lightingModel':Cesium__namespace['LightingModel']['UNLIT'],'uniforms':{'u_mars3d_jzw_upAxis':{'type':Cesium__namespace['UniformType']['INT'],'value':this[_0x1e6d94(_0x573e08._0x21ec52,0x9c8)]['editUpAxis']??Cesium__namespace[_0x1e6d94(_0x573e08._0x2e03ea,0x1863)]['Z']}},'fragmentShaderText':isString(this[_0x16ae42(_0x573e08._0x18f2ae,0x1320)])?this['marsJzwStyle']:JzwStyleFS}):delete _0x459276[_0x1e6d94(0x1fbf,0x16dc)];}}register$3('i3s',I3SLayer);class GraticuleProvider{constructor(_0x4ed25c={}){const _0x215a44={_0x412f23:0x840,_0x5ceb81:0xe8d,_0x3ae304:0xfca,_0x15b7f6:0x14eb,_0x30baf3:0xd4e,_0x3004cc:0x401,_0x5b57ff:0x60a,_0x422019:0x96e,_0x1bb455:0x1050,_0x4c03ed:0x14d1,_0x2c22ab:0x1689,_0x365c3b:0x876,_0x341948:0x491,_0x35fed9:0xa81,_0x2bc98c:0xe3b,_0x5cd073:0x12ab,_0x514f43:0x1403},_0x997534={_0x53dfa6:0xae3,_0x5355be:0x1758,_0x34a5c2:0x15ac},_0x53d05a={_0x128e4a:0x100},_0x469dee={_0x1ce64:0x202};this['options']=_0x4ed25c,this[_0x5f545c(0x855,_0x215a44._0x412f23)]=_0x4ed25c['tilingScheme']||new Cesium__namespace['GeographicTilingScheme'](),this['_tileWidth']=_0x4ed25c['tileWidth']||0x100,this[_0x5f545c(0x70e,0xa4b)]=_0x4ed25c['tileHeight']||0x100,this['_sexagesimal']=_0x4ed25c['sexagesimal']||![],this['_scene']=_0x4ed25c['scene'];function _0x207d38(_0x1164bf,_0xcd8271){return _0x54a7f1(_0x1164bf- -0x86,_0xcd8271);}this[_0x207d38(_0x215a44._0x5ceb81,0xb59)]=this['_scene']['globe'][_0x207d38(0x87e,0x5aa)],this['_labels']=new Cesium__namespace[(_0x5f545c(_0x215a44._0x3ae304,0x54c))]();function _0x5f545c(_0x5eea25,_0x5d4b7f){return _0x7afdbe(_0x5eea25,_0x5d4b7f- -_0x469dee._0x1ce64);}this['_scene'][_0x207d38(0x34f,0xd7f)]['add'](this[_0x207d38(_0x215a44._0x15b7f6,0x1142)]),this[_0x207d38(0x9e3,0xe38)]=new Cesium__namespace[(_0x207d38(0x359,-0x346))](),this['_scene'][_0x5f545c(_0x215a44._0x30baf3,_0x215a44._0x3004cc)][_0x207d38(_0x215a44._0x5b57ff,_0x215a44._0x422019)](this['_polylines']);const _0x17bc95=document[_0x5f545c(0x1a6c,_0x215a44._0x1bb455)]('canvas');_0x17bc95[_0x207d38(_0x215a44._0x4c03ed,_0x215a44._0x2c22ab)]=0x100,_0x17bc95[_0x207d38(0x5e1,_0x215a44._0x365c3b)]=0x100,this[_0x5f545c(_0x215a44._0x341948,_0x215a44._0x35fed9)]=_0x17bc95,this['steps']=_0x4ed25c['steps']||[0.05,0.1,0.2,0.5,0x1,0x2,0x5,0xa];const _0x3d8301=this;this[_0x5f545c(0x6fa,0x7c7)]['camera'][_0x5f545c(0x3e6,0xd2f)][_0x5f545c(0x11f9,0x178f)](function(){const _0x326c6b={_0x2fda7b:0xf3};if(!_0x3d8301[_0x123a42(0x12e3,0x158a)])return;function _0x123a42(_0x336abb,_0x279fef){return _0x207d38(_0x336abb-_0x326c6b._0x2fda7b,_0x279fef);}function _0x2c6c76(_0xc770ad,_0x5bc670){return _0x207d38(_0x5bc670-_0x53d05a._0x128e4a,_0xc770ad);}_0x3d8301[_0x2c6c76(0xbe5,_0x997534._0x53dfa6)]['removeAll'](),_0x3d8301['_labels']['removeAll'](),_0x3d8301['_currentExtent']=null,_0x3d8301[_0x123a42(_0x997534._0x5355be,_0x997534._0x34a5c2)](_0x3d8301[_0x2c6c76(-0x58,0xa20)]());}),this['_scene'][_0x5f545c(0x115a,_0x215a44._0x2bc98c)][_0x207d38(_0x215a44._0x5cd073,0x10be)](this),this[_0x207d38(_0x215a44._0x514f43,0x19ee)]=!![];}get['url'](){return undefined;}get[_0x7afdbe(0x93d,0xc69)](){return undefined;}get[_0x7afdbe(0x1107,0x164c)](){return this['_tileWidth'];}get['tileHeight'](){return this['_tileHeight'];}get['maximumLevel'](){return 0x12;}get['minimumLevel'](){return 0x0;}get['tilingScheme'](){const _0x15dd2d={_0x1e911a:0x64f};function _0x32c306(_0x8ca01f,_0x5bb2ac){return _0x7afdbe(_0x8ca01f,_0x5bb2ac- -_0x15dd2d._0x1e911a);}return this[_0x32c306(0x7ed,0x3f3)];}get[_0x54a7f1(0x2cc,-0x492)](){const _0x524452={_0x584bc8:0xcf9};function _0x1e32df(_0xddf103,_0x4216f0){return _0x7afdbe(_0x4216f0,_0xddf103- -0x68f);}return this[_0x1e32df(0x3b3,_0x524452._0x584bc8)]['rectangle'];}get['tileDiscardPolicy'](){return undefined;}get[_0x7afdbe(0x1013,0xee2)](){return this['_errorEvent'];}get[_0x7afdbe(0x7ac,0x580)](){return this['_ready'];}get[_0x54a7f1(0x8a2,0x1185)](){return this['_credit'];}get['hasAlphaChannel'](){return!![];}get[_0x54a7f1(0xf9e,0x16e0)](){return this['_steps'];}set[_0x7afdbe(0x12d1,0x11cc)](_0x23f264){const _0x4b6062={_0x52baa7:0x1618},_0x1cd91c={_0x52a7a3:0xe65,_0x1ed492:0x1648},_0x11b168={_0x3707c5:0x5b};this['_steps']=[];function _0x576561(_0x239bdc,_0x464a2d){return _0x7afdbe(_0x464a2d,_0x239bdc- -0x49);}_0x23f264['forEach'](_0x403cf4=>{const _0x2f0a82={_0x2759c6:0x75};function _0x316645(_0x553e68,_0x33fc9b){return _0x536c(_0x553e68-_0x11b168._0x3707c5,_0x33fc9b);}function _0x3a159d(_0x4e6f94,_0x19995b){return _0x536c(_0x19995b-_0x2f0a82._0x2759c6,_0x4e6f94);}this[_0x3a159d(0x1075,0x7bc)][_0x316645(0xe3c,_0x1cd91c._0x52a7a3)](Cesium__namespace['Math'][_0x316645(0x1456,_0x1cd91c._0x1ed492)](_0x403cf4));}),this['_polylines'][_0x33be5c(0x8d3,0xc6a)](),this[_0x33be5c(_0x4b6062._0x52baa7,0x1c7f)]['removeAll'](),this['_currentExtent']=null;function _0x33be5c(_0xe4b177,_0xd04e6){return _0x7afdbe(_0xd04e6,_0xe4b177- -0x187);}this['_drawGrid'](this['_getExtentView']());}[_0x54a7f1(0xe58,0x11fa)](_0x9b2a2c,_0x5e7f73,_0x5d7ff8,_0x33773b){const _0x2663a8={_0x2e4446:0x1675,_0x4d7d42:0x1b54,_0x276c70:0x130,_0x3d4faa:0x13ab,_0x3ea1bd:0xdec,_0x29d060:0x15ee},_0x57d650={_0x57d0d8:0x30f};function _0x335cb1(_0x390b08,_0x4ca301){return _0x54a7f1(_0x4ca301- -_0x57d650._0x57d0d8,_0x390b08);}const _0x475ecc=LabelStyleConver['toCesiumVal']({'style':Cesium__namespace['LabelStyle'][_0x344db8(0xb32,0xf1e)],'fillColor':Cesium__namespace['Color']['AZURE'],'outlineColor':Cesium__namespace['Color']['BLACK'],'outlineWidth':0x2,'pixelOffset':_0x33773b?new Cesium__namespace[(_0x335cb1(_0x2663a8._0x2e4446,0x13f5))](0x5,0xf):new Cesium__namespace[(_0x335cb1(_0x2663a8._0x4d7d42,0x13f5))](0x5,-0x1e),'eyeOffset':Cesium__namespace['Cartesian3']['ZERO'],'horizontalOrigin':Cesium__namespace['HorizontalOrigin']['LEFT'],'verticalOrigin':Cesium__namespace['VerticalOrigin'][_0x344db8(0x24d,0x36e)],'scale':0x1,...this[_0x335cb1(_0x2663a8._0x276c70,0x5a1)][_0x335cb1(0x19fb,_0x2663a8._0x3d4faa)]});_0x475ecc['position']=this['_ellipsoid']['cartographicToCartesian'](new Cesium__namespace[(_0x335cb1(0xc36,0x5c1))](_0x9b2a2c,_0x5e7f73,0xa)),_0x475ecc[_0x335cb1(0x143c,_0x2663a8._0x3ea1bd)]=_0x5d7ff8;function _0x344db8(_0x1f449f,_0x5b1a6f){return _0x54a7f1(_0x1f449f- -0x8f,_0x5b1a6f);}this[_0x335cb1(_0x2663a8._0x29d060,0x1262)][_0x344db8(0x601,0x8c8)](_0x475ecc);}[_0x7afdbe(0x2246,0x1919)](_0x196d7f){const _0x2fd594={_0x22a1de:0x1244,_0x2e41fc:0xd67,_0x485e93:0x108f,_0x49f2a3:0xe64,_0x3bdbde:0x108f,_0x286e50:0x1980,_0x1f9386:0x758,_0xd61459:0x443,_0xe3bbf:0xb42,_0x46613a:0x11e,_0x3a9519:0x5de,_0x205512:0x11bc,_0x36f11d:0x597,_0x2e4a87:0xc9,_0x51e341:0x1767,_0x1a87f1:0x109b,_0x2f2f54:0x312,_0x2a1f62:0x48a,_0x3c9222:0x2dd,_0x1a934c:0xe9c,_0x3fc349:0x1613,_0x1d2266:0x86d,_0x611b91:0xb7f,_0x3bcac5:0x68c,_0x61a58e:0x3fc,_0x3a5844:0x9b3,_0x2203df:0x135c},_0x153244={_0xa2b4ce:0xf1};if(this[_0x4d02fc(0x100a,_0x2fd594._0x22a1de)]&&this['_currentExtent']['equals'](_0x196d7f))return;this['_currentExtent']=_0x196d7f,this[_0x393dc9(0x5af,_0x2fd594._0x2e41fc)]['removeAll'](),this['_labels']['removeAll']();let _0x49749b,_0x5cc10b=this[_0x4d02fc(_0x2fd594._0x485e93,0xf16)][0x0];for(_0x49749b=0x0;_0x49749b<this[_0x4d02fc(0x108f,_0x2fd594._0x49f2a3)][_0x393dc9(0xacb,0x4b2)]&&_0x5cc10b<_0x196d7f['width']/0xa;_0x49749b++){_0x5cc10b=this[_0x4d02fc(_0x2fd594._0x3bdbde,0x17ed)][_0x49749b];}let _0x4a5cb1=this[_0x4d02fc(0x108f,_0x2fd594._0x286e50)][0x0];for(_0x49749b=0x0;_0x49749b<this['steps']['length']&&_0x4a5cb1<_0x196d7f[_0x4d02fc(_0x2fd594._0x1f9386,0xe8d)]/0xa;_0x49749b++){_0x4a5cb1=this['steps'][_0x49749b];}function _0x4d02fc(_0x571e8f,_0x2827e0){return _0x54a7f1(_0x571e8f-_0x153244._0xa2b4ce,_0x2827e0);}let _0x5f4506=(_0x196d7f[_0x4d02fc(0x5de,_0x2fd594._0xd61459)]<0x0?Math[_0x4d02fc(_0x2fd594._0xe3bbf,_0x2fd594._0x46613a)](_0x196d7f[_0x4d02fc(_0x2fd594._0x3a9519,0x11e)]/_0x5cc10b):Math['floor'](_0x196d7f['west']/_0x5cc10b))*_0x5cc10b,_0x2ef0b3=(_0x196d7f[_0x393dc9(_0x2fd594._0x205512,0x146e)]<0x0?Math[_0x393dc9(_0x2fd594._0x36f11d,-_0x2fd594._0x2e4a87)](_0x196d7f['south']/_0x4a5cb1):Math['floor'](_0x196d7f[_0x4d02fc(_0x2fd594._0x51e341,_0x2fd594._0x1a87f1)]/_0x4a5cb1))*_0x4a5cb1,_0x3ddc06=(_0x196d7f['east']<0x0?Math['ceil'](_0x196d7f['east']/_0x4a5cb1):Math['floor'](_0x196d7f[_0x4d02fc(0x112c,0x109f)]/_0x4a5cb1))*_0x4a5cb1,_0x43792b=(_0x196d7f[_0x4d02fc(0xa35,_0x2fd594._0x2f2f54)]<0x0?Math[_0x4d02fc(0xb42,0x1561)](_0x196d7f[_0x393dc9(_0x2fd594._0x2a1f62,_0x2fd594._0x3c9222)]/_0x5cc10b):Math['floor'](_0x196d7f[_0x393dc9(_0x2fd594._0x2a1f62,0x98d)]/_0x5cc10b))*_0x5cc10b;_0x5f4506=Math['max'](_0x5f4506-0x2*_0x5cc10b,-Math['PI']),_0x3ddc06=Math['min'](_0x3ddc06+0x2*_0x5cc10b,Math['PI']),_0x2ef0b3=Math['max'](_0x2ef0b3-0x2*_0x4a5cb1,-Math['PI']/0x2),_0x43792b=Math[_0x4d02fc(_0x2fd594._0x1a934c,0x5ce)](_0x43792b+0x2*_0x5cc10b,Math['PI']/0x2);_0x5f4506>_0x3ddc06&&(_0x3ddc06+=Math['PI']*0x2);let _0x125e71,_0x42b48c;const _0x291b03=Cesium__namespace['Math'][_0x4d02fc(_0x2fd594._0x3fc349,0x20b8)](0x1),_0x15a9c9={};function _0x393dc9(_0x8bec9b,_0x4207e0){return _0x54a7f1(_0x8bec9b- -0x4ba,_0x4207e0);}_0x15a9c9['width']=0x1;const _0x4dacaa=PolylineStyleConver['toCesiumVal'](this[_0x4d02fc(0x9a1,_0x2fd594._0x1d2266)]['lineStyle']||{},_0x15a9c9),_0x45e5ce=_0x5cc10b*0.01,_0x2b7275=_0x2ef0b3+Math['floor']((_0x43792b-_0x2ef0b3)/_0x4a5cb1/0x2)*_0x4a5cb1;for(_0x42b48c=_0x5f4506;_0x42b48c<_0x3ddc06;_0x42b48c+=_0x5cc10b){const _0x1342ca=[];for(_0x125e71=_0x2ef0b3;_0x125e71<_0x43792b;_0x125e71+=_0x291b03){_0x1342ca[_0x393dc9(0xa4e,0x68b)](this[_0x393dc9(-0x1f2,-0x9b6)](_0x42b48c,_0x125e71,_0x4dacaa[_0x4d02fc(_0x2fd594._0x1f9386,_0x2fd594._0x611b91)]));}_0x1342ca['push'](this['_getCartesian3'](_0x42b48c,_0x43792b,_0x4dacaa['height']));const _0x3f2b33={..._0x4dacaa};_0x3f2b33['positions']=_0x1342ca,this['_polylines']['add'](_0x3f2b33);let _0x23fdeb=Cesium__namespace['Math'][_0x4d02fc(0x1032,_0x2fd594._0x3bcac5)](_0x42b48c);_0x23fdeb>0xb4&&(_0x23fdeb=_0x23fdeb-0x168),_0x23fdeb!==-0xb4&&this[_0x4d02fc(0xf49,0x161a)](_0x42b48c+_0x45e5ce,_0x2b7275,this['_sexagesimal']?this['_decToSex'](_0x23fdeb):_0x23fdeb[_0x393dc9(0xc6f,_0x2fd594._0x61a58e)](gridPrecision(_0x5cc10b)),![]);}const _0x3fce51=_0x5f4506+Math['floor']((_0x3ddc06-_0x5f4506)/_0x5cc10b/0x2)*_0x5cc10b;for(_0x125e71=_0x2ef0b3;_0x125e71<_0x43792b;_0x125e71+=_0x4a5cb1){const _0x7dd719=[];for(_0x42b48c=_0x5f4506;_0x42b48c<_0x3ddc06;_0x42b48c+=_0x291b03){_0x7dd719['push'](this['_getCartesian3'](_0x42b48c,_0x125e71,_0x4dacaa['height']));}_0x7dd719['push'](this['_getCartesian3'](_0x3ddc06,_0x125e71,_0x4dacaa[_0x4d02fc(0x758,0x604)]));const _0xfdaa08={..._0x4dacaa};_0xfdaa08['positions']=_0x7dd719,this[_0x393dc9(0x5af,0x660)]['add'](_0xfdaa08);const _0x5a7436=Cesium__namespace[_0x393dc9(0xdf2,_0x2fd594._0x3a5844)]['toDegrees'](_0x125e71);this[_0x393dc9(0x99e,_0x2fd594._0x2203df)](_0x3fce51,_0x125e71,this['_sexagesimal']?this['_decToSex'](_0x5a7436):_0x5a7436['toFixed'](gridPrecision(_0x4a5cb1)),!![]);}}['requestImage'](_0x4816ee,_0x1cd817,_0x478e00){const _0x47a28a={_0x4c1ebc:0x9b3},_0x17e88c={_0x3717ed:0x1ef},_0x3c891b={_0x133b42:0x74};return new Promise((_0xf3810c,_0x18671c)=>{this['_show']&&this['_drawGrid'](this[_0x280b73(_0x47a28a._0x4c1ebc,0x8f3)]());function _0x280b73(_0x1f03b8,_0x4de7fc){return _0x536c(_0x4de7fc-_0x3c891b._0x133b42,_0x1f03b8);}function _0x544a0e(_0x5a2c3f,_0x8857ed){return _0x536c(_0x5a2c3f-_0x17e88c._0x3717ed,_0x8857ed);}_0xf3810c(this[_0x280b73(0x643,0x9a2)]);});}['_getCartesian3'](_0x16015f,_0x4f15c0,_0x4e3b1b=0xa){const _0x473e04={_0x3b446b:0x664,_0xf0c9b5:0x100e,_0x273d23:0x412,_0x580693:0x638,_0x51a610:0x10fc},_0x720408={_0x9879e2:0x26c};function _0x2c7b5a(_0x5b9890,_0x1de387){return _0x54a7f1(_0x5b9890- -_0x720408._0x9879e2,_0x1de387);}function _0x36c280(_0x6141b4,_0x210afd){return _0x54a7f1(_0x210afd- -0x4f4,_0x6141b4);}if(_0x4e3b1b===_0x2c7b5a(0x1486,0x1575)){const _0x220685=new Cesium__namespace[(_0x2c7b5a(_0x473e04._0x3b446b,_0x473e04._0xf0c9b5))](_0x16015f,_0x4f15c0,0x0);_0x4e3b1b=this['_scene'][_0x36c280(_0x473e04._0x273d23,-0x275)]['getHeight'](_0x220685),_0x4e3b1b<0x0&&(_0x4e3b1b=0x0);}return Cesium__namespace[_0x36c280(_0x473e04._0x580693,0xdf3)][_0x2c7b5a(_0x473e04._0x51a610,0x1962)](_0x16015f,_0x4f15c0,_0x4e3b1b);}['setVisible'](_0x1f210b){const _0x305711={_0x35da6b:0xd91,_0xb29f82:0x1319,_0x15db25:0x23e},_0x13709f={_0x138f5f:0x188};function _0x12c894(_0x340cf2,_0x45e3d2){return _0x54a7f1(_0x340cf2- -_0x13709f._0x138f5f,_0x45e3d2);}this['_show']=_0x1f210b;function _0x1c4097(_0x417698,_0x5df870){return _0x7afdbe(_0x5df870,_0x417698- -0x48f);}!_0x1f210b?(this['_polylines']['removeAll'](),this['_labels']['removeAll']()):(this[_0x12c894(_0x305711._0x35da6b,_0x305711._0xb29f82)]=null,this['_drawGrid'](this[_0x12c894(0x81e,_0x305711._0x15db25)]()));}['isVisible'](){return this['_show'];}['_decToSex'](_0x22e106){const _0x34a5c6={_0x344fe2:0x763,_0x57e7fa:0x17c1,_0x17a484:0x139a},_0x3917de={_0x19f896:0x3ca};function _0x12498b(_0x401f52,_0x5c89db){return _0x7afdbe(_0x5c89db,_0x401f52- -_0x3917de._0x19f896);}let _0x3847ca=Math[_0x12498b(0x756,_0x34a5c6._0x344fe2)](_0x22e106),_0x57a713=((Math[_0x12498b(0xf36,_0x34a5c6._0x57e7fa)](_0x22e106)-_0x3847ca)*0x3c)['toFixed'](0x2);function _0x2c6fb4(_0x20426f,_0x2a4a0e){return _0x7afdbe(_0x2a4a0e,_0x20426f- -0x289);}return _0x57a713==='60.00'&&(_0x3847ca+=0x1,_0x57a713='0.00'),[_0x3847ca,':',_0x57a713][_0x2c6fb4(_0x34a5c6._0x17a484,0x1e2e)]('');}[_0x7afdbe(0x32e,0xbd4)](){const _0x586bd4={_0x495d07:0xb68,_0x117ae4:0x68a,_0x47cbd5:0x7d1,_0x2f5686:0x64,_0x184a2e:0x1e4,_0x5c9a1e:0x105c,_0x5b9e17:0x556,_0x382a6e:0x1414,_0x221ac5:0xbfe,_0x3b7490:0x13ef,_0x51e76c:0x19d0,_0x8ca8e6:0x1242,_0x462617:0xbb0,_0x58773b:0x530},_0x4c552f={_0x25a8a6:0x33f},_0x33c3cb={_0x3b9aea:0x543},_0x4d2a99=this[_0x474abd(_0x586bd4._0x495d07,_0x586bd4._0x117ae4)]['camera'],_0x284e36=this['_scene'][_0x474abd(0x2c,_0x586bd4._0x47cbd5)];if(_0x4d2a99['positionCartographic'][_0x2915f8(_0x586bd4._0x2f5686,0x352)]>0x989680)return Cesium__namespace[_0x2915f8(0x205,_0x586bd4._0x184a2e)]['MAX_VALUE'];const _0x17b3f3=[_0x4d2a99['pickEllipsoid'](new Cesium__namespace['Cartesian2'](0x0,0x0),this['_ellipsoid']),_0x4d2a99[_0x474abd(_0x586bd4._0x5c9a1e,0xf5e)](new Cesium__namespace['Cartesian2'](_0x284e36['width'],0x0),this['_ellipsoid']),_0x4d2a99['pickEllipsoid'](new Cesium__namespace['Cartesian2'](0x0,_0x284e36[_0x474abd(0xde1,_0x586bd4._0x5b9e17)]),this[_0x2915f8(_0x586bd4._0x382a6e,_0x586bd4._0x221ac5)]),_0x4d2a99[_0x2915f8(0x297,0xd5a)](new Cesium__namespace[(_0x2915f8(0x135e,_0x586bd4._0x3b7490))](_0x284e36[_0x2915f8(_0x586bd4._0x51e76c,_0x586bd4._0x8ca8e6)],_0x284e36['height']),this['_ellipsoid'])];function _0x2915f8(_0x4bb62d,_0x48c695){return _0x7afdbe(_0x4bb62d,_0x48c695- -_0x33c3cb._0x3b9aea);}function _0x474abd(_0x464086,_0x3eb8ea){return _0x7afdbe(_0x464086,_0x3eb8ea- -_0x4c552f._0x25a8a6);}for(let _0x2a737c=0x0;_0x2a737c<0x4;_0x2a737c++){if(_0x17b3f3[_0x2a737c]===undefined)return Cesium__namespace['Rectangle']['MAX_VALUE'];}return Cesium__namespace['Rectangle'][_0x2915f8(0xac3,_0x586bd4._0x462617)](this[_0x2915f8(_0x586bd4._0x58773b,0xbfe)]['cartesianArrayToCartographicArray'](_0x17b3f3));}}function gridPrecision(_0x35f0cb){if(_0x35f0cb<0.01)return 0x2;if(_0x35f0cb<0.1)return 0x1;if(_0x35f0cb<0x1)return 0x0;return 0x0;}class GraticuleLayer extends BaseLayer{get['layer'](){const _0x297131={_0x83897b:0x145};function _0x3eb98d(_0x2a9df6,_0x372b6a){return _0x7afdbe(_0x372b6a,_0x2a9df6- -0x64d);}return this[_0x3eb98d(-_0x297131._0x83897b,0x6ef)];}get['steps'](){const _0x4a8001={_0x6b28a7:0x370};function _0x3e5956(_0x16a642,_0x43bfb2){return _0x54a7f1(_0x43bfb2- -_0x4a8001._0x6b28a7,_0x16a642);}var _0x34db3c;return(_0x34db3c=this[_0x3e5956(0x2db,-0x96)])===null||_0x34db3c===void 0x0?void 0x0:_0x34db3c['steps'];}set['steps'](_0x26809a){const _0xd636e2={_0x2a283c:0x1019},_0x4ce767={_0x373c9a:0x7b};function _0x50bd32(_0x4bc35c,_0x2955f7){return _0x54a7f1(_0x2955f7-_0x4ce767._0x373c9a,_0x4bc35c);}this['_graticuleProvider'][_0x50bd32(0xe06,_0xd636e2._0x2a283c)]=_0x26809a;}['_showHook'](_0x439248){const _0x5a6503={_0x4c0613:0x5ba,_0x28df4d:0x4b5,_0x2ad588:0xced,_0x52eb55:0x569};function _0x362d43(_0x1b87e8,_0x1f7ebc){return _0x7afdbe(_0x1f7ebc,_0x1b87e8- -0x53);}function _0x35435a(_0x2be9d4,_0x5015f1){return _0x7afdbe(_0x5015f1,_0x2be9d4- -0x54d);}this[_0x35435a(-0x45,-_0x5a6503._0x4c0613)]&&this[_0x362d43(_0x5a6503._0x28df4d,0x314)][_0x362d43(_0x5a6503._0x2ad588,_0x5a6503._0x52eb55)](_0x439248);}[_0x54a7f1(0x1757,0xd14)](_0x1f9fb3,_0x1c7b5b){const _0xd2dcf5={_0x520bf8:0xa85,_0x4b6d93:0xf3e};function _0x19c2de(_0x424820,_0x3384d0){return _0x54a7f1(_0x424820- -0x419,_0x3384d0);}function _0x4dc53d(_0x39f8d9,_0x2ddb9e){return _0x7afdbe(_0x39f8d9,_0x2ddb9e- -0x28e);}_0x1c7b5b['steps']&&(this[_0x4dc53d(_0xd2dcf5._0x520bf8,0x27a)][_0x19c2de(0xb85,0x45b)]=_0x1c7b5b[_0x4dc53d(0x16b6,_0xd2dcf5._0x4b6d93)]);}[_0x7afdbe(0xc13,0x4b9)](){const _0x2cc3f8={_0xa96b4:0x2ef,_0x1d16a6:0x198e,_0x45f6f1:0x1086,_0x3f086a:0xe2c};function _0x3b7e67(_0x48e8a8,_0xc5bf07){return _0x54a7f1(_0x48e8a8- -0x4e4,_0xc5bf07);}function _0x3a371b(_0x5da3f5,_0x96148d){return _0x54a7f1(_0x96148d-0x7,_0x5da3f5);}this[_0x3a371b(0x4f,0x2e1)]=new GraticuleProvider({'scene':this[_0x3b7e67(_0x2cc3f8._0xa96b4,0x90)][_0x3a371b(_0x2cc3f8._0x1d16a6,_0x2cc3f8._0x45f6f1)],...this[_0x3a371b(_0x2cc3f8._0x3f086a,0x8b7)]});}['_addedHook'](){function _0x3d09a2(_0x4a51ea,_0x4744a9){return _0x7afdbe(_0x4744a9,_0x4a51ea- -0x528);}this[_0x3d09a2(-0x20,0xa0f)]['setVisible'](this['show']);}[_0x7afdbe(0xbed,0xc7d)](){const _0x4f5058={_0x7d4496:0x3d3},_0x2c70b4={_0x1d5661:0x457};function _0x1b8cdf(_0x1a1544,_0x34afd3){return _0x54a7f1(_0x1a1544-0x168,_0x34afd3);}function _0x4b54c7(_0x435ff1,_0x93e1ab){return _0x7afdbe(_0x435ff1,_0x93e1ab- -_0x2c70b4._0x1d5661);}this[_0x4b54c7(-_0x4f5058._0x7d4496,0xb1)][_0x1b8cdf(0xc7a,0x2b9)](![]);}}register$3(_0x54a7f1(0x163b,0x1ff1),GraticuleLayer);class LodGraphicLayer extends GraphicLayer{constructor(_0x339828={}){const _0x2c243a={_0x2cb4e4:0x113f,_0x30a363:0x707,_0xde4c53:0x399,_0x4db400:0x696,_0x1223c4:0x3b9,_0x6b62c0:0x1130,_0x29bab1:0x8a5};super(_0x339828);!isMars3DCesium&&logError(_0x217d94(_0x2c243a._0x2cb4e4,_0x2c243a._0x30a363),this);this['options']['IdField']=this[_0x22d516(-0x44f,0x527)]['IdField']||'id';function _0x22d516(_0x57de2b,_0x1c85e9){return _0x7afdbe(_0x57de2b,_0x1c85e9- -0x5b7);}this['options'][_0x217d94(0x9aa,_0x2c243a._0xde4c53)]&&this['bindPopup'](function(_0x4701bc){var _0x58d53f;const _0x2d5bbe=(_0x4701bc===null||_0x4701bc===void 0x0||(_0x58d53f=_0x4701bc['graphic'])===null||_0x58d53f===void 0x0?void 0x0:_0x58d53f['gridList'])||[];return _0x2d5bbe['join']('<br/>');});this['_cacheGrid']={},this['_cacheGraphic']={},this[_0x22d516(-_0x2c243a._0x4db400,0x53)]=this[_0x217d94(0x78d,_0x2c243a._0x1223c4)][_0x217d94(0x6ad,_0x2c243a._0x6b62c0)]??0x3e8;function _0x217d94(_0x1c62d9,_0x25e733){return _0x7afdbe(_0x1c62d9,_0x25e733- -0x725);}this[_0x22d516(0x81b,0x8ac)]={},this[_0x22d516(0xa4d,_0x2c243a._0x29bab1)]={};}get[_0x54a7f1(0x1616,0xbc6)](){for(const _0xaad2a0 in this[_0x4f40c8(-0x1a7,0x8d6)]){const _0x60b439=this['_cacheGrid'][_0xaad2a0];if(!_0x60b439||!_0x60b439[_0x2f8edd(0x109a,0xca6)])continue;if(_0x60b439['isLoading'])return!![];}function _0x2f8edd(_0x191735,_0x3aa1f1){return _0x7afdbe(_0x3aa1f1,_0x191735- -0x39a);}function _0x4f40c8(_0x591a53,_0xe21202){return _0x7afdbe(_0x591a53,_0xe21202- -0x3ef);}return![];}['_showHook'](_0x9c869e){const _0x60a69e={_0x3b0798:0x2,_0x28c556:0x3bb};function _0x2aa2c9(_0x288dff,_0x4bdb40){return _0x7afdbe(_0x4bdb40,_0x288dff- -0x6b8);}super['_showHook'](_0x9c869e);function _0x469220(_0x271b03,_0x20beec){return _0x7afdbe(_0x271b03,_0x20beec- -0x15d);}this[_0x2aa2c9(-_0x60a69e._0x3b0798,_0x60a69e._0x28c556)]&&(this['_tileLayer'][_0x469220(0x13a1,0x16c4)]=_0x9c869e);}['_mountedHook'](){const _0x186129={_0x3f019b:0xc31,_0x437cf1:0x2c3},_0x5a5673={_0x1144f1:0x2b8};super['_mountedHook']();const _0x2fcd58={...this['options']};_0x2fcd58[_0x4e56e6(0x109d,_0x186129._0x3f019b)]=!![];const _0x527086=_0x2fcd58;function _0x4e56e6(_0xa1f29f,_0x5112cf){return _0x54a7f1(_0x5112cf- -0x1c5,_0xa1f29f);}delete _0x527086['id'],delete _0x527086[_0x4b3903(0x1534,0xba6)];function _0x4b3903(_0xfce370,_0x2607a1){return _0x54a7f1(_0xfce370-_0x5a5673._0x1144f1,_0x2607a1);}delete _0x527086[_0x4b3903(0xcdb,0x1368)],delete _0x527086['type'],this[_0x4e56e6(-0x5b4,_0x186129._0x437cf1)]=new EmptyTileLayer(_0x527086);}[_0x7afdbe(0x8a1,0x134f)](){const _0x8cdeea={_0x308018:0xc72,_0x277611:0xdbe,_0x3021f0:0x743,_0x2f0445:0x8a6,_0x44377e:0x1396,_0x2c4213:0x88,_0x2309e4:0xf5d},_0x3f771d={_0x1b8891:0xa36,_0x2138e8:0x186,_0x6e04:0x15af},_0x2a469c={_0x5dac1b:0x4af};super[_0x723120(0x40a,_0x8cdeea._0x308018)]();function _0x723120(_0x46a272,_0x428a5f){return _0x54a7f1(_0x428a5f- -_0x2a469c._0x5dac1b,_0x46a272);}this['_tileLayer']['on'](EventType[_0x30d15b(_0x8cdeea._0x277611,0x11fa)],this['_tileLayer_addTileHandler'],this),this[_0x723120(-_0x8cdeea._0x3021f0,-0x27)]['on'](EventType[_0x723120(_0x8cdeea._0x2f0445,0xb1b)],this[_0x723120(_0x8cdeea._0x44377e,0x9d5)],this),this['_readyPromise']['resolve'](this),this['fire'](EventType[_0x723120(0x800,_0x8cdeea._0x2c4213)],{},!![]);function _0x30d15b(_0x1e1d61,_0x4120b0){return _0x7afdbe(_0x1e1d61,_0x4120b0-0x12);}this[_0x723120(-0x719,0x324)][_0x723120(_0x8cdeea._0x2309e4,0x11b2)]['then'](()=>{function _0x53bcc7(_0x100577,_0x4d09e0){return _0x723120(_0x4d09e0,_0x100577-0x712);}function _0x11e3db(_0x4a5155,_0x4d5c92){return _0x30d15b(_0x4d5c92,_0x4a5155- -0x1dc);}var _0x369751;this['isAdded']&&!((_0x369751=this['_tileLayer'])!==null&&_0x369751!==void 0x0&&_0x369751['isAdded'])&&this[_0x53bcc7(_0x3f771d._0x1b8891,_0x3f771d._0x2138e8)][_0x11e3db(0x172a,_0x3f771d._0x6e04)](this['_tileLayer']);});}[_0x7afdbe(0x6d8,0xc7d)](){const _0x40591c={_0x292e30:0x197b,_0x144e12:0xfca,_0x2c1f32:0x10fe,_0x505992:0x5ce},_0x21d1fc={_0x2747d7:0x146},_0x28cade={_0x5e9666:0x8d};super[_0xfc5ca2(0x1279,0xbf0)]();function _0xfc5ca2(_0x2ea3b6,_0x30e1f4){return _0x7afdbe(_0x2ea3b6,_0x30e1f4- -_0x28cade._0x5e9666);}this['_tileLayer']['off'](EventType['addTile'],this['_tileLayer_addTileHandler'],this),this['_tileLayer']['off'](EventType[_0x3bc001(_0x40591c._0x292e30,0x1110)],this[_0x3bc001(0x1258,_0x40591c._0x144e12)],this),this['_map'][_0xfc5ca2(0x1418,_0x40591c._0x2c1f32)](this[_0x3bc001(0xc25,_0x40591c._0x505992)]);function _0x3bc001(_0x331425,_0x25d671){return _0x54a7f1(_0x25d671-_0x21d1fc._0x2747d7,_0x331425);}this['clear']();}['getGridKey'](_0x1c0b34){const _0x377aed={_0xebb13:0x6db};function _0x436c94(_0x39c021,_0xf5cf13){return _0x7afdbe(_0x39c021,_0xf5cf13- -0x690);}return _0x1c0b34[_0x436c94(_0x377aed._0xebb13,0x6a)]+'_x'+_0x1c0b34['x']+'_y'+_0x1c0b34['y'];}[_0x7afdbe(0x116,0x547)](_0x14e836){const _0x4ae950={_0x43a2bc:0x830};function _0x44cf20(_0x28d2d7,_0x42c213){return _0x7afdbe(_0x42c213,_0x28d2d7- -0x495);}if(!this['show']||!this[_0x44cf20(_0x4ae950._0x43a2bc,-0x84)][_0x14e836])return!![];return![];}[_0x54a7f1(0x1570,0x1835)](_0x21973c){const _0x39bf30={_0x48cbb8:0xfe,_0x505ba3:0x19b6,_0x2c79fa:0x1051,_0x19aebb:0xa67,_0x1e149b:0xbf,_0x3f1a43:0xd6,_0x1f8763:0x370};if(!this['_tileLayer']['isInRange'](_0x21973c['level']))return;function _0xe7fc73(_0x26dec1,_0x5d4b7c){return _0x54a7f1(_0x26dec1- -0x31d,_0x5d4b7c);}const _0x6a6d08=this[_0xe7fc73(_0x39bf30._0x48cbb8,0x3cd)](_0x21973c);_0x21973c[_0x1c4e1c(_0x39bf30._0x505ba3,_0x39bf30._0x2c79fa)]=_0x6a6d08;if(this['_cache_ndata_keys'][_0x6a6d08])return;const _0x271ebe={};_0x271ebe[_0x1c4e1c(_0x39bf30._0x19aebb,0x11d7)]=_0x21973c;function _0x1c4e1c(_0x132123,_0x305cd3){return _0x54a7f1(_0x305cd3- -0x2f,_0x132123);}_0x271ebe[_0xe7fc73(0x12f9,0x1d03)]=!![],this['_cacheGrid'][_0x6a6d08]=_0x271ebe,this[_0xe7fc73(_0x39bf30._0x1e149b,_0x39bf30._0x3f1a43)]>0x0&&this[_0xe7fc73(0x918,_0x39bf30._0x1f8763)][_0x6a6d08]?this['_showData'](this['_cache_data'][_0x6a6d08]):this['queryGridData'](_0x21973c)['then'](_0x1788a9=>{function _0x3be1c0(_0x2da469,_0x683d38){return _0x1c4e1c(_0x2da469,_0x683d38- -0x144);}this['show']&&this[_0x3be1c0(-0x121,0x623)](_0x1788a9);});}[_0x54a7f1(0xb91,0xa58)](_0x4b3221){const _0x87f831={_0x119e52:0x12e5,_0xef6705:0xdd3,_0xc78fb4:0x881,_0x405a4a:0xda5},_0x1fceed={_0x5d61bb:0x86};if(_0x4b3221['id'])return _0x4b3221['id'];function _0x3f6fd4(_0x471572,_0x5675ca){return _0x54a7f1(_0x5675ca-_0x1fceed._0x5d61bb,_0x471572);}_0x4b3221['type']==='Feature'&&(_0x4b3221=_0x4b3221[_0x35b81d(_0x87f831._0x119e52,_0x87f831._0xef6705)]);function _0x35b81d(_0x29050e,_0x250fa0){return _0x54a7f1(_0x29050e- -0x2f,_0x250fa0);}if(_0x4b3221[this['options']['IdField']])return _0x4b3221[this[_0x35b81d(_0x87f831._0xc78fb4,_0x87f831._0x405a4a)][_0x3f6fd4(0x6b8,0xd7b)]];return null;}[_0x7afdbe(0x12dc,0x9c4)](_0xcccec7){const _0x3a1c91={_0x42a3de:0x3ad,_0x2e585e:0x13de,_0x556cad:0x6f7,_0x2e43b0:0x894,_0x4c431e:0x5da,_0x1d5e0b:0x130d,_0x3cbbc2:0x49a,_0x3ed6a3:0x13e1,_0x4c0043:0x2b3,_0x450616:0x17f6,_0x5583af:0x25e,_0x4c8f9f:0xd30,_0x5e3629:0xc1a,_0x2c9e92:0x548},_0x4741bb={_0x2cd8ab:0x5cf},_0x3084e4=_0xcccec7['list'],_0x4fa4c0=_0xcccec7[_0xafb059(_0x3a1c91._0x42a3de,0xc89)];if(_0x3084e4[_0x23571f(_0x3a1c91._0x2e585e,0xbe4)]===0x0)this['_cache_ndata_keys'][_0x4fa4c0]=!![];else this[_0xafb059(-_0x3a1c91._0x556cad,-0x1b)]>0x0&&(this[_0x23571f(0xe3f,_0x3a1c91._0x2e43b0)][_0x4fa4c0]=_0xcccec7,Object['keys'](this['_cache_data'])['length']>this[_0x23571f(-0x4b3,0x3b)]&&(this['_cache_data']={}));if(this[_0xafb059(-_0x3a1c91._0x4c431e,-0xde)][_0x4fa4c0])return;const _0x52ffdb=[];function _0x23571f(_0x2acbd2,_0x456a3f){return _0x7afdbe(_0x2acbd2,_0x456a3f- -_0x4741bb._0x2cd8ab);}const _0x3122ba=[];for(let _0x460511=0x0,_0x136929=_0x3084e4[_0xafb059(_0x3a1c91._0x1d5e0b,0xb8e)];_0x460511<_0x136929;_0x460511++){const _0x32fde2=_0x3084e4[_0x460511],_0x23b936=this[_0x23571f(_0x3a1c91._0x3cbbc2,0x7f0)](_0x32fde2);!_0x23b936&&logWarn('LodGraphicLayer:\x20数据的ID识别失败',_0x32fde2);const _0x28c251=this['_cacheGraphic'][_0x23b936];if(_0x28c251)_0x28c251['gridList'][_0x23571f(_0x3a1c91._0x3ed6a3,0xb67)](_0x4fa4c0),this['updateGraphic'](_0x28c251,_0x32fde2);else{const _0x2dd1ab=this[_0xafb059(-0x610,_0x3a1c91._0x4c0043)](_0xcccec7,_0x32fde2);if(!_0x2dd1ab)continue;_0x2dd1ab['gridList']=[_0x4fa4c0],this[_0x23571f(_0x3a1c91._0x450616,0x12b1)][_0x23b936]=_0x2dd1ab,_0x3122ba['push'](_0x2dd1ab);}_0x52ffdb[_0x23571f(0x7d3,0xb67)](_0x23b936);}this['_cacheGrid'][_0x4fa4c0]=this[_0x23571f(0xf1a,0x6f6)][_0x4fa4c0]||{},this[_0xafb059(-0x4d,0x6a0)][_0x4fa4c0]['ids']=_0x52ffdb;function _0xafb059(_0xfcf170,_0xda7d90){return _0x7afdbe(_0xfcf170,_0xda7d90- -0x625);}this[_0xafb059(_0x3a1c91._0x5583af,0x6a0)][_0x4fa4c0]['isLoading']=![];if(_0x52ffdb['length']>0x0){const _0x312510={};_0x312510[_0xafb059(-0x5e8,0x24f)]=_0x52ffdb,_0x312510[_0x23571f(_0x3a1c91._0x4c8f9f,0xe39)]=_0x3122ba,this['fire'](EventType[_0xafb059(_0x3a1c91._0x5e3629,_0x3a1c91._0x2c9e92)],_0x312510);}}['_tileLayer_removeTileHandler'](_0x3a33a6){const _0x28977e={_0x3eb2e7:0x5c,_0xebf170:0x598,_0x1084b9:0xd07,_0x8acec9:0xd07,_0x39c901:0x1414,_0x8f415d:0x897,_0x19bc8a:0xb4d,_0xd0a0e5:0x162d,_0xec478d:0x904,_0x1595fc:0x526,_0x46692a:0x3b3,_0x1f6cc8:0x1532,_0x353ce4:0xacf};function _0x541233(_0x114f53,_0x4f2c07){return _0x54a7f1(_0x114f53- -0x120,_0x4f2c07);}if(this['_tileLayer'][_0x573f26(-0x2d1,-_0x28977e._0x3eb2e7)](_0x3a33a6['level'])){this[_0x573f26(0xe24,0x703)]();return;}function _0x573f26(_0x558b25,_0x2c4b11){return _0x7afdbe(_0x2c4b11,_0x558b25- -0x72d);}const _0x3db49d=this[_0x541233(0x2fb,-0x10c)](_0x3a33a6),_0xb014fe=this[_0x573f26(_0x28977e._0xebf170,0x5e4)][_0x3db49d];if(_0xb014fe){var _0x21339a;(_0x21339a=_0xb014fe[_0x573f26(_0x28977e._0x1084b9,0x1446)])!==null&&_0x21339a!==void 0x0&&_0x21339a['_resource']&&(_0xb014fe[_0x573f26(_0x28977e._0x8acec9,0x112f)][_0x541233(0x11aa,_0x28977e._0x39c901)][_0x573f26(_0x28977e._0x8f415d,_0x28977e._0x19bc8a)](),delete _0xb014fe[_0x573f26(0xd07,_0x28977e._0xd0a0e5)]['_resource']);if(_0xb014fe[_0x541233(0x526,_0x28977e._0xec478d)])for(let _0x2cdedd=0x0;_0x2cdedd<_0xb014fe[_0x541233(_0x28977e._0x1595fc,0xc40)]['length'];_0x2cdedd++){const _0x4c5e2e=_0xb014fe[_0x573f26(0x147,0x9df)][_0x2cdedd],_0x419474=this['_cacheGraphic'][_0x4c5e2e];if(!_0x419474)continue;removeArrayItem(_0x419474['gridList'],_0x3db49d),_0x419474['gridList']['length']===0x0&&(this[_0x573f26(-0x116,_0x28977e._0x46692a)](_0x419474),delete this[_0x541233(_0x28977e._0x1f6cc8,_0x28977e._0x353ce4)][_0x4c5e2e]);}delete this['_cacheGrid'][_0x3db49d];}}['queryGridData'](_0x4a844f){const _0x294fae={_0x2bfa1b:0x643,_0x5b8ab8:0x5fb,_0x4a1b6b:0x635},_0x3a6a85={_0x48af0e:0x27b};function _0x1d4ad8(_0x256401,_0x469e71){return _0x7afdbe(_0x256401,_0x469e71- -0x4e3);}function _0x53fcde(_0x4a9545,_0x23cc81){return _0x54a7f1(_0x23cc81- -_0x3a6a85._0x48af0e,_0x4a9545);}if(this[_0x1d4ad8(_0x294fae._0x2bfa1b,_0x294fae._0x5b8ab8)]['queryGridData'])return this[_0x53fcde(0xb85,_0x294fae._0x4a1b6b)]['queryGridData'](_0x4a844f);}[_0x7afdbe(0xd57,0x8d8)](_0x274746,_0x2b698a){const _0x33bbcd={_0x497391:0x11b5,_0x4a5ee6:0x8b4};function _0x17ee10(_0x1c870a,_0x15b464){return _0x7afdbe(_0x15b464,_0x1c870a- -0x31d);}function _0x49c9b6(_0x4e0b64,_0x476584){return _0x54a7f1(_0x476584-0x4,_0x4e0b64);}if(this[_0x49c9b6(_0x33bbcd._0x497391,_0x33bbcd._0x4a5ee6)][_0x49c9b6(0xb10,0x6ae)])return this[_0x17ee10(0x7c1,0x4fa)][_0x17ee10(0x5bb,0x8ae)](_0x274746,_0x2b698a);return null;}['updateGraphic'](_0x412fc5,_0x27db9e){const _0x4cdd67={_0x585273:0x54f,_0x599f15:0x82c,_0x47f619:0x5df},_0x3bd852={_0x1f779d:0xb6},_0x191514={_0x348e14:0x361};function _0x4c2f6e(_0x271de5,_0x2807fe){return _0x54a7f1(_0x2807fe- -_0x191514._0x348e14,_0x271de5);}function _0x475ae5(_0x5f4774,_0x4f33c2){return _0x7afdbe(_0x4f33c2,_0x5f4774- -_0x3bd852._0x1f779d);}this['options']['updateGraphic']&&this[_0x4c2f6e(0x908,_0x4cdd67._0x585273)][_0x475ae5(_0x4cdd67._0x599f15,_0x4cdd67._0x47f619)](_0x412fc5,_0x27db9e);}[_0x7afdbe(0x18ab,0x1551)](_0x241b53){const _0xc3c075={_0x47d63f:0xded,_0x5e09d2:0x8ab};function _0x13c789(_0x15e8c0,_0x563d2c){return _0x54a7f1(_0x15e8c0-0xb5,_0x563d2c);}super['clear'](_0x241b53),this['_cacheGraphic']={};for(const _0x9625e9 in this[_0x13c789(0xb4c,0x105d)]){var _0x23724a;const _0x35a452=this['_cacheGrid'][_0x9625e9];(_0x23724a=_0x35a452['grid'])!==null&&_0x23724a!==void 0x0&&_0x23724a['_resource']&&_0x35a452['grid'][_0x36f1a6(_0xc3c075._0x47d63f,_0xc3c075._0x5e09d2)]['cancelRequest']();}function _0x36f1a6(_0x4b5034,_0x275972){return _0x54a7f1(_0x4b5034- -0x4dd,_0x275972);}this['_cacheGrid']={},this['_cache_data']={},this['_cache_ndata_keys']={};}['reload'](){const _0x236623={_0x27adfb:0x1229,_0x49dfd2:0x41a,_0x116ef8:0x19e,_0x555d7a:0x10cd};this[_0x367140(0x1bfe,_0x236623._0x27adfb)](!![]);function _0x367140(_0x250db2,_0x4f1867){return _0x7afdbe(_0x250db2,_0x4f1867- -0x328);}function _0x4ac6ad(_0xe212ea,_0x35ebaa){return _0x54a7f1(_0x35ebaa- -0x2ea,_0xe212ea);}this[_0x4ac6ad(-0x2a9,0x19e)]&&this[_0x4ac6ad(_0x236623._0x49dfd2,_0x236623._0x116ef8)][_0x4ac6ad(0x11ad,_0x236623._0x555d7a)]();}[_0x7afdbe(0x18a5,0x1985)](_0x337f49,_0x5d12c8){const _0x260e61={_0x507800:0x13e,_0x41c967:0xb5d,_0x50c382:0xf1a},_0x106f4e={_0x4f2a76:0x42c};function _0x22a720(_0x577722,_0x21629e){return _0x54a7f1(_0x21629e- -0x299,_0x577722);}super['_setOptionsHook'](_0x337f49,_0x5d12c8);function _0x5c1283(_0x26fdce,_0xf6c022){return _0x54a7f1(_0xf6c022- -_0x106f4e._0x4f2a76,_0x26fdce);}this['clear'](!![]);if(this['_tileLayer']){const _0x2f6347={..._0x5d12c8};_0x2f6347[_0x22a720(_0x260e61._0x507800,_0x260e61._0x41c967)]=!![];const _0x5aff60=_0x2f6347;delete _0x5aff60['id'],delete _0x5aff60['name'],delete _0x5aff60[_0x5c1283(0x965,0x5f7)],delete _0x5aff60['type'],this['_tileLayer'][_0x22a720(_0x260e61._0x50c382,0xfed)](_0x5aff60);}}['_toJsonEx'](_0x2324b6){}}register$3('lodGraphic',LodGraphicLayer);class GeodePoiLayer extends LodGraphicLayer{constructor(_0x59c9ff={}){const _0xcc3bbc={_0x55291c:0xb34,_0x394912:0xc11,_0x280748:0x759},_0x4392d9={_0x1d1927:0x1fde,_0x1189bb:0x17ad,_0x35aab7:0x150c,_0x355f49:0x115a,_0x231319:0x128d,_0x367578:0x1857,_0x1d966e:0x6c9,_0x56bb94:0xeee},_0x37364f={_0x12072d:0x477};function _0x35e845(_0x31ab4,_0x9229ac){return _0x54a7f1(_0x9229ac- -_0x37364f._0x12072d,_0x31ab4);}super(_0x59c9ff);function _0x3d5069(_0x12b900,_0x579b77){return _0x54a7f1(_0x12b900- -0x186,_0x579b77);}this['_key_index']=0x0;_0x59c9ff['key']?this[_0x3d5069(0x12f0,0xe46)]=Array['isArray'](_0x59c9ff[_0x3d5069(0xefa,_0xcc3bbc._0x55291c)])?_0x59c9ff['key']:[_0x59c9ff['key']]:this[_0x3d5069(0x12f0,0x12f3)]=gaodeArr;const _0x2f854b={};_0x2f854b['offsetY']=-0xa,this[_0x3d5069(_0xcc3bbc._0x394912,_0xcc3bbc._0x280748)](function(_0x14c847){const _0x5e6e0d={_0x200408:0x3c2};var _0x59a7dd;function _0x563fbe(_0xbad620,_0x391813){return _0x3d5069(_0x391813-0x1c3,_0xbad620);}const _0x19c3e4=_0x14c847===null||_0x14c847===void 0x0||(_0x59a7dd=_0x14c847['graphic'])===null||_0x59a7dd===void 0x0?void 0x0:_0x59a7dd['attr'];if(!_0x19c3e4)return;function _0xa30d46(_0x22116b,_0x4f8762){return _0x35e845(_0x4f8762,_0x22116b-_0x5e6e0d._0x200408);}const _0x54d682='<div>名称:'+_0x19c3e4['name']+_0x563fbe(_0x4392d9._0x1d1927,_0x4392d9._0x1189bb)+_0x563fbe(_0x4392d9._0x35aab7,_0x4392d9._0x355f49)+_0x19c3e4[_0xa30d46(_0x4392d9._0x231319,_0x4392d9._0x367578)]+'</div>'+_0x563fbe(0x45d,_0x4392d9._0x1d966e)+_0x19c3e4[_0x563fbe(_0x4392d9._0x56bb94,0x13fa)]+_0x19c3e4[_0x563fbe(0x1ae,0x736)]+_0x19c3e4[_0x563fbe(0x1349,0x1330)]+'</div>'+'<div>类别:'+_0x19c3e4['type']+_0x563fbe(0xf43,_0x4392d9._0x1189bb);return _0x54d682;},_0x2f854b);}get['key'](){const _0x3da3d1=this['_key_index']++%this['_keys']['length'];return this['_keys'][_0x3da3d1];}[_0x54a7f1(0x149c,0x17c8)](_0x446582){const _0x2e096a={_0x2b2dbd:0x112f,_0x6d021f:0xe78,_0x56a1a3:0x580,_0x56c5cf:0xfd3,_0x1f4d63:0x246,_0x2642fc:0x1b7},_0x3e8331={_0x336add:0xc6,_0x3a98b2:0x3c1,_0x538d7b:0x7af,_0x431d04:0x27e},_0x11c313=wgs2gcj([_0x446582['extent']['xmin'],_0x446582['extent'][_0x14fb76(0x696,_0x2e096a._0x2b2dbd)]]),_0x29b9e7=wgs2gcj([_0x446582['extent']['xmax'],_0x446582[_0xa812ed(0x23a,0x228)]['ymin']]);function _0xa812ed(_0x43af60,_0x57a37d){return _0x54a7f1(_0x43af60- -0x201,_0x57a37d);}const _0x331c42=_0x11c313[0x0]+','+_0x11c313[0x1]+'|'+_0x29b9e7[0x0]+','+_0x29b9e7[0x1],_0x37689f=this['options']['filter']||{};_0x37689f[_0xa812ed(0x151b,0x16b0)]=_0x14fb76(_0x2e096a._0x6d021f,0x1085);function _0x14fb76(_0x508f69,_0x44ad85){return _0x7afdbe(_0x508f69,_0x44ad85- -0x2db);}return _0x37689f[_0x14fb76(_0x2e096a._0x56a1a3,_0x2e096a._0x56c5cf)]=this[_0xa812ed(0xe7f,0x959)],_0x37689f['polygon']=_0x331c42,!_0x37689f[_0x14fb76(-_0x2e096a._0x1f4d63,0x86b)]&&(_0x37689f['offset']=0x19),!_0x37689f[_0xa812ed(0x7f,_0x2e096a._0x2642fc)]&&(_0x37689f['types']='120000|130000|190000'),new Promise((_0x34f4ab,_0x2dcf2d)=>{const _0x36933b={_0x39cfbc:0x1724,_0x9528ee:0x124b},_0x481990={_0x24e5b7:0x458},_0x213709={_0x4f6af0:0x442},_0x1c5a61={_0x404170:0xf6},_0x522c40={'url':_0x10950d(0x5b6,-_0x3e8331._0x336add),...this[_0x10950d(_0x3e8331._0x3a98b2,_0x3e8331._0x538d7b)]};function _0x49d790(_0x1ec291,_0x473587){return _0x14fb76(_0x473587,_0x1ec291- -_0x1c5a61._0x404170);}_0x522c40[_0x49d790(0x82f,0xd9)]=_0x37689f,_0x522c40[_0x10950d(0x54c,-_0x3e8331._0x431d04)]=this['_proxy'];function _0x10950d(_0x10a235,_0x2d5ad2){return _0x14fb76(_0x2d5ad2,_0x10a235- -_0x213709._0x4f6af0);}fetchJson(_0x522c40)['then'](_0xb8396c=>{function _0x3a03b4(_0x5d94d7,_0x5b9de3){return _0x49d790(_0x5d94d7-_0x481990._0x24e5b7,_0x5b9de3);}function _0x5b81ab(_0x179875,_0x555fac){return _0x49d790(_0x179875-0x6c,_0x555fac);}if(_0xb8396c['infocode']!==_0x3a03b4(0x1641,_0x36933b._0x39cfbc)){logError(_0x5b81ab(0x63a,0x26e),_0xb8396c),_0x446582[_0x5b81ab(_0x36933b._0x9528ee,0x1b44)]=[],_0x34f4ab(_0x446582);return;}_0x446582['list']=_0xb8396c[_0x5b81ab(0xbb3,0x13e1)],_0x34f4ab(_0x446582);});});}['createGraphic'](_0x255712,_0x2cbffb){const _0x3e16bc={_0xcefc5:0x1757,_0x21ea5d:0x1635,_0x379429:0xe5b,_0xf0a90d:0x703,_0x5ce387:0x1241,_0x1c30d1:0x1ec1,_0x5ac9d4:0x1875,_0x36bc2d:0x4d3,_0x1f7b09:0x4,_0x4f88bc:0x185e},_0x248cea={_0x2b159e:0x4a0};function _0x166acc(_0x5f94e0,_0x3fee2e){return _0x54a7f1(_0x5f94e0- -_0x248cea._0x2b159e,_0x3fee2e);}var _0x4582ab;let _0x3dede5=_0x2cbffb[_0x166acc(0xc41,0x19e)]['split'](',');_0x3dede5=gcj2wgs(_0x3dede5);const _0x5d8276=getSymbolStyle(this['options']['symbol'],_0x2cbffb);_0x5d8276['clampToGround']=_0x5d8276[_0x541a8f(0x1d62,_0x3e16bc._0xcefc5)]??!![];let _0x2161a7;function _0x541a8f(_0xc448cc,_0x16b7ed){return _0x7afdbe(_0xc448cc,_0x16b7ed- -0x40);}if((_0x4582ab=this['options'][_0x541a8f(_0x3e16bc._0x21ea5d,_0x3e16bc._0x379429)])!==null&&_0x4582ab!==void 0x0&&_0x4582ab[_0x166acc(_0x3e16bc._0xf0a90d,0xdb6)]){if(_0x5d8276[_0x166acc(-0x1bb,0x1ef)]){const _0x3f6edc={};_0x3f6edc['position']=[_0x3dede5[0x0],_0x3dede5[0x1],this[_0x541a8f(0x1086,0xa9e)]['height']||0x0],_0x3f6edc['style']=_0x5d8276,_0x3f6edc['attr']=_0x2cbffb,_0x2161a7=new BillboardEntity(_0x3f6edc);}else{const _0x3c7c41={};_0x3c7c41[_0x166acc(_0x3e16bc._0x5ce387,0x1189)]=[_0x3dede5[0x0],_0x3dede5[0x1],this['options']['height']||0x0],_0x3c7c41['style']=_0x5d8276,_0x3c7c41[_0x541a8f(_0x3e16bc._0x1c30d1,_0x3e16bc._0x5ac9d4)]=_0x2cbffb,_0x2161a7=new PointEntity(_0x3c7c41);}}else{if(_0x5d8276[_0x541a8f(0x9ed,_0x3e16bc._0x36bc2d)]){const _0x452445={};_0x452445['position']=[_0x3dede5[0x0],_0x3dede5[0x1],this['options']['height']||0x0],_0x452445[_0x166acc(-_0x3e16bc._0x1f7b09,0x297)]=_0x5d8276,_0x452445[_0x541a8f(0x231c,0x1875)]=_0x2cbffb,_0x2161a7=new BillboardPrimitive(_0x452445);}else{const _0x3c34aa={};_0x3c34aa[_0x541a8f(0x1248,0x18cf)]=[_0x3dede5[0x0],_0x3dede5[0x1],this[_0x166acc(0x410,0x413)]['height']||0x0],_0x3c34aa['style']=_0x5d8276,_0x3c34aa[_0x166acc(0x11e7,_0x3e16bc._0x4f88bc)]=_0x2cbffb,_0x2161a7=new PointPrimitive(_0x3c34aa);}}return this[_0x541a8f(0x1560,0x11bd)](_0x2161a7),_0x2161a7;}}register$3('gaodePOI',GeodePoiLayer);class WfsLayer extends LodGraphicLayer{[_0x54a7f1(0x28b,0x2be)](){const _0x3ab232={_0x5c8a01:0x15ca,_0xf00b89:0xf0c};function _0x3a4674(_0x55b156,_0x49f787){return _0x7afdbe(_0x55b156,_0x49f787- -0x689);}this['options'][_0x2d838d(0x13b2,_0x3ab232._0x5c8a01)]=this[_0x3a4674(_0x3ab232._0xf00b89,0x455)]['geometryName']||'the_geom',super['_mountedHook']();function _0x2d838d(_0x28064a,_0x2de17b){return _0x54a7f1(_0x28064a-0x105,_0x2de17b);}Cesium__namespace['defaultValue'](this['options']['getCapabilities'],!![])&&this['getMetadata']();}[_0x7afdbe(0xcb5,0x743)](){const _0x691928={_0x165514:0x12f4,_0x20d73d:0x1483,_0x5a4386:0x53a,_0x3a6b24:0x6cc,_0x198252:0x10d6,_0x2a4099:0xae8,_0x5725e9:0x1f7,_0x453d24:0x678},_0x520e4d={_0x4fd14c:0x5d9,_0x5cfa11:0x656},_0x38d16a={'version':'1.0.0',...this['options'][_0x1f1f9a(0x10e9,_0x691928._0x165514)]};_0x38d16a['service']=_0x17e705(0x1a87,_0x691928._0x20d73d),_0x38d16a['request']=_0x1f1f9a(_0x691928._0x5a4386,_0x691928._0x3a6b24);function _0x1f1f9a(_0x6f7fe5,_0x39d34e){return _0x54a7f1(_0x39d34e- -0x76,_0x6f7fe5);}const _0x181de1=_0x38d16a;let _0x2db3d7=this['options']['url'];function _0x17e705(_0x54412f,_0x5af51e){return _0x54a7f1(_0x5af51e-0xc5,_0x54412f);}this[_0x17e705(-0x3a5,0x4d7)]&&(_0x2db3d7=template(_0x2db3d7,this['templateValues']));const _0xb6c348={...this['options']};_0xb6c348[_0x17e705(_0x691928._0x198252,_0x691928._0x2a4099)]=_0x2db3d7,_0xb6c348['queryParameters']=_0x181de1,_0xb6c348['proxy']=this['_proxy'],Cesium__namespace['Resource']['fetchXML'](_0xb6c348)[_0x17e705(_0x691928._0x5725e9,_0x691928._0x453d24)](_0x5de083=>{function _0x256760(_0x4dc207,_0x44b28d){return _0x17e705(_0x4dc207,_0x44b28d- -0x3d0);}if(!_0x5de083||this['isDestroy'])return;this[_0x256760(_0x520e4d._0x4fd14c,0x62d)]=_0x5de083;function _0x3b383c(_0xc35001,_0x4f4315){return _0x1f1f9a(_0x4f4315,_0xc35001- -0x39b);}try{this['_initByMetaData'](_0x5de083);}catch(_0x49d75d){logInfo('解析GetCapabilities出错',_0x49d75d);}const _0xc869f1={};_0xc869f1['capabilities']=_0x5de083,this[_0x256760(0x97e,0xbad)](EventType[_0x3b383c(0x21e,-_0x520e4d._0x5cfa11)],_0xc869f1);})['catch'](_0x5e3136=>{const _0x3354ce={_0x43dc77:0x5a9};function _0x42c391(_0x2763fe,_0x2ae452){return _0x17e705(_0x2763fe,_0x2ae452- -_0x3354ce._0x43dc77);}_0x5e3136&&logInfo(_0x42c391(0x1269,0xfc2),_0x5e3136);});}[_0x54a7f1(0x551,0xd1a)](_0x505478){const _0x9118ef={_0x17b0ac:0xdbf,_0x201e63:0x123c,_0x3b0902:0x116c,_0x59c1a6:0x136c,_0x25e386:0x1123,_0x535dd3:0x1448,_0xbbc99d:0x1384,_0x9820e2:0x14c7,_0x540a7f:0xfd1,_0x56a534:0x932,_0x381654:0x24c,_0x1d7d08:0x1146,_0x6b929e:0xccc},_0x435b01={_0x24c10d:0x19e},_0x1ad69e=this['_readChildNode'](_0x505478,_0x73795d(_0x9118ef._0x17b0ac,_0x9118ef._0x201e63));if(!_0x1ad69e)return;const _0x25c652=this['_readNode'](_0x1ad69e,_0x12be77(0x128d,_0x9118ef._0x3b0902));function _0x12be77(_0x505510,_0x3c7418){return _0x7afdbe(_0x505510,_0x3c7418- -0x151);}function _0x73795d(_0x4570c4,_0x18596b){return _0x54a7f1(_0x18596b-_0x435b01._0x24c10d,_0x4570c4);}if(!_0x25c652)return;for(let _0x903bb9=0x0,_0x4f035c=_0x25c652[_0x73795d(_0x9118ef._0x59c1a6,_0x9118ef._0x25e386)];_0x903bb9<_0x4f035c;_0x903bb9++){const _0x3a4eb3=_0x25c652[_0x903bb9],_0x2d8674=this[_0x12be77(0x9be,0x111b)](_0x3a4eb3,_0x12be77(0xa0f,0x31a));if(_0x2d8674===this[_0x12be77(_0x9118ef._0x535dd3,0x98d)]['layer']){const _0x4d8d8d=this['_readChildNodeVal'](_0x3a4eb3,'SRS');!this[_0x12be77(0x6a8,0x98d)]['crs']&&_0x4d8d8d&&(this[_0x73795d(0x61d,0xa4e)][_0x73795d(0xbe0,0x679)]=_0x4d8d8d);const _0x54d7e8=this['_readChildNode'](_0x3a4eb3,_0x73795d(0x11e1,_0x9118ef._0xbbc99d));if(!this[_0x73795d(_0x9118ef._0x9820e2,0xa4e)]['rectangle']&&_0x54d7e8){const _0x14c9c8=Number(_0x54d7e8[_0x73795d(0x733,_0x9118ef._0x540a7f)]('minx')),_0x54ad1f=Number(_0x54d7e8[_0x73795d(_0x9118ef._0x56a534,0xfd1)](_0x73795d(_0x9118ef._0x381654,0xc8b))),_0x15960d=Number(_0x54d7e8['getAttribute'](_0x12be77(0xf70,_0x9118ef._0x1d7d08))),_0x3cdb56=Number(_0x54d7e8[_0x73795d(0xb89,0xfd1)]('maxy'));this[_0x73795d(0x3fe,_0x9118ef._0x6b929e)](_0x14c9c8,_0x54ad1f,_0x15960d,_0x3cdb56),this['options']['flyTo']&&this['flyTo']();}break;}}}[_0x7afdbe(0x1d94,0x1815)](_0x17b3f2,_0x22476a){const _0x366dfc={_0x4b8aa5:0x187c,_0x28f134:0x1501,_0x5019f4:0xea4},_0x307161={_0x1ece70:0x85},_0x3947ca={_0x2a2650:0xe1};function _0x3e6609(_0xa5c316,_0x1c9bb5){return _0x54a7f1(_0x1c9bb5- -_0x3947ca._0x2a2650,_0xa5c316);}if(!_0x17b3f2)return null;function _0x2a7fcc(_0x32267f,_0x4e9038){return _0x7afdbe(_0x4e9038,_0x32267f- -_0x307161._0x1ece70);}let _0x314191=_0x17b3f2[_0x3e6609(_0x366dfc._0x4b8aa5,_0x366dfc._0x28f134)](_0x22476a);return(!_0x314191||_0x314191[_0x3e6609(0x16c4,_0x366dfc._0x5019f4)]===0x0)&&(_0x314191=_0x17b3f2['getElementsByTagName'](_0x2a7fcc(0x6d1,0x9eb)+_0x22476a)),_0x314191;}['_readChildNode'](_0x348733,_0x39d38d){const _0x3bde12={_0x1d34af:0x1177},_0x2cf02b={_0x574fa9:0x470};function _0x5616a7(_0x2f7bde,_0xc76301){return _0x54a7f1(_0xc76301- -_0x2cf02b._0x574fa9,_0x2f7bde);}if(!_0x348733)return null;const _0x4efadc=this[_0x5616a7(0x155f,_0x3bde12._0x1d34af)](_0x348733,_0x39d38d);return _0x4efadc['length']>0x0?_0x4efadc[0x0]:null;}[_0x7afdbe(0x13bf,0x126c)](_0x23955c,_0x418dc7){const _0x3fb1a1={_0x5d869a:0x1966,_0x3495fa:0x1fb1},_0x36e745={_0x11133e:0x351},_0x220c7d={_0x1af085:0x24};var _0x3a9397,_0x1a92e2;if(!_0x23955c)return null;let _0xe0844=this['_readChildNode'](_0x23955c,_0x418dc7);function _0x19bb84(_0x5d41a0,_0x10f0a4){return _0x7afdbe(_0x10f0a4,_0x5d41a0-_0x220c7d._0x1af085);}!_0xe0844&&(_0xe0844=this['_readChildNode'](_0x23955c,_0x19bb84(0x77a,0x6af)+_0x418dc7));function _0x5545bc(_0x1de3fa,_0x3d2a9b){return _0x54a7f1(_0x3d2a9b- -_0x36e745._0x11133e,_0x1de3fa);}if((_0x3a9397=_0xe0844)!==null&&_0x3a9397!==void 0x0&&_0x3a9397['innerHTML'])return _0xe0844['innerHTML'];else return(_0x1a92e2=_0xe0844)!==null&&_0x1a92e2!==void 0x0&&_0x1a92e2[_0x19bb84(_0x3fb1a1._0x5d869a,_0x3fb1a1._0x3495fa)]?_0xe0844[_0x19bb84(0x1966,0x1f40)]():null;}['queryGridData'](_0x2568c6){const _0xbe8276={_0x5a59de:0x1c4,_0x478ea1:0xc7a,_0xa417c1:0xc7e,_0x1c6219:0x3e6,_0x43b8fd:0x11,_0xc3fcd0:0x1252,_0x551327:0xc7e,_0x22de5e:0x537,_0x58095e:0x4cc,_0x39b72e:0xbf1,_0x1599d8:0x64a,_0x17ecb0:0x33a,_0x37fcfc:0xd7e,_0xd014d0:0x709,_0x4b8af9:0xfa1,_0x34cfd8:0x137b,_0x24a63e:0x198a,_0x21e4ad:0x1b82,_0x2401bc:0x8bc,_0x406ad9:0x196a,_0x2a7001:0xc6,_0x48a998:0x6f7,_0x421830:0x39a},_0x141b91={_0x1ab323:0x11e2,_0x1fefde:0xbae},_0x218912={_0x37947d:0x650},_0xa93056={_0x3eef5d:0x6f8};let _0x4babb8;if(this['options'][_0xaa04db(0x11,-0x442)]!==CRS['EPSG4326']&&this['options']['crs']!==CRS[_0xaa04db(-_0xbe8276._0x5a59de,0x613)]){const _0x545de3=proj4Trans([_0x2568c6['extent'][_0x407fd9(0x19d4,0xf10)],_0x2568c6['extent']['ymin']],_0x407fd9(_0xbe8276._0x478ea1,_0xbe8276._0xa417c1),this[_0xaa04db(_0xbe8276._0x1c6219,-0x608)][_0xaa04db(_0xbe8276._0x43b8fd,-0x65a)]),_0x509b60=proj4Trans([_0x2568c6[_0xaa04db(-0x8f,-0x57b)]['xmax'],_0x2568c6['extent']['ymax']],_0x407fd9(_0xbe8276._0xc3fcd0,_0xbe8276._0x551327),this[_0x407fd9(0xf5a,_0xbe8276._0x22de5e)][_0x407fd9(-_0xbe8276._0x58095e,0x162)]);_0x4babb8=_0x545de3[0x0]+','+_0x545de3[0x1]+','+_0x509b60[0x0]+','+_0x509b60[0x1];}else _0x4babb8=_0x2568c6['extent'][_0xaa04db(0xdbf,_0xbe8276._0x39b72e)]+','+_0x2568c6['extent'][_0xaa04db(_0xbe8276._0x1599d8,_0xbe8276._0x17ecb0)]+','+_0x2568c6['extent']['xmax']+','+_0x2568c6[_0x407fd9(-0x4b,0xc2)]['ymax'];const _0x56eb58={};_0x56eb58[_0x407fd9(0x1600,0xc0f)]='WFS',_0x56eb58['request']='GetFeature',_0x56eb58['typeName']=this[_0x407fd9(_0xbe8276._0x37fcfc,_0xbe8276._0x22de5e)][_0x407fd9(_0xbe8276._0xd014d0,_0xbe8276._0x4b8af9)]||this[_0x407fd9(0xde6,_0xbe8276._0x22de5e)][_0x407fd9(0x163a,_0xbe8276._0x34cfd8)],_0x56eb58['version']=_0xaa04db(0x24e,-0x6d7),_0x56eb58[_0x407fd9(_0xbe8276._0x24a63e,0x1230)]=_0x407fd9(_0xbe8276._0x21e4ad,0x11b0);function _0x407fd9(_0x7b6a4f,_0x3b76bc){return _0x54a7f1(_0x3b76bc- -0x379,_0x7b6a4f);}_0x56eb58['srsName']=this['options']['crs']||'EPSG:4326',_0x56eb58['bbox']=_0x4babb8;const _0x52c95c=_0x56eb58;if(Cesium__namespace['defined'](this['options']['parameters']))for(const _0x3d8955 in this['options'][_0xaa04db(0xea0,_0xbe8276._0x2401bc)]){_0x3d8955['toLowerCase']()===_0xaa04db(0x11cc,_0xbe8276._0x406ad9)?(delete _0x52c95c['bbox'],_0x52c95c[_0x3d8955]=this[_0xaa04db(_0xbe8276._0x1c6219,-_0xbe8276._0x2a7001)][_0xaa04db(0xea0,_0xbe8276._0x48a998)][_0x3d8955]+'\x20and\x20BBOX('+this['options']['geometryName']+',\x20'+_0x4babb8+')'):_0x52c95c[_0x3d8955]=this['options']['parameters'][_0x3d8955];}let _0x12d303=this['options']['url'];this[_0xaa04db(-0xb8,-_0xbe8276._0x421830)]&&(_0x12d303=template(_0x12d303,this['templateValues']));function _0xaa04db(_0x25dd8e,_0x302289){return _0x7afdbe(_0x302289,_0x25dd8e- -_0xa93056._0x3eef5d);}return new Promise((_0xe405bc,_0x2ec267)=>{const _0x3612c={_0x13a5d0:0x11c1,_0x290c92:0x7f6,_0x8343d3:0x309},_0x1ede57={_0x57592a:0x663};function _0xf4b970(_0x382a59,_0x2fa3dd){return _0xaa04db(_0x2fa3dd-0x93,_0x382a59);}const _0x5e5ef5={...this['options']};_0x5e5ef5['url']=_0x12d303;function _0x2cbec1(_0x157c88,_0x5bb463){return _0xaa04db(_0x157c88-_0x218912._0x37947d,_0x5bb463);}_0x5e5ef5['queryParameters']=_0x52c95c,_0x5e5ef5[_0xf4b970(0xb18,0x604)]=this['_proxy'];const _0x50f130=new Cesium__namespace['Resource'](_0x5e5ef5);_0x2568c6['_resource']=_0x50f130,_0x50f130[_0xf4b970(0x1a6f,_0x141b91._0x1ab323)]()['then'](_0x9f8c0=>{function _0x24f554(_0x4e846b,_0x367d78){return _0x2cbec1(_0x367d78- -0x427,_0x4e846b);}delete _0x2568c6[_0xaf4b8a(0xded,_0x3612c._0x13a5d0)],_0x2568c6['list']=[];if(!this[_0x24f554(0x171d,0xfd5)]||!this[_0x24f554(0xd98,_0x3612c._0x290c92)][_0x2568c6['key']]){_0xe405bc(_0x2568c6);return;}if(_0x9f8c0===undefined||_0x9f8c0==null){_0xe405bc(_0x2568c6);return;}function _0xaf4b8a(_0x8fa64c,_0x3d6808){return _0x2cbec1(_0x8fa64c- -_0x1ede57._0x57592a,_0x3d6808);}_0x9f8c0[_0x24f554(-_0x3612c._0x8343d3,0x595)]==='Feature'&&(_0x9f8c0={'type':'FeatureCollection','features':[_0x9f8c0]}),_0x2568c6['list']=_0x9f8c0['features'],_0xe405bc(_0x2568c6);})[_0x2cbec1(_0x141b91._0x1fefde,0x2ba)](_0x1ec62c=>{_0x1ec62c&&logError('wfs请求GetFeature出错',_0x1ec62c);});});}[_0x54a7f1(0x6aa,0x9ef)](_0x47e5b6,_0x44dd29){const _0x5f051e={};_0x5f051e['clear']=![],_0x5f051e['flyTo']=![];const _0x4cda8f=this['loadGeoJSON'](_0x44dd29,_0x5f051e);return(_0x4cda8f===null||_0x4cda8f===void 0x0?void 0x0:_0x4cda8f['length'])>0x0?_0x4cda8f[0x0]:null;}}register$3('wfs',WfsLayer);class ArcGisWfsLayer extends LodGraphicLayer{['_mountedHook'](){super['_mountedHook'](),this['getMetadata']();}['getMetadata'](){const _0x51fa05={_0x290c96:0x5dd,_0x19bc97:0xbab,_0x52aff7:0xa24,_0x5415cc:0x46a,_0x40b899:0x5ca,_0x1cc901:0x29,_0x15386c:0xac7,_0x4af895:0xd1f,_0x594134:0x818,_0xdc9335:0xafc},_0xe4c55e={_0x46d037:0x136},_0x38d09c={_0x3e5497:0x674},_0x30bb3b={_0x5a78a3:0x514};let _0xf7e51e=this['options'][_0x4eef53(_0x51fa05._0x290c96,_0x51fa05._0x19bc97)];this['options']['layers']&&this['options']['layers'][_0x299ff3(0xc9f,_0x51fa05._0x52aff7)]>0x0&&(_0xf7e51e+='/'+this[_0x4eef53(_0x51fa05._0x5415cc,-0x5f6)]['layers'][0x0]);const _0x5eb126={};function _0x299ff3(_0x41a7e3,_0xfed37e){return _0x7afdbe(_0xfed37e,_0x41a7e3- -_0x30bb3b._0x5a78a3);}_0x5eb126['f']='json';const _0x306f82=_0x5eb126;this[_0x299ff3(_0x51fa05._0x40b899,0xdb2)]['token']&&(_0x306f82[_0x299ff3(0xac7,_0x51fa05._0x1cc901)]=this['options'][_0x299ff3(_0x51fa05._0x15386c,0x543)]);const _0x4777df={...this['options']};_0x4777df[_0x299ff3(0x73d,_0x51fa05._0x4af895)]=_0xf7e51e,_0x4777df[_0x4eef53(0x58c,_0x51fa05._0x594134)]=_0x306f82;function _0x4eef53(_0x56cfab,_0x27a977){return _0x7afdbe(_0x27a977,_0x56cfab- -_0x38d09c._0x3e5497);}_0x4777df['proxy']=this['_proxy'],sendAjax(_0x4777df)[_0x299ff3(0x2cd,0x856)](_0x4fdbcc=>{if(!_0x4fdbcc||this[_0x3daccc(-0x5a,-0xa10)])return;this['_initByMetaData'](_0x4fdbcc);function _0x3daccc(_0x132196,_0x5586cc){return _0x299ff3(_0x132196- -_0xe4c55e._0x46d037,_0x5586cc);}this['fire'](EventType['loadConfig'],_0x4fdbcc);})[_0x299ff3(0x742,_0x51fa05._0xdc9335)](_0x24d65b=>{_0x24d65b&&logInfo('wfs请求getMetadata出错',_0x24d65b);});}[_0x7afdbe(0x7af,0x77f)](_0x1a0608){const _0x3b50ca={_0x38f292:0x502,_0x293e8a:0x352,_0x48a976:0x6a5,_0x5f356d:0xbee,_0x1591f2:0x17e3,_0xf5d52e:0x163c},_0x848b1b={_0x18188d:0x439};function _0x1fc135(_0x53a4ff,_0x4a5ccc){return _0x54a7f1(_0x53a4ff-0x265,_0x4a5ccc);}this['metaData']=_0x1a0608;function _0x2c4c82(_0x34ebcc,_0xa1c9fc){return _0x7afdbe(_0xa1c9fc,_0x34ebcc- -_0x848b1b._0x18188d);}const _0x73f05=_0x1a0608['fullExtent']||_0x1a0608['extent'];if(!this['options']['rectangle']&&_0x73f05){var _0x1dcbb3;const _0x3c408f=(_0x73f05===null||_0x73f05===void 0x0||(_0x1dcbb3=_0x73f05['spatialReference'])===null||_0x1dcbb3===void 0x0?void 0x0:_0x1dcbb3[_0x1fc135(_0x3b50ca._0x38f292,0xa9)])||this['options'][_0x1fc135(0x502,_0x3b50ca._0x293e8a)];_0x3c408f&&(!this['options']['wkid']&&(this[_0x2c4c82(_0x3b50ca._0x48a976,-0x3ec)][_0x1fc135(_0x3b50ca._0x38f292,_0x3b50ca._0x5f356d)]=_0x3c408f));if(this[_0x2c4c82(0x6a5,0x43f)]['wkid']){const _0x40de20=_0x1fc135(_0x3b50ca._0x1591f2,0x1a12)+this[_0x2c4c82(0x6a5,0x244)]['wkid'];this['_setExtent'](_0x73f05['xmin'],_0x73f05['ymin'],_0x73f05['xmax'],_0x73f05['ymax'],_0x40de20),this['options'][_0x2c4c82(0x10ef,_0x3b50ca._0xf5d52e)]&&this['flyTo']();}}}['queryGridData'](_0x37ea40){const _0x38975e={_0x51b74e:0x6c3,_0x58e4f6:0xf15,_0x562d34:0x86b,_0x572f16:0x18a6,_0x13b123:0xf33,_0x10a8b0:0x32c,_0xdf24c4:0x3f1,_0xe05657:0xe89,_0x158159:0xad,_0xa210c0:0xc9e,_0x4bde8d:0x7a1,_0x178259:0x549},_0x4aa3e8={_0x5a827b:0x1a1,_0x18f925:0xad9,_0x442c32:0xbfb,_0x49a4e7:0x9b6,_0xd17e87:0x14f3},_0x288f07={_0x344e47:0x92c},_0x2bb080={_0x1d62d4:0x33d};let _0x400375=this[_0x42cd8f(0x7a1,_0x38975e._0x51b74e)]['url'];function _0x55cc46(_0x33f0ae,_0x362329){return _0x7afdbe(_0x33f0ae,_0x362329- -0x4d7);}this['options'][_0x42cd8f(0x978,0x271)]&&this['options']['layers']['length']>0x0&&(_0x400375+='/'+this['options'][_0x42cd8f(0x978,0x5c9)][0x0]);const _0x38f710={};_0x38f710['wkid']=0x10e6;const _0x57cf9c={};_0x57cf9c['xmin']=_0x37ea40[_0x55cc46(0x763,0x192)]['xmin'],_0x57cf9c[_0x42cd8f(0xa05,0x679)]=_0x37ea40['extent'][_0x55cc46(_0x38975e._0x58e4f6,_0x38975e._0x562d34)],_0x57cf9c['xmax']=_0x37ea40['extent']['xmax'],_0x57cf9c[_0x55cc46(_0x38975e._0x572f16,_0x38975e._0x13b123)]=_0x37ea40[_0x42cd8f(_0x38975e._0x10a8b0,_0x38975e._0xdf24c4)][_0x42cd8f(0x10cd,0xc13)],_0x57cf9c['spatialReference']=_0x38f710;function _0x42cd8f(_0x180e0d,_0x40f79e){return _0x7afdbe(_0x40f79e,_0x180e0d- -_0x2bb080._0x1d62d4);}const _0x34c87e={'f':this['options']['f']||_0x55cc46(0x68d,_0x38975e._0xe05657),'inSr':0x10e6,'outSR':0x10e6,'outFields':'*','returnGeometry':!![],'where':this[_0x42cd8f(0x7a1,_0x38975e._0x158159)]['where']||'1=1','geometry':JSON['stringify'](_0x57cf9c),'geometryType':'esriGeometryEnvelope','spatialRel':'esriSpatialRelIntersects'};return this['options']['token']&&(_0x34c87e[_0x42cd8f(_0x38975e._0xa210c0,0x1123)]=this[_0x42cd8f(_0x38975e._0x4bde8d,0x1221)][_0x42cd8f(0xc9e,_0x38975e._0x178259)]),new Promise((_0x50d6ef,_0x294ab2)=>{const _0x36fa03={_0x5dcd9e:0x2f0},_0x53a4aa={...this[_0x1f9d6f(_0x4aa3e8._0x5a827b,_0x4aa3e8._0x18f925)]};function _0x1f9d6f(_0xaa59bb,_0x337330){return _0x42cd8f(_0x337330-0x338,_0xaa59bb);}_0x53a4aa['url']=_0x400375+'/query';function _0x8f0de3(_0x4c403a,_0x5b98d8){return _0x55cc46(_0x5b98d8,_0x4c403a-_0x36fa03._0x5dcd9e);}_0x53a4aa[_0x1f9d6f(0xcd6,_0x4aa3e8._0x442c32)]=_0x34c87e,_0x53a4aa['proxy']=this[_0x8f0de3(0x6df,_0x4aa3e8._0x49a4e7)];const _0x3318e2=new Cesium__namespace[(_0x1f9d6f(0xf87,0x175e))](_0x53a4aa);_0x37ea40[_0x1f9d6f(0x149d,_0x4aa3e8._0xd17e87)]=_0x3318e2,_0x3318e2['fetchJson']()['then'](_0x1962bd=>{const _0x28eda6={_0x52a28b:0x4b1};delete _0x37ea40['_resource'];function _0x480b70(_0x39b578,_0x199d7a){return _0x1f9d6f(_0x39b578,_0x199d7a- -_0x28eda6._0x52a28b);}_0x37ea40['list']=[];if(!this['show']||!this['_cacheGrid'][_0x37ea40[_0x5f114b(0x12ea,0x1ae8)]]){_0x50d6ef(_0x37ea40);return;}if(_0x1962bd===undefined||_0x1962bd==null){_0x50d6ef(_0x37ea40);return;}let _0x32312c=arcgisToGeoJSON$1(_0x1962bd);_0x32312c['type']==='Feature'&&(_0x32312c={'type':_0x480b70(_0x288f07._0x344e47,0x125c),'features':[_0x32312c]});function _0x5f114b(_0x3b40bc,_0x34fb70){return _0x1f9d6f(_0x34fb70,_0x3b40bc-0x41);}_0x37ea40['list']=_0x32312c[_0x5f114b(0x776,0x33e)],_0x50d6ef(_0x37ea40);})['catch'](_0x8511=>{_0x8511&&logError('wfs请求出错',_0x8511);});});}[_0x7afdbe(0x186b,0xdbf)](_0x3e2706){const _0xda3f20={_0x403df4:0xea9,_0x992e57:0x7b3,_0x17461a:0x99d,_0x5c8fe2:0xecc,_0x3f04f1:0x4d2,_0x268cdf:0x9e5,_0x6f811f:0x1940,_0x42cc1c:0xe7,_0x7ab359:0x6a,_0x317213:0x1453},_0x1b6ebf={_0x37ee3d:0x1d7};var _0x20091e;if(_0x3e2706['id'])return _0x3e2706['id'];_0x3e2706['type']===_0x1c6fb2(_0xda3f20._0x403df4,0x17a8)&&(_0x3e2706=_0x3e2706['properties']);function _0x1c6fb2(_0x115308,_0x481238){return _0x54a7f1(_0x481238-_0x1b6ebf._0x37ee3d,_0x115308);}if(_0x3e2706[this['options'][_0x5104c3(_0xda3f20._0x992e57,_0xda3f20._0x17461a)]])return _0x3e2706[this['options'][_0x1c6fb2(0x101d,_0xda3f20._0x5c8fe2)]];if(_0x3e2706[_0x1c6fb2(-_0xda3f20._0x3f04f1,0x5a1)])return _0x3e2706['OBJECTID'];if(_0x3e2706['objectid'])return _0x3e2706[_0x1c6fb2(0xf95,_0xda3f20._0x268cdf)];if(((_0x20091e=this[_0x5104c3(_0xda3f20._0x6f811f,0x11fc)])===null||_0x20091e===void 0x0||(_0x20091e=_0x20091e[_0x5104c3(-0x64,-0x6a)])===null||_0x20091e===void 0x0?void 0x0:_0x20091e['length'])>0x0){const _0x273655=this['metaData'][_0x5104c3(_0xda3f20._0x42cc1c,-_0xda3f20._0x7ab359)][0x0][_0x1c6fb2(0xe96,_0xda3f20._0x317213)];if(_0x3e2706[_0x273655])return _0x3e2706[_0x273655];}function _0x5104c3(_0x90e2e7,_0x58a74f){return _0x54a7f1(_0x58a74f- -0x358,_0x90e2e7);}return null;}['createGraphic'](_0x1adab5,_0x1c5145){const _0x4cc537={_0x4631e3:0x5ae,_0x52e00e:0x7};if(this[_0x372f7e(0x498,-0x4d)]['createGraphic'])return this['options'][_0x10cae8(_0x4cc537._0x4631e3,-_0x4cc537._0x52e00e)](_0x1adab5,_0x1c5145);function _0x372f7e(_0x2047de,_0x453bab){return _0x54a7f1(_0x2047de- -0x418,_0x453bab);}const _0x4a2b5d={};_0x4a2b5d[_0x372f7e(0xf0b,0xe90)]=![],_0x4a2b5d[_0x372f7e(0xee2,0x9ad)]=![];const _0x21142d=this[_0x10cae8(0x1617,0xfb0)](_0x1c5145,_0x4a2b5d);function _0x10cae8(_0x108741,_0x42ab40){return _0x7afdbe(_0x42ab40,_0x108741- -0x32a);}return(_0x21142d===null||_0x21142d===void 0x0?void 0x0:_0x21142d['length'])>0x0?_0x21142d[0x0]:null;}['setWhere'](_0xa0dda){const _0x446e79={_0x5d4245:0x4e5};function _0x3c6fcb(_0x2b4910,_0x59ea61){return _0x7afdbe(_0x2b4910,_0x59ea61- -0x302);}this['options'][_0x4f2cf7(0xb53,0xfa7)]=_0xa0dda;function _0x4f2cf7(_0x453a30,_0x2ec7b0){return _0x7afdbe(_0x453a30,_0x2ec7b0- -_0x446e79._0x5d4245);}this[_0x4f2cf7(0x10e3,0x1100)]();}}register$3('arcgis_wfs',ArcGisWfsLayer);class ArcGisWfsSingleLayer extends GeoJsonLayer{['load'](_0x10e798={}){const _0x1dc67f={_0x592431:0x7f6,_0x42aab1:0xa69,_0x53f9ce:0xa64,_0x28cb5b:0x15fe,_0xf7dc5b:0xaa5,_0x1304a4:0x127f,_0x318808:0x18f5,_0x209b74:0xf61,_0x32f679:0xcf3,_0x2ae10a:0xa64,_0x3fbc3f:0xb86,_0x45cfe5:0xc31,_0x53a25c:0x84c,_0x12fa58:0xbdc},_0x24e50f={_0x5beef3:0x2b2,_0x39bd68:0x915},_0x258d50={_0x2670a8:0xba};this[_0x2ad4da(0x8e3,_0x1dc67f._0x592431)]={...this['options'],..._0x10e798};let _0x2bcc38=this['options']['url'];function _0xafed64(_0x4cf926,_0x41c006){return _0x54a7f1(_0x41c006-0x1b4,_0x4cf926);}this[_0x2ad4da(0x550,0x7f6)]['layers']&&this['options']['layers'][_0x2ad4da(_0x1dc67f._0x42aab1,0xecb)]>0x0&&(_0x2bcc38+='/'+this[_0xafed64(0x501,_0x1dc67f._0x53f9ce)][_0x2ad4da(0xeee,0x9cd)][0x0]);const _0x11bb4c={};_0x11bb4c['f']='json',_0x11bb4c[_0x2ad4da(0xe6d,_0x1dc67f._0x28cb5b)]=0x10e6,_0x11bb4c[_0xafed64(_0x1dc67f._0xf7dc5b,0x67a)]=0x10e6,_0x11bb4c['outFields']='*';function _0x2ad4da(_0x367ca8,_0x1c816f){return _0x54a7f1(_0x1c816f- -_0x258d50._0x2670a8,_0x367ca8);}_0x11bb4c[_0x2ad4da(0xccb,_0x1dc67f._0x1304a4)]=!![],_0x11bb4c['where']=this[_0xafed64(0x14da,0xa64)][_0xafed64(0xc2d,0x1412)]||'1=1';const _0x128009=_0x11bb4c;this['options']['token']&&(_0x128009[_0xafed64(_0x1dc67f._0x318808,_0x1dc67f._0x209b74)]=this['options'][_0x2ad4da(0x726,_0x1dc67f._0x32f679)]);const _0x5a997f={...this[_0xafed64(0x1157,_0x1dc67f._0x2ae10a)]};_0x5a997f[_0x2ad4da(0x1066,0x969)]=_0x2bcc38+'/query',_0x5a997f[_0xafed64(0xb72,_0x1dc67f._0x3fbc3f)]=_0x128009,_0x5a997f['proxy']=this[_0xafed64(_0x1dc67f._0x45cfe5,_0x1dc67f._0x53a25c)],fetchJson(_0x5a997f)['then'](_0x5149b6=>{const _0x1bddb6={_0x3e9882:0x3c3};if(!_0x5149b6){this[_0x419149(_0x24e50f._0x5beef3,-0x796)]['resolve'](this),this[_0x419149(0xeb9,0x140d)](EventType[_0x4d94b9(0x328,_0x24e50f._0x39bd68)]);return;}function _0x419149(_0xfda36c,_0x292b39){return _0xafed64(_0x292b39,_0xfda36c- -0x1b3);}const _0xc7bb9e=arcgisToGeoJSON$1(_0x5149b6);function _0x4d94b9(_0x450f7a,_0x2d65e9){return _0xafed64(_0x2d65e9,_0x450f7a- -_0x1bddb6._0x3e9882);}this['_load_data'](_0xc7bb9e);})[_0xafed64(0xa24,_0x1dc67f._0x12fa58)](_0xfd6a8f=>{logError('wfs请求出错',_0xfd6a8f);});}['setWhere'](_0x3e124a){const _0x27597b={};function _0x59d7fb(_0x1a9ae7,_0x32d899){return _0x54a7f1(_0x32d899- -0x289,_0x1a9ae7);}_0x27597b[_0x59d7fb(0x127e,0xfd5)]=_0x3e124a,this['load'](_0x27597b);}}register$3('arcgis_wfs_single',ArcGisWfsSingleLayer);const _0x18e7be={};_0x18e7be['__proto__']=null,_0x18e7be['BaseLayer']=BaseLayer,_0x18e7be['GroupLayer']=GroupLayer,_0x18e7be['BaseTileLayer']=BaseTileLayer,_0x18e7be[_0x54a7f1(0x1469,0x1337)]=BaseGraphicLayer,_0x18e7be['TerrainLayer']=TerrainLayer,_0x18e7be[_0x7afdbe(0xe39,0x1453)]=ArcGisCacheLayer,_0x18e7be['ArcGisTileLayer']=ArcGisTileLayer,_0x18e7be['ArcGisLayer']=ArcGisLayer,_0x18e7be[_0x7afdbe(0x8c5,0x612)]=BaiduLayer,_0x18e7be['BingLayer']=BingLayer,_0x18e7be['GaodeLayer']=GaodeLayer,_0x18e7be[_0x7afdbe(0xc75,0x5af)]=GeeLayer,_0x18e7be['GoogleLayer']=GoogleLayer,_0x18e7be['ImageLayer']=ImageLayer,_0x18e7be['MapboxLayer']=MapboxLayer,_0x18e7be[_0x54a7f1(0x59c,0x1062)]=OsmLayer,_0x18e7be['TdtLayer']=TdtLayer,_0x18e7be['TencentLayer']=TencentLayer,_0x18e7be['TmsLayer']=TmsLayer,_0x18e7be[_0x7afdbe(0xb40,0x4d2)]=WmsLayer,_0x18e7be['WmtsLayer']=WmtsLayer,_0x18e7be['XyzLayer']=XyzLayer,_0x18e7be[_0x54a7f1(0x56c,0x9b0)]=GridLayer,_0x18e7be[_0x54a7f1(0xd23,0x166c)]=TileInfoLayer,_0x18e7be['EmptyTileLayer']=EmptyTileLayer,_0x18e7be['CzmGeoJsonLayer']=CzmGeoJsonLayer,_0x18e7be['KmlLayer']=KmlLayer,_0x18e7be['CzmlLayer']=CzmlLayer,_0x18e7be[_0x7afdbe(0x4b7,0xe1b)]=GraphicLayer,_0x18e7be['GraphicGroupLayer']=GraphicGroupLayer,_0x18e7be[_0x7afdbe(0x1224,0xf35)]=GeoJsonLayer,_0x18e7be['ModelLayer']=ModelLayer,_0x18e7be['BusineDataLayer']=BusineDataLayer,_0x18e7be['TilesetLayer']=TilesetLayer,_0x18e7be['OsmBuildingsLayer']=OsmBuildingsLayer,_0x18e7be['I3SLayer']=I3SLayer,_0x18e7be['GraticuleLayer']=GraticuleLayer,_0x18e7be['LodGraphicLayer']=LodGraphicLayer,_0x18e7be[_0x7afdbe(0x5cc,0xa29)]=GeodePoiLayer,_0x18e7be[_0x54a7f1(0xe6c,0xf28)]=WfsLayer,_0x18e7be[_0x7afdbe(0xe7d,0x13e7)]=ArcGisWfsLayer,_0x18e7be['ArcGisWfsSingleLayer']=ArcGisWfsSingleLayer,_0x18e7be['register']=register$3,_0x18e7be[_0x7afdbe(0xbbd,0x892)]=create$3,_0x18e7be['createTerrainProvider']=createTerrainProvider,_0x18e7be[_0x7afdbe(0x1632,0x13d3)]=createImageryProvider$j;var index$4=_0x18e7be;class Underground extends BaseThing{get['translucency'](){const _0x5d752c={_0x1be458:0xf1a,_0x27a192:0x354,_0x1bac60:0xf72},_0x98fdc9={_0x516e96:0x1e5};function _0x583396(_0x5226a4,_0x5aff1a){return _0x54a7f1(_0x5226a4-_0x98fdc9._0x516e96,_0x5aff1a);}function _0x35b831(_0x4e1c7e,_0x4582c5){return _0x54a7f1(_0x4e1c7e-0xd5,_0x4582c5);}return this[_0x583396(0x9b8,_0x5d752c._0x1be458)]['scene'][_0x35b831(_0x5d752c._0x27a192,0xa2)][_0x583396(_0x5d752c._0x1bac60,0x1503)];}get[_0x7afdbe(0xa9b,0x604)](){return this['_alpha'];}set['alpha'](_0x53aefd){function _0x7617b4(_0x1ca043,_0x3347bd){return _0x7afdbe(_0x1ca043,_0x3347bd- -0x4ae);}this[_0x7617b4(0xfbe,0x14bf)]=_0x53aefd;if(!this['_map'])return;this['translucency']['frontFaceAlpha']=this['_alpha'];}get['color'](){const _0xae8eb2={_0x5109fd:0x1193};function _0x271f46(_0x52614e,_0xce122c){return _0x7afdbe(_0xce122c,_0x52614e- -0x5e9);}function _0x4328be(_0x172bfb,_0xe70ff5){return _0x7afdbe(_0x172bfb,_0xe70ff5- -0x434);}return this['_map']['scene'][_0x4328be(0x8e9,0x79)][_0x271f46(0x1205,_0xae8eb2._0x5109fd)];}set['color'](_0x43626e){const _0x13b795={_0x548236:0x14c,_0x4745e5:0xbb5};function _0x52d6c7(_0x5471a2,_0x55e166){return _0x54a7f1(_0x55e166- -0x3cb,_0x5471a2);}function _0x478786(_0x48e55d,_0x158f0a){return _0x54a7f1(_0x48e55d- -0x2ea,_0x158f0a);}this['_map']['scene'][_0x52d6c7(-0x198,-_0x13b795._0x548236)][_0x478786(0x12d6,_0x13b795._0x4745e5)]=_0x43626e;}get['colorAlphaByDistance'](){return this['_map']['scene']['globe']['undergroundColorAlphaByDistance'];}set['colorAlphaByDistance'](_0x4d87f8){const _0x590c7c={_0x58a6f1:0x2f4,_0x4c1f89:0x1343},_0x30d055={_0x498ce3:0x3f};function _0x5c5469(_0xd72782,_0x18338b){return _0x7afdbe(_0xd72782,_0x18338b- -0x337);}function _0x1af0d8(_0x5dfc1d,_0x1c512a){return _0x7afdbe(_0x1c512a,_0x5dfc1d- -_0x30d055._0x498ce3);}this[_0x5c5469(-_0x590c7c._0x58a6f1,0x6ca)][_0x5c5469(_0x590c7c._0x4c1f89,0xf76)]['globe']['undergroundColorAlphaByDistance']=_0x4d87f8;}[_0x54a7f1(0x6ae,0xd2f)](_0x37e246){const _0xad8556={_0x22fd2f:0x8bc,_0x5dba0a:0xb27,_0x306f4a:0xa3b,_0x2a5823:0xc42};if(!this[_0x128529(0x8bc,0x132e)])return;function _0x15bb14(_0x4d46cc,_0x1587a1){return _0x7afdbe(_0x1587a1,_0x4d46cc- -0x379);}this['_map']['scene']['globe'][_0x15bb14(0x318,-0x6c8)]=_0x37e246?!![]:this['depthTestOld'];function _0x128529(_0x5574d9,_0x3e27e0){return _0x54a7f1(_0x5574d9-0xe9,_0x3e27e0);}this[_0x128529(_0xad8556._0x22fd2f,_0xad8556._0x5dba0a)][_0x128529(0x1168,_0xad8556._0x306f4a)][_0x128529(0x1367,0xbfd)][_0x128529(0x399,0xc39)]=!_0x37e246,this[_0x15bb14(_0xad8556._0x2a5823,0x1500)]['enabled']=_0x37e246;}[_0x7afdbe(0x46b,0x4b9)](){const _0x5bc508={_0x169fe3:0x9d8,_0x4a0d86:0xee4,_0x1340e5:0x956,_0x3d87be:0x96e,_0x1da654:0xee5},_0x2761b6={_0x1f6418:0x188};this[_0x4e91ca(0x1232,0xe97)]['frontFaceAlpha']=0x1,this['translucency'][_0x4e91ca(_0x5bc508._0x169fe3,_0x5bc508._0x4a0d86)]=0x0;function _0x44e0ee(_0x5c0357,_0x5835d1){return _0x7afdbe(_0x5835d1,_0x5c0357- -_0x2761b6._0x1f6418);}this['alpha']=this[_0x4e91ca(0xb9,0x9ba)]['alpha']??0.5;function _0x4e91ca(_0xc34f36,_0x51b3a4){return _0x54a7f1(_0x51b3a4-0x10a,_0xc34f36);}this['color']=this[_0x44e0ee(_0x5bc508._0x1340e5,0x10c9)][_0x44e0ee(0x12b8,_0x5bc508._0x3d87be)]??Cesium__namespace['Color'][_0x44e0ee(_0x5bc508._0x1da654,0xd12)];}['_addedHook'](){const _0x502c9d={_0x516f74:0xaa9,_0x105d52:0x269,_0x42621c:0x232};this[_0x3633ce(0x1096,0x8e4)]=Cesium__namespace[_0x3633ce(_0x502c9d._0x516f74,_0x502c9d._0x105d52)](this['_map']['scene']['globe'][_0x3eaa10(_0x502c9d._0x42621c,-0x7b0)]);function _0x3633ce(_0x49040c,_0x39cb05){return _0x7afdbe(_0x39cb05,_0x49040c-0x8c);}function _0x3eaa10(_0x527c0d,_0x1b6154){return _0x54a7f1(_0x527c0d- -0x231,_0x1b6154);}this['_enabledHook'](this['enabled']);}['_removedHook'](){const _0x58766c={_0x375528:0x544,_0x3caf5b:0x972,_0x75c4f8:0x532};function _0x1b5043(_0x4137f3,_0x1b89b0){return _0x54a7f1(_0x1b89b0- -0x499,_0x4137f3);}function _0x4626de(_0x424279,_0xc0c204){return _0x54a7f1(_0xc0c204-0x19f,_0x424279);}this[_0x4626de(_0x58766c._0x375528,_0x58766c._0x3caf5b)][_0x1b5043(_0x58766c._0x75c4f8,0xbe6)]['globe'][_0x1b5043(0x896,-0x36)]=this['depthTestOld'],this['_enabledHook'](![]);}}register(_0x7afdbe(0x71f,0xdee),Underground);class Sightline extends BaseThing{constructor(_0x4ece7c={}){super(_0x4ece7c);function _0x324570(_0x500816,_0x3b5668){return _0x54a7f1(_0x3b5668-0x19f,_0x500816);}this['_visibleColor']=_0x4ece7c['visibleColor']??new Cesium__namespace['Color'](0x0,0x1,0x0,0.5),this['_hiddenColor']=_0x4ece7c['hiddenColor']??new Cesium__namespace['Color'](0x1,0x0,0x0,0.5);function _0x7e7b61(_0x10b8e4,_0x5789c1){return _0x7afdbe(_0x10b8e4,_0x5789c1- -0x6c7);}this[_0x7e7b61(0x9e9,0x5d)]=_0x4ece7c[_0x324570(0x10b0,0xbf2)],this['lines']=[];}get['visibleColor'](){return this['_visibleColor'];}set[_0x7afdbe(0xcb9,0xce0)](_0x37c0f0){const _0x2c300e={_0x580551:0x13b3,_0x577fb6:0x12d3},_0x2d8967={_0x1e93a1:0x15};function _0x1c4c24(_0xd2f573,_0x2f4395){return _0x54a7f1(_0x2f4395-_0x2d8967._0x1e93a1,_0xd2f573);}this[_0x1c4c24(_0x2c300e._0x580551,_0x2c300e._0x577fb6)]=_0x37c0f0;}get[_0x54a7f1(0x504,0xd50)](){return this['_hiddenColor'];}set[_0x54a7f1(0x504,0xca0)](_0x255f9f){this['_hiddenColor']=_0x255f9f;}get[_0x7afdbe(0x1078,0xc81)](){const _0x1c0676={_0x553adc:0xc6,_0x2ad9d0:0x137},_0x26c12e={_0x50aded:0x65e};function _0x28753e(_0x9c0127,_0x15848b){return _0x7afdbe(_0x15848b,_0x9c0127- -_0x26c12e._0x50aded);}return this[_0x28753e(_0x1c0676._0x553adc,_0x1c0676._0x2ad9d0)];}set[_0x7afdbe(0x474,0xc81)](_0x1d4fe4){const _0x262cee={_0x441286:0x25e};function _0x1fd0cb(_0x225635,_0x46d602){return _0x54a7f1(_0x46d602-_0x262cee._0x441286,_0x225635);}this[_0x1fd0cb(0x3c4,0x754)]=_0x1d4fe4;}['_mountedHook'](){}['_addedHook'](){}['_removedHook'](){}['add'](_0x4e2d55,_0x45a01a,_0x44f1b8={}){const _0x2d53cb={_0x3617e1:0x208,_0x58242f:0x8ae,_0x54b96b:0x115a,_0x272523:0x35a,_0x399b89:0x48,_0x32e884:0xc64,_0x6e58aa:0x661,_0x1c3d66:0xf7d,_0x1f6bad:0x35a,_0x1cdd89:0x996,_0x502692:0xa1b,_0x469a43:0xfe3,_0x467a14:0x1632,_0x15f5a2:0x1bc,_0x295878:0xd29,_0xc759f7:0xf5a,_0x3188dd:0x274,_0x2fe64c:0xa,_0x5235a5:0x175c,_0x5596f7:0x20b7,_0x509390:0x243,_0xa16d11:0x714,_0x1d4403:0x19c},_0xe16c30={_0xaec333:0xdb};_0x44f1b8['offsetHeight']&&(_0x4e2d55=addPositionsHeight(_0x4e2d55,_0x44f1b8['offsetHeight']));this[_0x5e1c25(0xf1,0xa9d)](EventType[_0x5e1c25(_0x2d53cb._0x3617e1,0x510)]);!this[_0x4323ce(_0x2d53cb._0x58242f,0x112d)][_0x4323ce(_0x2d53cb._0x54b96b,0x1a6c)][_0x4323ce(_0x2d53cb._0x272523,0x968)][_0x5e1c25(0xc0,_0x2d53cb._0x399b89)]&&(this[_0x5e1c25(0x862,0x3b8)][_0x5e1c25(0xb75,_0x2d53cb._0x32e884)]['globe']['depthTestAgainstTerrain']=!![],this[_0x4323ce(_0x2d53cb._0x6e58aa,0x147)]=this[_0x4323ce(_0x2d53cb._0x58242f,0x11cf)][_0x5e1c25(_0x2d53cb._0x1c3d66,0xc64)][_0x4323ce(_0x2d53cb._0x1f6bad,-0x673)][_0x5e1c25(-_0x2d53cb._0x1cdd89,0x48)]);function _0x4323ce(_0x270188,_0x564422){return _0x54a7f1(_0x270188-_0xe16c30._0xaec333,_0x564422);}this[_0x4323ce(0x8ae,0x9c)]['scene'][_0x5e1c25(-_0x2d53cb._0x502692,-0x17b)]();const _0x2b5c6b=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0x45a01a,_0x4e2d55,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x4c3ac2=new Cesium__namespace['Ray'](_0x4e2d55,_0x2b5c6b),_0xc910f3=_0x44f1b8['objectsToExclude']??[];_0xc910f3[_0x4323ce(_0x2d53cb._0x469a43,0x95f)](...this['lines']);const _0x187670=this['_map']['scene']['drillPickFromRay'](_0x4c3ac2,0x2,_0xc910f3,_0x44f1b8[_0x4323ce(_0x2d53cb._0x467a14,0x1866)]);if(Cesium__namespace['defined'](_0x187670)&&_0x187670[_0x5e1c25(_0x2d53cb._0x15f5a2,0xb6a)]>0x0&&Cesium__namespace['defined'](_0x187670[0x0])&&Cesium__namespace['defined'](_0x187670[0x0]['position'])){const _0x37d999=_0x187670[0x0][_0x4323ce(0x17bc,0x17de)],_0x3de894=Cesium__namespace['Cartesian3']['distance'](_0x4e2d55,_0x45a01a),_0x220a35=Cesium__namespace['Cartesian3']['distance'](_0x4e2d55,_0x37d999);if(_0x220a35<_0x3de894){const _0x567609=this['_showPolyline'](_0x4e2d55,_0x45a01a,_0x37d999),_0x5b242c={};_0x5b242c['block']=!![],_0x5b242c[_0x4323ce(0x17bc,_0x2d53cb._0x295878)]=_0x37d999,_0x5b242c['entity']=_0x567609;const _0x20c45c=_0x5b242c;return this[_0x4323ce(0xf93,_0x2d53cb._0xc759f7)](EventType['end'],_0x20c45c),_0x20c45c;}}const _0x4e481c=this[_0x5e1c25(_0x2d53cb._0x3188dd,_0x2d53cb._0x2fe64c)](_0x4e2d55,_0x45a01a),_0x550bcf={};function _0x5e1c25(_0x52bbf4,_0x329d2d){return _0x54a7f1(_0x329d2d- -0x41b,_0x52bbf4);}_0x550bcf['block']=![],_0x550bcf['entity']=_0x4e481c;const _0x1f4390=_0x550bcf;return Cesium__namespace[_0x4323ce(_0x2d53cb._0x5235a5,_0x2d53cb._0x5596f7)](this['old_depthTestAgainstTerrain'])&&(this[_0x4323ce(0x8ae,_0x2d53cb._0x509390)]['scene'][_0x5e1c25(-_0x2d53cb._0xa16d11,-_0x2d53cb._0x1d4403)]['depthTestAgainstTerrain']=this[_0x4323ce(0x661,0xfd8)],delete this['old_depthTestAgainstTerrain']),this['fire'](EventType[_0x5e1c25(0x16d,0x2d8)],_0x1f4390),_0x1f4390;}[_0x54a7f1(0x1445,0xc0a)](_0x53287c,_0xd3b84c,_0x1c8311={}){const _0x3c16e2={_0xeac86b:0x13e2,_0xc23aa0:0x832,_0x19578e:0xe91,_0x48fb11:0x2a6,_0x5b81f1:0x7e7,_0x1b2ec6:0x614},_0x4bca66={_0x57f784:0xccf,_0x2a446e:0x440,_0x290e5a:0x10ff,_0x49d43b:0xc98,_0x160eea:0x276,_0x516b3d:0x45f,_0x2571e6:0xe6e,_0x562fbc:0x922,_0x353204:0x71},_0x5a65cd={_0x330a91:0x317};_0x1c8311[_0x424226(_0x3c16e2._0xeac86b,0xa81)]&&(_0x53287c=addPositionsHeight(_0x53287c,_0x1c8311[_0x362803(0x13c,_0x3c16e2._0xc23aa0)]));const _0x92589e={};_0x92589e[_0x424226(_0x3c16e2._0x19578e,0xa74)]=_0x1c8311['splitNum']||0x32;function _0x424226(_0x3665bd,_0x477dbc){return _0x7afdbe(_0x3665bd,_0x477dbc- -0x2f6);}function _0x362803(_0x3e85fa,_0x3ce352){return _0x54a7f1(_0x3ce352- -_0x5a65cd._0x330a91,_0x3e85fa);}_0x92589e[_0x424226(-_0x3c16e2._0x48fb11,_0x3c16e2._0x5b81f1)]=_0x1c8311['minDistance'];const _0x53551d=interLine([_0x53287c,_0xd3b84c],_0x92589e);return this['fire'](EventType[_0x362803(0x486,_0x3c16e2._0x1b2ec6)]),new Promise((_0x3ca2e9,_0x48a9f5)=>{const _0x3013b9={};_0x3013b9['map']=this['_map'],_0x3013b9['positions']=_0x53551d,computeSurfacePoints(_0x3013b9)['then'](_0x4dfbc1=>{function _0x481a24(_0xf94450,_0x1ec005){return _0x536c(_0xf94450- -0x88,_0x1ec005);}if(!_0x4dfbc1['noHeight'])for(let _0x3c5237=0x0;_0x3c5237<_0x53551d[_0x481a24(0xdd6,_0x4bca66._0x57f784)];_0x3c5237++){const _0x21b591=_0x53551d[_0x3c5237],_0x359c98=Cesium__namespace[_0xb15f24(0xe07,_0x4bca66._0x2a446e)]['fromCartesian'](_0x21b591)['height'],_0xfde4b1=Cesium__namespace['Cartographic']['fromCartesian'](_0x4dfbc1['positions'][_0x3c5237])['height'];if(_0x359c98<=_0xfde4b1){const _0xa1b7f7=this['_showPolyline'](_0x53287c,_0xd3b84c,_0x21b591),_0x48b3d2={};_0x48b3d2['block']=!![],_0x48b3d2['position']=_0x21b591,_0x48b3d2[_0x481a24(_0x4bca66._0x290e5a,0x13d0)]=_0xa1b7f7;const _0xa303ff=_0x48b3d2;this[_0x481a24(0xd09,_0x4bca66._0x49d43b)](EventType['end'],_0xa303ff),_0x3ca2e9(_0xa303ff);return;}}const _0x77cde8=this[_0x481a24(_0x4bca66._0x160eea,-0x238)](_0x53287c,_0xd3b84c),_0x54d7fc={};function _0xb15f24(_0x94807,_0x31b187){return _0x536c(_0x31b187- -0x369,_0x94807);}_0x54d7fc[_0x481a24(_0x4bca66._0x516b3d,_0x4bca66._0x2571e6)]=![],_0x54d7fc['entity']=_0x77cde8;const _0x5796c0=_0x54d7fc;this[_0xb15f24(_0x4bca66._0x562fbc,0xa28)](EventType[_0xb15f24(_0x4bca66._0x353204,0x263)],_0x5796c0),_0x3ca2e9(_0x5796c0);});});}['_showPolyline'](_0x496b4c,_0x3616bb,_0xe5c3af){const _0x2aa95c={_0x35074c:0xa45,_0x262457:0xf23,_0x3273b:0x768,_0x3a81c6:0xe9,_0x18d020:0xbb6,_0x4656cd:0x481,_0xf02852:0x902,_0x3ba74e:0x8bd,_0x4ee3f9:0xba4,_0x3f899b:0x3b2,_0x59b4d3:0x6a4},_0x1baea2={_0x5ac1f1:0x272};function _0x8f32c7(_0xa401df,_0x552bdf){return _0x7afdbe(_0xa401df,_0x552bdf- -0x580);}function _0x1e3102(_0x540153,_0x207353){return _0x54a7f1(_0x540153-_0x1baea2._0x5ac1f1,_0x207353);}if(_0xe5c3af){const _0x44326b=this[_0x1e3102(_0x2aa95c._0x35074c,0x28c)]['entities']['add'](new Cesium__namespace[(_0x8f32c7(_0x2aa95c._0x262457,0x13cc))]({'polyline':{'positions':[_0x496b4c,_0xe5c3af],'width':0x2,'material':this['_visibleColor'],'depthFailMaterial':this[_0x1e3102(_0x2aa95c._0x3273b,0xfd5)]}}));this['lines'][_0x8f32c7(_0x2aa95c._0x3a81c6,_0x2aa95c._0x18d020)](_0x44326b);const _0x40a6c9=this[_0x8f32c7(0xb20,_0x2aa95c._0x4656cd)][_0x1e3102(0xf2e,0x113c)][_0x1e3102(_0x2aa95c._0xf02852,_0x2aa95c._0x3ba74e)](new Cesium__namespace['Entity']({'polyline':{'positions':[_0xe5c3af,_0x3616bb],'width':0x2,'material':this['_hiddenColor'],'depthFailMaterial':this[_0x1e3102(0x768,_0x2aa95c._0x4ee3f9)]}}));return this['lines'][_0x8f32c7(_0x2aa95c._0x3f899b,0xbb6)](_0x40a6c9),[_0x44326b,_0x40a6c9];}else{const _0x3ce8c1=this[_0x1e3102(0xa45,0x201)]['entities']['add'](new Cesium__namespace['Entity']({'polyline':{'positions':[_0x496b4c,_0x3616bb],'width':0x2,'material':this['_visibleColor'],'depthFailMaterial':this[_0x8f32c7(-_0x2aa95c._0x59b4d3,0x1a4)]}}));return this[_0x1e3102(0x1413,0x11e9)]['push'](_0x3ce8c1),[_0x3ce8c1];}}[_0x7afdbe(0x1782,0x1551)](){const _0x1effe6={_0x5375ca:0x199},_0x3c3628={_0x5a7c1f:0x25b},_0x268f92={_0x24d0c7:0x3ce};for(let _0x1b3f73=0x0,_0x14df28=this['lines'][_0x2b1711(0xd10,0xf58)];_0x1b3f73<_0x14df28;_0x1b3f73++){this[_0x2b1711(-_0x1effe6._0x5375ca,0x7a6)]['entities']['remove'](this['lines'][_0x1b3f73]);}function _0x181dd0(_0x9f2a1f,_0x54501b){return _0x7afdbe(_0x54501b,_0x9f2a1f- -_0x268f92._0x24d0c7);}function _0x2b1711(_0x1605c2,_0x30eb8b){return _0x7afdbe(_0x1605c2,_0x30eb8b- -_0x3c3628._0x5a7c1f);}this['lines']=[];}}register('sightline',Sightline);var fragmentShaderSource='#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0auniform\x20float\x20lineWidth;\x0auniform\x20float\x20height;\x0auniform\x20bvec3\x20strokeType;\x0auniform\x20vec3\x20tjxColor;\x0auniform\x20vec3\x20bjColor;\x0auniform\x20vec3\x20cameraPos;\x0auniform\x20float\x20mbDis;\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec4\x20toEye(in\x20vec2\x20uv,\x20in\x20float\x20depth)\x20{\x0a\x20\x20vec2\x20xy\x20=\x20vec2((uv.x\x20*\x202.0\x20-\x201.0),\x20(uv.y\x20*\x202.0\x20-\x201.0));\x0a\x20\x20vec4\x20posInCamera\x20=\x20czm_inverseProjection\x20*\x20vec4(xy,\x20depth,\x201.0);\x0a\x20\x20posInCamera\x20=\x20posInCamera\x20/\x20posInCamera.w;\x0a\x20\x20return\x20posInCamera;\x0a}\x0afloat\x20getDepthMars3D(in\x20vec4\x20depth)\x20{\x0a\x20\x20float\x20z_window\x20=\x20czm_unpackDepth(depth);\x0a\x20\x20z_window\x20=\x20czm_reverseLogDepth(z_window);\x0a\x20\x20float\x20n_range\x20=\x20czm_depthRange.near;\x0a\x20\x20float\x20f_range\x20=\x20czm_depthRange.far;\x0a\x20\x20return\x20(2.0\x20*\x20z_window\x20-\x20n_range\x20-\x20f_range)\x20/\x20(f_range\x20-\x20n_range);\x0a}\x0abool\x20isTJX(vec2\x20uv,\x20float\x20lw)\x20{\x0a\x20\x20vec2\x20pixelSize\x20=\x20lw\x20/\x20czm_viewport.zw;\x0a\x20\x20float\x20dx0\x20=\x20-pixelSize.x;\x0a\x20\x20float\x20dy0\x20=\x20-pixelSize.y;\x0a\x20\x20float\x20dx1\x20=\x20pixelSize.x;\x0a\x20\x20float\x20dy1\x20=\x20pixelSize.y;\x0a\x0a\x20\x20vec2\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x20dy0);\x0a\x20\x20vec4\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20float\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(0.0,\x20dy0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x20dy0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x200.0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x200.0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x20dy1);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(0.0,\x20dy1);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x20dy1);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20return\x20false;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20if(height\x20>\x2014102.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20vec4\x20currD\x20=\x20texture(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20if(currD.r\x20>=\x201.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20float\x20depth\x20=\x20getDepthMars3D(currD);\x0a\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20vec3\x20dx\x20=\x20dFdx(positionEC.xyz);\x0a\x20\x20vec3\x20dy\x20=\x20dFdy(positionEC.xyz);\x0a\x20\x20vec3\x20normal\x20=\x20normalize(cross(dx,\x20dy));\x0a\x0a\x20\x20if(strokeType.y\x20||\x20strokeType.z)\x20{\x0a\x20\x20\x20\x20vec4\x20wp\x20=\x20czm_inverseView\x20*\x20positionEC;\x0a\x20\x20\x20\x20if(distance(wp.xyz,\x20cameraPos)\x20>\x20mbDis)\x20{\x0a\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20dotNum\x20=\x20abs(dot(normal,\x20normalize(positionEC.xyz)));\x0a\x20\x20\x20\x20\x20\x20if(dotNum\x20<\x200.05)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(bjColor,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20if(strokeType.x\x20||\x20strokeType.z)\x20{\x0a\x20\x20\x20\x20bool\x20tjx\x20=\x20isTJX(v_textureCoordinates,\x20lineWidth);\x0a\x20\x20\x20\x20if(tjx)\x20{\x0a\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(tjxColor,\x201.0);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20out_FragColor\x20=\x20color;\x0a}\x0a';class Skyline extends BaseThing{constructor(_0x4c00cb={}){const _0x99be88={_0x21bed0:0x1a0,_0x2e23af:0x113b,_0xfe366b:0xe78,_0x30f149:0x11a0},_0xf46a70={_0x4d9ed1:0x63a};super(_0x4c00cb),this['color']=_0x4c00cb[_0x47ae7d(0x153c,0xe06)]??new Cesium__namespace['Color'](0x1,0x0,0x0),this['width']=_0x4c00cb['width']??0x2;function _0x3d091b(_0x2bfa25,_0xfeaf67){return _0x54a7f1(_0xfeaf67- -0xf1,_0x2bfa25);}function _0x47ae7d(_0x28fad7,_0x2cbb95){return _0x7afdbe(_0x28fad7,_0x2cbb95- -_0xf46a70._0x4d9ed1);}this['strokeType']=_0x4c00cb['strokeType']??new Cesium__namespace['Cartesian3'](!![],![],![]),this['bjColor']=_0x4c00cb[_0x47ae7d(_0x99be88._0x21bed0,0x8b1)]??new Cesium__namespace[(_0x47ae7d(_0x99be88._0x2e23af,_0x99be88._0xfe366b))](0x0,0x0,0x1),this[_0x3d091b(0x17c3,_0x99be88._0x30f149)]=_0x4c00cb['distance']??0x1f4;}[_0x54a7f1(0x6ae,-0x7a)](_0x3ea518){const _0x33baef={_0x344cc3:0x1003,_0x1887e3:0x5b9,_0x9c6411:0x208},_0x20d409={_0x402759:0x6c4};function _0xfdbb47(_0x560de1,_0x202472){return _0x7afdbe(_0x202472,_0x560de1- -_0x20d409._0x402759);}function _0x15a3dc(_0x26336a,_0x2cc991){return _0x54a7f1(_0x26336a- -0x11e,_0x2cc991);}_0x3ea518?!this['postProcessStage']&&this[_0x15a3dc(_0x33baef._0x344cc3,0x95a)]():this['postProcessStage']&&this[_0xfdbb47(_0x33baef._0x1887e3,-_0x33baef._0x9c6411)]();}[_0x7afdbe(0x103c,0x134f)](){const _0x29b611={_0x194c48:0x609,_0x472074:0x1dac,_0x5c0f29:0x18bd,_0x42ca40:0x905,_0x7c746d:0xd2b},_0x536122={_0x5cfb61:0x1964},_0x2d10ed={_0x3c5d17:0x18d0},_0x3e5166={_0xd79bb8:0x442},_0x583b96={_0x12faf5:0x7c},_0x2b5f64={_0x4fe413:0x132};function _0x330d1f(_0xbd255c,_0x2cd439){return _0x54a7f1(_0x2cd439-_0x2b5f64._0x4fe413,_0xbd255c);}const _0x28ac6f=this['_map']['camera'];function _0x13693b(_0xf9ccd5,_0x2f4011){return _0x54a7f1(_0xf9ccd5- -0x32e,_0x2f4011);}this[_0x330d1f(0x77d,_0x29b611._0x194c48)]=new Cesium__namespace[(_0x330d1f(_0x29b611._0x472074,_0x29b611._0x5c0f29))]({'fragmentShader':fragmentShaderSource,'uniforms':{'height':()=>{function _0x43e588(_0xaf5959,_0x4b20a9){return _0x330d1f(_0xaf5959,_0x4b20a9- -0x545);}return _0x28ac6f['positionCartographic'][_0x43e588(-0x386,0x254)];},'lineWidth':()=>{return this['width'];},'strokeType':()=>{function _0x432a94(_0x17ab5a,_0x9c87d4){return _0x13693b(_0x9c87d4- -_0x583b96._0x12faf5,_0x17ab5a);}return this[_0x432a94(-0x519,_0x3e5166._0xd79bb8)];},'tjxColor':()=>{function _0x25f1b1(_0x2a7fac,_0x2ec194){return _0x330d1f(_0x2a7fac,_0x2ec194-0x151);}return this[_0x25f1b1(_0x2d10ed._0x3c5d17,0x1495)];},'bjColor':()=>{return this['bjColor'];},'cameraPos':()=>{return _0x28ac6f['position'];},'mbDis':()=>{function _0x469c9c(_0x3e82e4,_0x3bdbc3){return _0x13693b(_0x3bdbc3-0x165,_0x3e82e4);}return this[_0x469c9c(_0x536122._0x5cfb61,0x10c8)];}}}),this[_0x330d1f(0x82c,_0x29b611._0x42ca40)]['scene'][_0x330d1f(_0x29b611._0x7c746d,0xd04)]['add'](this['postProcessStage']);}['_removedHook'](){function _0x415cf4(_0x3d52c5,_0x3b3b69){return _0x7afdbe(_0x3d52c5,_0x3b3b69- -0x360);}function _0x12e879(_0x49ee87,_0x325b9c){return _0x54a7f1(_0x325b9c-0xf6,_0x49ee87);}this['postProcessStage']&&(this[_0x415cf4(0x83,0x6a1)][_0x12e879(0x1a17,0x1175)]['postProcessStages']['remove'](this['postProcessStage']),this['postProcessStage']['destroy'](),delete this['postProcessStage']);}}register('skyline',Skyline);var ShadowRateFS='precision\x20highp\x20float;\x0auniform\x20sampler2D\x20u_positionTexture;\x0auniform\x20sampler2D\x20shadowMap_texture;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec4\x20getPositionECMars3D(vec2\x20uv)\x20{\x0a\x20\x20vec4\x20positionEC\x20=\x20texture(u_positionTexture,\x20uv);\x0a\x20\x20return\x20vec4(positionEC.xyz,\x201.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec2\x20uv\x20=\x20v_textureCoordinates;\x0a\x20\x20float\x20maxDepth\x20=\x20shadowMap_cascadeSplits[1].w;\x0a\x20\x20vec4\x20positionEC\x20=\x20getPositionECMars3D(uv);\x0a\x20\x20vec3\x20normalEC\x20=\x20vec3(1.0);\x0a\x20\x20float\x20depth\x20=\x20-positionEC.z;\x0a\x0a\x20\x20if(depth\x20>\x20maxDepth)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20vec4\x20weights\x20=\x20czm_cascadeWeights(depth);\x0a\x20\x20\x20\x20vec4\x20shadowPosition\x20=\x20czm_cascadeMatrix(weights)\x20*\x20positionEC;\x0a\x20\x20\x20\x20float\x20deptha\x20=\x20czm_unpackDepth(texture(shadowMap_texture,\x20shadowPosition.xy));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(step(shadowPosition.z,\x20deptha),\x200.0,\x201.0,\x202.0);\x0a\x20\x20//\x20out_FragColor\x20=\x20vec4(uv,\x201.0,\x202.0);\x0a\x20\x20}\x0a}\x0a',ShadowRateVS=_0x7afdbe(0x2027,0x175d);const texturePositions=new Float32Array([-0x1,-0x1,0x1,-0x1,0x1,0x1,-0x1,0x1]),textureUVs=new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1]),textureIndices=new Uint16Array([0x0,0x1,0x2,0x0,0x2,0x3]);function createTextureVA(_0x5444a7){const _0xa4595d={_0x48346:0x1851,_0x3f9dbd:0xf6c,_0x18ea34:0x1d36,_0x2d222c:0x12c4,_0x5796c8:0x15c0,_0x359686:0x696,_0xb66a40:0x158c,_0x5cb0a2:0x222,_0x48bd11:0x469},_0x2dd5b2={_0x54385a:0x2a5},_0x23646d=Cesium__namespace[_0x254b24(0x1a43,0x1641)][_0x254b24(0xc27,0x17e)]({'context':_0x5444a7,'typedArray':texturePositions,'usage':Cesium__namespace[_0x30b8c3(_0xa4595d._0x48346,0x1712)]['STATIC_DRAW']}),_0x24041e=Cesium__namespace[_0x254b24(0x1a43,0x1dea)]['createVertexBuffer']({'context':_0x5444a7,'typedArray':textureUVs,'usage':Cesium__namespace['BufferUsage'][_0x254b24(0x134a,0x96f)]}),_0x4e7dd9=Cesium__namespace[_0x30b8c3(_0xa4595d._0x3f9dbd,0x19bd)]['createIndexBuffer']({'context':_0x5444a7,'typedArray':textureIndices,'usage':Cesium__namespace['BufferUsage'][_0x30b8c3(_0xa4595d._0x18ea34,_0xa4595d._0x2d222c)],'indexDatatype':Cesium__namespace['IndexDatatype'][_0x254b24(_0xa4595d._0x5796c8,0x1845)]}),_0x41c257={};_0x41c257['index']=0x0,_0x41c257['vertexBuffer']=_0x23646d,_0x41c257['componentsPerAttribute']=0x2,_0x41c257['componentDatatype']=Cesium__namespace['ComponentDatatype']['FLOAT'];const _0x438842={};_0x438842[_0x30b8c3(0x1468,0xe6a)]=0x1,_0x438842[_0x30b8c3(-0x22f,_0xa4595d._0x359686)]=_0x24041e,_0x438842[_0x254b24(0x19ab,0x210f)]=0x2,_0x438842[_0x30b8c3(_0xa4595d._0xb66a40,0x18e9)]=Cesium__namespace['ComponentDatatype']['FLOAT'];const _0x54ae42=[_0x41c257,_0x438842],_0x372631={};_0x372631['context']=_0x5444a7;function _0x30b8c3(_0x552a04,_0x3f37d7){return _0x7afdbe(_0x552a04,_0x3f37d7- -0xf);}function _0x254b24(_0x4c1292,_0x52deca){return _0x54a7f1(_0x4c1292-_0x2dd5b2._0x54385a,_0x52deca);}return _0x372631[_0x30b8c3(-_0xa4595d._0x5cb0a2,_0xa4595d._0x48bd11)]=_0x54ae42,_0x372631[_0x30b8c3(0x16ba,0xc58)]=_0x4e7dd9,new Cesium__namespace['VertexArray'](_0x372631);}function createFramebuffer(_0x3859e0,_0x16ac45){const _0x254435={_0x3ccf7c:0x1e9,_0x466f74:0x9e2,_0x5c5d30:0xe11,_0x56444d:0x1587};function _0x46ef5a(_0x3f687e,_0x7d93a6){return _0x54a7f1(_0x7d93a6- -0xa6,_0x3f687e);}const _0x3a4d7e={};function _0x5c7881(_0x313384,_0x52f331){return _0x7afdbe(_0x313384,_0x52f331- -0x27b);}return _0x3a4d7e[_0x46ef5a(_0x254435._0x3ccf7c,_0x254435._0x466f74)]=_0x3859e0,_0x3a4d7e[_0x5c7881(0x1834,0x16c1)]=[_0x16ac45],_0x3a4d7e[_0x46ef5a(0x1261,_0x254435._0x5c5d30)]=![],new Cesium__namespace[(_0x46ef5a(_0x254435._0x56444d,0x134d))](_0x3a4d7e);}function computeTextureResolution(_0x10b299){const _0x417264=Cesium__namespace['ContextLimits']['maximumTextureSize'],_0x20bc29=Math['min'](_0x10b299,_0x417264),_0x206f77=Math['ceil'](_0x10b299/_0x20bc29),_0x424ca8={};return _0x424ca8['x']=_0x20bc29,_0x424ca8['y']=_0x206f77,_0x424ca8;}function completionBuffer(_0xdb2191,_0x55fd95){const _0x29f4ce=_0x55fd95['x']*_0x55fd95['y'];function _0x103c0a(_0x13ca6e,_0x4cefcf){return _0x7afdbe(_0x13ca6e,_0x4cefcf- -0x7);}const _0x83afb6=_0xdb2191['length']/0x4;for(let _0xdd79fa=_0x83afb6;_0xdd79fa<_0x29f4ce;_0xdd79fa++){_0xdb2191['push'](0x0),_0xdb2191[_0x103c0a(0x19d2,0x112f)](0x0),_0xdb2191['push'](0x0),_0xdb2191['push'](0x0);}}class ShadowRateDrawCommand{constructor(_0x20124f,_0x1df2a9){const _0x5e0a49={_0x5c8b8e:0x70a,_0x191d59:0x20a5,_0x2ef2ff:0x7b0,_0x1ed052:0x62b,_0x3b1ebe:0xff8,_0xda2dbb:0x17ad,_0x3602a2:0x18d2,_0x5f22f8:0x7c4,_0x2601c9:0xf56},_0x324a59={_0x42a4b3:0x2b9},_0x50ce37={_0x42df51:0x1bd6},_0x4b7089={_0x2bc4ac:0x449};this[_0x1b997e(_0x5e0a49._0x5c8b8e,0x3fb)]=new Cesium__namespace[(_0xb18bcb(0x18e1,_0x5e0a49._0x191d59))](),this[_0x1b997e(_0x5e0a49._0x2ef2ff,0x579)]=_0x20124f,this['_positions']=_0x1df2a9,this[_0xb18bcb(0xfa3,_0x5e0a49._0x1ed052)]=![];const _0x6571ae=_0x1df2a9['length'];this[_0xb18bcb(0x118a,0x1138)]=computeTextureResolution(_0x6571ae);const _0x5e3952=new Cesium__namespace['Texture']({'context':_0x20124f['context'],'source':{'arrayBufferView':new Float32Array(this[_0xb18bcb(0x118a,0xc53)]['x']*this[_0x1b997e(_0x5e0a49._0x3b1ebe,_0x5e0a49._0xda2dbb)]['y']*0x4),'width':this['_requiredResolution']['x'],'height':this[_0xb18bcb(0x118a,_0x5e0a49._0x3602a2)]['y']},'pixelDatatype':Cesium__namespace['PixelDatatype']['FLOAT'],'pixelFormat':Cesium__namespace['PixelFormat'][_0x1b997e(_0x5e0a49._0x5f22f8,0x4ad)],'flipY':![]}),_0x43ccec=createTextureVA(_0x20124f['context']);function _0x1b997e(_0x275ef0,_0xc3b2cc){return _0x54a7f1(_0x275ef0-0x15,_0xc3b2cc);}const _0x373c23={};_0x373c23['position']=0x0,_0x373c23[_0x1b997e(0x678,-0x275)]=0x1;const _0x170519={};_0x170519['context']=_0x20124f['context'],_0x170519['vertexShaderSource']=ShadowRateVS,_0x170519['fragmentShaderSource']=ShadowRateFS,_0x170519[_0xb18bcb(0xb2b,0xf33)]=_0x373c23;function _0xb18bcb(_0x11cbab,_0x4a420f){return _0x54a7f1(_0x11cbab-0x1a7,_0x4a420f);}const _0x3344f6=Cesium__namespace['ShaderProgram'][_0x1b997e(0x4ab,_0x5e0a49._0x2601c9)](_0x170519);this['drawCommand']=new Cesium__namespace['ComputeCommand']({'vertexArray':_0x43ccec,'shaderProgram':_0x3344f6,'outputTexture':_0x5e3952,'uniformMap':{'shadowMap_cascadeSplits':()=>{function _0x944b5f(_0x31f0f5,_0x24f260){return _0x1b997e(_0x24f260- -_0x4b7089._0x2bc4ac,_0x31f0f5);}function _0x304436(_0x1e7de1,_0x54a869){return _0x1b997e(_0x1e7de1-0x1a9,_0x54a869);}return _0x20124f[_0x304436(0x4dd,0x743)][_0x944b5f(_0x50ce37._0x42df51,0x119e)];},'shadowMap_cascadeMatrices':()=>{return _0x20124f['shadowMap']['_cascadeMatrices'];},'shadowMap_texture':()=>{function _0x5c7703(_0x466cbc,_0x4e6724){return _0x1b997e(_0x466cbc-0xe5,_0x4e6724);}return _0x20124f['shadowMap'][_0x5c7703(0x1285,0x1148)];},'u_positionTexture':()=>{return this['_positionTexture'];}},'persists':!![],'owner':this,'postExecute':_0x247098=>{const _0x78c1ca={_0x33f2a3:0x52},_0x365d0a=createFramebuffer(_0x20124f['context'],_0x247098),_0x8e8119={};_0x8e8119[_0x149552(0xe35,0xdc9)]=_0x365d0a,_0x8e8119['width']=this[_0x19cd7c(0x19e7,0x11dc)]['x'];function _0x19cd7c(_0x52945f,_0xfb652f){return _0xb18bcb(_0xfb652f-_0x78c1ca._0x33f2a3,_0x52945f);}function _0x149552(_0x4d4d86,_0x506961){return _0x1b997e(_0x506961- -_0x324a59._0x42a4b3,_0x4d4d86);}_0x8e8119['height']=this['_requiredResolution']['y'];const _0x5110a4=_0x20124f['context'][_0x149552(0x823,0x106)](_0x8e8119);this['_event']['raiseEvent'](_0x5110a4['slice'](0x0,_0x6571ae*0x4));}});}get[_0x7afdbe(0xb70,0x713)](){return this['_event'];}['start'](){const _0x218af={_0xb479cf:0x4af,_0x3f280b:0xf94,_0x335ccf:0x171d,_0x5626eb:0xd2c,_0x52d2ac:0xfdc,_0x33f67c:0x1148},_0x50cb91=this[_0x496c41(0x74c,0x42f)]['camera']['viewMatrix'],_0x3c526f=this['_positions'][_0x496c41(0x9e8,_0x218af._0xb479cf)](_0x43961b=>Cesium__namespace['Matrix4'][_0x496c41(0xc9a,0x126e)](_0x50cb91,_0x43961b,new Cesium__namespace['Cartesian3']())),_0x58555f=[];function _0x496c41(_0x838953,_0x35dc5e){return _0x7afdbe(_0x35dc5e,_0x838953- -0x27d);}_0x3c526f['forEach'](_0x3c41f4=>{_0x58555f['push'](_0x3c41f4['x']),_0x58555f['push'](_0x3c41f4['y']),_0x58555f['push'](_0x3c41f4['z']),_0x58555f['push'](0x0);});this[_0x496c41(0xc82,0xc98)]&&this['_positionTexture']['destroy']();completionBuffer(_0x58555f,this[_0x496c41(_0x218af._0x3f280b,0xa6c)]);function _0x49b943(_0xaed3fb,_0x2a7d4b){return _0x7afdbe(_0x2a7d4b,_0xaed3fb- -0x4e5);}this['_positionTexture']=new Cesium__namespace[(_0x496c41(_0x218af._0x335ccf,0x1d81))]({'context':this['_scene']['context'],'source':{'width':this[_0x49b943(_0x218af._0x5626eb,_0x218af._0x52d2ac)]['x'],'height':this[_0x496c41(0xf94,_0x218af._0x33f67c)]['y'],'arrayBufferView':new Float32Array(_0x58555f)},'pixelDatatype':Cesium__namespace['PixelDatatype']['FLOAT'],'flipY':![]}),this['_stat']=!![];}['update'](_0x5460c2){const _0x4b3c30={_0x53a6cd:0x100c,_0x2ad312:0xdc2},_0x584895={_0x2c2618:0x374};if(!this['drawCommand'])return;function _0x46682f(_0x173e2f,_0x153a6c){return _0x54a7f1(_0x153a6c- -0x124,_0x173e2f);}function _0x512452(_0x35462b,_0x55ebb0){return _0x7afdbe(_0x35462b,_0x55ebb0- -_0x584895._0x2c2618);}this[_0x512452(0x98f,0xcb6)]&&(_0x5460c2['commandList'][_0x512452(_0x4b3c30._0x53a6cd,_0x4b3c30._0x2ad312)](this['drawCommand']),this['_stat']=![]);}['isDestroyed'](){return![];}['destroy'](){const _0x4588b3={_0x5c0e01:0x8b9},_0x2f0b2c={_0x48762b:0x646};this[_0x3c90cf(_0x4588b3._0x5c0e01,0x8c9)]&&this['_positionTexture']['destroy']();function _0x3c90cf(_0x8d0678,_0x2bf05a){return _0x7afdbe(_0x2bf05a,_0x8d0678- -_0x2f0b2c._0x48762b);}Cesium__namespace['destroyObject'](this);}}class Shadows extends BaseThing{get[_0x7afdbe(0xf49,0x54d)](){const _0x534b10={_0x1d6805:0x72b};function _0x748913(_0x487300,_0x44d9cd){return _0x7afdbe(_0x487300,_0x44d9cd- -_0x534b10._0x1d6805);}return this[_0x748913(0x2ff,0x2d6)]['scene']['shadowMap'];}get['time'](){const _0xf3fe46={_0x20ba2a:0x1333,_0x464831:0x105e,_0x130770:0x10f4},_0x311209=this[_0x4aafae(_0xf3fe46._0x20ba2a,0x936)][_0x4b4d65(_0xf3fe46._0x464831,0x61b)]['currentTime'];function _0x4aafae(_0x45dcc4,_0x29f749){return _0x7afdbe(_0x45dcc4,_0x29f749- -0xcb);}function _0x4b4d65(_0x16e06a,_0x2a8de0){return _0x54a7f1(_0x2a8de0- -0x3be,_0x16e06a);}return Cesium__namespace['JulianDate'][_0x4b4d65(0xf68,_0xf3fe46._0x130770)](_0x311209);}set['time'](_0x586105){const _0x27424d={_0x19d7ca:0x925,_0x34b667:0x7e8,_0x2f03ac:0xd56,_0x3a2ab3:0xb91},_0x1750fb={_0x5d1594:0x12f};function _0x5bf1c3(_0x10551a,_0x2f70f8){return _0x54a7f1(_0x2f70f8- -_0x1750fb._0x5d1594,_0x10551a);}this['_map'][_0x5f4247(_0x27424d._0x19d7ca,_0x27424d._0x34b667)][_0x5bf1c3(0x16a9,0x1324)]=Cesium__namespace[_0x5f4247(_0x27424d._0x2f03ac,_0x27424d._0x3a2ab3)]['fromDate'](_0x586105);function _0x5f4247(_0x2850dc,_0x458485){return _0x54a7f1(_0x2850dc- -0xb4,_0x458485);}this['stop']();}get['isStart'](){const _0x54d3a6={_0x3f40f4:0x14d6},_0x13cc9e={_0x40bfcd:0x3a2};function _0x433213(_0x414db3,_0x819ac9){return _0x54a7f1(_0x414db3- -_0x13cc9e._0x40bfcd,_0x819ac9);}return this['_map']['clock'][_0x433213(0xd8d,_0x54d3a6._0x3f40f4)];}get[_0x54a7f1(0xfa0,0x110f)](){const _0xc3183d={_0x550e80:0xf90},_0xc1c9a9={_0x2c98a1:0x2};function _0x296999(_0x1cf309,_0x10113d){return _0x7afdbe(_0x10113d,_0x1cf309-_0xc1c9a9._0x2c98a1);}return this['options'][_0x296999(0x11d0,_0xc3183d._0x550e80)]??0x640;}set[_0x54a7f1(0xfa0,0x65f)](_0x242a49){const _0x9af0f3={_0xa07931:0x891,_0x354e44:0x705},_0x2587c4={_0x54fb94:0x4ba};function _0x361c5e(_0x54462c,_0x5896ce){return _0x54a7f1(_0x5896ce- -0xce,_0x54462c);}function _0x236349(_0xffbdd6,_0x734b6){return _0x7afdbe(_0xffbdd6,_0x734b6- -_0x2587c4._0x54fb94);}this[_0x361c5e(0xe75,0x7e2)]['multiplier']=_0x242a49,this['_map']&&(this[_0x361c5e(_0x9af0f3._0xa07931,_0x9af0f3._0x354e44)][_0x361c5e(0xe1e,0x90b)]['multiplier']=_0x242a49);}['_enabledHook'](_0x51f7f5){const _0x56806a={_0x7ef00:0x471,_0x3f816a:0x73b,_0x16db52:0x113e,_0xe76bdf:0x8ee,_0x25f9c7:0xda0,_0x1e561c:0x5f3};if(!this['_map'])return;this[_0xafe7e1(_0x56806a._0x7ef00,-0x225)][_0x5edd1e(_0x56806a._0x3f816a,0xb1e)]['shadows']=_0x51f7f5;(this['options']['terrain']??!![])&&(_0x51f7f5?this['_map']['viewer']['terrainShadows']=this['options']['terrainShadows']??Cesium__namespace[_0xafe7e1(0x94d,0x57a)]['ENABLED']:this['_map']['viewer']['terrainShadows']=Cesium__namespace['ShadowMode'][_0x5edd1e(_0x56806a._0x16db52,_0x56806a._0xe76bdf)]);function _0x5edd1e(_0x573da0,_0x2ede3b){return _0x54a7f1(_0x573da0- -0x223,_0x2ede3b);}function _0xafe7e1(_0x3928d5,_0x4ebd88){return _0x54a7f1(_0x3928d5- -0x362,_0x4ebd88);}(this['options'][_0x5edd1e(_0x56806a._0x25f9c7,_0x56806a._0x1e561c)]??!![])&&(this['_map']['scene']['globe'][_0xafe7e1(0x61f,-0x4a7)]=_0x51f7f5);}['_mountedHook'](){}['_addedHook'](){const _0x5f123c={_0x411ff1:0x1109,_0x3ec07b:0xb31,_0x56e44f:0xb13,_0x4e2903:0x870,_0x8576ca:0x4b7,_0x462143:0x12b9,_0x13c2b7:0xf34,_0x276155:0x66a,_0x43b8d9:0x2e6,_0x45f2be:0x392,_0x43b1d7:0x487,_0xf72122:0xe33,_0x58238c:0x1178,_0x11d2eb:0x151,_0x578b10:0x903,_0x1c8707:0xbe8,_0x571079:0x747,_0x185d2c:0x4b7,_0x32a6d3:0x68a,_0x2dcccd:0x743};this['_last_startTime']=this['_map']['clock']['startTime'],this[_0x361ce5(_0x5f123c._0x411ff1,_0x5f123c._0x3ec07b)]=this[_0x115e60(0x66a,_0x5f123c._0x56e44f)][_0x115e60(_0x5f123c._0x4e2903,0xc6b)]['stopTime'],this['_last_shouldAnimate']=this[_0x361ce5(_0x5f123c._0x8576ca,0xe2e)]['clock']['shouldAnimate'];function _0x361ce5(_0x1bdd76,_0x29e0b8){return _0x7afdbe(_0x29e0b8,_0x1bdd76- -0x54a);}this[_0x115e60(_0x5f123c._0x462143,0x1729)]=this['_map']['clock'][_0x361ce5(_0x5f123c._0x13c2b7,0x1205)],this['_last_multiplier']=this[_0x115e60(_0x5f123c._0x276155,0xac0)]['clock']['multiplier'],this[_0x361ce5(0x2a6,_0x5f123c._0x43b8d9)]=this['_map']['viewer'][_0x361ce5(0xaa0,0xcaf)],this[_0x361ce5(_0x5f123c._0x45f2be,-_0x5f123c._0x43b1d7)](this['enabled']);function _0x115e60(_0x4205f1,_0x1b05ce){return _0x54a7f1(_0x4205f1- -0x169,_0x1b05ce);}Cesium__namespace['defined'](this[_0x361ce5(0x594,-0x412)][_0x115e60(_0x5f123c._0xf72122,_0x5f123c._0x58238c)])&&(this['shadowMap'][_0x361ce5(0xc80,0x14de)]=this[_0x361ce5(0x594,-_0x5f123c._0x11d2eb)]['darkness']),this['_map']['clock'][_0x115e60(0xfc6,_0x5f123c._0x578b10)]=![],this['_map'][_0x361ce5(0x6bd,_0x5f123c._0x1c8707)]['clockRange']=this[_0x115e60(_0x5f123c._0x571079,0x2d1)]['clockRange']??Cesium__namespace['ClockRange']['CLAMPED'],this[_0x361ce5(_0x5f123c._0x185d2c,_0x5f123c._0x32a6d3)][_0x361ce5(0x6bd,0x722)]['multiplier']=this['multiplier'],this['options']['time']&&(this[_0x361ce5(_0x5f123c._0x2dcccd,0x2fb)]=this[_0x361ce5(0x594,-0x37b)][_0x361ce5(0x743,-0xa1)]),this['_map']['on'](EventType['clockTick'],this[_0x115e60(0x95b,0x1105)],this);}['_removedHook'](){const _0x40f39a={_0xf45c1a:0xcc3,_0x2f972c:0x571,_0x5f3bb0:0x149,_0x211de4:0xbe1,_0x5286e2:0x65c};this[_0x11469c(0xebb,0x12b0)](),this['_enabledHook'](![]);function _0x11469c(_0x47efde,_0x5e48f7){return _0x7afdbe(_0x5e48f7,_0x47efde- -0x696);}function _0x2aebe8(_0x42b187,_0x4d225f){return _0x7afdbe(_0x4d225f,_0x42b187- -0xad);}this['_map'][_0x11469c(0x4f6,_0x40f39a._0xf45c1a)]['shadows']=this['_last_shadows'],this['_map']['clock'][_0x2aebe8(0x13d1,0x1a6e)]=this['_last_clockRange'],this[_0x2aebe8(0x954,0x854)][_0x11469c(_0x40f39a._0x2f972c,_0x40f39a._0x5f3bb0)]['multiplier']=this['_last_multiplier'],this['_map'][_0x11469c(_0x40f39a._0x2f972c,0xfb6)]['shouldAnimate']=this['_last_shouldAnimate'],this[_0x11469c(0x36b,0x996)][_0x2aebe8(0x4ce,0x36f)](EventType[_0x11469c(_0x40f39a._0x211de4,0x15f5)],this[_0x11469c(_0x40f39a._0x5286e2,0xf9f)],this);}[_0x7afdbe(0x53e,0xcf2)](_0x3496d8){function _0x1ce1a3(_0xd6b3f9,_0x1b8c31){return _0x54a7f1(_0xd6b3f9- -0x67,_0x1b8c31);}if(!this['_map']||!this['_map'][_0x1ce1a3(0x972,0xa43)]['shouldAnimate'])return;this['fire'](EventType['change'],_0x3496d8);}['start'](_0x4e7571,_0x2ed212,_0x275178){const _0x4f74da={_0x50bb38:0xa6d,_0x4a0eaa:0xca5,_0x366bff:0x692,_0x2f3399:0x6ad,_0x429582:0x8b3},_0x3f56a8={_0x36236e:0x6c};function _0x3dcfed(_0x4d2af3,_0x4d8a77){return _0x7afdbe(_0x4d2af3,_0x4d8a77- -0x354);}if(!this[_0x32e24e(_0x4f74da._0x50bb38,0xb0d)])return;function _0x32e24e(_0x359fab,_0x410229){return _0x7afdbe(_0x410229,_0x359fab-_0x3f56a8._0x36236e);}if(!_0x4e7571||!_0x2ed212||_0x4e7571>=_0x2ed212)return;this[_0x3dcfed(-0x17,0x588)](this[_0x3dcfed(0xbc,0xa7d)]),this[_0x32e24e(0xa6d,0x21b)][_0x32e24e(0xc73,0x103c)]['startTime']=Cesium__namespace['JulianDate']['fromDate'](_0x4e7571),this['_map']['clock']['currentTime']=Cesium__namespace['JulianDate']['fromDate'](_0x275178||_0x4e7571),this[_0x32e24e(_0x4f74da._0x50bb38,_0x4f74da._0x4a0eaa)]['clock']['stopTime']=Cesium__namespace['JulianDate']['fromDate'](_0x2ed212),this[_0x3dcfed(_0x4f74da._0x366bff,_0x4f74da._0x2f3399)][_0x3dcfed(0xb41,_0x4f74da._0x429582)]['shouldAnimate']=!![];}[_0x54a7f1(0x4ef,0x2ff)](){this['_map']&&(this['_map']['clock']['shouldAnimate']=![]);}['proceed'](){this['_map']&&(this['_map']['clock']['shouldAnimate']=!![]);}[_0x7afdbe(0x8ae,0x9a8)](){const _0x46c802={_0x5e49eb:0x61a,_0x129f7d:0x4f9},_0x2a6ba9={_0x485f9f:0x3e7};function _0x3948e5(_0x483263,_0x2a98e9){return _0x7afdbe(_0x2a98e9,_0x483263- -_0x2a6ba9._0x485f9f);}function _0x5b5762(_0x48eb7d,_0x1ec6f4){return _0x54a7f1(_0x48eb7d- -0x490,_0x1ec6f4);}this['_map']&&(this[_0x3948e5(_0x46c802._0x5e49eb,0x715)][_0x3948e5(0x820,_0x46c802._0x129f7d)]['shouldAnimate']=![]);}[_0x7afdbe(0x1f52,0x1551)](){const _0x28aa66={_0x406730:0xdac,_0x45042d:0x22b},_0x5e1d92={_0x3239b6:0x9d};function _0xb30ebf(_0x194382,_0x37326b){return _0x7afdbe(_0x37326b,_0x194382- -_0x5e1d92._0x3239b6);}this[_0x6b9a31(_0x28aa66._0x406730,0x2f9)](),this['currentTime']=new Date(),this['_map']['clock']['startTime']=this['_last_startTime'],this['_map']['clock']['stopTime']=this[_0x6b9a31(0x627,0xfa4)];function _0x6b9a31(_0x463c31,_0x39fa1c){return _0x54a7f1(_0x39fa1c- -0x481,_0x463c31);}this['_rate_total']=0x0,delete this['_rate_positions'],this[_0x6b9a31(_0x28aa66._0x45042d,-0x85)]();}['startRate'](_0x42a22f){const _0x149a79={_0x2090e8:0x9dd,_0x234530:0x454,_0x20726c:0x16e8,_0xcf5719:0xc02,_0xd22818:0xd5f,_0x33884c:0x188f,_0x6d8035:0x592,_0x178f7f:0x4f0,_0x1a59a3:0x86c},_0x26bd13={_0xf1b3b:0x988,_0x48e221:0xd01};return new Promise((_0x4beda8,_0x181a42)=>{const _0x575b37={_0x519c21:0x95},_0x54f1aa={_0x21ca18:0x6fb,_0x2d7e45:0x84,_0x64468f:0x10dd};this[_0xb0d035(0x240,0xce5)](),this['_isStartRate']=!![];if(!this['_map']||!_0x42a22f[_0xb0d035(0xf33,_0x149a79._0x2090e8)]||_0x42a22f['positions'][_0xb0d035(0xdc9,_0x149a79._0x234530)]===0x0)return _0x4beda8();if(!_0x42a22f[_0x26ef2e(_0x149a79._0x20726c,0x128e)]||!_0x42a22f['endDate']||_0x42a22f['startDate']>=_0x42a22f['endDate'])return _0x4beda8();this['_promise_resolve']=_0x4beda8;const _0x2c1183=getGridPointsByPoly(_0x42a22f['positions'],_0x42a22f[_0x26ef2e(0x6f8,_0x149a79._0xcf5719)],_0x42a22f['minHeight']),_0x4b9cc6=[];if(Cesium__namespace['defined'](_0x42a22f[_0xb0d035(_0x149a79._0xd22818,0x6f0)])&&Cesium__namespace['defined'](_0x42a22f['maxHeight'])&&_0x42a22f[_0x26ef2e(0xe68,_0x149a79._0x33884c)]!==_0x42a22f['maxHeight'])for(let _0x586ec1=_0x42a22f['minHeight'];_0x586ec1<_0x42a22f[_0xb0d035(0xa1,-0x463)];_0x586ec1+=_0x42a22f['step']){_0x2c1183[_0x26ef2e(_0x149a79._0x6d8035,_0x149a79._0x178f7f)](_0x25d59c=>{const _0x52ae71=Cesium__namespace['Cartesian3'][_0x2e0eb7(_0x26bd13._0xf1b3b,_0x26bd13._0x48e221)](_0x25d59c['lng'],_0x25d59c['lat'],_0x586ec1);_0x52ae71['lng']=_0x25d59c['lng'];function _0x2e0eb7(_0x41cfcc,_0x6f4855){return _0xb0d035(_0x41cfcc- -0x2a6,_0x6f4855);}_0x52ae71[_0x1a23c3(0x1202,0x9aa)]=_0x25d59c['lat'];function _0x1a23c3(_0x2045ba,_0x548321){return _0x26ef2e(_0x2045ba- -0x5,_0x548321);}_0x52ae71['alt']=_0x586ec1,_0x52ae71['total']=0x0,_0x4b9cc6['push'](_0x52ae71);});}else _0x2c1183[_0xb0d035(0x489,_0x149a79._0x1a59a3)](_0x286b70=>{const _0x291a8a={_0x76034e:0x31e},_0x2471c9=Cesium__namespace['Cartesian3']['fromDegrees'](_0x286b70['lng'],_0x286b70['lat'],_0x286b70[_0x3d8b0d(-_0x54f1aa._0x21ca18,_0x54f1aa._0x2d7e45)]);_0x2471c9['lng']=_0x286b70['lng'],_0x2471c9['lat']=_0x286b70['lat'];function _0x3cd693(_0x546bc4,_0x5e1a44){return _0x26ef2e(_0x5e1a44- -0x31b,_0x546bc4);}_0x2471c9['alt']=_0x286b70[_0x3cd693(0x5a1,0x87)],_0x2471c9[_0x3cd693(0x190a,_0x54f1aa._0x64468f)]=0x0;function _0x3d8b0d(_0x27fd66,_0x33f6cb){return _0x26ef2e(_0x33f6cb- -_0x291a8a._0x76034e,_0x27fd66);}_0x4b9cc6['push'](_0x2471c9);});this['_rate_positions']=_0x4b9cc6;function _0xb0d035(_0x2014b7,_0x531204){return _0x536c(_0x2014b7- -_0x575b37._0x519c21,_0x531204);}function _0x26ef2e(_0x2de585,_0x33ffc8){return _0x536c(_0x2de585-0x74,_0x33ffc8);}setTimeout(()=>{this['_startRate'](_0x42a22f);},0x50);});}['_startRate'](_0x2dd331){const _0x2784e6={_0x284048:0x12f,_0x5aff50:0x1636,_0x5eff26:0x1888,_0x5a34b5:0x1613,_0x1c80b9:0xf2f,_0x239919:0x15d1,_0x4ea3d6:0xe18,_0x299cd3:0xeee,_0x440b50:0x530,_0x4f0099:0xd1d,_0x2c85d4:0xafe,_0xd4ee0a:0xd5f,_0x15ed2d:0x482,_0x5641a5:0x1568},_0x1026a2={_0x5654cb:0x1703,_0x33ccf9:0x917,_0x41ef33:0x8c4,_0x569e33:0x1b3e,_0x465fa1:0xcf5,_0x52da05:0x874,_0x2f861e:0x36d},_0x59c574={_0x5bd8be:0x109},_0x298d32={_0x228cb4:0x1083,_0x3158e5:0x763},_0x44406c={_0x2ec76d:0x557};this['_drawCommand']=new ShadowRateDrawCommand(this['_map']['scene'],this[_0x47aada(0xc6e,0x9e2)]),this['_map']['scene'][_0x47aada(0x2c1,-0xd4)][_0x229593(0x17,0x7b5)](this['_drawCommand']),this[_0x47aada(-_0x2784e6._0x284048,0x6d4)]['event'][_0x229593(_0x2784e6._0x5aff50,_0x2784e6._0x5eff26)](_0x74135d=>{const _0x36c7d0={_0x49d520:0x3cd},_0x2caeab=_0x74135d['length'];let _0x178c82=0x0;for(let _0x4edf5d=0x0;_0x4edf5d<_0x2caeab;_0x4edf5d+=0x4){this['_rate_positions'][_0x178c82][_0x5bc2c9(_0x298d32._0x228cb4,0x1079)]+=_0x74135d[_0x4edf5d],_0x178c82+=0x1;}function _0x13de9d(_0x160ffa,_0x471e9b){return _0x229593(_0x471e9b,_0x160ffa- -_0x36c7d0._0x49d520);}function _0x5bc2c9(_0x316529,_0x564971){return _0x229593(_0x316529,_0x564971- -_0x44406c._0x2ec76d);}this[_0x13de9d(0xc10,0x472)](EventType[_0x5bc2c9(_0x298d32._0x3158e5,0x1bf)]);});function _0x47aada(_0x3c0e6e,_0x3b2e56){return _0x54a7f1(_0x3b2e56- -0x4a9,_0x3c0e6e);}this['_enabledHook'](this[_0x229593(_0x2784e6._0x5a34b5,0xcc8)]);const _0x233c67=Cesium__namespace['JulianDate']['fromDate'](_0x2dd331['startDate']),_0x38b954=Cesium__namespace[_0x229593(0x59b,_0x2784e6._0x1c80b9)]['fromDate'](_0x2dd331[_0x47aada(_0x2784e6._0x239919,_0x2784e6._0x4ea3d6)]);this['_map'][_0x47aada(_0x2784e6._0x299cd3,_0x2784e6._0x440b50)]['startTime']=_0x233c67,this[_0x47aada(0x8cc,0x32a)][_0x47aada(_0x2784e6._0x4f0099,0x530)]['currentTime']=_0x233c67['clone']();function _0x229593(_0x5f3ccd,_0x380aa1){return _0x7afdbe(_0x5f3ccd,_0x380aa1- -_0x59c574._0x5bd8be);}this['_map']['clock']['stopTime']=_0x38b954,this[_0x47aada(0xa57,0x32a)][_0x229593(0xa99,_0x2784e6._0x2c85d4)]['shouldAnimate']=![],this[_0x47aada(_0x2784e6._0xd4ee0a,0xf28)]=0x0,this['fire'](EventType[_0x47aada(0x310,_0x2784e6._0x15ed2d)]);const _0x3e8e40=Cesium__namespace[_0x229593(_0x2784e6._0x5641a5,0xf2f)]['secondsDifference'](_0x38b954,_0x233c67)/0x64;this['_timeTik']=setInterval(()=>{this['_map']['clock'][_0x348528(_0x1026a2._0x5654cb,0x1eb8)]=Cesium__namespace['JulianDate'][_0x54a02e(0x2fe,-0x5d)](this['_map']['clock'][_0x54a02e(0x133e,_0x1026a2._0x33ccf9)],_0x3e8e40,this[_0x348528(0xa83,0x56a)][_0x54a02e(_0x1026a2._0x41ef33,0x35a)][_0x54a02e(0x133e,0x14c8)]),this[_0x348528(0x1681,_0x1026a2._0x569e33)]++,this['_drawCommand'][_0x348528(0xbdb,0x165d)]();function _0x54a02e(_0x3e7948,_0x1537cd){return _0x229593(_0x1537cd,_0x3e7948- -0x23a);}function _0x348528(_0x1e68a4,_0x573b28){return _0x229593(_0x573b28,_0x1e68a4-0x18b);}Cesium__namespace[_0x54a02e(_0x1026a2._0x465fa1,0xef3)][_0x348528(_0x1026a2._0x52da05,-0xf0)](this['_map']['clock']['currentTime'],this['_map'][_0x348528(0xc89,0x553)]['stopTime'])>=0x0&&this[_0x54a02e(_0x1026a2._0x2f861e,0xca9)]();},_0x2dd331['time']??0x1e);}[_0x54a7f1(0x482,0xe4)](){const _0x561c13={_0x2a8b90:0x698,_0x245bfb:0x1594,_0x28375a:0xb0b,_0x5a06e5:0x5bb,_0x1208b3:0x6e0};this[_0x860f70(0x4e5,_0x561c13._0x2a8b90)]();function _0x860f70(_0x575374,_0x44df0f){return _0x54a7f1(_0x575374-0xe9,_0x44df0f);}for(let _0x5bf2e9=0x0,_0x4d84e5=this[_0x860f70(0xf74,_0x561c13._0x245bfb)][_0x1585a5(_0x561c13._0x28375a,0xb9d)];_0x5bf2e9<_0x4d84e5;_0x5bf2e9++){this[_0x1585a5(0xa11,0xbdc)][_0x5bf2e9]['rate']=0x1-this['_rate_positions'][_0x5bf2e9]['total']/this[_0x860f70(0x14ba,0x10d3)];}const _0x5d42a5={};_0x5d42a5['total']=this['_rate_total'];function _0x1585a5(_0x775617,_0x42ed0e){return _0x7afdbe(_0x42ed0e,_0x775617- -0x6a8);}_0x5d42a5['positions']=this[_0x1585a5(0xa11,_0x561c13._0x5a06e5)];const _0xd3f674=_0x5d42a5;this['_promise_resolve']&&(this[_0x860f70(0xcf5,0xcb6)](_0xd3f674),delete this['_promise_resolve']),this[_0x1585a5(0xa3e,_0x561c13._0x1208b3)](EventType['stop'],_0xd3f674);}[_0x54a7f1(0x3fc,0xa40)](){const _0x5bb6cf={_0x3ca0e9:0x681};function _0xe56f6d(_0x4d1f5c,_0x2f5aeb){return _0x7afdbe(_0x4d1f5c,_0x2f5aeb- -0x325);}if(!this['_isStartRate'])return;function _0x5442e5(_0x46da5f,_0x3aac51){return _0x54a7f1(_0x3aac51- -0x17f,_0x46da5f);}this['_timeTik']&&(clearInterval(this['_timeTik']),delete this['_timeTik']),this['_drawCommand']&&(this['_map']['scene']['primitives']['remove'](this['_drawCommand']),this[_0x5442e5(0x134f,0x9fe)]['destroy'](),delete this['_drawCommand']),this[_0x5442e5(0x791,_0x5bb6cf._0x3ca0e9)]=![],this['fire'](EventType['end']);}}register('shadows',Shadows);class Measure extends BaseThing{get['graphicLayer'](){return this['_graphicLayer'];}get[_0x54a7f1(0x11da,0x854)](){const _0x303921={_0x95a43e:0x247};function _0x340ab4(_0x45e3d7,_0x26fda8){return _0x54a7f1(_0x45e3d7- -_0x303921._0x95a43e,_0x26fda8);}var _0x1eb1d0;return(_0x1eb1d0=this['_graphicLayer'])===null||_0x1eb1d0===void 0x0?void 0x0:_0x1eb1d0[_0x340ab4(0xf93,0x14e4)];}get[_0x7afdbe(0x1a64,0x123b)](){function _0x37bacf(_0x37a604,_0x5e0c18){return _0x7afdbe(_0x5e0c18,_0x37a604- -0x343);}var _0x55dfa7;return(_0x55dfa7=this['_graphicLayer'])===null||_0x55dfa7===void 0x0?void 0x0:_0x55dfa7[_0x37bacf(0xef8,0xc7c)];}get['isEditing'](){const _0x2eea9a={_0x5b719a:0x104a};function _0x234546(_0x5ea830,_0x374610){return _0x7afdbe(_0x374610,_0x5ea830- -0x63b);}var _0x491ae7;return(_0x491ae7=this['_graphicLayer'])===null||_0x491ae7===void 0x0?void 0x0:_0x491ae7[_0x234546(0xbac,_0x2eea9a._0x5b719a)];}get['hasMeasure'](){return this['_graphicLayer']['length']>0x0;}['_enabledHook'](_0x4243ca){}['_setOptionsHook'](_0x3bbde9,_0x3220c6){const _0x26259f={_0x49ebdc:0x16c4,_0x2f16b9:0xcd5},_0x574183={_0x14a491:0x420};function _0x2ef06b(_0x48dd8c,_0x2852b2){return _0x7afdbe(_0x48dd8c,_0x2852b2- -_0x574183._0x14a491);}function _0x3d8a27(_0x3baec2,_0x2986bc){return _0x7afdbe(_0x3baec2,_0x2986bc- -0x4de);}this[_0x3d8a27(_0x26259f._0x49ebdc,0x1185)]&&this[_0x3d8a27(_0x26259f._0x2f16b9,0x1185)]['setOptions'](_0x3220c6);}[_0x54a7f1(0x28b,0xbe7)](){const _0xad4007={_0x316cda:0x1472,_0x39db94:0x15b8,_0x590adf:0x1642},_0x5540f3={_0x1fe991:0x24a},_0xc58983={_0x1ad730:0x1f1};function _0x10e719(_0x8cf47d,_0x2bdb77){return _0x7afdbe(_0x8cf47d,_0x2bdb77- -0xab);}function _0x5cdbcb(_0x2a52bd,_0x3ccd85){return _0x7afdbe(_0x2a52bd,_0x3ccd85- -_0xc58983._0x1ad730);}this[_0x5cdbcb(0x161d,_0xad4007._0x316cda)]=new GraphicLayer({'hasEdit':!![],'eventParent':this,'isContinued':this['options']['isContinued'],'isAutoEditing':!this['options']['isContinued'],...this['options'],'private':!![]}),this[_0x5cdbcb(0xe27,_0xad4007._0x316cda)]['hasEdit']&&this[_0x10e719(0x1448,_0xad4007._0x39db94)]['bindContextMenu']([{'text':()=>{function _0x56b2d0(_0x2d8ec9,_0x266ead){return _0x5cdbcb(_0x266ead,_0x2d8ec9- -0x3d8);}return this['_map']['getLangText'](_0x56b2d0(0x3ba,-0x115));},'icon':Icon[_0x5cdbcb(0x1bab,_0xad4007._0x590adf)],'show':_0x2804fc=>{const _0x4155ec=_0x2804fc['graphic'];return _0x4155ec!==null&&_0x4155ec!==void 0x0&&_0x4155ec['inProgress']&&!_0x4155ec['editing']||_0x4155ec['options']['hasEdit']===![]||_0x4155ec['options']['hasEditContextMenu']===![]?![]:!![];},'callback':_0x2a6a21=>{const _0x1e8587=_0x2a6a21[_0x1f84e9(_0x5540f3._0x1fe991,-0x37d)];if(!_0x1e8587)return;const _0x103a86=_0x1e8587['parent'];this['_graphicLayer']['removeGraphic'](_0x1e8587);function _0x1f84e9(_0x449827,_0x10ea05){return _0x5cdbcb(_0x10ea05,_0x449827- -0x3bb);}_0x103a86&&this['_graphicLayer']['removeGraphic'](_0x103a86);}}]);}['_addedHook'](){const _0x385a34={_0xc46a43:0x10e8};function _0x4caaa2(_0x2fffc0,_0xc75a7d){return _0x7afdbe(_0x2fffc0,_0xc75a7d- -0x14f);}this[_0x4caaa2(_0x385a34._0xc46a43,0x8b2)]['addLayer'](this['_graphicLayer']);}['_removedHook'](){function _0x5d0821(_0x36da2f,_0x2d2a71){return _0x7afdbe(_0x2d2a71,_0x36da2f- -0xfc);}this[_0x5d0821(0x905,0xb2d)]['removeLayer'](this['_graphicLayer']);}['distance'](_0x402297={}){const _0x5d9e41={_0x3b7f3d:0x1572};this['stopDraw'](),_0x402297['type']='distanceMeasure';function _0x1c18b0(_0x1339ab,_0x56316c){return _0x7afdbe(_0x56316c,_0x1339ab- -0xf1);}return this[_0x1c18b0(_0x5d9e41._0x3b7f3d,0xd3f)]['startDraw'](_0x402297);}['distanceSurface'](_0x19d396={}){const _0x972c06={_0x2d9b30:0xd82,_0x3f682f:0xb8b,_0x5941d1:0x147b};function _0x537552(_0x575a84,_0x307b75){return _0x54a7f1(_0x307b75-0x46,_0x575a84);}function _0x8bb577(_0x5a1c25,_0x143eec){return _0x54a7f1(_0x5a1c25- -0x3ab,_0x143eec);}return this['stopDraw'](),_0x19d396[_0x8bb577(0x48b,_0x972c06._0x2d9b30)]='distanceSurfaceMeasure',this[_0x537552(_0x972c06._0x3f682f,_0x972c06._0x5941d1)]['startDraw'](_0x19d396);}[_0x54a7f1(0x11e9,0xa8b)](_0x46acb1={}){const _0x3ef68b={_0x2aef85:0x815,_0x1c421f:0x14f3,_0x37d7e2:0x15cd},_0xebfa36={_0x47aef5:0x29f};function _0xb5d9c3(_0x1cf21b,_0x3278f0){return _0x54a7f1(_0x1cf21b-_0xebfa36._0x47aef5,_0x3278f0);}this['stopDraw']();function _0x475819(_0x31ee88,_0x6a9c1d){return _0x54a7f1(_0x6a9c1d- -0x70,_0x31ee88);}return _0x46acb1['type']=_0xb5d9c3(_0x3ef68b._0x2aef85,0x6fb),this[_0x475819(_0x3ef68b._0x1c421f,0x13c5)][_0xb5d9c3(_0x3ef68b._0x37d7e2,0xcf8)](_0x46acb1);}[_0x7afdbe(0x8c6,0x916)](_0xecb64={}){const _0x2e6299={_0x16f662:0x806,_0x50e33a:0x17b0};function _0x3f1ffd(_0x1f0aae,_0xf27a61){return _0x54a7f1(_0x1f0aae- -0x30d,_0xf27a61);}this['stopDraw']();function _0x40608a(_0x1c2655,_0x523ebe){return _0x54a7f1(_0x1c2655-0x265,_0x523ebe);}return _0xecb64[_0x40608a(0xa9b,_0x2e6299._0x16f662)]=_0x40608a(0x15b3,0x14f3),this['_graphicLayer'][_0x40608a(0x1593,_0x2e6299._0x50e33a)](_0xecb64);}[_0x7afdbe(0x1983,0x13a2)](_0x46a172={}){const _0x35f183={_0x2dbb4f:0x3c6,_0x76076e:0x576,_0x5e098b:0x1cf},_0x3bdf9f={_0x12f538:0x659};this[_0x5a1b65(0xd20,_0x35f183._0x2dbb4f)]();function _0x19d029(_0x16344e,_0x561560){return _0x7afdbe(_0x561560,_0x16344e- -0x4ee);}function _0x5a1b65(_0x51b396,_0x107ddd){return _0x7afdbe(_0x107ddd,_0x51b396- -_0x3bdf9f._0x12f538);}return _0x46a172[_0x19d029(_0x35f183._0x76076e,_0x35f183._0x5e098b)]='areaSurfaceMeasure',this['_graphicLayer']['startDraw'](_0x46a172);}['volume'](_0x10000c={}){const _0x4cd417={_0x2c381e:0x1a00,_0x3acd38:0x79f,_0x40074e:0x6a7},_0xdf5021={_0x205015:0x247};this[_0x5d6586(0x10dc,_0x4cd417._0x2c381e)](),_0x10000c[_0x5d6586(0x7c7,_0x4cd417._0x3acd38)]=_0x10000c['depth']?_0x5d6586(_0x4cd417._0x40074e,0xf2d):'volumeMeasure';function _0x5d6586(_0xc2aa31,_0x92a152){return _0x54a7f1(_0xc2aa31- -0x6f,_0x92a152);}function _0x2c649f(_0x5a9440,_0x219642){return _0x54a7f1(_0x5a9440-_0xdf5021._0x205015,_0x219642);}return this['_graphicLayer'][_0x2c649f(0x1575,0xd33)](_0x10000c);}[_0x7afdbe(0xbed,0x895)](_0x1ebaa4={}){function _0x3a8a7b(_0x33364a,_0x297c9c){return _0x54a7f1(_0x33364a-0x17f,_0x297c9c);}return this['stopDraw'](),_0x1ebaa4[_0x3a8a7b(0x9b5,0x309)]='heightMeasure',this['_graphicLayer']['startDraw'](_0x1ebaa4);}[_0x54a7f1(0xca7,0x372)](_0xe93163={}){const _0x2b73c1={_0x158e41:0xc0e},_0x413b1f={_0x5427a3:0x1c3};this['stopDraw'](),_0xe93163['type']='heightTriangleMeasure';function _0x11cf82(_0x3531d5,_0x525229){return _0x54a7f1(_0x525229- -_0x413b1f._0x5427a3,_0x3531d5);}return this['_graphicLayer'][_0x11cf82(_0x2b73c1._0x158e41,0x116b)](_0xe93163);}[_0x54a7f1(0x14a2,0x110c)](_0x42a626={}){const _0x343456={_0x485a59:0xa3e},_0x30b9a1={_0x59ef3c:0x59};this['stopDraw']();function _0x33989f(_0x599865,_0x38d945){return _0x7afdbe(_0x38d945,_0x599865- -_0x30b9a1._0x59ef3c);}return _0x42a626['type']=_0x33989f(_0x343456._0x485a59,0x5fa),this['_graphicLayer']['startDraw'](_0x42a626);}['point'](_0x28d1ae={}){const _0x37ab6f={_0x50a57d:0x14e6},_0x8297ce={_0x56c70d:0x47};function _0x59751b(_0x59b684,_0x5aa49f){return _0x7afdbe(_0x5aa49f,_0x59b684- -_0x8297ce._0x56c70d);}this['stopDraw']();function _0x387c40(_0x53c7c7,_0x582d67){return _0x7afdbe(_0x53c7c7,_0x582d67- -0x76);}return _0x28d1ae['type']=_0x59751b(0xb4d,0x11fd),this['_graphicLayer'][_0x387c40(0xc10,_0x37ab6f._0x50a57d)](_0x28d1ae);}[_0x54a7f1(0x114b,0xb61)](){const _0x3be5b5={_0x4156dd:0x421},_0x5644c6={_0x1c1e04:0x249};function _0x574509(_0x145095,_0x1e640a){return _0x54a7f1(_0x145095-_0x5644c6._0x1c1e04,_0x1e640a);}function _0x2f46af(_0x225060,_0x29e87f){return _0x54a7f1(_0x225060- -_0x3be5b5._0x4156dd,_0x29e87f);}return this[_0x2f46af(0x1014,0x1839)][_0x574509(0x1394,0x12f7)]();}[_0x54a7f1(0x492,0x1f1)](){const _0x30de43={_0x5c95fd:0x201},_0x46a2b4={_0x102217:0x4bf};function _0x2b6376(_0x4b8b5f,_0x554b29){return _0x7afdbe(_0x4b8b5f,_0x554b29- -_0x46a2b4._0x102217);}return this['_graphicLayer'][_0x2b6376(-0x10c,_0x30de43._0x5c95fd)]();}['endDraw'](){return this['_graphicLayer']['endDraw']();}['clear'](){return this['_graphicLayer']['clear']();}['updateUnit'](_0x415dcf){const _0x4edf16={_0xad6136:0x468};function _0x4ec180(_0x21b8cb,_0x3175a6){return _0x7afdbe(_0x3175a6,_0x21b8cb- -0x3fe);}this['_graphicLayer'][_0x4ec180(0x7ab,0x1e0)](_0x34bbe1=>{function _0x4c34da(_0x3e5042,_0x10af8e){return _0x4ec180(_0x3e5042-_0x4edf16._0xad6136,_0x10af8e);}_0x34bbe1['options']['unit']=_0x415dcf,_0x34bbe1['showText']&&_0x34bbe1[_0x4c34da(0x18fe,0x1161)](_0x415dcf);});}[_0x54a7f1(0x432,0xac8)](_0x52e8c3){const _0x9ed972={_0x53c4cb:0x8a};function _0x4c9a47(_0x5d3d6f,_0x28fb4a){return _0x7afdbe(_0x5d3d6f,_0x28fb4a- -0x56c);}this['_graphicLayer'][_0x4c9a47(_0x9ed972._0x53c4cb,0xf4)](_0x52e8c3),super['destroy'](_0x52e8c3);}}register('measure',Measure,![]);class FloodByGraphic extends BaseThing{get['positions'](){function _0x261897(_0x4d5e07,_0x5ce03b){return _0x7afdbe(_0x4d5e07,_0x5ce03b- -0x3fd);}return this['options'][_0x261897(0x6ad,0xf20)];}set['positions'](_0x3aaa0e){const _0x3060c5={_0x2b3f9a:0x7e9,_0x2c1b07:0x13a9,_0xfb65df:0x1c35,_0x1ae762:0x15ba,_0xeb0fab:0x45e,_0x2c0583:0x348,_0x3bd302:0xd87},_0x5b4f3c={_0x45b31f:0x1038,_0x404a69:0xf7},_0x4a10cf={_0x391630:0x243},_0x560cb1={_0x1c42f5:0x2f5};this[_0x536ec5(0x5e0,0x795)]['positions']=_0x3aaa0e;function _0x3ce445(_0xf3f413,_0x1303e7){return _0x7afdbe(_0xf3f413,_0x1303e7- -_0x560cb1._0x1c42f5);}function _0x536ec5(_0x214ff7,_0x5656a6){return _0x7afdbe(_0x214ff7,_0x5656a6- -0x349);}if(_0x3aaa0e){const _0x17996b=[],_0x1bba8d=[];_0x3aaa0e['forEach'](_0x1aadac=>{const _0xa3e060=LngLatPoint[_0x3c74b8(-0xf6,-0x748)](_0x1aadac);if(!_0xa3e060||!_0xa3e060[_0x3c74b8(_0x5b4f3c._0x45b31f,0x786)]())return;_0xa3e060['_alt_bak']=_0xa3e060[_0xc6afe5(0xa01,_0x5b4f3c._0x404a69)];function _0x3c74b8(_0x1f89b3,_0x6968a7){return _0x536ec5(_0x6968a7,_0x1f89b3- -0x396);}_0x1bba8d[_0x3c74b8(0xa57,0x1376)](_0xa3e060);function _0xc6afe5(_0x149341,_0x6003b){return _0x536ec5(_0x149341,_0x6003b- -_0x4a10cf._0x391630);}_0x17996b['push'](_0xa3e060[_0x3c74b8(0x653,0x63)](!![]));}),this['_poinst']=_0x1bba8d,this['_hierarchyPositions']=_0x17996b;if(this[_0x3ce445(-0x59,0x70c)]){const _0x2d9fb2=this[_0x3ce445(0x73,_0x3060c5._0x2b3f9a)][_0x536ec5(0xbf5,_0x3060c5._0x2c1b07)]??Cesium__namespace[_0x3ce445(_0x3060c5._0xfb65df,_0x3060c5._0x1ae762)](this['_map'][_0x536ec5(0x7b5,0x964)](_0x17996b));!_0x2d9fb2&&(!Cesium__namespace['defined'](this[_0x3ce445(0xc35,_0x3060c5._0xeb0fab)])&&(this[_0x3ce445(0xac6,0x45e)]=this[_0x536ec5(0x600,0x6b8)][_0x536ec5(0x93f,0xf64)][_0x3ce445(0x84e,0x1b8)]['depthTestAgainstTerrain']),this['_map']['scene']['globe'][_0x536ec5(0x96b,_0x3060c5._0x2c0583)]=!![]);}}else this[_0x3ce445(0xbf8,_0x3060c5._0x3bd302)]=null;}get['height'](){const _0x3a1ace={_0x5f5ff6:0x2b2};function _0xb25115(_0x4c4869,_0x5a75b3){return _0x54a7f1(_0x4c4869- -0x240,_0x5a75b3);}function _0x5589e8(_0x5327b7,_0x19fa5b){return _0x7afdbe(_0x5327b7,_0x19fa5b- -0x56f);}return this[_0xb25115(0xc7e,_0x3a1ace._0x5f5ff6)]??this[_0x5589e8(0x89f,0x56f)]['minHeight'];}set[_0x7afdbe(0x1b3,0x895)](_0x330f17){const _0x4778c8={_0x26272e:0x639,_0x291a73:0x479,_0x2a0afc:0x70c,_0x1f676a:0x129e,_0x5352e6:0x10f6},_0x971097={_0x17ddd5:0x238},_0xda19e2={_0x174a09:0x764,_0x542392:0x141,_0x30871b:0x13e5},_0x24a652={_0x4ba554:0x122},_0x45b08e={_0x420593:0xd6};this['_extrudedHeight']=_0x330f17;if(this['options'][_0x2e0229(0x9d1,0xfb8)]){!this['_poinst']&&this['options'][_0x2e0229(_0x4778c8._0x26272e,0xf4b)]&&(this['positions']=this[_0x2e0229(_0x4778c8._0x291a73,_0x4778c8._0x2a0afc)][_0x22f69e(_0x4778c8._0x1f676a,0x1327)]);if(this['_poinst']){const _0x3f5b4a=[];this['_poinst']['forEach'](_0x1330a6=>{const _0x3eb746=LngLatPoint[_0x14879e(-_0xda19e2._0x174a09,_0xda19e2._0x542392)](_0x1330a6);function _0x14879e(_0x2884a5,_0x53e5d2){return _0x2e0229(_0x2884a5,_0x53e5d2- -_0x45b08e._0x420593);}if(!_0x3eb746||!_0x3eb746[_0x14879e(0xf0c,0x126f)]())return;_0x3eb746['alt']=_0x3eb746[_0x14879e(0x1773,_0xda19e2._0x30871b)]+_0x330f17;function _0x511e2a(_0x49158f,_0x10f4c2){return _0x2e0229(_0x49158f,_0x10f4c2-_0x24a652._0x4ba554);}_0x3f5b4a['push'](_0x3eb746['toCartesian'](!![]));}),this['_hierarchyPositions']=_0x3f5b4a;}}function _0x2e0229(_0x4bec61,_0x461c50){return _0x54a7f1(_0x461c50- -0x1a4,_0x4bec61);}function _0x22f69e(_0x2e65f2,_0xeaebf2){return _0x54a7f1(_0xeaebf2-_0x971097._0x17ddd5,_0x2e65f2);}this[_0x2e0229(0x14e0,0xd14)](EventType['change'],{'height':this[_0x22f69e(0x1916,_0x4778c8._0x5352e6)]});}get[_0x54a7f1(0x10a0,0x1028)](){const _0x4a0675={_0x4dfb75:0x21c},_0x428981={_0x49a8e7:0x3a};function _0x563d18(_0x73350c,_0x3b6f27){return _0x7afdbe(_0x3b6f27,_0x73350c- -_0x428981._0x49a8e7);}function _0x3ae439(_0x314019,_0x18d916){return _0x7afdbe(_0x314019,_0x18d916- -0x5c1);}return this[_0x3ae439(-_0x4a0675._0x4dfb75,0x51d)][_0x3ae439(0xa33,0xd0d)];}set['speed'](_0x498d62){function _0x25db4d(_0x3358bf,_0xc2732e){return _0x54a7f1(_0x3358bf-0x2a9,_0xc2732e);}this['options'][_0x25db4d(0x1349,0x121f)]=_0x498d62;}['_mountedHook'](){const _0xb5404d={_0x1b0029:0x80e,_0x46eefb:0x52a,_0x26657f:0xa55,_0x2327a3:0xe0b,_0x49bedb:0x494,_0x54dc5f:0x4e5,_0x298c82:0xfc3},_0x34d39a={_0x37fefb:0xee3};function _0x33e9d1(_0x456639,_0x5997f9){return _0x7afdbe(_0x456639,_0x5997f9- -0x1e0);}const _0x4781de={};_0x4781de['name']=_0x33e9d1(_0xb5404d._0x1b0029,_0xb5404d._0x46eefb),_0x4781de[_0x239b43(0x9b4,0xe3f)]=!![],this[_0x239b43(_0xb5404d._0x26657f,0x1265)]=new GraphicLayer(_0x4781de),this[_0x33e9d1(0x107f,0xf0c)]=0x0;const _0x236cd1=new Cesium__namespace['PolygonHierarchy']();function _0x239b43(_0x48234e,_0x483a8f){return _0x54a7f1(_0x483a8f-0x49,_0x48234e);}const _0x232211={'color':_0x239b43(0x95c,_0xb5404d._0x2327a3),'opacity':0.5,'outline':![],...this['options'][_0x239b43(_0xb5404d._0x49bedb,_0xb5404d._0x54dc5f)]};_0x232211['perPositionHeight']=!![];const _0x16efa3=_0x232211;!this['options']['perPositionHeight']&&(_0x16efa3['height']=this['_extrudedHeight'],_0x16efa3['extrudedHeight']=new Cesium__namespace['CallbackProperty'](_0x496680=>{const _0x360a40={_0x463e6c:0x265};function _0x3754c4(_0x4869cf,_0x284049){return _0x239b43(_0x284049,_0x4869cf-_0x360a40._0x463e6c);}return this[_0x3754c4(0x116c,0x178a)];},![]));const _0x553373=new PolygonEntity({'positions':new Cesium__namespace[(_0x33e9d1(_0xb5404d._0x298c82,0xd98))](_0x359289=>{if(!this[_0x27b68e(0xd39,_0x34d39a._0x37fefb)])return null;function _0xeb2826(_0x55fe76,_0x615576){return _0x239b43(_0x615576,_0x55fe76-0x261);}function _0x27b68e(_0x9534e,_0x5b2a3a){return _0x239b43(_0x9534e,_0x5b2a3a-0x4c);}return _0x236cd1[_0x27b68e(0x16d3,0x1184)]=this[_0x27b68e(0x60b,0xee3)],_0x236cd1;},![]),'style':_0x16efa3,'allowDrillPick':!![]});this['graphic']=_0x553373,Cesium__namespace['defined'](this['options'][_0x33e9d1(0x1510,0xf69)])&&Cesium__namespace['defined'](this['options']['maxHeight'])&&Cesium__namespace[_0x239b43(0x18c1,0x16ca)](this['options']['positions'])&&this['setOptions']();}[_0x7afdbe(0x1ddd,0x134f)](){const _0x128d2b={_0x2f6612:0x138d,_0x10e031:0x1b42,_0x4d97b6:0xee3},_0x540a14={_0x1a278e:0x567};function _0xb8fa31(_0x37059e,_0x4e7b81){return _0x7afdbe(_0x4e7b81,_0x37059e- -_0x540a14._0x1a278e);}this['_map'][_0xb8fa31(_0x128d2b._0x2f6612,_0x128d2b._0x10e031)](this['graphicLayer']);function _0x25f246(_0x450207,_0x5d9f2f){return _0x54a7f1(_0x5d9f2f-0x11,_0x450207);}this[_0xb8fa31(_0x128d2b._0x4d97b6,0xeb7)]['addGraphic'](this['graphic']);}['_removedHook'](){this['_map']['removeLayer'](this['graphicLayer']),this['clear']();}['setOptions'](_0x59e035){const _0x35c70a={_0x2dcb98:0x3da,_0x3dd179:0xb5c,_0x3eee2f:0x29d,_0x3153dd:0x11ab,_0x41354d:0x66e,_0x5e67c9:0x9e8,_0x2a8c62:0x569,_0x23cc77:0x126d,_0x4f47f4:0xc19};_0x59e035&&(this[_0x3e9271(_0x35c70a._0x2dcb98,_0x35c70a._0x3dd179)]={...this[_0x3e9271(0x3da,_0x35c70a._0x3eee2f)],..._0x59e035});this['stop']();let _0x227866=this['options'][_0x3e9271(0xa45,0xbfc)],_0x36d40c=this['options']['maxHeight'];function _0x35b157(_0x1f2315,_0x487d9e){return _0x7afdbe(_0x487d9e,_0x1f2315-0x91);}if(!Cesium__namespace['defined'](_0x227866)){logError('minHeight\x20请传入有效数值!',_0x227866);return;}if(!Cesium__namespace[_0x3e9271(_0x35c70a._0x3153dd,0x15f3)](_0x36d40c)){logError(_0x35b157(_0x35c70a._0x41354d,-0x350),_0x36d40c);return;}if(_0x227866>_0x36d40c){const _0x3949e5=_0x227866;_0x227866=_0x36d40c,_0x36d40c=_0x3949e5;}this[_0x3e9271(_0x35c70a._0x5e67c9,_0x35c70a._0x2a8c62)]=_0x227866;function _0x3e9271(_0x43b84f,_0x51ed8f){return _0x54a7f1(_0x43b84f- -0x4d6,_0x51ed8f);}return this[_0x35b157(_0x35c70a._0x23cc77,0x1133)]=_0x36d40c,this['positions']=this[_0x3e9271(0x3da,0x3a3)][_0x3e9271(_0x35c70a._0x4f47f4,0x14c2)],this;}['start'](){const _0x7b2db={_0x3adb9b:0x9ae,_0x200540:0x88d,_0x55e690:0xde2,_0x4985a8:0x2f5},_0x2a6155={_0x57b427:0x14ad,_0x11d304:0xcda};if(!this[_0x3df553(0x1082,0xaaf)]){logError('请传入淹没区域才能开始分析');return;}this[_0x3df553(_0x7b2db._0x3adb9b,0x10f7)](),this['isStart']=!![];function _0x3df553(_0x9214dd,_0x63479){return _0x7afdbe(_0x63479,_0x9214dd-0x6);}function _0xa7d7f(_0x1b9823,_0x5af84d){return _0x54a7f1(_0x1b9823- -0x9e,_0x5af84d);}this[_0x3df553(0x10ec,0x9e3)](EventType[_0xa7d7f(_0x7b2db._0x200540,_0x7b2db._0x55e690)]),this[_0x3df553(0xc88,_0x7b2db._0x4985a8)]=setInterval(()=>{function _0x2029ae(_0x45085b,_0x3deadd){return _0xa7d7f(_0x45085b- -0x328,_0x3deadd);}if(this[_0x2029ae(0xaf8,0x349)]>=this[_0x2029ae(0xbe8,_0x2a6155._0x57b427)]){this['stop']();return;}function _0x3ac726(_0x5b3366,_0x5dffc5){return _0xa7d7f(_0x5dffc5-0x154,_0x5b3366);}const _0x22d0c1=this[_0x3ac726(0x149b,0xf74)]+this[_0x2029ae(_0x2a6155._0x11d304,0x1687)];_0x22d0c1>this['_maxHeight']?this['height']=this['_maxHeight']:this['height']=_0x22d0c1;},0x64);}['stop'](){const _0xf6467c={_0x59ad1f:0x839,_0x4f8100:0xe1a,_0x4454d3:0x3d0,_0xb0cd93:0x95f};function _0x934094(_0x5e1d1c,_0x260420){return _0x54a7f1(_0x260420-0x26c,_0x5e1d1c);}if(!this[_0x3badb6(_0xf6467c._0x59ad1f,0x85f)])return;this['_timeTik']&&(clearInterval(this[_0x934094(_0xf6467c._0x4f8100,0xcc0)]),delete this[_0x934094(_0xf6467c._0x4454d3,0xcc0)]);function _0x3badb6(_0x395e53,_0x2b29a8){return _0x7afdbe(_0x2b29a8,_0x395e53- -0x163);}this['isStart']=![],this['fire'](EventType[_0x934094(0x832,_0xf6467c._0xb0cd93)]);}[_0x54a7f1(0x11e4,0x8b9)](){const _0x5d64c1={_0x2ba28c:0x1eb};this[_0x164d1d(0x69f,0x109b)]();function _0x164d1d(_0xd09017,_0x2e5e97){return _0x54a7f1(_0x2e5e97- -_0x5d64c1._0x2ba28c,_0xd09017);}this['start']();}[_0x7afdbe(0x16e3,0x1551)](){const _0x2ed3d3={_0x37ede8:0x81c,_0xda3988:0x9d2,_0x45d439:0xc7c,_0xedefbd:0x2c8,_0x486595:0x456,_0x9f431b:0x7c3},_0x1b269c={_0x4b3b42:0x494},_0x43c858={_0x145e4f:0x49};this['positions']=null;function _0xc30c17(_0x563367,_0x55bc1c){return _0x54a7f1(_0x55bc1c-_0x43c858._0x145e4f,_0x563367);}this['_last_depthTestAgainstTerrain']!=null&&(this[_0xc30c17(0x8cb,_0x2ed3d3._0x37ede8)][_0xc30c17(_0x2ed3d3._0xda3988,0x10c8)][_0xc30c17(_0x2ed3d3._0x45d439,_0x2ed3d3._0xedefbd)]['depthTestAgainstTerrain']=this[_0xc30c17(_0x2ed3d3._0x486595,0x56e)],delete this['_last_depthTestAgainstTerrain']);function _0x17c3c9(_0x5bab7c,_0x24d134){return _0x54a7f1(_0x24d134- -_0x1b269c._0x4b3b42,_0x5bab7c);}this[_0xc30c17(0x2cc,_0x2ed3d3._0x9f431b)]();}['destroy'](_0x1d7d6d){const _0x3f5034={_0x3e85cf:0x128e,_0x398589:0xf4},_0x141cd0={_0x41da8c:0x72};function _0x23eed0(_0x6fd49,_0x4f8fbb){return _0x54a7f1(_0x4f8fbb- -0x33e,_0x6fd49);}this['graphicLayer']&&this[_0x2c3676(_0x3f5034._0x3e85cf,0x189a)][_0x23eed0(-0x864,_0x3f5034._0x398589)](_0x1d7d6d);function _0x2c3676(_0x12ea2f,_0x2a1c24){return _0x54a7f1(_0x12ea2f-_0x141cd0._0x41da8c,_0x2a1c24);}super['destroy'](_0x1d7d6d);}}register('floodByGraphic',FloodByGraphic,![]);class Slope extends BaseThing{constructor(_0x37c5a6={}){const _0x203a11={_0xf6d53:0xd1c,_0x273766:0x14a1,_0x66ae65:0x11c6,_0x129f12:0x55e,_0x416275:0x10de,_0x1d62ef:0x1a30,_0x4e5865:0x110c,_0x17e527:0x77c,_0x476236:0x1173,_0xeabcda:0xf3a},_0x3d8de1={_0x2004e2:0x362};super(_0x37c5a6),this['options']['arrow']=this['options'][_0x5a707c(_0x203a11._0xf6d53,0x1771)]||{},this['options']['arrow'][_0x5a707c(0x12a1,_0x203a11._0x273766)]=this['options'][_0x5a707c(_0x203a11._0xf6d53,_0x203a11._0x66ae65)]['show']??!![],this[_0x5a707c(0x55e,0xcbf)]['arrow'][_0x5a707c(0xec0,0x519)]=this[_0x5a707c(_0x203a11._0x129f12,-0x385)]['arrow'][_0x4bb444(_0x203a11._0x416275,_0x203a11._0x1d62ef)]??Cesium__namespace[_0x5a707c(0xf32,0x90e)][_0x5a707c(_0x203a11._0x4e5865,0xe5e)];function _0x5a707c(_0x26ac9a,_0xab34dc){return _0x54a7f1(_0x26ac9a- -0x352,_0xab34dc);}function _0x4bb444(_0x23eb09,_0xdf3437){return _0x7afdbe(_0xdf3437,_0x23eb09- -_0x3d8de1._0x2004e2);}this[_0x4bb444(_0x203a11._0x17e527,_0x203a11._0x476236)]['arrow'][_0x5a707c(0x1205,0x1c77)]=this['options'][_0x4bb444(0xf3a,0x1472)][_0x5a707c(0x1205,0x1198)]??0xf,this['options']['arrow']['scale']=this['options'][_0x4bb444(_0x203a11._0xeabcda,0xcda)][_0x5a707c(0xfbd,_0x203a11._0x129f12)]??0.3;}[_0x54a7f1(0x28b,-0x5ae)](){const _0x3ac983={_0x4e84b7:0x1021,_0x4f669c:0x15d8};this['graphicLayer']=new GraphicLayer({'name':'坡度坡向','tooltip':function(_0x4ee50d){var _0x20cbba;const _0x3712ae=(_0x20cbba=_0x4ee50d['graphic'])===null||_0x20cbba===void 0x0?void 0x0:_0x20cbba['attr'];if(!_0x3712ae)return;function _0x53dea4(_0x5ba6a2,_0x8b19f9){return _0x536c(_0x5ba6a2- -0x26e,_0x8b19f9);}function _0x520b02(_0x5ebcb7,_0xb6cb63){return _0x536c(_0x5ebcb7-0xaf,_0xb6cb63);}return _0x53dea4(_0x3ac983._0x4e84b7,_0x3ac983._0x4f669c)+_0x3712ae[_0x53dea4(0x304,0x11e)]+'\x20\x20('+_0x3712ae[_0x53dea4(0x24c,-0x52d)]+')<br\x20/>坡向:\x20'+_0x3712ae['direction']+'°';},...this['options'],'private':!![]});}['_addedHook'](){const _0x3601b8={_0x2d98e2:0xf72};this['_map']['addLayer'](this[_0x499a97(0x1b8c,0x1372)]);function _0x4bb158(_0x227d0f,_0x1ff362){return _0x54a7f1(_0x227d0f- -0x114,_0x1ff362);}function _0x499a97(_0x53e290,_0x13c4c4){return _0x7afdbe(_0x53e290,_0x13c4c4- -0xd8);}this[_0x4bb158(0x79c,0xde5)][_0x499a97(_0x3601b8._0x2d98e2,0x1245)]&&this['options'][_0x499a97(0x1471,0x1245)]['length']>0x0&&this['add'](this['options'][_0x4bb158(0xfdb,0x17b5)],this['options']);}['_removedHook'](){const _0x1d6035={_0x720ac7:0x39};function _0x3d99e3(_0x5c0c95,_0x43a00b){return _0x7afdbe(_0x5c0c95,_0x43a00b- -_0x1d6035._0x720ac7);}this['_map']['removeLayer'](this[_0x3d99e3(0x1ac8,0x1411)]),this['clear']();}['add'](_0x2b935d,_0x4ee297={}){const _0x5ccb36={_0x4db1e7:0x572,_0x460152:0xcd8,_0x48b6fe:0x111a,_0x2cfb9a:0xdd2,_0x48e70d:0x332,_0x123f03:0x459},_0x5276bc={_0x224591:0x9c,_0x345d39:0xb57,_0x4d9903:0x513,_0x32d077:0xa6e,_0x58abf4:0xea1,_0x210f14:0x69b,_0x1711e8:0xb57,_0x49f663:0x991,_0x5f5258:0x1397,_0x3819ef:0x1256,_0x2b127f:0xf54,_0x36b7a5:0xf84,_0x410f8a:0x2c6,_0x3bc79a:0xb57,_0x469244:0x475,_0x462eb7:0x302};if(!_0x2b935d||_0x2b935d['length']<0x1)return;_0x2b935d=LngLatArray[_0x4ed423(_0x5ccb36._0x4db1e7,-0x103)](_0x2b935d);const _0x26618a={};_0x26618a['positions']=_0x2b935d;function _0x4ed423(_0x1e079b,_0x156c7f){return _0x54a7f1(_0x1e079b- -0x2ad,_0x156c7f);}this[_0x491e33(0x18cc,0x176b)]=_0x26618a,this['_stateOkIndex']=0x0,this['_arrowInstances']=[],this['_arrData']=[];function _0x491e33(_0x4a18e0,_0x261242){return _0x54a7f1(_0x4a18e0-0x204,_0x261242);}const _0x3c89f7=_0x4ee297['splitNum']??0x8;if(_0x2b935d[_0x4ed423(_0x5ccb36._0x460152,_0x5ccb36._0x48b6fe)]>0x2&&_0x3c89f7>0x1){const _0x4913f1={};_0x4913f1['scene']=this['_map'][_0x4ed423(_0x5ccb36._0x2cfb9a,_0x5ccb36._0x48e70d)],_0x4913f1['positions']=_0x2b935d,_0x4913f1['has3dtiles']=![],_0x4913f1['onlyPoint']=!![],_0x4913f1[_0x4ed423(0x88f,-0x175)]=_0x3c89f7,interPolygon(_0x4913f1)['then'](_0x23e849=>{this[_0x589590(-_0x5276bc._0x224591,0x482)]['arrow'][_0x589590(0x61f,_0x5276bc._0x345d39)]?this[_0x589590(-0x400,_0x5276bc._0x4d9903)]=this[_0x1ed7d6(_0x5276bc._0x32d077,0x55)][_0x589590(_0x5276bc._0x58abf4,0xc40)][_0x589590(_0x5276bc._0x210f14,_0x5276bc._0x1711e8)]:this['_arrowLength']=Cesium__namespace[_0x1ed7d6(0x146a,0x1ee7)]['chordLength'](_0x23e849[_0x589590(0x568,0xbe2)],this[_0x1ed7d6(_0x5276bc._0x49f663,0xfb9)][_0x589590(_0x5276bc._0x5f5258,0xc51)][_0x589590(-0xd6,-0x1af)]['ellipsoid'][_0x1ed7d6(0x636,-0x33b)])*this['options'][_0x1ed7d6(0x122c,0x1603)][_0x1ed7d6(0x14cd,_0x5276bc._0x3819ef)];function _0x1ed7d6(_0x319f70,_0x2dc0e5){return _0x4ed423(_0x319f70-0x46b,_0x2dc0e5);}this['_eventResult']['maxHeight']=_0x23e849['maxHeight'];function _0x589590(_0x2bce16,_0x515d8a){return _0x4ed423(_0x515d8a- -0x181,_0x2bce16);}this['_eventResult']['minHeight']=_0x23e849['minHeight'],_0x2b935d=[];for(let _0x2f59be=0x0;_0x2f59be<_0x23e849['list']['length'];_0x2f59be++){_0x2b935d['push'](_0x23e849[_0x589590(0x142e,_0x5276bc._0x2b127f)][_0x2f59be][_0x1ed7d6(_0x5276bc._0x36b7a5,0x5fe)]);}this['_stateAll']=_0x2b935d[_0x589590(_0x5276bc._0x410f8a,_0x5276bc._0x3bc79a)];for(let _0x36864c=0x0;_0x36864c<this[_0x1ed7d6(_0x5276bc._0x469244,-_0x5276bc._0x462eb7)];_0x36864c++){this['_fxOnePoint'](_0x2b935d[_0x36864c],_0x4ee297);}});}else{this['_arrowLength']=this[_0x491e33(0xab4,_0x5ccb36._0x123f03)][_0x491e33(0x1272,0x1ca5)]['length']??0x28,this['_stateAll']=_0x2b935d['length'];for(let _0xe16fc6=0x0;_0xe16fc6<this['_stateAll'];_0xe16fc6++){this['_fxOnePoint'](_0x2b935d[_0xe16fc6],_0x4ee297);}}}[_0x54a7f1(0xf9b,0xc7c)](_0x9b55d9,_0x511090){const _0x2120dd={_0x117439:0xa58,_0x4ab321:0x32e,_0x3da11f:0x35d,_0x14a8e3:0x5d5,_0x5e6d00:0xd2c,_0x15fdb4:0x5b1,_0x4378a1:0x104e,_0x55c8c6:0x59,_0x30dfe9:0xe7e},_0x2dad01={_0x2e1c49:0xc21,_0x22100e:0x24d,_0x5cb497:0x483};if(!_0x9b55d9)return;const _0x5e577a={};_0x5e577a['position']=_0x9b55d9,_0x5e577a[_0x44ce52(0x84,_0x2120dd._0x117439)]=_0x511090['radius']??0x2,_0x5e577a['count']=_0x511090[_0x44ce52(0xd4e,_0x2120dd._0x4ab321)]??0x4;const _0x3ab2f7=getEllipseOuterPositions(_0x5e577a);_0x3ab2f7['push'](_0x9b55d9);function _0x44ce52(_0x4f2027,_0x300cfe){return _0x7afdbe(_0x300cfe,_0x4f2027- -0x581);}function _0x1bf81c(_0x348803,_0xd57556){return _0x7afdbe(_0xd57556,_0x348803- -0x6a4);}const _0x275c29=this[_0x1bf81c(_0x2120dd._0x3da11f,_0x2120dd._0x14a8e3)][_0x44ce52(_0x2120dd._0x5e6d00,0xf9f)][_0x1bf81c(-0x1f7,-0x640)][_0x44ce52(_0x2120dd._0x15fdb4,0x1048)],_0x4e2c17={};_0x4e2c17['scene']=this['_map']['scene'],_0x4e2c17['positions']=_0x3ab2f7,_0x4e2c17[_0x1bf81c(_0x2120dd._0x4378a1,0x1138)]=_0x511090['has3dtiles'],_0x4e2c17[_0x1bf81c(-_0x2120dd._0x55c8c6,-0x87c)]=_0x511090['objectsToExclude'],_0x4e2c17[_0x44ce52(_0x2120dd._0x30dfe9,0x1729)]=_0x511090['exact'],computeSurfacePoints(_0x4e2c17)['then'](_0x3d6883=>{function _0x2241fa(_0x2dc9cc,_0x434fc4){return _0x44ce52(_0x434fc4-0x16f,_0x2dc9cc);}if(this['_stateAll']===0x0)return;_0x3d6883['noHeight']&&logWarn('未获取到高度值,贴地高度计算存在误差');const _0x1778a7=_0x275c29['cartesianArrayToCartographicArray'](_0x3d6883['positions']),_0x16b82d=_0x1778a7[_0x2c1b4c(0x12cf,0x15fa)]();let _0x53a5ee=0x0,_0x55e33e=_0x1778a7[0x0]['height'],_0x5bf931=0x0,_0x3906d7=_0x1778a7[0x0]['height'];for(let _0xe33e05=0x1;_0xe33e05<_0x1778a7[_0x2241fa(_0x2dad01._0x2e1c49,0xda1)]-0x1;_0xe33e05++){const _0x54f60f=_0x1778a7[_0xe33e05];_0x54f60f['height']>_0x55e33e&&(_0x55e33e=_0x54f60f[_0x2241fa(-_0x2dad01._0x22100e,_0x2dad01._0x5cb497)],_0x53a5ee=_0xe33e05),_0x54f60f[_0x2241fa(-0x23f,0x483)]<_0x3906d7&&(_0x3906d7=_0x54f60f[_0x2241fa(0x49f,0x483)],_0x5bf931=_0xe33e05);}function _0x2c1b4c(_0x4017b8,_0x3557b8){return _0x1bf81c(_0x4017b8-0x183,_0x3557b8);}const _0x48ae20=_0x1778a7[_0x53a5ee],_0xe1fa90=_0x1778a7[_0x5bf931],_0x290acb=this['getSlope'](_0x16b82d,_0x48ae20),_0x364531=this['getSlope'](_0x16b82d,_0xe1fa90);_0x290acb>_0x364531?this['_fxOnePointOk'](_0x9b55d9,_0x16b82d,_0x48ae20,_0x290acb):this['_fxOnePointOk'](_0x9b55d9,_0x16b82d,_0xe1fa90,_0x364531);});}[_0x7afdbe(-0x97,0x863)](_0x365b44,_0x3ac7d1,_0x15e0ae,_0x3e7900){const _0x168598={_0xb0f7a5:0x30f,_0x29127b:0x2032,_0x265af3:0x817,_0x254eaf:0x792,_0xc89bd1:0x20d,_0x19db69:0x438,_0xbb8792:0xd54,_0x36d188:0x14cf,_0x592b8c:0x68e,_0x34f443:0xc09,_0x19a566:0xb04,_0x464fe9:0x157c,_0x13ddb2:0xe05,_0xfc9258:0x6b7},_0x5b2740=Cesium__namespace[_0x5ce14f(0xb06,0x807)]['toCartesian'](_0x3ac7d1);let _0x1e6443=Cesium__namespace['Cartographic']['toCartesian'](_0x15e0ae);_0x1e6443=getOnLinePointByLen(_0x5b2740,_0x1e6443,this['_arrowLength']);let _0x29b27b;_0x3ac7d1['height']>_0x15e0ae['height']?_0x29b27b=[_0x5b2740,_0x1e6443]:_0x29b27b=[_0x1e6443,_0x5b2740];const _0x59faa7=getAngle(_0x29b27b[0x0],_0x29b27b[0x1],!![]);let _0x45b445=Math[_0x22ca98(-_0x168598._0xb0f7a5,0x6b7)](_0x3e7900)*0xb4/Math['PI'];function _0x5ce14f(_0x165d08,_0xc3271d){return _0x7afdbe(_0xc3271d,_0x165d08-0x8);}_0x45b445=Number(_0x45b445['toFixed'](0x2));const _0x251c79=_0x45b445+'°';function _0x22ca98(_0x29de3d,_0x59207f){return _0x54a7f1(_0x59207f- -0x124,_0x29de3d);}const _0x59955f=(_0x3e7900*0x64)['toFixed'](0x2)+'%',_0x5820a4={};_0x5820a4[_0x5ce14f(0x1917,_0x168598._0x29127b)]=_0x365b44,_0x5820a4['slope']=_0x45b445,_0x5820a4[_0x5ce14f(0x8cf,0x51c)]=_0x251c79,_0x5820a4[_0x5ce14f(_0x168598._0x265af3,0x127d)]=_0x59955f,_0x5820a4[_0x22ca98(0xc88,0xb02)]=_0x59faa7;const _0xe8623f=_0x5820a4;!this[_0x5ce14f(_0x168598._0x254eaf,-0x2b6)]&&(this[_0x22ca98(-_0x168598._0xc89bd1,_0x168598._0x19db69)]=[]);this[_0x5ce14f(0x792,0xb6f)]['push'](_0xe8623f),this['fire'](EventType[_0x22ca98(0x12fe,_0x168598._0xbb8792)],{'data':_0xe8623f,'index':this['_stateOkIndex']});if(this['options']['arrow'][_0x22ca98(0xe14,_0x168598._0x36d188)]){const _0x365db1={};_0x365db1['positions']=_0x29b27b,_0x365db1['attr']=_0xe8623f,this['_arrowInstances']['push'](_0x365db1);}this[_0x22ca98(_0x168598._0x592b8c,_0x168598._0x34f443)]++;if(this['_stateOkIndex']>=this['_stateAll']){if(this[_0x22ca98(0x1242,0x78c)][_0x5ce14f(0x12a4,_0x168598._0x19a566)]['show']&&this['_arrowInstances']['length']>0x0){const _0x29f3b8={};_0x29f3b8[_0x22ca98(0x117c,0xdbc)]=this[_0x5ce14f(_0x168598._0x464fe9,0x1e65)],_0x29f3b8['style']={'materialType':PolylineArrow,...this['options']['arrow']};const _0x119273=new PolylineCombine(_0x29f3b8);this['graphicLayer'][_0x22ca98(_0x168598._0x13ddb2,0xeab)](_0x119273);}this[_0x22ca98(0x337,0xd94)](EventType[_0x22ca98(_0x168598._0xfc9258,0x5cf)],{...this['_eventResult'],'data':this['_arrData']});}}[_0x54a7f1(0xedc,0xd59)](_0x29b519,_0x31a753){const _0x251461={_0x49732e:0x10cf,_0xbc0fd6:0x1202,_0x5e7a6:0xbc1,_0x486536:0x12f3,_0xf12b17:0x13a4},_0x382348={_0x591ff4:0xbd};if(!_0x29b519||!_0x31a753)return;const _0x35392f=Math['abs'](_0x29b519['height']-_0x31a753['height']),_0x30d5ea=Cesium__namespace[_0x275626(_0x251461._0x49732e,0x1258)][_0x275626(0x1bd6,_0x251461._0xbc0fd6)](Cesium__namespace['Cartographic'][_0x107913(0x14b7,_0x251461._0x5e7a6)](_0x29b519),Cesium__namespace[_0x107913(_0x251461._0x486536,_0x251461._0xf12b17)]['fromRadians'](_0x31a753['longitude'],_0x31a753['latitude'],_0x29b519['height']));function _0x275626(_0x21a679,_0x5910dc){return _0x7afdbe(_0x21a679,_0x5910dc- -0x2bd);}const _0x5dfd9b=_0x35392f/_0x30d5ea;function _0x107913(_0x56cd2d,_0x430627){return _0x54a7f1(_0x430627-_0x382348._0x591ff4,_0x56cd2d);}return _0x5dfd9b;}['clear'](){const _0x1871e0={_0x1157b:0xb34,_0x31c4f3:0xd1d,_0x4ad79a:0x7e3},_0x40153d={_0x5e98cc:0x2e2};this[_0x1965c0(0x1bfb,0x14a3)]['clear']();function _0x1965c0(_0x103284,_0x3da8c9){return _0x7afdbe(_0x103284,_0x3da8c9-0x59);}this[_0x2a0084(0x1064,_0x1871e0._0x1157b)]=[],this[_0x1965c0(_0x1871e0._0x31c4f3,_0x1871e0._0x4ad79a)]=[],this[_0x1965c0(0x390,0x53e)]=0x0;function _0x2a0084(_0x52cc95,_0x14021f){return _0x54a7f1(_0x52cc95- -_0x40153d._0x5e98cc,_0x14021f);}this['_stateOkIndex']=0x0;}static['getSlope'](_0x5a6cb9){const _0x42c435={_0x4ac90a:0x1703,_0x960789:0x112a,_0x5d275c:0xb47,_0x5ec9f1:0x606,_0x3fe866:0x4cb};return new Promise((_0x19962f,_0x51b606)=>{const _0x45b65f={_0x362b74:0x1e2};function _0x21dbae(_0x307188,_0xa83e8f){return _0x536c(_0xa83e8f- -0x10b,_0x307188);}function _0x575013(_0x271294,_0x303819){return _0x536c(_0x271294-0x237,_0x303819);}const _0x5ee5e2={};_0x5ee5e2[_0x575013(_0x42c435._0x4ac90a,0xe20)]=![];const _0x44bc34={};_0x44bc34[_0x575013(0x1703,0x112b)]=![];const _0x4dbf94={};_0x4dbf94['point']=_0x5ee5e2,_0x4dbf94['arrow']=_0x44bc34;const _0x11de36=new Slope(_0x4dbf94);_0x11de36[_0x575013(_0x42c435._0x960789,0xd1a)](_0x5a6cb9[_0x575013(_0x42c435._0x5d275c,_0x42c435._0x5ec9f1)]),_0x5a6cb9[_0x575013(0xf88,0x1674)]&&_0x11de36['on'](EventType['endItem'],_0x5a6cb9['endItem']),_0x11de36['on'](EventType[_0x21dbae(-_0x42c435._0x3fe866,0x4c1)],_0x57cc69=>{function _0x318350(_0x52d0de,_0x4e2c3f){return _0x575013(_0x4e2c3f- -0x360,_0x52d0de);}_0x11de36[_0x318350(0x67f,_0x45b65f._0x362b74)](),_0x19962f(_0x57cc69);}),_0x11de36['add'](_0x5a6cb9['positions'],_0x5a6cb9);});}}register(_0x54a7f1(0x16c4,0x17a0),Slope,![]);class TerrainPlanClip extends BaseThing{get['positions'](){return this['_positions'];}set[_0x7afdbe(0x1ba8,0x131d)](_0x56aa0e){const _0x1c7fb8={_0x2bd8dd:0x13f9,_0x23eede:0xbcb,_0x13868b:0x7b1,_0x218900:0x954,_0x47cb4f:0xf64,_0xe09fe5:0x5cb,_0x33bed7:0x41a,_0x17df5f:0x17b6,_0x43cffb:0x1d63};this[_0x2ffbfc(0x1458,_0x1c7fb8._0x2bd8dd)]();function _0x3e992b(_0x4f26d7,_0x16516b){return _0x54a7f1(_0x4f26d7- -0x3ba,_0x16516b);}if(!_0x56aa0e||_0x56aa0e[_0x3e992b(_0x1c7fb8._0x23eede,_0x1c7fb8._0x13868b)]<0x2){logError('挖地坐标数据存在问题!',_0x56aa0e);return;}function _0x2ffbfc(_0x238bc8,_0xc791dd){return _0x7afdbe(_0xc791dd,_0x238bc8- -0xf9);}this['_positions']=LngLatArray[_0x2ffbfc(_0x1c7fb8._0x218900,_0x1c7fb8._0x47cb4f)](_0x56aa0e),this['_positions']['length']===0x2?this['setLine'](this['_positions']):(this['_map']['scene']['globe']['clippingPolygons']=new Cesium__namespace['ClippingPolygonCollection']({'polygons':[new Cesium__namespace['ClippingPolygon']({'positions':this[_0x3e992b(0x983,_0x1c7fb8._0xe09fe5)]})],'inverse':this['clipOutSide'],'enabled':!![]}),this['options'][_0x2ffbfc(_0x1c7fb8._0x33bed7,0xb4f)]&&Cesium__namespace[_0x2ffbfc(_0x1c7fb8._0x17df5f,_0x1c7fb8._0x43cffb)](this['options'][_0x3e992b(0xc92,0xfdf)])&&this['_addAreaHook'](this['_positions']));}async[_0x7afdbe(0x1030,0x1903)](_0x14ceee){const _0x236e16={_0xf602c1:0x15d4,_0x1c2bbe:0x6b9,_0x345b50:0x56e,_0x371716:0x7f},_0x57ecd9={_0x35ef5b:0xe8};await this['_map'][_0x5f30e6(0x17a7,_0x236e16._0xf602c1)];this[_0x5f30e6(0x919,0x6b1)]['scene']['_terrainProviderPromise']&&await this[_0x2b90e8(_0x236e16._0x1c2bbe,0x864)][_0x5f30e6(0x11c5,0xae3)][_0x2b90e8(_0x236e16._0x345b50,0x2c2)];const _0x103f79=await computeSurfaceLine({'map':this[_0x2b90e8(0x6b9,-0x28a)],'positions':_0x14ceee[_0x5f30e6(0xb0b,_0x236e16._0x371716)](_0x14ceee[0x0]),'has3dtiles':![],'exact':this['options']['exact'],'splitNum':this['options']['splitNum']??0x1e});function _0x5f30e6(_0xabb044,_0x100960){return _0x7afdbe(_0x100960,_0xabb044- -_0x57ecd9._0x35ef5b);}function _0x2b90e8(_0x1e04e0,_0x26e341){return _0x54a7f1(_0x1e04e0- -0x11a,_0x26e341);}this['_addPitGraphic'](_0x14ceee,_0x103f79['positions']);}[_0x7afdbe(0x760,0x105a)](_0x51f5cc,_0x4edabe){const _0x23fa7d={_0x55e68e:0x117d,_0x1fd956:0xf72,_0x26a16a:0x25a,_0x2e75de:0x28e,_0x15a1e2:0xd1b,_0xa40128:0x1213,_0x3175e4:0x1514,_0x290462:0x1d},_0x14cd72={_0x106d41:0x67},_0x4fb97b={_0x23959b:0x41b},_0x6f5b96=[];let _0x5a3664=Number['MAX_VALUE'];for(let _0x62a399=0x0,_0x212617=_0x4edabe['length'];_0x62a399<_0x212617;_0x62a399++){const _0x19cea2=Cesium__namespace['Cartographic'][_0x2e6787(0x30f,0x504)](_0x4edabe[_0x62a399]);_0x5a3664=Math[_0x2e6787(_0x23fa7d._0x55e68e,_0x23fa7d._0x1fd956)](_0x5a3664,_0x19cea2[_0x54f736(-_0x23fa7d._0x26a16a,0x47a)]),_0x6f5b96[_0x54f736(_0x23fa7d._0x2e75de,_0x23fa7d._0x15a1e2)](_0x19cea2[_0x54f736(-0x470,0x47a)]);}const _0x2d0388=_0x5a3664-this['options'][_0x2e6787(0xbc4,_0x23fa7d._0xa40128)];function _0x54f736(_0x43ffc4,_0x511d08){return _0x7afdbe(_0x43ffc4,_0x511d08- -_0x4fb97b._0x23959b);}const _0x550e1a=Array(_0x4edabe['length'])['fill'](_0x2d0388),_0x47a022={};_0x47a022['height']=_0x2d0388,_0x47a022['minHeight']=_0x5a3664,_0x47a022['positionsWall']=_0x4edabe,_0x47a022[_0x2e6787(_0x23fa7d._0x3175e4,0x104a)]=_0x550e1a,_0x47a022['maximumHeights']=_0x6f5b96;const _0x5efd5b={};_0x5efd5b['style']=this[_0x2e6787(-_0x23fa7d._0x290462,0xa77)];function _0x2e6787(_0x52c9e4,_0x2a558d){return _0x7afdbe(_0x52c9e4,_0x2a558d- -_0x14cd72._0x106d41);}_0x5efd5b['data']=_0x47a022,_0x5efd5b['positions']=_0x51f5cc;const _0x2c0ad3=new PitEntity(_0x5efd5b);this['_graphicLayer']['addGraphic'](_0x2c0ad3);}get[_0x7afdbe(0x132c,0x127a)](){return this['options']['diffHeight'];}set['diffHeight'](_0x1328ea){const _0x21da72={_0xb809be:0x108a,_0x1170a8:0x11aa},_0x5ac811={_0x5804cb:0x4b9};function _0x5dceaf(_0x4b3e28,_0x3ef5fe){return _0x7afdbe(_0x4b3e28,_0x3ef5fe- -_0x5ac811._0x5804cb);}this['options']['diffHeight']=_0x1328ea,this[_0x5dceaf(_0x21da72._0xb809be,_0x21da72._0x1170a8)]&&this['_graphicLayer']['eachGraphic'](_0x10ab2f=>{_0x10ab2f['diffHeight']=_0x1328ea;});}get['clipOutSide'](){const _0x7c6200={_0x4fd5eb:0x78e},_0x153d25={_0x2535a5:0x122};function _0x48a737(_0x213d15,_0x1744ad){return _0x54a7f1(_0x213d15- -_0x153d25._0x2535a5,_0x1744ad);}return this[_0x48a737(_0x7c6200._0x4fd5eb,0xe24)]['clipOutSide'];}set['clipOutSide'](_0x42e860){const _0x132186={_0x5c0dd9:0x1e8,_0x6dc527:0x5eb,_0x897f44:0xdcc,_0x47ff81:0x217,_0x2efbd5:0x4b9},_0x11262c={_0xf91c28:0x4e1},_0x432389={_0x250a94:0x416};function _0x12b768(_0x47c4e8,_0x416cc1){return _0x7afdbe(_0x47c4e8,_0x416cc1- -_0x432389._0x250a94);}function _0x1a63d6(_0x40722e,_0x184212){return _0x7afdbe(_0x184212,_0x40722e- -_0x11262c._0xf91c28);}this[_0x12b768(-_0x132186._0x5c0dd9,0x6c8)]['clipOutSide']=_0x42e860,this[_0x1a63d6(0x520,-0x507)]['scene'][_0x12b768(0xab3,0x97)]['clippingPolygons']&&(this[_0x12b768(0x206,_0x132186._0x6dc527)][_0x1a63d6(_0x132186._0x897f44,0x164d)]['globe'][_0x12b768(-_0x132186._0x47ff81,_0x132186._0x2efbd5)][_0x1a63d6(0x115b,0xa17)]=_0x42e860);}['_enabledHook'](_0x2faa05){const _0xd33402={_0x5ca8e7:0x913,_0x5bcca5:0xbc7,_0x15bd38:0xce1,_0x23c618:0x1866,_0x21bcd8:0x1573},_0x30a591={_0x5c885c:0xf0};this[_0x355c64(0x6d7,0x913)][_0x355c64(0xa34,0x11bf)]['globe']['clippingPlanes']&&(this['_map']['scene'][_0x355c64(-0x500,0x3bf)]['clippingPlanes']['enabled']=_0x2faa05);function _0x173e67(_0x2073e2,_0x3a0af8){return _0x7afdbe(_0x2073e2,_0x3a0af8- -_0x30a591._0x5c885c);}this['_map']['scene']['globe']['clippingPolygons']&&(this[_0x355c64(0x10c3,_0xd33402._0x5ca8e7)][_0x355c64(0xcb4,0x11bf)]['globe'][_0x173e67(0xa51,0x7df)][_0x173e67(_0xd33402._0x5bcca5,_0xd33402._0x15bd38)]=_0x2faa05);function _0x355c64(_0x26e8c9,_0x26ca51){return _0x54a7f1(_0x26ca51-0x140,_0x26e8c9);}this['_graphicLayer']&&(this[_0x173e67(_0xd33402._0x23c618,_0xd33402._0x21bcd8)][_0x173e67(0x1d99,0x1731)]=_0x2faa05);}[_0x7afdbe(0x11a2,0x134f)](){const _0x5d4e96={_0x4f399e:0x344,_0x53470f:0x1b2a,_0x45294c:0xe44};function _0x31695e(_0x2d99e6,_0x3acf22){return _0x54a7f1(_0x2d99e6- -0x17c,_0x3acf22);}function _0x483155(_0x53c349,_0x564c0b){return _0x54a7f1(_0x53c349- -0x2ab,_0x564c0b);}this['_graphicLayer']=new GraphicLayer({...this[_0x483155(0x605,_0x5d4e96._0x4f399e)],'private':!![]}),this['_map'][_0x483155(0x141b,_0x5d4e96._0x53470f)](this['_graphicLayer']),this[_0x483155(0x605,0x85)]['positions']&&this['options']['positions']['length']>0x0&&(this[_0x483155(_0x5d4e96._0x45294c,0x64d)]=this['options']['positions']);}[_0x7afdbe(0x140d,0xc7d)](){const _0x1124bf={_0x4a71a1:0xcd2};this['clear']();function _0x31c372(_0x47ff70,_0x59d54b){return _0x7afdbe(_0x59d54b,_0x47ff70- -0x512);}function _0x521dbb(_0x5af75e,_0x4c8741){return _0x7afdbe(_0x4c8741,_0x5af75e- -0x69a);}this['_graphicLayer']&&(this['_map'][_0x31c372(0xc79,0xed9)](this[_0x31c372(0x1151,_0x1124bf._0x4a71a1)],!![]),delete this['_graphicLayer']);}[_0x7afdbe(0x10b2,0xe80)](_0x377772){const _0x1e4807={_0x4d704b:0x14cc,_0x3beb5e:0xfe3,_0xcca995:0xa9a,_0x56f407:0x615,_0x373906:0x1085,_0x2d1c4d:0x8c4},_0x20381b={_0x3ebbc9:0x14};function _0xe8c204(_0xb9362c,_0x580701){return _0x7afdbe(_0xb9362c,_0x580701- -0x3c2);}const _0x299bbd=this[_0xe8c204(_0x1e4807._0x4d704b,0x1172)](_0x377772[0x1],_0x377772[0x0]);if(!_0x299bbd)return;function _0x5503a0(_0x48a1f5,_0x1df9c8){return _0x54a7f1(_0x1df9c8-_0x20381b._0x3ebbc9,_0x48a1f5);}if(this['options']['image']&&Cesium__namespace['defined'](this['options'][_0x5503a0(0x14ef,0x1060)])){const _0x668048={'repeatX':0xc8,...this['options']};_0x668048['imageBottom']=![];const _0xfa3f92=new PitEntity({'style':_0x668048,'positions':[getOnLinePointByLen(_0x377772[0x1],_0x377772[0x0],0x2710,!![]),getOnLinePointByLen(_0x377772[0x0],_0x377772[0x1],0x2710,!![])]});this['_graphicLayer'][_0x5503a0(0x14a7,_0x1e4807._0x3beb5e)](_0xfa3f92);}this[_0xe8c204(0x4cb,0x63f)]['scene']['globe']['clippingPlanes']=new Cesium__namespace[(_0xe8c204(_0x1e4807._0xcca995,_0x1e4807._0x56f407))]({'planes':[_0x299bbd],'edgeWidth':this['options'][_0x5503a0(0x73b,0x9df)]??0x1,'edgeColor':this[_0x5503a0(_0x1e4807._0x373906,_0x1e4807._0x2d1c4d)]['edgeColor']??Cesium__namespace['Color']['WHITE'],'unionClippingRegions':this['clipOutSide'],'enabled':!![]});}['_createPlaneByLine'](_0x3eacc2,_0x57545f){const _0x82387a={_0xc5a78:0x13b1,_0x20a2bd:0x1352,_0x3ac8fe:0x1352,_0x14fa83:0xf5c,_0x31fc8b:0x1b9f,_0x409a0c:0x17d1,_0x41b0d8:0x1bc0,_0x1a897b:0x502},_0xac307={_0x526a3b:0x5ee};if(Cesium__namespace[_0x2f8fb1(0xf27,_0x82387a._0xc5a78)][_0x2f8fb1(0xed1,0x6c4)](_0x3eacc2,_0x57545f)<0.1)return null;const _0x32f9d7=Cesium__namespace[_0x4ca70c(0x1352,0x1540)]['midpoint'](_0x3eacc2,_0x57545f,new Cesium__namespace[(_0x4ca70c(_0x82387a._0x20a2bd,0xd2b))]()),_0x40867f=Cesium__namespace['Cartesian3'][_0x4ca70c(0x12dc,0xea4)](_0x32f9d7,new Cesium__namespace[(_0x4ca70c(_0x82387a._0x3ac8fe,_0x82387a._0x14fa83))]());function _0x4ca70c(_0xea99d0,_0x87339c){return _0x54a7f1(_0xea99d0-0x6b,_0x87339c);}let _0x5a25e7=Cesium__namespace['Cartesian3']['subtract'](_0x3eacc2,_0x32f9d7,new Cesium__namespace['Cartesian3']());_0x5a25e7=Cesium__namespace[_0x4ca70c(0x1352,_0x82387a._0x31fc8b)]['normalize'](_0x5a25e7,_0x5a25e7);let _0x1e584d=Cesium__namespace['Cartesian3'][_0x4ca70c(_0x82387a._0x409a0c,_0x82387a._0x41b0d8)](_0x5a25e7,_0x40867f,new Cesium__namespace['Cartesian3']());function _0x2f8fb1(_0x122261,_0x10fd84){return _0x7afdbe(_0x10fd84,_0x122261- -_0xac307._0x526a3b);}_0x1e584d=Cesium__namespace['Cartesian3'][_0x2f8fb1(0xeb1,_0x82387a._0x1a897b)](_0x1e584d,_0x1e584d);const _0x478538=new Cesium__namespace[(_0x4ca70c(0xaab,0x622))](_0x1e584d,0x0),_0x1e4d03=Cesium__namespace['Plane']['getPointDistance'](_0x478538,_0x32f9d7);return new Cesium__namespace['ClippingPlane'](_0x1e584d,_0x1e4d03);}['clear'](){const _0x53e037={_0xdc5d37:0x182b,_0x36d29d:0x1345,_0x53382b:0x384,_0x34bdd9:0x12f4,_0x3bd11d:0x1d0,_0x545ec0:0xcd9,_0x5722cc:0x6e3,_0xe38a70:0x1ab,_0x39b4ca:0x5b1},_0x2f939e={_0x1abbbd:0x67d},_0x3db1a0={_0x353618:0xf0};function _0x297fb9(_0x271bcd,_0x5979a5){return _0x54a7f1(_0x5979a5- -_0x3db1a0._0x353618,_0x271bcd);}var _0x38cf29,_0x22a511;this['_positions']=null;if(!this['_map'])return;function _0x3faf0f(_0x217631,_0x251b08){return _0x7afdbe(_0x251b08,_0x217631- -_0x2f939e._0x1abbbd);}this[_0x297fb9(_0x53e037._0xdc5d37,_0x53e037._0x36d29d)]&&this['_graphicLayer']['clear'](),(_0x38cf29=this['_map'][_0x3faf0f(0xc30,0x1609)]['globe'])!==null&&_0x38cf29!==void 0x0&&_0x38cf29['clippingPlanes']&&(this[_0x3faf0f(_0x53e037._0x53382b,-0x392)]['scene']['globe'][_0x3faf0f(0x50a,-0x1ee)][_0x297fb9(_0x53e037._0x34bdd9,0xab3)]&&(this['_map']['scene'][_0x3faf0f(-_0x53e037._0x3bd11d,0x892)]['clippingPlanes']['enabled']=![]),this['_map']['scene'][_0x3faf0f(-0x1d0,-0x7af)]['clippingPlanes']=undefined),(_0x22a511=this['_map']['scene'][_0x3faf0f(-_0x53e037._0x3bd11d,-0x86e)])!==null&&_0x22a511!==void 0x0&&_0x22a511[_0x3faf0f(0x252,-0x607)]&&(this['_map']['scene']['globe'][_0x3faf0f(0x252,_0x53e037._0x545ec0)][_0x297fb9(0x155d,0xab3)]&&(this['_map']['scene']['globe'][_0x297fb9(-0x3fe,0x5b1)]['enabled']=![],this[_0x297fb9(0x5f3,_0x53e037._0x5722cc)]['scene']['globe'][_0x297fb9(_0x53e037._0xe38a70,_0x53e037._0x39b4ca)]['removeAll']()),this['_map'][_0x3faf0f(0xc30,0x1100)]['globe']['clippingPolygons']=undefined);}}register('terrainPlanClip',TerrainPlanClip);class TerrainEditBase extends BaseThing{constructor(_0x3d9e2a={}){super(_0x3d9e2a),!isMars3DCesium&&logError('该功能需要引入mars3d修改版Cesium库(mars3d-cesium库)才支持!',this),this['_areaList']=[];}get[_0x54a7f1(0x1382,0x19bd)](){return this['_areaList'];}get['length'](){const _0x5743ed={_0x4a1038:0x127,_0x29bbc8:0x5ab,_0x5491f4:0x11e2},_0x5305d1={_0x2fa4a3:0x5f},_0x2d46d7={_0x5a3710:0x120};function _0x1ef87f(_0x8500d3,_0x1a9a74){return _0x54a7f1(_0x8500d3- -_0x2d46d7._0x5a3710,_0x1a9a74);}function _0xac22e(_0x1de46e,_0x4c1f6b){return _0x7afdbe(_0x1de46e,_0x4c1f6b-_0x5305d1._0x2fa4a3);}if(this['_areaList']){var _0xe6eb9b;return(_0xe6eb9b=this[_0x1ef87f(_0x5743ed._0x4a1038,-_0x5743ed._0x29bbc8)])===null||_0xe6eb9b===void 0x0?void 0x0:_0xe6eb9b[_0x1ef87f(0xe65,_0x5743ed._0x5491f4)];}else return 0x0;}get['positions'](){const _0x13e648={_0x42a6c:0xebe,_0x2fc9ff:0xc0c};function _0x2bc6f6(_0x5d7889,_0x3c032c){return _0x7afdbe(_0x5d7889,_0x3c032c- -0x711);}function _0x510345(_0x14247f,_0x2104c4){return _0x7afdbe(_0x14247f,_0x2104c4- -0x13c);}return this[_0x2bc6f6(0x4f8,0xaa2)]>0x0?this['_areaList'][0x0][_0x2bc6f6(_0x13e648._0x42a6c,_0x13e648._0x2fc9ff)]:null;}set['positions'](_0x5d41c8){const _0x4cada7={_0x2885ab:0x519};function _0x682f8a(_0x591e4e,_0x3721a7){return _0x7afdbe(_0x591e4e,_0x3721a7- -_0x4cada7._0x2885ab);}this['clear'](),this[_0x682f8a(0x1771,0xe91)](_0x5d41c8);}['_enabledHook'](_0x1c182e){this['analysisOptions']['enabled']=_0x1c182e;}['_addedHook'](){const _0x234854={_0x34f05f:0xbd0,_0x57a9b3:0x15b,_0x483319:0x142c,_0x2691ae:0x12f9,_0x552474:0xd7c,_0x2eed7c:0x454,_0x254caa:0xd20},_0x560d0a={_0x490880:0xed2},_0x55b93f={_0x3c2331:0x1cf};function _0x35d23c(_0x4db75d,_0x5bd024){return _0x54a7f1(_0x4db75d-_0x55b93f._0x3c2331,_0x5bd024);}function _0x3a0686(_0x53cf52,_0x340458){return _0x7afdbe(_0x340458,_0x53cf52- -0xb1);}if(this['options']['area'])this[_0x3a0686(0xa2d,_0x234854._0x34f05f)][_0x3a0686(0x865,_0x234854._0x57a9b3)]['forEach'](_0x2a0545=>{function _0x79315f(_0x10b2d5,_0x10208a){return _0x35d23c(_0x10208a-0x39,_0x10b2d5);}this[_0x79315f(_0x560d0a._0x490880,0x1384)](_0x2a0545['positions'],_0x2a0545);});else this[_0x3a0686(0xa2d,_0x234854._0x483319)][_0x3a0686(0x126c,0x1930)]&&this[_0x3a0686(_0x234854._0x2691ae,_0x234854._0x552474)](this[_0x3a0686(0xa2d,_0x234854._0x2eed7c)]['positions']);this['analysisOptions'][_0x3a0686(_0x234854._0x254caa,0xe4b)]=this['enabled'];}['_removedHook'](){const _0x20e3df={_0x453930:0x833,_0x15ec28:0xee3};this['clear']();function _0x59049f(_0x58cfa7,_0x121b05){return _0x54a7f1(_0x58cfa7- -0x370,_0x121b05);}this['analysisOptions'][_0x59049f(_0x20e3df._0x453930,_0x20e3df._0x15ec28)]=![];}['clear'](){this['_areaList']=[],this['_clearAnalysis']();}['getAreaById'](_0x1e67ef){const _0x3d719a={_0x5a631f:0xecd,_0x40aa7c:0x155b};function _0x579d76(_0x41a36a,_0x509aae){return _0x54a7f1(_0x509aae-0x61,_0x41a36a);}function _0x521326(_0x40f530,_0x102cfb){return _0x54a7f1(_0x40f530- -0xb8,_0x102cfb);}for(let _0xc5d7aa=0x0;_0xc5d7aa<this['_areaList'][_0x521326(_0x3d719a._0x5a631f,_0x3d719a._0x40aa7c)];_0xc5d7aa++){const _0x114df7=this[_0x521326(0x18f,0x68a)][_0xc5d7aa];if(_0x114df7['id']===_0x1e67ef)return _0x114df7;}return null;}['hideArea'](_0x2ad80e){const _0x4e1b2e=this['getAreaById'](_0x2ad80e);function _0x4b0a87(_0x4de796,_0x464d36){return _0x54a7f1(_0x464d36-0x5,_0x4de796);}_0x4e1b2e&&(_0x4e1b2e['show']=![],_0x4e1b2e['downGraphic']&&(_0x4e1b2e[_0x4b0a87(0xe97,0x179b)]['show']=![]),_0x4e1b2e['upGraphic']&&(_0x4e1b2e['upGraphic']['show']=![]),this['_update']());}['showArea'](_0x42286f){const _0x47d1c7={_0x11457e:0x1e37,_0x39f903:0xe0e},_0x2b2d06={_0xf335b5:0x245},_0xcd661=this['getAreaById'](_0x42286f);function _0x35b835(_0x1af625,_0x4edebc){return _0x7afdbe(_0x1af625,_0x4edebc- -0x362);}function _0x1fb10c(_0xda5cd,_0x442055){return _0x7afdbe(_0xda5cd,_0x442055- -_0x2b2d06._0xf335b5);}_0xcd661&&(_0xcd661['show']=!![],_0xcd661[_0x1fb10c(_0x47d1c7._0x11457e,0x177f)]&&(_0xcd661['downGraphic'][_0x1fb10c(_0x47d1c7._0x39f903,0x15dc)]=!![]),_0xcd661['upGraphic']&&(_0xcd661['upGraphic']['show']=!![]),this['_update']());}['_removeAreaHook'](_0x5c1e4f){}[_0x7afdbe(0x1574,0x15d0)](_0x33dc0f){const _0x2b3434={_0x1e9742:0xd59};!isObject(_0x33dc0f)&&(_0x33dc0f=this[_0x2a08a9(0xcc1,0x111d)](_0x33dc0f));function _0x2a08a9(_0x12af42,_0xb9879c){return _0x54a7f1(_0x12af42- -0x2b6,_0xb9879c);}if(!_0x33dc0f)return;this['_removeAreaHook'](_0x33dc0f),removeArrayItem(this['_areaList'],_0x33dc0f);function _0xcbe87f(_0x2bf6e9,_0x2738cd){return _0x54a7f1(_0x2bf6e9- -0x232,_0x2738cd);}this[_0x2a08a9(0x10cf,0x194c)]();const _0x12484f={};_0x12484f[_0x2a08a9(0x432,_0x2b3434._0x1e9742)]=_0x33dc0f,this['fire'](EventType['removeItem'],_0x12484f);}['_addAreaHook'](_0x2dd96c,_0x29a8b3){}['addArea'](_0x19d25a,_0x1370ba={}){const _0xbf7077={_0x377208:0x849,_0xfd22fd:0x11db,_0x30761c:0xe27,_0x19bcda:0x110f,_0x233f7c:0xdd7,_0x4b4c36:0xd85},_0x3ece4c={_0x287d6f:0xe1},_0x509f58={_0x4647da:0x311};if(!_0x19d25a||_0x19d25a[_0x3fc70c(0xea2,_0xbf7077._0x377208)]===0x0)return;function _0x3fc70c(_0x370a0d,_0x4d6a57){return _0x7afdbe(_0x4d6a57,_0x370a0d- -_0x509f58._0x4647da);}_0x1370ba[_0x3fc70c(0x15ea,0xc1b)]&&(_0x19d25a=simplifyPositions(_0x19d25a,_0x1370ba['simplify']));_0x19d25a=LngLatArray['toCartesians'](_0x19d25a);const _0x654561=LngLatArray['toCartographics'](_0x19d25a),_0x43e0d1=Cesium__namespace[_0x3fc70c(0x416,0xada)]['fromCartographicArray'](_0x654561),_0x1e1376={'original':_0x1370ba,'show':!![],'id':_0x1370ba['id']??getGlobalId(),..._0x1370ba,'positions':_0x19d25a,'_cartographics':_0x654561,'_rectangle':_0x43e0d1};this['_areaList'][_0x51816d(_0xbf7077._0xfd22fd,_0xbf7077._0x30761c)](_0x1e1376),this[_0x3fc70c(0x15f2,0x101f)](_0x1e1376,_0x1370ba),this['_update']();function _0x51816d(_0xfe5be1,_0x21522a){return _0x54a7f1(_0x21522a- -_0x3ece4c._0x287d6f,_0xfe5be1);}const _0x48319d={};return _0x48319d['area']=_0x1e1376,this[_0x51816d(_0xbf7077._0x19bcda,_0xbf7077._0x233f7c)](EventType[_0x51816d(0xe36,_0xbf7077._0x4b4c36)],_0x48319d),_0x1e1376;}[_0x7afdbe(0xf8c,0x697)](){this['analysisOptions']['clear'](),this['analysisOptions']['enabled']=this['enabled'];}['_update'](){const _0x4bf2a6={_0x21d0f4:0x69f},_0x2969cf={_0x53f2ad:0xaea},_0x3c7578=[];this[_0x4f1ead(-0x29f,-0x22a)]['forEach'](_0x541d46=>{if(!_0x541d46['show']||!_0x541d46['positions'])return;function _0x5be129(_0x189552,_0x5aa47e){return _0x4f1ead(_0x189552,_0x5aa47e-0x53);}_0x3c7578[_0x5be129(0x9e7,_0x2969cf._0x53f2ad)](_0x541d46);});function _0x56a34e(_0x3594ab,_0x53e78c){return _0x54a7f1(_0x3594ab-0xcb,_0x53e78c);}_0x3c7578[_0x56a34e(0x1050,0x1164)]>0x0?this[_0x4f1ead(-0x8b1,0x18f)](_0x3c7578):this[_0x4f1ead(0x3c9,-0x8)]();function _0x4f1ead(_0x159411,_0x15c1ad){return _0x7afdbe(_0x159411,_0x15c1ad- -_0x4bf2a6._0x21d0f4);}this['analysisOptions']['hasUpdate']=!![];}['_updateAnalysisOptions'](_0x332ad2){const _0x3cbbea={_0x1792c6:0x107a,_0x342a65:0x319},_0x32afb6={_0x3611d8:0x5d9},_0x4abac3={_0x3485de:0x104},_0x2a71b4={_0x158d54:0x380};let _0x175028;const _0x1eaeb8=[];function _0x3f9d3a(_0x5c0d43,_0x2846b2){return _0x54a7f1(_0x2846b2- -_0x2a71b4._0x158d54,_0x5c0d43);}_0x332ad2['forEach'](_0x2c3d26=>{_0x1eaeb8[_0x2c4179(0x230,0xac9)](_0x2c3d26['_cartographics']);function _0x2c4179(_0x437fc2,_0x3160d0){return _0x536c(_0x3160d0- -0x318,_0x437fc2);}function _0x44b8eb(_0xb44e9d,_0x25c483){return _0x536c(_0xb44e9d- -0x4c,_0x25c483);}Cesium__namespace['defined'](_0x175028)?_0x175028=Cesium__namespace[_0x44b8eb(0x386,-_0x4abac3._0x3485de)]['union'](_0x175028,_0x2c3d26[_0x44b8eb(0x1541,0x1d0d)]):_0x175028=_0x2c3d26['_rectangle'];});function _0x262f8f(_0x270acb,_0xe6c4b0){return _0x7afdbe(_0x270acb,_0xe6c4b0- -_0x32afb6._0x3611d8);}this[_0x3f9d3a(0xcb7,_0x3cbbea._0x1792c6)]['rectangle']=_0x175028,this['analysisOptions'][_0x262f8f(_0x3cbbea._0x342a65,0x1ca)]=_0x1eaeb8;}['toJSON'](){const _0x27b1ea={_0x2e578c:0x167,_0x12bc7c:0x404,_0x329728:0x302},_0x1b4e78={_0x12aff5:0x457,_0x469bf6:0xa9f},_0x107ae9={_0x2936e9:0x123},_0x4f9b16={_0x577dc7:0x6da};function _0x5b4547(_0x246d25,_0x3bb42f){return _0x7afdbe(_0x246d25,_0x3bb42f- -_0x4f9b16._0x577dc7);}const _0x137218=clone(this[_0x5b4547(-_0x27b1ea._0x2e578c,_0x27b1ea._0x12bc7c)],['layer','eventParent']);_0x137218[_0x3a07bd(0xabd,_0x27b1ea._0x329728)]=[],this['_areaList']['forEach'](_0x33c3a7=>{function _0x5d54e8(_0x117ced,_0x24a9df){return _0x5b4547(_0x117ced,_0x24a9df- -0x53);}function _0x21aeb4(_0x3bd4fe,_0x43ffb4){return _0x3a07bd(_0x3bd4fe,_0x43ffb4-_0x107ae9._0x2936e9);}_0x137218[_0x5d54e8(_0x1b4e78._0x12aff5,0x1e9)]['push']({..._0x33c3a7['original'],'positions':LngLatArray[_0x21aeb4(_0x1b4e78._0x469bf6,0x14e3)](_0x33c3a7['positions'])});});function _0x3a07bd(_0x89a4ed,_0x20a631){return _0x54a7f1(_0x20a631- -0x3e6,_0x89a4ed);}return _0x137218;}}var GlobeFlodByMaterial=_0x54a7f1(0x371,-0x43e);const FloodByMaterialType='FlodByMaterial';class FloodByMaterial extends TerrainEditBase{get[_0x7afdbe(0x15a0,0x1628)](){const _0x25d185={_0x555138:0x48f,_0x1e6252:0xecb,_0x3d2af7:0x5cc,_0x2669c3:0x23e};function _0x32e4c6(_0x1254eb,_0x280ad8){return _0x54a7f1(_0x280ad8- -0x4ac,_0x1254eb);}var _0x4e99c5;function _0x20a1f1(_0x20f339,_0x2f01b4){return _0x54a7f1(_0x20f339- -0x14b,_0x2f01b4);}return(_0x4e99c5=this['_map'])===null||_0x4e99c5===void 0x0||(_0x4e99c5=_0x4e99c5['scene'])===null||_0x4e99c5===void 0x0||(_0x4e99c5=_0x4e99c5['globe'])===null||_0x4e99c5===void 0x0||(_0x4e99c5=_0x4e99c5['_surface'])===null||_0x4e99c5===void 0x0||(_0x4e99c5=_0x4e99c5['tileProvider'])===null||_0x4e99c5===void 0x0||(_0x4e99c5=_0x4e99c5[_0x20a1f1(_0x25d185._0x555138,_0x25d185._0x1e6252)])===null||_0x4e99c5===void 0x0?void 0x0:_0x4e99c5[_0x20a1f1(_0x25d185._0x3d2af7,_0x25d185._0x2669c3)];}get['height'](){const _0x31d8f0={_0x33b7b2:0x1b86};function _0x56a8c0(_0x3e1e5d,_0x4a26e9){return _0x54a7f1(_0x3e1e5d-0x83,_0x4a26e9);}return this[_0x56a8c0(0x10d7,_0x31d8f0._0x33b7b2)]??this['_minHeight']??0x0;}set[_0x7afdbe(0x768,0x895)](_0x31f241){const _0x252709={_0x10bbeb:0x10a},_0x2d05f6={_0x296389:0x1f1},_0x178365={_0x5ebe82:0x28b};var _0x389f44;function _0x12c7e7(_0x19dd95,_0x5cf20b){return _0x7afdbe(_0x5cf20b,_0x19dd95- -_0x178365._0x5ebe82);}this[_0x12c7e7(0xff7,0x152e)]=_0x31f241;function _0x2fc827(_0x15f7c8,_0x49a910){return _0x54a7f1(_0x15f7c8- -_0x2d05f6._0x296389,_0x49a910);}((_0x389f44=this['_map']['scene']['globe']['material'])===null||_0x389f44===void 0x0?void 0x0:_0x389f44['type'])===FloodByMaterialType&&(this[_0x2fc827(0x5e2,_0x252709._0x10bbeb)]['scene']['globe']['material']['uniforms']['u_flood_val']=_0x31f241);}get['speed'](){const _0x1d896a={_0x4981e5:0x4c};function _0x124799(_0x2a0d62,_0x323da2){return _0x7afdbe(_0x323da2,_0x2a0d62- -0x1cd);}function _0x2f96b9(_0x1aa916,_0x4ef5d5){return _0x7afdbe(_0x4ef5d5,_0x1aa916-_0x1d896a._0x4981e5);}return this[_0x2f96b9(0xb2a,0xbab)][_0x124799(0x1101,0xf20)]||0x1;}set['speed'](_0x3f6568){function _0x5e3da1(_0x2f6cac,_0x39d40c){return _0x54a7f1(_0x2f6cac- -0x377,_0x39d40c);}this['options'][_0x5e3da1(0xd29,0x493)]=Number(_0x3f6568);}get['color'](){return this['_color'];}set['color'](_0x3abda8){const _0x2dcc4a={_0x30a7fc:0x453,_0x16ba2f:0x6da,_0xff6ffa:0x2cb,_0x4fc703:0x1365,_0x4c333c:0x1e6,_0x46c547:0x893};var _0x50cc61;function _0x1647af(_0x416cab,_0x939b53){return _0x54a7f1(_0x939b53- -0x15c,_0x416cab);}function _0x14479f(_0x2ec7a1,_0x2c22cb){return _0x7afdbe(_0x2c22cb,_0x2ec7a1- -0x3b6);}this[_0x14479f(0x867,0xab2)]=getCesiumColor(_0x3abda8),((_0x50cc61=this['_map']['scene']['globe']['material'])===null||_0x50cc61===void 0x0?void 0x0:_0x50cc61[_0x1647af(_0x2dcc4a._0x30a7fc,_0x2dcc4a._0x16ba2f)])===FloodByMaterialType&&(this['_map']['scene'][_0x14479f(0xf7,-0x7c3)][_0x14479f(_0x2dcc4a._0xff6ffa,-0x6cf)][_0x14479f(_0x2dcc4a._0x4fc703,0x16da)]['u_flood_color']=this[_0x1647af(_0x2dcc4a._0x4c333c,_0x2dcc4a._0x46c547)]);}get[_0x7afdbe(-0x16,0x849)](){const _0x49e4d5={_0x37b057:0xb6};function _0xa5e6e9(_0x1ef50a,_0x3d401f){return _0x54a7f1(_0x3d401f- -_0x49e4d5._0x37b057,_0x1ef50a);}var _0x23030b;return!((_0x23030b=this[_0xa5e6e9(0xd4e,0x1344)])!==null&&_0x23030b!==void 0x0&&_0x23030b['onlySelf']);}set['showElseArea'](_0x33c1f3){this['analysisOptions']['onlySelf']=!_0x33c1f3;}['_addedHook'](){const _0x204fc8={_0x3a628f:0x10a8,_0x2d3ac5:0x3e7,_0x3d9c6a:0x7d6,_0x3ca26a:0xd49,_0x11da7e:0x778},_0x44624b={_0xd6d5a7:0x4c9};function _0x3efad7(_0x1ad69a,_0x2fb77e){return _0x7afdbe(_0x1ad69a,_0x2fb77e- -0xd1);}this['_map'][_0x341704(_0x204fc8._0x3a628f,0xbb6)]['globe']['material']=Cesium__namespace['Material']['fromType'](FloodByMaterialType),this['color']=this[_0x341704(-0x42a,_0x204fc8._0x2d3ac5)][_0x341704(_0x204fc8._0x3d9c6a,_0x204fc8._0x3ca26a)]??new Cesium__namespace['Color'](0.15,0.7,0.95,0.5),this['showElseArea']=this['options'][_0x3efad7(0x112c,_0x204fc8._0x11da7e)]??!![];function _0x341704(_0x380ee3,_0x3e6fb7){return _0x54a7f1(_0x3e6fb7- -_0x44624b._0xd6d5a7,_0x380ee3);}super['_addedHook']();}['setOptions'](_0x5001d0){const _0x356589={_0x59fa2c:0xe47,_0x22ebe8:0x83a,_0x1f4222:0xcba,_0x4383e2:0x83a,_0x567a56:0x467,_0x4409b:0x339,_0x3382ad:0x5bb,_0x1aec41:0x957,_0x3a2bd1:0x7e0,_0x154632:0xe1e,_0x34f9c9:0x119c,_0x41b0ab:0x969},_0x52977a={_0x57e6be:0x76};_0x5001d0&&(this['options']={...this[_0x54ea9f(0x83a,_0x356589._0x59fa2c)],..._0x5001d0});this['stop']();let _0x2af870=this[_0x54ea9f(_0x356589._0x22ebe8,0x23c)][_0x54ea9f(0xea5,_0x356589._0x1f4222)],_0x2bb279=this[_0x54ea9f(_0x356589._0x4383e2,0xc87)][_0x54ea9f(0x1e7,_0x356589._0x567a56)];if(!Cesium__namespace[_0x54ea9f(0x160b,0xdb5)](_0x2af870)){logError('minHeight\x20请传入有效数值!',_0x2af870);return;}if(!Cesium__namespace['defined'](_0x2bb279)){logError(_0x54ea9f(_0x356589._0x4409b,-_0x356589._0x3382ad),_0x2bb279);return;}if(_0x2af870>_0x2bb279){const _0x5eeb49=_0x2af870;_0x2af870=_0x2bb279,_0x2bb279=_0x5eeb49;}this[_0x54ea9f(0xb00,_0x356589._0x1aec41)]=_0x2af870;function _0x3b7a5d(_0x5e709e,_0x59ea6f){return _0x54a7f1(_0x59ea6f-0x254,_0x5e709e);}function _0x54ea9f(_0x484549,_0x1ee306){return _0x54a7f1(_0x484549- -_0x52977a._0x57e6be,_0x1ee306);}return this['_maxHeight']=_0x2bb279,this['height']=_0x2af870,this['_map'][_0x54ea9f(0x1009,0x1197)][_0x3b7a5d(_0x356589._0x3a2bd1,0x4d3)][_0x3b7a5d(0x96,0x6a7)]=Cesium__namespace['Material'][_0x3b7a5d(0x163a,_0x356589._0x154632)](FloodByMaterialType,{'u_flood_val':this['height'],'u_flood_color':this[_0x54ea9f(_0x356589._0x34f9c9,_0x356589._0x41b0ab)]}),this;}['_enabledHook'](_0x31f0ae){const _0x23f452={_0x576b33:0x504,_0x4d2cdd:0xd8a,_0x510585:0xa96,_0x14c196:0x947},_0x3b7502={_0x35b623:0x3d8};var _0x2e5470;function _0x3ddbe7(_0x5e7bf9,_0x31f866){return _0x7afdbe(_0x31f866,_0x5e7bf9- -0x11d);}function _0x4e48f8(_0x2d2b46,_0x271beb){return _0x7afdbe(_0x271beb,_0x2d2b46- -_0x3b7502._0x35b623);}super[_0x4e48f8(_0x23f452._0x576b33,_0x23f452._0x4d2cdd)](_0x31f0ae);if(_0x31f0ae)this['_map']['scene'][_0x4e48f8(0xd5,_0x23f452._0x510585)]['material']=Cesium__namespace['Material']['fromType'](FloodByMaterialType,{'u_flood_val':this['height'],'u_flood_color':this['color']});else((_0x2e5470=this[_0x4e48f8(0x629,0x6e)][_0x3ddbe7(0x1190,0xbc1)]['globe']['material'])===null||_0x2e5470===void 0x0?void 0x0:_0x2e5470[_0x3ddbe7(_0x23f452._0x14c196,0x2a6)])===FloodByMaterialType&&(this['_map']['scene'][_0x4e48f8(0xd5,0x554)]['material']=null);}['start'](){const _0x46080f={_0x366720:0x4db,_0x5b1bbd:0xde6,_0x1ec5c1:0xe1b,_0x427702:0x16ba};this['stop']();function _0x471508(_0x91ed11,_0x5cf07a){return _0x54a7f1(_0x91ed11- -0x22e,_0x5cf07a);}this['isStart']=!![];function _0x7c2d53(_0x2cb3d2,_0x2a5d4f){return _0x7afdbe(_0x2cb3d2,_0x2a5d4f- -0x4d2);}this['fire'](EventType[_0x7c2d53(_0x46080f._0x366720,0x687)]),this[_0x471508(0x5a5,_0x46080f._0x5b1bbd)]['on'](EventType[_0x471508(_0x46080f._0x1ec5c1,_0x46080f._0x427702)],this['_onClockTickHandler'],this);}[_0x54a7f1(0x11a0,0xf01)](_0x2f61fb){const _0x247f40={_0x24f84c:0x2bf,_0x2e110b:0x977,_0x58144c:0xf25,_0x480d39:0xc06};function _0x469a2f(_0x533534,_0x3d75af){return _0x54a7f1(_0x533534- -0x334,_0x3d75af);}function _0x3d56db(_0x50d668,_0x3a419b){return _0x7afdbe(_0x50d668,_0x3a419b- -0x5d6);}this[_0x3d56db(0x505,_0x247f40._0x24f84c)]+=this['speed']/0x32;if(this[_0x469a2f(0x333,_0x247f40._0x2e110b)]>this[_0x3d56db(_0x247f40._0x58144c,_0x247f40._0x480d39)]){this['height']=this['_maxHeight'],this['stop']();return;}if(this[_0x469a2f(0x333,0x8fc)]<this['_minHeight']){this['height']=this[_0x469a2f(0x842,0x5ba)],this[_0x3d56db(-0x48e,0x3d2)]();return;}this[_0x469a2f(0xb84,0x41b)](EventType['change'],{'height':this['height']});}[_0x54a7f1(0x77a,0x22)](){const _0x459016={_0x24c091:0xbcd,_0x51eff0:0xecb,_0x31e0d5:0xa3c,_0x288e3d:0x277,_0x38a874:0x68f};if(!this[_0x4ab6d7(0x6d5,0x617)])return;this['_map']['off'](EventType[_0x36c260(_0x459016._0x24c091,_0x459016._0x51eff0)],this['_onClockTickHandler'],this),this['isStart']=![];function _0x4ab6d7(_0x3a8b13,_0x1b5d89){return _0x54a7f1(_0x1b5d89- -0x157,_0x3a8b13);}function _0x36c260(_0x55a910,_0x29a4c2){return _0x54a7f1(_0x55a910- -0x47c,_0x29a4c2);}this[_0x36c260(_0x459016._0x31e0d5,0x1331)](EventType[_0x36c260(_0x459016._0x288e3d,-_0x459016._0x38a874)]);}['restart'](){const _0x1c3a92={_0x2f9fe2:0x6b5};function _0x331f4f(_0x48ff91,_0x5c11df){return _0x54a7f1(_0x48ff91- -0x276,_0x5c11df);}this['setOptions'](),this[_0x331f4f(_0x1c3a92._0x2f9fe2,0x4c1)]();}[_0x7afdbe(0x1469,0x1551)](){const _0x2e79b2={_0x54a403:0x4db,_0x4567ca:0xdb6};function _0x3cef71(_0x11b87d,_0x40f5ba){return _0x54a7f1(_0x11b87d-0xee,_0x40f5ba);}var _0x347217;function _0x2dc2b3(_0x4ef7af,_0x17f58c){return _0x7afdbe(_0x17f58c,_0x4ef7af- -0x1a6);}this['stop'](),((_0x347217=this['_map']['scene'][_0x3cef71(0x36d,-0x4f0)][_0x2dc2b3(_0x2e79b2._0x54a403,_0x2e79b2._0x4567ca)])===null||_0x347217===void 0x0?void 0x0:_0x347217['type'])===FloodByMaterialType&&(this['_map']['scene']['globe']['material']=null),super['clear']();}}register('floodByMaterial',FloodByMaterial),Cesium__namespace['Material']['FloodByMaterialType']=FloodByMaterialType,Cesium__namespace['Material'][_0x54a7f1(0xec0,0xfc7)][_0x7afdbe(0x7db,0x8df)](FloodByMaterialType,{'fabric':{'type':FloodByMaterialType,'uniforms':{'u_flood_color':new Cesium__namespace[(_0x54a7f1(0x1284,0x1a06))](0.15,0.7,0.95,0.5),'u_flood_val':0x0},'source':GlobeFlodByMaterial},'translucent':!![]});class ContourLine extends TerrainEditBase{constructor(_0x53e677={}){const _0x352ef7={_0xd017d1:0x105b,_0x308527:0x1905,_0x32fb7e:0x11fb,_0xdc20b4:0x17de,_0x363079:0x2ff,_0xcb2a6:0xf35,_0x12fc6c:0xf8,_0x1b8f67:0xa8d,_0x18b6cf:0x31b,_0x48c885:0x1ce6,_0x2738b1:0x122f};super(_0x53e677),this[_0x16a8bf(0xc71,0x8ab)]=_0x53e677[_0x163ba4(0x4e2,0x3fc)]??!![],this[_0x163ba4(0x5cd,0xa10)]=_0x53e677['spacing']??0x64,this[_0x16a8bf(0xd0c,0x29f)]=_0x53e677[_0x16a8bf(_0x352ef7._0xd017d1,_0x352ef7._0x308527)]??1.5,this['_contourColor']=getCesiumColor(_0x53e677['color'],Cesium__namespace[_0x16a8bf(0xd88,0x9ed)][_0x163ba4(0x122f,0xdf5)]),this['_shadingType']=_0x53e677[_0x16a8bf(_0x352ef7._0x32fb7e,_0x352ef7._0xdc20b4)]??_0x16a8bf(0xb3c,0x1015);function _0x163ba4(_0x3140f4,_0x113bf5){return _0x54a7f1(_0x3140f4-0x163,_0x113bf5);}this[_0x163ba4(0x5b7,-_0x352ef7._0x363079)]=_0x53e677['shadingAlpha']??0.6;const _0x1c4472={};_0x1c4472['step']=[0x0,0.045,0.1,0.15,0.37,0.54,0x1],_0x1c4472['color']=['#000000','#2747E0',_0x16a8bf(_0x352ef7._0xcb2a6,0x168d),'#D33038','#FF9742','#FF9742','#ffd700'];function _0x16a8bf(_0x1824cb,_0x426712){return _0x7afdbe(_0x426712,_0x1824cb- -0x72a);}const _0x6ef2a1={};_0x6ef2a1['step']=[0x0,0.2,0.4,0.6,0.8,0.9,0x1],_0x6ef2a1['color']=['#000000','#2747E0','#D33B7D',_0x16a8bf(0xa55,0xd47),'#FF9742',_0x16a8bf(_0x352ef7._0x12fc6c,0x5ec),'#ffd700'],this[_0x16a8bf(0xd73,0x10af)]=_0x53e677[_0x163ba4(0x13d2,0x1d00)]||{'elevation':_0x1c4472,'slope':{'step':[0x0,0.29,0.5,Math['sqrt'](0x2)/0x2,0.87,0.91,0x1],'color':['#000000',_0x163ba4(_0x352ef7._0x1b8f67,_0x352ef7._0x18b6cf),_0x163ba4(0x1594,_0x352ef7._0x48c885),'#D33038','#FF9742','#FF9742',_0x163ba4(0xda0,_0x352ef7._0x2738b1)]},'aspect':_0x6ef2a1},this['_minHeight']=_0x53e677['minHeight']??-0x19e,this[_0x16a8bf(0xab2,0x157a)]=_0x53e677['maxHeight']??0x2249;}get['analysisOptions'](){const _0x4858a9={_0x424065:0x6e},_0x1e0588={_0x56b0b1:0x14f};var _0x13cdbd;function _0x153862(_0x4c3d67,_0x19f61b){return _0x54a7f1(_0x4c3d67-_0x1e0588._0x56b0b1,_0x19f61b);}function _0x8e8251(_0x3fd06a,_0xa94284){return _0x54a7f1(_0xa94284- -_0x4858a9._0x424065,_0x3fd06a);}return(_0x13cdbd=this[_0x153862(0x922,0x6ff)])===null||_0x13cdbd===void 0x0||(_0x13cdbd=_0x13cdbd[_0x8e8251(0x679,0x1011)])===null||_0x13cdbd===void 0x0||(_0x13cdbd=_0x13cdbd['globe'])===null||_0x13cdbd===void 0x0||(_0x13cdbd=_0x13cdbd['_surface'])===null||_0x13cdbd===void 0x0||(_0x13cdbd=_0x13cdbd[_0x8e8251(-0x12a,0x6c2)])===null||_0x13cdbd===void 0x0||(_0x13cdbd=_0x13cdbd['marsOptions'])===null||_0x13cdbd===void 0x0?void 0x0:_0x13cdbd['flood'];}get[_0x54a7f1(0x37f,0xaed)](){return this['_contourShow'];}set[_0x7afdbe(-0x9d,0x5ad)](_0x3f26a7){const _0x28f113={_0x2e171d:0xd88};function _0x200071(_0x47f77f,_0x3506f3){return _0x7afdbe(_0x3506f3,_0x47f77f- -0x52b);}this[_0x24fefc(0x114c,_0x28f113._0x2e171d)]=_0x3f26a7;function _0x24fefc(_0x3e518e,_0x1b725a){return _0x54a7f1(_0x1b725a- -0x3e5,_0x3e518e);}this[_0x200071(0x27e,0x864)]();}get['shadingType'](){return this['_shadingType'];}set[_0x54a7f1(0x16f7,0x174a)](_0x5a2efc){const _0x59c553={_0x44fcc0:0xbb1};function _0x496034(_0x1a9219,_0xc9525d){return _0x54a7f1(_0xc9525d-0x130,_0x1a9219);}this[_0x496034(0xc64,_0x59c553._0x44fcc0)]=_0x5a2efc,this['updateMaterial']();}get['shadingAlpha'](){return this['_shadingAlpha'];}set['shadingAlpha'](_0x20a20b){const _0x363b2c={_0x1eecfb:0x71d};function _0x5c2eb6(_0x44f97c,_0x45905a){return _0x54a7f1(_0x45905a-0x28a,_0x44f97c);}this['_shadingAlpha']=_0x20a20b,this[_0x5c2eb6(_0x363b2c._0x1eecfb,0x805)]();}get['width'](){function _0x3d3a40(_0x5c62ae,_0x9fd0ec){return _0x7afdbe(_0x5c62ae,_0x9fd0ec- -0x34f);}return this[_0x3d3a40(0xdc4,0x10e7)];}set['width'](_0x5736d5){const _0x27143d={_0x442d61:0x1714,_0x4dcd15:0x110d,_0x5ec497:0x1663},_0x2647da={_0x5e4f42:0x343};function _0x2539f3(_0x44029e,_0x559b57){return _0x7afdbe(_0x559b57,_0x44029e- -_0x2647da._0x5e4f42);}function _0x54a726(_0x654c16,_0xce057c){return _0x7afdbe(_0xce057c,_0x654c16- -0x10a);}this['_contourWidth']=_0x5736d5,this[_0x2539f3(0xed4,_0x27143d._0x442d61)]&&(this[_0x54a726(_0x27143d._0x4dcd15,_0x27143d._0x5ec497)]['width']=_0x5736d5);}get[_0x7afdbe(0x16a8,0x1402)](){return this['_contourSpacing'];}set[_0x54a7f1(0x11d4,0x1360)](_0x41cc79){const _0x2e1506={_0x2d2fc1:0xe51};this['_contourSpacing']=_0x41cc79;function _0x2fd946(_0x4f9c9f,_0x14b66b){return _0x54a7f1(_0x14b66b- -0x383,_0x4f9c9f);}this['contourUniforms']&&(this['contourUniforms'][_0x2fd946(0x572,_0x2e1506._0x2d2fc1)]=_0x41cc79);}get[_0x7afdbe(0xef0,0x1440)](){return this['_contourColor'];}set[_0x7afdbe(0x1de7,0x1440)](_0x31ccd4){const _0x4f75d1={_0x5c0fe9:0x19b,_0x6d9230:0x195,_0x213597:0x115a};function _0x40587f(_0x41002a,_0x51909e){return _0x7afdbe(_0x51909e,_0x41002a- -0x3c1);}function _0x48389e(_0x4900f1,_0x66164d){return _0x7afdbe(_0x66164d,_0x4900f1- -0xbd);}this[_0x40587f(_0x4f75d1._0x5c0fe9,_0x4f75d1._0x6d9230)]=getCesiumColor(_0x31ccd4),this[_0x48389e(_0x4f75d1._0x213597,0x72d)]&&(this['contourUniforms']['color']=_0x31ccd4);}get[_0x54a7f1(0xf1b,0x725)](){function _0x6ada64(_0x20b31d,_0x1d1cea){return _0x54a7f1(_0x20b31d- -0x415,_0x1d1cea);}return this[_0x6ada64(0x761,0xe4)];}set['minHeight'](_0x473730){this['_minHeight']=_0x473730,this['shadingUniforms']&&(this['shadingUniforms']['minimumHeight']=_0x473730);}get[_0x54a7f1(0x25d,0x8d2)](){return this['_maxHeight'];}set['maxHeight'](_0x3ae538){const _0x47a15c={_0x58ffdd:0x1af,_0x271355:0x5a5,_0x56006b:0x434,_0x256c61:0x2d7};function _0x366fe4(_0x4b7735,_0x95c79d){return _0x54a7f1(_0x95c79d- -0x41a,_0x4b7735);}function _0x13184c(_0x1d6df8,_0x48bff1){return _0x7afdbe(_0x1d6df8,_0x48bff1- -0x5a9);}this[_0x13184c(0x919,0xc33)]=_0x3ae538,this['shadingUniforms']&&(this[_0x13184c(_0x47a15c._0x58ffdd,_0x47a15c._0x271355)][_0x366fe4(_0x47a15c._0x56006b,_0x47a15c._0x256c61)]=_0x3ae538);}get[_0x54a7f1(0x61b,0x521)](){var _0x5cf9ec;return!((_0x5cf9ec=this['analysisOptions'])!==null&&_0x5cf9ec!==void 0x0&&_0x5cf9ec['onlySelf']);}set['showElseArea'](_0x1a1c0d){this['analysisOptions']['onlySelf']=!_0x1a1c0d;}['_enabledHook'](_0x1446dc){const _0x47c72e={_0x32a0c0:0xd86};super[_0x2e378c(0x856,_0x47c72e._0x32a0c0)](_0x1446dc);function _0x2e378c(_0x11650e,_0x5d78b5){return _0x54a7f1(_0x11650e-0x1a8,_0x5d78b5);}this['updateMaterial']();}['_clearAnalysis'](){const _0x5c5a9d={_0x2b7c2b:0x3e5},_0x54ebbb={_0x2a5e73:0x79};function _0x57bf7e(_0x4c8d41,_0x246460){return _0x7afdbe(_0x246460,_0x4c8d41- -_0x54ebbb._0x2a5e73);}super['_clearAnalysis'](),this['contourUniforms']=null,this['shadingUniforms']=null,this[_0x57bf7e(0x988,_0x5c5a9d._0x2b7c2b)]['scene']['globe']['material']=undefined;}[_0x54a7f1(0x1121,0xadf)](){const _0x19a97c={_0x4c731b:0x4ba};function _0x2acfeb(_0xf32386,_0x12fae8){return _0x54a7f1(_0xf32386-0xcb,_0x12fae8);}this['_last_material']=this[_0x2acfeb(0x89e,0x774)]['scene'][_0x49e362(-0x3ab,-0x23b)]['material'];function _0x49e362(_0x4b8100,_0x47153d){return _0x54a7f1(_0x47153d- -_0x19a97c._0x4c731b,_0x4b8100);}super['_addedHook']();}['_removedHook'](){const _0x6d11ed={_0x5b97b3:0x46f,_0x55d434:0x372},_0x34d528={_0x2f4d35:0x13c};function _0x4d850c(_0x127146,_0x4a6340){return _0x7afdbe(_0x4a6340,_0x127146- -_0x34d528._0x2f4d35);}function _0x27676d(_0x3f2c12,_0x4a67f3){return _0x54a7f1(_0x3f2c12-0x1f0,_0x4a67f3);}super['_removedHook'](),this['_map']['scene'][_0x27676d(_0x6d11ed._0x5b97b3,_0x6d11ed._0x55d434)][_0x27676d(0x643,0x9a1)]=this['_last_material'],delete this['_last_material'],this['_hasResetEnableLighting']&&(this['_map']['scene'][_0x27676d(_0x6d11ed._0x5b97b3,-0x2b0)]['enableLighting']=![],this['_map']['clock']['currentTime']=Cesium__namespace['JulianDate'][_0x4d850c(0x70e,0xccd)](),delete this['_hasResetEnableLighting']);}[_0x7afdbe(0x182f,0x1903)](){const _0x21a3da={_0x32fb93:0xf1};function _0x237f3e(_0x486bba,_0x4c9e69){return _0x7afdbe(_0x486bba,_0x4c9e69- -_0x21a3da._0x32fb93);}this[_0x237f3e(-0x242,0x6b8)]();}[_0x7afdbe(0x121c,0x82e)](_0x6200b3){const _0x5da2fb={_0x2a9e4a:0xbbb,_0x226461:0x1047,_0xce8ce8:0x543};this['_map'][_0x44a934(_0x5da2fb._0x2a9e4a,_0x5da2fb._0x226461)]['globe']['material']===undefined&&this[_0x44a934(0xfa2,_0x5da2fb._0xce8ce8)]();function _0xed3610(_0x2e7017,_0x46daaf){return _0x54a7f1(_0x46daaf-0x1a1,_0x2e7017);}function _0x44a934(_0x5ba872,_0x475fbd){return _0x54a7f1(_0x475fbd- -0x38,_0x5ba872);}super[_0xed3610(0xb11,0x7a1)](_0x6200b3);}[_0x54a7f1(0x57b,0xb48)](){const _0x2372d1={_0x2fd56d:0xcfc,_0x307652:0x179c,_0xbcb373:0xf90,_0xf8ac84:0x16a4,_0x5771ac:0x261,_0x440c3:0x42,_0x5c7d5e:0x717,_0x341c45:0x1059,_0xe13bfb:0x1d80,_0x47b530:0x951,_0x121f30:0x5a8,_0x57d8f9:0xa87,_0x32e961:0x8a8,_0x21f060:0xc5d,_0x3a029d:0xd81,_0xe53061:0x111f,_0x1ef4a2:0x4cb,_0x54f673:0x49c,_0xabd06a:0x187b,_0x5f6dda:0xd77,_0x6f10ce:0x33f,_0x568f73:0xda5,_0x1957fa:0xbeb,_0x25ca3c:0x160a,_0x5c6638:0x1236,_0x3fea8a:0xc44,_0x11b2dc:0x436,_0xd65701:0x122a},_0x13cacc={_0x5033fb:0x1b7};let _0x3fffc4,_0x496201,_0x2a93a3;const _0x248d17=this['_shadingType'];if(this[_0x55c1b9(_0x2372d1._0x2fd56d,0x536)]){if(_0x248d17===_0x59ed5a(_0x2372d1._0x307652,_0x2372d1._0xbcb373))_0x3fffc4=this['getElevationContourMaterial'](),_0x2a93a3=_0x3fffc4['materials']['elevationRampMaterial']['uniforms'],_0x2a93a3['minimumHeight']=this['minHeight'],_0x2a93a3['maximumHeight']=this['maxHeight'],_0x496201=_0x3fffc4['materials']['contourMaterial'][_0x55c1b9(0x20f4,_0x2372d1._0xf8ac84)];else{if(_0x248d17==='slope')_0x3fffc4=this['getSlopeContourMaterial'](),_0x2a93a3=_0x3fffc4['materials']['slopeRampMaterial'][_0x55c1b9(0xc3d,_0x2372d1._0xf8ac84)],_0x496201=_0x3fffc4[_0x59ed5a(0x664,-0x261)]['contourMaterial']['uniforms'];else _0x248d17==='aspect'?(_0x3fffc4=this['getAspectContourMaterial'](),_0x2a93a3=_0x3fffc4[_0x59ed5a(-0x41f,-_0x2372d1._0x5771ac)]['aspectRampMaterial']['uniforms'],_0x496201=_0x3fffc4['materials'][_0x59ed5a(-_0x2372d1._0x440c3,_0x2372d1._0x5c7d5e)][_0x59ed5a(0x15e5,_0x2372d1._0x341c45)]):(_0x3fffc4=Cesium__namespace['Material']['fromType'](_0x59ed5a(0xee6,0x4a8)),_0x496201=_0x3fffc4['uniforms']);}_0x496201['width']=this['_contourWidth'],_0x496201[_0x55c1b9(_0x2372d1._0xe13bfb,0x138b)]=this['_contourSpacing'],_0x496201['color']=this['_contourColor'];}else{if(_0x248d17===_0x59ed5a(_0x2372d1._0x47b530,0xf90))_0x3fffc4=Cesium__namespace[_0x59ed5a(0x36d,0x175)]['fromType']('ElevationRamp'),_0x2a93a3=_0x3fffc4['uniforms'],_0x2a93a3['minimumHeight']=this[_0x59ed5a(_0x2372d1._0x121f30,_0x2372d1._0x57d8f9)],_0x2a93a3[_0x55c1b9(0x79f,_0x2372d1._0x32e961)]=this['maxHeight'];else{if(_0x248d17===_0x59ed5a(0x9f6,0x1230))_0x3fffc4=Cesium__namespace['Material']['fromType']('SlopeRamp'),_0x2a93a3=_0x3fffc4[_0x55c1b9(0x1aa4,0x16a4)];else _0x248d17===_0x59ed5a(0xcc8,_0x2372d1._0x21f060)&&(_0x3fffc4=Cesium__namespace['Material'][_0x55c1b9(0x92c,_0x2372d1._0x3a029d)](_0x59ed5a(0x1887,_0x2372d1._0xe53061)),_0x2a93a3=_0x3fffc4['uniforms']);}}_0x248d17!=='none'&&_0x2a93a3&&(_0x2a93a3[_0x55c1b9(_0x2372d1._0x1ef4a2,_0x2372d1._0x54f673)]=this['getColorRamp'](_0x248d17));function _0x55c1b9(_0x29ca61,_0x8c6473){return _0x54a7f1(_0x8c6473-_0x13cacc._0x5033fb,_0x29ca61);}function _0x59ed5a(_0x2cb528,_0x7ec77e){return _0x7afdbe(_0x2cb528,_0x7ec77e- -0x6c2);}if(_0x248d17===_0x55c1b9(0xfee,_0x2372d1._0xabd06a)||_0x248d17===_0x59ed5a(0xe43,0xc5d)){if(!this[_0x59ed5a(_0x2372d1._0x5f6dda,_0x2372d1._0x6f10ce)]['scene']['globe'][_0x59ed5a(0x6dd,0x4ed)]){this['_map'][_0x59ed5a(_0x2372d1._0x568f73,_0x2372d1._0x1957fa)]['globe'][_0x59ed5a(0xe4c,0x4ed)]=!![];const _0x1869b3=new Date();_0x1869b3['setHours'](0xa),this['_map'][_0x55c1b9(0x12e2,0xb90)][_0x55c1b9(0x1494,_0x2372d1._0x25ca3c)]=Cesium__namespace[_0x55c1b9(0xdd8,0xfc1)]['fromDate'](new Date(_0x1869b3)),this['_hasResetEnableLighting']=!![];}}else this['_hasResetEnableLighting']&&(this[_0x55c1b9(0x6c5,0x98a)][_0x55c1b9(0x17bf,_0x2372d1._0x5c6638)][_0x55c1b9(_0x2372d1._0x3fea8a,_0x2372d1._0x11b2dc)]['enableLighting']=![],this['_map'][_0x55c1b9(_0x2372d1._0xd65701,0xb90)]['currentTime']=Cesium__namespace['JulianDate']['now'](),delete this[_0x59ed5a(0x8b0,0x8aa)]);this['contourUniforms']=_0x496201,this['shadingUniforms']=_0x2a93a3,this['_map']['scene']['globe']['material']=_0x3fffc4;}['getColorRamp'](_0xe0c2e2){const _0x41d727={_0x466d7d:0x11f3,_0x4a44bc:0xc33,_0x44f61e:0x14c,_0x327cf6:0x13f,_0x247587:0x157d,_0x44afa3:0xab4},_0x17634c={_0x312b12:0x1eb};var _0x162ae6;const _0x12ff96=document['createElement']('canvas');_0x12ff96[_0x4ad7dd(0xf1c,0x10a0)]=0x64,_0x12ff96[_0x100cda(0x852,_0x41d727._0x466d7d)]=0x1;const _0x3d9574={};_0x3d9574[_0x4ad7dd(_0x41d727._0x4a44bc,0x3b1)]=!![];const _0x2753aa=_0x12ff96[_0x4ad7dd(_0x41d727._0x44f61e,-_0x41d727._0x327cf6)]('2d',_0x3d9574);_0x2753aa['globalAlpha']=this['shadingAlpha'];const _0x2a3f51=_0x2753aa[_0x100cda(_0x41d727._0x247587,_0x41d727._0x44afa3)](0x0,0x0,0x64,0x0);function _0x4ad7dd(_0x5c1e2c,_0x3925e9){return _0x54a7f1(_0x3925e9- -0x4b7,_0x5c1e2c);}function _0x100cda(_0x39e54b,_0x9ccd65){return _0x54a7f1(_0x39e54b-_0x17634c._0x312b12,_0x9ccd65);}const _0x415af4=this[_0x100cda(0x145a,0x1ac4)][_0xe0c2e2];if((_0x415af4===null||_0x415af4===void 0x0||(_0x162ae6=_0x415af4['step'])===null||_0x162ae6===void 0x0?void 0x0:_0x162ae6['length'])>0x0)for(let _0x15ee54=0x0,_0x30a275=_0x415af4[_0x100cda(0x996,0x4b7)]['length'];_0x15ee54<_0x30a275;_0x15ee54++){_0x2a3f51['addColorStop'](_0x415af4['step'][_0x15ee54],_0x415af4['color'][_0x15ee54]);}return _0x2753aa[_0x4ad7dd(0x232,0x204)]=_0x2a3f51,_0x2753aa['fillRect'](0x0,0x0,0x64,0x1),_0x12ff96;}[_0x54a7f1(0x16cc,0x1fe3)](){const _0x5de4dd={_0x207b9e:0x54d,_0x1d7304:0x155a,_0x48916f:0x552,_0x1ad371:0x8a6,_0x380f8f:0xa36,_0x11efa5:0x64a,_0x3b10f0:0x780},_0x4592a0={_0x2e05ee:0x3cb},_0x5a71ba={};_0x5a71ba[_0x554686(0x46b,-_0x5de4dd._0x207b9e)]='ElevationContour';const _0x116b8b={};_0x116b8b['type']='ElevationRamp';const _0x3b5a21={};_0x3b5a21[_0x34bbe6(0x77a,0xd01)]=_0x5a71ba,_0x3b5a21[_0x554686(0x1289,_0x5de4dd._0x1d7304)]=_0x116b8b;const _0x207591={};_0x207591[_0x554686(_0x5de4dd._0x48916f,_0x5de4dd._0x1ad371)]='contourMaterial.alpha\x20==\x200.0\x20?\x20elevationRampMaterial.diffuse\x20:\x20contourMaterial.diffuse',_0x207591['alpha']='max(contourMaterial.alpha,\x20elevationRampMaterial.alpha)';const _0x5fd2ee={};_0x5fd2ee['type']='ElevationColorContour',_0x5fd2ee['materials']=_0x3b5a21,_0x5fd2ee[_0x554686(_0x5de4dd._0x380f8f,_0x5de4dd._0x11efa5)]=_0x207591;function _0x554686(_0x21ead9,_0x5b1ca2){return _0x54a7f1(_0x21ead9- -_0x4592a0._0x2e05ee,_0x5b1ca2);}function _0x34bbe6(_0x238dda,_0x5b3103){return _0x7afdbe(_0x5b3103,_0x238dda- -0x65f);}const _0x3035f5={};return _0x3035f5['fabric']=_0x5fd2ee,_0x3035f5[_0x34bbe6(0x1e8,-_0x5de4dd._0x3b10f0)]=![],new Cesium__namespace['Material'](_0x3035f5);}[_0x7afdbe(0xd9c,0x964)](){const _0x12a198={_0x129a80:0x262,_0x3f90d3:0xc68,_0xb1b107:0x1073,_0x5c9f0a:0x13b3},_0x3b88e3={_0x392294:0x502},_0x19a1b1={};_0x19a1b1['type']='ElevationContour';const _0x1a2290={};_0x1a2290[_0x1a223c(-0x24a,0x562)]='SlopeRamp';const _0x5728b6={};_0x5728b6['contourMaterial']=_0x19a1b1,_0x5728b6[_0x1a223c(0x60f,0x1085)]=_0x1a2290;const _0x2a3631={};function _0x3c6598(_0x77d1a5,_0x579750){return _0x7afdbe(_0x77d1a5,_0x579750-0x44);}_0x2a3631['diffuse']=_0x3c6598(-_0x12a198._0x129a80,0x5b1),_0x2a3631['alpha']=_0x1a223c(0xfc9,0x10f5);const _0x195b59={};_0x195b59['type']='SlopeColorContour',_0x195b59['materials']=_0x5728b6,_0x195b59[_0x3c6598(_0x12a198._0x3f90d3,_0x12a198._0xb1b107)]=_0x2a3631;const _0x13f3fa={};_0x13f3fa[_0x1a223c(_0x12a198._0x5c9f0a,0xc2d)]=_0x195b59,_0x13f3fa['translucent']=![];function _0x1a223c(_0x40dbde,_0x25f7f7){return _0x7afdbe(_0x40dbde,_0x25f7f7- -_0x3b88e3._0x392294);}return new Cesium__namespace['Material'](_0x13f3fa);}[_0x7afdbe(0xfff,0x884)](){const _0x1e6699={_0x5ee90d:0x415,_0x2c28e1:0xf5d,_0x2cac31:0xcb7,_0x224fe4:0x7ce},_0x328a60={_0x284ea9:0x389},_0x11e8e8={};_0x11e8e8['type']='ElevationContour';const _0x249503={};_0x249503[_0x21ac1a(0x32e,0x79e)]='AspectRamp';const _0x460786={};_0x460786[_0x5c2ee4(0x13b4,0xa50)]=_0x11e8e8;function _0x5c2ee4(_0x3ecfcc,_0x29ecdb){return _0x7afdbe(_0x3ecfcc,_0x29ecdb- -_0x328a60._0x284ea9);}_0x460786['aspectRampMaterial']=_0x249503;const _0x5060b6={};function _0x21ac1a(_0x4a799e,_0x4b180f){return _0x54a7f1(_0x4a799e- -0x508,_0x4b180f);}_0x5060b6[_0x21ac1a(_0x1e6699._0x5ee90d,0x9fd)]=_0x5c2ee4(0xb0b,_0x1e6699._0x2c28e1),_0x5060b6['alpha']='max(contourMaterial.alpha,\x20aspectRampMaterial.alpha)';const _0x589ffe={};_0x589ffe['type']=_0x21ac1a(0x126f,_0x1e6699._0x2cac31),_0x589ffe['materials']=_0x460786,_0x589ffe['components']=_0x5060b6;const _0x150977={};return _0x150977['fabric']=_0x589ffe,_0x150977[_0x21ac1a(0x111,-_0x1e6699._0x224fe4)]=![],new Cesium__namespace['Material'](_0x150977);}}register('contourLine',ContourLine);class TerrainFlat extends TerrainEditBase{get[_0x7afdbe(0x1a99,0x1628)](){const _0x425bca={_0x56787f:0xf54,_0x423686:0x154,_0x44b4a2:0x85a,_0x54febc:0x76f,_0x3b8ac7:0x8c0,_0x3951c1:0x900};function _0x24a174(_0x35b9a7,_0xabfca4){return _0x7afdbe(_0x35b9a7,_0xabfca4- -0x5e);}function _0x4a38bf(_0x4265a1,_0x52b850){return _0x7afdbe(_0x52b850,_0x4265a1- -0x359);}var _0x194559;return(_0x194559=this['_map'])===null||_0x194559===void 0x0||(_0x194559=_0x194559[_0x4a38bf(_0x425bca._0x56787f,0xab8)])===null||_0x194559===void 0x0||(_0x194559=_0x194559[_0x4a38bf(_0x425bca._0x423686,-_0x425bca._0x44b4a2)])===null||_0x194559===void 0x0||(_0x194559=_0x194559[_0x24a174(_0x425bca._0x54febc,_0x425bca._0x3b8ac7)])===null||_0x194559===void 0x0||(_0x194559=_0x194559[_0x24a174(0x95a,_0x425bca._0x3951c1)])===null||_0x194559===void 0x0||(_0x194559=_0x194559['marsOptions'])===null||_0x194559===void 0x0?void 0x0:_0x194559['flat'];}['_enabledHook'](_0x33ce6a){this['analysisOptions']['enabled']=_0x33ce6a;}[_0x54a7f1(0xa4f,-0x11)](){this['clear'](),this['analysisOptions']['enabled']=![];}['_updateAnalysisOptions'](_0xf5539f){const _0x148111={_0x4d4c55:0x15e9,_0x49991a:0x121d},_0x184560={_0x2bebf9:0x14cc,_0x3cbe56:0x1691,_0x3ca224:0xe55,_0x82eaeb:0x781,_0x2d2f3e:0x11ce},_0x3eea94={_0x10e5ee:0x756},_0xb0c27f={_0x3d24c8:0x590};let _0x5a39f2;function _0x5eb885(_0x51bdfd,_0x4a5f76){return _0x7afdbe(_0x4a5f76,_0x51bdfd- -_0xb0c27f._0x3d24c8);}const _0x74adb8=[],_0x2c5aa8=[];function _0x5f1988(_0x15afff,_0x20939e){return _0x54a7f1(_0x15afff- -0x1dd,_0x20939e);}const _0x370f76=[];_0xf5539f['forEach'](_0x17d1f=>{const _0x155c6c={_0x4ac112:0x1a2},_0x1149f8={_0xefe4b3:0x74},_0x1f9acb={_0x3887df:0x104},_0x118605=_0x17d1f[_0x317410(0x62c,0xfe8)];_0x2c5aa8['push'](_0x118605),_0x17d1f[_0x54001d(0x18ee,0x1691)][_0x54001d(_0x184560._0x2bebf9,0x135b)]=_0x17d1f['height']||0x0,_0x370f76['push'](_0x17d1f[_0x54001d(0x17f8,_0x184560._0x3cbe56)]);function _0x54001d(_0x3a7039,_0x1d71ec){return _0x536c(_0x1d71ec-_0x1f9acb._0x3887df,_0x3a7039);}let _0x5513f5=_0x118605[0x0]['height'];function _0x317410(_0xe149c9,_0x16c063){return _0x536c(_0xe149c9-_0x1149f8._0xefe4b3,_0x16c063);}_0x118605['forEach'](_0x3c4520=>{function _0x146751(_0x350bf0,_0x5cd05c){return _0x317410(_0x350bf0-_0x155c6c._0x4ac112,_0x5cd05c);}_0x5513f5=Math['min'](_0x5513f5,_0x3c4520[_0x146751(_0x3eea94._0x10e5ee,0x4da)]);}),_0x74adb8[_0x317410(_0x184560._0x3ca224,0x747)](_0x5513f5-(_0x17d1f['height']||0x0)),Cesium__namespace[_0x54001d(0x1186,0x165e)](_0x5a39f2)?_0x5a39f2=Cesium__namespace['Rectangle'][_0x317410(_0x184560._0x82eaeb,_0x184560._0x2d2f3e)](_0x5a39f2,_0x17d1f[_0x317410(0x1601,0x111f)]):_0x5a39f2=_0x17d1f['_rectangle'];}),this[_0x5f1988(0x121d,_0x148111._0x4d4c55)]['heights']=_0x74adb8,this['analysisOptions'][_0x5eb885(-0x96,0x3d1)]=_0x5a39f2,this['analysisOptions']['rectangles']=_0x370f76,this[_0x5f1988(_0x148111._0x49991a,0x138f)][_0x5f1988(0x398,-0x1c5)]=_0x2c5aa8;}}register(_0x7afdbe(0x768,0xc5d),TerrainFlat);class TerrainUplift extends TerrainEditBase{get['analysisOptions'](){const _0x442124={_0xa12910:0x5e6};var _0x4dd726;function _0xdf28d8(_0x297f25,_0x21bac1){return _0x54a7f1(_0x21bac1- -0x1ed,_0x297f25);}return(_0x4dd726=this[_0xdf28d8(-0x45c,_0x442124._0xa12910)])===null||_0x4dd726===void 0x0||(_0x4dd726=_0x4dd726['scene'])===null||_0x4dd726===void 0x0||(_0x4dd726=_0x4dd726['globe'])===null||_0x4dd726===void 0x0||(_0x4dd726=_0x4dd726['_surface'])===null||_0x4dd726===void 0x0||(_0x4dd726=_0x4dd726['tileProvider'])===null||_0x4dd726===void 0x0||(_0x4dd726=_0x4dd726['marsOptions'])===null||_0x4dd726===void 0x0?void 0x0:_0x4dd726['uplift'];}get[_0x7afdbe(0xcb6,0x9c1)](){var _0x355d8d;return(_0x355d8d=this['analysisOptions'])===null||_0x355d8d===void 0x0?void 0x0:_0x355d8d['showUp'];}set['showUp'](_0x5ab5f7){this['analysisOptions']['showUp']=_0x5ab5f7;}get[_0x7afdbe(0x142c,0xd7e)](){return this['options']['upHeight']??0x0;}set['upHeight'](_0x246d7e){const _0x2a1f49={_0x4bb10d:0x921,_0x5624a1:0x16a7};this[_0x14520d(0x940,0x1150)][_0x14520d(0xbe0,0xf17)]=_0x246d7e;function _0x14520d(_0x5df7a3,_0x37aca1){return _0x7afdbe(_0x37aca1,_0x5df7a3- -0x19e);}function _0x3bd97b(_0x59728a,_0x8b5a07){return _0x7afdbe(_0x8b5a07,_0x59728a- -0x335);}if(this['_areaList']['length']>0x0){this['analysisOptions']['height']=_0x246d7e,this['analysisOptions']['hasUpdate']=!![];for(let _0x5e36f4=0x0;_0x5e36f4<this['_areaList'][_0x14520d(0x1015,_0x2a1f49._0x4bb10d)];_0x5e36f4++){const _0x35ccb6=this['_areaList'][_0x5e36f4];_0x35ccb6[_0x14520d(0xeb7,_0x2a1f49._0x5624a1)]&&_0x35ccb6['upGraphic']['setUpHeight'](_0x246d7e);}}}['_enabledHook'](_0x1a2087){const _0xe23707={_0x585107:0x1acd,_0x45c7b5:0x1182},_0x18534a={_0x516e43:0x727};function _0x5d7329(_0xb330cc,_0x45539f){return _0x7afdbe(_0xb330cc,_0x45539f- -_0x18534a._0x516e43);}this[_0x4c23ca(_0xe23707._0x585107,0x1147)]['enabled']=_0x1a2087;function _0x4c23ca(_0x3c8cd3,_0x4b27a4){return _0x54a7f1(_0x4b27a4- -0x2b3,_0x3c8cd3);}this['_graphicLayer']&&(this[_0x4c23ca(0x1482,_0xe23707._0x45c7b5)][_0x5d7329(0x1870,0x10fa)]=_0x1a2087);}[_0x7afdbe(0xc8e,0x134f)](){const _0x1275e6={_0x42b0b9:0xf06,_0x59db5c:0xd00,_0x171944:0xaad,_0x3175e8:0x9d0},_0x422b1e={_0x522f91:0x31};this[_0x331514(_0x1275e6._0x42b0b9,0x9d0)][_0x49e5f0(_0x1275e6._0x59db5c,0x118b)]['verticalExaggeration']===0x1&&(this['_map']['scene']['verticalExaggeration']=1.001);function _0x49e5f0(_0x5a3edd,_0x49e34f){return _0x54a7f1(_0x5a3edd- -0x37f,_0x49e34f);}function _0x331514(_0x3b966d,_0x24db71){return _0x7afdbe(_0x3b966d,_0x24db71- -_0x422b1e._0x522f91);}!this['_map']['scene']['globe']['depthTestAgainstTerrain']&&(this['_map'][_0x331514(0x91f,0x127c)]['globe']['depthTestAgainstTerrain']=!![],this['_hasChangeDepthTestAgainstTerrain']=!![]),this['_graphicLayer']=new GraphicLayer({...this[_0x331514(0x143b,_0x1275e6._0x171944)],'private':!![]}),this[_0x331514(0x1268,_0x1275e6._0x3175e8)]['addLayer'](this['_graphicLayer']),super['_addedHook']();}['_removedHook'](){const _0x4d94ab={_0x137a82:0x1b4f,_0x572845:0x1341,_0x53e7fa:0xbba,_0x3530c3:0x1453,_0x6602ac:0x7f1,_0x330e9e:0x1623};function _0xce64e3(_0x5a501a,_0x1b8086){return _0x7afdbe(_0x5a501a,_0x1b8086- -0x210);}function _0x454d56(_0x3e94a,_0x5d70ed){return _0x54a7f1(_0x3e94a-0x17,_0x5d70ed);}this[_0xce64e3(_0x4d94ab._0x137a82,_0x4d94ab._0x572845)](),this[_0xce64e3(0xc49,0x1418)][_0x454d56(_0x4d94ab._0x53e7fa,0xd4f)]=![],this['_map']['removeLayer'](this[_0xce64e3(0x18b5,_0x4d94ab._0x3530c3)],!![]),delete this[_0x454d56(0x144c,0x1938)],this['_hasChangeDepthTestAgainstTerrain']&&(this[_0xce64e3(0x10d7,_0x4d94ab._0x6602ac)][_0xce64e3(0xe09,0x109d)]['globe']['depthTestAgainstTerrain']=![],this[_0xce64e3(_0x4d94ab._0x330e9e,0xbdc)]=![]);}[_0x54a7f1(0x1323,0x1a58)](){const _0x4492e2={_0x4e4d17:0x1403,_0x12f931:0xfe4},_0x4b9f91={_0x27219c:0x358},_0x484be2={_0xf7a7a6:0x14e};function _0x26a9c6(_0x53986c,_0x3ba300){return _0x7afdbe(_0x3ba300,_0x53986c- -_0x484be2._0xf7a7a6);}super[_0x27eae2(0x14e4,0xfcb)]();function _0x27eae2(_0x11fcd5,_0x253ff2){return _0x54a7f1(_0x253ff2- -_0x4b9f91._0x27219c,_0x11fcd5);}this['_graphicLayer'][_0x26a9c6(_0x4492e2._0x4e4d17,_0x4492e2._0x12f931)]();}async[_0x7afdbe(0xf2d,0x1903)](_0x3b0912,_0x3c343d){const _0x44e38b={_0x314e19:0x3d2,_0x21b634:0x11a3,_0x38df9a:0x493};function _0x39a25e(_0x5bee91,_0x44249a){return _0x7afdbe(_0x44249a,_0x5bee91- -0x70c);}_0x3c343d={...this[_0x39a25e(_0x44e38b._0x314e19,0x1e1)],..._0x3c343d};function _0x25f39c(_0x6f0f26,_0x698478){return _0x54a7f1(_0x698478- -0x70,_0x6f0f26);}if(_0x3c343d['image']&&Cesium__namespace[_0x39a25e(_0x44e38b._0x21b634,0xca8)](_0x3c343d[_0x39a25e(0xb6e,0xd98)])){await this[_0x39a25e(0x2f5,-0x417)]['readyPromise'];this['_map']['scene']['_terrainProviderPromise']&&await this['_map']['scene']['_terrainProviderPromise'];const _0x42ef50=await computeSurfaceLine({'map':this['_map'],'positions':_0x3b0912[_0x39a25e(0xc11,0x120f)][_0x25f39c(_0x44e38b._0x38df9a,0x955)](_0x3b0912['positions'][0x0]),'has3dtiles':![],'exact':_0x3c343d['exact'],'splitNum':_0x3c343d['splitNum']??0x1e});_0x3b0912['positionsNew']=_0x42ef50['positions'],this[_0x39a25e(0x94e,0x5df)](_0x3b0912,_0x3c343d);}}[_0x7afdbe(0x6e6,0x105a)](_0x177dd1,_0x6d58b4){const _0x3694a0={_0x43c71e:0x1137,_0x910e4d:0x126f,_0x5ed674:0x627,_0x3d06da:0xfa0,_0x8c204d:0xbf0,_0x1d4daf:0x15e0,_0x457f00:0xe0e,_0x41a7e6:0xd9d,_0x199071:0x1187,_0x1920db:0x1439,_0x2bf5be:0xd44,_0x45af04:0xbf8,_0x100c67:0x18c6,_0x4eb373:0x1f48},_0x5b89e7={_0x4d0bda:0x196},_0x285dac={_0x77519f:0x4b9};if(!this[_0xa55008(0x100f,0x731)](_0x177dd1['id']))return;const _0x1e53c6=_0x177dd1['positionsNew'],_0x466933=[];let _0x151f83=Number[_0xa55008(_0x3694a0._0x43c71e,0x11cf)];for(let _0x574d61=0x0,_0x4e4b42=_0x1e53c6[_0x2e7b36(0xcfa,_0x3694a0._0x910e4d)];_0x574d61<_0x4e4b42;_0x574d61++){const _0x2e83d7=Cesium__namespace['Cartographic'][_0x2e7b36(0xb2,-_0x3694a0._0x5ed674)](_0x1e53c6[_0x574d61]);_0x151f83=Math['min'](_0x151f83,_0x2e83d7['height']),_0x466933[_0xa55008(_0x3694a0._0x3d06da,_0x3694a0._0x8c204d)](_0x2e83d7['height']);}const _0x155d7c=_0x151f83-_0x6d58b4['diffHeight'],_0x1efe94=Array(_0x1e53c6['length'])[_0xa55008(_0x3694a0._0x1d4daf,_0x3694a0._0x457f00)](_0x155d7c);_0x177dd1[_0xa55008(0xfb3,0x125d)]=_0x151f83,_0x177dd1['diffHeight']=_0x6d58b4['diffHeight'];const _0x840833={};_0x840833['height']=_0x155d7c,_0x840833[_0xa55008(0xfb3,0x19b7)]=_0x151f83,_0x840833[_0xa55008(0x516,0x65e)]=_0x1e53c6,_0x840833['minimumHeights']=_0x1efe94,_0x840833[_0xa55008(_0x3694a0._0x41a7e6,0xca7)]=_0x466933;function _0x2e7b36(_0x3ae478,_0x2fa42b){return _0x7afdbe(_0x2fa42b,_0x3ae478- -_0x285dac._0x77519f);}_0x177dd1['downGraphic']=new PitEntity({'style':_0x6d58b4,'data':_0x840833,'positions':_0x177dd1[_0xa55008(_0x3694a0._0x199071,_0x3694a0._0x1920db)]}),this['_graphicLayer'][_0x2e7b36(_0x3694a0._0x2bf5be,0x1158)](_0x177dd1[_0xa55008(0x182e,0x15e2)]);const _0x3eaad5=this['upHeight'];function _0xa55008(_0x1f5049,_0x1c269a){return _0x7afdbe(_0x1c269a,_0x1f5049- -_0x5b89e7._0x4d0bda);}if(this['showUp']&&_0x3eaad5!==0x0){const _0x180d81={};_0x180d81['height']=_0x155d7c,_0x180d81['minHeight']=_0x151f83,_0x180d81[_0x2e7b36(0x1f3,0x6e0)]=_0x1e53c6,_0x180d81[_0x2e7b36(_0x3694a0._0x45af04,0xf6a)]=_0x1efe94,_0x180d81[_0xa55008(0xd9d,0x1233)]=_0x466933,_0x177dd1[_0x2e7b36(0xb9c,0xc75)]=new PitEntity({'style':_0x6d58b4,'data':_0x180d81,'positions':_0x177dd1['positions']}),this[_0x2e7b36(0x11aa,_0x3694a0._0x100c67)]['addGraphic'](_0x177dd1['upGraphic']),_0x177dd1['upGraphic'][_0xa55008(0x14c4,_0x3694a0._0x4eb373)](_0x3eaad5);}}['_removeAreaHook'](_0x303793){const _0x27131d={_0x4f25d9:0x1526,_0x452b32:0x17b8,_0x28dbd3:0x15c7,_0x344944:0xfb9};function _0x5e77dc(_0x40bb77,_0x5d544d){return _0x7afdbe(_0x40bb77,_0x5d544d- -0x9c);}function _0x2c46b4(_0x5e3ada,_0x1cd04e){return _0x54a7f1(_0x5e3ada-0xf1,_0x1cd04e);}_0x303793!==null&&_0x303793!==void 0x0&&_0x303793['downGraphic']&&(this[_0x2c46b4(_0x27131d._0x4f25d9,_0x27131d._0x452b32)]['removeGraphic'](_0x303793['downGraphic'],!![]),delete _0x303793['downGraphic']),_0x303793!==null&&_0x303793!==void 0x0&&_0x303793['upGraphic']&&(this[_0x5e77dc(0x17e1,_0x27131d._0x28dbd3)]['removeGraphic'](_0x303793['upGraphic'],!![]),delete _0x303793[_0x5e77dc(0xc81,_0x27131d._0x344944)]);}['_updateAnalysisOptions'](_0x59a172){const _0x30d1df={_0x4d9464:0x11c3,_0x5a8e5f:0x2d1},_0x4ae061={_0x20f8f5:0xca},_0x4973f7={_0x684f33:0x237},_0x14de57={_0x184627:0x1582};let _0x1a0a75;const _0x44036b=[],_0x281716=[];_0x59a172['forEach'](_0x9d1106=>{_0x44036b['push'](_0x9d1106['_cartographics']),_0x281716[_0x1890bc(0xae4,0x1339)](_0x9d1106['_rectangle']);function _0x2b6a02(_0x2d7f25,_0x3b2265){return _0x536c(_0x3b2265- -0xb,_0x2d7f25);}function _0x1890bc(_0x5e4ef6,_0x485fbc){return _0x536c(_0x5e4ef6- -0x2fd,_0x485fbc);}Cesium__namespace['defined'](_0x1a0a75)?_0x1a0a75=Cesium__namespace['Rectangle']['union'](_0x1a0a75,_0x9d1106[_0x2b6a02(0x1152,_0x14de57._0x184627)]):_0x1a0a75=_0x9d1106['_rectangle'];});function _0x5093fd(_0x3eae4d,_0x2ddda2){return _0x54a7f1(_0x2ddda2- -_0x4973f7._0x684f33,_0x3eae4d);}function _0xca9a1a(_0x58e2b7,_0x4b464d){return _0x54a7f1(_0x4b464d-_0x4ae061._0x20f8f5,_0x58e2b7);}this[_0x5093fd(0x1c70,_0x30d1df._0x4d9464)]['height']=this['upHeight'],this['analysisOptions']['rectangle']=_0x1a0a75,this['analysisOptions']['rectangles']=_0x281716,this['analysisOptions'][_0xca9a1a(_0x30d1df._0x5a8e5f,0x63f)]=_0x44036b;}[_0x54a7f1(0xf2d,0xfcd)](_0x2bdd72,_0x1311d2,_0x308a7c=0x5){const _0x20a603={_0x326ad6:0x28c,_0x2713fa:0x126c,_0x2ae4d7:0xfca,_0x20ca77:0x1b13,_0x4816b8:0xbae,_0x3bcad2:0xc22},_0x4dafe4={_0x258bc9:0xf5a,_0x32bd43:0x249,_0x51e715:0x333,_0xd966b8:0x845},_0x3fcd9d={_0xd01a62:0x441},_0x1d9d03={_0x46f28e:0xe39},_0x614960={_0x182201:0x393},_0x18e49d={_0xf96941:0x45};function _0x118da6(_0x1de401,_0x2f258d){return _0x54a7f1(_0x2f258d-_0x18e49d._0xf96941,_0x1de401);}this['_clockTickHandler']&&(this['_map']['off'](EventType['clockTick'],this['_clockTickHandler'],this),delete this[_0x118da6(0xf4d,0xd2a)]);if(this[_0x118da6(0x9d8,_0x20a603._0x326ad6)][_0x118da6(_0x20a603._0x2713fa,_0x20a603._0x2ae4d7)]===0x0)return;!Cesium__namespace['defined'](_0x2bdd72)&&(_0x2bdd72=0x0);!Cesium__namespace[_0x384b74(0x16df,_0x20a603._0x20ca77)](_0x1311d2)&&(_0x1311d2=this[_0x384b74(_0x20a603._0x4816b8,0x11e3)]);const _0x4a875a=0x14,_0x252ef3=(_0x1311d2-_0x2bdd72)/(_0x308a7c*_0x4a875a),_0xa86847=_0x252ef3<0x0;function _0x384b74(_0x4dfba4,_0x40592a){return _0x7afdbe(_0x40592a,_0x4dfba4- -0x1d0);}let _0xce3e9e=_0x2bdd72;this[_0x118da6(_0x20a603._0x3bcad2,0x28c)]['forEach'](_0x338880=>{function _0x4cbdec(_0x3e6185,_0x42efb0){return _0x384b74(_0x42efb0- -_0x614960._0x182201,_0x3e6185);}_0x338880['show']&&_0x338880['upGraphic']&&_0x338880[_0x4cbdec(0x31f,0xaf2)]['_setPositionsToCallback']();}),this[_0x384b74(0xd43,0x7ad)]=function(){if(this[_0x441bd4(-0x259,-0x57d)]['length']===0x0||!this['_map'])return;!_0xa86847&&_0xce3e9e<=_0x1311d2||_0xa86847&&_0xce3e9e>=_0x1311d2?(this[_0x441bd4(_0x4dafe4._0x258bc9,0x1259)][_0x441bd4(0x1c7,-0x476)]=_0xce3e9e,this[_0x19151d(0x395,-0x1b5)][_0x19151d(0x835,_0x4dafe4._0x32bd43)](_0x2b7592=>{function _0x1cc84c(_0x296fa9,_0x449494){return _0x441bd4(_0x296fa9-0x4b2,_0x449494);}function _0x170843(_0x2a4dff,_0x2e7c93){return _0x441bd4(_0x2e7c93-0x302,_0x2a4dff);}_0x2b7592['show']&&_0x2b7592['upGraphic']&&_0x2b7592[_0x1cc84c(_0x1d9d03._0x46f28e,0x8c7)][_0x1cc84c(0x143e,0x1b2c)](_0xce3e9e);})):(this[_0x441bd4(0x845,0x1107)]&&(this[_0x441bd4(_0x4dafe4._0x51e715,-0x2b6)]['off'](EventType['clockTick'],this[_0x441bd4(_0x4dafe4._0xd966b8,0xc55)],this),delete this['_clockTickHandler']),this['upHeight']=_0xce3e9e);function _0x441bd4(_0x20d32e,_0x54f897){return _0x118da6(_0x54f897,_0x20d32e- -0x4e5);}function _0x19151d(_0x2ad3aa,_0x53c06f){return _0x118da6(_0x2ad3aa,_0x53c06f- -_0x3fcd9d._0xd01a62);}_0xce3e9e+=_0x252ef3;},this[_0x118da6(0x30,0x818)]['on'](EventType['clockTick'],this['_clockTickHandler'],this);}}register('terrainUplift',TerrainUplift);class TerrainClip extends TerrainEditBase{constructor(_0x3d0f57={}){_0x3d0f57['czm']=_0x3d0f57[_0x351b9c(0x2cb,0x171)]??!![];function _0x351b9c(_0x5810fe,_0x1484c2){return _0x54a7f1(_0x5810fe- -0x2ef,_0x1484c2);}super(_0x3d0f57);}get[_0x54a7f1(0x13fa,0x1a1c)](){const _0x5c6556={_0x532b39:0xb74,_0x54f77c:0x317,_0x55fa21:0xab,_0x424ca2:0x574,_0x4b97e1:0xb71},_0x4ebf40={_0xa8ee15:0x38a};function _0x321f60(_0x2e9a49,_0x1d9876){return _0x54a7f1(_0x2e9a49-0x254,_0x1d9876);}function _0x4969a5(_0x5550c3,_0x9ef3c0){return _0x54a7f1(_0x5550c3- -_0x4ebf40._0xa8ee15,_0x9ef3c0);}if(this['options'][_0x4969a5(0x230,_0x5c6556._0x532b39)]){var _0x2e8ee4;return(_0x2e8ee4=this['_map'])===null||_0x2e8ee4===void 0x0||(_0x2e8ee4=_0x2e8ee4['scene'])===null||_0x2e8ee4===void 0x0||(_0x2e8ee4=_0x2e8ee4['globe'])===null||_0x2e8ee4===void 0x0?void 0x0:_0x2e8ee4[_0x4969a5(_0x5c6556._0x54f77c,_0x5c6556._0x55fa21)];}else{var _0x160759;return(_0x160759=this[_0x4969a5(0x449,0x3d6)])===null||_0x160759===void 0x0||(_0x160759=_0x160759[_0x4969a5(0xcf5,_0x5c6556._0x424ca2)])===null||_0x160759===void 0x0||(_0x160759=_0x160759[_0x321f60(0x4d3,-0x587)])===null||_0x160759===void 0x0||(_0x160759=_0x160759['_surface'])===null||_0x160759===void 0x0||(_0x160759=_0x160759[_0x321f60(0x984,_0x5c6556._0x4b97e1)])===null||_0x160759===void 0x0||(_0x160759=_0x160759['marsOptions'])===null||_0x160759===void 0x0?void 0x0:_0x160759['clip'];}}get[_0x54a7f1(0x2bc,-0x5ab)](){const _0x116c53={_0x30eaee:0x1f3},_0x31a45d={_0x879ace:0x217};function _0x4b0aa0(_0x2e1f43,_0x1e15cd){return _0x54a7f1(_0x1e15cd-_0x31a45d._0x879ace,_0x2e1f43);}return this[_0x4b0aa0(_0x116c53._0x30eaee,0xac7)]['clipOutSide'];}set['clipOutSide'](_0x340f89){const _0xec8da3={_0x3b5ced:0xb3e,_0x5216a6:0x69c,_0x28239a:0x1688};function _0x49488e(_0x42cab9,_0x372e0d){return _0x7afdbe(_0x42cab9,_0x372e0d- -0x556);}function _0x58b753(_0x483f9a,_0x4478c5){return _0x7afdbe(_0x4478c5,_0x483f9a-0x60);}this[_0x58b753(_0xec8da3._0x3b5ced,0x8f6)]['clipOutSide']=_0x340f89,this[_0x49488e(_0xec8da3._0x5216a6,0x588)][_0x58b753(0x848,0x225)]?this['length']>0x0&&(this['analysisOptions'][_0x58b753(0x169c,0x1f13)]=_0x340f89):this[_0x58b753(_0xec8da3._0x28239a,0x18eb)]['onlySelf']=_0x340f89;}get['diffHeight'](){function _0x5ca42b(_0x29bf03,_0x34ca59){return _0x7afdbe(_0x29bf03,_0x34ca59- -0x31d);}return this['options'][_0x5ca42b(0x72f,0xf5d)];}set['diffHeight'](_0x32ee7d){const _0x2da859={_0x571695:0x15df,_0x2d1a73:0x17df},_0x343188={_0x1854e1:0x84};function _0xab5478(_0x3ac251,_0x5aee4b){return _0x7afdbe(_0x3ac251,_0x5aee4b- -_0x343188._0x1854e1);}this['options'][_0xab5478(0x10ba,0x11f6)]=_0x32ee7d;function _0x2e808b(_0x34bfab,_0x4c78b4){return _0x7afdbe(_0x34bfab,_0x4c78b4- -0x640);}this[_0xab5478(0x1c3a,_0x2da859._0x571695)]&&this[_0xab5478(_0x2da859._0x2d1a73,0x15df)][_0xab5478(0x5e0,0xb25)](_0x3072b9=>{_0x3072b9['diffHeight']=_0x32ee7d;});}[_0x7afdbe(0xe0b,0x8dc)](_0x44d75a){function _0x5866a3(_0x5d4fca,_0x1da065){return _0x7afdbe(_0x5d4fca,_0x1da065- -0x5b8);}this['analysisOptions'][_0x5866a3(0x3bc,0x819)]=_0x44d75a,this['_graphicLayer']&&(this['_graphicLayer']['show']=_0x44d75a);}['_addedHook'](){const _0xe9bfdd={_0x10bc85:0x62e,_0x3a63b0:0x17ab,_0x53b7d5:0x518,_0x3fb072:0xafe,_0x4fd018:0x551,_0xc5f326:0xa6c,_0x5c6bfd:0x13ba,_0x34af45:0xdde},_0x5254cd={_0x5b3b99:0x6b},_0x496c2c={_0x2666fa:0x4b0};this[_0x166355(_0xe9bfdd._0x10bc85,0x2ae)]['czm']&&(this['_map'][_0x166355(0xdfd,_0xe9bfdd._0x3a63b0)][_0x3f875e(_0xe9bfdd._0x53b7d5,0xfae)]['clippingPolygons']=new Cesium__namespace[(_0x3f875e(0xaaa,_0xe9bfdd._0x3fb072))]({'polygons':[],'inverse':this['clipOutSide'],'enabled':this['enabled']}));!this[_0x166355(_0xe9bfdd._0x4fd018,0x83d)]['scene']['globe'][_0x3f875e(0x6fc,0x1106)]&&(this[_0x3f875e(_0xe9bfdd._0xc5f326,0x2b4)]['scene']['globe']['depthTestAgainstTerrain']=!![],this[_0x166355(0x93c,0x11d4)]=!![]);this['_graphicLayer']=new GraphicLayer({...this[_0x3f875e(0xb49,0x11d)],'private':!![]}),this['_map'][_0x3f875e(0x195f,0x1f2c)](this[_0x3f875e(0x16ce,0xec8)]);function _0x166355(_0xb5c0bd,_0x335431){return _0x7afdbe(_0x335431,_0xb5c0bd- -_0x496c2c._0x2666fa);}function _0x3f875e(_0xf68ee4,_0xb1e34c){return _0x7afdbe(_0xb1e34c,_0xf68ee4-_0x5254cd._0x5b3b99);}this['clipOutSide']=this['options']['clipOutSide']??![],super[_0x3f875e(_0xe9bfdd._0x5c6bfd,_0xe9bfdd._0x34af45)]();}[_0x7afdbe(0x16fb,0xc7d)](){const _0x1287be={_0x1c9548:0x1394,_0x1492a0:0x64a},_0x15cc71={_0x987b64:0x3};function _0x136873(_0xbd0501,_0x3b8979){return _0x7afdbe(_0x3b8979,_0xbd0501- -0x1bd);}this[_0x136873(_0x1287be._0x1c9548,0x147e)](),this['analysisOptions']['enabled']=![];function _0x483104(_0x547d26,_0x9ef9ee){return _0x54a7f1(_0x547d26- -_0x15cc71._0x987b64,_0x9ef9ee);}this['_map']['removeLayer'](this[_0x483104(0x1432,0xe5d)],!![]),delete this['_graphicLayer'],this['_hasChangeDepthTestAgainstTerrain']&&(this['_map']['scene']['globe']['depthTestAgainstTerrain']=![],this[_0x483104(0xbbb,_0x1287be._0x1492a0)]=![]);}[_0x54a7f1(0x1323,0xaff)](){const _0x558cef={_0x52daff:0x9fb,_0x144861:0x140d},_0x51f527={_0x57767a:0x35c};function _0x4d68f4(_0x2f1386,_0x702d6f){return _0x54a7f1(_0x2f1386- -0x117,_0x702d6f);}function _0x1bffb9(_0x48de4e,_0x6bdba9){return _0x7afdbe(_0x6bdba9,_0x48de4e- -_0x51f527._0x57767a);}super['clear'](),this[_0x4d68f4(0x131e,_0x558cef._0x52daff)][_0x1bffb9(0x11f5,_0x558cef._0x144861)]();}['_clearAnalysis'](){const _0x14dbdd={_0x1cf263:0xc03},_0x3f78ee={_0x2e9295:0x254};function _0x17226f(_0x3d732a,_0x55ea23){return _0x54a7f1(_0x55ea23- -0x1b0,_0x3d732a);}function _0x32d184(_0x2118fe,_0x1fb256){return _0x54a7f1(_0x2118fe- -_0x3f78ee._0x2e9295,_0x1fb256);}this['options'][_0x17226f(0x642,0x40a)]?(this[_0x17226f(0x1511,0x124a)]['removeAll'](),this['analysisOptions']['enabled']=this['enabled'],this['analysisOptions']['inverse']&&(this[_0x17226f(_0x14dbdd._0x1cf263,0x124a)]['inverse']=![])):super['_clearAnalysis']();}['_updateAnalysisOptions'](_0x51c102){const _0x178320={_0x4c8593:0x88c,_0x117ea1:0x11ba},_0x151f05={_0x49b69f:0x11c4};function _0x2645c8(_0x481b7a,_0x44f8c2){return _0x7afdbe(_0x481b7a,_0x44f8c2- -0x19);}function _0x24ba17(_0xffc44c,_0xc4aa68){return _0x7afdbe(_0xffc44c,_0xc4aa68- -0x482);}this['options']['czm']?(this['analysisOptions']['removeAll'](),_0x51c102['forEach'](_0x480bb9=>{const _0x30c787={_0x3055c2:0x139};function _0x3b5d4a(_0x3de521,_0x563626){return _0x536c(_0x3de521-_0x30c787._0x3055c2,_0x563626);}const _0x436214={};_0x436214[_0x399213(0xe6f,0x13d0)]=_0x480bb9[_0x3b5d4a(0x1101,_0x151f05._0x49b69f)];function _0x399213(_0x1f8e38,_0x1e5e47){return _0x536c(_0x1f8e38- -0x159,_0x1e5e47);}this['analysisOptions']['add'](new Cesium__namespace['ClippingPolygon'](_0x436214));}),this[_0x2645c8(_0x178320._0x4c8593,0x4d1)]&&!this['analysisOptions']['inverse']&&(this[_0x2645c8(0xe4a,0x160f)][_0x24ba17(0x1191,_0x178320._0x117ea1)]=this['clipOutSide'])):super['_updateAnalysisOptions'](_0x51c102);}async['_addAreaHook'](_0x37337f,_0x59d93c){const _0x231481={_0x3d5dc9:0x980,_0x1e9375:0x827,_0x389ffd:0x8a0,_0x9b4a8e:0x11a1,_0x5c1669:0x135a};_0x59d93c={...this['options'],..._0x59d93c};function _0x83046c(_0x2d388d,_0x528ca7){return _0x54a7f1(_0x2d388d-0x54,_0x528ca7);}function _0x358076(_0x3703d4,_0xf79011){return _0x54a7f1(_0xf79011- -0x30,_0x3703d4);}if(_0x59d93c['image']&&Cesium__namespace['defined'](_0x59d93c['diffHeight'])){await this[_0x83046c(0x827,_0x231481._0x3d5dc9)]['readyPromise'];this['_map'][_0x83046c(0x10d3,0x95e)]['_terrainProviderPromise']&&await this['_map']['scene']['_terrainProviderPromise'];const _0x975d83=await computeSurfaceLine({'map':this[_0x83046c(_0x231481._0x1e9375,0xa39)],'positions':_0x37337f['positions']['concat'](_0x37337f['positions'][0x0]),'has3dtiles':![],'exact':_0x59d93c[_0x358076(_0x231481._0x389ffd,_0x231481._0x9b4a8e)],'splitNum':_0x59d93c['splitNum']??0x1e});_0x37337f[_0x83046c(0xd46,_0x231481._0x5c1669)]=_0x975d83['positions'],this['_addPitGraphic'](_0x37337f,_0x59d93c);}}['_addPitGraphic'](_0x22188f,_0x29ee17){const _0x147a6c={_0x5107a0:0x1117,_0x53469c:0xddf,_0x4c4dda:0x13de,_0xad6a89:0x175e,_0x5baa69:0x12fe,_0x4b6b01:0x13fd,_0x22600f:0x1873},_0x4574cb={_0x465901:0x20f};if(!this['getAreaById'](_0x22188f['id']))return;const _0x3d7b32=_0x22188f[_0x55d695(0xcba,0x96d)],_0x319d7c=[];let _0x49eb21=Number['MAX_VALUE'];for(let _0x29a69b=0x0,_0x2e441e=_0x3d7b32['length'];_0x29a69b<_0x2e441e;_0x29a69b++){const _0x436b03=Cesium__namespace[_0x55d695(0x898,-0x11d)][_0x55d695(0x305,-0x9a)](_0x3d7b32[_0x29a69b]);_0x49eb21=Math['min'](_0x49eb21,_0x436b03['height']),_0x319d7c[_0x4e7d41(_0x147a6c._0x5107a0,0x1983)](_0x436b03['height']);}function _0x4e7d41(_0x347a7b,_0x1016da){return _0x54a7f1(_0x347a7b-_0x4574cb._0x465901,_0x1016da);}const _0x50c7e7=_0x49eb21-_0x29ee17['diffHeight'],_0x531739=Array(_0x3d7b32[_0x4e7d41(0x1194,0x18c8)])['fill'](_0x50c7e7);_0x22188f['minHeight']=_0x49eb21,_0x22188f['diffHeight']=_0x29ee17['diffHeight'],this['_removeAreaHook'](_0x22188f);const _0x15ea6b={};_0x15ea6b[_0x55d695(0x62f,_0x147a6c._0x53469c)]=_0x50c7e7,_0x15ea6b['minHeight']=_0x49eb21;function _0x55d695(_0x4aac1c,_0x162697){return _0x54a7f1(_0x4aac1c- -0x38,_0x162697);}_0x15ea6b['positionsWall']=_0x3d7b32,_0x15ea6b[_0x4e7d41(0x1092,_0x147a6c._0x4c4dda)]=_0x531739,_0x15ea6b[_0x4e7d41(0xf14,0x11d1)]=_0x319d7c,_0x22188f[_0x55d695(_0x147a6c._0xad6a89,0x1f76)]=new PitEntity({'style':_0x29ee17,'data':_0x15ea6b,'positions':_0x22188f[_0x4e7d41(_0x147a6c._0x5baa69,0x126a)]}),this[_0x55d695(_0x147a6c._0x4b6b01,0x193e)][_0x55d695(0xf97,0xcb7)](_0x22188f[_0x55d695(0x175e,_0x147a6c._0x22600f)]);}['_removeAreaHook'](_0xbd3cff){_0xbd3cff!==null&&_0xbd3cff!==void 0x0&&_0xbd3cff['downGraphic']&&(this['_graphicLayer']['removeGraphic'](_0xbd3cff['downGraphic'],!![]),delete _0xbd3cff['downGraphic']);}}register('terrainClip',TerrainClip);class LimitHeight extends BaseThing{get['layer'](){const _0x337361={_0x18136b:0x16da};function _0x2cddfb(_0x3d173c,_0x4545d9){return _0x7afdbe(_0x4545d9,_0x3d173c- -0x181);}return this[_0x2cddfb(_0x337361._0x18136b,0x1b4f)];}get[_0x54a7f1(0x10ef,0xbca)](){return this['options']['positions'];}set['positions'](_0x2b858c){const _0x40c50c={_0x5c4a09:0x1862,_0x1d8c90:0x1388,_0x52f988:0x5b3,_0x402900:0x1a4},_0x531155={_0x1813f7:0x58e},_0x3ab314={_0x209e6f:0x299};function _0x1b9df6(_0x576f0a,_0x421332){return _0x54a7f1(_0x421332-_0x3ab314._0x209e6f,_0x576f0a);}function _0x22750e(_0x325525,_0x4f4590){return _0x7afdbe(_0x4f4590,_0x325525- -_0x531155._0x1813f7);}this['options'][_0x1b9df6(_0x40c50c._0x5c4a09,_0x40c50c._0x1d8c90)]=_0x2b858c,this[_0x22750e(_0x40c50c._0x52f988,_0x40c50c._0x402900)]();}get['height'](){const _0x4c0d2b={_0x4cc1b1:0xf7c},_0x1a22db={_0x2cc975:0x154};function _0x27615a(_0x37c486,_0x3aaff7){return _0x54a7f1(_0x37c486- -_0x1a22db._0x2cc975,_0x3aaff7);}return this['options'][_0x27615a(0x513,_0x4c0d2b._0x4cc1b1)]||0x0;}set['height'](_0x149256){const _0x3369a1={_0x26f5ee:0xdb};this['options']['height']=_0x149256;function _0x2326fa(_0x4c9af1,_0x4948a5){return _0x54a7f1(_0x4c9af1- -_0x3369a1._0x26f5ee,_0x4948a5);}this[_0x2326fa(0x838,0x7f9)]();}get['diffHeight'](){return this['options']['diffHeight']??0x3e8;}set['diffHeight'](_0x5f1ae4){const _0x5f58d3={_0x2ab72a:0xbdf,_0x2f8b6b:0x571},_0x24c03a={_0x1b8ac5:0x1a4};function _0xea828b(_0x36a1a3,_0x537123){return _0x7afdbe(_0x36a1a3,_0x537123- -0x14d);}this['options'][_0xea828b(_0x5f58d3._0x2ab72a,0x112d)]=_0x5f1ae4;function _0x365afc(_0x1eec3d,_0x1ebbb3){return _0x54a7f1(_0x1ebbb3-_0x24c03a._0x1b8ac5,_0x1eec3d);}this[_0xea828b(_0x5f58d3._0x2f8b6b,0x9f4)]();}get['bottomHeight'](){return this['options']['bottomHeight']||0x0;}set[_0x7afdbe(0x126a,0x19d5)](_0x535caa){this['options'][_0x3c7ac0(0x1469,0x173e)]=_0x535caa;function _0x3c7ac0(_0x117e4e,_0xaf40d0){return _0x54a7f1(_0xaf40d0- -0x69,_0x117e4e);}this['_createGraphic']();}['_mountedHook'](){const _0x3cdb57={_0x33965d:0xed4,_0x52ec1e:0xc0a},_0x3a1d0a={_0x2dba01:0x150},_0x37c156={_0x42069a:0x56f};function _0x4c403c(_0x2c618a,_0x11c50d){return _0x7afdbe(_0x11c50d,_0x2c618a- -_0x37c156._0x42069a);}const _0x19a178={};_0x19a178[_0x52f976(_0x3cdb57._0x33965d,0x18b5)]=!![];function _0x52f976(_0x214c82,_0x4eea11){return _0x7afdbe(_0x4eea11,_0x214c82- -_0x3a1d0a._0x2dba01);}this[_0x4c403c(0x12ec,_0x3cdb57._0x52ec1e)]=new GraphicLayer(_0x19a178);}['_addedHook'](){const _0x1b04e7={_0x32cb41:0x1361,_0x3ee5fe:0x3a9},_0x54cf5a={_0xb6082d:0x414};function _0x2881ad(_0x1a96f3,_0x5aad49){return _0x7afdbe(_0x1a96f3,_0x5aad49- -0x735);}this[_0x2881ad(0xa28,0x2cc)]['addLayer'](this['_layer']);function _0x378df1(_0x79c5a,_0x27a58b){return _0x7afdbe(_0x79c5a,_0x27a58b- -_0x54cf5a._0xb6082d);}this[_0x378df1(0x9b4,0x6ca)][_0x2881ad(0xc4a,0xbe8)]&&(this[_0x2881ad(_0x1b04e7._0x32cb41,0xbe8)]=this[_0x2881ad(-0x678,_0x1b04e7._0x3ee5fe)][_0x2881ad(0xb77,0xbe8)]);}[_0x7afdbe(0x55c,0xc7d)](){const _0x3c50fa={_0x292d1e:0x1072},_0x347ccc={_0x36e927:0x604};function _0x54d3f4(_0x101d92,_0x2c080e){return _0x7afdbe(_0x101d92,_0x2c080e- -_0x347ccc._0x36e927);}this['_graphic']&&(this['_layer']['removeGraphic'](this[_0x50340a(0x1377,0x1a60)]),delete this['_graphic']);function _0x50340a(_0x244353,_0x536d0d){return _0x7afdbe(_0x536d0d,_0x244353- -0x119);}this['_map'][_0x50340a(_0x3c50fa._0x292d1e,0xa50)](this['_layer']);}['_createGraphic'](){const _0x2947d1={_0x2dd427:0xe38,_0x4edbb9:0x13a1,_0x4fa134:0x1477},_0xb73fd={_0x3dfa5f:0xef};this[_0x100637(0x175a,0x13a1)]&&(this['_layer'][_0x100637(0x430,0x528)](this['_graphic']),delete this[_0x100637(_0x2947d1._0x2dd427,_0x2947d1._0x4edbb9)]);if(!this['options']['positions'])return;function _0x100637(_0x4e983e,_0x4ef3a6){return _0x7afdbe(_0x4e983e,_0x4ef3a6- -_0xb73fd._0x3dfa5f);}const _0x2f00ae=LngLatArray['toCartesians'](this[_0x132b2e(0x6fa,0xe29)]['positions']);this['_graphic']=new PolygonPrimitive({'positions':_0x2f00ae,'style':{...this['options'],'height':this['bottomHeight']+this['height'],'diffHeight':this['diffHeight'],'perPositionHeight':![],'classification':!![],'classificationType':Cesium__namespace['ClassificationType']['CESIUM_3D_TILE']},'asynchronous':![]});function _0x132b2e(_0x108945,_0xcafb25){return _0x54a7f1(_0x108945- -0x1b6,_0xcafb25);}this[_0x132b2e(_0x2947d1._0x4fa134,0xb00)]['addGraphic'](this['_graphic']);}['clear'](){const _0xd7ce08={_0x23db2b:0x11,_0x426be9:0x557},_0x5b5da4={_0x38c16f:0x3ed};function _0x416fab(_0x4426df,_0x59a837){return _0x7afdbe(_0x59a837,_0x4426df- -_0x5b5da4._0x38c16f);}this['options']['positions']=null;function _0x49ffca(_0x450423,_0x3d7791){return _0x54a7f1(_0x450423- -0x3fa,_0x3d7791);}this['_graphic']&&(this['_layer'][_0x49ffca(-_0xd7ce08._0x23db2b,_0xd7ce08._0x426be9)](this['_graphic']),delete this[_0x416fab(0x10a3,0xf2a)]);}}register('limitHeight',LimitHeight);class ModelPlanClip extends TilesetPlanClip{get['clipTarget'](){function _0x3ce76a(_0x48127a,_0x5c69d3){return _0x7afdbe(_0x48127a,_0x5c69d3- -0x60b);}return this[_0x3ce76a(0x110c,0xfaa)];}set[_0x7afdbe(0xfd1,0x64f)](_0x3822f2){this['_model']=_0x3822f2,this['_inverseMatrix']=null,this['clippingPlanes']&&(this['_model']['clippingPlanes']=this['clippingPlanes']);}get['graphic'](){return this['_graphic'];}set['graphic'](_0x291810){const _0x467a63={_0x45e231:0x16e0,_0x2a8c2a:0xe8e,_0x13dc10:0x5ad,_0x5bf8ab:0x10f3},_0x21f507={_0x465712:0x221};if(_0x291810['readyPromise']){_0x291810[_0x18684c(0x1220,0x1660)][_0x18684c(0x44e,0x5b2)](_0x24b006=>{const _0x102496={_0x3fcf5f:0x504};this['_model']=_0x291810['primitive'];function _0x17cf76(_0x25b4fa,_0x172459){return _0x18684c(_0x172459,_0x25b4fa- -_0x102496._0x3fcf5f);}function _0x46ed12(_0x470196,_0x595749){return _0x488533(_0x595749- -0x1e3,_0x470196);}this[_0x17cf76(0x9f7,0xb31)]=_0x291810[_0x17cf76(_0x21f507._0x465712,0x420)];});return;}this[_0x18684c(0xde4,0x1261)]=_0x291810;function _0x488533(_0x2e60d1,_0x3be1d3){return _0x7afdbe(_0x3be1d3,_0x2e60d1- -0x3ee);}function _0x18684c(_0x24e31d,_0x5ec187){return _0x7afdbe(_0x24e31d,_0x5ec187- -0x22f);}if(_0x291810['entity'])this['_model']=_0x291810['entity'][_0x18684c(0x10ce,0x6ca)],this[_0x18684c(0x1063,0xefb)]=Cesium__namespace[_0x18684c(0xe76,0x76c)]['eastNorthUpToFixedFrame'](getPositionValue(_0x291810[_0x18684c(0xe59,_0x467a63._0x45e231)]));else{if(_0x291810 instanceof Cesium__namespace['Entity'])this[_0x18684c(_0x467a63._0x2a8c2a,0x1386)]=_0x291810['model'],this['_modelMatrix']=Cesium__namespace[_0x488533(_0x467a63._0x13dc10,-0x342)]['eastNorthUpToFixedFrame'](getPositionValue(_0x291810[_0x488533(0x1521,0x1a47)]));else{if(_0x291810[_0x18684c(0x1738,_0x467a63._0x5bf8ab)])this['_model']=_0x291810['primitive'],this['_modelMatrix']=_0x291810['modelMatrix'];else _0x291810 instanceof Cesium__namespace['Model']&&(this['_model']=_0x291810,this[_0x488533(0xd3c,0x1734)]=_0x291810['modelMatrix']);}}}get[_0x7afdbe(0x1306,0xa16)](){const _0x30a79a={_0x381354:0xd91,_0xfdde11:0xe60},_0x159919={_0x2227ed:0x50e};function _0x57b90e(_0x144d12,_0x1bc1a4){return _0x7afdbe(_0x1bc1a4,_0x144d12- -_0x159919._0x2227ed);}!this['_inverseMatrix']&&this['_modelMatrix']&&(this['_inverseMatrix']=Cesium__namespace['Matrix4'][_0x57b90e(_0x30a79a._0x381354,0xdea)](this['_modelMatrix'],new Cesium__namespace['Matrix4']()));function _0xd34033(_0x54ae5d,_0x24432a){return _0x7afdbe(_0x54ae5d,_0x24432a- -0x44b);}return this[_0xd34033(0xfd4,_0x30a79a._0xfdde11)];}['_mountedHook'](){const _0x23c23c={_0x1680d0:0xdce,_0x1eb32f:0x80b};function _0x362ead(_0x25806c,_0x52c01b){return _0x54a7f1(_0x52c01b- -0xa5,_0x25806c);}this[_0x362ead(_0x23c23c._0x1680d0,_0x23c23c._0x1eb32f)]['graphic']&&(this['graphic']=this['options']['graphic']);}}ModelPlanClip['Type']=ClipType,register('modelPlanClip',ModelPlanClip,![]);class TilesetBoxClip extends BaseThing{get['clipTarget'](){return this['_tileset'];}set[_0x7afdbe(0xe8,0x64f)](_0x32587b){const _0x180b9e={_0x1b9429:0xf49};function _0x457dfb(_0x27e50f,_0x560ffe){return _0x7afdbe(_0x560ffe,_0x27e50f-0x1);}this[_0x457dfb(0xaf1,0x77e)]=_0x32587b;function _0xc5810f(_0xe184c0,_0x3eac13){return _0x54a7f1(_0x3eac13- -0x15c,_0xe184c0);}this['_inverseMatrix']=null,Cesium__namespace['defined'](this['options']['position'])&&(this[_0xc5810f(_0x180b9e._0x1b9429,0x1585)]=this['options']['position']);}get[_0x54a7f1(0x131a,0x1396)](){return this['_layer'];}set[_0x54a7f1(0x131a,0x1c63)](_0x224e46){const _0x1e235e={_0x440291:0xcf2,_0x302b08:0x479},_0x4a7bf1={_0x100aca:0x222};this['_layer']=_0x224e46;function _0x3f1bb5(_0x33cd81,_0x6a077d){return _0x54a7f1(_0x6a077d- -_0x4a7bf1._0x100aca,_0x33cd81);}function _0x4b4cdd(_0x20d27b,_0x3b7cc2){return _0x54a7f1(_0x3b7cc2-0xad,_0x20d27b);}_0x224e46[_0x3f1bb5(0x6dd,_0x1e235e._0x440291)]?this['clipTarget']=_0x224e46[_0x4b4cdd(0x14a,_0x1e235e._0x302b08)]:_0x224e46['on'](EventType['load'],_0x5356f7=>{this['clipTarget']=_0x224e46['tileset'];});}get[_0x7afdbe(0xd25,0x6dd)](){return this['clippingPlanes'];}get[_0x54a7f1(0x7e8,0x9c1)](){const _0x3a2ce8={_0x894e89:0x4a3,_0x22c6a8:0x642,_0x590880:0x490,_0x598d71:0xc9d,_0x215f9d:0xd2e,_0x2cd55b:0x1627,_0x4e46d3:0xfd4},_0x18c38f={_0x2f2917:0x280};if(!this['_inverseMatrix']){let _0x5cd4d4;const _0xb376ce=this['_tileset']['root']['transform'];_0xb376ce&&_0xb376ce['equals'](Cesium__namespace[_0x51389e(-_0x3a2ce8._0x894e89,-0x55)][_0x51389e(-0x2fe,0x77f)])||!_0xb376ce?_0x5cd4d4=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this[_0x5cd726(_0x3a2ce8._0x22c6a8,0xd92)][_0x5cd726(_0x3a2ce8._0x590880,_0x3a2ce8._0x598d71)][_0x5cd726(0x2fd,_0x3a2ce8._0x215f9d)]):_0x5cd4d4=Cesium__namespace['Matrix4']['fromArray'](this['_tileset']['root']['transform']),this[_0x5cd726(0xdfd,_0x3a2ce8._0x2cd55b)]=Cesium__namespace[_0x51389e(-0x45d,-0x55)]['inverseTransformation'](_0x5cd4d4,new Cesium__namespace['Matrix4']());}function _0x51389e(_0x165b02,_0x335dbf){return _0x54a7f1(_0x335dbf- -0x42d,_0x165b02);}function _0x5cd726(_0x1091e9,_0x20e92a){return _0x54a7f1(_0x1091e9- -_0x18c38f._0x2f2917,_0x20e92a);}return this[_0x5cd726(0xdfd,_0x3a2ce8._0x4e46d3)];}get['center'](){const _0x4be9fc={_0x4f178a:0xd66,_0x12048f:0x503},_0x53594c={_0x3a047e:0x43b};function _0x3651e4(_0x340086,_0x4e36fc){return _0x54a7f1(_0x340086- -0x458,_0x4e36fc);}function _0x33ca9a(_0x4bdb98,_0xdee225){return _0x7afdbe(_0x4bdb98,_0xdee225- -_0x53594c._0x3a047e);}if(this['_layer'])return this[_0x33ca9a(0x186d,0x1420)][_0x3651e4(0x1289,0x105d)];return this[_0x33ca9a(0xaaa,0x6b5)][_0x33ca9a(_0x4be9fc._0x4f178a,_0x4be9fc._0x12048f)][_0x3651e4(0x125,0x7b)];}get['position'](){function _0x14d46e(_0x5302bf,_0xac3584){return _0x54a7f1(_0x5302bf- -0x398,_0xac3584);}return this[_0x14d46e(0x9f4,0x9ff)];}set[_0x7afdbe(0x148b,0x190f)](_0x582178){const _0x98f3dd={_0x4ad0ae:0x9f3,_0x4086c4:0x227};this['_position']=LngLatPoint[_0x1dc9b3(_0x98f3dd._0x4ad0ae,_0x98f3dd._0x4086c4)](_0x582178);function _0x1dc9b3(_0x4c50d4,_0x19b201){return _0x7afdbe(_0x19b201,_0x4c50d4- -0x33f);}this['redraw']();}get[_0x54a7f1(0x316,0x712)](){const _0x94fa30={_0x206228:0x657,_0x266e76:0x119},_0x547635={_0x423f76:0x259};function _0x2c074d(_0x54366c,_0x2cab30){return _0x54a7f1(_0x54366c- -_0x547635._0x423f76,_0x2cab30);}function _0x29f155(_0x4b2738,_0x42a603){return _0x54a7f1(_0x42a603- -0x50b,_0x4b2738);}return this[_0x2c074d(_0x94fa30._0x206228,_0x94fa30._0x266e76)][_0x29f155(0x3eb,-0x1f5)];}set[_0x54a7f1(0x316,-0x608)](_0x41085d){const _0x5924da={_0x50281d:0x13a};function _0x1bfd48(_0x52e69c,_0x317836){return _0x7afdbe(_0x317836,_0x52e69c- -0x2ed);}function _0x4920bd(_0x498edb,_0x1ba9f0){return _0x54a7f1(_0x1ba9f0-_0x5924da._0x50281d,_0x498edb);}this['options'][_0x4920bd(0x777,0x450)]=_0x41085d,this[_0x1bfd48(0x9c3,0x1011)]();}get['showBox'](){const _0x4d19d8={_0x222847:0xad8},_0x1fafc0={_0x219db0:0x18};function _0x3e4090(_0x113966,_0x43e7d5){return _0x54a7f1(_0x113966- -_0x1fafc0._0x219db0,_0x43e7d5);}function _0x1a86a6(_0x27c8e0,_0x557036){return _0x54a7f1(_0x27c8e0- -0x172,_0x557036);}return this[_0x3e4090(0x898,0xc10)][_0x3e4090(_0x4d19d8._0x222847,0x1273)];}set['showBox'](_0x2b7cec){const _0x29956c={_0x17789c:0xcf7,_0x4c86c8:0x129b,_0x37afe8:0x11f3},_0x9893f1={_0x2282af:0x27};this['options']['showBox']=_0x2b7cec;function _0x1529a9(_0x5db779,_0x47f064){return _0x7afdbe(_0x47f064,_0x5db779- -_0x9893f1._0x2282af);}this['options'][_0x1529a9(_0x29956c._0x17789c,0x8a1)]?(!this['_graphicLayer']&&(this['_graphicLayer']=new GraphicLayer({...this['options'],'private':!![]})),this[_0x3b93ea(_0x29956c._0x4c86c8,0x15be)]['show']=!![]):this['_graphicLayer']&&(this['_graphicLayer'][_0x3b93ea(0x1459,_0x29956c._0x37afe8)]=![]);function _0x3b93ea(_0x484d61,_0x3c97f0){return _0x7afdbe(_0x3c97f0,_0x484d61- -0x3c8);}this[_0x3b93ea(0x8e8,0xa61)]();}['_mountedHook'](){const _0x409702={_0x3b9f83:0xd52,_0x1b722d:0x196e,_0x3ed014:0x277,_0x4103fa:0x3a6},_0xac802a={_0x4712cc:0x50a};this['options'][_0x49154f(_0x409702._0x3b9f83,0x10c7)]&&(this[_0x2a3498(_0x409702._0x1b722d,0xf2b)]=new GraphicLayer({...this['options'],'private':!![]}));function _0x49154f(_0x338d56,_0xd8ead2){return _0x7afdbe(_0xd8ead2,_0x338d56-0x34);}function _0x2a3498(_0x52649c,_0x392893){return _0x54a7f1(_0x392893- -_0xac802a._0x4712cc,_0x52649c);}if(this[_0x2a3498(-_0x409702._0x3ed014,_0x409702._0x4103fa)]['layer'])this[_0x2a3498(0x1254,0xe10)]=this['options']['layer'];else this['options'][_0x49154f(0x62e,0x788)]&&(this['clipTarget']=this['options']['tileset']);}['_addedHook'](){const _0x49dda6={_0x23b571:0x746,_0x295eab:0xc24},_0x25cbaa={_0x2eb1bb:0x12c};this['_graphicLayer']&&this[_0x5cca4b(0xea5,_0x49dda6._0x23b571)]['addLayer'](this['_graphicLayer']);function _0x8106e8(_0x509cfe,_0x36c1a2){return _0x54a7f1(_0x509cfe- -_0x25cbaa._0x2eb1bb,_0x36c1a2);}function _0x5cca4b(_0x4762c6,_0x1c41e3){return _0x7afdbe(_0x4762c6,_0x1c41e3- -0x2bb);}this['clipTarget']&&(Cesium__namespace['defined'](this['options']['position'])&&(this['position']=this[_0x8106e8(0x784,_0x49dda6._0x295eab)]['position']));}['_removedHook'](){const _0x107e93={_0x281722:0xf2f},_0x5b9f88={_0x5ad23a:0x25c},_0x54c266={_0x199425:0x20e};function _0x3f1ee0(_0x3ae0dc,_0x32f442){return _0x54a7f1(_0x3ae0dc- -_0x54c266._0x199425,_0x32f442);}function _0x3bb259(_0x22a90d,_0x5b9fa4){return _0x7afdbe(_0x22a90d,_0x5b9fa4- -_0x5b9f88._0x5ad23a);}this['clear'](),this[_0x3bb259(0x191f,0x1407)]&&this['_map'][_0x3bb259(0xe54,_0x107e93._0x281722)](this['_graphicLayer']);}[_0x54a7f1(0xa82,0x1277)](){const _0xcab643={_0x585279:0x845,_0x5d31d8:0x1e3,_0x509d5e:0x1164,_0x3b1563:0x75,_0x56df25:0x84,_0x3515d6:0x857,_0x564611:0x23d,_0x2a6c12:0xdee,_0x44ea10:0x1132,_0x1e97d7:0x13f5,_0x3047d7:0x11d1,_0x12cf83:0x158f,_0x37d8e7:0xd8b,_0x27d6a9:0x394,_0xb46c38:0x8ec,_0x3b0700:0x16e,_0x434544:0x75e,_0x39c552:0x12e3},_0x206749={_0x2ddcbe:0x380};function _0x6c7bf8(_0x4efcc2,_0x23dcb3){return _0x7afdbe(_0x23dcb3,_0x4efcc2- -_0x206749._0x2ddcbe);}if(!this['position']||!this['dimensions'])return;const _0x29c931=this[_0x45b4a6(_0xcab643._0x585279,-_0xcab643._0x5d31d8)]['x']/0x2,_0x2fb6c4=this['dimensions']['y']/0x2,_0x5cbe91=this['dimensions']['z']/0x2,_0x422ea4=this[_0x6c7bf8(0x696,0xeac)],_0x4bebfd=Cesium__namespace['Matrix4'][_0x45b4a6(_0xcab643._0x509d5e,0x7f0)](_0x422ea4,this[_0x45b4a6(-_0xcab643._0x3b1563,_0xcab643._0x56df25)],new Cesium__namespace['Cartesian3']()),_0x394edc=Cesium__namespace[_0x45b4a6(0x874,-0x121)]['multiplyByPoint'](_0x422ea4,this['position'],new Cesium__namespace['Cartesian3']()),_0x3722f9=_0x4bebfd['x']-_0x394edc['x'],_0x11188b=_0x4bebfd['y']-_0x394edc['y'],_0x1c157b=_0x4bebfd['z']-_0x394edc['z'],_0x153cb8=this[_0x6c7bf8(0x75e,_0xcab643._0x3515d6)][_0x45b4a6(-0x641,-_0xcab643._0x564611)]?0x1:-0x1;function _0x45b4a6(_0x320bf6,_0x5f3699){return _0x54a7f1(_0x5f3699- -0x4f9,_0x320bf6);}const _0x4bd883=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,0x0,0x1),_0x153cb8*_0x5cbe91+_0x1c157b),new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,0x0,-0x1),_0x153cb8*_0x5cbe91-_0x1c157b),new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x1,0x0,0x0),_0x153cb8*_0x29c931+_0x3722f9),new Cesium__namespace['ClippingPlane'](new Cesium__namespace[(_0x45b4a6(0x1392,_0xcab643._0x2a6c12))](-0x1,0x0,0x0),_0x153cb8*_0x29c931-_0x3722f9),new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,0x1,0x0),_0x153cb8*_0x2fb6c4+_0x11188b),new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,-0x1,0x0),_0x153cb8*_0x2fb6c4-_0x11188b)],_0x57dea3=new Cesium__namespace[(_0x45b4a6(0x10a,0x2b0))]({'planes':_0x4bd883,'edgeWidth':this['options'][_0x45b4a6(0xd9c,0x4d2)]??0x0,'edgeColor':this['options']['edgeColor']??Cesium__namespace[_0x6c7bf8(_0xcab643._0x44ea10,0x1abb)][_0x45b4a6(0x3a5,0x394)],'unionClippingRegions':this['options']['clipOutSide']??![]});this['clippingPlanes']=_0x57dea3;this['clipTarget']&&(this[_0x6c7bf8(0x2cf,0x866)][_0x45b4a6(-0x5ca,0x460)]=_0x57dea3);if(this['options']['showBox']){this[_0x45b4a6(_0xcab643._0x1e97d7,0xf3c)][_0x6c7bf8(_0xcab643._0x3047d7,0xa53)]();const _0x26b713=new BoxEntity({'position':this[_0x6c7bf8(_0xcab643._0x12cf83,0xc52)],'style':{'dimensions':this['options']['dimensions'],'color':Cesium__namespace[_0x45b4a6(0xc4a,_0xcab643._0x37d8e7)][_0x45b4a6(-0x134,_0xcab643._0x27d6a9)][_0x45b4a6(-_0xcab643._0xb46c38,-_0xcab643._0x3b0700)](0.2),...this[_0x6c7bf8(_0xcab643._0x434544,0xd69)]['boxStyle']}});this[_0x6c7bf8(_0xcab643._0x39c552,0x1275)]['addGraphic'](_0x26b713);}}['clear'](){const _0x1917a1={_0x1784f5:0x155};function _0x5aae75(_0xbcec45,_0x10150a){return _0x54a7f1(_0x10150a- -0x3b5,_0xbcec45);}var _0x314393;this[_0x50ff33(0x197d,0x115b)]&&this['_graphicLayer']['clear']();this['clippingPlanes']&&delete this['clippingPlanes'];function _0x50ff33(_0x139f50,_0xae00d3){return _0x54a7f1(_0xae00d3- -0x2da,_0x139f50);}(_0x314393=this['clipTarget'])!==null&&_0x314393!==void 0x0&&(_0x314393=_0x314393['clippingPlanes'])!==null&&_0x314393!==void 0x0&&_0x314393['enabled']&&(this['clipTarget'][_0x5aae75(_0x1917a1._0x1784f5,0x5a4)]['enabled']=![]),this['clipTarget'][_0x50ff33(0x1b7,0x67f)]=undefined;}}register(_0x7afdbe(0x166c,0xba8),TilesetBoxClip,![]);var TilesetShakeVS='uniform\x20sampler2D\x20u_mars3d_snake_texture;\x20//\x20范围\x0auniform\x20float\x20u_mars3d_snake_time;\x0auniform\x20bool\x20u_mars3d_snake_showAll;\x0a\x0aconst\x20float\x20PI_mars3d_snake\x20=\x203.141592653589793;\x0a\x0a//\x20计算一个随机单位向量\x0afloat\x20random_mars3d_snake(vec3\x20scale,\x20float\x20seed)\x20{\x0a\x20\x20return\x20fract(sin(dot(vec3(czm_viewport.zw,\x200.5)\x20+\x20seed,\x20scale))\x20*\x2043758.5453\x20+\x20seed);\x0a}\x0avec3\x20uniformlyRandomDirection_mars3d_snake(float\x20seed)\x20{\x0a\x20\x20float\x20u\x20=\x20random_mars3d_snake(vec3(12.9898,\x2078.233,\x20151.7182),\x20seed);\x0a\x20\x20float\x20v\x20=\x20random_mars3d_snake(vec3(63.7264,\x2010.873,\x20623.6736),\x20seed);\x0a\x20\x20float\x20z\x20=\x201.0\x20-\x202.0\x20*\x20u;\x0a\x20\x20float\x20r\x20=\x20sqrt(1.0\x20-\x20z\x20*\x20z);\x0a\x20\x20float\x20angle\x20=\x206.283185307179586\x20*\x20v;\x0a\x20\x20return\x20vec3(r\x20*\x20cos(angle),\x20r\x20*\x20sin(angle),\x20z);\x0a}\x0a\x0a//\x20获取贴图的信息\x0avec4\x20getRegions_mars3d_snake(int\x20x,\x20int\x20y)\x20{\x0a\x20\x20float\x20u\x20=\x20(float(x)\x20+\x200.5)\x20/\x20float(u_mars3d_snake_rangeLength);\x0a\x20\x20float\x20v\x20=\x20(float(y)\x20+\x200.5);\x0a\x20\x20vec4\x20point\x20=\x20texture(u_mars3d_snake_texture,\x20vec2(u,\x20v));\x0a\x20\x20return\x20vec4(point.xyz\x20*\x20point.w,\x201.0);\x0a}\x0a\x0a//\x20判断模型坐标点在不在范围内\x0abool\x20inRectangle_mars3d_snake(vec4\x20testPoint)\x20{\x0a\x20\x20float\x20counter\x20=\x200.0;\x0a\x20\x20float\x20xinters\x20=\x200.0;\x0a\x20\x20for(int\x20w\x20=\x200;\x20w\x20<\x20100000;\x20w++)\x20{\x0a\x20\x20\x20\x20if(w\x20>=\x20u_mars3d_snake_rangeLength)\x0a\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20\x20\x20int\x20nextIndex\x20=\x20w\x20+\x201;\x0a\x20\x20\x20\x20nextIndex\x20=\x20nextIndex\x20==\x20u_mars3d_snake_rangeLength\x20?\x200\x20:\x20nextIndex;\x0a\x0a\x20\x20\x20\x20//\x20获取点位信息\x0a\x20\x20\x20\x20vec4\x20p1\x20=\x20getRegions_mars3d_snake(w,\x200);\x0a\x20\x20\x20\x20vec4\x20p2\x20=\x20getRegions_mars3d_snake(nextIndex,\x200);\x0a\x0a\x20\x20\x20\x20p1\x20=\x20u_mars3d_snake_inversePlaneMatrix\x20*\x20p1;\x0a\x20\x20\x20\x20p2\x20=\x20u_mars3d_snake_inversePlaneMatrix\x20*\x20p2;\x0a\x0a\x20\x20\x20\x20vec4\x20testPointPC\x20=\x20u_mars3d_snake_inversePlaneMatrix\x20*\x20testPoint;\x0a\x0a\x20\x20\x20\x20float\x20p1x\x20=\x20p1.x;\x0a\x20\x20\x20\x20float\x20p1y\x20=\x20p1.y;\x0a\x20\x20\x20\x20float\x20p2x\x20=\x20p2.x;\x0a\x20\x20\x20\x20float\x20p2y\x20=\x20p2.y;\x0a\x20\x20\x20\x20float\x20testPointPCx\x20=\x20testPointPC.x;\x0a\x20\x20\x20\x20float\x20testPointPCy\x20=\x20testPointPC.y;\x0a\x0a\x20\x20\x20\x20if(testPointPCx\x20>\x20min(p1x,\x20p2x)\x20&&\x20testPointPCx\x20<=\x20max(p1x,\x20p2x))\x20{\x0a\x20\x20\x20\x20\x20\x20if(testPointPCy\x20<=\x20max(p1y,\x20p2y))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(p1x\x20!=\x20p2x)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20xinters\x20=\x20((testPointPCx\x20-\x20p1x)\x20*\x20(p2y\x20-\x20p1y))\x20/\x20(p2x\x20-\x20p1x)\x20+\x20p1y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(p1y\x20==\x20p2y\x20||\x20testPointPCy\x20<=\x20xinters)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20counter\x20+=\x201.0;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20return\x20mod(counter,\x202.0)\x20!=\x200.0;\x0a}\x0a\x0avoid\x20vertexMain(VertexInput\x20vsInput,\x20inout\x20czm_modelVertexOutput\x20vsOutput)\x20{\x0a\x20\x20vec3\x20positionMC\x20=\x20vsInput.attributes.positionMC;\x0a\x20\x20vec4\x20positionWC\x20=\x20czm_model\x20*\x20vec4(positionMC,\x201.0);\x0a\x0a\x20\x20if(u_mars3d_snake_showAll\x20||\x20inRectangle_mars3d_snake(positionWC))\x20{\x0a\x20\x20\x20\x20v_inRange\x20=\x201.0;\x20//\x20传递顶点在范围内\x0a\x20\x20\x20\x20float\x20height\x20=\x20dot(u_mars3d_snake_planeNormal,\x20positionWC.xyz)\x20+\x20u_mars3d_snake_planeDistance;\x0a\x0a\x20\x20\x20\x20if(height\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20height\x20=\x200.0;//\x20低于平面范围的不晃动\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20lerp\x20=\x20height\x20/\x20u_mars3d_snake_maxHeight;\x0a\x0a\x20\x20\x20\x20float\x20per\x20=\x20fract(u_mars3d_snake_time);\x0a\x0a\x20\x20\x20\x20//\x20根据featureId计算一个随机单位向量\x0a\x20\x20\x20\x20int\x20featureId\x20=\x20vsInput.featureIds.featureId_0;\x0a\x20\x20\x20\x20vec3\x20randomDirection\x20=\x20uniformlyRandomDirection_mars3d_snake(float(featureId));\x0a\x20\x20\x20\x20//\x20利用叉乘计算与平面法线垂直的一个向量\x0a\x20\x20\x20\x20vec3\x20moveVector\x20=\x20cross(randomDirection,\x20u_mars3d_snake_planeNormal);\x0a\x20\x20\x20\x20moveVector\x20=\x20normalize(moveVector);\x0a\x0a\x20\x20\x20\x20//\x20偏移顶点\x0a\x20\x20\x20\x20vec3\x20newPositionWC\x20=\x20positionWC.xyz\x20+\x20moveVector\x20*\x20vec3(lerp\x20*\x20u_mars3d_snake_maxDistance\x20*\x20sin(per\x20*\x202.0\x20*\x20PI_mars3d_snake));\x0a\x0a\x20\x20\x20\x20vsOutput.positionMC\x20=\x20(czm_inverseModel\x20*\x20vec4(newPositionWC,\x201.0)).xyz;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20v_inRange\x20=\x200.0;\x20//\x20传递顶点不在范围内\x0a\x20\x20}\x0a}\x0a',TilesetShakeFS='void\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20if(v_inRange\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20if(u_mars3d_snake_inRangeColor.a\x20!=\x200.0)\x0a\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20mix(material.diffuse,\x20u_mars3d_snake_inRangeColor.rgb,\x20u_mars3d_snake_inRangeColor.a);\x0a\x20\x20}\x20else\x20if(u_mars3d_snake_outRangeColor.a\x20!=\x200.0)\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20mix(material.diffuse,\x20u_mars3d_snake_outRangeColor.rgb,\x20u_mars3d_snake_outRangeColor.a);\x0a\x20\x20}\x0a}\x0a';const _0x4ac7d6={};_0x4ac7d6['maxDistance']=0xa,_0x4ac7d6['duration']=0x3e8,_0x4ac7d6['maxHeight']=0x78,_0x4ac7d6['inRangeColor']=_0x7afdbe(0xd5e,0xaa2),_0x4ac7d6['outRangeColor']='rgba(0,0,0,0)';const DEF_OPTIONS$1=_0x4ac7d6;class TilesetShake extends BaseThing{constructor(_0x38ffaa={}){const _0x860f00={_0x1cf116:0xdd1},_0x236bfd={_0x1c7166:0x61a};function _0x25c401(_0x2fc257,_0x5122ba){return _0x7afdbe(_0x2fc257,_0x5122ba- -_0x236bfd._0x1c7166);}_0x38ffaa={...DEF_OPTIONS$1,..._0x38ffaa},super(_0x38ffaa),!isMars3DCesium&&logError(_0x25c401(_0x860f00._0x1cf116,0x812),this);}get['layer'](){const _0x2613ee={_0x2ee439:0x5d8};function _0x243096(_0xe543f0,_0x51e67e){return _0x7afdbe(_0xe543f0,_0x51e67e- -_0x2613ee._0x2ee439);}return this[_0x243096(0x1c2e,0x1283)];}set[_0x7afdbe(0xb74,0x1548)](_0x3a91ca){const _0x38cea7={_0x4a6f21:0x1109,_0x52d943:0x1bfc},_0x4e2cce={_0x7da0c3:0xc02,_0x3cebd1:0x77f},_0xefe00f={_0x4496f7:0x112};this[_0x134079(0x171d,_0x38cea7._0x4a6f21)]=_0x3a91ca;function _0x134079(_0x437af2,_0x4eee31){return _0x54a7f1(_0x437af2-0xf0,_0x4eee31);}function _0x2825e4(_0x10c21f,_0x149bb6){return _0x7afdbe(_0x10c21f,_0x149bb6-0x0);}_0x3a91ca[_0x2825e4(_0x38cea7._0x52d943,0x188f)]['then'](_0x29d265=>{this[_0x14c715(_0x4e2cce._0x7da0c3,0x1138)]=_0x3a91ca[_0x14c715(0x25c,_0x4e2cce._0x3cebd1)]['toCartographic']();function _0x3156a2(_0xdf092e,_0x2fc647){return _0x134079(_0x2fc647- -0x9a,_0xdf092e);}function _0x14c715(_0x27b398,_0x283eaa){return _0x134079(_0x283eaa-_0xefe00f._0x4496f7,_0x27b398);}this['_initLayer']();});}get[_0x7afdbe(0x1c61,0x131d)](){return this['options']['positions'];}set['positions'](_0x295d59){const _0x1ae08a={_0x27d770:0xf1};function _0x2960f5(_0x5c1874,_0x57280a){return _0x54a7f1(_0x57280a-0x25b,_0x5c1874);}var _0x33a682;this['options']['positions']=_0x295d59,this['_texture']=this[_0x22b935(-0x52,_0x1ae08a._0x27d770)]();function _0x22b935(_0x3b75e8,_0x3e6cea){return _0x54a7f1(_0x3b75e8- -0x2e5,_0x3e6cea);}this['_uniforms'][_0x22b935(0x1093,0x1571)]['value']=((_0x33a682=this['_texture'])===null||_0x33a682===void 0x0?void 0x0:_0x33a682['width'])||0x1;}get[_0x7afdbe(0x1a8e,0x1120)](){const _0x43bb75={_0x5d2770:0x427};function _0x1cde54(_0x432fe6,_0x41a859){return _0x54a7f1(_0x41a859- -_0x43bb75._0x5d2770,_0x432fe6);}return this['options'][_0x1cde54(0x319,0xacb)];}set[_0x7afdbe(0xa61,0x1120)](_0x310842){const _0x1e5e8d={_0x4d220d:0xff5};this['options'][_0x96dc36(0xf22,_0x1e5e8d._0x4d220d)]=_0x310842;function _0x96dc36(_0x40c4c4,_0x46e65b){return _0x7afdbe(_0x46e65b,_0x40c4c4- -0x1fe);}function _0x45b15d(_0x506f07,_0x1987df){return _0x7afdbe(_0x1987df,_0x506f07- -0x6a3);}this['_uniforms']['u_mars3d_snake_maxDistance'][_0x96dc36(0x1524,0x1a67)]=_0x310842;}get['duration'](){function _0xdbc700(_0x321a0e,_0x12e6b3){return _0x54a7f1(_0x12e6b3- -0x11b,_0x321a0e);}return this['options'][_0xdbc700(-0xee,0x7ce)];}set['duration'](_0x337466){this['options']['duration']=_0x337466;}get['maxHeight'](){return this['options']['maxHeight'];}set[_0x54a7f1(0x25d,-0x12c)](_0x2738bc){const _0x5bfb46={_0x5e04d5:0xa3},_0x371d1a={_0x83fc26:0x227};this[_0x2c3741(-_0x5bfb46._0x5e04d5,0x8b7)]['maxHeight']=_0x2738bc;function _0x2c3741(_0x4cb098,_0x5c949b){return _0x7afdbe(_0x4cb098,_0x5c949b- -_0x371d1a._0x83fc26);}function _0x510b38(_0x345448,_0x31635d){return _0x7afdbe(_0x345448,_0x31635d-0x2b);}this['_uniforms'][_0x2c3741(-0x173,0x5ac)]['value']=_0x2738bc;}get['inRangeColor'](){return this['options']['inRangeColor'];}set['inRangeColor'](_0x17482b){const _0x2a6bc5={_0x49921d:0x1520,_0x463cc3:0xf93,_0x30eccf:0x1655,_0x27691f:0x1e2b},_0xd19347={_0x5f3bee:0x161};function _0x4c3ad2(_0x5c7c44,_0x4983c0){return _0x54a7f1(_0x5c7c44-_0xd19347._0x5f3bee,_0x4983c0);}function _0x679921(_0x2f6a8a,_0x3de5d1){return _0x7afdbe(_0x2f6a8a,_0x3de5d1-0x70);}this['options']['inRangeColor']=_0x17482b,this[_0x4c3ad2(_0x2a6bc5._0x49921d,0x163c)][_0x4c3ad2(_0x2a6bc5._0x463cc3,0xc9e)][_0x4c3ad2(_0x2a6bc5._0x30eccf,_0x2a6bc5._0x27691f)]=getCesiumColor(_0x17482b);}get[_0x7afdbe(0x15da,0xb1b)](){return this['options']['outRangeColor'];}set[_0x7afdbe(0xf0c,0xb1b)](_0x5109cb){const _0x5acc65={_0x519e30:0x188,_0x194b84:0x1847,_0x4da2b5:0x1434};function _0x5d8676(_0x4abdbe,_0x2c40e3){return _0x7afdbe(_0x4abdbe,_0x2c40e3- -0x2ee);}function _0x29742f(_0x4e1e8f,_0xec74d2){return _0x7afdbe(_0x4e1e8f,_0xec74d2- -0x4aa);}this['options'][_0x29742f(-_0x5acc65._0x519e30,0x671)]=_0x5109cb,this['_uniforms']['u_mars3d_snake_outRangeColor'][_0x5d8676(_0x5acc65._0x194b84,_0x5acc65._0x4da2b5)]=getCesiumColor(_0x5109cb);}['_addedHook'](){const _0xacf129={_0x1626bd:0x325,_0x3effb9:0xdce,_0x3e2215:0x8f8,_0x506e75:0x14ed,_0x1624e2:0xefd},_0x2bd6ff={_0x64ea3a:0x5b},_0xbd88f1={_0x5bca44:0x48};this['_texture']=this[_0x6da985(-_0xacf129._0x1626bd,0x2db)]();function _0x6da985(_0x5f1b85,_0x452049){return _0x54a7f1(_0x452049-_0xbd88f1._0x5bca44,_0x5f1b85);}function _0x1e7472(_0x5b56e8,_0x1d9461){return _0x7afdbe(_0x1d9461,_0x5b56e8- -_0x2bd6ff._0x64ea3a);}this[_0x6da985(_0xacf129._0x3effb9,_0xacf129._0x3e2215)]['layer']&&(this[_0x1e7472(_0xacf129._0x506e75,_0xacf129._0x1624e2)]=this['options']['layer']);}[_0x54a7f1(0xa4f,0x10fa)](){const _0x7bdcdd={_0x450b48:0x1c5};function _0x4941f4(_0x1eb39e,_0x5b12d7){return _0x7afdbe(_0x5b12d7,_0x1eb39e- -0x6e5);}Cesium__namespace['defined'](this['_texture'])&&(this['_texture']['destroy'](),this['_texture']=undefined),this[_0x4941f4(_0x7bdcdd._0x450b48,-0x73e)]&&this['cacheMarsOptions']();}[_0x54a7f1(0x1216,0x928)](){const _0x275a43={_0xabb5a6:0xe04,_0x56390e:0x16a5,_0xd9cafd:0x1a21,_0x3fb514:0x1735,_0x3df831:0x15a9,_0x38b440:0xc16},_0x517b44={_0x388486:0xe5};var _0x32b517;function _0x30e40d(_0x1a6647,_0x59b27c){return _0x54a7f1(_0x1a6647-_0x517b44._0x388486,_0x59b27c);}const _0xfda52d=this['_getCustomShader']();function _0x37ccbe(_0x1cbf74,_0x302c7d){return _0x7afdbe(_0x1cbf74,_0x302c7d-0x6b);}if((_0x32b517=Cesium__namespace['Mars3DEx'])!==null&&_0x32b517!==void 0x0&&_0x32b517['getCacheOrAdd']){const _0x43f490=Cesium__namespace[_0x30e40d(0xc66,0x164b)][_0x37ccbe(_0x275a43._0xabb5a6,0xceb)](this['layer'][_0x37ccbe(_0x275a43._0x56390e,_0x275a43._0xd9cafd)][_0x30e40d(_0x275a43._0x3fb514,_0x275a43._0x3df831)]);_0x43f490[_0x37ccbe(0x2e5,_0x275a43._0x38b440)]=_0xfda52d,this['cacheMarsOptions']=function(){delete _0x43f490['shake'];};}}['_getCustomShader'](){const _0x5c9fcb={_0xed4dd:0x12bf,_0x3ba831:0x10fc,_0x241bf7:0x177b,_0x393662:0x187e,_0x5ad2f4:0xe34,_0x2f8b1d:0x414,_0x345ac3:0x602,_0x536b92:0xc1f,_0x5cd8cc:0xe38,_0x2945d0:0xa76,_0x57c5e2:0xa2f,_0x1e3781:0xc36,_0x3da748:0x15bf,_0x4d9764:0x865,_0x92fcb9:0x10b8,_0x38b022:0x1a6d,_0x201cf0:0xc36,_0x15d429:0x7f6,_0x1e7a9f:0x152f,_0x4690a4:0x20a,_0x188c82:0xe4c,_0x3f0fc0:0x999,_0x12c889:0x1245,_0x3386d0:0xac8,_0x4174ed:0x1689},_0x50080f={_0x48630f:0x256};var _0x2af7d6;const _0x3ad46a=Cesium__namespace[_0x190c99(_0x5c9fcb._0xed4dd,0x1595)]['fromRadians'](this[_0x1716eb(_0x5c9fcb._0x3ba831,0x1859)]['longitude'],this['_center']['latitude'],0x28),_0x737ae0=Cesium__namespace[_0x1716eb(_0x5c9fcb._0x241bf7,_0x5c9fcb._0x393662)][_0x190c99(0xe32,0x10bf)][_0x190c99(0xaa0,0xd41)](_0x3ad46a),_0x259e08=Cesium__namespace[_0x190c99(0xa18,0x77d)][_0x190c99(_0x5c9fcb._0x5ad2f4,0x108e)](_0x3ad46a,_0x737ae0),_0x4d4daf=new Cesium__namespace['Cartesian3'](0x0,0x1,0x0);Cesium__namespace['Cartesian3']['cross'](_0x4d4daf,_0x259e08['normal'],_0x4d4daf),Cesium__namespace['Cartesian3']['normalize'](_0x4d4daf,_0x4d4daf);const _0xc00cab=Cesium__namespace['Cartesian3'][_0x1716eb(0x192c,0x1ea3)](_0x259e08[_0x190c99(_0x5c9fcb._0x2f8b1d,-0x57e)],_0x4d4daf,new Cesium__namespace['Cartesian3']());Cesium__namespace['Cartesian3']['normalize'](_0xc00cab,_0xc00cab);const _0x19564f=new Cesium__namespace['Matrix4'](_0x4d4daf['x'],_0xc00cab['x'],_0x259e08['normal']['x'],_0x3ad46a['x'],_0x4d4daf['y'],_0xc00cab['y'],_0x259e08[_0x1716eb(_0x5c9fcb._0x345ac3,-0x17)]['y'],_0x3ad46a['y'],_0x4d4daf['z'],_0xc00cab['z'],_0x259e08['normal']['z'],_0x3ad46a['z'],0x0,0x0,0x0,0x1),_0x27fff7=Cesium__namespace[_0x1716eb(0x59e,_0x5c9fcb._0x536b92)]['inverse'](_0x19564f,_0x19564f),_0x132acd=new Cesium__namespace['CustomShader']({'varyings':{'v_inRange':Cesium__namespace['VaryingType']['FLOAT']},'uniforms':{'u_mars3d_snake_planeNormal':{'type':Cesium__namespace[_0x190c99(0xa48,_0x5c9fcb._0x5cd8cc)]['VEC3'],'value':_0x259e08['normal']},'u_mars3d_snake_planeDistance':{'type':Cesium__namespace['UniformType']['FLOAT'],'value':_0x259e08['distance']},'u_mars3d_snake_maxHeight':{'type':Cesium__namespace[_0x190c99(0xa48,0x566)]['FLOAT'],'value':this[_0x1716eb(_0x5c9fcb._0x2945d0,_0x5c9fcb._0x57c5e2)]['maxHeight']},'u_mars3d_snake_maxDistance':{'type':Cesium__namespace[_0x1716eb(_0x5c9fcb._0x1e3781,_0x5c9fcb._0x3da748)]['FLOAT'],'value':this[_0x1716eb(0xa76,_0x5c9fcb._0x4d9764)][_0x1716eb(_0x5c9fcb._0x92fcb9,_0x5c9fcb._0x38b022)]},'u_mars3d_snake_inversePlaneMatrix':{'type':Cesium__namespace[_0x1716eb(_0x5c9fcb._0x201cf0,_0x5c9fcb._0x15d429)]['MAT4'],'value':_0x27fff7},'u_mars3d_snake_rangeLength':{'type':Cesium__namespace['UniformType']['INT'],'value':((_0x2af7d6=this['_texture'])===null||_0x2af7d6===void 0x0?void 0x0:_0x2af7d6[_0x190c99(_0x5c9fcb._0x1e7a9f,0x13c4)])||0x1},'u_mars3d_snake_inRangeColor':{'type':Cesium__namespace['UniformType'][_0x1716eb(0x491,-_0x5c9fcb._0x4690a4)],'value':Cesium__namespace['Color']['RED']['withAlpha'](0.5)},'u_mars3d_snake_outRangeColor':{'type':Cesium__namespace['UniformType']['VEC4'],'value':Cesium__namespace['Color']['TRANSPARENT']}},'fragmentShaderText':TilesetShakeFS,'vertexShaderText':TilesetShakeVS});_0x132acd[_0x190c99(_0x5c9fcb._0x188c82,0x3dd)]['u_mars3d_snake_showAll']=()=>{return!this['_texture'];};function _0x190c99(_0x3e541b,_0x53fa84){return _0x7afdbe(_0x53fa84,_0x3e541b- -_0x50080f._0x48630f);}const _0x23c061=this[_0x1716eb(_0x5c9fcb._0x3f0fc0,0x1348)][_0x1716eb(_0x5c9fcb._0x12c889,0x111c)][_0x190c99(0x10ab,0x15a4)][_0x190c99(0x697,_0x5c9fcb._0x3386d0)];function _0x1716eb(_0x4008ae,_0x2557be){return _0x7afdbe(_0x2557be,_0x4008ae- -0x68);}return _0x132acd['uniformMap'][_0x190c99(_0x5c9fcb._0x4174ed,0xbf1)]=()=>{return this['_texture']||_0x23c061;},_0x132acd['uniformMap']['u_mars3d_snake_time']=()=>{return performance['now']()/this['options']['duration'];},this['_uniforms']=_0x132acd['uniforms'],_0x132acd;}['_getTexture'](){const _0x5435dc={_0x1b4d30:0x1673,_0x3c4e03:0xf7e,_0x33bbda:0xfb0,_0x21496a:0x530,_0x670bb5:0x186a,_0x3957fd:0x7c5,_0x3fdb3f:0x1141,_0x556fb8:0xca8,_0xf6da5f:0xe13},_0x134318={_0x42e011:0x130},_0x423f9f={_0x18f920:0xeba,_0xfe6df8:0xad3,_0x3ad2d0:0x9db},_0x55e4f0={_0x237d7c:0x23c};function _0x3cc66f(_0x2d6d07,_0x5194cb){return _0x7afdbe(_0x5194cb,_0x2d6d07- -_0x55e4f0._0x237d7c);}Cesium__namespace[_0x3cc66f(_0x5435dc._0x1b4d30,0x1ae6)](this[_0x3cc66f(0xd0b,_0x5435dc._0x3c4e03)])&&(this[_0x2573ba(0xa66,0xe17)][_0x2573ba(_0x5435dc._0x33bbda,_0x5435dc._0x21496a)](),this['_texture']=undefined);if(!this['options']['positions']||this['options']['positions'][_0x2573ba(0xd95,0x1083)]<0x3)return null;const _0x547402=LngLatArray['toCartesians'](this['options']['positions']),_0x49ef85=[];_0x547402['forEach'](_0x4b00b0=>{const _0x592d43={_0x2e7f7d:0x6b},_0x211293=Cesium__namespace['Cartesian3']['normalize'](_0x4b00b0,new Cesium__namespace[(_0x38fedd(0xeb2,_0x423f9f._0x18f920))]());function _0x5251ba(_0x61ffcd,_0x369e0a){return _0x2573ba(_0x369e0a,_0x61ffcd- -_0x592d43._0x2e7f7d);}_0x49ef85[_0x38fedd(_0x423f9f._0xfe6df8,_0x423f9f._0x3ad2d0)](_0x211293['x']),_0x49ef85[_0x38fedd(0xad3,0x292)](_0x211293['y']),_0x49ef85['push'](_0x211293['z']);function _0x38fedd(_0x985a70,_0x265cbd){return _0x3cc66f(_0x985a70- -0x427,_0x265cbd);}_0x49ef85['push'](_0x4b00b0['x']/_0x211293['x']);});const _0x4a3c43=new Cesium__namespace[(_0x2573ba(0x10ea,_0x5435dc._0x670bb5))]({'context':this[_0x3cc66f(_0x5435dc._0x3957fd,0x931)]['scene'][_0x3cc66f(0x10c5,_0x5435dc._0x3fdb3f)],'pixelFormat':Cesium__namespace['PixelFormat']['RGBA'],'pixelDatatype':Cesium__namespace['PixelDatatype'][_0x2573ba(0x12a5,_0x5435dc._0x556fb8)],'sampler':new Cesium__namespace[(_0x3cc66f(_0x5435dc._0xf6da5f,0x15c3))]({'wrapS':Cesium__namespace[_0x3cc66f(0x1508,0xaf7)]['CLAMP_TO_EDGE'],'wrapT':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'minificationFilter':Cesium__namespace[_0x3cc66f(0xcd4,0x4cd)][_0x3cc66f(0x3c0,-0x571)],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter']['NEAREST']}),'flipY':![],'source':{'width':_0x547402[_0x3cc66f(0xf77,0xf7c)],'height':0x1,'arrayBufferView':new Float32Array(_0x49ef85)}});function _0x2573ba(_0x4013b8,_0x2c5291){return _0x7afdbe(_0x4013b8,_0x2c5291- -_0x134318._0x42e011);}return _0x4a3c43;}}register('tilesetShake',TilesetShake,![]);let scratchCurrentDirection=new Cesium__namespace[(_0x54a7f1(0x12e7,0x1cd7))](),scratchDeltaPosition=new Cesium__namespace[(_0x7afdbe(0x1772,0x1515))](),scratchNextPosition=new Cesium__namespace['Cartesian3'](),scratchTerrainConsideredNextPosition=new Cesium__namespace[(_0x54a7f1(0x12e7,0xf88))](),scratchNextCartographic=new Cesium__namespace[(_0x7afdbe(0x7ea,0xafe))]();const _0x454bbf={};_0x454bbf[_0x7afdbe(0x1ae9,0x1841)]=0x0,_0x454bbf[_0x7afdbe(0x472,0xbb4)]=0x1,_0x454bbf['DIRECTION_BACKWARD']=0x2,_0x454bbf[_0x7afdbe(-0x266,0x498)]=0x3,_0x454bbf['DIRECTION_RIGHT']=0x4;const RoamType=_0x454bbf;class FirstPersonRoam extends BaseThing{constructor(_0x3e17c9={}){const _0x1a2377={_0x3086d4:0x58a,_0x23c5d0:0x7d3,_0x19ec71:0x7d3,_0x3301ee:0x5ef};function _0x9e419a(_0x169fd4,_0x3e7e8c){return _0x54a7f1(_0x169fd4- -0xdd,_0x3e7e8c);}super(_0x3e17c9),this['speed']=this['options']['speed']??1.5,this['rotateSpeed']=this['options']['rotateSpeed']??-0x5,this[_0x9e419a(_0x1a2377._0x3086d4,0xf39)]=this[_0x9e419a(_0x1a2377._0x23c5d0,0xf5c)]['height']??0xa;function _0x288eff(_0x42d575,_0x337b9f){return _0x54a7f1(_0x337b9f- -0x444,_0x42d575);}this['maxPitch']=this[_0x9e419a(_0x1a2377._0x19ec71,0x929)][_0x9e419a(_0x1a2377._0x3301ee,0x5b5)]??0x58;}[_0x7afdbe(0x3fa,0x8dc)](_0x237b1e){const _0x4c5d87={_0x1b4c55:0xa78,_0x58d44d:0x120f};function _0x30da8f(_0xe4a990,_0x1cfee0){return _0x54a7f1(_0xe4a990-0x280,_0x1cfee0);}function _0x30f516(_0x247eec,_0x28479b){return _0x54a7f1(_0x28479b-0x20b,_0x247eec);}_0x237b1e?this[_0x30f516(_0x4c5d87._0x1b4c55,_0x4c5d87._0x58d44d)]():this[_0x30f516(0x1ded,0x1403)]();}[_0x54a7f1(0x28b,0x7d7)](){}[_0x7afdbe(0x98f,0x134f)](){const _0x512309={_0x200d40:0x1f2,_0x1bf6f3:0x834,_0xeea82c:0x10ea,_0x5a2982:0xbd6,_0x497d03:0x18f,_0x55116e:0xec9,_0x459d7a:0x160b,_0x1c0d34:0x834};function _0x5f5ddc(_0x2fbc9e,_0x26f54a){return _0x7afdbe(_0x26f54a,_0x2fbc9e- -0x5c5);}this['enabled']&&this['activate']();this['_map']['on'](EventType['leftDown'],this['_onLeftDownHandler'],this),this['_map']['on'](EventType[_0x5f5ddc(0x3a4,0x954)],this['_onLeftUpHandler'],this),this[_0x163d3e(_0x512309._0x200d40,_0x512309._0x1bf6f3)]['on'](EventType[_0x163d3e(_0x512309._0xeea82c,_0x512309._0x5a2982)],this['_onMouseMoveHandler'],this);function _0x163d3e(_0x451730,_0x5383f7){return _0x7afdbe(_0x451730,_0x5383f7- -0x1cd);}this['_map']['on'](EventType['dblClick'],this[_0x5f5ddc(0x37e,-_0x512309._0x497d03)],this),this[_0x163d3e(_0x512309._0x55116e,0x834)]['on'](EventType[_0x163d3e(_0x512309._0x459d7a,0x15ee)],this['_onKeyDown'],this),this['_map']['on'](EventType[_0x163d3e(0x1132,0x1049)],this['_onKeyUp'],this),this[_0x163d3e(0x426,_0x512309._0x1c0d34)]['on'](EventType[_0x5f5ddc(0xcb2,0x88d)],this['_onClockTick'],this);}[_0x54a7f1(0xa4f,0x1306)](){const _0x5af885={_0xa704cb:0x15f0,_0x182b83:0x6d8,_0x537d06:0x23f,_0x48273e:0x1492,_0x173222:0x6c5,_0xd40a06:0x252,_0x516862:0xeed,_0x472a5a:0x6d8,_0x5cebf8:0xc24,_0x497977:0x1172},_0x4cb2f8={_0x1c4f42:0x33c};this[_0x813c92(0xb80,0x10fd)](),this['_map']['off'](EventType[_0x4d9998(_0x5af885._0xa704cb,0xc1c)],this['_onLeftDownHandler'],this),this['_map']['off'](EventType['leftUp'],this['_onLeftUpHandler'],this),this[_0x813c92(0x83d,_0x5af885._0x182b83)]['off'](EventType[_0x4d9998(0xc0c,0xa67)],this['_onMouseMoveHandler'],this),this['_map'][_0x4d9998(-0x2a6,_0x5af885._0x537d06)](EventType['dblClick'],this['_onDbClickHandler'],this),this['_map'][_0x4d9998(0x347,0x23f)](EventType[_0x813c92(0x15f2,_0x5af885._0x48273e)],this[_0x4d9998(0x13bc,0xae8)],this),this[_0x4d9998(-0x2eb,_0x5af885._0x173222)][_0x813c92(-0x535,_0x5af885._0xd40a06)](EventType[_0x813c92(0x1208,_0x5af885._0x516862)],this['_onKeyUp'],this),this[_0x813c92(0x13d,_0x5af885._0x472a5a)][_0x813c92(-0x56f,_0x5af885._0xd40a06)](EventType['clockTick'],this['_onClockTick'],this),scratchCurrentDirection=new Cesium__namespace['Cartesian3'](),scratchDeltaPosition=new Cesium__namespace[(_0x813c92(_0x5af885._0x5cebf8,0x11ec))](),scratchNextPosition=new Cesium__namespace['Cartesian3'](),scratchTerrainConsideredNextPosition=new Cesium__namespace['Cartesian3']();function _0x813c92(_0xfd2a80,_0x58bd47){return _0x54a7f1(_0x58bd47- -0xfb,_0xfd2a80);}function _0x4d9998(_0x10af83,_0x2462d2){return _0x7afdbe(_0x10af83,_0x2462d2- -_0x4cb2f8._0x1c4f42);}scratchNextCartographic=new Cesium__namespace[(_0x813c92(_0x5af885._0x497977,0x7d5))]();}[_0x7afdbe(0xd40,0xd6c)](_0xd886a1){const _0x397f19={_0x283f1a:0x190d,_0x406bd3:0xa5e},_0x6f4325={_0x542dd0:0x40},_0x38d36b={_0x1a4c05:0x26f};if(!this['enabled'])return;this['_looking']=!![];function _0x529bbe(_0x127463,_0x4d837b){return _0x54a7f1(_0x127463-_0x38d36b._0x1a4c05,_0x4d837b);}this['_startMousePosition']=Cesium__namespace[_0x36d6b4(0x1327,_0x397f19._0x283f1a)][_0x529bbe(_0x397f19._0x406bd3,0xdf3)](_0xd886a1['position']);function _0x36d6b4(_0xc5fc74,_0x4d59f4){return _0x54a7f1(_0xc5fc74-_0x6f4325._0x542dd0,_0x4d59f4);}this['_mousePosition']=this['_startMousePosition'];}[_0x7afdbe(0x11b4,0x943)](_0x37e313){const _0x426ce3={_0x7b0139:0xc37,_0x5a494e:0xe32,_0x140ff0:0xe77},_0x5834e3={_0x49a060:0x39e};function _0x2180b0(_0x215744,_0xd44834){return _0x7afdbe(_0x215744,_0xd44834- -_0x5834e3._0x49a060);}function _0xcd5926(_0x275453,_0x215c27){return _0x54a7f1(_0x275453- -0x4b5,_0x215c27);}if(!this[_0xcd5926(0x6ee,_0x426ce3._0x7b0139)])return;this['_looking']=!![],this['_startMousePosition']=Cesium__namespace[_0xcd5926(_0x426ce3._0x5a494e,_0x426ce3._0x140ff0)]['clone'](_0x37e313['position']),this['_mousePosition']=this[_0xcd5926(0xe4a,0x9f0)];}['_onLeftUpHandler'](_0x425eed){const _0x416a27={_0x3d0c1e:0x1072};function _0x4a4196(_0x44fe71,_0x4ebb96){return _0x54a7f1(_0x44fe71- -0x10d,_0x4ebb96);}this[_0x4a4196(_0x416a27._0x3d0c1e,0x16d0)]=![];}[_0x54a7f1(0x9f9,0x107)](_0x5b347e){this['_mousePosition']=_0x5b347e['endPosition'];}[_0x54a7f1(0xbf6,0x328)](_0x360687){const _0x2f8fe6={_0x5768dd:0xc3f,_0x130ef8:0x1ba0,_0x15e3f2:0x10fd,_0x2f6cec:0x1e88},_0x1e91a9={_0x17fd1b:0x48},_0x50260e={_0x560079:0x28};function _0x29af5c(_0x549666,_0x1f7cdd){return _0x7afdbe(_0x1f7cdd,_0x549666-_0x50260e._0x560079);}if(!this['enabled'])return;const _0x585596=_0x360687[_0x1c8eac(_0x2f8fe6._0x5768dd,0xe88)];this[_0x1c8eac(0x289,0xc6c)]=RoamType['DIRECTION_NONE'];function _0x1c8eac(_0x39cf26,_0x19b408){return _0x54a7f1(_0x39cf26-_0x1e91a9._0x17fd1b,_0x19b408);}switch(_0x585596){case'W'[_0x1c8eac(0x10fd,0x73a)](0x0):this['_direction']=RoamType['DIRECTION_FORWARD'];break;case'S'[_0x29af5c(0x130b,_0x2f8fe6._0x130ef8)](0x0):this[_0x29af5c(0x497,0xe71)]=RoamType['DIRECTION_BACKWARD'];break;case'D'[_0x1c8eac(_0x2f8fe6._0x15e3f2,0x9b7)](0x0):this['_direction']=RoamType[_0x29af5c(0x14b7,_0x2f8fe6._0x2f6cec)];break;case'A'[_0x29af5c(0x130b,0x1839)](0x0):this['_direction']=RoamType[_0x29af5c(0x4c0,0xad9)];break;}}['_onKeyUp'](){if(!this['enabled'])return;this['_direction']=RoamType['DIRECTION_NONE'];}['_onClockTick'](_0x267e54){const _0x45ea9a={_0x28f00b:0x10c8,_0x37536d:0x1278,_0x581318:0x1119,_0x4a8cb7:0x75,_0x4b6b85:0x267,_0x13f776:0x4b,_0x388187:0x178,_0x2b89a2:0x290,_0x58307e:0xe16,_0x1e60db:0xe44,_0x2947b1:0x37d,_0xa44a72:0x69f,_0x4ae720:0x1010,_0x16b551:0x252,_0x24f3e5:0x1a6,_0x1afabc:0x196,_0x540aa2:0x4f,_0x2f1e3d:0x3a3,_0xee5c05:0x566,_0x59fc5a:0x302},_0xd272fc={_0x4620da:0x29d};if(!this[_0x28a536(0x6d2,0x10dd)])return;const _0x195ce2=_0x267e54['_clockStep'];this['_looking']&&this[_0x470635(0x11b6,0xc9c)](_0x195ce2);function _0x28a536(_0x3c513d,_0x3766c0){return _0x54a7f1(_0x3c513d- -0x4d1,_0x3766c0);}if(this[_0x28a536(-0x290,-0x7f3)]===RoamType['DIRECTION_NONE'])return;const _0x1c6ee1=this[_0x28a536(0xbcf,0xdb7)]*_0x195ce2;if(this['_direction']===RoamType['DIRECTION_FORWARD'])Cesium__namespace[_0x470635(_0x45ea9a._0x28f00b,_0x45ea9a._0x37536d)]['multiplyByScalar'](this['_map']['camera'][_0x470635(_0x45ea9a._0x581318,0xbb7)],0x1,scratchCurrentDirection);else{if(this[_0x28a536(-0x290,0x149)]===RoamType['DIRECTION_BACKWARD'])Cesium__namespace['Cartesian3']['multiplyByScalar'](this[_0x28a536(0x302,-0x16e)]['camera'][_0x28a536(0x755,_0x45ea9a._0x4a8cb7)],-0x1,scratchCurrentDirection);else{if(this['_direction']===RoamType[_0x28a536(-_0x45ea9a._0x4b6b85,0x107)])Cesium__namespace['Cartesian3'][_0x28a536(-_0x45ea9a._0x13f776,-0x56b)](this['_map'][_0x470635(0xdd7,0x4ec)][_0x28a536(_0x45ea9a._0x388187,0x7f6)],-0x1,scratchCurrentDirection);else this[_0x28a536(-_0x45ea9a._0x2b89a2,-0x31d)]===RoamType['DIRECTION_RIGHT']&&Cesium__namespace[_0x28a536(_0x45ea9a._0x58307e,_0x45ea9a._0x1e60db)]['multiplyByScalar'](this[_0x470635(_0x45ea9a._0x2947b1,0x764)]['camera']['right'],0x1,scratchCurrentDirection);}}Cesium__namespace['Cartesian3'][_0x470635(_0x45ea9a._0xa44a72,0x417)](scratchCurrentDirection,_0x1c6ee1,scratchDeltaPosition);const _0x54c7a0=this['_map']['camera']['position'];Cesium__namespace[_0x28a536(_0x45ea9a._0x58307e,0x15f1)]['add'](_0x54c7a0,scratchDeltaPosition,scratchNextPosition);const _0x199907=this['_map'][_0x470635(0x11a8,_0x45ea9a._0x4ae720)][_0x28a536(-_0x45ea9a._0x16b551,-_0x45ea9a._0x24f3e5)],_0x15eb43=_0x199907['ellipsoid'];_0x15eb43[_0x470635(0x7f,0x482)](scratchNextPosition,scratchNextCartographic);const _0x13edbf=getHeight(this['_map']['scene'],scratchNextCartographic);function _0x470635(_0x4dd56c,_0x27d075){return _0x7afdbe(_0x4dd56c,_0x27d075- -_0xd272fc._0x4620da);}if(_0x13edbf===undefined)return;scratchNextCartographic['height']=_0x13edbf+this[_0x28a536(_0x45ea9a._0x1afabc,-_0x45ea9a._0x540aa2)],_0x15eb43['cartographicToCartesian'](scratchNextCartographic,scratchTerrainConsideredNextPosition),this['_map']['camera'][_0x470635(_0x45ea9a._0x2f1e3d,0x57c)]({'destination':scratchTerrainConsideredNextPosition,'orientation':new Cesium__namespace['HeadingPitchRoll'](this['_map']['camera']['heading'],this[_0x470635(_0x45ea9a._0xee5c05,0x764)]['camera'][_0x28a536(0x11c1,0x1474)],this[_0x28a536(_0x45ea9a._0x59fc5a,0x3ce)]['camera']['roll']),'endTransform':Cesium__namespace['Matrix4']['IDENTITY']});}[_0x7afdbe(0x783,0xf39)](_0x49063a){const _0xffee53={_0x1faca3:0xe35,_0x13ec37:0xce3,_0x9b4cf3:0x1ca,_0x448d3a:0x15e2,_0xfc1461:0x5c9,_0x4e859c:0xa4,_0x30c9f0:0x71d,_0x2df724:0x36b,_0x7f900e:0x36b,_0x39203c:0x11c1},_0x16c012={_0x21eae5:0x361},_0x2f1934=this[_0x18e740(0x2f7,0x8d6)][_0x18e740(0x406,_0xffee53._0x1faca3)]['clientWidth'],_0x9bb659=this['_map']['canvas']['clientHeight'],_0x28f4b8=(this['_mousePosition']['x']-this[_0x56e025(0x106a,0xf9e)]['x'])/_0x2f1934,_0xcf929c=-(this['_mousePosition']['y']-this['_startMousePosition']['y'])/_0x9bb659,_0xfc33d7=Cesium__namespace['Math']['toDegrees'](this[_0x56e025(_0xffee53._0x13ec37,0x472)]['camera'][_0x18e740(-0x1cf,-_0xffee53._0x9b4cf3)]),_0x37cede=_0x28f4b8*this[_0x18e740(0x7f6,0xfaa)],_0xdc30c1=_0xfc33d7+_0x37cede,_0x4f7549=Cesium__namespace[_0x18e740(0xdd0,_0xffee53._0x448d3a)]['toDegrees'](this[_0x56e025(_0xffee53._0xfc1461,0x472)]['camera'][_0x56e025(0xd89,0x1331)]),_0x582c14=_0xcf929c*this['rotateSpeed'];let _0x6fcbec=_0x4f7549+_0x582c14;function _0x18e740(_0x25cd4f,_0x1322e4){return _0x54a7f1(_0x25cd4f- -0x4dc,_0x1322e4);}_0x6fcbec>this['maxPitch']*0x2&&_0x6fcbec<0x168-this[_0x56e025(_0xffee53._0x4e859c,0x36b)]?_0x6fcbec=0x168-this[_0x18e740(0x1f0,0x852)]:_0x6fcbec>this[_0x56e025(-_0xffee53._0x30c9f0,_0xffee53._0x2df724)]&&_0x6fcbec<0x168-this[_0x56e025(0x2d7,_0xffee53._0x7f900e)]&&(_0x6fcbec=this['maxPitch']);function _0x56e025(_0x22cc3b,_0x565786){return _0x54a7f1(_0x565786- -_0x16c012._0x21eae5,_0x22cc3b);}this['_map'][_0x18e740(0x7f,0x426)]['setView']({'orientation':{'heading':Cesium__namespace['Math']['toRadians'](_0xdc30c1),'pitch':Cesium__namespace['Math'][_0x56e025(0x1781,_0xffee53._0x39203c)](_0x6fcbec),'roll':this['_map']['camera']['roll']}});}['_enableScreenSpaceCameraController'](_0x755648){const _0x5441bc={_0x370a27:0xdfd,_0x20ce22:0xad1,_0x12d55f:0x1445},_0x1acfd5=this['_map'][_0x462a46(_0x5441bc._0x370a27,0x1594)];function _0x4ce98d(_0x135486,_0x57ff30){return _0x7afdbe(_0x135486,_0x57ff30- -0x216);}_0x1acfd5['screenSpaceCameraController']['enableRotate']=_0x755648,_0x1acfd5['screenSpaceCameraController'][_0x462a46(0x13fd,_0x5441bc._0x20ce22)]=_0x755648;function _0x462a46(_0x37da07,_0x1278da){return _0x7afdbe(_0x1278da,_0x37da07- -0x4b0);}_0x1acfd5['screenSpaceCameraController']['enableZoom']=_0x755648,_0x1acfd5[_0x462a46(0xffc,_0x5441bc._0x12d55f)]['enableTilt']=_0x755648,_0x1acfd5['screenSpaceCameraController'][_0x4ce98d(0x1137,0xd1e)]=_0x755648;}['activate'](){const _0x322167={_0x1d1d2d:0xa20,_0xa019e9:0x872,_0x3dc5d5:0x12bc,_0x5ce77b:0xb2c,_0x57a2f0:0x4e0,_0x3fe83e:0x5eb,_0x370a2e:0x54b,_0x4f583d:0xa28,_0x1bcf98:0xdb1,_0x138e7e:0x13a9},_0x3fd7c9={_0x135c77:0x4b6},_0x40a892={_0x5bce80:0xaf};this[_0x71069c(_0x322167._0x1d1d2d,_0x322167._0xa019e9)]=!![],this[_0x71069c(_0x322167._0x3dc5d5,_0x322167._0x5ce77b)](![]);const _0x1b8e08=this['_map']['camera']['position'],_0x2ff642=new Cesium__namespace[(_0x71069c(_0x322167._0x57a2f0,0x648))](),_0x4bd53e=this['_map']['scene'][_0x1b498c(0x32e,0x9e7)];_0x4bd53e['ellipsoid']['cartesianToCartographic'](_0x1b8e08,_0x2ff642);const _0x20815f=getHeight(this[_0x71069c(_0x322167._0x3fe83e,_0x322167._0x370a2e)]['scene'],_0x2ff642);if(_0x20815f===undefined)return![];_0x2ff642['height']=_0x20815f+this['height'];const _0x29688b=new Cesium__namespace['Cartesian3']();_0x4bd53e['ellipsoid']['cartographicToCartesian'](_0x2ff642,_0x29688b);const _0x2ee36e=this['_map']['camera']['heading'];function _0x1b498c(_0x4f7689,_0x2a9b4b){return _0x54a7f1(_0x4f7689-_0x40a892._0x5bce80,_0x2a9b4b);}this[_0x71069c(_0x322167._0x4f583d,_0x322167._0x1bcf98)]=_0x2ee36e;function _0x71069c(_0x1be781,_0x1ab4b9){return _0x7afdbe(_0x1be781,_0x1ab4b9- -_0x3fd7c9._0x135c77);}return this['_map']['camera'][_0x1b498c(_0x322167._0x138e7e,0x10c1)]({'destination':_0x29688b,'orientation':{'heading':_0x2ee36e,'pitch':Cesium__namespace['Math']['toRadians'](0x0),'roll':0x0}}),!![];}[_0x54a7f1(0x11f8,0x1bfb)](){const _0x3e4750={_0x312ee2:0xc53};function _0x4988ee(_0x1df1d0,_0x261af9){return _0x54a7f1(_0x261af9- -0x369,_0x1df1d0);}this['_enabled']=![],this[_0x4988ee(_0x3e4750._0x312ee2,0xa4b)](!![]);}['startAutoForward'](){!this['enabled']&&this['activate']();function _0x298669(_0x1afc40,_0x3db1bd){return _0x54a7f1(_0x1afc40- -0x19b,_0x3db1bd);}this[_0x298669(0xa6,-0x983)]=RoamType['DIRECTION_FORWARD'];}['stopAutoForward'](){this['_direction']=RoamType['DIRECTION_NONE'];}}register(_0x7afdbe(0x186e,0x1629),FirstPersonRoam);class RotatePoint extends BaseThing{constructor(_0x2d81db={}){const _0x2eddcb={_0x27dd61:0x6c1};super(_0x2d81db);function _0x546475(_0x3d9b2,_0x45f71f){return _0x7afdbe(_0x3d9b2,_0x45f71f- -_0x2eddcb._0x27dd61);}this[_0x546475(0x1b75,0x12c4)]();}get['isStart'](){const _0x21f9a1={_0x278566:0xb07,_0xda6746:0x993},_0x5c28f2={_0x12b601:0x3f7};function _0x4314eb(_0x86b952,_0x2d67e2){return _0x54a7f1(_0x86b952- -_0x5c28f2._0x12b601,_0x2d67e2);}return this[_0x4314eb(_0x21f9a1._0x278566,_0x21f9a1._0xda6746)];}[_0x7afdbe(0xaea,0x8dc)](_0x2e54f1){const _0x1ffffb={_0x3ade5b:0x5d2};function _0x18cf60(_0x2dd796,_0xf80d31){return _0x54a7f1(_0xf80d31- -0x4a2,_0x2dd796);}_0x2e54f1?this[_0x18cf60(-_0x1ffffb._0x3ade5b,0x489)]():this['stop']();}[_0x7afdbe(0x1cb8,0x1985)](){const _0x585af7={_0x575a58:0x450,_0x2a41aa:0x1403,_0x4149dd:0x46d,_0xdbc16f:0x534};this[_0xa924a3(_0x585af7._0x575a58,0x440)]=this['options'][_0x5d2ef6(_0x585af7._0x2a41aa,0x9e0)]?0x1:-0x1,this['_angle']=0x168/(0x3c*(this['options']['time']||0x3c)),this[_0x5d2ef6(_0x585af7._0x4149dd,0x3f9)]=this['options'][_0xa924a3(0x169f,0x18f2)];function _0x5d2ef6(_0x453c1f,_0x24c01c){return _0x54a7f1(_0x24c01c- -0x246,_0x453c1f);}function _0xa924a3(_0x384ec7,_0x29a038){return _0x54a7f1(_0x29a038-0x1ff,_0x384ec7);}this[_0x5d2ef6(0x166a,0xcb8)]&&(this[_0x5d2ef6(0xe4,_0x585af7._0xdbc16f)](),this['start']());}[_0x54a7f1(0x1121,0x1a27)](){const _0x113658={_0x3441ec:0xd35,_0x39de18:0x7c4,_0x200821:0x6e1},_0x5885dd={_0x5e1226:0x28c};this[_0x1fa232(_0x113658._0x3441ec,0x6ab)]['on'](EventType[_0x1fa232(0x5f1,_0x113658._0x39de18)],this['_map_mouseDownHandler'],this);function _0x1fa232(_0x1304cf,_0x10e8ae){return _0x7afdbe(_0x1304cf,_0x10e8ae- -0x356);}function _0x2db054(_0x440dae,_0x3331f8){return _0x54a7f1(_0x440dae- -_0x5885dd._0x5e1226,_0x3331f8);}this['_map']['on'](EventType[_0x2db054(0x58a,_0x113658._0x200821)],this[_0x1fa232(0x32,0x3b5)],this),this['_mouseDown']=![];}['_map_mouseDownHandler'](_0x56da8e){this['_mouseDown']=!![];}['_map_mouseUpHandler'](_0x95ce){const _0x5535ca={_0x4b5ea5:0xb40,_0x42d50f:0x376,_0x32d71a:0x461,_0x34fecf:0x77f,_0x21f08c:0x6f4,_0x29b887:0x141c,_0x503b75:0x1b56,_0x629a79:0x44e,_0x55cd58:0x15b3,_0x5ee717:0xeb2,_0x54afd0:0x9cd},_0x22b5aa={_0x5e9428:0x385};this[_0x3b23be(_0x5535ca._0x4b5ea5,0x11a8)]=![];function _0x20ae6d(_0x16cade,_0x1553e8){return _0x54a7f1(_0x16cade- -0xdf,_0x1553e8);}const _0xb2c238=this['_map']['getCenter']();if(!_0xb2c238||_0xb2c238[_0x20ae6d(_0x5535ca._0x42d50f,0x789)]>0x7a120)return;this[_0x20ae6d(0x9a7,0xaea)]=0x0,this[_0x3b23be(_0x5535ca._0x32d71a,0xbb1)]=_0xb2c238[_0x3b23be(0x9c6,_0x5535ca._0x34fecf)]();function _0x3b23be(_0x344298,_0x42eac0){return _0x54a7f1(_0x42eac0- -_0x22b5aa._0x5e9428,_0x344298);}this[_0x20ae6d(0x13d2,0xbb3)]=this[_0x20ae6d(_0x5535ca._0x21f08c,0xb)]['camera']['heading'],this[_0x20ae6d(_0x5535ca._0x29b887,_0x5535ca._0x503b75)]=this[_0x3b23be(0xbed,_0x5535ca._0x629a79)]['camera'][_0x20ae6d(_0x5535ca._0x55cd58,0x1d8b)],this['_distance']=Cesium__namespace['Cartesian3']['distance'](this['_center'],this['_map'][_0x3b23be(0x827,0x1d6)][_0x3b23be(_0x5535ca._0x5ee717,_0x5535ca._0x54afd0)]);}['_removedHook'](){const _0x1d17fa={_0x4b4972:0x676};function _0x53e1df(_0x53984e,_0x1996ee){return _0x54a7f1(_0x53984e- -0x15d,_0x1996ee);}this['_map']['off'](EventType['mouseDown'],this['_map_mouseDownHandler'],this),this[_0x53e1df(_0x1d17fa._0x4b4972,-0x368)]['off'](EventType['mouseUp'],this['_map_mouseUpHandler'],this),this['stop']();}[_0x7afdbe(0x815,0xb59)](_0x4edaaa){const _0x187e9c={_0x364634:0x10b7,_0x284c75:0xed8,_0x2f24a:0x5d1,_0x812db9:0xd58,_0x3d5f68:0xf3e,_0x3c6c54:0xf8b,_0x471fe:0x70a,_0x5c9d61:0x30f,_0x316683:0x10eb,_0x5b40e0:0x168,_0x3a8264:0x172f,_0xf0ef66:0x166c,_0x46a47f:0x1141,_0x3fcfee:0x11ea,_0x18b4a7:0xf10,_0x5e621a:0x417},_0x2d743e={_0x48cdae:0x2fb,_0x3c0908:0xcf3},_0xba77f1={_0x38fea0:0x254};this[_0x207840(_0x187e9c._0x364634,_0x187e9c._0x284c75)]&&this[_0x389a6b(0x5d4,_0x187e9c._0x2f24a)]();this[_0x389a6b(_0x187e9c._0x812db9,0x16a1)]=!![];const _0x45e19a=this['_map'][_0x207840(0xfc2,_0x187e9c._0x3d5f68)](!![]);function _0x389a6b(_0x4a4c37,_0x3c9dad){return _0x54a7f1(_0x4a4c37- -0x1a6,_0x3c9dad);}function _0x207840(_0x1cf568,_0x32d780){return _0x7afdbe(_0x1cf568,_0x32d780- -_0xba77f1._0x38fea0);}if(!_0x4edaaa)this[_0x389a6b(0xd90,0xf11)]=_0x45e19a;else _0x4edaaa instanceof Cesium__namespace['Cartesian3']?this['_center']=_0x4edaaa:this[_0x207840(_0x187e9c._0x3c6c54,0xf10)]=LngLatPoint['parse'](_0x4edaaa)[_0x389a6b(0x95e,0x25b)]();this['_distance']=this[_0x389a6b(_0x187e9c._0x471fe,_0x187e9c._0x5c9d61)][_0x389a6b(_0x187e9c._0x316683,0xc8e)]||Cesium__namespace['Cartesian3']['distance'](this[_0x389a6b(0xd90,0x3c5)],this[_0x207840(0xbe5,0x7ad)][_0x389a6b(0x3b5,-0x500)]['positionWC']),this[_0x207840(0x1c37,0x148b)]=this['_map']['camera']['heading'],this['_startPitch']=this['_map'][_0x207840(_0x187e9c._0x5b40e0,0x535)][_0x207840(_0x187e9c._0x3a8264,_0x187e9c._0xf0ef66)];let _0x30f062=0x2;_0x45e19a&&Cesium__namespace[_0x389a6b(_0x187e9c._0x46a47f,0xb31)]['distance'](_0x45e19a,this[_0x207840(_0x187e9c._0x3fcfee,_0x187e9c._0x18b4a7)])<this[_0x207840(0x327,0x3f2)]*0.01&&(_0x30f062=0x0),this[_0x389a6b(0xd12,0xd11)](EventType['start']),this[_0x207840(_0x187e9c._0x5e621a,0x7ad)]['flyToPoint'](this['_center'],{'radius':this['_distance'],'duration':_0x30f062,'complete':_0x52f06c=>{this['_isStart']=!![],this[_0x493bd9(_0x2d743e._0x48cdae,_0x2d743e._0x3c0908)]=0x0;function _0x493bd9(_0x45e498,_0x492cb9){return _0x207840(_0x45e498,_0x492cb9-0x293);}this['_map']['on'](EventType['preRender'],this['_onPreRenderHandler'],this),this['_onPreRenderHandler']();}});}[_0x7afdbe(0x110d,0xb99)](_0x38e7a9){const _0x32f995={_0x3b417b:0x10e0},_0x59753f={_0x2c54c1:0x402};function _0x2c49a8(_0x34ae3e,_0x3159ea){return _0x54a7f1(_0x34ae3e- -_0x59753f._0x2c54c1,_0x3159ea);}if(this['_mouseDown'])return;this['_tikRender']++;const _0xec402c=this[_0x2c49a8(0x684,0x9a)]*this['_angle'];this['_autoStopAngle']&&_0xec402c>=this['_autoStopAngle']&&this['stop']();const _0x5a4720=Cesium__namespace['Math'][_0x4007e3(0x1426,_0x32f995._0x3b417b)](_0xec402c*this['_direction'])+this['_startHeading'];this['_map']['scene']['camera']['setView']({'destination':this['_center'],'orientation':{'heading':_0x5a4720,'pitch':this['_startPitch']}}),this['_map']['scene']['camera']['moveBackward'](this[_0x4007e3(0x641,-0x2a)]);function _0x4007e3(_0xad22d9,_0x4551f5){return _0x54a7f1(_0x4551f5- -0x442,_0xad22d9);}this[_0x2c49a8(0xab6,0xa32)](EventType['change']);}[_0x54a7f1(0x77a,0x197)](){const _0x38b5cb={_0x584c7f:0xa2c,_0x5494e3:0x1101,_0x48a170:0xa8b,_0x470384:0xe0,_0x4535ab:0x8},_0x8059c7={_0x566116:0x2b};if(!this[_0x4e90d8(0xad1,_0x38b5cb._0x584c7f)])return;function _0x4e90d8(_0x34cda6,_0x1bc736){return _0x7afdbe(_0x1bc736,_0x34cda6- -0x65b);}this[_0xcd68d5(_0x38b5cb._0x5494e3,_0x38b5cb._0x48a170)]=![],this['_map'][_0x4e90d8(-_0x38b5cb._0x470384,-_0x38b5cb._0x4535ab)](EventType[_0xcd68d5(0x109a,0x846)],this['_onPreRenderHandler'],this);function _0xcd68d5(_0x5157c7,_0x4891bf){return _0x7afdbe(_0x4891bf,_0x5157c7- -_0x8059c7._0x566116);}this['fire'](EventType['stop']);}}register(_0x54a7f1(0x15ca,0x1743),RotatePoint);const MAX_PITCH_IN_DEGREE=0x58;class StreetView extends BaseThing{constructor(_0x3903a3={}){const _0x2ea2e8={_0x14f5ee:0xec9,_0x893ffc:0xc18,_0x368239:0x11ba,_0xf02c9a:0x1800,_0x45613b:0x1141},_0x5f24ff={_0x5602d4:0x1f7};super(_0x3903a3),this[_0x4727d0(0xd09,_0x2ea2e8._0x14f5ee)]=_0x3903a3['rotateSpeed']??0x1e,this[_0x4727d0(0x115d,0x141f)]=_0x3903a3[_0xf3a6c(_0x2ea2e8._0x893ffc,_0x2ea2e8._0x368239)]??0.2;function _0x4727d0(_0x1936fa,_0x10e7a9){return _0x7afdbe(_0x10e7a9,_0x1936fa- -_0x5f24ff._0x5602d4);}function _0xf3a6c(_0x48e273,_0x3225ab){return _0x54a7f1(_0x3225ab-0x94,_0x48e273);}this[_0xf3a6c(0x17af,0x1141)]=_0x3903a3[_0xf3a6c(_0x2ea2e8._0xf02c9a,_0x2ea2e8._0x45613b)]??0.1;}[_0x7afdbe(0x6d6,0x8dc)](_0x460de5){const _0x44b520={_0x47cb0e:0x580,_0x2c870d:0x704,_0x522a25:0x1224,_0xbc02e1:0x11a1,_0x57a850:0x1b2a,_0x279a02:0x1bf1,_0x447741:0x86e,_0x4bf624:0x92,_0x72225f:0x805,_0x5ede40:0x13c7,_0x46ebe5:0x128f,_0xb58992:0x1449,_0xd90002:0x1090,_0x477e72:0x128f,_0x50edf3:0xd10,_0x284d75:0x155e,_0x14ce92:0x11d5,_0x475faa:0x128f},_0x23853a={_0x1b6130:0x241};function _0x4ddb17(_0xa63bf9,_0x445e85){return _0x54a7f1(_0xa63bf9-0x11,_0x445e85);}function _0xba2063(_0x1f4956,_0x4bda26){return _0x7afdbe(_0x4bda26,_0x1f4956- -_0x23853a._0x1b6130);}this['_map']['mouseZoom']&&(this['_map']['mouseZoom'][_0xba2063(0xb90,0x95f)]=!_0x460de5);if(_0x460de5){this[_0xba2063(0x9af,_0x44b520._0x47cb0e)]=this['_map']['scene']['screenSpaceCameraController']['zoomEventTypes'],this['_default_tiltEventTypes']=this['_map']['scene']['screenSpaceCameraController'][_0xba2063(0xd24,_0x44b520._0x2c870d)],this[_0x4ddb17(0x7e4,_0x44b520._0x522a25)][_0xba2063(0x106c,_0x44b520._0xbc02e1)]['screenSpaceCameraController'][_0xba2063(0x153a,_0x44b520._0x57a850)]=[Cesium__namespace['CameraEventType']['WHEEL'],Cesium__namespace['CameraEventType']['PINCH'],{'eventType':Cesium__namespace[_0xba2063(0x1291,_0x44b520._0x279a02)][_0xba2063(_0x44b520._0x447741,_0x44b520._0x4bf624)],'modifier':Cesium__namespace['KeyboardEventModifier']['CTRL']}];const _0x41c579={};_0x41c579['eventType']=Cesium__namespace['CameraEventType']['MIDDLE_DRAG'],_0x41c579['modifier']=Cesium__namespace[_0x4ddb17(_0x44b520._0x72225f,0x7d7)][_0xba2063(_0x44b520._0x5ede40,0xf7a)],this[_0xba2063(0x7c0,-0x16c)]['scene'][_0x4ddb17(_0x44b520._0x46ebe5,_0x44b520._0xb58992)]['tiltEventTypes']=[_0x41c579];}else this['_default_zoomEventTypes']&&(this['_map'][_0x4ddb17(_0x44b520._0xd90002,0x17c0)][_0x4ddb17(_0x44b520._0x477e72,_0x44b520._0x50edf3)][_0x4ddb17(_0x44b520._0x284d75,0xcdb)]=this['_default_zoomEventTypes'],delete this['_default_zoomEventTypes']),this['_default_tiltEventTypes']&&(this['_map'][_0x4ddb17(_0x44b520._0xd90002,_0x44b520._0x14ce92)][_0x4ddb17(_0x44b520._0x475faa,0x111b)][_0x4ddb17(0xd48,0x471)]=this['_default_tiltEventTypes'],delete this['_default_tiltEventTypes']);}['_mountedHook'](){}[_0x54a7f1(0x1121,0x15a4)](){const _0x341599={_0x200e3c:0x47a,_0x454a12:0x67d,_0x881932:0x1288,_0x571591:0x410,_0x3bccaf:0xa58,_0x12f3c0:0x2ba};function _0x5f09bd(_0x450267,_0x3dbf9c){return _0x7afdbe(_0x450267,_0x3dbf9c- -0x384);}this['_enabledHook'](this['enabled']),this['_map']['on'](EventType[_0x399f1b(0xc33,_0x341599._0x200e3c)],this['_onRightDownHandler'],this);function _0x399f1b(_0x2ec244,_0x2da1d0){return _0x7afdbe(_0x2ec244,_0x2da1d0- -0x5f1);}this['_map']['on'](EventType['mouseMove'],this['_onMouseMove'],this),this['_map']['on'](EventType['rightUp'],this[_0x5f09bd(0xb0f,0x149b)],this),this['_map']['on'](EventType['middleDown'],this['_onMiddleDownHandler'],this),this[_0x5f09bd(0xd03,_0x341599._0x454a12)]['on'](EventType[_0x5f09bd(0xd69,_0x341599._0x881932)],this['_onMiddleUpHandler'],this),this[_0x399f1b(0x0,_0x341599._0x571591)]['on'](EventType['click'],this[_0x399f1b(0x1267,_0x341599._0x3bccaf)],this),this['_map']['on'](EventType['dblClick'],this[_0x5f09bd(_0x341599._0x12f3c0,0x5bf)],this),this['_map']['on'](EventType[_0x399f1b(0xc78,0x4c6)],this['_onRightClickHandler'],this);}[_0x7afdbe(0x810,0xc7d)](){const _0x2a7c44={_0x2a043f:0x7b5,_0x310b0d:0xa74,_0x35bb53:0x6a4,_0x2d8734:0x148c,_0xb93a7e:0x237,_0x538809:0x186b,_0x1071cf:0x214c,_0x4970a7:0xe2f};this['_enabledHook'](![]),this['_map']['off'](EventType['rightDown'],this['_onRightDownHandler'],this),this['_map']['off'](EventType['mouseMove'],this[_0x22924d(0x1821,0x1c4f)],this),this[_0xf6df2f(0xa74,_0x2a7c44._0x2a043f)]['off'](EventType['rightUp'],this['_onRightUpHandler'],this),this[_0x22924d(0x864,0xe06)][_0xf6df2f(0x5ee,0xed0)](EventType['middleDown'],this['_onMiddleDownHandler'],this),this[_0xf6df2f(_0x2a7c44._0x310b0d,_0x2a7c44._0x35bb53)][_0x22924d(0x3de,0x3ae)](EventType[_0xf6df2f(0x167f,0xd3d)],this['_onMiddleUpHandler'],this);function _0x22924d(_0x35946e,_0x25a6fb){return _0x7afdbe(_0x25a6fb,_0x35946e- -0x19d);}function _0xf6df2f(_0xffd1d8,_0x16992b){return _0x54a7f1(_0xffd1d8-0x2a1,_0x16992b);}this[_0xf6df2f(0xa74,_0x2a7c44._0x2d8734)]['off'](EventType[_0xf6df2f(0x11ab,0x14c4)],this[_0x22924d(0xeac,0xdc2)],this),this[_0x22924d(0x864,-0x9f)][_0x22924d(0x3de,-_0x2a7c44._0xb93a7e)](EventType['dblClick'],this['_onDbClickHandler'],this),this['_map']['off'](EventType['rightClick'],this['_onRightClickHandler'],this),this[_0xf6df2f(_0x2a7c44._0x538809,_0x2a7c44._0x1071cf)]&&(this['_map']['removeThing'](this[_0xf6df2f(0x186b,_0x2a7c44._0x4970a7)],!![]),delete this['rotatePoint']);}[_0x7afdbe(0x1fee,0x1888)](_0x134951){const _0x58eb50={_0x253c6a:0x68f,_0x552afe:0xd5},_0x2b3b55={_0xfb8732:0x431};if(!this[_0xa3e9f9(0x9a0,0xa4b)])return;this[_0xa3e9f9(0x13c7,0x1433)]&&this['rotatePoint'][_0x219343(0xdb4,0x61a)]();this[_0x219343(0xa57,0xac4)]=!![],this['_mousePosition']=this['_startMousePosition']=Cesium__namespace['Cartesian3'][_0x219343(-0x32a,_0x58eb50._0x253c6a)](_0x134951['position']),this[_0x219343(0x9d8,0xd90)]=Cesium__namespace['Math'][_0x219343(0x1576,0xde1)](this[_0xa3e9f9(0x5d0,0x220)]['camera'][_0xa3e9f9(0x10a,_0x58eb50._0x552afe)]);function _0xa3e9f9(_0x2f3284,_0x3c1e91){return _0x7afdbe(_0x3c1e91,_0x2f3284- -_0x2b3b55._0xfb8732);}function _0x219343(_0x3b5fa0,_0x3a5e59){return _0x54a7f1(_0x3a5e59- -0x160,_0x3b5fa0);}this['_pitchWhenLeftClicked']=Cesium__namespace['Math']['toDegrees'](this[_0xa3e9f9(0x5d0,0x7eb)][_0x219343(-0x45a,0x3fb)]['pitch']);}['_onMouseMove'](_0x559a23){const _0x368a6c={_0x2ff9e2:0xa40,_0x13f8ea:0x1d62,_0x2f4e6a:0x1584,_0x35b68a:0xbe7,_0x5cc072:0x15e6,_0x298361:0x1531,_0x30ce1f:0x862,_0x2c5bac:0xf57,_0x1475df:0x1209,_0x3b9ed4:0x1531,_0x1c0123:0x1c7e,_0x2be968:0x1345,_0x1c2c70:0x121,_0x4ad5d4:0xa09};if(!this['enabled'])return;this['_mousePosition']=_0x559a23['endPosition'];function _0x33d1a8(_0x4aed42,_0xef583c){return _0x7afdbe(_0x4aed42,_0xef583c-0x57);}function _0x39b0ef(_0x553e95,_0x5bf9c7){return _0x54a7f1(_0x5bf9c7-0x70,_0x553e95);}if(this['_isMouseLeftButtonPressed']){const _0x166c42=this['_map'][_0x33d1a8(0x57b,0xb67)][_0x39b0ef(0xbd0,0x469)],_0x3b81cc=this['_map'][_0x33d1a8(_0x368a6c._0x2ff9e2,0xb67)][_0x33d1a8(0xdfc,0xd8c)],_0x43decf=(this['_mousePosition']['x']-this[_0x33d1a8(_0x368a6c._0x13f8ea,_0x368a6c._0x2f4e6a)]['x'])/_0x166c42,_0x2b95a8=-(this[_0x39b0ef(0x37b,_0x368a6c._0x35b68a)]['y']-this[_0x33d1a8(0x150d,_0x368a6c._0x2f4e6a)]['y'])/_0x3b81cc;if(Cesium__namespace[_0x33d1a8(_0x368a6c._0x5cc072,_0x368a6c._0x298361)]['equalsEpsilon'](_0x43decf,0x0,Cesium__namespace[_0x39b0ef(0x1687,0x131c)]['EPSILON6'])&&Cesium__namespace['Math'][_0x33d1a8(-0x5,0x5fe)](_0x2b95a8,0x0,Cesium__namespace['Math']['EPSILON6']))return;const _0x1f080e=_0x43decf*this[_0x33d1a8(_0x368a6c._0x30ce1f,_0x368a6c._0x2c5bac)],_0x317535=this['_headingWhenLeftClicked']+_0x1f080e,_0x492853=_0x2b95a8*this[_0x39b0ef(_0x368a6c._0x1475df,0xd42)];let _0x19d42b=this[_0x33d1a8(0x176f,0x15eb)]+_0x492853;_0x19d42b>MAX_PITCH_IN_DEGREE*0x2&&_0x19d42b<0x168-MAX_PITCH_IN_DEGREE?_0x19d42b=0x168-MAX_PITCH_IN_DEGREE:_0x19d42b>MAX_PITCH_IN_DEGREE&&_0x19d42b<0x168-MAX_PITCH_IN_DEGREE&&(_0x19d42b=MAX_PITCH_IN_DEGREE),this['_map']['camera']['setView']({'orientation':{'heading':Cesium__namespace[_0x33d1a8(0x15ae,_0x368a6c._0x3b9ed4)]['toRadians'](_0x317535),'pitch':Cesium__namespace[_0x39b0ef(_0x368a6c._0x1c0123,0x131c)]['toRadians'](_0x19d42b),'roll':this['_map']['camera'][_0x39b0ef(0x105e,0x17a1)]}});}else{if(this[_0x39b0ef(_0x368a6c._0x2be968,0xa95)]){const _0x538713=-(this[_0x39b0ef(0xdf1,0xbe7)]['y']-this['_startMousePosition']['y'])/this['_map']['canvas'][_0x39b0ef(0x111d,0xb77)],_0x58c9b3=this['_map'][_0x33d1a8(-_0x368a6c._0x1c2c70,0x7e0)]['positionCartographic']['height']*this[_0x33d1a8(0x186b,0x13ab)];this[_0x33d1a8(_0x368a6c._0x4ad5d4,0xa58)]['camera']['moveDown'](_0x538713*_0x58c9b3);}}}[_0x54a7f1(0x15f1,0xd69)](_0x1c2b31){this['_isMouseLeftButtonPressed']=![];}['_onMiddleDownHandler'](_0x6a4711){const _0x13b402={_0x2c5742:0x792,_0x22a16f:0x15ca,_0x223bcf:0x1672,_0x2c867a:0x766},_0x5be45d={_0x108290:0x0};if(!this[_0x30240a(0x9f5,_0x13b402._0x2c5742)])return;this['rotatePoint']&&this[_0x4f3a77(_0x13b402._0x22a16f,_0x13b402._0x223bcf)]['stop']();this['_isMouseUpdownPressed']=!![];function _0x30240a(_0x204016,_0x2c0a0c){return _0x54a7f1(_0x2c0a0c- -0x411,_0x204016);}function _0x4f3a77(_0x46ce82,_0x4a00ed){return _0x54a7f1(_0x46ce82-_0x5be45d._0x108290,_0x4a00ed);}this['_startMousePosition']=Cesium__namespace['Cartesian3']['clone'](_0x6a4711['position']),this[_0x30240a(0xd6,_0x13b402._0x2c867a)]=this['_startMousePosition'];}['_onMiddleUpHandler'](_0x290bb6){this['_isMouseUpdownPressed']=![];}['_onClickHandler'](_0x195110){const _0x294e65={_0x31acd5:0x1831,_0x2f0a38:0x58c};function _0x19a5d7(_0x25c39d,_0x59eccf){return _0x7afdbe(_0x59eccf,_0x25c39d- -0x41c);}if(!this['enabled'])return;function _0x2a185d(_0x36cb2b,_0xfbd576){return _0x7afdbe(_0xfbd576,_0x36cb2b- -0x180);}this['rotatePoint']&&this[_0x2a185d(0x1678,_0x294e65._0x31acd5)][_0x19a5d7(_0x294e65._0x2f0a38,0xd7d)]();}['_onDbClickHandler'](_0x2a9c66){const _0x296441={_0x54c6a7:0xb21,_0x3d155b:0x1e8,_0x165eb5:0xd63,_0x163405:0xa96,_0x5610ba:0x10be,_0x23eb6c:0x1176,_0x2893ad:0x28a,_0x3526c7:0x56c,_0x102d79:0x7e1,_0x117221:0x480,_0xa21396:0x24e,_0x2fbc83:0x17b,_0x1add6c:0xbf9},_0x28ba2e={_0x5d8b88:0x419},_0x5c4726={_0x15b36b:0x21d};if(!this['enabled'])return;function _0x248bd2(_0x441702,_0x4cbf30){return _0x7afdbe(_0x441702,_0x4cbf30- -_0x5c4726._0x15b36b);}this['rotatePoint']&&this['rotatePoint']['stop']();const _0x333419=getCurrentMousePosition(this['_map']['scene'],_0x2a9c66['position']);function _0x3bb61b(_0x38d7e3,_0x2a97d9){return _0x54a7f1(_0x38d7e3- -_0x28ba2e._0x5d8b88,_0x2a97d9);}if(_0x333419){const _0x1a0490=Cesium__namespace['Cartesian3']['distance'](_0x333419,this[_0x248bd2(_0x296441._0x54c6a7,0x7e4)][_0x248bd2(-_0x296441._0x3d155b,0x56c)][_0x248bd2(0xefa,_0x296441._0x165eb5)])*this[_0x248bd2(_0x296441._0x163405,_0x296441._0x5610ba)];this['_map'][_0x3bb61b(0x8be,_0x296441._0x23eb6c)](_0x333419,{'radius':_0x1a0490,'maximumHeight':this[_0x248bd2(_0x296441._0x2893ad,0x7e4)][_0x248bd2(-0x2d5,_0x296441._0x3526c7)][_0x3bb61b(_0x296441._0x102d79,_0x296441._0x117221)][_0x3bb61b(_0x296441._0xa21396,-_0x296441._0x2fbc83)],'duration':this['options'][_0x3bb61b(0xc24,_0x296441._0x1add6c)]});}}['_onRightClickHandler'](_0x3a0f53){const _0x470ac3={_0x3a53a4:0xaf8,_0x322a89:0xe20,_0x381720:0xff1,_0xcafc6c:0xc6e,_0x38ad3f:0x151f,_0x8d91c7:0x1493,_0x145e5f:0xf9,_0x5d718b:0x319,_0x3bae4f:0x744},_0x2ae7ac={_0x39141e:0xab};if(!this[_0x5a8887(0x9cf,_0x470ac3._0x3a53a4)])return;function _0x1bea6b(_0x73ef9b,_0x3acd25){return _0x54a7f1(_0x3acd25- -0x137,_0x73ef9b);}if(this['time']){const _0x2e1370=Cesium__namespace['JulianDate'][_0x5a8887(0x691,0x519)](this['_map']['clock']['currentTime'],this['time']);_0x2e1370<0.5&&(this['_map'][_0x1bea6b(_0x470ac3._0x322a89,_0x470ac3._0x381720)](),!this['rotatePoint']&&(this['rotatePoint']=new RotatePoint(this[_0x5a8887(_0x470ac3._0xcafc6c,0x805)][_0x5a8887(0xadb,_0x470ac3._0x38ad3f)]),this['_map']['addThing'](this[_0x1bea6b(0x1ad8,_0x470ac3._0x8d91c7)])),this['rotatePoint']['start'](_0x3a0f53[_0x5a8887(0x610,0x42d)]));}function _0x5a8887(_0x1657d7,_0x2e70e2){return _0x54a7f1(_0x2e70e2- -_0x2ae7ac._0x39141e,_0x1657d7);}this[_0x5a8887(0xa81,0x9b4)]=this['_map'][_0x1bea6b(-_0x470ac3._0x145e5f,0x8a2)]['currentTime'][_0x5a8887(_0x470ac3._0x5d718b,_0x470ac3._0x3bae4f)]();}}register(_0x7afdbe(0x124b,0x1478),StreetView);class CameraHistory extends BaseThing{constructor(_0x3ba29f={}){function _0x67bc59(_0x2cb24a,_0x25f94e){return _0x54a7f1(_0x2cb24a-0x135,_0x25f94e);}super(_0x3ba29f),this['step']=0x0,this[_0x67bc59(0x766,0xcc9)]=[],this['maxCacheCount']=this['options']['maxCacheCount']??0x63;}get[_0x54a7f1(0x12c7,0x9ea)](){const _0x29e01a={_0x4e546e:0x3d8,_0x49e1e1:0xa0c,_0x389f86:0x47b},_0x24f991={_0x57346e:0x4d8},_0x508512={_0x34dbac:0x3eb};function _0x51f39a(_0x342f55,_0x1cb45e){return _0x54a7f1(_0x1cb45e- -_0x508512._0x34dbac,_0x342f55);}function _0x405fb2(_0x280aed,_0x50fac6){return _0x54a7f1(_0x280aed- -_0x24f991._0x57346e,_0x50fac6);}return this[_0x405fb2(_0x29e01a._0x4e546e,_0x29e01a._0x49e1e1)]['limit']&&this['options']['limit'][_0x51f39a(_0x29e01a._0x389f86,0xedc)];}set['debugExtent'](_0x2bc0a0){const _0x2723ba={_0x4f1209:0xd36,_0x30e877:0x10e5,_0x13c570:0x900,_0x1be5c5:0x1087,_0x246bc8:0x90b,_0x399fe3:0x189b,_0x113d98:0x1342,_0x1ba373:0x1044},_0x9c40={_0x51dc89:0x1d3};if(!this[_0x6ecc25(_0x2723ba._0x4f1209,0x90b)][_0x6ecc25(_0x2723ba._0x30e877,_0x2723ba._0x13c570)])return;function _0x6ecc25(_0x4e2a17,_0x16cf6a){return _0x7afdbe(_0x4e2a17,_0x16cf6a- -_0x9c40._0x51dc89);}this['options']['limit'][_0x5a9dba(_0x2723ba._0x1be5c5,0x1724)]=_0x2bc0a0;function _0x5a9dba(_0x5874ce,_0x2be5e6){return _0x54a7f1(_0x5874ce- -0x240,_0x2be5e6);}if(!this['debugExtentEntity']){const _0x4589b3=this[_0x6ecc25(0x831,_0x2723ba._0x246bc8)]['limit']['radius'],_0x46c987=this['options']['limit']['position'];this['debugExtentEntity']=this['_map']['entities']['add']({'name':'限定的范围','position':_0x46c987,'ellipsoid':{'radii':new Cesium__namespace[(_0x6ecc25(_0x2723ba._0x399fe3,_0x2723ba._0x113d98))](_0x4589b3,_0x4589b3,_0x4589b3),'maximumCone':Cesium__namespace[_0x5a9dba(0x106c,0x1422)]['PI_OVER_TWO'],'slicePartitions':0x2d,'stackPartitions':0x2d,'material':new Cesium__namespace['Color'](0x0,0x1,0x1,0x0),'outline':!![],'outlineColor':new Cesium__namespace[(_0x5a9dba(_0x2723ba._0x1ba373,0x191f))](0x0,0x1,0x1,0x1)}});}this['debugExtentEntity'][_0x6ecc25(0x1e65,0x164e)]=_0x2bc0a0;}['_mountedHook'](){const _0x45dc75={_0x4d3c44:0xd27,_0x4fc1fb:0x7d4,_0x41d17d:0x448,_0x4276c1:0x3ab};this['options'][_0x396e90(0x7c9,_0x45dc75._0x4d3c44)]&&this[_0x396e90(_0x45dc75._0x4fc1fb,0x964)]['limit']['debugExtent']&&(this['debugExtent']=this['options']['limit'][_0x396e90(0x11eb,0xf9c)]);this[_0x396e90(_0x45dc75._0x41d17d,-_0x45dc75._0x4276c1)]=!![];function _0x41a938(_0x2471ea,_0x2f30b5){return _0x54a7f1(_0x2471ea-0x91,_0x2f30b5);}function _0x396e90(_0x3cfc98,_0x5b860a){return _0x7afdbe(_0x5b860a,_0x3cfc98- -0x30a);}this['_limitGlobe']();}['_addedHook'](){const _0x40ac41={_0x2888ff:0x703,_0x5ab34a:0x980,_0x53b40c:0x57b},_0x3aebdc={_0x21f3b2:0x7e};function _0x147df0(_0x2d8743,_0x5cd294){return _0x7afdbe(_0x2d8743,_0x5cd294- -0x486);}function _0x2a4cac(_0x44b1f6,_0x44c0f5){return _0x7afdbe(_0x44c0f5,_0x44b1f6- -_0x3aebdc._0x21f3b2);}this[_0x147df0(0x472,0x57b)]['on'](EventType[_0x147df0(0x634,0x5a2)],this['_cameraMoveStartHandler'],this),this['_map']['on'](EventType[_0x2a4cac(0x104f,0xadb)],this[_0x147df0(-0x1d2,_0x40ac41._0x2888ff)],this),this[_0x147df0(_0x40ac41._0x5ab34a,_0x40ac41._0x53b40c)]['on'](EventType['cameraChanged'],this[_0x2a4cac(0x8ef,0xf40)],this);}[_0x7afdbe(0x128c,0xc7d)](){const _0x2adc1a={_0x2b3fd2:0x2e6,_0x2860d6:0x9e2,_0x35065f:0x1a0,_0x23584d:0xd21,_0x4efa8c:0x4b3,_0x2804b6:0xb3e,_0x12d5eb:0x2a1},_0xcaf4ac={_0x28f697:0x17e};function _0x57094b(_0x1d702e,_0x44707a){return _0x7afdbe(_0x44707a,_0x1d702e- -0x71b);}function _0x2f7a10(_0x1096f8,_0x2be509){return _0x54a7f1(_0x2be509- -_0xcaf4ac._0x28f697,_0x1096f8);}this[_0x57094b(_0x2adc1a._0x2b3fd2,-0x1cb)]['off'](EventType['cameraMoveStart'],this[_0x57094b(_0x2adc1a._0x2860d6,0x334)],this),this['_map'][_0x57094b(-_0x2adc1a._0x35065f,-0x889)](EventType[_0x2f7a10(0x8dc,_0x2adc1a._0x23584d)],this['_cameraMoveEndHandler'],this),this['_map'][_0x2f7a10(-0x63e,0x1cf)](EventType['cameraChanged'],this['_limitGlobe'],this),this[_0x2f7a10(-0x1b4,_0x2adc1a._0x4efa8c)]=[],this[_0x2f7a10(0x11ea,0xea5)]&&(this[_0x2f7a10(0x67f,0x655)][_0x2f7a10(0x10a9,_0x2adc1a._0x2804b6)][_0x57094b(_0x2adc1a._0x12d5eb,0x3d1)](this[_0x57094b(0xb36,0x87)]),delete this['debugExtentEntity']);}['_cameraMoveStartHandler'](){const _0x2cef41={_0x321332:0x5bf};function _0xe05fa7(_0xeb1fbc,_0x34e99b){return _0x54a7f1(_0xeb1fbc- -0x3ac,_0x34e99b);}this[_0xe05fa7(0x427,-_0x2cef41._0x321332)]&&(this['isInPush']=!![]);}['_cameraMoveEndHandler'](){function _0x24843c(_0x500de3,_0x3f4b1c){return _0x7afdbe(_0x3f4b1c,_0x500de3- -0x1b);}if(!this[_0x24843c(0x737,0xcb5)])return;this['_addCameraView']();}['_limitGlobe'](){const _0x4951f1={_0x5118fd:0x5b9,_0x309b5f:0x1a7,_0x272b0a:0xb08,_0x283f6d:0xfa5,_0x2b31f0:0x247,_0x270a6f:0x2aa,_0x450fb1:0x78e,_0x3bfd29:0x90e,_0x5ddc7e:0x4e7,_0x5abb77:0x52f,_0x22e907:0xac,_0x471042:0xa06,_0x561398:0x4e7},_0x44b8fc={_0x400089:0x5aa,_0x3b28a9:0x317},_0x2fa8c2={_0x2224ff:0x51a};function _0x22a64e(_0xb3add5,_0xc385c3){return _0x7afdbe(_0xc385c3,_0xb3add5- -_0x2fa8c2._0x2224ff);}function _0x420058(_0x268773,_0x4080fc){return _0x54a7f1(_0x4080fc-0x233,_0x268773);}if(!this['options'][_0x22a64e(_0x4951f1._0x5118fd,-0x4d0)]||!this['isInPush'])return;const _0x3e59ff=this['options']['limit']['position'],_0x51bf4f=this['options']['limit']['radius'];let _0x15441c;if(this['_map']['scene'][_0x22a64e(_0x4951f1._0x309b5f,-0x114)]===Cesium__namespace['SceneMode']['SCENE3D'])_0x15441c=Cesium__namespace[_0x22a64e(0xffb,_0x4951f1._0x272b0a)][_0x22a64e(_0x4951f1._0x283f6d,0x1990)](_0x3e59ff,this[_0x420058(_0x4951f1._0x2b31f0,0xa06)][_0x420058(_0x4951f1._0x270a6f,_0x4951f1._0x450fb1)]['positionWC']);else{const _0x18f8a8=_0x51bf4f*0x2;if(this['_map']['camera'][_0x22a64e(_0x4951f1._0x3bfd29,0x945)]['height']>_0x18f8a8)_0x15441c=_0x18f8a8;else{const _0x9ca440=this[_0x22a64e(_0x4951f1._0x5ddc7e,_0x4951f1._0x5abb77)]['getCenter'](!![]);_0x15441c=Cesium__namespace['Cartesian3']['distance'](_0x3e59ff,_0x9ca440);}}if(_0x15441c<=_0x51bf4f){this[_0x22a64e(0x924,-_0x4951f1._0x22e907)]=this['_map']['getCameraView']();return;}this[_0x22a64e(0x238,-0x2d4)]=![],this['lastCameraView']?this[_0x420058(0x5f8,_0x4951f1._0x471042)]['setCameraView'](this[_0x22a64e(0x924,0x640)],{'duration':0.5,'complete':()=>{this['isInPush']=!![];}}):this[_0x22a64e(_0x4951f1._0x561398,-0x159)]['flyToPoint'](_0x3e59ff,{'radius':_0x51bf4f*0.6,'duration':0.5,'complete':()=>{function _0x22ae04(_0x42dc5a,_0x5250ea){return _0x22a64e(_0x42dc5a-0x372,_0x5250ea);}this[_0x22ae04(_0x44b8fc._0x400089,-_0x44b8fc._0x3b28a9)]=!![];}});}['_addCameraView'](){const _0x5e26b7={_0x235c3b:0x9a0,_0x287d75:0x7a8,_0x162a4b:0x10ee,_0x31f0b0:0x817,_0x1c9eab:0x1ec,_0x2ee7f1:0x7b0},_0x5b63df={_0x21a8da:0x1e6},_0x50753b=this[_0x37cf66(_0x5e26b7._0x235c3b,0x7d8)][_0x37cf66(_0x5e26b7._0x287d75,0x11cb)]();this['views'][_0x32d755(_0x5e26b7._0x162a4b,0x94b)](_0x50753b);function _0x32d755(_0x3473db,_0x53a49f){return _0x54a7f1(_0x3473db-_0x5b63df._0x21a8da,_0x53a49f);}function _0x37cf66(_0x474ab5,_0x1af6c6){return _0x54a7f1(_0x1af6c6-0x5,_0x474ab5);}this['views']['length']>this[_0x37cf66(0x14b6,0x162c)]&&this[_0x32d755(_0x5e26b7._0x31f0b0,0xa3e)]['splice'](0x0,0x1),this[_0x37cf66(_0x5e26b7._0x1c9eab,_0x5e26b7._0x2ee7f1)]=this['views']['length']-0x1,this['fire'](EventType[_0x37cf66(0x118,0x5f6)],{'index':this['step'],'count':this['views']['length']});}['_goHistoryView'](){const _0x2e0fb3={_0x4f9461:0x1505,_0x4dfb8d:0xdff,_0x19dd51:0x3de,_0x545242:0x260},_0x3fb183={_0x211f47:0x50d,_0x53627c:0x75a,_0x484605:0x1071,_0x18f3a3:0x4f8,_0x5b99bf:0x52f,_0x6952e2:0xca9,_0x23bea5:0x142d,_0x3ca2b5:0x66e,_0x3d8cc0:0xc4f},_0x45af43={_0x5153ed:0x115},_0x241e96={_0x4a3058:0x44f};function _0x540c92(_0x1f8f36,_0x3f09d6){return _0x7afdbe(_0x3f09d6,_0x1f8f36- -_0x241e96._0x4a3058);}this['_map']['camera']['moveStart'][_0x53302a(_0x2e0fb3._0x4f9461,_0x2e0fb3._0x4dfb8d)](this['_cameraMoveStartHandler'],this);function _0x53302a(_0x5f1fb9,_0x5b91ab){return _0x54a7f1(_0x5b91ab- -0x146,_0x5f1fb9);}this['_map']['camera']['moveEnd']['removeEventListener'](this[_0x53302a(-0xf3,0x815)],this),this[_0x53302a(0xc2c,_0x2e0fb3._0x19dd51)]=![],this['_map']['setCameraView'](this[_0x540c92(0x410,-_0x2e0fb3._0x545242)][this[_0x540c92(0x58a,-0x339)]],{'complete':()=>{this['_map'][_0x251510(_0x3fb183._0x211f47,0xf00)][_0x4f36d1(_0x3fb183._0x53627c,-0x4c)]['addEventListener'](this[_0x251510(0xe81,_0x3fb183._0x484605)],this);function _0x251510(_0x29a163,_0x5d3957){return _0x540c92(_0x29a163-0x1d3,_0x5d3957);}function _0x4f36d1(_0x14d461,_0x516cea){return _0x540c92(_0x516cea- -_0x45af43._0x5153ed,_0x14d461);}this[_0x4f36d1(_0x3fb183._0x18f3a3,0x49d)][_0x251510(0x50d,-_0x3fb183._0x5b99bf)]['moveEnd'][_0x4f36d1(_0x3fb183._0x6952e2,_0x3fb183._0x23bea5)](this[_0x251510(0x90d,0x9a0)],this),this['fire'](EventType['change'],{'index':this[_0x251510(0x75d,_0x3fb183._0x3ca2b5)],'count':this['views'][_0x4f36d1(0x123d,_0x3fb183._0x3d8cc0)]});}});}['goNext'](){const _0x49b685={_0x5ef5e2:0x9f3},_0x53a02a={_0x2cfbaf:0x6ff};function _0x982c11(_0x46cd8,_0x254f1a){return _0x7afdbe(_0x254f1a,_0x46cd8- -_0x53a02a._0x2cfbaf);}function _0xaf150d(_0x5e3f9e,_0x48f2ab){return _0x7afdbe(_0x5e3f9e,_0x48f2ab- -0x599);}return this['step']>=this[_0x982c11(0x160,-0x8c4)]['length']-0x1?![]:(this['step']++,this[_0xaf150d(0x48a,_0x49b685._0x5ef5e2)](),!![]);}['goLast'](){return this['step']<=0x0?![]:(this['step']--,this['_goHistoryView'](),!![]);}[_0x54a7f1(0xf07,0x680)](){const _0xc415a={_0x345a2b:0x900,_0x222924:0x6b1,_0x183c43:0xc5a,_0x4edc8b:0xc5a},_0x20dbd3={_0xb634d5:0xd9},_0x446109={_0x28e2fc:0x559};function _0x160b8a(_0x465605,_0x5d667e){return _0x7afdbe(_0x5d667e,_0x465605- -_0x446109._0x28e2fc);}function _0x53defe(_0x2e0539,_0x2087ef){return _0x7afdbe(_0x2087ef,_0x2e0539- -_0x20dbd3._0xb634d5);}return this[_0x53defe(_0xc415a._0x345a2b,_0xc415a._0x222924)]===this[_0x53defe(0x786,0xc2)][_0x160b8a(_0xc415a._0x183c43,0x912)]-0x1?![]:(this['step']=this['views'][_0x160b8a(_0xc415a._0x4edc8b,0x1212)]-0x1,this[_0x160b8a(0xa33,0x5e9)](),!![]);}['goFirst'](){const _0x3ce53a={_0x354086:0x719,_0x317dde:0x661,_0x4b455f:0xcb8},_0xf09ee6={_0x11089b:0x3d7},_0x647be1={_0x51d663:0x2d4};function _0x30ae9f(_0x38fbe8,_0x363419){return _0x7afdbe(_0x363419,_0x38fbe8- -_0x647be1._0x51d663);}function _0x4555f5(_0xf33d25,_0x13686e){return _0x7afdbe(_0x13686e,_0xf33d25- -_0xf09ee6._0x11089b);}return this[_0x4555f5(0x602,_0x3ce53a._0x354086)]<=0x0?![]:(this[_0x4555f5(0x602,_0x3ce53a._0x317dde)]=0x0,this[_0x30ae9f(_0x3ce53a._0x4b455f,0x1318)](),!![]);}}register('cameraHistory',CameraHistory);class RotateOut extends BaseThing{constructor(_0x161f1f={}){const _0x857af9={_0x3e5863:0xcd4,_0x1d360b:0x10d7,_0x189f64:0xb8c,_0x5a7ef3:0x781,_0x2b31a9:0x220},_0x225c9c={_0x1c873a:0x64d};function _0x31439f(_0x5612b9,_0x5ec524){return _0x7afdbe(_0x5612b9,_0x5ec524- -_0x225c9c._0x1c873a);}super(_0x161f1f),this['_angle']=0x168/(0x3c*this[_0x31439f(_0x857af9._0x3e5863,0x491)]['time']||0x3c),this['_direction']=this['options'][_0x4edca5(_0x857af9._0x1d360b,_0x857af9._0x189f64)]?-0x1:0x1;function _0x4edca5(_0x10be17,_0x33f1cc){return _0x54a7f1(_0x33f1cc- -0x9a,_0x10be17);}this[_0x31439f(_0x857af9._0x5a7ef3,_0x857af9._0x2b31a9)]=this['options']['autoStopAngle'];}get[_0x54a7f1(0x76e,0x81a)](){return this['_isStart'];}['_enabledHook'](_0x2c0438){_0x2c0438?this['start']():this['stop']();}[_0x7afdbe(-0x5a7,0x4b9)](){}['_addedHook'](){}['_removedHook'](){function _0x572da2(_0x33f568,_0x46db68){return _0x7afdbe(_0x46db68,_0x33f568- -0x545);}this[_0x572da2(0x463,0x981)]();}['start'](){const _0x284313={_0x202b44:0xb63,_0x197814:0x3bb,_0xf656b2:0x3ea,_0x4b2dc1:0x8b0,_0x21cb52:0xd8c},_0x4e550e={_0x4c7631:0x339};this['_isStart']&&this['stop']();this['_isStart']=!![],this[_0x41bef3(_0x284313._0x202b44,_0x284313._0x197814)]=0x0;function _0x41bef3(_0x151469,_0xd4015e){return _0x54a7f1(_0x151469-0xdd,_0xd4015e);}this['_startHeading']=this['_map']['camera'][_0x41bef3(_0x284313._0xf656b2,0x74a)];function _0x3b464d(_0x269149,_0x13326c){return _0x7afdbe(_0x269149,_0x13326c- -_0x4e550e._0x4c7631);}this['_startPitch']=this[_0x41bef3(_0x284313._0x4b2dc1,0xb92)]['camera'][_0x41bef3(0x176f,0x1d67)],this['_map']['on'](EventType[_0x3b464d(0xbb2,_0x284313._0x21cb52)],this['_onPreRenderHandler'],this),this['fire'](EventType['start']);}[_0x54a7f1(0x96b,0xcc3)](_0x452f33){const _0x31f134={_0x28b09d:0x717,_0x102aab:0x570,_0x14eb6e:0x40b,_0x4e2432:0x107,_0x49c3dc:0x48c,_0x4fbc8a:0xeae,_0x3bf2d1:0x27a},_0x2f9b57={_0x325b4e:0x59d};this[_0x3e949d(_0x31f134._0x28b09d,-0x60)]++;function _0x3e949d(_0x36ccf3,_0x3a6329){return _0x7afdbe(_0x3a6329,_0x36ccf3- -_0x2f9b57._0x325b4e);}const _0x47c7e6=this[_0x1c9acc(0x9b7,0xa42)]*this[_0x1c9acc(0x22b,-0x2ea)];function _0x1c9acc(_0x3cd87c,_0x4a76dd){return _0x7afdbe(_0x4a76dd,_0x3cd87c- -0x2fd);}this[_0x1c9acc(_0x31f134._0x102aab,0xa87)]&&_0x47c7e6>=this['_autoStopAngle']&&this[_0x3e949d(_0x31f134._0x14eb6e,_0x31f134._0x4e2432)]();const _0x3fbd5b=Cesium__namespace['Math']['toRadians'](_0x47c7e6*this['_direction'])+this['_startHeading'];this['_map'][_0x3e949d(0xd10,0x761)][_0x1c9acc(_0x31f134._0x49c3dc,_0x31f134._0x4fbc8a)][_0x3e949d(0x27c,_0x31f134._0x3bf2d1)]({'orientation':{'heading':_0x3fbd5b,'pitch':this['_startPitch']}}),this['fire'](EventType[_0x3e949d(0x282,-0x71e)]);}['stop'](){const _0x355b2c={_0x16f3b8:0x35e};if(!this[_0x18a36a(0xdce,0x11e8)])return;this['_isStart']=![],this['_map']['off'](EventType[_0x13b8e4(0x7d0,0x10a8)],this['_onPreRenderHandler'],this);function _0x18a36a(_0x3ac2cb,_0x208483){return _0x7afdbe(_0x208483,_0x3ac2cb- -_0x355b2c._0x16f3b8);}function _0x13b8e4(_0x558644,_0x10b91f){return _0x7afdbe(_0x558644,_0x10b91f- -0x1d);}this['fire'](EventType[_0x13b8e4(0x11b9,0x98b)]);}}register(_0x54a7f1(0x53c,0x193),RotateOut);const PointEditElementColors={'X_TRANSLATION_COLOR':Cesium__namespace['Color']['RED']['withAlpha'](0.6),'Y_TRANSLATION_COLOR':Cesium__namespace[_0x7afdbe(0x17e2,0x14b2)][_0x54a7f1(0x1143,0x1181)]['withAlpha'](0.6),'Z_TRANSLATION_COLOR':Cesium__namespace['Color']['BLUE'][_0x54a7f1(0x38b,0x35a)](0.6),'XY_TRANSLATION_COLOR':Cesium__namespace['Color']['BLUE'][_0x7afdbe(0x362,0x5b9)](0.6),'YZ_TRANSLATION_COLOR':Cesium__namespace[_0x7afdbe(0x12f9,0x14b2)]['RED'][_0x7afdbe(-0x134,0x5b9)](0.6),'XZ_TRANSLATION_COLOR':Cesium__namespace['Color'][_0x7afdbe(0x118f,0x1371)]['withAlpha'](0.6)},HighlightColor=Cesium__namespace['Color']['YELLOW'];class MatrixMove2 extends BaseThing{constructor(_0x26147d={}){const _0x451cd6={_0x26e061:0x1226,_0x410efd:0xa67,_0x591a38:0x14b3,_0x37f998:0x938,_0x194a56:0x10dc,_0x71053d:0x6d4,_0x25e22c:0x81,_0x17e0b7:0x358,_0x3be256:0xfa1,_0xc668a5:0x1fa8},_0x385d61={_0x38690e:0x17};super(_0x26147d),this[_0x570c42(0x131a,_0x451cd6._0x26e061)]={'X_TRANSLATION':this['id']+_0x570c42(_0x451cd6._0x410efd,0x14f6),'Y_TRANSLATION':this['id']+_0x570c42(0x19d7,_0x451cd6._0x591a38),'Z_TRANSLATION':this['id']+'_PointEdit_Z_TRANSLATION','XY_TRANSLATION':this['id']+_0x575571(_0x451cd6._0x37f998,0x8d7),'YZ_TRANSLATION':this['id']+'_PointEdit_YZ_TRANSLATION','XZ_TRANSLATION':this['id']+'_PointEdit_XZ_TRANSLATION'};const _0x2a2b90={};_0x2a2b90[_0x575571(0x505,0xb40)]=!![],_0x2a2b90['Y_TRANSLATION']=!![],_0x2a2b90[_0x575571(0x88e,_0x451cd6._0x194a56)]=!![],_0x2a2b90['XY_TRANSLATION']=!![];function _0x570c42(_0xcbe54c,_0x3cefbd){return _0x7afdbe(_0x3cefbd,_0xcbe54c-_0x385d61._0x38690e);}_0x2a2b90['XZ_TRANSLATION']=!![],_0x2a2b90[_0x570c42(0x169b,0x2095)]=!![],this['_hideFeatures']=_0x2a2b90,this['_radius']=Cesium__namespace[_0x575571(_0x451cd6._0x71053d,-_0x451cd6._0x25e22c)](_0x26147d[_0x575571(0x95a,0xdf)],0x64),this['_editMatrix']=new Cesium__namespace[(_0x570c42(0x61d,_0x451cd6._0x17e0b7))](),this[_0x575571(0x1703,_0x451cd6._0x3be256)]=![],this['_pickedId']='';function _0x575571(_0xa19cad,_0x48b31e){return _0x7afdbe(_0xa19cad,_0x48b31e- -0x526);}this[_0x575571(-0x415,0x82)]='',this['_oldPickPrimitive']=undefined,_0x26147d['position']&&(this[_0x570c42(0x1926,_0x451cd6._0xc668a5)]=_0x26147d[_0x575571(0x16c2,0x13e9)]);}get['position'](){return this['_position'];}set[_0x7afdbe(0x1e0d,0x190f)](_0x16a673){const _0x22ad89={_0x55243c:0x1652,_0x3ccfb6:0xc32,_0xaa526b:0xdb7,_0x4f9a65:0x1689};this[_0x9c7989(_0x22ad89._0x55243c,0xec7)]=LngLatPoint['toCartesian'](_0x16a673);function _0x46791e(_0x46d72f,_0x53bf99){return _0x7afdbe(_0x53bf99,_0x46d72f- -0x159);}function _0x9c7989(_0x29ce96,_0x43701f){return _0x54a7f1(_0x43701f-0x13b,_0x29ce96);}this['_editMatrix']=Cesium__namespace['Matrix4']['multiplyByUniformScale'](Cesium__namespace[_0x46791e(0x842,0xe91)]['eastNorthUpToFixedFrame'](this['_position']),this[_0x9c7989(_0x22ad89._0x3ccfb6,_0x22ad89._0xaa526b)],this['_editMatrix']),this[_0x46791e(_0x22ad89._0x4f9a65,0x207b)]();}get['radius'](){return this['_radius'];}set['radius'](_0x230bc1){const _0x3811be={_0x3219bf:0x150b};this['_radius']=_0x230bc1;function _0x314064(_0xbe9f31,_0x1e6858){return _0x54a7f1(_0x1e6858-0x15d,_0xbe9f31);}function _0x5c0b7b(_0x45a22a,_0x20261e){return _0x7afdbe(_0x45a22a,_0x20261e- -0x3a0);}this['_editMatrix']=Cesium__namespace[_0x314064(-0x3ab,0x535)][_0x5c0b7b(0x11cd,0x13dc)](Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this[_0x314064(0x175c,0xee9)]),this['_radius'],this['_editMatrix']),this[_0x5c0b7b(_0x3811be._0x3219bf,0x1442)]();}get['isMoveing'](){const _0x253057={_0x19b3e5:0x296};if(!this['_map'])return![];function _0x20db95(_0xcca352,_0x2350b1){return _0x54a7f1(_0xcca352- -0x2a2,_0x2350b1);}return this[_0x20db95(0x297,-_0x253057._0x19b3e5)];}[_0x7afdbe(0x1314,0x8dc)](_0x2480f2){const _0x243f15={_0x134ffa:0x5f0,_0x23eb19:0x26f},_0x5e6966={_0x29741e:0x2b9};function _0x524f98(_0x3e1f6c,_0x3732f6){return _0x7afdbe(_0x3e1f6c,_0x3732f6-0x86);}this[_0x58ae92(_0x243f15._0x134ffa,_0x243f15._0x23eb19)][_0x524f98(0x1b77,0x18a7)]=_0x2480f2;function _0x58ae92(_0xa5b054,_0x2e0e25){return _0x54a7f1(_0xa5b054- -_0x5e6966._0x29741e,_0x2e0e25);}_0x2480f2?this['_bindEvent']():this['_unbindEvent']();}['_mountedHook'](){const _0x1e30d9={_0x2ed0d5:0x15f3,_0x2dc3c4:0xe31};function _0x4d80c0(_0x51d3fa,_0x45af78){return _0x7afdbe(_0x45af78,_0x51d3fa- -0x22e);}this['_drawLayer']=new Cesium__namespace['PrimitiveCollection'](),this['_drawLayer']['show']=this[_0x4d80c0(_0x1e30d9._0x2ed0d5,_0x1e30d9._0x2dc3c4)]??!![];}[_0x7afdbe(0xe46,0x134f)](){const _0x1de908={_0x4657ba:0x5b2,_0x59ae7e:0xc3d,_0x51bb7e:0x158a};function _0xc93f89(_0x4c7e5c,_0x20a2c7){return _0x54a7f1(_0x20a2c7-0x14c,_0x4c7e5c);}function _0x2b90ba(_0xdba1ba,_0x4f58db){return _0x7afdbe(_0xdba1ba,_0x4f58db- -0x640);}this[_0x2b90ba(_0x1de908._0x4657ba,0x3c1)]['scene']['primitives'][_0xc93f89(_0x1de908._0x59ae7e,0x7dc)](this['_drawLayer']),this['_createGraphics'](),this[_0xc93f89(0x16c9,_0x1de908._0x51bb7e)]();}['_removedHook'](){const _0xe32b83={_0x1766e2:0x8b3},_0x191d35={_0x10b147:0x14e};this['_unbindEvent'](),this['_drawLayer']['removeAll']();function _0x2981e7(_0x3e52d6,_0x24f01b){return _0x7afdbe(_0x3e52d6,_0x24f01b- -_0x191d35._0x10b147);}this[_0x2981e7(0x636,_0xe32b83._0x1766e2)]['scene']['primitives']['remove'](this['_drawLayer']);}[_0x7afdbe(0x149c,0x17e2)](){const _0x3e5d5e={_0x56f4c0:0x22f,_0x538ccc:0x1143,_0x450067:0x7df,_0x3c32df:0x4c2,_0xf72673:0x1a10,_0x98ac6b:0xd20,_0x3beae5:0x665,_0x13e0c1:0x1270,_0x4cfd6a:0x182c,_0x558655:0x4e7,_0x1ba2c7:0x1143,_0x225a21:0x113e,_0xb19e49:0x726,_0x37708c:0xf2c,_0x160d81:0x647,_0x63debc:0x12d0,_0x548392:0x172c},_0x3d496e={_0x314268:0x392};if(!this['_drawLayer'])return;function _0x2f015e(_0x113315,_0x7a581c){return _0x7afdbe(_0x7a581c,_0x113315- -0x3d7);}this['_drawLayer']['removeAll']();if(!this[_0x31b862(0xc28,0x113d)])return;const _0x335bca=Cesium__namespace[_0x2f015e(_0x3e5d5e._0x56f4c0,-0x4b5)]['clone'](this['_editMatrix']);function _0x31b862(_0x5d7002,_0x13d738){return _0x7afdbe(_0x13d738,_0x5d7002- -_0x3d496e._0x314268);}this['_hideFeatures']['X_TRANSLATION']&&this['_drawLayer'][_0x31b862(0x52c,0xcf8)](createPolylinePrimitive({'positions':[Cesium__namespace['Cartesian3'][_0x2f015e(_0x3e5d5e._0x538ccc,0x1664)],Cesium__namespace['Cartesian3'][_0x31b862(_0x3e5d5e._0x450067,0x6b0)]],'modelMatrix':_0x335bca,'id':this['_pointEditElementIDs']['X_TRANSLATION'],'color':PointEditElementColors['X_TRANSLATION_COLOR']})),this['_hideFeatures']['Y_TRANSLATION']&&this[_0x31b862(0x745,_0x3e5d5e._0x3c32df)][_0x31b862(0x52c,0x778)](createPolylinePrimitive({'positions':[Cesium__namespace[_0x31b862(0x1183,_0x3e5d5e._0xf72673)]['ZERO'],Cesium__namespace['Cartesian3']['UNIT_Y']],'modelMatrix':_0x335bca,'id':this['_pointEditElementIDs'][_0x2f015e(_0x3e5d5e._0x98ac6b,_0x3e5d5e._0x3beae5)],'color':PointEditElementColors['Y_TRANSLATION_COLOR']})),this['_hideFeatures'][_0x31b862(_0x3e5d5e._0x13e0c1,_0x3e5d5e._0x4cfd6a)]&&this['_drawLayer'][_0x2f015e(_0x3e5d5e._0x558655,0x956)](createPolylinePrimitive({'positions':[Cesium__namespace['Cartesian3'][_0x2f015e(_0x3e5d5e._0x1ba2c7,0xb95)],Cesium__namespace[_0x2f015e(_0x3e5d5e._0x225a21,0xd52)][_0x31b862(0x10cf,0x1b13)]],'modelMatrix':_0x335bca,'id':this['_pointEditElementIDs'][_0x2f015e(0x122b,0xcac)],'color':PointEditElementColors['Z_TRANSLATION_COLOR']})),this[_0x31b862(0x726,0xe22)][_0x31b862(0x51a,0xaf4)]&&this['_drawLayer']['add'](createPlanePrimitive({'positions':[0.1,0.1,0x0,0.1,0.3,0x0,0.3,0.3,0x0,0.3,0.1,0x0],'normals':[0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1],'modelMatrix':_0x335bca,'id':this['_pointEditElementIDs'][_0x2f015e(0x4d5,0x2fc)],'color':PointEditElementColors['XY_TRANSLATION_COLOR']})),this[_0x31b862(_0x3e5d5e._0xb19e49,0x9cd)]['YZ_TRANSLATION']&&this['_drawLayer']['add'](createPlanePrimitive({'positions':[0x0,0.1,0.1,0x0,0.1,0.3,0x0,0.3,0.3,0x0,0.3,0.1],'normals':[0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0],'modelMatrix':_0x335bca,'id':this[_0x2f015e(_0x3e5d5e._0x37708c,_0x3e5d5e._0x160d81)]['YZ_TRANSLATION'],'color':PointEditElementColors['YZ_TRANSLATION_COLOR']})),this['_hideFeatures'][_0x2f015e(_0x3e5d5e._0x63debc,0xaa8)]&&this['_drawLayer'][_0x2f015e(0x4e7,0x601)](createPlanePrimitive({'positions':[0.1,0x0,0.1,0.1,0x0,0.3,0.3,0x0,0.3,0.3,0x0,0.1],'normals':[0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0],'modelMatrix':_0x335bca,'id':this[_0x31b862(0xf71,0x16a3)]['XZ_TRANSLATION'],'color':PointEditElementColors[_0x2f015e(0x13fd,_0x3e5d5e._0x548392)]}));}[_0x7afdbe(0x20c4,0x166c)](){const _0x1e43ff={_0x388da0:0xafe,_0x24cb98:0x129e,_0x37b79c:0xdb8},_0x331a45={_0x4eb595:0x577,_0x1e097d:0x2c0,_0x39d88c:0xad6,_0x570731:0x209,_0x2dd05d:0xa4d,_0x5a0f8a:0x7a8,_0x457205:0xdf5,_0x70fd2:0x61c,_0x5aa8e9:0xe1,_0x41f8a0:0x1350,_0x26861a:0xc93,_0xd2ff7d:0x7de,_0x4fe127:0x1318,_0x217b1f:0x35c,_0x22c5e6:0x1295,_0x2048e1:0x8fb,_0x29c202:0x65d,_0x23b88f:0x14,_0x46e2ae:0xd08,_0x50415c:0x11e1},_0x2d93f6={_0x29e334:0x588},_0x1cd6a8={_0x91a330:0xac2,_0x3554c3:0x623},_0x150fc9={_0x4c32d6:0x150},_0x467438={_0x5448af:0x22b},_0x2ebfca={_0x4197de:0xd79},_0x189eed={_0x4d46ab:0x309};this[_0x4dc894(0xcdc,0x1009)](),this['_handler']=new Cesium__namespace[(_0x4dc894(0xd42,0xd9a))](this[_0x4dc894(0x7d6,0x631)]['canvas']),this['_handler'][_0x4dc894(0xf33,_0x1e43ff._0x388da0)](_0x83ec70=>{function _0xde9334(_0x3a8c5a,_0x1ec80e){return _0x146e50(_0x1ec80e,_0x3a8c5a- -0x583);}const _0x473171=drillPickTransformHelperComponent(this['_map']['scene'],_0x83ec70['position'],this[_0xde9334(0xc36,0xd41)]);function _0x269cbb(_0x385323,_0x33ee21){return _0x4dc894(_0x385323- -_0x189eed._0x4d46ab,_0x33ee21);}_0x473171&&(this[_0x269cbb(0x4cd,0x89)][_0x269cbb(_0x2ebfca._0x4197de,0xe85)]['screenSpaceCameraController'][_0xde9334(0xb19,0xa7)]=![],this['_isLeftDown']=!![],this['_pickedId']=_0x473171['id']);},Cesium__namespace['ScreenSpaceEventType']['LEFT_DOWN']);function _0x4dc894(_0x142f88,_0x39e5bb){return _0x7afdbe(_0x39e5bb,_0x142f88- -_0x467438._0x5448af);}function _0x146e50(_0x3d729c,_0x4ead9b){return _0x54a7f1(_0x4ead9b-0xe4,_0x3d729c);}this['_handler']['setInputAction'](()=>{function _0x2e10bc(_0x58d347,_0x34a374){return _0x4dc894(_0x34a374- -0x279,_0x58d347);}this['_map']['scene'][_0x2e10bc(_0x1cd6a8._0x91a330,0x1008)]['enableInputs']=!![];function _0x378a93(_0x2a4f1e,_0x29b58c){return _0x146e50(_0x29b58c,_0x2a4f1e-_0x150fc9._0x4c32d6);}this[_0x2e10bc(0x77d,0x1023)]=![],this['_pickedId']='',Cesium__namespace['defined'](this['_oldPickedId'])&&this['_oldPickedId']!==''&&(setPointEditElementColorsForId(this['_oldPickedId'],getPointEditElementColorsForId(this[_0x2e10bc(-_0x1cd6a8._0x3554c3,0x104)],this['_pointEditElementIDs']),this[_0x2e10bc(0x180b,0xe5f)]),this['_oldPickedId']='',this['_createGraphics']());},Cesium__namespace[_0x146e50(0xf49,_0x1e43ff._0x24cb98)]['LEFT_UP']),this[_0x146e50(0x7aa,_0x1e43ff._0x37b79c)]['setInputAction'](_0x1c1c58=>{function _0x562722(_0x2e1dd3,_0x293fc7){return _0x146e50(_0x293fc7,_0x2e1dd3- -_0x2d93f6._0x29e334);}let _0x353d93=![];if(Cesium__namespace['defined'](this[_0x562722(0x208,_0x331a45._0x4eb595)])){var _0x48f7d6;const _0x1a4448=(_0x48f7d6=this[_0x47b95a(0x3db,_0x331a45._0x1e097d)])===null||_0x48f7d6===void 0x0?void 0x0:_0x48f7d6['_instanceIds'];if(_0x1a4448&&_0x1a4448[0x0]){const _0x59a9b8=this[_0x47b95a(_0x331a45._0x39d88c,0x2c0)]['appearance'][_0x562722(-0x51,_0x331a45._0x570731)][_0x562722(0x1049,0xcf5)];_0x59a9b8['color']=getPointEditElementColorsForId(_0x1a4448[0x0],this[_0x562722(0xc31,_0x331a45._0x2dd05d)]),this[_0x47b95a(-_0x331a45._0x5a0f8a,_0x331a45._0x1e097d)]=undefined;}}function _0x47b95a(_0x190e1c,_0x5439bd){return _0x146e50(_0x190e1c,_0x5439bd- -0x4d0);}if(this[_0x562722(_0x331a45._0x457205,_0x331a45._0x70fd2)]){Cesium__namespace['defined'](this[_0x47b95a(0x7dd,_0x331a45._0x5aa8e9)])&&this['_pickedId']!==''&&(setPointEditElementColorsForId(this['_pickedId'],HighlightColor,this[_0x562722(0xc31,0x382)]),this[_0x562722(-0x12a,0xcd)]=this['_pickedId'],_0x353d93=!![]);const _0x493292=this['_map'][_0x47b95a(_0x331a45._0x41f8a0,_0x331a45._0x26861a)];let _0x98207b=_0x493292[_0x47b95a(_0x331a45._0xd2ff7d,0xa14)](_0x1c1c58['startPosition']),_0x4790eb=_0x493292['pickPosition'](_0x1c1c58[_0x562722(-0x159,0x5e4)]);const _0x19a629=new Cesium__namespace[(_0x47b95a(0x167a,_0x331a45._0x4fe127))]();!Cesium__namespace['defined'](_0x98207b)&&(_0x19a629['x']=_0x1c1c58['startPosition']['x'],_0x19a629['y']=_0x493292['canvas']['clientHeight']-_0x1c1c58['startPosition']['y'],_0x98207b=getWorldPositionFromWindowPosition(_0x493292,_0x19a629));!Cesium__namespace[_0x47b95a(0xdcb,0x1295)](_0x4790eb)&&(_0x19a629['x']=_0x1c1c58['endPosition']['x'],_0x19a629['y']=_0x493292['canvas']['clientHeight']-_0x1c1c58[_0x47b95a(-_0x331a45._0x217b1f,-0xa1)]['y'],_0x4790eb=getWorldPositionFromWindowPosition(_0x493292,_0x19a629));if(Cesium__namespace[_0x562722(0x11dd,0xbaa)](_0x98207b)&&Cesium__namespace[_0x47b95a(0x1b19,_0x331a45._0x22c5e6)](_0x4790eb)){const _0x5e8c0c=getChangeMatrixByMovingMouse(this,_0x98207b,_0x4790eb,this['_pointEditElementIDs']);Cesium__namespace['defined'](_0x5e8c0c)&&(this[_0x47b95a(0x3c9,_0x331a45._0x2048e1)]=Cesium__namespace['Matrix4']['multiply'](this[_0x562722(0x843,_0x331a45._0x29c202)],_0x5e8c0c,new Cesium__namespace[(_0x47b95a(-0x922,-_0x331a45._0x23b88f))]()),this[_0x562722(0x8e8,0xd52)]=Cesium__namespace[_0x562722(-0xcc,-0x3a8)]['getTranslation'](this['_editMatrix'],this['_position']),this['onChange']({'position':this['_position']}),_0x353d93=!![]);}_0x353d93&&this['_createGraphics']();}else{const _0x77c543=drillPickTransformHelperComponent(this['_map']['scene'],_0x1c1c58['endPosition'],this['_pointEditElementIDs']);if(_0x77c543){const _0x32813f=_0x77c543[_0x47b95a(0xa09,_0x331a45._0x46e2ae)]['appearance']['material']['uniforms'];_0x32813f[_0x47b95a(_0x331a45._0x50415c,0xe26)]=HighlightColor,this['_oldPickPrimitive']=_0x77c543['primitive'];}}},Cesium__namespace[_0x146e50(0x158f,0x129e)][_0x4dc894(0x1114,0x700)]);}['_unbindEvent'](){function _0x4a1c95(_0x3ec62a,_0x31d82d){return _0x7afdbe(_0x3ec62a,_0x31d82d- -0x2ed);}this[_0x4a1c95(0xb9d,0xc15)]&&(this['_handler']['destroy'](),delete this['_handler']);}['onChange'](_0x44caf1){this['options']['onChange']&&this[_0x417af5(0x8f9,0x1e2)]['onChange'](_0x44caf1);function _0x417af5(_0x24c7e0,_0x11e9cb){return _0x54a7f1(_0x24c7e0-0x49,_0x11e9cb);}this['fire'](EventType['change'],_0x44caf1,!![]);}}function createPolylinePrimitive(_0x30f2a5){const _0xc23243={_0x55c788:0x82e,_0x1c3d7b:0x7ae,_0x42392f:0x12a7,_0x332392:0xf0d,_0x4003b7:0x14c7},_0x387f12={_0xafe83:0x244},{positions:_0x3896a3,modelMatrix:_0x46df3b,color:_0x32dc7c,id:_0x50f766}=_0x30f2a5,_0x1171a7={};_0x1171a7['color']=_0x32dc7c;function _0x29ecf7(_0x175dbc,_0x3c1b56){return _0x54a7f1(_0x175dbc- -_0x387f12._0xafe83,_0x3c1b56);}const _0x4cfc32=new Cesium__namespace['PolylineMaterialAppearance']({'material':Cesium__namespace[_0x43b7ef(0x798,_0xc23243._0x55c788)]['fromType'](Cesium__namespace[_0x43b7ef(_0xc23243._0x1c3d7b,_0xc23243._0x55c788)]['PolylineArrowType'],_0x1171a7)});function _0x43b7ef(_0x54adfa,_0x27eee6){return _0x7afdbe(_0x54adfa,_0x27eee6- -0x9);}return new Cesium__namespace[(_0x43b7ef(0xf75,_0xc23243._0x42392f))]({'geometryInstances':new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace[(_0x29ecf7(_0xc23243._0x332392,0x17d3))]({'positions':_0x3896a3,'width':0xf,'vertexFormat':Cesium__namespace['PolylineMaterialAppearance'][_0x29ecf7(_0xc23243._0x4003b7,0x1864)],'arcType':Cesium__namespace[_0x43b7ef(0x1e87,0x15c1)]['NONE']}),'modelMatrix':_0x46df3b,'id':_0x50f766}),'appearance':_0x4cfc32,'depthFailAppearance':_0x4cfc32,'asynchronous':![]});}function createPlanePrimitive(_0x2b4d59){const _0x1fc370={_0xa2901c:0x79b,_0x30d21b:0x673,_0x28fada:0x24,_0xa756eb:0x552,_0x1262eb:0xe51,_0x5d320b:0x904},_0x161327={_0x41a0db:0x66f};function _0xa6a742(_0x5d8ad6,_0x1f7280){return _0x7afdbe(_0x5d8ad6,_0x1f7280- -_0x161327._0x41a0db);}const {positions:_0xcbdb54,modelMatrix:_0xc32781,normals:_0x13bbad,color:_0x2fac9d,id:_0x3c4a43}=_0x2b4d59,_0x343d93={};function _0x5d2dcd(_0x2f74b7,_0x1fa815){return _0x54a7f1(_0x2f74b7-0x6a,_0x1fa815);}_0x343d93['color']=_0x2fac9d;const _0x25db42=new Cesium__namespace['MaterialAppearance']({'closed':![],'flat':!![],'materialSupport':Cesium__namespace['MaterialAppearance'][_0x5d2dcd(_0x1fc370._0xa2901c,0x692)][_0x5d2dcd(0x14e7,0x1453)],'material':Cesium__namespace[_0x5d2dcd(_0x1fc370._0x30d21b,_0x1fc370._0x28fada)][_0x5d2dcd(0xc34,0xf24)](Cesium__namespace[_0xa6a742(-_0x1fc370._0xa756eb,0x1c8)]['ColorType'],_0x343d93)});return new Cesium__namespace['Primitive']({'geometryInstances':new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace[(_0x5d2dcd(0x621,0x380))]({'componentDatatype':Cesium__namespace[_0xa6a742(0x15ec,_0x1fc370._0x1262eb)]['DOUBLE'],'componentsPerAttribute':0x3,'values':new Float64Array(_0xcbdb54)}),'normal':new Cesium__namespace[(_0xa6a742(-_0x1fc370._0x5d320b,0x176))]({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array(_0x13bbad)})},'indices':new Uint16Array([0x0,0x1,0x2,0x0,0x2,0x3]),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace['BoundingSphere']['fromVertices'](_0xcbdb54)}),'modelMatrix':_0xc32781,'id':_0x3c4a43}),'appearance':_0x25db42,'depthFailAppearance':_0x25db42,'asynchronous':![]});}function isTransformHelperComponent(_0x7b8aaf,_0x2458e1){const _0x54a8bd={_0xdd5888:0x279};for(const _0x5e925b in _0x2458e1){if(Object['hasOwnProperty'][_0x53c6b0(0x4c2,0xe38)](_0x2458e1,_0x5e925b)){const _0x33b3aa=_0x2458e1[_0x5e925b];if(_0x7b8aaf===_0x33b3aa)return!![];}}function _0x53c6b0(_0x45fbe4,_0x48179a){return _0x54a7f1(_0x48179a- -_0x54a8bd._0xdd5888,_0x45fbe4);}return![];}function getWorldPositionFromWindowPosition(_0x3bfc4a,_0xa8773a){const _0x137cb1={_0x25648c:0x5de},_0x38d13c=0.1;function _0x57a0ab(_0x4eea6a,_0x3f1ed5){return _0x54a7f1(_0x3f1ed5-0x63,_0x4eea6a);}function _0x4a475b(_0x57bb44,_0x18d96f){return _0x54a7f1(_0x57bb44- -0x1e2,_0x18d96f);}const _0x4359b5=Cesium__namespace['SceneTransforms'][_0x4a475b(0xe85,0xfa1)](_0x3bfc4a,_0xa8773a,new Cesium__namespace['Cartesian2']());return Cesium__namespace['SceneTransforms'][_0x4a475b(_0x137cb1._0x25648c,0xdd8)](_0x3bfc4a,_0x4359b5,_0x38d13c);}function getChangeMatrixByMovingMouse(_0xa64077,_0xbdf40b,_0x2b10a5,_0x12faa2){const _0x103c8f={_0x596f42:0x2d7,_0xd692b1:0x284,_0xcfb6e6:0x1662,_0xe0eff2:0x62c,_0x365cc3:0xfd4,_0x45fc25:0xf3d,_0x41de72:0x153b,_0x483a83:0xe22,_0x2ed4bf:0x101f,_0x1640e6:0x1328,_0x56992a:0x1487,_0x17a06d:0xf3b,_0x39bcab:0x1209,_0x56e0ba:0x984,_0x534f63:0x16cd,_0x3a45e8:0xf0a,_0x3123ec:0x1841,_0x52b966:0x1328,_0x282978:0x1415,_0x33530f:0x1487,_0x548e0:0x1328,_0x1833ea:0x14c5,_0x2637e9:0x9c0,_0xdcfe3f:0x12f8,_0x5314df:0xe57,_0x4ce294:0x16c2,_0x530517:0x419,_0x35f428:0xd2a,_0x11c18a:0x17b5,_0x281a04:0x14ba,_0x334e03:0xe88,_0x59704f:0x50d,_0x5ab572:0x419},_0x40bba4={_0x5ca2b8:0x254},_0x519fdd=_0xa64077['_pickedId'],_0x5f463b=Cesium__namespace[_0x4bb592(0x62c,-_0x103c8f._0x596f42)][_0x4c1177(_0x103c8f._0xd692b1,0x830)](_0xa64077['_editMatrix']),_0x5286d1=Cesium__namespace['Matrix4'][_0x4bb592(_0x103c8f._0xcfb6e6,0x1bb3)](_0x5f463b,new Cesium__namespace['Matrix4']()),_0x408d16=_0xa64077['_map']['camera']['positionWC'],_0x4b63bb=Cesium__namespace[_0x4bb592(_0x103c8f._0xe0eff2,_0x103c8f._0x365cc3)][_0x4bb592(_0x103c8f._0x45fc25,0x19f3)](_0x5286d1,_0x408d16,new Cesium__namespace['Cartesian3']());Cesium__namespace[_0x4bb592(_0x103c8f._0x41de72,0x1ddc)][_0x4c1177(_0x103c8f._0x483a83,0x12b2)](_0x4b63bb,_0x4b63bb);const _0xd898c2=Cesium__namespace[_0x4c1177(_0x103c8f._0x2ed4bf,_0x103c8f._0x1640e6)]['subtract'](_0xbdf40b,_0x408d16,new Cesium__namespace['Cartesian3']()),_0x5c3cbd=Cesium__namespace['Cartesian3']['subtract'](_0x2b10a5,_0x408d16,new Cesium__namespace['Cartesian3']()),_0x55efe4=new Cesium__namespace['Ray'](_0x408d16,_0xd898c2),_0x2f96a1=new Cesium__namespace['Ray'](_0x408d16,_0x5c3cbd),_0x2392d5=new Cesium__namespace['Cartesian3']();if(_0x519fdd===_0x12faa2['XY_TRANSLATION'])Cesium__namespace['Cartesian3']['clone'](Cesium__namespace['Cartesian3'][_0x4bb592(_0x103c8f._0x56992a,0x10d2)],_0x2392d5);else{if(_0x519fdd===_0x12faa2[_0x4bb592(0x16aa,0xfb9)])Cesium__namespace['Cartesian3'][_0x4c1177(_0x103c8f._0x17a06d,0x830)](Cesium__namespace['Cartesian3'][_0x4c1177(_0x103c8f._0x39bcab,_0x103c8f._0x56e0ba)],_0x2392d5);else{if(_0x519fdd===_0x12faa2[_0x4bb592(_0x103c8f._0x534f63,0x12e4)])Cesium__namespace[_0x4c1177(0xc22,_0x103c8f._0x1640e6)]['clone'](Cesium__namespace['Cartesian3']['UNIT_Y'],_0x2392d5);else{if(_0x519fdd===_0x12faa2['X_TRANSLATION']||_0x519fdd===_0x12faa2[_0x4c1177(0x88c,_0x103c8f._0x3a45e8)]||_0x519fdd===_0x12faa2['Z_TRANSLATION']){let _0x46c097=Cesium__namespace[_0x4c1177(_0x103c8f._0x3123ec,_0x103c8f._0x52b966)][_0x4c1177(0xfce,0x132d)];if(_0x519fdd===_0x12faa2['X_TRANSLATION'])_0x46c097=Cesium__namespace['Cartesian3']['UNIT_X'];else{if(_0x519fdd===_0x12faa2['Y_TRANSLATION'])_0x46c097=Cesium__namespace['Cartesian3']['UNIT_Y'];else _0x519fdd===_0x12faa2[_0x4c1177(0x9f3,_0x103c8f._0x282978)]&&(_0x46c097=Cesium__namespace[_0x4c1177(0x1180,_0x103c8f._0x52b966)][_0x4bb592(_0x103c8f._0x33530f,0xdf1)]);}const _0x59b3d7=new Cesium__namespace['Cartesian3']();Cesium__namespace['Cartesian3']['cross'](_0x4b63bb,_0x46c097,_0x59b3d7),Cesium__namespace[_0x4c1177(0x19c7,_0x103c8f._0x548e0)]['cross'](_0x46c097,_0x59b3d7,_0x2392d5),Cesium__namespace['Cartesian3'][_0x4bb592(_0x103c8f._0x1833ea,0x165f)](_0x2392d5,_0x2392d5);}}}}function _0x4bb592(_0x4b2712,_0x26c702){return _0x54a7f1(_0x4b2712-_0x40bba4._0x5ca2b8,_0x26c702);}const _0x4d579e=new Cesium__namespace[(_0x4bb592(0xc94,0xd00))](_0x2392d5,0x0);Cesium__namespace['Plane']['transform'](_0x4d579e,_0x5f463b,_0x4d579e);const _0x2f5ac9=Cesium__namespace[_0x4bb592(0x13dd,_0x103c8f._0x2637e9)][_0x4c1177(0x1d28,_0x103c8f._0xdcfe3f)](_0x55efe4,_0x4d579e),_0x2c8d80=Cesium__namespace[_0x4c1177(0xa6e,0x11ca)][_0x4c1177(0x16f5,0x12f8)](_0x2f96a1,_0x4d579e);if(!Cesium__namespace[_0x4c1177(_0x103c8f._0x5314df,0x16c2)](_0x2f5ac9)||!Cesium__namespace[_0x4c1177(0x2003,_0x103c8f._0x4ce294)](_0x2c8d80))return undefined;const _0x3fe576=Cesium__namespace[_0x4c1177(0x237,0x419)][_0x4c1177(0x90a,0xd2a)](_0x5286d1,_0x2f5ac9,new Cesium__namespace[(_0x4bb592(0x153b,0xd27))]());function _0x4c1177(_0x5aba56,_0x56e006){return _0x7afdbe(_0x5aba56,_0x56e006- -0x1ed);}const _0x387799=Cesium__namespace[_0x4c1177(-0x193,_0x103c8f._0x530517)][_0x4c1177(0x14e9,_0x103c8f._0x35f428)](_0x5286d1,_0x2c8d80,new Cesium__namespace['Cartesian3']()),_0x3d453a=new Cesium__namespace['Cartesian3']();Cesium__namespace[_0x4bb592(0x153b,_0x103c8f._0x11c18a)]['subtract'](_0x387799,_0x3fe576,_0x3d453a);if(_0x519fdd===_0x12faa2['X_TRANSLATION'])_0x3d453a['y']=0x0,_0x3d453a['z']=0x0;else{if(_0x519fdd===_0x12faa2['Y_TRANSLATION'])_0x3d453a['x']=0x0,_0x3d453a['z']=0x0;else{if(_0x519fdd===_0x12faa2[_0x4c1177(0xb77,0x1415)])_0x3d453a['x']=0x0,_0x3d453a['y']=0x0;else{if(_0x519fdd===_0x12faa2['XY_TRANSLATION'])_0x3d453a['z']=0x0;else{if(_0x519fdd===_0x12faa2['YZ_TRANSLATION'])_0x3d453a['x']=0x0;else _0x519fdd===_0x12faa2[_0x4c1177(0xf50,_0x103c8f._0x281a04)]&&(_0x3d453a['y']=0x0);}}}}return Cesium__namespace[_0x4c1177(_0x103c8f._0x334e03,0x419)]['fromTranslation'](_0x3d453a,new Cesium__namespace[(_0x4c1177(_0x103c8f._0x59704f,_0x103c8f._0x5ab572))]());}function setPointEditElementColorsForId(_0x588199,_0x10ecf3,_0x2f90d6){const _0x4034bf={_0x17d2b9:0xb31,_0x125f29:0x8bd,_0x2361bb:0x155e};function _0x4541e1(_0xb21a58,_0x39f429){return _0x54a7f1(_0x39f429- -0x307,_0xb21a58);}function _0x5e29aa(_0x498bb3,_0x550aa3){return _0x54a7f1(_0x498bb3- -0x104,_0x550aa3);}switch(_0x588199){case _0x2f90d6[_0x4541e1(0x8b0,_0x4034bf._0x17d2b9)]:PointEditElementColors['X_TRANSLATION_COLOR']=_0x10ecf3;break;case _0x2f90d6['Y_TRANSLATION']:PointEditElementColors[_0x4541e1(_0x4034bf._0x125f29,0x394)]=_0x10ecf3;break;case _0x2f90d6['Z_TRANSLATION']:PointEditElementColors[_0x5e29aa(0x1263,0x86a)]=_0x10ecf3;break;case _0x2f90d6['XZ_TRANSLATION']:PointEditElementColors['XZ_TRANSLATION_COLOR']=_0x10ecf3;break;case _0x2f90d6['XY_TRANSLATION']:PointEditElementColors['XY_TRANSLATION_COLOR']=_0x10ecf3;break;case _0x2f90d6['YZ_TRANSLATION']:PointEditElementColors[_0x5e29aa(_0x4034bf._0x2361bb,0xf27)]=_0x10ecf3;break;}}function getPointEditElementColorsForId(_0x661fa9,_0x2a1635){const _0x4ee55b={_0x58eca6:0x142c,_0x3640e7:0x1186,_0xc3ab30:0x195d,_0x303894:0x6c1},_0xd4ecc6={_0x56e14d:0x1eb},_0x2659d0={_0x24e4a6:0x86};let _0x65b9ba;function _0x1f6341(_0xfb5b70,_0x4c9b61){return _0x7afdbe(_0xfb5b70,_0x4c9b61- -_0x2659d0._0x24e4a6);}switch(_0x661fa9){case _0x2a1635['X_TRANSLATION']:case _0x2a1635['YZ_TRANSLATION']:_0x65b9ba=Cesium__namespace[_0x1f6341(0x1373,_0x4ee55b._0x58eca6)]['RED']['withAlpha'](0.6);break;case _0x2a1635['Y_TRANSLATION']:case _0x2a1635['XZ_TRANSLATION']:_0x65b9ba=Cesium__namespace['Color'][_0x57fbdc(0x108b,_0x4ee55b._0x3640e7)]['withAlpha'](0.6);break;case _0x2a1635[_0x57fbdc(_0x4ee55b._0xc3ab30,0x1417)]:case _0x2a1635[_0x57fbdc(0x1108,_0x4ee55b._0x303894)]:_0x65b9ba=Cesium__namespace[_0x57fbdc(0x16c1,0x12c7)]['BLUE']['withAlpha'](0.6);break;}function _0x57fbdc(_0x2ff32b,_0x34b69e){return _0x7afdbe(_0x2ff32b,_0x34b69e- -_0xd4ecc6._0x56e14d);}return _0x65b9ba;}function drillPickTransformHelperComponent(_0x160fc4,_0x3ccad7,_0x2f1d71){const _0x3cb502={_0x52e5f6:0x55b},_0x492de2={_0x4e43e0:0x415},_0x143c9f=_0x160fc4[_0x52d91f(0xfb7,_0x3cb502._0x52e5f6)](_0x3ccad7);function _0x52d91f(_0x381f44,_0x4bad99){return _0x7afdbe(_0x4bad99,_0x381f44- -_0x492de2._0x4e43e0);}const _0x2aa24f=_0x143c9f['length'];let _0xfb6837;for(let _0x3bf39f=0x0;_0x3bf39f<_0x2aa24f;_0x3bf39f++){const _0x5f3d62=_0x143c9f[_0x3bf39f];if(_0x5f3d62&&_0x5f3d62['id']&&isTransformHelperComponent(_0x5f3d62['id'],_0x2f1d71)){_0xfb6837=_0x5f3d62;break;}}return _0xfb6837;}const TaskItemClass={};class Task extends BaseThing{get[_0x7afdbe(0x1482,0x1681)](){const _0x262cd8={_0x31db92:0x1fc};function _0x5c6400(_0x14a475,_0x2ae1a9){return _0x54a7f1(_0x14a475- -_0x262cd8._0x31db92,_0x2ae1a9);}return this[_0x5c6400(0x5fb,0xaef)];}get['currentIndex'](){return this['_currentIndex'];}get[_0x7afdbe(0xba8,0x12cf)](){var _0x2e52e1;return(_0x2e52e1=this['_arrTaskItem'])===null||_0x2e52e1===void 0x0?void 0x0:_0x2e52e1['length'];}get['duration'](){const _0x48cc3f={_0x48cbb5:0x192d,_0xad9de8:0xecd};function _0x1f57de(_0x58888d,_0x12c6c2){return _0x7afdbe(_0x58888d,_0x12c6c2- -0x1bc);}var _0x159e27;const _0x216239=(_0x159e27=this[_0x41e1bd(_0x48cc3f._0x48cbb5,0xf97)])===null||_0x159e27===void 0x0?void 0x0:_0x159e27[_0x41e1bd(0x167d,_0x48cc3f._0xad9de8)];if(_0x216239===0x0)return 0x0;function _0x41e1bd(_0x36536c,_0x231330){return _0x7afdbe(_0x36536c,_0x231330- -0x2e6);}return this['_arrTaskItem'][_0x216239-0x1]['stop'];}get[_0x7afdbe(0x12ce,0x15b0)](){return this['options']['list'];}set['list'](_0x512106){const _0x2ddc57={_0xdb5e0:0xe84,_0x4a6766:0x107d},_0x376ccc={_0x3ac41c:0x4fe};function _0x2682bf(_0x2a40cb,_0x1d1b39){return _0x54a7f1(_0x1d1b39- -_0x376ccc._0x3ac41c,_0x2a40cb);}this[_0x472b86(0xb25,0x8bc)][_0x2682bf(0xfe7,_0x2ddc57._0xdb5e0)]=_0x512106;function _0x472b86(_0x19eea8,_0x3cd24d){return _0x7afdbe(_0x3cd24d,_0x19eea8-0x47);}this[_0x472b86(_0x2ddc57._0x4a6766,0x17a9)]();}get['listDX'](){return this['_arrTaskItem'];}['_mountedHook'](){const _0x4929fd={_0x341af7:0xe40};function _0x178f91(_0x15cf1f,_0x353166){return _0x54a7f1(_0x353166-0x38,_0x15cf1f);}this[_0x178f91(0x46d,_0x4929fd._0x341af7)]();}['_setOptionsHook'](_0x46b75e,_0x1f6cf8){_0x1f6cf8['list']&&this['_updateList']();}[_0x7afdbe(0x7ed,0x64e)](_0x34dea7){const _0x1c07f7={_0x1e1c33:0x134a},_0x1f20aa={_0x486c32:0xd8};function _0x34c5b3(_0x186dab,_0x7bd3a8){return _0x54a7f1(_0x7bd3a8- -_0x1f20aa._0x486c32,_0x186dab);}for(let _0xd25ec3=0x0;_0xd25ec3<this['_arrTaskItem'][_0x34c5b3(_0x1c07f7._0x1e1c33,0xead)];_0xd25ec3++){const _0xa6cb7e=this[_0x34c5b3(0xe5b,0xf77)][_0xd25ec3];if(_0xa6cb7e['id']===_0x34dea7)return _0xa6cb7e;}function _0x26ec05(_0x3c87ae,_0x310727){return _0x7afdbe(_0x310727,_0x3c87ae- -0x2c8);}return null;}['addItem'](_0x25d737){const _0x26866f={_0x37114c:0x11be},_0x1c235e={_0x190d12:0x3d3},_0x51144d={_0x50d278:0x2b6};function _0x5c3602(_0x20ec44,_0x2b8d61){return _0x54a7f1(_0x20ec44-_0x51144d._0x50d278,_0x2b8d61);}this['options'][_0x5c3602(0x1638,0xe93)][_0x5c3602(_0x26866f._0x37114c,0xa2a)](_0x25d737),this['_updateList']();function _0x443931(_0x24d8ab,_0x50db22){return _0x54a7f1(_0x24d8ab- -_0x1c235e._0x190d12,_0x50db22);}return this[_0x5c3602(0x1305,0x176e)][this['_arrTaskItem']['length']-0x1];}[_0x54a7f1(0xa67,0x14dc)](_0x8f7463){const _0x1512ce={_0x49b5f9:0x15f1,_0x53dc7b:0xd6e,_0x3dff41:0x2cf},_0x4862b3={_0x347b29:0x9a};function _0x354693(_0x1d3069,_0x17d6c9){return _0x7afdbe(_0x17d6c9,_0x1d3069- -0x10c);}let _0x2382e0;for(let _0x6cab06=0x0;_0x6cab06<this['_arrTaskItem']['length'];_0x6cab06++){const _0x277ac3=this[_0x542031(0xfb5,_0x1512ce._0x49b5f9)][_0x6cab06];_0x8f7463['id']===_0x277ac3['id']&&(this[_0x542031(0x816,0x697)][_0x542031(0x12e8,0x119e)][_0x6cab06]=_0x8f7463,_0x2382e0=_0x6cab06);}function _0x542031(_0x51dd06,_0x200b0e){return _0x54a7f1(_0x51dd06- -_0x4862b3._0x347b29,_0x200b0e);}return this[_0x542031(_0x1512ce._0x53dc7b,_0x1512ce._0x3dff41)](),this['_arrTaskItem'][_0x2382e0];}[_0x54a7f1(0x8a0,0x103a)](_0x15d4a4){const _0x5472a3={_0x4a9b0f:0x12ea,_0x1d1ffb:0x14d5,_0x146ca8:0x93e},_0x2ec9f4={_0x48affe:0x6d};function _0x5c6486(_0xe2590f,_0x139a1e){return _0x54a7f1(_0xe2590f-0x153,_0x139a1e);}function _0x5588cd(_0x5816df,_0x321059){return _0x7afdbe(_0x5816df,_0x321059-_0x2ec9f4._0x48affe);}for(let _0x32e3c9=0x0;_0x32e3c9<this['_arrTaskItem']['length'];_0x32e3c9++){const _0x4ff53e=this[_0x5588cd(0xccd,_0x5472a3._0x4a9b0f)][_0x32e3c9];if(_0x4ff53e['id']===_0x15d4a4)return this[_0x5c6486(0xa03,0x670)][_0x5c6486(_0x5472a3._0x1d1ffb,0x167a)]['splice'](_0x32e3c9,0x1),this['_arrTaskItem'][_0x5c6486(_0x5472a3._0x146ca8,0xf53)](_0x32e3c9,0x1),!![];}}[_0x7afdbe(0xb86,0x1036)](){const _0x2b77c1={_0x3a4820:0xec0,_0xbf8b99:0xbd7,_0x20dc15:0x12b6,_0x300ea6:0x21c,_0x1632e7:0x1205,_0x3ca378:0x6fd,_0x3238d9:0x177e};function _0x50194e(_0x554f47,_0x158ca4){return _0x7afdbe(_0x554f47,_0x158ca4- -0x3c6);}const _0x171822=[],_0x4c42ac=this['options'][_0x319da4(0x13b5,_0x2b77c1._0x3a4820)];if(_0x4c42ac)for(let _0x2456d3=0x0;_0x2456d3<_0x4c42ac['length'];_0x2456d3++){const _0x5d3f34={'id':_0x4c42ac[_0x2456d3]['id']??getGlobalId(),'index':_0x2456d3,..._0x4c42ac[_0x2456d3]};let _0x3393d5;_0x171822[_0x50194e(0x34d,0xded)]>0x0&&(_0x3393d5=_0x171822[_0x171822[_0x319da4(0x41f,0xac3)]-0x1],!Cesium__namespace['defined'](_0x5d3f34['start'])&&(Cesium__namespace['defined'](_0x5d3f34[_0x50194e(_0x2b77c1._0xbf8b99,_0x2b77c1._0x20dc15)])?_0x5d3f34['start']=_0x3393d5['_stop']+_0x5d3f34['delay']:_0x5d3f34['start']=_0x3393d5['_stop']+0x1));const _0x416625=Task[_0x319da4(-0x370,0x1a2)](_0x5d3f34[_0x319da4(-_0x2b77c1._0x300ea6,0x374)],_0x5d3f34);if(!_0x416625)continue;_0x416625['_duration']<0x1&&logWarn('Task数据有误提示:当前数据执行duration时长有误',_0x416625),_0x3393d5&&_0x3393d5[_0x319da4(0xa30,_0x2b77c1._0x1632e7)]>_0x416625['_start']&&logWarn(_0x50194e(0x11b4,0x1472)+_0x3393d5['_stop']+_0x50194e(_0x2b77c1._0x3ca378,0x5f5)+_0x416625[_0x50194e(0x888,0x1ae)],_0x3393d5,_0x416625),_0x416625['_map']=this['_map'],_0x416625['_parent']=this,_0x171822['push'](_0x416625);}function _0x319da4(_0x477cb1,_0x2b7155){return _0x7afdbe(_0x477cb1,_0x2b7155- -0x6f0);}this[_0x50194e(_0x2b77c1._0x3238d9,0xeb7)]=_0x171822;}['_addedHook'](){const _0x1f440b={_0x45dd02:0xc76,_0x1d6cbd:0x6da};this[_0x3deaa3(_0x1f440b._0x45dd02,_0x1f440b._0x1d6cbd)]=setInterval(()=>{this['isAdded']&&this['_clock_onTickHandler']();},0x1f4);function _0x3deaa3(_0x146f6c,_0x3977a2){return _0x7afdbe(_0x3977a2,_0x146f6c- -0xc);}this['_clock_onTickHandler']();}['_removedHook'](){const _0xa684f={_0xe32641:0x3db};function _0x4b46bf(_0x38d239,_0x1af7cb){return _0x54a7f1(_0x38d239-0x177,_0x1af7cb);}this['_timeTik']&&(clearInterval(this['_timeTik']),this[_0x4b46bf(0xbcb,_0xa684f._0xe32641)]=null);}[_0x54a7f1(0x612,0x7f5)](){const _0xe78f5c={_0x537159:0xa5d,_0x28c2a9:0x6b1,_0x533d4d:0x22c,_0x441eb5:0xcc4,_0x5e0c65:0x343,_0x581fc0:0xadd,_0x49b119:0x130d,_0x5ee9c6:0xc41,_0x4583cd:0xe3f,_0x45f11a:0xfe9,_0x1bde3c:0x11fe},_0x4e3039={_0x88b56a:0x281};function _0x2ba33f(_0x350c43,_0x224d17){return _0x54a7f1(_0x350c43- -_0x4e3039._0x88b56a,_0x224d17);}if(!this[_0x3900f2(_0xe78f5c._0x537159,0xdb1)])return;function _0x3900f2(_0x432000,_0x3f44e6){return _0x54a7f1(_0x432000- -0x146,_0x3f44e6);}const _0x8a6f9f=this['_map']['clock'];this[_0x3900f2(_0xe78f5c._0x28c2a9,-_0xe78f5c._0x533d4d)]=Cesium__namespace[_0x3900f2(_0xe78f5c._0x441eb5,0x87e)][_0x2ba33f(_0xe78f5c._0x5e0c65,_0xe78f5c._0x581fc0)](_0x8a6f9f[_0x3900f2(_0xe78f5c._0x49b119,_0xe78f5c._0x5ee9c6)],_0x8a6f9f['startTime']);for(let _0x264e59=0x0;_0x264e59<this[_0x3900f2(0xf09,0x122f)][_0x3900f2(_0xe78f5c._0x4583cd,0x1407)];_0x264e59++){const _0x558c4d=this['_arrTaskItem'][_0x264e59];if(_0x8a6f9f[_0x3900f2(_0xe78f5c._0x45f11a,0x100d)]){const _0xf19cf8=_0x558c4d['update'](this['_currentTime']);_0xf19cf8&&(this[_0x3900f2(_0xe78f5c._0x1bde3c,0xcfa)]=_0x558c4d['index']);}else _0x558c4d[_0x3900f2(0x3a9,-0x51e)]();}}static['register'](_0x1dbd0c,_0x493609){TaskItemClass[_0x1dbd0c]&&logError(_0x469019(0x144d,0xed6)+_0x1dbd0c+'类型已存在',_0x493609);function _0x469019(_0x509bba,_0x1a45a4){return _0x54a7f1(_0x509bba- -0x2bc,_0x1a45a4);}TaskItemClass[_0x1dbd0c]=_0x493609,_0x493609['type']=_0x1dbd0c,_0x493609['prototype']['type']=_0x1dbd0c;}static['getClass'](_0x27be7d){return TaskItemClass[_0x27be7d];}static['create'](_0x1fd736,_0x19964b){const _0x5e1952=Task['getClass'](_0x1fd736);if(_0x5e1952){const _0x118ba2=new _0x5e1952(_0x19964b);return _0x118ba2;}else logWarn('配置中的TaskItem对象未处理',_0x1fd736,_0x19964b);}}register('task',Task,!![]);const _0x19b265={};_0x19b265['__proto__']=null,_0x19b265[_0x54a7f1(0x1721,0xf75)]=BaseThing,_0x19b265[_0x7afdbe(-0x3a4,0x480)]=Underground,_0x19b265[_0x54a7f1(0x452,0xe89)]=Sightline,_0x19b265['Skyline']=Skyline,_0x19b265[_0x54a7f1(0x1747,0x1e73)]=Shadows,_0x19b265['Measure']=Measure,_0x19b265['FloodByGraphic']=FloodByGraphic,_0x19b265['Slope']=Slope,_0x19b265['TerrainPlanClip']=TerrainPlanClip,_0x19b265['FloodByMaterial']=FloodByMaterial,_0x19b265['ContourLine']=ContourLine,_0x19b265['TerrainFlat']=TerrainFlat,_0x19b265[_0x7afdbe(0x85d,0x112b)]=TerrainUplift,_0x19b265[_0x7afdbe(0x19e1,0x15c5)]=TerrainClip,_0x19b265[_0x54a7f1(0x694,-0x1ca)]=LimitHeight,_0x19b265[_0x54a7f1(0x1280,0x1024)]=TilesetPlanClip,_0x19b265['ModelPlanClip']=ModelPlanClip,_0x19b265[_0x54a7f1(0xe77,0x1015)]=TilesetBoxClip,_0x19b265[_0x7afdbe(0xf3a,0x14e0)]=TilesetClip,_0x19b265['TilesetFlood']=TilesetFlood,_0x19b265['TilesetFlat']=TilesetFlat,_0x19b265['TilesetShake']=TilesetShake,_0x19b265['TilesetColorCorrection']=TilesetColorCorrection,_0x19b265['FirstPersonRoam']=FirstPersonRoam,_0x19b265[_0x7afdbe(0x102a,0x10f2)]=StreetView,_0x19b265['CameraHistory']=CameraHistory,_0x19b265[_0x7afdbe(0xb26,0x1112)]=RotatePoint,_0x19b265['RotateOut']=RotateOut,_0x19b265['MatrixMove']=MatrixMove,_0x19b265[_0x54a7f1(0x1036,0x16cb)]=MatrixRotate,_0x19b265[_0x54a7f1(0xfce,0x9f0)]=MatrixMove2,_0x19b265['Task']=Task;var index$3=_0x19b265;class BaseEffect extends BaseThing{get[_0x7afdbe(0x2210,0x1943)](){return!![];}get['target'](){return this['_postProcessStage'];}get['uniforms'](){var _0x5b017f;function _0x1c989c(_0x17bede,_0x273d3a){return _0x7afdbe(_0x17bede,_0x273d3a- -0x522);}return(_0x5b017f=this['_postProcessStage'])===null||_0x5b017f===void 0x0?void 0x0:_0x5b017f[_0x1c989c(0x1bce,0x11f9)];}[_0x7afdbe(0x1ae1,0x1248)](_0x391ebd){return _0x391ebd&&_0x391ebd['addEffect']&&_0x391ebd['addEffect'](this),this;}['remove'](_0x413f80){this['_map']&&this['_map']['removeEffect'](this,_0x413f80);}['_enabledHook'](_0x25be7b){const _0x43e6c9={_0x571d15:0xdaf};function _0x20b122(_0x25a78a,_0x3f016b){return _0x7afdbe(_0x3f016b,_0x25a78a- -0x5c1);}this['_postProcessStage']&&(this[_0x20b122(0x73d,_0x43e6c9._0x571d15)]['enabled']=_0x25be7b);}[_0x7afdbe(0x138c,0x1985)](_0x579237,_0x4edc16){for(const _0x36cb22 in _0x4edc16){this[_0x36cb22]=_0x4edc16[_0x36cb22];}}[_0x7afdbe(0x1bd6,0x11ff)](){const _0x2a2d97={_0x4d87f7:0x65a},_0x30e224={_0x44c605:0x4f};!this['_postProcessStage']&&this['_mountedHook']();this['_enabledHook'](this['enabled']);function _0x3c741d(_0x518495,_0x28164d){return _0x7afdbe(_0x28164d,_0x518495-_0x30e224._0x44c605);}function _0x2f3b44(_0x128180,_0x2e6986){return _0x54a7f1(_0x2e6986- -0x3d4,_0x128180);}this['_postProcessStage']&&(this[_0x3c741d(0xa50,0xbf7)]['scene']['postProcessStages'][_0x3c741d(0x90d,_0x2a2d97._0x4d87f7)](this['_postProcessStage']),this['options']['availability']&&(this[_0x2f3b44(0x9b9,0xdc1)]=this['options'][_0x2f3b44(0x16df,0xdc1)]));}['_removedBaseHook'](){const _0x10f9ea={_0x105952:0x91b,_0x478cb1:0x82c},_0x346bff={_0x5079a1:0x50d};function _0xf4d6a6(_0x3535c3,_0x5070bb){return _0x54a7f1(_0x5070bb- -_0x346bff._0x5079a1,_0x3535c3);}function _0x12682e(_0x41719b,_0x1d0087){return _0x54a7f1(_0x41719b- -0x2a4,_0x1d0087);}this[_0xf4d6a6(_0x10f9ea._0x105952,0x1a1)](![]),this['_postProcessStage']&&(this[_0x12682e(0x52f,0x907)]['scene'][_0xf4d6a6(0x615,0x6c5)]['remove'](this['_postProcessStage']),this['_postProcessStage']['isDestroyed']()&&delete this[_0x12682e(_0x10f9ea._0x478cb1,0x67b)]);}['fire'](_0x3b1059,_0x4fc430={},_0x22aea1){const _0x27f985={_0x52b9b3:0x939,_0x38f4db:0x128,_0x494f41:0x58};function _0x9ae7ad(_0xb96c06,_0x43cfb6){return _0x7afdbe(_0xb96c06,_0x43cfb6- -0x48b);}!_0x4fc430[_0x9ae7ad(_0x27f985._0x52b9b3,_0x27f985._0x38f4db)]&&(_0x4fc430[_0x9ae7ad(_0x27f985._0x494f41,_0x27f985._0x38f4db)]=this);function _0x131761(_0x2cd46a,_0x1f9760){return _0x54a7f1(_0x1f9760- -0x450,_0x2cd46a);}return super['fire'](_0x3b1059,_0x4fc430,_0x22aea1);}['_getPickIds'](_0x32626f){const _0x22f6e3={_0x440f5e:0x403,_0x3b48b2:0x356},_0x453cd2={_0x40ab2d:0x86a,_0x9b10fa:0x540,_0x26e33b:0x494,_0x49d9c0:0xe6c,_0x37be5a:0x627,_0x2d5a6b:0x55d,_0x4088a8:0x790,_0x363164:0xdd0,_0x3b8e14:0x1161,_0x3538fe:0xfc5},_0x10b39d={_0x468428:0x199};let _0x19906d=[];_0x32626f[_0x4e040a(_0x22f6e3._0x440f5e,-_0x22f6e3._0x3b48b2)](_0x2f8d51=>{const _0x381006={_0x11ae5d:0x243};function _0x2532bc(_0x5d6597,_0x245897){return _0x4e040a(_0x5d6597- -_0x10b39d._0x468428,_0x245897);}_0x2f8d51['czmObject']&&(_0x2f8d51=_0x2f8d51['czmObject']);function _0x19d2b4(_0x3ff98c,_0x3557d2){return _0x4e040a(_0x3557d2- -_0x381006._0x11ae5d,_0x3ff98c);}if(_0x2f8d51['_pickIds'])_0x19906d=_0x19906d[_0x19d2b4(_0x453cd2._0x40ab2d,_0x453cd2._0x9b10fa)](this[_0x19d2b4(_0x453cd2._0x26e33b,_0x453cd2._0x49d9c0)](_0x2f8d51[_0x2532bc(0xfc6,_0x453cd2._0x37be5a)]));else{if(_0x2f8d51['pickId'])_0x19906d=_0x19906d[_0x19d2b4(_0x453cd2._0x2d5a6b,0x540)](this[_0x2532bc(0xf16,_0x453cd2._0x4088a8)]([_0x2f8d51[_0x19d2b4(0x398,_0x453cd2._0x363164)]]));else{!_0x2f8d51[_0x19d2b4(_0x453cd2._0x3b8e14,0xd8d)]&&(_0x2f8d51['color']=Cesium__namespace['Color'][_0x2532bc(0x4b2,0xd44)]);const _0x248a97={};_0x248a97['pickId']=_0x2f8d51,_0x19906d[_0x2532bc(0xb2d,_0x453cd2._0x3538fe)](_0x248a97);}}});function _0x4e040a(_0x3d1e1f,_0x1402f0){return _0x7afdbe(_0x1402f0,_0x3d1e1f- -0x470);}return _0x19906d;}get['availability'](){const _0x1f313b={_0x21987a:0x16a8};var _0x341504;function _0x2027a0(_0x195064,_0x2291b4){return _0x54a7f1(_0x195064- -0x296,_0x2291b4);}return(_0x341504=this['options'])===null||_0x341504===void 0x0?void 0x0:_0x341504[_0x2027a0(0xeff,_0x1f313b._0x21987a)];}set['availability'](_0x2a62c0){const _0x33728d={_0x13b37b:0x1575},_0x4b9c1c={_0x59df65:0x224};function _0x449c7b(_0x49bfaa,_0x132ba2){return _0x54a7f1(_0x132ba2- -_0x4b9c1c._0x59df65,_0x49bfaa);}this[_0x449c7b(_0x33728d._0x13b37b,0x129a)]=getAvailability(_0x2a62c0,this['_map']['clock']),this['options']['availability']=getAvailabilityJson(Array['isArray'](_0x2a62c0)?_0x2a62c0:this['_availability']),this['_updateAvailabilityHook']();}[_0x54a7f1(0xe8a,0x11d9)](_0x48df1c){const _0x2f1521={_0x3ee2de:0x36c,_0x42a965:0x122};var _0x451c31;function _0x7f78b2(_0x3f4030,_0x1a7fd5){return _0x54a7f1(_0x1a7fd5- -0x311,_0x3f4030);}if(((_0x451c31=this['_map'])===null||_0x451c31===void 0x0?void 0x0:_0x451c31['availabilityEnabled'])===![])return!![];return this['_availability']&&_0x48df1c?this['_availability'][_0x7f78b2(-_0x2f1521._0x3ee2de,_0x2f1521._0x42a965)](_0x48df1c)??![]:!![];}[_0x7afdbe(0x17ce,0xd76)](){const _0x404760={_0x41827c:0xa46,_0x2a3c71:0x139e},_0x11626a={_0xd903b6:0x8a},_0x16fc3a={_0x3b859d:0x7f9,_0x35da3b:0x9b1},_0x3a6161={_0xeaed34:0x320},_0x5ea811=this[_0xf34d41(_0x404760._0x41827c,0x2a3)];if(!_0x5ea811||_0x5ea811['__initUpdateForAvailability'])return;const _0x34dc08=this,_0x46dda9=_0x5ea811['update'];_0x5ea811['update']=function(_0xddeb97,_0x5a9fb9){function _0x20fbd9(_0x2ac128,_0x16ed06){return _0xf34d41(_0x16ed06-0x2bf,_0x2ac128);}function _0x556daa(_0x4a230e,_0x34fb6b){return _0xf34d41(_0x4a230e- -_0x3a6161._0xeaed34,_0x34fb6b);}return this[_0x556daa(0x7f9,-0x45)]=_0x34dc08[_0x556daa(0xae0,0x742)](_0x34dc08['_map']['clock']['currentTime'])&&_0x34dc08[_0x556daa(_0x16fc3a._0x3b859d,_0x16fc3a._0x35da3b)],_0x46dda9['bind'](this)(_0xddeb97,_0x5a9fb9);};function _0xf34d41(_0x2acf6e,_0x3d550d){return _0x54a7f1(_0x2acf6e- -_0x11626a._0xd903b6,_0x3d550d);}function _0xccec4e(_0xe16412,_0x32b17b){return _0x54a7f1(_0xe16412- -0x39f,_0x32b17b);}_0x5ea811[_0xf34d41(_0x404760._0x2a3c71,0xe34)]=!![];}}var FogFS='float\x20getDistance(sampler2D\x20depthTexture,\x20vec2\x20texCoords)\x20{\x0a\x20\x20float\x20depth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20texCoords));\x0a\x20\x20if(depth\x20==\x200.0)\x20{\x0a\x20\x20\x20\x20return\x20czm_infinity;\x0a\x20\x20}\x0a\x20\x20vec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(gl_FragCoord.xy,\x20depth);\x0a\x20\x20return\x20-eyeCoordinate.z\x20/\x20eyeCoordinate.w;\x0a}\x0afloat\x20interpolateByDistanceMars3D(vec4\x20nearFarScalar,\x20float\x20distance)\x20{\x0a\x20\x20float\x20startDistance\x20=\x20nearFarScalar.x;\x0a\x20\x20float\x20startValue\x20=\x20nearFarScalar.y;\x0a\x20\x20float\x20endDistance\x20=\x20nearFarScalar.z;\x0a\x20\x20float\x20endValue\x20=\x20nearFarScalar.w;\x0a\x20\x20float\x20t\x20=\x20clamp((distance\x20-\x20startDistance)\x20/\x20(endDistance\x20-\x20startDistance),\x200.0,\x201.0);\x0a\x20\x20return\x20mix(startValue,\x20endValue,\x20t);\x0a}\x0avec4\x20alphaBlend(vec4\x20sourceColor,\x20vec4\x20destinationColor)\x20{\x0a\x20\x20return\x20sourceColor\x20*\x20vec4(sourceColor.aaa,\x201.0)\x20+\x20destinationColor\x20*\x20(1.0\x20-\x20sourceColor.a);\x0a}\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0auniform\x20vec4\x20fogByDistance;\x0auniform\x20vec4\x20fogColor;\x0ain\x20vec2\x20v_textureCoordinates;\x0avoid\x20main(void)\x20{\x0a\x20\x20float\x20distance\x20=\x20getDistance(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20vec4\x20sceneColor\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20float\x20blendAmount\x20=\x20interpolateByDistanceMars3D(fogByDistance,\x20distance);\x0a\x20\x20vec4\x20finalFogColor\x20=\x20vec4(fogColor.rgb,\x20fogColor.a\x20*\x20blendAmount);\x0a\x20\x20out_FragColor\x20=\x20alphaBlend(finalFogColor,\x20sceneColor);\x0a}\x0a';class FogEffect extends BaseEffect{constructor(_0x598914={}){const _0x3be3a9={_0x544557:0x63b,_0x1b96a3:0x475,_0x1f72c8:0x3d1,_0xa1822:0x467,_0x5c780c:0x48e,_0x5d1374:0xe9b},_0x59ce4c={_0xca2792:0x5b9},_0xd196ea={_0x3333ee:0x231};super(_0x598914);function _0x640816(_0x31ea6e,_0x29a5bc){return _0x54a7f1(_0x31ea6e-_0xd196ea._0x3333ee,_0x29a5bc);}this['fogByDistance']=_0x598914[_0x28e52b(_0x3be3a9._0x544557,-_0x3be3a9._0x1b96a3)]??new Cesium__namespace[(_0x28e52b(_0x3be3a9._0x1f72c8,-_0x3be3a9._0xa1822))](0xa,0x0,0x3e8,0.9),this['color']=getCesiumColor(_0x598914['color'],Cesium__namespace[_0x640816(0x14b5,0x159b)][_0x640816(0xabe,0x1278)]),this[_0x640816(_0x3be3a9._0x5c780c,_0x3be3a9._0x5d1374)]=_0x598914['maxHeight']??0x2328;function _0x28e52b(_0x4d2c9b,_0x2f0546){return _0x7afdbe(_0x2f0546,_0x4d2c9b- -_0x59ce4c._0xca2792);}this['_setOptionsHook'](_0x598914);}[_0x54a7f1(0x1757,0x1017)](_0x3eb564,_0x2b0f63){const _0x2be81c={_0x362ee2:0xdf2,_0x4e7285:0x7cd,_0x34fc19:0x4c,_0x4318ac:0x198a,_0x2549f7:0x1107,_0x34b853:0x1968,_0x18a6e3:0x16b1,_0x3066d9:0x182c,_0x44afa2:0x169d,_0x32affe:0x122e},_0x14537d={_0x13ae19:0x28a};function _0x14fa64(_0x12b34a,_0x323964){return _0x7afdbe(_0x323964,_0x12b34a- -_0x14537d._0x13ae19);}Cesium__namespace[_0x14fa64(0x1625,_0x2be81c._0x362ee2)](_0x3eb564[_0x14fa64(0x1563,0xfb8)])&&(this[_0x1d169a(_0x2be81c._0x4e7285,0x9e2)]['x']=_0x3eb564['fogByDistance_near']);Cesium__namespace['defined'](_0x3eb564['fogByDistance_nearValue'])&&(this[_0x14fa64(0x96a,_0x2be81c._0x34fc19)]['y']=_0x3eb564['fogByDistance_nearValue']);Cesium__namespace[_0x14fa64(0x1625,_0x2be81c._0x4318ac)](_0x3eb564[_0x14fa64(0x1370,0x1922)])&&(this['fogByDistance']['z']=_0x3eb564[_0x1d169a(_0x2be81c._0x2549f7,0x13e8)]);Cesium__namespace[_0x1d169a(_0x2be81c._0x34b853,0x169d)](_0x3eb564[_0x14fa64(0x1639,0x19b1)])&&(this['fogByDistance']['w']=_0x3eb564[_0x1d169a(0x1dfd,_0x2be81c._0x18a6e3)]);Cesium__namespace[_0x1d169a(_0x2be81c._0x3066d9,_0x2be81c._0x44afa2)](_0x2b0f63===null||_0x2b0f63===void 0x0?void 0x0:_0x2b0f63[_0x1d169a(0xf7a,_0x2be81c._0x32affe)])&&(this['color']=getCesiumColor(_0x3eb564[_0x1d169a(0x13f7,0x122e)],Cesium__namespace['Color']['WHITE']));function _0x1d169a(_0x50ae0c,_0x31e406){return _0x7afdbe(_0x50ae0c,_0x31e406- -0x212);}this['maxHeight']=_0x3eb564['maxHeight']??0x2328;}['_mountedHook'](){const _0x5608e3={_0x2d1f2b:0x17c3,_0x316b8f:0x1cde,_0x10fd03:0x821};function _0x97084d(_0x28e2cb,_0xbc18c0){return _0x54a7f1(_0x28e2cb-0x287,_0xbc18c0);}function _0x191ba9(_0x2630f9,_0x2a5fa2){return _0x7afdbe(_0x2a5fa2,_0x2630f9- -0x1f6);}this['_postProcessStage']=new Cesium__namespace[(_0x191ba9(_0x5608e3._0x2d1f2b,_0x5608e3._0x316b8f))]({'name':this[_0x191ba9(0x6fd,-0x127)],'fragmentShader':FogFS,'uniforms':{'fogByDistance':()=>{return this['fogByDistance'];},'fogColor':()=>{const _0x38abdc={_0x1eebdf:0x490};function _0x3261cc(_0x5b4540,_0x5013fd){return _0x97084d(_0x5013fd- -_0x38abdc._0x1eebdf,_0x5b4540);}return this[_0x3261cc(0xc92,0x1009)];}},'enabled':this[_0x191ba9(0xbdb,_0x5608e3._0x10fd03)]});}[_0x7afdbe(0x1016,0x134f)](){this['_map']['camera']['percentageChanged']=0.01,this['_map']['on'](EventType['cameraChanged'],this['camera_changedHandler'],this);}[_0x54a7f1(0xa4f,0x971)](){const _0x314db6={_0x47129a:0x148};function _0x449afc(_0x2c08f8,_0x58dfc6){return _0x7afdbe(_0x2c08f8,_0x58dfc6- -_0x314db6._0x47129a);}function _0x209d88(_0x58814a,_0x1017fd){return _0x7afdbe(_0x58814a,_0x1017fd-0x40);}this[_0x209d88(0x140e,0xa41)]['off'](EventType[_0x449afc(0x999,0xfcf)],this['camera_changedHandler'],this);}[_0x7afdbe(0x1b05,0x188c)](_0x18c50a){const _0x12ecb5={_0x35c830:0x24f,_0x322c37:0x945,_0x182330:0xaaa,_0x40e135:0x106};function _0x487418(_0x3afefb,_0x43f880){return _0x7afdbe(_0x43f880,_0x3afefb- -0x432);}function _0x205c3e(_0x3ed467,_0x44b79b){return _0x54a7f1(_0x3ed467- -0x26,_0x44b79b);}this[_0x205c3e(0x7ad,0x7e4)]['camera']['positionCartographic'][_0x205c3e(0x641,_0x12ecb5._0x35c830)]<this[_0x487418(0x59,_0x12ecb5._0x322c37)]?this[_0x205c3e(_0x12ecb5._0x182330,_0x12ecb5._0x40e135)]['enabled']=this[_0x205c3e(0xb7d,0xd37)]:this['_postProcessStage'][_0x487418(0x99f,0x10eb)]=![];}}register$1('fog',FogEffect);var RainShader=_0x54a7f1(0x52f,0x2e4);class RainEffect extends BaseEffect{constructor(_0xc0c542={}){super(_0xc0c542),this['maxHeight']=_0xc0c542['maxHeight']??0x2328;}get[_0x54a7f1(0x10a0,0x12cf)](){const _0x437b66={_0x5c1318:0x536};function _0x39fbf9(_0x4cd095,_0x562981){return _0x7afdbe(_0x4cd095,_0x562981- -_0x437b66._0x5c1318);}var _0x379ae7;return(_0x379ae7=this[_0x39fbf9(0x285,0x7c8)])===null||_0x379ae7===void 0x0?void 0x0:_0x379ae7['uniforms']['speed'];}set['speed'](_0x556e65){const _0x21dc1b={_0x47f1d7:0x1607,_0x48bfc4:0x18dc,_0x5be16f:0x1059},_0x3edeee={_0xab99d:0x11a};function _0x311ee6(_0xaddab,_0xe2a91b){return _0x54a7f1(_0xe2a91b-_0x3edeee._0xab99d,_0xaddab);}function _0x435f6b(_0xd56bc6,_0x2a9b45){return _0x54a7f1(_0x2a9b45- -0x47,_0xd56bc6);}this['_postProcessStage']&&(this['_postProcessStage'][_0x311ee6(0x1575,_0x21dc1b._0x47f1d7)][_0x435f6b(_0x21dc1b._0x48bfc4,_0x21dc1b._0x5be16f)]=_0x556e65);}get[_0x7afdbe(0x1375,0x1202)](){const _0x3bc79e={_0x2551a3:0x378};function _0x61a05(_0x469982,_0x2a60eb){return _0x7afdbe(_0x469982,_0x2a60eb- -_0x3bc79e._0x2551a3);}var _0x398a43;return(_0x398a43=this[_0x61a05(0x114c,0x986)])===null||_0x398a43===void 0x0?void 0x0:_0x398a43['uniforms']['size'];}set['size'](_0x38a631){const _0x54f322={_0x4bb127:0x1875};function _0x5c984b(_0x569456,_0x53f786){return _0x54a7f1(_0x53f786- -0x1cc,_0x569456);}function _0x298a5e(_0x4c9eb4,_0x1078e9){return _0x54a7f1(_0x1078e9- -0xdf,_0x4c9eb4);}this['_postProcessStage']&&(this[_0x5c984b(0xa38,0x904)][_0x298a5e(_0x54f322._0x4bb127,0x140e)]['size']=_0x38a631);}get['direction'](){const _0x319f4d={_0x228468:0xa24,_0x567a99:0xb7a,_0x4e1b74:0x593},_0x18da90={_0x2a55fe:0x2da},_0x4c8d53={_0x52d088:0x218};function _0x4c34f4(_0x572d4c,_0x3a932f){return _0x54a7f1(_0x572d4c- -_0x4c8d53._0x52d088,_0x3a932f);}var _0x479952;function _0x5059c3(_0x1a914c,_0x569546){return _0x7afdbe(_0x569546,_0x1a914c- -_0x18da90._0x2a55fe);}return(_0x479952=this[_0x5059c3(_0x319f4d._0x228468,0x116b)])===null||_0x479952===void 0x0?void 0x0:_0x479952['uniforms'][_0x5059c3(_0x319f4d._0x567a99,_0x319f4d._0x4e1b74)];}set['direction'](_0x39bb8b){const _0x287d63={_0x4d0ff3:0xffe,_0x3c045e:0xab7,_0x16259c:0xe49},_0x5a7f7a={_0x500ff9:0x247};function _0x56382c(_0x1cd2e5,_0xe3cfc9){return _0x7afdbe(_0x1cd2e5,_0xe3cfc9- -_0x5a7f7a._0x500ff9);}function _0xf5fb9a(_0x2807b3,_0x154f3c){return _0x7afdbe(_0x2807b3,_0x154f3c-0x86);}this['_postProcessStage']&&(this[_0x56382c(_0x287d63._0x4d0ff3,_0x287d63._0x3c045e)]['uniforms']['direction']=Cesium__namespace[_0xf5fb9a(_0x287d63._0x16259c,0x1560)]['toRadians'](_0x39bb8b));}['_mountedHook'](){const _0x1a24ca={_0x4c60b3:0xaf,_0x5051b1:0x16be,_0x13b26f:0x60c};function _0x41a20c(_0xb6de60,_0x36d964){return _0x7afdbe(_0x36d964,_0xb6de60- -0x71);}function _0xb59f0a(_0x27c684,_0x17b29e){return _0x54a7f1(_0x17b29e-0x19c,_0x27c684);}this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'fragmentShader':RainShader,'uniforms':{'speed':this[_0xb59f0a(_0x1a24ca._0x4c60b3,0xa4c)]['speed']??0xa,'size':this['options']['size']??0x14,'direction':Cesium__namespace['Math'][_0xb59f0a(0x1b24,_0x1a24ca._0x5051b1)](this['options'][_0x41a20c(0xde3,_0x1a24ca._0x13b26f)]??-0x1e)},'enabled':this['enabled']});}['_addedHook'](){const _0x590ad6={_0x234752:0x484,_0x1c6859:0x82f,_0x5792f5:0x20c,_0x568151:0x63,_0xe44050:0x11cd};function _0x1d5f16(_0x116ded,_0x1746d1){return _0x7afdbe(_0x1746d1,_0x116ded- -0x57d);}function _0x45aca9(_0x2fd15d,_0x5bb309){return _0x54a7f1(_0x5bb309-0x6c,_0x2fd15d);}this[_0x1d5f16(-0xf2,-0x7aa)]>0x0&&(this[_0x1d5f16(_0x590ad6._0x234752,_0x590ad6._0x1c6859)][_0x1d5f16(_0x590ad6._0x5792f5,-_0x590ad6._0x568151)][_0x45aca9(0x1ae2,_0x590ad6._0xe44050)]=0.01,this['_map']['on'](EventType['cameraChanged'],this['camera_changedHandler'],this));}['_removedHook'](){const _0x4e52cc={_0x3b8cbe:0x6b5};function _0x3a3d79(_0x36fc14,_0x3daf3e){return _0x7afdbe(_0x36fc14,_0x3daf3e- -_0x4e52cc._0x3b8cbe);}this['_map']['off'](EventType['cameraChanged'],this[_0x3a3d79(0x12ab,0x11d7)],this);}[_0x7afdbe(0xe6d,0x188c)](_0x3bad7a){const _0x2d63db={_0x338b7e:0x9b0,_0x56fbda:0x1015,_0x535c1b:0xade},_0x598c55={_0x1321c0:0x51};function _0x4f6763(_0x71ea26,_0x4d8d53){return _0x7afdbe(_0x71ea26,_0x4d8d53- -_0x598c55._0x1321c0);}function _0x15a249(_0x154e92,_0x50dd4b){return _0x54a7f1(_0x154e92- -0x412,_0x50dd4b);}this[_0x4f6763(0x43c,_0x2d63db._0x338b7e)]['camera']['positionCartographic']['height']<this['maxHeight']?this['_postProcessStage']&&(this[_0x15a249(0x6be,_0x2d63db._0x56fbda)][_0x15a249(0x791,-0x1b6)]=this['enabled']):this['_postProcessStage']&&(this[_0x15a249(0x6be,_0x2d63db._0x535c1b)]['enabled']=![]);}}register$1('rain',RainEffect);var SnowShader='uniform\x20sampler2D\x20colorTexture;\x20//输入的场景渲染照片\x0ain\x20vec2\x20v_textureCoordinates;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20scale;\x0a\x0afloat\x20snow(vec2\x20uv,\x20float\x20thisScale)\x20{\x0a\x20\x20float\x20time\x20=\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0;\x0a\x20\x20float\x20wMars3D\x20=\x20smoothstep(1.0,\x200.0,\x20-uv.y\x20*\x20(thisScale\x20/\x2010.0));\x0a\x20\x20if(wMars3D\x20<\x200.1)\x0a\x20\x20\x20\x20return\x200.0;\x0a\x20\x20uv\x20+=\x20time\x20/\x20thisScale;\x0a\x20\x20uv.y\x20+=\x20time\x20*\x202.0\x20/\x20thisScale;\x0a\x20\x20uv.x\x20+=\x20sin(uv.y\x20+\x20time\x20*\x200.5)\x20/\x20thisScale;\x0a\x20\x20uv\x20*=\x20thisScale;\x0a\x0a\x20\x20vec2\x20s\x20=\x20floor(uv),\x20f\x20=\x20fract(uv),\x20p;\x0a\x20\x20float\x20k\x20=\x203.0,\x20d;\x0a\x20\x20p\x20=\x200.5\x20+\x200.35\x20*\x20sin(11.0\x20*\x20fract(sin((s\x20+\x20p\x20+\x20thisScale)\x20*\x20mat2(7,\x203,\x206,\x205))\x20*\x205.0))\x20-\x20f;\x0a\x20\x20d\x20=\x20length(p);\x0a\x20\x20k\x20=\x20min(d,\x20k);\x0a\x20\x20k\x20=\x20smoothstep(0.0,\x20k,\x20sin(f.x\x20+\x20f.y)\x20*\x200.01);\x0a\x20\x20return\x20k\x20*\x20wMars3D;\x0a}\x0a\x0avoid\x20main(void)\x20{\x0a\x20\x20vec2\x20resolution\x20=\x20czm_viewport.zw;\x0a\x20\x20vec2\x20uv\x20=\x20(gl_FragCoord.xy\x20*\x202.\x20-\x20resolution.xy)\x20/\x20min(resolution.x,\x20resolution.y);\x0a\x0a\x20\x20float\x20c\x20=\x200.0;\x0a\x20\x20float\x20step\x20=\x201.0/(scale*0.1);\x0a\x20\x20for(float\x20i\x20=\x201.0;\x20i\x20<\x2012.0;\x20i\x20+=\x201.0)\x20{\x0a\x20\x20\x20\x20c\x20+=\x20snow(uv,\x20i*step);\x0a\x20\x20}\x0a\x20\x20vec3\x20finalColor\x20=\x20vec3(c);\x20//屏幕上雪的颜色\x0a\x0a\x20\x20out_FragColor\x20=\x20mix(texture(colorTexture,\x20v_textureCoordinates),\x20vec4(finalColor,\x201.0),\x200.5);\x20\x20//将雪和三维场景融合\x0a\x0a}\x0a';class SnowEffect extends BaseEffect{constructor(_0x423181={}){super(_0x423181),this['maxHeight']=_0x423181['maxHeight']??0x2328;}get['speed'](){var _0xa74afa;function _0x4fe89b(_0x28dc59,_0x2e90cd){return _0x7afdbe(_0x2e90cd,_0x28dc59- -0x6e8);}return(_0xa74afa=this['_postProcessStage'])===null||_0xa74afa===void 0x0?void 0x0:_0xa74afa['uniforms'][_0x4fe89b(0xbe6,0x7e2)];}set[_0x54a7f1(0x10a0,0x847)](_0x2a53d1){const _0x5ea355={_0x527ae7:0x126a,_0x218cf2:0x1823,_0x16e7bb:0xd71};function _0x2e76e6(_0x2ae8de,_0x201992){return _0x54a7f1(_0x2ae8de- -0x2a0,_0x201992);}function _0x2e9eeb(_0x32b48f,_0x5d8bb9){return _0x7afdbe(_0x5d8bb9,_0x32b48f- -0x4b1);}this['_postProcessStage']&&(this['_postProcessStage'][_0x2e9eeb(_0x5ea355._0x527ae7,_0x5ea355._0x218cf2)][_0x2e9eeb(0xe1d,_0x5ea355._0x16e7bb)]=_0x2a53d1);}get['scale'](){const _0x9947ab={_0x230dd1:0x245};var _0x257e31;function _0x1a3a5e(_0x498fdb,_0x5a39f9){return _0x54a7f1(_0x5a39f9- -_0x9947ab._0x230dd1,_0x498fdb);}function _0x10fb0d(_0x3a36e2,_0x1302df){return _0x54a7f1(_0x1302df- -0x62,_0x3a36e2);}return(_0x257e31=this['_postProcessStage'])===null||_0x257e31===void 0x0?void 0x0:_0x257e31[_0x1a3a5e(0x18c9,0x12a8)][_0x10fb0d(0x16c2,0x12ad)];}set['scale'](_0x4f9e0e){const _0x31debc={_0x1f9a34:0x4ac};function _0xb40d54(_0x16415f,_0x56bec5){return _0x54a7f1(_0x16415f- -0x1c3,_0x56bec5);}function _0x178101(_0x107a32,_0x2554be){return _0x54a7f1(_0x2554be- -_0x31debc._0x1f9a34,_0x107a32);}this['_postProcessStage']&&(this[_0xb40d54(0x90d,0x198)]['uniforms'][_0xb40d54(0x114c,0x16cf)]=_0x4f9e0e);}['_mountedHook'](){const _0x57abd0={_0x5ea001:0xff0,_0x2e1c27:0x14a2},_0x2dd576={_0x5d2a7e:0xd1},_0x58a3f7={_0x3c2c44:0x3cd};function _0x5d2087(_0xca3a83,_0x39f3e5){return _0x7afdbe(_0xca3a83,_0x39f3e5- -_0x58a3f7._0x3c2c44);}function _0x54f1e7(_0x52b5bd,_0x8b1af){return _0x54a7f1(_0x52b5bd-_0x2dd576._0x5d2a7e,_0x8b1af);}this[_0x54f1e7(0xba1,_0x57abd0._0x5ea001)]=new Cesium__namespace[(_0x5d2087(0x1c64,0x15ec))]({'fragmentShader':SnowShader,'uniforms':{'speed':this['options'][_0x5d2087(0x861,0xf01)]??0xa,'scale':this['options'][_0x5d2087(_0x57abd0._0x2e1c27,0x1170)]??0xa},'enabled':this['enabled']});}['_addedHook'](){function _0x26f1c9(_0x1e9eb4,_0x1ad35f){return _0x54a7f1(_0x1e9eb4-0xc5,_0x1ad35f);}this['maxHeight']>0x0&&(this['_map']['camera']['percentageChanged']=0.01,this[_0x26f1c9(0x898,0x3b3)]['on'](EventType['cameraChanged'],this['camera_changedHandler'],this));}['_removedHook'](){const _0x4fc440={_0x2e6823:0xb90,_0x19196f:0x1955},_0x413ea5={_0xcca84c:0x168},_0x596e8b={_0x5978c0:0x57};function _0x1d54c5(_0x3833b3,_0x7e2ddd){return _0x7afdbe(_0x3833b3,_0x7e2ddd-_0x596e8b._0x5978c0);}function _0x147151(_0x4fc916,_0x526490){return _0x54a7f1(_0x4fc916- -_0x413ea5._0xcca84c,_0x526490);}this['_map'][_0x147151(0x1e5,_0x4fc440._0x2e6823)](EventType['cameraChanged'],this[_0x147151(0x14f6,_0x4fc440._0x19196f)],this);}['camera_changedHandler'](_0x473557){const _0x31fe49={_0x4532cc:0x86e,_0x86fe98:0x5f6,_0x26cc51:0xb6b,_0x4c5b72:0xbb3,_0x4a3f2c:0x3ba},_0xdd76c2={_0x4fb50a:0x9b};function _0x54605f(_0x225ede,_0x48916a){return _0x54a7f1(_0x225ede-0x251,_0x48916a);}function _0x3b10c6(_0x98799,_0x745da){return _0x54a7f1(_0x98799-_0xdd76c2._0x4fb50a,_0x745da);}this[_0x3b10c6(_0x31fe49._0x4532cc,0xfe3)][_0x3b10c6(_0x31fe49._0x86fe98,0x363)]['positionCartographic']['height']<this[_0x3b10c6(0x2f8,-0x5e3)]?this['_postProcessStage']&&(this[_0x3b10c6(_0x31fe49._0x26cc51,_0x31fe49._0x4c5b72)][_0x3b10c6(0xc3e,0xae0)]=this['enabled']):this['_postProcessStage']&&(this[_0x3b10c6(0xb6b,_0x31fe49._0x4a3f2c)][_0x54605f(0xdf4,0x607)]=![]);}}register$1('snow',SnowEffect);var SnowCoverFS=_0x54a7f1(0x968,0xf84),CustomSnowCoverFS=_0x54a7f1(0x1358,0x897);class SnowCoverEffect extends BaseEffect{constructor(_0x3fe037={}){const _0x554107={_0x464827:0x142};function _0x337864(_0x4fb8fe,_0x378ef8){return _0x54a7f1(_0x4fb8fe-_0x554107._0x464827,_0x378ef8);}super(_0x3fe037),this[_0x337864(0x39f,-0x352)]=_0x3fe037['maxHeight']??0x2328;}get[_0x54a7f1(0x3d6,-0x253)](){const _0x1175e6={_0x487916:0x1286,_0x5bd4fe:0xdaf};function _0x9e318(_0x3cd91a,_0x258a7a){return _0x7afdbe(_0x258a7a,_0x3cd91a- -0x49c);}if(this['_postProcessStage']){var _0x5bfbbf;return(_0x5bfbbf=this['_postProcessStage'])===null||_0x5bfbbf===void 0x0||(_0x5bfbbf=_0x5bfbbf['uniforms'])===null||_0x5bfbbf===void 0x0?void 0x0:_0x5bfbbf['alpha'];}if(this['_uniforms']){var _0x16138c;return(_0x16138c=this['_uniforms'])===null||_0x16138c===void 0x0?void 0x0:_0x16138c['alpha'][_0x9e318(_0x1175e6._0x487916,_0x1175e6._0x5bd4fe)];}}set['alpha'](_0x45aaf7){const _0x47d80a={_0x1d484f:0x324},_0x3c1fc9={_0x3e0f08:0x36};this[_0x2dc229(0x5cc,0xd34)]&&(this['_postProcessStage']['uniforms']['alpha']=_0x45aaf7);function _0x2dc229(_0x4baad6,_0x49f334){return _0x7afdbe(_0x4baad6,_0x49f334-_0x3c1fc9._0x3e0f08);}function _0x27a2ef(_0x51c114,_0x2044b5){return _0x7afdbe(_0x51c114,_0x2044b5- -_0x47d80a._0x1d484f);}this['_uniforms']&&(this['_uniforms'][_0x2dc229(0xcf5,0x63a)]['value']=_0x45aaf7);}[_0x54a7f1(0x6ae,-0x258)](_0x2da0c8){const _0x32d052={_0x57f5d9:0x1004,_0x5b6e16:0x1e5b,_0x1d7403:0x16da,_0x386549:0x167c};function _0x210baf(_0x46faab,_0x2b01a7){return _0x54a7f1(_0x46faab-0x175,_0x2b01a7);}this[_0x417588(_0x32d052._0x57f5d9,0xc58)]&&(this['_postProcessStage']['enabled']=_0x2da0c8);function _0x417588(_0x4efefa,_0x2fe1a7){return _0x7afdbe(_0x4efefa,_0x2fe1a7- -0xa6);}this[_0x417588(_0x32d052._0x5b6e16,0x1547)]&&(this['_uniforms']['enabled'][_0x417588(_0x32d052._0x1d7403,_0x32d052._0x386549)]=_0x2da0c8);}[_0x7afdbe(0xe9c,0x4b9)](){const _0x5ca2d5={_0x12be71:0xa57,_0x1417b9:0x290,_0x3ac5be:0x857};function _0xae6467(_0x5d9dd2,_0x12aaa8){return _0x7afdbe(_0x5d9dd2,_0x12aaa8- -0x2e5);}function _0x2a380e(_0x447743,_0x2b7a4c){return _0x7afdbe(_0x2b7a4c,_0x447743- -0x374);}this[_0xae6467(0x1220,0x7f9)]['layer']?this[_0xae6467(_0x5ca2d5._0x12be71,0x13ce)](this['options']['layer']):this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'name':this['_id'],'fragmentShader':SnowCoverFS,'uniforms':{'alpha':this['options'][_0x2a380e(_0x5ca2d5._0x1417b9,_0x5ca2d5._0x3ac5be)]??0x1},'enabled':this['enabled']});}['_addedHook'](){const _0x440f36={_0x223cfa:0x61c,_0x29fbbb:0x7df};function _0x3fd631(_0x38d3b9,_0x3b6d56){return _0x54a7f1(_0x3b6d56-0x12,_0x38d3b9);}function _0x143e19(_0x9867ac,_0x4869a4){return _0x54a7f1(_0x4869a4- -0xcc,_0x9867ac);}this[_0x143e19(_0x440f36._0x223cfa,0x191)]>0x0&&(this['_map'][_0x3fd631(_0x440f36._0x29fbbb,0x56d)][_0x3fd631(0xf9b,0x1173)]=0.01,this['_map']['on'](EventType['cameraChanged'],this['camera_changedHandler'],this));}['_removedHook'](){const _0x2f59a0={_0xa5e83a:0x541};function _0x11c7dd(_0x50878c,_0x27a857){return _0x54a7f1(_0x27a857- -0x292,_0x50878c);}this[_0x11c7dd(0x4a9,_0x2f59a0._0xa5e83a)]['off'](EventType['cameraChanged'],this['camera_changedHandler'],this);}['camera_changedHandler'](_0x563709){const _0x138042={_0x2ac357:0x1db,_0x2c59f3:0x675,_0x1f303b:0xc69,_0x2d014f:0xb21,_0x322095:0xe80,_0xa8282:0x1899,_0x1cea7c:0x748,_0x4df66f:0x171b,_0x49e340:0xf64,_0x395ef4:0x153e},_0x3ae991={_0xdfa3d9:0x2b0};function _0x537757(_0x955dd1,_0xba7cdb){return _0x7afdbe(_0x955dd1,_0xba7cdb- -_0x3ae991._0xdfa3d9);}function _0x46b744(_0x6acf06,_0x1c4ba4){return _0x7afdbe(_0x6acf06,_0x1c4ba4- -0x689);}this['_map']['camera'][_0x46b744(0xcc6,0x79f)][_0x537757(0xf7d,0x5e5)]<this[_0x537757(0x652,_0x138042._0x2ac357)]?(this[_0x46b744(0x843,_0x138042._0x2c59f3)]&&(this['_postProcessStage'][_0x537757(_0x138042._0x1f303b,_0x138042._0x2d014f)]=this[_0x46b744(0x7b1,0x748)]),this[_0x537757(_0x138042._0x322095,0x133d)]&&(this['_uniforms']['enabled'][_0x537757(_0x138042._0xa8282,0x1472)]=this[_0x46b744(0xb4f,_0x138042._0x1cea7c)])):(this[_0x46b744(0xd5c,_0x138042._0x2c59f3)]&&(this['_postProcessStage']['enabled']=![]),this[_0x46b744(_0x138042._0x4df66f,_0x138042._0x49e340)]&&(this['_uniforms']['enabled'][_0x537757(_0x138042._0x395ef4,0x1472)]=![]));}['_bindToLayer'](_0x42afe8){const _0x2182b4={_0xa8965e:0x155a,_0x9f7358:0x85b,_0x4921bd:0x2df,_0x36831a:0x11f5,_0x47bfcb:0x1bf8,_0x6ded13:0x17be,_0x189328:0x1038,_0x1d396b:0x11c8,_0x223dc2:0x18f2,_0x16d7f9:0x1afa},_0x568ac1={_0x4208c2:0x1f8},_0x3a09dd={_0x1d989d:0x425};var _0x75d049;function _0x4db92f(_0x367232,_0x2937e8){return _0x7afdbe(_0x2937e8,_0x367232- -_0x3a09dd._0x1d989d);}if(this[_0x4db92f(0x11c8,_0x2182b4._0xa8965e)]){this['_uniforms']['enabled']['value']=this['enabled'];return;}if(!((_0x75d049=Cesium__namespace['Mars3DEx'])!==null&&_0x75d049!==void 0x0&&_0x75d049[_0x4db92f(_0x2182b4._0x9f7358,0x5f4)]))return;const _0x598b08=new Cesium__namespace['CustomShader']({'lightingModel':Cesium__namespace['LightingModel']['UNLIT'],'uniforms':{'alpha':{'value':0x1,'type':Cesium__namespace[_0x4ae548(_0x2182b4._0x4921bd,0xaa6)]['FLOAT']},'enabled':{'value':this[_0x4ae548(0xbfb,0xbd9)],'type':Cesium__namespace[_0x4ae548(_0x2182b4._0x36831a,0xaa6)][_0x4ae548(0x1c1f,0x157c)]}},'fragmentShaderText':CustomSnowCoverFS}),_0x3db6d7=Cesium__namespace['Mars3DEx'][_0x4db92f(0x85b,0xa02)](_0x42afe8[_0x4ae548(_0x2182b4._0x47bfcb,_0x2182b4._0x6ded13)]['customShaders']);function _0x4ae548(_0x5c0fc2,_0x32cb1d){return _0x7afdbe(_0x5c0fc2,_0x32cb1d- -_0x568ac1._0x4208c2);}_0x3db6d7[_0x4ae548(0x1132,_0x2182b4._0x189328)]=_0x598b08,this[_0x4db92f(_0x2182b4._0x1d396b,_0x2182b4._0x223dc2)]=_0x598b08[_0x4ae548(_0x2182b4._0x16d7f9,0x1523)];}}register$1('snowCover',SnowCoverEffect);class NightVisionEffect extends BaseEffect{[_0x54a7f1(0x28b,0x9bf)](){const _0x4151c7={_0x527ce7:0x1106},_0x15e93f={_0x2de9c7:0x3d2};function _0x9ffcf9(_0x5629e4,_0x571a83){return _0x54a7f1(_0x5629e4- -_0x15e93f._0x2de9c7,_0x571a83);}this[_0x9ffcf9(0x6fe,_0x4151c7._0x527ce7)]=Cesium__namespace['PostProcessStageLibrary']['createNightVisionStage']();}}register$1('nightVision',NightVisionEffect);class BloomEffect extends BaseEffect{get['contrast'](){var _0x51cdf5;return(_0x51cdf5=this['_postProcessStage'])===null||_0x51cdf5===void 0x0?void 0x0:_0x51cdf5['uniforms']['contrast'];}set['contrast'](_0x475973){const _0x17740a={_0x4dcf98:0x170};function _0x402045(_0xfa8fe3,_0x1fbf3f){return _0x7afdbe(_0xfa8fe3,_0x1fbf3f- -0x6d9);}this['_postProcessStage']&&(this[_0x402045(-_0x17740a._0x4dcf98,0x625)]['uniforms']['contrast']=_0x475973);}get['brightness'](){const _0x1a9a4e={_0x12166b:0x1bc7,_0x1db5a8:0xfde},_0x4999a5={_0x2ed827:0x81},_0x19580c={_0x3431ac:0x150};function _0x26e227(_0x32c4cd,_0x47c012){return _0x7afdbe(_0x47c012,_0x32c4cd- -_0x19580c._0x3431ac);}var _0x4c07e1;function _0x19a1af(_0x40b701,_0xe9e1a2){return _0x54a7f1(_0xe9e1a2-_0x4999a5._0x2ed827,_0x40b701);}return(_0x4c07e1=this['_postProcessStage'])===null||_0x4c07e1===void 0x0?void 0x0:_0x4c07e1[_0x19a1af(_0x1a9a4e._0x12166b,0x156e)][_0x26e227(_0x1a9a4e._0x1db5a8,0x923)];}set['brightness'](_0x4a9fd8){const _0x1355c4={_0x5d2e76:0x2bc};function _0x2a7fce(_0x7b2616,_0x48672c){return _0x54a7f1(_0x48672c-0x21d,_0x7b2616);}function _0x5aa822(_0x457ce8,_0x5ee939){return _0x54a7f1(_0x5ee939-_0x1355c4._0x5d2e76,_0x457ce8);}this[_0x2a7fce(0x301,0xced)]&&(this['_postProcessStage'][_0x5aa822(0xf13,0x17a9)]['brightness']=_0x4a9fd8);}get['delta'](){const _0x2dcb35={_0xc6bb3c:0xfe7};var _0x1477ef;function _0x43c898(_0xcdfef7,_0x28ab95){return _0x54a7f1(_0xcdfef7- -0x506,_0x28ab95);}return(_0x1477ef=this['_postProcessStage'])===null||_0x1477ef===void 0x0?void 0x0:_0x1477ef[_0x43c898(_0x2dcb35._0xc6bb3c,0x137d)]['delta'];}set[_0x7afdbe(0x1333,0x1489)](_0x345b20){const _0x5d2861={_0x5af77a:0xd6d};function _0x42125c(_0x3376b2,_0x33be28){return _0x54a7f1(_0x33be28-0x29d,_0x3376b2);}function _0x4649b7(_0x105a34,_0x32f54e){return _0x7afdbe(_0x105a34,_0x32f54e- -0x38f);}this[_0x42125c(0x14a6,0xd6d)]&&(this[_0x42125c(0x451,_0x5d2861._0x5af77a)]['uniforms']['delta']=_0x345b20);}get[_0x54a7f1(0xb01,0xeed)](){const _0x474b86={_0x2dbd68:0x14fc,_0xd5b3f0:0x203,_0xdb76fc:0xb10},_0x6250b2={_0x312ac1:0x48c},_0xc54258={_0x51942c:0xf};function _0x31bf0a(_0x5235b3,_0xe776c9){return _0x54a7f1(_0xe776c9-_0xc54258._0x51942c,_0x5235b3);}var _0x12204f;function _0x46ec68(_0xc85f,_0x3a50f0){return _0x54a7f1(_0x3a50f0- -_0x6250b2._0x312ac1,_0xc85f);}return(_0x12204f=this['_postProcessStage'])===null||_0x12204f===void 0x0?void 0x0:_0x12204f[_0x31bf0a(0x1120,_0x474b86._0x2dbd68)][_0x31bf0a(_0x474b86._0xd5b3f0,_0x474b86._0xdb76fc)];}set['sigma'](_0xd71ef5){const _0x402bd6={_0x35a190:0x8b7,_0x2692ef:0x7ea,_0x4d536a:0x8e8},_0x1464fc={_0x2395bf:0x447};function _0x15b40b(_0x1ed27b,_0x2ed308){return _0x7afdbe(_0x2ed308,_0x1ed27b- -_0x1464fc._0x2395bf);}function _0x5f5aac(_0x3158b8,_0x261995){return _0x7afdbe(_0x261995,_0x3158b8- -0x369);}this[_0x15b40b(_0x402bd6._0x35a190,_0x402bd6._0x2692ef)]&&(this['_postProcessStage']['uniforms'][_0x15b40b(_0x402bd6._0x4d536a,0xa2b)]=_0xd71ef5);}get[_0x7afdbe(0x258,0xc11)](){const _0x429cc7={_0x296ff4:0x8cf},_0x38edc1={_0x2c94f4:0x24e},_0xd071e0={_0x1c83d8:0x1b9};function _0x4b355b(_0x50e1ed,_0x2606f9){return _0x54a7f1(_0x2606f9-_0xd071e0._0x1c83d8,_0x50e1ed);}var _0x5a0440;function _0x17cac5(_0x4c822c,_0x49a4c5){return _0x7afdbe(_0x49a4c5,_0x4c822c- -_0x38edc1._0x2c94f4);}return(_0x5a0440=this['_postProcessStage'])===null||_0x5a0440===void 0x0?void 0x0:_0x5a0440[_0x17cac5(0x14cd,0x15d6)][_0x4b355b(_0x429cc7._0x296ff4,0xb9c)];}set[_0x7afdbe(0x441,0xc11)](_0x5f4e6d){this['_postProcessStage']&&(this['_postProcessStage']['uniforms']['stepSize']=_0x5f4e6d);}[_0x54a7f1(0x28b,0x8fb)](){const _0x28dd16={_0xbe8a78:0x136a,_0x2cbf22:0x5cf,_0x2c26ab:0x8e,_0x2c6ae0:0x7f1,_0x208a5f:0x10d8,_0x7ee773:0x103f,_0x4bd46c:0x691};this['_postProcessStage']=this[_0x33d227(0x650,0x15d)]['scene']['postProcessStages']['bloom'],this[_0x1bc72d(0x5cf,0x53)][_0x33d227(_0x28dd16._0xbe8a78,0x173c)]['glowOnly']=![];function _0x1bc72d(_0x54c91e,_0x33797b){return _0x7afdbe(_0x33797b,_0x54c91e- -0x72f);}this[_0x1bc72d(_0x28dd16._0x2cbf22,_0x28dd16._0x2c26ab)]['uniforms']['contrast']=this[_0x33d227(0x72d,_0x28dd16._0x2c6ae0)][_0x33d227(0x1309,0x950)]??0x80,this['_postProcessStage']['uniforms']['brightness']=this['options']['brightness']??-0.3,this['_postProcessStage']['uniforms'][_0x1bc72d(0xd5a,0x119a)]=this[_0x33d227(0x72d,0xf79)][_0x33d227(_0x28dd16._0x208a5f,_0x28dd16._0x7ee773)]??0x1,this[_0x33d227(0x94d,0xab2)]['uniforms']['sigma']=this['options']['sigma']??3.78;function _0x33d227(_0x403643,_0x3ec018){return _0x7afdbe(_0x3ec018,_0x403643- -0x3b1);}this['_postProcessStage'][_0x1bc72d(0xfec,0xdf0)]['stepSize']=this[_0x33d227(0x72d,_0x28dd16._0x4bd46c)]['stepSize']??0x5;}[_0x54a7f1(0xfd1,0x6bd)](_0x8fc784){const _0x176de9={_0xadc77a:0xa25};function _0x219e48(_0x25cfa7,_0x3f65b6){return _0x7afdbe(_0x25cfa7,_0x3f65b6- -0x3ac);}this['_postProcessStage']['enabled']=this[_0x219e48(0x57d,_0x176de9._0xadc77a)];}['_removedBaseHook'](){this['_postProcessStage']['enabled']=![];}}register$1(_0x7afdbe(0x141b,0x1096),BloomEffect);var Brightness=_0x7afdbe(0xd53,0x11f3);class BrightnessEffect extends BaseEffect{get[_0x54a7f1(0xf00,0xd0c)](){function _0x5d7d81(_0x507d27,_0x10d164){return _0x7afdbe(_0x507d27,_0x10d164- -0x61b);}function _0x40b8ba(_0x2238e4,_0x46d7e3){return _0x54a7f1(_0x46d7e3- -0x1ff,_0x2238e4);}var _0x2f41e5;return(_0x2f41e5=this['_postProcessStage'])===null||_0x2f41e5===void 0x0?void 0x0:_0x2f41e5[_0x40b8ba(0xc55,0x12ee)][_0x5d7d81(0x152e,0xb13)];}set['brightness'](_0x47a2a8){this['_postProcessStage']&&(this['_postProcessStage']['uniforms']['brightness']=_0x47a2a8);}['_mountedHook'](){const _0x5b8417={_0x3009c3:0x1047,_0x323e73:0x6ab,_0x1c2ebc:0xdbc,_0x5053e7:0xcfb};function _0x308ca6(_0x5a77fe,_0x39553f){return _0x54a7f1(_0x5a77fe-0x1e3,_0x39553f);}function _0x240772(_0x4a9149,_0x18f720){return _0x7afdbe(_0x4a9149,_0x18f720- -0x433);}this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'name':_0x308ca6(0xd98,0x1132),'fragmentShader':Brightness,'uniforms':{'brightness':this[_0x240772(_0x5b8417._0x3009c3,_0x5b8417._0x323e73)][_0x240772(_0x5b8417._0x1c2ebc,_0x5b8417._0x5053e7)]??0x2}});}}register$1('brightness',BrightnessEffect);class BlackAndWhiteEffect extends BaseEffect{get['gradations'](){const _0x26dc2a={_0x23e8f1:0xb5b,_0x5ddff7:0x10d},_0x37467c={_0x44a6ec:0x6f2};function _0x1b9ac8(_0x13b177,_0x99d55d){return _0x54a7f1(_0x13b177-0x8b,_0x99d55d);}function _0x40f56b(_0x2466d1,_0x1d209a){return _0x7afdbe(_0x2466d1,_0x1d209a- -_0x37467c._0x44a6ec);}var _0x249e32;return(_0x249e32=this[_0x1b9ac8(_0x26dc2a._0x23e8f1,_0x26dc2a._0x5ddff7)])===null||_0x249e32===void 0x0?void 0x0:_0x249e32['uniforms'][_0x40f56b(0x11f8,0xe1d)];}set['gradations'](_0x1934e5){const _0x156459={_0x4a5a27:0x1560,_0x9404b3:0x10c2};function _0x222767(_0x4ab4c6,_0x36c56f){return _0x54a7f1(_0x36c56f-0x81,_0x4ab4c6);}function _0x4bdeb6(_0x2adfd4,_0x6055fc){return _0x7afdbe(_0x6055fc,_0x2adfd4- -0x44d);}this['_postProcessStage']&&(this['_postProcessStage'][_0x4bdeb6(0x12ce,_0x156459._0x4a5a27)][_0x4bdeb6(_0x156459._0x9404b3,0xd9f)]=_0x1934e5);}[_0x54a7f1(0x28b,0x862)](){const _0x210554={_0x17be27:0xe03,_0x9e5dee:0xe78,_0x28323c:0xea7},_0x226858={_0x31c2a2:0xe5};this[_0x569887(0xc19,_0x210554._0x17be27)]=Cesium__namespace[_0x569887(_0x210554._0x9e5dee,_0x210554._0x28323c)][_0x534c07(0x57d,0xa56)]();function _0x534c07(_0x2e7019,_0x449f1c){return _0x54a7f1(_0x2e7019- -0x1a2,_0x449f1c);}function _0x569887(_0x19456a,_0x1ebd9b){return _0x7afdbe(_0x1ebd9b,_0x19456a- -_0x226858._0x31c2a2);}this['_postProcessStage'][_0x534c07(0x134b,0x177f)]['gradations']=this['options'][_0x569887(0x142a,0x15eb)]??0x4;}}register$1(_0x54a7f1(0x8d3,0x7bb),BlackAndWhiteEffect);var MosaicShader='uniform\x20sampler2D\x20colorTexture;\x0ain\x20vec2\x20v_textureCoordinates;\x0aconst\x20int\x20KERNEL_WIDTH\x20=\x2016;\x0a\x0avoid\x20main(void)\x20{\x0a\x20\x20vec2\x20step\x20=\x201.0\x20/\x20czm_viewport.zw;\x0a\x20\x20vec2\x20integralPosMars3D\x20=\x20v_textureCoordinates\x20-\x20mod(v_textureCoordinates,\x208.0\x20*\x20step);\x0a\x20\x20vec3\x20averageValue\x20=\x20vec3(0.0);\x0a\x20\x20for(int\x20i\x20=\x200;\x20i\x20<\x20KERNEL_WIDTH;\x20i++)\x20{\x0a\x20\x20\x20\x20for(int\x20j\x20=\x200;\x20j\x20<\x20KERNEL_WIDTH;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20averageValue\x20+=\x20texture(colorTexture,\x20integralPosMars3D\x20+\x20step\x20*\x20vec2(i,\x20j)).rgb;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20averageValue\x20/=\x20float(KERNEL_WIDTH\x20*\x20KERNEL_WIDTH);\x0a\x20\x20out_FragColor\x20=\x20vec4(averageValue,\x201.0);\x0a}\x0a';class MosaicEffect extends BaseEffect{['_mountedHook'](){const _0x315bf6={_0x2bcaf0:0x61b,_0x1ead94:0xa4a};function _0x519fc0(_0x4b7c88,_0x268461){return _0x7afdbe(_0x268461,_0x4b7c88- -0xf9);}function _0x746c75(_0x1cb981,_0x5db84a){return _0x54a7f1(_0x5db84a- -0x4b5,_0x1cb981);}this[_0x746c75(-0x18c,_0x315bf6._0x2bcaf0)]=new Cesium__namespace['PostProcessStage']({'fragmentShader':MosaicShader,'enabled':this[_0x519fc0(0xcd8,_0x315bf6._0x1ead94)]});}}register$1('mosaic',MosaicEffect);class DepthOfFieldEffect extends BaseEffect{get['focalDistance'](){var _0xcbce8a;return(_0xcbce8a=this['_postProcessStage'])===null||_0xcbce8a===void 0x0?void 0x0:_0xcbce8a['uniforms']['focalDistance'];}set[_0x54a7f1(0xcb6,0xd9e)](_0x38f2e8){const _0x3fb52a={_0x4bee08:0x147c,_0x3a15b8:0x11d5},_0xe7f3c0={_0x2df9f3:0x62},_0x2a87ca={_0x351e72:0x252};function _0x1c04be(_0x3f4eb3,_0x50ae97){return _0x54a7f1(_0x50ae97- -_0x2a87ca._0x351e72,_0x3f4eb3);}function _0xa99d33(_0x147672,_0x55cab4){return _0x54a7f1(_0x55cab4-_0xe7f3c0._0x2df9f3,_0x147672);}this['_postProcessStage']&&(this['_postProcessStage'][_0xa99d33(_0x3fb52a._0x4bee08,0x154f)][_0x1c04be(_0x3fb52a._0x3a15b8,0xa64)]=_0x38f2e8);}get['delta'](){const _0x2813e3={_0x3646cf:0x133c};function _0x47a440(_0x4e0809,_0x5b74fe){return _0x54a7f1(_0x4e0809- -0x36c,_0x5b74fe);}var _0x567763;return(_0x567763=this['_postProcessStage'])===null||_0x567763===void 0x0?void 0x0:_0x567763[_0x47a440(0x1181,_0x2813e3._0x3646cf)]['delta'];}set['delta'](_0x1cf60e){const _0x1080f5={_0x12afce:0x1818};function _0x561e1f(_0x27f68d,_0xd29da9){return _0x54a7f1(_0x27f68d- -0x43,_0xd29da9);}this['_postProcessStage']&&(this['_postProcessStage'][_0x561e1f(0x14aa,_0x1080f5._0x12afce)]['delta']=_0x1cf60e);}get['sigma'](){var _0x14370d;return(_0x14370d=this['_postProcessStage'])===null||_0x14370d===void 0x0?void 0x0:_0x14370d['uniforms']['sigma'];}set[_0x7afdbe(0x1279,0xd2f)](_0x561516){function _0xf28c32(_0xb43f24,_0x3e6428){return _0x54a7f1(_0x3e6428-0x12a,_0xb43f24);}function _0x1616b2(_0x4072bc,_0x1b09e1){return _0x7afdbe(_0x4072bc,_0x1b09e1- -0x29a);}this[_0x1616b2(0x10d2,0xa64)]&&(this[_0xf28c32(0x2dd,0xbfa)]['uniforms']['sigma']=_0x561516);}get[_0x7afdbe(0x5d2,0xc11)](){const _0x2003b5={_0x1dc109:0x9d1};function _0x55011e(_0x285142,_0x14a6fe){return _0x54a7f1(_0x285142- -0x2da,_0x14a6fe);}var _0x2a66c6;return(_0x2a66c6=this['_postProcessStage'])===null||_0x2a66c6===void 0x0?void 0x0:_0x2a66c6[_0x55011e(0x1213,_0x2003b5._0x1dc109)]['stepSize'];}set['stepSize'](_0x3f6bed){function _0xb30ea5(_0x1c8290,_0x270f76){return _0x54a7f1(_0x1c8290- -0x225,_0x270f76);}this['_postProcessStage']&&(this['_postProcessStage']['uniforms'][_0xb30ea5(0x7be,0x437)]=_0x3f6bed);}['_mountedHook'](){const _0x53c9f8={_0x2ca433:0xd52,_0x92daa4:0x911,_0x1ab62b:0x11b6,_0xcf124d:0x81f,_0x21c18f:0x2f9,_0x5b6148:0x8a8,_0x4c5a8b:0xbf7,_0x3cd27a:0x1253,_0x114d32:0xe52,_0x5a1903:0x130c,_0x3ad2fb:0x80b};function _0x21bcfc(_0xc445cd,_0x34f24b){return _0x54a7f1(_0x34f24b- -0x8,_0xc445cd);}this['_postProcessStage']=Cesium__namespace['PostProcessStageLibrary'][_0x21bcfc(_0x53c9f8._0x2ca433,0x139b)]();function _0x1bad08(_0x28d06f,_0x42e868){return _0x54a7f1(_0x28d06f- -0xa5,_0x42e868);}this[_0x1bad08(0xa2b,_0x53c9f8._0x92daa4)]['uniforms']['focalDistance']=this['options']['focalDistance']??0x57,this['_postProcessStage']['uniforms'][_0x1bad08(_0x53c9f8._0x1ab62b,_0x53c9f8._0xcf124d)]=this[_0x21bcfc(_0x53c9f8._0x21c18f,_0x53c9f8._0x5b6148)][_0x21bcfc(_0x53c9f8._0x4c5a8b,_0x53c9f8._0x3cd27a)]??0x1,this['_postProcessStage'][_0x21bcfc(0x1d20,0x14e5)]['sigma']=this[_0x1bad08(0x80b,_0x53c9f8._0x114d32)]['sigma']??3.78,this['_postProcessStage'][_0x1bad08(0x1448,0x1301)][_0x1bad08(0x93e,_0x53c9f8._0x5a1903)]=this[_0x1bad08(_0x53c9f8._0x3ad2fb,0x31c)]['stepSize']??2.46;}}register$1('depthOfField',DepthOfFieldEffect);const packing_glsl=_0x54a7f1(0x1192,0x1477),cmz_selected_glsl='\x0a#define\x20CZM_SELECTED_FEATURE\x0auniform\x20sampler2D\x20czm_selectedIdTexture;\x0auniform\x20float\x20czm_selectedIdTextureStep;\x0auniform\x20float\x20czm_selectedIdTextureWidth;\x0a\x0abool\x20czm_selected(vec4\x20id)\x20{\x0a\x20\x20bool\x20selected\x20=\x20false;\x0a\x20\x20for(int\x20i\x20=\x200;\x20i\x20<\x201024000;\x20i++)\x20{\x0a\x20\x20\x20\x20vec4\x20selectedId\x20=\x20texture(czm_selectedIdTexture,\x20vec2((float(i)\x20+\x200.5)\x20*\x20czm_selectedIdTextureStep,\x200.5));\x0a\x20\x20\x20\x20if(all(equal(id,\x20selectedId)))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(float(i)\x20>\x20czm_selectedIdTextureWidth)\x0a\x20\x20\x20\x20\x20\x20break;\x0a\x20\x20}\x0a\x20\x20return\x20false;\x0a}\x0a\x0a';function CesiumRenderPass(_0x55c844){const _0xff9530={_0x3b738f:0x930,_0x1eb154:0x16d4,_0x537213:0x146},_0x2c8041={_0x121dd6:0x178e,_0x4595ba:0xa75},_0x3b9766={_0x30b698:0xae8,_0x4efac4:0x141c},_0x384d2b={_0x9ecf31:0x61c},_0x3a4a07={_0x14ab52:0x14bd},_0x4a6754={_0x3f6098:0x734},_0x511fe5={_0x59c067:0x14a3,_0x43987a:0x1511,_0x3ad09b:0xed0},_0x52c630={_0x1fd008:0x132b,_0x3d81d2:0x13b4,_0x115e80:0xd15,_0x936ebf:0x93e,_0x196966:0x652},_0x1a2501={_0x3683a4:0x88d,_0x1cfd93:0x1e26,_0x522f08:0x7e9,_0xa09489:0xedc,_0x1ad75d:0xdd0,_0xbaea09:0x28c,_0x3347c1:0x1992,_0x22079c:0x1cee},_0xe43316={_0xb5254b:0x114,_0x5b4bd4:0xa96,_0x61ab45:0xba6,_0x16b12c:0x5a8,_0x164d3d:0x80f},_0x29d099={_0x1c8a6e:0xdb8,_0x5d8452:0x990,_0x1775f7:0x10ee},_0x185ae3={_0x34859e:0x1375,_0x3c9888:0x199a},_0x47dedf={_0x1f89c2:0x553},_0x46de16={_0x33c0cf:0x12aa,_0x2ac762:0xf61,_0x171937:0x1bcf,_0x181861:0x117c,_0x12a389:0x2ab,_0x3dae2b:0x3b,_0x4a31e4:0xefb,_0x23aa38:0x1373,_0x588ffe:0xf11,_0x1aed28:0x773,_0xe8feef:0x11b8,_0x1244bc:0x6cd,_0x125e0f:0x1521,_0x7ccbfe:0xfec},_0x1ce7ca={_0x16c67c:0x1008,_0x144e38:0x1521,_0x2024f9:0x9f3,_0x5dd68a:0x4b9},_0x1414d2={_0x669e23:0xf1b,_0x3f5a9d:0xae4,_0x1854cf:0x15e2,_0x33fad2:0xcc2,_0x25e8da:0x17d,_0x2a850b:0x11e5,_0x1e4e71:0x14bc,_0xb98b4f:0x100b,_0x47d64:0x1089,_0x163827:0xb05,_0x1bc619:0xe2b,_0x4e204e:0xb4a,_0x464f4c:0x1528,_0x539997:0x296,_0x638e53:0x11f,_0x5dcb19:0xb0c,_0x4f8fd1:0x107a,_0x41ce91:0x2b8,_0x3faa81:0x86c,_0x5cc701:0xebd,_0x20ef79:0x48d,_0x587018:0x688,_0x2e14c6:0x154d,_0x4fe95d:0x1616};let {name:_0x2f3080,vertexShader:_0x38ff17,fragmentShader:_0x37afeb,uniforms:_0x56afd7,renderStateProcess:_0x2c1682,beforeUpdate:_0x405c32,renderType:_0x2daeb1,textureScale:_0x3fec52,pixelFormat:_0x5d71b7,pixelDatatype:_0x200586,sampler:_0x34d1d5,shaderRedefine:_0x171293,overrideViewport:_0x2fe669}=_0x55c844;this[_0x1a3950(0x13d9,0x11ab)]=null;const _0x4bf3ed='renderPass_'+_0x2f3080['replace'](/[\.\\\/\-]/g,'_'),_0x431203='czm_non_'+_0x4bf3ed+'_main',_0x16e02e='czm_'+_0x4bf3ed+_0x1a3950(0x12fb,0x1244),_0xc9127c=_0x1a3950(-_0xff9530._0x3b738f,-0x58)+_0x4bf3ed,_0x485520=_0x4bf3ed+'Command';let _0x182060=null;function _0x1a3950(_0x2f7126,_0x28afd5){return _0x54a7f1(_0x28afd5- -0x3f1,_0x2f7126);}let _0x381c44=null,_0x430652=null;function _0x515782(_0x2bf929,_0x1e28e1){return _0x54a7f1(_0x2bf929- -0x4e6,_0x1e28e1);}let _0x3004c0=null,_0x47658c;const _0x12f352=this,_0x1fcedc=new Cesium__namespace['ClearCommand']({'color':Cesium__namespace['Color'][_0x1a3950(_0xff9530._0x1eb154,0x10f7)],'depth':0x1});let _0xf7ebf9=new Cesium__namespace['BoundingRectangle']();_0x2fe669&&Cesium__namespace['BoundingRectangle'][_0x515782(0x309,0xc39)](_0x2fe669,_0xf7ebf9);_0x171293=_0x171293||'add',_0x2daeb1=_0x2daeb1||_0x515782(_0xff9530._0x537213,-0x6d6),_0x3fec52=_0x3fec52||0x1;if(_0x3fec52<0x0||_0x3fec52>0x8)throw new Cesium__namespace['DeveloperError'](_0x1a3950(-0x1b1,0x1c4));function _0x3e3072(_0xb8588a,_0xe7af12,_0x5f0cb1,_0x23ad4b){const _0x3a13f4={_0x1f5744:0x26d};let _0x4023f9=_0xb8588a[_0x29e899(_0x1414d2._0x669e23,_0x1414d2._0x3f5a9d)]['getDerivedShaderProgram'](_0xe7af12,_0x4bf3ed);if(!Cesium__namespace[_0xc2808b(0xebb,_0x1414d2._0x1854cf)](_0x4023f9)){const _0x297389=_0xe7af12['_attributeLocations'];let _0x437d37=_0xe7af12[_0x29e899(_0x1414d2._0x33fad2,0x143c)],_0x2d78c4=_0xe7af12['vertexShaderSource'];const _0x57fc91=_0xe7af12['_vertexShaderText'];let _0x55bc78=_0x437d37[_0xc2808b(0xacf,0x3be)],_0x7e5997=_0x55bc78['length'],_0x731700=!!_0x3004c0&&_0x27cc01();if(!Cesium__namespace['defined'](_0x5f0cb1))_0x5f0cb1='vec4(1.0)';else Object['prototype']['toString'][_0x29e899(0x15a7,0xe38)](_0x5f0cb1)===_0x29e899(0x4eb,_0x1414d2._0x25e8da)&&(_0x5f0cb1[_0xc2808b(0x1244,0x1173)]?_0x5f0cb1='vec4('+Cesium__namespace['Color'][_0xc2808b(0x2ce,0x99f)](_0x5f0cb1['color']['red'])+',\x20'+Cesium__namespace[_0xc2808b(0x1cb2,_0x1414d2._0x2a850b)]['floatToByte'](_0x5f0cb1['color']['green'])+',\x20'+Cesium__namespace[_0x29e899(_0x1414d2._0x1e4e71,_0x1414d2._0xb98b4f)][_0xc2808b(_0x1414d2._0x47d64,0x99f)](_0x5f0cb1['color'][_0xc2808b(0x1284,0xec3)])+',\x20'+Cesium__namespace['Color'][_0xc2808b(_0x1414d2._0x163827,0x99f)](_0x5f0cb1['color']['alpha'])+')':_0x5f0cb1='vec4(1.0)');let _0x5baed5=cmz_selected_glsl;const _0x116e10=/texture\s?\(\s?model_pickTexture\s?,\s?selectedFeature.st\s?\)/[_0xc2808b(_0x1414d2._0x1bc619,0x492)](_0x5f0cb1);_0x23ad4b==='varying'&&!_0x116e10?_0x5baed5+='\x0a#ifdef\x20CZM_SELECTED_FEATURE\x0ain\x20float\x20me_isSelected;\x0abool\x20czm_selected(){\x0a\x20\x20\x20\x20bool\x20isSelected=\x20me_isSelected>0.0000001;\x0a\x20\x20\x20\x20if(!isSelected){\x0a\x20\x20\x20\x20\x20\x20\x20\x20isSelected=\x20czm_selected('+_0x5f0cb1+');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20isSelected;\x0a}\x0a#endif\x20':_0x5baed5+='\x0a#ifdef\x20CZM_SELECTED_FEATURE\x0abool\x20czm_selected(){\x0a\x20\x20\x20\x20return\x20czm_selected('+_0x5f0cb1+_0xc2808b(0x1aea,0x151c);const _0x961868=cmz_selected_glsl+('\x0a#ifdef\x20CZM_SELECTED_FEATURE\x0aout\x20float\x20me_isSelected;\x0abool\x20czm_selected(){\x0a\x20\x20\x20\x20return\x20czm_selected('+_0x5f0cb1+');\x0a}\x0a#endif\x20\x20');let _0x471492=![],_0x16907e=![];if(/in\s?vec3\s?normal\s?;/[_0xc2808b(-0x464,0x492)](_0x57fc91)||/\n\s?vec3\s?normal\s?;/['test'](_0x57fc91))_0x471492=!![];else/out\s?vec3\s?v_normal\s?;/['test'](_0x57fc91)&&(_0x16907e=!![]);if(_0x37afeb){let _0x6bc636=![];for(let _0x2accf2=0x0;_0x2accf2<_0x7e5997;++_0x2accf2){if(/vec4\s?packDepthToRGBA\s?\(/[_0xc2808b(0x7f7,0x492)](_0x55bc78[_0x2accf2])){_0x6bc636=!![];break;}}const _0x58501e=(_0x6bc636?'':packing_glsl)+(_0x731700?_0x5baed5:'')+Cesium__namespace[_0x29e899(0x1ab,0xa00)]['replaceMain'](_0x37afeb,_0x16e02e)+'void\x20main()\x20\x0a'+'{\x20\x0a'+(_0x171293!=='replace'?_0x29e899(_0x1414d2._0x4e204e,0x160)+_0x431203+_0x29e899(0x1033,_0x1414d2._0x464f4c):'')+('\x20\x20\x20\x20'+_0x16e02e+_0xc2808b(0x1761,0x1702))+_0x29e899(-_0x1414d2._0x539997,_0x1414d2._0x638e53),_0x5b884c=new Array(_0x7e5997+0x1);for(let _0x3c05ec=0x0;_0x3c05ec<_0x7e5997;++_0x3c05ec){_0x5b884c[_0x3c05ec]=Cesium__namespace['ShaderSource']['replaceMain'](_0x55bc78[_0x3c05ec],_0x431203);}_0x5b884c[_0x7e5997]=_0x58501e;if(_0x471492)_0x437d37['defines']['push']('HAS_NORMAL_MARS3D');else _0x16907e&&_0x437d37['defines'][_0xc2808b(0xeb7,0xe69)]('HAS_V_NORMAL_MARS3D');_0x437d37=new Cesium__namespace['ShaderSource']({'sources':_0x5b884c,'defines':_0x437d37[_0xc2808b(_0x1414d2._0x5dcb19,0x1053)]});}if(_0x38ff17||_0x37afeb){_0x55bc78=_0x2d78c4[_0x29e899(-0x850,0x1e4)],_0x7e5997=_0x55bc78[_0x29e899(_0x1414d2._0x4f8fd1,0xd0c)];let _0x1788e2=![];for(let _0x455916=0x0;_0x455916<_0x7e5997;++_0x455916){if(/vec4\s?packDepthToRGBA\s?\(/[_0x29e899(0xa8a,_0x1414d2._0x41ce91)](_0x55bc78[_0x455916])){_0x1788e2=!![];break;}}_0x731700=_0x731700&&_0x23ad4b===_0xc2808b(0xe71,_0x1414d2._0x3faa81)&&!_0x116e10;if(_0x471492)_0x2d78c4[_0xc2808b(0x13c6,0x1053)]['push']('HAS_NORMAL_MARS3D');else _0x16907e&&_0x2d78c4[_0xc2808b(0x61b,0x1053)]['push'](_0x29e899(0x5b0,_0x1414d2._0x5cc701));const _0x6d5bd7=(_0x1788e2?'':packing_glsl)+(_0x731700?_0x961868:'')+Cesium__namespace['ShaderSource']['replaceMain'](_0x38ff17||_0xc2808b(0x174c,0x12f1),_0x16e02e)+'void\x20main()\x20\x0a'+'{\x20\x0a'+(_0x171293!==_0xc2808b(-0x2f5,_0x1414d2._0x20ef79)?_0x29e899(-0x374,0x160)+_0x431203+'();\x20\x0a':'')+(_0x731700?_0xc2808b(-0x5,_0x1414d2._0x587018):'')+('\x20\x20\x20\x20'+_0x16e02e+_0xc2808b(_0x1414d2._0x2e14c6,0x1702))+_0xc2808b(0xa88,0x2f9),_0x2e1f28=new Array(_0x7e5997+0x1);for(let _0x4e4b2c=0x0;_0x4e4b2c<_0x7e5997;++_0x4e4b2c){_0x2e1f28[_0x4e4b2c]=Cesium__namespace['ShaderSource']['replaceMain'](_0x55bc78[_0x4e4b2c],_0x431203);}_0x2e1f28[_0x7e5997]=_0x6d5bd7,_0x2d78c4=new Cesium__namespace['ShaderSource']({'sources':_0x2e1f28,'defines':_0x2d78c4['defines']});}const _0x5e463c={};_0x5e463c['vertexShaderSource']=_0x2d78c4,_0x5e463c[_0xc2808b(0x176e,_0x1414d2._0x4fe95d)]=_0x437d37,_0x5e463c[_0xc2808b(0xf63,0x8e5)]=_0x297389,_0x4023f9=_0xb8588a[_0xc2808b(0xc92,0xcbe)]['createDerivedShaderProgram'](_0xe7af12,_0x4bf3ed,_0x5e463c);}function _0xc2808b(_0x45dd77,_0x7a449d){return _0x515782(_0x7a449d-0x447,_0x45dd77);}function _0x29e899(_0x3d39f2,_0x29ccfc){return _0x515782(_0x29ccfc-_0x3a13f4._0x1f5744,_0x3d39f2);}return _0x4023f9;}function _0x182fba(_0x5450ae,_0x4874a3){const _0x44b096={_0x1ddb88:0x239};_0x5450ae[_0x105951(0x1008,0x1aa0)]=_0x5450ae['_renderPassCache']||{},_0x5450ae['_renderPassCache'][_0xc9127c]=_0x5450ae['_renderPassCache'][_0xc9127c]||{};const _0x2c45ce=_0x5450ae[_0x105951(_0x1ce7ca._0x16c67c,_0x1ce7ca._0x144e38)][_0xc9127c];let _0x18b640=_0x2c45ce[_0x4874a3['id']];if(!Cesium__namespace['defined'](_0x18b640)){const _0x2d6d8d=Cesium__namespace['RenderState'][_0xa40a97(0xd0e,0x555)](_0x4874a3);typeof _0x2c1682==='function'&&_0x2c1682['call'](_0x12f352,_0x2d6d8d),_0x18b640=Cesium__namespace[_0xa40a97(_0x1ce7ca._0x2024f9,_0x1ce7ca._0x5dd68a)]['fromCache'](_0x2d6d8d),_0x2c45ce[_0x4874a3['id']]=_0x18b640;}function _0xa40a97(_0x11110b,_0x1ff1f2){return _0x515782(_0x1ff1f2-_0x44b096._0x1ddb88,_0x11110b);}function _0x105951(_0x492f71,_0x1b1a60){return _0x1a3950(_0x1b1a60,_0x492f71- -0x111);}return _0x18b640;}function _0x1064e6(_0x49bc5d,_0x467d83,_0x8d9ea5){const _0x17ebea={_0x59d49d:0x156},_0x44ff91=_0x49bc5d,_0x42b838=_0x467d83[_0x14c3b6(0x18d3,_0x46de16._0x33c0cf)];let _0x236324=_0x49bc5d[_0x14c3b6(0x1173,_0x46de16._0x2ac762)];if(!Cesium__namespace['defined'](_0x236324))return;_0x42b838['useLogDepth']&&Cesium__namespace['defined'](_0x236324['logDepth'])&&(_0x49bc5d=_0x236324['logDepth'][_0x14c3b6(_0x46de16._0x171937,_0x46de16._0x181861)]);_0x236324=_0x49bc5d[_0xfac97f(0x344,0xc6e)];let _0x3aef2a=_0x236324['renderPass'];function _0x14c3b6(_0xbedaa3,_0x1c5e0a){return _0x1a3950(_0xbedaa3,_0x1c5e0a-0x354);}!Cesium__namespace[_0x14c3b6(0xfbc,0x15e4)](_0x236324[_0xfac97f(_0x46de16._0x12a389,-_0x46de16._0x3dae2b)])&&(_0x3aef2a=_0x236324['renderPass']={});let _0x691117,_0x289fb5;Cesium__namespace[_0x14c3b6(0x1c36,0x15e4)](_0x3aef2a[_0x485520])&&(_0x691117=_0x3aef2a[_0x485520][_0x14c3b6(_0x46de16._0x4a31e4,0x555)],_0x289fb5=_0x3aef2a[_0x485520]['renderState']);_0x3aef2a[_0x485520]=Cesium__namespace[_0x14c3b6(0x147c,0x15cc)]['shallowClone'](_0x49bc5d,_0x3aef2a[_0x485520]);if(!Cesium__namespace['defined'](_0x691117)||_0x3aef2a[_0xfac97f(0x16e9,_0x46de16._0x23aa38)]!==_0x49bc5d['shaderProgram']['id']){const _0x51173c=_0x49bc5d['shaderProgram'],_0x4e33ec=_0x44ff91['_pickIdQualifier']=new RegExp('uniform\x5cs?vec4\x5cs?'+_0x49bc5d[_0x14c3b6(0x1153,0x11b8)],'g')['test'](_0x51173c[_0x14c3b6(_0x46de16._0x588ffe,0x169a)])?_0x14c3b6(_0x46de16._0x1aed28,0x499):'varying';_0x3aef2a[_0x485520]['shaderProgram']=_0x3e3072(_0x8d9ea5,_0x51173c,_0x49bc5d[_0x14c3b6(0x10e8,_0x46de16._0xe8feef)],_0x4e33ec),_0x3aef2a[_0x485520][_0x14c3b6(_0x46de16._0x1244bc,0xff5)]=_0x182fba(_0x467d83,_0x49bc5d[_0xfac97f(_0x46de16._0x125e0f,0xd02)]),_0x3aef2a['shaderProgramId']=_0x49bc5d['shaderProgram']['id'];}else _0x3aef2a[_0x485520]['shaderProgram']=_0x691117,_0x3aef2a[_0x485520]['renderState']=_0x289fb5;function _0xfac97f(_0x4df878,_0x2ec3be){return _0x515782(_0x2ec3be-_0x17ebea._0x59d49d,_0x4df878);}const _0x192ec9=_0x3aef2a[_0x485520][_0x14c3b6(_0x46de16._0x7ccbfe,0xdd7)];_0x6ac4c7(_0x192ec9);}function _0x59592e(_0xd38515){const _0x29a462={_0x1b0943:0x17f4};return function(){const _0x1fde1e={_0x4511b9:0x37a},_0x136d63=_0x56afd7[_0xd38515];if(typeof _0x136d63===_0x25e3ec(0x1ad9,_0x29a462._0x1b0943))return _0x136d63();function _0x25e3ec(_0x17653a,_0x2ff797){return _0x536c(_0x2ff797-_0x1fde1e._0x4511b9,_0x17653a);}return _0x136d63;};}function _0x19b048(_0x44e19a,_0x5a5455){return function(){const _0x32bf04=_0x44e19a[_0x5a5455]();if(Cesium__namespace['defined'](_0x32bf04))return _0x32bf04['dimensions'];return undefined;};}function _0x6ac4c7(_0x3004ff){const _0x120c33={_0x36af27:0x297},_0x2e814e={_0x5c462f:0x1970,_0x315479:0x1377},_0x40a0f9={_0x241c07:0x2dd};function _0x32cfdf(_0x200557,_0x10adc1){return _0x515782(_0x200557-_0x47dedf._0x1f89c2,_0x10adc1);}if(_0x3004ff[_0xda7a92(_0x29d099._0x1c8a6e,_0x29d099._0x5d8452)])return;_0x3004ff['czm_selectedIdTexture']=function(){return _0x3004c0['_selectedIdTexture'];},_0x3004ff['czm_selectedIdTextureWidth']=function(){var _0x412308;function _0x2157f5(_0x39d342,_0x2c8cd2){return _0xda7a92(_0x2c8cd2-_0x40a0f9._0x241c07,_0x39d342);}return((_0x412308=_0x3004c0['_selectedIdTexture'])===null||_0x412308===void 0x0?void 0x0:_0x412308[_0x2157f5(_0x2e814e._0x5c462f,_0x2e814e._0x315479)])??0x0;},_0x3004ff['czm_selectedIdTextureStep']=function(){var _0x22d62f;function _0x4dd8b4(_0x47ea34,_0x1bd36c){return _0xda7a92(_0x1bd36c-_0x120c33._0x36af27,_0x47ea34);}function _0x5b5640(_0x30da94,_0x297416){return _0xda7a92(_0x30da94-0x464,_0x297416);}return(_0x22d62f=_0x3004c0['_selectedIdTexture'])!==null&&_0x22d62f!==void 0x0&&_0x22d62f[_0x5b5640(0x14fe,0x1b61)]?0x1/_0x3004c0[_0x5b5640(0x1543,_0x185ae3._0x34859e)][_0x5b5640(0x14fe,_0x185ae3._0x3c9888)]:-0x1;};if(!_0x56afd7)return;function _0xda7a92(_0x41949e,_0x4ec9f9){return _0x1a3950(_0x4ec9f9,_0x41949e- -0xcc);}_0x3004ff[_0xda7a92(0xdb8,0xd22)]=!![];for(const _0x138db9 in _0x56afd7){if(_0x56afd7[_0xda7a92(_0x29d099._0x1775f7,0x1b04)](_0x138db9)){typeof _0x56afd7[_0x138db9]!=='function'?_0x3004ff[_0x138db9]=_0x59592e(_0x138db9):_0x3004ff[_0x138db9]=_0x56afd7[_0x138db9];const _0x3b8c0e=_0x3004ff[_0x138db9]();(typeof _0x3b8c0e==='string'||_0x3b8c0e instanceof Cesium__namespace['Texture']||_0x3b8c0e instanceof HTMLImageElement||_0x3b8c0e instanceof HTMLCanvasElement||_0x3b8c0e instanceof HTMLVideoElement)&&(_0x3004ff[_0x138db9+'Dimensions']=_0x19b048(_0x3004ff,_0x138db9));}}}function _0x14bb71(_0x2c9d15){const _0x2aac85=_0x2c9d15[_0x52b227(0x269,0xb8d)],_0x436f00=_0x2aac85[_0x52b227(-0x18,0x961)];function _0xe8017c(_0x12c037,_0x1348e7){return _0x515782(_0x1348e7-0x66f,_0x12c037);}const _0x4b5ae6=_0x436f00[_0x52b227(_0xe43316._0xb5254b,_0xe43316._0x5b4bd4)];function _0x52b227(_0x37a20f,_0x4a9fb3){return _0x515782(_0x4a9fb3- -0x9,_0x37a20f);}let _0x2438a9,_0x2077e7,_0x4143be;for(let _0xc5b033=0x0;_0xc5b033<_0x4b5ae6;++_0xc5b033){const _0x37b46b=_0x4b5ae6-_0xc5b033-0x1,_0x39154e=_0x436f00[_0x37b46b];for(_0x2077e7=0x0;_0x2077e7<_0x39154e[_0xe8017c(0xd77,0x121e)]['length'];_0x2077e7++){const _0x43e689=_0x39154e[_0x52b227(0xb64,_0xe43316._0x61ab45)][_0x2077e7];_0x4143be=_0x39154e['indices'][_0x2077e7];if(_0x3004c0&&_0x2077e7===Cesium__namespace['Pass'][_0xe8017c(_0xe43316._0x16b12c,_0xe43316._0x164d3d)])continue;for(_0x2438a9=0x0;_0x2438a9<_0x4143be;++_0x2438a9){const _0x5303a9=_0x43e689[_0x2438a9];_0x1064e6(_0x5303a9,_0x2c9d15,_0x2c9d15['_context']);}}}}function _0x3bff67(){const _0x59d3e3={_0x1093f8:0x170};function _0x59e315(_0x55b699,_0x574e95){return _0x1a3950(_0x55b699,_0x574e95-_0x59d3e3._0x1093f8);}_0x381c44&&(_0x381c44['destroy'](),_0x182060['destroy'](),_0x182060=undefined,_0x381c44=undefined),_0x430652&&(_0x430652[_0x59e315(0xb09,0x1b1)](),_0x430652=undefined);}function _0x171453(_0x208eaa,_0x3712b4,_0xd9595a,_0x4bc185){const _0xa0d74c=_0x3712b4['width'],_0x4b3569=_0x3712b4[_0x2839cb(_0x1a2501._0x3683a4,-0x1b2)];if(_0x381c44&&_0x381c44['width']===_0xa0d74c&&_0x381c44['height']===_0x4b3569&&_0xd9595a===_0x47658c)return;_0x47658c=_0xd9595a,_0x3bff67(),_0x381c44=new Cesium__namespace[(_0x2fa3b2(_0x1a2501._0x1cfd93,0x162a))]({'context':_0x208eaa,'width':_0xa0d74c,'height':_0x4b3569,'pixelFormat':_0x5d71b7??Cesium__namespace[_0x2fa3b2(_0x1a2501._0x522f08,_0x1a2501._0xa09489)]['RGBA'],'pixelDatatype':_0x200586??Cesium__namespace['PixelDatatype'][_0x2839cb(_0x1a2501._0x1ad75d,0xcdc)],'sampler':_0x34d1d5??Cesium__namespace['Sampler'][_0x2fa3b2(-0x740,_0x1a2501._0xbaea09)]});function _0x2839cb(_0x4ae940,_0x5c757b){return _0x1a3950(_0x5c757b,_0x4ae940-0x617);}_0x430652=new Cesium__namespace[(_0x2839cb(_0x1a2501._0x3347c1,0x1119))]({'context':_0x208eaa,'width':_0xa0d74c,'height':_0x4b3569,'pixelFormat':Cesium__namespace[_0x2839cb(0x1244,0x1928)]['DEPTH_COMPONENT'],'pixelDatatype':Cesium__namespace['PixelDatatype']['UNSIGNED_SHORT'],'sampler':Cesium__namespace['Sampler']['NEAREST']});const _0x2de7cb={};_0x2de7cb['colorTextures']=[_0x381c44],_0x2de7cb['context']=_0x208eaa,_0x2de7cb['destroyAttachments']=![];function _0x2fa3b2(_0x2c27a5,_0x1180f8){return _0x515782(_0x1180f8-0x3a4,_0x2c27a5);}_0x2de7cb['depthTexture']=_0x430652,_0x182060=new Cesium__namespace[(_0x2fa3b2(_0x1a2501._0x22079c,0x12b1))](_0x2de7cb);}function _0x263261(_0xd43d46){const _0x391cae={_0x5bc25f:0x356};_0xf7ebf9=Cesium__namespace['BoundingRectangle']['clone'](_0xd43d46[_0x179363(0xf50,0x11d1)],_0xf7ebf9);const _0x4b5e18=Object['assign']({},_0xd43d46['passState']);_0x4b5e18['viewport']=_0xf7ebf9;function _0x179363(_0x51350a,_0x384a29){return _0x1a3950(_0x384a29,_0x51350a-_0x391cae._0x5bc25f);}return _0x4b5e18;}function _0x120660(_0x960a9d,_0x2ca56f){const _0x30c413=_0x960a9d['_us']['_frameState'];function _0x569535(_0x4a8c05,_0x3db93d){return _0x515782(_0x4a8c05-0x2f9,_0x3db93d);}function _0x28a499(_0x13063e,_0x38c233){return _0x515782(_0x13063e-0x795,_0x38c233);}const _0x40f737=_0x30c413['camera'],_0x195eb5=_0x40f737['_scene'],_0x4271ed=_0x195eb5[_0x28a499(_0x52c630._0x1fd008,0xab4)];try{if(!_0x38ff17&&!_0x37afeb){const _0x40f49b=_0x263261(_0x4271ed);typeof _0x405c32===_0x569535(_0x52c630._0x3d81d2,0x1be4)&&_0x405c32[_0x28a499(0x1360,_0x52c630._0x115e80)](_0x12f352,_0x195eb5,_0x2ca56f),_0x171453(_0x960a9d,_0xf7ebf9,_0x195eb5[_0x28a499(_0x52c630._0x936ebf,_0x52c630._0x196966)],_0x4271ed['sceneFramebuffer']),executeDerivedCommandList(_0x960a9d,_0x182060,_0x40f49b);}else{const _0x10643b=_0x263261(_0x4271ed);typeof _0x405c32===_0x28a499(0x1850,0x1f3c)&&_0x405c32[_0x28a499(0x1360,0x19dd)](_0x12f352,_0x195eb5,_0x2ca56f),_0x171453(_0x960a9d,_0xf7ebf9,_0x195eb5[_0x28a499(0x93e,0xfda)],_0x4271ed['sceneFramebuffer']),_0x14bb71(_0x195eb5),executeDerivedCommandList(_0x960a9d,_0x182060,_0x10643b,_0x569535(0x168,-0x84e),_0x485520,_0x2daeb1==='all'||!_0x3004c0||!_0x3004c0['_selectedIdTexture']?null:_0x8a5702);}}catch(_0x34f437){}}function _0x27cc01(){if(!_0x3004c0)return;const _0x483e5e=_0x3004c0['selected']||_0x3004c0['parentSelected'];if(_0x483e5e['length'])return _0x483e5e;}function _0x8a5702(_0x56a2e0,_0x4893bc){const _0x22f130={_0x271478:0x7a2},_0x4345ab={_0x549d22:0xe0},_0xbedf57=_0x3004c0&&(_0x3004c0['selected']||_0x3004c0[_0x1938f3(_0x511fe5._0x59c067,0xfa7)]);if(!_0x3004c0||!_0xbedf57||!_0xbedf57['length'])return![];if(!_0x56a2e0[_0x1938f3(_0x511fe5._0x43987a,0x15a3)]||_0x56a2e0['_pickIdQualifier']!=='uniform')return!![];function _0x7c8794(_0x445179,_0x1d413e){return _0x1a3950(_0x445179,_0x1d413e- -_0x4345ab._0x549d22);}let _0x580c6e=!![];const _0x384f14=_0x56a2e0['owner'],_0x2ed84e=_0x2daeb1==='selected';if(_0x384f14&&_0x384f14['isObject3D']){for(let _0x3abe45=0x0;_0x3abe45<_0xbedf57['length'];_0x3abe45++){const _0x506c25=_0xbedf57[_0x3abe45];if(_0x506c25===_0x384f14)return _0x2ed84e;}return!_0x2ed84e;}const _0x474dea=_0x56a2e0['uniformMap'];function _0x1938f3(_0x13bab3,_0x4020fa){return _0x515782(_0x13bab3-_0x22f130._0x271478,_0x4020fa);}if(_0x474dea[_0x56a2e0['pickId']]){const _0x53115c=_0x474dea[_0x56a2e0['pickId']]();_0x580c6e=!_0x2ed84e;for(let _0x279243=0x0;_0x279243<_0xbedf57['length'];_0x279243++){const _0x4fd9b2=_0xbedf57[_0x279243],_0x776651=_0x4fd9b2['pickId']?[_0x4fd9b2['pickId']]:_0x4fd9b2['pickIds']||_0x4fd9b2[_0x7c8794(0xc18,_0x511fe5._0x3ad09b)];for(let _0x2bccc8=0x0;_0x2bccc8<_0x776651['length'];_0x2bccc8++){const _0x34c18b=_0x776651[_0x2bccc8];if(_0x34c18b['color']===_0x53115c||Cesium__namespace['Color']['equals'](_0x34c18b[_0x1938f3(0x14ce,0x16f3)],_0x53115c))return _0x2ed84e;}}}return _0x580c6e;}function _0x2b87b2(_0x3e9c94){function _0x564b11(_0x253707,_0x26a33d){return _0x515782(_0x253707-_0x4a6754._0x3f6098,_0x26a33d);}function _0x33410d(_0x331c6b,_0x36a8a8){return _0x515782(_0x36a8a8-0x378,_0x331c6b);}if(_0x182060){const _0xa5660b=_0x3e9c94[_0x564b11(0x1591,0x1acb)]['_frameState']['camera']['_scene'][_0x33410d(0x1567,0xf0e)];_0x1fcedc['framebuffer']=_0x182060,_0x1fcedc[_0x33410d(_0x3a4a07._0x14ab52,0x12cd)](_0x3e9c94,_0xa5660b['passState']),_0x1fcedc['framebuffer']=undefined;}}function _0x5b48f7(_0x349a01){const _0x193721={_0x3becb4:0x42b};_0x3004c0&&_0x12f352[_0x598db8(0x104e,_0x2c8041._0x121dd6)]&&(_0x3004c0[_0x598db8(0xa75,0x189)]=_0x12f352['prevStageUpdate'],_0x12f352['prevStageUpdate']=null,_0x12f352['prevStageExecute']=null);function _0x26705b(_0x5b3d83,_0x2dd277){return _0x1a3950(_0x5b3d83,_0x2dd277-_0x193721._0x3becb4);}_0x3004c0=_0x349a01;if(!_0x3004c0)return;const _0x5a8c29=_0x3004c0[_0x598db8(_0x2c8041._0x4595ba,0x385)];function _0x598db8(_0x4f0e0e,_0x3eb08a){return _0x515782(_0x4f0e0e-_0x384d2b._0x9ecf31,_0x3eb08a);}_0x12f352['prevStageUpdate']=_0x5a8c29,_0x3004c0['update']=function(_0x356b1b,_0x25520e){function _0x1cf4c8(_0x576b61,_0xe93c94){return _0x598db8(_0x576b61- -0x498,_0xe93c94);}_0x2b87b2(_0x356b1b);function _0x47198b(_0x31c227,_0x2c9f8a){return _0x598db8(_0x31c227-0xff,_0x2c9f8a);}_0x5a8c29[_0x1cf4c8(0xd4f,_0x3b9766._0x30b698)](_0x3004c0,_0x356b1b,_0x25520e);if(!_0x3004c0['enabled'])return;if(!_0x38ff17&&!_0x37afeb)_0x120660(_0x356b1b,_0x25520e);else{const _0x54d1e1=_0x3004c0['selected']||_0x3004c0[_0x47198b(_0x3b9766._0x4efac4,0xe2f)];_0x54d1e1&&_0x54d1e1[_0x1cf4c8(0xc23,0xd2b)]&&_0x120660(_0x356b1b,_0x25520e);}};}this['update']=_0x120660,this['clear']=_0x2b87b2;const _0x28a4a8={};_0x28a4a8['get']=function(){return _0x381c44;};const _0x466daa={};_0x466daa['get']=function(){return _0x430652;},Object['defineProperties'](this,{'texture':_0x28a4a8,'depthTexture':_0x466daa,'stage':{'get'(){return _0x3004c0;},'set'(_0x4bb506){_0x3004c0!==_0x4bb506&&_0x5b48f7(_0x4bb506);}}});}let scratchPerspectiveFrustum,scratchPerspectiveOffCenterFrustum,scratchOrthographicFrustum,scratchOrthographicOffCenterFrustum;function executeDerivedCommand(_0x4e8156,_0x3940e5,_0x4f95c4,_0x2bc176,_0x111e2c,_0x198736){const _0x426cb9={_0x277dcc:0x52d,_0x53df4d:0x14c2},_0x50980c={_0x4c5eea:0x33d},_0x135818=Cesium__namespace['defined'],_0x16b851=_0x2bc176['_frameState'];let _0x54b30b=_0x4e8156[_0x479edc(0xcc1,0x4d2)];if(!_0x135818(_0x54b30b))return;function _0x479edc(_0x16df38,_0x4e42ba){return _0x54a7f1(_0x16df38- -_0x50980c._0x4c5eea,_0x4e42ba);}_0x16b851[_0x479edc(_0x426cb9._0x277dcc,0x5ee)]&&_0x135818(_0x54b30b['logDepth'])&&(_0x4e8156=_0x54b30b['logDepth']['command']);function _0x40c3c5(_0x4a1d43,_0x40c30f){return _0x54a7f1(_0x4a1d43-0x87,_0x40c30f);}_0x54b30b=_0x4e8156[_0x40c3c5(0x1085,0xd5f)],_0x135818(_0x54b30b[_0x3940e5])&&(_0x4e8156=_0x54b30b[_0x3940e5][_0x4f95c4],_0x4e8156[_0x40c3c5(_0x426cb9._0x53df4d,0x18d7)](_0x111e2c,_0x198736));}function executeDerivedCommandList(_0x14e9b8,_0x1b2a79,_0x932773,_0x46254e,_0x3a5f4b,_0xcf90dd){const _0x610d37={_0x52eaa2:0x1202,_0x351501:0x42f,_0xf1c1b:0x661,_0xbc80ce:0xe74,_0x4ec85f:0x799,_0x7bf8b6:0x7c1,_0x20037c:0x9b2,_0x188677:0x107d,_0x5e40a7:0x1488,_0x45f3ad:0x1281,_0x2fc300:0x1488},_0x1eba5b={_0x2e11f2:0x18e},{Pass:_0x1c3539,defined:_0x3314f6,PerspectiveFrustum:_0x23cc08,PerspectiveOffCenterFrustum:_0x477fdc,OrthographicFrustum:_0x5dc2d9,OrthographicOffCenterFrustum:_0x430691}=Cesium__namespace;scratchPerspectiveFrustum=scratchPerspectiveFrustum||new _0x23cc08(),scratchPerspectiveOffCenterFrustum=scratchPerspectiveOffCenterFrustum||new _0x477fdc(),scratchOrthographicFrustum=scratchOrthographicFrustum||new _0x5dc2d9(),scratchOrthographicOffCenterFrustum=scratchOrthographicOffCenterFrustum||new _0x430691();const _0x5b5ae0=_0x14e9b8['_us'];function _0x581742(_0x44fb1a,_0x3120d4){return _0x7afdbe(_0x44fb1a,_0x3120d4-0x4f);}const _0x27a697=_0x5b5ae0[_0x581742(0xcc9,0x15c4)],_0x4446d2=_0x27a697['camera'];function _0x22e412(_0x12e077,_0x3a9715){return _0x54a7f1(_0x3a9715- -_0x1eba5b._0x2e11f2,_0x12e077);}const _0x1be654=_0x4446d2['_scene'],_0x48fec3=_0x1be654['_view'],_0xfcf66f=_0x48fec3[_0x581742(0xb0a,0x10cd)],_0x496f98=_0xfcf66f[_0x581742(0x1615,_0x610d37._0x52eaa2)],_0x1c3c23=_0x1be654['_globeTranslucencyState'],_0x1a8777=_0x1c3c23['translucent'],_0x58eb65=_0x1be654[_0x22e412(0x6b8,0xeee)]['globeTranslucencyFramebuffer'];let _0x275e1c;if(_0x3314f6(_0x4446d2['frustum']['fov']))_0x275e1c=_0x4446d2['frustum']['clone'](scratchPerspectiveFrustum);else{if(_0x3314f6(_0x4446d2['frustum']['infiniteProjectionMatrix']))_0x275e1c=_0x4446d2['frustum'][_0x22e412(_0x610d37._0x351501,_0x610d37._0xf1c1b)](scratchPerspectiveOffCenterFrustum);else _0x3314f6(_0x4446d2['frustum']['width'])?_0x275e1c=_0x4446d2['frustum']['clone'](scratchOrthographicFrustum):_0x275e1c=_0x4446d2['frustum'][_0x22e412(-0x189,_0x610d37._0xf1c1b)](scratchOrthographicOffCenterFrustum);}function _0x6ceee(_0x4f1437,_0x4ffc81,_0x5256de,_0x3dc755){const _0x5b732b=_0xcf90dd?_0xcf90dd(_0x4f1437,_0x4ffc81):!![];if(_0x5b732b)try{_0x46254e&&_0x3a5f4b?executeDerivedCommand(_0x4f1437,_0x46254e,_0x3a5f4b,_0x4ffc81,_0x5256de,_0x3dc755):_0x4f1437['execute'](_0x5256de,_0x3dc755);}catch(_0x17531a){}}let _0xf56b82,_0x42730e,_0x1e4403;for(let _0x5d598f=0x0;_0x5d598f<_0x496f98;++_0x5d598f){const _0x47e981=_0x496f98-_0x5d598f-0x1,_0x5c41a1=_0xfcf66f[_0x47e981],_0x14be7b=_0x932773[_0x581742(_0x610d37._0xbc80ce,0x12ea)];_0x932773['framebuffer']=_0x1b2a79,_0x275e1c['near']=_0x47e981!==0x0?_0x5c41a1['near']*_0x1be654['opaqueFrustumNearOffset']:_0x5c41a1['near'],_0x275e1c['far']=_0x5c41a1['far'],_0x5b5ae0['updateFrustum'](_0x275e1c),_0x5b5ae0['updatePass'](_0x1c3539[_0x22e412(0x12f,0x4f8)]),_0x1e4403=_0x5c41a1[_0x22e412(0x8a6,0xf07)][_0x1c3539[_0x22e412(_0x610d37._0x4ec85f,0x4f8)]],_0x42730e=_0x5c41a1['indices'][_0x1c3539['GLOBE']];if(_0x1a8777)_0x1c3c23['executeGlobeCommands'](_0x5c41a1,_0x6ceee,_0x58eb65,_0x1be654,_0x932773);else for(_0xf56b82=0x0;_0xf56b82<_0x42730e;++_0xf56b82){_0x6ceee(_0x1e4403[_0xf56b82],_0x1be654,_0x14e9b8,_0x932773);}_0x5b5ae0['updatePass'](_0x1c3539['CESIUM_3D_TILE']),_0x1e4403=_0x5c41a1['commands'][_0x1c3539['CESIUM_3D_TILE']],_0x42730e=_0x5c41a1['indices'][_0x1c3539[_0x581742(-0x80,_0x610d37._0x7bf8b6)]];for(_0xf56b82=0x0;_0xf56b82<_0x42730e;++_0xf56b82){_0x6ceee(_0x1e4403[_0xf56b82],_0x1be654,_0x14e9b8,_0x932773);}_0x5b5ae0['updatePass'](_0x1c3539['OPAQUE']),_0x1e4403=_0x5c41a1['commands'][_0x1c3539['OPAQUE']],_0x42730e=_0x5c41a1['indices'][_0x1c3539['OPAQUE']];for(_0xf56b82=0x0;_0xf56b82<_0x42730e;++_0xf56b82){_0x6ceee(_0x1e4403[_0xf56b82],_0x1be654,_0x14e9b8,_0x932773);}_0x5b5ae0['updatePass'](_0x1c3539[_0x22e412(_0x610d37._0x20037c,_0x610d37._0x188677)]),_0x1e4403=_0x5c41a1['commands'][_0x1c3539[_0x581742(0xc15,_0x610d37._0x5e40a7)]],_0x42730e=_0x5c41a1['indices'][_0x1c3539[_0x581742(_0x610d37._0x45f3ad,_0x610d37._0x2fc300)]];for(_0xf56b82=0x0;_0xf56b82<_0x42730e;++_0xf56b82){_0x6ceee(_0x1e4403[_0xf56b82],_0x1be654,_0x14e9b8,_0x932773);}_0x932773['framebuffer']=_0x14be7b;}}class OutlineEffect extends BaseEffect{constructor(_0x2687b5={}){super(_0x2687b5),this['_setOptionsHook'](_0x2687b5);}get[_0x7afdbe(0x9bd,0xee3)](){var _0x37de04;return(_0x37de04=this['_postProcessStage'])===null||_0x37de04===void 0x0?void 0x0:_0x37de04['selected'];}set['selected'](_0x37666f){const _0x6145f4={_0x3dfb2f:0x155a,_0x32537c:0xd39,_0x408a77:0xf1e,_0x77b01d:0xe0c,_0x2b34e1:0x1249},_0x6c2abd={_0x459e5a:0x3b};function _0x27d16e(_0x46426f,_0x1f10e0){return _0x7afdbe(_0x1f10e0,_0x46426f-_0x6c2abd._0x459e5a);}let _0xfd6851=[];function _0x53238f(_0x42a693,_0x5ddb55){return _0x7afdbe(_0x5ddb55,_0x42a693- -0x4b1);}_0x37666f&&(!Array[_0x27d16e(0x16d7,0x1bc5)](_0x37666f)?_0xfd6851=this['_getPickIds']([_0x37666f]):_0xfd6851=this[_0x27d16e(_0x6145f4._0x3dfb2f,0x1fe5)](_0x37666f)),this['_postProcessStage']&&(this[_0x27d16e(_0x6145f4._0x32537c,0x677)][_0x27d16e(_0x6145f4._0x408a77,0x17cb)]=_0xfd6851,this[_0x53238f(0x84d,0x12a0)][_0x27d16e(_0x6145f4._0x77b01d,_0x6145f4._0x2b34e1)]=this[_0x27d16e(0xe0c,0xa79)]&&this['selected']['length']>0x0);}get['width'](){const _0x5d6dda={_0x3ea842:0xb8};function _0x151598(_0x55ae01,_0x264b0d){return _0x54a7f1(_0x55ae01-0x14a,_0x264b0d);}return this[_0x151598(0x9fa,_0x5d6dda._0x3ea842)]['width'];}set[_0x54a7f1(0x1557,0x14f4)](_0x4fa661){const _0x48dbaf={_0x138b7d:0x1065};function _0x1a0c56(_0x1b3950,_0x557d6d){return _0x7afdbe(_0x557d6d,_0x1b3950- -0x720);}this['options'][_0x1a0c56(_0x48dbaf._0x138b7d,0xa61)]=_0x4fa661;}get['color'](){function _0x4583c0(_0x2ad51e,_0x3db60c){return _0x7afdbe(_0x2ad51e,_0x3db60c- -0x722);}return this[_0x4583c0(-0x29f,0x4fb)];}set['color'](_0x4eab81){const _0x45678a={_0x1cb60b:0xc3f},_0x13bc63={_0x5ec7a3:0x53a};function _0x5072a3(_0x32fb8e,_0x278c37){return _0x7afdbe(_0x278c37,_0x32fb8e- -0x267);}function _0x3aa1e6(_0x3c9115,_0x32f757){return _0x7afdbe(_0x32f757,_0x3c9115- -_0x13bc63._0x5ec7a3);}this['_color']=getCesiumColor(_0x4eab81),this['_useSingleColor']=!this['_colorHidden']||this[_0x3aa1e6(0x6e3,0xb80)]['equals'](this[_0x5072a3(0x94e,_0x45678a._0x1cb60b)]);}get['colorHidden'](){const _0x24e5d8={_0x207177:0x13e};function _0x5f0314(_0x4ed8a5,_0x4547be){return _0x7afdbe(_0x4547be,_0x4ed8a5- -_0x24e5d8._0x207177);}return Cesium__namespace['defined'](this['_colorHidden'])?this[_0x5f0314(0xa77,0xd9a)]:this['_color'];}set[_0x54a7f1(0x32d,0xf3)](_0x18a625){const _0x577437={_0x47bb8c:0x9d1,_0x3bd6de:0x4a9,_0x36ee22:0xb3e},_0x5069bd={_0x2ae18b:0x4a},_0x1656c2={_0x228bde:0x5d5};this['_colorHidden']=getCesiumColor(_0x18a625);function _0x3fa765(_0xf0a053,_0x3965c7){return _0x7afdbe(_0xf0a053,_0x3965c7- -_0x1656c2._0x228bde);}function _0x98d850(_0x3f4cca,_0x22d4e9){return _0x54a7f1(_0x3f4cca-_0x5069bd._0x2ae18b,_0x22d4e9);}this['_useSingleColor']=!this[_0x98d850(_0x577437._0x47bb8c,_0x577437._0x3bd6de)]||this[_0x3fa765(0xe20,0x648)][_0x3fa765(0x7a6,_0x577437._0x36ee22)](this['_colorHidden']);}get[_0x7afdbe(0x1dc3,0x14ab)](){const _0xfbb64b={_0x4262a3:0xefa,_0x30cd42:0x7f4};function _0x436e5b(_0x564f5c,_0x1c4442){return _0x7afdbe(_0x1c4442,_0x564f5c- -0x5b1);}function _0x1ba8e5(_0x3670b5,_0x545b7e){return _0x7afdbe(_0x3670b5,_0x545b7e- -0x522);}return this[_0x436e5b(0x52d,-0x4c8)][_0x436e5b(_0xfbb64b._0x4262a3,_0xfbb64b._0x30cd42)];}set[_0x7afdbe(0x106b,0x14ab)](_0x3996df){const _0xec2b49={_0x13a266:0x1d6},_0x156f2e={_0x220a57:0x2f6};function _0x7496f(_0x4a3a81,_0x6682a2){return _0x7afdbe(_0x4a3a81,_0x6682a2- -_0x156f2e._0x220a57);}this[_0x7496f(_0xec2b49._0x13a266,0x7e8)]['showPlane']=_0x3996df;}get['planeAngle'](){const _0x3c4a58={_0x25f546:0x3d9};function _0x464187(_0x3cabe4,_0x437f36){return _0x54a7f1(_0x437f36- -_0x3c4a58._0x25f546,_0x3cabe4);}return this[_0x464187(0x5d8,0xf1f)];}set['planeAngle'](_0x4ec1b2){const _0x161689={_0xea0cab:0x13c5,_0x45656a:0x9a5,_0x2c6990:0x1379},_0x579912={_0x11e4b1:0x161};this[_0x504737(0x177b,_0x161689._0xea0cab)]=_0x4ec1b2;function _0x504737(_0x27caa7,_0x442a8d){return _0x7afdbe(_0x27caa7,_0x442a8d- -_0x579912._0x11e4b1);}function _0xe3b026(_0xa230ab,_0x5e08c2){return _0x54a7f1(_0x5e08c2- -0x2c0,_0xa230ab);}this['_planeAngleRadians']=Cesium__namespace[_0x504737(_0x161689._0x45656a,_0x161689._0x2c6990)]['toRadians'](_0x4ec1b2);}get['glow'](){const _0x3cd45e={_0x124251:0x1e8},_0x1f7058={_0x45abff:0x1dc};function _0x16c15f(_0x51c99f,_0x409428){return _0x54a7f1(_0x51c99f- -_0x1f7058._0x45abff,_0x409428);}return this['options'][_0x16c15f(0x87e,-_0x3cd45e._0x124251)];}set[_0x54a7f1(0xa5a,0x131c)](_0x16f9a3){this['options']['glow']=_0x16f9a3;}get['glowPower'](){const _0x5ab3ae={_0x5d7f6c:0xf97,_0x24bf4b:0x544};function _0x2617f9(_0x27b9f1,_0x2dd127){return _0x7afdbe(_0x27b9f1,_0x2dd127- -0xdf);}function _0x4d73e0(_0x2bbfa5,_0x26a363){return _0x54a7f1(_0x2bbfa5-0xc7,_0x26a363);}return this[_0x2617f9(0xb2b,0x9ff)][_0x2617f9(_0x5ab3ae._0x5d7f6c,_0x5ab3ae._0x24bf4b)];}set['glowPower'](_0x2dd630){this['options']['glowPower']=_0x2dd630;}get[_0x7afdbe(0x1051,0x89f)](){const _0x494782={_0x22c371:0x7d7},_0x1e76dc={_0x32e5d0:0x4bb};function _0x380c5e(_0x219584,_0x415072){return _0x7afdbe(_0x219584,_0x415072- -_0x1e76dc._0x32e5d0);}return this[_0x380c5e(_0x494782._0x22c371,0x623)]['glowStrength'];}set['glowStrength'](_0x194fa2){const _0x2460a4={_0x1a003c:0xe85},_0x142dc8={_0x352c4c:0x8d};function _0x81918(_0x56bbd4,_0x454a63){return _0x54a7f1(_0x56bbd4-_0x142dc8._0x352c4c,_0x454a63);}this['options'][_0x81918(0x6fe,_0x2460a4._0x1a003c)]=_0x194fa2;}['_enabledHook'](_0x51ebfb){const _0x6b1a15={_0x2566d4:0xa18},_0x164e03={_0x4a26c1:0x2e6};function _0xce4e1f(_0x2e754d,_0x2a4cbf){return _0x7afdbe(_0x2e754d,_0x2a4cbf- -_0x164e03._0x4a26c1);}function _0x5ae732(_0x14aa3a,_0x5bd77f){return _0x54a7f1(_0x5bd77f- -0x2fa,_0x14aa3a);}this[_0xce4e1f(0x133d,_0x6b1a15._0x2566d4)]&&(this[_0xce4e1f(0x62b,0xa18)]['enabled']=_0x51ebfb&&this['selected']['length']>0x0);}[_0x7afdbe(0x11f6,0x1985)](_0x31b3c1,_0x468c41){const _0x16e4aa={_0x21ff68:0x3dd,_0x2feaa2:0xd53,_0x5bf319:0x8f,_0x187a6d:0x806,_0x2455ed:0x327};this['eventType']=_0x31b3c1[_0x374dc6(_0x16e4aa._0x21ff68,_0x16e4aa._0x2feaa2)]??EventType['click'],this['width']=_0x31b3c1[_0x5de50a(0xaa1,0x1303)]??0x6,this[_0x5de50a(0xf52,0xfbe)]=getCesiumColor(_0x31b3c1['color'],Cesium__namespace['Color']['WHITE']),this[_0x5de50a(0x4d,0xd9)]=_0x31b3c1['colorHidden'],this['showPlane']=_0x31b3c1['showPlane']??![];function _0x5de50a(_0x3fa64b,_0x5df098){return _0x54a7f1(_0x5df098- -0x254,_0x3fa64b);}this['planeAngle']=_0x31b3c1['planeAngle']??0xa,this[_0x5de50a(-_0x16e4aa._0x5bf319,_0x16e4aa._0x187a6d)]=_0x31b3c1['glow']??![];function _0x374dc6(_0x3f17d7,_0x4b0677){return _0x7afdbe(_0x3f17d7,_0x4b0677- -0x710);}this['glowPower']=_0x31b3c1['glowPower']??0x1,this['glowStrength']=_0x31b3c1['glowStrength']??0x3,this[_0x5de50a(-_0x16e4aa._0x2455ed,0x5b8)]=_0x31b3c1['onlySelected']??![];}['_mountedHook'](){const _0x4e4f7b={_0x219997:0x1724,_0x30d743:0xb1d,_0x444da0:0xfcc,_0x14a902:0xe82,_0x2c3c88:0x15b9,_0x426787:0x523,_0x4216d3:0x122c,_0x2b9141:0x12dd,_0x5463c8:0x1076,_0x16a1cd:0xddd,_0x107bd4:0x7eb,_0x2cb7fc:0x6b7,_0x25f9dc:0x61f,_0x389c18:0x50f,_0x4efd9d:0x659},_0x15a8ae={_0x168629:0xe35,_0x3293b8:0x17dd,_0x19328f:0x619,_0x5dca56:0xe35,_0x173982:0xca8,_0x75d88c:0xde0,_0xc35b58:0x1331,_0x18952b:0xdd5},_0x1b8c15={_0x22fa3d:0x8ff},_0x35bf34={_0x2c999d:0x1615},_0x548179={_0x3369ea:0x6b7},_0x33b092={_0x3f495f:0x120},_0x49bf74={_0x34d98b:0x1657},_0x2a950d={_0x16b7df:0xce8,_0x123999:0x1333},_0x5519ae={_0x200654:0x285},_0x77cc30=this['name']||this['type']||'',_0x50f0bf=new CesiumRenderPass({'name':_0x77cc30+'Pass','vertexShader':_0x5039c2(_0x4e4f7b._0x219997,0x1b4c),'fragmentShader':_0x5039c2(_0x4e4f7b._0x30d743,_0x4e4f7b._0x444da0),'sampler':new Cesium__namespace[(_0x5039c2(_0x4e4f7b._0x14a902,_0x4e4f7b._0x2c3c88))]({'minificationFilter':Cesium__namespace['TextureMinificationFilter']['LINEAR'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter'][_0x5039c2(_0x4e4f7b._0x426787,-0x330)]})}),_0x28c7c8={};function _0x4c7b48(_0x3a5fc1,_0x18fc91){return _0x54a7f1(_0x3a5fc1- -0x477,_0x18fc91);}_0x28c7c8['outlineWidth']=()=>{function _0x3d2db9(_0xc25eb7,_0x55593c){return _0x5039c2(_0x55593c- -_0x5519ae._0x200654,_0xc25eb7);}return this[_0x3d2db9(_0x2a950d._0x16b7df,_0x2a950d._0x123999)];},_0x28c7c8[_0x5039c2(0x502,0x359)]=devicePixelRatio,_0x28c7c8['thresholdAngle']=()=>{return this['_planeAngleRadians'];},_0x28c7c8['useSingleColor']=()=>{return this['_useSingleColor'];},_0x28c7c8['showOutlineOnly']=()=>{return!this['showPlane'];},_0x28c7c8['visibleEdgeColor']=()=>{function _0x582ef1(_0x2d2f53,_0x35b035){return _0x4c7b48(_0x35b035-0x114,_0x2d2f53);}return this[_0x582ef1(_0x49bf74._0x34d98b,0xeaf)];},_0x28c7c8[_0x4c7b48(0xa88,0x520)]=()=>{return this['colorHidden'];},_0x28c7c8['maskTexture']=()=>{return _0x50f0bf['texture'];},_0x28c7c8['maskDepthTexture']=()=>{return _0x50f0bf['depthTexture'];};const _0x824019={};_0x824019['name']=_0x77cc30+'Mask',_0x824019['uniforms']=_0x28c7c8,_0x824019['fragmentShader']='\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20uniform\x20vec2\x20colorTextureDimensions;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20depthTexture;\x0a\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20maskTexture;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20maskDepthTexture;\x0a\x20\x20\x20\x20uniform\x20float\x20thresholdAngle;\x0a\x20\x20\x20\x20uniform\x20bool\x20showOutlineOnly;\x0a\x0a\x20\x20\x20\x20uniform\x20float\x20outlineWidth;\x0a\x20\x20\x20\x20uniform\x20float\x20devicePixelRatio;\x0a\x20\x20\x20\x20uniform\x20vec3\x20visibleEdgeColor;\x0a\x20\x20\x20\x20uniform\x20vec3\x20hiddenEdgeColor;\x0a\x20\x20\x20\x20uniform\x20bool\x20useSingleColor;\x0a\x0a\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x0a\x20\x20\x20\x20float\x20lengthSq(vec3\x20v){\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20v.x\x20*\x20v.x\x20+\x20v.y\x20*\x20v.y\x20+\x20v.z\x20*\x20v.z;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20float\x20normal_angleTo(vec3\x20a,vec3\x20b){\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20denominator\x20=\x20\x20sqrt(\x20\x20lengthSq(a)\x20*\x20lengthSq(b)\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x20denominator\x20==\x200.\x20)\x20return\x20czm_pi\x20/\x202.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20theta\x20=\x20dot(a,\x20b\x20)\x20/\x20denominator;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20clamp,\x20to\x20handle\x20numerical\x20problems\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20acos(\x20\x20clamp(\x20theta,\x20-\x201.,\x201.\x20)\x20);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20compareNormal(vec4\x20n1,vec4\x20n2){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(\x20\x20abs\x20(\x20\x20normal_angleTo(\x20n1.xyz\x20,\x20n2.xyz\x20)\x20)\x20<\x20thresholdAngle\x20){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x201.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20compareDepth(const\x20in\x20vec2\x20uv){\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20maskDepth\x20=\x20czm_readDepth(\x20maskDepthTexture,\x20uv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20nonDepth\x20=\x20czm_readDepth(\x20depthTexture,\x20uv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20maskDepth>nonDepth?1.:0.;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20void\x20main(){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20vUv=v_textureCoordinates;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20vec4\x20color\x20=\x20texture(\x20colorTexture,\x20vUv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20maskColor\x20=\x20texture(\x20maskTexture,\x20vUv);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(\x20maskColor.a\x20<\x200.0001){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20out_FragColor\x20=color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20invSize\x20=\x20outlineWidth\x20/\x20colorTextureDimensions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20uvOffset\x20=\x20vec4(1.0,\x200.0,\x200.0,\x201.0)\x20*\x20vec4(invSize,\x20invSize);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c1\x20=\x20texture(\x20maskTexture,\x20vUv\x20+\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c2\x20=\x20texture(\x20maskTexture,\x20vUv\x20-\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c3\x20=\x20texture(\x20maskTexture,\x20vUv\x20+\x20uvOffset.yw);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c4\x20=\x20texture(\x20maskTexture,\x20vUv\x20-\x20uvOffset.yw);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20d;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(showOutlineOnly){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff1\x20=\x20(c1.a\x20-\x20c2.a)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff2\x20=\x20(c3.a\x20-\x20c4.a)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d\x20=\x20length(\x20vec2(diff1,\x20diff2)\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff1\x20=\x20compareNormal(c1,c2)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff2\x20=\x20compareNormal(c3,c4)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d\x20=\x20length(\x20vec2(diff1,\x20diff2)\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(useSingleColor==false){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp1\x20=\x20compareDepth(\x20vUv\x20+\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp2\x20=\x20compareDepth(\x20vUv\x20-\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp3\x20=\x20compareDepth(\x20vUv\x20+\x20uvOffset.yw);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp4\x20=\x20compareDepth(\x20vUv\x20-\x20uvOffset.yw);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20a1\x20=\x20min(dp1,\x20dp2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20a2\x20=\x20min(dp3,\x20dp4);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20visibilityFactor\x20=\x20min(a1,\x20a2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20edgeColor\x20=\x201.0\x20-\x20visibilityFactor\x20>\x200.001\x20?\x20visibleEdgeColor\x20:\x20hiddenEdgeColor;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20out_FragColor\x20=color+\x20vec4(\x20edgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(\x20edgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20out_FragColor\x20=color+\x20vec4(\x20visibleEdgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20\x20vec4(\x20visibleEdgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20';const _0x3812cb=new Cesium__namespace['PostProcessStage'](_0x824019);_0x50f0bf['stage']=_0x3812cb;const _0x58f228=createBlurStage(_0x77cc30+'Blur1',0x4,0x1,0.75),_0x59d496=createBlurStage(_0x77cc30+'Blur2',0x4,0x4,0.5),_0x1a4568={};_0x1a4568['name']=_0x77cc30+'BlurComposite',_0x1a4568['stages']=[_0x3812cb,_0x58f228,_0x59d496],_0x1a4568['inputPreviousStageTexture']=!![];const _0x103e02=new Cesium__namespace[(_0x4c7b48(0x147,-0x699))](_0x1a4568),_0x22e893={};_0x22e893['showGlow']=()=>{return this['glow'];};function _0x5039c2(_0x44bfc8,_0x19eb54){return _0x54a7f1(_0x44bfc8-0x61,_0x19eb54);}_0x22e893['edgeGlow']=()=>{function _0x51fc1b(_0x336e77,_0x3e8d3a){return _0x4c7b48(_0x3e8d3a-0x1a2,_0x336e77);}return this[_0x51fc1b(-0x2e,_0x33b092._0x3f495f)];},_0x22e893['edgeStrength']=()=>{return this['glowStrength'];},_0x22e893['edgeOnly']=()=>{return this['onlySelected'];},_0x22e893[_0x4c7b48(0xed4,0x18e5)]=()=>{return _0x50f0bf['texture'];},_0x22e893['lineTexture']=_0x3812cb['name'],_0x22e893['edgeTexture1']=_0x58f228[_0x5039c2(0x12dd,_0x4e4f7b._0x4216d3)],_0x22e893[_0x4c7b48(0x708,0x1fe)]=_0x103e02[_0x5039c2(_0x4e4f7b._0x2b9141,0x193f)];const _0x163976={};_0x163976['name']=_0x77cc30+_0x5039c2(0xfef,0x15d5),_0x163976[_0x4c7b48(_0x4e4f7b._0x5463c8,_0x4e4f7b._0x16a1cd)]=_0x22e893,_0x163976['fragmentShader']='\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20edgeTexture1;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20edgeTexture2;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20lineTexture;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20maskTexture;\x0a\x20\x20\x20\x20uniform\x20bool\x20showGlow;\x0a\x20\x20\x20\x20uniform\x20float\x20edgeGlow;\x0a\x20\x20\x20\x20uniform\x20bool\x20edgeOnly;\x0a\x20\x20\x20\x20uniform\x20float\x20edgeStrength;\x0a\x0a\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20void\x20main(){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20vUv\x20=v_textureCoordinates;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20edgeColor=texture(\x20lineTexture,\x20vUv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color=texture(\x20colorTexture,\x20vUv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20opacity=1.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(edgeOnly){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20maskColor=texture(\x20maskTexture,\x20vUv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity=1.-maskColor.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20maskColor;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(showGlow){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20edgeValue1\x20=\x20texture(edgeTexture1,\x20vUv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20edgeValue2\x20=\x20texture(edgeTexture2,\x20vUv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20glowColor\x20=\x20edgeValue1\x20+\x20edgeValue2\x20*\x20edgeGlow;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20opacity\x20*\x20color\x20+\x20edgeColor\x20+\x20edgeStrength\x20*\x20(1.\x20-\x20edgeColor.r)\x20*\x20glowColor;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20opacity\x20*\x20color\x20+\x20edgeColor;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20';const _0x448fd5=new Cesium__namespace['PostProcessStage'](_0x163976),_0x53fd93={};_0x53fd93['name']=_0x77cc30+_0x4c7b48(_0x4e4f7b._0x107bd4,_0x4e4f7b._0x2cb7fc),_0x53fd93[_0x5039c2(0x350,-0x698)]=[_0x103e02,_0x448fd5],_0x53fd93['inputPreviousStageTexture']=![];const _0x44abbf=new Cesium__namespace[(_0x5039c2(_0x4e4f7b._0x25f9dc,_0x4e4f7b._0x389c18))](_0x53fd93),_0x466036=this;function _0x1c7368(_0x2fcd6c){const _0x326902={_0x51017a:0xd7f},_0x57d88a={_0x34077c:0xdca},_0x55a9de={};_0x55a9de['get']=function(){function _0x5a63c3(_0x42624d,_0x241f49){return _0x536c(_0x42624d- -0x27c,_0x241f49);}return _0x466036[_0x5a63c3(_0x548179._0x3369ea,0x7d4)];},_0x55a9de[_0x1597ab(0xc87,0x1f2)]=function(_0x5e2ef9){_0x466036['glow']=_0x5e2ef9;};const _0x4c3c7d={};function _0x25ec9f(_0x369631,_0x43dc6b){return _0x4c7b48(_0x369631-0x4a6,_0x43dc6b);}_0x4c3c7d['get']=function(){const _0xeb06db={_0x13e655:0x1d3};function _0x359516(_0x2564e9,_0x3e0605){return _0x1597ab(_0x2564e9-_0xeb06db._0x13e655,_0x3e0605);}return _0x466036[_0x359516(0x49e,0x8c3)];},_0x4c3c7d['set']=function(_0x3f71df){_0x466036['glowPower']=_0x3f71df;};const _0x558afc={};function _0x1597ab(_0x3b527e,_0x2ba1e9){return _0x4c7b48(_0x3b527e-0x34d,_0x2ba1e9);}_0x558afc['get']=function(){return _0x466036['glowStrength'];},_0x558afc['set']=function(_0x26c3c1){_0x466036['glowStrength']=_0x26c3c1;};const _0x5af0ad={};_0x5af0ad[_0x25ec9f(0xe35,0xac0)]=function(){return _0x466036['_planeAngleRadians'];},_0x5af0ad[_0x25ec9f(0xde0,0x1321)]=function(_0x4cf0eb){function _0x107a46(_0x310303,_0x170353){return _0x25ec9f(_0x170353- -0xfd,_0x310303);}_0x466036[_0x107a46(0x10f6,0xeee)]=_0x4cf0eb;};const _0x3332e6={};_0x3332e6[_0x25ec9f(_0x15a8ae._0x168629,0x8d4)]=function(){return!_0x466036['showPlane'];},_0x3332e6[_0x25ec9f(0xde0,_0x15a8ae._0x3293b8)]=function(_0x2d2ac8){_0x466036['showPlane']=!_0x2d2ac8;};const _0x343b5d={};_0x343b5d[_0x25ec9f(0xe35,0xa37)]=function(){return _0x466036['onlySelected'];},_0x343b5d['set']=function(_0x17ad5e){_0x466036['onlySelected']=_0x17ad5e;};const _0x51b38d={};_0x51b38d[_0x25ec9f(0xe35,0x17b2)]=function(){function _0x3fa30a(_0x5aad6a,_0x18ad7d){return _0x25ec9f(_0x18ad7d- -0x1d0,_0x5aad6a);}return _0x466036[_0x3fa30a(0x1078,0xb1a)];};const _0xd5c5ea={};_0xd5c5ea[_0x1597ab(0xcdc,_0x15a8ae._0x19328f)]=function(){function _0x1812da(_0x2b8445,_0x5c2843){return _0x25ec9f(_0x2b8445-0x8f,_0x5c2843);}return _0x466036[_0x1812da(_0x35bf34._0x2c999d,0x18cc)];},_0xd5c5ea['set']=function(_0x2f465e){_0x466036['width']=_0x2f465e;};const _0x439fa3={};_0x439fa3['get']=function(){const _0x93c844={_0xceb2c1:0x345};function _0x367cca(_0x47134f,_0x814761){return _0x1597ab(_0x47134f-_0x93c844._0xceb2c1,_0x814761);}return _0x466036[_0x367cca(0x142d,_0x57d88a._0x34077c)];},_0x439fa3[_0x25ec9f(0xde0,0xe89)]=function(_0x5b06aa){function _0x52a51e(_0x5f1d31,_0x396db6){return _0x25ec9f(_0x396db6- -0x4c2,_0x5f1d31);}_0x466036[_0x52a51e(0xb6b,_0x326902._0x51017a)]=_0x5b06aa;};const _0xc3f743={};_0xc3f743[_0x25ec9f(_0x15a8ae._0x5dca56,_0x15a8ae._0x173982)]=function(){function _0x1c0c36(_0x158e81,_0x433946){return _0x25ec9f(_0x158e81-0xfc,_0x433946);}return _0x466036[_0x1c0c36(0x458,_0x1b8c15._0x22fa3d)];},_0xc3f743[_0x25ec9f(_0x15a8ae._0x75d88c,0x12d6)]=function(_0x27b752){function _0x3b61d7(_0x5ad5a5,_0x4a2f8e){return _0x1597ab(_0x4a2f8e-0x163,_0x5ad5a5);}_0x466036[_0x3b61d7(0x8f5,0x366)]=_0x27b752;};const _0x3db59a={};_0x3db59a['showGlow']=_0x55a9de,_0x3db59a[_0x1597ab(0xa44,_0x15a8ae._0xc35b58)]=_0x4c3c7d,_0x3db59a['edgeStrength']=_0x558afc,_0x3db59a['thresholdAngle']=_0x5af0ad,_0x3db59a['showOutlineOnly']=_0x3332e6,_0x3db59a['edgeOnly']=_0x343b5d,_0x3db59a['useSingleColor']=_0x51b38d,_0x3db59a[_0x1597ab(0x13e5,0x17e3)]=_0xd5c5ea,_0x3db59a['visibleEdgeColor']=_0x439fa3,_0x3db59a[_0x1597ab(_0x15a8ae._0x18952b,0x1705)]=_0xc3f743,Object['defineProperties'](_0x2fcd6c,_0x3db59a);}_0x1c7368(_0x44abbf),_0x44abbf[_0x5039c2(0x1420,0x1336)]=_0x44abbf[_0x4c7b48(0xf48,0xd59)]||{},_0x1c7368(_0x44abbf['_uniforms']),_0x44abbf[_0x5039c2(0xd16,0x12e4)]=[],_0x44abbf['enabled']=![],this[_0x4c7b48(_0x4e4f7b._0x4efd9d,0x842)]=_0x44abbf;}[_0x54a7f1(0x1121,0x18fb)](){const _0x3cbfd2={_0x3d300c:0x2f4};function _0x2060cf(_0x25bb30,_0x56b7a4){return _0x54a7f1(_0x56b7a4- -0x4df,_0x25bb30);}this['eventType']&&this[_0x2060cf(0x945,_0x3cbfd2._0x3d300c)]['on'](this['eventType'],this['_map_clickHandler'],this);}['_removedHook'](){const _0x10adbc={_0x124aa3:0x103e};function _0x47280a(_0x39a220,_0xbe59d6){return _0x54a7f1(_0x39a220- -0x1f7,_0xbe59d6);}this[_0x47280a(_0x10adbc._0x124aa3,0x69b)]&&this['_map']['off'](this['eventType'],this['_map_clickHandler'],this);}[_0x7afdbe(0x1b01,0x197f)](_0x42e582){const _0x56ffd1={_0x4f411d:0xaab,_0x4e7d4d:0x11a3,_0x38ba47:0x486,_0x538587:0x1033,_0x218647:0x8e0,_0x2d2888:0xd63};function _0x2ccd98(_0x2660f9,_0x26ce13){return _0x7afdbe(_0x2660f9,_0x26ce13- -0x10);}const _0xffb2f5=this['options']['objectsToExclude'];if(_0xffb2f5)for(let _0x4b1e61=0x0,_0x455994=_0xffb2f5[_0x2ccd98(_0x56ffd1._0x4f411d,_0x56ffd1._0x4e7d4d)];_0x4b1e61<_0x455994;_0x4b1e61++){const _0x400ea4=_0xffb2f5[_0x4b1e61];if(_0x42e582['graphic']===_0x400ea4||_0x42e582['layer']===_0x400ea4)return;}const _0x11634e=this[_0x14c7c6(0x3bf,-_0x56ffd1._0x38ba47)]['mouseEvent']['getPicked'](_0x42e582);function _0x14c7c6(_0x5b8540,_0x3ccacc){return _0x7afdbe(_0x3ccacc,_0x5b8540- -0x642);}if(!_0x11634e&&this[_0x2ccd98(_0x56ffd1._0x538587,0xace)][_0x14c7c6(_0x56ffd1._0x218647,0x4c1)]===![])return;this[_0x14c7c6(0x8a1,_0x56ffd1._0x2d2888)]=_0x11634e;}}register$1('outline',OutlineEffect);function createBlurStage(_0x37e5cb,_0x38e404,_0x1350fd,_0x3ff48a){const _0x4bbc4c={_0xf9480d:0x115,_0x4b38cc:0xb50,_0x3df10c:0xf77,_0x1c6b65:0x1dc5,_0x4d6d87:0x4f7,_0x1eacb6:0x639},_0x5b217b={_0x2dabb7:0x5db},_0x5cc35e={_0x2f972b:0x141};function _0x4e61fd(_0xe0baee,_0x405b0c){return _0x7afdbe(_0x405b0c,_0xe0baee- -_0x5cc35e._0x2f972b);}function _0x308c56(_0x532bcf,_0x461069){return _0x7afdbe(_0x461069,_0x532bcf- -_0x5b217b._0x2dabb7);}const _0x56537d={};_0x56537d['fragmentShader']=_0x4e61fd(0x1256,0x105e)+_0x38e404+'\x0a\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20uniform\x20vec2\x20colorTextureDimensions;\x0a\x20\x20\x20\x20uniform\x20vec2\x20direction;\x0a\x20\x20\x20\x20uniform\x20float\x20kernelRadius;\x0a\x0a\x20\x20\x20\x20float\x20gaussianPdf(in\x20float\x20x,\x20in\x20float\x20sigma)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x200.39894\x20*\x20exp(\x20-0.5\x20*\x20x\x20*\x20x/(\x20sigma\x20*\x20sigma))/sigma;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20vUv=v_textureCoordinates;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20invSize\x20=\x201.0\x20/\x20colorTextureDimensions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20weightSum\x20=\x20gaussianPdf(0.0,\x20kernelRadius);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20diffuseSum\x20=\x20texture(\x20colorTexture,\x20vUv)\x20*\x20weightSum;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20delta\x20=\x20direction\x20*\x20invSize\x20*\x20kernelRadius/float(MAX_RADIUS);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uvOffset\x20=\x20delta;\x0a\x20\x20\x20\x20\x20\x20\x20\x20for(\x20int\x20i\x20=\x201;\x20i\x20<=\x20MAX_RADIUS;\x20i\x20++\x20)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20w\x20=\x20gaussianPdf(uvOffset.x,\x20kernelRadius);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20sample1\x20=\x20texture(\x20colorTexture,\x20vUv\x20+\x20uvOffset);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20sample2\x20=\x20texture(\x20colorTexture,\x20vUv\x20-\x20uvOffset);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20diffuseSum\x20+=\x20((sample1\x20+\x20sample2)\x20*\x20w);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20weightSum\x20+=\x20(2.0\x20*\x20w);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uvOffset\x20+=\x20delta;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20diffuseSum/weightSum;\x0a\x20\x20\x20\x20}';const _0x4f6099=_0x56537d,_0x366f42=new Cesium__namespace[(_0x308c56(0x13de,0x1ace))]({'name':_0x37e5cb+'_x_direction','fragmentShader':_0x4f6099['fragmentShader'],'textureScale':_0x3ff48a,'forcePowerOfTwo':!![],'uniforms':{'kernelRadius':_0x1350fd,'direction':new Cesium__namespace['Cartesian2'](0x1,0x0)},'sampleMode':Cesium__namespace['PostProcessStageSampleMode'][_0x308c56(_0x4bbc4c._0xf9480d,0x185)]}),_0x1862b5=new Cesium__namespace[(_0x308c56(0x13de,_0x4bbc4c._0x4b38cc))]({'name':_0x37e5cb+_0x308c56(_0x4bbc4c._0x3df10c,0xf00),'fragmentShader':_0x4f6099['fragmentShader'],'textureScale':_0x3ff48a,'forcePowerOfTwo':!![],'uniforms':{'kernelRadius':_0x1350fd,'direction':new Cesium__namespace[(_0x4e61fd(0x17f1,_0x4bbc4c._0x1c6b65))](0x0,0x1)},'sampleMode':Cesium__namespace[_0x4e61fd(0x539,_0x4bbc4c._0x4d6d87)]['LINEAR']}),_0x24c8e8={};_0x24c8e8['name']=_0x37e5cb,_0x24c8e8['stages']=[_0x366f42,_0x1862b5],_0x24c8e8['inputPreviousStageTexture']=!![];const _0x2adfee=new Cesium__namespace[(_0x308c56(0x211,-_0x4bbc4c._0x1eacb6))](_0x24c8e8);return _0x2adfee;}class BloomTargetEffect extends BaseEffect{constructor(_0x53677b={}){const _0x26d63e={_0x10efb0:0x1348,_0x1bfe5c:0xdb6,_0x53fa8a:0x6bd},_0xad9523={_0x379f54:0x11b};function _0x47d4c1(_0x24e032,_0x2796ba){return _0x7afdbe(_0x2796ba,_0x24e032- -_0xad9523._0x379f54);}_0x53677b={'contrast':0x80,'brightness':-0.3,'blurSamples':0x20,'delta':0x1,'sigma':3.78,'stepSize':0x5,'ratio':0x2,'threshold':0x0,'smoothWidth':0.01,..._0x53677b},super(_0x53677b),this[_0x36f613(0x1908,0xfc6)]=_0x53677b['color'];function _0x36f613(_0x1ea76d,_0x28c056){return _0x7afdbe(_0x1ea76d,_0x28c056- -0x47a);}this['eventType']=_0x53677b[_0x47d4c1(_0x26d63e._0x10efb0,_0x26d63e._0x1bfe5c)]??EventType[_0x36f613(_0x26d63e._0x53fa8a,0xcbe)];}get[_0x54a7f1(0x1212,0x1990)](){return this['_color'];}set['color'](_0x59a89c){const _0x1d0e3c={_0x372a00:0x502,_0x53eadd:0x592},_0x3eed0e={_0x440a14:0x2fb};function _0x59d658(_0x37e71d,_0x4ae5a0){return _0x54a7f1(_0x4ae5a0- -_0x3eed0e._0x440a14,_0x37e71d);}this['_color']=getCesiumColor(_0x59a89c,Cesium__namespace['Color'][_0x59d658(-_0x1d0e3c._0x372a00,_0x1d0e3c._0x53eadd)]);}get[_0x7afdbe(0x142f,0x16ba)](){const _0x27a34d={_0x39291b:0x9be};function _0x8a9476(_0x22d89e,_0x2c923c){return _0x7afdbe(_0x22d89e,_0x2c923c- -0x120);}return this[_0x8a9476(0x43,_0x27a34d._0x39291b)]['contrast'];}set[_0x54a7f1(0x148c,0x1033)](_0x2c1ebf){this['options']['contrast']=_0x2c1ebf;}get[_0x7afdbe(0x8a0,0x112e)](){return this['options']['brightness'];}set['brightness'](_0x3ff030){this['options']['brightness']=_0x3ff030;}get['blurSamples'](){function _0xa25b98(_0x13d845,_0x7ccb00){return _0x7afdbe(_0x7ccb00,_0x13d845- -0x3a7);}return this[_0xa25b98(0x737,0x35)]['blurSamples'];}set[_0x54a7f1(0x36a,-0x1c3)](_0x43e2d5){this['options']['blurSamples']=_0x43e2d5;}get['delta'](){const _0x483ff6={_0x29098f:0x113b},_0x281f70={_0x2d0f96:0x120};function _0x13e91b(_0x5be75f,_0x1235ba){return _0x7afdbe(_0x1235ba,_0x5be75f- -0x33);}function _0x50ad58(_0x2e6aa4,_0x439e19){return _0x54a7f1(_0x439e19- -_0x281f70._0x2d0f96,_0x2e6aa4);}return this[_0x13e91b(0xaab,0x6f3)][_0x50ad58(0x178c,_0x483ff6._0x29098f)];}set['delta'](_0xdc5260){const _0x13b7a6={_0x1b4036:0x5d2},_0x23f0d7={_0x2a3a85:0x50c};function _0x1eaf5e(_0x5af712,_0xdeb0d4){return _0x7afdbe(_0xdeb0d4,_0x5af712- -_0x23f0d7._0x2a3a85);}function _0x41dc86(_0x3d7ec4,_0x20fdd4){return _0x7afdbe(_0x20fdd4,_0x3d7ec4-0x10);}this[_0x1eaf5e(_0x13b7a6._0x1b4036,-0x57)][_0x1eaf5e(0xf7d,0x137b)]=_0xdc5260;}get[_0x54a7f1(0xb01,0x1565)](){const _0x54ffda={_0x135ca8:0x9c4};function _0x2351d4(_0x40fec0,_0x1693cb){return _0x7afdbe(_0x40fec0,_0x1693cb- -0x36b);}return this['options'][_0x2351d4(0x69,_0x54ffda._0x135ca8)];}set[_0x54a7f1(0xb01,0xfb6)](_0x5c8360){function _0x92b6f0(_0x5bf410,_0x231c91){return _0x7afdbe(_0x5bf410,_0x231c91- -0x4fb);}function _0x1d7ba8(_0x58582d,_0xdf8f30){return _0x54a7f1(_0xdf8f30- -0x1a2,_0x58582d);}this[_0x92b6f0(0x570,0x5e3)][_0x92b6f0(0x7ae,0x834)]=_0x5c8360;}get['stepSize'](){return this['options']['stepSize'];}set[_0x7afdbe(0x593,0xc11)](_0x213187){const _0x7d320a={_0x55fcf7:0x2e1};function _0x137759(_0x29535c,_0xd58269){return _0x54a7f1(_0xd58269- -_0x7d320a._0x55fcf7,_0x29535c);}this[_0x137759(0x6c8,0x5cf)]['stepSize']=_0x213187;}get['ratio'](){return this['options']['ratio'];}set[_0x7afdbe(0x1b6d,0x1191)](_0x2fe543){const _0x20c3ad={_0x14694f:0x1e1};function _0x1d9c01(_0x21cca7,_0x3f9121){return _0x54a7f1(_0x21cca7-_0x20c3ad._0x14694f,_0x3f9121);}this[_0x1d9c01(0xa91,0x5e3)]['ratio']=_0x2fe543;}get[_0x7afdbe(0xe83,0xfbe)](){function _0x3b5da2(_0x28328a,_0x2bee00){return _0x7afdbe(_0x2bee00,_0x28328a-0x7d);}function _0xc6ddb1(_0x34542f,_0x23404b){return _0x54a7f1(_0x34542f-0x5a,_0x23404b);}return this[_0x3b5da2(0xb5b,0xd0f)][_0xc6ddb1(0xdea,0x1577)];}set[_0x7afdbe(0xda6,0xfbe)](_0x41e7b5){const _0x5d5b8a={_0x5d59ac:0xcf8,_0x95b260:0xdd0},_0x35a729={_0x2421e6:0x238};function _0xb6e08e(_0x999ef1,_0x2cbb91){return _0x7afdbe(_0x2cbb91,_0x999ef1- -0x1ee);}function _0x393b85(_0x11d996,_0x3a5aa3){return _0x54a7f1(_0x11d996- -_0x35a729._0x2421e6,_0x3a5aa3);}this[_0x393b85(0x678,_0x5d5b8a._0x5d59ac)][_0xb6e08e(_0x5d5b8a._0x95b260,0x719)]=_0x41e7b5;}get['smoothWidth'](){const _0x1bfaba={_0x13415b:0x7ea,_0x2bbdc9:0xfa0},_0x460b46={_0x2afada:0xc6};function _0x274f95(_0x4b36e6,_0x2aad8b){return _0x54a7f1(_0x4b36e6- -_0x460b46._0x2afada,_0x2aad8b);}return this[_0x274f95(_0x1bfaba._0x13415b,_0x1bfaba._0x2bbdc9)]['smoothWidth'];}set[_0x54a7f1(0xcbe,0x545)](_0x5222c1){this['options']['smoothWidth']=_0x5222c1;}get[_0x7afdbe(0x92b,0xee3)](){var _0x10ce2e;return(_0x10ce2e=this['_postProcessStage'])===null||_0x10ce2e===void 0x0?void 0x0:_0x10ce2e['selected'];}set[_0x54a7f1(0xcb5,0xf20)](_0x439273){const _0x45e5d1={_0x29d25b:0x14bf,_0x370af8:0x6b2,_0x30bf1:0x258,_0x4f99e4:0x5bf,_0xbb0e59:0x785};function _0x3f5483(_0x2985cd,_0x3a77cb){return _0x54a7f1(_0x3a77cb- -0x41e,_0x2985cd);}function _0x245681(_0x5892af,_0x238fc3){return _0x7afdbe(_0x5892af,_0x238fc3- -0x60);}let _0xe8fb00=[];_0x439273&&(!Array['isArray'](_0x439273)?_0xe8fb00=this[_0x245681(0x1bb5,0x14bf)]([_0x439273]):_0xe8fb00=this[_0x245681(0x13f6,_0x45e5d1._0x29d25b)](_0x439273)),this[_0x3f5483(0xad8,_0x45e5d1._0x370af8)]&&(this[_0x3f5483(_0x45e5d1._0x30bf1,0x6b2)][_0x245681(0x52b,0xe83)]=_0xe8fb00,this[_0x3f5483(_0x45e5d1._0x4f99e4,_0x45e5d1._0x370af8)][_0x3f5483(0xc20,_0x45e5d1._0xbb0e59)]=this['enabled']&&this['selected']['length']>0x0);}['_enabledHook'](_0x5b519f){const _0x111bf6={_0x501b0a:0xca5},_0x285ca6={_0x3c2b6e:0x1a};function _0x2c56c9(_0x1a6b7e,_0x3eb5ef){return _0x7afdbe(_0x1a6b7e,_0x3eb5ef-_0x285ca6._0x3c2b6e);}function _0x12743b(_0x24487c,_0x3ebf8e){return _0x7afdbe(_0x3ebf8e,_0x24487c- -0x1e6);}this['_postProcessStage']&&(this['_postProcessStage'][_0x12743b(0xbeb,0x1f9)]=_0x5b519f&&this['selected'][_0x12743b(0xfcd,_0x111bf6._0x501b0a)]>0x0);}['_mountedHook'](){const _0x1231dc={_0x2533f9:0xa5b,_0x3d8d70:0x1456,_0xcee77f:0xde3,_0x4d0481:0x289,_0x43fd10:0x10ff,_0xfd241b:0x14ed,_0x4106ef:0x38,_0x49531e:0x222,_0xbf9bae:0x6a6,_0x5558de:0x145a,_0x280797:0x1370,_0x2fa02b:0xf47,_0xcf04ec:0x14e3,_0x9d7e03:0x1a1d,_0x475c72:0x1370,_0x145820:0xf2b,_0x9889c8:0xde6,_0x5aa52c:0x17d3,_0x523c7f:0x892,_0x3e3431:0x441,_0x32de9b:0x12e6},_0xaf8dc4={_0x1572c0:0xfc9},_0x14d359={_0x3cf1c8:0x53c,_0x4bf0b2:0xe7d},_0x1a59c2={_0xf48350:0x986},_0x5e3acf={};_0x5e3acf[_0xcb0340(0xf47,0x89a)]=this['name']+_0xcb0340(0xc12,0x922),_0x5e3acf['fragmentShader']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20threshold;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20smoothWidth;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20marstexel\x20=\x20texture(\x20colorTexture,\x20v_textureCoordinates\x20);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20CZM_SELECTED_FEATURE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(!czm_selected())\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20marstexel\x20=\x20vec4(0.);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20luma\x20=\x20vec3(\x200.299,\x200.587,\x200.114\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20marsv\x20=\x20dot(\x20marstexel.xyz,\x20luma\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x20smoothstep(threshold,\x20threshold\x20+\x20smoothWidth,\x20marsv);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20outputColor\x20=\x20vec4(0.0,0.0,0.0,0.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20mix(\x20outputColor,\x20marstexel,\x20alpha\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}',_0x5e3acf[_0xcb0340(0x11b8,0x1c03)]={},_0x5e3acf[_0xcb0340(0x11b8,0x1c03)]['smoothWidth']=()=>{function _0xdbe1bc(_0x220d05,_0x3d9b07){return _0x792e61(_0x220d05,_0x3d9b07- -0x1bb);}return this[_0xdbe1bc(0x2ef,_0x1a59c2._0xf48350)];},_0x5e3acf[_0xcb0340(0x11b8,0x1c03)][_0xcb0340(_0x1231dc._0x2533f9,0xb19)]=()=>{return this['threshold'];};const _0x5c015d=new Cesium__namespace['PostProcessStage'](_0x5e3acf),_0x5a44d6='\x0a\x20\x20\x20\x20#define\x20SAMPLES\x20'+this[_0x792e61(0x17f,0x733)][_0x792e61(0x3b6,0x1ed)]+'\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20uniform\x20float\x20direction;\x0a\x0a\x20\x20\x20\x20uniform\x20float\x20delta;\x0a\x20\x20\x20\x20uniform\x20float\x20sigma;\x0a\x20\x20\x20\x20uniform\x20float\x20stepSize;\x0a\x0a\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20void\x20main()\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20vec2\x20st\x20=\x20v_textureCoordinates;\x0a\x20\x20\x20\x20\x20\x20vec2\x20dir\x20=\x20vec2(1.0\x20-\x20direction,\x20direction);\x0a\x20\x20\x20\x20\x20\x20vec2\x20step\x20=\x20vec2(stepSize\x20*\x20(czm_pixelRatio\x20/\x20czm_viewport.zw));\x0a\x0a\x20\x20\x20\x20\x20\x20vec3\x20g;\x0a\x20\x20\x20\x20\x20\x20g.x\x20=\x201.0\x20/\x20(sqrt(czm_twoPi)\x20*\x20sigma);\x0a\x20\x20\x20\x20\x20\x20g.y\x20=\x20exp((-0.5\x20*\x20delta\x20*\x20delta)\x20/\x20(sigma\x20*\x20sigma));\x0a\x20\x20\x20\x20\x20\x20g.z\x20=\x20g.y\x20*\x20g.y;\x0a\x20\x20\x20\x20\x20\x20vec4\x20result\x20=\x20texture(colorTexture,\x20st)\x20*\x20g.x;\x0a\x0a\x20\x20\x20\x20\x20\x20for\x20(float\x20i\x20=\x201.0;\x20i\x20<\x20float(SAMPLES);\x20i+=1.0)\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20g.xy\x20*=\x20g.yz;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20offset\x20=\x20i\x20*\x20dir\x20*\x20step;\x0a\x20\x20\x20\x20\x20\x20\x20\x20result\x20+=\x20texture(colorTexture,\x20st\x20-\x20offset)\x20*\x20g.x;\x0a\x20\x20\x20\x20\x20\x20\x20\x20result\x20+=\x20texture(colorTexture,\x20st\x20+\x20offset)\x20*\x20g.x;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20result;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20',_0x183c56=new Cesium__namespace[(_0xcb0340(_0x1231dc._0x3d8d70,_0x1231dc._0xcee77f))]({'name':this['name']+_0xcb0340(0x794,0x949),'fragmentShader':_0x5a44d6,'uniforms':{'delta':()=>{function _0x97ac46(_0x21ce40,_0x5b05c4){return _0xcb0340(_0x5b05c4- -0xa9,_0x21ce40);}return this[_0x97ac46(_0x14d359._0x3cf1c8,_0x14d359._0x4bf0b2)];},'sigma':()=>{return this['sigma'];},'stepSize':()=>{function _0x18b669(_0x43a449,_0x13d68b){return _0xcb0340(_0x13d68b-0x427,_0x43a449);}return this[_0x18b669(_0xaf8dc4._0x1572c0,0xad5)];},'direction':0x0},'sampleMode':Cesium__namespace['PostProcessStageSampleMode'][_0x792e61(0x7f7,0x345)]}),_0x5d5529=new Cesium__namespace['PostProcessStage']({'name':this[_0x792e61(0x1199,0x10ff)]+'blur_y','fragmentShader':_0x5a44d6,'uniforms':{'delta':()=>{function _0x283e97(_0x5992d5,_0x36795b){return _0x792e61(_0x5992d5,_0x36795b-0x329);}return this[_0x283e97(0xdfb,0x1407)];},'sigma':()=>{return this['sigma'];},'stepSize':()=>{function _0xdd957a(_0x1d375,_0x48e679){return _0x792e61(_0x1d375,_0x48e679- -0x321);}return this[_0xdd957a(0xdd3,0x545)];},'direction':0x1},'sampleMode':Cesium__namespace[_0x792e61(0xc28,0x2cf)]['LINEAR']}),_0x330ad0={};_0x330ad0['name']=this['name']+'blur',_0x330ad0[_0xcb0340(-0x46,0x242)]=[_0x183c56,_0x5d5529];const _0x3d5249=new Cesium__namespace[(_0xcb0340(_0x1231dc._0x4d0481,-0x60c))](_0x330ad0),_0x2dcdf6={};function _0x792e61(_0x2eba01,_0x232881){return _0x54a7f1(_0x232881- -0x17d,_0x2eba01);}_0x2dcdf6[_0xcb0340(0xf47,0x12d3)]=this[_0x792e61(0x1931,_0x1231dc._0x43fd10)]+'_blur_comp',_0x2dcdf6[_0x792e61(0x5e7,0x172)]=[_0x5c015d,_0x3d5249],_0x2dcdf6[_0x792e61(_0x1231dc._0xfd241b,0x15c8)]=!![];const _0x4b731b=new Cesium__namespace[(_0xcb0340(0x289,-_0x1231dc._0x4106ef))](_0x2dcdf6),_0x70120d={};_0x70120d[_0x792e61(0x64c,0x10ff)]=this['name']+_0xcb0340(0x6c2,0xd62),_0x70120d[_0xcb0340(_0x1231dc._0x49531e,_0x1231dc._0xbf9bae)]='\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20contrast;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20brightness;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(void)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20texture1\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20sceneColor\x20=\x20texture1.rgb;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor\x20=\x20czm_RGBToHSB(sceneColor);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor.z\x20+=\x20brightness;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor\x20=\x20czm_HSBToRGB(sceneColor);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20factor\x20=\x20(259.0\x20*\x20(contrast\x20+\x20255.0))\x20/\x20(255.0\x20*\x20(259.0\x20-\x20contrast));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor\x20=\x20factor\x20*\x20(sceneColor\x20-\x20vec3(0.5))\x20+\x20vec3(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(sceneColor,\x20texture1.a);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}',_0x70120d[_0x792e61(_0x1231dc._0x5558de,_0x1231dc._0x280797)]={},_0x70120d[_0x792e61(_0x1231dc._0x5558de,_0x1231dc._0x280797)]['contrast']=()=>{return this['contrast'];},_0x70120d[_0x792e61(_0x1231dc._0x5558de,_0x1231dc._0x280797)]['brightness']=()=>{return this['brightness'];};const _0x4353d9=new Cesium__namespace['PostProcessStage'](_0x70120d),_0x3a0812={};_0x3a0812['name']=this[_0xcb0340(_0x1231dc._0x2fa02b,_0x1231dc._0xcf04ec)]+'contrast_bias_blur',_0x3a0812['stages']=[_0x4353d9,_0x4b731b];const _0x317315=new Cesium__namespace[(_0x792e61(-0x45,0x441))](_0x3a0812),_0x39735={};_0x39735['name']=this['name']+'generate_composite',_0x39735['fragmentShader']=_0xcb0340(0x107f,0x1246),_0x39735[_0x792e61(_0x1231dc._0x9d7e03,_0x1231dc._0x475c72)]={},_0x39735[_0x792e61(_0x1231dc._0x9d7e03,_0x1231dc._0x475c72)][_0x792e61(0xc95,0x10cc)]=_0x317315['name'],_0x39735[_0x792e61(_0x1231dc._0x9d7e03,_0x1231dc._0x475c72)][_0x792e61(_0x1231dc._0x145820,_0x1231dc._0x9889c8)]=()=>{return this['ratio'];};function _0xcb0340(_0x14945b,_0x53b68c){return _0x7afdbe(_0x53b68c,_0x14945b- -0x563);}_0x39735[_0x792e61(_0x1231dc._0x9d7e03,_0x1231dc._0x475c72)][_0xcb0340(0xedd,_0x1231dc._0x5aa52c)]=()=>{return this['color'];};const _0xb2e729=new Cesium__namespace['PostProcessStage'](_0x39735);this['_postProcessStage']=new Cesium__namespace[(_0x792e61(_0x1231dc._0x523c7f,_0x1231dc._0x3e3431))]({'name':this[_0xcb0340(0xf47,0x19d1)],'stages':[_0x317315,_0xb2e729],'inputPreviousStageTexture':![]}),this['_postProcessStage'][_0xcb0340(0x980,_0x1231dc._0x32de9b)]=[];}['_addedHook'](){const _0x572649={_0x49f727:0x10f4,_0x4893d4:0x8ec,_0x43512b:0x2ef,_0x5594a:0x134e},_0x26150a={_0x46a973:0x119};function _0x2f08a1(_0x20f826,_0x138827){return _0x7afdbe(_0x138827,_0x20f826- -0x299);}function _0xea70e8(_0x3952ed,_0x506d61){return _0x54a7f1(_0x3952ed-_0x26150a._0x46a973,_0x506d61);}this[_0x2f08a1(0x11ca,_0x572649._0x49f727)]&&this[_0xea70e8(_0x572649._0x4893d4,_0x572649._0x43512b)]['on'](this[_0xea70e8(_0x572649._0x5594a,0xe3a)],this['_map_clickHandler'],this);}['_removedHook'](){const _0x539702={_0x46d47c:0x1191,_0x2430b0:0x1682};function _0x4dfa39(_0x5786f4,_0x475718){return _0x7afdbe(_0x475718,_0x5786f4- -0x491);}function _0x220bd2(_0x5ae97d,_0x421b45){return _0x7afdbe(_0x5ae97d,_0x421b45- -0x2fd);}this['eventType']&&this['_map']['off'](this[_0x220bd2(0x1bed,0x1166)],this[_0x220bd2(_0x539702._0x46d47c,_0x539702._0x2430b0)],this);}['_map_clickHandler'](_0x43746e){const _0x51fc48={_0x4c1a23:0x765,_0x16c218:0xb4f,_0xe8b10b:0x7d6,_0x20473a:0xce},_0x380d4a={_0x3bdfb0:0x275},_0x363fd3={_0xbfac8e:0x4df},_0x51a8f0=this[_0x32cdf0(0x440,0x869)]['objectsToExclude'];function _0xc5e436(_0x1a57e5,_0x95197d){return _0x54a7f1(_0x1a57e5- -_0x363fd3._0xbfac8e,_0x95197d);}if(_0x51a8f0)for(let _0x5018f5=0x0,_0x2c4048=_0x51a8f0['length'];_0x5018f5<_0x2c4048;_0x5018f5++){const _0x3562ef=_0x51a8f0[_0x5018f5];if(_0x43746e['graphic']===_0x3562ef||_0x43746e['layer']===_0x3562ef)return;}function _0x32cdf0(_0x4bc482,_0x73dea8){return _0x7afdbe(_0x4bc482,_0x73dea8- -_0x380d4a._0x3bdfb0);}const _0xfb6e97=this[_0xc5e436(0x2f4,-_0x51fc48._0x4c1a23)]['mouseEvent'][_0x32cdf0(0xebe,_0x51fc48._0x16c218)](_0x43746e);this[_0xc5e436(_0x51fc48._0xe8b10b,-_0x51fc48._0x20473a)]=_0xfb6e97;}}register$1(_0x7afdbe(0x1677,0x15fb),BloomTargetEffect);var ColorCorrectionShader='uniform\x20sampler2D\x20colorTexture;\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0auniform\x20float\x20u_brightness;\x0auniform\x20float\x20u_contrast;\x0auniform\x20float\x20u_saturation;\x0auniform\x20float\x20u_hue;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20color.rgb\x20=\x20mix(vec3(0.0),\x20color.rgb,\x20u_brightness);\x0a\x20\x20color.rgb\x20=\x20mix(vec3(0.5),\x20color.rgb,\x20u_contrast);\x0a\x20\x20color.rgb\x20=\x20czm_hue(color.rgb,\x20u_hue);\x0a\x20\x20color.rgb\x20=\x20czm_saturation(color.rgb,\x20u_saturation);\x0a\x20\x20out_FragColor\x20=\x20color;\x0a}\x0a';class ColorCorrectionEffect extends BaseEffect{constructor(_0x236256={}){_0x236256={'brightness':0x1,'contrast':0x1,'hue':0x0,'saturation':0x1,..._0x236256},super(_0x236256);}get['brightness'](){const _0x1d6c45={_0x290def:0x2ed};function _0x425f4e(_0x32a8a2,_0x2d1ac3){return _0x7afdbe(_0x2d1ac3,_0x32a8a2- -0x3f8);}return this['options'][_0x425f4e(0xd36,_0x1d6c45._0x290def)];}set['brightness'](_0x1afd01){this['options']['brightness']=_0x1afd01;}get['contrast'](){const _0x5127e4={_0x1a1126:0x113},_0x42d412={_0x328b19:0x301};function _0x14b561(_0x954d18,_0x59ec91){return _0x54a7f1(_0x954d18- -_0x42d412._0x328b19,_0x59ec91);}return this[_0x14b561(0x5af,-_0x5127e4._0x1a1126)]['contrast'];}set['contrast'](_0x48579d){this['options']['contrast']=_0x48579d;}get['hue'](){return this['options']['hue'];}set[_0x54a7f1(0x26e,0x9a8)](_0xa2d2fc){this['options']['hue']=_0xa2d2fc;}get['saturation'](){const _0x1c6b31={_0x542f3a:0x1019,_0x4cc570:0x6f2};function _0x218825(_0x10c015,_0x5bb79b){return _0x54a7f1(_0x5bb79b- -0x1be,_0x10c015);}return this[_0x218825(_0x1c6b31._0x542f3a,_0x1c6b31._0x4cc570)]['saturation'];}set['saturation'](_0x2f67e5){this['options']['saturation']=_0x2f67e5;}['_mountedHook'](){const _0x1c5728={_0x288da9:0x3d};function _0x4f2f74(_0x539ef5,_0x446a1c){return _0x54a7f1(_0x539ef5- -0x427,_0x446a1c);}this[_0x4f2f74(0x6a9,0xd03)]=new Cesium__namespace['PostProcessStage']({'fragmentShader':ColorCorrectionShader,'uniforms':{'u_brightness':()=>{return this['brightness'];},'u_contrast':()=>{return this['contrast'];},'u_hue':()=>{return this['hue'];},'u_saturation':()=>{function _0x2a35c6(_0x12fa89,_0x29fac9){return _0x4f2f74(_0x12fa89-0x10d,_0x29fac9);}return this[_0x2a35c6(-_0x1c5728._0x288da9,0x27a)];}},'enabled':this['enabled']});}}register$1(_0x54a7f1(0x82e,-0x15e),ColorCorrectionEffect);const _0x475240={};_0x475240['__proto__']=null,_0x475240['BaseEffect']=BaseEffect,_0x475240[_0x7afdbe(0xae7,0xb3c)]=FogEffect,_0x475240['RainEffect']=RainEffect,_0x475240[_0x7afdbe(0x1e6c,0x19c3)]=SnowEffect,_0x475240[_0x7afdbe(0xea5,0xd06)]=SnowCoverEffect,_0x475240[_0x7afdbe(0x1795,0x13e4)]=NightVisionEffect,_0x475240[_0x7afdbe(0xa4d,0x89c)]=BloomEffect,_0x475240['BrightnessEffect']=BrightnessEffect,_0x475240['BlackAndWhiteEffect']=BlackAndWhiteEffect,_0x475240['MosaicEffect']=MosaicEffect,_0x475240['DepthOfFieldEffect']=DepthOfFieldEffect,_0x475240['OutlineEffect']=OutlineEffect,_0x475240['BloomTargetEffect']=BloomTargetEffect,_0x475240['ColorCorrectionEffect']=ColorCorrectionEffect;var index$2=_0x475240;class BaseControl extends BaseThing{constructor(_0x1afcac={}){const _0x1dc0c2={_0x246be1:0x39a},_0x121c81={_0x1bf831:0xa7};super(_0x1afcac);function _0x574795(_0x39b446,_0x151e0c){return _0x54a7f1(_0x39b446- -_0x121c81._0x1bf831,_0x151e0c);}this[_0xb7bc0b(0xedc,0x104f)]=_0x1afcac['show']??!![];function _0xb7bc0b(_0x1f348e,_0x31ef59){return _0x54a7f1(_0x1f348e- -_0x1dc0c2._0x246be1,_0x31ef59);}this['_className']=_0x1afcac[_0x574795(0x1505,0x1710)]??'';}get['show'](){const _0x4b106d={_0x277d33:0x13fc,_0x13e1f4:0x146e},_0x298843={_0x53165b:0x1f8};function _0x3de960(_0x11ad55,_0x180f60){return _0x54a7f1(_0x180f60-_0x298843._0x53165b,_0x11ad55);}return this[_0x3de960(_0x4b106d._0x277d33,_0x4b106d._0x13e1f4)];}set['show'](_0x2ae4df){const _0x32aea7={_0x5cd207:0x1359,_0x3d1787:0xa12,_0x4101a5:0x13ca},_0x751310={_0x10db35:0xe3};if(this['_show']===_0x2ae4df)return;this[_0x232aeb(0x1560,_0x32aea7._0x5cd207)]=_0x2ae4df;this['_container']&&(this[_0x3d28a9(_0x32aea7._0x3d1787,0x30b)]['style'][_0x232aeb(0x223a,0x17b5)]=_0x2ae4df?'block':_0x232aeb(0x976,0x111b));function _0x232aeb(_0x4ca535,_0x378558){return _0x54a7f1(_0x378558-_0x751310._0x10db35,_0x4ca535);}this[_0x3d28a9(0x13cd,_0x32aea7._0x4101a5)]&&this['_showHook'](_0x2ae4df);function _0x3d28a9(_0x210a6b,_0x5193c8){return _0x54a7f1(_0x5193c8- -0x380,_0x210a6b);}this['_map']['fire'](EventType['updateControl'],{'control':this});}get['type'](){const _0x3a56b3={_0x3969bc:0x791};function _0x5ed72f(_0x5dafa3,_0x537814){return _0x54a7f1(_0x5dafa3- -0x336,_0x537814);}return this[_0x5ed72f(0x328,-_0x3a56b3._0x3969bc)];}get['container'](){function _0xab9c2f(_0x277a7e,_0x130fc2){return _0x54a7f1(_0x277a7e- -0x3d0,_0x130fc2);}return this[_0xab9c2f(0x2bb,0x11f)];}get[_0x7afdbe(0x1374,0xa2b)](){const _0x6696c={_0x561011:0x533},_0x36b817={_0x1cc8eb:0x4a0},_0x1c4737={_0x4c4c91:0x4f8};var _0x14aabb;function _0x35c6b6(_0x255c50,_0x1cc193){return _0x7afdbe(_0x1cc193,_0x255c50- -_0x1c4737._0x4c4c91);}function _0x3f6a8c(_0x3b8ee4,_0x43df72){return _0x54a7f1(_0x43df72- -_0x36b817._0x1cc8eb,_0x3b8ee4);}if(this[_0x35c6b6(0x5e6,0x559)][_0x35c6b6(_0x6696c._0x561011,0xc41)])return this[_0x35c6b6(0x5e6,0xaeb)][_0x35c6b6(0x533,0x60f)];return(_0x14aabb=this[_0x3f6a8c(0xd05,0x333)])===null||_0x14aabb===void 0x0?void 0x0:_0x14aabb['container'];}get['parentContainerId'](){function _0x569fbd(_0xe501ed,_0x126cf9){return _0x7afdbe(_0xe501ed,_0x126cf9- -0x161);}var _0x373387;return(_0x373387=this[_0x569fbd(0x10cc,0x8ca)])===null||_0x373387===void 0x0?void 0x0:_0x373387['id'];}[_0x54a7f1(0x6ae,-0x338)](_0x3ca7ba){const _0x558cb3={_0x120c0f:0x4dc,_0x59a538:0x1712},_0x5612e7={_0xee5abb:0x321};function _0x557a3e(_0x26ef0f,_0x316640){return _0x7afdbe(_0x316640,_0x26ef0f- -0x1ee);}this['_container']&&(this['_container'][_0x557a3e(_0x558cb3._0x120c0f,0x91e)][_0x557a3e(_0x558cb3._0x59a538,0xcaf)]=_0x3ca7ba?'block':'none');function _0x1fab62(_0x1b4df4,_0x3d5edb){return _0x54a7f1(_0x1b4df4- -_0x5612e7._0xee5abb,_0x3d5edb);}this['isAdded']&&this['_showHook']&&this['_showHook'](_0x3ca7ba);}['setOptions'](_0x2f43e8){const _0x3dcd77={_0x28a11b:0x1b9},_0x4d149f={_0x37ddeb:0x1a5};function _0x1e20cc(_0x4e603f,_0x410eb8){return _0x54a7f1(_0x410eb8- -_0x4d149f._0x37ddeb,_0x4e603f);}if(isBoolean(_0x2f43e8))return;function _0x3feee8(_0x4532e1,_0x2cf9c5){return _0x7afdbe(_0x4532e1,_0x2cf9c5- -0x3f2);}return this[_0x3feee8(_0x3dcd77._0x28a11b,0x6ec)]=merge(this[_0x3feee8(-0x119,0x6ec)],_0x2f43e8),this['reload'](),this;}['reload'](){const _0x20b962={_0xd1e67a:0x1310,_0x442368:0x3eb,_0x3dfe73:0x325,_0xa09662:0x17d};function _0x11c49d(_0x424360,_0x2e9e74){return _0x54a7f1(_0x424360- -0x11,_0x2e9e74);}const _0x41912b=this['_map'];function _0x2185b3(_0x4bf483,_0x483fff){return _0x7afdbe(_0x4bf483,_0x483fff- -0x4ce);}_0x41912b&&(this[_0x11c49d(0x906,0x710)]=!![],this[_0x2185b3(0xbcc,_0x20b962._0xd1e67a)](),delete this[_0x2185b3(0xe46,_0x20b962._0x442368)],this[_0x2185b3(-_0x20b962._0x3dfe73,0x423)](_0x41912b),delete this[_0x11c49d(0x906,-_0x20b962._0xa09662)]);}['addTo'](_0x21ae4a){const _0x257e82={_0x388cae:0xc73},_0x3f3aed={_0x3050d1:0x472};_0x21ae4a&&_0x21ae4a[_0xce48c7(0x9f8,_0x257e82._0x388cae)]&&_0x21ae4a[_0x46b265(0x1168,0xc83)](this);function _0x46b265(_0x4561e9,_0x53644b){return _0x7afdbe(_0x4561e9,_0x53644b- -_0x3f3aed._0x3050d1);}function _0xce48c7(_0x2e809d,_0x52fa4e){return _0x54a7f1(_0x2e809d- -0x4cf,_0x52fa4e);}return this;}[_0x54a7f1(0x78e,0x124b)](_0x57071c){this['_map']&&this['_map']['removeControl'](this,_0x57071c);}['_onAdd'](_0x5e0550){const _0x39e1c5={_0xca7b60:0x4b5,_0x524a94:0x985,_0xf88b50:0x5e1,_0x122a3b:0x3c9,_0x2824d0:0x380,_0x48adf1:0x149},_0x38cab3={_0x3f19f0:0x138};if(this['isAdded']||this['_state']===State[_0xec1635(0x31c,_0x39e1c5._0xca7b60)])return;function _0x1f9fbb(_0x565741,_0x2c0031){return _0x7afdbe(_0x2c0031,_0x565741- -_0x38cab3._0x3f19f0);}this[_0x1f9fbb(0x380,_0x39e1c5._0x524a94)]=State['ADD'];function _0xec1635(_0x1e66a8,_0x472bfa){return _0x7afdbe(_0x472bfa,_0x1e66a8- -0x3b0);}this[_0xec1635(0x651,_0x39e1c5._0xf88b50)]=_0x5e0550,this['_container']?!this['_container']['parentNode']&&this['_addChildContainer'](this['_container']):(this['_mountedHook']&&this['_mountedHook'](),this[_0x1f9fbb(0x781,0xb5)]&&this[_0xec1635(0x585,-0x4c7)](this['_container'])),this['_addedHook']&&this['_addedHook'](),this['_container']&&this['_container']['addEventListener'](_0xec1635(0xd88,0x591),this[_0x1f9fbb(0xe3d,0x717)][_0x1f9fbb(_0x39e1c5._0x122a3b,0x253)](this)),this[_0x1f9fbb(_0x39e1c5._0x2824d0,_0x39e1c5._0x48adf1)]=State['ADDED'];}['_addChildContainer'](_0x2036fc){const _0x27c96c={_0x482064:0xb69,_0x573d51:0x10ce,_0x2441e7:0x119,_0x2cb71d:0x123e,_0x4d4a37:0x110,_0x31f770:0x4e2,_0x2f775b:0x863,_0x6cfee5:0x153c,_0x1da5a4:0x1497},_0x2bdc69={_0x15a59a:0x33e};function _0x3874fc(_0x2c11e9,_0x4b6653){return _0x7afdbe(_0x2c11e9,_0x4b6653- -_0x2bdc69._0x15a59a);}if(this[_0x4b09af(0xb10,_0x27c96c._0x482064)]['insertBefore']){var _0x578732;let _0x55c6d5=this['options'][_0x3874fc(0x1980,_0x27c96c._0x573d51)];if(isString(_0x55c6d5)){const _0xf15834=this[_0x3874fc(0x1ed,0x6ed)][_0x3874fc(-0x1f2,_0x27c96c._0x2441e7)];for(let _0x303bd4=0x0;_0x303bd4<_0xf15834[_0x4b09af(0xa5f,_0x27c96c._0x2cb71d)];_0x303bd4++){const _0x36afa0=_0xf15834[_0x303bd4];_0x36afa0['id']===_0x55c6d5&&(_0x55c6d5=_0x36afa0);}}if((_0x578732=_0x55c6d5)!==null&&_0x578732!==void 0x0&&_0x578732['parentNode']){this[_0x4b09af(0x45e,0xab6)]['insertBefore'](_0x2036fc,_0x55c6d5);return;}}function _0x4b09af(_0x4b6888,_0x1da22d){return _0x54a7f1(_0x1da22d-0x2b9,_0x4b6888);}if(Cesium__namespace['defined'](this['options'][_0x4b09af(0x16c9,0xca4)])){const _0x24d653=this[_0x4b09af(_0x27c96c._0x4d4a37,0xab6)][_0x4b09af(0x2ce,_0x27c96c._0x31f770)];_0x24d653['length']<this['options']['insertIndex']&&(this[_0x3874fc(_0x27c96c._0x2f775b,0x7a0)]['insertIndex']=0x0);const _0x2a61d4=_0x24d653[this[_0x4b09af(0x3b5,0xb69)][_0x3874fc(0xc51,0x8db)]];if(_0x2a61d4!==null&&_0x2a61d4!==void 0x0&&_0x2a61d4[_0x3874fc(0x12a8,_0x27c96c._0x6cfee5)]){this['parentContainer'][_0x4b09af(0x14c9,_0x27c96c._0x1da5a4)](_0x2036fc,_0x2a61d4);return;}}this['parentContainer']['appendChild'](_0x2036fc);}[_0x54a7f1(0x15b0,0x1bab)](){const _0x515248={_0x8bf116:0x440,_0x496b08:0xd74,_0x234d44:0x40a,_0x41b040:0xb4,_0x20df30:0x1565,_0x4fc90e:0x1604,_0x3a51f5:0xefd,_0x201e53:0x183c,_0x2c17ee:0x1802,_0x56cfc3:0x643};if(this[_0x433c4b(_0x515248._0x8bf116,_0x515248._0x496b08)]!==State[_0x205627(0x5eb,0xce0)])return;if(!this['_map'])return;this['_removedBeforeHook']&&this[_0x433c4b(_0x515248._0x234d44,0x8da)]();this[_0x433c4b(0x841,-_0x515248._0x41b040)]&&this['_container'][_0x205627(_0x515248._0x20df30,_0x515248._0x4fc90e)]&&(this['_container']['removeEventListener']('click',this[_0x433c4b(_0x515248._0x3a51f5,_0x515248._0x201e53)]),this['_container'][_0x433c4b(_0x515248._0x2c17ee,0x1210)]['removeChild'](this[_0x205627(0x457,_0x515248._0x56cfc3)]));function _0x205627(_0x354b40,_0x50f5ee){return _0x7afdbe(_0x354b40,_0x50f5ee- -0x276);}this['_removedHook']&&this[_0x205627(0x7a3,0xa07)]();function _0x433c4b(_0x4a4dd6,_0x1bea0a){return _0x7afdbe(_0x1bea0a,_0x4a4dd6- -0x78);}this['_map']=null,this['_state']=State['REMOVED'];}['_mountedHook'](){}['_addedHook'](){}[_0x7afdbe(0x727,0xc7d)](){}['_container_onClickHandler'](_0x345734){const _0x227436={_0x12665d:0xc3c,_0x171ada:0xbc2},_0x5a52b3={_0x4a9aca:0x195};if(!this[_0x3e487e(0xe6b,_0x227436._0x12665d)])return;function _0x49b720(_0x2ffed6,_0x5e196c){return _0x54a7f1(_0x2ffed6- -0xb0,_0x5e196c);}function _0x3e487e(_0x2c20e2,_0x23e381){return _0x7afdbe(_0x2c20e2,_0x23e381- -_0x5a52b3._0x4a9aca);}this['options'][_0x49b720(0xe5a,0xa5c)]&&this[_0x3e487e(_0x227436._0x171ada,0x949)]['click'](_0x345734,this['options']),this[_0x49b720(0xe08,0x184d)](EventType['click'],{...this['options'],'mouseEvent':_0x345734});}['setStyle'](_0x2ba186){const _0x250a99={_0x5d2ee7:0x46e};this['_container']&&merge(this[_0x47d0b2(-_0x250a99._0x5d2ee7,0x26a)]['style'],_0x2ba186);function _0x47d0b2(_0x35b3bd,_0x22a545){return _0x7afdbe(_0x35b3bd,_0x22a545- -0x64f);}return this;}['_getPositionCssText'](_0x1aa7f7){const _0x557c85={_0x49de9a:0xfa3,_0x48f07a:0x138b,_0x3816bf:0xcf9,_0x21c7dc:0xb1a,_0x65072c:0x99c,_0x123ef3:0x698,_0x51a467:0x698},_0x110b15={};if(Cesium__namespace['defined'](this['options']['top'])&&this['options']['top']!=='')_0x110b15['top']=this['options'][_0x572926(0x1905,0x144d)];else{if(Cesium__namespace['defined'](this['options'][_0x159cb4(_0x557c85._0x49de9a,_0x557c85._0x48f07a)])&&this[_0x572926(0x123b,0x781)]['bottom']!==''){_0x110b15['bottom']=this[_0x159cb4(0x5da,0x8ff)]['bottom'];if(_0x110b15['bottom']==='toolbar'){const _0x4300fe=this['_map']['toolbar'];if(_0x4300fe){const _0x38a609=_0x4300fe['offsetHeight']+0x28;_0x110b15[_0x572926(0x1995,0x120d)]=_0x38a609+'px',this[_0x159cb4(0x1f7,0xb79)]=_0x4300fe;}}}}if(Cesium__namespace[_0x159cb4(_0x557c85._0x3816bf,0x16d0)](this['options']['left'])&&this['options'][_0x159cb4(0x10dd,_0x557c85._0x21c7dc)]!=='')_0x110b15['left']=this[_0x572926(-0x12d,0x781)][_0x572926(0x475,_0x557c85._0x65072c)];else Cesium__namespace[_0x572926(0x1b38,0x1552)](this['options'][_0x159cb4(0xac1,0x698)])&&this['options']['right']!==''&&(_0x110b15[_0x159cb4(0xc0,_0x557c85._0x123ef3)]=this['options'][_0x159cb4(0xb5a,_0x557c85._0x51a467)]);let _0x251338='';for(const _0x186228 in _0x110b15){_0x251338+=_0x186228+':\x20'+_0x110b15[_0x186228]+';';}function _0x159cb4(_0xcf9ba7,_0x18bec1){return _0x7afdbe(_0xcf9ba7,_0x18bec1- -0x1df);}function _0x572926(_0x250d22,_0x479fdd){return _0x54a7f1(_0x479fdd- -0x12f,_0x250d22);}return _0x251338||_0x1aa7f7;}['_createIcon'](_0x107cf0,_0x32a324,_0x351237='',_0x24c35a=![]){const _0x3d9918={_0x6f040:0x2bf,_0x3cf7ff:0x6e3,_0x312a4c:0x405,_0x39de34:0xd2b,_0x489b55:0xb83,_0x4f96fe:0x398,_0x51b1b9:0xcec},_0x5e8d39={_0x5b4cdd:0x2f2};if(!_0x107cf0)return'';!_0x32a324&&(_0x32a324=create$4(_0x38f1a1(_0x3d9918._0x6f040,-_0x3d9918._0x3cf7ff)));function _0x38f1a1(_0x3fd9db,_0xe57457){return _0x54a7f1(_0x3fd9db- -_0x5e8d39._0x5b4cdd,_0xe57457);}_0x24c35a&&empty(_0x32a324);function _0x1bf1dd(_0x2bcc68,_0x1f5053){return _0x54a7f1(_0x1f5053- -0x386,_0x2bcc68);}_0x107cf0=trim(_0x107cf0);if(_0x107cf0[_0x38f1a1(_0x3d9918._0x312a4c,0xa7b)](_0x38f1a1(0x130a,_0x3d9918._0x39de34))||_0x107cf0['startsWith']('<svg'))_0x32a324['appendChild'](parseDom(_0x107cf0,!![],_0x351237));else{if(_0x107cf0['startsWith']('data:image')||_0x107cf0[_0x38f1a1(_0x3d9918._0x489b55,0x3fb)](_0x1bf1dd(_0x3d9918._0x4f96fe,0x344))||_0x107cf0['endsWith']('.png')||_0x107cf0['endsWith'](_0x38f1a1(0x6a8,_0x3d9918._0x51b1b9))){const _0x50a227=create$4('img',_0x351237,_0x32a324);_0x50a227[_0x1bf1dd(0x105d,0x5b1)](_0x38f1a1(0x1339,0x12e5),_0x107cf0);}else create$4('i',_0x351237+'\x20'+_0x107cf0,_0x32a324);}return _0x32a324['innerHTML'];}['fire'](_0x3e30dc,_0x553cbb={},_0x13554d){!_0x553cbb['control']&&(_0x553cbb['control']=this);function _0x57a529(_0x5abeb2,_0x5782f5){return _0x54a7f1(_0x5abeb2- -0x44,_0x5782f5);}return super[_0x57a529(0xe74,0x1743)](_0x3e30dc,_0x553cbb,_0x13554d);}['getLangText'](_0x596cb5){function _0x364de7(_0xa02b37,_0x50a9af){return _0x7afdbe(_0xa02b37,_0x50a9af- -0x410);}return this[_0x364de7(0x202,0x5f1)]?this['_map']['getLangText'](_0x596cb5):_0x596cb5;}['_toJsonEx'](_0x385938){const _0x414b03={_0x314e2a:0x1249};function _0x28a2e9(_0x1c49f4,_0xfb027e){return _0x7afdbe(_0xfb027e,_0x1c49f4- -0x714);}this[_0x28a2e9(0x110d,_0x414b03._0x314e2a)]===![]&&(_0x385938['enabled']=![]);}['destroy'](_0x37a4ee){const _0x27aef3={_0xbe783:0xa7f};this[_0x3d3b05(_0x27aef3._0xbe783,0x7db)]=![];function _0x3d3b05(_0x4dba1f,_0x17aebb){return _0x7afdbe(_0x4dba1f,_0x17aebb- -0x5f6);}super['destroy'](_0x37a4ee);}}class BaseCzmControl extends BaseControl{get['viewer'](){const _0x56fa4d={_0x4a479c:0xbb9,_0x269209:0x742},_0x16c0c4={_0x256677:0x91};function _0x4fb4ff(_0x3f33cd,_0x5750cf){return _0x54a7f1(_0x3f33cd-0x132,_0x5750cf);}function _0x26933a(_0x54f769,_0x4ed198){return _0x54a7f1(_0x4ed198- -_0x16c0c4._0x256677,_0x54f769);}return this[_0x26933a(_0x56fa4d._0x4a479c,_0x56fa4d._0x269209)][_0x26933a(0x113b,0x8cd)];}['_mountedHook'](){const _0x17a3b5={_0x59f1c5:0x1a1b,_0x1c0960:0x1d6b,_0x510d30:0x13bb,_0x1b4fb6:0x268},_0x40146c=this['_map'][_0x5ad9df(0x1206,0xae1)][this['_czmControlKey']];function _0x20f68c(_0x3c6129,_0xc2c364){return _0x7afdbe(_0xc2c364,_0x3c6129-0x40);}function _0x5ad9df(_0x31861a,_0x50054d){return _0x7afdbe(_0x31861a,_0x50054d- -0xab);}if(_0x40146c){if(this[_0x5ad9df(0x171a,0x1930)])try{this[_0x20f68c(_0x17a3b5._0x59f1c5,0x1ad1)](_0x40146c[this['_czmContainerKey']]),delete this[_0x5ad9df(_0x17a3b5._0x1c0960,0x1930)];}catch(_0x36e335){}}else this['_container']=this[_0x20f68c(0x9b5,0x992)](),this['options'][_0x5ad9df(0xce4,0x61f)]&&this[_0x20f68c(_0x17a3b5._0x510d30,0x173c)](this['options'][_0x20f68c(0x70a,-_0x17a3b5._0x1b4fb6)]);}[_0x54a7f1(0x1121,0x1879)](){const _0x2bfc84={_0x2b56ea:0x16f,_0x58f418:0x56e,_0x103cdd:0x1311,_0x2918f0:0x14d6,_0x4c17d7:0x10af,_0x214027:0x314,_0xacda03:0xa61},_0x3fb423={_0x5f4445:0x1fa};function _0xbd019c(_0x5e4036,_0x7ef3bd){return _0x7afdbe(_0x5e4036,_0x7ef3bd- -_0x3fb423._0x5f4445);}let _0x2cd080=this['_map']['viewer'][this['_czmControlKey']];!_0x2cd080&&(_0x2cd080=this['_createCzmControl'](this['_container']));function _0x353f78(_0x2dd337,_0x20b84c){return _0x7afdbe(_0x20b84c,_0x2dd337- -0x34b);}this[_0x353f78(_0x2bfc84._0x2b56ea,0x856)]=_0x2cd080,this[_0x353f78(_0x2bfc84._0x58f418,0x118)]=_0x2cd080[this[_0xbd019c(0x11e4,_0x2bfc84._0x103cdd)]],this['_container']['id']=this[_0x353f78(0x719,0x10f)],this['_container'][_0x353f78(0x37f,0x180)]['display']=this[_0x353f78(_0x2bfc84._0x2918f0,_0x2bfc84._0x4c17d7)]&&this['enabled']?'block':'none',this['_updateLangText']&&this['_updateLangText'](),this['options']['insertIndex']&&this[_0x353f78(_0x2bfc84._0x214027,0x8c9)](this['options'][_0x353f78(0x8ce,_0x2bfc84._0xacda03)]);}[_0x7afdbe(-0x15b,0x482)](){const _0x538060={_0x30b720:0x686,_0x231f4a:0x4a7,_0x305543:0x299};function _0x22db51(_0x5a45b0,_0x5e0ad3){return _0x7afdbe(_0x5a45b0,_0x5e0ad3- -0x221);}function _0x52ef4a(_0x3ead7a,_0x2c96a5){return _0x7afdbe(_0x2c96a5,_0x3ead7a- -0x6e4);}if(this[_0x22db51(0x9bb,0x8bd)]['destroyCzm']??!![]){try{this['_czmContrl'][_0x22db51(-_0x538060._0x30b720,0x43f)]();}catch(_0x44e45a){}delete this['_map']['viewer'][this['_czmControlKey']],delete this[_0x22db51(-_0x538060._0x231f4a,_0x538060._0x305543)];}else this['_container']['style']['display']='none';}[_0x7afdbe(0x49e,0x65f)](_0x33a529=0x0){const _0xecc8db={_0x3f769b:0x92c,_0x22a494:0xb4d,_0x155bf4:0x3db},_0x483a6f={_0x2f1fd2:0x438},_0x413ad5=this[_0x1f35ab(_0xecc8db._0x3f769b,0x39d)]['childNodes'];_0x413ad5[_0x482b02(_0xecc8db._0x22a494,0x1210)]<_0x33a529&&(_0x33a529=0x0);function _0x1f35ab(_0x78d9dd,_0x502088){return _0x54a7f1(_0x78d9dd-0x12f,_0x502088);}function _0x482b02(_0x5d5da9,_0x5ef72a){return _0x54a7f1(_0x5d5da9- -_0x483a6f._0x2f1fd2,_0x5ef72a);}this[_0x482b02(0x3c5,0x935)]['removeChild'](this[_0x482b02(0x253,0x2bf)]),this[_0x482b02(0x3c5,-_0xecc8db._0x155bf4)]['insertBefore'](this['_container'],_0x413ad5[_0x33a529]);}['_rebindCzmContainer'](_0x1051a9){}['_createCzmContainer'](){return null;}[_0x54a7f1(0x445,0x70f)](){return null;}['_updateDomInnerHtml'](_0x237e62,_0x54a7db,_0xb6f916){const _0x54fb3c={_0xe54109:0x11ba};function _0x5c2cb8(_0x340651,_0x47e10c){return _0x54a7f1(_0x47e10c- -0x5b,_0x340651);}const _0x3fa9c5=_0x237e62['getElementsByClassName'](_0xb6f916);for(let _0x1e662d=0x0;_0x1e662d<_0x3fa9c5['length'];_0x1e662d++){const _0xfffc52=_0x3fa9c5[_0x1e662d]['innerHTML'];_0x54a7db[_0xfffc52]&&(_0x3fa9c5[_0x1e662d][_0x5c2cb8(0x1a87,_0x54fb3c._0xe54109)]=_0x54a7db[_0xfffc52]);}}[_0x7afdbe(-0x3b2,0x539)](_0x435d83,_0x56aa33,_0x4fd68d){const _0x4e9ebd={_0x446142:0x17a3,_0x241e15:0x1cad},_0x4a5350={_0xa49edb:0x16};function _0x107dd0(_0x136e4c,_0x49a9d4){return _0x7afdbe(_0x49a9d4,_0x136e4c-_0x4a5350._0xa49edb);}function _0x2408e3(_0x1c05ce,_0x1630ad){return _0x54a7f1(_0x1630ad- -0x312,_0x1c05ce);}const _0x53c5e9=_0x435d83[_0x2408e3(_0x4e9ebd._0x446142,0x12d0)](_0x4fd68d);for(let _0x5a6d4a=0x0;_0x5a6d4a<_0x53c5e9['length'];_0x5a6d4a++){const _0x1f3c07=_0x53c5e9[_0x5a6d4a][_0x107dd0(0x1459,_0x4e9ebd._0x241e15)];_0x56aa33[_0x1f3c07]&&(_0x53c5e9[_0x5a6d4a]['innerHTML']=_0x56aa33[_0x1f3c07]);}}['_updateDomAttribute'](_0x2c8313,_0xa6c5e7,_0x3cace5,_0x1d9d44){!_0x2c8313&&(_0x2c8313=document);const _0x4e6a18=_0x2c8313['getElementsByClassName'](_0x3cace5);for(let _0x2c2cb7=0x0;_0x2c2cb7<_0x4e6a18['length'];_0x2c2cb7++){const _0x2aaac6=_0x4e6a18[_0x2c2cb7]['getAttribute'](_0x1d9d44);_0xa6c5e7[_0x2aaac6]&&_0x4e6a18[_0x2c2cb7]['setAttribute'](_0x1d9d44,_0xa6c5e7[_0x2aaac6]);}}['_updateDomAttributeByEvent'](_0x572fa3,_0x2e74ce,_0x485ce5,_0x4e19fb,_0x56f6a9){const _0x12575a={_0x416add:0x1512},_0x283a43={_0x15ffc9:0x1561,_0x1ababf:0x15de,_0x1b1f5e:0xa0b,_0x4d2b40:0x1336},_0x1007aa={_0x7c802f:0x32e};function _0x4cb59a(_0x215d97,_0x2740ac){return _0x7afdbe(_0x215d97,_0x2740ac- -0x1c7);}const _0x55fa4e=_0x572fa3['getElementsByClassName'](_0x485ce5);if(_0x55fa4e[_0x4cb59a(_0x12575a._0x416add,0xfec)]>0x0)for(let _0x1b2044=0x0;_0x1b2044<_0x55fa4e['length'];_0x1b2044++){_0x55fa4e[_0x1b2044][_0x56f6a9]=function(_0x421d4c){const _0x34a074=_0x421d4c[_0x108ca8(_0x283a43._0x15ffc9,0x1cf5)][_0x108ca8(0xf07,_0x283a43._0x1ababf)](_0x4e19fb);function _0x44c253(_0x1fa5b3,_0x2ed173){return _0x4cb59a(_0x2ed173,_0x1fa5b3- -_0x1007aa._0x7c802f);}function _0x108ca8(_0x579707,_0x1f222b){return _0x4cb59a(_0x1f222b,_0x579707-0x6d);}_0x2e74ce[_0x34a074]&&_0x421d4c['currentTarget'][_0x108ca8(_0x283a43._0x1b1f5e,_0x283a43._0x4d2b40)](_0x4e19fb,_0x2e74ce[_0x34a074]);};}}}class Animation extends BaseCzmControl{constructor(_0x3db732={}){const _0xd25b3e={_0x203720:0xaf2,_0x15ee44:0x14b0},_0x27de59={_0x51d871:0x134};super(_0x3db732),this['_czmControlKey']=_0x41fc01(_0xd25b3e._0x203720,_0xd25b3e._0x15ee44);function _0xbd1ac9(_0x1d0589,_0x5c865e){return _0x54a7f1(_0x1d0589- -0x2c0,_0x5c865e);}function _0x41fc01(_0x52041f,_0x450110){return _0x54a7f1(_0x450110-_0x27de59._0x51d871,_0x52041f);}this[_0xbd1ac9(0x101d,0x131d)]='_container';}['_createCzmContainer'](){return create$4('div','cesium-viewer-animationContainer');}['_createCzmControl'](){const _0x2becd1={_0x4aac0a:0x352,_0x5cd7a3:0x1ca6,_0x35ed3c:0xe99,_0x570369:0xefc},_0x3b9d76={_0x884464:0x1573,_0x1c84b4:0x1469};Cesium__namespace['AnimationViewModel'][_0x523159(0x1071,0x133f)]=this[_0x5a083b(-0x25f,0x51b)][_0x5a083b(0x41b,_0x2becd1._0x4aac0a)]||[0.1,0.25,0.5,0x1,0x2,0x5,0xa,0xf,0x1e,0x3c,0x78,0x12c,0x258,0x384,0x708,0xe10];(this['options'][_0x5a083b(_0x2becd1._0x5cd7a3,0x13df)]??!![])&&(Cesium__namespace['AnimationViewModel'][_0x5a083b(0x1675,_0x2becd1._0x35ed3c)]=function(_0xf621d3,_0x2d7e2e){const _0x2ae08f=Cesium__namespace['JulianDate']['toDate'](_0xf621d3);return formatDate(_0x2ae08f,'yyyy-MM-dd');},Cesium__namespace['AnimationViewModel'][_0x5a083b(0x319,0x275)]=function(_0x6510d4,_0x1e259a){const _0x1efb49=Cesium__namespace['JulianDate'][_0x4c212c(_0x3b9d76._0x884464,_0x3b9d76._0x1c84b4)](_0x6510d4);function _0x4c212c(_0x513332,_0xc160dd){return _0x523159(_0x513332-0x354,_0xc160dd);}return formatDate(_0x1efb49,'HH:mm:ss');});function _0x523159(_0x40f875,_0x289e5e){return _0x54a7f1(_0x40f875- -0x293,_0x289e5e);}function _0x5a083b(_0x2df800,_0x3fd833){return _0x54a7f1(_0x3fd833- -0x395,_0x2df800);}return new Cesium__namespace['Animation'](this['_container'],new Cesium__namespace[(_0x5a083b(-0x2e1,0x3eb))](this[_0x523159(0x6cb,_0x2becd1._0x570369)]['clockViewModel']));}[_0x54a7f1(0xd86,0x3b8)](){const _0x141e59={_0x578933:0x15f,_0x2f97f8:0x110d,_0x51b8b2:0xa7a},_0x159057=this['_map']['container'];function _0x693f1(_0x1e426d,_0x1d6d8a){return _0x54a7f1(_0x1e426d-0xeb,_0x1d6d8a);}let _0x1c55b4=_0x159057[_0x693f1(0x751,0x33a)](_0x3efac6(-0x1e7,_0x141e59._0x578933));if(_0x1c55b4['length']>0x0){_0x1c55b4=_0x1c55b4[0x0];const _0x36b952={'Today':this[_0x693f1(_0x141e59._0x2f97f8,0x1b8d)]('Today'),'Today\x20(real-time)':this[_0x3efac6(_0x141e59._0x51b8b2,0xd25)]('TodayRealTime'),'Pause':this[_0x3efac6(0xd91,0xd25)](_0x693f1(0x67c,0xd40)),'Play\x20Reverse':this['getLangText']('PlayReverse'),'Play\x20Forward':this['getLangText'](_0x3efac6(0x1b7,0x508)),'Current\x20time\x20not\x20in\x20range':this['getLangText'](_0x3efac6(0xabe,0xa21))};this[_0x3efac6(-0x9a6,0xe)](_0x1c55b4,_0x36b952,'title');}function _0x3efac6(_0xfc848a,_0x3942b5){return _0x54a7f1(_0x3942b5- -0x2fd,_0xfc848a);}setTimeout(()=>{this['isAdded']&&this['_showHook'](!![]);},0x3e8);}[_0x54a7f1(0x174a,0x1ac7)](_0x1a4311){const _0x22aca5={_0x3b93c6:0x582,_0x141af1:0xbf4,_0x3a2dc6:0x16e,_0x2b7d83:0x35d,_0x113b4e:0x617,_0x8bdd8:0x16e,_0x11af52:0x930,_0x264e91:0x1180};var _0x291d85,_0x287fc0;function _0x2017e7(_0x12d91c,_0x387968){return _0x54a7f1(_0x12d91c- -0x32e,_0x387968);}function _0x6866b5(_0x3d7fe2,_0x4ce2d8){return _0x54a7f1(_0x4ce2d8- -0x1bc,_0x3d7fe2);}const _0x1ba5f1=this['_map']['control'][_0x6866b5(0x90b,0x44c)],_0x24c622=_0x1ba5f1===null||_0x1ba5f1===void 0x0?void 0x0:_0x1ba5f1['container'];_0x24c622&&!Cesium__namespace['defined']((_0x291d85=_0x1ba5f1[_0x2017e7(_0x22aca5._0x3b93c6,_0x22aca5._0x141af1)])===null||_0x291d85===void 0x0||(_0x291d85=_0x291d85[_0x2017e7(_0x22aca5._0x3a2dc6,0x41)])===null||_0x291d85===void 0x0?void 0x0:_0x291d85['left'])&&(_0x24c622['style']['left']=_0x1a4311?this[_0x2017e7(_0x22aca5._0x2b7d83,-0x5a7)]['offsetWidth']+0x1+'px':'0',_0x1ba5f1['resize']());const _0x215cf2=(_0x287fc0=this[_0x6866b5(0xef6,_0x22aca5._0x113b4e)]['controls'])===null||_0x287fc0===void 0x0?void 0x0:_0x287fc0['distanceLegend'];if(_0x215cf2&&!Cesium__namespace['defined'](_0x215cf2['options']['bottom'])){const _0x212f59=_0x1a4311||_0x24c622&&_0x24c622[_0x2017e7(_0x22aca5._0x8bdd8,-_0x22aca5._0x11af52)]['display']!=='none',_0x2fc824={};_0x2fc824[_0x6866b5(0x1b64,_0x22aca5._0x264e91)]=_0x212f59?'27px':'2px',_0x215cf2['setStyle'](_0x2fc824);}}}register$2(_0x54a7f1(0x7ba,-0x205),Animation);class BaseLayerPicker extends BaseCzmControl{constructor(_0x45c1df={}){const _0x3f0450={_0x3e4373:0xfaa,_0x10e199:0xb76,_0x32cc99:0x68b,_0xe252d5:0x2e4,_0x3bd807:0x835};function _0x124b92(_0x3cdbfd,_0x17b063){return _0x7afdbe(_0x3cdbfd,_0x17b063- -0x2a9);}super(_0x45c1df);function _0x4f6b7e(_0x5698dc,_0x4bc99b){return _0x7afdbe(_0x4bc99b,_0x5698dc- -0x561);}this['_czmControlKey']='_baseLayerPicker',this[_0x4f6b7e(_0x3f0450._0x3e4373,_0x3f0450._0x10e199)]=_0x4f6b7e(_0x3f0450._0x32cc99,-_0x3f0450._0xe252d5),this['options'][_0x124b92(0x140d,0x970)]=this[_0x124b92(0x674,_0x3f0450._0x3bd807)]['insertIndex']??0x1;}get['parentContainer'](){const _0x299f34={_0x18c5e8:0x2f2,_0x223d1c:0x7c5,_0x2e8226:0x63f,_0x26f5f8:0xe31},_0xdea1d7={_0x405e19:0x3c2};function _0x403807(_0x817cff,_0x51f2ef){return _0x7afdbe(_0x51f2ef,_0x817cff- -_0xdea1d7._0x405e19);}if(this['options']['parentContainer'])return this['options'][_0x304ed2(_0x299f34._0x18c5e8,-_0x299f34._0x223d1c)];function _0x304ed2(_0x2686f9,_0x33a8d7){return _0x7afdbe(_0x33a8d7,_0x2686f9- -0x739);}return this[_0x403807(_0x299f34._0x2e8226,_0x299f34._0x26f5f8)]['toolbar'];}[_0x54a7f1(0x445,0xad5)](){const _0x18e782={_0xd76d68:0x7b0,_0x8ced21:0xf41,_0x247a91:0x1f,_0x1715db:0x7b3,_0x48f73f:0x56e,_0x151833:0xcec,_0x3a1f30:0xb3f,_0x4bf5e1:0x4d9,_0x54c772:0x975,_0x733bd6:0x782,_0x42ff77:0xfa7,_0x2853c9:0x738,_0x24696b:0x3b9,_0x3e1164:0x953,_0x26def:0x536,_0x8d0055:0x19fe,_0x3521d3:0xde4};var _0x4e5eb0;const _0x5d1dc7=this[_0x5dd13f(0x953,0x4a)][_0x5dd13f(0xa30,0x9af)][_0x5dd13f(0x869,0x951)]||{},_0x291b91=this['options'],_0x3c99aa={};_0x3c99aa[_0x1b1637(_0x18e782._0xd76d68,_0x18e782._0x8ced21)]=this['_map'],_0x3c99aa['globe']=this['_map']['scene']['globe'];function _0x1b1637(_0xef4bb3,_0x893fc0){return _0x7afdbe(_0x893fc0,_0xef4bb3- -0x4b5);}_0x3c99aa[_0x1b1637(_0x18e782._0x247a91,-_0x18e782._0x1715db)]=_0x291b91['imageryProviderViewModels']||_0x5d1dc7[_0x5dd13f(0x426,0x2fd)],_0x3c99aa['selectedImageryProviderViewModel']=_0x291b91[_0x1b1637(_0x18e782._0x48f73f,_0x18e782._0x151833)]||_0x5d1dc7['selectedImageryProviderViewModel'],_0x3c99aa['terrainProviderViewModels']=_0x291b91['terrainProviderViewModels']||_0x5d1dc7[_0x5dd13f(_0x18e782._0x3a1f30,0xb0d)];function _0x5dd13f(_0x1434a7,_0x3b086c){return _0x54a7f1(_0x1434a7-0x180,_0x3b086c);}_0x3c99aa['selectedTerrainProviderViewModel']=_0x291b91['selectedTerrainProviderViewModel']||_0x5d1dc7[_0x1b1637(0x949,-0x4f)];const _0x1d55ab=_0x3c99aa;if(!_0x1d55ab[_0x1b1637(0x1f,0x7e2)]&&((_0x4e5eb0=this['_map'][_0x1b1637(0x629,-0x4a3)][_0x5dd13f(0xf91,0x1569)])===null||_0x4e5eb0===void 0x0?void 0x0:_0x4e5eb0['length'])>0x0){const _0x3932a3=getImageryProviderViewModels(this['_map']['options']['basemaps'],this[_0x1b1637(0x54c,-_0x18e782._0x4bf5e1)]['options']['templateValues']);_0x1d55ab[_0x1b1637(0x1f,0x7ed)]=_0x3932a3['imageryProviderViewModels'],_0x3932a3['selectedIndex']!==-0x1&&(_0x1d55ab[_0x5dd13f(_0x18e782._0x54c772,0x10f)]=_0x3932a3[_0x1b1637(0x1f,-_0x18e782._0x733bd6)][_0x3932a3[_0x1b1637(0x1099,0x1a59)]]);}if(!_0x1d55ab['terrainProviderViewModels']){var _0x2655e7;_0x1d55ab[_0x1b1637(0x738,0x72f)]=getTerrainProviderViewModels(this['_map']['_getTerrainOptions'](),this['getLangText']['bind'](this)),_0x1d55ab[_0x5dd13f(0xd50,_0x18e782._0x42ff77)]=_0x1d55ab[_0x1b1637(_0x18e782._0x2853c9,_0x18e782._0x24696b)][(_0x2655e7=this[_0x5dd13f(_0x18e782._0x3e1164,_0x18e782._0x26def)][_0x1b1637(0x629,0x906)][_0x5dd13f(0x10fd,_0x18e782._0x8d0055)])!==null&&_0x2655e7!==void 0x0&&_0x2655e7['show']?0x1:0x0];}this[_0x1b1637(0x690,_0x18e782._0x3521d3)]&&(delete _0x1d55ab[_0x5dd13f(_0x18e782._0x54c772,0x33b)],delete _0x1d55ab['selectedTerrainProviderViewModel']);const _0x31238c=new Cesium__namespace[(_0x5dd13f(0x15f8,0xf69))](this['_map'][_0x1b1637(0x11e5,0x1c35)],_0x1d55ab);return _0x31238c;}[_0x7afdbe(0x1460,0xfb4)](){const _0x3f242d={_0x5a2948:0x303,_0x46f489:0xfa9,_0x15eb70:0xb46,_0xf1f1d2:0x3fa,_0x1dd067:0x203,_0x3d5f29:0xb1d,_0x421c8b:0xdd8},_0x2f8a74={_0x2fa440:0x11f1},_0x189368={_0x45cda8:0x3d3};function _0x1f83bf(_0x291940,_0x485cf1){return _0x7afdbe(_0x291940,_0x485cf1- -_0x189368._0x45cda8);}const _0x58752b=this['_map']['container'];let _0x38839a=_0x58752b[_0x2cff0b(_0x3f242d._0x5a2948,0xa49)]('cesium-baseLayerPicker-dropDown');function _0x2cff0b(_0x3c3bc6,_0x3047fc){return _0x7afdbe(_0x3047fc,_0x3c3bc6- -0x591);}if(_0x38839a['length']>0x0){_0x38839a=_0x38839a[0x0];const _0xda27b0={'Imagery':this['getLangText']('Imagery'),'Cesium\x20ion':this['getLangText']('CesiumIon'),'Other':this['getLangText']('Other'),'Terrain':this['getLangText']('Terrain'),'WGS84\x20Ellipsoid':this[_0x1f83bf(0xd5f,0xe7d)](_0x1f83bf(0x1316,0xe01)),'WGS84\x20standard\x20ellipsoid,\x20also\x20known\x20as\x20EPSG:4326':this['getLangText']('EllipsoidTerrainProviderTooltip'),'Cesium\x20World\x20Terrain':this['getLangText']('TerrainProvider'),'High-resolution\x20global\x20terrain\x20tileset\x20curated\x20from\x20several\x20datasources\x20and\x20hosted\x20by\x20Cesium\x20ion':this['getLangText'](_0x1f83bf(_0x3f242d._0x46f489,_0x3f242d._0x15eb70))};this['_updateDomInnerHtml'](_0x38839a,_0xda27b0,'cesium-baseLayerPicker-sectionTitle'),this['_updateDomInnerHtml'](_0x38839a,_0xda27b0,_0x1f83bf(_0x3f242d._0xf1f1d2,_0x3f242d._0x1dd067)),this['_updateDomInnerHtml'](_0x38839a,_0xda27b0,_0x1f83bf(0xb13,0xffd)),this[_0x1f83bf(-0x6d,0x6b5)](_0x38839a,_0xda27b0,'cesium-baseLayerPicker-item','title');const _0x36c291=_0x58752b[_0x2cff0b(0x303,_0x3f242d._0x3d5f29)]('cesium-baseLayerPicker-selected');_0x36c291[_0x1f83bf(0x45a,0xde0)]>0x0&&(_0x36c291[0x0][_0x1f83bf(_0x3f242d._0x421c8b,0x6b6)][_0x2cff0b(0xf72,0x10f0)]=function(_0xb8ca06){const _0x10f03d=_0xb8ca06['currentTarget']['getAttribute']('title')??'',_0x362bc1=_0x10f03d[_0x307e5b(_0x2f8a74._0x2fa440,0x16bc)]('\x0a'),_0x17359d=_0x362bc1[0x0]??'';let _0x363519=_0x362bc1[0x1]??'';(!_0x363519||_0x363519==='undefined')&&(_0x363519='');let _0x5fddcd='',_0x25a13d='';_0xda27b0[_0x17359d]?_0x5fddcd+=_0xda27b0[_0x17359d]:_0x5fddcd+=_0x17359d;_0xda27b0[_0x17359d]?_0x25a13d+=_0xda27b0[_0x363519]:_0x25a13d+=_0x363519;function _0x307e5b(_0x1b7879,_0x42cea4){return _0x1f83bf(_0x42cea4,_0x1b7879-0x1ee);}_0xb8ca06['currentTarget']['setAttribute']('title',_0x5fddcd+'\x0a'+_0x25a13d);});}}[_0x54a7f1(0x79d,0xee0)](_0x20edf2){const _0xce7e29={_0x52e5cd:0x3f7,_0x39443c:0xa1b,_0x599198:0x17f2,_0x56dab6:0x6dd,_0x238b3d:0x125};function _0x5b43b0(_0x414908,_0x59bb9c){return _0x54a7f1(_0x59bb9c- -0x181,_0x414908);}var _0x5a64ee,_0x42e0b2;const _0x1b125d=(_0x5a64ee=this[_0x525da4(_0xce7e29._0x52e5cd,_0xce7e29._0x39443c)])===null||_0x5a64ee===void 0x0?void 0x0:_0x5a64ee[_0x525da4(0x10e4,_0xce7e29._0x599198)];if(!_0x20edf2||!_0x1b125d['updateSelectedImageryViewModel'])return;const _0x576aa7=(_0x42e0b2=_0x1b125d[_0x525da4(0x95b,0x73b)])===null||_0x42e0b2===void 0x0?void 0x0:_0x42e0b2['marsOptions'];function _0x525da4(_0x2b09ec,_0x4c6f2f){return _0x54a7f1(_0x2b09ec-0x16b,_0x4c6f2f);}if((_0x576aa7===null||_0x576aa7===void 0x0?void 0x0:_0x576aa7['layerId'])===_0x20edf2)return;for(let _0x440a80=0x0;_0x440a80<_0x1b125d[_0x5b43b0(-_0xce7e29._0x56dab6,_0xce7e29._0x238b3d)][_0x5b43b0(0x14d9,0xe04)];_0x440a80++){var _0x5c3daa;const _0x4b246b=_0x1b125d[_0x525da4(0x411,0xe6b)][_0x440a80];if(((_0x5c3daa=_0x4b246b['marsOptions'])===null||_0x5c3daa===void 0x0?void 0x0:_0x5c3daa[_0x5b43b0(0x1795,0x1246)])===_0x20edf2){_0x1b125d['updateSelectedImageryViewModel'](_0x4b246b);break;}}}['updateSelectedTerrainViewModel'](){const _0x1cc714={_0x592639:0x85d,_0x2601a5:0xf4,_0x57b113:0x54f,_0x244ed5:0x5e,_0x1cff23:0x3ff,_0x2eda2c:0x953,_0x39e222:0xad,_0x4993e4:0x6f7};var _0x3fa46b,_0x5b9c35,_0x4a9a97;const _0x44b1b9=(_0x3fa46b=this['_map'])===null||_0x3fa46b===void 0x0||(_0x3fa46b=_0x3fa46b[_0x5d22d9(0x7e1,_0x1cc714._0x592639)])===null||_0x3fa46b===void 0x0?void 0x0:_0x3fa46b['marsOptions'];if(!_0x44b1b9)return;function _0x4863e9(_0x28b59a,_0x4bd716){return _0x7afdbe(_0x28b59a,_0x4bd716- -0x111);}function _0x5d22d9(_0x3ed3ea,_0x352611){return _0x7afdbe(_0x3ed3ea,_0x352611- -0x2b9);}const _0xf0c92a=(_0x5b9c35=this[_0x4863e9(0x501,0x3a9)])===null||_0x5b9c35===void 0x0?void 0x0:_0x5b9c35['viewModel'];if(!_0xf0c92a['updateSelectedImageryViewModel'])return;const _0x49aecb=(_0x4a9a97=_0xf0c92a['selectedTerrain'])===null||_0x4a9a97===void 0x0?void 0x0:_0x4a9a97['marsOptions'];if(_0x49aecb&&_0x49aecb['type']===_0x44b1b9['type']&&_0x49aecb['url']===_0x44b1b9['url'])return;for(let _0x56af2b=0x0;_0x56af2b<_0xf0c92a[_0x4863e9(0x106b,0xadc)][_0x5d22d9(0xde7,0xefa)];_0x56af2b++){const _0x29eb74=_0xf0c92a['terrainProviderViewModels'][_0x56af2b];if(!_0x29eb74[_0x5d22d9(-_0x1cc714._0x2601a5,_0x1cc714._0x57b113)])continue;if(_0x29eb74[_0x5d22d9(-_0x1cc714._0x244ed5,0x54f)]['type']===_0x44b1b9[_0x4863e9(_0x1cc714._0x1cff23,_0x1cc714._0x2eda2c)]&&_0x29eb74[_0x4863e9(_0x1cc714._0x39e222,_0x1cc714._0x4993e4)][_0x4863e9(0x526,0xb40)]===_0x44b1b9['url']){_0xf0c92a['updateSelectedTerrainViewModel'](_0x29eb74);break;}}}['reload'](){const _0xdc8852={_0x29f1d6:0x2ef},_0x483ddd={_0x12ef2b:0x738};super['reload']();function _0x1a6efd(_0x445da7,_0xf6e41d){return _0x7afdbe(_0x445da7,_0xf6e41d- -0x706);}function _0xe6f453(_0x5d47cd,_0x2ce064){return _0x7afdbe(_0x2ce064,_0x5d47cd- -_0x483ddd._0x12ef2b);}if(this['_map']){var _0x256850;this[_0x1a6efd(_0xdc8852._0x29f1d6,0x2c5)]((_0x256850=this[_0xe6f453(0x2c9,0x2bc)][_0x1a6efd(0x163c,0x1264)])===null||_0x256850===void 0x0?void 0x0:_0x256850['id']),this['updateSelectedTerrainViewModel']();}}}register$2(_0x7afdbe(0x1483,0xe30),BaseLayerPicker);class FullscreenButton extends BaseCzmControl{constructor(_0x2b033b={}){const _0x28a3e4={_0xddfc3c:0x1ca},_0x5e0e84={_0x104418:0x26};function _0x3c623b(_0x46825b,_0x19bddd){return _0x54a7f1(_0x19bddd- -0x4c1,_0x46825b);}super(_0x2b033b),this['_czmControlKey']='_fullscreenButton';function _0x55d542(_0x309511,_0x260863){return _0x7afdbe(_0x309511,_0x260863- -_0x5e0e84._0x104418);}this[_0x3c623b(0xeae,0xe1c)]=_0x3c623b(-0x5b6,_0x28a3e4._0xddfc3c);}get['parentContainer'](){const _0x141732={_0x1be484:0x412,_0x560da9:0xc29,_0x383163:0x50f};function _0x11d156(_0x338763,_0x433a78){return _0x54a7f1(_0x433a78- -0x2c4,_0x338763);}function _0x136e55(_0x38fe3d,_0x3e464f){return _0x54a7f1(_0x3e464f- -0x49e,_0x38fe3d);}if(this[_0x136e55(0xd23,_0x141732._0x1be484)]['parentContainer'])return this[_0x11d156(_0x141732._0x560da9,0x5ec)]['parentContainer'];return this[_0x11d156(0xde4,_0x141732._0x383163)][_0x11d156(0xae3,0x11a8)];}[_0x7afdbe(0x407,0x975)](){const _0x45a6c1={_0x26853c:0x66,_0x4ce318:0x1604,_0x56ffc8:0x9e5},_0x6d7bc6=create$4(_0x54a847(0x350,-_0x45a6c1._0x26853c),'cesium-button\x20cesium-toolbar-button');function _0x54a847(_0x114e97,_0x4ed271){return _0x54a7f1(_0x114e97- -0x261,_0x4ed271);}function _0x759a71(_0x2faefc,_0x36bab0){return _0x7afdbe(_0x36bab0,_0x2faefc- -0x2fc);}return _0x6d7bc6[_0x759a71(0x3ce,0x912)][_0x759a71(_0x45a6c1._0x4ce318,0xf9c)]=_0x54a847(0x14ab,_0x45a6c1._0x56ffc8),_0x6d7bc6;}[_0x7afdbe(0x96b,0x673)](){const _0x308edc={_0x5c8388:0x6ee,_0x1b8f07:0x226,_0x1d7d2e:0x96d},_0x2ed300={_0x3a4f5c:0x112};function _0x350dc3(_0xfa5e1,_0x1c664c){return _0x7afdbe(_0xfa5e1,_0x1c664c- -_0x2ed300._0x3a4f5c);}var _0x1d1eb8;function _0x32483c(_0x1bd173,_0x4a4e43){return _0x54a7f1(_0x1bd173-0xbd,_0x4a4e43);}const _0x49c13b=this[_0x350dc3(_0x308edc._0x5c8388,0x9cc)][_0x350dc3(0x865,0xa0d)]||((_0x1d1eb8=this[_0x350dc3(_0x308edc._0x1b8f07,0x8ef)][_0x32483c(_0x308edc._0x1d7d2e,-0x3d)]['control'])===null||_0x1d1eb8===void 0x0?void 0x0:_0x1d1eb8[_0x32483c(0x9ae,0xa8c)]);return new Cesium__namespace['FullscreenButton'](this['_container'],_0x49c13b);}['_rebindCzmContainer'](_0x1cc463){const _0x32bf7f={_0x9806ea:0x1d89,_0x302fb8:0x1627,_0x42c33f:0x180f,_0x4dd445:0x112a};var _0x49f14e;removeClass(_0x1cc463,'cesium-viewer-fullscreenContainer');function _0x15972b(_0x260d8c,_0x3a003b){return _0x54a7f1(_0x260d8c- -0x3f0,_0x3a003b);}addClass(_0x1cc463,_0xf595c5(0xac3,0xd69)),_0x1cc463[_0x15972b(0xac,0x4)][_0xf595c5(0x16ad,_0x32bf7f._0x9806ea)]='inline-block',_0x1cc463[_0xf595c5(_0x32bf7f._0x302fb8,_0x32bf7f._0x42c33f)]['removeChild'](_0x1cc463);const _0x5bb0c7=(_0x49f14e=this['viewer']['navigationHelpButton'])===null||_0x49f14e===void 0x0?void 0x0:_0x49f14e['_wrapper'];function _0xf595c5(_0x54151c,_0x3ef150){return _0x54a7f1(_0x54151c- -0x25,_0x3ef150);}_0x5bb0c7?this['parentContainer'][_0xf595c5(0x11b9,_0x32bf7f._0x4dd445)](_0x1cc463,_0x5bb0c7):this['parentContainer'][_0xf595c5(0x14e2,0x165d)](_0x1cc463);}[_0x54a7f1(0xd86,0xcf6)](){const _0x4c63e9={_0x4cc449:0x2e9,_0x17d157:0x65,_0x2badad:0xbc8,_0x1ca71a:0xb8d,_0x3bffb2:0x1a7,_0x47fbd4:0x1fd,_0x20dd76:0xefc,_0x30dee8:0xaf7};function _0x1bbe86(_0x4f2d87,_0x4672ea){return _0x54a7f1(_0x4f2d87- -0x3a2,_0x4672ea);}if(this['options']['icon']){const _0x2d3639=this[_0x1bbe86(_0x4c63e9._0x4cc449,-0xfa)]['children'][0x0];addClass(_0x2d3639,'mar3d-toolButton'),this['_createIcon'](this[_0x1bbe86(0x50e,0x6d8)]['icon'],_0x2d3639,'',!![]);}const _0x54c7a3=this[_0x1bbe86(0x431,0xa36)]['container'];function _0x84fcfc(_0x332366,_0x264c90){return _0x7afdbe(_0x264c90,_0x332366- -0x688);}const _0x5d6580={'Full\x20screen':this[_0x84fcfc(0xbc8,0x12de)](_0x84fcfc(0x27d,_0x4c63e9._0x17d157)),'Exit\x20full\x20screen':this[_0x84fcfc(_0x4c63e9._0x2badad,_0x4c63e9._0x1ca71a)](_0x1bbe86(0x9e3,_0x4c63e9._0x3bffb2)),'Full\x20screen\x20unavailable':this['getLangText'](_0x1bbe86(0x669,_0x4c63e9._0x47fbd4))};this[_0x84fcfc(0x896,_0x4c63e9._0x20dd76)](_0x54c7a3,_0x5d6580,_0x1bbe86(0x1358,_0x4c63e9._0x30dee8),'title','onmouseover');}}register$2(_0x54a7f1(0x1213,0x1716),FullscreenButton);class GaodePOIGeocoder{constructor(_0x1b1b07={}){this['options']=_0x1b1b07;function _0x28d63f(_0x170c5a,_0x142910){return _0x7afdbe(_0x142910,_0x170c5a- -0x2ea);}_0x1b1b07['key']?this['_keys']=Array[_0x28d63f(0x13b2,0x1705)](_0x1b1b07['key'])?_0x1b1b07['key']:[_0x1b1b07['key']]:this['_keys']=gaodeArr;}['getArrayRandomOne'](){const _0x219b21={_0x48f79b:0x1bab,_0x35ad04:0x16ac,_0x17104a:0xa7a,_0x301f97:0x16f},_0x2ec76=this[_0x1f401e(_0x219b21._0x48f79b,_0x219b21._0x35ad04)],_0x59e620=Math[_0x1f401e(_0x219b21._0x17104a,0xb28)](Math[_0x1f401e(_0x219b21._0x301f97,0xa28)]()*_0x2ec76['length']+0x1)-0x1;function _0x1f401e(_0xbd462b,_0x20137d){return _0x54a7f1(_0x20137d-0x236,_0xbd462b);}function _0x2cd805(_0x263143,_0x1d1973){return _0x54a7f1(_0x263143- -0x509,_0x1d1973);}return _0x2ec76[_0x59e620];}[_0x54a7f1(0x912,0xc4c)](_0x3e3ec9,_0x46ebc6){const _0x3328f4={_0x41e2c6:0xc36,_0x3d1f7c:0x13cd,_0x3044b0:0xcbd,_0x4db4a2:0xe49,_0x58f31c:0x17d8,_0x3060ec:0xff6,_0x30e828:0x102b,_0x2a46a1:0x129f},_0x454ca9={_0x6c964:0x10fa,_0x4d3a78:0x36e,_0x6543be:0x523},_0x4f8266={_0x27f71c:0x148c,_0x57d552:0xf8f},_0x48c10a={_0x49964b:0x22a};var _0x16b124;((_0x16b124=_0x3e3ec9)===null||_0x16b124===void 0x0?void 0x0:_0x16b124[_0x46396b(_0x3328f4._0x41e2c6,0xc0b)])>0x0&&_0x3e3ec9['endsWith'](_0x46396b(0xc96,0x567))&&(_0x3e3ec9=_0x3e3ec9[_0x46396b(0xd20,0xb21)](0x0,_0x3e3ec9[_0x2d09dc(0x1a40,0x11af)]-0xb)['trim']());function _0x2d09dc(_0x2869cf,_0xfbc224){return _0x54a7f1(_0xfbc224-_0x48c10a._0x49964b,_0x2869cf);}const _0x4c182f=this[_0x46396b(_0x3328f4._0x3d1f7c,_0x3328f4._0x3044b0)](),_0x79ce99={'count':0x14,'key':_0x4c182f,'keywords':_0x3e3ec9,'types':'110000|120000|130000|140000|180000|190000',...this[_0x46396b(-0xb3,0x536)][_0x2d09dc(_0x3328f4._0x4db4a2,0x1594)]},_0x28ddfc=new Cesium__namespace[(_0x46396b(0x14b4,0x11bb))]({'url':_0x46ebc6===Cesium__namespace[_0x2d09dc(_0x3328f4._0x58f31c,0x14e3)]['AUTOCOMPLETE']?_0x46396b(_0x3328f4._0x3060ec,0xe09):'https://restapi.amap.com/v3/place/text','queryParameters':_0x79ce99});function _0x46396b(_0x1fd04b,_0x4c9815){return _0x54a7f1(_0x4c9815- -0x37a,_0x1fd04b);}const _0x32e343=this;return _0x28ddfc[_0x46396b(_0x3328f4._0x30e828,_0x3328f4._0x2a46a1)]()[_0x46396b(0x8e4,0x239)](function(_0x57bc92){const _0x51f5cd={_0x50298a:0x71},_0x3fc25c={_0x5ef9ce:0x4ef};if(_0x57bc92[_0x2facd5(0x1028,0xbbc)]!=='10000')return logError('请求失败('+_0x57bc92['infocode']+'):'+_0x57bc92['info']),[];if(_0x57bc92['pois'][_0x15da69(0xac5,_0x454ca9._0x6c964)]===0x0)return logInfo(_0x15da69(_0x454ca9._0x4d3a78,_0x454ca9._0x6543be)+_0x3e3ec9+'”相关数据!'),[];let _0x35eadb=0xbb8;function _0x15da69(_0x195353,_0x5338bb){return _0x46396b(_0x195353,_0x5338bb-_0x3fc25c._0x5ef9ce);}_0x32e343['map']['camera']['positionCartographic'][_0x15da69(0x399,0x7dc)]<_0x35eadb&&(_0x35eadb=_0x32e343['map']['camera']['positionCartographic']['height']);function _0x2facd5(_0x3cbb33,_0x39f8e7){return _0x2d09dc(_0x3cbb33,_0x39f8e7- -0x6bf);}return _0x57bc92['pois']['map'](function(_0x36e0ec){function _0x38bb16(_0x571d82,_0x1bc336){return _0x2facd5(_0x571d82,_0x1bc336-0x63a);}let _0x3a5aff=_0x36e0ec['location']['split'](',');function _0x8eede4(_0x6668dd,_0x34e5a1){return _0x2facd5(_0x6668dd,_0x34e5a1-_0x51f5cd._0x50298a);}return _0x3a5aff=gcj2wgs(_0x3a5aff),{'displayName':_0x36e0ec['name'],'destination':Cesium__namespace[_0x38bb16(0xf0b,_0x4f8266._0x27f71c)][_0x38bb16(0xb37,_0x4f8266._0x57d552)](_0x3a5aff[0x0],_0x3a5aff[0x1],_0x35eadb)};});});}}class Geocoder extends BaseCzmControl{constructor(_0x35a623={}){const _0x332725={_0x6391d6:0x12e5},_0x2129b0={_0x1fa15d:0x226},_0x2525c7={_0x4a0feb:0x56};isString(_0x35a623)&&(_0x35a623={'service':_0x35a623});function _0x4d6570(_0xcf6173,_0x35c130){return _0x54a7f1(_0x35c130-_0x2525c7._0x4a0feb,_0xcf6173);}super(_0x35a623);function _0x21c049(_0x3890ed,_0x3879a6){return _0x7afdbe(_0x3879a6,_0x3890ed- -_0x2129b0._0x1fa15d);}this['_czmControlKey']='_geocoder',this[_0x21c049(_0x332725._0x6391d6,0x1238)]=_0x21c049(0x160a,0x11ac);}get['parentContainer'](){const _0x13a93b={_0x5d6b3a:0x9e2,_0x179cc5:0x189},_0x3bc1f3={_0x38ecd5:0x5fc};function _0x624023(_0x2d0df0,_0x38fc43){return _0x7afdbe(_0x38fc43,_0x2d0df0- -0x23b);}function _0x3095c6(_0x254c78,_0x64d7f4){return _0x7afdbe(_0x64d7f4,_0x254c78- -_0x3bc1f3._0x38ecd5);}if(this[_0x3095c6(0x4e2,_0x13a93b._0x5d6b3a)]['parentContainer'])return this[_0x3095c6(0x4e2,-_0x13a93b._0x179cc5)][_0x624023(0x7f0,0x156)];return this['_map']['toolbar'];}['_createCzmContainer'](){const _0xd19b11={_0x2ea2f4:0x152f},_0x422238=create$4('div',_0x5a56fc(0x11f8,_0xd19b11._0x2ea2f4));_0x422238['id']=this['type'];function _0x5a56fc(_0x244a62,_0x407fb7){return _0x7afdbe(_0x407fb7,_0x244a62- -0xd1);}return _0x422238;}['_createCzmControl'](){const _0x14ce18={_0x32af64:0x1f,_0x34023c:0x124c},_0x2193dd={_0x2c2f6b:0x61};function _0x2c7e10(_0x3c4f05,_0x5f4ce9){return _0x7afdbe(_0x5f4ce9,_0x3c4f05- -_0x2193dd._0x2c2f6b);}let _0x1ffc69=this['options']['service'];function _0x4fd66d(_0x5441e1,_0x12721d){return _0x54a7f1(_0x12721d- -0x17,_0x5441e1);}if(!Cesium__namespace['defined'](_0x1ffc69)||_0x1ffc69==='gaode'){const _0x27a71e=new GaodePOIGeocoder(this[_0x4fd66d(-_0x14ce18._0x32af64,0x899)]);_0x27a71e['map']=this['_map'],_0x1ffc69=[_0x27a71e];}else{if(_0x1ffc69===_0x2c7e10(0xb76,0xee2)){_0x1ffc69=undefined;const _0x1a38da={};_0x1a38da['scene']=this['_map']['scene'],_0x1ffc69=[new Cesium__namespace[(_0x4fd66d(0x3e3,0xd06))](_0x1a38da)];}}const _0x5ec8d7={};return _0x5ec8d7['container']=this['_container'],_0x5ec8d7['geocoderServices']=_0x1ffc69,_0x5ec8d7[_0x2c7e10(_0x14ce18._0x34023c,0xca0)]=this[_0x2c7e10(0x9a0,0x12fa)]['scene'],new Cesium__namespace['Geocoder'](_0x5ec8d7);}[_0x54a7f1(0xd86,0xa06)](){const _0x7caa38=this['_map']['container'],_0x2ef8ec={'Enter\x20an\x20address\x20or\x20landmark...':this['getLangText']('EnterAnAddressOrLandmark'),'Searching...':this['getLangText']('Searching')};this['_updateDomAttribute'](_0x7caa38,_0x2ef8ec,'cesium-geocoder-input','placeholder');}[_0x7afdbe(-0x2c9,0x482)](){const _0x267512={_0x41b566:0x46c,_0x5a9383:0x8};function _0x471d78(_0x370d1f,_0x52bc94){return _0x7afdbe(_0x52bc94,_0x370d1f- -0x573);}super['_removedBeforeHook']();function _0xe453c4(_0x3c09eb,_0x412109){return _0x54a7f1(_0x3c09eb-0x22b,_0x412109);}const _0x14a686=this[_0xe453c4(0x9fe,_0x267512._0x41b566)][_0x471d78(0x8b8,-_0x267512._0x5a9383)][_0x471d78(0x321,0x27f)]('cesium-viewer-geocoderContainer');_0x14a686['length']>0x0&&(this['_container']=_0x14a686[0x0]);}}register$2(_0x54a7f1(0x16af,0x145a),Geocoder);const _updateSearchSuggestions_old=Cesium__namespace['GeocoderViewModel']['_updateSearchSuggestions'];Cesium__namespace['GeocoderViewModel'][_0x54a7f1(0xa73,0x271)]=function(_0x4cee41){const _0x12a264={_0x5ac36f:0xc9c},_0x2af23a={_0x5a01a0:0x1d9};function _0x4054f5(_0xa237b3,_0x563b4e){return _0x7afdbe(_0xa237b3,_0x563b4e- -0x594);}function _0x4b8970(_0x556847,_0x2b79f1){return _0x54a7f1(_0x2b79f1- -_0x2af23a._0x5a01a0,_0x556847);}const _0x3c6b6b=_0x4cee41['_searchText'];return(_0x3c6b6b===null||_0x3c6b6b===void 0x0?void 0x0:_0x3c6b6b[_0x4b8970(0xdda,0xdac)])>0x0&&_0x3c6b6b[_0x4b8970(0x1121,_0x12a264._0x5ac36f)]('(not\x20found)')&&(_0x4cee41['_searchText']=_0x3c6b6b[_0x4054f5(0xc15,0xb35)](0x0,_0x3c6b6b['length']-0xb)['trim']()),_updateSearchSuggestions_old(_0x4cee41);};class HomeButton extends BaseCzmControl{constructor(_0x2266f2={}){const _0x13505e={_0x33fa02:0x1294,_0x24a841:0x13f0},_0x175920={_0x5aa3ba:0x49};super(_0x2266f2);function _0x212446(_0x4b0583,_0xbc981a){return _0x54a7f1(_0xbc981a- -_0x175920._0x5aa3ba,_0x4b0583);}this['_czmControlKey']='_homeButton',this[_0x212446(0x1abd,_0x13505e._0x33fa02)]=_0x212446(0x278,0x975);function _0x389cab(_0xb39b98,_0x27ccfe){return _0x54a7f1(_0x27ccfe-0x230,_0xb39b98);}this['options'][_0x389cab(_0x13505e._0x24a841,0xc1b)]=this['options']['insertIndex']??0x0;}get['parentContainer'](){const _0x4b5203={_0x55ef46:0x8d5,_0x3d54ea:0x18a,_0x5078c8:0x6e6};if(this[_0x2beb8c(_0x4b5203._0x55ef46,0x86f)][_0x1bdf98(-_0x4b5203._0x3d54ea,_0x4b5203._0x5078c8)])return this['options']['parentContainer'];function _0x2beb8c(_0x2c9ccb,_0x4588e8){return _0x7afdbe(_0x2c9ccb,_0x4588e8- -0x26f);}function _0x1bdf98(_0x33c3f7,_0x30b16e){return _0x7afdbe(_0x33c3f7,_0x30b16e- -0x345);}return this['_map']['toolbar'];}[_0x54a7f1(0x445,0xaa3)](){const _0x4de1d6={_0x4354b4:0x4f7},_0x3b4e03={_0x396e95:0x308};function _0x2a714d(_0xe5932b,_0x2f467e){return _0x7afdbe(_0x2f467e,_0xe5932b- -_0x3b4e03._0x396e95);}return new Cesium__namespace['HomeButton'](this['_map']['toolbar'],this[_0x2a714d(0x6f9,_0x4de1d6._0x4354b4)]['scene']);}[_0x54a7f1(0xd86,0xd35)](){const _0x510fa1={_0x2956d4:0x452,_0x1a29d4:0x13,_0xb9725:0x9eb,_0x5e4b96:0x993,_0x90f759:0x65c},_0x4c8469={_0x3d634c:0x80};function _0xd8cccc(_0x2e2847,_0x1590f0){return _0x54a7f1(_0x2e2847- -0x33d,_0x1590f0);}this['options']['icon']&&(addClass(this['_container'],_0xd8cccc(_0x510fa1._0x2956d4,0x9c1)),this[_0x5a5354(0x462,0x1d8)](this['options'][_0xd8cccc(-_0x510fa1._0x1a29d4,_0x510fa1._0xb9725)],this['_container'],'',!![]));function _0x5a5354(_0x4b8c18,_0x3c8445){return _0x7afdbe(_0x3c8445,_0x4b8c18- -_0x4c8469._0x3d634c);}const _0x528d94=this[_0xd8cccc(0x496,_0x510fa1._0x5e4b96)]['container'];this['_updateDomAttribute'](_0x528d94,{'View\x20Home':this['options']['title']??this[_0xd8cccc(0xce5,_0x510fa1._0x90f759)]('ViewHome')},'cesium-home-button','title');}['_addedHook'](){const _0x1f3163={_0x4777c3:0x3a2};super['_addedHook']();function _0x409b60(_0x2c8564,_0x4dd5a5){return _0x54a7f1(_0x4dd5a5- -_0x1f3163._0x4777c3,_0x2c8564);}this['_czmContrl'][_0x409b60(0x97d,0xbd7)]['command']['beforeExecute']['addEventListener'](_0x4197ed=>{_0x4197ed['cancel']=!![],!this['options']['click']&&this['_map']['flyHome']();});}}register$2('homeButton',HomeButton);class NavigationHelpButton extends BaseCzmControl{constructor(_0x206eb8={}){const _0xaf11f8={_0x4c33e0:0x6f9},_0x2394da={_0x570443:0x18f},_0x95ab47={_0x2bf224:0x3e5};super(_0x206eb8);function _0x8cea53(_0x738157,_0x59cb11){return _0x7afdbe(_0x738157,_0x59cb11- -_0x95ab47._0x2bf224);}this[_0x8cea53(0x1115,0x6f9)]['localStorageName']=this[_0x8cea53(0xdcb,_0xaf11f8._0x4c33e0)]['localStorageName']??_0x8cea53(0x11fb,0xc24);function _0x3d3638(_0x2ccc45,_0x4a0044){return _0x7afdbe(_0x4a0044,_0x2ccc45- -_0x2394da._0x570443);}this[_0x3d3638(0x128e,0x134c)]='_navigationHelpButton',this['_czmContainerKey']='_wrapper';}get['parentContainer'](){const _0x20a819={_0x53ca19:0xd0f,_0x1753b7:0xa2d},_0x18d80f={_0x208b77:0x2f3};function _0x5e8701(_0x1e4382,_0x1115bc){return _0x7afdbe(_0x1e4382,_0x1115bc- -_0x18d80f._0x208b77);}function _0x1fc2ed(_0x22c2b7,_0x522c22){return _0x54a7f1(_0x522c22-0x230,_0x22c2b7);}if(this['options'][_0x1fc2ed(_0x20a819._0x53ca19,_0x20a819._0x1753b7)])return this[_0x5e8701(0x8dc,0x7eb)]['parentContainer'];return this[_0x5e8701(0x781,0x70e)]['toolbar'];}[_0x7afdbe(0xdb9,0x673)](){const _0x18c65f={_0x2b8aab:0xb75,_0x1899c2:0x1016,_0x5eb463:0xb26,_0x59a5b4:0x965,_0xac529:0x1763,_0x3d5cb3:0xd2c,_0xda005:0x4c6,_0x33cea5:0x2a6},_0x3a1d69={_0x4685ad:0x276},_0x3d2d63={_0x4846df:0x643};var _0x4641d5;let _0x3422f2=this['options']['firstOpen']??((_0x4641d5=this['_map']['options'][_0x383219(0x95f,_0x18c65f._0x2b8aab)])===null||_0x4641d5===void 0x0?void 0x0:_0x4641d5[_0x43a45c(0x1874,_0x18c65f._0x1899c2)])??!![];function _0x43a45c(_0xd10858,_0xa16879){return _0x7afdbe(_0xd10858,_0xa16879- -_0x3d2d63._0x4846df);}try{if(Cesium__namespace['defined'](window['localStorage'])){const _0x3cbc2f=window['localStorage']['getItem'](this[_0x383219(_0x18c65f._0x5eb463,_0x18c65f._0x59a5b4)]['localStorageName']);Cesium__namespace[_0x43a45c(_0x18c65f._0xac529,0x126c)](_0x3cbc2f)&&Boolean(_0x3cbc2f)?_0x3422f2=![]:window['localStorage'][_0x43a45c(_0x18c65f._0x3d5cb3,_0x18c65f._0xda005)](this[_0x43a45c(_0x18c65f._0x33cea5,0x49b)]['localStorageName'],'true');}}catch(_0x133240){}const _0x271fa4={};function _0x383219(_0x1f22b9,_0xb5cf3c){return _0x54a7f1(_0x1f22b9-_0x3a1d69._0x4685ad,_0xb5cf3c);}return _0x271fa4['container']=this['_map']['toolbar'],_0x271fa4['instructionsInitiallyVisible']=_0x3422f2,new Cesium__namespace[(_0x383219(0x1531,0x1271))](_0x271fa4);}['_updateLangText'](){const _0x1f8594={_0x10a2c2:0x9d2,_0x2ad859:0x207,_0x3fb55b:0x5f1,_0x4a09e7:0x44b,_0x2f8954:0x1d0,_0x594df5:0x15a,_0x17cbcc:0xf84,_0x409949:0xcaf,_0xd90b64:0x210,_0x4b78b5:0x6c3,_0x412af4:0x406,_0x3a69f1:0x457,_0x308153:0xb9e,_0xd58a78:0x594,_0x5a0174:0x8ad,_0x47ff04:0x12e5,_0x160d20:0xb9e,_0x4eb3e2:0xa74,_0x2ee73d:0x90f,_0x30bf8d:0x8cc,_0x34d33d:0x74f,_0x368138:0x4c9},_0x514cc7={_0x582620:0x484},_0x44654e={_0x59c394:0x5ad};if(this['options'][_0x2d0ca2(-_0x1f8594._0x10a2c2,-0x15a)]){const _0x386e25=this[_0x2d0ca2(0x231,_0x1f8594._0x2ad859)][_0x2d0ca2(-_0x1f8594._0x3fb55b,-0x1fb)][0x0];addClass(_0x386e25,'mar3d-toolButton'),this[_0x2d0ca2(-_0x1f8594._0x4a09e7,-_0x1f8594._0x2f8954)](this['options'][_0x2d0ca2(-0x36c,-_0x1f8594._0x594df5)],_0x386e25,'',!![]);}const _0x42ed1d=this['_map']['container'];this[_0x2d0ca2(-0x356,0x3d6)](_0x42ed1d,{'Navigation\x20Instructions':this['getLangText']('NavigationInstructions')},_0x48c824(_0x1f8594._0x17cbcc,_0x1f8594._0x409949),'title');const _0x36f6be={'Mouse':this[_0x48c824(0xa8a,0xca3)](_0x2d0ca2(0xa89,0x53f)),'Touch':this['getLangText']('Touch'),'Pan\x20view':this[_0x2d0ca2(0x12d5,0xb9e)](_0x48c824(_0x1f8594._0xd90b64,_0x1f8594._0x4b78b5)),'Left\x20click\x20+\x20drag':this[_0x2d0ca2(0x986,0xb9e)](_0x2d0ca2(-_0x1f8594._0x412af4,0x51e)),'Zoom\x20view':this['getLangText'](_0x48c824(-0x4cc,-0xde)),'Right\x20click\x20+\x20drag,\x20or':this['getLangText']('RightClick'),'Mouse\x20wheel\x20scroll':this[_0x2d0ca2(_0x1f8594._0x3a69f1,_0x1f8594._0x308153)]('MouseWheelScroll'),'Rotate\x20view':this['getLangText'](_0x2d0ca2(0x92a,_0x1f8594._0xd58a78)),'Middle\x20click\x20+\x20drag,\x20or':this['getLangText']('MiddleClickDrag'),'CTRL\x20+\x20Left/Right\x20click\x20+\x20drag':this['getLangText']('CtrlAndClickDrag'),'One\x20finger\x20drag':this[_0x2d0ca2(0xaac,_0x1f8594._0x308153)]('OneFingerDrag'),'Two\x20finger\x20pinch':this['getLangText'](_0x2d0ca2(0xbea,_0x1f8594._0x5a0174)),'Tilt\x20view':this[_0x2d0ca2(0xe93,_0x1f8594._0x308153)]('TiltView'),'Two\x20finger\x20drag,\x20same\x20direction':this['getLangText'](_0x48c824(0xab,0x35e)),'Two\x20finger\x20drag,\x20opposite\x20direction':this[_0x2d0ca2(_0x1f8594._0x47ff04,_0x1f8594._0x160d20)](_0x2d0ca2(0x1516,0x10d9))};let _0x300d4f=_0x42ed1d['getElementsByClassName'](_0x2d0ca2(0x1fa,0x27a));_0x300d4f['length']>0x0&&(_0x300d4f=_0x300d4f[0x0],_0x36f6be[_0x300d4f['textContent']]&&(_0x300d4f[_0x48c824(0x17ce,0xe96)]=_0x300d4f[_0x48c824(-_0x1f8594._0x4eb3e2,-0xf6)][0x0][_0x2d0ca2(_0x1f8594._0x2ee73d,0x8d5)]+_0x36f6be[_0x300d4f['textContent']]));let _0xb85bf2=_0x42ed1d['getElementsByClassName']('cesium-navigation-button-right');_0xb85bf2['length']>0x0&&(_0xb85bf2=_0xb85bf2[0x0],_0x36f6be[_0xb85bf2['textContent']]&&(_0xb85bf2[_0x2d0ca2(0x162a,0xd91)]=_0xb85bf2['children'][0x0][_0x48c824(_0x1f8594._0x30bf8d,0x9da)]+_0x36f6be[_0xb85bf2['textContent']]));function _0x48c824(_0x3eee22,_0x5bb55b){return _0x7afdbe(_0x3eee22,_0x5bb55b- -_0x44654e._0x59c394);}this['_updateDomInnerHtml'](_0x42ed1d,_0x36f6be,'cesium-navigation-help-pan'),this[_0x48c824(0x9b2,0xe45)](_0x42ed1d,_0x36f6be,'cesium-navigation-help-details'),this['_updateDomInnerHtml'](_0x42ed1d,_0x36f6be,_0x48c824(_0x1f8594._0x34d33d,_0x1f8594._0x368138));function _0x2d0ca2(_0x154a3b,_0x19b88a){return _0x54a7f1(_0x19b88a- -_0x514cc7._0x582620,_0x154a3b);}this['_updateDomInnerHtml'](_0x42ed1d,_0x36f6be,'cesium-navigation-help-rotate'),this[_0x48c824(0x43d,0xe45)](_0x42ed1d,_0x36f6be,'cesium-navigation-help-tilt');}}register$2(_0x54a7f1(0x11bb,0xc36),NavigationHelpButton);class ProjectionPicker extends BaseCzmControl{constructor(_0x296d56={}){const _0x1d7d78={_0x2a211a:0x172};super(_0x296d56);function _0x45e9f3(_0x5a0295,_0x2626e5){return _0x7afdbe(_0x5a0295,_0x2626e5- -0x17e);}this[_0x45e9f3(0x1b92,0x129f)]='_projectionPicker';function _0x28a09d(_0x5d64e2,_0x5c0e69){return _0x54a7f1(_0x5c0e69-0x17f,_0x5d64e2);}this[_0x28a09d(0xafb,0x145c)]=_0x28a09d(_0x1d7d78._0x2a211a,0xbf0);}get['parentContainer'](){const _0x3fd406={_0x561209:0x7ce,_0x5d59e2:0x1230,_0x4a6078:0x74f};if(this['options'][_0x11740e(_0x3fd406._0x561209,_0x3fd406._0x5d59e2)])return this[_0xdc8518(0x654,0x1042)]['parentContainer'];function _0xdc8518(_0x5e0102,_0x3097f6){return _0x54a7f1(_0x5e0102- -0x25c,_0x3097f6);}function _0x11740e(_0x2200eb,_0x570b7e){return _0x7afdbe(_0x570b7e,_0x2200eb- -0x25d);}return this[_0x11740e(0x7a4,0x50c)][_0xdc8518(0x1210,_0x3fd406._0x4a6078)];}['_createCzmControl'](){const _0x2b509a={_0x446b34:0x3d8};function _0xbeec0a(_0x106e6a,_0x1ddda9){return _0x7afdbe(_0x1ddda9,_0x106e6a- -0x629);}return new Cesium__namespace['ProjectionPicker'](this[_0xbeec0a(_0x2b509a._0x446b34,0x729)]['toolbar'],this['_map']['scene']);}[_0x7afdbe(0x175e,0xfb4)](){const _0x2262db={_0x196d90:0x7fa,_0x1a3ddb:0x16ca},_0xe6edc={_0x415099:0x115},_0x4224a2=this[_0x2ec819(0xb6d,0xa58)]['container'];function _0x2ec819(_0x39a21d,_0xf74f7a){return _0x7afdbe(_0x39a21d,_0xf74f7a-0x57);}const _0x368623={'Perspective\x20Projection':this['getLangText']('PerspectiveProjection'),'Orthographic\x20Projection':this[_0x1dc96e(_0x2262db._0x196d90,0x113b)]('OrthographicProjection')};function _0x1dc96e(_0x5c43bc,_0x340d98){return _0x7afdbe(_0x5c43bc,_0x340d98- -_0xe6edc._0x415099);}this['_updateDomAttribute'](_0x4224a2,_0x368623,'cesium-projectionPicker-buttonPerspective','title'),this[_0x2ec819(0x87a,0xadf)](_0x4224a2,_0x368623,_0x2ec819(_0x2262db._0x1a3ddb,0x12aa),'title');}}register$2(_0x7afdbe(0xc1b,0x144d),ProjectionPicker);class SceneModePicker extends BaseCzmControl{constructor(_0x40b938={}){super(_0x40b938),this['_czmControlKey']='_sceneModePicker',this['_czmContainerKey']='_wrapper';}get['parentContainer'](){const _0x39a825={_0x5f76e9:0x69c,_0x2f3937:0x60},_0x3b5237={_0x52945b:0x295},_0x42705c={_0x4eba32:0x161};if(this['options'][_0x456622(_0x39a825._0x5f76e9,-0x267)])return this[_0x2dbc3f(0xc7a,0xb45)][_0x456622(_0x39a825._0x5f76e9,-_0x39a825._0x2f3937)];function _0x456622(_0x1ed0de,_0xba86a1){return _0x54a7f1(_0x1ed0de- -_0x42705c._0x4eba32,_0xba86a1);}function _0x2dbc3f(_0x132cbe,_0x215171){return _0x54a7f1(_0x215171-_0x3b5237._0x52945b,_0x132cbe);}return this[_0x2dbc3f(0x21e,0xa68)]['toolbar'];}[_0x54a7f1(0x445,-0x130)](){const _0x4d57b1={_0xd89a54:0x1b29,_0x4619a4:0xd54,_0x52cbcc:0x4fd},_0x530feb={_0x296fc8:0x504},_0x4ef00e={_0x38cc5c:0x46b};function _0x376202(_0x42f310,_0xcb8c2c){return _0x54a7f1(_0xcb8c2c- -_0x4ef00e._0x38cc5c,_0x42f310);}function _0x398324(_0x35c7f5,_0x2f1035){return _0x7afdbe(_0x35c7f5,_0x2f1035- -_0x530feb._0x296fc8);}return new Cesium__namespace[(_0x376202(_0x4d57b1._0xd89a54,0x1226))](this['_map']['toolbar'],this[_0x398324(_0x4d57b1._0x4619a4,_0x4d57b1._0x52cbcc)]['scene']);}[_0x54a7f1(0xd86,0x104b)](){const _0x3974be={_0x1953ac:0x68f,_0x2d73d6:0x1027,_0x213009:0xede,_0x78f8be:0xad7,_0x11dc1c:0x1294},_0x240b16={_0x5cb520:0x372},_0x415342=this[_0x4ce6c2(_0x3974be._0x1953ac,_0x3974be._0x2d73d6)]['container'];function _0x3dc7e9(_0x5ebf36,_0x38a0b9){return _0x7afdbe(_0x5ebf36,_0x38a0b9- -0x26f);}const _0x27a238={'2D':this['getLangText']('_2D'),'3D':this[_0x4ce6c2(_0x3974be._0x213009,0x10db)]('_3D'),'Columbus\x20View':this['getLangText'](_0x4ce6c2(0x733,-0x1c8))};this['_updateDomAttributeByEvent'](_0x415342,_0x27a238,'cesium-sceneModePicker-button3D','title',_0x3dc7e9(_0x3974be._0x78f8be,_0x3974be._0x11dc1c));function _0x4ce6c2(_0x654509,_0x488e73){return _0x7afdbe(_0x488e73,_0x654509- -_0x240b16._0x5cb520);}this['_updateDomAttribute'](_0x415342,_0x27a238,'cesium-sceneModePicker-dropDown-icon','title');}[_0x7afdbe(0x1bb9,0x134f)](){const _0x35e84b={_0x4fac58:0x17e7,_0x1b9b8a:0xbd5,_0x2a55e8:0x15c0,_0x55dbf1:0x5f7,_0x598f75:0x5f7},_0x6c1686={_0x40ec05:0x5d2},_0x50cfc3={_0x3673d5:0x2f2};function _0x2f87f2(_0x1480a9,_0x3eb248){return _0x54a7f1(_0x3eb248- -_0x50cfc3._0x3673d5,_0x1480a9);}function _0x1b8e52(_0x126bab,_0x2fa069){return _0x7afdbe(_0x2fa069,_0x126bab- -_0x6c1686._0x40ec05);}super[_0x1b8e52(0xd7d,_0x35e84b._0x4fac58)](),this['_czmContrl'][_0x1b8e52(_0x35e84b._0x1b9b8a,_0x35e84b._0x2a55e8)][_0x2f87f2(0x497,_0x35e84b._0x55dbf1)]=this['options'][_0x2f87f2(0x6a1,_0x35e84b._0x598f75)]??0x0;}}register$2(_0x54a7f1(0x149f,0x9f5),SceneModePicker);class Timeline extends BaseCzmControl{constructor(_0x684d54={}){const _0x29a58a={_0x59ae34:0xf5},_0x16c85b={_0xc04b90:0x298};function _0x29ecf9(_0x3c2aad,_0x431478){return _0x54a7f1(_0x3c2aad- -_0x16c85b._0xc04b90,_0x431478);}super(_0x684d54),this['_czmControlKey']='_timeline';function _0x175b2c(_0x3ff08a,_0x26c85e){return _0x7afdbe(_0x3ff08a,_0x26c85e- -_0x29a58a._0x59ae34);}this[_0x29ecf9(0x1045,0x19cd)]=_0x29ecf9(0x965,0xff);}['_createCzmContainer'](){const _0xb35d3e={_0x339e76:0x405,_0x18de7f:0x85c};function _0x54acd9(_0x2b8655,_0x4cace7){return _0x7afdbe(_0x2b8655,_0x4cace7-0x31);}const _0x3cea1a=create$4('div',_0x54acd9(0xe38,0x1707));_0x3cea1a['style']['left']='0',_0x3cea1a[_0x5b3273(_0xb35d3e._0x339e76,_0xb35d3e._0x18de7f)][_0x54acd9(0xad,0x8a8)]='0';function _0x5b3273(_0x5b7378,_0x5ce1c3){return _0x54a7f1(_0x5b7378- -0x97,_0x5ce1c3);}return _0x3cea1a;}[_0x7afdbe(0x617,0x673)](){const _0x144a11={_0x125b65:0xbc0,_0x5af485:0x59b,_0x45cecc:0x4eb,_0x15c3bc:0x560,_0x4d473f:0x47d,_0x369a9d:0x18c,_0xb6122e:0x560,_0x3d18ad:0x33d,_0x1d0db0:0xeef},_0x5a6149={_0x33a624:0x3c1},_0x22bc8c={_0x49c820:0xe9d,_0x48753b:0x1545,_0x52829d:0x14dc,_0x359971:0x6b9,_0x5327ec:0x846,_0x29a436:0x7b5},_0x5b3868=this;if(!this[_0x50dcad(0x71d,0x4ff)]['format']||this['options'][_0x142af2(0x3a2,_0x144a11._0x125b65)]==='simplify')Cesium__namespace['Timeline']['prototype'][_0x50dcad(0xcc5,0x1fe)]=function(_0x55c411){function _0x2be1d3(_0x3bfbc1,_0x503dd1){return _0x50dcad(_0x3bfbc1-0x226,_0x503dd1);}const _0x2d199c=Cesium__namespace[_0x2be1d3(_0x22bc8c._0x49c820,0x16ec)][_0x2be1d3(_0x22bc8c._0x48753b,0x1039)](this[_0x213bcc(0x13a4,0x1901)]),_0x254538=Cesium__namespace['JulianDate']['toDate'](this['_endJulian']),_0x1f54a7=_0x254538['getFullYear']()-_0x2d199c['getFullYear'](),_0x5a2b9c=_0x254538[_0x2be1d3(0x1248,0x1a68)]()-_0x2d199c['getMonth'](),_0x51f6c5=_0x254538['getDate']()-_0x2d199c['getDate'](),_0x56a219=_0x254538['getHours']()-_0x2d199c['getHours']();function _0x213bcc(_0x1d83a9,_0x104a2f){return _0x50dcad(_0x1d83a9-0x1bd,_0x104a2f);}const _0x30d04d=_0x254538['getMinutes']()-_0x2d199c['getMinutes'](),_0x473347=_0x254538[_0x2be1d3(0x948,0x1339)]()-_0x2d199c['getSeconds'](),_0x1b7145=Cesium__namespace[_0x213bcc(0xe34,0xa01)][_0x213bcc(_0x22bc8c._0x52829d,0x13f4)](_0x55c411);if(_0x1f54a7===0x0){if(_0x5a2b9c===0x0&&_0x51f6c5<0xa){if(_0x51f6c5===0x0){if(_0x56a219===0x0){if(_0x30d04d===0x0&&_0x473347<0xa){if(_0x473347===0x0)return formatDate(_0x1b7145,'S');return formatDate(_0x1b7145,_0x2be1d3(_0x22bc8c._0x359971,-0x370));}return formatDate(_0x1b7145,_0x213bcc(_0x22bc8c._0x5327ec,0x3df));}return formatDate(_0x1b7145,'HH:mm:ss');}return formatDate(_0x1b7145,'MM-dd\x20HH:mm');}return formatDate(_0x1b7145,_0x213bcc(_0x22bc8c._0x29a436,0x73d));}return formatDate(_0x1b7145,'yyyy-MM-dd');};else this['options']['format']===_0x142af2(0xea1,_0x144a11._0x5af485)&&(Cesium__namespace[_0x142af2(_0x144a11._0x45cecc,_0x144a11._0x15c3bc)][_0x50dcad(_0x144a11._0x4d473f,0x8d9)][_0x50dcad(0xcc5,0xa42)]=function(_0x398e05){const _0x21b516=Cesium__namespace['JulianDate']['secondsDifference'](_0x398e05,this['_startJulian']);function _0x16aae9(_0x3d4a2f,_0x40fd5a){return _0x50dcad(_0x3d4a2f- -0x337,_0x40fd5a);}function _0x2f58ba(_0x24cc7d,_0x1c86ae){return _0x50dcad(_0x24cc7d-0x324,_0x1c86ae);}return formatTime(_0x21b516,{'getLangText':_0x5b3868[_0x16aae9(0xb58,0xb51)][_0x16aae9(-0x1f7,-0x672)](_0x5b3868)});});function _0x142af2(_0xaf04e3,_0x51d55e){return _0x7afdbe(_0xaf04e3,_0x51d55e- -0x57c);}function _0x50dcad(_0x58c007,_0x3db052){return _0x7afdbe(_0x3db052,_0x58c007- -_0x5a6149._0x33a624);}return new Cesium__namespace[(_0x142af2(-_0x144a11._0x369a9d,_0x144a11._0xb6122e))](this[_0x142af2(0x36f,_0x144a11._0x3d18ad)],this['_map'][_0x50dcad(0x846,_0x144a11._0x1d0db0)]);}['_addedHook'](){const _0xae9206={_0x7c7e8f:0x6bc,_0x456fdd:0x22,_0x107138:0x40f,_0x1ff5b4:0x145b,_0x326883:0xaef,_0x54a951:0x1e5,_0x46cd1a:0xcf3,_0x42caf1:0x929},_0x18ce22={_0x25b8e7:0xa7},_0x269fb4={_0x18c9e8:0x6f3,_0x401d9a:0x77c,_0x4d20d8:0x40},_0x6a67af={_0xdd32c9:0x18e};super[_0x267424(0x107a,_0xae9206._0x7c7e8f)]();function _0x38308d(_0x215aa8,_0x28b483){return _0x54a7f1(_0x28b483- -0x4a1,_0x215aa8);}const _0x57a26e=this[_0x38308d(-_0xae9206._0x456fdd,_0xae9206._0x107138)][_0x267424(_0xae9206._0x1ff5b4,_0xae9206._0x326883)]??!![],_0x18a005=this[_0x267424(_0xae9206._0x54a951,-0x258)]['zoomFrom'];this['_czmContrl'][_0x38308d(_0xae9206._0x46cd1a,0x69a)]=function(_0x46772e){if(!_0x57a26e)return;return _0x18a005['bind'](this)(_0x46772e);};const _0x10656f=(this[_0x38308d(0xd84,0x40f)]['maxSpan']??0x1)*0xa,_0x4d4186=this['_czmContrl'][_0x38308d(_0xae9206._0x42caf1,0x11a6)];this[_0x38308d(-0x76f,-0x215)]['zoomTo']=function(_0x280a97,_0x2cdb5b){const _0xda3ea1=Cesium__namespace['JulianDate'][_0x4ba495(_0x269fb4._0x18c9e8,_0x269fb4._0x401d9a)](_0x2cdb5b,_0x280a97);function _0x1ccbcd(_0x2c49a3,_0x172773){return _0x38308d(_0x2c49a3,_0x172773-_0x6a67af._0xdd32c9);}function _0x4ba495(_0x13758c,_0x44a232){return _0x38308d(_0x44a232,_0x13758c-0x5d0);}if(_0xda3ea1>_0x10656f)return _0x4d4186[_0x1ccbcd(0x7b0,-_0x269fb4._0x4d20d8)](this)(_0x280a97,_0x2cdb5b);};function _0x267424(_0x267ffd,_0x799046){return _0x54a7f1(_0x267ffd- -_0x18ce22._0x25b8e7,_0x799046);}this['_czmContrl']['addEventListener']('settime',this['onTimelineScrubfunction'],![]),this[_0x267424(0x15a0,0x14f2)](this['_map']['clock']['startTime'],this['_map']['clock']['stopTime']);}['onTimelineScrubfunction'](_0x916d8a){const _0x14603a={_0x24085c:0x5cf,_0x362826:0x55c},_0x3e58d2={_0x56c959:0x1a8},_0x37b192=_0x916d8a['clock'];function _0x10e6a3(_0x33d743,_0x2716a3){return _0x54a7f1(_0x2716a3-_0x3e58d2._0x56c959,_0x33d743);}_0x37b192['currentTime']=_0x916d8a[_0x10e6a3(_0x14603a._0x24085c,_0x14603a._0x362826)],_0x37b192['shouldAnimate']=![];}['zoomTo'](_0x282cde,_0x5c266a){clearTimeout(this['_timeTik']),this['_timeTik']=setTimeout(()=>{const _0x20eb1f={_0xbd7719:0xe1};function _0x54aa7e(_0x3660d8,_0x1f919d){return _0x536c(_0x3660d8- -_0x20eb1f._0xbd7719,_0x1f919d);}this['isAdded']&&this['_czmContrl'][_0x54aa7e(0x143f,0x1924)](_0x282cde,_0x5c266a);},0x258);}[_0x7afdbe(0x14ae,0xd7b)](){const _0x1bb238={_0x316f8a:0x2a2};function _0x37be45(_0x180181,_0x58f1d9){return _0x54a7f1(_0x58f1d9-_0x1bb238._0x316f8a,_0x180181);}this[_0x37be45(0x2fc,0x52e)]['resize']();}['_removedBeforeHook'](){const _0x49b585={_0x4790e1:0x485},_0x33c4ba={_0xed4d41:0x130};function _0x166ed1(_0xd21bf9,_0x3d47ac){return _0x54a7f1(_0x3d47ac-_0x33c4ba._0xed4d41,_0xd21bf9);}this['_czmContrl'][_0x187244(0xac0,0xa41)]('settime',this['onTimelineScrubfunction'],![]);function _0x187244(_0xd485c,_0x24cf2d){return _0x54a7f1(_0xd485c- -_0x49b585._0x4790e1,_0x24cf2d);}super[_0x166ed1(0x324,0x384)]();}[_0x54a7f1(0x17ad,0x1297)](_0x32eaff){function _0x4de062(_0x3c64c5,_0x42e3cd){return _0x7afdbe(_0x42e3cd,_0x3c64c5- -0x66e);}_0x32eaff['style']['right']=_0x4de062(0x4fe,-0x49a);}}register$2(_0x7afdbe(0x2ff,0x836),Timeline);class VRButton extends BaseCzmControl{constructor(_0x421122={}){const _0x283606={_0x399a32:0x1cd2};super(_0x421122);function _0x9d3897(_0x858ba4,_0x309e58){return _0x54a7f1(_0x309e58- -0x86,_0x858ba4);}this[_0x4c80e2(0x1224,_0x283606._0x399a32)]='_vrButton';function _0x4c80e2(_0xcd92ca,_0x36e1d6){return _0x54a7f1(_0xcd92ca-0x35,_0x36e1d6);}this[_0x9d3897(0x1be2,0x1257)]='_container';}get[_0x7afdbe(0x19e,0xa2b)](){const _0x353526={_0x144351:0xb53,_0x14d098:0x14f6},_0x5e1342={_0x33df66:0x2a3};if(this['options']['parentContainer'])return this[_0xee841b(_0x353526._0x144351,_0x353526._0x14d098)]['parentContainer'];function _0xee841b(_0x4f80cb,_0x495ccb){return _0x54a7f1(_0x4f80cb-_0x5e1342._0x33df66,_0x495ccb);}return this['_map']['toolbar'];}['_createCzmContainer'](){return create$4('div','cesium-button\x20cesium-toolbar-button\x20mars3d-vrButton');}[_0x54a7f1(0x445,0xbe7)](){const _0x1ed62b={_0x21b3d1:0x5eb,_0x305bd1:0xc88,_0x50745a:0x484,_0xfa6193:0x1706};function _0x16695c(_0x4b20a2,_0x33478c){return _0x54a7f1(_0x33478c- -0x207,_0x4b20a2);}var _0x45feb4;function _0x25f2e7(_0x35b95b,_0x518e2e){return _0x54a7f1(_0x35b95b- -0x12c,_0x518e2e);}const _0x2d980f=this[_0x25f2e7(0x784,_0x1ed62b._0x21b3d1)]['fullscreenElement']||((_0x45feb4=this['_map']['options'][_0x25f2e7(0x5bd,-0x8e)])===null||_0x45feb4===void 0x0?void 0x0:_0x45feb4['fullscreenElement']);return new Cesium__namespace[(_0x16695c(_0x1ed62b._0x305bd1,0x117c))](this[_0x16695c(-0xa9,_0x1ed62b._0x50745a)],this['_map'][_0x25f2e7(0xf53,_0x1ed62b._0xfa6193)],_0x2d980f);}['_rebindCzmContainer'](_0x18bcd7){const _0x4650d0={_0x30af24:0x11fa,_0x961db8:0x651,_0x16b7fe:0x1096,_0x3a70df:0x1535,_0x3a680c:0x13e2},_0x624fcd={_0x10c8ba:0x1e4};var _0x3f9d85;removeClass(_0x18bcd7,_0x5b6e48(_0x4650d0._0x30af24,0xa3e)),addClass(_0x18bcd7,'cesium-button\x20cesium-toolbar-button\x20mars3d-vrButton');function _0x5b6e48(_0x18e5b6,_0x40231c){return _0x7afdbe(_0x40231c,_0x18e5b6- -0x353);}_0x18bcd7['parentNode'][_0x5b6e48(0x366,-0x253)](_0x18bcd7);const _0x46942e=(_0x3f9d85=this[_0x5b6e48(0x839,_0x4650d0._0x961db8)][_0x5b6e48(_0x4650d0._0x16b7fe,_0x4650d0._0x3a70df)])===null||_0x3f9d85===void 0x0?void 0x0:_0x3f9d85['_wrapper'];function _0x4db31e(_0x2ca659,_0xbffd82){return _0x7afdbe(_0xbffd82,_0x2ca659- -_0x624fcd._0x10c8ba);}_0x46942e?this['parentContainer']['insertBefore'](_0x18bcd7,_0x46942e):this['parentContainer'][_0x5b6e48(_0x4650d0._0x3a680c,0x1ac7)](_0x18bcd7);}[_0x54a7f1(0xd86,0x417)](){const _0x2a6814={_0x3f0542:0xc27,_0x5e2fc5:0x115f},_0x3966c4=this['_map'][_0x118bf6(_0x2a6814._0x3f0542,0x730)];function _0x118bf6(_0x2dd3c3,_0x1da7ce){return _0x54a7f1(_0x2dd3c3-0x2a,_0x1da7ce);}function _0x2c2aaa(_0x4dd69a,_0x1e81c4){return _0x7afdbe(_0x1e81c4,_0x4dd69a- -0xf1);}const _0x1ea532={'Enter\x20VR\x20mode':this[_0x2c2aaa(_0x2a6814._0x5e2fc5,0x8c0)]('EnterVRMode'),'Exit\x20VR\x20mode':this['getLangText']('ExitVRMode'),'VR\x20mode\x20is\x20unavailable':this['getLangText']('VRModeIsUnavailable')};this['_updateDomAttributeByEvent'](_0x3966c4,_0x1ea532,'cesium-vrButton','title','onmouseover');}}register$2('vrButton',VRButton);class LocationBar extends BaseControl{constructor(_0x243f43={}){const _0x14f483={_0x2cddff:0x200,_0x4bf34d:0x3d2,_0x4a6f91:0xfdf},_0x3898be={_0x34af62:0x3c};function _0x5130c8(_0x5db0dd,_0x230dff){return _0x7afdbe(_0x230dff,_0x5db0dd- -0x70c);}super(_0x243f43);function _0x3617d6(_0x2beb13,_0x5390e8){return _0x54a7f1(_0x2beb13- -_0x3898be._0x34af62,_0x5390e8);}this[_0x3617d6(0x874,_0x14f483._0x2cddff)][_0x5130c8(0x2ed,0x2ab)]=this[_0x5130c8(_0x14f483._0x4bf34d,-0x5fa)][_0x5130c8(0x2ed,0x5cd)]??0x32,this[_0x5130c8(_0x14f483._0x4a6f91,0xb0e)]={};}[_0x7afdbe(0x783,0x4b9)](){const _0x1e9d0e={_0x17cccf:0x1866,_0x595e2e:0x3e9,_0x30ac19:0x160c,_0x5b0f3a:0xf1b,_0x2500c7:0x3e9,_0x440cff:0x6c0,_0x5c9fe3:0x258,_0x1fd921:0x864,_0x16c744:0x6cb,_0xa62f34:0xd89,_0x133930:0x41f,_0xd24d98:0xea,_0x5d0dd1:0x479,_0x33a7a4:0x83f,_0x35d966:0x525,_0x16fac6:0xb77,_0x468173:0x11ac,_0xf5d910:0x1b0e,_0x27dd4e:0x14fc,_0x1bdc7c:0x1078,_0x44fb07:0x191c,_0x1a3c20:0x16a2,_0x427ed6:0x315,_0x5d6f78:0x13d1};Cesium__namespace[_0x12ea86(0x1b32,_0x1e9d0e._0x17cccf)](this[_0x4d363b(0x3e9,0x391)]['template'])?Array['isArray'](this['options']['template'])?this['template']=this[_0x4d363b(_0x1e9d0e._0x595e2e,-0x6d6)]['template'][this[_0x4d363b(0x30c,-0x28c)]['lang']]:this['template']=this['options']['template']:this[_0x12ea86(_0x1e9d0e._0x30ac19,0x17e4)]=_0x12ea86(0x1672,0xc8f);if(Cesium__namespace['defined'](this['options'][_0x12ea86(_0x1e9d0e._0x5b0f3a,0x6c0)])){if(isString(this['options']['crs']))this[_0x12ea86(0x27e,0xad9)]=this[_0x4d363b(_0x1e9d0e._0x2500c7,0x641)][_0x12ea86(-0xeb,_0x1e9d0e._0x440cff)];else this['options']['crs']&&(this['_crs']=CRS['CGCS2000_GK_Zone_3']);}else isString(this['template'])&&this['template'][_0x12ea86(-_0x1e9d0e._0x5c9fe3,0x794)](_0x12ea86(_0x1e9d0e._0x1fd921,0xa7b))!==-0x1&&(this['_crs']=CRS[_0x4d363b(_0x1e9d0e._0x16c744,_0x1e9d0e._0xa62f34)]);function _0x4d363b(_0x566beb,_0x4df195){return _0x54a7f1(_0x566beb- -0x4c7,_0x4df195);}this['_container']=create$4(_0x4d363b(0xea,_0x1e9d0e._0x133930),'mars3d-locationbar\x20no-print\x20'+this[_0x12ea86(0x1c9c,0x12ae)]),this['_containerCon']=create$4(_0x4d363b(_0x1e9d0e._0xd24d98,_0x1e9d0e._0x5d0dd1),_0x12ea86(_0x1e9d0e._0x33a7a4,_0x1e9d0e._0x35d966),this['_container']);this['options']['style']?this['setStyle'](this['options'][_0x12ea86(_0x1e9d0e._0x16fac6,0x681)]):(this[_0x4d363b(0xdee,0x1430)]=!![],this[_0x12ea86(0x1370,0xe88)]());this['_lastFpsSampleTime']=Cesium__namespace[_0x12ea86(_0x1e9d0e._0x468173,0x100d)](),this['_lastMsSampleTime']=Cesium__namespace['getTimestamp'](),this[_0x12ea86(_0x1e9d0e._0xf5d910,_0x1e9d0e._0x27dd4e)]=0x0,this[_0x12ea86(0x13cd,_0x1e9d0e._0x1bdc7c)]=0x0;function _0x12ea86(_0x1c89fc,_0xcfb981){return _0x7afdbe(_0x1c89fc,_0xcfb981- -0x49);}this[_0x12ea86(_0x1e9d0e._0x44fb07,_0x1e9d0e._0x1a3c20)][_0x4d363b(0xc5d,_0x1e9d0e._0x427ed6)]='',this[_0x4d363b(0xff6,_0x1e9d0e._0x5d6f78)]['ms']='';}['_addedHook'](){const _0xe505a7={_0x32a5a7:0x155,_0x5848fc:0x9bd,_0x598ed0:0x870,_0x9c4167:0xa5d,_0x119689:0x1139},_0x3ab623={_0x5883f6:0x9d};function _0x243db7(_0xa4018,_0x50c09d){return _0x54a7f1(_0xa4018- -0x246,_0x50c09d);}this['_map']['on'](EventType['preRender'],this['_map_preRenderHandler'],this);function _0x5cc1f0(_0xf1ee70,_0x5c0085){return _0x54a7f1(_0x5c0085-_0x3ab623._0x5883f6,_0xf1ee70);}this['_map']['on'](EventType['mouseMove'],this[_0x243db7(_0xe505a7._0x32a5a7,0x471)],this),this['_map']['on'](EventType[_0x5cc1f0(_0xe505a7._0x5848fc,0xf3c)],this['_cameraHandler'],this),this[_0x5cc1f0(0x110c,_0xe505a7._0x598ed0)]['on'](EventType['addControl'],this[_0x243db7(_0xe505a7._0x9c4167,0x3c8)],this),this[_0x5cc1f0(0x368,0x870)]['on'](EventType[_0x5cc1f0(_0xe505a7._0x119689,0xf69)],this['_updateControlHandler'],this),this['_cameraHandler']();}[_0x54a7f1(0xa4f,0x5a)](){const _0x18867b={_0x9bd576:0x6a0,_0x2d50f4:0x4ed,_0x263fb1:0x156,_0x353dc3:0x8cd,_0x30f797:0x1a,_0x3a2c29:0x887},_0x1ec238={_0x28bd5f:0x64a},_0x3d98c1={_0x567ea2:0x604};this['_map'][_0x4bdeb5(-_0x18867b._0x9bd576,-0x89)](EventType['preRender'],this[_0x20c22d(0x78,0x671)],this),this['_map']['off'](EventType['mouseMove'],this[_0x4bdeb5(_0x18867b._0x2d50f4,-0x3b)],this),this['_map']['off'](EventType['cameraMoveEnd'],this['_cameraHandler'],this),this[_0x4bdeb5(-0x67e,0x3fd)]['off'](EventType['addControl'],this[_0x4bdeb5(-_0x18867b._0x263fb1,_0x18867b._0x353dc3)],this);function _0x4bdeb5(_0x307a96,_0x57fd8d){return _0x7afdbe(_0x307a96,_0x57fd8d- -_0x3d98c1._0x567ea2);}function _0x20c22d(_0x5526f0,_0x2993c8){return _0x7afdbe(_0x5526f0,_0x2993c8- -_0x1ec238._0x28bd5f);}this['_map']['off'](EventType['updateControl'],this[_0x20c22d(_0x18867b._0x30f797,_0x18867b._0x3a2c29)],this);}['_cameraHandler'](){const _0x115427={_0x342a0c:0x942,_0x10dc00:0x311},_0x472054={_0x23868b:0x261};function _0x23d1b7(_0x1b07af,_0x320e5a){return _0x54a7f1(_0x1b07af- -_0x472054._0x23868b,_0x320e5a);}if(!this[_0x23d1b7(_0x115427._0x342a0c,_0x115427._0x10dc00)])return;const _0x43b10b=this['_map']['getCenter']();_0x43b10b&&this['_templateHtml'](_0x43b10b);}['_mouseMoveHandler'](_0x584c9d){const _0x41eabe={_0x400ad5:0xab7,_0x521d80:0x4f6,_0x273011:0x1fa},_0x47c668={_0xd206dc:0xe0a,_0x2b4641:0x81c};this['moveTimer']&&(clearTimeout(this[_0x6b922c(_0x41eabe._0x400ad5,0x691)]),delete this['moveTimer']);function _0x6b922c(_0x10cf87,_0x49f8b4){return _0x54a7f1(_0x10cf87- -0x4cf,_0x49f8b4);}function _0x1a77a4(_0x4f5c75,_0x1d90eb){return _0x54a7f1(_0x4f5c75- -0x2d5,_0x1d90eb);}this['moveTimer']=setTimeout(()=>{function _0x9aceaa(_0x4e8ebd,_0x259b82){return _0x6b922c(_0x259b82-0x426,_0x4e8ebd);}delete this[_0xebc361(_0x47c668._0xd206dc,0x53a)];if(!this[_0x9aceaa(_0x47c668._0x2b4641,0xafa)])return;const _0x3eea76=_0x584c9d['cartesian'];function _0xebc361(_0x14a8d5,_0x3a1cb1){return _0x6b922c(_0x14a8d5-0x353,_0x3a1cb1);}_0x3eea76&&this[_0x9aceaa(-0x454,0x625)](LngLatPoint['fromCartesian'](_0x3eea76));},this['options'][_0x1a77a4(_0x41eabe._0x521d80,-_0x41eabe._0x273011)]);}['_templateHtml'](_0x312433){const _0x3b3a2f={_0x25c4a6:0xfb,_0x493fe7:0xfbc,_0x42f9bb:0x3ee,_0x55fc73:0x415,_0x63cce4:0x1db1,_0x243e83:0xfe1,_0x4adf5a:0x92c,_0x139ab0:0xdf3,_0x51dbc9:0xa5e,_0x3c4e60:0x12eb,_0xb6b0f9:0x1b66,_0x3770d5:0xd35,_0x205ff8:0x114d,_0xdcde3d:0x539,_0x29583a:0x990,_0x3fcd2a:0x92c,_0x317de0:0xef5,_0x326ce4:0x169e,_0x492349:0x745,_0x307af2:0x1471,_0x48c002:0xf77,_0xf5f5d6:0xcff,_0x50db00:0x1136,_0x2e70b3:0x1492,_0x9676b9:0xaa6,_0x2bb44e:0x1350,_0x2c4862:0x14e2,_0x17c7d2:0x9ce,_0x3a7d65:0x10a8,_0xbf4d8b:0x484};this['locationData']['cameraHeight']=this['_map'][_0x5c10d6(_0x3b3a2f._0x25c4a6,0x3ee)]['positionCartographic']['height'][_0x5c10d6(0xd88,_0x3b3a2f._0x493fe7)](LngLatPoint['FormatAltLength']),this['locationData']['heading']=Cesium__namespace[_0x561077(0x9be,0x1260)]['toDegrees'](this['_map'][_0x5c10d6(-0x410,_0x3b3a2f._0x42f9bb)][_0x561077(-_0x3b3a2f._0x55fc73,0x2c1)])['toFixed'](0x0);function _0x5c10d6(_0x4a4ea1,_0x18fc25){return _0x7afdbe(_0x4a4ea1,_0x18fc25- -0x39b);}this[_0x561077(_0x3b3a2f._0x63cce4,0x1471)]['pitch']=Cesium__namespace['Math'][_0x5c10d6(_0x3b3a2f._0x243e83,0xdd4)](this['_map'][_0x5c10d6(_0x3b3a2f._0x4adf5a,_0x3b3a2f._0x42f9bb)]['pitch'])['toFixed'](0x0),this['locationData'][_0x5c10d6(_0x3b3a2f._0x139ab0,0x35f)]=this['_map']['level'],this[_0x561077(0x1568,0x1471)][_0x5c10d6(_0x3b3a2f._0x51dbc9,0x2e8)]=formatNum$1(this['_map']['getRealAlt'](_0x312433['alt']),LngLatPoint['FormatAltLength']);const _0x3c14a4=this['options']['latDecimal']??LngLatPoint['FormatLength'];this['locationData'][_0x561077(0xbd0,_0x3b3a2f._0x3c4e60)]=_0x312433['lng']['toFixed'](_0x3c14a4),this[_0x5c10d6(_0x3b3a2f._0xb6b0f9,0x1350)]['lat']=_0x312433[_0x5c10d6(_0x3b3a2f._0x3770d5,_0x3b3a2f._0x205ff8)]['toFixed'](_0x3c14a4);if(this['_crs']){const _0x52a4eb=this[_0x561077(_0x3b3a2f._0xdcde3d,0x864)][_0x5c10d6(0x999,_0x3b3a2f._0x29583a)]??0x1,_0x3a6499=proj4Trans([_0x312433[_0x561077(_0x3b3a2f._0x3fcd2a,_0x3b3a2f._0x3c4e60)],_0x312433[_0x5c10d6(_0x3b3a2f._0x317de0,_0x3b3a2f._0x205ff8)]],'EPSG:4326',this['_crs']);_0x3a6499[0x0]===_0x312433['lng']?this[_0x561077(0x1226,0x1471)][_0x5c10d6(0x8fc,0xef)]='':this[_0x561077(_0x3b3a2f._0x326ce4,0x1471)]['crsx']=_0x3a6499[0x0][_0x561077(_0x3b3a2f._0x492349,0x10dd)](_0x52a4eb),_0x3a6499[0x1]===_0x312433['lat']?this['locationData'][_0x5c10d6(0x16db,0x1617)]='':this[_0x561077(0xb47,_0x3b3a2f._0x307af2)][_0x561077(_0x3b3a2f._0x48c002,0x1738)]=_0x3a6499[0x1][_0x561077(_0x3b3a2f._0xf5f5d6,0x10dd)](_0x52a4eb);}let _0xc469db;typeof this[_0x5c10d6(_0x3b3a2f._0x50db00,_0x3b3a2f._0x2e70b3)]==='function'?_0xc469db=this['template'](this['locationData']):(this['options'][_0x561077(_0x3b3a2f._0x9676b9,0x904)]&&(this[_0x5c10d6(0x1162,_0x3b3a2f._0x2bb44e)]=this['options']['formatData'](this[_0x561077(_0x3b3a2f._0x2c4862,0x1471)])),_0xc469db=template(this[_0x561077(0x12f5,0x15b3)],this['locationData']));function _0x561077(_0x313094,_0x542ea0){return _0x54a7f1(_0x542ea0- -0x4c,_0x313094);}this['_containerCon'][_0x5c10d6(_0x3b3a2f._0x17c7d2,_0x3b3a2f._0x3a7d65)]=_0xc469db,this['fire'](EventType[_0x5c10d6(0x125,_0x3b3a2f._0xbf4d8b)]);}['_updateControlHandler'](_0x2e26c2){const _0x45d615={_0x28c07e:0xe8,_0x37158f:0x1241,_0x21f1fd:0xe9c,_0x4aab99:0x494,_0x5dca69:0x1b3a,_0x3bc0e9:0x3aa},_0x3b42d4={_0x48a809:0x56d};function _0x2b1a28(_0x1827f8,_0x1187e1){return _0x54a7f1(_0x1827f8- -0x27d,_0x1187e1);}var _0x265538,_0x4e2c8d;function _0x383c59(_0x501f39,_0x1a9d8f){return _0x7afdbe(_0x501f39,_0x1a9d8f- -_0x3b42d4._0x48a809);}if(this['_autoStyle']&&(!_0x2e26c2||((_0x265538=_0x2e26c2['control'])===null||_0x265538===void 0x0?void 0x0:_0x265538['type'])==='animation'||((_0x4e2c8d=_0x2e26c2[_0x383c59(0x21e,0x3aa)])===null||_0x4e2c8d===void 0x0?void 0x0:_0x4e2c8d['type'])===_0x2b1a28(0x38b,-_0x45d615._0x28c07e))){var _0xe3e8c8,_0x27a45a;this[_0x383c59(_0x45d615._0x37158f,0xe0e)]({'left':(_0xe3e8c8=this[_0x383c59(_0x45d615._0x21f1fd,_0x45d615._0x4aab99)][_0x2b1a28(0x46c,0x1b3)]['animation'])!==null&&_0xe3e8c8!==void 0x0&&_0xe3e8c8[_0x383c59(_0x45d615._0x5dca69,0x12b4)]?'170px':'0','right':'0','bottom':(_0x27a45a=this['_map'][_0x383c59(0x54b,_0x45d615._0x3bc0e9)]['timeline'])!==null&&_0x27a45a!==void 0x0&&_0x27a45a['show']?'25px':'0'});}}[_0x54a7f1(0xa8d,0x1165)](_0x2008fa){const _0xd111a7={_0x439ed0:0x13e7,_0x5a4dd9:0x1708,_0x5eb028:0x1081,_0x3b096b:0x11f4,_0x2ea57b:0x1741},_0x5696e2=Cesium__namespace[_0x5738b1(0x62c,0xef8)]();this[_0x5738b1(0x1704,_0xd111a7._0x439ed0)]++;function _0xd69a01(_0x1d8f8d,_0x231c6a){return _0x54a7f1(_0x231c6a- -0x43c,_0x1d8f8d);}const _0x1b8f9b=_0x5696e2-this[_0x5738b1(0x4f8,0x32f)];_0x1b8f9b>0x3e8&&(this[_0xd69a01(_0xd111a7._0x5a4dd9,_0xd111a7._0x5eb028)][_0x5738b1(0x98b,_0xd111a7._0x3b096b)]=this['_fpsFrameCount']*0x3e8/_0x1b8f9b|0x0,this['_lastFpsSampleTime']=_0x5696e2,this['_fpsFrameCount']=0x0);this['_msFrameCount']++;const _0x32dcdb=_0x5696e2-this[_0x5738b1(0x20fb,_0xd111a7._0x2ea57b)];function _0x5738b1(_0x4c58b5,_0x1c25e1){return _0x54a7f1(_0x1c25e1-0xd0,_0x4c58b5);}_0x32dcdb>0xc8&&(this['locationData']['ms']=(_0x32dcdb/this['_msFrameCount'])['toFixed'](0x2),this['_lastMsSampleTime']=_0x5696e2,this['_msFrameCount']=0x0);}}register$2('locationBar',LocationBar);class MouseDownView extends BaseControl{['_mountedHook'](){const _0x32057c={_0x55a7f9:0x148e},_0x82dcc6={_0x10ae64:0xc4};this['_container']=create$4(_0x6bf990(0x4ed,0x899),_0x6bf990(0x15bc,0x1a15)+this['_className']);function _0x777a82(_0x20d9e8,_0x1ab622){return _0x54a7f1(_0x1ab622-0x28f,_0x20d9e8);}this['_container']['id']=this[_0x6bf990(0xad6,_0x32057c._0x55a7f9)]+_0x6bf990(0x968,0xab3);function _0x6bf990(_0x4bb9c0,_0x14c867){return _0x54a7f1(_0x4bb9c0- -_0x82dcc6._0x10ae64,_0x14c867);}create$4('div','mars3d-mousedownview-img',this[_0x6bf990(0x5c7,0xc82)]);}['changeMouseModel'](){const _0x17df73={_0x2a1dc1:0xa4f},_0x1cef46={_0x12bd53:0x5b};function _0x24694e(_0x220f98,_0x350f92){return _0x7afdbe(_0x350f92,_0x220f98-_0x1cef46._0x12bd53);}function _0x44124b(_0x497b59,_0x10f999){return _0x7afdbe(_0x10f999,_0x497b59- -0x378);}this[_0x24694e(0xaac,0x10a3)]&&(this[_0x44124b(0x905,_0x17df73._0x2a1dc1)](),this['_addedHook']());}[_0x54a7f1(0x1121,0xfd5)](){const _0x59e3fd={_0x229f9d:0xff1,_0x152b49:0x7f8,_0x3046b6:0x734},_0x3b3c42={_0x5f4498:0x487};if(!isPCBroswer())return;function _0x1880e4(_0x4b89bf,_0x1420cc){return _0x7afdbe(_0x4b89bf,_0x1420cc- -_0x3b3c42._0x5f4498);}function _0x3970c3(_0x1964b9,_0x5a73b1){return _0x54a7f1(_0x5a73b1- -0x3e6,_0x1964b9);}this['_map']['on'](EventType['wheel'],this['_mousWheelHandler'],this),this['_map'][_0x1880e4(_0x59e3fd._0x229f9d,0xe08)]?(this['_map']['on'](EventType['rightDown'],this['_mousMiddleDownHandler'],this),this['_map']['on'](EventType[_0x3970c3(0x148,_0x59e3fd._0x152b49)],this[_0x1880e4(0xef3,0x7b8)],this)):(this['_map']['on'](EventType['middleDown'],this[_0x1880e4(0x2bc,_0x59e3fd._0x3046b6)],this),this['_map']['on'](EventType['middleUp'],this['_mousMiddleUpHandler'],this)),this[_0x1880e4(0x880,0x7b8)]();}['_removedHook'](){const _0x228ee7={_0x160836:0x1007,_0x258f1c:0xb9d,_0x1013ac:0x8f8,_0x183ce7:0x281,_0x435e7b:0x3e7,_0x504328:0x8d1,_0x240102:0x36,_0x2ef311:0xa81,_0x4bde1d:0xcbf,_0xb5e2f4:0xa81,_0x870992:0x960,_0x1138f3:0x4bc,_0x419d95:0xea4,_0x582013:0x5a3},_0x44b623={_0x169dd1:0x2ae};if(!isPCBroswer())return;function _0xa1d509(_0x217e17,_0x15ac1e){return _0x54a7f1(_0x15ac1e-_0x44b623._0x169dd1,_0x217e17);}this['_map']['off'](EventType[_0x45bb02(_0x228ee7._0x160836,0xe37)],this[_0xa1d509(_0x228ee7._0x258f1c,_0x228ee7._0x1013ac)],this);this[_0x45bb02(-_0x228ee7._0x183ce7,0x4bc)][_0x45bb02(_0x228ee7._0x435e7b,0xd4a)]?(this['_map'][_0x45bb02(_0x228ee7._0x504328,_0x228ee7._0x240102)](EventType['rightDown'],this['_mousMiddleDownHandler'],this),this[_0xa1d509(0x9db,_0x228ee7._0x2ef311)]['off'](EventType['rightUp'],this[_0xa1d509(0x4b7,_0x228ee7._0x4bde1d)],this)):(this[_0xa1d509(0x145f,_0x228ee7._0xb5e2f4)][_0xa1d509(0xca8,0x5fb)](EventType[_0xa1d509(0x181c,0x10b7)],this['_mousMiddleDownHandler'],this),this[_0x45bb02(_0x228ee7._0x870992,_0x228ee7._0x1138f3)]['off'](EventType['middleUp'],this['_mousMiddleUpHandler'],this));this[_0xa1d509(0x13d0,_0x228ee7._0x2ef311)]['off'](EventType[_0x45bb02(_0x228ee7._0x419d95,0x85e)],this['_mouseMoveHandler'],this);function _0x45bb02(_0x3413fc,_0x3957e4){return _0x7afdbe(_0x3413fc,_0x3957e4- -0x545);}clearTimeout(this[_0xa1d509(0xa16,_0x228ee7._0x582013)]);}[_0x7afdbe(0x32e,0x878)](_0x23f628){const _0x57448e={_0x24cdec:0x9e8},_0x320972={_0x1a0f3e:0x5a7};if(!this['enabled'])return;addClass(this['_container'],_0x1f31a2(0x5da,_0x57448e._0x24cdec)),clearTimeout(this['timetik']);function _0x1f31a2(_0xb93ff2,_0xb43f2b){return _0x54a7f1(_0xb93ff2- -0x491,_0xb43f2b);}this['timetik']=setTimeout(()=>{function _0x50de2c(_0x15d9ea,_0x2857c9){return _0x1f31a2(_0x15d9ea-0x1b1,_0x2857c9);}removeClass(this['_container'],_0x50de2c(0x78b,_0x320972._0x1a0f3e));},0xc8);}[_0x7afdbe(0xeae,0xbbb)](_0x228e61){const _0x1a9b3d={_0x22cd07:0x571,_0x31ca6f:0x9df,_0x40c88f:0x397,_0x139161:0x10a4,_0x297d1a:0xc10,_0x1ac28f:0x60f,_0x21f289:0x1092,_0x415dac:0x130d,_0x5a6dd1:0x125e,_0x278fce:0xde2,_0x25ebf5:0xe03,_0x366f6b:0x72a},_0x4eaa3e={_0x435dbd:0x60};function _0xf8ca4e(_0x13cd1d,_0x2ee045){return _0x7afdbe(_0x13cd1d,_0x2ee045-_0x4eaa3e._0x435dbd);}function _0x45b97f(_0x1237d4,_0x4ad26f){return _0x54a7f1(_0x4ad26f- -0x1c4,_0x1237d4);}if(!this[_0x45b97f(_0x1a9b3d._0x22cd07,_0x1a9b3d._0x31ca6f)])return;const _0xbc3a77=_0x228e61['cartesian'];if(!_0xbc3a77)return;if(this['_map'][_0x45b97f(0x1d4,_0x1a9b3d._0x40c88f)]['positionCartographic'][_0xf8ca4e(_0x1a9b3d._0x139161,0x8f5)]>this[_0x45b97f(_0x1a9b3d._0x297d1a,_0x1a9b3d._0x1ac28f)][_0xf8ca4e(_0x1a9b3d._0x21f289,_0x1a9b3d._0x415dac)]['screenSpaceCameraController'][_0xf8ca4e(_0x1a9b3d._0x5a6dd1,_0x1a9b3d._0x278fce)])return;this['_map']['off'](EventType[_0xf8ca4e(0x15c0,_0x1a9b3d._0x25ebf5)],this['_mouseMoveHandler'],this),clearTimeout(this[_0x45b97f(-0x757,0x131)]),this[_0x45b97f(0xbaf,0x4c7)]['style']['top']=_0x228e61['windowPosition']['y']+'px',this['_container'][_0xf8ca4e(0x22d,_0x1a9b3d._0x366f6b)]['left']=_0x228e61['windowPosition']['x']+'px',addClass(this['_container'],'mars3d-mousedownview-show');}[_0x7afdbe(0x974,0xc3f)](_0x2a7a81){const _0x412d16={_0x428eb2:0x10a};function _0x56962f(_0x48ebc5,_0x46582f){return _0x7afdbe(_0x46582f,_0x48ebc5- -0xa2);}removeClass(this['_container'],'mars3d-mousedownview-show'),this[_0x56962f(0x95f,_0x412d16._0x428eb2)]['on'](EventType['mouseMove'],this['_mouseMoveHandler'],this);}[_0x54a7f1(0x39b,0x1e3)](_0x2a6e3c){const _0x4fe53f={_0x3a01c1:0x1403,_0x10ca43:0x323},_0x4c51da={_0x6138a5:0x284},_0x5ab2cf={_0x39eb72:0x3a7};function _0x3a1188(_0x5a6da9,_0x3298d0){return _0x7afdbe(_0x5a6da9,_0x3298d0- -_0x5ab2cf._0x39eb72);}this['_container']['style'][_0x3a1188(0xbda,_0x4fe53f._0x3a01c1)]=_0x2a6e3c['endPosition']['y']+'px';function _0x3490da(_0x1db945,_0x1378be){return _0x7afdbe(_0x1db945,_0x1378be- -_0x4c51da._0x6138a5);}this['_container'][_0x3a1188(0x57e,_0x4fe53f._0x10ca43)]['left']=_0x2a6e3c['endPosition']['x']+'px';}}register$2(_0x7afdbe(0x532,0xf91),MouseDownView);const icon$7='<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<svg\x20width=\x2224\x22\x20height=\x2224\x22\x20viewBox=\x220\x200\x2048\x2048\x22\x20fill=\x22none\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22>\x0a\x20\x20<rect\x20width=\x2248\x22\x20height=\x2248\x22\x20fill=\x22white\x22\x20fill-opacity=\x220.01\x22/>\x0a\x20\x20<path\x20d=\x22M24.0607\x2010L24.024\x2038\x22\x20stroke=\x22#ffffff\x22\x20stroke-width=\x225\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22/>\x0a\x20\x20<path\x20d=\x22M10\x2024L38\x2024\x22\x20stroke=\x22#ffffff\x22\x20stroke-width=\x225\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22/>\x0a</svg>',icon$6='<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22?>\x0a<svg\x20width=\x2224\x22\x20height=\x2224\x22\x20viewBox=\x220\x200\x2048\x2048\x22\x20fill=\x22none\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22>\x0a\x20\x20<rect\x20width=\x2248\x22\x20height=\x2248\x22\x20fill=\x22white\x22\x20fill-opacity=\x220.01\x22/>\x0a\x20\x20<path\x20d=\x22M10.5\x2024L38.5\x2024\x22\x20stroke=\x22#ffffff\x22\x20stroke-width=\x225\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22/>\x0a</svg>';class Zoom extends BaseControl{get[_0x7afdbe(0x87b,0xa2b)](){const _0xf8b2d9={_0x1c134b:0x4d},_0x421d26={_0x17b2dd:0x3bc};function _0x4281c5(_0x9ecbb2,_0xe6b74e){return _0x7afdbe(_0xe6b74e,_0x9ecbb2- -0x4d2);}if(this['options']['parentContainer'])return this[_0x4281c5(0x60c,0xee1)][_0x1a67d9(_0xf8b2d9._0x1c134b,0x441)];function _0x1a67d9(_0x256f22,_0x108f19){return _0x54a7f1(_0x108f19- -_0x421d26._0x17b2dd,_0x256f22);}return this[_0x4281c5(0x52f,-0xce)]?this['_map']['toolbar']:document['getElementsByClassName']('cesium-viewer-toolbar')[0x0];}['_showHook'](_0x1c8815){const _0x4c5fc9={_0xc4ece6:0x1959},_0x59cccd={_0x1db17a:0x287};function _0x25d5a7(_0x22d277,_0x3d4d8a){return _0x54a7f1(_0x3d4d8a-_0x59cccd._0x1db17a,_0x22d277);}this['_container2']&&(this['_container2']['style'][_0x25d5a7(0x1bec,_0x4c5fc9._0xc4ece6)]=_0x1c8815?'block':'none');}['_mountedHook'](){const _0x3b4038={_0x2887b5:0x195d,_0x5bf913:0x821,_0x5384f3:0x2fc,_0x48c496:0x1628,_0x29a2ee:0xf09,_0x3378af:0x5f2,_0x4fec8d:0x1705,_0x102ed7:0x1754,_0x51ee33:0x3af,_0x36fbea:0x16c7,_0x12453c:0x4f8},_0x187b7f={_0x14f5b3:0x342},_0x266545={_0x5296bc:0x317},_0x5bd96a={_0x39870e:0xda9,_0x107245:0x104e},_0x144a5b={_0xcd7f64:0x11b};this['_container']=create$4('div','cesium-button\x20cesium-toolbar-button\x20mar3d-toolButton\x20'+this[_0x4c58fc(0xf5d,0x1111)]),this['_container']['id']=this[_0x570937(0xe6d,0xac1)],this[_0x570937(0x113a,0x916)]['style'][_0x570937(0x2266,_0x3b4038._0x2887b5)]='inline-block',this['_container']['setAttribute']('title',this[_0x4c58fc(_0x3b4038._0x5bf913,0x106a)]('_缩小')),this[_0x4c58fc(0x18c,_0x3b4038._0x5384f3)](this['options'][_0x4c58fc(_0x3b4038._0x48c496,0xdb0)]||icon$6,this[_0x570937(0xa30,0x916)]),this[_0x4c58fc(0xf2e,0x6d3)][_0x4c58fc(0x1d7b,0x17ab)]('click',_0x4d6228=>{function _0x379b36(_0xb8c913,_0x55641e){return _0x4c58fc(_0xb8c913,_0x55641e- -_0x144a5b._0xcd7f64);}if(!this[_0x2777cb(_0x5bd96a._0x39870e,0x1067)])return;function _0x2777cb(_0x3c197c,_0x41160b){return _0x4c58fc(_0x41160b,_0x3c197c-0x1be);}this['_map']['zoomOut'](this['options'][_0x2777cb(0x15d1,_0x5bd96a._0x107245)]);});function _0x4c58fc(_0x4d250d,_0x37804b){return _0x54a7f1(_0x37804b-0x48,_0x4d250d);}this['_container2']=create$4('div','cesium-button\x20cesium-toolbar-button\x20mar3d-toolButton\x20'+this['_className']);function _0x570937(_0x206767,_0x557b3d){return _0x54a7f1(_0x557b3d-0x28b,_0x206767);}this[_0x570937(_0x3b4038._0x29a2ee,_0x3b4038._0x3378af)]['style'][_0x4c58fc(_0x3b4038._0x4fec8d,0x171a)]=_0x4c58fc(0xe5e,_0x3b4038._0x102ed7),this[_0x4c58fc(-0x12e,_0x3b4038._0x51ee33)]['setAttribute'](_0x4c58fc(_0x3b4038._0x36fbea,0xefe),this['getLangText']('_放大')),this[_0x4c58fc(0xa6d,_0x3b4038._0x5384f3)](this['options']['zoomInIcon']||icon$7,this['_container2']),this[_0x570937(_0x3b4038._0x12453c,_0x3b4038._0x3378af)]['addEventListener'](_0x4c58fc(0xcfb,0xf52),_0x5d44c0=>{if(!this['enabled'])return;function _0xc74f5d(_0x56c1ea,_0x55658c){return _0x4c58fc(_0x56c1ea,_0x55658c- -_0x266545._0x5296bc);}function _0x1b1bbe(_0x3e794e,_0x317406){return _0x4c58fc(_0x317406,_0x3e794e- -0x4d9);}this[_0x1b1bbe(_0x187b7f._0x14f5b3,0xda6)][_0x1b1bbe(0x72e,0x887)](this['options']['relativeAmount']);});}['_addedHook'](){const _0x214bfb={_0x3abffa:0x169};function _0x3e04b9(_0x5bcafa,_0x2f0e97){return _0x7afdbe(_0x5bcafa,_0x2f0e97- -0x2dc);}function _0x3a0538(_0xcf36b3,_0x4a9b0d){return _0x7afdbe(_0xcf36b3,_0x4a9b0d- -_0x214bfb._0x3abffa);}this[_0x3e04b9(0xa6e,0x74f)]['insertBefore'](this['_container2'],this[_0x3a0538(0xbf,0x750)]);}[_0x54a7f1(0xa4f,0x843)](){this['parentContainer']['removeChild'](this['_container2']);}[_0x54a7f1(0xd86,0x9a3)](){const _0xac00b1={_0x2fe9f1:0x35d,_0x27823d:0x60e,_0x1ff108:0x9c1,_0x3badd4:0xc82};function _0xcb9896(_0x3cffc9,_0x50bfa8){return _0x54a7f1(_0x3cffc9- -0x4f5,_0x50bfa8);}this['_container']&&this['_container'][_0x24d725(-_0xac00b1._0x2fe9f1,_0xac00b1._0x27823d)](_0xcb9896(_0xac00b1._0x1ff108,0x588),this[_0xcb9896(0xb2d,_0xac00b1._0x3badd4)]('_缩小'));function _0x24d725(_0x31592b,_0x460da4){return _0x7afdbe(_0x31592b,_0x460da4- -0x557);}this['_container2']&&this['_container2']['setAttribute']('title',this['getLangText']('_放大'));}}register$2(_0x54a7f1(0x1502,0x1c15),Zoom);class ToolButton extends BaseControl{constructor(_0x3c0c73={}){const _0x300ece={_0x52b04c:0x228};super(_0x3c0c73);function _0x1ab0f0(_0x132ec1,_0x5c1359){return _0x54a7f1(_0x132ec1-_0x300ece._0x52b04c,_0x5c1359);}this[_0x1ab0f0(0x886,0x1017)]='toolButton'+getGlobalId();}get[_0x54a7f1(0x7fd,0x744)](){const _0x31206e={_0x4e49f3:0x537,_0x20c62c:0x3b4,_0x241058:0xe54};function _0x42a23d(_0x470dd3,_0x5b1e79){return _0x7afdbe(_0x5b1e79,_0x470dd3- -0x1ca);}if(this['options']['parentContainer'])return this['options'][_0x29bf38(_0x31206e._0x4e49f3,0x400)];function _0x29bf38(_0x38dbfb,_0x35c252){return _0x7afdbe(_0x35c252,_0x38dbfb- -0x4f4);}return this['_map']?this['_map']['toolbar']:document[_0x29bf38(0x3a0,-_0x31206e._0x20c62c)](_0x29bf38(0x12b9,_0x31206e._0x241058))[0x0];}[_0x54a7f1(0x28b,-0x4ae)](){const _0x1c94d8={_0x488809:0x854},_0x3441c1={_0x149911:0x7f1,_0x1254b8:0x128e,_0x4012ac:0x600},_0x4739e6={_0x3a60f8:0x88c,_0xafc37e:0x171a,_0x4ac369:0xcd6},_0x3415e8={_0x1695ce:0x6cb};function _0x241b57(_0x2566e9,_0xf4d99c){return _0x7afdbe(_0xf4d99c,_0x2566e9- -_0x3415e8._0x1695ce);}let _0x2a8256=this['options'][_0x130f20(0x1343,0xf53)];isFunction(_0x2a8256)&&(_0x2a8256=_0x2a8256(this));function _0x130f20(_0x41e204,_0x1f0a7b){return _0x7afdbe(_0x41e204,_0x1f0a7b- -0x191);}this['_container']=create$4('div',_0x241b57(-0x10f,-0x1cd)+this[_0x241b57(0xc2c,0x1433)]),this['_container']['id']=this['id'],this['_container']['style']['display']='inline-block',this['_container']['setAttribute']('title',_0x2a8256||''),this['_createIcon'](this[_0x241b57(0x413,_0x1c94d8._0x488809)]['icon'],this['_container']);let _0x3bc059;this['_container']['addEventListener']('mouseover',_0x4714de=>{if(!this['enabled'])return;if(_0x3bc059===this['id'])return;_0x3bc059=this['id'];function _0x19a21a(_0x368d70,_0x476596){return _0x241b57(_0x368d70-0x2bb,_0x476596);}this['options']['mouseOver']&&this[_0x19a21a(0x6ce,_0x4739e6._0x3a60f8)][_0x19a21a(0x1044,_0x4739e6._0xafc37e)](this['options']);function _0x2d85ca(_0x21415c,_0x41bdfe){return _0x130f20(_0x21415c,_0x41bdfe- -0x440);}this[_0x19a21a(_0x4739e6._0x4ac369,0xdd0)](EventType['mouseOver'],{...this['options']});}),this[_0x130f20(0xe7a,0x728)]['addEventListener']('mouseout',_0x15fda0=>{_0x3bc059=null;if(!this['enabled'])return;function _0x88ad03(_0x4ff3e1,_0x287710){return _0x130f20(_0x4ff3e1,_0x287710- -0x6);}this[_0x76bb82(_0x3441c1._0x149911,_0x3441c1._0x1254b8)]['mouseOut']&&this['options'][_0x88ad03(-0x206,_0x3441c1._0x4012ac)](this['options']);function _0x76bb82(_0x1d48cb,_0x4190ab){return _0x241b57(_0x1d48cb-0x3de,_0x4190ab);}this['fire'](EventType['mouseOut'],{...this[_0x88ad03(0xdcb,0x947)]});});}['setIcon'](_0x3f6e27){const _0x2c24f4={_0xabcae3:0x28};function _0xa387c7(_0x1ff64b,_0x828a70){return _0x7afdbe(_0x1ff64b,_0x828a70- -0x29b);}this['options']['icon']=_0x3f6e27,empty(this[_0xa387c7(_0x2c24f4._0xabcae3,0x61e)]),this['_createIcon'](_0x3f6e27,this['_container']);}}register$2(_0x7afdbe(0x347,0xce8),ToolButton);const icon$5=_0x7afdbe(0xaee,0x134d),icon$4=_0x54a7f1(0x61d,0xd4),icon$3=_0x7afdbe(0x421,0x5ba);class Compass extends BaseControl{constructor(_0x576595={}){const _0x1060a8={_0xb0432c:0xf1d,_0x5682c1:0x85c,_0x13560d:0x163f,_0x10eb30:0xd1e};super(_0x576595),this['_orbitCursorAngle']=0x0,this[_0x161bdd(0x658,_0x1060a8._0xb0432c)]=0x0;function _0x80d46d(_0x135021,_0x39208f){return _0x54a7f1(_0x135021- -0x19,_0x39208f);}this[_0x80d46d(_0x1060a8._0x5682c1,0xdb6)]=0x0,this[_0x80d46d(0xacd,0x248)]=Cesium__namespace['Math']['toRadians'](_0x576595['maxPitch']??0x0);function _0x161bdd(_0x5a8cd3,_0x32f3ea){return _0x54a7f1(_0x5a8cd3- -0x2c9,_0x32f3ea);}this['_pitch_min']=Cesium__namespace[_0x80d46d(0x1293,_0x1060a8._0x13560d)]['toRadians'](_0x576595[_0x161bdd(_0x1060a8._0x10eb30,0x6ca)]??-0x5a),this['options']['rotation']=this[_0x161bdd(0x5e7,0x78a)]['rotation']??!![];}['_mountedHook'](){const _0x3be97e={_0x48da6c:0x153d,_0x44a426:0xdaf,_0x427a2f:0x200,_0x1c2093:0xb81,_0x5b8c04:0x682,_0x107db0:0x10c4,_0x5397d3:0x191c,_0x296dcb:0xe85,_0x4aa073:0x1809,_0x3b6ca0:0x1210,_0x4b0291:0xb88,_0x4d62cc:0x3b4,_0x4ef2bc:0x2cc,_0x1db801:0xd78},_0x1f6fd7={_0x34891e:0x50d,_0xefb0f4:0x26d},_0xb50499={_0xa1b755:0x408,_0x348ab8:0x6b0},_0x333e55={_0x1249b2:0x2b4};this[_0x5dd1d9(0x3f5,0x4ee)]=create$4('div',this['_className']||_0x5dd1d9(0x12b2,_0x3be97e._0x48da6c)),this['_container']['style'][_0x2c4a5f(0xe2b,0x1007)]=this[_0x5dd1d9(_0x3be97e._0x44a426,0x4b3)](_0x5dd1d9(0x127d,0x1589));const _0x38d336=this[_0x5dd1d9(0xc1a,0x713)]['outerSvg']||icon$5['replace']('$title$',this[_0x2c4a5f(0xd6e,0x946)]('_拖拽调整四周方向角'));this['_container_outer']=parseDom(_0x38d336,!![],'mars3d-compass-outer'),this[_0x2c4a5f(0x3d7,_0x3be97e._0x427a2f)]['appendChild'](this['_container_outer']);const _0x269d92=this['options']['innerSvg']||icon$4['replace']('$title$',this['getLangText']('_拖拽调整俯仰角'));this['_container_inner']=parseDom(_0x269d92,!![],'mars3d-compass-inner'),this['_container']['appendChild'](this['_container_inner']);function _0x5dd1d9(_0x95a244,_0x2f8388){return _0x7afdbe(_0x95a244,_0x2f8388- -0x3cb);}if(this[_0x5dd1d9(_0x3be97e._0x1c2093,0x713)][_0x2c4a5f(0xf3d,0x1858)]){const _0x6419b3=this['options'][_0x2c4a5f(_0x3be97e._0x5b8c04,0xeb6)]||icon$3['replace'](_0x2c4a5f(0x8e4,_0x3be97e._0x107db0),this[_0x5dd1d9(_0x3be97e._0x5397d3,_0x3be97e._0x296dcb)](_0x5dd1d9(0x58b,0xb65)));this['_container_rotationArc']=parseDom(_0x6419b3,!![],_0x5dd1d9(_0x3be97e._0x4aa073,_0x3be97e._0x3b6ca0)),this['_container']['appendChild'](this[_0x5dd1d9(0x1282,0xf5a)]),this[_0x5dd1d9(0x111b,0xf5a)]['style']['visibility']=_0x5dd1d9(0xe2b,0x923);}function _0x2c4a5f(_0x16ce5f,_0x129e0e){return _0x54a7f1(_0x16ce5f- -_0x333e55._0x1249b2,_0x129e0e);}isPCBroswer()?(this[_0x5dd1d9(0xa09,0x4ee)]['onmousedown']=_0x14357e=>{this['_handleMouseDown'](_0x14357e);},(this['options']['clickToNorth']??!![])&&(this['_container_outer']['ondblclick']=_0x18253f=>{this['_map']['setHeading'](0x0);}),this[_0x5dd1d9(0x98d,0x1373)]['ondblclick']=_0x2d5f7c=>{function _0x40e689(_0x1c92c8,_0x608992){return _0x2c4a5f(_0x608992-0x191,_0x1c92c8);}this[_0x40e689(-_0xb50499._0xa1b755,_0xb50499._0x348ab8)]['flyHome']();}):(this[_0x2c4a5f(0x3d7,_0x3be97e._0x4b0291)]['ontouchstart']=_0x1b1c47=>{function _0x4104c0(_0x4294e2,_0x259b31){return _0x5dd1d9(_0x259b31,_0x4294e2- -0x2f4);}this[_0x4104c0(_0x1f6fd7._0x34891e,-_0x1f6fd7._0xefb0f4)](_0x1b1c47);},(this[_0x2c4a5f(0x5fc,_0x3be97e._0x4d62cc)][_0x2c4a5f(0x1403,0x1cf4)]??!![])&&(this['_container_outer'][_0x2c4a5f(_0x3be97e._0x4ef2bc,_0x3be97e._0x1db801)]=_0x475480=>{this['_map']['setHeading'](0x0);}),this['_container_inner']['onclick']=_0x44f9cd=>{this['_map']['flyHome']();});}['setOuterSvg'](_0x515d63){const _0x14236d={_0x3e0525:0xd96};function _0x125bd3(_0x4c3875,_0x3c0de0){return _0x54a7f1(_0x4c3875- -0x47f,_0x3c0de0);}this['_container_outer'][_0x125bd3(_0x14236d._0x3e0525,0x1035)]=_0x515d63;}['setInnerSvg'](_0x10f3b9){const _0xcf3bca={_0x5dcb30:0x26d};function _0x2a1f1b(_0x5b10eb,_0x56b206){return _0x7afdbe(_0x56b206,_0x5b10eb- -_0xcf3bca._0x5dcb30);}this[_0x2a1f1b(0x14d1,0x142c)]['innerHTML']=_0x10f3b9;}['setRotationSvg'](_0x29d54b){function _0x510d1a(_0x12ecbf,_0x4ce6b7){return _0x54a7f1(_0x12ecbf-0x1ba,_0x4ce6b7);}this['_container_rotationArc'][_0x510d1a(0x13cf,0xd40)]=_0x29d54b;}['_addedHook'](){const _0x33fcb9={_0x434208:0x2f1,_0x21c4c3:0x13a,_0xdb6446:0x7c1,_0x2d9898:0x365,_0x21e8e8:0x5ca,_0x105989:0x7c1};this[_0x133039(-0x63b,_0x33fcb9._0x434208)]['on'](EventType['postRender'],this[_0x327d56(0x1251,0x99e)],this),this['_map']['on'](EventType['addControl'],this[_0x133039(_0x33fcb9._0x21c4c3,_0x33fcb9._0xdb6446)],this);function _0x327d56(_0x42a618,_0x16a84c){return _0x7afdbe(_0x16a84c,_0x42a618- -0x69c);}function _0x133039(_0x2c33c5,_0x2a3617){return _0x7afdbe(_0x2c33c5,_0x2a3617- -0x710);}this[_0x327d56(_0x33fcb9._0x2d9898,0x4af)]['on'](EventType['updateControl'],this[_0x133039(_0x33fcb9._0x21e8e8,_0x33fcb9._0x105989)],this);}[_0x54a7f1(0xa4f,0xd82)](){const _0x5a3168={_0x56ddf6:0x39,_0x350b51:0x586,_0x1c2b20:0x10e4};this[_0x25b956(0x586,-_0x5a3168._0x56ddf6)]['off'](EventType['postRender'],this['_postRenderHandler'],this);function _0x25b956(_0x4cb15c,_0x39027c){return _0x54a7f1(_0x4cb15c- -0x24d,_0x39027c);}function _0x2a8c8c(_0xec0e1c,_0x3f5be5){return _0x7afdbe(_0x3f5be5,_0xec0e1c- -0x16);}this['_map']['off'](EventType['addControl'],this['_updateControlHandler'],this),this[_0x25b956(_0x5a3168._0x350b51,-0x2e1)]['off'](EventType[_0x2a8c8c(_0x5a3168._0x1c2b20,0x16cf)],this['_updateControlHandler'],this);}[_0x7afdbe(0x734,0xed1)](){const _0x5571e6={_0x289053:0x3a9},_0x28a0da={_0x41d5f8:0x25e};function _0xbd6d19(_0x124271,_0xe061ae){return _0x7afdbe(_0x124271,_0xe061ae- -_0x28a0da._0x41d5f8);}function _0x178121(_0x5958a,_0x5b267b){return _0x7afdbe(_0x5b267b,_0x5958a- -0x321);}if(this['domToolbar']){const _0x518ea7=this['domToolbar'][_0xbd6d19(0xbb1,0xb19)]+0x28;this[_0x178121(0x598,0xf42)][_0x178121(_0x5571e6._0x289053,0x8b)][_0x178121(0x1249,0xf98)]=_0x518ea7+'px';}}['_postRenderHandler'](){const _0xdf0ba7={_0x5f0e3e:0x55c,_0x3fe2f5:0x568};function _0x5d5cfc(_0x3492cd,_0x3fa635){return _0x7afdbe(_0x3492cd,_0x3fa635- -0x4d0);}const _0x5247d3=this[_0x3d4d1d(_0xdf0ba7._0x5f0e3e,-0x2a3)]['camera']['heading'];function _0x3d4d1d(_0x286a5e,_0x4af3ae){return _0x54a7f1(_0x286a5e- -0x277,_0x4af3ae);}this[_0x5d5cfc(-_0xdf0ba7._0x3fe2f5,0x209)]&&(this[_0x5d5cfc(-0x25,0x209)][_0x3d4d1d(0x225,-0x465)]['cssText']='\x0a\x20\x20\x20\x20\x20\x20transform\x20:\x20rotate(-'+_0x5247d3+'rad);\x0a\x20\x20\x20\x20\x20\x20-webkit-transform\x20:\x20rotate(-'+_0x5247d3+_0x5d5cfc(0xfe5,0xccb));}[_0x54a7f1(0x99e,0xd8e)](_0x1fc05b){const _0x4ae63b={_0x12a747:0x1a7e,_0x3be4fc:0x1348,_0x1901ed:0x1165,_0x21717e:0x596,_0x4f81d4:0x377,_0x52b8e9:0x1166,_0x244a9c:0x150e},_0x32a78f={_0x526491:0x2c2},_0xe1b755={_0x5c67dc:0x92},_0xccdeb7=this['_map']['scene'];function _0x149782(_0x1760b5,_0x1cc641){return _0x54a7f1(_0x1760b5- -_0xe1b755._0x5c67dc,_0x1cc641);}if(_0xccdeb7['mode']===Cesium__namespace['SceneMode']['MORPHING'])return!![];this['_compassRectangle']=_0x1fc05b[_0x35c1b5(0x1d92,0x13f9)][_0x35c1b5(_0x4ae63b._0x12a747,_0x4ae63b._0x3be4fc)]();function _0x35c1b5(_0x3f25b6,_0x37bd24){return _0x7afdbe(_0x3f25b6,_0x37bd24- -_0x32a78f._0x526491);}const _0x387e43=this['_compassRectangle']['width']/0x2,_0xb33312=this[_0x149782(_0x4ae63b._0x1901ed,0x16fe)](_0x1fc05b),_0x4e8627=Cesium__namespace['Cartesian2'][_0x149782(_0x4ae63b._0x21717e,-_0x4ae63b._0x4f81d4)](_0xb33312)/_0x387e43;if(this[_0x35c1b5(_0x4ae63b._0x52b8e9,0x81c)]['rotation']&&_0x4e8627<0x32/0x91)this[_0x149782(_0x4ae63b._0x244a9c,0x1a5f)](_0xb33312);else{if(_0x4e8627<0x1)this['_rotate'](_0xb33312);else return!![];}}[_0x7afdbe(0x1006,0xa9d)](_0x1066bc){const _0x227c3d={_0x441cbf:0x539,_0x1fc9d3:0x995,_0x22be9a:0x8bf,_0x2fc849:0x641,_0x14d14e:0x638,_0x168ba1:0x1282,_0x4ed7e6:0x1a5c,_0x11712c:0xd80},_0x193bf4={_0x5401c1:0x4c8};function _0x3680dc(_0x383d64,_0x462eba){return _0x7afdbe(_0x383d64,_0x462eba- -0x4bf);}function _0x3075a3(_0x54ba05,_0xa54cab){return _0x7afdbe(_0xa54cab,_0x54ba05- -_0x193bf4._0x5401c1);}let _0x1e34e8=new Cesium__namespace['Cartesian3']();const _0x4d1587=this['_map'][_0x3680dc(0x1250,0xdee)],_0x23941a=_0x4d1587['camera'];if(_0x4d1587['mode']===Cesium__namespace['SceneMode']['MORPHING'])return undefined;if(this[_0x3075a3(_0x227c3d._0x441cbf,-0x42e)][_0x3075a3(0x4d8,0xb81)])_0x1e34e8=this['_map']['trackedEntity']['position']['getValue'](this['_map']['clock']['currentTime']);else{const _0x1f0cbd=new Cesium__namespace['Ray']();_0x1f0cbd['origin']=_0x23941a[_0x3680dc(0xea3,0xac1)],_0x1f0cbd[_0x3680dc(0x778,_0x227c3d._0x1fc9d3)]=_0x23941a['directionWC'],_0x1e34e8=_0x4d1587['globe']['pick'](_0x1f0cbd,_0x4d1587);}if(!_0x1e34e8)return undefined;if(_0x4d1587['mode']===Cesium__namespace[_0x3680dc(_0x227c3d._0x22be9a,_0x227c3d._0x2fc849)]['SCENE2D']||_0x4d1587['mode']===Cesium__namespace[_0x3075a3(_0x227c3d._0x14d14e,0x1075)][_0x3075a3(_0x227c3d._0x168ba1,_0x227c3d._0x4ed7e6)]){_0x1e34e8=_0x23941a['worldToCameraCoordinatesPoint'](_0x1e34e8);const _0x1d4958=new Cesium__namespace['Cartographic']();_0x1066bc&&(_0x1e34e8=_0x4d1587['globe']['ellipsoid'][_0x3680dc(0x114f,_0x227c3d._0x11712c)](_0x4d1587['mapProjection']['unproject'](_0x1e34e8,_0x1d4958)));}else!_0x1066bc&&(_0x1e34e8=_0x23941a['worldToCameraCoordinatesPoint'](_0x1e34e8));return _0x1e34e8;}[_0x7afdbe(0x2140,0x17ce)](_0x539d85){const _0x5b5b50={_0x243b9d:0x3fb,_0x5b5af5:0xe8c,_0x46e6a8:0xea6,_0x42a195:0x101d,_0x206023:0xeb,_0x1ceb9b:0x3fc,_0x584284:0xbb,_0xb3da72:0xadf,_0x457fa1:0x1184,_0x15295a:0xfce,_0x210333:0x4f0,_0x45fb11:0x347,_0x5e5cbb:0x4ea,_0x2dd478:0x129,_0x1eb350:0xffa,_0x434104:0x1158,_0x172e7e:0x10dd,_0x256052:0xd1f,_0x47b532:0x11d4,_0x56222e:0x85c,_0x1c2d92:0x120f,_0x37bfa0:0x11af},_0x26b3b0={_0x153156:0x5d6},_0x1d1e59=this[_0xfb11f7(_0x5b5b50._0x243b9d,_0x5b5b50._0x5b5af5)]['scene'],_0x2099be=_0x1d1e59[_0xfb11f7(_0x5b5b50._0x46e6a8,_0x5b5b50._0x42a195)],_0x1afb57=_0x1d1e59['camera'];function _0xfb11f7(_0x47f736,_0x577bc1){return _0x7afdbe(_0x577bc1,_0x47f736- -0x606);}if(_0x1d1e59[_0x544c9c(0x57a,_0x5b5b50._0x206023)]===Cesium__namespace[_0xfb11f7(0x4fa,_0x5b5b50._0x1ceb9b)]['MORPHING']||!_0x2099be['enableInputs'])return;switch(_0x1d1e59[_0xfb11f7(_0x5b5b50._0x584284,-0x5cc)]){case Cesium__namespace['SceneMode']['SCENE2D']:if(!_0x2099be['enableTranslate'])return;break;case Cesium__namespace[_0xfb11f7(0x4fa,-0x135)]['COLUMBUS_VIEW']:if(_0x2099be[_0xfb11f7(0x92e,_0x5b5b50._0xb3da72)])break;if(!_0x2099be['enableTranslate']||!_0x2099be['enableTilt'])return;break;case Cesium__namespace['SceneMode']['SCENE3D']:default:if(_0x2099be['enableLook'])break;if(!_0x2099be[_0xfb11f7(_0x5b5b50._0x457fa1,_0x5b5b50._0x15295a)]||!_0x2099be['enableRotate'])return;break;}this['_unbindDocumentEvent'](),this[_0x544c9c(0xd18,_0x5b5b50._0x210333)]=_0x2f5947=>{this['_orbitMouseMoveFunction'](_0x2f5947);},this[_0xfb11f7(0x709,0x364)]=()=>{this['_orbitMouseUpFunction']();},this[_0x544c9c(_0x5b5b50._0x45fb11,0x4cd)]=Cesium__namespace['getTimestamp']();if(this['_map']['trackedEntity'])this[_0x544c9c(_0x5b5b50._0x5e5cbb,0xa57)]=undefined,this['_orbitIsLook']=![];else{const _0x5c0b9d=this['_getCameraFocus'](!![]);!_0x5c0b9d?(this['_orbitFrame']=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x1afb57['positionWC'],_0x1d1e59[_0x544c9c(0x6e7,-_0x5b5b50._0x2dd478)]['ellipsoid']),this[_0xfb11f7(_0x5b5b50._0x1eb350,0x633)]=!![]):(this['_orbitFrame']=Cesium__namespace['Transforms'][_0xfb11f7(0xec2,_0x5b5b50._0x434104)](_0x5c0b9d,_0x1d1e59['globe']['ellipsoid']),this[_0x544c9c(_0x5b5b50._0x172e7e,0x102a)]=![]);}function _0x544c9c(_0x412e3e,_0x37aabc){return _0x7afdbe(_0x412e3e,_0x37aabc- -_0x26b3b0._0x153156);}this[_0xfb11f7(_0x5b5b50._0x256052,0x1705)]['style']['visibility']='visible',this['_container_inner'][_0xfb11f7(_0x5b5b50._0x47b532,0x83d)]+=_0x544c9c(0x1b30,0x1183),this['_bindDocumentEvent'](),this['_map']['on'](EventType['clockTick'],this[_0xfb11f7(0xea1,0x880)],this),this['_updateAngleAndOpacity'](_0x539d85,this[_0xfb11f7(0x9,-_0x5b5b50._0x56222e)][_0x544c9c(_0x5b5b50._0x1c2d92,_0x5b5b50._0x37bfa0)]);}[_0x7afdbe(0x1448,0x14a7)](_0x3e07a3){const _0x3d75b6={_0x51e8a3:0xbc1,_0x3b7fb2:0x9d4,_0x4ab6c9:0x32d,_0x3315cd:0x1e0,_0x235af3:0x10d1,_0x1a712b:0x140b,_0x3bee5b:0x1192,_0x42e59d:0x19fd,_0x237171:0x71d,_0x5891ec:0x330,_0x2161b8:0x1b3f,_0x1d7998:0x64,_0x297679:0x6e3,_0x3f2e8a:0xea3,_0x158c9d:0x1bb9,_0xa6aaed:0xbd1},_0x28b20a={_0x1e86f5:0x2a9},_0x133dec=this[_0x51e9ca(0xa7c,_0x3d75b6._0x51e8a3)][_0x51e9ca(0x1328,_0x3d75b6._0x3b7fb2)],_0x4655c5=this['_map'][_0x4bfc31(_0x3d75b6._0x4ab6c9,_0x3d75b6._0x3315cd)],_0x45b12c=Cesium__namespace[_0x51e9ca(_0x3d75b6._0x235af3,0x1515)](),_0x86b82f=_0x45b12c-this['_orbitLastTimestamp'];function _0x4bfc31(_0x2b980d,_0x413e66){return _0x54a7f1(_0x2b980d- -0x22e,_0x413e66);}function _0x51e9ca(_0x51f96c,_0x2eedd1){return _0x54a7f1(_0x51f96c-_0x28b20a._0x1e86f5,_0x2eedd1);}const _0x15f5c6=(this['_orbitCursorOpacity']-0.5)*2.5/0x3e8,_0x434369=_0x86b82f*_0x15f5c6,_0x41e69f=this[_0x51e9ca(_0x3d75b6._0x1a712b,0x112e)]+Cesium__namespace[_0x51e9ca(0x1555,_0x3d75b6._0x3bee5b)]['PI_OVER_TWO'],_0x33384e=Math[_0x51e9ca(_0x3d75b6._0x42e59d,0x11c1)](_0x41e69f)*_0x434369,_0x4acaa5=Math[_0x51e9ca(_0x3d75b6._0x237171,_0x3d75b6._0x5891ec)](_0x41e69f)*_0x434369;if(_0x4acaa5>0x0&&_0x4655c5['pitch']>this['_pitch_max']||_0x4acaa5<0x0&&_0x4655c5['pitch']<this['_pitch_min'])return;let _0x48fd80;this[_0x51e9ca(0x10a8,_0x3d75b6._0x2161b8)]&&(_0x48fd80=Cesium__namespace['Matrix4'][_0x4bfc31(0x5c1,0x7e1)](_0x4655c5[_0x4bfc31(_0x3d75b6._0x1d7998,0x5f5)]),_0x4655c5[_0x4bfc31(0x1c2,-_0x3d75b6._0x297679)](this['_orbitFrame'])),_0x133dec['mode']===Cesium__namespace[_0x4bfc31(0x6a4,0xd7b)][_0x51e9ca(0x18cf,0x16a8)]?_0x4655c5[_0x51e9ca(0xc62,0x1187)](new Cesium__namespace['Cartesian3'](_0x33384e,_0x4acaa5,0x0),Math['max'](_0x133dec['canvas']['clientWidth'],_0x133dec['canvas'][_0x51e9ca(0xdb0,0xd86)])/0x64*_0x4655c5[_0x51e9ca(_0x3d75b6._0x3f2e8a,0x134b)]['height']*_0x434369):this[_0x4bfc31(0x11a4,0x147c)]?(_0x4655c5['look'](Cesium__namespace['Cartesian3']['UNIT_Z'],-_0x33384e),_0x4655c5[_0x51e9ca(0x1104,_0x3d75b6._0x158c9d)](_0x4655c5['right'],-_0x4acaa5)):(_0x4655c5[_0x51e9ca(0x187c,0xfdf)](_0x33384e),_0x4655c5['rotateUp'](_0x4acaa5)),this[_0x4bfc31(_0x3d75b6._0xa6aaed,0xfb4)]&&_0x48fd80&&_0x4655c5['lookAtTransform'](_0x48fd80),this[_0x51e9ca(0xb1e,0xe3e)]=_0x45b12c;}['_updateAngleAndOpacity'](_0x3c8103,_0x2ec9c2){const _0x2917b2={_0x4efa8f:0xd62,_0x5e7512:0x757},_0x3e8d98={_0x4c4c3a:0x181},_0x52dc4f={_0x12d660:0x203};function _0x419dca(_0x38a71a,_0x36776e){return _0x54a7f1(_0x38a71a- -_0x52dc4f._0x12d660,_0x36776e);}const _0x5da7d5=Math['atan2'](-_0x3c8103['y'],_0x3c8103['x']);this[_0x419dca(0xf5f,0x72f)]=Cesium__namespace['Math'][_0x419dca(0x52a,0x3fe)](_0x5da7d5-Cesium__namespace['Math']['PI_OVER_TWO']);const _0x47f863=Cesium__namespace[_0x47d50e(_0x2917b2._0x4efa8f,0x17b1)][_0x47d50e(_0x2917b2._0x5e7512,0x6d5)](_0x3c8103),_0x4f034b=_0x2ec9c2/0x2;function _0x47d50e(_0x223486,_0x45122d){return _0x7afdbe(_0x223486,_0x45122d- -_0x3e8d98._0x4c4c3a);}const _0x14c6e8=Math['min'](_0x47f863/_0x4f034b,0x1);this['_orbitCursorOpacity']=0.5*_0x14c6e8*_0x14c6e8+0.5,this['_container_rotationArc']['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20transform:\x20rotate(-'+this['_orbitCursorAngle']+'rad);\x0a\x20\x20\x20\x20\x20\x20opacity:\x20'+this['_orbitCursorOpacity'];}[_0x7afdbe(0xae4,0x1599)](_0x196d5b){const _0x42f916={_0x5e2dce:0x742,_0x56d3c7:0x11ce};function _0x30ef95(_0x5f0141,_0xf132a9){return _0x54a7f1(_0xf132a9- -0x277,_0x5f0141);}function _0x2d59b1(_0x119d19,_0x75929e){return _0x7afdbe(_0x119d19,_0x75929e- -0x5b7);}this[_0x30ef95(_0x42f916._0x5e2dce,0x669)](this['_getVector'](_0x196d5b),this['_compassRectangle'][_0x2d59b1(0xb6c,_0x42f916._0x56d3c7)]);}['_orbitMouseUpFunction'](){const _0x4c72da={_0x1cea54:0x133c,_0x540d12:0xd05,_0x3d0b0a:0x771,_0x4b5022:0x81f,_0xf5010a:0x1c1};function _0xa2603e(_0x237937,_0x2229fd){return _0x7afdbe(_0x2229fd,_0x237937- -0x6b1);}function _0x15395e(_0x196485,_0x100b67){return _0x54a7f1(_0x100b67-0x245,_0x196485);}this['_unbindDocumentEvent'](),this[_0x15395e(0x6e,0xa18)]['off'](EventType['clockTick'],this['_orbitTickFunction'],this),this[_0x15395e(0xfea,_0x4c72da._0x1cea54)]['style'][_0x15395e(0x63a,0xbfa)]=_0x15395e(0x53e,_0x4c72da._0x540d12),this['_container_inner']['className']=this['_container_inner']['className'][_0x15395e(0x9a3,_0x4c72da._0x3d0b0a)](_0xa2603e(_0x4c72da._0x4b5022,-_0x4c72da._0xf5010a),'');}['_rotate'](_0x4be061){const _0x3accb4={_0x2a0ffd:0x5ca,_0x48697c:0xd7b,_0x370f83:0xc7f,_0x5ad43a:0xcb4,_0x332c05:0x1c,_0x188a0c:0xa1e,_0x1bc4b6:0x7b3,_0x53eec6:0x2a1,_0x340556:0x12fa,_0x46b4d4:0x18c,_0x1eff10:0x2d3},_0x59de67=this[_0xc8a892(0xdb,_0x3accb4._0x2a0ffd)][_0x55b03(_0x3accb4._0x48697c,_0x3accb4._0x370f83)],_0x3a86b6=_0x59de67['camera'],_0x352282=_0x59de67['screenSpaceCameraController'];if(_0x59de67['mode']===Cesium__namespace['SceneMode']['MORPHING']||_0x59de67['mode']===Cesium__namespace['SceneMode']['SCENE2D']||!_0x352282[_0x55b03(_0x3accb4._0x5ad43a,0xf4d)])return;if(!_0x352282['enableLook']&&(_0x59de67['mode']===Cesium__namespace['SceneMode']['COLUMBUS_VIEW']||_0x59de67[_0xc8a892(-_0x3accb4._0x332c05,0x28a)]===Cesium__namespace[_0xc8a892(0xbdb,0x6c9)]['SCENE3D']&&!_0x352282[_0x55b03(0x14a6,_0x3accb4._0x188a0c)]))return;this[_0xc8a892(0xc67,0x7b1)]();function _0x55b03(_0x2e576e,_0x1ac4e3){return _0x54a7f1(_0x2e576e- -0x304,_0x1ac4e3);}this['_mouseMoveHandle']=_0x1f2daf=>{this['_rotateMouseMoveFunction'](_0x1f2daf);},this[_0x55b03(0x7dd,-0x58)]=()=>{this['_unbindDocumentEvent']();},this['_rotateInitialCursorAngle']=Math[_0xc8a892(-_0x3accb4._0x1bc4b6,_0x3accb4._0x53eec6)](-_0x4be061['y'],_0x4be061['x']);function _0xc8a892(_0x106e4e,_0x58bc58){return _0x7afdbe(_0x106e4e,_0x58bc58- -0x437);}if(this[_0xc8a892(0xf40,0x5ca)][_0xc8a892(-0x83,0x569)])this['_rotateFrame']=undefined;else{const _0x2f2b14=this[_0xc8a892(0xdde,0x666)](!![]);!_0x2f2b14||_0x59de67[_0x55b03(0x18f,0x74d)]===Cesium__namespace['SceneMode']['COLUMBUS_VIEW']&&!_0x352282['enableLook']&&!_0x352282[_0xc8a892(_0x3accb4._0x340556,0x1476)]?this[_0xc8a892(0xe96,0xc50)]=Cesium__namespace[_0xc8a892(_0x3accb4._0x46b4d4,0x564)]['eastNorthUpToFixedFrame'](_0x3a86b6['positionWC'],_0x59de67[_0x55b03(-0x85,0x328)][_0xc8a892(-_0x3accb4._0x1eff10,0x6fb)]):this['_rotateFrame']=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x2f2b14,_0x59de67['globe'][_0xc8a892(0xa8f,0x6fb)]);}let _0x89423d;this[_0x55b03(0xb55,0x1478)]&&(_0x89423d=Cesium__namespace['Matrix4']['clone'](_0x3a86b6['transform']),_0x3a86b6['lookAtTransform'](this['_rotateFrame'])),this['_rotateInitialCameraAngle']=-_0x3a86b6['heading'],this['_rotateFrame']&&_0x89423d&&_0x3a86b6['lookAtTransform'](_0x89423d),this[_0xc8a892(0x3af,0x8be)]();}[_0x54a7f1(0xac7,0x83)](){const _0x1967bc={_0x14c3ee:0x166a,_0x302afd:0x9e8,_0x423703:0x1275};function _0x4c43c1(_0x551cdd,_0x58e7cd){return _0x54a7f1(_0x58e7cd-0x235,_0x551cdd);}function _0x43a735(_0x196ba8,_0x16868c){return _0x54a7f1(_0x196ba8- -0xf9,_0x16868c);}this[_0x4c43c1(0x94e,0xacd)]&&(document[_0x4c43c1(0x1756,0x1998)]('mousemove',this['_mouseMoveHandle'],![]),document['addEventListener'](_0x4c43c1(0x1dd2,0x16c9),this['_mouseMoveHandle'],![])),this['_mouseUpHandle']&&(document['addEventListener']('mouseup',this['_mouseUpHandle'],![]),document[_0x43a735(_0x1967bc._0x14c3ee,0x1c5b)]('touchend',this[_0x43a735(_0x1967bc._0x302afd,_0x1967bc._0x423703)],![]),document['addEventListener']('touchcancel',this['_mouseUpHandle'],![]));}['_unbindDocumentEvent'](){const _0x4bae8d={_0x988295:0x1036,_0x625008:0xbd2,_0x2e8701:0x12a7,_0x252275:0x1036,_0x2b5705:0x8ce};this['_mouseMoveHandle']&&(document['removeEventListener']('mousemove',this['_mouseMoveHandle'],![]),document[_0x5ca96a(0x998,_0x4bae8d._0x988295)](_0x415175(0x1281,0x14af),this[_0x5ca96a(0xd72,0x989)],![]),this[_0x415175(0x685,-0x3bc)]=undefined);function _0x415175(_0x487c85,_0xfa9f59){return _0x7afdbe(_0xfa9f59,_0x487c85- -0x441);}function _0x5ca96a(_0x4e472c,_0x3e55c7){return _0x7afdbe(_0x4e472c,_0x3e55c7- -0x13d);}this[_0x5ca96a(0x1248,_0x4bae8d._0x625008)]&&(document['removeEventListener'](_0x5ca96a(0x293,0x843),this[_0x5ca96a(_0x4bae8d._0x2e8701,_0x4bae8d._0x625008)],![]),document['removeEventListener'](_0x415175(0x8bc,0x657),this['_mouseUpHandle'],![]),document[_0x5ca96a(0xafa,_0x4bae8d._0x252275)]('touchcancel',this['_mouseUpHandle'],![]),this[_0x415175(_0x4bae8d._0x2b5705,0x56b)]=undefined);}['_rotateMouseMoveFunction'](_0x1edeca){const _0x55551a={_0x12dcdd:0x1abe,_0x51f9a2:0x1235,_0x2437a0:0x11da,_0x55fd3b:0x1060,_0x3810fc:0x8b2,_0x1c4f1c:0x1a02,_0x54996f:0x34b,_0x231069:0x93c,_0x627e76:0x109c,_0xea7b6a:0x36c,_0x58abb0:0x575};function _0x1e65dc(_0x1a9802,_0x37f4b8){return _0x54a7f1(_0x37f4b8-0x3e,_0x1a9802);}const _0x1c938c=this['_map']['camera'],_0x2420a6=this[_0x1e65dc(_0x55551a._0x12dcdd,_0x55551a._0x51f9a2)](_0x1edeca),_0x507d1e=Math['atan2'](-_0x2420a6['y'],_0x2420a6['x']);function _0x459e0a(_0x3d00dc,_0x471057){return _0x7afdbe(_0x3d00dc,_0x471057- -0xa9);}const _0x5d87de=_0x507d1e-this[_0x459e0a(_0x55551a._0x2437a0,_0x55551a._0x55fd3b)],_0x430c55=Cesium__namespace['Math'][_0x459e0a(0xcb2,_0x55551a._0x3810fc)](this[_0x459e0a(_0x55551a._0x1c4f1c,0xf9a)]-_0x5d87de);let _0x5d0170;this[_0x1e65dc(0x1433,0xe97)]&&(_0x5d0170=Cesium__namespace[_0x459e0a(0xd43,0x55d)]['clone'](_0x1c938c[_0x1e65dc(0x32e,0x2d0)]),_0x1c938c[_0x1e65dc(-0x476,0x42e)](this[_0x459e0a(0xc16,0xfde)]));const _0x14688e=-_0x1c938c[_0x1e65dc(0xd99,_0x55551a._0x54996f)];_0x1c938c[_0x459e0a(_0x55551a._0x231069,_0x55551a._0x627e76)](_0x430c55-_0x14688e),this['_rotateFrame']&&_0x5d0170&&_0x1c938c[_0x459e0a(_0x55551a._0xea7b6a,_0x55551a._0x58abb0)](_0x5d0170);}['_getVector'](_0xd216be){const _0x3c6d8d={_0x2e4caa:0x10af,_0x411150:0x28e,_0x84d4fa:0xf1b,_0x268e6f:0x11d9,_0x10fcc5:0x5e3,_0x34de51:0x1958,_0x1aa5ad:0x18ad};var _0x232ef9;const _0x583e6a=this[_0x43161c(_0x3c6d8d._0x2e4caa,0x635)],_0x28d5c5=new Cesium__namespace['Cartesian2']((_0x583e6a['right']-_0x583e6a['left'])/0x2,(_0x583e6a[_0x145bdc(0x1bae,0x14e5)]-_0x583e6a['top'])/0x2);function _0x43161c(_0x4ac6c2,_0x2eadee){return _0x7afdbe(_0x4ac6c2,_0x2eadee-0x26);}let _0x2ebad8=_0xd216be[_0x43161c(_0x3c6d8d._0x411150,0x56b)],_0xa7f808=_0xd216be[_0x43161c(_0x3c6d8d._0x84d4fa,0x68e)];((_0x232ef9=_0xd216be['touches'])===null||_0x232ef9===void 0x0?void 0x0:_0x232ef9[_0x43161c(0xe3c,_0x3c6d8d._0x268e6f)])>0x0&&(_0x2ebad8=_0xd216be['touches'][0x0]['clientX'],_0xa7f808=_0xd216be['touches'][0x0][_0x145bdc(0xbf,_0x3c6d8d._0x10fcc5)]);const _0x8727bb=new Cesium__namespace[(_0x43161c(0x1931,_0x3c6d8d._0x34de51))](_0x2ebad8-_0x583e6a[_0x43161c(0x2a0,0xd1f)],_0xa7f808-_0x583e6a['top']),_0x2ce252=new Cesium__namespace[(_0x145bdc(0xeb6,_0x3c6d8d._0x1aa5ad))]();function _0x145bdc(_0x312670,_0x2a762c){return _0x54a7f1(_0x2a762c-0x1a9,_0x312670);}return Cesium__namespace[_0x145bdc(0x18a0,0x18ad)][_0x43161c(0x5c3,0x8f9)](_0x8727bb,_0x28d5c5,_0x2ce252),_0x2ce252;}}register$2('compass',Compass);class CubeView extends BaseControl{['_mountedHook'](){const _0x23e46e={_0x34219b:0x35c,_0xd0f5b5:0xd61};this['_container']=create$4(_0x4fb633(-0x2a6,_0x23e46e._0x34219b),'mars3d-cubeview\x20'+this['_className']);function _0x4fb633(_0x150b89,_0x1f05a9){return _0x54a7f1(_0x1f05a9- -0x255,_0x150b89);}function _0xd8ebd9(_0x4c519a,_0x5db9c2){return _0x7afdbe(_0x4c519a,_0x5db9c2- -0x726);}this['_container']['innerHTML']=_0x4fb633(0x460,_0x23e46e._0xd0f5b5),this['_container']['style'][_0xd8ebd9(0xc3f,0xbe7)]=this['_getPositionCssText'](_0xd8ebd9(0x1119,0x122e)),this['_container_cube']=this[_0x4fb633(0xc3a,0x436)]['querySelector'](_0x4fb633(0x1459,0xcf8));}['_addedHook'](){const _0x172517={_0x2981ac:0x40d,_0xe0ea27:0xa6c};function _0x1bc81e(_0xb61f80,_0x1e4a1b){return _0x54a7f1(_0xb61f80-0x10b,_0x1e4a1b);}this['_map']['on'](EventType[_0x1bc81e(_0x172517._0x2981ac,_0x172517._0xe0ea27)],this['_postRenderHandler'],this);}[_0x7afdbe(0x53d,0xc7d)](){this['_map']['off'](EventType['postRender'],this['_postRenderHandler'],this);}['_postRenderHandler'](){const _0x152361={_0x35db81:0x6d8,_0x39c4d2:0x9ac,_0x4a7e96:0x550,_0x48e16c:0xd34},_0x67fbed={_0x32df35:0x5a8};function _0x7a5a93(_0x31584e,_0x5958b3){return _0x7afdbe(_0x31584e,_0x5958b3- -_0x67fbed._0x32df35);}const _0x4849ec=this[_0x7a5a93(_0x152361._0x35db81,0x459)]['scene']['camera'];function _0x4cf28f(_0x29e794,_0x261865){return _0x54a7f1(_0x261865-0x243,_0x29e794);}this[_0x4cf28f(0x110e,0x16f6)]['style']['transform']='rotateX('+_0x4849ec['pitch']+_0x4cf28f(_0x152361._0x39c4d2,0x12f5)+_0x4849ec[_0x4cf28f(0x18e,_0x152361._0x4a7e96)]+_0x4cf28f(0x1489,_0x152361._0x48e16c);}}register$2('cubeView',CubeView);const geodesic=new Cesium__namespace[(_0x54a7f1(0xcdb,0x5e7))](),BASE=[0x1,0x2,0x3,0x5],DIS=[...BASE,...BASE[_0x54a7f1(0xa37,0xe2e)](_0x40d6d9=>_0x40d6d9*0xa),...BASE[_0x54a7f1(0xa37,0xbdf)](_0x49b432=>_0x49b432*0x64),...BASE['map'](_0x16ef62=>_0x16ef62*0x3e8),...BASE['map'](_0x55e4fa=>_0x55e4fa*0x2710),...BASE[_0x54a7f1(0xa37,0x2ee)](_0x417f9f=>_0x417f9f*0x186a0),...BASE['map'](_0x1ac97c=>_0x1ac97c*0xf4240)];class DistanceLegend extends BaseControl{get['distance'](){const _0x163778={_0x2bb0fa:0xa3},_0x431198={_0x120680:0x44e};function _0x1cb6c5(_0x4c3f92,_0x175d61){return _0x54a7f1(_0x4c3f92- -_0x431198._0x120680,_0x175d61);}return this[_0x1cb6c5(-0xda,-_0x163778._0x2bb0fa)];}['_mountedHook'](){const _0x321f47={_0x28478f:0xc37,_0x449318:0x169b,_0x17de65:0x15f,_0x5e3a05:0x245,_0x363a08:0x848,_0x8d4684:0xc8c,_0x36bace:0xe21},_0x40105e={_0x4cdb9d:0x235};var _0x50660c;this['_container']=create$4('div',_0x3b328c(0xc8c,0x16d1)+this['_className']);function _0x3502ed(_0x4f092c,_0x5b37d8){return _0x7afdbe(_0x4f092c,_0x5b37d8- -_0x40105e._0x4cdb9d);}this['_container']['style'][_0x3502ed(0x1588,0x10d8)]=this[_0x3b328c(0x2e4,-0x2d5)]('left:\x20120px;\x20bottom:\x20'+((_0x50660c=this['_map'][_0x3b328c(0x37d,-0x213)]['timeline'])!==null&&_0x50660c!==void 0x0&&_0x50660c['show']?'27':'2')+_0x3502ed(_0x321f47._0x28478f,_0x321f47._0x449318)),this['_labelEl']=create$4('div','legend-label',this[_0x3502ed(-_0x321f47._0x17de65,0x684)]);function _0x3b328c(_0x14d7e9,_0x548d17){return _0x7afdbe(_0x548d17,_0x14d7e9- -0x59a);}this['_scaleBarEl']=create$4(_0x3b328c(_0x321f47._0x5e3a05,-_0x321f47._0x363a08),_0x3502ed(0x172e,_0x321f47._0x8d4684),this['_container']),this['_container']['style']['visibility']='hidden',this['_lastUpdate']=Cesium__namespace[_0x3502ed(0x9a5,_0x321f47._0x36bace)]();}['_addedHook'](){function _0xc1de68(_0x1c579c,_0x42bd74){return _0x54a7f1(_0x1c579c- -0x3ab,_0x42bd74);}function _0x2140cd(_0x18ece6,_0x3acd88){return _0x54a7f1(_0x18ece6-0xc7,_0x3acd88);}this['_map']['on'](EventType[_0xc1de68(-0xa9,-0x65a)],this[_0xc1de68(0x89d,0xc53)],this);}['_removedHook'](){const _0x2bb094={_0x18d0b6:0xac4,_0x4b065b:0x795,_0x46c035:0x1420};function _0x410a70(_0x4989bd,_0x35fc29){return _0x54a7f1(_0x4989bd- -0xe7,_0x35fc29);}function _0x139e3f(_0x353c94,_0x207523){return _0x7afdbe(_0x207523,_0x353c94- -0x2c4);}this['_map'][_0x410a70(0x266,_0x2bb094._0x18d0b6)](EventType[_0x139e3f(0x26c,_0x2bb094._0x4b065b)],this[_0x410a70(0xb61,_0x2bb094._0x46c035)],this);}['_updateContent'](_0x2273e4,_0x482224){const _0x184461={_0x5c2c68:0x1055,_0x4146cf:0x7fa,_0x429e9a:0xfb2,_0x53d6db:0x6cc,_0x4fe90a:0x14ee,_0x1ca0c6:0x2a0,_0x185d5f:0x646,_0x1719f5:0x1449,_0xf9f69e:0x3c,_0x2396a2:0x9c3,_0x360acf:0x49e,_0x57e24b:0xaf,_0x2a46cf:0x8b0,_0x3d36c2:0x4ec,_0x2936c9:0x580,_0x24019c:0x230,_0x5455d8:0x286,_0x3047f5:0x5cf,_0x2b969d:0xec9},_0x1703c5={_0x3371d8:0x4e9},_0x3e175b={_0xdb4af1:0x216},_0x22b68e=Cesium__namespace['getTimestamp']();function _0x598563(_0x404ed0,_0x3e8293){return _0x54a7f1(_0x3e8293- -_0x3e175b._0xdb4af1,_0x404ed0);}if(_0x22b68e<this[_0x189ca5(0x755,_0x184461._0x5c2c68)]+0xfa)return;if(!this['_labelEl']||!this['_scaleBarEl'])return;this[_0x598563(0xd3b,_0x184461._0x4146cf)]=_0x22b68e;const _0x402dcf=_0x2273e4['canvas']['clientWidth'],_0x10ddfd=_0x2273e4[_0x598563(_0x184461._0x429e9a,_0x184461._0x53d6db)]['clientHeight'],_0x6419e2=_0x2273e4[_0x189ca5(0x2a0,0x71)]['getPickRay'](new Cesium__namespace[(_0x598563(0xcbd,_0x184461._0x4fe90a))](_0x402dcf/0x2|0x0,_0x10ddfd-0x1)),_0x57fdd6=_0x2273e4[_0x189ca5(_0x184461._0x1ca0c6,_0x184461._0x185d5f)]['getPickRay'](new Cesium__namespace[(_0x189ca5(_0x184461._0x1719f5,0x1a40))](0x1+_0x402dcf/0x2|0x0,_0x10ddfd-0x1)),_0x21a873=_0x2273e4['globe']['pick'](_0x6419e2,_0x2273e4),_0x236ecf=_0x2273e4[_0x189ca5(-_0x184461._0xf9f69e,_0x184461._0x2396a2)][_0x189ca5(_0x184461._0x360acf,-0x2c5)](_0x57fdd6,_0x2273e4);if(!_0x21a873||!_0x236ecf){this['_container']['style']['visibility']='hidden';return;}geodesic['setEndPoints'](_0x2273e4['globe'][_0x189ca5(0x649,0x892)]['cartesianToCartographic'](_0x21a873),_0x2273e4['globe']['ellipsoid'][_0x189ca5(0x236,_0x184461._0x57e24b)](_0x236ecf));function _0x189ca5(_0x55c2a8,_0xe1f0d7){return _0x7afdbe(_0xe1f0d7,_0x55c2a8- -_0x1703c5._0x3371d8);}const _0x167bd9=geodesic[_0x598563(_0x184461._0x2a46cf,_0x184461._0x3d36c2)],_0x1b5e10=0x64;let _0x10869c=0x0;for(let _0x46e4d4=DIS['length']-0x1;_0x46e4d4>=0x0;--_0x46e4d4){if(DIS[_0x46e4d4]/_0x167bd9<_0x1b5e10){_0x10869c=DIS[_0x46e4d4];break;}}if(_0x10869c){if(this['_currDistance']!==_0x10869c){this['_currDistance']=_0x10869c;const _0x55a0a2={};_0x55a0a2['distance']=_0x10869c,this[_0x598563(_0x184461._0x2936c9,0xca2)](EventType['change'],_0x55a0a2);}this[_0x189ca5(0x3d0,0x742)][_0x598563(_0x184461._0x24019c,_0x184461._0x5455d8)]['visibility']='visible',this['_labelEl']['innerHTML']=_0x10869c>=0x3e8?_0x10869c/0x3e8+_0x598563(-0x1d6,_0x184461._0x3047f5):_0x10869c+'\x20m';const _0x62fe64=_0x10869c/_0x167bd9|0x0;this['_scaleBarEl']['style'][_0x598563(0x177b,_0x184461._0x2b969d)]='width:\x20'+_0x62fe64+'px;\x20left:\x20'+(0x7d-_0x62fe64)/0x2+'px;';}}}register$2(_0x54a7f1(0x110e,0x1291),DistanceLegend);const icon$2='<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22\x20standalone=\x22no\x22?>\x0a<svg\x20width=\x2210px\x22\x20height=\x2220px\x22\x20viewBox=\x220\x200\x2019\x2028\x22\x20version=\x221.1\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22\x20xmlns:xlink=\x22http://www.w3.org/1999/xlink\x22>\x0a\x20\x20\x20\x20<path\x20d=\x22M0.6551724,2.3448276\x20L0.6551724,25.6551724\x20C0.6551724,26.6454761\x201.4579722,27.4482759\x202.4482759,27.4482759\x20C3.4385796,27.4482759\x204.2413793,26.6454761\x204.2413793,25.6551724\x20L4.2413793,2.3448276\x20C4.2413793,1.3545239\x203.4385796,0.5517241\x202.4482759,0.5517241\x20C1.4579722,0.5517241\x200.6551724,1.3545239\x200.6551724,2.3448276\x20L0.6551724,2.3448276\x20Z\x20M7.6551724,2.3448276\x20L7.6551724,25.6551724\x20C7.6551724,26.6454761\x208.4579722,27.4482759\x209.4482759,27.4482759\x20C10.4385796,27.4482759\x2011.2413793,26.6454761\x2011.2413793,25.6551724\x20L11.2413793,2.3448276\x20C11.2413793,1.3545239\x2010.4385796,0.5517241\x209.4482759,0.5517241\x20C8.4579722,0.5517241\x207.6551724,1.3545239\x207.6551724,2.3448276\x20L7.6551724,2.3448276\x20Z\x20M14.6551724,2.3448276\x20L14.6551724,25.6551724\x20C14.6551724,26.6454761\x2015.4579722,27.4482759\x2016.4482759,27.4482759\x20C17.4385796,27.4482759\x2018.2413793,26.6454761\x2018.2413793,25.6551724\x20L18.2413793,2.3448276\x20C18.2413793,1.3545239\x2017.4385796,0.5517241\x2016.4482759,0.5517241\x20C15.4579722,0.5517241\x2014.6551724,1.3545239\x2014.6551724,2.3448276\x20L14.6551724,2.3448276\x20Z\x22\x20id=\x22splitter\x22></path>\x0a</svg>\x0a';class MapSplit extends BaseControl{get[_0x7afdbe(0xdb1,0xa64)](){const _0x1bb56f={_0x14019b:0x47d};function _0x3123c2(_0x846879,_0x3a391){return _0x7afdbe(_0x3a391,_0x846879- -0x689);}return _0x3123c2(0x80b,_0x1bb56f._0x14019b);}get[_0x54a7f1(0x46f,0x1d)](){const _0x570663={_0x43c186:0xa85};function _0x15bad4(_0x4ad873,_0x1511ca){return _0x7afdbe(_0x4ad873,_0x1511ca- -0x58d);}return this[_0x15bad4(0x183,_0x570663._0x43c186)];}set['leftLayer'](_0x22c625){const _0x1735f8={_0x33bee3:0xf52,_0xa2840a:0x19fa},_0x367cef={_0x289582:0x1a5},_0x598069={_0x2eb547:0x488},_0x2ad950={_0x615148:0xc0};function _0x167804(_0x5ede35,_0xc2221f){return _0x7afdbe(_0xc2221f,_0x5ede35-0x1b);}function _0x3e5a52(_0x4bef8e,_0x45daa8){return _0x7afdbe(_0x45daa8,_0x4bef8e- -_0x2ad950._0x615148);}this[_0x3e5a52(_0x1735f8._0x33bee3,_0x1735f8._0xa2840a)]&&(this[_0x167804(0x102d,0xf20)]['forEach'](_0x416410=>{function _0x13a40a(_0x2b43bf,_0x1a13d3){return _0x167804(_0x1a13d3- -_0x598069._0x2eb547,_0x2b43bf);}function _0x1d9f33(_0x537ab9,_0x47042){return _0x167804(_0x47042- -0x16a,_0x537ab9);}_0x416410[_0x1d9f33(0x11c0,0x179f)]&&_0x416410[_0x13a40a(-_0x367cef._0x289582,0x54f)]();}),this['_leftLayer']=null),_0x22c625&&(!Array[_0x3e5a52(0x15dc,0x13d1)](_0x22c625)&&(_0x22c625=[_0x22c625]),this[_0x3e5a52(_0x1735f8._0x33bee3,0x83e)]=[],_0x22c625[_0x167804(0x88e,0x6b4)](_0x2f225d=>{_0x2f225d=this['setLayerSplitDirection'](_0x2f225d,Cesium__namespace['SplitDirection']['LEFT']);function _0x44441a(_0x424f84,_0x5092dc){return _0x3e5a52(_0x5092dc-0xa5,_0x424f84);}this['_leftLayer'][_0x44441a(0x9b0,0x111b)](_0x2f225d);}));}get['rightLayer'](){return this['_rightLayer'];}set['rightLayer'](_0x115e19){const _0x1d14fc={_0x4756b4:0x12a5,_0x16d94f:0x57c},_0x18ec09={_0x23609f:0x12d0,_0x365314:0xc62,_0x537972:0x9dc},_0x413233={_0x35f953:0x263},_0x3f065b={_0x5eee85:0xe27,_0x1c8250:0x17e1,_0xd2826e:0x8af},_0x2cb9a9={_0x3dde71:0x231},_0x132c44={_0x1d2120:0x5a2};function _0x24266a(_0x5dbcbc,_0x1dd3a6){return _0x7afdbe(_0x1dd3a6,_0x5dbcbc- -_0x132c44._0x1d2120);}function _0x4c1f44(_0x3a15db,_0x589cc5){return _0x54a7f1(_0x589cc5- -_0x2cb9a9._0x3dde71,_0x3a15db);}this[_0x4c1f44(0x8ff,0x12a5)]&&(this[_0x4c1f44(0x1d01,0x12a5)]['forEach'](_0x41f422=>{function _0x4a3aa4(_0x3372d5,_0x4e5a51){return _0x4c1f44(_0x3372d5,_0x4e5a51-0x352);}function _0x2e041b(_0x2ea7d8,_0x388304){return _0x24266a(_0x2ea7d8-0x377,_0x388304);}_0x41f422[_0x4a3aa4(_0x3f065b._0x5eee85,_0x3f065b._0x1c8250)]&&_0x41f422[_0x4a3aa4(0x586,_0x3f065b._0xd2826e)]();}),this['_rightLayer']=null),_0x115e19&&(!Array['isArray'](_0x115e19)&&(_0x115e19=[_0x115e19]),this[_0x4c1f44(0xe6a,_0x1d14fc._0x4756b4)]=[],_0x115e19[_0x24266a(0x2d1,_0x1d14fc._0x16d94f)](_0x41105e=>{function _0x316133(_0x15c6f0,_0xccecb6){return _0x24266a(_0xccecb6-0x394,_0x15c6f0);}_0x41105e=this[_0x316133(0x853,_0x18ec09._0x23609f)](_0x41105e,Cesium__namespace[_0x316133(_0x18ec09._0x365314,_0x18ec09._0x537972)]['RIGHT']);function _0x3a2302(_0x2e86e5,_0x280ae0){return _0x24266a(_0x2e86e5-_0x413233._0x35f953,_0x280ae0);}this[_0x316133(0x17ff,0x14f6)]['push'](_0x41105e);}));}['_mountedHook'](){const _0x318e0a={_0x13b7fb:0x884,_0x5557b2:0xc8d,_0x5524d3:0xfb3},_0x40bdc2={_0x3d3698:0x10dc},_0x12773f={_0x37e06e:0xc80,_0x2e188e:0x330},_0x191417={_0x57a412:0x7a9};this[_0xb07c4c(0x5cf,0x1032)]=create$4(_0xb07c4c(0x4f5,0xc9),'mars3d-slider\x20'+this['_className']);const _0x152da4=parseDom(icon$2,!![],'slider-splitter');this['_container']['appendChild'](_0x152da4);const _0x10042f=new Cesium__namespace['ScreenSpaceEventHandler'](_0x152da4);_0x10042f[_0x5341a3(0xd2b,0x13e3)](_0x539a17=>{function _0x5ae791(_0x2db18e,_0x2894c2){return _0xb07c4c(_0x2db18e- -0x35c,_0x2894c2);}this[_0x5ae791(0xc7b,0x9a1)]=!![];},Cesium__namespace[_0x5341a3(0xfb5,0x1813)][_0x5341a3(_0x318e0a._0x13b7fb,0xba7)]),_0x10042f[_0x5341a3(0xd2b,_0x318e0a._0x5557b2)](_0x5a535c=>{function _0x5054cf(_0x523ff2,_0x5d48b9){return _0x5341a3(_0x5d48b9- -0x267,_0x523ff2);}this[_0x5054cf(_0x191417._0x57a412,0xc27)]=!![];},Cesium__namespace['ScreenSpaceEventType'][_0x5341a3(0xf27,0x653)]);function _0xb07c4c(_0x569ce9,_0x2ad849){return _0x7afdbe(_0x2ad849,_0x569ce9- -0x2ea);}function _0x5341a3(_0x796c7b,_0x11a05b){return _0x7afdbe(_0x11a05b,_0x796c7b- -0x433);}_0x10042f['setInputAction'](_0x5b1e9a=>{function _0x149300(_0x369e49,_0x255293){return _0xb07c4c(_0x369e49- -0x38b,_0x255293);}this[_0x149300(_0x12773f._0x37e06e,_0x12773f._0x2e188e)](_0x5b1e9a);},Cesium__namespace[_0xb07c4c(0x10fe,0xfeb)]['MOUSE_MOVE']),_0x10042f[_0xb07c4c(0xe74,0xb84)](_0x2ff7e2=>{const _0x12ea04={_0x3f074c:0x21a};function _0x4b1591(_0x582815,_0x574838){return _0x5341a3(_0x582815-_0x12ea04._0x3f074c,_0x574838);}this[_0x4b1591(_0x40bdc2._0x3d3698,0x1096)](_0x2ff7e2);},Cesium__namespace['ScreenSpaceEventType']['PINCH_MOVE']),_0x10042f[_0x5341a3(0xd2b,_0x318e0a._0x5524d3)](()=>{function _0x53875a(_0x2618e1,_0x17706f){return _0xb07c4c(_0x17706f-0x1b2,_0x2618e1);}this[_0x53875a(0x155b,0x1189)]=![];},Cesium__namespace[_0x5341a3(0xfb5,0x942)]['LEFT_UP']),_0x10042f['setInputAction'](()=>{function _0x2bea26(_0x818fdf,_0x26d81e){return _0xb07c4c(_0x26d81e- -0x450,_0x818fdf);}this[_0x2bea26(0x54e,0xb87)]=![];},Cesium__namespace['ScreenSpaceEventType'][_0xb07c4c(0x148d,0x136f)]);}['_showHook'](_0x1e66dd){const _0x26f8e7={_0x4b89f2:0xf4a};function _0x1670b7(_0x2f680f,_0x1063f2){return _0x7afdbe(_0x1063f2,_0x2f680f- -0x405);}function _0x26f065(_0x1c1779,_0x1b5e96){return _0x54a7f1(_0x1c1779- -0x3c8,_0x1b5e96);}_0x1e66dd?this[_0x1670b7(_0x26f8e7._0x4b89f2,0xab7)]():(this['options']['leftLayer']=this[_0x1670b7(0x298,0x22a)],this['options']['rightLayer']=this['rightLayer'],this['_removedHook']());}['_addedHook'](){const _0x7162ae={_0x48dbcf:0x1105,_0x375c76:0xf08,_0x5eddde:0x6c5,_0x162947:0xcf4,_0x59fb26:0x14e1,_0x29fca1:0x1291,_0x36ecf0:0x8dc};function _0x576eb5(_0x50a22b,_0x833053){return _0x7afdbe(_0x50a22b,_0x833053- -0x64);}if(!this['enabled']){this[_0x576eb5(0x86,0x855)][_0x4c3b96(0x6c5,0x408)]['display']=_0x4c3b96(0x1261,0x1242);return;}this['_map'][_0x576eb5(_0x7162ae._0x48dbcf,0x1249)][_0x4c3b96(0x6d5,0x641)]=0.5,this[_0x4c3b96(0x8b4,_0x7162ae._0x375c76)][_0x4c3b96(_0x7162ae._0x5eddde,0x912)][_0x4c3b96(_0x7162ae._0x162947,_0x7162ae._0x59fb26)]='50%',this[_0x576eb5(0x1cca,_0x7162ae._0x29fca1)]();function _0x4c3b96(_0x375b1d,_0x200067){return _0x54a7f1(_0x375b1d-0x229,_0x200067);}this['options'][_0x576eb5(_0x7162ae._0x36ecf0,0x639)]&&(this['leftLayer']=this[_0x576eb5(0x6e1,0xa7a)]['leftLayer']),this['options']['rightLayer']&&(this['rightLayer']=this['options'][_0x576eb5(0x143b,0xbdd)]);}[_0x54a7f1(0xa4f,0xbf1)](){const _0x5338d4={_0xe91a17:0xb16};function _0x590d9b(_0x473006,_0x1b274b){return _0x7afdbe(_0x473006,_0x1b274b- -0x414);}this['_map']['scene'][_0x590d9b(_0x5338d4._0xe91a17,0x2c6)]=0x0,this['leftLayer']=null,this['rightLayer']=null;}[_0x54a7f1(0x10c7,0x17ae)](_0x5dae9b){const _0x277932={_0x1993f3:0x44,_0x48c811:0x7bb,_0x5c34c9:0x121b,_0x4a8e1a:0x833,_0x28e6f6:0x453,_0x4c82f9:0xede},_0x5a5264={_0x2d1714:0x130};if(!this['_moveActive']||!this['enabled'])return;let _0x16a484=0x0;_0x5dae9b['position']&&(_0x16a484=_0x5dae9b['position']['x']);_0x5dae9b['endPosition']&&(_0x16a484=_0x5dae9b[_0x4b1833(_0x277932._0x1993f3,0x47b)]['x']);const _0x570b7=(this['_container'][_0x4b1833(0x1bbe,0x136a)]-0xf+_0x16a484)/this[_0x4b1833(0x110c,_0x277932._0x48c811)]['parentElement'][_0x2ffb3a(_0x277932._0x5c34c9,_0x277932._0x4a8e1a)];if(_0x570b7<0x0||_0x570b7>0x1)return;this['_container']['style'][_0x4b1833(0x9e9,0xbfb)]=0x64*_0x570b7+'%',this['_map']['scene']['splitPosition']=_0x570b7;function _0x4b1833(_0x1b1505,_0xf7b90e){return _0x54a7f1(_0xf7b90e-_0x5a5264._0x2d1714,_0x1b1505);}const _0x5d728f={};function _0x2ffb3a(_0x119bcf,_0x581438){return _0x7afdbe(_0x581438,_0x119bcf- -0x287);}_0x5d728f[_0x2ffb3a(_0x277932._0x28e6f6,0xb62)]=_0x570b7,this[_0x2ffb3a(0xe5f,_0x277932._0x4c82f9)](EventType['mouseMove'],_0x5d728f);}['setLayerSplitDirection'](_0x183820,_0x5e32a0){const _0x22b95d={_0x406fdc:0x12c4,_0x3d7665:0x1855},_0x5e4a73={_0x34579a:0x39d},_0x39742c={_0x5042f4:0x1d},_0xfb025e={_0x8d1730:0x1ca};function _0x13acde(_0x3ee84b,_0x54fca2){return _0x54a7f1(_0x3ee84b-0x245,_0x54fca2);}!_0x183820['isAdded']&&this['_map']&&(_0x183820['type']&&!_0x183820['_onAdd']&&(_0x183820=create$3(_0x183820)),this[_0x454879(0x436,-0x391)]['addLayer'](_0x183820),_0x183820['_hasRemoveByMapSplit']=!![]);_0x183820['splitDirection']=_0x5e32a0,_0x183820[_0x454879(_0x22b95d._0x406fdc,_0x22b95d._0x3d7665)]['then'](_0x3b8921=>{function _0x551d41(_0x393810,_0xb07551){return _0x13acde(_0x393810- -_0xfb025e._0x8d1730,_0xb07551);}_0x3b8921[_0x2b2609(0x1469,0xff2)]&&_0x3b8921['toTop']();function _0x2b2609(_0x4733ee,_0x2f1dd6){return _0x13acde(_0x2f1dd6- -_0x39742c._0x5042f4,_0x4733ee);}if(_0x3b8921[_0x2b2609(0x7aa,0xd90)])for(let _0x456c7f=0x0;_0x456c7f<_0x3b8921[_0x551d41(0x179d,0x1e83)]['length'];_0x456c7f++){_0x3b8921[_0x551d41(0x179d,0x1f70)][_0x456c7f]['splitDirection']=_0x5e32a0;}else _0x3b8921['splitDirection']=_0x5e32a0;});function _0x454879(_0x40a715,_0x58aeb8){return _0x54a7f1(_0x40a715- -_0x5e4a73._0x34579a,_0x58aeb8);}return _0x183820;}}register$2('mapSplit',MapSplit);class SceneEvent{constructor(_0x411f1d){const _0x2e8d69={_0x35c47a:0x607},_0x5d6683={_0x59505a:0x408};function _0x46dc61(_0x17b53e,_0x2ecc67){return _0x7afdbe(_0x2ecc67,_0x17b53e- -0x27d);}this[_0x46dc61(0x784,0x8e1)]=_0x411f1d,this['_camera']=_0x411f1d[_0x1fd8a6(0x153,_0x2e8d69._0x35c47a)];function _0x1fd8a6(_0x19d0e4,_0x1f1e11){return _0x54a7f1(_0x19d0e4- -_0x5d6683._0x59505a,_0x1f1e11);}this['_scene']=_0x411f1d[_0x1fd8a6(0xc77,0x11cb)],this['_globe']=_0x411f1d['scene'][_0x46dc61(0x230,0x24b)],this['_clock']=_0x411f1d['clock'];}['_getEventByType'](_0x462135){const _0x955b84={_0x22578b:0xe4f,_0x59ca74:0x1c2f,_0x439e39:0x5ee,_0x33537b:0x681,_0x1c2035:0x935,_0x233865:0x708,_0x3f544d:0x1b2},_0x1089d0={_0x579330:0x369};function _0x145f74(_0x5dacd1,_0x415394){return _0x54a7f1(_0x415394- -0x93,_0x5dacd1);}function _0x4ff013(_0x1be51e,_0x51f1e9){return _0x54a7f1(_0x1be51e- -_0x1089d0._0x579330,_0x51f1e9);}switch(_0x462135){case EventType[_0x145f74(_0x955b84._0x22578b,0x767)]:return this['_camera']['moveStart'];case EventType[_0x145f74(0x6c9,0xe0c)]:return this[_0x4ff013(0x7cc,0xc71)]['moveEnd'];case EventType[_0x145f74(0x51e,0xe56)]:return this['_camera']['changed'];case EventType[_0x145f74(0x1a0f,0x13be)]:return this['_scene'][_0x145f74(_0x955b84._0x59ca74,0x13be)];case EventType[_0x4ff013(_0x955b84._0x439e39,-0xc8)]:return this['_scene'][_0x4ff013(_0x955b84._0x439e39,_0x955b84._0x33537b)];case EventType[_0x4ff013(0xb2e,0x102d)]:return this['_scene']['preRender'];case EventType['postRender']:return this['_scene']['postRender'];case EventType['renderError']:return this[_0x145f74(_0x955b84._0x1c2035,_0x955b84._0x233865)][_0x4ff013(0x6b,_0x955b84._0x3f544d)];case EventType['morphStart']:return this['_scene'][_0x4ff013(0x10c4,0x797)];case EventType['morphComplete']:return this['_scene']['morphComplete'];case EventType['clockTick']:return this['_clock']['onTick'];case EventType['clockStop']:return this['_clock']['onStop'];case EventType['terrainChange']:return this['_globe']['terrainProviderChanged'];case EventType['tileLoadProgress']:return this[_0x4ff013(0xcf3,0x16fe)]['tileLoadProgressEvent'];default:return null;}}['hasType'](_0x19b17c){const _0x1b1e3c={_0xb931e3:0x1174};function _0x567108(_0x3b8b9c,_0x5194f9){return _0x54a7f1(_0x5194f9- -0x11a,_0x3b8b9c);}const _0x44f86f=this[_0x567108(0xe43,_0x1b1e3c._0xb931e3)](_0x19b17c);return Boolean(_0x44f86f);}['on'](_0x2d5918,_0x46d47f,_0x147643){const _0x305d02={_0x1b8139:0x13f7},_0x2f9c90={_0xb3e2a6:0x169};function _0xa69ad1(_0x571c41,_0x2a621b){return _0x54a7f1(_0x571c41-_0x2f9c90._0xb3e2a6,_0x2a621b);}if(!_0x46d47f)return;const _0x2b4788=this[_0xa69ad1(_0x305d02._0x1b8139,0x17d9)](_0x2d5918);if(!_0x2b4788)return;return _0x2b4788['addEventListener'](_0x46d47f,_0x147643||this);}['off'](_0x4e5d53,_0x2611ac,_0x3cf5ea){const _0x388dc3={_0x7dc838:0x4df},_0x2ef4cc=this['_getEventByType'](_0x4e5d53);if(!_0x2ef4cc)return;function _0x5eaaf2(_0x51b528,_0x7edc8c){return _0x54a7f1(_0x7edc8c- -0x121,_0x51b528);}return _0x2ef4cc[_0x5eaaf2(_0x388dc3._0x7dc838,0xe24)](_0x2611ac,_0x3cf5ea||this);}[_0x7afdbe(0x77b,0xdf6)](_0x577dba){const _0x17da17={_0x5f784f:0x624},_0xdf1afb=this['_getEventByType'](_0x577dba);function _0x31f305(_0x481482,_0x2f8d9d){return _0x54a7f1(_0x2f8d9d- -0x1af,_0x481482);}function _0x139673(_0x32ea8b,_0x1464ab){return _0x7afdbe(_0x32ea8b,_0x1464ab- -0x22c);}if(!_0xdf1afb||_0xdf1afb[_0x139673(0xbc8,0xf42)]===0x0)return![];for(let _0x6cd599=0x0;_0x6cd599<_0xdf1afb[_0x139673(0x1584,0x13b5)]['length'];_0x6cd599++){const _0x4219cc=_0xdf1afb['_scopes'][_0x6cd599];if(_0x4219cc===this[_0x31f305(0x4fd,_0x17da17._0x5f784f)])return!![];}return![];}}const _0x46cb24={};_0x46cb24[_0x7afdbe(0x1be9,0x1305)]=!![],_0x46cb24['moveDelay']=0x1e,_0x46cb24['pickWidth']=0x4,_0x46cb24['pickHeight']=0x4,_0x46cb24[_0x7afdbe(0x10f0,0xa63)]=0x9;const DEF_OPTIONS=_0x46cb24;class MouseEvent{constructor(_0x39534e,_0x3e9ad3={}){const _0x2a8611={_0x5b9b6a:0x64b,_0x3d6d50:0x62,_0x24316a:0xcd9,_0x34ed01:0x1176,_0x166056:0xdca};_0x3e9ad3={...DEF_OPTIONS,..._0x3e9ad3};function _0x2e3a0c(_0xd32b19,_0xe5f901){return _0x7afdbe(_0xe5f901,_0xd32b19- -0x18f);}this['_map']=_0x39534e,this['_viewer']=_0x39534e['viewer'];function _0x70446e(_0x1ee0ba,_0x15cbdc){return _0x54a7f1(_0x1ee0ba-0x28d,_0x15cbdc);}this['options']=_0x3e9ad3,this['moveDelay']=_0x3e9ad3[_0x2e3a0c(_0x2a8611._0x5b9b6a,-_0x2a8611._0x3d6d50)],this[_0x70446e(0x1535,_0x2a8611._0x24316a)]=_0x3e9ad3[_0x2e3a0c(_0x2a8611._0x34ed01,0xae7)],this['_selected']=undefined,this[_0x2e3a0c(0x83d,_0x2a8611._0x166056)]();}get['enabledMoveTarget'](){const _0xc777bf={_0x5dd4e9:0x1062},_0x57c103={_0x3abd1f:0x474};function _0x302886(_0xa59e9f,_0x383658){return _0x7afdbe(_0x383658,_0xa59e9f- -_0x57c103._0x3abd1f);}return this[_0x302886(_0xc777bf._0x5dd4e9,0xc06)];}set['enabledMoveTarget'](_0x2ea7ab){const _0x458984={_0x2d9e78:0xf13,_0x1bda5c:0xeaf};function _0x259ac6(_0x3df77f,_0x193828){return _0x7afdbe(_0x3df77f,_0x193828- -0x217);}this['_enabledMoveTarget']=_0x2ea7ab,this[_0x259ac6(_0x458984._0x2d9e78,_0x458984._0x1bda5c)]();}get[_0x54a7f1(0x1660,0x1705)](){function _0x4beae5(_0x326b51,_0x11fedc){return _0x7afdbe(_0x11fedc,_0x326b51- -0x53f);}return this[_0x4beae5(0x35f,0x67c)];}set[_0x7afdbe(0x1825,0x188e)](_0x258c38){const _0x5427df={_0x4953a6:0x83};function _0x2c641c(_0x22e441,_0x823c2e){return _0x54a7f1(_0x22e441-_0x5427df._0x4953a6,_0x823c2e);}this[_0x2c641c(0x6f3,0xef2)]=_0x258c38;}['setOptions'](_0x25dc3a){const _0x41ced6={_0x3c4ae2:0x8ac,_0x1c6683:0xf8c,_0x5cee48:0xcf4},_0x187f5c={_0x598d9d:0x1f},_0x303993={_0x4eadaa:0x227};if(!_0x25dc3a||Object['keys'](_0x25dc3a)[_0x18741e(_0x41ced6._0x3c4ae2,_0x41ced6._0x1c6683)]===0x0)return this;function _0x18741e(_0x341471,_0x242cbf){return _0x7afdbe(_0x341471,_0x242cbf- -_0x303993._0x4eadaa);}this['options']=merge(this[_0x18741e(0x7d,0x8b7)],_0x25dc3a);function _0x1da6b7(_0xe04964,_0xe29b0){return _0x7afdbe(_0xe04964,_0xe29b0-_0x187f5c._0x598d9d);}return this['moveDelay']=this['options'][_0x18741e(_0x41ced6._0x5cee48,0x5b3)],this[_0x1da6b7(0x1865,0x14f5)]=this[_0x1da6b7(0x1548,0xafd)][_0x18741e(0xdcb,0x10de)],this;}[_0x7afdbe(0x1084,0x10c6)](){const _0x1d6ea6={_0xd6ebea:0x8b6,_0x2d02fe:0x8b6},_0x19a270={_0x580f27:0x37c},_0x47c215={_0x392b6a:0x25a};function _0x14c2ef(_0x358d5b,_0x40af97){return _0x7afdbe(_0x358d5b,_0x40af97- -_0x47c215._0x392b6a);}function _0x4edef8(_0x3ba3a7,_0x1e5dc9){return _0x7afdbe(_0x3ba3a7,_0x1e5dc9- -_0x19a270._0x580f27);}this[_0x4edef8(-0xc9,_0x1d6ea6._0xd6ebea)]&&(clearTimeout(this['_moveDelayTik']),this[_0x4edef8(0x4a2,_0x1d6ea6._0x2d02fe)]=null);}['_setInputAction'](){const _0x2119be={_0x14c84b:0x553,_0x15d0c6:0xd43,_0x1427c9:0x147b,_0x44af96:0x5c0,_0x65b925:0x1975,_0x4b8ae4:0x158e,_0x421b1a:0x8f0,_0x554161:0x14a2,_0x21d17d:0x1156,_0x3cc29d:0xaa8,_0x3a7c4d:0x13a2,_0xc477bb:0x1616,_0x2933c7:0x5c0,_0x2b662c:0x754,_0x10e22d:0xcc0,_0x150f84:0x49b,_0x24026a:0x42c,_0x289de9:0x42f,_0x5102d9:0x15aa,_0x33ee62:0x192b,_0x99c2:0x255,_0x13397a:0x13f3},_0x4f1cae={_0x139127:0xb6},_0x211cab={_0x1b7a46:0x565,_0x5e6468:0x1cb},_0x4210b0={_0x5cc187:0x14c},_0x47b12d={_0x1d74b3:0xc5},_0x375953={_0x249e49:0x2df},_0x745500={_0x13f37d:0x513},_0x5f489f={_0x288597:0x324},_0x2a99b9={_0x1361fa:0x9ba,_0x1517cd:0x431},_0x2607d4={_0x3e7111:0x44a},_0x3864b2={_0x1749af:0x559,_0x1244b2:0x123d,_0x371aac:0x15e0,_0x1b01bd:0x4f1,_0x4cbe07:0xa60,_0x144a02:0xd83,_0x58eb59:0x3a5},_0x17a5c5={_0x353f8c:0x16c},_0x2410c2={_0x3898c0:0x272},_0x1d90ae={_0x1b13a6:0x367},_0x515c31={_0x2ded98:0x47a},_0x358981={_0x6716e7:0xa0f},_0x2a5508={_0x437f8a:0x4e3},_0x3b6df5={_0x4f6112:0x188a},_0x143d41={_0x2ea114:0x165};function _0x4755b3(_0x4c5d58,_0x4762a9){return _0x7afdbe(_0x4c5d58,_0x4762a9- -0x66);}this['handler']=new Cesium__namespace['ScreenSpaceEventHandler'](this[_0x4755b3(_0x2119be._0x14c84b,_0x2119be._0x15d0c6)]['canvas']),this['handler']['setInputAction'](_0x3f23bd=>{this['_clickHandler'](_0x3f23bd);},Cesium__namespace[_0x4755b3(_0x2119be._0x1427c9,0x1382)]['LEFT_CLICK']),this[_0x2fa357(_0x2119be._0x44af96,-0x2de)]['setInputAction'](_0x2ef28f=>{function _0x2c4fe3(_0x30136d,_0x118444){return _0x4755b3(_0x30136d,_0x118444- -_0x143d41._0x2ea114);}this['_globeMouseHandler'](_0x2ef28f,EventType[_0x2c4fe3(_0x3b6df5._0x4f6112,0xead)]);},Cesium__namespace['ScreenSpaceEventType'][_0x4755b3(_0x2119be._0x65b925,_0x2119be._0x4b8ae4)]),this[_0x2fa357(0x5c0,0x222)]['setInputAction'](_0x212e1a=>{function _0x2575ab(_0x1715ef,_0x225a98){return _0x4755b3(_0x1715ef,_0x225a98- -_0x2a5508._0x437f8a);}function _0x34b784(_0x25cb09,_0x4b11ec){return _0x2fa357(_0x4b11ec-0x132,_0x25cb09);}this['_globeMouseHandler'](_0x212e1a,[EventType[_0x2575ab(0xf46,_0x358981._0x6716e7)],EventType[_0x34b784(0x11ea,0x9ba)]]);},Cesium__namespace['ScreenSpaceEventType']['LEFT_DOWN']),this['handler']['setInputAction'](_0x4a183f=>{function _0x147e51(_0x3f514e,_0x4585a6){return _0x2fa357(_0x4585a6- -0x2c7,_0x3f514e);}function _0x234d5b(_0x4cb04d,_0x417877){return _0x4755b3(_0x417877,_0x4cb04d- -_0x515c31._0x2ded98);}this[_0x147e51(_0x1d90ae._0x1b13a6,0x36)](_0x4a183f,[EventType['leftUp'],EventType[_0x234d5b(0x564,0xf84)]]);},Cesium__namespace['ScreenSpaceEventType']['LEFT_UP']),this['handler'][_0x2fa357(0xecc,0xf4b)](_0xbf88ec=>{const _0x5d6c2c={_0x3cef35:0x112d,_0x428dca:0xbf1,_0x488362:0x863,_0x1d0bd8:0x10f5},_0x36f9e5={_0x29af22:0x198},_0x54cdd7=_0xbf88ec[_0x9ead43(_0x3864b2._0x1749af,0xb16)];function _0x9ead43(_0x5c975c,_0x3d1017){return _0x2fa357(_0x5c975c-_0x2410c2._0x3898c0,_0x3d1017);}_0xbf88ec[_0x5507c0(0x7eb,_0x3864b2._0x1244b2)]=_0x54cdd7;const _0x1cf70d=this;Object[_0x5507c0(0x1292,_0x3864b2._0x371aac)](_0xbf88ec,_0x5507c0(0xc40,0x534),{'configurable':!![],'get'(){function _0x1be5f1(_0x338d32,_0xb1c9c6){return _0x9ead43(_0xb1c9c6- -_0x36f9e5._0x29af22,_0x338d32);}function _0x583e4e(_0x4ac00e,_0x11a2e1){return _0x9ead43(_0x11a2e1- -0x31a,_0x4ac00e);}return this['_cartesian']||getCurrentMousePosition(_0x1cf70d[_0x1be5f1(_0x5d6c2c._0x3cef35,_0x5d6c2c._0x428dca)][_0x1be5f1(_0x5d6c2c._0x488362,_0x5d6c2c._0x1d0bd8)],_0x54cdd7,_0x1cf70d[_0x583e4e(0x18be,0x1554)]);},'set'(_0x3ce286){const _0x5d002b={_0x1618ae:0x3b7};function _0x233aca(_0x10b006,_0x45734d){return _0x5507c0(_0x10b006,_0x45734d- -_0x5d002b._0x1618ae);}this[_0x233aca(0x430,0x8ff)]=_0x3ce286;}}),_0xbf88ec[_0x5507c0(0xfae,0x136c)]=!![];function _0x5507c0(_0x11fb0a,_0xf3a325){return _0x4755b3(_0x11fb0a,_0xf3a325- -_0x17a5c5._0x353f8c);}this[_0x5507c0(0x1b70,0x1133)]&&(this[_0x5507c0(0x785,0xef4)](),this['moveDelay']>0x0?this[_0x5507c0(_0x3864b2._0x1b01bd,_0x3864b2._0x4cbe07)]=setTimeout(_0x1ba2fb=>{this['_moveDelayTik']=null,this['_mouseMoveHandler'](_0xbf88ec);},this['moveDelay']):this[_0x5507c0(-0x283,0x3f7)](_0xbf88ec)),this[_0x5507c0(0x9a1,0x82f)][_0x9ead43(0x10c6,0x175a)](EventType[_0x9ead43(_0x3864b2._0x144a02,_0x3864b2._0x58eb59)],_0xbf88ec);},Cesium__namespace['ScreenSpaceEventType']['MOUSE_MOVE']),this[_0x2fa357(0x5c0,_0x2119be._0x421b1a)]['setInputAction'](_0x14bb10=>{this['_map']['fire'](EventType['wheel'],_0x14bb10);},Cesium__namespace['ScreenSpaceEventType']['WHEEL']),this[_0x4755b3(0xa11,0x7ec)]['setInputAction'](_0x30b7e2=>{function _0x2b0895(_0x3e3559,_0x4e1cde){return _0x4755b3(_0x4e1cde,_0x3e3559- -0xdf);}function _0x3f3c2b(_0x2cc26a,_0x3f6e14){return _0x2fa357(_0x2cc26a- -0xfe,_0x3f6e14);}this[_0x2b0895(_0x2607d4._0x3e7111,0x78a)](_0x30b7e2,EventType[_0x3f3c2b(0x727,0x329)]);},Cesium__namespace['ScreenSpaceEventType'][_0x4755b3(0x1091,0x162f)]),this['handler'][_0x4755b3(_0x2119be._0x554161,0x10f8)](_0x40e317=>{function _0x108f06(_0x5993ae,_0x153f13){return _0x2fa357(_0x5993ae-0x1e1,_0x153f13);}this['_globeMouseHandler'](_0x40e317,[EventType[_0x108f06(_0x2a99b9._0x1361fa,_0x2a99b9._0x1517cd)],EventType['mouseDown']]);},Cesium__namespace[_0x2fa357(_0x2119be._0x21d17d,_0x2119be._0x3cc29d)]['RIGHT_DOWN']),this[_0x2fa357(0x5c0,0x5b2)]['setInputAction'](_0x4841af=>{function _0x16c025(_0x1879d6,_0x5c568c){return _0x4755b3(_0x1879d6,_0x5c568c- -0x205);}this[_0x16c025(0x4d2,_0x5f489f._0x288597)](_0x4841af,[EventType['rightUp'],EventType['mouseUp']]);},Cesium__namespace['ScreenSpaceEventType']['RIGHT_UP']),this[_0x2fa357(0x5c0,0x1027)]['setInputAction'](_0x3eec3f=>{function _0x55b674(_0x262030,_0x551fc9){return _0x4755b3(_0x551fc9,_0x262030- -_0x745500._0x13f37d);}this['_globeMouseHandler'](_0x3eec3f,EventType[_0x55b674(_0x375953._0x249e49,-0x1e2)]);},Cesium__namespace['ScreenSpaceEventType'][_0x2fa357(_0x2119be._0x3a7c4d,_0x2119be._0xc477bb)]),this[_0x2fa357(_0x2119be._0x2933c7,-0x4a9)]['setInputAction'](_0x11a0af=>{this['_globeMouseHandler'](_0x11a0af,[EventType['middleDown'],EventType['mouseDown']]);},Cesium__namespace['ScreenSpaceEventType']['MIDDLE_DOWN']),this['handler'][_0x2fa357(0xecc,0x1879)](_0xcb046=>{function _0x1357c4(_0x43cb99,_0x35d6e2){return _0x4755b3(_0x43cb99,_0x35d6e2- -0x464);}this[_0x1357c4(0x5f5,_0x47b12d._0x1d74b3)](_0xcb046,[EventType['middleUp'],EventType['mouseUp']]);},Cesium__namespace[_0x2fa357(_0x2119be._0x21d17d,0x1438)]['MIDDLE_UP']);function _0x2fa357(_0xa4b518,_0xd8af6){return _0x54a7f1(_0xa4b518- -0x64,_0xd8af6);}this['handler']['setInputAction'](_0x15d868=>{function _0xc40f6(_0x620a,_0x1b6c2b){return _0x4755b3(_0x1b6c2b,_0x620a- -_0x4210b0._0x5cc187);}this['_globeMouseHandler'](_0x15d868,EventType[_0xc40f6(_0x211cab._0x1b7a46,_0x211cab._0x5e6468)]);},Cesium__namespace['ScreenSpaceEventType']['PINCH_START']),this['handler'][_0x2fa357(0xecc,0x1510)](_0x346bcb=>{function _0xc0dece(_0x8e5941,_0x191fe3){return _0x4755b3(_0x191fe3,_0x8e5941- -_0x4f1cae._0x139127);}function _0x444291(_0x490969,_0x3ab890){return _0x2fa357(_0x490969- -0xac,_0x3ab890);}this[_0xc0dece(0x473,0x8fa)](_0x346bcb,EventType[_0xc0dece(0x160b,0x1f2c)]);},Cesium__namespace['ScreenSpaceEventType'][_0x2fa357(0x14e5,0x154f)]),this[_0x4755b3(_0x2119be._0x2b662c,0x7ec)]['setInputAction'](_0x540799=>{this['_map']['fire'](EventType['pinchMove'],_0x540799);},Cesium__namespace['ScreenSpaceEventType']['PINCH_MOVE']),this['_map']['canvas']['addEventListener']('keydown',this['_onKeyDown'][_0x4755b3(_0x2119be._0x10e22d,_0x2119be._0x150f84)](this)),this[_0x2fa357(0x76f,0xc1e)]['canvas']['addEventListener']('keyup',this['_onKeyUp'][_0x4755b3(_0x2119be._0x24026a,0x49b)](this)),this['_map'][_0x4755b3(_0x2119be._0x289de9,0xaaa)][_0x4755b3(_0x2119be._0x5102d9,_0x2119be._0x33ee62)]('mouseover',this[_0x2fa357(_0x2119be._0x99c2,-0x7d9)]['bind'](this)),this['_map']['canvas']['addEventListener'](_0x2fa357(_0x2119be._0x13397a,0x1a4a),this['_onMouseOut'][_0x4755b3(-0x3e8,0x49b)](this));}['_onMouseOver'](_0x146c1f){const _0x2de617={_0x39793a:0x23c},_0x2b2e86={_0x29b897:0x16};function _0x562f58(_0x2891f5,_0x52c7a7){return _0x54a7f1(_0x52c7a7-_0x2b2e86._0x29b897,_0x2891f5);}const _0x474ec8={};_0x474ec8[_0x1d0ab5(0x15a,0xafb)]=_0x146c1f;function _0x1d0ab5(_0x1c742e,_0x53c622){return _0x7afdbe(_0x1c742e,_0x53c622- -_0x2de617._0x39793a);}this[_0x562f58(0xfb9,0x7e9)]['fire'](EventType[_0x562f58(0x1813,0x123c)],_0x474ec8);}[_0x54a7f1(0x15d7,0x14f4)](_0x5dab18){const _0x3dc7ce={_0x2220d6:0x837},_0x213a65={_0x1b1744:0x1ca};function _0x15feed(_0x34c178,_0x2f9b3e){return _0x7afdbe(_0x2f9b3e,_0x34c178- -_0x213a65._0x1b1744);}const _0x501c8d={};_0x501c8d['mouseEvent']=_0x5dab18,this[_0x15feed(_0x3dc7ce._0x2220d6,0x124)]['fire'](EventType['mouseOut'],_0x501c8d);}[_0x7afdbe(0xc62,0xe24)](_0x2db85a){const _0x13badc={_0x4c99f7:0x7c8,_0x2b519a:0x4f9,_0x5461bf:0x8d7},_0x152a00={_0x5dc2ae:0x10b},_0x25bde6={};_0x25bde6['mouseEvent']=_0x2db85a,_0x25bde6[_0x40dd0b(_0x13badc._0x4c99f7,0x4d1)]=_0x2db85a['ctrlKey'],_0x25bde6['altKey']=_0x2db85a['altKey'],_0x25bde6['metaKey']=_0x2db85a['metaKey'];function _0x4fd687(_0x54e6d3,_0x66ecc3){return _0x54a7f1(_0x54e6d3- -_0x152a00._0x5dc2ae,_0x66ecc3);}_0x25bde6['shiftKey']=_0x2db85a['shiftKey'],_0x25bde6[_0x4fd687(0x594,0xda9)]=_0x2db85a['code'],_0x25bde6[_0x40dd0b(0xbc7,0xd60)]=_0x2db85a[_0x40dd0b(0x17bf,0xd60)];function _0x40dd0b(_0x41ae0d,_0x42a843){return _0x7afdbe(_0x41ae0d,_0x42a843- -0x54e);}_0x25bde6[_0x40dd0b(_0x13badc._0x2b519a,_0x13badc._0x5461bf)]=_0x2db85a['keyCode'],this['_map']['fire'](EventType['keydown'],_0x25bde6);}['_onKeyUp'](_0x365ab5){const _0x506c4d={_0x287e62:0x3cc,_0x7b02a9:0x9aa,_0x4f7b08:0x1323},_0x568108={_0x1bd8b0:0x75},_0x5a5768={};_0x5a5768[_0x396242(0x12ce,0xc3a)]=_0x365ab5,_0x5a5768[_0x396242(_0x506c4d._0x287e62,0x922)]=_0x365ab5['ctrlKey'];function _0x8c43fe(_0x405a99,_0x2ee6e3){return _0x7afdbe(_0x2ee6e3,_0x405a99-_0x568108._0x1bd8b0);}_0x5a5768[_0x396242(0xe2f,0x9db)]=_0x365ab5[_0x8c43fe(0xb4d,0xcfd)],_0x5a5768['metaKey']=_0x365ab5[_0x8c43fe(0xf9c,_0x506c4d._0x7b02a9)],_0x5a5768[_0x8c43fe(0x59e,0x736)]=_0x365ab5[_0x396242(-0x36,0x42c)],_0x5a5768['code']=_0x365ab5['code'],_0x5a5768['key']=_0x365ab5[_0x8c43fe(_0x506c4d._0x4f7b08,0x1306)];function _0x396242(_0x44e1a4,_0x203a01){return _0x54a7f1(_0x203a01-0x131,_0x44e1a4);}_0x5a5768['keyCode']=_0x365ab5['keyCode'],this['_map'][_0x8c43fe(0x115b,0x1575)](EventType['keyup'],_0x5a5768);}['getPickTarget'](_0x2a1d19,_0x4330db){const _0x8d59fa={_0xe2fe99:0x50d,_0x182abe:0x25b,_0x4f6ec3:0x1cb0,_0x2c932c:0x197e,_0x4b275a:0x16a3,_0x43a1f2:0x6e2,_0xe185f3:0x111f,_0x2dc6f8:0x1cb3,_0x1db1ed:0xd81},_0x465dbf={_0x5703bf:0x11b};if(_0x4330db!==null&&_0x4330db!==void 0x0&&_0x4330db[_0x4026f3(_0x8d59fa._0xe2fe99,0x7d2)])return _0x4330db;let _0x146542;try{_0x146542=this[_0x4026f3(0xac0,0x4ee)]['scene'][_0x4026f3(0x69e,_0x8d59fa._0x182abe)](_0x2a1d19,this['options']['pickWidth'],this[_0x4026f3(0x7f5,0xf6f)]['pickHeight']);}catch(_0x8d1e6f){}let _0x191492=this['_getTargetInfo'](_0x146542,_0x2a1d19);if(_0x146542&&this['_allowDrillPick'](_0x191492)){const _0x508aa7=this['_viewer']['scene'][_0x5889ee(_0x8d59fa._0x4f6ec3,0x12b9)](_0x2a1d19,this['options']['pickLimit'],this['options']['pickWidth'],this['options'][_0x5889ee(_0x8d59fa._0x2c932c,0x1387)]),_0x380e17=[];if(_0x508aa7&&_0x508aa7[_0x5889ee(0xf0a,0x10a0)]>0x0)for(let _0x5374a1=0x0,_0x1d8f34=_0x508aa7[_0x5889ee(_0x8d59fa._0x4b275a,0x10a0)];_0x5374a1<_0x1d8f34;_0x5374a1++){const _0x7d4d90=_0x508aa7[_0x5374a1];if(_0x146542===_0x7d4d90){var _0x76164;_0x380e17['push']((_0x76164=_0x191492)===null||_0x76164===void 0x0?void 0x0:_0x76164['graphic']);continue;}const _0x401500=this[_0x5889ee(0x99d,0x1273)](_0x7d4d90,_0x2a1d19);_0x380e17[_0x4026f3(0xe4d,0x190f)](_0x401500===null||_0x401500===void 0x0?void 0x0:_0x401500['graphic']);if(this[_0x5889ee(0xd7c,_0x8d59fa._0x43a1f2)](_0x401500)&&_0x5374a1!==_0x1d8f34-0x1)continue;else{_0x191492=_0x401500,_0x191492['pickedObjects']=_0x508aa7,_0x191492[_0x4026f3(_0x8d59fa._0xe185f3,0x6b7)]=_0x380e17;break;}}}let _0x267ae7=_0x4330db===null||_0x4330db===void 0x0?void 0x0:_0x4330db['cartesian'];function _0x4026f3(_0x2532a3,_0x1c9a1c){return _0x54a7f1(_0x2532a3- -0xbb,_0x1c9a1c);}!_0x267ae7&&(_0x267ae7=getCurrentMousePosition(this['_viewer']['scene'],_0x2a1d19,this[_0x5889ee(_0x8d59fa._0x2dc6f8,0x177b)]));function _0x5889ee(_0x1a593c,_0x5ef8e1){return _0x54a7f1(_0x5ef8e1-_0x465dbf._0x5703bf,_0x1a593c);}const _0x2ef18f={..._0x4330db,..._0x191492};_0x2ef18f[_0x5889ee(_0x8d59fa._0x1db1ed,0x5f3)]=_0x267ae7,_0x2ef18f['windowPosition']=_0x2a1d19;const _0x2e1035=_0x2ef18f;return _0x2e1035;}[_0x7afdbe(0x23f,0x7f5)](_0x3cfc9c){var _0x5f3c15,_0x1d0a33;let _0x33414c=(_0x5f3c15=_0x3cfc9c['graphic'])===null||_0x5f3c15===void 0x0?void 0x0:_0x5f3c15['allowDrillPick'];if(_0x33414c)return isFunction(_0x33414c)?_0x33414c(_0x3cfc9c):!![];_0x33414c=(_0x1d0a33=_0x3cfc9c['layer'])===null||_0x1d0a33===void 0x0?void 0x0:_0x1d0a33['allowDrillPick'];if(_0x33414c)return isFunction(_0x33414c)?_0x33414c(_0x3cfc9c):!![];return![];}['_getTargetInfo'](_0x45ce28,_0x16f92c){const _0x1ffd16={_0x52b3fa:0xead,_0x1711c8:0x18ba,_0x230a35:0x1110,_0x25292c:0x40d,_0x3b422a:0x3b3,_0x19f515:0x830,_0x4cd0b6:0xfd9,_0x431484:0x86f,_0x34949f:0x11a1,_0x2b97f7:0x12ba,_0x2f97a4:0xd0b,_0x47c77e:0x84a},_0x2be264={_0x2ad928:0x6cb,_0x20365a:0x501,_0x1e378c:0xcb,_0x155098:0x1d1,_0x33d6f4:0xe1d,_0x1e951d:0xd1e,_0x16c206:0x902,_0x532347:0x1caf},_0xd859d5={_0x5ce987:0x9c2},_0x7c1a76={_0x213650:0x192};var _0x23ae00;if(!Cesium__namespace[_0x62d9b3(_0x1ffd16._0x52b3fa,0x171d)](_0x45ce28))return{};const _0x3ea6a5=_0x16f92c['x'][_0x98990(_0x1ffd16._0x1711c8,_0x1ffd16._0x230a35)](0x1)+'_'+_0x16f92c['y'][_0x62d9b3(0x1aa5,0x11c5)](0x1);if(this['_lastPickTarget']&&_0x16f92c&&this[_0x62d9b3(0x23a,0x494)]['key']===_0x3ea6a5)return this['_lastPickTarget'];function _0x98990(_0x3226d0,_0x246089){return _0x54a7f1(_0x246089- -0x19,_0x3226d0);}let _0x311763,_0x11c549,_0x176ef8;function _0x62d9b3(_0x49cafc,_0x164e23){return _0x7afdbe(_0x49cafc,_0x164e23- -_0x7c1a76._0x213650);}let _0x35c345;if(Cesium__namespace['defined'](_0x45ce28['id'])&&_0x45ce28['id']instanceof Cesium__namespace['Entity'])_0x311763=_0x45ce28['id'],_0x35c345=_0x311763['id'];else{if(_0x45ce28 instanceof Cesium__namespace['Cesium3DTileFeature']){_0x311763=_0x45ce28,_0x35c345='3dtile_feature_'+_0x45ce28['_batchId'];const _0x501827=_0x45ce28[_0x98990(_0x1ffd16._0x25292c,_0x1ffd16._0x3b422a)];_0x11c549=this['_map'][_0x62d9b3(0x103f,_0x1ffd16._0x19f515)](_0x501827['_mars3d_layerId']),_0x176ef8={'attr':get3DTileFeatureAttr(_0x45ce28),'feature':_0x45ce28};}else{if(_0x45ce28[_0x98990(0x14d9,0x14fa)]&&_0x45ce28['content']instanceof(Cesium__namespace['PointCloud3DTileContent']||Cesium__namespace['PointCloud'])){var _0xd40463;_0x311763=_0x45ce28['content'],_0x35c345='3dtile_pnts_'+((_0xd40463=_0x45ce28['content'])===null||_0xd40463===void 0x0||(_0xd40463=_0xd40463['_pickId'])===null||_0xd40463===void 0x0?void 0x0:_0xd40463['key'])||0x0;const _0x1f5e4c=_0x45ce28[_0x98990(0x11bb,0x10db)];_0x11c549=this['_map']['getLayerById'](_0x1f5e4c['_mars3d_layerId']);if(_0x45ce28['batchTable']);}else{if((_0x23ae00=_0x45ce28['content'])!==null&&_0x23ae00!==void 0x0&&(_0x23ae00=_0x23ae00['tile'])!==null&&_0x23ae00!==void 0x0&&_0x23ae00['i3sNode']){const _0x2cc513=_0x45ce28['content']['tile']['i3sNode'],_0x290821=this['_viewer'][_0x98990(0xf2e,0x1066)]['pickPosition'](_0x16f92c);_0x290821&&(_0x176ef8={'attr':_0x2cc513['loadFields']()['then'](function(){function _0x124ccd(_0x3301b0,_0x5cb3f6){return _0x98990(_0x5cb3f6,_0x3301b0- -0x91);}return _0x2cc513[_0x124ccd(0xe05,_0xd859d5._0x5ce987)](_0x290821);}),'feature':_0x2cc513}),_0x311763=_0x2cc513,_0x35c345=_0x62d9b3(0x1283,_0x1ffd16._0x4cd0b6)+_0x2cc513[_0x62d9b3(0x620,0x373)]||0x0,_0x11c549=this[_0x62d9b3(0x119d,0x86f)]['getLayerById'](_0x2cc513['_dataProvider'][_0x98990(0x1960,0x1205)]);}else Cesium__namespace['defined'](_0x45ce28['primitive'])?(_0x311763=_0x45ce28['primitive'],_0x35c345=_0x45ce28['id']):logInfo('getPickTarget:拾取到了对象,请确认是否要做处理',_0x45ce28);}}}if(_0x311763){_0x11c549=_0x11c549||this[_0x62d9b3(0x296,_0x1ffd16._0x431484)][_0x62d9b3(_0x1ffd16._0x34949f,0x830)](_0x311763[_0x62d9b3(0xea4,_0x1ffd16._0x2b97f7)]);if(_0x11c549&&_0x11c549['getGraphicById']){_0x176ef8=_0x176ef8||_0x11c549['getGraphicById'](_0x311763['_mars3d_graphicId']);if(_0x176ef8){_0x35c345=_0x176ef8['id'];if(_0x176ef8['getPickedObject']){const _0x4af1f3=_0x45ce28['id']||_0x45ce28[_0x98990(0x2a4,0x59d)];if(_0x4af1f3){var _0x9baa05;_0x35c345=_0x4af1f3,_0x45ce28[_0x62d9b3(0x1395,0xd0b)]=_0x176ef8['getPickedObject'](_0x4af1f3),_0x176ef8['attr']=(_0x9baa05=_0x45ce28[_0x62d9b3(0x87b,_0x1ffd16._0x2f97a4)])===null||_0x9baa05===void 0x0?void 0x0:_0x9baa05['attr'];}}}else{var _0x45bac0;(_0x45bac0=_0x311763)!==null&&_0x45bac0!==void 0x0&&_0x45bac0[_0x62d9b3(0xb3b,0xfbc)]&&(_0x176ef8=_0x311763[_0x62d9b3(_0x1ffd16._0x47c77e,0xfbc)]);}}}const _0x5dfddb={'id':_0x35c345,'pickedObject':_0x45ce28,'sourceTarget':_0x311763,'czmObject':_0x311763,'layer':_0x11c549,'graphic':_0x176ef8,'hasClickEvent':function(){if(this['graphic']){if(isFunction(this['graphic'][_0xb8b449(_0x2be264._0x2ad928,0xe6e)])&&this[_0x460563(0x697,_0x2be264._0x20365a)]['listens'](EventType['click']))return!![];if(isFunction(this[_0xb8b449(_0x2be264._0x1e378c,-_0x2be264._0x155098)]['hasPopup'])&&_0x176ef8['hasPopup']())return!![];}function _0x460563(_0x58bd43,_0x1096a4){return _0x98990(_0x1096a4,_0x58bd43-0xe8);}function _0xb8b449(_0x258b5d,_0x47187e){return _0x62d9b3(_0x47187e,_0x258b5d- -0x599);}if(this[_0xb8b449(_0x2be264._0x33d6f4,0xfb5)]){var _0x40c926;if(isFunction(this[_0xb8b449(0xe1d,0x11d8)]['listens'])&&this['layer'][_0xb8b449(0x6cb,_0x2be264._0x1e951d)](EventType[_0x460563(0xfd9,_0x2be264._0x16c206)]))return!![];if(isFunction(this['layer'][_0x460563(0x144c,_0x2be264._0x532347)])&&(_0x40c926=_0x11c549)!==null&&_0x40c926!==void 0x0&&_0x40c926['hasPopup']())return!![];}return![];}};return this['_lastPickTarget']=_0x5dfddb,_0x5dfddb;}['getPicked'](_0x20732c){const _0x208634={_0x5ca20c:0xecd,_0x17e98f:0x1965,_0x25961c:0x1507,_0x47c5e4:0xd6e,_0x5ac00e:0xe16,_0x2e5cca:0x157d,_0x28bac4:0x1ac8,_0x1f4839:0x15b4,_0x5cc0b2:0x361,_0x51be23:0x135e,_0x5af96d:0x17d3,_0x151614:0x1ae0,_0xa7654a:0x160b};if(!_0x20732c||!_0x20732c[_0xf39b24(_0x208634._0x5ca20c,0x857)])return undefined;function _0xf39b24(_0x48ca63,_0xa86964){return _0x54a7f1(_0x48ca63- -0x217,_0xa86964);}function _0x3392c0(_0x1c3bab,_0x587c25){return _0x54a7f1(_0x1c3bab-0x26a,_0x587c25);}const _0x2abc5e=_0x20732c['pickedObject'],_0x2fcbfb=_0x20732c[_0x3392c0(_0x208634._0x17e98f,0x1aef)];if(_0x2fcbfb instanceof Cesium__namespace[_0xf39b24(_0x208634._0x25961c,0x1fac)]){const _0x276d06=_0x2abc5e['primitive'][_0x3392c0(0x160b,0x10a1)];if((_0x276d06===null||_0x276d06===void 0x0?void 0x0:_0x276d06[_0xf39b24(_0x208634._0x47c5e4,0x5bd)])>0x0){const _0x3680e4=_0x276d06[_0xf39b24(0x518,0x7d9)](_0x37e810=>{return _0x37e810['object']===_0x2abc5e;});return _0x3680e4;}}else{if(_0x2fcbfb instanceof Cesium__namespace['Cesium3DTileFeature']){if(_0x2abc5e[_0xf39b24(0x103e,0x60c)])return _0x2abc5e['pickId'];}else{if(_0x2abc5e[_0x3392c0(0x177d,_0x208634._0x5ac00e)]&&_0x2abc5e['content']instanceof(Cesium__namespace[_0x3392c0(_0x208634._0x2e5cca,_0x208634._0x28bac4)]||Cesium__namespace[_0x3392c0(0x1278,0x1464)])){var _0x5e7bd4;return(_0x5e7bd4=_0x2abc5e[_0x3392c0(0x177d,_0x208634._0x1f4839)])===null||_0x5e7bd4===void 0x0?void 0x0:_0x5e7bd4[_0xf39b24(0x29c,-_0x208634._0x5cc0b2)];}else{var _0x20f0d2;if(_0x2abc5e['primitive']['pickId'])return _0x2abc5e[_0x3392c0(_0x208634._0x51be23,_0x208634._0x5af96d)]['pickId'];if(_0x2abc5e[_0x3392c0(0x135e,_0x208634._0x151614)]['_pickIds'])return _0x2abc5e['primitive'][_0x3392c0(0x160b,0x12ce)];if((_0x20f0d2=_0x2abc5e['content'])!==null&&_0x20f0d2!==void 0x0&&(_0x20f0d2=_0x20f0d2['_model'])!==null&&_0x20f0d2!==void 0x0&&_0x20f0d2['_pickIds']){var _0x46f3e9;return(_0x46f3e9=_0x2abc5e['content'])===null||_0x46f3e9===void 0x0||(_0x46f3e9=_0x46f3e9['_model'])===null||_0x46f3e9===void 0x0?void 0x0:_0x46f3e9[_0x3392c0(_0x208634._0xa7654a,0x17f2)];}}}}return undefined;}['pickImageryLayerFeatures'](_0x23deb4,_0x1a2e49){const _0x14cecd={_0x48889d:0xaa6,_0x3a8385:0x68e},_0x293436={_0x379d5a:0xfe},_0x362b9e=LngLatPoint['toCartesian'](_0x23deb4);function _0x4c3b3a(_0x33d988,_0x537502){return _0x7afdbe(_0x33d988,_0x537502- -0x78);}const _0x55fc1a=toWindowCoordinates$1(this['_viewer']['scene'],_0x362b9e);function _0x38e4ac(_0x4f4c9a,_0x6c57e1){return _0x54a7f1(_0x4f4c9a-_0x293436._0x379d5a,_0x6c57e1);}if(_0x1a2e49){const _0x56943a={};return _0x56943a[_0x4c3b3a(_0x14cecd._0x48889d,_0x14cecd._0x3a8385)]=_0x362b9e,this['_pickImageryLayerFeatures'](_0x55fc1a,_0x56943a);}else{const _0x5d3ca2={};return _0x5d3ca2['cartesian']=_0x362b9e,this[_0x38e4ac(0xbf3,0x290)](_0x55fc1a,_0x5d3ca2);}}['_pickImageryLayerFeatures'](_0x454b91,_0xe8ef3a){const _0x1b2a09={_0x101b2d:0xc54,_0x2ec44d:0x133f,_0x1435a6:0xe7b},_0x3408db={_0x3decf9:0x7b,_0x5851c0:0x135},_0x1b45b5={_0x1ff11e:0x60c},_0x57a635={_0x5f2aa7:0xd9};function _0x4d81eb(_0x4d9cc8,_0x47f247){return _0x54a7f1(_0x47f247-_0x57a635._0x5f2aa7,_0x4d9cc8);}function _0x97a2d2(_0x34990a,_0x132c06){return _0x7afdbe(_0x34990a,_0x132c06-0x3b);}const _0x4bc1af=this[_0x4d81eb(0x2fb,_0x1b2a09._0x101b2d)]['scene'],_0x5cf592=_0x4bc1af['camera']['getPickRay'](_0x454b91),_0x2ae74f=_0x4bc1af['imageryLayers'][_0x4d81eb(0xe05,_0x1b2a09._0x2ec44d)](_0x5cf592,_0x4bc1af,!![]);return _0x2ae74f&&_0x2ae74f['then']?_0x2ae74f['then'](_0x3cef70=>{function _0x1de591(_0x5f197a,_0x52143c){return _0x97a2d2(_0x5f197a,_0x52143c- -_0x1b45b5._0x1ff11e);}return this['_clickTileGraphic'](_0x3cef70,_0x454b91,_0xe8ef3a===null||_0xe8ef3a===void 0x0?void 0x0:_0xe8ef3a[_0x1de591(-_0x3408db._0x3decf9,_0x3408db._0x5851c0)]);}):Promise[_0x4d81eb(0x144b,_0x1b2a09._0x1435a6)]();}['_pickImageryLayerFeaturesForClamp'](_0x17c69e,_0x57b4da){const _0x147f14={_0x578a84:0xb5e},_0x374432={_0x18b06e:0x288};function _0x2c34b7(_0x49a849,_0x29fedf){return _0x54a7f1(_0x29fedf- -0xa3,_0x49a849);}const _0x1a1f98=this['_viewer']['scene'];function _0x388dee(_0x382e4d,_0xb7eb6b){return _0x7afdbe(_0x382e4d,_0xb7eb6b- -0x726);}if(this[_0x388dee(-0x411,0x2db)]['_quadtreePrimitive']){const _0x1557f4=this['_map'][_0x388dee(-_0x147f14._0x578a84,-0x273)]['pickFeatures'](_0x1a1f98,_0x17c69e);if(_0x1557f4&&_0x1557f4['then'])return _0x1557f4['then'](_0x5cd41a=>{function _0x20b7f5(_0x260c6a,_0x314ea1){return _0x388dee(_0x260c6a,_0x314ea1-0x3fc);}return this[_0x20b7f5(0x89,_0x374432._0x18b06e)](_0x5cd41a,_0x17c69e,_0x57b4da===null||_0x57b4da===void 0x0?void 0x0:_0x57b4da['cartesian']);});}return Promise['resolve']();}['_clickTileGraphic'](_0x415be8,_0x5bead2,_0xdb7f94){const _0x2fac92={_0x3ba474:0x1621,_0x275cc4:0x10e7,_0x3f43d0:0x1229,_0x2319e5:0x5a3,_0x36125d:0x1505,_0x47f792:0xa5a,_0x1dda5f:0x5a6,_0x323468:0x1777,_0x132dee:0x574,_0x9a3953:0x1698,_0x5b7d38:0xcd7,_0x93f424:0xea4,_0x3a075b:0xa5a,_0x262956:0xd91,_0x537f0c:0x918,_0x2e482d:0x16ef,_0x5bf2de:0x685,_0x1e7435:0x1103},_0x708dfe={_0x1b2b0a:0x1c6};var _0x3ee455,_0x324b20,_0x1ea4c2;if(!Cesium__namespace['defined'](_0x415be8)||_0x415be8['length']===0x0)return;for(let _0x4b2948=_0x415be8['length']-0x1;_0x4b2948>=0x0;_0x4b2948--){const _0x1eb21c=_0x415be8[_0x4b2948],_0x31b9ab=_0x1eb21c['imageryLayer']['splitDirection'];if(_0x31b9ab!==Cesium__namespace[_0x4c0cf8(0xe94,0xa24)][_0x2d7699(_0x2fac92._0x3ba474,0x11a0)]){const _0x25774e=this['_map'][_0x4c0cf8(0xe69,_0x2fac92._0x275cc4)][_0x4c0cf8(0xe44,0x514)]*this['_map'][_0x2d7699(0x12f4,_0x2fac92._0x3f43d0)]['canvas'][_0x2d7699(0xb5a,_0x2fac92._0x2319e5)];(_0x31b9ab===Cesium__namespace['SplitDirection'][_0x4c0cf8(-0x42,0x753)]&&_0x5bead2['x']>_0x25774e||_0x31b9ab===Cesium__namespace[_0x2d7699(0x1616,0xb66)]['RIGHT']&&_0x5bead2['x']<_0x25774e)&&_0x415be8['splice'](_0x4b2948,0x1);}}if(_0x415be8['length']===0x0)return;let _0x289467=_0x415be8[0x0];const _0x26619a=_0x289467['imageryLayer'],_0x422330=this['_map']['getLayerById'](_0x26619a['_mars3d_layerId']);if(_0x422330&&(_0x3ee455=_0x422330[_0x2d7699(_0x2fac92._0x36125d,_0x2fac92._0x47f792)])!==null&&_0x3ee455!==void 0x0&&_0x3ee455[_0x2d7699(0x198b,0x18b9)]){var _0x4a320d;const _0xbebb26=_0x422330['options']['featureIndex'];if(((_0x4a320d=_0x422330[_0x2d7699(_0x2fac92._0x1dda5f,0xa5a)])===null||_0x4a320d===void 0x0?void 0x0:_0x4a320d[_0x4c0cf8(0x178f,_0x2fac92._0x323468)])===_0x4c0cf8(0xccf,0x75b))_0x289467=_0x415be8[_0x415be8['length']-0x1];else{if(isNumber(_0xbebb26))_0x289467=_0x415be8[_0xbebb26]||_0x289467;else isFunction(_0xbebb26)&&(_0x289467=_0xbebb26(_0x415be8)||_0x289467);}}const _0x1d06ad={};_0x1d06ad['sourceTarget']=_0x26619a,_0x1d06ad['layer']=_0x422330;function _0x4c0cf8(_0x450486,_0x1d1ec9){return _0x7afdbe(_0x450486,_0x1d1ec9- -_0x708dfe._0x1b2b0a);}_0x1d06ad[_0x4c0cf8(0xab5,_0x2fac92._0x132dee)]=_0x415be8,_0x1d06ad['attr']=_0x289467[_0x4c0cf8(_0x2fac92._0x9a3953,0x137c)]||((_0x324b20=_0x289467[_0x4c0cf8(0x954,_0x2fac92._0x5b7d38)])===null||_0x324b20===void 0x0?void 0x0:_0x324b20['properties']),_0x1d06ad['cartesian']=_0xdb7f94,_0x1d06ad['windowPosition']=_0x5bead2;const _0x561f54=_0x1d06ad;if(_0x289467['data']&&_0x422330&&(_0x422330[_0x4c0cf8(_0x2fac92._0x93f424,0xbf3)]||(_0x1ea4c2=_0x422330[_0x2d7699(0xc44,_0x2fac92._0x3a075b)])!==null&&_0x1ea4c2!==void 0x0&&_0x1ea4c2[_0x2d7699(0xe0,0x888)]||_0x422330['listens'](EventType[_0x4c0cf8(0xbbe,0xf72)]))){if(_0x422330['options'][_0x2d7699(0x18b1,0x104b)]){const _0x57b510=_0x422330[_0x4c0cf8(_0x2fac92._0x262956,_0x2fac92._0x537f0c)]['featureToGraphic'](_0x289467,_0x561f54);if(_0x57b510){var _0x188977;Array['isArray'](_0x57b510)?(_0x561f54['graphic']=_0x57b510['length']>0x0?_0x57b510[0x0]:null,_0x561f54['graphics']=_0x57b510):(_0x561f54['graphic']=_0x57b510,_0x561f54['graphics']=[_0x57b510]),(_0x188977=_0x561f54[_0x2d7699(0xe03,0x772)])!==null&&_0x188977!==void 0x0&&_0x188977[_0x4c0cf8(0x1fba,_0x2fac92._0x2e482d)]&&(_0x561f54['attr']=_0x561f54['graphic']['attr']);}}else{const _0x34018c=_0x422330['options']['hasToGraphic']??0x1388;let _0x55d4e5=!![];if(isBoolean(_0x34018c))_0x55d4e5=_0x34018c;else{if(isNumber(_0x34018c)){var _0x506e17;const _0x528534=JSON['stringify'](((_0x506e17=_0x289467['data'])===null||_0x506e17===void 0x0?void 0x0:_0x506e17['geometry'])||{})[_0x4c0cf8(0x80d,0xfed)];_0x55d4e5=_0x528534<_0x34018c;}else isFunction(_0x34018c)&&(_0x55d4e5=_0x34018c(_0x289467));}if(_0x55d4e5){var _0x4b6c20;const _0x4f58f8=_0x422330['_highlightOptions']||(_0x422330===null||_0x422330===void 0x0||(_0x4b6c20=_0x422330['options'])===null||_0x4b6c20===void 0x0?void 0x0:_0x4b6c20['highlight']),_0x4f5398=geoJsonToGraphics(_0x289467['data'],{'type':_0x4f58f8===null||_0x4f58f8===void 0x0?void 0x0:_0x4f58f8['type'],'crs':(_0x4f58f8===null||_0x4f58f8===void 0x0?void 0x0:_0x4f58f8['crs'])||_0x289467[_0x2d7699(0x488,_0x2fac92._0x5bf2de)]||(_0x422330===null||_0x422330===void 0x0?void 0x0:_0x422330['crs']),'style':_0x4f58f8});_0x561f54[_0x4c0cf8(0xd49,0x630)]=_0x4f5398['length']>0x0?_0x4f5398[0x0]:null,_0x561f54[_0x4c0cf8(_0x2fac92._0x1e7435,0x1242)]=_0x4f5398;}else{var _0x39d8b0;logInfo('_clickTileGraphic:\x20当前数据太大,避免卡顿未进行解析,如需展示矢量对象,请在图层配置加\x20hasToGraphic:true\x20参数\x20',_0x422330===null||_0x422330===void 0x0?void 0x0:_0x422330['options'],(_0x39d8b0=_0x289467['data'])===null||_0x39d8b0===void 0x0?void 0x0:_0x39d8b0['geometry']);}}}function _0x2d7699(_0x3a8c09,_0x2fabb7){return _0x7afdbe(_0x3a8c09,_0x2fabb7- -0x84);}return _0x422330&&_0x422330[_0x4c0cf8(0x1518,0xf20)](EventType['click'],_0x561f54,![]),this['_map']['fire'](EventType[_0x4c0cf8(0x421,0x782)],_0x561f54),_0x561f54;}[_0x54a7f1(0x15fa,0x1706)](_0x1547c6){const _0x464e04={_0xb52ffa:0x7ed,_0x2f4df3:0x808,_0x4ed4c5:0x11b7,_0x446d9a:0x17f6};if(!_0x1547c6||!_0x1547c6['position'])return![];const _0x5c41ad=_0x1547c6['position'],_0x3c5eab=this['getPickTarget'](_0x5c41ad,_0x1547c6);function _0x23c2cb(_0x5a6e31,_0x128b11){return _0x54a7f1(_0x5a6e31-0x276,_0x128b11);}!this[_0x1f4e82(_0x464e04._0xb52ffa,-0x1b3)]['isHighlighting'](_0x3c5eab['graphic']||_0x3c5eab[_0x1f4e82(0x1334,0xdf4)])&&this['_map']['closeHighlight']();function _0x1f4e82(_0x12a8b8,_0x4ebe63){return _0x54a7f1(_0x12a8b8-0x1a,_0x4ebe63);}if(_0x3c5eab['sourceTarget']){var _0x5b002e;this[_0x1f4e82(_0x464e04._0x2f4df3,-0x1c3)](EventType['click'],_0x3c5eab),this['_map'][_0x1f4e82(0xed2,_0x464e04._0x4ed4c5)](EventType['clickGraphic'],_0x3c5eab),(_0x5b002e=_0x3c5eab['layer'])!==null&&_0x5b002e!==void 0x0&&_0x5b002e[_0x23c2cb(_0x464e04._0x446d9a,0x1375)]&&this[_0x23c2cb(0xda9,0xae5)](_0x5c41ad,_0x3c5eab),this[_0x23c2cb(0xd6b,0xc6f)](_0x5c41ad,_0x3c5eab);}else this['_map']['fire'](EventType['click'],_0x3c5eab),this[_0x23c2cb(0xa49,0x310)]['fire'](EventType['clickMap'],_0x3c5eab),this[_0x23c2cb(0xda9,0x154c)](_0x5c41ad,_0x3c5eab),this['_pickImageryLayerFeaturesForClamp'](_0x5c41ad,_0x3c5eab);}['_mouseMoveHandler'](_0x1218a2){const _0x1504c6={_0x12502b:0x720,_0xc582a7:0x53e,_0x520ed2:0x9ce,_0x56c16a:0xeff,_0x88295c:0xc3d,_0x227da3:0xa0d},_0x50691c={_0x27aed8:0x404};if(!_0x1218a2||!_0x1218a2[_0x71d1c4(-0x5a5,-0xb9)])return![];const _0x3e6451=_0x1218a2['endPosition'];function _0x521c1a(_0x338548,_0x381040){return _0x54a7f1(_0x381040- -0x27b,_0x338548);}const _0x4259fc=this['getPickTarget'](_0x3e6451,_0x1218a2),_0x11d9d1=_0x4259fc['sourceTarget'];_0x11d9d1&&!_0x11d9d1[_0x521c1a(0x35e,_0x1504c6._0x12502b)]?this[_0x521c1a(0x328,_0x1504c6._0xc582a7)](_0x4259fc):this[_0x71d1c4(_0x1504c6._0x520ed2,0xb0e)]();const _0xd30a00={'czmObject':_0x11d9d1,..._0x1218a2,..._0x4259fc};function _0x71d1c4(_0x1be819,_0x41cb72){return _0x54a7f1(_0x41cb72- -_0x50691c._0x27aed8,_0x1be819);}this['_map'][_0x521c1a(_0x1504c6._0x56c16a,_0x1504c6._0x88295c)](EventType[_0x71d1c4(_0x1504c6._0x227da3,0x469)],_0xd30a00);}['activateMouseOver'](_0x2c3234){const _0x447379={_0x753e2f:0xedd,_0x416326:0x35c,_0x3efd95:0x404,_0x15f815:0xde4};if(this['_lastMouseOverItem']&&_0x2c3234['id']&&_0x2c3234['id']===this['_lastMouseOverItem']['id'])return;function _0x3802e6(_0x39d18d,_0x211961){return _0x54a7f1(_0x39d18d- -0x41c,_0x211961);}this[_0x3802e6(0xaf6,0x145f)]();if(_0x2c3234[_0x58fade(_0x447379._0x753e2f,0xa46)]&&_0x2c3234['hasClickEvent']()){var _0x2d9fd6;let _0x303d5c='pointer';(_0x2d9fd6=_0x2c3234['graphic'])!==null&&_0x2d9fd6!==void 0x0&&(_0x2d9fd6=_0x2d9fd6['style'])!==null&&_0x2d9fd6!==void 0x0&&_0x2d9fd6['cursorCSS']&&(_0x303d5c=_0x2c3234[_0x3802e6(0x1ac,_0x447379._0x416326)][_0x58fade(_0x447379._0x3efd95,-0x4d8)]['cursorCSS']),this['_map']['container']['style'][_0x58fade(0x883,_0x447379._0x15f815)]=_0x303d5c;}function _0x58fade(_0xad9fa0,_0x5c9ce4){return _0x7afdbe(_0x5c9ce4,_0xad9fa0- -0x2c6);}this[_0x58fade(0x756,0x2cd)](EventType['mouseOver'],_0x2c3234),this[_0x3802e6(0x6df,0x1032)]=_0x2c3234;}['activateMouseOut'](){const _0xbd01a9={_0x27bba9:0xa39},_0x3c85d0={_0x8030ad:0x28d},_0x7f97a4={_0x696e97:0x1cb};function _0x47f531(_0x26f5e2,_0x862d37){return _0x54a7f1(_0x26f5e2-_0x7f97a4._0x696e97,_0x862d37);}function _0x391b9a(_0xb9306d,_0x28783e){return _0x54a7f1(_0xb9306d-_0x3c85d0._0x8030ad,_0x28783e);}if(this['_lastMouseOverItem']==null)return;this[_0x391b9a(0xa60,0xb41)]['_setEditCursor'](![]),this[_0x47f531(0x9b9,0x27d)](EventType['mouseOut'],this['_lastMouseOverItem']),this[_0x391b9a(0xd88,_0xbd01a9._0x27bba9)]=null;}['_globeMouseHandler'](_0x1da4f6,_0x2e4f56){const _0x3cb4f0={_0x39f5b7:0x149c,_0x5d656f:0x149c,_0x2a0213:0x801},_0x79454f={_0x26d064:0xa88,_0x547a70:0x116d},_0x1b588d={_0xba6cad:0x473},_0x4dbd1c={_0x4fa279:0xe0};if(!_0x1da4f6||!_0x1da4f6[_0x488bcd(_0x3cb4f0._0x39f5b7,0x1603)])return![];function _0x45722a(_0x2f219a,_0x494288){return _0x54a7f1(_0x494288- -_0x4dbd1c._0x4fa279,_0x2f219a);}const _0x41b870=_0x1da4f6[_0x488bcd(_0x3cb4f0._0x5d656f,0x18ba)];function _0x488bcd(_0x1f51e3,_0x1560fd){return _0x7afdbe(_0x1560fd,_0x1f51e3- -_0x1b588d._0xba6cad);}const _0x3718a3=this[_0x488bcd(0xc11,0x1670)](_0x41b870,_0x1da4f6);Array[_0x488bcd(0x1229,0x7ca)](_0x2e4f56)?_0x2e4f56['forEach'](_0x213b3b=>{const _0x53d014={_0x38ee36:0x365};function _0x5a4408(_0x46733,_0x43780f){return _0x45722a(_0x43780f,_0x46733-0x395);}function _0x47dbce(_0x1c8ec6,_0x4ff3f5){return _0x488bcd(_0x1c8ec6-_0x53d014._0x38ee36,_0x4ff3f5);}_0x3718a3['sourceTarget']?this['fireTargetEvent'](_0x213b3b,_0x3718a3):this[_0x5a4408(_0x79454f._0x26d064,0x60a)][_0x5a4408(_0x79454f._0x547a70,0xcfa)](_0x213b3b,_0x3718a3);}):_0x3718a3['sourceTarget']?this['fireTargetEvent'](_0x2e4f56,_0x3718a3):this['_map'][_0x488bcd(0xc73,_0x3cb4f0._0x2a0213)](_0x2e4f56,_0x3718a3);}['fireTargetEvent'](_0x3e6bab,_0x63db3c){const _0x459f27={_0x185e48:0xfad,_0x4b7e3a:0x484};function _0x27ee18(_0x24a76e,_0x476633){return _0x7afdbe(_0x476633,_0x24a76e- -0x5ba);}var _0x5c620c,_0x47b1ce,_0x35ca8e;function _0x5a4351(_0x2d12e4,_0x384a7a){return _0x54a7f1(_0x384a7a- -0x374,_0x2d12e4);}const _0x134295=_0x63db3c['sourceTarget'][_0x3e6bab];_0x134295&&typeof _0x134295==='function'&&_0x134295(_0x63db3c);(_0x5c620c=_0x63db3c['czmObject']['eventTarget'])===null||_0x5c620c===void 0x0||_0x5c620c[_0x27ee18(0xb2c,0xde0)](_0x3e6bab,_0x63db3c);if((_0x47b1ce=_0x63db3c['graphic'])!==null&&_0x47b1ce!==void 0x0&&_0x47b1ce['fire'])_0x63db3c['graphic']['fire'](_0x3e6bab,_0x63db3c,!![]);else(_0x35ca8e=_0x63db3c[_0x5a4351(_0x459f27._0x185e48,0xfa6)])!==null&&_0x35ca8e!==void 0x0&&_0x35ca8e['fire']?_0x63db3c['layer'][_0x5a4351(0x115b,0xb44)](_0x3e6bab,_0x63db3c,!![]):this[_0x5a4351(-_0x459f27._0x4b7e3a,0x45f)]['fire'](_0x3e6bab,_0x63db3c);}['destroy'](){const _0x46ad65={_0x4a95cb:0xf21,_0x5a102e:0xe1a,_0x451a59:0x459,_0x4feb57:0x1b1b,_0x1f49dc:0xd72,_0x2d71c8:0x141c};function _0x9ac4b3(_0x5881f6,_0x8733d9){return _0x7afdbe(_0x5881f6,_0x8733d9- -0x5a8);}!this[_0x9ac4b3(_0x46ad65._0x4a95cb,0x10bb)]&&(this[_0x9ac4b3(_0x46ad65._0x5a102e,_0x46ad65._0x451a59)]['removeLayer'](this[_0x1b4698(0x1167,_0x46ad65._0x4feb57)],!![]),delete this['_graphicLayer']);function _0x1b4698(_0x53e6fc,_0x373e2d){return _0x54a7f1(_0x53e6fc- -0x2ce,_0x373e2d);}this[_0x9ac4b3(0x34d,0x2aa)]['destroy'](),delete this[_0x1b4698(0x356,0x5b3)],this['_map']['canvas'][_0x1b4698(0xc77,0x1450)](_0x1b4698(0x12bf,0x15d3),this['_onKeyDown']),this['_map'][_0x1b4698(0x614,_0x46ad65._0x1f49dc)]['removeEventListener'](_0x9ac4b3(_0x46ad65._0x2d71c8,0xc6e),this['_onKeyUp']);}}new Cesium__namespace['Cartographic']();const rayScratch=new Cesium__namespace[(_0x7afdbe(0x15d1,0xc4c))](),cartesian3Scratch=new Cesium__namespace['Cartesian3']();class ZoomNavigation{constructor(_0x224436){const _0x26c43f={_0x3dfb1d:0x52e};function _0x534237(_0x4bf182,_0x24481d){return _0x7afdbe(_0x4bf182,_0x24481d- -0x65e);}this[_0x534237(0x96d,_0x26c43f._0x3dfb1d)]=_0x224436;}['zoomIn'](_0x46a58d=0x2,_0x279a6f){return _0x46a58d=0x1/_0x46a58d,this['zoom'](_0x46a58d,_0x279a6f);}['zoomOut'](_0x22faad=0x2,_0x50c445){return this['zoom'](_0x22faad,_0x50c445);}[_0x54a7f1(0x1502,0x19a8)](_0x599eee,_0x3dc51c){const _0x2d910e={_0x3d8e66:0x739,_0x283d63:0x1024,_0x2acac0:0xe5a,_0x482e5d:0xe1,_0x3ca13a:0xce,_0x4ddf8e:0x9c2,_0x5b8fa3:0xf8d,_0x138ef1:0x8db,_0x1bbed6:0x4b7,_0x28968e:0x9a4,_0x560757:0x5dc,_0x551dc7:0x4aa,_0x2593ad:0x139d,_0x1e4934:0x1d15,_0x36b058:0x54d,_0x1f3598:0xbbf,_0x12c5c0:0x867,_0x14bcd7:0x5a,_0xa02e19:0x13ae,_0xcd2eff:0x942,_0x22b0d1:0x10fa,_0x46bbff:0xe14,_0x16140e:0x48e,_0x48548f:0x26e,_0xf45f31:0x55,_0x2f2418:0x3fe,_0x5a9dd0:0x1309,_0x27cb8d:0xf11};function _0x350020(_0x312b68,_0x231f60){return _0x7afdbe(_0x231f60,_0x312b68- -0x453);}const _0x1a5c49=this[_0x350020(_0x2d910e._0x3d8e66,_0x2d910e._0x283d63)][_0x350020(_0x2d910e._0x2acac0,0x184d)],_0x291513=_0x1a5c49['screenSpaceCameraController'];if(!_0x3dc51c&&(!_0x291513['enableInputs']||!_0x291513['enableZoom']))return![];const _0x13678b=_0x1a5c49['camera'];let _0xcfba5c;function _0x16001c(_0xe6195b,_0xd7134e){return _0x7afdbe(_0xd7134e,_0xe6195b- -0x512);}switch(_0x1a5c49[_0x350020(0x26e,_0x2d910e._0x482e5d)]){case Cesium__namespace[_0x350020(0x6ad,0x89e)]['COLUMBUS_VIEW']:case Cesium__namespace['SceneMode'][_0x16001c(_0x2d910e._0x3ca13a,-_0x2d910e._0x4ddf8e)]:case Cesium__namespace[_0x350020(0x6ad,_0x2d910e._0x5b8fa3)][_0x16001c(0x1342,0x1339)]:{const _0x5d5aec=_0x13678b[_0x16001c(0x916,0x237)]['height']*(0x1-_0x599eee);_0x13678b[_0x16001c(_0x2d910e._0x138ef1,0xb8d)](_0x5d5aec);const _0x559e1a=_0x291513['minimumZoomDistance'],_0x320e5b=_0x291513[_0x350020(0x8da,0x56d)],_0xa83c9d=_0x13678b[_0x350020(0x9d5,0x11af)]['height'];if(_0xa83c9d<_0x559e1a)return _0x13678b[_0x16001c(0x8fe,-0xe0)](_0x5d5aec),![];if(_0xa83c9d<_0x291513['_minimumCollisionTerrainHeight']){const _0x58778b=_0x291513[_0x16001c(_0x2d910e._0x1bbed6,_0x2d910e._0x28968e)][_0x350020(0xdfa,_0x2d910e._0x560757)];if(Cesium__namespace['defined'](_0x58778b)&&_0xa83c9d<=_0x58778b+_0x559e1a)return _0x13678b[_0x16001c(0x8fe,_0x2d910e._0x551dc7)](_0x5d5aec),![];}if(_0x320e5b&&_0xa83c9d>_0x320e5b)return _0x13678b['zoomOut'](_0x5d5aec),![];return!![];}default:{let _0x4b93bc;Cesium__namespace[_0x16001c(_0x2d910e._0x2593ad,_0x2d910e._0x1e4934)](this['viewer'][_0x350020(_0x2d910e._0x36b058,_0x2d910e._0x1f3598)])?_0x4b93bc=new Cesium__namespace['Cartesian3']():(rayScratch['origin']=_0x13678b['positionWC'],rayScratch['direction']=_0x13678b[_0x16001c(_0x2d910e._0x12c5c0,0x948)],_0x4b93bc=_0x1a5c49['globe']['pick'](rayScratch,_0x1a5c49,new Cesium__namespace[(_0x350020(0x10c2,0x13a2))]()),Cesium__namespace['defined'](_0x4b93bc)&&(_0x4b93bc=_0x13678b['worldToCameraCoordinatesPoint'](_0x4b93bc,_0x4b93bc)));if(!Cesium__namespace['defined'](_0x4b93bc)){const _0x58b399=new Cesium__namespace['Ray'](_0x13678b['worldToCameraCoordinatesPoint'](_0x1a5c49['globe']['ellipsoid']['cartographicToCartesian'](_0x13678b['positionCartographic'])),_0x13678b['directionWC']);_0x4b93bc=Cesium__namespace['IntersectionTests']['grazingAltitudeLocation'](_0x58b399,_0x1a5c49[_0x350020(_0x2d910e._0x14bcd7,-0x9ef)]['ellipsoid']);if(!Cesium__namespace['defined'](_0x4b93bc))return![];const _0x35e41c={};_0x35e41c['heading']=_0x13678b['heading'],_0x35e41c[_0x350020(0x146d,0x14d6)]=_0x13678b[_0x16001c(_0x2d910e._0xa02e19,0x92c)],_0x35e41c['roll']=_0x13678b[_0x16001c(0x144d,0x1a90)],_0xcfba5c=_0x35e41c;}else{const _0x575980={};_0x575980['direction']=_0x13678b[_0x16001c(_0x2d910e._0xcd2eff,_0x2d910e._0x22b0d1)],_0x575980['up']=_0x13678b['up'],_0xcfba5c=_0x575980;}const _0x30daf0=Cesium__namespace['Cartesian3']['subtract'](_0x13678b['position'],_0x4b93bc,cartesian3Scratch),_0x2a6ae1=Cesium__namespace[_0x16001c(0x1003,_0x2d910e._0x46bbff)][_0x350020(0x261,-0x4a3)](_0x30daf0,_0x599eee,_0x30daf0),_0x361b36=Cesium__namespace['Cartesian3']['add'](_0x4b93bc,_0x2a6ae1,_0x4b93bc);if(!Cesium__namespace['defined'](_0x361b36))return![];const _0x159453=_0x291513[_0x350020(0x370,0xa46)],_0xcfdbd1=_0x291513['maximumZoomDistance'],_0x7f08f2=Cesium__namespace['Cartographic']['fromCartesian'](_0x361b36)[_0x16001c(0x383,-0x323)];if(_0x7f08f2<_0x159453)return![];if(_0x7f08f2<_0x291513['_minimumCollisionTerrainHeight']){const _0x4964b7=_0x291513['_scene'][_0x16001c(0xd3b,0x150b)];if(Cesium__namespace[_0x350020(0x145c,0xabf)](_0x4964b7)&&_0x7f08f2<=_0x4964b7+_0x159453)return![];}if(_0xcfdbd1&&_0x7f08f2>_0xcfdbd1)return![];if(Cesium__namespace['defined'](this['viewer'][_0x16001c(_0x2d910e._0x16140e,0xb7c)])||_0x1a5c49[_0x350020(_0x2d910e._0x48548f,_0x2d910e._0xf45f31)]===Cesium__namespace['SceneMode']['COLUMBUS_VIEW'])_0x13678b['position']=_0x361b36;else{const _0x1437a7={};_0x1437a7['destination']=_0x361b36,_0x1437a7['orientation']=_0xcfba5c,_0x1437a7[_0x350020(0x6c4,-_0x2d910e._0x2f2418)]=0.5,_0x1437a7[_0x350020(_0x2d910e._0x5a9dd0,_0x2d910e._0x27cb8d)]=![],_0x13678b['flyTo'](_0x1437a7);}return!![];}}}}class SceneOption{constructor(_0x3bf99e){const _0x59c668={_0x1b470b:0x4c8};this[_0x1b5dc8(0x427,-0x11f)]=_0x3bf99e;function _0x1b5dc8(_0x5e6bd6,_0x5019ed){return _0x54a7f1(_0x5e6bd6- -0x3ac,_0x5019ed);}this['_viewer']=_0x3bf99e['viewer'];function _0x58f142(_0x4f094e,_0xb888dc){return _0x54a7f1(_0xb888dc- -_0x59c668._0x1b470b,_0x4f094e);}this['options']={},this[_0x58f142(0x44c,0xa25)]();}['_init'](){const _0x2650a0={_0x11c5e1:0x3,_0x2e8b59:0x123e,_0x1f1c3e:0x692,_0x9ce0f1:0x61,_0xbaf7dd:0xda9};function _0x5ec642(_0x1f37d0,_0x139b6a){return _0x7afdbe(_0x139b6a,_0x1f37d0- -0x6cd);}function _0x3d212f(_0x5b216a,_0x57e8e3){return _0x7afdbe(_0x57e8e3,_0x5b216a- -0x6c2);}this['_viewer'][_0x5ec642(-0x24,0x413)]['creditContainer'][_0x5ec642(-_0x2650a0._0x11c5e1,-0x2c5)][_0x3d212f(_0x2650a0._0x2e8b59,0x1565)]=_0x3d212f(0xba4,_0x2650a0._0x1f1c3e),this[_0x5ec642(0x6dc,-_0x2650a0._0x9ce0f1)]['scene']['screenSpaceCameraController']['maximumZoomDistance']=0x2faf080,this[_0x3d212f(0x6e7,-0xba)][_0x5ec642(0xbe0,0x3b8)]['backgroundColor']=Cesium__namespace['Color']['TRANSPARENT'];if(Cesium__namespace['FeatureDetection']['supportsImageRenderingPixelated']()){let _0x395a89=window['devicePixelRatio'];while(_0x395a89>=0x2){_0x395a89*=0.8;}_0x395a89<0x1&&(_0x395a89=0x1),this[_0x3d212f(0x6e7,_0x2650a0._0xbaf7dd)]['cesiumWidget'][_0x5ec642(0xc71,0xa71)]=_0x395a89;}}['setOptions'](_0x3edca4,_0x4533c5){const _0x33e5c4={_0x25ce03:0x335,_0x56e3d0:0xaef,_0x3d7078:0x1cd,_0x774f6:0xb1e},_0x4e16b2={_0x41a204:0x2},_0x5e4a49={_0x1ccd07:0x25c};_0x3edca4=_0x3edca4||{},_0x4533c5=_0x4533c5||{},this['options']=_0x3edca4,this[_0x34bf44(0x52d,-0x3d6)](_0x3edca4,_0x4533c5),this['_setCesiumWidgetOption'](_0x3edca4,_0x4533c5),this[_0x1d6c13(_0x33e5c4._0x25ce03,0x320)](_0x3edca4,_0x4533c5),this[_0x34bf44(_0x33e5c4._0x56e3d0,0x1171)](_0x3edca4,_0x4533c5);_0x4533c5['globe']&&this['_setGlobeOption'](_0x3edca4[_0x1d6c13(0x251,0x87f)],_0x4533c5['globe']);_0x4533c5['cameraController']&&this['_setCameraOption'](_0x3edca4[_0x1d6c13(0x797,_0x33e5c4._0x3d7078)],_0x4533c5[_0x34bf44(0x9f5,_0x33e5c4._0x774f6)]);function _0x1d6c13(_0x5e73a3,_0x33c0cb){return _0x7afdbe(_0x33c0cb,_0x5e73a3- -_0x5e4a49._0x1ccd07);}_0x4533c5['clock']&&this['_setClockOption'](_0x3edca4,_0x4533c5['clock']);function _0x34bf44(_0x173368,_0x40c3d5){return _0x7afdbe(_0x40c3d5,_0x173368-_0x4e16b2._0x41a204);}return this;}['_setViewerOption'](_0x1d34b4,_0x5ad715){const _0x59dafe={_0x3688b7:0x29,_0x5e37c7:0x1169,_0x22e902:0xfb2,_0x3dda44:0x8e0,_0x4faba7:0x169,_0x3f2c4:0x105b,_0x7e6b02:0x1145,_0x979197:0x1e0,_0x11b9aa:0x46e,_0x338f53:0x1152,_0x2be696:0x91c,_0xc10c68:0x845,_0x2d01fe:0x2229,_0xc90ad3:0xc9e};if(_0x5ad715[_0x109910(-_0x59dafe._0x3688b7,0x36e)]){const _0x12ffd7={};_0x12ffd7[_0x17e50e(0xb88,_0x59dafe._0x5e37c7)]=0x0,this['_map'][_0x17e50e(_0x59dafe._0x22e902,_0x59dafe._0x3dda44)](_0x1d34b4['center'],_0x12ffd7);}else{if(_0x5ad715['extent']){const _0x941f4e={};_0x941f4e[_0x17e50e(0xb88,_0x59dafe._0x4faba7)]=0x0,this['_map']['flyToExtent'](_0x1d34b4[_0x109910(0xa4b,0x22c)],_0x941f4e);}}function _0x17e50e(_0x4dc631,_0x33a7c4){return _0x54a7f1(_0x4dc631-0x29f,_0x33a7c4);}this['_viewer'][_0x17e50e(_0x59dafe._0x3f2c4,_0x59dafe._0x7e6b02)]=_0x1d34b4['shadows']??![];(_0x1d34b4[_0x17e50e(0x1659,0x1d16)]??!![])&&this['_viewer']['screenSpaceEventHandler'][_0x109910(0x154,_0x59dafe._0x979197)](Cesium__namespace[_0x17e50e(0x1459,0x1811)]['LEFT_DOUBLE_CLICK']);Cesium__namespace['defined'](_0x5ad715['terrainShadows'])&&(isBoolean(_0x5ad715['terrainShadows'])?this[_0x109910(0xa1a,0x96c)]['terrainShadows']=_0x5ad715[_0x109910(0x62a,_0x59dafe._0x11b9aa)]?Cesium__namespace['ShadowMode']['ENABLED']:Cesium__namespace[_0x17e50e(0xf4e,0x7c2)][_0x109910(0x713,_0x59dafe._0x338f53)]:this['_viewer']['terrainShadows']=_0x5ad715[_0x17e50e(_0x59dafe._0x2be696,_0x59dafe._0xc10c68)]);function _0x109910(_0x3bfcc6,_0x4f3c07){return _0x54a7f1(_0x4f3c07- -0x20f,_0x3bfcc6);}Cesium__namespace[_0x17e50e(0x1920,_0x59dafe._0x2d01fe)](_0x5ad715['automaticallyTrackDataSourceClocks'])&&(this['_viewer'][_0x109910(0x20d,_0x59dafe._0xc90ad3)]=_0x5ad715['automaticallyTrackDataSourceClocks']);}['_setCesiumWidgetOption'](_0x40a057,_0x1dc9c2){const _0x5d1df9={_0x12aea3:0xed5,_0x1c9219:0xa42,_0xff061d:0x64d,_0x5dd744:0xabe,_0x134de3:0xc56},_0x228382={_0x5b0d02:0x670},_0x262afb=this['_viewer'][_0x24c633(-0x8d1,0x39)];function _0x476cb5(_0x237f2a,_0x16573){return _0x54a7f1(_0x237f2a- -0x23b,_0x16573);}_0x1dc9c2[_0x476cb5(_0x5d1df9._0x12aea3,_0x5d1df9._0x1c9219)]&&(_0x262afb['resolutionScale']=_0x1dc9c2['resolutionScale']);Cesium__namespace['defined'](_0x1dc9c2[_0x24c633(_0x5d1df9._0xff061d,0x967)])&&(_0x262afb[_0x476cb5(0xb6e,0x642)]=_0x1dc9c2['targetFrameRate']);function _0x24c633(_0x56c9db,_0x6fc64){return _0x7afdbe(_0x56c9db,_0x6fc64- -_0x228382._0x5b0d02);}Cesium__namespace['defined'](_0x1dc9c2[_0x24c633(0x440,0xc56)])&&(_0x262afb['useBrowserRecommendedResolution']=_0x1dc9c2[_0x24c633(_0x5d1df9._0x5dd744,_0x5d1df9._0x134de3)]);}['_setCanvasOption'](_0x24f1f9,_0x373a50){const _0x5af079={_0x13ced5:0x43a,_0x49677a:0xd52},_0x57fee4={_0x25bfd3:0x92f},_0x19deec={_0x55fa6f:0x68b};function _0x53d596(_0x41ab88,_0x45b4ee){return _0x54a7f1(_0x41ab88-0x27d,_0x45b4ee);}function _0x4b2230(_0x3a5deb,_0x2d42a3){return _0x7afdbe(_0x3a5deb,_0x2d42a3- -0x6d6);}const _0x106303=this['_viewer'][_0x4b2230(0xc55,_0x5af079._0x13ced5)];_0x106303[_0x4b2230(0x70,0x48f)]('tabindex',_0x24f1f9[_0x4b2230(_0x5af079._0x49677a,0x9bb)]??0x0),_0x106303['onclick']=_0x2077c1=>{function _0x1df234(_0x3747ff,_0x5e3449){return _0x53d596(_0x5e3449- -_0x19deec._0x55fa6f,_0x3747ff);}_0x106303[_0x1df234(_0x57fee4._0x25bfd3,0xd0c)]();};}[_0x54a7f1(0x8bf,0x92e)](_0x59b524,_0x1133ef){const _0x3b5f39={_0x37d4c2:0x7fc,_0x4e582d:0xcb0,_0x30cee1:0xc96,_0x5010c5:0xd2b,_0x5ee916:0x191,_0x5e8aa6:0x1273,_0xf28147:0x132d,_0x2bb58f:0x54a,_0x284759:0x55f,_0x1e36c5:0x16d4,_0x531ecc:0x1074,_0x34aa10:0x14fd,_0x2c6f2d:0x11e,_0x598a52:0x12fc,_0x343588:0xef2,_0x3585d9:0xf85,_0x140611:0x17a3,_0x46efd0:0x17b6,_0x20db58:0xe1a,_0x50a226:0xa11,_0x25289a:0x140e,_0x13f8d5:0x897,_0x4203d6:0x1ece,_0xece697:0x6f,_0x59931d:0x2ae,_0x36e8b5:0xca8,_0x129ae9:0x10a2,_0x1da369:0xb39,_0x2c22fe:0x8a9,_0x200f81:0x1651,_0x5d1b75:0xcb0,_0x5bebc3:0x1809},_0x1fc74c={_0x225d39:0x2ba,_0xb64fd5:0x1340,_0x32206c:0x5ed,_0x4fd9a8:0xdb7},_0x4b7007={_0x2239cb:0x582},_0x15b3ca=this[_0x19d833(_0x3b5f39._0x37d4c2,_0x3b5f39._0x4e582d)][_0x4a90f3(_0x3b5f39._0x30cee1,_0x3b5f39._0x5010c5)];Cesium__namespace['defined'](_0x1133ef['logarithmicDepthBuffer'])&&(_0x15b3ca[_0x19d833(0x662,0x839)]=_0x59b524[_0x19d833(0x137,0x839)]);Cesium__namespace['defined'](_0x1133ef['verticalExaggeration'])&&(_0x15b3ca['verticalExaggeration']=_0x1133ef[_0x19d833(_0x3b5f39._0x5ee916,0xb57)]);function _0x4a90f3(_0x3126c2,_0x127888){return _0x7afdbe(_0x3126c2,_0x127888- -_0x4b7007._0x2239cb);}function _0x19d833(_0x245dc0,_0x14478c){return _0x54a7f1(_0x14478c-0x135,_0x245dc0);}Cesium__namespace[_0x19d833(0xf22,0x17b6)](_0x1133ef['verticalExaggerationRelativeHeight'])&&(_0x15b3ca['verticalExaggerationRelativeHeight']=_0x1133ef['verticalExaggerationRelativeHeight']);_0x15b3ca[_0x19d833(0x16c5,_0x3b5f39._0x5e8aa6)]&&Cesium__namespace['defined'](_0x1133ef['showSun'])&&(_0x15b3ca['sun'][_0x19d833(0x1522,0x1728)]=_0x1133ef['showSun']);_0x15b3ca['moon']&&Cesium__namespace[_0x4a90f3(0xa6f,_0x3b5f39._0xf28147)](_0x1133ef['showMoon'])&&(_0x15b3ca[_0x19d833(-0x2f7,_0x3b5f39._0x2bb58f)]['show']=_0x1133ef['showMoon']);_0x1133ef[_0x19d833(0x656,_0x3b5f39._0x284759)]&&(_0x15b3ca['skyBox']=getSkyBoxObject(_0x59b524[_0x19d833(0x91e,_0x3b5f39._0x284759)]));_0x15b3ca['skyBox']&&Cesium__namespace[_0x19d833(0xfc6,0x17b6)](_0x1133ef['showSkyBox'])&&(_0x15b3ca['skyBox']['show']=_0x59b524['showSkyBox']);_0x15b3ca['skyAtmosphere']&&Cesium__namespace[_0x19d833(_0x3b5f39._0x1e36c5,0x17b6)](_0x1133ef['showSkyAtmosphere'])&&(_0x15b3ca['skyAtmosphere']['show']=_0x59b524['showSkyAtmosphere']);_0x15b3ca[_0x4a90f3(0x17f7,_0x3b5f39._0x531ecc)]['enabled']=_0x59b524[_0x19d833(0x1d54,_0x3b5f39._0x34aa10)]??!![];_0x1133ef[_0x4a90f3(0x8a4,-_0x3b5f39._0x2c6f2d)]&&merge(_0x15b3ca['atmosphere'],_0x59b524['atmosphere']);_0x15b3ca['postProcessStages']['fxaa']['enabled']=_0x59b524[_0x19d833(0x179d,0x141a)]??!![],_0x15b3ca['highDynamicRange']=_0x59b524[_0x19d833(0xd65,_0x3b5f39._0x598a52)]??![];function _0x9c4aa9(){const _0x4d5411={_0x3def99:0x2cc},_0x4fb384={_0x50d6a0:0x568};_0x15b3ca['sun']['show']=![];function _0x3dd2da(_0x23d14e,_0x2f8a8b){return _0x4a90f3(_0x23d14e,_0x2f8a8b-_0x4fb384._0x50d6a0);}_0x15b3ca['moon']['show']=![],_0x15b3ca['skyBox']['show']=![],_0x15b3ca[_0x1e082b(_0x1fc74c._0x225d39,0x294)]['show']=![];function _0x1e082b(_0x39579,_0x1addea){return _0x4a90f3(_0x39579,_0x1addea-_0x4d5411._0x3def99);}_0x15b3ca[_0x1e082b(0x883,_0x1fc74c._0xb64fd5)][_0x3dd2da(_0x1fc74c._0x32206c,_0x1fc74c._0x4fd9a8)]=![];}_0x59b524[_0x4a90f3(_0x3b5f39._0x343588,_0x3b5f39._0x3585d9)]&&(_0x15b3ca['backgroundType']===_0x19d833(0x1dc9,0x1347)||!Cesium__namespace[_0x19d833(_0x3b5f39._0x140611,_0x3b5f39._0x46efd0)](_0x15b3ca[_0x4a90f3(_0x3b5f39._0x20db58,0x40e)]))&&(_0x15b3ca['backgroundColor']=Cesium__namespace[_0x19d833(_0x3b5f39._0x50a226,0x13b9)]['fromCssColorString'](_0x59b524[_0x19d833(0x14e2,_0x3b5f39._0x25289a)]),_0x15b3ca[_0x19d833(0xa1c,_0x3b5f39._0x13f8d5)]==='color'&&_0x9c4aa9());if(_0x59b524[_0x4a90f3(0x7dc,0xe85)]&&(_0x15b3ca['backgroundType']==='image'||!Cesium__namespace['defined'](_0x15b3ca[_0x19d833(0xbf1,0x897)]))){const _0x1ba0ab=this['_viewer']['container'];_0x1ba0ab['style'][_0x4a90f3(0xd83,0xe85)]=_0x59b524['backgroundImage'],_0x1ba0ab['style']['backgroundRepeat']=_0x4a90f3(0xe1f,0x882),_0x1ba0ab['style'][_0x19d833(_0x3b5f39._0x4203d6,0x15fc)]='100%\x20100%',(_0x59b524[_0x19d833(0x1095,0x130e)]!=='none'||_0x15b3ca['backgroundType']===_0x4a90f3(0xa59,-_0x3b5f39._0xece697))&&_0x9c4aa9();}Cesium__namespace[_0x19d833(0x204b,0x17b6)](_0x59b524['orderIndependentTranslucency'])&&(_0x15b3ca['_useOIT']=_0x59b524[_0x4a90f3(0x1ec,_0x3b5f39._0x59931d)]);switch(_0x59b524['sceneMode']){case Cesium__namespace[_0x4a90f3(_0x3b5f39._0x36e8b5,0x57e)][_0x19d833(_0x3b5f39._0x129ae9,0x175b)]:_0x15b3ca[_0x4a90f3(_0x3b5f39._0x1da369,0x2fa)](0x0);break;case Cesium__namespace[_0x4a90f3(_0x3b5f39._0x2c22fe,0x57e)][_0x19d833(0x12e1,_0x3b5f39._0x200f81)]:_0x15b3ca[_0x19d833(_0x3b5f39._0x5d1b75,0x48b)](0x0);break;case Cesium__namespace[_0x4a90f3(0xd66,0x57e)]['SCENE3D']:_0x15b3ca[_0x19d833(_0x3b5f39._0x5bebc3,0x15e3)](0x0);break;}}[_0x7afdbe(-0x14c,0x7b2)](_0x162e85,_0x234f71){const _0x35241c={_0x379b1c:0x325,_0x379d73:0xca5,_0x2a1f91:0x852,_0x44b3af:0x3e},_0x3386ae={_0x244e53:0x608};function _0x470f82(_0x4bd011,_0x8554e4){return _0x7afdbe(_0x8554e4,_0x4bd011- -_0x3386ae._0x244e53);}function _0x54415c(_0x5c8b42,_0x1c8fcb){return _0x7afdbe(_0x5c8b42,_0x1c8fcb- -0x5af);}merge(this[_0x470f82(0x7a1,-_0x35241c._0x379b1c)][_0x470f82(_0x35241c._0x379d73,0xa9c)]['globe'],{..._0x234f71,'show':_0x162e85['show']??!![],'baseColor':Cesium__namespace[_0x470f82(0xeaa,_0x35241c._0x2a1f91)]['fromCssColorString'](_0x162e85['baseColor']||_0x470f82(-_0x35241c._0x44b3af,0x188))});}['_setCameraOption'](_0x3308cb,_0x485180){const _0x4ff153={_0x250bc5:0x3d3,_0x7bccc1:0x7d2,_0x1588d3:0x14d6,_0x4e17c6:0x937},_0x464a4b={_0x334037:0x3e5},_0x233b37={..._0x485180};function _0x7c659(_0x48d9d8,_0x30136b){return _0x54a7f1(_0x48d9d8- -0x244,_0x30136b);}function _0x28aef9(_0x32dde8,_0x2905dd){return _0x7afdbe(_0x32dde8,_0x2905dd- -_0x464a4b._0x334037);}return _0x233b37['_zoomFactor']=_0x3308cb[_0x7c659(_0x4ff153._0x250bc5,_0x4ff153._0x7bccc1)]||0x3,merge(this[_0x7c659(0x937,0x2b9)][_0x7c659(0xe3b,_0x4ff153._0x1588d3)]['screenSpaceCameraController'],_0x233b37),_0x485180['constrainedAxis']===![]&&(this[_0x7c659(_0x4ff153._0x4e17c6,0x9ca)]['camera']['constrainedAxis']=undefined),this;}['_setClockOption'](_0x82513a,_0x1d7c28){const _0x5ebeab={_0x4425a9:0xd70,_0x5a1ea1:0x1094,_0x18f948:0x1002,_0x32d272:0x633,_0x1182ac:0x13e,_0x385d0c:0x5f2,_0xb0f057:0x9c0,_0x52cf8b:0x9d3,_0x31f567:0xc22,_0x415c4f:0xbf2,_0x495536:0xed2},_0x2e103b=this['_viewer']['clock'];_0x2e103b['shouldAnimate']=_0x82513a[_0x448722(_0x5ebeab._0x4425a9,0x7e5)]??this['options']['shouldAnimate']??!![];_0x1d7c28[_0x448722(0xfc1,0x52f)]&&(_0x2e103b['startTime']=getJulianDate(_0x1d7c28['startTime']),_0x2e103b[_0x448722(_0x5ebeab._0x5a1ea1,0xcb0)]=_0x2e103b[_0x1f9e4b(_0x5ebeab._0x18f948,0x164c)]);_0x1d7c28[_0x1f9e4b(_0x5ebeab._0x32d272,-_0x5ebeab._0x1182ac)]&&(_0x2e103b['stopTime']=getJulianDate(_0x1d7c28['stopTime']));_0x1d7c28['currentTime']&&(_0x2e103b['currentTime']=getJulianDate(_0x1d7c28['currentTime']),!_0x82513a['startTime']&&(_0x2e103b['startTime']=_0x2e103b['currentTime']['clone']()),!_0x82513a[_0x1f9e4b(_0x5ebeab._0x32d272,0xcb0)]&&(_0x2e103b[_0x448722(_0x5ebeab._0x385d0c,_0x5ebeab._0xb0f057)]=Cesium__namespace['JulianDate']['addDays'](_0x2e103b[_0x448722(0x1094,_0x5ebeab._0x52cf8b)],0x1,new Cesium__namespace['JulianDate']())));_0x1d7c28[_0x1f9e4b(0xc22,0x149a)]&&(_0x2e103b[_0x1f9e4b(_0x5ebeab._0x31f567,_0x5ebeab._0x415c4f)]=_0x1d7c28['multiplier']);function _0x1f9e4b(_0x4dfb5c,_0x23ea35){return _0x7afdbe(_0x23ea35,_0x4dfb5c- -0x5ac);}Cesium__namespace['defined'](_0x1d7c28[_0x1f9e4b(_0x5ebeab._0x495536,0x93a)])&&(_0x2e103b['clockRange']=_0x1d7c28['clockRange']);function _0x448722(_0x2be9b8,_0x472c64){return _0x54a7f1(_0x2be9b8- -0x3bf,_0x472c64);}return this;}}function initBeforeCreateDefaultValue(_0x26ca78){const _0x14e7c3={_0x48f5ae:0xb05,_0x563856:0xc0c},_0x4d5574={_0x1a953d:0xee};var _0x555e26;Cesium__namespace[_0x5c9da2(_0x14e7c3._0x48f5ae,0x1102)]['defaultAccessToken']=(_0x26ca78===null||_0x26ca78===void 0x0||(_0x555e26=_0x26ca78['scene'])===null||_0x555e26===void 0x0?void 0x0:_0x555e26['ionToken'])||ion;function _0x5bad07(_0x1def89,_0x5ab69f){return _0x7afdbe(_0x5ab69f,_0x1def89- -0x1b0);}Cesium__namespace[_0x5c9da2(0x8f2,0x919)]['DEFAULT_VIEW_RECTANGLE']=Cesium__namespace['Rectangle']['fromDegrees'](89.5,20.4,110.4,61.2);function _0x5c9da2(_0x17f767,_0x1052ae){return _0x54a7f1(_0x1052ae- -_0x4d5574._0x1a953d,_0x17f767);}Cesium__namespace[_0x5c9da2(0x121,0xaa0)][_0x5bad07(0xc66,0x964)]=0x64,Cesium__namespace[_0x5bad07(_0x14e7c3._0x563856,0x818)]['maximumRequestsPerServer']=0x14;}function getSkyBoxObject(_0x189045){const _0x2ba546={_0x29b77e:0x191,_0x1af68f:0x385,_0xa9c15a:0x11c6};function _0x502cbb(_0x1fb563,_0x440afb){return _0x54a7f1(_0x1fb563- -0x4b1,_0x440afb);}if(!_0x189045||_0x189045 instanceof Cesium__namespace[_0x502cbb(-_0x2ba546._0x29b77e,-0x6ff)]||_0x189045 instanceof GroundSkyBox||_0x189045 instanceof MultipleSkyBox)return _0x189045;function _0xf12afc(_0x12d5c5,_0x107fcf){return _0x7afdbe(_0x107fcf,_0x12d5c5- -0x640);}switch(_0x189045[_0x502cbb(_0x2ba546._0x1af68f,0x19d)]){case'ground':case _0x502cbb(_0x2ba546._0xa9c15a,0xf2a):return new GroundSkyBox(_0x189045);case'multiple':case _0x502cbb(-0xf,0x83b):return new MultipleSkyBox(_0x189045);case'default':return new Cesium__namespace['SkyBox']({'sources':{'positiveX':getDefaultSkyBoxUrl('px'),'negativeX':getDefaultSkyBoxUrl('mx'),'positiveY':getDefaultSkyBoxUrl('py'),'negativeY':getDefaultSkyBoxUrl('my'),'positiveZ':getDefaultSkyBoxUrl('pz'),'negativeZ':getDefaultSkyBoxUrl('mz')}});default:return new Cesium__namespace['SkyBox'](_0x189045);}}function getDefaultSkyBoxUrl(_0x193cc3){const _0x5205d5={_0x3cf9e9:0x1664};function _0x15c7a2(_0x54a2fb,_0x1fa439){return _0x54a7f1(_0x1fa439- -0x7c,_0x54a2fb);}return Cesium__namespace[_0x15c7a2(_0x5205d5._0x3cf9e9,0x14c7)]('Assets/Textures/SkyBox/tycho2t3_80_'+_0x193cc3+'.jpg');}function getJulianDate(_0x2b995d){const _0x4d5cfe={_0x29f3f3:0xa7d},_0x53dee9={_0x6f5119:0x451};function _0x40b9bb(_0x27dec9,_0x3a1f9e){return _0x54a7f1(_0x3a1f9e- -_0x53dee9._0x6f5119,_0x27dec9);}function _0x23b0c9(_0x1e0e30,_0x2637c0){return _0x7afdbe(_0x2637c0,_0x1e0e30- -0x5bb);}return isString(_0x2b995d)?_0x2b995d['indexOf']('Z')===-0x1?Cesium__namespace[_0x23b0c9(_0x4d5cfe._0x29f3f3,0x1e9)][_0x23b0c9(0xfa2,0x58b)](new Date(_0x2b995d)):Cesium__namespace[_0x23b0c9(0xa7d,0xe68)]['fromIso8601'](_0x2b995d):_0x2b995d;}function getCameraView(_0x142415,_0x41929a){const _0x382426={_0x22c6f7:0xeb,_0x56f230:0x544,_0x2f8a26:0xedd,_0x2b384c:0xe52,_0x455ba6:0x1ab6,_0x2ae14d:0x20d,_0x1968ef:0x633,_0xe802b:0xae7,_0xb3315f:0x185,_0x951257:0x5,_0x34e91c:0x394,_0x428208:0x14d},_0x2b9d16={_0xc8df38:0x45a};function _0xfa9c17(_0x5396fe,_0x1bdf4e){return _0x7afdbe(_0x5396fe,_0x1bdf4e- -0x4e5);}const _0x3b4650=_0x142415[_0x7bbf16(_0x382426._0x22c6f7,0x7a0)],_0xc4256a={};function _0x7bbf16(_0x2f6ab8,_0x2341a6){return _0x54a7f1(_0x2341a6- -_0x2b9d16._0xc8df38,_0x2f6ab8);}return _0xc4256a['lat']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x3b4650['latitude']),LngLatPoint['FormatLength']),_0xc4256a[_0x7bbf16(_0x382426._0x56f230,_0x382426._0x2f8a26)]=formatNum$1(Cesium__namespace[_0x7bbf16(0x160f,_0x382426._0x2b384c)]['toDegrees'](_0x3b4650['longitude']),LngLatPoint['FormatLength']),(_0x41929a===null||_0x41929a===void 0x0?void 0x0:_0x41929a[_0x7bbf16(_0x382426._0x455ba6,0x1273)])??!![]?(_0xc4256a[_0xfa9c17(0x74b,0x19e)]=formatNum$1(_0x3b4650[_0x7bbf16(0xb49,_0x382426._0x2ae14d)],0x1),_0xc4256a['heading']=formatNum$1(Cesium__namespace[_0x7bbf16(0x13b6,0xe52)]['toDegrees'](_0x142415[_0xfa9c17(_0x382426._0x1968ef,0x56)]||0x0)%0x168,0x1),_0xc4256a['pitch']=formatNum$1(Cesium__namespace['Math'][_0x7bbf16(0xbd2,_0x382426._0xe802b)](_0x142415['pitch']||0x0)%0x168,0x1)):(_0xc4256a[_0x7bbf16(-_0x382426._0xb3315f,-_0x382426._0x951257)]=formatNum$1(_0x3b4650['height'],LngLatPoint['FormatAltLength']),_0xc4256a[_0x7bbf16(_0x382426._0x34e91c,-_0x382426._0x428208)]=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x142415['heading']||0x0)%0x168,0x2),_0xc4256a['pitch']=formatNum$1(Cesium__namespace[_0xfa9c17(0xc6a,0xff5)]['toDegrees'](_0x142415['pitch']||0x0)%0x168,0x2),_0xc4256a[_0xfa9c17(0x1996,0x147a)]=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x142415['roll']||0x0)%0x168,0x2)),_0xc4256a;}function expImage(_0x5b324d,_0x2d2d13={}){const _0x28ad42={_0x140bab:0xc98,_0x29da2a:0xe27,_0x649ee5:0x18d3,_0x451d06:0x142b,_0x202355:0x1737,_0xf62774:0x1609,_0x348740:0xca3,_0x2ace1b:0x1429,_0x1d011d:0x10a0,_0x469599:0x28c,_0x2c2771:0xbd3},_0x3e9463={_0x7329cc:0x1c17,_0x25f1a5:0x1241,_0x594c2d:0x100c,_0x193e8b:0x1013,_0xeb87cd:0x123a,_0x1927e2:0xdd9,_0x2caa94:0xa46,_0x339440:0x5c5,_0x13ae2a:0x107c,_0x233040:0x1241,_0x4e7086:0x351,_0x543b75:0x1241,_0x28eebc:0x13,_0x47807c:0x68e,_0x1e493b:0x2f8,_0x6023fd:0x34a};return new Promise((_0x4da1f9,_0x20314a)=>{const _0x4d7592={_0x3583ab:0x131};_0x2d2d13['download']=_0x2d2d13['download']??!![],_0x2d2d13[_0x498cb5(0x5de,_0x28ad42._0x140bab)]=_0x2d2d13['type']??'image/jpeg';function _0x2d74d7(_0x4f0c27,_0xf0db5){return _0x536c(_0xf0db5-0x356,_0x4f0c27);}!_0x5b324d[_0x498cb5(_0x28ad42._0x29da2a,_0x28ad42._0x649ee5)][_0x498cb5(_0x28ad42._0x451d06,0x14b0)]&&_0x5b324d[_0x2d74d7(0x1db4,_0x28ad42._0x202355)]();function _0x498cb5(_0x100b98,_0x22f074){return _0x536c(_0x100b98- -_0x4d7592._0x3583ab,_0x22f074);}const _0x591af6=_0x5b324d['canvas']['toDataURL'](_0x2d2d13['type'],_0x2d2d13[_0x2d74d7(_0x28ad42._0xf62774,_0x28ad42._0x348740)]??0x1),_0x211f0e=_0x5b324d['canvas']['height'],_0xb6f09f=_0x5b324d['canvas'][_0x2d74d7(0x1095,0x1786)];if(Cesium__namespace[_0x498cb5(_0x28ad42._0x2ace1b,_0x28ad42._0x1d011d)](_0x2d2d13['width'])||Cesium__namespace[_0x498cb5(0x1429,0x1796)](_0x2d2d13[_0x498cb5(0x40f,_0x28ad42._0x469599)])){const _0x28e3f0=new Image();_0x28e3f0[_0x498cb5(0x442,0x64b)]=function(){let _0x35fef8,_0x2eda7b;if(Cesium__namespace[_0x4826df(0x1364,_0x3e9463._0x7329cc)](_0x2d2d13['width'])&&!Cesium__namespace['defined'](_0x2d2d13[_0x2825b5(0x351,-0x306)]))_0x35fef8=_0x2d2d13[_0x2825b5(_0x3e9463._0x25f1a5,0x105e)],_0x2eda7b=Math[_0x4826df(_0x3e9463._0x594c2d,0x1427)](_0x35fef8*_0x211f0e/_0xb6f09f);else{if(Cesium__namespace[_0x2825b5(0x136b,0x901)](_0x2d2d13[_0x2825b5(0x351,-0x16a)])&&!Cesium__namespace['defined'](_0x2d2d13['width']))_0x2eda7b=_0x2d2d13[_0x2825b5(0x351,0x928)],_0x35fef8=Math[_0x2825b5(_0x3e9463._0x193e8b,0x6f2)](_0x2eda7b*_0xb6f09f/_0x211f0e);else{const _0xaa744e=_0x2d2d13[_0x4826df(0x123a,0xb33)]/_0xb6f09f,_0x4f80b9=_0x2d2d13['height']/_0x211f0e;_0xaa744e>_0x4f80b9?(_0x35fef8=_0x2d2d13[_0x4826df(_0x3e9463._0xeb87cd,_0x3e9463._0x1927e2)],_0x2eda7b=Math['round'](_0x35fef8*_0x211f0e/_0xb6f09f)):(_0x2eda7b=_0x2d2d13['height'],_0x35fef8=Math['round'](_0x2eda7b*_0xb6f09f/_0x211f0e));}}const _0x5affd3=document[_0x4826df(0xd07,_0x3e9463._0x2caa94)](_0x4826df(_0x3e9463._0x339440,_0x3e9463._0x13ae2a));_0x5affd3['width']=_0x2d2d13[_0x2825b5(_0x3e9463._0x233040,0x196c)]||_0x35fef8,_0x5affd3[_0x2825b5(_0x3e9463._0x4e7086,0xc9f)]=_0x2d2d13['height']||_0x2eda7b;const _0x49ea1d={};_0x49ea1d['willReadFrequently']=!![];const _0x200d22=_0x5affd3[_0x2825b5(0x62,0x850)]('2d',_0x49ea1d),_0x31c0d6=(_0x5affd3[_0x2825b5(_0x3e9463._0x543b75,0xf97)]-_0x35fef8)/0x2,_0x507296=(_0x5affd3['height']-_0x2eda7b)/0x2;_0x200d22['drawImage'](_0x28e3f0,_0x31c0d6,_0x507296,_0x35fef8,_0x2eda7b);const _0xe81d32=_0x5affd3['toDataURL'](_0x2d2d13['type'],_0x2d2d13[_0x2825b5(0x75e,_0x3e9463._0x28eebc)]??0x1);function _0x4826df(_0x236859,_0x3c920d){return _0x2d74d7(_0x3c920d,_0x236859- -0x54c);}!_0x2d2d13[_0x2825b5(_0x3e9463._0x47807c,_0x3e9463._0x1e493b)]&&(_0x2d2d13['filename']=_0x2825b5(0x1093,0xbce)+_0x5affd3['width']+'x'+_0x5affd3['height']);if(_0x2d2d13['download']){let _0x3f2515=_0x2d2d13['filename'];_0x2d2d13['type']==='image/jpeg'&&(_0x3f2515=_0x3f2515+'.jpg'),downloadBase64Image(_0x3f2515,_0xe81d32);}const _0x32f36b={};_0x32f36b['image']=_0xe81d32,_0x32f36b['width']=_0x5affd3[_0x4826df(_0x3e9463._0xeb87cd,0x18b0)],_0x32f36b[_0x4826df(_0x3e9463._0x6023fd,0xbc2)]=_0x5affd3['height'];function _0x2825b5(_0x5d3541,_0x29f1eb){return _0x2d74d7(_0x29f1eb,_0x5d3541- -0x545);}const _0x289000=_0x32f36b;_0x4da1f9(_0x289000);},_0x28e3f0['src']=_0x591af6;}else{!_0x2d2d13['filename']&&(_0x2d2d13[_0x2d74d7(0x3d2,_0x28ad42._0x2c2771)]='场景出图_'+_0xb6f09f+'x'+_0x211f0e);_0x2d2d13[_0x2d74d7(0x23b6,0x1913)]&&downloadBase64Image(_0x2d2d13['filename'],_0x591af6);const _0x25a5cc={};_0x25a5cc['image']=_0x591af6,_0x25a5cc['width']=_0xb6f09f,_0x25a5cc['height']=_0x211f0e;const _0x10510f=_0x25a5cc;_0x2d2d13[_0x498cb5(0xf85,0x88f)]&&_0x2d2d13['callback'](_0x10510f),_0x4da1f9(_0x10510f);}});}class PopupMgr extends BaseControl{constructor(_0x3f6ea9={}){const _0x3cd614={_0x266684:0x1d4},_0x462808={_0x38ec1d:0x392};function _0x400f6e(_0x4b93fd,_0x1d37a3){return _0x54a7f1(_0x1d37a3- -_0x462808._0x38ec1d,_0x4b93fd);}function _0x37ff01(_0x4f1588,_0x52196d){return _0x54a7f1(_0x52196d- -_0x3cd614._0x266684,_0x4f1588);}super(_0x3f6ea9),this[_0x400f6e(0x61c,0x106a)]=_0x3f6ea9[_0x37ff01(0x1143,0xeb0)]??!![];}get['depthTest'](){return this['_depthTest'];}set['depthTest'](_0x4c1550){const _0x3add4d={_0x59edc6:0x3f4};function _0x24c516(_0x4ca102,_0x10daaa){return _0x54a7f1(_0x4ca102- -_0x3add4d._0x59edc6,_0x10daaa);}this[_0x24c516(0x1008,0x9ef)]=_0x4c1550;}get[_0x54a7f1(0x131a,0x1207)](){return this['_layer'];}[_0x7afdbe(0xc44,0x4b9)](){const _0xced437={_0x303ba1:0x14ec},_0x21d505={_0xd70434:0x31c};this[_0x59cc8d(0x153f,_0xced437._0x303ba1)]=new GraphicLayer({'private':!![],'eventParent':this});function _0x59cc8d(_0x5540fa,_0x26f5e9){return _0x7afdbe(_0x26f5e9,_0x5540fa- -_0x21d505._0xd70434);}this['_layer']['_closeAllControl']=function(){};}['_enabledHook'](_0x3afa20){const _0x5d843a={_0x76fff:0x6b6};function _0x5803c6(_0x5b888f,_0x3968cb){return _0x7afdbe(_0x3968cb,_0x5b888f- -_0x5d843a._0x76fff);}this['_layer'][_0x5803c6(0x116b,0xc41)]=_0x3afa20;}['_addedHook'](){const _0x2c8d5f={_0x1e883b:0x13c9,_0x41401d:0x18ef};this['_map']['addLayer'](this['_layer']);function _0x4f34f1(_0x36afd7,_0xa981d){return _0x7afdbe(_0xa981d,_0x36afd7- -0x2a3);}this[_0x4f34f1(_0x2c8d5f._0x1e883b,_0x2c8d5f._0x41401d)]();}[_0x54a7f1(0xa4f,0x28c)](){const _0x433a77={_0x3806da:0x6da,_0x591f26:0x13c5},_0x16e5cb={_0x42a1cc:0x327},_0x14a34e={_0x5ebdc8:0xa1};function _0x5aacd9(_0x2e9f67,_0x23f72a){return _0x54a7f1(_0x2e9f67-_0x14a34e._0x5ebdc8,_0x23f72a);}function _0x4e5b29(_0x188be3,_0x11b6ba){return _0x7afdbe(_0x188be3,_0x11b6ba- -_0x16e5cb._0x42a1cc);}this['_unbindEvent'](),this[_0x4e5b29(0xdc7,_0x433a77._0x3806da)][_0x5aacd9(0xffe,0x1733)](this[_0x4e5b29(_0x433a77._0x591f26,0x1534)]);}[_0x54a7f1(0x143e,0xaad)](){const _0xc0861e={_0x5ee45c:0x131e,_0xb112f8:0x1072,_0x5aabb5:0x882},_0x4524b7={_0x34e1db:0xc6};function _0x5e57b9(_0xa105aa,_0x2fb871){return _0x54a7f1(_0x2fb871- -0x3b5,_0xa105aa);}function _0x26a1ab(_0x23dfaa,_0x3a4a8f){return _0x7afdbe(_0x23dfaa,_0x3a4a8f- -_0x4524b7._0x34e1db);}this[_0x26a1ab(_0xc0861e._0x5ee45c,0x93b)]['on'](EventType[_0x26a1ab(0x5f4,_0xc0861e._0xb112f8)],this['_mouseClickHandler'],this),this['_map']['on'](EventType[_0x26a1ab(0xe54,_0xc0861e._0x5aabb5)],this['_mouseClickHandler'],this);}['_unbindEvent'](){this['_map']['off'](EventType['click'],this['_mouseClickHandler'],this);function _0x22bc4f(_0x174518,_0x291580){return _0x54a7f1(_0x291580- -0x1f3,_0x174518);}this[_0x22bc4f(-0x413,0x5e0)]['off'](EventType['clickTileGraphic'],this['_mouseClickHandler'],this);}['_mouseClickHandler'](_0x1e9f39){const _0x40c940={_0x351d87:0xe14,_0x15ae47:0x858,_0x20dd35:0x4c7,_0x11a3c2:0x138f};var _0x3a2194,_0x4f6731;if(!this['enabled'])return;if(this[_0x3e49cc(0xe25,0xcef)](_0x1e9f39['czmObject'],_0x1e9f39))return;function _0x9be076(_0x2560dc,_0x426fac){return _0x54a7f1(_0x2560dc- -0x385,_0x426fac);}if(this['_openByMouseEvent'](_0x1e9f39['graphic'],_0x1e9f39))return;if(this[_0x9be076(0xc08,_0x40c940._0x351d87)]((_0x3a2194=_0x1e9f39['graphic'])===null||_0x3a2194===void 0x0?void 0x0:_0x3a2194[_0x3e49cc(_0x40c940._0x15ae47,0x1126)],_0x1e9f39))return;if(this['_openByMouseEvent'](_0x1e9f39['layer'],_0x1e9f39))return;if(this[_0x9be076(0xc08,_0x40c940._0x20dd35)]((_0x4f6731=_0x1e9f39['layer'])===null||_0x4f6731===void 0x0?void 0x0:_0x4f6731['parent'],_0x1e9f39))return;const _0x45b189=this[_0x3e49cc(0x1aab,_0x40c940._0x11a3c2)]['getGraphics']();function _0x3e49cc(_0x43ec63,_0xe6b02a){return _0x7afdbe(_0x43ec63,_0xe6b02a- -0x4cc);}for(let _0x49746a=0x0,_0x270651=_0x45b189['length'];_0x49746a<_0x270651;_0x49746a++){const _0x5790c1=_0x45b189[_0x49746a];_0x5790c1['options']['closeOnClick']!==![]&&_0x5790c1['remove'](!![]);}}['_getConfig'](_0x7bb224){const _0x1cf79f={_0x3b2eb6:0x636};function _0x5ac3c5(_0x336464,_0x2a48b4){return _0x7afdbe(_0x336464,_0x2a48b4- -_0x1cf79f._0x3b2eb6);}return _0x7bb224[_0x5ac3c5(0x6cd,0x4f)]||_0x7bb224['getPopupConfig']&&_0x7bb224['getPopupConfig']();}['_openByMouseEvent'](_0x59ec8e,_0x240c9c){const _0x5886c9={_0x1d324d:0x9a8,_0x537319:0x18ae};var _0x4a5cf4;if(!_0x59ec8e)return![];function _0x52c7c8(_0x139a31,_0x45f472){return _0x54a7f1(_0x139a31-0x22c,_0x45f472);}let _0x1e2d64=this[_0xde4640(0x328,0xa3c)](_0x59ec8e);if(_0x1e2d64===![])return!![];if(!_0x1e2d64)return![];const _0x38b02f=_0x240c9c===null||_0x240c9c===void 0x0?void 0x0:_0x240c9c['graphic'];function _0xde4640(_0x35b5e8,_0x49e0e5){return _0x54a7f1(_0x35b5e8-0xf8,_0x49e0e5);}if(((_0x4a5cf4=_0x1e2d64[_0xde4640(_0x5886c9._0x1d324d,0x6d)])===null||_0x4a5cf4===void 0x0?void 0x0:_0x4a5cf4['toggle'])===!![]){const _0x5e0ae4=this['getPopup'](_0x38b02f);if(_0x5e0ae4)return _0x5e0ae4['remove'](!![]),!![];}if(_0x38b02f){const _0x37babe=this['getPopup'](_0x38b02f);if(_0x37babe&&!_0x38b02f[_0x52c7c8(0x110c,0x15c4)])return _0x37babe['attr']=_0x38b02f[_0xde4640(0x177f,0x1c2d)],!isGraphicPostion(_0x38b02f)&&(_0x37babe[_0x52c7c8(0x190d,_0x5886c9._0x537319)]=_0x240c9c[_0x52c7c8(0x704,0xe09)]),!![];}return _0x1e2d64={..._0x1e2d64,..._0x240c9c,'heightReference':Cesium__namespace['HeightReference']['NONE']},this['open'](_0x240c9c['cartesian'],_0x1e2d64),!![];}['close'](_0x5292bc,_0xc4fdf8){const _0x36f27b={_0x16f23:0x12b5,_0x2b9bca:0xf3,_0x2b7b2d:0x841,_0x5c3630:0x42d,_0x541810:0x130f,_0x23db7d:0x142d,_0x2941af:0x20,_0x1300e1:0x7ff,_0x954c4:0x74d};if(!this[_0x569173(_0x36f27b._0x16f23,0xd95)])return;if(_0x5292bc){const _0xd92024=this[_0x6e248a(0x131c,0xef9)]['getGraphics']();for(let _0x34cfd9=0x0,_0x4b4ca3=_0xd92024['length'];_0x34cfd9<_0x4b4ca3;_0x34cfd9++){var _0x444911,_0x32f4dc;const _0x7bcaf6=_0xd92024[_0x34cfd9];if((_0x444911=_0x7bcaf6['options'])!==null&&_0x444911!==void 0x0&&_0x444911[_0x569173(_0x36f27b._0x2b9bca,_0x36f27b._0x2b7b2d)]){var _0x28fff3;_0x7bcaf6['options'][_0x6e248a(0x15a,-_0x36f27b._0x5c3630)]((_0x28fff3=_0x7bcaf6['options'])===null||_0x28fff3===void 0x0?void 0x0:_0x28fff3[_0x569173(_0x36f27b._0x541810,0x1dcd)],_0x5292bc)&&_0x7bcaf6[_0x6e248a(0x47d,0xb5c)](!![]);}else _0x5292bc===((_0x32f4dc=_0x7bcaf6['options'])===null||_0x32f4dc===void 0x0||(_0x32f4dc=_0x32f4dc['event'])===null||_0x32f4dc===void 0x0?void 0x0:_0x32f4dc['graphic'])&&_0x7bcaf6[_0x569173(0x416,0x13f)](!![]);}return;}function _0x6e248a(_0xc4c709,_0x4ffdd6){return _0x7afdbe(_0x4ffdd6,_0xc4c709- -0x53f);}if(_0xc4fdf8){const _0x6f91f6=this[_0x6e248a(0x131c,_0x36f27b._0x23db7d)][_0x6e248a(-_0x36f27b._0x2941af,-_0x36f27b._0x1300e1)]();for(let _0x3aa7f6=0x0,_0x34dde6=_0x6f91f6['length'];_0x3aa7f6<_0x34dde6;_0x3aa7f6++){var _0x98930b,_0x13528e;const _0x31f3dd=_0x6f91f6[_0x3aa7f6];if((_0x98930b=_0x31f3dd[_0x569173(0x538,_0x36f27b._0x954c4)])!==null&&_0x98930b!==void 0x0&&_0x98930b['checkData']){var _0x3737ab;_0x31f3dd['options']['checkData']((_0x3737ab=_0x31f3dd[_0x6e248a(0x59f,0x9d6)])===null||_0x3737ab===void 0x0?void 0x0:_0x3737ab['attr'],_0xc4fdf8)&&_0x31f3dd['remove'](!![]);}else _0xc4fdf8===((_0x13528e=_0x31f3dd['options'])===null||_0x13528e===void 0x0||(_0x13528e=_0x13528e['event'])===null||_0x13528e===void 0x0?void 0x0:_0x13528e[_0x6e248a(0x1009,0x13b1)])&&_0x31f3dd['remove'](!![]);}return;}const _0x1cc45d=this['_layer'][_0x569173(-0x87,0x557)]();function _0x569173(_0x366c4f,_0x3a9865){return _0x7afdbe(_0x3a9865,_0x366c4f- -0x5a6);}for(let _0x5d825b=0x0,_0x3841ba=_0x1cc45d['length'];_0x5d825b<_0x3841ba;_0x5d825b++){var _0x1a1597;const _0x433111=_0x1cc45d[_0x5d825b];(((_0x1a1597=_0x433111['options'])===null||_0x1a1597===void 0x0?void 0x0:_0x1a1597['autoClose'])??!![])&&_0x433111['remove'](!![]);}}[_0x54a7f1(0xd8f,0x760)](){const _0x2a9c67={_0x1b0be4:0x1142},_0x1cf7c5={_0x1bc7ce:0x4eb};function _0xaa15d5(_0x42a4f2,_0x32f453){return _0x54a7f1(_0x32f453- -_0x1cf7c5._0x1bc7ce,_0x42a4f2);}this[_0xaa15d5(0x16be,_0x2a9c67._0x1b0be4)]&&this['_layer']['clear']();}[_0x54a7f1(0xd25,0x477)](_0x3794ee,_0x4428d6={}){const _0x2c639f={_0x796c09:0x2fd,_0x16eb97:0x2c,_0x5b44e7:0xbed,_0x99595:0x104f,_0x3e319d:0x6c7,_0x1dd513:0x133c,_0x1a7f61:0xba8,_0x5d8053:0x119e,_0x28646d:0x82f,_0x307cae:0x1b7,_0x486c09:0x1d1,_0x1fec6b:0x1416,_0x2e3e48:0x600,_0xa98b96:0xb3f,_0x1af69a:0x6bf,_0x2cf130:0x833,_0x49df98:0x1248,_0x423bf6:0x22d,_0x1375af:0xed9,_0x3ea900:0x536,_0x542b6e:0xe24};var _0x51f7d9;function _0x5e7738(_0x513e9d,_0x57dd6c){return _0x54a7f1(_0x513e9d- -0x2cb,_0x57dd6c);}const _0x3031d0=_0x4428d6['options']||{};if((_0x3031d0===null||_0x3031d0===void 0x0?void 0x0:_0x3031d0['autoClose'])??!![])this['close']();else _0x4428d6!==null&&_0x4428d6!==void 0x0&&_0x4428d6['graphic']&&this['close'](_0x4428d6[_0x5e7738(_0x2c639f._0x796c09,-0x2ea)]);let _0x5c63d3=_0x4428d6[_0x5e7738(-_0x2c639f._0x16eb97,-0x83b)],_0x20d496;_0x4428d6['layer']&&_0x4428d6['layer'][_0x5e7738(_0x2c639f._0x5b44e7,0x73f)]&&(_0x5c63d3=_0x4428d6[_0x5e7738(_0x2c639f._0x99595,0xbec)]);_0x4428d6['graphic']&&_0x4428d6[_0x5e7738(0x2fd,-_0x2c639f._0x3e319d)][_0x2d6b4c(0xd0d,0x29e)]&&(_0x5c63d3=_0x4428d6[_0x5e7738(_0x2c639f._0x796c09,-0x55f)],_0x20d496=_0x4428d6['graphic']);let _0x254d1a=_0x4428d6['heightReference']??Cesium__namespace['HeightReference'][_0x5e7738(0xd2b,_0x2c639f._0x1dd513)];if(_0x4428d6['czmObject']){const _0x59ac9c=_0x4428d6['czmObject'];_0x254d1a=this['getHeightReference'](_0x59ac9c,_0x254d1a);}if(_0x20d496){var _0x396589,_0x42a35d,_0x5a1e54;(_0x396589=_0x20d496[_0x5e7738(0x1d1,_0x2c639f._0x1a7f61)])!==null&&_0x396589!==void 0x0&&_0x396589['clampToGround']&&(_0x254d1a=Cesium__namespace[_0x2d6b4c(_0x2c639f._0x5d8053,_0x2c639f._0x28646d)]['CLAMP_TO_GROUND']),(_0x42a35d=_0x20d496[_0x5e7738(0x1d1,-_0x2c639f._0x307cae)])!==null&&_0x42a35d!==void 0x0&&_0x42a35d['model_clampToGround']&&(_0x254d1a=Cesium__namespace['HeightReference']['CLAMP_TO_GROUND']),Cesium__namespace['defined']((_0x5a1e54=_0x20d496[_0x2d6b4c(0x2f1,-0x1d2)])===null||_0x5a1e54===void 0x0?void 0x0:_0x5a1e54['heightReference'])&&(_0x254d1a=_0x20d496[_0x5e7738(_0x2c639f._0x486c09,0x489)][_0x5e7738(0xd5e,0xab4)]),!_0x4428d6['_custom_position']&&(isGraphicPostion(_0x20d496)&&(_0x3794ee=_0x20d496[_0x5e7738(_0x2c639f._0x1fec6b,0x12ca)]),_0x20d496['property']&&_0x20d496[_0x5e7738(_0x2c639f._0x2e3e48,_0x2c639f._0xa98b96)]&&(_0x3794ee=_0x20d496['_getPopupPosition']()||_0x3794ee));}function _0x2d6b4c(_0x5150f9,_0x947ada){return _0x54a7f1(_0x5150f9- -0x1ab,_0x947ada);}const _0x3d34f2={..._0x3031d0};_0x3d34f2[_0x5e7738(0xd5e,0x141b)]=_0x254d1a,_0x3d34f2[_0x5e7738(_0x2c639f._0x1af69a,_0x2c639f._0x2cf130)]=_0x4428d6[_0x5e7738(_0x2c639f._0x49df98,0x1a02)];const _0x3efc00=_0x3d34f2,_0x37fd1d=this[_0x5e7738(0xb7,_0x2c639f._0x423bf6)]({'depthTest':this[_0x2d6b4c(_0x2c639f._0x1375af,0x11f1)],..._0x3031d0,'position':_0x3794ee,'style':_0x3efc00,'attr':(_0x51f7d9=_0x4428d6[_0x5e7738(0x2fd,_0x2c639f._0x3ea900)])===null||_0x51f7d9===void 0x0?void 0x0:_0x51f7d9['attr'],'target':_0x5c63d3,'event':_0x4428d6},_0x20d496);this['_layer'][_0x2d6b4c(_0x2c639f._0x542b6e,0x834)](_0x37fd1d);}['getPopup'](_0x23c855){const _0x31bd5a={_0x2445ba:0x128f,_0x12c9a0:0x1a9f},_0x390afb={_0x476f04:0x3b2};function _0x1dd338(_0xfc7348,_0x9ce8db){return _0x7afdbe(_0x9ce8db,_0xfc7348- -0x14c);}function _0x48776a(_0x591380,_0xa86133){return _0x7afdbe(_0xa86133,_0x591380- -_0x390afb._0x476f04);}return this[_0x1dd338(0x170f,0x1c7f)][_0x1dd338(_0x31bd5a._0x2445ba,_0x31bd5a._0x12c9a0)](_0x23c855[_0x48776a(0x924,-0x5b)]);}['_createDivGraphic'](_0x202d72,_0x508937){const _0x358cd8={_0x1d5d1a:0x94c},_0x1b20dc={_0x24064d:0x15c},_0x5a2fa0=new Popup(_0x202d72);function _0x52ed89(_0x15f3c3,_0x5a827e){return _0x54a7f1(_0x15f3c3- -_0x1b20dc._0x24064d,_0x5a827e);}return _0x508937&&(_0x508937[_0x52ed89(_0x358cd8._0x1d5d1a,0x32d)]=_0x5a2fa0['id']),_0x5a2fa0;}['getHeightReference'](_0x5f4e19,_0x15d820){const _0x10ec52={_0x4baec5:0x1afd,_0x2e144b:0x12ca,_0x9c2620:0x5ef,_0x557f8e:0xfde,_0x562d62:0x12e8,_0x25d21d:0x16d1,_0xdc206a:0xf4d,_0x3b604b:0xa0f},_0xfaf1a0={_0x90103:0x30a},_0x253ecb={_0x20b7d0:0x2bf};if(!_0x5f4e19)return _0x15d820;function _0x19672a(_0x51b589,_0x30ca69){return _0x54a7f1(_0x30ca69-_0x253ecb._0x20b7d0,_0x51b589);}if(Cesium__namespace['defined'](_0x5f4e19['_heightReference']))return _0x5f4e19[_0x1b2f27(_0x10ec52._0x4baec5,0x143e)];const _0x2be0c4=_0x5f4e19[_0x19672a(_0x10ec52._0x2e144b,0xfeb)]||_0x5f4e19['point']||_0x5f4e19[_0x1b2f27(0xbc6,_0x10ec52._0x9c2620)]||_0x5f4e19[_0x1b2f27(0x91d,_0x10ec52._0x557f8e)];if(Cesium__namespace['defined'](_0x2be0c4===null||_0x2be0c4===void 0x0?void 0x0:_0x2be0c4[_0x19672a(0x114e,_0x10ec52._0x562d62)]))return _0x2be0c4[_0x1b2f27(_0x10ec52._0x25d21d,_0x10ec52._0xdc206a)][_0x19672a(_0x10ec52._0x3b604b,0x1020)];function _0x1b2f27(_0x5e29f3,_0x397be8){return _0x7afdbe(_0x5e29f3,_0x397be8- -_0xfaf1a0._0x90103);}return _0x15d820;}}register$2(_0x7afdbe(0xf0a,0x150a),PopupMgr);function isGraphicPostion(_0x25f214){const _0x4bb992={_0x244a4d:0x499},_0x401bcf={_0x40b8cf:0x25e};function _0x3ffdfb(_0x5bd87c,_0x21eb87){return _0x54a7f1(_0x21eb87- -_0x401bcf._0x40b8cf,_0x5bd87c);}function _0x1d5aae(_0xc3d352,_0x4e84d2){return _0x7afdbe(_0xc3d352,_0x4e84d2- -0x235);}if(!_0x25f214)return![];if(_0x25f214['type']['startsWith'](_0x1d5aae(0x945,0xd25))||_0x25f214['type'][_0x3ffdfb(0xc9b,_0x4bb992._0x244a4d)]('point'))return!![];if(_0x25f214['position']&&!(_0x25f214['position']instanceof Cesium__namespace['ConstantPositionProperty']))return!![];return![];}class TooltipMgr extends PopupMgr{['_enabledHook'](_0xe2d654){const _0x2c5412={_0xf559de:0x61f,_0x4143a2:0x5e0},_0x33c541={_0x7475ea:0x2bd};super[_0x35bd4b(_0x2c5412._0xf559de,_0x2c5412._0x4143a2)](_0xe2d654);function _0x49ca7f(_0x14440c,_0x339bc2){return _0x7afdbe(_0x339bc2,_0x14440c- -0x10b);}function _0x35bd4b(_0xf50843,_0x50acab){return _0x7afdbe(_0x50acab,_0xf50843- -_0x33c541._0x7475ea);}this[_0x35bd4b(0xef7,0x578)]&&!_0xe2d654&&(clearTimeout(this['moveTimer']),delete this['moveTimer']);}['_bindEvent'](){const _0x5b06fd={_0x318f09:0x66f,_0x2189d3:0x5d5,_0xbec860:0x24c,_0x557951:0x38f},_0x52cf2f={_0x9fdc6b:0x4a8},_0x3d4892={_0x55bac7:0x1fe};function _0x6520c2(_0x1baa75,_0x424540){return _0x54a7f1(_0x1baa75- -_0x3d4892._0x55bac7,_0x424540);}this['_map']['on'](EventType[_0x6520c2(_0x5b06fd._0x318f09,-0x1d2)],this[_0x6520c2(0x19d,-0x8a6)],this),this[_0x6520c2(_0x5b06fd._0x2189d3,-_0x5b06fd._0xbec860)]['on'](EventType['mouseDown'],this[_0x1df40b(0x912,0xcd0)],this);function _0x1df40b(_0x5d3470,_0x38bdc6){return _0x54a7f1(_0x5d3470- -_0x52cf2f._0x9fdc6b,_0x38bdc6);}this[_0x6520c2(_0x5b06fd._0x2189d3,0x3bb)]['on'](EventType[_0x6520c2(0x618,-_0x5b06fd._0x557951)],this[_0x1df40b(0xaa3,0xe6b)],this);}['_unbindEvent'](){const _0x507630={_0x5734b3:0xd31,_0x370a0c:0xb73,_0x26850e:0xfd8,_0x46e1f4:0xbf6,_0x19d39f:0xa34},_0x438929={_0x5bd771:0x21e},_0x22d15b={_0x2516b4:0x287};this[_0x32e611(0x9f1,0x345)][_0x58957b(0x5d4,0x14d)](EventType['mouseMoveTarget'],this[_0x58957b(0x622,_0x507630._0x5734b3)],this);function _0x58957b(_0x2ecac8,_0x107a4d){return _0x54a7f1(_0x2ecac8-_0x22d15b._0x2516b4,_0x107a4d);}function _0x32e611(_0x50ff71,_0x1cbf1b){return _0x54a7f1(_0x50ff71-_0x438929._0x5bd771,_0x1cbf1b);}this[_0x32e611(0x9f1,0x86d)]['off'](EventType[_0x58957b(_0x507630._0x370a0c,0xbe)],this[_0x32e611(_0x507630._0x26850e,0x562)],this),this[_0x32e611(0x9f1,_0x507630._0x46e1f4)]['off'](EventType[_0x32e611(_0x507630._0x19d39f,0x123b)],this['_mouseUpHandler'],this);}['_mouseDownHandler'](_0x4ddd8f){const _0x235746={_0x400d0e:0xfb1,_0x3c0a7e:0x82d},_0x306a57={_0xaa6baf:0x204};if(!this[_0x47e3ed(0xda7,_0x235746._0x400d0e)])return;this['_isMouseUpdownPressed']=!![];function _0x47fe30(_0x46bfb1,_0x195e2c){return _0x7afdbe(_0x195e2c,_0x46bfb1- -0x6fd);}function _0x47e3ed(_0x20ff51,_0x140ed6){return _0x54a7f1(_0x20ff51-_0x306a57._0xaa6baf,_0x140ed6);}this[_0x47e3ed(_0x235746._0x3c0a7e,0xc77)]();}['_mouseUpHandler'](_0xbc53aa){const _0x304fc9={_0x5e5f64:0x159};if(!this['enabled'])return;function _0x500b66(_0x15217d,_0x3ffa22){return _0x54a7f1(_0x15217d-_0x304fc9._0x5e5f64,_0x3ffa22);}this[_0x500b66(0xb7e,0xa8f)]=![];}['_mouseMoveHandler'](_0x5e5b46){const _0x12cba2={_0x250e66:0xf30,_0x207eb8:0x1970,_0x5cadec:0x11e1,_0xaa6bad:0xff3};function _0xbe7f3(_0x4d7f81,_0xb5bf22){return _0x7afdbe(_0xb5bf22,_0x4d7f81-0x2d);}if(!this['enabled'])return;this[_0xa88536(_0x12cba2._0x250e66,0xd96)]&&(clearTimeout(this[_0xa88536(0xf30,_0x12cba2._0x207eb8)]),delete this[_0xbe7f3(_0x12cba2._0x5cadec,_0x12cba2._0xaa6bad)]);if(this['_isMouseUpdownPressed']||!this[_0xa88536(0xaa4,0xc8c)]){this[_0xa88536(0x5d3,0x109a)]();return;}function _0xa88536(_0x515f04,_0x530bae){return _0x54a7f1(_0x515f04- -0x56,_0x530bae);}this['moveTimer']=setTimeout(()=>{delete this['moveTimer'],this['_mouseClickHandler'](_0x5e5b46);},this['options'][_0xa88536(0x775,0xc87)]??0x14);}['_getConfig'](_0x525f88){const _0x440418={_0x1e59d1:0x266,_0x271782:0x11b,_0x36d23c:0x2e8},_0x302b29={_0x40dc5b:0x35e};function _0x4903f5(_0x3c9f4e,_0xc2e5b3){return _0x54a7f1(_0xc2e5b3- -_0x302b29._0x40dc5b,_0x3c9f4e);}function _0x24a886(_0x13256d,_0x4745d5){return _0x54a7f1(_0x13256d- -0x375,_0x4745d5);}return _0x525f88['_tooltipConfig']||_0x525f88[_0x4903f5(-_0x440418._0x1e59d1,0x132)]&&_0x525f88[_0x24a886(_0x440418._0x271782,_0x440418._0x36d23c)]();}[_0x7afdbe(0xf81,0x5b0)](_0xf43821,_0x50aa74){const _0x1b2540=new Tooltip(_0xf43821);return _0x50aa74&&(_0x50aa74['_tooltipId']=_0x1b2540['id']),_0x1b2540;}['getTooltip'](_0x591a46){function _0x4b1d4d(_0x25c053,_0x8a2c63){return _0x54a7f1(_0x8a2c63- -0x40,_0x25c053);}return this[_0x4b1d4d(0x19c1,0x15ed)]['getGraphicById'](_0x591a46['_tooltipId']);}[_0x7afdbe(0xf56,0x755)](_0x451fee){return this['getTooltip'](_0x451fee);}}register$2(_0x54a7f1(0x8e6,0x6dc),TooltipMgr);class SmallTooltip extends BaseControl{get['direction'](){function _0x14eefb(_0xf303a2,_0x48af1e){return _0x54a7f1(_0xf303a2- -0x3d3,_0x48af1e);}return this['options'][_0x14eefb(0x853,0xcf8)];}set['direction'](_0x39b163){const _0x174ad9={_0x32491e:0x66e},_0x2af211={_0x5c4bad:0x1dd},_0x394225={_0x1203ab:0x78};function _0x897d78(_0x5248bb,_0x4f74fb){return _0x54a7f1(_0x4f74fb- -_0x394225._0x1203ab,_0x5248bb);}this['options']['direction']=_0x39b163;function _0x5e4b7a(_0x567fac,_0x4ee4e7){return _0x7afdbe(_0x567fac,_0x4ee4e7- -_0x2af211._0x5c4bad);}_0x39b163?(addClass(this['_containerArrow'],'mars3d-smallTooltip-leftArrow'),removeClass(this['_containerArrow'],'mars3d-smallTooltip-rightArrow')):(addClass(this[_0x897d78(0x2b6,_0x174ad9._0x32491e)],_0x5e4b7a(0x79e,0x10eb)),removeClass(this['_containerArrow'],'mars3d-smallTooltip-leftArrow'));}['_enabledHook'](_0x308ecc){this['show']=_0x308ecc;}[_0x54a7f1(0x28b,0x2db)](){const _0x43ae03={_0x1f9ac4:0x14e0,_0x49d8be:0x1146,_0x5f5564:0xe26,_0x412818:0x799,_0xd1f295:0x305,_0x1c6332:0x596,_0x3afc72:0x10dc};function _0x39b670(_0x3eec66,_0x2d0e67){return _0x54a7f1(_0x2d0e67- -0x2f,_0x3eec66);}this['_container']=create$4('div',_0x8f064d(0x6a5,0xfda)),this['_container'][_0x39b670(-0x314,0x46d)][_0x39b670(_0x43ae03._0x1f9ac4,0x16a3)]=_0x8f064d(_0x43ae03._0x49d8be,_0x43ae03._0x5f5564);function _0x8f064d(_0x3c7eff,_0x5f44a5){return _0x54a7f1(_0x3c7eff-0x10e,_0x5f44a5);}this['_containerArrow']=create$4('div','mars3d-smallTooltip-arrow\x20mars3d-smallTooltip-rightArrow',this[_0x8f064d(_0x43ae03._0x412818,_0x43ae03._0xd1f295)]),this[_0x39b670(-0x192,_0x43ae03._0x1c6332)]=create$4('div','mars3d-smallTooltip-inner',this[_0x8f064d(_0x43ae03._0x412818,_0x43ae03._0x3afc72)]),this['_container']['addEventListener'](_0x39b670(0x991,0xedb),_0x4515f2=>{this['close']();});}['close'](){this['_container']&&(this['_container']['style']['display']='none');}['open'](_0x4641da,_0x82364b){const _0x119cee={_0xb8cda9:0x1c23,_0x20b328:0x1116,_0x2d6505:0x948,_0x5220b7:0x57a,_0x2d6cc8:0xbe5,_0x3410f7:0x59c,_0x3dac89:0xf49};function _0x1dd1d4(_0x379839,_0x5d2d67){return _0x54a7f1(_0x5d2d67- -0xef,_0x379839);}if(!this['enabled'])return;if(_0x82364b)this[_0x4ade18(0x400,0x6a3)][_0x4ade18(_0x119cee._0xb8cda9,0x12f3)]=_0x82364b;else{this['_container']['style']['display']=_0x4ade18(0x19e1,_0x119cee._0x20b328);return;}function _0x4ade18(_0x46ba42,_0xc073ef){return _0x7afdbe(_0x46ba42,_0xc073ef- -0x150);}_0x4641da?(_0x4641da instanceof Cesium__namespace[_0x1dd1d4(0xa57,0x11f8)]&&(_0x4641da=toWindowCoordinates$1(this['_map'][_0x1dd1d4(0x1627,0xf90)],_0x4641da)),this['_container'][_0x4ade18(_0x119cee._0x2d6505,_0x119cee._0x5220b7)]['display']=_0x4ade18(0x837,0x6ec),this['_container']['style']['top']=_0x4641da['y']-this['_container'][_0x4ade18(0x2f3,_0x119cee._0x2d6cc8)]/0x2+'px',this['options'][_0x4ade18(0x1094,0xd04)]?this['_container']['style']['left']=_0x4641da['x']-this[_0x1dd1d4(0x1d4,_0x119cee._0x3410f7)]['clientWidth']-0x19+'px':this['_container']['style']['left']=_0x4641da['x']+0x19+'px'):this['_container'][_0x4ade18(-0x252,_0x119cee._0x5220b7)]['display']=_0x1dd1d4(0x198b,_0x119cee._0x3dac89);}}register$2('smallTooltip',SmallTooltip);class ContextMenu extends BaseControl{constructor(_0x78c3bd={}){const _0x23e543={_0x5c324f:0x1094,_0x41d5ea:0xbc1};super(_0x78c3bd);function _0x5c0806(_0x3533cd,_0x3bdc60){return _0x7afdbe(_0x3bdc60,_0x3533cd- -0x599);}function _0x2cc983(_0x24f6c5,_0x2ee367){return _0x7afdbe(_0x24f6c5,_0x2ee367- -0x306);}this[_0x5c0806(_0x23e543._0x5c324f,0x71c)]=0x0,this[_0x2cc983(_0x23e543._0x41d5ea,0x2ef)]={};}get[_0x7afdbe(0x671,0x4cd)](){const _0x38840a={_0x4f7774:0x1046,_0x32b4e5:0xec6};function _0x4161a6(_0x370cc5,_0x52085f){return _0x54a7f1(_0x370cc5-0xde,_0x52085f);}return this[_0x4161a6(_0x38840a._0x4f7774,_0x38840a._0x32b4e5)];}['_enabledHook'](){this['_target']=null;}['_mountedHook'](){const _0x4d8483={_0x40d70d:0xeeb,_0x16aa1e:0x4f0,_0x1298cd:0x288,_0x588f64:0x668,_0x2d68e5:0xb77},_0x12b107={_0x55fa98:0x23},_0x4e795f={_0x50977c:0x4b};function _0x4ad88d(_0x192f7d,_0xa8640a){return _0x7afdbe(_0x192f7d,_0xa8640a-_0x4e795f._0x50977c);}Cesium__namespace[_0x4ad88d(_0x4d8483._0x40d70d,_0x4d8483._0x16aa1e)](this['options']['preventDefault'],!![])&&(this['_map'][_0x101d53(0xbda,0x883)]['oncontextmenu']=function(_0x3addef){_0x3addef['preventDefault']();});this['_container']=create$4('div','mars3d-contextmenu');function _0x101d53(_0xe648f0,_0x1bd3e9){return _0x54a7f1(_0xe648f0- -_0x12b107._0x55fa98,_0x1bd3e9);}this[_0x4ad88d(0x702,0x904)][_0x101d53(0x479,0x6ad)]['display']='none',this[_0x101d53(0xc60,_0x4d8483._0x1298cd)]=create$4('ul',_0x4ad88d(-0x2c8,0x73d),this[_0x101d53(_0x4d8483._0x588f64,-0x22b)]),this['_containerUl']['id']=this[_0x101d53(_0x4d8483._0x2d68e5,0x1246)]+'-mars3d-contextmenu-ul';}['_addedHook'](){const _0x3de945={_0x4b9fb4:0x917,_0x3bebd6:0x1b0a,_0x304f47:0x674,_0x216e4d:0x918,_0x169cc8:0xbf7};this[_0x5888b1(_0x3de945._0x4b9fb4,0x9ec)]['on'](EventType['leftDown'],this[_0x5888b1(_0x3de945._0x3bebd6,0x196b)],this),this[_0x52bdf4(0x5ae,_0x3de945._0x304f47)]['on'](EventType['middleDown'],this['_downHandler'],this);function _0x5888b1(_0x57d2c0,_0x5ab93e){return _0x7afdbe(_0x57d2c0,_0x5ab93e- -0x15);}this[_0x52bdf4(_0x3de945._0x216e4d,0x674)]['on'](EventType[_0x5888b1(0x10df,0x1367)],this['_downHandler'],this);function _0x52bdf4(_0x3548eb,_0x4ab8a7){return _0x7afdbe(_0x3548eb,_0x4ab8a7- -0x38d);}this['_map']['on'](EventType['rightClick'],this[_0x5888b1(0x1289,_0x3de945._0x169cc8)],this);}['_removedHook'](){const _0x17dfe3={_0x5f0a73:0x22e9,_0x4ad752:0x190b,_0x187fb7:0x8ec,_0x22965e:0xd79,_0x11d58c:0x12fa,_0x556026:0x188c,_0x4fe25c:0x1fd7,_0x4e9701:0x1309,_0x4833dd:0x1121};this['_map']['off'](EventType['leftDown'],this['_downHandler'],this),this['_map']['off'](EventType['middleDown'],this[_0x39eeb7(_0x17dfe3._0x5f0a73,_0x17dfe3._0x4ad752)],this),this[_0x5fa29a(0x90d,_0x17dfe3._0x187fb7)][_0x39eeb7(_0x17dfe3._0x22965e,0x506)](EventType[_0x39eeb7(_0x17dfe3._0x11d58c,0x1307)],this[_0x5fa29a(_0x17dfe3._0x556026,_0x17dfe3._0x4fe25c)],this);function _0x5fa29a(_0x2e2043,_0x4016e2){return _0x7afdbe(_0x4016e2,_0x2e2043- -0xf4);}this['_map']['off'](EventType['rightClick'],this['_rightClickHandler'],this);function _0x39eeb7(_0x38a475,_0x2a6b66){return _0x7afdbe(_0x38a475,_0x2a6b66- -0x75);}this[_0x39eeb7(_0x17dfe3._0x4e9701,_0x17dfe3._0x4833dd)]=null,this['_eventResult']=null;}['_downHandler'](_0x284a6c){const _0x4d3755={_0x555a3b:0x16e},_0x5023a7={_0x3fe729:0xc4};function _0x4c467e(_0x19114c,_0x54a045){return _0x54a7f1(_0x19114c-_0x5023a7._0x3fe729,_0x54a045);}this[_0x4c467e(0x6ed,-_0x4d3755._0x555a3b)]();}[_0x7afdbe(0x1169,0xc0c)](_0x5acc80){const _0x418b80={_0x5ef206:0x3f6,_0x115026:0x6e4,_0x438be5:0x1736,_0x1100b1:0x1152,_0x17ea65:0x11eb,_0x4177ce:0x6e4,_0x3bf7b5:0xf30,_0x5c893e:0x568},_0x9d1ca8={_0x68acc8:0x499},_0x511174={_0xff9928:0x1c8};var _0x45835b,_0x240db2;this['close']();function _0x46405f(_0x52401d,_0x554172){return _0x54a7f1(_0x554172- -_0x511174._0xff9928,_0x52401d);}if(!this['enabled'])return;if(this[_0x5900ad(0xf7f,0x641)](_0x5acc80['czmObject'],_0x5acc80))return;if(this[_0x46405f(_0x418b80._0x5ef206,_0x418b80._0x115026)](_0x5acc80['graphic'],_0x5acc80))return;if(this[_0x5900ad(0x9bd,0x641)]((_0x45835b=_0x5acc80['graphic'])===null||_0x45835b===void 0x0?void 0x0:_0x45835b['parent'],_0x5acc80))return;if(this['_openByClick'](_0x5acc80[_0x46405f(_0x418b80._0x438be5,_0x418b80._0x1100b1)],_0x5acc80))return;function _0x5900ad(_0x28b759,_0x583782){return _0x7afdbe(_0x28b759,_0x583782- -_0x9d1ca8._0x68acc8);}if(this[_0x46405f(0x10bc,_0x418b80._0x115026)]((_0x240db2=_0x5acc80[_0x46405f(_0x418b80._0x17ea65,0x1152)])===null||_0x240db2===void 0x0?void 0x0:_0x240db2[_0x46405f(0x1458,0x11fc)],_0x5acc80))return;this[_0x46405f(0x63b,_0x418b80._0x4177ce)](this[_0x5900ad(_0x418b80._0x3bf7b5,_0x418b80._0x5c893e)],_0x5acc80);}['_openByClick'](_0x39b84d,_0x4693bd){const _0x306968={_0x462e8f:0x1513,_0x13f49e:0x1439},_0x3a3f1d={_0x23b3d9:0x58e};if(!_0x39b84d)return![];let _0xebc716=_0x39b84d[_0x2a3675(0x130b,_0x306968._0x462e8f)]||_0x39b84d[_0x10e44f(0x1a3f,_0x306968._0x13f49e)]&&_0x39b84d['getContextMenu']();if(_0xebc716===![])return!![];if(!_0xebc716)return![];function _0x2a3675(_0x1fc043,_0x6eb02c){return _0x54a7f1(_0x1fc043-0x26e,_0x6eb02c);}_0xebc716={..._0xebc716,..._0x4693bd},this['open'](_0x4693bd['cartesian'],_0xebc716);function _0x10e44f(_0x332b8b,_0x4a515a){return _0x7afdbe(_0x332b8b,_0x4a515a- -_0x3a3f1d._0x23b3d9);}return!![];}['close'](_0x2ebb19,_0x303353){const _0x28cb96={_0x50dc9c:0x1256,_0x1e3114:0x1c7d,_0x898359:0x1514,_0x45ac45:0x2ff,_0x2f5eaa:0x27f,_0x4e0260:0xf82};var _0x41fda8,_0x9801dc,_0x60f0c0;if(this[_0x5c0d75(0x10c3,_0x28cb96._0x50dc9c)]===![])return;if(_0x2ebb19&&_0x2ebb19!==((_0x41fda8=this[_0x394a7a(0x1792,0x13d2)])===null||_0x41fda8===void 0x0?void 0x0:_0x41fda8['graphic']))return;if(_0x303353&&_0x303353!==((_0x9801dc=this[_0x394a7a(0x1792,_0x28cb96._0x1e3114)])===null||_0x9801dc===void 0x0?void 0x0:_0x9801dc[_0x394a7a(0x13e4,0xa2c)]))return;this['show']=![];function _0x5c0d75(_0x97ecca,_0x25ce3c){return _0x54a7f1(_0x25ce3c- -0x20,_0x97ecca);}function _0x394a7a(_0x329924,_0x15eb8c){return _0x7afdbe(_0x15eb8c,_0x329924- -0x164);}(_0x60f0c0=this['target'])!==null&&_0x60f0c0!==void 0x0&&_0x60f0c0[_0x5c0d75(_0x28cb96._0x898359,0xe98)]?this[_0x5c0d75(_0x28cb96._0x45ac45,_0x28cb96._0x2f5eaa)]['fire'](EventType['contextMenuClose'],{},!![]):this[_0x5c0d75(0x449,0x7b3)][_0x394a7a(_0x28cb96._0x4e0260,0x108a)](EventType['contextMenuClose']);}['open'](_0x5680c3,_0x54ecfd={}){const _0x4cb8bd={_0x164de0:0xa6b,_0x3e678b:0xb42,_0x5a1da1:0x8ea,_0x1ad33f:0x27d,_0x15ee64:0x167d,_0xe9252b:0xefa,_0x1e0fb6:0xefa,_0x37e6f1:0xbd9,_0x6af872:0x38,_0xca1b38:0x516,_0xf5324:0xea6,_0x372ef4:0xf0,_0x36ab68:0x12a9,_0x2d3149:0x9a3,_0x807631:0xf90,_0x7cafa0:0x1385,_0x140b1b:0x15b3,_0x2dcc3d:0xd42},_0x3ce33d={_0x4daad7:0x5da},_0x934570={_0x5bad16:0x277},_0x36fd42={_0x38c918:0x8b5,_0x26fcbc:0x1293,_0x288587:0x1f6,_0x54c132:0x2368,_0x279387:0x1944,_0x1897e7:0x1a2f,_0x4eac79:0x16c9,_0x500032:0xf72},_0x54a7be={_0x529f06:0x3db},_0x3eb56d={_0x5bf081:0x98a,_0x3dd7e2:0x1388,_0x56f262:0x10a9,_0x4fd069:0x1e5,_0x155faf:0x4aa,_0x5825d4:0x5d,_0x53697c:0x80d,_0xea6ea6:0x131e,_0x269d6d:0xdca,_0x53e7aa:0x12e9,_0x54743a:0x590,_0x369d14:0x1f1,_0x2f16ce:0x346,_0x11c138:0x663};var _0x52aff0;const _0x5f2f31=_0x54ecfd['options']||{},_0x264d9c=_0x54ecfd['content'];if(!_0x264d9c||_0x264d9c['length']===0x0){this[_0x457edf(0x27d,0x503)]();return;}const _0x5e4ae0=_0x54ecfd['windowPosition']||toWindowCoordinates$1(this['_map']['scene'],_0x5680c3);if(!_0x5e4ae0)return;const _0x254470={..._0x54ecfd};_0x254470[_0x43a65b(_0x4cb8bd._0x164de0,0x1458)]=_0x5e4ae0,_0x254470['position']=_0x5680c3;const _0x287ff8=_0x254470;_0x54ecfd['layer']&&_0x54ecfd['layer']['fire']&&(_0x287ff8['target']=_0x54ecfd['layer']);if(_0x54ecfd['graphic']&&_0x54ecfd[_0x43a65b(0xb91,0x83f)]['fire']){_0x287ff8['target']=_0x54ecfd['graphic'];const _0x2aebc2=_0x54ecfd['graphic']['parent'];_0x2aebc2&&_0x2aebc2['fire']&&(_0x287ff8['graphic_parent']=_0x2aebc2,_0x54ecfd['graphic'][_0x43a65b(_0x4cb8bd._0x3e678b,0x639)]&&(_0x287ff8[_0x457edf(0x21c,_0x4cb8bd._0x5a1da1)]=_0x2aebc2,_0x287ff8['target']=_0x2aebc2));}this[_0x457edf(0x131c,0x1c9e)]=_0x287ff8;let _0x128ebb='';for(let _0x40a854=0x0,_0x56a6c8=_0x264d9c['length'];_0x40a854<_0x56a6c8;_0x40a854++){const _0x8f2793=_0x264d9c[_0x40a854],_0xe22759=this['_getItemHtml'](_0x8f2793,_0x287ff8);_0xe22759&&(_0x128ebb+=_0xe22759);}if(_0x128ebb===''){this[_0x457edf(_0x4cb8bd._0x1ad33f,-0x5e5)]();return;}this[_0x43a65b(_0x4cb8bd._0x15ee64,_0x4cb8bd._0xe9252b)][_0x43a65b(0x1ac6,0x148c)]=_0x128ebb;const _0x46c332=this[_0x43a65b(0x989,_0x4cb8bd._0x1e0fb6)][_0x457edf(0x12a9,0x130a)]('.contextmenu-item'),_0x4ce020=this;for(let _0x5cc781=0x0;_0x5cc781<_0x46c332[_0x457edf(_0x4cb8bd._0x37e6f1,0xc07)];_0x5cc781++){const _0xa464de=_0x46c332[_0x5cc781];_0xa464de[_0x43a65b(0x1b23,0x19da)]('click',function(_0x7a8b57){var _0x2a1f5a;function _0x3b1a02(_0x290077,_0x16b1ae){return _0x43a65b(_0x290077,_0x16b1ae- -0x23d);}_0x7a8b57[_0x3b1a02(0x755,0x4b0)]&&_0x7a8b57[_0x454052(_0x3eb56d._0x5bf081,0x388)]();const _0x2a3bd1=Number(this[_0x454052(_0x3eb56d._0x3dd7e2,0xd45)](_0x3b1a02(_0x3eb56d._0x56f262,0xc26))),_0x10cdcc=_0x4ce020['_menuObj'][_0x2a3bd1];function _0x454052(_0x5c8ca8,_0x4116f3){return _0x43a65b(_0x5c8ca8,_0x4116f3- -0x365);}const _0xd54f30={..._0x287ff8};_0xd54f30[_0x454052(0x1048,0xb81)]=_0x10cdcc;const _0x2d5fdd=_0xd54f30,_0x2ee70e=_0x10cdcc['callback'];if(_0x2ee70e){if(isFunction(_0x2ee70e))_0x2ee70e[_0x454052(0x42a,_0x3eb56d._0x4fd069)](_0x10cdcc)(_0x2d5fdd);else isString(_0x2ee70e)&&new Function('event','return\x20'+_0x2ee70e+'(event)')(_0x2d5fdd);}(_0x2a1f5a=_0x4ce020[_0x454052(_0x3eb56d._0x155faf,0x1b1)])!==null&&_0x2a1f5a!==void 0x0&&_0x2a1f5a['fire']?_0x4ce020[_0x3b1a02(-_0x3eb56d._0x5825d4,0x2d9)]['fire'](EventType['contextMenuClick'],_0x2d5fdd,!![]):_0x4ce020[_0x3b1a02(0x448,_0x3eb56d._0x53697c)][_0x454052(_0x3eb56d._0xea6ea6,_0x3eb56d._0x269d6d)](EventType[_0x3b1a02(0xa1a,_0x3eb56d._0x53e7aa)],_0x2d5fdd);const _0x36dd4f=Number(this[_0x3b1a02(0x103b,0xe6d)](_0x454052(_0x3eb56d._0x54743a,_0x3eb56d._0x369d14))||0x0);_0x36dd4f===0x0&&_0x4ce020[_0x3b1a02(_0x3eb56d._0x2f16ce,_0x3eb56d._0x11c138)]();}),_0xa464de['addEventListener']('mouseover',function(_0x2f0bc1){const _0x332d3b=_0x4ce020['_container']['querySelectorAll']('.mars3d-sub-menu');for(let _0xc89872=0x0;_0xc89872<_0x332d3b['length'];_0xc89872++){_0x332d3b[_0xc89872]['style']['display']='none';}function _0x34b41e(_0x4d238f,_0x420ba3){return _0x457edf(_0x4d238f-_0x54a7be._0x529f06,_0x420ba3);}const _0x5ca070=this[_0x430d59(_0x36fd42._0x38c918,_0x36fd42._0x26fcbc)]('.mars3d-sub-menu');function _0x430d59(_0x41a3d8,_0xb1be1d){return _0x457edf(_0xb1be1d-0x61e,_0x41a3d8);}_0x5ca070&&(_0x5ca070[_0x34b41e(0x4cb,_0x36fd42._0x288587)][_0x430d59(_0x36fd42._0x54c132,_0x36fd42._0x279387)]='block'),removeClass(_0x4ce020[_0x430d59(0x16e4,0xef5)][_0x34b41e(0x1050,0x1195)]('.active'),_0x430d59(_0x36fd42._0x1897e7,0x190c)),addClass(this,_0x34b41e(_0x36fd42._0x4eac79,_0x36fd42._0x500032));});}this['show']=!![],this['_target']=_0x287ff8[_0x43a65b(_0x4cb8bd._0x6af872,_0x4cb8bd._0xca1b38)];let _0x69143b=_0x5e4ae0['y'];function _0x43a65b(_0x515628,_0xe38bb9){return _0x54a7f1(_0xe38bb9-_0x934570._0x5bad16,_0x515628);}let _0x48e521=_0x5e4ae0['x'];function _0x457edf(_0x59b97d,_0x30b0c5){return _0x7afdbe(_0x30b0c5,_0x59b97d- -_0x3ce33d._0x4daad7);}_0x5f2f31['anchor']?(_0x48e521+=_0x5f2f31['anchor'][0x0],_0x69143b+=_0x5f2f31['anchor'][0x1]):(_0x5f2f31['offsetX']&&(_0x48e521+=_0x5f2f31['offsetX']),_0x5f2f31['offsetY']&&(_0x69143b+=_0x5f2f31['offsetY']));const _0x46f74d=this['_container']['offsetHeight'],_0x448f6b=this['_container']['offsetWidth'];_0x69143b+_0x46f74d>this['_map']['scene']['canvas']['clientHeight']?(_0x69143b-=_0x46f74d-0xa,_0x69143b<=0x0&&(_0x69143b=0x0)):_0x69143b+=0xa;let _0x2d3f8d=!![];_0x48e521+_0x448f6b>this['_map']['scene']['canvas']['clientWidth']?(_0x48e521-=_0x448f6b-0xa,_0x2d3f8d=![],_0x48e521<=0x0&&(_0x48e521=0x0)):_0x48e521+=0xa;this[_0x43a65b(_0x4cb8bd._0xf5324,0x902)]['style']['left']=_0x48e521+'px',this['_container'][_0x457edf(_0x4cb8bd._0x372ef4,0x5f6)]['top']=_0x69143b+'px';const _0x457cb7=this['_containerUl'][_0x457edf(_0x4cb8bd._0x36ab68,0x1c2e)]('.mars3d-sub-menu');for(let _0x25c7bf=0x0;_0x25c7bf<_0x457cb7['length'];_0x25c7bf++){const _0x35c7=_0x457cb7[_0x25c7bf],_0xcf11bb=Number(_0x35c7[_0x43a65b(0x75e,0x10aa)](_0x457edf(-0xcd,-_0x4cb8bd._0x2d3149))||0x1)*0x22;let _0x1d33f7=_0x69143b+_0x35c7['parentElement']['offsetTop'];_0x35c7['style']['top']='0',_0x35c7['style'][_0x457edf(_0x4cb8bd._0x807631,0x7fb)]='auto',_0x1d33f7+_0xcf11bb>this[_0x457edf(0x427,-0x295)]['scene']['canvas']['clientHeight']&&(_0x1d33f7-=_0xcf11bb,_0x1d33f7>0x0&&(_0x35c7['style']['top']=_0x457edf(0x1346,0x162f),_0x35c7[_0x457edf(_0x4cb8bd._0x372ef4,0xac4)][_0x43a65b(_0x4cb8bd._0x7cafa0,_0x4cb8bd._0x140b1b)]='0')),_0x2d3f8d?_0x35c7['style'][_0x43a65b(0x5ac,_0x4cb8bd._0x2dcc3d)]=_0x448f6b+0xa+'px':_0x35c7['style']['right']=_0x448f6b+0xa+'px';}(_0x52aff0=_0x287ff8[_0x457edf(-0x10d,0x70c)])!==null&&_0x52aff0!==void 0x0&&_0x52aff0[_0x43a65b(0x140f,0x112f)]?_0x287ff8[_0x43a65b(0x174,0x516)][_0x43a65b(0x144e,0x112f)](EventType['contextMenuOpen'],{},!![]):this[_0x43a65b(0x131e,0xa4a)]['fire'](EventType['contextMenuOpen']);}['_getItemHtml'](_0x2f19e4,_0x565913){const _0x5d4c20={_0x5142dd:0x16d2,_0x57003b:0xb1b,_0x4c8cd1:0x810,_0x317532:0x1753,_0x3faa4c:0x647,_0x4d3910:0x1fd,_0xa827b1:0x1136,_0x3bd014:0x178,_0x32ea59:0x11c2};if(_0x2f19e4['hasOwnProperty'](_0x2154e5(_0x5d4c20._0x5142dd,0x1194))){let _0x2e0ca6=_0x2f19e4['show'];try{_0x565913[_0x2154e5(_0x5d4c20._0x57003b,_0x5d4c20._0x4c8cd1)]=_0x2f19e4;if(isFunction(_0x2e0ca6))_0x2e0ca6=_0x2f19e4['show']['bind'](_0x2f19e4)(_0x565913);else isString(_0x2e0ca6)&&new Function('event',_0x13f71b(-0x3b4,0x5f7)+_0x2e0ca6+'(event)')(_0x565913);}catch(_0x29cca3){logError(_0x2154e5(_0x5d4c20._0x317532,0x11e4),_0x29cca3);}if(!_0x2e0ca6)return;}let _0x3334ce,_0x3be88e=_0x2f19e4['text'];function _0x13f71b(_0x74efa4,_0x3735dc){return _0x54a7f1(_0x3735dc- -0x2c9,_0x74efa4);}isFunction(_0x3be88e)&&(_0x3be88e=_0x3be88e['bind'](_0x2f19e4)());function _0x2154e5(_0x24da53,_0x3ee6b7){return _0x54a7f1(_0x3ee6b7- -0x45f,_0x24da53);}if(_0x3be88e){let _0x19c92a='',_0x33d9e7='',_0x1cd9b8=0x0;if(_0x2f19e4['children']){for(let _0x2eef78=0x0,_0xe4f85d=_0x2f19e4['children']['length'];_0x2eef78<_0xe4f85d;_0x2eef78++){const _0x9a56a9=_0x2f19e4['children'][_0x2eef78];_0x565913['data']=_0x9a56a9;const _0x5b22e5=this['_getItemHtml'](_0x9a56a9,_0x565913);_0x5b22e5&&(_0x19c92a+=_0x5b22e5,_0x1cd9b8++);}if(_0x1cd9b8===0x0)return;_0x19c92a='<ul\x20class=\x22mars3d-contextmenu-ul\x20mars3d-sub-menu\x22\x20data-count=\x22'+_0x1cd9b8+'\x22>'+_0x19c92a+_0x2154e5(_0x5d4c20._0x3faa4c,-_0x5d4c20._0x4d3910),_0x33d9e7='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20\x20class=\x22contextmenu-arrow\x22\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20width=\x2220\x22\x20height=\x2220\x22\x20viewBox=\x220\x200\x2048\x2048\x22\x20fill=\x22none\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22><rect\x20width=\x2248\x22\x20height=\x2248\x22\x20fill=\x22white\x22\x20fill-opacity=\x220.01\x22/><path\x20d=\x22M20\x2012L32\x2024L20\x2036V12Z\x22\x20fill=\x22#ffffff\x22\x20stroke=\x22#ffffff\x22\x20stroke-width=\x224\x22\x20stroke-linejoin=\x22round\x22/></svg>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</span>\x20\x20';}this['_menuIndex']++,this[_0x13f71b(0x1fe,0xfe)][this[_0x13f71b(0xbb5,_0x5d4c20._0xa827b1)]]=_0x2f19e4;const _0x4ab718=this['_createIcon'](_0x2f19e4['icon']||_0x2f19e4[_0x13f71b(-0x43a,_0x5d4c20._0x3bd014)],null,_0x2154e5(0x10bb,0x8fd));_0x3334ce=_0x2154e5(0x860,0x378)+this[_0x2154e5(0x8c1,0xfa0)]+'\x22\x20data-count=\x22'+_0x1cd9b8+_0x13f71b(_0x5d4c20._0x32ea59,0xe78)+_0x4ab718+_0x3be88e+_0x33d9e7+'</a>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x19c92a+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</li>';}else _0x3334ce='<li\x20class=\x22line\x22></li>';return _0x3334ce;}[_0x54a7f1(0xb2d,0x1582)](_0x266e6e){}}register$2('contextmenu',ContextMenu);class KeyboardRoam extends BaseControl{constructor(_0x4acce7={}){super(_0x4acce7),this['setOptions'](_0x4acce7);function _0x3e21b8(_0x2ba158,_0x173a4a){return _0x54a7f1(_0x2ba158- -0x53,_0x173a4a);}const _0x5ea393={};_0x5ea393['moveForward']=![],_0x5ea393[_0x5b8183(0x547,-0x48f)]=![],_0x5ea393['moveUp']=![],_0x5ea393['moveDown']=![],_0x5ea393['moveLeft']=![];function _0x5b8183(_0xa9fb3e,_0x235cbd){return _0x54a7f1(_0xa9fb3e-0x15d,_0x235cbd);}_0x5ea393['moveRight']=![],this[_0x5b8183(0xdf8,0x17b1)]=_0x5ea393;}get[_0x7afdbe(0xfa9,0x12db)](){return this['_moveStep'];}set[_0x7afdbe(0x190f,0x12db)](_0x16f05d){this['_moveStep']=_0x16f05d;}get[_0x54a7f1(0xc99,0x254)](){return this['_dirStep'];}set['dirStep'](_0x533870){const _0x1576b9={_0x502e1a:0x8c5,_0x5bf938:0xf64};function _0x27b55a(_0xf17cd,_0x205665){return _0x7afdbe(_0xf17cd,_0x205665- -0x70a);}this[_0x27b55a(_0x1576b9._0x502e1a,_0x1576b9._0x5bf938)]=_0x533870;}get['rotateStep'](){const _0x1135c6={_0x47f494:0x86d};function _0x190a8d(_0x1652b5,_0x683cf9){return _0x54a7f1(_0x1652b5- -0x4df,_0x683cf9);}return this[_0x190a8d(_0x1135c6._0x47f494,0x1303)];}set['rotateStep'](_0x48a35a){this['_rotateStep']=_0x48a35a;}get[_0x54a7f1(0xfe7,0xf33)](){const _0x4d4c0d={_0x32fde0:0x1bff,_0x4b30d2:0xdf7};function _0x5b01c8(_0x989ae,_0x166543){return _0x54a7f1(_0x166543-0x1b8,_0x989ae);}function _0x399049(_0x3d2313,_0x2c2cdf){return _0x54a7f1(_0x2c2cdf-0x2a9,_0x3d2313);}return Cesium__namespace[_0x5b01c8(_0x4d4c0d._0x32fde0,0x1464)]['toDegrees'](this[_0x399049(0xff2,_0x4d4c0d._0x4b30d2)]);}set[_0x54a7f1(0xfe7,0x1444)](_0x4c4c34){const _0x18b65e={_0x5587fd:0x2e3};function _0x192bd3(_0x4e774f,_0x5c8e75){return _0x7afdbe(_0x5c8e75,_0x4e774f- -_0x18b65e._0x5587fd);}this['_minPitch']=Cesium__namespace[_0x192bd3(0x11f7,0x99e)]['toRadians'](_0x4c4c34);}get['maxPitch'](){const _0x5a5846={_0x20041e:0x5ac,_0x8ec8e7:0x3ba,_0x5eca4b:0x5cd},_0x21316d={_0x555bd8:0x46c};function _0x4dddfc(_0x45fc92,_0x4579be){return _0x7afdbe(_0x45fc92,_0x4579be- -0x69c);}function _0xd30ae6(_0xaab1c5,_0x4637be){return _0x7afdbe(_0x4637be,_0xaab1c5- -_0x21316d._0x555bd8);}return Cesium__namespace[_0xd30ae6(0x106e,_0x5a5846._0x20041e)]['toDegrees'](this[_0xd30ae6(_0x5a5846._0x8ec8e7,_0x5a5846._0x5eca4b)]);}set['maxPitch'](_0x454245){const _0x4710f5={_0x489ce3:0x24e};function _0x43ae9f(_0x2e1307,_0x7952d7){return _0x54a7f1(_0x7952d7-_0x4710f5._0x489ce3,_0x2e1307);}this['_maxPitch']=Cesium__namespace[_0x43ae9f(0x1dab,0x14fa)]['toRadians'](_0x454245);}get[_0x54a7f1(0xf1b,0x165d)](){return this['_minHeight'];}set[_0x54a7f1(0xf1b,0x823)](_0x3091fe){this['_minHeight']=_0x3091fe;}['setOptions'](_0x25c506){const _0x5a3e5b={_0x1deaa1:0x1405,_0x444368:0x10df,_0x7f9a3:0xf0b,_0x572a2e:0x1680,_0x2b2a66:0x129e,_0x69c910:0x1380,_0x5aa551:0x70e,_0x1167f4:0xcbd};function _0x2d21f1(_0x10324e,_0x5487af){return _0x54a7f1(_0x5487af- -0x25e,_0x10324e);}this['options']={...this[_0x2d21f1(0x670,0x652)],..._0x25c506},this[_0x2d21f1(0x1e08,_0x5a3e5b._0x1deaa1)]=this[_0x2d21f1(_0x5a3e5b._0x444368,0x652)][_0x20177f(_0x5a3e5b._0x7f9a3,_0x5a3e5b._0x572a2e)]??0xa,this[_0x20177f(_0x5a3e5b._0x2b2a66,0xe04)]=this['options'][_0x20177f(0xaf7,0x11cf)]??0x19;function _0x20177f(_0x45e904,_0x2a9b26){return _0x54a7f1(_0x45e904- -0x1a2,_0x2a9b26);}return this['_rotateStep']=this['options']['rotateStep']??0x1,this['_minPitch']=Cesium__namespace['Math']['toRadians'](this['options'][_0x20177f(0xe45,0x519)]??-0x59),this['_maxPitch']=Cesium__namespace['Math'][_0x20177f(_0x5a3e5b._0x69c910,0x163f)](this['options']['maxPitch']??0x2d),this['_minHeight']=this[_0x20177f(_0x5a3e5b._0x5aa551,0x6a7)][_0x2d21f1(0xf87,_0x5a3e5b._0x1167f4)]??0x0,this;}['_addedHook'](){const _0x127132={_0x4f55ca:0xf5e,_0x44e9c1:0x4cc,_0x163740:0xcce},_0x2f4482={_0x2dfaa3:0x90},_0x70d570={_0x5b7878:0x2b8};this['_map']['on'](EventType['keydown'],this['_onKeyDown'],this),this[_0x585a1e(0x1ae,0x749)]['on'](EventType[_0x585a1e(0x7e9,_0x127132._0x4f55ca)],this[_0x585a1e(-0x27,0x4c5)],this);function _0x585a1e(_0x491a4a,_0x4dd95a){return _0x7afdbe(_0x491a4a,_0x4dd95a- -_0x70d570._0x5b7878);}function _0xf4a872(_0x44247f,_0x10beac){return _0x54a7f1(_0x44247f- -_0x2f4482._0x2dfaa3,_0x10beac);}this['_map']['on'](EventType['clockTick'],this[_0x585a1e(_0x127132._0x44e9c1,_0x127132._0x163740)],this);}['_removedHook'](){const _0x527db3={_0x565299:0x679},_0x54856f={_0x1078b6:0x428};function _0x41da38(_0xb828d,_0x333971){return _0x7afdbe(_0xb828d,_0x333971- -_0x54856f._0x1078b6);}this['_map']['off'](EventType['keydown'],this['_onKeyDown'],this),this['_map']['off'](EventType['keyup'],this[_0x41da38(-_0x527db3._0x565299,0x355)],this),this['_map']['off'](EventType['clockTick'],this['_onClockTick'],this);}['_onKeyDown'](_0x521276){const _0x2ce817={_0x1fa57d:0x12a9,_0x292605:0x3f8},_0x4ca135={_0x5c2355:0x8},_0x1801e9={_0x4115d4:0x4c8};if(!this[_0x49a3cd(0x707,0xdc9)])return;function _0x4fe69c(_0x5739db,_0x3a6699){return _0x7afdbe(_0x5739db,_0x3a6699- -_0x1801e9._0x4115d4);}const _0x1a39a9=this[_0x49a3cd(_0x2ce817._0x1fa57d,0x15d4)](_0x521276[_0x4fe69c(_0x2ce817._0x292605,0x95d)]);function _0x49a3cd(_0x30a2aa,_0x362c32){return _0x7afdbe(_0x30a2aa,_0x362c32- -_0x4ca135._0x5c2355);}typeof _0x1a39a9!==_0x49a3cd(0x1d30,0x1759)&&(this[_0x4fe69c(0x7cd,0xa01)][_0x1a39a9]=!![],clearTimeout(this['_flags_time']),this['_flags_time']=setTimeout(()=>{this['flags'][_0x1a39a9]=![];},0xc8));}['_onKeyUp'](_0x2de64a){const _0x9dde88={_0x3fcf66:0xd64,_0x3815c1:0xe08},_0x116be3={_0x44e7a7:0x16d};if(!this['enabled'])return;function _0x3c75a8(_0x2b8e3e,_0x478f40){return _0x7afdbe(_0x478f40,_0x2b8e3e- -0x58c);}const _0x530f90=this[_0x42c54c(0x151b,0x1a60)](_0x2de64a[_0x42c54c(_0x9dde88._0x3fcf66,0xeab)]);function _0x42c54c(_0x2064d2,_0x1b399f){return _0x54a7f1(_0x2064d2-_0x116be3._0x44e7a7,_0x1b399f);}typeof _0x530f90!=='undefined'&&(this[_0x42c54c(_0x9dde88._0x3815c1,0x10b6)][_0x530f90]=![]);}[_0x54a7f1(0x13ae,0x10e3)](_0xbfbb1b){const _0x5c6789={_0x4a28dd:0x9fa,_0x40747c:0x59b,_0x213075:0xe7,_0x12548c:0xc57,_0x379eeb:0x214,_0x3f7451:0x926,_0x5a2887:0xf89,_0x5596e1:0x1130,_0xbc4770:0x1f7e,_0x4b8fd7:0x15c0,_0x56e309:0x12ee,_0x3e96b0:0xfcc,_0x100b24:0x16e1,_0x1c2e7a:0x16cc};switch(_0xbfbb1b){case 0x57:return'moveForward';case 0x53:return'moveBackward';case 0x44:return'moveRight';case 0x41:return _0x5ee91f(0xae9,_0x5c6789._0x4a28dd);case 0x51:return _0x5ee91f(-_0x5c6789._0x40747c,0x1f2);case 0x45:return'moveDown';case 0x26:this['rotateCamera'](MoveType[_0x2ea386(0x935,_0x5c6789._0x213075)]);break;case 0x25:this[_0x2ea386(0xdd5,_0x5c6789._0x12548c)](MoveType['LEFT_ROTATE']);break;case 0x27:this[_0x2ea386(_0x5c6789._0x379eeb,0xc57)](MoveType['RIGHT_ROTATE']);break;case 0x28:this['rotateCamera'](MoveType[_0x2ea386(_0x5c6789._0x3f7451,_0x5c6789._0x5a2887)]);break;case 0x49:case 0x68:this['moveCamera'](MoveType['ENLARGE']);break;case 0x4b:case 0x65:this[_0x5ee91f(_0x5c6789._0x5596e1,0x110f)](MoveType[_0x2ea386(_0x5c6789._0xbc4770,_0x5c6789._0x4b8fd7)]);break;case 0x4a:case 0x64:this[_0x2ea386(0xa52,_0x5c6789._0x56e309)](MoveType[_0x5ee91f(_0x5c6789._0x3e96b0,0x94a)]);break;case 0x4c:case 0x66:this['moveCamera'](MoveType['RIGHT_ROTATE']);break;case 0x55:case 0x67:this[_0x2ea386(_0x5c6789._0x100b24,_0x5c6789._0x56e309)](MoveType[_0x2ea386(0xb42,0xe7)]);break;case 0x4f:case 0x69:this[_0x2ea386(0xf35,0x12ee)](MoveType[_0x2ea386(_0x5c6789._0x1c2e7a,_0x5c6789._0x5a2887)]);break;}function _0x2ea386(_0x13d8e5,_0x971d15){return _0x7afdbe(_0x13d8e5,_0x971d15- -0x39a);}function _0x5ee91f(_0x3bbca9,_0x2b9aed){return _0x7afdbe(_0x3bbca9,_0x2b9aed- -0x579);}return undefined;}[_0x54a7f1(0xc72,0x500)](){const _0x2c352a={_0x195d27:0xe06,_0x1f6f2f:0x565,_0x27caf0:0xc4b},_0x3279bd={_0x3eea27:0xc3};function _0x55c433(_0x2fc19a,_0x487e73){return _0x54a7f1(_0x2fc19a- -0x1e0,_0x487e73);}function _0x1ef518(_0x5c3961,_0x996740){return _0x7afdbe(_0x5c3961,_0x996740- -_0x3279bd._0x3eea27);}!this['enabled']&&(this['enabled']=!![]),this[_0x1ef518(0x15dd,_0x2c352a._0x195d27)][_0x1ef518(_0x2c352a._0x1f6f2f,_0x2c352a._0x27caf0)]=!![];}[_0x7afdbe(0x1263,0x14f0)](){const _0x235f0b={_0x3de97e:0xa9b,_0x5a4e53:0xc9a,_0xb4150c:0x25b,_0x2bac0b:0x937},_0xea117={_0x379c32:0x49a};function _0x1ef51b(_0x5d907f,_0x598072){return _0x54a7f1(_0x5d907f- -0x108,_0x598072);}function _0x17f6a3(_0x4aecec,_0x3ac7aa){return _0x7afdbe(_0x4aecec,_0x3ac7aa- -_0xea117._0x379c32);}!this[_0x1ef51b(_0x235f0b._0x3de97e,_0x235f0b._0x5a4e53)]&&(this[_0x17f6a3(_0x235f0b._0xb4150c,_0x235f0b._0x2bac0b)]=!![]),this['flags']['moveForward']=![];}['startMoveBackward'](){const _0x1b73f4={_0x56aed8:0x322};function _0x30382c(_0x22d724,_0x5d31ca){return _0x54a7f1(_0x22d724- -_0x1b73f4._0x56aed8,_0x5d31ca);}function _0x1720c1(_0x4fa93e,_0x11c96c){return _0x54a7f1(_0x11c96c- -0x392,_0x4fa93e);}!this['enabled']&&(this[_0x1720c1(0x193,0x811)]=!![]),this[_0x1720c1(0xe51,0x909)]['moveBackward']=!![];}['stopMoveBackward'](){const _0x251472={_0x15050c:0xaa1};!this[_0x549a51(_0x251472._0x15050c,0x27a)]&&(this['enabled']=!![]);function _0x549a51(_0x4dc3e2,_0x597b5d){return _0x7afdbe(_0x597b5d,_0x4dc3e2- -0x330);}this['flags']['moveBackward']=![];}['startMoveRight'](){const _0x34db5e={_0x3102e9:0x164};function _0x191f70(_0x3095a2,_0x134247){return _0x7afdbe(_0x3095a2,_0x134247- -0x6ea);}!this['enabled']&&(this[_0x2ab7f8(0xc6d,0xec9)]=!![]);function _0x2ab7f8(_0x410ab4,_0x5f1fa0){return _0x7afdbe(_0x5f1fa0,_0x410ab4- -_0x34db5e._0x3102e9);}this['flags'][_0x2ab7f8(0x12f5,0xfe1)]=!![];}[_0x7afdbe(0x1518,0xe0e)](){!this['enabled']&&(this['enabled']=!![]),this['flags']['moveRight']=![];}['startMoveLeft'](){const _0x3924c4={_0x5c9a23:0x97d},_0x4258bb={_0x4e2bef:0x16a};!this['enabled']&&(this[_0x1444b7(_0x3924c4._0x5c9a23,0xc67)]=!![]);function _0x1444b7(_0x33440f,_0x5bc6b4){return _0x7afdbe(_0x33440f,_0x5bc6b4- -_0x4258bb._0x4e2bef);}this['flags']['moveLeft']=!![];}['stopMoveLeft'](){const _0x24841e={_0x43ba63:0xc6};function _0x4da05f(_0x2df954,_0x10ced1){return _0x7afdbe(_0x10ced1,_0x2df954- -_0x24841e._0x43ba63);}!this['enabled']&&(this[_0x4da05f(0xd0b,0xb3e)]=!![]),this['flags']['moveLeft']=![];}['moveForward'](_0x14f6dc){const _0x2e38b4={_0x3adefc:0xd76,_0x584b4c:0xbd6,_0x5c4a22:0x1a40,_0x115246:0xb6e,_0x48bfdd:0x15db},_0x2bc58e=this['_map']['camera'];let _0x3cf20e=_0x2bc58e['direction'];const _0x3e814f=Cesium__namespace['Cartesian3'][_0x59ea5f(_0x2e38b4._0x3adefc,0x1811)](_0x2bc58e['position'],new Cesium__namespace['Cartesian3']()),_0x105e90=Cesium__namespace[_0x46c416(0x11e1,0xe60)]['cross'](_0x3cf20e,_0x3e814f,new Cesium__namespace['Cartesian3']());function _0x46c416(_0x11512d,_0x3a8b44){return _0x54a7f1(_0x11512d- -0x106,_0x3a8b44);}function _0x59ea5f(_0x4517ef,_0x53e343){return _0x7afdbe(_0x53e343,_0x4517ef- -0x729);}_0x3cf20e=Cesium__namespace[_0x46c416(0x11e1,0xc9e)][_0x46c416(0x1660,_0x2e38b4._0x584b4c)](_0x3e814f,_0x105e90,new Cesium__namespace['Cartesian3']()),_0x3cf20e=Cesium__namespace['Cartesian3'][_0x46c416(0x116b,_0x2e38b4._0x5c4a22)](_0x3cf20e,_0x3cf20e),_0x3cf20e=Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x3cf20e,_0x14f6dc,_0x3cf20e),_0x2bc58e['position']=Cesium__namespace['Cartesian3'][_0x46c416(0x58a,_0x2e38b4._0x115246)](_0x2bc58e[_0x46c416(_0x2e38b4._0x48bfdd,0x17db)],_0x3cf20e,_0x2bc58e['position']);}['_onClockTick'](_0x1da932){const _0x33202a={_0x53717f:0xa20,_0x4c9fb0:0x6f5,_0x259af5:0x1037,_0x189356:0xb18,_0x56c22c:0x410,_0xf09ae4:0xe79,_0x133f8e:0xe83},_0x277426={_0x12f941:0x3b1},_0x1ff4cf={_0x2106bc:0x85};if(!this[_0x1cff38(_0x33202a._0x53717f,_0x33202a._0x4c9fb0)])return;function _0x563887(_0x128e52,_0xfa6afb){return _0x7afdbe(_0x128e52,_0xfa6afb-_0x1ff4cf._0x2106bc);}const _0x226c0e=this['_map']['camera'];function _0x1cff38(_0x312f69,_0x4d4213){return _0x7afdbe(_0x4d4213,_0x312f69- -_0x277426._0x12f941);}const _0x505a4=this['moveStep'];this[_0x1cff38(0xb18,_0x33202a._0x259af5)]['moveForward']&&this['moveForward'](_0x505a4),this[_0x1cff38(_0x33202a._0x189356,0x21b)]['moveBackward']&&this['moveForward'](-_0x505a4),this['flags']['moveUp']&&_0x226c0e['moveUp'](_0x505a4),this[_0x563887(0x8bc,0xf4e)]['moveDown']&&(_0x226c0e['positionCartographic']['height']-_0x505a4>=this['minHeight']&&_0x226c0e[_0x563887(_0x33202a._0x56c22c,_0x33202a._0xf09ae4)](_0x505a4)),this['flags']['moveLeft']&&_0x226c0e[_0x563887(0x1231,0xff8)](_0x505a4),this['flags']['moveRight']&&_0x226c0e[_0x563887(_0x33202a._0x133f8e,0x14de)](_0x505a4);}[_0x7afdbe(0x149b,0x125e)](_0x3cb5f8){const _0x574b09={_0x31cfd2:0x1878,_0x22cf11:0x17e9,_0x2c7da5:0xd8f,_0x436ce4:0x10fa,_0x34d5b5:0x882},_0x464003={_0x123347:0x17f};function _0x274b38(_0x373eab,_0x585476){return _0x7afdbe(_0x585476,_0x373eab- -_0x464003._0x123347);}if(!_0x3cb5f8)return;this['_map'][_0x19b529(0x1187,0x6c6)]['camera'][_0x19b529(0x17e9,_0x574b09._0x31cfd2)]=_0x3cb5f8[_0x19b529(_0x574b09._0x22cf11,_0x574b09._0x2c7da5)],this[_0x19b529(0x8db,_0x574b09._0x436ce4)]['scene']['camera']['direction']=_0x3cb5f8[_0x274b38(0xcd5,0x1321)],this[_0x274b38(_0x574b09._0x34d5b5,0x2f0)][_0x274b38(0x112e,0xbaf)]['camera']['right']=_0x3cb5f8['right'];function _0x19b529(_0x3b7589,_0x5c2a37){return _0x54a7f1(_0x3b7589-0x108,_0x5c2a37);}this[_0x19b529(0x8db,0x7c)]['scene'][_0x19b529(0x663,0x258)]['up']=_0x3cb5f8['up'];}[_0x54a7f1(0xac3,0x1f7)](_0x4e4261,_0x314329,_0x3ddb18){const _0x323d00={_0x36873a:0xf7,_0x494071:0x14f4,_0x266833:0xa39,_0x5b2e42:0x1022,_0x152705:0x141c,_0xabcf18:0x1496,_0x51c03b:0xd5d,_0x379c15:0x1895,_0x84c0d8:0x1c2f,_0x12a8fa:0x8a7,_0x3d72a5:0xa39},_0x766dfe=_0x4e4261['position'],_0x30f733=this['_map'][_0x20ead6(0x7d7,0xd77)]();if(!_0x30f733)return;const _0x2e6633=_0x30f733[_0x591b48(-_0x323d00._0x36873a,0x83f)]();if(!_0x2e6633)return;const _0x5cbcde=Cesium__namespace['Cartesian3']['distance'](_0x2e6633,_0x766dfe);let _0x365edf=_0x5cbcde/0x64;_0x365edf=_0x3ddb18?_0x365edf*this['rotateStep']:_0x365edf;const _0x3d33ae={};let _0x5abf5=new Cesium__namespace['Ray'](_0x766dfe,_0x314329);_0x3d33ae[_0x20ead6(0x1ee1,_0x323d00._0x494071)]=Cesium__namespace['Ray'][_0x591b48(0x1cfd,0x1496)](_0x5abf5,_0x365edf),_0x3d33ae['direction']=_0x4e4261[_0x20ead6(0xbad,_0x323d00._0x266833)],_0x3d33ae['right']=_0x4e4261[_0x20ead6(-0x39b,0x45c)],_0x3d33ae['up']=_0x4e4261['up'];function _0x20ead6(_0x35c589,_0x34be41){return _0x54a7f1(_0x34be41- -0x1ed,_0x35c589);}if(_0x3ddb18){const _0x2f17f5=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace[_0x20ead6(0x19a0,0x10fa)]['subtract'](_0x3d33ae['position'],_0x2e6633,new Cesium__namespace['Cartesian3']()),new Cesium__namespace[(_0x591b48(0x689,_0x323d00._0x5b2e42))]());_0x5abf5=new Cesium__namespace['Ray'](_0x2e6633,_0x2f17f5),_0x3d33ae[_0x591b48(0xdb1,_0x323d00._0x152705)]=Cesium__namespace[_0x591b48(0xeda,0x759)][_0x591b48(0xd5c,_0x323d00._0xabcf18)](_0x5abf5,_0x5cbcde),_0x3d33ae[_0x20ead6(0xb27,0xa39)]=Cesium__namespace['Cartesian3'][_0x20ead6(0xe35,0x8e7)](_0x2f17f5,new Cesium__namespace[(_0x20ead6(0x881,0x10fa))]()),_0x3d33ae['up']=Cesium__namespace[_0x591b48(_0x323d00._0x51c03b,0x1022)][_0x591b48(_0x323d00._0x379c15,0xfac)](_0x3d33ae[_0x591b48(_0x323d00._0x84c0d8,0x141c)],new Cesium__namespace['Cartesian3']()),_0x3d33ae['right']=Cesium__namespace[_0x591b48(0x181a,0x1022)]['cross'](_0x3d33ae[_0x20ead6(_0x323d00._0x12a8fa,_0x323d00._0x3d72a5)],_0x3d33ae['up'],new Cesium__namespace[(_0x20ead6(0x12f6,0x10fa))]());}function _0x591b48(_0x22cf41,_0x374a13){return _0x54a7f1(_0x374a13- -0x2c5,_0x22cf41);}return _0x3d33ae;}['moveCamera'](_0x4bc5fd){const _0x1aa585={_0x1db7a5:0x7fd,_0x4f76e6:0x1eb5,_0x47b037:0xc20,_0x1ba606:0x196,_0x32dc0a:0xfbb},_0x32b06e=this['_map']['scene'][_0x16e898(0x467,0x57e)];function _0x16e898(_0x4090f8,_0x328275){return _0x7afdbe(_0x328275,_0x4090f8- -0x322);}let _0x16712c;function _0x571386(_0x39b522,_0x5e966d){return _0x7afdbe(_0x39b522,_0x5e966d- -0x2a5);}switch(_0x4bc5fd){case MoveType['NARROW']:_0x16712c=this['_computedNewPos'](_0x32b06e,Cesium__namespace['Cartesian3']['negate'](_0x32b06e['direction'],new Cesium__namespace['Cartesian3']()));break;case MoveType['LEFT_ROTATE']:_0x16712c=this[_0x16e898(0x9cf,0x1288)](_0x32b06e,Cesium__namespace['Cartesian3']['negate'](_0x32b06e[_0x16e898(0x555,_0x1aa585._0x1db7a5)],new Cesium__namespace['Cartesian3']()),!![]);break;case MoveType[_0x571386(_0x1aa585._0x4f76e6,0x15e0)]:_0x16712c=this['_computedNewPos'](_0x32b06e,_0x32b06e[_0x16e898(0x555,0x26)],!![]);break;case MoveType['TOP_ROTATE']:if(_0x32b06e['pitch']<this['_minPitch'])return;_0x16712c=this[_0x16e898(0x9cf,_0x1aa585._0x47b037)](_0x32b06e,Cesium__namespace[_0x571386(0x2b7,0x778)](_0x32b06e['up']),!![]);break;case MoveType['BOTTOM_ROTATE']:if(_0x32b06e['pitch']>this[_0x571386(-_0x1aa585._0x1ba606,0x581)])return;_0x16712c=this['_computedNewPos'](_0x32b06e,Cesium__namespace['Cartesian3']['negate'](_0x32b06e['up'],new Cesium__namespace['Cartesian3']()),!![]);break;case MoveType[_0x571386(0x1d60,0x15fb)]:default:_0x16712c=this['_computedNewPos'](_0x32b06e,_0x32b06e[_0x16e898(0xb32,_0x1aa585._0x32dc0a)]);break;}if(!_0x16712c)return;this['_resetCamera'](_0x16712c);}[_0x54a7f1(0xdc3,0xa67)](_0x496492){const _0x36b551={_0xa12d64:0x95f,_0x2d9319:0x33b,_0x313004:0xd27,_0x2b4774:0x3d8,_0x4fa7cb:0x181e,_0x44b55e:0xc4b,_0x976622:0xcda,_0x10271d:0xe90,_0x4ffacd:0x1473,_0x13fe92:0x1a93,_0x35976c:0x1152},_0xdaee80={_0x35905e:0x44e},_0x5d6b95=this[_0x3515fe(0x740,_0x36b551._0xa12d64)][_0x26e2ca(_0x36b551._0x2d9319,0x7c0)];let _0x25a2cd=[0x0,0x0];const _0x393e86=this['_map'][_0x3515fe(0x1c9d,0x120b)]['canvas'][_0x3515fe(0xdd,0x585)],_0x2a91cd=this[_0x3515fe(0xfe2,0x95f)][_0x26e2ca(0xe5f,0xbef)]['canvas'][_0x3515fe(_0x36b551._0x313004,0xc93)],_0x45de14=(_0x393e86+_0x2a91cd)/this[_0x3515fe(0x155c,0xe25)];function _0x3515fe(_0x2bdcfb,_0x3339fd){return _0x54a7f1(_0x3339fd-0x18c,_0x2bdcfb);}switch(_0x496492){case MoveType['LEFT_ROTATE']:_0x25a2cd=[-_0x45de14*_0x393e86/_0x2a91cd,0x0];break;case MoveType['RIGHT_ROTATE']:_0x25a2cd=[_0x45de14*_0x393e86/_0x2a91cd,0x0];break;case MoveType['TOP_ROTATE']:if(_0x5d6b95[_0x26e2ca(0x1472,0x19cc)]>this[_0x26e2ca(_0x36b551._0x2b4774,-0x53)])return;_0x25a2cd=[0x0,_0x45de14];break;case MoveType['BOTTOM_ROTATE']:if(_0x5d6b95[_0x3515fe(0x14e6,_0x36b551._0x4fa7cb)]<this[_0x3515fe(_0x36b551._0x44b55e,_0x36b551._0x976622)])return;_0x25a2cd=[0x0,-_0x45de14];break;default:return;}const _0x1b62b0=_0x25a2cd[0x0]/_0x393e86,_0xc77a96=_0x25a2cd[0x1]/_0x2a91cd,_0x266671=0.05;_0x5d6b95['lookRight'](_0x1b62b0*_0x266671),_0x5d6b95[_0x3515fe(0xc29,0x103e)](_0xc77a96*_0x266671);const _0x1eb9b0=_0x5d6b95[_0x26e2ca(0xa06,_0x36b551._0x10271d)];let _0x477775=Cesium__namespace[_0x3515fe(0x1618,_0x36b551._0x4ffacd)]['normalize'](_0x5d6b95[_0x26e2ca(0x14c1,_0x36b551._0x13fe92)],new Cesium__namespace['Cartesian3']());const _0x563665=Cesium__namespace['Cartesian3']['cross'](_0x1eb9b0,_0x477775,new Cesium__namespace['Cartesian3']());function _0x26e2ca(_0x3a00f9,_0x358ebc){return _0x7afdbe(_0x358ebc,_0x3a00f9- -_0xdaee80._0x35905e);}_0x477775=Cesium__namespace['Cartesian3']['cross'](_0x563665,_0x1eb9b0,new Cesium__namespace[(_0x26e2ca(0x10c7,_0x36b551._0x35976c))]()),_0x5d6b95['up']=_0x477775,_0x5d6b95['right']=_0x563665;}}register$2('keyboardRoam',KeyboardRoam),KeyboardRoam['MoveType']=MoveType;function getDefaultContextMenu(_0x4fdc79){const _0x50f2b8={_0x23c1b7:0xca3,_0x262a2d:0x48b,_0x1a40a4:0xdad,_0x46ab3a:0xff9,_0x3c8d18:0x2ac,_0x555a19:0xd9b,_0x1d1665:0x1449,_0x523d75:0x7bd,_0xa05d6f:0x135a,_0x43f6cf:0x3d7,_0x5bb2c0:0xb1f},_0xed42a8={_0x4ebcaf:0x5d},_0x41dece={_0x4b6669:0x358},_0x58706c={_0x1f16f9:0x1972,_0x1a8111:0x16c6},_0x198794={_0x53362b:0xf6},_0x5821d2={_0x42ef25:0x847,_0x760324:0xa9e,_0x709bbf:0x10e5},_0x5ceccf={_0x104788:0x126d,_0x143269:0x125e,_0x5e874e:0x17d2},_0x49d29d={_0x3e604a:0x39b},_0x3f3cfe={_0x1632f9:0xe5c},_0xdb9dcc={_0x4ce801:0x1180,_0x4326d9:0x1b26},_0x32823b={_0x56fc48:0x216},_0x197b1e={_0x1ab145:0x268},_0x444f0c={_0x139829:0xbbf},_0x1d8e40={_0x1e8a8c:0x957,_0x445203:0x254,_0x132c30:0x7e6,_0x123087:0x966,_0x3b6ab6:0x7fa,_0x180b19:0x107},_0x3e2f02={_0x4bf73c:0x3fd},_0x395918={_0x48ea59:0x1065,_0x59eb39:0xc69},_0x461914={_0x15ca2c:0x1263},_0x20f3f7={_0x381889:0x315},_0x1b0254={_0x8eedcc:0x549},_0x2327ea={_0x377ab9:0x15da},_0x223861={_0x274422:0x313},_0x3e7cc0={_0x344e84:0xe6},_0x5d39a5={_0x93c65c:0xa65,_0x5d5bbe:0x194d,_0x2f1266:0x1405},_0x1a2ccb={_0x2d62c8:0x197a},_0xb31f34={_0x93a0b8:0xdc},_0x3213ff={_0x456858:0x175d},_0x3e80d4={_0x2bb6a4:0x925},_0x6e2267={_0x3f0d9b:0x117e,_0x175c49:0xee3},_0x4b0d9e={_0x9d7118:0x2a0},_0x58e400={_0x29bf49:0xc8c},_0x8863d={_0x2e4e34:0xc1d,_0x2e0a5c:0x11e8},_0x4ce900={_0x4a8ffb:0x88f,_0x3b659a:0xd75},_0x51384a={_0xd2d917:0x265},_0x274c1b={_0x3c789b:0x1451},_0x439a0e={_0x48caeb:0x173f},_0x2e6d40={_0x14a253:0xe7a,_0x52341b:0x118f,_0x2d4ba8:0x7cc},_0x266ffc={_0x230014:0x61},_0x4eaf68={_0x16b332:0x12fe},_0x2e8598={_0x2cd031:0x287},_0x514330={_0x5e4cfc:0x5b},_0x57ac65={_0x225686:0x721,_0x5ba496:0x227},_0x961834={_0x5dda62:0xe3f},_0x1b6af5={_0x30b8d4:0x345,_0x19e05a:0x56a,_0x2b52ce:0xca4,_0x502d6c:0x257},_0xa0c818={_0x187a5f:0x1a9},_0x48147a={_0x5cae53:0x8ab},_0x51c835={_0x446147:0x227,_0x3ee8ec:0x373},_0x526015={_0x13357a:0x19c1,_0x182f95:0x19e6},_0x56e15d={_0x4b6845:0x1790},_0x544d96={_0x24e203:0x329},_0x173e00={_0x30a12b:0x666,_0x1260fc:0x4c},_0x1dca45={_0x5323fb:0xea9},_0x511f73={_0x5433ac:0xda6},_0x3d7439={_0x5e6955:0x220},_0x570b5c={_0x2683b1:0x17c5},_0x2d2ee0={_0x2b5088:0x44},_0x2b2cd5={_0x435521:0x1b5},_0x5dae01={_0x31cc19:0x1227},_0x277757={_0x44c363:0x595},_0x5adb4a={_0x2e7336:0x2f0},_0x237436={_0x3bd6c1:0x2ef,_0x48072f:0xb22},_0x568e3b={_0x1cd4c5:0x73d},_0x3bb395={_0x463e7c:0xb7e},_0x5688a5={_0x1df2da:0x1488},_0x3e1607={_0x4fc6d6:0x8ee},_0x24e5bf={_0x158cfa:0xff4},_0x240934={_0x4dcd0b:0x1631,_0x47d667:0x1079},_0x481d73={_0x63f1e2:0x13b3},_0xb7ff1b={_0x2fd5e4:0xcea},_0x5b08fc={_0x2e291:0x102d},_0x3d83a5={_0x162789:0x6d8},_0x4c7874={_0x3dd803:0x3db,_0x4b3ca2:0x862},_0x2af6fc={_0x480c43:0x24f,_0x426b88:0x5d6,_0x3fc289:0xe64},_0x1bbe08={_0x1f3945:0xdd},_0x5c8a86={_0x2fde76:0x1438},_0x379d68={_0x853ee1:0xbde},_0x58cc69={_0x441e0f:0x15d6},_0x171706={_0xaa7990:0x1890},_0x819e99={_0x47ffc0:0x3fd},_0x1fa5b1={_0x16997a:0x12db},_0x4f10c3={_0x4ad002:0x12b},_0x324614={_0x268708:0xba},_0xb810ae={_0x4e4646:0x15a},_0x17e185={_0x1e2080:0xe3a},_0xeed118={_0x12d897:0x180},_0x4ac97f={_0x265d34:0xf7a},_0x3e1f60={_0x6580ba:0x45},_0x438322={_0x361734:0x99a},_0x35a6d8={_0x4b13e9:0xd3},_0x413dfe={_0x1a8c98:0xb0},_0x24f2da={_0x10dd19:0x7f6,_0x10f6e9:0xdfa},_0x220695={_0x5b47a2:0x5d2,_0x204e08:0x846,_0x4548e:0xc30},_0x48e1f3={_0x4e6441:0x38f},_0x1aeede={_0x3f76f6:0xef1},_0x8780dc={_0x4f29da:0xa2e},_0x4f4711={_0x3c5264:0x188},_0x26008c={_0x188917:0x12d6,_0xb5233e:0x11c1,_0x1c0b2b:0x3a7,_0x54030f:0x3e7,_0x442b52:0x25b,_0x4f6ef9:0xb90,_0x4c5174:0x1b6},_0x412dda={_0x4c1009:0x297},_0xe1333e={_0x85f7b9:0x3ac},_0xab60e6={_0x318fb:0x991},_0x129359={_0x3878ee:0xb9},_0x110caf={_0x4473a9:0xce8,_0x4d6fa3:0xab1},_0x439c4e={_0x5af25a:0xab},_0x57fe23={_0x3cff18:0x11d5,_0x3496d1:0x1560},_0x543b56={_0x1c3ae3:0x113d},_0x3947ff={_0x131c74:0x3e1,_0x5ba571:0xb3},_0x525eea={_0x3257d9:0x1d},_0x114b3b={_0x1b8e3c:0xd10},_0x4e5697={_0x9960d8:0x44d},_0x37eb2b={_0x2a3a0b:0x995,_0x29bc37:0xa5,_0x20d79a:0x132},_0xe083fc={_0x330200:0xd03},_0x29d4d0={_0x4e6fc6:0x63},_0x228f66={_0x39e0b2:0x29c},_0x1c502={_0x33993c:0x166b},_0x475a90={_0x498f0f:0x52},_0x996807={_0x5d43ce:0xbdc,_0x205f09:0xaeb},_0x373293={_0x4c83c7:0x280,_0x56e4f6:0x950,_0x38e4f7:0xa02},_0x54f10b={_0x227668:0x18c},_0x3d914e={_0x50b473:0xbba,_0x5d71cf:0x158},_0x50ee38={_0x53e6d0:0x371},_0x323999={_0x516bf6:0x1ef},_0x3dfaaf={_0x44e7b8:0x448},_0x149163={_0x1961e0:0x17a4,_0x3d7d69:0xd5a},_0x5e03e3={_0x1dafdb:0x373},_0x26895b={_0x5b5c20:0xc52},_0x4714b1={_0x324e5b:0x7b9,_0x28b9e3:0xf03},_0x5de3f0={_0x201f49:0x22e},_0x5232e1={_0x471c73:0xdf5},_0x1cd25f={_0x49f746:0x2ce},_0x2363d0={_0x488a86:0x6bd,_0x12ecd3:0xa32},_0x511620={_0x5d0f4e:0x250},_0xe969d0={_0x2cf679:0xaa0,_0x6a33b5:0xa54,_0x17aaa1:0x759,_0x3dd684:0x91f},_0x9d3a1d={_0x54e60f:0xfcb},_0x4722e1={_0x10c559:0xc4},_0x1e7679={_0x5e5613:0x2f5},_0x489d13={_0x200bbb:0x114a,_0x586a98:0x10f3},_0x18c2df={_0x22b215:0x1c53},_0x466b87={_0x3b6d77:0x1779},_0x5e170c={_0x9e0680:0x10d6},_0x4fd34a={_0x2904ff:0xf26},_0x3c9431={_0x364e22:0x54d,_0x42c9d7:0x3fd},_0x12aa73={_0x585bf1:0x1a5},_0x6c74f={_0x2e8395:0xf35,_0x4b2058:0xc7d},_0x32272f={_0x2d43a3:0x11bf,_0x571139:0x1346,_0x1ed567:0x121c},_0xb32345={_0x59b8d8:0xe43},_0xcca615={_0x462ee2:0x59a},_0x161dc5={_0x244480:0x405,_0x1d0d87:0xc2a,_0xc3723:0x11e7,_0xc77ee5:0x596,_0x310f81:0xb1b,_0x43d3fd:0x19ae,_0x3fd959:0xf4f,_0x2d641d:0x150d},_0x8d7b97={_0x3d171c:0x24d},_0x23b0f3={_0x37fb6f:0x1bc};function _0x520bf0(_0x5c9bb2,_0x365dd2){return _0x7afdbe(_0x365dd2,_0x5c9bb2- -0x296);}function _0x189f76(_0x5a8ab0,_0x3874eb){return _0x54a7f1(_0x5a8ab0- -_0x23b0f3._0x37fb6f,_0x3874eb);}const _0x3ad0b7=_0x4fdc79['contextmenu'];return[{'text':function(){function _0x535184(_0x505202,_0x36b30a){return _0x536c(_0x505202-0x314,_0x36b30a);}return _0x4fdc79[_0x535184(0x120f,0x8bf)]('_查看此处坐标');},'icon':Icon[_0x189f76(_0x50f2b8._0x23c1b7,0x89e)],'show':function(_0x17d9aa){function _0xac44ca(_0x46e081,_0x54dc9f){return _0x189f76(_0x46e081-_0x8d7b97._0x3d171c,_0x54dc9f);}return Cesium__namespace['defined'](_0x17d9aa[_0xac44ca(0x569,0xde6)]);},'callback':function(_0x244607){const _0x10a60c=LngLatPoint['fromCartesian'](_0x244607[_0x4fcac3(0xb63,_0x161dc5._0x244480)]);function _0x41f3c4(_0x3298e6,_0x302ee4){return _0x189f76(_0x302ee4- -0x2d2,_0x3298e6);}const _0x429c4e=proj4Trans([_0x10a60c['lng'],_0x10a60c[_0x4fcac3(_0x161dc5._0x1d0d87,_0x161dc5._0xc3723)]],_0x41f3c4(_0x161dc5._0xc77ee5,0xb69),CRS[_0x4fcac3(0xd5f,0xabf)]),_0x5a5ff7=_0x4fcac3(_0x161dc5._0x310f81,0xbf4)+_0x4fdc79['getLangText'](_0x41f3c4(0xc31,0x7fd))+':'+_0x10a60c[_0x4fcac3(0xf3a,0x1264)]+',\x20'+_0x4fdc79['getLangText']('_纬度')+':'+_0x10a60c[_0x41f3c4(0x1170,0xe2c)]+',\x20'+_0x4fdc79['getLangText']('_海拔')+':'+_0x10a60c[_0x41f3c4(-0x464,-0x39)]+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x4fdc79[_0x4fcac3(_0x161dc5._0x43d3fd,_0x161dc5._0x3fd959)](_0x4fcac3(-0xce,0x80c))+':'+_0x429c4e[0x0]['toFixed'](0x1)+',\x20'+_0x4fdc79[_0x4fcac3(_0x161dc5._0x2d641d,_0x161dc5._0x3fd959)](_0x4fcac3(0x475,0x17a))+':'+_0x429c4e[0x1]['toFixed'](0x1)+'\x20(CGCS2000)\x0a\x20\x20\x20\x20\x20\x20\x20\x20';alert(_0x5a5ff7,_0x4fdc79['getLangText'](_0x41f3c4(0x2b,-0x170)));const _0x43d54e=formatNum$1(_0x244607['cartesian']['x'],0x1),_0x525e43=formatNum$1(_0x244607[_0x4fcac3(0xde1,0x405)]['y'],0x1),_0x34146a=formatNum$1(_0x244607['cartesian']['z'],0x1);function _0x4fcac3(_0x1f9787,_0x40790b){return _0x189f76(_0x40790b-0xe9,_0x1f9787);}logInfo('经纬度:'+_0x10a60c['toString']()+'\x20,\x20笛卡尔:'+_0x43d54e+','+_0x525e43+','+_0x34146a);}},{'text':function(){function _0x15dd60(_0x52a445,_0x284511){return _0x189f76(_0x52a445- -0x241,_0x284511);}function _0xf8cfaf(_0x315e5d,_0x16bd17){return _0x189f76(_0x315e5d- -0x247,_0x16bd17);}return _0x4fdc79[_0x15dd60(0xc25,0x93f)](_0xf8cfaf(0x88b,_0xcca615._0x462ee2));},'icon':Icon[_0x189f76(0x10cc,0xcf5)],'callback':function(_0x343ae7){function _0x26f73b(_0x3433f6,_0x1ebc7f){return _0x520bf0(_0x1ebc7f- -0x69,_0x3433f6);}const _0x4afe10=JSON['stringify'](_0x4fdc79['getCameraView']());function _0x45bafe(_0x3f2253,_0xd6cb82){return _0x520bf0(_0xd6cb82- -0x137,_0x3f2253);}logInfo(_0x4afe10),alert(_0x4afe10,_0x4fdc79[_0x26f73b(0x1815,0xf51)](_0x45bafe(_0xb32345._0x59b8d8,0xf9a)));}},{'text':function(){function _0x4c93fd(_0x4ec7c9,_0x2304aa){return _0x189f76(_0x4ec7c9-0x359,_0x2304aa);}function _0x3e4003(_0x19ee16,_0x2eb9a0){return _0x189f76(_0x19ee16-0x296,_0x2eb9a0);}return _0x4fdc79[_0x4c93fd(_0x32272f._0x2d43a3,0x1c72)](_0x4c93fd(_0x32272f._0x571139,_0x32272f._0x1ed567));},'icon':Icon['Camera'],'children':[{'text':function(){const _0x49ef75={_0x4c7a4b:0x85};function _0x166351(_0x27f0ac,_0x269c43){return _0x520bf0(_0x27f0ac- -_0x49ef75._0x4c7a4b,_0x269c43);}return _0x4fdc79[_0x166351(_0x6c74f._0x2e8395,_0x6c74f._0x4b2058)]('_允许进入地下');},'icon':Icon[_0x520bf0(_0x50f2b8._0x262a2d,_0x50f2b8._0x1a40a4)],'show':function(_0x43b600){function _0x1d6a48(_0x3200e7,_0x448104){return _0x189f76(_0x3200e7- -_0x12aa73._0x585bf1,_0x448104);}function _0x430196(_0x57ffea,_0x56bbc6){return _0x520bf0(_0x56bbc6-0x1b5,_0x57ffea);}return _0x4fdc79['scene'][_0x1d6a48(0xf1d,0x12e6)][_0x430196(_0x3c9431._0x364e22,_0x3c9431._0x42c9d7)];},'callback':function(_0x43a141){function _0x35bf99(_0x5a1609,_0x5a7388){return _0x520bf0(_0x5a1609-0x2c5,_0x5a7388);}function _0x497abb(_0x5d0d6c,_0xf74692){return _0x520bf0(_0x5d0d6c- -0x1ce,_0xf74692);}_0x4fdc79[_0x35bf99(0x12dc,0xb98)][_0x497abb(0x1048,_0x4fd34a._0x2904ff)]['enableCollisionDetection']=![];}},{'text':function(){return _0x4fdc79['getLangText']('_禁止进入地下');},'icon':Icon[_0x189f76(0xe8f,_0x50f2b8._0x46ab3a)],'show':function(_0x266997){function _0x486a4b(_0x33c9c1,_0x1294f2){return _0x189f76(_0x1294f2-0xcc,_0x33c9c1);}function _0x28212e(_0x32d33f,_0x3bca6c){return _0x520bf0(_0x3bca6c- -0x356,_0x32d33f);}return!_0x4fdc79['scene'][_0x28212e(_0x5e170c._0x9e0680,0xec0)][_0x28212e(-0xa4c,-0x10e)];},'callback':function(_0x50f523){function _0x171249(_0x211f66,_0x12ee0a){return _0x189f76(_0x211f66-0xc,_0x12ee0a);}_0x4fdc79[_0x171249(0xecf,0xa2d)]['screenSpaceCameraController']['enableCollisionDetection']=!![];}},{'text':function(){const _0x5432a7={_0x1a1f53:0x43c};function _0x3e78d7(_0x574ede,_0x23dfe4){return _0x520bf0(_0x574ede- -_0x5432a7._0x1a1f53,_0x23dfe4);}return _0x4fdc79['getLangText'](_0x3e78d7(0xf6f,_0x466b87._0x3b6d77));},'icon':Icon['RotatePointStart'],'show':function(_0x16dd32){function _0xac6596(_0x2bb3bd,_0x31c65c){return _0x520bf0(_0x2bb3bd-0xe8,_0x31c65c);}var _0x253042;return _0x16dd32['cartesian']&&(!_0x3ad0b7['rotatePoint']||!((_0x253042=_0x3ad0b7[_0xac6596(0x164a,_0x18c2df._0x22b215)])!==null&&_0x253042!==void 0x0&&_0x253042['isStart']));},'callback':function(_0x2ed4ee){!_0x3ad0b7[_0x5b2abb(0xf5f,0x10e1)]&&(_0x3ad0b7['rotatePoint']=new RotatePoint(),_0x4fdc79['addThing'](_0x3ad0b7['rotatePoint']));function _0x5b2abb(_0x31d2e8,_0x4538ed){return _0x520bf0(_0x4538ed- -0x481,_0x31d2e8);}_0x3ad0b7['rotatePoint']['start'](_0x2ed4ee['cartesian']);}},{'text':function(){function _0x4ae1b4(_0x185e2b,_0x50ae42){return _0x520bf0(_0x50ae42- -0x340,_0x185e2b);}return _0x4fdc79['getLangText'](_0x4ae1b4(_0x489d13._0x200bbb,_0x489d13._0x586a98));},'icon':Icon['RotatePointStop'],'show':function(_0x1c4480){var _0x3f24e5;return(_0x3f24e5=_0x3ad0b7['rotatePoint'])===null||_0x3f24e5===void 0x0?void 0x0:_0x3f24e5['isStart'];},'callback':function(_0x176afc){function _0x544dfb(_0x55ba99,_0x1e6ad8){return _0x189f76(_0x55ba99- -0x26,_0x1e6ad8);}function _0x5d8a42(_0x2dac7b,_0x620bed){return _0x189f76(_0x620bed- -0x154,_0x2dac7b);}_0x3ad0b7[_0x5d8a42(0x83f,0x12ba)]&&_0x3ad0b7['rotatePoint'][_0x5d8a42(_0x1e7679._0x5e5613,0x46a)]();}},{'text':function(){function _0x393e15(_0x1d253f,_0x5d597e){return _0x520bf0(_0x5d597e-_0x4722e1._0x10c559,_0x1d253f);}return _0x4fdc79['getLangText'](_0x393e15(0x1337,_0x9d3a1d._0x54e60f));},'icon':Icon['FlyToPoint'],'show':function(_0xab2d3e){function _0x23a8cb(_0x16a863,_0x59ca65){return _0x189f76(_0x16a863-0x1b5,_0x59ca65);}return Cesium__namespace[_0x23a8cb(0x167a,0x1d0f)](_0xab2d3e['cartesian']);},'callback':function(_0x3c8c1a){const _0x121d5b=Cesium__namespace[_0x138bf9(_0xe969d0._0x2cf679,0xe46)][_0xdbc465(0x14ba,0x1d41)](_0x3c8c1a['cartesian'],_0x4fdc79['camera']['positionWC'])*0.1;function _0xdbc465(_0x46e3bf,_0x270323){return _0x189f76(_0x46e3bf-0x3e5,_0x270323);}function _0x138bf9(_0x26f35f,_0x289c02){return _0x520bf0(_0x289c02- -0x439,_0x26f35f);}_0x4fdc79['flyToPoint'](_0x3c8c1a['cartesian'],{'radius':_0x121d5b,'maximumHeight':_0x4fdc79[_0xdbc465(0x784,0xa67)][_0x138bf9(_0xe969d0._0x6a33b5,_0xe969d0._0x17aaa1)][_0xdbc465(0x890,_0xe969d0._0x3dd684)]});}},{'text':function(){return _0x4fdc79['getLangText']('_第一视角站到此处');},'icon':Icon['FirstPerspective'],'show':function(_0x26b81d){return Cesium__namespace['defined'](_0x26b81d['cartesian']);},'callback':function(_0x420e82){function _0x19b8df(_0x36e14e,_0x256588){return _0x189f76(_0x256588- -_0x511620._0x5d0f4e,_0x36e14e);}function _0x4f88ad(_0x10544a,_0x555810){return _0x520bf0(_0x10544a-0x20a,_0x555810);}_0x4fdc79['camera'][_0x19b8df(_0x2363d0._0x488a86,0xeee)]({'destination':addPositionsHeight(_0x420e82['cartesian'],0xa),'orientation':{'heading':_0x4fdc79['camera']['heading'],'pitch':0x0,'roll':0x0},'maximumHeight':_0x4fdc79[_0x4f88ad(0x6fd,_0x2363d0._0x12ecd3)]['positionCartographic']['height']});}},{'text':function(){function _0x7d9845(_0x322b97,_0x1af530){return _0x189f76(_0x322b97- -_0x1cd25f._0x49f746,_0x1af530);}return _0x4fdc79[_0x7d9845(0xb98,0xe05)]('_开启键盘漫游');},'icon':Icon[_0x520bf0(0x1743,0x133e)],'show':function(_0x3ef143){const _0xef57ce={_0x2ac88b:0x2ba};function _0x3c208c(_0x9aebb8,_0x4d2303){return _0x520bf0(_0x9aebb8-_0xef57ce._0x2ac88b,_0x4d2303);}return!_0x4fdc79['keyboardRoam'][_0x3c208c(_0x5232e1._0x471c73,0x3f2)];},'callback':function(_0x1d5beb){function _0x5b0752(_0x267561,_0x4ec9e1){return _0x189f76(_0x267561- -_0x5de3f0._0x201f49,_0x4ec9e1);}_0x4fdc79['keyboardRoam'][_0x5b0752(_0x4714b1._0x324e5b,_0x4714b1._0x28b9e3)]=!![];}},{'text':function(){const _0x2bdf86={_0x52d1bf:0x17b};function _0x238321(_0x4a4d2b,_0x5e2639){return _0x189f76(_0x5e2639-_0x2bdf86._0x52d1bf,_0x4a4d2b);}return _0x4fdc79['getLangText'](_0x238321(_0x26895b._0x5b5c20,0xeeb));},'icon':Icon['KeyboardRoamNo'],'show':function(_0x7d6396){function _0x426f5d(_0x471718,_0x18cd81){return _0x189f76(_0x18cd81-_0x5e03e3._0x1dafdb,_0x471718);}return _0x4fdc79['keyboardRoam'][_0x426f5d(_0x149163._0x1961e0,_0x149163._0x3d7d69)];},'callback':function(_0x25c30b){function _0x330250(_0x41d2be,_0x312e70){return _0x520bf0(_0x312e70- -0xa4,_0x41d2be);}_0x4fdc79[_0x330250(_0x3dfaaf._0x44e7b8,0xc76)]['enabled']=![];}},{'text':function(){const _0x25f166={_0x80f6e4:0x78};function _0x505236(_0x335997,_0x2d905b){return _0x189f76(_0x335997-_0x25f166._0x80f6e4,_0x2d905b);}function _0x6c8d7(_0x3f8e9b,_0x127158){return _0x189f76(_0x3f8e9b-0x288,_0x127158);}return _0x4fdc79[_0x6c8d7(0x10ee,0x1202)](_0x505236(0xd13,0x1623));},'icon':Icon['TrackedEntityYes'],'show':function(_0xf93c08){function _0x39efe3(_0x3f1b68,_0x1f488a){return _0x520bf0(_0x3f1b68- -0x9a,_0x1f488a);}const _0x1d217b=_0xf93c08[_0x39efe3(0x4c6,0x7d6)];if(!_0x1d217b)return![];function _0x2b7272(_0x45b9e6,_0x5bd4d6){return _0x189f76(_0x45b9e6-0x45,_0x5bd4d6);}if(_0x1d217b[_0x2b7272(0x1137,0xc61)]instanceof Cesium__namespace['Entity'])return!![];else{if(_0x1d217b['trackedEntity']instanceof Cesium__namespace['Entity'])return!![];}return![];},'callback':function(_0x5a7016){function _0x31283d(_0x5677c1,_0x5b85c8){return _0x520bf0(_0x5b85c8- -_0x323999._0x516bf6,_0x5677c1);}_0x4fdc79['trackedEntity']=_0x5a7016['graphic'],_0x3ad0b7['trackedGraphic']=_0x5a7016[_0x31283d(0xb0,_0x50ee38._0x53e6d0)];}},{'text':function(){const _0x60588a={_0x185f48:0x45};function _0x28b7be(_0x45655c,_0xb885cc){return _0x189f76(_0xb885cc-_0x60588a._0x185f48,_0x45655c);}return _0x4fdc79['getLangText'](_0x28b7be(_0x3d914e._0x50b473,_0x3d914e._0x5d71cf));},'icon':Icon[_0x520bf0(_0x50f2b8._0x3c8d18,-0x213)],'show':function(_0x41a5ca){function _0x3fddf6(_0x4d73f1,_0x3cca38){return _0x189f76(_0x4d73f1- -_0x54f10b._0x227668,_0x3cca38);}function _0x4edf88(_0x6aba74,_0x4d6261){return _0x189f76(_0x6aba74-0x39a,_0x4d6261);}return _0x3ad0b7['trackedGraphic']===_0x41a5ca[_0x3fddf6(_0x373293._0x4c83c7,-0x3d8)]&&_0x4fdc79[_0x4edf88(_0x373293._0x56e4f6,_0x373293._0x38e4f7)]!==undefined;},'callback':function(_0x319599){const _0x514403={_0x29ca8f:0x1af};_0x4fdc79[_0x5c123a(0x407,0x3ac)]=undefined;function _0x5c123a(_0x2b2f47,_0x3ad252){return _0x189f76(_0x2b2f47- -_0x514403._0x29ca8f,_0x3ad252);}_0x3ad0b7['trackedGraphic']=undefined;}}]},{'text':function(){function _0x1b6c9e(_0xb5e2a0,_0x25c3c5){return _0x520bf0(_0x25c3c5- -0x245,_0xb5e2a0);}function _0x227a2f(_0x3b8cde,_0x1a0fe7){return _0x189f76(_0x3b8cde- -0x339,_0x1a0fe7);}return _0x4fdc79[_0x1b6c9e(_0x996807._0x5d43ce,0xd75)](_0x1b6c9e(_0x996807._0x205f09,0x87f));},'icon':Icon['Tileset'],'show':function(_0xe9e514){function _0x4ba85d(_0x5be38f,_0x52a090){return _0x520bf0(_0x52a090-_0x475a90._0x498f0f,_0x5be38f);}const _0x5b9a76=_0x4fdc79['pick3DTileset'](_0xe9e514['cartesian']);return Cesium__namespace[_0x4ba85d(0xe27,_0x1c502._0x33993c)](_0x5b9a76);},'children':[{'text':function(){return _0x4fdc79['getLangText']('_显示三角网');},'icon':Icon['TilesetWireframeYes'],'show':function(_0x595156){function _0x30fe3b(_0x31fafb,_0x473b1d){return _0x520bf0(_0x31fafb- -_0x228f66._0x39e0b2,_0x473b1d);}const _0x1e6c11=_0x4fdc79['pick3DTileset'](_0x595156['cartesian']);return!_0x1e6c11['debugWireframe']&&_0x1e6c11[_0x30fe3b(-0x3f,-0x674)];},'callback':function(_0x1fb754){function _0x16b466(_0x2e3551,_0x29d568){return _0x520bf0(_0x29d568- -0x2cf,_0x2e3551);}function _0x4b8b5e(_0x449938,_0x3bf200){return _0x189f76(_0x449938-0x398,_0x3bf200);}const _0x402d12=_0x4fdc79[_0x16b466(-_0x29d4d0._0x4e6fc6,0x748)](_0x1fb754[_0x4b8b5e(0x6b4,0xa73)]);_0x402d12['debugWireframe']=!![];}},{'text':function(){const _0x37eafe={_0x48d66e:0x41};function _0x25dd13(_0x27a549,_0x234a8f){return _0x520bf0(_0x27a549- -0x3dd,_0x234a8f);}function _0x482754(_0x36470a,_0x59f81a){return _0x520bf0(_0x36470a- -_0x37eafe._0x48d66e,_0x59f81a);}return _0x4fdc79[_0x25dd13(0xbdd,_0xe083fc._0x330200)](_0x25dd13(0x7fc,0xeba));},'icon':Icon[_0x189f76(0xadc,_0x50f2b8._0x555a19)],'show':function(_0x2aeb36){const _0x348ff5={_0x49dce8:0x64},_0x1e836b=_0x4fdc79['pick3DTileset'](_0x2aeb36[_0x482287(0x109,_0x37eb2b._0x2a3a0b)]);function _0x482287(_0x56aa13,_0x41a4b1){return _0x520bf0(_0x56aa13- -0x367,_0x41a4b1);}function _0x44e13a(_0x43659e,_0x54a828){return _0x189f76(_0x43659e- -_0x348ff5._0x49dce8,_0x54a828);}return _0x1e836b['debugWireframe']&&_0x1e836b[_0x44e13a(_0x37eb2b._0x29bc37,_0x37eb2b._0x20d79a)];},'callback':function(_0x5cdb2d){function _0x653e19(_0x469d23,_0x53b759){return _0x189f76(_0x469d23-_0x4e5697._0x9960d8,_0x53b759);}const _0x4ffbec=_0x4fdc79[_0x653e19(_0x114b3b._0x1b8e3c,0xce5)](_0x5cdb2d['cartesian']);_0x4ffbec['debugWireframe']=![];}},{'text':function(){function _0x3855c5(_0x4a065c,_0x3c8194){return _0x520bf0(_0x3c8194-_0x525eea._0x3257d9,_0x4a065c);}return _0x4fdc79['getLangText'](_0x3855c5(0x154,0x609));},'icon':Icon[_0x189f76(0xfba,0xcf8)],'show':function(_0x242d42){const _0x2fd2ea=_0x4fdc79['pick3DTileset'](_0x242d42[_0x17f997(-_0x3947ff._0x131c74,_0x3947ff._0x5ba571)]);function _0x17f997(_0x2a4669,_0x224dba){return _0x189f76(_0x224dba- -0x269,_0x2a4669);}return!_0x2fd2ea['debugShowBoundingVolume'];},'callback':function(_0x44f960){const _0x4d2270={_0x1f6c8b:0x8d},_0x494f60=_0x4fdc79['pick3DTileset'](_0x44f960['cartesian']);function _0x3b0fa5(_0x5b7876,_0x533eda){return _0x520bf0(_0x5b7876- -_0x4d2270._0x1f6c8b,_0x533eda);}_0x494f60[_0x3b0fa5(0x783,_0x543b56._0x1c3ae3)]=!![];}},{'text':function(){function _0x47aaaf(_0x400489,_0x55d27b){return _0x520bf0(_0x55d27b-0x54,_0x400489);}return _0x4fdc79['getLangText'](_0x47aaaf(_0x57fe23._0x3cff18,_0x57fe23._0x3496d1));},'icon':Icon['TilesetBoundingVolumeNo'],'show':function(_0x117af1){const _0xd25783=_0x4fdc79[_0x2f76d1(0x708,0x96c)](_0x117af1['cartesian']);function _0x2f76d1(_0x2ae994,_0x31c5cf){return _0x520bf0(_0x31c5cf- -_0x439c4e._0x5af25a,_0x2ae994);}return _0xd25783['debugShowBoundingVolume'];},'callback':function(_0x4db7a0){const _0x54408a=_0x4fdc79[_0x417a71(0x708,_0x110caf._0x4473a9)](_0x4db7a0['cartesian']);function _0x417a71(_0x11eb27,_0x5a5d57){return _0x189f76(_0x11eb27- -0x1bb,_0x5a5d57);}function _0x369ade(_0x576a9a,_0x2dcf8b){return _0x520bf0(_0x2dcf8b-0x2a1,_0x576a9a);}_0x54408a[_0x369ade(0x123b,_0x110caf._0x4d6fa3)]=![];}}]},{'text':function(){function _0x554029(_0x5cf54e,_0x8c23bc){return _0x189f76(_0x8c23bc- -_0x129359._0x3878ee,_0x5cf54e);}function _0xb214d4(_0x5910c2,_0x5c9d7e){return _0x520bf0(_0x5910c2- -0x12a,_0x5c9d7e);}return _0x4fdc79[_0xb214d4(0xe90,0x1022)](_0xb214d4(0x12f9,_0xab60e6._0x318fb));},'icon':Icon['Terrain'],'show':function(_0x182cf8){function _0x3a57f4(_0x81ba71,_0x152843){return _0x520bf0(_0x152843-0x27b,_0x81ba71);}return Cesium__namespace['defined'](_0x182cf8[_0x3a57f4(0x5f8,0x6eb)]);},'children':[{'text':function(){return _0x4fdc79['getLangText']('_开启地形');},'icon':Icon['TerrainYes'],'show':function(_0x3074d9){function _0x26508b(_0x2df2a8,_0x5d88d7){return _0x520bf0(_0x2df2a8- -0x369,_0x5d88d7);}return!_0x4fdc79[_0x26508b(_0xe1333e._0x85f7b9,-0x98)];},'callback':function(_0x1274ab){const _0xa51740={_0x4c476e:0x1a6};function _0x3ceaf9(_0xaf5c89,_0x35957d){return _0x189f76(_0x35957d-_0xa51740._0x4c476e,_0xaf5c89);}_0x4fdc79[_0x3ceaf9(0x1012,0x767)]=!![];}},{'text':function(){function _0x24619d(_0x4dc0ac,_0x433655){return _0x520bf0(_0x4dc0ac-0xc8,_0x433655);}function _0x5532c9(_0x24b352,_0x1b21ae){return _0x520bf0(_0x24b352-0xb8,_0x1b21ae);}return _0x4fdc79[_0x24619d(0x1082,0xcc5)](_0x24619d(0x903,0x83b));},'icon':Icon['TerrainNo'],'show':function(_0x197cfa){return _0x4fdc79['hasTerrain'];},'callback':function(_0x3d67b0){_0x4fdc79['hasTerrain']=![];}},{'text':function(){function _0x5e5541(_0x5e10a3,_0x18a142){return _0x520bf0(_0x18a142- -0x421,_0x5e10a3);}function _0x3932ae(_0x4d2ba1,_0x2a891d){return _0x189f76(_0x2a891d- -0xc3,_0x4d2ba1);}return _0x4fdc79[_0x3932ae(0x1707,0xda3)](_0x5e5541(_0x412dda._0x4c1009,0xb10));},'icon':Icon['TerrainWireframeYes'],'show':function(_0x2e39ed){const _0x4b20a6={_0x4cb680:0x34};function _0x23b221(_0x245683,_0x467168){return _0x520bf0(_0x245683- -_0x4b20a6._0x4cb680,_0x467168);}function _0x4445ad(_0xbd7320,_0xc6ad2a){return _0x520bf0(_0xbd7320-0xb6,_0xc6ad2a);}return!_0x4fdc79[_0x23b221(0xfe3,0x580)]['globe']['_surface']['tileProvider']['_debug'][_0x4445ad(0x987,0x4b1)];},'callback':function(_0x4e45c3){function _0x38c11d(_0x3d2eea,_0x4596f4){return _0x520bf0(_0x3d2eea-0x2bf,_0x4596f4);}function _0x2ffc55(_0x84c584,_0x4cc64f){return _0x189f76(_0x4cc64f- -0x18d,_0x84c584);}_0x4fdc79[_0x38c11d(_0x26008c._0x188917,_0x26008c._0xb5233e)]['globe'][_0x2ffc55(0x6f4,_0x26008c._0x1c0b2b)][_0x2ffc55(0x327,_0x26008c._0x54030f)][_0x2ffc55(_0x26008c._0x442b52,0x1e2)][_0x38c11d(_0x26008c._0x4f6ef9,_0x26008c._0x4c5174)]=!![];}},{'text':function(){function _0x4d6c0d(_0x3c551e,_0x27882e){return _0x520bf0(_0x3c551e-0x289,_0x27882e);}return _0x4fdc79[_0x4d6c0d(0x1243,0x1be3)]('_关闭三角网');},'icon':Icon['TerrainWireframeNo'],'show':function(_0x20e26e){const _0x14d5da={_0x1aabc2:0x11d};function _0x1d210e(_0x51be55,_0x4352ec){return _0x189f76(_0x4352ec- -_0x4f4711._0x3c5264,_0x51be55);}function _0x10e526(_0x28ab2c,_0xd27e89){return _0x520bf0(_0xd27e89- -_0x14d5da._0x1aabc2,_0x28ab2c);}return _0x4fdc79['scene']['globe'][_0x1d210e(0x961,0x3ac)][_0x1d210e(0x76d,0x3ec)]['_debug']['wireframe'];},'callback':function(_0x12dc31){function _0x22f2bf(_0x13b30c,_0x76713f){return _0x520bf0(_0x76713f- -0x466,_0x13b30c);}function _0x22182c(_0x40098b,_0x435d41){return _0x520bf0(_0x40098b-0x1bb,_0x435d41);}_0x4fdc79['scene'][_0x22f2bf(-_0x8780dc._0x4f29da,-0x24f)][_0x22f2bf(0x7ef,0x222)]['tileProvider'][_0x22f2bf(-0x963,0x5d)]['wireframe']=![];}}]},{'text':function(){function _0x10102a(_0x371a27,_0x19e639){return _0x520bf0(_0x371a27- -0x12f,_0x19e639);}return _0x4fdc79['getLangText'](_0x10102a(0x433,_0x1aeede._0x3f76f6));},'icon':Icon['Measure'],'children':[{'text':function(){return _0x4fdc79['getLangText']('_距离');},'icon':Icon[_0x520bf0(0xff2,0x106a)],'callback':function(_0x3e0760){const _0x8aa4a5={_0x41127a:0x11b};function _0x1a9220(_0x1df1fa,_0xb9b3f1){return _0x520bf0(_0xb9b3f1- -_0x8aa4a5._0x41127a,_0x1df1fa);}!_0x3ad0b7[_0x50411e(0x980,_0x220695._0x5b47a2)]&&(_0x3ad0b7[_0x1a9220(-0x160,_0x220695._0x204e08)]=new Measure(),_0x4fdc79[_0x50411e(0x1d2,_0x220695._0x4548e)](_0x3ad0b7['measure']));function _0x50411e(_0x4a294b,_0x4e3551){return _0x520bf0(_0x4e3551- -_0x48e1f3._0x4e6441,_0x4a294b);}_0x3ad0b7[_0x1a9220(0x2e2,0x846)]['distance']();}},{'text':function(){return _0x4fdc79['getLangText']('_面积');},'icon':Icon[_0x189f76(0x1073,0x7b1)],'callback':function(_0xaf09e4){const _0x3e9f62={_0x2994b9:0x3f4};!_0x3ad0b7['measure']&&(_0x3ad0b7[_0x15be0a(_0x24f2da._0x10dd19,0xd1f)]=new Measure(),_0x4fdc79[_0x15be0a(0xe54,_0x24f2da._0x10f6e9)](_0x3ad0b7['measure']));function _0x15be0a(_0x461e16,_0x14c345){return _0x189f76(_0x461e16- -0x17,_0x14c345);}function _0x20cb6e(_0x1b917d,_0x39934a){return _0x520bf0(_0x39934a- -_0x3e9f62._0x2994b9,_0x1b917d);}_0x3ad0b7[_0x15be0a(_0x24f2da._0x10dd19,0x1271)][_0x20cb6e(-0x234,0x28c)]();}},{'text':function(){const _0x4be462={_0xcd029e:0x16b};function _0x3003c2(_0x5d3ef5,_0x5e203e){return _0x189f76(_0x5e203e- -_0x413dfe._0x1a8c98,_0x5d3ef5);}function _0x105c92(_0x2b7148,_0x177343){return _0x520bf0(_0x2b7148-_0x4be462._0xcd029e,_0x177343);}return _0x4fdc79[_0x3003c2(0x487,0xdb6)](_0x3003c2(-_0x35a6d8._0x4b13e9,0x8bb));},'icon':Icon['MeasureHeight'],'callback':function(_0x49feb1){function _0x14f87d(_0x531196,_0x13b718){return _0x189f76(_0x531196-0x31d,_0x13b718);}!_0x3ad0b7['measure']&&(_0x3ad0b7[_0x2ba0d3(_0x438322._0x361734,0x21f)]=new Measure(),_0x4fdc79['addThing'](_0x3ad0b7['measure']));function _0x2ba0d3(_0x2b97ca,_0x300266){return _0x520bf0(_0x2b97ca-0x39,_0x300266);}_0x3ad0b7[_0x2ba0d3(0x99a,0xf9e)][_0x14f87d(0xe08,0x3ca)]();}},{'text':function(){return _0x4fdc79['getLangText']('_角度');},'icon':Icon['MeasureAngle'],'callback':function(_0x46d2ae){function _0x56f19c(_0x20b3f2,_0x375139){return _0x520bf0(_0x20b3f2- -_0x3e1f60._0x6580ba,_0x375139);}function _0x5f2f5e(_0xac9eda,_0x9b12e2){return _0x189f76(_0x9b12e2-0x168,_0xac9eda);}!_0x3ad0b7[_0x5f2f5e(-0x57,0x975)]&&(_0x3ad0b7['measure']=new Measure(),_0x4fdc79[_0x56f19c(_0x4ac97f._0x265d34,0x5c0)](_0x3ad0b7['measure'])),_0x3ad0b7['measure'][_0x56f19c(0x13f5,0x17bd)]();}},{'text':function(){function _0x4d0b5a(_0x3c1dc4,_0x5139ba){return _0x520bf0(_0x5139ba- -_0xeed118._0x12d897,_0x3c1dc4);}return _0x4fdc79[_0x4d0b5a(0xacb,_0x17e185._0x1e2080)]('_删除测量');},'icon':Icon['Delete'],'show':function(_0x32879f){function _0x1e7f38(_0x3119cd,_0x188d3c){return _0x189f76(_0x3119cd-_0xb810ae._0x4e4646,_0x188d3c);}function _0x60f4b9(_0x2fc7b1,_0x12fb0f){return _0x520bf0(_0x12fb0f- -_0x324614._0x268708,_0x2fc7b1);}return _0x3ad0b7['measure']&&_0x3ad0b7[_0x1e7f38(0x967,0x556)][_0x1e7f38(0x982,0xe7)];},'callback':function(_0x496dc4){function _0x4d3913(_0x2decc9,_0x36551c){return _0x189f76(_0x2decc9-0x3fe,_0x36551c);}_0x3ad0b7['measure']&&_0x3ad0b7['measure'][_0x4d3913(0x1565,0x1fed)]();}}]},{'text':function(){function _0x47aca8(_0x5b9a94,_0x47b71b){return _0x189f76(_0x47b71b-0x454,_0x5b9a94);}return _0x4fdc79['getLangText'](_0x47aca8(0x11bb,0x11eb));},'icon':Icon['Draw'],'children':[{'text':function(){return _0x4fdc79['getLangText']('_标记点');},'icon':Icon['DrawPoint'],'callback':function(_0x335710){const _0x45578f={_0x4c92d3:0x1f57,_0x2b8b18:0x14d6,_0xf4ba94:0xf2c},_0x5df924={_0x298e01:0x21f},_0x826011={_0x1ed6d2:0x112};function _0x308b26(_0x173099,_0x1b544f){return _0x520bf0(_0x173099-_0x826011._0x1ed6d2,_0x1b544f);}const _0x2e8602={};function _0x2cadea(_0x350dad,_0x549104){return _0x520bf0(_0x549104- -_0x4f10c3._0x4ad002,_0x350dad);}_0x2e8602[_0x2cadea(0x7eb,0xc3f)]=0xc,_0x2e8602['color']='#3388ff',_0x4fdc79['graphicLayer'][_0x2cadea(0x818,0x119b)]({'type':'point','style':_0x2e8602,'success':function(_0x5ef29e){function _0x5e6a8a(_0x54db27,_0x48dfc4){return _0x2cadea(_0x54db27,_0x48dfc4-_0x5df924._0x298e01);}function _0x13ee3d(_0x29d77b,_0x117b5b){return _0x308b26(_0x117b5b- -0x159,_0x29d77b);}console[_0x5e6a8a(_0x45578f._0x4c92d3,_0x45578f._0x2b8b18)](JSON['stringify'](_0x5ef29e[_0x13ee3d(_0x45578f._0xf4ba94,0xcd5)]));}});}},{'text':function(){function _0x25f9f4(_0xc2cd47,_0x4feca9){return _0x189f76(_0x4feca9- -0x2,_0xc2cd47);}function _0x52b44e(_0x4823c9,_0x56c3ec){return _0x520bf0(_0x56c3ec- -0x234,_0x4823c9);}return _0x4fdc79[_0x25f9f4(_0x1fa5b1._0x16997a,0xe64)](_0x52b44e(0xbae,0x144a));},'icon':Icon['DrawPolyline'],'callback':function(_0x2a6707){const _0x575cfd={_0x452650:0xc75,_0x391741:0xec6},_0x5d3ff6={_0x50f8f2:0x1c7},_0x1fc1c7={};_0x1fc1c7['color']=_0x30bbdc(0xe7c,_0x171706._0xaa7990);function _0x30bbdc(_0x496e53,_0x522aca){return _0x189f76(_0x522aca-_0x819e99._0x47ffc0,_0x496e53);}_0x1fc1c7['width']=0x3,_0x4fdc79['graphicLayer']['startDraw']({'type':'polyline','style':_0x1fc1c7,'success':function(_0x40438a){function _0x77b1bd(_0x239001,_0x4ec8cf){return _0x30bbdc(_0x239001,_0x4ec8cf- -_0x5d3ff6._0x50f8f2);}console['log'](JSON[_0x77b1bd(_0x575cfd._0x452650,_0x575cfd._0x391741)](_0x40438a['coordinates']));}});}},{'text':function(){function _0x5d1537(_0x32b499,_0x4865fc){return _0x189f76(_0x4865fc-0x3e6,_0x32b499);}return _0x4fdc79[_0x5d1537(_0x58cc69._0x441e0f,0x124c)]('_标记面');},'icon':Icon['DrawPolygon'],'callback':function(_0x465014){const _0x38864f={_0x57617c:0x14b1};function _0x40d44b(_0x36ee7c,_0x1b4c3f){return _0x189f76(_0x36ee7c-0x434,_0x1b4c3f);}const _0x12b2b7={};function _0x2f116a(_0x1f8a92,_0x4e8c91){return _0x189f76(_0x1f8a92- -0x7a,_0x4e8c91);}_0x12b2b7['color']=_0x2f116a(0xe5b,0x1873),_0x12b2b7['opacity']=0.5,_0x12b2b7['outline']=!![],_0x12b2b7['outlineWidth']=0x2,_0x4fdc79['graphicLayer']['startDraw']({'type':_0x40d44b(0x71c,0x36c),'style':_0x12b2b7,'success':function(_0x2b7c39){function _0x5bfd4f(_0x180831,_0x3bca14){return _0x40d44b(_0x3bca14- -0x21d,_0x180831);}console['log'](JSON[_0x5bfd4f(_0x38864f._0x57617c,0xea7)](_0x2b7c39['coordinates']));}});}},{'text':function(){return _0x4fdc79['getLangText']('_标记圆');},'icon':Icon['DrawCircle'],'callback':function(_0x4d92eb){const _0x411412={_0x17b740:0x392};function _0x174a74(_0x4651b6,_0x4e598a){return _0x520bf0(_0x4e598a-0x2af,_0x4651b6);}function _0xef990(_0x43f439,_0x2d2dfa){return _0x189f76(_0x43f439-_0x411412._0x17b740,_0x2d2dfa);}const _0x2ab2bf={};_0x2ab2bf['color']=_0xef990(0x6be,0xa0b),_0x2ab2bf['opacity']=0.6,_0x4fdc79[_0x174a74(_0x379d68._0x853ee1,0x1463)]['startDraw']({'type':'circle','style':_0x2ab2bf,'addHeight':0x1,'success':function(_0x4aa422){function _0x14b5be(_0x3374c4,_0x1f1ee0){return _0xef990(_0x1f1ee0- -0x325,_0x3374c4);}console['log'](JSON[_0x14b5be(0xa1f,0xcfd)](_0x4aa422['coordinates']));}});}},{'text':function(){const _0x2c2c8e={_0x18af27:0x1c8};function _0xdfb46c(_0x230c48,_0x52df50){return _0x189f76(_0x52df50- -_0x2c2c8e._0x18af27,_0x230c48);}return _0x4fdc79['getLangText'](_0xdfb46c(_0x5c8a86._0x2fde76,0xbaa));},'icon':Icon['DrawRectangle'],'callback':function(_0x4516c6){function _0x4b0c37(_0x30ec9a,_0x2733f8){return _0x189f76(_0x30ec9a- -_0x1bbe08._0x1f3945,_0x2733f8);}const _0xaf2dc3={};function _0x107fdf(_0xb787c1,_0x3d37bd){return _0x520bf0(_0x3d37bd- -0x462,_0xb787c1);}_0xaf2dc3['color']=_0x4b0c37(_0x2af6fc._0x480c43,0x42b),_0xaf2dc3['opacity']=0.6,_0x4fdc79[_0x4b0c37(0xf83,_0x2af6fc._0x426b88)][_0x107fdf(0x10ce,_0x2af6fc._0x3fc289)]({'type':_0x4b0c37(0x33,0x8ff),'style':_0xaf2dc3,'success':function(_0x1d855d){const _0x740611={_0x40433a:0x1e0};function _0x56d443(_0x4d1584,_0x355d81){return _0x107fdf(_0x4d1584,_0x355d81-0x71f);}function _0x2ccc1a(_0x2072a9,_0x2a56c5){return _0x107fdf(_0x2072a9,_0x2a56c5-_0x740611._0x40433a);}console[_0x2ccc1a(0x1369,0x1160)](JSON[_0x56d443(0x150f,0x10a1)](_0x1d855d['coordinates']));}});}},{'text':function(){function _0xaf0258(_0xbad9ab,_0x444147){return _0x189f76(_0x444147- -0x107,_0xbad9ab);}return _0x4fdc79['getLangText'](_0xaf0258(_0x4c7874._0x3dd803,_0x4c7874._0x4b3ca2));},'icon':Icon['DrawEditYes'],'show':function(_0x17f740){return!_0x4fdc79['graphicLayer']['hasEdit'];},'callback':function(_0x495fca){_0x4fdc79['graphicLayer']['hasEdit']=!![];}},{'text':function(){return _0x4fdc79['getLangText']('_禁止编辑');},'icon':Icon['DrawEditNo'],'show':function(_0x10a771){return _0x4fdc79['graphicLayer']['hasEdit'];},'callback':function(_0x17fddd){function _0x29b7bf(_0x387308,_0x361810){return _0x520bf0(_0x387308- -0x35,_0x361810);}_0x4fdc79[_0x29b7bf(0x117f,0x1634)]['hasEdit']=![];}},{'text':function(){function _0x3493d7(_0x2b9281,_0x196688){return _0x189f76(_0x196688-0x3f3,_0x2b9281);}function _0x1732bf(_0x127fda,_0x3f7e19){return _0x520bf0(_0x3f7e19-0x80,_0x127fda);}return _0x4fdc79[_0x1732bf(0x19c2,0x103a)](_0x1732bf(_0x3d83a5._0x162789,0x119a));},'icon':Icon['DrawDownJson'],'show':function(_0x2577b5){return _0x4fdc79['graphicLayer']['length']>0x0;},'callback':function(_0x2e34e5){function _0x51147a(_0x5a16e4,_0x2d2b3e){return _0x189f76(_0x2d2b3e- -0x13e,_0x5a16e4);}downloadFile(_0x51147a(0x1185,_0x5b08fc._0x2e291),JSON['stringify'](_0x4fdc79['graphicLayer']['toGeoJSON']()));}},{'text':function(){function _0x459782(_0x4e4f69,_0x2a80d8){return _0x520bf0(_0x4e4f69- -0x2d0,_0x2a80d8);}return _0x4fdc79[_0x459782(_0xb7ff1b._0x2fd5e4,0x1550)]('_清除标记');},'icon':Icon[_0x189f76(_0x50f2b8._0x1d1665,0x1d3d)],'show':function(_0x3b8b2c){function _0x738602(_0x7d6527,_0x473fc6){return _0x520bf0(_0x473fc6-0x1ff,_0x7d6527);}return _0x4fdc79[_0x738602(0x1864,_0x481d73._0x63f1e2)]['length']>0x0;},'callback':function(_0x5598ca){_0x4fdc79['graphicLayer']['clear']();}}]},{'text':function(){function _0x4c3ab5(_0x324ad4,_0x2f6408){return _0x189f76(_0x2f6408- -0x9b,_0x324ad4);}return _0x4fdc79['getLangText'](_0x4c3ab5(_0x240934._0x4dcd0b,_0x240934._0x47d667));},'icon':Icon['Effect'],'children':[{'text':function(){return _0x4fdc79['getLangText']('_开启下雨');},'icon':Icon['RainEffectYes'],'show':function(_0xa62752){function _0x6d89ff(_0x1b2245,_0x31479d){return _0x189f76(_0x1b2245- -0x144,_0x31479d);}return!_0x3ad0b7[_0x6d89ff(0x631,_0x24e5bf._0x158cfa)];},'callback':function(_0x56ca2e){function _0x4a44f0(_0x43bd49,_0x1ebcd2){return _0x189f76(_0x1ebcd2-0x98,_0x43bd49);}!_0x3ad0b7[_0x4a44f0(_0x3e1607._0x4fc6d6,0x80d)]&&(_0x3ad0b7['rainEffect']=new RainEffect(),_0x4fdc79['addEffect'](_0x3ad0b7['rainEffect']));}},{'text':function(){function _0x288ddd(_0x2389ec,_0x2e1a4e){return _0x520bf0(_0x2e1a4e- -0xe0,_0x2389ec);}return _0x4fdc79['getLangText'](_0x288ddd(0xd14,_0x5688a5._0x1df2da));},'icon':Icon['RainEffectNo'],'show':function(_0x1c2d5c){function _0x12e898(_0x48bf5c,_0x3c06b1){return _0x189f76(_0x3c06b1-0x3ef,_0x48bf5c);}return _0x3ad0b7[_0x12e898(_0x3bb395._0x463e7c,0xb64)];},'callback':function(_0x1d084e){function _0x229ba0(_0x3a08af,_0x3f1e55){return _0x189f76(_0x3a08af- -0x21,_0x3f1e55);}_0x3ad0b7['rainEffect']&&(_0x4fdc79['removeEffect'](_0x3ad0b7[_0x229ba0(0x754,_0x568e3b._0x1cd4c5)],!![]),delete _0x3ad0b7['rainEffect']);}},{'text':function(){function _0x23099b(_0x256ba5,_0x5da83a){return _0x520bf0(_0x5da83a- -0x162,_0x256ba5);}return _0x4fdc79['getLangText'](_0x23099b(_0x237436._0x3bd6c1,_0x237436._0x48072f));},'icon':Icon['SnowEffectYes'],'show':function(_0x25d7b1){return!_0x3ad0b7['snowEffect'];},'callback':function(_0x642392){function _0x4be053(_0x2a31c3,_0x23d9a7){return _0x189f76(_0x23d9a7-_0x5adb4a._0x2e7336,_0x2a31c3);}!_0x3ad0b7['snowEffect']&&(_0x3ad0b7[_0x4be053(-0x2e2,_0x277757._0x44c363)]=new SnowEffect(),_0x4fdc79['addEffect'](_0x3ad0b7['snowEffect']));}},{'text':function(){function _0x183277(_0x4db983,_0x578a4f){return _0x189f76(_0x4db983-0x63,_0x578a4f);}return _0x4fdc79['getLangText'](_0x183277(0x15d7,_0x5dae01._0x31cc19));},'icon':Icon[_0x189f76(0x58c,_0x50f2b8._0x523d75)],'show':function(_0x134791){return _0x3ad0b7['snowEffect'];},'callback':function(_0x2cc552){const _0x5b80a4={_0x30fa2b:0x1b3};function _0x559f30(_0x2cf5ad,_0x50560a){return _0x520bf0(_0x50560a-_0x2b2cd5._0x435521,_0x2cf5ad);}function _0xb940f5(_0x236dc3,_0x3935a3){return _0x189f76(_0x236dc3-_0x5b80a4._0x30fa2b,_0x3935a3);}_0x3ad0b7[_0xb940f5(0x458,0xc8f)]&&(_0x4fdc79['removeEffect'](_0x3ad0b7[_0xb940f5(0x458,-0x648)],!![]),delete _0x3ad0b7['snowEffect']);}},{'text':function(){return _0x4fdc79['getLangText']('_开启雾天气');},'icon':Icon['FogEffectYes'],'show':function(_0x46d22d){function _0x49fb9f(_0x39f0b5,_0x53c675){return _0x520bf0(_0x39f0b5-_0x2d2ee0._0x2b5088,_0x53c675);}return!_0x3ad0b7[_0x49fb9f(0x14a8,_0x570b5c._0x2683b1)];},'callback':function(_0x2d436a){function _0xeb87e0(_0xfec176,_0x45b79c){return _0x520bf0(_0x45b79c- -0xa4,_0xfec176);}function _0x348f05(_0x1fcab7,_0x562f2a){return _0x189f76(_0x1fcab7-_0x3d7439._0x5e6955,_0x562f2a);}if(!_0x3ad0b7['fogEffect']){const _0x2d78f1=_0x4fdc79[_0xeb87e0(0x503,0x44f)]['positionCartographic']['height']*0x2;_0x3ad0b7[_0xeb87e0(_0x511f73._0x5433ac,0x13c0)]=new FogEffect({'fogByDistance':new Cesium__namespace['Cartesian4'](0.1*_0x2d78f1,0.1,_0x2d78f1,0.8)}),_0x4fdc79['addEffect'](_0x3ad0b7['fogEffect']);}}},{'text':function(){const _0x2d0c85={_0x255cc3:0x43};function _0x578a0a(_0x2c64dc,_0x502aa7){return _0x189f76(_0x2c64dc-_0x2d0c85._0x255cc3,_0x502aa7);}return _0x4fdc79[_0x578a0a(_0x1dca45._0x5323fb,0xb6d)]('_关闭雾天气');},'icon':Icon[_0x189f76(0xc2b,0x119e)],'show':function(_0x5e3d0d){return _0x3ad0b7['fogEffect'];},'callback':function(_0x4fb44a){function _0x240fc9(_0x3409d0,_0x13892a){return _0x189f76(_0x3409d0-0x3fe,_0x13892a);}function _0x97542(_0x54190a,_0x5f5688){return _0x520bf0(_0x54190a-0xaf,_0x5f5688);}_0x3ad0b7['fogEffect']&&(_0x4fdc79[_0x97542(_0x173e00._0x30a12b,_0x173e00._0x1260fc)](_0x3ad0b7[_0x97542(0x1513,0x10e5)],!![]),delete _0x3ad0b7['fogEffect']);}},{'text':function(){return _0x4fdc79['getLangText']('_开启泛光');},'icon':Icon[_0x520bf0(_0x50f2b8._0xa05d6f,0x13ee)],'show':function(_0xb78c61){function _0x46f74c(_0x1d2d7c,_0x1994b6){return _0x520bf0(_0x1d2d7c- -0x2d0,_0x1994b6);}return!_0x3ad0b7[_0x46f74c(0x406,-0x77)];},'callback':function(_0x160dae){function _0x388745(_0x154032,_0x1add08){return _0x520bf0(_0x1add08-_0x544d96._0x24e203,_0x154032);}!_0x3ad0b7['bloomEffect']&&(_0x3ad0b7['bloomEffect']=new BloomEffect(),_0x4fdc79[_0x388745(_0x56e15d._0x4b6845,0x15c9)](_0x3ad0b7['bloomEffect']));}},{'text':function(){function _0x4d34c0(_0x1fc730,_0x411280){return _0x520bf0(_0x1fc730- -0x105,_0x411280);}function _0x3890b8(_0x24c66d,_0x5cf346){return _0x520bf0(_0x5cf346-0x181,_0x24c66d);}return _0x4fdc79[_0x3890b8(_0x526015._0x13357a,0x113b)](_0x3890b8(_0x526015._0x182f95,0x1888));},'icon':Icon[_0x189f76(0x3c0,-_0x50f2b8._0x43f6cf)],'show':function(_0x35f2fe){return _0x3ad0b7['bloomEffect'];},'callback':function(_0x372e8c){function _0x394c32(_0x376394,_0x473adb){return _0x520bf0(_0x376394- -0x42,_0x473adb);}function _0x3d3cac(_0x4b4242,_0x3b68a8){return _0x520bf0(_0x4b4242- -0x363,_0x3b68a8);}_0x3ad0b7[_0x3d3cac(0x373,-_0x51c835._0x446147)]&&(_0x4fdc79['removeEffect'](_0x3ad0b7[_0x3d3cac(_0x51c835._0x3ee8ec,0x25f)],!![]),delete _0x3ad0b7[_0x394c32(0x694,0x212)]);}},{'text':function(){return _0x4fdc79['getLangText']('_开启亮度');},'icon':Icon['BrightnessEffectYes'],'show':function(_0x234778){const _0x416272={_0x4d9e2b:0x38};function _0x2f3533(_0x1bb0f1,_0x47f31c){return _0x189f76(_0x1bb0f1-_0x416272._0x4d9e2b,_0x47f31c);}return!_0x3ad0b7[_0x2f3533(0x2e4,_0x48147a._0x5cae53)];},'callback':function(_0x16898c){function _0x3b7ea9(_0x1c39db,_0x379cce){return _0x520bf0(_0x379cce- -_0xa0c818._0x187a5f,_0x1c39db);}function _0xbd2808(_0x27dd7b,_0x1cc982){return _0x520bf0(_0x27dd7b- -0xbb,_0x1cc982);}!_0x3ad0b7['brightnessEffect']&&(_0x3ad0b7[_0xbd2808(_0x1b6af5._0x30b8d4,_0x1b6af5._0x19e05a)]=new BrightnessEffect(),_0x4fdc79['addEffect'](_0x3ad0b7[_0x3b7ea9(_0x1b6af5._0x2b52ce,_0x1b6af5._0x502d6c)]));}},{'text':function(){function _0x492e46(_0x946d94,_0x598a54){return _0x520bf0(_0x598a54- -0x17b,_0x946d94);}return _0x4fdc79[_0x492e46(0x18d2,_0x961834._0x5dda62)]('_关闭亮度');},'icon':Icon['BrightnessEffectNo'],'show':function(_0x4243b2){return _0x3ad0b7['brightnessEffect'];},'callback':function(_0x196de8){function _0x27abde(_0x4d96c3,_0x3547c8){return _0x520bf0(_0x3547c8- -0x390,_0x4d96c3);}_0x3ad0b7['brightnessEffect']&&(_0x4fdc79[_0x27abde(_0x57ac65._0x225686,_0x57ac65._0x5ba496)](_0x3ad0b7['brightnessEffect'],!![]),delete _0x3ad0b7['brightnessEffect']);}},{'text':function(){function _0x4e74a7(_0x26a903,_0x50a78d){return _0x189f76(_0x50a78d-0xa1,_0x26a903);}return _0x4fdc79['getLangText'](_0x4e74a7(_0x514330._0x5e4cfc,0x5be));},'icon':Icon[_0x520bf0(0x151e,0x142a)],'show':function(_0xe051af){return!_0x3ad0b7['nightVisionEffect'];},'callback':function(_0x4490f4){function _0x5a4dc3(_0x312738,_0x4ba9bc){return _0x189f76(_0x4ba9bc-0x3c0,_0x312738);}function _0xd7c1da(_0x2cb7df,_0x203ad9){return _0x189f76(_0x203ad9-_0x2e8598._0x2cd031,_0x2cb7df);}!_0x3ad0b7['nightVisionEffect']&&(_0x3ad0b7[_0xd7c1da(0xa56,0x8e2)]=new NightVisionEffect(),_0x4fdc79[_0xd7c1da(0x125a,0x13d3)](_0x3ad0b7[_0x5a4dc3(0x646,0xa1b)]));}},{'text':function(){function _0x11cb53(_0x5a22ef,_0x31ed92){return _0x520bf0(_0x5a22ef- -0xf0,_0x31ed92);}return _0x4fdc79[_0x11cb53(0xeca,_0x4eaf68._0x16b332)]('_关闭夜视');},'icon':Icon['NightVisionEffectNo'],'show':function(_0x21cfea){function _0xa052ea(_0x1f9d37,_0x320202){return _0x189f76(_0x1f9d37-0x45b,_0x320202);}return _0x3ad0b7[_0xa052ea(0xab6,0x75e)];},'callback':function(_0x3f5a02){_0x3ad0b7['nightVisionEffect']&&(_0x4fdc79['removeEffect'](_0x3ad0b7['nightVisionEffect'],!![]),delete _0x3ad0b7['nightVisionEffect']);}},{'text':function(){return _0x4fdc79['getLangText']('_开启黑白');},'icon':Icon[_0x520bf0(0x5c6,-0x362)],'show':function(_0x2ab946){return!_0x3ad0b7['blackAndWhiteEffect'];},'callback':function(_0x373de6){function _0x423636(_0x5f1980,_0x31eab3){return _0x520bf0(_0x31eab3- -0x46,_0x5f1980);}function _0x4b7f7e(_0x2cfc7a,_0x2d0862){return _0x520bf0(_0x2d0862-_0x266ffc._0x230014,_0x2cfc7a);}!_0x3ad0b7[_0x4b7f7e(_0x2e6d40._0x14a253,_0x2e6d40._0x52341b)]&&(_0x3ad0b7[_0x4b7f7e(0x11d0,0x118f)]=new BlackAndWhiteEffect(),_0x4fdc79[_0x4b7f7e(0xaa2,0x1301)](_0x3ad0b7[_0x423636(_0x2e6d40._0x2d4ba8,0x10e8)]));}},{'text':function(){function _0x24fe9e(_0x5d7e18,_0x114849){return _0x189f76(_0x5d7e18-0x357,_0x114849);}return _0x4fdc79['getLangText'](_0x24fe9e(_0x439a0e._0x48caeb,0x1a4f));},'icon':Icon['BlackAndWhiteEffectNo'],'show':function(_0x7be6b4){function _0x27d954(_0x155ae3,_0x91e9c6){return _0x189f76(_0x155ae3-0x477,_0x91e9c6);}return _0x3ad0b7[_0x27d954(_0x274c1b._0x3c789b,0x14ed)];},'callback':function(_0x21ec08){function _0x887961(_0x4f6dcd,_0x410acc){return _0x189f76(_0x4f6dcd- -0x133,_0x410acc);}function _0x9dff87(_0x4646b9,_0x2094a3){return _0x189f76(_0x2094a3- -_0x51384a._0xd2d917,_0x4646b9);}_0x3ad0b7[_0x9dff87(_0x4ce900._0x4a8ffb,_0x4ce900._0x3b659a)]&&(_0x4fdc79[_0x887961(0x330,0x10c)](_0x3ad0b7[_0x887961(0xea7,0xcb0)],!![]),delete _0x3ad0b7['blackAndWhiteEffect']);}},{'text':function(){function _0x570b7d(_0x3e7883,_0x142082){return _0x189f76(_0x142082-0x382,_0x3e7883);}return _0x4fdc79[_0x570b7d(_0x8863d._0x2e4e34,_0x8863d._0x2e0a5c)]('_开启拾取高亮');},'icon':Icon['OutlineEffectYes'],'show':function(_0x52a27a){return!_0x3ad0b7['outlineEffect'];},'callback':function(_0x218a85){function _0x2f7fb7(_0x490fe4,_0x3cbd36){return _0x189f76(_0x3cbd36-0x28f,_0x490fe4);}!_0x3ad0b7[_0x2f7fb7(_0x58e400._0x29bf49,0x7e4)]&&(_0x3ad0b7['outlineEffect']=new OutlineEffect(),_0x4fdc79['addEffect'](_0x3ad0b7['outlineEffect']));}},{'text':function(){return _0x4fdc79['getLangText']('_关闭拾取高亮');},'icon':Icon['OutlineEffectNo'],'show':function(_0x2743e3){function _0x3e82b3(_0x18e749,_0x143a0b){return _0x189f76(_0x18e749-0x3a9,_0x143a0b);}return _0x3ad0b7[_0x3e82b3(0x8fe,0x9c5)];},'callback':function(_0xcf3a54){const _0x56a79d={_0x304772:0x409};function _0x46817e(_0x20649c,_0xb33297){return _0x520bf0(_0x20649c- -_0x56a79d._0x304772,_0xb33297);}function _0x2be41c(_0x3c4a51,_0x3f2b2f){return _0x520bf0(_0x3c4a51-0xb0,_0x3f2b2f);}_0x3ad0b7[_0x46817e(0x2a0,0xa)]&&(_0x4fdc79['removeEffect'](_0x3ad0b7[_0x46817e(_0x4b0d9e._0x9d7118,0x8fe)],!![]),delete _0x3ad0b7['outlineEffect']);}}]},{'text':function(){const _0x1a0fe3={_0x47f35c:0x7d};function _0x3176de(_0x3e0556,_0x3739d2){return _0x189f76(_0x3739d2-_0x1a0fe3._0x47f35c,_0x3e0556);}return _0x4fdc79[_0x3176de(_0x6e2267._0x3f0d9b,_0x6e2267._0x175c49)]('_场景设置');},'icon':Icon['Scene'],'children':[{'text':function(){function _0x516393(_0x245e13,_0x1d5985){return _0x189f76(_0x1d5985- -0x79,_0x245e13);}return _0x4fdc79['getLangText'](_0x516393(0x1b33,0x138e));},'icon':Icon[_0x520bf0(_0x50f2b8._0x5bb2c0,0xb6b)],'show':function(_0x467daa){const _0x17f9fd={_0x4c84de:0x242};function _0x38e27e(_0x5493a0,_0x4eb9a5){return _0x520bf0(_0x5493a0- -_0x17f9fd._0x4c84de,_0x4eb9a5);}function _0x140a1a(_0x494ef4,_0x5203cf){return _0x189f76(_0x5203cf-0x17c,_0x494ef4);}return!_0x4fdc79['scene'][_0x38e27e(-0x2b,-0x2be)][_0x38e27e(0x1b9,-0x657)];},'callback':function(_0x17defb){function _0x95f1f0(_0x2b3af5,_0x10f986){return _0x189f76(_0x10f986-0xa8,_0x2b3af5);}_0x4fdc79['scene']['globe'][_0x95f1f0(_0x3e80d4._0x2bb6a4,0x34f)]=!![];}},{'text':function(){return _0x4fdc79['getLangText']('_关闭深度监测');},'icon':Icon['DepthTestNo'],'show':function(_0x5ec4bf){return _0x4fdc79['scene']['globe']['depthTestAgainstTerrain'];},'callback':function(_0x59320c){const _0x540d84={_0x4ea4b4:0x239};function _0x2d80ad(_0x9dc569,_0x47524a){return _0x189f76(_0x47524a-_0x540d84._0x4ea4b4,_0x9dc569);}_0x4fdc79['scene'][_0x2d80ad(0x1f7,0x2fc)]['depthTestAgainstTerrain']=![];}},{'text':function(){const _0x4850d4={_0x5b6091:0x127};function _0x5e1c17(_0x3a1147,_0x146190){return _0x520bf0(_0x146190- -_0x4850d4._0x5b6091,_0x3a1147);}return _0x4fdc79['getLangText'](_0x5e1c17(_0x3213ff._0x456858,0xdad));},'icon':Icon['SkyBoxYes'],'show':function(_0x22cc9a){var _0x3969a9;function _0x185833(_0x72c5e9,_0x3cf32a){return _0x189f76(_0x72c5e9- -0x44,_0x3cf32a);}function _0xcf25d6(_0x1c1fee,_0xae9560){return _0x520bf0(_0x1c1fee- -_0xb31f34._0x93a0b8,_0xae9560);}return!((_0x3969a9=_0x4fdc79[_0xcf25d6(0xf3b,_0x1a2ccb._0x2d62c8)][_0xcf25d6(0x2e6,0x3b1)])!==null&&_0x3969a9!==void 0x0&&_0x3969a9[_0xcf25d6(0x14af,0x1a1a)]);},'callback':function(_0x5e6027){const _0x4b881d={_0x192ef1:0x186};_0x4fdc79['scene']['skyBox']['show']=!![];function _0x2efab6(_0x575040,_0xcbca20){return _0x520bf0(_0x575040-0x17b,_0xcbca20);}_0x4fdc79['scene']['moon']['show']=!![];function _0x4501b5(_0x3d6176,_0x127ffc){return _0x520bf0(_0x127ffc- -_0x4b881d._0x192ef1,_0x3d6176);}_0x4fdc79['scene'][_0x2efab6(0x1251,_0x5d39a5._0x93c65c)][_0x4501b5(_0x5d39a5._0x5d5bbe,_0x5d39a5._0x2f1266)]=!![];}},{'text':function(){function _0x22851c(_0x280fee,_0x303688){return _0x520bf0(_0x303688-_0x3e7cc0._0x344e84,_0x280fee);}function _0x5cf6c8(_0x431927,_0x4c1d58){return _0x189f76(_0x4c1d58-_0x223861._0x274422,_0x431927);}return _0x4fdc79[_0x22851c(0x96e,0x10a0)](_0x5cf6c8(_0x2327ea._0x377ab9,0x10c5));},'icon':Icon['SkyBoxNo'],'show':function(_0x5a6cf4){function _0x245d38(_0x2dd561,_0x400c8c){return _0x520bf0(_0x400c8c-0x187,_0x2dd561);}var _0x3bf9db;function _0x3eeda6(_0x2763f6,_0x31e9ad){return _0x189f76(_0x2763f6-0xb0,_0x31e9ad);}return(_0x3bf9db=_0x4fdc79[_0x3eeda6(0xf73,0x6b8)][_0x245d38(0x3cd,_0x1b0254._0x8eedcc)])===null||_0x3bf9db===void 0x0?void 0x0:_0x3bf9db['show'];},'callback':function(_0x9bab3b){function _0x155d9d(_0x2d244a,_0x1148b6){return _0x189f76(_0x1148b6- -0x1d4,_0x2d244a);}_0x4fdc79['scene'][_0x155d9d(0x953,0x9a)][_0x155d9d(0xc6e,_0x461914._0x15ca2c)]=![],_0x4fdc79['scene'][_0x24a460(0x316,0x6c2)]['show']=![];function _0x24a460(_0x1020f1,_0x5594e5){return _0x520bf0(_0x5594e5-_0x20f3f7._0x381889,_0x1020f1);}_0x4fdc79['scene']['sun']['show']=![];}},{'text':function(){const _0x43c7fb={_0x19a00c:0xb4};function _0x558c37(_0x287ad0,_0x58386d){return _0x520bf0(_0x287ad0- -_0x43c7fb._0x19a00c,_0x58386d);}return _0x4fdc79['getLangText'](_0x558c37(_0x395918._0x48ea59,_0x395918._0x59eb39));},'icon':Icon['ShadowYes'],'show':function(_0x7dfe62){function _0x57bb40(_0x2997d7,_0x182248){return _0x189f76(_0x182248-0x370,_0x2997d7);}return!_0x4fdc79['viewer'][_0x57bb40(0x4b1,0xf70)];},'callback':function(_0x4bb3f2){_0x4fdc79['viewer'][_0x21e8a5(_0x1d8e40._0x1e8a8c,0xebc)]=!![];function _0x21e8a5(_0xe6d7d4,_0x5e0512){return _0x520bf0(_0xe6d7d4- -_0x3e2f02._0x4bf73c,_0x5e0512);}function _0x1458a0(_0x114e0f,_0x5e0b2b){return _0x520bf0(_0x5e0b2b- -0x110,_0x114e0f);}_0x4fdc79[_0x1458a0(_0x1d8e40._0x445203,_0x1d8e40._0x132c30)]['terrainShadows']=Cesium__namespace['ShadowMode'][_0x21e8a5(0x37d,_0x1d8e40._0x123087)],_0x4fdc79[_0x21e8a5(0xc1a,0x22c)][_0x1458a0(-_0x1d8e40._0x3b6ab6,_0x1d8e40._0x180b19)]['enableLighting']=!![];}},{'text':function(){function _0x2cd833(_0x22a3d7,_0x432e95){return _0x520bf0(_0x22a3d7- -0x3fb,_0x432e95);}return _0x4fdc79[_0x2cd833(_0x444f0c._0x139829,0x1437)]('_关闭日照阴影');},'icon':Icon['ShadowNo'],'show':function(_0x5d7b35){function _0x5b3def(_0x1e685a,_0x2df010){return _0x520bf0(_0x1e685a-0x229,_0x2df010);}function _0x6a0f2(_0x5095af,_0x40330b){return _0x520bf0(_0x40330b-_0x197b1e._0x1ab145,_0x5095af);}return _0x4fdc79[_0x6a0f2(0x573,0xb5e)][_0x6a0f2(0x987,0xfbc)];},'callback':function(_0x4a7a39){const _0x33925c={_0x569841:0x169};function _0x2a126f(_0x23332d,_0x59ee1e){return _0x520bf0(_0x23332d- -_0x32823b._0x56fc48,_0x59ee1e);}function _0xdcfa5a(_0x9ee7b4,_0x3b286d){return _0x520bf0(_0x9ee7b4-_0x33925c._0x569841,_0x3b286d);}_0x4fdc79['viewer']['shadows']=![],_0x4fdc79['viewer']['terrainShadows']=Cesium__namespace['ShadowMode'][_0xdcfa5a(0x1160,0xe8d)],_0x4fdc79[_0xdcfa5a(_0xdb9dcc._0x4ce801,_0xdb9dcc._0x4326d9)]['globe']['enableLighting']=![];}},{'text':function(){const _0x2c927b={_0x3b3f72:0x444};function _0x48986c(_0x50134b,_0x5abfc8){return _0x189f76(_0x5abfc8-_0x2c927b._0x3b3f72,_0x50134b);}return _0x4fdc79[_0x48986c(_0x3f3cfe._0x1632f9,0x12aa)]('_开启大气渲染');},'icon':Icon[_0x189f76(0xea2,0x82b)],'show':function(_0x19c231){function _0x1b4a58(_0x612d49,_0x5e5b10){return _0x189f76(_0x5e5b10-0x3aa,_0x612d49);}function _0x50b131(_0x2b3fce,_0xbf163d){return _0x189f76(_0x2b3fce-_0x49d29d._0x3e604a,_0xbf163d);}return _0x4fdc79[_0x1b4a58(0x1375,_0x5ceccf._0x104788)]['skyAtmosphere']&&!_0x4fdc79[_0x50b131(_0x5ceccf._0x143269,0xdea)][_0x1b4a58(0x222,0x50a)][_0x50b131(_0x5ceccf._0x5e874e,0x15cf)];},'callback':function(_0x33f74b){const _0x50e6b3={_0x5f06e1:0x222},_0x4121a1={_0x38514d:0x3c};_0x4fdc79[_0x452647(0x1708,0x10e5)][_0x452647(_0x5821d2._0x42ef25,0x382)]['show']=!![];function _0x34ff39(_0x597667,_0x2b2761){return _0x189f76(_0x597667-_0x4121a1._0x38514d,_0x2b2761);}function _0x452647(_0xf17d32,_0x333909){return _0x189f76(_0x333909-_0x50e6b3._0x5f06e1,_0xf17d32);}_0x4fdc79[_0x452647(_0x5821d2._0x760324,_0x5821d2._0x709bbf)]['globe']['showGroundAtmosphere']=!![];}},{'text':function(){return _0x4fdc79['getLangText']('_关闭大气渲染');},'icon':Icon['SkyAtmosphereNo'],'show':function(_0x413e33){const _0x337661={_0x4a11f2:0x28f};function _0x2be289(_0x5e2d4c,_0x486ed2){return _0x189f76(_0x5e2d4c-_0x337661._0x4a11f2,_0x486ed2);}var _0x17ac87;function _0x518cef(_0x3cb4b8,_0x51c733){return _0x189f76(_0x3cb4b8- -_0x198794._0x53362b,_0x51c733);}return(_0x17ac87=_0x4fdc79[_0x2be289(0x1152,_0x58706c._0x1f16f9)]['skyAtmosphere'])===null||_0x17ac87===void 0x0?void 0x0:_0x17ac87[_0x2be289(_0x58706c._0x1a8111,0x1a6c)];},'callback':function(_0x528ebe){_0x4fdc79[_0x329cfe(0xdfb,0xdc7)]['skyAtmosphere']['show']=![];function _0x3bbf54(_0x7622ef,_0x4a9f0b){return _0x189f76(_0x7622ef-_0x41dece._0x4b6669,_0x4a9f0b);}function _0x329cfe(_0x267719,_0x3f3766){return _0x189f76(_0x3f3766- -0xfc,_0x267719);}_0x4fdc79[_0x329cfe(0xf63,0xdc7)]['globe'][_0x3bbf54(0xedf,0x1543)]=![];}},{'text':function(){return _0x4fdc79['getLangText']('_场景出图');},'icon':Icon['ExpImage'],'callback':function(_0x4146f3){function _0x2563e4(_0x2f8158,_0x3a713b){return _0x189f76(_0x3a713b-_0xed42a8._0x4ebcaf,_0x2f8158);}_0x4fdc79[_0x2563e4(0x1999,0x117b)]();}}]}];}class TraversalDetails{constructor(){const _0x4d9da3={_0x2c6da2:0x15ea};this[_0x2cc58d(_0x4d9da3._0x2c6da2,0x104d)]=!![],this['anyWereRenderedLastFrame']=![];function _0x2cc58d(_0x340ae9,_0x1ec98e){return _0x54a7f1(_0x1ec98e- -0x10c,_0x340ae9);}this['notYetRenderableCount']=0x0;}}class TraversalQuadDetails{constructor(){function _0x285b8c(_0x1e248f,_0x35ff1f){return _0x54a7f1(_0x1e248f-0x1c9,_0x35ff1f);}this[_0x3e219a(0x910,0xed0)]=new TraversalDetails();function _0x3e219a(_0x3e7e32,_0x558de1){return _0x7afdbe(_0x3e7e32,_0x558de1- -0x1a5);}this['southeast']=new TraversalDetails(),this[_0x3e219a(-0x8e,0xa38)]=new TraversalDetails(),this['northeast']=new TraversalDetails();}[_0x54a7f1(0xadf,0x8b2)](_0x8685ae){const _0x2991b3={_0x2a1aaf:0x1033,_0x1f0610:0xbf3,_0x430cff:0x1397,_0x3710c3:0x8bd},_0xa6ccb2={_0x23ef64:0x38};function _0x449bca(_0x220383,_0x534dc1){return _0x7afdbe(_0x220383,_0x534dc1- -_0xa6ccb2._0x23ef64);}const _0x215822=this[_0x449bca(0xd3e,0x103d)];function _0x5c6074(_0xf9946c,_0xc3efe3){return _0x54a7f1(_0xf9946c- -0x1a8,_0xc3efe3);}const _0x36ce1b=this['southeast'],_0x480a03=this[_0x449bca(_0x2991b3._0x2a1aaf,0xba5)],_0x484045=this[_0x5c6074(0x151a,0x10cc)];_0x8685ae['allAreRenderable']=_0x215822['allAreRenderable']&&_0x36ce1b[_0x5c6074(0xfb1,0x853)]&&_0x480a03['allAreRenderable']&&_0x484045[_0x449bca(0x1062,0x134f)],_0x8685ae['anyWereRenderedLastFrame']=_0x215822['anyWereRenderedLastFrame']||_0x36ce1b['anyWereRenderedLastFrame']||_0x480a03['anyWereRenderedLastFrame']||_0x484045['anyWereRenderedLastFrame'],_0x8685ae[_0x449bca(_0x2991b3._0x1f0610,0xc5b)]=_0x215822[_0x449bca(_0x2991b3._0x430cff,0xc5b)]+_0x36ce1b['notYetRenderableCount']+_0x480a03[_0x5c6074(_0x2991b3._0x3710c3,0x6ef)]+_0x484045['notYetRenderableCount'];}}function prepareNewTile(_0xa14238,_0x1fb757,_0x15dace){const _0x382c40={_0x41ee67:0x72f,_0x599a93:0xe4b,_0x553da2:0xc66};function _0x477adb(_0x494ce6,_0x20c4ae){return _0x7afdbe(_0x20c4ae,_0x494ce6- -0x3ce);}function _0x41a0d5(_0x476b27,_0x4fa4c5){return _0x7afdbe(_0x476b27,_0x4fa4c5- -0x368);}for(let _0x1f57c3=0x0,_0x52b080=_0x15dace[_0x41a0d5(_0x382c40._0x41ee67,_0x382c40._0x599a93)];_0x1f57c3<_0x52b080;++_0x1f57c3){const _0x129372=_0x15dace[_0x477adb(_0x382c40._0x553da2,0x3b2)](_0x1f57c3);_0x129372['show']&&_0x129372[_0x41a0d5(0x1ee,0xc84)](_0xa14238,_0x1fb757);}}function requestTileGeometry(_0x291fa3,_0x1a65b1,_0xbecbcc,_0x4d8951){const _0x2953ce={_0x8e1dc9:0x2ea,_0x2228b1:0x17b4},_0x44dd81={_0x559762:0x2bf},_0x54fa08={_0x4274b0:0xf7};_0x291fa3['primitive']=_0x291fa3['createRectanglePrimitive'](_0x1a65b1,_0x4d8951['classificationType']);function _0x1dd4c1(_0x157e7c,_0x5c92e9){return _0x54a7f1(_0x157e7c- -0x324,_0x5c92e9);}function _0x36e7d7(_0x2dc401,_0x2fcf8a){return _0x54a7f1(_0x2dc401- -_0x54fa08._0x4274b0,_0x2fcf8a);}_0x291fa3['primitive']&&(_0x291fa3['geometryState']=Cesium__namespace['TerrainState'][_0x36e7d7(0x332,_0x2953ce._0x8e1dc9)],_0x291fa3[_0x36e7d7(0xffd,_0x2953ce._0x2228b1)]['forEach'](_0x5533a7=>{function _0x57d0d6(_0x19d245,_0x35d4e6){return _0x36e7d7(_0x19d245- -_0x44dd81._0x559762,_0x35d4e6);}_0x5533a7[_0x57d0d6(0x589,0x3d)](_0xbecbcc);}));}function processGeometryStateMachine(_0x381167,_0x3533d7,_0x149f4b,_0x5c87ec){const _0x542d86={_0x1a6411:0x96b,_0x58404a:0xb18,_0x256fbf:0x1408,_0x384f0f:0xe43,_0x4b1aa0:0x84c,_0x4f3d5a:0x84c,_0x31f608:0x1164,_0x157c40:0x12e4,_0x2e11a0:0xb49},_0xfe7ded={_0x35905b:0x178};function _0x3f4baf(_0x4f969b,_0x35100e){return _0x7afdbe(_0x4f969b,_0x35100e- -0xda);}if(!_0x149f4b)return;function _0x23535f(_0x3b8fd2,_0x8939f9){return _0x54a7f1(_0x3b8fd2- -_0xfe7ded._0x35905b,_0x8939f9);}const _0x29a2b2=_0x381167['data'];_0x29a2b2[_0x3f4baf(_0x542d86._0x1a6411,_0x542d86._0x58404a)]===Cesium__namespace[_0x23535f(0x87d,0x705)]['UNLOADED']&&(_0x29a2b2['geometryState']=Cesium__namespace['TerrainState'][_0x3f4baf(_0x542d86._0x256fbf,_0x542d86._0x384f0f)],requestTileGeometry(_0x29a2b2,_0x381167['rectangle'],_0x5c87ec,_0x3533d7)),_0x29a2b2[_0x23535f(_0x542d86._0x4b1aa0,-0x139)]===Cesium__namespace['TerrainState']['RECEIVED']&&(_0x29a2b2[_0x23535f(_0x542d86._0x4f3d5a,_0x542d86._0x31f608)]=Cesium__namespace[_0x3f4baf(_0x542d86._0x157c40,_0x542d86._0x2e11a0)]['READY']);}function getMaterial(_0x2d6565,_0x1c38be){const _0x3d8294={_0x3f60dd:0x87a,_0x49ab6a:0x13be,_0x448ecc:0x737,_0x51fa90:0x97f,_0x3a11f5:0x27f},_0x230645={_0x46a1df:0x135},_0x2d6540={'u_tileRectangle':new Cesium__namespace['Cartesian4']()};for(let _0x33e068=0x0;_0x33e068<_0x2d6565;_0x33e068++){_0x2d6540['u_textures'+_0x33e068]=Cesium__namespace['Material']['DefaultImageId'],_0x2d6540[_0x2f501d(-_0x3d8294._0x3f60dd,-0xa1)+_0x33e068]=new Cesium__namespace['Cartesian4'](),_0x2d6540['u_textureCoordinateRectangle'+_0x33e068]=new Cesium__namespace['Cartesian4'](),_0x2d6540['u_textureUseWebMercatorT'+_0x33e068]=!![],_0x2d6540['u_textureAlpha'+_0x33e068]=0x1;}function _0x159c96(_0x4f0900,_0x4ec8a3){return _0x54a7f1(_0x4f0900- -_0x230645._0x46a1df,_0x4ec8a3);}const _0x2ba431=_0x1c38be+''+_0x2d6565;function _0x2f501d(_0x2f467f,_0x55f8da){return _0x54a7f1(_0x55f8da- -0x38a,_0x2f467f);}const _0x5b5920=Cesium__namespace['Material'][_0x159c96(0xd8b,0x148a)]['getMaterial'](_0x2ba431);if(!Cesium__namespace[_0x159c96(0x154c,_0x3d8294._0x49ab6a)](_0x5b5920)){const _0x547047='\x0a\x20\x20\x20\x20vec4\x20sampleAndBlend(\x0a\x20\x20\x20\x20\x20\x20vec4\x20previousColor,\x0a\x20\x20\x20\x20\x20\x20sampler2D\x20textureToSample,\x0a\x20\x20\x20\x20\x20\x20vec2\x20tileTextureCoordinates,\x0a\x20\x20\x20\x20\x20\x20vec4\x20textureCoordinateRectangle,\x0a\x20\x20\x20\x20\x20\x20vec4\x20textureCoordinateTranslationAndScale,\x0a\x20\x20\x20\x20\x20\x20float\x20textureAlpha\x0a\x20\x20\x20\x20)\x20{\x0a\x20\x20\x20\x20\x20\x20vec2\x20alphaMultiplier\x20=\x20step(textureCoordinateRectangle.st,\x20tileTextureCoordinates);\x0a\x20\x20\x20\x20\x20\x20textureAlpha\x20=\x20textureAlpha\x20*\x20alphaMultiplier.x\x20*\x20alphaMultiplier.y;\x0a\x0a\x20\x20\x20\x20\x20\x20alphaMultiplier\x20=\x20step(vec2(0.0),\x20textureCoordinateRectangle.pq\x20-\x20tileTextureCoordinates);\x0a\x20\x20\x20\x20\x20\x20textureAlpha\x20=\x20textureAlpha\x20*\x20alphaMultiplier.x\x20*\x20alphaMultiplier.y;\x0a\x0a\x20\x20\x20\x20\x20\x20vec2\x20translation\x20=\x20textureCoordinateTranslationAndScale.xy;\x0a\x20\x20\x20\x20\x20\x20vec2\x20scale\x20=\x20textureCoordinateTranslationAndScale.zw;\x0a\x20\x20\x20\x20\x20\x20vec2\x20textureCoordinates\x20=\x20tileTextureCoordinates\x20*\x20scale\x20+\x20translation;\x0a\x20\x20\x20\x20\x20\x20vec4\x20value\x20=\x20texture(textureToSample,\x20textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20vec3\x20color\x20=\x20value.rgb;\x0a\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x20value.a;\x0a\x0a\x20\x20\x20\x20\x20\x20vec4\x20tempColor\x20=\x20czm_gammaCorrect(vec4(color,\x20alpha));\x0a\x20\x20\x20\x20\x20\x20color\x20=\x20tempColor.rgb;\x0a\x20\x20\x20\x20\x20\x20alpha\x20=\x20tempColor.a;\x0a\x0a\x20\x20\x20\x20\x20\x20float\x20sourceAlpha\x20=\x20alpha\x20*\x20textureAlpha;\x0a\x20\x20\x20\x20\x20\x20float\x20outAlpha\x20=\x20mix(previousColor.a,\x201.0,\x20sourceAlpha);\x0a\x20\x20\x20\x20\x20\x20outAlpha\x20+=\x20sign(outAlpha)\x20-\x201.0;\x0a\x0a\x20\x20\x20\x20\x20\x20vec3\x20outColor\x20=\x20mix(previousColor.rgb\x20*\x20previousColor.a,\x20color,\x20sourceAlpha)\x20/\x20outAlpha;\x0a\x0a\x20\x20\x20\x20\x20\x20return\x20vec4(outColor,\x20max(outAlpha,\x200.0));\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20';let _0x343af6='\x0a\x20\x20\x20\x20vec4\x20computeColor(vec4\x20initialColor,\x20vec3\x20textureCoordinates)\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20initialColor;\x0a\x20\x20\x20\x20';for(let _0x4afcdd=0x0;_0x4afcdd<_0x2d6565;_0x4afcdd++){_0x343af6+='\x0a\x20\x20\x20\x20\x20\x20color\x20=\x20sampleAndBlend(',_0x343af6+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20color,\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textures'+_0x4afcdd+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textureUseWebMercatorT'+_0x4afcdd+'\x20?\x20textureCoordinates.xz\x20:\x20textureCoordinates.xy,\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textureCoordinateRectangle'+_0x4afcdd+_0x2f501d(_0x3d8294._0x448ecc,_0x3d8294._0x51fa90)+_0x4afcdd+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textureAlpha'+_0x4afcdd+'\x0a\x20\x20\x20\x20\x20\x20);';}_0x343af6+='\x0a\x20\x20\x20\x20\x20\x20return\x20color;\x0a\x20\x20\x20\x20}';const _0x2eb2ba=_0x159c96(0xa7b,0x797)+_0x547047+'\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x343af6+'\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20czm_material\x20m\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20uv\x20=\x20materialInput.st;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20webMercatorT\x20=\x20getMercatorY(uv,\x20u_tileRectangle.y,\x20u_tileRectangle.w);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20u_initialColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20v_textureCoordinates\x20=\x20vec3(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uv,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20webMercatorT\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20color\x20=\x20computeColor(u_initialColor,\x20clamp(v_textureCoordinates,\x200.0,\x201.0));\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20m.diffuse\x20=\x20color.rgb;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20m.alpha\x20=\x20color.a;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20m;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20';Cesium__namespace['Material']['_materialCache']['addMaterial'](_0x2ba431,{'fabric':{'type':_0x2ba431,'uniforms':_0x2d6540,'source':_0x2eb2ba}});}return Cesium__namespace[_0x2f501d(0xc66,_0x3d8294._0x3a11f5)]['fromType'](_0x2ba431,_0x2d6540);}class GroundSurfaceTile{constructor(_0x58e327){const _0x626e8={_0x1c72cc:0x13f3,_0x1be9a8:0x147,_0x25e1b4:0x75a,_0x4689cd:0xdd4,_0x42806a:0xa62},_0x5a9145={_0x1192e5:0x171},_0x45a275={_0x495004:0x3f8};function _0x8f1973(_0x50bdbd,_0x528487){return _0x54a7f1(_0x528487- -_0x45a275._0x495004,_0x50bdbd);}this[_0x114136(0x542,0x107)]=[];function _0x114136(_0x264d3b,_0x2abb4e){return _0x7afdbe(_0x2abb4e,_0x264d3b- -_0x5a9145._0x1192e5);}this['primitive']=undefined,this[_0x8f1973(-0x3c7,0x1ee)]=undefined,this[_0x114136(_0x626e8._0x1c72cc,0x1001)]=![],this['geometryState']=Cesium__namespace['TerrainState']['UNLOADED'],this['orientedBoundingBox']=Cesium__namespace[_0x8f1973(-_0x626e8._0x1be9a8,0x3c6)][_0x114136(_0x626e8._0x25e1b4,0x713)](_0x58e327,0x0,0x2710,Cesium__namespace[_0x8f1973(_0x626e8._0x4689cd,0x11bd)][_0x8f1973(0x119,_0x626e8._0x42806a)]),this['tileBoundingRegion']=new Cesium__namespace['TileBoundingRegion']({'computeBoundingVolumes':![],'rectangle':_0x58e327,'ellipsoid':Cesium__namespace[_0x8f1973(0x854,0x11bd)][_0x114136(0xf17,0x149f)],'minimumHeight':0x0,'maximumHeight':0x0});}['freeResources'](){const _0x5e95cb={_0xb1b465:0x76b,_0x8cf6ef:0x115,_0xf788a8:0x212,_0xea3492:0x783,_0x187e8d:0xa86,_0x310a95:0x1090,_0x427f5b:0x12ba,_0xb1446a:0xaf8,_0x1a73a4:0x6e2,_0x3d6820:0xf21};this[_0x392911(_0x5e95cb._0xb1b465,-_0x5e95cb._0x8cf6ef)]=Cesium__namespace[_0x392911(0x79c,_0x5e95cb._0xf788a8)][_0x52ebf7(_0x5e95cb._0xea3492,_0x5e95cb._0x187e8d)];this['primitive']&&this[_0x52ebf7(_0x5e95cb._0x310a95,0x179e)]['forEach'](_0x2ba192=>{_0x2ba192['destroy']();});this['primitive']=undefined;const _0x2dc5be=this['imagery'];function _0x392911(_0x2b9419,_0xd3a538){return _0x7afdbe(_0xd3a538,_0x2b9419- -0x487);}for(let _0x1dfd32=0x0,_0x56ee60=_0x2dc5be[_0x392911(0xd2c,_0x5e95cb._0x427f5b)];_0x1dfd32<_0x56ee60;++_0x1dfd32){_0x2dc5be[_0x1dfd32][_0x52ebf7(_0x5e95cb._0xb1446a,_0x5e95cb._0x1a73a4)]();}function _0x52ebf7(_0x1a9137,_0x34a462){return _0x7afdbe(_0x34a462,_0x1a9137- -0x292);}this[_0x392911(0x22c,-0x4ff)][_0x52ebf7(_0x5e95cb._0x3d6820,0x1660)]=0x0;}static[_0x54a7f1(0xed2,0x12f6)](_0x26b267,_0x32392e,_0x645e78){const _0x304d87={_0x2b1077:0xf69,_0x314dad:0x9a2,_0x287c71:0x505,_0x2d0d59:0x36e};let _0x5e2211=_0x26b267[_0x421873(_0x304d87._0x2b1077,_0x304d87._0x314dad)];function _0x4a8fcd(_0x58a25c,_0x564a18){return _0x7afdbe(_0x58a25c,_0x564a18- -0x62b);}!Cesium__namespace['defined'](_0x5e2211)&&(_0x5e2211=_0x26b267['data']=new GroundSurfaceTile(_0x26b267[_0x4a8fcd(_0x304d87._0x287c71,-0x131)]));function _0x421873(_0x4859f3,_0x5342c1){return _0x54a7f1(_0x5342c1- -0x2cd,_0x4859f3);}_0x26b267[_0x421873(_0x304d87._0x2d0d59,0x7ff)]===Cesium__namespace['QuadtreeTileLoadState']['START']&&(prepareNewTile(_0x26b267,_0x32392e,_0x645e78),_0x26b267['state']=Cesium__namespace[_0x4a8fcd(-0x148,0x95a)][_0x421873(0xfbf,0x124a)]);}static['processStateMachine'](_0x50bf78,_0x3fe534,_0x3e4946,_0x5b2e8c){const _0x580bb8={_0x560dcc:0x33a,_0x9414a7:0x924,_0xd05561:0x134a,_0x53830e:0x527,_0x44e7da:0x351,_0x50adf4:0x898,_0x4032fa:0xf4e};GroundSurfaceTile['initialize'](_0x50bf78,_0x3e4946,_0x5b2e8c);const _0x5767ff=_0x50bf78['data'],_0x2852a8=_0x5767ff[_0x3ef456(0xec2,0x937)](_0x50bf78,_0x3e4946,_0x3fe534);function _0x3ef456(_0x5b247e,_0x30e8d4){return _0x7afdbe(_0x30e8d4,_0x5b247e- -0x6ed);}_0x50bf78[_0x59444e(_0x580bb8._0x560dcc,_0x580bb8._0x9414a7)]===Cesium__namespace['QuadtreeTileLoadState'][_0x3ef456(0x1058,_0x580bb8._0xd05561)]&&processGeometryStateMachine(_0x50bf78,_0x3e4946,_0x2852a8,_0x3fe534);const _0x2a56be=_0x50bf78[_0x59444e(0xaf5,0x337)];_0x50bf78['renderable']=Cesium__namespace['defined'](_0x5767ff[_0x59444e(0x1750,0xf4c)]);const _0x52e085=_0x50bf78[_0x59444e(0x1569,0xac7)]['geometryState']===Cesium__namespace['TerrainState'][_0x59444e(-0x4b9,_0x580bb8._0x53830e)];_0x50bf78[_0x3ef456(0x100f,0x7c3)]=![];if(_0x2852a8&&_0x52e085){const _0x168924=_0x50bf78[_0x59444e(-_0x580bb8._0x44e7da,0x159)],_0x1aefbd={};for(const _0x5b6b54 in _0x168924){_0x168924['hasOwnProperty'](_0x5b6b54)&&(!_0x168924[_0x5b6b54](_0x50bf78)&&(_0x1aefbd[_0x5b6b54]=_0x168924[_0x5b6b54]));}_0x50bf78[_0x59444e(0x86a,0x159)]=_0x1aefbd,_0x50bf78['state']=Cesium__namespace[_0x3ef456(_0x580bb8._0x50adf4,_0x580bb8._0x4032fa)][_0x3ef456(0xe6b,0x115e)];}function _0x59444e(_0x10c4c2,_0x57bbe0){return _0x54a7f1(_0x57bbe0- -0x1a8,_0x10c4c2);}_0x2a56be&&(_0x50bf78['renderable']=!![]);}['processImagery'](_0x23075c,_0x45bc5e,_0x30dca4,_0x1816ca){const _0x421b74={_0x3ec084:0x2db,_0x32f4c2:0x3ef,_0x5b176b:0x4f,_0x565801:0x69,_0x4de213:0x770,_0x4ce31a:0xeea,_0x45f711:0x69,_0x1498f7:0x70f,_0x23f698:0xc42},_0x48320f={_0x9a0176:0x230};function _0xbf8b55(_0x154820,_0x211bd6){return _0x54a7f1(_0x154820-_0x48320f._0x9a0176,_0x211bd6);}const _0x190189=_0x23075c['data'];let _0x583484=_0x23075c['upsampledFromParent'],_0x324cc2=![],_0x1cc7b5=!![];const _0x13eff3=_0x190189['imagery'];let _0x43dd97,_0x4bfed8;for(_0x43dd97=0x0,_0x4bfed8=_0x13eff3[_0xbf8b55(0x11b5,0x1995)];_0x43dd97<_0x4bfed8;++_0x43dd97){const _0x5368e0=_0x13eff3[_0x43dd97];if(!Cesium__namespace['defined'](_0x5368e0['loadingImagery'])){_0x583484=![];continue;}if(_0x5368e0[_0xbf8b55(0x6b7,0x9ea)][_0x56d223(0x6ae,-_0x421b74._0x3ec084)]===Cesium__namespace[_0xbf8b55(0x1685,0x1b55)]['PLACEHOLDER']){const _0x17e849=_0x5368e0['loadingImagery'][_0x56d223(_0x421b74._0x32f4c2,0xaa2)];if(_0x17e849['ready']){_0x5368e0['freeResources'](),_0x13eff3[_0xbf8b55(0xa1b,0x1486)](_0x43dd97,0x1),_0x17e849['_createTileImagerySkeletons'](_0x23075c,_0x45bc5e,_0x43dd97),--_0x43dd97,_0x4bfed8=_0x13eff3['length'];continue;}else _0x583484=![];}const _0x392413=_0x5368e0['processStateMachine'](_0x23075c,_0x30dca4,_0x1816ca);_0x1cc7b5=_0x1cc7b5&&_0x392413,_0x324cc2=_0x324cc2||_0x392413||Cesium__namespace['defined'](_0x5368e0[_0xbf8b55(0x7a4,_0x421b74._0x5b176b)]),_0x583484=_0x583484&&Cesium__namespace[_0x56d223(0x1263,0xc32)](_0x5368e0['loadingImagery'])&&(_0x5368e0[_0x56d223(_0x421b74._0x565801,-_0x421b74._0x4de213)]['state']===Cesium__namespace[_0x56d223(0x1037,0x149e)][_0xbf8b55(_0x421b74._0x4ce31a,0x15c0)]||_0x5368e0[_0x56d223(_0x421b74._0x45f711,0xae8)]['state']===Cesium__namespace[_0xbf8b55(0x1685,0x1b5f)]['INVALID']);}function _0x56d223(_0x26c50d,_0xb6767){return _0x54a7f1(_0x26c50d- -0x41e,_0xb6767);}return _0x23075c['upsampledFromParent']=_0x583484,_0x23075c['renderable']=_0x23075c[_0xbf8b55(_0x421b74._0x1498f7,_0x421b74._0x23f698)]&&(_0x324cc2||_0x1cc7b5),_0x1cc7b5;}['createRectanglePrimitive'](_0x260038,_0x54f7fa){const _0x315cf2={_0x4e376c:0x203,_0x19cffb:0x16e4,_0x1e5a44:0xc1b},_0x58fe4c={_0x3303a9:0xf26,_0x4c3864:0xf5f,_0x2a03d6:0x3f0,_0x47bfd2:0x1556,_0x5bba0a:0x1061},_0x19e149={_0x57f4b0:0xbc},_0x4587a2={_0x13b252:0x462},_0x5b4406={_0x1efb13:0x3a5},_0x1000a6={_0x3d8feb:0x13fc,_0x1e408b:0x1040},_0x25fec5=[],_0x329e98=[];this[_0x3aa286(0x12e,0x69a)][_0x3aa286(_0x315cf2._0x4e376c,0x85a)](_0x394964=>{const _0xfdae83={_0x66b929:0x60b};function _0x3e000b(_0x643e8b,_0x57ff62){return _0x3aa286(_0x643e8b,_0x57ff62-0x4c);}function _0x59f834(_0x1ea3f0,_0x4b3a46){return _0x3aa286(_0x4b3a46,_0x1ea3f0- -_0xfdae83._0x66b929);}_0x394964[_0x3e000b(_0x1000a6._0x3d8feb,0x961)]?_0x25fec5[_0x3e000b(_0x1000a6._0x1e408b,0x1169)](_0x394964):_0x329e98['push'](_0x394964);});const _0x3cd1c0=[],_0x1519ca=[],_0x36dcc4=[],_0x33b098=Cesium__namespace['ContextLimits']['maximumTextureImageUnits']-0x1;if(_0x25fec5[_0x3aa286(0xfe1,0x119a)]<_0x33b098)_0x1519ca['push'](_0x25fec5);else{let _0x4e9f04=[],_0x3f4f83=0x0;_0x25fec5['forEach'](_0x25c7ac=>{_0x3f4f83<_0x33b098?(_0x3f4f83+=0x1,_0x4e9f04['push'](_0x25c7ac)):(_0x3f4f83=0x0,_0x1519ca['push'](_0x4e9f04),_0x4e9f04=[]);}),_0x1519ca['push'](_0x4e9f04);}_0x1519ca['forEach'](_0x3ced62=>{const _0x945930=new Cesium__namespace['GroundPrimitive']({'geometryInstances':new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['RectangleGeometry']({'rectangle':_0x260038,'vertexFormat':Cesium__namespace['VertexFormat'][_0x2b0e8a(0xa70,0xa92)],'height':0x0,'extrudedHeight':0x4e20})}),'appearance':new Cesium__namespace['MaterialAppearance']({'translucent':![],'material':getMaterial(_0x3ced62['length'],!![])}),'asynchronous':![],'classificationType':_0x54f7fa});function _0x2b0e8a(_0x928d4c,_0x3e34bb){return _0x3aa286(_0x3e34bb,_0x928d4c- -0x30a);}_0x3cd1c0['push'](_0x945930),_0x945930['imagers']=_0x3ced62;});if(_0x329e98[_0x4e5e66(_0x315cf2._0x19cffb,0xccd)]<_0x33b098)_0x36dcc4['push'](_0x329e98);else{let _0x13bb2f=[],_0x4dc8ff=0x0;_0x329e98[_0x3aa286(0x3c,0x85a)](_0x123020=>{function _0x4f9d94(_0x397916,_0x40a515){return _0x3aa286(_0x40a515,_0x397916- -_0x5b4406._0x1efb13);}_0x4dc8ff<_0x33b098?(_0x4dc8ff+=0x1,_0x13bb2f['push'](_0x123020)):(_0x4dc8ff=0x0,_0x36dcc4[_0x4f9d94(0xd78,_0x4587a2._0x13b252)](_0x13bb2f),_0x13bb2f=[]);}),_0x36dcc4[_0x3aa286(_0x315cf2._0x1e5a44,0x111d)](_0x13bb2f);}function _0x4e5e66(_0x12f88d,_0x95e7c9){return _0x54a7f1(_0x95e7c9- -0x2b8,_0x12f88d);}function _0x3aa286(_0x95534c,_0x28a0eb){return _0x7afdbe(_0x95534c,_0x28a0eb- -0x19);}return _0x36dcc4['forEach'](_0x53faee=>{function _0x372b75(_0x2f6d71,_0x1c5f6a){return _0x3aa286(_0x2f6d71,_0x1c5f6a- -0x215);}const _0x4a038e=new Cesium__namespace[(_0x372b75(_0x58fe4c._0x3303a9,0xc08))]({'geometryInstances':new Cesium__namespace[(_0xc8c2fb(_0x58fe4c._0x4c3864,0x1031))]({'geometry':new Cesium__namespace[(_0xc8c2fb(0xbb0,_0x58fe4c._0x2a03d6))]({'rectangle':_0x260038,'vertexFormat':Cesium__namespace['VertexFormat']['POSITION_AND_ST']})}),'appearance':new Cesium__namespace[(_0xc8c2fb(0xe3a,_0x58fe4c._0x47bfd2))]({'translucent':!![],'material':getMaterial(_0x53faee['length'],!![])}),'asynchronous':![],'classificationType':_0x54f7fa});function _0xc8c2fb(_0x4a1a10,_0x36b11c){return _0x3aa286(_0x4a1a10,_0x36b11c- -_0x19e149._0x57f4b0);}_0x3cd1c0[_0xc8c2fb(0x798,_0x58fe4c._0x5bba0a)](_0x4a038e),_0x4a038e['imagers']=_0x53faee;}),_0x3cd1c0;}}function sortTileImageryByLayerIndex(_0x1a2816,_0xd91aa7){const _0xf80275={_0x2f85fd:0x105,_0x4b7edd:0x72e,_0x45f861:0x993,_0x48bac9:0xbcd,_0x52ceed:0x27f};function _0x184200(_0x4cbee0,_0x34f2d2){return _0x7afdbe(_0x34f2d2,_0x4cbee0- -0x302);}function _0x388f26(_0x1753cd,_0x2b6b61){return _0x54a7f1(_0x1753cd- -0xdf,_0x2b6b61);}let _0x5bed5b=_0x1a2816[_0x388f26(0x3a8,-0x6a9)];!Cesium__namespace['defined'](_0x5bed5b)&&(_0x5bed5b=_0x1a2816['readyImagery']);let _0x4e79cb=_0xd91aa7['loadingImagery'];return!Cesium__namespace[_0x388f26(0x15a2,0x1a62)](_0x4e79cb)&&(_0x4e79cb=_0xd91aa7[_0x184200(0x4a0,-_0xf80275._0x2f85fd)]),_0x5bed5b[_0x388f26(_0xf80275._0x4b7edd,_0xf80275._0x45f861)]['_layerIndex']-_0x4e79cb['imageryLayer'][_0x184200(_0xf80275._0x48bac9,_0xf80275._0x52ceed)];}const rectangleIntersectionScratch=new Cesium__namespace[(_0x54a7f1(0x4f9,-0x3de))](),splitCartographicLimitRectangleScratch=new Cesium__namespace[(_0x54a7f1(0x4f9,0xd1))](),rectangleCenterScratch=new Cesium__namespace['Cartographic']();function clipRectangleAntimeridian(_0x40954f,_0x56a398){const _0x1b9a6b={_0x2a9e2b:0x799,_0x33168f:0x1064,_0x2b8b71:0x1a17},_0x5b4e3c={_0x102896:0x29};function _0x105d2d(_0x1612d7,_0x135e41){return _0x54a7f1(_0x135e41-0x1c3,_0x1612d7);}if(_0x56a398['west']<_0x56a398[_0x5f03ce(0x1064,0x163f)])return _0x56a398;const _0x32ea99=Cesium__namespace['Rectangle'][_0x105d2d(_0x1b9a6b._0x2a9e2b,0x9b2)](_0x56a398,splitCartographicLimitRectangleScratch);function _0x5f03ce(_0x19d7ad,_0x528a32){return _0x54a7f1(_0x19d7ad-_0x5b4e3c._0x102896,_0x528a32);}const _0x120f70=Cesium__namespace['Rectangle']['center'](_0x40954f,rectangleCenterScratch);return _0x120f70[_0x5f03ce(0x6d1,0xcf7)]>0x0?_0x32ea99[_0x5f03ce(_0x1b9a6b._0x33168f,_0x1b9a6b._0x2b8b71)]=Cesium__namespace[_0x105d2d(0x17b1,0x146f)]['PI']:_0x32ea99['west']=-Cesium__namespace['Math']['PI'],_0x32ea99;}const readyImageryScratch=[],canRenderTraversalStack=[],tileDirectionScratch=new Cesium__namespace['Cartesian3']();function updateTileBoundingRegion(_0xf8e3ad,_0x5b0a24){let _0x52c134=_0xf8e3ad['data'];return _0x52c134===undefined&&(_0x52c134=_0xf8e3ad['data']=new GroundSurfaceTile(_0xf8e3ad['rectangle'])),_0xf8e3ad['data']['orientedBoundingBox']['distanceSquaredTo'](_0x5b0a24['camera']['positionWC']);}function getTileReadyCallback(_0x250b2b,_0x30a773,_0x19c96c){const _0x34b42c={_0x438141:0x992};return _0x295d41=>{const _0x68042b={_0x24b07a:0x1b8};let _0x4932ed,_0x58d2e2,_0x7a9adc=-0x1;const _0x352391=_0x295d41['data']['imagery'],_0x1052eb=_0x352391[_0x489f94(0xca6,0x771)];let _0x5f1646;for(_0x5f1646=0x0;_0x5f1646<_0x1052eb;++_0x5f1646){_0x4932ed=_0x352391[_0x5f1646],_0x58d2e2=Cesium__namespace['defaultValue'](_0x4932ed[_0x489f94(0x295,_0x34b42c._0x438141)],_0x4932ed[_0x489f94(0x1a8,0x5b5)]);if(_0x58d2e2[_0x36dce2(0xc6b,0x583)]===_0x30a773){_0x7a9adc=_0x5f1646;break;}}function _0x489f94(_0x49a253,_0x373edd){return _0x536c(_0x49a253- -_0x68042b._0x24b07a,_0x373edd);}function _0x36dce2(_0x4dd85e,_0x4a8475){return _0x536c(_0x4a8475- -0x163,_0x4dd85e);}if(_0x7a9adc!==-0x1){const _0x580de0=_0x7a9adc+_0x250b2b;_0x4932ed=_0x352391[_0x580de0],_0x58d2e2=Cesium__namespace['defined'](_0x4932ed)?Cesium__namespace['defaultValue'](_0x4932ed['readyImagery'],_0x4932ed[_0x36dce2(0x96c,0x1fd)]):undefined;if(!Cesium__namespace[_0x489f94(0x13a2,0x12a7)](_0x58d2e2)||_0x58d2e2['imageryLayer']!==_0x30a773)return!_0x30a773['_createTileImagerySkeletons'](_0x295d41,_0x19c96c,_0x580de0);for(_0x5f1646=_0x7a9adc;_0x5f1646<_0x580de0;++_0x5f1646){_0x352391[_0x5f1646]['freeResources']();}_0x352391['splice'](_0x7a9adc,_0x250b2b);}return!![];};}const scratchCartesian4=new Cesium__namespace[(_0x7afdbe(0x13f8,0x98a))]();function updateTileDataRectanglePrimitive(_0x135ffa,_0x493ded,_0x59e304){const _0x21a9a2={_0x49d13e:0x57f,_0x504aa0:0x39d,_0x79dcbb:0x963,_0x2dcfee:0x126,_0x834643:0xfdf,_0x52af20:0x988,_0x13c5a2:0x286,_0x474d13:0x517,_0xe2c26d:0x5a3,_0x17b688:0x449,_0x17a687:0x84c,_0x17ba79:0x485,_0x2b5672:0x547,_0x447cca:0x113};function _0x11e8d0(_0x437c4f,_0x4baeb2){return _0x7afdbe(_0x4baeb2,_0x437c4f- -0x57a);}const _0x4f6d16=_0x135ffa['data'],_0x287bdb=_0x4f6d16[_0x11e8d0(0xda8,0xcc7)];_0x287bdb['forEach'](_0x42b4cd=>{function _0x1d1bea(_0x5b284f,_0x572bd1){return _0x11e8d0(_0x572bd1- -0x31,_0x5b284f);}let _0x4247b8=![];function _0x1d3f09(_0x53f034,_0x51ec3c){return _0x11e8d0(_0x51ec3c-0x193,_0x53f034);}const _0x2ff139=_0x42b4cd[_0x1d3f09(-0x375,_0x21a9a2._0x49d13e)],_0x586ca8=_0x42b4cd[_0x1d3f09(0x62e,0x9e)]['material']['uniforms'];for(let _0xfb23c3=0x0,_0x4aadc1=_0x2ff139['length'];_0xfb23c3<_0x4aadc1;_0xfb23c3++){const _0x576fa9=_0x2ff139[_0xfb23c3],_0x485e62=_0x576fa9[_0x1d1bea(-0x127,0x1f7)];if(Cesium__namespace[_0x1d1bea(0x1824,0x1304)](_0x485e62)){var _0x617857;const _0x10eb3d=_0x576fa9['useWebMercatorT']?_0x485e62[_0x1d1bea(-_0x21a9a2._0x504aa0,0x512)]:_0x485e62[_0x1d3f09(0xb0a,0x774)];_0x42b4cd[_0x1d1bea(-_0x21a9a2._0x79dcbb,-_0x21a9a2._0x2dcfee)]['material']['_textures'][_0x1d1bea(0xa8f,_0x21a9a2._0x834643)+_0xfb23c3]=_0x10eb3d,!Cesium__namespace['defined'](_0x576fa9[_0x1d1bea(0x1520,0xf0d)])&&(_0x576fa9[_0x1d1bea(_0x21a9a2._0x52af20,0xf0d)]=_0x576fa9['imageryLayer'][_0x1d1bea(-_0x21a9a2._0x13c5a2,_0x21a9a2._0x474d13)](_0x135ffa,_0x576fa9)),Cesium__namespace[_0x1d3f09(0x366,_0x21a9a2._0xe2c26d)][_0x1d3f09(-_0x21a9a2._0x17b688,0x636)](_0x576fa9[_0x1d1bea(_0x21a9a2._0x17a687,0xf0d)],_0x586ca8[_0x1d1bea(-0x51,-0x94)+_0xfb23c3]),Cesium__namespace[_0x1d1bea(-0x270,0x3df)]['clone'](_0x576fa9['textureCoordinateRectangle'],_0x586ca8[_0x1d1bea(0xbc8,0x905)+_0xfb23c3]),_0x586ca8[_0x1d1bea(0x1009,0x60b)+_0xfb23c3]=_0x576fa9[_0x1d3f09(-_0x21a9a2._0x17ba79,_0x21a9a2._0x2b5672)],_0x586ca8['u_textureAlpha'+_0xfb23c3]=((_0x617857=_0x485e62['imageryLayer'])===null||_0x617857===void 0x0?void 0x0:_0x617857['alpha'])??0x1,Cesium__namespace[_0x1d1bea(-0x72,0x3df)]['fromElements'](_0x135ffa[_0x1d3f09(0x34c,_0x21a9a2._0x447cca)][_0x1d3f09(-0x106,0x334)],_0x135ffa['rectangle']['south'],_0x135ffa['rectangle']['east'],_0x135ffa['rectangle']['north'],scratchCartesian4),Cesium__namespace[_0x1d3f09(0x816,0x5a3)]['clone'](scratchCartesian4,_0x586ca8['u_tileRectangle']),_0x4247b8=!![];}}_0x4247b8&&(_0x42b4cd['classificationType']=_0x59e304,_0x42b4cd['update'](_0x493ded));});}class GlobeSurfaceTileProvider{constructor(_0x5e530c){const _0x5d7aa8={_0x36fe35:0xb69,_0x41abe8:0x1c13,_0x4e9b51:0x1081,_0x289712:0x9c5,_0x322743:0x76c,_0x4f90f8:0xfcf,_0x5b31d2:0xdc3,_0x430005:0x1ce3,_0x153180:0x18a7,_0x45dcde:0x162e,_0x5ebbca:0x375,_0x5e40fe:0x543,_0x2d8059:0xb38};function _0x1232b1(_0x3db6d0,_0x2beb38){return _0x7afdbe(_0x3db6d0,_0x2beb38- -0x363);}this['_quadtree']=undefined,this[_0x1232b1(_0x5d7aa8._0x36fe35,0x140f)]=new Cesium__namespace['EllipsoidTerrainProvider'](),this[_0x11b573(_0x5d7aa8._0x41abe8,0x14bc)]=Cesium__namespace['ClassificationType']['BOTH'],this['_imageryLayers']=_0x5e530c,this['_errorEvent']=new Cesium__namespace['Event'](),this['_removeLayerAddedListener']=this[_0x11b573(_0x5d7aa8._0x4e9b51,0xbe8)][_0x1232b1(0x61d,0xde1)]['addEventListener'](GlobeSurfaceTileProvider['prototype'][_0x1232b1(_0x5d7aa8._0x289712,_0x5d7aa8._0x322743)],this),this[_0x1232b1(0x187d,0x13ae)]=this['_imageryLayers'][_0x11b573(_0x5d7aa8._0x4f90f8,_0x5d7aa8._0x5b31d2)][_0x1232b1(_0x5d7aa8._0x430005,0x162e)](GlobeSurfaceTileProvider['prototype']['_onLayerRemoved'],this),this['_removeLayerMovedListener']=this['_imageryLayers']['layerMoved']['addEventListener'](GlobeSurfaceTileProvider['prototype']['_onLayerMoved'],this),this['_removeLayerShownListener']=this[_0x11b573(0x1296,0xbe8)][_0x1232b1(0xfa5,0x124a)][_0x1232b1(_0x5d7aa8._0x153180,_0x5d7aa8._0x45dcde)](GlobeSurfaceTileProvider[_0x1232b1(_0x5d7aa8._0x5ebbca,0x4db)]['_onLayerShownOrHidden'],this),this[_0x11b573(0xfc9,0x163c)]=new Cesium__namespace['Event'](),this[_0x1232b1(0x8b0,_0x5d7aa8._0x5e40fe)]=![],this['_tilesToRenderByTextureCount']=[];const _0x70e841={};function _0x11b573(_0x3b268d,_0xb45af3){return _0x54a7f1(_0xb45af3-0xb4,_0x3b268d);}_0x70e841[_0x11b573(0x252,0x9ed)]=![],_0x70e841['boundingSphereTile']=undefined,this['_debug']=_0x70e841,this[_0x11b573(0x1919,0x1379)]=new Cesium__namespace['Color'](0x0,0x0,0.5,0x1),this['_firstPassInitialColor']=undefined,this[_0x11b573(0x722,_0x5d7aa8._0x2d8059)]=Cesium__namespace['Rectangle']['clone'](Cesium__namespace['Rectangle'][_0x1232b1(0x12e4,0xf6a)]);}get[_0x54a7f1(0x74d,0xf21)](){return this['_baseColor'];}set['baseColor'](_0x28da51){const _0x599bf1={_0x451762:0x1692},_0x420f86={_0x519568:0x25};this['_baseColor']=_0x28da51;function _0x44187c(_0x162f6f,_0x5a69d4){return _0x7afdbe(_0x5a69d4,_0x162f6f-_0x420f86._0x519568);}this['_firstPassInitialColor']=Cesium__namespace['Cartesian4'][_0x44187c(_0x599bf1._0x451762,0x1b79)](_0x28da51,this['_firstPassInitialColor']);}get['quadtree'](){return this['_quadtree'];}set[_0x54a7f1(0x30f,0x871)](_0x2fb26f){function _0x391f0b(_0x4fc15b,_0x51e705){return _0x54a7f1(_0x51e705-0x76,_0x4fc15b);}this[_0x391f0b(0x7ef,0xd27)]=_0x2fb26f;}get[_0x7afdbe(0xe36,0xea5)](){function _0x454166(_0x167765,_0x2e16ef){return _0x7afdbe(_0x167765,_0x2e16ef- -0x4e8);}function _0x4dc43a(_0x39f705,_0x300622){return _0x54a7f1(_0x300622- -0xbc,_0x39f705);}if(!Cesium__namespace[_0x454166(0x1bb2,0x13c7)](this['_terrainProvider']))return undefined;return this['_terrainProvider'][_0x454166(0x86,0x9bd)];}get[_0x7afdbe(0x17bb,0xee2)](){return this['_errorEvent'];}get['imageryLayersUpdatedEvent'](){return this['_imageryLayersUpdatedEvent'];}[_0x7afdbe(0x149f,0xb6d)](_0x35ebe0){const _0x5e1240={_0x2bc5d6:0xe28},_0x19ec1d={_0x587c10:0x86};function _0xed6c6(_0x2748d5,_0x74493d){return _0x54a7f1(_0x74493d-_0x19ec1d._0x587c10,_0x2748d5);}this['_imageryLayers'][_0xed6c6(_0x5e1240._0x2bc5d6,0x140b)]();}['initialize'](_0x33beaf){this['_imageryLayers']['queueReprojectionCommands'](_0x33beaf),this['_layerOrderChanged']&&(this['_layerOrderChanged']=![],this['_quadtree']['forEachLoadedTile'](_0x4c5a13=>{function _0x56554d(_0x139fb2,_0x44130d){return _0x536c(_0x139fb2-0x2c1,_0x44130d);}_0x4c5a13[_0x56554d(0xe09,0x8fe)]['imagery']['sort'](sortTileImageryByLayerIndex);}));}[_0x54a7f1(0x4fb,0xedd)](_0x2d9e1e){function _0x5512e5(_0x201361,_0x1c6395){return _0x54a7f1(_0x1c6395-0x2bd,_0x201361);}const _0x15755a=this['_tilesToRenderByTextureCount'];for(let _0x772b=0x0,_0x58b76c=_0x15755a[_0x5512e5(0x14c3,0x1242)];_0x772b<_0x58b76c;++_0x772b){const _0x3ac035=_0x15755a[_0x772b];Cesium__namespace['defined'](_0x3ac035)&&(_0x3ac035['length']=0x0);}}['endUpdate'](_0x4c559e){const _0x5851a5={_0x5ddf58:0x1296,_0x3706ff:0x164b},_0x2763a0=this['_tilesToRenderByTextureCount'];function _0x4b07ed(_0xbb9b56,_0x58af6a){return _0x54a7f1(_0x58af6a- -0x2df,_0xbb9b56);}function _0x240e50(_0xae146f,_0x40fe91){return _0x54a7f1(_0xae146f- -0x3eb,_0x40fe91);}for(let _0x3b05de=0x0,_0x39a8dd=_0x2763a0['length'];_0x3b05de<_0x39a8dd;++_0x3b05de){const _0xcec273=_0x2763a0[_0x3b05de];if(!Cesium__namespace[_0x240e50(_0x5851a5._0x5ddf58,0x100f)](_0xcec273))continue;for(let _0x1b83f0=0x0,_0x5b28b9=_0xcec273['length'];_0x1b83f0<_0x5b28b9;++_0x1b83f0){const _0x594d0f=_0xcec273[_0x1b83f0],_0x4439c5=_0x594d0f['data']['primitive'];_0x4439c5&&_0x4439c5['length']>0x0&&updateTileDataRectanglePrimitive(_0x594d0f,_0x4c559e,this[_0x4b07ed(_0x5851a5._0x3706ff,0x1129)]);}}}['cancelReprojections'](){this['_imageryLayers']['cancelReprojections']();}['getLevelMaximumGeometricError'](_0x4860e0){if(!Cesium__namespace['defined'](this['_terrainProvider']))return 0x0;return this['_terrainProvider']['getLevelMaximumGeometricError'](_0x4860e0);}['loadTile'](_0x210155,_0x15258c){const _0x2b3cce={_0x1ced9e:0xc63,_0x21b400:0x2fc,_0x38ea9b:0x79f,_0x58786a:0xa04,_0xa4cf2f:0x14f1,_0x40b23d:0x8e},_0x2a1224={_0x511237:0x6fe};let _0xceefe8=_0x15258c[_0x3ad1f4(0xd9e,0x15ea)],_0x54ce95;function _0x3ad1f4(_0x3f91bb,_0x18b8b4){return _0x54a7f1(_0x3f91bb-0x12f,_0x18b8b4);}Cesium__namespace['defined'](_0xceefe8)&&(_0x54ce95=_0xceefe8['geometryState']);function _0x5bdde4(_0x3f01f9,_0x49a278){return _0x7afdbe(_0x3f01f9,_0x49a278- -_0x2a1224._0x511237);}GroundSurfaceTile['processStateMachine'](_0x15258c,_0x210155,this['_terrainProvider'],this[_0x3ad1f4(_0x2b3cce._0x1ced9e,_0x2b3cce._0x21b400)]),_0xceefe8=_0x15258c[_0x5bdde4(0xcbd,_0x2b3cce._0x38ea9b)],_0x54ce95!==_0x15258c[_0x5bdde4(0x11d4,0x79f)][_0x3ad1f4(0xaf3,_0x2b3cce._0x58786a)]&&(this[_0x3ad1f4(0xd23,_0x2b3cce._0xa4cf2f)](_0x15258c,_0x210155,this['quadtree'][_0x5bdde4(_0x2b3cce._0x40b23d,0xa61)])!==Cesium__namespace['Visibility']['NONE']&&_0xceefe8['boundingVolumeSourceTile']===_0x15258c&&GroundSurfaceTile[_0x5bdde4(0xd2d,0xaf2)](_0x15258c,_0x210155,this['_terrainProvider'],this['_imageryLayers']));}['computeTileVisibility'](_0x5509da,_0x476f12,_0xfaf3){const _0x36a75e={_0x4f4e08:0x155f,_0x4ec583:0x1a13,_0x5767a4:0x98a,_0x3f897f:0x1006,_0xdd19fa:0x13cf,_0x37d952:0xff5,_0x62ce2b:0xee4,_0x56d450:0x1680,_0x2921d1:0x130d,_0x138ca7:0x126c,_0x2cb2e6:0x1ad3,_0x3af2cd:0x1133,_0x27e558:0x871,_0x29ad9d:0xd29,_0x2ad553:0x130d};function _0x80f349(_0x1a2ac1,_0x16c2f2){return _0x54a7f1(_0x16c2f2-0x276,_0x1a2ac1);}const _0x314559=this['computeDistanceToTile'](_0x5509da,_0x476f12);function _0x9ee5eb(_0x4b31e8,_0x4e1e00){return _0x54a7f1(_0x4e1e00- -0x1,_0x4b31e8);}_0x5509da[_0x9ee5eb(0x21,0x417)]=_0x314559;const _0x26ed58=_0x5509da['data'],_0x5af713=_0x26ed58[_0x80f349(_0x36a75e._0x4f4e08,_0x36a75e._0x4ec583)];if(_0x26ed58['boundingVolumeSourceTile']===undefined)return Cesium__namespace['Visibility'][_0x80f349(0x1af3,0x12ec)];const _0x27fe3e=_0x476f12['cullingVolume'];let _0x15e9be=_0x5af713[_0x9ee5eb(_0x36a75e._0x5767a4,_0x36a75e._0x3f897f)];!Cesium__namespace['defined'](_0x15e9be)&&(_0x15e9be=_0x5af713['boundingSphere']);_0x26ed58['clippedByBoundaries']=![];const _0x3625ed=clipRectangleAntimeridian(_0x5509da[_0x80f349(0x51f,0x542)],this['cartographicLimitRectangle']),_0xfeb786=Cesium__namespace['Rectangle']['simpleIntersection'](_0x3625ed,_0x5509da['rectangle'],rectangleIntersectionScratch);if(!Cesium__namespace['defined'](_0xfeb786))return Cesium__namespace['Visibility'][_0x9ee5eb(_0x36a75e._0xdd19fa,_0x36a75e._0x37d952)];!Cesium__namespace['Rectangle'][_0x9ee5eb(0x940,_0x36a75e._0x62ce2b)](_0xfeb786,_0x5509da['rectangle'])&&(_0x26ed58['clippedByBoundaries']=!![]);if(!Cesium__namespace[_0x9ee5eb(0x18a7,_0x36a75e._0x56d450)](_0x15e9be))return Cesium__namespace[_0x9ee5eb(0x127d,_0x36a75e._0x2921d1)]['PARTIAL'];let _0x109cc7;const _0x1b070c=_0x27fe3e['computeVisibility'](_0x15e9be);if(_0x1b070c===Cesium__namespace['Intersect']['OUTSIDE'])_0x109cc7=Cesium__namespace['Visibility'][_0x80f349(0xe9b,_0x36a75e._0x138ca7)];else{if(_0x1b070c===Cesium__namespace[_0x9ee5eb(_0x36a75e._0x2cb2e6,_0x36a75e._0x3af2cd)][_0x80f349(0x1c4,_0x36a75e._0x27e558)])_0x109cc7=Cesium__namespace['Visibility']['PARTIAL'];else _0x1b070c===Cesium__namespace['Intersect']['INSIDE']&&(_0x109cc7=Cesium__namespace[_0x9ee5eb(_0x36a75e._0x29ad9d,_0x36a75e._0x2ad553)]['FULL']);}if(_0x109cc7===Cesium__namespace['Visibility']['NONE'])return _0x109cc7;return _0x109cc7;}['canRefine'](_0x1d8ea3){const _0x516fe9={_0x27450f:0x17ca,_0xb657aa:0x17f3,_0x27c84d:0xb59,_0x5ac8b9:0xde1},_0x45d425={_0x1b2fb6:0x24f};if(Cesium__namespace[_0x286f6c(_0x516fe9._0x27450f,_0x516fe9._0xb657aa)](_0x1d8ea3[_0x286f6c(_0x516fe9._0x27c84d,_0x516fe9._0x5ac8b9)]['primitive']))return!![];function _0x1030be(_0x17dd97,_0x4b2edb){return _0x54a7f1(_0x4b2edb- -_0x45d425._0x1b2fb6,_0x17dd97);}function _0x286f6c(_0x5e46bd,_0x25bcaf){return _0x7afdbe(_0x5e46bd,_0x25bcaf- -0xbc);}const _0x220b33=this[_0x1030be(0x1baf,0x12f5)]['getTileDataAvailable'](_0x1d8ea3['x']*0x2,_0x1d8ea3['y']*0x2,_0x1d8ea3[_0x286f6c(0xa6c,0x63e)]+0x1);return _0x220b33!==undefined;}['canRenderWithoutLosingDetail'](_0x43f33b,_0x32badc){const _0xb1dd76={_0x3c2609:0x799,_0x3bb9ae:0x34b,_0x26da1d:0x4e,_0x1bc9f1:0x3d4,_0x1bb9d4:0x1778,_0x117d38:0x6de,_0x7bf01:0x71f,_0x337c1e:0x139f,_0x42a5dc:0x10c0,_0x164357:0xd4d,_0xaa3c3c:0xd39,_0x2a6270:0x58b,_0x5fa9ea:0x5b1,_0x3b190f:0x296,_0x5f2587:0x551,_0x4657e2:0xd6b,_0x2c015a:0x1619,_0x11cb22:0x1333,_0x1ced5f:0x6e0};function _0xe7d022(_0x3406d5,_0xfa046e){return _0x54a7f1(_0xfa046e-0xca,_0x3406d5);}const _0x16f970=_0x43f33b['data'],_0x3bd347=readyImageryScratch;_0x3bd347['length']=this['_imageryLayers']['length'];let _0x47315b=![],_0x54e381=![],_0x22fd1a;Cesium__namespace['defined'](_0x16f970)&&(_0x47315b=_0x16f970['geometryState']===Cesium__namespace['TerrainState'][_0xe7d022(0xd37,_0xb1dd76._0x3c2609)],_0x54e381=!![],_0x22fd1a=_0x16f970['imagery']);let _0x58edda;function _0x379db4(_0xc3af64,_0x2e27e2){return _0x7afdbe(_0xc3af64,_0x2e27e2- -0x667);}let _0x153de5;for(_0x58edda=0x0,_0x153de5=_0x3bd347['length'];_0x58edda<_0x153de5;++_0x58edda){_0x3bd347[_0x58edda]=_0x54e381;}if(Cesium__namespace[_0x379db4(0x1959,0x1248)](_0x22fd1a))for(_0x58edda=0x0,_0x153de5=_0x22fd1a['length'];_0x58edda<_0x153de5;++_0x58edda){const _0x5b7094=_0x22fd1a[_0x58edda],_0x5c3211=_0x5b7094[_0x379db4(_0xb1dd76._0x3bb9ae,_0xb1dd76._0x26da1d)],_0x3e8e83=!Cesium__namespace[_0x379db4(0x147a,0x1248)](_0x5c3211)||_0x5c3211[_0xe7d022(0xcbe,0xb96)]===Cesium__namespace[_0x379db4(0x17e0,0x101c)][_0xe7d022(0xd12,0xd84)]||_0x5c3211[_0x379db4(-0x277,0x693)]===Cesium__namespace['ImageryState']['INVALID'],_0x59e954=(_0x5b7094['loadingImagery']||_0x5b7094[_0x379db4(0x2f9,0x13b)])[_0x379db4(0x8ea,_0xb1dd76._0x1bc9f1)]['_layerIndex'];_0x3bd347[_0x59e954]=_0x3e8e83&&_0x3bd347[_0x59e954];}const _0x343519=this['quadtree'][_0xe7d022(_0xb1dd76._0x1bb9d4,0xf1d)],_0x42597f=canRenderTraversalStack;_0x42597f['length']=0x0,_0x42597f['push'](_0x43f33b[_0x379db4(0xcd5,0x11d5)],_0x43f33b['southeastChild'],_0x43f33b['northwestChild'],_0x43f33b['northeastChild']);while(_0x42597f['length']>0x0){const _0xc6164e=_0x42597f[_0x379db4(_0xb1dd76._0x117d38,0x1189)](),_0x19ce42=_0xc6164e['_lastSelectionResultFrame']===_0x343519?_0xc6164e[_0x379db4(_0xb1dd76._0x7bf01,0xcdd)]:Cesium__namespace['TileSelectionResult'][_0xe7d022(_0xb1dd76._0x337c1e,_0xb1dd76._0x42a5dc)];if(_0x19ce42===Cesium__namespace[_0x379db4(0x136b,_0xb1dd76._0x164357)]['RENDERED']){const _0x49e439=_0xc6164e[_0xe7d022(0x1630,_0xb1dd76._0xaa3c3c)];if(!Cesium__namespace['defined'](_0x49e439))continue;if(!_0x47315b&&_0xc6164e['data'][_0x379db4(0xcff,_0xb1dd76._0x2a6270)]===Cesium__namespace['TerrainState'][_0x379db4(_0xb1dd76._0x5fa9ea,_0xb1dd76._0x3b190f)])return![];const _0x42ae33=_0xc6164e['data']['imagery'];for(_0x58edda=0x0,_0x153de5=_0x42ae33['length'];_0x58edda<_0x153de5;++_0x58edda){const _0x5328a7=_0x42ae33[_0x58edda],_0x3ec807=_0x5328a7[_0x379db4(0x2c5,0x4e)],_0xdf4fc0=!Cesium__namespace['defined'](_0x3ec807)||_0x3ec807['state']===Cesium__namespace['ImageryState']['FAILED']||_0x3ec807['state']===Cesium__namespace['ImageryState']['INVALID'],_0x17017a=(_0x5328a7[_0xe7d022(-0x4d7,_0xb1dd76._0x5f2587)]||_0x5328a7['readyImagery'])['imageryLayer'][_0xe7d022(0x1453,_0xb1dd76._0x4657e2)];if(_0xdf4fc0&&!_0x3bd347[_0x17017a])return![];}}else _0x19ce42===Cesium__namespace['TileSelectionResult'][_0xe7d022(-0x337,0x6c6)]&&_0x42597f['push'](_0xc6164e['southwestChild'],_0xc6164e[_0xe7d022(_0xb1dd76._0x2c015a,_0xb1dd76._0x11cb22)],_0xc6164e['northwestChild'],_0xc6164e[_0xe7d022(-0x1ad,_0xb1dd76._0x1ced5f)]);}return!![];}[_0x54a7f1(0x354,-0x2d6)](_0x5e22b7,_0x3ce67a){const _0x2aab21={_0x32ff11:0x2bc,_0x1af17a:0x1ac,_0xad1d67:0x72,_0x56ba32:0x389,_0x27359d:0x49d,_0x967ad4:0xb75,_0x4d12ac:0x696,_0x9e941d:0x2a0},_0x3c6b12={_0x5e5420:0xab},_0x127f61=_0x5e22b7[_0x24f601(0xdf2,0x1727)];if(_0x127f61===undefined)return 0x0;function _0x2e67c0(_0x301381,_0x1de066){return _0x54a7f1(_0x301381- -0x29f,_0x1de066);}const _0x45cef6=_0x127f61['tileBoundingRegion']['boundingVolume'];function _0x24f601(_0x529796,_0x19cec0){return _0x7afdbe(_0x19cec0,_0x529796- -_0x3c6b12._0x5e5420);}if(_0x45cef6===undefined)return 0x0;const _0x44bfcc=_0x3ce67a[_0x2e67c0(_0x2aab21._0x32ff11,-_0x2aab21._0x1af17a)]['positionWC'],_0x3c2235=_0x3ce67a[_0x2e67c0(_0x2aab21._0x32ff11,-_0x2aab21._0xad1d67)]['directionWC'],_0x28db85=Cesium__namespace['Cartesian3']['subtract'](_0x45cef6['center'],_0x44bfcc,tileDirectionScratch),_0x323de3=Cesium__namespace['Cartesian3'][_0x2e67c0(_0x2aab21._0x56ba32,-_0x2aab21._0x27359d)](_0x28db85);if(_0x323de3<Cesium__namespace['Math'][_0x2e67c0(_0x2aab21._0x967ad4,0x81c)])return 0x0;return Cesium__namespace['Cartesian3']['divideByScalar'](_0x28db85,_0x323de3,_0x28db85),(0x1-Cesium__namespace['Cartesian3'][_0x24f601(_0x2aab21._0x4d12ac,0x67e)](_0x28db85,_0x3c2235))*_0x5e22b7[_0x24f601(0x59b,_0x2aab21._0x9e941d)];}['showTileThisFrame'](_0x44e715,_0x17910e){const _0x2156f9={_0x3bcff3:0x1964,_0x24530b:0x1d4,_0x3e5f28:0x7cf,_0x26f42b:0xcde};let _0x415acb=0x0;function _0x5bf62c(_0x1e237c,_0x479146){return _0x7afdbe(_0x479146,_0x1e237c- -0x381);}const _0x1e7e28=_0x44e715['data']['imagery'];for(let _0x42cc2a=0x0,_0x48c210=_0x1e7e28['length'];_0x42cc2a<_0x48c210;++_0x42cc2a){const _0x2db4e9=_0x1e7e28[_0x42cc2a];Cesium__namespace[_0x950557(_0x2156f9._0x3bcff3,0x12e1)](_0x2db4e9[_0x950557(0x9fc,_0x2156f9._0x24530b)])&&_0x2db4e9['readyImagery']['imageryLayer'][_0x950557(_0x2156f9._0x3e5f28,0x36)]!==0x0&&++_0x415acb;}let _0x3e0272=this['_tilesToRenderByTextureCount'][_0x415acb];!Cesium__namespace['defined'](_0x3e0272)&&(_0x3e0272=[],this[_0x5bf62c(_0x2156f9._0x26f42b,0x10f7)][_0x415acb]=_0x3e0272);_0x3e0272['push'](_0x44e715);const _0x3a724a=this['_debug'];function _0x950557(_0x2811d0,_0x1b6504){return _0x54a7f1(_0x1b6504- -0x3a0,_0x2811d0);}++_0x3a724a['tilesRendered'],_0x3a724a['texturesRendered']+=_0x415acb;}[_0x7afdbe(0x1c8f,0x150e)](_0x5159d2,_0x466b2b){const _0xf02f35={_0xef818b:0x917,_0x101893:0x10a5};updateTileBoundingRegion(_0x5159d2,_0x466b2b);function _0x41c8b0(_0x407cab,_0x113cd3){return _0x7afdbe(_0x407cab,_0x113cd3- -0x3f2);}function _0x491827(_0xc2f42d,_0x51f9f1){return _0x54a7f1(_0x51f9f1-0x12b,_0xc2f42d);}const _0x2d8a3a=_0x5159d2[_0x41c8b0(_0xf02f35._0xef818b,0xaab)][_0x491827(_0xf02f35._0x101893,0x18c8)];return _0x2d8a3a['distanceToCamera'](_0x466b2b);}[_0x54a7f1(0xfda,0x1622)](){return![];}[_0x54a7f1(0x432,0xa64)](){const _0x12d8c5={_0x14bb18:0xdd5,_0x10233a:0x93d,_0x14f5d2:0x2b9};this['_removeLayerAddedListener']=this['_removeLayerAddedListener']&&this['_removeLayerAddedListener'](),this[_0xa06e6e(0x12bc,_0x12d8c5._0x14bb18)]=this['_removeLayerRemovedListener']&&this['_removeLayerRemovedListener'](),this['_removeLayerMovedListener']=this['_removeLayerMovedListener']&&this['_removeLayerMovedListener'](),this['_removeLayerShownListener']=this['_removeLayerShownListener']&&this[_0xa06e6e(_0x12d8c5._0x10233a,-0x86)]();function _0xa06e6e(_0x5d48bc,_0x513fa7){return _0x54a7f1(_0x5d48bc- -0x227,_0x513fa7);}function _0x26aaf4(_0x13b4de,_0x2424ab){return _0x54a7f1(_0x13b4de- -0xb1,_0x2424ab);}return Cesium__namespace[_0xa06e6e(_0x12d8c5._0x14f5d2,0xa7)](this);}[_0x54a7f1(0x8a1,0xdd5)](_0x2f79ef,_0x1a1053){const _0x78eacd={_0x57bcc5:0x1401,_0x44850f:0x1273,_0x40598f:0xc5,_0x28ce00:0x960,_0x282e0a:0x363},_0x24d3fe={_0x5b7a0e:0x38a,_0x414ec6:0x986},_0x10d1cb={_0x5f4178:0x3ca,_0x2057f7:0x9ca,_0x1fd838:0xc8f},_0x242a0c={_0x1a8fd7:0xf8};function _0x21d26f(_0x32ba7a,_0x1f403d){return _0x54a7f1(_0x1f403d- -_0x242a0c._0x1a8fd7,_0x32ba7a);}function _0x575bbe(_0x4d6078,_0x1294c9){return _0x7afdbe(_0x4d6078,_0x1294c9- -0x543);}if(_0x2f79ef[_0x575bbe(0x11cc,0x12de)]){const _0x4b0d69=this['_terrainProvider'],_0x1d35bf=this,_0x136661=this[_0x575bbe(_0x78eacd._0x57bcc5,_0x78eacd._0x44850f)],_0x28f485=function(){const _0x5dc5c5={_0x35c149:0x1b0};_0x2f79ef['_imageryCache']={},_0x1d35bf['_quadtree']['forEachLoadedTile'](_0x430ca3=>{const _0x51e98a={_0x1897fd:0xa8};function _0x2b005b(_0x1150fb,_0x953885){return _0x536c(_0x1150fb-_0x51e98a._0x1897fd,_0x953885);}if(Cesium__namespace[_0x2b005b(0x1602,0x1210)](_0x430ca3[_0x4d2982(-0x793,0x2a)][_0x2f79ef['_layerIndex']]))return;let _0x2a2251;const _0x1709c2=_0x430ca3['data'][_0x4d2982(0x9a0,0x1ae)],_0x8c9a0=_0x1709c2[_0x4d2982(0x1394,0xcae)];function _0x4d2982(_0x34bd6b,_0x3a63d3){return _0x536c(_0x3a63d3- -_0x5dc5c5._0x35c149,_0x34bd6b);}let _0x4a3a1c=-0x1,_0x360c1a=0x0;for(_0x2a2251=0x0;_0x2a2251<_0x8c9a0;++_0x2a2251){const _0x211304=_0x1709c2[_0x2a2251],_0x299552=Cesium__namespace['defaultValue'](_0x211304['readyImagery'],_0x211304['loadingImagery']);if(_0x299552[_0x2b005b(0x78e,0x87f)]===_0x2f79ef)_0x4a3a1c===-0x1&&(_0x4a3a1c=_0x2a2251),++_0x360c1a;else{if(_0x4a3a1c!==-0x1)break;}}if(_0x4a3a1c===-0x1)return;const _0x448f25=_0x4a3a1c+_0x360c1a;_0x2f79ef['_createTileImagerySkeletons'](_0x430ca3,_0x4b0d69,_0x448f25)&&(_0x430ca3[_0x2b005b(0x282,_0x10d1cb._0x5f4178)][_0x2f79ef[_0x4d2982(0x590,_0x10d1cb._0x2057f7)]]=getTileReadyCallback(_0x360c1a,_0x2f79ef,_0x4b0d69),_0x430ca3[_0x4d2982(_0x10d1cb._0x1fd838,0x7f5)]=Cesium__namespace['QuadtreeTileLoadState']['LOADING']);});};if(_0x2f79ef[_0x575bbe(-_0x78eacd._0x40598f,0x3d)]){const _0xd84d98=_0x2f79ef['imageryProvider'];_0xd84d98['_reload']=_0x28f485;}this['_quadtree']['forEachLoadedTile'](_0x3e64b=>{function _0x2c8d3b(_0x3cd8f7,_0xed73d4){return _0x575bbe(_0x3cd8f7,_0xed73d4- -0xbc);}function _0x22184a(_0x3337f2,_0x49cdd1){return _0x21d26f(_0x49cdd1,_0x3337f2- -0x24d);}_0x2f79ef['_createTileImagerySkeletons'](_0x3e64b,_0x4b0d69)&&(_0x3e64b[_0x2c8d3b(_0x24d3fe._0x5b7a0e,0x6fb)]=Cesium__namespace[_0x2c8d3b(0x5ae,_0x24d3fe._0x414ec6)]['LOADING'],_0x3e64b['level']!==0x0&&(_0x3e64b['_lastSelectionResultFrame']!==_0x1d35bf['quadtree']['_lastSelectionFrameNumber']||_0x3e64b['_lastSelectionResult']!==Cesium__namespace['TileSelectionResult']['RENDERED'])&&(_0x3e64b['renderable']=![]));}),this[_0x575bbe(_0x78eacd._0x28ce00,_0x78eacd._0x282e0a)]=!![],_0x136661['raiseEvent']();}}[_0x7afdbe(0x624,0x84e)](_0x1fd52b,_0x37efc9){const _0x3f827e={_0x4dc6b2:0xe2c,_0x58e5cc:0xc80,_0x2c51ae:0x1694},_0x23e218={_0x46f82d:0x1268};function _0x508498(_0x2484d7,_0xf9bf61){return _0x7afdbe(_0xf9bf61,_0x2484d7- -0x559);}this[_0x532c87(_0x3f827e._0x4dc6b2,_0x3f827e._0x58e5cc)]['forEachLoadedTile'](_0xf93f03=>{const _0x65c93e=_0xf93f03['data']['imagery'];let _0x271a44=-0x1;function _0x1eae36(_0x252507,_0x30b769){return _0x532c87(_0x30b769,_0x252507- -0x346);}let _0x43fc4d=0x0;for(let _0x401637=0x0,_0x2e4684=_0x65c93e[_0x539434(0xe82,_0x23e218._0x46f82d)];_0x401637<_0x2e4684;++_0x401637){const _0x2d2dbe=_0x65c93e[_0x401637];let _0x1cc986=_0x2d2dbe['loadingImagery'];!Cesium__namespace['defined'](_0x1cc986)&&(_0x1cc986=_0x2d2dbe['readyImagery']);if(_0x1cc986['imageryLayer']===_0x1fd52b)_0x271a44===-0x1&&(_0x271a44=_0x401637),_0x2d2dbe['freeResources'](),++_0x43fc4d;else{if(_0x271a44!==-0x1)break;}}function _0x539434(_0x591f16,_0x51f424){return _0x532c87(_0x51f424,_0x591f16- -0xd2);}_0x271a44!==-0x1&&_0x65c93e[_0x539434(0x6e8,0x6d7)](_0x271a44,_0x43fc4d);});function _0x532c87(_0xa9fe15,_0xf65830){return _0x7afdbe(_0xa9fe15,_0xf65830- -0x25f);}Cesium__namespace['defined'](_0x1fd52b['imageryProvider'])&&(_0x1fd52b['imageryProvider']['_reload']=undefined),this['_imageryLayersUpdatedEvent'][_0x508498(0x118e,_0x3f827e._0x2c51ae)]();}['_onLayerMoved'](_0x2a6a40,_0x1e04a6,_0x3c7a9c){const _0x19abc3={_0x11e807:0x1789,_0x2a4200:0x101c},_0x14d850={_0x558452:0x2d};this['_layerOrderChanged']=!![];function _0x228161(_0x1dd73b,_0x292816){return _0x7afdbe(_0x292816,_0x1dd73b- -_0x14d850._0x558452);}function _0x5d7cf0(_0x56d8f7,_0x406db9){return _0x7afdbe(_0x406db9,_0x56d8f7- -0x6cb);}this[_0x228161(_0x19abc3._0x11e807,0x1d15)][_0x5d7cf0(_0x19abc3._0x2a4200,0x1411)]();}['_onLayerShownOrHidden'](_0x15f4dc,_0x2daf81,_0x15af71){_0x15af71?this['_onLayerAdded'](_0x15f4dc,_0x2daf81):this['_onLayerRemoved'](_0x15f4dc,_0x2daf81);}}const Cartesian3=Cesium__namespace[_0x7afdbe(0x1543,0x1515)],defaultValue=Cesium__namespace['defaultValue'],defined=Cesium__namespace['defined'],getTimestamp=Cesium__namespace['getTimestamp'],Matrix4=Cesium__namespace[_0x7afdbe(0x97d,0x606)],OrthographicFrustum=Cesium__namespace[_0x54a7f1(0x9fe,0x6d6)],OrthographicOffCenterFrustum=Cesium__namespace[_0x7afdbe(0x870,0xa55)],Ray=Cesium__namespace[_0x7afdbe(0x278,0xc4c)],Rectangle=Cesium__namespace[_0x54a7f1(0x4f9,0x66b)],Visibility=Cesium__namespace['Visibility'],QuadtreeOccluders=Cesium__namespace['QuadtreeOccluders'],QuadtreeTile=Cesium__namespace['QuadtreeTile'],QuadtreeTileLoadState=Cesium__namespace[_0x54a7f1(0xd57,0x4a8)],SceneMode=Cesium__namespace['SceneMode'],TileReplacementQueue=Cesium__namespace['TileReplacementQueue'],TileSelectionResult=Cesium__namespace['TileSelectionResult'];function clearTileLoadQueue(_0x5d77ce){const _0x438d25={_0x4a1c63:0x550},_0x5ce658={_0x24c4ca:0xd2},_0xacc2b0=_0x5d77ce['_debug'];_0xacc2b0['maxDepth']=0x0,_0xacc2b0['maxDepthVisited']=0x0;function _0x2f9bce(_0x383673,_0x2e86de){return _0x54a7f1(_0x383673- -0x194,_0x2e86de);}_0xacc2b0['tilesVisited']=0x0,_0xacc2b0['tilesCulled']=0x0;function _0x1bbdcc(_0x313643,_0x397903){return _0x54a7f1(_0x397903-_0x5ce658._0x24c4ca,_0x313643);}_0xacc2b0['tilesRendered']=0x0,_0xacc2b0['tilesWaitingForChildren']=0x0,_0x5d77ce['_tileLoadQueueHigh'][_0x2f9bce(0xdf1,_0x438d25._0x4a1c63)]=0x0,_0x5d77ce['_tileLoadQueueMedium']['length']=0x0,_0x5d77ce['_tileLoadQueueLow'][_0x1bbdcc(0x17ad,0x1057)]=0x0;}function invalidateAllTiles(_0x12e9f4){const _0x212c2a={_0x5ef5fa:0x119c,_0x4f5e34:0x1749,_0x53b018:0xd73},_0x54d5de={_0x1212e6:0x431},_0x344614=_0x12e9f4['_tileReplacementQueue'];function _0x5d180a(_0x52f927,_0x5c8249){return _0x7afdbe(_0x5c8249,_0x52f927- -_0x54d5de._0x1212e6);}_0x344614['head']=undefined,_0x344614['tail']=undefined,_0x344614['count']=0x0,clearTileLoadQueue(_0x12e9f4);function _0x5a7be8(_0x24eec8,_0x290d47){return _0x7afdbe(_0x24eec8,_0x290d47- -0x17);}const _0x53f9de=_0x12e9f4['_levelZeroTiles'];if(defined(_0x53f9de))for(let _0x291d2d=0x0;_0x291d2d<_0x53f9de[_0x5a7be8(0x1bf2,_0x212c2a._0x5ef5fa)];++_0x291d2d){const _0x15dc81=_0x53f9de[_0x291d2d],_0xc8eb40=_0x15dc81[_0x5d180a(0x1396,0x14c1)],_0x5e09aa=_0xc8eb40['length'];for(let _0x5be8d8=0x0;_0x5be8d8<_0x5e09aa;++_0x5be8d8){const _0x5d5a81=_0xc8eb40[_0x5be8d8];_0x5d5a81['level']=0x0,_0x12e9f4[_0x5a7be8(0x1331,_0x212c2a._0x4f5e34)][_0x5a7be8(0x14f9,0x111f)](_0x5d5a81);}_0x53f9de[_0x291d2d][_0x5a7be8(0x2cc,_0x212c2a._0x53b018)]();}_0x12e9f4['_levelZeroTiles']=undefined,_0x12e9f4['_tileProvider']['cancelReprojections']();}function updateTileLoadProgress(_0x39474d,_0x125f0e){const _0x36ae39={_0x40111d:0xc8c,_0x35accf:0x97b,_0x58545f:0x7a8,_0x31f243:0x1ae,_0x5e0265:0x2bb,_0x2038e3:0xcc1,_0xb6d52f:0x48,_0x3bff9b:0x75c,_0x4801fb:0xb97,_0x49c961:0x1542,_0x458448:0x1307,_0x28b32a:0xa19,_0x40b27b:0x13da,_0x2e837e:0x86c,_0x5ad9a7:0x1702,_0x29a5b9:0x27c},_0x1ec58d={_0x2d331f:0xd9e},_0x57b87d={_0x57093d:0x18c};function _0x3c40d6(_0x2eeafa,_0x5d4c5d){return _0x54a7f1(_0x5d4c5d- -0x347,_0x2eeafa);}function _0x18062d(_0xfd8ddf,_0x90beb0){return _0x54a7f1(_0xfd8ddf- -0x2f9,_0x90beb0);}const _0x469341=_0x39474d['_tileLoadQueueHigh']['length']+_0x39474d['_tileLoadQueueMedium']['length']+_0x39474d['_tileLoadQueueLow'][_0x18062d(_0x36ae39._0x40111d,0xcc3)];if(_0x469341!==_0x39474d['_lastTileLoadQueueLength']||_0x39474d['_tilesInvalidated']){const _0x51912f=Cesium__namespace['Event']['prototype']['raiseEvent']['bind'](_0x39474d['_tileLoadProgressEvent'],_0x469341);_0x125f0e[_0x3c40d6(0xa8e,_0x36ae39._0x35accf)][_0x18062d(0xc0f,_0x36ae39._0x58545f)](()=>{return _0x51912f(),!![];}),_0x39474d[_0x18062d(0x956,0x718)]=_0x469341;}const _0x36b7a0=_0x39474d['_debug'];_0x36b7a0[_0x18062d(_0x36ae39._0x31f243,-_0x36ae39._0x5e0265)]&&!_0x36b7a0['suspendLodUpdate']&&(_0x36b7a0[_0x18062d(0xa90,_0x36ae39._0x2038e3)]=_0x39474d[_0x3c40d6(-0x8c,-_0x36ae39._0xb6d52f)]['reduce']((_0x3dc6b9,_0x2c7045)=>{const _0xb0ce2f={_0x5b94b9:0x308};function _0x22152b(_0x257183,_0x44255b){return _0x3c40d6(_0x257183,_0x44255b-_0xb0ce2f._0x5b94b9);}function _0x4f2103(_0xe32aae,_0x9e12f3){return _0x3c40d6(_0xe32aae,_0x9e12f3- -_0x57b87d._0x57093d);}return Math[_0x4f2103(0x567,0x637)](_0x3dc6b9,_0x2c7045[_0x22152b(_0x1ec58d._0x2d331f,0x48d)]);},-0x1),_0x36b7a0[_0x18062d(0x10d7,0x16f0)]=_0x39474d['_tilesToRender'][_0x18062d(0xc8c,0x4b5)],(_0x36b7a0['tilesVisited']!==_0x36b7a0['lastTilesVisited']||_0x36b7a0[_0x3c40d6(_0x36ae39._0x3bff9b,0x1089)]!==_0x36b7a0['lastTilesRendered']||_0x36b7a0['tilesCulled']!==_0x36b7a0['lastTilesCulled']||_0x36b7a0[_0x18062d(0xa90,0xb36)]!==_0x36b7a0[_0x3c40d6(_0x36ae39._0x4801fb,0x1137)]||_0x36b7a0['tilesWaitingForChildren']!==_0x36b7a0['lastTilesWaitingForChildren']||_0x36b7a0[_0x3c40d6(_0x36ae39._0x49c961,_0x36ae39._0x458448)]!==_0x36b7a0[_0x3c40d6(0xaf2,0x36)])&&(console['log'](_0x3c40d6(_0x36ae39._0x28b32a,0xcd)+_0x36b7a0['tilesVisited']+',\x20Rendered:\x20'+_0x36b7a0['tilesRendered']+_0x18062d(_0x36ae39._0x40b27b,0xe78)+_0x36b7a0['tilesCulled']+_0x3c40d6(-0x314,0x6c7)+_0x36b7a0['maxDepth']+',\x20Max\x20Depth\x20Visited:\x20'+_0x36b7a0['maxDepthVisited']+_0x3c40d6(0xff0,_0x36ae39._0x2e837e)+_0x36b7a0['tilesWaitingForChildren']),_0x36b7a0['lastTilesVisited']=_0x36b7a0['tilesVisited'],_0x36b7a0['lastTilesRendered']=_0x36b7a0['tilesRendered'],_0x36b7a0[_0x18062d(0x4a7,0xa80)]=_0x36b7a0['tilesCulled'],_0x36b7a0[_0x3c40d6(_0x36ae39._0x5ad9a7,0x1137)]=_0x36b7a0['maxDepth'],_0x36b7a0['lastTilesWaitingForChildren']=_0x36b7a0['tilesWaitingForChildren'],_0x36b7a0[_0x18062d(0x84,_0x36ae39._0x29a5b9)]=_0x36b7a0[_0x18062d(0x1355,0x1ab6)]));}let comparisonPoint;const centerScratch=new Cesium__namespace[(_0x54a7f1(0x8d0,0x1144))]();function compareDistanceToPoint(_0x4b0769,_0x3c5a2a){const _0x4782f1={_0xec5f01:0x55d,_0x187afb:0x80e};let _0x4fc817=Rectangle['center'](_0x4b0769['rectangle'],centerScratch);const _0x338bc9=_0x4fc817['longitude']-comparisonPoint['longitude'],_0x318fe6=_0x4fc817['latitude']-comparisonPoint['latitude'];function _0x5507d2(_0xd297d7,_0xc0cac6){return _0x7afdbe(_0xd297d7,_0xc0cac6- -0x24e);}_0x4fc817=Rectangle[_0x5507d2(0xe57,_0x4782f1._0xec5f01)](_0x3c5a2a[_0x5507d2(-0x46e,0x2ac)],centerScratch);const _0x3fb2c9=_0x4fc817[_0x5507d2(_0x4782f1._0x187afb,0x688)]-comparisonPoint['longitude'],_0x5684e2=_0x4fc817['latitude']-comparisonPoint[_0x4e7258(0x5bb,0x232)];function _0x4e7258(_0x27a6a5,_0x12a04e){return _0x54a7f1(_0x27a6a5- -0x41c,_0x12a04e);}return _0x338bc9*_0x338bc9+_0x318fe6*_0x318fe6-(_0x3fb2c9*_0x3fb2c9+_0x5684e2*_0x5684e2);}const cameraOriginScratch=new Cartesian3();let rootTraversalDetails=[];function selectTilesForRendering(_0x25ac67,_0x1dddcf){const _0x15efc5={_0xf572fb:0xa02,_0x310ce6:0xaa1,_0x1fb332:0x2e6,_0xb5ad42:0x860,_0x2972ca:0x1275,_0x2a30b6:0x122b,_0x12d474:0x15e0,_0x3b3da6:0xcc8,_0x5d0bae:0x1567,_0x4a86f4:0xd0,_0x1d07da:0x29e,_0x47ebd5:0x90b,_0x3b1aa5:0xb96},_0x3810c0=_0x25ac67[_0xcc0333(0x811,0x26e)];if(_0x3810c0[_0xcc0333(0x1e4,0x552)])return;const _0x5caa11=_0x25ac67['_tilesToRender'];function _0x3c27ec(_0x2f2585,_0x2ff0c1){return _0x54a7f1(_0x2f2585- -0x275,_0x2ff0c1);}_0x5caa11[_0x3c27ec(0xd10,0xa6e)]=0x0;let _0x20fd4c;const _0x52e26c=_0x25ac67['_tileProvider'];if(!defined(_0x25ac67[_0xcc0333(0x16b8,0x149d)])){const _0x53f2fd=_0x52e26c[_0x3c27ec(_0x15efc5._0xf572fb,_0x15efc5._0x310ce6)];if(defined(_0x53f2fd)){_0x25ac67['_levelZeroTiles']=QuadtreeTile['createLevelZeroTiles'](_0x53f2fd);const _0x5cf011=_0x25ac67['_levelZeroTiles']['length'];if(rootTraversalDetails['length']<_0x5cf011){rootTraversalDetails=new Array(_0x5cf011);for(_0x20fd4c=0x0;_0x20fd4c<_0x5cf011;++_0x20fd4c){rootTraversalDetails[_0x20fd4c]===undefined&&(rootTraversalDetails[_0x20fd4c]=new TraversalDetails());}}}else return;}_0x25ac67['_occluders'][_0xcc0333(0xdd3,0x647)]['cameraPosition']=_0x1dddcf[_0x3c27ec(_0x15efc5._0x1fb332,-0x5a2)]['positionWC'];let _0x445243;const _0x9e42c8=_0x25ac67['_levelZeroTiles'],_0x36d50f=_0x9e42c8['length']>0x1?_0x25ac67['_occluders']:undefined;function _0xcc0333(_0xabebeb,_0xac797d){return _0x7afdbe(_0xabebeb,_0xac797d- -0x4eb);}comparisonPoint=_0x1dddcf['camera'][_0xcc0333(_0x15efc5._0xb5ad42,0x93d)],_0x9e42c8['sort'](compareDistanceToPoint);const _0x3f85a5=_0x25ac67[_0xcc0333(0x941,_0x15efc5._0x2972ca)],_0x11ce0d=_0x25ac67[_0x3c27ec(_0x15efc5._0x2a30b6,0x12ad)],_0x4fc3ab=_0x1dddcf['frameNumber'];let _0x75d173;if(_0x3f85a5['length']>0x0||_0x11ce0d['length']>0x0){for(_0x20fd4c=0x0,_0x75d173=_0x9e42c8[_0xcc0333(_0x15efc5._0x12d474,_0x15efc5._0x3b3da6)];_0x20fd4c<_0x75d173;++_0x20fd4c){_0x445243=_0x9e42c8[_0x20fd4c],_0x445243[_0xcc0333(_0x15efc5._0x5d0bae,0x1350)](_0x4fc3ab,_0x3f85a5,_0x11ce0d);}_0x3f85a5['length']=0x0,_0x11ce0d['length']=0x0;}const _0x220113=_0x1dddcf[_0xcc0333(-_0x15efc5._0x4a86f4,_0x15efc5._0x1d07da)];_0x25ac67['_cameraPositionCartographic']=_0x220113[_0xcc0333(_0x15efc5._0x47ebd5,0x93d)];const _0x46ca95=Matrix4['getTranslation'](_0x220113['transform'],cameraOriginScratch);_0x25ac67[_0xcc0333(0xd55,0x500)]=_0x25ac67[_0xcc0333(0xaf0,0x473)]['tilingScheme']['ellipsoid']['cartesianToCartographic'](_0x46ca95,_0x25ac67['_cameraReferenceFrameOriginCartographic']);for(_0x20fd4c=0x0,_0x75d173=_0x9e42c8['length'];_0x20fd4c<_0x75d173;++_0x20fd4c){_0x445243=_0x9e42c8[_0x20fd4c],_0x25ac67[_0x3c27ec(0x1400,0x1ec4)]['markTileRendered'](_0x445243),!_0x445243['renderable']?(queueTileLoad(_0x25ac67,_0x25ac67[_0xcc0333(0x6e6,0xe71)],_0x445243,_0x1dddcf),++_0x3810c0['tilesWaitingForChildren']):visitIfVisible(_0x25ac67,_0x445243,_0x52e26c,_0x1dddcf,_0x36d50f,![],rootTraversalDetails[_0x20fd4c]);}_0x25ac67[_0xcc0333(0x105a,_0x15efc5._0x3b1aa5)]=_0x4fc3ab;}function queueTileLoad(_0x185011,_0x36944b,_0x23d90d,_0x8999b0){const _0x75e5a3={_0x5a9401:0x6f0,_0x2b83d3:0xe5d,_0x12a775:0x9a3},_0x491e37={_0x6ec09a:0x105},_0x175367={_0x15c99e:0x2d9};if(!_0x23d90d['needsLoading'])return;function _0x247c14(_0x3dda25,_0x55cf9e){return _0x7afdbe(_0x55cf9e,_0x3dda25- -_0x175367._0x15c99e);}function _0x5c8716(_0x494f71,_0xf5da33){return _0x54a7f1(_0xf5da33-_0x491e37._0x6ec09a,_0x494f71);}_0x185011['tileProvider'][_0x247c14(0x2a9,-0x31c)]!==undefined&&(_0x23d90d[_0x247c14(0xc85,_0x75e5a3._0x5a9401)]=_0x185011['tileProvider']['computeTileLoadPriority'](_0x23d90d,_0x8999b0)),_0x36944b[_0x247c14(_0x75e5a3._0x2b83d3,_0x75e5a3._0x12a775)](_0x23d90d);}const traversalQuadsByLevel=new Array(0x1f);for(let i=0x0;i<traversalQuadsByLevel[_0x7afdbe(0x1370,0x11b3)];++i){traversalQuadsByLevel[i]=new TraversalQuadDetails();}function visitTile(_0x32bb8b,_0x221b60,_0x40d729,_0x1d1853,_0xb07ad7){const _0x271e8b={_0x49ac94:0x9e2,_0x5039ed:0x4dd,_0x58a2c8:0x157e,_0x49fd50:0xa1f,_0x332e83:0x112b,_0x5207f8:0xc1d,_0xd88281:0x781,_0x3cfdd2:0x1d,_0x35d063:0xe17,_0xc439aa:0xa7a,_0x2f62a7:0x3dc,_0x5f36bc:0x560,_0x58696a:0x769,_0x4b7069:0x1afb,_0x2f442e:0x47a,_0x57c75e:0x1c6,_0x256191:0x410,_0x188e9d:0x2e8,_0x2888bf:0x1df,_0x36d7cf:0x8ce,_0x267511:0x1371,_0x318e95:0xef5,_0x2b414b:0x693,_0x51f9c5:0xffd,_0xf953a1:0x198a,_0x1c188e:0x56c,_0x2a83d6:0x1fa,_0x12a9d0:0x18b,_0x3e7569:0x648,_0x23b362:0xc17,_0x334ace:0x128e,_0xbf6a6c:0x12a5,_0x2b67c7:0x6bd,_0x38759d:0x18b,_0x468a42:0x210,_0x31defa:0x44f,_0x525e3c:0x4b6,_0x4b4738:0x1a},_0x5b9312={_0x39e867:0x4f9},_0x4198e4={_0x3ba06f:0x90};function _0x22bf8d(_0x23161a,_0x2e60fd){return _0x54a7f1(_0x23161a- -_0x4198e4._0x3ba06f,_0x2e60fd);}const _0x594c1f=_0x32bb8b[_0x22bf8d(0x49b,0xe44)];++_0x594c1f['tilesVisited'],_0x32bb8b['_tileReplacementQueue'][_0xac8adf(_0x271e8b._0x49ac94,-0x59)](_0x40d729),_0x40d729[_0xac8adf(0x19e9,0x1114)](_0x221b60['frameNumber']);_0x40d729[_0xac8adf(_0x271e8b._0x5039ed,-0x2d)]>_0x594c1f['maxDepthVisited']&&(_0x594c1f['maxDepthVisited']=_0x40d729['level']);const _0x60b1ff=screenSpaceError(_0x32bb8b,_0x221b60,_0x40d729)<_0x32bb8b['maximumScreenSpaceError'],_0x5e9dc5=_0x40d729[_0x22bf8d(_0x271e8b._0x58a2c8,0xbb9)],_0x60a19c=_0x40d729['southeastChild'],_0x2c1559=_0x40d729['northwestChild'],_0x583987=_0x40d729['northeastChild'],_0x2677e5=_0x32bb8b[_0xac8adf(_0x271e8b._0x49fd50,0x95a)];function _0xac8adf(_0xdc0fc3,_0x272245){return _0x54a7f1(_0x272245- -_0x5b9312._0x39e867,_0xdc0fc3);}const _0x53edca=_0x40d729['_lastSelectionResultFrame']===_0x2677e5?_0x40d729[_0xac8adf(_0x271e8b._0x332e83,_0x271e8b._0x5207f8)]:TileSelectionResult['NONE'],_0x12ec5a=_0x32bb8b['tileProvider'];if(_0x60b1ff||_0x1d1853){const _0x417d72=TileSelectionResult['originalResult'](_0x53edca)===TileSelectionResult['RENDERED'],_0x59f7df=TileSelectionResult[_0xac8adf(_0x271e8b._0xd88281,_0x271e8b._0x3cfdd2)](_0x53edca)===TileSelectionResult['CULLED']||_0x53edca===TileSelectionResult['NONE'],_0x576e34=_0x40d729['state']===QuadtreeTileLoadState['DONE'];let _0x394bbd=_0x417d72||_0x59f7df||_0x576e34;!_0x394bbd&&(defined(_0x12ec5a['canRenderWithoutLosingDetail'])&&(_0x394bbd=_0x12ec5a[_0x22bf8d(_0x271e8b._0x35d063,_0x271e8b._0xc439aa)](_0x40d729)));if(_0x394bbd){_0x60b1ff&&queueTileLoad(_0x32bb8b,_0x32bb8b[_0xac8adf(_0x271e8b._0x2f62a7,_0x271e8b._0x5f36bc)],_0x40d729,_0x221b60);addTileToRenderList(_0x32bb8b,_0x40d729),_0xb07ad7['allAreRenderable']=_0x40d729['renderable'],_0xb07ad7['anyWereRenderedLastFrame']=_0x53edca===TileSelectionResult[_0xac8adf(_0x271e8b._0x58696a,0x18b)],_0xb07ad7[_0xac8adf(0xf6c,0x56c)]=_0x40d729[_0xac8adf(0x24b,-0x1a)]?0x0:0x1,_0x40d729['_lastSelectionResultFrame']=_0x221b60[_0xac8adf(0xa6c,0x8ce)],_0x40d729['_lastSelectionResult']=TileSelectionResult['RENDERED'];!_0xb07ad7['anyWereRenderedLastFrame']&&_0x32bb8b['_tileToUpdateHeights']['push'](_0x40d729);return;}_0x1d1853=!![],_0x60b1ff&&queueTileLoad(_0x32bb8b,_0x32bb8b[_0x22bf8d(0x109e,0x184d)],_0x40d729,_0x221b60);}if(_0x12ec5a['canRefine'](_0x40d729)){const _0x4f114e=_0x5e9dc5['upsampledFromParent']&&_0x60a19c['upsampledFromParent']&&_0x2c1559['upsampledFromParent']&&_0x583987['upsampledFromParent'];if(_0x4f114e){addTileToRenderList(_0x32bb8b,_0x40d729),queueTileLoad(_0x32bb8b,_0x32bb8b['_tileLoadQueueMedium'],_0x40d729,_0x221b60),_0x32bb8b[_0xac8adf(_0x271e8b._0x4b7069,0x117c)][_0x22bf8d(0x410,_0x271e8b._0x2f442e)](_0x5e9dc5),_0x32bb8b['_tileReplacementQueue'][_0xac8adf(-_0x271e8b._0x57c75e,-0x59)](_0x60a19c),_0x32bb8b['_tileReplacementQueue'][_0x22bf8d(_0x271e8b._0x256191,0x7f3)](_0x2c1559),_0x32bb8b['_tileReplacementQueue']['markTileRendered'](_0x583987),_0xb07ad7['allAreRenderable']=_0x40d729['renderable'],_0xb07ad7[_0xac8adf(-_0x271e8b._0x188e9d,_0x271e8b._0x2888bf)]=_0x53edca===TileSelectionResult['RENDERED'],_0xb07ad7['notYetRenderableCount']=_0x40d729['renderable']?0x0:0x1,_0x40d729['_lastSelectionResultFrame']=_0x221b60['frameNumber'],_0x40d729['_lastSelectionResult']=TileSelectionResult['RENDERED'];!_0xb07ad7['anyWereRenderedLastFrame']&&_0x32bb8b['_tileToUpdateHeights']['push'](_0x40d729);return;}_0x40d729['_lastSelectionResultFrame']=_0x221b60[_0xac8adf(0x68d,_0x271e8b._0x36d7cf)],_0x40d729[_0x22bf8d(0x1086,_0x271e8b._0x267511)]=TileSelectionResult['REFINED'];const _0x225140=_0x32bb8b['_tilesToRender']['length'],_0x39dedc=_0x32bb8b['_tileLoadQueueLow'][_0x22bf8d(0xef5,0x177a)],_0x13bf00=_0x32bb8b['_tileLoadQueueMedium'][_0x22bf8d(_0x271e8b._0x318e95,0x1252)],_0x14e858=_0x32bb8b['_tileLoadQueueHigh']['length'],_0x5900a1=_0x32bb8b[_0xac8adf(_0x271e8b._0x2b414b,_0x271e8b._0x51f9c5)]['length'];visitVisibleChildrenNearToFar(_0x32bb8b,_0x5e9dc5,_0x60a19c,_0x2c1559,_0x583987,_0x221b60,_0x1d1853,_0xb07ad7);if(_0x225140!==_0x32bb8b['_tilesToRender'][_0x22bf8d(0xef5,_0x271e8b._0xf953a1)]){const _0x5186bf=_0xb07ad7['allAreRenderable'],_0x2b8697=_0xb07ad7[_0xac8adf(0x3ce,0x1df)],_0x42ba95=_0xb07ad7[_0xac8adf(0xda,_0x271e8b._0x1c188e)];let _0x102420=![];if(!_0x5186bf&&!_0x2b8697){const _0xf0aa33=_0x32bb8b[_0xac8adf(-0x9fb,-_0x271e8b._0x2a83d6)];for(let _0x282986=_0x225140;_0x282986<_0xf0aa33['length'];++_0x282986){let _0x45e5eb=_0xf0aa33[_0x282986];while(_0x45e5eb!==undefined&&_0x45e5eb['_lastSelectionResult']!==TileSelectionResult['KICKED']&&_0x45e5eb!==_0x40d729){_0x45e5eb['_lastSelectionResult']=TileSelectionResult[_0x22bf8d(0x1084,0xd19)](_0x45e5eb[_0xac8adf(0x155a,0xc1d)]),_0x45e5eb=_0x45e5eb['parent'];}}_0x32bb8b['_tilesToRender']['length']=_0x225140,_0x32bb8b['_tileToUpdateHeights']['length']=_0x5900a1,addTileToRenderList(_0x32bb8b,_0x40d729),_0x40d729['_lastSelectionResult']=TileSelectionResult[_0xac8adf(-0x39e,_0x271e8b._0x12a9d0)];const _0x4fd2f5=_0x53edca===TileSelectionResult[_0xac8adf(0xc03,0x18b)];!_0x4fd2f5&&_0x42ba95>_0x32bb8b[_0x22bf8d(0x1675,0x19e7)]&&(_0x32bb8b['_tileLoadQueueLow']['length']=_0x39dedc,_0x32bb8b['_tileLoadQueueMedium']['length']=_0x13bf00,_0x32bb8b[_0x22bf8d(0x109e,0x12df)]['length']=_0x14e858,queueTileLoad(_0x32bb8b,_0x32bb8b['_tileLoadQueueMedium'],_0x40d729,_0x221b60),_0xb07ad7[_0x22bf8d(0x9d5,0xc35)]=_0x40d729[_0x22bf8d(0x44f,0x14e)]?0x0:0x1,_0x102420=!![]),_0xb07ad7[_0xac8adf(0x4e9,0xc60)]=_0x40d729['renderable'],_0xb07ad7[_0x22bf8d(_0x271e8b._0x3e7569,0x852)]=_0x4fd2f5,!_0x4fd2f5&&_0x32bb8b['_tileToUpdateHeights']['push'](_0x40d729),++_0x594c1f[_0xac8adf(_0x271e8b._0x23b362,_0x271e8b._0x334ace)];}_0x32bb8b['preloadAncestors']&&!_0x102420&&queueTileLoad(_0x32bb8b,_0x32bb8b[_0x22bf8d(0xfba,_0x271e8b._0xbf6a6c)],_0x40d729,_0x221b60);}return;}_0x40d729['_lastSelectionResultFrame']=_0x221b60[_0xac8adf(_0x271e8b._0x2b67c7,0x8ce)],_0x40d729['_lastSelectionResult']=TileSelectionResult[_0xac8adf(-0x471,_0x271e8b._0x38759d)],addTileToRenderList(_0x32bb8b,_0x40d729),queueTileLoad(_0x32bb8b,_0x32bb8b[_0x22bf8d(0x109e,0xf84)],_0x40d729,_0x221b60),_0xb07ad7[_0xac8adf(_0x271e8b._0x468a42,0xc60)]=_0x40d729[_0x22bf8d(_0x271e8b._0x31defa,_0x271e8b._0x525e3c)],_0xb07ad7[_0xac8adf(-0x16e,0x1df)]=_0x53edca===TileSelectionResult['RENDERED'],_0xb07ad7['notYetRenderableCount']=_0x40d729[_0xac8adf(-0x4da,-_0x271e8b._0x4b4738)]?0x0:0x1;}function visitVisibleChildrenNearToFar(_0x5e2539,_0xf476cf,_0x5a8606,_0x291ba6,_0x2260d1,_0x23d59a,_0xdc5618,_0x17c62a){const _0xbaf6a4={_0x26c002:0x54a,_0x1a4120:0x523,_0x65840d:0x20f,_0x5bdc3f:0x16b,_0x5ec9c9:0xb36},_0x589080=_0x23d59a['camera']['positionCartographic'],_0x99b60f=_0x5e2539['_tileProvider'],_0x37629e=_0x5e2539[_0x4d043c(_0xbaf6a4._0x26c002,0x1a8)],_0x3ab513=traversalQuadsByLevel[_0xf476cf[_0x3c7352(_0xbaf6a4._0x1a4120,-0x40b)]],_0x4def68=_0x3ab513['southwest'];function _0x3c7352(_0x254553,_0x264e89){return _0x54a7f1(_0x254553-0x57,_0x264e89);}const _0xa8da27=_0x3ab513['southeast'],_0x1cbab3=_0x3ab513['northwest'],_0x1c9a00=_0x3ab513['northeast'];if(_0x589080[_0x3c7352(0x6ff,0xbb)]<_0xf476cf['rectangle']['east'])_0x589080['latitude']<_0xf476cf[_0x4d043c(0xb1,-0x16b)][_0x3c7352(0x99b,0x1049)]?(visitIfVisible(_0x5e2539,_0xf476cf,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x4def68),visitIfVisible(_0x5e2539,_0x5a8606,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0xa8da27),visitIfVisible(_0x5e2539,_0x291ba6,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1cbab3),visitIfVisible(_0x5e2539,_0x2260d1,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1c9a00)):(visitIfVisible(_0x5e2539,_0x291ba6,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1cbab3),visitIfVisible(_0x5e2539,_0xf476cf,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x4def68),visitIfVisible(_0x5e2539,_0x2260d1,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1c9a00),visitIfVisible(_0x5e2539,_0x5a8606,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0xa8da27));else _0x589080[_0x3c7352(0xa2e,_0xbaf6a4._0x65840d)]<_0xf476cf[_0x4d043c(-0x28b,-_0xbaf6a4._0x5bdc3f)]['north']?(visitIfVisible(_0x5e2539,_0x5a8606,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0xa8da27),visitIfVisible(_0x5e2539,_0xf476cf,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x4def68),visitIfVisible(_0x5e2539,_0x2260d1,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1c9a00),visitIfVisible(_0x5e2539,_0x291ba6,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1cbab3)):(visitIfVisible(_0x5e2539,_0x2260d1,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1c9a00),visitIfVisible(_0x5e2539,_0x291ba6,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x1cbab3),visitIfVisible(_0x5e2539,_0x5a8606,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0xa8da27),visitIfVisible(_0x5e2539,_0xf476cf,_0x99b60f,_0x23d59a,_0x37629e,_0xdc5618,_0x4def68));function _0x4d043c(_0x2daa9b,_0x34a6e6){return _0x7afdbe(_0x2daa9b,_0x34a6e6- -0x665);}_0x3ab513[_0x3c7352(_0xbaf6a4._0x5ec9c9,0x172)](_0x17c62a);}function containsNeededPosition(_0x46a7fa,_0x4903a8){const _0x3cdafe={_0x1ec765:0xa9c,_0x3ea4a5:0x142c,_0x45be58:0xb1f,_0x2d300c:0x572},_0x3fc949={_0x357112:0x157},_0x3ace5b=_0x4903a8[_0x1054af(0x3a3,_0x3cdafe._0x1ec765)];function _0x44b9fe(_0x5b699e,_0x320e59){return _0x7afdbe(_0x5b699e,_0x320e59- -0x6a0);}function _0x1054af(_0x2a86ff,_0x3005c1){return _0x7afdbe(_0x3005c1,_0x2a86ff- -_0x3fc949._0x357112);}return defined(_0x46a7fa['_cameraPositionCartographic'])&&Rectangle[_0x44b9fe(0x15b2,0xee8)](_0x3ace5b,_0x46a7fa[_0x1054af(0xf46,_0x3cdafe._0x3ea4a5)])||defined(_0x46a7fa[_0x1054af(0x894,_0x3cdafe._0x45be58)])&&Rectangle[_0x44b9fe(_0x3cdafe._0x2d300c,0xee8)](_0x3ace5b,_0x46a7fa['_cameraReferenceFrameOriginCartographic']);}function visitIfVisible(_0x544671,_0x2d92c9,_0x411c6b,_0x2ec6ca,_0xcf84c4,_0x3b8d26,_0xbbd978){const _0x3a75d8={_0x34e2ac:0x145d,_0xc6e5d7:0xc9f,_0x98961:0x10a1,_0x3cb920:0x1720,_0x337ab5:0x7ee,_0x490af9:0xd73,_0x59e0e0:0x2f9,_0x626602:0x675,_0x4e9f7d:0xfd6,_0x49bb16:0x10a5,_0x5b1d7f:0xc40};if(_0x411c6b[_0x4c0aad(_0x3a75d8._0x34e2ac,_0x3a75d8._0xc6e5d7)](_0x2d92c9,_0x2ec6ca,_0xcf84c4)!==Visibility[_0x4c0aad(0x16f0,_0x3a75d8._0x98961)])return visitTile(_0x544671,_0x2ec6ca,_0x2d92c9,_0x3b8d26,_0xbbd978);++_0x544671[_0x55aac6(0xa17,0x3a4)]['tilesCulled'],_0x544671[_0x4c0aad(0x14ba,_0x3a75d8._0x3cb920)]['markTileRendered'](_0x2d92c9),_0xbbd978['allAreRenderable']=!![],_0xbbd978['anyWereRenderedLastFrame']=![];function _0x55aac6(_0xfc8e93,_0x2a925c){return _0x7afdbe(_0xfc8e93,_0x2a925c- -0x3b5);}function _0x4c0aad(_0x11bb0f,_0x236bd6){return _0x7afdbe(_0x11bb0f,_0x236bd6- -0x183);}_0xbbd978['notYetRenderableCount']=0x0;if(containsNeededPosition(_0x544671,_0x2d92c9)){(!defined(_0x2d92c9['data'])||!defined(_0x2d92c9['data']['vertexArray']))&&queueTileLoad(_0x544671,_0x544671['_tileLoadQueueMedium'],_0x2d92c9,_0x2ec6ca);const _0x410a9d=_0x544671[_0x55aac6(_0x3a75d8._0x337ab5,0xccc)],_0x102d4f=_0x2d92c9['_lastSelectionResultFrame']===_0x410a9d?_0x2d92c9[_0x4c0aad(_0x3a75d8._0x490af9,0x11c1)]:TileSelectionResult['NONE'];_0x102d4f!==TileSelectionResult['CULLED_BUT_NEEDED']&&_0x102d4f!==TileSelectionResult[_0x55aac6(_0x3a75d8._0x59e0e0,0x4fd)]&&_0x544671['_tileToUpdateHeights']['push'](_0x2d92c9),_0x2d92c9['_lastSelectionResult']=TileSelectionResult['CULLED_BUT_NEEDED'];}else _0x544671[_0x4c0aad(-0x41,0x880)]||_0x2d92c9['level']===0x0?(queueTileLoad(_0x544671,_0x544671[_0x55aac6(0x1855,0xec3)],_0x2d92c9,_0x2ec6ca),_0x2d92c9[_0x55aac6(0x907,0xf8f)]=TileSelectionResult[_0x55aac6(0x81e,_0x3a75d8._0x626602)]):_0x2d92c9['_lastSelectionResult']=TileSelectionResult[_0x55aac6(_0x3a75d8._0x4e9f7d,0x675)];_0x2d92c9['_lastSelectionResultFrame']=_0x2ec6ca[_0x55aac6(_0x3a75d8._0x49bb16,_0x3a75d8._0x5b1d7f)];}function screenSpaceError(_0x416a8a,_0x19ad9f,_0x4fd787){const _0x3551ec={_0x17aa0d:0xafa,_0x679c91:0x724,_0xb94cf3:0x6d5,_0x31b6c1:0x151,_0x5af876:0x43e,_0x21ad52:0x13b3,_0x1e8c13:0x8dc,_0x1a13ae:0x36a,_0x22330f:0x1398,_0x17ff90:0x1471,_0x589195:0x1253,_0x1fecab:0xc6,_0x59ba27:0x19},_0x1a45e1={_0x4a0416:0x25e};if(_0x19ad9f[_0x6685ba(0x463,0x88)]===SceneMode[_0x3d33e6(0x135f,_0x3551ec._0x17aa0d)]||_0x19ad9f[_0x3d33e6(0x294,-_0x3551ec._0x679c91)]['frustum']instanceof OrthographicFrustum||_0x19ad9f['camera']['frustum']instanceof OrthographicOffCenterFrustum)return screenSpaceError2D(_0x416a8a,_0x19ad9f,_0x4fd787);const _0x11cea1=_0x416a8a['_tileProvider'][_0x6685ba(_0x3551ec._0xb94cf3,0xa2c)](_0x4fd787['level']),_0x13dd9d=_0x4fd787[_0x3d33e6(_0x3551ec._0x31b6c1,_0x3551ec._0x5af876)],_0xb0f2a5=_0x19ad9f['context']['drawingBufferHeight'],_0x45465e=_0x19ad9f['camera']['frustum'][_0x3d33e6(_0x3551ec._0x21ad52,0x19e9)];function _0x3d33e6(_0x422c72,_0x4060e8){return _0x54a7f1(_0x422c72- -0x2c7,_0x4060e8);}let _0x1efb82=_0x11cea1*_0xb0f2a5/(_0x13dd9d*_0x45465e);function _0x6685ba(_0x6d6087,_0x3c81fd){return _0x7afdbe(_0x3c81fd,_0x6d6087- -_0x1a45e1._0x4a0416);}return _0x19ad9f['fog'][_0x3d33e6(_0x3551ec._0x1e8c13,_0x3551ec._0x1a13ae)]&&(_0x1efb82-=Cesium__namespace['Math'][_0x6685ba(_0x3551ec._0x22330f,_0x3551ec._0x17ff90)](_0x13dd9d,_0x19ad9f['fog']['density'])*_0x19ad9f[_0x3d33e6(0x1101,_0x3551ec._0x589195)][_0x3d33e6(_0x3551ec._0x1fecab,-_0x3551ec._0x59ba27)]),_0x1efb82/=_0x19ad9f['pixelRatio'],_0x1efb82;}function screenSpaceError2D(_0x45936b,_0x3d94e6,_0x3c7074){const _0x51304d={_0x1ab30c:0x4df,_0x5b8615:0x567,_0x3df6d5:0x825,_0x42b752:0x1057,_0x37152f:0x88d,_0x5027ae:0x10e3,_0x311ef0:0x1227,_0x3857d1:0x1ae,_0x16f3d9:0x12b0,_0x57a24d:0x391,_0x4e61c3:0x7a6},_0x4c5a0d={_0x6dbbe5:0x22a},_0x4f9d31=_0x3d94e6[_0x10cd01(0x276,_0x51304d._0x1ab30c)];let _0x47847e=_0x4f9d31['frustum'];const _0x2d91ff=_0x47847e['offCenterFrustum'];defined(_0x2d91ff)&&(_0x47847e=_0x2d91ff);const _0x20a6c9=_0x3d94e6['context'],_0x577902=_0x20a6c9['drawingBufferWidth'],_0x301296=_0x20a6c9['drawingBufferHeight'],_0x52d9ea=_0x45936b[_0x10cd01(0x6c2,_0x51304d._0x5b8615)]['getLevelMaximumGeometricError'](_0x3c7074['level']);function _0x10cd01(_0x2227ff,_0x405ffa){return _0x7afdbe(_0x405ffa,_0x2227ff- -0x513);}function _0x2e976d(_0x531b22,_0x1b908d){return _0x7afdbe(_0x1b908d,_0x531b22- -_0x4c5a0d._0x6dbbe5);}const _0x5d8cf6=Math[_0x10cd01(_0x51304d._0x3df6d5,0x1ff)](_0x47847e['top']-_0x47847e[_0x10cd01(_0x51304d._0x42b752,_0x51304d._0x37152f)],_0x47847e['right']-_0x47847e['left'])/Math['max'](_0x577902,_0x301296);let _0x2c7027=_0x52d9ea/_0x5d8cf6;return _0x3d94e6[_0x10cd01(_0x51304d._0x5027ae,_0x51304d._0x311ef0)]['enabled']&&_0x3d94e6[_0x10cd01(_0x51304d._0x3857d1,0x805)]!==SceneMode['SCENE2D']&&(_0x2c7027-=Cesium__namespace[_0x2e976d(_0x51304d._0x16f3d9,0x1be4)]['fog'](_0x3c7074['_distance'],_0x3d94e6[_0x10cd01(0x10e3,0xd42)][_0x10cd01(0x1009,0x6de)])*_0x3d94e6[_0x10cd01(_0x51304d._0x5027ae,0x10db)][_0x2e976d(_0x51304d._0x57a24d,_0x51304d._0x4e61c3)]),_0x2c7027/=_0x3d94e6['pixelRatio'],_0x2c7027;}function addTileToRenderList(_0x16430c,_0x2cbb25){function _0x346bf1(_0x3a2d37,_0x3857a4){return _0x7afdbe(_0x3857a4,_0x3a2d37- -0xd3);}_0x16430c['_tilesToRender'][_0x346bf1(0x1063,0x159d)](_0x2cbb25);}function processTileLoadQueue(_0x447c31,_0x516902){const _0x2b9009={_0xab0e10:0x11a5,_0x221bfb:0x111f,_0x564e46:0x15d7,_0xecbcea:0x1741,_0x2f315a:0xfed,_0x3e1325:0x9d},_0x160d2d={_0x396cbd:0x94},_0x1fb86f=_0x447c31['_tileLoadQueueHigh'],_0xba2493=_0x447c31[_0x56ffed(_0x2b9009._0xab0e10,0xc03)],_0x27c607=_0x447c31['_tileLoadQueueLow'];if(_0x1fb86f['length']===0x0&&_0xba2493[_0x2c9404(_0x2b9009._0x221bfb,_0x2b9009._0x564e46)]===0x0&&_0x27c607[_0x56ffed(0x8e8,0x112f)]===0x0)return;function _0x2c9404(_0x45145a,_0x386719){return _0x7afdbe(_0x386719,_0x45145a- -_0x160d2d._0x396cbd);}_0x447c31['_tileReplacementQueue'][_0x56ffed(_0x2b9009._0xecbcea,_0x2b9009._0x2f315a)](_0x447c31['tileCacheSize']);const _0x572603=getTimestamp()+_0x447c31['_loadQueueTimeSlice'],_0x17e1d5=_0x447c31[_0x2c9404(0xb41,_0x2b9009._0x3e1325)];function _0x56ffed(_0x825421,_0x95ac5a){return _0x54a7f1(_0x95ac5a-0x1aa,_0x825421);}let _0x219162=processSinglePriorityLoadQueue(_0x447c31,_0x516902,_0x17e1d5,_0x572603,_0x1fb86f,![]);_0x219162=processSinglePriorityLoadQueue(_0x447c31,_0x516902,_0x17e1d5,_0x572603,_0xba2493,_0x219162),processSinglePriorityLoadQueue(_0x447c31,_0x516902,_0x17e1d5,_0x572603,_0x27c607,_0x219162);}function sortByLoadPriority(_0x42f645,_0xae3d7d){return _0x42f645['_loadPriority']-_0xae3d7d['_loadPriority'];}function processSinglePriorityLoadQueue(_0xe8833d,_0x6b17b0,_0x484789,_0x55fed2,_0x52fc75,_0x3a41d8){const _0x4256c4={_0x406934:0xac,_0x1e461e:0xb63,_0x5b89f2:0x104f,_0x176615:0x1b87,_0x333766:0x173f,_0xea4a89:0x1256},_0x39f519={_0x3550e1:0x400};function _0x2367b6(_0x47943f,_0x5e9fe8){return _0x54a7f1(_0x47943f- -_0x39f519._0x3550e1,_0x5e9fe8);}_0x484789[_0x2367b6(-_0x4256c4._0x406934,-_0x4256c4._0x1e461e)]!==undefined&&_0x52fc75['sort'](sortByLoadPriority);function _0x30070f(_0x18d6b6,_0x2e5310){return _0x54a7f1(_0x2e5310-0xca,_0x18d6b6);}for(let _0x4155bc=0x0,_0x40f0bb=_0x52fc75[_0x30070f(0x679,_0x4256c4._0x5b89f2)];_0x4155bc<_0x40f0bb&&(getTimestamp()<_0x55fed2||!_0x3a41d8);++_0x4155bc){const _0x417523=_0x52fc75[_0x4155bc];_0xe8833d[_0x30070f(_0x4256c4._0x176615,_0x4256c4._0x333766)]['markTileRendered'](_0x417523),_0x484789[_0x2367b6(0xd3a,_0x4256c4._0xea4a89)](_0x6b17b0,_0x417523),_0x3a41d8=!![];}return _0x3a41d8;}const scratchRay=new Ray(),scratchCartographic=new Cesium__namespace[(_0x54a7f1(0x8d0,0x6cd))](),scratchPosition=new Cartesian3(),scratchArray=[];function updateHeights(_0x43a4e5,_0x3201d5){const _0x40ebe4={_0x432daf:0x15,_0x1b7bbd:0x1ab,_0x240292:0x667,_0x57966c:0x118,_0x50ab86:0x6a6,_0xfe074b:0x118,_0x46d042:0x1fe,_0x456f09:0x15ec,_0x1dbf71:0x77f,_0x3a3313:0xd84,_0x2c1f75:0x2a2,_0x1c0bda:0x928,_0x193398:0x616,_0x3ae055:0xb8,_0x21ebec:0x7d1,_0xee5a3:0x6ec,_0x4325a3:0x1b28,_0x4b7efc:0x1262,_0x2a82ef:0x115,_0x50a4c0:0x25,_0x36b960:0x7df},_0x2c73bd={_0x5d05f1:0x4a7};if(!defined(_0x43a4e5['tileProvider'][_0x1ed28e(_0x40ebe4._0x432daf,0x7d0)]))return;const _0x5661d2=scratchArray;_0x5661d2['length']=0x0;const _0x5a30a6=_0x43a4e5['_tileToUpdateHeights'],_0x2fa2f0=getTimestamp(),_0x4264b6=_0x43a4e5['_updateHeightsTimeSlice'];function _0x1ed28e(_0x47b9e3,_0x8a67bd){return _0x54a7f1(_0x8a67bd- -_0x2c73bd._0x5d05f1,_0x47b9e3);}const _0x3b8c1c=_0x2fa2f0+_0x4264b6,_0xdebbe5=_0x3201d5[_0x4b7991(0x7f6,0x518)];function _0x4b7991(_0x20de77,_0x5c9c50){return _0x7afdbe(_0x20de77,_0x5c9c50- -0x1a9);}const _0x15420c=_0x3201d5['mapProjection'],_0x22dbcb=_0x43a4e5['tileProvider'][_0x1ed28e(_0x40ebe4._0x1b7bbd,0x7d0)]['ellipsoid'];let _0x192ae7;while(_0x5a30a6['length']>0x0){const _0x331264=_0x5a30a6[0x0];if(!defined(_0x331264['data'])||!defined(_0x331264['data']['mesh'])){const _0x1aa1f1=_0x331264['_lastSelectionResultFrame']===_0x43a4e5[_0x1ed28e(0xdfe,0x9ac)]?_0x331264['_lastSelectionResult']:TileSelectionResult['NONE'];(_0x1aa1f1===TileSelectionResult['RENDERED']||_0x1aa1f1===TileSelectionResult['CULLED_BUT_NEEDED'])&&_0x5661d2['push'](_0x331264);_0x5a30a6['shift'](),_0x43a4e5[_0x1ed28e(-_0x40ebe4._0x240292,-_0x40ebe4._0x57966c)]=0x0;continue;}const _0x235b50=_0x331264['customData'],_0x576ec0=_0x235b50['length'];let _0x5d1229=![];for(_0x192ae7=_0x43a4e5[_0x1ed28e(_0x40ebe4._0x50ab86,-_0x40ebe4._0xfe074b)];_0x192ae7<_0x576ec0;++_0x192ae7){const _0x3e3aa5=_0x235b50[_0x192ae7],_0x5c2c9f=_0x331264['data']['terrainData'],_0x47498a=defined(_0x5c2c9f)&&_0x5c2c9f['wasCreatedByUpsampling']();if(_0x331264['level']>_0x3e3aa5['level']&&!_0x47498a){!defined(_0x3e3aa5['positionOnEllipsoidSurface'])&&(_0x3e3aa5[_0x1ed28e(0x1139,0x928)]=Cartesian3[_0x1ed28e(0x186c,0xec1)](_0x3e3aa5['positionCartographic']['longitude'],_0x3e3aa5[_0x4b7991(_0x40ebe4._0x46d042,0xc7f)][_0x4b7991(0xe0d,0xa5c)],0x0,_0x22dbcb));if(_0xdebbe5===SceneMode[_0x4b7991(0xec2,_0x40ebe4._0x456f09)]){const _0x2ee317=_0x22dbcb[_0x4b7991(0xa36,0xb4d)](_0x3e3aa5['positionOnEllipsoidSurface'],scratchRay[_0x1ed28e(0x2b,_0x40ebe4._0x1dbf71)]),_0x164bdf=_0x22dbcb[_0x4b7991(0x1059,_0x40ebe4._0x3a3313)](_0x3e3aa5[_0x1ed28e(_0x40ebe4._0x2c1f75,_0x40ebe4._0x1c0bda)],0x2cec,scratchRay['origin']);if(!defined(_0x164bdf)){let _0x59a743=0x0;defined(_0x331264[_0x1ed28e(0x844,0x7c8)]['tileBoundingRegion'])&&(_0x59a743=_0x331264['data']['tileBoundingRegion'][_0x1ed28e(-_0x40ebe4._0x193398,_0x40ebe4._0x3ae055)]);const _0x271a20=Math[_0x4b7991(0xbc1,0xe30)](_0x59a743,-0x2cec),_0x29d6cd=Cartesian3['multiplyByScalar'](_0x2ee317,Math['abs'](_0x271a20)+0x1,scratchPosition);Cartesian3['subtract'](_0x3e3aa5[_0x4b7991(0x607,0xe54)],_0x29d6cd,scratchRay[_0x4b7991(0x6e0,_0x40ebe4._0x21ebec)]);}}else Cesium__namespace['Cartographic'][_0x4b7991(0x1192,0x874)](_0x3e3aa5['positionCartographic'],scratchCartographic),scratchCartographic[_0x4b7991(0x824,_0x40ebe4._0xee5a3)]=-0x2cec,_0x15420c[_0x4b7991(0x15cb,0xc6e)](scratchCartographic,scratchPosition),Cartesian3['fromElements'](scratchPosition['z'],scratchPosition['x'],scratchPosition['y'],scratchPosition),Cartesian3['clone'](scratchPosition,scratchRay['origin']),Cartesian3['clone'](Cartesian3[_0x4b7991(0xbc1,0x9c8)],scratchRay['direction']);const _0x5b3300=_0x331264['data']['pick'](scratchRay,_0xdebbe5,_0x15420c,![],scratchPosition);defined(_0x5b3300)&&(defined(_0x3e3aa5[_0x1ed28e(0xc4a,0xd36)])&&_0x3e3aa5[_0x4b7991(_0x40ebe4._0x4325a3,_0x40ebe4._0x4b7efc)](_0x5b3300),_0x3e3aa5[_0x1ed28e(0x501,0x25)]=_0x331264[_0x1ed28e(-_0x40ebe4._0x2a82ef,_0x40ebe4._0x50a4c0)]);}if(getTimestamp()>=_0x3b8c1c){_0x5d1229=!![];break;}}if(_0x5d1229){_0x43a4e5[_0x1ed28e(-0x53d,-0x118)]=_0x192ae7;break;}else _0x43a4e5['_lastTileIndex']=0x0,_0x5a30a6[_0x1ed28e(-_0x40ebe4._0x36b960,0xb2)]();}for(_0x192ae7=0x0;_0x192ae7<_0x5661d2['length'];_0x192ae7++){_0x5a30a6['push'](_0x5661d2[_0x192ae7]);}}function createRenderCommandsForSelectedTiles(_0x41058a,_0x5c85c0){const _0xe7e307={_0x2e257a:0x204},_0xdbdbbc=_0x41058a['_tileProvider'];function _0x191ead(_0x170bc5,_0x4ac569){return _0x7afdbe(_0x4ac569,_0x170bc5- -0x731);}const _0x3cc807=_0x41058a[_0x191ead(-_0xe7e307._0x2e257a,-0x517)];for(let _0x4895ac=0x0,_0x35ac48=_0x3cc807['length'];_0x4895ac<_0x35ac48;++_0x4895ac){const _0x3b3a84=_0x3cc807[_0x4895ac];_0xdbdbbc['showTileThisFrame'](_0x3b3a84,_0x5c85c0);}}const applicableRectangleScratch=new Rectangle();function pickImageryHelper(_0x1bb963,_0x3a2fd6,_0x117bd4,_0x2086ee){const _0x2c38f3={_0x215287:0xa19,_0x247914:0x86a,_0xdb25d5:0x25e,_0x2d75a0:0x529,_0x5a5f1f:0xdec,_0x47dafe:0x14ca,_0x3b7050:0x698,_0x59f25b:0x199f,_0x45f600:0x691,_0x2ad040:0x2d,_0x1c4e32:0x171a,_0x107dcf:0x11e,_0x253427:0x80a,_0x138c2d:0x484,_0x42bc9e:0x1f4},_0x478dde={_0x1718ea:0xa4};function _0x4a9b57(_0x358ac0,_0x28c930){return _0x54a7f1(_0x28c930-_0x478dde._0x1718ea,_0x358ac0);}const _0x338be3=_0x1bb963['_tilesToRender'];function _0x211d8c(_0x4b1ac7,_0x33a410){return _0x54a7f1(_0x33a410- -0x4c0,_0x4b1ac7);}let _0x3d65b6;for(let _0x583c58=0x0;!defined(_0x3d65b6)&&_0x583c58<_0x338be3[_0x211d8c(_0x2c38f3._0x215287,0xac5)];++_0x583c58){const _0x1d547c=_0x338be3[_0x583c58];Rectangle['contains'](_0x1d547c[_0x211d8c(-_0x2c38f3._0x247914,-0x1f4)],_0x3a2fd6)&&(_0x3d65b6=_0x1d547c);}if(!defined(_0x3d65b6))return;const _0x3775da=_0x3d65b6['data'][_0x4a9b57(_0x2c38f3._0xdb25d5,_0x2c38f3._0x2d75a0)];for(let _0x4d0677=_0x3775da['length']-0x1;_0x4d0677>=0x0;--_0x4d0677){const _0x47517b=_0x3775da[_0x4d0677],_0x3a7146=_0x47517b['readyImagery'];if(!defined(_0x3a7146))continue;const _0x1aa1c0=_0x3a7146[_0x211d8c(0x1c,0x34d)]['imageryProvider'];if(_0x117bd4&&!defined(_0x1aa1c0['pickFeatures']))continue;if(!Rectangle['contains'](_0x3a7146['rectangle'],_0x3a2fd6))continue;const _0x3b0072=applicableRectangleScratch,_0x1a0355=0x1/0x400;_0x3b0072['west']=Cesium__namespace[_0x211d8c(0x3d8,_0x2c38f3._0x5a5f1f)]['lerp'](_0x3d65b6['rectangle'][_0x211d8c(-0x151,0x2d)],_0x3d65b6['rectangle'][_0x4a9b57(_0x2c38f3._0x47dafe,0x10df)],_0x47517b[_0x211d8c(0x992,_0x2c38f3._0x3b7050)]['x']-_0x1a0355),_0x3b0072['east']=Cesium__namespace[_0x4a9b57(_0x2c38f3._0x59f25b,0x1350)]['lerp'](_0x3d65b6['rectangle'][_0x211d8c(-_0x2c38f3._0x45f600,_0x2c38f3._0x2ad040)],_0x3d65b6['rectangle'][_0x4a9b57(0xd65,0x10df)],_0x47517b['textureCoordinateRectangle']['z']+_0x1a0355),_0x3b0072[_0x4a9b57(0x10c2,_0x2c38f3._0x1c4e32)]=Cesium__namespace['Math'][_0x211d8c(_0x2c38f3._0x107dcf,0x6ab)](_0x3d65b6['rectangle']['south'],_0x3d65b6[_0x211d8c(-_0x2c38f3._0x253427,-0x1f4)]['north'],_0x47517b['textureCoordinateRectangle']['y']-_0x1a0355),_0x3b0072[_0x211d8c(0x6f5,_0x2c38f3._0x138c2d)]=Cesium__namespace['Math']['lerp'](_0x3d65b6['rectangle']['south'],_0x3d65b6[_0x211d8c(0x18,-_0x2c38f3._0x42bc9e)]['north'],_0x47517b['textureCoordinateRectangle']['w']+_0x1a0355);if(!Rectangle[_0x4a9b57(0xe28,0x13fe)](_0x3b0072,_0x3a2fd6))continue;_0x2086ee(_0x3a7146);}}class QuadtreePrimitive{constructor(_0x13400c){const _0x4eaa8b={_0x5aa8ed:0x8a9,_0x3d9496:0x146,_0x53393b:0x1d54,_0x53aca7:0x141,_0x24fd9c:0x1fb0,_0x1742a2:0x9cf,_0x17c91e:0x3ba,_0x14b59f:0x5c1,_0x4f87d4:0x604,_0x115413:0xf4c,_0x9a722d:0x1577,_0x461e96:0xcc4,_0x636e62:0x3cb,_0x1d0363:0xc48,_0x4b3285:0x10dd,_0x454c4c:0x1133,_0x17b162:0x104b,_0x3cfcea:0x1604,_0x2112df:0x344,_0x274a8d:0x907,_0x144ff7:0x9fe,_0x215dbd:0x103d,_0x4c36b4:0x324,_0x1c52df:0x393};this[_0x1e15a5(0xf17,_0x4eaa8b._0x5aa8ed)]=new GlobeSurfaceTileProvider(_0x13400c['imageryLayers']),this[_0x1e15a5(0xc1e,0x8a9)][_0x412f4f(0x7bb,-_0x4eaa8b._0x3d9496)]=this,this['_tileProvider']['imageryLayersUpdatedEvent'][_0x1e15a5(_0x4eaa8b._0x53393b,0x1665)](()=>{this['_tilesInvalidated']=!![];});const _0x144032={};_0x144032[_0x1e15a5(0xe3c,0x3a9)]=![],_0x144032[_0x1e15a5(0x49c,0xc8b)]=0x0,_0x144032['maxDepthVisited']=0x0,_0x144032[_0x1e15a5(0x1921,0x10e5)]=0x0,_0x144032['tilesCulled']=0x0,_0x144032['tilesRendered']=0x0,_0x144032['tilesWaitingForChildren']=0x0,_0x144032[_0x1e15a5(0x173b,0x1380)]=-0x1,_0x144032[_0x412f4f(0x7d5,-0xd8)]=-0x1,_0x144032['lastTilesVisited']=-0x1,_0x144032['lastTilesCulled']=-0x1,_0x144032[_0x1e15a5(-0x5f2,_0x4eaa8b._0x53aca7)]=-0x1,_0x144032[_0x1e15a5(_0x4eaa8b._0x24fd9c,0x155e)]=-0x1,_0x144032[_0x412f4f(_0x4eaa8b._0x1742a2,_0x4eaa8b._0x17c91e)]=![];function _0x412f4f(_0x1b4e7d,_0x39a9e4){return _0x54a7f1(_0x39a9e4- -0x455,_0x1b4e7d);}this['_debug']=_0x144032;const _0x4ee99b=this['_tileProvider'][_0x412f4f(0x934,0x822)],_0x5f4bf5=_0x4ee99b['ellipsoid'];this['_tilesToRender']=[],this[_0x412f4f(_0x4eaa8b._0x14b59f,0xcd9)]=[],this[_0x412f4f(0xbf9,_0x4eaa8b._0x4f87d4)]=[],this[_0x1e15a5(0x9cb,_0x4eaa8b._0x115413)]=[],this[_0x1e15a5(0x173d,_0x4eaa8b._0x9a722d)]=new TileReplacementQueue(),this[_0x1e15a5(_0x4eaa8b._0x461e96,0x165c)]=undefined,this['_loadQueueTimeSlice']=0x5,this[_0x412f4f(-_0x4eaa8b._0x636e62,0x50)]=![],this[_0x412f4f(_0x4eaa8b._0x1d0363,_0x4eaa8b._0x4b3285)]=[],this[_0x412f4f(_0x4eaa8b._0x454c4c,_0x4eaa8b._0x17b162)]=[],this['_tileToUpdateHeights']=[],this[_0x1e15a5(-0x3ca,0x291)]=0x0,this[_0x1e15a5(0x11de,_0x4eaa8b._0x3cfcea)]=0x2,this['_cameraPositionCartographic']=undefined,this['_cameraReferenceFrameOriginCartographic']=undefined,this['maximumScreenSpaceError']=defaultValue(_0x13400c[_0x1e15a5(0x39f,_0x4eaa8b._0x2112df)],0x2),this[_0x412f4f(0x1732,0xd4f)]=defaultValue(_0x13400c['tileCacheSize'],0x64),this['loadingDescendantLimit']=0x14,this[_0x1e15a5(0xbc7,0xdb3)]=!![],this['preloadSiblings']=![];function _0x1e15a5(_0xc1de79,_0x163fbc){return _0x7afdbe(_0xc1de79,_0x163fbc- -0x32c);}const _0x3ea624={};_0x3ea624['ellipsoid']=_0x5f4bf5,this[_0x412f4f(0x42e,0x18a)]=new QuadtreeOccluders(_0x3ea624),this[_0x1e15a5(0xf12,_0x4eaa8b._0x274a8d)]=new Cesium__namespace[(_0x1e15a5(0x1c43,0x163c))](),this[_0x412f4f(0x107a,0x7fa)]=0x0,this[_0x412f4f(0x180,_0x4eaa8b._0x144ff7)]=undefined,this['isReady']=![],!Cesium__namespace[_0x412f4f(0x16fa,_0x4eaa8b._0x215dbd)]['initialized']?Cesium__namespace['GroundPrimitive'][_0x1e15a5(-_0x4eaa8b._0x4c36b4,_0x4eaa8b._0x1c52df)]()['then'](()=>{this['isReady']=!![];}):this['isReady']=!![];}get[_0x54a7f1(0x730,-0x1aa)](){const _0x4656e1={_0x13aee1:0x2b4};function _0xb3799f(_0x18ab86,_0x56fa3d){return _0x7afdbe(_0x56fa3d,_0x18ab86- -_0x4656e1._0x13aee1);}return this[_0xb3799f(0x921,-0x2e)];}get['tileLoadProgressEvent'](){const _0x264554={_0x4b2531:0x252};function _0x17531f(_0x17d732,_0x201bbd){return _0x54a7f1(_0x201bbd-_0x264554._0x4b2531,_0x17d732);}return this[_0x17531f(0x14e2,0xc57)];}get[_0x7afdbe(0xf5b,0x115f)](){return this['_occluders'];}get[_0x54a7f1(0x1408,0x95c)](){return this['_tileProvider']['classificationType'];}set['classificationType'](_0x480777){this['_tileProvider']['classificationType']=_0x480777;}['invalidateAllTiles'](){this['_tilesInvalidated']=!![];}[_0x7afdbe(0x1295,0x8b8)](_0x41061f){function _0x5b023b(_0x2b765e,_0x24a081){return _0x54a7f1(_0x2b765e- -0x33b,_0x24a081);}function _0xbcc741(_0x3e6db7,_0x45f366){return _0x54a7f1(_0x3e6db7- -0x1fb,_0x45f366);}let _0x2eecd4=this[_0xbcc741(0x147a,0x9ae)]['head'];while(defined(_0x2eecd4)){_0x2eecd4[_0x5b023b(0x791,0x115c)]!==QuadtreeTileLoadState['START']&&_0x41061f(_0x2eecd4),_0x2eecd4=_0x2eecd4[_0x5b023b(0x1034,0x6c8)];}}['pickFeatures'](_0x38b9cb,_0x4a8f97){const _0xd28a59={_0x12d18e:0x299},_0x576bc0={_0x4ca30d:0x1209,_0x4d92cd:0x1764,_0x28955e:0x142f,_0x5b18e6:0xf52},_0x4a7234={_0xb9ebc6:0x41d},_0x425f51={_0x5502a9:0x1626,_0x5a74e4:0x37a,_0x428b82:0xa77,_0x2a6c61:0x8a5,_0x3c003c:0xe9e},_0x21eef9={_0x816ef3:0x264},_0x561b9f=_0x38b9cb[_0x4c18c6(-_0xd28a59._0x12d18e,0x6c6)][_0x4c18c6(0x15e3,0x17d5)](_0x4a8f97),_0x58d4a7=_0x38b9cb[_0x50d075(-0x612,0x3ab)]['pick'](_0x561b9f,_0x38b9cb);if(!defined(_0x58d4a7))return;const _0x4cfc68=_0x38b9cb['globe']['ellipsoid']['cartesianToCartographic'](_0x58d4a7),_0x1e5670=[],_0x14b255=[];pickImageryHelper(this,_0x4cfc68,!![],function(_0x27df59){const _0x203241=_0x27df59['imageryLayer'][_0x54fb9f(0x1350,_0x425f51._0x5502a9)];function _0x9f2d6e(_0x4914c5,_0xd217e2){return _0x4c18c6(_0x4914c5,_0xd217e2-0x92);}function _0x54fb9f(_0x147afd,_0x3d72c9){return _0x4c18c6(_0x147afd,_0x3d72c9- -_0x21eef9._0x816ef3);}const _0x240051=_0x203241[_0x9f2d6e(_0x425f51._0x5a74e4,_0x425f51._0x428b82)](_0x27df59['x'],_0x27df59['y'],_0x27df59['level'],_0x4cfc68[_0x9f2d6e(-0x74,_0x425f51._0x2a6c61)],_0x4cfc68[_0x54fb9f(0x91d,0x8de)]);defined(_0x240051)&&(_0x1e5670[_0x54fb9f(_0x425f51._0x3c003c,0xe0f)](_0x240051),_0x14b255[_0x9f2d6e(0x1281,0x1105)](_0x27df59[_0x9f2d6e(0xe7,0xa0a)]));});if(_0x1e5670['length']===0x0)return undefined;function _0x50d075(_0x311141,_0x492abf){return _0x7afdbe(_0x311141,_0x492abf- -0x102);}function _0x4c18c6(_0x5e720b,_0x1a502f){return _0x54a7f1(_0x1a502f-0x16b,_0x5e720b);}return Promise[_0x50d075(0x113d,0x758)](_0x1e5670)['then'](function(_0x3ed7c2){const _0xb6242b=[];function _0xc457b1(_0x41d76f,_0x4c0573){return _0x4c18c6(_0x41d76f,_0x4c0573- -_0x4a7234._0xb9ebc6);}function _0x29eaf9(_0x40d2b0,_0x5701e4){return _0x50d075(_0x40d2b0,_0x5701e4- -0xe2);}for(let _0x3ce76f=0x0;_0x3ce76f<_0x3ed7c2[_0xc457b1(_0x576bc0._0x4ca30d,0xcd3)];++_0x3ce76f){const _0x2ba81c=_0x3ed7c2[_0x3ce76f],_0x4d9d44=_0x14b255[_0x3ce76f];if(defined(_0x2ba81c)&&_0x2ba81c['length']>0x0)for(let _0x570572=0x0;_0x570572<_0x2ba81c[_0xc457b1(_0x576bc0._0x4d92cd,0xcd3)];++_0x570572){const _0x3a0e5e=_0x2ba81c[_0x570572];_0x3a0e5e['imageryLayer']=_0x4d9d44,!defined(_0x3a0e5e[_0xc457b1(0xc32,_0x576bc0._0x28955e)])&&(_0x3a0e5e['position']=_0x4cfc68),_0xb6242b[_0x29eaf9(0x19b9,_0x576bc0._0x5b18e6)](_0x3a0e5e);}}return _0xb6242b;});}['prePassesUpdate'](_0x4fba24){const _0xbb5db6={_0x8e62eb:0x13a3,_0x4170f5:0xa54,_0x200ec6:0xb15,_0xb6fa4c:0x640,_0x2607ef:0xb88},_0x1e0966={_0x1ead66:0x119};if(!this[_0x3f6bc8(0xd78,_0xbb5db6._0x8e62eb)])return;defined(this['_tileProvider'][_0x3f6bc8(_0xbb5db6._0x4170f5,0x842)])&&this['_tileProvider']['update'](_0x4fba24);const _0x26b0d3=_0x4fba24[_0x3f6bc8(0xe25,_0xbb5db6._0x200ec6)];function _0x3f6bc8(_0x12ea37,_0x505300){return _0x7afdbe(_0x505300,_0x12ea37- -_0x1e0966._0x1ead66);}if(!_0x26b0d3['render'])return;this['_tilesInvalidated']&&(invalidateAllTiles(this),this[_0x3f6bc8(0x5ba,-0x32b)]=![]);function _0x4d9cdd(_0xb3d94c,_0x2804a5){return _0x7afdbe(_0xb3d94c,_0x2804a5- -0x5b9);}this['_tileProvider']['initialize'](_0x4fba24),clearTileLoadQueue(this);if(this[_0x3f6bc8(_0xbb5db6._0xb6fa4c,0x14c)][_0x3f6bc8(0x924,_0xbb5db6._0x2607ef)])return;this[_0x4d9cdd(0xe95,0x12ea)]['markStartOfRenderFrame']();}['update'](_0x4c4405){const _0x4a8e0c={_0x3ac582:0x73a,_0x1bd826:0x64a,_0x13a791:0x2d0},_0x15cd72={_0x262002:0x588};function _0x312c49(_0x36d8d2,_0x3863d8){return _0x7afdbe(_0x3863d8,_0x36d8d2- -_0x15cd72._0x262002);}if(!this['isReady'])return;const _0x3798d2=_0x4c4405[_0x312c49(0x9b6,_0x4a8e0c._0x3ac582)];function _0x17794b(_0x28652e,_0x27d906){return _0x54a7f1(_0x27d906- -0x22b,_0x28652e);}const _0x8d76a9=this['_tileProvider'];_0x3798d2['render']&&(_0x8d76a9[_0x17794b(_0x4a8e0c._0x1bd826,_0x4a8e0c._0x13a791)](_0x4c4405),selectTilesForRendering(this,_0x4c4405),createRenderCommandsForSelectedTiles(this,_0x4c4405),_0x8d76a9['endUpdate'](_0x4c4405));}['postPassesUpdate'](_0x3c9324){const _0x1010b9={_0x3d9494:0x150f},_0x180a34={_0x392aa8:0x7};if(!this['isReady'])return;const _0x23de38=_0x3c9324['passes'];if(!_0x23de38[_0x5ec699(0x123e,_0x1010b9._0x3d9494)]||_0x3c9324['mode']===SceneMode['MORPHING'])return;function _0x5ec699(_0x2adbf6,_0x4f875d){return _0x54a7f1(_0x4f875d-_0x180a34._0x392aa8,_0x2adbf6);}processTileLoadQueue(this,_0x3c9324),updateHeights(this,_0x3c9324),updateTileLoadProgress(this,_0x3c9324);}['isDestroyed'](){return![];}['destroy'](){this['_tileProvider']=this['_tileProvider']&&this['_tileProvider']['destroy']();}}const _0x95f25f={};_0x95f25f['shouldAnimate']=!![],_0x95f25f['showRenderLoopErrors']=!![],_0x95f25f[_0x54a7f1(0x13c5,0x966)]=![],_0x95f25f[_0x7afdbe(0x1f3d,0x1622)]=![],_0x95f25f[_0x7afdbe(0x15fe,0x18b1)]=![];const DefaultOptions=_0x95f25f;let mapIndex=0x0;class Map extends BaseClass{constructor(_0x3b7e1a,_0x40036d={}){const _0x276fde={_0x2e00f0:0xe17,_0x10a3c3:0x55c,_0x52e55f:0x45d,_0x8edecb:0x130e,_0x485016:0xa2d,_0x27a64f:0x1e6,_0x1c7f3b:0x157,_0x39e9f7:0x963,_0x6b06eb:0x807,_0x6ce0cc:0x3b6,_0x342eab:0x3b8,_0x49fbdb:0x121b,_0x3a8387:0x80c},_0x4aacd2={_0x36438d:0x2bb};super(_0x40036d),this[_0x4c6ecd(_0x276fde._0x2e00f0,0x990)]=mapIndex++,this['options']=_0x40036d,this[_0x1ed0f5(_0x276fde._0x10a3c3,0xe11)]=0x0,this[_0x4c6ecd(-_0x276fde._0x52e55f,0x363)]={},this['_effect']={},this['_thing']={},this['_readyPromise']=Cesium__namespace['defer']();const _0x5d8ece=_0x40036d['method']||{};this['chinaCRS']=_0x5d8ece[_0x4c6ecd(0x166,0xa12)]||ChinaCRS['WGS84'];function _0x4c6ecd(_0x270f62,_0x3c234a){return _0x54a7f1(_0x3c234a- -_0x4aacd2._0x36438d,_0x270f62);}(_0x5d8ece['token']||_0x40036d[_0x1ed0f5(_0x276fde._0x8edecb,_0x276fde._0x485016)])&&updateAll(_0x5d8ece['token']||_0x40036d['token']);(_0x5d8ece['templateValues']||_0x40036d[_0x1ed0f5(0xb5b,0x92)])&&(this['templateValues']=_0x5d8ece['templateValues']||_0x40036d[_0x4c6ecd(-_0x276fde._0x27a64f,_0x276fde._0x1c7f3b)]);initBeforeCreateDefaultValue(_0x40036d);_0x3b7e1a instanceof Cesium__namespace['Viewer']?(this['_viewer']=_0x3b7e1a,_0x40036d['basemaps']&&this['_viewer']['imageryLayers']['removeAll']()):this['_createViewer'](_0x3b7e1a,_0x40036d);this[_0x1ed0f5(0xa2a,_0x276fde._0x39e9f7)]=!![],this['_controlList']=new MarsArray(),this['_thingList']=new MarsArray(),this['_layerList']=new MarsArray(),this[_0x1ed0f5(0x41a,0x73f)]=new MarsArray(),this['_optionsLayersList']=new MarsArray();function _0x1ed0f5(_0x2a39fb,_0x13188e){return _0x54a7f1(_0x13188e- -0x380,_0x2a39fb);}this[_0x1ed0f5(0x129a,0x87c)]=new SceneEvent(this),this['_mouseEvent']=new MouseEvent(this,_0x40036d[_0x4c6ecd(-0xe6,0x6b4)]),this['_sceneOption']=new SceneOption(this),this[_0x4c6ecd(0x7e4,_0x276fde._0x6b06eb)]['setOptions'](_0x40036d['scene'],_0x40036d[_0x4c6ecd(_0x276fde._0x6ce0cc,0xdc4)]),this[_0x4c6ecd(-0x3ba,_0x276fde._0x342eab)]=new ZoomNavigation(this['_viewer']),this[_0x4c6ecd(_0x276fde._0x49fbdb,0x14f8)](),this['_initTerrain'](),this[_0x1ed0f5(0xd4a,0xbf4)](_0x40036d['method']),this['_initThing'](),this[_0x1ed0f5(0x2a6,_0x276fde._0x3a8387)](),this['_initControls']();}get['viewer'](){const _0xb5c91c={_0x1a34f6:0xdbd};function _0x4634e0(_0x8f3d22,_0x38f390){return _0x7afdbe(_0x8f3d22,_0x38f390-0x14);}return this[_0x4634e0(0xb9e,_0xb5c91c._0x1a34f6)];}get['container'](){const _0x3bb0b6={_0x317e9a:0x916};function _0x1d7d74(_0x51e90c,_0x21a47c){return _0x7afdbe(_0x51e90c,_0x21a47c- -0x493);}return this[_0x1d7d74(0xee7,_0x3bb0b6._0x317e9a)]['container'];}get[_0x7afdbe(0xf0f,0x169a)](){const _0x50bbf4={_0x2139d5:0x78};function _0x50f97a(_0x47d9a4,_0x304f37){return _0x54a7f1(_0x47d9a4- -_0x50bbf4._0x2139d5,_0x304f37);}return this[_0x50f97a(0xb03,0x122f)]['_toolbar'];}get[_0x54a7f1(0x8e2,0x11f1)](){const _0x179152={_0x3570a2:0xef2};function _0x3dd0d8(_0x4bbf0b,_0x1a2445){return _0x54a7f1(_0x4bbf0b- -0x18d,_0x1a2445);}var _0x2174d5;return(_0x2174d5=this['_viewer'])===null||_0x2174d5===void 0x0?void 0x0:_0x2174d5[_0x3dd0d8(_0x179152._0x3570a2,0x17f9)]['canvas'];}get[_0x54a7f1(0x107f,0x1aed)](){var _0xa72a68;return(_0xa72a68=this['_viewer'])===null||_0xa72a68===void 0x0?void 0x0:_0xa72a68['scene'];}get[_0x54a7f1(0x27f,0xc4e)](){const _0x3d64b2={_0x271a31:0x18b};function _0x284eb5(_0x3a5905,_0x3320aa){return _0x7afdbe(_0x3a5905,_0x3320aa- -_0x3d64b2._0x271a31);}var _0x25bf41;return(_0x25bf41=this['_viewer'])===null||_0x25bf41===void 0x0||(_0x25bf41=_0x25bf41[_0x284eb5(0x776,0x1122)])===null||_0x25bf41===void 0x0?void 0x0:_0x25bf41['globe'];}get['camera'](){function _0x449e64(_0x82da5a,_0x2995b9){return _0x7afdbe(_0x2995b9,_0x82da5a- -0x60b);}return this[_0x449e64(0x79e,0xcf0)]['camera'];}get[_0x54a7f1(0xe0f,0xa65)](){function _0xdfc900(_0x48b336,_0x1ddbb8){return _0x54a7f1(_0x1ddbb8- -0x50e,_0x48b336);}return this[_0xdfc900(0x214,0x66d)]['imageryLayers'];}get['dataSources'](){const _0x4ecac7={_0x13f2f4:0x86a};function _0x44b112(_0x171753,_0x475e12){return _0x54a7f1(_0x171753-0x78,_0x475e12);}function _0x167268(_0x55a6ea,_0x27ba67){return _0x54a7f1(_0x55a6ea- -0x311,_0x27ba67);}return this[_0x167268(_0x4ecac7._0x13f2f4,0x110a)][_0x167268(0x635,-0xcc)];}get['entities'](){function _0x33d4f3(_0x5a8d3d,_0xe6c4cf){return _0x54a7f1(_0x5a8d3d- -0x9e,_0xe6c4cf);}return this[_0x33d4f3(0xadd,0xc2b)]['entities'];}get['clock'](){const _0x341c2b={_0x10a62e:0x81d};function _0x5efd3c(_0x5b4c29,_0x50ef56){return _0x54a7f1(_0x50ef56- -0xbd,_0x5b4c29);}return this[_0x5efd3c(_0x341c2b._0x10a62e,0xabe)]['clock'];}get['currentTime'](){const _0x251d69={_0x16c867:0x4b1};function _0x364e0d(_0x35740f,_0x5c917c){return _0x7afdbe(_0x35740f,_0x5c917c- -0x249);}return this[_0x364e0d(_0x251d69._0x16c867,0xb60)]['clock']['currentTime'];}set[_0x7afdbe(0x13e4,0x1681)](_0x1464d3){this['_viewer']['clock']['currentTime']=_0x1464d3;}get['cesiumWidget'](){return this['_viewer']['cesiumWidget'];}get['readyPromise'](){var _0x5b8dc0;function _0xf4051c(_0x13ca7e,_0x43e7d0){return _0x54a7f1(_0x13ca7e-0xb2,_0x43e7d0);}return(_0x5b8dc0=this[_0xf4051c(0x363,-0x8b)])===null||_0x5b8dc0===void 0x0?void 0x0:_0x5b8dc0['promise'];}get[_0x7afdbe(0xd58,0x9a0)](){const _0x37bca3={_0x4f2bc9:0x1d,_0x1c0949:0xa1a,_0x3cf22b:0x611};function _0xf59929(_0x3685ff,_0x4e538e){return _0x54a7f1(_0x4e538e- -0x161,_0x3685ff);}function _0x460b9c(_0x78c651,_0x260b51){return _0x54a7f1(_0x78c651- -0x8,_0x260b51);}return this[_0xf59929(_0x37bca3._0x4f2bc9,_0x37bca3._0x1c0949)][_0xf59929(0x10a1,_0x37bca3._0x3cf22b)];}set[_0x7afdbe(0x1135,0x9a0)](_0x1086be){const _0x3386b1={_0x5c78e6:0x1a0d,_0x4866c9:0x1483,_0x587f7b:0x1eba,_0x2fae44:0x4e2};function _0x295f37(_0x2f273c,_0x2681fa){return _0x7afdbe(_0x2f273c,_0x2681fa- -0x56b);}function _0x52c38b(_0x5a97a7,_0x4b431f){return _0x7afdbe(_0x4b431f,_0x5a97a7- -0x2e0);}if(_0x1086be){let _0x280ac5;if(_0x1086be instanceof Cesium__namespace['Entity'])_0x280ac5=_0x1086be;else{if(_0x1086be['entity']instanceof Cesium__namespace['Entity'])_0x280ac5=_0x1086be['entity'];else{if(_0x1086be[_0x52c38b(0x1649,_0x3386b1._0x5c78e6)]instanceof Cesium__namespace[_0x295f37(_0x3386b1._0x4866c9,0x13e1)])_0x280ac5=_0x1086be['czmObject'];else _0x1086be['trackedEntity']instanceof Cesium__namespace[_0x52c38b(0x166c,_0x3386b1._0x587f7b)]&&(_0x280ac5=_0x1086be['trackedEntity']);}}_0x280ac5&&(!_0x280ac5['viewFrom']&&(_0x280ac5[_0x52c38b(0xa45,0x31a)]=new Cesium__namespace[(_0x295f37(_0x3386b1._0x2fae44,0xfaa))](-0x1f4,-0x1f4,0xc8)),this['_viewer']['trackedEntity']=_0x280ac5);}else this['_viewer']['trackedEntity']=undefined;}get[_0x54a7f1(0x8e8,0x1ef)](){const _0x1b1b30={_0x29d043:0xe4};function _0x468772(_0x4cb844,_0x4528eb){return _0x54a7f1(_0x4cb844-_0x1b1b30._0x29d043,_0x4528eb);}return this['_viewer'][_0x468772(0x9cc,0x1099)];}set['terrainProvider'](_0x346275){this['_updateTerrainProvider'](_0x346275);}async['_updateTerrainProvider'](_0x320d57){const _0x30b8e6={_0x213c83:0xe29,_0x392dd6:0x1009},_0x4c5cbd={_0x4dfb7b:0x596};function _0x104fc1(_0x546797,_0x373813){return _0x7afdbe(_0x373813,_0x546797- -0x63d);}function _0x23b486(_0x2bfbe1,_0x2cb88e){return _0x7afdbe(_0x2bfbe1,_0x2cb88e- -_0x4c5cbd._0x4dfb7b);}try{this['_terrainProviderIndex']++;if(_0x320d57){if(_0x320d57[_0x104fc1(0x1a4,-0x759)]){this['_viewer']['scene']['_terrainProviderPromise']=_0x320d57;const _0x2fd0cb=this['_terrainProviderIndex'];_0x320d57=await _0x320d57,delete this[_0x104fc1(0x76c,0xa8)][_0x23b486(0x313,0xd17)]['_terrainProviderPromise'];if(_0x2fd0cb!==this[_0x23b486(0xcdc,_0x30b8e6._0x213c83)])return;}}this['_viewer']['terrainProvider']=_0x320d57,this[_0x23b486(0x14ff,_0x30b8e6._0x392dd6)]=_0x320d57;this['control']['baseLayerPicker']&&this['control']['baseLayerPicker']['updateSelectedTerrainViewModel']();const _0x480b41={};_0x480b41['terrain']=_0x320d57,this['fire'](EventType['terrainLoadSuccess'],_0x480b41);}catch(_0x52c800){this['_viewer']['terrainProvider']=getNoTerrainProvider();const _0x410e36={};_0x410e36['error']=_0x52c800,this[_0x104fc1(0xaa9,0x6c1)](EventType[_0x104fc1(0x103a,0x19a9)],_0x410e36);}}get[_0x54a7f1(0x77d,0x6cb)](){function _0x506b09(_0x275f,_0x278d56){return _0x7afdbe(_0x278d56,_0x275f- -0x6b0);}return!(this[_0x506b09(0x6f9,0x590)]['terrainProvider']instanceof Cesium__namespace['EllipsoidTerrainProvider']);}set['hasTerrain'](_0x4b4030){const _0x3125f0={_0x23a2ac:0xfce,_0x3777b1:0x523,_0x56e830:0xd85,_0x2ad776:0x1263},_0x566da8={_0x4942e4:0x1ba};_0x4b4030?this[_0x1bbab1(0x11e6,_0x3125f0._0x23a2ac)]==null?this['terrainProvider']=createTerrainProvider(this['_getTerrainOptions']()):(this['_terrainProviderIndex']++,this[_0x1bbab1(_0x3125f0._0x3777b1,0x7d8)]['terrainProvider']=this['_defaultTerrainProvider']):(this['_terrainProviderIndex']++,this['_viewer']['terrainProvider']=getNoTerrainProvider(),this['fire'](EventType['terrainLoadSuccess']));function _0x551ec0(_0x1b1b46,_0x2d17b1){return _0x7afdbe(_0x2d17b1,_0x1b1b46- -_0x566da8._0x4942e4);}function _0x1bbab1(_0x48cacc,_0x5f2aae){return _0x7afdbe(_0x48cacc,_0x5f2aae- -0x5d1);}this['control']['baseLayerPicker']&&this[_0x1bbab1(_0x3125f0._0x56e830,0x346)][_0x1bbab1(_0x3125f0._0x2ad776,0x85f)]['updateSelectedTerrainViewModel']();}get[_0x7afdbe(0x1fe5,0x196a)](){const _0x57e2c4=this['_optionsBasemapsList']['values'];for(let _0x40a0f1=0x0;_0x40a0f1<_0x57e2c4['length'];_0x40a0f1++){const _0x290719=_0x57e2c4[_0x40a0f1];if(_0x290719['hasEmptyGroup'])continue;if(_0x290719['isAdded'])return _0x290719;}return undefined;}set[_0x7afdbe(0x16b5,0x196a)](_0x5016a7){const _0x5b4d5e={_0x7968fe:0x13ad,_0x27a685:0x32b,_0x2405d7:0x9d5,_0x17948e:0xd27,_0x44f5a6:0x174},_0x5410d6={_0x55be60:0x1794,_0x41cbde:0x1277},_0xb63fe={_0x7d5755:0x109};let _0x1a131c,_0x4b0e93;_0x5016a7&&isObject(_0x5016a7)?(_0x1a131c=_0x5016a7['id'],_0x4b0e93=_0x5016a7['name']):(_0x1a131c=_0x5016a7,_0x4b0e93=_0x5016a7);function _0x4611cb(_0x4e726d,_0x4ff5b0){return _0x7afdbe(_0x4e726d,_0x4ff5b0- -_0xb63fe._0x7d5755);}let _0x2125cf=this['basemap'];if(_0x2125cf&&(_0x2125cf['id']===_0x1a131c||_0x2125cf['name']===_0x4b0e93))return;const _0x4ab754=this[_0xb1997(0x7a6,0xd19)]['values'];for(let _0x2a81cd=0x0;_0x2a81cd<_0x4ab754['length'];_0x2a81cd++){const _0x3caf2c=_0x4ab754[_0x2a81cd];if(_0x3caf2c[_0xb1997(0x24d,0xbbf)])continue;_0x4b0e93==_0x3caf2c['name']||_0x1a131c==_0x3caf2c['id']?(!_0x3caf2c['isAdded']&&(_0x1a131c=_0x3caf2c['id'],_0x3caf2c['options']['show']=!![],this[_0xb1997(_0x5b4d5e._0x7968fe,0x1501)](_0x3caf2c)['then'](_0x253db9=>{const _0xa28da1={_0x3f42fd:0x148};_0x3caf2c['toBottom']&&_0x3caf2c[_0x13f235(_0x5410d6._0x55be60,0x1a5d)]();function _0x13f235(_0x9f76a7,_0x1d32bb){return _0x4611cb(_0x1d32bb,_0x9f76a7-_0xa28da1._0x3f42fd);}const _0x555373={};_0x555373[_0x13f235(0x1587,_0x5410d6._0x41cbde)]=_0x3caf2c;function _0x5e97d2(_0x1ce2a4,_0x402835){return _0xb1997(_0x402835-0x479,_0x1ce2a4);}this['fire'](EventType['changeBasemap'],_0x555373);})),_0x2125cf=_0x3caf2c):_0x3caf2c[_0xb1997(0x50a,-_0x5b4d5e._0x27a685)]&&(delete _0x3caf2c[_0x4611cb(0x374,_0x5b4d5e._0x2405d7)][_0xb1997(0x12da,0x1c13)],this[_0x4611cb(0x9aa,0x1082)](_0x3caf2c));}function _0xb1997(_0x2e7ba0,_0x3ffd11){return _0x7afdbe(_0x3ffd11,_0x2e7ba0- -0x547);}this['control'][_0x4611cb(0x315,_0x5b4d5e._0x17948e)]&&this['control'][_0xb1997(0x8e9,0xa7f)][_0x4611cb(-_0x5b4d5e._0x44f5a6,0x8c2)](_0x1a131c);}get[_0x54a7f1(0x412,0xe4b)](){const _0x390e27={_0x4e1ae7:0x1c3};function _0x443b01(_0x43afb0,_0xbdc2cf){return _0x54a7f1(_0x43afb0-0x90,_0xbdc2cf);}return this[_0x443b01(0x553,-_0x390e27._0x4e1ae7)];}set[_0x7afdbe(0x511,0x640)](_0x6a061){this['_templateValues']=_0x6a061;}get[_0x7afdbe(0x1f78,0x152e)](){const _0x30d97d={_0x2821a6:0x8cb,_0x16a12c:0x1001,_0x2642fa:0x11c7};function _0x39d2f5(_0x45a001,_0x46f31c){return _0x54a7f1(_0x46f31c- -0x2b0,_0x45a001);}function _0x5a516c(_0x23b8a1,_0x5bc688){return _0x7afdbe(_0x23b8a1,_0x5bc688- -0xe6);}var _0x7c5fd7;return(_0x7c5fd7=this[_0x39d2f5(0x1181,_0x30d97d._0x2821a6)])===null||_0x7c5fd7===void 0x0?void 0x0:_0x7c5fd7[_0x5a516c(_0x30d97d._0x16a12c,_0x30d97d._0x2642fa)]['onlyPickModelPosition'];}set['onlyPickModelPosition'](_0x2fff7d){const _0x5b6c94={_0x440ae8:0x6d2};function _0x550455(_0x21223c,_0x24c38c){return _0x54a7f1(_0x24c38c- -0x247,_0x21223c);}function _0x20768b(_0x236845,_0x168430){return _0x7afdbe(_0x168430,_0x236845- -0x1c5);}this[_0x550455(_0x5b6c94._0x440ae8,0x934)][_0x550455(0x8c5,0xe38)]['onlyPickModelPosition']=_0x2fff7d;}get['onlyPickTerrainPosition'](){const _0x4c2be2={_0x1a9dcb:0xfb0},_0x5abce4={_0x5a4585:0x2fd};function _0x1bb920(_0xe25f5d,_0x2e1617){return _0x7afdbe(_0xe25f5d,_0x2e1617- -_0x5abce4._0x5a4585);}var _0xa1fc4;return(_0xa1fc4=this['_viewer'])===null||_0xa1fc4===void 0x0?void 0x0:_0xa1fc4[_0x1bb920(0x52b,_0x4c2be2._0x1a9dcb)]['onlyPickTerrainPosition'];}set['onlyPickTerrainPosition'](_0x3d4253){const _0x4649f2={_0x18da40:0x66d},_0x2b07ba={_0x23e08a:0x73c};function _0x16acfb(_0x13af01,_0x44c15a){return _0x7afdbe(_0x13af01,_0x44c15a- -_0x2b07ba._0x23e08a);}this[_0x16acfb(0x9a3,_0x4649f2._0x18da40)]['scene']['onlyPickTerrainPosition']=_0x3d4253;}get['onlyVertexPosition'](){return this['_onlyVertexPosition'];}set[_0x7afdbe(0x11ee,0x17c4)](_0x3a4141){const _0x5ed627={_0x5c5317:0x97f,_0x16abe1:0xba4,_0x56af36:0x56d,_0x38055a:0x296},_0x4cd3b8={_0x198744:0x1d3},_0x267e88={_0x234790:0x21};function _0x58d27b(_0x39b35a,_0x189cf2){return _0x7afdbe(_0x39b35a,_0x189cf2-_0x267e88._0x234790);}function _0x1315bc(_0x121898,_0x2dd6fb){return _0x7afdbe(_0x2dd6fb,_0x121898- -_0x4cd3b8._0x198744);}this[_0x58d27b(_0x5ed627._0x5c5317,_0x5ed627._0x16abe1)]=_0x3a4141,this['scene']['onlyVertexPosition']=_0x3a4141&&(this['container']['style'][_0x1315bc(0x976,_0x5ed627._0x56af36)]=_0x1315bc(_0x5ed627._0x38055a,0xbf1));}get['mouseEvent'](){const _0x1d2594={_0x2c0d41:0x1331,_0x4986ec:0x154f},_0x3324db={_0x44b11a:0x1fb};function _0xd3bb06(_0x20aab8,_0x5e0251){return _0x54a7f1(_0x20aab8- -_0x3324db._0x44b11a,_0x5e0251);}return this[_0xd3bb06(_0x1d2594._0x2c0d41,_0x1d2594._0x4986ec)];}get[_0x54a7f1(0x12dc,0xf14)](){const _0xd9bc1={_0x903196:0x715},_0x1de7c4={_0x47bd1b:0x71a};function _0xac650d(_0x3b1094,_0x1b12f4){return _0x7afdbe(_0x1b12f4,_0x3b1094- -_0x1de7c4._0x47bd1b);}return this[_0xac650d(_0xd9bc1._0x903196,0x690)];}get[_0x7afdbe(0x346,0xb14)](){const _0x41f013={_0x3dc820:0x5c3};function _0x5711d2(_0x53785b,_0x5c9791){return _0x54a7f1(_0x53785b- -0x2ff,_0x5c9791);}return this[_0x5711d2(0x2af,_0x41f013._0x3dc820)];}get[_0x7afdbe(0x13c7,0x182c)](){const _0x1dd4c7={_0x24642e:0x1500};function _0x52c5dc(_0xaecb74,_0x5cc5fb){return _0x54a7f1(_0xaecb74-0x289,_0x5cc5fb);}return this[_0x52c5dc(0x1525,_0x1dd4c7._0x24642e)];}get['contextmenu'](){return this['_contextmenuMgr'];}get['keyboardRoam'](){return this['_keyboardRoam'];}get['control'](){return this['_control'];}get['controls'](){return this['_control'];}get['effect'](){const _0x2edfae={_0x2be0a0:0x933};function _0x5521c1(_0x2b15b4,_0x4fe3c1){return _0x7afdbe(_0x2b15b4,_0x4fe3c1- -0x587);}return this[_0x5521c1(0x207,_0x2edfae._0x2be0a0)];}get[_0x7afdbe(0x1b72,0x19a3)](){return this['_effect'];}get[_0x7afdbe(0x16e5,0x15fd)](){const _0xe629b0={_0x57e464:0xfa0};function _0x12163c(_0x344e1d,_0x24d8cf){return _0x7afdbe(_0x24d8cf,_0x344e1d- -0x111);}return this[_0x12163c(0x1620,_0xe629b0._0x57e464)];}get['things'](){const _0x518394={_0x13e04c:0xe6b},_0x561b7b={_0x4937a0:0x4fe};function _0x4e0899(_0x479a8d,_0xca263b){return _0x7afdbe(_0x479a8d,_0xca263b- -_0x561b7b._0x4937a0);}return this[_0x4e0899(_0x518394._0x13e04c,0x1233)];}get['graphicLayer'](){const _0x1a0ba0={_0x1c05e0:0xe17},_0x1e0db4={_0x1c987a:0x2f};function _0x410f35(_0x5bcfe2,_0xb83d07){return _0x7afdbe(_0x5bcfe2,_0xb83d07-_0x1e0db4._0x1c987a);}return this['_graphicLayer']==null&&this['_addDefGraphicLayer'](),this[_0x410f35(_0x1a0ba0._0x1c05e0,0x1692)];}['_addDefGraphicLayer'](){function _0x46724f(_0x3fe21a,_0x5c7711){return _0x7afdbe(_0x3fe21a,_0x5c7711- -0x2);}return this['_graphicLayer']=new GraphicLayer({'name':'默认数据图层',...this['options']['graphic'],'private':!![]}),this[_0x46724f(0x1354,0x18f2)](this['_graphicLayer']);}get[_0x54a7f1(0x100d,0xf0f)](){const _0x43a29a={_0x55cc10:0x1228},_0x5e26a5={_0xd7c6c5:0x21b};var _0x2f2638;function _0x5a1dfc(_0x79f8cf,_0x236255){return _0x54a7f1(_0x79f8cf-_0x5e26a5._0xd7c6c5,_0x236255);}return(_0x2f2638=this['_drawLayer'])===null||_0x2f2638===void 0x0?void 0x0:_0x2f2638[_0x5a1dfc(_0x43a29a._0x55cc10,0x12fa)];}[_0x7afdbe(0xc62,0x65a)](_0x177262){this['_drawLayer']=_0x177262;}get['level'](){const _0x4453cc={_0x294ba4:0x49d,_0x6afab9:0xea8,_0x712974:0x93b,_0x113a05:0x10da},_0x33227e={_0x2b9620:0x12e},_0x5ef632={_0x3a5fe7:0xbe};function _0x4821b8(_0x37a123,_0x34c41d){return _0x54a7f1(_0x37a123- -_0x5ef632._0x3a5fe7,_0x34c41d);}const _0xdb82f3=Math['abs'](this[_0x263296(0xca9,0xc9d)][_0x4821b8(_0x4453cc._0x294ba4,-0x5e2)]['positionCartographic']['height']);if(_0xdb82f3===this[_0x4821b8(_0x4453cc._0x6afab9,0x15fb)])return this['_level'];this['_level']=heightToZoom(_0xdb82f3),this[_0x4821b8(0xea8,_0x4453cc._0x712974)]=_0xdb82f3;function _0x263296(_0x142183,_0x5efeb7){return _0x54a7f1(_0x142183-_0x33227e._0x2b9620,_0x5efeb7);}return this[_0x4821b8(0x14da,_0x4453cc._0x113a05)];}get[_0x7afdbe(0x10b4,0x1730)](){return this['level'];}get[_0x54a7f1(0xca5,0x45a)](){return this['_fixedLight'];}set[_0x54a7f1(0xca5,0xf16)](_0x3c918a){const _0x24d294={_0x5c486e:0x175a,_0x27d6c1:0x12ea},_0x2316f8={_0xe93de2:0xda};function _0x538b9c(_0x4521cd,_0x4c0d78){return _0x54a7f1(_0x4c0d78- -_0x2316f8._0xe93de2,_0x4521cd);}this[_0x108743(0x25a,0xc04)]=_0x3c918a;!this['_sunlight']&&(this[_0x108743(0x13e0,0xeca)]=this['scene'][_0x538b9c(0x14a2,0x11c4)]);function _0x108743(_0xd878c2,_0x367d99){return _0x54a7f1(_0x367d99-0x4c,_0xd878c2);}if(_0x3c918a){const _0x2afe25=new Cesium__namespace['DirectionalLight']({'direction':new Cesium__namespace['Cartesian3'](0.35492591601301104,-0.8909182691839401,-0.2833588392420772)});this['scene']['light']=_0x2afe25;}else this[_0x538b9c(0x1665,0xfa5)][_0x108743(_0x24d294._0x5c486e,_0x24d294._0x27d6c1)]=this['_sunlight'];}get['lang'](){return this['_lang']??Lang??{};}set[_0x54a7f1(0xcd6,0x33e)](_0x156b8e){this['_lang']=_0x156b8e,this['setLangText']();}get[_0x7afdbe(0x6e0,0x845)](){return this['scene']['screenSpaceCameraController']['_zoomFactor'];}set[_0x54a7f1(0x617,0x104b)](_0x4e7fc9){const _0x5e024b={_0x31ddc4:0x12cf,_0x309802:0xbef};function _0x2e7741(_0x3acfcd,_0x382e98){return _0x7afdbe(_0x3acfcd,_0x382e98- -0x6be);}this[_0x2e7741(_0x5e024b._0x31ddc4,_0x5e024b._0x309802)]['screenSpaceCameraController']['_zoomFactor']=_0x4e7fc9;}get['highlightEnabled'](){return this['_highlightEnabled'];}set[_0x7afdbe(0x1359,0xbcd)](_0x4fd365){this[_0x117f07(0x142,0xa4b)]=_0x4fd365;function _0x117f07(_0x582b20,_0x408c2a){return _0x54a7f1(_0x408c2a- -0x298,_0x582b20);}!_0x4fd365&&this['closeHighlight']();}get['availabilityEnabled'](){return this['_availabilityEnabled']??!![];}set[_0x54a7f1(0xdfa,0x1258)](_0x211d63){this['_availabilityEnabled']=_0x211d63;}get['imageryLayersForClamp'](){const _0x141a9b={_0x52f748:0x4b0,_0xdc45a6:0x1000,_0xe00059:0x108f,_0x3e4be3:0xfd,_0x20967a:0x360},_0x2e7a4d={_0x247cd2:0x7f};function _0x4a38ec(_0xa631,_0x510a47){return _0x7afdbe(_0xa631,_0x510a47- -0x153);}function _0x1722c7(_0x516332,_0x5edc3f){return _0x54a7f1(_0x5edc3f- -_0x2e7a4d._0x247cd2,_0x516332);}if(!this['_imageryLayersForClamp']){const _0x58f2d0=new Cesium__namespace['ImageryLayerCollection'](),_0x86f34={};_0x86f34['imageryLayers']=_0x58f2d0;const _0x1b37ef=new QuadtreePrimitive(_0x86f34);_0x1b37ef['zIndex']=0x0,this[_0x4a38ec(0x11f6,0x115a)][_0x4a38ec(0xf3f,_0x141a9b._0x52f748)]['add'](_0x1b37ef),this[_0x1722c7(0x16c5,_0x141a9b._0xdc45a6)]['primitives'][_0x4a38ec(0x1325,_0x141a9b._0xe00059)](_0x1b37ef),this[_0x4a38ec(-_0x141a9b._0x3e4be3,_0x141a9b._0x20967a)]=_0x1b37ef,this[_0x4a38ec(0xec2,0x444)]=_0x58f2d0;}return this['_imageryLayersForClamp'];}[_0x54a7f1(0x1188,0x15f9)](_0x23e066,_0x43002b){const _0x3730f9={_0x691a71:0x7ef,_0x3a9d2b:0x292,_0x4f2959:0x519,_0x2f40e2:0xdb8,_0x4d4a87:0x8cb,_0x38f473:0x9a2,_0x2aabf9:0x13f0,_0x1d3054:0xbea,_0x33e47c:0x11e7,_0x29a982:0x1116,_0x3513e3:0xdb0,_0x5e48ec:0x15ea,_0x37a9a1:0x8fe,_0x414df2:0xa0a,_0x4ccdcc:0x6c4,_0x3eb5cc:0x2c6,_0x2c69c3:0x12b1,_0x51524c:0x191b,_0x2366a2:0x14f7,_0x56c099:0x1658,_0x11f781:0x14f7,_0x1a9d7c:0xc16,_0x3e2a5b:0x1160,_0x40621d:0xd11,_0x1aa4a3:0x540,_0x1b5fc1:0x11b1,_0x555694:0x15ba,_0x1fbc49:0x124f,_0x59714e:0x16f9,_0xc300da:0xe1d,_0x3c1297:0xe61,_0x37ad02:0x1333,_0x5164c0:0xf57};if(!_0x23e066)throw new Error(_0x37c54c(0x141d,0xea4));function _0x37c54c(_0x17550f,_0xc6b44d){return _0x7afdbe(_0x17550f,_0xc6b44d- -0x128);}const _0x47c9b2={...DefaultOptions,..._0x43002b[_0x37c54c(0xeb0,_0x3730f9._0x691a71)],..._0x43002b[_0x37c54c(0x17c5,0x1185)]};_0x47c9b2['animation']=![],_0x47c9b2['baseLayerPicker']=![],_0x47c9b2[_0x17b077(0x17b5,0x14ad)]=![],_0x47c9b2['geocoder']=![],_0x47c9b2['homeButton']=![],_0x47c9b2['navigationHelpButton']=![],_0x47c9b2['projectionPicker']=![],_0x47c9b2['sceneModePicker']=![],_0x47c9b2['timeline']=![],_0x47c9b2['vrButton']=![];const _0x5f5bd7=_0x47c9b2;function _0x17b077(_0x118779,_0x3b62ce){return _0x7afdbe(_0x118779,_0x3b62ce-0x6c);}_0x5f5bd7['globe']&&!(_0x5f5bd7[_0x17b077(-_0x3730f9._0x3a9d2b,_0x3730f9._0x4f2959)]instanceof Cesium__namespace[_0x37c54c(0x16a3,_0x3730f9._0x2f40e2)])&&delete _0x5f5bd7['globe'];_0x5f5bd7['cameraController']&&delete _0x5f5bd7[_0x37c54c(0x880,_0x3730f9._0x4d4a87)];_0x5f5bd7[_0x37c54c(_0x3730f9._0x38f473,_0x3730f9._0x2aabf9)]&&delete _0x5f5bd7['contextmenu'];_0x5f5bd7[_0x37c54c(_0x3730f9._0x1d3054,_0x3730f9._0x33e47c)]&&delete _0x5f5bd7['location'];_0x5f5bd7[_0x17b077(0xe10,0xffd)]&&delete _0x5f5bd7['mouseDownView'];_0x5f5bd7['navigation']&&delete _0x5f5bd7['navigation'];if(Cesium__namespace['defined'](_0x5f5bd7['mapProjection'])){if(_0x5f5bd7['mapProjection']===CRS[_0x37c54c(_0x3730f9._0x29a982,_0x3730f9._0x3513e3)])_0x5f5bd7['mapProjection']=new Cesium__namespace[(_0x37c54c(_0x3730f9._0x5e48ec,0x1407))](_0x5f5bd7['ellipsoid']);else(_0x5f5bd7[_0x17b077(0x2bb,0x5c6)]===CRS['EPSG4326']||_0x5f5bd7['mapProjection']===CRS['EPSG4490'])&&(_0x5f5bd7['mapProjection']=new Cesium__namespace[(_0x37c54c(0x14f,_0x3730f9._0x37a9a1))](_0x5f5bd7[_0x37c54c(0xb9b,_0x3730f9._0x414df2)]));}Cesium__namespace['defined'](_0x5f5bd7['ellipsoid'])&&(_0x5f5bd7['globe']=new Cesium__namespace['Globe'](_0x5f5bd7[_0x17b077(0x191,0xb9e)]));Cesium__namespace[_0x17b077(0x12ba,0x191b)](_0x5f5bd7[_0x17b077(0x68a,_0x3730f9._0x4ccdcc)])&&isPlainObject(_0x5f5bd7[_0x37c54c(0x740,0x530)])&&(_0x5f5bd7[_0x17b077(-_0x3730f9._0x3eb5cc,0x6c4)]=getSkyBoxObject(_0x5f5bd7[_0x17b077(0x4b7,0x6c4)]));Cesium__namespace[_0x17b077(_0x3730f9._0x2c69c3,_0x3730f9._0x51524c)](_0x5f5bd7['backgroundImage'])&&(_0x5f5bd7[_0x37c54c(0x1d15,_0x3730f9._0x2366a2)]=_0x5f5bd7['contextOptions']||{},_0x5f5bd7['contextOptions']['webgl']=_0x5f5bd7[_0x37c54c(_0x3730f9._0x56c099,_0x3730f9._0x11f781)]['webgl']||{},_0x5f5bd7['contextOptions'][_0x37c54c(0x1530,_0x3730f9._0x1a9d7c)]['alpha']=!![]);let _0x2dbe26=![],_0x263eca=![];if(_0x5f5bd7[_0x17b077(_0x3730f9._0x3e2a5b,0xe9c)]){var _0x2df772;if(!_0x5f5bd7['imageryProviderViewModels']&&((_0x2df772=_0x43002b['basemaps'])===null||_0x2df772===void 0x0?void 0x0:_0x2df772['length'])>0x0){const _0xa5b569=getImageryProviderViewModels(_0x43002b['basemaps'],this['templateValues']);_0x5f5bd7[_0x17b077(_0x3730f9._0x40621d,_0x3730f9._0x1aa4a3)]=_0xa5b569['imageryProviderViewModels'],_0xa5b569[_0x17b077(_0x3730f9._0x1b5fc1,_0x3730f9._0x555694)]===-0x1?_0x2dbe26=!![]:_0x5f5bd7['selectedImageryProviderViewModel']=_0xa5b569['imageryProviderViewModels'][_0xa5b569['selectedIndex']];}if(!_0x5f5bd7[_0x17b077(0x4dd,0xc59)]){var _0x2099bb;_0x5f5bd7['terrainProviderViewModels']=getTerrainProviderViewModels(this['_getTerrainOptions'](),this[_0x37c54c(0x1462,0x1128)]['bind'](this)),_0x5f5bd7['selectedTerrainProviderViewModel']=_0x5f5bd7[_0x37c54c(0x1224,0xac5)][(_0x2099bb=_0x43002b['terrain'])!==null&&_0x2099bb!==void 0x0&&_0x2099bb[_0x37c54c(_0x3730f9._0x1fbc49,_0x3730f9._0x59714e)]?0x1:0x0];}}else{var _0x1cb7c6;_0x5f5bd7[_0x17b077(0x14de,0xfb1)]==null&&(_0x2dbe26=!![],_0x5f5bd7[_0x37c54c(0x1318,_0x3730f9._0xc300da)]=Cesium__namespace[_0x37c54c(-0x181,0x52a)]['fromProviderAsync'](Cesium__namespace[_0x17b077(_0x3730f9._0x3c1297,0x1591)]['fromUrl'](Cesium__namespace['buildModuleUrl']('Assets/Textures/NaturalEarthII')))),(_0x1cb7c6=_0x43002b['terrain'])!==null&&_0x1cb7c6!==void 0x0&&_0x1cb7c6[_0x17b077(_0x3730f9._0x37ad02,0x188d)]?_0x263eca=!![]:_0x5f5bd7['terrainProvider']=getNoTerrainProvider();}this[_0x37c54c(0x786,0xc81)]=new Cesium__namespace[(_0x17b077(0x1814,0x1a50))](_0x23e066,_0x5f5bd7);_0x263eca&&(this['terrainProvider']=createTerrainProvider(this['_getTerrainOptions']()));if(_0x2dbe26){const _0x35c9ef=this[_0x17b077(_0x3730f9._0x5164c0,0xe15)]['imageryLayers'],_0x530a32=_0x35c9ef['length'];for(let _0x1bb27f=0x0;_0x1bb27f<_0x530a32;_0x1bb27f++){const _0x33c985=_0x35c9ef['get'](0x0);_0x35c9ef['remove'](_0x33c985,!![]);}}}['_getTerrainOptions'](){const _0xafa933={_0x5d8edc:0xd2b},_0x183937={_0x18542a:0x480};function _0x43dd77(_0x1bf904,_0xf96a1e){return _0x54a7f1(_0xf96a1e- -0x23,_0x1bf904);}if(!this[_0x1743bd(0x65e,0x1126)]['terrain'])return this['options']['terrain'];const _0x57668e={'templateValues':this['templateValues'],...this['options'][_0x1743bd(_0xafa933._0x5d8edc,0x944)]};function _0x1743bd(_0x12d0ed,_0x3132b1){return _0x7afdbe(_0x3132b1,_0x12d0ed- -_0x183937._0x18542a);}return _0x57668e;}['setOptions'](_0x4cc646,_0x1fd539=!![]){const _0x40093a={_0x48ced0:0xe61,_0x1d3000:0x73e,_0x4ed65b:0xd7c,_0x426990:0x950,_0x55baeb:0x1114,_0x8f8b1b:0x159a,_0x37e318:0xc7a,_0x270612:0x6ec,_0x2cbab6:0x4d7,_0x1e5938:0x9ee,_0x380c1a:0x1522,_0x27721f:0xd55,_0x4533a2:0x137e,_0xea4e65:0x19ee,_0x2007eb:0xe39,_0x51dee4:0x12af,_0x129200:0x179d,_0x58c50e:0xc96,_0x13001c:0xe34,_0x38b3b9:0x456};if(!_0x4cc646||Object[_0xbcd83b(0x7cb,0x4e4)](_0x4cc646)['length']===0x0)return this;_0x1fd539?this[_0x4c16e1(_0x40093a._0x48ced0,_0x40093a._0x1d3000)]=merge(this[_0xbcd83b(0x857,_0x40093a._0x4ed65b)],_0x4cc646):(this['options']=_0x4cc646,this['clear'](!![]));for(const _0x661e62 in _0x4cc646){const _0x34d5f2=_0x4cc646[_0x661e62];switch(_0x661e62){case'scene':{this[_0x4c16e1(0x943,_0x40093a._0x426990)][_0x4c16e1(0x8c6,_0x40093a._0x55baeb)](this['options']['scene'],_0x34d5f2);break;}case'terrain':{const _0x31f78a=this[_0xbcd83b(0x1753,0x1218)]();_0x31f78a!==null&&_0x31f78a!==void 0x0&&_0x31f78a[_0xbcd83b(_0x40093a._0x8f8b1b,0xe13)]?this[_0x4c16e1(_0x40093a._0x37e318,0x776)]=createTerrainProvider(_0x31f78a):this['hasTerrain']=![];break;}case _0x4c16e1(0xf02,0xc9f):{this['setBasemapsOptions'](_0x34d5f2);break;}case _0x4c16e1(0x1a7,0x915):{this[_0xbcd83b(_0x40093a._0x270612,0x758)](_0x34d5f2);break;}case'control':{for(const _0x4ee9ed in _0x34d5f2){const _0x51f994=this['options']['control'][_0x4ee9ed],_0x21da22=this[_0x4c16e1(_0x40093a._0x2cbab6,0x4ac)][_0x4ee9ed];if(_0x21da22)!_0x51f994||(_0x51f994===null||_0x51f994===void 0x0?void 0x0:_0x51f994['enabled'])===![]?(_0x21da22['show']=![],_0x21da22['enabled']=![]):(_0x21da22['show']=!![],_0x21da22['enabled']=!![],_0x21da22[_0x4c16e1(_0x40093a._0x1e5938,0x1114)]&&_0x51f994!==!![]&&_0x21da22[_0x4c16e1(_0x40093a._0x380c1a,0x1114)](_0x51f994));else{if(!_0x51f994||_0x51f994[_0x4c16e1(0xc75,0xa31)]===![])continue;const _0x1d12ac=create$2(_0x4ee9ed,_0x51f994);_0x1d12ac?this[_0x4c16e1(0xc62,_0x40093a._0x27721f)](_0x1d12ac):logWarn(_0x4c16e1(0x8cc,_0x40093a._0x4533a2),_0x4ee9ed,_0x51f994);}}break;}case'effect':{for(const _0x49fd44 in _0x34d5f2){const _0x330d7d=this['options']['effect'][_0x49fd44],_0x26875c=this['_effect'][_0x49fd44];if(_0x26875c)!_0x330d7d||(_0x330d7d===null||_0x330d7d===void 0x0?void 0x0:_0x330d7d['enabled'])===![]?_0x26875c['enabled']=![]:(_0x26875c['enabled']=!![],_0x26875c['setOptions']&&_0x26875c[_0x4c16e1(_0x40093a._0xea4e65,0x1114)](_0x330d7d));else{if(!_0x330d7d||_0x330d7d[_0x4c16e1(_0x40093a._0x2007eb,0xa31)]===![])continue;const _0x1878da=create$1(_0x49fd44,_0x330d7d);_0x1878da&&this[_0xbcd83b(_0x40093a._0x51dee4,_0x40093a._0x129200)](_0x1878da);}}break;}case'thing':{for(const _0x5e6a93 in _0x34d5f2){const _0x916ff5=this[_0xbcd83b(0x857,0xbdf)]['thing'][_0x5e6a93],_0x4a970c=this[_0x4c16e1(0x13c7,0x1391)][_0x5e6a93];if(_0x4a970c)!_0x916ff5||(_0x916ff5===null||_0x916ff5===void 0x0?void 0x0:_0x916ff5[_0x4c16e1(0x2f3,0xa31)])===![]?_0x4a970c[_0xbcd83b(0xb4a,0x9f)]=![]:(_0x4a970c['enabled']=!![],_0x4a970c['setOptions']&&_0x4a970c['setOptions'](_0x916ff5));else{if(!_0x916ff5||_0x916ff5['enabled']===![])continue;const _0x372b72=create(_0x5e6a93,_0x916ff5);_0x372b72&&this['addThing'](_0x372b72);}}break;}case'mouse':{this['_mouseEvent']['setOptions'](this['options'][_0xbcd83b(0x916,0xaf8)]);break;}case'method':{this['_initMethod'](_0x34d5f2);break;}case _0xbcd83b(0x56f,_0x40093a._0x58c50e):{this[_0x4c16e1(_0x40093a._0x13001c,0x10aa)]['setOptions'](this['options'][_0x4c16e1(0x5ea,_0x40093a._0x38b3b9)]);break;}default:{logWarn('未处理参数',_0x34d5f2);break;}}}function _0xbcd83b(_0x2aa51e,_0x1b2250){return _0x54a7f1(_0x2aa51e- -0x59,_0x1b2250);}function _0x4c16e1(_0x1a2bbf,_0x305b5f){return _0x54a7f1(_0x305b5f- -0x172,_0x1a2bbf);}return this;}['setSceneOptions'](_0x241809){const _0x19284d={_0xf5a270:0x8b5,_0x5aa72e:0x114b,_0x1a5e41:0x97c,_0x1f59c6:0x105,_0x260832:0xc16},_0x2a9490={_0x698d31:0x162};if(!_0x241809||Object['keys'](_0x241809)[_0x1fb591(0x1051,_0x19284d._0xf5a270)]===0x0)return this;function _0x1fb591(_0x31da56,_0x476bbb){return _0x7afdbe(_0x476bbb,_0x31da56- -_0x2a9490._0x698d31);}this['options']['scene']=merge(this['options'][_0x1fb591(_0x19284d._0x5aa72e,0x1581)],_0x241809),this['_sceneOption']['setOptions'](this[_0x1fb591(_0x19284d._0x1a5e41,_0x19284d._0x1f59c6)][_0x49a58e(_0x19284d._0x260832,0xb7d)],_0x241809);function _0x49a58e(_0x43a10d,_0x578d45){return _0x7afdbe(_0x578d45,_0x43a10d- -0x697);}return this;}['getOptions'](){const _0x5162e1={_0x59bb6a:0xc32};function _0x1f76ed(_0x197fb4,_0x20591c){return _0x7afdbe(_0x20591c,_0x197fb4- -0x15f);}function _0x5571a7(_0x5c0d0f,_0x21e9d0){return _0x7afdbe(_0x21e9d0,_0x5c0d0f- -0x2cc);}return clone(this[_0x1f76ed(0x97f,0x12a3)],['parent',_0x5571a7(0xd03,_0x5162e1._0x59bb6a)]);}[_0x7afdbe(0x742,0xf66)](){return this['toJSON']();}[_0x7afdbe(0x1f34,0x1569)](){const _0x1c1c8c={_0x4d9102:0x32f,_0x999871:0xd8f,_0x3aa6a6:0xb81,_0x22d4f2:0xf28,_0x4c39a8:0x128a,_0xcd30ad:0xc78,_0x2508eb:0xc6d,_0x131d2b:0xb72,_0x30ba3b:0x7de,_0x1fb0de:0xf5,_0x1dc3e9:0x927,_0x508d3f:0xb0e,_0x2d4df5:0x11a5,_0x4e527d:0x16c2,_0x1857f1:0xe09},_0x1312e6={_0x1741a9:0x413};var _0x5d755e;const _0x299479=this['getOptions']();_0x299479['scene']['center']=this[_0x524e45(0x1365,0xdb3)](),_0x299479['basemaps']=[];const _0x178537=this[_0x524e45(0x1159,0x6ac)]['values'];for(let _0x1e9014=0x0,_0x1b26f3=_0x178537['length'];_0x1e9014<_0x1b26f3;_0x1e9014++){const _0x5877ce=_0x178537[_0x1e9014];if(_0x5877ce[_0x524e45(-_0x1c1c8c._0x4d9102,0xb8)])continue;_0x299479[_0x34dd19(_0x1c1c8c._0x999871,_0x1c1c8c._0x3aa6a6)]['push'](_0x5877ce[_0x524e45(0x1937,_0x1c1c8c._0x22d4f2)]());}function _0x524e45(_0x240986,_0x18f71e){return _0x54a7f1(_0x18f71e- -_0x1312e6._0x1741a9,_0x240986);}function _0x34dd19(_0x311755,_0x58e434){return _0x54a7f1(_0x58e434- -0x290,_0x311755);}_0x299479[_0x524e45(-0x1ed,0x674)]=[];const _0x36fe52={};_0x36fe52[_0x34dd19(_0x1c1c8c._0x4c39a8,_0x1c1c8c._0x3aa6a6)]=![],_0x36fe52['layers']=!![],_0x36fe52['childs']=![];const _0x1db4e6=this['getLayers'](_0x36fe52);for(let _0x2c5ec4=0x0,_0x177161=_0x1db4e6['length'];_0x2c5ec4<_0x177161;_0x2c5ec4++){const _0x3174ae=_0x1db4e6[_0x2c5ec4];if(_0x3174ae['isPrivate'])continue;_0x299479['layers'][_0x34dd19(0x84f,_0x1c1c8c._0xcd30ad)](_0x3174ae['toJSON']());}_0x299479['control']={};for(const _0x10b337 in this['control']){const _0x32c3c3=this['control'][_0x10b337];let _0x149df2=_0x32c3c3[_0x34dd19(0x14a5,0x10ab)]();const _0x52d2ba=_0x149df2&&Object['keys'](_0x149df2)[_0x524e45(_0x1c1c8c._0x2508eb,_0x1c1c8c._0x131d2b)];if(_0x149df2===undefined||_0x149df2[_0x34dd19(0xa96,0x913)]===![]&&_0x52d2ba===0x1||_0x32c3c3['isPrivate']&&_0x52d2ba===0x0)continue;_0x52d2ba===0x0&&(_0x149df2=!![]),_0x299479['control'][_0x10b337]=_0x149df2;}_0x299479['effect']={};for(const _0x45ca9f in this['effect']){const _0x5eb003=this['effect'][_0x45ca9f],_0x3c5863=_0x5eb003[_0x34dd19(_0x1c1c8c._0x30ba3b,0x10ab)](),_0x7fb930=_0x3c5863&&Object['keys'](_0x3c5863)['length'];if(_0x3c5863===undefined||_0x3c5863[_0x524e45(-0x70,0x790)]===![]&&_0x7fb930===0x1)continue;_0x299479[_0x34dd19(-0x6b8,_0x1c1c8c._0x1fb0de)][_0x45ca9f]=_0x3c5863;}_0x299479[_0x34dd19(0x16a0,0x113f)]={};for(const _0x38a55f in this['thing']){const _0x52cf24=this[_0x524e45(0x13ea,0xfbc)][_0x38a55f],_0x27d58a=_0x52cf24[_0x524e45(_0x1c1c8c._0x1dc3e9,0xf28)](),_0x1d6ec8=_0x27d58a&&Object['keys'](_0x27d58a)[_0x524e45(0x153f,_0x1c1c8c._0x131d2b)];if(_0x27d58a===undefined||_0x27d58a['enabled']===![]&&_0x1d6ec8===0x1)continue;_0x299479['thing'][_0x38a55f]=_0x27d58a;}((_0x5d755e=this[_0x34dd19(_0x1c1c8c._0x508d3f,_0x1c1c8c._0x2d4df5)])===null||_0x5d755e===void 0x0?void 0x0:_0x5d755e['length'])>0x0&&(_0x299479[_0x524e45(-0x4a7,0x1b5)]=this[_0x524e45(_0x1c1c8c._0x4e527d,_0x1c1c8c._0x1857f1)]['toJSON']());for(const _0x41c2fe in _0x299479){const _0x460799=_0x299479[_0x41c2fe];(!Cesium__namespace['defined'](_0x460799)||isObject(_0x460799)&&Object[_0x34dd19(0x5fa,0x594)](_0x460799)[_0x34dd19(0x15aa,0xcf5)]===0x0)&&delete _0x299479[_0x41c2fe];}return _0x299479;}['getDefaultContextMenu'](){return getDefaultContextMenu(this);}['getCenter'](_0x15f6b9){return getCenter(this['scene'],_0x15f6b9);}[_0x7afdbe(0x1b64,0x146e)](_0x2722db,_0x3d1547){return getHeight(this['scene'],_0x2722db,_0x3d1547);}[_0x54a7f1(0xec2,0x1454)](){const _0x51ff2e={_0x6c91a7:0xa3,_0x4566a6:0x1311},_0x8584f0={_0x4bf821:0x3a0},_0x3be911={_0x5332e0:0x204};function _0x41a856(_0x428a00,_0x196c9d){return _0x7afdbe(_0x428a00,_0x196c9d- -_0x3be911._0x5332e0);}function _0x328c91(_0x4afe44,_0x358cd2){return _0x7afdbe(_0x358cd2,_0x4afe44- -_0x8584f0._0x4bf821);}const _0x245070=this['getCenter']();if(_0x245070){_0x245070['alt']<0x0&&(_0x245070[_0x41a856(_0x51ff2e._0x6c91a7,0x47f)]=0x0);const _0x1dc6f6=Cesium__namespace[_0x41a856(0x136a,_0x51ff2e._0x4566a6)]['distance'](_0x245070['toCartesian'](),this['_viewer']['camera']['positionWC']);return _0x1dc6f6;}else return 0x0;}['getExtent'](_0xd6d59e){const _0xc6c9ae={_0x4e8b85:0xf4f,_0x4db2d6:0xf83,_0x51af97:0x10a2,_0x1c29bb:0x16e6,_0x1f0ac5:0xf60,_0x4aca55:0xb22},_0x582ba8={_0x2df8a3:0x557},_0x34e70c=getMapExtentPositions(this['scene']),_0x1ce2e0=getMaxHeight(_0x34e70c),_0x193fd1=Cesium__namespace['Rectangle']['fromCartesianArray'](_0x34e70c);let _0x38548a=Cesium__namespace['Math']['toDegrees'](_0x193fd1['west']),_0x36cc34=Cesium__namespace['Math']['toDegrees'](_0x193fd1['east']),_0x378e66=Cesium__namespace['Math'][_0xf72246(_0xc6c9ae._0x4e8b85,0x1803)](_0x193fd1['north']),_0x16ae26=Cesium__namespace[_0x1e7bb5(_0xc6c9ae._0x4db2d6,0x985)]['toDegrees'](_0x193fd1['south']);function _0xf72246(_0x15d046,_0x3b4033){return _0x7afdbe(_0x3b4033,_0x15d046- -0x220);}if(Cesium__namespace['defined'](_0xd6d59e===null||_0xd6d59e===void 0x0?void 0x0:_0xd6d59e['scale'])){const _0x2da7e7=_0xd6d59e[_0xf72246(0x131d,_0xc6c9ae._0x51af97)],_0x184da8=(_0x36cc34-_0x38548a)/0x2*_0x2da7e7,_0x470721=(_0x378e66-_0x16ae26)/0x2*_0x2da7e7;_0x38548a-=_0x184da8,_0x36cc34+=_0x184da8,_0x16ae26-=_0x470721,_0x378e66+=_0x470721;}_0x38548a=Math['max'](_0x38548a,-0xb4),_0x36cc34=Math[_0x1e7bb5(0xa82,0x1542)](_0x36cc34,0xb4),_0x16ae26=Math['max'](_0x16ae26,-0x5a),_0x378e66=Math['min'](_0x378e66,0x5a);function _0x1e7bb5(_0x33801f,_0x3774ad){return _0x7afdbe(_0x3774ad,_0x33801f- -_0x582ba8._0x2df8a3);}_0xd6d59e!==null&&_0xd6d59e!==void 0x0&&_0xd6d59e['formatNum']&&(_0x38548a=formatNum$1(_0x38548a,LngLatPoint['FormatLength']),_0x36cc34=formatNum$1(_0x36cc34,LngLatPoint['FormatLength']),_0x16ae26=formatNum$1(_0x16ae26,LngLatPoint['FormatLength']),_0x378e66=formatNum$1(_0x378e66,LngLatPoint[_0xf72246(_0xc6c9ae._0x1c29bb,0x2174)]));const _0x320867={};return _0x320867[_0x1e7bb5(_0xc6c9ae._0x1f0ac5,0x1018)]=_0x38548a,_0x320867['xmax']=_0x36cc34,_0x320867[_0xf72246(_0xc6c9ae._0x4aca55,0x15db)]=_0x16ae26,_0x320867['ymax']=_0x378e66,_0x320867['height']=_0x1ce2e0,_0x320867['positions']=_0x34e70c,_0x320867;}[_0x7afdbe(0x1a1e,0x12e2)](_0x398128){const _0x535b5b={_0xb33853:0x2e0,_0xd4dab8:0x102c},_0x2e6dd8={_0x20f2ed:0x53};var _0x3a784b;if(!((_0x3a784b=this[_0x139e72(_0x535b5b._0xb33853,0x85d)][_0x139e72(0x11c5,_0x535b5b._0xd4dab8)])!==null&&_0x3a784b!==void 0x0&&(_0x3a784b=_0x3a784b[_0x222ddb(0x47c,-0xaa)])!==null&&_0x3a784b!==void 0x0&&_0x3a784b['realAlt']))return _0x398128;const _0x461110=this['_viewer']['scene']['verticalExaggeration'];if(_0x461110)return _0x398128/_0x461110;function _0x222ddb(_0x2a3bdb,_0x34bea5){return _0x7afdbe(_0x34bea5,_0x2a3bdb- -0x31);}function _0x139e72(_0x41f391,_0x4e2fe4){return _0x54a7f1(_0x4e2fe4- -_0x2e6dd8._0x20f2ed,_0x41f391);}return _0x398128;}['expImage'](_0x548377){return expImage(this['_viewer'],_0x548377);}['setCursor'](_0x45376d=''){const _0x36c9be={_0xa210d3:0xb6},_0x362843={_0x49f59e:0x3e6};function _0x4196d1(_0x16dd52,_0x5c5c70){return _0x54a7f1(_0x16dd52- -0x1ff,_0x5c5c70);}function _0x2931ad(_0x52f890,_0x52361f){return _0x54a7f1(_0x52f890- -_0x362843._0x49f59e,_0x52361f);}this['_default_cursor']=_0x45376d,this[_0x4196d1(0x9fe,0x1194)][_0x2931ad(_0x36c9be._0xa210d3,0x2b)]['cursor']=_0x45376d;}[_0x54a7f1(0x1716,0x1094)](_0x58adfb){const _0x29fd65={_0x1e99a6:0x178b,_0x4ead64:0xd2b,_0x3eb61b:0x267,_0x3999fe:0xfbd,_0x5c249e:0x5ca,_0x37bd8e:0xbed,_0x20d648:0x18ab,_0x5af66d:0x16c4,_0x19cf55:0xdf2,_0x46adaf:0xa83},_0x10f877={_0x15ee63:0x100},_0x21d93d={_0x21c530:0x202};function _0x336ad2(_0x193dc0,_0x1af4c9){return _0x7afdbe(_0x193dc0,_0x1af4c9- -_0x21d93d._0x21c530);}if(!this[_0x413aa8(_0x29fd65._0x1e99a6,_0x29fd65._0x4ead64)])return;_0x58adfb?this[_0x336ad2(0x785,0xc29)][_0x413aa8(-0x21a,0x5ca)]['cursor']=_0x336ad2(-0x311,_0x29fd65._0x3eb61b):this[_0x413aa8(_0x29fd65._0x3999fe,0xd2b)][_0x413aa8(0x31b,_0x29fd65._0x5c249e)]['cursor']=this[_0x413aa8(_0x29fd65._0x37bd8e,0x86a)]||'';function _0x413aa8(_0x45016d,_0x2f634d){return _0x7afdbe(_0x45016d,_0x2f634d- -_0x10f877._0x15ee63);}this[_0x336ad2(0x1b5d,0x10ab)][_0x413aa8(_0x29fd65._0x20d648,_0x29fd65._0x5af66d)]=this[_0x413aa8(_0x29fd65._0x19cf55,_0x29fd65._0x46adaf)]&&_0x58adfb;}[_0x54a7f1(0xa7f,0xd4a)](_0x52d76b){return pick3DTileset(this['scene'],_0x52d76b);}[_0x7afdbe(0x7f6,0xc8e)](_0x24b2e8){const _0xafe6b={_0xbfb737:0x11c0,_0x700563:0x15b8},_0x9184cc={_0x31259d:0xed};function _0x3b8506(_0x29218e,_0x134373){return _0x7afdbe(_0x29218e,_0x134373- -_0x9184cc._0x31259d);}const _0x44c2e0=pick3DTileset(this[_0x3b8506(0x11de,_0xafe6b._0xbfb737)],_0x24b2e8);function _0xb32f75(_0x4f94a0,_0x3281c9){return _0x54a7f1(_0x3281c9- -0x1a4,_0x4f94a0);}return _0x44c2e0?this['getLayerById'](_0x44c2e0[_0x3b8506(_0xafe6b._0x700563,0x135f)]):null;}['on'](_0x1ec8c4,_0x32e57c,_0x4094ef){const _0x21516c=this['_sceneEvent']['on'](_0x1ec8c4,_0x32e57c,_0x4094ef||this);return!_0x21516c&&super['on'](_0x1ec8c4,_0x32e57c,_0x4094ef),this;}['off'](_0x1506ac,_0x420f43,_0x527c6b){const _0x1450e0={_0x1d260a:0xdbe},_0x19ef2c={_0x425a8d:0x10d},_0xdf7256=this[_0x558edc(0xd09,_0x1450e0._0x1d260a)]['off'](_0x1506ac,_0x420f43,_0x527c6b||this);function _0x558edc(_0x4a056b,_0x2588a0){return _0x54a7f1(_0x4a056b-_0x19ef2c._0x425a8d,_0x2588a0);}return!_0xdf7256&&super['off'](_0x1506ac,_0x420f43,_0x527c6b),this;}['listens'](_0x3407d0,_0x277a69){const _0x4bb11d={_0x3aba29:0x938,_0x169af0:0x2ec,_0x4016c0:0x938,_0x4c132b:0x3ce},_0x2e250b={_0x5939c9:0x4f2};function _0x4d0abd(_0xaa9f15,_0x5e5f81){return _0x7afdbe(_0x5e5f81,_0xaa9f15- -_0x2e250b._0x5939c9);}function _0x19f2e7(_0x252bf6,_0x265fc5){return _0x54a7f1(_0x252bf6- -0x478,_0x265fc5);}return this[_0x4d0abd(_0x4bb11d._0x3aba29,_0x4bb11d._0x169af0)]&&this[_0x4d0abd(_0x4bb11d._0x4016c0,_0x4bb11d._0x4c132b)]['hasType'](_0x3407d0)?this[_0x4d0abd(0x938,0x258)][_0x19f2e7(0x750,0x984)](_0x3407d0):super['listens'](_0x3407d0,_0x277a69);}['_initLayers'](){const _0x50f531={_0x387b17:0x632,_0x26236e:0x484,_0x3555e3:0x11aa,_0x53ba53:0x11cd,_0x3e7ed2:0x403,_0x28bdf7:0x5b5,_0x4100f0:0x616,_0x17ccdf:0x173f,_0x4b3c43:0x1320,_0x23f1cd:0x190e,_0x587480:0x14a9,_0x521825:0x138c,_0x459551:0x1170,_0x33c5d9:0xc59,_0x4e94cd:0x18e0,_0x3f8a05:0xb57,_0x1814f5:0x12c7,_0x515090:0x12b5,_0x601f69:0x7fb,_0x3ec770:0x66b},_0x403edf={_0x59feec:0x183e},_0xd1232a={_0x3f5089:0x1b5},_0xa16161={_0x4cc19c:0x44c},_0x63d4f4={_0x2e77bb:0x2af};this['options']['basemaps']=this[_0x37e618(0xaf8,_0x50f531._0x387b17)]['basemaps']||[],this['options'][_0x37e618(0xccf,_0x50f531._0x26236e)]=this['options']['layers']||[],this['_layerIdx']=0x1,this['_arrLayerIdx']=[];const _0x2d8bb1=this[_0x37e618(0xaf8,_0x50f531._0x3555e3)]['basemaps'],_0x47b16c=this['options'][_0x21d59c(0xa6a,0x7d8)];for(let _0x4f985a=0x0;_0x4f985a<_0x2d8bb1[_0x37e618(_0x50f531._0x53ba53,0x163d)];_0x4f985a++){const _0x202a03=_0x2d8bb1[_0x4f985a];_0x202a03['id']&&(this[_0x37e618(0xd64,0x7a9)]['indexOf'](_0x202a03['id'])!==-0x1&&(delete _0x202a03['id'],logWarn('addLayer:图层id存在冲突,已重新赋值id',_0x202a03)),this['_arrLayerIdx']['push'](_0x202a03['id']));if(_0x202a03['layers'])for(let _0x46560b=0x0;_0x46560b<_0x202a03[_0x21d59c(_0x50f531._0x3e7ed2,0x7d8)]['length'];_0x46560b++){const _0x4435db=_0x202a03['layers'][_0x46560b];_0x4435db['id']&&(this['_arrLayerIdx']['indexOf'](_0x4435db['id'])!==-0x1&&(delete _0x4435db['id'],logWarn(_0x21d59c(0x4dc,_0x50f531._0x28bdf7),_0x4435db)),this['_arrLayerIdx']['push'](_0x4435db['id']));}}for(let _0x22f532=0x0;_0x22f532<_0x47b16c['length'];_0x22f532++){const _0x44c4b5=_0x47b16c[_0x22f532];_0x44c4b5['id']&&(this['_arrLayerIdx']['indexOf'](_0x44c4b5['id'])!==-0x1&&(delete _0x44c4b5['id'],logWarn(_0x37e618(0xaac,_0x50f531._0x4100f0),_0x44c4b5)),this[_0x21d59c(0xa67,0x86d)]['push'](_0x44c4b5['id']));if(_0x44c4b5['layers'])for(let _0x126f4f=0x0;_0x126f4f<_0x44c4b5['layers'][_0x37e618(0x11cd,0x812)];_0x126f4f++){const _0x5ec61e=_0x44c4b5['layers'][_0x126f4f];_0x5ec61e['id']&&(this['_arrLayerIdx'][_0x37e618(0x7f7,0xa96)](_0x5ec61e['id'])!==-0x1&&(delete _0x5ec61e['id'],logWarn('addLayer:图层id存在冲突,已重新赋值id',_0x5ec61e)),this['_arrLayerIdx'][_0x21d59c(0x4a3,0xc59)](_0x5ec61e['id']));}}function _0x37e618(_0x493804,_0x3a2e91){return _0x7afdbe(_0x3a2e91,_0x493804-0x1a);}const _0x428abd=[];function _0x21d59c(_0x468a32,_0x25492b){return _0x54a7f1(_0x25492b- -_0x63d4f4._0x2e77bb,_0x468a32);}const _0x35058a=[];for(let _0x3a76ea=0x0;_0x3a76ea<_0x2d8bb1['length'];_0x3a76ea++){const _0x558039=_0x2d8bb1[_0x3a76ea];!_0x558039['name']&&(_0x558039[_0x37e618(0x14c4,0xf3d)]='');!_0x558039['id']&&(_0x558039['id']=this[_0x37e618(0x9fb,0xc09)]());delete _0x558039['zIndex'];const _0x490410=create$3(_0x558039,this[_0x37e618(0x65a,0x7eb)]);if(!_0x490410)continue;_0x490410[_0x37e618(_0x50f531._0x17ccdf,_0x50f531._0x4b3c43)]=!![];if(_0x558039['show']){const _0x366d43=this[_0x37e618(_0x50f531._0x23f1cd,_0x50f531._0x587480)](_0x490410);_0x35058a['push'](_0x366d43);}else delete _0x558039['show'];this['_optionsBasemapsList']['set'](_0x558039['id'],_0x490410);if(_0x490410['hasChildLayer']&&_0x558039['layers'])for(let _0xdd654f=0x0;_0xdd654f<_0x558039['layers']['length'];_0xdd654f++){const _0x166363=_0x558039['layers'][_0xdd654f];_0x166363[_0x37e618(0x19e4,0x1929)]=_0x558039['id'],_0x166363[_0x21d59c(0xd6e,0x1115)]=_0x490410,!_0x166363['id']&&(_0x166363['id']=this['getNextLayerId']()),_0x428abd['push'](_0x166363);}else _0x428abd[_0x37e618(0x1150,0x1168)](_0x558039);}for(let _0x205be8=0x0;_0x205be8<_0x47b16c['length'];_0x205be8++){const _0x450b1a=_0x47b16c[_0x205be8];!_0x450b1a['id']&&(_0x450b1a['id']=this['getNextLayerId']());const _0x2ba2e1=create$3(_0x450b1a,this['templateValues']);if(!_0x2ba2e1)continue;_0x2ba2e1[_0x37e618(0x173f,0x1c80)]=!![];if(_0x450b1a['show']){const _0x46b2dd=this['addLayer'](_0x2ba2e1);_0x35058a['push'](_0x46b2dd);}else delete _0x450b1a[_0x37e618(0x183b,0x1698)];this[_0x21d59c(_0x50f531._0x521825,_0x50f531._0x459551)]['set'](_0x450b1a['id'],_0x2ba2e1);if(_0x2ba2e1['hasChildLayer']&&_0x450b1a['layers'])for(let _0x2a8f5f=0x0;_0x2a8f5f<_0x450b1a['layers'][_0x37e618(0x11cd,0x1565)];_0x2a8f5f++){const _0xa75d5a=_0x450b1a['layers'][_0x2a8f5f];_0xa75d5a[_0x21d59c(0x1b77,0x14ed)]=_0x450b1a['id'],_0xa75d5a['parent']=_0x2ba2e1,!_0xa75d5a['id']&&(_0xa75d5a['id']=this['getNextLayerId']()),_0x428abd[_0x37e618(0x1150,0x1068)](_0xa75d5a);}else _0x428abd[_0x21d59c(0x1489,_0x50f531._0x33c5d9)](_0x450b1a);}for(let _0x1c67bc=0x0;_0x1c67bc<_0x428abd['length'];_0x1c67bc++){const _0x3ef98b=_0x428abd[_0x1c67bc];if(_0x3ef98b['type']==='group')continue;let _0x550300=Number(_0x3ef98b[_0x37e618(0xed0,0xe3f)]);isNaN(_0x550300)&&(_0x550300=_0x1c67bc);_0x3ef98b['zIndex']=_0x550300;const _0x91e6b8=this[_0x37e618(_0x50f531._0x4e94cd,0x1453)][_0x21d59c(0x653,_0x50f531._0x3f8a05)](_0x3ef98b['id']);_0x91e6b8&&(_0x91e6b8['zIndex']=_0x550300);}if(this['options']['graphic']){const _0x1a515f=this['_addDefGraphicLayer']();_0x35058a['push'](_0x1a515f);}const _0x488caa=this;_0x35058a['push'](new Promise((_0x3faf47,_0x4218bc)=>{let _0x13c972=![];function _0x1f3efd(){const _0x5d0b4a={_0x3678ca:0x38};function _0x4a5b90(_0x98469,_0x44f6a3){return _0x536c(_0x98469- -_0x5d0b4a._0x3678ca,_0x44f6a3);}if(_0x13c972||!_0x488caa[_0x4a5b90(0x751,0x757)])return;_0x13c972=!![],_0x488caa[_0x4a5b90(0x1ee,0x283)](EventType['tileLoadProgress'],_0x5bbc3f);function _0xa03774(_0x2e6a78,_0x8cee89){return _0x536c(_0x8cee89-0x182,_0x2e6a78);}_0x3faf47(!![]);}function _0x5bbc3f(_0x37650c){const _0x2b3e34={_0xe80b9a:0x41};function _0x33398f(_0xd3d00c,_0x15e29e){return _0x536c(_0xd3d00c-_0x2b3e34._0xe80b9a,_0x15e29e);}function _0x29ce6c(_0x1d82e3,_0x5550e0){return _0x536c(_0x5550e0-0x265,_0x1d82e3);}(_0x488caa[_0x33398f(0xf99,0x1532)]['globe'][_0x33398f(0x936,0xb3e)]||_0x37650c===0x0)&&_0x1f3efd();}this['on'](EventType[_0xb892cf(_0xd1232a._0x3f5089,-0x3c9)],_0x5bbc3f);function _0xb892cf(_0x394a52,_0x58ca91){return _0x37e618(_0x394a52- -_0xa16161._0x4cc19c,_0x58ca91);}setTimeout(_0x1f3efd,0x1f40);})),this['_viewer'][_0x37e618(_0x50f531._0x1814f5,_0x50f531._0x515090)]['_terrainProviderPromise']&&_0x35058a['push'](this['_viewer']['scene']['_terrainProviderPromise']),Promise['all'](_0x35058a)[_0x37e618(_0x50f531._0x601f69,_0x50f531._0x3ec770)](_0x46b89f=>{const _0x7b3865={_0x403b8b:0x7be},_0x111873={};function _0x28f42e(_0x41a68d,_0x13acc2){return _0x21d59c(_0x41a68d,_0x13acc2-0x39f);}_0x111873[_0x28f42e(_0x403edf._0x59feec,0x1472)]=_0x46b89f,this['fire'](EventType['load'],_0x111873),setTimeout(()=>{function _0x38a0de(_0x4f2db2,_0x4ec44e){return _0x28f42e(_0x4ec44e,_0x4f2db2- -0x279);}this['_readyPromise']&&this[_0x38a0de(0x128,-_0x7b3865._0x403b8b)]['resolve'](this);},0x320);});}[_0x7afdbe(0xca5,0xc45)](){const _0x5c2055={_0x1161d0:0x1545,_0x494f91:0x635,_0x4cc5de:0x150,_0x12ac07:0xbec,_0x5004fd:0x959,_0x5523b1:0x763};var _0x17c363;const _0x31e003=this['options']['terrain'],_0x535b73=(_0x17c363=this[_0x73fe4(_0x5c2055._0x1161d0,0xbf5)])===null||_0x17c363===void 0x0||(_0x17c363=_0x17c363['globe'])===null||_0x17c363===void 0x0||(_0x17c363=_0x17c363[_0x73fe4(-0x7d7,0x266)])===null||_0x17c363===void 0x0||(_0x17c363=_0x17c363['tileProvider'])===null||_0x17c363===void 0x0?void 0x0:_0x17c363[_0x73fe4(-_0x5c2055._0x494f91,_0x5c2055._0x4cc5de)];function _0x73fe4(_0x7a0a15,_0x3e6a72){return _0x7afdbe(_0x7a0a15,_0x3e6a72- -0x6b8);}_0x31e003!==null&&_0x31e003!==void 0x0&&_0x31e003['clip']&&_0x535b73!==null&&_0x535b73!==void 0x0&&_0x535b73['clip']&&(_0x535b73['clip']['enabled']=!![]);_0x31e003!==null&&_0x31e003!==void 0x0&&_0x31e003['flat']&&_0x535b73!==null&&_0x535b73!==void 0x0&&_0x535b73[_0x47afd3(_0x5c2055._0x12ac07,0x72e)]&&(_0x535b73['flat'][_0x73fe4(0xee1,0x719)]=!![]);_0x31e003!==null&&_0x31e003!==void 0x0&&_0x31e003['uplift']&&_0x535b73!==null&&_0x535b73!==void 0x0&&_0x535b73['uplift']&&(_0x535b73[_0x73fe4(0x20a,_0x5c2055._0x5004fd)]['enabled']=!![]);function _0x47afd3(_0x185249,_0x49bcc9){return _0x7afdbe(_0x49bcc9,_0x185249- -0x1e2);}_0x31e003!==null&&_0x31e003!==void 0x0&&_0x31e003[_0x47afd3(_0x5c2055._0x5523b1,0xd29)]&&_0x535b73!==null&&_0x535b73!==void 0x0&&_0x535b73['flood']&&(_0x535b73['flood']['enabled']=!![]);}[_0x54a7f1(0x5ea,0x3af)](_0xd357f0,_0x2a7f9d=!![]){const _0x4e095d={_0x2b169c:0xf18,_0x465d89:0x4e9,_0x3abb82:0x1e67,_0x391cbc:0xa73,_0x7e1a0a:0xdf8,_0x5e292f:0xcac,_0x3e583d:0xa3b,_0x24272f:0xc6e},_0x26674c={_0x403e4a:0x27a},_0x56c2f2={_0x1d87db:0x62},_0x226422={_0x4a9050:0x122,_0x8a46e1:0x7d1};if(!_0xd357f0||_0xd357f0['length']===0x0)return;this['options'][_0x302bec(0x721,0xdc5)]=_0xd357f0;if(_0x2a7f9d){this['_optionsBasemapsList']['forEach'](_0x19505b=>{function _0x40c016(_0x522356,_0x1bc0fb){return _0x302bec(_0x1bc0fb,_0x522356- -0x2c4);}_0x19505b[_0x40c016(_0x226422._0x4a9050,-_0x226422._0x8a46e1)]();}),this['_optionsBasemapsList']['removeAll']();for(let _0x3d545c=0x0;_0x3d545c<_0xd357f0['length'];_0x3d545c++){const _0x3572a9=_0xd357f0[_0x3d545c];!_0x3572a9['name']&&(_0x3572a9['name']='');!_0x3572a9['id']&&(_0x3572a9['id']=this['getNextLayerId']());let _0x2279af=Number(_0x3572a9['zIndex']);isNaN(_0x2279af)&&(_0x2279af=_0x3d545c);_0x3572a9[_0x2c8205(_0x4e095d._0x2b169c,_0x4e095d._0x465d89)]=_0x2279af;const _0x4e6592=create$3(_0x3572a9,this['templateValues']);if(!_0x4e6592)continue;_0x3572a9['show']&&(this[_0x2c8205(0x1956,_0x4e095d._0x3abb82)](_0x4e6592),_0x4e6592['readyPromise']['then'](function(_0xe16e2f){function _0x58c7d7(_0x44fe16,_0x5affdc){return _0x2c8205(_0x5affdc- -0x75e,_0x44fe16);}_0xe16e2f[_0x58c7d7(0xd26,0x1059)]&&_0xe16e2f['toBottom']();}));this[_0x302bec(0x12e0,_0x4e095d._0x391cbc)][_0x302bec(0xe27,0xd65)](_0x3572a9['id'],_0x4e6592);if(_0x4e6592[_0x2c8205(_0x4e095d._0x7e1a0a,_0x4e095d._0x5e292f)]&&_0x3572a9[_0x302bec(0xc78,_0x4e095d._0x3e583d)])for(let _0x30136a=0x0;_0x30136a<_0x3572a9['layers'][_0x302bec(0x68f,0xf39)];_0x30136a++){const _0x4de249=_0x3572a9['layers'][_0x30136a];_0x4de249['pid']=_0x3572a9['id'],_0x4de249['parent']=_0x4e6592,!_0x4de249['id']&&(_0x4de249['id']=this[_0x302bec(0xef2,0x767)]());}}}this['control']['baseLayerPicker']&&this['control'][_0x302bec(_0x4e095d._0x24272f,0xbb6)][_0x2c8205(0x1647,0x19d0)]();function _0x2c8205(_0x94ed29,_0x396383){return _0x7afdbe(_0x396383,_0x94ed29-_0x56c2f2._0x1d87db);}function _0x302bec(_0x215bce,_0x316b64){return _0x7afdbe(_0x215bce,_0x316b64- -_0x26674c._0x403e4a);}return this['_optionsBasemapsList']['values'];}[_0x7afdbe(0xf49,0x973)](_0x4822cc){const _0x4bbb8f={_0x11f44:0x155a,_0x14605d:0x1c6d,_0x4192b1:0x153,_0x1cfd0f:0xba7,_0x4d29de:0x172e,_0x5a7e43:0xfc6,_0x1d1774:0xa70,_0xe95eb6:0x1f49};if(!_0x4822cc||_0x4822cc['length']===0x0)return;function _0x3edc0c(_0x4d3bee,_0xb17088){return _0x7afdbe(_0xb17088,_0x4d3bee- -0x19);}this[_0x438f4e(0x122b,_0x4bbb8f._0x11f44)]['forEach'](_0x110c59=>{_0x110c59['destroy']();}),this[_0x438f4e(_0x4bbb8f._0x14605d,_0x4bbb8f._0x11f44)][_0x3edc0c(0xa41,_0x4bbb8f._0x4192b1)](),this[_0x438f4e(_0x4bbb8f._0x1cfd0f,0x9eb)]['layers']=_0x4822cc;for(let _0x55514b=0x0;_0x55514b<_0x4822cc['length'];_0x55514b++){const _0x4943ab=_0x4822cc[_0x55514b];!_0x4943ab['id']&&(_0x4943ab['id']=this['getNextLayerId']());const _0x503016=create$3(_0x4943ab,this[_0x3edc0c(0x627,0x6a7)]);if(!_0x503016)continue;_0x4943ab[_0x438f4e(0x1a83,_0x4bbb8f._0x4d29de)]&&this[_0x438f4e(0x16fa,0x1801)](_0x503016);this['_optionsLayersList'][_0x3edc0c(_0x4bbb8f._0x5a7e43,_0x4bbb8f._0x1d1774)](_0x4943ab['id'],_0x503016);if(_0x503016['hasChildLayer']&&_0x4943ab['layers'])for(let _0x3fa57b=0x0;_0x3fa57b<_0x4943ab['layers'][_0x3edc0c(0x119a,0x1158)];_0x3fa57b++){const _0x100ae8=_0x4943ab[_0x3edc0c(0xc9c,0x1626)][_0x3fa57b];_0x100ae8['pid']=_0x4943ab['id'],_0x100ae8[_0x438f4e(0x1c7f,0x14ff)]=_0x503016,!_0x100ae8['id']&&(_0x100ae8['id']=this['getNextLayerId']());}}function _0x438f4e(_0x544f90,_0xeae328){return _0x7afdbe(_0x544f90,_0xeae328- -0xf3);}return this[_0x438f4e(_0x4bbb8f._0xe95eb6,0x155a)]['values'];}['getNextLayerId'](){const _0x16601f={_0x479c34:0x19f8,_0x527d18:0x139d},_0x452045={_0x4810a1:0x9f};function _0x3b2dd6(_0xd8a2f8,_0x261806){return _0x54a7f1(_0xd8a2f8- -0x3dd,_0x261806);}while(this['_arrLayerIdx']['indexOf'](this[_0x33cfd1(_0x16601f._0x479c34,0x1819)])!==-0x1){this['_layerIdx']++;}function _0x33cfd1(_0x56f1cc,_0x457853){return _0x54a7f1(_0x457853-_0x452045._0x4810a1,_0x56f1cc);}return this['_arrLayerIdx']['push'](this['_layerIdx']),this[_0x3b2dd6(_0x16601f._0x527d18,0x1222)];}['addLayer'](_0x37380c,_0x32640c){const _0x2c7d9f={_0x49adac:0x448},_0x5619d6={_0x58c0a5:0x244};return new Promise((_0xf25229,_0x1759fe)=>{const _0x34497f={_0x50dd40:0x3e4};if(!_0x37380c||!_0x37380c['_onAdd']){_0xf25229(![]);return;}function _0x12f556(_0x2c7a43,_0x130d23){return _0x536c(_0x2c7a43- -_0x5619d6._0x58c0a5,_0x130d23);}Cesium__namespace['defined'](_0x32640c)&&(_0x37380c['show']=_0x32640c);if(_0x37380c['_state']===State[_0x12f556(0x9bd,0xb73)]){_0xf25229(![]);return;}_0x37380c['_onAdd'](this);function _0xd9f8c1(_0x4528f4,_0x28ec5d){return _0x536c(_0x28ec5d-_0x34497f._0x50dd40,_0x4528f4);}const _0x22751e=this['_layerList']['get'](_0x37380c['id']);_0x22751e&&_0x22751e!==_0x37380c&&(_0x37380c['id']=this[_0x12f556(_0x2c7d9f._0x49adac,-0x3fa)](),logWarn('addLayer:图层id存在冲突,已重新赋值id',_0x37380c)),this['_layerList'][_0x12f556(0xa46,0x4d7)](_0x37380c['id'],_0x37380c),_0x37380c[_0xd9f8c1(0x215d,0x191e)]['then'](function(_0x32c169){_0xf25229(!![]);});});}[_0x7afdbe(0x1384,0x118b)](_0x4709c9,_0x343071=![]){const _0x547852={_0x35cd6b:0x1679,_0x215560:0x14e4,_0x442024:0xc1e,_0x28bb9a:0xe0d,_0x282574:0xfb4,_0x2ea4ba:0x1501},_0x2ef2e6={_0xab904f:0x1f};if(!_0x4709c9)return this;function _0x34726f(_0x881a3e,_0x38adfd){return _0x54a7f1(_0x881a3e- -_0x2ef2e6._0xab904f,_0x38adfd);}if(isString(_0x4709c9)||isNumber(_0x4709c9)){_0x4709c9=this[_0x34726f(_0x547852._0x35cd6b,_0x547852._0x215560)][_0x3562df(_0x547852._0x442024,_0x547852._0x28bb9a)](_0x4709c9);if(!_0x4709c9)return this;}function _0x3562df(_0x379eb9,_0x1c915a){return _0x54a7f1(_0x379eb9- -0x1e8,_0x1c915a);}return this['_layerList'][_0x34726f(0x76f,_0x547852._0x282574)](_0x4709c9['id']),_0x4709c9['isAdded']&&(_0x343071&&_0x4709c9[_0x3562df(0x113b,0x136f)]&&_0x4709c9['clear'](),_0x4709c9[_0x3562df(0x13c8,_0x547852._0x2ea4ba)]()),_0x343071&&(this['_optionsBasemapsList']['remove'](_0x4709c9['id']),this['_optionsLayersList']['remove'](_0x4709c9['id']),_0x4709c9['destroy']()),this;}['hasLayer'](_0x3dbf4d){if(!_0x3dbf4d)return![];return isObject(_0x3dbf4d)&&(_0x3dbf4d=_0x3dbf4d['id']),this['_layerList']['contains'](_0x3dbf4d);}['eachLayer'](_0x3930b2,_0x1c6e7c,_0x26b1b8){const _0x4ca36c={_0x1838ad:0x1348,_0x101cb6:0x130c};this[_0x3e8fb9(_0x4ca36c._0x1838ad,_0x4ca36c._0x101cb6)]['forEach'](_0x3930b2,_0x1c6e7c||this,_0x26b1b8);function _0x3e8fb9(_0x152373,_0x40a422){return _0x7afdbe(_0x152373,_0x40a422- -0x5ba);}return this;}['getLayer'](_0x16254c,_0x3b34ce){const _0x4d262a={_0x2e122c:0x927};function _0x41232d(_0x16b37c,_0x53835c){return _0x7afdbe(_0x16b37c,_0x53835c- -0x1a1);}return isObject(_0x16254c)&&(_0x16254c=_0x16254c['id']),this[_0x41232d(_0x4d262a._0x2e122c,0xa6d)](_0x16254c,_0x3b34ce);}[_0x7afdbe(0xaa4,0x9c2)](_0x38cc86){const _0x3c44a7={_0x18baea:0x11c3,_0x520f86:0x1403,_0x43bbbc:0x14c6,_0x2ab821:0x103a},_0x301ccb={_0x14954a:0x1fa},_0x322d10={_0x580017:0x48a};let _0x1198cb=this['_layerList']['get'](_0x38cc86);if(_0x1198cb)return _0x1198cb;_0x1198cb=this[_0x38dde8(_0x3c44a7._0x18baea,0x1479)]['get'](_0x38cc86);if(_0x1198cb)return _0x1198cb;_0x1198cb=this['_optionsBasemapsList'][_0x38dde8(0xbaa,0x4c2)](_0x38cc86);if(_0x1198cb)return _0x1198cb;const _0x135932={};function _0x38dde8(_0x145c68,_0x1ec2ab){return _0x7afdbe(_0x1ec2ab,_0x145c68- -_0x322d10._0x580017);}function _0x23eb14(_0x53f27e,_0x524cb2){return _0x54a7f1(_0x524cb2-_0x301ccb._0x14954a,_0x53f27e);}_0x135932[_0x38dde8(0xbb5,_0x3c44a7._0x520f86)]=!![],_0x135932['layers']=!![];const _0x38b87d=this['getLayers'](_0x135932);for(let _0x48f0a7=0x0,_0x1cae5d=_0x38b87d['length'];_0x48f0a7<_0x1cae5d;_0x48f0a7++){const _0x18792e=_0x38b87d[_0x48f0a7];if(_0x18792e['id']===_0x38cc86)return _0x18792e;if(_0x18792e['hasChildLayer']&&_0x18792e[_0x38dde8(_0x3c44a7._0x43bbbc,0x13cc)])for(let _0x1ca52d=0x0;_0x1ca52d<_0x18792e[_0x23eb14(_0x3c44a7._0x2ab821,0x191c)]['length'];_0x1ca52d++){const _0x362c73=_0x18792e[_0x38dde8(0x14c6,0xae9)][_0x1ca52d];if(_0x362c73['id']===_0x38cc86)return _0x362c73;}}return undefined;}[_0x54a7f1(0x9e0,0xfda)](_0xafd09e,_0x3a56b7){const _0x2dea9a={_0x283554:0xcb1};let _0x5c668e=this['_layerList'][_0xdf789c(_0x2dea9a._0x283554,0x1318)](_0xafd09e,_0x3a56b7);if(_0x5c668e)return _0x5c668e;_0x5c668e=this['_optionsLayersList']['getByAttr'](_0xafd09e,_0x3a56b7);if(_0x5c668e)return _0x5c668e;_0x5c668e=this['_optionsBasemapsList']['getByAttr'](_0xafd09e,_0x3a56b7);function _0xdf789c(_0x53cd29,_0x2f6fde){return _0x54a7f1(_0x2f6fde- -0x7d,_0x53cd29);}if(_0x5c668e)return _0x5c668e;return undefined;}[_0x54a7f1(0x12b1,0xd3f)](_0x269b05,_0x14b640){const _0x2063a7={_0x2a1b02:0x18a8,_0x3f5605:0xf24,_0x1dd4cc:0x1454},_0x2aeeaa={_0x57bf05:0x186},_0x5497f3=this[_0x4c5a9a(0x1512,0xcc3)]['getListByAttr'](_0x269b05,_0x14b640);let _0x59764b=this['_optionsLayersList'][_0x17e13d(0xe55,_0x2063a7._0x2a1b02)](_0x269b05,_0x14b640);function _0x4c5a9a(_0x34c368,_0x48c92f){return _0x54a7f1(_0x34c368- -_0x2aeeaa._0x57bf05,_0x48c92f);}for(let _0x1da8af=0x0,_0x4f07b5=_0x59764b[_0x4c5a9a(0xdff,0xa79)];_0x1da8af<_0x4f07b5;_0x1da8af++){const _0x2ff5dd=_0x59764b[_0x1da8af];!this['_layerList'][_0x4c5a9a(0x11d4,_0x2063a7._0x3f5605)](_0x2ff5dd['id'])&&_0x5497f3['push'](_0x2ff5dd);}_0x59764b=this['_optionsBasemapsList']['getListByAttr'](_0x269b05,_0x14b640);for(let _0x1077a6=0x0,_0x2eecc2=_0x59764b['length'];_0x1077a6<_0x2eecc2;_0x1077a6++){const _0x459258=_0x59764b[_0x1077a6];!this['_layerList'][_0x4c5a9a(0x11d4,0xecc)](_0x459258['id'])&&_0x5497f3[_0x17e13d(0xd35,_0x2063a7._0x1dd4cc)](_0x459258);}function _0x17e13d(_0x4e2380,_0x30d6ef){return _0x54a7f1(_0x4e2380- -0x1d3,_0x30d6ef);}return _0x5497f3;}['getLayers'](_0x5afe6f={}){const _0x23a4e2={_0x17108c:0x112e,_0x1ad2e5:0xe6b,_0x4159d1:0xe9c,_0x37ef1a:0x99e},_0x26c6ee={_0x4804e9:0x6c5},_0x533516={_0x2eb412:0x1db},_0x459a86={_0x52e5d9:0xe9a,_0x23fc86:0xca5,_0x2fb3ae:0xb0d};let _0x4c2045=[];_0x5afe6f['basemaps']&&(_0x5afe6f[_0x2bc4c6(_0x23a4e2._0x17108c,0x13d4)]?this['_optionsBasemapsList'][_0x2bc4c6(0x721,0x69c)](_0x5c1f64=>{function _0x4e363d(_0x36155f,_0xb9a3ec){return _0x4c898e(_0xb9a3ec- -0x214,_0x36155f);}function _0x497204(_0x579caa,_0x23cc28){return _0x2bc4c6(_0x579caa-0x1e3,_0x23cc28);}_0x5afe6f[_0x4e363d(_0x459a86._0x52e5d9,0xc57)](_0x5c1f64)&&_0x4c2045[_0x4e363d(_0x459a86._0x23fc86,_0x459a86._0x2fb3ae)](_0x5c1f64);}):_0x4c2045=_0x4c2045[_0x4c898e(0x7de,0x209)](this['_optionsBasemapsList']['values']));_0x5afe6f['layers']&&(_0x5afe6f[_0x4c898e(_0x23a4e2._0x1ad2e5,0xa09)]?this['_optionsLayersList']['forEach'](_0x3ff283=>{function _0x32a920(_0x1f8172,_0x11434a){return _0x4c898e(_0x1f8172-0x39c,_0x11434a);}_0x5afe6f[_0x32a920(0x1207,0x1740)](_0x3ff283)&&_0x4c2045['push'](_0x3ff283);}):_0x4c2045=_0x4c2045[_0x2bc4c6(0xaa1,_0x23a4e2._0x4159d1)](this['_optionsLayersList'][_0x4c898e(0xf69,_0x23a4e2._0x37ef1a)]));this['_layerList']['forEach'](_0x3be913=>{function _0xdf6114(_0x3bb36a,_0x1ee021){return _0x4c898e(_0x3bb36a- -_0x533516._0x2eb412,_0x1ee021);}if(_0x3be913['isPrivate'])return;if(_0x5afe6f['childs']===![]&&_0x3be913['parent'])return;if(Cesium__namespace['defined'](_0x5afe6f['basemaps'])&&this['_optionsBasemapsList']['contains'](_0x3be913['id']))return;if(Cesium__namespace['defined'](_0x5afe6f[_0xdf6114(_0x26c6ee._0x4804e9,0x4e2)])&&this['_optionsLayersList']['contains'](_0x3be913['id']))return;if(_0x5afe6f['filter']&&!_0x5afe6f['filter'](_0x3be913))return;_0x4c2045['push'](_0x3be913);});function _0x4c898e(_0x2f138d,_0x9b4aa9){return _0x7afdbe(_0x9b4aa9,_0x2f138d- -0x415);}function _0x2bc4c6(_0x2ef8b3,_0x4c0c64){return _0x54a7f1(_0x2ef8b3-0xdc,_0x4c0c64);}return _0x4c2045;}['getLayrsTree'](_0x41882c={}){const _0x1e2ace={_0x39d8f2:0xe09,_0x129fe7:0x642,_0x5c0610:0x1fcf,_0x32a9ee:0x152e,_0x142eae:0x10f7,_0x3339f9:0xeda,_0xcef8b5:0x5c8,_0x1b491c:0x17df,_0x221e63:0x273,_0x1b2bd6:0x272,_0x17d5ee:0x11d3,_0x22723a:0x1419,_0x4a79b4:0xeb,_0x74c3eb:0x149,_0x4c689d:0x567,_0x419198:0x960},_0xfa7b58={_0x208621:0xe43,_0x113c69:0x61b},_0x7be33b={_0x54d6be:0x49c},_0x340b56=[];function _0x5c03a4(_0x13fc2f,_0x43de5b){return _0x7afdbe(_0x13fc2f,_0x43de5b- -_0x7be33b._0x54d6be);}const _0x3d0f2e={'basemaps':![],'layers':!![],'childs':![],..._0x41882c},_0x4e8ee5=this['getLayers'](_0x3d0f2e),_0x303123={};let _0x2faad6=!![];function _0x3a88ee(_0x2826a7,_0x10d2ef){return _0x7afdbe(_0x10d2ef,_0x2826a7- -0x72a);}for(let _0x59a928=_0x4e8ee5['length']-0x1;_0x59a928>=0x0;_0x59a928--){const _0x190580=_0x4e8ee5[_0x59a928];if(!_0x190580[_0x5c03a4(_0x1e2ace._0x39d8f2,_0x1e2ace._0x129fe7)]||_0x190580['isPrivate']||_0x190580['parent'])continue;const _0x596ec6={};_0x596ec6['id']=_0x190580['id'],_0x596ec6[_0x5c03a4(_0x1e2ace._0x5c0610,_0x1e2ace._0x32a9ee)]=_0x190580['pid'],_0x596ec6['type']=_0x190580[_0x5c03a4(0x9fc,0x5c8)],_0x596ec6['name']=_0x190580['name'],_0x596ec6[_0x3a88ee(_0x1e2ace._0x142eae,_0x1e2ace._0x3339f9)]=_0x190580['isAdded']&&_0x190580['show'],_0x596ec6['group']=_0x190580[_0x5c03a4(0xc5c,_0x1e2ace._0xcef8b5)]==='group'&&_0x190580[_0x3a88ee(0x6a,0x4c7)],_0x596ec6[_0x5c03a4(0x14b5,0x1419)]=_0x190580['options'];let _0x2ec959=_0x596ec6;for(const _0x399b76 in _0x2ec959){const _0xdaf938=_0x2ec959[_0x399b76];!Cesium__namespace[_0x5c03a4(_0x1e2ace._0x1b491c,0x1413)](_0xdaf938)&&delete _0x2ec959[_0x399b76];}_0x2ec959['group']&&(_0x2faad6=![]),_0x41882c['forEach']&&(_0x2ec959=_0x41882c['forEach'](_0x2ec959,_0x190580)??_0x2ec959),_0x303123[_0x2ec959['id']]&&logWarn('存在id重复的图层配置,请排查!',_0x303123[_0x2ec959['id']],_0x2ec959),_0x303123[_0x2ec959['id']]=_0x2ec959,delete _0x303123[_0x2ec959['id']][_0x3a88ee(-_0x1e2ace._0x221e63,_0x1e2ace._0x1b2bd6)],_0x340b56['push'](_0x2ec959);}if(_0x2faad6&&_0x41882c['autoGroup']){const _0x5664f6={};for(let _0x447d91=_0x340b56[_0x3a88ee(0xa89,0x11a8)]-0x1;_0x447d91>=0x0;_0x447d91--){const _0x1599b6=_0x340b56[_0x447d91];let _0x37cd3e;isString(_0x41882c['autoGroup'])?_0x37cd3e=_0x1599b6[_0x41882c['autoGroup']]||_0x1599b6[_0x5c03a4(_0x1e2ace._0x17d5ee,_0x1e2ace._0x22723a)][_0x41882c[_0x3a88ee(0x439,0x536)]]:_0x37cd3e=_0x41882c[_0x5c03a4(-_0x1e2ace._0x4a79b4,0x6c7)](_0x1599b6,_0x303123[_0x1599b6['id']]);if(!_0x5664f6[_0x37cd3e]){let _0x475a56={'id':createGuid(),'type':'group','name':_0x37cd3e,'show':![],'group':!![]};_0x41882c[_0x5c03a4(0x517,0x3d7)]&&(_0x475a56=_0x41882c['forEach'](_0x475a56)??_0x475a56),_0x340b56['push'](_0x475a56),_0x5664f6[_0x37cd3e]=_0x475a56['id'],_0x303123[_0x475a56['id']]=_0x475a56;}_0x1599b6['pid']=_0x5664f6[_0x37cd3e];}}const _0x235448=[];_0x340b56[_0x3a88ee(_0x1e2ace._0x74c3eb,-_0x1e2ace._0x4c689d)](function(_0x567893){function _0x58ca0e(_0x47e220,_0x1ddcb5){return _0x5c03a4(_0x1ddcb5,_0x47e220- -0xcc);}function _0x3d5313(_0x52c4f3,_0x1c4a43){return _0x5c03a4(_0x52c4f3,_0x1c4a43-0x13);}const _0x47478e=_0x567893['pid']&&_0x303123[_0x567893[_0x58ca0e(0x1462,_0xfa7b58._0x208621)]];_0x47478e?(!_0x47478e['children']&&(_0x47478e[_0x58ca0e(-0xb1,-_0xfa7b58._0x113c69)]=[]),_0x567893['_index']=_0x47478e['children']['length'],_0x567893['_getParent']=function(){return _0x47478e;},_0x47478e['children']['push'](_0x567893)):(delete _0x567893[_0x3d5313(0xc72,0x1541)],_0x235448['push'](_0x567893));});const _0x3cbb24={};return _0x3cbb24[_0x3a88ee(0xe86,_0x1e2ace._0x419198)]=_0x340b56,_0x3cbb24['tree']=_0x235448,_0x3cbb24;}['getBasemaps'](_0x338c5d){const _0x55d972={_0x5188f5:0xb9c};function _0xdb9d84(_0x80b1b2,_0x4ab05e){return _0x54a7f1(_0x4ab05e- -0x300,_0x80b1b2);}if(_0x338c5d){const _0x1f3270=[];return this['_optionsBasemapsList'][_0xdb9d84(_0x55d972._0x5188f5,0x345)](_0x45d617=>{if(_0x45d617['hasEmptyGroup'])return;_0x1f3270['push'](_0x45d617);}),_0x1f3270;}else return this['_optionsBasemapsList']['values'];}['getTileLayers'](){const _0x390eca={_0x3d7bac:0x455,_0x2d6942:0xefd,_0x3e70c4:0x1fd,_0x1c5aea:0x8e3},_0x1da34e={_0x3ef975:0x189,_0x525e7a:0x646,_0x1ea455:0x1384,_0x3e9a4a:0x1563,_0x3f1822:0xe6d,_0x58ab62:0x152a},_0x47fbaf={_0x46427f:0x375};let _0x525ef9=[];_0x525ef9=_0x525ef9['concat'](this[_0x4edeb7(_0x390eca._0x3d7bac,_0x390eca._0x2d6942)](!![]));function _0x423c0d(_0x352bf2,_0x1d73ec){return _0x7afdbe(_0x1d73ec,_0x352bf2- -_0x47fbaf._0x46427f);}this['_optionsLayersList'][_0x4edeb7(_0x390eca._0x3e70c4,_0x390eca._0x1c5aea)](_0x28f399=>{_0x28f399['isTile']&&!_0x28f399['isPrivate']&&_0x525ef9['push'](_0x28f399);}),this['_layerList']['forEach'](_0x445ab0=>{function _0x4da802(_0x125fc6,_0x32d64f){return _0x423c0d(_0x125fc6- -0x332,_0x32d64f);}if(!_0x445ab0[_0x439f98(_0x1da34e._0x3ef975,-0x56a)]||_0x445ab0['isPrivate'])return;if(this[_0x4da802(_0x1da34e._0x525e7a,0xf3e)]['contains'](_0x445ab0['id']))return;function _0x439f98(_0x236bfc,_0x3b2b37){return _0x4edeb7(_0x3b2b37,_0x236bfc- -0x339);}if(this[_0x439f98(_0x1da34e._0x1ea455,_0x1da34e._0x3e9a4a)]['contains'](_0x445ab0['id']))return;_0x525ef9[_0x439f98(_0x1da34e._0x3f1822,_0x1da34e._0x58ab62)](_0x445ab0);});function _0x4edeb7(_0x3a150,_0x3de750){return _0x7afdbe(_0x3a150,_0x3de750-0x70);}return _0x525ef9;}['_initControls'](){const _0x4e46a5={_0xb18b05:0xcd6,_0x4f4f19:0xcbc,_0x2a5234:0xf4f,_0x1eafd5:0x1993,_0x497e3f:0xf82,_0x1b2215:0x54c,_0x31ffd7:0x944,_0xc3718a:0x726,_0x23dd78:0x6d9,_0x250a4:0xf76,_0x516a9b:0x17b9,_0x57d1b0:0x165a,_0x56933b:0x20f0},_0x329a75={_0x260902:0xb4f,_0x4bccbe:0x12d4,_0x1d052c:0xc6,_0x175b4f:0xaeb},_0xb52249={_0x427803:0x340},_0x17670c={_0xb4d1e:0x173},_0x3f95b2={_0x40fb86:0x337},_0x3a4e97={_0x9fc31b:0xdd1};var _0xfffed8,_0x211ef4;const _0xd8506c=((_0xfffed8=this['options'])===null||_0xfffed8===void 0x0?void 0x0:_0xfffed8['control'])||{};setTimeout(()=>{var _0x3e039a,_0x38de3a;function _0x5919d6(_0xde050d,_0x231f07){return _0x536c(_0xde050d- -0x187,_0x231f07);}add((_0x3e039a=this['_viewer'])===null||_0x3e039a===void 0x0?void 0x0:_0x3e039a[_0x5919d6(_0x3a4e97._0x9fc31b,0x5fb)],(_0x38de3a=this['options'])===null||_0x38de3a===void 0x0?void 0x0:_0x38de3a['licenseUrl']);},0x3e8),this[_0x563472(0x764,0xcbc)]=new PopupMgr(_0xd8506c[_0x2393f0(0x11d3,0xa07)]),this[_0x563472(_0x4e46a5._0xb18b05,_0x4e46a5._0x4f4f19)]['isPrivate']=!![],this['addControl'](this['_popupMgr']),this[_0x2393f0(0x4a5,_0x4e46a5._0x2a5234)]=new TooltipMgr(_0xd8506c[_0x2393f0(0x7dd,0x1263)]),this['_tooltipMgr']['isPrivate']=!![],this[_0x563472(_0x4e46a5._0x1eafd5,_0x4e46a5._0x497e3f)](this['_tooltipMgr']),this['_contextmenuMgr']=new ContextMenu(_0xd8506c['contextmenu']),this['_contextmenuMgr']['isPrivate']=!![],this['addControl'](this['_contextmenuMgr']);(((_0x211ef4=_0xd8506c[_0x2393f0(0x11e1,0x734)])===null||_0x211ef4===void 0x0?void 0x0:_0x211ef4[_0x2393f0(0x23c,-0xe2)])??!![])&&this[_0x563472(0x1420,0x1714)](this[_0x563472(_0x4e46a5._0x1b2215,0x693)]());this[_0x2393f0(0x1193,0xe8a)]=new SmallTooltip(_0xd8506c['smallTooltip']),this['_smallTooltip'][_0x563472(-0xa,0x586)]=!![],this['addControl'](this['_smallTooltip']);const _0x52405e=isBoolean(_0xd8506c[_0x563472(0xf8a,0xe3d)])?{'enabled':_0xd8506c[_0x2393f0(0xc79,0x15d1)]}:{'enabled':![],..._0xd8506c['keyboardRoam']};function _0x2393f0(_0x10de99,_0x988fc5){return _0x7afdbe(_0x988fc5,_0x10de99- -_0x3f95b2._0x40fb86);}this[_0x2393f0(_0x4e46a5._0x31ffd7,0x111)]=new KeyboardRoam(_0x52405e);function _0x563472(_0x2ba194,_0x546725){return _0x7afdbe(_0x2ba194,_0x546725- -_0x17670c._0xb4d1e);}this['addControl'](this['_keyboardRoam']);for(const _0x39f5cd in _0xd8506c){const _0x269829=_0xd8506c[_0x39f5cd];if(!_0x269829||_0x269829['enabled']===![]||this[_0x563472(_0x4e46a5._0xc3718a,_0x4e46a5._0x23dd78)][_0x39f5cd])continue;const _0x2d7da1=create$2(_0x39f5cd,_0x269829);_0x2d7da1&&this[_0x563472(0xfb3,_0x4e46a5._0x497e3f)](_0x2d7da1);}this[_0x2393f0(_0x4e46a5._0x250a4,_0x4e46a5._0x516a9b)]['renderError'][_0x2393f0(_0x4e46a5._0x57d1b0,_0x4e46a5._0x56933b)]((_0x5eb32e,_0x17b738)=>{function _0x610b22(_0x16d856,_0xc9632){return _0x2393f0(_0x16d856- -0x3ca,_0xc9632);}function _0x309664(_0x18b801,_0x24248c){return _0x563472(_0x24248c,_0x18b801- -_0xb52249._0x427803);}const _0x15d5dd={'An\x20error\x20occurred\x20while\x20rendering.\x20\x20Rendering\x20has\x20stopped.':this['getLangText'](_0x309664(0x66e,0xda2)),'Error\x20constructing\x20CesiumWidget.':this[_0x610b22(_0x329a75._0x260902,_0x329a75._0x4bccbe)]('ErrorConstructingCesiumWidget')};_updateDomInnerHtml(this[_0x309664(0x978,_0x329a75._0x1d052c)],_0x15d5dd,_0x610b22(_0x329a75._0x175b4f,0x803));});}['addControl'](_0x5ea8cd,_0xdcf849){const _0x18c28b={_0x2bfa92:0xb03,_0x4d4044:0x11e3,_0x468362:0xabc,_0x2e35a7:0x13b0,_0x25d1d1:0xedf,_0x33041d:0x949},_0x134571={_0x389e22:0x58};function _0x2ba468(_0x40330f,_0xd6665a){return _0x7afdbe(_0xd6665a,_0x40330f-_0x134571._0x389e22);}if(!_0x5ea8cd||!_0x5ea8cd[_0x2ba468(0x949,_0x18c28b._0x2bfa92)])return this;_0x5ea8cd['type']&&this['_control'][_0x5ea8cd[_0x2ba468(0xabc,_0x18c28b._0x4d4044)]]&&(!this['_control'][_0x5ea8cd[_0x2ba468(_0x18c28b._0x468362,0x909)]]['isPrivate']&&logWarn('地图上已有'+_0x5ea8cd[_0x2ba468(0xabc,0x487)]+'控件,请直接使用\x20map.control.'+_0x5ea8cd['type']+_0x2ba468(_0x18c28b._0x2e35a7,_0x18c28b._0x25d1d1),this));Cesium__namespace[_0x1e9f15(0x15a9,0x1912)](_0xdcf849)&&(_0x5ea8cd[_0x2ba468(0xe29,0x15d7)]=_0xdcf849);_0x5ea8cd[_0x2ba468(_0x18c28b._0x33041d,0x4fb)](this),this['_controlList']['set'](_0x5ea8cd['id'],_0x5ea8cd);function _0x1e9f15(_0x448eb6,_0x431cab){return _0x7afdbe(_0x431cab,_0x448eb6- -0x306);}this[_0x2ba468(0x8a4,0xc30)][_0x5ea8cd['type']]=_0x5ea8cd;const _0xfd6c87={};return _0xfd6c87['control']=_0x5ea8cd,this['fire'](EventType[_0x2ba468(0x114d,0x18b0)],_0xfd6c87),this;}[_0x54a7f1(0xffa,0x1254)](_0x4a1c94,_0x364095=![]){const _0x102147={_0x3b4850:0x828,_0x2ee11a:0xfaf,_0x20e280:0x1663,_0x135531:0xfb7,_0x50222f:0xf4d,_0x580fe0:0x6bb};if(!_0x4a1c94)return this;function _0x11a6a0(_0x25987e,_0x1d4416){return _0x54a7f1(_0x1d4416-0x289,_0x25987e);}this[_0x28219d(0xe5c,0xd8e)][_0x11a6a0(_0x102147._0x3b4850,0xa17)](_0x4a1c94['id']);function _0x28219d(_0x1ba85e,_0x1912c7){return _0x54a7f1(_0x1912c7- -0x43,_0x1ba85e);}delete this[_0x28219d(-0x4dd,0x5db)][_0x4a1c94[_0x11a6a0(_0x102147._0x2ee11a,0xabf)]],_0x4a1c94['_onRemove']();const _0x57906d={};return _0x57906d['control']=_0x4a1c94,this['fire'](EventType[_0x28219d(_0x102147._0x20e280,_0x102147._0x135531)],_0x57906d),_0x364095&&_0x4a1c94[_0x11a6a0(_0x102147._0x50222f,_0x102147._0x580fe0)](),this;}[_0x54a7f1(0xcd3,0x638)](_0x2b2701){const _0x24d239={_0xc296ae:0x12df};function _0x5d34e0(_0x410c7d,_0x17eb0a){return _0x7afdbe(_0x17eb0a,_0x410c7d- -0x68d);}return this[_0x5d34e0(0x972,_0x24d239._0xc296ae)]['contains']((_0x2b2701===null||_0x2b2701===void 0x0?void 0x0:_0x2b2701['id'])||_0x2b2701);}[_0x7afdbe(0x58a,0xe9e)](_0x20d507,_0x1052ab,_0x3e51f5){const _0x384738={_0x4568ac:0xd43};this[_0x526e9e(_0x384738._0x4568ac,0x286)]['forEach'](_0x20d507,_0x1052ab||this,_0x3e51f5);function _0x526e9e(_0x5a9fc3,_0x91ec84){return _0x54a7f1(_0x5a9fc3- -0x8e,_0x91ec84);}return this;}[_0x7afdbe(0x1586,0x11cf)](_0x4390c2,_0x406fce=_0x7afdbe(0x41c,0xa64)){const _0x498060={_0x1a2f28:0x949};function _0x171c14(_0x241b6f,_0x28d4c9){return _0x7afdbe(_0x241b6f,_0x28d4c9- -0x6b6);}return this[_0x171c14(0x1322,_0x498060._0x1a2f28)]['getByAttr'](_0x4390c2,_0x406fce);}[_0x7afdbe(0x105d,0xdba)](){const _0x136548={_0x25dcf8:0x4aa,_0x380b94:0xe8b,_0x232cea:0xf5d},_0x13dc20={_0x3547da:0x109},_0x3f48f3={_0x22eee3:0x47d};function _0xbe3f80(_0x4188a9,_0x2ee667){return _0x54a7f1(_0x4188a9- -_0x3f48f3._0x22eee3,_0x2ee667);}var _0x5fded2;const _0x5caf01=(_0x5fded2=this['options'])===null||_0x5fded2===void 0x0?void 0x0:_0x5fded2[_0x559dba(0x1ef,_0x136548._0x25dcf8)];function _0x559dba(_0x2525b2,_0x4f24f9){return _0x7afdbe(_0x2525b2,_0x4f24f9- -_0x13dc20._0x3547da);}if(_0x5caf01)for(const _0x1e8537 in _0x5caf01){const _0xc3d621=_0x5caf01[_0x1e8537];if(!_0xc3d621||_0xc3d621[_0xbe3f80(0x726,0x66a)]===![])continue;const _0x3282a5=create$1(_0x1e8537,_0xc3d621);_0x3282a5&&this[_0xbe3f80(_0x136548._0x380b94,_0x136548._0x232cea)](_0x3282a5);}}[_0x54a7f1(0x1308,0x172a)](_0x478c34){const _0x47982e={_0x4fc54d:0x7fd,_0x5f061c:0x6f4,_0x20b257:0x8d8,_0x84d71d:0xd2e,_0x4a9ddd:0x1325},_0x158e50={_0x266ab8:0xa2};if(!_0x478c34||!_0x478c34['_onAdd'])return this;if(_0x478c34[_0x30bb87(_0x47982e._0x4fc54d,0x2b5)]&&this['_effect'][_0x478c34['type']]){logError('地图上已有'+_0x478c34[_0x251901(_0x47982e._0x5f061c,_0x47982e._0x20b257)]+'特效,请直接使用\x20map.effect.'+_0x478c34['type']+'\x20对象\x20',this);return;}function _0x30bb87(_0x124ca4,_0x32ee7a){return _0x7afdbe(_0x32ee7a,_0x124ca4- -0x267);}this[_0x30bb87(0xfee,0xec8)](_0x478c34);function _0x251901(_0x247a05,_0x46172e){return _0x54a7f1(_0x46172e-_0x158e50._0x266ab8,_0x247a05);}this[_0x251901(0x1125,_0x47982e._0x84d71d)][_0x478c34[_0x251901(0xb42,0x8d8)]]=_0x478c34;const _0x15f507={};_0x15f507[_0x251901(-0x43d,0x427)]=_0x478c34,this[_0x251901(0x157a,0xf5a)](EventType[_0x30bb87(0x12cf,_0x47982e._0x4a9ddd)],_0x15f507);}['removeEffect'](_0x1d2721,_0x8b5cb3){const _0x44bc9a={_0x13b58d:0x12bb,_0x1d538a:0xe55,_0xf19715:0x7e8};delete this[_0x1a5926(_0x44bc9a._0x13b58d,_0x44bc9a._0x1d538a)][_0x1d2721['type']];const _0x533335={};_0x533335[_0x16c09a(0x801,-0x19)]=_0x1d2721;function _0x16c09a(_0x55f8b5,_0x30834a){return _0x54a7f1(_0x30834a- -0x39e,_0x55f8b5);}function _0x1a5926(_0x143bbf,_0x4a149d){return _0x54a7f1(_0x4a149d-0x1c9,_0x143bbf);}this['fire'](EventType[_0x1a5926(0xa4,_0x44bc9a._0xf19715)],_0x533335),this['removeThing'](_0x1d2721,_0x8b5cb3);}['getEffect'](_0x4c285e,_0x44d4c4='type'){const _0x52282d={_0x2f3a1b:0xca9,_0x1aa64d:0x1409};function _0x4a4937(_0xcf174,_0xeee7da){return _0x7afdbe(_0xcf174,_0xeee7da- -0x574);}return this[_0x4a4937(_0x52282d._0x2f3a1b,_0x52282d._0x1aa64d)](_0x4c285e,_0x44d4c4);}[_0x54a7f1(0x4d1,0x98a)](_0x1cc80b,_0x3ed297){const _0x264dd8={_0x277b4e:0x6c5,_0x3371cc:0xc28,_0x3d1eda:0x12f6};function _0x28d062(_0x3954f6,_0x295923){return _0x54a7f1(_0x295923-0xce,_0x3954f6);}function _0x417d1d(_0x289733,_0x568105){return _0x7afdbe(_0x568105,_0x289733- -0x64d);}for(let _0x2cf8af=this['_thingList'][_0x28d062(0x1d,_0x264dd8._0x277b4e)]['length']-0x1;_0x2cf8af>=0x0;_0x2cf8af--){const _0x44464d=this[_0x28d062(0x13c2,_0x264dd8._0x3371cc)]['_array'][_0x2cf8af];_0x44464d[_0x417d1d(_0x264dd8._0x3d1eda,0xc8a)]&&_0x1cc80b[_0x417d1d(0xc92,0xaa3)](_0x3ed297||this,_0x44464d,_0x2cf8af);}return this;}[_0x54a7f1(0x67b,0xb6a)](){var _0x198166;const _0x71dc59=(_0x198166=this['options'])===null||_0x198166===void 0x0?void 0x0:_0x198166['thing'];if(_0x71dc59)for(const _0xdfc798 in _0x71dc59){const _0x9ee96c=_0x71dc59[_0xdfc798];if(!_0x9ee96c||_0x9ee96c['enabled']===![])continue;const _0x550349=create(_0xdfc798,_0x9ee96c);_0x550349&&this['addThing'](_0x550349);}}[_0x54a7f1(0x1027,0x6d9)](_0x4e43db){const _0x1342f7={_0x42ccab:0x6e3,_0x1e012b:0x5c5,_0x2ecf45:0x1523,_0x21577b:0x856,_0x5d0cda:0x8e9,_0x1c9559:0xb40,_0x2c5d79:0xcd1},_0x212863={_0x5ac4aa:0x20},_0xd6c228={_0x3b521a:0x271};if(!_0x4e43db||!_0x4e43db[_0x1cb40b(0xaf3,_0x1342f7._0x42ccab)])return this;_0x4e43db[_0x29d1e0(_0x1342f7._0x1e012b,0x6a1)]&&this[_0x1cb40b(0x16c5,_0x1342f7._0x2ecf45)][_0x4e43db['type']]&&_0x4e43db['_isOnlyInMap']&&logWarn('地图上已有'+_0x4e43db['type']+'对象,请确认是否无误,\x20可以直接用\x20map.thing.'+_0x4e43db[_0x1cb40b(0x90,_0x1342f7._0x21577b)]+'\x20对象\x20',this);function _0x29d1e0(_0x2c9641,_0x500adb){return _0x54a7f1(_0x2c9641- -_0xd6c228._0x3b521a,_0x500adb);}_0x4e43db['_onAdd'](this),this[_0x29d1e0(_0x1342f7._0x5d0cda,0x12ac)][_0x29d1e0(_0x1342f7._0x1c9559,0x1360)](_0x4e43db['id'],_0x4e43db);_0x4e43db['type']&&!_0x4e43db['isEffect']&&(this[_0x1cb40b(_0x1342f7._0x2c5d79,0x1523)][_0x4e43db['type']]=_0x4e43db);function _0x1cb40b(_0x505a69,_0x1b4bb6){return _0x54a7f1(_0x1b4bb6-_0x212863._0x5ac4aa,_0x505a69);}return this;}['removeThing'](_0x1dc70d,_0x3442f8=![]){const _0x31864d={_0x2c3de5:0xc58,_0x12abda:0x448,_0x14f9d9:0xef0,_0x196bea:0x189d},_0x580a05={_0x1e717f:0xfe},_0x20849a={_0x1a26f7:0x433};if(!_0x1dc70d)return this;_0x1dc70d['type']&&delete this['_thing'][_0x1dc70d[_0x5aea19(0x934,0xd62)]];this[_0x5aea19(_0x31864d._0x2c3de5,0x558)][_0x5aea19(0x88c,_0x31864d._0x12abda)](_0x1dc70d['id']);function _0x1b3348(_0x41a93a,_0x39dac3){return _0x54a7f1(_0x41a93a- -_0x20849a._0x1a26f7,_0x39dac3);}function _0x5aea19(_0x4e4069,_0x21b6eb){return _0x54a7f1(_0x4e4069-_0x580a05._0x1e717f,_0x21b6eb);}return _0x3442f8&&_0x1dc70d[_0x1b3348(_0x31864d._0x14f9d9,_0x31864d._0x196bea)]&&_0x1dc70d['clear'](),_0x1dc70d['_onRemove'](),_0x3442f8&&_0x1dc70d[_0x5aea19(0x530,0x14d)](),this;}['hasThing'](_0x4d224f){return this['_thingList']['contains']((_0x4d224f===null||_0x4d224f===void 0x0?void 0x0:_0x4d224f['id'])||_0x4d224f);}['eachThing'](_0x105965,_0x42dd7c,_0x448696){return this['_thingList']['forEach'](_0x105965,_0x42dd7c||this,_0x448696),this;}['getThing'](_0x9d311b,_0x53bd8c){const _0x3a1fc0={_0x288fb5:0x143};function _0x37e6cc(_0x4af133,_0x2d9cf8){return _0x7afdbe(_0x4af133,_0x2d9cf8- -0x567);}return this[_0x37e6cc(_0x3a1fc0._0x288fb5,0x821)]['getByAttr'](_0x9d311b,_0x53bd8c);}['_initMethod'](_0x18546a={}){const _0x447e72={_0x31fd6b:0x391,_0x4577a5:0x63b,_0xbaef74:0xb0e,_0x34c602:0xae6,_0xef6c68:0x3b9,_0x4f8331:0x458,_0xcb6f44:0xdb5,_0x1a1ca8:0x24f};function _0x961c6e(_0x24016e,_0x1159df){return _0x7afdbe(_0x24016e,_0x1159df- -0x3ed);}function _0x10c9a5(_0x18d682,_0x1a7058){return _0x7afdbe(_0x18d682,_0x1a7058-0x7d);}for(const _0x25b842 in _0x18546a){const _0xa6a400=_0x18546a[_0x25b842];switch(_0x25b842){case _0x961c6e(-_0x447e72._0x31fd6b,0x253):case _0x961c6e(_0x447e72._0x4577a5,_0x447e72._0xbaef74):case'lang':case _0x961c6e(0x51f,_0x447e72._0x34c602):case _0x961c6e(_0x447e72._0xef6c68,_0x447e72._0x4f8331):case'onlyPickModelPosition':case'onlyPickTerrainPosition':case'onlyVertexPosition':{this[_0x25b842]=_0xa6a400;break;}case _0x10c9a5(0x3ac,0xbc6):case'setCursor':{this['setCursor'](_0xa6a400);break;}case'changeMouseModel':{this[_0x10c9a5(0x1541,0x1862)](_0xa6a400);break;}case'setPitchRange':{this['setPitchRange'](_0xa6a400[_0x10c9a5(0x42d,_0x447e72._0xcb6f44)],_0xa6a400['min']);break;}case'setCameraViewList':{this[_0x961c6e(0xc1f,_0x447e72._0x1a1ca8)](_0xa6a400['list'],_0xa6a400);break;}case'openFlyAnimation':{this['openFlyAnimation'](_0xa6a400);break;}case _0x10c9a5(0x47b,0x9c8):{this['rotateAnimation'](_0xa6a400);break;}case'token':{updateAll(_0xa6a400);break;}default:{logWarn('未处理参数',_0xa6a400);break;}}}}['getLangText'](_0xa729b4){return this['lang'][_0xa729b4]||'';}[_0x54a7f1(0x125d,0x158b)](_0x51b1ef,_0x546041){const _0x55080c={_0x16b6c4:0x121a},_0xd4db0={_0x378c50:0x1b06,_0x2d468a:0x95c},_0x274fd5={_0x3dec58:0x810,_0x15cfee:0x196},_0x5c059e={_0x55bffb:0x29c},_0x38bdf0={_0x85d6ec:0x12ca,_0x39176b:0x1177};if(_0x51b1ef){if(isString(_0x51b1ef))this['lang'][_0x51b1ef]=_0x546041;else{if(isObject(_0x51b1ef))for(const _0x199da0 in _0x51b1ef){this[_0x45795f(_0x55080c._0x16b6c4,0xb09)][_0x199da0]=_0x51b1ef[_0x199da0];}}}function _0x45795f(_0x104321,_0xec6385){return _0x54a7f1(_0xec6385- -0x1cd,_0x104321);}this['eachControl'](_0x125004=>{function _0x6e27d9(_0x1875ce,_0x1de798){return _0x45795f(_0x1875ce,_0x1de798- -0x73);}_0x125004[_0x6e27d9(_0x38bdf0._0x85d6ec,_0x38bdf0._0x39176b)]();}),this['eachLayer'](_0x3887b4=>{function _0x113089(_0x4d66e3,_0x308091){return _0x45795f(_0x308091,_0x4d66e3-_0x5c059e._0x55bffb);}function _0x5d4867(_0x4bc9d5,_0x2c536e){return _0x45795f(_0x2c536e,_0x4bc9d5- -0xfb);}const _0xe307b5=_0x3887b4[_0x113089(0x30b,-0x2ef)];_0xe307b5&&(_0xe307b5[_0x113089(0x1532,_0xd4db0._0x378c50)](),_0xe307b5['startEditing'](),_0x3887b4[_0x113089(0xa4a,_0xd4db0._0x2d468a)](_0x400df3=>{function _0x2d02aa(_0x40c976,_0x1ed50b){return _0x5d4867(_0x40c976- -0xfc,_0x1ed50b);}_0x400df3['updateText']&&_0x400df3[_0x2d02aa(_0x274fd5._0x3dec58,-_0x274fd5._0x15cfee)]();}));});}['zoomIn'](_0x3e8b0e,_0xf8e7e){const _0x1e94e2={_0x242345:0x40};function _0x59e840(_0x5267c2,_0x488107){return _0x54a7f1(_0x5267c2- -0x4e6,_0x488107);}const _0x3d8d2c=this['_zoomNavigation']['zoomIn'](_0x3e8b0e,_0xf8e7e);function _0x1b8c6c(_0x345717,_0x55b58e){return _0x7afdbe(_0x55b58e,_0x345717-_0x1e94e2._0x242345);}if(_0x3d8d2c){const _0x4423ce={};_0x4423ce[_0x59e840(-0x1d3,-0x1d8)]=_0x59e840(0x6d9,0x6bc),_0x4423ce['relativeAmount']=_0x3e8b0e,_0x4423ce['mandatory']=_0xf8e7e,this['fire'](EventType['zoom'],_0x4423ce);}return _0x3d8d2c;}['zoomOut'](_0x321485,_0xf1894e){const _0x567046={_0x200a55:0xf92,_0x2ccbe4:0xa00},_0x1a022b={_0x1dc813:0x173},_0x5b4028={_0x10218b:0x2};function _0x5bd927(_0x51d08d,_0x1609a5){return _0x54a7f1(_0x1609a5-_0x5b4028._0x10218b,_0x51d08d);}function _0x3cd7c5(_0x51945b,_0x5d35eb){return _0x54a7f1(_0x51945b- -_0x1a022b._0x1dc813,_0x5d35eb);}const _0x58789d=this['_zoomNavigation']['zoomOut'](_0x321485,_0xf1894e);if(_0x58789d){const _0x519847={};_0x519847['ztype']='zoomOut',_0x519847[_0x5bd927(_0x567046._0x200a55,0x13cd)]=_0x321485,_0x519847[_0x3cd7c5(0x3ea,0x194)]=_0xf1894e,this[_0x5bd927(_0x567046._0x2ccbe4,0xeba)](EventType['zoom'],_0x519847);}return _0x58789d;}[_0x7afdbe(0x2154,0x17e5)](_0x23054e){const _0x216fb9={_0x5c5221:0x7d6,_0x5f8d59:0x12e0,_0x438978:0xe35,_0xa27933:0x7c8,_0x2a022c:0x1095,_0x393cf9:0x385,_0x571b40:0xc10,_0x437918:0x133e,_0xa1cda3:0x908,_0xba138f:0x101b,_0x349999:0x1275,_0x5ce09d:0x1095,_0x235be8:0x10f5,_0x2651d3:0x4da,_0x863ab4:0x347};function _0x8ec9bd(_0x331f0b,_0x176fe3){return _0x54a7f1(_0x176fe3- -0x46f,_0x331f0b);}function _0x1ae86c(_0x2967e4,_0x2cc391){return _0x7afdbe(_0x2cc391,_0x2967e4- -0x43d);}this['_hasRightTilt']=_0x23054e,_0x23054e?(this[_0x8ec9bd(0x527,0x70c)]['scene'][_0x1ae86c(0x106f,_0x216fb9._0x5c5221)]['tiltEventTypes']=[Cesium__namespace[_0x8ec9bd(_0x216fb9._0x5f8d59,_0x216fb9._0x438978)]['RIGHT_DRAG'],Cesium__namespace[_0x8ec9bd(_0x216fb9._0xa27933,0xe35)]['PINCH'],{'eventType':Cesium__namespace[_0x1ae86c(_0x216fb9._0x2a022c,0x6d4)]['LEFT_DRAG'],'modifier':Cesium__namespace[_0x8ec9bd(-0x634,_0x216fb9._0x393cf9)]['CTRL']},{'eventType':Cesium__namespace[_0x8ec9bd(0x153e,0xe35)]['RIGHT_DRAG'],'modifier':Cesium__namespace['KeyboardEventModifier']['CTRL']}],this['_viewer'][_0x8ec9bd(0x651,_0x216fb9._0x571b40)]['screenSpaceCameraController'][_0x1ae86c(_0x216fb9._0x437918,0xc59)]=[Cesium__namespace['CameraEventType']['MIDDLE_DRAG'],Cesium__namespace['CameraEventType']['WHEEL'],Cesium__namespace[_0x1ae86c(0x1095,_0x216fb9._0xa1cda3)]['PINCH']]):(this['_viewer'][_0x1ae86c(0xe70,0x1189)]['screenSpaceCameraController'][_0x8ec9bd(0x10f5,0x8c8)]=[Cesium__namespace[_0x1ae86c(0x1095,0xc3d)][_0x1ae86c(_0x216fb9._0xba138f,0x11e6)],Cesium__namespace[_0x1ae86c(0x1095,0x19a3)]['PINCH'],{'eventType':Cesium__namespace[_0x1ae86c(0x1095,_0x216fb9._0x349999)]['LEFT_DRAG'],'modifier':Cesium__namespace[_0x8ec9bd(0x4fa,0x385)]['CTRL']},{'eventType':Cesium__namespace['CameraEventType']['RIGHT_DRAG'],'modifier':Cesium__namespace['KeyboardEventModifier']['CTRL']}],this['_viewer']['scene']['screenSpaceCameraController'][_0x1ae86c(0x133e,0xa32)]=[Cesium__namespace[_0x1ae86c(_0x216fb9._0x5ce09d,_0x216fb9._0x235be8)]['RIGHT_DRAG'],Cesium__namespace['CameraEventType']['WHEEL'],Cesium__namespace['CameraEventType']['PINCH']]),this[_0x1ae86c(_0x216fb9._0x2651d3,_0x216fb9._0x863ab4)]['mouseDownView']&&this['control']['mouseDownView']['changeMouseModel']();}['clearPitchRange'](){const _0x52fd04={_0x4db6b5:0x82d,_0x3ebd2f:0xd6f,_0x4d7e21:0x1741,_0x1d5a7f:0x3d,_0x288aad:0xab9,_0xdc3d23:0x1fd,_0x272a35:0x4ec,_0x381715:0x827,_0x32ebc3:0x4ac},_0x21080c={_0x4d4f39:0x34e},_0x40396a={_0x70ba66:0x53e};function _0x16da45(_0x2bc18e,_0x13fe02){return _0x7afdbe(_0x13fe02,_0x2bc18e- -_0x40396a._0x70ba66);}delete this['_pitch_max'];function _0x4958a5(_0x142447,_0x1bd7f8){return _0x54a7f1(_0x142447- -_0x21080c._0x4d4f39,_0x1bd7f8);}delete this['_pitch_min'],delete this['_pitch_minHeight'],this[_0x4958a5(_0x52fd04._0x4db6b5,-0x7d)][_0x16da45(_0x52fd04._0x3ebd2f,_0x52fd04._0x4d7e21)][_0x4958a5(0xf30,0x1316)]['inertiaSpin']=0.9,this[_0x4958a5(0x82d,-0x10e)]['scene']['screenSpaceCameraController'][_0x16da45(0xf9a,0xe04)]=0.9,this[_0x16da45(_0x52fd04._0x1d5a7f,-0x81b)](EventType['mouseDown'],this[_0x16da45(_0x52fd04._0x288aad,0xeee)],this),this[_0x16da45(0x3d,_0x52fd04._0xdc3d23)](EventType['mouseUp'],this[_0x4958a5(0x2d,_0x52fd04._0x272a35)],this),this['off'](EventType[_0x4958a5(_0x52fd04._0x381715,0x791)],this['_setPitchRange_mouseMoveHandler'],this),this['off'](EventType[_0x4958a5(_0x52fd04._0x32ebc3,0x27f)],this['_setPitchRange_cameraChangedHandler'],this);}['setPitchRange'](_0x19b21d,_0x6840b9=-0x5a){const _0xe5c1d9={_0x34d7ee:0x14eb,_0x3a8a5f:0xb3b,_0x34df26:0x3c0,_0x21e954:0x12cb,_0x461879:0xe9f,_0x46e842:0x1451,_0x29295a:0xb15,_0x45328b:0x15c,_0xc04543:0x141c,_0x55c1d5:0xabf},_0xd5e9af={_0x455b18:0x2f};this['clearPitchRange'](),this[_0x4ab6b2(0xbaa,_0xe5c1d9._0x34d7ee)][_0x358672(0x130f,0x1252)][_0x4ab6b2(0x12ad,_0xe5c1d9._0x3a8a5f)][_0x4ab6b2(0x3b2,-_0xe5c1d9._0x34df26)]=0x0,this[_0x4ab6b2(0xbaa,_0xe5c1d9._0x21e954)]['scene'][_0x358672(_0xe5c1d9._0x461879,_0xe5c1d9._0x46e842)]['inertiaTranslate']=0x0,this['_viewer']['scene']['screenSpaceCameraController']['maximumTiltAngle']=_0x19b21d,this[_0x4ab6b2(_0xe5c1d9._0x29295a,_0xe5c1d9._0x45328b)]=Cesium__namespace['Math'][_0x4ab6b2(0x1551,0x1ff1)](_0x19b21d);function _0x4ab6b2(_0x592575,_0x2fa5b2){return _0x54a7f1(_0x592575-_0xd5e9af._0x455b18,_0x2fa5b2);}function _0x358672(_0x570963,_0x2305cf){return _0x54a7f1(_0x2305cf-0x1d3,_0x570963);}this['_pitch_min']=Cesium__namespace['Math']['toRadians'](_0x6840b9),this['on'](EventType[_0x358672(_0xe5c1d9._0xc04543,_0xe5c1d9._0x55c1d5)],this['_setPitchRange_rightDownHandler'],this),this['on'](EventType['mouseUp'],this['_setPitchRange_rightUpHandler'],this);}['_setPitchRange_rightDownHandler'](_0x4cbcc6){const _0x7431a3={_0x4b6778:0x442,_0x1fa9c3:0xc89,_0x3b7e9d:0x785,_0x2d9f85:0x67d,_0x1aa5f3:0x31d};function _0x30a29c(_0x2a49c3,_0x42e080){return _0x54a7f1(_0x42e080- -0x3f6,_0x2a49c3);}if(this[_0x30a29c(0x120c,0x785)][_0x30a29c(_0x7431a3._0x4b6778,_0x7431a3._0x1fa9c3)]['mode']!==Cesium__namespace['SceneMode'][_0x1ce72f(0x121d,0xd39)])return;if(this['_viewer']['camera']['positionCartographic']['height']>this[_0x30a29c(0x522,_0x7431a3._0x3b7e9d)]['scene']['screenSpaceCameraController']['minimumCollisionTerrainHeight'])return;this[_0x1ce72f(_0x7431a3._0x2d9f85,0x3ee)]=this['_viewer']['camera'][_0x1ce72f(0x8b0,0x1319)][_0x1ce72f(_0x7431a3._0x1aa5f3,-0x93)];function _0x1ce72f(_0x6f68d4,_0x16f72d){return _0x54a7f1(_0x6f68d4- -0x34a,_0x16f72d);}this['on'](EventType['mouseMove'],this[_0x30a29c(-0xb4c,-0xbc)],this),this['on'](EventType[_0x1ce72f(0xb9f,0xc9b)],this['_setPitchRange_cameraChangedHandler'],this);}['_setPitchRange_rightUpHandler'](_0xdd5162){const _0x336edd={_0x5db93f:0xc2e,_0x2d3c47:0x114d,_0x2b2a3b:0x142b},_0x43c194={_0x2f3ebc:0x61};function _0x2cbfc4(_0x12e5c9,_0x283fba){return _0x7afdbe(_0x283fba,_0x12e5c9- -0x35f);}function _0x199971(_0x20363f,_0x3ef39e){return _0x7afdbe(_0x20363f,_0x3ef39e- -_0x43c194._0x2f3ebc);}this[_0x2cbfc4(0xa4a,_0x336edd._0x5db93f)]['scene'][_0x2cbfc4(_0x336edd._0x2d3c47,0x6bc)][_0x2cbfc4(_0x336edd._0x2b2a3b,0x14a5)]=!![],this[_0x199971(0x1c5,0x51a)](EventType['mouseMove'],this[_0x2cbfc4(0x209,0x91e)],this),this['off'](EventType['cameraChanged'],this['_setPitchRange_cameraChangedHandler'],this);}[_0x7afdbe(0xe9f,0x568)](_0x2568d1){const _0x1e5ca8={_0x3e6fec:0x5eb,_0x151928:0x73c,_0xd8dc0a:0x1932,_0x3c9f50:0x2041,_0x2ab481:0x515,_0x30d806:0xf7e,_0x418032:0x145b},_0x2f4f75={_0x5ccdf6:0x32f};function _0xe5b808(_0x51c5ab,_0x2ecd13){return _0x7afdbe(_0x51c5ab,_0x2ecd13- -_0x2f4f75._0x5ccdf6);}function _0x162e92(_0x3fa64d,_0x1408f9){return _0x7afdbe(_0x1408f9,_0x3fa64d-0x72);}let _0x803abe=!![];const _0x4a2fd7=_0x2568d1[_0x162e92(_0x1e5ca8._0x3e6fec,0xef0)]['y']<_0x2568d1[_0xe5b808(0x888,0x55c)]['y'];if(_0x4a2fd7&&this[_0x162e92(0xe1b,_0x1e5ca8._0x151928)]['camera'][_0x162e92(_0x1e5ca8._0xd8dc0a,0x1d59)]>this['_pitch_max'])_0x803abe=![];else!_0x4a2fd7&&this['_viewer']['camera'][_0xe5b808(_0x1e5ca8._0x3c9f50,0x1591)]<this[_0x162e92(_0x1e5ca8._0x2ab481,-0x1b4)]?_0x803abe=![]:_0x803abe=!![];this['_viewer'][_0xe5b808(0x172a,_0x1e5ca8._0x30d806)]['screenSpaceCameraController'][_0xe5b808(0x13a0,_0x1e5ca8._0x418032)]=_0x803abe;}['_setPitchRange_cameraChangedHandler'](_0x5f45c4){const _0x25f340={_0x29f644:0x2109,_0x302dd7:0x3de,_0x1a5950:0x6b4,_0x457c89:0xc05,_0x5c6ee5:0x19f,_0x588615:0x545,_0x30a539:0x66c,_0x387135:0x9bb,_0x4379e4:0x701,_0x4b62ec:0x12a5,_0x3b5753:0x19fe,_0x3084f9:0x18c0,_0x5ea3a2:0x12d6,_0x101d52:0xeee,_0x4618a2:0x8ce,_0x3a7aab:0x8d2,_0x2996ba:0x1ed,_0x3cd75c:0xbe9,_0x4abbd2:0x701,_0x3cd68b:0xb3f,_0x436d9d:0x105d,_0x95bfe4:0xc05},_0x36082a={_0x3eba90:0x6a8};function _0x57e2ec(_0x33f72c,_0x380f55){return _0x7afdbe(_0x33f72c,_0x380f55- -_0x36082a._0x3eba90);}if(this['_viewer'][_0x1e0f03(0x12a5,0x1355)]['mode']!==Cesium__namespace['SceneMode'][_0x1e0f03(0x178d,_0x25f340._0x29f644)])return;function _0x1e0f03(_0x1d8b6e,_0x58b701){return _0x54a7f1(_0x1d8b6e-0x226,_0x58b701);}if(this[_0x57e2ec(0x4c8,0x701)][_0x57e2ec(-_0x25f340._0x302dd7,0xe1)][_0x1e0f03(0xe20,0xfdc)][_0x57e2ec(_0x25f340._0x1a5950,0x1ed)]>this['_viewer'][_0x57e2ec(0x1b2,_0x25f340._0x457c89)]['screenSpaceCameraController'][_0x57e2ec(-_0x25f340._0x5c6ee5,0x6da)])return;let _0x258c9e=this['_viewer']['camera']['pitch'];if(_0x258c9e>this[_0x57e2ec(_0x25f340._0x588615,_0x25f340._0x30a539)]||_0x258c9e<this[_0x1e0f03(0x49b,_0x25f340._0x387135)]){this[_0x57e2ec(0x8e4,_0x25f340._0x4379e4)][_0x1e0f03(_0x25f340._0x4b62ec,_0x25f340._0x3b5753)][_0x57e2ec(_0x25f340._0x3084f9,0xe04)][_0x57e2ec(_0x25f340._0x5ea3a2,0x10e2)]=![];if(_0x258c9e>this[_0x57e2ec(0x2b5,0x66c)])_0x258c9e=this['_pitch_max'];else _0x258c9e<this[_0x1e0f03(0x49b,0x5d3)]&&(_0x258c9e=this['_pitch_min']);const _0x25decc=this['_viewer']['camera']['positionCartographic'],_0x4f6d1d=Cesium__namespace['Cartesian3'][_0x57e2ec(0x4a0,_0x25f340._0x101d52)](_0x25decc[_0x1e0f03(_0x25f340._0x4618a2,0xd61)],_0x25decc['latitude'],Math['max'](_0x25decc[_0x57e2ec(-_0x25f340._0x3a7aab,_0x25f340._0x2996ba)],this['_pitch_minHeight']));this[_0x57e2ec(_0x25f340._0x3cd75c,_0x25f340._0x4abbd2)]['camera']['cancelFlight']();const _0x2be2f5={};_0x2be2f5['pitch']=_0x258c9e;const _0x247343={};_0x247343[_0x57e2ec(_0x25f340._0x3cd68b,0x292)]=_0x4f6d1d,_0x247343['orientation']=_0x2be2f5,this['_viewer']['camera'][_0x1e0f03(0x811,_0x25f340._0x436d9d)](_0x247343),this['_viewer'][_0x57e2ec(0x1337,_0x25f340._0x95bfe4)][_0x57e2ec(0x9d3,0xe04)][_0x1e0f03(0x1782,0x1a72)]=!![];}}[_0x54a7f1(0x11cf,0x14e8)](_0x511a62,_0x25bb24={}){const _0x1a4eaa={_0x59e2ca:0xa9a,_0x32c06d:0x69},_0x5b7cf2={_0x49f4f1:0x108},_0x17385c=this[_0x269b1b(0x106c,0x14f4)]();function _0x31f9fd(_0x2f9fb9,_0x100671){return _0x54a7f1(_0x2f9fb9- -0x36e,_0x100671);}if(!_0x17385c)return this[_0x31f9fd(0x1ed,_0x1a4eaa._0x59e2ca)]['setView']({'orientation':{'pitch':Cesium__namespace['Math']['toDegrees'](_0x511a62)}}),Promise['resolve'](![]);const _0x43a319=Cesium__namespace['Cartesian3']['distance'](_0x17385c[_0x31f9fd(0x796,0x30a)](),this['_viewer']['camera']['positionWC']);function _0x269b1b(_0x1403f6,_0x5211c4){return _0x54a7f1(_0x1403f6-_0x5b7cf2._0x49f4f1,_0x5211c4);}const _0x57b428={..._0x25bb24};return _0x57b428[_0x31f9fd(_0x1a4eaa._0x32c06d,0x609)]=_0x43a319,_0x57b428['pitch']=_0x511a62,this['flyToPoint'](_0x17385c,_0x57b428);}['setHeading'](_0x2d1b50,_0x5c41b6={}){const _0x105926={_0xc2d4f9:0x165,_0x50aaf5:0x4bd,_0x384b9a:0xa93,_0x5841f9:0xb69,_0x2d6f3d:0xef1,_0x3ebb27:0x7f,_0x4554b9:0x8e1},_0xc8c0ed={_0x52ff34:0x624},_0x126039=this['getCenter']();function _0x522c8f(_0x4f285b,_0x43a4a8){return _0x7afdbe(_0x4f285b,_0x43a4a8- -_0xc8c0ed._0x52ff34);}function _0x11ed42(_0x537bbc,_0x11d4ac){return _0x54a7f1(_0x537bbc- -0x4ae,_0x11d4ac);}if(!_0x126039)return this[_0x522c8f(-0x7c7,_0x105926._0xc2d4f9)]['setView']({'orientation':{'heading':Cesium__namespace[_0x11ed42(0xdfe,_0x105926._0x50aaf5)][_0x11ed42(_0x105926._0x384b9a,_0x105926._0x5841f9)](_0x2d1b50)}}),Promise['resolve'](![]);const _0x1572c9=Cesium__namespace[_0x522c8f(0x724,_0x105926._0x2d6f3d)][_0x11ed42(0xde3,0x15b0)](_0x126039['toCartesian'](),this['_viewer']['camera']['positionWC']),_0x1faf59={..._0x5c41b6};return _0x1faf59[_0x11ed42(-0xd7,-0x1cf)]=_0x1572c9,_0x1faf59[_0x11ed42(-0x1a1,_0x105926._0x3ebb27)]=_0x2d1b50,this[_0x522c8f(0x9f0,_0x105926._0x4554b9)](_0x126039,_0x1faf59);}[_0x7afdbe(0x8a2,0x4d8)](){const _0x3128dd={_0x5cb3ac:0x4af};function _0x21ce43(_0x5c0892,_0x4d993a){return _0x54a7f1(_0x5c0892- -_0x3128dd._0x5cb3ac,_0x4d993a);}return Route['clearLastCamera'](),this['_setCameraViewListState']=![],this['_viewer']['camera'][_0x21ce43(0x43c,0x2fd)](),this;}['cancelFlight'](){return this['cancelFlyTo']();}['getCameraView'](_0x371dd1){return getCameraView(this['camera'],_0x371dd1);}[_0x7afdbe(0x12cb,0xf41)](_0x455c02,_0x575d0f={}){const _0x2540c6={_0x428e52:0x95e,_0x109e78:0x1426,_0x44434a:0xb60,_0xdf0b8c:0x527,_0x15bae3:0x1753,_0x18aedf:0x1666,_0x2868b9:0xc12,_0x43803a:0xebc,_0x4c4066:0xbd,_0xe3c22f:0x17b3,_0x12c740:0xa9c,_0x5b841f:0x139b,_0x3ac624:0xb60,_0x26488e:0x3ce,_0x490cb4:0xd68,_0x5258cf:0x5b4,_0x2cb2c9:0x13f6,_0x33d9e9:0x1bbf},_0x54550e={_0xfb7660:0x12ee},_0x13b968={_0x4a0d66:0x10c},_0x128b31={_0x4f8ebe:0x1f9};return new Promise((_0xff1085,_0x119fd1)=>{const _0x283af5={_0x1f29dc:0xe62};function _0x17ee2a(_0x2a6125,_0x5b30db){return _0x536c(_0x2a6125-_0x128b31._0x4f8ebe,_0x5b30db);}if(!_0x455c02||_0x455c02[_0xe38666(0x131c,0xe16)]===0x0&&_0x455c02['lat']===0x0&&_0x455c02[_0x17ee2a(0x527,_0x2540c6._0x428e52)]===0x0){_0xff1085(![]);return;}isNumber(_0x575d0f)&&(_0x575d0f={'duration':_0x575d0f});let _0x471fb3=_0x575d0f[_0xe38666(0xf00,_0x2540c6._0x109e78)]??0x9c4;this[_0xe38666(_0x2540c6._0x44434a,0x143)]['camera']['positionCartographic']['height']<_0x471fb3&&(_0x471fb3=this['_viewer']['camera']['positionCartographic']['height']);Cesium__namespace['defined'](_0x455c02[_0x17ee2a(_0x2540c6._0xdf0b8c,0x8fb)])&&(_0x471fb3=_0x455c02['alt']);let _0x1b42ca;if(Cesium__namespace[_0xe38666(0x1666,0x18da)](_0x455c02['lng'])&&Cesium__namespace[_0x17ee2a(_0x2540c6._0x15bae3,0x216f)](_0x455c02['lat']))_0x1b42ca=Cesium__namespace['Cartesian3']['fromDegrees'](_0x455c02['lng'],_0x455c02['lat'],_0x471fb3);else Cesium__namespace[_0xe38666(0x1666,0xc3c)](_0x455c02['x'])&&Cesium__namespace['defined'](_0x455c02['y'])?(Cesium__namespace[_0xe38666(_0x2540c6._0x18aedf,_0x2540c6._0x2868b9)](_0x455c02['z'])&&(_0x471fb3=_0x455c02['z']),_0x1b42ca=Cesium__namespace[_0x17ee2a(0x13b9,0x10dc)][_0x17ee2a(_0x2540c6._0x43803a,0x583)](_0x455c02['x'],_0x455c02['y'],_0x471fb3)):_0x1b42ca=this[_0x17ee2a(0xc4d,0xd70)][_0x17ee2a(0x62d,-_0x2540c6._0x4c4066)][_0x17ee2a(_0x2540c6._0xe3c22f,0xfa0)];function _0xe38666(_0x556c56,_0x57d75d){return _0x536c(_0x556c56-_0x13b968._0x4a0d66,_0x57d75d);}const _0xa4a46a={..._0x575d0f,'destination':_0x1b42ca,'orientation':{'heading':Cesium__namespace[_0xe38666(0x1291,_0x2540c6._0x12c740)]['toRadians'](_0x455c02['heading']??0x0),'pitch':Cesium__namespace['Math']['toRadians'](_0x455c02['pitch']??-0x5a),'roll':Cesium__namespace['Math']['toRadians'](_0x455c02[_0x17ee2a(0x1803,0x1062)]??0x0)},'complete':()=>{function _0x39007c(_0xa8099a,_0x1a6783){return _0xe38666(_0x1a6783- -0x240,_0xa8099a);}_0x575d0f[_0x39007c(_0x283af5._0x1f29dc,0x11b6)]&&_0x575d0f['complete'](),_0xff1085(!![]);},'cancel':()=>{_0x575d0f[_0x447155(_0x54550e._0xfb7660,0x192d)]&&_0x575d0f[_0x30c025(0x1c85,0x136f)]();function _0x30c025(_0x43377e,_0x1b1a25){return _0x17ee2a(_0x1b1a25- -0x2ad,_0x43377e);}function _0x447155(_0x418644,_0x2a348f){return _0xe38666(_0x418644- -0x241,_0x2a348f);}_0xff1085(![]);}};_0x575d0f[_0x17ee2a(0x9bb,_0x2540c6._0x5b841f)]===0x0?(this[_0xe38666(_0x2540c6._0x3ac624,_0x2540c6._0x26488e)][_0x17ee2a(0x62d,_0x2540c6._0x490cb4)][_0x17ee2a(0x6bd,_0x2540c6._0x5258cf)](_0xa4a46a),_0x575d0f['complete']&&_0x575d0f[_0xe38666(_0x2540c6._0x2cb2c9,0x1b46)](),_0xff1085(!![])):this['_viewer']['camera'][_0x17ee2a(0x13cc,_0x2540c6._0x33d9e9)](_0xa4a46a);});}[_0x7afdbe(0x59e,0xc92)](_0x5f185a,_0x5a2ed5){return this['setCameraView'](_0x5f185a,_0x5a2ed5);}['flyHome'](_0x4fab77){const _0x22f1d7={_0x471713:0xf74,_0xe69ae1:0x522,_0x4e7b48:0x33c,_0x37be12:0x7a5},_0x1ae49f={_0x1bf023:0x5b},_0x455f39={_0x349932:0x10b};var _0x1c96a9,_0x18fa2f;function _0x5683c2(_0x12aa83,_0x2b2f24){return _0x54a7f1(_0x12aa83- -_0x455f39._0x349932,_0x2b2f24);}function _0x39b12e(_0x165258,_0x5bb277){return _0x54a7f1(_0x165258- -_0x1ae49f._0x1bf023,_0x5bb277);}if((_0x1c96a9=this['options'])!==null&&_0x1c96a9!==void 0x0&&(_0x1c96a9=_0x1c96a9['scene'])!==null&&_0x1c96a9!==void 0x0&&_0x1c96a9[_0x39b12e(0x522,0x4a3)])this['setCameraView'](this[_0x5683c2(0x7a5,0x41d)][_0x5683c2(_0x22f1d7._0x471713,0x5e6)][_0x39b12e(_0x22f1d7._0xe69ae1,0xef2)],_0x4fab77);else(_0x18fa2f=this[_0x5683c2(0x7a5,_0x22f1d7._0x4e7b48)])!==null&&_0x18fa2f!==void 0x0&&(_0x18fa2f=_0x18fa2f['scene'])!==null&&_0x18fa2f!==void 0x0&&_0x18fa2f['extent']&&this['flyToExtent'](this[_0x5683c2(_0x22f1d7._0x37be12,0x3a)]['scene']['extent'],_0x4fab77);}['setCameraViewList'](_0x3fd462,_0x586c4d={}){const _0x8e8695={_0x2a38ad:0x4e9,_0x19dffc:0xd77,_0x85aef1:0xa62,_0x2057a0:0x1e40};this[_0x2158b8(-0x1b5,_0x8e8695._0x2a38ad)]();function _0x332e72(_0x1d8c9d,_0x14f0eb){return _0x7afdbe(_0x1d8c9d,_0x14f0eb- -0x6b);}this[_0x2158b8(0x75c,-0x25d)]=_0x3fd462,this['_setCameraViewListOptions']=_0x586c4d,this[_0x332e72(_0x8e8695._0x19dffc,_0x8e8695._0x85aef1)]=!![];function _0x2158b8(_0x280513,_0x3d7f18){return _0x54a7f1(_0x280513- -0x45f,_0x3d7f18);}this[_0x332e72(_0x8e8695._0x2057a0,0x1831)](0x0,_0x586c4d);}[_0x54a7f1(0x123c,0xc53)](){this['cancelFlyTo']();}['proceedCameraViewList'](){const _0x19cee2={_0xdd5a93:0x9b2,_0x1172bf:0x1db8,_0x1b7cac:0x1753};function _0x5d817a(_0xf95751,_0x22052a){return _0x7afdbe(_0xf95751,_0x22052a- -0x1c);}this[_0x5d817a(_0x19cee2._0xdd5a93,0xab1)]=!![];function _0x21f8e7(_0x557ae7,_0x2137fa){return _0x54a7f1(_0x557ae7-0x1cf,_0x2137fa);}this['_setCameraViewListItem'](this['_setCameraViewListIndex'],this[_0x5d817a(_0x19cee2._0x1172bf,_0x19cee2._0x1b7cac)]);}['_setCameraViewListItem'](_0x1254b2,_0x3052fc){const _0x45df42={_0x33cad6:0x392,_0x17010:0x772,_0x46bb1d:0x1342,_0x421987:0xaec,_0x30930c:0x702,_0x55e5b8:0xd95},_0x21dee1={_0x1b01f5:0xee1},_0xaa23ec=this;if(!this[_0x43577c(_0x45df42._0x33cad6,_0x45df42._0x17010)]||_0x1254b2<0x0||_0x1254b2>=this['_setCameraViewListArr']['length']){this['_setCameraViewListState']=![];_0x3052fc!==null&&_0x3052fc!==void 0x0&&_0x3052fc[_0x220647(_0x45df42._0x46bb1d,0x1ad2)]&&_0x3052fc['complete']();return;}function _0x220647(_0x178047,_0x3b528d){return _0x54a7f1(_0x178047- -0xcf,_0x3b528d);}this['_setCameraViewListIndex']=_0x1254b2;const _0x5f415a=this[_0x220647(_0x45df42._0x421987,0x47)][_0x1254b2];function _0x43577c(_0xbac11b,_0x12f996){return _0x7afdbe(_0xbac11b,_0x12f996- -0x35b);}_0x5f415a[_0x43577c(_0x45df42._0x30930c,0xd37)]&&_0x5f415a[_0x220647(_0x45df42._0x55e5b8,0x585)]();let _0x17b38e;this[_0x220647(0xc44,0x685)](_0x5f415a,{'easingFunction':Cesium__namespace['EasingFunction'][_0x43577c(0x4d7,0x154)],..._0x3052fc,'duration':_0x5f415a['duration'],'complete':function(){const _0x31bcad={_0xac818e:0x232e};_0x5f415a['onEnd']&&_0x5f415a[_0x8d855c(0x9b1,_0x21dee1._0x1b01f5)]();const _0xf390f0=_0x5f415a['stop']??0x1;function _0x8d855c(_0x140558,_0x79233){return _0x43577c(_0x79233,_0x140558-0x68);}_0x17b38e=setTimeout(()=>{function _0xfbd1e1(_0xe65102,_0x392912){return _0x8d855c(_0x392912-0x31e,_0xe65102);}_0xaa23ec[_0xfbd1e1(_0x31bcad._0xac818e,0x18c7)](++_0x1254b2,_0x3052fc);},_0xf390f0*0x3e8);},'cancle':function(){function _0x1dd884(_0xdc1e1b,_0x4150e6){return _0x220647(_0xdc1e1b-0x2ae,_0x4150e6);}this['_setCameraViewListState']=![],clearTimeout(_0x17b38e),_0x3052fc!==null&&_0x3052fc!==void 0x0&&_0x3052fc['cancel']&&_0x3052fc[_0x1dd884(0x1729,0x111f)]();}});}[_0x54a7f1(0x12fa,0xf5a)](_0x55cffa,_0x56ee58){const _0xbc0963={_0x1365cb:0x906},_0x510f8e={_0x1bfd60:0x681};function _0x253ad0(_0xb68d3a,_0x3ebe65){return _0x7afdbe(_0xb68d3a,_0x3ebe65- -_0x510f8e._0x1bfd60);}if(!_0x55cffa)return;return this['_viewer'][_0x253ad0(_0xbc0963._0x1365cb,0xea7)](_0x55cffa,_0x56ee58);}['flyToGraphic'](_0x1e3296,_0x560601={}){const _0x5d4463={_0x56dd3f:0xde3,_0xf9ec5f:0x504,_0x520aa7:0xfc6,_0x161779:0x776,_0x36000a:0x299},_0x4c26ac={_0x1ac2bd:0xbe};function _0x40ff5e(_0x5e479f,_0x5d4431){return _0x54a7f1(_0x5e479f- -_0x4c26ac._0x1ac2bd,_0x5d4431);}if(!_0x1e3296||_0x1e3296[_0x36d79d(0xfc6,0x993)]===0x0)return Promise[_0x36d79d(_0x5d4463._0x56dd3f,_0x5d4463._0xf9ec5f)](![]);if(_0x1e3296['flyTo']){var _0x550fb5;return _0x560601['clampToGround']=(_0x550fb5=_0x1e3296['style'])===null||_0x550fb5===void 0x0?void 0x0:_0x550fb5['clampToGround'],_0x1e3296[_0x40ff5e(0x123c,0x12c6)](_0x560601);}if(!Array['isArray'](_0x1e3296))return Promise['resolve'](![]);if(_0x1e3296['length']===0x1)return _0x1e3296[0x0]['flyTo'](_0x560601);function _0x36d79d(_0x5e8502,_0x6f4187){return _0x54a7f1(_0x5e8502-0x41,_0x6f4187);}let _0xab606b;for(let _0x4626e9=0x0,_0x246032=_0x1e3296[_0x36d79d(_0x5d4463._0x520aa7,0x136f)];_0x4626e9<_0x246032;_0x4626e9++){const _0x55ac5f=_0x1e3296[_0x4626e9];if(!_0x55ac5f['getRectangle'])continue;const _0xb8dda1=_0x55ac5f['getRectangle']();if(!Cesium__namespace[_0x40ff5e(0x15c3,0x145f)](_0xb8dda1))continue;_0xab606b?_0xab606b=Cesium__namespace['Rectangle'][_0x40ff5e(_0x5d4463._0x161779,_0x5d4463._0x36000a)](_0xb8dda1,_0xab606b):_0xab606b=_0xb8dda1;}return this['flyToExtent'](_0xab606b,_0x560601);}[_0x7afdbe(0xc55,0x710)](_0x66c5ac,_0x414374={}){const _0x31fe02={_0x370198:0x14a3,_0x3b10c5:0xfbb,_0x416c76:0xd85,_0x1a2175:0xa09,_0x3953f9:0x399,_0x1e0eaf:0xa4f,_0x1e484c:0x1041},_0x33daf5={_0x8e5d21:0x28d};if(!_0x66c5ac||_0x66c5ac['length']===0x0)return Promise['resolve'](![]);function _0x30dad0(_0x49f63f,_0x548112){return _0x54a7f1(_0x548112- -0x2ce,_0x49f63f);}function _0x111d32(_0xc451d1,_0x230bbc){return _0x54a7f1(_0xc451d1- -_0x33daf5._0x8e5d21,_0x230bbc);}if(_0x66c5ac[_0x30dad0(0x7a7,0xcb7)]===0x1)return this['flyToPoint'](_0x66c5ac[0x0],_0x414374);const _0x33d62b=getRectangle(_0x66c5ac,!![]);if(!_0x33d62b)return Promise[_0x111d32(0xb15,0x241)](![]);return _0x33d62b[_0x30dad0(_0x31fe02._0x370198,_0x31fe02._0x3b10c5)]===_0x33d62b['xmax']&&_0x33d62b[_0x111d32(0x887,0x10f2)]===_0x33d62b['ymax']||_0x33d62b['xmax']-_0x33d62b['xmin']>0xc8?this[_0x30dad0(_0x31fe02._0x416c76,_0x31fe02._0x1a2175)]([_0x33d62b['xmin'],_0x33d62b['ymin'],_0x33d62b[_0x30dad0(0x797,_0x31fe02._0x3953f9)]],_0x414374):(_0x33d62b['height']=getMaxHeight(_0x66c5ac),_0x414374[_0x30dad0(_0x31fe02._0x1e0eaf,_0x31fe02._0x1e484c)]=_0x414374[_0x30dad0(0x761,_0x31fe02._0x1e484c)]||1.2,this['flyToExtent'](_0x33d62b,_0x414374));}['flyToExtent'](_0x49b879,_0x16626d={}){const _0x3644b1={_0x5b9702:0x22b,_0x3fd358:0xb09,_0x5f0fff:0x13a,_0x2f7cdf:0x648,_0x579898:0xc6b,_0x1e45b5:0x157f,_0x3d1c43:0x150a,_0x20d2e5:0x1074,_0x4fc318:0xb7},_0x1cac77={_0x3dd723:0x24d};_0x49b879 instanceof Cesium__namespace['Rectangle']&&(_0x49b879=formatRectangle(_0x49b879));const _0x2aef94=_0x49b879['xmin'],_0x6cb346=_0x49b879['xmax'],_0x25d496=_0x49b879[_0x5ad991(_0x3644b1._0x5b9702,_0x3644b1._0x3fd358)],_0x130b68=_0x49b879['ymax'],_0x1fe373=(_0x2aef94+_0x6cb346)/0x2,_0x21b3a8=(_0x25d496+_0x130b68)/0x2;function _0x5ad991(_0x56805d,_0x3fa9e6){return _0x7afdbe(_0x56805d,_0x3fa9e6- -0x239);}if(_0x1fe373<=0x1&&_0x21b3a8<=0x1)return Promise['resolve'](![]);let _0x18f66b=_0x49b879[_0x2b5826(-_0x3644b1._0x5f0fff,_0x3644b1._0x2f7cdf)]??_0x16626d['height']??0x0;if(_0x18f66b===0x0){const _0x5a9ef6={};_0x5a9ef6['min']=0x0,_0x18f66b=getHeight(this['scene'],Cesium__namespace['Cartesian3']['fromDegrees'](_0x1fe373,_0x21b3a8),_0x5a9ef6)??_0x18f66b;}const _0x44388c=Cesium__namespace['Rectangle']['fromDegrees'](_0x2aef94,_0x25d496,_0x6cb346,_0x130b68),_0xf8dcd5=Math[_0x5ad991(_0x3644b1._0x579898,0xaff)](_0x44388c['height'],_0x44388c['width'])/0x2;function _0x2b5826(_0x26f833,_0x1ef5d1){return _0x7afdbe(_0x26f833,_0x1ef5d1- -_0x1cac77._0x3dd723);}if(_0xf8dcd5>0x0){var _0x44a91a;_0x16626d['boundingRadius']=Cesium__namespace['Math'][_0x2b5826(_0x3644b1._0x1e45b5,0xc60)](_0xf8dcd5,(_0x44a91a=this['_viewer'])===null||_0x44a91a===void 0x0?void 0x0:_0x44a91a[_0x5ad991(_0x3644b1._0x3d1c43,_0x3644b1._0x20d2e5)]['globe'][_0x2b5826(-_0x3644b1._0x4fc318,0x8e5)]['maximumRadius']);}return this['flyToPoint'](new LngLatPoint(_0x1fe373,_0x21b3a8,_0x18f66b),_0x16626d);}['flyToPoint'](_0x2d08b2,_0x3acd3a={}){const _0x2cd064={_0x1ce879:0x7ad,_0xa1eed:0x214,_0x4e55c1:0x1a7,_0x4e097a:0x1058,_0x169df4:0xf70,_0x2a0451:0x6ad,_0x3b079d:0x133f,_0x16b9f6:0x880,_0x4f97ad:0xbab,_0x422cfe:0xb7c,_0x1b3e65:0xf4b,_0x30371c:0x1552,_0x296e1e:0x244,_0x8d788d:0xf0d,_0x1d94e4:0xba2,_0x352a47:0x154d,_0x22d0e7:0x13b6,_0x20617b:0x33d,_0x1b4803:0x11ee,_0x4da7b3:0x7dc,_0xc5a58f:0xcda,_0x39613c:0x7dc},_0x3f5834={_0x18f9e3:0x189b,_0x1220ad:0xf87},_0x4e8a9c={_0x3241ae:0x157};return new Promise((_0x4970b6,_0x41be59)=>{const _0x1672d2={_0x50fe03:0x1223},_0x24dfa3={_0x6b8db6:0x78},_0x103e50={_0x4d690e:0xa03,_0x4fe2d4:0x543,_0x57b656:0x1497,_0x3faf43:0xc76,_0x30719e:0xd2c,_0x390300:0xb1d};if(!_0x2d08b2){_0x4970b6(![]);return;}_0x2d08b2=LngLatPoint['parse'](_0x2d08b2);let _0x19fd7d=_0x2d08b2['toCartesian']();if(_0x3acd3a['clampToGround']){if(this[_0x590b96(0xd0a,_0x2cd064._0x1ce879)]){const _0x46fdb6={};_0x46fdb6[_0x3325ef(0x1125,0x1b7d)]=!![],getSurfaceHeight(this['_viewer']['scene'],_0x19fd7d,_0x46fdb6)[_0x3325ef(_0x2cd064._0xa1eed,_0x2cd064._0x4e55c1)](_0x6bd59c=>{_0x2d08b2[_0x5682ce(_0x103e50._0x4d690e,_0x103e50._0x4fe2d4)]=_0x6bd59c['height'];function _0x4552df(_0x1ae266,_0x1453c0){return _0x590b96(_0x1ae266,_0x1453c0-0xcb);}this[_0x4552df(_0x103e50._0x57b656,_0x103e50._0x3faf43)]['scene'][_0x4552df(_0x103e50._0x30719e,_0x103e50._0x390300)]&&(_0x2d08b2['alt']*=this['_viewer'][_0x5682ce(0x9f7,0x116d)]['verticalExaggeration']);delete _0x3acd3a[_0x4552df(0x1d8f,0x1664)];function _0x5682ce(_0x21cfca,_0x4d4abf){return _0x3325ef(_0x4d4abf-0x48d,_0x21cfca);}this['flyToPoint'](_0x2d08b2,_0x3acd3a)['then'](_0x278286=>{_0x4970b6(_0x278286);});});return;}else _0x2d08b2['alt']=0x0,_0x19fd7d=_0x2d08b2['toCartesian']();}function _0x3325ef(_0x35a318,_0x39081d){return _0x536c(_0x35a318- -0x278,_0x39081d);}let _0x392e6b=_0x3acd3a['radius']||this[_0x590b96(_0x2cd064._0x4e097a,0xef2)]()||0x64,_0x232339=_0x3acd3a['boundingRadius']||0x0;Cesium__namespace['defined'](_0x3acd3a[_0x3325ef(_0x2cd064._0x169df4,0x15df)])&&_0x3acd3a[_0x3325ef(0xf70,_0x2cd064._0x2a0451)]>0x0&&(_0x392e6b*=_0x3acd3a[_0x3325ef(0xf70,0xdbb)],_0x232339*=_0x3acd3a[_0x590b96(0x18b8,_0x2cd064._0x3b079d)]);this[_0x590b96(_0x2cd064._0x16b9f6,_0x2cd064._0x4f97ad)][_0x590b96(0xd7,0x7a2)]&&(_0x232339=0x0);Cesium__namespace['defined'](_0x3acd3a[_0x3325ef(_0x2cd064._0x422cfe,0x1a5)])&&_0x392e6b<_0x3acd3a[_0x590b96(0x1554,_0x2cd064._0x1b3e65)]&&(_0x392e6b=_0x3acd3a[_0x590b96(0x100b,0xf4b)]);Cesium__namespace['defined'](_0x3acd3a['maxHeight'])&&_0x392e6b>_0x3acd3a[_0x3325ef(-0x142,-0x445)]&&(_0x392e6b=_0x3acd3a['maxHeight']);_0x392e6b=Math['max'](_0x392e6b,this[_0x3325ef(0xce0,0xd94)]['screenSpaceCameraController']['minimumZoomDistance']),_0x392e6b=Math['min'](_0x392e6b,this[_0x3325ef(0xce0,0x362)]['screenSpaceCameraController']['maximumZoomDistance']);let _0x2aab31;if(Cesium__namespace['defined'](_0x3acd3a['pitch']))_0x2aab31=Cesium__namespace['Math'][_0x590b96(0x11ba,_0x2cd064._0x30371c)](_0x3acd3a['pitch']);else{_0x2aab31=this[_0x590b96(0x14b8,_0x2cd064._0x4f97ad)][_0x590b96(-_0x2cd064._0x296e1e,0x58b)]['pitch'];const _0x1c2436=Cesium__namespace[_0x3325ef(_0x2cd064._0x8d788d,0x1718)][_0x3325ef(_0x2cd064._0x1d94e4,0x1559)](_0x2aab31);Cesium__namespace['defined'](_0x3acd3a[_0x3325ef(0xc48,_0x2cd064._0x352a47)])&&_0x1c2436<_0x3acd3a['minPitch']&&(_0x2aab31=Cesium__namespace['Math']['toRadians'](_0x3acd3a['minPitch'])),Cesium__namespace['defined'](_0x3acd3a[_0x590b96(0xd14,0x6fc)])&&_0x1c2436>_0x3acd3a[_0x590b96(0x4ce,0x6fc)]&&(_0x2aab31=Cesium__namespace['Math']['toRadians'](_0x3acd3a['maxPitch']));}function _0x590b96(_0x4a11eb,_0x258b12){return _0x536c(_0x258b12-_0x4e8a9c._0x3241ae,_0x4a11eb);}const _0xa4035f=Cesium__namespace['defined'](_0x3acd3a['heading'])?Cesium__namespace['Math'][_0x3325ef(0x1183,_0x2cd064._0x22d0e7)](_0x3acd3a[_0x590b96(0x675,_0x2cd064._0x20617b)]):this[_0x590b96(_0x2cd064._0x1b4803,_0x2cd064._0x4f97ad)]['camera']['heading'],_0x22d217=new Cesium__namespace['HeadingPitchRange'](_0xa4035f,_0x2aab31,_0x232339?0x0:_0x392e6b),_0x15cdfc=new Cesium__namespace['BoundingSphere'](_0x19fd7d,_0x232339);this['_viewer']['trackedEntity']?(this[_0x3325ef(_0x2cd064._0x4da7b3,_0x2cd064._0xc5a58f)]['camera']['lookAt'](_0x19fd7d,_0x22d217),_0x3acd3a['complete']&&_0x3acd3a['complete'](),_0x4970b6(!![])):this[_0x3325ef(_0x2cd064._0x39613c,0x44)][_0x3325ef(0x1bc,-0x68c)][_0x590b96(0x1584,0x123c)](_0x15cdfc,{..._0x3acd3a,'offset':_0x22d217,'complete':()=>{_0x3acd3a['complete']&&_0x3acd3a[_0x18296f(_0x3f5834._0x18f9e3,_0x3f5834._0x1220ad)]();function _0x18296f(_0x5951f4,_0x3759d7){return _0x3325ef(_0x3759d7- -0xeb,_0x5951f4);}_0x4970b6(!![]);},'cancel':()=>{function _0x17fff7(_0x4af590,_0x20a897){return _0x3325ef(_0x20a897-_0x24dfa3._0x6b8db6,_0x4af590);}_0x3acd3a[_0x17fff7(0x199c,_0x1672d2._0x50fe03)]&&_0x3acd3a['cancel'](),_0x4970b6(![]);}});});}get['flyAnimationPromise'](){return this['_flyAnimationPromise']??Promise['resolve'](![]);}['openFlyAnimation'](_0x4ca11a={}){const _0x594b94={_0x2e4b0c:0x890,_0x477190:0x72e,_0x1079c2:0x1037,_0xeb73a7:0x429,_0x4709e2:0xd82,_0x32c056:0x454},_0x52e999=this['_viewer'],_0x1cb05f=_0x4ca11a['center']||this['getCameraView']();return this['_flyAnimationPromise']=new Promise((_0x50b3cd,_0x3bc8f4)=>{const _0x4c5b94={_0x38a2a9:0xe40};_0x52e999['camera']['setView']({'destination':Cesium__namespace['Cartesian3']['fromDegrees'](-85.16,13.71,0x15ef3c0)});function _0x180986(_0x75c08a,_0x204e82){return _0x536c(_0x204e82-0x2fa,_0x75c08a);}function _0x528608(_0x4ac3d1,_0x6c6485){return _0x536c(_0x6c6485- -0x15c,_0x4ac3d1);}_0x52e999[_0x180986(_0x594b94._0x2e4b0c,_0x594b94._0x477190)]['flyTo']({'destination':Cesium__namespace['Cartesian3']['fromDegrees'](_0x1cb05f['lng'],_0x1cb05f[_0x528608(0x733,_0x594b94._0x1079c2)],0x15ef3c0),'duration':_0x4ca11a['duration1']||0x2,'easingFunction':_0x4ca11a[_0x528608(_0x594b94._0xeb73a7,0x3e5)]||Cesium__namespace['EasingFunction'][_0x180986(_0x594b94._0x4709e2,_0x594b94._0x32c056)],'complete':()=>{const _0x4f0bd1={_0x5681e7:0xf41,_0x1aba0b:0x173f};let _0x310ac6=_0x1cb05f['alt']??0x15f90;function _0x2699de(_0x84ec32,_0x1e7414){return _0x180986(_0x84ec32,_0x1e7414- -0x378);}function _0x54da86(_0x2261c6,_0x409947){return _0x528608(_0x2261c6,_0x409947- -0x20a);}_0x310ac6<0x30d40&&_0x1cb05f['pitch']!==-0x5a?(_0x310ac6=_0x310ac6*1.2+0x1f40,_0x52e999['camera']['flyTo']({'destination':Cesium__namespace['Cartesian3']['fromDegrees'](_0x1cb05f['lng'],_0x1cb05f['lat'],_0x310ac6),'duration':_0x4ca11a[_0x54da86(0x33f,-0x1d8)],'easingFunction':_0x4ca11a[_0x2699de(0x1883,0x1083)],'complete':()=>{const _0x127972={_0x4bae27:0x3d3};function _0x1e4d42(_0x3a6a4c,_0x5394a3){return _0x2699de(_0x5394a3,_0x3a6a4c-_0x127972._0x4bae27);}this[_0x1e4d42(_0x4f0bd1._0x5681e7,_0x4f0bd1._0x1aba0b)](_0x1cb05f,{'duration':_0x4ca11a['duration3']||0x2,'easingFunction':_0x4ca11a['easingFunction3'],'complete':()=>{_0x50b3cd(!![]);},'cancel':()=>{_0x50b3cd(![]);}});},'cancel':()=>{_0x50b3cd(![]);}})):this['setCameraView'](_0x1cb05f,{'duration':_0x4ca11a[_0x54da86(0x13bd,_0x4c5b94._0x38a2a9)]||0x2,'easingFunction':_0x4ca11a['easingFunction3'],'complete':()=>{_0x50b3cd(!![]);},'cancel':()=>{_0x50b3cd(![]);}});},'cancel':()=>{_0x50b3cd(![]);}});}),this['_flyAnimationPromise'];}['rotateAnimation'](_0x5a3764={}){const _0x254684={_0x4d7135:0x1a7},_0x20edcb={_0x38287d:0x1fb},_0x58a0fc=this['_viewer'];function _0x2bff36(_0x23516a,_0x194778){return _0x7afdbe(_0x23516a,_0x194778- -_0x20edcb._0x38287d);}const _0xbe52c6={};_0xbe52c6[_0x2bff36(0x110a,0x1700)]=![];const _0x255c5d=_0x5a3764['center']||this['getCameraView'](_0xbe52c6),_0x333ce5=(_0x5a3764['duration']??0xa)/0x3;return new Promise((_0x2e4fa1,_0x43e895)=>{const _0x23a74c={_0x451340:0x1395,_0x5df5de:0x12a4,_0x578fe4:0x137c},_0xcb017={_0x10b30b:0x1fd,_0x29ae36:0x1558,_0x23ab97:0x7de};function _0x298cf5(_0x22278f,_0x9cfa67){return _0x2bff36(_0x22278f,_0x9cfa67- -0x4c3);}function _0x417837(_0x4e6783,_0x39ad62){return _0x2bff36(_0x39ad62,_0x4e6783- -0x10d);}_0x58a0fc['camera']['flyTo']({'destination':Cesium__namespace['Cartesian3']['fromDegrees'](_0x255c5d['lng']+0x78,_0x255c5d['lat'],_0x255c5d[_0x298cf5(0x88c,-0x3b)]),'orientation':{'heading':Cesium__namespace[_0x417837(0x11d2,0x975)][_0x417837(0x1448,0x1e02)](_0x255c5d['heading']),'pitch':Cesium__namespace['Math']['toRadians'](_0x255c5d['pitch']),'roll':Cesium__namespace['Math']['toRadians'](_0x255c5d['roll']||0x0)},'duration':_0x333ce5,'easingFunction':Cesium__namespace['EasingFunction'][_0x417837(_0x254684._0x4d7135,-0x7f4)],'complete':function(){function _0x55d41e(_0x2c2fcf,_0x26d45a){return _0x298cf5(_0x2c2fcf,_0x26d45a-0x560);}function _0x3df6a6(_0x12dc71,_0x1576b0){return _0x298cf5(_0x12dc71,_0x1576b0-0x488);}_0x58a0fc['camera']['flyTo']({'destination':Cesium__namespace[_0x3df6a6(0xa9c,0x12df)][_0x3df6a6(_0x23a74c._0x451340,0xde2)](_0x255c5d['lng']+0xf0,_0x255c5d['lat'],_0x255c5d['alt']),'orientation':{'heading':Cesium__namespace[_0x3df6a6(0x9e4,_0x23a74c._0x5df5de)]['toRadians'](_0x255c5d['heading']),'pitch':Cesium__namespace[_0x55d41e(0x156b,_0x23a74c._0x578fe4)][_0x55d41e(0xfc1,0x15f2)](_0x255c5d['pitch']),'roll':Cesium__namespace['Math'][_0x55d41e(0x1ab5,0x15f2)](_0x255c5d['roll']||0x0)},'duration':_0x333ce5,'easingFunction':Cesium__namespace['EasingFunction']['LINEAR_NONE'],'complete':function(){const _0x26bae5={_0x22b533:0x250};function _0x5b3c62(_0x4406b6,_0x56155e){return _0x3df6a6(_0x56155e,_0x4406b6- -0x28);}function _0x4a25db(_0x1e483a,_0x18f142){return _0x3df6a6(_0x18f142,_0x1e483a- -_0x26bae5._0x22b533);}_0x58a0fc['camera']['flyTo']({'destination':Cesium__namespace['Cartesian3'][_0x4a25db(0xb92,0x59b)](_0x255c5d['lng'],_0x255c5d['lat'],_0x255c5d[_0x4a25db(_0xcb017._0x10b30b,0x6ea)]),'orientation':{'heading':Cesium__namespace['Math']['toRadians'](_0x255c5d['heading']),'pitch':Cesium__namespace['Math']['toRadians'](_0x255c5d[_0x4a25db(0x143a,_0xcb017._0x29ae36)]),'roll':Cesium__namespace[_0x5b3c62(0x127c,_0xcb017._0x23ab97)]['toRadians'](_0x255c5d['roll']||0x0)},'duration':_0x333ce5,'easingFunction':Cesium__namespace['EasingFunction']['LINEAR_NONE'],'complete':function(){_0x2e4fa1(!![]);},'cancel':()=>{_0x2e4fa1(![]);}});},'cancel':()=>{_0x2e4fa1(![]);}});},'cancel':()=>{_0x2e4fa1(![]);}});});}[_0x7afdbe(0x1bb4,0x13e1)](_0x23c72a){const _0x7a6efa={_0x593740:0x11e9},_0x3b34ac={_0x22fec8:0x420};function _0x3481b9(_0x236db9,_0x4d5310){return _0x54a7f1(_0x236db9- -_0x3b34ac._0x22fec8,_0x4d5310);}if(!this['last_highlighGraphic']||!_0x23c72a)return![];return _0x23c72a===this[_0x3481b9(_0x7a6efa._0x593740,0x1599)]||_0x23c72a===this['last_highlighGraphic']['_layer'];}[_0x54a7f1(0x259,-0x2b)](){const _0x4ef55d={_0x1dfed2:0x123f,_0x1177a0:0x171,_0x4c39c4:0xc0b},_0x5ca4f7={_0x48c1c4:0x5f8},_0x330a78={_0x3a2168:0x166};function _0xbd86e0(_0x187d21,_0x132847){return _0x7afdbe(_0x187d21,_0x132847- -_0x330a78._0x3a2168);}function _0x3ea8fa(_0x3d6124,_0x15347b){return _0x7afdbe(_0x3d6124,_0x15347b- -_0x5ca4f7._0x48c1c4);}this['last_highlighGraphic']&&this['last_highlighGraphic'][_0xbd86e0(0x13b,0x321)]&&this[_0x3ea8fa(0x12ca,_0x4ef55d._0x1dfed2)][_0x3ea8fa(0x916,-_0x4ef55d._0x1177a0)](),this[_0x3ea8fa(0xa10,_0x4ef55d._0x4c39c4)]();}[_0x7afdbe(0x10aa,0x1203)](){const _0xf9076f={_0x31ad79:0xb26,_0x851456:0xd57};function _0x4d49d9(_0x252388,_0x35e6c2){return _0x7afdbe(_0x35e6c2,_0x252388- -0x208);}this['last_highlighGraphic']&&(this[_0x4d49d9(0x162f,0x1d97)]=null);function _0x10e690(_0x471a50,_0x5d79f7){return _0x54a7f1(_0x5d79f7-0xa2,_0x471a50);}this['outlineEffect']&&(this[_0x4d49d9(0x737,_0xf9076f._0x31ad79)][_0x10e690(0x102f,_0xf9076f._0x851456)]=[]);}['openHighlight'](_0x2ca9a0,_0x2006cb,_0x13a289){const _0x43a4c0={_0x2f8464:0x902,_0x17e48e:0xe3d,_0x55ff3a:0x33f,_0x5ce682:0x58f,_0x4a9da6:0xb16,_0xe7165a:0xc41,_0x19a668:0xf14,_0x3266e2:0x594},_0x5db9c8={_0x2cdbc6:0x6bf},_0xa823df={_0x194beb:0x3b0};function _0x1a5d41(_0x28673e,_0x55c6a4){return _0x7afdbe(_0x28673e,_0x55c6a4- -_0xa823df._0x194beb);}if(!this['_highlightEnabled']||_0x2006cb['enabled']===![])return;if(!_0x2ca9a0['openHighlight']){logInfo(_0x471c1a(_0x43a4c0._0x2f8464,0x1384),_0x2ca9a0);return;}function _0x471c1a(_0x131951,_0x36b411){return _0x7afdbe(_0x36b411,_0x131951- -_0x5db9c8._0x2cdbc6);}this['closeHighlight']();if(_0x2006cb['outlineEffect']){if(!this[_0x471c1a(0x280,0x2b9)]){const _0x3b1b1a={};_0x3b1b1a['eventType']=![],this['outlineEffect']=new OutlineEffect(_0x3b1b1a),this['addEffect'](this['outlineEffect']);}this[_0x1a5d41(_0x43a4c0._0x17e48e,0x58f)]['setOptions'](_0x2006cb),this[_0x1a5d41(_0x43a4c0._0x55ff3a,_0x43a4c0._0x5ce682)]['selected']=this[_0x471c1a(0x678,_0x43a4c0._0x4a9da6)][_0x1a5d41(_0x43a4c0._0xe7165a,0xa14)](_0x13a289);}else _0x2ca9a0[_0x471c1a(_0x43a4c0._0x19a668,_0x43a4c0._0x3266e2)](_0x2006cb,![],_0x13a289===null||_0x13a289===void 0x0?void 0x0:_0x13a289['pickedObject']);this['last_highlighGraphic']=_0x2ca9a0,this['_viewer'][_0x471c1a(0xbee,0xe05)]['requestRender']();}[_0x7afdbe(-0xd3,0x870)](_0x52baca,_0x47f720,_0x1ed2cb){const _0x303a5f={_0x640e79:0x613},_0x54b5b4={_0x1a203e:0x6e8},_0xed9d00={};function _0x565f1b(_0x2173ed,_0x28efeb){return _0x7afdbe(_0x2173ed,_0x28efeb- -_0x54b5b4._0x1a203e);}_0xed9d00[_0x565f1b(0xb64,0x1059)]=_0x47f720,_0xed9d00[_0x565f1b(_0x303a5f._0x640e79,0x3f6)]=_0x1ed2cb,this['_popupMgr'][_0x565f1b(0x18e,0x86b)](_0x52baca,_0xed9d00);function _0x434779(_0x888626,_0x55ba81){return _0x7afdbe(_0x55ba81,_0x888626- -0x16f);}return this;}['closePopup'](){const _0x1cd188={_0x1ca306:0xc7c,_0x1d3ccf:0x2e1,_0x2f531d:0xe0a};this['_popupMgr']&&this[_0x315ba6(_0x1cd188._0x1ca306,_0x1cd188._0x1d3ccf)][_0x315ba6(_0x1cd188._0x2f531d,0x635)]();function _0x315ba6(_0x339180,_0x34f906){return _0x54a7f1(_0x339180-0x7b,_0x34f906);}function _0x1d460a(_0x42d665,_0x70dc99){return _0x54a7f1(_0x70dc99- -0x12e,_0x42d665);}return this;}[_0x7afdbe(0x106a,0x18cc)](_0x34bc94,_0x3ed0b7,_0x4ba514={}){return this['_tooltipMgr']['open'](_0x34bc94,{'content':_0x3ed0b7,'options':_0x4ba514,'target':this}),this;}['closeTooltip'](){const _0x21d59f={_0x860f38:0x127};function _0x4fcd0f(_0x2afb4e,_0x53886f){return _0x7afdbe(_0x2afb4e,_0x53886f- -_0x21d59f._0x860f38);}function _0xa7ae39(_0x881bac,_0x26aa9f){return _0x54a7f1(_0x881bac-0x19b,_0x26aa9f);}return this['_tooltipMgr']&&this[_0x4fcd0f(0xe27,0x6b5)][_0xa7ae39(0x7c4,0xbd5)](),this;}['getContextMenu'](){const _0x3c9036={_0x565ef7:0xb2a,_0x380541:0x1017};function _0x4e0389(_0x193f0c,_0x5bf758){return _0x7afdbe(_0x193f0c,_0x5bf758- -0x6bc);}var _0x207772;function _0x4aa772(_0xb95be5,_0x37545c){return _0x7afdbe(_0x37545c,_0xb95be5- -0x72a);}return(_0x207772=this[_0x4e0389(_0x3c9036._0x565ef7,0xc0f)])===null||_0x207772===void 0x0?void 0x0:_0x207772[_0x4aa772(_0x3c9036._0x380541,0x10b6)];}[_0x54a7f1(0x1659,0x103d)](_0x2bfd86,_0x2bc9a7){const _0x40fd94={_0x18df4e:0x152c,_0x4efde4:0xdae,_0x31daf2:0x639},_0x845e3d={_0x496c2f:0x66};function _0x1a3699(_0x4da90e,_0x67207b){return _0x7afdbe(_0x67207b,_0x4da90e- -0x215);}const _0x38ce33={};function _0x3b8aa5(_0x1c2ad8,_0x1bcb68){return _0x54a7f1(_0x1bcb68- -_0x845e3d._0x496c2f,_0x1c2ad8);}return _0x38ce33[_0x1a3699(_0x40fd94._0x18df4e,_0x40fd94._0x4efde4)]=_0x2bfd86,_0x38ce33['options']=_0x2bc9a7,this[_0x3b8aa5(_0x40fd94._0x31daf2,0x1037)]=_0x38ce33,this;}['unbindContextMenu'](){this[_0x181fff(0x5f5,0xc1d)]=null;function _0x181fff(_0x482950,_0x83af4a){return _0x54a7f1(_0x83af4a- -0x480,_0x482950);}return this;}['openContextMenu'](_0x46257b){const _0x567103={_0x78ab9e:0xf99,_0xad52cd:0x1113,_0x2c8e13:0x9db},_0x44f67a={_0x3a314e:0xd3};function _0x267db9(_0x2e563a,_0xfa4249){return _0x7afdbe(_0xfa4249,_0x2e563a- -_0x44f67a._0x3a314e);}_0x46257b instanceof LngLatPoint&&(_0x46257b=_0x46257b['toCartesian']());function _0x5e5551(_0x133e5e,_0x34bd55){return _0x54a7f1(_0x133e5e- -0x477,_0x34bd55);}return this[_0x267db9(_0x567103._0x78ab9e,_0x567103._0xad52cd)][_0x5e5551(0x8ae,_0x567103._0x2c8e13)](_0x46257b,this['_contextmenuConfig']),this;}['closeContextMenu'](){const _0x474910={_0x28fe98:0x5fa};function _0x29a8a5(_0x32fbed,_0x8e4424){return _0x54a7f1(_0x32fbed- -0x45d,_0x8e4424);}this[_0x262527(0xe0f,0xfd7)]&&this['_contextmenuMgr'][_0x262527(_0x474910._0x28fe98,0x409)]();function _0x262527(_0x1165c4,_0x5ecc2e){return _0x54a7f1(_0x1165c4- -0x2f,_0x5ecc2e);}return this;}['openSmallTooltip'](_0x3395ed,_0x39e812){const _0x225599={_0x26ba34:0x417};function _0x4cb3b4(_0x5798de,_0x454b5e){return _0x7afdbe(_0x5798de,_0x454b5e- -_0x225599._0x26ba34);}return this['_smallTooltip'][_0x4cb3b4(0x12d6,0xb3c)](_0x3395ed,_0x39e812),this;}[_0x7afdbe(0x1399,0xfc3)](){const _0x188888={_0x3609b7:0xf6c,_0x1abe1c:0x9db},_0x13390a={_0x3a0b53:0x55e};function _0x215ba7(_0x3ec085,_0x276d13){return _0x7afdbe(_0x276d13,_0x3ec085- -_0x13390a._0x3a0b53);}if(!this[_0x215ba7(_0x188888._0x3609b7,_0x188888._0x1abe1c)])return;function _0x5a47bb(_0x2220e4,_0xc5c38b){return _0x7afdbe(_0xc5c38b,_0x2220e4- -0x133);}return this['_smallTooltip'][_0x5a47bb(0x724,0xa8e)](),this;}['getAvailabilityList'](){const _0x294574={_0x20166a:0x1eb},_0x24f34c={_0x3d9160:0xd9},_0x45abb6={_0x240541:0xed8,_0x3fadcf:0xc8b,_0x53b1e1:0x12c2},_0x525378={_0x24fefe:0xaa4,_0x1dcd0b:0x139a,_0x5e5c8a:0x151e},_0x20c1c9=[];this[_0x3c9ae3(0x4bc,_0x294574._0x20166a)](_0x1177ae=>{const _0x2e8720={_0x41b836:0xac7,_0x378c2b:0xd4,_0x45861f:0xcc3};function _0x262bfe(_0x31e7e0,_0xa6d54){return _0x3c9ae3(_0xa6d54,_0x31e7e0-0x157);}if(_0x1177ae[_0x262bfe(0x1213,0x1086)]){const _0x47a9e5={};_0x47a9e5['origin']='layer',_0x47a9e5['id']=_0x1177ae['id'],_0x47a9e5[_0x344bac(_0x525378._0x24fefe,_0x525378._0x1dcd0b)]=_0x1177ae[_0x344bac(_0x525378._0x5e5c8a,0x139a)],_0x47a9e5['availability']=_0x1177ae['availability'],_0x47a9e5['target']=_0x1177ae,_0x20c1c9['push'](_0x47a9e5);}function _0x344bac(_0x59978d,_0x504487){return _0x3c9ae3(_0x59978d,_0x504487-0x1f7);}_0x1177ae['eachGraphic']&&_0x1177ae['eachGraphic'](_0x208221=>{function _0x4abcbb(_0x158477,_0x308b37){return _0x262bfe(_0x158477- -0x587,_0x308b37);}function _0x5bc061(_0x3a752a,_0x41df93){return _0x262bfe(_0x41df93- -0x572,_0x3a752a);}if(_0x208221[_0x5bc061(0xb4c,0xca1)]){const _0x38b0dc={};_0x38b0dc[_0x4abcbb(0x243,0x53)]=_0x5bc061(_0x2e8720._0x41b836,_0x2e8720._0x378c2b),_0x38b0dc['layerId']=_0x1177ae['id'],_0x38b0dc['id']=_0x208221['id'],_0x38b0dc['name']=_0x208221[_0x5bc061(_0x2e8720._0x45861f,0xd88)],_0x38b0dc[_0x4abcbb(0xc8c,0xbcb)]=_0x208221['availability'],_0x38b0dc['target']=_0x208221,_0x20c1c9['push'](_0x38b0dc);}});}),this['eachEffect'](_0x28bc27=>{function _0x89668a(_0x45252a,_0x2dbe28){return _0x3c9ae3(_0x2dbe28,_0x45252a- -0x1e4);}function _0x560fee(_0x179f63,_0x795d5d){return _0x3c9ae3(_0x179f63,_0x795d5d-0x206);}if(_0x28bc27[_0x89668a(_0x45abb6._0x240541,0xaf8)]){const _0x4bc033={};_0x4bc033['origin']='effect',_0x4bc033['type']=_0x28bc27['type'],_0x4bc033[_0x89668a(0xfbf,0xcfc)]=_0x28bc27[_0x560fee(0x1118,0x13a9)],_0x4bc033[_0x560fee(0x106e,0x12c2)]=_0x28bc27[_0x560fee(_0x45abb6._0x3fadcf,_0x45abb6._0x53b1e1)],_0x4bc033[_0x560fee(0xb95,0x3cc)]=_0x28bc27,_0x20c1c9['push'](_0x4bc033);}});function _0x3c9ae3(_0x3a94b9,_0x2ecee9){return _0x54a7f1(_0x2ecee9- -_0x24f34c._0x3d9160,_0x3a94b9);}return _0x20c1c9;}[_0x7afdbe(0x1900,0x1551)](_0x118fd6=!![]){const _0x291a40={_0x208afd:0x52a,_0x3be051:0xeae},_0x334c0f={_0x75a76:0x200,_0x36b8e6:0x465},_0xb8accf={_0x15fb5f:0x117},_0x1b1bb4={_0x1328eb:0x692},_0x2dbe40={_0xf35e30:0x1102,_0x4082f7:0x11d3};this['_thingList']['forEach'](_0x5709a2=>{this['removeThing'](_0x5709a2,_0x118fd6);},this,!![]),this['_thingList']['removeAll'](),this['_controlList']['forEach'](_0x929135=>{function _0x5009f2(_0x2cccf1,_0x2ab29e){return _0x536c(_0x2cccf1-0x22f,_0x2ab29e);}if(!_0x929135||_0x929135['isPrivate'])return;this[_0x5009f2(_0x2dbe40._0xf35e30,_0x2dbe40._0x4082f7)](_0x929135,_0x118fd6);},this,!![]),this[_0x155a7b(0x96d,0x30b)]['removeAll']();function _0x155a7b(_0x3d371a,_0x2cd80e){return _0x7afdbe(_0x2cd80e,_0x3d371a- -_0x1b1bb4._0x1328eb);}this['_layerList'][_0x155a7b(0x1e1,_0x291a40._0x208afd)](_0x132526=>{if(!_0x132526||_0x132526[_0xd7d6b5(_0x334c0f._0x75a76,-_0x334c0f._0x36b8e6)])return;function _0xd7d6b5(_0x2b358d,_0x3d7841){return _0x212b86(_0x3d7841,_0x2b358d-_0xb8accf._0x15fb5f);}this['removeLayer'](_0x132526,_0x118fd6);},this,!![]);function _0x212b86(_0x552f35,_0x277c64){return _0x54a7f1(_0x277c64- -0x3e2,_0x552f35);}this['_layerList']['removeAll'](),this[_0x155a7b(0x319,0x814)]=![],this['_control']={},this[_0x155a7b(0x828,_0x291a40._0x3be051)]={},this['_thing']={};}[_0x54a7f1(0x432,0x2cf)](){const _0x1cc37c={_0x22a9cc:0x810,_0x313992:0xc7,_0x4deec2:0x847,_0x40ab6c:0xbc7,_0x432a91:0x4c1,_0x413a9b:0x34,_0x1b963e:0x9c8,_0x59b6c8:0x333};if(!this[_0x2cf21a(0xda1,_0x1cc37c._0x22a9cc)])return;try{this['_controlList'][_0x2cf21a(0x55a,_0x1cc37c._0x313992)]();}catch(_0x2c9da3){logWarn('_controlList.destroy\x20异常',_0x2c9da3);}try{this['_thingList']['destroy']();}catch(_0x41864d){logWarn('_thingList.destroy\x20异常',_0x41864d);}try{this['_mouseEvent']['destroy']();}catch(_0x32b5de){logWarn('_mouseEvent.destroy\x20异常',_0x32b5de);}try{this['_layerList'][_0x2cf21a(-0x82c,_0x1cc37c._0x313992)]();}catch(_0x1a9a9f){logWarn('_layerList.destroy\x20异常',_0x1a9a9f);}try{this[_0x5ce0a8(_0x1cc37c._0x4deec2,_0x1cc37c._0x40ab6c)]['entities'][_0x2cf21a(-0x4cc,_0x1cc37c._0x432a91)](),this['_viewer'][_0x2cf21a(0xd46,0xd14)]['primitives'][_0x2cf21a(0x5dc,_0x1cc37c._0x432a91)]();const _0x575ea7=this['_viewer'][_0x5ce0a8(0xd4b,0x134a)][_0x5ce0a8(0x754,_0x1cc37c._0x413a9b)][_0x2cf21a(0x22c,0x457)];this['_viewer'][_0x2cf21a(-_0x1cc37c._0x1b963e,0xc7)](),_0x575ea7&&(_0x575ea7[_0x5ce0a8(0x5ae,0x122)]['width']=0x1,_0x575ea7['canvas'][_0x5ce0a8(_0x1cc37c._0x59b6c8,0x19e)]=0x1,_0x575ea7['getExtension']('WEBGL_lose_context')[_0x2cf21a(0x9f2,0x851)]());}catch(_0x225f79){logWarn('_viewer.destroy异常',_0x225f79);}function _0x2cf21a(_0x53d8b4,_0x452598){return _0x54a7f1(_0x452598- -0x36b,_0x53d8b4);}function _0x5ce0a8(_0x19e9c0,_0x1412dc){return _0x7afdbe(_0x1412dc,_0x19e9c0- -0x562);}for(const _0x2f727e in this){delete this[_0x2f727e];}}}function _updateDomInnerHtml(_0x3c3dea,_0x48df7e,_0x255d4d){const _0x33a5bf={_0x3fb2aa:0xf05,_0x3ed474:0xc8f,_0x3fce40:0xf1f},_0x3b66a8={_0xf0d6fc:0x2f6},_0x240ab3={_0x3d3947:0x31};function _0x30c47d(_0x1dd5ef,_0x585f8a){return _0x7afdbe(_0x585f8a,_0x1dd5ef- -_0x240ab3._0x3d3947);}function _0x301ba4(_0x4c4893,_0x5a5685){return _0x54a7f1(_0x5a5685- -_0x3b66a8._0xf0d6fc,_0x4c4893);}const _0x8fceb2=_0x3c3dea['getElementsByClassName'](_0x255d4d);for(let _0x11ba8e=0x0;_0x11ba8e<_0x8fceb2[_0x301ba4(_0x33a5bf._0x3fb2aa,_0x33a5bf._0x3ed474)];_0x11ba8e++){_0x48df7e[_0x8fceb2[_0x11ba8e][_0x301ba4(0x65f,_0x33a5bf._0x3fce40)]]&&(_0x8fceb2[_0x11ba8e]['innerHTML']=_0x48df7e[_0x8fceb2[_0x11ba8e][_0x30c47d(0x1412,0x1c18)]]);}}class MapCompare extends BaseControl{get[_0x54a7f1(0x16ee,0x1f3e)](){return this['_mapEx'];}[_0x54a7f1(0x28b,0x74d)](){const _0x4b3671={_0x560fa7:0xb05,_0x6b38d7:0xece};function _0x56f684(_0x45d3ae,_0x226240){return _0x54a7f1(_0x45d3ae- -0x388,_0x226240);}function _0x43dadc(_0x2a4116,_0x188580){return _0x7afdbe(_0x2a4116,_0x188580- -0x429);}this['_container']=create$4('div',_0x56f684(_0x4b3671._0x560fa7,0x92e)+this[_0x43dadc(0xc8d,_0x4b3671._0x6b38d7)]);}['_addedHook'](){const _0x516acb={_0x3631f2:0x34f,_0x56f650:0x1143,_0x4bf749:0x366,_0x3e8d8d:0x1664,_0x426cea:0x49c,_0x2bfaf9:0x19ab,_0x47dae1:0xe39,_0x411954:0xda1,_0x75a30c:0x450,_0x3a4e2a:0x23e,_0x2959df:0x1be,_0x1c941e:0xe3b},_0x251e37={_0x49a4b4:0x642};!this['options'][_0xcfbfdd(_0x516acb._0x3631f2,0xd95)]&&(this[_0x31c561(-0xc0,0x3bf)]['container']['firstChild']['style'][_0x31c561(0xc52,_0x516acb._0x56f650)]=_0x31c561(0x4c1,0xe3a));const _0x1a3ac6={...this[_0x31c561(-_0x516acb._0x4bf749,0x49c)]};let _0xb292d2=_0x1a3ac6;!_0xb292d2[_0xcfbfdd(0x963,-0x99)]&&!_0xb292d2['layers']&&(_0xb292d2=merge(_0xb292d2,this['_map'][_0x31c561(0x453,0x924)]()),_0xb292d2['control']=_0xb292d2['control']||{},_0xb292d2['control']['baseLayerPicker']=!![],_0xb292d2['control']['sceneModePicker']=![]);this[_0x31c561(0x33a,0x3bf)][_0xcfbfdd(0x402,0x82f)][_0x31c561(0x1b11,0x1201)]&&(_0xb292d2[_0x31c561(_0x516acb._0x3e8d8d,0x1201)]=this['_map'][_0x31c561(0x5a2,_0x516acb._0x426cea)]['licenseUrl']);this['_mapEx']=new Map(this['_container'],_0xb292d2),this[_0x31c561(0x99f,0x3bf)]['on'](EventType[_0xcfbfdd(0x124f,_0x516acb._0x2bfaf9)],this[_0x31c561(0xec0,_0x516acb._0x47dae1)],this);function _0x31c561(_0x2cf5f6,_0x34d527){return _0x7afdbe(_0x2cf5f6,_0x34d527- -_0x251e37._0x49a4b4);}this['_map']['on'](EventType['cameraChanged'],this[_0xcfbfdd(_0x516acb._0x411954,0x35d)],this),this[_0x31c561(-0x2ea,0x3bf)][_0xcfbfdd(0xad,_0x516acb._0x75a30c)][_0x31c561(0xa29,0xd4d)]=0.001;function _0xcfbfdd(_0x2c39f3,_0x50dd56){return _0x54a7f1(_0x2c39f3- -0x4ae,_0x50dd56);}this['_mapEx']['on'](EventType['cameraChanged'],this[_0xcfbfdd(_0x516acb._0x3a4e2a,-0x561)],this),this[_0x31c561(0xb38,0xd36)][_0xcfbfdd(0xad,_0x516acb._0x2959df)]['percentageChanged']=0.001,this[_0x31c561(0x16ca,_0x516acb._0x1c941e)]();}[_0x54a7f1(0x254,-0x105)](){const _0x498bfb={_0x37c6de:0x13d9,_0x593785:0x3f1,_0x200c0a:0x8a,_0x5391d9:0xd2e},_0x55bef7={_0x3b78d5:0x2a2};clearTimeout(this['_map_timeTik']),this['_map']['off'](EventType['morphComplete'],this[_0x5030fc(0xe32,_0x498bfb._0x37c6de)],this);function _0x5030fc(_0x45a9a7,_0x4ee95e){return _0x54a7f1(_0x4ee95e-0x18c,_0x45a9a7);}this[_0x24d2bf(_0x498bfb._0x593785,0xa75)]['off'](EventType['cameraChanged'],this['_map_extentChangeHandler'],this);function _0x24d2bf(_0x2ea7ae,_0xcdaf68){return _0x54a7f1(_0xcdaf68-_0x55bef7._0x3b78d5,_0x2ea7ae);}this[_0x5030fc(0x17f4,0x12d6)]['off'](EventType['cameraChanged'],this[_0x24d2bf(_0x498bfb._0x200c0a,0x98e)],this),this['_mapEx'][_0x5030fc(0x91d,0x5be)](),delete this[_0x5030fc(_0x498bfb._0x5391d9,0x12d6)];}[_0x7afdbe(0x9e9,0x147b)](_0x9b1750){const _0x2b1190={_0xa5d0be:0x116a,_0x1b1fc1:0x1052,_0x4e04f2:0x12a6},_0x4a72ea={_0x392dd0:0x227};function _0x298680(_0x4a09f3,_0x2fd000){return _0x54a7f1(_0x4a09f3-_0x4a72ea._0x392dd0,_0x2fd000);}function _0x1d9511(_0x433dc7,_0x26e81b){return _0x7afdbe(_0x26e81b,_0x433dc7-0x8);}this['_map']['scene'][_0x1d9511(0x6c9,0xa93)]===Cesium__namespace[_0x1d9511(0xb08,_0x2b1190._0xa5d0be)]['SCENE2D']?this['_mapEx'][_0x1d9511(0x12b5,0x1705)]['screenSpaceCameraController']['enableTilt']=![]:this[_0x1d9511(0x1380,_0x2b1190._0x1b1fc1)][_0x298680(_0x2b1190._0x4e04f2,0xf5e)]['screenSpaceCameraController']['enableTilt']=!![];}['_map_extentChangeHandler'](_0x418abb){const _0x196132={_0x305443:0x12bc},_0x402d69={_0xed267:0x1a2b,_0x324d0b:0xfab,_0x3cf8a1:0xe56,_0x53dcde:0x659};clearTimeout(this['_map_timeTik']),this['_mapEx']['off'](EventType['cameraChanged'],this['_mapEx_extentChangeHandler'],this);function _0x166c87(_0x421502,_0x5174dc){return _0x54a7f1(_0x421502-0x84,_0x5174dc);}this['_updateView'](this['_map'],this[_0x166c87(0x11ce,_0x196132._0x305443)]),this['_map_timeTik']=setTimeout(()=>{function _0x5be7d8(_0x3d4904,_0x2b3601){return _0x166c87(_0x2b3601- -0x117,_0x3d4904);}function _0x35fb38(_0x30665b,_0x3f372b){return _0x166c87(_0x30665b- -0x3f2,_0x3f372b);}this[_0x5be7d8(_0x402d69._0xed267,0x10b7)]['on'](EventType[_0x5be7d8(_0x402d69._0x324d0b,_0x402d69._0x3cf8a1)],this[_0x5be7d8(0x4c8,_0x402d69._0x53dcde)],this);},0xa);}['_mapEx_extentChangeHandler'](_0x212f12){const _0x5ebdf7={_0x65843:0xa49,_0x42c914:0x133e},_0x18d113={_0x132983:0x218};clearTimeout(this['_mapEx_timeTik']),this[_0x162bc0(0x9eb,_0x5ebdf7._0x65843)]['off'](EventType['cameraChanged'],this['_map_extentChangeHandler'],this);function _0x2bbc04(_0x505619,_0x4cc2de){return _0x54a7f1(_0x4cc2de- -0x302,_0x505619);}function _0x162bc0(_0x80a0fc,_0x2bd9ca){return _0x54a7f1(_0x80a0fc-_0x18d113._0x132983,_0x2bd9ca);}this[_0x2bbc04(_0x5ebdf7._0x42c914,0x1312)](this['_mapEx'],this['_map']),this['_mapEx_timeTik']=setTimeout(()=>{function _0x2c0e8c(_0x878231,_0x210336){return _0x162bc0(_0x878231- -0x207,_0x210336);}this['_map']['on'](EventType['cameraChanged'],this[_0x2c0e8c(0x1260,0x18cb)],this);},0xa);}['_updateView'](_0x5cbdef,_0x29c2a8){const _0x41e524={};_0x41e524['simplify']=![];const _0x3f3099=_0x5cbdef['getCameraView'](_0x41e524),_0x244648={};_0x244648['duration']=0x0,_0x29c2a8['setCameraView'](_0x3f3099,_0x244648);}}register$2('mapCompare',MapCompare);class OverviewMap extends BaseControl{get['smallMap'](){const _0x40d158={_0x53d4bb:0xe8e};function _0x205b87(_0x1c4845,_0x1dd0d9){return _0x54a7f1(_0x1dd0d9-0xab,_0x1c4845);}return this[_0x205b87(_0x40d158._0x53d4bb,0xa7b)];}get[_0x7afdbe(0x616,0x7ab)](){return this['_center'];}[_0x7afdbe(-0x499,0x4b9)](){const _0x3f451e={_0x59d12c:0x7f3,_0x25e655:0x373,_0x5ba6b3:0x299,_0x3f3fc0:0x8cd,_0x1f65a8:0xdb1};this[_0x17dea1(0x4b6,0xab3)][_0x17dea1(0x9ab,0x890)]=this['options'][_0x17dea1(0x9ab,_0x3f451e._0x59d12c)]||{};function _0x3f6edb(_0x46a7ca,_0x44d4ad){return _0x7afdbe(_0x44d4ad,_0x46a7ca- -0x546);}this[_0x3f6edb(_0x3f451e._0x25e655,0xc06)]=create$4(_0x3f6edb(_0x3f451e._0x5ba6b3,_0x3f451e._0x3f3fc0),'mars3d-overviewMap\x20'+this[_0x3f6edb(_0x3f451e._0x1f65a8,0xb59)]);const _0x382402={};_0x382402['right']=_0x3f6edb(0xfb3,0xb6b);function _0x17dea1(_0x580799,_0x488e33){return _0x7afdbe(_0x488e33,_0x580799- -0x628);}_0x382402['top']='10px',this[_0x3f6edb(0xe35,0x829)](this['options']['style']||_0x382402);}[_0x54a7f1(0x1121,0x1751)](){const _0x400048={_0xb5d745:0x144,_0x1a82cc:0x1b1d};function _0x4e4d3e(_0x3a2ff2,_0x4b2ebb){return _0x7afdbe(_0x4b2ebb,_0x3a2ff2- -0x572);}this[_0x1d16c0(0x51c,0x974)](),this[_0x1d16c0(0x88b,0x2ce)]['camera']['percentageChanged']=0.01;function _0x1d16c0(_0x2a316e,_0x7790cf){return _0x54a7f1(_0x7790cf- -0x505,_0x2a316e);}this[_0x4e4d3e(0x48f,_0x400048._0xb5d745)]['on'](EventType['cameraChanged'],this[_0x1d16c0(_0x400048._0x1a82cc,0x10b4)],this),this['_map_cameraChanged']();}[_0x54a7f1(0xa4f,0xdd2)](){const _0x24b7e4={_0x456b34:0x1484},_0x378260={_0x1c68f4:0x51};this['_map'][_0x11b6fe(0xd71,0x39e)](EventType['cameraChanged'],this[_0x134d66(0x1e4e,_0x24b7e4._0x456b34)],this);function _0x134d66(_0x56009a,_0x1c70ff){return _0x54a7f1(_0x1c70ff- -0x135,_0x56009a);}function _0x11b6fe(_0x3e5b01,_0x1feca5){return _0x54a7f1(_0x1feca5-_0x378260._0x1c68f4,_0x3e5b01);}this['_smallMap']['destroy'](),delete this[_0x11b6fe(-0x7b,0xa21)];}[_0x7afdbe(0xd7c,0x17e7)](){const _0xd5c4ad={_0x2a9f63:0x849,_0x54d254:0x1937,_0xb16008:0x1115,_0xa1031b:0x461,_0x234b18:0xd31,_0x3c725c:0x12ff,_0x4ac397:0xa7c,_0x2ae49a:0x564,_0x4c6599:0xfac,_0x788b44:0x1277,_0x3efcd7:0x1f15,_0x61d5b2:0x1743,_0x2d6fc4:0x135e,_0x28f8e7:0x5d1,_0x44e2bb:0xd0d,_0x1b8242:0xf33};function _0x19d800(_0x5dfa1d,_0x868897){return _0x54a7f1(_0x868897-0x76,_0x5dfa1d);}function _0x48d272(_0x496b8a,_0x3d6905){return _0x7afdbe(_0x496b8a,_0x3d6905- -0x2c6);}if(this['_extentRectangle']){var _0x15708a;if(((_0x15708a=this[_0x19d800(0xdaa,_0xd5c4ad._0x2a9f63)]['camera']['positionCartographic'])===null||_0x15708a===void 0x0?void 0x0:_0x15708a['height'])>0xe4e1c0)this['_rectangle']=Cesium__namespace[_0x19d800(0xcb5,0x56f)][_0x19d800(_0xd5c4ad._0x54d254,_0xd5c4ad._0xb16008)];else{const _0x2613e6=this['_map']['getExtent']();this['_rectangle']=Cesium__namespace[_0x48d272(0x2e8,_0xd5c4ad._0xa1031b)]['fromDegrees'](_0x2613e6[_0x19d800(_0xd5c4ad._0x234b18,_0xd5c4ad._0x3c725c)],_0x2613e6[_0x48d272(0xed7,_0xd5c4ad._0x4ac397)],_0x2613e6['xmax'],_0x2613e6['ymax']);}}this['_extentPolygon']&&(this[_0x19d800(0xf1d,_0xd5c4ad._0x2ae49a)]=getMapExtentPositions(this['_map'][_0x19d800(0x7ea,0x10f5)]));this[_0x19d800(0xa4d,_0xd5c4ad._0x4c6599)]=this['_map']['getCenter'](!![]);if(!this[_0x19d800(0xc9c,0x926)]['flyToOptions'][_0x48d272(0x145f,_0xd5c4ad._0x788b44)]||this['options'][_0x19d800(0x1843,0xe1b)][_0x19d800(0x1271,0x1385)]===0x1){const _0x171c2c={};_0x171c2c[_0x19d800(_0xd5c4ad._0x3efcd7,_0xd5c4ad._0x61d5b2)]=![];const _0x5af39d=this['_map'][_0x19d800(_0xd5c4ad._0x2d6fc4,0x123c)](_0x171c2c);this['_smallMap']['setCameraView'](_0x5af39d,{'duration':0x0,...this['options']['flyToOptions']});}else{const _0x3e83a7=Cesium__namespace['Cartesian3']['distance'](this['_center'],this['_map'][_0x19d800(-0x2a6,_0xd5c4ad._0x28f8e7)]['positionWC']);this['_smallMap']['flyToPoint'](this[_0x19d800(0x11ed,_0xd5c4ad._0x4c6599)],{'duration':0x0,'radius':_0x3e83a7,...this['options'][_0x48d272(0x3bd,_0xd5c4ad._0x44e2bb)]});}this[_0x19d800(_0xd5c4ad._0x1b8242,0xf2e)](EventType['change']);}[_0x54a7f1(0xe79,0xf7e)](){const _0x22fca4={_0x418d10:0x34c,_0x41251f:0x1491,_0x16eb13:0x9e0,_0x44a18e:0xc3,_0x18307a:0x100f,_0x1a3a8b:0xfff,_0x35f696:0x794,_0x29aa19:0xc6d,_0x276275:0x11ac,_0x1f5bc0:0x1bb3,_0x1c6973:0xf5f,_0x1cd177:0x819,_0x1fb83e:0x4de,_0x40c917:0x489,_0x289147:0x42,_0x3f8cf7:0x1219,_0x12d5dc:0x10e6,_0xc5b3a2:0x1270,_0x539f74:0x840,_0x424764:0x21,_0x2f61f5:0x960,_0x1b7920:0xb96},_0x726934={_0x4afde4:0x1800},_0x21cf6e={_0x38939d:0x2ab},_0x437c6a={};_0x437c6a['simplify']=![];const _0xa5ce56=this['_map']['getCameraView'](_0x437c6a),_0x3a6cd2={};_0x3a6cd2['enableRotate']=![],_0x3a6cd2['enableTranslate']=![],_0x3a6cd2['enableTilt']=![],_0x3a6cd2['enableZoom']=![];const _0x13f0b3={'sceneMode':Cesium__namespace['SceneMode'][_0x58a57c(0x15b6,0x1fe1)],'cameraController':_0x3a6cd2,...this['options'][_0x56e955(0xdd4,_0x22fca4._0x418d10)]};_0x13f0b3[_0x58a57c(0x50d,0xb8e)]=_0xa5ce56;const _0x4eda4f={};_0x4eda4f['hasDefault']=![];const _0x4b8ac3={'contextmenu':_0x4eda4f,...this['options']['control']};function _0x56e955(_0xe6e7d,_0x45c83d){return _0x54a7f1(_0xe6e7d- -_0x21cf6e._0x38939d,_0x45c83d);}const _0x50e950={...this['options'][_0x56e955(_0x22fca4._0x41251f,0xa18)]};_0x50e950['show']=!![];const _0x12b693={};function _0x58a57c(_0x59580b,_0x1a2bca){return _0x7afdbe(_0x1a2bca,_0x59580b- -0x29e);}_0x12b693['scene']=_0x13f0b3,_0x12b693['control']=_0x4b8ac3,_0x12b693['basemaps']=[_0x50e950],_0x12b693['layers']=this[_0x58a57c(0x840,_0x22fca4._0x16eb13)]['layers'];const _0x330692=_0x12b693;this['_map'][_0x56e955(0x605,_0x22fca4._0x44a18e)]['licenseUrl']&&(_0x330692[_0x56e955(0x136a,0x18f4)]=this['_map']['options']['licenseUrl']);this['_smallMap']=new Map(this[_0x58a57c(0x61b,-0x459)],_0x330692);this['options'][_0x58a57c(0x434,0x82d)]&&(this['_mapExtentPositions']=getMapExtentPositions(this['_map'][_0x58a57c(_0x22fca4._0x18307a,0x164b)]),this[_0x56e955(0xae3,0x1271)]=new PolygonEntity({'positions':new Cesium__namespace['CallbackProperty'](_0x3de742=>{return this['_mapExtentPositions'];},![]),'style':{'color':_0x58a57c(0xd72,_0x22fca4._0x1a3a8b),'outline':!![],'outlineWidth':0x1,'outlineColor':_0x56e955(_0x22fca4._0x35f696,0x2dd),...this[_0x56e955(0x605,_0x22fca4._0x29aa19)]['polygon']}}),this['_smallMap'][_0x58a57c(_0x22fca4._0x276275,_0x22fca4._0x1f5bc0)][_0x58a57c(_0x22fca4._0x1c6973,0x1684)](this[_0x58a57c(0xd1e,_0x22fca4._0x1cd177)]));if(this['options'][_0x58a57c(0x25c,_0x22fca4._0x1fb83e)]){const _0x9bea1f=this['_map']['getExtent']();this[_0x58a57c(0x1644,0x1860)]=Cesium__namespace[_0x58a57c(_0x22fca4._0x40c917,_0x22fca4._0x289147)]['fromDegrees'](_0x9bea1f[_0x58a57c(_0x22fca4._0x3f8cf7,0x1948)],_0x9bea1f[_0x58a57c(0xaa4,_0x22fca4._0x12d5dc)],_0x9bea1f[_0x58a57c(0x1123,_0x22fca4._0xc5b3a2)],_0x9bea1f['ymax']),this['_extentRectangle']=new RectangleEntity({'rectangle':new Cesium__namespace[(_0x56e955(0xa9f,0x789))](_0x51efa3=>{function _0x17fa38(_0x4e992e,_0x3de1d5){return _0x58a57c(_0x3de1d5-0x1bc,_0x4e992e);}return this[_0x17fa38(0x1c02,_0x726934._0x4afde4)];},![]),'style':{'color':'rgba(0,0,255,0.2)','outline':!![],'outlineWidth':0x1,'outlineColor':'#ff7800',...this[_0x58a57c(_0x22fca4._0x539f74,0x11f8)][_0x56e955(_0x22fca4._0x424764,-0xdd)]}}),this[_0x58a57c(_0x22fca4._0x2f61f5,0x7ae)]['graphicLayer']['addGraphic'](this[_0x58a57c(0xc1a,_0x22fca4._0x1b7920)]);}}}register$2('overviewMap',OverviewMap);const icon$1=_0x54a7f1(0x178d,0x1d1a),icon=_0x7afdbe(0xb7d,0xb34);class ClockAnimate extends BaseControl{['_mountedHook'](){const _0x3766e3={_0x50acf4:0xef8},_0x5a234f={_0x3b6887:0x690},_0x3e79a9={_0x11fbca:0xa5};this['_container']=create$4('div','mars3d-clockAnimate\x20'+this[_0x5f4f4c(_0x3766e3._0x50acf4,0x116e)]);function _0x5f4f4c(_0x521436,_0x3da06f){return _0x54a7f1(_0x3da06f-_0x3e79a9._0x11fbca,_0x521436);}function _0x4d7381(_0xb974c1,_0x55ea44){return _0x7afdbe(_0xb974c1,_0x55ea44- -_0x5a234f._0x3b6887);}this['_container']['innerHTML']='\x0a\x20\x20\x20\x20\x20\x20<button\x20id=\x22btn-clockAnimate-start\x22\x20class=\x22mars3d-clockAnimate-btn\x22\x20title=\x22'+this['getLangText'](_0x5f4f4c(0x1c4e,0x1731))+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+icon$1+'\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20<button\x20id=\x22btn-clockAnimate-now\x22\x20class=\x22mars3d-clockAnimate-btn\x22\x20title=\x22返回到当前时间\x22\x20>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<svg\x20width=\x2220\x22\x20height=\x2220\x22\x20style=\x22margin-top:\x205px;\x22\x20viewBox=\x220\x200\x2048\x2058\x22\x20fill=\x22none\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<rect\x20width=\x2248\x22\x20height=\x2248\x22\x20fill=\x22white\x22\x20fill-opacity=\x220.01\x22/><rect\x20width=\x2248\x22\x20height=\x2258\x22\x20fill=\x22white\x22\x20fill-opacity=\x220.01\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M34.0234\x206.68921C31.0764\x204.97912\x2027.6525\x204\x2024\x204C12.9543\x204\x204\x2012.9543\x204\x2024C4\x2035.0457\x2012.9543\x2044\x2024\x2044C35.0457\x2044\x2044\x2035.0457\x2044\x2024C44\x2020.3727\x2043.0344\x2016.9709\x2041.3461\x2014.0377\x22\x20stroke=\x22#ffffff\x22\x20stroke-width=\x224\x22\x20stroke-linecap=\x22round\x22\x20stroke-linejoin=\x22round\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<path\x20d=\x22M31.9498\x2016.0502C31.9498\x2016.0502\x2028.5621\x2025.0947\x2027.0001\x2026.6568C25.438\x2028.2189\x2022.9053\x2028.2189\x2021.3432\x2026.6568C19.7811\x2025.0947\x2019.7811\x2022.562\x2021.3432\x2020.9999C22.9053\x2019.4378\x2031.9498\x2016.0502\x2031.9498\x2016.0502Z\x22\x20fill=\x22none\x22\x20stroke=\x22#ffffff\x22\x20stroke-width=\x224\x22\x20stroke-linejoin=\x22round\x22/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</svg>\x0a\x20\x20\x20\x20\x20\x20</button>\x0a\x20\x20\x20\x20\x20\x20<span\x20id=\x22txt-clockAnimate-time\x22\x20class=\x22time\x22\x20title=\x22当前时间\x22>\x202017-08-25\x2000:00:00\x20</span>\x0a\x20\x20\x20\x20\x20\x20<span\x20id=\x22txt-clockAnimate-all\x22\x20class=\x22time\x22\x20title=\x22总时长\x22></span>\x0a\x20\x20\x20\x20\x20\x20<input\x20id=\x22txt-clockAnimate-speed\x22\x20type=\x22number\x22\x20class=\x22mars3d-clockAnimate-speed\x22\x20value=\x221\x22\x20title=\x22速度(倍率)\x22\x20/>\x0a\x20\x20\x20\x20';}[_0x7afdbe(0x1633,0x134f)](){const _0x2a9ddc={_0x437231:0x646,_0x347522:0x116b,_0x1b48a9:0x91c,_0xedd2c4:0xec5,_0x2a0991:0xb00,_0x21f2c3:0x8ec,_0x3a6e78:0xfdc,_0x32fb87:0x86b,_0x2c8150:0x106b,_0x1470b5:0x997,_0x56be87:0x1283,_0x871d58:0xdbb,_0x55c8e8:0x1a9d,_0x8ceaad:0x1299,_0x2862fb:0xf27,_0x499ccb:0xb11,_0xb3653b:0xef4,_0x59cc62:0x1988},_0x4f552a={_0x2234e4:0xbe7,_0x3b0c01:0x108c},_0x705e81={_0x3ece75:0xf1b,_0x40c42c:0x1102,_0x1dd478:0x628},_0x4cf103={_0x57a4a4:0xb97,_0x3a3d53:0x1388},_0xbcca7c={_0x6ee0d8:0x48d,_0x111570:0x672,_0x530b31:0x1495,_0xdaf1dd:0xc23},_0x2d5eff={_0xc4a059:0x468,_0x48e12d:0x395,_0x304b86:0x66e,_0x5e3c50:0x9e1},_0x3d7f1e={_0x29256c:0xca2,_0x33f121:0x12aa},_0x28f5ef={_0x34df66:0x399},_0x1f9afe={_0x54da36:0x5e0,_0x13e9c6:0xd8,_0x477497:0x247,_0x1a8cda:0x6e9};function _0x1387fd(_0x213e4b,_0x1bffd){return _0x54a7f1(_0x1bffd-0x261,_0x213e4b);}function _0x1c40b2(_0x11b33c,_0xe6e9ad){return _0x7afdbe(_0x11b33c,_0xe6e9ad- -0x273);}const _0x32740d=this['_container']['querySelector']('#btn-clockAnimate-now');_0x32740d['addEventListener']('click',_0x11ef11=>{this[_0x256eb8(0x3fe,-_0x1f9afe._0x54da36)]['clock']['currentTime']=Cesium__namespace[_0x256eb8(0xa35,_0x1f9afe._0x13e9c6)]['now'](),this[_0x256eb8(0xfc9,0x1312)]();function _0x256eb8(_0x3f4e5f,_0x4a062a){return _0x536c(_0x3f4e5f- -0x2ae,_0x4a062a);}function _0x4f13fb(_0x154527,_0x194ef3){return _0x536c(_0x154527-0x3d,_0x194ef3);}this['fire'](EventType['click'],{'mouseEvent':_0x11ef11,'targetType':_0x256eb8(_0x1f9afe._0x477497,-0x10f),'time':this[_0x4f13fb(_0x1f9afe._0x1a8cda,0x1084)]['clock']['currentTime']});}),setTimeout(()=>{function _0x37fd6a(_0x54e91d,_0x4400f7){return _0x536c(_0x4400f7-0x2fa,_0x54e91d);}function _0x5f57fe(_0x5523f3,_0x41e090){return _0x536c(_0x41e090-_0x28f5ef._0x34df66,_0x5523f3);}this['isAdded']&&!this['listens'](EventType['click'])&&(_0x32740d[_0x37fd6a(0xb81,0x66f)]['display']=_0x5f57fe(_0x3d7f1e._0x29256c,_0x3d7f1e._0x33f121));},0x1f4);const _0x46bcbb=this[_0x1c40b2(0x1099,_0x2a9ddc._0x437231)]['querySelector']('#btn-clockAnimate-start');_0x46bcbb['addEventListener'](_0x1387fd(0xfaa,_0x2a9ddc._0x347522),_0x87db6f=>{const _0x5b9fc1={_0x109d2d:0x326};this[_0x473f07(0x78d,_0x2d5eff._0xc4a059)][_0x473f07(-_0x2d5eff._0x48e12d,_0x2d5eff._0x304b86)][_0x739732(0x1044,0x84d)]=!this[_0x739732(0x6e8,0x65b)]['clock']['shouldAnimate'];function _0x473f07(_0x552f95,_0x2e673b){return _0x1c40b2(_0x552f95,_0x2e673b- -_0x5b9fc1._0x109d2d);}function _0x739732(_0x980492,_0x31ad8d){return _0x1387fd(_0x31ad8d,_0x980492- -0x34c);}this['updateStatus'](),this['fire'](EventType['click'],{'mouseEvent':_0x87db6f,'targetType':_0x739732(_0x2d5eff._0x5e3c50,0x61b),'state':this['_map']['clock']['shouldAnimate']});}),this[_0x1c40b2(0x18c5,0x123c)]=_0x46bcbb,this['_containerTime']=this['_container'][_0x1387fd(0x18c8,0x1282)]('#txt-clockAnimate-time'),this[_0x1387fd(0x149c,0x1636)]['addEventListener'](_0x1c40b2(_0x2a9ddc._0x1b48a9,_0x2a9ddc._0xedd2c4),_0x570469=>{const _0x481dda={_0x398244:0x94};function _0x5bd906(_0x6b42fa,_0x2236b3){return _0x1c40b2(_0x2236b3,_0x6b42fa- -_0x481dda._0x398244);}const _0x147e30={};function _0x5d838f(_0x1b4fc2,_0x570abe){return _0x1387fd(_0x1b4fc2,_0x570abe- -0x6f8);}_0x147e30[_0x5d838f(_0xbcca7c._0x6ee0d8,_0xbcca7c._0x111570)]=_0x570469,_0x147e30['targetType']=_0x5d838f(_0xbcca7c._0x530b31,_0xbcca7c._0xdaf1dd),this['fire'](EventType['click'],_0x147e30);}),this['_containerTimeAll']=this[_0x1387fd(_0x2a9ddc._0x2a0991,_0x2a9ddc._0x21f2c3)][_0x1c40b2(0x565,_0x2a9ddc._0x3a6e78)]('#txt-clockAnimate-all'),this['_containerTimeAll']['addEventListener']('click',_0xfe29e6=>{const _0x1e933f={_0x2bb049:0xcd};function _0x589140(_0x2eaec1,_0x3b2460){return _0x1387fd(_0x2eaec1,_0x3b2460- -_0x1e933f._0x2bb049);}const _0x373c49={};_0x373c49['mouseEvent']=_0xfe29e6,_0x373c49['targetType']='label';function _0x31a592(_0x53f08d,_0x83b502){return _0x1c40b2(_0x83b502,_0x53f08d- -0x32e);}this[_0x589140(0x118f,0x104c)](EventType[_0x31a592(_0x4cf103._0x57a4a4,_0x4cf103._0x3a3d53)],_0x373c49);});if(this[_0x1c40b2(0xfb8,_0x2a9ddc._0x32fb87)]['format']==='duration'){const _0x44f977=Cesium__namespace[_0x1387fd(0x935,_0x2a9ddc._0x2c8150)][_0x1c40b2(0xbc2,0x57f)](this[_0x1387fd(0x202,0xa34)][_0x1c40b2(0xfc3,0x994)]['stopTime'],this['_map'][_0x1c40b2(0x13c8,0x994)][_0x1387fd(0x16c3,0x15e1)]),_0x3471fb=formatTime(_0x44f977,{'getLangText':this[_0x1387fd(_0x2a9ddc._0x1470b5,_0x2a9ddc._0x56be87)][_0x1387fd(_0x2a9ddc._0x871d58,0x534)](this)});this['_containerTimeAll'][_0x1387fd(_0x2a9ddc._0x55c8e8,0x1476)]='(共'+_0x3471fb+')';}else this['_containerTimeAll']['style']['display']=_0x1387fd(0x1a8b,_0x2a9ddc._0x8ceaad);this['_containerSpeed']=this['_container'][_0x1c40b2(_0x2a9ddc._0x2862fb,_0x2a9ddc._0x3a6e78)](_0x1387fd(0x18ad,0x19ea)),this[_0x1387fd(0x104f,_0x2a9ddc._0x499ccb)]['speed']??!![]?(this['_containerSpeed']['setAttribute']('value',this[_0x1c40b2(_0x2a9ddc._0xb3653b,0x78e)]['clock']['multiplier']),this['_containerSpeed']['addEventListener']('change',_0x2cf364=>{const _0x54df5a={_0x14146b:0xa7};function _0x1cfd57(_0x28b442,_0x45b2c){return _0x1387fd(_0x28b442,_0x45b2c- -0x34);}function _0x4a67c4(_0x544c12,_0x53f564){return _0x1c40b2(_0x53f564,_0x544c12-_0x54df5a._0x14146b);}const _0x21696e=Number(this['_containerSpeed'][_0x4a67c4(0x1556,0x1697)]||0x1);if(!isNaN(_0x21696e)){this[_0x1cfd57(_0x705e81._0x3ece75,0xa00)]['clock']['multiplier']=_0x21696e;const _0x4a8c13={};_0x4a8c13['mouseEvent']=_0x2cf364,_0x4a8c13[_0x4a67c4(_0x705e81._0x40c42c,0x1272)]=_0x21696e,this['fire'](EventType[_0x4a67c4(0x653,_0x705e81._0x1dd478)],_0x4a8c13);}})):(this['_containerSpeed']['style']['display']='none',delete this['_containerSpeed']),setTimeout(()=>{this['isAdded']&&this['_showHook'](!![]);},0x3e8),this[_0x1c40b2(0x3b6,0xa0f)]=setInterval(()=>{function _0x35e219(_0x46416e,_0x46587c){return _0x1c40b2(_0x46416e,_0x46587c- -0x7e);}this['isAdded']&&this[_0x35e219(_0x4f552a._0x2234e4,_0x4f552a._0x3b0c01)]();},0x1f4),this[_0x1387fd(_0x2a9ddc._0x59cc62,0x13b0)]();}['_showHook'](_0x543ef5){const _0x405f4d={_0x173720:0x17a5,_0x3325e2:0x17a5,_0x4b190c:0x9d4,_0x32c5df:0x1714,_0x2bf9f5:0x1925,_0x18dad3:0x1201,_0x394d95:0x1bb2},_0x2925c9={_0x1ee9b2:0x124};function _0x3e4569(_0x82d8da,_0x3c7551){return _0x54a7f1(_0x82d8da-_0x2925c9._0x1ee9b2,_0x3c7551);}var _0x25c6b0,_0x4fad20;const _0x331cc7=this[_0x1bda3f(0x815,0x1291)]['control']['timeline'],_0x271b72=_0x331cc7===null||_0x331cc7===void 0x0?void 0x0:_0x331cc7['container'];_0x271b72&&!Cesium__namespace[_0x3e4569(_0x405f4d._0x173720,0x1684)]((_0x25c6b0=_0x331cc7['options'])===null||_0x25c6b0===void 0x0||(_0x25c6b0=_0x25c6b0['style'])===null||_0x25c6b0===void 0x0?void 0x0:_0x25c6b0['left'])&&(_0x271b72['style']['left']=_0x543ef5?this['_container']['offsetWidth']+0x1+'px':'0',_0x331cc7['resize']());function _0x1bda3f(_0x4a6af3,_0x493552){return _0x7afdbe(_0x493552,_0x4a6af3- -0x1ec);}const _0x14ec74=(_0x4fad20=this[_0x1bda3f(0x815,0x816)]['controls'])===null||_0x4fad20===void 0x0?void 0x0:_0x4fad20['distanceLegend'];if(_0x14ec74&&!Cesium__namespace[_0x3e4569(_0x405f4d._0x3325e2,0x1269)](_0x14ec74[_0x3e4569(_0x405f4d._0x4b190c,0x420)]['bottom'])){const _0x2c4e3e=_0x543ef5||_0x271b72&&_0x271b72['style'][_0x1bda3f(_0x405f4d._0x32c5df,_0x405f4d._0x2bf9f5)]!=='none',_0xdd6285={};_0xdd6285['bottom']=_0x2c4e3e?'27px':_0x3e4569(_0x405f4d._0x18dad3,_0x405f4d._0x394d95),_0x14ec74['setStyle'](_0xdd6285);}}[_0x7afdbe(0x563,0xc7d)](){const _0x3bc831={_0x136b20:0x7dd,_0x4aaed4:0xa62},_0x8af0e5={_0x3b9310:0x65};function _0x100646(_0x580321,_0x5a028c){return _0x7afdbe(_0x580321,_0x5a028c- -0x4a5);}function _0x3e47b9(_0x19a6f3,_0xf125c2){return _0x7afdbe(_0x19a6f3,_0xf125c2-_0x8af0e5._0x3b9310);}this['_timeTik']&&(clearInterval(this[_0x100646(0xec3,_0x3bc831._0x136b20)]),this[_0x100646(_0x3bc831._0x4aaed4,_0x3bc831._0x136b20)]=null);}['clock_onTickHandler'](){const _0x2ca7ad={_0x595495:0x9c5,_0x5f9026:0x1212,_0x396e8e:0x852,_0x56cad0:0x74b,_0x5f41fd:0xb60,_0x446327:0x143f,_0x22401a:0x7bf,_0x109ccc:0xb4f,_0x5a3b2e:0xfd6,_0x59eed6:0x1201,_0x52eeae:0x15a2,_0x122050:0x156d,_0x48c1a0:0x183c,_0x5e8c3f:0x10e8,_0x42ecd7:0x6d2,_0x3adf20:0x143,_0x474096:0x15da,_0x3a5847:0x89c,_0x1d40c7:0x1a5a,_0xef473a:0x208},_0x5547c4={_0x277ef0:0x187};this['updateStatus']();function _0x29030f(_0xf60d38,_0x241759){return _0x7afdbe(_0x241759,_0xf60d38- -0x242);}if(this['_containerSpeed']){const _0x496c3f=Number(this['_containerSpeed']['value']);this['_map'][_0x29030f(_0x2ca7ad._0x595495,0x12d2)][_0x29030f(0xf8c,0xbef)]!==_0x496c3f&&this[_0x577255(0xa80,_0x2ca7ad._0x5f9026)]['setAttribute']('value',this['_map']['clock']['multiplier']);}function _0x577255(_0x27b3a1,_0x5830c0){return _0x54a7f1(_0x5830c0-_0x5547c4._0x277ef0,_0x27b3a1);}if(this['options'][_0x29030f(0xefa,_0x2ca7ad._0x396e8e)]===_0x577255(0x3d8,0xa70)){const _0x2dacd4=Cesium__namespace['JulianDate'][_0x577255(0xce2,_0x2ca7ad._0x56cad0)](this['_map'][_0x577255(0x980,_0x2ca7ad._0x5f41fd)][_0x29030f(_0x2ca7ad._0x446327,0x1e97)],this[_0x29030f(_0x2ca7ad._0x22401a,_0x2ca7ad._0x109ccc)]['clock']['startTime']),_0x1a4bbe=formatTime(_0x2dacd4,{'getLangText':this[_0x577255(_0x2ca7ad._0x5a3b2e,0x11a9)]['bind'](this)});this['_containerTime'][_0x29030f(_0x2ca7ad._0x59eed6,_0x2ca7ad._0x52eeae)]=_0x1a4bbe,this[_0x29030f(_0x2ca7ad._0x122050,_0x2ca7ad._0x48c1a0)]!==_0x1a4bbe[_0x577255(_0x2ca7ad._0x5e8c3f,0x110c)]&&(this['_showHook'](!![]),this[_0x577255(0x15d6,0x1708)]=_0x1a4bbe[_0x577255(_0x2ca7ad._0x42ecd7,0x110c)]);}else{const _0x25a1c1=Cesium__namespace[_0x29030f(0xdf6,0x9f1)]['toDate'](this[_0x577255(-_0x2ca7ad._0x3adf20,0x95a)][_0x29030f(0x9c5,0x1350)][_0x577255(0x1809,_0x2ca7ad._0x474096)]);this[_0x577255(0x1e7f,0x155c)]['innerHTML']=formatDate(_0x25a1c1,this[_0x29030f(_0x2ca7ad._0x3a5847,0x892)][_0x577255(_0x2ca7ad._0x1d40c7,0x1095)]||_0x29030f(0x266,_0x2ca7ad._0xef473a));}}['updateStatus'](){const _0x50b73b={_0x3dbe68:0xb67,_0x2da152:0x5ee,_0x33fdb4:0x99c,_0x416405:0xa89,_0x1598c4:0x1805,_0x4a6a78:0x11df,_0x5792b3:0x7f7,_0x489d25:0x153a,_0x1f724b:0xdc5,_0x64b07e:0x213c,_0xccda11:0x181a,_0xa66239:0xe8f,_0x1a55cd:0x188,_0x5982c2:0x1324},_0x5aef73={_0x566f32:0xb0},_0x42dfd2={_0x5a62ee:0x8b};var _0x1bab39;if(this[_0x402351(_0x50b73b._0x3dbe68,_0x50b73b._0x2da152)]===this['_map'][_0x402351(_0x50b73b._0x33fdb4,_0x50b73b._0x416405)]['shouldAnimate'])return;this['isAnimate']=this['_map']['clock'][_0x402351(_0x50b73b._0x1598c4,_0x50b73b._0x4a6a78)];function _0x4d706b(_0x1ade2f,_0x326171){return _0x7afdbe(_0x326171,_0x1ade2f-_0x42dfd2._0x5a62ee);}this[_0x4d706b(_0x50b73b._0x5792b3,0x51d)]?(this[_0x4d706b(_0x50b73b._0x489d25,0x1cda)][_0x4d706b(0xbf0,0x219)]('title',this[_0x402351(_0x50b73b._0x1f724b,0x10d2)](_0x402351(0xf61,0x173c))),this['_containerBtnStart']['innerHTML']=icon$1,this['_containerSpeed']&&(this['_containerSpeed']['style'][_0x4d706b(0x198b,_0x50b73b._0x64b07e)]='inline')):(this['_containerBtnStart']['setAttribute']('title',this[_0x4d706b(0x12db,0x1274)]('_继续')),this['_containerBtnStart'][_0x402351(0xdb3,0x12c5)]=icon,this[_0x402351(0xf45,0x113b)]&&(this[_0x402351(_0x50b73b._0xccda11,0x113b)]['style']['display']='none'));const _0x5bc2c7=this['_map']['control']['timeline'],_0x3b513c=_0x5bc2c7===null||_0x5bc2c7===void 0x0?void 0x0:_0x5bc2c7['container'];function _0x402351(_0xd088ac,_0x54de7b){return _0x54a7f1(_0x54de7b-_0x5aef73._0x566f32,_0xd088ac);}_0x3b513c&&!Cesium__namespace['defined']((_0x1bab39=_0x5bc2c7['options'])===null||_0x1bab39===void 0x0||(_0x1bab39=_0x1bab39[_0x4d706b(0x755,_0x50b73b._0xa66239)])===null||_0x1bab39===void 0x0?void 0x0:_0x1bab39['left'])&&(_0x3b513c[_0x4d706b(0x755,-_0x50b73b._0x1a55cd)]['left']=this['_container'][_0x402351(0xbe7,_0x50b73b._0x5982c2)]+0x1+'px',_0x5bc2c7['resize']());}}register$2(_0x7afdbe(0x82b,0x10b0),ClockAnimate);class Subtitles extends BaseControl{get['currentTime'](){const _0x21de4f={_0x26e24c:0x801,_0xa44ff6:0x189},_0x4d8670={_0x5aa039:0xa};function _0x12027d(_0x56ee34,_0x5c83df){return _0x54a7f1(_0x56ee34-_0x4d8670._0x5aa039,_0x5c83df);}return this[_0x12027d(_0x21de4f._0x26e24c,-_0x21de4f._0xa44ff6)];}get['currentIndex'](){return this['_currentIndex'];}get['count'](){var _0x55e508;return(_0x55e508=this['_arrTaskItem'])===null||_0x55e508===void 0x0?void 0x0:_0x55e508['length'];}get['duration'](){const _0x303313={_0x5eb4f9:0x1146},_0xbe636e={_0x573be4:0x47f};var _0xd1e7e2;const _0x1244ef=(_0xd1e7e2=this[_0x129496(_0x303313._0x5eb4f9,0xdfe)])===null||_0xd1e7e2===void 0x0?void 0x0:_0xd1e7e2['length'];function _0x7b62d6(_0x1c7379,_0x50547d){return _0x7afdbe(_0x50547d,_0x1c7379- -0x6b3);}function _0x129496(_0xece3a8,_0x3f62a7){return _0x7afdbe(_0xece3a8,_0x3f62a7- -_0xbe636e._0x573be4);}if(_0x1244ef===0x0)return 0x0;return this[_0x7b62d6(0xbca,0x12fc)][_0x1244ef-0x1]['stop'];}get['list'](){return this['options']['list'];}set['list'](_0x28be26){const _0x215588={_0x5b1efa:0x2f7},_0x1c078e={_0x29b3de:0x306};function _0x5b5911(_0xa57213,_0x12d6c1){return _0x54a7f1(_0xa57213- -_0x1c078e._0x29b3de,_0x12d6c1);}this['options'][_0x387524(0x14b4,0x12b9)]=_0x28be26;function _0x387524(_0x4a6247,_0x49c85c){return _0x7afdbe(_0x4a6247,_0x49c85c- -_0x215588._0x5b1efa);}this[_0x387524(0x14c5,0xd3f)]();}get['listDX'](){return this['_arrTaskItem'];}['_mountedHook'](){const _0x47dc70={_0x1ffb70:0x6c7,_0x2dbe98:0x9ea},_0x4830c7={_0x7de076:0x1b0};this['_container']=create$4('div','mars3d-subtitles\x20'+this['_className']);const _0x3ac8e8={};_0x3ac8e8['left']='30px',_0x3ac8e8[_0x2769fc(0x1160,_0x47dc70._0x1ffb70)]='30px';function _0x49f75d(_0x41bc84,_0x31d8c1){return _0x54a7f1(_0x41bc84- -0x28b,_0x31d8c1);}_0x3ac8e8[_0x2769fc(0x141b,0x13ba)]='30px',this['setStyle'](this['options']['style']||_0x3ac8e8);function _0x2769fc(_0x328d50,_0x5aedf8){return _0x7afdbe(_0x328d50,_0x5aedf8- -_0x4830c7._0x7de076);}this[_0x49f75d(0xb7d,_0x47dc70._0x2dbe98)]();}['_setOptionsHook'](_0x2fb9bc,_0x1bd263){const _0x39fb76={_0x5c682f:0x12ab},_0x45a761={_0x50cfed:0x305};function _0x218fae(_0x2ebfe6,_0x56a026){return _0x7afdbe(_0x2ebfe6,_0x56a026- -_0x45a761._0x50cfed);}_0x1bd263[_0x218fae(0x12a5,_0x39fb76._0x5c682f)]&&this['_updateList']();}['getItemById'](_0x1a4c59){const _0x25dc9d={_0x363a65:0x16bf},_0x517432={_0x5d8c95:0x4f9};function _0x3016ca(_0x4642f6,_0x337046){return _0x7afdbe(_0x337046,_0x4642f6- -_0x517432._0x5d8c95);}for(let _0x421b38=0x0;_0x421b38<this[_0x3016ca(0xd84,_0x25dc9d._0x363a65)]['length'];_0x421b38++){const _0x580e84=this['_arrTaskItem'][_0x421b38];if(_0x580e84['id']===_0x1a4c59)return _0x580e84;}return null;}['addItem'](_0x1eaed7){const _0x2be04f={_0x9e4a72:0x4f1};this['options'][_0x352af0(0xf80,0xcf9)][_0x352af0(0xb06,0xfb9)](_0x1eaed7);function _0x352af0(_0x4652d2,_0x182316){return _0x54a7f1(_0x4652d2- -0x402,_0x182316);}this['_updateList']();function _0x12d545(_0x16b330,_0x30d55c){return _0x7afdbe(_0x16b330,_0x30d55c- -_0x2be04f._0x9e4a72);}return this[_0x12d545(0x5ff,0xd8c)][this[_0x352af0(0xc4d,0xd25)][_0x12d545(0x63f,0xcc2)]-0x1];}['updateItem'](_0x1bcde9){const _0x4351cb={_0x4ec460:0xeef,_0x859c79:0xbca},_0x1ee60f={_0x5eb136:0x3bb};let _0x48b514;function _0x162627(_0x19beff,_0x1d2619){return _0x54a7f1(_0x1d2619- -_0x1ee60f._0x5eb136,_0x19beff);}for(let _0x2ffeb8=0x0;_0x2ffeb8<this['_arrTaskItem'][_0x162627(_0x4351cb._0x4ec460,_0x4351cb._0x859c79)];_0x2ffeb8++){const _0x5b8990=this['_arrTaskItem'][_0x2ffeb8];_0x1bcde9['id']===_0x5b8990['id']&&(this['options']['list'][_0x2ffeb8]=_0x1bcde9,_0x48b514=_0x2ffeb8);}return this['_updateList'](),this['_arrTaskItem'][_0x48b514];}['removeItem'](_0x132b24){const _0x376f88={_0x139cb9:0x28b};function _0x313db2(_0xdf1de8,_0x275c13){return _0x7afdbe(_0x275c13,_0xdf1de8- -_0x376f88._0x139cb9);}function _0xdabfed(_0x1f325d,_0x413615){return _0x7afdbe(_0x1f325d,_0x413615- -0x508);}for(let _0x81766a=0x0;_0x81766a<this['_arrTaskItem']['length'];_0x81766a++){const _0x402f8b=this['_arrTaskItem'][_0x81766a];if(_0x402f8b['id']===_0x132b24)return this['options']['list'][_0x313db2(0x78e,0x14b)](_0x81766a,0x1),this['_arrTaskItem'][_0x313db2(0x78e,0x1052)](_0x81766a,0x1),!![];}}['_updateList'](){const _0x502fd2={_0x79d644:0x809,_0x122c6a:0x1afb,_0x30911d:0x1432,_0x443e3e:0xb54,_0x480482:0x11a2,_0xee5068:0x1103,_0x3177c0:0x17ff,_0x5bbe91:0x1f2d,_0xf42efd:0x15cc,_0x4dd3e1:0x28b,_0x3fee6f:0x71b,_0x10543d:0x4c4},_0x347810={_0x1783f6:0xa75},_0x52aacc={_0x8c7747:0x11},_0x2ad414={_0x19fdc3:0x17e};this[_0x16062a(_0x502fd2._0x79d644,0x4f7)]&&(this['_container'][_0x568563(_0x502fd2._0x122c6a,_0x502fd2._0x30911d)]='');const _0x1c8f0e=[];function _0x16062a(_0x570e44,_0x3c3516){return _0x54a7f1(_0x570e44-_0x2ad414._0x19fdc3,_0x3c3516);}const _0x5595ec=this[_0x16062a(0xa2e,0x100d)]['list'];function _0x568563(_0x2b0571,_0x48b9d4){return _0x7afdbe(_0x2b0571,_0x48b9d4- -_0x52aacc._0x8c7747);}if(_0x5595ec)for(let _0x48b7dd=0x0;_0x48b7dd<_0x5595ec[_0x568563(_0x502fd2._0x443e3e,_0x502fd2._0x480482)];_0x48b7dd++){const _0x1fccc9={'id':_0x5595ec[_0x48b7dd]['id']??getGlobalId(),'index':_0x48b7dd,..._0x5595ec[_0x48b7dd]};let _0x37cf6f;_0x1c8f0e['length']>0x0&&(_0x37cf6f=_0x1c8f0e[_0x1c8f0e[_0x16062a(_0x502fd2._0xee5068,0x1688)]-0x1],!Cesium__namespace['defined'](_0x1fccc9['start'])&&(Cesium__namespace[_0x16062a(_0x502fd2._0x3177c0,_0x502fd2._0x5bbe91)](_0x1fccc9['delay'])?_0x1fccc9['start']=_0x37cf6f['_stop']+_0x1fccc9[_0x16062a(_0x502fd2._0xf42efd,0x1f27)]:_0x1fccc9['start']=_0x37cf6f[_0x568563(0x12fa,0x18e4)]+0x1));const _0x4216cf=new TaskItem(_0x1fccc9);_0x4216cf['_activateWork']=_0x328236=>{this['_container']['innerHTML']=_0x328236['text'];},_0x4216cf['_disableWork']=_0x1ec1bd=>{function _0x1b2964(_0x1f4050,_0x323442){return _0x16062a(_0x323442- -0x186,_0x1f4050);}this[_0x1b2964(_0x347810._0x1783f6,0x683)]['innerHTML']='';},_0x4216cf[_0x568563(_0x502fd2._0x4dd3e1,_0x502fd2._0x3fee6f)]<0x1&&logWarn('Subtitles数据有误提示:当前数据执行duration时长有误',_0x4216cf),_0x37cf6f&&_0x37cf6f['_stop']>_0x4216cf[_0x16062a(_0x502fd2._0x10543d,0xe8c)]&&logWarn('Subtitles数据有误提示:前一条数据stop结束时间>当前数据start开始时间',_0x37cf6f,_0x4216cf),_0x4216cf['_parent']=this,_0x1c8f0e['push'](_0x4216cf);}this['_arrTaskItem']=_0x1c8f0e;}[_0x7afdbe(0x1beb,0x134f)](){const _0x29417b={_0x1e903f:0x8ae};function _0xe68586(_0x562122,_0x5e544d){return _0x54a7f1(_0x5e544d- -0x23f,_0x562122);}this['_timeTik']=setInterval(()=>{function _0x49ce6e(_0x3f651f,_0x34cb57){return _0x536c(_0x34cb57-0x3c3,_0x3f651f);}this['isAdded']&&this[_0x49ce6e(-0x17d,_0x29417b._0x1e903f)]();},0x1f4),this[_0xe68586(0x829,0x3d3)]();}[_0x54a7f1(0xa4f,0xdd2)](){this['_timeTik']&&(clearInterval(this['_timeTik']),this['_timeTik']=null);}[_0x7afdbe(0xd53,0x840)](){const _0x4e5422={_0x350151:0x17c9,_0x2cfa43:0x7aa,_0x64c89:0x395,_0x8554d4:0xd3a,_0x58ba44:0xe20},_0x1f67ca={_0xe78a6d:0x22f};if(!this[_0x34a8c1(0x1651,0x1f81)]||this[_0x34a8c1(0x10ad,_0x4e5422._0x350151)]['length']===0x0)return;const _0x4169fd=this[_0x34a8c1(0x831,-0xe8)][_0x49e0b1(0x29a,_0x4e5422._0x2cfa43)];function _0x34a8c1(_0x1cb3ca,_0x4b8478){return _0x54a7f1(_0x1cb3ca-0x5e,_0x4b8478);}this['_currentTime']=Cesium__namespace['JulianDate'][_0x49e0b1(0x73b,_0x4e5422._0x64c89)](_0x4169fd['currentTime'],_0x4169fd['startTime']);function _0x49e0b1(_0x7734a7,_0x3a9c71){return _0x54a7f1(_0x3a9c71- -_0x1f67ca._0xe78a6d,_0x7734a7);}for(let _0x58342a=0x0;_0x58342a<this['_arrTaskItem']['length'];_0x58342a++){const _0x49dd18=this[_0x49e0b1(_0x4e5422._0x8554d4,_0x4e5422._0x58ba44)][_0x58342a],_0x432d35=_0x49dd18['update'](this['_currentTime']);_0x432d35&&(this['_currentIndex']=_0x49dd18['options']['index']);}}}register$2(_0x7afdbe(0x8b8,0x735),Subtitles);const _0x3d2038={};_0x3d2038['__proto__']=null,_0x3d2038['BaseControl']=BaseControl,_0x3d2038['Animation']=Animation,_0x3d2038[_0x54a7f1(0x1478,0x14b9)]=BaseLayerPicker,_0x3d2038['FullscreenButton']=FullscreenButton,_0x3d2038['Geocoder']=Geocoder,_0x3d2038[_0x54a7f1(0x1012,0x5fc)]=HomeButton,_0x3d2038['NavigationHelpButton']=NavigationHelpButton,_0x3d2038['ProjectionPicker']=ProjectionPicker,_0x3d2038[_0x7afdbe(0x1430,0x18bf)]=SceneModePicker,_0x3d2038[_0x54a7f1(0x8ae,0xeca)]=Timeline,_0x3d2038[_0x54a7f1(0x1383,0x196d)]=VRButton,_0x3d2038['LocationBar']=LocationBar,_0x3d2038['MouseDownView']=MouseDownView,_0x3d2038[_0x7afdbe(0x111a,0x71e)]=Zoom,_0x3d2038['ToolButton']=ToolButton,_0x3d2038[_0x7afdbe(0xaad,0xceb)]=Compass,_0x3d2038[_0x54a7f1(0x765,0x4d4)]=CubeView,_0x3d2038[_0x54a7f1(0x1525,0x1ac0)]=DistanceLegend,_0x3d2038['MapSplit']=MapSplit,_0x3d2038['MapCompare']=MapCompare,_0x3d2038[_0x54a7f1(0xd7f,0x49c)]=OverviewMap,_0x3d2038['ClockAnimate']=ClockAnimate,_0x3d2038[_0x7afdbe(-0x2df,0x4c2)]=Subtitles;var index$1=_0x3d2038;class BaiduPOI{constructor(_0x442cd6={}){const _0x2b2f89={_0x10c835:0x623,_0x4b0520:0xd01,_0x4c13cb:0x9e4,_0x397497:0xeeb,_0x28f917:0x12c4,_0x287bea:0xe80};this['options']=_0x442cd6,this[_0x53de55(_0x2b2f89._0x10c835,0x46e)]=0x0;function _0x3492e9(_0xfb08f5,_0x51cd49){return _0x54a7f1(_0x51cd49- -0x137,_0xfb08f5);}function _0x53de55(_0x4c7ee4,_0x16c0ab){return _0x54a7f1(_0x16c0ab- -0x195,_0x4c7ee4);}_0x442cd6['key']?this['_keys']=Array['isArray'](_0x442cd6[_0x53de55(_0x2b2f89._0x4b0520,0xeeb)])?_0x442cd6[_0x53de55(_0x2b2f89._0x4c13cb,_0x2b2f89._0x397497)]:[_0x442cd6['key']]:this['_keys']=baiduArr,this[_0x3492e9(_0x2b2f89._0x28f917,_0x2b2f89._0x287bea)]=_0x442cd6['city']||'全国';}get['keys'](){return this['_keys'];}set['keys'](_0x52a79e){this['_keys']=_0x52a79e;}get[_0x54a7f1(0x1080,0xdc3)](){const _0x204da5={_0x5d68f8:0x11d2},_0x98d3b2={_0x21df26:0x4d2},_0x2dd908=this[_0x395950(0x68b,0xfe0)]++%this[_0x44f777(_0x204da5._0x5d68f8,0x1c26)]['length'];function _0x44f777(_0x11ef51,_0x570020){return _0x7afdbe(_0x570020,_0x11ef51- -_0x98d3b2._0x21df26);}function _0x395950(_0x483c8d,_0x455535){return _0x54a7f1(_0x483c8d-0x88,_0x455535);}return this['_keys'][_0x2dd908];}['_formatPOIData'](_0xa65fb3){const _0xf62cc4={_0x5edcfd:0x6a1,_0x455302:0xe5a,_0x525a42:0xe8a,_0x37c0c2:0xe79,_0x5ffb0b:0x82c,_0x59fefe:0x614,_0x16a2e9:0x194a,_0x558b38:0x1ef},_0x1656ba={_0x27414b:0x2f6},_0x4172b3=[];function _0x93ec8(_0x1cd560,_0x150f85){return _0x54a7f1(_0x150f85- -0x422,_0x1cd560);}function _0x4f144f(_0xaf2dd7,_0x278d66){return _0x54a7f1(_0x278d66- -_0x1656ba._0x27414b,_0xaf2dd7);}for(let _0x30c7e7=0x0;_0x30c7e7<_0xa65fb3[_0x4f144f(_0xf62cc4._0x5edcfd,0xc8f)];_0x30c7e7++){var _0x3fb643,_0x4029c7;const _0x5e5b2f=_0xa65fb3[_0x30c7e7];let _0x294d81=[];_0x5e5b2f[_0x4f144f(0xf50,0xdeb)]&&(_0x294d81=gcj2wgs([_0x5e5b2f['location']['lng'],_0x5e5b2f['location']['lat']]));const _0x13cfa5={};_0x13cfa5['id']=_0x5e5b2f['uid'],_0x13cfa5['name']=_0x5e5b2f[_0x93ec8(0xc67,_0xf62cc4._0x455302)],_0x13cfa5[_0x4f144f(_0xf62cc4._0x525a42,0x1041)]=_0x294d81[0x0],_0x13cfa5['lat']=_0x294d81[0x1],_0x13cfa5['type']=((_0x3fb643=_0x5e5b2f['detail_info'])===null||_0x3fb643===void 0x0?void 0x0:_0x3fb643['tag'])??_0x5e5b2f['tag'],_0x13cfa5[_0x4f144f(0x17cf,_0xf62cc4._0x37c0c2)]=_0x5e5b2f['province']+_0x5e5b2f['city']+(_0x5e5b2f[_0x4f144f(0xbd9,0x107d)]||_0x5e5b2f[_0x93ec8(_0xf62cc4._0x5ffb0b,0x2c6)]||''),_0x13cfa5['address']=_0x5e5b2f[_0x4f144f(0x19b0,0x104c)],_0x13cfa5['tel']=_0x5e5b2f[_0x93ec8(0x108b,_0xf62cc4._0x59fefe)]||'',_0x13cfa5[_0x4f144f(_0xf62cc4._0x16a2e9,0x12b2)]=(_0x4029c7=_0x5e5b2f[_0x93ec8(0xde0,0x634)])===null||_0x4029c7===void 0x0?void 0x0:_0x4029c7['detail_url'],_0x13cfa5['info']=_0x5e5b2f,_0x13cfa5[_0x93ec8(-_0xf62cc4._0x558b38,0x634)]=_0x5e5b2f['detail_info'],_0x4172b3['push'](_0x13cfa5);}return _0x4172b3;}['_getKeywords'](_0x14e525){function _0x335bc2(_0x7f6040,_0x263ce4){return _0x7afdbe(_0x263ce4,_0x7f6040- -0x12a);}function _0x48eab4(_0x3308e8,_0xc83776){return _0x7afdbe(_0xc83776,_0x3308e8- -0x72a);}if(isString(_0x14e525))return _0x14e525[_0x48eab4(0x30,-0x1af)](/ /gm,'$')[_0x48eab4(0x30,-0x930)](/,/gm,'$');else{if(Array['isArray'](_0x14e525))return _0x14e525[_0x335bc2(0x14f9,0xada)]('$');}return _0x14e525;}[_0x7afdbe(0x11c2,0x1030)](_0xd6af49){const _0x366472={_0x4e64ae:0x91e,_0x35a0fc:0x38b,_0x3e4ab6:0x3ad,_0x26b8ec:0x656,_0x374c68:0x10b,_0x431772:0x459,_0x1a9f38:0x1158,_0x5d13b5:0x1ba6},_0x9b2b08={_0x497711:0x818},_0x35d97a={_0x35cdd4:0xfa0,_0x479551:0xd7e,_0x27e3f9:0x1674,_0x1d0be0:0xeba,_0x519873:0xef2,_0x32e571:0x33d,_0x4f32e2:0xe2d},_0x42046a={_0x495339:0x6d8},_0xa7dd0={_0x4398d8:0x1df};if(this[_0xb33f30(0xdc8,_0x366472._0x4e64ae)])return Promise['resolve']();const _0x139b8d={};_0x139b8d['ak']=this['key'],_0x139b8d['output']='json',_0x139b8d['language']=_0xb33f30(_0x366472._0x35a0fc,-_0x366472._0x3e4ab6);function _0xb33f30(_0x4957dd,_0x2b1a5a){return _0x54a7f1(_0x4957dd- -_0xa7dd0._0x4398d8,_0x2b1a5a);}_0x139b8d[_0x5ede7c(_0x366472._0x26b8ec,0x903)]=_0x5ede7c(-_0x366472._0x374c68,-_0x366472._0x431772),_0x139b8d['ret_coordtype']='gcj02ll';const _0x80fdcb=_0x139b8d,_0x10f98d=LngLatPoint[_0xb33f30(0x1dc,0x24e)](_0xd6af49[_0xb33f30(0xf02,0x1487)]);_0x80fdcb[_0xb33f30(0xf02,0xa57)]=_0x10f98d[_0xb33f30(0x10db,0xd0f)]+','+_0x10f98d[_0xb33f30(_0x366472._0x1a9f38,_0x366472._0x5d13b5)],this['_getAddress_ing']=!![];const _0x21d0cc={'url':'https://api.map.baidu.com/reverse_geocoding/v3/',...this['options']};function _0x5ede7c(_0x56e75a,_0x1c423b){return _0x7afdbe(_0x1c423b,_0x56e75a- -_0x42046a._0x495339);}return _0x21d0cc['queryParameters']=_0x80fdcb,Cesium__namespace[_0x5ede7c(0x108b,0xdac)]['fetchJson'](_0x21d0cc)['then'](_0x5bf96a=>{this[_0xd483ad(_0x35d97a._0x35cdd4,_0x35d97a._0x479551)]=![];if(_0x5bf96a[_0xd483ad(0x1131,_0x35d97a._0x27e3f9)]!==0x0){console['log']('未查询到相关结果!',_0x5bf96a);return;}const _0x324f02=_0x5bf96a[_0xd483ad(0x697,_0x35d97a._0x1d0be0)],_0x1259d2={};_0x1259d2['address']=_0x324f02['formatted_address'],_0x1259d2[_0xd483ad(_0x35d97a._0x519873,0x1095)]=_0x324f02[_0xd483ad(0x624,_0x35d97a._0x32e571)],_0x1259d2[_0xd483ad(_0x35d97a._0x4f32e2,0x1410)]=_0x324f02[_0xd483ad(0x14b5,0x1d48)];function _0x288fdf(_0x437f01,_0x170a3e){return _0xb33f30(_0x170a3e-0xcd,_0x437f01);}const _0x3664f2=_0x1259d2;_0xd6af49['success']&&_0xd6af49['success'](_0x3664f2);function _0xd483ad(_0x376c5e,_0x2fa23d){return _0xb33f30(_0x376c5e-0x1d8,_0x2fa23d);}return _0x3664f2;})['catch'](_0x156ba1=>{this[_0x385653(0xb5c,0x299)]=![];function _0x385653(_0x25c62d,_0x3d43a1){return _0x5ede7c(_0x25c62d-0x5f,_0x3d43a1);}logError('BaiduPOI\x20请求出错',_0x156ba1);function _0x63c863(_0x198fcd,_0x2651f4){return _0xb33f30(_0x2651f4-0x176,_0x198fcd);}_0xd6af49[_0x63c863(_0x9b2b08._0x497711,0x1066)]&&_0xd6af49['error']('请求出错',_0x156ba1);});}['autoTip'](_0x45110d){const _0x75bcd5={_0x529625:0x116d,_0x2b5e67:0x149c,_0x56eb60:0x1dec,_0x4bc4bb:0x903,_0xf14e30:0x634,_0x3d6718:0x47c,_0x3b354b:0x1218,_0x1621ad:0x1892,_0x5b90f3:0x82c},_0x541f9a={_0x219b32:0x1a7d,_0x1a879c:0x1247,_0x2a9455:0xa97},_0x10919b={_0x4378c0:0xdbf,_0x3b8578:0xf74,_0x2a17ff:0x9ed,_0x4e636b:0x14b7,_0x360e0d:0xa52,_0x4f0d92:0xd51,_0x40221a:0x10ff,_0x353993:0xc35,_0x2a9aac:0xd65,_0x5f48b1:0x549},_0x85e77={_0x189c3f:0x3ab},_0x2bdca5={};_0x2bdca5['ak']=this['key'],_0x2bdca5['output']='json';function _0x519e2a(_0x1e3ec8,_0x3200fa){return _0x54a7f1(_0x1e3ec8-0x279,_0x3200fa);}_0x2bdca5['ret_coordtype']=_0x490d3e(_0x75bcd5._0x529625,0x716);const _0x3c22eb=_0x2bdca5;Cesium__namespace['defined'](this['_city'])&&(_0x3c22eb['region']=this['_city'],_0x3c22eb['city_limit']=!![]);Cesium__namespace['defined'](_0x45110d['city'])&&(_0x3c22eb['region']=_0x45110d['city'],_0x3c22eb['city_limit']=!![]);function _0x490d3e(_0x1f0cf0,_0x447111){return _0x7afdbe(_0x447111,_0x1f0cf0- -0x1d3);}Cesium__namespace['defined'](_0x45110d[_0x519e2a(_0x75bcd5._0x2b5e67,_0x75bcd5._0x56eb60)])&&(_0x3c22eb['city_limit']=_0x45110d['citylimit']);_0x45110d['text']&&(_0x3c22eb['query']=this[_0x490d3e(0x2d1,_0x75bcd5._0x4bc4bb)](_0x45110d[_0x519e2a(0x1374,0xbcd)]));if(_0x45110d['location']){_0x3c22eb[_0x519e2a(0xd64,0x10db)]=0x1;const _0x59e72b=LngLatPoint[_0x519e2a(_0x75bcd5._0xf14e30,-_0x75bcd5._0x3d6718)](_0x45110d['location']);_0x3c22eb['location']=_0x59e72b[_0x490d3e(0x1315,_0x75bcd5._0x3b354b)]+','+_0x59e72b[_0x519e2a(0x15b0,0x1629)];}const _0x1a13da={'url':'https://api.map.baidu.com/place/v2/suggestion',...this[_0x519e2a(0xb29,0x454)]};return _0x1a13da['queryParameters']=_0x3c22eb,Cesium__namespace[_0x490d3e(0x1590,0x167f)][_0x519e2a(_0x75bcd5._0x1621ad,0x1328)](_0x1a13da)[_0x519e2a(_0x75bcd5._0x5b90f3,-0x115)](_0x3cd2bd=>{const _0x5d273f={_0xada03e:0x531};if(_0x3cd2bd[_0x4cb591(0xde8,_0x10919b._0x4378c0)]!==0x0){console[_0x5986a3(0x7ba,_0x10919b._0x3b8578)](_0x4cb591(0x27,_0x10919b._0x2a17ff),_0x3cd2bd);return;}function _0x5986a3(_0x54fa01,_0x22c3fd){return _0x490d3e(_0x22c3fd- -_0x5d273f._0xada03e,_0x54fa01);}const _0x3441af=this[_0x4cb591(0x847,0x853)](_0x3cd2bd[_0x4cb591(0x34e,-0x336)]),_0x4b6de2={};function _0x4cb591(_0x4df93a,_0x16911f){return _0x490d3e(_0x4df93a- -_0x85e77._0x189c3f,_0x16911f);}_0x4b6de2[_0x5986a3(_0x10919b._0x4e636b,_0x10919b._0x360e0d)]=_0x3cd2bd['total'],_0x4b6de2[_0x4cb591(_0x10919b._0x4f0d92,_0x10919b._0x40221a)]=_0x3441af[_0x4cb591(_0x10919b._0x353993,0x11d1)],_0x4b6de2['list']=_0x3441af;const _0x5134ca=_0x4b6de2;return _0x45110d[_0x5986a3(0x97f,_0x10919b._0x2a9aac)]&&_0x45110d[_0x5986a3(_0x10919b._0x5f48b1,_0x10919b._0x2a9aac)](_0x5134ca),_0x5134ca;})[_0x490d3e(0xa83,0x130b)](_0x139d64=>{function _0x5053cb(_0x23eea5,_0x20a9c0){return _0x519e2a(_0x20a9c0- -0x2b,_0x23eea5);}function _0x5c5cd(_0x15c316,_0x421950){return _0x519e2a(_0x421950- -0x38a,_0x15c316);}logError(_0x5053cb(_0x541f9a._0x219b32,_0x541f9a._0x1a879c),_0x139d64),_0x45110d['error']&&_0x45110d['error'](_0x5c5cd(_0x541f9a._0x2a9455,0x1089),_0x139d64);});}['detail'](_0x15cd4c){const _0x53852e={_0x424b11:0x152a,_0x4d24d8:0x12a9,_0x4cc2b3:0x183f,_0x43cdc6:0xdfe,_0x5329cd:0xe72,_0x4e5706:0x137c,_0x35e40b:0x9b0,_0x17d4c1:0xd09,_0x44eecf:0xb9f},_0x5b559d={_0xa3f3cf:0x123f,_0x28ab14:0x978,_0x404d1c:0x1030};function _0x1ea72d(_0x561f9e,_0x98f684){return _0x7afdbe(_0x561f9e,_0x98f684- -0xb7);}const _0xcb069d={};_0xcb069d['ak']=this['key'],_0xcb069d['output']=_0x1ea72d(_0x53852e._0x424b11,_0x53852e._0x4d24d8);function _0x2a3f94(_0x42b28f,_0x5b2fb2){return _0x7afdbe(_0x42b28f,_0x5b2fb2- -0x12e);}_0xcb069d[_0x1ea72d(_0x53852e._0x4cc2b3,_0x53852e._0x43cdc6)]='gcj02ll',_0xcb069d['uid']=_0x15cd4c['id'];const _0xb7f4da=_0xcb069d,_0x3d63be={'url':_0x1ea72d(_0x53852e._0x5329cd,_0x53852e._0x4e5706),'queryParameters':_0xb7f4da,...this[_0x2a3f94(0x2b1,_0x53852e._0x35e40b)]};return Cesium__namespace['Resource']['fetchJson'](_0x3d63be)['then'](_0xae95e5=>{const _0x2bfbe5={_0x2dcd95:0x30b};if(_0xae95e5['status']!==0x0){console[_0x1cf60a(0x1578,_0x5b559d._0xa3f3cf)]('未查询到相关结果!',_0xae95e5);return;}if(!_0xae95e5[_0x47f4fc(0x6a4,0xbc2)]||_0xae95e5['pois']['length']===0x0){_0x15cd4c['error']&&_0x15cd4c['error']('未查询到相关结果!',_0xae95e5);return;}const _0x5a8a8e=_0xae95e5;function _0x1cf60a(_0xb465a6,_0x4c312b){return _0x2a3f94(_0xb465a6,_0x4c312b- -_0x2bfbe5._0x2dcd95);}function _0x47f4fc(_0x18d220,_0x1b0018){return _0x2a3f94(_0x18d220,_0x1b0018- -0x228);}return _0x15cd4c['success']&&_0x15cd4c[_0x1cf60a(_0x5b559d._0x28ab14,_0x5b559d._0x404d1c)](_0x5a8a8e),_0x5a8a8e;})[_0x1ea72d(_0x53852e._0x17d4c1,_0x53852e._0x44eecf)](_0xcffadd=>{function _0x2e7ce5(_0x2a9d42,_0x23497b){return _0x1ea72d(_0x23497b,_0x2a9d42- -0x3fa);}function _0x109e36(_0x106398,_0x3ae291){return _0x1ea72d(_0x106398,_0x3ae291- -0x60e);}logError('BaiduPOI\x20请求出错',_0xcffadd),_0x15cd4c[_0x109e36(0x59a,0xc38)]&&_0x15cd4c[_0x109e36(0x33d,0xc38)]('请求出错',_0xcffadd);});}['query'](_0x1df807){const _0x14d527={_0x26a849:0x67c,_0x416f6d:0xa15,_0x21171a:0x45e,_0x395d31:0x549,_0x1035b1:0x489,_0x6b1a8:0x124,_0x34a5ce:0x8db,_0x501477:0x8fc,_0x389655:0x1186,_0x108f14:0x3c7,_0x144f13:0xaa8},_0x57598d={_0xa329fa:0xa5},_0x1f7fdb=_0x1df807[_0x40001b(_0x14d527._0x26a849,_0x14d527._0x416f6d)];function _0x2b5555(_0x202eb1,_0xcf4416){return _0x54a7f1(_0xcf4416-_0x57598d._0xa329fa,_0x202eb1);}function _0x40001b(_0x2b9143,_0x43d2bc){return _0x7afdbe(_0x43d2bc,_0x2b9143- -0x17a);}if(_0x1f7fdb){if(_0x1f7fdb['type']==='rectangle')return _0x1df807['polygon']=_0x1f7fdb[_0x40001b(0x178d,0x11b9)],this[_0x40001b(0xaa8,0xc37)](_0x1df807);else{if(_0x1f7fdb[_0x2b5555(0x5e8,0x8db)]===_0x40001b(0x558,_0x14d527._0x21171a))return _0x1df807[_0x2b5555(-0x422,_0x14d527._0x395d31)]=_0x1f7fdb[_0x2b5555(_0x14d527._0x1035b1,0xe29)],this['queryPolygon'](_0x1df807);else return _0x1f7fdb[_0x2b5555(-_0x14d527._0x6b1a8,_0x14d527._0x34a5ce)]==='circle'?(_0x1df807[_0x2b5555(_0x14d527._0x501477,_0x14d527._0x389655)]=_0x1f7fdb['point'],_0x1df807['radius']=_0x1f7fdb[_0x2b5555(_0x14d527._0x108f14,0x47c)],this['queryCircle'](_0x1df807)):Promise['resolve'](![]);}}else return _0x1df807['polygon']?this[_0x40001b(_0x14d527._0x144f13,0xc9b)](_0x1df807):this['queryText'](_0x1df807);}['queryText'](_0x32c439){const _0x15a427={_0x3bed78:0x15f8,_0x124222:0x1181,_0xd047fd:0xc91,_0x268a77:0xb00,_0x39a397:0x132b,_0x4dacc8:0xd4b,_0x2249da:0x12a0,_0x30386a:0x61b,_0x32dd66:0x1042,_0x4f4c94:0x1341,_0x13ecb3:0x7f5,_0x32328a:0xb1,_0x6d0d5d:0xa89,_0x14255a:0x812,_0x2afe12:0xb1,_0x2f17ef:0x317,_0x10ca77:0x2db,_0x286bf2:0x702},_0x4a4073={_0x45ac56:0x38c,_0x374815:0xbfe,_0x41fe94:0x1727},_0x5d615b={_0x399472:0xd4e,_0x3f356d:0x257,_0x1a2c9b:0x13b7,_0xeb6040:0x609,_0x107a36:0x668,_0x46edc3:0x10fa,_0x2ec16f:0x59c,_0x2adfae:0x145,_0x3b12ad:0x14e0},_0x10a8f3={_0x3b5fff:0x32},_0x6535ad={_0x3319b9:0x326};function _0x9d0235(_0x560d11,_0x2625d3){return _0x54a7f1(_0x2625d3- -_0x6535ad._0x3319b9,_0x560d11);}const _0x594283={};_0x594283['ak']=this['key'],_0x594283['output']='json',_0x594283['ret_coordtype']='gcj02ll',_0x594283['scope']=0x2,_0x594283[_0x510b8a(0x16ad,0x1582)]=_0x32c439[_0x510b8a(_0x15a427._0x3bed78,0x1256)]||0x0,_0x594283['page_size']=_0x32c439['count']||0x14,_0x594283['tag']=_0x32c439[_0x9d0235(0x87a,-0xa6)]||'';const _0x4f2d3a=_0x594283;Cesium__namespace['defined'](this[_0x9d0235(_0x15a427._0x124222,_0x15a427._0xd047fd)])&&(_0x4f2d3a['region']=this['_city'],_0x4f2d3a[_0x510b8a(0x190d,0x1390)]=!![]);Cesium__namespace['defined'](_0x32c439[_0x9d0235(0xfc7,0xbd3)])&&(_0x4f2d3a[_0x9d0235(0x1cb,_0x15a427._0x268a77)]=_0x32c439['city'],_0x4f2d3a['city_limit']=!![]);Cesium__namespace['defined'](_0x32c439['citylimit'])&&(_0x4f2d3a[_0x510b8a(0x190d,0xf6f)]=_0x32c439[_0x9d0235(0xca8,0xefd)]);_0x32c439['text']&&(_0x4f2d3a[_0x9d0235(0x87f,_0x15a427._0x39a397)]=this[_0x9d0235(0x21a,-0xb0)](_0x32c439['text']));function _0x510b8a(_0x22f151,_0x4d9578){return _0x7afdbe(_0x4d9578,_0x22f151-_0x10a8f3._0x3b5fff);}if(_0x32c439[_0x510b8a(0x1341,0x1912)]){_0x4f2d3a[_0x510b8a(_0x15a427._0x4dacc8,_0x15a427._0x2249da)]=0x1;const _0x55617b=LngLatPoint[_0x510b8a(_0x15a427._0x30386a,_0x15a427._0x32dd66)](_0x32c439[_0x510b8a(_0x15a427._0x4f4c94,0x15bb)]);_0x4f2d3a['location']=_0x55617b['lat']+','+_0x55617b['lng'];}Cesium__namespace['defined'](_0x32c439[_0x9d0235(_0x15a427._0x13ecb3,_0x15a427._0x32328a)])&&(_0x32c439[_0x510b8a(0x637,_0x15a427._0x6d0d5d)]>0x4c4b40?delete _0x4f2d3a['location']:_0x4f2d3a[_0x9d0235(-_0x15a427._0x14255a,_0x15a427._0x2afe12)]=_0x32c439['radius'],Cesium__namespace['defined'](_0x32c439['radiuslimit'])&&(_0x4f2d3a[_0x9d0235(0xa37,0x203)]=_0x32c439[_0x9d0235(-_0x15a427._0x2f17ef,_0x15a427._0x10ca77)]));const _0x2d5d3={'url':'https://api.map.baidu.com/place/v2/search',...this['options']};return _0x2d5d3['queryParameters']=_0x4f2d3a,Cesium__namespace[_0x510b8a(0x1795,0x1eff)][_0x510b8a(0x1879,0x18f7)](_0x2d5d3)['then'](_0x4b51e6=>{const _0xd1ab57={_0x52b722:0xd4};if(_0x4b51e6['status']!==0x0){const _0x3fc522=_0xaecb9d(0xc8d,_0x5d615b._0x399472)+_0x4b51e6['status']+'):'+_0x4b51e6['message'];_0x32c439['error']&&_0x32c439['error'](_0x3fc522);return;}if(!_0x4b51e6[_0x115eb9(-_0x5d615b._0x3f356d,0x574)]||_0x4b51e6['result_type']==='city_type'||_0x4b51e6[_0xaecb9d(0x145,0x61)]['length']===0x0){if(_0x32c439['_sendCount']){const _0x34fa18={};_0x34fa18['allcount']=0x0,_0x34fa18[_0x115eb9(0x14fb,0x10d6)]=0x0,_0x34fa18[_0x115eb9(0x12f6,_0x5d615b._0x1a2c9b)]=[];const _0x2bb9f3=_0x34fa18;return _0x32c439[_0x115eb9(0x1b25,0x1270)]&&_0x32c439['success'](_0x2bb9f3),_0x2bb9f3;}else return delete _0x32c439[_0x115eb9(_0x5d615b._0xeb6040,0x40c)],delete _0x32c439[_0x115eb9(_0x5d615b._0x107a36,0x1116)],_0x32c439[_0x115eb9(0x1684,_0x5d615b._0x46edc3)]=0x1,this[_0xaecb9d(0x5f,-0x1df)](_0x32c439);}const _0x2049da=this[_0xaecb9d(0x79d,_0x5d615b._0x2ec16f)](_0x4b51e6[_0xaecb9d(_0x5d615b._0x2adfae,-0x213)]),_0x1e46be={};_0x1e46be[_0x115eb9(0xb1e,0xf5d)]=_0x4b51e6[_0x115eb9(0x18df,_0x5d615b._0x3b12ad)];function _0xaecb9d(_0x367f02,_0x5cca04){return _0x9d0235(_0x5cca04,_0x367f02- -_0xd1ab57._0x52b722);}_0x1e46be[_0x115eb9(0x1003,0x10d6)]=_0x2049da['length'];function _0x115eb9(_0x2ea8f4,_0x53bbbd){return _0x510b8a(_0x53bbbd- -0x22b,_0x2ea8f4);}_0x1e46be['list']=_0x2049da;const _0x36adc9=_0x1e46be;return _0x32c439['success']&&_0x32c439['success'](_0x36adc9),_0x36adc9;})[_0x9d0235(-0x178,_0x15a427._0x286bf2)](_0x352a41=>{const _0x2abf88={_0x37ea3d:0x305};function _0x213dcf(_0x25a734,_0x1a19bd){return _0x9d0235(_0x25a734,_0x1a19bd- -0x1ab);}function _0x352bf0(_0x14010f,_0x3655f3){return _0x510b8a(_0x14010f- -_0x2abf88._0x37ea3d,_0x3655f3);}logError(_0x213dcf(0x141e,0xb28),_0x352a41),_0x32c439[_0x213dcf(_0x4a4073._0x45ac56,_0x4a4073._0x374815)]&&_0x32c439[_0x352bf0(0x102a,_0x4a4073._0x41fe94)](_0x213dcf(0x423,0xcc9),_0x352a41);});}['queryCircle'](_0x3f9dfc){const _0x5d5ea8={_0x272a97:0xc09,_0x13b3d8:0x326,_0x46c6a4:0xda6,_0x423a82:0x96a,_0x4ed54d:0xde6,_0x194be4:0x14c0,_0x328710:0xfbf,_0xad8ae4:0x5d8,_0x18ab04:0x9f3},_0x24bae8={_0x34090f:0x218,_0x4b02a:0xd7d,_0x18f7bb:0xae6,_0x45524e:0x1b6a,_0xf2420f:0x11e9,_0x258a2f:0x12ac,_0xf8876a:0x1033},_0x3285c2={_0x181df2:0x5af},_0x2a20ed={_0x638ede:0x529},_0x4ac6d6={};_0x4ac6d6['ak']=this[_0x3abec0(_0x5d5ea8._0x272a97,0x1308)],_0x4ac6d6['output']='json',_0x4ac6d6['ret_coordtype']='gcj02ll',_0x4ac6d6['scope']=0x2,_0x4ac6d6['radius']=_0x3f9dfc['radius']||0xbb8,_0x4ac6d6[_0x3abec0(-0xef,0x7b1)]=_0x3f9dfc[_0x328da4(0x5aa,-_0x5d5ea8._0x13b3d8)];function _0x3abec0(_0x2d4d23,_0xea457b){return _0x54a7f1(_0xea457b-0x288,_0x2d4d23);}_0x4ac6d6['page_num']=_0x3f9dfc['page']||0x0,_0x4ac6d6['page_size']=_0x3f9dfc[_0x328da4(_0x5d5ea8._0x46c6a4,_0x5d5ea8._0x423a82)]||0x14,_0x4ac6d6['tag']=_0x3f9dfc[_0x3abec0(-0xbe,0x508)]||'';const _0x545a16=_0x4ac6d6;if(_0x3f9dfc['location']){_0x545a16['coord_type']=0x1;const _0x20a38d=LngLatPoint['parse'](_0x3f9dfc[_0x328da4(_0x5d5ea8._0x4ed54d,_0x5d5ea8._0x194be4)]);_0x545a16['location']=_0x20a38d[_0x328da4(_0x5d5ea8._0x328710,0x1a39)]+','+_0x20a38d['lng'];}else logError(_0x328da4(0xbaf,0x1602));_0x3f9dfc['text']?_0x545a16['query']=this['_getKeywords'](_0x3f9dfc['text']):_0x545a16['query']='行政地标';function _0x328da4(_0x201ce5,_0x32e8fb){return _0x7afdbe(_0x32e8fb,_0x201ce5- -_0x2a20ed._0x638ede);}const _0x2ff620={'url':_0x328da4(0xf02,_0x5d5ea8._0xad8ae4),...this['options']};return _0x2ff620['queryParameters']=_0x545a16,Cesium__namespace['Resource'][_0x328da4(0x131e,_0x5d5ea8._0x18ab04)](_0x2ff620)['then'](_0x2ea5d5=>{if(_0x2ea5d5['status']!==0x0){const _0x1d33be='POI\x20请求失败('+_0x2ea5d5['status']+'):'+_0x2ea5d5['message'];_0x3f9dfc[_0x4f6cd0(0xda8,0xbe9)]&&_0x3f9dfc['error'](_0x1d33be);return;}if(!_0x2ea5d5[_0x4f6cd0(_0x24bae8._0x34090f,-0x63)]||_0x2ea5d5['result_type']==='city_type'||_0x2ea5d5['results'][_0x12d75f(0x609,_0x24bae8._0x4b02a)]===0x0){_0x3f9dfc['error']&&_0x3f9dfc[_0x12d75f(0xae3,0xec7)](_0x4f6cd0(0x50,-0x2b7),_0x2ea5d5);return;}const _0x484373=this[_0x4f6cd0(0x870,_0x24bae8._0x18f7bb)](_0x2ea5d5['results']);let _0x43dca4;_0x3f9dfc['limit']?_0x43dca4=this[_0x4f6cd0(0x11a9,_0x24bae8._0x45524e)](_0x484373,_0x3f9dfc['location'],_0x545a16['radius']):_0x43dca4=_0x484373;const _0x259ae1={};_0x259ae1['allcount']=_0x2ea5d5['total'],_0x259ae1[_0x4f6cd0(0xd7a,_0x24bae8._0xf2420f)]=_0x43dca4['length'],_0x259ae1[_0x12d75f(0x11aa,0x117a)]=_0x43dca4;function _0x12d75f(_0x1b0278,_0x4ffff5){return _0x328da4(_0x4ffff5-0xf3,_0x1b0278);}function _0x4f6cd0(_0x4da45d,_0x4eca3d){return _0x3abec0(_0x4eca3d,_0x4da45d- -_0x3285c2._0x181df2);}const _0x4dc9e7=_0x259ae1;return _0x3f9dfc[_0x4f6cd0(0xf14,0x8ee)]&&_0x3f9dfc[_0x12d75f(_0x24bae8._0x258a2f,_0x24bae8._0xf8876a)](_0x4dc9e7),_0x4dc9e7;})['catch'](_0x2958d1=>{logError('BaiduPOI\x20请求出错',_0x2958d1);function _0x39e056(_0x532f86,_0x5d6bdf){return _0x328da4(_0x532f86-0x2f4,_0x5d6bdf);}_0x3f9dfc['error']&&_0x3f9dfc['error'](_0x39e056(0x1193,0x1725),_0x2958d1);});}[_0x54a7f1(0x14d0,0x1e0c)](_0x1d9c04,_0x4057ae,_0x20eec9){const _0x4b9f39={_0x44e2be:0xe70,_0x561173:0x17f9,_0x50e5e2:0xeb7};if(!_0x1d9c04||!_0x4057ae||!_0x20eec9)return _0x1d9c04;const _0x14e6a3=_0x4057ae['toCartesian']();function _0x501ab8(_0x14c683,_0x124f3e){return _0x54a7f1(_0x14c683- -0x477,_0x124f3e);}function _0x42b772(_0x453a7b,_0x2a71e3){return _0x7afdbe(_0x453a7b,_0x2a71e3- -0x9f);}const _0xadf6e0=[];for(let _0x358f35=0x0;_0x358f35<_0x1d9c04['length'];_0x358f35++){const _0x30a19b=_0x1d9c04[_0x358f35],_0x238243=Cesium__namespace[_0x501ab8(_0x4b9f39._0x44e2be,_0x4b9f39._0x561173)]['fromDegrees'](_0x30a19b['lng'],_0x30a19b[_0x501ab8(0xe43,_0x4b9f39._0x50e5e2)],_0x4057ae['alt']),_0x1a8135=Cesium__namespace['Cartesian3']['distance'](_0x238243,_0x14e6a3);_0x1a8135<_0x20eec9&&_0xadf6e0['push'](_0x30a19b);}return _0xadf6e0;}['queryPolygon'](_0x2a03cf){const _0x4d1463={_0x53ac10:0xaeb,_0x54cbc4:0x903,_0x199707:0xd89,_0x20bf61:0xce9,_0x2e8262:0x10c2,_0x1252dc:0xd5d,_0x52dc03:0x53,_0x3ff1b1:0xcbb,_0x40e74:0x767,_0x1fd096:0x744,_0x34adee:0xd1a,_0x426449:0x1399,_0x56ef92:0x12cd,_0x543dd4:0x1c4a,_0x5136a5:0x1815,_0x1390f7:0x11b1,_0x2a64a3:0x181f},_0x4200cb={_0x3714a3:0xa9c,_0x160137:0x1a7a,_0x825a98:0x7dd,_0x38fc4f:0x4f6,_0x17c4d9:0xbd,_0x5ad944:0x707,_0x498983:0x6c2,_0x291bb2:0x17ec},_0x1fe314={_0x26c236:0x206},_0x8271f1={_0x203ce0:0x384};function _0x5ca80a(_0x5d54fb,_0x566e3d){return _0x54a7f1(_0x5d54fb- -_0x8271f1._0x203ce0,_0x566e3d);}const _0x4f81fe={};_0x4f81fe['ak']=this[_0x52a40b(_0x4d1463._0x53ac10,0x1286)],_0x4f81fe['output']='json',_0x4f81fe[_0x5ca80a(_0x4d1463._0x54cbc4,0x2ba)]=_0x5ca80a(0xd8e,_0x4d1463._0x199707),_0x4f81fe[_0x52a40b(0xa8c,0x1246)]=0x2,_0x4f81fe['radius']=_0x2a03cf['radius']||0xbb8,_0x4f81fe['radius_limit']=_0x2a03cf['limit'],_0x4f81fe['page_num']=_0x2a03cf[_0x52a40b(_0x4d1463._0x20bf61,0x159e)]||0x0,_0x4f81fe[_0x5ca80a(0xee1,0x76f)]=_0x2a03cf['count']||0x14,_0x4f81fe[_0x52a40b(0x637,_0x4d1463._0x2e8262)]=_0x2a03cf['types']||'';const _0x3ee67a=_0x4f81fe,_0x27158d=_0x2a03cf['polygon'];let _0x1fc720=_0x27158d;function _0x52a40b(_0x20b7ec,_0x3b476b){return _0x54a7f1(_0x3b476b-_0x1fe314._0x26c236,_0x20b7ec);}if(_0x27158d['length']===0x2){const _0x1205f3=_0x27158d[0x0][0x0],_0x250ff7=_0x27158d[0x1][0x0],_0x324a96=_0x27158d[0x0][0x1],_0x572f8a=_0x27158d[0x1][0x1],_0x1e3c83=(_0x1205f3+_0x250ff7)/0x2,_0x4bf2ae=(_0x324a96+_0x572f8a)/0x2;_0x1fc720=[[_0x1205f3,_0x572f8a],[_0x1205f3,_0x324a96],[_0x250ff7,_0x324a96],[_0x250ff7,_0x572f8a],[_0x1205f3,_0x572f8a]],_0x3ee67a['coord_type']=0x1,_0x3ee67a[_0x5ca80a(_0x4d1463._0x1252dc,0x15a1)]=_0x4bf2ae+','+_0x1e3c83,_0x3ee67a[_0x5ca80a(_0x4d1463._0x52dc03,0x82d)]=Math['max'](getDistance([[_0x1e3c83,_0x4bf2ae],_0x27158d[0x0]]),getDistance([[_0x1e3c83,_0x4bf2ae],_0x27158d[0x1]]));}else{const _0x52c983={};_0x52c983['type']='LineString',_0x52c983['coordinates']=_0x27158d;const _0x71a01b={};_0x71a01b['type']='Feature',_0x71a01b['properties']={},_0x71a01b['geometry']=_0x52c983;const _0x46aade=getExtentByGeoJSON(_0x71a01b),_0x38c3d6=(_0x46aade['xmin']+_0x46aade[_0x52a40b(0x1c6f,0x1399)])/0x2,_0x250e6a=(_0x46aade['ymin']+_0x46aade[_0x5ca80a(0xe58,_0x4d1463._0x3ff1b1)])/0x2;_0x3ee67a[_0x5ca80a(_0x4d1463._0x40e74,0xed0)]=0x1,_0x3ee67a[_0x5ca80a(_0x4d1463._0x1252dc,_0x4d1463._0x1fd096)]=_0x250e6a+','+_0x38c3d6,_0x3ee67a[_0x52a40b(0x3b9,0x5dd)]=Math['max'](getDistance([[_0x38c3d6,_0x250e6a],[_0x46aade['xmin'],_0x46aade[_0x52a40b(0x80e,_0x4d1463._0x34adee)]]]),getDistance([[_0x38c3d6,_0x250e6a],[_0x46aade[_0x52a40b(0xc26,_0x4d1463._0x426449)],_0x46aade['ymax']]]));}_0x2a03cf['text']?_0x3ee67a[_0x5ca80a(_0x4d1463._0x56ef92,_0x4d1463._0x543dd4)]=this[_0x52a40b(-0x24f,0x47c)](_0x2a03cf['text']):_0x3ee67a['query']='行政地标';const _0x3d8cd0={'url':_0x5ca80a(0xe79,_0x4d1463._0x5136a5),'queryParameters':_0x3ee67a,...this['options']};return Cesium__namespace[_0x5ca80a(_0x4d1463._0x1390f7,0x159e)][_0x52a40b(0x1167,_0x4d1463._0x2a64a3)](_0x3d8cd0)['then'](_0x4d589f=>{if(_0x4d589f[_0x5a226f(_0x4200cb._0x3714a3,0xf9a)]!==0x0){const _0x45abda=_0x2e571c(0x103e,_0x4200cb._0x160137)+_0x4d589f[_0x5a226f(_0x4200cb._0x825a98,0xf9a)]+'):'+_0x4d589f['message'];_0x2a03cf['error']&&_0x2a03cf[_0x2e571c(0x1086,0x199b)](_0x45abda);return;}if(!_0x4d589f[_0x2e571c(_0x4200cb._0x38fc4f,-0x426)]||_0x4d589f['result_type']==='city_type'||_0x4d589f['results']['length']===0x0){_0x2a03cf['error']&&_0x2a03cf[_0x2e571c(0x1086,0x6c2)](_0x2e571c(0x32e,-_0x4200cb._0x17c4d9),_0x4d589f);return;}const _0x4e1646=this['_formatPOIData'](_0x4d589f[_0x2e571c(0x4f6,0x330)]);function _0x5a226f(_0x539f2c,_0x1a93d3){return _0x5ca80a(_0x1a93d3-0x1e6,_0x539f2c);}function _0x2e571c(_0x3351a0,_0x2258d7){return _0x5ca80a(_0x3351a0-0x33b,_0x2258d7);}let _0x586038;_0x2a03cf[_0x5a226f(0xa92,_0x4200cb._0x5ad944)]?_0x586038=this[_0x2e571c(_0x4200cb._0x498983,-0x33b)](_0x4e1646,_0x1fc720):_0x586038=_0x4e1646;const _0xe47926={};_0xe47926[_0x2e571c(0xedf,_0x4200cb._0x291bb2)]=_0x4d589f['total'],_0xe47926[_0x5a226f(0x5d4,0xf03)]=_0x586038['length'],_0xe47926['list']=_0x586038;const _0x14037a=_0xe47926;return _0x2a03cf['success']&&_0x2a03cf['success'](_0x14037a),_0x14037a;})['catch'](_0x3130c0=>{const _0x10130f={_0x27cf48:0x2b8};function _0x3eb834(_0x363658,_0x5dce8e){return _0x5ca80a(_0x5dce8e-_0x10130f._0x27cf48,_0x363658);}logError(_0x3eb834(0x1786,0xf2d),_0x3130c0),_0x2a03cf['error']&&_0x2a03cf['error']('请求出错',_0x3130c0);});}['_filterPOIData_polygon'](_0x7615df,_0x4c64f3){const _0xf3d8a2={_0x4ec539:0xf0d};if(!_0x7615df||!_0x4c64f3)return;function _0x31aab9(_0x1f883e,_0x584d5e){return _0x7afdbe(_0x1f883e,_0x584d5e- -0x354);}const _0x4abeed=[];for(let _0x2df8d2=0x0;_0x2df8d2<_0x7615df['length'];_0x2df8d2++){const _0x2e02b1=_0x7615df[_0x2df8d2],_0x4158ff=[_0x2e02b1[_0x31aab9(_0xf3d8a2._0x4ec539,0x1211)],_0x2e02b1['lat']];isInPoly(_0x4158ff,_0x4c64f3)&&_0x4abeed['push'](_0x2e02b1);}return _0x4abeed;}}class GaodePOI{constructor(_0x365230={}){const _0x1ecfbc={_0xdac554:0x9a0,_0x4f29a6:0x1566,_0x779c6f:0x1435,_0x4211a8:0xb10},_0x14278a={_0x59a280:0x13e};function _0x4310b5(_0x923614,_0x59b456){return _0x54a7f1(_0x59b456- -0x75,_0x923614);}this[_0x5f1e64(_0x1ecfbc._0xdac554,0x1c1)]=_0x365230,this['_key_index']=0x0;_0x365230[_0x5f1e64(0x1170,0xfa8)]?this[_0x5f1e64(_0x1ecfbc._0x4f29a6,_0x1ecfbc._0x779c6f)]=Array['isArray'](_0x365230[_0x4310b5(0x73f,0x100b)])?_0x365230[_0x5f1e64(0x1170,_0x1ecfbc._0x4211a8)]:[_0x365230['key']]:this['_keys']=gaodeArr;function _0x5f1e64(_0x74d382,_0x5e91f1){return _0x7afdbe(_0x5e91f1,_0x74d382- -_0x14278a._0x59a280);}this['_isWgs84']=this['options']['chinaCRS']!==ChinaCRS[_0x4310b5(0xa2c,0x88d)];}get['keys'](){const _0x37a990={_0xe0b1b7:0x1219};function _0x184742(_0x3d965e,_0x1481c6){return _0x7afdbe(_0x3d965e,_0x1481c6- -0x48b);}return this[_0x184742(0x1b76,_0x37a990._0xe0b1b7)];}set['keys'](_0x597399){const _0x166e5b={_0x5798f3:0x13d5};function _0x3139b2(_0xd5ec59,_0x4123f7){return _0x54a7f1(_0x4123f7- -0xa1,_0xd5ec59);}this[_0x3139b2(0x1535,_0x166e5b._0x5798f3)]=_0x597399;}get['key'](){const _0x362d23={_0x3b8b6b:0x3b8},_0x12ae15=this['_key_index']++%this['_keys'][_0x711b74(0xbcd,0x10a8)];function _0x711b74(_0x1b47f0,_0x5ba77d){return _0x54a7f1(_0x1b47f0- -_0x362d23._0x3b8b6b,_0x5ba77d);}return this['_keys'][_0x12ae15];}['_formatPOIData'](_0x31ca18){const _0x2da09b={_0x38154c:0xff4,_0x3d613b:0xb83,_0x45ec35:0xe86,_0x31d8c5:0x5eb,_0x434e1a:0xace},_0x5e7916={_0x4301a2:0x3e2},_0xd49845=[];function _0x3179be(_0x566689,_0xd85d84){return _0x54a7f1(_0xd85d84-0xd3,_0x566689);}for(let _0x4a9d5d=0x0;_0x4a9d5d<_0x31ca18['length'];_0x4a9d5d++){const _0x30e5cc=_0x31ca18[_0x4a9d5d];let _0x3d7cf8=[];_0x30e5cc['location']&&_0x30e5cc['location']['length']>0x0&&(_0x3d7cf8=_0x30e5cc['location'][_0x1df821(0xf68,_0x2da09b._0x38154c)](','),this[_0x3179be(0x11bf,_0x2da09b._0x3d613b)]&&(_0x3d7cf8=gcj2wgs(_0x3d7cf8))),_0xd49845['push']({'id':_0x30e5cc['id'],'name':_0x30e5cc['name'],'lng':Number(_0x3d7cf8[0x0]),'lat':Number(_0x3d7cf8[0x1]),'type':_0x30e5cc['type'],'xzqh':_0x30e5cc['pname']+_0x30e5cc[_0x1df821(0xca3,0x545)]+_0x30e5cc['adname'],'address':_0x30e5cc[_0x3179be(_0x2da09b._0x45ec35,0x1415)],'tel':_0x30e5cc[_0x3179be(_0x2da09b._0x31d8c5,_0x2da09b._0x434e1a)]||'','info':_0x30e5cc});}function _0x1df821(_0x29167c,_0x374d43){return _0x7afdbe(_0x29167c,_0x374d43- -_0x5e7916._0x4301a2);}return _0xd49845;}['_getKeywords'](_0x1ad4e0){const _0x5d802d={_0x44a159:0x12de};function _0x3ee7a5(_0x511b87,_0x5e9ba4){return _0x7afdbe(_0x511b87,_0x5e9ba4- -0x57b);}if(isString(_0x1ad4e0))return _0x1ad4e0['replace'](/ /gm,'|')['replace'](/,/gm,'|');else{if(Array[_0x3ee7a5(_0x5d802d._0x44a159,0x1121)](_0x1ad4e0))return _0x1ad4e0['join']('|');}return _0x1ad4e0;}['getAddress'](_0x49ca4e){const _0x551273={_0x40b1dd:0x1d33,_0x424445:0x12dd,_0x242b07:0x12b5,_0x515fd7:0x11b,_0x1b40d6:0x498,_0x5a16eb:0x61b,_0x1581db:0xc24},_0x4b045c={_0x565dc9:0xbf9},_0x5a7f8f={_0x547499:0x48e},_0x183897={_0x35d18f:0x84b,_0x4ed4de:0x123,_0x335a06:0xa00,_0x39b8c0:0xea8,_0x38a8f8:0xa5f},_0x4eba74={_0x3dfb83:0x1c6};function _0x3e5296(_0x558e6b,_0x2276b6){return _0x7afdbe(_0x558e6b,_0x2276b6- -_0x4eba74._0x3dfb83);}if(this['_getAddress_ing'])return Promise['resolve']();const _0x58320a={};_0x58320a['key']=this['key'],_0x58320a[_0x50b1a4(0x1918,_0x551273._0x40b1dd)]='json';const _0xf3375e=_0x58320a;_0x49ca4e['location']=LngLatPoint['parse'](_0x49ca4e[_0x50b1a4(_0x551273._0x424445,0x15f6)]);let _0x15b0d8=[_0x49ca4e[_0x3e5296(_0x551273._0x242b07,0x1149)]['lng'],_0x49ca4e['location']['lat']];this['_isWgs84']&&(_0x15b0d8=wgs2gcj(_0x15b0d8));_0xf3375e[_0x50b1a4(0x12dd,0x1927)]=_0x15b0d8[0x0]+','+_0x15b0d8[0x1],this['_getAddress_ing']=!![];const _0x1ae6a4={'url':'https://restapi.amap.com/v3/geocode/regeo',...this[_0x3e5296(_0x551273._0x515fd7,0x918)]};function _0x50b1a4(_0x4148d8,_0xa8ac12){return _0x54a7f1(_0x4148d8-0x1fc,_0xa8ac12);}return _0x1ae6a4['queryParameters']=_0xf3375e,Cesium__namespace['Resource']['fetchJson'](_0x1ae6a4)[_0x3e5296(_0x551273._0x1b40d6,_0x551273._0x5a16eb)](_0x43b795=>{var _0x40018e;function _0x306477(_0x5dae4f,_0x1f47c1){return _0x50b1a4(_0x1f47c1- -0xaf,_0x5dae4f);}this[_0x570be2(_0x183897._0x35d18f,0xb0d)]=![];if(_0x43b795[_0x570be2(0x1351,0xbb7)]!=='10000'){console[_0x306477(0xb7c,0x1597)](_0x570be2(-0x125,-_0x183897._0x4ed4de),_0x43b795);return;}const _0x2935ee=_0x43b795['regeocode'],_0x3d9ee8={};_0x3d9ee8[_0x570be2(_0x183897._0x335a06,_0x183897._0x39b8c0)]=_0x2935ee['formatted_address'],_0x3d9ee8[_0x570be2(0xe5d,_0x183897._0x38a8f8)]=(_0x40018e=_0x2935ee[_0x306477(0xc08,0x1609)])===null||_0x40018e===void 0x0?void 0x0:_0x40018e[_0x306477(0x12a2,0x829)];function _0x570be2(_0x384e91,_0x282f20){return _0x3e5296(_0x384e91,_0x282f20- -0x502);}_0x3d9ee8[_0x570be2(0x3d9,0x99a)]=_0x2935ee[_0x306477(0x1ee2,0x1609)];const _0x19f7b9=_0x3d9ee8;return _0x49ca4e['success']&&_0x49ca4e['success'](_0x19f7b9),_0x19f7b9;})[_0x50b1a4(_0x551273._0x1581db,0x9ec)](_0x56210d=>{this[_0x51bcc8(0x1745,0xfd6)]=![];function _0x51bcc8(_0x2115ce,_0x3afa5c){return _0x50b1a4(_0x3afa5c- -0x1cd,_0x2115ce);}function _0x16cd1a(_0x5b82b5,_0x204edb){return _0x3e5296(_0x5b82b5,_0x204edb- -_0x5a7f8f._0x547499);}logError('GaodePOI\x20请求出错',_0x56210d),_0x49ca4e['error']&&_0x49ca4e[_0x16cd1a(_0x4b045c._0x565dc9,0xca9)]('请求出错',_0x56210d);});}[_0x7afdbe(0x12b2,0x1437)](_0x1f84da){const _0x1dcef5={_0x53d6c5:0x1046,_0x32d5d4:0x183e,_0x50ff75:0x103e,_0x2339f5:0x476,_0x2359a2:0x129e,_0x4149dc:0x1af3,_0x131c8a:0x1024},_0x364ae6={_0x1d49dd:0xcc8},_0x12c295={_0x3a0e2d:0x1751},_0x114708={_0x11bbbe:0x1bd},_0xce412={};_0xce412['key']=this[_0x1a9b64(0xfc3,0x1717)],_0xce412['output']=_0x50e2b4(_0x1dcef5._0x53d6c5,0x12ef);const _0x23b9cd=_0xce412;Cesium__namespace[_0x50e2b4(0xf52,_0x1dcef5._0x32d5d4)](_0x1f84da[_0x1a9b64(0xe3c,0x1592)])&&(_0x23b9cd['city']=_0x1f84da[_0x50e2b4(0x853,0x10b6)],_0x23b9cd['citylimit']=!![]);Cesium__namespace[_0x50e2b4(0x20b1,0x183e)](_0x1f84da['citylimit'])&&(_0x23b9cd['citylimit']=_0x1f84da['citylimit']);_0x1f84da[_0x1a9b64(_0x1dcef5._0x50ff75,0x646)]&&(_0x23b9cd[_0x1a9b64(0x16d6,0x19a2)]=this[_0x1a9b64(0x1b9,_0x1dcef5._0x2339f5)](_0x1f84da[_0x1a9b64(0x103e,0x12c9)]));if(_0x1f84da['location']){_0x1f84da[_0x50e2b4(0xeea,_0x1dcef5._0x2359a2)]=LngLatPoint['parse'](_0x1f84da['location']);let _0x39aa7e=[_0x1f84da['location'][_0x1a9b64(0x127a,_0x1dcef5._0x4149dc)],_0x1f84da[_0x1a9b64(_0x1dcef5._0x131c8a,0x7b0)][_0x50e2b4(0x1537,0x1477)]];this['_isWgs84']&&(_0x39aa7e=wgs2gcj(_0x39aa7e)),_0x23b9cd[_0x50e2b4(0x1009,0x129e)]=_0x39aa7e[0x0]+','+_0x39aa7e[0x1];}const _0x5e03c1={'url':'https://restapi.amap.com/v3/assistant/inputtips','queryParameters':_0x23b9cd,...this['options']};function _0x50e2b4(_0x23086c,_0x3a3d71){return _0x54a7f1(_0x3a3d71-_0x114708._0x11bbbe,_0x23086c);}function _0x1a9b64(_0x583266,_0x5a5ae9){return _0x54a7f1(_0x583266- -0xbd,_0x5a5ae9);}return fetchJson(_0x5e03c1)['then'](_0x4a2773=>{const _0x286788={_0xe6841a:0x129},_0x66ddc1={_0x5f0e54:0xa0};if(!_0x4a2773[_0x2397a1(0x1082,0x1a98)]){console[_0x46ef8b(0x16a7,0xf0a)](_0x46ef8b(0x5d4,0x813),_0x4a2773);return;}const _0x384f57=this[_0x46ef8b(0xdf4,_0x12c295._0x3a0e2d)](_0x4a2773['tips']),_0x4d8d08={};_0x4d8d08['allcount']=_0x4a2773['count'];function _0x46ef8b(_0x36356e,_0x287db6){return _0x50e2b4(_0x287db6,_0x36356e-_0x66ddc1._0x5f0e54);}_0x4d8d08['count']=_0x384f57['length'],_0x4d8d08[_0x2397a1(0x1416,0x1174)]=_0x384f57;const _0x1b2f9b=_0x4d8d08;function _0x2397a1(_0x41fd83,_0x2a0110){return _0x50e2b4(_0x2a0110,_0x41fd83- -_0x286788._0xe6841a);}return _0x1f84da['success']&&_0x1f84da[_0x2397a1(0x12cf,0x17ff)](_0x1b2f9b),_0x1b2f9b;})['catch'](_0x50501c=>{function _0x129809(_0x610f37,_0x304017){return _0x1a9b64(_0x610f37- -0x159,_0x304017);}logError(_0x583960(0xf27,0x1367),_0x50501c);function _0x583960(_0x3179f0,_0xff7379){return _0x50e2b4(_0xff7379,_0x3179f0- -0x68f);}_0x1f84da[_0x129809(0xeb9,0x439)]&&_0x1f84da['error'](_0x583960(_0x364ae6._0x1d49dd,0x11c4),_0x50501c);});}[_0x54a7f1(0x66d,0xd65)](_0x38085a){const _0x43a709={_0x163319:0x162d,_0x1651e0:0x1236},_0x2bce46={_0x5988bc:0x1185,_0x71a4cf:0xd71},_0x5e50d0={_0x39cecb:0x378},_0x145f5d={_0x3629ca:0x13f1,_0x479110:0x113b,_0xd477f0:0xe66,_0x9ba755:0xafa,_0x2b8867:0xedf,_0x3f7cf7:0x3e3,_0x2f427c:0x317},_0x7ac2b3={_0x396e9d:0x104},_0x4abf96={};_0x4abf96['key']=this['key'],_0x4abf96['id']=_0x38085a['id'];function _0x3d12c1(_0x2d323c,_0xc45e3b){return _0x7afdbe(_0xc45e3b,_0x2d323c- -0x31d);}_0x4abf96[_0x3d12c1(_0x43a709._0x163319,0x14fb)]=_0x503bb5(0x11af,_0x43a709._0x1651e0);const _0x435694=_0x4abf96,_0x175faf={'url':'https://restapi.amap.com/v3/place/detail','queryParameters':_0x435694,...this['options']};function _0x503bb5(_0x379d74,_0x8c9517){return _0x54a7f1(_0x8c9517-_0x7ac2b3._0x396e9d,_0x379d74);}return fetchJson(_0x175faf)['then'](_0x2ebe51=>{const _0x2295f5={_0x4e9548:0x101};if(_0x2ebe51[_0x314301(_0x145f5d._0x3629ca,0xe61)]!=='10000'){const _0x3af770='POI\x20请求失败('+_0x2ebe51[_0x501b5a(0x10bd,0x1520)]+'):'+_0x2ebe51['info'];_0x38085a['error']&&_0x38085a[_0x501b5a(_0x145f5d._0x479110,0xcd4)](_0x3af770);return;}function _0x501b5a(_0x31f369,_0x39a99d){return _0x3d12c1(_0x31f369-0x15b,_0x39a99d);}function _0x314301(_0x3e7cec,_0xd660b2){return _0x3d12c1(_0xd660b2- -_0x2295f5._0x4e9548,_0x3e7cec);}if(!_0x2ebe51[_0x314301(_0x145f5d._0xd477f0,_0x145f5d._0x9ba755)]||_0x2ebe51[_0x501b5a(0xd56,0xd0e)]['length']===0x0){_0x38085a[_0x314301(0xb97,_0x145f5d._0x2b8867)]&&_0x38085a['error'](_0x501b5a(_0x145f5d._0x3f7cf7,_0x145f5d._0x2f427c),_0x2ebe51);return;}const _0x3738f8=_0x2ebe51['pois'][0x0];return _0x38085a['success']&&_0x38085a[_0x501b5a(0x12a7,0x144f)](_0x3738f8),_0x3738f8;})[_0x3d12c1(0x939,0xd61)](_0x3c8613=>{logError(_0x4be4e0(_0x2bce46._0x5988bc,_0x2bce46._0x71a4cf),_0x3c8613);function _0x338b0b(_0x58353c,_0x4cf454){return _0x3d12c1(_0x58353c-0x47,_0x4cf454);}function _0x4be4e0(_0x47dc0a,_0x3f9857){return _0x503bb5(_0x3f9857,_0x47dc0a- -_0x5e50d0._0x39cecb);}_0x38085a['error']&&_0x38085a['error'](_0x338b0b(0x10f2,0x9a2),_0x3c8613);});}['query'](_0xa8caaa){const _0x1a5292={_0x2a39e4:0xed,_0x585b3c:0xe03,_0xfc3999:0x1b5},_0x1b913a={_0xc5b6ec:0x7f};function _0x266d07(_0x570d54,_0x4b718c){return _0x54a7f1(_0x570d54-_0x1b913a._0xc5b6ec,_0x4b718c);}const _0x4e79bc=_0xa8caaa['graphic'];function _0x2adcb5(_0x59d790,_0x23d5e9){return _0x7afdbe(_0x23d5e9,_0x59d790- -0x508);}if(_0x4e79bc){if(_0x4e79bc[_0x266d07(0x8b5,-_0x1a5292._0x2a39e4)]==='rectangle')return _0xa8caaa['polygon']=_0x4e79bc['outlineCoordinates'],this['queryPolygon'](_0xa8caaa);else{if(_0x4e79bc['type']==='polygon')return _0xa8caaa['polygon']=_0x4e79bc[_0x266d07(_0x1a5292._0x585b3c,0x12f4)],this[_0x2adcb5(0x71a,_0x1a5292._0xfc3999)](_0xa8caaa);else return _0x4e79bc['type']==='circle'?(_0xa8caaa['location']=_0x4e79bc[_0x2adcb5(0xa42,0xb63)],_0xa8caaa['radius']=_0x4e79bc['radius'],this[_0x266d07(0x17fd,0x18a5)](_0xa8caaa)):Promise[_0x266d07(0xe21,0x8ec)]();}}else return _0xa8caaa['polygon']?this['queryPolygon'](_0xa8caaa):this['queryText'](_0xa8caaa);}['queryText'](_0x433054){const _0x5c8e99={_0x3b5b16:0x133e,_0x5b89de:0x18d1,_0xdcf3fa:0x1149,_0x1990e4:0x1b96,_0x58ae95:0x1149,_0x25e317:0x959,_0x5017ca:0x11b7,_0x13fc0e:0x1272,_0x200146:0x14e1,_0x4fba25:0x185d,_0x40938c:0x1376,_0x208551:0x871,_0x4c0281:0x3f8},_0xf6874f={_0x459ccf:0x1c09,_0x34ee3f:0x152d,_0x355860:0x176e,_0x320bb0:0x1101,_0x408d84:0xe7f,_0x1bb2e8:0x1356,_0x136a78:0x1270,_0x21746a:0x518,_0x4952d5:0x909,_0x50f2ed:0xd64,_0x2919fb:0x1077,_0x266058:0xfa2},_0x320ca8={_0x208f24:0xaf};function _0x3f16f3(_0x2cf743,_0x5ae109){return _0x54a7f1(_0x2cf743-0x2be,_0x5ae109);}const _0x3f16d6={};_0x3f16d6[_0x3f16f3(_0x5c8e99._0x3b5b16,0xa67)]=this['key'],_0x3f16d6['output']='json',_0x3f16d6[_0x3f16f3(0x1656,0x1e57)]=(_0x433054['page']||0x0)+0x1,_0x3f16d6['offset']=_0x433054[_0x3f16f3(0x135f,0x180a)]||0x14,_0x3f16d6['types']=_0x433054['types']||'';function _0x20e061(_0x280dd5,_0x3dc2e3){return _0x7afdbe(_0x3dc2e3,_0x280dd5-0x22);}const _0x505a89=_0x3f16d6;Cesium__namespace[_0x20e061(_0x5c8e99._0x5b89de,0xedc)](_0x433054[_0x20e061(_0x5c8e99._0xdcf3fa,_0x5c8e99._0x1990e4)])&&(_0x505a89[_0x20e061(_0x5c8e99._0x58ae95,_0x5c8e99._0x25e317)]=_0x433054[_0x3f16f3(_0x5c8e99._0x5017ca,_0x5c8e99._0x13fc0e)],_0x505a89[_0x3f16f3(_0x5c8e99._0x200146,0xe17)]=!![]);Cesium__namespace['defined'](_0x433054['citylimit'])&&(_0x505a89['citylimit']=_0x433054['citylimit']);_0x433054['text']?_0x505a89['keywords']=this['_getKeywords'](_0x433054[_0x20e061(0x134b,_0x5c8e99._0x4fba25)]):!_0x505a89['types']&&(_0x505a89['types']='120000|130000|190000');const _0x3f949a={'url':_0x3f16f3(0x10e1,_0x5c8e99._0x40938c),'queryParameters':_0x505a89,...this['options']};return fetchJson(_0x3f949a)[_0x3f16f3(_0x5c8e99._0x208551,_0x5c8e99._0x4c0281)](_0x3d45da=>{function _0xc0e2c0(_0xc0be25,_0x1f944f){return _0x3f16f3(_0x1f944f- -0x244,_0xc0be25);}if(_0x3d45da['infocode']!==_0x582229(_0xf6874f._0x459ccf,_0xf6874f._0x34ee3f)){const _0x1380ba=_0xc0e2c0(_0xf6874f._0x355860,_0xf6874f._0x320bb0)+_0x3d45da[_0xc0e2c0(_0xf6874f._0x408d84,0x10cb)]+'):'+_0x3d45da['info'];_0x433054['error']&&_0x433054[_0x582229(0xb5d,0x1270)](_0x1380ba);return;}if(!_0x3d45da['pois']){_0x433054[_0x582229(_0xf6874f._0x1bb2e8,_0xf6874f._0x136a78)]&&_0x433054['error'](_0x582229(0xcc9,_0xf6874f._0x21746a),_0x3d45da);return;}const _0x4a320a=this[_0xc0e2c0(0x795,0xc11)](_0x3d45da[_0xc0e2c0(_0xf6874f._0x4952d5,_0xf6874f._0x50f2ed)]),_0x299a42={};function _0x582229(_0x2908a5,_0x1813c3){return _0x20e061(_0x1813c3- -_0x320ca8._0x208f24,_0x2908a5);}_0x299a42[_0xc0e2c0(_0xf6874f._0x2919fb,_0xf6874f._0x266058)]=_0x3d45da['count'],_0x299a42['count']=_0x4a320a[_0xc0e2c0(0x1491,0xfff)],_0x299a42['list']=_0x4a320a;const _0x3e158c=_0x299a42;return _0x433054['success']&&_0x433054['success'](_0x3e158c),_0x3e158c;})['catch'](_0x37e130=>{logError('GaodePOI\x20请求出错',_0x37e130),_0x433054['error']&&_0x433054['error']('请求出错',_0x37e130);});}[_0x7afdbe(0x1c16,0x19ac)](_0x40663b){const _0x6fe88c={_0x50217c:0x1d62,_0x2f6e25:0x1745,_0x436947:0x734,_0x3f5ade:0x529,_0x402581:0x10ca,_0x1d1ba9:0xae2,_0x39e5c2:0xbcc,_0x11cd3a:0x1489,_0x28fdf4:0x994,_0x2e85f5:0xc1c,_0x24c028:0x29f,_0x5a0079:0x7b4,_0x38c077:0x2a9,_0x129ab9:0xa51},_0x4260c5={_0xe7e38e:0xd63},_0xf6ad5d={_0x2dbfc2:0x9a2,_0x512ac3:0xc6e,_0x4f3613:0x1513,_0xea2d0e:0x10d0},_0x12e3ae={_0x5723dd:0xdc},_0x4209bd={};_0x4209bd[_0x23f535(_0x6fe88c._0x50217c,_0x6fe88c._0x2f6e25)]='json',_0x4209bd['key']=this['key'],_0x4209bd['radius']=_0x40663b[_0x188d40(_0x6fe88c._0x436947,_0x6fe88c._0x3f5ade)]||0xbb8,_0x4209bd['page']=(_0x40663b['page']||0x0)+0x1,_0x4209bd['offset']=_0x40663b[_0x23f535(0x19c2,_0x6fe88c._0x402581)]||0x14,_0x4209bd[_0x188d40(0x209,0x3d2)]=_0x40663b['types']||'';const _0x316226=_0x4209bd;if(_0x40663b['location']){_0x40663b['location']=LngLatPoint[_0x23f535(0xcc0,0x3e4)](_0x40663b[_0x23f535(_0x6fe88c._0x1d1ba9,0x110a)]);let _0x2dfbc5=[_0x40663b['location'][_0x188d40(_0x6fe88c._0x39e5c2,_0x6fe88c._0x11cd3a)],_0x40663b['location'][_0x188d40(0x1de1,0x140c)]];this[_0x23f535(_0x6fe88c._0x28fdf4,0xad9)]&&(_0x2dfbc5=wgs2gcj(_0x2dfbc5)),_0x316226['location']=_0x2dfbc5[0x0]+','+_0x2dfbc5[0x1];}else logError('GaodePOI:\x20请传入参location数');function _0x23f535(_0x8f7446,_0x511e51){return _0x54a7f1(_0x511e51-0x29,_0x8f7446);}_0x40663b['text']?_0x316226['keywords']=this[_0x23f535(_0x6fe88c._0x2e85f5,_0x6fe88c._0x24c028)](_0x40663b['text']):!_0x316226['types']&&(_0x316226[_0x23f535(-_0x6fe88c._0x5a0079,_0x6fe88c._0x38c077)]=_0x23f535(0x1654,0xea5));const _0x1d2a30={'url':'https://restapi.amap.com/v3/place/around','queryParameters':_0x316226,...this[_0x188d40(0xd09,0xa02)]};function _0x188d40(_0x4e3567,_0x527554){return _0x7afdbe(_0x4e3567,_0x527554- -_0x12e3ae._0x5723dd);}return fetchJson(_0x1d2a30)['then'](_0x3d8f6a=>{if(_0x3d8f6a['infocode']!==_0x4fdcbf(0xa52,0x12f6)){if(_0x40663b['error']){const _0x5b329a='POI\x20请求失败('+_0x3d8f6a[_0x4fdcbf(_0xf6ad5d._0x2dbfc2,0xfbb)]+'):'+_0x3d8f6a[_0x4fdcbf(0x94a,0x10f1)];_0x40663b[_0x4c304d(0xcdb,_0xf6ad5d._0x512ac3)](_0x5b329a);}return;}function _0x4c304d(_0x32db8e,_0x2cd2a5){return _0x188d40(_0x32db8e,_0x2cd2a5- -0x5b3);}function _0x4fdcbf(_0x2f662b,_0x2fee28){return _0x23f535(_0x2f662b,_0x2fee28- -0xbf);}if(!_0x3d8f6a['pois']){_0x40663b['error']&&_0x40663b[_0x4c304d(_0xf6ad5d._0x4f3613,_0xf6ad5d._0x512ac3)](_0x4c304d(0x79f,-0xea),_0x3d8f6a);return;}const _0x2b1057=this[_0x4c304d(_0xf6ad5d._0xea2d0e,0x736)](_0x3d8f6a['pois']);let _0x1b0b10;_0x40663b[_0x4fdcbf(0xe44,0x80f)]?_0x1b0b10=this['_filterPOIData_circle'](_0x2b1057,_0x40663b['location'],_0x316226[_0x4c304d(-0x9d4,-0x8a)]):_0x1b0b10=_0x2b1057;const _0x335ef1={};_0x335ef1['allcount']=_0x3d8f6a['count'],_0x335ef1['count']=_0x1b0b10['length'],_0x335ef1['list']=_0x1b0b10;const _0x55aac1=_0x335ef1;return _0x40663b[_0x4c304d(0xad6,0xdda)]&&_0x40663b['success'](_0x55aac1),_0x55aac1;})[_0x23f535(0x55c,_0x6fe88c._0x129ab9)](_0x378b34=>{const _0x36aeb1={_0x1624d1:0x395};logError('GaodePOI\x20请求出错',_0x378b34);function _0x233884(_0x3f9d45,_0x37f25f){return _0x23f535(_0x3f9d45,_0x37f25f- -_0x36aeb1._0x1624d1);}_0x40663b['error']&&_0x40663b[_0x233884(0x157b,_0x4260c5._0xe7e38e)]('请求出错',_0x378b34);});}['_filterPOIData_circle'](_0x3ff165,_0x2f8e7e,_0x36180a){const _0x10f857={_0x11e2ea:0xa48,_0x2f33ff:0xb49,_0x213561:0xe88,_0x1dc222:0x1044,_0x210fd0:0x221,_0x88d5c1:0x1b16,_0x261b84:0x12d6,_0x433ad2:0xf4d};function _0x114129(_0x1d455f,_0x21a4ca){return _0x54a7f1(_0x21a4ca- -0xfd,_0x1d455f);}if(!_0x3ff165||!_0x2f8e7e||!_0x36180a)return _0x3ff165;const _0x2c12a2=_0x2f8e7e[_0x39535b(_0x10f857._0x11e2ea,_0x10f857._0x2f33ff)](),_0x582391=[];function _0x39535b(_0x1235bd,_0x53c4c1){return _0x54a7f1(_0x53c4c1-0x45,_0x1235bd);}for(let _0x56cc43=0x0;_0x56cc43<_0x3ff165[_0x114129(0x61c,_0x10f857._0x213561)];_0x56cc43++){const _0xf18e59=_0x3ff165[_0x56cc43],_0x1d842f=Cesium__namespace[_0x39535b(0x1243,0x132c)][_0x114129(_0x10f857._0x1dc222,0xced)](_0xf18e59['lng'],_0xf18e59[_0x39535b(0xa0c,0x12ff)],_0x2f8e7e[_0x114129(_0x10f857._0x210fd0,0x358)]),_0x36920c=Cesium__namespace[_0x39535b(0x1164,0x132c)][_0x39535b(_0x10f857._0x88d5c1,_0x10f857._0x261b84)](_0x1d842f,_0x2c12a2);_0x36920c<_0x36180a&&_0x582391[_0x39535b(0xd2a,_0x10f857._0x433ad2)](_0xf18e59);}return _0x582391;}['queryPolygon'](_0x333833){const _0x328fb8={_0x3868a4:0xf0d,_0x31c3df:0x123b,_0x46c126:0x15ac,_0x3a3dcc:0x1168,_0x48d6b1:0xbba,_0x254f32:0x4e0,_0x44ded5:0x155,_0x3d1d81:0x54a,_0x260855:0x14b,_0xd0c616:0xd91,_0x5a26d9:0x8ab,_0x53424d:0x1090},_0x57057f={_0x5debc5:0x1c30,_0x52dd13:0xb45},_0x48bb33={_0x1add64:0x313,_0x206c26:0xdb9,_0x5db8a6:0xaf2,_0x9d2089:0x14ca,_0x67b853:0xee0},_0x33c92a={};_0x33c92a[_0x3e6b5e(_0x328fb8._0x3868a4,0xcb5)]=this['key'],_0x33c92a[_0x1b2d53(_0x328fb8._0x31c3df,0x1930)]='json',_0x33c92a[_0x1b2d53(0x1bd8,_0x328fb8._0x46c126)]=(_0x333833['page']||0x0)+0x1,_0x33c92a['offset']=_0x333833['count']||0x14;function _0x3e6b5e(_0x280802,_0x4ac58d){return _0x7afdbe(_0x280802,_0x4ac58d- -0x5f9);}_0x33c92a['types']=_0x333833['types']||'';const _0x51a867=_0x33c92a,_0x38ba0d=_0x333833['polygon'];let _0x2e1b6a=[];if(_0x38ba0d['length']===0x2){let _0x5cffd4=_0x38ba0d[0x0],_0x5bf1a4=_0x38ba0d[0x1];this['_isWgs84']&&(_0x5cffd4=wgs2gcj(_0x5cffd4),_0x5bf1a4=wgs2gcj(_0x5bf1a4)),_0x51a867['polygon']=_0x5cffd4[0x0]+','+_0x5cffd4[0x1]+'|'+_0x5bf1a4[0x0]+','+_0x5bf1a4[0x1],_0x2e1b6a=[_0x38ba0d[0x0],[_0x38ba0d[0x0][0x0],_0x38ba0d[0x1][0x1]],_0x38ba0d[0x1],[_0x38ba0d[0x1][0x0],_0x38ba0d[0x0][0x1]]];}else{_0x2e1b6a=_0x38ba0d;let _0x883c2a='';const _0x304dc1=_0x38ba0d['concat']([_0x38ba0d[0x0]]);for(let _0x8717be=0x0;_0x8717be<_0x304dc1[_0x3e6b5e(_0x328fb8._0x3a3dcc,_0x328fb8._0x48d6b1)];_0x8717be++){let _0x396c87=_0x304dc1[_0x8717be];this[_0x1b2d53(0xdf4,0xcc4)]&&(_0x396c87=wgs2gcj(_0x396c87)),_0x8717be===_0x304dc1['length']-0x1?_0x883c2a+=_0x396c87[0x0]+','+_0x396c87[0x1]:_0x883c2a+=_0x396c87[0x0]+','+_0x396c87[0x1]+'|';}_0x51a867[_0x3e6b5e(0x2ad,0xd9)]=_0x883c2a;}_0x333833['text']?_0x51a867['keywords']=this[_0x3e6b5e(_0x328fb8._0x254f32,-_0x328fb8._0x44ded5)](_0x333833['text']):!_0x51a867[_0x3e6b5e(_0x328fb8._0x3d1d81,-_0x328fb8._0x260855)]&&(_0x51a867[_0x1b2d53(_0x328fb8._0xd0c616,0x494)]=_0x1b2d53(_0x328fb8._0x5a26d9,_0x328fb8._0x53424d));function _0x1b2d53(_0x10461f,_0x4bb729){return _0x54a7f1(_0x4bb729-0x214,_0x10461f);}const _0x1c8956={'url':'https://restapi.amap.com/v3/place/polygon','queryParameters':_0x51a867,...this['options']};return fetchJson(_0x1c8956)['then'](_0x5079af=>{const _0x19c4af={_0x11013e:0x326},_0x3bfce={_0x38a512:0x44};if(_0x5079af[_0x28cb78(_0x48bb33._0x1add64,0xc42)]!=='10000'){if(_0x333833[_0x28cb78(0x13c7,0xcc0)]){const _0x44ce55='POI\x20请求失败('+_0x5079af['infocode']+'):'+_0x5079af['info'];_0x333833['error'](_0x44ce55);}return;}if(!_0x5079af[_0x50225f(0xc45,0x36c)]){_0x333833[_0x50225f(0x102a,_0x48bb33._0x206c26)]&&_0x333833['error']('未查询到相关结果!',_0x5079af);return;}const _0x2ea554=this[_0x50225f(_0x48bb33._0x5db8a6,0x537)](_0x5079af['pois']);let _0x183ef6;_0x333833[_0x28cb78(-0x274,0x496)]?_0x183ef6=this['_filterPOIData_polygon'](_0x2ea554,_0x2e1b6a):_0x183ef6=_0x2ea554;const _0x129f60={};_0x129f60['allcount']=_0x5079af['count'],_0x129f60[_0x28cb78(_0x48bb33._0x9d2089,0xc92)]=_0x183ef6[_0x50225f(_0x48bb33._0x67b853,0x1924)],_0x129f60['list']=_0x183ef6;const _0x4f47df=_0x129f60;function _0x28cb78(_0x124423,_0x38bba5){return _0x3e6b5e(_0x124423,_0x38bba5- -_0x3bfce._0x38a512);}_0x333833['success']&&_0x333833['success'](_0x4f47df);function _0x50225f(_0x41dfb0,_0xbe658e){return _0x3e6b5e(_0xbe658e,_0x41dfb0-_0x19c4af._0x11013e);}return _0x4f47df;})['catch'](_0x275b9c=>{const _0x3e81e4={_0x299509:0x44f};logError(_0x1f150d(0x11be,_0x57057f._0x5debc5),_0x275b9c);function _0x3400aa(_0x5304dd,_0x3dd9a5){return _0x3e6b5e(_0x5304dd,_0x3dd9a5-0x525);}function _0x1f150d(_0x4bc9eb,_0x411469){return _0x1b2d53(_0x411469,_0x4bc9eb- -_0x3e81e4._0x299509);}_0x333833[_0x1f150d(0xe94,_0x57057f._0x52dd13)]&&_0x333833['error']('请求出错',_0x275b9c);});}['_filterPOIData_polygon'](_0x1b1df0,_0x3cfa00){const _0x140724={_0x1c772a:0x1572,_0x7605d:0xb9b},_0x417607={_0x26f18f:0x260};if(!_0x1b1df0||!_0x3cfa00)return;const _0x10f6fc=[];for(let _0x105b4a=0x0;_0x105b4a<_0x1b1df0[_0x23308c(_0x140724._0x1c772a,_0x140724._0x7605d)];_0x105b4a++){const _0x27a9dd=_0x1b1df0[_0x105b4a],_0x506030=[_0x27a9dd[_0x23308c(0x1446,0xf4d)],_0x27a9dd[_0x23308c(0xbfc,0xed0)]];isInPoly(_0x506030,_0x3cfa00)&&_0x10f6fc['push'](_0x27a9dd);}function _0x23308c(_0x2db829,_0x330a53){return _0x7afdbe(_0x2db829,_0x330a53- -0x618);}function _0x506225(_0x4c3b55,_0x280b72){return _0x54a7f1(_0x4c3b55-_0x417607._0x26f18f,_0x280b72);}return _0x10f6fc;}}class TdtPOI{constructor(_0x3b74c5={}){const _0x30fddc={_0x301b72:0x970,_0x5a39f0:0x1d49,_0x317fce:0x1140},_0x3ae34d={_0x2521be:0x2ac};function _0xa1da37(_0x1a1dd0,_0x2905b4){return _0x54a7f1(_0x1a1dd0-_0x3ae34d._0x2521be,_0x2905b4);}this[_0x20a680(0x1bf,_0x30fddc._0x301b72)]=_0x3b74c5;function _0x20a680(_0x119a0e,_0x14f4f4){return _0x54a7f1(_0x14f4f4-0xc0,_0x119a0e);}this[_0xa1da37(0x8af,0x63a)]=0x0,_0x3b74c5[_0x20a680(0xcdb,0x1140)]?this['_keys']=Array[_0xa1da37(0x171a,_0x30fddc._0x5a39f0)](_0x3b74c5['key'])?_0x3b74c5[_0x20a680(0xf1c,_0x30fddc._0x317fce)]:[_0x3b74c5['key']]:this[_0x20a680(0x16cd,0x1536)]=tiandituArr;}get['keys'](){const _0x4b6478={_0x28f973:0xeb8},_0x49285b={_0x415aa0:0x497};function _0x3a2c88(_0x3d2cba,_0xe06d15){return _0x7afdbe(_0x3d2cba,_0xe06d15- -_0x49285b._0x415aa0);}return this[_0x3a2c88(_0x4b6478._0x28f973,0x120d)];}set['keys'](_0x57db1d){this['_keys']=_0x57db1d;}get['key'](){const _0x3faa5e={_0x583899:0x126},_0x35497b={_0x19179d:0x720},_0x513310={_0x11acb0:0x70b};function _0x282771(_0x45de31,_0x3581bc){return _0x7afdbe(_0x45de31,_0x3581bc- -_0x513310._0x11acb0);}function _0x454418(_0xed2143,_0xa706b5){return _0x7afdbe(_0xed2143,_0xa706b5- -_0x35497b._0x19179d);}const _0x547878=this[_0x282771(0x2ab,_0x3faa5e._0x583899)]++%this['_keys'][_0x282771(0xdd4,0xaa8)];return this['_keys'][_0x547878];}[_0x54a7f1(0xb97,0xf47)](_0x996b5){const _0x5a2b4e={_0x3c95ca:0x1003,_0x341812:0x1a08,_0x5c9879:0x1772,_0xeff597:0x10e1,_0x55efa0:0xa04},_0x3219ce=[];for(let _0x3a2f0e=0x0;_0x3a2f0e<_0x996b5[_0x1815a4(0xacb,0x129b)];_0x3a2f0e++){const _0x33c6f7=_0x996b5[_0x3a2f0e];let _0x439cfc=[];_0x33c6f7['lonlat']&&_0x33c6f7['lonlat'][_0x512684(0x6db,_0x5a2b4e._0x3c95ca)]>0x0&&(_0x439cfc=_0x33c6f7[_0x512684(0x103,0x671)]['split'](',')),_0x3219ce['push']({'id':_0x33c6f7[_0x512684(0x78e,0x11bd)],'name':_0x33c6f7['name'],'lng':Number(_0x439cfc[0x0]),'lat':Number(_0x439cfc[0x1]),'type':_0x33c6f7[_0x512684(_0x5a2b4e._0x341812,_0x5a2b4e._0x5c9879)],'xzqh':_0x33c6f7[_0x512684(0xa04,0x5ee)]+_0x33c6f7['city']+_0x33c6f7[_0x512684(0x909,_0x5a2b4e._0xeff597)],'address':_0x33c6f7[_0x512684(_0x5a2b4e._0x55efa0,0x13c0)],'tel':_0x33c6f7['phone']||'','info':_0x33c6f7});}function _0x512684(_0x4f794e,_0x4d762c){return _0x7afdbe(_0x4f794e,_0x4d762c- -0x1b0);}function _0x1815a4(_0x4f7371,_0x28ff9b){return _0x7afdbe(_0x28ff9b,_0x4f7371- -0x6e8);}return _0x3219ce;}[_0x7afdbe(-0x610,0x4a4)](_0x1dc118){const _0x32bab1={_0x4c4ed5:0xcad},_0x184345={_0x50f6e1:0x4a8};if(isString(_0x1dc118))return _0x1dc118['replace'](/ /gm,'|')['replace'](/,/gm,'|');else{if(Array['isArray'](_0x1dc118))return _0x1dc118[_0x246b2c(0xf4d,_0x32bab1._0x4c4ed5)]('|');}function _0x246b2c(_0x22794d,_0x475a93){return _0x54a7f1(_0x22794d- -_0x184345._0x50f6e1,_0x475a93);}return _0x1dc118;}[_0x7afdbe(0x11c5,0x1030)](_0x5a0f5a){const _0x1dd821={_0x2a0a37:0xab3,_0x12dbfb:0x7e9,_0x2d3162:0xa57,_0x462b26:0x1d24,_0x1f7a2:0x7c4,_0x3ab96f:0x125c,_0x2c5143:0x128c,_0x31995c:0x1329,_0x40272f:0x11ef,_0x13e715:0x338},_0x502926={_0x3c5fa1:0xdda},_0x511de3={_0x2cb9b3:0x53d},_0x4d2a2a={_0xb08c8d:0x480},_0x5f3eb8={_0x8c2461:0x248};if(this[_0x5df8af(0x15b5,0xecc)])return Promise['resolve']();const _0x89be40={};_0x89be40[_0x5df8af(_0x1dd821._0x2a0a37,_0x1dd821._0x12dbfb)]=0x1;const _0x4bfdc5=_0x89be40;_0x5a0f5a[_0x5df8af(0x8a8,0x1006)]=LngLatPoint[_0x5df8af(_0x1dd821._0x2d3162,0x2e0)](_0x5a0f5a[_0x364fd3(_0x1dd821._0x462b26,0x1329)]),_0x4bfdc5['lon']=_0x5a0f5a['location'][_0x5df8af(_0x1dd821._0x1f7a2,_0x1dd821._0x3ab96f)],_0x4bfdc5['lat']=_0x5a0f5a[_0x364fd3(_0x1dd821._0x2c5143,_0x1dd821._0x31995c)]['lat'];function _0x364fd3(_0x4e4209,_0x4ae57b){return _0x54a7f1(_0x4ae57b-_0x5f3eb8._0x8c2461,_0x4e4209);}this[_0x364fd3(0xfb8,_0x1dd821._0x40272f)]=!![];function _0x5df8af(_0x52ce80,_0xff6e05){return _0x54a7f1(_0xff6e05- -0xdb,_0x52ce80);}return sendAjax({'url':_0x5df8af(-_0x1dd821._0x13e715,0x514),...this['options'],'queryParameters':{'type':'geocode','tk':this['key'],'postStr':JSON['stringify'](_0x4bfdc5)}})['then'](_0x57ee09=>{var _0x4f1422;this['_getAddress_ing']=![];function _0x341a16(_0x4fd318,_0x2663f7){return _0x364fd3(_0x2663f7,_0x4fd318- -0x70);}const _0x120693=_0x57ee09===null||_0x57ee09===void 0x0?void 0x0:_0x57ee09['result'];if(!_0x120693){console[_0x341a16(0x1622,0x14b0)](_0x341a16(0x54f,0xe04),_0x57ee09);return;}const _0x3cb3ee={'address':_0x120693['formatted_address'],'city':(((_0x4f1422=_0x120693['addressComponent'])===null||_0x4f1422===void 0x0?void 0x0:_0x4f1422['county_code'])||'')['replace']('156',''),'component':_0x120693['addressComponent']};_0x5a0f5a['success']&&_0x5a0f5a['success'](_0x3cb3ee);function _0x53dad8(_0x2e93fd,_0x34b7fc){return _0x364fd3(_0x34b7fc,_0x2e93fd- -0x62d);}return _0x3cb3ee;})['catch'](_0x1e210c=>{this['_getAddress_ing']=![];function _0x30684f(_0x40a869,_0x4b38e1){return _0x364fd3(_0x40a869,_0x4b38e1- -_0x4d2a2a._0xb08c8d);}function _0x5d3490(_0x1db641,_0x333673){return _0x364fd3(_0x1db641,_0x333673- -_0x511de3._0x2cb9b3);}logError('TdtPOI\x20请求出错',_0x1e210c),_0x5a0f5a[_0x5d3490(0x1106,_0x502926._0x3c5fa1)]&&_0x5a0f5a['error'](_0x5d3490(0x170e,0xea5),_0x1e210c);});}[_0x54a7f1(0x1209,0xbd7)](_0x54c094){const _0x4037d3={_0x1c9223:0x149c,_0x3d074b:0xa51,_0x12ec96:0xbf1,_0x1a8047:0x173,_0x21207d:0xb84,_0x30a0ac:0x1271,_0x103d8d:0xc05},_0x447878={_0x294ec2:0x10d},_0x57e617={_0x341e29:0xe1a,_0x2ed1d1:0x9de},_0x502db3={_0x54ba2b:0x53},_0x18e396={_0x10a7f1:0x326},_0x46bf1d={};_0x46bf1d[_0x4b28f0(_0x4037d3._0x1c9223,0xab6)]=0x7,_0x46bf1d['show']=0x1,_0x46bf1d[_0x207d04(0x1c4,0x30c)]=_0x54c094['level']||0x12,_0x46bf1d['mapBound']=_0x54c094['mapBound']||_0x207d04(0xfdb,_0x4037d3._0x3d074b),_0x46bf1d['start']=0x0,_0x46bf1d['offset']=0xa;function _0x207d04(_0x34fc8d,_0xdfd592){return _0x7afdbe(_0xdfd592,_0x34fc8d- -0x536);}const _0x574334=_0x46bf1d;Cesium__namespace[_0x4b28f0(0x15a7,0x1589)](_0x54c094['city'])&&(_0x574334[_0x207d04(0x6d2,-0x366)]='156'+_0x54c094[_0x207d04(_0x4037d3._0x12ec96,_0x4037d3._0x1a8047)]);function _0x4b28f0(_0x1c9129,_0x40f379){return _0x7afdbe(_0x1c9129,_0x40f379- -_0x18e396._0x10a7f1);}return Cesium__namespace['defined'](_0x54c094['types'])&&(_0x574334['dataTypes']=_0x54c094['types']),_0x54c094[_0x4b28f0(0x62f,0x1003)]&&(_0x574334[_0x207d04(0xb8,_0x4037d3._0x21207d)]=this['_getKeywords'](_0x54c094['text'])),fetchJson({'url':'http://api.tianditu.gov.cn/v2/search','queryParameters':{'type':'query','tk':this['key'],'postStr':JSON[_0x4b28f0(_0x4037d3._0x30a0ac,0xd54)](_0x574334)},...this[_0x4b28f0(_0x4037d3._0x103d8d,0x7b8)]})['then'](_0x5aab44=>{var _0x558dbb;if(((_0x558dbb=_0x5aab44['status'])===null||_0x558dbb===void 0x0?void 0x0:_0x558dbb['infocode'])!==0x3e8){console['log']('未查询到相关结果!',_0x5aab44);_0x54c094['error']&&_0x54c094['error'](_0x5aab44[_0x1ec451(0x866,0xf7f)]['cndesc'],_0x5aab44);return;}if(!_0x5aab44[_0x1ec451(0x581,0xb31)]){_0x54c094[_0x231968(_0x57e617._0x341e29,0x1842)]&&_0x54c094['error']('未查询到相关结果!',_0x5aab44);return;}const _0x3f1ce3=this[_0x1ec451(0xab1,_0x57e617._0x2ed1d1)](_0x5aab44['pois']);function _0x231968(_0xb3b1b7,_0x59a1c1){return _0x207d04(_0xb3b1b7-_0x502db3._0x54ba2b,_0x59a1c1);}function _0x1ec451(_0x5de5b6,_0x240058){return _0x4b28f0(_0x5de5b6,_0x240058- -0xc1);}const _0x4562f4={};_0x4562f4['allcount']=_0x5aab44['count'],_0x4562f4['count']=_0x3f1ce3['length'],_0x4562f4[_0x1ec451(0x75b,0x11c9)]=_0x3f1ce3;const _0x2a8432=_0x4562f4;return _0x54c094[_0x231968(0xf86,0xe48)]&&_0x54c094['success'](_0x2a8432),_0x2a8432;})['catch'](_0x390960=>{function _0xffc060(_0x4b14eb,_0x5582e8){return _0x4b28f0(_0x5582e8,_0x4b14eb-0x25e);}function _0x4a00d6(_0x3bd19f,_0x558112){return _0x207d04(_0x558112-_0x447878._0x294ec2,_0x3bd19f);}logError(_0x4a00d6(0x152c,0xd21),_0x390960),_0x54c094['error']&&_0x54c094['error'](_0x4a00d6(0x668,0xf9f),_0x390960);});}['query'](_0x1a2a6b){const _0x3d75c7={_0x1e7fb7:0x116c};function _0x4f7aad(_0x495d88,_0x281987){return _0x7afdbe(_0x281987,_0x495d88- -0x363);}function _0x24753b(_0x499097,_0x1c7904){return _0x7afdbe(_0x499097,_0x1c7904- -0x63d);}const _0x5ace3b=_0x1a2a6b['graphic'];if(_0x5ace3b){if(_0x5ace3b[_0x4f7aad(0x701,0x1cf)]==='rectangle'){const _0x2ac123={};return _0x2ac123[_0x4f7aad(0x15e5,0x1305)]=!![],_0x1a2a6b['extent']=_0x5ace3b['getRectangle'](_0x2ac123),this['queryExtent'](_0x1a2a6b);}else{if(_0x5ace3b['type']==='polygon')return _0x1a2a6b['polygon']=_0x5ace3b['coordinates'],this[_0x24753b(0x9d0,0x5e5)](_0x1a2a6b);else return _0x5ace3b[_0x4f7aad(0x701,0x3a9)]==='circle'?(_0x1a2a6b['location']=_0x5ace3b['point'],_0x1a2a6b['radius']=_0x5ace3b['radius'],this['queryCircle'](_0x1a2a6b)):Promise[_0x4f7aad(0xc6d,_0x3d75c7._0x1e7fb7)]();}}else return _0x1a2a6b['polygon']?this['queryPolygon'](_0x1a2a6b):this[_0x24753b(-0x1a3,0x4a)](_0x1a2a6b);}['queryText'](_0x56f1f2){const _0x55554b={_0x1d51dd:0xb2c,_0x5b3f02:0x16f6,_0x1f1103:0x149b,_0x317638:0x61,_0x197a12:0x17a0,_0x5a71a6:0xffc,_0x193d0b:0x6be,_0x19670b:0xd89,_0x17e6b1:0x16e9,_0x182906:0xf4f},_0x54b609={_0x31f088:0x11c4,_0x37f1f8:0xa1c,_0x52a8a0:0x10d6,_0x11141d:0xa5e,_0x5ce116:0x75,_0x2987ce:0xcb5,_0x140347:0x10ac},_0x324e3f={_0x75da78:0x389},_0x4889e9=_0x56f1f2[_0x30cc50(0x1236,0x11a4)]||0x14;function _0x30cc50(_0x237c75,_0x27e720){return _0x54a7f1(_0x27e720-0x103,_0x237c75);}const _0x2c327f={};_0x2c327f[_0x9450c3(0x135,_0x55554b._0x1d51dd)]=0x7,_0x2c327f[_0x30cc50(0x19ff,_0x55554b._0x5b3f02)]=0x2,_0x2c327f[_0x30cc50(0x2c3,0x5cf)]=_0x56f1f2['level']||0x12,_0x2c327f[_0x9450c3(0x1601,0xeb9)]=_0x56f1f2['mapBound']||'70,18,134,51',_0x2c327f['start']=(_0x56f1f2[_0x30cc50(0x17e7,_0x55554b._0x1f1103)]||0x0)*_0x4889e9,_0x2c327f[_0x30cc50(-_0x55554b._0x317638,0xa1b)]=_0x4889e9;const _0x1bf429=_0x2c327f;Cesium__namespace['defined'](_0x56f1f2[_0x30cc50(_0x55554b._0x197a12,_0x55554b._0x5a71a6)])&&(_0x1bf429['specify']='156'+_0x56f1f2[_0x9450c3(0x1857,0xe77)]);Cesium__namespace['defined'](_0x56f1f2['types'])&&(_0x1bf429['dataTypes']=_0x56f1f2[_0x9450c3(_0x55554b._0x193d0b,0x1fe)]);function _0x9450c3(_0x1d2caa,_0x23c2e4){return _0x54a7f1(_0x23c2e4- -0x82,_0x1d2caa);}return _0x56f1f2[_0x9450c3(_0x55554b._0x19670b,0x1079)]&&(_0x1bf429['keyWord']=this['_getKeywords'](_0x56f1f2[_0x30cc50(_0x55554b._0x17e6b1,0x11fe)])),fetchJson({'url':'http://api.tianditu.gov.cn/v2/search','queryParameters':{'type':'query','tk':this['key'],'postStr':JSON[_0x30cc50(0x104b,_0x55554b._0x182906)](_0x1bf429)},...this['options']})[_0x9450c3(0x2b2,0x531)](_0xe78dae=>{var _0x104c20;if(((_0x104c20=_0xe78dae['status'])===null||_0x104c20===void 0x0?void 0x0:_0x104c20['infocode'])!==0x3e8){console[_0x10f882(_0x54b609._0x31f088,_0x54b609._0x37f1f8)]('未查询到相关结果!',_0xe78dae);_0x56f1f2['error']&&_0x56f1f2[_0x10f882(0xe49,0x619)](_0xe78dae['status']['cndesc'],_0xe78dae);return;}if(!_0xe78dae['pois']){_0x56f1f2['error']&&_0x56f1f2[_0x521694(_0x54b609._0x52a8a0,0xce3)](_0x521694(-_0x54b609._0x11141d,-_0x54b609._0x5ce116),_0xe78dae);return;}function _0x10f882(_0x587136,_0x200f55){return _0x30cc50(_0x200f55,_0x587136- -_0x324e3f._0x75da78);}const _0x1f2d43=this['_formatPOIData'](_0xe78dae['pois']),_0x3c683d={};_0x3c683d['allcount']=_0xe78dae[_0x521694(0xb9d,_0x54b609._0x2987ce)],_0x3c683d['count']=_0x1f2d43['length'],_0x3c683d[_0x10f882(0x10fc,0x7d9)]=_0x1f2d43;const _0x24958d=_0x3c683d;function _0x521694(_0x23ab0b,_0x2ff16a){return _0x9450c3(_0x23ab0b,_0x2ff16a- -0x36a);}return _0x56f1f2['success']&&_0x56f1f2[_0x521694(_0x54b609._0x140347,0xe4f)](_0x24958d),_0x24958d;})['catch'](_0x178807=>{logError('TdtPOI\x20请求出错',_0x178807),_0x56f1f2['error']&&_0x56f1f2['error']('请求出错',_0x178807);});}['queryCircle'](_0x57850b){const _0x342e9a={_0x5e8539:0xc59,_0xe67b43:0x1379,_0x337b34:0xb90,_0x527b43:0x140d,_0x53d9cb:0x1318,_0xa58995:0x96f,_0x42907c:0x261,_0xd36f8e:0x1b25,_0x5085c0:0x536},_0x3881ad={_0x31e9ba:0x1229,_0x1d6158:0x13e3},_0x5a33f4={_0x442482:0x1139,_0x258bd7:0xe70,_0xec4c58:0xc01,_0x457aaf:0x14d1,_0x2afd6d:0x105a,_0x194279:0x1003},_0x23297a={_0x57c4bf:0x1f},_0x179b3a=_0x57850b['count']||0x14,_0x49ad49={'queryType':0x3,'show':0x2,'queryRadius':formatNum$1(_0x57850b['radius']||0xbb8,0x0),'start':(_0x57850b[_0xb028b1(_0x342e9a._0x5e8539,_0x342e9a._0xe67b43)]||0x0)*_0x179b3a,'offset':_0x179b3a};_0x57850b['location']?(_0x57850b[_0x1c9f7b(0xab6,0x113f)]=LngLatPoint['parse'](_0x57850b[_0x1c9f7b(_0x342e9a._0x337b34,0x113f)]),_0x49ad49['pointLonlat']=_0x57850b['location'][_0xb028b1(0x15ca,0x1318)]+','+_0x57850b['location'][_0x1c9f7b(_0x342e9a._0x527b43,_0x342e9a._0x53d9cb)]):logError(_0x1c9f7b(0xab3,0x414));Cesium__namespace[_0xb028b1(0x1494,0x1662)](_0x57850b[_0xb028b1(_0x342e9a._0xa58995,_0x342e9a._0x42907c)])&&(_0x49ad49['dataTypes']=_0x57850b['types']);_0x57850b['text']&&(_0x49ad49['keyWord']=this['_getKeywords'](_0x57850b['text']));function _0x1c9f7b(_0x3554d6,_0x3a46b8){return _0x54a7f1(_0x3a46b8-0x5e,_0x3554d6);}function _0xb028b1(_0x14b721,_0x5343da){return _0x54a7f1(_0x5343da- -_0x23297a._0x57c4bf,_0x14b721);}return fetchJson({'url':_0xb028b1(0x8f3,0x11aa),'queryParameters':{'type':_0x1c9f7b(_0x342e9a._0xd36f8e,0x16af),'tk':this['key'],'postStr':JSON[_0xb028b1(0x17ad,0xe2d)](_0x49ad49)},...this['options']})[_0x1c9f7b(_0x342e9a._0x5085c0,0x611)](_0x2e8594=>{const _0x32b31b={_0x4c76c8:0x13c};var _0x25b1a8;if(((_0x25b1a8=_0x2e8594['status'])===null||_0x25b1a8===void 0x0?void 0x0:_0x25b1a8['infocode'])!==0x3e8){_0x57850b[_0x362ad4(_0x5a33f4._0x442482,0x130f)]&&_0x57850b[_0x362ad4(0x1139,0x19f4)](_0x2e8594[_0x362ad4(0x11a2,0x1322)]['cndesc'],_0x2e8594);return;}if(!_0x2e8594['pois']){_0x57850b['error']&&_0x57850b[_0x2cb459(0xb22,0xff1)](_0x362ad4(0x3e1,_0x5a33f4._0x258bd7),_0x2e8594);return;}const _0x47360f=this[_0x362ad4(_0x5a33f4._0xec4c58,0x116c)](_0x2e8594['pois']);let _0x66b07c;function _0x362ad4(_0x200819,_0x2adede){return _0x1c9f7b(_0x2adede,_0x200819-0xc);}_0x57850b['limit']?_0x66b07c=this[_0x362ad4(0x153a,_0x5a33f4._0x457aaf)](_0x47360f,_0x57850b[_0x2cb459(_0x5a33f4._0x2afd6d,_0x5a33f4._0x194279)],_0x49ad49[_0x2cb459(0x6e5,0x2f9)]):_0x66b07c=_0x47360f;const _0x273cf9={};_0x273cf9['allcount']=_0x2e8594['count'],_0x273cf9[_0x362ad4(0x110b,0x742)]=_0x66b07c['length'],_0x273cf9['list']=_0x66b07c;const _0x2bf8b0=_0x273cf9;_0x57850b['success']&&_0x57850b['success'](_0x2bf8b0);function _0x2cb459(_0x2035fd,_0x3b39cb){return _0x1c9f7b(_0x2035fd,_0x3b39cb- -_0x32b31b._0x4c76c8);}return _0x2bf8b0;})['catch'](_0xaebf36=>{const _0x36f939={_0x13a4f0:0x179};function _0x5b09e6(_0x56fe42,_0x26a467){return _0xb028b1(_0x26a467,_0x56fe42-_0x36f939._0x13a4f0);}function _0x46ad3d(_0x1a3200,_0x2f7f2e){return _0xb028b1(_0x2f7f2e,_0x1a3200- -0x235);}logError('TdtPOI\x20请求出错',_0xaebf36),_0x57850b[_0x46ad3d(0xe7b,0x495)]&&_0x57850b[_0x5b09e6(_0x3881ad._0x31e9ba,0x8b1)](_0x46ad3d(0xf46,_0x3881ad._0x1d6158),_0xaebf36);});}['_filterPOIData_circle'](_0x19b273,_0x391eaf,_0x906da1){const _0x391383={_0x17e3d9:0x1878};if(!_0x19b273||!_0x391eaf||!_0x906da1)return _0x19b273;function _0x4f3728(_0x15e548,_0x302c6a){return _0x7afdbe(_0x302c6a,_0x15e548- -0x38f);}const _0x404940=_0x391eaf['toCartesian'](),_0x2e5ffc=[];for(let _0x3e51d6=0x0;_0x3e51d6<_0x19b273['length'];_0x3e51d6++){const _0x2d9709=_0x19b273[_0x3e51d6],_0x2a5fa9=Cesium__namespace['Cartesian3']['fromDegrees'](_0x2d9709['lng'],_0x2d9709['lat'],_0x391eaf['alt']),_0x5897d4=Cesium__namespace['Cartesian3'][_0x4f3728(0x1130,_0x391383._0x17e3d9)](_0x2a5fa9,_0x404940);_0x5897d4<_0x906da1&&_0x2e5ffc['push'](_0x2d9709);}return _0x2e5ffc;}['queryPolygon'](_0x45b612){const _0x29553b={_0x1763ce:0xc00,_0x273a42:0x1091,_0x338306:0xc05,_0x3ffc76:0xc7e,_0x2cd060:0x81a,_0x4b874a:0x301,_0x26f082:0xb45},_0x1fb498={_0x4d2b9c:0x6f3,_0x11e056:0x1139},_0x24bbc5={_0x3ed506:0x485},_0x20cb77={_0x48a724:0x11fd,_0x10d0fb:0x101c,_0x3b4f96:0x11fd,_0x3e0593:0x19aa},_0x2dbc23={_0x512fde:0x109},_0x771e77=_0x45b612[_0x182c49(0xd9a,_0x29553b._0x1763ce)]||0x14,_0x38a3e9={};_0x38a3e9['queryType']=0xa,_0x38a3e9['show']=0x2,_0x38a3e9['start']=(_0x45b612[_0x182c49(_0x29553b._0x273a42,0xfad)]||0x0)*_0x771e77,_0x38a3e9['offset']=_0x771e77;const _0x2d43f6=_0x38a3e9,_0x5832f7=LngLatArray['toArray'](_0x45b612['polygon']);function _0x387140(_0x555eaa,_0x4db769){return _0x7afdbe(_0x555eaa,_0x4db769- -0x2ed);}if(_0x5832f7['length']===0x2)return _0x45b612['extent']=_0x45b612[_0x387140(_0x29553b._0x338306,0x3e5)],this['queryExtent'](_0x45b612);let _0x597944='';const _0xa5d35e=_0x5832f7['concat']([_0x5832f7[0x0]]);for(let _0x159591=0x0;_0x159591<_0xa5d35e['length'];_0x159591++){const _0x253167=_0xa5d35e[_0x159591];_0x159591===_0xa5d35e[_0x182c49(_0x29553b._0x3ffc76,_0x29553b._0x2cd060)]-0x1?_0x597944+=_0x253167[0x0]+','+_0x253167[0x1]:_0x597944+=_0x253167[0x0]+','+_0x253167[0x1]+',';}_0x2d43f6['polygon']=_0x597944;Cesium__namespace['defined'](_0x45b612['types'])&&(_0x2d43f6['dataTypes']=_0x45b612[_0x387140(-0x3c2,0x1c1)]);_0x45b612['text']&&(_0x2d43f6[_0x387140(0x5f9,_0x29553b._0x4b874a)]=this['_getKeywords'](_0x45b612['text']));function _0x182c49(_0x20a51d,_0x502d52){return _0x7afdbe(_0x502d52,_0x20a51d- -0x535);}return fetchJson({'url':'http://api.tianditu.gov.cn/v2/search','queryParameters':{'type':'query','tk':this['key'],'postStr':JSON[_0x182c49(_0x29553b._0x26f082,0x15fc)](_0x2d43f6)},...this['options']})['then'](_0x483a37=>{var _0x15916e;if(((_0x15916e=_0x483a37['status'])===null||_0x15916e===void 0x0?void 0x0:_0x15916e['infocode'])!==0x3e8){_0x45b612[_0x2dabd0(0x1a1e,_0x20cb77._0x48a724)]&&_0x45b612['error'](_0x483a37['status']['cndesc'],_0x483a37);return;}if(!_0x483a37['pois']){_0x45b612[_0x2dabd0(_0x20cb77._0x10d0fb,_0x20cb77._0x3b4f96)]&&_0x45b612[_0x2dabd0(_0x20cb77._0x3e0593,0x11fd)]('未查询到相关结果!',_0x483a37);return;}const _0x17f3f5=this['_formatPOIData'](_0x483a37['pois']);let _0x94b7cb;_0x45b612['limit']?_0x94b7cb=this['_filterPOIData_polygon'](_0x17f3f5,_0x5832f7):_0x94b7cb=_0x17f3f5;const _0x123692={};_0x123692['allcount']=_0x483a37['count'],_0x123692['count']=_0x94b7cb['length'],_0x123692['list']=_0x94b7cb;const _0x1bdd15=_0x123692;_0x45b612['success']&&_0x45b612[_0x3f9442(0xfe2,0x1073)](_0x1bdd15);function _0x3f9442(_0x2aac52,_0x50778f){return _0x387140(_0x2aac52,_0x50778f- -_0x2dbc23._0x512fde);}function _0x2dabd0(_0x4ee22a,_0x489dbc){return _0x387140(_0x4ee22a,_0x489dbc-0x1ed);}return _0x1bdd15;})['catch'](_0x35cd8a=>{const _0x25267d={_0x2f40ea:0x2a6};function _0x3977f0(_0x597d72,_0x40af1f){return _0x182c49(_0x40af1f-_0x25267d._0x2f40ea,_0x597d72);}logError(_0x5a9a3f(0x1829,0x109a),_0x35cd8a);function _0x5a9a3f(_0x404a81,_0x5d3410){return _0x182c49(_0x5d3410-_0x24bbc5._0x3ed506,_0x404a81);}_0x45b612['error']&&_0x45b612['error'](_0x3977f0(_0x1fb498._0x4d2b9c,_0x1fb498._0x11e056),_0x35cd8a);});}['_filterPOIData_polygon'](_0x32830f,_0x199596){if(!_0x32830f||!_0x199596)return;const _0x46bee3=[];for(let _0x10eda8=0x0;_0x10eda8<_0x32830f['length'];_0x10eda8++){const _0x255297=_0x32830f[_0x10eda8],_0x433e03=[_0x255297['lng'],_0x255297['lat']];isInPoly(_0x433e03,_0x199596)&&_0x46bee3['push'](_0x255297);}return _0x46bee3;}[_0x7afdbe(0x1c62,0x17b1)](_0xbcd4ad){const _0x2f062b={_0x4ffc10:0x117,_0x150340:0xe9d,_0x2dca11:0x24,_0x2d9e18:0x19,_0x296d33:0x14b1,_0x4126d9:0x11e,_0x17217b:0x15ba,_0x1743dc:0x1780,_0x353764:0xa2f},_0x16840a={_0xc4e52:0xe6c,_0xfd4466:0xc65},_0x58d9f0={_0x6873b2:0xa1f,_0x5151e4:0x3f5},_0x3086e6={_0x4cd9ff:0x3b5},_0x5e9e07=_0xbcd4ad[_0x3b7251(0x119f,0xcec)]||0x14,_0xa9d28a={};_0xa9d28a['queryType']=0x2;function _0x3b7251(_0x42d1c5,_0x1b3e06){return _0x54a7f1(_0x1b3e06- -_0x3086e6._0x4cd9ff,_0x42d1c5);}_0xa9d28a['show']=0x2,_0xa9d28a[_0x3b7251(-0x6f0,_0x2f062b._0x4ffc10)]=0x12,_0xa9d28a['start']=(_0xbcd4ad['page']||0x0)*_0x5e9e07,_0xa9d28a['offset']=_0x5e9e07;const _0x715aa=_0xa9d28a,_0x24ae1e=_0xbcd4ad['extent'];if(_0x24ae1e['length']===0x2){const _0x18ae50=_0xbcd4ad[_0x3b7251(-0x8e2,0x86)][0x0],_0xb5c2=_0xbcd4ad[_0xd919a8(0x197,0x437)][0x1];_0x715aa['mapBound']=_0x18ae50[0x0]+','+_0x18ae50[0x1]+','+_0xb5c2[0x0]+','+_0xb5c2[0x1];}_0x24ae1e[_0x3b7251(0x63f,0xed4)]&&(_0x715aa['mapBound']=_0x24ae1e['xmin']+','+_0x24ae1e['ymin']+','+_0x24ae1e[_0xd919a8(0xeef,_0x2f062b._0x150340)]+','+_0x24ae1e['ymax']);Cesium__namespace['defined'](_0xbcd4ad[_0xd919a8(-_0x2f062b._0x2dca11,_0x2f062b._0x2d9e18)])&&(_0x715aa[_0xd919a8(0xe5d,_0x2f062b._0x296d33)]=_0xbcd4ad['types']);function _0xd919a8(_0x1fd9e6,_0x36adf6){return _0x7afdbe(_0x36adf6,_0x1fd9e6- -0x4d2);}return _0xbcd4ad['text']&&(_0x715aa['keyWord']=this[_0x3b7251(-_0x2f062b._0x4126d9,-0x13f)](_0xbcd4ad[_0xd919a8(0xe57,0x14e5)])),fetchJson({'url':_0xd919a8(0xf25,_0x2f062b._0x17217b),'queryParameters':{'type':'query','tk':this[_0x3b7251(_0x2f062b._0x1743dc,0xccb)],'postStr':JSON['stringify'](_0x715aa)},...this[_0x3b7251(-0x49c,0x4fb)]})[_0xd919a8(0x30f,-0x26d)](_0x2ed12b=>{function _0xc82966(_0x118dff,_0x164700){return _0xd919a8(_0x118dff- -0x27,_0x164700);}var _0x24acfa;if(((_0x24acfa=_0x2ed12b['status'])===null||_0x24acfa===void 0x0?void 0x0:_0x24acfa['infocode'])!==0x3e8){_0xbcd4ad[_0xc82966(0xe04,0x128d)]&&_0xbcd4ad['error'](_0x2ed12b['status']['cndesc'],_0x2ed12b);return;}if(!_0x2ed12b['pois']){_0xbcd4ad['error']&&_0xbcd4ad['error']('未查询到相关结果!',_0x2ed12b);return;}const _0x4d1e42=this[_0xc82966(0x8cc,0xfa2)](_0x2ed12b[_0xc82966(_0x58d9f0._0x6873b2,_0x58d9f0._0x5151e4)]),_0xae511f={};function _0x1bd7c4(_0x20f5ff,_0xbba5f){return _0xd919a8(_0x20f5ff- -0x1aa,_0xbba5f);}_0xae511f[_0x1bd7c4(0xada,0xdbb)]=_0x2ed12b['count'],_0xae511f['count']=_0x4d1e42['length'],_0xae511f['list']=_0x4d1e42;const _0x4f5f2e=_0xae511f;return _0xbcd4ad[_0xc82966(0xf70,0x17fd)]&&_0xbcd4ad['success'](_0x4f5f2e),_0x4f5f2e;})[_0x3b7251(_0x2f062b._0x353764,0x673)](_0x216945=>{logError(_0x488004(_0x16840a._0xc4e52,_0x16840a._0xfd4466),_0x216945);function _0x488004(_0x41e030,_0x558e6d){return _0x3b7251(_0x41e030,_0x558e6d-0xfe);}_0xbcd4ad['error']&&_0xbcd4ad['error']('请求出错',_0x216945);});}}const _0x364939={};_0x364939[_0x54a7f1(0x10a7,0x12a8)]=0x1,_0x364939['Bicycling']=0x2,_0x364939[_0x54a7f1(0xb1a,0xe82)]=0x3;const RouteType=_0x364939;class GaodeRoute{constructor(_0x377ee7={}){const _0xd5a0d0={_0x1aff3a:0x786,_0x397e19:0xd6d,_0x42dee8:0xf3d},_0x2c470c={_0x1753e9:0x3ce};this['options']=_0x377ee7;function _0x3836cd(_0x47c224,_0x5d3914){return _0x54a7f1(_0x5d3914-0x270,_0x47c224);}function _0x48a53c(_0xeea432,_0x14e45a){return _0x7afdbe(_0xeea432,_0x14e45a- -_0x2c470c._0x1753e9);}this['_key_index']=0x0,_0x377ee7['key']?this[_0x48a53c(0x9ff,0x12d6)]=Array[_0x3836cd(0x1f7b,0x16de)](_0x377ee7['key'])?_0x377ee7['key']:[_0x377ee7[_0x48a53c(_0xd5a0d0._0x1aff3a,0xee0)]]:this['_keys']=gaodeArr,this['_isWgs84']=this[_0x3836cd(_0xd5a0d0._0x397e19,0xb20)][_0x3836cd(0x1169,_0xd5a0d0._0x42dee8)]!==ChinaCRS[_0x3836cd(0xdd3,0xb72)];}get[_0x7afdbe(0xac9,0xa52)](){const _0x22ba3a={_0x913718:0x1216,_0x5f0997:0x17ca};function _0x48deca(_0x3cb2b1,_0x3eb5e7){return _0x54a7f1(_0x3cb2b1- -0x260,_0x3eb5e7);}return this[_0x48deca(_0x22ba3a._0x913718,_0x22ba3a._0x5f0997)];}set['keys'](_0x1ab1c1){this['_keys']=_0x1ab1c1;}get['key'](){const _0x1e130d={_0x441993:0xf26,_0x41a515:0x502,_0x40139f:0x131b,_0x56dbc9:0xe2a},_0x4ae69e={_0x17a56f:0x101};function _0x140449(_0x1549de,_0x3babc7){return _0x54a7f1(_0x3babc7- -_0x4ae69e._0x17a56f,_0x1549de);}function _0xde5740(_0x576244,_0x190c05){return _0x7afdbe(_0x576244,_0x190c05- -0x389);}const _0x4782fe=this[_0x140449(_0x1e130d._0x441993,_0x1e130d._0x41a515)]++%this[_0xde5740(0x1284,_0x1e130d._0x40139f)][_0xde5740(0xccb,_0x1e130d._0x56dbc9)];return this['_keys'][_0x4782fe];}['_formatRouteData'](_0x384fc8,_0x476697,_0x5a6e6f){const _0x42f9b5={_0x4f1495:0x60a,_0x34b499:0x2eb,_0x610210:0x110d,_0x33d713:0xddd,_0x57af20:0xadf,_0x389e96:0x1292,_0x3d664b:0xbdb,_0x3b483e:0x7d8,_0x134472:0x71d,_0x532f79:0xa45,_0x80e688:0xb5,_0x364544:0x951,_0x32ba8e:0xd4},_0x2dcd51={_0x436617:0x6d4};function _0x39f144(_0x2307ae,_0xe3207e){return _0x7afdbe(_0xe3207e,_0x2307ae- -_0x2dcd51._0x436617);}let _0x594a68,_0x3a1046;const _0x34df90=[];function _0x3ce10b(_0xcd4ba6,_0x3b64e6){return _0x54a7f1(_0xcd4ba6-0x205,_0x3b64e6);}_0x384fc8&&(_0x594a68=_0x384fc8[_0x39f144(0xd02,0x501)](','),this[_0x39f144(_0x42f9b5._0x4f1495,-_0x42f9b5._0x34b499)]&&(_0x594a68=gcj2wgs(_0x594a68)));_0x476697&&(_0x3a1046=_0x476697[_0x39f144(0xd02,0x13dd)](','),this[_0x39f144(0x60a,0xd4d)]&&(_0x3a1046=gcj2wgs(_0x3a1046)));if(_0x5a6e6f&&_0x5a6e6f['length']>0x0)for(let _0x124045=0x0;_0x124045<_0x5a6e6f['length'];_0x124045++){const _0x1f3295=[];_0x1f3295[_0x3ce10b(_0x42f9b5._0x610210,_0x42f9b5._0x33d713)](_0x594a68);const _0x2c6150=_0x5a6e6f[_0x124045],_0xbcbab5=_0x2c6150[_0x3ce10b(0x11a3,0x144f)],_0x55d581=[],_0x13b41a=[];let _0x59c408=0x0;for(let _0x4bee7a=0x0;_0x4bee7a<_0xbcbab5[_0x39f144(_0x42f9b5._0x57af20,0x973)];_0x4bee7a++){const _0x2396c={'instruction':_0xbcbab5[_0x4bee7a][_0x3ce10b(_0x42f9b5._0x389e96,0x1588)],'distance':Number(_0xbcbab5[_0x4bee7a][_0x3ce10b(_0x42f9b5._0x3d664b,0x8d5)]),'duration':Number(_0xbcbab5[_0x4bee7a]['cost']['duration']),'points':[],'route':_0xbcbab5[_0x4bee7a]['road_name']};_0x59c408+=_0x2396c['duration'];const _0x2e46ea=_0xbcbab5[_0x4bee7a]['polyline'],_0x5cf332=_0x2e46ea['split'](';');for(let _0xa584ab=0x0;_0xa584ab<_0x5cf332['length'];_0xa584ab++){const _0x472806=_0x5cf332[_0xa584ab];let _0x554e3d=_0x472806[_0x39f144(0xd02,0xb3b)](',');this['_isWgs84']&&(_0x554e3d=gcj2wgs(_0x554e3d)),_0x1f3295['push'](_0x554e3d),_0x2396c['points'][_0x39f144(0xa62,0x3f)](_0x554e3d);}_0x13b41a[_0x39f144(0xa62,_0x42f9b5._0x3b483e)](_0x2396c['route']),_0x55d581[_0x39f144(0xa62,0x5c4)](_0x2396c);}_0x1f3295['push'](_0x3a1046);const _0x402df7={};_0x402df7['allDistance']=_0x2c6150[_0x39f144(0xdeb,_0x42f9b5._0x134472)],_0x402df7['allDuration']=_0x59c408,_0x402df7['steps']=_0x55d581,_0x402df7[_0x3ce10b(_0x42f9b5._0x532f79,0x7e)]=_0x1f3295,_0x402df7['road']=_0x13b41a,_0x34df90[_0x39f144(0xa62,_0x42f9b5._0x80e688)](_0x402df7);}const _0x3e120f={};return _0x3e120f[_0x3ce10b(_0x42f9b5._0x364544,0xec4)]=_0x594a68,_0x3e120f['destination']=_0x3a1046,_0x3e120f[_0x39f144(0x771,-_0x42f9b5._0x32ba8e)]=_0x34df90,_0x3e120f;}['query'](_0x450e9b){const _0x2053c4={_0x92267e:0xa4f,_0x394904:0xfab,_0x1e7e76:0xf2b,_0x1a2d9c:0xb12};function _0x5ecd4f(_0x5302dd,_0x10c956){return _0x54a7f1(_0x5302dd-0x269,_0x10c956);}function _0x47ad87(_0x53acfc,_0x31dd96){return _0x54a7f1(_0x31dd96- -0x28d,_0x53acfc);}switch(_0x450e9b['type']){case RouteType[_0x47ad87(0x1175,_0x2053c4._0x92267e)]:return this[_0x47ad87(_0x2053c4._0x394904,_0x2053c4._0x1e7e76)](_0x450e9b);case RouteType[_0x5ecd4f(0xd83,0x3d1)]:return this['queryDriving'](_0x450e9b);case RouteType['Walking']:default:return this[_0x47ad87(_0x2053c4._0x1a2d9c,0x66a)](_0x450e9b);}}[_0x54a7f1(0x91e,0xf76)](_0x552aa0){const _0x495ac7={_0x555513:0x459,_0x3f40c3:0x881,_0x56c301:0x1146},_0x101fde={_0x145642:0x1582};return new Promise((_0x8c142f,_0x2fffdf)=>{const _0x3cf3c0={_0x5cd113:0x26},_0x5acc6b={_0x3eb837:0xc3a},_0x23a729=this;let _0x4fcafe=-0x1;const _0xe6df58={};for(const _0x578857 in _0x552aa0){if(_0x578857===_0x3db5eb(_0x495ac7._0x555513,0x74b)||_0x578857===_0x3db5eb(_0x495ac7._0x3f40c3,_0x495ac7._0x56c301)||_0x578857==='error')continue;_0xe6df58[_0x578857]=_0x552aa0[_0x578857];}const _0x52806f=_0x552aa0['points'];function _0x3db5eb(_0x308912,_0x3409a1){return _0x536c(_0x3409a1-0x32,_0x308912);}function _0x204ec5(_0x44e9f4,_0xe46844){return _0x536c(_0x44e9f4-0x146,_0xe46844);}const _0x3de639=[];function _0xc76895(){_0x4fcafe++,_0xe6df58['points']=_0x52806f[_0x4fcafe],_0xe6df58['success']=function(_0x4aafb1){const _0x3b9104={_0x334f05:0x204};function _0x14fb0c(_0x97730,_0x161a0d){return _0x536c(_0x161a0d- -0x1a7,_0x97730);}_0x4aafb1&&_0x4aafb1['paths']&&_0x4aafb1['paths']['length']>0x0?_0x3de639[_0x14fb0c(0x13d6,_0x5acc6b._0x3eb837)](_0x4aafb1['paths'][0x0]):_0x3de639['push'](null);function _0x463a56(_0x14066f,_0x490a46){return _0x536c(_0x490a46- -_0x3b9104._0x334f05,_0x14066f);}_0x4fcafe>=_0x52806f[_0x463a56(0xa94,0xc5a)]-0x1?(_0x552aa0['success']&&_0x552aa0[_0x463a56(0x6ca,0xf10)](_0x3de639),_0x8c142f(_0x3de639)):_0xc76895();},_0xe6df58['error']=_0xe6df58['success'];function _0x164442(_0x58c084,_0x3338ee){return _0x3db5eb(_0x58c084,_0x3338ee-_0x3cf3c0._0x5cd113);}_0x23a729[_0x164442(0x158e,_0x101fde._0x145642)](_0xe6df58);}_0xc76895();});}['getShortestPath'](_0x36b794){let _0x369c4f=Number['MAX_VALUE'],_0x36160a=null,_0x4e702f=-0x1;for(let _0xfb19cd=0x0;_0xfb19cd<_0x36b794['length'];_0xfb19cd++){const _0x251407=_0x36b794[_0xfb19cd];_0x251407&&(_0x251407['allDistance']<=_0x369c4f&&(_0x36160a=_0x251407,_0x4e702f=_0xfb19cd,_0x369c4f=_0x251407['allDistance']));}const _0x282183={};return _0x282183['lineData']=_0x36160a,_0x282183['index']=_0x4e702f,_0x282183;}[_0x54a7f1(0x8f7,0x11ff)](_0x2f9d5c){const _0x2299c2={_0x551c9a:0x12ca,_0x2d24c6:0x9af,_0x171a5e:0x2c5,_0x3ff600:0x6fe,_0x53eab1:0x1171,_0x16d960:0x132c,_0x191a03:0xb38,_0x3b42de:0x96e,_0x3581d8:0xe44,_0x710500:0x471},_0xf85be1={_0x18b0c4:0x10de},_0xb7715={_0x5a441e:0x124},_0x5de654={_0xfa51ab:0x1c8c,_0x2b4de7:0x123e,_0x28308b:0x119e,_0x69b555:0x9eb,_0x25f175:0x4bd,_0x4ebbb3:0x47d,_0x41cea4:0x7dc,_0x38ee71:0xde,_0x4bed4d:0xb07},_0x2b12eb={_0x582375:0x2fc},_0x3e7415={};_0x3e7415['key']=this['key'],_0x3e7415[_0x7f757c(0x848,_0x2299c2._0x551c9a)]=_0x7f757c(_0x2299c2._0x2d24c6,0x2fe);function _0x4cb2c1(_0xe82aaa,_0x2a1760){return _0x54a7f1(_0x2a1760- -0x142,_0xe82aaa);}_0x3e7415['output']='json';const _0xa9caf8=_0x3e7415;let _0x8a2670=_0x2f9d5c[_0x4cb2c1(-_0x2299c2._0x171a5e,_0x2299c2._0x3ff600)][0x0],_0x4a4d60=_0x2f9d5c['points'][_0x2f9d5c[_0x4cb2c1(-0x55,0x6fe)][_0x7f757c(_0x2299c2._0x53eab1,_0x2299c2._0x16d960)]-0x1];this[_0x4cb2c1(_0x2299c2._0x191a03,_0x2299c2._0x3b42de)]&&(_0x8a2670=wgs2gcj(_0x8a2670),_0x4a4d60=wgs2gcj(_0x4a4d60));_0xa9caf8[_0x7f757c(0x938,0xac8)]=_0x8a2670[0x0]+','+_0x8a2670[0x1],_0xa9caf8['destination']=_0x4a4d60[0x0]+','+_0x4a4d60[0x1];const _0x57eb56={'url':'https://restapi.amap.com/v5/direction/walking','queryParameters':_0xa9caf8,...this['options']};function _0x7f757c(_0x5f2fe7,_0x14e792){return _0x54a7f1(_0x5f2fe7-0x1ec,_0x14e792);}return fetchJson(_0x57eb56)[_0x4cb2c1(_0x2299c2._0x3581d8,_0x2299c2._0x710500)](_0x2f2390=>{const _0xd9eb9f={_0x32f2bb:0x7d};function _0x3ae961(_0x57d06a,_0x4729bb){return _0x7f757c(_0x4729bb- -_0xd9eb9f._0x32f2bb,_0x57d06a);}if(_0x2f2390[_0x17be56(0x16e7,0xf41)]!==_0x3ae961(0xb34,0x14fb)){if(_0x2f9d5c[_0x3ae961(_0x5de654._0xfa51ab,_0x5de654._0x2b4de7)]){const _0x369227=_0x3ae961(_0x5de654._0x28308b,0x1028)+_0x2f2390[_0x17be56(0x875,0xf41)]+'):'+_0x2f2390['info'];_0x2f9d5c[_0x3ae961(0x1468,0x123e)](_0x369227);}return;}if(!_0x2f2390[_0x3ae961(_0x5de654._0x69b555,_0x5de654._0x25f175)]||!_0x2f2390[_0x17be56(_0x5de654._0x4ebbb3,0x23e)][_0x17be56(0xd9,0xb07)]){_0x2f9d5c['error']&&_0x2f9d5c['error'](_0x17be56(-_0x5de654._0x41cea4,0x267));return;}const _0x1bb271=this['_formatRouteData'](_0xa9caf8['origin'],_0xa9caf8['destination'],_0x2f2390['route'][_0x17be56(_0x5de654._0x38ee71,_0x5de654._0x4bed4d)]);function _0x17be56(_0x119c54,_0x5e6b49){return _0x7f757c(_0x5e6b49- -_0x2b12eb._0x582375,_0x119c54);}return _0x2f9d5c['success']&&_0x2f9d5c['success'](_0x1bb271),_0x1bb271;})[_0x4cb2c1(0x285,0x8e6)](_0x3e9748=>{logError('GaodeRoute\x20请求出错',_0x3e9748);function _0x22ecaa(_0x2484e5,_0x449bcc){return _0x4cb2c1(_0x2484e5,_0x449bcc- -_0xb7715._0x5a441e);}_0x2f9d5c['error']&&_0x2f9d5c['error'](_0x22ecaa(_0xf85be1._0x18b0c4,0xf34),_0x3e9748);});}[_0x7afdbe(0x1ba4,0x13e6)](_0x59fdf4){const _0x4c4945={_0x286d23:0x1275,_0x20bf22:0x54f,_0x453a77:0xe22,_0x3936fa:0xf6e,_0x78c766:0x2c2},_0x34940e={_0x569ade:0xb0f,_0x2f5496:0xdc2,_0x165360:0x34d,_0xd27c25:0xab3,_0x22a9e5:0x625,_0x59936b:0x11a6},_0x5298df={_0x37b869:0x47e},_0x524eb1={_0x484d34:0x51f};function _0x1209ba(_0x18fe9f,_0x22ed22){return _0x7afdbe(_0x18fe9f,_0x22ed22- -_0x524eb1._0x484d34);}const _0x44ab11={};function _0x14af87(_0x1d4559,_0x28ba4f){return _0x54a7f1(_0x1d4559-0x1ef,_0x28ba4f);}_0x44ab11['key']=this['key'],_0x44ab11['show_fields']='polyline,cost',_0x44ab11['output']=_0x14af87(0x1321,_0x4c4945._0x286d23);const _0x3badae=_0x44ab11;let _0x3cf609=_0x59fdf4['points'][0x0],_0x547008=_0x59fdf4[_0x1209ba(0xf89,_0x4c4945._0x20bf22)][_0x59fdf4[_0x14af87(0xa2f,0xec4)][_0x14af87(0x1174,0x11a2)]-0x1];this[_0x1209ba(_0x4c4945._0x453a77,0x7bf)]&&(_0x3cf609=wgs2gcj(_0x3cf609),_0x547008=wgs2gcj(_0x547008));_0x3badae['origin']=_0x3cf609[0x0]+','+_0x3cf609[0x1],_0x3badae['destination']=_0x547008[0x0]+','+_0x547008[0x1];const _0x4197f3={'url':_0x1209ba(0x8c6,_0x4c4945._0x3936fa),'queryParameters':_0x3badae,...this['options']};return fetchJson(_0x4197f3)[_0x1209ba(-0xf9,_0x4c4945._0x78c766)](_0x1a6ab1=>{if(_0x1a6ab1['infocode']!=='10000'){const _0x282905='路径规划\x20请求失败('+_0x1a6ab1[_0x146666(_0x34940e._0x569ade,_0x34940e._0x2f5496)]+'):'+_0x1a6ab1['info'];_0x59fdf4['error']&&_0x59fdf4['error'](_0x282905);return;}function _0xee5233(_0x554ff4,_0x10f3d6){return _0x14af87(_0x554ff4- -0x19d,_0x10f3d6);}if(!_0x1a6ab1['route']||!_0x1a6ab1[_0x146666(0x6a,0xbf)][_0x146666(_0x34940e._0x165360,0x988)]){_0x59fdf4['error']&&_0x59fdf4[_0x146666(0xe63,0xe40)](_0x146666(_0x34940e._0xd27c25,0xe8));return;}function _0x146666(_0x46d128,_0x4fed49){return _0x14af87(_0x4fed49- -_0x5298df._0x37b869,_0x46d128);}const _0x1ddce9=this['_formatRouteData'](_0x3badae[_0xee5233(0x79e,0xf)],_0x3badae['destination'],_0x1a6ab1[_0xee5233(0x3a0,-_0x34940e._0x22a9e5)][_0x146666(_0x34940e._0x59936b,0x988)]);return _0x59fdf4['success']&&_0x59fdf4[_0x146666(0x526,0xfac)](_0x1ddce9),_0x1ddce9;})['catch'](_0x11ac98=>{logError('GaodeRoute\x20请求出错',_0x11ac98),_0x59fdf4['error']&&_0x59fdf4['error']('请求出错',_0x11ac98);});}[_0x54a7f1(0x227,0x875)](_0x201554){const _0x15c761={_0x4317ae:0x652,_0x189c7c:0xc79,_0x3be952:0xc08,_0x428e23:0x1060},_0x2a0b56={_0x288671:0x1be2,_0x3a2284:0x130d,_0x24da65:0x9fa},_0x201189={_0x33a1e0:0x167a,_0x459c58:0x122a,_0x11faf8:0x6f9,_0x2e2c70:0x277,_0x54a246:0xf08,_0x3704ab:0x1669,_0x17a3cf:0x73,_0x43a3da:0x7e5,_0x22ff95:0xb9f,_0x314856:0x1018};function _0x507485(_0x5aa6ba,_0x517d05){return _0x54a7f1(_0x5aa6ba- -0xa,_0x517d05);}function _0x16b662(_0x7cb981,_0x323313){return _0x54a7f1(_0x7cb981-0x158,_0x323313);}var _0x53f5fc;const _0x30d1f8={};_0x30d1f8['key']=this[_0x16b662(0x11d8,0x8f0)],_0x30d1f8[_0x507485(_0x15c761._0x4317ae,0x842)]='polyline,cost',_0x30d1f8['output']=_0x507485(0x1128,_0x15c761._0x189c7c),_0x30d1f8['strategy']=_0x201554[_0x16b662(0xd48,0x122a)]||0x0;const _0x52e57a=_0x30d1f8;let _0x51bc4e=_0x201554['points'][0x0],_0x2e94dd=_0x201554['points'][_0x201554['points']['length']-0x1];this[_0x16b662(_0x15c761._0x3be952,0x13c8)]&&(_0x51bc4e=wgs2gcj(_0x51bc4e),_0x2e94dd=wgs2gcj(_0x2e94dd));_0x52e57a['origin']=_0x51bc4e[0x0]+','+_0x51bc4e[0x1],_0x52e57a[_0x507485(0x702,0x77)]=_0x2e94dd[0x0]+','+_0x2e94dd[0x1];if(_0x201554['points']['length']>0x2){let _0x23d9fa='';for(let _0x9f2b06=0x1,_0x1cd587=_0x201554['points']['length']-0x1;_0x9f2b06<_0x1cd587;_0x9f2b06++){let _0x2524a2=_0x201554['points'][_0x9f2b06];this['_isWgs84']&&(_0x2524a2=wgs2gcj(_0x2524a2)),_0x23d9fa+=_0x2524a2[0x0]+','+_0x2524a2[0x1]+';';}_0x52e57a['waypoints']=_0x23d9fa;}if(((_0x53f5fc=_0x201554['avoidpolygons'])===null||_0x53f5fc===void 0x0?void 0x0:_0x53f5fc['length'])>0x0){let _0x5aac32='';for(let _0x144c90=0x0,_0x5f43e5=_0x201554['avoidpolygons'][_0x507485(0xf7b,_0x15c761._0x428e23)];_0x144c90<_0x5f43e5;_0x144c90++){_0x144c90>0x0&&(_0x5aac32+='|');const _0x329b47=_0x201554['avoidpolygons'][_0x144c90];for(let _0x1de53f=0x0,_0x532120=_0x329b47['length'];_0x1de53f<_0x532120;_0x1de53f++){let _0x2a5211=_0x329b47[_0x1de53f];this[_0x507485(0xaa6,0x89c)]&&(_0x2a5211=wgs2gcj(_0x2a5211)),_0x5aac32+=_0x2a5211[0x0]+','+_0x2a5211[0x1]+';';}}_0x52e57a['avoidpolygons']=_0x5aac32;}const _0x33fc1d={'url':_0x16b662(0xffb,0xd70),'queryParameters':_0x52e57a,...this['options']};return fetchJson(_0x33fc1d)['then'](_0x13dbdc=>{const _0x5ebf2a={_0x2e914f:0x81};if(_0x13dbdc[_0x41b066(_0x201189._0x33a1e0,_0x201189._0x459c58)]!==_0x41b066(0x1052,0x1565)){if(_0x201554['error']){const _0x1bb2cc='路径规划\x20请求失败('+_0x13dbdc[_0x26beb8(_0x201189._0x11faf8,0xe2e)]+'):'+_0x13dbdc['info'];_0x201554['error'](_0x1bb2cc);}return;}if(!_0x13dbdc[_0x41b066(-_0x201189._0x2e2c70,0x527)]||!_0x13dbdc['route']['paths']||_0x13dbdc[_0x41b066(_0x201189._0x54a246,0x527)]['paths']['length']===0x0){_0x201554['error']&&_0x201554[_0x41b066(_0x201189._0x3704ab,0x12a8)](_0x41b066(_0x201189._0x17a3cf,0x550));return;}const _0x4a7d19=this[_0x26beb8(0xdbb,0x643)](_0x52e57a[_0x26beb8(_0x201189._0x43a3da,0x529)],_0x52e57a[_0x41b066(0x2f4,0x8e5)],_0x13dbdc['route']['paths']);_0x201554['success']&&_0x201554[_0x26beb8(_0x201189._0x22ff95,_0x201189._0x314856)](_0x4a7d19);function _0x26beb8(_0x21388d,_0x3fb123){return _0x16b662(_0x3fb123- -0x37b,_0x21388d);}function _0x41b066(_0x228e26,_0x579704){return _0x16b662(_0x579704-_0x5ebf2a._0x2e914f,_0x228e26);}return _0x4a7d19;})['catch'](_0x31331d=>{logError('GaodeRoute\x20请求出错',_0x31331d);function _0x406d4c(_0x4bb47e,_0x1f8dcc){return _0x507485(_0x1f8dcc- -0x131,_0x4bb47e);}function _0x5965f8(_0x3fb906,_0x57dd70){return _0x16b662(_0x3fb906-0x1b,_0x57dd70);}_0x201554['error']&&_0x201554[_0x5965f8(0x1242,_0x2a0b56._0x288671)](_0x5965f8(_0x2a0b56._0x3a2284,_0x2a0b56._0x24da65),_0x31331d);});}}GaodeRoute['RouteType']=RouteType;const _0x1c85c8={};_0x1c85c8['service']=_0x54a7f1(0x13be,0x91c),_0x1c85c8['request']='GetFeature',_0x1c85c8[_0x7afdbe(0x1005,0xbca)]='1.0.0',_0x1c85c8['outputFormat']=_0x54a7f1(0x1529,0x19e8),_0x1c85c8['maxFeatures']=0x3e8;const Def_Parameters=_0x1c85c8;class QueryGeoServer extends BaseClass{get['layer'](){const _0x47c956={_0x310a7e:0x839,_0x594f48:0x31c,_0x29b135:0x789};function _0xabd530(_0x103cac,_0x569468){return _0x7afdbe(_0x569468,_0x103cac- -0xe4);}function _0x491c7f(_0x443088,_0x140eae){return _0x7afdbe(_0x443088,_0x140eae- -0x32f);}if(!this['_geoJsonLayer']){const _0x6ad091={...this['options']},_0x51e25b=_0x6ad091;delete _0x51e25b[_0xabd530(0xb6d,_0x47c956._0x310a7e)],delete _0x51e25b[_0x491c7f(0xbff,0xb6e)],this[_0x491c7f(0x11dd,0x821)]=new GeoJsonLayer(_0x51e25b),this[_0x491c7f(_0x47c956._0x594f48,0x821)]['on'](EventType['load'],this['geoJsonLayer_onLoadHandler'],this),this[_0xabd530(0xa6c,_0x47c956._0x29b135)]['on'](EventType['click'],this['geoJsonLayer_onClickHandler'],this);}return this['_geoJsonLayer'];}[_0x54a7f1(0x1651,0x1252)](_0x4b5bf1){const _0x2686f6={_0x1170a5:0x13d2,_0x24de97:0x217,_0x4c6908:0x4b0,_0x10d7af:0x1624,_0x5e0171:0x781,_0x1ec145:0x15cf,_0x4a762e:0x1363,_0x39b5df:0x180e,_0x32cc72:0x873,_0x1b2578:0xebe,_0x2377da:0xe53,_0xd18182:0x147c,_0x4e2b42:0x99,_0x539e6e:0xb77,_0x23fa43:0xf8f,_0x4952ad:0x12da,_0x4c0ba5:0xf71,_0x5d0b78:0xd34,_0x5524a3:0xc3b},_0x21c36a={_0x3a779e:0x54c},_0x57a367={_0x182bc3:0xb5};let _0x3e0f80='<Filter\x20xmlns=\x22http://www.opengis.net/ogc\x22\x20xmlns:gml=\x22http://www.opengis.net/gml\x22><And>';_0x4b5bf1['text']&&(Cesium__namespace['defaultValue'](_0x4b5bf1[_0x5af2f8(0xc38,0x13e8)],!![])?_0x3e0f80+='\x20<PropertyIsLike\x20wildCard=\x22*\x22\x20singleChar=\x22#\x22\x20escapeChar=\x22!\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<PropertyName>'+_0x4b5bf1[_0x3563dd(0x159a,_0x2686f6._0x1170a5)]+'</PropertyName>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<Literal>*'+_0x4b5bf1['text']+'*</Literal>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</PropertyIsLike>':_0x3e0f80+='<PropertyIsEqualTo>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<PropertyName>'+_0x4b5bf1[_0x5af2f8(0x163b,0x18ac)]+'</PropertyName>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<Literal>'+_0x4b5bf1['text']+'</Literal>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</PropertyIsEqualTo>\x20');if(_0x4b5bf1['graphic']){const _0x2ba320=_0x4b5bf1[_0x5af2f8(0x513,-0x541)];let _0x280711;if(_0x2ba320['type']===_0x5af2f8(_0x2686f6._0x24de97,-_0x2686f6._0x4c6908))_0x280711=_0x2ba320[_0x5af2f8(_0x2686f6._0x10d7af,0x1bee)];else{if(_0x2ba320[_0x5af2f8(_0x2686f6._0x5e0171,0x33e)]==='polygon')_0x280711=_0x2ba320['coordinates'];else{if(_0x2ba320[_0x5af2f8(0x781,0x61d)]==='circle')_0x280711=_0x2ba320['getOutlineCoordinates'](!![],0x1e);else Cesium__namespace['defined'](_0x2ba320[_0x3563dd(_0x2686f6._0x1ec145,0xe75)])&&Cesium__namespace['defined'](_0x2ba320['xmin'])&&Cesium__namespace['defined'](_0x2ba320[_0x3563dd(0x10f,0x7f6)])&&Cesium__namespace[_0x3563dd(0x1b5b,_0x2686f6._0x4a762e)](_0x2ba320['ymax'])&&(_0x280711=[[_0x2ba320['xmin'],_0x2ba320['ymax']],[_0x2ba320['xmin'],_0x2ba320[_0x5af2f8(0xa5f,0xff1)]],[_0x2ba320['xmax'],_0x2ba320['ymin']],[_0x2ba320[_0x5af2f8(0x10de,_0x2686f6._0x39b5df)],_0x2ba320[_0x3563dd(_0x2686f6._0x32cc72,_0x2686f6._0x1b2578)]]]);}}if(_0x280711){_0x280711[_0x5af2f8(_0x2686f6._0x2377da,_0x2686f6._0xd18182)](_0x280711[0x0]);let _0x12a9e3='';for(let _0x5706ce=0x0;_0x5706ce<_0x280711['length'];_0x5706ce++){let _0x905355=_0x280711[_0x5706ce];this[_0x5af2f8(0x7fb,-_0x2686f6._0x4e2b42)][_0x3563dd(-0x8bf,0x1bd)]&&this['options'][_0x3563dd(-0x17e,0x1bd)]!==CRS['EPSG4326']&&this['options']['crs']!==CRS['EPSG4490']&&(_0x905355=proj4Trans(_0x905355,'EPSG:4326',this['options']['crs'])),_0x12a9e3+=_0x905355[0x0]+','+_0x905355[0x1]+'\x20';}_0x3e0f80+=_0x3563dd(0x62a,_0x2686f6._0x539e6e)+(_0x4b5bf1[_0x3563dd(0x1087,_0x2686f6._0x23fa43)]||_0x3563dd(0x10d4,_0x2686f6._0x4952ad))+_0x3563dd(0x1417,0xb47)+_0x12a9e3+'</gml:coordinates>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</gml:LinearRing>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</gml:outerBoundaryIs>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</gml:Polygon>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</Intersects>';}}_0x3e0f80+='</And></Filter>';const _0x12569d={...Def_Parameters,..._0x4b5bf1};_0x12569d[_0x5af2f8(0x163f,_0x2686f6._0x4c0ba5)]=this['options']['layer'],_0x12569d[_0x3563dd(0xa62,_0x2686f6._0x5d0b78)]=_0x3e0f80;const _0x4aef0c=_0x12569d;function _0x5af2f8(_0x1bd172,_0x3a956d){return _0x54a7f1(_0x1bd172- -_0x57a367._0x182bc3,_0x3a956d);}delete _0x4aef0c['success'],delete _0x4aef0c['error'],delete _0x4aef0c[_0x3563dd(_0x2686f6._0x5524a3,0x2aa)];function _0x3563dd(_0x405bb5,_0xff62ba){return _0x7afdbe(_0x405bb5,_0xff62ba- -_0x21c36a._0x3a779e);}return delete _0x4aef0c['text'],delete _0x4aef0c['column'],new Promise((_0x48f8af,_0x49c902)=>{const _0x539020={_0x5c5084:0x3ca},_0x2f36db={...this[_0x16792f(0x742,0xc0e)]};function _0x16792f(_0x3b4998,_0x445660){return _0x5af2f8(_0x3b4998- -0xb9,_0x445660);}_0x2f36db['queryParameters']=_0x4aef0c;function _0x482684(_0x2a6156,_0x3d8c7b){return _0x3563dd(_0x2a6156,_0x3d8c7b-0x36a);}sendAjax(_0x2f36db)['then'](_0x1d2ce9=>{const _0xaa8730={};_0xaa8730['resolve']=_0x48f8af,_0xaa8730['reject']=_0x49c902;function _0x740034(_0x57c5db,_0x4d5432){return _0x16792f(_0x57c5db-0x2b5,_0x4d5432);}_0x4b5bf1[_0x740034(_0x539020._0x5c5084,-0x205)]=_0xaa8730,this['processFeatureCollection'](_0x1d2ce9,_0x4b5bf1);})[_0x16792f(0x8ba,0xe11)](_0x12081d=>{logError('QueryGeoServer\x20请求出错',_0x12081d),_0x4b5bf1['error']&&_0x4b5bf1['error']('请求出错',_0x12081d);});});}['queryBySql'](_0xf904a1){const _0x3d5854={_0x13effa:0x16b8,_0x529c3d:0x1682,_0x1e6bd0:0x852,_0x1f8318:0x1890,_0x2d19d0:0x14e9,_0x5e6359:0x16d9,_0x38b967:0x1578,_0x1e6348:0x1d54,_0x41e3d3:0xaaf,_0x498ce4:0xb57,_0x225f48:0x1277,_0x2b69bb:0x118f},_0x3e1b21={_0xad6828:0x2c3},_0x47e12d={_0x331565:0x41c};let _0x5f5675=_0xf904a1['cql_filter']||'1=1';if(_0xf904a1['graphic']){let _0x2939c9=_0xf904a1['graphic'];const _0x5aae7e=_0xf904a1['geometryName']||_0x156ef3(0x18df,_0x3d5854._0x13effa);let _0x5f2c06;if(_0x2939c9[_0x505166(0x88e,0x1ac)]==='rectangle'){const _0x1b88fa={};_0x1b88fa[_0x156ef3(0x15ac,0x17da)]=!![],_0x2939c9=_0x2939c9[_0x505166(0x1314,_0x3d5854._0x529c3d)](_0x1b88fa);const _0x5f390f=_0x2939c9['xmin']+','+_0x2939c9[_0x505166(0xb6c,_0x3d5854._0x1e6bd0)]+','+_0x2939c9['xmax']+','+_0x2939c9[_0x505166(0x1234,_0x3d5854._0x1f8318)];_0x5f5675+='\x20and\x20BBOX('+_0x5aae7e+',\x20'+_0x5f390f+')';}else{if(_0x2939c9['type']==='polygon')_0x5f2c06=_0x2939c9['coordinates'];else{if(_0x2939c9['type']===_0x156ef3(_0x3d5854._0x2d19d0,0x106b))_0x5f2c06=_0x2939c9['getOutlineCoordinates'](!![],0x1e);else{if(Cesium__namespace[_0x505166(_0x3d5854._0x5e6359,_0x3d5854._0x38b967)](_0x2939c9['xmax'])&&Cesium__namespace['defined'](_0x2939c9['xmin'])&&Cesium__namespace['defined'](_0x2939c9[_0x505166(0xb6c,0xcda)])&&Cesium__namespace[_0x156ef3(_0x3d5854._0x1e6348,0x1741)](_0x2939c9['ymax'])){const _0x383caf=_0x2939c9['xmin']+','+_0x2939c9[_0x505166(0xb6c,0x1281)]+','+_0x2939c9['xmax']+','+_0x2939c9[_0x156ef3(_0x3d5854._0x41e3d3,0x129c)];_0x5f5675+='\x20and\x20BBOX('+_0x5aae7e+',\x20'+_0x383caf+')';}}}}if(_0x5f2c06){_0x5f2c06['push'](_0x5f2c06[0x0]);const _0x8c9905=[];for(let _0x4fae21=0x0;_0x4fae21<_0x5f2c06[_0x505166(0xfdd,0xeff)];_0x4fae21++){_0x8c9905['push'](_0x5f2c06[_0x4fae21][0x0]+'\x20'+_0x5f2c06[_0x4fae21][0x1]);}_0x5f5675+=_0x505166(0xcef,_0x3d5854._0x498ce4)+_0x5aae7e+',POLYGON(('+_0x8c9905['join'](',')+')))';}}const _0x349305={...Def_Parameters,..._0xf904a1};_0x349305['typeName']=this[_0x156ef3(0xa52,0x970)][_0x505166(0x1372,_0x3d5854._0x225f48)],_0x349305[_0x156ef3(0x1502,0x1756)]=_0x5f5675;const _0x9d204=_0x349305;delete _0x9d204['success'];function _0x156ef3(_0x3743b4,_0x5efa95){return _0x7afdbe(_0x3743b4,_0x5efa95- -0x16e);}delete _0x9d204[_0x156ef3(0xe98,_0x3d5854._0x2b69bb)],delete _0x9d204['graphic'];function _0x505166(_0x2424a0,_0x24773f){return _0x7afdbe(_0x24773f,_0x2424a0- -0x1d6);}return new Promise((_0x55f0e1,_0x445102)=>{const _0x5b07c9={_0x49f68c:0xcba},_0x2d6163={...this[_0x1a70ee(0x6e1,0x8d0)]};function _0x1a70ee(_0x14f0a4,_0x181ad4){return _0x505166(_0x14f0a4- -0x227,_0x181ad4);}function _0xce2907(_0x382fcd,_0x236211){return _0x505166(_0x382fcd- -_0x47e12d._0x331565,_0x236211);}_0x2d6163['queryParameters']=_0x9d204,sendAjax(_0x2d6163)[_0xce2907(0x1ef,0xc1b)](_0x3db3ca=>{const _0x13c8e0={};function _0x228b8d(_0x58b279,_0x38733b){return _0x1a70ee(_0x58b279-0x20f,_0x38733b);}_0x13c8e0['resolve']=_0x55f0e1,_0x13c8e0['reject']=_0x445102,_0xf904a1[_0x228b8d(_0x3e1b21._0xad6828,0x4c8)]=_0x13c8e0,this['processFeatureCollection'](_0x3db3ca,_0xf904a1);})['catch'](_0x386f86=>{const _0x1ff40c={_0x185f55:0x29d};function _0x12703d(_0x241463,_0x376933){return _0x1a70ee(_0x241463- -0x1d4,_0x376933);}function _0x20d283(_0x1492c1,_0x56a060){return _0xce2907(_0x1492c1-_0x1ff40c._0x185f55,_0x56a060);}logError(_0x20d283(0x13e6,_0x5b07c9._0x49f68c),_0x386f86),_0xf904a1[_0x12703d(0xd2c,0x133c)]&&_0xf904a1[_0x12703d(0xd2c,0x1571)]('请求出错',_0x386f86);});});}[_0x54a7f1(0x541,-0x44f)](_0x28227d,_0x32f68a){const _0x27bcee={_0x3586a0:0x1c,_0x19c0c7:0x931,_0x12cd02:0xf9e,_0x5d50a6:0x490,_0x4e7abc:0x29c,_0x465aa0:0xdbb,_0x198d11:0xd2c,_0x52f848:0x643,_0x4cdddd:0xf9e,_0x1ee068:0xac3},_0x5afd11={_0x27570a:0x7da,_0x8d8d85:0x183},_0x36d43c={_0x1cde4b:0x2df};function _0x3ff420(_0x23a8a5,_0x1a5158){return _0x54a7f1(_0x1a5158- -_0x36d43c._0x1cde4b,_0x23a8a5);}function _0x5b3e33(_0x2286d6,_0x33b0c6){return _0x7afdbe(_0x2286d6,_0x33b0c6- -0x215);}_0x28227d&&_0x28227d[_0x5b3e33(0x1003,0x84f)]===_0x3ff420(0xf50,0x12f2)&&(_0x28227d={'type':'FeatureCollection','features':[_0x28227d]});if(!_0x28227d||!_0x28227d['features']||_0x28227d[_0x3ff420(-_0x27bcee._0x3586a0,0x22d)][_0x5b3e33(_0x27bcee._0x19c0c7,_0x27bcee._0x12cd02)]===0x0){var _0x39bdcf;if(_0x32f68a['success']){const _0x24df82={};_0x24df82['count']=0x0,_0x32f68a['success'](_0x24df82);}if((_0x39bdcf=_0x32f68a[_0x5b3e33(_0x27bcee._0x5d50a6,_0x27bcee._0x4e7abc)])!==null&&_0x39bdcf!==void 0x0&&_0x39bdcf[_0x5b3e33(0x1143,_0x27bcee._0x465aa0)]){const _0xa5091f={};_0xa5091f[_0x5b3e33(0x1b2f,0x10ba)]=0x0,_0x32f68a[_0x5b3e33(0x31d,0x29c)]['resolve'](_0xa5091f);}}else{const _0x4da45e=[];for(let _0x8064eb=0x0;_0x8064eb<_0x28227d['features']['length'];_0x8064eb++){var _0x1cc844;const _0x3e4581=_0x28227d[_0x5b3e33(0xe7,0x525)][_0x8064eb];(_0x3e4581===null||_0x3e4581===void 0x0||(_0x1cc844=_0x3e4581[_0x3ff420(_0x27bcee._0x198d11,0x12d0)])===null||_0x1cc844===void 0x0||(_0x1cc844=_0x1cc844['coordinates'])===null||_0x1cc844===void 0x0?void 0x0:_0x1cc844['length'])>0x0&&_0x4da45e[_0x3ff420(0x704,0xc29)](_0x3e4581);}_0x28227d[_0x5b3e33(0x80e,0x525)]=_0x4da45e;if(this['_geoJsonLayer']){this['_last_success']=_0x3f92d4=>{function _0x3ac04f(_0x752163,_0x2c871d){return _0x3ff420(_0x752163,_0x2c871d-0x99);}var _0x4213a9;function _0x10df83(_0x470a4f,_0x380b1d){return _0x3ff420(_0x470a4f,_0x380b1d-0x1df);}const _0x4ecb2d={};_0x4ecb2d['geojson']=_0x28227d,_0x4ecb2d['count']=_0x28227d['features']['length'],_0x4ecb2d['list']=_0x3f92d4;const _0x89520b=_0x4ecb2d;_0x32f68a['success']&&_0x32f68a['success'](_0x89520b),(_0x4213a9=_0x32f68a[_0x3ac04f(-_0x5afd11._0x27570a,0x3d)])!==null&&_0x4213a9!==void 0x0&&_0x4213a9['resolve']&&_0x32f68a[_0x10df83(-0x29c,_0x5afd11._0x8d8d85)][_0x3ac04f(0xd21,0xb5c)](_0x89520b);};const _0x3da74c={};_0x3da74c['data']=_0x28227d,this[_0x3ff420(-0x362,_0x27bcee._0x52f848)]['load'](_0x3da74c);}else{var _0x126196;const _0x568c82={};_0x568c82['geojson']=_0x28227d,_0x568c82['count']=_0x28227d['features'][_0x5b3e33(0x1408,_0x27bcee._0x4cdddd)];const _0x419a32=_0x568c82;_0x32f68a['success']&&_0x32f68a['success'](_0x419a32),(_0x126196=_0x32f68a['_promise'])!==null&&_0x126196!==void 0x0&&_0x126196[_0x3ff420(0x138f,_0x27bcee._0x1ee068)]&&_0x32f68a['_promise']['resolve'](_0x419a32);}}}['geoJsonLayer_onLoadHandler'](_0x27a19b){const _0x2bb0b6={_0x1ecc5c:0xb05,_0x1ccfd4:0x2be};function _0x42946f(_0xa0f616,_0x530ef3){return _0x7afdbe(_0xa0f616,_0x530ef3- -0x351);}function _0x2fe42e(_0x2bcfe3,_0x271aff){return _0x54a7f1(_0x2bcfe3- -0x13d,_0x271aff);}this[_0x42946f(0xc5,_0x2bb0b6._0x1ecc5c)]&&(this['_last_success'](_0x27a19b['list']),this['_last_success']=null),this['fire'](EventType[_0x42946f(-_0x2bb0b6._0x1ccfd4,0x414)],_0x27a19b);}[_0x54a7f1(0xe42,0x6df)](_0x1af6a3){const _0xd975ed={_0x4b2628:0xbbc},_0x26af76={_0x2e2554:0x91};function _0x166fb3(_0x4b1107,_0x298c36){return _0x7afdbe(_0x298c36,_0x4b1107-_0x26af76._0x2e2554);}this['fire'](EventType['click'],{..._0x1af6a3,'layer':this[_0x166fb3(0xbe1,_0xd975ed._0x4b2628)]});}[_0x7afdbe(0x1210,0x1551)](){const _0x3515b4={_0x451163:0x928,_0x5845e8:0x5be,_0x27942c:0xb14,_0x1f94f2:0x1023},_0x4a1d51={_0x1e418f:0x52e};function _0xa2a777(_0x198206,_0x21d5fe){return _0x7afdbe(_0x198206,_0x21d5fe- -_0x4a1d51._0x1e418f);}this['_last_success']&&(this[_0xa2a777(0xdfb,_0x3515b4._0x451163)]=null);function _0x4c0218(_0x26cc1e,_0x2af8f4){return _0x7afdbe(_0x26cc1e,_0x2af8f4- -0x3c);}this[_0x4c0218(0x1276,0xb14)]&&this[_0x4c0218(_0x3515b4._0x5845e8,_0x3515b4._0x27942c)][_0xa2a777(0xf62,_0x3515b4._0x1f94f2)]();}}class QueryArcServer extends BaseClass{constructor(_0x21e47c={}){const _0x2e345b={_0x6f5664:0x16d,_0x11b989:0x1191};super(_0x21e47c);function _0x438a62(_0x2d796a,_0x5b01a4){return _0x7afdbe(_0x2d796a,_0x5b01a4- -0x1d7);}this[_0x438a62(0x579,0x907)]=_0x21e47c;function _0x4efd96(_0x58cef1,_0x9ea106){return _0x7afdbe(_0x9ea106,_0x58cef1- -0x527);}this['_pageSize']=_0x21e47c[_0x4efd96(0x4e0,-_0x2e345b._0x6f5664)]??0xa,this['_allCount']=0x0,this['_allPage']=0x0,this['_pageIndex']=0x1,this[_0x438a62(_0x2e345b._0x11b989,0xa21)]=[];}get[_0x7afdbe(0x167e,0xc51)](){return this['options']['url'];}set['url'](_0x4e2a52){const _0x6dd52d={_0x2106fe:0xa93,_0x7130d2:0xb48},_0x3563c9={_0xde20a4:0x298},_0x445012={_0x4eb64f:0x7e};function _0x3bb733(_0x36abac,_0x50c8a7){return _0x7afdbe(_0x50c8a7,_0x36abac- -_0x445012._0x4eb64f);}function _0x55b102(_0x20ce8c,_0x48a21e){return _0x54a7f1(_0x48a21e-_0x3563c9._0xde20a4,_0x20ce8c);}this[_0x55b102(_0x6dd52d._0x2106fe,_0x6dd52d._0x7130d2)][_0x3bb733(0xbd3,0x11c9)]=_0x4e2a52;}get['pageSize'](){return this['_pageSize'];}set['pageSize'](_0x17e7be){this['_pageSize']=_0x17e7be;}get['allCount'](){const _0x4e9a22={_0x40b379:0x12b8,_0x1a0f8e:0x856};function _0x3d2827(_0x9af34a,_0x40fe31){return _0x7afdbe(_0x40fe31,_0x9af34a- -0x523);}return this[_0x3d2827(_0x4e9a22._0x40b379,_0x4e9a22._0x1a0f8e)];}get['allPage'](){return this['_allPage'];}get['pageIndex'](){return this['_pageIndex'];}set['pageIndex'](_0x2d59ef){this['_pageIndex']=_0x2d59ef,this['showPage'](_0x2d59ef);}get[_0x7afdbe(0xb9e,0x1548)](){const _0x5d142c={_0x13604f:0x6bf,_0x352252:0x59b,_0x23abf7:0x198,_0x15a37f:0x118,_0x1b09d9:0xbdd,_0x5cf0ee:0x583,_0x443b60:0xd9c,_0x1dc09a:0xe02},_0x5b8ede={_0x576ef0:0x39f},_0x4a3a43={_0x5eb6c7:0x40};function _0x591e52(_0x1b34e0,_0x5c72d9){return _0x54a7f1(_0x5c72d9- -_0x4a3a43._0x5eb6c7,_0x1b34e0);}if(!this['_geoJsonLayer']){const _0x5e8328={...this['options']},_0x52909e=_0x5e8328;delete _0x52909e['url'],delete _0x52909e[_0x2fbfae(0xf17,0x8d0)],this[_0x591e52(_0x5d142c._0x13604f,0x8e2)]=new GeoJsonLayer(_0x52909e),this[_0x2fbfae(_0x5d142c._0x352252,0x583)]['on'](EventType[_0x2fbfae(0x4a4,_0x5d142c._0x23abf7)],this[_0x2fbfae(_0x5d142c._0x15a37f,0x895)],this),this[_0x2fbfae(_0x5d142c._0x1b09d9,_0x5d142c._0x5cf0ee)]['on'](EventType['click'],this[_0x591e52(_0x5d142c._0x443b60,_0x5d142c._0x1dc09a)],this);}function _0x2fbfae(_0x47f64a,_0x2a30bc){return _0x54a7f1(_0x2a30bc- -_0x5b8ede._0x576ef0,_0x47f64a);}return this['_geoJsonLayer'];}['showFirstPage'](){const _0x53c7e3={_0x4b30fb:0x178d},_0x56e9cd={_0x4e9107:0x45};function _0x2e2c8a(_0x443201,_0xbc907e){return _0x54a7f1(_0x443201-_0x56e9cd._0x4e9107,_0xbc907e);}this[_0x2e2c8a(_0x53c7e3._0x4b30fb,0xd90)](0x1);}['showPretPage'](){const _0x3fb3d1={_0x131eb9:0xf94,_0x176f2b:0x1794,_0x1f97f8:0xdc0,_0x4d75c8:0xeb6},_0x3cccac={_0xefea73:0x2fa};function _0x568ced(_0x355fc6,_0x2e5b92){return _0x54a7f1(_0x2e5b92- -_0x3cccac._0xefea73,_0x355fc6);}function _0x8e5ee0(_0x401c72,_0x2c27cb){return _0x7afdbe(_0x2c27cb,_0x401c72- -0x44a);}this['_pageIndex']=this[_0x8e5ee0(_0x3fb3d1._0x131eb9,_0x3fb3d1._0x176f2b)]-0x1,this[_0x568ced(_0x3fb3d1._0x1f97f8,_0x3fb3d1._0x4d75c8)]<0x1&&(this['_pageIndex']=0x1),this['showPage'](this['_pageIndex']);}['showNextPage'](){const _0x385793={_0x3a6309:0xc5f,_0x11bf0f:0x1312,_0x5c6b1b:0x13be,_0x44ec13:0x91e,_0x63179f:0x23b6,_0x5a322d:0xad7},_0x121d6c={_0x54790b:0x6bb},_0x411676={_0x3753d7:0x20};function _0x411646(_0x28974d,_0x54fc2d){return _0x7afdbe(_0x28974d,_0x54fc2d- -_0x411676._0x3753d7);}this['_pageIndex']=this['_pageIndex']+0x1;function _0x39c0e8(_0x324bdb,_0x53df82){return _0x7afdbe(_0x324bdb,_0x53df82- -_0x121d6c._0x54790b);}this[_0x411646(0x17b8,0x13be)]>this[_0x39c0e8(0xbc2,_0x385793._0x3a6309)]&&(this[_0x411646(_0x385793._0x11bf0f,_0x385793._0x5c6b1b)]=this[_0x39c0e8(_0x385793._0x44ec13,0xc5f)]),this[_0x411646(_0x385793._0x63179f,0x1956)](this[_0x39c0e8(_0x385793._0x5a322d,0xd23)]);}['showPage'](_0xdb6108){this['_pageIndex']=_0xdb6108,this['_queryPageByIds']();}[_0x54a7f1(0x1651,0x2033)](_0x3d6144){const _0x3dc1e1={_0x28c3cc:0x6ff,_0x2db8c2:0xacd,_0xf0da32:0xef8,_0x2345c4:0x1e5,_0xd49873:0x64b,_0x4aec35:0x6c5,_0x5c7318:0x8c6,_0x2bbc15:0x1eba,_0x55f3df:0x11c,_0x182402:0x852,_0xab0768:0x1d0,_0x5952b7:0x66a,_0x3c9d0d:0x9df,_0x5318af:0xfa9,_0x5423a8:0x13a1,_0x3f63eb:0x834,_0x41466e:0xf59,_0x1d2474:0xb2c,_0x15d7ff:0xd5c,_0x5944da:0x1ec,_0x2b9c1a:0xc26,_0x5107cf:0x3c9,_0x4a2f3d:0x417},_0x29b8ce={_0x224a72:0xfb4,_0x4fe992:0x66d,_0x4cabc1:0x438,_0x1ddda7:0x12e5,_0x32f38d:0x2a,_0x12b6d8:0x530},_0x255549={_0x50a66e:0xaef,_0x5648f6:0x8df,_0x43c32b:0x12ec,_0x244af1:0xc33,_0x32be4f:0x8f7};this['_pageIndex']=0x1,this[_0x3651c5(0x55d,0x1023)]=[];const _0x1d6e31={'f':'json','inSr':0x10e6,'outSR':0x10e6,'outFields':'*','returnGeometry':!![],'where':_0x3d6144['where']||_0x187b32(0x11ae,_0x3dc1e1._0x28c3cc),..._0x3d6144[_0x187b32(0x108a,0xdf3)]},_0x5527cd=_0x1d6e31;this['options']['token']&&(_0x5527cd[_0x187b32(0xacd,0xb1e)]=this['options'][_0x187b32(_0x3dc1e1._0x2db8c2,0x581)]);function _0x187b32(_0x50aef8,_0x2a3cde){return _0x7afdbe(_0x2a3cde,_0x50aef8- -0x50e);}if(_0x3d6144['column']){let _0x1d1091='';_0x3d6144['like']??!![]?_0x1d1091=_0x3d6144['column']+_0x3651c5(_0x3dc1e1._0xf0da32,0xbc6)+_0x3d6144['text']+'%\x27\x20':_0x1d1091=_0x3d6144['column']+'=\x27'+_0x3d6144['text']+'\x27',_0x5527cd[_0x3651c5(0xdf1,0xf67)]=_0x1d1091;}function _0x3651c5(_0x3e68ab,_0x2eca59){return _0x54a7f1(_0x3e68ab- -0x46d,_0x2eca59);}if(_0x3d6144[_0x3651c5(0x15b,_0x3dc1e1._0x2345c4)]){const _0x49660d=_0x3d6144[_0x3651c5(0x15b,-_0x3dc1e1._0xd49873)];_0x5527cd[_0x3651c5(0x31b,-0x4db)]=_0x187b32(_0x3dc1e1._0x4aec35,_0x3dc1e1._0x5c7318);if(_0x49660d['type']==='rectangle'){const _0x64f9e7=_0x49660d[_0x187b32(0x13f9,_0x3dc1e1._0x2bbc15)];_0x5527cd[_0x3651c5(_0x3dc1e1._0x55f3df,_0x3dc1e1._0x182402)]='esriGeometryEnvelope';const _0x2ed089={};_0x2ed089[_0x3651c5(-_0x3dc1e1._0xab0768,_0x3dc1e1._0x5952b7)]=0x10e6;const _0x420fd4={};_0x420fd4['xmin']=_0x64f9e7[0x0][0x0],_0x420fd4['ymin']=_0x64f9e7[0x0][0x1],_0x420fd4['xmax']=_0x64f9e7[0x2][0x0],_0x420fd4['ymax']=_0x64f9e7[0x2][0x1],_0x420fd4['spatialReference']=_0x2ed089,_0x5527cd['geometry']=JSON[_0x3651c5(_0x3dc1e1._0x3c9d0d,0x12df)](_0x420fd4);}else{if(Cesium__namespace['defined'](_0x49660d['xmax'])&&Cesium__namespace['defined'](_0x49660d[_0x187b32(_0x3dc1e1._0x5318af,0x1a0e)])&&Cesium__namespace[_0x187b32(_0x3dc1e1._0x5423a8,0x1548)](_0x49660d[_0x187b32(_0x3dc1e1._0x3f63eb,-0x297)])&&Cesium__namespace['defined'](_0x49660d[_0x187b32(0xefc,0xfd1)])){_0x5527cd['geometryType']='esriGeometryEnvelope';const _0x10dc09={};_0x10dc09[_0x187b32(-0x43,-0x2e2)]=0x10e6;const _0x1985df={};_0x1985df['xmin']=_0x49660d[_0x187b32(0xfa9,_0x3dc1e1._0x41466e)],_0x1985df[_0x187b32(0x834,_0x3dc1e1._0x1d2474)]=_0x49660d['ymin'],_0x1985df[_0x3651c5(0xd26,_0x3dc1e1._0x15d7ff)]=_0x49660d['xmax'],_0x1985df['ymax']=_0x49660d['ymax'],_0x1985df[_0x3651c5(0x11d2,0x1003)]=_0x10dc09,_0x5527cd['geometry']=JSON['stringify'](_0x1985df);}else{let _0x477d5a;if(_0x49660d['type']==='polygon')_0x477d5a=_0x49660d['toGeoJSON']();else{if(_0x49660d['type']==='circle'){const _0x5d6701={};_0x5d6701['type']=_0x3651c5(_0x3dc1e1._0x5944da,_0x3dc1e1._0x2b9c1a),_0x5d6701[_0x3651c5(0x917,0xe61)]=[_0x49660d['outlineCoordinates']];const _0x10424f={};_0x10424f[_0x3651c5(_0x3dc1e1._0x5107cf,-0x238)]='Feature',_0x10424f['geometry']=_0x5d6701,_0x477d5a=_0x10424f;}else _0x477d5a=_0x3d6144['graphic'];}_0x5527cd['geometry']=JSON['stringify'](geojsonToArcGIS$1(_0x477d5a['geometry'])),_0x5527cd['geometryType']=geojsonTypeToArcGIS(_0x477d5a[_0x3651c5(0x1142,0x14bb)][_0x187b32(0x556,-_0x3dc1e1._0x4a2f3d)]);}}}return new Promise((_0x1869be,_0x1e9b46)=>{const _0x17c4a5={_0x247ff7:0x134f,_0x59b536:0xd4b,_0x1f0368:0xe36,_0x1dc00b:0x470};function _0x2160f0(_0x25a51f,_0x58d74e){return _0x3651c5(_0x58d74e-0x331,_0x25a51f);}const _0x335c59={};function _0x30b695(_0x508715,_0x4ca89a){return _0x3651c5(_0x508715-0xb7,_0x4ca89a);}_0x335c59['resolve']=_0x1869be,_0x335c59['reject']=_0x1e9b46,_0x3d6144['_promise']=_0x335c59;if(_0x3d6144['page']??!![]){_0x5527cd['returnIdsOnly']=!![];const _0x24a827={...this[_0x2160f0(_0x29b8ce._0x224a72,0x774)]};_0x24a827[_0x30b695(_0x29b8ce._0x4fe992,_0x29b8ce._0x4cabc1)]=this[_0x30b695(_0x29b8ce._0x4fe992,0x5af)]+_0x2160f0(0x1137,_0x29b8ce._0x1ddda7),_0x24a827['queryParameters']=_0x5527cd,sendAjax(_0x24a827)['then'](_0x182053=>{const _0x25e393={_0x282dce:0xf7},_0x488c9c=_0x182053['objectIds'];function _0x20fe98(_0xec3c3,_0xcf257b){return _0x30b695(_0xcf257b-0x233,_0xec3c3);}function _0x20373c(_0x226f62,_0x56923e){return _0x30b695(_0x226f62- -_0x25e393._0x282dce,_0x56923e);}_0x488c9c&&(this[_0x20fe98(0x767,0x847)]=_0x488c9c,this['_allCount']=_0x488c9c[_0x20373c(0xad8,_0x255549._0x50a66e)],this[_0x20fe98(_0x255549._0x5648f6,_0x255549._0x43c32b)]=Math['ceil'](this[_0x20fe98(0xedf,0x142a)]/this[_0x20373c(_0x255549._0x244af1,_0x255549._0x32be4f)])),delete _0x5527cd['returnIdsOnly'],this[_0x20fe98(0x1b64,0x1460)](_0x5527cd,_0x3d6144);})[_0x30b695(0x672,_0x29b8ce._0x32f38d)](_0x2a647e=>{function _0x325867(_0x4b88f2,_0xff5094){return _0x30b695(_0xff5094-0x2f3,_0x4b88f2);}logError('QueryArcServer\x20请求出错',_0x2a647e);function _0xa1df03(_0x5d4e9f,_0x301e9f){return _0x30b695(_0x5d4e9f-0x636,_0x301e9f);}_0x3d6144[_0xa1df03(_0x17c4a5._0x247ff7,_0x17c4a5._0x59b536)]&&_0x3d6144['error'](_0x2a647e,_0x2a647e[_0x325867(_0x17c4a5._0x1f0368,_0x17c4a5._0x1dc00b)]);});}else{const _0x97472d={...this['options']};_0x97472d['url']=this['url']+'/query',_0x97472d['queryParameters']=_0x5527cd,sendAjax(_0x97472d)[_0x2160f0(_0x29b8ce._0x12b6d8,0x477)](_0xb54d90=>{function _0x8b1458(_0x1db8a0,_0x12b8ec){return _0x2160f0(_0x1db8a0,_0x12b8ec-0x308);}const _0x43d002=arcgisToGeoJSON$1(_0xb54d90);this[_0x8b1458(-0x5,0x70d)](_0x43d002,_0x3d6144);})['catch'](_0x3e2600=>{logError('QueryArcServer\x20请求出错',_0x3e2600),_0x3d6144['error']&&_0x3d6144['error'](_0x3e2600,_0x3e2600['message']);});}});}['_queryPageByIds'](_0x1d5b64,_0x537372){const _0x1314e2={_0x549943:0x8f2,_0x128669:0xc7f,_0x5e70b4:0x922,_0x193d8e:0x1171,_0x22a17a:0x979,_0x427b2f:0x36c,_0xb58d4e:0xc7f,_0x22e62e:0x1150,_0x36451b:0x927,_0x421be5:0x461,_0xa578b3:0xf88,_0x57f123:0x7e7},_0x9bc50e={_0x1dee9b:0x1168,_0x4b7615:0xe6f,_0x43b811:0x1643,_0x377d77:0xbf6},_0x1a1085={_0x1224b1:0x20d},_0x5965c9={_0x44c221:0x46d};if(_0x1d5b64)this['lastParameters']=_0x1d5b64;else this[_0x1515ed(0x5a8,0x822)]&&(_0x1d5b64=this['lastParameters']);function _0x2a2f70(_0x4022ba,_0x364698){return _0x54a7f1(_0x364698- -0x3aa,_0x4022ba);}function _0x1515ed(_0xa881b6,_0x5cd6d6){return _0x54a7f1(_0x5cd6d6- -_0x5965c9._0x44c221,_0xa881b6);}if(_0x537372)this['lastQueryOpts']=_0x537372;else this['lastParameters']&&(_0x537372=this[_0x2a2f70(_0x1314e2._0x549943,0xa75)]);if(!this[_0x1515ed(0x509,0x55d)]||this['arrIDS']['length']===0x0||this['_pageIndex']<0x1||this['_pageIndex']>this[_0x1515ed(0xfa6,_0x1314e2._0x128669)]){var _0x5dae7e;const _0x291e6a={};_0x291e6a['geojson']=null,_0x291e6a[_0x1515ed(_0x1314e2._0x5e70b4,0xc34)]=0x0,_0x291e6a[_0x1515ed(0x130d,_0x1314e2._0x193d8e)]=this[_0x1515ed(0x1294,0x1171)],_0x291e6a['pageSize']=this[_0x1515ed(_0x1314e2._0x22a17a,_0x1314e2._0x427b2f)],_0x291e6a['allPage']=this[_0x1515ed(0x327,_0x1314e2._0xb58d4e)],_0x291e6a['pageIndex']=this[_0x1515ed(_0x1314e2._0x22e62e,0xa3c)];const _0x19fe38=_0x291e6a;_0x537372['success']&&_0x537372['success'](_0x19fe38);(_0x5dae7e=_0x537372['_promise'])!==null&&_0x5dae7e!==void 0x0&&_0x5dae7e[_0x1515ed(0xb1d,0x935)]&&_0x537372['_promise']['resolve'](_0x19fe38);return;}const _0x438f19=(this['_pageIndex']-0x1)*this[_0x2a2f70(_0x1314e2._0x36451b,0xd36)],_0xeb685=this['_pageIndex']*this['_pageSize'],_0x68c262=this['arrIDS'][_0x2a2f70(0xed8,_0x1314e2._0x421be5)](_0x438f19,_0xeb685);_0x1d5b64['objectIds']=_0x68c262[_0x1515ed(0xe6c,_0x1314e2._0xa578b3)](',');const _0x15fd29={...this['options']};_0x15fd29['url']=this[_0x2a2f70(_0x1314e2._0x57f123,0x679)]+'/query',_0x15fd29['queryParameters']=_0x1d5b64,sendAjax(_0x15fd29)['then'](_0x545ae2=>{const _0x17608d=arcgisToGeoJSON$1(_0x545ae2);this['processFeatureCollection'](_0x17608d,_0x537372);})['catch'](_0x376c7d=>{const _0x5d2c24={_0x261136:0x6c};function _0x121d8c(_0x4edd48,_0x592e91){return _0x1515ed(_0x592e91,_0x4edd48-_0x1a1085._0x1224b1);}function _0x473831(_0x3a6fee,_0xe01c89){return _0x1515ed(_0xe01c89,_0x3a6fee- -_0x5d2c24._0x261136);}logError(_0x473831(_0x9bc50e._0x1dee9b,0x13cc),_0x376c7d),_0x537372[_0x121d8c(_0x9bc50e._0x4b7615,_0x9bc50e._0x43b811)]&&_0x537372[_0x473831(_0x9bc50e._0x377d77,0x15da)](_0x376c7d,_0x376c7d['message']);});}['processFeatureCollection'](_0x114107,_0x447a47){const _0x568612={_0x2bb709:0x8b8,_0x5b3973:0x1bd5,_0x268b13:0x579,_0x4bcbb0:0x744,_0x1edb12:0x8b7,_0x2608ca:0xba,_0x3a5a54:0x65b,_0x439018:0x9a5,_0x38fed6:0x326,_0x5db7c3:0x387,_0x3f7a63:0x174,_0x90fe23:0x5f3,_0x21d07e:0x1cf,_0x4fbb03:0x50},_0x387f59={_0x1a7023:0x92a,_0x19a818:0xe9b,_0x22f593:0x31f},_0x416406={_0x5798c4:0x452},_0x2f2e57={_0x3aa8bc:0x414};function _0x5e6efb(_0x135128,_0x8662a1){return _0x7afdbe(_0x135128,_0x8662a1- -_0x2f2e57._0x3aa8bc);}function _0x47c154(_0x27c812,_0x58fa96){return _0x54a7f1(_0x27c812- -_0x416406._0x5798c4,_0x58fa96);}if(!_0x114107||!_0x114107['features']||_0x114107['features']['length']===0x0){var _0x4b19ea;const _0x373fd2={};_0x373fd2[_0x5e6efb(0xde3,_0x568612._0x2bb709)]=null,_0x373fd2['count']=0x0,_0x373fd2['allCount']=this[_0x5e6efb(_0x568612._0x5b3973,0x13f8)],_0x373fd2['pageSize']=this['pageSize'],_0x373fd2[_0x47c154(0xc9a,_0x568612._0x268b13)]=this[_0x5e6efb(_0x568612._0x4bcbb0,0xf06)],_0x373fd2['pageIndex']=this['pageIndex'];const _0x349b0e=_0x373fd2;_0x447a47['success']&&_0x447a47[_0x47c154(0xde9,0xc71)](_0x349b0e),(_0x4b19ea=_0x447a47[_0x5e6efb(-_0x568612._0x1edb12,0x9d)])!==null&&_0x4b19ea!==void 0x0&&_0x4b19ea['resolve']&&_0x447a47['_promise']['resolve'](_0x349b0e);}else{const _0x5010ba=[];for(let _0x553b6a=0x0;_0x553b6a<_0x114107[_0x47c154(_0x568612._0x2608ca,-_0x568612._0x3a5a54)]['length'];_0x553b6a++){var _0x16515c;const _0x41a7de=_0x114107['features'][_0x553b6a];(_0x41a7de===null||_0x41a7de===void 0x0||(_0x16515c=_0x41a7de['geometry'])===null||_0x16515c===void 0x0||(_0x16515c=_0x16515c['coordinates'])===null||_0x16515c===void 0x0?void 0x0:_0x16515c['length'])>0x0&&_0x5010ba['push'](_0x41a7de);}_0x114107[_0x5e6efb(_0x568612._0x439018,_0x568612._0x38fed6)]=_0x5010ba;const _0x1b7385={};_0x1b7385['geojson']=_0x114107,_0x1b7385['count']=_0x114107['features']['length'],_0x1b7385['allCount']=this[_0x47c154(0x118c,0x1418)],_0x1b7385[_0x47c154(_0x568612._0x5db7c3,0x3a3)]=this[_0x5e6efb(_0x568612._0x3f7a63,_0x568612._0x90fe23)],_0x1b7385['allPage']=this['allPage'],_0x1b7385['pageIndex']=this[_0x47c154(0xa57,0x757)];const _0x35744a=_0x1b7385;if(this['_geoJsonLayer']){this['_last_success']=_0x5b8314=>{var _0x196ac8;function _0x514995(_0x2a58fc,_0x56aea4){return _0x5e6efb(_0x2a58fc,_0x56aea4- -0x301);}_0x35744a[_0x514995(_0x387f59._0x1a7023,_0x387f59._0x19a818)]=_0x5b8314;_0x447a47['success']&&_0x447a47[_0x514995(0x91b,0xd54)](_0x35744a);function _0x1ea4d7(_0x429b49,_0xc05a83){return _0x5e6efb(_0x429b49,_0xc05a83-0x41f);}(_0x196ac8=_0x447a47['_promise'])!==null&&_0x196ac8!==void 0x0&&_0x196ac8['resolve']&&_0x447a47['_promise'][_0x514995(_0x387f59._0x22f593,0x8bb)](_0x35744a);};const _0x499e14={};_0x499e14['data']=_0x114107,this['_geoJsonLayer']['load'](_0x499e14);}else{var _0x195538;_0x447a47['success']&&_0x447a47[_0x5e6efb(0x199a,0x1055)](_0x35744a),(_0x195538=_0x447a47[_0x47c154(-_0x568612._0x21d07e,0x730)])!==null&&_0x195538!==void 0x0&&_0x195538['resolve']&&_0x447a47[_0x5e6efb(_0x568612._0x4fbb03,0x9d)]['resolve'](_0x35744a);}}}['geoJsonLayer_onLoadHandler'](_0xceb5d){const _0x110bf1={_0x420cf3:0x1096},_0x1f9c62={_0x4db6ae:0x2ec};this['_last_success']&&(this['_last_success'](_0xceb5d[_0x5950fc(_0x110bf1._0x420cf3,0x98b)]),this['_last_success']=null);function _0x5950fc(_0x2e99b4,_0x3c4d97){return _0x54a7f1(_0x2e99b4- -_0x1f9c62._0x4db6ae,_0x3c4d97);}this['fire'](EventType['load'],_0xceb5d);}[_0x7afdbe(0x7ae,0x1070)](_0x278318){this['fire'](EventType['click'],{..._0x278318,'layer':this['_geoJsonLayer']});}['clear'](){const _0x3dd27b={_0x157e32:0x110d},_0x43bf84={_0x2a0722:0xbd};this['_last_success']&&(this[_0x7b4721(0xa12,0x1ea)]=null);function _0x27b614(_0x37b335,_0x190372){return _0x54a7f1(_0x37b335- -_0x43bf84._0x2a0722,_0x190372);}function _0x7b4721(_0x3b9186,_0x2a25a5){return _0x54a7f1(_0x3b9186- -0x216,_0x2a25a5);}this['_geoJsonLayer']&&this['_geoJsonLayer'][_0x7b4721(_0x3dd27b._0x157e32,0xb31)]();}}function geojsonTypeToArcGIS(_0x35c5fe){const _0x31ab1a={_0x4b7739:0x585,_0xa85b3f:0x57b,_0x3d94c3:0xde8,_0x2c1a17:0xf64},_0x39ccbf={_0x3ff590:0x4ae};let _0x106f32;function _0x2e1e15(_0x2b1f70,_0xea1757){return _0x54a7f1(_0x2b1f70-0x1a4,_0xea1757);}switch(_0x35c5fe){case _0x3ae893(_0x31ab1a._0x4b7739,_0x31ab1a._0xa85b3f):_0x106f32='esriGeometryMultipoint';break;case _0x2e1e15(0x149a,_0x31ab1a._0x3d94c3):_0x106f32='esriGeometryPolyline';break;case _0x2e1e15(0xa03,_0x31ab1a._0x2c1a17):_0x106f32=_0x3ae893(0x126d,0xf3d);break;case'Polygon':_0x106f32='esriGeometryPolygon';break;case'MultiPolygon':_0x106f32=_0x3ae893(0xb62,0x10b0);break;case'Point':default:_0x106f32='esriGeometryPoint';break;}function _0x3ae893(_0x334d00,_0x2a6dc7){return _0x54a7f1(_0x2a6dc7- -_0x39ccbf._0x3ff590,_0x334d00);}return _0x106f32;}const _0xcafaf2={};_0xcafaf2[_0x7afdbe(0xdf3,0x851)]=null,_0xcafaf2['BaiduPOI']=BaiduPOI,_0xcafaf2[_0x7afdbe(0x1261,0xa48)]=GaodePOI,_0xcafaf2[_0x54a7f1(0x1545,0x1afc)]=TdtPOI,_0xcafaf2['GaodeRoute']=GaodeRoute,_0xcafaf2['QueryGeoServer']=QueryGeoServer,_0xcafaf2['QueryArcServer']=QueryArcServer;var index=_0xcafaf2;const name='Mars3D三维可视化平台',website=_0x7afdbe(0x12d9,0x1464),author=_0x54a7f1(0x7b4,0x1119);exports['Cesium']=Cesium__namespace,exports[_0x7afdbe(0xf2b,0xdc3)]=BaseClass,exports['BaseMaterialConver']=BaseMaterialConver,exports[_0x54a7f1(0xe1e,0xb73)]=BaseStyleConver,exports[_0x54a7f1(0x1721,0x14ed)]=BaseThing,exports['BillboardStyleConver']=BillboardStyleConver,exports['BoxStyleConver']=BoxStyleConver,exports[_0x7afdbe(0xe15,0x6d6)]=CRS,exports['ChinaCRS']=ChinaCRS,exports[_0x54a7f1(0xb80,0x9a7)]=CircleStyleConver,exports['ClipType']=ClipType,exports['CloudStyleConver']=CloudStyleConver,exports[_0x7afdbe(0x1178,0x9e9)]=ColorOptsConver,exports[_0x54a7f1(0xab3,0x6bc)]=ColorRamp,exports[_0x54a7f1(0x1679,0x1694)]=ControlType,exports['ControlUtil']=ControlUtil,exports[_0x54a7f1(0x1401,0x1127)]=CorridorStyleConver,exports[_0x7afdbe(0x978,0x58d)]=CylinderStyleConver,exports['DivGraphicStyleConver']=DivGraphicStyleConver,exports[_0x54a7f1(0x951,-0x40)]=DomUtil,exports['DrawUtil']=DrawUtil,exports['EditPointType']=EditPointType,exports['EffectType']=EffectType,exports['EffectUtil']=EffectUtil,exports['EllipsoidStyleConver']=EllipsoidStyleConver,exports['EventType']=EventType,exports[_0x54a7f1(0x1798,0xe1b)]=GraphicType,exports['GraphicUtil']=GraphicUtil,exports[_0x54a7f1(0x1677,0x16c4)]=GroundSkyBox,exports['GroupThing']=GroupThing,exports[_0x54a7f1(0x40d,0xd1c)]=Icon,exports['ImageOptsConver']=ImageOptsConver,exports['LabelStyleConver']=LabelStyleConver,exports[_0x7afdbe(0xe04,0x1123)]=Lang,exports['LayerType']=LayerType,exports[_0x54a7f1(0x808,0x1f2)]=LayerUtil,exports['LngLatArray']=LngLatArray,exports['LngLatPoint']=LngLatPoint,exports['LocalWorldTransform']=LocalWorldTransform,exports[_0x54a7f1(0x779,0x8e2)]=Log,exports[_0x7afdbe(0x55b,0xee1)]=Map,exports[_0x7afdbe(0xe2d,0x1134)]=MarsArray,exports['MaterialType']=MaterialType$1,exports['MaterialUtil']=MaterialUtil,exports['MeasureUtil']=MeasureUtil,exports[_0x7afdbe(0x520,0xd68)]=ModelStyleConver,exports['MoveType']=MoveType,exports['MultipleSkyBox']=MultipleSkyBox,exports['PathStyleConver']=PathStyleConver,exports[_0x7afdbe(0xef,0xa6d)]=PlaneStyleConver,exports[_0x7afdbe(-0x241,0x5bf)]=PointStyleConver,exports[_0x7afdbe(0x5c4,0x997)]=PointTrans,exports['PointUtil']=PointUtil,exports['PolyUtil']=PolyUtil,exports['PolygonStyleConver']=PolygonStyleConver,exports[_0x54a7f1(0x9f1,0x10cb)]=PolylineStyleConver,exports[_0x7afdbe(0xf6b,0x704)]=PolylineVolumeStyleConver,exports['RectangleStyleConver']=RectangleStyleConver,exports[_0x7afdbe(0x19de,0x1829)]=RectangularSensorStyleConver,exports[_0x7afdbe(0xf2b,0x58e)]=State,exports['TaskItem']=TaskItem,exports['Texture3']=Texture3,exports['ThingType']=ThingType,exports[_0x54a7f1(0x6fa,0x6f7)]=ThingUtil,exports['Token']=Token,exports['Util']=Util,exports[_0x54a7f1(0x588,0xe23)]=WallStyleConver,exports['author']=author,exports[_0x7afdbe(0x148,0x917)]=index$1,exports['edit']=index$6,exports['effect']=index$2,exports['graphic']=index$7,exports['layer']=index$4,exports[_0x7afdbe(0xb2d,0x681)]=index$8,exports[_0x54a7f1(0x127c,0x1928)]=name,exports[_0x7afdbe(0x1ab6,0x12f9)]=proj4,exports['provider']=index$5,exports[_0x54a7f1(0x1651,0x2105)]=index,exports[_0x7afdbe(0xd3a,0x15fd)]=index$3,exports[_0x54a7f1(0x93f,0x432)]=update,exports[_0x7afdbe(0xf44,0xbca)]=version,exports['website']=website;const _0x4ed8be={};_0x4ed8be['value']=!![],Object['defineProperty'](exports,'__esModule',_0x4ed8be); +'use strict';(function(_0x158045,_0x4919e){const _0x39bc6e={_0x31bed4:0x11f1,_0x2e4778:0x1ba5,_0xa071ae:0x7b8,_0xf5452d:0x63b,_0x1cc355:0x10b5,_0x2aa680:0xf6b,_0x244622:0x17c0,_0xd36010:0x1dd2,_0x24fc12:0x3d1,_0x4f4972:0x608},_0x3529c0={_0x12fcdb:0x39};function _0x2d0922(_0x5d217c,_0xb985f1){return _0x5bbe(_0xb985f1-0xac,_0x5d217c);}const _0x65282=_0x158045();function _0x355077(_0x44f180,_0x4e43c2){return _0x5bbe(_0x44f180- -_0x3529c0._0x12fcdb,_0x4e43c2);}while(!![]){try{const _0x5c0031=-parseInt(_0x355077(_0x39bc6e._0x31bed4,_0x39bc6e._0x2e4778))/0x1+-parseInt(_0x355077(_0x39bc6e._0xa071ae,0x1236))/0x2*(parseInt(_0x2d0922(_0x39bc6e._0xf5452d,0xe4d))/0x3)+-parseInt(_0x355077(0x1449,0x1701))/0x4*(-parseInt(_0x2d0922(_0x39bc6e._0x1cc355,_0x39bc6e._0x2aa680))/0x5)+-parseInt(_0x355077(0x1175,_0x39bc6e._0x244622))/0x6*(parseInt(_0x2d0922(_0x39bc6e._0xd36010,0x1617))/0x7)+parseInt(_0x355077(0xd0c,0xcfa))/0x8+parseInt(_0x2d0922(0x85d,_0x39bc6e._0x24fc12))/0x9*(-parseInt(_0x355077(0x1465,0x19c3))/0xa)+parseInt(_0x355077(_0x39bc6e._0x4f4972,0x35c))/0xb;if(_0x5c0031===_0x4919e)break;else _0x65282['push'](_0x65282['shift']());}catch(_0x505613){_0x65282['push'](_0x65282['shift']());}}}(_0x2fb9,0x1a55a));function _interopNamespace(_0xef9e2d){const _0x116809={_0x41f016:0x160c,_0x4f24ff:0x226e,_0x15eead:0x10db};if(_0xef9e2d&&_0xef9e2d['__esModule'])return _0xef9e2d;var _0x18dc7e=Object['create'](null);return _0xef9e2d&&Object['keys'](_0xef9e2d)['forEach'](function(_0x2651a2){function _0x404d8f(_0x5b7bd8,_0x37dc29){return _0x5bbe(_0x37dc29- -0x347,_0x5b7bd8);}function _0x5b3659(_0x22b483,_0x206ed0){return _0x5bbe(_0x22b483-0x38a,_0x206ed0);}if(_0x2651a2!==_0x5b3659(_0x116809._0x41f016,0x1cef)){var _0x3f4abd=Object[_0x5b3659(0x1985,_0x116809._0x4f24ff)](_0xef9e2d,_0x2651a2);Object['defineProperty'](_0x18dc7e,_0x2651a2,_0x3f4abd[_0x404d8f(_0x116809._0x15eead,0x6d3)]?_0x3f4abd:{'enumerable':!![],'get':function(){return _0xef9e2d[_0x2651a2];}});}}),_0x18dc7e['default']=_0xef9e2d,_0x18dc7e;}var Cesium__namespace=_interopNamespace(Cesium),turf__namespace=_interopNamespace(turf);!(Cesium__namespace!==null&&Cesium__namespace!==void 0x0&&Cesium__namespace[_0x306755(0x105e,0x13ca)])&&console['error'](_0x2b6441(0x1764,0xd27),Cesium__namespace);if(Cesium__namespace['VERSION']){const minVer=0x77,version=Number(Cesium__namespace[_0x306755(0x796,0x624)]['substr'](Cesium__namespace[_0x2b6441(-0x436,0x83)]['indexOf']('.')+0x1));version<minVer&&console['error']('请将\x20mars3d-cesium\x20库升级至\x20v1.'+minVer+_0x2b6441(0x260,0xcd1),version);}const getUrlComponent_old=Cesium__namespace['Resource'][_0x306755(0x4d6,0xcf3)][_0x2b6441(0x11c2,0x8c9)];Cesium__namespace[_0x306755(0x1bcf,0x149e)][_0x2b6441(0x62b,0x752)]['getUrlComponent']=function(_0x33ca34,_0x214cd0){const _0x5ef688={_0x463683:0x1122,_0x531679:0xfe0},_0xc6085b={_0x3cb352:0x308},_0x39eb55={_0x56200e:0x4be};let _0x5f144b=getUrlComponent_old['bind'](this)(_0x33ca34,_0x214cd0);Cesium__namespace[_0x18483b(0x151d,0xfe0)]['ReplaceMars3DUrl']&&(_0x5f144b=Cesium__namespace[_0x18483b(_0x5ef688._0x463683,_0x5ef688._0x531679)]['ReplaceMars3DUrl']['bind'](this)(_0x5f144b));Cesium__namespace['Resource'][_0x1ba54b(0xd5a,0x14de)]&&(_0x5f144b=Cesium__namespace['Resource']['ReplaceUrl']['bind'](this)(_0x5f144b));this['_last_url']=_0x5f144b;function _0x18483b(_0x2bc238,_0x1d128e){return _0x306755(_0x2bc238,_0x1d128e- -_0x39eb55._0x56200e);}function _0x1ba54b(_0x41b50b,_0x48b3ea){return _0x306755(_0x48b3ea,_0x41b50b- -_0xc6085b._0x3cb352);}return _0x5f144b;};const loadImageElement_old=Cesium__namespace['Resource']['_Implementations']['loadImageElement'];Cesium__namespace['Resource'][_0x2b6441(0x8f3,0x4b)][_0x306755(0x11d9,0xd7e)]=function(_0x238a34,_0x746e11,_0x16e206){function _0x353212(_0x10eb7a,_0x581e2c){return _0x306755(_0x581e2c,_0x10eb7a- -0x59e);}return _0x238a34['startsWith'](_0x353212(0x57e,0x1d3))&&(_0x746e11=!![]),loadImageElement_old(_0x238a34,_0x746e11,_0x16e206);},Cesium__namespace['Resource']['prototype'][_0x2b6441(0xd8b,0xc25)]=function(){const _0x42bfe5={_0x3a0f9e:0xaba,_0x5b29a7:0x828,_0x455e14:0x1343,_0x38ba08:0x5fa,_0xe0f3ac:0x1746},_0x5d1c64={_0x168c7a:0x535};if(Cesium__namespace['defined'](this[_0x15f39a(0xfef,_0x42bfe5._0x3a0f9e)][_0x15f39a(0x1c37,0x1857)])){const _0x14de8c=this[_0x15f39a(_0x42bfe5._0x5b29a7,0xaba)][_0x15f39a(_0x42bfe5._0x455e14,0x1857)];this['request']['deferred']=undefined,_0x14de8c[_0x44e422(_0x42bfe5._0x38ba08,0xab3)]();}function _0x44e422(_0x8c0895,_0x3d3a1f){return _0x2b6441(_0x8c0895,_0x3d3a1f- -0x37);}function _0x15f39a(_0x5e5295,_0x5f3125){return _0x2b6441(_0x5e5295,_0x5f3125-_0x5d1c64._0x168c7a);}Cesium__namespace[_0x15f39a(0xc80,_0x42bfe5._0xe0f3ac)](this['request'][_0x15f39a(0x65e,0x5ed)])&&this['request']['cancelFunction']();};const union_old=Cesium__namespace[_0x306755(0x52f,0xf9a)]['union'];Cesium__namespace['Rectangle']['union']=function(_0x2ccd83,_0x565e8f,_0x41fb95){const _0x30a654={_0x30f7d7:0x2197,_0x45a75f:0x110a,_0x5ad673:0x13e0,_0x205f4b:0x12ca,_0x18db0d:0x1eb1,_0x1920e5:0x197e,_0xdc68e3:0xa04,_0x5219b6:0x10ad};_0x41fb95=union_old(_0x2ccd83,_0x565e8f,_0x41fb95);function _0x5760f9(_0x472bb2,_0x17cc42){return _0x306755(_0x17cc42,_0x472bb2-0xb);}function _0x4da1f1(_0x50943f,_0x5142db){return _0x306755(_0x5142db,_0x50943f- -0x1b5);}return Cesium__namespace[_0x5760f9(0x17bd,_0x30a654._0x30f7d7)](_0x2ccd83[_0x4da1f1(_0x30a654._0x45a75f,_0x30a654._0x5ad673)])?(_0x41fb95[_0x4da1f1(_0x30a654._0x45a75f,0x14a8)]=_0x2ccd83[_0x5760f9(_0x30a654._0x205f4b,0xc98)],Cesium__namespace[_0x5760f9(0x17bd,_0x30a654._0x18db0d)](_0x565e8f[_0x5760f9(0x12ca,0x13f5)])&&(_0x41fb95[_0x5760f9(0x12ca,_0x30a654._0x1920e5)]=Math['max'](_0x41fb95[_0x4da1f1(0x110a,_0x30a654._0xdc68e3)],_0x565e8f[_0x5760f9(0x12ca,_0x30a654._0x5219b6)]))):Cesium__namespace['defined'](_0x565e8f['maxHeight'])&&(_0x41fb95['maxHeight']=_0x565e8f['maxHeight']),_0x41fb95;};const getValueInReferenceFrame_old=Cesium__namespace[_0x2b6441(-0x1bd,0x52c)]['prototype']['getValueInReferenceFrame'];Cesium__namespace['ConstantPositionProperty'][_0x2b6441(0xeab,0x752)]['getValueInReferenceFrame']=function(_0x13181b,_0xe246b6,_0x47935e){function _0x58a9a2(_0x22153f,_0x2e516b){return _0x306755(_0x22153f,_0x2e516b- -0x1c5);}return!Cesium__namespace['defined'](_0x13181b)&&(_0x13181b=Cesium__namespace['JulianDate'][_0x58a9a2(0xafb,0x791)]()),getValueInReferenceFrame_old['bind'](this)(_0x13181b,_0xe246b6,_0x47935e);},Cesium__namespace['VelocityOrientationProperty'][_0x2b6441(0xca9,0x752)]['getValue']=function(_0x4025df,_0x48e39a){const _0x4e0ff7={_0x1f79e5:0x3be,_0xdfecf3:0x9b3,_0x379641:0x15f1,_0x2f06ec:0x191f,_0x1c378c:0x11e8,_0x5d70bc:0x11a1,_0x28afa9:0x1810,_0x136552:0x1c56,_0x28162c:0x152e,_0x3d1700:0xa0,_0x22b2dd:0x97f};!this['_positionScratch']&&(this[_0x1803f3(0x96d,0x107f)]=new Cesium__namespace['Cartesian3'](),this[_0xb64623(_0x4e0ff7._0x1f79e5,0x2ab)]=new Cesium__namespace['Cartesian3'](),this['_rotationScratch']=new Cesium__namespace['Matrix3'](),this[_0xb64623(0x28c,_0x4e0ff7._0xdfecf3)]=new Cesium__namespace[(_0xb64623(_0x4e0ff7._0x379641,_0x4e0ff7._0x2f06ec))]());!Cesium__namespace[_0xb64623(0x13b2,_0x4e0ff7._0x1c378c)](_0x4025df)&&(_0x4025df=Cesium__namespace['JulianDate']['now'](this['_timeScratch']));let _0x1b1e8b=this[_0x1803f3(0xfd5,0x1720)][_0x1803f3(0x17b2,0x1576)](_0x4025df,this[_0xb64623(0x3be,-0x68b)],this['_positionScratch']);Cesium__namespace[_0x1803f3(_0x4e0ff7._0x5d70bc,_0x4e0ff7._0x28afa9)](_0x1b1e8b)?this['_last_velocity']=_0x1b1e8b['clone']():(!this['_getLatelyValueOK']&&!this['_last_velocity']&&this['_velocityVectorProperty'][_0x1803f3(0xe91,0x12f0)]&&(this['_last_velocity']=this['_velocityVectorProperty'][_0x1803f3(_0x4e0ff7._0x136552,0x12f0)](_0x4025df,this['_velocityScratch'],this['_positionScratch']),this['_getLatelyValueOK']=!![]),_0x1b1e8b=this[_0xb64623(_0x4e0ff7._0x28162c,0xe3d)]);if(!Cesium__namespace['defined'](_0x1b1e8b))return undefined;function _0xb64623(_0x556f11,_0x47a547){return _0x2b6441(_0x47a547,_0x556f11-0x1a1);}Cesium__namespace['Transforms']['rotationMatrixFromPositionVelocity'](this['_positionScratch'],_0x1b1e8b,this[_0x1803f3(0x2b4,0x4fb)],this['_rotationScratch']);function _0x1803f3(_0x476e8f,_0x205f3c){return _0x306755(_0x476e8f,_0x205f3c-0x5e);}return Cesium__namespace['Quaternion'][_0xb64623(_0x4e0ff7._0x3d1700,_0x4e0ff7._0x22b2dd)](this['_rotationScratch'],_0x48e39a);};const position1Scratch=new Cesium__namespace[(_0x306755(0x2da,0xa21))](),position2Scratch=new Cesium__namespace['Cartesian3'](),innerType=Cesium__namespace['Cartesian3'];Cesium__namespace[_0x2b6441(0xfce,0x8a5)]['prototype']['_getLatelyValue']=function(_0xb5c3c2,_0x383b7a,_0x10c45b){const _0x4b0b93={_0xddad22:0x11ea,_0x3aefe1:0x1a56,_0x100a58:0xfbc,_0x27d10d:0x1128,_0x5e5625:0x126f,_0x1f0143:0x16ec,_0x49e9dc:0x123e,_0x347715:0x12fe,_0x94e20f:0xf24,_0x580713:0x192f,_0x562561:0x332,_0x2a5d1d:0x91d,_0x1ffaa3:0xa36,_0x1a0a14:0xebb,_0x37ef02:0x205b,_0x177f83:0xa36,_0x33dd8b:0x5bd,_0x4d14be:0x866,_0x5a6755:0x12f9,_0x22fc1d:0x17c7,_0x90bf94:0x15e2,_0x5718be:0x7b3,_0x40c828:0x71c,_0x21d154:0xa36,_0x1ffa5c:0x1393};var _0x11ce62;const _0x5b61ed=this['_position'];if(!(_0x5b61ed instanceof Cesium__namespace['SampledPositionProperty']))return;function _0x23cba6(_0x45ef30,_0x30f168){return _0x306755(_0x30f168,_0x45ef30-0x15);}const _0x3cf344=(_0x11ce62=_0x5b61ed[_0x2dea90(0x1cae,_0x4b0b93._0xddad22)])===null||_0x11ce62===void 0x0?void 0x0:_0x11ce62[_0x23cba6(0x1124,0xb60)],_0x1989c0=_0x5b61ed[_0x23cba6(0x1504,0x1530)][_0x2dea90(0x85f,0x791)];function _0x2dea90(_0x511884,_0x621362){return _0x306755(_0x511884,_0x621362- -0x305);}const _0x41a3ab=_0x3cf344[_0x2dea90(_0x4b0b93._0x3aefe1,0x12f6)];if(_0x41a3ab<0x2)return;if(_0x5b61ed['forwardExtrapolationType']===Cesium__namespace[_0x2dea90(0x167f,_0x4b0b93._0x100a58)][_0x2dea90(_0x4b0b93._0x27d10d,0xb7d)]&&Cesium__namespace[_0x2dea90(_0x4b0b93._0x5e5625,_0x4b0b93._0x1f0143)]['secondsDifference'](_0xb5c3c2,_0x3cf344[_0x41a3ab-0x1])>0x0){const _0x205525=innerType['unpack'](_0x1989c0,(_0x41a3ab-0x2)*innerType[_0x23cba6(_0x4b0b93._0x49e9dc,_0x4b0b93._0x347715)],position1Scratch),_0x5a50ed=innerType[_0x2dea90(-0x562,0x54c)](_0x1989c0,(_0x41a3ab-0x1)*innerType[_0x2dea90(0x931,_0x4b0b93._0x94e20f)],position2Scratch);if(!Cesium__namespace['defined'](_0x205525)||!Cesium__namespace['defined'](_0x5a50ed))return undefined;Cesium__namespace[_0x23cba6(0x17c7,_0x4b0b93._0x580713)](_0x10c45b)&&_0x205525[_0x23cba6(0x91d,_0x4b0b93._0x562561)](_0x10c45b);if(Cesium__namespace[_0x2dea90(0x1096,0x71c)][_0x2dea90(0x1587,0xcb0)](_0x205525,_0x5a50ed))return this['_normalize']?undefined:Cesium__namespace[_0x2dea90(0x2cd,0x71c)][_0x23cba6(_0x4b0b93._0x2a5d1d,-0x90)](Cesium__namespace['Cartesian3'][_0x2dea90(-0x12,0x26b)],_0x383b7a);const _0x210e0d=Cesium__namespace[_0x23cba6(_0x4b0b93._0x1ffaa3,0x36f)][_0x2dea90(_0x4b0b93._0x1a0a14,0xe19)](_0x5a50ed,_0x205525,_0x383b7a);if(this[_0x2dea90(_0x4b0b93._0x37ef02,0x16d3)])return Cesium__namespace[_0x23cba6(_0x4b0b93._0x177f83,0x10d4)]['normalize'](_0x210e0d,_0x383b7a);const _0x46ef9e=Cesium__namespace[_0x23cba6(0x1a06,0x1c13)][_0x23cba6(0xf2d,_0x4b0b93._0x33dd8b)](_0x3cf344[_0x41a3ab-0x2],_0x3cf344[_0x41a3ab-0x1]);return Cesium__namespace[_0x2dea90(0xa27,0x71c)][_0x2dea90(-0x295,0x52c)](_0x210e0d,_0x46ef9e,_0x383b7a);}if(_0x5b61ed['backwardExtrapolationType']===Cesium__namespace['ExtrapolationType']['HOLD']&&Cesium__namespace['JulianDate']['secondsDifference'](_0xb5c3c2,_0x3cf344[0x0])<0x0){const _0x38711d=innerType[_0x23cba6(_0x4b0b93._0x4d14be,_0x4b0b93._0x5a6755)](_0x1989c0,0x0,position1Scratch),_0x253576=innerType['unpack'](_0x1989c0,innerType['packedLength'],position2Scratch);if(!Cesium__namespace[_0x23cba6(0x17c7,0x1f88)](_0x38711d)||!Cesium__namespace['defined'](_0x253576))return undefined;Cesium__namespace[_0x23cba6(_0x4b0b93._0x22fc1d,_0x4b0b93._0x90bf94)](_0x10c45b)&&_0x38711d['clone'](_0x10c45b);if(Cesium__namespace['Cartesian3'][_0x2dea90(_0x4b0b93._0x5718be,0xcb0)](_0x38711d,_0x253576))return this['_normalize']?undefined:Cesium__namespace['Cartesian3']['clone'](Cesium__namespace['Cartesian3'][_0x23cba6(0x585,-0x2f)],_0x383b7a);const _0x172a50=Cesium__namespace[_0x2dea90(0x302,_0x4b0b93._0x40c828)][_0x23cba6(0x1133,0xb4a)](_0x253576,_0x38711d,_0x383b7a);if(this['_normalize'])return Cesium__namespace[_0x23cba6(_0x4b0b93._0x21d154,0x498)]['normalize'](_0x172a50,_0x383b7a);const _0x52c6c4=Cesium__namespace['JulianDate'][_0x2dea90(0xbdb,0xc13)](_0x3cf344[0x0],_0x3cf344[0x1]);return Cesium__namespace[_0x23cba6(_0x4b0b93._0x21d154,_0x4b0b93._0x1ffa5c)]['divideByScalar'](_0x172a50,_0x52c6c4,_0x383b7a);}},Cesium__namespace['VelocityVectorProperty']['prototype'][_0x2b6441(0x96d,0x7da)]=function(_0x2e8a93,_0x2ec082){let _0x4fba12=this['_getValue'](_0x2e8a93,_0x2ec082);Cesium__namespace['defined'](_0x4fba12)?this['_last_velocity']=_0x4fba12[_0x65f428(0x828,0x606)]():_0x4fba12=this['_last_velocity'];function _0x65f428(_0x5f3106,_0x58ee7d){return _0x2b6441(_0x58ee7d,_0x5f3106-0x4c1);}return _0x4fba12;};const beginFrame_old=Cesium__namespace['Globe'][_0x2b6441(0xe11,0x752)]['beginFrame'];Cesium__namespace[_0x2b6441(0x1179,0x8bb)]['prototype'][_0x2b6441(0x5c7,0xcd5)]=function(_0x17c3fc){const _0x3d95d8={_0x179210:0x4b6,_0x1dde3a:0xe50,_0x2d1be1:0x251,_0x419871:0x3c7,_0x42d7ec:0x4f3,_0x204ea0:0x737,_0x4961b5:0x114,_0x4ec18b:0x737,_0x1727d1:0xe77,_0xe8f820:0x3b7,_0x2c4c2b:0x917,_0x5cc4f2:0xf0b},_0xa79873={_0x3547fd:0x442};function _0x57bd17(_0x5535f0,_0x30d1e7){return _0x2b6441(_0x5535f0,_0x30d1e7-_0xa79873._0x3547fd);}var _0x25c08b,_0x25de23,_0x59144e,_0x55887d;const _0x55eb51=(_0x25c08b=this[_0x5ae30a(_0x3d95d8._0x179210,_0x3d95d8._0x1dde3a)][_0x57bd17(-_0x3d95d8._0x2d1be1,_0x3d95d8._0x419871)])===null||_0x25c08b===void 0x0||(_0x25c08b=_0x25c08b['marsOptions'])===null||_0x25c08b===void 0x0?void 0x0:_0x25c08b['flat'];_0x55eb51&&(_0x55eb51[_0x57bd17(_0x3d95d8._0x42d7ec,_0x3d95d8._0x204ea0)]&&(_0x55eb51['texture']&&_0x55eb51['texture']['destroy'](),_0x55eb51['texture']=createCroppingRangeTexture(_0x17c3fc,_0x55eb51),_0x55eb51[_0x57bd17(-_0x3d95d8._0x4961b5,_0x3d95d8._0x4ec18b)]=![]));const _0x110f54=(_0x25de23=this['_surface'][_0x5ae30a(_0x3d95d8._0x1727d1,0x4a2)])===null||_0x25de23===void 0x0||(_0x25de23=_0x25de23['marsOptions'])===null||_0x25de23===void 0x0?void 0x0:_0x25de23[_0x5ae30a(0xd3c,0x1489)];_0x110f54&&(_0x110f54['hasUpdate']&&(_0x110f54['texture']&&_0x110f54['texture']['destroy'](),_0x110f54['texture']=createCroppingRangeTexture(_0x17c3fc,_0x110f54),_0x110f54['hasUpdate']=![]));const _0x1176f8=(_0x59144e=this['_surface'][_0x57bd17(-_0x3d95d8._0xe8f820,0x3c7)])===null||_0x59144e===void 0x0||(_0x59144e=_0x59144e['marsOptions'])===null||_0x59144e===void 0x0?void 0x0:_0x59144e[_0x5ae30a(-0x192,_0x3d95d8._0x2c4c2b)];_0x1176f8&&(_0x1176f8['hasUpdate']&&(_0x1176f8['texture']&&_0x1176f8['texture']['destroy'](),_0x1176f8['texture']=createCroppingRangeTexture(_0x17c3fc,_0x1176f8),_0x1176f8['hasUpdate']=![]));function _0x5ae30a(_0x50ff6e,_0x3d38af){return _0x2b6441(_0x50ff6e,_0x3d38af-0x51d);}const _0x2b714d=(_0x55887d=this['_surface']['_tileProvider'])===null||_0x55887d===void 0x0||(_0x55887d=_0x55887d['marsOptions'])===null||_0x55887d===void 0x0?void 0x0:_0x55887d['flood'];return _0x2b714d&&(_0x2b714d['hasUpdate']&&(_0x2b714d['texture']&&_0x2b714d['texture'][_0x5ae30a(0x46c,_0x3d95d8._0x5cc4f2)](),_0x2b714d['texture']=createCroppingRangeTexture(_0x17c3fc,_0x2b714d),_0x2b714d['hasUpdate']=![])),beginFrame_old[_0x57bd17(0x1a59,0x12f0)](this)(_0x17c3fc);};function wgs84ToMercatorBoungingBox(_0x884fde,_0x46702f){const _0x5a82a7={_0x59c909:0x829,_0x52bf13:0x1486,_0x492753:0xa31,_0x5cfa28:0x6c1,_0x3af27c:0x200,_0x3ae090:0x816};function _0x164bf6(_0xb92b10,_0x3dcae4){return _0x306755(_0xb92b10,_0x3dcae4- -0x215);}const _0x3f5592=_0x884fde[_0x164bf6(_0x5a82a7._0x59c909,0xded)](Cesium__namespace['Cartographic']['fromRadians'](_0x46702f['west'],_0x46702f['south'])),_0x237934=_0x884fde['project'](Cesium__namespace['Cartographic']['fromRadians'](_0x46702f[_0x6fedd7(0xc0c,_0x5a82a7._0x52bf13)],_0x46702f['north'])),_0x3dff13={};_0x3dff13[_0x164bf6(_0x5a82a7._0x492753,_0x5a82a7._0x5cfa28)]=_0x237934['y'],_0x3dff13['east']=_0x237934['x'],_0x3dff13[_0x164bf6(-_0x5a82a7._0x3af27c,_0x5a82a7._0x3ae090)]=_0x3f5592['y'];function _0x6fedd7(_0x26be07,_0x39f417){return _0x306755(_0x39f417,_0x26be07- -0x50c);}return _0x3dff13['west']=_0x3f5592['x'],_0x3dff13;}function caculateCanvasSize$1(_0xa2f5b2){const _0x45bf15={_0x8665fe:0x1076};function _0x56c8d1(_0x4ba181,_0x1bb756){return _0x306755(_0x1bb756,_0x4ba181- -0x5e9);}const {south:_0x3883ea,west:_0x285bfb,north:_0x13ec6a,east:_0x482ac8}=_0xa2f5b2,_0x4b134c=Math[_0x56c8d1(0xe78,0xc8d)](_0x482ac8-_0x285bfb),_0x201edd=Math[_0x56c8d1(0xe78,_0x45bf15._0x8665fe)](_0x13ec6a-_0x3883ea);let _0x296ade=0x1;const _0x2fb391=Math['max'](_0x4b134c,_0x201edd),_0x1b8590=Math['min'](_0x4b134c,_0x201edd),_0x441ee6=0x800,_0x6c419f=0x200;if(_0x2fb391>_0x441ee6)_0x296ade=_0x2fb391/_0x441ee6,_0x1b8590/_0x296ade<_0x6c419f&&(_0x296ade=_0x1b8590/_0x6c419f);else _0x1b8590<_0x6c419f&&(_0x296ade=_0x1b8590/_0x6c419f,_0x2fb391/_0x296ade>_0x441ee6&&(_0x296ade=_0x2fb391/_0x441ee6));const _0x3fd1b2={};_0x3fd1b2[_0x4d49a4(0x1304,0xacf)]=_0x296ade,_0x3fd1b2['width']=_0x4b134c/_0x296ade,_0x3fd1b2[_0x56c8d1(0x609,0xf16)]=_0x201edd/_0x296ade;function _0x4d49a4(_0x263fe1,_0x5e9849){return _0x306755(_0x263fe1,_0x5e9849-0x114);}return _0x3fd1b2;}function mercatorPointToCanvasPoint(_0x41490e,_0x29e3e4){const _0x2e8198={_0x23d5e7:0x12ea,_0x3d5f39:0x1056,_0x2355e0:0x137},_0x3a4630={_0x228400:0x28f},_0x20ae1d={};function _0x239791(_0x51d7ac,_0x5fe6a1){return _0x306755(_0x5fe6a1,_0x51d7ac- -0x539);}_0x20ae1d['x']=undefined;function _0x4430de(_0x1d748a,_0x5b7455){return _0x2b6441(_0x5b7455,_0x1d748a-_0x3a4630._0x228400);}_0x20ae1d['y']=undefined;const _0x4d3f2b=_0x20ae1d;return _0x4d3f2b['x']=Math['round']((_0x41490e['x']-_0x29e3e4[_0x4430de(_0x2e8198._0x23d5e7,_0x2e8198._0x3d5f39)])/_0x29e3e4['factor']),_0x4d3f2b['y']=_0x29e3e4[_0x4430de(0x8e0,0x125b)]-Math['round']((_0x41490e['y']-_0x29e3e4['yoffset'])/_0x29e3e4[_0x239791(0x482,_0x2e8198._0x2355e0)]),_0x4d3f2b;}function createCroppingRangeTexture(_0x3f84f4,_0x847fb5){const _0x38dead={_0x587e6a:0x35c,_0x1a3940:0x19a2,_0x46df6b:0x13a4,_0x50005b:0x1306,_0x4f8044:0x8fc,_0x10422f:0x183c,_0x1c1118:0x8f5,_0x4b8f0f:0xa82,_0x8d4d86:0x738,_0x3607d8:0x2d5,_0x30d85d:0x39c,_0x2ff0fa:0x66b,_0x4c5738:0xc8c},_0x578971={_0x55d922:0x2f6},_0x137388={_0x48a4ce:0xe7},_0x288ca2={_0x3f0b53:0xcc3,_0x2cab9b:0x14fc,_0x117d02:0x10fc,_0x19e33a:0x638,_0x194aeb:0x6bf,_0x5b7c76:0x122a},_0xb3cfe5=_0x3f84f4[_0x3705e7(_0x38dead._0x587e6a,-0x106)],_0x3205d8=_0x3f84f4[_0x214226(_0x38dead._0x1a3940,_0x38dead._0x46df6b)],_0x442d18=_0x847fb5['areas'],_0x4c6ca8=_0x442d18===null||_0x442d18===void 0x0?void 0x0:_0x442d18['length'];if(_0x4c6ca8>0x0){const _0x5eb837=wgs84ToMercatorBoungingBox(_0x3205d8,_0x847fb5[_0x3705e7(0x1123,0x1185)]),_0x41100e=caculateCanvasSize$1(_0x5eb837),_0x4b0de6=_0x5eb837['west'],_0x6b5450=_0x5eb837['south'],_0x512e98={};_0x512e98[_0x3705e7(_0x38dead._0x50005b,0x177f)]=_0x4b0de6,_0x512e98['yoffset']=_0x6b5450,_0x512e98[_0x214226(-0x76,0x501)]=_0x41100e['factor'],_0x512e98[_0x3705e7(_0x38dead._0x4f8044,0x1078)]=_0x41100e['height'];const _0x431baa=_0x512e98,_0x46b19f=document[_0x214226(_0x38dead._0x10422f,0xfa2)]('canvas');_0x46b19f[_0x3705e7(_0x38dead._0x1c1118,_0x38dead._0x4b8f0f)]=_0x41100e['width'],_0x46b19f['height']=_0x41100e[_0x214226(0xc90,_0x38dead._0x8d4d86)],_0x46b19f['style']['width']=_0x41100e['width']+'\x20px',_0x46b19f['style']['height']=_0x41100e[_0x3705e7(_0x38dead._0x4f8044,_0x38dead._0x3607d8)]+'\x20px',_0x46b19f[_0x214226(0x5ec,_0x38dead._0x30d85d)]['backgroundColor']='#000000';const _0x2cbe83=_0x46b19f['getContext']('2d');return _0x442d18['forEach']((_0x5471d1,_0x5648c5)=>{_0x2cbe83['globalCompositeOperation']='lighter',_0x2cbe83[_0x531507(0x8cc,_0x288ca2._0x3f0b53)]();function _0x531507(_0x4da6e5,_0x42d725){return _0x214226(_0x42d725,_0x4da6e5-0x3bb);}const _0x3ff262=_0x5471d1[0x0],_0x1f3b75=mercatorPointToCanvasPoint(_0x3205d8['project'](_0x3ff262),_0x431baa);_0x2cbe83[_0x35bc6d(0x1c35,0x1311)](_0x1f3b75['x'],_0x1f3b75['y']);function _0x35bc6d(_0x43e0e7,_0x3c6606){return _0x214226(_0x43e0e7,_0x3c6606-0x367);}for(let _0x41683b=0x1;_0x41683b<_0x5471d1[_0x531507(_0x288ca2._0x2cab9b,0x18ce)];_0x41683b++){const _0x335c3f=mercatorPointToCanvasPoint(_0x3205d8[_0x531507(0xf03,_0x288ca2._0x117d02)](_0x5471d1[_0x41683b]),_0x431baa);_0x2cbe83[_0x531507(0x4d5,0x2f2)](_0x335c3f['x'],_0x335c3f['y']);}_0x2cbe83['closePath']();if(_0x847fb5['heights']){const _0x28d61c=Cesium__namespace['Cartesian4']['packFloat'](_0x847fb5['heights'][_0x5648c5]),_0x14fdb0=Cesium__namespace['Color']['fromBytes'](_0x28d61c['x'],_0x28d61c['y'],_0x28d61c['z'],_0x28d61c['w'])[_0x531507(_0x288ca2._0x19e33a,0x787)]();_0x2cbe83['fillStyle']=_0x14fdb0,console[_0x35bc6d(-_0x288ca2._0x194aeb,0x311)]('fillStyle',_0x14fdb0);}else _0x2cbe83['fillStyle']=_0x35bc6d(0x13e8,_0x288ca2._0x5b7c76);_0x2cbe83['fill'](),_0x2cbe83['restore']();}),new Cesium__namespace['Texture']({'context':_0xb3cfe5,'pixelFormat':Cesium__namespace[_0x214226(_0x38dead._0x2ff0fa,0xc4d)]['RGBA'],'pixelDatatype':Cesium__namespace[_0x3705e7(0x362,0x434)][_0x214226(0x9c1,0xcc0)],'sampler':new Cesium__namespace[(_0x214226(_0x38dead._0x4c5738,0xcc2))]({'wrapS':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'wrapT':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'minificationFilter':Cesium__namespace['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter'][_0x214226(-0xa2e,0x1)]}),'flipY':!![],'source':_0x46b19f});}function _0x214226(_0x27175a,_0x2df025){return _0x2b6441(_0x27175a,_0x2df025-_0x137388._0x48a4ce);}function _0x3705e7(_0x53497a,_0x4ddd15){return _0x306755(_0x4ddd15,_0x53497a- -_0x578971._0x55d922);}return undefined;}const _0x34a534={};_0x34a534[_0x306755(0x568,0xc8d)]=function(){return this['_marsOptions'];};const _0x4db248={};_0x4db248[_0x306755(0x13f8,0x990)]=_0x34a534,Object['defineProperties'](Cesium__namespace[_0x2b6441(0xf19,0xb1d)]['prototype'],_0x4db248),Cesium__namespace['GlobeSurfaceTileProvider']['prototype'][_0x2b6441(0x24e,0xa0d)]=function(_0x332aa5){const _0x43206c={_0x5835f7:0x108,_0x19920f:0x67d,_0x4afb56:0x10e0,_0xc0c9d1:0x1552},_0x10b679={_0x165ad9:0x391},_0x1d9759={_0x2de08f:0x122},_0x39fe51={_0x5418e6:0xf0c,_0x1f221f:0xa10,_0x3e0fe6:0x7f6},_0x50c367={_0x5e479b:0x518},_0x53fd0e={_0x31bb16:0xd19,_0x554a42:0xa6f,_0xf3a9db:0x15a2},_0x13a2b9={_0x15ea3c:0x11be,_0x1dc8f9:0x1437};function _0x40b15c(_0x49ace0,_0x59f95a){return _0x2b6441(_0x49ace0,_0x59f95a-0x6f7);}function _0x312088(_0x5ce5e0,_0x4b1e29){return _0x2b6441(_0x5ce5e0,_0x4b1e29-0x1c9);}this[_0x40b15c(-_0x43206c._0x5835f7,_0x43206c._0x19920f)]={'flat':{'clear':function(){this['enabled']=![],this['heights']=[],this['rectangle']=undefined,this[_0x458fab(0x1267,0x999)]=undefined,this['rectangles']=undefined;function _0x458fab(_0x5ef113,_0x318061){return _0x40b15c(_0x318061,_0x5ef113- -0x59c);}this['texture']=undefined,this['hasUpdate']=![];}},'uplift':{'clear':function(){this[_0x471fc1(_0x13a2b9._0x15ea3c,0xceb)]=![];function _0x571153(_0xba9b1b,_0x38d6a1){return _0x40b15c(_0x38d6a1,_0xba9b1b- -0x3cc);}this['showUp']=!![],this['height']=0x0,this[_0x471fc1(0xd25,0xe34)]=undefined,this['rectangles']=undefined;function _0x471fc1(_0x4c12a6,_0x240dce){return _0x40b15c(_0x4c12a6,_0x240dce- -0x73b);}this[_0x571153(_0x13a2b9._0x1dc8f9,0x12db)]=undefined,this['texture']=undefined,this['hasUpdate']=![];}},'clip':{'clear':function(){function _0x63c2db(_0x47b9dd,_0x1c01e8){return _0x40b15c(_0x1c01e8,_0x47b9dd- -0x70d);}this[_0x63c2db(_0x53fd0e._0x31bb16,_0x53fd0e._0x554a42)]=![],this['rectangle']=undefined,this[_0x24b8b6(_0x53fd0e._0xf3a9db,0xf6c)]=undefined,this[_0x24b8b6(0x1738,0x2011)]=undefined;function _0x24b8b6(_0x5c8cd0,_0x25619d){return _0x40b15c(_0x25619d,_0x5c8cd0- -0x261);}this['hasUpdate']=![],this['onlySelf']=![];}},'flood':{'clear':function(){const _0x49d366={_0x2e4bcd:0x51a};this[_0x434491(0x11fc,_0x39fe51._0x5418e6)]=![],this[_0x50c3a4(0x1057,0xd15)]=undefined;function _0x50c3a4(_0x4f5fc8,_0x26fd52){return _0x40b15c(_0x26fd52,_0x4f5fc8- -_0x50c367._0x5e479b);}this['areas']=undefined;function _0x434491(_0x322c86,_0x36c32b){return _0x40b15c(_0x322c86,_0x36c32b- -_0x49d366._0x2e4bcd);}this[_0x50c3a4(0x1481,_0x39fe51._0x1f221f)]=undefined,this['hasUpdate']=![],this[_0x434491(0x231,_0x39fe51._0x3e0fe6)]=![];}},'resetValue':function(){const _0xee9e4c={_0x469941:0x67c};this[_0x364ebf(0xda3,0x7d0)]['clear']();function _0x364ebf(_0x236bfe,_0x482783){return _0x40b15c(_0x236bfe,_0x482783- -_0x1d9759._0x2de08f);}function _0x5f07a7(_0x21facb,_0x3746a5){return _0x40b15c(_0x21facb,_0x3746a5- -_0xee9e4c._0x469941);}this['uplift']['clear'](),this['clip']['clear'](),this[_0x5f07a7(-_0x10b679._0x165ad9,0x19)]['clear']();}},this['_marsOptions'][_0x40b15c(_0x43206c._0x4afb56,_0x43206c._0xc0c9d1)]();},Cesium__namespace['ImageryLayer'][_0x306755(0x39e,0xcf3)]['_initByMars3D']=function(_0x1bfbd3,_0x448d20){const _0x728839={_0x106559:0x42c,_0x887ea7:0x6d5,_0xea90e5:0x66e,_0x4b17f4:0x1a5e,_0x3431fe:0x645,_0x501a3d:0x18d4,_0x27d388:0x10a9},_0x8c904f={_0x5ef476:0x5d4};function _0x9191e9(_0x533e32,_0x29c266){return _0x306755(_0x533e32,_0x29c266-0xa);}this['invertColor']=_0x448d20['invertColor']??_0x1bfbd3['invertColor'],this['filterColor']=_0x448d20['filterColor']??_0x1bfbd3['filterColor'];function _0x580dda(_0xabfed8,_0x133c10){return _0x2b6441(_0xabfed8,_0x133c10-_0x8c904f._0x5ef476);}this[_0x9191e9(-_0x728839._0x106559,0x645)]&&typeof this[_0x580dda(_0x728839._0x887ea7,_0x728839._0xea90e5)]==='string'&&this['filterColor'][_0x9191e9(_0x728839._0x4b17f4,0x167c)]===String&&(this[_0x9191e9(-0x215,_0x728839._0x3431fe)]=Cesium__namespace['Color'][_0x9191e9(0x1c80,_0x728839._0x501a3d)](this[_0x9191e9(_0x728839._0x27d388,0x645)]));},Cesium__namespace[_0x306755(0x16ed,0x1019)][_0x306755(0x1410,0xcf3)][_0x2b6441(-0x811,-0x6b)]=function(_0x4cd8a0,_0x2c0dc3){const _0x1542d8={_0x43a0c1:0xfa9},_0x29fd5={_0xce5cb9:0x5e4},_0x331300=new Cesium__namespace['ImageryLayer'](_0x4cd8a0,_0x4cd8a0[_0x362db4(0xca0,_0x1542d8._0x43a0c1)]);function _0x362db4(_0x55c1f1,_0x4cf5c4){return _0x2b6441(_0x4cf5c4,_0x55c1f1-_0x29fd5._0xce5cb9);}return this['add'](_0x331300,_0x2c0dc3),_0x331300;};const pickImageryLayerFeatures_old=Cesium__namespace['ImageryLayerCollection']['prototype']['pickImageryLayerFeatures'];Cesium__namespace['ImageryLayerCollection']['prototype']['pickImageryLayerFeatures']=function(_0x2e2160,_0x984211,_0x2ec72a){const _0x2eca66={_0x1e653c:0x549};if(!_0x2ec72a)return;function _0x34ca32(_0x3412a1,_0x321075){return _0x306755(_0x321075,_0x3412a1- -0x4ca);}return pickImageryLayerFeatures_old[_0x34ca32(0xf85,_0x2eca66._0x1e653c)](this)(_0x2e2160,_0x984211);};const createShadowReceiveFragmentShader_old=Cesium__namespace[_0x306755(0x2ad,0x5fa)][_0x306755(0x96f,0xc7e)];Cesium__namespace[_0x306755(0xcf1,0x5fa)]['createShadowReceiveFragmentShader']=function(_0x59b18e,_0x379ebe,_0x3b979f,_0x37a224,_0x46437d){const _0x11e294={_0x27a1ab:0xdff,_0x155fde:0x126f,_0x3f0b6f:0x7cc,_0x858db2:0x432,_0x21a9d8:0x584,_0x27447d:0x4bd,_0xf98706:0xf52},_0x25de0b={_0x255e5a:0x1d9};function _0x50c611(_0x17ca6a,_0x2fbd82){return _0x306755(_0x2fbd82,_0x17ca6a- -0x650);}const _0x57f8fe=createShadowReceiveFragmentShader_old[_0x50c611(_0x11e294._0x27a1ab,_0x11e294._0x155fde)](this)(_0x59b18e,_0x379ebe,_0x3b979f,_0x37a224,_0x46437d);if(!isSun(_0x379ebe[_0x50c611(_0x11e294._0x3f0b6f,0xb68)]['position'])){const _0xf7b42a=_0x57f8fe[_0x22bd41(0x584,_0x11e294._0x858db2)][_0x57f8fe[_0x22bd41(_0x11e294._0x21a9d8,0xacd)]['length']-0x1];_0x57f8fe['sources'][_0x57f8fe['sources']['length']-0x1]=_0xf7b42a['replace'](_0x22bd41(_0x11e294._0x27447d,-0x531),_0x50c611(_0x11e294._0xf98706,0x185d));}function _0x22bd41(_0x26c975,_0x26a0b){return _0x2b6441(_0x26a0b,_0x26c975-_0x25de0b._0x255e5a);}return _0x57f8fe;};function isSun(_0xcebbb8){const _0x287754={_0x9cf776:0x461};function _0x48f34e(_0x3d1f7c,_0x3b9c8a){return _0x306755(_0x3d1f7c,_0x3b9c8a- -_0x287754._0x9cf776);}if(Math[_0x48f34e(0xeeb,0x1000)](_0xcebbb8['x'])>0x71ff98)return!![];if(Math['abs'](_0xcebbb8['y'])>0x71ff98)return!![];if(Math['abs'](_0xcebbb8['z'])>0x71ff98)return!![];return![];}const _0x20821f={};_0x20821f['set']=function(_0x2856ae){this['ellipse']=_0x2856ae;},_0x20821f['get']=function(){return this['ellipse'];};const _0xfe2ec3={};_0xfe2ec3['circle']=_0x20821f,Object['defineProperties'](Cesium__namespace[_0x306755(0x84d,0x102f)]['prototype'],_0xfe2ec3);const isAvailable_old=Cesium__namespace[_0x306755(0x11fe,0x102f)]['prototype']['isAvailable'];Cesium__namespace['Entity']['prototype'][_0x306755(0x18a7,0x1690)]=function(_0x5b8517){if(this['isAvailableByMap']&&this['isAvailableByMap'](_0x5b8517)===![])return!![];function _0x28be4f(_0x5c2e77,_0x3ab4f9){return _0x2b6441(_0x5c2e77,_0x3ab4f9-0x274);}return isAvailable_old[_0x28be4f(0xa91,0x1122)](this)(_0x5b8517);},Cesium__namespace['Cesium3DTileset']['prototype']['_initForMars3D']=function(_0x915fd){this['options']=_0x915fd;};const load_old=Cesium__namespace['I3SLayer'][_0x2b6441(0x43f,0x752)][_0x2b6441(0x1aee,0x12e9)];Cesium__namespace['I3SLayer'][_0x2b6441(0x6ae,0x752)]['load']=function(){const _0x490e52={_0x4dd8c7:0x61c};function _0x5300a0(_0x537292,_0x5155a8){return _0x306755(_0x5155a8,_0x537292- -0x5d4);}var _0x4ecc36;const _0x1d7779=(_0x4ecc36=this[_0x361403(0x5ee,0x848)])===null||_0x4ecc36===void 0x0||(_0x4ecc36=_0x4ecc36['spatialReference'])===null||_0x4ecc36===void 0x0?void 0x0:_0x4ecc36['wkid'];if(_0x1d7779===0x118a)this[_0x5300a0(-0x61,-0x979)]['spatialReference']['wkid']=0x10e6;else _0x1d7779!==0x10e6&&console['warn']('Cesium.I3SLayer:当前仅支持EPSG:4326和EPSG:4490坐标系',this);function _0x361403(_0x7850ab,_0x2720d4){return _0x2b6441(_0x2720d4,_0x7850ab-_0x490e52._0x4dd8c7);}return load_old[_0x361403(0x14ca,0x1888)](this)();};const contains_old=Cesium__namespace['TrustedServers'][_0x306755(0x127,0x7e8)];Cesium__namespace[_0x306755(0xcb9,0x80f)][_0x306755(0xcbc,0x7e8)]=function(_0x5a30b1){const _0xc67234={_0x418454:0x194};function _0x246afd(_0x16e78f,_0x309f66){return _0x2b6441(_0x16e78f,_0x309f66-0x234);}if(_0x5a30b1[_0x246afd(-0x569,_0xc67234._0x418454)]('file:'))return![];return contains_old['bind'](this)(_0x5a30b1);};const _updateClamping_old=Cesium__namespace['Billboard']['_updateClamping'];Cesium__namespace['Billboard'][_0x306755(0x1464,0xd3f)]=function(_0x2cb8ae,_0x182539){const _0x33aede={_0x3f795f:0x1296,_0x55e1b3:0xf50,_0x425164:0x12aa,_0x1107e1:0x1301,_0x4b78f8:0x1177},_0x15c071={_0x6d3422:0xaa},_0x2025b6=_0x2cb8ae[_0x1c8bbb(0x1b09,_0x33aede._0x3f795f)];if(!Cesium__namespace['defined'](_0x2025b6))return;const _0x2bf2b0=_0x2025b6['frameState']['mode'];if(_0x2bf2b0!==Cesium__namespace['SceneMode']['SCENE3D']&&_0x182539['_heightReference']!==Cesium__namespace[_0x1c8bbb(_0x33aede._0x55e1b3,0x1184)][_0x1dbe73(0x12b5,_0x33aede._0x425164)]){Cesium__namespace['defined'](_0x182539['_removeCallbackFunc'])&&(_0x182539['_removeCallbackFunc'](),_0x182539['_removeCallbackFunc']=undefined);_0x182539[_0x1c8bbb(_0x33aede._0x1107e1,_0x33aede._0x4b78f8)]=undefined;return;}function _0x1dbe73(_0x188314,_0x2035c4){return _0x306755(_0x2035c4,_0x188314-0xa4);}function _0x1c8bbb(_0x1c7dc7,_0x26fe1b){return _0x2b6441(_0x1c7dc7,_0x26fe1b-_0x15c071._0x6d3422);}return _updateClamping_old(_0x2cb8ae,_0x182539);};const _computeActualPosition_old=Cesium__namespace[_0x2b6441(0xe54,0x8bd)]['_computeActualPosition'];Cesium__namespace['Billboard'][_0x2b6441(0xee,0x163)]=function(_0x522a47,_0x2dc1f6,_0x591643,_0x5ddb12){const _0x4d4d73={_0x5e6ad4:0x1265,_0x21a865:0xab5};function _0x26f661(_0x3a711b,_0x50b55f){return _0x306755(_0x3a711b,_0x50b55f- -0x639);}function _0x144046(_0x27782e,_0x248770){return _0x2b6441(_0x248770,_0x27782e-0x135);}return _0x522a47[_0x144046(_0x4d4d73._0x5e6ad4,_0x4d4d73._0x21a865)]!==Cesium__namespace['HeightReference'][_0x26f661(0x12c,0xbd8)]&&_0x522a47[_0x26f661(0x825,0x706)](),_computeActualPosition_old(_0x522a47,_0x2dc1f6,_0x591643,_0x5ddb12);};const _add_old=Cesium__namespace['BillboardCollection']['prototype'][_0x306755(0x16fa,0xd2e)];Cesium__namespace[_0x2b6441(0x287,-0xc2)][_0x306755(0x1665,0xcf3)]['add']=function(_0xa345ee){const _0xe19f12={_0x5f4dbf:0x5fc};this[_0x3f35f9(-_0xe19f12._0x5f4dbf,0x121)]&&(_0xa345ee={...this['defaultStyle'],..._0xa345ee});function _0x3f35f9(_0x5bc5af,_0x49280d){return _0x2b6441(_0x5bc5af,_0x49280d-0x174);}return _add_old['bind'](this)(_0xa345ee);};const _0x368e3e={};_0x368e3e[_0x2b6441(0x172,0x291)]=function(_0x4cbeb4){this['_globalAlpha']=_0x4cbeb4;},_0x368e3e['get']=function(){return this['_globalAlpha']??0x1;};const _0x395428={};_0x395428['globalAlpha']=_0x368e3e,Object['defineProperties'](Cesium__namespace['CheckerboardMaterialProperty']['prototype'],_0x395428);const getValue_old$6=Cesium__namespace[_0x306755(0x74c,0xbae)][_0x2b6441(-0x355,0x752)]['getValue'];Cesium__namespace['CheckerboardMaterialProperty'][_0x306755(0xb60,0xcf3)]['getValue']=function(_0x23d390,_0x5ea11f){const _0x376a8d={_0x290095:0x120e,_0x30abc7:0x142d,_0x5a45fd:0x131b,_0x302804:0x1209,_0x1ae5a9:0x12d1},_0x29fd8e={_0x385d6b:0x20b},_0x578082={_0x4a9347:0x391};_0x5ea11f=getValue_old$6['bind'](this)(_0x23d390,_0x5ea11f);this['globalAlpha']!==0x1&&(_0x5ea11f['lightColor']&&(_0x5ea11f['lightColor'][_0x397bcd(0x857,_0x376a8d._0x290095)]*=this[_0x397bcd(0x9a4,_0x376a8d._0x30abc7)]),_0x5ea11f[_0x397bcd(0xee6,0xb0c)]&&(_0x5ea11f['darkColor']['alpha']*=this['globalAlpha']),_0x5ea11f[_0x397bcd(0x8ff,_0x376a8d._0x5a45fd)]&&(_0x5ea11f['evenColor'][_0x1a6c7c(_0x376a8d._0x302804,_0x376a8d._0x1ae5a9)]*=this['globalAlpha']),_0x5ea11f['oddColor']&&(_0x5ea11f['oddColor'][_0x397bcd(0x1123,_0x376a8d._0x290095)]*=this['globalAlpha']));function _0x397bcd(_0x51661d,_0x282844){return _0x306755(_0x51661d,_0x282844- -_0x578082._0x4a9347);}function _0x1a6c7c(_0x4b2d8a,_0xf8479d){return _0x2b6441(_0xf8479d,_0x4b2d8a-_0x29fd8e._0x385d6b);}return _0x5ea11f;};let _hasInfo=!![],_hasError=!![];function hasInfo(_0x431dbe){_hasInfo=_0x431dbe;}function hasWarn(_0x43d0a8){_hasInfo=_0x43d0a8;}function hasError(_0x327392){_hasError=_0x327392;}function logInfo(..._0x480782){if(!_hasInfo)return;console['log'](..._0x480782);}function logWarn(..._0xe27f43){const _0x55ee18={_0x537e2f:0x7df},_0x48c0ea={_0x66fa58:0xb2};function _0x1d53cf(_0x35f4b5,_0x3a8885){return _0x2b6441(_0x35f4b5,_0x3a8885-_0x48c0ea._0x66fa58);}console[_0x1d53cf(0x6d3,_0x55ee18._0x537e2f)](..._0xe27f43);}function logError(..._0x3772d5){const _0x549454={_0x260a28:0x1c50},_0x23bf84={_0x56e16c:0x159};function _0x72aa37(_0x44c266,_0x507519){return _0x306755(_0x44c266,_0x507519- -_0x23bf84._0x56e16c);}if(!_hasError)return;console[_0x72aa37(_0x549454._0x260a28,0x1267)](..._0x3772d5);}const _0x5d6f81={};_0x5d6f81[_0x306755(0x153c,0xbb0)]=null,_0x5d6f81['hasInfo']=hasInfo,_0x5d6f81[_0x306755(0x11e8,0xb21)]=hasWarn,_0x5d6f81['hasError']=hasError,_0x5d6f81[_0x2b6441(0xa48,0xf61)]=logInfo,_0x5d6f81[_0x2b6441(0x3f,0x9df)]=logWarn,_0x5d6f81['logError']=logError;var Log=_0x5d6f81;const GraphicType={},GraphicClass={};function getTypes(){const _0x496ed1={_0x56e229:0x1483,_0x3b5dbd:0x1354,_0x5004be:0x934,_0x2678f4:0x23b},_0x2e780d=[];function _0xc61227(_0x24118e,_0x11db7c){return _0x306755(_0x24118e,_0x11db7c- -0x45e);}for(const _0x4b3cb9 in GraphicClass){const _0x32e9fa=GraphicClass[_0x4b3cb9],_0x43b1f8={};_0x43b1f8[_0xc61227(0x6b9,0x435)]=_0x4b3cb9,_0x43b1f8[_0xc61227(_0x496ed1._0x56e229,0x13eb)]=_0x32e9fa['isPoint'],_0x43b1f8[_0x260dcb(_0x496ed1._0x3b5dbd,_0x496ed1._0x5004be)]=_0x32e9fa['isCombine'],_0x2e780d[_0xc61227(-0x182,_0x496ed1._0x2678f4)](_0x43b1f8);}function _0x260dcb(_0x567530,_0xc2c93c){return _0x306755(_0x567530,_0xc2c93c- -0x18e);}return _0x2e780d;}function hasType(_0x38c76c){return GraphicClass[_0x38c76c]?!![]:![];}function eachGraphicType(_0x720e07){const _0x2b3df2={_0x2eb7b3:0x1183,_0x2b3ea3:0x1486};function _0x415e4d(_0xabf247,_0x409d91){return _0x306755(_0xabf247,_0x409d91-0x9c);}function _0x36fc1d(_0x5b41cc,_0x521c82){return _0x306755(_0x521c82,_0x5b41cc- -0xca);}Object[_0x415e4d(0x1669,_0x2b3df2._0x2eb7b3)](GraphicClass)[_0x36fc1d(0xb76,_0x2b3df2._0x2b3ea3)]((_0x424117,_0x54d36c)=>{_0x720e07&&_0x720e07['call'](this,_0x424117,_0x54d36c);});}function isPointType(_0x9e342c){if(!_0x9e342c)return![];return GraphicClass[_0x9e342c]&&GraphicClass[_0x9e342c]['isPoint']?!![]:![];}function isCombineType(_0x1aa6a9){const _0x377a68={_0x36e1f0:0x769,_0x1d31a5:0x5ee};function _0x5f5144(_0x5b4b5a,_0x14c3a6){return _0x306755(_0x14c3a6,_0x5b4b5a- -0x359);}if(!_0x1aa6a9)return![];return GraphicClass[_0x1aa6a9]&&GraphicClass[_0x1aa6a9][_0x5f5144(_0x377a68._0x36e1f0,_0x377a68._0x1d31a5)]?!![]:![];}function register$5(_0x40ab76,_0x406bb7,_0x400e7d){const _0x10cf2f={_0x2fd329:0x1551,_0x67ce49:0x1821};GraphicClass[_0x40ab76]&&logError('register\x20Graphic:\x20'+_0x40ab76+'类型已存在',_0x406bb7);function _0x5b9f90(_0x10ea73,_0x40956c){return _0x2b6441(_0x40956c,_0x10ea73-0x48f);}GraphicType[_0x40ab76]=_0x40ab76,GraphicClass[_0x40ab76]=_0x406bb7,_0x406bb7[_0x5b9f90(_0x10cf2f._0x2fd329,_0x10cf2f._0x67ce49)]=_0x40ab76,_0x406bb7['prototype']['_type']=_0x40ab76,_0x400e7d&&(_0x406bb7['isPoint']=!![],_0x406bb7['prototype']['_isPoint']=!![]);}function getClass$5(_0x3a2d6a){return GraphicClass[_0x3a2d6a]?GraphicClass[_0x3a2d6a]:(logWarn('getClass:未找到该类型对应的处理类',_0x3a2d6a),null);}function create$5(_0x502932,_0x484438){const _0x309c08=getClass$5(_0x502932);if(!_0x309c08)return;const _0x124f21=new _0x309c08(_0x484438);return _0x124f21;}function fromDraw(_0x1dd402,_0x2ee7da){const _0x280015={_0x2d8c52:0x390,_0x4dc292:0xb9d,_0x436277:0x10d3},_0x1d723b={_0x3c5773:0x2f0};function _0x2a45af(_0x16c065,_0x56c752){return _0x2b6441(_0x16c065,_0x56c752-0x393);}if(!_0x2ee7da['type']){logError('fromDraw:需要传入指定绘制的type类型!');return;}const _0x2fac8e=getClass$5(_0x2ee7da['type']);function _0x289deb(_0xa38456,_0x1fe957){return _0x2b6441(_0xa38456,_0x1fe957-_0x1d723b._0x3c5773);}if(!_0x2fac8e||!_0x2fac8e[_0x289deb(_0x280015._0x2d8c52,0xa42)][_0x289deb(_0x280015._0x4dc292,_0x280015._0x436277)]){logInfo('对象不支持标绘',_0x2fac8e);return;}const _0x25cfd1=new _0x2fac8e(_0x2ee7da);return _0x25cfd1['startDraw'](_0x1dd402),_0x25cfd1;}const _0x48f244={};_0x48f244['__proto__']=null,_0x48f244['getTypes']=getTypes,_0x48f244[_0x306755(0x1528,0xdad)]=hasType,_0x48f244[_0x2b6441(0x9b7,0x11f5)]=eachGraphicType,_0x48f244[_0x2b6441(0x6f8,0x10f3)]=isPointType,_0x48f244['isCombineType']=isCombineType,_0x48f244['register']=register$5,_0x48f244[_0x2b6441(0xaec,0x593)]=getClass$5,_0x48f244['create']=create$5,_0x48f244['fromDraw']=fromDraw;var GraphicUtil=_0x48f244,edgeIntersectsEdge=function edgeIntersectsEdge(_0xcdd2ee,_0x5641fd,_0x145480,_0x4d41c5){var _0x423b58=(_0x4d41c5[0x0]-_0x145480[0x0])*(_0xcdd2ee[0x1]-_0x145480[0x1])-(_0x4d41c5[0x1]-_0x145480[0x1])*(_0xcdd2ee[0x0]-_0x145480[0x0]),_0x3e0567=(_0x5641fd[0x0]-_0xcdd2ee[0x0])*(_0xcdd2ee[0x1]-_0x145480[0x1])-(_0x5641fd[0x1]-_0xcdd2ee[0x1])*(_0xcdd2ee[0x0]-_0x145480[0x0]),_0x5b444c=(_0x4d41c5[0x1]-_0x145480[0x1])*(_0x5641fd[0x0]-_0xcdd2ee[0x0])-(_0x4d41c5[0x0]-_0x145480[0x0])*(_0x5641fd[0x1]-_0xcdd2ee[0x1]);if(_0x5b444c!==0x0){var _0x2bca27=_0x423b58/_0x5b444c,_0xea979=_0x3e0567/_0x5b444c;if(_0x2bca27>=0x0&&_0x2bca27<=0x1&&_0xea979>=0x0&&_0xea979<=0x1)return!![];}return![];},coordinatesContainPoint=function coordinatesContainPoint(_0x5f5cd9,_0xb03cc2){var _0x56ccf4=![];for(var _0x2c70db=-0x1,_0x55ebaa=_0x5f5cd9['length'],_0x5acab8=_0x55ebaa-0x1;++_0x2c70db<_0x55ebaa;_0x5acab8=_0x2c70db){(_0x5f5cd9[_0x2c70db][0x1]<=_0xb03cc2[0x1]&&_0xb03cc2[0x1]<_0x5f5cd9[_0x5acab8][0x1]||_0x5f5cd9[_0x5acab8][0x1]<=_0xb03cc2[0x1]&&_0xb03cc2[0x1]<_0x5f5cd9[_0x2c70db][0x1])&&_0xb03cc2[0x0]<(_0x5f5cd9[_0x5acab8][0x0]-_0x5f5cd9[_0x2c70db][0x0])*(_0xb03cc2[0x1]-_0x5f5cd9[_0x2c70db][0x1])/(_0x5f5cd9[_0x5acab8][0x1]-_0x5f5cd9[_0x2c70db][0x1])+_0x5f5cd9[_0x2c70db][0x0]&&(_0x56ccf4=!_0x56ccf4);}return _0x56ccf4;},pointsEqual=function pointsEqual(_0x2c76b6,_0x3dc03a){for(var _0x166a89=0x0;_0x166a89<_0x2c76b6['length'];_0x166a89++){if(_0x2c76b6[_0x166a89]!==_0x3dc03a[_0x166a89])return![];}return!![];},arrayIntersectsArray=function arrayIntersectsArray(_0x1edcac,_0xd290f2){const _0x4c9453={_0x1cecb3:0x1f9};for(var _0x34d200=0x0;_0x34d200<_0x1edcac[_0x339a5b(0x1b6a,0x1402)]-0x1;_0x34d200++){for(var _0x2df5be=0x0;_0x2df5be<_0xd290f2['length']-0x1;_0x2df5be++){if(edgeIntersectsEdge(_0x1edcac[_0x34d200],_0x1edcac[_0x34d200+0x1],_0xd290f2[_0x2df5be],_0xd290f2[_0x2df5be+0x1]))return!![];}}function _0x339a5b(_0x22ca10,_0x319c4d){return _0x306755(_0x22ca10,_0x319c4d- -_0x4c9453._0x1cecb3);}return![];},closeRing=function closeRing(_0x4b9829){const _0x42e48a={_0xb52fe5:0x336};function _0x23bc95(_0x4438ff,_0x18b416){return _0x306755(_0x18b416,_0x4438ff- -0x363);}return!pointsEqual(_0x4b9829[0x0],_0x4b9829[_0x4b9829['length']-0x1])&&_0x4b9829[_0x23bc95(_0x42e48a._0xb52fe5,0x463)](_0x4b9829[0x0]),_0x4b9829;},ringIsClockwise=function ringIsClockwise(_0x5d2373){const _0xe11ed={_0x53be65:0x15c9};var _0x324c38=0x0;function _0x368e81(_0x326d4b,_0x4dc010){return _0x2b6441(_0x4dc010,_0x326d4b-0x20d);}var _0x15d17f=0x0,_0x2a95cc=_0x5d2373[_0x368e81(0x1267,_0xe11ed._0x53be65)],_0x424689=_0x5d2373[_0x15d17f],_0x5797fc;for(_0x15d17f;_0x15d17f<_0x2a95cc-0x1;_0x15d17f++){_0x5797fc=_0x5d2373[_0x15d17f+0x1],_0x324c38+=(_0x5797fc[0x0]-_0x424689[0x0])*(_0x5797fc[0x1]+_0x424689[0x1]),_0x424689=_0x5797fc;}return _0x324c38>=0x0;},shallowClone=function shallowClone(_0xa1bdc){var _0x5275c5={};for(var _0x379e2c in _0xa1bdc){_0xa1bdc['hasOwnProperty'](_0x379e2c)&&(_0x5275c5[_0x379e2c]=_0xa1bdc[_0x379e2c]);}return _0x5275c5;},coordinatesContainCoordinates=function coordinatesContainCoordinates(_0x1bca9b,_0x515cd4){var _0x33a213=arrayIntersectsArray(_0x1bca9b,_0x515cd4),_0x4a902e=coordinatesContainPoint(_0x1bca9b,_0x515cd4[0x0]);if(!_0x33a213&&_0x4a902e)return!![];return![];},convertRingsToGeoJSON=function convertRingsToGeoJSON(_0x5dc804){const _0x212d51={_0x4b8e0a:0x105d,_0x133c8a:0xfb,_0x11b535:0x1122,_0x4a6f40:0x17b0,_0x3d197c:0x350,_0x566f2e:0x259};function _0x19929c(_0x58da1e,_0x5aad33){return _0x2b6441(_0x5aad33,_0x58da1e-0x3);}var _0x24986d=[],_0x39be5b=[],_0x50e224,_0x3709fc;function _0x4011b8(_0x3721ec,_0x5b58f1){return _0x2b6441(_0x5b58f1,_0x3721ec-0xc8);}var _0x4e6374;for(var _0x1a85b6=0x0;_0x1a85b6<_0x5dc804[_0x19929c(_0x212d51._0x4b8e0a,0x766)];_0x1a85b6++){var _0x5c181b=closeRing(_0x5dc804[_0x1a85b6]['slice'](0x0));if(_0x5c181b['length']<0x4)continue;if(ringIsClockwise(_0x5c181b)){var _0x491a50=[_0x5c181b['slice']()[_0x19929c(0xade,0x12c8)]()];_0x24986d[_0x19929c(_0x212d51._0x133c8a,-0x47e)](_0x491a50);}else _0x39be5b[_0x4011b8(0x1c0,0x2b4)](_0x5c181b['slice']()['reverse']());}var _0x58b683=[];while(_0x39be5b[_0x4011b8(_0x212d51._0x11b535,_0x212d51._0x4a6f40)]){_0x4e6374=_0x39be5b[_0x4011b8(0x1039,0x5ae)]();var _0x210306=![];for(_0x50e224=_0x24986d['length']-0x1;_0x50e224>=0x0;_0x50e224--){_0x3709fc=_0x24986d[_0x50e224][0x0];if(coordinatesContainCoordinates(_0x3709fc,_0x4e6374)){_0x24986d[_0x50e224]['push'](_0x4e6374),_0x210306=!![];break;}}!_0x210306&&_0x58b683['push'](_0x4e6374);}while(_0x58b683['length']){_0x4e6374=_0x58b683[_0x19929c(0xf74,0xc0d)]();var _0x120ce2=![];for(_0x50e224=_0x24986d['length']-0x1;_0x50e224>=0x0;_0x50e224--){_0x3709fc=_0x24986d[_0x50e224][0x0];if(arrayIntersectsArray(_0x3709fc,_0x4e6374)){_0x24986d[_0x50e224][_0x19929c(0xfb,_0x212d51._0x3d197c)](_0x4e6374),_0x120ce2=!![];break;}}!_0x120ce2&&_0x24986d['push']([_0x4e6374['reverse']()]);}if(_0x24986d['length']===0x1){const _0x1c3614={};return _0x1c3614['type']='Polygon',_0x1c3614[_0x4011b8(0x738,-_0x212d51._0x566f2e)]=_0x24986d[0x0],_0x1c3614;}else{const _0x10ebed={};return _0x10ebed['type']='MultiPolygon',_0x10ebed['coordinates']=_0x24986d,_0x10ebed;}},getId=function getId(_0x163c3c,_0x3f4dfb){const _0x59faf6={_0x243866:0x10};function _0x404da3(_0x1b01f4,_0x54f1d4){return _0x306755(_0x54f1d4,_0x1b01f4- -0x4e9);}var _0x2efac6=_0x3f4dfb?[_0x3f4dfb,'OBJECTID','FID']:['OBJECTID',_0x404da3(-_0x59faf6._0x243866,0x171)];for(var _0xe9afc6=0x0;_0xe9afc6<_0x2efac6['length'];_0xe9afc6++){var _0x2763e4=_0x2efac6[_0xe9afc6];if(_0x2763e4 in _0x163c3c&&(typeof _0x163c3c[_0x2763e4]==='string'||typeof _0x163c3c[_0x2763e4]===_0x404da3(0x954,0xc20)))return _0x163c3c[_0x2763e4];}function _0x1d76cf(_0xe2ee3b,_0x40ef67){return _0x2b6441(_0x40ef67,_0xe2ee3b-0x474);}throw Error('No\x20valid\x20id\x20attribute\x20found');},arcgisToGeoJSON$1=function arcgisToGeoJSON(_0x3eeeac,_0x29533b){const _0xbf82ed={_0x232e16:0x71e,_0x5f4135:0xe82,_0x2bc729:0xe93,_0x4cf228:0x123a,_0x23f496:0x8fb,_0x4ca0d9:0x186c,_0x40a9ab:0x145b,_0x4fdc50:0x8a0,_0x5ccfef:0x2af,_0x210f07:0xa71,_0x9ecc5f:0xeef,_0x5564f0:0x14c3,_0x5947c4:0x169d,_0x5b1120:0x816,_0x382677:0x108c,_0x282627:0x14c3,_0x37806f:0x65b,_0x3b3c5a:0x262,_0x934f0:0x1188,_0x1e6677:0xd34,_0x288b8f:0xed0,_0x1fe5f1:0xda8,_0x5f1042:0x265,_0x214a82:0x171b,_0x47f592:0x54c,_0x32e399:0x5f5,_0x1b8249:0x903,_0x147dec:0x12e5},_0x4af9b8={_0x3ff513:0x3d};var _0x4db672={};if(_0x3eeeac[_0x5ee293(0xb6a,_0xbf82ed._0x232e16)]){_0x4db672[_0x835de7(_0xbf82ed._0x5f4135,0x16a0)]=_0x835de7(_0xbf82ed._0x2bc729,0x1052),_0x4db672[_0x835de7(_0xbf82ed._0x4cf228,_0xbf82ed._0x23f496)]=[];for(var _0x203f12=0x0;_0x203f12<_0x3eeeac['features'][_0x5ee293(_0xbf82ed._0x4ca0d9,_0xbf82ed._0x40a9ab)];_0x203f12++){_0x4db672[_0x5ee293(0x4c5,0x71e)]['push'](arcgisToGeoJSON(_0x3eeeac['features'][_0x203f12],_0x29533b));}}function _0x835de7(_0x39456b,_0x138345){return _0x306755(_0x39456b,_0x138345-_0x4af9b8._0x3ff513);}typeof _0x3eeeac['x']===_0x5ee293(_0xbf82ed._0x4fdc50,0xc9d)&&typeof _0x3eeeac['y']===_0x5ee293(0x50c,0xc9d)&&(_0x4db672[_0x835de7(0x1e1c,0x16a0)]='Point',_0x4db672[_0x5ee293(_0xbf82ed._0x5ccfef,_0xbf82ed._0x210f07)]=[_0x3eeeac['x'],_0x3eeeac['y']],typeof _0x3eeeac['z']==='number'&&_0x4db672[_0x5ee293(_0xbf82ed._0x9ecc5f,0xa71)]['push'](_0x3eeeac['z']));_0x3eeeac['points']&&(_0x4db672[_0x5ee293(0x125a,_0xbf82ed._0x5564f0)]=_0x5ee293(0x1597,_0xbf82ed._0x5947c4),_0x4db672['coordinates']=_0x3eeeac['points'][_0x5ee293(_0xbf82ed._0x5b1120,0x65b)](0x0));_0x3eeeac['paths']&&(_0x3eeeac['paths']['length']===0x1?(_0x4db672[_0x5ee293(_0xbf82ed._0x382677,_0xbf82ed._0x282627)]='LineString',_0x4db672['coordinates']=_0x3eeeac['paths'][0x0][_0x5ee293(0x21e,_0xbf82ed._0x37806f)](0x0)):(_0x4db672['type']='MultiLineString',_0x4db672['coordinates']=_0x3eeeac['paths']['slice'](0x0)));_0x3eeeac['rings']&&(_0x4db672=convertRingsToGeoJSON(_0x3eeeac[_0x835de7(0x123f,0xcd8)]['slice'](0x0)));typeof _0x3eeeac['xmin']==='number'&&typeof _0x3eeeac[_0x5ee293(0x1432,0xcf3)]==='number'&&typeof _0x3eeeac['xmax']==='number'&&typeof _0x3eeeac['ymax']==='number'&&(_0x4db672['type']=_0x835de7(_0xbf82ed._0x3b3c5a,0xa0a),_0x4db672['coordinates']=[[[_0x3eeeac['xmax'],_0x3eeeac['ymax']],[_0x3eeeac['xmin'],_0x3eeeac[_0x5ee293(_0xbf82ed._0x934f0,0x9dc)]],[_0x3eeeac[_0x5ee293(0xf17,0xadd)],_0x3eeeac[_0x835de7(0x500,0xed0)]],[_0x3eeeac['xmax'],_0x3eeeac[_0x835de7(_0xbf82ed._0x1e6677,_0xbf82ed._0x288b8f)]],[_0x3eeeac['xmax'],_0x3eeeac[_0x5ee293(_0xbf82ed._0x1fe5f1,0x9dc)]]]]);if(_0x3eeeac[_0x5ee293(-_0xbf82ed._0x5f1042,0x418)]||_0x3eeeac['attributes']){_0x4db672[_0x835de7(0x1cf8,0x16a0)]=_0x835de7(0x42,0xa71),_0x4db672[_0x835de7(0x606,0x5f5)]=_0x3eeeac[_0x5ee293(0xc29,0x418)]?arcgisToGeoJSON(_0x3eeeac['geometry']):null,_0x4db672['properties']=_0x3eeeac[_0x835de7(_0xbf82ed._0x214a82,0x1150)]?shallowClone(_0x3eeeac['attributes']):null;if(_0x3eeeac['attributes'])try{_0x4db672['id']=getId(_0x3eeeac[_0x835de7(0x104d,0x1150)],_0x29533b);}catch(_0x33470f){}}JSON['stringify'](_0x4db672[_0x835de7(0xe3,0x5f5)])===JSON['stringify']({})&&(_0x4db672[_0x835de7(_0xbf82ed._0x47f592,_0xbf82ed._0x32e399)]=null);_0x3eeeac['spatialReference']&&_0x3eeeac[_0x835de7(0xdb5,0x9e3)][_0x835de7(0xb4,_0xbf82ed._0x1b8249)]&&_0x3eeeac[_0x835de7(0x526,0x9e3)]['wkid']!==0x10e6&&console[_0x5ee293(0x5a6,0xb2e)](_0x835de7(_0xbf82ed._0x147dec,0x1239)+JSON['stringify'](_0x3eeeac['spatialReference']));function _0x5ee293(_0x246173,_0x35ee3e){return _0x2b6441(_0x246173,_0x35ee3e-0x401);}return _0x4db672;},orientRings=function orientRings(_0x3cbb4d){const _0x40d848={_0x4227c4:0x71,_0x4efb9b:0xfd3,_0x53c4c2:0xc06};var _0x542306=[];function _0x5c73dd(_0x56c8cf,_0x4c617f){return _0x2b6441(_0x56c8cf,_0x4c617f- -0x87);}var _0x18063d=_0x3cbb4d['slice'](0x0),_0x548c44=closeRing(_0x18063d[_0x5c73dd(-0x5b5,-0x5d)]()['slice'](0x0));function _0x1f429e(_0xd3b7d5,_0x3afac3){return _0x306755(_0xd3b7d5,_0x3afac3- -0x45f);}if(_0x548c44['length']>=0x4){!ringIsClockwise(_0x548c44)&&_0x548c44['reverse']();_0x542306[_0x5c73dd(-0xa2f,_0x40d848._0x4227c4)](_0x548c44);for(var _0x2d361b=0x0;_0x2d361b<_0x18063d[_0x5c73dd(0xe3d,0xfd3)];_0x2d361b++){var _0x245f1d=closeRing(_0x18063d[_0x2d361b]['slice'](0x0));_0x245f1d[_0x5c73dd(0x1447,_0x40d848._0x4efb9b)]>=0x4&&(ringIsClockwise(_0x245f1d)&&_0x245f1d[_0x5c73dd(_0x40d848._0x53c4c2,0xa54)](),_0x542306['push'](_0x245f1d));}}return _0x542306;},flattenMultiPolygonRings=function flattenMultiPolygonRings(_0xd9c5f7){const _0x5e902b={_0x17068a:0x370},_0x396445={_0xc1fd6b:0x131},_0x23a558={_0x1a9677:0x40b};var _0x2f4579=[];function _0x2e6fdb(_0x305ace,_0x4bcbf8){return _0x306755(_0x4bcbf8,_0x305ace- -_0x23a558._0x1a9677);}for(var _0x1ee6a8=0x0;_0x1ee6a8<_0xd9c5f7['length'];_0x1ee6a8++){var _0x2bf861=orientRings(_0xd9c5f7[_0x1ee6a8]);for(var _0x1cfd26=_0x2bf861['length']-0x1;_0x1cfd26>=0x0;_0x1cfd26--){var _0x409cae=_0x2bf861[_0x1cfd26][_0x10b237(0x92c,_0x5e902b._0x17068a)](0x0);_0x2f4579[_0x10b237(0x7ca,0xb3e)](_0x409cae);}}function _0x10b237(_0x4b16a1,_0x2fe220){return _0x306755(_0x2fe220,_0x4b16a1-_0x396445._0xc1fd6b);}return _0x2f4579;},geojsonToArcGIS$1=function geojsonToArcGIS(_0x14afdb,_0x264f61){const _0x359f0e={_0x27bb77:0xe7c,_0x1fc315:0x854,_0x45a946:0x2e2,_0x128020:0x12fe,_0x214412:0x17bb,_0x3e3e6d:0xd6e,_0x19002f:0xcea,_0xc093b3:0xcef,_0x33e713:0x1592,_0x4db78a:0xcdb,_0x16498:0xc6c,_0x63ddec:0xce7,_0x3be31e:0x24,_0x12c21a:0x6b,_0x3a861d:0x1e18,_0x2750ec:0xddc,_0x3e7f42:0x856,_0x1e9f1f:0xa30,_0x74da7d:0x4ea,_0x4fedab:0x3,_0x2877df:0x613,_0x524b9e:0x1b9,_0x2a3c4f:0xd6c,_0x4b4eb0:0x615,_0x2b3987:0x1656,_0x472730:0xcd1},_0x73559b={_0x3e1ea3:0x2f8},_0x3c6097={_0x112a75:0x5b};_0x264f61=_0x264f61||_0x213f19(_0x359f0e._0x27bb77,_0x359f0e._0x1fc315);function _0x5a18eb(_0x132e44,_0x4aab4d){return _0x306755(_0x4aab4d,_0x132e44-_0x3c6097._0x112a75);}const _0x1d1f94={};_0x1d1f94['wkid']=0x10e6;var _0x18759a=_0x1d1f94,_0x981dc={},_0x498cea;function _0x213f19(_0x37c469,_0xc4978e){return _0x2b6441(_0xc4978e,_0x37c469-_0x73559b._0x3e1ea3);}switch(_0x14afdb[_0x5a18eb(0x16be,0x1c06)]){case'Point':_0x981dc['x']=_0x14afdb['coordinates'][0x0],_0x981dc['y']=_0x14afdb[_0x5a18eb(0xc6c,_0x359f0e._0x45a946)][0x1];_0x14afdb[_0x213f19(0x968,_0x359f0e._0x128020)][0x2]!=null&&(_0x981dc['z']=_0x14afdb['coordinates'][0x2]);_0x981dc['spatialReference']=_0x18759a;break;case _0x5a18eb(0x1898,_0x359f0e._0x214412):_0x981dc[_0x213f19(0x16ea,_0x359f0e._0x3e3e6d)]=_0x14afdb[_0x5a18eb(0xc6c,_0x359f0e._0x19002f)][_0x5a18eb(0x856,_0x359f0e._0xc093b3)](0x0);_0x14afdb['coordinates'][0x0][0x2]!=null&&(_0x981dc[_0x213f19(_0x359f0e._0x33e713,0x11ab)]=!![]);_0x981dc['spatialReference']=_0x18759a;break;case'LineString':_0x981dc['paths']=[_0x14afdb['coordinates'][_0x5a18eb(0x856,_0x359f0e._0x4db78a)](0x0)];_0x14afdb[_0x5a18eb(_0x359f0e._0x16498,0xc7b)][0x0][0x2]!=null&&(_0x981dc['hasZ']=!![]);_0x981dc['spatialReference']=_0x18759a;break;case'MultiLineString':_0x981dc[_0x213f19(0x10ab,0xd15)]=_0x14afdb[_0x213f19(0x968,_0x359f0e._0x63ddec)][_0x213f19(0x552,_0x359f0e._0x3be31e)](0x0);_0x14afdb[_0x213f19(0x968,_0x359f0e._0x12c21a)][0x0][0x0][0x2]!=null&&(_0x981dc[_0x5a18eb(0x1896,_0x359f0e._0x3a861d)]=!![]);_0x981dc[_0x213f19(0x6fd,0x75f)]=_0x18759a;break;case'Polygon':_0x981dc[_0x5a18eb(0xcf6,_0x359f0e._0x2750ec)]=orientRings(_0x14afdb['coordinates'][_0x5a18eb(_0x359f0e._0x3e7f42,0x101a)](0x0));_0x14afdb['coordinates'][0x0][0x0][0x2]!=null&&(_0x981dc[_0x213f19(_0x359f0e._0x33e713,0x1657)]=!![]);_0x981dc[_0x213f19(0x6fd,0x192)]=_0x18759a;break;case _0x5a18eb(_0x359f0e._0x1e9f1f,_0x359f0e._0x74da7d):_0x981dc['rings']=flattenMultiPolygonRings(_0x14afdb['coordinates'][_0x213f19(0x552,0x991)](0x0));_0x14afdb['coordinates'][0x0][0x0][0x0][0x2]!=null&&(_0x981dc['hasZ']=!![]);_0x981dc['spatialReference']=_0x18759a;break;case'Feature':_0x14afdb[_0x213f19(0x30f,0xa19)]&&(_0x981dc[_0x5a18eb(0x613,-_0x359f0e._0x4fedab)]=geojsonToArcGIS(_0x14afdb[_0x5a18eb(_0x359f0e._0x2877df,-_0x359f0e._0x524b9e)],_0x264f61));_0x981dc['attributes']=_0x14afdb['properties']?shallowClone(_0x14afdb['properties']):{};_0x14afdb['id']&&(_0x981dc['attributes'][_0x264f61]=_0x14afdb['id']);break;case _0x213f19(_0x359f0e._0x2a3c4f,0x5bc):_0x981dc=[];for(_0x498cea=0x0;_0x498cea<_0x14afdb[_0x213f19(_0x359f0e._0x4b4eb0,-0x1c9)][_0x5a18eb(_0x359f0e._0x2b3987,_0x359f0e._0x472730)];_0x498cea++){_0x981dc['push'](geojsonToArcGIS(_0x14afdb['features'][_0x498cea],_0x264f61));}break;case'GeometryCollection':_0x981dc=[];for(_0x498cea=0x0;_0x498cea<_0x14afdb['geometries'][_0x5a18eb(0x1656,0x15d8)];_0x498cea++){_0x981dc['push'](geojsonToArcGIS(_0x14afdb['geometries'][_0x498cea],_0x264f61));}break;}return _0x981dc;};function globals(_0x25327e){const _0x1f16de={_0xed6c44:0x44c,_0x3c0721:0x15fe,_0x2c6d59:0x803,_0x148523:0xa95,_0x444851:0x990,_0x375d6d:0x1a91,_0x413808:0x6db},_0x1f77d2={_0xd6a6f8:0x3a};_0x25327e('EPSG:4326','+title=WGS\x2084\x20(long/lat)\x20+proj=longlat\x20+ellps=WGS84\x20+datum=WGS84\x20+units=degrees');function _0x23df68(_0x19615c,_0x4d306b){return _0x2b6441(_0x4d306b,_0x19615c-0x651);}_0x25327e('EPSG:4269',_0x23df68(0xe3b,_0x1f16de._0xed6c44)),_0x25327e(_0x23df68(_0x1f16de._0x3c0721,0xc51),_0x4b1cc9(0xd1e,0x1046)),_0x25327e['WGS84']=_0x25327e[_0x4b1cc9(_0x1f16de._0x2c6d59,_0x1f16de._0x148523)],_0x25327e['EPSG:3785']=_0x25327e['EPSG:3857'],_0x25327e[_0x23df68(0x51f,_0x1f16de._0x444851)]=_0x25327e['EPSG:3857'],_0x25327e[_0x4b1cc9(0x1457,_0x1f16de._0x375d6d)]=_0x25327e[_0x4b1cc9(0xfe7,_0x1f16de._0x413808)];function _0x4b1cc9(_0x2962ee,_0x202612){return _0x2b6441(_0x202612,_0x2962ee-_0x1f77d2._0xd6a6f8);}_0x25327e['EPSG:102113']=_0x25327e['EPSG:3857'];}var PJD_3PARAM=0x1,PJD_7PARAM=0x2,PJD_GRIDSHIFT=0x3,PJD_WGS84=0x4,PJD_NODATUM=0x5,SRS_WGS84_SEMIMAJOR=0x615299,SRS_WGS84_SEMIMINOR=6356752.314,SRS_WGS84_ESQUARED=0.0066943799901413165,SEC_TO_RAD=0.00000484813681109536,HALF_PI=Math['PI']/0x2,SIXTH=0.16666666666666666,RA4=0.04722222222222222,RA6=0.022156084656084655,EPSLN=1e-10,D2R$1=0.017453292519943295,R2D=57.29577951308232,FORTPI=Math['PI']/0x4,TWO_PI=Math['PI']*0x2,SPI=3.14159265359,exports$3={};exports$3['greenwich']=0x0,exports$3[_0x2b6441(0x1bb,0xa45)]=-9.131906111111,exports$3['paris']=2.337229166667,exports$3[_0x306755(0x9b1,0xfd6)]=-74.080916666667,exports$3[_0x306755(0x140f,0x14d6)]=-3.687938888889,exports$3[_0x2b6441(0x10d0,0x9e4)]=12.452333333333,exports$3['bern']=7.439583333333,exports$3['jakarta']=106.807719444444,exports$3[_0x2b6441(0x121b,0x901)]=-17.666666666667,exports$3['brussels']=4.367975,exports$3['stockholm']=18.058277777778,exports$3[_0x306755(0x186c,0x1494)]=23.7163375,exports$3['oslo']=10.722916666667;const _0x40ded8={};_0x40ded8[_0x2b6441(0x2aa,0x2a8)]=0.3048;const _0x275f4c={};_0x275f4c['to_meter']=0x4b0/0xf61;const _0x325e37={};_0x325e37['ft']=_0x40ded8,_0x325e37['us-ft']=_0x275f4c;var units=_0x325e37,ignoredChar=/[\s_\-\/\(\)]/g;function match(_0x25ba41,_0x5c2459){const _0x420c44={_0x4c7572:0x10b7,_0x24ea6a:0xa69,_0x49d892:0xfe5};if(_0x25ba41[_0x5c2459])return _0x25ba41[_0x5c2459];var _0x2e1850=Object['keys'](_0x25ba41),_0x482305=_0x5c2459['toLowerCase']()[_0x18ea72(_0x420c44._0x4c7572,_0x420c44._0x24ea6a)](ignoredChar,'');function _0x3f98e2(_0x2a4072,_0x4438e0){return _0x2b6441(_0x2a4072,_0x4438e0-0x5e4);}var _0x1aa584=-0x1;function _0x18ea72(_0x55855b,_0x156a02){return _0x2b6441(_0x156a02,_0x55855b-0x5a3);}var _0x14c03e,_0x5a83ab;while(++_0x1aa584<_0x2e1850['length']){_0x14c03e=_0x2e1850[_0x1aa584],_0x5a83ab=_0x14c03e['toLowerCase']()[_0x3f98e2(_0x420c44._0x49d892,0x10f8)](ignoredChar,'');if(_0x5a83ab===_0x482305)return _0x25ba41[_0x14c03e];}}function projStr(_0x564c10){const _0x1ac9d2={_0x3df3fa:0x5fc},_0x14876d={_0x1f1b0d:0x2a2,_0x3f18f5:0x52f,_0x38c7ef:0xb6,_0x25f3dc:0x26b},_0xfa83a={_0x1d9919:0x115e},_0x51d06e={_0x14c733:0xb4},_0x5b66a3={_0x3d1766:0x86e},_0x17d53b={_0x192c99:0x17d},_0x41ba83={_0xa6ae99:0x120},_0x483d68={_0x48c710:0x20c8},_0x1d0dd9={_0x5c4c03:0x121},_0x3a87c7={_0x441867:0x2ac},_0x2d9cf8={_0x590c18:0x149a};var _0x5262e4={},_0x285f1b=_0x564c10['split']('+')['map'](function(_0x13a23f){function _0x4e452f(_0x3d0838,_0x50b60a){return _0x5bbe(_0x50b60a- -0x325,_0x3d0838);}return _0x13a23f[_0x4e452f(0x25,0x206)]();})['filter'](function(_0x3f4794){return _0x3f4794;})['reduce'](function(_0x4830db,_0x11d4de){var _0x543e46=_0x11d4de['split']('=');_0x543e46['push'](!![]);function _0x35c347(_0x5169fe,_0x2aa647){return _0x5bbe(_0x5169fe-0x2c1,_0x2aa647);}return _0x4830db[_0x543e46[0x0][_0x35c347(0x4f5,0x2f6)]()]=_0x543e46[0x1],_0x4830db;},{}),_0x361e9e,_0x5ca4a1,_0x1c7291,_0x31aa64={'proj':'projName','datum':'datumCode','rf':function(_0x102057){_0x5262e4['rf']=parseFloat(_0x102057);},'lat_0':function(_0x3488bd){function _0x3aecd5(_0x2c5edd,_0x2c7c8a){return _0x5bbe(_0x2c7c8a-0xc6,_0x2c5edd);}_0x5262e4[_0x3aecd5(0xf58,0x7a2)]=_0x3488bd*D2R$1;},'lat_1':function(_0x3e94a7){_0x5262e4['lat1']=_0x3e94a7*D2R$1;},'lat_2':function(_0x270804){_0x5262e4['lat2']=_0x270804*D2R$1;},'lat_ts':function(_0x22f103){_0x5262e4['lat_ts']=_0x22f103*D2R$1;},'lon_0':function(_0x469d4d){_0x5262e4['long0']=_0x469d4d*D2R$1;},'lon_1':function(_0x1eb984){_0x5262e4['long1']=_0x1eb984*D2R$1;},'lon_2':function(_0x32510b){_0x5262e4['long2']=_0x32510b*D2R$1;},'alpha':function(_0x3d70df){const _0x55caff={_0x30917b:0x16e};function _0x36618a(_0xab63e7,_0x15aeb2){return _0x5bbe(_0xab63e7-_0x55caff._0x30917b,_0x15aeb2);}_0x5262e4[_0x36618a(_0x2d9cf8._0x590c18,0x1b18)]=parseFloat(_0x3d70df)*D2R$1;},'gamma':function(_0xf595f2){_0x5262e4['rectified_grid_angle']=parseFloat(_0xf595f2);},'lonc':function(_0x205739){_0x5262e4['longc']=_0x205739*D2R$1;},'x_0':function(_0x1ddbc9){_0x5262e4['x0']=parseFloat(_0x1ddbc9);},'y_0':function(_0x385da3){_0x5262e4['y0']=parseFloat(_0x385da3);},'k_0':function(_0x638864){_0x5262e4['k0']=parseFloat(_0x638864);},'k':function(_0x3fc07b){_0x5262e4['k0']=parseFloat(_0x3fc07b);},'a':function(_0x110668){_0x5262e4['a']=parseFloat(_0x110668);},'b':function(_0x1b6580){_0x5262e4['b']=parseFloat(_0x1b6580);},'r_a':function(){function _0x18bc2b(_0x2aec39,_0x1dd5e3){return _0x5bbe(_0x2aec39-0x10d,_0x1dd5e3);}_0x5262e4[_0x18bc2b(0x13cf,0xbcb)]=!![];},'zone':function(_0xec66a5){function _0x59782b(_0x13ff83,_0x3ac877){return _0x5bbe(_0x3ac877- -_0x3a87c7._0x441867,_0x13ff83);}_0x5262e4[_0x59782b(0xfa,0xb9e)]=parseInt(_0xec66a5,0xa);},'south':function(){_0x5262e4['utmSouth']=!![];},'towgs84':function(_0x473f4b){function _0x434555(_0x4d9fea,_0x37e3a1){return _0x5bbe(_0x4d9fea-_0x1d0dd9._0x5c4c03,_0x37e3a1);}_0x5262e4['datum_params']=_0x473f4b[_0x434555(0x1675,_0x483d68._0x48c710)](',')['map'](function(_0x1e7960){return parseFloat(_0x1e7960);});},'to_meter':function(_0x4b4254){function _0x30dbb4(_0x28bc36,_0x4a01b6){return _0x5bbe(_0x28bc36- -_0x41ba83._0xa6ae99,_0x4a01b6);}_0x5262e4[_0x30dbb4(0x4b6,-_0x17d53b._0x192c99)]=parseFloat(_0x4b4254);},'units':function(_0x132274){function _0x3095ff(_0xdbaeee,_0x236b33){return _0x5bbe(_0x236b33- -0xf1,_0xdbaeee);}function _0x23c012(_0x23d369,_0x3fab15){return _0x5bbe(_0x23d369- -0x18a,_0x3fab15);}_0x5262e4[_0x23c012(_0x5b66a3._0x3d1766,0xbdd)]=_0x132274;var _0x28fbb6=match(units,_0x132274);_0x28fbb6&&(_0x5262e4[_0x3095ff(-0x480,0x4e5)]=_0x28fbb6[_0x3095ff(-0x5b0,0x4e5)]);},'from_greenwich':function(_0x199c06){function _0x30b1dd(_0x311851,_0x332cde){return _0x5bbe(_0x332cde-0x204,_0x311851);}_0x5262e4[_0x30b1dd(0x2029,0x15f7)]=_0x199c06*D2R$1;},'pm':function(_0x549981){var _0x14610f=match(exports$3,_0x549981);_0x5262e4['from_greenwich']=(_0x14610f?_0x14610f:parseFloat(_0x549981))*D2R$1;},'nadgrids':function(_0x18cf63){function _0x3c69e2(_0x382480,_0x1ec74d){return _0x5bbe(_0x1ec74d- -_0x51d06e._0x14c733,_0x382480);}_0x18cf63===_0x3c69e2(0x6d3,_0xfa83a._0x1d9919)?_0x5262e4['datumCode']='none':_0x5262e4['nadgrids']=_0x18cf63;},'axis':function(_0x252736){const _0x41c90a={_0x3bcfdd:0x1b1};function _0x27f0d(_0x2b35ae,_0x41548e){return _0x5bbe(_0x41548e- -_0x41c90a._0x3bcfdd,_0x2b35ae);}var _0x1dc873='ewnsud';function _0x339c85(_0x4927fd,_0x2fec0d){return _0x5bbe(_0x2fec0d- -0x17a,_0x4927fd);}_0x252736['length']===0x3&&_0x1dc873['indexOf'](_0x252736[_0x339c85(0x67e,_0x14876d._0x1f1b0d)](0x0,0x1))!==-0x1&&_0x1dc873[_0x339c85(0x492,0xed)](_0x252736[_0x339c85(-_0x14876d._0x3f18f5,_0x14876d._0x1f1b0d)](0x1,0x1))!==-0x1&&_0x1dc873[_0x27f0d(-0x7cf,_0x14876d._0x38c7ef)](_0x252736[_0x27f0d(-0x388,_0x14876d._0x25f3dc)](0x2,0x1))!==-0x1&&(_0x5262e4['axis']=_0x252736);},'approx':function(){function _0x2b73a6(_0x4c09cd,_0x4cdd17){return _0x5bbe(_0x4c09cd-0x203,_0x4cdd17);}_0x5262e4[_0x2b73a6(0xd01,0xa6f)]=!![];}};for(_0x361e9e in _0x285f1b){_0x5ca4a1=_0x285f1b[_0x361e9e],_0x361e9e in _0x31aa64?(_0x1c7291=_0x31aa64[_0x361e9e],typeof _0x1c7291==='function'?_0x1c7291(_0x5ca4a1):_0x5262e4[_0x1c7291]=_0x5ca4a1):_0x5262e4[_0x361e9e]=_0x5ca4a1;}function _0x489d90(_0x3ad60a,_0x4d565e){return _0x2b6441(_0x3ad60a,_0x4d565e-0x676);}typeof _0x5262e4['datumCode']===_0x1f6308(0x3d6,-0x349)&&_0x5262e4['datumCode']!=='WGS84'&&(_0x5262e4['datumCode']=_0x5262e4[_0x1f6308(0x9ba,0x971)][_0x489d90(0xd9b,0x57c)]());function _0x1f6308(_0x74fe77,_0x111842){return _0x306755(_0x111842,_0x74fe77- -_0x1ac9d2._0x3df3fa);}return _0x5262e4;}var NEUTRAL=0x1,KEYWORD=0x2,NUMBER=0x3,QUOTED=0x4,AFTERQUOTE=0x5,ENDED=-0x1,whitespace=/\s/,latin=/[A-Za-z]/,keyword=/[A-Za-z84_]/,endThings=/[,\]]/,digets=/[\d\.E\-\+]/;function Parser(_0xa49270){const _0x3baa9c={_0x1e3865:0x1123},_0x55060b={_0x23ed89:0x9e};function _0x4605cc(_0x2ed6f5,_0x4b377b){return _0x2b6441(_0x4b377b,_0x2ed6f5-0x4);}if(typeof _0xa49270!=='string')throw new Error('not\x20a\x20string');function _0x4f209b(_0x4a2c91,_0x2d8977){return _0x2b6441(_0x4a2c91,_0x2d8977- -_0x55060b._0x23ed89);}this[_0x4605cc(0x1370,0x180c)]=_0xa49270[_0x4605cc(0x201,-0x769)](),this[_0x4f209b(0x738,0x10dd)]=0x0,this[_0x4605cc(_0x3baa9c._0x1e3865,0x14fc)]=0x0,this['root']=null,this['stack']=[],this['currentObject']=null,this['state']=NEUTRAL;}Parser[_0x306755(0x6e3,0xcf3)][_0x2b6441(0xdf9,0xbd6)]=function(){const _0x1e2d12={_0x21317a:0x109f,_0x22614e:0x1175,_0x5aa998:0xf9a};function _0x37adb4(_0x34a6fc,_0x4188e6){return _0x2b6441(_0x34a6fc,_0x4188e6-0x2cd);}var _0x3a11e=this['text'][this['place']++];function _0x3b7a21(_0x1e02dd,_0x202169){return _0x306755(_0x202169,_0x1e02dd- -0x621);}if(this['state']!==QUOTED)while(whitespace['test'](_0x3a11e)){if(this['place']>=this['text']['length'])return;_0x3a11e=this[_0x37adb4(0x1d9f,0x1639)][this[_0x3b7a21(_0x1e2d12._0x21317a,_0x1e2d12._0x22614e)]++];}switch(this['state']){case NEUTRAL:return this['neutral'](_0x3a11e);case KEYWORD:return this['keyword'](_0x3a11e);case QUOTED:return this[_0x37adb4(0x1c33,0x13c9)](_0x3a11e);case AFTERQUOTE:return this[_0x3b7a21(_0x1e2d12._0x5aa998,0x105a)](_0x3a11e);case NUMBER:return this['number'](_0x3a11e);case ENDED:return;}},Parser['prototype'][_0x306755(0x1870,0x15bb)]=function(_0x107e31){const _0xd869de={_0x21e052:0x23f,_0x54f192:0x6ec,_0x38c343:0x59b},_0xda55b9={_0x2f995a:0x386};if(_0x107e31==='\x22'){this[_0x4daf4d(_0xd869de._0x21e052,0xa8e)]+='\x22',this[_0x4daf4d(0x25b,0x605)]=QUOTED;return;}function _0x46db27(_0x323675,_0x4ecddb){return _0x306755(_0x4ecddb,_0x323675- -0x275);}if(endThings[_0x4daf4d(0x30e,_0xd869de._0x54f192)](_0x107e31)){this[_0x46db27(0xb9f,_0xd869de._0x38c343)]=this['word']['trim'](),this['afterItem'](_0x107e31);return;}function _0x4daf4d(_0x34fd34,_0x463c26){return _0x306755(_0x34fd34,_0x463c26- -_0xda55b9._0x2f995a);}throw new Error('havn\x27t\x20handled\x20\x22'+_0x107e31+'\x22\x20in\x20afterquote\x20yet,\x20index\x20'+this['place']);},Parser['prototype']['afterItem']=function(_0x74374b){const _0x573a4a={_0x278e59:0xa9b,_0x4f28be:0xb86,_0x3d6637:0x13a3,_0x1f7627:0x1777,_0x506fac:0x9a},_0x25aa69={_0x1caef0:0x9};if(_0x74374b===','){this['word']!==null&&this['currentObject'][_0x198167(0x5d0,0x320)](this['word']);this[_0x198167(0x52d,_0x573a4a._0x278e59)]=null,this['state']=NEUTRAL;return;}function _0x198167(_0x58cf1d,_0x108b2e){return _0x2b6441(_0x58cf1d,_0x108b2e-0x228);}function _0x9c4f55(_0x10e750,_0x3c36b1){return _0x306755(_0x3c36b1,_0x10e750- -_0x25aa69._0x1caef0);}if(_0x74374b===']'){this[_0x198167(_0x573a4a._0x4f28be,_0x573a4a._0x3d6637)]--;this['word']!==null&&(this['currentObject']['push'](this['word']),this['word']=null);this[_0x198167(0x71f,0x612)]=NEUTRAL,this[_0x198167(0x15a2,0xb0a)]=this['stack']['pop']();!this[_0x9c4f55(0xe7a,_0x573a4a._0x1f7627)]&&(this[_0x9c4f55(0x982,_0x573a4a._0x506fac)]=ENDED);return;}},Parser['prototype'][_0x2b6441(0x132b,0x89c)]=function(_0x5f34c5){const _0x336321={_0x23b144:0x48c,_0xc321a9:0x8b9,_0x3e6ac2:0x65e,_0x3c5820:0x873,_0x366904:0xf8d,_0x1cbbb4:0xa28},_0x4f5a35={_0x554a24:0x414};function _0x21ad29(_0x410647,_0x3901ac){return _0x306755(_0x410647,_0x3901ac- -_0x4f5a35._0x554a24);}function _0x2a7ad1(_0x448dd8,_0x2bad6e){return _0x2b6441(_0x448dd8,_0x2bad6e-0x3e8);}if(digets[_0x2a7ad1(_0x336321._0x23b144,_0x336321._0xc321a9)](_0x5f34c5)){this['word']+=_0x5f34c5;return;}if(endThings[_0x21ad29(0x4b7,_0x336321._0x3e6ac2)](_0x5f34c5)){this[_0x2a7ad1(0xd82,0xc5b)]=parseFloat(this['word']),this[_0x21ad29(_0x336321._0x3c5820,0xd41)](_0x5f34c5);return;}throw new Error(_0x21ad29(0x163b,0x1453)+_0x5f34c5+_0x2a7ad1(_0x336321._0x366904,_0x336321._0x1cbbb4)+this['place']);},Parser['prototype']['quoted']=function(_0x233755){if(_0x233755==='\x22'){this['state']=AFTERQUOTE;return;}this['word']+=_0x233755;return;},Parser['prototype']['keyword']=function(_0x1ce4d3){const _0x19855d={_0x5d2f65:0xea4,_0xcc6002:0x33a,_0x17c1ca:0x3b5},_0x3d9da1={_0x174967:0x2e4};function _0x3c6ccf(_0x58ecfe,_0x1a6b1f){return _0x306755(_0x58ecfe,_0x1a6b1f- -_0x3d9da1._0x174967);}function _0x152a66(_0x23c456,_0xb9d4d7){return _0x306755(_0x23c456,_0xb9d4d7- -0x35f);}if(keyword['test'](_0x1ce4d3)){this['word']+=_0x1ce4d3;return;}if(_0x1ce4d3==='['){var _0x4f106c=[];_0x4f106c['push'](this['word']),this['level']++;this[_0x152a66(0xe4f,_0x19855d._0x5d2f65)]===null?this['root']=_0x4f106c:this['currentObject'][_0x3c6ccf(_0x19855d._0xcc6002,_0x19855d._0x17c1ca)](_0x4f106c);this['stack']['push'](this[_0x152a66(0x11f5,0xb24)]),this['currentObject']=_0x4f106c,this['state']=NEUTRAL;return;}if(endThings['test'](_0x1ce4d3)){this['afterItem'](_0x1ce4d3);return;}throw new Error('havn\x27t\x20handled\x20\x22'+_0x1ce4d3+'\x22\x20in\x20keyword\x20yet,\x20index\x20'+this['place']);},Parser['prototype']['neutral']=function(_0x8adda9){const _0x4e4ca2={_0x49ec03:0x3e5};if(latin['test'](_0x8adda9)){this['word']=_0x8adda9,this['state']=KEYWORD;return;}if(_0x8adda9==='\x22'){this['word']='',this['state']=QUOTED;return;}if(digets['test'](_0x8adda9)){this[_0x61dd7f(0x1d2,0xa2f)]=_0x8adda9,this[_0x5d5c5d(-0x3b3,0x711)]=NUMBER;return;}function _0x5d5c5d(_0x1ad3ed,_0xc4fab){return _0x2b6441(_0x1ad3ed,_0xc4fab-0x327);}if(endThings['test'](_0x8adda9)){this['afterItem'](_0x8adda9);return;}function _0x61dd7f(_0x282293,_0x1d8c2f){return _0x306755(_0x282293,_0x1d8c2f- -_0x4e4ca2._0x49ec03);}throw new Error('havn\x27t\x20handled\x20\x22'+_0x8adda9+'\x22\x20in\x20neutral\x20yet,\x20index\x20'+this['place']);},Parser[_0x306755(0x5c2,0xcf3)]['output']=function(){const _0x2291d0={_0x43f95d:0x4fe,_0x297311:0x4a5};function _0x44f407(_0x4f594e,_0x1f8f82){return _0x2b6441(_0x1f8f82,_0x4f594e-0x114);}while(this['place']<this['text']['length']){this['readCharicter']();}if(this[_0x44f407(_0x2291d0._0x43f95d,0xb5d)]===ENDED)return this['root'];function _0x24306a(_0x3bbd7b,_0x10d63b){return _0x2b6441(_0x10d63b,_0x3bbd7b-0xbb);}throw new Error('unable\x20to\x20parse\x20string\x20\x22'+this['text']+'\x22.\x20State\x20is\x20'+this[_0x24306a(_0x2291d0._0x297311,0x31b)]);};function parseString(_0x43c6b1){var _0x40b632=new Parser(_0x43c6b1);return _0x40b632['output']();}function mapit(_0x13aff2,_0x18eacb,_0x34d57e){const _0x14a1e0={_0x53e100:0x6d7,_0x5419f3:0x664};Array['isArray'](_0x18eacb)&&(_0x34d57e[_0x4b14ec(_0x14a1e0._0x53e100,_0x14a1e0._0x5419f3)](_0x18eacb),_0x18eacb=null);var _0x22e6dc=_0x18eacb?{}:_0x13aff2;function _0x4b14ec(_0x56cadd,_0x1533cf){return _0x306755(_0x56cadd,_0x1533cf- -0x1);}var _0x2cdb79=_0x34d57e['reduce'](function(_0xba17d4,_0x3640dd){return sExpr(_0x3640dd,_0xba17d4),_0xba17d4;},_0x22e6dc);_0x18eacb&&(_0x13aff2[_0x18eacb]=_0x2cdb79);}function sExpr(_0x31a56e,_0x107860){const _0x579124={_0x476b21:0x57,_0x1c2f4d:0x3e2,_0x22401a:0x1696,_0x861af7:0x11d7,_0x14a2cd:0x893,_0x358a34:0x881,_0x192e2d:0x161d,_0x5eb9a9:0x9e6,_0x29f63e:0xcaf,_0x4222d4:0x31c,_0x37320a:0x328,_0x35601c:0x819,_0x17ee80:0xc20,_0x3f9d72:0xb2d,_0x1ece88:0xe0f,_0x330fb4:0x6aa};function _0x410091(_0x332f87,_0x52cdb9){return _0x306755(_0x332f87,_0x52cdb9- -0x1e9);}function _0x452f2f(_0x51a6fe,_0x1b1673){return _0x306755(_0x51a6fe,_0x1b1673- -0x424);}if(!Array['isArray'](_0x31a56e)){_0x107860[_0x31a56e]=!![];return;}var _0x164d65=_0x31a56e[_0x410091(_0x579124._0x476b21,_0x579124._0x1c2f4d)]();_0x164d65==='PARAMETER'&&(_0x164d65=_0x31a56e['shift']());if(_0x31a56e['length']===0x1){if(Array['isArray'](_0x31a56e[0x0])){_0x107860[_0x164d65]={},sExpr(_0x31a56e[0x0],_0x107860[_0x164d65]);return;}_0x107860[_0x164d65]=_0x31a56e[0x0];return;}if(!_0x31a56e[_0x452f2f(_0x579124._0x22401a,_0x579124._0x861af7)]){_0x107860[_0x164d65]=!![];return;}if(_0x164d65==='TOWGS84'){_0x107860[_0x164d65]=_0x31a56e;return;}if(_0x164d65==='AXIS'){!(_0x164d65 in _0x107860)&&(_0x107860[_0x164d65]=[]);_0x107860[_0x164d65]['push'](_0x31a56e);return;}!Array[_0x410091(_0x579124._0x14a2cd,0x64b)](_0x164d65)&&(_0x107860[_0x164d65]={});var _0x45fdc0;switch(_0x164d65){case'UNIT':case'PRIMEM':case _0x452f2f(0x10b2,_0x579124._0x358a34):_0x107860[_0x164d65]={'name':_0x31a56e[0x0]['toLowerCase'](),'convert':_0x31a56e[0x1]};_0x31a56e['length']===0x3&&sExpr(_0x31a56e[0x2],_0x107860[_0x164d65]);return;case'SPHEROID':case _0x410091(_0x579124._0x192e2d,0x17f0):const _0x12bde1={};_0x12bde1['name']=_0x31a56e[0x0],_0x12bde1['a']=_0x31a56e[0x1],_0x12bde1['rf']=_0x31a56e[0x2],_0x107860[_0x164d65]=_0x12bde1;_0x31a56e['length']===0x4&&sExpr(_0x31a56e[0x3],_0x107860[_0x164d65]);return;case'PROJECTEDCRS':case'PROJCRS':case _0x410091(_0x579124._0x5eb9a9,0x13b5):case'GEOCCS':case'PROJCS':case'LOCAL_CS':case'GEODCRS':case _0x452f2f(0xabe,_0x579124._0x29f63e):case'GEODETICDATUM':case'EDATUM':case'ENGINEERINGDATUM':case'VERT_CS':case _0x410091(0xa52,0xdaf):case'VERTICALCRS':case'COMPD_CS':case'COMPOUNDCRS':case _0x410091(_0x579124._0x4222d4,_0x579124._0x37320a):case _0x410091(_0x579124._0x35601c,0x125b):case _0x410091(0xced,0x13c4):case _0x410091(_0x579124._0x17ee80,0x1007):case _0x410091(0x4a5,_0x579124._0x3f9d72):_0x31a56e[0x0]=[_0x410091(_0x579124._0x1ece88,_0x579124._0x330fb4),_0x31a56e[0x0]],mapit(_0x107860,_0x164d65,_0x31a56e);return;default:_0x45fdc0=-0x1;while(++_0x45fdc0<_0x31a56e['length']){if(!Array['isArray'](_0x31a56e[_0x45fdc0]))return sExpr(_0x31a56e,_0x107860[_0x164d65]);}return mapit(_0x107860,_0x164d65,_0x31a56e);}}var D2R=0.017453292519943295;function rename(_0x320728,_0x51f9c4){var _0x1ff7f4=_0x51f9c4[0x0],_0x4532f2=_0x51f9c4[0x1];!(_0x1ff7f4 in _0x320728)&&_0x4532f2 in _0x320728&&(_0x320728[_0x1ff7f4]=_0x320728[_0x4532f2],_0x51f9c4['length']===0x3&&(_0x320728[_0x1ff7f4]=_0x51f9c4[0x2](_0x320728[_0x1ff7f4])));}function d2r(_0xc61977){return _0xc61977*D2R;}function cleanWKT(_0x17ede3){const _0x2970e0={_0x595fa5:0x264,_0x2f840c:0x226,_0x26662c:0x24ad,_0x3e6e7b:0x176b,_0x248097:0x185,_0x18bdb4:0x25,_0x4f2ca9:0x61c,_0x5bf490:0xf5a,_0x3911bd:0x18c6,_0x1fd62e:0x153b,_0x5cebc0:0xf31,_0x1bab9f:0x123,_0x3ce7f2:0x949,_0x4f350f:0xad5,_0x10711b:0x9a7,_0x3ef843:0xc18,_0x47e38f:0x1124,_0x1e543f:0x17d3,_0x56956f:0x127c,_0x262c8f:0xe86,_0xb2f16:0xc94,_0x46c513:0x2f3,_0x34ac54:0x45b,_0x3c9503:0x121f,_0x229d79:0x1892,_0x418c20:0x1279,_0x3e7592:0x1931,_0x127d60:0x1221,_0x208d50:0x1302,_0x5585b1:0x1701,_0x325167:0x412,_0x4cf767:0x96b,_0x5e0789:0xe2a,_0xde8b28:0x1126,_0x2b5bc8:0x1628,_0x293a71:0x8c6,_0x421adc:0x4d4,_0x1e5b28:0x1a63,_0x552c3a:0x282,_0x5477ba:0xa03,_0x5c39be:0x1629,_0x47b082:0x14b8,_0xc1b49:0x1026,_0x13bc8e:0x19f6,_0x5a3188:0x9f4,_0x14ab4a:0x11cc,_0x38047b:0x13d7,_0x380a8f:0xc94,_0x2d394f:0x220,_0x250c1b:0x304,_0x357001:0xab0,_0x193ce2:0x1b8,_0x4b04af:0xd09,_0x1ce260:0xaa4,_0x4594a6:0xff9,_0x35699e:0xefd,_0x153c61:0x1f1b,_0x475a2a:0x1814,_0x268f5c:0xf25,_0x2f0551:0xd9a,_0x404503:0x1887,_0x4d414c:0x1d1b,_0x5c8f9d:0x10b0,_0x37a26f:0x105c,_0x321263:0xb1f,_0x50517e:0x14f1,_0x22cb13:0x14c9,_0x4ff055:0xc76,_0x480c4c:0x1105,_0x595ed8:0x264,_0x228840:0x115,_0x3b1d5a:0x159b,_0x3bc5c8:0x577};if(_0x17ede3['type']==='GEOGCS')_0x17ede3[_0x206b77(_0x2970e0._0x595fa5,_0x2970e0._0x2f840c)]=_0x4a5c59(_0x2970e0._0x26662c,0x1a25);else _0x17ede3['type']==='LOCAL_CS'?(_0x17ede3['projName']=_0x4a5c59(0x1b45,0x1529),_0x17ede3['local']=!![]):typeof _0x17ede3[_0x206b77(0x8d9,0xb88)]==='object'?_0x17ede3['projName']=Object['keys'](_0x17ede3[_0x206b77(0x8d9,0xf7b)])[0x0]:_0x17ede3['projName']=_0x17ede3['PROJECTION'];if(_0x17ede3[_0x206b77(0x1524,0x1f5e)]){var _0x36892f='';for(var _0x2b7152=0x0,_0x3e29a6=_0x17ede3['AXIS'][_0x4a5c59(0x1910,_0x2970e0._0x3e6e7b)];_0x2b7152<_0x3e29a6;++_0x2b7152){var _0x1ba1e2=[_0x17ede3['AXIS'][_0x2b7152][0x0][_0x206b77(0x185,0x3da)](),_0x17ede3[_0x4a5c59(0x216a,0x19b6)][_0x2b7152][0x1][_0x206b77(_0x2970e0._0x248097,_0x2970e0._0x18bdb4)]()];if(_0x1ba1e2[0x0][_0x206b77(0x1b8,0x682)]('north')!==-0x1||(_0x1ba1e2[0x0]==='y'||_0x1ba1e2[0x0]===_0x206b77(_0x2970e0._0x4f2ca9,-0x22a))&&_0x1ba1e2[0x1]===_0x4a5c59(0x10d4,0xa46))_0x36892f+='n';else{if(_0x1ba1e2[0x0]['indexOf'](_0x206b77(0x709,0x125))!==-0x1||(_0x1ba1e2[0x0]==='y'||_0x1ba1e2[0x0]==='lat')&&_0x1ba1e2[0x1]==='south')_0x36892f+='s';else{if(_0x1ba1e2[0x0]['indexOf']('east')!==-0x1||(_0x1ba1e2[0x0]==='x'||_0x1ba1e2[0x0]==='lon')&&_0x1ba1e2[0x1]==='east')_0x36892f+='e';else(_0x1ba1e2[0x0][_0x4a5c59(_0x2970e0._0x5bf490,0x64a)]('west')!==-0x1||(_0x1ba1e2[0x0]==='x'||_0x1ba1e2[0x0]===_0x4a5c59(0x1404,0x953))&&_0x1ba1e2[0x1]==='west')&&(_0x36892f+='w');}}}_0x36892f['length']===0x2&&(_0x36892f+='u'),_0x36892f['length']===0x3&&(_0x17ede3[_0x4a5c59(_0x2970e0._0x3911bd,_0x2970e0._0x1fd62e)]=_0x36892f);}_0x17ede3['UNIT']&&(_0x17ede3[_0x4a5c59(_0x2970e0._0x5cebc0,0xddb)]=_0x17ede3['UNIT'][_0x4a5c59(_0x2970e0._0x1bab9f,0xa03)]['toLowerCase'](),_0x17ede3['units']==='metre'&&(_0x17ede3[_0x206b77(_0x2970e0._0x3ce7f2,_0x2970e0._0x4f350f)]='meter'),_0x17ede3[_0x206b77(_0x2970e0._0x10711b,0x92b)][_0x206b77(0x14f7,_0x2970e0._0x3ef843)]&&(_0x17ede3['type']==='GEOGCS'?_0x17ede3[_0x4a5c59(0xf80,0xe86)]&&_0x17ede3[_0x206b77(0x9f4,0x46)][_0x206b77(0xd4a,0x27f)]&&(_0x17ede3['to_meter']=_0x17ede3['UNIT'][_0x206b77(0x14f7,_0x2970e0._0x47e38f)]*_0x17ede3['DATUM']['SPHEROID']['a']):_0x17ede3['to_meter']=_0x17ede3[_0x4a5c59(0xe81,0xe39)]['convert']));var _0x57f335=_0x17ede3['GEOGCS'];_0x17ede3[_0x4a5c59(0x1476,_0x2970e0._0x1e543f)]===_0x206b77(_0x2970e0._0x56956f,0x136a)&&(_0x57f335=_0x17ede3);function _0x206b77(_0x44f32a,_0x8f5bc1){return _0x306755(_0x8f5bc1,_0x44f32a- -0x322);}_0x57f335&&(_0x57f335['DATUM']?_0x17ede3['datumCode']=_0x57f335[_0x4a5c59(0x1645,_0x2970e0._0x262c8f)]['name'][_0x206b77(0x185,0x8b7)]():_0x17ede3[_0x206b77(_0x2970e0._0xb2f16,0x77f)]=_0x57f335['name'][_0x206b77(0x185,-_0x2970e0._0x46c513)](),_0x17ede3['datumCode']['slice'](0x0,0x2)==='d_'&&(_0x17ede3[_0x206b77(0xc94,_0x2970e0._0x34ac54)]=_0x17ede3['datumCode']['slice'](0x2)),(_0x17ede3[_0x4a5c59(_0x2970e0._0x3c9503,0x1126)]===_0x4a5c59(0xf10,0x6d1)||_0x17ede3['datumCode']===_0x4a5c59(_0x2970e0._0x229d79,_0x2970e0._0x418c20))&&(_0x17ede3['datumCode']='nzgd49'),(_0x17ede3[_0x206b77(0xc94,0x289)]===_0x4a5c59(0x1df7,0x19cb)||_0x17ede3['datumCode']===_0x206b77(0x1307,0xdb9))&&(_0x17ede3['PROJECTION']===_0x4a5c59(_0x2970e0._0x3e7592,_0x2970e0._0x127d60)&&(_0x17ede3['sphere']=!![]),_0x17ede3['datumCode']=_0x206b77(_0x2970e0._0x208d50,_0x2970e0._0x5585b1)),_0x17ede3[_0x4a5c59(0x16e4,0x1126)][_0x4a5c59(_0x2970e0._0x325167,_0x2970e0._0x4cf767)](-0x6)===_0x4a5c59(0x977,_0x2970e0._0x5e0789)&&(_0x17ede3['datumCode']=_0x17ede3['datumCode']['slice'](0x0,-0x6)),_0x17ede3[_0x4a5c59(0x19f2,_0x2970e0._0xde8b28)]['slice'](-0x8)===_0x206b77(_0x2970e0._0x2b5bc8,0x18c1)&&(_0x17ede3[_0x206b77(0xc94,0x9a3)]=_0x17ede3['datumCode']['slice'](0x0,-0x8)),~_0x17ede3['datumCode'][_0x4a5c59(_0x2970e0._0x293a71,0x64a)](_0x4a5c59(0x1a3b,0x1a62))&&(_0x17ede3['datumCode']='rnb72'),_0x57f335['DATUM']&&_0x57f335['DATUM']['SPHEROID']&&(_0x17ede3['ellps']=_0x57f335[_0x206b77(0x9f4,_0x2970e0._0x421adc)][_0x4a5c59(_0x2970e0._0x1e5b28,0x11dc)][_0x4a5c59(_0x2970e0._0x552c3a,_0x2970e0._0x5477ba)]['replace']('_19','')['replace'](/[Cc]larke\_18/,'clrk'),_0x17ede3[_0x4a5c59(_0x2970e0._0x5c39be,_0x2970e0._0x47b082)]['toLowerCase']()['slice'](0x0,0xd)==='international'&&(_0x17ede3[_0x206b77(_0x2970e0._0xc1b49,_0x2970e0._0x13bc8e)]='intl'),_0x17ede3['a']=_0x57f335['DATUM']['SPHEROID']['a'],_0x17ede3['rf']=parseFloat(_0x57f335['DATUM']['SPHEROID']['rf'],0xa)),_0x57f335['DATUM']&&_0x57f335[_0x206b77(_0x2970e0._0x5a3188,_0x2970e0._0x14ab4a)][_0x4a5c59(0x26f,0x7b7)]&&(_0x17ede3['datum_params']=_0x57f335[_0x206b77(0x9f4,0x108a)][_0x4a5c59(0xe67,0x7b7)]),~_0x17ede3['datumCode']['indexOf'](_0x206b77(0x1232,_0x2970e0._0x38047b))&&(_0x17ede3['datumCode']='osgb36'),~_0x17ede3[_0x206b77(_0x2970e0._0x380a8f,0x35a)]['indexOf'](_0x206b77(0x13f4,0x1384))&&(_0x17ede3['datumCode']='osni52'),(~_0x17ede3['datumCode']['indexOf'](_0x206b77(_0x2970e0._0x2d394f,_0x2970e0._0x250c1b))||~_0x17ede3[_0x206b77(_0x2970e0._0x380a8f,0x2f1)]['indexOf']('geodetic_datum_of_1965'))&&(_0x17ede3['datumCode']='ire65'),_0x17ede3[_0x4a5c59(0x14bd,0x1126)]==='ch1903+'&&(_0x17ede3['datumCode']=_0x4a5c59(0xddd,_0x2970e0._0x357001)),~_0x17ede3[_0x4a5c59(0x1891,_0x2970e0._0xde8b28)][_0x206b77(_0x2970e0._0x193ce2,-0x42f)](_0x206b77(0x8bb,0x56c))&&(_0x17ede3['datumCode']='isr93'));_0x17ede3['b']&&!isFinite(_0x17ede3['b'])&&(_0x17ede3['b']=_0x17ede3['a']);function _0x1cf95c(_0x2b817d){const _0x39f8fb={_0x5ecccc:0x3a8};function _0x8bb5be(_0x1ffd27,_0x15814b){return _0x206b77(_0x1ffd27-_0x39f8fb._0x5ecccc,_0x15814b);}var _0x417b5c=_0x17ede3[_0x8bb5be(0x8cf,0xc2d)]||0x1;return _0x2b817d*_0x417b5c;}var _0x2ca41c=function(_0x56e880){return rename(_0x17ede3,_0x56e880);},_0x58ee07=[[_0x206b77(0xc1e,0x11f6),'Standard_Parallel_1'],['standard_parallel_1','Latitude\x20of\x201st\x20standard\x20parallel'],['standard_parallel_2','Standard_Parallel_2'],[_0x206b77(_0x2970e0._0x4b04af,0x128d),'Latitude\x20of\x202nd\x20standard\x20parallel'],['false_easting',_0x4a5c59(0x1362,0x184f)],['false_easting',_0x206b77(_0x2970e0._0x1ce260,0x1024)],['false-easting','Easting\x20at\x20false\x20origin'],['false_northing','False_Northing'],['false_northing','False\x20northing'],[_0x4a5c59(_0x2970e0._0x4594a6,_0x2970e0._0x35699e),_0x4a5c59(_0x2970e0._0x153c61,_0x2970e0._0x475a2a)],['central_meridian',_0x206b77(0x193,-0x556)],['central_meridian','Longitude\x20of\x20natural\x20origin'],['central_meridian','Longitude\x20of\x20false\x20origin'],['latitude_of_origin',_0x206b77(0xa05,0x3ad)],['latitude_of_origin',_0x206b77(_0x2970e0._0x268f5c,0x178b)],['latitude_of_origin','Latitude\x20of\x20natural\x20origin'],['latitude_of_origin',_0x4a5c59(0x124f,0x1af9)],[_0x4a5c59(0xe00,0x18aa),'Scale_Factor'],['k0','scale_factor'],['latitude_of_center',_0x4a5c59(_0x2970e0._0x2f0551,0x803)],['latitude_of_center',_0x206b77(0xb65,0x7da)],['lat0',_0x4a5c59(0x16ed,_0x2970e0._0x404503),d2r],[_0x206b77(0x140f,0xd9a),_0x206b77(0xb46,0x75f)],[_0x4a5c59(_0x2970e0._0x4d414c,0x18a1),'Longitude_of_center'],['longc',_0x4a5c59(0xf98,0x18a1),d2r],['x0','false_easting',_0x1cf95c],['y0','false_northing',_0x1cf95c],['long0','central_meridian',d2r],['lat0','latitude_of_origin',d2r],[_0x4a5c59(0x14f4,0xabf),_0x4a5c59(0x1961,_0x2970e0._0x5c8f9d),d2r],['lat1',_0x4a5c59(0x1580,0x10b0),d2r],[_0x4a5c59(0x8f4,_0x2970e0._0x37a26f),_0x4a5c59(_0x2970e0._0x321263,0x119b),d2r],['azimuth','Azimuth'],['alpha','azimuth',d2r],[_0x206b77(_0x2970e0._0x50517e,0x1d21),_0x4a5c59(0x246,0xa03)]];_0x58ee07['forEach'](_0x2ca41c);!_0x17ede3['long0']&&_0x17ede3[_0x4a5c59(_0x2970e0._0x22cb13,0x17ae)]&&(_0x17ede3['projName']==='Albers_Conic_Equal_Area'||_0x17ede3['projName']==='Lambert_Azimuthal_Equal_Area')&&(_0x17ede3[_0x4a5c59(_0x2970e0._0x4ff055,0xa18)]=_0x17ede3[_0x4a5c59(0x209c,0x17ae)]);function _0x4a5c59(_0x3a0c7c,_0x3b1370){return _0x306755(_0x3a0c7c,_0x3b1370-0x170);}if(!_0x17ede3[_0x4a5c59(_0x2970e0._0x480c4c,0x1a2d)]&&_0x17ede3['lat1']&&(_0x17ede3[_0x206b77(_0x2970e0._0x595ed8,-_0x2970e0._0x228840)]==='Stereographic_South_Pole'||_0x17ede3[_0x4a5c59(0x390,0x6f6)]==='Polar\x20Stereographic\x20(variant\x20B)'))_0x17ede3[_0x4a5c59(0x1384,0xabf)]=d2r(_0x17ede3['lat1']>0x0?0x5a:-0x5a),_0x17ede3[_0x206b77(0x159b,0x19a1)]=_0x17ede3['lat1'];else!_0x17ede3[_0x206b77(_0x2970e0._0x3b1d5a,0x1dfe)]&&_0x17ede3['lat0']&&_0x17ede3['projName']==='Polar_Stereographic'&&(_0x17ede3[_0x206b77(0x159b,0x1e4b)]=_0x17ede3[_0x4a5c59(_0x2970e0._0x3bc5c8,0xabf)],_0x17ede3['lat0']=d2r(_0x17ede3['lat0']>0x0?0x5a:-0x5a));}function wkt(_0x46faff){function _0x4fff87(_0x18c828,_0xd1f28f){return _0x2b6441(_0xd1f28f,_0x18c828-0x24a);}var _0x384cda=parseString(_0x46faff),_0x248712=_0x384cda['shift'](),_0x2b404d=_0x384cda[_0x4fff87(0x274,0xc45)]();_0x384cda['unshift'](['name',_0x2b404d]),_0x384cda['unshift'](['type',_0x248712]);var _0x2f4337={};return sExpr(_0x384cda,_0x2f4337),cleanWKT(_0x2f4337),_0x2f4337;}function defs(_0x2775b8){const _0xa737ef={_0x4779be:0x68a,_0x360b84:0xa3f,_0x5d9698:0x828},_0x4546fe={_0x5bb73e:0xd0};function _0xe9b011(_0x1446f0,_0x1046eb){return _0x306755(_0x1446f0,_0x1046eb-0x16d);}var _0x5af908=this;function _0x4873ba(_0x15d60f,_0x39621c){return _0x306755(_0x39621c,_0x15d60f- -0x348);}if(arguments['length']===0x2){var _0x5764f3=arguments[0x1];typeof _0x5764f3==='string'?_0x5764f3['charAt'](0x0)==='+'?defs[_0x2775b8]=projStr(arguments[0x1]):defs[_0x2775b8]=wkt(arguments[0x1]):defs[_0x2775b8]=_0x5764f3;}else{if(arguments[_0x4873ba(0x12b3,0xf4a)]===0x1){if(Array['isArray'](_0x2775b8))return _0x2775b8[_0x4873ba(0x44c,0x437)](function(_0x29d992){function _0x1b12fa(_0x320874,_0x557a29){return _0x4873ba(_0x320874-_0x4546fe._0x5bb73e,_0x557a29);}Array['isArray'](_0x29d992)?defs[_0x1b12fa(0x25e,0xe0)](_0x5af908,_0x29d992):defs(_0x29d992);});else{if(typeof _0x2775b8===_0x4873ba(_0xa737ef._0x4779be,0x8fb)){if(_0x2775b8 in defs)return defs[_0x2775b8];}else{if(_0xe9b011(-0x14e,0x6fa)in _0x2775b8)defs['EPSG:'+_0x2775b8['EPSG']]=_0x2775b8;else{if(_0xe9b011(0xea6,0xef4)in _0x2775b8)defs['ESRI:'+_0x2775b8[_0x4873ba(_0xa737ef._0x360b84,0x4d4)]]=_0x2775b8;else'IAU2000'in _0x2775b8?defs['IAU2000:'+_0x2775b8[_0x4873ba(_0xa737ef._0x5d9698,0xc71)]]=_0x2775b8:console['log'](_0x2775b8);}}}return;}}}globals(defs);function testObj(_0x4b19b2){return typeof _0x4b19b2==='string';}function testDef(_0x9abc3){return _0x9abc3 in defs;}var codeWords=[_0x2b6441(0x6b9,0x576),_0x306755(0x1e85,0x19e6),_0x306755(0xaf2,0x159e),_0x2b6441(0xca9,0x13e0),_0x306755(0x192,0xc3e),_0x2b6441(0x7e3,0x9f5),_0x2b6441(0x9f2,0x56c),'GEODETICCRS','GEODETICDATUM','ENGCRS',_0x306755(0xc32,0x511)];function testWKT(_0x4d0a87){const _0x38bc54={_0x1d301c:0xd72},_0x767da3={_0x4640e0:0x25e};return codeWords['some'](function(_0x5cd847){function _0x251305(_0x11de0c,_0x1a8713){return _0x5bbe(_0x11de0c-_0x767da3._0x4640e0,_0x1a8713);}return _0x4d0a87[_0x251305(0x4c5,_0x38bc54._0x1d301c)](_0x5cd847)>-0x1;});}var codes=['3857','900913',_0x306755(0x408,0x545),'102113'];function checkMercator(_0x554f68){const _0x2ffef1={_0x421dc7:0xee2,_0x1b02ce:0xcb6};var _0x5cb08b=match(_0x554f68,'authority');if(!_0x5cb08b)return;var _0x3be3a4=match(_0x5cb08b,_0x4f8920(_0x2ffef1._0x421dc7,_0x2ffef1._0x1b02ce));function _0x4f8920(_0x47b750,_0x4f98a7){return _0x306755(_0x47b750,_0x4f98a7- -0x103);}return _0x3be3a4&&codes['indexOf'](_0x3be3a4)>-0x1;}function checkProjStr(_0x3c35b5){const _0x5087c9={_0x275790:0x1327};var _0x40630a=match(_0x3c35b5,'extension');function _0x4b5dd4(_0x49ae0c,_0x34ce36){return _0x2b6441(_0x49ae0c,_0x34ce36-0x41f);}if(!_0x40630a)return;return match(_0x40630a,_0x4b5dd4(_0x5087c9._0x275790,0xa46));}function testProj(_0x3ad892){return _0x3ad892[0x0]==='+';}function parse(_0x20353a){if(testObj(_0x20353a)){if(testDef(_0x20353a))return defs[_0x20353a];if(testWKT(_0x20353a)){var _0x187e25=wkt(_0x20353a);if(checkMercator(_0x187e25))return defs['EPSG:3857'];var _0x3d2c66=checkProjStr(_0x187e25);if(_0x3d2c66)return projStr(_0x3d2c66);return _0x187e25;}if(testProj(_0x20353a))return projStr(_0x20353a);}else return _0x20353a;}function extend(_0x12bd70,_0x11167b){_0x12bd70=_0x12bd70||{};var _0x2e85c7,_0x42d0af;if(!_0x11167b)return _0x12bd70;for(_0x42d0af in _0x11167b){_0x2e85c7=_0x11167b[_0x42d0af],_0x2e85c7!==undefined&&(_0x12bd70[_0x42d0af]=_0x2e85c7);}return _0x12bd70;}function msfnz(_0x5d32f9,_0x49a079,_0x31511f){var _0x1e72fb=_0x5d32f9*_0x49a079;return _0x31511f/Math['sqrt'](0x1-_0x1e72fb*_0x1e72fb);}function sign(_0x5b5462){return _0x5b5462<0x0?-0x1:0x1;}function adjust_lon(_0x3829ef){return Math['abs'](_0x3829ef)<=SPI?_0x3829ef:_0x3829ef-sign(_0x3829ef)*TWO_PI;}function tsfnz(_0x5b9f8e,_0x2f738e,_0x1a516e){const _0x5ec72b={_0x24a2b1:0x31a},_0x4585da={_0x137d1c:0x591};var _0x13d7da=_0x5b9f8e*_0x1a516e,_0xd2bcb1=0.5*_0x5b9f8e;function _0x4060f7(_0x1985da,_0x247389){return _0x2b6441(_0x1985da,_0x247389-_0x4585da._0x137d1c);}_0x13d7da=Math[_0x4060f7(0x179d,0x166c)]((0x1-_0x13d7da)/(0x1+_0x13d7da),_0xd2bcb1);function _0x2c09f7(_0x51fdc1,_0x3522b2){return _0x2b6441(_0x3522b2,_0x51fdc1-_0x5ec72b._0x24a2b1);}return Math[_0x2c09f7(0xbff,0xfc0)](0.5*(HALF_PI-_0x2f738e))/_0x13d7da;}function phi2z(_0x6a9041,_0x13202b){const _0x4238aa={_0x2afaa5:0x2a0,_0x1cd0fe:0x889,_0x43f9cb:0x889},_0x2162f3={_0x10e375:0x4bc},_0x3dce15={_0x454cf5:0x5e7};var _0x154671=0.5*_0x6a9041;function _0xce88e2(_0x5a4f17,_0x3f48fe){return _0x2b6441(_0x5a4f17,_0x3f48fe-_0x3dce15._0x454cf5);}function _0x533585(_0x29c7dc,_0x3d4d85){return _0x2b6441(_0x29c7dc,_0x3d4d85-_0x2162f3._0x10e375);}var _0x2fbaa0,_0x344330,_0x20ed7a=HALF_PI-0x2*Math[_0xce88e2(_0x4238aa._0x2afaa5,_0x4238aa._0x1cd0fe)](_0x13202b);for(var _0x2eb1ac=0x0;_0x2eb1ac<=0xf;_0x2eb1ac++){_0x2fbaa0=_0x6a9041*Math['sin'](_0x20ed7a),_0x344330=HALF_PI-0x2*Math[_0xce88e2(0xbe2,_0x4238aa._0x43f9cb)](_0x13202b*Math['pow']((0x1-_0x2fbaa0)/(0x1+_0x2fbaa0),_0x154671))-_0x20ed7a,_0x20ed7a+=_0x344330;if(Math['abs'](_0x344330)<=1e-10)return _0x20ed7a;}return-0x270f;}function init$v(){const _0x1f98ed={_0x332c8d:0x926},_0x440382={_0x130eac:0x238};var _0x143e2f=this['b']/this['a'];this['es']=0x1-_0x143e2f*_0x143e2f;!('x0'in this)&&(this['x0']=0x0);!('y0'in this)&&(this['y0']=0x0);function _0xc27e88(_0x322960,_0x48af90){return _0x2b6441(_0x322960,_0x48af90-0x4a5);}this['e']=Math[_0xc27e88(0x18e2,0x1443)](this['es']);function _0x44c8e3(_0x443736,_0x1ce238){return _0x2b6441(_0x443736,_0x1ce238-_0x440382._0x130eac);}this['lat_ts']?this['sphere']?this['k0']=Math['cos'](this['lat_ts']):this['k0']=msfnz(this['e'],Math['sin'](this[_0xc27e88(0x155e,0x17c1)]),Math[_0x44c8e3(0xaf1,_0x1f98ed._0x332c8d)](this['lat_ts'])):!this['k0']&&(this['k']?this['k0']=this['k']:this['k0']=0x1);}function forward$u(_0x38dec6){const _0x238302={_0x3fbe79:0x1b39,_0x334f10:0x10a5};function _0x10d34e(_0x11b529,_0x54be1){return _0x306755(_0x11b529,_0x54be1- -0x3bc);}var _0x1a5236=_0x38dec6['x'],_0x5d1fd8=_0x38dec6['y'];if(_0x5d1fd8*R2D>0x5a&&_0x5d1fd8*R2D<-0x5a&&_0x1a5236*R2D>0xb4&&_0x1a5236*R2D<-0xb4)return null;function _0x3e1af6(_0x43f8e7,_0x1e66f4){return _0x2b6441(_0x43f8e7,_0x1e66f4-0x5d0);}var _0x4197b6,_0x556056;if(Math['abs'](Math[_0x10d34e(_0x238302._0x3fbe79,_0x238302._0x334f10)](_0x5d1fd8)-HALF_PI)<=EPSLN)return null;else{if(this['sphere'])_0x4197b6=this['x0']+this['a']*this['k0']*adjust_lon(_0x1a5236-this['long0']),_0x556056=this['y0']+this['a']*this['k0']*Math['log'](Math['tan'](FORTPI+0.5*_0x5d1fd8));else{var _0x259deb=Math['sin'](_0x5d1fd8),_0x40840e=tsfnz(this['e'],_0x5d1fd8,_0x259deb);_0x4197b6=this['x0']+this['a']*this['k0']*adjust_lon(_0x1a5236-this['long0']),_0x556056=this['y0']-this['a']*this['k0']*Math[_0x3e1af6(0x5df,0x493)](_0x40840e);}return _0x38dec6['x']=_0x4197b6,_0x38dec6['y']=_0x556056,_0x38dec6;}}function inverse$u(_0x12e2ba){const _0x2c496a={_0xa1600c:0x140e,_0x23d4cf:0xe34,_0x79ee54:0x485},_0x1702d5={_0x93a459:0x423},_0x5af924={_0x3fab29:0x6b};var _0x501175=_0x12e2ba['x']-this['x0'],_0x503222=_0x12e2ba['y']-this['y0'],_0x1aa8e9,_0x878c7f;if(this['sphere'])_0x878c7f=HALF_PI-0x2*Math['atan'](Math[_0x56f6f0(0x907,0xc75)](-_0x503222/(this['a']*this['k0'])));else{var _0x156d62=Math[_0x208737(_0x2c496a._0xa1600c,0xaf0)](-_0x503222/(this['a']*this['k0']));_0x878c7f=phi2z(this['e'],_0x156d62);if(_0x878c7f===-0x270f)return null;}function _0x56f6f0(_0x32968d,_0xb06b30){return _0x2b6441(_0xb06b30,_0x32968d- -_0x5af924._0x3fab29);}_0x1aa8e9=adjust_lon(this[_0x208737(_0x2c496a._0x23d4cf,_0x2c496a._0x79ee54)]+_0x501175/(this['a']*this['k0'])),_0x12e2ba['x']=_0x1aa8e9,_0x12e2ba['y']=_0x878c7f;function _0x208737(_0x2adc06,_0x78cb37){return _0x306755(_0x2adc06,_0x78cb37- -_0x1702d5._0x93a459);}return _0x12e2ba;}var names$w=[_0x2b6441(0x12ea,0x13e2),'Popular\x20Visualisation\x20Pseudo\x20Mercator','Mercator_1SP',_0x2b6441(0xe81,0xb10),'merc'];const _0x1d3397={};_0x1d3397['init']=init$v,_0x1d3397[_0x2b6441(0xdea,0x756)]=forward$u,_0x1d3397[_0x306755(0xf1e,0x57d)]=inverse$u,_0x1d3397['names']=names$w;var merc=_0x1d3397;function init$u(){}function identity(_0x48f62f){return _0x48f62f;}var names$v=['longlat',_0x2b6441(0xe10,0xe18)];const _0x3edc0d={};_0x3edc0d[_0x2b6441(-0xa9,0x120)]=init$u,_0x3edc0d[_0x306755(0x362,0xcf7)]=identity,_0x3edc0d[_0x306755(0xce4,0x57d)]=identity,_0x3edc0d['names']=names$v;var longlat=_0x3edc0d,projs=[merc,longlat],names$u={},projStore=[];function add$1(_0x157ea8,_0x29893d){const _0x1c3ebe={_0x14b9a2:0x12fd},_0x236f97={_0x3fc8bd:0x31f};var _0x134d6c=projStore['length'];if(!_0x157ea8['names'])return console['log'](_0x29893d),!![];projStore[_0x134d6c]=_0x157ea8,_0x157ea8[_0x57181(_0x1c3ebe._0x14b9a2,0x9e4)]['forEach'](function(_0x17ee92){names$u[_0x17ee92['toLowerCase']()]=_0x134d6c;});function _0x57181(_0x5697a4,_0x4853b8){return _0x2b6441(_0x5697a4,_0x4853b8-_0x236f97._0x3fc8bd);}return this;}function get$1(_0x4764a1){if(!_0x4764a1)return![];var _0x53b6c2=_0x4764a1['toLowerCase']();if(typeof names$u[_0x53b6c2]!=='undefined'&&projStore[names$u[_0x53b6c2]])return projStore[names$u[_0x53b6c2]];}function start(){projs['forEach'](add$1);}const _0x375560={};_0x375560['start']=start,_0x375560['add']=add$1,_0x375560['get']=get$1;var projections=_0x375560,exports$2={};const _0x257d63={};_0x257d63['a']=0x615299,_0x257d63['rf']=298.257,_0x257d63[_0x2b6441(0x1948,0x142b)]='MERIT\x201983',exports$2[_0x306755(0x9be,0xa6d)]=_0x257d63;const _0x46ae89={};_0x46ae89['a']=0x615298,_0x46ae89['rf']=298.257,_0x46ae89['ellipseName']='Soviet\x20Geodetic\x20System\x2085',exports$2['SGS85']=_0x46ae89;const _0x4bb91b={};_0x4bb91b['a']=0x615299,_0x4bb91b['rf']=298.257222101,_0x4bb91b['ellipseName']=_0x2b6441(0x1c9,0x5c5),exports$2['GRS80']=_0x4bb91b;const _0x4632a5={};_0x4632a5['a']=0x61529c,_0x4632a5['rf']=298.257,_0x4632a5[_0x2b6441(0x1b89,0x142b)]=_0x306755(0x83e,0xccc),exports$2['IAU76']=_0x4632a5;const _0x394ad4={};_0x394ad4['a']=6377563.396,_0x394ad4['b']=6356256.91,_0x394ad4['ellipseName']='Airy\x201830',exports$2[_0x306755(0xa88,0x13b7)]=_0x394ad4;const _0x104313={};_0x104313['a']=0x615299,_0x104313['rf']=298.25,_0x104313[_0x306755(0x1d00,0x19cc)]='Appl.\x20Physics.\x201965',exports$2[_0x2b6441(0x19e,0x532)]=_0x104313;const _0x983c80={};_0x983c80['a']=0x6152a1,_0x983c80['rf']=298.25,_0x983c80['ellipseName']='Naval\x20Weapons\x20Lab.,\x201965',exports$2[_0x2b6441(0xb0a,0x58d)]=_0x983c80;const _0x498b99={};_0x498b99['a']=6377340.189,_0x498b99['b']=6356034.446,_0x498b99['ellipseName']='Modified\x20Airy',exports$2['mod_airy']=_0x498b99;const _0x288ba6={};_0x288ba6['a']=6377104.43,_0x288ba6['rf']=0x12c,_0x288ba6[_0x306755(0x1a25,0x19cc)]='Andrae\x201876\x20(Den.,\x20Iclnd.)',exports$2[_0x2b6441(0x149c,0xd16)]=_0x288ba6;const _0x479af6={};_0x479af6['a']=0x6152b0,_0x479af6['rf']=298.25,_0x479af6['ellipseName']='Australian\x20Natl\x20&\x20S.\x20Amer.\x201969',exports$2['aust_SA']=_0x479af6;const _0x493000={};_0x493000['a']=0x6152b0,_0x493000['rf']=298.247167427,_0x493000['ellipseName']=_0x306755(0xc7f,0x1302),exports$2[_0x2b6441(0x7ec,0xe4f)]=_0x493000;const _0x208193={};_0x208193['a']=6377397.155,_0x208193['rf']=299.1528128,_0x208193['ellipseName']=_0x306755(0x1792,0x1287),exports$2['bessel']=_0x208193;const _0x2554d8={};_0x2554d8['a']=6377483.865,_0x2554d8['rf']=299.1528128,_0x2554d8['ellipseName']=_0x306755(0x2ca,0x8e6),exports$2['bess_nam']=_0x2554d8;const _0xd6a45b={};_0xd6a45b['a']=6378206.4,_0xd6a45b['b']=6356583.8,_0xd6a45b['ellipseName']='Clarke\x201866',exports$2['clrk66']=_0xd6a45b;const _0x303d4d={};_0x303d4d['a']=6378249.145,_0x303d4d['rf']=293.4663,_0x303d4d['ellipseName']='Clarke\x201880\x20mod.',exports$2['clrk80']=_0x303d4d;const _0x116c8c={};_0x116c8c['a']=6378249.2,_0x116c8c['b']=0x60fe23,_0x116c8c['rf']=293.4660213,_0x116c8c[_0x2b6441(0xa33,0x142b)]='Clarke\x201880\x20(IGN)',exports$2[_0x306755(0xff1,0xa06)]=_0x116c8c;const _0x1bbc0b={};_0x1bbc0b['a']=6378293.645208759,_0x1bbc0b['rf']=294.2606763692654,_0x1bbc0b['ellipseName']='Clarke\x201858',exports$2['clrk58']=_0x1bbc0b;const _0x54e70b={};_0x54e70b['a']=6375738.7,_0x54e70b['rf']=334.29,_0x54e70b[_0x2b6441(0xebf,0x142b)]=_0x2b6441(0xd0f,0x9b0),exports$2['CPM']=_0x54e70b;const _0x27468d={};_0x27468d['a']=0x614bec,_0x27468d['rf']=311.5,_0x27468d[_0x2b6441(0x11ea,0x142b)]=_0x306755(0x1600,0x1625),exports$2['delmbr']=_0x27468d;const _0x23b921={};_0x23b921['a']=6378136.05,_0x23b921['rf']=298.2566,_0x23b921[_0x306755(0x18f0,0x19cc)]='Engelis\x201985',exports$2[_0x2b6441(0x142c,0x10ed)]=_0x23b921;const _0x2a48bb={};_0x2a48bb['a']=6377276.345,_0x2a48bb['rf']=300.8017,_0x2a48bb['ellipseName']='Everest\x201830',exports$2['evrst30']=_0x2a48bb;const _0x255efd={};_0x255efd['a']=6377304.063,_0x255efd['rf']=300.8017,_0x255efd['ellipseName']=_0x2b6441(0x801,0xfc5),exports$2[_0x306755(0xbd1,0x7ee)]=_0x255efd;const _0x11b330={};_0x11b330['a']=6377301.243,_0x11b330['rf']=300.8017,_0x11b330['ellipseName']='Everest\x201956',exports$2['evrst56']=_0x11b330;const _0x1aa02a={};_0x1aa02a['a']=6377295.664,_0x1aa02a['rf']=300.8017,_0x1aa02a[_0x2b6441(0xaff,0x142b)]='Everest\x201969',exports$2['evrst69']=_0x1aa02a;const _0x4a8f93={};_0x4a8f93['a']=6377298.556,_0x4a8f93['rf']=300.8017,_0x4a8f93['ellipseName']=_0x2b6441(0x723,0xdfe),exports$2[_0x306755(0x1319,0x197c)]=_0x4a8f93;const _0x15b9e7={};_0x15b9e7['a']=0x6152b6,_0x15b9e7['rf']=298.3,_0x15b9e7[_0x2b6441(0x1b28,0x142b)]=_0x2b6441(0x19b3,0x1181),exports$2['fschr60']=_0x15b9e7;const _0x28a88c={};_0x28a88c['a']=0x6152ab,_0x28a88c['rf']=298.3,_0x28a88c['ellipseName']='Fischer\x201960',exports$2[_0x306755(0xdf3,0x493)]=_0x28a88c;const _0x1c231f={};_0x1c231f['a']=0x6152a6,_0x1c231f['rf']=298.3,_0x1c231f['ellipseName']=_0x306755(0x1d63,0x1373),exports$2['fschr68']=_0x1c231f;const _0x3089f9={};_0x3089f9['a']=0x6152d8,_0x3089f9['rf']=298.3,_0x3089f9['ellipseName']='Helmert\x201906',exports$2[_0x306755(0x21a8,0x1953)]=_0x3089f9;const _0x2301ee={};_0x2301ee['a']=0x61531e,_0x2301ee['rf']=0x129,_0x2301ee['ellipseName']=_0x306755(0xe5b,0x8d1),exports$2['hough']=_0x2301ee;const _0x63c3ed={};_0x63c3ed['a']=0x615394,_0x63c3ed['rf']=0x129,_0x63c3ed[_0x306755(0x19b6,0x19cc)]='International\x201909\x20(Hayford)',exports$2[_0x306755(0x1397,0xdc9)]=_0x63c3ed;const _0x539503={};_0x539503['a']=0x6152b3,_0x539503['rf']=298.24,_0x539503['ellipseName']=_0x306755(0xc3e,0x6fd),exports$2[_0x2b6441(0x186e,0x134f)]=_0x539503;const _0x3341cd={};_0x3341cd['a']=0x61529b,_0x3341cd['rf']=298.257,_0x3341cd[_0x306755(0x1061,0x19cc)]='Lerch\x201979',exports$2[_0x2b6441(-0x85c,0x26d)]=_0x3341cd;const _0x1fde7b={};_0x1fde7b['a']=0x619d74,_0x1fde7b['rf']=0xbf,_0x1fde7b[_0x2b6441(0xc6f,0x142b)]='Maupertius\x201738',exports$2[_0x306755(0x1327,0x1973)]=_0x1fde7b;const _0xbdf52a={};_0xbdf52a['a']=6378157.5,_0xbdf52a['b']=6356772.2,_0xbdf52a['ellipseName']=_0x306755(0x117e,0xe04),exports$2['new_intl']=_0xbdf52a;const _0xee8482={};_0xee8482['a']=0x614c4b,_0xee8482['rf']=0x60fb97,_0xee8482['ellipseName']=_0x306755(0x1038,0xffe),exports$2['plessis']=_0xee8482;const _0x5e77fa={};_0x5e77fa['a']=0x615305,_0x5e77fa['rf']=298.3,_0x5e77fa['ellipseName']=_0x2b6441(0x4d8,0x610),exports$2[_0x306755(0xca0,0x64d)]=_0x5e77fa;const _0x18ee00={};_0x18ee00['a']=0x6152ab,_0x18ee00['b']=6356773.3205,_0x18ee00['ellipseName']='Southeast\x20Asia',exports$2[_0x306755(0xe2b,0x721)]=_0x18ee00;const _0x42f3bb={};_0x42f3bb['a']=0x614dc0,_0x42f3bb['b']=6355834.8467,_0x42f3bb[_0x306755(0x1f5b,0x19cc)]='Walbeck',exports$2[_0x306755(0xe6b,0x120a)]=_0x42f3bb;const _0x5b419a={};_0x5b419a['a']=0x6152b5,_0x5b419a['rf']=298.3,_0x5b419a['ellipseName']='WGS\x2060',exports$2['WGS60']=_0x5b419a;const _0x39f19a={};_0x39f19a['a']=0x6152a1,_0x39f19a['rf']=298.25,_0x39f19a[_0x2b6441(0x97f,0x142b)]='WGS\x2066',exports$2[_0x306755(0x1144,0x6bd)]=_0x39f19a;const _0x2ae1d1={};_0x2ae1d1['a']=0x615297,_0x2ae1d1['rf']=298.26,_0x2ae1d1['ellipseName']=_0x2b6441(0x152f,0xa7e),exports$2[_0x306755(0xaa4,0xf7b)]=_0x2ae1d1;const _0x287fd8={};_0x287fd8['a']=0x615299,_0x287fd8['rf']=298.257223563,_0x287fd8['ellipseName']='WGS\x2084';var WGS84=exports$2[_0x2b6441(0x15e1,0xb16)]=_0x287fd8;const _0x374048={};_0x374048['a']=0x6136b5,_0x374048['b']=0x6136b5,_0x374048[_0x2b6441(0x19e2,0x142b)]=_0x2b6441(0x361,0xba3),exports$2['sphere']=_0x374048;function eccentricity(_0x35d61d,_0x1fe85a,_0x2bd3d0,_0x4e84b7){var _0x5b28b4=_0x35d61d*_0x35d61d,_0x372bd9=_0x1fe85a*_0x1fe85a,_0xe51ad6=(_0x5b28b4-_0x372bd9)/_0x5b28b4,_0x17d9ab=0x0;_0x4e84b7?(_0x35d61d*=0x1-_0xe51ad6*(SIXTH+_0xe51ad6*(RA4+_0xe51ad6*RA6)),_0x5b28b4=_0x35d61d*_0x35d61d,_0xe51ad6=0x0):_0x17d9ab=Math['sqrt'](_0xe51ad6);var _0x20b82a=(_0x5b28b4-_0x372bd9)/_0x372bd9;const _0x4e8e54={};return _0x4e8e54['es']=_0xe51ad6,_0x4e8e54['e']=_0x17d9ab,_0x4e8e54['ep2']=_0x20b82a,_0x4e8e54;}function sphere(_0x1423c3,_0x57a6bc,_0xb2c021,_0x400f36,_0x14a747){const _0x4a04da={_0x5e42d1:0x77};if(!_0x1423c3){var _0x13cfa1=match(exports$2,_0x400f36);!_0x13cfa1&&(_0x13cfa1=WGS84),_0x1423c3=_0x13cfa1['a'],_0x57a6bc=_0x13cfa1['b'],_0xb2c021=_0x13cfa1['rf'];}_0xb2c021&&!_0x57a6bc&&(_0x57a6bc=(0x1-0x1/_0xb2c021)*_0x1423c3);(_0xb2c021===0x0||Math[_0x1fb3ae(0xe49,0x16e6)](_0x1423c3-_0x57a6bc)<EPSLN)&&(_0x14a747=!![],_0x57a6bc=_0x1423c3);const _0xba35df={};_0xba35df['a']=_0x1423c3,_0xba35df['b']=_0x57a6bc,_0xba35df['rf']=_0xb2c021;function _0x1fb3ae(_0x203217,_0x40bcd4){return _0x2b6441(_0x40bcd4,_0x203217- -_0x4a04da._0x5e42d1);}return _0xba35df['sphere']=_0x14a747,_0xba35df;}var exports$1={};const _0x3026d3={};_0x3026d3['towgs84']=_0x306755(0x11f6,0x1803),_0x3026d3[_0x2b6441(0x8bc,0x10e0)]='WGS84',_0x3026d3['datumName']='WGS84',exports$1['wgs84']=_0x3026d3;const _0x53b3f1={};_0x53b3f1['towgs84']='674.374,15.056,405.346',_0x53b3f1['ellipse']='bessel',_0x53b3f1[_0x306755(0x48e,0x7e0)]='swiss',exports$1['ch1903']=_0x53b3f1;const _0x35e6a7={};_0x35e6a7['towgs84']='-199.87,74.79,246.62',_0x35e6a7['ellipse']='GRS80',_0x35e6a7[_0x306755(0x3e4,0x7e0)]=_0x306755(0xdfe,0x98a),exports$1['ggrs87']=_0x35e6a7;const _0x3c6233={};_0x3c6233['towgs84']=_0x306755(0x1ca6,0x1803),_0x3c6233['ellipse']='GRS80',_0x3c6233['datumName']='North_American_Datum_1983',exports$1['nad83']=_0x3c6233;const _0x13a22f={};_0x13a22f['nadgrids']='@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat',_0x13a22f[_0x306755(0x1133,0x1681)]='clrk66',_0x13a22f[_0x2b6441(-0x140,0x23f)]=_0x306755(0x1ee1,0x1582),exports$1['nad27']=_0x13a22f;const _0x439aea={};_0x439aea[_0x306755(0x150b,0x1561)]='598.1,73.7,418.2,0.202,0.045,-2.455,6.7',_0x439aea[_0x306755(0x1c3d,0x1681)]=_0x2b6441(0xb9d,0x12c0),_0x439aea['datumName']=_0x2b6441(0xbbd,0x558),exports$1['potsdam']=_0x439aea;const _0x595c60={};_0x595c60['towgs84']=_0x306755(0x7a8,0xee5),_0x595c60['ellipse']='clark80',_0x595c60[_0x2b6441(0x446,0x23f)]='Carthage\x201934\x20Tunisia',exports$1[_0x306755(0xac2,0xaaa)]=_0x595c60;const _0x28d713={};_0x28d713['towgs84']='577.326,90.129,463.919,5.137,1.474,5.297,2.4232',_0x28d713[_0x2b6441(0x11d5,0x10e0)]='bessel',_0x28d713['datumName']=_0x2b6441(0x799,0x51a),exports$1['hermannskogel']=_0x28d713;const _0x18dca9={};_0x18dca9['towgs84']=_0x306755(0x84c,0x10e0),_0x18dca9['ellipse']='bessel',_0x18dca9['datumName']='Militar-Geographische\x20Institut',exports$1[_0x2b6441(-0x379,0x21b)]=_0x18dca9;const _0x55cace={};_0x55cace['towgs84']='482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15',_0x55cace[_0x2b6441(0x191e,0x10e0)]='airy',_0x55cace['datumName']='Irish\x20National',exports$1['osni52']=_0x55cace;const _0x362964={};_0x362964[_0x306755(0x1991,0x1561)]='482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15',_0x362964['ellipse']='mod_airy',_0x362964[_0x2b6441(-0x340,0x23f)]='Ireland\x201965',exports$1['ire65']=_0x362964;const _0x137be9={};_0x137be9['towgs84']=_0x306755(0x1d3d,0x1597),_0x137be9['ellipse']='intl',_0x137be9[_0x306755(0x46,0x7e0)]=_0x306755(0x950,0x1330),exports$1['rassadiran']=_0x137be9;const _0x42d555={};_0x42d555['towgs84']='59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993',_0x42d555[_0x2b6441(0x7e3,0x10e0)]='intl',_0x42d555['datumName']=_0x306755(0x79a,0xa57),exports$1[_0x2b6441(0x11e2,0xf50)]=_0x42d555;const _0x2fc0b2={};_0x2fc0b2['towgs84']=_0x2b6441(0x1070,0x119e),_0x2fc0b2['ellipse']='airy',_0x2fc0b2['datumName']='Airy\x201830',exports$1['osgb36']=_0x2fc0b2;const _0x7911c0={};_0x7911c0[_0x2b6441(0x1673,0xfc0)]='589,76,480',_0x7911c0[_0x306755(0x2141,0x1681)]='bessel',_0x7911c0['datumName']=_0x2b6441(0x8eb,-0x123),exports$1['s_jtsk']=_0x7911c0;const _0x4a3405={};_0x4a3405[_0x2b6441(0x182c,0xfc0)]='-106,-87,188',_0x4a3405['ellipse']='clrk80',_0x4a3405['datumName']=_0x306755(0x15f7,0x1143),exports$1['beduaram']=_0x4a3405;const _0x20ab1d={};_0x20ab1d[_0x306755(0x1544,0x1561)]=_0x2b6441(0x19f7,0x145b),_0x20ab1d[_0x306755(0x122f,0x1681)]=_0x2b6441(0x19bf,0x12c0),_0x20ab1d['datumName']=_0x306755(0x354,0xa30),exports$1[_0x2b6441(0x1349,0x13a2)]=_0x20ab1d;const _0x3c91e7={};_0x3c91e7['towgs84']='106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1',_0x3c91e7['ellipse']='intl',_0x3c91e7['datumName']='Reseau\x20National\x20Belge\x201972',exports$1[_0x2b6441(-0x9e,0x890)]=_0x3c91e7;function datum(_0x76581f,_0x533b1e,_0x5b9180,_0x2f37bb,_0x369e82,_0x8ac763,_0x297d07){const _0x35cb1f={_0x2e0e3e:0x9b2,_0x2535fe:0x4f4,_0xbcca8d:0x7c5,_0x38f1cf:0x647,_0x2f13c9:0x9d5,_0x41604a:0x1320,_0x2f091e:0x9b7,_0x2059a4:0xe25,_0x3aecf9:0x155e};var _0x21676a={};_0x76581f===undefined||_0x76581f===_0x2a9cbf(0x11b2,_0x35cb1f._0x2e0e3e)?_0x21676a['datum_type']=PJD_NODATUM:_0x21676a['datum_type']=PJD_WGS84;function _0x2a9cbf(_0x24ee19,_0x4338aa){return _0x306755(_0x24ee19,_0x4338aa- -0x2a0);}function _0x7c2f01(_0x55d29d,_0x93a5a0){return _0x306755(_0x55d29d,_0x93a5a0- -0x18c);}return _0x533b1e&&(_0x21676a['datum_params']=_0x533b1e[_0x2a9cbf(0xaa0,_0x35cb1f._0x2535fe)](parseFloat),(_0x21676a[_0x2a9cbf(0x4f5,0x8a3)][0x0]!==0x0||_0x21676a['datum_params'][0x1]!==0x0||_0x21676a['datum_params'][0x2]!==0x0)&&(_0x21676a[_0x2a9cbf(_0x35cb1f._0xbcca8d,0x9d5)]=PJD_3PARAM),_0x21676a['datum_params']['length']>0x3&&((_0x21676a[_0x7c2f01(-0x116,0x9b7)][0x3]!==0x0||_0x21676a[_0x7c2f01(0x7d6,0x9b7)][0x4]!==0x0||_0x21676a['datum_params'][0x5]!==0x0||_0x21676a[_0x2a9cbf(_0x35cb1f._0x38f1cf,0x8a3)][0x6]!==0x0)&&(_0x21676a[_0x2a9cbf(0x1165,_0x35cb1f._0x2f13c9)]=PJD_7PARAM,_0x21676a[_0x7c2f01(_0x35cb1f._0x41604a,0x9b7)][0x3]*=SEC_TO_RAD,_0x21676a['datum_params'][0x4]*=SEC_TO_RAD,_0x21676a['datum_params'][0x5]*=SEC_TO_RAD,_0x21676a[_0x2a9cbf(0xd3f,0x8a3)][0x6]=_0x21676a[_0x7c2f01(0x34,_0x35cb1f._0x2f091e)][0x6]/0xf4240+0x1))),_0x297d07&&(_0x21676a[_0x2a9cbf(0x4ee,_0x35cb1f._0x2f13c9)]=PJD_GRIDSHIFT,_0x21676a[_0x7c2f01(_0x35cb1f._0x2059a4,_0x35cb1f._0x3aecf9)]=_0x297d07),_0x21676a['a']=_0x5b9180,_0x21676a['b']=_0x2f37bb,_0x21676a['es']=_0x369e82,_0x21676a['ep2']=_0x8ac763,_0x21676a;}var loadedNadgrids={};function nadgrid(_0x23332f,_0x9b10a3){var _0x299af3=new DataView(_0x9b10a3),_0x447b82=detectLittleEndian(_0x299af3),_0x2e1975=readHeader(_0x299af3,_0x447b82),_0x38edd5=readSubgrids(_0x299af3,_0x2e1975,_0x447b82);function _0x29a419(_0x114b3b,_0x41cd20){return _0x2b6441(_0x41cd20,_0x114b3b-0x5b0);}const _0x3434fe={};_0x3434fe[_0x29a419(0xdf1,0x50d)]=_0x2e1975,_0x3434fe['subgrids']=_0x38edd5;var _0x34c78b=_0x3434fe;return loadedNadgrids[_0x23332f]=_0x34c78b,_0x34c78b;}function getNadgrids(_0x1897ae){const _0x45ccf8={_0x321af4:0x480};function _0x2bbe00(_0x50f1c4,_0x2541d2){return _0x2b6441(_0x2541d2,_0x50f1c4-_0x45ccf8._0x321af4);}if(_0x1897ae===undefined)return null;var _0x270143=_0x1897ae[_0x2bbe00(0x16a6,0x2067)](',');return _0x270143['map'](parseNadgridString);}function parseNadgridString(_0x32902e){const _0x4a1fb0={_0x3264bc:0x951,_0x5dc85f:0x181d,_0x163097:0x270,_0x1f8a6a:0x1066},_0x147460={_0x45eb0b:0x47};if(_0x32902e['length']===0x0)return null;var _0x12280b=_0x32902e[0x0]==='@';_0x12280b&&(_0x32902e=_0x32902e[_0x5032b8(0x410,0x82f)](0x1));if(_0x32902e==='null'){const _0x1cc7ac={};return _0x1cc7ac[_0x5032b8(_0x4a1fb0._0x3264bc,0x8c7)]='null',_0x1cc7ac[_0x5032b8(_0x4a1fb0._0x5dc85f,0x1457)]=!_0x12280b,_0x1cc7ac['grid']=null,_0x1cc7ac['isNull']=!![],_0x1cc7ac;}const _0x12d578={};_0x12d578[_0x16a15a(0x84c,-_0x4a1fb0._0x163097)]=_0x32902e;function _0x16a15a(_0x6b6d1f,_0x32df92){return _0x306755(_0x32df92,_0x6b6d1f- -_0x147460._0x45eb0b);}_0x12d578['mandatory']=!_0x12280b,_0x12d578[_0x5032b8(-0x24f,0x743)]=loadedNadgrids[_0x32902e]||null,_0x12d578[_0x5032b8(0xda1,_0x4a1fb0._0x1f8a6a)]=![];function _0x5032b8(_0x7ea318,_0x35a247){return _0x306755(_0x7ea318,_0x35a247-0x34);}return _0x12d578;}function secondsToRadians(_0x305e23){return _0x305e23/0xe10*Math['PI']/0xb4;}function detectLittleEndian(_0x234f1c){const _0x6d87e8={_0xc0b462:0xbcf,_0x34885c:0x7ee};var _0x31b096=_0x234f1c['getInt32'](0x8,![]);if(_0x31b096===0xb)return![];function _0x5554d5(_0x2777e1,_0x1abb86){return _0x2b6441(_0x2777e1,_0x1abb86- -0x9a);}return _0x31b096=_0x234f1c['getInt32'](0x8,!![]),_0x31b096!==0xb&&console['warn'](_0x5554d5(_0x6d87e8._0xc0b462,_0x6d87e8._0x34885c)),!![];}function readHeader(_0x12082b,_0x1cf9fa){const _0x566028={_0x525d0d:0x97d,_0x122a7b:0x60a,_0x4e547f:0x993};function _0x1d7a6f(_0x23b525,_0x23915e){return _0x306755(_0x23915e,_0x23b525- -0xc0);}function _0x3c44da(_0x4ea19e,_0x62390d){return _0x2b6441(_0x4ea19e,_0x62390d-0x15b);}return{'nFields':_0x12082b[_0x3c44da(_0x566028._0x525d0d,_0x566028._0x122a7b)](0x8,_0x1cf9fa),'nSubgridFields':_0x12082b['getInt32'](0x18,_0x1cf9fa),'nSubgrids':_0x12082b['getInt32'](0x28,_0x1cf9fa),'shiftType':decodeString(_0x12082b,0x38,0x38+0x8)['trim'](),'fromSemiMajorAxis':_0x12082b[_0x1d7a6f(0x993,0x89e)](0x78,_0x1cf9fa),'fromSemiMinorAxis':_0x12082b[_0x3c44da(0x845,0x60d)](0x88,_0x1cf9fa),'toSemiMajorAxis':_0x12082b[_0x1d7a6f(_0x566028._0x4e547f,0x126b)](0x98,_0x1cf9fa),'toSemiMinorAxis':_0x12082b['getFloat64'](0xa8,_0x1cf9fa)};}function decodeString(_0x1fc5e3,_0x259b68,_0x3c804a){const _0x2f9b5f={_0x1069ef:0x7bf};function _0x209a49(_0x4b62ec,_0x50b6ea){return _0x2b6441(_0x4b62ec,_0x50b6ea-0x15f);}return String[_0x209a49(0x1af,_0x2f9b5f._0x1069ef)]['apply'](null,new Uint8Array(_0x1fc5e3['buffer']['slice'](_0x259b68,_0x3c804a)));}function readSubgrids(_0x4c2fa3,_0x347963,_0x36e99e){const _0x29112e={_0x29df1b:0x405,_0x5b77ed:0xc23,_0xbda314:0x8ab},_0x57af63={_0x37d7be:0x426},_0x5dab38={_0x14a189:0x5b};function _0xff32fa(_0xc997a3,_0x40ec05){return _0x2b6441(_0xc997a3,_0x40ec05- -_0x5dab38._0x14a189);}var _0x452faf=0xb0,_0x2eaf5d=[];for(var _0x298f6f=0x0;_0x298f6f<_0x347963['nSubgrids'];_0x298f6f++){var _0x1ee945=readGridHeader(_0x4c2fa3,_0x452faf,_0x36e99e),_0x987791=readGridNodes(_0x4c2fa3,_0x452faf,_0x1ee945,_0x36e99e),_0x4246ef=Math['round'](0x1+(_0x1ee945[_0x534c58(0x37f,_0x29112e._0x29df1b)]-_0x1ee945['lowerLongitude'])/_0x1ee945['longitudeInterval']),_0x4b68bc=Math['round'](0x1+(_0x1ee945['upperLatitude']-_0x1ee945[_0xff32fa(_0x29112e._0x5b77ed,0x722)])/_0x1ee945['latitudeInterval']);_0x2eaf5d[_0x534c58(0x51e,-0x4c1)]({'ll':[secondsToRadians(_0x1ee945['lowerLongitude']),secondsToRadians(_0x1ee945['lowerLatitude'])],'del':[secondsToRadians(_0x1ee945['longitudeInterval']),secondsToRadians(_0x1ee945[_0xff32fa(_0x29112e._0xbda314,0x7dc)])],'lim':[_0x4246ef,_0x4b68bc],'count':_0x1ee945['gridNodeCount'],'cvs':mapNodes(_0x987791)}),_0x452faf+=0xb0+_0x1ee945['gridNodeCount']*0x10;}function _0x534c58(_0x4f1a87,_0x3bd54e){return _0x2b6441(_0x3bd54e,_0x4f1a87-_0x57af63._0x37d7be);}return _0x2eaf5d;}function mapNodes(_0x57b1c1){return _0x57b1c1['map'](function(_0x2f068c){const _0xb3ce23={_0x264669:0x1ef};function _0x16da3b(_0x575081,_0x4ce029){return _0x5bbe(_0x4ce029-_0xb3ce23._0x264669,_0x575081);}return[secondsToRadians(_0x2f068c[_0x16da3b(0x17c2,0xd6d)]),secondsToRadians(_0x2f068c['latitudeShift'])];});}function readGridHeader(_0x49ea32,_0x1ad181,_0x359933){const _0x4e8451={_0x3bf070:0x7d4,_0x758523:0x266,_0x270d3a:0x9cc,_0x4b0090:0xb1c,_0x5f50da:0x19f,_0x5fca15:0x9d},_0x238fb0={_0x2fc1ea:0x69};function _0x11170d(_0x15b9e6,_0x40e236){return _0x2b6441(_0x40e236,_0x15b9e6-0x51a);}function _0x37aa5c(_0x42d7f2,_0x1e5258){return _0x2b6441(_0x42d7f2,_0x1e5258-_0x238fb0._0x2fc1ea);}return{'name':decodeString(_0x49ea32,_0x1ad181+0x8,_0x1ad181+0x10)[_0x37aa5c(-_0x4e8451._0x3bf070,_0x4e8451._0x758523)](),'parent':decodeString(_0x49ea32,_0x1ad181+0x18,_0x1ad181+0x18+0x8)['trim'](),'lowerLatitude':_0x49ea32['getFloat64'](_0x1ad181+0x48,_0x359933),'upperLatitude':_0x49ea32[_0x37aa5c(-0x15b,0x51b)](_0x1ad181+0x58,_0x359933),'lowerLongitude':_0x49ea32[_0x11170d(_0x4e8451._0x270d3a,_0x4e8451._0x4b0090)](_0x1ad181+0x68,_0x359933),'upperLongitude':_0x49ea32[_0x11170d(0x9cc,0x1243)](_0x1ad181+0x78,_0x359933),'latitudeInterval':_0x49ea32[_0x11170d(0x9cc,_0x4e8451._0x5f50da)](_0x1ad181+0x88,_0x359933),'longitudeInterval':_0x49ea32['getFloat64'](_0x1ad181+0x98,_0x359933),'gridNodeCount':_0x49ea32[_0x11170d(0x9c9,_0x4e8451._0x5fca15)](_0x1ad181+0xa8,_0x359933)};}function readGridNodes(_0x4c939b,_0x4fc234,_0x28f949,_0x2dd525){var _0x257f48=_0x4fc234+0xb0;function _0x15056b(_0x307891,_0x4498db){return _0x2b6441(_0x307891,_0x4498db-0x5fe);}var _0x156574=0x10,_0x3a0ba8=[];for(var _0x5bd3de=0x0;_0x5bd3de<_0x28f949['gridNodeCount'];_0x5bd3de++){var _0x410255={'latitudeShift':_0x4c939b['getFloat32'](_0x257f48+_0x5bd3de*_0x156574,_0x2dd525),'longitudeShift':_0x4c939b['getFloat32'](_0x257f48+_0x5bd3de*_0x156574+0x4,_0x2dd525),'latitudeAccuracy':_0x4c939b[_0x15056b(0xe6c,0x742)](_0x257f48+_0x5bd3de*_0x156574+0x8,_0x2dd525),'longitudeAccuracy':_0x4c939b['getFloat32'](_0x257f48+_0x5bd3de*_0x156574+0xc,_0x2dd525)};_0x3a0ba8['push'](_0x410255);}return _0x3a0ba8;}function Projection(_0x4cac50,_0x1585a2){const _0x349d1d={_0x2ed8b6:0x12e7,_0x5b80d8:0xe3e,_0xeb5355:0xe5f,_0x4cf74b:0x1023,_0x153680:0x164f,_0x3b2de2:0x11d0,_0xb9fd6:0x1097,_0x30dce6:0x23f,_0x41d2fe:0x2a2,_0x10ff9f:0xce8,_0x36fd32:0x904,_0xb5f658:0xbd2},_0x22b74a={_0x1fa22c:0x63};if(!(this instanceof Projection))return new Projection(_0x4cac50);_0x1585a2=_0x1585a2||function(_0x503aeb){if(_0x503aeb)throw _0x503aeb;};var _0x4cd179=parse(_0x4cac50);if(typeof _0x4cd179!=='object'){_0x1585a2(_0x4cac50);return;}var _0x48bbcc=Projection[_0x5f1cba(_0x349d1d._0x2ed8b6,0x1911)][_0x5f1cba(0xb15,0xb7f)](_0x4cd179['projName']);if(!_0x48bbcc){_0x1585a2(_0x4cac50);return;}if(_0x4cd179['datumCode']&&_0x4cd179[_0x5f1cba(_0x349d1d._0x5b80d8,0x478)]!==_0x278c31(0xb74,0x714)){var _0x385a0d=match(exports$1,_0x4cd179['datumCode']);_0x385a0d&&(_0x4cd179[_0x278c31(0xc13,0x605)]=_0x4cd179['datum_params']||(_0x385a0d['towgs84']?_0x385a0d[_0x278c31(_0x349d1d._0xeb5355,_0x349d1d._0x4cf74b)][_0x5f1cba(_0x349d1d._0x153680,0x1550)](','):null),_0x4cd179[_0x5f1cba(_0x349d1d._0x3b2de2,_0x349d1d._0xb9fd6)]=_0x385a0d['ellipse'],_0x4cd179[_0x278c31(_0x349d1d._0x30dce6,_0x349d1d._0x41d2fe)]=_0x385a0d['datumName']?_0x385a0d['datumName']:_0x4cd179['datumCode']);}_0x4cd179['k0']=_0x4cd179['k0']||0x1,_0x4cd179['axis']=_0x4cd179[_0x5f1cba(0x1253,0xbb4)]||'enu',_0x4cd179['ellps']=_0x4cd179['ellps']||'wgs84',_0x4cd179['lat1']=_0x4cd179[_0x278c31(0xfab,0xad5)]||_0x4cd179['lat0'];function _0x5f1cba(_0xf783c4,_0x29e7b0){return _0x2b6441(_0x29e7b0,_0xf783c4-0x429);}var _0x4bfb2b=sphere(_0x4cd179['a'],_0x4cd179['b'],_0x4cd179['rf'],_0x4cd179[_0x278c31(_0x349d1d._0x10ff9f,0xe0a)],_0x4cd179['sphere']),_0x2b9783=eccentricity(_0x4bfb2b['a'],_0x4bfb2b['b'],_0x4bfb2b['rf'],_0x4cd179[_0x5f1cba(0x13bd,0xc44)]),_0x2be0da=getNadgrids(_0x4cd179['nadgrids']),_0x26a3ea=_0x4cd179['datum']||datum(_0x4cd179['datumCode'],_0x4cd179['datum_params'],_0x4bfb2b['a'],_0x4bfb2b['b'],_0x2b9783['es'],_0x2b9783['ep2'],_0x2be0da);extend(this,_0x4cd179),extend(this,_0x48bbcc),this['a']=_0x4bfb2b['a'],this['b']=_0x4bfb2b['b'],this['rf']=_0x4bfb2b['rf'],this[_0x278c31(0x567,0x450)]=_0x4bfb2b[_0x278c31(_0x349d1d._0x36fd32,0x450)],this['es']=_0x2b9783['es'],this['e']=_0x2b9783['e'],this[_0x5f1cba(0x87b,0x299)]=_0x2b9783[_0x278c31(_0x349d1d._0xb5f658,0x4b5)],this['datum']=_0x26a3ea;function _0x278c31(_0x914d24,_0x41eafe){return _0x2b6441(_0x914d24,_0x41eafe-_0x22b74a._0x1fa22c);}this['init'](),_0x1585a2(null,this);}Projection['projections']=projections,Projection[_0x306755(0x1163,0x145f)]['start']();function compareDatums(_0x2d6900,_0x24315b){const _0x1515e0={_0x16799a:0x101a,_0x3ee0f6:0x7c2,_0x4c9006:0xb0,_0x313aa7:0x690,_0x547e21:0x690,_0x200287:0xaed,_0x5bcca1:0x690,_0x6a28f0:0x877};function _0x578a63(_0x400103,_0x5a8362){return _0x2b6441(_0x5a8362,_0x400103-0x2d5);}function _0x1fd426(_0x473ed5,_0x389082){return _0x2b6441(_0x473ed5,_0x389082-0xee);}if(_0x2d6900[_0x1fd426(_0x1515e0._0x16799a,0x7c2)]!==_0x24315b['datum_type'])return![];else{if(_0x2d6900['a']!==_0x24315b['a']||Math[_0x1fd426(0x1719,0xfae)](_0x2d6900['es']-_0x24315b['es'])>5e-11)return![];else{if(_0x2d6900[_0x1fd426(0x66a,0x7c2)]===PJD_3PARAM)return _0x2d6900['datum_params'][0x0]===_0x24315b['datum_params'][0x0]&&_0x2d6900['datum_params'][0x1]===_0x24315b['datum_params'][0x1]&&_0x2d6900['datum_params'][0x2]===_0x24315b['datum_params'][0x2];else return _0x2d6900[_0x1fd426(0x572,_0x1515e0._0x3ee0f6)]===PJD_7PARAM?_0x2d6900[_0x1fd426(_0x1515e0._0x4c9006,_0x1515e0._0x313aa7)][0x0]===_0x24315b['datum_params'][0x0]&&_0x2d6900['datum_params'][0x1]===_0x24315b['datum_params'][0x1]&&_0x2d6900['datum_params'][0x2]===_0x24315b['datum_params'][0x2]&&_0x2d6900['datum_params'][0x3]===_0x24315b[_0x1fd426(-0x2ea,_0x1515e0._0x547e21)][0x3]&&_0x2d6900[_0x1fd426(_0x1515e0._0x200287,_0x1515e0._0x5bcca1)][0x4]===_0x24315b['datum_params'][0x4]&&_0x2d6900['datum_params'][0x5]===_0x24315b['datum_params'][0x5]&&_0x2d6900['datum_params'][0x6]===_0x24315b[_0x578a63(_0x1515e0._0x6a28f0,0x107b)][0x6]:!![];}}}function geodeticToGeocentric(_0x379cab,_0x2baa88,_0x1d0bd4){var _0x4c9e3c=_0x379cab['x'],_0x49fb61=_0x379cab['y'],_0x3790e7=_0x379cab['z']?_0x379cab['z']:0x0,_0x5f4a44,_0x2e1f3b,_0x476212,_0x2240cf;if(_0x49fb61<-HALF_PI&&_0x49fb61>-1.001*HALF_PI)_0x49fb61=-HALF_PI;else{if(_0x49fb61>HALF_PI&&_0x49fb61<1.001*HALF_PI)_0x49fb61=HALF_PI;else{if(_0x49fb61<-HALF_PI){const _0x1dbfe2={};return _0x1dbfe2['x']=-Infinity,_0x1dbfe2['y']=-Infinity,_0x1dbfe2['z']=_0x379cab['z'],_0x1dbfe2;}else{if(_0x49fb61>HALF_PI){const _0x12234f={};return _0x12234f['x']=Infinity,_0x12234f['y']=Infinity,_0x12234f['z']=_0x379cab['z'],_0x12234f;}}}}return _0x4c9e3c>Math['PI']&&(_0x4c9e3c-=0x2*Math['PI']),_0x2e1f3b=Math['sin'](_0x49fb61),_0x2240cf=Math['cos'](_0x49fb61),_0x476212=_0x2e1f3b*_0x2e1f3b,_0x5f4a44=_0x1d0bd4/Math['sqrt'](0x1-_0x2baa88*_0x476212),{'x':(_0x5f4a44+_0x3790e7)*_0x2240cf*Math['cos'](_0x4c9e3c),'y':(_0x5f4a44+_0x3790e7)*_0x2240cf*Math['sin'](_0x4c9e3c),'z':(_0x5f4a44*(0x1-_0x2baa88)+_0x3790e7)*_0x2e1f3b};}function geocentricToGeodetic(_0x13bd19,_0x42fbeb,_0x4c595d,_0x8502df){const _0x25bcd6={_0x4b9013:0x113a,_0x19657d:0x1afe,_0x44e95a:0x56e,_0x263667:0xe82,_0x3be340:0x1380},_0x2366d8={_0x5c6222:0x1bf};var _0x5d29e8=1e-12,_0x1218bf=_0x5d29e8*_0x5d29e8,_0x5a7dce=0x1e,_0x5b109a,_0x2d2c9c,_0x8adabb,_0xdbb646,_0x278993,_0x395f6b,_0x421509,_0x8e2ebc,_0x3f9db9,_0x570c6f,_0x493f56,_0x567bd3,_0x22d57c,_0x3ef3ac=_0x13bd19['x'],_0x56c9f4=_0x13bd19['y'],_0x5177df=_0x13bd19['z']?_0x13bd19['z']:0x0,_0x3ef08f,_0x54697e,_0x545467;_0x5b109a=Math[_0x1b023f(_0x25bcd6._0x4b9013,_0x25bcd6._0x19657d)](_0x3ef3ac*_0x3ef3ac+_0x56c9f4*_0x56c9f4),_0x2d2c9c=Math[_0x1b023f(0x113a,0xc1a)](_0x3ef3ac*_0x3ef3ac+_0x56c9f4*_0x56c9f4+_0x5177df*_0x5177df);if(_0x5b109a/_0x4c595d<_0x5d29e8){_0x3ef08f=0x0;if(_0x2d2c9c/_0x4c595d<_0x5d29e8){_0x54697e=HALF_PI,_0x545467=-_0x8502df;const _0x379c9c={};return _0x379c9c['x']=_0x13bd19['x'],_0x379c9c['y']=_0x13bd19['y'],_0x379c9c['z']=_0x13bd19['z'],_0x379c9c;}}else _0x3ef08f=Math[_0x1b023f(_0x25bcd6._0x44e95a,_0x25bcd6._0x263667)](_0x56c9f4,_0x3ef3ac);function _0x416776(_0x4add23,_0x3deff2){return _0x306755(_0x3deff2,_0x4add23- -_0x2366d8._0x5c6222);}_0x8adabb=_0x5177df/_0x2d2c9c,_0xdbb646=_0x5b109a/_0x2d2c9c,_0x278993=0x1/Math[_0x416776(_0x25bcd6._0x3be340,0x10c6)](0x1-_0x42fbeb*(0x2-_0x42fbeb)*_0xdbb646*_0xdbb646),_0x8e2ebc=_0xdbb646*(0x1-_0x42fbeb)*_0x278993,_0x3f9db9=_0x8adabb*_0x278993,_0x22d57c=0x0;do{_0x22d57c++,_0x421509=_0x4c595d/Math['sqrt'](0x1-_0x42fbeb*_0x3f9db9*_0x3f9db9),_0x545467=_0x5b109a*_0x8e2ebc+_0x5177df*_0x3f9db9-_0x421509*(0x1-_0x42fbeb*_0x3f9db9*_0x3f9db9),_0x395f6b=_0x42fbeb*_0x421509/(_0x421509+_0x545467),_0x278993=0x1/Math[_0x1b023f(0x113a,0x141a)](0x1-_0x395f6b*(0x2-_0x395f6b)*_0xdbb646*_0xdbb646),_0x570c6f=_0xdbb646*(0x1-_0x395f6b)*_0x278993,_0x493f56=_0x8adabb*_0x278993,_0x567bd3=_0x493f56*_0x8e2ebc-_0x570c6f*_0x3f9db9,_0x8e2ebc=_0x570c6f,_0x3f9db9=_0x493f56;}while(_0x567bd3*_0x567bd3>_0x1218bf&&_0x22d57c<_0x5a7dce);_0x54697e=Math['atan'](_0x493f56/Math['abs'](_0x570c6f));const _0x580ac3={};_0x580ac3['x']=_0x3ef08f,_0x580ac3['y']=_0x54697e;function _0x1b023f(_0x27a4e8,_0x4bcb7b){return _0x2b6441(_0x4bcb7b,_0x27a4e8-0x19c);}return _0x580ac3['z']=_0x545467,_0x580ac3;}function geocentricToWgs84(_0x5ba777,_0x210d52,_0x2c9947){if(_0x210d52===PJD_3PARAM){const _0x92be9c={};return _0x92be9c['x']=_0x5ba777['x']+_0x2c9947[0x0],_0x92be9c['y']=_0x5ba777['y']+_0x2c9947[0x1],_0x92be9c['z']=_0x5ba777['z']+_0x2c9947[0x2],_0x92be9c;}else{if(_0x210d52===PJD_7PARAM){var _0x10f681=_0x2c9947[0x0],_0x358b33=_0x2c9947[0x1],_0x43e0b2=_0x2c9947[0x2],_0x3909e7=_0x2c9947[0x3],_0x478a09=_0x2c9947[0x4],_0x4a19f8=_0x2c9947[0x5],_0x2eee28=_0x2c9947[0x6];const _0x461dc2={};return _0x461dc2['x']=_0x2eee28*(_0x5ba777['x']-_0x4a19f8*_0x5ba777['y']+_0x478a09*_0x5ba777['z'])+_0x10f681,_0x461dc2['y']=_0x2eee28*(_0x4a19f8*_0x5ba777['x']+_0x5ba777['y']-_0x3909e7*_0x5ba777['z'])+_0x358b33,_0x461dc2['z']=_0x2eee28*(-_0x478a09*_0x5ba777['x']+_0x3909e7*_0x5ba777['y']+_0x5ba777['z'])+_0x43e0b2,_0x461dc2;}}}function geocentricFromWgs84(_0x3a63a2,_0x52e82f,_0x100c88){if(_0x52e82f===PJD_3PARAM){const _0x466494={};return _0x466494['x']=_0x3a63a2['x']-_0x100c88[0x0],_0x466494['y']=_0x3a63a2['y']-_0x100c88[0x1],_0x466494['z']=_0x3a63a2['z']-_0x100c88[0x2],_0x466494;}else{if(_0x52e82f===PJD_7PARAM){var _0x385f1b=_0x100c88[0x0],_0x32f162=_0x100c88[0x1],_0x5b6d32=_0x100c88[0x2],_0x3f2503=_0x100c88[0x3],_0x58192e=_0x100c88[0x4],_0x4a0bc5=_0x100c88[0x5],_0x3a965e=_0x100c88[0x6],_0x46cdc6=(_0x3a63a2['x']-_0x385f1b)/_0x3a965e,_0x1eb0d1=(_0x3a63a2['y']-_0x32f162)/_0x3a965e,_0x283e6c=(_0x3a63a2['z']-_0x5b6d32)/_0x3a965e;const _0x377ddb={};return _0x377ddb['x']=_0x46cdc6+_0x4a0bc5*_0x1eb0d1-_0x58192e*_0x283e6c,_0x377ddb['y']=-_0x4a0bc5*_0x46cdc6+_0x1eb0d1+_0x3f2503*_0x283e6c,_0x377ddb['z']=_0x58192e*_0x46cdc6-_0x3f2503*_0x1eb0d1+_0x283e6c,_0x377ddb;}}}function checkParams(_0x22ef33){return _0x22ef33===PJD_3PARAM||_0x22ef33===PJD_7PARAM;}function datum_transform(_0x58acbb,_0x37fc14,_0x10f712){const _0x247b5c={_0x19faae:0xca4,_0x512739:0x2d5,_0x54691d:0x12ca},_0x1222ab={_0x373dec:0x5d0};if(compareDatums(_0x58acbb,_0x37fc14))return _0x10f712;function _0x1e2e15(_0x17bc39,_0x2cafc6){return _0x2b6441(_0x17bc39,_0x2cafc6-0x6b6);}function _0xea9ea2(_0x55deca,_0x46b21c){return _0x2b6441(_0x46b21c,_0x55deca-_0x1222ab._0x373dec);}if(_0x58acbb['datum_type']===PJD_NODATUM||_0x37fc14['datum_type']===PJD_NODATUM)return _0x10f712;var _0x1c60c4=_0x58acbb['a'],_0x77c988=_0x58acbb['es'];if(_0x58acbb[_0xea9ea2(_0x247b5c._0x19faae,0xdd5)]===PJD_GRIDSHIFT){var _0x55d240=applyGridShift(_0x58acbb,![],_0x10f712);if(_0x55d240!==0x0)return undefined;_0x1c60c4=SRS_WGS84_SEMIMAJOR,_0x77c988=SRS_WGS84_ESQUARED;}var _0x85c75b=_0x37fc14['a'],_0x2d6108=_0x37fc14['b'],_0x107c34=_0x37fc14['es'];_0x37fc14['datum_type']===PJD_GRIDSHIFT&&(_0x85c75b=SRS_WGS84_SEMIMAJOR,_0x2d6108=SRS_WGS84_SEMIMINOR,_0x107c34=SRS_WGS84_ESQUARED);if(_0x77c988===_0x107c34&&_0x1c60c4===_0x85c75b&&!checkParams(_0x58acbb[_0xea9ea2(_0x247b5c._0x19faae,_0x247b5c._0x512739)])&&!checkParams(_0x37fc14['datum_type']))return _0x10f712;_0x10f712=geodeticToGeocentric(_0x10f712,_0x77c988,_0x1c60c4);checkParams(_0x58acbb['datum_type'])&&(_0x10f712=geocentricToWgs84(_0x10f712,_0x58acbb['datum_type'],_0x58acbb['datum_params']));checkParams(_0x37fc14['datum_type'])&&(_0x10f712=geocentricFromWgs84(_0x10f712,_0x37fc14['datum_type'],_0x37fc14[_0xea9ea2(0xb72,_0x247b5c._0x54691d)]));_0x10f712=geocentricToGeodetic(_0x10f712,_0x107c34,_0x85c75b,_0x2d6108);if(_0x37fc14['datum_type']===PJD_GRIDSHIFT){var _0x2220ef=applyGridShift(_0x37fc14,!![],_0x10f712);if(_0x2220ef!==0x0)return undefined;}return _0x10f712;}function applyGridShift(_0x36275b,_0x71debc,_0x24a78c){const _0x1aa0df={_0x1d4a66:0x151f,_0xb45ce0:0x9f9,_0x7058e5:0x624,_0x2da252:0x6c8,_0x963ffe:0x4a0,_0x3f7a59:0x281};if(_0x36275b['grids']===null||_0x36275b[_0x361b91(_0x1aa0df._0x1d4a66,0xb41)]['length']===0x0)return console[_0x361b91(0x299,_0x1aa0df._0xb45ce0)]('Grid\x20shift\x20grids\x20not\x20found'),-0x1;function _0x361b91(_0xd5d090,_0x18c7d3){return _0x2b6441(_0x18c7d3,_0xd5d090-0x3d6);}const _0x11712e={};_0x11712e['x']=-_0x24a78c['x'],_0x11712e['y']=_0x24a78c['y'];function _0x337840(_0x56c085,_0x4e1f62){return _0x2b6441(_0x4e1f62,_0x56c085-0x332);}var _0x1300d6=_0x11712e;const _0x361611={};_0x361611['x']=Number['NaN'],_0x361611['y']=Number[_0x337840(0x821,0x8e9)];var _0x1cf075=_0x361611,_0x34c8df=[];_0x1fb24c:for(var _0x45de8d=0x0;_0x45de8d<_0x36275b['grids']['length'];_0x45de8d++){var _0x3f9f3f=_0x36275b['grids'][_0x45de8d];_0x34c8df['push'](_0x3f9f3f[_0x337840(_0x1aa0df._0x7058e5,0x6b9)]);if(_0x3f9f3f['isNull']){_0x1cf075=_0x1300d6;break;}_0x3f9f3f['mandatory'];if(_0x3f9f3f['grid']===null){if(_0x3f9f3f['mandatory'])return console['log'](_0x337840(0x1693,0xf32)+_0x3f9f3f[_0x361b91(_0x1aa0df._0x2da252,0x61e)]+'\x27'),-0x1;continue;}var _0x2aea6f=_0x3f9f3f[_0x337840(_0x1aa0df._0x963ffe,0x5f)]['subgrids'];for(var _0x3a4256=0x0,_0x51b1e4=_0x2aea6f['length'];_0x3a4256<_0x51b1e4;_0x3a4256++){var _0x1799ff=_0x2aea6f[_0x3a4256],_0x235dff=(Math['abs'](_0x1799ff['del'][0x1])+Math['abs'](_0x1799ff['del'][0x0]))/0x2710,_0x2883d2=_0x1799ff['ll'][0x0]-_0x235dff,_0x4b372e=_0x1799ff['ll'][0x1]-_0x235dff,_0x137331=_0x1799ff['ll'][0x0]+(_0x1799ff['lim'][0x0]-0x1)*_0x1799ff['del'][0x0]+_0x235dff,_0x3e97d0=_0x1799ff['ll'][0x1]+(_0x1799ff[_0x361b91(0x510,-0x162)][0x1]-0x1)*_0x1799ff[_0x337840(0x14ac,0xe76)][0x1]+_0x235dff;if(_0x4b372e>_0x1300d6['y']||_0x2883d2>_0x1300d6['x']||_0x3e97d0<_0x1300d6['y']||_0x137331<_0x1300d6['x'])continue;_0x1cf075=applySubgridShift(_0x1300d6,_0x71debc,_0x1799ff);if(!isNaN(_0x1cf075['x']))break _0x1fb24c;}}if(isNaN(_0x1cf075['x']))return console[_0x361b91(0x299,-0x7ce)]('Failed\x20to\x20find\x20a\x20grid\x20shift\x20table\x20for\x20location\x20\x27'+-_0x1300d6['x']*R2D+'\x20'+_0x1300d6['y']*R2D+_0x361b91(0x8e7,_0x1aa0df._0x3f7a59)+_0x34c8df+'\x27'),-0x1;return _0x24a78c['x']=-_0x1cf075['x'],_0x24a78c['y']=_0x1cf075['y'],0x0;}function applySubgridShift(_0x1a64df,_0x3decc6,_0x59d3d3){const _0x52bea0={_0x1680c7:0x4ee,_0x2dfea8:0x37e},_0x483ade={_0x1cc3f3:0x65a},_0x4bce10={_0x1e476a:0x33b},_0x5c63a7={};_0x5c63a7['x']=Number['NaN'],_0x5c63a7['y']=Number[_0x189344(0x236,0x755)];function _0x189344(_0x4940a8,_0x573db3){return _0x306755(_0x4940a8,_0x573db3- -_0x4bce10._0x1e476a);}var _0x11d935=_0x5c63a7;if(isNaN(_0x1a64df['x']))return _0x11d935;const _0xd493a0={};_0xd493a0['x']=_0x1a64df['x'];function _0x1a82cd(_0x9b5f8b,_0x10fdce){return _0x306755(_0x9b5f8b,_0x10fdce- -_0x483ade._0x1cc3f3);}_0xd493a0['y']=_0x1a64df['y'];var _0x43cde4=_0xd493a0;_0x43cde4['x']-=_0x59d3d3['ll'][0x0],_0x43cde4['y']-=_0x59d3d3['ll'][0x1],_0x43cde4['x']=adjust_lon(_0x43cde4['x']-Math['PI'])+Math['PI'];var _0x195299=nadInterpolate(_0x43cde4,_0x59d3d3);if(_0x3decc6){if(isNaN(_0x195299['x']))return _0x11d935;_0x195299['x']=_0x43cde4['x']-_0x195299['x'],_0x195299['y']=_0x43cde4['y']-_0x195299['y'];var _0x32a6de=0x9,_0x2582c1=1e-12,_0x2b1d35,_0x30c47e;do{_0x30c47e=nadInterpolate(_0x195299,_0x59d3d3);if(isNaN(_0x30c47e['x'])){console['log'](_0x1a82cd(0x56c,_0x52bea0._0x1680c7));break;}const _0x325c29={};_0x325c29['x']=_0x43cde4['x']-(_0x30c47e['x']+_0x195299['x']),_0x325c29['y']=_0x43cde4['y']-(_0x30c47e['y']+_0x195299['y']),_0x2b1d35=_0x325c29,_0x195299['x']+=_0x2b1d35['x'],_0x195299['y']+=_0x2b1d35['y'];}while(_0x32a6de--&&Math[_0x189344(0x1281,0x1126)](_0x2b1d35['x'])>_0x2582c1&&Math['abs'](_0x2b1d35['y'])>_0x2582c1);if(_0x32a6de<0x0)return console[_0x1a82cd(-0x729,-0x1f6)](_0x189344(_0x52bea0._0x2dfea8,0x98b)),_0x11d935;_0x11d935['x']=adjust_lon(_0x195299['x']+_0x59d3d3['ll'][0x0]),_0x11d935['y']=_0x195299['y']+_0x59d3d3['ll'][0x1];}else!isNaN(_0x195299['x'])&&(_0x11d935['x']=_0x1a64df['x']+_0x195299['x'],_0x11d935['y']=_0x1a64df['y']+_0x195299['y']);return _0x11d935;}function nadInterpolate(_0x592376,_0x154a33){const _0x4826e1={_0x1b8a93:0x1379,_0x2ce42c:0x6ee,_0xf27a0f:0x4cd,_0x33b461:0xa59,_0x32ad77:0x1de},_0x2f7b24={};_0x2f7b24['x']=_0x592376['x']/_0x154a33['del'][0x0],_0x2f7b24['y']=_0x592376['y']/_0x154a33[_0x745489(0xf06,_0x4826e1._0x1b8a93)][0x1];var _0x1ddead=_0x2f7b24,_0x3a28e9={'x':Math['floor'](_0x1ddead['x']),'y':Math['floor'](_0x1ddead['y'])};const _0x48fb21={};function _0x2cdd95(_0x4ca500,_0x23df33){return _0x306755(_0x4ca500,_0x23df33- -0x4fd);}_0x48fb21['x']=_0x1ddead['x']-0x1*_0x3a28e9['x'],_0x48fb21['y']=_0x1ddead['y']-0x1*_0x3a28e9['y'];var _0x592527=_0x48fb21;const _0x3d017b={};_0x3d017b['x']=Number['NaN'],_0x3d017b['y']=Number[_0x745489(-0x26a,_0x4826e1._0x2ce42c)];var _0x3e9ff7=_0x3d017b,_0x477034;if(_0x3a28e9['x']<0x0||_0x3a28e9['x']>=_0x154a33['lim'][0x0])return _0x3e9ff7;if(_0x3a28e9['y']<0x0||_0x3a28e9['y']>=_0x154a33['lim'][0x1])return _0x3e9ff7;_0x477034=_0x3a28e9['y']*_0x154a33[_0x2cdd95(_0x4826e1._0xf27a0f,0x1de)][0x0]+_0x3a28e9['x'];function _0x745489(_0x29facb,_0x45c1c0){return _0x306755(_0x29facb,_0x45c1c0- -0x3a2);}const _0x48782d={};_0x48782d['x']=_0x154a33['cvs'][_0x477034][0x0],_0x48782d['y']=_0x154a33['cvs'][_0x477034][0x1];var _0x28d2cc=_0x48782d;_0x477034++;const _0x5c1b14={};_0x5c1b14['x']=_0x154a33[_0x745489(0x692,0x369)][_0x477034][0x0],_0x5c1b14['y']=_0x154a33['cvs'][_0x477034][0x1];var _0x59f323=_0x5c1b14;_0x477034+=_0x154a33[_0x2cdd95(_0x4826e1._0x33b461,_0x4826e1._0x32ad77)][0x0];const _0x4defc6={};_0x4defc6['x']=_0x154a33['cvs'][_0x477034][0x0],_0x4defc6['y']=_0x154a33['cvs'][_0x477034][0x1];var _0x454579=_0x4defc6;_0x477034--;const _0x170b1d={};_0x170b1d['x']=_0x154a33[_0x2cdd95(0x517,0x20e)][_0x477034][0x0],_0x170b1d['y']=_0x154a33['cvs'][_0x477034][0x1];var _0x178a03=_0x170b1d,_0x224a35=_0x592527['x']*_0x592527['y'],_0x2d2942=_0x592527['x']*(0x1-_0x592527['y']),_0x3cd123=(0x1-_0x592527['x'])*(0x1-_0x592527['y']),_0x2aa67b=(0x1-_0x592527['x'])*_0x592527['y'];return _0x3e9ff7['x']=_0x3cd123*_0x28d2cc['x']+_0x2d2942*_0x59f323['x']+_0x2aa67b*_0x178a03['x']+_0x224a35*_0x454579['x'],_0x3e9ff7['y']=_0x3cd123*_0x28d2cc['y']+_0x2d2942*_0x59f323['y']+_0x2aa67b*_0x178a03['y']+_0x224a35*_0x454579['y'],_0x3e9ff7;}function adjust_axis(_0x13f505,_0x5d2106,_0x1e5dd3){const _0x34a486={_0x469a21:0x6e5},_0x353163={_0x2d90ee:0x2b7};var _0xe3a9a1=_0x1e5dd3['x'],_0x31d66d=_0x1e5dd3['y'],_0x111e2e=_0x1e5dd3['z']||0x0,_0x1aca1a,_0x12492c,_0x472ee7,_0x32826e={};for(_0x472ee7=0x0;_0x472ee7<0x3;_0x472ee7++){if(_0x5d2106&&_0x472ee7===0x2&&_0x1e5dd3['z']===undefined)continue;if(_0x472ee7===0x0)_0x1aca1a=_0xe3a9a1,'ew'['indexOf'](_0x13f505['axis'][_0x472ee7])!==-0x1?_0x12492c='x':_0x12492c='y';else _0x472ee7===0x1?(_0x1aca1a=_0x31d66d,'ns'[_0x1947ea(-_0x34a486._0x469a21,0x1f0)](_0x13f505['axis'][_0x472ee7])!==-0x1?_0x12492c='y':_0x12492c='x'):(_0x1aca1a=_0x111e2e,_0x12492c='z');switch(_0x13f505['axis'][_0x472ee7]){case'e':_0x32826e[_0x12492c]=_0x1aca1a;break;case'w':_0x32826e[_0x12492c]=-_0x1aca1a;break;case'n':_0x32826e[_0x12492c]=_0x1aca1a;break;case's':_0x32826e[_0x12492c]=-_0x1aca1a;break;case'u':_0x1e5dd3[_0x12492c]!==undefined&&(_0x32826e['z']=_0x1aca1a);break;case'd':_0x1e5dd3[_0x12492c]!==undefined&&(_0x32826e['z']=-_0x1aca1a);break;default:return null;}}function _0x1947ea(_0x2f9466,_0x21e493){return _0x2b6441(_0x2f9466,_0x21e493-_0x353163._0x2d90ee);}return _0x32826e;}function common(_0x5b738){const _0x4ace4a={_0x534bd4:0x1543},_0x1ac498={};_0x1ac498['x']=_0x5b738[0x0],_0x1ac498['y']=_0x5b738[0x1];var _0x4b05e8=_0x1ac498;function _0x3a20d6(_0x17c251,_0x4cd6ef){return _0x306755(_0x4cd6ef,_0x17c251- -0xb8);}return _0x5b738['length']>0x2&&(_0x4b05e8['z']=_0x5b738[0x2]),_0x5b738[_0x3a20d6(_0x4ace4a._0x534bd4,0x1c41)]>0x3&&(_0x4b05e8['m']=_0x5b738[0x3]),_0x4b05e8;}function checkSanity(_0x31ac6c){checkCoord(_0x31ac6c['x']),checkCoord(_0x31ac6c['y']);}function checkCoord(_0x3bcd3a){const _0x19759f={_0x16a55b:0x81f,_0x45b7ae:0x11e2};function _0x3ecb75(_0x328153,_0x5e78f8){return _0x306755(_0x5e78f8,_0x328153- -0x463);}if(typeof Number[_0x3ecb75(_0x19759f._0x16a55b,0x1258)]==='function'){if(Number['isFinite'](_0x3bcd3a))return;throw new TypeError(_0x3ecb75(0x11e2,0xc94));}function _0x3b8e7a(_0x4551b1,_0x2df9bf){return _0x306755(_0x2df9bf,_0x4551b1- -0x5cd);}if(typeof _0x3bcd3a!=='number'||_0x3bcd3a!==_0x3bcd3a||!isFinite(_0x3bcd3a))throw new TypeError(_0x3ecb75(_0x19759f._0x45b7ae,0xfbd));}function checkNotWGS(_0x5d1e47,_0x5a289f){const _0x30f710={_0x1aa653:0x6b2,_0xdeb1ef:0x1479,_0x356b6b:0xfc4,_0x33d110:0xa9b,_0x5dc87a:0x9b3,_0x3e579b:0xfc4};function _0x41b49c(_0x33fad6,_0x1c7b54){return _0x2b6441(_0x33fad6,_0x1c7b54-0x4ae);}function _0xa97a9a(_0x2d1a53,_0x4784af){return _0x306755(_0x2d1a53,_0x4784af- -0x4dc);}return(_0x5d1e47['datum'][_0x41b49c(0xe2,0xb82)]===PJD_3PARAM||_0x5d1e47[_0xa97a9a(0x103c,_0x30f710._0x1aa653)]['datum_type']===PJD_7PARAM||_0x5d1e47['datum']['datum_type']===PJD_GRIDSHIFT)&&_0x5a289f[_0xa97a9a(0xc50,0xada)]!==_0x41b49c(_0x30f710._0xdeb1ef,_0x30f710._0x356b6b)||(_0x5a289f[_0x41b49c(0x683,_0x30f710._0x33d110)]['datum_type']===PJD_3PARAM||_0x5a289f['datum']['datum_type']===PJD_7PARAM||_0x5a289f[_0xa97a9a(-0x106,0x6b2)]['datum_type']===PJD_GRIDSHIFT)&&_0x5d1e47['datumCode']!==_0x41b49c(_0x30f710._0x5dc87a,_0x30f710._0x3e579b);}function transform(_0x349ba1,_0x386d71,_0x4c9ac4,_0x49d449){const _0x275004={_0x1ab262:0x2a8,_0x36a0b9:0x391,_0x34d0a9:0xec5,_0x2de3dc:0x7f4,_0x36ea9a:0x80,_0x505fd8:0x4f2,_0x274a32:0x602,_0x470f:0xcf9,_0x3fb1d0:0x1380,_0x38d1c6:0xe3f};var _0x53fe55;Array[_0x595d97(0x679,_0x275004._0x1ab262)](_0x4c9ac4)?_0x4c9ac4=common(_0x4c9ac4):_0x4c9ac4={'x':_0x4c9ac4['x'],'y':_0x4c9ac4['y'],'z':_0x4c9ac4['z'],'m':_0x4c9ac4['m']};var _0x263820=_0x4c9ac4['z']!==undefined;checkSanity(_0x4c9ac4);_0x349ba1[_0x595d97(-_0x275004._0x36a0b9,0x602)]&&_0x386d71['datum']&&checkNotWGS(_0x349ba1,_0x386d71)&&(_0x53fe55=new Projection('WGS84'),_0x4c9ac4=transform(_0x349ba1,_0x53fe55,_0x4c9ac4,_0x49d449),_0x349ba1=_0x53fe55);_0x49d449&&_0x349ba1[_0x4b6e9b(_0x275004._0x34d0a9,_0x275004._0x2de3dc)]!=='enu'&&(_0x4c9ac4=adjust_axis(_0x349ba1,![],_0x4c9ac4));if(_0x349ba1[_0x4b6e9b(_0x275004._0x36ea9a,-_0x275004._0x505fd8)]==='longlat')_0x4c9ac4={'x':_0x4c9ac4['x']*D2R$1,'y':_0x4c9ac4['y']*D2R$1,'z':_0x4c9ac4['z']||0x0};else{_0x349ba1[_0x4b6e9b(0x343,-0x6f0)]&&(_0x4c9ac4={'x':_0x4c9ac4['x']*_0x349ba1['to_meter'],'y':_0x4c9ac4['y']*_0x349ba1['to_meter'],'z':_0x4c9ac4['z']||0x0});_0x4c9ac4=_0x349ba1['inverse'](_0x4c9ac4);if(!_0x4c9ac4)return;}function _0x4b6e9b(_0x36e092,_0x768b99){return _0x2b6441(_0x768b99,_0x36e092-0x9b);}_0x349ba1['from_greenwich']&&(_0x4c9ac4['x']+=_0x349ba1['from_greenwich']);function _0x595d97(_0x5a816b,_0x2f3fa8){return _0x2b6441(_0x5a816b,_0x2f3fa8-0x15);}_0x4c9ac4=datum_transform(_0x349ba1['datum'],_0x386d71[_0x595d97(0x328,_0x275004._0x274a32)],_0x4c9ac4);if(!_0x4c9ac4)return;_0x386d71['from_greenwich']&&(_0x4c9ac4={'x':_0x4c9ac4['x']-_0x386d71['from_greenwich'],'y':_0x4c9ac4['y'],'z':_0x4c9ac4['z']||0x0});_0x386d71[_0x595d97(0x628,-0x6)]===_0x4b6e9b(0x13af,0xb24)?_0x4c9ac4={'x':_0x4c9ac4['x']*R2D,'y':_0x4c9ac4['y']*R2D,'z':_0x4c9ac4['z']||0x0}:(_0x4c9ac4=_0x386d71['forward'](_0x4c9ac4),_0x386d71['to_meter']&&(_0x4c9ac4={'x':_0x4c9ac4['x']/_0x386d71[_0x4b6e9b(0x343,_0x275004._0x470f)],'y':_0x4c9ac4['y']/_0x386d71['to_meter'],'z':_0x4c9ac4['z']||0x0}));if(_0x49d449&&_0x386d71[_0x595d97(_0x275004._0x3fb1d0,_0x275004._0x38d1c6)]!=='enu')return adjust_axis(_0x386d71,!![],_0x4c9ac4);return _0x4c9ac4&&!_0x263820&&delete _0x4c9ac4['z'],_0x4c9ac4;}var wgs84=Projection(_0x306755(0x79d,0x10b7));function transformer(_0x211b8a,_0x505438,_0x2cceab,_0x341f3a){const _0x437363={_0x5ac4e3:0x440,_0x5c8f7a:0xb73,_0x524919:0x3c3,_0x1b0dc2:0x13a1,_0x1a3aaf:0xb7,_0x3ffeb7:0x689,_0x5dc38b:0x84c},_0x2b7845={_0x22b918:0x137b,_0x5e10b0:0x1adb,_0x12021c:0x242d},_0x44a358={_0x380f97:0x5ad};function _0x4931b3(_0x1e0910,_0x388f7c){return _0x2b6441(_0x388f7c,_0x1e0910-0xd1);}function _0x22c596(_0x549434,_0x43a3a3){return _0x306755(_0x43a3a3,_0x549434- -0x3f4);}var _0x5046cc,_0xad8b65,_0x959272;if(Array[_0x22c596(_0x437363._0x5ac4e3,0x614)](_0x2cceab)){const _0x4e4934={};return _0x4e4934['x']=NaN,_0x4e4934['y']=NaN,_0x5046cc=transform(_0x211b8a,_0x505438,_0x2cceab,_0x341f3a)||_0x4e4934,_0x2cceab['length']>0x2?typeof _0x211b8a[_0x4931b3(0x3c3,_0x437363._0x5c8f7a)]!==_0x4931b3(0x245,-0x53a)&&_0x211b8a[_0x4931b3(_0x437363._0x524919,0x857)]==='geocent'||typeof _0x505438['name']!=='undefined'&&_0x505438['name']==='geocent'?typeof _0x5046cc['z']==='number'?[_0x5046cc['x'],_0x5046cc['y'],_0x5046cc['z']][_0x4931b3(0x956,_0x437363._0x1b0dc2)](_0x2cceab[_0x22c596(_0x437363._0x1a3aaf,_0x437363._0x3ffeb7)](0x3)):[_0x5046cc['x'],_0x5046cc['y'],_0x2cceab[0x2]][_0x22c596(0xa32,0x45d)](_0x2cceab[_0x22c596(0xb7,-0x556)](0x3)):[_0x5046cc['x'],_0x5046cc['y']]['concat'](_0x2cceab['splice'](0x2)):[_0x5046cc['x'],_0x5046cc['y']];}else{_0xad8b65=transform(_0x211b8a,_0x505438,_0x2cceab,_0x341f3a),_0x959272=Object['keys'](_0x2cceab);if(_0x959272[_0x22c596(0x1207,0x16c9)]===0x2)return _0xad8b65;return _0x959272[_0x22c596(_0x437363._0x5dc38b,-0xdc)](function(_0x2c9330){if(typeof _0x211b8a['name']!=='undefined'&&_0x211b8a[_0x51a4dc(0x970,_0x2b7845._0x22b918)]==='geocent'||typeof _0x505438['name']!=='undefined'&&_0x505438['name']===_0x51a4dc(_0x2b7845._0x5e10b0,_0x2b7845._0x12021c)){if(_0x2c9330==='x'||_0x2c9330==='y'||_0x2c9330==='z')return;}else{if(_0x2c9330==='x'||_0x2c9330==='y')return;}function _0x1fb18a(_0x268863,_0x371e80){return _0x22c596(_0x371e80-0x329,_0x268863);}function _0x51a4dc(_0x4cc634,_0x527978){return _0x4931b3(_0x4cc634-_0x44a358._0x380f97,_0x527978);}_0xad8b65[_0x2c9330]=_0x2cceab[_0x2c9330];}),_0xad8b65;}}function checkProj(_0x4e296c){function _0x1e45f4(_0x3d858e,_0x249a71){return _0x306755(_0x249a71,_0x3d858e- -0x24b);}if(_0x4e296c instanceof Projection)return _0x4e296c;if(_0x4e296c[_0x1e45f4(0x6a8,0xe43)])return _0x4e296c['oProj'];return Projection(_0x4e296c);}function proj4(_0x4685ea,_0x48f5fd,_0x4afa09){_0x4685ea=checkProj(_0x4685ea);function _0x3df4a3(_0x9d315f,_0x5d87d4){return _0x2b6441(_0x5d87d4,_0x9d315f-0x4dc);}var _0x557c14=![],_0x254373;function _0xb0b1a(_0x45c18a,_0x17003a){return _0x2b6441(_0x45c18a,_0x17003a-0x66c);}if(typeof _0x48f5fd==='undefined')_0x48f5fd=_0x4685ea,_0x4685ea=wgs84,_0x557c14=!![];else(typeof _0x48f5fd['x']!=='undefined'||Array[_0xb0b1a(0x1074,0x8ff)](_0x48f5fd))&&(_0x4afa09=_0x48f5fd,_0x48f5fd=_0x4685ea,_0x4685ea=wgs84,_0x557c14=!![]);return _0x48f5fd=checkProj(_0x48f5fd),_0x4afa09?transformer(_0x4685ea,_0x48f5fd,_0x4afa09):(_0x254373={'forward':function(_0x196d7a,_0x45414c){return transformer(_0x4685ea,_0x48f5fd,_0x196d7a,_0x45414c);},'inverse':function(_0x322bcc,_0x48842c){return transformer(_0x48f5fd,_0x4685ea,_0x322bcc,_0x48842c);}},_0x557c14&&(_0x254373[_0xb0b1a(0x102b,0x9be)]=_0x48f5fd),_0x254373);}var NUM_100K_SETS=0x6,SET_ORIGIN_COLUMN_LETTERS='AJSAJS',SET_ORIGIN_ROW_LETTERS=_0x2b6441(0x11bf,0x8a8),A=0x41,I=0x49,O=0x4f,V=0x56,Z=0x5a;const _0x5f1aeb={};_0x5f1aeb['forward']=forward$t,_0x5f1aeb[_0x2b6441(-0x6d8,-0x24)]=inverse$t,_0x5f1aeb['toPoint']=toPoint;var mgrs=_0x5f1aeb;function forward$t(_0x270bdd,_0x2b136d){_0x2b136d=_0x2b136d||0x5;const _0x2a1f65={};return _0x2a1f65['lat']=_0x270bdd[0x1],_0x2a1f65['lon']=_0x270bdd[0x0],encode$1(LLtoUTM(_0x2a1f65),_0x2b136d);}function inverse$t(_0x2689bf){const _0x99a3fd={_0x126c72:0x8fa,_0x49cfa4:0xad7,_0x322e6e:0x8e9,_0x768c6b:0x6bb,_0x129e79:0x203,_0x2e368c:0x1168};var _0x2d4e26=UTMtoLL(decode(_0x2689bf[_0x1f5131(0x137a,_0x99a3fd._0x126c72)]()));function _0x2e62d5(_0x4987c4,_0x38cc3c){return _0x2b6441(_0x4987c4,_0x38cc3c-0x6a7);}if(_0x2d4e26['lat']&&_0x2d4e26[_0x2e62d5(_0x99a3fd._0x49cfa4,_0x99a3fd._0x322e6e)])return[_0x2d4e26['lon'],_0x2d4e26[_0x1f5131(_0x99a3fd._0x768c6b,_0x99a3fd._0x129e79)],_0x2d4e26[_0x2e62d5(0x536,0x8e9)],_0x2d4e26['lat']];function _0x1f5131(_0x95bcd4,_0x44a156){return _0x306755(_0x44a156,_0x95bcd4- -0x283);}return[_0x2d4e26['left'],_0x2d4e26['bottom'],_0x2d4e26[_0x2e62d5(_0x99a3fd._0x2e368c,0x1635)],_0x2d4e26['top']];}function toPoint(_0x3388c2){const _0x308522={_0x8e1ec2:0x173c,_0xe2f0f6:0x1bbc,_0x4807b3:0x8a9,_0x390a71:0x178b},_0x1c91f0={_0x483526:0x13f};function _0x293341(_0x12c31a,_0x459bbc){return _0x2b6441(_0x12c31a,_0x459bbc-0x667);}function _0x5980bb(_0x5e0956,_0x2dab01){return _0x306755(_0x2dab01,_0x5e0956-_0x1c91f0._0x483526);}var _0x55eda5=UTMtoLL(decode(_0x3388c2[_0x5980bb(_0x308522._0x8e1ec2,_0x308522._0xe2f0f6)]()));if(_0x55eda5[_0x5980bb(0xa7d,0x11a6)]&&_0x55eda5['lon'])return[_0x55eda5[_0x293341(0xb72,_0x308522._0x4807b3)],_0x55eda5['lat']];return[(_0x55eda5['left']+_0x55eda5['right'])/0x2,(_0x55eda5[_0x293341(0x1354,_0x308522._0x390a71)]+_0x55eda5['bottom'])/0x2];}function degToRad(_0x46b5a5){return _0x46b5a5*(Math['PI']/0xb4);}function radToDeg(_0x332498){return 0xb4*(_0x332498/Math['PI']);}function LLtoUTM(_0x50e40d){const _0x33bbc7={_0x44899d:0x1346,_0xb09b14:0xb61,_0x4fd783:0x10e7,_0x50fe49:0x80f},_0x23bc79={_0x411fbd:0x12e};var _0x4a473a=_0x50e40d[_0x152fea(0xc2c,0x810)],_0x1d7205=_0x50e40d[_0x221a78(0x662,0x20a)],_0x9ce2bf=0x615299;function _0x152fea(_0x39c153,_0x4f403c){return _0x306755(_0x39c153,_0x4f403c- -_0x23bc79._0x411fbd);}var _0x276fe5=0.00669438,_0x42c76e=0.9996,_0x3604a4,_0x23395f,_0x11db45,_0x2384a6,_0x589c71,_0x23f865,_0x5f1f83,_0x5979b6=degToRad(_0x4a473a),_0x72af97=degToRad(_0x1d7205),_0x39b8d3,_0x7d020e;_0x7d020e=Math[_0x221a78(0x16d1,_0x33bbc7._0x44899d)]((_0x1d7205+0xb4)/0x6)+0x1;_0x1d7205===0xb4&&(_0x7d020e=0x3c);_0x4a473a>=0x38&&_0x4a473a<0x40&&_0x1d7205>=0x3&&_0x1d7205<0xc&&(_0x7d020e=0x20);if(_0x4a473a>=0x48&&_0x4a473a<0x54){if(_0x1d7205>=0x0&&_0x1d7205<0x9)_0x7d020e=0x1f;else{if(_0x1d7205>=0x9&&_0x1d7205<0x15)_0x7d020e=0x21;else{if(_0x1d7205>=0x15&&_0x1d7205<0x21)_0x7d020e=0x23;else _0x1d7205>=0x21&&_0x1d7205<0x2a&&(_0x7d020e=0x25);}}}function _0x221a78(_0x45af3d,_0x28f573){return _0x306755(_0x28f573,_0x45af3d- -0x181);}_0x3604a4=(_0x7d020e-0x1)*0x6-0xb4+0x3,_0x39b8d3=degToRad(_0x3604a4),_0x23395f=_0x276fe5/(0x1-_0x276fe5),_0x11db45=_0x9ce2bf/Math[_0x152fea(0x1c61,0x1411)](0x1-_0x276fe5*Math['sin'](_0x5979b6)*Math['sin'](_0x5979b6)),_0x2384a6=Math['tan'](_0x5979b6)*Math[_0x152fea(0x115d,0xd58)](_0x5979b6),_0x589c71=_0x23395f*Math[_0x152fea(0x82a,_0x33bbc7._0xb09b14)](_0x5979b6)*Math['cos'](_0x5979b6),_0x23f865=Math['cos'](_0x5979b6)*(_0x72af97-_0x39b8d3),_0x5f1f83=_0x9ce2bf*((0x1-_0x276fe5/0x4-0x3*_0x276fe5*_0x276fe5/0x40-0x5*_0x276fe5*_0x276fe5*_0x276fe5/0x100)*_0x5979b6-(0x3*_0x276fe5/0x8+0x3*_0x276fe5*_0x276fe5/0x20+0x2d*_0x276fe5*_0x276fe5*_0x276fe5/0x400)*Math[_0x152fea(0xbf4,0x80f)](0x2*_0x5979b6)+(0xf*_0x276fe5*_0x276fe5/0x100+0x2d*_0x276fe5*_0x276fe5*_0x276fe5/0x400)*Math['sin'](0x4*_0x5979b6)-0x23*_0x276fe5*_0x276fe5*_0x276fe5/0xc00*Math[_0x152fea(_0x33bbc7._0x4fd783,_0x33bbc7._0x50fe49)](0x6*_0x5979b6));var _0x5bb3a0=_0x42c76e*_0x11db45*(_0x23f865+(0x1-_0x2384a6+_0x589c71)*_0x23f865*_0x23f865*_0x23f865/0x6+(0x5-0x12*_0x2384a6+_0x2384a6*_0x2384a6+0x48*_0x589c71-0x3a*_0x23395f)*_0x23f865*_0x23f865*_0x23f865*_0x23f865*_0x23f865/0x78)+0x7a120,_0x5e19ba=_0x42c76e*(_0x5f1f83+_0x11db45*Math['tan'](_0x5979b6)*(_0x23f865*_0x23f865/0x2+(0x5-_0x2384a6+0x9*_0x589c71+0x4*_0x589c71*_0x589c71)*_0x23f865*_0x23f865*_0x23f865*_0x23f865/0x18+(0x3d-0x3a*_0x2384a6+_0x2384a6*_0x2384a6+0x258*_0x589c71-0x14a*_0x23395f)*_0x23f865*_0x23f865*_0x23f865*_0x23f865*_0x23f865*_0x23f865/0x2d0));return _0x4a473a<0x0&&(_0x5e19ba+=0x989680),{'northing':Math[_0x152fea(0x113f,0x1001)](_0x5e19ba),'easting':Math['round'](_0x5bb3a0),'zoneNumber':_0x7d020e,'zoneLetter':getLetterDesignator(_0x4a473a)};}function UTMtoLL(_0x224bae){const _0x498bfa={_0x43430c:0x177c,_0x31501e:0x140,_0x3d62ab:0x1a2,_0x48d57a:0xc4,_0x1f4ab7:0xc5d,_0x1ece9c:0xe0c,_0x45fa1e:0x112a,_0x5da863:0x1571,_0x2ac487:0xc9f,_0x66f21:0x729,_0x1ab257:0x6e2,_0x1ae9aa:0x10a9},_0x5cddfc={_0x14fb15:0x23e};var _0x318dde=_0x224bae['northing'],_0x545f92=_0x224bae['easting'],_0xc143c4=_0x224bae['zoneLetter'],_0x299e20=_0x224bae['zoneNumber'];if(_0x299e20<0x0||_0x299e20>0x3c)return null;var _0x35cc38=0.9996,_0x117f9e=0x615299,_0x4f4a22=0.00669438,_0x36e7ed,_0xcc6536=(0x1-Math[_0x59b67f(0x11dc,_0x498bfa._0x43430c)](0x1-_0x4f4a22))/(0x1+Math['sqrt'](0x1-_0x4f4a22)),_0x417ae2,_0x56bf65,_0x124da8,_0x5862ef,_0x315bdc,_0x432c2a,_0x5d07da,_0x7495d9,_0x13b0a7,_0xe9fb74=_0x545f92-0x7a120,_0x357b3e=_0x318dde;_0xc143c4<'N'&&(_0x357b3e-=0x989680);_0x5d07da=(_0x299e20-0x1)*0x6-0xb4+0x3,_0x36e7ed=_0x4f4a22/(0x1-_0x4f4a22),_0x432c2a=_0x357b3e/_0x35cc38,_0x7495d9=_0x432c2a/(_0x117f9e*(0x1-_0x4f4a22/0x4-0x3*_0x4f4a22*_0x4f4a22/0x40-0x5*_0x4f4a22*_0x4f4a22*_0x4f4a22/0x100)),_0x13b0a7=_0x7495d9+(0x3*_0xcc6536/0x2-0x1b*_0xcc6536*_0xcc6536*_0xcc6536/0x20)*Math['sin'](0x2*_0x7495d9)+(0x15*_0xcc6536*_0xcc6536/0x10-0x37*_0xcc6536*_0xcc6536*_0xcc6536*_0xcc6536/0x20)*Math[_0x59b67f(0x5da,-_0x498bfa._0x31501e)](0x4*_0x7495d9)+0x97*_0xcc6536*_0xcc6536*_0xcc6536/0x60*Math[_0x320642(0x5f7,_0x498bfa._0x3d62ab)](0x6*_0x7495d9),_0x417ae2=_0x117f9e/Math['sqrt'](0x1-_0x4f4a22*Math['sin'](_0x13b0a7)*Math['sin'](_0x13b0a7)),_0x56bf65=Math['tan'](_0x13b0a7)*Math['tan'](_0x13b0a7),_0x124da8=_0x36e7ed*Math['cos'](_0x13b0a7)*Math[_0x320642(0x949,-_0x498bfa._0x48d57a)](_0x13b0a7),_0x5862ef=_0x117f9e*(0x1-_0x4f4a22)/Math['pow'](0x1-_0x4f4a22*Math[_0x59b67f(0x5da,0xe7c)](_0x13b0a7)*Math['sin'](_0x13b0a7),1.5),_0x315bdc=_0xe9fb74/(_0x417ae2*_0x35cc38);var _0xd85e87=_0x13b0a7-_0x417ae2*Math['tan'](_0x13b0a7)/_0x5862ef*(_0x315bdc*_0x315bdc/0x2-(0x5+0x3*_0x56bf65+0xa*_0x124da8-0x4*_0x124da8*_0x124da8-0x9*_0x36e7ed)*_0x315bdc*_0x315bdc*_0x315bdc*_0x315bdc/0x18+(0x3d+0x5a*_0x56bf65+0x12a*_0x124da8+0x2d*_0x56bf65*_0x56bf65-0xfc*_0x36e7ed-0x3*_0x124da8*_0x124da8)*_0x315bdc*_0x315bdc*_0x315bdc*_0x315bdc*_0x315bdc*_0x315bdc/0x2d0);_0xd85e87=radToDeg(_0xd85e87);var _0x171f4a=(_0x315bdc-(0x1+0x2*_0x56bf65+_0x124da8)*_0x315bdc*_0x315bdc*_0x315bdc/0x6+(0x5-0x2*_0x124da8+0x1c*_0x56bf65-0x3*_0x124da8*_0x124da8+0x8*_0x36e7ed+0x18*_0x56bf65*_0x56bf65)*_0x315bdc*_0x315bdc*_0x315bdc*_0x315bdc*_0x315bdc/0x78)/Math[_0x59b67f(0x92c,0x1030)](_0x13b0a7);_0x171f4a=_0x5d07da+radToDeg(_0x171f4a);function _0x320642(_0x21adc5,_0x40e0b0){return _0x2b6441(_0x40e0b0,_0x21adc5-0x25b);}function _0x59b67f(_0x25c56b,_0x3df6bc){return _0x2b6441(_0x3df6bc,_0x25c56b-_0x5cddfc._0x14fb15);}var _0x55e352;if(_0x224bae[_0x320642(_0x498bfa._0x1f4ab7,_0x498bfa._0x1ece9c)]){const _0xf80755={};_0xf80755['northing']=_0x224bae[_0x59b67f(_0x498bfa._0x45fa1e,_0x498bfa._0x5da863)]+_0x224bae[_0x320642(0xc5d,_0x498bfa._0x2ac487)],_0xf80755['easting']=_0x224bae['easting']+_0x224bae['accuracy'],_0xf80755[_0x59b67f(_0x498bfa._0x66f21,0x887)]=_0x224bae['zoneLetter'],_0xf80755[_0x59b67f(0xb9e,0x382)]=_0x224bae['zoneNumber'];var _0x16df37=UTMtoLL(_0xf80755);const _0x44ac50={};_0x44ac50['top']=_0x16df37[_0x320642(0x5f8,_0x498bfa._0x1ab257)],_0x44ac50['right']=_0x16df37['lon'],_0x44ac50[_0x320642(_0x498bfa._0x1ae9aa,0x1787)]=_0xd85e87,_0x44ac50['left']=_0x171f4a,_0x55e352=_0x44ac50;}else{const _0x2892c4={};_0x2892c4['lat']=_0xd85e87,_0x2892c4['lon']=_0x171f4a,_0x55e352=_0x2892c4;}return _0x55e352;}function getLetterDesignator(_0x44b89e){var _0x1e9310='Z';if(0x54>=_0x44b89e&&_0x44b89e>=0x48)_0x1e9310='X';else{if(0x48>_0x44b89e&&_0x44b89e>=0x40)_0x1e9310='W';else{if(0x40>_0x44b89e&&_0x44b89e>=0x38)_0x1e9310='V';else{if(0x38>_0x44b89e&&_0x44b89e>=0x30)_0x1e9310='U';else{if(0x30>_0x44b89e&&_0x44b89e>=0x28)_0x1e9310='T';else{if(0x28>_0x44b89e&&_0x44b89e>=0x20)_0x1e9310='S';else{if(0x20>_0x44b89e&&_0x44b89e>=0x18)_0x1e9310='R';else{if(0x18>_0x44b89e&&_0x44b89e>=0x10)_0x1e9310='Q';else{if(0x10>_0x44b89e&&_0x44b89e>=0x8)_0x1e9310='P';else{if(0x8>_0x44b89e&&_0x44b89e>=0x0)_0x1e9310='N';else{if(0x0>_0x44b89e&&_0x44b89e>=-0x8)_0x1e9310='M';else{if(-0x8>_0x44b89e&&_0x44b89e>=-0x10)_0x1e9310='L';else{if(-0x10>_0x44b89e&&_0x44b89e>=-0x18)_0x1e9310='K';else{if(-0x18>_0x44b89e&&_0x44b89e>=-0x20)_0x1e9310='J';else{if(-0x20>_0x44b89e&&_0x44b89e>=-0x28)_0x1e9310='H';else{if(-0x28>_0x44b89e&&_0x44b89e>=-0x30)_0x1e9310='G';else{if(-0x30>_0x44b89e&&_0x44b89e>=-0x38)_0x1e9310='F';else{if(-0x38>_0x44b89e&&_0x44b89e>=-0x40)_0x1e9310='E';else{if(-0x40>_0x44b89e&&_0x44b89e>=-0x48)_0x1e9310='D';else-0x48>_0x44b89e&&_0x44b89e>=-0x50&&(_0x1e9310='C');}}}}}}}}}}}}}}}}}}return _0x1e9310;}function encode$1(_0x1f569a,_0x2c24fc){const _0x1ae6b9={_0x327d22:0x1112,_0x3c1daa:0x1665,_0x331476:0x1217,_0x17ffa2:0x85,_0x95cb62:0x16ac},_0x818967={_0x2238f8:0x46b};function _0x27fe10(_0x291e57,_0x98fce3){return _0x306755(_0x291e57,_0x98fce3- -_0x818967._0x2238f8);}var _0xd2b03='00000'+_0x1f569a['easting'],_0xab888a='00000'+_0x1f569a['northing'];function _0x1dcca8(_0x1dc579,_0x18f3f7){return _0x306755(_0x18f3f7,_0x1dc579-0xb1);}return _0x1f569a[_0x27fe10(_0x1ae6b9._0x327d22,0xa96)]+_0x1f569a[_0x27fe10(0x8ff,0x621)]+get100kID(_0x1f569a[_0x1dcca8(_0x1ae6b9._0x3c1daa,_0x1ae6b9._0x331476)],_0x1f569a['northing'],_0x1f569a['zoneNumber'])+_0xd2b03[_0x1dcca8(0x740,_0x1ae6b9._0x17ffa2)](_0xd2b03['length']-0x5,_0x2c24fc)+_0xab888a['substr'](_0xab888a[_0x1dcca8(_0x1ae6b9._0x95cb62,0xf29)]-0x5,_0x2c24fc);}function get100kID(_0x36aa70,_0x906ec3,_0x19b31c){const _0x1a355d={_0x1edb45:0x1962};var _0x228782=get100kSetForZone(_0x19b31c),_0x330f23=Math[_0x1ea33a(_0x1a355d._0x1edb45,0x1549)](_0x36aa70/0x186a0),_0x1ba8d1=Math['floor'](_0x906ec3/0x186a0)%0x14;function _0x1ea33a(_0x344499,_0x58d256){return _0x2b6441(_0x58d256,_0x344499-0x6b1);}return getLetter100kID(_0x330f23,_0x1ba8d1,_0x228782);}function get100kSetForZone(_0x2be466){var _0x239913=_0x2be466%NUM_100K_SETS;return _0x239913===0x0&&(_0x239913=NUM_100K_SETS),_0x239913;}function getLetter100kID(_0x1142ce,_0x52679b,_0xf3fba2){const _0x91f890={_0x3c7d59:0xe7b,_0x5ae615:0xb76,_0x14d129:0xb76};var _0x518d05=_0xf3fba2-0x1,_0x336156=SET_ORIGIN_COLUMN_LETTERS[_0x5239d4(-0x441,0x62b)](_0x518d05),_0x3d17cb=SET_ORIGIN_ROW_LETTERS['charCodeAt'](_0x518d05),_0x32f4d8=_0x336156+_0x1142ce-0x1,_0x5e4418=_0x3d17cb+_0x52679b,_0x277bf5=![];_0x32f4d8>Z&&(_0x32f4d8=_0x32f4d8-Z+A-0x1,_0x277bf5=!![]);(_0x32f4d8===I||_0x336156<I&&_0x32f4d8>I||(_0x32f4d8>I||_0x336156<I)&&_0x277bf5)&&_0x32f4d8++;(_0x32f4d8===O||_0x336156<O&&_0x32f4d8>O||(_0x32f4d8>O||_0x336156<O)&&_0x277bf5)&&(_0x32f4d8++,_0x32f4d8===I&&_0x32f4d8++);_0x32f4d8>Z&&(_0x32f4d8=_0x32f4d8-Z+A-0x1);_0x5e4418>V?(_0x5e4418=_0x5e4418-V+A-0x1,_0x277bf5=!![]):_0x277bf5=![];(_0x5e4418===I||_0x3d17cb<I&&_0x5e4418>I||(_0x5e4418>I||_0x3d17cb<I)&&_0x277bf5)&&_0x5e4418++;(_0x5e4418===O||_0x3d17cb<O&&_0x5e4418>O||(_0x5e4418>O||_0x3d17cb<O)&&_0x277bf5)&&(_0x5e4418++,_0x5e4418===I&&_0x5e4418++);function _0x5239d4(_0x24d6cf,_0x39e7f0){return _0x306755(_0x24d6cf,_0x39e7f0- -0x8b);}function _0x35d41d(_0x1b4fff,_0x2fcc70){return _0x2b6441(_0x1b4fff,_0x2fcc70-0x88);}_0x5e4418>V&&(_0x5e4418=_0x5e4418-V+A-0x1);var _0x3e3f87=String[_0x5239d4(_0x91f890._0x3c7d59,_0x91f890._0x5ae615)](_0x32f4d8)+String[_0x5239d4(0x324,_0x91f890._0x14d129)](_0x5e4418);return _0x3e3f87;}function decode(_0xc14fd0){const _0x29607e={_0x55e1b2:0x1389,_0x3b4043:0x122e,_0x52ac33:0x1475,_0x2086d7:0x952,_0x5ba477:0xe49,_0x4cec11:0x12db,_0x1bf357:0x1973,_0x57f602:0x67,_0x52bbae:0x331,_0x4de8bb:0xa73,_0x10b3ab:0x1331,_0x57c157:0x1269,_0x119880:0x1406,_0x317b3c:0x1142};if(_0xc14fd0&&_0xc14fd0[_0x5abe76(0x122e,_0x29607e._0x55e1b2)]===0x0)throw'MGRSPoint\x20coverting\x20from\x20nothing';var _0x19f4c3=_0xc14fd0[_0x5abe76(_0x29607e._0x3b4043,_0x29607e._0x52ac33)],_0x380951=null,_0x54e867='',_0x2de429,_0x5d1686=0x0;while(!/[A-Z]/[_0x4d6828(0x727,0x270)](_0x2de429=_0xc14fd0['charAt'](_0x5d1686))){if(_0x5d1686>=0x2)throw _0x5abe76(_0x29607e._0x2086d7,_0x29607e._0x5ba477)+_0xc14fd0;_0x54e867+=_0x2de429,_0x5d1686++;}var _0x3c1f86=parseInt(_0x54e867,0xa);if(_0x5d1686===0x0||_0x5d1686+0x3>_0x19f4c3)throw _0x5abe76(0x952,0xe31)+_0xc14fd0;var _0x2fdfd2=_0xc14fd0[_0x5abe76(_0x29607e._0x4cec11,_0x29607e._0x1bf357)](_0x5d1686++);if(_0x2fdfd2<='A'||_0x2fdfd2==='B'||_0x2fdfd2==='Y'||_0x2fdfd2>='Z'||_0x2fdfd2==='I'||_0x2fdfd2==='O')throw'MGRSPoint\x20zone\x20letter\x20'+_0x2fdfd2+_0x4d6828(0x41b,-_0x29607e._0x57f602)+_0xc14fd0;_0x380951=_0xc14fd0[_0x4d6828(_0x29607e._0x52bbae,0x451)](_0x5d1686,_0x5d1686+=0x2);var _0x400ea4=get100kSetForZone(_0x3c1f86),_0x14fb1c=getEastingFromChar(_0x380951[_0x5abe76(_0x29607e._0x4cec11,_0x29607e._0x4de8bb)](0x0),_0x400ea4),_0xcd34bc=getNorthingFromChar(_0x380951['charAt'](0x1),_0x400ea4);while(_0xcd34bc<getMinNorthing(_0x2fdfd2)){_0xcd34bc+=0x1e8480;}var _0x5aeb75=_0x19f4c3-_0x5d1686;if(_0x5aeb75%0x2!==0x0)throw'MGRSPoint\x20has\x20to\x20have\x20an\x20even\x20number\x20\x0aof\x20digits\x20after\x20the\x20zone\x20letter\x20and\x20two\x20100km\x20letters\x20-\x20front\x20\x0ahalf\x20for\x20easting\x20meters,\x20second\x20half\x20for\x20\x0anorthing\x20meters'+_0xc14fd0;var _0x22d3b6=_0x5aeb75/0x2,_0x55440e=0x0,_0x4d6083=0x0,_0x1c9a36,_0x488201,_0x1cf906,_0x4f8c07,_0xb6730b;_0x22d3b6>0x0&&(_0x1c9a36=0x186a0/Math[_0x4d6828(_0x29607e._0x10b3ab,0x10c9)](0xa,_0x22d3b6),_0x488201=_0xc14fd0['substring'](_0x5d1686,_0x5d1686+_0x22d3b6),_0x55440e=parseFloat(_0x488201)*_0x1c9a36,_0x1cf906=_0xc14fd0['substring'](_0x5d1686+_0x22d3b6),_0x4d6083=parseFloat(_0x1cf906)*_0x1c9a36);_0x4f8c07=_0x55440e+_0x14fb1c,_0xb6730b=_0x4d6083+_0xcd34bc;const _0x258483={};function _0x5abe76(_0x23df8d,_0x1ea72b){return _0x2b6441(_0x1ea72b,_0x23df8d-0x1d4);}function _0x4d6828(_0x8ace,_0x268a27){return _0x306755(_0x268a27,_0x8ace- -0x34b);}return _0x258483[_0x4d6828(_0x29607e._0x57c157,_0x29607e._0x119880)]=_0x4f8c07,_0x258483[_0x4d6828(_0x29607e._0x317b3c,0x1262)]=_0xb6730b,_0x258483[_0x4d6828(0x741,0x8d6)]=_0x2fdfd2,_0x258483['zoneNumber']=_0x3c1f86,_0x258483['accuracy']=_0x1c9a36,_0x258483;}function getEastingFromChar(_0x43d69d,_0x401cff){const _0xb81030={_0x51c6a3:0x3f4,_0x58e5d7:0x2a3},_0xaf4879={_0x22f6e0:0x2c2};function _0x308744(_0x35d3b7,_0x5f4966){return _0x306755(_0x5f4966,_0x35d3b7- -_0xaf4879._0x22f6e0);}var _0x58ce53=SET_ORIGIN_COLUMN_LETTERS[_0x308744(_0xb81030._0x51c6a3,-_0xb81030._0x58e5d7)](_0x401cff-0x1),_0x2459e6=0x186a0,_0x108452=![];while(_0x58ce53!==_0x43d69d['charCodeAt'](0x0)){_0x58ce53++;_0x58ce53===I&&_0x58ce53++;_0x58ce53===O&&_0x58ce53++;if(_0x58ce53>Z){if(_0x108452)throw'Bad\x20character:\x20'+_0x43d69d;_0x58ce53=A,_0x108452=!![];}_0x2459e6+=0x186a0;}return _0x2459e6;}function getNorthingFromChar(_0x306cc6,_0x2314fe){const _0x5da9e3={_0x5cb9fd:0x3b6,_0x562e88:0x400};if(_0x306cc6>'V')throw _0x2220e4(_0x5da9e3._0x5cb9fd,_0x5da9e3._0x562e88)+_0x306cc6;var _0x228c60=SET_ORIGIN_ROW_LETTERS['charCodeAt'](_0x2314fe-0x1),_0x1310f4=0x0,_0x74a2d9=![];function _0x2220e4(_0x3f09b8,_0x53db22){return _0x306755(_0x3f09b8,_0x53db22- -0x1ae);}while(_0x228c60!==_0x306cc6['charCodeAt'](0x0)){_0x228c60++;_0x228c60===I&&_0x228c60++;_0x228c60===O&&_0x228c60++;if(_0x228c60>V){if(_0x74a2d9)throw'Bad\x20character:\x20'+_0x306cc6;_0x228c60=A,_0x74a2d9=!![];}_0x1310f4+=0x186a0;}return _0x1310f4;}function getMinNorthing(_0x3c6d9c){var _0x2153b6;switch(_0x3c6d9c){case'C':_0x2153b6=0x10c8e0;break;case'D':_0x2153b6=0x1e8480;break;case'E':_0x2153b6=0x2ab980;break;case'F':_0x2153b6=0x387520;break;case'G':_0x2153b6=0x4630c0;break;case'H':_0x2153b6=0x53ec60;break;case'J':_0x2153b6=0x61a800;break;case'K':_0x2153b6=0x6f63a0;break;case'L':_0x2153b6=0x7d1f40;break;case'M':_0x2153b6=0x8adae0;break;case'N':_0x2153b6=0x0;break;case'P':_0x2153b6=0xc3500;break;case'Q':_0x2153b6=0x19f0a0;break;case'R':_0x2153b6=0x27ac40;break;case'S':_0x2153b6=0x3567e0;break;case'T':_0x2153b6=0x432380;break;case'U':_0x2153b6=0x50df20;break;case'V':_0x2153b6=0x5e9ac0;break;case'W':_0x2153b6=0x6acfc0;break;case'X':_0x2153b6=0x788b60;break;default:_0x2153b6=-0x1;}if(_0x2153b6>=0x0)return _0x2153b6;else throw'Invalid\x20zone\x20letter:\x20'+_0x3c6d9c;}function Point(_0x157588,_0x198883,_0x476f27){const _0x447f7d={_0x4da195:0xc4c,_0x24e1a8:0x8c4,_0x4683ac:0x5d7,_0x394b97:0x113e,_0x5049c7:0x13cc},_0x187d2f={_0xfaf872:0xde};function _0x2dc99c(_0x299c1a,_0x2fa661){return _0x2b6441(_0x299c1a,_0x2fa661-_0x187d2f._0xfaf872);}if(!(this instanceof Point))return new Point(_0x157588,_0x198883,_0x476f27);if(Array['isArray'](_0x157588))this['x']=_0x157588[0x0],this['y']=_0x157588[0x1],this['z']=_0x157588[0x2]||0x0;else{if(typeof _0x157588===_0x2dc99c(_0x447f7d._0x4da195,0x10f2))this['x']=_0x157588['x'],this['y']=_0x157588['y'],this['z']=_0x157588['z']||0x0;else{if(typeof _0x157588===_0x40ce24(_0x447f7d._0x24e1a8,_0x447f7d._0x4683ac)&&typeof _0x198883==='undefined'){var _0x3db033=_0x157588[_0x40ce24(_0x447f7d._0x394b97,_0x447f7d._0x5049c7)](',');this['x']=parseFloat(_0x3db033[0x0],0xa),this['y']=parseFloat(_0x3db033[0x1],0xa),this['z']=parseFloat(_0x3db033[0x2],0xa)||0x0;}else this['x']=_0x157588,this['y']=_0x198883,this['z']=_0x476f27||0x0;}}function _0x40ce24(_0x1d415b,_0x1de26c){return _0x2b6441(_0x1d415b,_0x1de26c-0x1a6);}console[_0x2dc99c(0xbe5,0x80b)]('proj4.Point\x20will\x20be\x20removed\x20in\x20version\x203,\x20use\x20proj4.toPoint');}Point[_0x2b6441(0xf7b,0x544)]=function(_0x4e7412){return new Point(toPoint(_0x4e7412));},Point['prototype']['toMGRS']=function(_0x1479eb){return forward$t([this['x'],this['y']],_0x1479eb);};var C00=0x1,C02=0.25,C04=0.046875,C06=0.01953125,C08=0.01068115234375,C22=0.75,C44=0.46875,C46=0.013020833333333334,C48=0.007120768229166667,C66=0.3645833333333333,C68=0.005696614583333333,C88=0.3076171875;function pj_enfn(_0x22b635){var _0x4c010e=[];_0x4c010e[0x0]=C00-_0x22b635*(C02+_0x22b635*(C04+_0x22b635*(C06+_0x22b635*C08))),_0x4c010e[0x1]=_0x22b635*(C22-_0x22b635*(C04+_0x22b635*(C06+_0x22b635*C08)));var _0x5c6f4d=_0x22b635*_0x22b635;return _0x4c010e[0x2]=_0x5c6f4d*(C44-_0x22b635*(C46+_0x22b635*C48)),_0x5c6f4d*=_0x22b635,_0x4c010e[0x3]=_0x5c6f4d*(C66-_0x22b635*C68),_0x4c010e[0x4]=_0x5c6f4d*_0x22b635*C88,_0x4c010e;}function pj_mlfn(_0x246f1d,_0x308cc6,_0x5d6e54,_0x17a763){return _0x5d6e54*=_0x308cc6,_0x308cc6*=_0x308cc6,_0x17a763[0x0]*_0x246f1d-_0x5d6e54*(_0x17a763[0x1]+_0x308cc6*(_0x17a763[0x2]+_0x308cc6*(_0x17a763[0x3]+_0x308cc6*_0x17a763[0x4])));}var MAX_ITER$3=0x14;function pj_inv_mlfn(_0x546974,_0x4d4dc9,_0x24ff94){var _0x1af772=0x1/(0x1-_0x4d4dc9),_0x313b55=_0x546974;for(var _0xa98672=MAX_ITER$3;_0xa98672;--_0xa98672){var _0xc1d24=Math['sin'](_0x313b55),_0x2d195c=0x1-_0x4d4dc9*_0xc1d24*_0xc1d24;_0x2d195c=(pj_mlfn(_0x313b55,_0xc1d24,Math['cos'](_0x313b55),_0x24ff94)-_0x546974)*(_0x2d195c*Math['sqrt'](_0x2d195c))*_0x1af772,_0x313b55-=_0x2d195c;if(Math['abs'](_0x2d195c)<EPSLN)return _0x313b55;}return _0x313b55;}function init$t(){const _0x14a4f3={_0xd017e4:0x380,_0x26b0f9:0x653,_0x2646ea:0x415,_0x12897c:0x6cd};this['x0']=this['x0']!==undefined?this['x0']:0x0,this['y0']=this['y0']!==undefined?this['y0']:0x0,this['long0']=this[_0x5b849b(0xc34,_0x14a4f3._0xd017e4)]!==undefined?this['long0']:0x0,this['lat0']=this[_0x5e5124(0x9e8,0xfb3)]!==undefined?this['lat0']:0x0;function _0x5e5124(_0xaef075,_0x201a2b){return _0x2b6441(_0x201a2b,_0xaef075-0x63a);}function _0x5b849b(_0x3cc54e,_0x4c27f5){return _0x306755(_0x3cc54e,_0x4c27f5- -0x528);}this['es']&&(this['en']=pj_enfn(this['es']),this['ml0']=pj_mlfn(this['lat0'],Math[_0x5b849b(-_0x14a4f3._0x26b0f9,_0x14a4f3._0x2646ea)](this[_0x5e5124(0x9e8,_0x14a4f3._0x12897c)]),Math['cos'](this['lat0']),this['en']));}function forward$s(_0x58680d){const _0x5d9f1e={_0x1a410a:0x9f7,_0x5f0731:0x8dc,_0x4cc55f:0x233,_0x49b551:0x442,_0x257ddb:0x54d,_0x1c5ddd:0x8ee,_0x20335e:0x1358,_0x2b45c0:0x192a},_0x267ae9={_0x1ded4d:0x61},_0x440c22={_0x5cedc2:0x1e7};var _0x4b7903=_0x58680d['x'],_0x5c321f=_0x58680d['y'],_0x4dc88e=adjust_lon(_0x4b7903-this['long0']),_0x11e25b,_0x32fb8d,_0x268b42,_0x262f37=Math[_0x216350(_0x5d9f1e._0x1a410a,_0x5d9f1e._0x5f0731)](_0x5c321f),_0x13e102=Math['cos'](_0x5c321f);if(!this['es']){var _0x2d2205=_0x13e102*Math[_0x1c8900(0x756,0x212)](_0x4dc88e);if(Math[_0x1c8900(0x127a,0xb35)](Math['abs'](_0x2d2205)-0x1)<EPSLN)return 0x5d;else{_0x32fb8d=0.5*this['a']*this['k0']*Math[_0x1c8900(0x27d,-_0x5d9f1e._0x4cc55f)]((0x1+_0x2d2205)/(0x1-_0x2d2205))+this['x0'],_0x268b42=_0x13e102*Math['cos'](_0x4dc88e)/Math['sqrt'](0x1-Math[_0x216350(0x1c4c,0x161b)](_0x2d2205,0x2)),_0x2d2205=Math['abs'](_0x268b42);if(_0x2d2205>=0x1){if(_0x2d2205-0x1>EPSLN)return 0x5d;else _0x268b42=0x0;}else _0x268b42=Math[_0x216350(-0x685,_0x5d9f1e._0x49b551)](_0x268b42);_0x5c321f<0x0&&(_0x268b42=-_0x268b42),_0x268b42=this['a']*this['k0']*(_0x268b42-this[_0x216350(_0x5d9f1e._0x257ddb,_0x5d9f1e._0x1c5ddd)])+this['y0'];}}else{var _0xe8d259=_0x13e102*_0x4dc88e,_0x19e296=Math['pow'](_0xe8d259,0x2),_0x15147f=this['ep2']*Math['pow'](_0x13e102,0x2),_0x579938=Math['pow'](_0x15147f,0x2),_0x4c5f33=Math['abs'](_0x13e102)>EPSLN?Math[_0x1c8900(0xc9f,0x251)](_0x5c321f):0x0,_0x3de7f6=Math['pow'](_0x4c5f33,0x2),_0x6311e6=Math['pow'](_0x3de7f6,0x2);_0x11e25b=0x1-this['es']*Math['pow'](_0x262f37,0x2),_0xe8d259=_0xe8d259/Math[_0x1c8900(_0x5d9f1e._0x20335e,_0x5d9f1e._0x2b45c0)](_0x11e25b);var _0x1125b4=pj_mlfn(_0x5c321f,_0x262f37,_0x13e102,this['en']);_0x32fb8d=this['a']*(this['k0']*_0xe8d259*(0x1+_0x19e296/0x6*(0x1-_0x3de7f6+_0x15147f+_0x19e296/0x14*(0x5-0x12*_0x3de7f6+_0x6311e6+0xe*_0x15147f-0x3a*_0x3de7f6*_0x15147f+_0x19e296/0x2a*(0x3d+0xb3*_0x6311e6-_0x6311e6*_0x3de7f6-0x1df*_0x3de7f6)))))+this['x0'],_0x268b42=this['a']*(this['k0']*(_0x1125b4-this['ml0']+_0x262f37*_0x4dc88e*_0xe8d259/0x2*(0x1+_0x19e296/0xc*(0x5-_0x3de7f6+0x9*_0x15147f+0x4*_0x579938+_0x19e296/0x1e*(0x3d+_0x6311e6-0x3a*_0x3de7f6+0x10e*_0x15147f-0x14a*_0x3de7f6*_0x15147f+_0x19e296/0x38*(0x569+0x21f*_0x6311e6-_0x6311e6*_0x3de7f6-0xc27*_0x3de7f6))))))+this['y0'];}_0x58680d['x']=_0x32fb8d;function _0x1c8900(_0x56896e,_0x5e596f){return _0x306755(_0x5e596f,_0x56896e- -_0x440c22._0x5cedc2);}function _0x216350(_0xa74943,_0x299c32){return _0x306755(_0xa74943,_0x299c32- -_0x267ae9._0x1ded4d);}return _0x58680d['y']=_0x268b42,_0x58680d;}function inverse$s(_0x438c3d){const _0x24030d={_0x39a324:0xe1f,_0x4658e4:0x10a9,_0x3ec1cc:0xe8e,_0x2296e3:0x36a,_0x2ad939:0xc49,_0x9a3a12:0xe95,_0x497b8d:0x1588,_0x5be3ff:0x116e,_0x2343a6:0xd9f},_0x482fa6={_0x33e330:0x32},_0x315211={_0x34ca26:0xf4};var _0x44674e,_0x2e2593,_0x398a8e,_0xba6278,_0x3ee99e=(_0x438c3d['x']-this['x0'])*(0x1/this['a']);function _0x825147(_0x8fe80b,_0x264b9b){return _0x306755(_0x264b9b,_0x8fe80b- -_0x315211._0x34ca26);}var _0xae8c98=(_0x438c3d['y']-this['y0'])*(0x1/this['a']);if(!this['es']){var _0x4cbfa4=Math[_0x825147(_0x24030d._0x39a324,0x111e)](_0x3ee99e/this['k0']),_0x11b4b0=0.5*(_0x4cbfa4-0x1/_0x4cbfa4),_0x44342c=this['lat0']+_0xae8c98/this['k0'],_0x57f566=Math[_0xdc475e(0xf61,0x6bc)](_0x44342c);_0x44674e=Math['sqrt']((0x1-Math[_0xdc475e(0x170f,_0x24030d._0x4658e4)](_0x57f566,0x2))/(0x1+Math['pow'](_0x11b4b0,0x2))),_0x398a8e=Math[_0x825147(0x1146,0xab1)](_0x44674e),_0xae8c98<0x0&&(_0x398a8e=-_0x398a8e),_0x11b4b0===0x0&&_0x57f566===0x0?_0xba6278=0x0:_0xba6278=adjust_lon(Math['atan2'](_0x11b4b0,_0x57f566)+this['long0']);}else{_0x44674e=this[_0xdc475e(0xd2d,0x755)]+_0xae8c98/this['k0'],_0x2e2593=pj_inv_mlfn(_0x44674e,this['es'],this['en']);if(Math[_0xdc475e(0x1582,_0x24030d._0x3ec1cc)](_0x2e2593)<HALF_PI){var _0x5a889d=Math[_0xdc475e(0xc22,_0x24030d._0x2296e3)](_0x2e2593),_0x338f8a=Math[_0xdc475e(_0x24030d._0x2ad939,0x6bc)](_0x2e2593),_0x488230=Math[_0xdc475e(_0x24030d._0x9a3a12,_0x24030d._0x3ec1cc)](_0x338f8a)>EPSLN?Math[_0xdc475e(0x1218,0x8b3)](_0x2e2593):0x0,_0x5897b9=this['ep2']*Math[_0xdc475e(0x1887,0x10a9)](_0x338f8a,0x2),_0x1833f7=Math[_0x825147(_0x24030d._0x497b8d,_0x24030d._0x5be3ff)](_0x5897b9,0x2),_0x133f2a=Math['pow'](_0x488230,0x2),_0x1cf2b7=Math[_0x825147(0x1588,_0x24030d._0x2343a6)](_0x133f2a,0x2);_0x44674e=0x1-this['es']*Math['pow'](_0x5a889d,0x2);var _0x492b2d=_0x3ee99e*Math['sqrt'](_0x44674e)/this['k0'],_0x52d2d4=Math['pow'](_0x492b2d,0x2);_0x44674e=_0x44674e*_0x488230,_0x398a8e=_0x2e2593-_0x44674e*_0x52d2d4/(0x1-this['es'])*0.5*(0x1-_0x52d2d4/0xc*(0x5+0x3*_0x133f2a-0x9*_0x5897b9*_0x133f2a+_0x5897b9-0x4*_0x1833f7-_0x52d2d4/0x1e*(0x3d+0x5a*_0x133f2a-0xfc*_0x5897b9*_0x133f2a+0x2d*_0x1cf2b7+0x2e*_0x5897b9-_0x52d2d4/0x38*(0x569+0xe31*_0x133f2a+0xfff*_0x1cf2b7+0x626*_0x1cf2b7*_0x133f2a)))),_0xba6278=adjust_lon(this['long0']+_0x492b2d*(0x1-_0x52d2d4/0x6*(0x1+0x2*_0x133f2a+_0x5897b9-_0x52d2d4/0x14*(0x5+0x1c*_0x133f2a+0x18*_0x1cf2b7+0x8*_0x5897b9*_0x133f2a+0x6*_0x5897b9-_0x52d2d4/0x2a*(0x3d+0x296*_0x133f2a+0x528*_0x1cf2b7+0x2d0*_0x1cf2b7*_0x133f2a))))/_0x338f8a);}else _0x398a8e=HALF_PI*sign(_0xae8c98),_0xba6278=0x0;}_0x438c3d['x']=_0xba6278;function _0xdc475e(_0x87b3b,_0x271140){return _0x2b6441(_0x87b3b,_0x271140- -_0x482fa6._0x33e330);}return _0x438c3d['y']=_0x398a8e,_0x438c3d;}var names$t=['Fast_Transverse_Mercator',_0x306755(0x1145,0x1646)];const _0x3c74f2={};_0x3c74f2[_0x306755(0x1dc,0x6c1)]=init$t,_0x3c74f2[_0x306755(0x1715,0xcf7)]=forward$s,_0x3c74f2['inverse']=inverse$s,_0x3c74f2['names']=names$t;var tmerc=_0x3c74f2;function sinh(_0x275f5f){var _0x31fb7e=Math['exp'](_0x275f5f);return _0x31fb7e=(_0x31fb7e-0x1/_0x31fb7e)/0x2,_0x31fb7e;}function hypot(_0x5cb54a,_0x41debb){const _0xe0ad71={_0x4271f3:0xe7c},_0x38889a={_0x32e920:0x58d};function _0x4d8e3b(_0x20fad5,_0x50d2dd){return _0x2b6441(_0x20fad5,_0x50d2dd- -0x44);}_0x5cb54a=Math[_0x4d8e3b(0x14e1,_0xe0ad71._0x4271f3)](_0x5cb54a);function _0x199f6f(_0x1d2731,_0x3b1695){return _0x306755(_0x1d2731,_0x3b1695- -_0x38889a._0x32e920);}_0x41debb=Math['abs'](_0x41debb);var _0x580c69=Math['max'](_0x5cb54a,_0x41debb),_0x1fdc85=Math['min'](_0x5cb54a,_0x41debb)/(_0x580c69?_0x580c69:0x1);return _0x580c69*Math['sqrt'](0x1+Math[_0x199f6f(0x162d,0x10ef)](_0x1fdc85,0x2));}function log1py(_0x5cc28a){var _0x47af15=0x1+_0x5cc28a;function _0x4bd8e2(_0x4602a8,_0x3fdde4){return _0x2b6441(_0x4602a8,_0x3fdde4-0x89);}var _0x40e0bb=_0x47af15-0x1;return _0x40e0bb===0x0?_0x5cc28a:_0x5cc28a*Math[_0x4bd8e2(0x2d6,-0xb4)](_0x47af15)/_0x40e0bb;}function asinhy(_0xc36be5){const _0x1b78ac={_0x2cfe48:0x1259},_0x43cae1={_0x27b3b4:0x1ea};function _0x314f4d(_0x1b19f6,_0x52b105){return _0x2b6441(_0x52b105,_0x1b19f6-_0x43cae1._0x27b3b4);}var _0xfc0eaf=Math[_0x314f4d(0x10aa,_0x1b78ac._0x2cfe48)](_0xc36be5);return _0xfc0eaf=log1py(_0xfc0eaf*(0x1+_0xfc0eaf/(hypot(0x1,_0xfc0eaf)+0x1))),_0xc36be5<0x0?-_0xfc0eaf:_0xfc0eaf;}function gatg(_0x3cff52,_0x133f61){const _0x2fa64d={_0x93166a:0x14e3,_0x89711a:0x1e5},_0x46353a={_0x23d6fb:0x4c9},_0x2313e9={_0x531f50:0x19};var _0x331b61=0x2*Math[_0xc5222c(-0x2c1,0x7c6)](0x2*_0x133f61),_0x30eb7b=_0x3cff52[_0xc5222c(_0x2fa64d._0x93166a,0x1132)]-0x1;function _0x4b19ef(_0x9837c,_0x27e3d5){return _0x306755(_0x9837c,_0x27e3d5-_0x2313e9._0x531f50);}function _0xc5222c(_0x3abcf0,_0x283af7){return _0x306755(_0x3abcf0,_0x283af7- -_0x46353a._0x23d6fb);}var _0x268cf0=_0x3cff52[_0x30eb7b],_0x3cd667=0x0,_0x20a5db;while(--_0x30eb7b>=0x0){_0x20a5db=-_0x3cd667+_0x331b61*_0x268cf0+_0x3cff52[_0x30eb7b],_0x3cd667=_0x268cf0,_0x268cf0=_0x20a5db;}return _0x133f61+_0x20a5db*Math[_0xc5222c(_0x2fa64d._0x89711a,0x474)](0x2*_0x133f61);}function clens(_0x16dd26,_0x4e8939){const _0x2449b2={_0xaddf1e:0x238,_0x4ef702:0x762,_0x5c29cc:0xd9e,_0x48452e:0x410},_0x450b90={_0x316820:0x74};function _0x35e977(_0x3ec05b,_0x1287c7){return _0x306755(_0x3ec05b,_0x1287c7- -0x515);}function _0x5e8cf5(_0x320850,_0x5099f6){return _0x2b6441(_0x320850,_0x5099f6-_0x450b90._0x316820);}var _0x1290a4=0x2*Math[_0x5e8cf5(-_0x2449b2._0xaddf1e,_0x2449b2._0x4ef702)](_0x4e8939),_0x782b04=_0x16dd26['length']-0x1,_0x1fa07f=_0x16dd26[_0x782b04],_0x1889e1=0x0,_0x9ed0ca;while(--_0x782b04>=0x0){_0x9ed0ca=-_0x1889e1+_0x1290a4*_0x1fa07f+_0x16dd26[_0x782b04],_0x1889e1=_0x1fa07f,_0x1fa07f=_0x9ed0ca;}return Math[_0x5e8cf5(_0x2449b2._0x5c29cc,_0x2449b2._0x48452e)](_0x4e8939)*_0x9ed0ca;}function cosh(_0x367a6d){const _0x42a49b={_0x1b41d3:0x999},_0xf449e2={_0x10d4b3:0x57a};function _0xf6c915(_0x437a33,_0x551720){return _0x306755(_0x551720,_0x437a33- -_0xf449e2._0x10d4b3);}var _0x5753d1=Math[_0xf6c915(_0x42a49b._0x1b41d3,0xe3)](_0x367a6d);return _0x5753d1=(_0x5753d1+0x1/_0x5753d1)/0x2,_0x5753d1;}function clens_cmplx(_0x1ed2fc,_0x29f4c7,_0x15bea5){var _0x282f36=Math['sin'](_0x29f4c7),_0x168269=Math[_0x229559(0xcc8,0xc73)](_0x29f4c7);function _0x229559(_0x526ba7,_0x1f4e41){return _0x306755(_0x1f4e41,_0x526ba7-0x39);}var _0x2ea468=sinh(_0x15bea5),_0x275697=cosh(_0x15bea5),_0x5d1125=0x2*_0x168269*_0x275697,_0x5dd1fe=-0x2*_0x282f36*_0x2ea468,_0x208fb2=_0x1ed2fc['length']-0x1,_0x340c00=_0x1ed2fc[_0x208fb2],_0xbba664=0x0,_0x2ffcf4=0x0,_0x78282d=0x0,_0xdbf3c3,_0x6f777a;while(--_0x208fb2>=0x0){_0xdbf3c3=_0x2ffcf4,_0x6f777a=_0xbba664,_0x2ffcf4=_0x340c00,_0xbba664=_0x78282d,_0x340c00=-_0xdbf3c3+_0x5d1125*_0x2ffcf4-_0x5dd1fe*_0xbba664+_0x1ed2fc[_0x208fb2],_0x78282d=-_0x6f777a+_0x5dd1fe*_0x2ffcf4+_0x5d1125*_0xbba664;}return _0x5d1125=_0x282f36*_0x275697,_0x5dd1fe=_0x168269*_0x2ea468,[_0x5d1125*_0x340c00-_0x5dd1fe*_0x78282d,_0x5d1125*_0x78282d+_0x5dd1fe*_0x340c00];}function init$s(){const _0x6beb46={_0x1626e2:0x34d,_0x5a84cb:0x941,_0x583b1b:0x11d2,_0x31fe64:0xf74,_0x59e93f:0x100c,_0x4a8e4e:0x70d,_0x15e919:0x1531,_0x878076:0xef3,_0x165625:0xd2e,_0x2f4e22:0xdb1,_0x4b170c:0xd2e,_0x65c2b4:0x2ca,_0x1a2b69:0x11d2,_0x5ca5cd:0xff9,_0x40f8e6:0x18e2,_0x11cc02:0x1295,_0x466d25:0x12d8},_0x265efa={_0x5e805d:0x2ed};if(!this[_0x51c2d1(0xa84,0x1289)]&&(isNaN(this['es'])||this['es']<=0x0))throw new Error('Incorrect\x20elliptical\x20usage.\x20Try\x20using\x20the\x20+approx\x20option\x20in\x20the\x20proj\x20string,\x20or\x20PROJECTION[\x22Fast_Transverse_Mercator\x22]\x20in\x20the\x20WKT.');this['approx']&&(tmerc['init']['apply'](this),this['forward']=tmerc['forward'],this['inverse']=tmerc[_0x51c2d1(0x290,-_0x6beb46._0x1626e2)]);this['x0']=this['x0']!==undefined?this['x0']:0x0,this['y0']=this['y0']!==undefined?this['y0']:0x0,this['long0']=this['long0']!==undefined?this['long0']:0x0,this[_0x28967c(_0x6beb46._0x5a84cb,0x10c7)]=this['lat0']!==undefined?this['lat0']:0x0,this['cgb']=[],this[_0x28967c(_0x6beb46._0x583b1b,_0x6beb46._0x31fe64)]=[],this[_0x51c2d1(_0x6beb46._0x59e93f,_0x6beb46._0x4a8e4e)]=[],this['gtu']=[];var _0x15e861=this['es']/(0x1+Math[_0x28967c(_0x6beb46._0x15e919,0xd09)](0x1-this['es'])),_0x561403=_0x15e861/(0x2-_0x15e861),_0x49f5aa=_0x561403;this[_0x51c2d1(0xa4f,0x12a0)][0x0]=_0x561403*(0x2+_0x561403*(-0x2/0x3+_0x561403*(-0x2+_0x561403*(0x74/0x2d+_0x561403*(0x1a/0x2d+_0x561403*(-0xb26/0x2a3)))))),this[_0x51c2d1(_0x6beb46._0x878076,0xf54)][0x0]=_0x561403*(-0x2+_0x561403*(0x2/0x3+_0x561403*(0x4/0x3+_0x561403*(-0x52/0x2d+_0x561403*(0x20/0x2d+_0x561403*(0x1222/0x1275)))))),_0x49f5aa=_0x49f5aa*_0x561403,this[_0x28967c(_0x6beb46._0x165625,0x14dd)][0x1]=_0x49f5aa*(0x7/0x3+_0x561403*(-0x8/0x5+_0x561403*(-0xe3/0x2d+_0x561403*(0xa90/0x13b+_0x561403*(0x913/0x3b1))))),this['cbg'][0x1]=_0x49f5aa*(0x5/0x3+_0x561403*(-0x10/0xf+_0x561403*(-0xd/0x9+_0x561403*(0x388/0x13b+_0x561403*(-0x5f2/0x3b1))))),_0x49f5aa=_0x49f5aa*_0x561403,this[_0x28967c(0xd2e,_0x6beb46._0x2f4e22)][0x2]=_0x49f5aa*(0x38/0xf+_0x561403*(-0x88/0x23+_0x561403*(-0x4ee/0x69+_0x561403*(0x12056/0xb13)))),this['cbg'][0x2]=_0x49f5aa*(-0x1a/0xf+_0x561403*(0x22/0x15+_0x561403*(0x8/0x5+_0x561403*(-0x318e/0xb13)))),_0x49f5aa=_0x49f5aa*_0x561403,this['cgb'][0x3]=_0x49f5aa*(0x10b7/0x276+_0x561403*(-0x14c/0x23+_0x561403*(-0x618d4/0x375f))),this['cbg'][0x3]=_0x49f5aa*(0x4d5/0x276+_0x561403*(-0xc/0x5+_0x561403*(-0x6100/0x375f))),_0x49f5aa=_0x49f5aa*_0x561403,this['cgb'][0x4]=_0x49f5aa*(0x104e/0x13b+_0x561403*(-0x235c6/0x185d)),this['cbg'][0x4]=_0x49f5aa*(-0x2de/0x13b+_0x561403*(0x1ac1e/0x79d1)),_0x49f5aa=_0x49f5aa*_0x561403,this[_0x28967c(_0x6beb46._0x4b170c,_0x6beb46._0x65c2b4)][0x5]=_0x49f5aa*(0x92e4c/0x5703),this[_0x28967c(_0x6beb46._0x1a2b69,0xbd5)][0x5]=_0x49f5aa*(0x6c7b1/0x26115),_0x49f5aa=Math['pow'](_0x561403,0x2),this['Qn']=this['k0']/(0x1+_0x561403)*(0x1+_0x49f5aa*(0x1/0x4+_0x49f5aa*(0x1/0x40+_0x49f5aa/0x100))),this['utg'][0x0]=_0x561403*(-0.5+_0x561403*(0x2/0x3+_0x561403*(-0x25/0x60+_0x561403*(0x1/0x168+_0x561403*(0x51/0x200+_0x561403*(-0x177c7/0x93a80)))))),this[_0x51c2d1(_0x6beb46._0x5ca5cd,_0x6beb46._0x40f8e6)][0x0]=_0x561403*(0.5+_0x561403*(-0x2/0x3+_0x561403*(0x5/0x10+_0x561403*(0x29/0xb4+_0x561403*(-0x7f/0x120+_0x561403*(0x1ed3/0x93a8)))))),this[_0x51c2d1(0x100c,0x1398)][0x1]=_0x49f5aa*(-0x1/0x30+_0x561403*(-0x1/0xf+_0x561403*(0x1b5/0x5a0+_0x561403*(-0x2e/0x69+_0x561403*(0x1111f7/0x3b1000))))),this['gtu'][0x1]=_0x49f5aa*(0xd/0x30+_0x561403*(-0x3/0x5+_0x561403*(0x22d/0x5a0+_0x561403*(0x119/0x276+_0x561403*(-0x1e43c9/0x1d8800)))));function _0x51c2d1(_0x42124c,_0x2f31c8){return _0x306755(_0x2f31c8,_0x42124c- -_0x265efa._0x5e805d);}_0x49f5aa=_0x49f5aa*_0x561403,this['utg'][0x2]=_0x49f5aa*(-0x11/0x1e0+_0x561403*(0x25/0x348+_0x561403*(0xd1/0x1180+_0x561403*(-0x15c1/0x16260))));function _0x28967c(_0x2c2889,_0x3d6288){return _0x2b6441(_0x3d6288,_0x2c2889-0x593);}this['gtu'][0x2]=_0x49f5aa*(0x3d/0xf0+_0x561403*(-0x67/0x8c+_0x561403*(0x3ad5/0x6900+_0x561403*(0x28eb3/0x2c4c0)))),_0x49f5aa=_0x49f5aa*_0x561403,this['utg'][0x3]=_0x49f5aa*(-0x112d/0x27600+_0x561403*(0xb/0x1f8+_0x561403*(0xcab2b/0x6ebe00))),this[_0x51c2d1(0xff9,_0x6beb46._0x11cc02)][0x3]=_0x49f5aa*(0xc199/0x27600+_0x561403*(-0xb3/0xa8+_0x561403*(0x64bbbd/0x6ebe00))),_0x49f5aa=_0x49f5aa*_0x561403,this['utg'][0x4]=_0x49f5aa*(-0x11e7/0x27600+_0x561403*(0x1a92f/0x3ce880)),this['gtu'][0x4]=_0x49f5aa*(0x87a9/0x13b00+_0x561403*(-0x342b09/0x1e7440)),_0x49f5aa=_0x49f5aa*_0x561403,this['utg'][0x5]=_0x49f5aa*(-0x13b12f5/0x26115000),this[_0x28967c(_0x6beb46._0x466d25,0xc9a)][0x5]=_0x49f5aa*(0xca8a53d/0x1308a800);var _0x38ce16=gatg(this[_0x51c2d1(0xef3,0xa11)],this['lat0']);this['Zb']=-this['Qn']*(_0x38ce16+clens(this['gtu'],0x2*_0x38ce16));}function forward$r(_0x57be08){const _0x3ffa09={_0x1dad96:0x1023,_0x298821:0xdd0,_0x439098:0x18d,_0x1c9b26:0x30f,_0x294380:0x5ba,_0x110c35:0x182f},_0x2a3b10={_0xa8722f:0x62e};var _0x447dfd=adjust_lon(_0x57be08['x']-this['long0']),_0x3e93c3=_0x57be08['y'];_0x3e93c3=gatg(this[_0x5ca66b(_0x3ffa09._0x1dad96,_0x3ffa09._0x298821)],_0x3e93c3);function _0x5ca66b(_0x1d640e,_0x478da2){return _0x2b6441(_0x1d640e,_0x478da2-0x191);}var _0x28089a=Math[_0x3c3d4b(0x30f,-_0x3ffa09._0x439098)](_0x3e93c3),_0xaadc98=Math['cos'](_0x3e93c3),_0x5d14cd=Math[_0x3c3d4b(_0x3ffa09._0x1c9b26,_0x3ffa09._0x294380)](_0x447dfd),_0x2449a6=Math['cos'](_0x447dfd);_0x3e93c3=Math['atan2'](_0x28089a,_0x2449a6*_0xaadc98),_0x447dfd=Math['atan2'](_0x5d14cd*_0xaadc98,hypot(_0x28089a,_0xaadc98*_0x2449a6));function _0x3c3d4b(_0x289506,_0x51f9bd){return _0x306755(_0x51f9bd,_0x289506- -_0x2a3b10._0xa8722f);}_0x447dfd=asinhy(Math['tan'](_0x447dfd));var _0x2c013e=clens_cmplx(this['gtu'],0x2*_0x3e93c3,0x2*_0x447dfd);_0x3e93c3=_0x3e93c3+_0x2c013e[0x0],_0x447dfd=_0x447dfd+_0x2c013e[0x1];var _0x586e65,_0x556672;return Math[_0x3c3d4b(0xe33,_0x3ffa09._0x110c35)](_0x447dfd)<=2.623395162778?(_0x586e65=this['a']*(this['Qn']*_0x447dfd)+this['x0'],_0x556672=this['a']*(this['Qn']*_0x3e93c3+this['Zb'])+this['y0']):(_0x586e65=Infinity,_0x556672=Infinity),_0x57be08['x']=_0x586e65,_0x57be08['y']=_0x556672,_0x57be08;}function inverse$r(_0x31a0e1){const _0x299231={_0x5ddc87:0x13cf,_0x375b94:0x986,_0x336401:0x7cc};function _0x5d15bb(_0x4008a8,_0x2d6099){return _0x2b6441(_0x2d6099,_0x4008a8-0x31);}var _0x6eff58=(_0x31a0e1['x']-this['x0'])*(0x1/this['a']),_0x54e68f=(_0x31a0e1['y']-this['y0'])*(0x1/this['a']);_0x54e68f=(_0x54e68f-this['Zb'])/this['Qn'],_0x6eff58=_0x6eff58/this['Qn'];var _0x4cae2c,_0x2104fa;if(Math[_0x496545(_0x299231._0x5ddc87,_0x299231._0x375b94)](_0x6eff58)<=2.623395162778){var _0x3db2e8=clens_cmplx(this['utg'],0x2*_0x54e68f,0x2*_0x6eff58);_0x54e68f=_0x54e68f+_0x3db2e8[0x0],_0x6eff58=_0x6eff58+_0x3db2e8[0x1],_0x6eff58=Math['atan'](sinh(_0x6eff58));var _0x4dc1bb=Math[_0x496545(0x8ab,0x4fb)](_0x54e68f),_0x44126f=Math[_0x5d15bb(0x71f,0xb5a)](_0x54e68f),_0x296b88=Math['sin'](_0x6eff58),_0x7961c2=Math[_0x496545(0xbfd,0x2b2)](_0x6eff58);_0x54e68f=Math['atan2'](_0x4dc1bb*_0x7961c2,hypot(_0x296b88,_0x7961c2*_0x44126f)),_0x6eff58=Math['atan2'](_0x296b88,_0x7961c2*_0x44126f),_0x4cae2c=adjust_lon(_0x6eff58+this['long0']),_0x2104fa=gatg(this[_0x5d15bb(_0x299231._0x336401,0x7ca)],_0x54e68f);}else _0x4cae2c=Infinity,_0x2104fa=Infinity;_0x31a0e1['x']=_0x4cae2c,_0x31a0e1['y']=_0x2104fa;function _0x496545(_0x33d2bb,_0x4c2642){return _0x306755(_0x4c2642,_0x33d2bb- -0x92);}return _0x31a0e1;}var names$s=[_0x306755(0x12cb,0x105e),'Extended\x20Transverse\x20Mercator',_0x306755(0xf91,0x1480),'Transverse_Mercator','Transverse\x20Mercator',_0x306755(0xa61,0xf46),'Gauss_Kruger','tmerc'];const _0x1e3b8c={};_0x1e3b8c[_0x2b6441(0x54b,0x120)]=init$s,_0x1e3b8c['forward']=forward$r,_0x1e3b8c[_0x306755(0xd21,0x57d)]=inverse$r,_0x1e3b8c[_0x2b6441(0x861,0x6c5)]=names$s;var etmerc=_0x1e3b8c;function adjust_zone(_0x1b43b4,_0xa483a){if(_0x1b43b4===undefined){_0x1b43b4=Math['floor']((adjust_lon(_0xa483a)+Math['PI'])*0x1e/Math['PI'])+0x1;if(_0x1b43b4<0x0)return 0x0;else{if(_0x1b43b4>0x3c)return 0x3c;}}return _0x1b43b4;}var dependsOn='etmerc';function init$r(){const _0xc26e8f={_0x4c617c:0x61a,_0x1abf59:0x3f2,_0x62d978:0xa69,_0x2630e0:0x8};var _0x46c667=adjust_zone(this[_0x8865bd(0xb9d,0x11f9)],this[_0x4c41d2(_0xc26e8f._0x4c617c,-_0xc26e8f._0x1abf59)]);if(_0x46c667===undefined)throw new Error('unknown\x20utm\x20zone');this['lat0']=0x0,this['long0']=(0x6*Math['abs'](_0x46c667)-0xb7)*D2R$1,this['x0']=0x7a120,this['y0']=this['utmSouth']?0x989680:0x0;function _0x8865bd(_0x5173fd,_0x1c27b2){return _0x306755(_0x5173fd,_0x1c27b2-0x13c);}function _0x4c41d2(_0x161b99,_0x1fd088){return _0x306755(_0x1fd088,_0x161b99- -0x28e);}this['k0']=0.9996,etmerc['init']['apply'](this),this['forward']=etmerc[_0x4c41d2(_0xc26e8f._0x62d978,-_0xc26e8f._0x2630e0)],this[_0x4c41d2(0x2ef,-0x74a)]=etmerc[_0x4c41d2(0x2ef,0x4d4)];}var names$r=[_0x2b6441(0x9ac,0x4ad),'utm'];const _0xa7b8a9={};_0xa7b8a9[_0x2b6441(-0x6ab,0x120)]=init$r,_0xa7b8a9['names']=names$r,_0xa7b8a9['dependsOn']=dependsOn;var utm=_0xa7b8a9;function srat(_0x5ebfae,_0x304686){const _0x4593b3={_0x124c45:0xb72},_0xba7c4f={_0xed3424:0xac};function _0x5e6f16(_0xdb359f,_0x5a9fcc){return _0x2b6441(_0xdb359f,_0x5a9fcc-_0xba7c4f._0xed3424);}return Math[_0x5e6f16(_0x4593b3._0x124c45,0x1187)]((0x1-_0x5ebfae)/(0x1+_0x5ebfae),_0x304686);}var MAX_ITER$2=0x14;function init$q(){const _0x23691d={_0xad3972:0xa39,_0x173e64:0x3c5,_0x31e5be:0x1508,_0x4c6f19:0x885},_0x217d3c={_0x38bbe9:0x4d7};var _0x3625ff=Math['sin'](this[_0x295d65(_0x23691d._0xad3972,0xd63)]);function _0x295d65(_0x520ff4,_0x2d5f5e){return _0x306755(_0x2d5f5e,_0x520ff4-0xea);}var _0x186780=Math[_0x295d65(0xd79,_0x23691d._0x173e64)](this[_0x295d65(0xa39,0xc00)]);function _0x4ba2fd(_0x5c3c38,_0x4e3772){return _0x2b6441(_0x4e3772,_0x5c3c38-_0x217d3c._0x38bbe9);}_0x186780*=_0x186780,this['rc']=Math['sqrt'](0x1-this['es'])/(0x1-this['es']*_0x3625ff*_0x3625ff),this['C']=Math['sqrt'](0x1+this['es']*_0x186780*_0x186780/(0x1-this['es'])),this[_0x295d65(0x1033,_0x23691d._0x31e5be)]=Math['asin'](_0x3625ff/this['C']),this['ratexp']=0.5*this['C']*this['e'],this['K']=Math['tan'](0.5*this['phic0']+FORTPI)/(Math[_0x295d65(0x1766,0x161e)](Math['tan'](0.5*this[_0x4ba2fd(_0x23691d._0x4c6f19,0x1288)]+FORTPI),this['C'])*srat(this['e']*_0x3625ff,this['ratexp']));}function forward$q(_0xdc047b){const _0x3131a2={_0x3038c6:0xf94},_0x64ae4c={_0x384ee9:0x3b};var _0x30051e=_0xdc047b['x'],_0x3a3688=_0xdc047b['y'];function _0x501aca(_0x16679f,_0x451f33){return _0x306755(_0x16679f,_0x451f33-_0x64ae4c._0x384ee9);}_0xdc047b['y']=0x2*Math['atan'](this['K']*Math[_0x501aca(_0x3131a2._0x3038c6,0x16b7)](Math['tan'](0.5*_0x3a3688+FORTPI),this['C'])*srat(this['e']*Math['sin'](_0x3a3688),this[_0x501aca(0x708,0xf2b)]))-HALF_PI;function _0x1ca6d5(_0x22458f,_0x28fec5){return _0x306755(_0x22458f,_0x28fec5- -0x491);}return _0xdc047b['x']=this['C']*_0x30051e,_0xdc047b;}function inverse$q(_0x444c9e){const _0x20c3fa={_0x48c910:0xaf2,_0x28152b:0xc00};var _0x3002cd=1e-14,_0x10cdd2=_0x444c9e['x']/this['C'],_0x2e6c31=_0x444c9e['y'],_0x410af4=Math[_0x2a8bdd(0x159b,0x12e8)](Math[_0x2a8bdd(0x29c,_0x20c3fa._0x48c910)](0.5*_0x2e6c31+FORTPI)/this['K'],0x1/this['C']);for(var _0x562d86=MAX_ITER$2;_0x562d86>0x0;--_0x562d86){_0x2e6c31=0x2*Math['atan'](_0x410af4*srat(this['e']*Math['sin'](_0x444c9e['y']),-0.5*this['e']))-HALF_PI;if(Math[_0x33e0f9(_0x20c3fa._0x28152b,0xf80)](_0x2e6c31-_0x444c9e['y'])<_0x3002cd)break;_0x444c9e['y']=_0x2e6c31;}if(!_0x562d86)return null;function _0x33e0f9(_0x1c9aa2,_0x2c1645){return _0x306755(_0x1c9aa2,_0x2c1645- -0x4e1);}function _0x2a8bdd(_0x402331,_0x298502){return _0x306755(_0x402331,_0x298502- -0x394);}return _0x444c9e['x']=_0x10cdd2,_0x444c9e['y']=_0x2e6c31,_0x444c9e;}var names$q=['gauss'];const _0x5b4987={};_0x5b4987[_0x2b6441(0xa2,0x120)]=init$q,_0x5b4987[_0x306755(0x834,0xcf7)]=forward$q,_0x5b4987[_0x306755(0x7b6,0x57d)]=inverse$q,_0x5b4987['names']=names$q;var gauss=_0x5b4987;function init$p(){const _0x250b25={_0x2be6f3:0xa09,_0x48275e:0x8a3,_0x468151:0x159b,_0x2f4f14:0x1803,_0x4c9e34:0x13d5,_0x2e3b26:0x58a,_0xff5f57:0x9cf,_0x55da32:0x1cb},_0x4c59f2={_0x38d876:0x441};gauss[_0x3bb60b(_0x250b25._0x2be6f3,0x280)][_0xdf6cd6(_0x250b25._0x48275e,-0x17)](this);function _0x3bb60b(_0xa407c8,_0x2cc73d){return _0x306755(_0xa407c8,_0x2cc73d- -_0x4c59f2._0x38d876);}function _0xdf6cd6(_0xd32292,_0x258721){return _0x306755(_0xd32292,_0x258721- -0x4ed);}if(!this['rc'])return;this[_0x3bb60b(0xa90,0x21f)]=Math['sin'](this[_0x3bb60b(_0x250b25._0x468151,0xb08)]),this[_0x3bb60b(_0x250b25._0x2f4f14,_0x250b25._0x4c9e34)]=Math['cos'](this[_0xdf6cd6(_0x250b25._0x2e3b26,0xa5c)]),this['R2']=0x2*this['rc'],!this[_0x3bb60b(0x1099,_0x250b25._0xff5f57)]&&(this[_0x3bb60b(_0x250b25._0x55da32,0x9cf)]='Oblique\x20Stereographic\x20Alternative');}function forward$p(_0x43af08){const _0x411741={_0x3a092c:0x102,_0x1c13aa:0x1cd},_0x1e3988={_0x4d6d32:0x6b};var _0x2118f0,_0x369e59,_0x41ba3a,_0x41bdfd;_0x43af08['x']=adjust_lon(_0x43af08['x']-this['long0']),gauss['forward'][_0x533718(_0x411741._0x3a092c,-0x6c6)](this,[_0x43af08]);function _0x533718(_0x51d7be,_0x458fb3){return _0x2b6441(_0x458fb3,_0x51d7be-0x1cd);}_0x2118f0=Math[_0x533718(0x569,0x29c)](_0x43af08['y']),_0x369e59=Math['cos'](_0x43af08['y']),_0x41ba3a=Math['cos'](_0x43af08['x']),_0x41bdfd=this['k0']*this['R2']/(0x1+this[_0x533718(0x28c,_0x411741._0x1c13aa)]*_0x2118f0+this['cosc0']*_0x369e59*_0x41ba3a),_0x43af08['x']=_0x41bdfd*_0x369e59*Math['sin'](_0x43af08['x']);function _0xfc6a32(_0x2c8188,_0x24435f){return _0x2b6441(_0x2c8188,_0x24435f-_0x1e3988._0x4d6d32);}return _0x43af08['y']=_0x41bdfd*(this['cosc0']*_0x2118f0-this['sinc0']*_0x369e59*_0x41ba3a),_0x43af08['x']=this['a']*_0x43af08['x']+this['x0'],_0x43af08['y']=this['a']*_0x43af08['y']+this['y0'],_0x43af08;}function inverse$p(_0x3247c6){const _0x38ac98={_0x57ddd0:0x16ff};var _0x753ac1,_0x4eb87b,_0x263942,_0x2bd083,_0x2f951a;_0x3247c6['x']=(_0x3247c6['x']-this['x0'])/this['a'],_0x3247c6['y']=(_0x3247c6['y']-this['y0'])/this['a'],_0x3247c6['x']/=this['k0'];function _0x245fae(_0x2a0fd8,_0x584f42){return _0x2b6441(_0x2a0fd8,_0x584f42-0x48a);}_0x3247c6['y']/=this['k0'];if(_0x2f951a=hypot(_0x3247c6['x'],_0x3247c6['y'])){var _0x1f2b51=0x2*Math['atan2'](_0x2f951a,this['R2']);_0x753ac1=Math[_0x245fae(0x129b,0x826)](_0x1f2b51),_0x4eb87b=Math[_0x245fae(0x13e6,0xb78)](_0x1f2b51),_0x2bd083=Math[_0x245fae(0x109d,0x1123)](_0x4eb87b*this['sinc0']+_0x3247c6['y']*_0x753ac1*this['cosc0']/_0x2f951a),_0x263942=Math['atan2'](_0x3247c6['x']*_0x753ac1,_0x2f951a*this[_0x245fae(0xd25,_0x38ac98._0x57ddd0)]*_0x4eb87b-_0x3247c6['y']*this['sinc0']*_0x753ac1);}else _0x2bd083=this['phic0'],_0x263942=0x0;function _0x2b14e8(_0x48613e,_0x206732){return _0x306755(_0x206732,_0x48613e-0x11f);}return _0x3247c6['x']=_0x263942,_0x3247c6['y']=_0x2bd083,gauss['inverse']['apply'](this,[_0x3247c6]),_0x3247c6['x']=adjust_lon(_0x3247c6['x']+this['long0']),_0x3247c6;}var names$p=[_0x306755(0x170d,0x16d5),'Oblique_Stereographic','sterea','Oblique\x20Stereographic\x20Alternative','Double_Stereographic'];const _0x2b1f64={};_0x2b1f64['init']=init$p,_0x2b1f64['forward']=forward$p,_0x2b1f64['inverse']=inverse$p,_0x2b1f64['names']=names$p;var sterea=_0x2b1f64;function ssfn_(_0x141ad8,_0x1530c1,_0x4e4d6b){const _0x7183ad={_0x4f17d9:0xdf3};function _0x4d0d51(_0x3d780b,_0x39fa98){return _0x306755(_0x39fa98,_0x3d780b- -0xf);}return _0x1530c1*=_0x4e4d6b,Math[_0x4d0d51(0xe77,_0x7183ad._0x4f17d9)](0.5*(HALF_PI+_0x141ad8))*Math['pow']((0x1-_0x1530c1)/(0x1+_0x1530c1),0.5*_0x4e4d6b);}function init$o(){const _0x2cfd37={_0x4d4815:0x74e,_0x65edcc:0x13c4,_0x5b7f3c:0xa07,_0xf57117:0x7f5,_0x52135d:0x21d,_0x481d63:0x51a,_0x42f9e5:0x834,_0x475707:0x91,_0x86944a:0x103e,_0x57fbc2:0x1522,_0xeec281:0x158e,_0x19b7be:0x80c,_0x1fbab0:0x7d1,_0x184d7d:0x86c,_0xc13d21:0x7e3,_0x5979ed:0xb01,_0x1492a8:0xf2d};function _0x23c910(_0x35f8d4,_0x2e68b2){return _0x306755(_0x35f8d4,_0x2e68b2- -0x423);}this['x0']=this['x0']||0x0;function _0x5cbc10(_0x26bb4a,_0x5121f7){return _0x2b6441(_0x5121f7,_0x26bb4a-0x447);}this['y0']=this['y0']||0x0,this['lat0']=this['lat0']||0x0,this[_0x5cbc10(0x74e,0x536)]=this[_0x5cbc10(_0x2cfd37._0x4d4815,0x46a)]||0x0,this[_0x23c910(_0x2cfd37._0x65edcc,_0x2cfd37._0x5b7f3c)]=Math[_0x23c910(0xed0,0x86c)](this[_0x5cbc10(_0x2cfd37._0xf57117,0x9fb)]),this['sinlat0']=Math[_0x23c910(_0x2cfd37._0x52135d,_0x2cfd37._0x481d63)](this['lat0']),this[_0x5cbc10(_0x2cfd37._0x42f9e5,-_0x2cfd37._0x475707)]?this['k0']===0x1&&!isNaN(this['lat_ts'])&&Math['abs'](this['coslat0'])<=EPSLN&&(this['k0']=0.5*(0x1+sign(this['lat0'])*Math['sin'](this['lat_ts']))):(Math[_0x23c910(0x11e4,_0x2cfd37._0x86944a)](this['coslat0'])<=EPSLN&&(this[_0x5cbc10(_0x2cfd37._0xf57117,0xc7c)]>0x0?this['con']=0x1:this['con']=-0x1),this['cons']=Math['sqrt'](Math['pow'](0x1+this['e'],0x1+this['e'])*Math[_0x5cbc10(_0x2cfd37._0x57fbc2,_0x2cfd37._0xeec281)](0x1-this['e'],0x1-this['e'])),this['k0']===0x1&&!isNaN(this['lat_ts'])&&Math['abs'](this['coslat0'])<=EPSLN&&Math[_0x23c910(_0x2cfd37._0x19b7be,_0x2cfd37._0x86944a)](Math[_0x23c910(_0x2cfd37._0x1fbab0,_0x2cfd37._0x184d7d)](this['lat_ts']))>EPSLN&&(this['k0']=0.5*this[_0x23c910(-0x92,0x4ac)]*msfnz(this['e'],Math[_0x5cbc10(_0x2cfd37._0xc13d21,0x1299)](this[_0x23c910(0x14a7,0x149a)]),Math['cos'](this['lat_ts']))/tsfnz(this['e'],this['con']*this['lat_ts'],this['con']*Math['sin'](this['lat_ts']))),this[_0x5cbc10(0x154f,0x10e4)]=msfnz(this['e'],this['sinlat0'],this[_0x5cbc10(0xcd0,_0x2cfd37._0x5979ed)]),this['X0']=0x2*Math['atan'](this[_0x5cbc10(0x1728,_0x2cfd37._0x1492a8)](this['lat0'],this['sinlat0'],this['e']))-HALF_PI,this['cosX0']=Math['cos'](this['X0']),this['sinX0']=Math[_0x5cbc10(_0x2cfd37._0xc13d21,0x1196)](this['X0']));}function forward$o(_0x4d282b){const _0x21cb53={_0x2138ef:0x3c9,_0x2433ef:0x93d,_0x2e3244:0x2ae,_0x4390d7:0xaa3,_0x3b7fc0:0xae4,_0x5b63e6:0x9fd,_0xc549ff:0x2cf,_0x45ced3:0xb4,_0x346f9b:0x160d,_0x36bbfe:0x94,_0x3eaa21:0x830,_0x453477:0x22b,_0x3d72ce:0x513,_0x3725a5:0x37e,_0x17e663:0x71b,_0xff0959:0x19c,_0x53f46e:0x1be2},_0x37fc97={_0xbb1b4c:0x10d},_0x5e7ec3={_0x5a5e98:0x574};function _0x1aa62a(_0x3cc6d6,_0x20e2af){return _0x306755(_0x20e2af,_0x3cc6d6- -_0x5e7ec3._0x5a5e98);}var _0xf3bad6=_0x4d282b['x'],_0x2fb503=_0x4d282b['y'],_0x360d02=Math[_0x1aa62a(_0x21cb53._0x2138ef,_0x21cb53._0x2433ef)](_0x2fb503),_0x8f8555=Math[_0x1aa62a(0x71b,_0x21cb53._0x2e3244)](_0x2fb503),_0x30abdf,_0x2f21a7,_0x4f9af2,_0x46630f,_0x1a2001,_0x278140,_0x452f98=adjust_lon(_0xf3bad6-this['long0']);if(Math['abs'](Math[_0x1aa62a(0xeed,_0x21cb53._0x4390d7)](_0xf3bad6-this['long0'])-Math['PI'])<=EPSLN&&Math[_0x1aa62a(0xeed,_0x21cb53._0x3b7fc0)](_0x2fb503+this['lat0'])<=EPSLN)return _0x4d282b['x']=NaN,_0x4d282b['y']=NaN,_0x4d282b;function _0x14bcbb(_0x5f1b33,_0x3a5cbd){return _0x306755(_0x5f1b33,_0x3a5cbd- -_0x37fc97._0xbb1b4c);}if(this['sphere'])return _0x30abdf=0x2*this['k0']/(0x1+this[_0x1aa62a(0xd41,_0x21cb53._0x5b63e6)]*_0x360d02+this[_0x14bcbb(0xaa3,0xd1d)]*_0x8f8555*Math['cos'](_0x452f98)),_0x4d282b['x']=this['a']*_0x30abdf*_0x8f8555*Math['sin'](_0x452f98)+this['x0'],_0x4d282b['y']=this['a']*_0x30abdf*(this['coslat0']*_0x360d02-this['sinlat0']*_0x8f8555*Math['cos'](_0x452f98))+this['y0'],_0x4d282b;else{_0x2f21a7=0x2*Math[_0x1aa62a(_0x21cb53._0xc549ff,_0x21cb53._0x45ced3)](this[_0x1aa62a(0x130e,_0x21cb53._0x346f9b)](_0x2fb503,_0x360d02,this['e']))-HALF_PI,_0x46630f=Math['cos'](_0x2f21a7),_0x4f9af2=Math['sin'](_0x2f21a7);if(Math[_0x1aa62a(0xeed,0x6ff)](this['coslat0'])<=EPSLN)return _0x1a2001=tsfnz(this['e'],_0x2fb503*this['con'],this['con']*_0x360d02),_0x278140=0x2*this['a']*this['k0']*_0x1a2001/this[_0x14bcbb(0xfbe,0x7c2)],_0x4d282b['x']=this['x0']+_0x278140*Math[_0x14bcbb(_0x21cb53._0x36bbfe,_0x21cb53._0x3eaa21)](_0xf3bad6-this[_0x14bcbb(-0x203,0x79b)]),_0x4d282b['y']=this['y0']-this[_0x1aa62a(_0x21cb53._0x453477,-_0x21cb53._0x3d72ce)]*_0x278140*Math[_0x1aa62a(0x71b,0xbb4)](_0xf3bad6-this[_0x14bcbb(0xf25,0x79b)]),_0x4d282b;else Math['abs'](this[_0x1aa62a(0xd41,_0x21cb53._0x3725a5)])<EPSLN?(_0x30abdf=0x2*this['a']*this['k0']/(0x1+_0x46630f*Math[_0x1aa62a(_0x21cb53._0x17e663,_0x21cb53._0xff0959)](_0x452f98)),_0x4d282b['y']=_0x30abdf*_0x4f9af2):(_0x30abdf=0x2*this['a']*this['k0']*this[_0x1aa62a(0x1135,0x16cd)]/(this[_0x14bcbb(0xb25,0xb55)]*(0x1+this[_0x1aa62a(0x113b,_0x21cb53._0x53f46e)]*_0x4f9af2+this['cosX0']*_0x46630f*Math['cos'](_0x452f98))),_0x4d282b['y']=_0x30abdf*(this['cosX0']*_0x4f9af2-this['sinX0']*_0x46630f*Math['cos'](_0x452f98))+this['y0']);_0x4d282b['x']=_0x30abdf*_0x46630f*Math['sin'](_0x452f98)+this['x0'];}return _0x4d282b;}function inverse$o(_0x6f42e8){const _0x3840fe={_0x3baad7:0x564,_0x2704c1:0xc91,_0xaf55a6:0x368,_0x385d2b:0x25f,_0x50991b:0xa4a,_0x15dedd:0x889,_0x2d2ff2:0x4d9,_0x13bf2b:0x1169,_0x18e232:0x3fd,_0x4c7186:0x2ad,_0x193620:0x3dc};_0x6f42e8['x']-=this['x0'],_0x6f42e8['y']-=this['y0'];function _0x120f0d(_0x1679c0,_0x204918){return _0x2b6441(_0x1679c0,_0x204918- -0x8);}var _0x56943e,_0x4743b9,_0xdcf3a6,_0x51e612,_0x559e7c,_0x20bac0=Math['sqrt'](_0x6f42e8['x']*_0x6f42e8['x']+_0x6f42e8['y']*_0x6f42e8['y']);if(this[_0x120f0d(-_0x3840fe._0x3baad7,0x3e5)]){var _0x29ca00=0x2*Math[_0x120f0d(0xa0d,0x29a)](_0x20bac0/(0x2*this['a']*this['k0']));_0x56943e=this['long0'],_0x4743b9=this['lat0'];if(_0x20bac0<=EPSLN)return _0x6f42e8['x']=_0x56943e,_0x6f42e8['y']=_0x4743b9,_0x6f42e8;return _0x4743b9=Math[_0x120f0d(0xb79,_0x3840fe._0x2704c1)](Math['cos'](_0x29ca00)*this['sinlat0']+_0x6f42e8['y']*Math['sin'](_0x29ca00)*this['coslat0']/_0x20bac0),Math['abs'](this['coslat0'])<EPSLN?this[_0x4cb74b(0x40f,0x32e)]>0x0?_0x56943e=adjust_lon(this['long0']+Math['atan2'](_0x6f42e8['x'],-0x1*_0x6f42e8['y'])):_0x56943e=adjust_lon(this['long0']+Math['atan2'](_0x6f42e8['x'],_0x6f42e8['y'])):_0x56943e=adjust_lon(this['long0']+Math['atan2'](_0x6f42e8['x']*Math[_0x120f0d(0xdda,0x394)](_0x29ca00),_0x20bac0*this['coslat0']*Math['cos'](_0x29ca00)-_0x6f42e8['y']*this['sinlat0']*Math[_0x4cb74b(0x3fd,0x5a1)](_0x29ca00))),_0x6f42e8['x']=_0x56943e,_0x6f42e8['y']=_0x4743b9,_0x6f42e8;}else{if(Math[_0x120f0d(0x1824,0xeb8)](this['coslat0'])<=EPSLN){if(_0x20bac0<=EPSLN)return _0x4743b9=this['lat0'],_0x56943e=this[_0x4cb74b(_0x3840fe._0xaf55a6,0x497)],_0x6f42e8['x']=_0x56943e,_0x6f42e8['y']=_0x4743b9,_0x6f42e8;_0x6f42e8['x']*=this[_0x4cb74b(_0x3840fe._0x385d2b,_0x3840fe._0x50991b)],_0x6f42e8['y']*=this['con'],_0xdcf3a6=_0x20bac0*this[_0x120f0d(0x534,0x326)]/(0x2*this['a']*this['k0']),_0x4743b9=this['con']*phi2z(this['e'],_0xdcf3a6),_0x56943e=this[_0x120f0d(_0x3840fe._0x15dedd,0x1f6)]*adjust_lon(this['con']*this[_0x4cb74b(_0x3840fe._0xaf55a6,_0x3840fe._0x2d2ff2)]+Math['atan2'](_0x6f42e8['x'],-0x1*_0x6f42e8['y']));}else _0x51e612=0x2*Math['atan'](_0x20bac0*this['cosX0']/(0x2*this['a']*this['k0']*this[_0x4cb74b(_0x3840fe._0x13bf2b,0x10ec)])),_0x56943e=this['long0'],_0x20bac0<=EPSLN?_0x559e7c=this['X0']:(_0x559e7c=Math['asin'](Math['cos'](_0x51e612)*this['sinX0']+_0x6f42e8['y']*Math[_0x4cb74b(_0x3840fe._0x18e232,-0x674)](_0x51e612)*this['cosX0']/_0x20bac0),_0x56943e=adjust_lon(this['long0']+Math['atan2'](_0x6f42e8['x']*Math[_0x120f0d(-_0x3840fe._0x4c7186,0x394)](_0x51e612),_0x20bac0*this['cosX0']*Math['cos'](_0x51e612)-_0x6f42e8['y']*this['sinX0']*Math[_0x120f0d(-_0x3840fe._0x193620,0x394)](_0x51e612)))),_0x4743b9=-0x1*phi2z(this['e'],Math['tan'](0.5*(HALF_PI+_0x559e7c)));}_0x6f42e8['x']=_0x56943e;function _0x4cb74b(_0x41c72d,_0x318c94){return _0x306755(_0x318c94,_0x41c72d- -0x540);}return _0x6f42e8['y']=_0x4743b9,_0x6f42e8;}var names$o=[_0x2b6441(0x7cb,0x1d8),'Stereographic_South_Pole','Polar\x20Stereographic\x20(variant\x20B)','Polar_Stereographic'];const _0x4b7724={};_0x4b7724['init']=init$o,_0x4b7724[_0x2b6441(0x10d9,0x756)]=forward$o,_0x4b7724['inverse']=inverse$o,_0x4b7724[_0x306755(0x45c,0xc66)]=names$o,_0x4b7724['ssfn_']=ssfn_;var stere=_0x4b7724;function init$n(){const _0x5eb4e3={_0x364e8f:0x1a92,_0x2b036c:0x13d6,_0x5a0661:0x1765};var _0x304ddd=this['lat0'];this[_0xda0fb2(_0x5eb4e3._0x364e8f,0x169a)]=this[_0x1c1e7e(0x73f,0xd3f)];var _0x28c2b6=Math['sin'](_0x304ddd),_0x4af1c1=this['a'],_0x5f0e10=this['rf'],_0x5f4862=0x1/_0x5f0e10,_0x47963b=0x2*_0x5f4862-Math['pow'](_0x5f4862,0x2);function _0x1c1e7e(_0x1b9500,_0x1dbe5c){return _0x2b6441(_0x1dbe5c,_0x1b9500-0x438);}var _0x28af97=this['e']=Math[_0x1c1e7e(_0x5eb4e3._0x2b036c,0x915)](_0x47963b);this['R']=this['k0']*_0x4af1c1*Math[_0xda0fb2(0x1628,0xde8)](0x1-_0x47963b)/(0x1-_0x47963b*Math[_0xda0fb2(_0x5eb4e3._0x5a0661,0x1f1c)](_0x28c2b6,0x2)),this['alpha']=Math['sqrt'](0x1+_0x47963b/(0x1-_0x47963b)*Math['pow'](Math['cos'](_0x304ddd),0x4));function _0xda0fb2(_0x17bb3c,_0xdd219b){return _0x2b6441(_0xdd219b,_0x17bb3c-0x68a);}this['b0']=Math['asin'](_0x28c2b6/this['alpha']);var _0x4f78a8=Math['log'](Math[_0x1c1e7e(0xd1d,0x506)](Math['PI']/0x4+this['b0']/0x2)),_0x576e83=Math['log'](Math['tan'](Math['PI']/0x4+_0x304ddd/0x2)),_0x5325a5=Math['log']((0x1+_0x28af97*_0x28c2b6)/(0x1-_0x28af97*_0x28c2b6));this['K']=_0x4f78a8-this['alpha']*_0x576e83+this['alpha']*_0x28af97/0x2*_0x5325a5;}function forward$n(_0x34584e){const _0x58cd6a={_0x1fa7c5:0x95f,_0x2d3b79:0x487,_0x4fbae2:0x11c4,_0x34020d:0x5d5,_0x3b754b:0x416},_0x33dd6e={_0x3848d5:0x7a};var _0x5b8119=Math['log'](Math[_0x48aafc(_0x58cd6a._0x1fa7c5,0x142a)](Math['PI']/0x4-_0x34584e['y']/0x2)),_0x2fe72e=this['e']/0x2*Math['log']((0x1+this['e']*Math[_0x496e8e(0x581,0x3f6)](_0x34584e['y']))/(0x1-this['e']*Math['sin'](_0x34584e['y']))),_0x70dcdb=-this['alpha']*(_0x5b8119+_0x2fe72e)+this['K'];function _0x496e8e(_0xe437a1,_0x3ce674){return _0x306755(_0x3ce674,_0xe437a1- -0x3bc);}var _0x5eecfe=0x2*(Math[_0x496e8e(_0x58cd6a._0x2d3b79,-0x34f)](Math['exp'](_0x70dcdb))-Math['PI']/0x4),_0x48b248=this[_0x496e8e(0x11e3,0x9ef)]*(_0x34584e['x']-this['lambda0']),_0x4be1b9=Math[_0x496e8e(_0x58cd6a._0x2d3b79,-0x15e)](Math['sin'](_0x48b248)/(Math['sin'](this['b0'])*Math['tan'](_0x5eecfe)+Math['cos'](this['b0'])*Math[_0x496e8e(0x8d3,-0x11b)](_0x48b248))),_0x3f8670=Math['asin'](Math[_0x496e8e(0x8d3,_0x58cd6a._0x4fbae2)](this['b0'])*Math['sin'](_0x5eecfe)-Math['sin'](this['b0'])*Math[_0x496e8e(0x8d3,0xecd)](_0x5eecfe)*Math[_0x496e8e(0x8d3,_0x58cd6a._0x34020d)](_0x48b248));_0x34584e['y']=this['R']/0x2*Math['log']((0x1+Math[_0x496e8e(0x581,0x576)](_0x3f8670))/(0x1-Math[_0x48aafc(_0x58cd6a._0x3b754b,0xacc)](_0x3f8670)))+this['y0'],_0x34584e['x']=this['R']*_0x4be1b9+this['x0'];function _0x48aafc(_0x1fbcd3,_0x35d932){return _0x2b6441(_0x35d932,_0x1fbcd3-_0x33dd6e._0x3848d5);}return _0x34584e;}function inverse$n(_0x5323fe){const _0x434a6d={_0x5dbe6d:0x139,_0x31afae:0xd53,_0x2e7c32:0x739,_0x1b7d7c:0x116e,_0x356ce8:0xc0f,_0x3e3f7b:0xf6e};function _0x2dafe4(_0x2fcb12,_0x3fc3b8){return _0x2b6441(_0x2fcb12,_0x3fc3b8-0x521);}var _0x540664=_0x5323fe['x']-this['x0'],_0x53c687=_0x5323fe['y']-this['y0'],_0x244c73=_0x540664/this['R'],_0x54bf51=0x2*(Math[_0x2dafe4(0x13a,0x7c3)](Math['exp'](_0x53c687/this['R']))-Math['PI']/0x4),_0x48daa7=Math[_0x2dafe4(0x15ab,0x11ba)](Math['cos'](this['b0'])*Math[_0x2dafe4(_0x434a6d._0x5dbe6d,0x8bd)](_0x54bf51)+Math['sin'](this['b0'])*Math[_0x6c414b(0xb85,_0x434a6d._0x31afae)](_0x54bf51)*Math[_0x2dafe4(0xc44,0xc0f)](_0x244c73)),_0x5773ec=Math[_0x6c414b(_0x434a6d._0x2e7c32,_0x434a6d._0x1b7d7c)](Math[_0x6c414b(0x833,0x21d)](_0x244c73)/(Math['cos'](this['b0'])*Math[_0x2dafe4(0xf5e,_0x434a6d._0x356ce8)](_0x244c73)-Math['sin'](this['b0'])*Math['tan'](_0x54bf51))),_0xa7b0a6=this[_0x6c414b(0x189f,0x15ba)]+_0x5773ec/this['alpha'],_0x145145=0x0,_0x152739=_0x48daa7;function _0x6c414b(_0x537f91,_0x2b7b0e){return _0x306755(_0x2b7b0e,_0x537f91- -0x10a);}var _0x1cc9aa=-0x3e8,_0x431841=0x0;while(Math['abs'](_0x152739-_0x1cc9aa)>1e-7){if(++_0x431841>0x14)return;_0x145145=0x1/this['alpha']*(Math['log'](Math[_0x6c414b(0xd7c,0xfcd)](Math['PI']/0x4+_0x48daa7/0x2))-this['K'])+this['e']*Math['log'](Math[_0x2dafe4(0xbcb,0xe06)](Math['PI']/0x4+Math['asin'](this['e']*Math[_0x6c414b(0x833,_0x434a6d._0x3e3f7b)](_0x152739))/0x2)),_0x1cc9aa=_0x152739,_0x152739=0x2*Math['atan'](Math['exp'](_0x145145))-Math['PI']/0x2;}return _0x5323fe['x']=_0xa7b0a6,_0x5323fe['y']=_0x152739,_0x5323fe;}var names$n=[_0x306755(0x1adc,0x17d2)];const _0x427158={};_0x427158['init']=init$n,_0x427158['forward']=forward$n,_0x427158['inverse']=inverse$n,_0x427158[_0x306755(0x13bd,0xc66)]=names$n;var somerc=_0x427158,TOL=1e-7;function isTypeA(_0x187258){const _0x3a08e1={_0x336c03:0x43f,_0xadb4d1:0x963,_0x59920d:0xbbc,_0x486834:0x952,_0x46e31e:0x1c22,_0x2e54e9:0x1690};function _0x268a6b(_0x1bd85f,_0x995824){return _0x2b6441(_0x1bd85f,_0x995824-0x76);}var _0x311ae8=[_0x36ebe3(0xaac,_0x3a08e1._0x336c03),_0x36ebe3(0x532,_0x3a08e1._0xadb4d1)],_0x30cfdb=typeof _0x187258[_0x36ebe3(0xb5b,0x952)]==='object'?Object[_0x268a6b(0x4fd,_0x3a08e1._0x59920d)](_0x187258[_0x36ebe3(0x53b,_0x3a08e1._0x486834)])[0x0]:_0x187258['PROJECTION'];function _0x36ebe3(_0x5892bc,_0x3282b5){return _0x2b6441(_0x5892bc,_0x3282b5-0x2f8);}return _0x268a6b(-0x105,0x403)in _0x187258||_0x36ebe3(_0x3a08e1._0x46e31e,_0x3a08e1._0x2e54e9)in _0x187258||_0x311ae8['indexOf'](_0x30cfdb)!==-0x1;}function init$m(){const _0x543b5f={_0xfc10b6:0x16ff,_0x46703c:0x125c,_0x2102cd:0xdbf,_0x2699ad:0xf7c,_0x40c54c:0x14f1,_0x4cf46b:0xd30,_0x266453:0x15c1,_0x506a26:0x1a8a,_0x8155d6:0x15c1,_0x2ebe4d:0x11aa,_0xa72f64:0x15cf,_0x316840:0x9d5,_0x57e3b7:0xe27,_0x1cb5db:0xada,_0x4a15a1:0x137c,_0x3f55c5:0x1e3e,_0xd1fe32:0xf06,_0x24c477:0x8c1,_0x8a044b:0x4e,_0x39a612:0x9df,_0x4e4ea4:0x1362,_0x21e240:0xf16,_0x24a20f:0x178,_0x3553d2:0x9bc,_0x4869e1:0x199f},_0x5797ae={_0x2a1341:0x631},_0x442d46={_0x2cc82a:0x701};var _0x15e428,_0x3ba070,_0x298447,_0x413849,_0x2e2f38,_0x55241f,_0x35542e,_0x5c5087,_0x4ddef1,_0x4a6e01,_0x1c0882=0x0,_0x3ef3e6,_0x3be75e=0x0,_0x1246e8=0x0,_0x47223c=0x0,_0x1d3b17=0x0,_0xbdba53=0x0,_0x366fc7=0x0;this[_0x3b25fe(0x1a23,0x19c9)]=isTypeA(this),this['no_rot']=_0x3dfd0a(0x11af,0x75e)in this;var _0x9db341=![];_0x3dfd0a(0xf0b,_0x543b5f._0xfc10b6)in this&&(_0x9db341=!![]);var _0x5be596=![];_0x3b25fe(0xf71,0x10cf)in this&&(_0x5be596=!![]);_0x9db341&&(_0x366fc7=this[_0x3b25fe(0x1219,0x162f)]);_0x5be596&&(_0x1c0882=this['rectified_grid_angle']*D2R$1);if(_0x9db341||_0x5be596)_0x3be75e=this['longc'];else{_0x1246e8=this[_0x3dfd0a(_0x543b5f._0x46703c,_0x543b5f._0x2102cd)],_0x1d3b17=this['lat1'],_0x47223c=this['long2'],_0xbdba53=this[_0x3b25fe(0x5e3,_0x543b5f._0x2699ad)];if(Math['abs'](_0x1d3b17-_0xbdba53)<=TOL||(_0x15e428=Math['abs'](_0x1d3b17))<=TOL||Math[_0x3b25fe(0x1515,_0x543b5f._0x40c54c)](_0x15e428-HALF_PI)<=TOL||Math['abs'](Math[_0x3dfd0a(_0x543b5f._0x4cf46b,_0x543b5f._0x266453)](this['lat0'])-HALF_PI)<=TOL||Math[_0x3dfd0a(_0x543b5f._0x506a26,_0x543b5f._0x8155d6)](Math['abs'](_0xbdba53)-HALF_PI)<=TOL)throw new Error();}var _0x4f5b37=0x1-this['es'];_0x3ba070=Math[_0x3dfd0a(0x1487,0x169f)](_0x4f5b37);Math['abs'](this['lat0'])>EPSLN?(_0x5c5087=Math['sin'](this[_0x3b25fe(0xfe9,0x9df)]),_0x298447=Math[_0x3dfd0a(0x675,0xdef)](this['lat0']),_0x15e428=0x1-this['es']*_0x5c5087*_0x5c5087,this['B']=_0x298447*_0x298447,this['B']=Math['sqrt'](0x1+this['es']*this['B']*this['B']/_0x4f5b37),this['A']=this['B']*this['k0']*_0x3ba070/_0x15e428,_0x413849=this['B']*_0x3ba070/(_0x298447*Math[_0x3b25fe(_0x543b5f._0x2ebe4d,_0x543b5f._0xa72f64)](_0x15e428)),_0x2e2f38=_0x413849*_0x413849-0x1,_0x2e2f38<=0x0?_0x2e2f38=0x0:(_0x2e2f38=Math['sqrt'](_0x2e2f38),this['lat0']<0x0&&(_0x2e2f38=-_0x2e2f38)),this['E']=_0x2e2f38+=_0x413849,this['E']*=Math['pow'](tsfnz(this['e'],this[_0x3b25fe(0x100b,0x9df)],_0x5c5087),this['B'])):(this['B']=0x1/_0x3ba070,this['A']=this['k0'],this['E']=_0x413849=_0x2e2f38=0x1);if(_0x9db341||_0x5be596)_0x9db341?(_0x3ef3e6=Math['asin'](Math[_0x3dfd0a(0x1192,0xa9d)](_0x366fc7)/_0x413849),!_0x5be596&&(_0x1c0882=_0x366fc7)):(_0x3ef3e6=_0x1c0882,_0x366fc7=Math[_0x3dfd0a(0x11fa,0x139a)](_0x413849*Math['sin'](_0x3ef3e6))),this[_0x3b25fe(_0x543b5f._0x316840,_0x543b5f._0x57e3b7)]=_0x3be75e-Math[_0x3b25fe(_0x543b5f._0x1cb5db,0x12ca)](0.5*(_0x2e2f38-0x1/_0x2e2f38)*Math['tan'](_0x3ef3e6))/this['B'];else{_0x55241f=Math['pow'](tsfnz(this['e'],_0x1d3b17,Math['sin'](_0x1d3b17)),this['B']),_0x35542e=Math['pow'](tsfnz(this['e'],_0xbdba53,Math['sin'](_0xbdba53)),this['B']),_0x2e2f38=this['E']/_0x55241f,_0x4ddef1=(_0x35542e-_0x55241f)/(_0x35542e+_0x55241f),_0x4a6e01=this['E']*this['E'],_0x4a6e01=(_0x4a6e01-_0x35542e*_0x55241f)/(_0x4a6e01+_0x35542e*_0x55241f),_0x15e428=_0x1246e8-_0x47223c;if(_0x15e428<-Math['pi'])_0x47223c-=TWO_PI;else _0x15e428>Math['pi']&&(_0x47223c+=TWO_PI);this[_0x3b25fe(0x90c,0xe27)]=adjust_lon(0.5*(_0x1246e8+_0x47223c)-Math['atan'](_0x4a6e01*Math['tan'](0.5*this['B']*(_0x1246e8-_0x47223c))/_0x4ddef1)/this['B']),_0x3ef3e6=Math['atan'](0x2*Math['sin'](this['B']*adjust_lon(_0x1246e8-this['lam0']))/(_0x2e2f38-0x1/_0x2e2f38)),_0x1c0882=_0x366fc7=Math['asin'](_0x413849*Math[_0x3b25fe(_0x543b5f._0x4a15a1,0x9cd)](_0x3ef3e6));}this['singam']=Math['sin'](_0x3ef3e6),this[_0x3b25fe(0x791,0xf04)]=Math['cos'](_0x3ef3e6),this['sinrot']=Math['sin'](_0x1c0882),this[_0x3b25fe(0x19d0,0x12cc)]=Math['cos'](_0x1c0882);function _0x3dfd0a(_0xe6b35a,_0xbc750b){return _0x2b6441(_0xe6b35a,_0xbc750b-_0x442d46._0x2cc82a);}this['rB']=0x1/this['B'],this['ArB']=this['A']*this['rB'],this['BrA']=0x1/this['ArB'],this['A']*this['B'];this[_0x3dfd0a(_0x543b5f._0x3f55c5,0x1a99)]?this[_0x3dfd0a(_0x543b5f._0xd1fe32,0x886)]=0x0:(this[_0x3dfd0a(0x4e2,0x886)]=Math['abs'](this[_0x3dfd0a(0x282,_0x543b5f._0x24c477)]*Math[_0x3dfd0a(-_0x543b5f._0x8a044b,0x9a3)](Math['sqrt'](_0x413849*_0x413849-0x1)/Math['cos'](_0x366fc7))),this[_0x3b25fe(0x5ca,_0x543b5f._0x39a612)]<0x0&&(this['u_0']=-this[_0x3b25fe(0x6f7,0x7b6)]));_0x2e2f38=0.5*_0x3ef3e6,this['v_pole_n']=this[_0x3dfd0a(_0x543b5f._0x4e4ea4,0x8c1)]*Math['log'](Math[_0x3b25fe(0xf91,_0x543b5f._0x21e240)](FORTPI-_0x2e2f38));function _0x3b25fe(_0xc2b88,_0x9289c3){return _0x2b6441(_0xc2b88,_0x9289c3-_0x5797ae._0x2a1341);}this[_0x3dfd0a(_0x543b5f._0x24a20f,_0x543b5f._0x3553d2)]=this['ArB']*Math[_0x3dfd0a(0x567,0x5c4)](Math[_0x3b25fe(_0x543b5f._0x4869e1,_0x543b5f._0x21e240)](FORTPI+_0x2e2f38));}function forward$m(_0x932683){const _0x171507={_0x142fe7:0xfcd,_0x509bff:0x116a,_0x1b4169:0x21d,_0x8868e8:0x1141},_0x5b6587={_0x3bbc00:0x4a};var _0x1946f3={},_0x13cd43,_0x179ba6,_0xf86eb9,_0x35077c,_0x19c88d,_0x1d5348,_0x4da18a,_0x11a761;function _0x56e264(_0x292db4,_0x271a0e){return _0x2b6441(_0x271a0e,_0x292db4- -_0x5b6587._0x3bbc00);}_0x932683['x']=_0x932683['x']-this['lam0'];function _0x53aecb(_0x8da841,_0x20f77e){return _0x2b6441(_0x8da841,_0x20f77e-0x187);}if(Math['abs'](Math['abs'](_0x932683['y'])-HALF_PI)>EPSLN){_0x19c88d=this['E']/Math['pow'](tsfnz(this['e'],_0x932683['y'],Math['sin'](_0x932683['y'])),this['B']),_0x1d5348=0x1/_0x19c88d,_0x13cd43=0.5*(_0x19c88d-_0x1d5348),_0x179ba6=0.5*(_0x19c88d+_0x1d5348),_0x35077c=Math['sin'](this['B']*_0x932683['x']),_0xf86eb9=(_0x13cd43*this['singam']-_0x35077c*this[_0x53aecb(0xe76,0xa5a)])/_0x179ba6;if(Math['abs'](Math['abs'](_0xf86eb9)-0x1)<EPSLN)throw new Error();_0x11a761=0.5*this['ArB']*Math['log']((0x1-_0xf86eb9)/(0x1+_0xf86eb9)),_0x1d5348=Math[_0x53aecb(_0x171507._0x142fe7,0x875)](this['B']*_0x932683['x']),Math[_0x56e264(0xe76,_0x171507._0x509bff)](_0x1d5348)<TOL?_0x4da18a=this['A']*_0x932683['x']:_0x4da18a=this['ArB']*Math['atan2'](_0x13cd43*this[_0x53aecb(0x12df,0xa5a)]+_0x35077c*this['singam'],_0x1d5348);}else _0x11a761=_0x932683['y']>0x0?this['v_pole_n']:this['v_pole_s'],_0x4da18a=this[_0x53aecb(-0x137,0x347)]*_0x932683['y'];return this['no_rot']?(_0x1946f3['x']=_0x4da18a,_0x1946f3['y']=_0x11a761):(_0x4da18a-=this[_0x56e264(0x13b,_0x171507._0x1b4169)],_0x1946f3['x']=_0x11a761*this['cosrot']+_0x4da18a*this[_0x53aecb(_0x171507._0x8868e8,0x1212)],_0x1946f3['y']=_0x4da18a*this['cosrot']-_0x11a761*this['sinrot']),_0x1946f3['x']=this['a']*_0x1946f3['x']+this['x0'],_0x1946f3['y']=this['a']*_0x1946f3['y']+this['y0'],_0x1946f3;}function inverse$m(_0x45d8cb){const _0x20c25c={_0x20b812:0x1798,_0x465e8c:0x1e23,_0x1c6e63:0x1372,_0x89820d:0x884,_0x4f3b5b:0xd85};var _0x4678f3,_0x23e2fa,_0x4f0d98,_0x2501ab,_0x4592b1,_0x4dc558,_0x3504b3,_0x52bef1={};_0x45d8cb['x']=(_0x45d8cb['x']-this['x0'])*(0x1/this['a']);function _0x252503(_0x3d8419,_0x43c404){return _0x2b6441(_0x3d8419,_0x43c404-0x4b2);}_0x45d8cb['y']=(_0x45d8cb['y']-this['y0'])*(0x1/this['a']);function _0x4c7b27(_0x3bb679,_0x36eb5c){return _0x306755(_0x3bb679,_0x36eb5c-0x45);}this['no_rot']?(_0x23e2fa=_0x45d8cb['y'],_0x4678f3=_0x45d8cb['x']):(_0x23e2fa=_0x45d8cb['x']*this['cosrot']-_0x45d8cb['y']*this['sinrot'],_0x4678f3=_0x45d8cb['y']*this[_0x4c7b27(0x11bd,0x1281)]+_0x45d8cb['x']*this['sinrot']+this[_0x4c7b27(0x24,0x76b)]);_0x4f0d98=Math['exp'](-this['BrA']*_0x23e2fa),_0x2501ab=0.5*(_0x4f0d98-0x1/_0x4f0d98),_0x4592b1=0.5*(_0x4f0d98+0x1/_0x4f0d98),_0x4dc558=Math[_0x252503(0xf25,0x84e)](this[_0x252503(0x186f,_0x20c25c._0x20b812)]*_0x4678f3),_0x3504b3=(_0x4dc558*this['cosgam']+_0x2501ab*this[_0x252503(_0x20c25c._0x465e8c,0x1856)])/_0x4592b1;if(Math['abs'](Math[_0x252503(0x90e,_0x20c25c._0x1c6e63)](_0x3504b3)-0x1)<EPSLN)_0x52bef1['x']=0x0,_0x52bef1['y']=_0x3504b3<0x0?-HALF_PI:HALF_PI;else{_0x52bef1['y']=this['E']/Math[_0x252503(0x11df,0x1450)]((0x1+_0x3504b3)/(0x1-_0x3504b3)),_0x52bef1['y']=phi2z(this['e'],Math['pow'](_0x52bef1['y'],0x1/this['B']));if(_0x52bef1['y']===Infinity)throw new Error();_0x52bef1['x']=-this['rB']*Math[_0x252503(0xbae,_0x20c25c._0x89820d)](_0x2501ab*this[_0x252503(0xb3a,_0x20c25c._0x4f3b5b)]-_0x4dc558*this['singam'],Math[_0x252503(0x1082,0xba0)](this['BrA']*_0x4678f3));}return _0x52bef1['x']+=this['lam0'],_0x52bef1;}var names$m=[_0x2b6441(0x31c,0x147),_0x306755(0x7d6,0xdb2),'Hotine_Oblique_Mercator_Azimuth_Natural_Origin',_0x2b6441(0xd2b,0xd12),_0x2b6441(0xe48,0xa71),_0x306755(0xcfb,0x85e),'omerc'];const _0x2975fc={};_0x2975fc['init']=init$m,_0x2975fc['forward']=forward$m,_0x2975fc['inverse']=inverse$m,_0x2975fc['names']=names$m;var omerc=_0x2975fc;function init$l(){const _0x3c0331={_0x37c949:0x9e8,_0x161424:0xc25,_0x11163e:0x115d,_0x51a299:0xc31,_0x42be82:0x1047,_0x47e216:0x9e8,_0x22b936:0xb0a,_0x5c9f5d:0xe01,_0x378a51:0x55b,_0x55f698:0x37c,_0x3b25f1:0xb6b};!this['lat2']&&(this['lat2']=this[_0x21ef9c(0x97b,_0x3c0331._0x37c949)]);!this['k0']&&(this['k0']=0x1);this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0;if(Math['abs'](this[_0x140e3a(0xc31,_0x3c0331._0x161424)]+this['lat2'])<EPSLN)return;var _0x517e3f=this['b']/this['a'];this['e']=Math[_0x140e3a(_0x3c0331._0x11163e,0x901)](0x1-_0x517e3f*_0x517e3f);var _0xecaebc=Math['sin'](this[_0x140e3a(_0x3c0331._0x51a299,_0x3c0331._0x42be82)]),_0x53eb8d=Math['cos'](this['lat1']),_0x1756ab=msfnz(this['e'],_0xecaebc,_0x53eb8d);function _0x140e3a(_0x2059eb,_0xd000a8){return _0x2b6441(_0xd000a8,_0x2059eb-0x1bf);}var _0x3f1774=tsfnz(this['e'],this[_0x21ef9c(0x330,_0x3c0331._0x47e216)],_0xecaebc),_0x4895c9=Math[_0x140e3a(0x55b,0x570)](this['lat2']),_0x2b6029=Math['cos'](this[_0x140e3a(_0x3c0331._0x22b936,_0x3c0331._0x5c9f5d)]),_0x131f05=msfnz(this['e'],_0x4895c9,_0x2b6029),_0x78990b=tsfnz(this['e'],this['lat2'],_0x4895c9),_0x23732f=tsfnz(this['e'],this['lat0'],Math[_0x140e3a(_0x3c0331._0x378a51,-_0x3c0331._0x55f698)](this['lat0']));Math['abs'](this['lat1']-this[_0x140e3a(_0x3c0331._0x22b936,_0x3c0331._0x3b25f1)])>EPSLN?this['ns']=Math['log'](_0x1756ab/_0x131f05)/Math['log'](_0x3f1774/_0x78990b):this['ns']=_0xecaebc;isNaN(this['ns'])&&(this['ns']=_0xecaebc);this['f0']=_0x1756ab/(this['ns']*Math['pow'](_0x3f1774,this['ns']));function _0x21ef9c(_0x2e50ce,_0x45be85){return _0x2b6441(_0x2e50ce,_0x45be85- -0x8a);}this['rh']=this['a']*this['f0']*Math['pow'](_0x23732f,this['ns']),!this[_0x21ef9c(0x455,0x7e5)]&&(this['title']='Lambert\x20Conformal\x20Conic');}function forward$l(_0x54f690){const _0x49dcac={_0x27da76:0x11ce,_0x3d43a0:0x1682},_0x1327f8={_0x1c3811:0xa1},_0x289944={_0x1b62de:0x30e};var _0x349bbb=_0x54f690['x'],_0x44e19d=_0x54f690['y'];Math[_0x3bb584(_0x49dcac._0x27da76,0xbb9)](0x2*Math['abs'](_0x44e19d)-Math['PI'])<=EPSLN&&(_0x44e19d=sign(_0x44e19d)*(HALF_PI-0x2*EPSLN));function _0x3bb584(_0x4124c0,_0x45256f){return _0x2b6441(_0x45256f,_0x4124c0-_0x289944._0x1b62de);}var _0x1c2b33=Math['abs'](Math[_0x2c7af0(0x1252,0xf61)](_0x44e19d)-HALF_PI),_0x233e0e,_0x3fc66a;function _0x2c7af0(_0x50e96a,_0xf0045a){return _0x2b6441(_0x50e96a,_0xf0045a-_0x1327f8._0x1c3811);}if(_0x1c2b33>EPSLN)_0x233e0e=tsfnz(this['e'],_0x44e19d,Math['sin'](_0x44e19d)),_0x3fc66a=this['a']*this['f0']*Math[_0x2c7af0(_0x49dcac._0x3d43a0,0x117c)](_0x233e0e,this['ns']);else{_0x1c2b33=_0x44e19d*this['ns'];if(_0x1c2b33<=0x0)return null;_0x3fc66a=0x0;}var _0xffe790=this['ns']*adjust_lon(_0x349bbb-this['long0']);return _0x54f690['x']=this['k0']*(_0x3fc66a*Math['sin'](_0xffe790))+this['x0'],_0x54f690['y']=this['k0']*(this['rh']-_0x3fc66a*Math['cos'](_0xffe790))+this['y0'],_0x54f690;}function inverse$l(_0x5a620d){var _0xd8d98a,_0x48e254,_0x20c1c8,_0x155d55,_0x5e9b74,_0x4ed102=(_0x5a620d['x']-this['x0'])/this['k0'],_0xfc224b=this['rh']-(_0x5a620d['y']-this['y0'])/this['k0'];this['ns']>0x0?(_0xd8d98a=Math['sqrt'](_0x4ed102*_0x4ed102+_0xfc224b*_0xfc224b),_0x48e254=0x1):(_0xd8d98a=-Math['sqrt'](_0x4ed102*_0x4ed102+_0xfc224b*_0xfc224b),_0x48e254=-0x1);var _0x54d62a=0x0;_0xd8d98a!==0x0&&(_0x54d62a=Math['atan2'](_0x48e254*_0x4ed102,_0x48e254*_0xfc224b));if(_0xd8d98a!==0x0||this['ns']>0x0){_0x48e254=0x1/this['ns'],_0x20c1c8=Math['pow'](_0xd8d98a/(this['a']*this['f0']),_0x48e254),_0x155d55=phi2z(this['e'],_0x20c1c8);if(_0x155d55===-0x270f)return null;}else _0x155d55=-HALF_PI;return _0x5e9b74=adjust_lon(_0x54d62a/this['ns']+this['long0']),_0x5a620d['x']=_0x5e9b74,_0x5a620d['y']=_0x155d55,_0x5a620d;}var names$l=['Lambert\x20Tangential\x20Conformal\x20Conic\x20Projection','Lambert_Conformal_Conic',_0x2b6441(-0x1a3,0x377),_0x2b6441(-0x16d,0x700),'lcc','Lambert\x20Conic\x20Conformal\x20(1SP)',_0x306755(0xdc6,0xc32)];const _0x3b53a5={};_0x3b53a5['init']=init$l,_0x3b53a5['forward']=forward$l,_0x3b53a5[_0x2b6441(-0x711,-0x24)]=inverse$l,_0x3b53a5['names']=names$l;var lcc=_0x3b53a5;function init$k(){const _0x310ce3={_0x169f4f:0xac4,_0x256745:0x581,_0x4122f9:0xe04,_0x48e587:0x40b,_0x151cd1:0x332,_0x4f9daa:0x748,_0x2f9cb4:0x5ce,_0x204112:0x816,_0x35209a:0xffb,_0x23f035:0x264,_0x24bcee:0x118e,_0x4341ae:0x17f1,_0x38e2d9:0xe25,_0x55d6b2:0x156f},_0x312dc6={_0x2c00c4:0x175};this['a']=6377397.155,this['es']=0.006674372230614;function _0x4b8c3f(_0x315f70,_0x2ce70e){return _0x306755(_0x315f70,_0x2ce70e- -0x36f);}this['e']=Math['sqrt'](this['es']);!this[_0x1ce2f5(_0x310ce3._0x169f4f,0x68d)]&&(this[_0x1ce2f5(0xac4,-0xa)]=0.863937979737193);!this['long0']&&(this['long0']=0.7417649320975901-0.308341501185665);!this['k0']&&(this['k0']=0.9999);this[_0x4b8c3f(_0x310ce3._0x256745,0x843)]=0.785398163397448,this['s90']=0x2*this[_0x4b8c3f(0xf8,0x843)],this['fi0']=this['lat0'],this['e2']=this['es'],this['e']=Math['sqrt'](this['e2']),this['alfa']=Math['sqrt'](0x1+this['e2']*Math[_0x1ce2f5(0x17f1,0xd93)](Math[_0x1ce2f5(_0x310ce3._0x4122f9,_0x310ce3._0x48e587)](this['fi0']),0x4)/(0x1-this['e2'])),this['uq']=1.04216856380474,this['u0']=Math['asin'](Math['sin'](this[_0x4b8c3f(0x3a9,_0x310ce3._0x151cd1)])/this[_0x1ce2f5(_0x310ce3._0x4f9daa,0x63d)]),this['g']=Math[_0x1ce2f5(0x17f1,0x1f5a)]((0x1+this['e']*Math[_0x4b8c3f(0x3d1,_0x310ce3._0x2f9cb4)](this[_0x4b8c3f(0xab9,0x332)]))/(0x1-this['e']*Math['sin'](this[_0x1ce2f5(_0x310ce3._0x204112,0x59f)])),this['alfa']*this['e']/0x2),this['k']=Math[_0x1ce2f5(_0x310ce3._0x35209a,0x1966)](this['u0']/0x2+this['s45'])/Math['pow'](Math['tan'](this[_0x1ce2f5(0x816,0xd89)]/0x2+this['s45']),this[_0x4b8c3f(-0x33c,_0x310ce3._0x23f035)])*this['g'];function _0x1ce2f5(_0xfb7ad7,_0x16fd0e){return _0x306755(_0x16fd0e,_0xfb7ad7-_0x312dc6._0x2c00c4);}this['k1']=this['k0'],this['n0']=this['a']*Math[_0x4b8c3f(_0x310ce3._0x24bcee,0x11d0)](0x1-this['e2'])/(0x1-this['e2']*Math[_0x1ce2f5(_0x310ce3._0x4341ae,_0x310ce3._0x38e2d9)](Math['sin'](this['fi0']),0x2)),this['s0']=1.37008346281555,this['n']=Math['sin'](this['s0']),this['ro0']=this['k1']*this['n0']/Math[_0x1ce2f5(0xffb,_0x310ce3._0x55d6b2)](this['s0']),this['ad']=this['s90']-this['uq'];}function forward$k(_0x2e7373){const _0x37e4ab={_0xc7fe88:0x13aa,_0x4630a8:0x6df,_0x47a226:0x2ab,_0x1f249f:0xf12,_0x41a4cb:0x967,_0x4557ea:0x1429,_0x1e5850:0xdd3,_0x540748:0x76f};var _0x4e8f7d,_0x5d5fd6,_0x1ec59a,_0x14f21b,_0x2fe2eb,_0xb1b09f,_0x422540,_0x14b8c5=_0x2e7373['x'];function _0x1729c9(_0x385b65,_0x4c9ed4){return _0x306755(_0x385b65,_0x4c9ed4- -0x1ce);}var _0x1096d3=_0x2e7373['y'],_0x225885=adjust_lon(_0x14b8c5-this['long0']);_0x4e8f7d=Math['pow']((0x1+this['e']*Math['sin'](_0x1096d3))/(0x1-this['e']*Math[_0x1729c9(0x6a,0x76f)](_0x1096d3)),this['alfa']*this['e']/0x2),_0x5d5fd6=0x2*(Math['atan'](this['k']*Math['pow'](Math[_0x257212(_0x37e4ab._0xc7fe88,0xb5e)](_0x1096d3/0x2+this['s45']),this[_0x1729c9(0x4e8,0x405)])/_0x4e8f7d)-this[_0x257212(0x1193,0x88a)]),_0x1ec59a=-_0x225885*this[_0x257212(-_0x37e4ab._0x4630a8,_0x37e4ab._0x47a226)],_0x14f21b=Math[_0x257212(0xa55,_0x37e4ab._0x1f249f)](Math[_0x257212(0x4e0,_0x37e4ab._0x41a4cb)](this['ad'])*Math['sin'](_0x5d5fd6)+Math[_0x257212(0x667,0x615)](this['ad'])*Math['cos'](_0x5d5fd6)*Math['cos'](_0x1ec59a)),_0x2fe2eb=Math['asin'](Math[_0x1729c9(_0x37e4ab._0x4557ea,0xac1)](_0x5d5fd6)*Math['sin'](_0x1ec59a)/Math['cos'](_0x14f21b)),_0xb1b09f=this['n']*_0x2fe2eb,_0x422540=this['ro0']*Math[_0x257212(_0x37e4ab._0x1e5850,0x1354)](Math['tan'](this['s0']/0x2+this['s45']),this['n'])/Math[_0x257212(0xd5c,0x1354)](Math['tan'](_0x14f21b/0x2+this['s45']),this['n']),_0x2e7373['y']=_0x422540*Math[_0x257212(0xc86,0x967)](_0xb1b09f)/0x1;function _0x257212(_0x427f7f,_0x48f643){return _0x306755(_0x427f7f,_0x48f643- -0x328);}return _0x2e7373['x']=_0x422540*Math[_0x1729c9(0xf35,_0x37e4ab._0x540748)](_0xb1b09f)/0x1,!this['czech']&&(_0x2e7373['y']*=-0x1,_0x2e7373['x']*=-0x1),_0x2e7373;}function inverse$k(_0x435f03){const _0x5f09db={_0x11114e:0x1730,_0x2a19f7:0xbed,_0xb72546:0xc35,_0x2853ce:0xd43,_0x1c4d4b:0x2f0,_0x335139:0x8f7,_0x366fdb:0xed3,_0x266cde:0x8e6};var _0x1a6c37,_0x3459ec,_0xbecdf,_0x1e1400,_0xb8c99f,_0x351064,_0x27c2c4,_0x538ccb,_0x2a3152=_0x435f03['x'];_0x435f03['x']=_0x435f03['y'],_0x435f03['y']=_0x2a3152;!this[_0x4a6f22(0x1c9,0xf5)]&&(_0x435f03['y']*=-0x1,_0x435f03['x']*=-0x1);_0x351064=Math['sqrt'](_0x435f03['x']*_0x435f03['x']+_0x435f03['y']*_0x435f03['y']),_0xb8c99f=Math['atan2'](_0x435f03['y'],_0x435f03['x']);function _0x404e92(_0x504d16,_0x26a45e){return _0x306755(_0x504d16,_0x26a45e-0xb4);}_0x1e1400=_0xb8c99f/Math['sin'](this['s0']),_0xbecdf=0x2*(Math['atan'](Math[_0x404e92(0x1a66,_0x5f09db._0x11114e)](this['ro0']/_0x351064,0x1/this['n'])*Math['tan'](this['s0']/0x2+this['s45']))-this['s45']),_0x1a6c37=Math[_0x4a6f22(_0x5f09db._0x2a19f7,_0x5f09db._0xb72546)](Math[_0x404e92(0x10e5,_0x5f09db._0x2853ce)](this['ad'])*Math[_0x4a6f22(_0x5f09db._0x1c4d4b,-0x454)](_0xbecdf)-Math['sin'](this['ad'])*Math[_0x4a6f22(0x642,0xfce)](_0xbecdf)*Math['cos'](_0x1e1400)),_0x3459ec=Math['asin'](Math['cos'](_0xbecdf)*Math['sin'](_0x1e1400)/Math[_0x4a6f22(0x642,0x12f)](_0x1a6c37)),_0x435f03['x']=this['long0']-_0x3459ec/this['alfa'],_0x27c2c4=_0x1a6c37,_0x538ccb=0x0;var _0x371acd=0x0;function _0x4a6f22(_0x5e9c02,_0x46d8db){return _0x306755(_0x46d8db,_0x5e9c02- -0x64d);}do{_0x435f03['y']=0x2*(Math[_0x404e92(0xd48,_0x5f09db._0x335139)](Math['pow'](this['k'],-0x1/this['alfa'])*Math[_0x404e92(_0x5f09db._0x366fdb,0x1730)](Math['tan'](_0x1a6c37/0x2+this['s45']),0x1/this[_0x404e92(_0x5f09db._0x266cde,0x687)])*Math['pow']((0x1+this['e']*Math[_0x404e92(0xa49,0x9f1)](_0x27c2c4))/(0x1-this['e']*Math['sin'](_0x27c2c4)),this['e']/0x2))-this['s45']),Math['abs'](_0x27c2c4-_0x435f03['y'])<1e-10&&(_0x538ccb=0x1),_0x27c2c4=_0x435f03['y'],_0x371acd+=0x1;}while(_0x538ccb===0x0&&_0x371acd<0xf);if(_0x371acd>=0xf)return null;return _0x435f03;}var names$k=[_0x2b6441(0x70e,0xe79),'krovak'];const _0xc1b445={};_0xc1b445[_0x2b6441(0x23b,0x120)]=init$k,_0xc1b445['forward']=forward$k,_0xc1b445[_0x2b6441(0x3c4,-0x24)]=inverse$k,_0xc1b445[_0x306755(0x157c,0xc66)]=names$k;var krovak=_0xc1b445;function mlfn(_0x1230ab,_0x3ad598,_0x55159c,_0x338ec0,_0x255255){const _0x5d597f={_0x2e5100:0x9f2,_0x3c78b7:0x65c};function _0x35b94f(_0x205366,_0x1df6e2){return _0x306755(_0x205366,_0x1df6e2- -0x507);}function _0x266969(_0x4c6c51,_0x191471){return _0x306755(_0x191471,_0x4c6c51-0xb5);}return _0x1230ab*_0x255255-_0x3ad598*Math[_0x266969(_0x5d597f._0x2e5100,0xc25)](0x2*_0x255255)+_0x55159c*Math['sin'](0x4*_0x255255)-_0x338ec0*Math[_0x266969(_0x5d597f._0x2e5100,_0x5d597f._0x3c78b7)](0x6*_0x255255);}function e0fn(_0x4c897f){return 0x1-0.25*_0x4c897f*(0x1+_0x4c897f/0x10*(0x3+1.25*_0x4c897f));}function e1fn(_0x2066f2){return 0.375*_0x2066f2*(0x1+0.25*_0x2066f2*(0x1+0.46875*_0x2066f2));}function e2fn(_0x1ed353){return 0.05859375*_0x1ed353*_0x1ed353*(0x1+0.75*_0x1ed353);}function e3fn(_0x57de95){return _0x57de95*_0x57de95*_0x57de95*(0x23/0xc00);}function gN(_0x337936,_0x287058,_0x35349e){const _0x2ef085={_0xb5abfb:0x15d1};var _0x5c375e=_0x287058*_0x35349e;function _0x22f3f3(_0x1b3992,_0x297c5c){return _0x306755(_0x297c5c,_0x1b3992-0x92);}return _0x337936/Math[_0x22f3f3(_0x2ef085._0xb5abfb,0x1479)](0x1-_0x5c375e*_0x5c375e);}function adjust_lat(_0x4e746f){return Math['abs'](_0x4e746f)<HALF_PI?_0x4e746f:_0x4e746f-sign(_0x4e746f)*Math['PI'];}function imlfn(_0x477230,_0x362142,_0x2198fb,_0x2ed0f0,_0x22e1eb){const _0xf75485={_0x372672:0x841,_0x251847:0xacd,_0x5ccc56:0x820,_0x4813ea:0x821},_0x4957d9={_0x3f585f:0x46f};var _0x8dca64;function _0x15870c(_0x43d1da,_0x10605){return _0x306755(_0x43d1da,_0x10605- -_0x4957d9._0x3f585f);}function _0x31807f(_0x1a01b3,_0x42cb7e){return _0x306755(_0x42cb7e,_0x1a01b3- -0x5e0);}var _0x828f9b;_0x8dca64=_0x477230/_0x362142;for(var _0x2209d4=0x0;_0x2209d4<0xf;_0x2209d4++){_0x828f9b=(_0x477230-(_0x362142*_0x8dca64-_0x2198fb*Math['sin'](0x2*_0x8dca64)+_0x2ed0f0*Math['sin'](0x4*_0x8dca64)-_0x22e1eb*Math[_0x31807f(0x35d,_0xf75485._0x372672)](0x6*_0x8dca64)))/(_0x362142-0x2*_0x2198fb*Math['cos'](0x2*_0x8dca64)+0x4*_0x2ed0f0*Math[_0x15870c(_0xf75485._0x251847,_0xf75485._0x5ccc56)](0x4*_0x8dca64)-0x6*_0x22e1eb*Math[_0x15870c(0x588,0x820)](0x6*_0x8dca64)),_0x8dca64+=_0x828f9b;if(Math[_0x31807f(0xe81,_0xf75485._0x4813ea)](_0x828f9b)<=1e-10)return _0x8dca64;}return NaN;}function init$j(){!this['sphere']&&(this['e0']=e0fn(this['es']),this['e1']=e1fn(this['es']),this['e2']=e2fn(this['es']),this['e3']=e3fn(this['es']),this['ml0']=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this['lat0']));}function forward$j(_0x560825){const _0x485d5d={_0x4b4cf2:0x11cf,_0x12ae97:0x73b,_0x5e55ac:0x1ce};var _0x49c6d7,_0x40122a,_0x4c219a=_0x560825['x'],_0x3b54fc=_0x560825['y'];function _0x5debef(_0x54d0f7,_0x1e70fd){return _0x306755(_0x1e70fd,_0x54d0f7- -0xa6);}_0x4c219a=adjust_lon(_0x4c219a-this['long0']);if(this['sphere'])_0x49c6d7=this['a']*Math[_0x1a38d5(0xc4d,0x34d)](Math['cos'](_0x3b54fc)*Math['sin'](_0x4c219a)),_0x40122a=this['a']*(Math['atan2'](Math['tan'](_0x3b54fc),Math[_0x5debef(0xbe9,0x1011)](_0x4c219a))-this['lat0']);else{var _0x254889=Math[_0x1a38d5(0x350,0xd1e)](_0x3b54fc),_0x359252=Math['cos'](_0x3b54fc),_0x2aca71=gN(this['a'],this['e'],_0x254889),_0x22f081=Math['tan'](_0x3b54fc)*Math[_0x5debef(0xde0,_0x485d5d._0x4b4cf2)](_0x3b54fc),_0x59fae8=_0x4c219a*Math[_0x1a38d5(0x6a2,-0x82)](_0x3b54fc),_0x409744=_0x59fae8*_0x59fae8,_0x4f7fa1=this['es']*_0x359252*_0x359252/(0x1-this['es']),_0x2bdc80=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0x3b54fc);_0x49c6d7=_0x2aca71*_0x59fae8*(0x1-_0x409744*_0x22f081*(0x1/0x6-(0x8-_0x22f081+0x8*_0x4f7fa1)*_0x409744/0x78)),_0x40122a=_0x2bdc80-this[_0x1a38d5(_0x485d5d._0x12ae97,-_0x485d5d._0x5e55ac)]+_0x2aca71*_0x254889/_0x359252*_0x409744*(0.5+(0x5-_0x22f081+0x6*_0x4f7fa1)*_0x409744/0x18);}_0x560825['x']=_0x49c6d7+this['x0'],_0x560825['y']=_0x40122a+this['y0'];function _0x1a38d5(_0x316434,_0x2d180b){return _0x306755(_0x2d180b,_0x316434- -0x5ed);}return _0x560825;}function _0x2b6441(_0x48cd86,_0x3715f8){const _0x2d31ef={_0x13e9f1:0x32e};return _0x5bbe(_0x3715f8- -_0x2d31ef._0x13e9f1,_0x48cd86);}function inverse$j(_0x4e7e01){const _0x43a449={_0x1d7d0e:0x8cc,_0x7f2566:0x118f,_0x5003ca:0x13aa,_0x1a8979:0x1318};_0x4e7e01['x']-=this['x0'];function _0x1e77f9(_0x293df8,_0xb724b0){return _0x306755(_0x293df8,_0xb724b0- -0x2d2);}_0x4e7e01['y']-=this['y0'];var _0x3eba49=_0x4e7e01['x']/this['a'];function _0xa2d0b4(_0x238a9b,_0x55ed27){return _0x2b6441(_0x238a9b,_0x55ed27-0x6b5);}var _0x1b2d8a=_0x4e7e01['y']/this['a'],_0x33ee89,_0x23b9a3;if(this[_0x1e77f9(_0x43a449._0x1d7d0e,0x6bc)]){var _0x398c7b=_0x1b2d8a+this[_0x1e77f9(0x78f,0x67d)];_0x33ee89=Math['asin'](Math['sin'](_0x398c7b)*Math['cos'](_0x3eba49)),_0x23b9a3=Math['atan2'](Math[_0xa2d0b4(0x1075,0xf9a)](_0x3eba49),Math['cos'](_0x398c7b));}else{var _0x480196=this[_0xa2d0b4(0xcc5,0xe3c)]/this['a']+_0x1b2d8a,_0x71c179=imlfn(_0x480196,this['e0'],this['e1'],this['e2'],this['e3']);if(Math[_0x1e77f9(0x1744,_0x43a449._0x7f2566)](Math['abs'](_0x71c179)-HALF_PI)<=EPSLN)return _0x4e7e01['x']=this['long0'],_0x4e7e01['y']=HALF_PI,_0x1b2d8a<0x0&&(_0x4e7e01['y']*=-0x1),_0x4e7e01;var _0x2d9b63=gN(this['a'],this['e'],Math['sin'](_0x71c179)),_0x216319=_0x2d9b63*_0x2d9b63*_0x2d9b63/this['a']/this['a']*(0x1-this['es']),_0x5b680f=Math[_0x1e77f9(0x1dbf,_0x43a449._0x5003ca)](Math[_0xa2d0b4(_0x43a449._0x1a8979,0xf9a)](_0x71c179),0x2),_0xaece63=_0x3eba49*this['a']/_0x2d9b63,_0x1d3f4b=_0xaece63*_0xaece63;_0x33ee89=_0x71c179-_0x2d9b63*Math['tan'](_0x71c179)/_0x216319*_0xaece63*_0xaece63*(0.5-(0x1+0x3*_0x5b680f)*_0xaece63*_0xaece63/0x18),_0x23b9a3=_0xaece63*(0x1-_0x1d3f4b*(_0x5b680f/0x3+(0x1+0x3*_0x5b680f)*_0x5b680f*_0x1d3f4b/0xf))/Math['cos'](_0x71c179);}return _0x4e7e01['x']=adjust_lon(_0x23b9a3+this[_0xa2d0b4(0x1469,0x9bc)]),_0x4e7e01['y']=adjust_lat(_0x33ee89),_0x4e7e01;}var names$j=['Cassini','Cassini_Soldner',_0x306755(0x8b8,0x1313)];const _0x4a7bc5={};_0x4a7bc5['init']=init$j,_0x4a7bc5[_0x2b6441(0x5e9,0x756)]=forward$j,_0x4a7bc5[_0x2b6441(-0x65a,-0x24)]=inverse$j,_0x4a7bc5[_0x2b6441(0x6eb,0x6c5)]=names$j;var cass=_0x4a7bc5;function qsfnz(_0xadb790,_0x1a93bb){var _0x339faf;return _0xadb790>1e-7?(_0x339faf=_0xadb790*_0x1a93bb,(0x1-_0xadb790*_0xadb790)*(_0x1a93bb/(0x1-_0x339faf*_0x339faf)-0.5/_0xadb790*Math['log']((0x1-_0x339faf)/(0x1+_0x339faf)))):0x2*_0x1a93bb;}var S_POLE=0x1,N_POLE=0x2,EQUIT=0x3,OBLIQ=0x4;function init$i(){const _0xc7447f={_0x4fa976:0xbfb,_0x43bc4c:0x1167,_0x11d6a5:0x1481,_0x1a85df:0xa9a,_0x397c58:0x100b,_0x3842de:0x1859,_0x2d5c54:0xcd5,_0xf8d1e:0xdb1,_0x1afcf2:0xf69,_0xfcccca:0x24a4,_0x1dfb55:0x19f0,_0x4ed6c6:0xfef,_0x9915f3:0x16ad,_0x5977f8:0xcaf,_0x1c8c2c:0xe37,_0x18c3c7:0xa10},_0x1d6a6b={_0x1b39be:0x20};var _0x589a9d=Math['abs'](this['lat0']);function _0x3a67f4(_0x1babc3,_0x4b9d9e){return _0x306755(_0x1babc3,_0x4b9d9e-_0x1d6a6b._0x1b39be);}if(Math['abs'](_0x589a9d-HALF_PI)<EPSLN)this['mode']=this['lat0']<0x0?this[_0x10748d(_0xc7447f._0x4fa976,0x5db)]:this['N_POLE'];else Math[_0x3a67f4(_0xc7447f._0x43bc4c,_0xc7447f._0x11d6a5)](_0x589a9d)<EPSLN?this['mode']=this[_0x3a67f4(0x1d0d,0x162b)]:this['mode']=this['OBLIQ'];function _0x10748d(_0x27fd02,_0x1d7b85){return _0x2b6441(_0x1d7b85,_0x27fd02-0x547);}if(this['es']>0x0){var _0x4b5b2b;this['qp']=qsfnz(this['e'],0x1),this[_0x3a67f4(_0xc7447f._0x1a85df,0x1191)]=0.5/(0x1-this['es']),this['apa']=authset(this['es']);switch(this['mode']){case this[_0x3a67f4(_0xc7447f._0x397c58,_0xc7447f._0x3842de)]:this['dd']=0x1;break;case this[_0x10748d(0xbfb,_0xc7447f._0x2d5c54)]:this['dd']=0x1;break;case this['EQUIT']:this['rq']=Math[_0x3a67f4(_0xc7447f._0xf8d1e,0x155f)](0.5*this['qp']),this['dd']=0x1/this['rq'],this['xmf']=0x1,this[_0x10748d(0x1725,_0xc7447f._0x1afcf2)]=0.5*this['qp'];break;case this[_0x3a67f4(_0xc7447f._0xfcccca,_0xc7447f._0x1dfb55)]:this['rq']=Math['sqrt'](0.5*this['qp']),_0x4b5b2b=Math['sin'](this['lat0']),this[_0x3a67f4(0xd6b,0x1069)]=qsfnz(this['e'],_0x4b5b2b)/this['qp'],this['cosb1']=Math['sqrt'](0x1-this[_0x10748d(_0xc7447f._0x4ed6c6,0x987)]*this[_0x10748d(_0xc7447f._0x4ed6c6,_0xc7447f._0x9915f3)]),this['dd']=Math[_0x3a67f4(0xc87,_0xc7447f._0x5977f8)](this['lat0'])/(Math['sqrt'](0x1-this['es']*_0x4b5b2b*_0x4b5b2b)*this['rq']*this[_0x10748d(_0xc7447f._0x1c8c2c,_0xc7447f._0x18c3c7)]),this[_0x3a67f4(0x21d5,0x179f)]=(this['xmf']=this['rq'])/this['dd'],this['xmf']*=this['dd'];break;}}else this['mode']===this['OBLIQ']&&(this['sinph0']=Math[_0x10748d(0x8e3,0x19f)](this['lat0']),this['cosph0']=Math['cos'](this['lat0']));}function forward$i(_0x3a5798){const _0x3f2f82={_0x5aad50:0xffd,_0x555de9:0x608,_0xf7ad72:0x6ee,_0x1bbaa0:0xea4,_0x39b454:0x69d,_0x2b738f:0xdf5,_0x266fa7:0x1897,_0x109e14:0xa2e,_0x439898:0x985,_0x2be3b1:0x2bc,_0x283609:0x9b5,_0x5a8d88:0xf2c,_0x3ea22a:0x17e0,_0x36f3ac:0x10d6,_0xca317a:0x100e,_0x412aca:0x1c07,_0x8342b:0x10e6,_0x23b973:0x193c,_0xf29098:0xf80,_0x16f26f:0xbf1,_0x3ce91d:0x285,_0x1d14ef:0x124a,_0x1dadfc:0x2d8,_0x16445f:0x406},_0x40316f={_0x30ba3d:0x535};var _0x1e895e,_0x47c9dc,_0x45470a,_0x1b1db4,_0x3d2b8c,_0x3b038b,_0x351002,_0x2f6bf9,_0x84f86c,_0x4482cf,_0x269e2a=_0x3a5798['x'],_0x406d22=_0x3a5798['y'];function _0x3658d8(_0x9ba026,_0x62dd45){return _0x306755(_0x62dd45,_0x9ba026- -_0x40316f._0x30ba3d);}_0x269e2a=adjust_lon(_0x269e2a-this[_0x1505f0(_0x3f2f82._0x5aad50,_0x3f2f82._0x555de9)]);if(this[_0x1505f0(0x890,_0x3f2f82._0xf7ad72)]){_0x3d2b8c=Math[_0x1505f0(_0x3f2f82._0x1bbaa0,_0x3f2f82._0x39b454)](_0x406d22),_0x4482cf=Math[_0x1505f0(0x144e,0x9ef)](_0x406d22),_0x45470a=Math['cos'](_0x269e2a);if(this['mode']===this[_0x1505f0(_0x3f2f82._0x2b738f,0x1730)]||this['mode']===this['EQUIT']){_0x47c9dc=this[_0x1505f0(_0x3f2f82._0x266fa7,0x137b)]===this['EQUIT']?0x1+_0x4482cf*_0x45470a:0x1+this[_0x3658d8(0xe2c,0xe6e)]*_0x3d2b8c+this[_0x3658d8(0x1335,0xb75)]*_0x4482cf*_0x45470a;if(_0x47c9dc<=EPSLN)return null;_0x47c9dc=Math['sqrt'](0x2/_0x47c9dc),_0x1e895e=_0x47c9dc*_0x4482cf*Math[_0x3658d8(0x408,_0x3f2f82._0x109e14)](_0x269e2a),_0x47c9dc*=this['mode']===this[_0x1505f0(0x13ce,0x136b)]?_0x3d2b8c:this['cosph0']*_0x3d2b8c-this['sinph0']*_0x4482cf*_0x45470a;}else{if(this[_0x3658d8(0x10e6,_0x3f2f82._0x439898)]===this['N_POLE']||this['mode']===this[_0x1505f0(_0x3f2f82._0x2be3b1,_0x3f2f82._0x283609)]){this[_0x1505f0(0x1787,0x137b)]===this['N_POLE']&&(_0x45470a=-_0x45470a);if(Math[_0x3658d8(_0x3f2f82._0x5a8d88,0x674)](_0x406d22+this['lat0'])<EPSLN)return null;_0x47c9dc=FORTPI-_0x406d22*0.5,_0x47c9dc=0x2*(this['mode']===this['S_POLE']?Math['cos'](_0x47c9dc):Math[_0x3658d8(0x408,0x392)](_0x47c9dc)),_0x1e895e=_0x47c9dc*Math['sin'](_0x269e2a),_0x47c9dc*=_0x45470a;}}}else{_0x351002=0x0,_0x2f6bf9=0x0,_0x84f86c=0x0,_0x45470a=Math['cos'](_0x269e2a),_0x1b1db4=Math['sin'](_0x269e2a),_0x3d2b8c=Math['sin'](_0x406d22),_0x3b038b=qsfnz(this['e'],_0x3d2b8c);(this['mode']===this[_0x3658d8(0x149b,0x1c10)]||this[_0x1505f0(_0x3f2f82._0x3ea22a,0x137b)]===this[_0x3658d8(_0x3f2f82._0x36f3ac,_0x3f2f82._0xca317a)])&&(_0x351002=_0x3b038b/this['qp'],_0x2f6bf9=Math['sqrt'](0x1-_0x351002*_0x351002));switch(this[_0x1505f0(_0x3f2f82._0x412aca,0x137b)]){case this['OBLIQ']:_0x84f86c=0x1+this[_0x1505f0(0x4cb,0xda9)]*_0x351002+this[_0x1505f0(0xc3d,0xbf1)]*_0x2f6bf9*_0x45470a;break;case this['EQUIT']:_0x84f86c=0x1+_0x2f6bf9*_0x45470a;break;case this[_0x3658d8(0x1304,0x84d)]:_0x84f86c=HALF_PI+_0x406d22,_0x3b038b=this['qp']-_0x3b038b;break;case this['S_POLE']:_0x84f86c=_0x406d22-HALF_PI,_0x3b038b=this['qp']+_0x3b038b;break;}if(Math['abs'](_0x84f86c)<EPSLN)return null;switch(this['mode']){case this['OBLIQ']:case this['EQUIT']:_0x84f86c=Math['sqrt'](0x2/_0x84f86c);this[_0x3658d8(_0x3f2f82._0x8342b,0x17de)]===this[_0x3658d8(0x149b,_0x3f2f82._0x23b973)]?_0x47c9dc=this[_0x1505f0(0x17e8,0x14df)]*_0x84f86c*(this[_0x1505f0(_0x3f2f82._0xf29098,_0x3f2f82._0x16f26f)]*_0x351002-this[_0x3658d8(0xb14,_0x3f2f82._0x3ce91d)]*_0x2f6bf9*_0x45470a):_0x47c9dc=(_0x84f86c=Math['sqrt'](0x2/(0x1+_0x2f6bf9*_0x45470a)))*_0x351002*this[_0x3658d8(_0x3f2f82._0x1d14ef,0x147e)];_0x1e895e=this[_0x1505f0(0x567,_0x3f2f82._0x1dadfc)]*_0x84f86c*_0x2f6bf9*_0x1b1db4;break;case this['N_POLE']:case this[_0x3658d8(0x720,_0x3f2f82._0x16445f)]:_0x3b038b>=0x0?(_0x1e895e=(_0x84f86c=Math[_0x3658d8(0x100a,0x53a)](_0x3b038b))*_0x1b1db4,_0x47c9dc=_0x45470a*(this[_0x3658d8(_0x3f2f82._0x8342b,0xa36)]===this['S_POLE']?_0x84f86c:-_0x84f86c)):_0x1e895e=_0x47c9dc=0x0;break;}}function _0x1505f0(_0xa1c83e,_0x4c7896){return _0x2b6441(_0xa1c83e,_0x4c7896-0x301);}return _0x3a5798['x']=this['a']*_0x1e895e+this['x0'],_0x3a5798['y']=this['a']*_0x47c9dc+this['y0'],_0x3a5798;}function inverse$i(_0x5d47b7){const _0x2822cc={_0x377717:0xe99,_0x2ecfff:0xc3c,_0x494363:0x114f,_0x2ae9d1:0x1558,_0xae39f2:0xdc5,_0x2ce995:0x16be,_0x42d37a:0x9b6,_0x3004a7:0x97d,_0x5a85ee:0x295,_0x2b6f73:0x1257},_0xa5faaf={_0x3e4d57:0x1f1};_0x5d47b7['x']-=this['x0'],_0x5d47b7['y']-=this['y0'];var _0x1d39a1=_0x5d47b7['x']/this['a'];function _0x32506f(_0xa0d925,_0x1d8739){return _0x306755(_0x1d8739,_0xa0d925- -0x312);}var _0x471d3a=_0x5d47b7['y']/this['a'],_0x2baffe,_0x3b39dc,_0xd319d3,_0x28231e,_0xf08c5e,_0x1e656a,_0x59faab;if(this['sphere']){var _0x4a8bdb=0x0,_0xff288a,_0x47cb8a=0x0;_0xff288a=Math['sqrt'](_0x1d39a1*_0x1d39a1+_0x471d3a*_0x471d3a),_0x3b39dc=_0xff288a*0.5;if(_0x3b39dc>0x1)return null;_0x3b39dc=0x2*Math['asin'](_0x3b39dc);(this['mode']===this['OBLIQ']||this['mode']===this['EQUIT'])&&(_0x47cb8a=Math[_0xff87b6(0x74c,_0x2822cc._0x377717)](_0x3b39dc),_0x4a8bdb=Math[_0x32506f(0x97d,0x11e2)](_0x3b39dc));switch(this[_0xff87b6(0x142a,_0x2822cc._0x2ecfff)]){case this['EQUIT']:_0x3b39dc=Math['abs'](_0xff288a)<=EPSLN?0x0:Math['asin'](_0x471d3a*_0x47cb8a/_0xff288a),_0x1d39a1*=_0x47cb8a,_0x471d3a=_0x4a8bdb*_0xff288a;break;case this['OBLIQ']:_0x3b39dc=Math[_0x32506f(_0x2822cc._0x494363,0x1be8)](_0xff288a)<=EPSLN?this['lat0']:Math['asin'](_0x4a8bdb*this['sinph0']+_0x471d3a*_0x47cb8a*this[_0x32506f(_0x2822cc._0x2ae9d1,0x1019)]/_0xff288a),_0x1d39a1*=_0x47cb8a*this['cosph0'],_0x471d3a=(_0x4a8bdb-Math['sin'](_0x3b39dc)*this['sinph0'])*_0xff288a;break;case this['N_POLE']:_0x471d3a=-_0x471d3a,_0x3b39dc=HALF_PI-_0x3b39dc;break;case this[_0xff87b6(0xa64,_0x2822cc._0xae39f2)]:_0x3b39dc-=HALF_PI;break;}_0x2baffe=_0x471d3a===0x0&&(this['mode']===this['EQUIT']||this['mode']===this[_0x32506f(_0x2822cc._0x2ce995,0x1dc4)])?0x0:Math['atan2'](_0x1d39a1,_0x471d3a);}else{_0x59faab=0x0;if(this[_0x32506f(0x1309,_0x2822cc._0x42d37a)]===this['OBLIQ']||this['mode']===this['EQUIT']){_0x1d39a1/=this['dd'],_0x471d3a*=this['dd'],_0x1e656a=Math['sqrt'](_0x1d39a1*_0x1d39a1+_0x471d3a*_0x471d3a);if(_0x1e656a<EPSLN)return _0x5d47b7['x']=this['long0'],_0x5d47b7['y']=this['lat0'],_0x5d47b7;_0x28231e=0x2*Math['asin'](0.5*_0x1e656a/this['rq']),_0xd319d3=Math[_0x32506f(_0x2822cc._0x3004a7,0x441)](_0x28231e),_0x1d39a1*=_0x28231e=Math[_0x32506f(0x62b,-_0x2822cc._0x5a85ee)](_0x28231e),this['mode']===this['OBLIQ']?(_0x59faab=_0xd319d3*this['sinb1']+_0x471d3a*_0x28231e*this['cosb1']/_0x1e656a,_0xf08c5e=this['qp']*_0x59faab,_0x471d3a=_0x1e656a*this['cosb1']*_0xd319d3-_0x471d3a*this['sinb1']*_0x28231e):(_0x59faab=_0x471d3a*_0x28231e/_0x1e656a,_0xf08c5e=this['qp']*_0x59faab,_0x471d3a=_0x1e656a*_0xd319d3);}else{if(this['mode']===this['N_POLE']||this['mode']===this[_0xff87b6(0xa64,0x10d5)]){this[_0xff87b6(0x142a,0x182a)]===this['N_POLE']&&(_0x471d3a=-_0x471d3a);_0xf08c5e=_0x1d39a1*_0x1d39a1+_0x471d3a*_0x471d3a;if(!_0xf08c5e)return _0x5d47b7['x']=this['long0'],_0x5d47b7['y']=this[_0xff87b6(0x75e,0xd2f)],_0x5d47b7;_0x59faab=0x1-_0xf08c5e/this['qp'],this['mode']===this['S_POLE']&&(_0x59faab=-_0x59faab);}}_0x2baffe=Math['atan2'](_0x1d39a1,_0x471d3a),_0x3b39dc=authlat(Math[_0xff87b6(0x1049,_0x2822cc._0x2b6f73)](_0x59faab),this['apa']);}_0x5d47b7['x']=adjust_lon(this['long0']+_0x2baffe),_0x5d47b7['y']=_0x3b39dc;function _0xff87b6(_0x6484cc,_0x3a704a){return _0x306755(_0x3a704a,_0x6484cc- -_0xa5faaf._0x3e4d57);}return _0x5d47b7;}var P00=0.3333333333333333,P01=0.17222222222222222,P02=0.10257936507936508,P10=0.06388888888888888,P11=0.0664021164021164,P20=0.016415012942191543;function authset(_0x2e9afa){var _0x137ead,_0x285325=[];return _0x285325[0x0]=_0x2e9afa*P00,_0x137ead=_0x2e9afa*_0x2e9afa,_0x285325[0x0]+=_0x137ead*P01,_0x285325[0x1]=_0x137ead*P10,_0x137ead*=_0x2e9afa,_0x285325[0x0]+=_0x137ead*P02,_0x285325[0x1]+=_0x137ead*P11,_0x285325[0x2]=_0x137ead*P20,_0x285325;}function authlat(_0x3c3c48,_0x1981fb){var _0x2a2740=_0x3c3c48+_0x3c3c48;return _0x3c3c48+_0x1981fb[0x0]*Math['sin'](_0x2a2740)+_0x1981fb[0x1]*Math['sin'](_0x2a2740+_0x2a2740)+_0x1981fb[0x2]*Math['sin'](_0x2a2740+_0x2a2740+_0x2a2740);}var names$i=[_0x2b6441(0x33,0x79c),'Lambert_Azimuthal_Equal_Area',_0x306755(0xab9,0x1429)];const _0xec0d06={};_0xec0d06['init']=init$i,_0xec0d06[_0x306755(0x503,0xcf7)]=forward$i,_0xec0d06['inverse']=inverse$i,_0xec0d06[_0x306755(0x991,0xc66)]=names$i,_0xec0d06[_0x2b6441(0x3f0,0x6b4)]=S_POLE,_0xec0d06['N_POLE']=N_POLE,_0xec0d06['EQUIT']=EQUIT,_0xec0d06[_0x306755(0x175a,0x19d0)]=OBLIQ;var laea=_0xec0d06;function asinz(_0x3015d9){return Math['abs'](_0x3015d9)>0x1&&(_0x3015d9=_0x3015d9>0x1?0x1:-0x1),Math['asin'](_0x3015d9);}function init$h(){const _0x14af4b={_0x135980:0x900,_0x504fee:0xeea,_0x192bc9:0x33a,_0x34cc37:0x422,_0x344f6f:0xa10,_0x30927b:0xd24,_0x2b4bfd:0xcce,_0x5cf197:0xdcc,_0x3f0c50:0xae5,_0x52d057:0x19c,_0x48e2a4:0x748,_0x2d6fe9:0x5a1,_0x2b7dca:0x6bb,_0x291f70:0x5e2,_0x56baaa:0x5b4,_0x2b6f6f:0x3bd,_0x3479ca:0xb87,_0x5f3c23:0x9b5};if(Math[_0x41e4e8(0xe5e,0x1549)](this[_0x2b4cfe(0x101f,0xdcc)]+this['lat2'])<EPSLN)return;this['temp']=this['b']/this['a'],this['es']=0x1-Math[_0x2b4cfe(0x16dd,0x1435)](this[_0x41e4e8(_0x14af4b._0x135980,0xca8)],0x2),this['e3']=Math[_0x2b4cfe(0x99b,0x12f8)](this['es']),this[_0x2b4cfe(_0x14af4b._0x504fee,0x95d)]=Math[_0x41e4e8(_0x14af4b._0x192bc9,_0x14af4b._0x34cc37)](this[_0x41e4e8(_0x14af4b._0x344f6f,_0x14af4b._0x30927b)]),this[_0x2b4cfe(0x89e,_0x14af4b._0x2b4bfd)]=Math['cos'](this[_0x2b4cfe(0x79f,_0x14af4b._0x5cf197)]),this['t1']=this[_0x2b4cfe(_0x14af4b._0x3f0c50,0x95d)],this[_0x41e4e8(_0x14af4b._0x52d057,_0x14af4b._0x48e2a4)]=this['sin_po'],this['ms1']=msfnz(this['e3'],this[_0x41e4e8(0x5a1,0x533)],this['cos_po']),this[_0x2b4cfe(0x181f,0x1178)]=qsfnz(this['e3'],this[_0x41e4e8(_0x14af4b._0x2d6fe9,_0x14af4b._0x2b7dca)]),this[_0x2b4cfe(_0x14af4b._0x291f70,0x95d)]=Math['sin'](this['lat2']),this['cos_po']=Math['cos'](this['lat2']);function _0x41e4e8(_0x5295da,_0x36196a){return _0x306755(_0x36196a,_0x5295da- -0x603);}this['t2']=this[_0x2b4cfe(_0x14af4b._0x56baaa,0x95d)],this[_0x2b4cfe(0x17f4,0x15e6)]=msfnz(this['e3'],this['sin_po'],this[_0x2b4cfe(_0x14af4b._0x2b6f6f,0xcce)]),this['qs2']=qsfnz(this['e3'],this['sin_po']);function _0x2b4cfe(_0x40e42a,_0x240033){return _0x2b6441(_0x40e42a,_0x240033-0x35a);}this[_0x2b4cfe(0xdf2,0x95d)]=Math['sin'](this[_0x2b4cfe(0xb45,0x708)]),this[_0x41e4e8(0x912,0x5f9)]=Math['cos'](this['lat0']),this['t3']=this['sin_po'],this['qs0']=qsfnz(this['e3'],this['sin_po']),Math['abs'](this[_0x2b4cfe(_0x14af4b._0x3479ca,_0x14af4b._0x5cf197)]-this['lat2'])>EPSLN?this['ns0']=(this['ms1']*this['ms1']-this[_0x41e4e8(0x122a,0xd33)]*this['ms2'])/(this['qs2']-this['qs1']):this[_0x2b4cfe(0x10cc,_0x14af4b._0x5f3c23)]=this['con'],this['c']=this['ms1']*this['ms1']+this['ns0']*this['qs1'],this['rh']=this['a']*Math['sqrt'](this['c']-this['ns0']*this['qs0'])/this[_0x41e4e8(0x5f9,0xf15)];}function forward$h(_0xbcba38){const _0xf047e7={_0x5aaf5a:0x9e,_0x2300fe:0x3ac,_0x30e472:0x713,_0x32121a:0x992,_0x5cab03:0x62c,_0x20df36:0x6d3,_0x2a65d0:0x12f9},_0x41d833={_0x5be9e8:0x10};var _0x4a6073=_0xbcba38['x'],_0x235c2b=_0xbcba38['y'];this['sin_phi']=Math[_0x50decb(_0xf047e7._0x5aaf5a,_0xf047e7._0x2300fe)](_0x235c2b);function _0x14a6c6(_0x549e2e,_0x4e8ed2){return _0x306755(_0x549e2e,_0x4e8ed2- -0x26a);}this['cos_phi']=Math[_0x14a6c6(0xd8c,0xa25)](_0x235c2b);var _0x259ede=qsfnz(this['e3'],this[_0x50decb(-0x4ab,0x573)]),_0x6a5d6e=this['a']*Math['sqrt'](this['c']-this[_0x14a6c6(_0xf047e7._0x30e472,_0xf047e7._0x32121a)]*_0x259ede)/this[_0x50decb(0xa41,0x66b)],_0x585d4c=this['ns0']*adjust_lon(_0x4a6073-this['long0']),_0x5cec47=_0x6a5d6e*Math[_0x14a6c6(_0xf047e7._0x5cab03,_0xf047e7._0x20df36)](_0x585d4c)+this['x0'];function _0x50decb(_0x5c236a,_0x3bb983){return _0x2b6441(_0x5c236a,_0x3bb983-_0x41d833._0x5be9e8);}var _0x12ead3=this['rh']-_0x6a5d6e*Math[_0x14a6c6(_0xf047e7._0x2a65d0,0xa25)](_0x585d4c)+this['y0'];return _0xbcba38['x']=_0x5cec47,_0xbcba38['y']=_0x12ead3,_0xbcba38;}function inverse$h(_0x2e48d1){const _0x1b30fc={_0xc6fe33:0xb14,_0x878c84:0x169b,_0x14269d:0x161f,_0x2211b6:0xa3e},_0x2c8df8={_0x504e80:0x4b9};function _0x1dc82d(_0xe61c8a,_0x499311){return _0x306755(_0x499311,_0xe61c8a-0x15c);}var _0x4f0a85,_0x3917b7,_0x1a1dfd,_0x48ca59,_0x36fd57,_0x3c2344;_0x2e48d1['x']-=this['x0'];function _0x2e7582(_0x5a407c,_0x12f26a){return _0x2b6441(_0x5a407c,_0x12f26a-_0x2c8df8._0x504e80);}return _0x2e48d1['y']=this['rh']-_0x2e48d1['y']+this['y0'],this[_0x2e7582(0x1031,_0x1b30fc._0xc6fe33)]>=0x0?(_0x4f0a85=Math[_0x1dc82d(_0x1b30fc._0x878c84,_0x1b30fc._0x14269d)](_0x2e48d1['x']*_0x2e48d1['x']+_0x2e48d1['y']*_0x2e48d1['y']),_0x1a1dfd=0x1):(_0x4f0a85=-Math['sqrt'](_0x2e48d1['x']*_0x2e48d1['x']+_0x2e48d1['y']*_0x2e48d1['y']),_0x1a1dfd=-0x1),_0x48ca59=0x0,_0x4f0a85!==0x0&&(_0x48ca59=Math[_0x2e7582(0x6c2,0x88b)](_0x1a1dfd*_0x2e48d1['x'],_0x1a1dfd*_0x2e48d1['y'])),_0x1a1dfd=_0x4f0a85*this['ns0']/this['a'],this['sphere']?_0x3c2344=Math['asin']((this['c']-_0x1a1dfd*_0x1a1dfd)/(0x2*this[_0x2e7582(_0x1b30fc._0x2211b6,_0x1b30fc._0xc6fe33)])):(_0x3917b7=(this['c']-_0x1a1dfd*_0x1a1dfd)/this['ns0'],_0x3c2344=this['phi1z'](this['e3'],_0x3917b7)),_0x36fd57=adjust_lon(_0x48ca59/this['ns0']+this['long0']),_0x2e48d1['x']=_0x36fd57,_0x2e48d1['y']=_0x3c2344,_0x2e48d1;}function phi1z(_0x25768b,_0x448cdb){var _0x5656d1,_0x48eef0,_0x52f6b7,_0x1addce,_0x85abf7,_0x2e6fda=asinz(0.5*_0x448cdb);if(_0x25768b<EPSLN)return _0x2e6fda;function _0x2f3349(_0x2261ac,_0x4136ea){return _0x306755(_0x4136ea,_0x2261ac- -0x243);}var _0x52cc0c=_0x25768b*_0x25768b;for(var _0x33da9f=0x1;_0x33da9f<=0x19;_0x33da9f++){_0x5656d1=Math[_0x2f3349(0x6fa,-0x298)](_0x2e6fda),_0x48eef0=Math['cos'](_0x2e6fda),_0x52f6b7=_0x25768b*_0x5656d1,_0x1addce=0x1-_0x52f6b7*_0x52f6b7,_0x85abf7=0.5*_0x1addce*_0x1addce/_0x48eef0*(_0x448cdb/(0x1-_0x52cc0c)-_0x5656d1/_0x1addce+0.5/_0x25768b*Math['log']((0x1-_0x52f6b7)/(0x1+_0x52f6b7))),_0x2e6fda=_0x2e6fda+_0x85abf7;if(Math['abs'](_0x85abf7)<=1e-7)return _0x2e6fda;}return null;}var names$h=['Albers_Conic_Equal_Area',_0x306755(0x42f,0xa74),'aea'];const _0x358a93={};_0x358a93[_0x306755(0xf,0x6c1)]=init$h,_0x358a93['forward']=forward$h,_0x358a93['inverse']=inverse$h,_0x358a93['names']=names$h,_0x358a93['phi1z']=phi1z;var aea=_0x358a93;function init$g(){const _0x197af7={_0x4ea28b:0x6a1,_0x206c3b:0x387,_0x52c28d:0xa2d},_0x168464={_0x3a8660:0x5c8},_0x1f648c={_0x117353:0x68b};this['sin_p14']=Math[_0x3ab0aa(0x11ae,0xa27)](this[_0x4bd8a1(-_0x197af7._0x4ea28b,_0x197af7._0x206c3b)]),this[_0x4bd8a1(0xd2e,_0x197af7._0x52c28d)]=Math[_0x3ab0aa(0x158c,0xd79)](this['lat0']);function _0x3ab0aa(_0x4ecbb8,_0x7b62d4){return _0x2b6441(_0x4ecbb8,_0x7b62d4-_0x1f648c._0x117353);}this['infinity_dist']=0x3e8*this['a'];function _0x4bd8a1(_0x5e712c,_0x194608){return _0x306755(_0x5e712c,_0x194608- -_0x168464._0x3a8660);}this['rc']=0x1;}function forward$g(_0x28f0ef){const _0x562b4a={_0xd60e7:0x5c9,_0x4dda01:0x1182,_0x15866:0x1201,_0x32527e:0xbc0},_0x38c6cc={_0x3bb0e7:0x123};var _0x58c4e4,_0x135b33,_0x5ec706,_0x286464,_0x529f4d,_0x56611e;function _0x2d1faa(_0x327f3a,_0x54ffee){return _0x306755(_0x327f3a,_0x54ffee- -0x2df);}var _0x4aba66,_0x3996b4,_0x39cd30=_0x28f0ef['x'],_0x3a7119=_0x28f0ef['y'];_0x5ec706=adjust_lon(_0x39cd30-this[_0x2d1faa(0xd24,_0x562b4a._0xd60e7)]),_0x58c4e4=Math['sin'](_0x3a7119);function _0x2e936b(_0x4f5978,_0x1b6839){return _0x306755(_0x4f5978,_0x1b6839-_0x38c6cc._0x3bb0e7);}return _0x135b33=Math['cos'](_0x3a7119),_0x286464=Math[_0x2e936b(0x11d6,0xdb2)](_0x5ec706),_0x56611e=this['sin_p14']*_0x58c4e4+this['cos_p14']*_0x135b33*_0x286464,_0x529f4d=0x1,_0x56611e>0x0||Math[_0x2d1faa(0x1844,_0x562b4a._0x4dda01)](_0x56611e)<=EPSLN?(_0x4aba66=this['x0']+this['a']*_0x529f4d*_0x135b33*Math['sin'](_0x5ec706)/_0x56611e,_0x3996b4=this['y0']+this['a']*_0x529f4d*(this['cos_p14']*_0x58c4e4-this['sin_p14']*_0x135b33*_0x286464)/_0x56611e):(_0x4aba66=this['x0']+this['infinity_dist']*_0x135b33*Math[_0x2e936b(0x5c1,0xa60)](_0x5ec706),_0x3996b4=this['y0']+this[_0x2d1faa(_0x562b4a._0x15866,_0x562b4a._0x32527e)]*(this['cos_p14']*_0x58c4e4-this['sin_p14']*_0x135b33*_0x286464)),_0x28f0ef['x']=_0x4aba66,_0x28f0ef['y']=_0x3996b4,_0x28f0ef;}function inverse$g(_0x1073d7){const _0x168864={_0x2f3196:0x12f6,_0x293aae:0x859,_0x82c6eb:0xde0,_0x4e5f48:0x517,_0x1557bf:0x4a6},_0x14ca99={_0x1c4410:0x487};var _0x169e58,_0x384d83,_0x41c252,_0x4d4b66,_0x56ded0,_0x3b628b;_0x1073d7['x']=(_0x1073d7['x']-this['x0'])/this['a'],_0x1073d7['y']=(_0x1073d7['y']-this['y0'])/this['a'],_0x1073d7['x']/=this['k0'],_0x1073d7['y']/=this['k0'];(_0x169e58=Math['sqrt'](_0x1073d7['x']*_0x1073d7['x']+_0x1073d7['y']*_0x1073d7['y']))?(_0x4d4b66=Math[_0x3556b3(0x5e2,0x4a0)](_0x169e58,this['rc']),_0x384d83=Math[_0x3556b3(0x5ac,0x613)](_0x4d4b66),_0x41c252=Math['cos'](_0x4d4b66),_0x3b628b=asinz(_0x41c252*this[_0x3556b3(_0x168864._0x2f3196,0xe9b)]+_0x1073d7['y']*_0x384d83*this['cos_p14']/_0x169e58),_0x56ded0=Math[_0x14e29c(_0x168864._0x293aae,_0x168864._0x82c6eb)](_0x1073d7['x']*_0x384d83,_0x169e58*this['cos_p14']*_0x41c252-_0x1073d7['y']*this[_0x3556b3(0x12f6,0x1d81)]*_0x384d83),_0x56ded0=adjust_lon(this[_0x3556b3(_0x168864._0x4e5f48,-_0x168864._0x1557bf)]+_0x56ded0)):(_0x3b628b=this['phic0'],_0x56ded0=0x0);_0x1073d7['x']=_0x56ded0,_0x1073d7['y']=_0x3b628b;function _0x14e29c(_0x46bf21,_0x4458e9){return _0x2b6441(_0x4458e9,_0x46bf21-_0x14ca99._0x1c4410);}function _0x3556b3(_0x4499ed,_0x3e0401){return _0x306755(_0x3e0401,_0x4499ed- -0x391);}return _0x1073d7;}var names$g=[_0x2b6441(0xbff,0x135d)];const _0x17feec={};_0x17feec[_0x2b6441(0x375,0x120)]=init$g,_0x17feec['forward']=forward$g,_0x17feec['inverse']=inverse$g,_0x17feec['names']=names$g;var gnom=_0x17feec;function iqsfnz(_0xef859c,_0x20c374){const _0x4134a5={_0x5cb081:0x6e7,_0x555e57:0x1776},_0x270eac={_0x285df2:0x256};var _0x4882c0=0x1-(0x1-_0xef859c*_0xef859c)/(0x2*_0xef859c)*Math[_0x2c37de(0x20e,0x1c)]((0x1-_0xef859c)/(0x1+_0xef859c));if(Math['abs'](Math['abs'](_0x20c374)-_0x4882c0)<0.000001)return _0x20c374<0x0?-0x1*HALF_PI:HALF_PI;var _0xed29a1=Math['asin'](0.5*_0x20c374),_0x413610,_0x4b2cde;function _0x4bba6c(_0x2b7243,_0x1aa631){return _0x2b6441(_0x2b7243,_0x1aa631-0x69b);}var _0x45ca00,_0x2545b7;for(var _0x269f6f=0x0;_0x269f6f<0x1e;_0x269f6f++){_0x4b2cde=Math[_0x2c37de(_0x4134a5._0x5cb081,0xa91)](_0xed29a1),_0x45ca00=Math[_0x2c37de(0xa39,0x27e)](_0xed29a1),_0x2545b7=_0xef859c*_0x4b2cde,_0x413610=Math[_0x4bba6c(0x1424,_0x4134a5._0x555e57)](0x1-_0x2545b7*_0x2545b7,0x2)/(0x2*_0x45ca00)*(_0x20c374/(0x1-_0xef859c*_0xef859c)-_0x4b2cde/(0x1-_0x2545b7*_0x2545b7)+0.5/_0xef859c*Math['log']((0x1-_0x2545b7)/(0x1+_0x2545b7))),_0xed29a1+=_0x413610;if(Math['abs'](_0x413610)<=1e-10)return _0xed29a1;}function _0x2c37de(_0x4c20a1,_0xce3ae2){return _0x306755(_0xce3ae2,_0x4c20a1- -_0x270eac._0x285df2);}return NaN;}function init$f(){const _0x22cb96={_0x4baa31:0xaf7,_0x5a7c0a:0x658};function _0x4248b4(_0xe6f1bf,_0x55aff8){return _0x2b6441(_0x55aff8,_0xe6f1bf-0x409);}!this['sphere']&&(this['k0']=msfnz(this['e'],Math['sin'](this['lat_ts']),Math[_0x4248b4(_0x22cb96._0x4baa31,_0x22cb96._0x5a7c0a)](this['lat_ts'])));}function forward$f(_0x48e0ed){const _0x1e03c1={_0x1bf710:0x67e,_0xd6aa8d:0x8cf};var _0x5141bf=_0x48e0ed['x'],_0x36cf59=_0x48e0ed['y'];function _0xed9096(_0x548d59,_0x27116e){return _0x2b6441(_0x548d59,_0x27116e-0x2ee);}function _0x162700(_0x57fcc3,_0x5080b0){return _0x2b6441(_0x5080b0,_0x57fcc3-0x533);}var _0x106553,_0x52cd5b,_0x95815e=adjust_lon(_0x5141bf-this[_0x162700(0x83a,0x606)]);if(this[_0xed9096(0x87b,0x6db)])_0x106553=this['x0']+this['a']*_0x95815e*Math[_0x162700(0xc21,0x7d9)](this['lat_ts']),_0x52cd5b=this['y0']+this['a']*Math[_0xed9096(_0x1e03c1._0x1bf710,0x68a)](_0x36cf59)/Math['cos'](this['lat_ts']);else{var _0x41e3c3=qsfnz(this['e'],Math[_0x162700(_0x1e03c1._0xd6aa8d,0xd56)](_0x36cf59));_0x106553=this['x0']+this['a']*this['k0']*_0x95815e,_0x52cd5b=this['y0']+this['a']*_0x41e3c3*0.5/this['k0'];}return _0x48e0ed['x']=_0x106553,_0x48e0ed['y']=_0x52cd5b,_0x48e0ed;}function inverse$f(_0x45662f){const _0x1a65b0={_0x4bf89b:0x536,_0x1c8cea:0xd1e},_0x32a39d={_0x27d5c0:0xd2};function _0x134030(_0x367e10,_0x5a018f){return _0x306755(_0x5a018f,_0x367e10-_0x32a39d._0x27d5c0);}_0x45662f['x']-=this['x0'],_0x45662f['y']-=this['y0'];function _0x3787b5(_0x4d7b73,_0x9e81f3){return _0x2b6441(_0x9e81f3,_0x4d7b73-0x319);}var _0x43b15b,_0x4feafd;return this['sphere']?(_0x43b15b=adjust_lon(this['long0']+_0x45662f['x']/this['a']/Math[_0x134030(0xd61,_0x1a65b0._0x4bf89b)](this[_0x3787b5(0x1635,_0x1a65b0._0x1c8cea)])),_0x4feafd=Math['asin'](_0x45662f['y']/this['a']*Math['cos'](this['lat_ts']))):(_0x4feafd=iqsfnz(this['e'],0x2*_0x45662f['y']*this['k0']/this['a']),_0x43b15b=adjust_lon(this['long0']+_0x45662f['x']/(this['a']*this['k0']))),_0x45662f['x']=_0x43b15b,_0x45662f['y']=_0x4feafd,_0x45662f;}var names$f=['cea'];const _0x55e12f={};_0x55e12f['init']=init$f,_0x55e12f[_0x306755(0x7ee,0xcf7)]=forward$f,_0x55e12f['inverse']=inverse$f,_0x55e12f['names']=names$f;var cea=_0x55e12f;function init$e(){const _0x2f0131={_0x40eaf7:0x72,_0x43acc9:0x95c,_0x36cee7:0x80a,_0x5c96b5:0x14a5},_0x348be7={_0x36b1b7:0x2b0};function _0x40575e(_0x1126b7,_0x1429b7){return _0x2b6441(_0x1126b7,_0x1429b7-_0x348be7._0x36b1b7);}this['x0']=this['x0']||0x0;function _0x489430(_0x4d8635,_0x31978c){return _0x2b6441(_0x4d8635,_0x31978c-0x189);}this['y0']=this['y0']||0x0,this['lat0']=this['lat0']||0x0,this['long0']=this[_0x489430(-_0x2f0131._0x40eaf7,0x490)]||0x0,this['lat_ts']=this['lat_ts']||0x0,this[_0x40575e(_0x2f0131._0x43acc9,0xb1f)]=this[_0x489430(0xc2a,0x9f8)]||_0x489430(0x11b9,_0x2f0131._0x36cee7),this['rc']=Math[_0x489430(0x1031,0x877)](this[_0x489430(0x1725,_0x2f0131._0x5c96b5)]);}function forward$e(_0x4d1cab){var _0x10b5bd=_0x4d1cab['x'],_0x213919=_0x4d1cab['y'],_0x8a854=adjust_lon(_0x10b5bd-this[_0x5df891(0x82b,0x122)]);function _0x5df891(_0x4a1286,_0x45112f){return _0x306755(_0x45112f,_0x4a1286- -0x7d);}var _0x3fae07=adjust_lat(_0x213919-this['lat0']);return _0x4d1cab['x']=this['x0']+this['a']*_0x8a854*this['rc'],_0x4d1cab['y']=this['y0']+this['a']*_0x3fae07,_0x4d1cab;}function inverse$e(_0xe2af9a){const _0x357b93={_0x57d69f:0x34e,_0x88a99c:0x426},_0x4468f9={_0x4ef684:0x482};var _0x294ecf=_0xe2af9a['x'],_0x141610=_0xe2af9a['y'];_0xe2af9a['x']=adjust_lon(this[_0x270557(_0x357b93._0x57d69f,_0x357b93._0x88a99c)]+(_0x294ecf-this['x0'])/(this['a']*this['rc']));function _0x4704db(_0x6ecfd8,_0x53ef18){return _0x2b6441(_0x6ecfd8,_0x53ef18- -0x1c);}_0xe2af9a['y']=adjust_lat(this[_0x4704db(-0x5e4,0x392)]+(_0x141610-this['y0'])/this['a']);function _0x270557(_0x46f82f,_0x123c98){return _0x306755(_0x46f82f,_0x123c98- -_0x4468f9._0x4ef684);}return _0xe2af9a;}var names$e=['Equirectangular','Equidistant_Cylindrical','eqc'];const _0x5abbd6={};_0x5abbd6['init']=init$e,_0x5abbd6[_0x2b6441(0xc76,0x756)]=forward$e,_0x5abbd6[_0x2b6441(-0x4ec,-0x24)]=inverse$e,_0x5abbd6['names']=names$e;var eqc=_0x5abbd6,MAX_ITER$1=0x14;function init$d(){const _0x140274={_0x22bfdc:0xeec,_0x5b5526:0xa45,_0xbe6c75:0xd11,_0x13bdbd:0xdc0},_0x569e73={_0x15be62:0x501};this[_0xc38a67(_0x140274._0x22bfdc,_0x140274._0x5b5526)]=this['b']/this['a'],this['es']=0x1-Math['pow'](this[_0xc38a67(0xeec,0x17be)],0x2),this['e']=Math['sqrt'](this['es']);function _0xc38a67(_0x5bdedf,_0x2a7efa){return _0x2b6441(_0x2a7efa,_0x5bdedf-0x58a);}function _0x164b07(_0x16bd77,_0x11ae87){return _0x306755(_0x11ae87,_0x16bd77- -_0x569e73._0x15be62);}this['e0']=e0fn(this['es']),this['e1']=e1fn(this['es']),this['e2']=e2fn(this['es']),this['e3']=e3fn(this['es']),this[_0xc38a67(_0x140274._0xbe6c75,_0x140274._0x13bdbd)]=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this['lat0']);}function forward$d(_0x26234d){const _0x330bc3={_0x50c1fe:0x373,_0x5814d6:0x562,_0x26ea58:0x461},_0x27b75d={_0x377bee:0x29},_0x220be8={_0x5737b1:0x3ed};var _0x51ac45=_0x26234d['x'],_0x13fb29=_0x26234d['y'],_0x1acf27,_0x47a6bb,_0x2d4551,_0x52654b=adjust_lon(_0x51ac45-this['long0']);_0x2d4551=_0x52654b*Math['sin'](_0x13fb29);function _0x43e95b(_0x1f8115,_0x5c067b){return _0x306755(_0x5c067b,_0x1f8115- -_0x220be8._0x5737b1);}if(this['sphere'])Math['abs'](_0x13fb29)<=EPSLN?(_0x1acf27=this['a']*_0x52654b,_0x47a6bb=-0x1*this['a']*this['lat0']):(_0x1acf27=this['a']*Math[_0x558513(0x31d,_0x330bc3._0x50c1fe)](_0x2d4551)/Math['tan'](_0x13fb29),_0x47a6bb=this['a']*(adjust_lat(_0x13fb29-this[_0x43e95b(_0x330bc3._0x5814d6,-_0x330bc3._0x26ea58)])+(0x1-Math['cos'](_0x2d4551))/Math['tan'](_0x13fb29)));else{if(Math['abs'](_0x13fb29)<=EPSLN)_0x1acf27=this['a']*_0x52654b,_0x47a6bb=-0x1*this['ml0'];else{var _0x5ebc86=gN(this['a'],this['e'],Math[_0x43e95b(0x550,0x4ef)](_0x13fb29))/Math['tan'](_0x13fb29);_0x1acf27=_0x5ebc86*Math['sin'](_0x2d4551),_0x47a6bb=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0x13fb29)-this['ml0']+_0x5ebc86*(0x1-Math['cos'](_0x2d4551));}}_0x26234d['x']=_0x1acf27+this['x0'],_0x26234d['y']=_0x47a6bb+this['y0'];function _0x558513(_0x1d6293,_0x352602){return _0x2b6441(_0x1d6293,_0x352602- -_0x27b75d._0x377bee);}return _0x26234d;}function inverse$d(_0x4860ca){const _0x150553={_0x420c1f:0x171c,_0x4d44ab:0x791,_0x363d41:0x398,_0x18722c:0x826,_0xdb58e:0x6d8,_0x4c8c85:0xa3e,_0x183f31:0xb4a,_0x10f246:0xeaa,_0x51cfe4:0x16b4,_0x25baaf:0x8cf,_0x32c528:0x47b};function _0x2f1edf(_0x249495,_0x3637cc){return _0x2b6441(_0x3637cc,_0x249495- -0x16);}var _0x107cac,_0x493052,_0xd1e1d2,_0x42fbd9,_0x477918,_0x3bbb2e,_0x34e074,_0x3cbd7a,_0x5e153e;_0xd1e1d2=_0x4860ca['x']-this['x0'],_0x42fbd9=_0x4860ca['y']-this['y0'];function _0x2098fd(_0x419a53,_0x1a30a5){return _0x2b6441(_0x1a30a5,_0x419a53-0x48a);}if(this['sphere']){if(Math[_0x2f1edf(0xeaa,_0x150553._0x420c1f)](_0x42fbd9+this['a']*this['lat0'])<=EPSLN)_0x107cac=adjust_lon(_0xd1e1d2/this['a']+this[_0x2098fd(_0x150553._0x4d44ab,-0x1ba)]),_0x493052=0x0;else{_0x3bbb2e=this[_0x2f1edf(_0x150553._0x363d41,-0x58b)]+_0x42fbd9/this['a'],_0x34e074=_0xd1e1d2*_0xd1e1d2/this['a']/this['a']+_0x3bbb2e*_0x3bbb2e,_0x3cbd7a=_0x3bbb2e;var _0x42b5f2;for(_0x477918=MAX_ITER$1;_0x477918;--_0x477918){_0x42b5f2=Math['tan'](_0x3cbd7a),_0x5e153e=-0x1*(_0x3bbb2e*(_0x3cbd7a*_0x42b5f2+0x1)-_0x3cbd7a-0.5*(_0x3cbd7a*_0x3cbd7a+_0x34e074)*_0x42b5f2)/((_0x3cbd7a-_0x3bbb2e)/_0x42b5f2-0x1),_0x3cbd7a+=_0x5e153e;if(Math['abs'](_0x5e153e)<=EPSLN){_0x493052=_0x3cbd7a;break;}}_0x107cac=adjust_lon(this[_0x2098fd(0x791,0xf7e)]+Math[_0x2f1edf(0xc83,0x4dd)](_0xd1e1d2*Math[_0x2f1edf(0x8cf,0x4c4)](_0x3cbd7a)/this['a'])/Math['sin'](_0x493052));}}else{if(Math['abs'](_0x42fbd9+this['ml0'])<=EPSLN)_0x493052=0x0,_0x107cac=adjust_lon(this['long0']+_0xd1e1d2/this['a']);else{_0x3bbb2e=(this['ml0']+_0x42fbd9)/this['a'],_0x34e074=_0xd1e1d2*_0xd1e1d2/this['a']/this['a']+_0x3bbb2e*_0x3bbb2e,_0x3cbd7a=_0x3bbb2e;var _0x160d95,_0x313f13,_0xd5b52d,_0x51004a,_0xdb0821;for(_0x477918=MAX_ITER$1;_0x477918;--_0x477918){_0xdb0821=this['e']*Math[_0x2098fd(_0x150553._0x18722c,0xdfa)](_0x3cbd7a),_0x160d95=Math['sqrt'](0x1-_0xdb0821*_0xdb0821)*Math['tan'](_0x3cbd7a),_0x313f13=this['a']*mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0x3cbd7a),_0xd5b52d=this['e0']-0x2*this['e1']*Math['cos'](0x2*_0x3cbd7a)+0x4*this['e2']*Math['cos'](0x4*_0x3cbd7a)-0x6*this['e3']*Math[_0x2f1edf(_0x150553._0xdb58e,_0x150553._0x4c8c85)](0x6*_0x3cbd7a),_0x51004a=_0x313f13/this['a'],_0x5e153e=(_0x3bbb2e*(_0x160d95*_0x51004a+0x1)-_0x51004a-0.5*_0x160d95*(_0x51004a*_0x51004a+_0x34e074))/(this['es']*Math[_0x2f1edf(0x386,_0x150553._0x183f31)](0x2*_0x3cbd7a)*(_0x51004a*_0x51004a+_0x34e074-0x2*_0x3bbb2e*_0x51004a)/(0x4*_0x160d95)+(_0x3bbb2e-_0x51004a)*(_0x160d95*_0xd5b52d-0x2/Math['sin'](0x2*_0x3cbd7a))-_0xd5b52d),_0x3cbd7a-=_0x5e153e;if(Math[_0x2f1edf(_0x150553._0x10f246,0xf2e)](_0x5e153e)<=EPSLN){_0x493052=_0x3cbd7a;break;}}_0x160d95=Math[_0x2098fd(0x1428,_0x150553._0x51cfe4)](0x1-this['es']*Math['pow'](Math['sin'](_0x493052),0x2))*Math[_0x2f1edf(_0x150553._0x25baaf,0xa19)](_0x493052),_0x107cac=adjust_lon(this[_0x2f1edf(0x2f1,-_0x150553._0x32c528)]+Math['asin'](_0xd1e1d2*_0x160d95/this['a'])/Math['sin'](_0x493052));}}return _0x4860ca['x']=_0x107cac,_0x4860ca['y']=_0x493052,_0x4860ca;}var names$d=['Polyconic',_0x2b6441(0xee2,0xa38)];const _0x3f79aa={};_0x3f79aa['init']=init$d,_0x3f79aa['forward']=forward$d,_0x3f79aa['inverse']=inverse$d,_0x3f79aa[_0x2b6441(-0x290,0x6c5)]=names$d;var poly=_0x3f79aa;function init$c(){const _0x30a39a={_0x53e583:0x14b7,_0x342116:0x11be,_0x598a87:0xdb,_0x26bb31:0x1173,_0x127e8a:0xbe1,_0x45a284:0xdb4,_0x30b19a:0x13cd,_0x2ab834:0x1cd9,_0x345c57:0x693,_0x42ee59:0x1418,_0x3b39b0:0x139,_0x5ae6ff:0x9a8},_0x52b6ff={_0x3d0ffa:0x4df};this['A']=[],this['A'][0x1]=0.6399175073,this['A'][0x2]=-0.1358797613,this['A'][0x3]=0.063294409,this['A'][0x4]=-0.02526853,this['A'][0x5]=0.0117879,this['A'][0x6]=-0.0055161,this['A'][0x7]=0.0026906,this['A'][0x8]=-0.001333,this['A'][0x9]=0.00067,this['A'][0xa]=-0.00034;function _0x937cc(_0x3f072e,_0xee6959){return _0x306755(_0xee6959,_0x3f072e- -_0x52b6ff._0x3d0ffa);}this[_0x937cc(0x90,-0x913)]=[],this[_0xd25869(0x11be,0x1831)]=[],this['B_re'][0x1]=0.7557853228,this['B_im'][0x1]=0x0,this['B_re'][0x2]=0.249204646,this[_0x937cc(0x1173,0x1b8c)][0x2]=0.003371507,this[_0x937cc(0x90,-0x80d)][0x3]=-0.001541739,this[_0xd25869(0x11be,_0x30a39a._0x53e583)][0x3]=0.04105856,this['B_re'][0x4]=-0.10162907,this[_0xd25869(_0x30a39a._0x342116,0xebb)][0x4]=0.01727609,this['B_re'][0x5]=-0.26623489,this['B_im'][0x5]=-0.36249218,this[_0xd25869(_0x30a39a._0x598a87,-0x83d)][0x6]=-0.6870983,this[_0x937cc(_0x30a39a._0x26bb31,_0x30a39a._0x127e8a)][0x6]=-1.1651967,this[_0x937cc(0x648,_0x30a39a._0x45a284)]=[],this['C_im']=[],this['C_re'][0x1]=1.3231270439,this[_0x937cc(0x13cd,0x1390)][0x1]=0x0,this[_0xd25869(0x693,0xc5e)][0x2]=-0.577245789,this[_0x937cc(_0x30a39a._0x30b19a,_0x30a39a._0x2ab834)][0x2]=-0.007809598,this[_0xd25869(_0x30a39a._0x345c57,0x4b7)][0x3]=0.508307513,this[_0xd25869(_0x30a39a._0x42ee59,0x1804)][0x3]=-0.112208952,this[_0x937cc(0x648,-0x3ab)][0x4]=-0.15094762;function _0xd25869(_0x1413bb,_0x193b8e){return _0x2b6441(_0x193b8e,_0x1413bb-0x10d);}this['C_im'][0x4]=0.18200602,this[_0xd25869(0x693,0x5e9)][0x5]=1.01418179,this['C_im'][0x5]=1.64497696,this[_0x937cc(0x648,_0x30a39a._0x3b39b0)][0x6]=1.9660549,this[_0xd25869(0x1418,_0x30a39a._0x5ae6ff)][0x6]=2.5127645,this['D']=[],this['D'][0x1]=1.5627014243,this['D'][0x2]=0.5185406398,this['D'][0x3]=-0.03333098,this['D'][0x4]=-0.1052906,this['D'][0x5]=-0.0368594,this['D'][0x6]=0.007317,this['D'][0x7]=0.0122,this['D'][0x8]=0.00394,this['D'][0x9]=-0.0013;}function forward$c(_0x32bd91){const _0x14d431={_0xc49be8:0x704,_0x5a22f3:0x6d5,_0x1ba6b3:0x17b8},_0x2d478e={_0x365f54:0x707};var _0x1a12ee;function _0x143450(_0x2a881c,_0x5dcbce){return _0x2b6441(_0x5dcbce,_0x2a881c-_0x2d478e._0x365f54);}var _0x3439e1=_0x32bd91['x'],_0x43201d=_0x32bd91['y'],_0xa844c5=_0x43201d-this[_0x143450(0xab5,_0x14d431._0xc49be8)],_0x4c3895=_0x3439e1-this['long0'],_0x314a92=_0xa844c5/SEC_TO_RAD*0.00001,_0x2866d6=_0x4c3895,_0x3616d4=0x1,_0x390702=0x0;for(_0x1a12ee=0x1;_0x1a12ee<=0xa;_0x1a12ee++){_0x3616d4=_0x3616d4*_0x314a92,_0x390702=_0x390702+this['A'][_0x1a12ee]*_0x3616d4;}var _0x4f0de6=_0x390702;function _0x21c140(_0x417b39,_0x19b716){return _0x306755(_0x19b716,_0x417b39- -0xcd);}var _0x36b213=_0x2866d6,_0x189140=0x1,_0x5a7dfe=0x0,_0x2c5726,_0x56ce61,_0x4a412a=0x0,_0x3fab36=0x0;for(_0x1a12ee=0x1;_0x1a12ee<=0x6;_0x1a12ee++){_0x2c5726=_0x189140*_0x4f0de6-_0x5a7dfe*_0x36b213,_0x56ce61=_0x5a7dfe*_0x4f0de6+_0x189140*_0x36b213,_0x189140=_0x2c5726,_0x5a7dfe=_0x56ce61,_0x4a412a=_0x4a412a+this[_0x143450(_0x14d431._0x5a22f3,0xcef)][_0x1a12ee]*_0x189140-this[_0x143450(_0x14d431._0x1ba6b3,0x181a)][_0x1a12ee]*_0x5a7dfe,_0x3fab36=_0x3fab36+this['B_im'][_0x1a12ee]*_0x189140+this['B_re'][_0x1a12ee]*_0x5a7dfe;}return _0x32bd91['x']=_0x3fab36*this['a']+this['x0'],_0x32bd91['y']=_0x4a412a*this['a']+this['y0'],_0x32bd91;}function inverse$c(_0x748217){const _0xa624ff={_0x39bc79:0x3cc};var _0x5e0400,_0x1cceb5=_0x748217['x'],_0x39c87b=_0x748217['y'],_0x1a72c=_0x1cceb5-this['x0'],_0x1115b0=_0x39c87b-this['y0'],_0x258de9=_0x1115b0/this['a'],_0x563a40=_0x1a72c/this['a'],_0x174c27=0x1,_0x412a5c=0x0,_0x4db692,_0x2e3f06,_0x3e91b0=0x0,_0x587469=0x0;function _0x3ac526(_0x17c62f,_0x36584a){return _0x306755(_0x17c62f,_0x36584a- -_0xa624ff._0x39bc79);}for(_0x5e0400=0x1;_0x5e0400<=0x6;_0x5e0400++){_0x4db692=_0x174c27*_0x258de9-_0x412a5c*_0x563a40,_0x2e3f06=_0x412a5c*_0x258de9+_0x174c27*_0x563a40,_0x174c27=_0x4db692,_0x412a5c=_0x2e3f06,_0x3e91b0=_0x3e91b0+this['C_re'][_0x5e0400]*_0x174c27-this['C_im'][_0x5e0400]*_0x412a5c,_0x587469=_0x587469+this[_0x3ac526(0x1806,0x14e0)][_0x5e0400]*_0x174c27+this['C_re'][_0x5e0400]*_0x412a5c;}for(var _0xc4e1e4=0x0;_0xc4e1e4<this['iterations'];_0xc4e1e4++){var _0x3b2ea0=_0x3e91b0,_0x5efa25=_0x587469,_0x3639a1,_0x362659,_0x274219=_0x258de9,_0x12b5d0=_0x563a40;for(_0x5e0400=0x2;_0x5e0400<=0x6;_0x5e0400++){_0x3639a1=_0x3b2ea0*_0x3e91b0-_0x5efa25*_0x587469,_0x362659=_0x5efa25*_0x3e91b0+_0x3b2ea0*_0x587469,_0x3b2ea0=_0x3639a1,_0x5efa25=_0x362659,_0x274219=_0x274219+(_0x5e0400-0x1)*(this['B_re'][_0x5e0400]*_0x3b2ea0-this[_0x20d474(0x1e6a,0x15cb)][_0x5e0400]*_0x5efa25),_0x12b5d0=_0x12b5d0+(_0x5e0400-0x1)*(this[_0x20d474(0x1c8e,0x15cb)][_0x5e0400]*_0x3b2ea0+this['B_re'][_0x5e0400]*_0x5efa25);}_0x3b2ea0=0x1,_0x5efa25=0x0;var _0x3680cf=this[_0x3ac526(-0x8b5,0x1a3)][0x1],_0x2d20d5=this['B_im'][0x1];for(_0x5e0400=0x2;_0x5e0400<=0x6;_0x5e0400++){_0x3639a1=_0x3b2ea0*_0x3e91b0-_0x5efa25*_0x587469,_0x362659=_0x5efa25*_0x3e91b0+_0x3b2ea0*_0x587469,_0x3b2ea0=_0x3639a1,_0x5efa25=_0x362659,_0x3680cf=_0x3680cf+_0x5e0400*(this['B_re'][_0x5e0400]*_0x3b2ea0-this['B_im'][_0x5e0400]*_0x5efa25),_0x2d20d5=_0x2d20d5+_0x5e0400*(this[_0x3ac526(0x11aa,0x1286)][_0x5e0400]*_0x3b2ea0+this['B_re'][_0x5e0400]*_0x5efa25);}var _0x153dba=_0x3680cf*_0x3680cf+_0x2d20d5*_0x2d20d5;_0x3e91b0=(_0x274219*_0x3680cf+_0x12b5d0*_0x2d20d5)/_0x153dba,_0x587469=(_0x12b5d0*_0x3680cf-_0x274219*_0x2d20d5)/_0x153dba;}var _0x2c73ee=_0x3e91b0,_0x10f785=_0x587469,_0x5ba3ae=0x1,_0x3d705f=0x0;for(_0x5e0400=0x1;_0x5e0400<=0x9;_0x5e0400++){_0x5ba3ae=_0x5ba3ae*_0x2c73ee,_0x3d705f=_0x3d705f+this['D'][_0x5e0400]*_0x5ba3ae;}var _0x557e29=this['lat0']+_0x3d705f*SEC_TO_RAD*0x186a0,_0x29811d=this['long0']+_0x10f785;_0x748217['x']=_0x29811d;function _0x20d474(_0x5c581b,_0x19cda1){return _0x2b6441(_0x5c581b,_0x19cda1-0x51a);}return _0x748217['y']=_0x557e29,_0x748217;}var names$c=[_0x2b6441(0x87e,0x123b),_0x306755(0xcc5,0x110c)];const _0x110303={};_0x110303['init']=init$c,_0x110303[_0x2b6441(0xb61,0x756)]=forward$c,_0x110303[_0x2b6441(0x5a,-0x24)]=inverse$c,_0x110303[_0x306755(0xb89,0xc66)]=names$c;var nzmg=_0x110303;function init$b(){}function forward$b(_0x3cb12b){var _0x580bf0=_0x3cb12b['x'],_0x419576=_0x3cb12b['y'],_0x3741f9=adjust_lon(_0x580bf0-this['long0']),_0x38500c=this['x0']+this['a']*_0x3741f9,_0x13a70a=this['y0']+this['a']*Math['log'](Math['tan'](Math['PI']/0x4+_0x419576/2.5))*1.25;return _0x3cb12b['x']=_0x38500c,_0x3cb12b['y']=_0x13a70a,_0x3cb12b;}function inverse$b(_0x15b023){const _0x1fd949={_0x319bc0:0x4f3};_0x15b023['x']-=this['x0'],_0x15b023['y']-=this['y0'];var _0x279fbf=adjust_lon(this[_0x50add4(0x1122,0x7fa)]+_0x15b023['x']/this['a']);function _0x50add4(_0x540579,_0x12c1b4){return _0x2b6441(_0x540579,_0x12c1b4-_0x1fd949._0x319bc0);}var _0x153e64=2.5*(Math[_0x50add4(-0x122,0x795)](Math['exp'](0.8*_0x15b023['y']/this['a']))-Math['PI']/0x4);_0x15b023['x']=_0x279fbf,_0x15b023['y']=_0x153e64;function _0x43e48c(_0x5be134,_0x3a156b){return _0x2b6441(_0x5be134,_0x3a156b-0x1e8);}return _0x15b023;}var names$b=[_0x306755(0x690,0xc42),_0x306755(0x18b,0x4f0)];const _0x94884a={};_0x94884a['init']=init$b,_0x94884a['forward']=forward$b,_0x94884a['inverse']=inverse$b,_0x94884a['names']=names$b;var mill=_0x94884a,MAX_ITER=0x14;function init$a(){const _0x1477a3={_0xcf7058:0x82c};function _0x42540d(_0x1bf797,_0x463ad9){return _0x2b6441(_0x1bf797,_0x463ad9-0x36f);}!this[_0x42540d(_0x1477a3._0xcf7058,0x75c)]?this['en']=pj_enfn(this['es']):(this['n']=0x1,this['m']=0x0,this['es']=0x0,this['C_y']=Math['sqrt']((this['m']+0x1)/this['n']),this['C_x']=this['C_y']/(this['m']+0x1));}function forward$a(_0x17a40f){const _0x3d2cd2={_0x5c67b2:0x10bc,_0x38d5c2:0x12d9},_0x2cb73a={_0x325893:0x6df};var _0x71bd52,_0x1d0e71,_0x213b9d=_0x17a40f['x'];function _0xdf47f7(_0x341b25,_0x1888bd){return _0x2b6441(_0x1888bd,_0x341b25-0x5b6);}var _0x4f212c=_0x17a40f['y'];function _0x290fb7(_0xafe77a,_0x2f46f1){return _0x2b6441(_0x2f46f1,_0xafe77a-_0x2cb73a._0x325893);}_0x213b9d=adjust_lon(_0x213b9d-this['long0']);if(this['sphere']){if(!this['m'])_0x4f212c=this['n']!==0x1?Math['asin'](this['n']*Math['sin'](_0x4f212c)):_0x4f212c;else{var _0x1a3618=this['n']*Math['sin'](_0x4f212c);for(var _0x279e95=MAX_ITER;_0x279e95;--_0x279e95){var _0x3311f9=(this['m']*_0x4f212c+Math[_0xdf47f7(0x952,_0x3d2cd2._0x5c67b2)](_0x4f212c)-_0x1a3618)/(this['m']+Math['cos'](_0x4f212c));_0x4f212c-=_0x3311f9;if(Math[_0xdf47f7(0x1476,0x17eb)](_0x3311f9)<EPSLN)break;}}_0x71bd52=this['a']*this[_0xdf47f7(0xf65,_0x3d2cd2._0x38d5c2)]*_0x213b9d*(this['m']+Math['cos'](_0x4f212c)),_0x1d0e71=this['a']*this['C_y']*_0x4f212c;}else{var _0x13d246=Math['sin'](_0x4f212c),_0x1abca3=Math['cos'](_0x4f212c);_0x1d0e71=this['a']*pj_mlfn(_0x4f212c,_0x13d246,_0x1abca3,this['en']),_0x71bd52=this['a']*_0x213b9d*_0x1abca3/Math['sqrt'](0x1-this['es']*_0x13d246*_0x13d246);}return _0x17a40f['x']=_0x71bd52,_0x17a40f['y']=_0x1d0e71,_0x17a40f;}function inverse$a(_0x12c064){const _0x1ef009={_0x1fe38e:0x9e9,_0x2aaea9:0xdd9,_0x5abe71:0x131f};var _0x349bb0,_0x5c8391,_0x689f68,_0x23cf22;_0x12c064['x']-=this['x0'],_0x689f68=_0x12c064['x']/this['a'],_0x12c064['y']-=this['y0'],_0x349bb0=_0x12c064['y']/this['a'];if(this['sphere']){_0x349bb0/=this['C_y'],_0x689f68=_0x689f68/(this['C_x']*(this['m']+Math['cos'](_0x349bb0)));if(this['m'])_0x349bb0=asinz((this['m']*_0x349bb0+Math['sin'](_0x349bb0))/this['n']);else this['n']!==0x1&&(_0x349bb0=asinz(Math['sin'](_0x349bb0)/this['n']));_0x689f68=adjust_lon(_0x689f68+this[_0x4b3be1(0xd5e,_0x1ef009._0x1fe38e)]),_0x349bb0=adjust_lat(_0x349bb0);}else{_0x349bb0=pj_inv_mlfn(_0x12c064['y']/this['a'],this['es'],this['en']),_0x23cf22=Math['abs'](_0x349bb0);if(_0x23cf22<HALF_PI)_0x23cf22=Math['sin'](_0x349bb0),_0x5c8391=this[_0x4b3be1(0x808,_0x1ef009._0x1fe38e)]+_0x12c064['x']*Math['sqrt'](0x1-this['es']*_0x23cf22*_0x23cf22)/(this['a']*Math[_0x396eea(_0x1ef009._0x2aaea9,_0x1ef009._0x5abe71)](_0x349bb0)),_0x689f68=adjust_lon(_0x5c8391);else _0x23cf22-EPSLN<HALF_PI&&(_0x689f68=this['long0']);}_0x12c064['x']=_0x689f68;function _0x4b3be1(_0x535311,_0x2daf98){return _0x306755(_0x535311,_0x2daf98-0x141);}function _0x396eea(_0x2c7e81,_0x360eef){return _0x306755(_0x360eef,_0x2c7e81-0x14a);}return _0x12c064['y']=_0x349bb0,_0x12c064;}var names$a=['Sinusoidal',_0x2b6441(0x25b,0x7c8)];const _0x1741b1={};_0x1741b1[_0x2b6441(-0x4b3,0x120)]=init$a,_0x1741b1['forward']=forward$a,_0x1741b1['inverse']=inverse$a,_0x1741b1['names']=names$a;var sinu=_0x1741b1;function init$9(){}function forward$9(_0x47268c){const _0x1e8cf6={_0x151d2c:0x13aa,_0x113be8:0xc96};var _0x458143=_0x47268c['x'],_0x546b21=_0x47268c['y'],_0x5e6cb8=adjust_lon(_0x458143-this['long0']),_0x3a5d84=_0x546b21,_0x30bd3d=Math['PI']*Math['sin'](_0x546b21);while(!![]){var _0x3c386c=-(_0x3a5d84+Math['sin'](_0x3a5d84)-_0x30bd3d)/(0x1+Math['cos'](_0x3a5d84));_0x3a5d84+=_0x3c386c;if(Math['abs'](_0x3c386c)<EPSLN)break;}function _0xb9e3af(_0x60350b,_0x19827c){return _0x2b6441(_0x19827c,_0x60350b-0x5a8);}_0x3a5d84/=0x2;Math['PI']/0x2-Math[_0x209fe3(_0x1e8cf6._0x151d2c,0xe82)](_0x546b21)<EPSLN&&(_0x5e6cb8=0x0);var _0x12b181=0.900316316158*this['a']*_0x5e6cb8*Math[_0xb9e3af(_0x1e8cf6._0x113be8,0x105f)](_0x3a5d84)+this['x0'],_0x569061=1.4142135623731*this['a']*Math['sin'](_0x3a5d84)+this['y0'];_0x47268c['x']=_0x12b181,_0x47268c['y']=_0x569061;function _0x209fe3(_0x1b8ee4,_0x5ce051){return _0x306755(_0x1b8ee4,_0x5ce051- -0x5df);}return _0x47268c;}function inverse$9(_0x3c19fa){const _0x533bad={_0x238c16:0x306,_0x3c3294:0x1339};function _0x45364b(_0x206825,_0x30c0c4){return _0x2b6441(_0x206825,_0x30c0c4-0x6a0);}var _0x458c00,_0x3000a4;_0x3c19fa['x']-=this['x0'],_0x3c19fa['y']-=this['y0'],_0x3000a4=_0x3c19fa['y']/(1.4142135623731*this['a']);Math['abs'](_0x3000a4)>0.999999999999&&(_0x3000a4=0.999999999999);_0x458c00=Math['asin'](_0x3000a4);var _0x2499b5=adjust_lon(this['long0']+_0x3c19fa['x']/(0.900316316158*this['a']*Math['cos'](_0x458c00)));_0x2499b5<-Math['PI']&&(_0x2499b5=-Math['PI']);_0x2499b5>Math['PI']&&(_0x2499b5=Math['PI']);_0x3000a4=(0x2*_0x458c00+Math[_0x43a04c(_0x533bad._0x238c16,0x472)](0x2*_0x458c00))/Math['PI'];Math['abs'](_0x3000a4)>0x1&&(_0x3000a4=0x1);function _0x43a04c(_0x29d102,_0x5d1f6e){return _0x306755(_0x5d1f6e,_0x29d102- -0x637);}var _0x2709d0=Math[_0x45364b(0x1b5f,_0x533bad._0x3c3294)](_0x3000a4);return _0x3c19fa['x']=_0x2499b5,_0x3c19fa['y']=_0x2709d0,_0x3c19fa;}var names$9=['Mollweide',_0x2b6441(0xd55,0xff1)];const _0x599a44={};_0x599a44[_0x2b6441(-0x2d6,0x120)]=init$9,_0x599a44['forward']=forward$9,_0x599a44['inverse']=inverse$9,_0x599a44['names']=names$9;var moll=_0x599a44;function init$8(){const _0x266dbd={_0x59d216:0xbaa,_0x1f07ee:0xe11,_0x50e764:0xbb4,_0x884430:0xd47,_0x46967e:0x8d4,_0xeae863:0xcba,_0x435d07:0xf38,_0x226a6a:0x7e5,_0x1acbc9:0x1442,_0x1011de:0x173f,_0x3f0952:0x6d6,_0x39cfb3:0x333,_0x870d9c:0x1979,_0x4ff247:0x1830,_0x50fb2e:0x874},_0x809043={_0x341a45:0x4c6},_0x54fb05={_0x41b616:0x6ed};if(Math['abs'](this[_0x2d54ab(0x115f,_0x266dbd._0x59d216)]+this[_0x541fe8(0xcee,_0x266dbd._0x1f07ee)])<EPSLN)return;this['lat2']=this['lat2']||this['lat1'],this['temp']=this['b']/this['a'],this['es']=0x1-Math['pow'](this['temp'],0x2),this['e']=Math['sqrt'](this['es']),this['e0']=e0fn(this['es']),this['e1']=e1fn(this['es']),this['e2']=e2fn(this['es']),this['e3']=e3fn(this['es']),this['sinphi']=Math['sin'](this['lat1']),this['cosphi']=Math[_0x541fe8(0x14ae,_0x266dbd._0x50e764)](this[_0x2d54ab(0x115f,_0x266dbd._0x884430)]);function _0x2d54ab(_0xeac242,_0x117419){return _0x2b6441(_0x117419,_0xeac242-_0x54fb05._0x41b616);}this['ms1']=msfnz(this['e'],this['sinphi'],this[_0x2d54ab(_0x266dbd._0x46967e,0xa03)]),this['ml1']=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x541fe8(_0x266dbd._0xeae863,_0x266dbd._0x435d07)]);function _0x541fe8(_0x315eed,_0x4f4df0){return _0x2b6441(_0x315eed,_0x4f4df0-_0x809043._0x341a45);}Math['abs'](this[_0x2d54ab(0x115f,_0x266dbd._0x226a6a)]-this['lat2'])<EPSLN?this['ns']=this[_0x541fe8(_0x266dbd._0x1acbc9,_0x266dbd._0x1011de)]:(this[_0x541fe8(0x1356,0x173f)]=Math['sin'](this['lat2']),this['cosphi']=Math['cos'](this['lat2']),this['ms2']=msfnz(this['e'],this[_0x2d54ab(0x1966,0x1a6f)],this['cosphi']),this[_0x2d54ab(_0x266dbd._0x3f0952,_0x266dbd._0x39cfb3)]=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this['lat2']),this['ns']=(this[_0x2d54ab(0x17f5,0xf5d)]-this[_0x2d54ab(_0x266dbd._0x870d9c,0x221f)])/(this['ml2']-this['ml1'])),this['g']=this[_0x541fe8(0x224b,_0x266dbd._0x4ff247)]+this['ms1']/this['ns'],this['ml0']=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],this[_0x541fe8(0x826,_0x266dbd._0x50fb2e)]),this['rh']=this['a']*(this['g']-this['ml0']);}function forward$8(_0x29c12d){const _0xdcdcd={_0x1f2da8:0xaca},_0x3f9a9d={_0x1f54c0:0x230};var _0x1d70ee=_0x29c12d['x'];function _0x3d7344(_0x4a424d,_0x340666){return _0x2b6441(_0x340666,_0x4a424d-0x47e);}var _0xee41eb=_0x29c12d['y'],_0x480803;if(this['sphere'])_0x480803=this['a']*(this['g']-_0xee41eb);else{var _0x2bdbb4=mlfn(this['e0'],this['e1'],this['e2'],this['e3'],_0xee41eb);_0x480803=this['a']*(this['g']-_0x2bdbb4);}var _0x4ec6d1=this['ns']*adjust_lon(_0x1d70ee-this[_0x3d7344(0x785,_0xdcdcd._0x1f2da8)]),_0x59f836=this['x0']+_0x480803*Math[_0xa9d82c(0x797,0x70d)](_0x4ec6d1),_0x15d708=this['y0']+this['rh']-_0x480803*Math['cos'](_0x4ec6d1);function _0xa9d82c(_0x49ac2a,_0x1e4f2c){return _0x306755(_0x49ac2a,_0x1e4f2c- -_0x3f9a9d._0x1f54c0);}return _0x29c12d['x']=_0x59f836,_0x29c12d['y']=_0x15d708,_0x29c12d;}function inverse$8(_0x4f9101){_0x4f9101['x']-=this['x0'],_0x4f9101['y']=this['rh']-_0x4f9101['y']+this['y0'];var _0x6e44d9,_0x44ee7f,_0xe98533,_0x49fb2f;this['ns']>=0x0?(_0x44ee7f=Math[_0x5764e9(0x13b2,0x1215)](_0x4f9101['x']*_0x4f9101['x']+_0x4f9101['y']*_0x4f9101['y']),_0x6e44d9=0x1):(_0x44ee7f=-Math['sqrt'](_0x4f9101['x']*_0x4f9101['x']+_0x4f9101['y']*_0x4f9101['y']),_0x6e44d9=-0x1);var _0x4f964c=0x0;_0x44ee7f!==0x0&&(_0x4f964c=Math['atan2'](_0x6e44d9*_0x4f9101['x'],_0x6e44d9*_0x4f9101['y']));function _0x5764e9(_0x452a53,_0x3b8844){return _0x2b6441(_0x3b8844,_0x452a53-0x414);}if(this['sphere'])return _0x49fb2f=adjust_lon(this['long0']+_0x4f964c/this['ns']),_0xe98533=adjust_lat(this['g']-_0x44ee7f/this['a']),_0x4f9101['x']=_0x49fb2f,_0x4f9101['y']=_0xe98533,_0x4f9101;else{var _0x46863a=this['g']-_0x44ee7f/this['a'];return _0xe98533=imlfn(_0x46863a,this['e0'],this['e1'],this['e2'],this['e3']),_0x49fb2f=adjust_lon(this['long0']+_0x4f964c/this['ns']),_0x4f9101['x']=_0x49fb2f,_0x4f9101['y']=_0xe98533,_0x4f9101;}}var names$8=[_0x2b6441(0x1064,0x1274),'eqdc'];const _0xc7f625={};_0xc7f625[_0x2b6441(-0x9aa,0x120)]=init$8,_0xc7f625['forward']=forward$8,_0xc7f625['inverse']=inverse$8,_0xc7f625['names']=names$8;var eqdc=_0xc7f625;function init$7(){this['R']=this['a'];}function forward$7(_0x680607){const _0x12d9d7={_0x25f802:0x222,_0x4084df:0x16dc,_0x4c666c:0x121d},_0x39b8f2={_0x581a07:0x322},_0x353870={_0xa0a3f1:0x434};var _0x1a1680=_0x680607['x'],_0x45ab2b=_0x680607['y'],_0x5ef8fb=adjust_lon(_0x1a1680-this[_0x130fd5(_0x12d9d7._0x25f802,0x73b)]),_0x156499,_0x357895;Math[_0x130fd5(0x1859,0x12f4)](_0x45ab2b)<=EPSLN&&(_0x156499=this['x0']+this['R']*_0x5ef8fb,_0x357895=this['y0']);function _0x130fd5(_0x3865f5,_0x24e7db){return _0x2b6441(_0x3865f5,_0x24e7db-_0x353870._0xa0a3f1);}var _0x1ff803=asinz(0x2*Math['abs'](_0x45ab2b/Math['PI']));(Math['abs'](_0x5ef8fb)<=EPSLN||Math['abs'](Math['abs'](_0x45ab2b)-HALF_PI)<=EPSLN)&&(_0x156499=this['x0'],_0x45ab2b>=0x0?_0x357895=this['y0']+Math['PI']*this['R']*Math[_0x130fd5(_0x12d9d7._0x4084df,0xd19)](0.5*_0x1ff803):_0x357895=this['y0']+Math['PI']*this['R']*-Math[_0x130fd5(0x1009,0xd19)](0.5*_0x1ff803));var _0x3202d4=0.5*Math['abs'](Math['PI']/_0x5ef8fb-_0x5ef8fb/Math['PI']),_0x222c65=_0x3202d4*_0x3202d4,_0x57deda=Math[_0x2f5ca3(0x61b,0x34b)](_0x1ff803);function _0x2f5ca3(_0x3ace48,_0x5991ed){return _0x306755(_0x5991ed,_0x3ace48- -_0x39b8f2._0x581a07);}var _0xfd9b5=Math['cos'](_0x1ff803),_0x5c58d3=_0xfd9b5/(_0x57deda+_0xfd9b5-0x1),_0x4f032b=_0x5c58d3*_0x5c58d3,_0x13dc6d=_0x5c58d3*(0x2/_0x57deda-0x1),_0x15a8f5=_0x13dc6d*_0x13dc6d,_0x5bff2c=Math['PI']*this['R']*(_0x3202d4*(_0x5c58d3-_0x15a8f5)+Math['sqrt'](_0x222c65*(_0x5c58d3-_0x15a8f5)*(_0x5c58d3-_0x15a8f5)-(_0x15a8f5+_0x222c65)*(_0x4f032b-_0x15a8f5)))/(_0x15a8f5+_0x222c65);_0x5ef8fb<0x0&&(_0x5bff2c=-_0x5bff2c);_0x156499=this['x0']+_0x5bff2c;var _0x376d9c=_0x222c65+_0x5c58d3;return _0x5bff2c=Math['PI']*this['R']*(_0x13dc6d*_0x376d9c-_0x3202d4*Math[_0x2f5ca3(_0x12d9d7._0x4c666c,0x1783)]((_0x15a8f5+_0x222c65)*(_0x222c65+0x1)-_0x376d9c*_0x376d9c))/(_0x15a8f5+_0x222c65),_0x45ab2b>=0x0?_0x357895=this['y0']+_0x5bff2c:_0x357895=this['y0']-_0x5bff2c,_0x680607['x']=_0x156499,_0x680607['y']=_0x357895,_0x680607;}function inverse$7(_0x58b8b3){const _0x47fcb8={_0x466fb2:0x1ad3,_0x5405ce:0x10c9,_0x1382fd:0xb0f,_0x1a50ac:0x744,_0x565688:0x6a9,_0x41fed7:0x728},_0x160f5a={_0x1b93c1:0x180};var _0x5b97e6,_0x3b7f90,_0x3b9aee,_0x30eed3,_0xcbf0b3,_0x1b3ea7,_0x5a0a46,_0x1d3b4a,_0x59d734,_0x38171c,_0x29f2ee,_0x16a7fa,_0x4bf693;_0x58b8b3['x']-=this['x0'],_0x58b8b3['y']-=this['y0'];function _0x1fac93(_0xbaca71,_0x547ebb){return _0x306755(_0xbaca71,_0x547ebb- -_0x160f5a._0x1b93c1);}_0x29f2ee=Math['PI']*this['R'],_0x3b9aee=_0x58b8b3['x']/_0x29f2ee,_0x30eed3=_0x58b8b3['y']/_0x29f2ee,_0xcbf0b3=_0x3b9aee*_0x3b9aee+_0x30eed3*_0x30eed3,_0x1b3ea7=-Math[_0x47935b(0x11aa,_0x47fcb8._0x466fb2)](_0x30eed3)*(0x1+_0xcbf0b3),_0x5a0a46=_0x1b3ea7-0x2*_0x30eed3*_0x30eed3+_0x3b9aee*_0x3b9aee,_0x1d3b4a=-0x2*_0x1b3ea7+0x1+0x2*_0x30eed3*_0x30eed3+_0xcbf0b3*_0xcbf0b3,_0x4bf693=_0x30eed3*_0x30eed3/_0x1d3b4a+(0x2*_0x5a0a46*_0x5a0a46*_0x5a0a46/_0x1d3b4a/_0x1d3b4a/_0x1d3b4a-0x9*_0x1b3ea7*_0x5a0a46/_0x1d3b4a/_0x1d3b4a)/0x1b,_0x59d734=(_0x1b3ea7-_0x5a0a46*_0x5a0a46/0x3/_0x1d3b4a)/_0x1d3b4a;function _0x47935b(_0x5f0101,_0x4f13f1){return _0x2b6441(_0x4f13f1,_0x5f0101-0x2ea);}return _0x38171c=0x2*Math['sqrt'](-_0x59d734/0x3),_0x29f2ee=0x3*_0x4bf693/_0x59d734/_0x38171c,Math['abs'](_0x29f2ee)>0x1&&(_0x29f2ee>=0x0?_0x29f2ee=0x1:_0x29f2ee=-0x1),_0x16a7fa=Math['acos'](_0x29f2ee)/0x3,_0x58b8b3['y']>=0x0?_0x3b7f90=(-_0x38171c*Math[_0x1fac93(_0x47fcb8._0x5405ce,_0x47fcb8._0x1382fd)](_0x16a7fa+Math['PI']/0x3)-_0x5a0a46/0x3/_0x1d3b4a)*Math['PI']:_0x3b7f90=-(-_0x38171c*Math[_0x47935b(0x9d8,_0x47fcb8._0x1a50ac)](_0x16a7fa+Math['PI']/0x3)-_0x5a0a46/0x3/_0x1d3b4a)*Math['PI'],Math['abs'](_0x3b9aee)<EPSLN?_0x5b97e6=this[_0x1fac93(_0x47fcb8._0x565688,_0x47fcb8._0x41fed7)]:_0x5b97e6=adjust_lon(this['long0']+Math['PI']*(_0xcbf0b3-0x1+Math['sqrt'](0x1+0x2*(_0x3b9aee*_0x3b9aee-_0x30eed3*_0x30eed3)+_0xcbf0b3*_0xcbf0b3))/0x2/_0x3b9aee),_0x58b8b3['x']=_0x5b97e6,_0x58b8b3['y']=_0x3b7f90,_0x58b8b3;}var names$7=[_0x2b6441(0x45e,0x6ef),'VanDerGrinten','vandg'];const _0x26c3f4={};_0x26c3f4['init']=init$7,_0x26c3f4['forward']=forward$7,_0x26c3f4['inverse']=inverse$7,_0x26c3f4['names']=names$7;var vandg=_0x26c3f4;function init$6(){const _0xd3370a={_0x177706:0x1020,_0x56d004:0xa2b,_0x29f8f9:0x3fe},_0xf78fdb={_0x345845:0x575},_0xed001c={_0x2abd1b:0x4ac};function _0x5d6099(_0xbb9440,_0x9e592){return _0x2b6441(_0x9e592,_0xbb9440-_0xed001c._0x2abd1b);}function _0x20d0ca(_0x48dbc6,_0x32a897){return _0x306755(_0x32a897,_0x48dbc6- -_0xf78fdb._0x345845);}this[_0x5d6099(_0xd3370a._0x177706,0x1694)]=Math['sin'](this['lat0']),this[_0x5d6099(_0xd3370a._0x56d004,0xeb2)]=Math[_0x5d6099(0xb9a,_0xd3370a._0x29f8f9)](this[_0x20d0ca(0x3da,0xc8f)]);}function forward$6(_0x10b147){const _0x11e5b7={_0x4b37fb:0xbf6,_0x2ef5bd:0xc31,_0x1cd45f:0x1000,_0x263996:0x11af,_0x5734ac:0x13fb,_0x37d2b:0xd29,_0x17ca66:0x53d,_0x24465f:0x74a,_0x35b8ad:0x2a1,_0x1b66a2:0xd29,_0xee79b1:0xf22,_0x40d556:0x12a3,_0xdecee:0x126e,_0x44a3ae:0xda0,_0x279c18:0x9d7,_0x355aa6:0xf22,_0xf247c0:0xe67,_0x536522:0x1016,_0x4f1c8f:0x9d7,_0x5636ff:0x490,_0xa66a0:0xd29},_0x5b83cb={_0x58513f:0x1f3};var _0x3dbe74=_0x10b147['x'];function _0x27bb05(_0x1d1172,_0x37828e){return _0x306755(_0x1d1172,_0x37828e-0x9a);}function _0x38c4a9(_0x5a9e3c,_0x20bff5){return _0x306755(_0x20bff5,_0x5a9e3c- -_0x5b83cb._0x58513f);}var _0x338dc0=_0x10b147['y'],_0x41ff71=Math[_0x38c4a9(0x74a,_0x11e5b7._0x4b37fb)](_0x10b147['y']),_0x34cac6=Math[_0x38c4a9(0xa9c,0x1221)](_0x10b147['y']),_0x3cec84=adjust_lon(_0x3dbe74-this['long0']),_0x1bc40b,_0x7fd455,_0x5b3a15,_0x5bb833,_0x1de8dd,_0x128949,_0xf0d267,_0xae560b,_0x5a31bd,_0x5312d2,_0x364e7e,_0x3fc7dc,_0x2d32f0,_0x46c7eb,_0x354e48,_0x3509ba,_0x110b0a,_0x2cc050,_0x3027d5,_0x5e7bbe,_0x5ee28c,_0x58522c,_0x3d5106;if(this['sphere']){if(Math['abs'](this['sin_p12']-0x1)<=EPSLN)return _0x10b147['x']=this['x0']+this['a']*(HALF_PI-_0x338dc0)*Math['sin'](_0x3cec84),_0x10b147['y']=this['y0']-this['a']*(HALF_PI-_0x338dc0)*Math[_0x27bb05(_0x11e5b7._0x2ef5bd,0xd29)](_0x3cec84),_0x10b147;else return Math['abs'](this[_0x27bb05(_0x11e5b7._0x1cd45f,_0x11e5b7._0x263996)]+0x1)<=EPSLN?(_0x10b147['x']=this['x0']+this['a']*(HALF_PI+_0x338dc0)*Math['sin'](_0x3cec84),_0x10b147['y']=this['y0']+this['a']*(HALF_PI+_0x338dc0)*Math[_0x27bb05(0x947,0xd29)](_0x3cec84),_0x10b147):(_0x2cc050=this[_0x27bb05(0x12cd,_0x11e5b7._0x263996)]*_0x41ff71+this[_0x38c4a9(0x92d,_0x11e5b7._0x5734ac)]*_0x34cac6*Math[_0x27bb05(0x34c,_0x11e5b7._0x37d2b)](_0x3cec84),_0x3509ba=Math[_0x27bb05(-0x387,_0x11e5b7._0x17ca66)](_0x2cc050),_0x110b0a=_0x3509ba?_0x3509ba/Math[_0x38c4a9(_0x11e5b7._0x24465f,0x2b7)](_0x3509ba):0x1,_0x10b147['x']=this['x0']+this['a']*_0x110b0a*_0x34cac6*Math['sin'](_0x3cec84),_0x10b147['y']=this['y0']+this['a']*_0x110b0a*(this['cos_p12']*_0x41ff71-this['sin_p12']*_0x34cac6*Math[_0x27bb05(_0x11e5b7._0x35b8ad,_0x11e5b7._0x1b66a2)](_0x3cec84)),_0x10b147);}else{_0x1bc40b=e0fn(this['es']),_0x7fd455=e1fn(this['es']),_0x5b3a15=e2fn(this['es']),_0x5bb833=e3fn(this['es']);if(Math['abs'](this['sin_p12']-0x1)<=EPSLN)return _0x1de8dd=this['a']*mlfn(_0x1bc40b,_0x7fd455,_0x5b3a15,_0x5bb833,HALF_PI),_0x128949=this['a']*mlfn(_0x1bc40b,_0x7fd455,_0x5b3a15,_0x5bb833,_0x338dc0),_0x10b147['x']=this['x0']+(_0x1de8dd-_0x128949)*Math['sin'](_0x3cec84),_0x10b147['y']=this['y0']-(_0x1de8dd-_0x128949)*Math['cos'](_0x3cec84),_0x10b147;else{if(Math['abs'](this['sin_p12']+0x1)<=EPSLN)return _0x1de8dd=this['a']*mlfn(_0x1bc40b,_0x7fd455,_0x5b3a15,_0x5bb833,HALF_PI),_0x128949=this['a']*mlfn(_0x1bc40b,_0x7fd455,_0x5b3a15,_0x5bb833,_0x338dc0),_0x10b147['x']=this['x0']+(_0x1de8dd+_0x128949)*Math[_0x27bb05(0xa48,0x9d7)](_0x3cec84),_0x10b147['y']=this['y0']+(_0x1de8dd+_0x128949)*Math['cos'](_0x3cec84),_0x10b147;else{_0xf0d267=_0x41ff71/_0x34cac6,_0xae560b=gN(this['a'],this['e'],this[_0x38c4a9(_0x11e5b7._0xee79b1,0xfe8)]),_0x5a31bd=gN(this['a'],this['e'],_0x41ff71),_0x5312d2=Math[_0x38c4a9(0x650,0x583)]((0x1-this['es'])*_0xf0d267+this['es']*_0xae560b*this['sin_p12']/(_0x5a31bd*_0x34cac6)),_0x364e7e=Math['atan2'](Math['sin'](_0x3cec84),this['cos_p12']*Math[_0x27bb05(0xa4c,0xf20)](_0x5312d2)-this['sin_p12']*Math[_0x38c4a9(0xa9c,0xa4e)](_0x3cec84));if(_0x364e7e===0x0)_0x3027d5=Math['asin'](this[_0x38c4a9(0x92d,_0x11e5b7._0x40d556)]*Math['sin'](_0x5312d2)-this['sin_p12']*Math[_0x38c4a9(0xa9c,0xd69)](_0x5312d2));else Math[_0x38c4a9(_0x11e5b7._0xdecee,_0x11e5b7._0x44a3ae)](Math['abs'](_0x364e7e)-Math['PI'])<=EPSLN?_0x3027d5=-Math['asin'](this['cos_p12']*Math[_0x27bb05(0xd32,_0x11e5b7._0x279c18)](_0x5312d2)-this[_0x38c4a9(_0x11e5b7._0x355aa6,0x936)]*Math['cos'](_0x5312d2)):_0x3027d5=Math['asin'](Math['sin'](_0x3cec84)*Math['cos'](_0x5312d2)/Math['sin'](_0x364e7e));return _0x3fc7dc=this['e']*this[_0x38c4a9(0xf22,_0x11e5b7._0xf247c0)]/Math[_0x27bb05(0xddc,0x15d9)](0x1-this['es']),_0x2d32f0=this['e']*this[_0x38c4a9(0x92d,0x7a3)]*Math['cos'](_0x364e7e)/Math['sqrt'](0x1-this['es']),_0x46c7eb=_0x3fc7dc*_0x2d32f0,_0x354e48=_0x2d32f0*_0x2d32f0,_0x5e7bbe=_0x3027d5*_0x3027d5,_0x5ee28c=_0x5e7bbe*_0x3027d5,_0x58522c=_0x5ee28c*_0x3027d5,_0x3d5106=_0x58522c*_0x3027d5,_0x3509ba=_0xae560b*_0x3027d5*(0x1-_0x5e7bbe*_0x354e48*(0x1-_0x354e48)/0x6+_0x5ee28c/0x8*_0x46c7eb*(0x1-0x2*_0x354e48)+_0x58522c/0x78*(_0x354e48*(0x4-0x7*_0x354e48)-0x3*_0x3fc7dc*_0x3fc7dc*(0x1-0x7*_0x354e48))-_0x3d5106/0x30*_0x46c7eb),_0x10b147['x']=this['x0']+_0x3509ba*Math[_0x27bb05(_0x11e5b7._0x536522,_0x11e5b7._0x4f1c8f)](_0x364e7e),_0x10b147['y']=this['y0']+_0x3509ba*Math[_0x27bb05(_0x11e5b7._0x5636ff,_0x11e5b7._0xa66a0)](_0x364e7e),_0x10b147;}}}}function inverse$6(_0x330aa2){const _0x258d73={_0x27050a:0x1734,_0x4e0105:0x137d,_0x40f68e:0xa97,_0x36e974:0x112,_0x394be8:0x129f,_0x14c299:0x120f,_0x4a5022:0x6e6,_0x155f88:0x2cd,_0x2b145a:0x286,_0x597cf7:0xa79,_0x4e9ba3:0xf53,_0x163e69:0x12fb,_0x2af19b:0x4e6,_0x4d30ef:0x7b1,_0x554bc1:0x1438,_0x5f5765:0x1879};_0x330aa2['x']-=this['x0'];function _0x263b20(_0x244756,_0x345dc0){return _0x2b6441(_0x244756,_0x345dc0-0x3df);}_0x330aa2['y']-=this['y0'];var _0x50edb9,_0x53323b,_0x2c9c22,_0x4cbcec,_0x5aebe3,_0x218b42,_0x5020a5,_0x1bd8f5,_0x1122e5,_0x2bb2a3,_0x5a33bf,_0x4fe2de,_0x273602,_0x1fe103,_0x38140d,_0x13988e,_0x135bb4,_0x156fcb,_0x5ec314,_0x418cd6,_0x538338,_0x5831c9,_0x1e8286,_0x475d5e;function _0x2970d2(_0x64861c,_0x4a0d54){return _0x2b6441(_0x64861c,_0x4a0d54-0x35d);}if(this['sphere']){_0x50edb9=Math[_0x263b20(_0x258d73._0x27050a,_0x258d73._0x4e0105)](_0x330aa2['x']*_0x330aa2['x']+_0x330aa2['y']*_0x330aa2['y']);if(_0x50edb9>0x2*HALF_PI*this['a'])return;return _0x53323b=_0x50edb9/this['a'],_0x2c9c22=Math['sin'](_0x53323b),_0x4cbcec=Math[_0x2970d2(_0x258d73._0x40f68e,0xa4b)](_0x53323b),_0x5aebe3=this[_0x263b20(_0x258d73._0x36e974,0x6e6)],Math['abs'](_0x50edb9)<=EPSLN?_0x218b42=this['lat0']:(_0x218b42=asinz(_0x4cbcec*this['sin_p12']+_0x330aa2['y']*_0x2c9c22*this[_0x2970d2(0x5cb,0x8dc)]/_0x50edb9),_0x5020a5=Math['abs'](this[_0x2970d2(-0xb8,0x70b)])-HALF_PI,Math[_0x263b20(0xf16,_0x258d73._0x394be8)](_0x5020a5)<=EPSLN?this[_0x263b20(_0x258d73._0x14c299,0x78d)]>=0x0?_0x5aebe3=adjust_lon(this['long0']+Math['atan2'](_0x330aa2['x'],-_0x330aa2['y'])):_0x5aebe3=adjust_lon(this[_0x263b20(0x653,_0x258d73._0x4a5022)]-Math[_0x263b20(_0x258d73._0x155f88,0x7b1)](-_0x330aa2['x'],_0x330aa2['y'])):_0x5aebe3=adjust_lon(this[_0x2970d2(_0x258d73._0x2b145a,0x664)]+Math[_0x2970d2(0xaf1,0x72f)](_0x330aa2['x']*_0x2c9c22,_0x50edb9*this[_0x2970d2(0x1246,0x8dc)]*_0x4cbcec-_0x330aa2['y']*this['sin_p12']*_0x2c9c22))),_0x330aa2['x']=_0x5aebe3,_0x330aa2['y']=_0x218b42,_0x330aa2;}else{_0x1bd8f5=e0fn(this['es']),_0x1122e5=e1fn(this['es']),_0x2bb2a3=e2fn(this['es']),_0x5a33bf=e3fn(this['es']);if(Math['abs'](this[_0x263b20(_0x258d73._0x597cf7,_0x258d73._0x4e9ba3)]-0x1)<=EPSLN)return _0x4fe2de=this['a']*mlfn(_0x1bd8f5,_0x1122e5,_0x2bb2a3,_0x5a33bf,HALF_PI),_0x50edb9=Math['sqrt'](_0x330aa2['x']*_0x330aa2['x']+_0x330aa2['y']*_0x330aa2['y']),_0x273602=_0x4fe2de-_0x50edb9,_0x218b42=imlfn(_0x273602/this['a'],_0x1bd8f5,_0x1122e5,_0x2bb2a3,_0x5a33bf),_0x5aebe3=adjust_lon(this['long0']+Math['atan2'](_0x330aa2['x'],-0x1*_0x330aa2['y'])),_0x330aa2['x']=_0x5aebe3,_0x330aa2['y']=_0x218b42,_0x330aa2;else return Math['abs'](this['sin_p12']+0x1)<=EPSLN?(_0x4fe2de=this['a']*mlfn(_0x1bd8f5,_0x1122e5,_0x2bb2a3,_0x5a33bf,HALF_PI),_0x50edb9=Math['sqrt'](_0x330aa2['x']*_0x330aa2['x']+_0x330aa2['y']*_0x330aa2['y']),_0x273602=_0x50edb9-_0x4fe2de,_0x218b42=imlfn(_0x273602/this['a'],_0x1bd8f5,_0x1122e5,_0x2bb2a3,_0x5a33bf),_0x5aebe3=adjust_lon(this['long0']+Math['atan2'](_0x330aa2['x'],_0x330aa2['y'])),_0x330aa2['x']=_0x5aebe3,_0x330aa2['y']=_0x218b42,_0x330aa2):(_0x50edb9=Math[_0x2970d2(0x962,_0x258d73._0x163e69)](_0x330aa2['x']*_0x330aa2['x']+_0x330aa2['y']*_0x330aa2['y']),_0x13988e=Math[_0x263b20(_0x258d73._0x2af19b,_0x258d73._0x4d30ef)](_0x330aa2['x'],_0x330aa2['y']),_0x1fe103=gN(this['a'],this['e'],this['sin_p12']),_0x135bb4=Math['cos'](_0x13988e),_0x156fcb=this['e']*this['cos_p12']*_0x135bb4,_0x5ec314=-_0x156fcb*_0x156fcb/(0x1-this['es']),_0x418cd6=0x3*this['es']*(0x1-_0x5ec314)*this['sin_p12']*this['cos_p12']*_0x135bb4/(0x1-this['es']),_0x538338=_0x50edb9/_0x1fe103,_0x5831c9=_0x538338-_0x5ec314*(0x1+_0x5ec314)*Math[_0x2970d2(0x1007,_0x258d73._0x554bc1)](_0x538338,0x3)/0x6-_0x418cd6*(0x1+0x3*_0x5ec314)*Math['pow'](_0x538338,0x4)/0x18,_0x1e8286=0x1-_0x5ec314*_0x5831c9*_0x5831c9/0x2-_0x538338*_0x5831c9*_0x5831c9*_0x5831c9/0x6,_0x38140d=Math[_0x2970d2(_0x258d73._0x5f5765,0xff6)](this[_0x263b20(0x87f,_0x258d73._0x4e9ba3)]*Math['cos'](_0x5831c9)+this['cos_p12']*Math['sin'](_0x5831c9)*_0x135bb4),_0x5aebe3=adjust_lon(this['long0']+Math['asin'](Math['sin'](_0x13988e)*Math['sin'](_0x5831c9)/Math['cos'](_0x38140d))),_0x475d5e=Math[_0x263b20(0xd59,0x77b)](_0x38140d),_0x218b42=Math['atan2']((_0x475d5e-this['es']*_0x1e8286*this[_0x263b20(0xa98,_0x258d73._0x4e9ba3)])*Math[_0x2970d2(0xfdb,0xc42)](_0x38140d),_0x475d5e*(0x1-this['es'])),_0x330aa2['x']=_0x5aebe3,_0x330aa2['y']=_0x218b42,_0x330aa2);}}var names$6=['Azimuthal_Equidistant','aeqd'];const _0x59d36f={};_0x59d36f[_0x306755(0x91b,0x6c1)]=init$6,_0x59d36f['forward']=forward$6,_0x59d36f['inverse']=inverse$6,_0x59d36f[_0x2b6441(-0x2fc,0x6c5)]=names$6;var aeqd=_0x59d36f;function init$5(){const _0x5d8c4c={_0x3c1795:0x57d,_0x1a61ab:0x57d,_0x4d8683:0xbb2},_0x971193={_0x4c5eaa:0x68d};this[_0x440b86(0x12b5,0x1387)]=Math['sin'](this[_0x440b86(_0x5d8c4c._0x3c1795,0xb59)]);function _0x440b86(_0x445aeb,_0x534b91){return _0x306755(_0x534b91,_0x445aeb- -0x3d2);}function _0x5eff05(_0x534239,_0x1fd391){return _0x2b6441(_0x534239,_0x1fd391-_0x971193._0x4c5eaa);}this['cos_p14']=Math['cos'](this[_0x440b86(_0x5d8c4c._0x1a61ab,_0x5d8c4c._0x4d8683)]);}function forward$5(_0x139c8c){const _0x3b6f31={_0xce1b0b:0x29d,_0x475f1e:0xb7f,_0x56dd17:0x301};var _0x5de527,_0x30fa32;function _0x5247e1(_0x457bbd,_0x5c37ee){return _0x306755(_0x457bbd,_0x5c37ee- -0x110);}var _0x3e71db,_0x4cac71,_0x330e4e,_0x10703a,_0x165cb3,_0x56f1f4,_0x1e03d2=_0x139c8c['x'],_0x294f3c=_0x139c8c['y'];_0x3e71db=adjust_lon(_0x1e03d2-this['long0']),_0x5de527=Math['sin'](_0x294f3c),_0x30fa32=Math[_0x5247e1(_0x3b6f31._0xce1b0b,_0x3b6f31._0x475f1e)](_0x294f3c),_0x4cac71=Math['cos'](_0x3e71db),_0x10703a=this['sin_p14']*_0x5de527+this['cos_p14']*_0x30fa32*_0x4cac71;function _0x358318(_0x2168c6,_0x598d42){return _0x306755(_0x2168c6,_0x598d42- -0x63c);}return _0x330e4e=0x1,(_0x10703a>0x0||Math['abs'](_0x10703a)<=EPSLN)&&(_0x165cb3=this['a']*_0x330e4e*_0x30fa32*Math[_0x358318(-0x39a,_0x3b6f31._0x56dd17)](_0x3e71db),_0x56f1f4=this['y0']+this['a']*_0x330e4e*(this[_0x358318(0x95d,0x9b9)]*_0x5de527-this['sin_p14']*_0x30fa32*_0x4cac71)),_0x139c8c['x']=_0x165cb3,_0x139c8c['y']=_0x56f1f4,_0x139c8c;}function inverse$5(_0x15e11c){const _0x439aad={_0x138ab3:0x10c2,_0x3157ab:0x525,_0x2ffb92:0xa54,_0x4159ac:0x132f,_0x274aa7:0x1a9c};function _0x2f24ee(_0x2ebdfa,_0x1a1a4f){return _0x2b6441(_0x2ebdfa,_0x1a1a4f-0x66e);}var _0x170df9,_0x47a251;function _0x50ac7d(_0x263c5b,_0x13103a){return _0x306755(_0x13103a,_0x263c5b-0xe1);}var _0x20194a,_0x2631cb,_0x3e8265,_0x40aa05,_0x56864f;_0x15e11c['x']-=this['x0'],_0x15e11c['y']-=this['y0'],_0x170df9=Math[_0x2f24ee(0x19c8,0x160c)](_0x15e11c['x']*_0x15e11c['x']+_0x15e11c['y']*_0x15e11c['y']),_0x47a251=asinz(_0x170df9/this['a']),_0x20194a=Math['sin'](_0x47a251),_0x2631cb=Math['cos'](_0x47a251),_0x40aa05=this['long0'];if(Math['abs'](_0x170df9)<=EPSLN)return _0x56864f=this['lat0'],_0x15e11c['x']=_0x40aa05,_0x15e11c['y']=_0x56864f,_0x15e11c;_0x56864f=asinz(_0x2631cb*this[_0x50ac7d(0x1768,0x13f0)]+_0x15e11c['y']*_0x20194a*this[_0x2f24ee(0xd72,_0x439aad._0x138ab3)]/_0x170df9),_0x3e8265=Math['abs'](this['lat0'])-HALF_PI;if(Math['abs'](_0x3e8265)<=EPSLN)return this[_0x2f24ee(0x1242,0xa1c)]>=0x0?_0x40aa05=adjust_lon(this[_0x2f24ee(_0x439aad._0x3157ab,0x975)]+Math[_0x50ac7d(_0x439aad._0x2ffb92,_0x439aad._0x4159ac)](_0x15e11c['x'],-_0x15e11c['y'])):_0x40aa05=adjust_lon(this['long0']-Math[_0x50ac7d(0xa54,0x209)](-_0x15e11c['x'],_0x15e11c['y'])),_0x15e11c['x']=_0x40aa05,_0x15e11c['y']=_0x56864f,_0x15e11c;return _0x40aa05=adjust_lon(this['long0']+Math[_0x50ac7d(0xa54,0xc07)](_0x15e11c['x']*_0x20194a,_0x170df9*this[_0x50ac7d(0x10d6,_0x439aad._0x274aa7)]*_0x2631cb-_0x15e11c['y']*this['sin_p14']*_0x20194a)),_0x15e11c['x']=_0x40aa05,_0x15e11c['y']=_0x56864f,_0x15e11c;}var names$5=[_0x306755(0x103d,0xba6)];const _0x6eaedc={};_0x6eaedc['init']=init$5,_0x6eaedc['forward']=forward$5,_0x6eaedc['inverse']=inverse$5,_0x6eaedc['names']=names$5;var ortho=_0x6eaedc;const _0x1a2df7={};_0x1a2df7['FRONT']=0x1,_0x1a2df7['RIGHT']=0x2,_0x1a2df7[_0x306755(0x13e1,0x13fe)]=0x3,_0x1a2df7['LEFT']=0x4,_0x1a2df7['TOP']=0x5,_0x1a2df7['BOTTOM']=0x6;var FACE_ENUM=_0x1a2df7;const _0x388541={};_0x388541['AREA_0']=0x1,_0x388541['AREA_1']=0x2,_0x388541['AREA_2']=0x3,_0x388541['AREA_3']=0x4;var AREA_ENUM=_0x388541;function init$4(){const _0x2ab15a={_0x5a7009:0x19ac,_0x49b04e:0x1979,_0x429f26:0xb04,_0x2cd598:0x368,_0x44e9e3:0x6e7,_0x2587e3:0xa0b,_0x4eb632:0x76a,_0x5ec2d7:0xb0f,_0x47c79c:0x1550,_0x40a4dc:0x15e2,_0x427f1a:0x176c,_0x4a0bc2:0xf6f,_0x2d10d0:0x11c5,_0x1a79f0:0x1a1c},_0x3b031b={_0x221528:0x65d},_0x2d327b={_0x174366:0x690};function _0x5e1a83(_0x37fd28,_0x16f42b){return _0x2b6441(_0x37fd28,_0x16f42b-_0x2d327b._0x174366);}this['x0']=this['x0']||0x0,this['y0']=this['y0']||0x0,this[_0x5e1a83(0xa3c,0xa3e)]=this['lat0']||0x0,this['long0']=this[_0x5e1a83(0xcc8,0x997)]||0x0;function _0x2bb617(_0x201bb6,_0x5ca424){return _0x2b6441(_0x201bb6,_0x5ca424-_0x3b031b._0x221528);}this[_0x5e1a83(0x23e8,_0x2ab15a._0x5a7009)]=this[_0x2bb617(0x16cf,_0x2ab15a._0x49b04e)]||0x0,this['title']=this[_0x2bb617(_0x2ab15a._0x429f26,0xecc)]||'Quadrilateralized\x20Spherical\x20Cube';if(this[_0x5e1a83(0xbf3,0xa3e)]>=HALF_PI-FORTPI/0x2)this['face']=FACE_ENUM[_0x2bb617(_0x2ab15a._0x2cd598,_0x2ab15a._0x44e9e3)];else{if(this[_0x2bb617(0x758,_0x2ab15a._0x2587e3)]<=-(HALF_PI-FORTPI/0x2))this['face']=FACE_ENUM[_0x2bb617(0x6cd,_0x2ab15a._0x4eb632)];else{if(Math[_0x5e1a83(_0x2ab15a._0x5ec2d7,0x1550)](this['long0'])<=FORTPI)this['face']=FACE_ENUM['FRONT'];else Math[_0x5e1a83(0x110a,_0x2ab15a._0x47c79c)](this['long0'])<=HALF_PI+FORTPI?this[_0x2bb617(_0x2ab15a._0x40a4dc,_0x2ab15a._0x427f1a)]=this[_0x2bb617(_0x2ab15a._0x4a0bc2,0x964)]>0x0?FACE_ENUM['RIGHT']:FACE_ENUM[_0x5e1a83(_0x2ab15a._0x2d10d0,0xf23)]:this['face']=FACE_ENUM['BACK'];}}this['es']!==0x0&&(this['one_minus_f']=0x1-(this['a']-this['b'])/this['a'],this['one_minus_f_squared']=this['one_minus_f']*this[_0x5e1a83(0x2243,_0x2ab15a._0x1a79f0)]);}function forward$4(_0x55bb92){const _0x4a7d34={_0x21bbe3:0x126c,_0x1bf5f1:0x546,_0x5c1448:0x6e,_0x1ff2fa:0x110e,_0x5ea3f6:0x194f,_0x152a18:0xe9f,_0x1df2c7:0xb1a,_0x16532b:0x10b,_0x28e44d:0x147b,_0x325f5a:0xf4b,_0x19389c:0xa5a,_0x2a8a66:0x3ce,_0x116eeb:0x5c2,_0x513f83:0x1570,_0x1806ce:0x26e,_0xa4e658:0x7a0,_0x4474d7:0xd52,_0x2d9b6b:0x7f9,_0x533fcf:0x1b93},_0x36f9ff={_0xb3bfd5:0x82},_0x37a9b1={};_0x37a9b1['x']=0x0,_0x37a9b1['y']=0x0;var _0x24f631=_0x37a9b1,_0xd2216b,_0x414317,_0x42a805,_0x3ce2df,_0x9b8731,_0xbc8166;const _0x1aebab={};_0x1aebab['value']=0x0;var _0x4b4443=_0x1aebab;_0x55bb92['x']-=this['long0'];function _0xe0fd82(_0x3415ef,_0x3354d0){return _0x2b6441(_0x3354d0,_0x3415ef-0x36c);}this['es']!==0x0?_0xd2216b=Math['atan'](this[_0x4670d6(0xdf8,0x82c)]*Math['tan'](_0x55bb92['y'])):_0xd2216b=_0x55bb92['y'];_0x414317=_0x55bb92['x'];function _0x4670d6(_0x10b1b9,_0x358722){return _0x2b6441(_0x358722,_0x10b1b9-_0x36f9ff._0xb3bfd5);}if(this['face']===FACE_ENUM['TOP']){_0x3ce2df=HALF_PI-_0xd2216b;if(_0x414317>=FORTPI&&_0x414317<=HALF_PI+FORTPI)_0x4b4443['value']=AREA_ENUM[_0x4670d6(_0x4a7d34._0x21bbe3,0x11eb)],_0x42a805=_0x414317-HALF_PI;else{if(_0x414317>HALF_PI+FORTPI||_0x414317<=-(HALF_PI+FORTPI))_0x4b4443['value']=AREA_ENUM['AREA_1'],_0x42a805=_0x414317>0x0?_0x414317-SPI:_0x414317+SPI;else _0x414317>-(HALF_PI+FORTPI)&&_0x414317<=-FORTPI?(_0x4b4443[_0x4670d6(0x830,0x4b6)]=AREA_ENUM[_0xe0fd82(_0x4a7d34._0x1bf5f1,-_0x4a7d34._0x5c1448)],_0x42a805=_0x414317+HALF_PI):(_0x4b4443['value']=AREA_ENUM[_0x4670d6(_0x4a7d34._0x1ff2fa,0x182a)],_0x42a805=_0x414317);}}else{if(this[_0xe0fd82(0x147b,_0x4a7d34._0x5ea3f6)]===FACE_ENUM[_0xe0fd82(0x479,0x60b)]){_0x3ce2df=HALF_PI+_0xd2216b;if(_0x414317>=FORTPI&&_0x414317<=HALF_PI+FORTPI)_0x4b4443['value']=AREA_ENUM[_0xe0fd82(0x1556,_0x4a7d34._0x152a18)],_0x42a805=-_0x414317+HALF_PI;else{if(_0x414317<FORTPI&&_0x414317>=-FORTPI)_0x4b4443['value']=AREA_ENUM['AREA_1'],_0x42a805=-_0x414317;else _0x414317<-FORTPI&&_0x414317>=-(HALF_PI+FORTPI)?(_0x4b4443['value']=AREA_ENUM['AREA_2'],_0x42a805=-_0x414317-HALF_PI):(_0x4b4443[_0xe0fd82(_0x4a7d34._0x1df2c7,_0x4a7d34._0x16532b)]=AREA_ENUM[_0x4670d6(0x110e,0x129a)],_0x42a805=_0x414317>0x0?-_0x414317+SPI:-_0x414317-SPI);}}else{var _0x2d549c,_0x106ebb,_0x2c592e,_0x49f5da,_0x1c3005,_0x30f523,_0x1da6ea;if(this[_0xe0fd82(_0x4a7d34._0x28e44d,_0x4a7d34._0x325f5a)]===FACE_ENUM['RIGHT'])_0x414317=qsc_shift_lon_origin(_0x414317,+HALF_PI);else{if(this['face']===FACE_ENUM['BACK'])_0x414317=qsc_shift_lon_origin(_0x414317,+SPI);else this['face']===FACE_ENUM['LEFT']&&(_0x414317=qsc_shift_lon_origin(_0x414317,-HALF_PI));}_0x49f5da=Math['sin'](_0xd2216b),_0x1c3005=Math[_0xe0fd82(_0x4a7d34._0x19389c,_0x4a7d34._0x2a8a66)](_0xd2216b),_0x30f523=Math[_0x4670d6(0x41e,-_0x4a7d34._0x116eeb)](_0x414317),_0x1da6ea=Math[_0xe0fd82(0xa5a,0x74c)](_0x414317),_0x2d549c=_0x1c3005*_0x1da6ea,_0x106ebb=_0x1c3005*_0x30f523,_0x2c592e=_0x49f5da;if(this[_0x4670d6(0x1191,0x1050)]===FACE_ENUM['FRONT'])_0x3ce2df=Math['acos'](_0x2d549c),_0x42a805=qsc_fwd_equat_face_theta(_0x3ce2df,_0x2c592e,_0x106ebb,_0x4b4443);else{if(this['face']===FACE_ENUM['RIGHT'])_0x3ce2df=Math[_0x4670d6(-0x7c,-0x790)](_0x106ebb),_0x42a805=qsc_fwd_equat_face_theta(_0x3ce2df,_0x2c592e,-_0x2d549c,_0x4b4443);else{if(this['face']===FACE_ENUM['BACK'])_0x3ce2df=Math['acos'](-_0x2d549c),_0x42a805=qsc_fwd_equat_face_theta(_0x3ce2df,_0x2c592e,-_0x106ebb,_0x4b4443);else this[_0xe0fd82(0x147b,_0x4a7d34._0x513f83)]===FACE_ENUM['LEFT']?(_0x3ce2df=Math[_0xe0fd82(_0x4a7d34._0x1806ce,_0x4a7d34._0xa4e658)](-_0x106ebb),_0x42a805=qsc_fwd_equat_face_theta(_0x3ce2df,_0x2c592e,_0x2d549c,_0x4b4443)):(_0x3ce2df=_0x42a805=0x0,_0x4b4443[_0xe0fd82(_0x4a7d34._0x1df2c7,_0x4a7d34._0x4474d7)]=AREA_ENUM['AREA_0']);}}}}_0xbc8166=Math[_0x4670d6(0x324,0x476)](0xc/SPI*(_0x42a805+Math[_0x4670d6(-0x7c,-0x166)](Math['sin'](_0x42a805)*Math[_0x4670d6(0x770,_0x4a7d34._0x2d9b6b)](FORTPI))-HALF_PI)),_0x9b8731=Math[_0xe0fd82(0x130a,_0x4a7d34._0x533fcf)]((0x1-Math[_0x4670d6(0x770,0xdc0)](_0x3ce2df))/(Math['cos'](_0xbc8166)*Math['cos'](_0xbc8166))/(0x1-Math['cos'](Math['atan'](0x1/Math['cos'](_0x42a805)))));if(_0x4b4443['value']===AREA_ENUM[_0x4670d6(0xa91,0x137a)])_0xbc8166+=HALF_PI;else{if(_0x4b4443['value']===AREA_ENUM[_0x4670d6(0x25c,-0x85)])_0xbc8166+=SPI;else _0x4b4443['value']===AREA_ENUM['AREA_3']&&(_0xbc8166+=1.5*SPI);}return _0x24f631['x']=_0x9b8731*Math['cos'](_0xbc8166),_0x24f631['y']=_0x9b8731*Math['sin'](_0xbc8166),_0x24f631['x']=_0x24f631['x']*this['a']+this['x0'],_0x24f631['y']=_0x24f631['y']*this['a']+this['y0'],_0x55bb92['x']=_0x24f631['x'],_0x55bb92['y']=_0x24f631['y'],_0x55bb92;}function inverse$4(_0x18b0f4){const _0x1e31a1={_0x3c98fb:0x8b2,_0x2b60fe:0xad7,_0x4af4d2:0x1053,_0x1aa73e:0xd6d,_0x59190e:0xf50,_0xed11d6:0xd3f,_0x39598e:0x13b5,_0x58a1b9:0x4b0,_0x3343d4:0x1513,_0x14f4aa:0xbd9,_0x10e5b5:0x436,_0x52410f:0xf1e,_0x1eb1cb:0x18b0,_0x44cdeb:0x1270,_0x3f8621:0x1327,_0x15d72f:0x14df,_0x3c2d47:0xf50,_0x7cde8d:0x13c0,_0x72fb52:0xee2,_0x41e299:0xe56,_0x20c1bb:0x1650,_0x24b7ab:0xda2,_0x1f82c3:0x1438,_0x3005bb:0x771,_0x42ff6a:0x1a8,_0x433d11:0x9c1,_0x269c80:0xc0e,_0x2c11d9:0x18cd,_0x1bb647:0x1b0,_0x39b095:0x630,_0x2cf651:0xbd9},_0x493b4a={_0xd43273:0x541},_0xdc7976={};_0xdc7976['lam']=0x0,_0xdc7976['phi']=0x0;var _0x1781c1=_0xdc7976,_0x1173a2,_0x16ec18,_0x5ee2e3,_0x5d66c0,_0x7e9d7a,_0x1e0891,_0x4fe6a1,_0x36c15e,_0x5ea438;const _0x5c0b21={};_0x5c0b21[_0x348106(_0x1e31a1._0x3c98fb,_0x1e31a1._0x2b60fe)]=0x0;var _0xac58fb=_0x5c0b21;_0x18b0f4['x']=(_0x18b0f4['x']-this['x0'])/this['a'],_0x18b0f4['y']=(_0x18b0f4['y']-this['y0'])/this['a'],_0x16ec18=Math['atan'](Math['sqrt'](_0x18b0f4['x']*_0x18b0f4['x']+_0x18b0f4['y']*_0x18b0f4['y'])),_0x1173a2=Math['atan2'](_0x18b0f4['y'],_0x18b0f4['x']);if(_0x18b0f4['x']>=0x0&&_0x18b0f4['x']>=Math['abs'](_0x18b0f4['y']))_0xac58fb[_0x3d40b0(0xcef,_0x1e31a1._0x4af4d2)]=AREA_ENUM['AREA_0'];else{if(_0x18b0f4['y']>=0x0&&_0x18b0f4['y']>=Math['abs'](_0x18b0f4['x']))_0xac58fb[_0x3d40b0(0xcef,_0x1e31a1._0x1aa73e)]=AREA_ENUM[_0x3d40b0(_0x1e31a1._0x59190e,_0x1e31a1._0xed11d6)],_0x1173a2-=HALF_PI;else _0x18b0f4['x']<0x0&&-_0x18b0f4['x']>=Math['abs'](_0x18b0f4['y'])?(_0xac58fb['value']=AREA_ENUM['AREA_2'],_0x1173a2=_0x1173a2<0x0?_0x1173a2+SPI:_0x1173a2-SPI):(_0xac58fb['value']=AREA_ENUM[_0x348106(0x1e17,_0x1e31a1._0x39598e)],_0x1173a2+=HALF_PI);}_0x5ea438=SPI/0xc*Math['tan'](_0x1173a2),_0x7e9d7a=Math['sin'](_0x5ea438)/(Math['cos'](_0x5ea438)-0x1/Math['sqrt'](0x2)),_0x1e0891=Math['atan'](_0x7e9d7a);function _0x348106(_0x112f89,_0x4d474c){return _0x2b6441(_0x112f89,_0x4d474c-0x329);}_0x5ee2e3=Math['cos'](_0x1173a2);function _0x3d40b0(_0x44280d,_0x402c63){return _0x2b6441(_0x402c63,_0x44280d-_0x493b4a._0xd43273);}_0x5d66c0=Math['tan'](_0x16ec18),_0x4fe6a1=0x1-_0x5ee2e3*_0x5ee2e3*_0x5d66c0*_0x5d66c0*(0x1-Math['cos'](Math[_0x348106(_0x1e31a1._0x58a1b9,0x5cb)](0x1/Math['cos'](_0x1e0891))));if(_0x4fe6a1<-0x1)_0x4fe6a1=-0x1;else _0x4fe6a1>+0x1&&(_0x4fe6a1=+0x1);if(this['face']===FACE_ENUM['TOP']){_0x36c15e=Math['acos'](_0x4fe6a1),_0x1781c1['phi']=HALF_PI-_0x36c15e;if(_0xac58fb[_0x3d40b0(0xcef,0xf33)]===AREA_ENUM[_0x348106(0x14a6,_0x1e31a1._0x3343d4)])_0x1781c1['lam']=_0x1e0891+HALF_PI;else{if(_0xac58fb['value']===AREA_ENUM[_0x348106(0xe9d,0xd38)])_0x1781c1[_0x3d40b0(_0x1e31a1._0x14f4aa,0x605)]=_0x1e0891<0x0?_0x1e0891+SPI:_0x1e0891-SPI;else _0xac58fb[_0x348106(0x1231,0xad7)]===AREA_ENUM['AREA_2']?_0x1781c1[_0x3d40b0(0xbd9,0x14e1)]=_0x1e0891-HALF_PI:_0x1781c1['lam']=_0x1e0891;}}else{if(this['face']===FACE_ENUM[_0x348106(-0x4d2,_0x1e31a1._0x10e5b5)]){_0x36c15e=Math['acos'](_0x4fe6a1),_0x1781c1[_0x3d40b0(_0x1e31a1._0x52410f,_0x1e31a1._0x1eb1cb)]=_0x36c15e-HALF_PI;if(_0xac58fb['value']===AREA_ENUM['AREA_0'])_0x1781c1['lam']=-_0x1e0891+HALF_PI;else{if(_0xac58fb['value']===AREA_ENUM['AREA_1'])_0x1781c1[_0x3d40b0(0xbd9,_0x1e31a1._0x44cdeb)]=-_0x1e0891;else _0xac58fb['value']===AREA_ENUM['AREA_2']?_0x1781c1['lam']=-_0x1e0891-HALF_PI:_0x1781c1[_0x3d40b0(0xbd9,_0x1e31a1._0x3f8621)]=_0x1e0891<0x0?-_0x1e0891-SPI:-_0x1e0891+SPI;}}else{var _0x51e0d5,_0x3be7a7,_0x466bfb;_0x51e0d5=_0x4fe6a1,_0x5ea438=_0x51e0d5*_0x51e0d5;_0x5ea438>=0x1?_0x466bfb=0x0:_0x466bfb=Math[_0x3d40b0(_0x1e31a1._0x15d72f,0x1e21)](0x1-_0x5ea438)*Math['sin'](_0x1e0891);_0x5ea438+=_0x466bfb*_0x466bfb;_0x5ea438>=0x1?_0x3be7a7=0x0:_0x3be7a7=Math['sqrt'](0x1-_0x5ea438);if(_0xac58fb[_0x3d40b0(0xcef,0x1187)]===AREA_ENUM[_0x3d40b0(_0x1e31a1._0x3c2d47,_0x1e31a1._0x7cde8d)])_0x5ea438=_0x3be7a7,_0x3be7a7=-_0x466bfb,_0x466bfb=_0x5ea438;else{if(_0xac58fb['value']===AREA_ENUM['AREA_2'])_0x3be7a7=-_0x3be7a7,_0x466bfb=-_0x466bfb;else _0xac58fb[_0x3d40b0(0xcef,_0x1e31a1._0x72fb52)]===AREA_ENUM['AREA_3']&&(_0x5ea438=_0x3be7a7,_0x3be7a7=_0x466bfb,_0x466bfb=-_0x5ea438);}if(this['face']===FACE_ENUM[_0x3d40b0(0x968,_0x1e31a1._0x41e299)])_0x5ea438=_0x51e0d5,_0x51e0d5=-_0x3be7a7,_0x3be7a7=_0x5ea438;else{if(this[_0x3d40b0(_0x1e31a1._0x20c1bb,0x1804)]===FACE_ENUM[_0x348106(0x1c4c,0x1186)])_0x51e0d5=-_0x51e0d5,_0x3be7a7=-_0x3be7a7;else this['face']===FACE_ENUM['LEFT']&&(_0x5ea438=_0x51e0d5,_0x51e0d5=_0x3be7a7,_0x3be7a7=-_0x5ea438);}_0x1781c1[_0x3d40b0(0xf1e,0x12e0)]=Math['acos'](-_0x466bfb)-HALF_PI,_0x1781c1['lam']=Math[_0x348106(-0x12a,0x6fb)](_0x3be7a7,_0x51e0d5);if(this[_0x348106(_0x1e31a1._0x24b7ab,_0x1e31a1._0x1f82c3)]===FACE_ENUM[_0x348106(0x631,0x750)])_0x1781c1['lam']=qsc_shift_lon_origin(_0x1781c1[_0x3d40b0(0xbd9,_0x1e31a1._0x3005bb)],-HALF_PI);else{if(this['face']===FACE_ENUM['BACK'])_0x1781c1['lam']=qsc_shift_lon_origin(_0x1781c1['lam'],-SPI);else this['face']===FACE_ENUM['LEFT']&&(_0x1781c1[_0x348106(_0x1e31a1._0x42ff6a,_0x1e31a1._0x433d11)]=qsc_shift_lon_origin(_0x1781c1[_0x348106(0xf8,0x9c1)],+HALF_PI));}}}if(this['es']!==0x0){var _0x4a009f,_0x555896,_0x502158;_0x4a009f=_0x1781c1['phi']<0x0?0x1:0x0,_0x555896=Math[_0x348106(0xd76,_0x1e31a1._0x269c80)](_0x1781c1['phi']),_0x502158=this['b']/Math['sqrt'](_0x555896*_0x555896+this['one_minus_f_squared']),_0x1781c1['phi']=Math['atan'](Math['sqrt'](this['a']*this['a']-_0x502158*_0x502158)/(this[_0x3d40b0(_0x1e31a1._0x2c11d9,0x13d0)]*_0x502158)),_0x4a009f&&(_0x1781c1['phi']=-_0x1781c1['phi']);}return _0x1781c1['lam']+=this[_0x348106(_0x1e31a1._0x1bb647,_0x1e31a1._0x39b095)],_0x18b0f4['x']=_0x1781c1[_0x3d40b0(_0x1e31a1._0x2cf651,0x122c)],_0x18b0f4['y']=_0x1781c1[_0x3d40b0(0xf1e,0x171d)],_0x18b0f4;}function qsc_fwd_equat_face_theta(_0x3e9b85,_0x1efbbf,_0x527bef,_0x1894f0){const _0x274494={_0x50288c:0x13de,_0x3f99c6:0x1418,_0x39c689:0x9dc,_0x224348:0x4b3,_0x3421e1:0x13b0},_0x56638b={_0x3534bb:0x22e};var _0x303b37;function _0x36b96c(_0x3a76cb,_0x372a5d){return _0x2b6441(_0x372a5d,_0x3a76cb-_0x56638b._0x3534bb);}if(_0x3e9b85<EPSLN)_0x1894f0[_0x465cdb(0xccc,0x15fd)]=AREA_ENUM[_0x465cdb(0x1708,0x1956)],_0x303b37=0x0;else{_0x303b37=Math['atan2'](_0x1efbbf,_0x527bef);if(Math[_0x465cdb(_0x274494._0x50288c,0x1715)](_0x303b37)<=FORTPI)_0x1894f0[_0x36b96c(0x9dc,0xea8)]=AREA_ENUM[_0x36b96c(_0x274494._0x3f99c6,0xe64)];else{if(_0x303b37>FORTPI&&_0x303b37<=HALF_PI+FORTPI)_0x1894f0[_0x36b96c(_0x274494._0x39c689,0x572)]=AREA_ENUM['AREA_1'],_0x303b37-=HALF_PI;else _0x303b37>HALF_PI+FORTPI||_0x303b37<=-(HALF_PI+FORTPI)?(_0x1894f0[_0x465cdb(0xccc,_0x274494._0x224348)]=AREA_ENUM['AREA_2'],_0x303b37=_0x303b37>=0x0?_0x303b37-SPI:_0x303b37+SPI):(_0x1894f0['value']=AREA_ENUM[_0x465cdb(0x15aa,_0x274494._0x3421e1)],_0x303b37+=HALF_PI);}}function _0x465cdb(_0x376d73,_0x3d7c58){return _0x306755(_0x3d7c58,_0x376d73- -0x83);}return _0x303b37;}function qsc_shift_lon_origin(_0x4bff4e,_0x9ccf1c){var _0x1b3ee3=_0x4bff4e+_0x9ccf1c;if(_0x1b3ee3<-SPI)_0x1b3ee3+=TWO_PI;else _0x1b3ee3>+SPI&&(_0x1b3ee3-=TWO_PI);return _0x1b3ee3;}var names$4=['Quadrilateralized\x20Spherical\x20Cube','Quadrilateralized_Spherical_Cube','qsc'];const _0x11001e={};_0x11001e['init']=init$4,_0x11001e[_0x306755(0x8ed,0xcf7)]=forward$4,_0x11001e['inverse']=inverse$4,_0x11001e[_0x2b6441(0x654,0x6c5)]=names$4;var qsc=_0x11001e,COEFS_X=[[0x1,2.2199e-17,-0.0000715515,0.0000031103],[0.9986,-0.000482243,-0.000024897,-0.0000013309],[0.9954,-0.00083103,-0.0000448605,-9.86701e-7],[0.99,-0.00135364,-0.000059661,0.0000036777],[0.9822,-0.00167442,-0.00000449547,-0.00000572411],[0.973,-0.00214868,-0.0000903571,1.8736e-8],[0.96,-0.00305085,-0.0000900761,0.00000164917],[0.9427,-0.00382792,-0.0000653386,-0.0000026154],[0.9216,-0.00467746,-0.00010457,0.00000481243],[0.8962,-0.00536223,-0.0000323831,-0.00000543432],[0.8679,-0.00609363,-0.000113898,0.00000332484],[0.835,-0.00698325,-0.0000640253,9.34959e-7],[0.7986,-0.00755338,-0.0000500009,9.35324e-7],[0.7597,-0.00798324,-0.000035971,-0.00000227626],[0.7186,-0.00851367,-0.0000701149,-0.0000086303],[0.6732,-0.00986209,-0.000199569,0.0000191974],[0.6213,-0.010418,0.0000883923,0.00000624051],[0.5722,-0.00906601,0.000182,0.00000624051],[0.5322,-0.00677797,0.000275608,0.00000624051]],COEFS_Y=[[-5.20417e-18,0.0124,1.21431e-18,-8.45284e-11],[0.062,0.0124,-1.26793e-9,4.22642e-10],[0.124,0.0124,5.07171e-9,-1.60604e-9],[0.186,0.0123999,-1.90189e-8,6.00152e-9],[0.248,0.0124002,7.10039e-8,-2.24e-8],[0.31,0.0123992,-2.64997e-7,8.35986e-8],[0.372,0.0124029,9.88983e-7,-3.11994e-7],[0.434,0.0123893,-0.00000369093,-4.35621e-7],[0.4958,0.0123198,-0.0000102252,-3.45523e-7],[0.5571,0.0121916,-0.0000154081,-5.82288e-7],[0.6176,0.0119938,-0.0000241424,-5.25327e-7],[0.6769,0.011713,-0.0000320223,-5.16405e-7],[0.7346,0.0113541,-0.0000397684,-6.09052e-7],[0.7903,0.0109107,-0.0000489042,-0.00000104739],[0.8435,0.0103431,-0.000064615,-1.40374e-9],[0.8936,0.00969686,-0.000064636,-0.000008547],[0.9394,0.00840947,-0.000192841,-0.0000042106],[0.9761,0.00616527,-0.000256,-0.0000042106],[0x1,0.00328947,-0.000319159,-0.0000042106]],FXC=0.8487,FYC=1.3523,C1=R2D/0x5,RC1=0x1/C1,NODES=0x12,poly3_val=function(_0x379d65,_0x624f2){return _0x379d65[0x0]+_0x624f2*(_0x379d65[0x1]+_0x624f2*(_0x379d65[0x2]+_0x624f2*_0x379d65[0x3]));},poly3_der=function(_0x5e0035,_0x113bff){return _0x5e0035[0x1]+_0x113bff*(0x2*_0x5e0035[0x2]+_0x113bff*0x3*_0x5e0035[0x3]);};function newton_rapshon(_0x1772e1,_0x5e889b,_0x245581,_0x133259){const _0x355581={_0x3bb8c0:0x747},_0x2a2904={_0x54a1fc:0x1e3};var _0x550efa=_0x5e889b;for(;_0x133259;--_0x133259){var _0x4aa51c=_0x1772e1(_0x550efa);_0x550efa-=_0x4aa51c;if(Math[_0x103923(0x10a3,_0x355581._0x3bb8c0)](_0x4aa51c)<_0x245581)break;}function _0x103923(_0x241377,_0x4d05b5){return _0x2b6441(_0x4d05b5,_0x241377-_0x2a2904._0x54a1fc);}return _0x550efa;}function init$3(){this['x0']=this['x0']||0x0;function _0x458418(_0xaffa91,_0x4d8256){return _0x2b6441(_0xaffa91,_0x4d8256-0x56c);}this['y0']=this['y0']||0x0,this['long0']=this['long0']||0x0,this['es']=0x0,this[_0x458418(0x1283,0xddb)]=this['title']||'Robinson';}function forward$3(_0x5acc61){const _0x953805={_0x16e823:0xa32};var _0x5cf0d5=adjust_lon(_0x5acc61['x']-this['long0']),_0x159c3d=Math[_0x3925a0(_0x953805._0x16e823,0x1047)](_0x5acc61['y']),_0x1d7dec=Math['floor'](_0x159c3d*C1);if(_0x1d7dec<0x0)_0x1d7dec=0x0;else _0x1d7dec>=NODES&&(_0x1d7dec=NODES-0x1);_0x159c3d=R2D*(_0x159c3d-RC1*_0x1d7dec);var _0x144b4f={'x':poly3_val(COEFS_X[_0x1d7dec],_0x159c3d)*_0x5cf0d5,'y':poly3_val(COEFS_Y[_0x1d7dec],_0x159c3d)};function _0x3925a0(_0x31016f,_0x4dae9d){return _0x2b6441(_0x31016f,_0x4dae9d-0x187);}return _0x5acc61['y']<0x0&&(_0x144b4f['y']=-_0x144b4f['y']),_0x144b4f['x']=_0x144b4f['x']*this['a']*FXC+this['x0'],_0x144b4f['y']=_0x144b4f['y']*this['a']*FYC+this['y0'],_0x144b4f;}function inverse$3(_0x26a8ac){const _0x1fac80={_0x207a9e:0x1212,_0x5e35ed:0x1740},_0x16455d={_0x26a72d:0x112},_0x2fc647={_0x54ad94:0x369};var _0x207b01={'x':(_0x26a8ac['x']-this['x0'])/(this['a']*FXC),'y':Math[_0x3d31d0(_0x1fac80._0x207a9e,0x1229)](_0x26a8ac['y']-this['y0'])/(this['a']*FYC)};if(_0x207b01['y']>=0x1)_0x207b01['x']/=COEFS_X[NODES][0x0],_0x207b01['y']=_0x26a8ac['y']<0x0?-HALF_PI:HALF_PI;else{var _0x1b7619=Math[_0xb7385e(_0x1fac80._0x5e35ed,0xc85)](_0x207b01['y']*NODES);if(_0x1b7619<0x0)_0x1b7619=0x0;else _0x1b7619>=NODES&&(_0x1b7619=NODES-0x1);for(;;){if(COEFS_Y[_0x1b7619][0x0]>_0x207b01['y'])--_0x1b7619;else{if(COEFS_Y[_0x1b7619+0x1][0x0]<=_0x207b01['y'])++_0x1b7619;else break;}}var _0x1bed19=COEFS_Y[_0x1b7619],_0x4fae65=0x5*(_0x207b01['y']-_0x1bed19[0x0])/(COEFS_Y[_0x1b7619+0x1][0x0]-_0x1bed19[0x0]);_0x4fae65=newton_rapshon(function(_0x1cd457){return(poly3_val(_0x1bed19,_0x1cd457)-_0x207b01['y'])/poly3_der(_0x1bed19,_0x1cd457);},_0x4fae65,EPSLN,0x64),_0x207b01['x']/=poly3_val(COEFS_X[_0x1b7619],_0x4fae65),_0x207b01['y']=(0x5*_0x1b7619+_0x4fae65)*D2R$1,_0x26a8ac['y']<0x0&&(_0x207b01['y']=-_0x207b01['y']);}function _0x3d31d0(_0x22459f,_0x2c4a7a){return _0x2b6441(_0x22459f,_0x2c4a7a-_0x2fc647._0x54ad94);}function _0xb7385e(_0x2cff37,_0x23aad2){return _0x306755(_0x23aad2,_0x2cff37- -_0x16455d._0x26a72d);}return _0x207b01['x']=adjust_lon(_0x207b01['x']+this['long0']),_0x207b01;}var names$3=['Robinson','robin'];const _0x40339b={};_0x40339b['init']=init$3,_0x40339b[_0x306755(0xe96,0xcf7)]=forward$3,_0x40339b['inverse']=inverse$3,_0x40339b['names']=names$3;var robin=_0x40339b;function init$2(){const _0x18affc={_0x26faea:0x152b},_0x1e8c91={_0x450272:0x4d3};function _0x59f7db(_0x407cba,_0xf53d0e){return _0x306755(_0x407cba,_0xf53d0e- -_0x1e8c91._0x450272);}this['name']=_0x59f7db(0xf22,_0x18affc._0x26faea);}function forward$2(_0x30cf3e){var _0x9f05c8=geodeticToGeocentric(_0x30cf3e,this['es'],this['a']);return _0x9f05c8;}function inverse$2(_0x203cf9){var _0x110df3=geocentricToGeodetic(_0x203cf9,this['es'],this['a'],this['b']);return _0x110df3;}var names$2=['Geocentric','geocentric',_0x2b6441(0xbec,0x145d),_0x2b6441(-0x12d,-0x12e)];const _0x825306={};_0x825306['init']=init$2,_0x825306[_0x306755(0x12b8,0xcf7)]=forward$2,_0x825306['inverse']=inverse$2,_0x825306[_0x306755(0x272,0xc66)]=names$2;var geocent=_0x825306;const _0x1ff13d={};_0x1ff13d[_0x306755(0x18f1,0x1839)]=0x0,_0x1ff13d['S_POLE']=0x1,_0x1ff13d['EQUIT']=0x2,_0x1ff13d[_0x306755(0x21c0,0x19d0)]=0x3;var mode=_0x1ff13d;const _0x23ee72={};_0x23ee72['def']=0x186a0,_0x23ee72[_0x2b6441(0xc5b,0x305)]=!![];const _0x3ad808={};_0x3ad808['def']=0x0,_0x3ad808['num']=!![],_0x3ad808[_0x2b6441(0x726,0x8dd)]=!![];const _0x167321={};_0x167321['def']=0x0,_0x167321['num']=!![],_0x167321['degrees']=!![];const _0x395ace={};_0x395ace['def']=0x0,_0x395ace['num']=!![];const _0x299096={};_0x299096[_0x306755(0x1631,0x1366)]=0x0,_0x299096['num']=!![];const _0x33e4d8={};_0x33e4d8['h']=_0x23ee72,_0x33e4d8['azi']=_0x3ad808,_0x33e4d8[_0x306755(0xb9a,0x10ce)]=_0x167321,_0x33e4d8['long0']=_0x395ace,_0x33e4d8[_0x2b6441(-0x710,0x3ae)]=_0x299096;var params=_0x33e4d8;function init$1(){const _0x152800={_0x30b350:0x14e5,_0x3d4e50:0xf32,_0x5a2d8c:0x14e5,_0xadc64f:0x182d,_0x5c418e:0x17b3,_0x5b3bde:0x16b3,_0x453522:0x168f,_0x408dca:0x19f6,_0x23264e:0xc09,_0x27c643:0x1034,_0x2cc445:0x1618,_0x49becf:0xc9,_0x26c781:0x131b},_0x43b516={_0x56448e:0x84},_0x5c9ba2={_0x5b548e:0x901,_0x441ab5:0xed9,_0x347366:0x17e5};Object['keys'](params)['forEach'](function(_0x334acf){function _0x5405fa(_0xfb8cd9,_0x416e05){return _0x5bbe(_0xfb8cd9- -0x1d0,_0x416e05);}function _0x91a13f(_0x2565ab,_0x29af17){return _0x5bbe(_0x2565ab-0x2ce,_0x29af17);}if(typeof this[_0x334acf]==='undefined')this[_0x334acf]=params[_0x334acf]['def'];else{if(params[_0x334acf]['num']&&isNaN(this[_0x334acf]))throw new Error('Invalid\x20parameter\x20value,\x20must\x20be\x20numeric\x20'+_0x334acf+'\x20=\x20'+this[_0x334acf]);else params[_0x334acf][_0x91a13f(_0x5c9ba2._0x5b548e,0x1229)]&&(this[_0x334acf]=parseFloat(this[_0x334acf]));}params[_0x334acf][_0x91a13f(_0x5c9ba2._0x441ab5,_0x5c9ba2._0x347366)]&&(this[_0x334acf]=this[_0x334acf]*D2R$1);}['bind'](this));if(Math[_0x1f827e(_0x152800._0x30b350,_0x152800._0x3d4e50)](Math[_0x1f827e(_0x152800._0x5a2d8c,_0x152800._0xadc64f)](this['lat0'])-HALF_PI)<EPSLN)this[_0x1e5e5f(_0x152800._0x5c418e,0x1495)]=this['lat0']<0x0?mode['S_POLE']:mode[_0x1e5e5f(0x2018,_0x152800._0x5b3bde)];else Math['abs'](this['lat0'])<EPSLN?this['mode']=mode[_0x1f827e(_0x152800._0x453522,_0x152800._0x408dca)]:(this[_0x1e5e5f(_0x152800._0x23264e,0x1495)]=mode['OBLIQ'],this[_0x1f827e(0x13e5,0xd6b)]=Math['sin'](this['lat0']),this['cosph0']=Math['cos'](this[_0x1f827e(0x9d3,_0x152800._0x27c643)]));function _0x1e5e5f(_0x87b160,_0x380121){return _0x2b6441(_0x87b160,_0x380121-0x41b);}this[_0x1e5e5f(-0x6d,0x5cc)]=this['h']/this['a'];if(this['pn1']<=0x0||this['pn1']>0x2540be400)throw new Error('Invalid\x20height');this['p']=0x1+this['pn1'],this['rp']=0x1/this['p'],this['h1']=0x1/this[_0x1f827e(0x7d6,0x3b8)],this[_0x1f827e(_0x152800._0x2cc445,0x2085)]=(this['p']+0x1)*this['h1'];function _0x1f827e(_0x4e6c5d,_0x3f6c9d){return _0x306755(_0x3f6c9d,_0x4e6c5d-_0x43b516._0x56448e);}this['es']=0x0;var _0x696518=this['tilt'],_0x27c7e1=this[_0x1e5e5f(-_0x152800._0x49becf,0xa07)];this['cg']=Math['cos'](_0x27c7e1),this['sg']=Math['sin'](_0x27c7e1),this['cw']=Math[_0x1f827e(0xd13,_0x152800._0x26c781)](_0x696518),this['sw']=Math['sin'](_0x696518);}function forward$1(_0x2bf68c){const _0x386e65={_0x2371e4:0x108c,_0x2044c1:0x8b2,_0xf62320:0xc99,_0x5bc8b2:0x1625,_0x2658b1:0x196b,_0x10dbaa:0x13d2,_0x4c7329:0x7f0,_0x4c0c02:0xb8,_0x16351d:0x947,_0x1a213e:0x1528,_0x148185:0x1615,_0x4690df:0x657},_0x507ada={_0x18f102:0x5fe};_0x2bf68c['x']-=this[_0x16c1d5(_0x386e65._0x2371e4,_0x386e65._0x2044c1)];var _0x1bdcb5=Math[_0x2131e2(-0x2d6,0x33f)](_0x2bf68c['y']),_0x30cf21=Math[_0x16c1d5(0xccd,_0x386e65._0xf62320)](_0x2bf68c['y']),_0x1f1248=Math[_0x16c1d5(0x103f,0xc99)](_0x2bf68c['x']),_0xecc0ba,_0x5808b3;switch(this[_0x16c1d5(0x1e9e,_0x386e65._0x5bc8b2)]){case mode[_0x2131e2(_0x386e65._0x2658b1,_0x386e65._0x10dbaa)]:_0x5808b3=this['sinph0']*_0x1bdcb5+this['cosph0']*_0x30cf21*_0x1f1248;break;case mode['EQUIT']:_0x5808b3=_0x30cf21*_0x1f1248;break;case mode['S_POLE']:_0x5808b3=-_0x1bdcb5;break;case mode[_0x2131e2(_0x386e65._0x4c7329,0x123b)]:_0x5808b3=_0x1bdcb5;break;}function _0x2131e2(_0x18a873,_0x4ad713){return _0x306755(_0x18a873,_0x4ad713- -_0x507ada._0x18f102);}_0x5808b3=this[_0x16c1d5(_0x386e65._0x4c0c02,0x75c)]/(this['p']-_0x5808b3),_0xecc0ba=_0x5808b3*_0x30cf21*Math[_0x16c1d5(0x10af,_0x386e65._0x16351d)](_0x2bf68c['x']);switch(this[_0x16c1d5(0xfd8,0x1625)]){case mode['OBLIQ']:_0x5808b3*=this['cosph0']*_0x1bdcb5-this['sinph0']*_0x30cf21*_0x1f1248;break;case mode[_0x16c1d5(_0x386e65._0x1a213e,_0x386e65._0x148185)]:_0x5808b3*=_0x1bdcb5;break;case mode['N_POLE']:_0x5808b3*=-(_0x30cf21*_0x1f1248);break;case mode[_0x2131e2(-0x345,_0x386e65._0x4690df)]:_0x5808b3*=_0x30cf21*_0x1f1248;break;}var _0x222e30,_0x44cce1;_0x222e30=_0x5808b3*this['cg']+_0xecc0ba*this['sg'],_0x44cce1=0x1/(_0x222e30*this['sw']*this['h1']+this['cw']),_0xecc0ba=(_0xecc0ba*this['cg']-_0x5808b3*this['sg'])*this['cw']*_0x44cce1,_0x5808b3=_0x222e30*_0x44cce1;function _0x16c1d5(_0x101572,_0x41a3c4){return _0x306755(_0x101572,_0x41a3c4-0xa);}return _0x2bf68c['x']=_0xecc0ba*this['a'],_0x2bf68c['y']=_0x5808b3*this['a'],_0x2bf68c;}function inverse$1(_0x364084){const _0x273478={_0x188258:0x2c2,_0x4095eb:0x7d6,_0xf33219:0x164f,_0x4da988:0x1a38,_0x1f2edf:0xf62,_0x595f50:0x931,_0x248799:0x35c,_0x347be8:0x5d0};_0x364084['x']/=this['a'];function _0x314ea7(_0x34dd68,_0x1f063f){return _0x306755(_0x1f063f,_0x34dd68- -0x490);}_0x364084['y']/=this['a'];const _0x31f146={};_0x31f146['x']=_0x364084['x'],_0x31f146['y']=_0x364084['y'];function _0x5eee94(_0xef2b5a,_0x5886c0){return _0x306755(_0xef2b5a,_0x5886c0- -0x2d8);}var _0x2a1781=_0x31f146,_0x387af9,_0x5a400d,_0x95199;_0x95199=0x1/(this[_0x314ea7(_0x273478._0x188258,-0xd4)]-_0x364084['y']*this['sw']),_0x387af9=this[_0x314ea7(0x2c2,0x39)]*_0x364084['x']*_0x95199,_0x5a400d=this[_0x314ea7(0x2c2,_0x273478._0x4095eb)]*_0x364084['y']*this['cw']*_0x95199,_0x364084['x']=_0x387af9*this['cg']+_0x5a400d*this['sg'],_0x364084['y']=_0x5a400d*this['cg']-_0x387af9*this['sg'];var _0x285fa4=hypot(_0x364084['x'],_0x364084['y']);if(Math[_0x5eee94(0xc77,0x1189)](_0x285fa4)<EPSLN)_0x2a1781['x']=0x0,_0x2a1781['y']=_0x364084['y'];else{var _0xf89fda,_0x55da6a;_0x55da6a=0x1-_0x285fa4*_0x285fa4*this[_0x5eee94(0x108c,0x12bc)],_0x55da6a=(this['p']-Math['sqrt'](_0x55da6a))/(this['pn1']/_0x285fa4+_0x285fa4/this['pn1']),_0xf89fda=Math['sqrt'](0x1-_0x55da6a*_0x55da6a);switch(this['mode']){case mode['OBLIQ']:_0x2a1781['y']=Math['asin'](_0xf89fda*this[_0x314ea7(0xed1,_0x273478._0xf33219)]+_0x364084['y']*_0x55da6a*this[_0x314ea7(0x13da,_0x273478._0x4da988)]/_0x285fa4),_0x364084['y']=(_0xf89fda-this[_0x5eee94(0xf1b,0x1089)]*Math[_0x314ea7(0x4ad,-0x113)](_0x2a1781['y']))*_0x285fa4,_0x364084['x']*=_0x55da6a*this[_0x314ea7(0x13da,0x135a)];break;case mode[_0x314ea7(0x117b,0x1913)]:_0x2a1781['y']=Math[_0x5eee94(0x14ab,_0x273478._0x1f2edf)](_0x364084['y']*_0x55da6a/_0x285fa4),_0x364084['y']=_0xf89fda*_0x285fa4,_0x364084['x']*=_0x55da6a;break;case mode['N_POLE']:_0x2a1781['y']=Math['asin'](_0xf89fda),_0x364084['y']=-_0x364084['y'];break;case mode['S_POLE']:_0x2a1781['y']=-Math[_0x314ea7(0xdaa,_0x273478._0x595f50)](_0xf89fda);break;}_0x2a1781['x']=Math[_0x314ea7(0x4e3,_0x273478._0x248799)](_0x364084['x'],_0x364084['y']);}return _0x364084['x']=_0x2a1781['x']+this[_0x5eee94(-0xd1,_0x273478._0x347be8)],_0x364084['y']=_0x2a1781['y'],_0x364084;}var names$1=[_0x306755(-0x19,0xa71),'tpers'];const _0x2dc388={};_0x2dc388['init']=init$1,_0x2dc388['forward']=forward$1,_0x2dc388['inverse']=inverse$1,_0x2dc388[_0x2b6441(0xf6e,0x6c5)]=names$1;var tpers=_0x2dc388;function init(){const _0x119a4a={_0x524865:0xd6c,_0x56f870:0xa93,_0x582f54:0xec6,_0x58b4ff:0xa08,_0x1752f0:0xd33,_0x3a6e9d:0x40a,_0x2ea1c4:0xa7a},_0xe46706={_0x1de32b:0x1ba},_0x507866={_0x499e3b:0x436};this['flip_axis']=this['sweep']==='x'?0x1:0x0;function _0x15123e(_0x8938bf,_0x350796){return _0x2b6441(_0x350796,_0x8938bf-_0x507866._0x499e3b);}this['h']=Number(this['h']),this['radius_g_1']=this['h']/this['a'];if(this['radius_g_1']<=0x0||this['radius_g_1']>0x2540be400)throw new Error();function _0x5c0224(_0x253376,_0x178b1d){return _0x306755(_0x178b1d,_0x253376- -_0xe46706._0x1de32b);}this[_0x15123e(0xa08,_0x119a4a._0x524865)]=0x1+this[_0x5c0224(_0x119a4a._0x56f870,_0x119a4a._0x582f54)],this['C']=this[_0x15123e(_0x119a4a._0x58b4ff,0xa7c)]*this[_0x5c0224(0x9b9,0x112e)]-0x1;if(this['es']!==0x0){var _0x52eed5=0x1-this['es'],_0x5460c9=0x1/_0x52eed5;this['radius_p']=Math['sqrt'](_0x52eed5),this[_0x5c0224(0x13b4,_0x119a4a._0x1752f0)]=_0x52eed5,this['radius_p_inv2']=_0x5460c9,this[_0x15123e(_0x119a4a._0x3a6e9d,_0x119a4a._0x2ea1c4)]='ellipse';}else this['radius_p']=0x1,this['radius_p2']=0x1,this['radius_p_inv2']=0x1,this['shape']='sphere';!this['title']&&(this['title']='Geostationary\x20Satellite\x20View');}function forward(_0xdcc124){const _0x411834={_0x4e671e:0x9c5,_0x333cdd:0x29,_0x5a8022:0x2f5,_0x41e4f1:0x268,_0x1fea81:0xbfb,_0x5cb847:0xcd5,_0xe45a06:0x8cb,_0x16ff4a:0x104b,_0x64c065:0x684,_0x33836:0x8cb,_0x5baacc:0xf6a,_0x451499:0x5aa};var _0x193639=_0xdcc124['x'],_0x28d04a=_0xdcc124['y'],_0x23e4bd,_0x11c6fe,_0x50b241,_0x25d2d7;_0x193639=_0x193639-this['long0'];function _0x598a9e(_0x1f4f14,_0x39247d){return _0x2b6441(_0x39247d,_0x1f4f14-0x629);}if(this[_0x598a9e(0x5fd,0x795)]==='ellipse'){_0x28d04a=Math[_0x219e69(0x27a,0x228)](this['radius_p2']*Math['tan'](_0x28d04a));var _0x1cb043=this[_0x219e69(0xd49,0x127e)]/hypot(this['radius_p']*Math['cos'](_0x28d04a),Math[_0x598a9e(_0x411834._0x4e671e,0x1281)](_0x28d04a));_0x11c6fe=_0x1cb043*Math['cos'](_0x193639)*Math[_0x598a9e(0xd17,0x13fd)](_0x28d04a),_0x50b241=_0x1cb043*Math[_0x598a9e(_0x411834._0x4e671e,-_0x411834._0x333cdd)](_0x193639)*Math['cos'](_0x28d04a),_0x25d2d7=_0x1cb043*Math[_0x598a9e(0x9c5,_0x411834._0x5a8022)](_0x28d04a);if((this['radius_g']-_0x11c6fe)*_0x11c6fe-_0x50b241*_0x50b241-_0x25d2d7*_0x25d2d7*this['radius_p_inv2']<0x0)return _0xdcc124['x']=Number[_0x219e69(0x4c7,_0x411834._0x41e4f1)],_0xdcc124['y']=Number['NaN'],_0xdcc124;_0x23e4bd=this[_0x598a9e(_0x411834._0x1fea81,0xbed)]-_0x11c6fe,this[_0x598a9e(0xb96,0xe69)]?(_0xdcc124['x']=this[_0x598a9e(_0x411834._0x5cb847,0xb92)]*Math[_0x598a9e(0x8cb,0xb01)](_0x50b241/hypot(_0x25d2d7,_0x23e4bd)),_0xdcc124['y']=this['radius_g_1']*Math[_0x598a9e(_0x411834._0xe45a06,0xa60)](_0x25d2d7/_0x23e4bd)):(_0xdcc124['x']=this[_0x598a9e(0xcd5,_0x411834._0x16ff4a)]*Math[_0x598a9e(0x8cb,0xdbe)](_0x50b241/_0x23e4bd),_0xdcc124['y']=this[_0x219e69(_0x411834._0x64c065,0xb53)]*Math[_0x598a9e(_0x411834._0x33836,0x99b)](_0x25d2d7/hypot(_0x50b241,_0x23e4bd)));}else this[_0x598a9e(0x5fd,0x9fa)]===_0x598a9e(0xa16,0x4b)&&(_0x23e4bd=Math['cos'](_0x28d04a),_0x11c6fe=Math['cos'](_0x193639)*_0x23e4bd,_0x50b241=Math['sin'](_0x193639)*_0x23e4bd,_0x25d2d7=Math[_0x598a9e(0x9c5,_0x411834._0x5baacc)](_0x28d04a),_0x23e4bd=this[_0x219e69(_0x411834._0x451499,0x776)]-_0x11c6fe,this['flip_axis']?(_0xdcc124['x']=this['radius_g_1']*Math['atan'](_0x50b241/hypot(_0x25d2d7,_0x23e4bd)),_0xdcc124['y']=this[_0x219e69(0x684,0xe52)]*Math[_0x598a9e(_0x411834._0x33836,0x9f7)](_0x25d2d7/_0x23e4bd)):(_0xdcc124['x']=this['radius_g_1']*Math['atan'](_0x50b241/_0x23e4bd),_0xdcc124['y']=this['radius_g_1']*Math[_0x219e69(0x27a,0x763)](_0x25d2d7/hypot(_0x50b241,_0x23e4bd))));_0xdcc124['x']=_0xdcc124['x']*this['a'],_0xdcc124['y']=_0xdcc124['y']*this['a'];function _0x219e69(_0x285f71,_0xe64229){return _0x2b6441(_0xe64229,_0x285f71- -0x28);}return _0xdcc124;}function inverse(_0x2a7500){const _0x112094={_0x5b949c:0x9d5,_0xe80a54:0x1467,_0x4295bc:0x5df,_0xe299d8:0x4bc,_0x257ddc:0x120d,_0x434b7a:0x2de,_0x208b9c:0x589,_0x226fef:0x15cc,_0x983426:0x1694,_0x1ef6e7:0x392},_0x286ae6={_0x449187:0xf0};var _0x49403c=-0x1;function _0x1e4675(_0x49546b,_0x11ef51){return _0x2b6441(_0x49546b,_0x11ef51-_0x286ae6._0x449187);}var _0x15a797=0x0,_0x2e96af=0x0,_0x5238ce,_0xb6f4aa,_0x590317,_0x41ba16;function _0x3e521f(_0x41ce85,_0x3c5951){return _0x306755(_0x41ce85,_0x3c5951-0x155);}_0x2a7500['x']=_0x2a7500['x']/this['a'],_0x2a7500['y']=_0x2a7500['y']/this['a'];if(this['shape']==='ellipse'){this['flip_axis']?(_0x2e96af=Math[_0x1e4675(-0xc2,_0x112094._0x5b949c)](_0x2a7500['y']/this[_0x3e521f(0xc80,0xda2)]),_0x15a797=Math['tan'](_0x2a7500['x']/this[_0x3e521f(0x304,0xda2)])*hypot(0x1,_0x2e96af)):(_0x15a797=Math['tan'](_0x2a7500['x']/this['radius_g_1']),_0x2e96af=Math['tan'](_0x2a7500['y']/this['radius_g_1'])*hypot(0x1,_0x15a797));var _0x4f6427=_0x2e96af/this[_0x3e521f(0x16a8,_0x112094._0xe80a54)];_0x5238ce=_0x15a797*_0x15a797+_0x4f6427*_0x4f6427+_0x49403c*_0x49403c,_0xb6f4aa=0x2*this['radius_g']*_0x49403c,_0x590317=_0xb6f4aa*_0xb6f4aa-0x4*_0x5238ce*this['C'];if(_0x590317<0x0)return _0x2a7500['x']=Number['NaN'],_0x2a7500['y']=Number[_0x1e4675(0xf95,_0x112094._0x4295bc)],_0x2a7500;_0x41ba16=(-_0xb6f4aa-Math['sqrt'](_0x590317))/(0x2*_0x5238ce),_0x49403c=this['radius_g']+_0x41ba16*_0x49403c,_0x15a797*=_0x41ba16,_0x2e96af*=_0x41ba16,_0x2a7500['x']=Math['atan2'](_0x15a797,_0x49403c),_0x2a7500['y']=Math[_0x3e521f(0x856,0x998)](_0x2e96af*Math['cos'](_0x2a7500['x'])/_0x49403c),_0x2a7500['y']=Math[_0x1e4675(-_0x112094._0xe299d8,0x392)](this['radius_p_inv2']*Math['tan'](_0x2a7500['y']));}else{if(this['shape']===_0x3e521f(_0x112094._0x257ddc,0xae3)){this['flip_axis']?(_0x2e96af=Math['tan'](_0x2a7500['y']/this['radius_g_1']),_0x15a797=Math['tan'](_0x2a7500['x']/this[_0x1e4675(_0x112094._0x434b7a,0x79c)])*Math['sqrt'](0x1+_0x2e96af*_0x2e96af)):(_0x15a797=Math['tan'](_0x2a7500['x']/this['radius_g_1']),_0x2e96af=Math[_0x1e4675(_0x112094._0x208b9c,_0x112094._0x5b949c)](_0x2a7500['y']/this['radius_g_1'])*Math[_0x3e521f(_0x112094._0x226fef,_0x112094._0x983426)](0x1+_0x15a797*_0x15a797));_0x5238ce=_0x15a797*_0x15a797+_0x2e96af*_0x2e96af+_0x49403c*_0x49403c,_0xb6f4aa=0x2*this[_0x3e521f(0x160b,0xcc8)]*_0x49403c,_0x590317=_0xb6f4aa*_0xb6f4aa-0x4*_0x5238ce*this['C'];if(_0x590317<0x0)return _0x2a7500['x']=Number['NaN'],_0x2a7500['y']=Number['NaN'],_0x2a7500;_0x41ba16=(-_0xb6f4aa-Math['sqrt'](_0x590317))/(0x2*_0x5238ce),_0x49403c=this[_0x3e521f(0x1271,0xcc8)]+_0x41ba16*_0x49403c,_0x15a797*=_0x41ba16,_0x2e96af*=_0x41ba16,_0x2a7500['x']=Math['atan2'](_0x15a797,_0x49403c),_0x2a7500['y']=Math[_0x1e4675(-0x647,_0x112094._0x1ef6e7)](_0x2e96af*Math[_0x1e4675(0x5c0,0x7de)](_0x2a7500['x'])/_0x49403c);}}return _0x2a7500['x']=_0x2a7500['x']+this[_0x1e4675(-0x3ac,0x3f7)],_0x2a7500;}var names=['Geostationary\x20Satellite\x20View',_0x2b6441(0x1751,0x13c1),'geos'];const _0x17dba5={};_0x17dba5[_0x2b6441(-0x691,0x120)]=init,_0x17dba5['forward']=forward,_0x17dba5['inverse']=inverse,_0x17dba5[_0x2b6441(0xf1b,0x6c5)]=names;var geos=_0x17dba5;function includedProjections(_0x11abed){const _0x5d6c22={_0x5dcf8d:0x65c,_0xc63518:0x1381,_0x5ea031:0x14d1,_0x6fc59d:0xd17,_0x39ffeb:0xe74,_0x5c1c74:0x141d,_0x362198:0xc50,_0xf031b1:0x1381,_0x280884:0xc50,_0x3ebba9:0x633,_0x1f6cf1:0x2df,_0x4c0970:0x978,_0x37250a:0x18b1,_0x1fb9b6:0x1a9,_0x7d839:0xc50,_0x276cf2:0x1473,_0x4efa8e:0x5e3,_0x51480b:0xa8f,_0xb97768:0xc12,_0x19d6e3:0x18b6,_0x283d2f:0xd17},_0x5ea378={_0xb51510:0xde};_0x11abed['Proj'][_0x37f388(0x1092,0x11b0)]['add'](tmerc),_0x11abed['Proj']['projections']['add'](etmerc),_0x11abed['Proj']['projections']['add'](utm),_0x11abed['Proj']['projections'][_0x14b929(_0x5d6c22._0x5dcf8d,0xc50)](sterea),_0x11abed['Proj'][_0x14b929(0xf9a,_0x5d6c22._0xc63518)]['add'](stere),_0x11abed['Proj']['projections'][_0x14b929(0x5d1,0xc50)](somerc),_0x11abed['Proj']['projections']['add'](omerc),_0x11abed['Proj']['projections']['add'](lcc),_0x11abed['Proj'][_0x14b929(0x187f,0x1381)][_0x37f388(_0x5d6c22._0x5ea031,0xa7f)](krovak),_0x11abed[_0x37f388(0x7ec,_0x5d6c22._0x6fc59d)]['projections']['add'](cass),_0x11abed[_0x37f388(0xeef,_0x5d6c22._0x6fc59d)]['projections']['add'](laea),_0x11abed['Proj']['projections']['add'](aea),_0x11abed['Proj'][_0x37f388(_0x5d6c22._0x39ffeb,0x11b0)]['add'](gnom);function _0x14b929(_0x9129e4,_0x320988){return _0x306755(_0x9129e4,_0x320988- -_0x5ea378._0xb51510);}_0x11abed['Proj']['projections'][_0x14b929(_0x5d6c22._0x5c1c74,_0x5d6c22._0x362198)](cea),_0x11abed['Proj'][_0x14b929(0x1345,_0x5d6c22._0xf031b1)][_0x14b929(0x11df,_0x5d6c22._0x280884)](eqc);function _0x37f388(_0x471ef2,_0x49c854){return _0x2b6441(_0x471ef2,_0x49c854-0x2f2);}_0x11abed['Proj']['projections']['add'](poly),_0x11abed['Proj']['projections']['add'](nzmg),_0x11abed['Proj']['projections']['add'](mill),_0x11abed[_0x14b929(_0x5d6c22._0x3ebba9,0xee8)]['projections'][_0x14b929(0xa7a,0xc50)](sinu),_0x11abed['Proj']['projections'][_0x37f388(_0x5d6c22._0x1f6cf1,0xa7f)](moll),_0x11abed[_0x14b929(_0x5d6c22._0x4c0970,0xee8)][_0x37f388(_0x5d6c22._0x37250a,0x11b0)][_0x14b929(_0x5d6c22._0x1fb9b6,_0x5d6c22._0x7d839)](eqdc),_0x11abed[_0x14b929(_0x5d6c22._0x276cf2,0xee8)]['projections']['add'](vandg),_0x11abed['Proj']['projections'][_0x14b929(_0x5d6c22._0x4efa8e,_0x5d6c22._0x7d839)](aeqd),_0x11abed[_0x37f388(0xbc1,_0x5d6c22._0x6fc59d)]['projections'][_0x14b929(_0x5d6c22._0x51480b,0xc50)](ortho),_0x11abed['Proj'][_0x14b929(_0x5d6c22._0xb97768,_0x5d6c22._0xc63518)]['add'](qsc),_0x11abed[_0x37f388(0x98e,0xd17)]['projections']['add'](robin),_0x11abed[_0x37f388(0x781,0xd17)][_0x37f388(_0x5d6c22._0x19d6e3,0x11b0)]['add'](geocent),_0x11abed[_0x37f388(0xed3,_0x5d6c22._0x283d2f)][_0x14b929(0x1334,0x1381)]['add'](tpers),_0x11abed['Proj'][_0x14b929(0x1361,0x1381)]['add'](geos);}proj4[_0x2b6441(0x352,0x182)]=_0x306755(0xadc,0x10b7),proj4['Proj']=Projection,proj4['WGS84']=new proj4['Proj']('WGS84'),proj4[_0x2b6441(0x6fe,0x161)]=Point,proj4['toPoint']=common,proj4['defs']=defs,proj4[_0x2b6441(0x68c,0xa40)]=nadgrid,proj4['transform']=transform,proj4['mgrs']=mgrs,proj4[_0x2b6441(0xc8b,0xeff)]='__VERSION__',includedProjections(proj4);const _0x2c436d={};_0x2c436d['EPSG3857']=_0x2b6441(0x170e,0xfad),_0x2c436d['EPSG4326']='EPSG:4326',_0x2c436d[_0x2b6441(0xa90,0x1436)]=_0x306755(0x14f6,0x1730),_0x2c436d['CGCS2000_GK_Zone_3']='CGCS2000_GK_Zone_3',_0x2c436d['CGCS2000_GK_Zone_6']='CGCS2000_GK_Zone_6',_0x2c436d[_0x2b6441(0xfc1,0xd9c)]='CGCS2000_GK_CM_3',_0x2c436d[_0x2b6441(0x5d3,0xac2)]='CGCS2000_GK_CM_6';const CRS=_0x2c436d,PI$1=3.141592653589793;class LngLatPoint{constructor(_0x558467,_0x3f05cb,_0x57a19e){const _0x3a8bed={_0x340833:0x10,_0xa51064:0x5d6};this[_0x34481d(-_0x3a8bed._0x340833,0x481)]=Number(_0x558467||0x0);function _0x34481d(_0x34d590,_0xa07e2f){return _0x306755(_0x34d590,_0xa07e2f- -0x394);}this['_lat']=Number(_0x3f05cb||0x0);function _0x583bd8(_0x4e210e,_0x3cd484){return _0x2b6441(_0x3cd484,_0x4e210e-0xa2);}this[_0x34481d(_0x3a8bed._0xa51064,0x76b)]=Number(_0x57a19e||0x0);}get[_0x2b6441(0xa3d,0x45d)](){return this['_lng'];}set['lng'](_0x5ef8f6){const _0x1e833b={_0x4c37ba:0x524};this[_0x2033e7(0x798,-0x2a0)]=+_0x5ef8f6;function _0x2033e7(_0x44147d,_0x123092){return _0x2b6441(_0x123092,_0x44147d-_0x1e833b._0x4c37ba);}this['_position']=null;}get['lat'](){const _0x2c59c8={_0x299e1f:0x709},_0xe4d7b7={_0x3b2edd:0x197};function _0x30d2f8(_0x39a784,_0x459a12){return _0x306755(_0x459a12,_0x39a784- -_0xe4d7b7._0x3b2edd);}return this[_0x30d2f8(_0x2c59c8._0x299e1f,-0x2c2)];}set['lat'](_0x573584){const _0x5d15aa={_0x440e42:0x260},_0x391a2e={_0x29309e:0x47};function _0x3872c4(_0x25cbd6,_0x2420dc){return _0x2b6441(_0x2420dc,_0x25cbd6-_0x391a2e._0x29309e);}this[_0x3872c4(0x346,-_0x5d15aa._0x440e42)]=+_0x573584,this['_position']=null;}get['alt'](){return this['_alt']||0x0;}set[_0x306755(0x288,0x467)](_0x257bf0){const _0x4b90b5={_0x2d3498:0x56};this[_0x18f11f(0x8dd,0x508)]=+_0x257bf0;function _0x18f11f(_0x3bf7b4,_0x46acd5){return _0x2b6441(_0x3bf7b4,_0x46acd5- -_0x4b90b5._0x2d3498);}function _0x2559de(_0x5a7cf9,_0x368795){return _0x306755(_0x368795,_0x5a7cf9- -0x2f8);}this['_position']&&this['_position']instanceof Cesium__namespace[_0x2559de(0x729,0x1124)]&&(this['_position']=null);}[_0x2b6441(-0x1b4,0x367)](){const _0x49739e={_0x48f75f:0x6e1,_0x52841b:0x64a,_0x5259e2:0x557},_0x17d8b6={_0x1153ee:0xf0};function _0x33f922(_0x6b62f7,_0x25a765){return _0x306755(_0x25a765,_0x6b62f7- -0x3b4);}const _0x41fd79=new LngLatPoint();_0x41fd79[_0x9ac7d2(_0x49739e._0x48f75f,0xaee)]=this[_0x33f922(_0x49739e._0x52841b,0xdb8)]||0x0,_0x41fd79['lat']=this['lat']||0x0,_0x41fd79['alt']=this[_0x9ac7d2(0xb68,_0x49739e._0x5259e2)]||0x0;function _0x9ac7d2(_0x36ee98,_0x22e4ce){return _0x306755(_0x36ee98,_0x22e4ce-_0x17d8b6._0x1153ee);}return _0x41fd79;}['format'](){this['lng']=formatNum$4(this['lng'],LngLatPoint['FormatLength']),this['lat']=formatNum$4(this['lat'],LngLatPoint['FormatLength']);function _0x4ccd63(_0xed6a23,_0x552ebf){return _0x306755(_0x552ebf,_0xed6a23- -0xe8);}this[_0x4ccd63(0x37f,-0x8d)]=formatNum$4(this[_0x4ccd63(0x37f,-0x22d)],LngLatPoint['FormatAltLength']);function _0x1fbdea(_0x465243,_0x157ecb){return _0x306755(_0x465243,_0x157ecb- -0x1a9);}return this;}[_0x306755(0xf58,0x7ad)](_0x2651d6){const _0x1f1fad={_0x578330:0x60c},_0x369622={_0x54f497:0x54};function _0x104e9c(_0x136fcc,_0x176a7c){return _0x2b6441(_0x136fcc,_0x176a7c- -_0x369622._0x54f497);}function _0x20591a(_0x3d7725,_0x446a8f){return _0x306755(_0x3d7725,_0x446a8f- -_0x1f1fad._0x578330);}return this['format'](),_0x2651d6?[this[_0x104e9c(0xe41,0x409)],this['lat']]:[this[_0x20591a(0xc47,0x3f2)],this['lat'],this[_0x104e9c(0x772,-0x18e)]];}['toString'](){const _0x5b82fc={_0x20b62b:0xf7e,_0x5baeb5:0x2d1,_0x521504:0x6a8},_0x18f141={_0x1275d2:0x296};this[_0x5cf9ed(0x68c,_0x5b82fc._0x20b62b)]();function _0x3be81a(_0x16d72d,_0x586473){return _0x306755(_0x586473,_0x16d72d- -_0x18f141._0x1275d2);}function _0x5cf9ed(_0x538ab2,_0x119f6c){return _0x2b6441(_0x538ab2,_0x119f6c- -0x7e);}return this[_0x3be81a(0x768,_0x5b82fc._0x5baeb5)]+','+this[_0x3be81a(_0x5b82fc._0x521504,0x150)]+','+this['alt'];}[_0x2b6441(-0x1a,0x36a)](){const _0x4e7a2f={_0x56f9c3:0x1084,_0x18c52c:0x561},_0x37bf79={_0x19b82d:0x519};function _0x4c38fd(_0x58e198,_0x43322d){return _0x306755(_0x43322d,_0x58e198-0xfa);}function _0x4f4e15(_0x26cc00,_0x416beb){return _0x306755(_0x26cc00,_0x416beb- -_0x37bf79._0x19b82d);}this[_0x4f4e15(0xc24,_0x4e7a2f._0x56f9c3)]();const _0x4bccc7={};return _0x4bccc7[_0x4c38fd(0xaf8,0x346)]=this['lng'],_0x4bccc7['lat']=this['lat'],_0x4bccc7['alt']=this[_0x4c38fd(_0x4e7a2f._0x18c52c,0xf63)],_0x4bccc7;}['toCartesian'](_0x404198=![]){const _0x48bf2f={_0x2b5047:0xeb6,_0x57a726:0x323,_0x119102:0x1b4},_0x54df63={_0x1d7356:0xd},_0x392386={_0x565d36:0x7a};function _0x23462b(_0x14b9be,_0x480a2b){return _0x2b6441(_0x14b9be,_0x480a2b- -_0x392386._0x565d36);}function _0x3fec9e(_0x11d461,_0x110372){return _0x306755(_0x11d461,_0x110372- -_0x54df63._0x1d7356);}return!_0x404198&&this[_0x3fec9e(0x17d6,_0x48bf2f._0x2b5047)]?this['_position']:Cesium__namespace[_0x3fec9e(0x8ea,0xa14)]['fromDegrees'](this['lng'],this[_0x23462b(0xa41,_0x48bf2f._0x57a726)],this[_0x23462b(0x6a0,-_0x48bf2f._0x119102)]);}[_0x306755(0x442,0xd20)](){return Cesium__namespace['Cartographic']['fromDegrees'](this['lng'],this['lat'],this['alt']);}[_0x306755(0x1465,0x1868)](){let _0x1b3942=Math[_0x16af76(0x822,0x9e1)](this['lng'],0xb4);_0x1b3942=Math[_0x3f8727(0xa02,0x98a)](_0x1b3942,-0xb4);function _0x16af76(_0x42b24e,_0x45f205){return _0x306755(_0x45f205,_0x42b24e- -0x602);}let _0x5c9009=Math['min'](this['lat'],85.05112877980659);_0x5c9009=Math[_0x16af76(0x704,0x851)](_0x5c9009,-85.05112877980659);function _0x3f8727(_0x2baff6,_0x5588d1){return _0x2b6441(_0x5588d1,_0x2baff6-0x29d);}const _0x27db55=_0x1b3942*20037508.34/0xb4;let _0xca61f7=Math['log'](Math['tan']((0x5a+_0x5c9009)*PI$1/0x168))/(PI$1/0xb4);return _0xca61f7=_0xca61f7*20037508.34/0xb4,[_0x27db55,_0xca61f7,this['alt']];}['equals'](_0x1955db){const _0x1e6ffa={_0x28e42b:0xb6e},_0xce1705={_0x5991db:0x6f};function _0x2597c6(_0x2ce497,_0x51f80e){return _0x306755(_0x51f80e,_0x2ce497-0xee);}function _0x56cffd(_0x1b7bfe,_0x126f11){return _0x306755(_0x126f11,_0x1b7bfe-_0xce1705._0x5991db);}return this===_0x1955db||_0x1955db instanceof LngLatPoint&&this[_0x56cffd(_0x1e6ffa._0x28e42b,0x68a)]===_0x1955db['_alt']&&this['_lat']===_0x1955db[_0x2597c6(0x98e,0x137d)]&&this['_lng']===_0x1955db[_0x2597c6(0x903,0x9d5)];}['valid'](){const _0x44aee5={_0x51ab1b:0x88b,_0x182cb9:0xe5e,_0x3e67b4:0x88b,_0x5bf9b2:0x6b5,_0x5e30c7:0x30,_0x6e9444:0x62f};function _0x559333(_0x2bdf05,_0x290c6e){return _0x2b6441(_0x2bdf05,_0x290c6e-0x617);}if(isNaN(this['_lat'])||isNaN(this[_0x559333(0x653,_0x44aee5._0x51ab1b)]))return![];if(this[_0x559333(_0x44aee5._0x182cb9,0x916)]<-0x5a||this['_lat']>0x5a||this['_lng']<-0xb4||this[_0x559333(0x135a,_0x44aee5._0x3e67b4)]>0xb4)return![];if(this[_0x5129a7(_0x44aee5._0x5bf9b2,-_0x44aee5._0x5e30c7)]===0x0&&this['_lng']===0x0&&this[_0x559333(_0x44aee5._0x6e9444,0xb75)]===0x0)return![];function _0x5129a7(_0x2efce6,_0x58a306){return _0x2b6441(_0x58a306,_0x2efce6-0x3b6);}return!![];}static[_0x2b6441(0xa8b,0x122f)](_0xa1a775,_0x2edfde){const _0x4a1fa7={_0x1d360e:0xfd3,_0x58d2d8:0x36d,_0x1a6cf7:0x16fc,_0x5c3210:0x1226};function _0x55982d(_0xea72da,_0x4fca43){return _0x306755(_0xea72da,_0x4fca43- -0x58c);}function _0x42482b(_0x4453da,_0x74e1f7){return _0x306755(_0x74e1f7,_0x4453da- -0xb6);}if(!_0xa1a775)return new LngLatPoint();if(_0xa1a775 instanceof LngLatPoint)return _0xa1a775;let _0x1abebe;if(typeof _0xa1a775==='string')_0x1abebe=LngLatPoint[_0x55982d(0x8a1,0x64e)](_0xa1a775);else{if(Array['isArray'](_0xa1a775))_0x1abebe=LngLatPoint[_0x42482b(_0x4a1fa7._0x1d360e,0x15fa)](_0xa1a775);else{if(_0xa1a775 instanceof LngLatPoint)_0x1abebe=_0xa1a775['clone']();else{if(Cesium__namespace[_0x42482b(0x16fc,0x1dfe)](_0xa1a775[_0x42482b(0x888,0xfce)])&&Cesium__namespace['defined'](_0xa1a775['lng'])){_0x1abebe=new LngLatPoint(_0xa1a775['lng'],_0xa1a775['lat'],_0xa1a775[_0x42482b(0x3b1,_0x4a1fa7._0x58d2d8)]);for(const _0x5c5211 in _0xa1a775){_0x1abebe[_0x5c5211]=_0xa1a775[_0x5c5211];}}else{if(_0xa1a775 instanceof Cesium__namespace['Cartesian3']||_0xa1a775['_value']||_0xa1a775['getValue'])_0x1abebe=LngLatPoint[_0x42482b(0x939,0x1ce)](_0xa1a775,_0x2edfde),_0x1abebe['_position']=_0xa1a775;else Cesium__namespace['defined'](_0xa1a775['x'])&&Cesium__namespace[_0x42482b(_0x4a1fa7._0x1a6cf7,0x1242)](_0xa1a775['y'])&&Cesium__namespace[_0x55982d(0xb2c,_0x4a1fa7._0x5c3210)](_0xa1a775['z'])?(_0xa1a775=new Cesium__namespace['Cartesian3'](_0xa1a775['x'],_0xa1a775['y'],_0xa1a775['z']),_0x1abebe=LngLatPoint['fromCartesian'](_0xa1a775,_0x2edfde),_0x1abebe['_position']=_0xa1a775):(_0x1abebe=new LngLatPoint(),logError('坐标解析失败,请确认参数是否无误',_0xa1a775));}}}}return _0x1abebe;}static['fromArray'](_0x453dc4){function _0x599d90(_0x1cb606,_0x19ab2a){return _0x306755(_0x1cb606,_0x19ab2a- -0x1a8);}const _0x22b5d0=new LngLatPoint();return Array['isArray'](_0x453dc4)&&(_0x22b5d0['lng']=_0x453dc4[0x0]||0x0,_0x22b5d0['lat']=_0x453dc4[0x1]||0x0,_0x22b5d0[_0x599d90(-0x14d,0x2bf)]=_0x453dc4[0x2]||0x0),_0x22b5d0;}static[_0x306755(0x1536,0xbda)](_0x25fb2b){const _0x1da973={_0x4d6740:0xc66};function _0xa72d14(_0x436f2e,_0x485488){return _0x2b6441(_0x436f2e,_0x485488-0x17e);}let _0xd5d1ff=new LngLatPoint();if(_0x25fb2b&&typeof _0x25fb2b===_0xa72d14(0xfa9,0x5af)){const _0x1ff527=_0x25fb2b[_0xa72d14(0xf60,0x13a4)](',');_0xd5d1ff=this[_0xa72d14(0x141d,_0x1da973._0x4d6740)](_0x1ff527);}function _0x5e9993(_0x303766,_0x309bfb){return _0x2b6441(_0x303766,_0x309bfb- -0x2e);}return _0xd5d1ff;}static[_0x306755(0x820,0x9ef)](_0x4d5f24,_0xd0ced0){const _0x4eaa50={_0x37c44f:0x11b2,_0xb08c9a:0xe97,_0x13a047:0xa7,_0x3769bd:0x15b5,_0x2b8f64:0x192f},_0x3b4676={_0x56483d:0x11c},_0x351727=new LngLatPoint();let _0x290e1f;if(_0x4d5f24){if(_0x4d5f24 instanceof Cesium__namespace['Cartesian3'])_0x290e1f=_0x4d5f24;else{if(_0x4d5f24['_value']&&_0x4d5f24['_value']instanceof Cesium__namespace[_0xf29b9b(0x14d3,0xb3d)])_0x290e1f=_0x4d5f24[_0x2d1b4b(_0x4eaa50._0x37c44f,0x17e4)];else typeof _0x4d5f24['getValue']==='function'&&(_0x290e1f=_0x4d5f24[_0xf29b9b(0xa02,_0x4eaa50._0xb08c9a)](_0xd0ced0||Cesium__namespace[_0x2d1b4b(0x1ac0,0x2045)][_0x2d1b4b(0xa25,-_0x4eaa50._0x13a047)]()));}}if(_0x290e1f){const _0x338d30=Cesium__namespace['Cartographic']['fromCartesian'](_0x290e1f);_0x338d30&&(_0x351727[_0x2d1b4b(0xa0d,0x43a)]=Cesium__namespace[_0xf29b9b(0x15c7,0x1487)][_0x2d1b4b(0xee7,_0x4eaa50._0x3769bd)](_0x338d30['latitude']),_0x351727['lng']=Cesium__namespace[_0xf29b9b(_0x4eaa50._0x2b8f64,0x1487)]['toDegrees'](_0x338d30['longitude']),_0x351727['alt']=_0x338d30['height'],_0x351727['format']());}function _0xf29b9b(_0x3c68fd,_0x5614fb){return _0x306755(_0x3c68fd,_0x5614fb-_0x3b4676._0x56483d);}_0x351727['_position']=_0x4d5f24;function _0x2d1b4b(_0x535f36,_0x558bab){return _0x306755(_0x558bab,_0x535f36-0xcf);}return _0x351727;}static[_0x306755(0x1e6d,0x1937)](_0x52642d){const _0x215a73={_0x1df6fa:0x1612,_0x33621f:0x1398},_0x4ef72a={_0x558876:0x2d},_0x40ad49={_0x59c340:0x4b3},_0x22141e=new LngLatPoint();_0x22141e['lat']=Cesium__namespace[_0x55d2a8(0x988,0x1398)]['toDegrees'](_0x52642d['latitude']),_0x22141e['lng']=Cesium__namespace[_0x55d2a8(_0x215a73._0x1df6fa,_0x215a73._0x33621f)]['toDegrees'](_0x52642d['longitude']),_0x22141e['alt']=_0x52642d[_0x34b233(0xa47,0xb04)];function _0x34b233(_0x1212f0,_0x3becd3){return _0x2b6441(_0x1212f0,_0x3becd3-_0x40ad49._0x59c340);}function _0x55d2a8(_0x3ed35b,_0x5d0efa){return _0x306755(_0x3ed35b,_0x5d0efa-_0x4ef72a._0x558876);}return _0x22141e;}static[_0x2b6441(-0x26e,0x436)](_0xee9518){const _0x510cfb=Number(_0xee9518[0x0]),_0x329bc6=Number(_0xee9518[0x1]),_0xc3ef27=_0x510cfb/20037508.34*0xb4;let _0x3f3db3=_0x329bc6/20037508.34*0xb4;_0x3f3db3=0xb4/PI$1*(0x2*Math['atan'](Math['exp'](_0x3f3db3*PI$1/0xb4))-PI$1/0x2);const _0x2cc38b=new LngLatPoint(_0xc3ef27,_0x3f3db3,_0xee9518[0x2]||0x0);return _0x2cc38b;}static[_0x306755(0x1225,0x9ea)](_0x16ddb8,_0x26adee){const _0x1493cc={_0x2be69c:0x13a9},_0x37c555={_0x5d3877:0x60d};function _0x4b31c1(_0x2e9a9a,_0x1a6539){return _0x306755(_0x2e9a9a,_0x1a6539- -_0x37c555._0x5d3877);}if(!_0x16ddb8||_0x16ddb8 instanceof Cesium__namespace[_0x55ba88(0x96c,_0x1493cc._0x2be69c)])return _0x16ddb8;function _0x55ba88(_0x250dc2,_0x50da45){return _0x306755(_0x50da45,_0x250dc2- -0xb5);}return LngLatPoint['parse'](_0x16ddb8,_0x26adee)[_0x55ba88(0x935,0xabb)](!![]);}static[_0x306755(0x145a,0xd20)](_0x348c4f,_0x1ad78e){if(!_0x348c4f||_0x348c4f instanceof Cesium__namespace['Cartographic'])return _0x348c4f;return LngLatPoint['parse'](_0x348c4f,_0x1ad78e)['toCartographic']();}static[_0x2b6441(-0x696,0x20c)](_0xcef12d,_0x3a9a1a){const _0x1b777b={_0x26386f:0xa62,_0xfb6ac2:0x124e,_0x5d846f:0x4e4},_0x40e0d9={_0x45199e:0x1f},_0x1f0a36=LngLatPoint[_0x116ccb(_0x1b777b._0x26386f,_0x1b777b._0xfb6ac2)](_0xcef12d);function _0x116ccb(_0x4f8ea3,_0x23ee62){return _0x2b6441(_0x4f8ea3,_0x23ee62-_0x40e0d9._0x45199e);}function _0x152817(_0x1d4ca4,_0x352747){return _0x2b6441(_0x352747,_0x1d4ca4- -0x6e);}if(!_0x1f0a36||!_0x1f0a36['valid']())return[];return _0x1f0a36[_0x116ccb(-_0x1b777b._0x5d846f,0x22b)](_0x3a9a1a);}}LngLatPoint[_0x306755(0x3da,0xdf7)]=0x6,LngLatPoint[_0x306755(0x1377,0xed5)]=0x1;function formatNum$4(_0x4dceb2,_0x31452b=0x0){const _0x462d9b={_0x14815c:0x1061},_0x70ce03={_0x3770f2:0x4d3},_0x259caf=Math['pow'](0xa,_0x31452b);function _0x4e2eb5(_0x504ada,_0x3fac17){return _0x2b6441(_0x3fac17,_0x504ada-_0x70ce03._0x3770f2);}return Math[_0x4e2eb5(_0x462d9b._0x14815c,0xca9)](_0x4dceb2*_0x259caf)/_0x259caf;}class LngLatArray{static[_0x2b6441(0x8a5,0x6ea)](_0x3c1fa3,_0x17ad21){const _0x229061={_0x3888fc:0x4e3,_0x328872:0x190},_0x2bf579={_0xd26590:0x30,_0x3bc71f:0x7b9,_0x1fbb6e:0x11cf,_0xcd7aef:0x16d3},_0x50b698={_0x8c5852:0x250};if(!_0x3c1fa3||!Array[_0x48eb38(_0x229061._0x3888fc,_0x229061._0x328872)](_0x3c1fa3))return _0x3c1fa3;const _0xb409a5=[];function _0x48eb38(_0x52f32b,_0x3eb7bc){return _0x2b6441(_0x3eb7bc,_0x52f32b-_0x50b698._0x8c5852);}return _0x3c1fa3['forEach'](function(_0x53174b){if(_0x53174b instanceof Cesium__namespace[_0x397ac2(-_0x2bf579._0xd26590,_0x2bf579._0x3bc71f)]){_0x17ad21?_0xb409a5[_0x397ac2(0x7c2,0x431)](_0x53174b['clone']()):_0xb409a5['push'](_0x53174b);return;}const _0x2c5504=LngLatPoint['parse'](_0x53174b);if(!_0x2c5504||!_0x2c5504[_0x397ac2(_0x2bf579._0x1fbb6e,_0x2bf579._0xcd7aef)]())return;function _0x55b147(_0x985250,_0x1b1988){return _0x48eb38(_0x1b1988-0x13e,_0x985250);}function _0x397ac2(_0x2c0c02,_0x5ecd40){return _0x48eb38(_0x5ecd40-0xe9,_0x2c0c02);}_0xb409a5['push'](_0x2c5504['toCartesian'](!![]));}),_0xb409a5;}static['toCartographics'](_0x265b88,_0x4e693d){const _0x5d86e8={_0x58e5a0:0x5f0},_0x549341={_0x5e6725:0x5ec,_0x2c8c0e:0x649,_0x23aa98:0x293,_0x41bc5:0xb5e,_0x14e6af:0x13ca,_0x4ad394:0xea5,_0x5359c1:0x15b2,_0x2d6714:0x1373},_0x18ceba={_0x1a2235:0x243};if(!_0x265b88||!Array[_0x123902(-_0x5d86e8._0x58e5a0,0x1eb)](_0x265b88))return _0x265b88;const _0xcbb6a9=[];_0x265b88['forEach'](function(_0x2d7045){const _0x509a03={_0x56f615:0x38a};if(_0x2d7045 instanceof Cesium__namespace[_0x3d1395(0x503,_0x549341._0x5e6725)]){_0x4e693d?_0xcbb6a9['push'](_0x2d7045[_0x5a6f62(0x414,_0x549341._0x2c8c0e)]()):_0xcbb6a9[_0x3d1395(_0x549341._0x23aa98,_0x549341._0x41bc5)](_0x2d7045);return;}const _0x1dad65=LngLatPoint[_0x3d1395(_0x549341._0x14e6af,_0x549341._0x4ad394)](_0x2d7045);if(!_0x1dad65||!_0x1dad65[_0x3d1395(0x1535,_0x549341._0x5359c1)]())return;function _0x3d1395(_0xdb1010,_0x3b0364){return _0x123902(_0x3b0364,_0xdb1010-_0x18ceba._0x1a2235);}function _0x5a6f62(_0x2d67e4,_0x491c14){return _0x123902(_0x2d67e4,_0x491c14-_0x509a03._0x56f615);}_0xcbb6a9[_0x3d1395(_0x549341._0x23aa98,-0x91)](_0x1dad65[_0x3d1395(0x91a,_0x549341._0x2d6714)]());});function _0x123902(_0x599a47,_0x5a255c){return _0x2b6441(_0x599a47,_0x5a255c- -0xa8);}return _0xcbb6a9;}static['toPoints'](_0x23d97e,_0x11e799){const _0x2cdd75={_0x5d9265:0x351,_0x3181b6:0xafd},_0x2530da={_0x173d2e:0x330,_0x4b7808:0x11b},_0x23589f={_0x33f7c4:0x143};if(!_0x23d97e||!Array['isArray'](_0x23d97e))return _0x23d97e;function _0x4ed06c(_0x32dbd1,_0x266439){return _0x306755(_0x32dbd1,_0x266439- -_0x23589f._0x33f7c4);}const _0x1e821a=[];return _0x23d97e[_0x4ed06c(_0x2cdd75._0x5d9265,_0x2cdd75._0x3181b6)](function(_0x1f5a04){if(_0x1f5a04 instanceof LngLatPoint&&!_0x11e799){_0x1e821a[_0x58fb80(-_0x2530da._0x173d2e,_0x2530da._0x4b7808)](_0x1f5a04);return;}function _0x58fb80(_0x2021b7,_0x112039){return _0x4ed06c(_0x2021b7,_0x112039- -0x43b);}const _0x3549b8=LngLatPoint['parse'](_0x1f5a04);if(!_0x3549b8||!_0x3549b8['valid']())return;_0x1e821a['push'](_0x3549b8);}),_0x1e821a;}static['toArray'](_0x367150,_0x3ffd64){const _0x7e7821={_0x266eee:0x18e};if(!_0x367150||!Array['isArray'](_0x367150))return _0x367150;const _0x532efe=[];return _0x367150['forEach'](function(_0x5f3241){const _0x3fe332={_0x27e218:0x2ff};if(Array['isArray'](_0x5f3241)){_0x532efe[_0x44007d(0x725,0x779)](_0x5f3241);return;}function _0x44007d(_0xbd2a5,_0x12cdea){return _0x5bbe(_0xbd2a5-_0x3fe332._0x27e218,_0x12cdea);}function _0xf41ef6(_0x596549,_0x48c430){return _0x5bbe(_0x596549- -_0x7e7821._0x266eee,_0x48c430);}const _0x26d2b0=LngLatPoint[_0x44007d(0x185c,0x1225)](_0x5f3241);if(!_0x26d2b0||!_0x26d2b0['valid']())return;_0x532efe['push'](_0x26d2b0['toArray'](_0x3ffd64));}),_0x532efe;}}function degree2dms(_0x5a4c6c,_0x564163=0x0){const _0x370f18={_0x2c2214:0xd88,_0xf4ee67:0xb63,_0x3e453c:0x13d7,_0xfb59c0:0xb64,_0x4bafa0:0x117d,_0x511aa5:0xb00},_0x228d5e={_0x20deb5:0x126};let _0x547a75=0x1;_0x5a4c6c<0x0&&(_0x547a75=-0x1);_0x5a4c6c=Math['abs'](_0x5a4c6c);function _0x678aac(_0x2c16fe,_0x1adf26){return _0x2b6441(_0x2c16fe,_0x1adf26-_0x228d5e._0x20deb5);}let _0x390d81=Math[_0x1b0437(0x185a,_0x370f18._0x2c2214)](_0x5a4c6c),_0x5c7e2b=Math[_0x678aac(_0x370f18._0xf4ee67,_0x370f18._0x3e453c)]((_0x5a4c6c-_0x390d81)*0x3c),_0x2d76a4=((_0x5a4c6c-_0x390d81)*0xe10%0x3c)['toFixed'](_0x564163);_0x2d76a4===0x3c&&(_0x5c7e2b+=0x1,_0x2d76a4=0x0);_0x5c7e2b===0x3c&&(_0x390d81+=0x1,_0x5c7e2b=0x0);function _0x1b0437(_0x5526cc,_0x3bcd4a){return _0x2b6441(_0x3bcd4a,_0x5526cc-0x5a9);}_0x390d81*=_0x547a75;const _0xa77657={};return _0xa77657['degree']=_0x390d81,_0xa77657['minute']=_0x5c7e2b,_0xa77657[_0x1b0437(_0x370f18._0xfb59c0,_0x370f18._0x4bafa0)]=_0x2d76a4,_0xa77657[_0x1b0437(0xffc,_0x370f18._0x511aa5)]=_0x390d81+'°\x20'+_0x5c7e2b+'\x27\x20'+_0x2d76a4+'\x22',_0xa77657;}function dms2degree(_0x598467,_0x232142,_0x32c620){const _0x202c84={_0x719079:0x12ae},_0x41c88b={_0x290def:0x3ee};let _0x515a4b=Math[_0x1e8bb4(_0x202c84._0x719079,0x1953)](_0x598467)+_0x232142/0x3c+_0x32c620/0xe10;function _0x1e8bb4(_0x46cad1,_0x3d4128){return _0x2b6441(_0x3d4128,_0x46cad1-_0x41c88b._0x290def);}return _0x598467<0x0&&(_0x515a4b*=-0x1),_0x515a4b;}function getCGCS2000EPSGByLng(_0x5103b8,_0x4f427b,_0x373df5=!![]){let _0x14645d;if(_0x4f427b){const _0x15d538=parseInt(_0x5103b8/0x6)+0x1;if(_0x15d538<0xd||_0x15d538>0x17)return undefined;_0x373df5?_0x14645d=_0x15d538+0x117e:_0x14645d=_0x15d538+0x1189;}else{const _0x38460c=parseInt((_0x5103b8-1.5)/0x3)+0x1;if(_0x38460c<0x19||_0x38460c>0x2d)return undefined;_0x373df5?_0x14645d=_0x38460c+0x1188:_0x14645d=_0x38460c+0x119d;}return'EPSG:'+_0x14645d;}function getCGCS2000EPSGByX(_0x3ba304){const _0x2ff50e={_0x3efdbf:0xd9c},_0x483fe3={_0x480b7b:0x222},_0x376396=parseInt(_0x3ba304[_0x3f9add(0x511,_0x2ff50e._0x3efdbf)]()['slice'](0x0,0x2));function _0x3f9add(_0xd62b75,_0x2704b0){return _0x2b6441(_0xd62b75,_0x2704b0-_0x483fe3._0x480b7b);}if(_0x376396>=0xd&&_0x376396<=0x17)return'EPSG:'+(_0x376396+0x117e);else return _0x376396>=0x19&&_0x376396<=0x2d?'EPSG:'+(_0x376396+0x1188):undefined;}function proj4Trans(_0x17b2ce,_0x456338,_0x4235f6=_0x2b6441(-0x89,0x7c9)){const _0x3f45c4={_0x1c77bc:0x1172,_0x1bf116:0x1131,_0xc1e2d2:0xb1c,_0x2d6a6a:0xd53,_0x2f36dd:0xb7f};function _0x333d51(_0x53812d,_0x3bad4c){return _0x2b6441(_0x3bad4c,_0x53812d-0x291);}function _0x3b366c(_0x2ba63c,_0x4e6f53){return _0x306755(_0x4e6f53,_0x2ba63c-0xd7);}if(!_0x456338||!_0x4235f6||_0x456338===_0x4235f6)return _0x17b2ce;try{(_0x456338===CRS[_0x333d51(0x157c,_0x3f45c4._0x1c77bc)]||_0x456338===CRS[_0x333d51(_0x3f45c4._0x1bf116,_0x3f45c4._0xc1e2d2)])&&(_0x456338=getCGCS2000EPSGByX(_0x17b2ce[0x0]));if(_0x4235f6===CRS['CGCS2000_GK_Zone_3'])_0x4235f6=getCGCS2000EPSGByLng(_0x17b2ce[0x0],![],!![]);else{if(_0x4235f6===CRS['CGCS2000_GK_Zone_6'])_0x4235f6=getCGCS2000EPSGByLng(_0x17b2ce[0x0],!![],!![]);else{if(_0x4235f6===CRS['CGCS2000_GK_CM_3'])_0x4235f6=getCGCS2000EPSGByLng(_0x17b2ce[0x0],![],![]);else _0x4235f6===CRS[_0x333d51(_0x3f45c4._0x2d6a6a,_0x3f45c4._0x2f36dd)]&&(_0x4235f6=getCGCS2000EPSGByLng(_0x17b2ce[0x0],!![],![]));}}if(!_0x456338||!_0x4235f6||_0x456338===_0x4235f6)return _0x17b2ce;const _0x29bfa4=proj4(_0x456338,_0x4235f6,_0x17b2ce);if(Cesium__namespace[_0x3b366c(0x1889,0x1b26)](_0x29bfa4)&&_0x29bfa4['length']>0x1&&!isNaN(_0x29bfa4[0x0])&&_0x29bfa4[0x0]!==Infinity)return _0x29bfa4;}catch(_0x13b77d){}return _0x17b2ce;}function proj4TransArr(_0x24683b,_0x54c8f0,_0x5621f5=_0x306755(0x644,0xd6a)){const _0x5af9a7={_0x59a29a:0x145e};if(!_0x54c8f0||_0x54c8f0===_0x5621f5)return _0x24683b;function _0x2894e2(_0x44c455,_0x1834ed){return _0x306755(_0x44c455,_0x1834ed- -0x14d);}function _0xe03c30(_0x3c051c,_0x24e312){return _0x306755(_0x3c051c,_0x24e312-0x43);}const _0x50b173=[];for(let _0x2d5260=0x0,_0x486c2c=_0x24683b[_0x2894e2(_0x5af9a7._0x59a29a,0x14ae)];_0x2d5260<_0x486c2c;_0x2d5260++){const _0x5e5d4e=_0x24683b[_0x2d5260];if(Array['isArray'](_0x5e5d4e[0x0])){const _0x3dbaf4=proj4TransArr(_0x5e5d4e,_0x54c8f0,_0x5621f5);_0x3dbaf4&&_0x3dbaf4[_0xe03c30(0x1277,0x163e)]>0x0&&_0x50b173['push'](_0x3dbaf4);}else{const _0x3be367=proj4Trans(_0x5e5d4e,_0x54c8f0,_0x5621f5);_0x3be367&&_0x50b173['push'](_0x3be367);}}return _0x50b173;}function toWindowCoordinates$1(_0x57ef02,_0x2e80b7,_0x152cda){const _0x15887f={_0x82d732:0x15b6};if(Cesium__namespace['SceneTransforms']['worldToWindowCoordinates'])return Cesium__namespace[_0x484946(0x558,0x7af)]['worldToWindowCoordinates'](_0x57ef02,_0x2e80b7,_0x152cda);function _0x593b99(_0x1ca4a9,_0x26f76e){return _0x306755(_0x26f76e,_0x1ca4a9- -0x5a6);}if(Cesium__namespace['SceneTransforms'][_0x484946(0xd9e,_0x15887f._0x82d732)])return Cesium__namespace['SceneTransforms']['wgs84ToWindowCoordinates'](_0x57ef02,_0x2e80b7,_0x152cda);function _0x484946(_0x299c8a,_0x3fb389){return _0x2b6441(_0x3fb389,_0x299c8a-0x273);}return new Cesium__namespace['Cartesian2'](0x0,0x0);}function cartesian2lonlat(_0x32daf9,_0x40df09){return LngLatPoint['toArray'](_0x32daf9,_0x40df09);}function cartesians2lonlats(_0x52f453,_0x4e53d6){return LngLatArray['toArray'](_0x52f453,_0x4e53d6);}function cartesian2mercator(_0x3c66e8){const _0x53cb25={_0x4774df:0x1738},_0x4a87e1={_0x5e3072:0xd8},_0x5d8c1b={_0x36ccd9:0x130};if(!_0x3c66e8)return null;function _0x4dac70(_0x44df67,_0x5a8b5f){return _0x306755(_0x44df67,_0x5a8b5f- -_0x5d8c1b._0x36ccd9);}function _0x117c6a(_0x403988,_0x149cd3){return _0x306755(_0x149cd3,_0x403988- -_0x4a87e1._0x5e3072);}const _0x14865e=LngLatPoint[_0x117c6a(0x917,-0x18a)](_0x3c66e8);return _0x14865e[_0x4dac70(0x1731,_0x53cb25._0x4774df)]();}function cartesians2mercators(_0x4533b8){const _0x375293={_0x7f53e7:0x4a1,_0x150dd5:0xf44},_0x302830=[];function _0xc3666f(_0x4065a0,_0x3709fa){return _0x2b6441(_0x3709fa,_0x4065a0-0x3a9);}for(let _0x53c56e=0x0,_0x4ad3c8=_0x4533b8['length'];_0x53c56e<_0x4ad3c8;_0x53c56e++){const _0x19f2d5=cartesian2mercator(_0x4533b8[_0x53c56e]);_0x19f2d5&&_0x302830[_0xc3666f(_0x375293._0x7f53e7,_0x375293._0x150dd5)](_0x19f2d5);}return _0x302830;}function lonlat2cartesian(_0x285883,_0x35c25d=0x0){const _0x4f5a6d={_0x5dce5d:0x2cc};function _0x21a8ec(_0x328ed5,_0x50d730){return _0x306755(_0x328ed5,_0x50d730- -_0x4f5a6d._0x5dce5d);}if(!_0x285883||_0x285883['length']<0x2)return null;return Cesium__namespace['Cartesian3'][_0x21a8ec(0xb22,0x7f1)](_0x285883[0x0],_0x285883[0x1],_0x285883[0x2]||_0x35c25d);}function lonlats2cartesians(_0x236493,_0x2f524e){const _0x1ee723={_0x315e1d:0xa2f,_0x49a41f:0x11a0,_0x241379:0x23e,_0x1714e6:0x456,_0x568d58:0xe18},_0x457c0b={_0x35a287:0x146};function _0x36d4c0(_0x47276f,_0x75cb5c){return _0x2b6441(_0x47276f,_0x75cb5c-_0x457c0b._0x35a287);}const _0x4a00ef=[];function _0x4cfcef(_0x31e445,_0x8821be){return _0x306755(_0x8821be,_0x31e445- -0x243);}for(let _0x204ba3=0x0,_0x5cc7e9=_0x236493[_0x4cfcef(0x13b8,0x1a4c)];_0x204ba3<_0x5cc7e9;_0x204ba3++){const _0x1646b4=_0x236493[_0x204ba3];if(Array['isArray'](_0x1646b4[0x0])){const _0x3726fa=lonlats2cartesians(_0x1646b4,_0x2f524e);_0x3726fa&&_0x3726fa[_0x36d4c0(_0x1ee723._0x315e1d,_0x1ee723._0x49a41f)]>0x0&&_0x4a00ef[_0x36d4c0(0xc9d,_0x1ee723._0x241379)](_0x3726fa);}else{const _0x17f5f9=lonlat2cartesian(_0x1646b4,_0x2f524e);_0x17f5f9&&_0x4a00ef[_0x4cfcef(_0x1ee723._0x1714e6,_0x1ee723._0x568d58)](_0x17f5f9);}}return _0x4a00ef;}function lonlat2mercator(_0x63b052){const _0x3d378d=LngLatPoint['fromArray'](_0x63b052);return _0x3d378d['toMercator']();}function lonlats2mercators(_0x34fd73){const _0x391b9a={_0x408738:0x505},_0x1e163a={_0x1649fe:0x659},_0xbce2b0=[];for(let _0x2db701=0x0,_0x265aa9=_0x34fd73[_0x3d7e06(0x13c0,0x1dab)];_0x2db701<_0x265aa9;_0x2db701++){const _0x5c7a11=lonlat2mercator(_0x34fd73[_0x2db701]);_0xbce2b0[_0x3e3e29(0x751,_0x391b9a._0x408738)](_0x5c7a11);}function _0x3e3e29(_0x17bad1,_0x364fac){return _0x2b6441(_0x364fac,_0x17bad1-_0x1e163a._0x1649fe);}function _0x3d7e06(_0x2459dd,_0x568023){return _0x306755(_0x568023,_0x2459dd- -0x23b);}return _0xbce2b0;}function mercator2cartesian(_0x24eac1,_0x33d2f0){const _0xd76f14={_0x43e485:0x187c};function _0xbd30b0(_0x598968,_0x1cb3ef){return _0x306755(_0x598968,_0x1cb3ef-0xca);}if(isNaN(_0x24eac1[0x0])||isNaN(_0x24eac1[0x1]))return null;const _0x24ab17=LngLatPoint['fromMercator'](_0x24eac1);return Cesium__namespace[_0xbd30b0(0x1b00,_0xd76f14._0x43e485)](_0x33d2f0)&&(_0x24ab17['alt']=_0x33d2f0),_0x24ab17['toCartesian']();}function mercators2cartesians(_0x1680cc,_0x88fed0){const _0x3016d5=[];for(let _0x317743=0x0,_0x554516=_0x1680cc['length'];_0x317743<_0x554516;_0x317743++){const _0x44e975=mercator2cartesian(_0x1680cc[_0x317743],_0x88fed0);_0x44e975&&_0x3016d5['push'](_0x44e975);}return _0x3016d5;}function mercator2lonlat(_0xaa7d50){const _0x452fac={_0x3cf36e:0x629,_0x129d4f:0xc8d},_0x457f82={_0x27c913:0x41d},_0x568e7d=LngLatPoint['fromMercator'](_0xaa7d50);function _0x44a6b2(_0x1ee032,_0x1f2073){return _0x2b6441(_0x1f2073,_0x1ee032-_0x457f82._0x27c913);}return _0x568e7d[_0x44a6b2(_0x452fac._0x3cf36e,_0x452fac._0x129d4f)]();}function mercators2lonlats(_0x46dc76){const _0x2eb6f9=[];for(let _0x4a1b4d=0x0,_0x250715=_0x46dc76['length'];_0x4a1b4d<_0x250715;_0x4a1b4d++){const _0x1bb837=mercator2lonlat(_0x46dc76[_0x4a1b4d]);_0x2eb6f9['push'](_0x1bb837);}return _0x2eb6f9;}const x_PI=3.141592653589793*0xbb8/0xb4,PI=3.141592653589793,a=0x615305,ee=0.00669342162296594;function transformlat(_0x97777,_0x4b5b80){const _0x1595f7={_0x4c4518:0x332};function _0x4cdf11(_0x3e9411,_0x37c630){return _0x306755(_0x3e9411,_0x37c630- -0x13b);}let _0x41b3d7=-0x64+0x2*_0x97777+0x3*_0x4b5b80+0.2*_0x4b5b80*_0x4b5b80+0.1*_0x97777*_0x4b5b80+0.2*Math['sqrt'](Math['abs'](_0x97777));_0x41b3d7+=(0x14*Math['sin'](0x6*_0x97777*PI)+0x14*Math['sin'](0x2*_0x97777*PI))*0x2/0x3,_0x41b3d7+=(0x14*Math[_0x4cdf11(-0x2bf,0x802)](_0x4b5b80*PI)+0x28*Math['sin'](_0x4b5b80/0x3*PI))*0x2/0x3;function _0x122c18(_0x515d20,_0x578730){return _0x306755(_0x578730,_0x515d20- -_0x1595f7._0x4c4518);}return _0x41b3d7+=(0xa0*Math[_0x122c18(0x60b,-0x30e)](_0x4b5b80/0xc*PI)+0x140*Math['sin'](_0x4b5b80*PI/0x1e))*0x2/0x3,_0x41b3d7;}function transformlng(_0x6df472,_0x4fdbf1){const _0x5261ea={_0x3d77ad:0x1433,_0x5c9777:0xdf3,_0xca96e7:0x90f,_0x5f3411:0x6af,_0x3eb7c7:0xa8d,_0x12f50a:0x7c2,_0x14545c:0x1c5},_0x35d6c8={_0x4ad991:0x17b};let _0x13d707=0x12c+_0x6df472+0x2*_0x4fdbf1+0.1*_0x6df472*_0x6df472+0.1*_0x6df472*_0x4fdbf1+0.1*Math['sqrt'](Math[_0x496afc(_0x5261ea._0x3d77ad,_0x5261ea._0x5c9777)](_0x6df472));_0x13d707+=(0x14*Math[_0x496afc(_0x5261ea._0xca96e7,_0x5261ea._0x5f3411)](0x6*_0x6df472*PI)+0x14*Math['sin'](0x2*_0x6df472*PI))*0x2/0x3,_0x13d707+=(0x14*Math[_0x496afc(0x90f,_0x5261ea._0x3eb7c7)](_0x6df472*PI)+0x28*Math['sin'](_0x6df472/0x3*PI))*0x2/0x3;function _0x496afc(_0x4749f6,_0x118378){return _0x306755(_0x118378,_0x4749f6- -0x2e);}function _0x67bc78(_0x18d6f9,_0x5a71c1){return _0x306755(_0x5a71c1,_0x18d6f9- -_0x35d6c8._0x4ad991);}return _0x13d707+=(0x96*Math[_0x67bc78(_0x5261ea._0x12f50a,-0x21)](_0x6df472/0xc*PI)+0x12c*Math[_0x67bc78(0x7c2,_0x5261ea._0x14545c)](_0x6df472/0x1e*PI))*0x2/0x3,_0x13d707;}function out_of_china(_0x21e803,_0x3538aa){return _0x21e803<72.004||_0x21e803>137.8347||_0x3538aa<0.8293||_0x3538aa>55.8271||![];}function bd2gcj(_0x5f243c){const _0x57e6b0={_0x4884a1:0x3ce,_0x4927fb:0x16ea,_0x2d99ed:0xb1f,_0xe0da60:0xc35},_0x341f35={_0x5c07f4:0x2d8};function _0x5d45d8(_0x466781,_0x4b5db9){return _0x306755(_0x4b5db9,_0x466781- -_0x341f35._0x5c07f4);}const _0x13ba4b=Number(_0x5f243c[0x0]),_0xd5fad8=Number(_0x5f243c[0x1]),_0x578fa8=3.141592653589793*0xbb8/0xb4,_0x58579d=_0x13ba4b-0.0065,_0x1fc2ab=_0xd5fad8-0.006,_0x46cd58=Math['sqrt'](_0x58579d*_0x58579d+_0x1fc2ab*_0x1fc2ab)-0.00002*Math[_0x42d426(0x7bc,_0x57e6b0._0x4884a1)](_0x1fc2ab*_0x578fa8),_0x36df1d=Math['atan2'](_0x1fc2ab,_0x58579d)-0.000003*Math['cos'](_0x58579d*_0x578fa8);let _0x193c33=_0x46cd58*Math['cos'](_0x36df1d),_0x2dc34c=_0x46cd58*Math[_0x42d426(0xbf5,0x3ce)](_0x36df1d);_0x193c33=Number(_0x193c33[_0x5d45d8(_0x57e6b0._0x4927fb,0x1d6a)](LngLatPoint[_0x5d45d8(_0x57e6b0._0x2d99ed,0x10ca)])),_0x2dc34c=Number(_0x2dc34c[_0x5d45d8(0x16ea,_0x57e6b0._0xe0da60)](LngLatPoint['FormatLength']));function _0x42d426(_0x304974,_0x15b2bd){return _0x306755(_0x304974,_0x15b2bd- -0x56f);}return[_0x193c33,_0x2dc34c];}function gcj2bd(_0x509400){const _0x39a7ad={_0x29290d:0x36d,_0x3afea3:0xa29},_0x2a6a06={_0x5832bf:0x606},_0x910f60=Number(_0x509400[0x0]),_0xcda7c1=Number(_0x509400[0x1]),_0x4c2f62=Math['sqrt'](_0x910f60*_0x910f60+_0xcda7c1*_0xcda7c1)+0.00002*Math['sin'](_0xcda7c1*x_PI),_0x473b67=Math[_0x152851(_0x39a7ad._0x29290d,0xde3)](_0xcda7c1,_0x910f60)+0.000003*Math[_0x58b28b(0x3e5,_0x39a7ad._0x3afea3)](_0x910f60*x_PI);let _0x4adc2b=_0x4c2f62*Math[_0x152851(0x689,0xe25)](_0x473b67)+0.0065,_0x1a1ab5=_0x4c2f62*Math['sin'](_0x473b67)+0.006;_0x4adc2b=Number(_0x4adc2b['toFixed'](LngLatPoint['FormatLength'])),_0x1a1ab5=Number(_0x1a1ab5['toFixed'](LngLatPoint['FormatLength']));function _0x58b28b(_0x53b762,_0x45386a){return _0x306755(_0x53b762,_0x45386a- -0x266);}function _0x152851(_0x3314a3,_0x41c0d3){return _0x306755(_0x41c0d3,_0x3314a3- -_0x2a6a06._0x5832bf);}return[_0x4adc2b,_0x1a1ab5];}function wgs2gcj(_0x1a8ba1){const _0x4c395d={_0xe799d7:0x2076,_0x416742:0x1b72,_0xdc06ce:0xc3a};function _0x44d040(_0x439fb2,_0x15fe9c){return _0x2b6441(_0x15fe9c,_0x439fb2-0x2bf);}const _0x287bdf=Number(_0x1a8ba1[0x0]),_0x30b138=Number(_0x1a8ba1[0x1]);function _0x46dbb3(_0x44da13,_0x5f4873){return _0x2b6441(_0x44da13,_0x5f4873-0x3e4);}if(out_of_china(_0x287bdf,_0x30b138))return[_0x287bdf,_0x30b138];else{let _0x2c040e=transformlat(_0x287bdf-0x69,_0x30b138-0x23),_0x3915a4=transformlng(_0x287bdf-0x69,_0x30b138-0x23);const _0x406a1c=_0x30b138/0xb4*PI;let _0x4461f1=Math[_0x44d040(0x65b,-0x2bf)](_0x406a1c);_0x4461f1=0x1-ee*_0x4461f1*_0x4461f1;const _0x45a89d=Math['sqrt'](_0x4461f1);_0x2c040e=_0x2c040e*0xb4/(a*(0x1-ee)/(_0x4461f1*_0x45a89d)*PI),_0x3915a4=_0x3915a4*0xb4/(a/_0x45a89d*Math['cos'](_0x406a1c)*PI);let _0x27784a=_0x30b138+_0x2c040e,_0x3263a3=_0x287bdf+_0x3915a4;return _0x3263a3=Number(_0x3263a3[_0x46dbb3(_0x4c395d._0xe799d7,0x1805)](LngLatPoint['FormatLength'])),_0x27784a=Number(_0x27784a[_0x44d040(0x16e0,_0x4c395d._0x416742)](LngLatPoint[_0x46dbb3(0x1059,_0x4c395d._0xdc06ce)])),[_0x3263a3,_0x27784a];}}function gcj2wgs(_0x610353){const _0x28795a={_0x1c996d:0x796},_0xf8c3e4={_0x12457f:0x42},_0x35c500=Number(_0x610353[0x0]),_0x160f96=Number(_0x610353[0x1]);function _0x43ce9f(_0x9bad3a,_0x43b934){return _0x306755(_0x9bad3a,_0x43b934- -0x4f9);}function _0x6b5f9e(_0x703ca0,_0x3025ff){return _0x306755(_0x703ca0,_0x3025ff-_0xf8c3e4._0x12457f);}if(out_of_china(_0x35c500,_0x160f96))return[_0x35c500,_0x160f96];else{let _0x48865c=transformlat(_0x35c500-0x69,_0x160f96-0x23),_0x839280=transformlng(_0x35c500-0x69,_0x160f96-0x23);const _0x5ab369=_0x160f96/0xb4*PI;let _0x36e89f=Math['sin'](_0x5ab369);_0x36e89f=0x1-ee*_0x36e89f*_0x36e89f;const _0x1be724=Math['sqrt'](_0x36e89f);_0x48865c=_0x48865c*0xb4/(a*(0x1-ee)/(_0x36e89f*_0x1be724)*PI),_0x839280=_0x839280*0xb4/(a/_0x1be724*Math[_0x43ce9f(0xd31,_0x28795a._0x1c996d)](_0x5ab369)*PI);const _0x4918bf=_0x160f96+_0x48865c,_0x508407=_0x35c500+_0x839280;let _0x41d351=_0x35c500*0x2-_0x508407,_0x45e65d=_0x160f96*0x2-_0x4918bf;return _0x41d351=Number(_0x41d351[_0x43ce9f(0x1871,0x14c9)](LngLatPoint['FormatLength'])),_0x45e65d=Number(_0x45e65d['toFixed'](LngLatPoint[_0x6b5f9e(0x12b3,0xe39)])),[_0x41d351,_0x45e65d];}}function bd2wgs(_0x41fb30){return gcj2wgs(bd2gcj(_0x41fb30));}function wgs2bd(_0x42b2b9){return gcj2bd(wgs2gcj(_0x42b2b9));}const _0x562e62={};_0x562e62[_0x2b6441(0xfd0,0x60f)]=null,_0x562e62['degree2dms']=degree2dms,_0x562e62['dms2degree']=dms2degree,_0x562e62[_0x2b6441(0x28,0x34b)]=getCGCS2000EPSGByLng,_0x562e62['getCGCS2000EPSGByX']=getCGCS2000EPSGByX,_0x562e62[_0x2b6441(0x476,-0x11b)]=proj4Trans,_0x562e62['proj4TransArr']=proj4TransArr,_0x562e62['toWindowCoordinates']=toWindowCoordinates$1,_0x562e62['cartesian2lonlat']=cartesian2lonlat,_0x562e62['cartesians2lonlats']=cartesians2lonlats,_0x562e62['cartesian2mercator']=cartesian2mercator,_0x562e62['cartesians2mercators']=cartesians2mercators,_0x562e62['lonlat2cartesian']=lonlat2cartesian,_0x562e62[_0x2b6441(0x194a,0x1444)]=lonlats2cartesians,_0x562e62['lonlat2mercator']=lonlat2mercator,_0x562e62['lonlats2mercators']=lonlats2mercators,_0x562e62['mercator2cartesian']=mercator2cartesian,_0x562e62[_0x306755(0x16fa,0x1965)]=mercators2cartesians,_0x562e62['mercator2lonlat']=mercator2lonlat,_0x562e62['mercators2lonlats']=mercators2lonlats,_0x562e62['bd2gcj']=bd2gcj,_0x562e62['gcj2bd']=gcj2bd,_0x562e62['wgs2gcj']=wgs2gcj,_0x562e62[_0x2b6441(-0xeb,0x230)]=gcj2wgs,_0x562e62[_0x2b6441(0x4a4,0xbc4)]=bd2wgs,_0x562e62[_0x306755(0x32c,0xab9)]=wgs2bd;var PointTrans=_0x562e62;function xhrAdapter(_0x137c9b){const _0x266cf6={_0x18d2b1:0x157c,_0x34480c:0xc2d},_0x23acd1={_0x4e14c6:0x147c,_0x8eaa64:0xe97,_0x2736bc:0xb26,_0x2ad0e8:0x114f,_0x162fac:0x14ab,_0x2e6c87:0x1596,_0x822c65:0x10c0,_0x206b0c:0x13e0,_0x36d524:0x124f,_0x4f6f19:0x1a00,_0x3b9b91:0x6cf,_0x174a40:0x91e,_0x541a42:0x861,_0x402159:0xa58},_0x19b669={_0x4338f1:0x1331,_0x239a5f:0x1754},_0x42a86b={_0x289d9b:0x1adc,_0x13e157:0x8c2};function _0x2567a0(_0x77bc77,_0x4b532a){return _0x306755(_0x77bc77,_0x4b532a- -0x5);}_0x137c9b={'method':_0x4e1b79(0xafc,_0x266cf6._0x18d2b1),'timeout':0x0,'maxContentLength':-0x1,'maxBodyLength':-0x1,'params':_0x137c9b[_0x4e1b79(_0x266cf6._0x34480c,0x7e5)]||{},..._0x137c9b};function _0x4e1b79(_0x35cafb,_0x203005){return _0x306755(_0x203005,_0x35cafb- -0x191);}return new Promise(function _0x3d80cb(_0x58e5cb,_0x58478d){const _0x4faf26={_0x4c9299:0x267},_0x11fbbf={_0x16b013:0x13f4},_0x33792a={_0x191469:0x146e},_0x5a5d90={_0x11bac4:0x545};let _0x4a5fc7=_0x137c9b['data'];const _0x26f461=_0x137c9b['headers']||{},_0x141c75=_0x137c9b[_0x5c77da(_0x23acd1._0x4e14c6,_0x23acd1._0x8eaa64)];isFormData(_0x4a5fc7)&&delete _0x26f461['Content-Type'];let _0x327aaf=new XMLHttpRequest();_0x327aaf[_0x5c77da(_0x23acd1._0x2736bc,0xa4f)](_0x137c9b['method']['toUpperCase'](),buildURL(_0x137c9b[_0x41a16e(0x241,0xc95)],_0x137c9b[_0x5c77da(0x978,_0x23acd1._0x2ad0e8)],_0x137c9b['paramsSerializer']),!![]),_0x327aaf['timeout']=_0x137c9b['timeout'];function _0x5c77da(_0x3edd6f,_0x2e1892){return _0x2567a0(_0x2e1892,_0x3edd6f- -_0x5a5d90._0x11bac4);}function _0x592c1e(){if(!_0x327aaf)return;function _0x14cea9(_0x707ead,_0x478e83){return _0x5c77da(_0x478e83-0x622,_0x707ead);}const _0x1a6c8d='getAllResponseHeaders'in _0x327aaf?parseHeaders(_0x327aaf['getAllResponseHeaders']()):null,_0x1e6cbf=!_0x141c75||_0x141c75==='text'||_0x141c75==='json'?_0x327aaf[_0x14cea9(0x1850,_0x42a86b._0x289d9b)]:_0x327aaf[_0x2a4963(_0x42a86b._0x13e157,0xb4a)];function _0x2a4963(_0x1e9a55,_0xe3a71d){return _0x5c77da(_0xe3a71d- -0x6e,_0x1e9a55);}const _0x159d74={'data':transformResponse(_0x327aaf,_0x1e6cbf),'status':_0x327aaf['status'],'statusText':_0x327aaf['statusText'],'headers':_0x1a6c8d,'options':_0x137c9b,'request':_0x327aaf};settle(function _0x24735f(_0x11594d){_0x58e5cb(_0x11594d);},function _0xf890f1(_0x55a301){_0x58478d(_0x55a301);},_0x159d74),_0x327aaf=null;}'onloadend'in _0x327aaf?_0x327aaf[_0x41a16e(0xd40,0xb64)]=_0x592c1e:_0x327aaf['onreadystatechange']=function _0x45045b(){const _0xd21ad2={_0x39dbfe:0x41e},_0x1413b0={_0x2c1ad8:0x61};function _0x32b026(_0x27a6c1,_0x42a925){return _0x41a16e(_0x27a6c1,_0x42a925- -_0x1413b0._0x2c1ad8);}if(!_0x327aaf||_0x327aaf['readyState']!==0x4)return;function _0x125244(_0x315fec,_0xe47972){return _0x5c77da(_0xe47972-_0xd21ad2._0x39dbfe,_0x315fec);}if(_0x327aaf['status']===0x0&&!(_0x327aaf['responseURL']&&_0x327aaf[_0x125244(0x16c8,_0x33792a._0x191469)]['indexOf'](_0x125244(0x124a,0x9f0))===0x0))return;setTimeout(_0x592c1e);};_0x327aaf[_0x5c77da(_0x23acd1._0x162fac,_0x23acd1._0x2e6c87)]=function _0x3f24f3(){function _0x1e070e(_0x4c559e,_0x23524c){return _0x41a16e(_0x23524c,_0x4c559e- -0x590);}if(!_0x327aaf)return;_0x58478d(createError('Request\x20aborted',_0x137c9b,_0x1e070e(_0x19b669._0x4338f1,_0x19b669._0x239a5f),_0x327aaf)),_0x327aaf=null;},_0x327aaf[_0x41a16e(_0x23acd1._0x822c65,0x19ac)]=function _0x237134(){_0x58478d(createError(_0x2390ca(0xc90,0x51f),_0x137c9b,null,_0x327aaf));function _0x2390ca(_0x3edf45,_0x3aa41d){return _0x5c77da(_0x3aa41d-0x111,_0x3edf45);}_0x327aaf=null;},_0x327aaf[_0x5c77da(0xefe,0xde1)]=function _0x2aecae(){function _0x20a948(_0x537e22,_0x5b61fe){return _0x41a16e(_0x537e22,_0x5b61fe- -0x250);}let _0x2e9f30=_0x20a948(_0x11fbbf._0x16b013,0xb22)+_0x137c9b['timeout']+'ms\x20exceeded';_0x137c9b['timeoutErrorMessage']&&(_0x2e9f30=_0x137c9b['timeoutErrorMessage']),_0x58478d(createError(_0x2e9f30,_0x137c9b,'ECONNABORTED',_0x327aaf)),_0x327aaf=null;};'setRequestHeader'in _0x327aaf&&forEach(_0x26f461,function _0xada647(_0x2362c5,_0x1477ee){function _0x44e366(_0x4f8bb2,_0x20cf7f){return _0x5c77da(_0x4f8bb2-0x147,_0x20cf7f);}typeof _0x4a5fc7==='undefined'&&_0x1477ee[_0x44e366(0xa4,-0x9fc)]()==='content-type'?delete _0x26f461[_0x1477ee]:_0x327aaf['setRequestHeader'](_0x1477ee,_0x2362c5);});!isUndefined(_0x137c9b['withCredentials'])&&(_0x327aaf[_0x5c77da(_0x23acd1._0x206b0c,0x1dd6)]=!!_0x137c9b[_0x41a16e(_0x23acd1._0x36d524,_0x23acd1._0x4f6f19)]);_0x141c75&&_0x141c75!==_0x5c77da(0xa02,_0x23acd1._0x3b9b91)&&(_0x327aaf[_0x5c77da(0x147c,0x15a3)]=_0x137c9b['responseType']);typeof _0x137c9b['onDownloadProgress']==='function'&&_0x327aaf['addEventListener'](_0x41a16e(_0x23acd1._0x174a40,_0x23acd1._0x541a42),_0x137c9b[_0x41a16e(_0x23acd1._0x402159,0xa6f)]);typeof _0x137c9b[_0x41a16e(0x1cb9,0x157d)]==='function'&&_0x327aaf['upload']&&_0x327aaf['upload']['addEventListener'](_0x41a16e(0x108a,0x861),_0x137c9b['onUploadProgress']);function _0x41a16e(_0x459845,_0x13e5cd){return _0x4e1b79(_0x13e5cd-_0x4faf26._0x4c9299,_0x459845);}!_0x4a5fc7&&(_0x4a5fc7=null),_0x327aaf['send'](_0x4a5fc7);});}function isString$1(_0x246641){return typeof _0x246641==='string';}function isDate(_0x94a7f0){return toString['call'](_0x94a7f0)==='[object\x20Date]';}function isObject$1(_0x2f9837){return _0x2f9837!==null&&typeof _0x2f9837==='object';}function isFormData(_0x5c88d3){return typeof FormData!=='undefined'&&_0x5c88d3 instanceof FormData;}function isUndefined(_0x2636c9){const _0x1fe1bb={_0x151f9d:0x9bc};function _0xe757bc(_0x4e83e0,_0x4dbf88){return _0x306755(_0x4e83e0,_0x4dbf88- -0x194);}return typeof _0x2636c9===_0xe757bc(_0x1fe1bb._0x151f9d,0x581);}function isURLSearchParams(_0x268347){function _0x4db605(_0x5ae5a3,_0x293f15){return _0x306755(_0x5ae5a3,_0x293f15- -0x2c7);}return typeof URLSearchParams!==_0x4db605(-0x137,0x44e)&&_0x268347 instanceof URLSearchParams;}function forEach(_0x1aed4d,_0x2f0376){const _0x3bc134={_0x2110ea:0x1128,_0x278533:0x1765};if(_0x1aed4d===null||typeof _0x1aed4d==='undefined')return;function _0x176a9a(_0x1d5e2e,_0x507e92){return _0x306755(_0x1d5e2e,_0x507e92- -0x10);}function _0x23426d(_0x12efac,_0x8a72a0){return _0x306755(_0x12efac,_0x8a72a0- -0x48d);}typeof _0x1aed4d!==_0x23426d(0xa8d,_0x3bc134._0x2110ea)&&(_0x1aed4d=[_0x1aed4d]);if(Array['isArray'](_0x1aed4d))for(let _0x3459cb=0x0,_0x59dfc7=_0x1aed4d[_0x23426d(_0x3bc134._0x278533,0x116e)];_0x3459cb<_0x59dfc7;_0x3459cb++){_0x2f0376['call'](null,_0x1aed4d[_0x3459cb],_0x3459cb,_0x1aed4d);}else for(const _0x5dcbf3 in _0x1aed4d){Object['prototype']['hasOwnProperty'][_0x23426d(0x12ee,0xd2a)](_0x1aed4d,_0x5dcbf3)&&_0x2f0376['call'](null,_0x1aed4d[_0x5dcbf3],_0x5dcbf3,_0x1aed4d);}}function encode(_0xa589d4){const _0x1b4ffc={_0x29b8b8:0xdf4,_0x3b3b83:0x664};function _0x101fb4(_0x198fe8,_0xc582cb){return _0x2b6441(_0xc582cb,_0x198fe8-0x1b9);}function _0x26efdf(_0x1588ef,_0x50ea28){return _0x306755(_0x50ea28,_0x1588ef- -0x2c1);}return encodeURIComponent(_0xa589d4)['replace'](/%3A/gi,':')['replace'](/%24/g,'$')['replace'](/%2C/gi,',')[_0x26efdf(0xdf4,0x494)](/%20/g,'+')[_0x26efdf(_0x1b4ffc._0x29b8b8,0x6bd)](/%5B/gi,'[')[_0x26efdf(0xdf4,_0x1b4ffc._0x3b3b83)](/%5D/gi,']');}function trim$1(_0x46efcf){const _0x4f430e={_0x4a9756:0x3bd,_0x265ab1:0x4c1,_0x182212:0xb58},_0x42b2b7={_0x563374:0x5cb},_0x283c58={_0x39f5f1:0x2dd};function _0x4a5579(_0x41a837,_0x3145bd){return _0x306755(_0x41a837,_0x3145bd- -_0x283c58._0x39f5f1);}function _0xc9e45(_0x4f08b2,_0x5d31e3){return _0x306755(_0x4f08b2,_0x5d31e3- -_0x42b2b7._0x563374);}return _0x46efcf['trim']?_0x46efcf[_0x4a5579(-_0x4f430e._0x4a9756,_0x4f430e._0x265ab1)]():_0x46efcf[_0xc9e45(_0x4f430e._0x182212,0xaea)](/^\s+|\s+$/g,'');}function buildURL(_0xbdc906,_0x2916df,_0x6574c0){const _0x3973ff={_0x593236:0xe3,_0x5da064:0x186,_0x3bc295:0x23e},_0x46180f={_0x7e8ff3:0x267},_0x2105fd={_0x153175:0x143d,_0x1ee97b:0xbc7};if(!_0x2916df)return _0xbdc906;let _0x56dbd6;if(_0x6574c0)_0x56dbd6=_0x6574c0(_0x2916df);else{if(isURLSearchParams(_0x2916df))_0x56dbd6=_0x2916df['toString']();else{const _0x32fe70=[];forEach(_0x2916df,function _0x147463(_0x282dee,_0x30e621){if(_0x282dee===null||typeof _0x282dee==='undefined')return;Array['isArray'](_0x282dee)?_0x30e621=_0x30e621+'[]':_0x282dee=[_0x282dee],forEach(_0x282dee,function _0x726a5d(_0x16266a){const _0x45c34e={_0x1e02f6:0x37b};function _0x369ef7(_0x5321ab,_0x31764a){return _0x5bbe(_0x5321ab-0x34c,_0x31764a);}if(isDate(_0x16266a))_0x16266a=_0x16266a['toISOString']();else isObject$1(_0x16266a)&&(_0x16266a=JSON[_0x369ef7(_0x2105fd._0x153175,0x131b)](_0x16266a));function _0x44c6a2(_0x4c426f,_0x5f4fc9){return _0x5bbe(_0x4c426f-_0x45c34e._0x1e02f6,_0x5f4fc9);}_0x32fe70[_0x369ef7(0x772,_0x2105fd._0x1ee97b)](encode(_0x30e621)+'='+encode(_0x16266a));});}),_0x56dbd6=_0x32fe70['join']('&');}}function _0x3905e0(_0x402871,_0x1bbb7f){return _0x306755(_0x402871,_0x1bbb7f- -_0x46180f._0x7e8ff3);}if(_0x56dbd6){const _0x491021=_0xbdc906[_0x2b31d9(-0x899,-_0x3973ff._0x593236)]('#');_0x491021!==-0x1&&(_0xbdc906=_0xbdc906[_0x2b31d9(_0x3973ff._0x5da064,_0x3973ff._0x3bc295)](0x0,_0x491021)),_0xbdc906+=(_0xbdc906[_0x3905e0(-0x4bf,0x273)]('?')===-0x1?'?':'&')+_0x56dbd6;}function _0x2b31d9(_0x1af952,_0x4c86b0){return _0x2b6441(_0x1af952,_0x4c86b0- -0x1c);}return _0xbdc906;}const ignoreDuplicateOf=[_0x306755(-0x3c9,0x49a),'authorization','content-length','content-type','etag',_0x2b6441(0xb32,0x251),'from','host',_0x306755(0x114e,0x1753),'if-unmodified-since','last-modified','location','max-forwards',_0x306755(0x70c,0x119b),_0x306755(0x10e7,0xf57),'retry-after','user-agent'];function parseHeaders(_0x3818fe){const _0xdc834b={};function _0x1af51e(_0x355d5e,_0x22b33f){return _0x2b6441(_0x22b33f,_0x355d5e-0x20e);}let _0x7624ed,_0x59cc16,_0x1817c9;if(!_0x3818fe)return _0xdc834b;return forEach(_0x3818fe[_0x1af51e(0x1434,0xb2f)]('\x0a'),function _0x595a0f(_0x591c37){function _0x371c69(_0x44533e,_0x315fc7){return _0x1af51e(_0x315fc7- -0x179,_0x44533e);}_0x1817c9=_0x591c37[_0x371c69(0x4e9,-0x32)](':');function _0x394a9c(_0x26883e,_0x521ed4){return _0x1af51e(_0x521ed4- -0x23a,_0x26883e);}_0x7624ed=trim$1(_0x591c37['substr'](0x0,_0x1817c9))['toLowerCase'](),_0x59cc16=trim$1(_0x591c37['substr'](_0x1817c9+0x1));if(_0x7624ed){if(_0xdc834b[_0x7624ed]&&ignoreDuplicateOf['indexOf'](_0x7624ed)>=0x0)return;_0x7624ed==='set-cookie'?_0xdc834b[_0x7624ed]=(_0xdc834b[_0x7624ed]?_0xdc834b[_0x7624ed]:[])[_0x394a9c(0xed0,0x859)]([_0x59cc16]):_0xdc834b[_0x7624ed]=_0xdc834b[_0x7624ed]?_0xdc834b[_0x7624ed]+',\x20'+_0x59cc16:_0x59cc16;}}),_0xdc834b;}function settle(_0xc42e7c,_0x210600,_0x36646d){const _0x1f90ab={_0x5a614f:0xf4,_0x1b15f9:0x897,_0x1f1057:0x1174},_0x289d79={_0x41befb:0x13e},_0x3c37c0={_0x5837b6:0x2b};function _0x3e940b(_0x4dd4c7,_0x37e8da){return _0x306755(_0x4dd4c7,_0x37e8da-_0x3c37c0._0x5837b6);}function _0xe79efc(_0x52c2ed,_0x42175b){return _0x306755(_0x52c2ed,_0x42175b-_0x289d79._0x41befb);}!_0x36646d['status']||validateStatus(_0x36646d['status'])?_0xc42e7c(_0x36646d):_0x210600(createError(_0x3e940b(-_0x1f90ab._0x5a614f,_0x1f90ab._0x1b15f9)+_0x36646d['status'],_0x36646d[_0x3e940b(_0x1f90ab._0x1f1057,0xc88)],null,_0x36646d['request'],_0x36646d));}function validateStatus(_0x5bd0be){return _0x5bd0be>=0xc8&&_0x5bd0be<0x12c;}function createError(_0x26851f,_0x49eb8c,_0x518b91,_0x24a503,_0x4c757d){const _0xb381fc=new Error(_0x26851f);return enhanceError(_0xb381fc,_0x49eb8c,_0x518b91,_0x24a503,_0x4c757d);}function enhanceError(_0x1b6c45,_0x25c965,_0x45fcdb,_0x42c3a3,_0x4e8326){const _0x8ee0d4={_0xf1396f:0xd14,_0x3e6972:0x10ef,_0x357d6c:0x1252},_0x2e0746={_0xc33d84:0x666,_0x53e749:0x108d,_0xffd76f:0x5ae,_0x357c7d:0x3e2,_0x5e149b:0x7ae,_0x3c50ee:0x9dc,_0x3bd743:0x14e8,_0x1e2071:0xd0d,_0x1876af:0x1372,_0x4d2071:0xc65,_0x274d20:0x117b},_0x4e6e87={_0x1604b5:0x2e4},_0x456f4f={_0x3f0da0:0x658};_0x1b6c45[_0x476416(_0x8ee0d4._0xf1396f,0xf66)]=_0x25c965;_0x45fcdb&&(_0x1b6c45['code']=_0x45fcdb);function _0x476416(_0x347a51,_0x1bbbed){return _0x2b6441(_0x1bbbed,_0x347a51-_0x456f4f._0x3f0da0);}_0x1b6c45['request']=_0x42c3a3,_0x1b6c45[_0x48ee98(0x11c4,_0x8ee0d4._0x3e6972)]=_0x4e8326;function _0x48ee98(_0x4d9f94,_0x167301){return _0x306755(_0x167301,_0x4d9f94-0xc2);}return _0x1b6c45['isAxiosError']=!![],_0x1b6c45[_0x48ee98(0xbcc,_0x8ee0d4._0x357d6c)]=function _0x254988(){const _0x3ee594={};_0x3ee594['message']=this['message'],_0x3ee594['name']=this[_0x5e78a3(_0x2e0746._0xc33d84,_0x2e0746._0x53e749)],_0x3ee594['description']=this[_0x5e78a3(0xbf4,_0x2e0746._0xffd76f)],_0x3ee594['number']=this[_0x1522fa(0xeb6,_0x2e0746._0x357c7d)];function _0x5e78a3(_0x1eab04,_0x3becc6){return _0x476416(_0x1eab04- -_0x4e6e87._0x1604b5,_0x3becc6);}_0x3ee594['fileName']=this[_0x1522fa(_0x2e0746._0x5e149b,_0x2e0746._0x3c50ee)];function _0x1522fa(_0x43ea3f,_0x5d4f18){return _0x476416(_0x43ea3f- -0x3e,_0x5d4f18);}return _0x3ee594[_0x5e78a3(_0x2e0746._0x3bd743,0x1709)]=this['lineNumber'],_0x3ee594[_0x1522fa(_0x2e0746._0x1e2071,_0x2e0746._0x1876af)]=this['columnNumber'],_0x3ee594['stack']=this['stack'],_0x3ee594['options']=this['options'],_0x3ee594[_0x1522fa(0x722,0x94d)]=this['code'],_0x3ee594[_0x1522fa(0xd25,_0x2e0746._0x4d2071)]=this['response']&&this[_0x1522fa(_0x2e0746._0x274d20,0x1826)]['status']?this['response']['status']:null,_0x3ee594;},_0x1b6c45;}function transformResponse(_0x31b8f4,_0x478d80){if(isString$1(_0x478d80)&&_0x478d80['length'])try{return JSON['parse'](_0x478d80);}catch(_0x3b86df){}return _0x478d80;}const _0x172e43={};_0x172e43['type']='cn',_0x172e43[_0x306755(0x20b5,0x1845)]='WebGL发生渲染错误,渲染已经停止,请刷新页面。',_0x172e43['ErrorConstructingCesiumWidget']='WebGL发生渲染错误,渲染已经停止,请刷新页面。',_0x172e43[_0x2b6441(0x1ad7,0x1045)]='今天',_0x172e43[_0x306755(0x1aa2,0x10b6)]=_0x2b6441(0x54f,0x111),_0x172e43['Pause']='暂停',_0x172e43['PlayReverse']='后退播放',_0x172e43[_0x2b6441(-0x852,0x14)]='前进播放',_0x172e43[_0x306755(0x17a4,0x1546)]='当前时间不在范围内',_0x172e43['Imagery']='影像',_0x172e43['CesiumIon']='官方ION',_0x172e43[_0x2b6441(0x1894,0xe41)]='其他',_0x172e43[_0x2b6441(0x1396,0x120e)]='地形服务',_0x172e43['EllipsoidTerrainProvider']='无地形',_0x172e43['EllipsoidTerrainProviderTooltip']='WGS84标准椭球体,没有地形数据',_0x172e43['TerrainProvider']='有地形',_0x172e43[_0x306755(0xc78,0xe96)]='提供的高精度的DEM地形服务',_0x172e43[_0x2b6441(0xa65,0x8a1)]='全屏',_0x172e43['ExitFullScreen']='退出全屏',_0x172e43['FullScreenUnavailable']=_0x2b6441(0x14ed,0x11c2),_0x172e43[_0x2b6441(0x18ba,0x109a)]=_0x2b6441(0x14a,0x629),_0x172e43['Searching']='查询中...',_0x172e43['ViewHome']='初始视图',_0x172e43['NavigationInstructions']='帮助',_0x172e43[_0x306755(0xc57,0xf81)]=_0x2b6441(0x9b,0x216),_0x172e43['Touch']=_0x2b6441(0xf13,0xd64),_0x172e43[_0x2b6441(-0xe8,-0x10f)]='平移视图',_0x172e43['LeftClickDrag']=_0x306755(0x16e7,0x175a),_0x172e43['ZoomView']=_0x306755(0x1329,0xa12),_0x172e43['RightClick']=_0x306755(0xa50,0x76c),_0x172e43['MouseWheelScroll']='中键滚动',_0x172e43['RotateView']=_0x306755(0xc4d,0x66e),_0x172e43[_0x2b6441(0xea3,0x67b)]=_0x2b6441(0x70e,0x10f6),_0x172e43[_0x306755(0x11b1,0x19fa)]='按Ctrl键\x20同时\x20左/右键拖拽',_0x172e43[_0x306755(0x1afa,0x1336)]=_0x306755(0xd1c,0x139d),_0x172e43['TwoFingerPinch']=_0x306755(0x1062,0x1041),_0x172e43[_0x306755(0x11aa,0x1047)]='倾斜视图',_0x172e43['TwoFingerDragSameDirection']=_0x2b6441(0xf53,0xeb4),_0x172e43['TwoFingerDragOppositeDirection']='双指按相反方向拖动',_0x172e43['PerspectiveProjection']='透视投影',_0x172e43[_0x2b6441(0x38c,0x1bf)]=_0x306755(0x1191,0x185f),_0x172e43['_2D']=_0x306755(0x62c,0xd3a),_0x172e43[_0x2b6441(-0x245,0x784)]=_0x2b6441(0xa65,0x14e),_0x172e43['ColumbusView']=_0x306755(0xd2b,0xd0b),_0x172e43['EnterVRMode']='进入VR模式',_0x172e43[_0x306755(0x48d,0xce1)]='退出VR模式',_0x172e43['VRModeIsUnavailable']='VR模式不可用',_0x172e43['_放大']='放大',_0x172e43['_缩小']='缩小',_0x172e43['_暂停']='暂停',_0x172e43['_继续']='继续',_0x172e43['_导航球']=_0x2b6441(0x1928,0x1194),_0x172e43['_拖拽调整俯仰角']='拖拽调整俯仰角',_0x172e43['_拖拽调整四周方向角']=_0x306755(0x3ac,0x89a),_0x172e43['_查看此处坐标']=_0x2b6441(0x9c3,0xbac),_0x172e43[_0x306755(0x17f1,0xf5d)]='位置信息',_0x172e43['_经度']='经度',_0x172e43['_纬度']='纬度',_0x172e43[_0x306755(0x1578,0x188e)]='高程',_0x172e43[_0x306755(0x1e2d,0x1608)]=_0x2b6441(0x330,0x967),_0x172e43[_0x306755(0xdb4,0x14ab)]=_0x306755(0x9ef,0xbcf),_0x172e43[_0x306755(0xf51,0x11f4)]='查看当前视角',_0x172e43[_0x2b6441(0x184,0xbdf)]='当前视角信息',_0x172e43['_视角切换']='视角切换',_0x172e43['_禁止进入地下']=_0x306755(0x17aa,0xd4b),_0x172e43['_允许进入地下']='允许进入地下',_0x172e43['_绕此处环绕飞行']=_0x306755(0x740,0x6c2),_0x172e43[_0x306755(0x1c19,0x19ad)]='关闭环绕飞行',_0x172e43['_移动到此处']='移动到此处',_0x172e43['_第一视角站到此处']=_0x306755(0x33a,0x9a2),_0x172e43[_0x306755(0x10c6,0x705)]=_0x2b6441(0x8ba,0x75),_0x172e43['_关闭键盘漫游']=_0x2b6441(0x602,0x730),_0x172e43['_跟踪锁定']=_0x306755(0x43b,0x53a),_0x172e43['_取消锁定']='取消锁定',_0x172e43[_0x2b6441(-0x9a9,-0xd)]=_0x306755(0xbdf,0x1120),_0x172e43['_显示三角网']=_0x306755(0x220,0x46c),_0x172e43['_关闭三角网']=_0x306755(0xff0,0xae6),_0x172e43['_显示包围盒']=_0x2b6441(0x89b,0xc58),_0x172e43['_关闭包围盒']=_0x2b6441(0x12a,0x9ec),_0x172e43['_地形服务']='地形服务',_0x172e43[_0x306755(0xea3,0x1020)]=_0x306755(0xc9,0x934),_0x172e43[_0x306755(0x1c35,0x19e3)]='关闭地形',_0x172e43[_0x306755(0x117b,0x11d9)]=_0x306755(0x2026,0x15c8),_0x172e43[_0x306755(0xccb,0xf79)]=_0x306755(0x5c2,0xd93),_0x172e43[_0x2b6441(-0x8c0,0x1c3)]='标记线',_0x172e43[_0x306755(0x1521,0x189c)]='标记面',_0x172e43['_标记圆']=_0x2b6441(0x13f1,0xb24),_0x172e43[_0x306755(0x14b4,0x17c5)]='标记矩形',_0x172e43['_允许编辑']='允许编辑',_0x172e43[_0x2b6441(-0x1b8,0x7a6)]=_0x2b6441(-0x11d,0x4cd),_0x172e43['_导出文件']=_0x2b6441(0x11f8,0xa5b),_0x172e43[_0x306755(0x2111,0x1929)]='导入文件',_0x172e43['_清除标记']='清除标记',_0x172e43['_特效效果']='特效效果',_0x172e43['_开启下雨']='开启下雨',_0x172e43['_关闭下雨']='关闭下雨',_0x172e43['_开启下雪']=_0x2b6441(0x6f5,0x9ba),_0x172e43[_0x2b6441(-0x153,0x2e2)]='关闭下雪',_0x172e43[_0x306755(0x19bc,0x16db)]=_0x2b6441(0xccf,0x108d),_0x172e43[_0x306755(0x1adb,0x10b2)]=_0x2b6441(0x3e3,0x1ac),_0x172e43['_开启泛光']=_0x2b6441(-0x2df,0xfa),_0x172e43[_0x2b6441(0xc86,0x29e)]='关闭泛光',_0x172e43[_0x306755(0x22db,0x18aa)]=_0x2b6441(0x132,-0x3f),_0x172e43['_关闭亮度']='关闭亮度',_0x172e43[_0x2b6441(0xb79,0x126b)]='开启夜视',_0x172e43['_关闭夜视']='关闭夜视',_0x172e43['_开启黑白']='开启黑白',_0x172e43[_0x306755(0xc74,0x12db)]='关闭黑白',_0x172e43[_0x306755(0x150f,0x11b6)]=_0x2b6441(0x12a5,0xa4d),_0x172e43['_关闭拾取高亮']=_0x306755(0x1c24,0x17ac),_0x172e43[_0x2b6441(0x1762,0xca4)]='场景设置',_0x172e43[_0x2b6441(0x48e,0xd3d)]='开启深度监测',_0x172e43['_关闭深度监测']='关闭深度监测',_0x172e43[_0x2b6441(-0x25,0x6f5)]='显示星空背景',_0x172e43['_关闭星空背景']=_0x306755(0x1c14,0x11cc),_0x172e43[_0x306755(0x1273,0xdea)]=_0x2b6441(0xe23,0x8fd),_0x172e43[_0x2b6441(0x1288,0xc26)]='关闭日照阴影',_0x172e43[_0x2b6441(0xeef,0x56b)]='开启大气渲染',_0x172e43['_关闭大气渲染']=_0x2b6441(0x1404,0x140a),_0x172e43['_场景出图']='场景出图',_0x172e43[_0x2b6441(0xb6,0x334)]='图上量算',_0x172e43[_0x2b6441(-0x407,0x642)]=_0x2b6441(0xcc2,0x1364),_0x172e43['_角度']='角度',_0x172e43['_距离']='距离',_0x172e43[_0x2b6441(0x121e,0x9a1)]='面积',_0x172e43['_总长']='总长',_0x172e43['_起点']='起点',_0x172e43['_高度差']=_0x306755(0x5d7,0x485),_0x172e43['_空间距离']=_0x306755(0xe34,0xe41),_0x172e43[_0x2b6441(0x18c7,0xf0c)]='水平距离',_0x172e43[_0x306755(0x19ea,0x12dc)]=_0x306755(0x6dd,0xa92),_0x172e43['_填方体积']='填方体积',_0x172e43[_0x2b6441(0x2cd,0x9ac)]='挖方体积',_0x172e43['_横切面积']='横切面积',_0x172e43[_0x2b6441(0x750,0xacc)]='面上',_0x172e43['_面下']='面下',_0x172e43['_米']='米',_0x172e43['_公里']='公里',_0x172e43['_万米']='万米',_0x172e43['_海里']='海里',_0x172e43['_丈']='丈',_0x172e43[_0x306755(0x749,0xce2)]='平方米',_0x172e43['_平方公里']=_0x306755(0x5c7,0xd1b),_0x172e43['_亩']='亩',_0x172e43[_0x2b6441(0xff6,0xff7)]='公顷';function _0x306755(_0xab05ee,_0x2dddc6){return _0x5bbe(_0x2dddc6-0x273,_0xab05ee);}_0x172e43[_0x306755(0xc3f,0x984)]='方',_0x172e43[_0x2b6441(0x29e,0x37d)]='万方',_0x172e43['_秒']='秒',_0x172e43['_分钟']='分钟',_0x172e43['_小时']='小时',_0x172e43[_0x2b6441(-0x4af,0x373)]='单击开始绘制',_0x172e43['_单击完成绘制']='单击完成绘制',_0x172e43['_双击完成绘制']='双击完成绘制',_0x172e43['_单击增加点']=_0x2b6441(0x1012,0xf7c),_0x172e43['_右击删除点']='右击删除点',_0x172e43['_单击后激活编辑']='单击后激活编辑',_0x172e43[_0x306755(0xec8,0x152b)]='右击菜单删除',_0x172e43[_0x306755(-0x3c2,0x591)]='更多功能请右击',_0x172e43['_停止编辑']='停止编辑',_0x172e43['_删除该点']='删除该点',_0x172e43['_按轴平移']=_0x2b6441(0xa9b,0x9d7),_0x172e43['_停止按轴平移']='停止按轴平移',_0x172e43['_按轴旋转']='按轴旋转',_0x172e43['_停止按轴旋转']='停止按轴旋转',_0x172e43['_调整比例']=_0x306755(0x1278,0x102c),_0x172e43['_停止调整比例']=_0x2b6441(-0x1e9,0x524),_0x172e43['_释放后完成修改']='释放后完成修改',_0x172e43['_该对象不允许编辑']='该对象不允许编辑',_0x172e43['_拖动该点后']=_0x2b6441(0xd9c,0x5bf),_0x172e43['_拖动对象后']='拖动对象后',_0x172e43['_修改位置']='修改位置',_0x172e43[_0x2b6441(0xffb,0xcc1)]='整体平移',_0x172e43['_增加点']='增加点',_0x172e43[_0x306755(-0x22e,0x580)]='修改高度',_0x172e43['_修改半径']=_0x2b6441(0x550,0x6fe),_0x172e43[_0x306755(0xab9,0x9a3)]='修改长度(X方向)',_0x172e43[_0x2b6441(-0x286,0x49e)]='修改宽度(Y方向)',_0x172e43['_修改方向']='修改方向',_0x172e43['_修改缩放比例']='修改缩放比例',_0x172e43['_无法删除不能少于最小点数']='无法删除,点数量不能少于',_0x172e43['_删除']='删除',_0x172e43['_半径']='半径',_0x172e43[_0x2b6441(0xb58,0xfc8)]='加载模型中,请稍等…';const Lang=_0x172e43;function getLangText(_0x38a764){return Lang[_0x38a764];}const _0x5d6b05={};_0x5d6b05['WGS84']=_0x306755(0x19ef,0x10b7),_0x5d6b05['GCJ02']='GCJ02',_0x5d6b05['BAIDU']=_0x306755(0xcea,0x13bd);const ChinaCRS=_0x5d6b05;function pick3DTileset(_0x9d8022,_0x67b7ea){const _0x3bab80={_0x270f81:0x819,_0x295335:0xe3,_0x296222:0x679,_0x2a3ae1:0x2c5},_0x416e6a={_0x11ce7b:0x49b},_0x36164d={_0x45f62d:0x399};if(!_0x67b7ea)return null;_0x67b7ea instanceof Cesium__namespace[_0x1c28c6(_0x3bab80._0x270f81,_0x3bab80._0x295335)]&&(_0x67b7ea=[_0x67b7ea]);for(let _0x580de0=0x0,_0x39c3d0=_0x67b7ea['length'];_0x580de0<_0x39c3d0;++_0x580de0){const _0x274cb1=_0x67b7ea[_0x580de0],_0x4bd17e=toWindowCoordinates(_0x9d8022,_0x274cb1);if(!Cesium__namespace['defined'](_0x4bd17e))continue;const _0x2f117d=_0x9d8022[_0x406075(_0x3bab80._0x296222,-0x3c6)](_0x4bd17e,0xa,0xa);if(Cesium__namespace['defined'](_0x2f117d)&&Cesium__namespace['defined'](_0x2f117d['primitive'])&&_0x2f117d[_0x1c28c6(0x550,-_0x3bab80._0x2a3ae1)]['isCesium3DTileset'])return _0x2f117d['primitive'];}function _0x1c28c6(_0x5eff61,_0x209980){return _0x2b6441(_0x209980,_0x5eff61-_0x36164d._0x45f62d);}function _0x406075(_0x3a1adb,_0x7bfe42){return _0x306755(_0x7bfe42,_0x3a1adb- -_0x416e6a._0x11ce7b);}return null;}function toWindowCoordinates(_0x75c996,_0x47d0e1,_0x58f999){const _0x32501b={_0x1bbefd:0x621,_0x1dee02:0x855,_0x130015:0x9e9},_0x13493d={_0x47cb31:0x1fa};function _0x3fea82(_0xea9b9e,_0x2f49f0){return _0x2b6441(_0xea9b9e,_0x2f49f0-_0x13493d._0x47cb31);}if(Cesium__namespace['SceneTransforms']['worldToWindowCoordinates'])return Cesium__namespace[_0x5046e1(_0x32501b._0x1bbefd,0x9e9)]['worldToWindowCoordinates'](_0x75c996,_0x47d0e1,_0x58f999);function _0x5046e1(_0x2d5cfc,_0x1d5d02){return _0x2b6441(_0x2d5cfc,_0x1d5d02-0x704);}if(Cesium__namespace[_0x5046e1(_0x32501b._0x1dee02,_0x32501b._0x130015)]['wgs84ToWindowCoordinates'])return Cesium__namespace['SceneTransforms']['wgs84ToWindowCoordinates'](_0x75c996,_0x47d0e1,_0x58f999);return new Cesium__namespace[(_0x5046e1(0xf7d,0x64f))](0x0,0x0);}class SurfacePoint{constructor(_0x523c83){const _0x2f9323={_0xeb4a94:0xcfc,_0x25f1fa:0x12ed,_0x1574de:0x835,_0x31e1d0:0x1ff};function _0x295765(_0x238e48,_0x2950b1){return _0x306755(_0x2950b1,_0x238e48-0xf6);}this['options']=_0x523c83,this['scene']=_0x523c83['map']?_0x523c83[_0x295765(0x88a,0xd1)]['scene']:_0x523c83[_0x3da6aa(0x7fd,0x347)];function _0x3da6aa(_0x230210,_0x6b959b){return _0x2b6441(_0x6b959b,_0x230210-0x339);}!this[_0x3da6aa(0x7fd,_0x2f9323._0xeb4a94)]&&logError('SurfacePoint:\x20请传入scene参数',this['options']),this['_point']=LngLatPoint[_0x3da6aa(0x1568,0x1416)](_0x523c83[_0x295765(_0x2f9323._0x25f1fa,0x13a2)]),this[_0x3da6aa(0x835,0x98e)]&&(this['_position']=this['_point']['toCartesian'](),this['_cartographic']=this['_point']['toCartographic'](),this['_height_original']=this[_0x3da6aa(_0x2f9323._0x1574de,0x2f9)][_0x3da6aa(_0x2f9323._0x31e1d0,0x790)]);}async[_0x306755(0x10dd,0xb58)](){const _0x416ea2={_0x4796b2:0x7b3,_0x1773e0:0xaea,_0x7777ac:0xe03,_0x13f816:0x8e4,_0x38ad63:0xe0c,_0x42d313:0x4f8,_0x18be83:0x214,_0xdbf3e5:0x876,_0x76c92d:0x1349,_0x147b79:0x4b2,_0x18acaa:0x418,_0x521047:0xe0c,_0x16fbfe:0x7a0,_0xc5dcd9:0x876,_0x432767:0x8d2,_0x333d15:0x1214,_0x219a7c:0x56c,_0xae2f7a:0xf8,_0x500771:0x940},_0xfcee71={_0x236a94:0x3e7},_0x512720={_0x2342da:0x2ef};if(!this['_point'])return this['getResult']();this[_0x493f85(-0x183,_0x416ea2._0x4796b2)][_0x493f85(0xc4e,_0x416ea2._0x1773e0)]&&await this['scene']['_terrainProviderPromise'];function _0x493f85(_0x22fb1d,_0x42569b){return _0x2b6441(_0x22fb1d,_0x42569b-_0x512720._0x2342da);}const _0x2fdc04=this['options']['has3dtiles']??Cesium__namespace['defined'](pick3DTileset(this['scene'],this['_position'])),_0x4efbd4=!(this['scene']['terrainProvider']instanceof Cesium__namespace[_0x11fe9e(_0x416ea2._0x7777ac,0xcf1)]);this['_has3dtiles']=_0x2fdc04;function _0x11fe9e(_0x16ebb9,_0x4730ab){return _0x306755(_0x16ebb9,_0x4730ab- -_0xfcee71._0x236a94);}this['_hasTerrain']=_0x4efbd4;if(!_0x4efbd4&&!_0x2fdc04)return this[_0x11fe9e(_0x416ea2._0x13f816,_0x416ea2._0x38ad63)]();if(_0x2fdc04){const _0x5aaf04=await this[_0x11fe9e(0x5ca,0x67e)][_0x11fe9e(-_0x416ea2._0x42d313,_0x416ea2._0x18be83)]([this['_position']['clone']()],this[_0x11fe9e(0x1d9,0x876)]['objectsToExclude'],this[_0x11fe9e(0x600,_0x416ea2._0xdbf3e5)][_0x11fe9e(0xff3,0x804)]);if(_0x5aaf04[_0x493f85(0x1c92,_0x416ea2._0x76c92d)]>0x0){const _0x49df64=_0x5aaf04[0x0];if(Cesium__namespace['defined'](_0x49df64)){const _0x26dd43=Cesium__namespace[_0x493f85(0x2a5,0x657)][_0x11fe9e(-_0x416ea2._0x147b79,0x608)](_0x49df64),_0x2e9a74=_0x26dd43===null||_0x26dd43===void 0x0?void 0x0:_0x26dd43['height'];if(Cesium__namespace['defined'](_0x2e9a74)&&parseInt(_0x2e9a74)!==0x0&&_0x2e9a74>-0x3e8)return this[_0x11fe9e(_0x416ea2._0x18acaa,_0x416ea2._0x521047)](_0x2e9a74);}}else{const _0x90da7e=this['scene']['sampleHeight'](this['_cartographic'],this[_0x11fe9e(_0x416ea2._0x16fbfe,_0x416ea2._0xc5dcd9)][_0x11fe9e(0x1cfd,0x150a)],this['options'][_0x11fe9e(0x3c2,0x804)]);if(Cesium__namespace['defined'](_0x90da7e)&&_0x90da7e>-0x3e8)return this['getResult'](_0x90da7e);}}if(this['_hasTerrain']){let _0x2f80ee;try{var _0x12d706;(_0x12d706=this['scene']['terrainProvider'])!==null&&_0x12d706!==void 0x0&&_0x12d706['availability']&&(_0x2f80ee=await Cesium__namespace['sampleTerrainMostDetailed'](this['scene']['terrainProvider'],[this['_cartographic']]));}catch(_0x238efd){logWarn('SurfacePoint:贴地形高度计算失败',_0x238efd);}if(_0x2f80ee&&_0x2f80ee[_0x11fe9e(_0x416ea2._0x432767,_0x416ea2._0x333d15)]>0x0){const _0x5a5aec=_0x2f80ee[0x0];if(Cesium__namespace[_0x11fe9e(0x15fd,0x13cb)](_0x5a5aec)&&Cesium__namespace['defined'](_0x5a5aec[_0x493f85(_0x416ea2._0x219a7c,0x940)]))return this['getResult'](_0x5a5aec[_0x493f85(-_0x416ea2._0xae2f7a,_0x416ea2._0x500771)]);}else return this['getResult'](this['scene']['globe']['getHeight'](this[_0x493f85(0xb06,0x1d8)])||0x0);}return this['getResult']();}['getResult'](_0xf6c83a=0x0){const _0x203fa4={_0x1d6e08:0xc6a,_0xa8cfbc:0xd04,_0x2e56e2:0xdaf,_0x4b02da:0x146},_0x4f08cf={_0x5efd06:0xa7};function _0x54b8cf(_0x5f3be6,_0x7189a7){return _0x2b6441(_0x7189a7,_0x5f3be6-0x46d);}function _0x18341a(_0x56ae8d,_0x4fe329){return _0x306755(_0x56ae8d,_0x4fe329-_0x4f08cf._0x5efd06);}return this['options']['callback']&&this[_0x18341a(_0x203fa4._0x1d6e08,_0x203fa4._0xa8cfbc)]['callback'](_0xf6c83a),this['_point']['alt']=_0xf6c83a,{'height':_0xf6c83a,'height_original':this[_0x18341a(_0x203fa4._0x2e56e2,0xb3a)],'point':this[_0x18341a(_0x203fa4._0x4b02da,0xb44)],'position':Cesium__namespace['Cartesian3']['fromRadians'](this['_cartographic']['longitude'],this['_cartographic'][_0x54b8cf(0xe9f,0x406)],_0xf6c83a),'position_original':this['_position'],'has3dtiles':this['_has3dtiles'],'hasTerrain':this[_0x18341a(0x3fc,0xb2c)]};}}class VertexAdsorption{constructor(_0x5e5f91){const _0x68941a={_0x417625:0x890,_0x1e32ce:0x12c7,_0x11b411:0x2e4,_0x3c1162:0x5d9,_0x3d2077:0x132b};this['_scene']=_0x5e5f91;const _0xc2f979={};_0xc2f979['scene']=_0x5e5f91,this['_billboardCollection']=new Cesium__namespace['BillboardCollection'](_0xc2f979),_0x5e5f91['primitives'][_0x41d87d(0xa7e,0xa1c)](this[_0x41d87d(0x1c4,0x334)]);function _0x34b363(_0x2221da,_0x7caecb){return _0x306755(_0x7caecb,_0x2221da- -0x46c);}this[_0x41d87d(0xbda,_0x68941a._0x417625)]=new Cesium__namespace['Picking'](_0x5e5f91),this['_canvas']=document[_0x34b363(0xff0,_0x68941a._0x1e32ce)](_0x34b363(_0x68941a._0x11b411,-_0x68941a._0x3c1162)),this['_canvas']['width']=0x80;function _0x41d87d(_0x4636eb,_0x5e32ac){return _0x2b6441(_0x5e32ac,_0x4636eb-0x2f1);}this[_0x34b363(_0x68941a._0x3d2077,0xd45)]['height']=0x80;const _0x335700=this['_canvas']['getContext']('2d');_0x335700['fillStyle']='red',_0x335700['fillRect'](0x0,0x0,0x80,0x80),_0x335700['clearRect'](0x8,0x8,0x70,0x70);}['pick'](_0x158001,_0x617c0f,_0x3c60d5){const _0x259a0d={_0x4a1b34:0x14db,_0x312753:0x177a};this['clear']();function _0x11cab9(_0xe5b46,_0x1f2ddc){return _0x2b6441(_0xe5b46,_0x1f2ddc-0x584);}function _0x40c440(_0x4a46b3,_0x561b27){return _0x306755(_0x561b27,_0x4a46b3- -0x2b2);}if(this['_scene']['camera'][_0x40c440(0xafa,0x2e2)]['height']<0xf4240){const _0x5caa96=getRayIntersectingPositions$2(this[_0x40c440(_0x259a0d._0x4a1b34,0x1c4e)],this['_picking'],_0x158001,_0x617c0f,_0x3c60d5);if(_0x5caa96)return this['_billboardCollection']['add']({'image':this[_0x11cab9(0x10aa,_0x259a0d._0x312753)],'position':_0x5caa96,'disableDepthTestDistance':Number['POSITIVE_INFINITY'],'scale':0.15}),_0x5caa96;}}['clear'](){this['_billboardCollection']&&this['_billboardCollection']['removeAll']();}[_0x2b6441(0xe6c,0x9ee)](){this['_scene']['primitives']['remove'](this['_billboardCollection']),this['_picking'][_0x704238(0x979,-0x43)]();function _0x704238(_0x587bb7,_0x244114){return _0x306755(_0x244114,_0x587bb7- -0x616);}Cesium__namespace['destroyObject'](this);}}const pickTilesetPassState$1=new Cesium__namespace['Cesium3DTilePassState']({'pass':Cesium__namespace['Cesium3DTilePass'][_0x306755(0x1ea1,0x1563)]}),scratchRectangle$1=new Cesium__namespace[(_0x306755(0x14b7,0xd38))](0x0,0x0,0x3,0x3),scratchColorZero$1=new Cesium__namespace[(_0x2b6441(0xb9e,0x993))](0x0,0x0,0x0,0x0),scratchPackedDepth=new Cesium__namespace['Cartesian4'](),packedDepthScale$1=new Cesium__namespace['Cartesian4'](0x1,0x1/0xff,0x1/0xfe01,0x1/0xfd02ff),scratchPosition$1=new Cesium__namespace[(_0x2b6441(-0xa3d,-0xb5))]();function changeCommand(_0x3c9927,_0x1cf409,_0x357b40){const _0x3a2ee7={_0x4408a4:0x3d1,_0x1a980c:0x17ca,_0x4ec501:0x172a,_0x1d989c:0x5fa,_0x111c8a:0x984,_0x2494d6:0xddc,_0x5470d4:0xf69,_0x1f95f4:0x118,_0x545fad:0xaee,_0x1ee1d6:0x12d3,_0xe2a4d7:0xee9,_0x475d93:0x1129,_0x493b05:0x1248,_0x110120:0x781,_0x54dd89:0x102,_0x842782:0x1272,_0x36da3f:0xa25,_0x53c51e:0xbf1,_0x2c446d:0x14ae},_0xd7298={_0x2d8c06:0x3fa},_0x442e53={_0x33a1e5:0x60f};_0x3c9927['oldPrimitiveType']=_0x3c9927['primitiveType'],_0x3c9927['primitiveType']=Cesium__namespace['PrimitiveType']['POINTS'],_0x3c9927[_0x402c8d(0x5e3,_0x3a2ee7._0x4408a4)]=_0x3c9927['shaderProgram'];const _0xfb9ecc=_0x3c9927[_0x402c8d(_0x3a2ee7._0x1a980c,_0x3a2ee7._0x4ec501)],_0x490ef5=_0xfb9ecc['vertexShaderSource']['clone']();if(_0x490ef5['sources']['some'](_0x391b57=>_0x391b57['includes']('czm_vertexPick_main')))return!![];_0x490ef5['sources']=_0x490ef5['sources']['map'](_0x736e99=>Cesium__namespace[_0x511e4c(0x439,0xeb7)]['replaceMain'](_0x736e99,'czm_vertexPick_main'));const _0x2748e1=_0x402c8d(0x319,0x26f);_0x490ef5['sources']['push'](_0x2748e1);const _0x5c4ffe={},_0x500617=_0xfb9ecc['vertexAttributes'];for(const _0x58eee4 in _0x500617){_0x500617[_0x402c8d(_0x3a2ee7._0x1d989c,_0x3a2ee7._0x111c8a)](_0x58eee4)&&(_0x5c4ffe[_0x58eee4]=_0x500617[_0x58eee4]['index']);}const _0x24a02f={};_0x24a02f['context']=_0x1cf409,_0x24a02f['vertexShaderSource']=_0x490ef5,_0x24a02f[_0x402c8d(_0x3a2ee7._0x2494d6,0x521)]=_0xfb9ecc['fragmentShaderSource'],_0x24a02f[_0x511e4c(0x795,0xc5d)]=_0x5c4ffe,_0x3c9927['shaderProgram']=Cesium__namespace['ShaderProgram']['fromCache'](_0x24a02f),_0x3c9927[_0x511e4c(_0x3a2ee7._0x5470d4,0x1097)]=_0x3c9927[_0x511e4c(0x745,-_0x3a2ee7._0x1f95f4)];const _0x27b853=Cesium__namespace['RenderState']['getState'](_0x3c9927['oldRenderState']);_0x27b853['depthTest']['enabled']=!![],_0x27b853['colorMask']['red']=!![];function _0x511e4c(_0xfe0321,_0x342c0c){return _0x306755(_0xfe0321,_0x342c0c- -_0x442e53._0x33a1e5);}_0x27b853['colorMask'][_0x511e4c(-0xdd,0x7bf)]=!![],_0x27b853['colorMask'][_0x511e4c(_0x3a2ee7._0x545fad,_0x3a2ee7._0x1ee1d6)]=!![],_0x27b853['colorMask'][_0x511e4c(_0x3a2ee7._0xe2a4d7,0xf90)]=!![],_0x27b853[_0x511e4c(0x1635,0x100e)][_0x402c8d(_0x3a2ee7._0x475d93,_0x3a2ee7._0x493b05)]=!![];function _0x402c8d(_0x1b68a6,_0x3ef141){return _0x2b6441(_0x3ef141,_0x1b68a6-_0xd7298._0x2d8c06);}_0x27b853['scissorTest']['rectangle']=Cesium__namespace[_0x511e4c(_0x3a2ee7._0x110120,0x729)][_0x511e4c(-_0x3a2ee7._0x54dd89,0x2f9)](_0x357b40,_0x27b853['scissorTest'][_0x402c8d(_0x3a2ee7._0x842782,_0x3a2ee7._0x36da3f)]),_0x3c9927['renderState']=Cesium__namespace[_0x402c8d(0x3ac,_0x3a2ee7._0x53c51e)][_0x402c8d(_0x3a2ee7._0x2c446d,0x1c3d)](_0x27b853);}function restoreCommand(_0x2af686){const _0x5b515c={_0x2380a7:0x12f9,_0xf938e6:0xdcc,_0x1da4f0:0x1584,_0x3eb882:0x15c3,_0xb42766:0x487,_0x307f57:0x3a4,_0x549d21:0x96b},_0x1e6e24={_0xa2bca5:0x1bb},_0x3ca5f7={_0x39cdfe:0x3ae};function _0x163737(_0x8d3600,_0x529dae){return _0x306755(_0x8d3600,_0x529dae- -_0x3ca5f7._0x39cdfe);}Cesium__namespace[_0x163737(_0x5b515c._0x2380a7,0x1404)](_0x2af686[_0x163737(_0x5b515c._0xf938e6,0x102f)])&&(_0x2af686['primitiveType']=_0x2af686[_0x163737(0x1790,0x102f)],delete _0x2af686[_0x6b2c75(0x17ca,0xff7)]);function _0x6b2c75(_0xbd4942,_0xb1192c){return _0x2b6441(_0xbd4942,_0xb1192c-_0x1e6e24._0xa2bca5);}Cesium__namespace['defined'](_0x2af686[_0x6b2c75(-0x58c,0x3a4)])&&(_0x2af686[_0x163737(_0x5b515c._0x1da4f0,_0x5b515c._0x3eb882)]=_0x2af686[_0x6b2c75(_0x5b515c._0xb42766,0x3a4)],delete _0x2af686[_0x6b2c75(-0x182,_0x5b515c._0x307f57)]),Cesium__namespace[_0x6b2c75(0x1a44,0x13cc)](_0x2af686[_0x6b2c75(0xaab,0x12c0)])&&(_0x2af686[_0x6b2c75(_0x5b515c._0x549d21,0x111)]=_0x2af686[_0x6b2c75(0x164b,0x12c0)],delete _0x2af686['oldRenderState']);}function getRayIntersectingPositions$2(_0x320d88,_0xc6b4f9,_0x37f4e6,_0x2b2011,_0xacede4){const _0x2cc9e8={_0x4d73b5:0xbb8,_0x29dd1f:0x355,_0x533baa:0x82b,_0x2132c9:0xcd1,_0xa3ba48:0x1486,_0xc3805c:0x13e3,_0x4f800d:0x15a7,_0x35db6e:0x12c2,_0x5130f0:0x11ff,_0x516bf3:0x325,_0x128d4b:0xa07,_0x1bee22:0x615,_0x1729ae:0xae5,_0x2aa1e3:0x7ef,_0x1442d8:0x1594,_0xa74afd:0xf83,_0x5b624d:0x9de,_0x1dd4e5:0xd7b,_0x5e0c41:0x3c1,_0x5117f2:0x12d6,_0x209de1:0x88e,_0x550240:0x18e,_0x977dce:0x5a9,_0x22b561:0x13e3},_0x4b7693={_0x236650:0x13ad,_0x3b7436:0x206,_0xc39f3b:0xef0,_0x5be66c:0x14c0,_0x55cb06:0x17e2,_0x44e0e7:0x1f3f,_0x3be53d:0x14c5,_0x22c67d:0x1384,_0x2cafd6:0x1377,_0x2628ae:0x1740,_0x2ba805:0x11dd,_0x488427:0x11d3},_0x4281d5={_0x40d8fc:0x4d2},_0x3e4a59={_0x417724:0x10d},{context:_0x1a3f08,frameState:_0x4b51fe}=_0x320d88,{uniformState:_0x336c0f}=_0x1a3f08,_0x49071f=_0x320d88[_0x1765f4(0x14d2,_0x2cc9e8._0x4d73b5)],_0x5c48c2=_0xc6b4f9[_0x1765f4(0x14ef,0xcfc)],_0x5aebd8=_0x1a3f08['drawingBufferWidth'],_0x4380bb=_0x1a3f08['drawingBufferHeight'],_0x58895e=new Cesium__namespace['BoundingRectangle'](0x0,0x0,_0x5aebd8,_0x4380bb);_0x5c48c2[_0x48a547(0xdcd,0xc7c)]=_0x58895e,_0x5c48c2['passState'][_0x1765f4(_0x2cc9e8._0x29dd1f,0x8f9)]=_0x58895e,_0x320d88['view']=_0x5c48c2,_0x5c48c2[_0x1765f4(0x99a,_0x2cc9e8._0x4d73b5)]=_0x49071f;const _0x3709bd=Cesium__namespace[_0x48a547(_0x2cc9e8._0x533baa,0x779)][_0x1765f4(0xa9c,0xe47)](_0x320d88,_0x37f4e6,scratchPosition$1);_0x3709bd['y']=_0x4380bb-_0x3709bd['y'],scratchRectangle$1['x']=_0x3709bd['x']-(_0x2b2011-0x1)*0.5;function _0x1765f4(_0x448d05,_0x161431){return _0x2b6441(_0x448d05,_0x161431-0x111);}scratchRectangle$1['y']=_0x3709bd['y']-(_0xacede4-0x1)*0.5,scratchRectangle$1['width']=_0x2b2011,scratchRectangle$1['height']=_0xacede4;const _0x265bba=_0x5c48c2[_0x1765f4(0x635,0x213)]['begin'](scratchRectangle$1,_0x5c48c2['viewport']),_0x378af7=_0x320d88[_0x1765f4(0xd9d,0xbba)][_0x48a547(_0x2cc9e8._0x2132c9,_0x2cc9e8._0xa3ba48)],_0x306293=_0x320d88['skyAtmosphere'][_0x48a547(0x1b72,0x1486)],_0x3bb0d9=_0x320d88['sun'][_0x48a547(0x1dc8,0x1486)],_0x4407b0=_0x320d88['moon']['show'],_0x3029e1=_0x320d88[_0x48a547(0x1d8a,0x13e3)][_0x1765f4(0x1175,0x1103)],_0x4f01f4=_0x320d88[_0x48a547(0x1335,_0x2cc9e8._0xc3805c)]['depthTestAgainstTerrain'],_0x167d5d=_0x320d88['logarithmicDepthBuffer'];_0x320d88['skyBox'][_0x48a547(0x1131,0x1486)]=![];function _0x48a547(_0x4e70dd,_0x2b7c82){return _0x306755(_0x4e70dd,_0x2b7c82- -_0x3e4a59._0x417724);}_0x320d88['skyAtmosphere']['show']=![],_0x320d88['sun']['show']=![],_0x320d88['moon']['show']=![],_0x320d88['globe'][_0x48a547(0x173e,_0x2cc9e8._0xa3ba48)]=![],_0x320d88['globe'][_0x1765f4(_0x2cc9e8._0x4f800d,_0x2cc9e8._0x35db6e)]=!![],_0x320d88['logarithmicDepthBuffer']=!![];const _0x5a1b39=[],_0x1f533d=_0x320d88[_0x48a547(_0x2cc9e8._0x5130f0,0x16eb)];_0x320d88['debugCommandFilter']=_0x4a2780=>{if(!Cesium__namespace['defined'](_0x4a2780[_0x34f124(0xe2f,_0x4b7693._0x236650)])||!(_0x4a2780['owner'][_0x7181df(0x5ae,_0x4b7693._0x3b7436)]instanceof Cesium__namespace['Model'])&&!(_0x4a2780['owner']instanceof Cesium__namespace[_0x34f124(0xf96,0x51d)])&&!(_0x4a2780['owner']['type']===_0x7181df(_0x4b7693._0xc39f3b,_0x4b7693._0x5be66c))&&!(_0x4a2780[_0x7181df(_0x4b7693._0x55cb06,_0x4b7693._0x44e0e7)][_0x7181df(0x14b9,0x1922)]==='GLTF')&&!(_0x4a2780['owner']['type']==='PNTS')&&!(_0x4a2780[_0x34f124(0x1738,0x13ad)][_0x7181df(0x14b9,_0x4b7693._0x3be53d)]==='TILE_GLTF')&&!(_0x4a2780['owner']['type']==='I3DM')&&!(_0x4a2780['owner']['type']===_0x7181df(_0x4b7693._0x22c67d,0xa19)))return![];_0x4b51fe['useLogDepth']&&Cesium__namespace[_0x34f124(_0x4b7693._0x2cafd6,0x11d3)](_0x4a2780['derivedCommands']['logDepth'])&&(_0x4a2780=_0x4a2780['derivedCommands'][_0x7181df(_0x4b7693._0x2628ae,0x176f)]['command']);if(Cesium__namespace[_0x34f124(_0x4b7693._0x2ba805,_0x4b7693._0x488427)](_0x4a2780['derivedCommands']['depth']))return changeCommand(_0x4a2780[_0x7181df(0x1269,0x1248)]['depth']['depthOnlyCommand'],_0x1a3f08,scratchRectangle$1),!![];function _0x7181df(_0x137b83,_0x462c38){return _0x1765f4(_0x462c38,_0x137b83-0x2e6);}changeCommand(_0x4a2780,_0x1a3f08,scratchRectangle$1);function _0x34f124(_0xfbb6ca,_0x55e8e6){return _0x48a547(_0xfbb6ca,_0x55e8e6- -_0x4281d5._0x40d8fc);}_0x5a1b39['push'](_0x4a2780);},_0x320d88['jobScheduler'][_0x1765f4(0x58c,0xbe3)](),_0x320d88['updateFrameState'](),_0x4b51fe['invertClassification']=![],_0x4b51fe['passes'][_0x48a547(_0x2cc9e8._0x516bf3,_0x2cc9e8._0x128d4b)]=!![],_0x4b51fe['passes']['offscreen']=!![],_0x4b51fe[_0x1765f4(0xd38,0x13f3)][_0x48a547(0xf81,0xd80)]=!![],_0x4b51fe['tilesetPassState']=pickTilesetPassState$1,_0x336c0f[_0x1765f4(0x175,0x56f)](_0x4b51fe),_0x320d88[_0x48a547(-_0x2cc9e8._0x1bee22,0x41e)](),_0x320d88[_0x1765f4(0x1a1b,0x103c)](_0x265bba,scratchColorZero$1),_0x320d88['resolveFramebuffers'](_0x265bba);let _0x5037f0;if(_0x1a3f08['depthTexture']){const _0x2cbefc=_0xc6b4f9['getPickDepth'](_0x320d88,0x0),_0x3d0b7={};_0x3d0b7['x']=scratchRectangle$1['x'],_0x3d0b7['y']=scratchRectangle$1['y'],_0x3d0b7['width']=scratchRectangle$1['width'],_0x3d0b7[_0x48a547(0x1485,_0x2cc9e8._0x1729ae)]=scratchRectangle$1['height'],_0x3d0b7[_0x1765f4(0x287,_0x2cc9e8._0x2aa1e3)]=_0x2cbefc['_framebuffer'][_0x48a547(0x1492,0x1250)];const _0x52210a=_0x1a3f08[_0x48a547(_0x2cc9e8._0x1442d8,_0x2cc9e8._0xa74afd)](_0x3d0b7);let _0x409dab=Number[_0x48a547(0xe8d,_0x2cc9e8._0x5b624d)];for(let _0x4c8970=0x0;_0x4c8970<_0xacede4;_0x4c8970++){for(let _0x43fba6=0x0;_0x43fba6<_0x2b2011;_0x43fba6++){const _0x5d1dea=(_0x4c8970*_0x2b2011+_0x43fba6)*0x4,_0x45bdc3=Cesium__namespace['Cartesian4'][_0x1765f4(_0x2cc9e8._0x1dd4e5,_0x2cc9e8._0x5e0c41)](_0x52210a,_0x5d1dea,scratchPackedDepth);Cesium__namespace['Cartesian4']['divideByScalar'](_0x45bdc3,0xff,_0x45bdc3);const _0x501170=Cesium__namespace[_0x48a547(0x190b,_0x2cc9e8._0x5117f2)]['dot'](_0x45bdc3,packedDepthScale$1);if(_0x501170!==0x0&&_0x501170!==0x1){Cesium__namespace[_0x1765f4(_0x2cc9e8._0x209de1,0x5c)]['fromElements'](scratchRectangle$1['x']+_0x43fba6,scratchRectangle$1['y']+_0x4c8970,_0x3709bd);const _0x3d6351=Math['pow'](_0xacede4/0x2-_0x4c8970,0x2)+Math['pow'](_0x2b2011/0x2-_0x43fba6,0x2);_0x409dab>_0x3d6351&&(_0x409dab=_0x3d6351,_0x5037f0=Cesium__namespace[_0x1765f4(_0x2cc9e8._0x550240,0x3f6)]['drawingBufferToWorldCoordinates'](_0x320d88,_0x3709bd,_0x501170));}}}}_0x320d88['debugCommandFilter']=_0x1f533d;for(const _0x2797c3 of _0x5a1b39){restoreCommand(_0x2797c3);}return _0x320d88['view']=_0x320d88['defaultView'],_0x320d88[_0x48a547(0x192b,0xf3d)]['show']=_0x378af7,_0x320d88['skyAtmosphere'][_0x48a547(0xdf2,_0x2cc9e8._0xa3ba48)]=_0x306293,_0x320d88['sun'][_0x48a547(0xd2f,0x1486)]=_0x3bb0d9,_0x320d88[_0x1765f4(_0x2cc9e8._0x977dce,0x963)][_0x48a547(0xd8c,_0x2cc9e8._0xa3ba48)]=_0x4407b0,_0x320d88[_0x48a547(0x1405,_0x2cc9e8._0x22b561)]['show']=_0x3029e1,_0x320d88[_0x48a547(0x1510,_0x2cc9e8._0xc3805c)]['depthTestAgainstTerrain']=_0x4f01f4,_0x320d88['logarithmicDepthBuffer']=_0x167d5d,_0x1a3f08['endFrame'](),_0x5037f0;}function getTransFun(_0x5711e6,_0x20e489){if(!_0x5711e6||!_0x20e489)return![];_0x5711e6=crsName2FunName(_0x5711e6),_0x20e489=crsName2FunName(_0x20e489);if(_0x20e489===_0x5711e6)return![];const _0x1ab9a1=_0x5711e6+'2'+_0x20e489;if(!PointTrans[_0x1ab9a1])return![];return PointTrans[_0x1ab9a1];}function crsName2FunName(_0x5803a6){const _0x35b0b6={_0x444e94:0x179a,_0x5aee21:0x1f7d,_0x2ba5f7:0x18d9,_0x2d494e:0x1a61,_0xab1f9d:0xe06},_0x499713={_0x483d4f:0x4b};function _0x256488(_0xa73363,_0x30f4c5){return _0x306755(_0x30f4c5,_0xa73363- -_0x499713._0x483d4f);}function _0x1bc966(_0x53093a,_0x4b7875){return _0x2b6441(_0x53093a,_0x4b7875-0x566);}switch(_0x5803a6){case ChinaCRS[_0x256488(_0x35b0b6._0x444e94,_0x35b0b6._0x5aee21)]:return _0x256488(_0x35b0b6._0x2ba5f7,_0x35b0b6._0x2d494e);case ChinaCRS[_0x256488(0xd37,0x11ca)]:return'bd';case ChinaCRS[_0x256488(0x106c,0x5ec)]:default:return _0x256488(_0x35b0b6._0xab1f9d,0xc63);}}function getPositionValue(_0x155352,_0x598665){const _0x2a4f74={_0x27b760:0x752,_0x5074c1:0xb12,_0x4a725b:0xc55,_0x1f7399:0x43e},_0x2efe7e={_0xb4d5dc:0x2cf};if(!_0x155352)return _0x155352;let _0x1493f0;function _0x9702ba(_0x5323e7,_0x94bcc2){return _0x306755(_0x94bcc2,_0x5323e7-0x50);}function _0x1cd6a3(_0x55f487,_0x3aa1d3){return _0x306755(_0x3aa1d3,_0x55f487- -_0x2efe7e._0xb4d5dc);}if(_0x155352 instanceof Cesium__namespace[_0x1cd6a3(_0x2a4f74._0x27b760,_0x2a4f74._0x5074c1)])_0x1493f0=_0x155352;else{if(_0x155352['_value']&&_0x155352['_value']instanceof Cesium__namespace['Cartesian3'])_0x1493f0=_0x155352['_value'];else typeof _0x155352['getValue']===_0x9702ba(_0x2a4f74._0x4a725b,_0x2a4f74._0x1f7399)&&(_0x1493f0=_0x155352[_0x9702ba(0xdcb,0x165d)](_0x598665||Cesium__namespace['JulianDate']['now']()));}return _0x1493f0;}function getMaxHeight(_0x24bdf7,_0xd2ad9b=0x0){const _0x43cfed={_0x2a610c:0x1b15,_0x30e0ad:0xfc3};if(_0x24bdf7==null||_0x24bdf7[_0x529edc(0x12be,_0x43cfed._0x2a610c)]===0x0)return _0xd2ad9b;function _0x4aa6cc(_0x285b0f,_0x5756cf){return _0x306755(_0x285b0f,_0x5756cf- -0x275);}function _0x529edc(_0x1bb050,_0x476f5a){return _0x2b6441(_0x476f5a,_0x1bb050-0x264);}let _0x67a7c9=_0xd2ad9b;for(let _0x523991=0x0;_0x523991<_0x24bdf7[_0x4aa6cc(0x1b7e,0x1386)];_0x523991++){const _0x7e3c72=LngLatPoint[_0x4aa6cc(0xe5e,0x155b)](_0x24bdf7[_0x523991]);_0x523991===0x0&&(_0x67a7c9=_0x7e3c72['alt']),_0x7e3c72['alt']>_0x67a7c9&&(_0x67a7c9=_0x7e3c72['alt']);}return formatNum$3(_0x67a7c9,LngLatPoint[_0x529edc(0xb98,_0x43cfed._0x30e0ad)]);}function formatNum$3(_0xd4a8ba,_0x255999=0x0){const _0x5685c7={_0x195832:0x614};function _0x338d47(_0x1c9cb9,_0x29037d){return _0x2b6441(_0x1c9cb9,_0x29037d-_0x5685c7._0x195832);}const _0x4e931d=Math['pow'](0xa,_0x255999);return Math[_0x338d47(0x1111,0x11a2)](_0xd4a8ba*_0x4e931d)/_0x4e931d;}function getMinHeight(_0x22ab6c,_0x30095d=0x0){const _0x7980e={_0x34f66f:0x941};if(_0x22ab6c==null||_0x22ab6c['length']===0x0)return _0x30095d;let _0x3522cc=_0x30095d;function _0x25a2b1(_0x5d50c1,_0x4fb861){return _0x2b6441(_0x5d50c1,_0x4fb861-0xd);}function _0x9d6a95(_0x1420f5,_0x4c64f3){return _0x2b6441(_0x4c64f3,_0x1420f5-0x82);}for(let _0x19de07=0x0;_0x19de07<_0x22ab6c['length'];_0x19de07++){const _0x300d77=Cesium__namespace['Cartographic'][_0x25a2b1(0x7f3,0x45b)](_0x22ab6c[_0x19de07]);_0x19de07===0x0&&(_0x3522cc=_0x300d77['height']),_0x300d77[_0x9d6a95(0x6d3,0xa91)]<_0x3522cc&&(_0x3522cc=_0x300d77['height']);}return formatNum$3(_0x3522cc,LngLatPoint[_0x25a2b1(0x929,_0x7980e._0x34f66f)]);}function addPositionsHeight(_0x20ebad,_0x36cda7=0x0){const _0x1940c7={_0xebbaaf:0x36,_0x2eb85a:0x8d0,_0x1e0297:0xbd5,_0x188f63:0xc88,_0x1426f6:0x974,_0x1e73b0:0x3f1,_0x5dee26:0x1ac,_0x3c7f18:0x240,_0x5b61b5:0x106f,_0x3ac363:0x6da},_0x55b39b={_0x360d73:0x63d},_0x159b88={_0x1dcbc3:0x518};_0x36cda7=Number(_0x36cda7);function _0x1b6d69(_0x19d3ad,_0x3f60ea){return _0x306755(_0x19d3ad,_0x3f60ea- -_0x159b88._0x1dcbc3);}if(isNaN(_0x36cda7)||_0x36cda7===0x0)return _0x20ebad;function _0x3ebcb2(_0x56bf97,_0xe6e46c){return _0x2b6441(_0x56bf97,_0xe6e46c-_0x55b39b._0x360d73);}if(Array[_0x3ebcb2(_0x1940c7._0xebbaaf,_0x1940c7._0x2eb85a)](_0x20ebad)){const _0xdfffc0=[];for(let _0x40e431=0x0,_0x34da5d=_0x20ebad['length'];_0x40e431<_0x34da5d;_0x40e431++){const _0x4f9260=Cesium__namespace['Cartographic']['fromCartesian'](_0x20ebad[_0x40e431]),_0x59d8c3=Cesium__namespace['Cartesian3'][_0x3ebcb2(_0x1940c7._0x1e0297,0xc77)](_0x4f9260['longitude'],_0x4f9260[_0x1b6d69(_0x1940c7._0x188f63,0xabb)],_0x4f9260['height']+_0x36cda7);_0xdfffc0[_0x1b6d69(_0x1940c7._0x1426f6,0x181)](_0x59d8c3);}return _0xdfffc0;}else{const _0x461519=Cesium__namespace[_0x1b6d69(-0x599,_0x1940c7._0x1e73b0)][_0x1b6d69(-_0x1940c7._0x5dee26,0x4d7)](_0x20ebad);return Cesium__namespace['Cartesian3'][_0x1b6d69(0x98a,0x6c3)](_0x461519[_0x1b6d69(_0x1940c7._0x3c7f18,0xc32)],_0x461519[_0x3ebcb2(0x1b3f,_0x1940c7._0x5b61b5)],_0x461519[_0x1b6d69(0x105a,_0x1940c7._0x3ac363)]+_0x36cda7);}}function setPositionsHeight(_0x147e3d,_0x53efd4=0x0){const _0x3fc03c={_0x4e2833:0x4a9,_0x2b3e1e:0x9e0},_0x275ce1={_0x4c23fa:0xd7};if(!_0x147e3d)return _0x147e3d;function _0x33d9e7(_0x12d89e,_0xde799b){return _0x306755(_0x12d89e,_0xde799b-_0x275ce1._0x4c23fa);}function _0x4b3d85(_0x49df9d,_0x4091bc){return _0x2b6441(_0x4091bc,_0x49df9d-0x307);}if(Array['isArray'](_0x147e3d)){const _0x5de7fd=[];for(let _0x47f8bc=0x0,_0x4149e5=_0x147e3d[_0x4b3d85(0x1361,0x182e)];_0x47f8bc<_0x4149e5;_0x47f8bc++){const _0x157bd3=Cesium__namespace[_0x33d9e7(0x244,0x9e0)]['fromCartesian'](_0x147e3d[_0x47f8bc]),_0x1c5289=Cesium__namespace['Cartesian3']['fromRadians'](_0x157bd3['longitude'],_0x157bd3['latitude'],_0x53efd4);_0x5de7fd[_0x4b3d85(0x3ff,0x45d)](_0x1c5289);}return _0x5de7fd;}else{const _0x4b67bf=Cesium__namespace[_0x33d9e7(_0x3fc03c._0x4e2833,_0x3fc03c._0x2b3e1e)][_0x4b3d85(0x755,-0x75)](_0x147e3d);return Cesium__namespace['Cartesian3']['fromRadians'](_0x4b67bf['longitude'],_0x4b67bf['latitude'],_0x53efd4);}}function getHeight(_0x1ca7f6,_0x192ed7,_0x228423){const _0x29a99d={_0x1d6dc6:0x1aef,_0x190331:0x113c,_0x129027:0xad8,_0x48636f:0x92a},_0x230948=LngLatPoint[_0x130c7e(-0x224,0x7ba)](_0x192ed7);let _0x1d3034;_0x1ca7f6['getHeight']?_0x1d3034=_0x1ca7f6['getHeight'](_0x230948,_0x228423===null||_0x228423===void 0x0?void 0x0:_0x228423['heightReference']):_0x1d3034=_0x1ca7f6[_0x2a2379(_0x29a99d._0x1d6dc6,0x10a6)][_0x130c7e(0xbfd,_0x29a99d._0x190331)](_0x230948);if(Cesium__namespace['defined'](_0x1d3034)&&_0x1d3034>((_0x228423===null||_0x228423===void 0x0?void 0x0:_0x228423[_0x2a2379(0x723,0x9da)])??-0x3e7))return _0x1d3034;function _0x130c7e(_0x5244aa,_0x32afdb){return _0x306755(_0x5244aa,_0x32afdb- -0x566);}function _0x2a2379(_0x9da76e,_0x1e02bd){return _0x2b6441(_0x9da76e,_0x1e02bd-0x157);}if(_0x228423!==null&&_0x228423!==void 0x0&&_0x228423[_0x130c7e(_0x29a99d._0x129027,_0x29a99d._0x48636f)])return _0x230948['height'];return undefined;}function getSurfaceHeight(_0x478b83,_0x56f196,_0xac4cde={}){const _0x73294e={_0x53119d:0xabf,_0x4355f5:0xae6,_0xe279b7:0x1285,_0x186b5b:0xbd9};_0xac4cde[_0x7474a9(_0x73294e._0x53119d,_0x73294e._0x4355f5)]=_0x478b83;function _0x4ccaab(_0x3f4ef3,_0x5d58ba){return _0x306755(_0x3f4ef3,_0x5d58ba- -0x3e8);}_0xac4cde['position']=_0x56f196;function _0x7474a9(_0x396e23,_0x2dd312){return _0x2b6441(_0x396e23,_0x2dd312-0x622);}return new SurfacePoint(_0xac4cde)[_0x7474a9(_0x73294e._0xe279b7,_0x73294e._0x186b5b)]();}function getSurfaceTerrainHeight(_0x46b2c4,_0xc778dd){const _0x2c7922={};_0x2c7922['scene']=_0x46b2c4,_0x2c7922['position']=_0xc778dd,_0x2c7922['has3dtiles']=![];const _0x5b494a=_0x2c7922;return new SurfacePoint(_0x5b494a)['start']();}function getSurfacePosition(_0x5488e5,_0x151227,_0x5088af={}){const _0x28892a={_0x5e97c9:0x7b5,_0x20da5e:0xb46,_0x508eeb:0xac1,_0x5ca8f7:0x1286,_0x9054a0:0xa40,_0x17f68e:0x1450,_0x4ee585:0xf70},_0x16f185={_0x3c8834:0x3c7};if(!_0x151227)return _0x151227;function _0x48a35f(_0x2aa820,_0x1e39c5){return _0x306755(_0x1e39c5,_0x2aa820- -0x159);}const _0x1acb30=LngLatPoint[_0x2927f8(_0x28892a._0x5e97c9,_0x28892a._0x20da5e)](_0x151227);let _0x3666ab=getHeight(_0x5488e5,_0x1acb30,_0x5088af);if(!Cesium__namespace['defined'](_0x3666ab))return _0x151227;if((_0x5088af['greater']??!![])&&_0x3666ab<_0x1acb30['height'])return _0x151227;Cesium__namespace['defined'](_0x5088af['maxHeight'])&&(_0x3666ab=Math['min'](_0x3666ab,_0x5088af['maxHeight']));function _0x2927f8(_0x183457,_0x36d860){return _0x2b6441(_0x183457,_0x36d860-_0x16f185._0x3c8834);}return(_0x5088af[_0x48a35f(_0x28892a._0x508eeb,0x8ea)]===Cesium__namespace['HeightReference']['RELATIVE_TO_GROUND']||_0x5088af['heightReference']===Cesium__namespace[_0x2927f8(_0x28892a._0x5ca8f7,0x14a1)]['RELATIVE_TO_TERRAIN']||_0x5088af[_0x2927f8(0x238,_0x28892a._0x9054a0)]===Cesium__namespace['HeightReference']['RELATIVE_TO_3D_TILE'])&&(_0x1acb30['height']+=_0x3666ab),Cesium__namespace['Cartesian3'][_0x2927f8(0x87f,0xa01)](_0x1acb30[_0x2927f8(_0x28892a._0x17f68e,_0x28892a._0x4ee585)],_0x1acb30['latitude'],_0x3666ab);}function hasPickedModel(_0x3a854f,_0x1fcc6a){const _0x5738bc={_0x5df948:0x18d8,_0x56a818:0x331,_0x5d4b33:0xc95,_0x1719b4:0x3f6},_0x767f0e={_0x3e9dba:0x6c7};if(Cesium__namespace[_0x138fa1(_0x5738bc._0x5df948,0x11c7)](_0x3a854f['id'])){const _0x5965ec=_0x3a854f['id'];if(_0x5965ec['_noMousePick'])return _0x5965ec;if(_0x1fcc6a&&_0x5965ec===_0x1fcc6a)return _0x5965ec;}if(Cesium__namespace[_0x138fa1(0x18d8,0x21d7)](_0x3a854f['primitive'])){const _0x2cb7c5=_0x3a854f[_0x25d074(0x2d5,0x3)];if(_0x2cb7c5[_0x25d074(_0x5738bc._0x56a818,0x200)])return _0x2cb7c5;if(_0x1fcc6a&&_0x2cb7c5===_0x1fcc6a)return _0x2cb7c5;}function _0x25d074(_0x52c566,_0x12aac8){return _0x2b6441(_0x12aac8,_0x52c566-0x11e);}function _0x138fa1(_0x12f002,_0x173531){return _0x2b6441(_0x173531,_0x12f002-_0x767f0e._0x3e9dba);}if(Cesium__namespace['defined'](_0x3a854f['tileset'])){const _0x554f72=_0x3a854f[_0x138fa1(_0x5738bc._0x5d4b33,_0x5738bc._0x1719b4)];if(_0x554f72['_noMousePick'])return _0x554f72;if(_0x1fcc6a&&_0x554f72===_0x1fcc6a)return _0x554f72;}return null;}function getCurrentMousePosition(_0x1a30c9,_0x302c5d,_0x32f5c2){const _0x215806={_0x2f8cb7:0x1041,_0x4cd87f:0x6ba,_0x448c9b:0x36a,_0x21cb01:0x95b,_0x506851:0x106,_0x4970e2:0xbcf,_0x268fd3:0xaf2,_0x4d134e:0x1358,_0x2e1eef:0xb8a,_0x1a49f7:0x11c1,_0x497263:0x1224,_0x300722:0x157c,_0x1f51e8:0x122f,_0x25b2a3:0x10dd,_0x24d02c:0xecb,_0x32f81b:0xd11,_0xc24bc5:0x105};let _0xaa0d2c;if(_0x1a30c9['onlyVertexPosition']){!_0x1a30c9['vertexAdsorption']&&(_0x1a30c9['vertexAdsorption']=new VertexAdsorption(_0x1a30c9));_0xaa0d2c=_0x1a30c9[_0x430bf6(_0x215806._0x2f8cb7,0x17fe)][_0x485bb0(_0x215806._0x4cd87f,-_0x215806._0x448c9b)](_0x302c5d,0x10,0x10);if(!_0xaa0d2c){let _0x19afd1;try{_0x19afd1=_0x1a30c9['pick'](_0x302c5d,0x5,0x5);}catch(_0x354580){logWarn('getCurrentMousePosition:\x20scene.pick\x20拾取时异常',_0x354580);}_0xaa0d2c=_getPointTargetPosition(_0x19afd1);}if(_0xaa0d2c)return _0xaa0d2c;}else _0x1a30c9['vertexAdsorption']&&_0x1a30c9['vertexAdsorption'][_0x430bf6(_0x215806._0x21cb01,-_0x215806._0x506851)]();let _0xee5bbf;try{_0xee5bbf=_0x1a30c9['pick'](_0x302c5d,0x5,0x5);}catch(_0x4d05ae){logWarn(_0x485bb0(_0x215806._0x4970e2,0xfbd),_0x4d05ae);}if(_0x1a30c9['pickPositionSupported']&&!_0x1a30c9[_0x430bf6(_0x215806._0x268fd3,0x10a4)]&&Cesium__namespace['defined'](_0xee5bbf)){const _0xf34100=hasPickedModel(_0xee5bbf,_0x32f5c2);if(_0xf34100){if(_0xf34100[_0x430bf6(0x16b2,0x14e9)]){_0xf34100['show']=![],_0x1a30c9['requestRender'](),_0xaa0d2c=getCurrentMousePosition(_0x1a30c9,_0x302c5d,_0x32f5c2),_0xf34100[_0x485bb0(0x1139,0x17f1)]=!![];if(_0xaa0d2c)return _0xaa0d2c;else{_0xaa0d2c=_geetTargetMousePosition(_0x1a30c9,_0x302c5d,_0xee5bbf);if(Cesium__namespace['defined'](_0xaa0d2c))return _0xaa0d2c;}}if(!_0x1a30c9['globe']['show']){_0xaa0d2c=_geetTargetMousePosition(_0x1a30c9,_0x302c5d,_0xee5bbf);if(Cesium__namespace[_0x485bb0(_0x215806._0x4d134e,0x13de)](_0xaa0d2c))return _0xaa0d2c;}}else{_0xaa0d2c=_geetTargetMousePosition(_0x1a30c9,_0x302c5d,_0xee5bbf);if(Cesium__namespace['defined'](_0xaa0d2c))return _0xaa0d2c;}}function _0x430bf6(_0x4d5097,_0x275bf6){return _0x306755(_0x275bf6,_0x4d5097-0x11f);}if(!_0x1a30c9['onlyPickTerrainPosition']&&_0x1a30c9[_0x485bb0(_0x215806._0x2e1eef,0x1276)])return _0xaa0d2c;if(_0x1a30c9[_0x485bb0(_0x215806._0x1a49f7,0x1193)]===Cesium__namespace['SceneMode']['SCENE3D']){const _0x268208=_0x1a30c9[_0x485bb0(0xbee,_0x215806._0x497263)]['getPickRay'](_0x302c5d);_0xaa0d2c=_0x1a30c9[_0x430bf6(0x160f,_0x215806._0x300722)]['pick'](_0x268208,_0x1a30c9),!_0xaa0d2c&&(_0xaa0d2c=_0x1a30c9['camera'][_0x485bb0(0x122f,0x189d)](_0x302c5d,_0x1a30c9['globe']['ellipsoid']));}else _0xaa0d2c=_0x1a30c9['camera'][_0x485bb0(_0x215806._0x1f51e8,_0x215806._0x25b2a3)](_0x302c5d,_0x1a30c9['globe']['ellipsoid']);function _0x485bb0(_0x2429ff,_0x1f00e0){return _0x2b6441(_0x1f00e0,_0x2429ff-0x147);}if(Cesium__namespace['defined'](_0xaa0d2c)&&_0x1a30c9['camera'][_0x430bf6(_0x215806._0x24d02c,_0x215806._0x32f81b)]['height']<0x2710){const _0x3b017e=Cesium__namespace[_0x430bf6(0xa28,_0x215806._0xc24bc5)]['fromCartesian'](_0xaa0d2c);if(_0x3b017e['height']<-0x1388)return null;}return _0xaa0d2c;}function _geetTargetMousePosition(_0x4115e0,_0x537c8f,_0x541a34){const _0x4a1d40={_0x3d4afb:0x800};function _0x12384e(_0x7cec2b,_0x1d31d8){return _0x306755(_0x1d31d8,_0x7cec2b- -0x1ef);}const _0x432018=_0x4115e0['pickPosition'](_0x537c8f);if(Cesium__namespace['defined'](_0x432018)){if(_0x4115e0['screenSpaceCameraController']['enableCollisionDetection']){const _0xb75cd0=Cesium__namespace['Cartographic'][_0x12384e(_0x4a1d40._0x3d4afb,0x10f4)](_0x432018);if(_0xb75cd0['height']>=0x0)return _0x432018;if(!Cesium__namespace['defined'](_0x541a34===null||_0x541a34===void 0x0?void 0x0:_0x541a34['id'])&&_0xb75cd0['height']>=-0x1388)return _0x432018;}else return _0x432018;}return undefined;}function _getPointTargetPosition(_0x880948){const _0x345b27={_0x516b51:0x15f0,_0x496609:0x1d2a,_0x9b8194:0x1af8,_0x13dd90:0x419,_0x22308c:0x1a2,_0x501b3b:0x15f3,_0x313f6f:0xc77,_0x3a2a27:0x17f7,_0x3d1cb9:0x1035};var _0x504de5;function _0x3b3cf2(_0x59cd36,_0x4de8b1){return _0x306755(_0x59cd36,_0x4de8b1-0x133);}function _0x14c199(_0x23f6f7,_0x427d96){return _0x2b6441(_0x427d96,_0x23f6f7-0x3df);}if(!Cesium__namespace[_0x14c199(_0x345b27._0x516b51,_0x345b27._0x496609)](_0x880948))return;if(Cesium__namespace['defined'](_0x880948['id'])&&_0x880948['id']instanceof Cesium__namespace['Entity']){const _0x133a88=_0x880948['id'];if((_0x133a88[_0x14c199(0x157f,0x1247)]||_0x133a88['point']||_0x133a88['label'])&&!_0x133a88[_0x14c199(0x14bf,_0x345b27._0x9b8194)]&&!_0x133a88['model']&&!_0x133a88['ellipsoid'])return getPositionValue(_0x133a88['position']);}else{if(_0x880948 instanceof Cesium__namespace[_0x14c199(_0x345b27._0x13dd90,-_0x345b27._0x22308c)])return undefined;else{if(_0x880948['content']&&_0x880948[_0x3b3cf2(_0x345b27._0x501b3b,_0x345b27._0x313f6f)]instanceof(Cesium__namespace[_0x3b3cf2(0x11df,0xcbc)]||Cesium__namespace['PointCloud']))return undefined;else{if((_0x504de5=_0x880948['content'])!==null&&_0x504de5!==void 0x0&&(_0x504de5=_0x504de5['tile'])!==null&&_0x504de5!==void 0x0&&_0x504de5[_0x14c199(_0x345b27._0x3a2a27,0x143e)])return undefined;else{if(Cesium__namespace['defined'](_0x880948['primitive'])){const _0x18658f=_0x880948['primitive'];if(_0x18658f instanceof Cesium__namespace['Label']||_0x18658f instanceof Cesium__namespace['PointPrimitive']||_0x18658f instanceof Cesium__namespace[_0x14c199(0xc9c,0xcc1)])return getPositionValue(_0x18658f[_0x14c199(_0x345b27._0x3d1cb9,0x1ac5)]);}}}}}}function getCurrentMouseTerrainPosition(_0xdff854,_0x33640f){const _0x1eab42={_0x1257ca:0xf8c,_0xdef104:0x1500,_0x4da5df:0x13e0};let _0x382414;if(_0xdff854[_0x35c501(0x150b,_0x1eab42._0x1257ca)]===Cesium__namespace['SceneMode']['SCENE3D']){const _0x4bcd43=_0xdff854[_0x35c501(0xf38,_0x1eab42._0xdef104)]['getPickRay'](_0x33640f);_0x382414=_0xdff854[_0x35c501(_0x1eab42._0x4da5df,0xf61)]['pick'](_0x4bcd43,_0xdff854),!_0x382414&&(_0x382414=_0xdff854['camera']['pickEllipsoid'](_0x33640f,_0xdff854[_0x23ca1c(0x1446,0x15f9)]['ellipsoid']));}else _0x382414=_0xdff854['camera']['pickEllipsoid'](_0x33640f,_0xdff854['globe']['ellipsoid']);function _0x35c501(_0x5bf8c0,_0xa08ee9){return _0x2b6441(_0xa08ee9,_0x5bf8c0-0x491);}function _0x23ca1c(_0x1cd0aa,_0x36c9bc){return _0x2b6441(_0x36c9bc,_0x1cd0aa-0x4f7);}return _0x382414;}function getMidpoint(_0x237501,_0x578938,_0x1f2b5c=0.5){const _0x107e96={_0x26fcca:0xd1f,_0x17157d:0x128e,_0x5c022b:0x1463};function _0x3df016(_0x27924a,_0x1b81ba){return _0x2b6441(_0x1b81ba,_0x27924a-0x6e5);}if(!_0x578938||!_0x237501)return undefined;if(_0x1f2b5c!==0.5){const _0xc1b583=LngLatPoint['toCartographic'](_0x237501),_0x32812b=LngLatPoint[_0x574084(0xfed,0x738)](_0x578938),_0x19f769=(_0xc1b583['height']+_0x32812b['height'])/0x2,_0x5c95e5=new Cesium__namespace['EllipsoidGeodesic'](_0xc1b583,_0x32812b)['interpolateUsingFraction'](_0x1f2b5c);return Cesium__namespace[_0x3df016(0xb65,0x86e)][_0x3df016(_0x107e96._0x26fcca,0x8f0)](_0x5c95e5[_0x3df016(_0x107e96._0x17157d,_0x107e96._0x5c022b)],_0x5c95e5['latitude'],_0x19f769);}function _0x574084(_0xd4b910,_0x3e9878){return _0x2b6441(_0xd4b910,_0x3e9878- -0x47);}return Cesium__namespace['Cartesian3'][_0x3df016(0x1119,0x1748)](_0x237501,_0x578938,new Cesium__namespace['Cartesian3']());}function isRepeatPoint(_0x16917e,_0x185b03){const _0x3b593c={_0x57bff0:0x1467};function _0x5d181b(_0x12fafa,_0x1f2f55){return _0x2b6441(_0x1f2f55,_0x12fafa-0x20b);}if(!_0x185b03||!_0x16917e)return![];function _0x2f0af9(_0x5b1457,_0x3c27fc){return _0x306755(_0x3c27fc,_0x5b1457- -0x1b5);}return Math['abs'](_0x16917e['x']-_0x185b03['x'])<0.1&&Math[_0x2f0af9(0x12ac,_0x3b593c._0x57bff0)](_0x16917e['y']-_0x185b03['y'])<0.1&&Math[_0x2f0af9(0x12ac,0x1908)](_0x16917e['z']-_0x185b03['z'])<0.1?!![]:![];}function getRotateCenterPoint(_0x6135aa,_0x2e00f2,_0x4aeaa4){const _0x1cc1e8={_0x1f344f:0xa21,_0x1a087f:0x852,_0x14a3b2:0xcc0,_0x69a03d:0x889,_0x49d5d5:0x4a6,_0xa37b02:0xab3,_0x32dc11:0x10c3,_0x528c9c:0xb96,_0x1b93c2:0x817},_0x5e8372={_0x8efeb:0x118},_0x476641=Cesium__namespace[_0x112f07(0x1416,_0x1cc1e8._0x1f344f)]['fromCartesian'](_0x6135aa);function _0x145ddd(_0x413691,_0x2da9c6){return _0x306755(_0x2da9c6,_0x413691- -0x198);}_0x476641[_0x145ddd(0xa5a,0x72f)]=0x0;const _0x166d72=Cesium__namespace['Cartographic'][_0x145ddd(_0x1cc1e8._0x1a087f,0xf30)](_0x476641);function _0x112f07(_0x394e36,_0x1eed2f){return _0x306755(_0x394e36,_0x1eed2f-_0x5e8372._0x8efeb);}let _0x18c3c3=Cesium__namespace['Cartesian3'][_0x112f07(_0x1cc1e8._0x14a3b2,0x1236)](_0x166d72,_0x6135aa,new Cesium__namespace[(_0x145ddd(_0x1cc1e8._0x69a03d,_0x1cc1e8._0x49d5d5))]());_0x18c3c3=Cesium__namespace['Cartesian3']['normalize'](_0x18c3c3,new Cesium__namespace['Cartesian3']());const _0x20520b=Cesium__namespace['Quaternion'][_0x145ddd(0xb0e,0x1003)](_0x18c3c3,Cesium__namespace['Math']['toRadians'](_0x4aeaa4)),_0x474795=Cesium__namespace[_0x145ddd(0x1218,0xb59)]['fromQuaternion'](_0x20520b),_0xe14dd5=Cesium__namespace['Matrix4'][_0x112f07(0x121d,0x875)](_0x474795),_0x3cfd0f=Cesium__namespace['Cartesian3'][_0x112f07(0x1c78,0x1236)](_0x2e00f2,_0x6135aa,new Cesium__namespace['Cartesian3']()),_0x479d7d=Cesium__namespace[_0x112f07(_0x1cc1e8._0xa37b02,0xc8a)]['multiplyByPoint'](_0xe14dd5,_0x3cfd0f,new Cesium__namespace[(_0x145ddd(_0x1cc1e8._0x69a03d,_0x1cc1e8._0x32dc11))]()),_0x137ba1=Cesium__namespace['Cartesian3'][_0x145ddd(_0x1cc1e8._0x528c9c,_0x1cc1e8._0x1b93c2)](_0x479d7d,_0x6135aa,new Cesium__namespace['Cartesian3']());return _0x137ba1;}function getOnLinePointByLen(_0x16c2d3,_0xde917d,_0x169f40,_0x5470fa){const _0x27b3c0={_0x4be8a6:0xfe7},_0x15a3fa={_0x577c9e:0xca},_0x39779d=Cesium__namespace['Cartesian3'][_0x45e82a(_0x27b3c0._0x4be8a6,0x11f0)](_0x16c2d3,_0xde917d);let _0x5b30c1;_0x39779d!==0x0?_0x5b30c1=_0x169f40/_0x39779d:_0x5b30c1=0.001;function _0x45e82a(_0x603d86,_0xfa4e02){return _0x306755(_0xfa4e02,_0x603d86-_0x15a3fa._0x577c9e);}return _0x5470fa&&(_0x5b30c1+=0x1),getOnLinePointByRatio(_0x16c2d3,_0xde917d,_0x5b30c1);}function getOnLinePointByRatio(_0x3f7f27,_0x8c984b,_0x31ac44){const _0x3adfbf={_0x435c3d:0x1841,_0x46b0f4:0x1179,_0x319976:0xc7,_0x295ef9:0x838,_0x497385:0x7,_0x5c6a74:0xdc6,_0x3b3ad8:0xa43,_0x13d498:0x867,_0x447ec1:0x3b7,_0x1e5031:0x49d,_0x17c805:0x9d,_0x41ad5c:0x1f9},_0xa8da67={_0x36e1b0:0x1d},_0x3a3dfd={_0xb111d5:0x3e7};function _0x377e1f(_0x4d6e3d,_0xda9967){return _0x2b6441(_0x4d6e3d,_0xda9967-_0x3a3dfd._0xb111d5);}const _0x4bc812=Cesium__namespace[_0x4e9369(_0x3adfbf._0x435c3d,_0x3adfbf._0x46b0f4)]['eastNorthUpToFixedFrame'](_0x3f7f27),_0x4cf505=Cesium__namespace[_0x377e1f(-_0x3adfbf._0x319976,0x9b8)][_0x4e9369(-_0x3adfbf._0x295ef9,-_0x3adfbf._0x497385)](_0x4bc812,new Cesium__namespace['Matrix4']());_0x3f7f27=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x4cf505,_0x3f7f27,new Cesium__namespace['Cartesian3']());function _0x4e9369(_0x2e9585,_0x4ef1fc){return _0x2b6441(_0x2e9585,_0x4ef1fc-_0xa8da67._0x36e1b0);}_0x8c984b=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x4cf505,_0x8c984b,new Cesium__namespace[(_0x377e1f(_0x3adfbf._0x5c6a74,0x867))]());const _0x4f9d72=Cesium__namespace['Cartesian3']['subtract'](_0x8c984b,_0x3f7f27,new Cesium__namespace[(_0x377e1f(_0x3adfbf._0x3b3ad8,_0x3adfbf._0x13d498))]()),_0x59db0d=Cesium__namespace[_0x4e9369(-_0x3adfbf._0x447ec1,_0x3adfbf._0x1e5031)][_0x4e9369(0x10e6,0xf24)](_0x4f9d72,_0x31ac44,new Cesium__namespace[(_0x4e9369(-_0x3adfbf._0x17c805,0x49d))]());return Cesium__namespace['Matrix4']['multiplyByPoint'](_0x4bc812,_0x59db0d,new Cesium__namespace[(_0x4e9369(_0x3adfbf._0x41ad5c,_0x3adfbf._0x1e5031))]());}function getPositionByHprAndOffset(_0x239e73,_0x51a7c7,_0x3f4f9b,_0x318216,_0x11f7fc){const _0x2bf4d2={_0x2ccf4d:0x10f2,_0x2fa414:0x183,_0x3f89ba:0xc32,_0x2a116b:0x81d,_0x197d64:0x4b6,_0x515bf4:0x567,_0x1dc764:0x416},_0x5422b5={_0x2faefd:0x6a};_0x239e73=LngLatPoint[_0x185784(0xaaa,0x9a8)](_0x239e73);!_0x3f4f9b&&(_0x3f4f9b=new Cesium__namespace['HeadingPitchRoll']());const _0x102121=Cesium__namespace[_0x194764(_0x2bf4d2._0x2ccf4d,0x1886)][_0x194764(-_0x2bf4d2._0x2fa414,-0xa1f)](_0x239e73,_0x3f4f9b,_0x318216,_0x11f7fc),_0x33cf47=Cesium__namespace[_0x185784(_0x2bf4d2._0x3f89ba,0x81c)][_0x185784(_0x2bf4d2._0x2a116b,0xc32)](Cesium__namespace[_0x194764(0xda5,0x1512)][_0x194764(_0x2bf4d2._0x197d64,-0x60b)](_0x102121,new Cesium__namespace['Matrix3']()),_0x239e73,new Cesium__namespace['Matrix4']()),_0x5c7e1e=Cesium__namespace[_0x194764(_0x2bf4d2._0x515bf4,0xaef)]['multiplyByPoint'](_0x33cf47,_0x51a7c7,new Cesium__namespace[(_0x194764(_0x2bf4d2._0x1dc764,-0x1fd))]());function _0x185784(_0x349820,_0x474e15){return _0x306755(_0x474e15,_0x349820-0xc0);}function _0x194764(_0x87a31a,_0x56023e){return _0x2b6441(_0x56023e,_0x87a31a- -_0x5422b5._0x2faefd);}return _0x5c7e1e;}function getPositionByDirectionAndLen(_0x25b7ea,_0x5ba945,_0x575e1a){const _0x54b9c9={_0x5def57:0x439,_0x5f4ca3:0xdff,_0x4894a8:0xe7a,_0x2845c2:0x84},_0x3ffac7={_0x40b13a:0x10};if(!_0x25b7ea)return _0x25b7ea;function _0x5497a7(_0x53c522,_0x335aa2){return _0x2b6441(_0x335aa2,_0x53c522-0x98);}_0x25b7ea=LngLatPoint[_0x282624(_0x54b9c9._0x5def57,0x755)](_0x25b7ea);const _0xdbfad1=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x25b7ea),_0x14e169=Cesium__namespace[_0x282624(_0x54b9c9._0x5f4ca3,_0x54b9c9._0x4894a8)]['fromRotationZ'](Cesium__namespace['Math'][_0x282624(0x61b,0xeb6)](0x168-(_0x5ba945||0x0))),_0x5ed161=Cesium__namespace[_0x282624(0x5c1,0x6d)]['fromRotationTranslation'](_0x14e169);Cesium__namespace['Matrix4'][_0x282624(0x978,_0x54b9c9._0x2845c2)](_0xdbfad1,_0x5ed161,_0xdbfad1);const _0x2ceb84=Cesium__namespace['Matrix4']['multiplyByPoint'](_0xdbfad1,new Cesium__namespace[(_0x282624(0x470,0x5c1))](_0x575e1a,0x0,0x0),new Cesium__namespace['Cartesian3']());function _0x282624(_0x253065,_0x5c77e6){return _0x2b6441(_0x5c77e6,_0x253065- -_0x3ffac7._0x40b13a);}return _0x2ceb84;}function getPositionByHprAndLen(_0x54f735,_0x18c161,_0xe27832){const _0x558f5b={_0x472479:0x86d,_0x4039fd:0x152e},_0x9faf5a={_0x2144a3:0x424},_0x2753fa={_0x734b5c:0x1d7};_0x54f735=LngLatPoint[_0x436582(0x1b5,_0x558f5b._0x472479)](_0x54f735);const _0x438f1c=Cesium__namespace[_0x3f44f6(0x1526,_0x558f5b._0x4039fd)][_0x436582(0xa1a,0x30b)](_0x54f735,_0x18c161);function _0x3f44f6(_0x9e7b76,_0x1d822e){return _0x306755(_0x1d822e,_0x9e7b76- -_0x2753fa._0x734b5c);}function _0x436582(_0x476718,_0x17b1eb){return _0x2b6441(_0x476718,_0x17b1eb-_0x9faf5a._0x2144a3);}const _0x193097=Cesium__namespace['Matrix4']['fromRotationTranslation'](Cesium__namespace['Matrix3']['fromQuaternion'](_0x438f1c,new Cesium__namespace['Matrix3']()),_0x54f735,new Cesium__namespace['Matrix4']()),_0x3e12be=Cesium__namespace['Matrix4'][_0x3f44f6(0x322,0x736)](_0x193097,new Cesium__namespace['Cartesian3'](0x0,0x0,-_0xe27832),new Cesium__namespace['Cartesian3']());return _0x3e12be;}function getRayEarthPosition(_0x4723f8,_0x34f82a,_0x22ec50,_0x59144f,_0x283e92){const _0x11d306={_0x1b1524:0x41a,_0x1eaffa:0xc96};if(!_0x4723f8||!_0x34f82a)return;function _0x437e41(_0x376d8d,_0x4e034f){return _0x306755(_0x376d8d,_0x4e034f- -0x6e);}_0x34f82a instanceof Cesium__namespace['HeadingPitchRoll']&&(_0x34f82a=Cesium__namespace['Transforms'][_0x437e41(-0x422,_0x11d306._0x1b1524)](_0x4723f8,_0x34f82a,_0x59144f,_0x283e92));const _0x4a1cbc=Cesium__namespace[_0x3a2d56(0xc96,0x6ab)][_0x3a2d56(0x881,0x661)](Cesium__namespace['Matrix3']['fromQuaternion'](_0x34f82a,new Cesium__namespace[(_0x3a2d56(0x14d4,0xd90))]()),_0x4723f8,new Cesium__namespace[(_0x3a2d56(_0x11d306._0x1eaffa,0x58d))]());function _0x3a2d56(_0x56586a,_0x996910){return _0x306755(_0x996910,_0x56586a-0x124);}return getRayEarthPositionByMatrix(_0x4a1cbc,_0x22ec50,_0x59144f);}function getRayEarthPositionByMatrix(_0x3350a6,_0x51c4e6,_0x41d582){const _0x223617={_0x1d05a0:0x584,_0x4f1f84:0xe3b,_0x2cffa2:0xd3,_0x2724a0:0x127d},_0x14d536={_0x3b53ee:0x696},_0xf611a0=new Cesium__namespace[(_0x282147(0x6d,_0x223617._0x1d05a0))](),_0x2aa99c=new Cesium__namespace['Ray']();function _0x282147(_0x5b9143,_0x80d08f){return _0x306755(_0x5b9143,_0x80d08f- -0x49d);}Cesium__namespace['Matrix4']['multiplyByPoint'](_0x3350a6,Cesium__namespace[_0x282147(_0x223617._0x4f1f84,0x584)][_0x282147(0x255,_0x223617._0x2cffa2)],_0xf611a0),_0xf611a0[_0x32cc9b(_0x223617._0x2724a0,0x9fd)](_0x2aa99c['origin']);const _0xdb0e81=new Cesium__namespace['Cartesian3'](0x0,0x0,_0x51c4e6?-0x1:0x1);function _0x32cc9b(_0xdc1dc8,_0x170c2e){return _0x2b6441(_0xdc1dc8,_0x170c2e-_0x14d536._0x3b53ee);}const _0x37c386=extend2Earth(_0xdb0e81,_0x3350a6,_0x2aa99c,_0x41d582);return _0x37c386;}function extend2Earth(_0x441235,_0x1279d5,_0x743880,_0x3f1b93){const _0x27e9ca={_0x4cb918:0x120c,_0xf57b80:0x1364,_0x106199:0xa13,_0xcc558b:0x39f,_0x241f1f:0xf13,_0x10dcef:0xf30,_0x2511ef:0x117a,_0x5c12ee:0x855};_0x3f1b93=_0x3f1b93||Cesium__namespace[_0xb13cc9(0x13e0,_0x27e9ca._0x4cb918)]['WGS84'];const _0x3e80f7=Cesium__namespace[_0x5b137e(0xb64,_0x27e9ca._0xf57b80)][_0x5b137e(0x4eb,0xa5c)](_0x1279d5,_0x441235,new Cesium__namespace[(_0x5b137e(_0x27e9ca._0x106199,_0x27e9ca._0xcc558b))]());Cesium__namespace[_0x5b137e(0xa13,0xc3c)][_0x5b137e(0x1110,0x1080)](_0x3e80f7,_0x743880['origin'],_0x743880['direction']);function _0xb13cc9(_0x293203,_0x5eeea2){return _0x306755(_0x293203,_0x5eeea2- -0x1b);}Cesium__namespace['Cartesian3']['normalize'](_0x743880['direction'],_0x743880['direction']);const _0x3c67f6=Cesium__namespace['IntersectionTests'][_0x5b137e(_0x27e9ca._0x241f1f,_0x27e9ca._0x10dcef)](_0x743880,_0x3f1b93);if(!_0x3c67f6)return undefined;const _0x4546ce=_0x3c67f6['start']>0x0?_0x3c67f6[_0x5b137e(0xb4a,0x1212)]:_0x3c67f6['stop'],_0x1fc2f7=Cesium__namespace[_0x5b137e(_0x27e9ca._0x2511ef,0x190f)]['getPoint'](_0x743880,_0x4546ce,new Cesium__namespace['Cartesian3']());if(_0x1fc2f7)try{const _0x376eaa=Cesium__namespace['Cartographic'][_0xb13cc9(_0x27e9ca._0x5c12ee,0x9d4)](_0x1fc2f7,null,new Cesium__namespace['Cartographic']());}catch(_0x595b33){return undefined;}function _0x5b137e(_0x48ac2e,_0x43bce0){return _0x2b6441(_0x43bce0,_0x48ac2e-0x593);}return _0x1fc2f7;}function getHeadingPitchRollByOrientation(_0x150830,_0x2cd2b8,_0x22f4fc,_0x118f35){const _0x539212={_0x4a8514:0xf4b,_0xf96294:0x1177,_0x45815a:0x145a,_0x554423:0x20f,_0x293429:0x19b0,_0x1bab11:0x820},_0x359853={_0x295d12:0x3};if(!Cesium__namespace[_0x3b801d(_0x539212._0x4a8514,0x17af)](_0x2cd2b8)||!Cesium__namespace[_0x1d8f4d(_0x539212._0xf96294,_0x539212._0x45815a)](_0x150830))return new Cesium__namespace['HeadingPitchRoll']();function _0x1d8f4d(_0x355008,_0x275908){return _0x306755(_0x355008,_0x275908- -0x358);}function _0x3b801d(_0x5202bc,_0x40768c){return _0x306755(_0x5202bc,_0x40768c- -_0x359853._0x295d12);}const _0x560040=Cesium__namespace['Matrix4']['fromRotationTranslation'](Cesium__namespace['Matrix3']['fromQuaternion'](_0x2cd2b8,new Cesium__namespace['Matrix3']()),_0x150830,new Cesium__namespace[(_0x1d8f4d(_0x539212._0x554423,0x81a))]());return Cesium__namespace[_0x3b801d(_0x539212._0x293429,0x16fa)][_0x3b801d(0x119b,_0x539212._0x1bab11)](_0x560040,_0x22f4fc,_0x118f35);}function getHeadingPitchRollByMatrix(_0xf9c38c,_0x5a1381,_0x536967,_0x14ceb5){const _0xf8552b={_0x1bee88:0x51};function _0x1f5c60(_0x2ef683,_0x62c2c8){return _0x306755(_0x2ef683,_0x62c2c8-_0xf8552b._0x1bee88);}return Cesium__namespace['Transforms'][_0x1f5c60(0x969,0x874)](_0xf9c38c,_0x5a1381,_0x536967,_0x14ceb5);}function getHeadingPitchRollForLine(_0x221a9f,_0x21d2b1,_0x4436dd){const _0x2d3dbf={_0x22d583:0x15b0,_0xdb5ec:0x702,_0x269220:0xd88,_0x7abc9f:0x128d},_0x1f802f={_0x549ae4:0x470};_0x221a9f=LngLatPoint[_0x3a32a4(0x6ac,0x1f8)](_0x221a9f),_0x21d2b1=LngLatPoint['toCartesian'](_0x21d2b1);const _0x138ece=Cesium__namespace[_0x3a32a4(0xee9,_0x2d3dbf._0x22d583)]['WGS84'],_0x403e4e=new Cesium__namespace['Cartesian3'](),_0x49c27c=new Cesium__namespace[(_0x3a32a4(0x834,0xa50))](),_0x5df569=new Cesium__namespace['Matrix3'](),_0x3e0144=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace['Cartesian3'][_0x4a058d(0xcae,0x8b8)](_0x21d2b1,_0x221a9f,_0x403e4e),_0x403e4e);Cesium__namespace['Transforms']['rotationMatrixFromPositionVelocity'](_0x221a9f,_0x3e0144,_0x138ece,_0x5df569);const _0x2af7c4=Cesium__namespace[_0x4a058d(_0x2d3dbf._0xdb5ec,_0x2d3dbf._0x269220)]['fromRotationTranslation'](_0x5df569,_0x221a9f,_0x49c27c);function _0x3a32a4(_0x5ef682,_0x40e616){return _0x2b6441(_0x40e616,_0x5ef682-0x263);}_0x4436dd?Cesium__namespace['Matrix4']['multiplyTransformation'](_0x2af7c4,Cesium__namespace['Axis']['Z_UP_TO_X_UP'],_0x2af7c4):Cesium__namespace['Matrix4']['multiplyTransformation'](_0x2af7c4,Cesium__namespace['Axis']['X_UP_TO_Z_UP'],_0x2af7c4);function _0x4a058d(_0x312dfc,_0x86ad36){return _0x306755(_0x86ad36,_0x312dfc- -_0x1f802f._0x549ae4);}return Cesium__namespace[_0x4a058d(_0x2d3dbf._0x7abc9f,0xd16)]['fixedFrameToHeadingPitchRoll'](_0x2af7c4,_0x138ece);}function getReflectVector(_0x321e4c,_0x436357){const _0x37516a={_0x2da567:0xf2a},_0x5cf417={_0x1b96cf:0x3ad},_0x333668=_0x436357[_0x632cf2(0xc20,0x714)](),_0x485eb5=_0x321e4c['clone'](),_0xe342d7=0x2*Cesium__namespace['Cartesian3'][_0x632cf2(0x1aca,0x1800)](_0x321e4c,_0x436357);function _0x632cf2(_0xc876e,_0x1e2ab5){return _0x2b6441(_0xc876e,_0x1e2ab5-_0x5cf417._0x1b96cf);}function _0x1c5459(_0x3ef45e,_0x35d8c9){return _0x2b6441(_0x35d8c9,_0x3ef45e-0x4fb);}return Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x436357,_0xe342d7,_0x333668),Cesium__namespace[_0x632cf2(0xa53,0x82d)][_0x632cf2(0x1257,_0x37516a._0x2da567)](_0x321e4c,_0x333668,_0x485eb5);}function getPropertyIndex(_0x6f50c9,_0x2b1c59,_0x42ac42){const _0x5cc790={_0x3e6d4f:0x1708,_0x1f819c:0x10a0,_0x554b91:0x877,_0xb10463:0xcc5,_0x532d2e:0xeaf,_0x154d8f:0xa73,_0x38f8fe:0x102e,_0xccc104:0x171c,_0x53fe33:0x1378,_0x1fa212:0x151d,_0xcbeb6d:0x727,_0x5c3ae9:0x371,_0x12ee48:0x8fa,_0xc9ae2a:0xdcb,_0x3e223f:0xf73,_0x3a3719:0xf19,_0x6ded94:0x151f,_0x3deb8d:0x1b1d,_0x9a6d6b:0xe69,_0x4e390c:0x1e0d,_0x12c7fe:0x18d1},_0x43222e={_0x4edf93:0x293},_0x139258={_0x5791e5:0x1cb};function _0x1dbb76(_0x5eea55,_0x505ae3){return _0x2b6441(_0x505ae3,_0x5eea55-_0x139258._0x5791e5);}const _0x10d46e=_0x6f50c9===null||_0x6f50c9===void 0x0?void 0x0:_0x6f50c9[_0x65feca(0x125c,0x16e1)],_0x1a8877=_0x10d46e===null||_0x10d46e===void 0x0?void 0x0:_0x10d46e[_0x65feca(0xe7c,0x80c)],_0x4fd375=_0x1a8877[_0x1dbb76(0x1225,_0x5cc790._0x3e6d4f)];if(_0x4fd375===0x0){const _0x3005cd={};return _0x3005cd['index']=0x0,_0x3005cd;}function _0x65feca(_0x1f961f,_0x241605){return _0x306755(_0x241605,_0x1f961f- -_0x43222e._0x4edf93);}let _0x2cab11;const _0x3451e3=Cesium__namespace['Cartesian3'],_0x2c008e=_0x10d46e[_0x65feca(0x803,0x11cf)];let _0x2b8153=Cesium__namespace[_0x65feca(0x77d,0xb13)](_0x1a8877,_0x2b1c59,Cesium__namespace['JulianDate'][_0x65feca(0x1694,_0x5cc790._0x1f819c)]);if(_0x2b8153<0x0){_0x2b8153=~_0x2b8153;if(_0x2b8153===0x0){const _0x41691d=_0x1a8877[_0x2b8153];_0x2cab11=_0x10d46e['_backwardExtrapolationDuration'];if(_0x10d46e['_backwardExtrapolationType']===Cesium__namespace[_0x65feca(0x102e,_0x5cc790._0x554b91)]['NONE']||_0x2cab11!==0x0&&Cesium__namespace['JulianDate'][_0x65feca(0xc85,0xd98)](_0x41691d,_0x2b1c59)>_0x2cab11){const _0x5332fd={};return _0x5332fd[_0x65feca(_0x5cc790._0xb10463,_0x5cc790._0x532d2e)]=_0x2b8153,_0x5332fd;}if(_0x10d46e[_0x1dbb76(0x7b5,_0x5cc790._0x154d8f)]===Cesium__namespace[_0x65feca(_0x5cc790._0x38f8fe,_0x5cc790._0xccc104)][_0x1dbb76(0xaac,0x1139)])return{'position':_0x3451e3['unpack'](_0x2c008e,0x0,_0x42ac42),'index':_0x2b8153};}if(_0x2b8153>=_0x4fd375){_0x2b8153=_0x4fd375-0x1;const _0xe10373=_0x1a8877[_0x2b8153];_0x2cab11=_0x10d46e['_forwardExtrapolationDuration'];if(_0x10d46e['_forwardExtrapolationType']===Cesium__namespace['ExtrapolationType']['NONE']||_0x2cab11!==0x0&&Cesium__namespace[_0x1dbb76(0x161b,0xce1)]['secondsDifference'](_0x2b1c59,_0xe10373)>_0x2cab11){const _0x33f630={};return _0x33f630['index']=_0x2b8153,_0x33f630;}if(_0x10d46e['_forwardExtrapolationType']===Cesium__namespace[_0x65feca(0x102e,0xb65)]['HOLD'])return _0x2b8153=_0x4fd375-0x1,{'position':_0x3451e3['unpack'](_0x2c008e,_0x2b8153*_0x3451e3['packedLength'],_0x42ac42),'index':_0x2b8153};}const _0x1e678a=_0x10d46e['_xTable'],_0x5a57d0=_0x10d46e[_0x1dbb76(_0x5cc790._0x53fe33,_0x5cc790._0x1fa212)],_0x1a1469=_0x10d46e[_0x1dbb76(_0x5cc790._0xcbeb6d,-_0x5cc790._0x5c3ae9)],_0xb8051c=_0x10d46e['_packedInterpolationLength'],_0x1e59d7=_0x10d46e[_0x1dbb76(0x504,_0x5cc790._0x12ee48)];if(_0x10d46e['_updateTableLength']){_0x10d46e[_0x1dbb76(_0x5cc790._0xc9ae2a,_0x5cc790._0x3e223f)]=![];const _0x41c2b4=Math['min'](_0x1a1469[_0x1dbb76(0xb24,0x152d)](_0x10d46e['_interpolationDegree'],_0x1e59d7),_0x4fd375);_0x41c2b4!==_0x10d46e['_numberOfPoints']&&(_0x10d46e['_numberOfPoints']=_0x41c2b4,_0x1e678a['length']=_0x41c2b4,_0x5a57d0['length']=_0x41c2b4*_0xb8051c);}const _0x31cce5=_0x10d46e['_numberOfPoints']-0x1;if(_0x31cce5<0x1){_0x2b8153=0x0;const _0x3469a8={};return _0x3469a8['index']=_0x2b8153,_0x3469a8;}let _0x1933ca=0x0,_0x2ce79f=_0x4fd375-0x1;const _0x59cee9=_0x2ce79f-_0x1933ca+0x1;if(_0x59cee9>=_0x31cce5+0x1){let _0x4aacc4=_0x2b8153-(_0x31cce5/0x2|0x0)-0x1;_0x4aacc4<_0x1933ca&&(_0x4aacc4=_0x1933ca);let _0x34d4f2=_0x4aacc4+_0x31cce5;_0x34d4f2>_0x2ce79f&&(_0x34d4f2=_0x2ce79f,_0x4aacc4=_0x34d4f2-_0x31cce5,_0x4aacc4<_0x1933ca&&(_0x4aacc4=_0x1933ca)),_0x1933ca=_0x4aacc4,_0x2ce79f=_0x34d4f2;}const _0x24f254=_0x2ce79f-_0x1933ca+0x1;for(let _0x51a3be=0x0;_0x51a3be<_0x24f254;++_0x51a3be){_0x1e678a[_0x51a3be]=Cesium__namespace['JulianDate']['secondsDifference'](_0x1a8877[_0x1933ca+_0x51a3be],_0x1a8877[_0x2ce79f]);}if(!Cesium__namespace['defined'](_0x3451e3[_0x65feca(_0x5cc790._0x3a3719,0x120c)])){let _0x222507=0x0;const _0x4d476a=_0x10d46e['_packedLength'];let _0xf63e48=_0x1933ca*_0x4d476a;const _0x5cae3b=(_0x2ce79f+0x1)*_0x4d476a;while(_0xf63e48<_0x5cae3b){_0x5a57d0[_0x222507]=_0x2c008e[_0xf63e48],_0xf63e48++,_0x222507++;}}else _0x3451e3['convertPackedArrayForInterpolation'](_0x2c008e,_0x1933ca,_0x2ce79f,_0x5a57d0);const _0xf90525=Cesium__namespace['JulianDate']['secondsDifference'](_0x2b1c59,_0x1a8877[_0x2ce79f]);let _0x1329da;if(_0x1e59d7===0x0||!Cesium__namespace[_0x65feca(_0x5cc790._0x6ded94,_0x5cc790._0x3deb8d)](_0x1a1469['interpolate']))_0x1329da=_0x1a1469['interpolateOrderZero'](_0xf90525,_0x1e678a,_0x5a57d0,_0xb8051c,_0x10d46e[_0x65feca(0x429,-0x18b)]);else{const _0x39516a=Math['floor'](_0xb8051c/(_0x1e59d7+0x1));_0x1329da=_0x1a1469['interpolate'](_0xf90525,_0x1e678a,_0x5a57d0,_0x39516a,_0x1e59d7,_0x1e59d7,_0x10d46e['_interpolationResult']);}_0x2b8153=_0x1933ca;for(let _0x55032d=_0x1933ca;_0x55032d<=_0x2ce79f;_0x55032d++){const _0x24f4d9=Cesium__namespace[_0x65feca(0x175e,_0x5cc790._0x9a6d6b)]['compare'](_0x2b1c59,_0x1a8877[_0x55032d]);if(_0x24f4d9<=0x0){_0x2b8153=_0x55032d-0x1;break;}}if(!Cesium__namespace[_0x1dbb76(0x13dc,_0x5cc790._0x4e390c)](_0x3451e3[_0x1dbb76(0xe83,_0x5cc790._0x12c7fe)]))return{'position':_0x3451e3['unpack'](_0x1329da,0x0,_0x42ac42),'index':_0x2b8153};return{'position':_0x3451e3['unpackInterpolationResult'](_0x1329da,_0x2c008e,_0x1933ca,_0x2ce79f,_0x42ac42),'index':_0x2b8153};}return{'position':_0x3451e3['unpack'](_0x2c008e,_0x2b8153*_0x10d46e['_packedLength'],_0x42ac42),'index':_0x2b8153};}const _0x576adf={};_0x576adf['__proto__']=null,_0x576adf['getTransFun']=getTransFun,_0x576adf[_0x2b6441(0xb5f,0x1204)]=getPositionValue,_0x576adf[_0x306755(0x1607,0x1152)]=getMaxHeight,_0x576adf[_0x306755(0x483,0xc1f)]=getMinHeight,_0x576adf['addPositionsHeight']=addPositionsHeight,_0x576adf['setPositionsHeight']=setPositionsHeight,_0x576adf['getHeight']=getHeight,_0x576adf[_0x306755(-0x74,0x707)]=getSurfaceHeight,_0x576adf[_0x306755(0x140b,0x1326)]=getSurfaceTerrainHeight,_0x576adf[_0x2b6441(0x3ab,0xd0c)]=getSurfacePosition,_0x576adf['getCurrentMousePosition']=getCurrentMousePosition,_0x576adf['getCurrentMouseTerrainPosition']=getCurrentMouseTerrainPosition,_0x576adf[_0x306755(0x1326,0x13ba)]=getMidpoint,_0x576adf['isRepeatPoint']=isRepeatPoint,_0x576adf['getRotateCenterPoint']=getRotateCenterPoint,_0x576adf['getOnLinePointByLen']=getOnLinePointByLen,_0x576adf['getOnLinePointByRatio']=getOnLinePointByRatio,_0x576adf[_0x2b6441(0x4ca,0x241)]=getPositionByHprAndOffset,_0x576adf[_0x2b6441(0xe70,0x3e0)]=getPositionByDirectionAndLen,_0x576adf['getPositionByHprAndLen']=getPositionByHprAndLen,_0x576adf['getRayEarthPosition']=getRayEarthPosition,_0x576adf['getRayEarthPositionByMatrix']=getRayEarthPositionByMatrix,_0x576adf['extend2Earth']=extend2Earth,_0x576adf['getHeadingPitchRollByOrientation']=getHeadingPitchRollByOrientation,_0x576adf['getHeadingPitchRollByMatrix']=getHeadingPitchRollByMatrix,_0x576adf[_0x2b6441(0x1233,0x13dc)]=getHeadingPitchRollForLine,_0x576adf['getReflectVector']=getReflectVector,_0x576adf['getPropertyIndex']=getPropertyIndex;var PointUtil=_0x576adf;class SurfacePoints{constructor(_0x26cacc){const _0x50bdab={_0x53331b:0x1292,_0xf37e9a:0x8d8,_0x17bdba:0x387,_0x5e17d4:0x824,_0x36c44d:0x2f0};function _0x58280e(_0x3b6837,_0x38868e){return _0x2b6441(_0x38868e,_0x3b6837-0x6e5);}this['options']=_0x26cacc;function _0xfffe70(_0x5218f5,_0x3aad89){return _0x2b6441(_0x3aad89,_0x5218f5-0x6d4);}this['scene']=_0x26cacc[_0xfffe70(0x8c7,_0x50bdab._0x53331b)]?_0x26cacc[_0x58280e(_0x50bdab._0xf37e9a,_0x50bdab._0x17bdba)][_0x58280e(0xba9,_0x50bdab._0x5e17d4)]:_0x26cacc[_0x58280e(0xba9,0x6c3)],!this[_0xfffe70(0xb98,0x712)]&&logError(_0x58280e(0x6e6,_0x50bdab._0x36c44d),this['options']),this['positions']=LngLatArray[_0x58280e(0xdcf,0x1367)](this['options']['positions']);}async[_0x306755(0x656,0xb58)](){const _0x13bfee={_0x305c16:0x16b8,_0x41f329:0x1aef,_0x158d42:0x1895,_0x531b65:0x1a56,_0x4ccf33:0xde7,_0x484aef:0xf54};if(this['positions']==null||this['positions'][_0x3c8b2a(_0x13bfee._0x305c16,_0x13bfee._0x41f329)]===0x0){this[_0x3c8b2a(0x12b0,0x190d)]();return;}this['scene']['_terrainProviderPromise']&&await this[_0x252a90(0x189,0xb48)][_0x252a90(0x17ff,0xe7f)];const _0x1fa7ca=this[_0x3c8b2a(0xd1a,0x6c6)]['has3dtiles']??Cesium__namespace[_0x252a90(0xf89,_0x13bfee._0x158d42)](pick3DTileset(this['scene'],this[_0x3c8b2a(_0x13bfee._0x531b65,0x1559)])),_0x1b9b86=!(this[_0x252a90(_0x13bfee._0x4ccf33,0xb48)][_0x3c8b2a(_0x13bfee._0x484aef,0x1061)]instanceof Cesium__namespace['EllipsoidTerrainProvider']);this['_has3dtiles']=_0x1fa7ca;function _0x252a90(_0x383856,_0x5750c2){return _0x306755(_0x383856,_0x5750c2-0xe3);}function _0x3c8b2a(_0x32e6b1,_0x1c31c7){return _0x2b6441(_0x1c31c7,_0x32e6b1-0x65e);}this['_hasTerrain']=_0x1b9b86;if(!_0x1b9b86&&!_0x1fa7ca)return this['getResult']();return this['options']['exact']?this['_startForExact']():this['_startForSketchy']();}async['_startForExact'](){const _0x5f4657={_0x5551f4:0x12fa,_0x25542e:0xde5,_0x175a69:0x3bc,_0x4209d8:0xf50,_0x5d517b:0x13bc,_0x1e1f27:0x546,_0xfc53f3:0x13bc,_0x4743f4:0x9b3,_0x311286:0xb69,_0x24379d:0xb14,_0x1915f9:0x1174,_0xb1e64f:0xd02,_0x1ed485:0x50b,_0x1e78fa:0x8be};var _0xb8fa16;const _0x191dcd=this['positions'];function _0x1b6b3f(_0xe30146,_0x3872a){return _0x2b6441(_0x3872a,_0xe30146-0x362);}function _0x4f18b5(_0x3629e1,_0x5736af){return _0x2b6441(_0x3629e1,_0x5736af-0xeb);}if(this['_has3dtiles']){const _0x1fc0e8=[];for(let _0x2da38b=0x0,_0x29ce21=_0x191dcd[_0x4f18b5(_0x5f4657._0x5551f4,0x1145)];_0x2da38b<_0x29ce21;++_0x2da38b){_0x1fc0e8[_0x4f18b5(0xc76,0x1e3)](_0x191dcd[_0x2da38b]['clone']());}let _0x3ac60d=await this[_0x4f18b5(_0x5f4657._0x25542e,0x5af)][_0x1b6b3f(_0x5f4657._0x175a69,0xb5c)](_0x1fc0e8,this[_0x1b6b3f(0xa1e,_0x5f4657._0x4209d8)]['objectsToExclude']);for(let _0x24c50c=0x0;_0x24c50c<_0x3ac60d[_0x1b6b3f(_0x5f4657._0x5d517b,0x1bf2)];++_0x24c50c){!_0x3ac60d[_0x24c50c]&&(_0x3ac60d[_0x24c50c]=this['positions'][_0x24c50c]);}if(_0x3ac60d['length']>0x0)return this['options']['offset']&&(_0x3ac60d=addPositionsHeight(_0x3ac60d,this['options']['offset'])),this['getResult'](_0x3ac60d);}if(this[_0x4f18b5(0x1089,0x5cf)]&&(_0xb8fa16=this[_0x4f18b5(0xe07,0x5af)]['terrainProvider'])!==null&&_0xb8fa16!==void 0x0&&_0xb8fa16[_0x4f18b5(0x763,_0x5f4657._0x1e1f27)]){const _0x46adef=this['scene']['globe']['ellipsoid'],_0x40b94f=_0x46adef[_0x4f18b5(0xadd,0xe7)](_0x191dcd),_0x488668=Cesium__namespace['Cartographic']['fromCartesian'](_0x191dcd[0x0])['height'],_0x5e50b9=this['options']['offset']??0x0;let _0x475994=![];const _0x528fbe=await Cesium__namespace['sampleTerrainMostDetailed'](this[_0x1b6b3f(0x826,0x520)][_0x4f18b5(0x79b,0x9e1)],_0x40b94f);for(let _0x5abc20=0x0;_0x5abc20<_0x528fbe[_0x1b6b3f(_0x5f4657._0xfc53f3,0x1c01)];++_0x5abc20){!_0x528fbe[_0x5abc20]&&(_0x528fbe[_0x5abc20]=this['positions'][_0x5abc20]),_0x528fbe[_0x5abc20][_0x1b6b3f(_0x5f4657._0x4743f4,_0x5f4657._0x311286)]==null?(_0x475994=!![],_0x528fbe[_0x5abc20]['height']=_0x5e50b9+_0x488668):_0x528fbe[_0x5abc20]['height']=_0x5e50b9+_0x528fbe[_0x5abc20][_0x4f18b5(_0x5f4657._0x24379d,0x73c)];}const _0x51a7a0=_0x46adef[_0x4f18b5(_0x5f4657._0x1915f9,0xf4c)](_0x528fbe);return this[_0x1b6b3f(0xfb4,_0x5f4657._0xb1e64f)](_0x51a7a0,_0x475994);}return this[_0x4f18b5(_0x5f4657._0x1ed485,_0x5f4657._0x1e78fa)]();}async[_0x2b6441(0x419,0x7d3)](){const _0x1a284b={_0x57ad19:0xe4f,_0x3de6f3:0x1a9e,_0x31a1bd:0x14c9,_0x23dc62:0xb13,_0x3735aa:0x13b9,_0x576d38:0x167,_0x508419:0x738,_0x4674d1:0x77a,_0x52cc0:0x909};function _0x4e3c55(_0x1436a9,_0x575365){return _0x306755(_0x1436a9,_0x575365-0xae);}const _0x32d430=[];function _0x414267(_0x3f30c5,_0x2e92bd){return _0x306755(_0x3f30c5,_0x2e92bd- -0x2e9);}for(let _0x13c8bc=0x0,_0x7d8b95=this['positions']['length'];_0x13c8bc<_0x7d8b95;++_0x13c8bc){const _0x5a3504=Cesium__namespace['Cartographic']['fromCartesian'](this['positions'][_0x13c8bc]);let _0x10669d;if(this['_has3dtiles']){const _0x12870a=this[_0x4e3c55(_0x1a284b._0x57ad19,0xb13)][_0x4e3c55(0x1db7,_0x1a284b._0x3de6f3)](_0x5a3504,this['options']['objectsToExclude'],this['options']['width']);Cesium__namespace[_0x4e3c55(0x22d9,0x1860)](_0x12870a)&&_0x12870a>-0x3e8&&(_0x10669d=_0x12870a);}if(!Cesium__namespace[_0x414267(0x168c,_0x1a284b._0x31a1bd)](_0x10669d)){const _0x5627a2=this[_0x4e3c55(0x2e5,_0x1a284b._0x23dc62)][_0x414267(0x1650,0x1207)][_0x414267(0xb28,_0x1a284b._0x3735aa)](_0x5a3504);Cesium__namespace['defined'](_0x5627a2)&&_0x5627a2>-0x3e8&&(_0x10669d=_0x5627a2);}_0x32d430['push'](Cesium__namespace[_0x414267(-_0x1a284b._0x576d38,_0x1a284b._0x508419)][_0x4e3c55(_0x1a284b._0x4674d1,0xc89)](_0x5a3504['longitude'],_0x5a3504['latitude'],_0x10669d??_0x5a3504[_0x414267(0x134,_0x1a284b._0x52cc0)]));}return this[_0x4e3c55(0x1180,0x12a1)](_0x32d430);}['getResult'](_0x1b419b,_0x26503b){const _0x3ce306={_0x159831:0xbee,_0x31635e:0x8f8,_0x13c7ff:0x353,_0x1c9fca:0x277,_0x40aeaa:0x11c8,_0x2f8c07:0x9ff,_0x56433c:0x116d},_0x316003={_0x53a9a5:0x10a};this[_0x38bddd(_0x3ce306._0x159831,_0x3ce306._0x31635e)][_0x38bddd(_0x3ce306._0x13c7ff,_0x3ce306._0x1c9fca)]&&this[_0x54a9f6(0x8c0,0xd67)][_0x38bddd(0x640,0x277)](_0x1b419b,_0x26503b,this['positions']);const _0x1d9271={};function _0x54a9f6(_0x4456d0,_0x48fb4a){return _0x306755(_0x4456d0,_0x48fb4a-_0x316003._0x53a9a5);}_0x1d9271['positions']=_0x1b419b||this['positions'],_0x1d9271[_0x54a9f6(_0x3ce306._0x40aeaa,_0x3ce306._0x2f8c07)]=this['positions'],_0x1d9271['noHeight']=_0x26503b,_0x1d9271['has3dtiles']=this['_has3dtiles'];function _0x38bddd(_0x3192fe,_0xdc0904){return _0x306755(_0x3192fe,_0xdc0904- -0x365);}return _0x1d9271[_0x38bddd(_0x3ce306._0x56433c,0x1482)]=this['_hasTerrain'],_0x1d9271;}}function area(_0x1692ed){try{return turf__namespace['area'](_0x1692ed);}catch(_0x5cd100){return 0x0;}}function bbox(_0x54f9c4){return turf__namespace['bbox'](_0x54f9c4);}function bezierSpline(_0x176c17,_0x4121fa){const _0x5b729c={_0x5ef454:0xf7a},_0x138626={_0x527432:0x6c1};function _0x40c725(_0x39949b,_0x5d2210){return _0x2b6441(_0x5d2210,_0x39949b-_0x138626._0x527432);}try{return turf__namespace[_0x40c725(_0x5b729c._0x5ef454,0x8a0)](_0x176c17,_0x4121fa);}catch(_0x37fc2e){return _0x176c17;}}function buffer$1(_0x16e7d9,_0x1eaf16,_0x282f9d){const _0x179851={_0x3a2134:0x6c8};function _0x9139e3(_0x3bae39,_0x10d9d3){return _0x2b6441(_0x10d9d3,_0x3bae39-_0x179851._0x3a2134);}try{return turf__namespace[_0x9139e3(0xdc4,0x36c)](_0x16e7d9,_0x1eaf16,_0x282f9d);}catch(_0x1e5c5d){return _0x16e7d9;}}function convex$1(_0x5b5c99,_0x5ee80c){try{return turf__namespace['convex'](_0x5b5c99,_0x5ee80c);}catch(_0xe0b37e){return _0x5b5c99;}}function pointGrid(_0x4824e2,_0x467f56,_0x315681){function _0x316b30(_0x10f283,_0x8bd407){return _0x2b6441(_0x10f283,_0x8bd407- -0x70);}try{return turf__namespace['pointGrid'](_0x4824e2,_0x467f56,_0x315681);}catch(_0x407bca){const _0x5f1837={};return _0x5f1837[_0x316b30(0x979,0x2ad)]=[],_0x5f1837;}}function simplify(_0x33fc2e,_0x4c8c98){const _0x5b88ff={_0x16b21c:0xb0c,_0x4e728c:0x66e},_0x3c0a85={_0x453c7b:0x105},_0x45cef7={_0x1c8a3d:0x204};function _0x47a393(_0x3de32c,_0x41a97c){return _0x306755(_0x41a97c,_0x3de32c- -_0x45cef7._0x1c8a3d);}function _0xf1d3b4(_0x1bc7c2,_0x3eceeb){return _0x306755(_0x1bc7c2,_0x3eceeb- -_0x3c0a85._0x453c7b);}try{const _0x4d3239={};_0x4d3239['type']=_0xf1d3b4(0x3c7,0x8c8),_0x4d3239[_0xf1d3b4(0x1318,_0x5b88ff._0x16b21c)]=[_0x33fc2e];const _0x2480c4={'tolerance':0.0001,'highQuality':!![],'mutate':!![],..._0x4c8c98},_0x252f31=turf__namespace[_0xf1d3b4(_0x5b88ff._0x4e728c,0xb10)](_0x4d3239,_0x2480c4);return _0x252f31['coordinates'][0x0];}catch(_0x180218){return _0x33fc2e;}}const pickTilesetPassState=new Cesium__namespace['Cesium3DTilePassState']({'pass':Cesium__namespace['Cesium3DTilePass'][_0x306755(0x1b6c,0x1563)]}),packedDepthScale=new Cesium__namespace[(_0x2b6441(0xd5b,0xe42))](0x1,0x1/0xff,0x1/0xfe01,0x1/0xfd02ff),scratchRectangle=new Cesium__namespace['BoundingRectangle'](0x0,0x0,0x3,0x3),scratchColorZero=new Cesium__namespace['Color'](0x0,0x0,0x0,0x0),scratchRight=new Cesium__namespace[(_0x2b6441(0xe3c,0x480))](),scratchUp=new Cesium__namespace['Cartesian3'](),scratchPackedDepthArray=[];function interPolygonByDepth$1(_0x3fcf0d){const _0x47995d={_0xa4fa1d:0x16a6,_0xa9c8a:0xdf1,_0x218cc9:0x10cc,_0x34b128:0xe90,_0x29aab7:0xe99,_0x3750d2:0x1613,_0x3cab92:0x3b0,_0x1057a6:0x5a2,_0x3189aa:0x448,_0x10b1dc:0x17dd,_0x4a49f3:0xe8c,_0x4f140b:0xae3,_0x31f635:0xd99,_0x4a528d:0x1600,_0x73e9c1:0xf93,_0x119d55:0x72e,_0x3f0646:0x1279,_0x6f080c:0x3e5,_0x1bdb6e:0x4c7,_0xa9a268:0x7f8,_0x353260:0x865,_0x370dd3:0x1a7d,_0xe81bf9:0x19d,_0x2fb379:0x1308,_0x5f0a48:0x13a3,_0x355a83:0xd75},_0x1adad0={_0x257ee3:0xe4},_0x557792={_0xe1531c:0x2f3},_0x5f2f71={_0xf79f2b:0xd4f,_0x56af91:0x6e2},_0x47f896={_0x319e19:0xeef},_0x3b4319={_0x4ce3a6:0x33c},_0x117349=_0x3fcf0d['scene'],_0x346114=LngLatArray['toCartesians'](_0x3fcf0d[_0x59ce2b(_0x47995d._0xa4fa1d,0x1db9)]),_0x5421d6=_0x117349[_0x2e9eb8(0x15d4,_0x47995d._0xa9c8a)]['depthTestAgainstTerrain'];_0x117349[_0x59ce2b(0x11fd,_0x47995d._0x218cc9)][_0x59ce2b(0x145f,0xc77)]=!![];const _0xccd4ad=_0x3fcf0d['cameraHeight']??_0x117349['camera'][_0x2e9eb8(_0x47995d._0x34b128,0x68f)]['height'],{ray:_0x55c6d0,frustumWidth:_0xc57b1e,frustumHeight:_0x230b03,cameraUp:_0x5b5ccd}=getCameraInforForPoints(_0x346114,_0xccd4ad),_0x5d6832=Number(_0x3fcf0d['splitNum']??0x200),_0x2348d8=_0xc57b1e/_0x5d6832,_0xcde583=_0x230b03/_0x5d6832,_0x14844e=new Cesium__namespace['Picking'](_0x117349),_0x31e974=_0x14844e[_0x59ce2b(_0x47995d._0x29aab7,0x1622)],_0x514fd6=new Cesium__namespace['BoundingRectangle'](0x0,0x0,_0x5d6832,_0x5d6832);_0x31e974[_0x2e9eb8(0xe6d,0x1865)]=_0x514fd6,_0x31e974[_0x2e9eb8(0xf19,_0x47995d._0x3750d2)]['viewport']=_0x514fd6,_0x117349['view']=_0x31e974,updateOffscreenCamera(_0x55c6d0['origin'],_0x55c6d0['direction'],_0x5b5ccd,_0xc57b1e,_0x230b03,_0x31e974['camera']),Cesium__namespace['BoundingRectangle']['clone'](_0x31e974['viewport'],scratchRectangle);const _0x137b72=_0x31e974[_0x59ce2b(_0x47995d._0x3cab92,_0x47995d._0x1057a6)]['begin'](scratchRectangle,_0x31e974['viewport']);_0x117349['jobScheduler']['disableThisFrame'](),_0x117349['updateFrameState'](),_0x117349[_0x59ce2b(0x23f,-_0x47995d._0x3189aa)]['invertClassification']=![],_0x117349['frameState']['passes']['pick']=!![],_0x117349['frameState']['passes']['offscreen']=!![],_0x117349['frameState'][_0x2e9eb8(_0x47995d._0x10b1dc,_0x47995d._0x4a49f3)]=pickTilesetPassState,_0x117349['context']['uniformState'][_0x2e9eb8(_0x47995d._0x4f140b,0x6f1)](_0x117349['frameState']),_0x117349['updateEnvironment'](),_0x117349['updateAndExecuteCommands'](_0x137b72,scratchColorZero),_0x117349['resolveFramebuffers'](_0x137b72);const _0x3a3457=[];if(_0x117349['context'][_0x59ce2b(_0x47995d._0x31f635,_0x47995d._0x4a528d)]){const _0x58b4a5=_0x31e974['frustumCommandsList'][_0x59ce2b(0x1308,_0x47995d._0x73e9c1)],_0x5a0b09=new Cesium__namespace['Cartesian3']();for(let _0x71f9f7=0x0;_0x71f9f7<_0x58b4a5;++_0x71f9f7){const _0x557947=_0x14844e['getPickDepth'](_0x117349,_0x71f9f7),_0x259753=getDepth(_0x117349['context'],0x0,0x0,_0x5d6832,_0x5d6832,_0x557947);for(let _0x1c36aa=0x0;_0x1c36aa<_0x259753['length'];_0x1c36aa++){const _0x8f6381=_0x259753[_0x1c36aa];if(_0x8f6381>0x0&&_0x8f6381<0x1){const _0x490cb1=_0x31e974['frustumCommandsList'][_0x71f9f7],_0x3a3262=_0x490cb1[_0x2e9eb8(0x13d9,0xe99)]*(_0x1c36aa!==0x0?_0x117349['opaqueFrustumNearOffset']:0x1),{far:_0x118e7c}=_0x490cb1,_0x3a6b0b=_0x3a3262+_0x8f6381*(_0x118e7c-_0x3a3262),_0x2afe68=Math['floor'](_0x1c36aa/_0x5d6832),_0x15c76a=_0x1c36aa%_0x5d6832,_0x41dc4b=(_0x2afe68-_0x5d6832/0x2)*_0x230b03/_0x5d6832,_0x3ccc9e=(_0x15c76a-_0x5d6832/0x2)*_0xc57b1e/_0x5d6832,_0x492be4=new Cesium__namespace['Cartesian3']();Cesium__namespace[_0x59ce2b(_0x47995d._0x119d55,0x8fa)]['multiplyByScalar'](_0x5b5ccd,_0x41dc4b,_0x5a0b09),Cesium__namespace['Cartesian3']['add'](_0x5a0b09,_0x31e974['camera']['position'],_0x492be4),Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x31e974[_0x59ce2b(0xd55,_0x47995d._0x3f0646)]['right'],_0x3ccc9e,_0x5a0b09),Cesium__namespace[_0x59ce2b(0x72e,0xfd2)][_0x59ce2b(0xa3b,0x1069)](_0x5a0b09,_0x492be4,_0x492be4);const _0x483feb=Cesium__namespace['Ray']['clone'](_0x55c6d0);_0x483feb['origin']=_0x492be4;const _0x291f54=Cesium__namespace[_0x59ce2b(0xe95,0xeab)]['getPoint'](_0x483feb,_0x3a6b0b);!_0x3a3457[_0x1c36aa]&&(_0x3a3457[_0x1c36aa]=_0x291f54);}}}}const _0x3fe710=[];let _0x5ed31e=Number['MAX_VALUE'],_0x4cfad6=-Number['MAX_VALUE'];const _0x20a09c=_0x346114['map'](_0x43fe89=>{const _0x58d9f6=Cesium__namespace['Cartographic']['fromCartesian'](_0x43fe89);function _0x72bd26(_0x196a83,_0x3ec977){return _0x59ce2b(_0x3ec977-0xdd,_0x196a83);}function _0x4c5b00(_0x3528e0,_0x531409){return _0x2e9eb8(_0x3528e0- -_0x3b4319._0x4ce3a6,_0x531409);}return[_0x58d9f6[_0x4c5b00(0xef2,0x43e)],_0x58d9f6[_0x72bd26(_0x47f896._0x319e19,0xdbd)]];});_0x3a3457['forEach'](_0x4e3071=>{function _0x5dd3bb(_0x5e1108,_0x1be816){return _0x59ce2b(_0x5e1108-0x2fb,_0x1be816);}function _0xeb8f67(_0x3a8b43,_0x25b128){return _0x59ce2b(_0x3a8b43-0xc0,_0x25b128);}const _0x45a607=Cesium__namespace[_0x5dd3bb(0x911,0x597)]['fromCartesian'](_0x4e3071);if(_0x45a607&&pointInPolygonNested([_0x45a607['longitude'],_0x45a607['latitude']],_0x20a09c)){const _0x35f694=_0x45a607['height'];_0x4cfad6<_0x35f694&&(_0x4cfad6=_0x35f694),_0x5ed31e>_0x35f694&&(_0x5ed31e=_0x35f694),_0x4e3071['height']=_0x35f694,_0x4e3071[_0xeb8f67(_0x5f2f71._0xf79f2b,_0x5f2f71._0x56af91)]=function(){return getBoxOutLine(this,_0x2348d8,_0xcde583,_0x5b5ccd);},_0x3fe710['push'](_0x4e3071);}}),_0x117349['globe']['depthTestAgainstTerrain']=_0x5421d6,_0x117349['view']=_0x117349['defaultView'],_0x117349[_0x59ce2b(0x35f,_0x47995d._0x6f080c)]['endFrame'](),_0x14844e['destroy']();_0x5ed31e===Number[_0x59ce2b(0x7f8,_0x47995d._0x1bdb6e)]&&(_0x5ed31e=0x0);_0x4cfad6===-Number[_0x59ce2b(_0x47995d._0xa9a268,-0x89)]&&(_0x4cfad6=0x270f);const _0x4703da=_0x2348d8*_0xcde583,_0x2b59ac={};_0x2b59ac[_0x2e9eb8(0xccf,_0x47995d._0x353260)]=_0x2348d8,_0x2b59ac['height']=_0xcde583,_0x2b59ac['area']=_0x4703da;const _0x5e80b7={};_0x5e80b7[_0x2e9eb8(_0x47995d._0x370dd3,0x148d)]=_0x3fe710;function _0x59ce2b(_0x4f48c2,_0x5d0a31){return _0x306755(_0x5d0a31,_0x4f48c2- -_0x557792._0xe1531c);}function _0x2e9eb8(_0x374ca0,_0xdbcd32){return _0x306755(_0xdbcd32,_0x374ca0-_0x1adad0._0x257ee3);}return _0x5e80b7[_0x59ce2b(0x32d,-_0x47995d._0xe81bf9)]=_0x3fe710[_0x59ce2b(_0x47995d._0x2fb379,0x1cba)],_0x5e80b7['minHeight']=_0x5ed31e,_0x5e80b7[_0x2e9eb8(_0x47995d._0x5f0a48,_0x47995d._0x355a83)]=_0x4cfad6,_0x5e80b7['box']=_0x2b59ac,_0x5e80b7['totalArea']=_0x4703da*_0x3fe710['length'],_0x5e80b7;}function interPolylineByDepth$1(_0x1ca31d){const _0x18bb6b={_0xadbad0:0x39f,_0x54347e:0x1abc,_0x19cead:0x1bff,_0x5ad5ec:0x655,_0xa8659c:0x33f,_0x1fd310:0x1702,_0x2c5370:0xb12,_0xd61e36:0x355,_0x1eced5:0xb44,_0x540ace:0x360,_0x258809:0xcfe,_0x5cbe80:0xc82,_0x1d0244:0x5e,_0x5250c9:0x527,_0x34ba9e:0x126d,_0x44eb4a:0xf19,_0x141fa0:0x134b,_0xd2a773:0xd7e,_0x57ecf8:0x12b8,_0x2c3b60:0xff9,_0x4275fa:0xb49,_0x2391ce:0xa2c,_0x2e70e6:0x648,_0x3d40eb:0xc31,_0x471942:0xd6e,_0x33ea2b:0x527,_0x475616:0x7d7,_0x592aa2:0x83e,_0x5d0621:0xec4,_0x498670:0x1683,_0x597dbc:0x1af9,_0xd73c8:0x1b7c,_0xb06b0e:0xeac,_0x45aa64:0x17a8,_0x41a075:0x394,_0x3be513:0x19a6,_0x485f26:0x1332,_0x57e4a8:0x5d3,_0x2ae963:0x31,_0x43ac4f:0x15ef,_0x7ac720:0xb92,_0x3cc134:0x171e,_0x111623:0xfa0,_0x5f1856:0xd90,_0x2cb8b3:0xdfb,_0x5a1be1:0x527,_0x3ddfdb:0xfae,_0x311b30:0xa2b,_0x52436a:0xa3e},_0x52247e=_0x1ca31d[_0x27c53f(-_0x18bb6b._0xadbad0,0x56b)],_0x37e123=LngLatArray[_0x7d939(0xdae,0x5ba)](_0x1ca31d[_0x7d939(_0x18bb6b._0x54347e,0x1ef9)]),_0x221d06=_0x52247e[_0x7d939(0x1613,0xb91)]['depthTestAgainstTerrain'];_0x52247e['globe'][_0x7d939(0x1875,0x2036)]=!![];const _0x304bce=Cesium__namespace[_0x7d939(0x18d5,_0x18bb6b._0x19cead)](_0x52247e['globe'])?_0x52247e['globe']['ellipsoid']:_0x52247e['mapProjection']['ellipsoid'],_0x3f1b11=_0x52247e['context'],_0x10d3bd=_0x3f1b11['uniformState'],_0x30d4b4=_0x52247e[_0x7d939(_0x18bb6b._0x5ad5ec,-_0x18bb6b._0xa8659c)],_0x292158=_0x1ca31d['cameraHeight']??_0x52247e['camera'][_0x7d939(0xecf,_0x18bb6b._0x1fd310)]['height'],_0x39380f=new Cesium__namespace[(_0x7d939(0x8d3,0xe6a))](_0x52247e),_0x5c967a=_0x39380f['_pickOffscreenView'];function _0x7d939(_0x1ba194,_0x16ac6e){return _0x2b6441(_0x16ac6e,_0x1ba194-0x6c4);}const _0x357cc5=0.1;let _0x2b7880=[];const _0x3855f3=[];function _0x27c53f(_0x2185fb,_0x346a71){return _0x2b6441(_0x2185fb,_0x346a71-0xa7);}for(let _0x43563c=0x0,_0x14ae1a=_0x37e123['length']-0x1;_0x43563c<_0x14ae1a;_0x43563c++){const _0x122239=_0x37e123[_0x43563c],_0x5622bf=_0x37e123[_0x43563c+0x1],_0x1dfdcc=Cesium__namespace['Cartographic'][_0x7d939(_0x18bb6b._0x2c5370,_0x18bb6b._0xd61e36)](_0x122239),_0x3a9a2c=Cesium__namespace['Cartographic'][_0x27c53f(0xe59,0x4f5)](_0x5622bf),_0xeecf2b=Cesium__namespace[_0x7d939(_0x18bb6b._0x1eced5,_0x18bb6b._0x540ace)][_0x7d939(_0x18bb6b._0x258809,_0x18bb6b._0x5cbe80)](_0x1dfdcc['longitude'],_0x1dfdcc['latitude']),_0x26b8c7=Cesium__namespace[_0x27c53f(_0x18bb6b._0x1d0244,_0x18bb6b._0x5250c9)]['fromRadians'](_0x3a9a2c[_0x7d939(_0x18bb6b._0x34ba9e,0xb2f)],_0x3a9a2c['latitude']),_0x509840=Cesium__namespace[_0x27c53f(_0x18bb6b._0x44eb4a,0x527)][_0x27c53f(_0x18bb6b._0x141fa0,0xa23)](_0xeecf2b,_0x26b8c7);let _0x534af3=0x64;Cesium__namespace['defined'](_0x1ca31d['splitNum'])&&(_0x534af3=Number(_0x1ca31d[_0x27c53f(-0x128,0x1d9)]));Cesium__namespace[_0x27c53f(_0x18bb6b._0xd2a773,_0x18bb6b._0x57ecf8)](_0x1ca31d['minDistance'])&&(_0x534af3=Math['floor'](_0x509840/_0x1ca31d['minDistance']));_0x534af3>Cesium__namespace['ContextLimits']['maximumTextureSize']&&(_0x534af3=Cesium__namespace['ContextLimits']['maximumTextureSize']);const _0x186296=new Cesium__namespace['Ray'](),_0x170d61=Cesium__namespace['Cartesian3'][_0x7d939(_0x18bb6b._0x2c3b60,_0x18bb6b._0x4275fa)](_0xeecf2b,_0x26b8c7,0.5,new Cesium__namespace[(_0x27c53f(0x460,0x527))]()),_0x4d3be1=Cesium__namespace[_0x7d939(_0x18bb6b._0x2391ce,0x454)]['fromCartesian'](_0x170d61),_0x4782bd=_0x304bce['geodeticSurfaceNormalCartographic'](_0x4d3be1,new Cesium__namespace['Cartesian3']());Cesium__namespace['Cartesian3'][_0x27c53f(_0x18bb6b._0x2e70e6,_0x18bb6b._0x3d40eb)](_0x4782bd,_0x186296['direction']),_0x186296['origin']=Cesium__namespace['Cartesian3'][_0x7d939(_0x18bb6b._0x258809,_0x18bb6b._0x471942)](_0x4d3be1[_0x7d939(0x126d,0x16bc)],_0x4d3be1['latitude'],_0x292158);const _0x3355e7=Cesium__namespace[_0x27c53f(0x6d7,_0x18bb6b._0x33ea2b)][_0x27c53f(0xb26,0xc24)](_0x26b8c7,_0xeecf2b,scratchUp);Cesium__namespace[_0x27c53f(0x65f,0x527)]['normalize'](_0x3355e7,_0x3355e7);const _0x1ffd1e=_0x509840,_0x411077=new Cesium__namespace[(_0x27c53f(_0x18bb6b._0x475616,_0x18bb6b._0x592aa2))](0x0,0x0,0x1,_0x534af3);_0x5c967a['viewport']=_0x411077,_0x5c967a['passState']['viewport']=_0x411077,_0x52247e[_0x27c53f(_0x18bb6b._0x5d0621,0x473)]=_0x5c967a,updateOffscreenCamera(_0x186296[_0x7d939(_0x18bb6b._0x498670,_0x18bb6b._0x597dbc)],_0x186296['direction'],_0x3355e7,_0x357cc5,_0x1ffd1e,_0x5c967a[_0x7d939(0x116b,_0x18bb6b._0xd73c8)]),Cesium__namespace[_0x27c53f(0x16c,0x83e)]['clone'](_0x5c967a[_0x7d939(0xeac,0x887)],scratchRectangle);const _0x34dcdd=_0x5c967a['pickFramebuffer']['begin'](scratchRectangle,_0x5c967a[_0x7d939(_0x18bb6b._0xb06b0e,0x647)]);_0x52247e[_0x27c53f(_0x18bb6b._0x45aa64,0xf0e)]['disableThisFrame'](),_0x52247e[_0x27c53f(-0x31a,_0x18bb6b._0x41a075)](),_0x30d4b4['invertClassification']=![],_0x30d4b4[_0x7d939(_0x18bb6b._0x3be513,_0x18bb6b._0x485f26)]['pick']=!![],_0x30d4b4['passes'][_0x27c53f(0x715,0xd1f)]=!![],_0x30d4b4['tilesetPassState']=pickTilesetPassState,_0x10d3bd['update'](_0x30d4b4),_0x52247e[_0x27c53f(-_0x18bb6b._0x57e4a8,_0x18bb6b._0x2ae963)](),_0x52247e[_0x7d939(_0x18bb6b._0x43ac4f,0xb94)](_0x34dcdd,scratchColorZero),_0x52247e['resolveFramebuffers'](_0x34dcdd);const _0x502389=[];if(_0x52247e['context'][_0x27c53f(0xf1b,_0x18bb6b._0x7ac720)]){const _0x152173=_0x5c967a['frustumCommandsList'][_0x27c53f(0x111c,0x1101)],_0x18cdf4=new Cesium__namespace['Cartesian3']();for(let _0x2023e6=0x0;_0x2023e6<_0x152173;++_0x2023e6){const _0x29ac00=_0x39380f['getPickDepth'](_0x52247e,_0x2023e6),_0x44d7e7=getDepth(_0x3f1b11,0x0,0x0,0x1,_0x534af3,_0x29ac00);for(let _0x24fd9c=0x0,_0x455ea3=_0x44d7e7[_0x7d939(_0x18bb6b._0x3cc134,0x17e7)];_0x24fd9c<_0x455ea3;_0x24fd9c++){const _0x4f93e3=_0x44d7e7[_0x24fd9c];if(_0x4f93e3>0x0&&_0x4f93e3<0x1){const _0x534d98=_0x5c967a[_0x7d939(_0x18bb6b._0x111623,0x6c0)][_0x2023e6],_0x281c06=_0x534d98[_0x27c53f(_0x18bb6b._0x5f1856,_0x18bb6b._0x2cb8b3)]*(_0x24fd9c!==0x0?_0x52247e[_0x27c53f(0x345,0x65b)]:0x1),_0x17a4f0=_0x534d98['far'],_0x13f33d=_0x281c06+_0x4f93e3*(_0x17a4f0-_0x281c06);if(_0x455ea3>0x1){const _0xc37681=(_0x24fd9c/(_0x44d7e7['length']-0x1)-0.5)*_0x1ffd1e;Cesium__namespace[_0x27c53f(0xba5,_0x18bb6b._0x5a1be1)][_0x27c53f(0x17cb,_0x18bb6b._0x3ddfdb)](_0x3355e7,_0xc37681,_0x18cdf4);}const _0x3dfb91=Cesium__namespace['Ray'][_0x7d939(_0x18bb6b._0x311b30,0xbed)](_0x186296);Cesium__namespace[_0x27c53f(0x706,_0x18bb6b._0x5a1be1)]['add'](_0x3dfb91['origin'],_0x18cdf4,_0x3dfb91[_0x7d939(0x1683,0x1e48)]);const _0x673356=Cesium__namespace['Ray']['getPoint'](_0x3dfb91,_0x13f33d);!_0x502389[_0x24fd9c]&&(_0x502389[_0x24fd9c]=_0x673356);}}}}_0x52247e['view']=_0x52247e['defaultView'],_0x3f1b11['endFrame']();const _0x481a37=[];for(let _0x35f140=0x0,_0xcd35c6=_0x502389['length'];_0x35f140<_0xcd35c6;_0x35f140++){const _0x2f4938=_0x502389[_0x35f140];Cesium__namespace['defined'](_0x2f4938)&&_0x481a37['push'](_0x2f4938);}_0x2b7880=_0x2b7880['concat'](_0x481a37);const _0x44ec6e={};_0x44ec6e[_0x7d939(0x1040,0xd38)]=_0x509840,_0x44ec6e[_0x27c53f(0xe1f,0x149f)]=_0x481a37,_0x3855f3['push'](_0x44ec6e);}_0x52247e['globe']['depthTestAgainstTerrain']=_0x221d06,_0x39380f['destroy']();const _0x414a27={};return _0x414a27['positions']=_0x2b7880,_0x414a27[_0x7d939(_0x18bb6b._0x52436a,0x2e2)]=_0x3855f3,_0x414a27;}function getDepth(_0x33c991,_0x1f581e,_0x551e62,_0x314d66,_0x13c772,_0x262245){const _0xd1fe2b={_0x15719e:0xdf4,_0x38f32b:0x1db9,_0x16caa9:0x1770,_0x5a76b0:0xfad,_0x369825:0x1e66,_0x3927c8:0x19e7};function _0x1f920d(_0x4f9e5a,_0x256dc4){return _0x306755(_0x256dc4,_0x4f9e5a-0x175);}const _0x12c6a0={};_0x12c6a0['x']=_0x1f581e,_0x12c6a0['y']=_0x551e62,_0x12c6a0['width']=_0x314d66,_0x12c6a0[_0x5ed7c2(0x15b8,0xbe5)]=_0x13c772,_0x12c6a0['framebuffer']=_0x262245[_0x1f920d(_0xd1fe2b._0x15719e,0x43e)];function _0x5ed7c2(_0x1d9858,_0x5b1d8d){return _0x2b6441(_0x1d9858,_0x5b1d8d-0x594);}const _0x360d92=_0x33c991[_0x5ed7c2(0x164c,0x1083)](_0x12c6a0),_0x49d619=Cesium__namespace[_0x1f920d(0x1558,_0xd1fe2b._0x38f32b)]['unpackArray'](_0x360d92,scratchPackedDepthArray),_0x48a62c=[];for(let _0x3fdf4c=0x0;_0x3fdf4c<_0x49d619[_0x1f920d(_0xd1fe2b._0x16caa9,_0xd1fe2b._0x5a76b0)];++_0x3fdf4c){const _0x44b163=_0x49d619[_0x3fdf4c];Cesium__namespace['Cartesian4']['divideByScalar'](_0x44b163,0xff,_0x44b163);const _0x11ba9e=Cesium__namespace['Cartesian4'][_0x5ed7c2(_0xd1fe2b._0x369825,_0xd1fe2b._0x3927c8)](_0x44b163,packedDepthScale);_0x48a62c['push'](_0x11ba9e);}return _0x48a62c;}function updateOffscreenCamera(_0x146cdf,_0x1ebb76,_0x30c72c,_0x111c19,_0x55e4fc,_0x2787c6){const _0x413387={_0x5f0629:0xcb5};function _0x1217b0(_0x4af749,_0x11b847){return _0x306755(_0x11b847,_0x4af749- -0x1b6);}const _0x24af54=Cesium__namespace['Cartesian3']['cross'](_0x1ebb76,_0x30c72c,scratchRight);_0x2787c6['position']=_0x146cdf;function _0x2ec2f2(_0x32eae5,_0x2cd8d5){return _0x2b6441(_0x2cd8d5,_0x32eae5-0x4df);}return _0x2787c6['direction']=_0x1ebb76,_0x2787c6['up']=_0x30c72c,_0x2787c6[_0x2ec2f2(0x146d,0xb17)]=_0x24af54,_0x2787c6['frustum'][_0x1217b0(0xa35,0xd2c)]=_0x111c19,_0x2787c6[_0x2ec2f2(_0x413387._0x5f0629,0x85c)]['aspectRatio']=_0x111c19/_0x55e4fc,_0x2787c6['frustum'][_0x2ec2f2(0x1631,0x157a)](_0x2787c6[_0x2ec2f2(0x171d,0x17a2)],_0x2787c6['directionWC'],_0x2787c6['upWC']);}function getCameraInforForPoints(_0x2f33fd,_0x2705fb){const _0x50fabc={_0x502337:0xcd7,_0x3ba9c3:0x1342,_0x24305a:0xedc,_0x31a477:0xb3c,_0xc8c77a:0x1239,_0x1255f1:0xec5,_0x3c27b1:0x1123,_0x82e563:0x646,_0x50758d:0x21f,_0xf8e7bb:0xb05,_0x4df031:0x193,_0x54e283:0xfb,_0x586c68:0x75e,_0x1f26b6:0xeec},_0x30675e=Cesium__namespace['Rectangle']['fromCartesianArray'](_0x2f33fd),_0x5db63e=Cesium__namespace[_0x45adb1(_0x50fabc._0x502337,0x6e4)]['center'](_0x30675e),_0x4103ff=Cesium__namespace[_0x449d2d(0xb3c,0x526)]['fromRadians'](_0x5db63e[_0x449d2d(0x1265,0x1280)],_0x5db63e['latitude'],_0x2705fb),_0x4b89a1=Cesium__namespace[_0x449d2d(_0x50fabc._0x3ba9c3,_0x50fabc._0x24305a)][_0x449d2d(0x11d2,0xeed)]['geodeticSurfaceNormal'](_0x4103ff);Cesium__namespace['Cartesian3'][_0x45adb1(0x11e5,0x14ae)](_0x4b89a1,-0x1,_0x4b89a1);const _0x4ac6d1=Cesium__namespace[_0x449d2d(_0x50fabc._0x31a477,0x14b3)]['fromRadians'](_0x5db63e['longitude'],_0x5db63e['latitude']+_0x30675e['height']/0x2,_0x2705fb);function _0x45adb1(_0x34c710,_0x1d1bc1){return _0x2b6441(_0x1d1bc1,_0x34c710-0x2de);}const _0x42f946=Cesium__namespace[_0x449d2d(_0x50fabc._0x31a477,0x4f6)][_0x449d2d(_0x50fabc._0xc8c77a,0x1688)](_0x4ac6d1,_0x4103ff,new Cesium__namespace['Cartesian3']()),_0x5a2948=new Cesium__namespace[(_0x45adb1(_0x50fabc._0x1255f1,_0x50fabc._0x3c27b1))](_0x4103ff,_0x4b89a1),_0x1dec73=Cesium__namespace['Rectangle'][_0x45adb1(0x10ad,0x6a9)](_0x30675e),_0xd46ece=Cesium__namespace['Rectangle'][_0x45adb1(0x3cf,0xbeb)](_0x30675e),_0x3cb12c=Cesium__namespace[_0x449d2d(0x10b5,0x1634)]['northwest'](_0x30675e),_0xf51300=Cesium__namespace['Cartographic']['toCartesian'](_0x1dec73),_0x4941d3=Cesium__namespace[_0x45adb1(_0x50fabc._0x82e563,-_0x50fabc._0x50758d)][_0x449d2d(_0x50fabc._0xf8e7bb,_0x50fabc._0x4df031)](_0xd46ece),_0x435d27=Cesium__namespace[_0x45adb1(0x646,-_0x50fabc._0x54e283)]['toCartesian'](_0x3cb12c),_0x495b95=Cesium__namespace[_0x45adb1(_0x50fabc._0x586c68,_0x50fabc._0x1f26b6)]['distance'](_0xf51300,_0x4941d3),_0xd2154e=Cesium__namespace['Cartesian3']['distance'](_0xf51300,_0x435d27),_0x47c8a0={};_0x47c8a0['ray']=_0x5a2948,_0x47c8a0[_0x449d2d(0x152b,0xaaf)]=_0x495b95;function _0x449d2d(_0xc02cfa,_0x4521fb){return _0x306755(_0x4521fb,_0xc02cfa-0x11b);}return _0x47c8a0['frustumHeight']=_0xd2154e,_0x47c8a0[_0x449d2d(0x144d,0xca8)]=_0x42f946,_0x47c8a0;}function pointInPolygonNested(_0xcf146e,_0x5a40f1){const _0x59fb82={_0x32bfca:0xbea},_0x4d4b2d=_0xcf146e[0x0],_0x14b58d=_0xcf146e[0x1];function _0x5f0aac(_0x1a135f,_0x57b09f){return _0x2b6441(_0x1a135f,_0x57b09f-0x274);}let _0x1c53a9=![];const _0x5ec7d9=_0x5a40f1[_0x5f0aac(_0x59fb82._0x32bfca,0x12ce)];for(let _0x586a6b=0x0,_0xc9d464=_0x5ec7d9-0x1;_0x586a6b<_0x5ec7d9;_0xc9d464=_0x586a6b++){const _0x3e61b7=_0x5a40f1[_0x586a6b][0x0],_0x52b0a6=_0x5a40f1[_0x586a6b][0x1],_0x5c5e30=_0x5a40f1[_0xc9d464][0x0],_0x229665=_0x5a40f1[_0xc9d464][0x1],_0x3a3414=_0x52b0a6>_0x14b58d!==_0x229665>_0x14b58d&&_0x4d4b2d<(_0x5c5e30-_0x3e61b7)*(_0x14b58d-_0x52b0a6)/(_0x229665-_0x52b0a6)+_0x3e61b7;_0x3a3414&&(_0x1c53a9=!_0x1c53a9);}return _0x1c53a9;}function getBoxOutLine(_0x33df6b,_0x30d7f9,_0x47eb05,_0x28bfc4){const _0x4795fa={_0x4d6ea9:0x803,_0x3de552:0x339,_0x59bb5e:0x613,_0x476bfe:0xe67,_0x148225:0x1481,_0x3d1188:0x785,_0x4be6c7:0xa92,_0xb503b9:0x785,_0x5cef70:0x841,_0x11d0f4:0xbb2},_0x5c7f28={_0x264c5c:0x29c};function _0x4e7533(_0x52dd9a,_0x140b89){return _0x306755(_0x140b89,_0x52dd9a- -_0x5c7f28._0x264c5c);}const _0x277429=Cesium__namespace[_0x4e7533(0x785,_0x4795fa._0x4d6ea9)][_0xaacf1b(_0x4795fa._0x3de552,0x33f)](_0x33df6b,new Cesium__namespace[(_0xaacf1b(_0x4795fa._0x59bb5e,0x759))]()),_0x182deb=Cesium__namespace['Cartesian3'][_0x4e7533(_0x4795fa._0x476bfe,_0x4795fa._0x148225)](_0x28bfc4,_0x277429,_0x277429);Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x182deb,_0x30d7f9/0x2,_0x182deb);function _0xaacf1b(_0x13f9a3,_0xf364e9){return _0x306755(_0xf364e9,_0x13f9a3- -0x40e);}const _0x1c6abf=Cesium__namespace[_0x4e7533(_0x4795fa._0x3d1188,0x7ab)]['multiplyByScalar'](_0x28bfc4,_0x47eb05/0x2,new Cesium__namespace['Cartesian3']()),_0x543ea4=Cesium__namespace[_0xaacf1b(0x613,0xe99)]['add'](_0x33df6b,_0x1c6abf,new Cesium__namespace['Cartesian3']());Cesium__namespace[_0xaacf1b(0x613,0x462)]['add'](_0x543ea4,_0x182deb,_0x543ea4);const _0x1f197d=Cesium__namespace['Cartesian3'][_0x4e7533(_0x4795fa._0x4be6c7,0x1160)](_0x33df6b,_0x1c6abf,new Cesium__namespace[(_0xaacf1b(0x613,0x1a3))]());Cesium__namespace[_0x4e7533(0x785,-0x1d7)][_0xaacf1b(0xd10,0x5b5)](_0x1f197d,_0x182deb,_0x1f197d);const _0x511541=Cesium__namespace[_0x4e7533(0x785,0x11b4)]['subtract'](_0x33df6b,_0x1c6abf,new Cesium__namespace[(_0x4e7533(_0x4795fa._0xb503b9,_0x4795fa._0x5cef70))]());Cesium__namespace[_0x4e7533(0x785,_0x4795fa._0x11d0f4)]['add'](_0x511541,_0x182deb,_0x511541);const _0x31ca9d=Cesium__namespace[_0xaacf1b(0x613,0xbcd)]['subtract'](_0x33df6b,_0x1c6abf,new Cesium__namespace['Cartesian3']());return Cesium__namespace['Cartesian3']['subtract'](_0x31ca9d,_0x182deb,_0x31ca9d),[_0x543ea4,_0x511541,_0x31ca9d,_0x1f197d];}const scratchPerspectiveFrustum$1=new Cesium__namespace['PerspectiveFrustum'](),scratchPerspectiveOffCenterFrustum$1=new Cesium__namespace['PerspectiveOffCenterFrustum'](),scratchOrthographicFrustum$1=new Cesium__namespace[(_0x2b6441(0x8c5,0x127e))](),scratchOrthographicOffCenterFrustum$1=new Cesium__namespace['OrthographicOffCenterFrustum']();function getRayIntersectingPositions$1(_0x119dea){const _0x169ff0={_0x59659a:0xae3,_0x30740b:0x570,_0x4413ee:0xce2,_0x5ea29d:0xf31,_0x5f3b76:0x92d,_0x3ec3bc:0xa71,_0x336c39:0x594,_0x301e70:0xb31,_0x482e1b:0xd0d,_0xbf62ed:0x1f08,_0x2b808e:0x1385,_0x2f5a28:0x537,_0x27244:0x1c5,_0x907c8e:0x144c,_0x46371c:0x95b,_0x4e03cd:0xa03,_0x2cab5f:0x1140,_0x3306b8:0xa11,_0x5f3b23:0xa03,_0x3ac459:0xd26,_0x17e345:0x71f,_0x538436:0xf84,_0x59a9fc:0x4dc,_0x1aa7c9:0xc75,_0x56accc:0x3f0,_0x7a6b25:0x6ad,_0x4e8b71:0x1797},_0x9d2421={_0x561dae:0x22d},_0xb3786d=_0x119dea[_0x3692a0(_0x169ff0._0x59659a,0x6f1)],_0xae51cf=_0x119dea[_0x393006(_0x169ff0._0x30740b,_0x169ff0._0x4413ee)]??_0xb3786d[_0x393006(_0x169ff0._0x5ea29d,_0x169ff0._0x4413ee)],_0x14a6e7=Number(_0x119dea[_0x3692a0(0x3e8,0x35f)]??0x200),_0x46311a=new Cesium__namespace['Picking'](_0xb3786d),_0x4961e5=_0x46311a['_pickOffscreenView'],_0x362054=new Cesium__namespace['BoundingRectangle'](0x0,0x0,_0x14a6e7,_0x14a6e7);_0x4961e5['viewport']=_0x362054;function _0x3692a0(_0x5d948b,_0x172a90){return _0x2b6441(_0x5d948b,_0x172a90-_0x9d2421._0x561dae);}_0x4961e5['passState']['viewport']=_0x362054,_0xb3786d[_0x3692a0(-0x1c4,0x5f9)]=_0x4961e5,_0x4961e5['camera']=_0xae51cf;function _0x393006(_0x51741f,_0x269a8c){return _0x306755(_0x51741f,_0x269a8c- -0x366);}Cesium__namespace[_0x393006(_0x169ff0._0x5f3b76,0x9d2)][_0x3692a0(_0x169ff0._0x3ec3bc,_0x169ff0._0x336c39)](_0x4961e5[_0x3692a0(0x138b,0xa15)],scratchRectangle);const _0x25aaa7=_0x4961e5['pickFramebuffer']['begin'](scratchRectangle,_0x4961e5['viewport']);_0xb3786d['jobScheduler'][_0x393006(_0x169ff0._0x301e70,_0x169ff0._0x482e1b)](),_0xb3786d['updateFrameState'](),_0xb3786d['frameState']['invertClassification']=![],_0xb3786d['frameState']['passes'][_0x393006(0x970,0x7ae)]=!![],_0xb3786d['frameState'][_0x393006(_0x169ff0._0xbf62ed,0x151d)][_0x3692a0(0xcfe,0xea5)]=!![],_0xb3786d['frameState'][_0x3692a0(0x1e10,_0x169ff0._0x2b808e)]=pickTilesetPassState,_0xb3786d['context']['uniformState'][_0x3692a0(0x775,0x68b)](_0xb3786d['frameState']),_0xb3786d[_0x393006(_0x169ff0._0x2f5a28,_0x169ff0._0x27244)](),_0xb3786d[_0x393006(0x11f7,0x1166)](_0x25aaa7,scratchColorZero),_0xb3786d['resolveFramebuffers'](_0x25aaa7);let _0x73d9df;if(Cesium__namespace[_0x393006(0xcd5,_0x169ff0._0x907c8e)](_0xae51cf['frustum']['fov']))_0x73d9df=_0xae51cf[_0x3692a0(_0x169ff0._0x46371c,_0x169ff0._0x4e03cd)]['clone'](scratchPerspectiveFrustum$1);else{if(Cesium__namespace[_0x3692a0(0x128c,0x143e)](_0xae51cf[_0x393006(_0x169ff0._0x2cab5f,_0x169ff0._0x3306b8)]['infiniteProjectionMatrix']))_0x73d9df=_0x4961e5[_0x3692a0(0x6b2,0xcd4)]['frustum']['clone'](scratchPerspectiveOffCenterFrustum$1);else Cesium__namespace['defined'](_0xae51cf['frustum'][_0x393006(0xc3f,0x885)])?_0x73d9df=_0xae51cf['frustum']['clone'](scratchOrthographicFrustum$1):_0x73d9df=_0xae51cf[_0x3692a0(0x1178,_0x169ff0._0x5f3b23)]['clone'](scratchOrthographicOffCenterFrustum$1);}const _0x48fab6=new Array(_0x14a6e7);for(let _0x3ecdfb=0x0;_0x3ecdfb<_0x14a6e7;_0x3ecdfb++){_0x48fab6[_0x3ecdfb]=new Array(_0x14a6e7);}if(_0xb3786d['context'][_0x393006(0x10cd,_0x169ff0._0x3ac459)]){const _0x1848cf=_0x46311a[_0x393006(_0x169ff0._0x17e345,0xe85)](_0xb3786d,0x0),_0x4a3408=getDepth(_0xb3786d[_0x393006(-0x724,0x2ec)],0x0,0x0,_0x14a6e7,_0x14a6e7,_0x1848cf);for(let _0x30bb95=0x0;_0x30bb95<_0x4a3408[_0x3692a0(0xbec,0x1287)];_0x30bb95++){const _0x1092db=_0x4a3408[_0x30bb95];if(_0x1092db>0x0&&_0x1092db<0x1){const _0x17994e=_0x4961e5['frustumCommandsList'][0x0];if(!_0x17994e)continue;const _0x55f8b2=Math['floor'](_0x30bb95/_0x14a6e7),_0x23bf6b=_0x30bb95%_0x14a6e7;_0x73d9df['near']=_0x17994e['near']*_0xb3786d[_0x393006(_0x169ff0._0x538436,0x7ef)],_0x73d9df['far']=_0x17994e[_0x3692a0(_0x169ff0._0x59a9fc,_0x169ff0._0x1aa7c9)],_0xb3786d['context']['uniformState']['updateFrustum'](_0x73d9df);const _0x483ae5=Cesium__namespace['SceneTransforms']['drawingBufferToWorldCoordinates'](_0xb3786d,new Cesium__namespace[(_0x393006(_0x169ff0._0x56accc,0x186))](_0x23bf6b,_0x55f8b2),_0x1092db,new Cesium__namespace[(_0x3692a0(0x81e,_0x169ff0._0x7a6b25))]());_0x48fab6[_0x23bf6b][_0x55f8b2]=_0x483ae5;}}}return _0xb3786d['view']=_0xb3786d[_0x393006(_0x169ff0._0x4e8b71,0x12bd)],_0xb3786d['context']['endFrame'](),_0x46311a['destroy'](),_0x48fab6;}function centerOfMass(_0x42c40c,_0x4cd9e4){const _0x297efe={_0x20824b:0x15eb,_0x5e1a84:0xbad},_0x5c16a4={_0x452502:0x111};function _0x469b42(_0xcdf651,_0x3b40e7){return _0x306755(_0xcdf651,_0x3b40e7- -0x426);}if(!_0x42c40c||_0x42c40c['length']===0x0)return;function _0x10c5ea(_0x378632,_0x1801eb){return _0x306755(_0x1801eb,_0x378632-_0x5c16a4._0x452502);}const _0x43e0b8=LngLatArray['toCartesians'](_0x42c40c);try{if(_0x43e0b8['length']===0x1)return _0x43e0b8[0x0];else{if(_0x43e0b8['length']===0x2)return getMidpoint(_0x43e0b8[0x0],_0x43e0b8[0x1]);}_0x4cd9e4==null&&(_0x4cd9e4=getMaxHeight(_0x43e0b8));const _0x4f83c3=Cesium__namespace['Rectangle']['fromCartesianArray'](_0x43e0b8),_0xefeecc=Cesium__namespace[_0x10c5ea(0x10ab,0xe20)]['center'](_0x4f83c3),_0x211d27=Cesium__namespace['Cartesian3']['fromRadians'](_0xefeecc['longitude'],_0xefeecc[_0x469b42(_0x297efe._0x20824b,_0x297efe._0x5e1a84)],_0x4cd9e4);return _0x211d27;}catch(_0x17d4ec){return _0x43e0b8[Math['floor'](_0x43e0b8['length']/0x2)];}}function buffer(_0x9f2c3,_0x13798b=0x1,_0x563d25=0x8){const _0x5eca34={_0x318cd2:0x7f5,_0x1ca480:0x1074,_0x4a6c80:0xda0};function _0x56a047(_0x8de62,_0x133261){return _0x306755(_0x133261,_0x8de62- -0x476);}function _0x40a1c2(_0x1a20d0,_0x2f6cce){return _0x2b6441(_0x1a20d0,_0x2f6cce-0xe0);}try{var _0x3cd15d;if(((_0x3cd15d=_0x9f2c3)===null||_0x3cd15d===void 0x0||(_0x3cd15d=_0x3cd15d[_0x40a1c2(-0x99,0xf7)])===null||_0x3cd15d===void 0x0?void 0x0:_0x3cd15d['type'])==='Polygon'){const _0xf7160e=_0x9f2c3['geometry']['coordinates'][0x0],_0x38822f=_0xf7160e[0x0],_0x3c0ea1=_0xf7160e[_0xf7160e['length']-0x1];(_0x38822f[0x0]!==_0x3c0ea1[0x0]||_0x38822f[0x1]!==_0x3c0ea1[0x1])&&_0xf7160e['push'](_0x38822f);}const _0x38410b={};_0x38410b[_0x56a047(_0x5eca34._0x318cd2,_0x5eca34._0x1ca480)]='meters',_0x38410b[_0x40a1c2(0x134f,_0x5eca34._0x4a6c80)]=_0x563d25,_0x9f2c3=buffer$1(_0x9f2c3,_0x13798b,_0x38410b);}catch(_0x59fbe7){logError(_0x40a1c2(0x8aa,0xc02),_0x59fbe7);}return _0x9f2c3;}function bufferPoints(_0x36dbcc,_0xf34d6d=0x1,_0xe1c591=0x8){const _0x5d8fbc={_0x40eb5b:0x6b9};function _0x51c061(_0x2065e5,_0x21f3d3){return _0x2b6441(_0x2065e5,_0x21f3d3-0x42e);}try{const _0x2edae9=LngLatArray['toArray'](_0x36dbcc),_0x350cd5=_0x2edae9[0x0],_0x6661fd=_0x2edae9[_0x2edae9['length']-0x1];(_0x350cd5[0x0]!==_0x6661fd[0x0]||_0x350cd5[0x1]!==_0x6661fd[0x1])&&_0x2edae9['push'](_0x2edae9[0x0]);const _0x1487d9={};_0x1487d9['type']='Polygon',_0x1487d9['coordinates']=[_0x2edae9];const _0x452264={};_0x452264['type']='Feature',_0x452264['geometry']=_0x1487d9;const _0xe08799=_0x452264,_0x27dc52={};_0x27dc52['units']='meters',_0x27dc52['steps']=_0xe1c591;const _0x1923ba=buffer$1(_0xe08799,_0xf34d6d,_0x27dc52);return LngLatArray['toPoints'](_0x1923ba['geometry']['coordinates'][0x0]);}catch(_0x5ab0c1){logError(_0x51c061(_0x5d8fbc._0x40eb5b,0x7e7),_0x5ab0c1);}return _0x36dbcc;}function getGranularity(_0x3425bf,_0x47da1f=0xa){const _0x148725={_0x26c05a:0xe54,_0x5d0e9a:0x8fe,_0x51ff02:0xbc0,_0x5d0bad:0x8f7},_0x5bacaf=Cesium__namespace[_0x411816(_0x148725._0x26c05a,_0x148725._0x5d0e9a)]['fromCartesianArray'](LngLatArray['toCartesians'](_0x3425bf));let _0x2ede8d=Math[_0x411816(_0x148725._0x51ff02,0x999)](_0x5bacaf[_0x3f530a(0xa9b,0x933)],_0x5bacaf[_0x411816(0xaa5,_0x148725._0x5d0bad)]);function _0x3f530a(_0xce3eda,_0x4d90f1){return _0x306755(_0x4d90f1,_0xce3eda- -0x157);}_0x2ede8d/=_0x47da1f;function _0x411816(_0x1f287e,_0x3cd518){return _0x2b6441(_0x3cd518,_0x1f287e-0x45b);}return _0x2ede8d;}function interPolygon(_0x4cbd9a){const _0x2d77fa={_0x4ba796:0x84e,_0x134ffb:0xf9b},_0x4c45a5={_0x15020a:0x69a},_0x4b2180={_0x547bda:0x217},_0x42e4cb=_0x4cbd9a[_0x2362ea(_0x2d77fa._0x4ba796,0xdc)];function _0x2362ea(_0x5b975b,_0x455b92){return _0x306755(_0x455b92,_0x5b975b- -_0x4b2180._0x547bda);}const _0x5f06db=LngLatArray[_0x4b6d3e(0xd84,_0x2d77fa._0x134ffb)](_0x4cbd9a[_0x2362ea(0x1782,0x13e3)],!![]),_0x46ebfb=getGranularity(_0x5f06db,_0x4cbd9a['splitNum']);function _0x4b6d3e(_0x5115da,_0x398408){return _0x2b6441(_0x398408,_0x5115da-_0x4c45a5._0x15020a);}return new Promise((_0xb4960d,_0x1d2063)=>{const _0x5c014f={_0x3ea0a3:0x53d,_0xedfc42:0x1001,_0x40a3c2:0xb9,_0x4ad37e:0x119d,_0x2bb528:0x17bc,_0x59e8ef:0xa92,_0xc7118a:0x120e,_0x18a43a:0x26f,_0x5f86da:0x583,_0x58aaf:0xd99,_0x571bb8:0x5c3,_0x24c134:0x495,_0x19d777:0xd82,_0x12a64d:0x1075,_0x30537b:0x286,_0x274870:0x905,_0x3e5372:0xc9e,_0xb6266d:0x532,_0x2b4435:0x153b,_0x58c0de:0x30f,_0x20ebfc:0xd13},_0x2d2bdb={_0x27ae32:0xf7,_0x5ece67:0x1916,_0x4d2a67:0x808,_0x539d10:0x85c};setTimeout(()=>{const _0x2e6fb1={_0x475898:0x8b},_0x40cf7e={_0x3d0c6c:0x4e5,_0x1c0e77:0x139f,_0x185dfc:0x910,_0x2dfa4c:0xe37,_0x457e08:0x12c0,_0x440e38:0x681,_0x496ace:0x724,_0x25babc:0x885,_0x22985d:0x1ad,_0x1242d0:0x16cd},_0x160661={_0x1cbad4:0x1eb};function _0x532a44(_0x39bc56,_0xdb219e){return _0x5bbe(_0x39bc56- -0x202,_0xdb219e);}const _0x544f73=[],_0x57ffcf=new Cesium__namespace[(_0x532a44(_0x5c014f._0x3ea0a3,_0x5c014f._0xedfc42))][(_0x208d38(_0x5c014f._0x40a3c2,-0x684))]({'positions':_0x5f06db,'vertexFormat':Cesium__namespace[_0x208d38(0x1235,0x17ac)]['FLAT_VERTEX_FORMAT'],'granularity':_0x46ebfb}),_0x33b1c0=new Cesium__namespace['PolygonGeometry']['createGeometry'](_0x57ffcf);let _0x4dae39,_0x289adb,_0xbc8599,_0x263fb4,_0x39b1d1,_0xb6580;for(let _0x1a54d8=0x0;_0x1a54d8<_0x33b1c0['indices'][_0x208d38(_0x5c014f._0x4ad37e,_0x5c014f._0x2bb528)];_0x1a54d8+=0x3){_0x4dae39=_0x33b1c0[_0x532a44(0x353,-0x39b)][_0x1a54d8],_0x289adb=_0x33b1c0['indices'][_0x1a54d8+0x1],_0xbc8599=_0x33b1c0[_0x208d38(0x36a,_0x5c014f._0x59e8ef)][_0x1a54d8+0x2],_0x263fb4=new Cesium__namespace['Cartesian3'](_0x33b1c0[_0x532a44(0xc9e,_0x5c014f._0xc7118a)]['position'][_0x532a44(_0x5c014f._0x18a43a,-0x1f4)][_0x4dae39*0x3],_0x33b1c0[_0x532a44(0xc9e,_0x5c014f._0x5f86da)][_0x532a44(0xd82,0x13af)][_0x208d38(0x286,0xc54)][_0x4dae39*0x3+0x1],_0x33b1c0['attributes']['position']['values'][_0x4dae39*0x3+0x2]),_0x544f73['push'](_0x263fb4),_0x39b1d1=new Cesium__namespace[(_0x208d38(0x5c3,0xedb))](_0x33b1c0['attributes'][_0x208d38(_0x5c014f._0x58aaf,0xdd8)]['values'][_0x289adb*0x3],_0x33b1c0['attributes']['position']['values'][_0x289adb*0x3+0x1],_0x33b1c0['attributes']['position']['values'][_0x289adb*0x3+0x2]),_0x544f73['push'](_0x39b1d1),_0xb6580=new Cesium__namespace[(_0x208d38(_0x5c014f._0x571bb8,_0x5c014f._0x24c134))](_0x33b1c0['attributes'][_0x532a44(_0x5c014f._0x19d777,_0x5c014f._0x12a64d)][_0x208d38(0x286,0xcac)][_0xbc8599*0x3],_0x33b1c0[_0x208d38(0xcb5,0x3fe)][_0x532a44(0xd82,0xc40)][_0x208d38(_0x5c014f._0x30537b,_0x5c014f._0x274870)][_0xbc8599*0x3+0x1],_0x33b1c0[_0x532a44(_0x5c014f._0x3e5372,0x13cf)]['position']['values'][_0xbc8599*0x3+0x2]),_0x544f73['push'](_0xb6580);}let _0x34ac34=0x0;function _0x208d38(_0x2aa7c9,_0x5870e1){return _0x5bbe(_0x2aa7c9- -_0x160661._0x1cbad4,_0x5870e1);}let _0xd5e6b5=0x270f;const _0x4714d8=_0x4cbd9a[_0x208d38(0x1386,0x157d)]??![];function _0x5c414a(_0x369169,_0x4abce4){let _0x29b983,_0x12730e,_0x181a0d,_0x2a1526;_0x4abce4?(delete _0x4cbd9a[_0x36245c(0x440,_0x40cf7e._0x3d0c6c)],_0x29b983=getHeight(_0x42e4cb,_0x369169,_0x4cbd9a),_0x2a1526=Cesium__namespace['Cartographic']['fromCartesian'](_0x369169),_0x12730e=Cesium__namespace['Cartesian3'][_0x15c76c(_0x40cf7e._0x1c0e77,_0x40cf7e._0x185dfc)](_0x2a1526['longitude'],_0x2a1526[_0x36245c(_0x40cf7e._0x2dfa4c,_0x40cf7e._0x457e08)],0x0),_0x181a0d=Cesium__namespace[_0x36245c(0x885,_0x40cf7e._0x440e38)]['fromRadians'](_0x2a1526['longitude'],_0x2a1526['latitude'],_0x29b983)):(_0x2a1526=Cesium__namespace['Cartographic'][_0x15c76c(0xbf4,_0x40cf7e._0x496ace)](_0x369169),_0x29b983=_0x2a1526[_0x15c76c(0xdb6,0x927)],_0x12730e=Cesium__namespace[_0x36245c(_0x40cf7e._0x25babc,0x107d)]['fromRadians'](_0x2a1526['longitude'],_0x2a1526['latitude'],0x0),_0x181a0d=_0x369169);_0x34ac34<_0x29b983&&(_0x34ac34=_0x29b983);_0xd5e6b5>_0x29b983&&(_0xd5e6b5=_0x29b983);function _0x15c76c(_0x7fc147,_0x25959a){return _0x208d38(_0x25959a-0x193,_0x7fc147);}const _0x4901d1={};_0x4901d1[_0x36245c(0xa56,_0x40cf7e._0x22985d)]=_0x29b983,_0x4901d1[_0x36245c(_0x40cf7e._0x1242d0,0x14cb)]=_0x12730e,_0x4901d1['pointDM']=_0x181a0d;function _0x36245c(_0x6a98af,_0x5a7cce){return _0x208d38(_0x6a98af-0x2c2,_0x5a7cce);}return _0x4901d1;}function _0x48a8a7(_0x240e4a){const _0x23aabe=[];let _0x48bc53,_0x6e8920,_0x49d6ea;for(let _0x15a85b=0x0;_0x15a85b<_0x240e4a['positions']['length'];_0x15a85b+=0x3){_0x48bc53=_0x5c414a(_0x240e4a['positions'][_0x15a85b],_0x240e4a['noHeight']),_0x6e8920=_0x5c414a(_0x240e4a['positions'][_0x15a85b+0x1],_0x240e4a[_0x52c5b6(_0x2d2bdb._0x27ae32,0x383)]),_0x49d6ea=_0x5c414a(_0x240e4a[_0x52c5b6(_0x2d2bdb._0x5ece67,0x15af)][_0x15a85b+0x2],_0x240e4a['noHeight']);if(_0x4714d8)addPointFoyArrOnly(_0x23aabe,_0x48bc53),addPointFoyArrOnly(_0x23aabe,_0x6e8920),addPointFoyArrOnly(_0x23aabe,_0x49d6ea);else{const _0x155564={};_0x155564['point1']=_0x48bc53,_0x155564[_0x52c5b6(0x66a,0x317)]=_0x6e8920,_0x155564['point3']=_0x49d6ea,_0x23aabe['push'](_0x155564);}}function _0x52c5b6(_0x4478ce,_0x371b00){return _0x532a44(_0x371b00-_0x2e6fb1._0x475898,_0x4478ce);}Cesium__namespace['defined'](_0x4cbd9a['minHeight'])&&(_0xd5e6b5=Math['max'](_0x4cbd9a['minHeight'],_0xd5e6b5),_0x34ac34=Math['max'](_0x34ac34,_0xd5e6b5));_0x240e4a[_0x5bfe00(_0x2d2bdb._0x4d2a67,_0x2d2bdb._0x539d10)]=_0x46ebfb,_0x240e4a[_0x5bfe00(0x13d4,0xe0a)]=_0x34ac34;function _0x5bfe00(_0x211929,_0x398f92){return _0x532a44(_0x398f92- -0x40,_0x211929);}_0x240e4a['minHeight']=_0xd5e6b5,_0x240e4a['list']=_0x23aabe,_0xb4960d(_0x240e4a);}if(_0x4cbd9a['exact']){const _0x190508={};_0x190508['scene']=_0x42e4cb,_0x190508['positions']=_0x544f73,_0x190508['has3dtiles']=_0x4cbd9a[_0x532a44(_0x5c014f._0xb6266d,0x942)],_0x190508['exact']=_0x4cbd9a[_0x208d38(0x1a2,0xc1f)],computeSurfacePoints(_0x190508)['then'](_0x48a8a7);}else{const _0x2d5662={};_0x2d5662[_0x208d38(_0x5c014f._0x2b4435,0x1149)]=_0x544f73,_0x2d5662[_0x208d38(_0x5c014f._0x58c0de,0xc3f)]=!![],_0x2d5662['has3dtiles']=_0x4cbd9a['has3dtiles'],_0x2d5662[_0x532a44(0x1372,_0x5c014f._0x20ebfc)]=_0x4cbd9a['hasTerrain'],_0x48a8a7(_0x2d5662);}},0x32);});}function addPointFoyArrOnly(_0x90d367,_0x40b757){let _0x4aadb9=![];const _0xa64cea=_0x40b757['point'];for(let _0x1d32b1=0x0;_0x1d32b1<_0x90d367['length'];_0x1d32b1++){const _0x42627d=_0x90d367[_0x1d32b1][_0xa3909e(0x1219,0x17f9)];if(_0xa64cea['x']===_0x42627d['x']&&_0xa64cea['y']===_0x42627d['y']&&_0xa64cea['z']===_0x42627d['z']){_0x4aadb9=!![];break;}}function _0xa3909e(_0x36e6d9,_0x16b06d){return _0x2b6441(_0x16b06d,_0x36e6d9- -0xaf);}!_0x4aadb9&&_0x90d367['push'](_0x40b757);}function getHeightRange(_0x5e580f,_0x5cffac,_0x5bbe4b){const _0x3b8f8e={'positions':_0x5e580f,'scene':_0x5cffac,..._0x5bbe4b};return interPolygon(_0x3b8f8e);}function getTriangleArea$1(_0x1ce448,_0x1e8ea0,_0x54c85f){const _0xcd54b1={_0x5e45c3:0x940,_0xbbc6c9:0x5ff},_0x18d25d=Cesium__namespace['Cartesian3'][_0x49a93a(_0xcd54b1._0x5e45c3,_0xcd54b1._0xbbc6c9)](_0x1ce448,_0x1e8ea0),_0x29b9b0=Cesium__namespace[_0x58fed1(0x926,0x8cd)]['distance'](_0x1e8ea0,_0x54c85f),_0x2b7ba4=Cesium__namespace[_0x58fed1(0x847,0x8cd)]['distance'](_0x54c85f,_0x1ce448);function _0x49a93a(_0x1feeda,_0x3d1e63){return _0x306755(_0x3d1e63,_0x1feeda- -0x5dd);}function _0x58fed1(_0x106986,_0x4702e0){return _0x306755(_0x106986,_0x4702e0- -0x154);}const _0x57ac33=(_0x18d25d+_0x29b9b0+_0x2b7ba4)/0x2;return Math[_0x49a93a(0xf62,0x14b7)](_0x57ac33*(_0x57ac33-_0x18d25d)*(_0x57ac33-_0x29b9b0)*(_0x57ac33-_0x2b7ba4));}function computeVolume(_0x370d6c){return interPolygon(_0x370d6c)['then'](_0x2c9043=>{return updateVolumeByMinHeight(_0x2c9043);});}function updateVolumeByMinHeight(_0x22c890){const _0x5903dc={_0x8bcf4e:0xc0e,_0x484f56:0x1b7f,_0x15efb0:0x155a},_0x4b4d59={_0xe1b37c:0x511},_0x3fa4cd=_0x22c890['minHeight'];let _0x3183b3=0x0,_0x445b16=0x0;function _0x32ff35(_0xa155d1,_0x320669){return _0x2b6441(_0xa155d1,_0x320669-0x5bd);}for(let _0x50d4ad=0x0,_0x3babc4=_0x22c890[_0x32da64(-0x1c0,0x88b)]['length'];_0x50d4ad<_0x3babc4;_0x50d4ad++){const _0x23edca=_0x22c890['list'][_0x50d4ad],_0x53b8fd=_0x23edca['point1'],_0x5f27ad=_0x23edca[_0x32da64(0xf4e,0x671)],_0x5d00a2=_0x23edca['point3'],_0x3913cc=getTriangleArea$1(_0x53b8fd['point'],_0x5f27ad['point'],_0x5d00a2['point']);_0x23edca['area']=_0x3913cc,_0x3183b3+=_0x3913cc;let _0x16b9cc=_0x53b8fd['height'],_0x1183e2=_0x5f27ad['height'],_0x41e58b=_0x5d00a2[_0x32ff35(0xcfc,_0x5903dc._0x8bcf4e)];_0x16b9cc<_0x3fa4cd&&(_0x16b9cc=_0x3fa4cd);_0x1183e2<_0x3fa4cd&&(_0x1183e2=_0x3fa4cd);_0x41e58b<_0x3fa4cd&&(_0x41e58b=_0x3fa4cd);const _0x37947c=_0x3913cc*(_0x16b9cc-_0x3fa4cd+_0x1183e2-_0x3fa4cd+_0x41e58b-_0x3fa4cd)/0x3;_0x23edca['cutVolume']=_0x37947c,_0x445b16=_0x445b16+_0x37947c;}_0x22c890['totalArea']=_0x3183b3;function _0x32da64(_0x4845d1,_0x20f5f5){return _0x2b6441(_0x4845d1,_0x20f5f5-_0x4b4d59._0xe1b37c);}return _0x22c890[_0x32da64(_0x5903dc._0x484f56,_0x5903dc._0x15efb0)]=_0x445b16,_0x22c890;}function updateVolume(_0x495341,_0x48070b){const _0x340b09={_0x2873e3:0x845,_0x162df8:0x875,_0x5a779:0x1571,_0x450d34:0x815,_0x423d91:0x1e6,_0x588078:0x1143},_0x4a3e0a={_0x563064:0x5};function _0x2d6e8b(_0x3570a6,_0x135659){return _0x2b6441(_0x3570a6,_0x135659-0x1c4);}if(!_0x495341)return;const _0x1e758f=_0x495341[_0x50ea83(0xed4,_0x340b09._0x2873e3)],_0x1062c4=_0x495341[_0x2d6e8b(0x1a17,0x120d)];function _0x50ea83(_0x148bb0,_0x3e8072){return _0x306755(_0x148bb0,_0x3e8072-_0x4a3e0a._0x563064);}if(_0x48070b<=_0x1e758f)return _0x495341['fillVolume']=0x0,_0x495341[_0x50ea83(0x1b1,_0x340b09._0x162df8)]=_0x1062c4,_0x495341;let _0x1363d2=0x0,_0x51f522=0x0;for(let _0x52bd9b=0x0,_0x49e2c5=_0x495341[_0x2d6e8b(0xa90,0x53e)][_0x2d6e8b(_0x340b09._0x5a779,0x121e)];_0x52bd9b<_0x49e2c5;_0x52bd9b++){const _0x1494cc=_0x495341['list'][_0x52bd9b];_0x1363d2+=_0x1494cc['area']*(_0x48070b-_0x1e758f);const _0xb59cf9=_0x1494cc['point1'],_0x2bb5ad=_0x1494cc['point2'],_0x2ec074=_0x1494cc[_0x50ea83(0x1009,0x7dc)];let _0x2644b0=_0xb59cf9[_0x50ea83(0xfdf,0xbf7)],_0x5b2642=_0x2bb5ad[_0x2d6e8b(-0x21,0x815)],_0x4f2067=_0x2ec074[_0x2d6e8b(0xc5b,_0x340b09._0x450d34)];_0x2644b0<_0x48070b&&(_0x2644b0=_0x48070b),_0x5b2642<_0x48070b&&(_0x5b2642=_0x48070b),_0x4f2067<_0x48070b&&(_0x4f2067=_0x48070b),_0x51f522+=_0x1494cc[_0x50ea83(_0x340b09._0x423d91,0x6d3)]*(_0x2644b0-_0x48070b+_0x5b2642-_0x48070b+_0x4f2067-_0x48070b)/0x3;}return _0x495341['digVolume']=_0x51f522,_0x495341[_0x2d6e8b(0xfa5,_0x340b09._0x588078)]=_0x1363d2-(_0x1062c4-_0x51f522),_0x495341;}function getEllipseOuterPositions(_0x5346b2){const _0x20c526={_0x15fb3b:0x50f,_0x81cad2:0x15,_0x222430:0x401,_0x347b14:0x836,_0x4cba6c:0x459,_0x204ce2:0x650,_0x44d95b:0x130f},_0x23b9d6={_0x3f0c72:0x4db};let _0x469e66=_0x5346b2['position'];if(!_0x469e66)return null;_0x469e66=LngLatPoint[_0x316b7e(_0x20c526._0x15fb3b,0xcac)](_0x469e66);function _0x316b7e(_0x5e7f06,_0x470701){return _0x306755(_0x470701,_0x5e7f06- -_0x23b9d6._0x3f0c72);}const _0x2cc4e2=_0x5346b2['semiMajorAxis']??_0x5346b2[_0x2d808d(0x385,-_0x20c526._0x81cad2)],_0x58f1b6=_0x5346b2['semiMinorAxis']??_0x5346b2[_0x316b7e(0x1eb,-_0x20c526._0x222430)];if(!_0x2cc4e2||!_0x58f1b6)return[_0x469e66,_0x469e66,_0x469e66];const _0x1ecc66=_0x5346b2['rotation']??0x0;let _0x44586d=_0x5346b2[_0x316b7e(_0x20c526._0x347b14,0xc8d)]||Cesium__namespace['Math'][_0x2d808d(0xb1e,0x1346)];_0x5346b2['count']&&(_0x44586d=Math['PI']/(0x10*_0x5346b2[_0x2d808d(0x2df,_0x20c526._0x4cba6c)]));const _0x2be182={};_0x2be182['center']=_0x469e66,_0x2be182[_0x2d808d(0xdcd,_0x20c526._0x204ce2)]=_0x2cc4e2,_0x2be182['semiMinorAxis']=_0x58f1b6,_0x2be182[_0x2d808d(_0x20c526._0x44d95b,0x1302)]=_0x1ecc66,_0x2be182['granularity']=_0x44586d;const _0x3a240b=Cesium__namespace['EllipseGeometryLibrary']['computeEllipsePositions'](_0x2be182,!![],!![]),_0x30ecc6=_0x3a240b['outerPositions'];function _0x2d808d(_0x3c64a2,_0x5c4c0e){return _0x306755(_0x5c4c0e,_0x3c64a2- -0x341);}const _0x4eaef2=[];for(let _0x25a94c=0x0,_0x1246d7=_0x30ecc6['length'];_0x25a94c<_0x1246d7;_0x25a94c+=0x3){const _0xe490f5=new Cesium__namespace[(_0x2d808d(0x6e0,0x6f1))](_0x30ecc6[_0x25a94c],_0x30ecc6[_0x25a94c+0x1],_0x30ecc6[_0x25a94c+0x2]);_0x4eaef2['push'](_0xe490f5);}return _0x4eaef2;}function getCenter(_0x7408b4,_0x366303){const _0x843a3d={_0x560f9e:0xe1,_0x3bad8d:0x7f3,_0x1cd601:0x1593,_0x12ff87:0x10c4},_0x5976f5={_0x43aa70:0x24};function _0xafec50(_0x489904,_0x2def47){return _0x2b6441(_0x489904,_0x2def47- -_0x5976f5._0x43aa70);}let _0x8ebf0b;function _0x17c98d(_0x2e9168,_0x56f54f){return _0x2b6441(_0x2e9168,_0x56f54f-0x644);}try{const _0x4daaab=_0x7408b4[_0x17c98d(_0x843a3d._0x560f9e,_0x843a3d._0x3bad8d)],_0x1d53df=new Cesium__namespace['Cartesian2'](_0x4daaab['clientWidth']/0x2,_0x4daaab['clientHeight']/0x2),_0x47c88c=_0x7408b4['camera'][_0xafec50(0xedc,0x9a1)](_0x1d53df);_0x8ebf0b=_0x7408b4['globe']['pick'](_0x47c88c,_0x7408b4);!_0x8ebf0b&&(_0x8ebf0b=_0x7408b4['camera'][_0xafec50(0x638,0x10c4)](_0x1d53df));if(!_0x8ebf0b){const _0x336ada=_0x4daaab[_0x17c98d(0xd66,0x142f)]/0x64;let _0x572ead,_0x1af5ab;for(let _0x193484=0x0;_0x193484<=0x64;_0x193484++){_0x1d53df['y']=_0x336ada*_0x193484;const _0x3ba064=_0x7408b4['camera']['pickEllipsoid'](_0x1d53df,_0x7408b4['globe']['ellipsoid']);if(_0x3ba064){_0x572ead=_0x193484;break;}}for(let _0x205e2c=0x64;_0x205e2c>0x0;_0x205e2c--){_0x1d53df['y']=_0x336ada*_0x205e2c;const _0x5845ab=_0x7408b4['camera']['pickEllipsoid'](_0x1d53df,_0x7408b4[_0x17c98d(0x18ef,_0x843a3d._0x1cd601)]['ellipsoid']);if(_0x5845ab){_0x1af5ab=_0x205e2c;break;}}_0x1d53df['y']=Math['floor'](_0x336ada*(_0x572ead+(_0x1af5ab-_0x572ead)/0x2)),_0x8ebf0b=_0x7408b4['camera'][_0xafec50(0x10f4,_0x843a3d._0x12ff87)](_0x1d53df,_0x7408b4['globe']['ellipsoid']);}_0x8ebf0b&&(!_0x366303&&(_0x8ebf0b=LngLatPoint['fromCartesian'](_0x8ebf0b)));}catch(_0x214394){}return _0x8ebf0b;}function getMapExtentPositions(_0x54dc2d){const _0x54985c={_0xec28b1:0x16b9,_0x549da5:0xcb7,_0x455c31:0x12f8,_0xa734c5:0x1747,_0x2be0a5:0x1788,_0x2be389:0x67e},_0x348a06=_0x54dc2d['globe']['ellipsoid'],_0x247a82=_0x54dc2d['canvas'],_0x16d44f=_0x247a82[_0xb3065d(0x16b9,0x1656)]/0x2,_0x5f13e0=_0x247a82['clientHeight']/0x2,_0x52f83c=_0x247a82['clientWidth']/0x64;function _0xb3065d(_0x41503c,_0x3fb802){return _0x306755(_0x3fb802,_0x41503c-0xff);}const _0x3121ee=_0x247a82[_0xb3065d(_0x54985c._0xec28b1,0x1e5f)]/0x64,_0xdadad1=new Cesium__namespace['Cartesian2'](_0x16d44f,_0x5f13e0);let _0x633ee3,_0x1e87b1,_0x5d3fd4,_0x3ecf09,_0x382056=0x0,_0x27b14f=0x64;_0xdadad1['x']=_0x16d44f;for(let _0x395ab6=0x0;_0x395ab6<0x64;_0x395ab6++){_0xdadad1['y']=_0x3121ee*_0x395ab6;const _0x21db51=_0x54dc2d[_0x1cb420(0x130a,_0x54985c._0x549da5)]['pickEllipsoid'](_0xdadad1,_0x348a06);if(_0x21db51){_0x382056=_0x395ab6,_0x1e87b1=_0x21db51;break;}}for(let _0x94137c=0x64;_0x94137c>0x0;_0x94137c--){_0xdadad1['y']=_0x3121ee*_0x94137c;const _0x18b306=_0x54dc2d['camera'][_0x1cb420(0x1dc8,_0x54985c._0x455c31)](_0xdadad1,_0x348a06);if(_0x18b306){_0x27b14f=_0x94137c,_0x3ecf09=_0x18b306;break;}}let _0x327277=0x0,_0x5e1f26=0x64;_0xdadad1['y']=_0x3121ee*(_0x27b14f-_0x382056)/0x2;for(let _0x43fc91=0x0;_0x43fc91<0x64;_0x43fc91++){_0xdadad1['x']=_0x52f83c*_0x43fc91;const _0x1eff7b=_0x54dc2d['camera']['pickEllipsoid'](_0xdadad1,_0x348a06);if(_0x1eff7b){_0x327277=_0x43fc91,_0x633ee3=_0x1eff7b;break;}}for(let _0x1cc646=0x64;_0x1cc646>0x0;_0x1cc646--){_0xdadad1['x']=_0x52f83c*_0x1cc646;const _0x5ab12e=_0x54dc2d['camera'][_0xb3065d(0x1788,0x1d76)](_0xdadad1,_0x348a06);if(_0x5ab12e){_0x5e1f26=_0x1cc646,_0x5d3fd4=_0x5ab12e;break;}}let _0x25ee55,_0x5b9ce6,_0x4e95c9,_0x58bcdf;_0xdadad1['x']=_0x52f83c*_0x327277;for(let _0x183e84=_0x382056;_0x183e84<_0x27b14f;_0x183e84++){_0xdadad1['y']=_0x3121ee*_0x183e84;const _0x4ba5a1=_0x54dc2d[_0xb3065d(0x1147,0xfdf)][_0xb3065d(0x1788,_0x54985c._0xa734c5)](_0xdadad1,_0x348a06);if(_0x4ba5a1){_0x25ee55=_0x4ba5a1;break;}}for(let _0x4076cd=_0x27b14f;_0x4076cd>_0x382056;_0x4076cd--){_0xdadad1['y']=_0x3121ee*_0x4076cd;const _0x4e0fc0=_0x54dc2d['camera'][_0x1cb420(0x9b5,0x12f8)](_0xdadad1,_0x348a06);if(_0x4e0fc0){_0x58bcdf=_0x4e0fc0;break;}}function _0x1cb420(_0x3a168a,_0x3fa0b3){return _0x306755(_0x3a168a,_0x3fa0b3- -0x391);}_0xdadad1['x']=_0x52f83c*_0x5e1f26;for(let _0x327119=_0x382056;_0x327119<_0x27b14f;_0x327119++){_0xdadad1['y']=_0x3121ee*_0x327119;const _0xba67ec=_0x54dc2d['camera'][_0xb3065d(_0x54985c._0x2be0a5,0xee3)](_0xdadad1,_0x348a06);if(_0xba67ec){_0x5b9ce6=_0xba67ec;break;}}for(let _0x4d47cd=_0x27b14f;_0x4d47cd>_0x382056;_0x4d47cd--){_0xdadad1['y']=_0x3121ee*_0x4d47cd;const _0x2105f6=_0x54dc2d['camera']['pickEllipsoid'](_0xdadad1,_0x348a06);if(_0x2105f6){_0x4e95c9=_0x2105f6;break;}}const _0x19642b=[];return _0x1e87b1&&_0x19642b['push'](_0x1e87b1),_0x5b9ce6&&_0x19642b['push'](_0x5b9ce6),_0x5d3fd4&&_0x19642b['push'](_0x5d3fd4),_0x4e95c9&&_0x19642b[_0xb3065d(0x798,0xe7f)](_0x4e95c9),_0x3ecf09&&_0x19642b['push'](_0x3ecf09),_0x58bcdf&&_0x19642b[_0xb3065d(0x798,0xc7d)](_0x58bcdf),_0x633ee3&&_0x19642b['push'](_0x633ee3),_0x25ee55&&_0x19642b[_0xb3065d(0x798,_0x54985c._0x2be389)](_0x25ee55),_0x19642b;}function formatRectangle(_0x26ae5d,_0x264efb=LngLatPoint['FormatLength']){const _0x15e418={_0x297434:0x14af,_0x5b2029:0x68f,_0x56788a:0x1702},_0x39c2a0={_0x23ab1e:0x144};let _0x3dec79=formatNum$2(Cesium__namespace['Math']['toDegrees'](_0x26ae5d[_0xfbe647(0x1580,0x1554)]),_0x264efb),_0x5cae5c=formatNum$2(Cesium__namespace[_0x2cc3eb(0x1e0c,_0x15e418._0x297434)]['toDegrees'](_0x26ae5d['east']),_0x264efb),_0x2ae7b6=formatNum$2(Cesium__namespace['Math'][_0x2cc3eb(0xffe,0xf5c)](_0x26ae5d['north']),_0x264efb),_0x1f8af7=formatNum$2(Cesium__namespace['Math']['toDegrees'](_0x26ae5d['south']),_0x264efb);if(_0x3dec79>_0x5cae5c){const _0xe83797=_0x3dec79;_0x3dec79=_0x5cae5c,_0x5cae5c=_0xe83797;}function _0xfbe647(_0x4fed14,_0x33feff){return _0x306755(_0x4fed14,_0x33feff- -0x324);}if(_0x1f8af7>_0x2ae7b6){const _0x4e93c1=_0x1f8af7;_0x1f8af7=_0x2ae7b6,_0x2ae7b6=_0x4e93c1;}const _0x329db0={};_0x329db0['xmin']=_0x3dec79;function _0x2cc3eb(_0x2c08c4,_0x4d036a){return _0x306755(_0x2c08c4,_0x4d036a-_0x39c2a0._0x23ab1e);}return _0x329db0[_0xfbe647(0x61,0x214)]=_0x5cae5c,_0x329db0['ymin']=_0x1f8af7,_0x329db0['ymax']=_0x2ae7b6,_0x329db0[_0x2cc3eb(_0x15e418._0x5b2029,0xd36)]=_0x26ae5d[_0x2cc3eb(_0x15e418._0x56788a,0x1403)],_0x329db0;}function formatNum$2(_0x24fbd0,_0x4aa9cf=0x0){const _0x55bfaa=Math['pow'](0xa,_0x4aa9cf);return Math['round'](_0x24fbd0*_0x55bfaa)/_0x55bfaa;}function getExtentByGeoJSON(_0x369feb){const _0x27c0f9={_0xb21e3d:0x13c,_0x2b9707:0xf7f},_0x1a4832={_0x4946e7:0x1a5},_0x30d990={_0x1ca9d0:0x418};function _0x327245(_0x24817e,_0x1ede1f){return _0x306755(_0x1ede1f,_0x24817e- -_0x30d990._0x1ca9d0);}function _0x57e88c(_0x2600a5,_0x54279a){return _0x2b6441(_0x54279a,_0x2600a5-_0x1a4832._0x4946e7);}const _0x4da23b=bbox(_0x369feb);if(_0x4da23b&&_0x4da23b['length']===0x4){const _0x490fb9={};return _0x490fb9['xmin']=_0x4da23b[0x0],_0x490fb9['ymin']=_0x4da23b[0x1],_0x490fb9[_0x57e88c(_0x27c0f9._0xb21e3d,0xb6e)]=_0x4da23b[0x2],_0x490fb9[_0x57e88c(0x780,_0x27c0f9._0x2b9707)]=_0x4da23b[0x3],_0x490fb9;}return null;}function getRectangle(_0x51abc0,_0x53a106){const _0x4724fb={_0x247ef4:0x7a,_0x160a6a:0xc25,_0x13ce33:0x8af,_0x2600c3:0x138e,_0x1bfde3:0xe3b,_0x29c5b3:0x1375},_0x3136fc={_0x3210e9:0xc29,_0x195496:0x55},_0x3077a2={_0x7959bb:0x4};if(!_0x51abc0)return null;for(let _0x1d4be1=_0x51abc0['length']-0x1;_0x1d4be1>=0x0;_0x1d4be1--){!Cesium__namespace['defined'](_0x51abc0[_0x1d4be1])&&_0x51abc0[_0x3eb78d(-_0x4724fb._0x247ef4,-0x401)](_0x1d4be1,0x1);}if(_0x51abc0['length']===0x0)return null;const _0x42d42b=LngLatArray['toCartographics'](_0x51abc0),_0x5639ef=_0x42d42b[0x0];let _0x4f15be=_0x5639ef['longitude'],_0x301912=_0x5639ef[_0x3eb78d(_0x4724fb._0x160a6a,0x3cc)],_0x26016b=_0x5639ef['latitude'];function _0x2cc9c9(_0x2955b8,_0x2fddf4){return _0x2b6441(_0x2fddf4,_0x2955b8-0x5c4);}let _0x141827=_0x5639ef[_0x3eb78d(0xaae,_0x4724fb._0x13ce33)];function _0x3eb78d(_0x394d82,_0x3f5e05){return _0x2b6441(_0x3f5e05,_0x394d82-0x7c);}let _0x2bdfd6=_0x5639ef['height'];_0x42d42b['forEach'](_0x680c14=>{_0x4f15be=Math['min'](_0x4f15be,_0x680c14[_0x6452b2(0x1059,_0x3136fc._0x3210e9)]);function _0xccf6e6(_0x3ed4ca,_0x131b76){return _0x2cc9c9(_0x3ed4ca- -0x459,_0x131b76);}_0x301912=Math[_0xccf6e6(0x8d0,0xccb)](_0x301912,_0x680c14['longitude']),_0x26016b=Math['min'](_0x26016b,_0x680c14['latitude']);function _0x6452b2(_0x49997c,_0x561625){return _0x3eb78d(_0x561625-_0x3077a2._0x7959bb,_0x49997c);}_0x141827=Math[_0xccf6e6(0x8d0,-_0x3136fc._0x195496)](_0x141827,_0x680c14['latitude']),_0x2bdfd6=Math['max'](_0x2bdfd6,_0x680c14['height']);});if(_0x53a106)return{'xmin':Cesium__namespace['Math']['toDegrees'](_0x4f15be),'xmax':Cesium__namespace['Math']['toDegrees'](_0x301912),'ymin':Cesium__namespace[_0x2cc9c9(_0x4724fb._0x2600c3,0x1ac2)][_0x3eb78d(0x8f3,0x12c7)](_0x26016b),'ymax':Cesium__namespace['Math'][_0x2cc9c9(_0x4724fb._0x1bfde3,_0x4724fb._0x29c5b3)](_0x141827),'height':_0x2bdfd6};else{const _0x50f74e=Cesium__namespace['Rectangle'][_0x2cc9c9(0xbfe,0x6b1)](_0x4f15be,_0x26016b,_0x301912,_0x141827);return _0x50f74e['maxHeight']=_0x2bdfd6,_0x50f74e;}}function getPositionsRectVertex(_0x50b12a,_0x5acfdc=0x0){const _0xa07b77={_0x44261a:0xde2,_0x40b7a6:0x14f0},_0x27a49c={_0x9b049e:0x713};_0x50b12a=LngLatArray[_0x3b396e(_0xa07b77._0x44261a,0xdfd)](_0x50b12a);const _0x380377=Cesium__namespace[_0x13ed61(0x1084,0x10ef)]['fromCartesianArray'](_0x50b12a),_0xc801a9=getMaxHeight(_0x50b12a),_0x396bbc={};function _0x13ed61(_0x2615a1,_0x4eabb1){return _0x306755(_0x2615a1,_0x4eabb1-0x155);}function _0x3b396e(_0x45d8d0,_0x25e083){return _0x2b6441(_0x45d8d0,_0x25e083-_0x27a49c._0x9b049e);}_0x396bbc['rectangle']=_0x380377,_0x396bbc[_0x3b396e(_0xa07b77._0x40b7a6,0x17c2)]=_0x5acfdc,_0x396bbc['height']=_0xc801a9;const _0x107e79=getRectangleOuterPositions(_0x396bbc);return _0x107e79;}function getRectangleOuterPositions(_0x3c116e){const _0x49cf06={_0x50000e:0x17cd,_0x3026c8:0xb89,_0x3fb678:0x507,_0x2209e5:0x80c,_0x3bceaa:0x957,_0x3afb1e:0xa5c,_0x14126b:0xe79,_0x4fad7f:0xa90,_0x2d6520:0x6fc,_0x4a09c5:0x25b,_0x27c9b3:0xf39,_0xc6c44f:0x12af,_0x41ff78:0x1268,_0x175e2d:0x4d3,_0x40463:0x140b,_0x51e9d1:0x131f,_0x3b93fa:0xc0d},_0x37653f=_0x3c116e['rectangle'],_0x12bdd9=_0x3c116e['rotation']??0x0,_0x471379=_0x3c116e[_0x258b37(0x9da,0xd5a)]??0x0;if(_0x12bdd9===0x0)return[Cesium__namespace['Cartesian3']['fromRadians'](_0x37653f['west'],_0x37653f['south'],_0x471379),Cesium__namespace[_0x1d92c8(0x652,-0x19e)]['fromRadians'](_0x37653f[_0x1d92c8(0xd49,_0x49cf06._0x50000e)],_0x37653f['south'],_0x471379),Cesium__namespace[_0x258b37(0xdd6,_0x49cf06._0x3026c8)][_0x258b37(0x829,0xd43)](_0x37653f['east'],_0x37653f[_0x1d92c8(_0x49cf06._0x3fb678,0x56b)],_0x471379),Cesium__namespace['Cartesian3'][_0x1d92c8(_0x49cf06._0x2209e5,_0x49cf06._0x3bceaa)](_0x37653f[_0x258b37(0x1e3e,0x19e0)],_0x37653f['north'],_0x471379)];const _0x30faf7=_0x3c116e[_0x258b37(_0x49cf06._0x3afb1e,_0x49cf06._0x14126b)]??Cesium__namespace['Math'][_0x1d92c8(_0x49cf06._0x4fad7f,0x10c8)],_0x867db6=new Cesium__namespace['Rectangle'](),_0x36368d=new Cesium__namespace['Cartographic'](),_0x2e94ce=Cesium__namespace['RectangleGeometryLibrary'][_0x1d92c8(_0x49cf06._0x2d6520,0x581)](_0x37653f,_0x30faf7,_0x12bdd9,0x0,_0x867db6,_0x36368d),_0x46d1b7=_0x2e94ce[_0x1d92c8(0x823,-_0x49cf06._0x4a09c5)],_0x5675de=_0x2e94ce[_0x258b37(_0x49cf06._0x27c9b3,0xd53)],_0x15a81a=_0x3c116e['ellipsoid']??Cesium__namespace[_0x258b37(_0x49cf06._0xc6c44f,0x138f)][_0x1d92c8(0xce8,_0x49cf06._0x41ff78)];let _0x20d41b=[new Cesium__namespace['Cartesian3'](),new Cesium__namespace['Cartesian3'](),new Cesium__namespace['Cartesian3'](),new Cesium__namespace['Cartesian3']()];function _0x258b37(_0x3eb791,_0x107a5e){return _0x306755(_0x3eb791,_0x107a5e-0x168);}Cesium__namespace[_0x1d92c8(0x510,_0x49cf06._0x175e2d)]['computePosition'](_0x2e94ce,_0x15a81a,![],0x0,0x0,_0x20d41b[0x0]),Cesium__namespace[_0x258b37(_0x49cf06._0x40463,0xa47)]['computePosition'](_0x2e94ce,_0x15a81a,![],0x0,_0x5675de-0x1,_0x20d41b[0x1]),Cesium__namespace[_0x258b37(_0x49cf06._0x51e9d1,0xa47)][_0x1d92c8(_0x49cf06._0x3b93fa,0x1162)](_0x2e94ce,_0x15a81a,![],_0x46d1b7-0x1,_0x5675de-0x1,_0x20d41b[0x2]),Cesium__namespace['RectangleGeometryLibrary']['computePosition'](_0x2e94ce,_0x15a81a,![],_0x46d1b7-0x1,0x0,_0x20d41b[0x3]);_0x471379!==0x0&&(_0x20d41b=setPositionsHeight(_0x20d41b,_0x471379));function _0x1d92c8(_0x4b06b4,_0x242ecc){return _0x2b6441(_0x242ecc,_0x4b06b4-0x1d2);}return _0x20d41b;}function getRectPositionsByCenter(_0x3c646d){const _0x2db82e={_0x3ee274:0x84e,_0xb65f8b:0x554,_0x25c320:0x8b5,_0x3c63fe:0x409,_0x1a7517:0xb7e,_0x3bee47:0x879,_0x118153:0x15fa},_0x5aacd1={_0x13c74e:0x659,_0x2182dd:0x920,_0x425baf:0x8ea},_0x3208de={_0x2b3c03:0x3f9},_0x533394=LngLatPoint[_0xb65584(0xb25,_0x2db82e._0x3ee274)](_0x3c646d[_0x563555(-0x27a,_0x2db82e._0xb65f8b)]);function _0xb65584(_0x1be47c,_0x141e30){return _0x2b6441(_0x141e30,_0x1be47c-0x6dc);}const _0x555f5c=_0x3c646d[_0x563555(0x12c4,0xa43)],_0x176123=_0x3c646d['height'],_0x36dcec=_0x3c646d['rotation']??0x0,_0x3dfd8b=_0x3c646d['originX']??0.5,_0x2c48e4=_0x3c646d[_0xb65584(0x800,0x517)]??0.5,_0x4dfb21=new Cesium__namespace[(_0xb65584(0xcad,0x1293))]();function _0x563555(_0x29a3dc,_0x5bf2fc){return _0x2b6441(_0x29a3dc,_0x5bf2fc-_0x3208de._0x2b3c03);}const _0x390ab2=new Cesium__namespace[(_0xb65584(0x815,_0x2db82e._0x25c320))](),_0x24da6a=new Cesium__namespace['Matrix4'](),_0x55c343=[Cesium__namespace[_0xb65584(0xb5c,_0x2db82e._0x3c63fe)]['fromElements'](-_0x3dfd8b,-_0x2c48e4,0x0),Cesium__namespace['Cartesian3']['fromElements'](0x1-_0x3dfd8b,-_0x2c48e4,0x0),Cesium__namespace['Cartesian3'][_0xb65584(_0x2db82e._0x1a7517,0x7e4)](0x1-_0x3dfd8b,0x1-_0x2c48e4,0x0),Cesium__namespace['Cartesian3'][_0xb65584(0xb7e,0x78c)](-_0x3dfd8b,0x1-_0x2c48e4,0x0)],_0x590891=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x533394,Cesium__namespace['Ellipsoid']['WGS84'],_0x4dfb21),_0xb3da76=Cesium__namespace['Quaternion']['fromAxisAngle'](Cesium__namespace['Cartesian3']['UNIT_Z'],_0x36dcec,_0x390ab2),_0x2fa237=Cesium__namespace['Matrix4']['fromTranslationQuaternionRotationScale'],_0x45a155=_0x2fa237(Cesium__namespace[_0x563555(-0x197,_0x2db82e._0x3bee47)]['ZERO'],_0xb3da76,Cesium__namespace['Cartesian3']['fromElements'](_0x555f5c,_0x176123),_0x24da6a),_0x1991e1=Cesium__namespace['Matrix4'][_0xb65584(0x1064,_0x2db82e._0x118153)](_0x590891,_0x45a155,_0x45a155),_0xef8d7e=[];return _0x55c343['forEach'](function(_0x58b5e7,_0x20029){function _0x22c7be(_0x53770c,_0x152856){return _0xb65584(_0x53770c- -0x795,_0x152856);}function _0x466694(_0x475328,_0x1fce2e){return _0x563555(_0x1fce2e,_0x475328-0xec);}typeof _0xef8d7e[_0x20029]===_0x466694(_0x5aacd1._0x13c74e,-0xd8)&&(_0xef8d7e[_0x20029]=new Cesium__namespace['Cartesian3']()),Cesium__namespace[_0x466694(0xab6,_0x5aacd1._0x2182dd)][_0x466694(0x43d,_0x5aacd1._0x425baf)](_0x1991e1,_0x58b5e7,_0xef8d7e[_0x20029]);}),_0xef8d7e;}function isInPoly(_0x5332a8,_0x56b359){const _0x5ba0d1={_0x4a3c17:0x1100,_0x3ac6e8:0x11f4,_0x242628:0xd8b,_0x2f65f9:0xa31,_0x38f4fa:0xe7e,_0x1af277:0x8e4},_0x49f2da={_0x3bb0ed:0x9f1},_0x50478d={_0x532448:0x307},_0x2e601a={_0x445936:0x3c};_0x56b359=LngLatArray[_0x9a70c2(0x3d3,0x726)](_0x56b359),_0x5332a8=LngLatPoint['toCartesian'](_0x5332a8);if(!_0x5332a8)return![];function _0x9a70c2(_0x3603e3,_0xf33e38){return _0x2b6441(_0x3603e3,_0xf33e38-_0x2e601a._0x445936);}const _0x412ae7=Cesium__namespace['Transforms'][_0x9a70c2(_0x5ba0d1._0x4a3c17,_0x5ba0d1._0x3ac6e8)](_0x5332a8),_0x2d72c4=Cesium__namespace['Matrix4']['inverse'](_0x412ae7,new Cesium__namespace['Matrix4']());function _0x330013(_0x420f14,_0x431607){return _0x306755(_0x431607,_0x420f14- -_0x50478d._0x532448);}const _0x2aeda5=[];_0x56b359['forEach'](_0x239118=>{const _0x6322de={_0x22c28d:0x60f};function _0x10a192(_0x3238ff,_0x29dbf2){return _0x9a70c2(_0x29dbf2,_0x3238ff-_0x6322de._0x22c28d);}function _0x328dfe(_0x145068,_0x5cf759){return _0x330013(_0x5cf759-0x12b,_0x145068);}_0x2aeda5[_0x10a192(0x743,_0x49f2da._0x3bb0ed)](Cesium__namespace['Matrix4'][_0x10a192(0x5a3,0x16c)](_0x2d72c4,_0x239118,new Cesium__namespace['Cartesian3']()));});let _0x24e707=Cesium__namespace['BoundingRectangle'][_0x9a70c2(0x857,_0x5ba0d1._0x242628)](_0x2aeda5,new Cesium__namespace[(_0x330013(_0x5ba0d1._0x2f65f9,0xcd))]());_0x24e707=new Cesium__namespace[(_0x9a70c2(0x99b,_0x5ba0d1._0x38f4fa))](_0x24e707['x'],_0x24e707['y'],_0x24e707['x']+_0x24e707[_0x330013(_0x5ba0d1._0x1af277,0x59c)],_0x24e707['y']+_0x24e707['height']);const _0x3407b5=new Cesium__namespace['Cartesian3'](0x0,0x0,0x0);if(_0x3407b5['x']>=_0x24e707['x']&&_0x3407b5['x']<=_0x24e707['z']&&_0x3407b5['y']>=_0x24e707['y']&&_0x3407b5['y']<=_0x24e707['w']){const _0x3766e9=_0x2aeda5,_0x3d8b30=_0x3766e9[_0x9a70c2(0xbaa,0x1096)];let _0x24a19d=0x0;for(let _0x5e92cf=0x0;_0x5e92cf<_0x3d8b30;_0x5e92cf++){const _0x54119=_0x3766e9[_0x5e92cf];let _0x18e0fb;_0x5e92cf<_0x3d8b30-0x1?_0x18e0fb=_0x3766e9[_0x5e92cf+0x1]:_0x18e0fb=_0x3766e9[0x0];if(_0x54119['y']===_0x18e0fb['y'])continue;if(_0x3407b5['y']<Math['min'](_0x54119['y'],_0x18e0fb['y']))continue;if(_0x3407b5['y']>=Math['max'](_0x54119['y'],_0x18e0fb['y']))continue;const _0x272eb3=(_0x3407b5['y']-_0x54119['y'])*(_0x18e0fb['x']-_0x54119['x'])/(_0x18e0fb['y']-_0x54119['y'])+_0x54119['x'];_0x272eb3>_0x3407b5['x']&&_0x24a19d++;}if(_0x24a19d%0x2===0x1)return!![];}return![];}function getBezierCurve(_0x4e3998,_0x47184b){const _0x2cee40={_0x11f035:0xabc};if(!_0x4e3998||_0x4e3998[_0x12c909(0x897,0x1287)]<0x3)return _0x4e3998;const _0x195fad=LngLatArray['toArray'](_0x4e3998);_0x47184b!==null&&_0x47184b!==void 0x0&&_0x47184b['closure']&&_0x195fad['push'](_0x195fad[0x0]);function _0x53b3dc(_0x186285,_0xa22ac0){return _0x2b6441(_0x186285,_0xa22ac0-0x14c);}const _0x5fd59c=_0x195fad[_0x195fad['length']-0x1][0x2],_0x14a91f={};function _0x12c909(_0x19bd49,_0x5df650){return _0x306755(_0x19bd49,_0x5df650- -0x374);}_0x14a91f['type']='LineString',_0x14a91f['coordinates']=_0x195fad;const _0x588b47={};_0x588b47['type']='Feature',_0x588b47[_0x12c909(-0x254,0x244)]=_0x14a91f;const _0x252b8c={};_0x252b8c['resolution']=(_0x47184b===null||_0x47184b===void 0x0?void 0x0:_0x47184b['resolution'])??0x2710,_0x252b8c['sharpness']=(_0x47184b===null||_0x47184b===void 0x0?void 0x0:_0x47184b[_0x12c909(_0x2cee40._0x11f035,0x314)])??0.85;const _0x244df2=bezierSpline(_0x588b47,_0x252b8c),_0x204ed6=lonlats2cartesians(_0x244df2['geometry'][_0x12c909(0xea6,0x89d)],_0x5fd59c);return _0x47184b!==null&&_0x47184b!==void 0x0&&_0x47184b['closure']&&_0x204ed6['push'](_0x204ed6[0x0]),_0x204ed6;}function simplifyPositions(_0x403c14,_0x31d7c3){if(!_0x403c14||_0x403c14['length']<0x3)return _0x403c14;const _0x533ec7=LngLatArray['toArray'](_0x403c14);_0x31d7c3!==null&&_0x31d7c3!==void 0x0&&_0x31d7c3['closure']&&_0x533ec7['push'](_0x533ec7[0x0]);const _0xb7f753=simplify(_0x533ec7,_0x31d7c3);return _0xb7f753;}function interPolyline(_0x4fae8c){const _0x34cf92={_0x42d0f2:0x16ff,_0x36ac40:0x18ed,_0x3d3f3c:0x837,_0x4a26ef:0x305,_0x149b65:0x10fd,_0x138339:0x583,_0x16fc52:0x71f,_0x1eb787:0x996,_0x942600:0x7e3,_0x2fd7a4:0x640},_0x275abe={_0xb5ac93:0x1ea},_0x4ea15e={_0x34960e:0x548},_0x3f99da=LngLatArray[_0x3bee74(0xc32,0xc69)](_0x4fae8c['positions']),_0x172490=_0x4fae8c['scene'];let _0x53ea14;!Cesium__namespace['defined'](_0x4fae8c[_0x518544(_0x34cf92._0x42d0f2,0x127a)])&&(_0x53ea14=getGranularity(_0x3f99da,_0x4fae8c['splitNum']||(_0x4fae8c[_0x3bee74(0x94e,0xc81)]?0xa:0x64)),_0x53ea14<=0x0&&(_0x53ea14=null));const _0x507e30={};_0x507e30['positions']=_0x3f99da,_0x507e30['height']=_0x4fae8c['height'],_0x507e30['minDistance']=_0x4fae8c[_0x518544(0x16ff,_0x34cf92._0x36ac40)],_0x507e30[_0x518544(0xb27,0x10f)]=_0x53ea14;const _0x3cd55b=Cesium__namespace['PolylinePipeline'][_0x3bee74(0x711,0x57)](_0x507e30);function _0x3bee74(_0x2d5781,_0x1d88ec){return _0x2b6441(_0x1d88ec,_0x2d5781-_0x4ea15e._0x34960e);}const _0x67fb0=[];function _0x518544(_0x3de75b,_0x245e7e){return _0x306755(_0x245e7e,_0x3de75b- -_0x275abe._0xb5ac93);}for(let _0x1929c3=0x0;_0x1929c3<_0x3cd55b[_0x3bee74(0x15a2,0x104c)];_0x1929c3+=0x3){let _0x525cf0=Cesium__namespace[_0x518544(_0x34cf92._0x3d3f3c,_0x34cf92._0x4a26ef)]['unpack'](_0x3cd55b,_0x1929c3);if(_0x172490&&(_0x4fae8c[_0x3bee74(_0x34cf92._0x149b65,0x10b5)]??!![])){delete _0x4fae8c[_0x3bee74(_0x34cf92._0x138339,0xdab)];const _0x39e05b=getHeight(_0x172490,_0x525cf0,_0x4fae8c),_0x37ce19=Cesium__namespace[_0x518544(_0x34cf92._0x16fc52,0xfc4)][_0x3bee74(_0x34cf92._0x1eb787,_0x34cf92._0x942600)](_0x525cf0);_0x525cf0=Cesium__namespace['Cartesian3']['fromRadians'](_0x37ce19['longitude'],_0x37ce19['latitude'],_0x39e05b);}_0x67fb0[_0x3bee74(_0x34cf92._0x2fd7a4,0xba5)](_0x525cf0);}return _0x67fb0;}function interLine(_0x3ebbe1,_0xf92fd2={}){const _0x379aec={_0x3c8c26:0x1012,_0x57d4f7:0xad3,_0x2233ec:0x3bd,_0x4d1157:0x2096,_0x55ceba:0x1550,_0x3c7135:0xbc5,_0x555ca0:0x19f9,_0xc6deb0:0x1911},_0x2f1f73={_0x1ddcc9:0xb2},_0x48e32a={_0x4526f9:0x460};if(!_0x3ebbe1||_0x3ebbe1[_0x4442bf(0x1eb3,0x14ba)]<0x2)return _0x3ebbe1;_0x3ebbe1=LngLatArray['toCartesians'](_0x3ebbe1);function _0x4442bf(_0x443f38,_0x539b05){return _0x2b6441(_0x443f38,_0x539b05-_0x48e32a._0x4526f9);}let _0x35710b;_0xf92fd2[_0x1e1edd(0x785,0x10a2)]&&!Cesium__namespace[_0x4442bf(_0x379aec._0x3c8c26,0x1671)](_0xf92fd2['minDistance'])&&(_0x35710b=getGranularity(_0x3ebbe1,_0xf92fd2['splitNum']),_0x35710b<=0x0&&(_0x35710b=null));if(_0xf92fd2['minDistance']==='auto'){let _0x22034f=Number['MAX_VALUE'];for(let _0x33b85d=0x1,_0x1f3692=_0x3ebbe1['length'];_0x33b85d<_0x1f3692;_0x33b85d++){_0x22034f=Math['min'](_0x22034f,Cesium__namespace[_0x1e1edd(_0x379aec._0x57d4f7,_0x379aec._0x2233ec)]['distance'](_0x3ebbe1[_0x33b85d-0x1],_0x3ebbe1[_0x33b85d]));}_0xf92fd2[_0x4442bf(_0x379aec._0x4d1157,0x17a8)]=_0x22034f;}const _0x4237d9=[_0x3ebbe1[0x0]];for(let _0xbc0587=0x1,_0x546b84=_0x3ebbe1['length'];_0xbc0587<_0x546b84;_0xbc0587++){const _0x58bd9a=_0x3ebbe1[_0xbc0587-0x1],_0x3a0f44=_0x3ebbe1[_0xbc0587],_0x14e353={};_0x14e353['positions']=[_0x58bd9a,_0x3a0f44],_0x14e353['minDistance']=_0xf92fd2[_0x4442bf(0xea3,0x17a8)],_0x14e353['granularity']=_0x35710b;const _0x39ecbb=Cesium__namespace['PolylinePipeline'][_0x1e1edd(0x81c,0x6f8)](_0x14e353),_0x5ef502=Cesium__namespace['Cartographic']['fromCartesian'](_0x58bd9a)[_0x4442bf(_0x379aec._0x55ceba,0xab1)],_0x303d0e=Cesium__namespace['Cartographic']['fromCartesian'](_0x3a0f44)['height'],_0x19f0ad=(_0x303d0e-_0x5ef502)/_0x39ecbb[_0x4442bf(0x164c,0x14ba)];for(let _0x222278=0x3,_0xa2f79c=_0x39ecbb[_0x4442bf(_0x379aec._0x3c7135,0x14ba)];_0x222278<_0xa2f79c;_0x222278+=0x3){let _0x151e7c=Cesium__namespace['Cartesian3'][_0x1e1edd(0x903,0x11f)](_0x39ecbb,_0x222278);const _0xe8dd27=Cesium__namespace['Cartographic']['fromCartesian'](_0x151e7c),_0x482dd1=Number((_0x5ef502+_0x19f0ad*_0x222278)['toFixed'](0x1));_0x151e7c=Cesium__namespace['Cartesian3']['fromRadians'](_0xe8dd27[_0x1e1edd(0x11fc,_0x379aec._0x555ca0)],_0xe8dd27[_0x4442bf(_0x379aec._0xc6deb0,0xe92)],_0x482dd1),_0x4237d9[_0x4442bf(-0xaf,0x558)](_0x151e7c);}}function _0x1e1edd(_0x3503c8,_0x389d2b){return _0x306755(_0x389d2b,_0x3503c8-_0x2f1f73._0x1ddcc9);}return _0x4237d9;}function computeSurfaceLine(_0x40c6ae){const _0x353c64={_0x510001:0xd0e},_0xb5c1d9={_0x198244:0x68c},_0x797a30={_0x3bcf91:0x448};function _0x5d1d0f(_0x3489fc,_0x120adc){return _0x306755(_0x3489fc,_0x120adc- -_0x797a30._0x3bcf91);}const _0x19ee3a={..._0x40c6ae};_0x19ee3a[_0x5d1d0f(0xa4c,_0x353c64._0x510001)]=![];const _0x10346c=interPolyline(_0x19ee3a),_0x38ccb7=[];function _0x26aff1(_0x34e034,_0x3bf522){return _0x2b6441(_0x3bf522,_0x34e034-_0xb5c1d9._0x198244);}for(let _0xd0391=0x0,_0x5a4fa1=_0x10346c[_0x5d1d0f(0x1c0f,0x11b3)];_0xd0391<_0x5a4fa1;++_0xd0391){_0x38ccb7['push'](_0x10346c[_0xd0391][_0x26aff1(0x9f3,0x743)]());}return _0x40c6ae[_0x26aff1(0x1a84,0x19db)]=_0x38ccb7,new SurfacePoints(_0x40c6ae)[_0x26aff1(0xc43,0xd01)]();}function computeSurfacePoints(_0x75db7f){return new SurfacePoints(_0x75db7f)['start']();}function computeStepSurfaceLine(_0x31bc50){const _0x27de9f={_0x28a980:0x16b7,_0x2d1e75:0x13c0},_0x4b6bb1={_0xd7cb6:0x142a},_0x4187f4={_0x3efab7:0x156},_0x2e0ee3=_0x31bc50[_0x309af5(0x1d3b,_0x27de9f._0x28a980)];function _0x309af5(_0x30187c,_0x235456){return _0x306755(_0x30187c,_0x235456- -0x2e2);}const _0x21e600=[],_0x3b260e={};function _0x5ef616(_0x3ddfc6,_0x3decd1){return _0x306755(_0x3decd1,_0x3ddfc6-_0x4187f4._0x3efab7);}for(const _0x42dfa1 in _0x31bc50){if(_0x42dfa1==='positions'||_0x42dfa1==='callback'||_0x42dfa1===_0x5ef616(0xaa0,_0x27de9f._0x2d1e75)||_0x42dfa1==='endItem')continue;_0x3b260e[_0x42dfa1]=_0x31bc50[_0x42dfa1];}return new Promise((_0x5abccb,_0x319c4f)=>{setTimeout(()=>{const _0x3dc37d={_0x33b90b:0x1},_0x55863c={_0x48ccce:0x5dd,_0x3911eb:0xb80,_0x3bb17e:0x94b,_0x2575ad:0x1da4,_0x58660b:0x12a1};let _0xaa3cad=0x0;const _0x41d103=_0x2e0ee3[_0x464f11(_0x4b6bb1._0xd7cb6,0x1389)]-0x1;function _0x15fd20(){const _0x280ee1={_0x132639:0xd9b,_0x5a70ce:0x16b,_0x1518d5:0x714};if(_0xaa3cad>=_0x41d103){_0x31bc50[_0x5159ba(0x945,_0x55863c._0x48ccce)]&&_0x31bc50['callback'](_0x21e600);_0x31bc50[_0x5159ba(_0x55863c._0x3911eb,0x94b)]&&_0x31bc50[_0x5159ba(0x267,_0x55863c._0x3bb17e)](_0x21e600);_0x5abccb(_0x21e600);return;}const _0x3eb775={..._0x31bc50};function _0x5159ba(_0x2a0129,_0x2d7882){return _0x464f11(_0x2a0129,_0x2d7882-0x273);}_0x3eb775['positions']=[_0x2e0ee3[_0xaa3cad],_0x2e0ee3[_0xaa3cad+0x1]];function _0x4ea39d(_0x463ebd,_0x1aa3df){return _0x464f11(_0x1aa3df,_0x463ebd-0x205);}_0x3eb775['surfaceHeight']=![],_0x3b260e[_0x5159ba(_0x55863c._0x2575ad,0x199a)]=interPolyline(_0x3eb775),new SurfacePoints(_0x3b260e)[_0x5159ba(_0x55863c._0x58660b,0xb59)]()['then'](_0x445dc5=>{const _0x3925ce={_0x3315c0:0x5a};_0x31bc50['endItem']&&_0x31bc50[_0x20d6d5(0x5a3,_0x280ee1._0x132639)](_0x445dc5['positions'],_0x445dc5[_0xf31fed(-_0x280ee1._0x5a70ce,_0x280ee1._0x1518d5)],_0xaa3cad);function _0xf31fed(_0x275dfa,_0x3597ac){return _0x5159ba(_0x275dfa,_0x3597ac- -_0x3925ce._0x3315c0);}function _0x20d6d5(_0x14c4b7,_0x58c10e){return _0x5159ba(_0x14c4b7,_0x58c10e- -0x5c0);}_0x21e600['push'](_0x445dc5['positions']),_0xaa3cad++,_0x15fd20();});}function _0x464f11(_0x557ebe,_0x2ed067){return _0x5bbe(_0x2ed067-_0x3dc37d._0x33b90b,_0x557ebe);}_0x15fd20();},0x32);});}function getLinkedPointList(_0xd94161,_0xd4c77,_0x17589f,_0x37e24a){const _0x1c6f7d={_0x1d3701:0x70d,_0x5ed92b:0xa9b,_0x3adc5b:0x744,_0xaf7df9:0xfa8,_0x3c7e22:0xc40,_0x35d185:0x62b,_0x7c3186:0xeef,_0x281109:0xa2f,_0x47ab5c:0x3ca,_0x443e76:0xc03,_0x357be5:0x66b,_0x493213:0x6ae,_0x3bdc0a:0x11cb,_0x18ee28:0x178e},_0xf54b3a=[];_0xd94161=LngLatPoint['toCartesian'](_0xd94161),_0xd4c77=LngLatPoint[_0x2c02c5(_0x1c6f7d._0x1d3701,_0x1c6f7d._0x5ed92b)](_0xd4c77);if(Cesium__namespace[_0x2c02c5(_0x1c6f7d._0x3adc5b,_0x1c6f7d._0xaf7df9)][_0x2c02c5(_0x1c6f7d._0x3c7e22,0x78c)](_0xd94161,_0xd4c77)===0x0)return _0xf54b3a;const _0x4567ce=getSurfaceDistance$1(_0xd94161,_0xd4c77)*_0x17589f,_0x4e4c74=Cesium__namespace['Cartesian3']['clone'](_0xd94161),_0x47d51e=Cesium__namespace[_0x2c02c5(_0x1c6f7d._0x3adc5b,0x1129)][_0x2c02c5(_0x1c6f7d._0x35d185,0x4ae)](_0xd4c77),_0x5579bc=Cesium__namespace['Cartesian3'][_0xab28eb(_0x1c6f7d._0x7c3186,_0x1c6f7d._0x281109)](_0x4e4c74,Cesium__namespace['Cartesian3']['ZERO']),_0x5e88d0=Cesium__namespace['Cartesian3']['distance'](_0x47d51e,Cesium__namespace[_0xab28eb(0x9f3,_0x1c6f7d._0x47ab5c)]['ZERO']);function _0xab28eb(_0xcba9e9,_0x27b004){return _0x306755(_0x27b004,_0xcba9e9- -0x2e);}Cesium__namespace['Cartesian3']['normalize'](_0x4e4c74,_0x4e4c74),Cesium__namespace['Cartesian3']['normalize'](_0x47d51e,_0x47d51e);const _0x1f0a7b=Cesium__namespace['Cartesian3'][_0xab28eb(_0x1c6f7d._0x443e76,0x75b)](_0x4e4c74,_0x47d51e);_0xf54b3a[_0xab28eb(_0x1c6f7d._0x357be5,_0x1c6f7d._0x493213)](_0xd94161);for(let _0x2f7ba7=0x1;_0x2f7ba7<_0x37e24a-0x1;_0x2f7ba7++){const _0x369cc8=_0x2f7ba7*0x1/(_0x37e24a-0x1),_0x3b6a5e=0x1-_0x369cc8,_0x5688f6=Math['sin'](_0x3b6a5e*_0x1f0a7b)/Math['sin'](_0x1f0a7b),_0x27c47d=Math['sin'](_0x369cc8*_0x1f0a7b)/Math['sin'](_0x1f0a7b),_0x213fd2=Cesium__namespace[_0x2c02c5(_0x1c6f7d._0x3adc5b,0x214)][_0x2c02c5(_0x1c6f7d._0x3bdc0a,_0x1c6f7d._0x18ee28)](_0x4e4c74,_0x5688f6,new Cesium__namespace['Cartesian3']()),_0x59143f=Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x47d51e,_0x27c47d,new Cesium__namespace['Cartesian3']());let _0x245084=Cesium__namespace['Cartesian3'][_0x2c02c5(0xa51,0x8cc)](_0x213fd2,_0x59143f,new Cesium__namespace['Cartesian3']());const _0x18ff70=_0x369cc8*Math['PI'],_0xc0fd7e=_0x5579bc*_0x3b6a5e+_0x5e88d0*_0x369cc8+Math['sin'](_0x18ff70)*_0x4567ce;_0x245084=Cesium__namespace['Cartesian3'][_0x2c02c5(0x11cb,0xf39)](_0x245084,_0xc0fd7e,_0x245084),_0xf54b3a['push'](_0x245084);}_0xf54b3a['push'](_0xd4c77);function _0x2c02c5(_0x51b261,_0x31ac71){return _0x2b6441(_0x31ac71,_0x51b261-0x2c4);}return _0xf54b3a;}function getSurfaceDistance$1(_0x244e2b,_0x431ad2){const _0x1ba369={_0x3f3ccc:0xf76,_0x317450:0x7d8,_0x14bfb2:0xbe5},_0x46ab3f=Cesium__namespace['Cartographic'][_0x2d801c(0x601,0xa7f)](_0x244e2b);function _0x36bbff(_0x532a72,_0x35622a){return _0x306755(_0x532a72,_0x35622a- -0x217);}const _0x54ce03=Cesium__namespace[_0x36bbff(_0x1ba369._0x3f3ccc,0x6f2)][_0x36bbff(0x343,_0x1ba369._0x317450)](_0x431ad2),_0x261bac=_0x46ab3f['longitude']*0xb4/Math['PI'];function _0x2d801c(_0x3a20ca,_0xe3d21b){return _0x2b6441(_0xe3d21b,_0x3a20ca-0x1b3);}const _0x2d7c8c=_0x46ab3f['latitude']*0xb4/Math['PI'],_0x9e9547=_0x54ce03['longitude']*0xb4/Math['PI'],_0x2254db=_0x54ce03[_0x2d801c(_0x1ba369._0x14bfb2,0x1094)]*0xb4/Math['PI'],_0x2475ac=Math['sqrt']((_0x261bac-_0x9e9547)*(_0x261bac-_0x9e9547)+(_0x2d7c8c-_0x2254db)*(_0x2d7c8c-_0x2254db));return _0x2475ac;}function getOffsetLine(_0x4e5858,_0x4fdefe){const _0xc1b937={_0x35a69e:0x467};_0x4e5858=LngLatArray['toCartesians'](_0x4e5858);const _0x3d2806=[];function _0x85ebd0(_0x5f3979,_0xf81a2a){return _0x306755(_0x5f3979,_0xf81a2a- -0x481);}function _0x110b0f(_0x26e51d,_0x4cf63b){return _0x306755(_0x26e51d,_0x4cf63b- -_0xc1b937._0x35a69e);}for(let _0x3bc2bc=0x1;_0x3bc2bc<_0x4e5858['length'];_0x3bc2bc++){const _0xb3b25c=_0x4e5858[_0x3bc2bc-0x1],_0x5d6601=_0x4e5858[_0x3bc2bc],_0x23c82e=Cesium__namespace['Cartesian3'][_0x110b0f(0x1748,0xcb7)](_0xb3b25c,_0x5d6601,new Cesium__namespace[(_0x110b0f(-0x2ef,0x5ba))]()),_0xb14675=Cesium__namespace['Cartesian3']['cross'](_0xb3b25c,_0x23c82e,new Cesium__namespace['Cartesian3']()),_0x4f8bb6=computedOffsetData(_0xb3b25c,_0xb14675,_0x4fdefe*0x3e8),_0x398c23=computedOffsetData(_0x5d6601,_0xb14675,_0x4fdefe*0x3e8);_0x3bc2bc===0x1&&_0x3d2806['push'](_0x4f8bb6),_0x3d2806['push'](_0x398c23);}return _0x3d2806;}function computedOffsetData(_0x357262,_0x174fae,_0x5a6803){const _0x31ff98={_0x4bae9c:0x173e,_0x2b2a0c:0x57a};function _0x1d36c0(_0x5a1247,_0xaf97bc){return _0x306755(_0xaf97bc,_0x5a1247- -0x6f);}function _0x15b5cb(_0x230e9e,_0x19dfe2){return _0x306755(_0x19dfe2,_0x230e9e- -0x1e2);}const _0x4be70f=new Cesium__namespace[(_0x15b5cb(0xfa6,_0x31ff98._0x4bae9c))](_0x357262,_0x174fae);return Cesium__namespace['Ray'][_0x15b5cb(_0x31ff98._0x2b2a0c,0xdbf)](_0x4be70f,_0x5a6803,new Cesium__namespace['Cartesian3']());}function sliceByMaxDistance(_0x40c2e9,_0x5792c5,_0x226e45={}){const _0x3ed405={_0x3542e5:0x166d,_0x5a6de3:0x18a8,_0xdef0c5:0x1d32},_0x36d0e1={_0x2a5395:0x613};if(!_0x40c2e9||_0x40c2e9['length']<0x2)return _0x226e45['point']?_0x40c2e9[_0x5c20a1(0xca0,_0x3ed405._0x3542e5)]===0x1?_0x40c2e9[0x0]:undefined:_0x40c2e9;_0x40c2e9=LngLatArray['toCartesians'](_0x40c2e9);function _0x5c20a1(_0x3f4971,_0xb8397d){return _0x2b6441(_0x3f4971,_0xb8397d-_0x36d0e1._0x2a5395);}for(let _0x4b41b4=_0x40c2e9['length']-0x1;_0x4b41b4>=0x1;_0x4b41b4--){const _0x4d77e0=_0x40c2e9[_0x4b41b4],_0x4d7c7b=_0x40c2e9[_0x4b41b4-0x1],_0x13e59f=Cesium__namespace['Cartesian3']['distance'](_0x4d77e0,_0x4d7c7b);_0x5792c5-=_0x13e59f;if(_0x5792c5===0x0)return _0x226e45[_0x399f92(_0x3ed405._0x5a6de3,0x190c)]?_0x4d77e0:_0x40c2e9['slice'](_0x4b41b4);else{if(_0x5792c5<0x0){_0x5792c5+=_0x13e59f;const _0x584534=getOnLinePointByLen(_0x4d77e0,_0x4d7c7b,_0x5792c5);return _0x226e45[_0x399f92(0xe3b,0x190c)]?_0x584534:[_0x584534]['concat'](_0x40c2e9['slice'](_0x4b41b4));}}}function _0x399f92(_0x35cd29,_0x62f4c){return _0x306755(_0x35cd29,_0x62f4c-0xa3);}return _0x226e45[_0x5c20a1(_0x3ed405._0xdef0c5,0x18db)]?_0x40c2e9[_0x40c2e9['length']-0x1]:_0x40c2e9;}function convex(_0x5663b7,_0x29374c){const _0x2f23fa={_0x312428:0x1773,_0x31bfae:0x138d,_0x354717:0x16ec,_0x1fd9b1:0xde0,_0x1cbb98:0x9a3,_0x462fa1:0x1754,_0x16e9ee:0xa55,_0x3313d9:0x135f},_0x50d0fc={_0x531bfd:0x333},_0x8f05d9={_0xd3b293:0xf1};function _0x401dbc(_0x555350,_0x377811){return _0x306755(_0x555350,_0x377811-_0x8f05d9._0xd3b293);}function _0x346bf3(_0x29f287,_0x38c0f9){return _0x2b6441(_0x29f287,_0x38c0f9-_0x50d0fc._0x531bfd);}if(_0x5663b7[_0x346bf3(_0x2f23fa._0x312428,_0x2f23fa._0x31bfae)]>0x0){const _0x47411b=[];for(let _0x577a56=0x0;_0x577a56<_0x5663b7[_0x401dbc(0x18f5,_0x2f23fa._0x354717)];_0x577a56++){const _0x3c46e6={};_0x3c46e6[_0x401dbc(0x16c1,0x1754)]=_0x401dbc(0x401,0x7f3),_0x3c46e6[_0x346bf3(_0x2f23fa._0x1fd9b1,_0x2f23fa._0x1cbb98)]=_0x5663b7[_0x577a56];const _0x331b07={};_0x331b07['type']='Feature',_0x331b07['geometry']=_0x3c46e6,_0x47411b['push'](_0x331b07);}const _0x5290f3={};_0x5290f3[_0x401dbc(0x1789,_0x2f23fa._0x462fa1)]='FeatureCollection',_0x5290f3[_0x401dbc(_0x2f23fa._0x16e9ee,0x9af)]=_0x47411b;const _0x428bb3=convex$1(_0x5290f3,_0x29374c);if(_0x428bb3){var _0x5dbbde;const _0x23b2ef=_0x428bb3===null||_0x428bb3===void 0x0||(_0x5dbbde=_0x428bb3[_0x401dbc(0x4b5,0x6a9)])===null||_0x5dbbde===void 0x0?void 0x0:_0x5dbbde['coordinates'];_0x23b2ef&&_0x23b2ef[_0x346bf3(_0x2f23fa._0x3313d9,0x138d)]>0x0&&(_0x5663b7=_0x23b2ef[0x0]);}}return _0x5663b7;}function getGridPoints(_0x3eb491,_0x5cd2f9,_0x339b07){const _0x2891f8={_0x587cd3:0x9a4,_0x3d518d:0x10e1,_0x453a55:0xca5,_0x431a47:0xe81},_0x641326={_0x187f88:0x144,_0xaef54c:0x2a,_0x1ae980:0x935},_0x97e561=Cesium__namespace[_0x48204e(_0x2891f8._0x587cd3,0x48)][_0x48204e(0xea0,_0x2891f8._0x3d518d)](Cesium__namespace['Cartesian3']['fromDegrees'](_0x3eb491[0x0],_0x3eb491[0x1]),Cesium__namespace['Cartesian3'][_0x236add(0xaf7,0x136c)](_0x3eb491[0x2],_0x3eb491[0x3]))/(Math['sqrt'](0x2)*0x3e8),_0x5dd9b2=_0x97e561/Math['sqrt'](_0x5cd2f9),_0x5d5b56={};function _0x48204e(_0x3ccc9d,_0x420043){return _0x306755(_0x420043,_0x3ccc9d- -0x7d);}_0x5d5b56[_0x236add(_0x2891f8._0x453a55,_0x2891f8._0x431a47)]='kilometers';const _0x480d39=pointGrid(_0x3eb491,_0x5dd9b2,_0x5d5b56),_0x2692cc=[];function _0x236add(_0x1963ff,_0x3a18eb){return _0x306755(_0x3a18eb,_0x1963ff-0x3a);}return _0x480d39['features']['forEach'](_0x25d196=>{const _0x2cfe3d={_0x4d9065:0x25f};function _0x48a615(_0x42ce9f,_0x588089){return _0x236add(_0x42ce9f- -0x4ae,_0x588089);}function _0x327465(_0x16b910,_0x4d4c70){return _0x48204e(_0x16b910- -_0x2cfe3d._0x4d9065,_0x4d4c70);}const _0x232bd1=_0x25d196[_0x48a615(_0x641326._0x187f88,-_0x641326._0xaef54c)][_0x327465(_0x641326._0x1ae980,0xef7)];_0x2692cc['push'](new LngLatPoint(_0x232bd1[0x0],_0x232bd1[0x1],_0x339b07));}),{'points':_0x2692cc,'radius':Math['floor'](_0x5dd9b2*0x3e8/0x2)};}function getGridPointsByPoly(_0x2e02c5,_0x4e2912,_0x2ff613){const _0x4c1d5c={_0x21816f:0x117a,_0x2867f7:0xb17,_0x5c8f4d:0x79f,_0x355d33:0x95c},_0x55190d={_0x2ee523:0x140c,_0x4a96a4:0xe18,_0xb87913:0x629,_0x4094aa:0x3ce},_0x3f82f4={_0x54f72a:0xe5};if(_0x2e02c5['length']<0x3)return;const _0x4c2e2b=LngLatArray['toCartographics'](_0x2e02c5),_0x549311=Cesium__namespace['defined'](_0x2ff613),_0x3601ad=_0x4c2e2b[0x0];let _0x135161=_0x3601ad['longitude'],_0x2bd0f0=_0x3601ad['longitude'],_0x26d33a=_0x3601ad[_0xb24ee1(_0x4c1d5c._0x21816f,_0x4c1d5c._0x2867f7)],_0x536d8a=_0x3601ad['latitude'],_0x249552=_0x549311?_0x2ff613:_0x3601ad[_0x14dbe5(0x943,_0x4c1d5c._0x5c8f4d)];function _0xb24ee1(_0x43466b,_0x1c0bcb){return _0x2b6441(_0x43466b,_0x1c0bcb-_0x3f82f4._0x54f72a);}const _0x546959=_0x4c2e2b['map'](_0x548b44=>{_0x135161=Math['min'](_0x135161,_0x548b44['longitude']),_0x2bd0f0=Math[_0x2fe150(0xda2,0x9d4)](_0x2bd0f0,_0x548b44[_0x2fe150(_0x55190d._0x2ee523,_0x55190d._0x4a96a4)]);function _0x5c8263(_0x16cc5c,_0x351427){return _0xb24ee1(_0x16cc5c,_0x351427- -0x14b);}_0x26d33a=Math['min'](_0x26d33a,_0x548b44[_0x2fe150(_0x55190d._0xb87913,0xca1)]);function _0x2fe150(_0x550cc6,_0x272402){return _0x14dbe5(_0x272402- -0x83,_0x550cc6);}return _0x536d8a=Math['max'](_0x536d8a,_0x548b44['latitude']),!_0x549311&&(_0x249552=Math['max'](_0x249552,_0x548b44[_0x5c8263(-_0x55190d._0x4094aa,0x5eb)])),_0x548b44;}),_0x1a8872=[],_0x5b7064=_0x2bd0f0-_0x135161,_0x591963=_0x536d8a-_0x26d33a,_0x31c1fe=_0x4e2912/distanceCoor([_0x135161,_0x26d33a],[_0x2bd0f0,_0x26d33a]),_0x5ea73b=_0x4e2912/distanceCoor([_0x135161,_0x26d33a],[_0x135161,_0x536d8a]),_0x48aae1=_0x31c1fe*_0x5b7064,_0x43a50d=_0x5ea73b*_0x591963;function _0x14dbe5(_0x365291,_0x2ca581){return _0x2b6441(_0x2ca581,_0x365291-0x2f2);}const _0x2b3de7=Math['floor'](_0x5b7064/_0x48aae1),_0x346d5b=Math['floor'](_0x591963/_0x43a50d),_0x3670c3=(_0x5b7064-_0x2b3de7*_0x48aae1)/0x2,_0x2fb1d5=(_0x591963-_0x346d5b*_0x43a50d)/0x2;let _0x3ca7f7=_0x135161+_0x3670c3;while(_0x3ca7f7<=_0x2bd0f0){let _0x2e083e=_0x26d33a+_0x2fb1d5;while(_0x2e083e<=_0x536d8a){if(isInside([_0x3ca7f7,_0x2e083e],_0x546959)){const _0x4d0074=Cesium__namespace['Math'][_0xb24ee1(0xeaa,_0x4c1d5c._0x355d33)](_0x3ca7f7),_0x7195d8=Cesium__namespace['Math']['toDegrees'](_0x2e083e);_0x1a8872['push'](new LngLatPoint(_0x4d0074,_0x7195d8,_0x249552));}_0x2e083e+=_0x43a50d;}_0x3ca7f7+=_0x48aae1;}return _0x1a8872;}function distanceCoor(_0x4d8aab,_0xf70375){const _0x3374ac={_0x4566e0:0x1086,_0x39a44d:0x80d,_0x59252b:0x15f,_0x8b9c77:0x94a,_0x1d5678:0x36,_0x2699d8:0x11fa},_0x230a63=_0xf70375[0x1]-_0x4d8aab[0x1],_0x60b10d=_0xf70375[0x0]-_0x4d8aab[0x0];function _0x4a01e8(_0x211daf,_0x6819a3){return _0x2b6441(_0x211daf,_0x6819a3-0x25c);}const _0x1aea10=_0x4d8aab[0x1],_0x91d727=_0xf70375[0x1],_0x1d2923=Math[_0x4a01e8(_0x3374ac._0x4566e0,0x1337)](Math[_0x2da99a(0x490,_0x3374ac._0x39a44d)](_0x230a63/0x2),0x2)+Math['pow'](Math['sin'](_0x60b10d/0x2),0x2)*Math[_0x4a01e8(-_0x3374ac._0x59252b,0x94a)](_0x1aea10)*Math[_0x4a01e8(0x44c,_0x3374ac._0x8b9c77)](_0x91d727);function _0x2da99a(_0x3c8031,_0x865cf1){return _0x2b6441(_0x865cf1,_0x3c8031-0xf4);}return 0x2*Math[_0x4a01e8(_0x3374ac._0x1d5678,0x62e)](Math['sqrt'](_0x1d2923),Math[_0x4a01e8(0xffd,_0x3374ac._0x2699d8)](0x1-_0x1d2923))*6371008.8;}function isInside(_0x4ba671,_0x3249ee){const _0x254683={_0x160e21:0xb53,_0x1c04d6:0x1061};function _0x4e6789(_0x201174,_0x428483){return _0x2b6441(_0x428483,_0x201174- -0x56);}let _0x14daf5=![];const _0x2fad6=_0x3249ee['length'],_0x113635=_0x4ba671[0x0];function _0x2d3c7b(_0xdbedde,_0x182db3){return _0x2b6441(_0x182db3,_0xdbedde-0x62f);}const _0x5ae35a=_0x4ba671[0x1];let _0x88973d=_0x3249ee[0x0];for(let _0x5cfc11=0x0;_0x5cfc11<_0x2fad6;_0x5cfc11++){let _0x5258f9=_0x5cfc11+0x1;_0x5258f9=_0x5258f9===_0x2fad6?0x0:_0x5258f9;const _0x310799=_0x3249ee[_0x5258f9];if(_0x88973d[_0x2d3c7b(0x11d8,0xf1a)]===_0x113635&&_0x88973d['latitude']===_0x5ae35a||_0x310799[_0x4e6789(_0x254683._0x160e21,0xb0f)]===_0x113635&&_0x310799['latitude']===_0x5ae35a)return!![];else{if(_0x88973d[_0x2d3c7b(_0x254683._0x1c04d6,0x133a)]<_0x5ae35a&&_0x310799['latitude']>=_0x5ae35a||_0x88973d['latitude']>=_0x5ae35a&&_0x310799['latitude']<_0x5ae35a){const _0x40ee06=_0x88973d['longitude']+(_0x5ae35a-_0x88973d['latitude'])*(_0x310799['longitude']-_0x88973d['longitude'])/(_0x310799['latitude']-_0x88973d[_0x2d3c7b(_0x254683._0x1c04d6,0xd74)]);if(_0x40ee06===_0x113635)return!![];else _0x40ee06>_0x113635&&(_0x14daf5=!_0x14daf5);}}_0x88973d=_0x310799;}return _0x14daf5;}function getHeightRangeByDepth(_0x43b0ca,_0x2e5ea0,_0x285848){return new Promise((_0x42f7b3,_0x4589c0)=>{setTimeout(()=>{const _0x2d74d1={_0x5d7019:0x28d};function _0x58f8b2(_0x181d53,_0x535348){return _0x5bbe(_0x181d53-_0x2d74d1._0x5d7019,_0x535348);}const _0x50bfe3={..._0x285848};_0x50bfe3[_0x58f8b2(0x19b3,0x202d)]=_0x43b0ca,_0x50bfe3['scene']=_0x2e5ea0;const _0x2febc9=interPolygonByDepth$1(_0x50bfe3);setTimeout(()=>{_0x42f7b3(_0x2febc9);},0xa);},0xa);});}function interPolygonByDepth(_0x3c4289){return new Promise((_0x2ba8f3,_0x454c95)=>{setTimeout(()=>{const _0x29529a=interPolygonByDepth$1(_0x3c4289);setTimeout(()=>{_0x2ba8f3(_0x29529a);},0xa);},0xa);});}const getRayIntersectingPositions=getRayIntersectingPositions$1;function interPolylineByDepth(_0x5188f0){return new Promise((_0x2d2069,_0x5731b6)=>{setTimeout(()=>{const _0x2f5164=interPolylineByDepth$1(_0x5188f0);setTimeout(()=>{_0x2d2069(_0x2f5164);},0xa);},0xa);});}const _0x34ae05={};_0x34ae05['__proto__']=null,_0x34ae05['centerOfMass']=centerOfMass,_0x34ae05[_0x2b6441(0x5d,0x6fc)]=buffer,_0x34ae05['bufferPoints']=bufferPoints,_0x34ae05['getGranularity']=getGranularity,_0x34ae05['interPolygon']=interPolygon,_0x34ae05[_0x2b6441(0x6a0,0x190)]=getHeightRange,_0x34ae05[_0x2b6441(0x34b,0x48e)]=computeVolume,_0x34ae05['updateVolumeByMinHeight']=updateVolumeByMinHeight,_0x34ae05['updateVolume']=updateVolume,_0x34ae05['getEllipseOuterPositions']=getEllipseOuterPositions,_0x34ae05[_0x2b6441(0x71f,0x5e9)]=getCenter,_0x34ae05['getMapExtentPositions']=getMapExtentPositions,_0x34ae05['formatRectangle']=formatRectangle,_0x34ae05['getExtentByGeoJSON']=getExtentByGeoJSON,_0x34ae05[_0x2b6441(0x1679,0x1342)]=getRectangle,_0x34ae05['getPositionsRectVertex']=getPositionsRectVertex,_0x34ae05['getRectangleOuterPositions']=getRectangleOuterPositions,_0x34ae05['getRectPositionsByCenter']=getRectPositionsByCenter,_0x34ae05[_0x2b6441(0x19af,0xfa0)]=isInPoly,_0x34ae05['getBezierCurve']=getBezierCurve,_0x34ae05[_0x306755(0x1dc,0x7bb)]=simplifyPositions,_0x34ae05['interPolyline']=interPolyline,_0x34ae05[_0x306755(0x205f,0x1604)]=interLine,_0x34ae05['computeSurfaceLine']=computeSurfaceLine,_0x34ae05[_0x2b6441(0x12a4,0x11b6)]=computeSurfacePoints,_0x34ae05[_0x2b6441(0x849,0x26c)]=computeStepSurfaceLine,_0x34ae05['getLinkedPointList']=getLinkedPointList,_0x34ae05['getOffsetLine']=getOffsetLine,_0x34ae05[_0x306755(0x576,0x1009)]=sliceByMaxDistance,_0x34ae05[_0x2b6441(0xad2,0x7b1)]=convex,_0x34ae05[_0x2b6441(0x645,0x49d)]=getGridPoints,_0x34ae05['getGridPointsByPoly']=getGridPointsByPoly,_0x34ae05['getHeightRangeByDepth']=getHeightRangeByDepth,_0x34ae05['interPolygonByDepth']=interPolygonByDepth,_0x34ae05['getRayIntersectingPositions']=getRayIntersectingPositions,_0x34ae05[_0x306755(-0x2bc,0x66b)]=interPolylineByDepth;var PolyUtil=_0x34ae05;(function(_0x5a81cd,_0x2fb455){const _0x417826={_0xcc3ff9:0x26e,_0x22add9:0xbd8,_0x34043c:0x1684,_0x2c2ba4:0xd6d,_0x63d126:0x14b2,_0x34e5fe:0xf4a,_0x3eaca6:0x132,_0x57d692:0x1350,_0x4dd547:0x1abc,_0x54a341:0x14ef,_0x287d2d:0xaf,_0x87672d:0x855,_0x3d3ea:0x2a3,_0x59a7a4:0xf54,_0x274154:0x1abc},_0x19c3b9={_0x1416fc:0x10e},_0x5a7c44={};_0x5a7c44['_0x16ba0b']='4oeQ',_0x5a7c44['_0x6cc716']=0x2b5,_0x5a7c44['_0x64f35c']='4oeQ',_0x5a7c44['_0x28122c']=0x2b7,_0x5a7c44[_0x5d0a8c(0x214,-0x68f)]=0x5;function _0x20c11f(_0x441288,_0x3e50ec){return _0x306755(_0x3e50ec,_0x441288-_0x19c3b9._0x1416fc);}_0x5a7c44[_0x20c11f(0x7ed,0x598)]='fAtH',_0x5a7c44[_0x20c11f(0x1873,0x1f0e)]=0x1,_0x5a7c44['_0x131512']='f7Ae',_0x5a7c44[_0x5d0a8c(_0x417826._0xcc3ff9,-0x3d1)]='nBLQ',_0x5a7c44[_0x20c11f(_0x417826._0x22add9,_0x417826._0x34043c)]=0x2c0,_0x5a7c44['_0x4321ca']=_0x5d0a8c(0x132a,0x14ea),_0x5a7c44['_0x3ad4f9']=0x2b9,_0x5a7c44['_0x534268']='8PZg',_0x5a7c44['_0x1c7b06']=0x2b3,_0x5a7c44[_0x5d0a8c(0x14cd,_0x417826._0x2c2ba4)]=0xc,_0x5a7c44[_0x20c11f(_0x417826._0x63d126,0x1d5d)]=_0x5d0a8c(0x81d,_0x417826._0x34e5fe);function _0x5d0a8c(_0x12483e,_0x394de0){return _0x2b6441(_0x394de0,_0x12483e-0x27c);}_0x5a7c44['_0x2de8d2']=0xe,_0x5a7c44['_0xfe502']='y(sM',_0x5a7c44[_0x5d0a8c(0xbbb,_0x417826._0x3eaca6)]=_0x20c11f(_0x417826._0x57d692,0xf62),_0x5a7c44[_0x20c11f(_0x417826._0x4dd547,_0x417826._0x54a341)]=0x2b1;const _0x5c612f={};_0x5c612f['_0x23bb69']=0x11a;const _0x37d10c={};_0x37d10c['_0x2aa4d9']=0x3d7;const _0x1d100c=_0x5a7c44,_0x385572=_0x5c612f,_0x34b42f=_0x37d10c;function _0x5e1716(_0x5e92f8,_0x275854){return _0x462e(_0x275854- -_0x34b42f['_0x2aa4d9'],_0x5e92f8);}const _0x2a5695=_0x5a81cd();function _0x2f5e3c(_0x28839f,_0x3ae45a){return _0x462e(_0x28839f- -_0x385572['_0x23bb69'],_0x3ae45a);}while(!![]){try{const _0x395e3f=-parseInt(_0x5e1716(_0x1d100c['_0x16ba0b'],-_0x1d100c['_0x6cc716']))/0x1*(parseInt(_0x5e1716(_0x1d100c[_0x20c11f(0x908,0xc7e)],-_0x1d100c['_0x28122c']))/0x2)+parseInt(_0x2f5e3c(_0x1d100c[_0x5d0a8c(0x214,_0x417826._0x287d2d)],_0x1d100c['_0x3b70e4']))/0x3*(-parseInt(_0x2f5e3c(-_0x1d100c['_0x344104'],_0x1d100c[_0x5d0a8c(_0x417826._0x87672d,_0x417826._0x3d3ea)]))/0x4)+parseInt(_0x5e1716(_0x1d100c['_0x58ebcf'],-_0x1d100c['_0x2c3508']))/0x5+-parseInt(_0x5e1716(_0x1d100c['_0x4321ca'],-_0x1d100c[_0x5d0a8c(0xaad,_0x417826._0x59a7a4)]))/0x6+-parseInt(_0x5e1716(_0x1d100c['_0x534268'],-_0x1d100c['_0x1c7b06']))/0x7*(parseInt(_0x2f5e3c(-_0x1d100c[_0x20c11f(0x1900,0x164f)],_0x1d100c['_0x2b2ec3']))/0x8)+parseInt(_0x2f5e3c(_0x1d100c['_0x2de8d2'],_0x1d100c[_0x5d0a8c(0x2c4,0xd10)]))/0x9+parseInt(_0x5e1716(_0x1d100c['_0x532e19'],-_0x1d100c[_0x20c11f(_0x417826._0x274154,0x1afd)]))/0xa;if(_0x395e3f===_0x2fb455)break;else _0x2a5695[_0x20c11f(0x7a7,0x814)](_0x2a5695['shift']());}catch(_0x48dd19){_0x2a5695['push'](_0x2a5695['shift']());}}}(_0xd170,0x924bd));function _0xcc558a(_0x343d6c,_0x4427d2){const _0x458be2={_0x12113c:0x3a1,_0xe661ad:0x830},_0x56270c={_0x3de895:0x531};function _0xf1774e(_0x4f7cb6,_0xc3ddf4){return _0x2b6441(_0x4f7cb6,_0xc3ddf4-0x3ac);}function _0x57ae8e(_0x3d222d,_0x592066){return _0x306755(_0x592066,_0x3d222d- -_0x56270c._0x3de895);}const _0x55ebc5={};_0x55ebc5[_0xf1774e(_0x458be2._0x12113c,_0x458be2._0xe661ad)]=0x317;const _0x39c297=_0x55ebc5;return _0x462e(_0x343d6c-_0x39c297[_0xf1774e(0x2ca,0x830)],_0x4427d2);}function _0x462e(_0x384bdd,_0x511157){const _0x959e7c={_0x4cf0a3:0x4ba,_0x465aaf:0x3ca},_0x57eacf={_0x3d286f:0x8a6},_0x199431={_0x47068a:0x18a},_0x567f8d={_0x20fdcb:0x9a},_0x441ae2=_0xd170();return _0x462e=function(_0x2e16e0,_0x31d12c){function _0x473a7c(_0x396018,_0x302585){return _0x5bbe(_0x302585-_0x567f8d._0x20fdcb,_0x396018);}_0x2e16e0=_0x2e16e0-0x10d;function _0x568617(_0x2afd38,_0x2255f){return _0x5bbe(_0x2255f-_0x199431._0x47068a,_0x2afd38);}let _0x383896=_0x441ae2[_0x2e16e0];if(_0x462e[_0x568617(-0x409,_0x959e7c._0x4cf0a3)]===undefined){var _0x4a7c0c=function(_0x525bd4){const _0x41dace='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9150d0='',_0x2a49cf='';for(let _0x2ce219=0x0,_0x23e24c,_0x3d3f28,_0x92121=0x0;_0x3d3f28=_0x525bd4['charAt'](_0x92121++);~_0x3d3f28&&(_0x23e24c=_0x2ce219%0x4?_0x23e24c*0x40+_0x3d3f28:_0x3d3f28,_0x2ce219++%0x4)?_0x9150d0+=String['fromCharCode'](0xff&_0x23e24c>>(-0x2*_0x2ce219&0x6)):0x0){_0x3d3f28=_0x41dace['indexOf'](_0x3d3f28);}for(let _0x478a29=0x0,_0x260b0c=_0x9150d0['length'];_0x478a29<_0x260b0c;_0x478a29++){_0x2a49cf+='%'+('00'+_0x9150d0['charCodeAt'](_0x478a29)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2a49cf);};const _0x4877d3=function(_0x370fbc,_0x71a9af){const _0x598833={_0x588787:0xa2};function _0x4a968b(_0x4ab656,_0x4844ad){return _0x568617(_0x4ab656,_0x4844ad- -_0x598833._0x588787);}let _0x4fcfbb=[],_0x5f0189=0x0,_0x57bf79,_0x5baf92='';_0x370fbc=_0x4a7c0c(_0x370fbc);let _0x356fe3;for(_0x356fe3=0x0;_0x356fe3<0x100;_0x356fe3++){_0x4fcfbb[_0x356fe3]=_0x356fe3;}for(_0x356fe3=0x0;_0x356fe3<0x100;_0x356fe3++){_0x5f0189=(_0x5f0189+_0x4fcfbb[_0x356fe3]+_0x71a9af['charCodeAt'](_0x356fe3%_0x71a9af['length']))%0x100,_0x57bf79=_0x4fcfbb[_0x356fe3],_0x4fcfbb[_0x356fe3]=_0x4fcfbb[_0x5f0189],_0x4fcfbb[_0x5f0189]=_0x57bf79;}_0x356fe3=0x0,_0x5f0189=0x0;for(let _0x2c43e3=0x0;_0x2c43e3<_0x370fbc[_0x453352(0x13e5,0xc3d)];_0x2c43e3++){_0x356fe3=(_0x356fe3+0x1)%0x100,_0x5f0189=(_0x5f0189+_0x4fcfbb[_0x356fe3])%0x100,_0x57bf79=_0x4fcfbb[_0x356fe3],_0x4fcfbb[_0x356fe3]=_0x4fcfbb[_0x5f0189],_0x4fcfbb[_0x5f0189]=_0x57bf79,_0x5baf92+=String[_0x4a968b(_0x57eacf._0x3d286f,0xa76)](_0x370fbc['charCodeAt'](_0x2c43e3)^_0x4fcfbb[(_0x4fcfbb[_0x356fe3]+_0x4fcfbb[_0x5f0189])%0x100]);}function _0x453352(_0x2d7179,_0x55fff8){return _0x568617(_0x55fff8,_0x2d7179- -0x12d);}return _0x5baf92;};_0x462e['jgCoYG']=_0x4877d3,_0x384bdd=arguments,_0x462e[_0x473a7c(-0x20b,_0x959e7c._0x465aaf)]=!![];}const _0x4192c4=_0x441ae2[0x0],_0x19d764=_0x2e16e0+_0x4192c4,_0x247db4=_0x384bdd[_0x19d764];return!_0x247db4?(_0x462e['NmthUD']===undefined&&(_0x462e[_0x473a7c(0x8fc,0x8bf)]=!![]),_0x383896=_0x462e['jgCoYG'](_0x383896,_0x31d12c),_0x384bdd[_0x19d764]=_0x383896):_0x383896=_0x247db4,_0x383896;},_0x462e(_0x384bdd,_0x511157);}const version=_0x3f6ba3(-0x4f,'U(tZ');_0x3f6ba3(-0x58,'2qMf'),_0xcc558a(0x42d,'Kweo');const update=_0xcc558a(0x42a,'4oeQ');function _0xd170(){const _0x449f63={_0x417b2c:0x53c,_0x5033d1:0xe5a,_0x2fb94f:0x16f1,_0xaac314:0x990,_0x479614:0xadb,_0x41ef12:0x763},_0x153816={_0x3dc99b:0x234};function _0x19513f(_0x2a8cae,_0x4d25f8){return _0x306755(_0x2a8cae,_0x4d25f8-0xc7);}function _0x4045d5(_0x1f6741,_0x557bfe){return _0x306755(_0x1f6741,_0x557bfe- -_0x153816._0x3dc99b);}const _0x5412e9=['b8ognmkkW4dcQWC','usD3WQVdMG',_0x4045d5(0x10d4,0x71a),_0x4045d5(0x92f,0xa35),'WR/dTSovuSoHjmocr2n/WPG',_0x4045d5(_0x449f63._0x417b2c,0xe52),_0x19513f(0x8e5,0xa6c),'oSo1vmkYWOatEwb9xg7cI1K',_0x19513f(_0x449f63._0x5033d1,0x9e9),_0x19513f(0xf60,0x1093),_0x4045d5(0x39c,0xa88),'WPKAD2RdO1lcP33cTG','oCo7z1imd8k4WRlcP8k2WOaF','W75Qf1ldPL/cJW','vtP6WRZdLmovW5inWQNdTmkuCa','DYaqC8oowSoPWOtdU8kpyKGZfYLCW4BdQSkAcgtdRvymnx3cQMLNWQ/dRf3dGmojfJb4WOhcNumkmSo+wSkSW54zW5TqW5faWRRdLr7cSciysKldJqFcS00vW7JdUmkFW7RcPSovWOnJxmovW7pcVsLTiSoXWPeXjSo2u8k+uSkfW4BcPSoGW5XxW64ZnmovDSobWOKYWPdcNSoYdtLjW45IW5ZdGmo3W5tcJtVcMCkJWPGOWQmglCkMuMNcT8ogt8kEWRtdKmohW7xdQSo/oHOvW7xcUg5SW7NcSaLXWQ02xCkfvH3dGmkGfutdIeJcNmkmWPmvcf7dNmkEuG/dOCkViZ45W7O4nmo1yWu1tCoCzWBcLCkZgd7dNMefWQRcV2xcKmknms/cPmk8WQmHW7ldQSoqzWJdPh/dUCkjWP/dVarHW7RdGSkQfNOJtsOghCkRl8oMWRNdMCkirCobWOWFW4hcQ0KzWQLnW5pcU8ofoCotEmkaW5ZcR8kmCmkflmk1vgy3WP4Wq8oNyGdcOaFcLSkgvmo4W47cPHvYWPuEWP9miIRdQCkYrmoJW6pcJWaErqRcGWHnW65JW4DSoGfctZldPJBdMmojmSkafatcUCooWRmnWRpcTLldVCoqWPddRmoCWPZcSmoUrSkbwrtcMmoSuCo5WQlcH8kDWRDEkSkKWRmZWP5ZvCoFWQBcUfldSSoIW44mW6xcQNdcT8kaWRy8W4xcQc4+WQJcJMJcUmk6WRRcVmoFWQCNWRRdJ8ktW6zruaVcGG3dKSoOtJPBk8kruCkxWPHutCk6BCkfhCkKW4VdGZVcHvRdRCoBF8kSx3xcNGVdGmoKngyuDc7cQYi9W43cLxr0W7RcK8k6WOGdWRFcK0WHmapcJX3dMSk1W4ZdJLddMSkZWRhdTgfYEmoLW7ujWP/dVGvJgJu+WPhcTmo5WPNcJxRdRmktWR9HWOyeCmoyW41Ct0xdLCkXWRjsuCoWW7VdKttdHLVcTNtcMCoQW4ldL8kAbbT2tMi4tCkZtmkOvWtdGCkqwSkRWP0vWPddUaLuWOTtz0BcN8kWnmkoWRGJW6ddL8oxAYldTJNdTsNcPLL1WPyen8oBBbhcRmkIc8oAtZRcSgHAimoXW6hcGXTgDJ1xW7awWQTCl8kBEehcRgW0W5OOW5BdJJ/cPHFdPIbnqSouWO3cH0bxW6ixW4tcSCkJW6xdVSkmW7b1WPVdGJVcMcpcG8oVBZtdPYvMFKb3fSkWgSkpz8oru8onpmkOW57dLGVcQmkhz3KGW6WgwCkKoCoSW7jMl0/cQ8k1W7FcO8oJW68wvCkhW4RdRCkPymo4WOGxW7/dTK/cTmkPWP0uWQ3dU8o/WPP3WO3dSvfmW63dQd7cLxddKSkrW5j1fCodAmkLW5NdJ3FdRN0SW7XMW7VcLZ8AWPNdVZ16EchdKSk7W6KwWO9LgHvOWPqnW4xcKSk/m3bEFmo1c8oSvbxcNJmFWQRcG8kgW4riW5BcOmoLWQaqWRxdVrtdISkJESobwSkQzmo2W6tdK8kMCmooweOkeSkcWRZdHMZdL8kOWOpdL0eKyepdO00xW7a1W5eSW5BcUSknWONdGN3dVXnXEZhcQmkKW6Lho8k4qZHHf8oFuazvW6ldMSknWRBdPdiEW5rlzCoaiCkOB8oxk8oWqIZdPHtcIN/dGSkUW4hdK8oiW4tdSmkvA2fGWRxdJSoRWRCvW6tdMmoubCktjComqSkXW58MWQv5WOtdTSkUWOOut8kiW4WNWQ05W4VcUCoehCoIW4FdQqddIrr+nSocW6RcUmoboCk+WQrkWQ3cKGfTmqifWOjmW6LVAhSKz8kFW5PmW5RdNSkCWRpcOCkYhSomWQXTW5xdVxJcLKLrW5a9ESkYW7LJzSo9fvKzjSkYW7tdPWtdJmkKWQhdSblcHmoqnvxcNGldPmkRumoWW6qpWOdcImoXb8oWWOpcPSo+ad1lW63dHhTzW5pcMrJcUSkTWQ5YWPCbkatcPSoaWQfrgCobW5NcHuJdOgWiagFcRmoBiK8+qCkZW4meqCkAW5VcNdlcVryQWP9YhCkHW4bVdSk/o8o+W4ZcJbfoomoLfrBcSCo/qd9YW6DWbNWYjIyPFgdcO8khDCoPfCozW6zkq37dTeudWPpdQvG6zmkACSk2WRxdNXRdHaLQWQxdJrNdJaNcO8oIB8kVzq0ZbxBdV8o3kL3dKCoMWPhdNsjFAehdJ8oKoIRcPgNcQSkDwgZcPSkrm0neWRSRW5VcRwdcObbSWP3dQCoHySkfWOZcL8oTj8obWRhcN8kCdCoHWP14WR3cTmogbNT/WR9dW6ZcMCo+W6q6WO8yW4ldNYZcQXNdHmkWmXVcV2XRjrqPmmkEceVcJMj6vLDMWQtdV1aoW6zZdb0NWRWXeSoseXJdNWGEW6ZdKhBdSufBDH/cIw8mFLGTWRtdNfpdP8kdjthdNdiCWO7dP8o5W4m7rSo0aSkfibqLamo7tSkVm10YWOnrvrLwW5BcS8o1WPpcNHZcGd7dO8oGW6ZcThjwqSklemoTaHFcQMlcMCoxW7rKbmoMv1ubW5uHW5JdOr9CW5XQW7lcQIVcOJ1+cWBcK8oim8klWRfhDmoRWPaAW6ZcNJHqDmkZWORdJ2LIASkdzYS1rSkKebddU8o8Fmo3uGSCWQ1mWRhcNSk0WRrjsSofz8k7W6Sqsmkof8kmW4VcHmo9iCoNfMq7xCoSWP9+WO9fFLbqWRpcSmoNW5RcSSkTW4xdTCk4WPfdz23dVJLXr8oFnGZcSeC4WPBdMgH3W6HOW4OqWOBdR2HLqbhcJJ7dQW8IWQhcN8obW6LmW6BcIeXDW4ldTmozWPJcUrddMGztFCockfeBCSoQWPRcPKyzWR0aF8oDW5pdJ8oQWRhcStFdQH3cR8kBWQddU8oaW4n1xCo0WQpcNbhcTNyCgmkUCdiPySkxWP5iWPlcPZhdMYdcJdFcSCkvW5TfE8kLW6BdJcnMWONdOsWlcmk+b8kjwmkDAmkZwmoKW4jwW57dHmoPWRiVeSkAW5tdKSozWQdcVSkwAL/dOmkpWPJdINnTv8kKWQblWPBdOtLuW5ZdNXJcHCoiW7ZcG8kRDbSYWOxdVmohuCovW6OszXxdM00dWRhcLmk1WQZdSSkXWPVdKSo0rmorW4dcICoUW71EA2KnlCkaesVdQtiDW5aSrCk3iXZcUwhdHvFcSmoMpgVcLSoTWO7dReVdKfFdK8kkW4lcVefRx8keWQG/W5pcKgf9WROuzfmwWPFcH3KeW6RdTeNcNK9+WQf/nIBcHh3cHCkMWPJcTYvOWOpdM8khd8ohW4zrW4RcQ8oiwXDOaSk0imk2phtcIfJdNLeMDSoiBmofmYLWWOilwSo5WQZcLmoBW5xcH2VdO8kXeSoSmcXABConWPtdUfJdKmktqSoFW7FcJmkdtSo6W43cGwb6WOxdLmoeWOFcTSobW4DBFbH1WPOsWPBcHe7dJmkUBGWXjbvPW58iW5ddKKZdPgOnWQldUc5OWOBcISkuDNrvWOP8WPaQDmkigLVcQJpdGHdcLc5qW6ZcGevYW7NdLcuIAcpcGvRdO0pcJSkaqWJdVmoFxfxcOvDSrmkaWPpcJtlcNmkbWRvDW6tdGgyaEXysWR0rd8ohDCoTW5/dO8kuW6NcRu16W6XrBXVdMgdcNq8gW4ddRComd2FcLmkoWPT9c8oDWQhcQJ/cMCo9rSkBWP/dVNFdU8oVzSkuW64RW7hdL8o3gmkEnYLtemoNrCkVWPy+WQNcPb0GcmoPW6nlWRDQW5tdNcSpgCoZW4qrW47dN2XWe8kSbXHLWPP6FCorW4O0mmk7W6TMWRRcJSk3WO7dQKhcJmoozwSuuSoJWORdS8k5W6/cQt/cH8kuvdLWzmoroYKol8ozd182fK5CWR7cGdRdR3tcI3a0WRBdVCo4gCosW68CW4mgWOBcMwflWPjgW6TtugzrCwPbkMWiWRRdPe4fmCotbmoaCmk1W6GZW71UWOO3WPtdSLpcHLKbW6xdVKPriqSOWOCYzuddUYmnlSkOWQiZqc/dPYOilJ1sW6pcGu3cNfrssmoMWP7cLhBdTwtcThXqlmk1WQfCWPmMuczPcIpdL8kefCoBWQuWW7bMfYhcO8ktWQJdTSo9W6HphNXFvCoVW4TqW7lcGgT9W73dJCo/W6ldNmkrWOHXW67dLSoXWRtcO8klD8kpw8kGemkcm2OVWPWeqLW9WRuXdJDZsJTGW7PZW78qymk2yrbUwSkCW55IWRvkhSokW73cJmkwESkXW4L1sSofdmoWvmkoW51iE0jclIVcK0BdTuRcT8kHWO9eemoNomoRsmoOWPNdVgVdRutcPSoXbSoKc8k9W4HQc8kSWQCgW41hWP19W7XQW5utW7LLWPbunsrUW4pcUmoJW5fbuCkBb8oJW5ZdHCodWOlcI8oTWRKBrs3cO8orF8oaWOO6j8k+i8kYWOtdNmoUW7RdUSkoW49MWPb/orBcNKrjWPTCxNHKaSowW6v+rZvVhmkAWQaaBtidWPNdOqpcJuZdT8keqSopW7jqWRlcGbrKz2ZdNCkVlaJdTxBdQwmVcCk5W4FdTxTSpCoviXxcV8kQD1ZcQmkYW54lWORdNCo1tSkxbxdcTCkgW7iveqT0ohRcI10Zf8olWQ/dGmoBCCkdWRtcJsfJWPLbW6/cKvxcSePfevRdISomWP3cI2tcT8okW6JcRbRcICkoWOHdWOmbWQLneu9GWOBdJ8oSW5mUWQ3cNmosdmoKdSkAnIKhWRT/zGeuifVdO0TaWOVdMKbLbuBdJmkBW6NcTSk8WRr1W7ldV8otd8osg8kpjgZdR8oWWOrwxmoaemovWQ9sWOddKSobW6DopCoMW7ZdLHHGW4ddQ3/cMcZcOhNcRairBXBdOdGVcZxdTH5KfueTt8kQWRz4dGlcTCk1pwVdOsVdMNFcPs8EA37cOq5vqMKDWRddGmo5WR7dTeVcOv5bWR7cIZhcJb8CWPVdJIZdNSoBmmopW7ldSSoGcSoZW7xdHCkQhWW9uZ7cTmkZtSk0uwBdQ3FdRK4ujcL0W6xdVCk+bCo4W6lcG1L6ymoZubzTW5W4nSoIF8kugYhdJhlcRCoBpSooWRRdVSkjW7FcKSoklZZcV2BdGCoImwWjemkib2yBWPC3u8oEkSkHB8kBamo1a8kyd8o0WQD8mtpdSSk8qmkQW6/cLGddLCkJWQ1MW5OhW6hcUgVdICkNW68gW5uIiSk4e3ddN13cKSoqpmkAgLxdO8o0W716W7aOzmouW6ebWPqKE2K9WRveB8ouW6NcUmkVueldISkHraGIW6ddQ8oLjSkCWOnTjIJdGK8OqmkAW6xdHrRdN8k1jSkuW7qHBfFdKJKJt8k6W7f7DtLUWOddNqGnxeuFiConWRWSW57cP8kFwSobW7mihvKGWODHDa7dPCoDue0/hNWPmvWtkCk+tCotcmkbW5FdQx7cSMHGW7ldRmk+cSoVgL7dJSoIfmk9W4xdQmkGW6mMWOJcJCoYWO7cNZpcH3JdS8oElG4ZW4FdPYiVW6FdHSkxWQtdUgv6iZj4phO5w8k5DGerW47dHX7dPH/dJCkGW4xcR8ksvJdcI0H8WOOWWRNcKCkNWRuhdSk+W58bCSkSWQOtDCoDamoSgZ/dISo3WOe+p8keW4vHDCkkWPLqxCohsJlcMh43FWLbpmkMWOerWP/cRuZdMYLbWOiAtIxdVmoVWO5ggSooxw7cGZSoW7vaxmkKWRTnhNRcTCkHWQW3W7PVaCkBW7ddTmktW71Ow8o6umo2jv8JW6qdymkPW5FcS8o2WOhcILdcI0CqquJdKWX0p8oiB8kKWQDewWy5W6pdTmo7W4ldJCkQWRf4g8ktW5lcHY3cSJRdQ2ZcQKJdP8oIW6xdQSkiWOTOW5G4W7ldKG3cOdVdLYtcUmogW61vW7RdPv4AuG7dNCkwWPKKhhhcG8oLW7ybW7ikWOOJtu/cJSorBNRcLePafGlcKs7cSMPyW7yBWOGaAYRdGhy7hIOoWOJdImkkWQaJW4ddMv49Bmojx8kvgJSEWRtdJK8tWR4pW5GgW6P3aSoiW6Wdn3W/qHjNW7BcO8oIW6BdHmkLWPHUWPmKCCkyW7CmhCkoWRtdRuFcRGVcPbZcKeVdV8kjWQJdTIldIdRdUmk9cqhdNvdcPmkyW73dL8oSWO3dVrZcOCo+WRfuWRa2udxcImkoW5razdX7WQ/dPSoTEePlWPmcWPBdOCknyCkdl8o7WQ9pyapcMmoWWQVcQaJcUe1UW5ddQmkhW6TurIH1cCoAW5qGWPtdGCo3fmoKyXlcKCooiN7dKmo/WQ19u1zZjmkJk8oFhY87WQHqtCotFSo8kZtdJCkel3hcJCkoWR/dJc3dPCkZW5WuW5HpW7NdUfbTCYeyWOFcLepdM8oEm3ldRSovWPtdH0iQWR3cHIpdNw7dVmkdaZpcTCk6f8onib7cUeBcJ8o4e8kkofddISkdl04nWPTAW7hcU8owl8oqWO5MWPldON3cIXBdI2DCWPLKgZ8LW7VdSSkeW6SOgSk9fNzCWRiOWQVcJcZdTGj9W63dVdX8hSkQW6/dPaT9W51mW4FcPaFdRaaCygKTW6v5WPbMW7BcJmo2nmkdW5ygjSktWPNdQsNdVKPJWR3dH3yKWPZcU8ooWRjIWO1KfCknWQGxW69jWR8eqwNdJCotzstdLd/cOSoYWQ5cWOSMkSk1WPdcKSkWcSogWRG5W7BdKICOWR8xW5VdG8oKtu7cMZfBvCogW4H6gKJcPmkFEthdP8oRWORcKCo6FJFdLe98W65ikSkXcIGLWORcI1zTbJPlWOaSdCkhuN8FW5j0kCk1h2JcSKddUCkSvCooEcxdLCoZWR5/FgtdJSkIuHGxiSoVA3y7rCozv8ksumo+W5fxWQRdLwRcGCkjWOlcTmo+CmkvESoYseJdTLpdMceFquFdMhtcJsFdGWrSWPlcKmovvZ3cRbhcI8oHW7RcOYhcKCkVW4ldTbdcLXnqW6hdGIFdHSoOW53dTmk9W5bKWOpdI03dSI8kx8oXW4dcNmooWOuVW4uxWQlcQSodhW9sW5mNl8kGvclcS8kev2rLWRFdT2tcSc7dRvClW7qmAmohW5dcIvddPKtcISkJprKTeZKGxmkxDW3dTthcVG9fwJORgsZcHuBcGSkJw1fDevLxnZy0hCo4WOSOW6uxW5VcSSkPECkJBMVcISoeWQzgsCogf17cT8kPcIJcUmogpHdcLapcTmoFFrnEW4hcIhWEW7xcUmo+sJz9dmoAW5fbumoufSorahpdV3JcR1y8W4xcJtRdI1pcOu3dJCkpuX3dKmkLE8krWOtdRhmtaSoNWRtdL0BdOmkDp8kwbSkjhmkyFCochmoJpe7cPWqlW6DpWQfWvZ4nW6vpWQu6ghOnzCklqWBcG1FdICkVsqnHWORcKmkDcxZcK8k1WORcVcSRW5TWDmoHW5hcV8kCoWRcPhXLtfyDWO9EW5JdJYxdMhLFo8kTWR/cSfVcRSkcWPhcUr3dI3u+W4nEpSkYEXFdTgNdKGGQWP3cS8kBW511WPXvl8kGb8kTj8kHWQNcTrL+WP9XWOnqfZBcI8oVWOhdRSktc8oVh3GWWQVdOCo4W6vXWPtcS8ojBSk2yqSpW6jFldiqWQfaWQxcGCknWR1SW53dU8keoCkLitldLt3cSSoiW7CQW7ZcVmk7W7NcPSoAWOquySkximkasmoJxdqbpJtcG3aRW5ZcLSofkmkLW50KxmoFmSoaW6pdKMBcPmk6fCkjW5dcMMiHW5TkAqmAyYNcLGxcUSkhhhtcNSk/WR45nSkAxCogA1FdImoVWOdcTtCdC1BdPmoGpZGUfCkdWOewgtldM8k1WPTTAqdcRYRdVCoiW6hcJvuugCoGBSoeAG9sWPPSW4n/W7ddPa/cVYFcVLBdUq83WRDtW51pdmkcW7RcKCoarxn6W5zfWRj4WOtdGCkWW7ybig/cJCo2khWxWPKKW7bNsZX2uMmGWOtcPSkxzmoEWRWElGPloXfRW7/cQaFcUSo8g8ocb8k0seFcHmofmG/dL8kss8oJWRqFjSoiW4GBwY1XWPhdOmoeWPJdJsXwb30ky0JcVte9EX/dOr5cfeLhW5/dRcXKW6yLWQpdKbpcU2tcJIhcLmk9WQ5gW5Gljmotq8kEeCoEWRtdQCk9hmk9WPGpECo5W7ucbcH1WR0nCSkTWOxdHGZcJmoDWOhdJK3dH8k3W47dTwW8z8k2pmoHW6dcVLJdHItcNmk8ASkxuNfLmMZcRqf8fSkOFSkqFY/cPmo/WRJdUmojWQRdGmoyc3FdRmk0gWddRmkbvWhcHW/cLCo2WQnSWPLrW6xcSX7dKSo7hazAWPRcLrKQo8oED8o6W7RcHMFcRSk5WPddN8kreY3dKSoxghBdSCkdwHOXWRFcLaDgBmkwu8ksWOxcHLNcLWDpW43cMCkse8oavCkHWOaWkMddQgFdSSoqW7BcRd1Mru7cMM8TW5rdhwJcLq8PW64WkCowj8oph3VcTWr1WONcOhxcRCoqECkHWObmCLxcJL9kWPHqW7iyWQbOW6dcPh0/WRRcOWuIxmoOW4JdGSkJy8k4cx7cPdG9WOqcnY0abSoIjmo1zwVdUGOJpZ4oFxNdSSocW5BdVmo/fmkXCSkFp1FdJCosAgxcQmkqCvGhzs4EfJjbyuNdQ8oAW77cKXTJW4tdUb4wWRpcUfpdL2BdOCkFl8oNywJcPGG6BmkFWQC2WQzTbJ00AeRcJe7dPexcKmoNW4z7W6rdWQnMAM4eW4T5WO5ovgDusJZdMxKXyMKOW6pcOmkEBsRdJmoLzmk+W6ZdUSo+iCozW5eXW4akmxWVWPOIW6mrlCo6W6hcUhxdHa8rFCktWQldMSohWPCOC8kmWQOBW7VcHJumWO4ygqPhW7jvpmk4WPRcOgWNd8oozfOPW4pdTSoZr8o9WO4DWQxdH8onySkNW45rW5zaWPNcUCk9W5WqCuFcQZ82F19zWONcV8k8WQ/cIMZcH8oVqcRdJYRcR13cJwnZo23dMXZdQ8kqW4VdOJ1wW63cHhtcNZxdH2SkWR3dLWuaDSoEWRiAW6TXW4RcHd7dRmkLhW4ppmkVWOrBWOq4WQBcH8ohWQ/cJ8o/DXxdPHGZlX/dOmoyW7BdH8o/vCo/DCooWQnOW4qJvNuTWOfVW5fGWRNcP8kHlhyeW4Cid8kaWPv0Fg7dPCo7W7pdKgRcQCoAWPX6u8ovWPKtCSoAre0nWQ/cKSoJW6zSW6tdGGueWPddLKtcP8o9mmo8W4NcLg4euCotW7BcOSo/hCo2W7rhWQtdNuVcNfy+W7JcT1LFymkSW4ldLSkoo8knluTOWRnKW5tdGrtdPG7cR8k7aG7dL8oSdCkzoCoFWQPEt8ksWOZcVNFdJCkOgs7cG8kcW7a3BSonxHq8WPlcTmkJW4yKWOtdGSkLW5NdMSkXbbbdW6VcQSk5WOWIyMBcR8kOWRq1W6rhW4VcNLNdP8k6W41MW5pdV8obWPuxAmo3WPBdS8oipWtcVI5fvmo8bfpdOXrRdGxdPmkoWQ7dVCogWQeww8ktWRy6l8kzWPhcRCkfW7xcR8kabSo0WP9OW50cWRBdPthcKmkcWQ17Av0BWRH9ACk8rSk1tSoVWRnHEmkUW4nwWPq+W45ODmo0WRVdV8kBmhddImoFhsn2W40fpmkioG4DAXZdSmo/WOzZW4RcMCoYWPeksv3cL0ddVmoUB8kCW4H4WQeKbSoJF8o6BYBcPmkaBGNdGSomWPeVuCkqWQWYk8kWsbreWRtcOCkRWRCLzSkMuCo9WR3dVCk1jCk+W4T7kmoBwbb7W4BdO8o9jtipW5XlWRldTZdcOq/dGSo9W5vUWP1QW77dUCkkWPm+W77cU0i5fGRdGmoFW5JcSCoREH3cRmk9BCo/amoewmk5W5xdK8k9BxBdKmkKWOJdJ8oqDrhcM34elSkjW47cIKBdHxG/W53cNSk1WPqyWOlcVmkMWQZcTt8Qf8k8W6BdQCosWPTOW6DdW5ddVmoID8kez8kUW7ZdJ3ddVvlcIbD9bSoXW5neW4XGW5mXW47cHCkgpCo7W47cRCoVWPnnWPrIW5tcGIfdW6BdHmksvf03FrSHW644b8o+dSoGWPRdN8o2WPTWAqJcTmkGWQ/dGHBcMGv8W63cSSkKnv0KW6xcRqH8tWRdKmoceYNcLZ7dHCozASkewxSDD1ldSmo8umork8owWOm+W5GApSklW5FdPtRdQvhdN8kUj8kFW6FdOmobWQRdPmo+tmkzWOBcNCoIeCoYBYGzWO3dOvRcJCoZfSorWODSaCouWQX9W4pcPSkvChT/WPRdR8kKWRhcPZNdT8kjECoGWQBdPeBcMu0AWQJcSSoryCoIdZjEW4VdNqqjFSkSm8ozWP0VjmkWW47cSSoOW6eAW4ewqqRdG8oTmmoVdd3dJ8kOhmkQnuTHWQuloNuGeg3dVmkJrvDxb3tdOvH9W7nJifpdHSkGW4pcSCo4nmkbW4OEFsRcVSo6W7xcUWNcTNJdHCkvWQlcJ8odrSoPwJHNDmkQqHuyC8kjW6BcQX7cK8oOht8qW77cTmkDW5C/phtdLCkXlSknWPFcPCkBWQlcQJmojmkPWOxdUmkxvCosDNxdOCoTrI7dMLu3WRjKWOT/Ew8KoSk4WOxcT8kGdCoUBmkhaCkHW7yuAIhcH8kkzrieW7CadG7dRaKIwCkJWO1sWOSBkSkTW6xdINOoWOxdL3tcTMmfbJFdPeXLW7hcJhNdOCoaq1npq8k2W5qsySoDgsattmkebwVdKWpdOCkbhSolW43dRSk6ohP4WPWdbaeXaSkdfY7dG8kSW4dcP01EjK5IiSoRWPmhsSktWOCuow5hWRhdRCoNWR/cR8kwxulcMmkdqmo3oCkeW7xcRdVcI2OLgeKQkSocWPJdVSogWR0hW43dISkkW7L1sNrIrx7dT37cQrCWW4uGzmo0W6CSWQC8WOyLeadcTx/cGCoTWR7cPvJcUSkvWPhcQ8kyWORcPCkZWPOeiCoLWQ4nWPldQmkoW6T+kmk9WR0TwmoqFxddUfNcGs7dSKyFkfqls8kMBmk2cetdLdO+wY1HeK/dGCogiSoZWONdSSkfWQpdV8oYy8okmCkrW4hdIZVdV0RcMCo3ymoUWQmyW6tcNaxdHCkLW7e4WQLLpSoIdh45WRZdJCoqWP/dUCoEgmondbXQWR4VatVdRH5DzeVdJtVdUYjuW5ZcI0FdISk+jwJdQCk8W6tcKmo0u0jTW58Hx8kUWR8OW6JdM0JcGbtdISowWPtcLmoEnsBcVrVdUCo0W4yoW43cM8oSFr/dGComu29kFNtcLujDtqpcMmkxW7C/W6lcVrNdL1H3W6mcWOBcJ8oyDJpdN0GBv2WTFdu6W7VcH8oPASk4gmk2W7ePlsveWO7dKIixWPldVmk3WOVdVCopWO/cOMzrrYf6WQ3dUSoPWPTwlxTKW4ZdSHitWP9bWOa4WRJdRSojWRXCCSojkqL3W4WtzHutWObTW6ddPgZcRhjDWRhdImoPiCo2bXpcVKRdSfi0jmotWPDLW7RcOCkcWPvQxCkimd3dHZNdNCkvW5uJWOD7W43cImkAc8k0et7cJ8ktW4xcLu7cUmo0WQ3dKwvqWOPMW4ZdLmoQgH9PA8kvW7eqhguIW5VcVYHmW5hdOCkCyfrGj8k5mKVcV8oiWQZdHSo0zcFdMZarpmkXpSoieCkGghKzz2FcJg1LW4DlFmoOWORcHY9EW4mnl8kYEmk2WOxcU1ddQX/dOmkPj8o1As8PWQaWW7lcJNrdW4BdRdqqkZxcLx7dJealW5vsWQtdKhxdVhVdRSo9yh9/W5O6vf8zW4/cHCopDSkdW4mbqmoyW4CQB8k0CbmPWO7cOCkVC8k+WPzeWPNdMJhcIWBcMddcSfWbpCovWQJcLt/cImk3W5tcVLGSWOldISojqtpdGcJcTguDW7RdSSkTW7pdH8oZWPH6n8odWRv1BSksW5tdQG3dN8o4jCkWb8oDpblcNmkbdwxdPCo/W78bW5PBkgxcR8k6WQ4PW5uFrCkxWQbVFsxdPmkotmoCjCo4W4eenmo8WOZcIHVcMmk0WPOvW7VcGa3dVCkcbmolW4NdVmoLWQ7cOxZcQCo8dJtcMr4LshyYW7ZcPCkmt8ovhCk+zSk8cmobt2SSE0XuW6NdMthdUCkqW54VEg/dKSkBWQxdQmodW49IWOhdV3xdUhlcHmotyCo/jXZcPSk/t2/cMJymW5qBlt/cM8k/cb1nWPNdQxhcSSk9imoeW5dcISkNmv4pqmkmcmoKxrHdW54OjHFdRmoyWQTMy8kpWPiaW6/cMdJdSfHCW4RcPSkWcConWQhdNSk1umo2pmk5WRrwWQRdOSouW4tcMGlcGmoEW5PcW4NdVry9W5JdO24KfM7cPCocW5lcVeX2WPFdN0rSd8ojWQ9fzvlcIJXLiSoqlMlcPIZdOMpcVX3dL2ZcUSkQeH/cOCoHWRRcNmkJrSkZWOuAc8kYWRpcUCkKW4TjzdeDvSkVW47cLCk5pSkdWPOCprhcMCk5B8kAWPldTSoCWRSdimodWOfhW7GkWOXjC8krWQSHhWNcIW3cSmoPu1lcPKnbsYNcQZxdQLekiatdTXj1WPrmlbFcLcHyzCkQF8kotmkAW4OFe8kvW4FdHIRdTmorkrRcKKHbWQOni8keibSaWQ/dMSonW6JcKtpcUYbpCf3cHmo9lr12W4WnW5pcSCoLD8oWWOJcPCkTWP/cSHKaWO4WWRzCbmoGtCoGW6L2Cmk6jKXvBJFcVYTqW63dRSktWOuQqCkJW603DSoGBmkliZ7cOmkqAWlcKmktyZFdU28srKldICoiWQ/dMSkoWQRcJSodk8kFWP7cHSklWQeTW6pdGt1yWRZdIbhdQsCuWRiIWROnhwXAW7PwW501WORdIIBcNMNcHIRdI8kho2lcU8oenIb3x8oXkCo/EYKZWP5qDWlcGCoEnCkCFCkcu8kQkSkYWOGRAfVcMCkQcCo9Ade7WRxdGSkCkbVdHdPlxYialCkaCJTPgSk2WQRdRmodvCoNW5Tyw8kFW4FdQ0/cR3WiWR4pWPP6hSobfxddNeuGzaxcOhJcVqGFW5SuWRSaW6ZcKmokdq3dLCoQsSkpW7PcgsNdN8k1emkpW4VdOSoIWONdGcNdI1lcVCowwCoBDdTOW6y7W5VdJ1iGWQvoECkewSksyw7cUWRcRW7dVJituYm3vxqSqCkfWO5fWOSQhfNcLZaXA8oiWObyWRbhWOhcHSoZWP/dVGXmW7nSe0HECmoaW5hdTmo8v8oqwIhdKgirWRtcIsngW7dcQXuMza/cPmozW6bbW78JtSoJuGmhBSk0t8k6WOTtW4HCWPBcPr4nEmoMhCk6j8o3WPryWOhdUcjNWQJcPCoBW61KW47cGSoRWQ3cOu/dLuhdOSkRW7aWW7ldNeXfW4/dT8ojW4u5hZnWWQ0SuaVcJSk4WPOJW7JcGdPnW57dKNLnWRJcT8k/WO8MadzPCCkhq8oCW6ekDSoZhXZcG8kloCoAWP7dH1VcOSkchSkqW7pcKtdcRKXKWR7dISkMmbCeW4xcU3lcKhldJmk/WPVdMf/dVt7dPZKXWPhdTepcIuNdLhNdGmkhWQFdPtucrXJcOtP0kSogW609lSkKdq3cI244pLX1qCoGlxCPWPRdPCo8etVdNCo3mLPPssqbW4aeDCoWWO8xW77dRfFcLbu3gCk5W5aNCSocWPNdRuRdLCoFWQ8VrY04W4T6W4xdKSk9W5hdVSkloCoDj8keWRz8WOqdysldMSotWQWKW4CfWRzChSoFWOFcIMBdRSoms8kDhSozWQxcQSoLW4WcWP7cQwm7FmkHW7WBxCoVWQpdMmo6WRiCvCkYDdaHxM5bW44OWRCTcSojmapdISoyvSkYWPRcJLKTumknW6PeW6SyauCIv8kEdmkvmCkZWO/cI8oGWRjuf2FcI3uBWQhdSqW3o0e6gXldImo7eCoJW4dcTmkuB1K6tCofW7ldSCkoWQK5WPhcI8oNW5zvWOJdUmksWPldQ1ZcUSoTqxRcOIVcLL/cQa8xxgzfBCogWPCbWOldLN7dJLZdUaRdUh9FW5SEy3i/n8kflbqFamoqmdybWR3dOmouWOChxt/cKmk2Bv4CjMBdHuHwuSoEWPBcRSo6Ctb6wCkTdKr4r2KOyuBdGvJdT8kJW4b/WP0iuuH2W7OHWQJcSmosrZX2mCkDztGOW7tcIwv/ACk4i8oTfmoGyCk3WRLIWR3dTLnQW4dcJ2uLW4XSW6ztWPfzyIVcNmoxECksW7SVWQFdSmoAW4rngLOZgSo/uSkFxmkDWRxdKmkHoxP1lSkrDvVcRmkIWPj+CCkFWRBdOSkfr8kwWPLbrwnsE8okW53dJ8k/W4RdJCk7WPD9FGqDWPRcTKC4aCo4W4GSW68tWPBcRKT6qSoJamkRWPPMW4meCmksW6qwb8opCYpdKCowECkYb2SZWQnXW7fiyd3cKCkGAgHzWOhdLmkgtsVcUCkQmCoqW4G/W4q9WQqlW4ddPbWWWR/dJSobmHD2W6/cKcNcH03dMSokbe3cI8kOW6RdOMOerJZdPK8azCo6iKRdTSk9qgqRvCkbpCoZBwrJhSolWQOCz2ZdPSk2FqdcSv/dPmkmzCoGqg7cIvxdPmkPWRVcT8k/tev3F8kuW5pdNtanbIOLW7ldVmkjnCouW7ldI1z/CmkUnwWVW75sWOyqW7aIW6bOWPrgW6XQW5DorCk1WRWrmmomWQhcICk4W6NcPmoAfSoUAuHbrfFcIaZdPSkDWR/cLCkiWRBdMbiKkSogWQqbWQu2wmkYW6XqWQHAiIVcLNZcMxVcRdqwaeJcT0tdHZuhW4W3W47dMSkuc2NdI3tdTuOordOVWQ7dL8k9uSkzvINcKCozWOmZjrFcUM/cJ1auyCo8WQ3cU8oRW7FcIgFcT8oIW5JdHXTFsvOdW7ZcIr/dOmkHf3dcTqKHW4ymWOekat3dOmksWQfnWRJcTw0SqSk5bmooWQFdHq3cPvldTSoLF8kuW4BdQ1FdRmoLWRRcMgRcHXNcO8oFwh4XuSkQWRWsW5zDWPBdGIVcS8kpW7TPjKpcJWyAhSomW49DzSowzSkUWPdcQtmTW5WdW4ybg3tcJ8oWW4CIW6NdVmkqWOtdOL4ZW5VcQmkBWRJcNmkGWONdQqfIW69TdhxdMd81WRFcLCoPiaFdT3hcT8ompSkhkciuESoeWRxdQYZdP2JdHSkfWPXlW6JdGKjClMLrW6ddOw1fDKVdPxmGcdhdTSkAvmksCHPdW4tcLauRW4X5hqpcLMLWWQWcW47dMbtcSCkTW7FdOSkmW6dcJrnOcLypWRmrW404rKldSbxcSCkCeSkGBCk7WPqicHVcHSk/W6BcKCk5c8oIW7hcQmoeeupdGSkIW5pcL1mqWO1PrCkOhMBdHSoKymkdW6pcSSk9W6meW5ZdU8kUW6aYi0RcOtJdPCowx8kCW4qQd8ozWR3dK2NdItDeeZZdHSouwmokW7CldYGteuNdVCoQWQ7cGSkUxHJdVmkMW7hcSmk4u24wBehcISogeYeUlmonA8oEWQ1ktLbVW4ddS8k+A8oRW6TVlSorEwddTaVcHCkwWRnebJSRWOFdQSkpW5JcVb1vW7XwW7ZcG8kHAmoDW654W7ubW50DW6lcTsDCW67dIdRcUSoqW61vW4pdSd/dKSoTWRehqdjvtw/dUJxdKq7cQf8WWP1IaSoWhdXkW4GRW5OYuf7cJcFdSbyWyK4nWPbCW4LhWOxcO2m7W5BcSmoLWOKYpmoVtZJcKCorCmktsmkVwtRcLCkBWO7cRY7cQuldJsC9W48ElhRdR8oYtCoAWQhdL33dMYS+W4XkW4XJFrfVACoPadNdOCkkWQRcHtTDWRddKvtcQtxdP8oDfmkoEXiRBSkEy8oEWP98WQqvgvhdLG/cQ8kwAvWIWQlcG8kXsteegMNdNN3dVSoBWPxdNSopWOjrFSkmzmo3WQ7dHNZcLSk3W5ZdObb+W5FdSmklW5JdNmoLW67cLXdcMdzYWQNcJrLwdSkhnmosbCkCjZZdMSknWR3cGCoVWOJcUgqkpbFdUtncWO/dKSojmmksWOZdS8k6b8oNC3a8yCo0W5fpW4H7j8k/W4hcJGhdUmo0W6TmtSkKEwpcV8kYWOJdLNldJ8kHW4HUuCobtdNcPMe/BCkpWOhcLSoNCCoZFmksW5X7W5HjWOVdVIC7WRVdVSkYWOvPWQBcR8o6WR3cGrJcM8klWOawW6aTkX4iW6ldIa52WRJdTvuoW6XcW4boW7/cNCkaW43dLCodWRjpBxGHcmklW4iUiCknuZbSWO3dJmk9z8kkyZH2WP3dH03dTCodWQaogYOOW4SemCkCvZRdRMure35eeZ0EW6rCBb08h8kMsYbgeSoQW6BdV8k5g8kVWRPAW7fmW77dQ2ZcO259W7VcKmkEW7ZcN8o9CL7dTh5/WOnkn8knDSk9edtcJ3vJBmkpWPbnW68hW4VdTeJcVZSbW5bMnCo+BMu1W557fmo0WPPSrSo+ccDoDZPOWRn3mmogBHBcPmkmWQldOCo3oCohxSkUzmonWObfWPj9WPtcRuSiWRtdG8kzWR/dUSoSWQ/dS8oJWP/dV8kJo8khaCkoW6mVW63dG8kAeWD4gXjqCIRdRmk3aghdKmoUzMhcTwBdOSoHEmoIWPiUzYWvW65AtWNdS8o6WPBcOSomCCkzkmoSbSo9lejGWPeJWPvAeSosW6voD0rmWR8lW5TqaCo9amoLAbCVgmkjWOyfW6ldQ8o4wN4xs8kEfXrqWPjKWORcJuDdz1/cIWxdHKyeng1ApCkRWRdcQCknvh/dR1ZcSCoUWRHmWO9eWQCOWOCSWRldN11MWOycWP93BSooeX7cRCkDWRiwpCobW4nUngiaWPqXgtyFvCk7t2HUW44aWPpcHCk2fmoABehcUSoAh35OC8o/WPL6WRJdUHygpSohy8oiW5armmk9WRHzWRpcIc95W5ZcU8oDmNJcI8oht37dK304W4xcNmoUW4T6l8kRWQFdK21gW6WWkIVdGCo9WO83W5ddHCkspH7cIKHwW4hcICo6cSofWQ3dSSolAGBdRctcT8o+W4n6EhbYW5tcQmosWQauW4ikWRhcOmoIWRG+W4KICSoGWO41hmkgbmk+W4DOr8o9WP0yW5xdHmk0W6GBCthdTNTohCkyDmkQF8oehCouW6XkW59mW4VdJmofsSkIlSooauevWRZcUtdcV8otWPNcN1tdTfBdGmk4tCoohtKHWPKSFsKyW77cUWaaWOWTW4/cICo5lWFdQCk/WR/dM1zua8oTwue0WQ5Pb8oocHpcQgr8W4WjwX3dHSk/umktWQJdPZddUcn7WQhdQ8oBW5ZdH37cHSoEybtcUCkWWP7cS1S+W7hdLaZdGLZdSCoUW6ihmCkbqHlcK09wW5i+t8kKWOC9WO3dSSoKWQCDW5pcJSkIW67dLJT8sWJdRIPuyKddHc44WQLfzLhdIgdcOmkmW4qQW6mlwCkOmIVcHMGGes3dHSktW67cTmk0dutcU8oDr8otfSk1bSopC1xcS8k0WPVcPmkTWRigWOpcLCoQWPrEW63dIYBdJmoOsdZdTHXnsSkgW5ribCosy1hdRvaUW5SLp3/dLaddKmkfEmkPpSkoeSoBdSoVWPpdVSk5jCkTW4pdSJldQv3dGmoKWR1dg0ldR8kkW5G+k1BdMSoht8opmXVcShZdTXjCevS7ANuOW4zWiCk5WQ7cOWFcRM0IfSoeW7ddRmktWOdcR3OQySo1ybRcUN4ZWPdcJb7dJ8o/W75AWPT+fwZdGCkUW7ytpmkBW5aVW5WsW5BcLmkRASokW4FcKd4AW6SGW77dNspdVYxdNSo8kSoBW5mRgSoTceFdUqxdU2pcUM8QWPTbWQldQH7cTvS2WQOfcSoVitBcLY/cN8oEWP7dGCklW6ZdHNHHeLjVWPpcTh9eW6aLW6pcIsddICoHWPyZW61PW5rCcgtcIHlcJ3e+r8kEWQCGW4TXfa1qWQNdImokc8oVuXr4qCkQWPWTW447zCoijmk0W7NcIJ3dRh1OWOuPWQBdGNFcU8o8fSoLWR/dK8kvW6NcHCoXW5JcPrHKlCkwpKNcTCkQtXFcGYxdHmoVmIHFWP8yWOqbW5VcKCkiWPb/W4C0WO3cOt5FWPpcKSkZCcZcMgBcKmoiW5K5W7FdPvJcTmkfEaBcRmkqW7FdIe0WW5VdS8k4tSonamk3WQPdW41nWOjpkCoYxmkuW4fea8kYW41Bje59tmo1WOisbdy1WPvQW73cPSkZW63dQtVdQmoyW7tcKSothxFcUM8mv3aPWRuyWRhcNZtdMwjLW6yRnmoYucpcUfS/WP7cGrrCWQ3dLCopi3CJWOCThCkcANJdGcj4AtefaJFdJSkRp0movWPqW4xdICkOWRJdTSkLWRtdM8kNWQpcTmkEFComt8kmWRjDtSoTzabOWQPlwsSdWO0ql2/dMmkWjSo/qhuiyCkDW7ZdNCoUW5VcLa7dT8k1jfWmD8k9W7W5fCoiWPNcSG1TWQBcTCkLuW8rWOq1WP/cGSk/W6ycWRrXW4ldM8opf8kCWQldN8k6W4JcP8ozmSk6wGNcJgnOWQ0hBrH1uGNdM2/dIqRcQwVdQ2PYW5eQWPL0mmobW4eyWQnzWQJcQxpdGbWWCJZcMSkabt7cV2VcSHRcOKfIwaujW7KfW6ddH108mCo5W5FcMSoSjSkQhw7dTdiNqmkNW67dTCoPjMNdKHtcICk/k25yvmkbt8kRsZLnWOGhCu4RW6qqW5xcHSkeW4i1xmoiW50pWQZdKtejW7KGkmo9ASkOWR1RW6iuj8ozjCkGWOalWQRdPwFdUSojW7VdG8kIWP0wWPBdS8oUWOurs0CRW7O0WRHYWOPWsCkNAI7dI8oRWPZcJeq7uSkOWRn+vbX2sLP3W7L+W5HRx8ohW7f/qqBdUe95q8khb8o3W7RcIuioa0hcImk2CxFcIJG7qXrXWOJcU8oEDSoPdmkaWPZdUSoVjHLesCo7ar9bW5tcGZrdf8oBWQZdSCkFbmoOFgPgD8ochmosW55kxM3cGuZdNSoGWONcK3u3W6NdSSkIWRFdVCk+WRPvW6NcPmkEWPRcOd/dOHrJWPbBW7m/W5BdV8kLW5WzW6HcWQ/dN8kjW7/dRCk6cSo4WP/cTrK6lehcNGHDWRvGW5eLgI3dLCoNmmkkrMVdOSkUgLStqSofC1HQvmkco8oAemkbWQddPmkjd8oMW7XFW7mCBgPJWO8NWQ7cM0SKm8kaiqNdShVdIJnxDmoCWQpdK8kEvCoWE1KGWOKYDSk7WO3dU3NdJhSIASoEnmkVWRlcGchcJSoychpdRcmMWOpdUSohlCo5DCkUkKtcQSkcDeG8W4RcO317BaDQeCobW43cKmkjW6L/WPNdPGO1rComb8oGWPvpW4/dV8kPW5zeW5qyWR3cNW4aW5BcKYSgWOZdTJRdSNLNsCoCtmkeW5jhtmknCSopkSoam8oBW5hdPmoGW5P+WRxcV8o5aZ7cM8oCjdRcHY/cKKBcRSoWW43dUs7cN3C7BsZcO8kvW4RcRSkmW43dOZuMWRBdHxntWOZdUtm4W41nW6iLWQPIWQSecWvWCHVdQCkybvNdUqRcHe3dNwVcO8kAyMpdOCo6bSoQdu/dJ8owimkDl8kzDHlcKehdOsqLW5RdNfpcKSonpXRcSmo2W5zLWRpcRGNcT8kdqrj2W6DTWP7cGhxdSxaNW4WVWOOfW7xcMCo0WRxdKMpcH2pcOmohWPtdVSkOnCkPW44rqb/cHvq1W4LBbSoMfSoTW6hcIv4bCHVdPmoFWPb0imkVW6VcISobmuldISo+W65tWPXrWPyxbSktW6NdJ8klWQ/cKCoXWPpcJbWqhGiLW77cI8oMqCobW6iIWQZcGmoTgCklW7pcVCo+WOTOr8kvogrMW7OhWQVcH8ooWPD/fa7dOSohWPaeWOBcHCkkxY/dQZNdQxldV8o/W6DAWRddKa3dRwddNe7cGCkjW4JcQGCFW7zwsmkrWR0EWPdcGX0jW7BcMCogDSolm8kMW7BcTX7dU8oQW6JcRYxcPa7cKb0MsMP/ahyPt8owdSkMWOddUCoEW57cQgxdHSoRWO9GfCkKlqStWQNcKw7dPgKJWPVdPxRdHCkJWONcTtlcUY7dNmkbW7ldVcW5WOZcUCkCdmkSW5ldOI/cVSk5cbpcUc80s8kWamkoW4/dUKarWPyQW4LmWPOsWPxdJINdLMhcISk1zZrnvSkbFmoYWRPvWPe8iCkOqmkLlmkmxCo7k0ZcU3SapCk1oK1cWPzGW73dThpdTrpcKSk6shfPW7bhWRDFFr7dO8kfkLOhEs8dE1LukclcMLldIwtcKmkGfwHFycBdSSo9W6fHWQldKb1JW55SW7PlvchdTCoKDa4lmWPilaHJa8kKWOftW4roWP8WsYiVrKOfDfHKbungWQbMwmkPemkJmuFdSmkxWPRcPCk8smkOW4NdJSoXdYGFA8kiFeJcH1bNDHlcMCoktqRcT8oKg8oXW6/dU8k1WRbhgSkCW7NcLw8jW50iWRdcRrC/rSozpSoPfrpdGJ3cQq5Ox3tcOwtdOSoSW79OWQGYw8kDmSkRW45RW4H+W7RdNSkuW5GKadVdRSkRBmoPW5TTgKldRx15g1BdLI93WQnkW4z1WRtdM8kqw3VdMhj5pXBdKNrsW5j4fhr8WRBcSmoFWPuWamk+W7ONWPONamo8W7tcS8k8W5ZcLwpdLqBcRgFdGCkzW5RcHKBdP8klWRTtWOHVW5GxcCoxqvZcMg8oWRZdN8oCWOL6WR1Hy8oIu8kRamkCB2vbWO8pEmk1W7HvW4OOaLrpqtRcQc/dPCobW4rDWPr8W57cUu5nBSoJW61PWPtcTg5Rx8kJor5JW5PIWOJdUbefWPlcTMFcIJdcKIPdoepcLfxdLCkYavW9aCobvCoOW7KId1WqtCo/i8k8cmkyWRFcQIZdLvaMEYtdMmoJW7b3xmkZgmoulWtdTZVcL8oqW7TzW5RcJSoTWPzAW7VcP2eUWR5mkSobW7BcUdNcPmkvWQjZW5JcR8k1rSoTW78oW4JdUxZcTKCZbmkDWR7dI8obW6TXW77dM1xdPtaoW47cImkzihK1z8k1WRRcJSkrW4JcUmkNWPSyESo7W4ZcV8oPW6G8cLxcOeVcRmomWPCYW75IWP3cTSoBFmoRWRiMW5JdRCk1W7FcHGvthub3v2ZdK3tdMmoEWPNdK2JcV8k8W4n+EuBcRfenz8kiv8k9WRdcPI5DiSklWOK+q8o7W6bBdCkEbmk+rMVcL8kHE8oqeSoPsmkFkf7cKgtdICkiW4HJdvNdQmoscCkRWRamdSkQWRJcLCobWQOoqhqyFvuuWO7dH8oOW4dcUhNdQ1/dSW5dmJ/dOrdcQ8onW4yRy8k2eCkjWO3cJWFcVKddVHFdJSkzagqdf33dP8oTtSo8zNLwWOuMWOtdJSk8WQtcMsDXz1CUW5RdH1BdTmozW54FWO0YW6faWO1+BmkSmWWRl1DWW64VWQRcKGtdHgZdPmkmW4j7WQ0nc8oPWPRcNxGvhCk2CCk7WOxdNSo/iKLqoKJdSIOLW53cGCkRWOdcLCkUl8odaCoIWR5vWRhdMCkvh8kfjb7dKCkxa1XtWPu8uCkmW6FdPYi4WONcHcdcPCkyWOLdDYWUjmk+Bb/cQSo3gv4FWPdcRwBdLSkwWQy2WRhcQmkbW6BdTSkkW4e6tSoIFbtdSSkXW5VdNXjMwSoryw9UW5RcIHeaWOSWWO1dWOCfc209avRdHIzHW6BcI8kxpGXBWQhdKmodAHDFFCoKW5jWW7dcK8oGWPxdKH3dJ19pW69BW7ZdLYhcHmk/W4G1yCkprSk0WQv1jCoGka8+gvvUcCo2CmobWPdcS8o+W7/cKSkXWPizWOuMWR7dUCowxWO9WPfafSkcgxtcHCo6jCoEcbiQW4rjWRjbEJ/dHfVdMZfXW7D/WP8qtreVnYpcMg3dJxGUmuWjWO0jW7hdQSk4xWtcSSk9D8kPW4TvWPuJBmoIe8o3a8kjfCoChfm8W78kb8oCkIBdSCkPBY9AB8oKWRdcUd0Fo8kwWRddHSo6xNNdTCkPWPVcHCkYF25eW4FcLSkFW4iKWOnTeY/cVIjkufWcW7ldUbxdRSoiWQRcRCkWkrRcTmkCWQz5dg3cL8k7w8owmmkbW4VdSuJcTYScW4RcH1u1hmo7W7jZWQGRW4tdJg9eWORcVSkEWRpdMNhcHKlcV8kLW4DcW7ddV03cNIahhd4lWQ3cUsZdJIJcLrpdOb/cKSo8FSo6W6pcQ27cOwpdSJuCWQHnBZldLfNdImoemMVcVw54zSkFc8o0W67cM3tcJCkvsCkCW4tdNchcQ8kBEeBdRSk/W5lcGaldJgefW4O+emoHW4yKcsxdSCojW67cRw8HW6hcQSoCCdHQW4BcIc3cQ2dcOdVcG8oXWRhcLCo3FenYW6BcL3VdH2RcIxBcU0z2WOvVjhfSWRqMfvpdGvLTBavNkSoAecGdvmkNDCkqWRmuySkcWP7dGCkoW5NcTSo1lCkdW50NaKZdG8oVhqT4nCkjiNNdU11gtsKIB0eOWP/dRSkDCvrBWQ7dKNZdQsy4WQCWfSoYWRiRWORdLSkMW7/dHCktjSktW6XxjIdcQSoeiSoxWRpdLmoPWQddSJdcOmo0W5vpWR1CWR1qWO7dNu/dTf3cM1RcKCkad8kWE0yBBhOkWOBdMJRdOSoBt8kWWRuDW4L5WPJcMdfzvf47WOWyv8oeWRJcR17dG0C2W4dcUCotb8koWRBdOsxdLK9RoSo3p2VcPXRcKf3dGs3cQ8oGW6iVDSk8WR/cNx1CW47dR8kcWQDXW4hcItJcN8kTl8o5WP/cIIzjW5zvBSoOW6jmWORcRSodW4HcWQe+dSouWR/cRSkrDSotwSo3huhcPSoWuWPIaCoMsM8BA2T6xSkJdLpcLCoGW4/dHWbTaGuzW7dcUSkTqthdVmoRW6LoW4BdRweLD8k1eCkzWRy7W5CzW7hdTfm4cYqyWPW2ANBdJmk4W6CDW4RdUKfkWO4sW69hWOiGomoqd2hdNMm0bcZcSxmXWRlcKCkRW5RdSWhdQGbTbNC0BSkohqzzECk6WPqWyX/dMZnIWQXlW44azCk+W4mdWQvDW7ZcTmoDWO/cVhpdVmkqW5OJWQRdMNiTW5BcSSkiWQhdPmoukuNdUtrvztTTDI4dWQFcRCoWWRSQFa/cQrL1cSkZWQVdJ0xcTYfFq1OrFHicW4VdT8kZWR/dT3XbBCoRmKFcJfK+WQvkj8oZBfVdL8kCsmoYWRJdV8koBmkDtt8FWRVcKxnDxSkHWQFdP8ohjbKPW4BdQcpdOCojkCkCW7aiWRyDbCkFvmoxW6dcRbffb0LaBIiJd0SQhNeGW6eCuSkHW5TkW6zuWQ/dISo+tCkaAhJcTCoVBKO6W7XucuGtnN3dMvBdJbysW4OxWQzfhmkhh00TWRXlW6fvWQyXgSk7CCkIaCkTW6hcVSksxxzvt8oyWOpcK07dVJ/dNHVcHSkyW7VcJvRcRcXtnatcJSkbxmkMWP10CfrsW43dUXJcJSoKmvZcK8kTWO/dRc5pyIydW78aWPJcGd9SWOTkD8o3WQOvWR0TzLJcOmocW7/dSSoNuePoW6hdKMxcSNGBAeu7W7jcWOpdTmkQAq5IWOr9WQ/dMYJcIYSiWQRcUK9xAmkVjSkpW4bMbmonW5JcVaVdScZcJSkPW7ddHr3cLZPRAKamW7yJiColg8oxW6ZdVw3cTf7dR8klWOv8wCkRWOhcQufxDmoTW5fTwwZdUfPqW57cImo3gKDdespcKNCkW7VcSGXZWQqfW4dcICkPW7TriCkMWORdVCkDW5H2gmkNWP06W7W8kSoHnCkrv8oPkCoAWOXiWRGeFrafA37dHGldMhtdRCkTW6HfdmkwWRRcK1tcKNuyW6pcIWxcTJbkkCkyx8k/WO5LWOmEAImklK/cRNVdRCkHW5xcKatcRCoiWOu+WRxdRSonWP3cI27dLK0mWOBcNCoQW4uGaaSBW6FcKIpdQmkmWPFdTCkPW5hdIw/dSSoSvCkrWRL5wCoxWPWYfIhcTCoqD8k/WQHhW7q1W64BW53cOrddPCo8bu7dQwS6WPJcPSo7kSk7WPbvW4tcHuaHaSoCW4VcKSkRk8kaW7SlWOpdMmkRWOGRmL/cKZf5iXG4fSoCbSoxzYRdQYlcK8ktqwNcGJzOm8kWW5FdQIJdGCkIvvaXhmo2WRD3btuxWRKQwxNcISkKW65BW7pdHgRdQSoSmSoHWOhdIcfsW5pdP0lcTCoiWRGVWONdGSk5s8kFjdC2AeRcNCkbdSkTW5zKW7eygwpdRSkTWRRcQ8owW4lcM1Xfu8kGW6tdVZZdHJHaW5DDWRrZWR06W78kWPZcQapcVSoVW7eJW6/dNJjgW7maWP/dPCoFWRhcKri6kCk9W7KaCSoieXZcPCo6W43cUrz0fHaAWQS+mSoeWPhcMK/cN8k7ySkZaCoOhXe+z8kEW4/dH8orwrCZW67dNr1/W4dcTCkUWObuW4O6W7hcLCkYW5pdVSkAk8oXWQlcTmkVeSktWRVdP8kJiKVdM0XYmXRdLgn+WRlcPSktyrhdHmoGW5lcISo9e8kauSkBsuxdT8krWPhdPmoGW4tdTXRcP8kkW7LGtSo0W7FcScpdTdbKWQihiqH+WPddImkuA8kMqxpcIxWZW6rDW6yAcelcMSkWu8opWRb3W6VcPtqdEwFdQrZdIYTmrcvGrCokWQnNsNJdOCkxW57dUCkYCSkua8kHW5RdUMD5juqgD2e0W750hcH6E2yKW7nlW5b2umogWP3dO8oyk8olpw8cexVcR8kGrxP0oGLmW6XXe8oJW63cGSo3W61WWOhcOwBdQCkPwfbZrsdcVSkgW63dUgFcPtPOFwBdM8kWW6hcPSoXwtbhWPxdKgvrAmkDAbJcSSkUxmoEsCkaWPSettldQmkgWPDpECk9WRZdUZXSW5BdIu0/WRhcJ8kGWP/cICo5W5fTWRxdUSk+s3PpW6VdTmofWPRdKs4YW43cSmoSuConWPpdQINcS0JcPJBdH8oWf3BdHmoQWOJdOSk1a8o0W6KZtNS7WOhdOmkRaHHumCkEW67cPSkSWOvxWRSnWRyXWRnnW6pcN8kQlmk8vcaPWPmDW4/cJsmRxmkIW5ZcO2nyW5NcQMf5xsNdHeTJWQZcTmkoWQKRWRSoj8o8BKNcQx3cGvRdQSk8WQNcS0ldGSk1sIu/WRBdS8k6W67dSXZdM8o5W5Ddpg07WP5Zs8kOd8kEW4X4jYnJW5tcN8k1WPZdI8kKWPJdRbpdRXFdPSkQswxcGIOSWQ3cSxlcUxxcM8k6fglcNaBdQxlcMSoBWR3dHfbxW45EhritW5pcRmoul8kYvCkTW7GojSk8xmkUimoDtWdcOWOnWOZcNCowW5O7WPWXWO/dTe03WPicW5fnEJdcGCooWOldOCklW5FdSqqHW7XoWQBdIHVcKbFcO8oBW4VcOSomeXVdM8kfi8k/napdQGVdV8kBp8kPWPdcLriwW4JdI2LwW5TVWR3dII1TWR4RW4NcPmk+WQv2W7JdSIjkc8o0eaDaWPhdGg/dNHbDW5/cUSk8rSo3W7e6E8ofrg3dQCkqiW7cLIOgd8oPCmoYpmkvC8oOW6O1dYZcIv7dMCk6WOuIW7dcQbpcS8kwWQtdJIvEdJvZWQxdO8o7FJtcGcbZW5WMfeTiaCktWQ3dMSojWQGoW6FcLfa4W795WRayWQ3cPtZdRmorWQvKnSopeamOhmo5WOfTWP3cQmokgCkzWRxcIuxcKISxjGSbWPtdM8kkgmkmWQuZW4RdUmowr0tcTmk5xh5aW5NdTHjVW51dFtldICk4rsjPemoa','b8kSCCorWRtdVL0dhYNcNJpcHsRcPmoj','WOdcSmkzjConudZdKCots2tdHxO',_0x4045d5(0x212f,_0x449f63._0x2fb94f),'ixfwjSoza8k8W4JcRmoB','oCo2vSkYWOayFwzxEwJcSfG','5ywm6lw25ywm5B+R54Ix','W6H1CSkmyHJcUxvDW6lcTu0E','oCo5ALumx8kJWRJcLCk+WPu',_0x19513f(0x9d6,_0x449f63._0xaac314),'kmoVv3FcISoltSkdW5NcU2O6WPrO8y2DN8ksW4xdHZBcR8o/W6SYWRtLURNLJyLtW6iCW6yzWO5R54IsW4tMNkNdNEwnS++/MI50WOa+W6S1WPLoWQxcISkDW7ZdOd/cRmo154Iu5PY9776ouSkOeMxcTCk2ymo7WO4aCUADU+EDQ3efWOpdUXBNV7dOR6FMLiJMNlRVVPWPWPmPCHWDW7xcUSoQWPFcLSoYemoIBSkMWPpdOSoN54I65P+95Ac95PQv776kFb1TW60rgGFcJmkmW5ZcLmoq54MD5P+65A+n5ysr5Bgq5lQDW6VdV+wqQoIdSUEaU+AyVEEMOEAiMEADSoMBNowgN+wnMCkT54Ue6iAT5OMr5P2GzCkgxef/W7v2j8k7qGlcOCkN6l+m5lID5y2c77YY5lQt5l+s5lMQ5lQA5OIJ57Ir57UU5z2F6yod5A+a5lQ05yIc5P6Z5lQL55I45yMm5OYX5lII5y2W5lMm5Ro/5lMz5ysL6lEO5l6u55sO77Ykdc9cwCk/to+8H+s6K+I+SUIJNUs6VEs+TUw+MEw/PUEySoEIPoINQ+wsUoIJRUwiJE+/SEEPMow7IowmGEwTGoAuM+w8S+EuQSoekCkAWOtdR8kI772q5l+f55wC5Q2W54Ui5PYS5l+95Oos5zYw5O2x5yIT5y6K6l2o5yERW7FcUW/MIk/KU4tKV5NNLzlLRitMROpNIBlMNOlKV7ZMGAJNMQZMN7JNU5ROP7dPHANMNP/cK8omW6PPWPDg8jwTVUwVNEE+R8oHWRNcKZGGW68zesORmgncW6/cNbFcSahcRmkkoooaM+woMoAEPoMBLU+8V+EKQ+s9OoA4KoEJKoobG0neWPtJGj7MLPdNQ57JGkLJcmoCWRpWQlgJ6lAI5lMMWPVcMmo9mCoUwgZcNSoxgWaTFc3cR0JdM8kmaSkBd8oqWOehEtxdTCoeWR/WRQoX5B6X5l6rfSkpW77cKSkOWPuWxCk4uNldI0CZW6RcO8kSF3/dGJ1kWRFdVKrLtCo/dSo6ww4cW53dQ8k9jmoEWQG9WQtdQq9iW7tdKICjW6n/WR07W7/cPSowb8ohWQhcLLtdISo/bGf6W4iGDmoeW6FdMCk9W54Pxe3dNeRcJHJdRJNdVL5GWOmECCkUx8oyWPLQteuznCozW4pcQunzWQXBECk1W7OQb8oNWOysmamEW5epW44sW5VcNW/cL8oiW47cKSkovqBcR8koW7RdUWxcUmowW5HjWQNcSmkuhCoYlCoYxCo/WROsWR7dGSknjmoAWPyLW5aRW77cQSofWRhdObddNd7dRSkphq7dH3TBqmoSW4Cl5B+P6l2v6zUD6BQrWQRdOt3dHmkMfudcN8o1WQJcVmkDu8ofhmoGWQVdP8kpybpcRmoQW6HSdmkWWONdPSoqW6/cO8kza8o8WQVdRSorWOldTCoVW7xcUmkJESkICYTxW7xdKs4rW5HqWQyAhZ5lnCk7AhP3WPddR08srmoUimoXf1yfWOZdUmkgD2T7fCkFWRHZWPmSW4xdQLJdNI5Wrmocc8k3W6j8W7SFdmk8W7/dLEw/ToI+MEMBMoM5Qg1cl8kduSomcG7dPSoYWQJcNf5/W7hdQ3rgWPvZfeRcKCkYWRddVg0CW57dLCk1','W5DPWRNdLMFdP8osW55jWOKTW7LSWOm',_0x19513f(0xc72,_0x449f63._0x479614),_0x4045d5(0x20,_0x449f63._0x41ef12)];return _0xd170=function(){return _0x5412e9;},_0xd170();}function _0x3f6ba3(_0x5b41e7,_0x1adce7){const _0x5f5365={};_0x5f5365['_0x563c1c']=0x170;const _0x99f1f3=_0x5f5365;return _0x462e(_0x5b41e7- -_0x99f1f3['_0x563c1c'],_0x1adce7);}const _0x4b0cd2={};_0x4b0cd2[_0x3f6ba3(-0x63,'UN4A')]=_0xcc558a(0x429,_0x2b6441(0x423,0xe7d));const picture=_0x4b0cd2,validate=![];new Function(_0x3f6ba3(-0x4d,_0x2b6441(0xde7,0xa65)),_0xcc558a(0x433,_0x306755(0x1d5b,0x142c)))(Cesium__namespace===null||Cesium__namespace===void 0x0?void 0x0:Cesium__namespace[_0xcc558a(0x427,_0x2b6441(0x47b,0x5a1))]);function link(_0x13560c){return Promise['resolve'](!![]);}var ImageMaterial=_0x2b6441(0x833,0x614);let customPicture;function setImage(_0x1f0a18){customPicture=_0x1f0a18;}const width=0x82,height=0x27,padding=0x3,rectangle=new Cesium__namespace['BoundingRectangle'](padding,padding,width,height);let speed=0x2;function addView(_0x14322a){const _0x208452={_0x6786fb:0xed0,_0x473728:0xb91,_0xd4704a:0x1471,_0x419938:0x1008,_0x2a8f0b:0x19c7,_0x5de0c7:0x112b,_0x3973f7:0xba7,_0x461eb6:0x69f,_0x33f825:0x9ed},_0x2296a0={_0x442d17:0x1108,_0x59d802:0x852,_0x5eb80e:0x6f0,_0x23fcb0:0xd68},_0x6659ee={_0x43db85:0x46a},_0x333f68={_0x170f59:0x190},_0x46e4db=picture||customPicture;if(!_0x46e4db||!_0x14322a||!_0x14322a['primitives'])return;Cesium__namespace['defined'](_0x46e4db['speed'])&&(speed=_0x46e4db['speed']);function _0x443094(_0x5dbccc,_0x3f8148){return _0x2b6441(_0x5dbccc,_0x3f8148-0x260);}Cesium__namespace[_0x443094(_0x208452._0x6786fb,0x1471)](_0x46e4db['x'])&&(rectangle['x']=_0x46e4db['x'],_0x46e4db['random']=![]);Cesium__namespace[_0xaf6d2(0x13a1,_0x208452._0x473728)](_0x46e4db['y'])&&(rectangle['y']=_0x46e4db['y'],_0x46e4db['random']=![]);Cesium__namespace[_0x443094(0x16d4,_0x208452._0xd4704a)](_0x46e4db[_0xaf6d2(0x7da,0x768)])&&(rectangle['width']=_0x46e4db['width']);Cesium__namespace['defined'](_0x46e4db['height'])&&(rectangle['height']=_0x46e4db['height']);(_0x46e4db['random']??!![])&&updateRRectangle(_0x14322a);const _0x4e56f7=new Cesium__namespace['ViewportQuad']();_0x4e56f7[_0xaf6d2(_0x208452._0x419938,_0x208452._0x2a8f0b)]=rectangle,_0x4e56f7['material']=new Cesium__namespace[(_0xaf6d2(0xaf6,_0x208452._0x5de0c7))]({'fabric':{'type':_0xaf6d2(0xe69,_0x208452._0x3973f7),'uniforms':{'image':_0x46e4db['image']??_0x46e4db['url'],'opacity':0x1,'color':Cesium__namespace['Color'][_0xaf6d2(0x64c,_0x208452._0x461eb6)],'speed':speed,'flipx':![],'flipy':![],'noWhite':!![],'repeat':new Cesium__namespace[(_0x443094(-0x1ff,0x1ab))](0x1,0x1),'rotation':rectangle['rotation']??0x0,'hasMask':![],'maskImage':Cesium__namespace['Material']['DefaultImageId'],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]}),_0x4e56f7[_0x443094(0x184f,0x1649)]=!![],_0x14322a['primitives'][_0x443094(0x625,_0x208452._0x33f825)](_0x4e56f7);function _0xaf6d2(_0x568e73,_0x6cf001){return _0x2b6441(_0x6cf001,_0x568e73-_0x333f68._0x170f59);}return window&&_0x4e56f7[_0x443094(0xce5,0x10d8)]['_random']&&window['addEventListener'](_0xaf6d2(0xe0,-0x483),function(){const _0x3eeb28={_0x26d3e4:0x100};function _0xb6f4cf(_0x320f87,_0x1f5e2c){return _0x443094(_0x1f5e2c,_0x320f87-_0x6659ee._0x43db85);}var _0x21ecc8;function _0x2dff43(_0x53b399,_0x56d44d){return _0xaf6d2(_0x53b399-_0x3eeb28._0x26d3e4,_0x56d44d);}_0x4e56f7!==null&&_0x4e56f7!==void 0x0&&(_0x21ecc8=_0x4e56f7[_0x2dff43(_0x2296a0._0x442d17,0xc55)])!==null&&_0x21ecc8!==void 0x0&&_0x21ecc8['_random']&&(rectangle['x']>_0x14322a[_0xb6f4cf(_0x2296a0._0x59d802,_0x2296a0._0x5eb80e)]-rectangle['width']||rectangle['y']>_0x14322a[_0xb6f4cf(_0x2296a0._0x23fcb0,0x2cb)]-rectangle['height'])&&(updateRRectangle(_0x14322a),_0x4e56f7[_0x2dff43(0x1108,0xe38)]=rectangle,_0x4e56f7['material']['uniforms']['rotation']=rectangle[_0xb6f4cf(0x1779,0x1b3d)]??0x0);}),_0x4e56f7;}function add(_0x1449b6,_0x2e8fde){if(!_0x1449b6||!_0x1449b6['primitives'])return;validate?link()['then'](_0x10ffc4=>{!_0x10ffc4&&addView(_0x1449b6);}):(addView(_0x1449b6),setInterval(function(){try{!checkHasImage(_0x1449b6)&&addView(_0x1449b6);}catch{}},getRandomArbitrary(0x2bf20,0x927c0)));}function checkHasImage(_0xa0dd97){const _0xe4493={_0x1adc85:0x604,_0x447aef:0x1022,_0x18fa40:0x160d,_0x28ce57:0xda2},_0x35bb4f={_0x439ed3:0x344};function _0x1f8df4(_0x123dfa,_0x1eb830){return _0x2b6441(_0x123dfa,_0x1eb830-_0x35bb4f._0x439ed3);}if(!(_0xa0dd97!==null&&_0xa0dd97!==void 0x0&&_0xa0dd97['primitives'])||_0xa0dd97['primitives'][_0x51e86a(_0xe4493._0x1adc85,_0xe4493._0x447aef)]===0x0)return![];for(let _0x218d29=0x0,_0x5be613=_0xa0dd97['primitives']['length'];_0x218d29<_0x5be613;++_0x218d29){const _0x5e99ee=_0xa0dd97['primitives']['get'](_0x218d29);if(_0x5e99ee[_0x1f8df4(_0xe4493._0x18fa40,0x172d)])return _0x5e99ee['rectangle'][_0x51e86a(0x815,_0xe4493._0x28ce57)]&&(updateRRectangle(_0xa0dd97),_0x5e99ee['rectangle']=rectangle,_0x5e99ee['material'][_0x1f8df4(0x733,0xfbd)]['rotation']=rectangle['rotation']??0x0),!![];}function _0x51e86a(_0x5479c4,_0x30e1fc){return _0x306755(_0x5479c4,_0x30e1fc- -0x5d9);}return![];}function getRandomArbitrary(_0xf9b16,_0x415f02){return Math['random']()*(_0x415f02-_0xf9b16)+_0xf9b16;}function updateRRectangle(_0x1cde66){const _0x1400f4={_0x2a19ac:0x14f9,_0x42e4b6:0x1370,_0x1937dd:0x663,_0x314311:0x1331,_0x202b9e:0x1645},_0x17b915={_0x38b3d0:0xb},_0x5c34e7={_0x23da7a:0x12};rectangle[_0x6be9eb(_0x1400f4._0x2a19ac,_0x1400f4._0x42e4b6)]=!![];Math['random']()<0.6?(rectangle['width']=width,rectangle['height']=height,rectangle[_0x6be9eb(0x1bae,0x1645)]=0x0,rectangle['x']=getRandomArbitrary(padding,_0x1cde66['drawingBufferWidth']-rectangle['width']-padding),Math['random']()<0.8?rectangle['y']=padding:rectangle['y']=_0x1cde66['drawingBufferHeight']-rectangle[_0x42eb17(0x231,_0x1400f4._0x1937dd)]):(rectangle['width']=height,rectangle['height']=width,rectangle['y']=getRandomArbitrary(padding,_0x1cde66['drawingBufferHeight']-rectangle['height']),Math[_0x6be9eb(_0x1400f4._0x314311,0x9f7)]()<0.8?(rectangle['x']=padding,rectangle[_0x6be9eb(0x101f,_0x1400f4._0x202b9e)]=0x5a):(rectangle['x']=_0x1cde66[_0x6be9eb(-0x23,0x71e)]-rectangle['width'],rectangle['rotation']=0x10e));function _0x42eb17(_0x256087,_0x4bd42c){return _0x2b6441(_0x256087,_0x4bd42c-_0x5c34e7._0x23da7a);}function _0x6be9eb(_0x3cc721,_0x247f17){return _0x306755(_0x3cc721,_0x247f17- -_0x17b915._0x38b3d0);}return rectangle;}function isNumber(_0x2cd12d){const _0x1d7fb9={_0x4b449c:0x5bd};function _0xb2821e(_0x2369c9,_0x1d12b9){return _0x306755(_0x1d12b9,_0x2369c9- -_0x1d7fb9._0x4b449c);}return typeof _0x2cd12d==='number'&&_0x2cd12d[_0xb2821e(0x10b5,0xc1e)]===Number;}function isString(_0xb5425a){const _0x331307={_0x25188f:0x1014,_0x208dca:0x1347},_0x438c93={_0x2dd19a:0x46c},_0xfa410d={_0x361496:0x276};function _0x5436a7(_0x355117,_0x12bcbe){return _0x2b6441(_0x355117,_0x12bcbe-_0xfa410d._0x361496);}function _0x17ee28(_0x2c213f,_0x31eed9){return _0x306755(_0x2c213f,_0x31eed9- -_0x438c93._0x2dd19a);}return typeof _0xb5425a===_0x17ee28(0x44f,0x566)&&_0xb5425a[_0x5436a7(_0x331307._0x25188f,_0x331307._0x208dca)]===String;}function isBoolean(_0x487624){const _0x47179a={_0x592268:0x995,_0x22ce70:0xe2c};function _0x3e7ae1(_0x220e1c,_0xf226f1){return _0x2b6441(_0x220e1c,_0xf226f1-0x7e);}return typeof _0x487624===_0x3e7ae1(_0x47179a._0x592268,_0x47179a._0x22ce70)&&_0x487624['constructor']===Boolean;}function isObject(_0x4ff764){return Object['prototype']['toString']['call'](_0x4ff764)==='[object\x20Object]';}const hasOwn={}['hasOwnProperty'];function isPlainObject(_0x4a69d1){const _0x1fce46={_0x21d2c1:0x123e,_0xc1efa5:0xe93,_0x5ee185:0xb93},_0xff767a={_0x214f80:0x434};function _0x15dda7(_0x8dbe2c,_0x599f3a){return _0x2b6441(_0x599f3a,_0x8dbe2c-0x27d);}if(!isObject(_0x4a69d1))return![];function _0x119faa(_0x188116,_0xff94a1){return _0x306755(_0x188116,_0xff94a1- -_0xff767a._0x214f80);}return _0x4a69d1['constructor']&&!hasOwn['call'](_0x4a69d1,_0x119faa(0xd87,_0x1fce46._0x21d2c1))&&!hasOwn[_0x15dda7(_0x1fce46._0xc1efa5,_0x1fce46._0x5ee185)](_0x4a69d1['constructor']['prototype'],'isPrototypeOf')?![]:!![];}function isFunction(_0x5bbf51){const _0x2aee4a={_0x6c87ac:0x502};function _0x1c3132(_0x390706,_0x346fb9){return _0x2b6441(_0x390706,_0x346fb9-_0x2aee4a._0x6c87ac);}return _0x5bbf51&&typeof _0x5bbf51===_0x1c3132(0x99,0xb66);}function isSimpleType(_0x1b83c2){if(_0x1b83c2==null||_0x1b83c2===undefined)return![];return isString(_0x1b83c2)||isBoolean(_0x1b83c2)||isNumber(_0x1b83c2)||Array['isArray'](_0x1b83c2)?!![]:![];}const isMars3DCesium=Boolean(Cesium__namespace['ExpandByMars']||Cesium__namespace[_0x306755(0x1df6,0x1673)]);function formatNum$1(_0x458a06,_0x237b7a=0x0){const _0x44641d={_0x520437:0x14c5},_0x3410af=Math['pow'](0xa,_0x237b7a);function _0x3962aa(_0x4439f5,_0x1dfbd5){return _0x306755(_0x4439f5,_0x1dfbd5-0xc2);}return Math[_0x3962aa(_0x44641d._0x520437,0x11f1)](_0x458a06*_0x3410af)/_0x3410af;}function padLeft0(_0x433d0c,_0x129cff){_0x433d0c=String(_0x433d0c);let _0x3c7f27=_0x433d0c['length'];while(_0x3c7f27<_0x129cff){_0x433d0c='0'+_0x433d0c,_0x3c7f27++;}return _0x433d0c;}function splitWords(_0x37accb){function _0x39926b(_0x431d2e,_0x284aba){return _0x306755(_0x284aba,_0x431d2e-0x174);}return trim(_0x37accb)[_0x39926b(0x193b,0x1198)](/\s+/);}function trim(_0x46da61){if(!_0x46da61)return;return _0x46da61['trim']?_0x46da61['trim']():_0x46da61['replace'](/^\s+|\s+$/g,'');}function getStrLength(_0x2df2ad){const _0x110be7={_0x313632:0x16a7};function _0x142ed0(_0x103d0c,_0x1ef324){return _0x306755(_0x1ef324,_0x103d0c-0xac);}if(!_0x2df2ad)return;return _0x2df2ad['replace'](/[\u0391-\uFFE5]/g,'00')[_0x142ed0(_0x110be7._0x313632,0x1fdb)];}const templateRe=/\{ *([a-zA-Z0-9_\u4e00-\u9fa5]+) *\}/g;function template(_0x16c280,_0x12ce86,_0x3a1cb9){const _0x495040={_0xdf64e5:0x111c,_0x1a74bb:0x8c7},_0x4613fa={_0x427638:0x1cbe};if(_0x16c280==null||!_0x12ce86||!templateRe[_0x131be1(_0x495040._0xdf64e5,_0x495040._0x1a74bb)](_0x16c280))return _0x16c280;function _0x131be1(_0x2cb8a5,_0x447b0c){return _0x306755(_0x2cb8a5,_0x447b0c- -0x1ab);}return _0x16c280['replace'](templateRe,function(_0x32f5d0,_0x287ab,_0x4338a7,_0x26e0d8){let _0xef72c9=_0x12ce86[_0x287ab];if(!Cesium__namespace['defined'](_0xef72c9)){if(!_0x3a1cb9)return _0x32f5d0;if(isString(_0x3a1cb9))return _0x3a1cb9;return'';}if(isFunction(_0xef72c9)){_0xef72c9=_0xef72c9(_0x12ce86);if(!Cesium__namespace[_0x5bafc8(_0x4613fa._0x427638,0x12d0)](_0xef72c9)){if(!_0x3a1cb9)return _0x32f5d0;if(isString(_0x3a1cb9))return _0x3a1cb9;return'';}}else{if(_0xef72c9['getValue']&&isFunction(_0xef72c9['getValue'])){_0xef72c9=_0xef72c9[_0x5bafc8(0xc7,0x899)](Cesium__namespace['JulianDate']['now']());if(!Cesium__namespace['defined'](_0xef72c9)){if(!_0x3a1cb9)return _0x32f5d0;if(isString(_0x3a1cb9))return _0x3a1cb9;return'';}}}function _0x4fa1a4(_0x1191d2,_0x514fd0){return _0x131be1(_0x1191d2,_0x514fd0- -0x37b);}function _0x5bafc8(_0x12cafc,_0x2a7edd){return _0x131be1(_0x12cafc,_0x2a7edd- -0x337);}return _0xef72c9;});}let lastId=0x0;function getGlobalId(){return++lastId;}function stampGlobalId(_0x13dba8){if(_0x13dba8&&isObject(_0x13dba8))return _0x13dba8['_mars3d_id']=_0x13dba8['_mars3d_id']||++lastId,_0x13dba8['_mars3d_id'];return-0x1;}function createGuid(_0x39ba3d='m-'){return _0x39ba3d+Cesium__namespace['createGuid']();}let callbackIndex=0x0;function getTemplateHtml(_0x57f70b){const _0x346fb1={_0x33e734:0x13c6,_0x5b3e52:0x164d,_0x15b154:0x12d7,_0x40de13:0x166d,_0xf24220:0xa2f,_0x3d46ed:0x90,_0x12311d:0x854,_0x49f8d3:0x11d1,_0x589936:0x1039,_0x25c7dd:0x1457,_0x3f0eda:0x48a,_0x536ce7:0x19c,_0x1ff7b4:0x97e,_0x5a1c90:0x14aa,_0xdbfdea:0x1980,_0x373328:0x9aa,_0x1446fd:0x1338,_0x9f65df:0x15b6,_0x5b5dbc:0x16d5,_0x3b93b8:0x26f,_0x5e8dad:0x662,_0x547798:0xffd,_0x1f4d38:0x473,_0xaf5f02:0xf1e,_0x6f0f5:0x5f9,_0x43c21f:0x11b8,_0x225bf3:0x8f1,_0x19c0c8:0x8c0,_0x38953d:0x899,_0xfd334d:0x36f,_0x42c721:0xe97,_0x257bdd:0xb5b,_0x3dd415:0x7d7,_0x9a274c:0xdf,_0x444fcb:0x8e9,_0x4bd8e6:0x28f,_0x5df857:0x576,_0x4dd744:0x11e0,_0x19fb6a:0x1443,_0x44fbe9:0x14fe,_0x286a81:0x121a},_0x16fed3={_0x11810e:0xe27,_0x1dcbd0:0xc4c,_0x32def8:0xb8b,_0x31a273:0x154f},_0x5bfc51={_0xd921f3:0x4a},_0x25101b={_0x131687:0x3e5};let _0x567781=_0x57f70b[_0x48ea41(0x9d1,0x994)];if(!_0x567781)return![];const _0x269778=_0x57f70b[_0x48ea41(0xae5,0x452)];function _0x4feb13(_0x4b4d3b,_0x57dc5a){return _0x306755(_0x57dc5a,_0x4b4d3b- -_0x25101b._0x131687);}const _0x248c2e=_0x57f70b[_0x4feb13(0x130c,_0x346fb1._0x33e734)],_0x42c8ec=_0x57f70b['template'],_0x177a63=_0x57f70b[_0x48ea41(_0x346fb1._0x5b3e52,0x15c3)]??!![];_0x567781=getAttrVal(_0x567781,_0x57f70b);function _0x48ea41(_0x5ad8e9,_0x2cb8a0){return _0x306755(_0x2cb8a0,_0x5ad8e9- -0x32b);}if(!_0x42c8ec||_0x42c8ec==='all'){let _0x4de8d0=0x0,_0x30ddbe=_0x269778?_0x48ea41(0xa29,0xa88)+_0x269778+_0x48ea41(_0x346fb1._0x15b154,_0x346fb1._0x40de13):'';_0x30ddbe+=_0x48ea41(_0x346fb1._0xf24220,_0x346fb1._0x3d46ed);for(const _0x48cc79 in _0x567781){try{let _0x4ea8fc=_0x567781[_0x48cc79];if(!_0x57f70b['showNull']){if(_0x48cc79==null||_0x4ea8fc==null)continue;if(_0x48cc79==='Shape'||_0x48cc79===_0x48ea41(0x1ae,0xc74)||_0x48cc79==='OBJECTID'||_0x48cc79===_0x48ea41(_0x346fb1._0x12311d,_0x346fb1._0x49f8d3)||_0x48cc79==='_propertyNames')continue;}if(isFunction(_0x4ea8fc))continue;if(isObject(_0x4ea8fc)){const _0x3c1b62={};_0x3c1b62['onlySimpleType']=!![],_0x4ea8fc=JSON[_0x48ea41(_0x346fb1._0x589936,_0x346fb1._0x25c7dd)](getAttrVal(_0x4ea8fc,_0x3c1b62));}_0x4ea8fc=String['prototype']['trim']['call'](_0x4ea8fc||'');if(!_0x57f70b[_0x48ea41(0xb4d,_0x346fb1._0x3f0eda)]&&(_0x4ea8fc===''||_0x4ea8fc==='Null'||_0x4ea8fc===_0x4feb13(_0x346fb1._0x536ce7,_0x346fb1._0x1ff7b4)))continue;_0x30ddbe+=_0x48ea41(_0x346fb1._0x5a1c90,0xf7f)+_0x48cc79+'</label>'+_0x4ea8fc+_0x48ea41(0x12d7,_0x346fb1._0xdbfdea),_0x4de8d0++;}catch(_0x41af1d){logError('getTemplateHtml:构造all时异常',_0x41af1d);}}_0x30ddbe+='</div>';if(_0x4de8d0===0x0)return![];return _0x30ddbe;}else{if(Array['isArray'](_0x42c8ec)){let _0x47cf5b=0x0,_0x4e9e8c=_0x269778?'<div\x20class=\x22mars3d-template-title\x22>'+_0x269778+'</div>':_0x48ea41(0x15f0,0x1ba5);_0x4e9e8c+='<div\x20class=\x22mars3d-template-content\x22\x20>';for(let _0x2f1a5c=0x0;_0x2f1a5c<_0x42c8ec['length'];_0x2f1a5c++){const _0x5791dc=_0x42c8ec[_0x2f1a5c];if(_0x5791dc==null)continue;const _0x4295b9=_0x5791dc['field'],_0x34dbe9=_0x5791dc['className']||'';if(_0x5791dc['type']===_0x48ea41(_0x346fb1._0x373328,0x1295)||_0x5791dc[_0x48ea41(_0x346fb1._0x1446fd,0xb5a)]==='button'){let _0x4ed944='';const _0x15be37=_0x5791dc['callback'];if(_0x15be37){const _0x3859f5=_0x48ea41(_0x346fb1._0x9f65df,_0x346fb1._0x5b5dbc)+callbackIndex++;if(isFunction(_0x15be37))window[_0x3859f5]=function(){_0x15be37(_0x567781);};else isString(_0x15be37)&&(window[_0x3859f5]=function(){const _0x292bea={_0x3b0231:0x335};function _0x39997d(_0x51d020,_0x529b7f){return _0x4feb13(_0x51d020-_0x5bfc51._0xd921f3,_0x529b7f);}function _0x177557(_0x7e9c69,_0x5a2f72){return _0x4feb13(_0x5a2f72-_0x292bea._0x3b0231,_0x7e9c69);}return new Function(_0x177557(_0x16fed3._0x11810e,_0x16fed3._0x1dcbd0),_0x177557(_0x16fed3._0x32def8,_0x16fed3._0x31a273)+_0x15be37+'(attr)')(_0x567781);});_0x4ed944='onclick=\x22'+_0x3859f5+'();\x22\x20\x20';}_0x4e9e8c+=_0x48ea41(_0x346fb1._0x3b93b8,-_0x346fb1._0x5e8dad)+_0x4ed944+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-type=\x22'+(_0x4295b9||'')+'\x22\x20class=\x22mars3d-popup-btn\x20'+_0x34dbe9+'\x22\x20>'+(_0x5791dc['name']||'查看详情')+_0x48ea41(0xac0,_0x346fb1._0x547798),_0x47cf5b++;continue;}else{if(_0x5791dc[_0x48ea41(0x1338,0xbf4)]==='html'){const _0x41dfb5=template(_0x5791dc['html'],_0x567781,_0x177a63);_0x4e9e8c+='<div\x20class=\x22'+_0x34dbe9+'\x22>'+_0x41dfb5+'</div>',_0x47cf5b++;continue;}}let _0x307c13=_0x567781[_0x4295b9];if(!_0x248c2e){if(!_0x57f70b['showNull']&&(_0x4295b9==null||_0x307c13==null))continue;if(isFunction(_0x307c13))continue;}_0x307c13=String['prototype'][_0x48ea41(_0x346fb1._0x1f4d38,-0x39e)][_0x48ea41(0xe8c,_0x346fb1._0xaf5f02)](_0x307c13||'');if(!_0x248c2e&&(_0x5791dc[_0x48ea41(0x446,-0x21f)]??!![])){if(!_0x57f70b[_0x48ea41(0xb4d,_0x346fb1._0x6f0f5)]&&(_0x307c13==null||_0x307c13===''||_0x307c13===_0x4feb13(0x19f,0x185)||_0x307c13==='Unknown'||_0x307c13['length']===0x0))continue;}if(_0x5791dc[_0x4feb13(_0x346fb1._0x43c21f,0x1518)])try{isFunction(_0x5791dc[_0x48ea41(0x1272,0xcd3)])?_0x307c13=_0x5791dc['format'](_0x307c13):_0x307c13=new Function('val','return\x20'+_0x5791dc['format']+'(val)')(_0x307c13);}catch(_0x5d3534){logWarn('getTemplateHtml:格式化出错',_0x5791dc);}if(_0x248c2e)switch(_0x5791dc['type']){case _0x48ea41(0x100a,_0x346fb1._0x225bf3):_0x307c13='<textarea\x20class=\x22mars3d-popup-edititem\x20'+_0x34dbe9+_0x4feb13(0x1344,0x1043)+(_0x57f70b[_0x48ea41(_0x346fb1._0x19c0c8,_0x346fb1._0x38953d)]||0xbe)+'px;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-type=\x22'+_0x4295b9+'\x22\x20\x20placeholder=\x22'+(_0x5791dc[_0x4feb13(0x612,0xfb9)]??'')+'\x22\x20\x20>'+_0x307c13+_0x4feb13(0x421,_0x346fb1._0xfd334d);break;case'string':case'number':default:_0x307c13='<input\x20type=\x22'+(_0x5791dc[_0x4feb13(0x127e,0x12f6)]||'text')+'\x22\x20class=\x22mars3d-popup-edititem\x20'+_0x34dbe9+'\x22\x20style=\x22width:'+(_0x57f70b[_0x48ea41(_0x346fb1._0x19c0c8,0x661)]||0xbe)+'px;\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20data-type=\x22'+_0x4295b9+_0x4feb13(0xb4c,0x7e6)+_0x307c13+'\x22\x20placeholder=\x22'+(_0x5791dc['placeholder']??'')+_0x48ea41(_0x346fb1._0x42c721,_0x346fb1._0x257bdd);break;}_0x5791dc['unit']&&(_0x307c13+=_0x5791dc[_0x48ea41(_0x346fb1._0x3dd415,_0x346fb1._0x9a274c)]),_0x4e9e8c+='<div><label>'+_0x5791dc['name']+'</label>'+_0x307c13+'</div>',_0x47cf5b++;}_0x4e9e8c+=_0x4feb13(0x121d,0x8a1);if(_0x47cf5b===0x0)return![];return _0x4e9e8c;}else{if(isObject(_0x42c8ec))switch(_0x42c8ec[_0x48ea41(0x1338,0x1b68)]){case'iframe':{const _0x417072=template(_0x42c8ec['url'],_0x567781,_0x177a63),_0x26592a=_0x4feb13(0x3a0,_0x346fb1._0x444fcb)+_0x417072+'\x22\x20\x20style=\x22width:'+(_0x42c8ec['width']||_0x48ea41(0x630,-_0x346fb1._0x4bd8e6))+_0x48ea41(0x27d,-0x249)+(_0x42c8ec['height']||_0x4feb13(_0x346fb1._0x5df857,0x6a9))+_0x4feb13(_0x346fb1._0x4dd744,_0x346fb1._0x19fb6a);return _0x26592a;}case _0x48ea41(0xde6,_0x346fb1._0x44fbe9):{const _0x51f7e7=_0x42c8ec['callback'];return new Function('attr',_0x4feb13(_0x346fb1._0x286a81,0x1b7b)+_0x51f7e7+'(attr)')(_0x567781);}}else{if(isString(_0x42c8ec))return template(_0x42c8ec,_0x567781,_0x177a63);else{if(isFunction(_0x42c8ec))return _0x42c8ec(_0x42c8ec,_0x567781);}}}}return![];}function getCesiumValue(_0x2431aa,_0x45c57f,_0x1b0195){if(!_0x2431aa)return _0x2431aa;if(_0x45c57f){if(_0x2431aa instanceof _0x45c57f)return _0x2431aa;else{if(_0x2431aa['_value']&&_0x2431aa['_value']instanceof _0x45c57f)return _0x2431aa['_value'];}}if(isFunction(_0x2431aa[_0x3b8b9f(0xd40,0x110f)]))return _0x2431aa['getValue'](_0x1b0195||Cesium__namespace['JulianDate']['now']());function _0x3b8b9f(_0x5963e2,_0x41f6b9){return _0x306755(_0x41f6b9,_0x5963e2- -0x3b);}return _0x2431aa;}function getCesiumColor(_0x4e44b0,_0xbc9fc6,_0x36223e){if(_0x4e44b0){isFunction(_0x4e44b0['getValue'])&&(_0x4e44b0=_0x4e44b0['getValue'](_0x36223e||Cesium__namespace['JulianDate']['now']()));if(isString(_0x4e44b0))return Cesium__namespace['Color']['fromCssColorString'](_0x4e44b0);else return isFunction(_0x4e44b0)?getCesiumColor(_0x4e44b0(_0x36223e),_0xbc9fc6):_0x4e44b0;}else return _0xbc9fc6;}function getColorByStyle(_0x1cc8b2,_0x2b6022=Cesium__namespace[_0x2b6441(0x115c,0x993)]['YELLOW']){const _0x15009f={_0x4b7624:0xa15,_0x171fb2:0xf98,_0x4dd89e:0xa15,_0x26b0ff:0x1c8,_0x12d9d0:0xd5a,_0x369c39:0x2c4,_0x2413b5:0x1294,_0x54b371:0xe63,_0x147b34:0xa94,_0x482d78:0xcf1,_0x221424:0x1318,_0x3f9a1a:0x1709};function _0x5d6a25(_0xc40c63,_0x34796e){return _0x306755(_0xc40c63,_0x34796e- -0x49a);}function _0xb61bb8(_0x5573c0,_0xbe793e){return _0x306755(_0x5573c0,_0xbe793e- -0xb5);}let _0x2e4ad5;if(_0x1cc8b2['color']){if(isString(_0x1cc8b2['color']))_0x2e4ad5=Cesium__namespace['Color'][_0x5d6a25(0x18f8,0x1430)](_0x1cc8b2[_0x5d6a25(0x90d,_0x15009f._0x4b7624)]);else isFunction(_0x1cc8b2['color'])?_0x2e4ad5=_0x1cc8b2[_0x5d6a25(_0x15009f._0x171fb2,_0x15009f._0x4dd89e)](_0x1cc8b2):_0x2e4ad5=_0x1cc8b2['color'];}else _0x1cc8b2['randomColor']?(!_0x1cc8b2['randomColor_value']&&(_0x1cc8b2['randomColor_value']=Cesium__namespace[_0x5d6a25(_0x15009f._0x26b0ff,0xa9a)]['fromRandom']({'minimumRed':_0x1cc8b2['minimumRed']??0x0,'maximumRed':_0x1cc8b2['maximumRed']??0.75,'minimumGreen':_0x1cc8b2['minimumGreen']??0x0,'maximumGreen':_0x1cc8b2['maximumGreen']??0.75,'minimumBlue':_0x1cc8b2[_0x5d6a25(_0x15009f._0x12d9d0,_0x15009f._0x369c39)]??0x0,'maximumBlue':_0x1cc8b2['maximumBlue']??0.75,'minimumAlpha':_0x1cc8b2[_0xb61bb8(0x1b2d,_0x15009f._0x2413b5)]??0.4,'maximumAlpha':_0x1cc8b2[_0x5d6a25(0xb1a,0x514)]??0.7})),_0x2e4ad5=_0x1cc8b2['randomColor_value']):_0x2e4ad5=_0x2b6022;if(!_0x2e4ad5)return _0x2e4ad5;if(Cesium__namespace['defined'](_0x1cc8b2['opacity'])){if(_0x1cc8b2['opacity']<0x0)_0x1cc8b2['opacity']=0x0;else _0x1cc8b2[_0xb61bb8(0x13e0,0xa94)]>0x1&&(_0x1cc8b2['opacity']=0x1);_0x2e4ad5=_0x2e4ad5['withAlpha'](Number(_0x1cc8b2[_0xb61bb8(_0x15009f._0x54b371,_0x15009f._0x147b34)]));}return Cesium__namespace[_0x5d6a25(_0x15009f._0x482d78,_0x15009f._0x221424)](_0x1cc8b2['globalAlpha'])&&_0x1cc8b2['globalAlpha']!==0x1&&(_0x2e4ad5=_0x2e4ad5['withAlpha'](_0x2e4ad5[_0xb61bb8(0xa90,0x14ea)]*_0x1cc8b2[_0xb61bb8(0xfad,_0x15009f._0x3f9a1a)])),_0x2e4ad5;}function getJulianDate$1(_0x3c2fc5,_0x1eb7c2){const _0x14afc5={_0x10592d:0x334,_0x558c14:0xdb0,_0xdd061a:0x16eb,_0x1b189d:0x194d,_0x1e1689:0x9e5},_0x1a0192={_0x5e8fee:0x29b},_0x3de57a={_0x25447a:0x4fd};function _0x3b3f20(_0x4ff392,_0x5d02d2){return _0x2b6441(_0x4ff392,_0x5d02d2-_0x3de57a._0x25447a);}if(!_0x3c2fc5)return _0x1eb7c2;if(_0x3c2fc5 instanceof Cesium__namespace['JulianDate'])return _0x3c2fc5;if(_0x3c2fc5 instanceof Date)return Cesium__namespace['JulianDate'][_0x3b3f20(_0x14afc5._0x10592d,_0x14afc5._0x558c14)](_0x3c2fc5);if(isNumber(_0x3c2fc5)&&_0x1eb7c2)return Cesium__namespace[_0xc9b340(_0x14afc5._0xdd061a,0x1a4c)]['addSeconds'](_0x1eb7c2,_0x3c2fc5,new Cesium__namespace['JulianDate']());function _0xc9b340(_0x25e3d7,_0x547bd6){return _0x2b6441(_0x547bd6,_0x25e3d7-_0x1a0192._0x5e8fee);}if(isString(_0x3c2fc5))return _0x3c2fc5['indexOf']('Z')===-0x1?Cesium__namespace['JulianDate']['fromDate'](new Date(_0x3c2fc5)):Cesium__namespace[_0x3b3f20(0xf6f,_0x14afc5._0x1b189d)][_0x3b3f20(_0x14afc5._0x1e1689,0x676)](_0x3c2fc5);return _0x3c2fc5;}function getAvailability(_0x17a994,_0x6c0920){const _0x40ba45={_0x341958:0x8a,_0x4bde91:0x8b6,_0x3f8605:0x11b9,_0x355d94:0x1742,_0xa21310:0x518,_0x3959b1:0x3f7,_0x422bfa:0x938,_0x533f70:0x1359,_0x448980:0xa09,_0x85fd66:0x3a7,_0x434591:0x70d,_0x3619aa:0x494,_0x1fe76c:0xef1,_0x4f1286:0x1239};function _0x5ca608(_0x2e2514,_0x2c36c0){return _0x306755(_0x2c36c0,_0x2e2514- -0x640);}function _0x59d286(_0x18366b,_0x54aebb){return _0x306755(_0x18366b,_0x54aebb- -0x2a2);}if(!_0x17a994)return undefined;if(_0x17a994 instanceof Cesium__namespace['TimeIntervalCollection'])return _0x17a994;if(_0x17a994 instanceof Cesium__namespace['TimeInterval'])return new Cesium__namespace[(_0x5ca608(0x9,0x584))]([_0x17a994]);if(Array[_0x59d286(-0x59,0x592)](_0x17a994)&&_0x17a994['length']>0x0){const _0x57a3f3=[];for(let _0x21de3c=0x0;_0x21de3c<_0x17a994['length'];_0x21de3c++){const _0x287ae3=_0x17a994[_0x21de3c],_0x5ed874=getJulianDate$1(_0x287ae3[_0x59d286(_0x40ba45._0x341958,_0x40ba45._0x4bde91)],_0x6c0920);if(!_0x5ed874)continue;let _0x318c72;Cesium__namespace['defined'](_0x287ae3['duration'])?_0x318c72=Cesium__namespace['JulianDate'][_0x5ca608(_0x40ba45._0x3f8605,0xef6)](_0x5ed874,_0x287ae3['duration'],new Cesium__namespace[(_0x59d286(0x1cdb,0x174f))]()):_0x318c72=getJulianDate$1(_0x287ae3[_0x59d286(_0x40ba45._0x355d94,0x1539)],_0x6c0920);const _0x4801d2={'data':!![],..._0x287ae3};_0x4801d2[_0x5ca608(_0x40ba45._0xa21310,0x3b6)]=_0x5ed874,_0x4801d2['stop']=_0x318c72,_0x57a3f3[_0x59d286(0x213,_0x40ba45._0x3959b1)](new Cesium__namespace['TimeInterval'](_0x4801d2));}if(_0x57a3f3[_0x59d286(_0x40ba45._0x422bfa,_0x40ba45._0x533f70)]===0x0)return;return new Cesium__namespace[(_0x59d286(_0x40ba45._0x448980,_0x40ba45._0x85fd66))](_0x57a3f3);}if(Cesium__namespace['defined'](_0x17a994['start'])){const _0x4e76da=getJulianDate$1(_0x17a994[_0x59d286(_0x40ba45._0x434591,0x8b6)],_0x6c0920);if(!_0x4e76da)return;let _0x375e8c;Cesium__namespace[_0x5ca608(0x1172,0x1217)](_0x17a994[_0x59d286(-_0x40ba45._0x3619aa,0x224)])?_0x375e8c=Cesium__namespace[_0x5ca608(0x13b1,_0x40ba45._0x1fe76c)][_0x5ca608(0x11b9,_0x40ba45._0x4f1286)](_0x4e76da,_0x17a994['duration'],new Cesium__namespace['JulianDate']()):_0x375e8c=getJulianDate$1(_0x17a994['stop'],_0x6c0920);const _0x42bc17={'data':!![],..._0x17a994};return _0x42bc17['start']=_0x4e76da,_0x42bc17['stop']=_0x375e8c,new Cesium__namespace[(_0x5ca608(0x9,-0x1dc))]([new Cesium__namespace['TimeInterval'](_0x42bc17)]);}}function getAvailabilityJson(_0x30c9c6,_0x28cdb5,_0xad5e29){const _0x41a650={_0x4611af:0x8d7,_0x25e3e7:0x19eb,_0x48bdbf:0x143e,_0x37e0cd:0x1531,_0x47b471:0x65c,_0x12ae75:0x797,_0x55d36f:0x1e7,_0x43e4ed:0xa92,_0x38dfd7:0x6c3,_0x36f579:0xe6d},_0x3cb4d2={_0x45e46d:0x12},_0x562e1e={_0x1e660:0x59b};if(!_0x30c9c6||_0x30c9c6['length']===0x0)return undefined;const _0x3271c0=[];for(let _0x27c8b9=0x0,_0x2cefe1=_0x30c9c6[_0x24347f(0x1048,0x12dd)];_0x27c8b9<_0x2cefe1;_0x27c8b9++){if(_0x30c9c6!==null&&_0x30c9c6!==void 0x0&&_0x30c9c6['get']){const _0xb92ac0=_0x30c9c6[_0x24347f(0x6da,_0x41a650._0x4611af)](_0x27c8b9);if(_0x28cdb5){const _0x3c914c=Cesium__namespace[_0x4beacb(0x1e87,_0x41a650._0x25e3e7)]['secondsDifference'](_0xb92ac0['start'],_0xad5e29),_0x69b0e7=Cesium__namespace[_0x24347f(_0x41a650._0x48bdbf,0x19b3)][_0x24347f(0x965,0xc69)](_0xb92ac0['stop'],_0xad5e29),_0x576fee={};_0x576fee['start']=_0x3c914c,_0x576fee['stop']=_0x69b0e7,_0x576fee['duration']=_0x69b0e7-_0x3c914c,_0x576fee[_0x4beacb(0xe0e,_0x41a650._0x37e0cd)]=_0xb92ac0['isStartIncluded'],_0x576fee['isStopIncluded']=_0xb92ac0[_0x24347f(_0x41a650._0x47b471,_0x41a650._0x12ae75)],_0x3271c0['push'](_0x576fee);}else _0x3271c0[_0x24347f(0xe6,_0x41a650._0x55d36f)]({'start':formatDate(Cesium__namespace[_0x24347f(_0x41a650._0x48bdbf,_0x41a650._0x43e4ed)][_0x24347f(_0x41a650._0x38dfd7,_0x41a650._0x36f579)](_0xb92ac0['start'])),'stop':formatDate(Cesium__namespace[_0x4beacb(0x1130,0x19eb)]['toDate'](_0xb92ac0['stop'])),'isStartIncluded':_0xb92ac0['isStartIncluded'],'isStopIncluded':_0xb92ac0['isStopIncluded']});}else _0x30c9c6[_0x27c8b9]&&_0x3271c0['push'](_0x30c9c6[_0x27c8b9]);}function _0x4beacb(_0x221cf8,_0x41dba3){return _0x2b6441(_0x221cf8,_0x41dba3-_0x562e1e._0x1e660);}function _0x24347f(_0x5a1f5f,_0xde3c32){return _0x2b6441(_0xde3c32,_0x5a1f5f- -_0x3cb4d2._0x45e46d);}return _0x3271c0;}function getAttrVal(_0x43510c,_0x174f6c={}){const _0x4916f6={_0xce233d:0x866,_0x1c0e3e:0xd60,_0x335581:0x192b,_0x30e904:0x10c9,_0x2df801:0xed5,_0x3eed2e:0xf80};if(!_0x43510c)return _0x43510c;function _0x5265e5(_0x90ca80,_0x176e79){return _0x2b6441(_0x90ca80,_0x176e79-0x586);}function _0x1a7217(_0x24ab33,_0x1bd48f){return _0x2b6441(_0x24ab33,_0x1bd48f-0x4db);}try{isFunction(_0x43510c['getValue'])&&(_0x43510c=_0x43510c[_0x5265e5(_0x4916f6._0xce233d,_0x4916f6._0x1c0e3e)](Cesium__namespace[_0x1a7217(0xe93,_0x4916f6._0x335581)]['now']()));const _0x5f30b7={};if(_0x43510c[_0x1a7217(_0x4916f6._0x30e904,_0x4916f6._0x2df801)]&&_0x43510c[_0x5265e5(0x7de,_0x4916f6._0x3eed2e)]['length']>0x0)for(const _0x1d9d34 of _0x43510c['_propertyNames']){const _0x3a0425=getOneAttrValue(_0x1d9d34,_0x43510c[_0x1d9d34],_0x174f6c);if(_0x3a0425==null){_0x174f6c['showNull']&&(_0x5f30b7[_0x1d9d34]=_0x3a0425);continue;}_0x5f30b7[_0x1d9d34]=_0x3a0425;}else for(const _0x49b611 in _0x43510c){const _0x2ec013=getOneAttrValue(_0x49b611,_0x43510c[_0x49b611],_0x174f6c);if(_0x2ec013==null){_0x174f6c['showNull']&&(_0x5f30b7[_0x49b611]=_0x2ec013);continue;}_0x5f30b7[_0x49b611]=_0x2ec013;}return _0x5f30b7;}catch(_0x1d1e1){logError('getAttrVal:出错了',_0x1d1e1);}return _0x43510c;}function get3DTileFeatureAttr(_0x2469a0){const _0x240272={_0x191697:0x3f6},_0x9919e9={};function _0x54055e(_0x49f9f8,_0x1e56da){return _0x2b6441(_0x1e56da,_0x49f9f8-_0x240272._0x191697);}const _0x280ec4=_0x2469a0['getPropertyIds']?_0x2469a0['getPropertyIds']():_0x2469a0[_0x54055e(0xd2d,0x317)]();for(let _0x1bcad4=0x0;_0x1bcad4<_0x280ec4['length'];_0x1bcad4++){const _0x161896=_0x280ec4[_0x1bcad4];if(!_0x2469a0['hasProperty'](_0x161896))continue;const _0x5c1788=_0x2469a0['getProperty'](_0x161896);if(_0x5c1788==null)continue;_0x9919e9[_0x161896]=_0x5c1788;}return _0x9919e9;}function getOneAttrValue(_0x5e5658,_0x245618,_0x47c9b9){const _0x4b02b7={_0x46dcb9:0xbd8,_0x256a5e:0x17ee,_0x409278:0xbb3,_0x1d14e7:0x17ce,_0x2a94e3:0x7b3,_0x490bf1:0x1e0};function _0x2a0c81(_0x365c6d,_0x3cff84){return _0x2b6441(_0x3cff84,_0x365c6d-0x2af);}if(_0x245618==null||_0x245618===_0x32be26(0x3e1,0x165)||_0x245618==='Unknown')return null;function _0x32be26(_0x8370f6,_0x3ab0ff){return _0x306755(_0x3ab0ff,_0x8370f6- -0x1a3);}_0x245618['getValue']&&typeof _0x245618[_0x32be26(_0x4b02b7._0x46dcb9,0x100d)]==='function'&&_0x5e5658!==_0x2a0c81(0x166f,_0x4b02b7._0x256a5e)&&(_0x245618=_0x245618[_0x2a0c81(0xa89,_0x4b02b7._0x409278)](Cesium__namespace[_0x2a0c81(0x16ff,_0x4b02b7._0x1d14e7)][_0x32be26(_0x4b02b7._0x2a94e3,0x9af)]()));if(isFunction(_0x245618))return null;if(_0x47c9b9['onlySimpleType']){if(_0x245618 instanceof Cesium__namespace[_0x32be26(0xd91,0xce5)])return _0x245618[_0x2a0c81(0x445,0xd24)]();if(_0x47c9b9[_0x32be26(0x1103,0x1a38)]&&Array[_0x2a0c81(0x542,_0x4b02b7._0x490bf1)](_0x245618))return null;if(isPlainObject(_0x245618))return _0x245618;if(!isSimpleType(_0x245618))return null;}return _0x245618;}function merge(_0x3f1a66={},..._0x2545b2){let _0x517e88,_0x8a52f,_0x44d6b1,_0x121d14;for(_0x8a52f=0x0,_0x44d6b1=_0x2545b2['length'];_0x8a52f<_0x44d6b1;_0x8a52f++){_0x121d14=_0x2545b2[_0x8a52f];for(_0x517e88 in _0x121d14){hasMergeObject(_0x3f1a66[_0x517e88],_0x121d14[_0x517e88])?_0x3f1a66[_0x517e88]=merge(_0x3f1a66[_0x517e88],_0x121d14[_0x517e88]):_0x3f1a66[_0x517e88]=_0x121d14[_0x517e88];}}return _0x3f1a66;}function hasMergeObject(_0x192789,_0xe3f91e){const _0x34f4ad={_0x545efa:0x14de,_0x57b8e0:0x270,_0x578be3:0xcdc};if(!Cesium__namespace[_0x3341a7(0x17d5,0x14d2)](_0x192789)||!Cesium__namespace[_0x3341a7(0x17d5,_0x34f4ad._0x545efa)](_0xe3f91e))return![];if(Array[_0x1cd617(-0x746,_0x34f4ad._0x57b8e0)](_0x192789)||Array[_0x1cd617(_0x34f4ad._0x578be3,_0x34f4ad._0x57b8e0)](_0xe3f91e))return![];function _0x1cd617(_0x49bd76,_0x386d0c){return _0x306755(_0x49bd76,_0x386d0c- -0x5c4);}function _0x3341a7(_0x156bbf,_0xd69315){return _0x2b6441(_0xd69315,_0x156bbf-0x5c4);}if(isPlainObject(_0x192789)&&isPlainObject(_0xe3f91e))return!![];return![];}function clone(_0x2e5bac,_0x2ee0cb=[],_0x23acdf=0x5){const _0x1ea6a5={_0x1111c1:0x17bd,_0x418bb9:0x16ce,_0x444b33:0x1651,_0xff0590:0x9a4,_0x5bd98b:0x93c};function _0x4acae1(_0x2cf93a,_0x29683d){return _0x2b6441(_0x2cf93a,_0x29683d-0x63d);}if(_0x2e5bac==null||typeof _0x2e5bac!=='object')return _0x2e5bac;function _0xe45bc3(_0x45908a,_0x24bee1){return _0x2b6441(_0x45908a,_0x24bee1-0x674);}if(_0x2e5bac instanceof Date){const _0x3a9bce=new Date();return _0x3a9bce['setTime'](_0x2e5bac['getTime']()),_0x3a9bce;}if(Array['isArray'](_0x2e5bac)&&_0x23acdf>=0x0){const _0x56c3a3=[];for(let _0x4d4695=0x0,_0x2d2c4d=_0x2e5bac[_0xe45bc3(_0x1ea6a5._0x1111c1,_0x1ea6a5._0x418bb9)];_0x4d4695<_0x2d2c4d;++_0x4d4695){_0x56c3a3[_0x4d4695]=clone(_0x2e5bac[_0x4d4695],_0x2ee0cb,_0x23acdf-0x1);}return _0x56c3a3;}if(typeof _0x2e5bac===_0x4acae1(0xbe9,_0x1ea6a5._0x444b33)&&_0x23acdf>=0x0)try{if(_0x2e5bac['clone'])return _0x2e5bac[_0x4acae1(0x238,_0x1ea6a5._0xff0590)]();if(!isPlainObject(_0x2e5bac))return _0x2e5bac;const _0x118739={};for(const _0x375440 in _0x2e5bac){if(isFunction(_0x375440))continue;if(_0x2ee0cb['indexOf'](_0x375440)!==-0x1)continue;_0x2e5bac[_0x4acae1(_0x1ea6a5._0x5bd98b,0x83d)](_0x375440)&&(_0x118739[_0x375440]=clone(_0x2e5bac[_0x375440],_0x2ee0cb,_0x23acdf-0x1));}return _0x118739;}catch(_0x11b96a){logError('clone:出错了',_0x11b96a);}return _0x2e5bac;}function getArrayRandomOne(_0x10a941){const _0x393da2={_0x523228:0xd9};function _0x2f4793(_0x13faaa,_0x416e50){return _0x306755(_0x416e50,_0x13faaa- -_0x393da2._0x523228);}const _0x2871ad=Math['floor'](Math[_0x2f4793(0x929,0x1398)]()*_0x10a941['length']+0x1)-0x1;return _0x10a941[_0x2871ad];}function removeArrayItem(_0x295892,_0xa5432a){const _0x3fc7ac={_0xaa9463:0x4b};function _0x4066fd(_0x3c7164,_0x19ab6f){return _0x306755(_0x19ab6f,_0x3c7164- -_0x3fc7ac._0xaa9463);}for(let _0x4c0379=0x0;_0x4c0379<_0x295892[_0x4066fd(0x15b0,0x1333)];_0x4c0379++){if(_0x295892[_0x4c0379]===_0xa5432a)return _0x295892['splice'](_0x4c0379,0x1),!![];}return![];}function getSymbolStyle(_0x2e8696,_0x21474d,_0x40e943={}){const _0x154d38={_0x5b83dd:0xc9b,_0xd067cb:0xc0b,_0x4d129d:0xed6,_0x14d029:0x5a8,_0x12ae93:0x9eb,_0x322378:0x319};function _0x312ec6(_0x489ee4,_0x46a3f2){return _0x306755(_0x46a3f2,_0x489ee4- -0x398);}if(!_0x2e8696)return{};let _0x2f9c12=_0x2e8696[_0x312ec6(_0x154d38._0x5b83dd,_0x154d38._0xd067cb)]?clone(_0x2e8696['styleOptions']):{};if(_0x2e8696[_0x312ec6(0x13b7,_0x154d38._0x4d129d)]&&_0x2e8696['styleFieldOptions']&&_0x21474d){const _0x253f61=_0x21474d[_0x2e8696['styleField']],_0x4ed3e3=_0x2e8696['styleFieldOptions'][_0x253f61];_0x4ed3e3!=null&&(_0x2f9c12=merge(_0x2f9c12,_0x4ed3e3));}if(_0x21474d)for(const _0x5db209 in _0x2f9c12){_0x2f9c12[_0x5db209]=template(_0x2f9c12[_0x5db209],_0x21474d);}_0x2f9c12[_0xa4110b(0xcf8,_0x154d38._0x14d029)]&&(_0x2f9c12['label']=clone(_0x2f9c12['label']));_0x2f9c12['highlight']&&(_0x2f9c12[_0xa4110b(0x514,0x9eb)]=clone(_0x2f9c12[_0xa4110b(0xf0,_0x154d38._0x12ae93)]));function _0xa4110b(_0x4ed81e,_0x473f3f){return _0x306755(_0x4ed81e,_0x473f3f- -0x2c3);}if(isFunction(_0x2e8696['callback'])){const _0x718694=_0x2e8696[_0xa4110b(0xab5,_0x154d38._0x322378)](_0x21474d,_0x2f9c12,_0x40e943);_0x718694!=null&&(_0x2f9c12=merge(_0x2f9c12,_0x718694));}return _0x2f9c12;}function geojsonToArcGIS(_0x1f1876,_0x45604e){return geojsonToArcGIS$1(_0x1f1876,_0x45604e);}function arcgisToGeoJSON(_0x48efca,_0x4f6d69){return arcgisToGeoJSON$1(_0x48efca,_0x4f6d69);}function getGeoJsonFeatures(_0x4cab92){const _0x3b5ffe={_0x358bfa:0x232d,_0x53e859:0x1960,_0x2e4e4e:0xc01,_0x277434:0x1292,_0x2914bf:0x1e6a,_0x1b208c:0x42b},_0x416273={_0xae13a7:0x2};function _0x17bde9(_0x4a791a,_0x2eb9bc){return _0x2b6441(_0x2eb9bc,_0x4a791a- -_0x416273._0xae13a7);}if(_0x4cab92['geometryType']&&_0x4cab92['geometryType'][_0x17bde9(-0xc9,-0x8d9)](_0x420321(_0x3b5ffe._0x358bfa,_0x3b5ffe._0x53e859))!==-0x1)_0x4cab92=arcgisToGeoJSON(_0x4cab92);else{if(_0x4cab92['type']==='Topology'){let _0x26bee6=[];for(const _0x16abe1 in _0x4cab92[_0x17bde9(_0x3b5ffe._0x2e4e4e,_0x3b5ffe._0x277434)]){if(_0x4cab92[_0x17bde9(0xc01,0x14c8)]['hasOwnProperty'](_0x16abe1)){_0x4cab92=Cesium__namespace[_0x420321(_0x3b5ffe._0x2914bf,0x1928)]['feature'](_0x4cab92,_0x4cab92[_0x17bde9(_0x3b5ffe._0x2e4e4e,0xc2c)][_0x16abe1]);const _0x3c44ae=getGeoJsonFeatures(_0x4cab92);_0x26bee6=_0x26bee6['concat'](_0x3c44ae);}}return _0x26bee6;}}function _0x420321(_0x45f3e4,_0x1be807){return _0x306755(_0x45f3e4,_0x1be807-0x132);}let _0x1dc29b;if(Array['isArray'](_0x4cab92[_0x420321(_0x3b5ffe._0x1b208c,0x9f0)]))_0x1dc29b=_0x4cab92['features'];else Array['isArray'](_0x4cab92)?_0x1dc29b=_0x4cab92:_0x1dc29b=[_0x4cab92];return _0x1dc29b;}function geoJsonToGraphics(_0x55ed50,_0x3b2ade={}){const _0x1a2e8e={_0x55a487:0x176a,_0x1d30e6:0xf3f,_0x458c83:0x12ca},_0x10f82e={_0x40dacc:0x331},_0x327c13={_0x44d59a:0x46a};function _0x374111(_0x3f6457,_0x53f28d){return _0x306755(_0x3f6457,_0x53f28d- -_0x327c13._0x44d59a);}var _0x28006a;function _0x2d63a2(_0x43707f,_0x1e71c1){return _0x306755(_0x43707f,_0x1e71c1- -_0x10f82e._0x40dacc);}if(!_0x55ed50)return[];const _0x18a2ec=getGeoJsonFeatures(_0x55ed50);if(_0x55ed50!==null&&_0x55ed50!==void 0x0&&(_0x28006a=_0x55ed50[_0x374111(0x139c,0x1530)])!==null&&_0x28006a!==void 0x0&&(_0x28006a=_0x28006a['properties'])!==null&&_0x28006a!==void 0x0&&_0x28006a['name']&&!_0x3b2ade['crs']){const _0x1fc4d8=_0x55ed50[_0x374111(_0x1a2e8e._0x55a487,0x1530)]['properties'][_0x374111(0x37d,0x429)];_0x1fc4d8['indexOf'](_0x374111(0x1783,0xfc3))!==-0x1&&(_0x3b2ade['crs']=_0x1fc4d8);}let _0x5ee9fa=[];for(let _0x37d253=0x0,_0x227ea8=_0x18a2ec[_0x2d63a2(_0x1a2e8e._0x1d30e6,_0x1a2e8e._0x458c83)];_0x37d253<_0x227ea8;_0x37d253++){const _0x10dc7f=_0x18a2ec[_0x37d253],_0x4e30d0=featureToGraphic(_0x10dc7f,_0x3b2ade);_0x4e30d0&&_0x4e30d0['length']>0x0&&(_0x5ee9fa=_0x5ee9fa['concat'](_0x4e30d0));}return _0x5ee9fa;}function featureToGraphic(_0x4c9893,_0x22f422={}){const _0x3ed28b={_0x2a2157:0x1602,_0x3379c4:0x612,_0x1025c1:0x1744,_0x76178e:0xefe,_0x11f907:0x2da,_0x433602:0x951,_0x31152f:0x1550,_0x550695:0xe4e,_0x5ac833:0xae8,_0x558aa8:0xd11,_0x5d0fae:0x1dd0,_0x21c3bd:0x1398,_0x24daf1:0x1778,_0x2875db:0x1060,_0x5be0ce:0x1895,_0x22761f:0x18fe,_0x1e16ad:0x1751,_0x141eff:0x7d1,_0xceac53:0xae8,_0x2eafef:0x4e1,_0x37333b:0x7f5,_0x81142d:0xb64,_0x5a8f3c:0xbf2,_0x3e4cfe:0xf81,_0x356369:0xaf1,_0xbabcf4:0x11a8,_0x53d27a:0x1602,_0x21f838:0x202c,_0x3a0d27:0x2e8,_0x284776:0x29d,_0x4bdce2:0x15f6,_0x20c46d:0x1d62,_0x120347:0x7db,_0x161edf:0x1dc1,_0x5978ef:0x14bd,_0x300306:0x10a7,_0x2609e9:0xd2c,_0x192285:0x55c,_0x42453b:0x159a,_0x103c6e:0x12e9,_0x152744:0x1246,_0x29e50:0x80a,_0x368897:0xad0,_0x42d7e5:0x43c,_0xa29863:0x7f5,_0x1b51ee:0xf5a,_0x381070:0xbc3,_0x3a1374:0x451,_0x19f236:0x96c,_0x3b1565:0x4d0,_0x3fed93:0x974,_0x176660:0x43c,_0x351f3f:0x8ca,_0x11a599:0x19e,_0x1c2ccc:0x5b9,_0x324651:0x159a,_0x3b879b:0x166f,_0x27efd6:0xd62,_0x3575af:0x19bc,_0x47df75:0x11e1,_0xd11da4:0x7fb,_0x76c6cd:0x9c,_0x490a19:0x23e,_0x591867:0x27f},_0x430d4e={_0x17f6a4:0x41a},_0x27a2f3={_0x5d742b:0x2a7},_0x108ddb={_0x5f508f:0x576},_0x51853e={_0x104dbd:0x57a};var _0x53fb5b,_0x58de23,_0x2fdeec;const _0x28df7e=[];_0x4c9893[_0x1c0124(_0x3ed28b._0x2a2157,0x14b8)]===_0x19da77(_0x3ed28b._0x3379c4,0x893)&&(_0x4c9893={'geometry':_0x4c9893});const _0x125a06=_0x4c9893['geometry'],_0x3e6a9b=_0x125a06===null||_0x125a06===void 0x0?void 0x0:_0x125a06['coordinates'];if(!_0x3e6a9b&&!_0x125a06)return _0x28df7e;if(_0x22f422[_0x19da77(0xc6,0x93c)]&&_0x22f422['filter'](_0x4c9893)===![])return _0x28df7e;let _0x3052dd;if(_0x22f422['type'])_0x3052dd=_0x22f422['type'];else hasType((_0x53fb5b=_0x4c9893)===null||_0x53fb5b===void 0x0||(_0x53fb5b=_0x53fb5b['properties'])===null||_0x53fb5b===void 0x0?void 0x0:_0x53fb5b[_0x1c0124(0x1602,0x14d2)])&&(_0x3052dd=_0x4c9893['properties'][_0x1c0124(_0x3ed28b._0x2a2157,_0x3ed28b._0x1025c1)]);function _0x1c0124(_0x15f20e,_0x37ef5b){return _0x306755(_0x37ef5b,_0x15f20e- -0x61);}const _0x352264=((_0x58de23=_0x4c9893)===null||_0x58de23===void 0x0||(_0x58de23=_0x58de23[_0x1c0124(0xaf1,_0x3ed28b._0x76178e)])===null||_0x58de23===void 0x0?void 0x0:_0x58de23[_0x1c0124(0xbfc,_0x3ed28b._0x11f907)])||{};_0x4c9893['id']&&(_0x352264['id']=_0x4c9893['id']);const _0xe829b2=clone((_0x2fdeec=_0x4c9893)===null||_0x2fdeec===void 0x0?void 0x0:_0x2fdeec['properties'],[_0x1c0124(0x7f5,0xf6e),'options'])||{};let _0x31da97={};if(_0x4c9893['properties']){if(_0x4c9893['properties']['style']){const _0x156db3={..._0x4c9893['properties']['style']};_0x31da97=_0x156db3;}const _0x317a02=_0xe829b2['marker-symbol'];if(Cesium__namespace['defined'](_0x317a02)){_0x31da97[_0x19da77(-0x6f0,0x29d)]=_0x317a02;const _0x20470f=_0xe829b2[_0x1c0124(0xd91,_0x3ed28b._0x433602)];Cesium__namespace['defined'](_0x20470f)&&(_0x31da97[_0x19da77(0x11a0,_0x3ed28b._0x31152f)]=!![],_0x31da97[_0x1c0124(0xd3a,0x6e9)]=_0x20470f);}const _0xadf166=_0xe829b2[_0x1c0124(0x158b,0x1e5e)];if(Cesium__namespace['defined'](_0xadf166)&&_0x125a06['type']!=='LineString'&&_0x125a06['type']!=='MultiLineString'){_0x31da97[_0x1c0124(_0x3ed28b._0x550695,0xb8a)]=_0xadf166;const _0x2866b1=_0xe829b2['fill-opacity'];Cesium__namespace['defined'](_0x2866b1)&&_0x2866b1!==0x1&&(_0x31da97[_0x1c0124(_0x3ed28b._0x5ac833,_0x3ed28b._0x558aa8)]=_0x2866b1);const _0x4a952d=_0xe829b2[_0x1c0124(0x199e,0x16bf)];if(Cesium__namespace['defined'](_0x4a952d)){_0x31da97[_0x19da77(_0x3ed28b._0x5d0fae,_0x3ed28b._0x31152f)]=!![],_0x31da97['outlineColor']=_0x4a952d;const _0x172b13=_0xe829b2['stroke-width'];Cesium__namespace[_0x19da77(0x1d95,_0x3ed28b._0x21c3bd)](_0x172b13)&&(_0x31da97['outlineWidth']=_0x172b13);const _0x5468ef=_0xe829b2[_0x1c0124(_0x3ed28b._0x24daf1,_0x3ed28b._0x2875db)];Cesium__namespace['defined'](_0x5468ef)&&_0x5468ef!==0x1&&(_0x31da97[_0x19da77(0xf5d,0x538)]=_0x5468ef);}}else{const _0x3f0096=_0xe829b2['stroke'];if(Cesium__namespace['defined'](_0x3f0096)){_0x31da97[_0x1c0124(0xe4e,_0x3ed28b._0x5be0ce)]=_0x3f0096;const _0x34281f=_0xe829b2[_0x1c0124(_0x3ed28b._0x22761f,0x1632)];Cesium__namespace[_0x1c0124(_0x3ed28b._0x1e16ad,0x12ae)](_0x34281f)&&(_0x31da97[_0x19da77(0x3c0,_0x3ed28b._0x141eff)]=_0x34281f);const _0x191fa8=_0xe829b2['stroke-opacity'];Cesium__namespace['defined'](_0x191fa8)&&_0x191fa8!==0x1&&(_0x31da97[_0x1c0124(_0x3ed28b._0xceac53,_0x3ed28b._0x2eafef)]=_0x191fa8);}}}if(_0x22f422['style']){if(_0x22f422['style']['merge'])_0x31da97={..._0x31da97,..._0x22f422[_0x1c0124(_0x3ed28b._0x37333b,0x49c)]};else{const _0x1fad3f={..._0x22f422['style']};_0x31da97=_0x1fad3f;}}if(_0x22f422['symbol']){if(isFunction(_0x22f422[_0x1c0124(_0x3ed28b._0x81142d,_0x3ed28b._0x5a8f3c)]))_0x31da97=_0x22f422['symbol'](_0xe829b2,_0x31da97,_0x4c9893)||_0x31da97,_0x31da97['type']&&(_0x3052dd=_0x31da97['type']);else{_0x3052dd=_0x22f422[_0x19da77(_0x3ed28b._0x3e4cfe,0x7ab)]['type']||_0x3052dd;const _0x1e1978={};_0x1e1978['type']=_0x3052dd;const _0x481f36=getSymbolStyle(_0x22f422['symbol'],_0x4c9893[_0x1c0124(_0x3ed28b._0x356369,_0x3ed28b._0xbabcf4)]||{},_0x1e1978);_0x481f36&&Object['keys'](_0x481f36)['length']!==0x0&&(_0x22f422['symbol'][_0x1c0124(0xec6,0xf95)]?_0x31da97={..._0x481f36,..._0x31da97}:_0x31da97=_0x481f36);}}let _0x39bfaa=_0x22f422['crs'];_0x39bfaa==='EPSG:4326'&&(_0x39bfaa=null);function _0x5e7e99(_0x388b51){if(!_0x388b51||_0x388b51['length']===0x0)return undefined;_0x39bfaa&&(_0x388b51=proj4Trans(_0x388b51,_0x39bfaa));function _0x14a8c0(_0x3a2019,_0x2110c1){return _0x1c0124(_0x3a2019- -0x128,_0x2110c1);}return _0x22f422['onPointTrans']?_0x22f422[_0x14a8c0(0x1448,0x10a3)](_0x388b51):_0x388b51;}function _0x2290eb(_0x4a31bb){_0x22f422['simplify']&&_0x4a31bb['length']>0x0&&!Array['isArray'](_0x4a31bb[0x0][0x0])&&(_0x4a31bb=simplifyPositions(_0x4a31bb,_0x22f422['simplify']));function _0x2acf56(_0x1bb317,_0x18837f){return _0x19da77(_0x1bb317,_0x18837f-_0x51853e._0x104dbd);}if(!_0x22f422[_0x2acf56(0xff7,0x1731)]&&!_0x39bfaa&&!_0x22f422['simplify'])return _0x4a31bb;function _0x3d0f9d(_0x5a3e11,_0x307c72){return _0x1c0124(_0x307c72- -_0x108ddb._0x5f508f,_0x5a3e11);}const _0x2d64ef=[];for(let _0x35acc7=0x0,_0x3ce446=_0x4a31bb['length'];_0x35acc7<_0x3ce446;_0x35acc7++){const _0x5052be=_0x4a31bb[_0x35acc7];if(Array['isArray'](_0x5052be[0x0])){const _0x26d738=_0x2290eb(_0x5052be);_0x26d738&&_0x26d738['length']>0x0&&_0x2d64ef[_0x3d0f9d(-_0x27a2f3._0x5d742b,0xc2)](_0x26d738);}else{const _0x17f87c=_0x5e7e99(_0x5052be);_0x17f87c&&_0x2d64ef[_0x2acf56(0x11f7,0x7f9)](_0x17f87c);}}return _0x2d64ef;}function _0x4d4fd6(_0x533f66,_0x59da29){eachGraphicType(function(_0x4ced37){isObject(_0x59da29[_0x4ced37])&&(_0x533f66[_0x4ced37]=_0x59da29[_0x4ced37],delete _0x59da29[_0x4ced37]);});}let _0x37905d,_0x36f257;switch(_0x125a06[_0x1c0124(_0x3ed28b._0x53d27a,_0x3ed28b._0x21f838)]){case _0x19da77(-0x779,_0x3ed28b._0x3a0d27):{(!_0x3052dd||!isPointType(_0x3052dd))&&(_0x3052dd=_0x31da97[_0x19da77(0x357,_0x3ed28b._0x284776)]?_0x1c0124(_0x3ed28b._0x4bdce2,_0x3ed28b._0x20c46d):'pointP');const _0xb4e95={..._0x352264,'type':_0x3052dd,'position':_0x5e7e99(_0x3e6a9b),'style':_0x31da97,'attr':_0xe829b2};_0x4d4fd6(_0xb4e95,_0xe829b2),_0x28df7e['push'](_0xb4e95);break;}case'MultiPoint':{(!_0x3052dd||!isPointType(_0x3052dd))&&(_0x3052dd=_0x31da97[_0x19da77(-_0x3ed28b._0x120347,_0x3ed28b._0x284776)]?_0x19da77(0x11b4,0x123d):'pointP');for(_0x37905d=0x0,_0x36f257=_0x3e6a9b['length'];_0x37905d<_0x36f257;_0x37905d++){const _0x3ddad2={..._0x352264,'type':_0x3052dd,'position':_0x5e7e99(_0x3e6a9b[_0x37905d]),'style':_0x31da97,'attr':_0xe829b2};_0x4d4fd6(_0x3ddad2,_0xe829b2),_0x28df7e[_0x19da77(0x3f2,0x27f)](_0x3ddad2);}break;}case'LineString':{!_0x3052dd&&(_0x3052dd=_0x19da77(_0x3ed28b._0x161edf,_0x3ed28b._0x5978ef));const _0x2170fc={..._0x352264,'type':_0x3052dd,'positions':_0x2290eb(_0x3e6a9b),'style':_0x31da97,'attr':_0xe829b2};_0x4d4fd6(_0x2170fc,_0xe829b2),_0x28df7e['push'](_0x2170fc);break;}case _0x1c0124(_0x3ed28b._0x300306,_0x3ed28b._0x2609e9):{!_0x3052dd&&(_0x3052dd=_0x1c0124(0x1876,0x204d));let _0x7bbc13;const _0x2bb82e=[];for(_0x37905d=0x0,_0x36f257=_0x3e6a9b[_0x19da77(0xf6f,0x11e1)];_0x37905d<_0x36f257;_0x37905d++){var _0x1f5704;const _0x535c94={..._0x352264,'type':_0x3052dd,'positions':_0x2290eb(_0x3e6a9b[_0x37905d]),'style':_0x31da97,'attr':_0xe829b2};_0x4d4fd6(_0x535c94,_0xe829b2),_0x28df7e[_0x19da77(-_0x3ed28b._0x192285,0x27f)](_0x535c94),_0x2bb82e[_0x1c0124(0x638,0xc23)](_0x535c94),!_0x7bbc13||(_0x1f5704=_0x535c94['positions'])!==null&&_0x1f5704!==void 0x0&&_0x1f5704[_0x1c0124(0x159a,0xe72)]&&_0x7bbc13['positions'][_0x1c0124(_0x3ed28b._0x42453b,_0x3ed28b._0x103c6e)]<_0x535c94['positions'][_0x1c0124(0x159a,0xb52)]?_0x7bbc13=_0x535c94:(delete _0x535c94['id'],delete _0x535c94[_0x19da77(_0x3ed28b._0x152744,0x8e2)]['id']);}if(_0x7bbc13){_0x7bbc13['isMultiMax']=!![];if(_0x31da97[_0x1c0124(_0x3ed28b._0x29e50,0x1195)]&&!_0x31da97[_0x1c0124(0x80a,_0x3ed28b._0x368897)]['showAll'])for(_0x37905d=0x0,_0x36f257=_0x2bb82e[_0x19da77(0x17ab,0x11e1)];_0x37905d<_0x36f257;_0x37905d++){const _0x4418da=_0x2bb82e[_0x37905d];if(_0x7bbc13===_0x4418da)continue;_0x4418da[_0x19da77(0xc58,_0x3ed28b._0x42d7e5)]={..._0x4418da[_0x19da77(0x777,_0x3ed28b._0x42d7e5)]},delete _0x4418da[_0x1c0124(_0x3ed28b._0xa29863,_0x3ed28b._0x1b51ee)][_0x19da77(_0x3ed28b._0x381070,_0x3ed28b._0x3a1374)];}}break;}case _0x1c0124(_0x3ed28b._0x19f236,0x97a):{!_0x3052dd&&(_0x3052dd=_0x19da77(0x5ab,0xb0e));if(_0x3052dd[_0x19da77(-0x545,0xe7)]('polygon')||_0x3052dd['startsWith']('water')||_0x3052dd===_0x19da77(_0x3ed28b._0x3b1565,0x830)){const _0x20f63a={..._0x352264,'type':_0x3052dd,'positions':_0x2290eb(_0x3e6a9b['length']===0x1?_0x3e6a9b[0x0]:_0x3e6a9b),'isRing':_0x3e6a9b[_0x19da77(0x77a,0x11e1)]>0x1,'style':_0x31da97,'attr':_0xe829b2};_0x4d4fd6(_0x20f63a,_0xe829b2),_0x28df7e[_0x19da77(0x73,0x27f)](_0x20f63a);}else for(_0x37905d=0x0,_0x36f257=_0x3e6a9b[_0x1c0124(0x159a,0xb35)];_0x37905d<_0x36f257;_0x37905d++){const _0x5dabe5=_0x3e6a9b[_0x37905d],_0x290997={..._0x352264,'type':_0x3052dd,'positions':_0x2290eb(_0x5dabe5['length']===0x1?_0x5dabe5[0x0]:_0x5dabe5),'isRing':_0x5dabe5['length']>0x1,'style':_0x31da97,'attr':_0xe829b2};_0x4d4fd6(_0x290997,_0xe829b2),_0x28df7e['push'](_0x290997);}break;}case _0x1c0124(_0x3ed28b._0x3fed93,0x870):{!_0x3052dd&&(_0x3052dd='polygon');let _0x366e2e;const _0x6d56d6=[];for(_0x37905d=0x0,_0x36f257=_0x3e6a9b['length'];_0x37905d<_0x36f257;_0x37905d++){const _0x15c5e3=_0x3e6a9b[_0x37905d],_0x326ddf={..._0x352264,'type':_0x3052dd,'positions':_0x2290eb(_0x15c5e3['length']===0x1?_0x15c5e3[0x0]:_0x15c5e3),'isRing':_0x15c5e3['length']>0x1,'style':_0x31da97,'attr':_0xe829b2};_0x4d4fd6(_0x326ddf,_0xe829b2),_0x28df7e['push'](_0x326ddf),_0x6d56d6['push'](_0x326ddf),!_0x366e2e||_0x366e2e['positions']['length']<_0x326ddf[_0x19da77(0xd22,0x157f)]['length']?_0x366e2e=_0x326ddf:(delete _0x326ddf['id'],delete _0x326ddf['attr']['id']);}if(_0x366e2e){_0x366e2e['isMultiMax']=!![];if(_0x31da97['label']&&!_0x31da97['label'][_0x1c0124(0x4e0,-0x1ed)])for(_0x37905d=0x0,_0x36f257=_0x6d56d6['length'];_0x37905d<_0x36f257;_0x37905d++){const _0x124ce7=_0x6d56d6[_0x37905d];if(_0x366e2e===_0x124ce7)continue;_0x124ce7[_0x19da77(-0x3ef,0x43c)]={..._0x124ce7['style']},delete _0x124ce7[_0x19da77(0x6d1,_0x3ed28b._0x176660)]['label'];}}break;}case _0x1c0124(0xc4c,0x692):{const _0x74118f=[];let _0x37ce75;for(let _0x5c0095=0x0,_0x2dbb9d=_0x125a06['geometries']['length'];_0x5c0095<_0x2dbb9d;_0x5c0095++){const _0x1a78e1={};_0x1a78e1[_0x19da77(_0x3ed28b._0x351f3f,0x1249)]='Feature',_0x1a78e1[_0x19da77(-0x842,_0x3ed28b._0x11a599)]=_0x125a06['geometries'][_0x5c0095],_0x1a78e1[_0x1c0124(0xaf1,_0x3ed28b._0x1c2ccc)]=_0x4c9893['properties'];const _0x38441a=featureToGraphic(_0x1a78e1,_0x22f422);if(_0x38441a&&_0x38441a[_0x1c0124(_0x3ed28b._0x324651,_0x3ed28b._0x3b879b)]>0x0)for(let _0x21cd16=0x0,_0x282f92=_0x38441a[_0x19da77(_0x3ed28b._0x27efd6,0x11e1)];_0x21cd16<_0x282f92;_0x21cd16++){var _0x150d1b;const _0x5e3a16=_0x38441a[_0x21cd16];(!_0x37ce75||(_0x150d1b=_0x5e3a16['positions'])!==null&&_0x150d1b!==void 0x0&&_0x150d1b['length']&&_0x37ce75['positions'][_0x1c0124(_0x3ed28b._0x324651,0x18f2)]<_0x5e3a16[_0x1c0124(0x1938,0x1432)][_0x19da77(_0x3ed28b._0x3575af,_0x3ed28b._0x47df75)])&&(_0x37ce75=_0x5e3a16),_0x74118f['push'](_0x5e3a16);}}if(_0x74118f['length']>0x0){if(_0x37ce75){_0x37ce75['isMultiMax']=!![];if(_0x31da97[_0x1c0124(_0x3ed28b._0x29e50,_0x3ed28b._0xd11da4)]&&!_0x31da97['label']['showAll'])for(let _0x47c918=0x0,_0x4f1a44=_0x74118f[_0x19da77(0xd40,_0x3ed28b._0x47df75)];_0x47c918<_0x4f1a44;_0x47c918++){const _0x3851a7=_0x74118f[_0x47c918];if(_0x37ce75===_0x3851a7)continue;_0x31da97[_0x19da77(_0x3ed28b._0x76c6cd,0x451)][_0x1c0124(0x1532,0x193d)]=![];}}_0x28df7e[_0x19da77(-_0x3ed28b._0x490a19,_0x3ed28b._0x591867)](..._0x74118f);}break;}default:logError('Invalid\x20GeoJSON\x20object.',_0x4c9893);}function _0x19da77(_0x1e6415,_0x189f55){return _0x306755(_0x1e6415,_0x189f55- -_0x430d4e._0x17f6a4);}return _0x28df7e;}function mergeSymbolToGraphic(_0x551c18,_0x2d62ce){const _0x5ddc13={_0x36793a:0x934,_0x5e2c6b:0x111d},_0x2393f={_0x371eaa:0x468};if(_0x2d62ce){if(isFunction(_0x2d62ce))_0x551c18['style']=_0x2d62ce(_0x551c18['attr'],_0x551c18['style'],_0x551c18);else{_0x2d62ce['type']&&(_0x551c18[_0x355957(0x93f,0x11fb)]=_0x2d62ce['type']);const _0x1fd29d=getSymbolStyle(_0x2d62ce,_0x551c18[_0x26284f(0xdda,0x70a)]||{},_0x551c18);_0x1fd29d&&Object['keys'](_0x1fd29d)['length']!==0x0&&(_0x2d62ce[_0x355957(0xd04,0xabf)]?_0x551c18[_0x26284f(_0x5ddc13._0x36793a,_0x5ddc13._0x5e2c6b)]={..._0x1fd29d,..._0x551c18['style']}:_0x551c18['style']=_0x1fd29d);}}function _0x26284f(_0x919f70,_0x62c8d0){return _0x306755(_0x62c8d0,_0x919f70-0xde);}function _0x355957(_0x399a5d,_0x485e02){return _0x306755(_0x399a5d,_0x485e02- -_0x2393f._0x371eaa);}return _0x551c18;}function heightToZoom(_0x1cf1c8){function _0xe4cbd2(_0xcfef5b,_0x2a07ae){return _0x2b6441(_0x2a07ae,_0xcfef5b- -0x10);}const _0x3210db=40487.57,_0x18cc19=0.00007096758,_0x12734a=91610.74,_0x2f4ef8=-40467.74;return Math[_0xe4cbd2(0xb7e,0x11f0)](_0x2f4ef8+(_0x3210db-_0x2f4ef8)/(0x1+Math['pow'](_0x1cf1c8/_0x12734a,_0x18cc19)));}function getUrlResource(_0x29828c,_0x1ddb63){const _0x41f78d={_0x5c36b3:0x1108,_0x112750:0x155c,_0x503a83:0x62d,_0x4c8271:0x10c5,_0x1bd092:0x58d,_0xae2aa9:0x1591,_0x4c98a6:0x285,_0x2ce5dd:0xbc5};function _0x2d8d20(_0x111856,_0x2bbff3){return _0x306755(_0x111856,_0x2bbff3-0xbe);}if(!_0x29828c[_0x2d8d20(_0x41f78d._0x5c36b3,0xc7d)])return _0x29828c;function _0x5d1bb0(_0x558c49,_0x4e926c){return _0x2b6441(_0x558c49,_0x4e926c-0x5a7);}_0x1ddb63=_0x29828c['templateValues']??_0x1ddb63;let _0x274ab8;if(_0x29828c['url']instanceof Cesium__namespace[_0x2d8d20(0x1fc2,_0x41f78d._0x112750)]){const _0x16e4f5=_0x29828c[_0x5d1bb0(0xda3,0xbc5)];return _0x29828c[_0x5d1bb0(_0x41f78d._0x503a83,_0x41f78d._0x4c8271)]&&(_0x16e4f5['headers']=_0x29828c[_0x5d1bb0(0x10d7,0x10c5)]),_0x29828c['proxy']&&(_0x16e4f5['proxy']=new Cesium__namespace['DefaultProxy'](_0x29828c['proxy'])),_0x1ddb63&&_0x16e4f5[_0x2d8d20(_0x41f78d._0x1bd092,0x713)](_0x1ddb63),_0x29828c['queryParameters']&&_0x16e4f5['setQueryParameters'](_0x29828c['queryParameters']),_0x16e4f5;}else _0x1ddb63&&(_0x29828c[_0x5d1bb0(_0x41f78d._0xae2aa9,0xbc5)]=template(_0x29828c[_0x5d1bb0(_0x41f78d._0x4c98a6,_0x41f78d._0x2ce5dd)],_0x1ddb63)),_0x274ab8=new Cesium__namespace['Resource']({'url':_0x29828c[_0x5d1bb0(0x4b1,_0x41f78d._0x2ce5dd)],'queryParameters':_0x29828c['queryParameters'],'templateValues':_0x1ddb63,'headers':_0x29828c['headers'],'proxy':_0x29828c[_0x5d1bb0(0xbc4,0xaee)]?new Cesium__namespace['DefaultProxy'](_0x29828c['proxy']):null});return _0x274ab8;}let imageSmoothingEnabledName;function getTextImage(_0xff7073,_0x4d6a50={}){const _0x2ad286={_0x2e056d:0x1e29,_0x1acf3e:0x15c1,_0x2e3408:0x3b7,_0x3447d9:0x1a3a,_0x3f5dd4:0x65f,_0x2ae455:0x12b1,_0x3a6cd5:0xeb9,_0x1e0d86:0x71f,_0x499925:0x6e0,_0x8380fa:0xea9,_0x1ea756:0x12e6,_0x528551:0x1af3,_0x5407d6:0x8ca,_0xed9534:0xf2b,_0x5447d9:0x17c8,_0x14c5b0:0x6ef,_0x228ecc:0xd3b,_0x453037:0x69f,_0x30c9c2:0x452,_0xc5fde3:0xb9a,_0x34b751:0x12fb,_0x9d7bca:0x1b42,_0x44e4fc:0x3bf,_0x1a5537:0x36e,_0x5c6a9f:0x138c,_0x379cd3:0x14a0,_0x45c8e6:0x132f,_0x220e77:0x7b4,_0x19bad3:0xaee,_0x1b6848:0xc73,_0x1f449d:0x1441,_0x2d99d4:0xa68,_0x54aaf7:0xce8,_0x24f10e:0x17ae,_0x146d5c:0x6ba,_0xba81e6:0x1328,_0x590d06:0x704},_0x4b7b93={_0x5830a7:0xdb5,_0x374d73:0xe3c,_0x82213d:0x898,_0x145299:0x8e3};if(_0xff7073==='')return undefined;!_0x4d6a50['background']&&(_0x4d6a50[_0x41c484(_0x2ad286._0x2e056d,_0x2ad286._0x1acf3e)]=Cesium__namespace['Color'][_0x25ee49(0x1190,0x19af)]);const _0x4efcb0=_0x4d6a50[_0x25ee49(0x3d0,-_0x2ad286._0x2e3408)]??_0x25ee49(0x128,-0x1fb),_0x2f49ff=_0x4d6a50['stroke']??![],_0x3f6736=_0x4d6a50[_0x41c484(_0x2ad286._0x3447d9,0x1430)]??!![],_0x5d7fcc=_0x4d6a50[_0x41c484(0x683,_0x2ad286._0x3f5dd4)]??0x1,_0x3b1aaf=_0x4d6a50['spacing']??0x0,_0x934925=_0x4d6a50[_0x25ee49(_0x2ad286._0x2ae455,_0x2ad286._0x3a6cd5)]??Cesium__namespace['Color'][_0x25ee49(0x1190,0x15dc)];function _0x41c484(_0x9c860a,_0x4eaa55){return _0x2b6441(_0x9c860a,_0x4eaa55-0x3e5);}const _0x373278=_0x4d6a50[_0x25ee49(0x38,0x423)]??0x0,_0x40e836=document['createElement']('canvas');_0x40e836[_0x25ee49(_0x2ad286._0x1e0d86,0x42)]=0x1,_0x40e836[_0x25ee49(0x726,0x264)]=0x1,_0x40e836['style'][_0x41c484(0x1160,_0x2ad286._0x499925)]=_0x4efcb0;const _0x5d4860={};_0x5d4860[_0x41c484(_0x2ad286._0x8380fa,0xd81)]=!![];const _0x3e9004=_0x40e836['getContext']('2d',_0x5d4860);if(!Cesium__namespace[_0x25ee49(_0x2ad286._0x1ea756,_0x2ad286._0x528551)](imageSmoothingEnabledName)){if(Cesium__namespace['defined'](_0x3e9004['imageSmoothingEnabled']))imageSmoothingEnabledName='imageSmoothingEnabled';else{if(Cesium__namespace['defined'](_0x3e9004['mozImageSmoothingEnabled']))imageSmoothingEnabledName=_0x25ee49(0x4ba,_0x2ad286._0x5407d6);else{if(Cesium__namespace['defined'](_0x3e9004['webkitImageSmoothingEnabled']))imageSmoothingEnabledName=_0x25ee49(_0x2ad286._0xed9534,_0x2ad286._0x5447d9);else Cesium__namespace['defined'](_0x3e9004[_0x25ee49(_0x2ad286._0x14c5b0,_0x2ad286._0x228ecc)])&&(imageSmoothingEnabledName='msImageSmoothingEnabled');}}}function _0x25ee49(_0x2068f8,_0x2e51e1){return _0x2b6441(_0x2e51e1,_0x2068f8-0xd5);}_0x3e9004['font']=_0x4efcb0,_0x3e9004['lineJoin']='round',_0x3e9004[_0x41c484(0xb18,0xc66)]=_0x5d7fcc,_0x3e9004[imageSmoothingEnabledName]=![],_0x40e836['style'][_0x25ee49(_0x2ad286._0x453037,_0x2ad286._0x30c9c2)]=_0x41c484(_0x2ad286._0xc5fde3,0x13cf),document[_0x25ee49(0x1f4,-0x6f1)]['appendChild'](_0x40e836);const _0x433919=_0xff7073[_0x25ee49(_0x2ad286._0x34b751,_0x2ad286._0x9d7bca)]('\x0a'),_0x4b6bfc=[];let _0x26083a=0x0,_0x4951ac=0x0;_0x433919['forEach'](_0x1c6386=>{const _0x2faf30=measureCanvasText(_0x3e9004,_0x1c6386,_0x4d6a50);function _0xff79c7(_0x19d889,_0x8af77a){return _0x25ee49(_0x8af77a-0x602,_0x19d889);}_0x4b6bfc['push'](_0x2faf30),_0x2faf30['y']+=_0x4951ac,_0x26083a=Math[_0xff79c7(_0x4b7b93._0x5830a7,_0x4b7b93._0x374d73)](_0x26083a,_0x2faf30[_0x41ebdf(_0x4b7b93._0x82213d,_0x4b7b93._0x145299)]);function _0x41ebdf(_0x4cc448,_0x2aa42f){return _0x41c484(_0x4cc448,_0x2aa42f- -0x14c);}_0x4951ac+=_0x2faf30['height'];}),document['body'][_0x41c484(0x1807,0xfa0)](_0x40e836),_0x40e836['style'][_0x25ee49(0x69f,_0x2ad286._0x44e4fc)]='',_0x40e836[_0x41c484(0xf2e,0xa2f)]=_0x26083a,_0x40e836['height']=_0x4951ac,_0x3e9004[_0x41c484(_0x2ad286._0x1a5537,0x6e0)]=_0x4efcb0,_0x3e9004[_0x25ee49(0x1f2,-0x18f)]='round',_0x3e9004['lineWidth']=_0x5d7fcc,_0x3e9004[imageSmoothingEnabledName]=![];_0x934925!==Cesium__namespace['Color'][_0x41c484(_0x2ad286._0x5c6a9f,_0x2ad286._0x379cd3)]&&(_0x3e9004['fillStyle']=_0x934925['toCssColorString'](),_0x3e9004['fillRect'](0x0,0x0,_0x40e836[_0x41c484(_0x2ad286._0x45c8e6,0xa2f)],_0x40e836['height']));for(let _0x2f96f9=0x0;_0x2f96f9<_0x4b6bfc['length'];_0x2f96f9++){const _0x58ddac=_0x4b6bfc[_0x2f96f9];if(_0x2f49ff){const _0x44909a=Cesium__namespace[_0x41c484(_0x2ad286._0x220e77,_0x2ad286._0x19bad3)](_0x4d6a50['strokeColor'],Cesium__namespace['Color']['BLACK']);_0x3e9004['strokeStyle']=_0x44909a['toCssColorString'](),_0x3e9004[_0x25ee49(0xc46,_0x2ad286._0x1b6848)](_0x58ddac[_0x25ee49(_0x2ad286._0x1f449d,0x17fd)],_0x58ddac['x']+_0x373278,_0x58ddac['y'],_0x3b1aaf,_0x58ddac['width']);}if(_0x3f6736){const _0x504124=Cesium__namespace['defaultValue'](_0x4d6a50['fillColor'],Cesium__namespace[_0x25ee49(_0x2ad286._0x2d99d4,_0x2ad286._0x54aaf7)]['WHITE']);_0x3e9004['fillStyle']=_0x504124['toCssColorString'](),_0x3e9004[_0x25ee49(0xe06,0x674)](_0x58ddac['text'],_0x58ddac['x']+_0x373278,_0x58ddac['y'],_0x3b1aaf,_0x58ddac['width']);}}if(_0x4d6a50[_0x41c484(0xf3f,_0x2ad286._0x24f10e)]){if(_0x4d6a50[_0x25ee49(0x8cf,_0x2ad286._0x146d5c)])_0x3e9004[_0x25ee49(0x6de,0xf58)]=_0x4d6a50['outlineColor']['toCssColorString']();else _0x4d6a50['fillColor']?_0x3e9004[_0x41c484(_0x2ad286._0xba81e6,0x9ee)]=_0x4d6a50[_0x25ee49(0x62c,0xe3f)]['toCssColorString']():_0x3e9004['strokeStyle']=_0x25ee49(_0x2ad286._0x590d06,-0x35a);const _0x324499=_0x4d6a50['outlineWidth']||0x4;_0x3e9004['lineWidth']=_0x324499,_0x3e9004['strokeRect'](_0x324499/0x2,_0x324499/0x2,_0x40e836['width']-_0x324499,_0x40e836[_0x41c484(0x11cd,0xa36)]-_0x324499);}return _0x40e836;}function measureCanvasText(_0x59cc2c,_0x2363b4,_0x393cf7){const _0x4ef4f4={_0x115520:0x10b6,_0x41e3eb:0xd38,_0x2b2cd3:0xb24};function _0xaf35c0(_0xd09092,_0x2690ab){return _0x2b6441(_0x2690ab,_0xd09092-0x6ee);}const _0x3b9222=_0x393cf7['font']??_0xaf35c0(0x741,0x9a2),_0x3bb414=_0x393cf7['stroke']??![],_0x498038=_0x393cf7['fill']??!![],_0x96273c=_0x393cf7[_0xaf35c0(0x651,0xbc4)]??0x0,_0xa5906a=_0x96273c*0x2,_0x4b0b37=_0x393cf7['spacing']??0x0,_0x429ffe=measureText(_0x59cc2c,_0x2363b4,_0x3b9222,_0x3bb414,_0x498038),_0x5414a4=-_0x429ffe[_0xaf35c0(_0x4ef4f4._0x115520,0x10ac)];function _0xf6098(_0x1bc5a2,_0x2259df){return _0x306755(_0x1bc5a2,_0x2259df- -0x633);}const _0x2e743f=Math['ceil'](_0x429ffe['width'])+_0x5414a4+_0xa5906a+_0x4b0b37*(_0x2363b4['length']-0x1),_0x495f28=_0x429ffe['height']+_0xa5906a,_0x23a156=_0x495f28-_0x429ffe['ascent']+_0x96273c,_0x4cd595=_0x495f28-_0x23a156+_0xa5906a;return _0x429ffe['x']=_0x5414a4,_0x429ffe['y']=_0x4cd595,_0x429ffe[_0xaf35c0(_0x4ef4f4._0x41e3eb,_0x4ef4f4._0x2b2cd3)]=_0x2e743f,_0x429ffe['height']=_0x495f28,_0x429ffe;}function measureText(_0x26f648,_0x17b5fd,_0x54a1e7,_0x3f7e35,_0x3ec150){const _0x4535f1={_0x1a9254:0x1f59,_0x29182f:0xf51,_0x4150f7:0x1250,_0x471396:0x47b,_0x1826e1:0x9df,_0x51456d:0xbea,_0x10ced9:0x1686,_0x284000:0xbf1,_0x231b7f:0x1bab,_0x4360ed:0x839,_0x4a2bbb:0x1cc,_0x250392:0x14ae,_0x24c0f0:0x15fa,_0x12ad02:0x133f,_0x20a60a:0x13d1,_0x3f67a4:0x9df,_0x49d63d:0x9b7,_0xa4dce4:0x583},_0x2fd86a=_0x26f648['measureText'](_0x17b5fd),_0x96311=!/\S/['test'](_0x17b5fd);function _0x118f7c(_0x3e3661,_0x5e7710){return _0x2b6441(_0x3e3661,_0x5e7710-0x395);}if(!_0x96311){const _0x306d40=document[_0xba04e(0x1622,_0x4535f1._0x1a9254)][_0xba04e(0x19e0,_0x4535f1._0x29182f)](_0x26f648['canvas'])['getPropertyValue']('font-size')['replace']('px',''),_0x2291d2=document[_0x118f7c(0x1add,_0x4535f1._0x4150f7)]('canvas'),_0x64f347=0x64,_0x2b70eb=_0x2fd86a[_0x118f7c(_0x4535f1._0x471396,_0x4535f1._0x1826e1)]+_0x64f347|0x0,_0x1b9644=0x3*_0x306d40,_0x40a649=_0x1b9644/0x2;_0x2291d2[_0xba04e(_0x4535f1._0x51456d,_0x4535f1._0x10ced9)]=_0x2b70eb,_0x2291d2[_0xba04e(_0x4535f1._0x284000,0x1403)]=_0x1b9644;const _0x2f52e4=_0x2291d2['getContext']('2d');_0x2f52e4[_0x118f7c(0x10c4,0x690)]=_0x54a1e7,_0x2f52e4['fillStyle']=_0xba04e(0x1470,_0x4535f1._0x231b7f),_0x2f52e4['fillRect'](0x0,0x0,_0x2291d2['width']+0x1,_0x2291d2['height']+0x1);_0x3f7e35&&(_0x2f52e4['strokeStyle']=_0xba04e(0xbe4,_0x4535f1._0x4360ed),_0x2f52e4[_0x118f7c(_0x4535f1._0x4a2bbb,0xc16)]=_0x26f648[_0xba04e(0xe21,0x10b7)],_0x2f52e4[_0xba04e(0x1660,_0x4535f1._0x250392)](_0x17b5fd,_0x64f347/0x2,_0x40a649));_0x3ec150&&(_0x2f52e4['fillStyle']='black',_0x2f52e4['fillText'](_0x17b5fd,_0x64f347/0x2,_0x40a649));const _0x139038=_0x2f52e4['getImageData'](0x0,0x0,_0x2b70eb,_0x1b9644)['data'],_0x60eb95=_0x139038[_0xba04e(_0x4535f1._0x24c0f0,0x16a2)],_0x18372e=_0x2b70eb*0x4;let _0x53bd65,_0x45edd1,_0x39775e,_0x2175da;for(_0x53bd65=0x0;_0x53bd65<_0x60eb95;++_0x53bd65){if(_0x139038[_0x53bd65]!==0xff){_0x39775e=_0x53bd65/_0x18372e|0x0;break;}}for(_0x53bd65=_0x60eb95-0x1;_0x53bd65>=0x0;--_0x53bd65){if(_0x139038[_0x53bd65]!==0xff){_0x2175da=_0x53bd65/_0x18372e|0x0;break;}}let _0x545289=-0x1;for(_0x53bd65=0x0;_0x53bd65<_0x2b70eb&&_0x545289===-0x1;++_0x53bd65){for(_0x45edd1=0x0;_0x45edd1<_0x1b9644;++_0x45edd1){const _0x43f512=_0x53bd65*0x4+_0x45edd1*_0x18372e;if(_0x139038[_0x43f512]!==0xff||_0x139038[_0x43f512+0x1]!==0xff||_0x139038[_0x43f512+0x2]!==0xff||_0x139038[_0x43f512+0x3]!==0xff){_0x545289=_0x53bd65;break;}}}const _0x208ec8={};return _0x208ec8[_0x118f7c(0xfef,0x1701)]=_0x17b5fd,_0x208ec8[_0x118f7c(_0x4535f1._0x12ad02,0x9df)]=_0x2fd86a['width'],_0x208ec8['height']=_0x2175da-_0x39775e,_0x208ec8['ascent']=_0x40a649-_0x39775e,_0x208ec8['descent']=_0x2175da-_0x40a649,_0x208ec8['minx']=_0x545289-_0x64f347/0x2,_0x208ec8;}const _0x33fb77={};_0x33fb77[_0x118f7c(0xf77,0x1701)]=_0x17b5fd;function _0xba04e(_0xc3c49e,_0xbaf6af){return _0x2b6441(_0xbaf6af,_0xc3c49e-0x5a0);}return _0x33fb77[_0x118f7c(_0x4535f1._0x20a60a,_0x4535f1._0x3f67a4)]=_0x2fd86a['width'],_0x33fb77[_0x118f7c(0x761,0x9e6)]=0x0,_0x33fb77[_0x118f7c(_0x4535f1._0x49d63d,_0x4535f1._0xa4dce4)]=0x0,_0x33fb77['descent']=0x0,_0x33fb77['minx']=0x0,_0x33fb77;}const circleImage={};function getCircleImage(_0x21e38f,_0x3d03d5={}){const _0x17f83b={_0x45b1f2:0x140e,_0x10a536:0xcfa,_0x42cb2d:0x1479,_0x3b5c45:0x196c,_0x28d7d1:0xc36,_0x4788e7:0xacf,_0x5913f9:0x1066,_0x58fb4d:0x1609,_0xae251c:0x2f,_0x55c7cf:0x4c6,_0x2554d4:0x1437,_0x142680:0x1050,_0x2afebd:0x8e9,_0x151bb8:0x765};function _0x2d531c(_0x23e8f1,_0x173536){return _0x2b6441(_0x23e8f1,_0x173536-0x3ec);}function _0x33f8b7(_0x4c3f52,_0x50302d){return _0x306755(_0x4c3f52,_0x50302d-0x69);}const _0x298b43=_0x3d03d5['radius']??0x1a,_0x4bcca2=_0x298b43+(_0x3d03d5[_0x2d531c(_0x17f83b._0x45b1f2,0xf22)]??0x5);let _0x124d53,_0xdce009;if(_0x3d03d5['color'])_0x124d53=_0x3d03d5[_0x2d531c(0x1297,_0x17f83b._0x10a536)],_0xdce009=_0x3d03d5['borderColor']||_0x124d53;else{const _0x35a10a=_0x3d03d5[_0x33f8b7(_0x17f83b._0x42cb2d,0xbb2)]??0.6,_0x53da2f=_0x3d03d5[_0x2d531c(0x10c9,0xcb2)]??_0x35a10a*0.8;if(_0x21e38f<0xa)_0x124d53='rgba(110,\x20204,\x2057,\x20'+_0x35a10a+')',_0xdce009='rgba(181,\x20226,\x20140,\x20'+_0x53da2f+')';else _0x21e38f<0x64?(_0x124d53=_0x33f8b7(0x174d,_0x17f83b._0x3b5c45)+_0x35a10a+')',_0xdce009=_0x2d531c(0x102b,0xef9)+_0x53da2f+')'):(_0x124d53='rgba(241,\x20128,\x2023,\x20\x20'+_0x35a10a+')',_0xdce009='rgba(253,\x20156,\x20115,\x20'+_0x53da2f+')');}const _0x4795d3=_0x21e38f+'_'+_0x4bcca2+'_'+_0x298b43+'_'+_0x124d53;if(!circleImage[_0x4795d3]){const _0x251d1e=_0x4bcca2*0x2,_0x10600e=document[_0x33f8b7(0xcb8,0x14c5)](_0x2d531c(0xb2b,0x59b));_0x10600e['width']=_0x251d1e,_0x10600e['height']=_0x251d1e;const _0x5104f2={};_0x5104f2['willReadFrequently']=!![];const _0x39b00a=_0x10600e[_0x2d531c(_0x17f83b._0x28d7d1,_0x17f83b._0x4788e7)]('2d',_0x5104f2);_0x39b00a['fillStyle']=_0x33f8b7(0x23cc,0x1927),_0x39b00a[_0x2d531c(_0x17f83b._0x5913f9,_0x17f83b._0x58fb4d)]=0x0,_0x39b00a['fillRect'](0x0,0x0,_0x251d1e,_0x251d1e),_0x298b43!==_0x4bcca2&&(_0x39b00a['globalAlpha']=0x1,_0x39b00a[_0x33f8b7(-_0x17f83b._0xae251c,0xa34)](),_0x39b00a[_0x2d531c(_0x17f83b._0x55c7cf,0xbe9)](_0x4bcca2,_0x4bcca2,_0x4bcca2,0x0,Math['PI']*0x2,!![]),_0x39b00a['closePath'](),_0x39b00a[_0x2d531c(0x120a,0xc05)]=_0xdce009,_0x39b00a[_0x2d531c(0x979,_0x17f83b._0x2554d4)]()),_0x39b00a['globalAlpha']=0x1,_0x39b00a[_0x33f8b7(0xe,0xa34)](),_0x39b00a['arc'](_0x4bcca2,_0x4bcca2,_0x298b43,0x0,Math['PI']*0x2,!![]),_0x39b00a[_0x33f8b7(0x4eb,0x6fa)](),_0x39b00a['fillStyle']=_0x124d53,_0x39b00a[_0x2d531c(0x9de,0x1437)](),_0x39b00a[_0x2d531c(0x100b,0x6e7)]=_0x3d03d5['font']||_0x298b43*0.9+'px\x20bold\x20normal',_0x39b00a['fillStyle']=_0x3d03d5[_0x2d531c(_0x17f83b._0x142680,_0x17f83b._0x2afebd)]||'#ffffff',_0x39b00a['textAlign']=_0x33f8b7(0x765,_0x17f83b._0x151bb8),_0x39b00a['textBaseline']=_0x2d531c(0x2ff,0x93c),_0x39b00a[_0x2d531c(0xcdf,0x90b)](_0x21e38f,_0x4bcca2,_0x4bcca2),circleImage[_0x4795d3]=_0x10600e['toDataURL']('image/png',0x1);}return circleImage[_0x4795d3];}function download(_0x3ff2e7,_0x47ecd3){const _0x4c91f3={_0x12da76:0xf09,_0x3fb622:0xb15,_0x6fe946:0x16d,_0x3f9400:0xc09,_0x484ef4:0xa40},_0x250b43={_0x56d6eb:0x3e0},_0x19e571=document[_0x4ad291(_0x4c91f3._0x12da76,0x1500)]('a');function _0x4ad291(_0x359158,_0x2c80be){return _0x2b6441(_0x2c80be,_0x359158-0x4e);}_0x19e571['download']=_0x3ff2e7;function _0x11eda5(_0x405381,_0xc065d4){return _0x306755(_0xc065d4,_0x405381- -_0x250b43._0x56d6eb);}_0x19e571['href']=URL['createObjectURL'](_0x47ecd3),document[_0x11eda5(0x2e0,-0x109)]['appendChild'](_0x19e571),_0x19e571[_0x4ad291(_0x4c91f3._0x3fb622,0xc7a)](),document[_0x4ad291(_0x4c91f3._0x6fe946,0x674)][_0x4ad291(_0x4c91f3._0x3f9400,_0x4c91f3._0x484ef4)](_0x19e571);}function base64Img2Blob(_0x4b3f09){const _0x4e685b=_0x4b3f09['split'](_0x391466(0x3c4,-0x357));function _0x391466(_0x29d54c,_0x495669){return _0x306755(_0x495669,_0x29d54c- -0x242);}const _0x32b37a=_0x4e685b[0x0]['split'](':')[0x1],_0x222237=window['atob'](_0x4e685b[0x1]),_0x363529=_0x222237['length'],_0x476f89=new Uint8Array(_0x363529);for(let _0x185118=0x0;_0x185118<_0x363529;++_0x185118){_0x476f89[_0x185118]=_0x222237['charCodeAt'](_0x185118);}const _0xe1a46e={};return _0xe1a46e['type']=_0x32b37a,new Blob([_0x476f89],_0xe1a46e);}function downloadBase64Image(_0xd46675,_0x481b5a){const _0x3ff61f={_0x448265:0x844},_0x466022=base64Img2Blob(_0x481b5a);function _0x259283(_0x298596,_0x3cff1d){return _0x2b6441(_0x298596,_0x3cff1d-0x572);}!_0xd46675['endsWith']('.jpg')&&!_0xd46675['endsWith'](_0x48b58b(0xadf,0x844))&&(_0xd46675=_0xd46675+_0x48b58b(0x1207,_0x3ff61f._0x448265));function _0x48b58b(_0x45e936,_0x282727){return _0x2b6441(_0x45e936,_0x282727-0x4d5);}download(_0xd46675,_0x466022);}function downloadFile(_0x257e70,_0x12a061,_0x779f4b){const _0x3d511f={};_0x3d511f['type']=_0x779f4b;const _0x1e5a29=new Blob([_0x12a061],_0x3d511f);download(_0x257e70,_0x1e5a29);}function getExplorerInfo(){const _0x2fc2d6={_0x16bd14:0x17a6,_0x4c67d9:0x8f3,_0x217e10:0x5a1,_0xcc8450:0x515,_0x44b248:0x61d},_0x340229={_0x1eb96f:0x143};let _0x1bd115;const _0x47aa2e=window['navigator'][_0x1a245a(0x925,0xe73)][_0x3b448c(0x1fa,0x51e)]();function _0x1a245a(_0x3afa52,_0x10ab4e){return _0x306755(_0x3afa52,_0x10ab4e-_0x340229._0x1eb96f);}function _0x3b448c(_0x2918b6,_0x78b3f9){return _0x306755(_0x2918b6,_0x78b3f9-0x77);}if(_0x47aa2e['indexOf']('msie')>=0x0){_0x1bd115=Number(_0x47aa2e['match'](/msie ([\d]+)/)[0x1]);const _0x5b679a={};return _0x5b679a[_0x1a245a(0xda8,_0x2fc2d6._0x16bd14)]='IE',_0x5b679a['version']=_0x1bd115,_0x5b679a;}else{if(_0x47aa2e[_0x1a245a(-0xd5,0x61d)]('firefox')>=0x0){_0x1bd115=Number(_0x47aa2e['match'](/firefox\/([\d]+)/)[0x1]);const _0x230f6c={};return _0x230f6c['type']='Firefox',_0x230f6c['version']=_0x1bd115,_0x230f6c;}else{if(_0x47aa2e['indexOf']('chrome')>=0x0){_0x1bd115=Number(_0x47aa2e['match'](/chrome\/([\d]+)/)[0x1]);const _0x37becc={};return _0x37becc[_0x3b448c(0x1b65,0x16da)]='Chrome',_0x37becc['version']=_0x1bd115,_0x37becc;}else{if(_0x47aa2e[_0x3b448c(_0x2fc2d6._0x4c67d9,0x551)]('opera')>=0x0){_0x1bd115=Number(_0x47aa2e['match'](/opera.([\d]+)/)[0x1]);const _0x4ab2ea={};return _0x4ab2ea[_0x3b448c(0x15e1,0x16da)]=_0x3b448c(_0x2fc2d6._0x217e10,_0x2fc2d6._0xcc8450),_0x4ab2ea['version']=_0x1bd115,_0x4ab2ea;}else{if(_0x47aa2e[_0x1a245a(0x6c4,_0x2fc2d6._0x44b248)]('Safari')>=0x0){_0x1bd115=Number(_0x47aa2e['match'](/version\/([\d]+)/)[0x1]);const _0x5eef14={};return _0x5eef14['type']='Safari',_0x5eef14['version']=_0x1bd115,_0x5eef14;}}}}}const _0x6efc52={};return _0x6efc52['type']=_0x47aa2e,_0x6efc52[_0x1a245a(0x1991,0x15e3)]=-0x1,_0x6efc52;}function webglreport(){const _0x288029={_0xd75f03:0xc69,_0x1e2279:0x9c2};function _0x2a8c47(_0x41879a,_0x2cd33a){return _0x306755(_0x2cd33a,_0x41879a- -0x30e);}const _0x4ce16c=getExplorerInfo();if(_0x4ce16c['type']==='IE'&&_0x4ce16c['version']<0xb)return![];try{let _0x46f3c2;const _0xd77e29=document[_0x217bce(0xf0b,0x8ee)]('canvas'),_0x23cebd=typeof WebGL2RenderingContext!=='undefined';_0x23cebd&&(_0x46f3c2=_0xd77e29['getContext'](_0x217bce(0x1186,0x1acb))||_0xd77e29['getContext']('experimental-webgl2')||undefined);_0x46f3c2==null&&(_0x46f3c2=_0xd77e29['getContext']('webgl')||_0xd77e29[_0x217bce(0x733,0x5b0)](_0x217bce(_0x288029._0xd75f03,_0x288029._0x1e2279))||undefined);if(_0x46f3c2==null)return![];}catch(_0xa56231){return![];}function _0x217bce(_0x535075,_0x163ca8){return _0x2b6441(_0x163ca8,_0x535075-0x50);}return!![];}function webglerror(){const _0xa1b7cb={_0x427890:0xed2,_0x3abe97:0x718,_0x2728fd:0x36d,_0x610c2c:0x5ed,_0x28b731:0x42e,_0x3c39fa:0x724},_0x1f9092={_0x4e2586:0x87};function _0x52e583(_0x1c8507,_0x1b2136){return _0x306755(_0x1c8507,_0x1b2136- -_0x1f9092._0x4e2586);}function _0x3dd57a(_0x3cc279,_0x498196){return _0x2b6441(_0x3cc279,_0x498196-0x403);}var _0x3d4aed;if((_0x3d4aed=window)!==null&&_0x3d4aed!==void 0x0&&(_0x3d4aed=_0x3d4aed['layer'])!==null&&_0x3d4aed!==void 0x0&&_0x3d4aed[_0x3dd57a(0x1650,_0xa1b7cb._0x427890)]){const _0x11d735={};_0x11d735['type']=0x1,_0x11d735[_0x3dd57a(0x62b,0xc72)]='当前浏览器不支持WebGL功能',_0x11d735[_0x3dd57a(_0xa1b7cb._0x3abe97,0x2ef)]=0x0,_0x11d735['shadeClose']=![],_0x11d735['resize']=![],_0x11d735['area']=[_0x3dd57a(0x748,0xda5),'170px'],_0x11d735[_0x3dd57a(_0xa1b7cb._0x2728fd,0x9a6)]='<div\x20style=\x22margin:\x2020px;color:\x20#333;\x22><h3>系统检测到您使用的浏览器不支持WebGL功能!</h3>\x20\x20<p>1、请您检查浏览器版本,安装使用最新版chrome、火狐或IE11以上浏览器!</p>\x20<p>2、WebGL支持取决于GPU支持,请保证客户端电脑已安装显卡驱动程序!</p></div>',window['layer'][_0x52e583(_0xa1b7cb._0x610c2c,0xfe9)](_0x11d735);}else alert(_0x3dd57a(_0xa1b7cb._0x28b731,_0xa1b7cb._0x3c39fa));}function getRequest(){const _0x335f8d={_0x48b14f:0xe30},_0x39acdc=location['search'];function _0x434013(_0x274ae1,_0x122366){return _0x306755(_0x274ae1,_0x122366-0x9f);}const _0x433ade={};function _0x548a6a(_0x50df78,_0x42c496){return _0x306755(_0x42c496,_0x50df78- -0x18a);}if(_0x39acdc[_0x548a6a(0x350,-0x231)]('?')!==-0x1){const _0x4ba8dc=_0x39acdc['substr'](0x1),_0x167c95=_0x4ba8dc['split']('&');for(let _0x7b9e59=0x0;_0x7b9e59<_0x167c95[_0x434013(_0x335f8d._0x48b14f,0x169a)];_0x7b9e59++){_0x433ade[_0x167c95[_0x7b9e59]['split']('=')[0x0]]=decodeURI(_0x167c95[_0x7b9e59]['split']('=')[0x1]);}}return _0x433ade;}function getRequestByName(_0x15e166){const _0x45527e={_0x31ede1:0xe15,_0xc9bd14:0xc55,_0x3ab96c:0x39e},_0x3c4b75={_0x2d7d1d:0xf8},_0x40688a=new RegExp(_0x3d76f3(_0x45527e._0x31ede1,_0x45527e._0xc9bd14)+_0x15e166+'=([^&]*)(&|$)','i');function _0x2dd7e4(_0xa8e2e9,_0x1fdecc){return _0x2b6441(_0xa8e2e9,_0x1fdecc- -0x4);}function _0x3d76f3(_0x3b2915,_0x415abc){return _0x306755(_0x415abc,_0x3b2915- -_0x3c4b75._0x2d7d1d);}const _0x166c7e=window['location']['search']['substr'](0x1)[_0x2dd7e4(0x1d4,_0x45527e._0x3ab96c)](_0x40688a);if(_0x166c7e!=null)return decodeURI(_0x166c7e[0x2]);return null;}let _isPCBroswer;function isPCBroswer(){const _0x220d60={_0x1a8bf6:0x9ba,_0x388ba8:0x10db,_0x1269a7:0x1eca,_0x416c24:0x6e9,_0x49626f:0xb25};function _0xc8168e(_0x1b5438,_0x263ed2){return _0x2b6441(_0x1b5438,_0x263ed2-0x4e5);}function _0x4ed4cf(_0x1e1271,_0x3e3f9a){return _0x306755(_0x1e1271,_0x3e3f9a-0x85);}if(!Cesium__namespace[_0xc8168e(0x1aca,0x16f6)](_isPCBroswer)){const _0x59479c=navigator['userAgent'][_0xc8168e(_0x220d60._0x1a8bf6,0x3eb)](),_0x2864de=[_0xc8168e(0x1384,_0x220d60._0x388ba8),'phone',_0x4ed4cf(_0x220d60._0x1269a7,0x15d7),_0x4ed4cf(_0x220d60._0x416c24,_0x220d60._0x49626f),'ipod',_0x4ed4cf(0x305,0x9fc)];_isPCBroswer=!![];for(let _0x181e48=0x0;_0x181e48<_0x2864de[_0x4ed4cf(0x1798,0x1680)];_0x181e48++){if(_0x59479c['indexOf'](_0x2864de[_0x181e48])>0x0){_isPCBroswer=![];break;}}}return _isPCBroswer;}function alert(_0x39df8b,_0x6385ff){const _0x3dc682={_0x1d64f9:0x247,_0x1f6d29:0xce0,_0x57c6f5:0x8af,_0x15e54f:0x9c4,_0x24ddc9:0x148f,_0x22be41:0x698};function _0x3eacb2(_0x40e097,_0x1c2173){return _0x306755(_0x1c2173,_0x40e097- -0x2cf);}function _0x18943a(_0x467051,_0x4beff0){return _0x306755(_0x467051,_0x4beff0- -0x561);}if(window['globalAlert'])window['globalAlert'](_0x39df8b,_0x6385ff);else{if(window[_0x3eacb2(0x6fb,_0x3dc682._0x1d64f9)]){const _0x1c1e8e={};_0x1c1e8e[_0x18943a(_0x3dc682._0x1f6d29,_0x3dc682._0x57c6f5)]=_0x6385ff||'提示',_0x1c1e8e['skin']=_0x3eacb2(_0x3dc682._0x15e54f,_0x3dc682._0x24ddc9),_0x1c1e8e[_0x18943a(-0x833,-0xd4)]=0x0,_0x1c1e8e['anim']=0x0,_0x1c1e8e[_0x3eacb2(0x1702,0x18c5)]=0x0,window[_0x3eacb2(0x6fb,0x8fa)][_0x3eacb2(_0x3dc682._0x22be41,0xe3e)](_0x39df8b,_0x1c1e8e);}else window['toastr']?window[_0x3eacb2(0x154c,0x1a90)][_0x18943a(-0x65a,0xc8)](_0x39df8b,_0x6385ff):window['alert'](_0x39df8b);}}function msg(_0x29478d){const _0x297012={_0xe9088e:0x255,_0x1cf266:0xfec,_0x394a46:0x312},_0x2307dc={_0x3ec8eb:0x4ee};function _0x594d2e(_0x1511fb,_0xbd86ab){return _0x2b6441(_0x1511fb,_0xbd86ab-_0x2307dc._0x3ec8eb);}function _0x580351(_0x491634,_0x16d63f){return _0x2b6441(_0x16d63f,_0x491634- -0xb4);}if(window['globalMsg'])window[_0x580351(_0x297012._0xe9088e,-0x7eb)](_0x29478d);else{if(window['toastr'])window['toastr'][_0x594d2e(_0x297012._0x1cf266,0x576)](_0x29478d);else window['layer']?window['layer'][_0x580351(0xede,0x9e8)](_0x29478d):window[_0x580351(_0x297012._0x394a46,0x455)](_0x29478d);}}function formatDate(_0x312e49,_0xcef358=_0x306755(0x12ea,0x1619)){const _0x28d4dc={_0x3abf3a:0x1392,_0x5c3211:0x20d3,_0x2e437a:0xbe,_0x2dc8fc:0x11a1,_0x2b6c81:0x11c},_0x13a4a0={'M+':_0x312e49[_0x4594dd(0x88a,0x704)]()+0x1,'d+':_0x312e49['getDate'](),'h+':_0x312e49['getHours']()%0xc===0x0?0xc:_0x312e49[_0x4594dd(0x1363,_0x28d4dc._0x3abf3a)]()%0xc,'H+':_0x312e49['getHours'](),'m+':_0x312e49['getMinutes'](),'s+':_0x312e49[_0x2469c4(_0x28d4dc._0x5c3211,0x180b)](),'q+':Math['floor']((_0x312e49['getMonth']()+0x3)/0x3),'S':_0x312e49[_0x4594dd(0x4f6,_0x28d4dc._0x2e437a)]()};function _0x4594dd(_0x128dc6,_0x510394){return _0x2b6441(_0x128dc6,_0x510394-0x147);}function _0x2469c4(_0x199a47,_0x4cdaa0){return _0x2b6441(_0x199a47,_0x4cdaa0-0x698);}/(y+)/['test'](_0xcef358)&&(_0xcef358=_0xcef358['replace'](RegExp['$1'],(_0x312e49['getFullYear']()+'')['substr'](0x4-RegExp['$1']['length'])));for(const _0x2aa6b0 in _0x13a4a0){new RegExp('('+_0x2aa6b0+')')['test'](_0xcef358)&&(_0xcef358=_0xcef358[_0x2469c4(0xc64,0x11ac)](RegExp['$1'],RegExp['$1'][_0x4594dd(0x1ab4,_0x28d4dc._0x2dc8fc)]===0x1?_0x13a4a0[_0x2aa6b0]:('00'+_0x13a4a0[_0x2aa6b0])[_0x2469c4(_0x28d4dc._0x2b6c81,0x786)]((''+_0x13a4a0[_0x2aa6b0])[_0x4594dd(0x1706,0x11a1)])));}return _0xcef358;}function formatTime(_0x5e762f,_0x10e29c){const _0x50fbbe={_0x3430d9:0xb0e,_0x304ece:0x4df,_0x4727a8:0x2e9};function _0x566c22(_0x450b8c,_0x107ad8){return _0x2b6441(_0x450b8c,_0x107ad8-0x85);}_0x5e762f=Number(_0x5e762f)||0x0;const _0x116b59=(_0x10e29c===null||_0x10e29c===void 0x0?void 0x0:_0x10e29c[_0x2cdcfd(0xfee,_0x50fbbe._0x3430d9)])||getLangText;function _0x2cdcfd(_0x22b374,_0x33e8c9){return _0x2b6441(_0x22b374,_0x33e8c9-0x342);}if(_0x5e762f<0x3c)return formatNum$1(_0x5e762f,_0x10e29c===null||_0x10e29c===void 0x0?void 0x0:_0x10e29c[_0x2cdcfd(_0x50fbbe._0x304ece,_0x50fbbe._0x4727a8)])+_0x116b59('_秒');else{if(_0x5e762f>=0x3c&&_0x5e762f<0xe10){const _0x16ca35=Math[_0x566c22(0x1b26,0x1336)](_0x5e762f%0x3c);return Math['floor'](_0x5e762f/0x3c)+_0x116b59(_0x2cdcfd(0x137b,0x1120))+(_0x16ca35!==0x0?_0x16ca35+_0x116b59('_秒'):'');}else return _0x5e762f=Math['floor'](_0x5e762f/0x3c),Math['floor'](_0x5e762f/0x3c)+_0x116b59('_小时')+Math['floor'](_0x5e762f%0x3c)+_0x116b59('_分钟');}}function fetchJson(_0x1ba45f){const _0x44a522={_0x270745:0x10f0,_0x4a3827:0xdf2,_0x1c0fa1:0x11ce};function _0x5403b2(_0x551013,_0x22ae70){return _0x2b6441(_0x551013,_0x22ae70-0x5d5);}function _0x2b2bd2(_0x14529a,_0x30e16e){return _0x2b6441(_0x14529a,_0x30e16e-0x294);}if(_0x1ba45f[_0x5403b2(0x10ee,_0x44a522._0x270745)]==='post'){const _0x491273=_0x1ba45f[_0x5403b2(0x17b0,_0x44a522._0x4a3827)];delete _0x1ba45f['queryParameters'];const _0x4976d4=new Cesium__namespace[(_0x2b2bd2(0x87e,0x1191))](_0x1ba45f),_0x5f1b8d={};return _0x5f1b8d['responseType']=_0x1ba45f['responseType'],_0x5f1b8d[_0x5403b2(0xe6d,_0x44a522._0x1c0fa1)]=_0x1ba45f['overrideMimeType'],_0x4976d4['post'](_0x491273,_0x5f1b8d);}else{const _0x139067=new Cesium__namespace['Resource'](_0x1ba45f);return _0x139067[_0x5403b2(0x1cad,0x159e)]();}}function sendAjax(_0x1c3e0e){const _0x476345={_0x59e462:0x9a3},_0x4706ae={_0x458e80:0x186};isMarsOnline&&(_0x1c3e0e={..._0x1c3e0e,'url':replaceOnlineUrlDomain(_0x1c3e0e['url'])});function _0x5b3ba2(_0x5278ec,_0x5b2406){return _0x306755(_0x5278ec,_0x5b2406-0x158);}_0x1c3e0e['method']==='post'&&(_0x1c3e0e['data']=_0x1c3e0e['queryParameters'],delete _0x1c3e0e[_0x5a30c2(0x13d,_0x476345._0x59e462)]);function _0x5a30c2(_0x8bcfd9,_0x4b62fe){return _0x2b6441(_0x8bcfd9,_0x4b62fe-_0x4706ae._0x458e80);}return xhrAdapter(_0x1c3e0e)[_0x5b3ba2(0x1718,0x145b)](_0x122280=>{const _0x38a02a=_0x122280===null||_0x122280===void 0x0?void 0x0:_0x122280['data'];return _0x38a02a;})['catch'](_0x437ab2=>{function _0x3ea080(_0x184584,_0x60ad1b){return _0x5a30c2(_0x60ad1b,_0x184584-0x16a);}console[_0x3ea080(0x1b3,-0x507)](_0x437ab2),logError('axios请求出错',_0x437ab2);});}function requestFullscreen(_0x5a375e){const _0x7bea61={_0x5bcc3e:0x4e0};function _0x12978b(_0x16878a,_0x50cee4){return _0x306755(_0x16878a,_0x50cee4- -_0x7bea61._0x5bcc3e);}return Cesium__namespace['Fullscreen'][_0x12978b(0x3eb,0x524)](_0x5a375e),Cesium__namespace['Fullscreen']['fullscreen'];}function exitFullscreen(){const _0x1b0682={_0x1a9b1a:0xa2b,_0x49e99c:0x2c8},_0x12e9f6={_0x42e82e:0x9c};Cesium__namespace[_0x276741(_0x1b0682._0x1a9b1a,_0x1b0682._0x49e99c)]['exitFullscreen']();function _0x276741(_0x147639,_0x4bf509){return _0x2b6441(_0x147639,_0x4bf509- -_0x12e9f6._0x42e82e);}return Cesium__namespace['Fullscreen']['fullscreen'];}function funThrottle(_0x14a832,_0x4bcc20){const _0x54c30b={_0x283713:0x1f2};let _0x1835ec,_0x33a44c=Date['now']();return function(..._0x20a04c){const _0x27042c={_0xe91842:0x491};function _0x31d7a5(_0xe087dc,_0x4575b1){return _0x5bbe(_0xe087dc- -0x1f5,_0x4575b1);}const _0x198e3b=this,_0x126988=Date['now'](),_0x1be629=_0x4bcc20-(_0x126988-_0x33a44c);clearTimeout(_0x1835ec),_0x1be629<=0x0?(_0x14a832[_0x31d7a5(0x6e,-_0x54c30b._0x283713)](_0x198e3b,_0x20a04c),_0x33a44c=Date['now']()):_0x1835ec=setTimeout(()=>{function _0xaa1168(_0x1b4dff,_0x12f519){return _0x31d7a5(_0x12f519-_0x27042c._0xe91842,_0x1b4dff);}_0x14a832[_0xaa1168(0x62f,0x4ff)](_0x198e3b,_0x20a04c);},_0x1be629);};}function funDebounce(_0x49aa0c,_0x30736a){const _0x2e1199={_0x120147:0x84b,_0x41ccc9:0x2ed};let _0x4495a1;return function(..._0x5020a9){const _0x39d57b=this;clearTimeout(_0x4495a1),_0x4495a1=setTimeout(()=>{const _0x217371={_0x5084f6:0x8a};function _0x1186d3(_0x4be469,_0x5b4819){return _0x5bbe(_0x5b4819-_0x217371._0x5084f6,_0x4be469);}_0x49aa0c[_0x1186d3(_0x2e1199._0x120147,_0x2e1199._0x41ccc9)](_0x39d57b,_0x5020a9);},_0x30736a);};}const isMarsOnline=window[_0x306755(0xb5f,0x15bc)][_0x2b6441(0x2f5,0x267)]['indexOf']('mars3d.cn')!==-0x1||window[_0x2b6441(0xc0e,0x101b)][_0x306755(0xf5,0x808)]['indexOf']('marsgis.cn')!==-0x1,isLocalhost=window[_0x2b6441(0x87d,0x101b)][_0x2b6441(0xb3e,0x267)]==='localhost'||window[_0x2b6441(0x1170,0x101b)]['hostname']===_0x306755(0xf41,0x1360);function replaceOnlineUrlDomain(_0x3fd95a){const _0x2b5b4c={_0x4431f2:0x326,_0x5e4921:0x68f};if(!_0x3fd95a||!isString(_0x3fd95a))return _0x3fd95a;function _0x13ac87(_0x435eb1,_0x393ffb){return _0x2b6441(_0x393ffb,_0x435eb1-0x6a9);}if(_0x3fd95a[_0x53e48e(0x286,_0x2b5b4c._0x4431f2)]('https://restapi.amap.com')||_0x3fd95a['startsWith']('https://api.map.baidu.com'))return _0x53e48e(0x118b,0x150d)+_0x3fd95a;function _0x53e48e(_0x5af3e1,_0x5eaf8){return _0x2b6441(_0x5eaf8,_0x5af3e1-0x326);}if(_0x3fd95a['indexOf'](_0x53e48e(0xc94,_0x2b5b4c._0x5e4921))===-0x1||_0x3fd95a['indexOf']('/tile/')!==-0x1)return _0x3fd95a;return _0x3fd95a['replace'](_0x53e48e(0xc94,0xb3b),'data1.mars3d.cn');}isMarsOnline&&(Cesium__namespace['Resource'][_0x2b6441(0x12e9,0xe28)]=replaceOnlineUrlDomain);const _0x2186fb={get 'lastId'(){return lastId;}};_0x2186fb['__proto__']=null,_0x2186fb['isNumber']=isNumber,_0x2186fb['isString']=isString,_0x2186fb['isBoolean']=isBoolean,_0x2186fb['isObject']=isObject,_0x2186fb['isPlainObject']=isPlainObject,_0x2186fb['isFunction']=isFunction,_0x2186fb['isSimpleType']=isSimpleType,_0x2186fb['isMars3DCesium']=isMars3DCesium,_0x2186fb['formatNum']=formatNum$1,_0x2186fb[_0x306755(0xfa7,0xd08)]=padLeft0,_0x2186fb['splitWords']=splitWords,_0x2186fb['trim']=trim,_0x2186fb['getStrLength']=getStrLength,_0x2186fb[_0x2b6441(0x800,0x9f6)]=template,_0x2186fb['getGlobalId']=getGlobalId,_0x2186fb[_0x306755(0xdc4,0x15d8)]=stampGlobalId,_0x2186fb[_0x306755(0xea4,0x92b)]=createGuid,_0x2186fb['getTemplateHtml']=getTemplateHtml,_0x2186fb['getCesiumValue']=getCesiumValue,_0x2186fb['getCesiumColor']=getCesiumColor,_0x2186fb['getColorByStyle']=getColorByStyle,_0x2186fb['getJulianDate']=getJulianDate$1,_0x2186fb['getAvailability']=getAvailability,_0x2186fb[_0x306755(0x12cf,0x1201)]=getAvailabilityJson,_0x2186fb['getAttrVal']=getAttrVal,_0x2186fb['get3DTileFeatureAttr']=get3DTileFeatureAttr,_0x2186fb[_0x2b6441(0x124b,0x986)]=merge,_0x2186fb[_0x306755(0x7b5,0x908)]=clone,_0x2186fb[_0x306755(0x1ba0,0x133f)]=getArrayRandomOne,_0x2186fb['removeArrayItem']=removeArrayItem,_0x2186fb['getSymbolStyle']=getSymbolStyle,_0x2186fb['geojsonToArcGIS']=geojsonToArcGIS,_0x2186fb['arcgisToGeoJSON']=arcgisToGeoJSON,_0x2186fb['getGeoJsonFeatures']=getGeoJsonFeatures,_0x2186fb[_0x2b6441(-0x3b,0xef)]=geoJsonToGraphics,_0x2186fb[_0x306755(0xb41,0x525)]=featureToGraphic,_0x2186fb['mergeSymbolToGraphic']=mergeSymbolToGraphic,_0x2186fb[_0x306755(0x7af,0x46b)]=heightToZoom,_0x2186fb['getUrlResource']=getUrlResource,_0x2186fb['getTextImage']=getTextImage,_0x2186fb['measureCanvasText']=measureCanvasText,_0x2186fb[_0x306755(0x154b,0xd8f)]=getCircleImage,_0x2186fb[_0x306755(0x1366,0x8e2)]=downloadBase64Image,_0x2186fb['downloadFile']=downloadFile,_0x2186fb['getExplorerInfo']=getExplorerInfo,_0x2186fb['webglreport']=webglreport,_0x2186fb[_0x306755(0x12de,0x9c1)]=webglerror,_0x2186fb[_0x306755(0x5f3,0x515)]=getRequest,_0x2186fb[_0x2b6441(0x14f9,0xb63)]=getRequestByName,_0x2186fb['isPCBroswer']=isPCBroswer,_0x2186fb[_0x2b6441(0xd5d,0x3c6)]=alert,_0x2186fb[_0x306755(0x11e9,0x1533)]=msg,_0x2186fb[_0x2b6441(-0x262,-0xef)]=formatDate,_0x2186fb['formatTime']=formatTime,_0x2186fb[_0x306755(0x15a0,0x156a)]=fetchJson,_0x2186fb[_0x2b6441(0x846,0x104c)]=sendAjax,_0x2186fb['requestFullscreen']=requestFullscreen,_0x2186fb[_0x2b6441(0xb27,0x13f4)]=exitFullscreen,_0x2186fb['funThrottle']=funThrottle,_0x2186fb[_0x2b6441(0x6dd,0x407)]=funDebounce,_0x2186fb[_0x306755(0x1154,0x19c3)]=isMarsOnline,_0x2186fb[_0x2b6441(0x914,0x459)]=isLocalhost,_0x2186fb[_0x306755(0xa50,0x78d)]=setImage;var Util=_0x2186fb;Object['defineProperties'](Cesium__namespace[_0x2b6441(0x539,0xf29)]['prototype'],{'globalAlpha':{'set':function(_0x1c063d){const _0x39c7d0={_0x561b7e:0x740,_0x3e89e3:0x223,_0xf067c:0x4ba,_0x561cb3:0x1411},_0x491e51={_0x20e874:0x7d};this['_globalAlpha']=_0x1c063d;const _0x22dd59=getCesiumColor(this[_0x2c9f46(0x98b,_0x39c7d0._0x561b7e)],Cesium__namespace['Color'][_0x2c9f46(0x539,-_0x39c7d0._0x3e89e3)]);!Cesium__namespace[_0x2c9f46(0x128e,0x145a)](this[_0x2c9f46(_0x39c7d0._0xf067c,0x802)])&&(this[_0x2c9f46(0x4ba,0x4a9)]=_0x22dd59['alpha']);function _0x2c9f46(_0x4c7f4d,_0x245832){return _0x2b6441(_0x245832,_0x4c7f4d-_0x491e51._0x20e874);}function _0x58fda8(_0x4d970b,_0x80276d){return _0x306755(_0x80276d,_0x4d970b- -0x313);}this['color']=_0x22dd59[_0x2c9f46(_0x39c7d0._0x561cb3,0x1b26)](this['_color_alpha']*_0x1c063d);},'get':function(){return this['_globalAlpha']??0x1;}}});const _0x281555={};_0x281555[_0x306755(0xdfa,0x832)]=function(_0x14c7d9){this['_globalAlpha']=_0x14c7d9;},_0x281555[_0x2b6441(-0x374,0x6ec)]=function(){return this['_globalAlpha']??0x1;};const _0x290e56={};_0x290e56['globalAlpha']=_0x281555,Object['defineProperties'](Cesium__namespace[_0x2b6441(0xd51,0x139d)]['prototype'],_0x290e56);const getValue_old$5=Cesium__namespace[_0x2b6441(0x15dc,0x139d)][_0x2b6441(0xb0c,0x752)][_0x2b6441(0x5bc,0x7da)];Cesium__namespace[_0x2b6441(0xdd1,0x139d)][_0x306755(0x14f5,0xcf3)]['getValue']=function(_0x4c58b3,_0x252249){const _0x3d4244={_0x2540cd:0xf48,_0x2c62b9:0x17a9,_0x490b07:0x1857,_0x44d9f9:0x118c},_0x121b68={_0x553f68:0x63a};_0x252249=getValue_old$5[_0x234894(0x109c,0x1665)](this)(_0x4c58b3,_0x252249);function _0xfe535d(_0x52e4a7,_0x4419f8){return _0x2b6441(_0x4419f8,_0x52e4a7-_0x121b68._0x553f68);}function _0x234894(_0x592a6b,_0x5a2f96){return _0x2b6441(_0x5a2f96,_0x592a6b-0x1ee);}return this['globalAlpha']!==0x1&&(_0x252249['color']&&(_0x252249[_0xfe535d(_0x3d4244._0x2540cd,0x53a)][_0xfe535d(0x1638,_0x3d4244._0x2c62b9)]*=this[_0xfe535d(_0x3d4244._0x490b07,_0x3d4244._0x44d9f9)]),_0x252249['cellAlpha']&&(_0x252249['cellAlpha']*=this['globalAlpha'])),_0x252249;},Object[_0x2b6441(0x159b,0xb26)](Cesium__namespace[_0x306755(-0x389,0x5a6)]['prototype'],{'globalAlpha':{'set':function(_0x31c8a9){const _0x1825ab={_0xe75005:0xb4a,_0x3e9144:0x1323,_0x4cf875:0x374,_0x46e827:0xc71},_0x11b44d={_0x1ab8e8:0x112},_0x4931c6={_0x50bff8:0x23e};function _0xab5efc(_0xd9f3a7,_0x2bc530){return _0x306755(_0x2bc530,_0xd9f3a7- -_0x4931c6._0x50bff8);}this[_0xab5efc(0xf8f,_0x1825ab._0xe75005)]=_0x31c8a9;function _0x481b90(_0x1a38e3,_0x295e56){return _0x2b6441(_0x295e56,_0x1a38e3-_0x11b44d._0x1ab8e8);}const _0x4da5f2=getCesiumColor(this['color'],Cesium__namespace['Color']['WHITE']);!Cesium__namespace[_0x481b90(_0x1825ab._0x3e9144,0x178c)](this[_0x481b90(0x54f,-_0x1825ab._0x4cf875)])&&(this['_color_alpha']=_0x4da5f2['alpha']),this[_0xab5efc(_0x1825ab._0x46e827,0x3ba)]=_0x4da5f2[_0x481b90(0x14a6,0xc88)](this['_color_alpha']*_0x31c8a9);},'get':function(){return this['_globalAlpha']??0x1;}}});const _0x3f9d7c={};_0x3f9d7c['set']=function(_0x9f24ee){const _0xe1b844={_0x3c6c38:0x10b7},_0x16ea38={_0x11f42f:0x48b};function _0x12c317(_0x275ac0,_0x1139bd){return _0x2b6441(_0x275ac0,_0x1139bd-_0x16ea38._0x11f42f);}this[_0x12c317(0x874,_0xe1b844._0x3c6c38)]=_0x9f24ee;},_0x3f9d7c[_0x306755(0x60c,0xc8d)]=function(){return this['_globalAlpha']??0x1;};const _0x2a12fd={};_0x2a12fd[_0x306755(0x1d3c,0x17be)]=_0x3f9d7c,Object['defineProperties'](Cesium__namespace[_0x306755(0x1988,0x19e4)]['prototype'],_0x2a12fd);const getValue_old$4=Cesium__namespace[_0x2b6441(0x1cdb,0x1443)][_0x2b6441(0x22,0x752)]['getValue'];Cesium__namespace['PolylineArrowMaterialProperty'][_0x2b6441(0xbf2,0x752)]['getValue']=function(_0x2cc61c,_0x500f9c){const _0x220de6={_0x1dc65e:0x102d,_0x33c89e:0xccf,_0x15508b:0x9f3,_0x139e5e:0x10e3,_0x48aab1:0x1302};_0x500f9c=getValue_old$4[_0xf4a502(0xc03,0x126f)](this)(_0x2cc61c,_0x500f9c);_0x500f9c[_0xf4a502(_0x220de6._0x1dc65e,_0x220de6._0x33c89e)]&&this['globalAlpha']!==0x1&&(_0x500f9c[_0xd55ce7(0x647,_0x220de6._0x15508b)][_0xd55ce7(0x7cb,_0x220de6._0x139e5e)]*=this[_0xd55ce7(0xfde,_0x220de6._0x48aab1)]);function _0xf4a502(_0xf86da1,_0x158717){return _0x306755(_0xf86da1,_0x158717- -0x1e0);}function _0xd55ce7(_0xc62160,_0xd711a9){return _0x306755(_0xc62160,_0xd711a9- -0x4bc);}return _0x500f9c;};const _0x595d99={};_0x595d99['set']=function(_0xa43ed8){this['_globalAlpha']=_0xa43ed8;},_0x595d99[_0x306755(0x1186,0xc8d)]=function(){const _0x50aabe={_0x47d93b:0xd3a};function _0x3a4f62(_0x5853f7,_0x6ba874){return _0x306755(_0x5853f7,_0x6ba874- -0x493);}return this[_0x3a4f62(0x105b,_0x50aabe._0x47d93b)]??0x1;};const _0x4aafaf={};_0x4aafaf[_0x306755(0x12ad,0x17be)]=_0x595d99,Object[_0x306755(0x742,0x10c7)](Cesium__namespace['PolylineDashMaterialProperty'][_0x306755(0x12e0,0xcf3)],_0x4aafaf);const getValue_old$3=Cesium__namespace[_0x2b6441(0xc3e,0x6d3)]['prototype'][_0x2b6441(0x10f0,0x7da)];Cesium__namespace['PolylineDashMaterialProperty']['prototype']['getValue']=function(_0x2f1537,_0x5dcdba){const _0x188405={_0x52dd8e:0x14bc,_0xbb9130:0x1913,_0x52eaf8:0x11e3,_0x2f85ef:0x11e3,_0x379134:0xb18};_0x5dcdba=getValue_old$3['bind'](this)(_0x2f1537,_0x5dcdba);this['globalAlpha']!==0x1&&(_0x5dcdba['color']&&(_0x5dcdba[_0x2cc598(_0x188405._0x52dd8e,0xaf3)][_0x2cc598(_0x188405._0xbb9130,_0x188405._0x52eaf8)]*=this['globalAlpha']),_0x5dcdba['gapColor']&&(_0x5dcdba['gapColor'][_0x2cc598(0x1166,_0x188405._0x2f85ef)]*=this[_0x4774fc(_0x188405._0x379134,0x13a3)]));function _0x4774fc(_0x279083,_0x4f008c){return _0x306755(_0x279083,_0x4f008c- -0x41b);}function _0x2cc598(_0x25cac1,_0x51c417){return _0x2b6441(_0x25cac1,_0x51c417-0x1e5);}return _0x5dcdba;};const _0x4409c8={};_0x4409c8[_0x2b6441(-0xca,0x291)]=function(_0x1d364d){const _0x3c9678={_0x41c30f:0x1846};function _0x507557(_0x69571f,_0x7eef70){return _0x2b6441(_0x7eef70,_0x69571f-0x164);}this[_0x507557(0xd90,_0x3c9678._0x41c30f)]=_0x1d364d;},_0x4409c8['get']=function(){return this['_globalAlpha']??0x1;};const _0x29e1fb={};_0x29e1fb['globalAlpha']=_0x4409c8,Object['defineProperties'](Cesium__namespace[_0x306755(0xb35,0x7b6)][_0x306755(0x141a,0xcf3)],_0x29e1fb);const getValue_old$2=Cesium__namespace[_0x2b6441(0x6b8,0x215)]['prototype']['getValue'];Cesium__namespace[_0x306755(0x1284,0x7b6)]['prototype'][_0x2b6441(0xc8e,0x7da)]=function(_0x371364,_0x2424aa){const _0x3f15d1={_0x2c8e83:0x15ae,_0x9a62b5:0x17cd},_0x3dc697={_0x389e2b:0xf};_0x2424aa=getValue_old$2['bind'](this)(_0x371364,_0x2424aa);function _0xe91bb1(_0x10d73d,_0x13a1eb){return _0x306755(_0x10d73d,_0x13a1eb-_0x3dc697._0x389e2b);}_0x2424aa['color']&&this['globalAlpha']!==0x1&&(_0x2424aa['color'][_0xe91bb1(0xf04,_0x3f15d1._0x2c8e83)]*=this[_0xe91bb1(0x1585,_0x3f15d1._0x9a62b5)]);function _0x19fe12(_0x4ff223,_0x2aa665){return _0x2b6441(_0x2aa665,_0x4ff223-0x569);}return _0x2424aa;};const _0x12ce99={};_0x12ce99[_0x2b6441(0x7d5,0x291)]=function(_0x50b4a9){this['_globalAlpha']=_0x50b4a9;},_0x12ce99[_0x2b6441(0x8e4,0x6ec)]=function(){return this['_globalAlpha']??0x1;};const _0xf56895={};_0xf56895['globalAlpha']=_0x12ce99,Object['defineProperties'](Cesium__namespace[_0x306755(0xaf7,0x10e2)]['prototype'],_0xf56895);const getValue_old$1=Cesium__namespace['PolylineOutlineMaterialProperty']['prototype']['getValue'];Cesium__namespace[_0x306755(0xbcc,0x10e2)][_0x306755(0xd0b,0xcf3)]['getValue']=function(_0x3bedd0,_0x158470){const _0x4778d2={_0x34fa24:0xcf8,_0x278023:0xc48,_0x5b5cb6:0x1607,_0x46adf5:0x144e},_0x95a6ff={_0x372fdc:0x1b7};function _0xda33b4(_0x34d7d8,_0x4facf0){return _0x306755(_0x4facf0,_0x34d7d8- -0x153);}_0x158470=getValue_old$1['bind'](this)(_0x3bedd0,_0x158470);function _0x19eeab(_0x223699,_0x17c754){return _0x306755(_0x17c754,_0x223699- -_0x95a6ff._0x372fdc);}return this['globalAlpha']!==0x1&&(_0x158470[_0x19eeab(_0x4778d2._0x34fa24,0x159f)]&&(_0x158470[_0xda33b4(0xd5c,0x1194)]['alpha']*=this['globalAlpha']),_0x158470[_0xda33b4(_0x4778d2._0x278023,0xef6)]&&(_0x158470[_0xda33b4(0xc48,0x12b1)]['alpha']*=this[_0x19eeab(_0x4778d2._0x5b5cb6,_0x4778d2._0x46adf5)])),_0x158470;};const _0x4b22a9={};_0x4b22a9['set']=function(_0x4f7eb9){this['_globalAlpha']=_0x4f7eb9;},_0x4b22a9[_0x2b6441(0xc61,0x6ec)]=function(){function _0x35c752(_0x1c4539,_0x8f6a4f){return _0x306755(_0x1c4539,_0x8f6a4f- -0x457);}return this[_0x35c752(0xd57,0xd76)]??0x1;};const _0x26f9f9={};_0x26f9f9['globalAlpha']=_0x4b22a9,Object['defineProperties'](Cesium__namespace['StripeMaterialProperty'][_0x306755(0xf72,0xcf3)],_0x26f9f9);const getValue_old=Cesium__namespace[_0x306755(0x10f,0xb9e)]['prototype']['getValue'];Cesium__namespace[_0x2b6441(0xf87,0x5fd)]['prototype']['getValue']=function(_0x5af3f2,_0xa43154){const _0x3eb8bb={_0x299d46:0x10c2,_0x134663:0x628};function _0x552abc(_0x1e9e29,_0x24608c){return _0x306755(_0x1e9e29,_0x24608c- -0x38d);}_0xa43154=getValue_old[_0x552abc(0xb8f,_0x3eb8bb._0x299d46)](this)(_0x5af3f2,_0xa43154);function _0x22bfd7(_0x187634,_0x7bceb4){return _0x2b6441(_0x187634,_0x7bceb4-0x5a6);}return this['globalAlpha']!==0x1&&(_0xa43154['evenColor']&&(_0xa43154['evenColor']['alpha']*=this['globalAlpha']),_0xa43154[_0x22bfd7(-0x1d6,_0x3eb8bb._0x134663)]&&(_0xa43154['oddColor']['alpha']*=this['globalAlpha'])),_0xa43154;},CanvasRenderingContext2D[_0x306755(0x716,0xcf3)]['strokeTextBySpacing']=function(_0x1a6f75,_0x3b8319,_0x5ddd8c,_0x15fe21,_0x24813e){const _0x29888c={_0x578f95:0x15d,_0x312cbe:0x211,_0x529e34:0x3e9,_0x24211c:0x278,_0x471e7f:0x871,_0x471cc7:0x3e9,_0x3730f9:0xcfd},_0x435bdd={_0x4a9a14:0x2131,_0x845c5d:0x1771},_0x14ab0e={_0x11e76c:0x121};if(!_0x15fe21)return this[_0x6b2a1f(0x106e,0xdcd)](_0x1a6f75,_0x3b8319,_0x5ddd8c);const _0x1924e0=this,_0x54db4b=_0x1924e0[_0x6b2a1f(_0x29888c._0x578f95,_0x29888c._0x312cbe)];function _0x6b2a1f(_0xe07c36,_0x354254){return _0x2b6441(_0x354254,_0xe07c36- -0x52);}!_0x15fe21&&_0x54db4b&&(_0x15fe21=parseFloat(window['getComputedStyle'](_0x54db4b)['spacing']));function _0x4cb2fe(_0x580bf7,_0x59beda){return _0x2b6441(_0x59beda,_0x580bf7-0x590);}if(!_0x15fe21)return this['strokeText'](_0x1a6f75,_0x3b8319,_0x5ddd8c);const _0x147056=_0x1a6f75[_0x4cb2fe(0x17b6,0x189d)](''),_0x4c6bd6=_0x1924e0[_0x6b2a1f(_0x29888c._0x529e34,0x4aa)]||_0x4cb2fe(0xf93,0x187d);if(!_0x24813e){const _0x5dfed4=_0x1924e0[_0x4cb2fe(0x63f,-0x88)](_0x1a6f75)[_0x4cb2fe(0xbda,_0x29888c._0x24211c)];_0x24813e=_0x5dfed4+_0x15fe21*(_0x147056['length']-0x1);}if(_0x4c6bd6==='center')_0x3b8319=_0x3b8319-_0x24813e/0x2;else _0x4c6bd6===_0x6b2a1f(0xf3c,0x17e0)&&(_0x3b8319=_0x3b8319-_0x24813e);_0x1924e0['textAlign']='left',_0x147056[_0x6b2a1f(0x64d,_0x29888c._0x471e7f)](function(_0x1862f0){function _0x112e8d(_0xf03a2c,_0x4cc675){return _0x4cb2fe(_0x4cc675-_0x14ab0e._0x11e76c,_0xf03a2c);}const _0x4e190e=_0x1924e0['measureText'](_0x1862f0)['width'];_0x1924e0[_0x112e8d(_0x435bdd._0x4a9a14,_0x435bdd._0x845c5d)](_0x1862f0,_0x3b8319,_0x5ddd8c),_0x3b8319=_0x3b8319+_0x4e190e+_0x15fe21;}),_0x1924e0[_0x6b2a1f(_0x29888c._0x471cc7,_0x29888c._0x3730f9)]=_0x4c6bd6;},CanvasRenderingContext2D[_0x306755(0xcde,0xcf3)]['fillTextBySpacing']=function(_0x1d3a9b,_0x2b1bd9,_0x505c1c,_0x13a9fd,_0x54c46d){const _0x4b80a0={_0x5c9415:0x2d8,_0x525445:0x1569,_0x5b8026:0xcf0,_0x344b3b:0x13ed,_0x58f468:0x1ad3,_0x19d22a:0x284,_0x450e6:0x89,_0x352c8f:0x2b0},_0x4847fd={_0xa77386:0x20e},_0x2ffb5e={_0x1894c8:0x478};if(!_0x13a9fd)return this['fillText'](_0x1d3a9b,_0x2b1bd9,_0x505c1c);const _0x30483f=this,_0x5c9a68=_0x30483f[_0x396689(_0x4b80a0._0x5c9415,-0x152)];!_0x13a9fd&&_0x5c9a68&&(_0x13a9fd=parseFloat(window[_0x396689(_0x4b80a0._0x525445,0x1c84)](_0x5c9a68)['spacing']));if(!_0x13a9fd)return this['fillText'](_0x1d3a9b,_0x2b1bd9,_0x505c1c);const _0x396381=_0x1d3a9b['split'](''),_0x7110f5=_0x30483f['textAlign']||'left';if(!_0x54c46d){const _0x22e908=_0x30483f[_0x250d95(0x442,_0x4b80a0._0x5b8026)](_0x1d3a9b)['width'];_0x54c46d=_0x22e908+_0x13a9fd*(_0x396381[_0x250d95(_0x4b80a0._0x344b3b,_0x4b80a0._0x58f468)]-0x1);}if(_0x7110f5===_0x396689(_0x4b80a0._0x19d22a,-0x295))_0x2b1bd9=_0x2b1bd9-_0x54c46d/0x2;else _0x7110f5==='right'&&(_0x2b1bd9=_0x2b1bd9-_0x54c46d);_0x30483f['textAlign']=_0x250d95(0xd96,0x1197);function _0x396689(_0x4ee1a0,_0x41c5cc){return _0x306755(_0x41c5cc,_0x4ee1a0- -_0x2ffb5e._0x1894c8);}_0x396381[_0x250d95(0xa32,-_0x4b80a0._0x450e6)](function(_0x18a074){const _0x2df75c={_0x3f65a2:0x14b},_0x18ae57=_0x30483f['measureText'](_0x18a074)['width'];_0x30483f[_0x580f11(0x9fd,0x1041)](_0x18a074,_0x2b1bd9,_0x505c1c);function _0x580f11(_0x5a5c06,_0x13825b){return _0x250d95(_0x5a5c06-_0x2df75c._0x3f65a2,_0x13825b);}_0x2b1bd9=_0x2b1bd9+_0x18ae57+_0x13a9fd;});function _0x250d95(_0x374ffb,_0x293ead){return _0x306755(_0x293ead,_0x374ffb- -_0x4847fd._0xa77386);}_0x30483f[_0x250d95(0x7ce,_0x4b80a0._0x352c8f)]=_0x7110f5;},proj4[_0x306755(-0x18a,0x8a5)](_0x306755(0x1940,0x1730),_0x2b6441(-0x44c,-0x12f)),proj4[_0x306755(0x122,0x8a5)](_0x306755(0xf8,0x9e0),_0x306755(0x42,0x596)),proj4[_0x306755(0x6a9,0x8a5)](_0x2b6441(0xd13,0xec4),_0x2b6441(0x103e,0xa56)),proj4['defs'](_0x2b6441(0xc27,0x1457),'+proj=tmerc\x20+lat_0=0\x20+lon_0=87\x20+k=1\x20+x_0=15500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x306755(0x62e,0x8a5)](_0x306755(0xbc6,0x162f),_0x306755(0x11e9,0xe3a)),proj4['defs']('EPSG:4495',_0x2b6441(0xc96,0x314)),proj4['defs']('EPSG:4496',_0x306755(0x155,0xbc6)),proj4[_0x306755(0x74e,0x8a5)]('EPSG:4497',_0x2b6441(0x40f,-0x2f)),proj4['defs'](_0x2b6441(0x180,0x8b6),_0x306755(0x1bac,0x1950)),proj4['defs']('EPSG:4499','+proj=tmerc\x20+lat_0=0\x20+lon_0=123\x20+k=1\x20+x_0=21500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x306755(-0x115,0x8a5)]('EPSG:4500','+proj=tmerc\x20+lat_0=0\x20+lon_0=129\x20+k=1\x20+x_0=22500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4501','+proj=tmerc\x20+lat_0=0\x20+lon_0=135\x20+k=1\x20+x_0=23500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4513','+proj=tmerc\x20+lat_0=0\x20+lon_0=75\x20+k=1\x20+x_0=25500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x2b6441(0x984,0x304)]('EPSG:4514','+proj=tmerc\x20+lat_0=0\x20+lon_0=78\x20+k=1\x20+x_0=26500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4515',_0x2b6441(0xe86,0x7b2)),proj4['defs']('EPSG:4516','+proj=tmerc\x20+lat_0=0\x20+lon_0=84\x20+k=1\x20+x_0=28500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4517',_0x2b6441(0x9d0,0x1346)),proj4['defs'](_0x306755(0x1380,0x1807),'+proj=tmerc\x20+lat_0=0\x20+lon_0=90\x20+k=1\x20+x_0=30500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x306755(0xd40,0x8a5)](_0x306755(0x11a8,0xde7),_0x306755(0x2f2,0xa41)),proj4[_0x306755(0x6cc,0x8a5)](_0x2b6441(0x47f,0x8af),_0x306755(0x15e4,0x184f)),proj4['defs']('EPSG:4521','+proj=tmerc\x20+lat_0=0\x20+lon_0=99\x20+k=1\x20+x_0=33500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x306755(0x738,0x8a5)](_0x2b6441(0xa6a,0x657),'+proj=tmerc\x20+lat_0=0\x20+lon_0=102\x20+k=1\x20+x_0=34500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x306755(0x4fe,0x8ea),'+proj=tmerc\x20+lat_0=0\x20+lon_0=105\x20+k=1\x20+x_0=35500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x2b6441(0x7d3,-0x71),_0x2b6441(0x6fc,0xf67)),proj4['defs'](_0x2b6441(0x1599,0xe89),'+proj=tmerc\x20+lat_0=0\x20+lon_0=111\x20+k=1\x20+x_0=37500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4526',_0x2b6441(0x1835,0x10f8)),proj4[_0x306755(0x354,0x8a5)]('EPSG:4527',_0x306755(0x1afa,0x1738)),proj4[_0x306755(0x7fa,0x8a5)]('EPSG:4528',_0x306755(0x7b0,0x1064)),proj4['defs'](_0x2b6441(0x1d87,0x1312),_0x306755(0x22d0,0x1907)),proj4['defs']('EPSG:4530','+proj=tmerc\x20+lat_0=0\x20+lon_0=126\x20+k=1\x20+x_0=42500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x2b6441(-0x42a,0x304)]('EPSG:4531','+proj=tmerc\x20+lat_0=0\x20+lon_0=129\x20+k=1\x20+x_0=43500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4532',_0x2b6441(0xa49,0x1a0)),proj4[_0x2b6441(-0x340,0x304)](_0x2b6441(0x3b7,0xba1),'+proj=tmerc\x20+lat_0=0\x20+lon_0=135\x20+k=1\x20+x_0=45500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4502',_0x306755(0xf30,0x1773)),proj4['defs'](_0x2b6441(0x10ec,0x1116),_0x306755(0xbdf,0xe4b)),proj4[_0x306755(0x37,0x8a5)](_0x306755(0xf2e,0x1249),_0x2b6441(0x75a,0x1219)),proj4['defs']('EPSG:4505','+proj=tmerc\x20+lat_0=0\x20+lon_0=93\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x306755(-0x1de,0x8a5)](_0x2b6441(0x159b,0x1011),_0x306755(0x188b,0x153d)),proj4['defs'](_0x2b6441(0xeee,0xcdd),'+proj=tmerc\x20+lat_0=0\x20+lon_0=105\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4508',_0x306755(0x333,0x4ac)),proj4[_0x2b6441(-0x760,0x304)]('EPSG:4509',_0x306755(0xf83,0xb71)),proj4['defs'](_0x306755(0x1441,0xca7),_0x306755(0xd0a,0x563)),proj4['defs']('EPSG:4511',_0x306755(0x1475,0xe3f)),proj4['defs']('EPSG:4512',_0x306755(0x1105,0x1167)),proj4[_0x2b6441(0xbea,0x304)]('EPSG:4534',_0x2b6441(0x704,0x11d2)),proj4['defs'](_0x306755(0x2098,0x15f1),'+proj=tmerc\x20+lat_0=0\x20+lon_0=78\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x2b6441(0x3fc,0x304)](_0x306755(0xa3e,0xce8),_0x2b6441(0x765,0x8aa)),proj4['defs']('EPSG:4537','+proj=tmerc\x20+lat_0=0\x20+lon_0=84\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x306755(0xe44,0x8a5)](_0x2b6441(-0x99d,-0x9e),'+proj=tmerc\x20+lat_0=0\x20+lon_0=87\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4539','+proj=tmerc\x20+lat_0=0\x20+lon_0=90\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x306755(0x78e,0xde1),'+proj=tmerc\x20+lat_0=0\x20+lon_0=93\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x306755(0xfac,0x8a5)]('EPSG:4541',_0x306755(0xcc8,0xdcc)),proj4['defs'](_0x2b6441(-0x731,-0x137),'+proj=tmerc\x20+lat_0=0\x20+lon_0=99\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4543',_0x2b6441(-0x2bc,0x5b5)),proj4['defs'](_0x306755(0x3de,0x4f2),'+proj=tmerc\x20+lat_0=0\x20+lon_0=105\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x2b6441(0x1478,0xcf6),'+proj=tmerc\x20+lat_0=0\x20+lon_0=108\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4546','+proj=tmerc\x20+lat_0=0\x20+lon_0=111\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4547',_0x2b6441(0x81d,0xe93)),proj4[_0x306755(0x1c5,0x8a5)](_0x306755(0xe52,0x69a),'+proj=tmerc\x20+lat_0=0\x20+lon_0=117\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x2b6441(-0x37f,0x304)]('EPSG:4549','+proj=tmerc\x20+lat_0=0\x20+lon_0=120\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs']('EPSG:4550','+proj=tmerc\x20+lat_0=0\x20+lon_0=123\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4[_0x2b6441(0xcd1,0x304)](_0x2b6441(0x1518,0x12d0),_0x306755(0x7e9,0x651)),proj4[_0x306755(0xf74,0x8a5)]('EPSG:4552','+proj=tmerc\x20+lat_0=0\x20+lon_0=129\x20+k=1\x20+x_0=500000\x20+y_0=0\x20+ellps=GRS80\x20+units=m\x20+no_defs'),proj4['defs'](_0x306755(0x9a2,0xf55),_0x306755(0x1021,0x11d2)),proj4['defs']('EPSG:4554',_0x306755(0x16ac,0x1167)),proj4['getCrsList']=()=>{const _0x58ac29={_0x53306d:0xe5c},_0x4f2ad1=[];for(const _0xc3db7b in proj4['defs']){if(_0xc3db7b['startsWith'](_0x1b3063(0x1417,_0x58ac29._0x53306d))){const _0x12c893={'crs':_0xc3db7b,...proj4['defs'][_0xc3db7b]};_0x4f2ad1['push'](_0x12c893);}}function _0x1b3063(_0x323264,_0x1eec87){return _0x306755(_0x323264,_0x1eec87- -0x5d1);}return _0x4f2ad1;};class BaseClass{constructor(_0x477859){this['options']=_0x477859,this['_enabledEvent']=(_0x477859===null||_0x477859===void 0x0?void 0x0:_0x477859['enabledEvent'])??!![];}get[_0x2b6441(-0x92d,-0x4b)](){return this['_enabledEvent'];}set['enabledEvent'](_0x496d3a){const _0x2389c6={_0x3f9a33:0xffd},_0x154630={_0x4bcab2:0x63a};function _0x34ed0d(_0x468e69,_0x2dbea6){return _0x2b6441(_0x2dbea6,_0x468e69-_0x154630._0x4bcab2);}this[_0x34ed0d(0x11c6,_0x2389c6._0x3f9a33)]=_0x496d3a;}[_0x2b6441(0xc92,0x9ee)](_0x1b53cc){if(!_0x1b53cc)for(const _0x472b19 in this){delete this[_0x472b19];}}['on'](_0x235ba2,_0x456253,_0x5cd53e){const _0x19bcd0={_0x700dc0:0x15c1,_0x19866:0x13a7,_0x495156:0xdaa,_0x4b0d45:0x106d,_0x3f129e:0xf49,_0x2f348e:0xaef,_0x5b77d5:0xf49},_0xf444c0={_0x20c92e:0x24a},_0x3b839d={_0x595102:0x4c2};if(!_0x235ba2)return logError(_0x3e79f7(0xfbb,_0x19bcd0._0x700dc0),_0x456253),this;if(Array['isArray'](_0x235ba2))for(let _0x49fbdc=0x0,_0x45718b=_0x235ba2['length'];_0x49fbdc<_0x45718b;_0x49fbdc++){this['_on'](_0x235ba2[_0x49fbdc],_0x456253,_0x5cd53e);}else{if(isObject(_0x235ba2))for(const _0x386919 in _0x235ba2){this[_0x3e79f7(_0x19bcd0._0x19866,_0x19bcd0._0x495156)](_0x386919,_0x235ba2[_0x386919],_0x456253);}else{_0x235ba2=splitWords(_0x235ba2);for(let _0x5c1087=0x0,_0x1815c7=_0x235ba2[_0x3e79f7(0x1c1d,0x151c)];_0x5c1087<_0x1815c7;_0x5c1087++){this[_0x3d4036(0x26d,0xc3f)](_0x235ba2[_0x5c1087],_0x456253,_0x5cd53e);}}}this[_0x3d4036(_0x19bcd0._0x4b0d45,_0x19bcd0._0x3f129e)]&&this[_0x3d4036(_0x19bcd0._0x2f348e,_0x19bcd0._0x5b77d5)](_0x235ba2);function _0x3e79f7(_0x3ebf93,_0x3aaab1){return _0x2b6441(_0x3ebf93,_0x3aaab1-_0x3b839d._0x595102);}function _0x3d4036(_0x4c3314,_0x16711e){return _0x306755(_0x4c3314,_0x16711e- -_0xf444c0._0x20c92e);}return this;}['off'](_0x34f9be,_0x45347f,_0x465a6e){const _0x2a02e5={_0x28dde9:0x21e,_0x2d7457:0x481,_0x48773f:0xac0,_0x29806e:0x97c},_0x30a3fb={_0x23f986:0x379},_0x3e042a={_0x178b75:0x16b};if(!_0x34f9be)delete this[_0x3a7f47(_0x2a02e5._0x28dde9,0xbb9)];else{if(Array[_0x53ef8b(0x140,0x60c)](_0x34f9be))for(let _0x38d958=0x0,_0x4de4d2=_0x34f9be['length'];_0x38d958<_0x4de4d2;_0x38d958++){this['_off'](_0x34f9be[_0x38d958],_0x45347f,_0x465a6e);}else{if(isObject(_0x34f9be))for(const _0x215509 in _0x34f9be){this[_0x3a7f47(_0x2a02e5._0x2d7457,0x97c)](_0x215509,_0x34f9be[_0x215509],_0x45347f);}else{_0x34f9be=splitWords(_0x34f9be);for(let _0x404e88=0x0,_0x55c9ec=_0x34f9be['length'];_0x404e88<_0x55c9ec;_0x404e88++){this[_0x3a7f47(_0x2a02e5._0x48773f,_0x2a02e5._0x29806e)](_0x34f9be[_0x404e88],_0x45347f,_0x465a6e);}}}}function _0x3a7f47(_0x3034a5,_0x30acd5){return _0x306755(_0x3034a5,_0x30acd5- -_0x3e042a._0x178b75);}function _0x53ef8b(_0x1e6094,_0xda2003){return _0x2b6441(_0x1e6094,_0xda2003-_0x30a3fb._0x23f986);}return this;}[_0x306755(0x5a3,0xe89)](_0x332b95,_0x557aef,_0x5bd42e){const _0x5394f1={_0xcf0e5c:0x1080};function _0x4d83a5(_0x2d8ce7,_0x380c12){return _0x306755(_0x380c12,_0x2d8ce7- -0x57b);}this['_events']=this[_0x4d83a5(0x7a9,-0x222)]||{};let _0x4b7862=this[_0x4d83a5(0x7a9,0x87e)][_0x332b95];function _0x3f4006(_0xe34989,_0x29a91b){return _0x2b6441(_0x29a91b,_0xe34989-0x4d4);}!_0x4b7862&&(_0x4b7862=[],this['_events'][_0x332b95]=_0x4b7862);_0x5bd42e===this&&(_0x5bd42e=undefined);const _0x3b8b98={};_0x3b8b98['fn']=_0x557aef,_0x3b8b98['ctx']=_0x5bd42e;const _0x218422=_0x3b8b98,_0x45d72c=_0x4b7862;for(let _0x8c10e7=0x0,_0x3f2c94=_0x45d72c[_0x4d83a5(_0x5394f1._0xcf0e5c,0xacc)];_0x8c10e7<_0x3f2c94;_0x8c10e7++){if(_0x45d72c[_0x8c10e7]['fn']===_0x557aef&&_0x45d72c[_0x8c10e7][_0x4d83a5(0x225,0x6ac)]===_0x5bd42e)return;}_0x45d72c['push'](_0x218422);}['_off'](_0x30e11a,_0x1a2de7,_0x206584){const _0x3d3664={_0x44e835:0xaf8,_0x48a5ad:0x526,_0x1971ba:0xaaa,_0x4f6cc6:0xd96,_0x40e5ef:0x3c4};let _0x364ff8,_0x22d05a,_0x478d53;if(!this[_0x3f64fb(0x318,_0x3d3664._0x44e835)])return;function _0x3a0e9a(_0x266807,_0x53f862){return _0x2b6441(_0x53f862,_0x266807-0x327);}_0x364ff8=this['_events'][_0x30e11a];if(!_0x364ff8)return;if(!_0x1a2de7){for(_0x22d05a=0x0,_0x478d53=_0x364ff8['length'];_0x22d05a<_0x478d53;_0x22d05a++){_0x364ff8[_0x22d05a]['fn']=falseFn;}delete this['_events'][_0x30e11a];return;}function _0x3f64fb(_0x4ff4f7,_0x2beb13){return _0x306755(_0x4ff4f7,_0x2beb13- -0x22c);}_0x206584===this&&(_0x206584=undefined);if(_0x364ff8)for(_0x22d05a=0x0,_0x478d53=_0x364ff8['length'];_0x22d05a<_0x478d53;_0x22d05a++){const _0x4d8990=_0x364ff8[_0x22d05a];if(_0x4d8990[_0x3a0e9a(_0x3d3664._0x48a5ad,-0x22f)]!==_0x206584)continue;if(_0x4d8990['fn']===_0x1a2de7){_0x4d8990['fn']=falseFn;this['_firingCount']&&(this[_0x3a0e9a(_0x3d3664._0x1971ba,_0x3d3664._0x4f6cc6)][_0x30e11a]=_0x364ff8=_0x364ff8[_0x3a0e9a(0x581,_0x3d3664._0x40e5ef)]());_0x364ff8['splice'](_0x22d05a,0x1);return;}}}['fire'](_0x5a8b16,_0x18da77,_0x4de1ad){const _0x417bad={_0x6ce838:0x1728,_0x5b9468:0xeeb,_0x59f90c:0x9bd,_0x1358b0:0xb7b,_0x76adee:0xdae,_0x262f16:0xe80};function _0xd564b2(_0x4f15ad,_0x2d082c){return _0x2b6441(_0x4f15ad,_0x2d082c-0x62b);}if(!this['listens'](_0x5a8b16,_0x4de1ad)||!this['enabledEvent'])return this;const _0x25dd27={'sourceTarget':this,..._0x18da77};_0x25dd27[_0xddce6e(0x13e0,0x1492)]=_0x5a8b16;function _0xddce6e(_0x260478,_0x40ed89){return _0x2b6441(_0x40ed89,_0x260478-0x31e);}_0x25dd27[_0xddce6e(0xd51,_0x417bad._0x6ce838)]=this,_0x25dd27['stopPropagation']=function(){function _0x266a5a(_0x12c753,_0x516342){return _0xd564b2(_0x516342,_0x12c753- -0x73);}this[_0x266a5a(0x996,0x6a7)]=!![];};const _0x5893e9=_0x25dd27;if(_0x18da77!==null&&_0x18da77!==void 0x0&&_0x18da77['cloneProperty']){const _0x529ce3=[_0xddce6e(_0x417bad._0x5b9468,0x11c1)];_0x529ce3[_0xddce6e(_0x417bad._0x59f90c,_0x417bad._0x1358b0)](function(_0x1aa4ca){const _0x1d64f0=Object['getOwnPropertyDescriptor'](_0x18da77,_0x1aa4ca);function _0x4c13cd(_0x17a343,_0xababad){return _0xddce6e(_0x17a343-0xb6,_0xababad);}_0x1d64f0&&Object[_0x4c13cd(0x844,0xfb5)](_0x5893e9,_0x1aa4ca,_0x1d64f0);});}if(this['_events']){const _0x139105=this[_0xd564b2(0x3c2,_0x417bad._0x76adee)][_0x5a8b16];if(_0x139105){this[_0xd564b2(0x463,_0x417bad._0x262f16)]=this['_firingCount']+0x1||0x1;for(let _0x2dd291=0x0,_0x29c33e=_0x139105['length'];_0x2dd291<_0x29c33e;_0x2dd291++){const _0x580339=_0x139105[_0x2dd291];_0x580339['fn']['call'](_0x580339['ctx']||this,_0x5893e9);}this['_firingCount']--;}}return _0x4de1ad&&!_0x5893e9[_0xddce6e(0x6fc,0x96c)]&&this['_propagateEvent'](_0x5893e9),this;}[_0x306755(0x130f,0xb13)](_0x3d2b0d,_0x3ad544){const _0x2f1d49={_0x142cc5:0x1273,_0x2267b0:0x1064},_0x336ce3=this['_events']&&this['_events'][_0x3d2b0d];function _0x37d210(_0x29c6a8,_0x347b61){return _0x306755(_0x29c6a8,_0x347b61- -0x5ac);}if(_0x336ce3&&_0x336ce3['length'])return!![];function _0x1fd9f5(_0x12e8a7,_0x1d86c4){return _0x306755(_0x12e8a7,_0x1d86c4- -0x52a);}if(_0x3ad544)for(const _0x2af491 in this[_0x1fd9f5(_0x2f1d49._0x142cc5,_0x2f1d49._0x2267b0)]){if(this['_eventParents'][_0x2af491][_0x37d210(-0x2a3,0x567)](_0x3d2b0d,_0x3ad544))return!![];}return![];}['once'](_0x32d656,_0x2f0d9c,_0x2a4814){const _0x496b86={_0x2d1a66:0x6ed,_0x4534c9:0x2fb},_0x5edec6={_0x7d14bf:0x9cb};function _0x24492d(_0x2f05ca,_0x2dd8fa){return _0x306755(_0x2f05ca,_0x2dd8fa- -0x2fd);}if(isObject(_0x32d656)){for(const _0x16a506 in _0x32d656){this[_0x24492d(-_0x496b86._0x2d1a66,_0x496b86._0x4534c9)](_0x16a506,_0x32d656[_0x16a506],_0x2f0d9c);}return this;}const _0x18cf7b=bind(()=>{function _0x34bfab(_0x29a4f9,_0x52372d){return _0x24492d(_0x29a4f9,_0x52372d- -0x1e7);}this['off'](_0x32d656,_0x2f0d9c,_0x2a4814)[_0x34bfab(_0x5edec6._0x7d14bf,0x488)](_0x32d656,_0x18cf7b,_0x2a4814);},this);return this['on'](_0x32d656,_0x2f0d9c,_0x2a4814)['on'](_0x32d656,_0x18cf7b,_0x2a4814);}['addEventParent'](_0x14f31f){const _0x31d7be={_0x45fae6:0x144e,_0x1ff828:0xf65};function _0x36763d(_0x4de711,_0x2009a5){return _0x306755(_0x4de711,_0x2009a5- -0x629);}return this['_eventParents']=this['_eventParents']||{},this[_0x36763d(_0x31d7be._0x45fae6,_0x31d7be._0x1ff828)][stampGlobalId(_0x14f31f)]=_0x14f31f,this;}['removeEventParent'](_0xd8190c){const _0xd7554a={_0x2353b0:0x167d};this['_eventParents']&&delete this[_0x2d5059(_0xd7554a._0x2353b0,0x17a5)][stampGlobalId(_0xd8190c)];function _0x2d5059(_0x1e4cc7,_0x829f6f){return _0x306755(_0x829f6f,_0x1e4cc7-0xef);}return this;}['hasEventParent'](_0x4b9a8f){const _0x5caedc={_0x197f21:0xe65};function _0x530fad(_0x56a8a4,_0x1f3d82){return _0x306755(_0x56a8a4,_0x1f3d82- -0x351);}function _0x4a1ff8(_0x58b247,_0x8b9217){return _0x306755(_0x58b247,_0x8b9217- -0x1b8);}return this[_0x4a1ff8(0x1258,0x13d6)]&&this[_0x4a1ff8(_0x5caedc._0x197f21,0x13d6)][stampGlobalId(_0x4b9a8f)]?!![]:![];}['_propagateEvent'](_0x1fecfd){const _0x4e7337={_0x59148c:0x1561,_0x12e7d3:0x193d,_0x356707:0x17ca},_0x18f912={_0x1bd72f:0x574},_0x35fe16={_0x6a4929:0x167};function _0x5c65a5(_0x4f1c17,_0x417a7c){return _0x306755(_0x417a7c,_0x4f1c17- -_0x35fe16._0x6a4929);}function _0x3b3001(_0xfbe3e2,_0x6ad8ce){return _0x2b6441(_0x6ad8ce,_0xfbe3e2-_0x18f912._0x1bd72f);}for(const _0x5f3f45 in this['_eventParents']){const _0x1cec2e=this[_0x3b3001(_0x4e7337._0x59148c,_0x4e7337._0x12e7d3)][_0x5f3f45];if(this[_0x5c65a5(0xfe1,_0x4e7337._0x356707)](_0x1cec2e,_0x1fecfd)){const _0x2865ae={'layer':_0x1fecfd['target'],'propagatedFrom':_0x1fecfd['target'],..._0x1fecfd},_0x58e6ae=_0x2865ae;_0x1cec2e[_0x5c65a5(0x722,0x5cc)](_0x1fecfd[_0x3b3001(0x1636,0x1103)],_0x58e6ae,!![]);}}}[_0x306755(0x11e9,0x1148)](_0x479e90,_0x2dd4d5){return!![];}}function falseFn(){return![];}function bind(_0x2ff6c5,_0x185ec9){const _0x5d8c4e={_0x44644f:0x407,_0x27924f:0x25},_0x2760ed={_0x4b829a:0xdd},_0x5d8d14={_0x411a03:0x4dc},_0x1eb0d4={_0x12da5e:0x1ad},_0x39337a=Array['prototype'][_0x587e6c(0x681,_0x5d8c4e._0x44644f)];if(_0x2ff6c5['bind'])return _0x2ff6c5['bind'][_0x3bc28a(_0x5d8c4e._0x27924f,-0x6)](_0x2ff6c5,_0x39337a['call'](arguments,0x1));function _0x587e6c(_0x2dcfa2,_0x34c313){return _0x2b6441(_0x2dcfa2,_0x34c313-_0x1eb0d4._0x12da5e);}function _0x3bc28a(_0x302784,_0x411ed9){return _0x306755(_0x302784,_0x411ed9- -_0x5d8d14._0x411a03);}const _0x5b1a3e=_0x39337a['call'](arguments,0x2);return function(){const _0x33d75a={_0x44f8bd:0x44b};function _0x3187a2(_0x34cb3d,_0x5e0d5e){return _0x587e6c(_0x34cb3d,_0x5e0d5e-_0x33d75a._0x44f8bd);}return _0x2ff6c5[_0x3187a2(-_0x2760ed._0x4b829a,0x52d)](_0x185ec9,_0x5b1a3e['length']?_0x5b1a3e['concat'](_0x39337a['call'](arguments)):arguments);};}const _0x14bcc1={};_0x14bcc1[_0x306755(0xfe0,0xe40)]=_0x306755(0x9e2,0x11aa),_0x14bcc1[_0x2b6441(0x393,0x764)]='add',_0x14bcc1['ADDED']='added',_0x14bcc1['REMOVED']=_0x2b6441(0xf23,0x12ad),_0x14bcc1['DESTROY']='destroy';const State=_0x14bcc1,_0x1152b6={};_0x1152b6[_0x2b6441(0x7fa,0x78d)]=_0x2b6441(0x5a3,0x78d),_0x1152b6[_0x2b6441(0xea8,0x41b)]=_0x2b6441(-0x8c,0x41b),_0x1152b6[_0x306755(0x1114,0xe0c)]='addItem',_0x1152b6['removeItem']=_0x306755(0x766,0xbd1),_0x1152b6['addGraphic']='addGraphic',_0x1152b6['removeGraphic']='removeGraphic',_0x1152b6[_0x2b6441(0x548,0xbf4)]=_0x2b6441(0x15ec,0xbf4),_0x1152b6['removeLayer']='removeLayer',_0x1152b6['changeBasemap']='changeBasemap',_0x1152b6[_0x306755(0x1a4c,0x19c8)]=_0x306755(0x1387,0x19c8),_0x1152b6[_0x306755(0xd6b,0xe62)]=_0x2b6441(0x6ea,0x8c1),_0x1152b6[_0x306755(0xea8,0xdd0)]='updateControl',_0x1152b6[_0x2b6441(0x16d7,0x115a)]=_0x306755(0x1489,0x16fb),_0x1152b6['removeEffect']=_0x306755(0x11ad,0x876),_0x1152b6[_0x306755(0xcc7,0x9ff)]='update',_0x1152b6['updatePosition']=_0x2b6441(0x366,-0x45),_0x1152b6['updateStyle']=_0x2b6441(0x420,0x7b6),_0x1152b6[_0x2b6441(0xa23,0x5b9)]='updateAttr',_0x1152b6['show']=_0x2b6441(0x1692,0xff2),_0x1152b6['hide']=_0x2b6441(0x1c6,0x28e),_0x1152b6['start']='start',_0x1152b6[_0x306755(0x11e7,0xdee)]=_0x306755(0x112b,0xdee),_0x1152b6[_0x306755(0x1baf,0x1425)]='startItem',_0x1152b6[_0x2b6441(0xcab,0xdb9)]='endItem',_0x1152b6['end']='end',_0x1152b6[_0x2b6441(0x7b5,0x123a)]='stop',_0x1152b6['clusterStop']='clusterStop',_0x1152b6[_0x2b6441(-0xd4,0x9bb)]=_0x2b6441(0x66f,0x9bb),_0x1152b6[_0x306755(0xdcc,0x11bf)]=_0x2b6441(0x539,0xc1e),_0x1152b6[_0x2b6441(0x85b,0x8a6)]='loadBefore',_0x1152b6[_0x306755(0x109f,0x188a)]=_0x306755(0x19a4,0x188a),_0x1152b6[_0x2b6441(0x15e8,0xe1f)]=_0x306755(0xd39,0x13c0),_0x1152b6['loadConfig']=_0x2b6441(-0x4c8,0x191),_0x1152b6['popupOpen']=_0x2b6441(-0xb14,-0xe8),_0x1152b6[_0x2b6441(0x1668,0xe04)]='popupClose',_0x1152b6[_0x306755(0x2d8,0x7f3)]='popupRender',_0x1152b6['tooltipOpen']='tooltipOpen',_0x1152b6['tooltipClose']=_0x306755(0x100e,0xc47),_0x1152b6['tooltipRender']='tooltipRender',_0x1152b6[_0x2b6441(0x250,-0xd6)]='contextMenuOpen',_0x1152b6['contextMenuClose']='contextMenuClose',_0x1152b6['contextMenuClick']='contextMenuClick',_0x1152b6[_0x2b6441(0x3ba,0x36e)]='highlightOpen',_0x1152b6['highlightClose']='highlightClose',_0x1152b6[_0x306755(0x112c,0x1068)]='click',_0x1152b6['clickGraphic']='clickGraphic',_0x1152b6['clickTileGraphic']='clickTileGraphic',_0x1152b6['clickMap']='clickMap',_0x1152b6['dblClick']=_0x2b6441(0xbe0,0x9c6),_0x1152b6['leftDown']='leftDown',_0x1152b6[_0x306755(0xd88,0x4bf)]=_0x2b6441(-0x5fa,-0xe2),_0x1152b6[_0x306755(0xf59,0xa68)]=_0x306755(0x147e,0xa68),_0x1152b6['mouseMoveTarget']='mouseMoveTarget',_0x1152b6['wheel']=_0x306755(0x215,0x989),_0x1152b6['rightClick']='rightClick',_0x1152b6['rightDown']='rightDown',_0x1152b6[_0x306755(0x1add,0x1506)]='rightUp',_0x1152b6['middleClick']=_0x306755(0x1843,0x192f),_0x1152b6['middleDown']=_0x306755(0x186a,0xe9a),_0x1152b6[_0x2b6441(-0x557,0x2d8)]=_0x2b6441(0xb4d,0x2d8),_0x1152b6[_0x2b6441(0xa9e,0xa49)]='pinchStart',_0x1152b6['pinchEnd']='pinchEnd',_0x1152b6['pinchMove']=_0x306755(0x177d,0xcd0),_0x1152b6['mouseDown']=_0x306755(0x112f,0xb88),_0x1152b6[_0x306755(0xca2,0xaa7)]=_0x306755(0xf85,0xaa7),_0x1152b6[_0x2b6441(-0x864,0x234)]=_0x306755(0xe3b,0x7d5),_0x1152b6['mouseOut']='mouseOut',_0x1152b6[_0x2b6441(0x177b,0xee3)]='keydown',_0x1152b6['keyup']=_0x306755(0x1768,0xedc),_0x1152b6['drawStart']='drawStart',_0x1152b6[_0x2b6441(0xf7,0x753)]=_0x2b6441(0xa58,0x753),_0x1152b6['drawAddPoint']='drawAddPoint',_0x1152b6['drawRemovePoint']='drawRemovePoint',_0x1152b6[_0x306755(0xafc,0x1583)]=_0x2b6441(0xc5c,0xfe2),_0x1152b6[_0x2b6441(0x1c55,0x128a)]='editStart',_0x1152b6['editMouseDown']='editMouseDown',_0x1152b6['editMouseMove']=_0x306755(0xc5f,0xd2f),_0x1152b6['editMovePoint']=_0x2b6441(0x5d0,0xc3b),_0x1152b6['editAddPoint']='editAddPoint',_0x1152b6[_0x306755(0xf17,0x805)]=_0x306755(-0x2bf,0x805),_0x1152b6[_0x2b6441(0x913,-0x8)]=_0x2b6441(-0x9f6,-0x8),_0x1152b6[_0x2b6441(0x132b,0x12c5)]=_0x306755(0xdd8,0x1866),_0x1152b6['move']='move',_0x1152b6['initialTilesLoaded']=_0x306755(0x1550,0x1921),_0x1152b6[_0x2b6441(0x115a,0xfdb)]=_0x2b6441(0x1aa8,0xfdb),_0x1152b6['addTile']=_0x2b6441(0x2af,0x254),_0x1152b6[_0x306755(0xc6e,0x6aa)]='addTileSuccess',_0x1152b6[_0x2b6441(0xc45,0x46a)]=_0x306755(0x520,0xa0b),_0x1152b6[_0x306755(0xa17,0x1342)]=_0x306755(0xb57,0x1342),_0x1152b6[_0x306755(0x1203,0x1936)]='cameraMoveStart',_0x1152b6['cameraMoveEnd']=_0x306755(0x1406,0xf8a),_0x1152b6[_0x2b6441(0x42d,0xd30)]=_0x2b6441(0x69f,0xd30),_0x1152b6['preUpdate']=_0x2b6441(0x1669,0xe9e),_0x1152b6[_0x2b6441(0xd36,0x101c)]='postUpdate',_0x1152b6['preRender']='preRender',_0x1152b6[_0x2b6441(0x11d6,0x11f2)]=_0x2b6441(0x1075,0x11f2),_0x1152b6['renderError']='renderError',_0x1152b6[_0x2b6441(0xb79,0x79a)]=_0x306755(0x736,0xd3b),_0x1152b6[_0x306755(0xe78,0x15a9)]=_0x2b6441(0x1760,0x1008),_0x1152b6[_0x2b6441(0xb6f,0xcff)]='clockTick',_0x1152b6['clockStop']=_0x306755(0xaae,0x67b),_0x1152b6['terrainChange']=_0x2b6441(0x1611,0x12f4),_0x1152b6['terrainLoadError']='terrainLoadError',_0x1152b6['terrainLoadSuccess']=_0x306755(0x431,0xc1d),_0x1152b6['tileLoadProgress']='tileLoadProgress';const EventType=_0x1152b6;class BaseThing extends BaseClass{constructor(_0x14c5fa={}){isBoolean(_0x14c5fa)&&(_0x14c5fa={'enabled':_0x14c5fa}),super(_0x14c5fa),this['_id']=_0x14c5fa['id']??createGuid(),this['_enabled']=_0x14c5fa['enabled']??!![],this['_state']=State['INITIALIZED'],this['options']=_0x14c5fa;}get['type'](){return this['_type'];}set[_0x2b6441(0xb0d,0x10c2)](_0x2d1ca9){const _0x3be66f={_0x5f3e41:0xbac};function _0x56a089(_0x4aa8d9,_0x1ce0e2){return _0x2b6441(_0x1ce0e2,_0x4aa8d9- -0x9f);}this[_0x56a089(_0x3be66f._0x5f3e41,0x150d)]=_0x2d1ca9;}get[_0x306755(-0x93,0x98b)](){return this['_state'];}get['isAdded'](){return this['_state']===State['ADDED'];}get['isDestroy'](){const _0x3ee2a0={_0x3720c0:0x1755,_0xa6ea84:0xf26};function _0x22a112(_0x4877f2,_0x3223f1){return _0x2b6441(_0x4877f2,_0x3223f1-0x106);}return this[_0x22a112(_0x3ee2a0._0x3720c0,_0x3ee2a0._0xa6ea84)]===State['DESTROY']||!this['options'];}get['id'](){return this['_id'];}set['id'](_0x75097f){this['options']['id']=_0x75097f;}get['enabled'](){return this['_enabled'];}set['enabled'](_0x15753c){const _0xf2dfbb={_0x512fed:0x9d8,_0xd52704:0xe32},_0xfa33b7={_0x12a6c6:0x375};if(this[_0x14239b(_0xf2dfbb._0x512fed,-0x60)]===_0x15753c)return;function _0x5c29b2(_0x48407f,_0x29a579){return _0x306755(_0x29a579,_0x48407f-0xe5);}function _0x14239b(_0x3ce134,_0x47e7c2){return _0x306755(_0x47e7c2,_0x3ce134- -_0xfa33b7._0x12a6c6);}this[_0x5c29b2(_0xf2dfbb._0xd52704,0x15c3)]=_0x15753c,this['_enabledHook']&&this['_enabledHook'](_0x15753c);}['addTo'](_0x183df0){const _0x550e66={_0x11786e:0x1316};_0x183df0&&_0x183df0['addThing']&&_0x183df0[_0x221140(0x93b,_0x550e66._0x11786e)](this);function _0x221140(_0x8282ad,_0x30a80e){return _0x306755(_0x8282ad,_0x30a80e- -0x391);}return this;}['remove'](_0xfc35b3){const _0x3c1633={_0x25221c:0x17ff};function _0x6f4a7a(_0x4f583f,_0x4c1c45){return _0x306755(_0x4f583f,_0x4c1c45-0x36);}this['_map']&&this[_0x6f4a7a(0x1737,_0x3c1633._0x25221c)]['removeThing'](this,_0xfc35b3);}['_onAdd'](_0xe5b9d2){const _0x5ef8c4={_0x85f608:0xb00,_0x4b1bc7:0x15c4,_0x2b9622:0x13b3,_0x4bad60:0x799,_0x30fd81:0x80a},_0x311d6f={_0x3b4875:0x39c};var _0xd556f2;if(this['isAdded']||this[_0xc31818(0x613,0xed8)]===State[_0x579881(0xf6e,_0x5ef8c4._0x85f608)])return;this['_state']=State[_0xc31818(-0x22,0x81c)],this[_0x579881(0x1e35,_0x5ef8c4._0x4b1bc7)]=_0xe5b9d2;if(this['options']['eventParent'])this[_0x579881(0x180e,0xda4)](this[_0xc31818(0xc48,0x774)][_0x579881(0xdd0,0xf84)]);else{if(((_0xd556f2=this[_0x579881(0xe41,0xa58)])===null||_0xd556f2===void 0x0?void 0x0:_0xd556f2['eventParent'])===![]);else this['addEventParent'](_0xe5b9d2);}function _0xc31818(_0x2c74c7,_0x52ddeb){return _0x306755(_0x2c74c7,_0x52ddeb- -0x4e9);}this['_mountedHook']&&!this['_createOK']&&(this[_0xc31818(_0x5ef8c4._0x2b9622,0xe23)](),this['_createOK']=!![]);this['_addedBaseHook']&&this['_addedBaseHook']();function _0x579881(_0x5630ad,_0x1b9ba4){return _0x2b6441(_0x5630ad,_0x1b9ba4-_0x311d6f._0x3b4875);}this[_0x579881(0xd39,_0x5ef8c4._0x4bad60)]&&this['_addedHook'](),this[_0x579881(_0x5ef8c4._0x30fd81,0x11bc)]=State[_0xc31818(0x1457,0x11fb)],this['fire'](EventType['add']);}[_0x2b6441(0x483,0x387)](){const _0x2f721d={_0x22d504:0xe5b,_0x4839c1:0x10da,_0x57b016:0x1332,_0x53af0c:0x533,_0x288f00:0x9a9,_0x3a9468:0xcba,_0x25a158:0xd64,_0xedb658:0x11e6,_0x460a76:0x842,_0x415a12:0xbc1,_0x42c03f:0x218,_0x331bff:0x17b5,_0xa4c176:0x1826},_0xd63829={_0x321096:0x631};function _0x363784(_0x872039,_0x57cef6){return _0x306755(_0x57cef6,_0x872039-0x5d);}var _0x52dfe9,_0x11265f;if(this[_0x2eb9cc(0xd90,_0x2f721d._0x22d504)]!==State['ADDED'])return;if(!this['_map'])return;this[_0x363784(0x1717,0xf21)]&&this['_removedBaseHook'](),this['_removedHook']&&this['_removedHook'](),this['_state']=State[_0x363784(0x11da,0x1360)],this['fire'](EventType[_0x363784(0xa19,_0x2f721d._0x4839c1)]);function _0x2eb9cc(_0x3e2da7,_0x2ba12b){return _0x306755(_0x2ba12b,_0x3e2da7- -_0xd63829._0x321096);}if((_0x52dfe9=this[_0x363784(0xcba,0xa85)])!==null&&_0x52dfe9!==void 0x0&&_0x52dfe9[_0x363784(0x11e6,_0x2f721d._0x57b016)])this[_0x2eb9cc(_0x2f721d._0x53af0c,_0x2f721d._0x288f00)](this[_0x363784(_0x2f721d._0x3a9468,_0x2f721d._0x25a158)]['eventParent']);else{if(((_0x11265f=this['options'])===null||_0x11265f===void 0x0?void 0x0:_0x11265f[_0x363784(_0x2f721d._0xedb658,_0x2f721d._0x460a76)])===![]);else this[_0x363784(_0x2f721d._0x415a12,_0x2f721d._0x42c03f)](this[_0x2eb9cc(0x1198,_0x2f721d._0x331bff)]);}this[_0x363784(_0x2f721d._0xa4c176,0x1fc4)]=null;}['_mountedHook'](){}['_addedHook'](){}[_0x306755(0x11d0,0xe2b)](){}['setOptions'](_0x5a7690){const _0x4a474e={_0x273e85:0xd01,_0x3cd5ac:0xc59,_0x363b33:0x1856,_0x1ec21a:0x1374,_0x28e2f7:0x1321,_0x24bfe4:0x19b0,_0x4eb441:0x1241},_0x21e198={_0x396a9a:0xdf},_0x56258c={_0x559087:0x645};if(!_0x5a7690||Object['keys'](_0x5a7690)['length']===0x0)return this;this[_0x3f652a(_0x4a474e._0x273e85,0xd90)]=merge(this[_0x5c4800(0xd3c,_0x4a474e._0x3cd5ac)],_0x5a7690);Cesium__namespace[_0x3f652a(_0x4a474e._0x363b33,0x191c)](_0x5a7690['enabled'])&&(this['enabled']=_0x5a7690[_0x3f652a(_0x4a474e._0x1ec21a,_0x4a474e._0x28e2f7)]);function _0x3f652a(_0x3223e9,_0x50eb4a){return _0x2b6441(_0x50eb4a,_0x3223e9-_0x56258c._0x559087);}function _0x5c4800(_0x34efe1,_0x2b0b32){return _0x306755(_0x2b0b32,_0x34efe1-_0x21e198._0x396a9a);}return this[_0x5c4800(0x19b0,0x11b7)]&&this[_0x5c4800(_0x4a474e._0x24bfe4,_0x4a474e._0x4eb441)](this[_0x3f652a(_0x4a474e._0x273e85,0x276)],_0x5a7690),this;}[_0x306755(0x9f9,0xb0a)](){const _0x1c0935={_0x4a0187:0x175f,_0x49ecf4:0x1089,_0x42961d:0x11d0,_0x3b8a8d:0x5c4,_0x5e1681:0x69f,_0x48d1ca:0x57c,_0x4a9eb8:0x853},_0x1b8043={_0x81d207:0x100};function _0x55865d(_0x16f9d1,_0x59525e){return _0x306755(_0x16f9d1,_0x59525e- -_0x1b8043._0x81d207);}const _0x307759=clone(this['options'],[_0x55865d(0xa80,0x98b),_0x55865d(_0x1c0935._0x4a0187,_0x1c0935._0x49ecf4)]);_0x307759[_0x528413(0x1466,0x1306)]=this['type'];this['enabled']===![]&&(_0x307759[_0x55865d(0x1574,_0x1c0935._0x42961d)]=this['enabled']);this['_availability']&&(_0x307759[_0x528413(_0x1c0935._0x3b8a8d,_0x1c0935._0x5e1681)]=this['availability']);function _0x528413(_0x45979d,_0x99aea){return _0x306755(_0x45979d,_0x99aea- -0x35d);}this[_0x55865d(_0x1c0935._0x48d1ca,_0x1c0935._0x4a9eb8)]&&this['_toJsonEx'](_0x307759);for(const _0x1fa61d in _0x307759){const _0x57cdf=_0x307759[_0x1fa61d];(!Cesium__namespace['defined'](_0x57cdf)||isObject(_0x57cdf)&&Object['keys'](_0x57cdf)['length']===0x0)&&delete _0x307759[_0x1fa61d];}return _0x307759;}['destroy'](_0x282750){const _0x4a992c={_0x438fe8:0x4dc,_0x1fc521:0x59c,_0x2ea648:0x1121};this['_state']!==State[_0x70c270(0x1132,0xedd)]&&(this[_0x11017e(0xa2b,_0x4a992c._0x438fe8)]&&this[_0x70c270(0x1d,_0x4a992c._0x1fc521)](),this['remove']());function _0x70c270(_0x4ac396,_0x50e066){return _0x306755(_0x4ac396,_0x50e066- -0x2a0);}function _0x11017e(_0x26b235,_0x2ed502){return _0x306755(_0x26b235,_0x2ed502- -0x360);}super[_0x70c270(0xefd,0xcef)](_0x282750),this[_0x70c270(0x17d9,_0x4a992c._0x2ea648)]=State['DESTROY'];}}class GroupThing extends BaseThing{constructor(_0x169698={}){super(_0x169698),this['_arrThing']=[];}get['arrThing'](){return this['_arrThing'];}get['hasEmptyGroup'](){const _0x50895e={_0x56f0bf:0x1519};function _0x242c49(_0x28fdd8,_0x211fa1){return _0x306755(_0x28fdd8,_0x211fa1- -0xe2);}return this[_0x242c49(0x1fcb,_0x50895e._0x56f0bf)]===0x0;}get[_0x306755(0x1331,0xc08)](){const _0x4eb198={_0x206e46:0x16f1},_0x319db9={_0x46a3df:0x697};function _0x47af7a(_0x3ec573,_0x1f05c7){return _0x2b6441(_0x3ec573,_0x1f05c7-_0x319db9._0x46a3df);}return this[_0x47af7a(0xe7e,_0x4eb198._0x206e46)]>0x0;}get[_0x306755(0xe61,0x15fb)](){const _0x755859={_0x3f3f65:0x1ef,_0x4b77eb:0x370,_0x4a7204:0x65,_0x20495c:0x1be,_0x379432:0xb49},_0xad9d9f={_0x43f140:0x23f};function _0x196618(_0x12cdf0,_0x40878f){return _0x306755(_0x12cdf0,_0x40878f- -_0xad9d9f._0x43f140);}var _0x1ad73b;function _0x5bdc78(_0x2823e6,_0x9f70ee){return _0x306755(_0x9f70ee,_0x2823e6- -0x32e);}return((_0x1ad73b=this['options'][_0x196618(-_0x755859._0x3f3f65,_0x755859._0x4b77eb)])===null||_0x1ad73b===void 0x0?void 0x0:_0x1ad73b['length'])>0x0?this[_0x5bdc78(0x92f,-_0x755859._0x4a7204)][_0x196618(_0x755859._0x20495c,_0x755859._0x4b77eb)]['length']:this[_0x196618(0x1464,_0x755859._0x379432)]['length'];}['_enabledHook'](_0x14c726){const _0x3987d5={_0x49953f:0x3a5},_0x5822cd={_0x555654:0x1269};function _0x290e54(_0x3445b0,_0x4e4bf2){return _0x306755(_0x3445b0,_0x4e4bf2- -0xd1);}this[_0x290e54(-0x139,_0x3987d5._0x49953f)](_0x13cb7c=>{function _0x260348(_0x1c9e15,_0xabfac5){return _0x290e54(_0x1c9e15,_0xabfac5-0x6a);}_0x13cb7c[_0x260348(0xf7e,_0x5822cd._0x555654)]=_0x14c726;},this);}[_0x2b6441(0x233,0x3fd)](){this['addChildsToMap']();}[_0x2b6441(0x6e1,0x88a)](){const _0x11bd91={_0x2272f7:0xe};function _0x34112c(_0x23160e,_0xc91c9a){return _0x2b6441(_0x23160e,_0xc91c9a-_0x11bd91._0x2272f7);}this[_0x34112c(0x75,0x642)]();}[_0x2b6441(-0x1c4,0x60c)](){const _0xffea7={_0x438647:0x1836};this['eachThing'](_0x5223f7=>{function _0x36e167(_0x13960a,_0x34d459){return _0x5bbe(_0x34d459-0x2e0,_0x13960a);}function _0x45c8dc(_0xcc6550,_0x32c9c1){return _0x5bbe(_0x32c9c1- -0xbe,_0xcc6550);}this[_0x36e167(0x2171,_0xffea7._0x438647)][_0x45c8dc(0xa02,0x1376)](_0x5223f7);},this);}['removeMapChilds'](){this['eachThing'](_0x1d2f2a=>{this['_map']['removeThing'](_0x1d2f2a);},this);}['addThing'](_0x416a98){const _0x5cbfdc={_0x5b3ab7:0xbd8,_0x10da16:0x4c4,_0x3f652d:0x1227},_0x200c1a={_0x5f5a9f:0x1};_0x416a98['parent']&&(_0x416a98['removeEventParent'](_0x416a98[_0x3f0878(-0x28e,0x4e9)]),_0x416a98['parent']=null);_0x416a98['parent']=this,_0x416a98['options']['eventParent']=this,this['_arrThing']['push'](_0x416a98);function _0x3f0878(_0x291168,_0x5c5342){return _0x2b6441(_0x291168,_0x5c5342- -_0x200c1a._0x5f5a9f);}function _0x46a0a7(_0x29b6a2,_0x283998){return _0x2b6441(_0x29b6a2,_0x283998-0x681);}return this[_0x3f0878(_0x5cbfdc._0x5b3ab7,0x5bf)]&&!_0x416a98[_0x3f0878(_0x5cbfdc._0x10da16,0x5bf)]?this[_0x3f0878(0xbbe,0x1227)]['addThing'](_0x416a98):(_0x416a98['removeEventParent'](this[_0x3f0878(0xf80,_0x5cbfdc._0x3f652d)]),_0x416a98['addEventParent'](this)),this;}[_0x306755(0x1227,0x971)](_0x5e3363){const _0xaa241c={_0x2c15ea:0x6ce},_0x5c8fcc={_0x1c1d63:0x4d7};_0x5e3363['parent']=null,_0x5e3363['removeEventParent'](this),removeArrayItem(this['_arrThing'],_0x5e3363);function _0x4d94c7(_0x51e8de,_0xbdb482){return _0x306755(_0x51e8de,_0xbdb482- -_0x5c8fcc._0x1c1d63);}this['_map']&&_0x5e3363[_0x46ecc5(0x1534,0xc8e)]&&this['_map'][_0x4d94c7(0x453,0x49a)](_0x5e3363);function _0x46ecc5(_0x105cc0,_0x433c03){return _0x2b6441(_0x105cc0,_0x433c03-_0xaa241c._0x2c15ea);}return this;}[_0x306755(0x9f9,0x476)](_0x4921b9,_0xb67847){const _0x3a3780={_0x2e824c:0xe97,_0x2f63e4:0xcc5},_0x100111={_0xef6c91:0x10f};if(!this['_arrThing'])return;this[_0x334106(_0x3a3780._0x2e824c,0x1275)][_0xb63782(_0x3a3780._0x2f63e4,0x67e)](_0x7f6ad2=>{_0x4921b9['call'](_0xb67847,_0x7f6ad2);});function _0xb63782(_0xa1ce83,_0x90c75a){return _0x306755(_0xa1ce83,_0x90c75a- -0x5c2);}function _0x334106(_0x2fbbf8,_0x17777){return _0x306755(_0x17777,_0x2fbbf8-_0x100111._0xef6c91);}return this;}['getThings'](){return this['_arrThing'];}['getInMapChilds'](){const _0x4c7207={_0x406ed4:0xe6c,_0x5250b8:0x330},_0xe3e4ab={_0x58a863:0x47,_0x2209f1:0xb0b},_0x2193ac={_0x361ba6:0x600},_0x27ac85=this[_0x43c8ff(0xde7,_0x4c7207._0x406ed4)]||[];function _0x2bedba(_0xe00a51,_0xc0d556){return _0x306755(_0xe00a51,_0xc0d556- -0x146);}function _0x43c8ff(_0x509bf6,_0x9762a6){return _0x2b6441(_0x9762a6,_0x509bf6-_0x2193ac._0x361ba6);}return this['_map'][_0x2bedba(0x617,_0x4c7207._0x5250b8)](_0x28563f=>{function _0x864fdf(_0x3ffd1f,_0x58f3a7){return _0x2bedba(_0x3ffd1f,_0x58f3a7- -0x137);}if(_0x28563f['pid']!==this['id'])return;if(this[_0x864fdf(_0xe3e4ab._0x58a863,_0xe3e4ab._0x2209f1)]['indexOf'](_0x28563f)!==-0x1)return;_0x27ac85['push'](_0x28563f);},this),_0x27ac85;}[_0x2b6441(-0x199,0x621)](_0x34339c){const _0x57ab9a={_0x38a454:0x80b,_0x4e2af0:0x15d7},_0x28ccda={_0x563a48:0x57d},_0x27c723=this['_arrThing'];if(!this[_0x1481d1(_0x57ab9a._0x38a454,0x63f)]||this['_arrThing']['length']===0x0)return;function _0x1481d1(_0x112b2a,_0x26115c){return _0x306755(_0x26115c,_0x112b2a- -_0x28ccda._0x563a48);}for(let _0x35a5b5=0x0,_0x27255a=_0x27c723[_0x30c75e(_0x57ab9a._0x4e2af0,0x1a5f)];_0x35a5b5<_0x27255a;_0x35a5b5++){const _0x253594=_0x27c723[_0x35a5b5];if(_0x253594['id']===_0x34339c)return _0x253594;}function _0x30c75e(_0x46fc5c,_0x1b5c16){return _0x306755(_0x1b5c16,_0x46fc5c- -0x24);}return undefined;}[_0x2b6441(0x93,0x9ee)](_0x4b77ba){const _0x23069f={_0xcb1c0c:0x8c,_0x7ca950:0xa8d},_0x340184={_0x306113:0x502};this[_0x31f7b0(-_0x23069f._0xcb1c0c,-0xcf)](_0x1a03fd=>{_0x1a03fd!==null&&_0x1a03fd!==void 0x0&&_0x1a03fd['destroy']&&_0x1a03fd['destroy'](_0x4b77ba);},this);function _0x31f7b0(_0x256e60,_0x5c3765){return _0x306755(_0x5c3765,_0x256e60- -_0x340184._0x306113);}function _0x1658d2(_0xf8831d,_0x586118){return _0x2b6441(_0xf8831d,_0x586118-0x373);}super[_0x31f7b0(_0x23069f._0x7ca950,0x28)](_0x4b77ba);}}var GroundSkyBoxFS='uniform\x20samplerCube\x20u_cubeMap;\x0ain\x20vec3\x20v_texCoord;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20color\x20=\x20czm_textureCube(u_cubeMap,\x20normalize(v_texCoord));\x0a\x20\x20out_FragColor\x20=\x20vec4(czm_gammaCorrect(color).rgb,\x20czm_morphTime);\x0a}\x0a',GroundSkyBoxVS='in\x20vec3\x20position;\x0auniform\x20mat3\x20u_rotateMatrix;\x0aout\x20vec3\x20v_texCoord;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20p\x20=\x20czm_viewRotation\x20*\x20u_rotateMatrix\x20*\x20(czm_temeToPseudoFixed\x20*\x20(czm_entireFrustum.y\x20*\x20position));\x0a\x20\x20gl_Position\x20=\x20czm_projection\x20*\x20vec4(p,\x201.0);\x0a\x20\x20v_texCoord\x20=\x20position.xyz;\x0a}\x0a';class GroundSkyBox extends Cesium__namespace['SkyBox']{constructor(_0x34ad7e){const _0x54a234={_0x8c62e6:0x9f4,_0xbaa875:0x67,_0x3c8fa5:0x1108};function _0x35f62a(_0x5a53a2,_0x4210ab){return _0x306755(_0x4210ab,_0x5a53a2- -0x516);}function _0x1c5c83(_0x1b317e,_0xa8bc36){return _0x2b6441(_0x1b317e,_0xa8bc36-0x3ea);}super(_0x34ad7e),this[_0x35f62a(_0x54a234._0x8c62e6,_0x54a234._0xbaa875)]=new Cesium__namespace['Matrix3'](),this['_maxHeight']=_0x34ad7e[_0x1c5c83(0x15f6,_0x54a234._0x3c8fa5)]??0x38270;}['update'](_0x582801,_0x506aaa){const _0x7a7baa={_0x1e4d8d:0xf7e,_0x7fdadc:0x1593,_0xdec2df:0x501,_0xd34133:0x17fb,_0x70629d:0x16d5,_0x6cb6c4:0x337,_0x336a8f:0x91a,_0x46ebff:0x87f,_0x1e9516:0xde7,_0x7d095:0x1cd9,_0x4bd5fe:0x180b,_0x4785c3:0xdc1,_0x5aa014:0x99a,_0x22ce40:0x1744,_0x4e2a80:0x1648,_0x4ef19b:0x69e,_0x40dc5a:0x663,_0x250e1d:0x1d3,_0x300acd:0x69d,_0x16700b:0x1d03,_0x83944:0x1595,_0x5e5dfc:0x99,_0xe81784:0x1135,_0x1a9e41:0x172a,_0x15e850:0x2ef,_0x26bb11:0x759,_0xa6d68f:0x937,_0xb49fd:0xe41,_0x534eaf:0x21ae,_0x4a933d:0x197d,_0x14e7b1:0x343,_0x1bfc4b:0x84d,_0x2c8841:0xe93,_0x93d9cb:0x555,_0xe2e4f1:0x88f,_0x2d97d3:0x906,_0x534cf7:0x521,_0x31d3fa:0x132f,_0x4ed2ec:0xb60,_0x2ed578:0x123a,_0x147094:0x17d5,_0x2cb69d:0x12a4,_0x2aaf5e:0x1452},_0x11b75e={_0x43d8fa:0x14e1,_0x4f80e1:0xd57,_0x4e94f2:0xbf4,_0x29af86:0xc43},_0x1dd9d3={_0x1e99c5:0x140b},_0x2bb71c={_0x3254aa:0x134},_0x36b757={_0x14a114:0x88},_0x3d51fe={_0x239080:0x56f};function _0x176dc1(_0x5697cd,_0x57e839){return _0x2b6441(_0x5697cd,_0x57e839-_0x3d51fe._0x239080);}var _0x237840;const _0x37d361=this;if(!this['show'])return undefined;const _0x84d0a5=(_0x237840=_0x582801['camera'])===null||_0x237840===void 0x0||(_0x237840=_0x237840['positionCartographic'])===null||_0x237840===void 0x0?void 0x0:_0x237840['height'];if(Cesium__namespace[_0x176dc1(_0x7a7baa._0x1e4d8d,0x1780)](_0x84d0a5)&&_0x84d0a5>this['_maxHeight'])return undefined;if(_0x582801[_0x176dc1(0xcb7,0x15e9)]!==Cesium__namespace['SceneMode']['SCENE3D']&&_0x582801[_0x1fac91(0x1e48,_0x7a7baa._0x7fdadc)]!==Cesium__namespace['SceneMode'][_0x176dc1(_0x7a7baa._0xdec2df,0x6ee)])return undefined;function _0x1fac91(_0x5e817f,_0x5bc5ee){return _0x306755(_0x5e817f,_0x5bc5ee- -_0x36b757._0x14a114);}if(!_0x582801[_0x1fac91(0x156e,_0x7a7baa._0xd34133)][_0x176dc1(_0x7a7baa._0x70629d,0x160f)])return undefined;const _0xef7fa=_0x582801['context'];if(this['_sources']!==this[_0x176dc1(_0x7a7baa._0x6cb6c4,_0x7a7baa._0x336a8f)]){this['_sources']=this['sources'];const _0x503068=this['sources'];if(!Cesium__namespace['defined'](_0x503068[_0x176dc1(_0x7a7baa._0x46ebff,_0x7a7baa._0x1e9516)])||!Cesium__namespace[_0x1fac91(_0x7a7baa._0x7d095,0x172a)](_0x503068['negativeX'])||!Cesium__namespace['defined'](_0x503068['positiveY'])||!Cesium__namespace[_0x1fac91(_0x7a7baa._0x4bd5fe,0x172a)](_0x503068['negativeY'])||!Cesium__namespace['defined'](_0x503068['positiveZ'])||!Cesium__namespace['defined'](_0x503068[_0x176dc1(_0x7a7baa._0x4785c3,_0x7a7baa._0x5aa014)]))throw new Cesium__namespace['DeveloperError'](_0x176dc1(_0x7a7baa._0x22ce40,_0x7a7baa._0x4e2a80));if(typeof _0x503068['positiveX']!==typeof _0x503068['negativeX']||typeof _0x503068['positiveX']!==typeof _0x503068[_0x176dc1(-0x10,_0x7a7baa._0x4ef19b)]||typeof _0x503068['positiveX']!==typeof _0x503068[_0x176dc1(0xe3,_0x7a7baa._0x40dc5a)]||typeof _0x503068[_0x1fac91(0x1775,0xd91)]!==typeof _0x503068['positiveZ']||typeof _0x503068['positiveX']!==typeof _0x503068['negativeZ'])throw new Cesium__namespace[(_0x176dc1(_0x7a7baa._0x250e1d,0x9d8))](_0x1fac91(0x6e7,_0x7a7baa._0x300acd));if(typeof _0x503068['positiveX']==='string')Cesium__namespace['loadCubeMap'](_0xef7fa,this[_0x1fac91(0x122e,0x1005)])[_0x1fac91(0xe5e,0x127b)](function(_0x1865b3){function _0x4193c9(_0x2dfbb1,_0x41c6e1){return _0x1fac91(_0x2dfbb1,_0x41c6e1- -_0x2bb71c._0x3254aa);}function _0x182887(_0x3211b5,_0x56f0d3){return _0x176dc1(_0x3211b5,_0x56f0d3- -0x3e);}_0x37d361[_0x4193c9(0x1552,_0x1dd9d3._0x1e99c5)]=_0x37d361['_cubeMap']&&_0x37d361['_cubeMap']['destroy'](),_0x37d361[_0x4193c9(0xddc,0x140b)]=_0x1865b3;});else{this[_0x176dc1(_0x7a7baa._0x16700b,_0x7a7baa._0x83944)]=this['_cubeMap']&&this['_cubeMap']['destroy']();const _0x368b11={};_0x368b11['context']=_0xef7fa,_0x368b11[_0x1fac91(-_0x7a7baa._0x5e5dfc,0x72d)]=_0x503068,this[_0x1fac91(_0x7a7baa._0xe81784,0x153f)]=new Cesium__namespace['CubeMap'](_0x368b11);}}const _0x2c5666=this['_command'];if(!Cesium__namespace[_0x1fac91(0x13b2,_0x7a7baa._0x1a9e41)](_0x2c5666['vertexArray'])){_0x2c5666[_0x176dc1(0x91e,0xac1)]={'u_cubeMap':()=>{return _0x37d361['_cubeMap'];},'u_rotateMatrix':()=>{const _0xd0ec91={_0x1f4be7:0x295};_0x2c5666['modelMatrix']=Cesium__namespace[_0x29d4ba(_0x11b75e._0x43d8fa,0x1338)]['eastNorthUpToFixedFrame'](_0x582801['camera'][_0x450bb2(_0x11b75e._0x4f80e1,_0x11b75e._0x4e94f2)]);function _0x450bb2(_0x530065,_0x444062){return _0x176dc1(_0x444062,_0x530065- -_0xd0ec91._0x1f4be7);}function _0x29d4ba(_0x579ad7,_0x2f227d){return _0x176dc1(_0x2f227d,_0x579ad7- -0x1ea);}return Cesium__namespace[_0x450bb2(0x8ab,0xb69)]['getMatrix3'](_0x2c5666['modelMatrix'],this[_0x450bb2(_0x11b75e._0x29af86,0x50d)]);}};const _0x12d655=Cesium__namespace[_0x1fac91(-_0x7a7baa._0x15e850,_0x7a7baa._0x26bb11)][_0x176dc1(_0x7a7baa._0xa6d68f,0xfe5)](Cesium__namespace[_0x176dc1(_0x7a7baa._0xb49fd,0x7af)]['fromDimensions']({'dimensions':new Cesium__namespace['Cartesian3'](0x2,0x2,0x2),'vertexFormat':Cesium__namespace[_0x1fac91(_0x7a7baa._0x534eaf,_0x7a7baa._0x4a933d)][_0x176dc1(0x1a5b,0x1142)]})),_0x4773cf=this['_attributeLocations']=Cesium__namespace[_0x176dc1(_0x7a7baa._0x14e7b1,_0x7a7baa._0x1bfc4b)]['createAttributeLocations'](_0x12d655);_0x2c5666[_0x1fac91(0x189d,_0x7a7baa._0x2c8841)]=Cesium__namespace['VertexArray']['fromGeometry']({'context':_0xef7fa,'geometry':_0x12d655,'attributeLocations':_0x4773cf,'bufferUsage':Cesium__namespace[_0x1fac91(_0x7a7baa._0x93d9cb,_0x7a7baa._0xe2e4f1)][_0x176dc1(0x1179,0x828)]}),_0x2c5666['renderState']=Cesium__namespace[_0x176dc1(_0x7a7baa._0x2d97d3,_0x7a7baa._0x534cf7)]['fromCache']({'blending':Cesium__namespace['BlendingState']['ALPHA_BLEND']});}if(!Cesium__namespace['defined'](_0x2c5666['shaderProgram'])||this['_useHdr']!==_0x506aaa){const _0x4297bb={};_0x4297bb[_0x1fac91(_0x7a7baa._0x31d3fa,_0x7a7baa._0x4ed2ec)]=[_0x506aaa?'HDR':''],_0x4297bb['sources']=[GroundSkyBoxFS];const _0x30746d=new Cesium__namespace['ShaderSource'](_0x4297bb),_0x3d7484={};_0x3d7484['context']=_0xef7fa,_0x3d7484[_0x176dc1(0x1f23,0x19a1)]=GroundSkyBoxVS,_0x3d7484['fragmentShaderSource']=_0x30746d,_0x3d7484[_0x176dc1(0x1956,_0x7a7baa._0x2ed578)]=this['_attributeLocations'],_0x2c5666['shaderProgram']=Cesium__namespace[_0x1fac91(_0x7a7baa._0x147094,_0x7a7baa._0x2cb69d)]['fromCache'](_0x3d7484),this['_useHdr']=_0x506aaa;}if(!Cesium__namespace[_0x1fac91(_0x7a7baa._0x2aaf5e,0x172a)](this['_cubeMap']))return undefined;return _0x2c5666;}}var MultipleSkyBoxFS=_0x306755(0x4b9,0xeb4),MultipleSkyBoxVS='in\x20vec3\x20position;\x0aout\x20vec3\x20v_texCoord;\x0auniform\x20mat3\x20u_rotateMatrix;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20pMars3D\x20=\x20czm_viewRotation\x20*\x20u_rotateMatrix\x20*\x20(czm_temeToPseudoFixed\x20*\x20(czm_entireFrustum.y\x20*\x20position));\x0a\x20\x20gl_Position\x20=\x20czm_projection\x20*\x20vec4(pMars3D,\x201.0);\x0a\x20\x20v_texCoord\x20=\x20position.xyz;\x0a}\x0a';class MultipleSkyBox extends Cesium__namespace['SkyBox']{constructor(_0x74b53){const _0x21d00c={_0x7fbb45:0x13ee,_0x1db21c:0xc40,_0x2ecabd:0xe76},_0x1a19b4={_0x353994:0x332};super(_0x74b53);function _0x410735(_0x36cb8a,_0x36dcd9){return _0x2b6441(_0x36dcd9,_0x36cb8a-0x6c4);}this[_0x410735(0x1766,0x161a)]=_0x74b53['sources2'],this[_0x410735(_0x21d00c._0x7fbb45,0x1cf3)]=_0x74b53[_0x410735(_0x21d00c._0x7fbb45,0x12a5)];function _0x555c97(_0x3ac422,_0x24f5ab){return _0x306755(_0x24f5ab,_0x3ac422- -_0x1a19b4._0x353994);}this['_sources2']=undefined,this[_0x555c97(0x85a,_0x21d00c._0x1db21c)]=undefined,this['_cubeMap2']=undefined,this['_cubeMap3']=undefined,this[_0x410735(0x102d,_0x21d00c._0x2ecabd)]=new Cesium__namespace['Matrix3'](),this[_0x555c97(0xe49,0x721)]=_0x74b53['select']||0x0;}['update'](_0x4e85f4,_0x2a95bc){const _0x27061a={_0x190bc9:0xa19,_0x4db888:0x72f,_0x3ffb68:0xa19,_0x4803d2:0xbc4,_0x732f95:0x884,_0x5b13e2:0xab3,_0xf10759:0x703,_0x23a0ba:0x1787,_0x564588:0x374,_0x48725f:0x6c8,_0x287bc9:0x1970,_0x2c5cc1:0x1133,_0x3d6cbd:0x1076,_0x5e7005:0x6c8,_0x2b1504:0x87c,_0x3e4c3e:0xdd0,_0x5302ac:0x700,_0x1e10db:0x1175,_0x43bcd8:0x11d6,_0x37a267:0xd7f,_0x52f334:0xbfa,_0x54553c:0xc53,_0x37802b:0x627,_0x329d46:0x9c2,_0x17f4a7:0x3c7,_0x3bf853:0x1811,_0x1a9743:0xddc,_0xf94fd9:0x1624,_0x4e92dd:0x965,_0x3a94e7:0xed0,_0xdb0f06:0xa72,_0x514e50:0x193,_0x312d3c:0x10c1,_0x2a39eb:0x1337,_0x3e7642:0xd73,_0x299d17:0xe,_0x50dad1:0x14e5,_0x1f8c2c:0xc9,_0x2d1b30:0x5af,_0x28707a:0x1db5,_0x114b0c:0x1688,_0x1ed373:0x16f4},_0x368ab0={_0x4875b2:0x1a2d,_0xfb0f34:0x19de,_0x499212:0x10f3,_0x2a970c:0xcb2,_0x17c701:0x1946,_0x5d6877:0x104a},_0x3dbccd={_0x17c998:0x263},_0x5277f8={_0x2cccfe:0x8e9},_0x3c5753={_0x16c288:0x2d5},_0x3ff90a={_0x3be2ef:0xf79,_0x161c0a:0x15b4},_0x138128={_0x8cae9d:0xe3e},_0x29b529={_0x4938b9:0x184},_0x138b69={_0x3e23b0:0x1c3},_0x419fd1={_0x549c65:0x98},_0x1841e0={_0x389d00:0x4ac},_0x2904b7=this;if(!this['show'])return undefined;if(_0x4e85f4[_0x402365(0x1b73,0x148d)]!==Cesium__namespace[_0x370537(0x15e,_0x27061a._0x190bc9)][_0x402365(0xd2d,0x103d)]&&_0x4e85f4['mode']!==Cesium__namespace[_0x370537(_0x27061a._0x4db888,_0x27061a._0x3ffb68)][_0x402365(0xde8,0x592)])return undefined;function _0x402365(_0x20ca7c,_0x2dfc70){return _0x2b6441(_0x20ca7c,_0x2dfc70-0x413);}if(!_0x4e85f4['passes'][_0x402365(_0x27061a._0x4803d2,0x14b3)])return undefined;const _0x42998e=_0x4e85f4[_0x402365(_0x27061a._0x732f95,0x4c4)];if(this['_sources']!==this['sources']){this['_sources']=this['sources'];const _0x204127=this['sources'];this['_sources2']=this['sources2'];const _0x25eb8f=this['sources2'];this['_sources3']=this['sources3'];const _0x3401a1=this[_0x402365(0x6e4,0x113d)];if(!Cesium__namespace['defined'](_0x204127[_0x370537(_0x27061a._0x5b13e2,0xe4c)])||!Cesium__namespace['defined'](_0x204127[_0x402365(0x10c1,0x13c5)])||!Cesium__namespace['defined'](_0x204127[_0x370537(0xc3b,_0x27061a._0xf10759)])||!Cesium__namespace[_0x402365(_0x27061a._0x23a0ba,0x1624)](_0x204127[_0x370537(_0x27061a._0x564588,_0x27061a._0x48725f)])||!Cesium__namespace['defined'](_0x204127['positiveZ'])||!Cesium__namespace[_0x402365(_0x27061a._0x287bc9,0x1624)](_0x204127['negativeZ']))throw new Cesium__namespace[(_0x402365(_0x27061a._0x2c5cc1,0x87c))]('this.sources\x20is\x20required\x20and\x20must\x20have\x20positiveX,\x20negativeX,\x20positiveY,\x20negativeY,\x20positiveZ,\x20and\x20negativeZ\x20properties.');if(typeof _0x204127[_0x370537(_0x27061a._0x3d6cbd,0xe4c)]!==typeof _0x204127['negativeX']||typeof _0x204127['positiveX']!==typeof _0x204127[_0x370537(0x2bf,0x703)]||typeof _0x204127['positiveX']!==typeof _0x204127[_0x370537(0x514,_0x27061a._0x5e7005)]||typeof _0x204127['positiveX']!==typeof _0x204127['positiveZ']||typeof _0x204127['positiveX']!==typeof _0x204127['negativeZ'])throw new Cesium__namespace[(_0x402365(0x31d,_0x27061a._0x2b1504))]('this.sources\x20properties\x20must\x20all\x20be\x20the\x20same\x20type.');if(typeof _0x204127['positiveX']==='string')Cesium__namespace[_0x370537(0x832,0xf91)](_0x42998e,this['_sources'])['then'](function(_0x459707){const _0x55b871={_0x2d5229:0x3fc};function _0x12a897(_0x12d832,_0x313729){return _0x402365(_0x313729,_0x12d832- -_0x1841e0._0x389d00);}function _0x541906(_0x2dacb,_0x4028f3){return _0x370537(_0x2dacb,_0x4028f3- -_0x55b871._0x2d5229);}_0x2904b7['_cubeMap']=_0x2904b7['_cubeMap']&&_0x2904b7[_0x12a897(0xf8d,0x114b)][_0x12a897(0x955,_0x419fd1._0x549c65)](),_0x2904b7[_0x541906(0xd28,0x11fe)]=_0x459707;}),Cesium__namespace[_0x402365(0x17fc,_0x27061a._0x3e4c3e)](_0x42998e,this['_sources2'])[_0x402365(_0x27061a._0x5302ac,_0x27061a._0x1e10db)](function(_0x91c955){_0x2904b7[_0x27ec67(0x1591,0xd81)]=_0x2904b7[_0x2a5e4a(0x10bc,0xbfb)]&&_0x2904b7['_cubeMap2'][_0x2a5e4a(0x16c1,_0x138128._0x8cae9d)]();function _0x27ec67(_0x2e0579,_0x34c65f){return _0x402365(_0x2e0579,_0x34c65f-_0x138b69._0x3e23b0);}function _0x2a5e4a(_0x3ba13b,_0x15773d){return _0x370537(_0x3ba13b,_0x15773d- -_0x29b529._0x4938b9);}_0x2904b7['_cubeMap2']=_0x91c955;}),Cesium__namespace[_0x402365(0x1139,0xdd0)](_0x42998e,this['_sources3'])['then'](function(_0x22674a){function _0x564b9c(_0x3b5d86,_0x1d660f){return _0x402365(_0x3b5d86,_0x1d660f- -0x422);}function _0xa8197(_0x5b51f9,_0x2082be){return _0x402365(_0x5b51f9,_0x2082be- -0x349);}_0x2904b7['_cubeMap3']=_0x2904b7[_0x564b9c(0xd0b,0x1216)]&&_0x2904b7[_0x564b9c(_0x3ff90a._0x3be2ef,0x1216)]['destroy'](),_0x2904b7[_0xa8197(_0x3ff90a._0x161c0a,0x12ef)]=_0x22674a;});else{this['_cubeMap']=this[_0x370537(_0x27061a._0x43bcd8,0x15fa)]&&this['_cubeMap'][_0x402365(0x40a,0xe01)]();const _0x598b5b={};_0x598b5b['context']=_0x42998e,_0x598b5b['source']=_0x204127,this['_cubeMap']=new Cesium__namespace[(_0x402365(0xd5f,0x3c7))](_0x598b5b),this[_0x370537(0x16ff,_0x27061a._0x37a267)]=this['_cubeMap2']&&this['_cubeMap2'][_0x402365(_0x27061a._0x52f334,0xe01)]();const _0x3c99f6={};_0x3c99f6['context']=_0x42998e,_0x3c99f6[_0x402365(_0x27061a._0x54553c,_0x27061a._0x37802b)]=_0x25eb8f,this['_cubeMap2']=new Cesium__namespace[(_0x402365(_0x27061a._0x329d46,_0x27061a._0x17f4a7))](_0x3c99f6),this['_cubeMap3']=this['_cubeMap3']&&this['_cubeMap3']['destroy']();const _0x267ea2={};_0x267ea2['context']=_0x42998e,_0x267ea2['source']=_0x3401a1,this['_cubeMap3']=new Cesium__namespace['CubeMap'](_0x267ea2);}}const _0x50a4c7=this[_0x402365(_0x27061a._0x3bf853,0xecb)];function _0x370537(_0xa1933e,_0x2f5090){return _0x2b6441(_0xa1933e,_0x2f5090-0x5d4);}_0x50a4c7[_0x402365(0x18e1,0x177b)]=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x4e85f4['camera']['_positionWC']);if(!Cesium__namespace[_0x402365(_0x27061a._0x1a9743,_0x27061a._0xf94fd9)](_0x50a4c7['vertexArray'])){_0x50a4c7[_0x402365(0x112a,_0x27061a._0x4e92dd)]={'u_cubeMap':function(){return _0x2904b7['_cubeMap'];},'u_cubeMap2':function(){function _0x30fb23(_0x7cc5f9,_0x2e5cb2){return _0x402365(_0x7cc5f9,_0x2e5cb2- -_0x3c5753._0x16c288);}return _0x2904b7[_0x30fb23(0x170,_0x5277f8._0x2cccfe)];},'u_cubeMap3':function(){return _0x2904b7['_cubeMap3'];},'u_select':()=>{function _0x545cd9(_0x4144e7,_0x2145ec){return _0x402365(_0x2145ec,_0x4144e7- -0x22b);}return this[_0x545cd9(0xdc2,0x9a9)];},'u_rotateMatrix':()=>{const _0x5b9342={_0x3ddc5f:0x2ce};function _0x13dcd3(_0xed57dc,_0x42287e){return _0x402365(_0xed57dc,_0x42287e-_0x5b9342._0x3ddc5f);}_0x50a4c7[_0x19b409(_0x368ab0._0x4875b2,_0x368ab0._0xfb0f34)]=Cesium__namespace['Transforms'][_0x19b409(0x224f,0x182e)](_0x4e85f4['camera'][_0x19b409(0x1292,_0x368ab0._0x499212)]);function _0x19b409(_0x19513d,_0x1fbadf){return _0x402365(_0x19513d,_0x1fbadf-_0x3dbccd._0x17c998);}return Cesium__namespace[_0x13dcd3(0xfeb,_0x368ab0._0x2a970c)]['getMatrix3'](_0x50a4c7['modelMatrix'],this[_0x13dcd3(_0x368ab0._0x17c701,_0x368ab0._0x5d6877)]);}};const _0x16a5d7=Cesium__namespace[_0x370537(_0x27061a._0x3a94e7,0x814)][_0x402365(_0x27061a._0xdb0f06,0xe89)](Cesium__namespace[_0x370537(_0x27061a._0x514e50,0x814)][_0x402365(_0x27061a._0x312d3c,_0x27061a._0x2a39eb)]({'dimensions':new Cesium__namespace['Cartesian3'](0x2,0x2,0x2),'vertexFormat':Cesium__namespace[_0x370537(0x1a09,0x1a38)]['POSITION_ONLY']})),_0x5108e1=this[_0x402365(0x68d,0x1025)]=Cesium__namespace[_0x370537(_0x27061a._0x3e7642,0x8b2)][_0x370537(-_0x27061a._0x299d17,0xa55)](_0x16a5d7);_0x50a4c7['vertexArray']=Cesium__namespace[_0x370537(_0x27061a._0x50dad1,0x1770)]['fromGeometry']({'context':_0x42998e,'geometry':_0x16a5d7,'attributeLocations':_0x5108e1,'bufferUsage':Cesium__namespace[_0x402365(-_0x27061a._0x1f8c2c,0x789)]['_DRAW']}),_0x50a4c7['renderState']=Cesium__namespace[_0x370537(_0x27061a._0x2d1b30,0x586)][_0x370537(_0x27061a._0x28707a,_0x27061a._0x114b0c)]({'blending':Cesium__namespace['BlendingState']['ALPHA_BLEND']});}if(!Cesium__namespace['defined'](_0x50a4c7[_0x402365(0x162e,0x17e3)])||this[_0x402365(_0x27061a._0x1ed373,0x14de)]!==_0x2a95bc){const _0xd05688={};_0xd05688['defines']=[_0x2a95bc?'HDR':''],_0xd05688[_0x402365(-0x15,0x7be)]=[MultipleSkyBoxFS];const _0x336c3f=new Cesium__namespace['ShaderSource'](_0xd05688),_0x1f3f7b={};_0x1f3f7b['context']=_0x42998e,_0x1f3f7b[_0x402365(0x119f,0x1845)]=MultipleSkyBoxVS,_0x1f3f7b['fragmentShaderSource']=_0x336c3f,_0x1f3f7b['attributeLocations']=this['_attributeLocations'],_0x50a4c7['shaderProgram']=Cesium__namespace[_0x402365(0x7a7,0x119e)][_0x402365(0x1d97,0x14c7)](_0x1f3f7b),this['_useHdr']=_0x2a95bc;}if(!Cesium__namespace['defined'](this['_cubeMap']))return undefined;if(!Cesium__namespace[_0x370537(0x1085,0x17e5)](this[_0x402365(0x141e,0xbbe)]))return undefined;if(!Cesium__namespace['defined'](this['_cubeMap3']))return undefined;return _0x50a4c7;}['isDestroyed'](){return![];}['destroy'](){const _0x5b73dc={_0x19a27e:0xa29,_0x555144:0x1739},_0x392c4f={_0x4cdf12:0x6cb},_0x5514ba=this['_command'];function _0x10db14(_0x141a57,_0x4b3ee2){return _0x2b6441(_0x4b3ee2,_0x141a57-0xaf);}function _0x2e0ee6(_0x83e6a8,_0x4c2f4e){return _0x2b6441(_0x4c2f4e,_0x83e6a8-_0x392c4f._0x4cdf12);}return _0x5514ba['vertexArray']=_0x5514ba['vertexArray']&&_0x5514ba[_0x10db14(_0x5b73dc._0x19a27e,0x5c8)][_0x2e0ee6(0x10b9,0x10b2)](),_0x5514ba['shaderProgram']=_0x5514ba['shaderProgram']&&_0x5514ba['shaderProgram']['destroy'](),this['_cubeMap']=this['_cubeMap']&&this['_cubeMap']['destroy'](),this['_cubeMap2']=this['_cubeMap2']&&this['_cubeMap2']['destroy'](),this['_cubeMap3']=this['_cubeMap3']&&this['_cubeMap3'][_0x2e0ee6(0x10b9,_0x5b73dc._0x555144)](),this[_0x10db14(0x1036,0x10fa)](this);}}class LocalWorldTransform{constructor(_0x1df794,_0x37c59a){const _0xa97b1c={_0x4b1062:0x8e8},_0x3d8e4c={_0x3855b0:0x8};function _0x3977ea(_0x22d217,_0x3b6401){return _0x2b6441(_0x3b6401,_0x22d217-_0x3d8e4c._0x3855b0);}_0x37c59a=_0x37c59a||Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'],this['_matrix']=_0x37c59a(_0x1df794),this['_inverseMatrix']=Cesium__namespace['Matrix4']['inverseTransformation'](this[_0x3977ea(0xc1,_0xa97b1c._0x4b1062)],new Cesium__namespace['Matrix4']());}[_0x306755(0x247,0x91f)](_0xa6d40,_0x38f1f0){return!_0x38f1f0&&(_0x38f1f0=new Cesium__namespace['Cartesian3']()),Cesium__namespace['Matrix4']['multiplyByPoint'](this['_matrix'],_0xa6d40,_0x38f1f0),_0x38f1f0;}['worldToLocal'](_0x3f3b0c,_0x36dbe7){const _0x88a1a6={_0x40d13b:0x234};!_0x36dbe7&&(_0x36dbe7=new Cesium__namespace['Cartesian3']());function _0x781d76(_0x3e70eb,_0x2530bb){return _0x2b6441(_0x2530bb,_0x3e70eb-0x4bc);}return Cesium__namespace['Matrix4'][_0x781d76(0x414,_0x88a1a6._0x40d13b)](this['_inverseMatrix'],_0x3f3b0c,_0x36dbe7),_0x36dbe7;}}class MarsArray{constructor(){this['_array']=[],this['_hash']={};}get['length'](){const _0x1519fd={_0x2ae300:0x134e},_0x32030b={_0x3a41e6:0x645};function _0x1fd66d(_0x43204d,_0x2f78e2){return _0x306755(_0x2f78e2,_0x43204d- -0x551);}function _0x5449c9(_0x4367fa,_0x5de2a5){return _0x2b6441(_0x4367fa,_0x5de2a5-_0x32030b._0x3a41e6);}return this[_0x5449c9(_0x1519fd._0x2ae300,0x13c0)][_0x1fd66d(0x10aa,0x1406)];}get['values'](){return this['_array'];}['contains'](_0xf3398c){if(!_0xf3398c)return![];return Cesium__namespace['defined'](this['_hash'][_0xf3398c]);}['set'](_0x183752,_0x5109a7){const _0x5297ee={_0x3ea8ec:0xb1a,_0x2e4a07:0x6e2},_0x5db578={_0x2bd68b:0x3cb};function _0x5349e9(_0x2cb5e0,_0x2f9c9d){return _0x306755(_0x2f9c9d,_0x2cb5e0- -_0x5db578._0x2bd68b);}const _0x1f26cf=this[_0x16e7e1(_0x5297ee._0x3ea8ec,0x5a9)][_0x183752];function _0x16e7e1(_0x16d790,_0x11e831){return _0x2b6441(_0x16d790,_0x11e831-0x5ea);}_0x5109a7!==_0x1f26cf&&(this['remove'](_0x183752),this['_hash'][_0x183752]=_0x5109a7,this[_0x16e7e1(0x119f,0x1365)][_0x16e7e1(0x6c1,_0x5297ee._0x2e4a07)](_0x5109a7));}['getLast'](){const _0x28d003={_0x5b204d:0x1066,_0xd36cda:0x5ff,_0x1a67e2:0x1a78},_0x15f8d0={_0x43c042:0x62a};function _0x3099b1(_0x57a982,_0x5249c4){return _0x306755(_0x5249c4,_0x57a982- -0x535);}function _0x15e382(_0x52ad8a,_0x4b19ac){return _0x2b6441(_0x52ad8a,_0x4b19ac-_0x15f8d0._0x43c042);}return this[_0x15e382(_0x28d003._0x5b204d,0x13a5)][_0x3099b1(0x10c6,_0x28d003._0xd36cda)]>0x0?this[_0x15e382(_0x28d003._0x1a67e2,0x13a5)][this['_array']['length']-0x1]:undefined;}['get'](_0x4765bd){function _0x35e610(_0x294f48,_0x25f955){return _0x2b6441(_0x25f955,_0x294f48-0x57f);}return _0x4765bd?this[_0x35e610(0x53e,0x1ea)][_0x4765bd]:undefined;}[_0x2b6441(0xccb,0x3e6)](_0x417f40,_0x169aa7='id',_0x479ab5=_0x2b6441(0xc12,0x6bc)){const _0x130f7d={_0x4cf576:0x38,_0xbafdd8:0x10d4,_0x3db781:0x132f},_0x358d3f={_0x593ccf:0x598},_0x39fa20={_0x2df770:0x7a};if(_0x169aa7==='id'&&this[_0x38580a(0x4a5,-_0x130f7d._0x4cf576)][_0x417f40])return this['_hash'][_0x417f40];function _0x50246e(_0x1b0777,_0x161693){return _0x2b6441(_0x1b0777,_0x161693-_0x39fa20._0x2df770);}for(let _0x15ea7b=0x0,_0x323196=this['_array'][_0x50246e(0x1722,_0x130f7d._0xbafdd8)];_0x15ea7b<_0x323196;_0x15ea7b++){const _0x23503f=this['_array'][_0x15ea7b];if(_0x23503f[_0x38580a(0x1c71,_0x130f7d._0x3db781)])continue;if(_0x23503f[_0x169aa7]==_0x417f40||_0x23503f[_0x479ab5]&&_0x23503f[_0x479ab5][_0x169aa7]==_0x417f40)return _0x23503f;}function _0x38580a(_0x10b659,_0x4275a1){return _0x306755(_0x10b659,_0x4275a1- -_0x358d3f._0x593ccf);}return undefined;}[_0x2b6441(0x9d7,0x11ba)](_0x442ede,_0x558da6='id',_0x3c5985='options'){const _0x2c30a5={_0x2f279d:0x138f},_0x407b74={_0x42cd72:0x57c},_0x572826={_0x235210:0x5d8};function _0x37abb4(_0x59eb6d,_0x16e624){return _0x306755(_0x59eb6d,_0x16e624- -_0x572826._0x235210);}const _0x499d1f=[];function _0x278f52(_0x1f77d5,_0x2efcf1){return _0x2b6441(_0x1f77d5,_0x2efcf1-_0x407b74._0x42cd72);}for(let _0x33878f=0x0,_0x383e5f=this['_array']['length'];_0x33878f<_0x383e5f;_0x33878f++){const _0x4c0b7e=this['_array'][_0x33878f];if(_0x4c0b7e[_0x37abb4(_0x2c30a5._0x2f279d,0x12ef)])continue;(_0x4c0b7e[_0x558da6]==_0x442ede||_0x4c0b7e[_0x3c5985]&&_0x4c0b7e[_0x3c5985][_0x558da6]==_0x442ede)&&_0x499d1f[_0x37abb4(0x581,0xc1)](_0x4c0b7e);}return _0x499d1f;}['splitArr'](_0x50f29c){const _0x3e8d6={_0x1ff89b:0xfe3,_0x98c297:0x11f2,_0x3aa6b4:0x4c2},_0x44a377={_0x5a5aad:0x409};function _0x5996b7(_0x38ce6f,_0x507a86){return _0x306755(_0x507a86,_0x38ce6f- -_0x44a377._0x5a5aad);}const _0x133cb7=[];for(let _0xb9c230=0x0,_0x110fcf=this[_0x594205(_0x3e8d6._0x1ff89b,0x13f1)][_0x5996b7(_0x3e8d6._0x98c297,0xd45)];_0xb9c230<_0x110fcf;_0xb9c230+=_0x50f29c){_0x133cb7['push'](this['_array'][_0x594205(_0x3e8d6._0x3aa6b4,0xcd7)](_0xb9c230,_0xb9c230+_0x50f29c));}function _0x594205(_0x4b16d4,_0x128225){return _0x2b6441(_0x128225,_0x4b16d4-0x268);}return _0x133cb7;}['forEach'](_0x41dcf7,_0x452912,_0x2e1e17){const _0x4715e4={_0x36347c:0x9de},_0x5a5f76={_0x504ac6:0x3f9};function _0x13b7c4(_0x31fcf2,_0x132fd7){return _0x2b6441(_0x31fcf2,_0x132fd7-_0x5a5f76._0x504ac6);}function _0x1fb91a(_0x41c0c9,_0x296927){return _0x2b6441(_0x296927,_0x41c0c9-0x532);}if(_0x2e1e17)for(let _0x46a5fd=this['_array']['length']-0x1;_0x46a5fd>=0x0;_0x46a5fd--){const _0x165e93=this['_array'][_0x46a5fd];_0x41dcf7['call'](_0x452912||this,_0x165e93,_0x46a5fd);}else for(let _0x618b79=0x0,_0x761c24=this['_array'][_0x1fb91a(0x158c,0xeb9)];_0x618b79<_0x761c24;_0x618b79++){const _0x37a863=this[_0x1fb91a(0x12ad,_0x4715e4._0x36347c)][_0x618b79];_0x41dcf7[_0x1fb91a(0x1148,0xe41)](_0x452912||this,_0x37a863,_0x618b79);}}['remove'](_0x71004a){if(!this['_hash'])return;function _0x2e23a9(_0x4f3eeb,_0x4652dd){return _0x2b6441(_0x4652dd,_0x4f3eeb-0x544);}const _0x370744=this[_0x2e23a9(0x503,0x5c0)][_0x71004a],_0x14dc06=Cesium__namespace['defined'](_0x370744);if(_0x14dc06){const _0x1e2cab=this['_array'];_0x1e2cab['splice'](_0x1e2cab['indexOf'](_0x370744),0x1),delete this['_hash'][_0x71004a];}return _0x14dc06;}[_0x2b6441(0x72f,0xf09)](_0x40a64f,_0x25e76e){const _0x2f3f86={_0x411a16:0xdd2,_0x3d793f:0x169c,_0x75de20:0xbf};function _0x1fe552(_0x558122,_0x53d5af){return _0x306755(_0x53d5af,_0x558122- -0x54a);}function _0x2b6ab6(_0x1b7f45,_0x1d6d2a){return _0x2b6441(_0x1d6d2a,_0x1b7f45-0x1b5);}if(!this['_hash'])return;for(let _0x2e9ba1=this[_0x1fe552(_0x2f3f86._0x411a16,0x1287)][_0x1fe552(0x10b1,0xe19)]-0x1;_0x2e9ba1>=0x0;_0x2e9ba1--){const _0xf5d2a0=this[_0x1fe552(0xdd2,_0x2f3f86._0x3d793f)][_0x2e9ba1];if(!_0x40a64f(_0xf5d2a0))continue;_0x25e76e&&_0x25e76e(_0xf5d2a0),this['_array'][_0x2b6ab6(_0x2f3f86._0x75de20,0x213)](_0x2e9ba1,0x1),delete this['_hash'][_0xf5d2a0['id']];}}['removeAll'](){const _0x1d9d03={_0x23ed32:0x6b};function _0x10f18a(_0x39b31f,_0x4ea59e){return _0x2b6441(_0x4ea59e,_0x39b31f-_0x1d9d03._0x23ed32);}const _0x35a4b7=this['_array'];_0x35a4b7[_0x10f18a(0x10c5,0x17fc)]>0x0&&(this['_hash']={},_0x35a4b7['length']=0x0);}[_0x2b6441(0x145f,0x9ee)](){const _0x3c7f4a={_0x2cbb4e:0x805,_0x19a219:0xdd8,_0x2cc8b7:0x10e6,_0x2e85ae:0xc44},_0x3504e0={_0x4c394c:0x5ca};if(this['_array']['length']>0x0&&this['_array'][0x0]['destroy']){this[_0x3598f5(0xf4e,_0x3c7f4a._0x2cbb4e)]=function(){};for(let _0x5714c5=this['_array']['length']-0x1;_0x5714c5>=0x0;_0x5714c5--){const _0x4cb061=this['_array'][_0x5714c5];if(_0x4cb061!==null&&_0x4cb061!==void 0x0&&_0x4cb061['destroy'])try{_0x4cb061[_0x3598f5(0xdd8,_0x3c7f4a._0x19a219)]();}catch(_0x2ae971){logWarn(_0x3598f5(0x805,0x1115),_0x2ae971);}}}function _0x3598f5(_0x50a102,_0x2c27ce){return _0x2b6441(_0x50a102,_0x2c27ce-0x3ea);}this[_0x3598f5(_0x3c7f4a._0x2cc8b7,_0x3c7f4a._0x2e85ae)]();function _0x5eff4e(_0x5aa751,_0x6ff15e){return _0x2b6441(_0x5aa751,_0x6ff15e-_0x3504e0._0x4c394c);}for(const _0x450d7f in this){delete this[_0x450d7f];}}}class Texture3{constructor(_0x4a6637={}){const _0x214adf={_0x369d6e:0x45a,_0x40dcd3:0xb2d,_0x39a6f0:0xf81,_0x4f1e31:0x1285,_0x37ce60:0xc45,_0x3f16b8:0x15e6,_0xd60c4a:0xcc1,_0x39395c:0x1bfb,_0x40b516:0xae0,_0x4dc923:0x16c4,_0x2fbb4f:0x173d,_0x409068:0x1042,_0x206160:0x131c,_0x45178c:0x8b4,_0x584050:0x1adb,_0x3d5b02:0x1046,_0x54eb46:0x16ed,_0x6edaf0:0x215a,_0x138010:0xd9b,_0x3171a6:0x614,_0x248977:0x499,_0x19321a:0x1607,_0x5194fa:0xff4,_0x26eee9:0x70c,_0x127dab:0x813,_0x2a0add:0x103b},_0x399b23={_0x3a5a5e:0x1cc},_0x1fec7e=_0x4a6637['context'],_0x377589=_0x1fec7e[_0x3f4d27(_0x214adf._0x369d6e,-0x85)],_0x4336a1=_0x4a6637['source'];let _0x20bb2a=_0x4a6637['width'];function _0x1b4085(_0x83f00a,_0x26f0b8){return _0x306755(_0x26f0b8,_0x83f00a- -_0x399b23._0x3a5a5e);}let _0x34e2f2=_0x4a6637[_0x3f4d27(_0x214adf._0x40dcd3,_0x214adf._0x39a6f0)],_0x4fc238=_0x4a6637['depth'];Cesium__namespace['defined'](_0x4336a1)&&(!Cesium__namespace[_0x1b4085(0x15e6,0x1a79)](_0x20bb2a)&&(_0x20bb2a=Cesium__namespace['defaultValue'](_0x4336a1[_0x1b4085(_0x214adf._0x4f1e31,_0x214adf._0x37ce60)],_0x4336a1[_0x3f4d27(0xb26,0x12fc)])),!Cesium__namespace[_0x1b4085(_0x214adf._0x3f16b8,0x15ce)](_0x34e2f2)&&(_0x34e2f2=Cesium__namespace['defaultValue'](_0x4336a1['videoHeight'],_0x4336a1['height'])),!Cesium__namespace['defined'](_0x4fc238)&&(_0x4fc238=Cesium__namespace['defaultValue'](_0x4336a1['videoDepth'],_0x4336a1[_0x1b4085(_0x214adf._0xd60c4a,0xd6d)])));if(!Cesium__namespace['defined'](_0x20bb2a)||!Cesium__namespace[_0x1b4085(0x15e6,0x17ea)](_0x34e2f2)||!Cesium__namespace[_0x3f4d27(0x16ed,_0x214adf._0x39395c)](_0x4fc238))throw new Cesium__namespace['DeveloperError'](_0x1b4085(0xe7a,0xc28));const _0x354e40=Cesium__namespace[_0x3f4d27(0xbe5,_0x214adf._0x40b516)](_0x4a6637[_0x3f4d27(0x11a0,0x1045)],Cesium__namespace[_0x1b4085(0xf3b,_0x214adf._0x4dc923)]['RGBA']),_0x1f80ab=Cesium__namespace['defaultValue'](_0x4a6637[_0x3f4d27(_0x214adf._0x2fbb4f,0x1f89)],Cesium__namespace[_0x3f4d27(0x593,0xaeb)]['FLOAT']),_0x4bb847=Cesium__namespace['PixelFormat']['toInternalFormat'](_0x354e40,_0x1f80ab,_0x1fec7e),_0x4bb12a=![],_0x49d310=![];let _0x2c7409=0x4;Cesium__namespace['defined'](_0x4336a1)&&Cesium__namespace['defined'](_0x4336a1[_0x1b4085(0x41f,0xaae)])&&(_0x2c7409=Cesium__namespace[_0x3f4d27(_0x214adf._0x409068,0xba8)]['alignmentInBytes'](_0x354e40,_0x1f80ab,_0x20bb2a));const _0x5861d8=_0x377589[_0x3f4d27(0x463,-0x7a)],_0x3388df=_0x377589[_0x1b4085(0xf0d,_0x214adf._0x206160)]();_0x377589['activeTexture'](_0x377589[_0x3f4d27(_0x214adf._0x45178c,0xf44)]),_0x377589[_0x1b4085(0xc94,0x13c2)](_0x5861d8,_0x3388df),_0x377589[_0x3f4d27(0x1046,_0x214adf._0x584050)](_0x377589['UNPACK_ALIGNMENT'],_0x2c7409),_0x377589['pixelStorei'](_0x377589['UNPACK_COLORSPACE_CONVERSION_WEBGL'],_0x377589[_0x3f4d27(0x114c,0x1b83)]),_0x377589[_0x3f4d27(_0x214adf._0x3d5b02,0x16c3)](_0x377589[_0x3f4d27(0x18f3,0x1ec6)],_0x49d310);if(Cesium__namespace['defined'](_0x4336a1)&&Cesium__namespace[_0x3f4d27(_0x214adf._0x54eb46,_0x214adf._0x6edaf0)](_0x4336a1['arrayBufferView'])){const _0x3dc8cd=_0x4336a1['arrayBufferView'];_0x377589['texImage3D'](_0x5861d8,0x0,_0x4bb847,_0x20bb2a,_0x34e2f2,_0x4fc238,0x0,_0x354e40,Cesium__namespace['PixelDatatype']['toWebGLConstant'](_0x1f80ab,_0x1fec7e),_0x3dc8cd);}_0x377589[_0x3f4d27(_0x214adf._0x138010,_0x214adf._0x3171a6)](_0x5861d8,null);const _0x4654c7=texture3DSizeInBytes(_0x354e40,_0x1f80ab,_0x20bb2a,_0x34e2f2,_0x4fc238);this['_id']=Cesium__namespace['createGuid'](),this[_0x1b4085(0xfc1,0xbc9)]=_0x1fec7e,this['_textureFilterAnisotropic']=_0x1fec7e['_textureFilterAnisotropic'],this[_0x1b4085(0x8e1,_0x214adf._0x248977)]=_0x3388df,this[_0x3f4d27(_0x214adf._0x19321a,0x1a8c)]=_0x5861d8;function _0x3f4d27(_0x3adf64,_0x250d5c){return _0x306755(_0x250d5c,_0x3adf64- -0xc5);}this[_0x1b4085(0x1480,0x1f09)]=_0x4bb847,this['_pixelFormat']=_0x354e40,this[_0x1b4085(0x1465,0x1968)]=_0x1f80ab,this['_width']=_0x20bb2a,this['_height']=_0x34e2f2,this['_depth']=_0x4fc238,this['_hasMipmap']=![],this['_sizeInBytes']=_0x4654c7,this['_preMultiplyAlpha']=_0x4bb12a,this['_flipY']=_0x49d310,this['_initialized']=!![],this['_dimensions']=new Cesium__namespace[(_0x3f4d27(0x95c,_0x214adf._0x5194fa))](_0x20bb2a,_0x34e2f2,_0x4fc238),this['_sampler']=undefined,this[_0x1b4085(_0x214adf._0x26eee9,0x5d)]=Cesium__namespace['defaultValue'](_0x4a6637[_0x3f4d27(_0x214adf._0x127dab,_0x214adf._0x2a0add)],new Cesium__namespace['Sampler']());}get['id'](){function _0x317d54(_0x22618b,_0x4e603e){return _0x2b6441(_0x22618b,_0x4e603e-0x61d);}return this[_0x317d54(0x1187,0x1a85)];}get['sampler'](){return this['_sampler'];}set['sampler'](_0xcc226e){const _0x341cab={_0x1c2e7a:0x65f,_0x6c57bc:0xe5,_0x2043ee:0x673,_0x5787bc:0x1984,_0x16ec28:0x13c1,_0x177609:0x8ca,_0xeb400d:0x1233,_0x25c499:0x1d7e,_0x2c0fa0:0x15d4,_0x3dfc26:0xa7c},_0x233b75={_0x4e18dc:0x43a},_0x4f0cfc=_0xcc226e['minificationFilter'];function _0x342caf(_0x26dc3a,_0xf55d49){return _0x306755(_0x26dc3a,_0xf55d49- -_0x233b75._0x4e18dc);}const _0x460fc4=_0xcc226e[_0x2964a0(0x16a,0x482)];function _0x2964a0(_0x2da892,_0x149950){return _0x2b6441(_0x2da892,_0x149950-0x5ac);}const _0x51ea5b=this[_0x342caf(0x16f8,0xd53)],_0x469fbe=_0x51ea5b[_0x342caf(-_0x341cab._0x1c2e7a,_0x341cab._0x6c57bc)],_0x3c88ab=this['_textureTarget'];_0x469fbe['activeTexture'](_0x469fbe['TEXTURE0']),_0x469fbe['bindTexture'](_0x3c88ab,this[_0x342caf(0x57a,_0x341cab._0x2043ee)]),_0x469fbe[_0x342caf(_0x341cab._0x5787bc,_0x341cab._0x16ec28)](_0x3c88ab,_0x469fbe['TEXTURE_MIN_FILTER'],_0x4f0cfc),_0x469fbe[_0x2964a0(0xf66,0x1806)](_0x3c88ab,_0x469fbe[_0x2964a0(-0x104,_0x341cab._0x177609)],_0x460fc4),_0x469fbe['texParameteri'](_0x3c88ab,_0x469fbe[_0x342caf(0x33f,0x62c)],_0xcc226e['wrapS']),_0x469fbe['texParameteri'](_0x3c88ab,_0x469fbe[_0x342caf(0xe4f,_0x341cab._0xeb400d)],_0xcc226e[_0x2964a0(_0x341cab._0x25c499,_0x341cab._0x2c0fa0)]),_0x469fbe['texParameteri'](_0x3c88ab,_0x469fbe[_0x2964a0(_0x341cab._0x3dfc26,0x1384)],_0x469fbe[_0x2964a0(0x1165,0xd42)]),_0x469fbe['bindTexture'](_0x3c88ab,null),this['_sampler']=_0xcc226e;}get[_0x306755(0xff7,0x1265)](){return this['_pixelFormat'];}get[_0x306755(0x1dc1,0x1802)](){return this['_pixelDatatype'];}get[_0x2b6441(0x71b,0x155)](){function _0x4c16c5(_0x593445,_0x4f974e){return _0x306755(_0x4f974e,_0x593445- -0xcb);}return this[_0x4c16c5(0x1773,0x10c9)];}get['height'](){function _0x302104(_0x248b80,_0x34c371){return _0x306755(_0x34c371,_0x248b80- -0x4bf);}return this[_0x302104(0xf35,0xbe9)];}get[_0x2b6441(0x9ee,0x8ec)](){return this['_depth'];}get['preMultiplyAlpha'](){function _0x14a499(_0x19809a,_0xcaf129){return _0x2b6441(_0x19809a,_0xcaf129-0x1fe);}return this[_0x14a499(0x1f5,0xa1a)];}get['flipY'](){const _0x5b611f={_0x159e62:0x4ab};function _0xc5c169(_0x4aa956,_0x1a66a8){return _0x2b6441(_0x4aa956,_0x1a66a8-_0x5b611f._0x159e62);}return this[_0xc5c169(0x4a3,0x7c2)];}get['sizeInBytes'](){return this['_sizeInBytes'];}get[_0x306755(0x104f,0xd73)](){const _0xb64455={_0x2c4f8f:0x138d};function _0x14f6ca(_0x28ee87,_0x45c1fb){return _0x2b6441(_0x45c1fb,_0x28ee87-0x262);}return this[_0x14f6ca(_0xb64455._0x2c4f8f,0x1386)];}[_0x2b6441(0xa31,0x5ef)](){return![];}[_0x306755(0x19d1,0xf8f)](){this['_context']['_gl']['deleteTexture'](this['_texture']);function _0x5c1fe6(_0x5358a8,_0x4e9ff0){return _0x306755(_0x4e9ff0,_0x5358a8- -0x536);}return Cesium__namespace[_0x5c1fe6(0xff2,0x15f9)](this);}}function texture3DSizeInBytes(_0x555eec,_0x52123e,_0x2fb1a9,_0x20aa4b,_0x4468dd){function _0x4bcf96(_0x2c999d,_0x570a5c){return _0x2b6441(_0x2c999d,_0x570a5c-0x57b);}const _0x4c750a=Cesium__namespace['PixelFormat']['componentsLength'](_0x555eec),_0x44507c=Cesium__namespace['PixelDatatype'][_0x4bcf96(0xdf4,0x1635)](_0x52123e);return _0x2fb1a9*_0x20aa4b*_0x4468dd*_0x4c750a*_0x44507c;}class ColorRamp{constructor(_0x3f1613){const _0x4ae9ff={_0x323b6f:0x1a83,_0x2e5876:0xce6,_0x39881b:0x18dd,_0x3dded3:0x1645,_0x4a0a49:0x133f,_0x166128:0x1916,_0x532c05:0xe17},_0x2eca4d={_0x9c11f4:0x653},_0x4060bb={_0x21891c:0x106};this['_steps']=_0x3f1613[_0x209a08(_0x4ae9ff._0x323b6f,0x1367)],this['_colors']=_0x3f1613['colors'];(!this['_steps']||this[_0x111043(_0x4ae9ff._0x2e5876,0xa2a)]['length']<0x2)&&logError('请传入\x20steps\x20参数值',this['_steps']);function _0x209a08(_0x3a9e96,_0x523b00){return _0x306755(_0x3a9e96,_0x523b00-_0x4060bb._0x21891c);}(!this[_0x209a08(_0x4ae9ff._0x39881b,0x133f)]||this['_colors'][_0x111043(0x16ad,0x1596)]<0x2)&&logError('请传入\x20colors\x20参数值',this['_colors']);this[_0x209a08(_0x4ae9ff._0x3dded3,_0x4ae9ff._0x4a0a49)][_0x209a08(_0x4ae9ff._0x166128,0x1701)]!==this['_steps']['length']&&logError('colors与steps参数数组长度需要一致',_0x3f1613);const _0x4aad4d=document['createElement']('canvas');_0x4aad4d[_0x209a08(0x12c3,0xcf1)]=0x100,_0x4aad4d['height']=0x1;const _0x2a050e=_0x4aad4d['getContext']('2d');_0x2a050e['beginPath']();const _0x2b46cf=this['_steps'][_0x111043(0x16ad,0x1b06)];function _0x111043(_0x1aecff,_0x3223ce){return _0x2b6441(_0x3223ce,_0x1aecff-_0x2eca4d._0x9c11f4);}this['_maxVal']=this['_steps'][_0x2b46cf-0x1];const _0x1afec0=_0x2a050e['createLinearGradient'](0x0,0x0,0x100,0x1);for(let _0x33d457=0x0;_0x33d457<_0x2b46cf;_0x33d457++){_0x1afec0[_0x111043(0x105c,_0x4ae9ff._0x532c05)](this['_steps'][_0x33d457]/this['_maxVal'],this['_colors'][_0x33d457]);}_0x2a050e['fillStyle']=_0x1afec0,_0x2a050e['rect'](0x0,0x0,0x100,0x1),_0x2a050e['fill'](),this['_imgData']=_0x2a050e['getImageData'](0x0,0x0,0x100,0x1)[_0x209a08(0xc57,0x14f8)];}[_0x2b6441(-0x2db,0x2ad)](_0x3326aa,_0x3b2b13=0.8){const _0x5448dc={_0x1bcae7:0x1e42,_0x58081a:0x14df,_0x2f60ab:0xec0,_0x3e5466:0xd88,_0x4d76cb:0x144d},_0x1c7557={_0x47fd70:0x10c};_0x3326aa=Math[_0x5e1344(0x16be,_0x5448dc._0x1bcae7)](_0x3326aa/this[_0x5e1344(0x129f,0x1ac3)]*(0x100-0x1));if(_0x3326aa<0x0)_0x3326aa=0x0;else _0x3326aa>0xff&&(_0x3326aa=0xff);let _0x10750e=this['_imgData'][_0x3326aa*0x4],_0x767d0=this[_0x162edf(_0x5448dc._0x58081a,0xe23)][_0x3326aa*0x4+0x1],_0x34bdad=this['_imgData'][_0x3326aa*0x4+0x2];isNaN(_0x10750e)&&(_0x10750e=0x0,_0x3b2b13=0x0);isNaN(_0x767d0)&&(_0x767d0=0x0,_0x3b2b13=0x0);isNaN(_0x34bdad)&&(_0x34bdad=0x0,_0x3b2b13=0x0);const _0x2f1aa2={};function _0x162edf(_0x4f9f76,_0x27a675){return _0x2b6441(_0x4f9f76,_0x27a675-_0x1c7557._0x47fd70);}function _0x5e1344(_0x331718,_0xbb5fc0){return _0x306755(_0xbb5fc0,_0x331718- -0x194);}return _0x2f1aa2['red']=_0x10750e,_0x2f1aa2[_0x162edf(_0x5448dc._0x2f60ab,0x939)]=_0x767d0,_0x2f1aa2[_0x162edf(_0x5448dc._0x3e5466,_0x5448dc._0x4d76cb)]=_0x34bdad,_0x2f1aa2['alpha']=_0x3b2b13,_0x2f1aa2;}['getColor'](_0x526345,_0x441c94){const {red:_0x56642d,green:_0x5ac8a8,blue:_0x1112c9,alpha:_0x771ac5}=this['_getColorObj'](_0x526345,_0x441c94);return'rgba('+_0x56642d+','+_0x5ac8a8+','+_0x1112c9+','+_0x771ac5+')';}[_0x2b6441(0x14a4,0xf46)](_0x3390da,_0x5c9ad5){const _0x3f8659={_0x1821d2:0x84};function _0x494062(_0x1aa6c1,_0x3565f5){return _0x306755(_0x1aa6c1,_0x3565f5- -0x482);}const {red:_0x4c9587,green:_0x41226d,blue:_0x11a8d1,alpha:_0x372ff6}=this['_getColorObj'](_0x3390da,_0x5c9ad5);return new Cesium__namespace[(_0x494062(_0x3f8659._0x1821d2,0xab2))](_0x4c9587,_0x41226d,_0x11a8d1,_0x372ff6);}}class TaskItem extends BaseClass{constructor(_0x37d96f={}){const _0x227459={_0x3fd125:0xbb7,_0x4a6f6b:0x9f5,_0x3fbbd2:0x6e6,_0xc66f10:0x9bf,_0x545383:0x126,_0x5a48db:0x166,_0x47c4a1:0x635};super(_0x37d96f),this[_0x376315(0x58d,_0x227459._0x3fd125)]=_0x37d96f['start']??0x0;function _0x230001(_0x368d63,_0x81d81a){return _0x2b6441(_0x81d81a,_0x368d63-0x528);}function _0x376315(_0x51b34b,_0x51b1a3){return _0x2b6441(_0x51b34b,_0x51b1a3-0x150);}Cesium__namespace['defined'](_0x37d96f[_0x230001(0x44d,_0x227459._0x4a6f6b)])?(this['_duration']=_0x37d96f[_0x376315(_0x227459._0x3fbbd2,0x75)],this[_0x376315(_0x227459._0xc66f10,_0x227459._0x545383)]=this['_start']+this[_0x376315(0x87f,0x635)]):(this[_0x376315(0x991,_0x227459._0x545383)]=_0x37d96f[_0x376315(0x1a10,0x138a)],this[_0x376315(-_0x227459._0x5a48db,_0x227459._0x47c4a1)]=this['_stop']-this[_0x230001(0xf8f,0xe0f)]);}get['id'](){return this['options']['id'];}get['name'](){const _0x2abb73={_0x2e6b1c:0xdc3,_0x3b03fd:0x9f9,_0x344156:0x91a},_0x1e7761={_0xdecc11:0x166},_0x7d5210={_0x23e2b2:0x124};function _0x476b49(_0x399d05,_0x2bdd97){return _0x306755(_0x399d05,_0x2bdd97-_0x7d5210._0x23e2b2);}function _0x272c6c(_0x30b642,_0xa528){return _0x306755(_0xa528,_0x30b642-_0x1e7761._0xdecc11);}return this[_0x272c6c(_0x2abb73._0x2e6b1c,0x82a)][_0x272c6c(_0x2abb73._0x3b03fd,_0x2abb73._0x344156)];}get['time'](){return this['_currentTime'];}get['index'](){function _0xf1d2a3(_0x48935c,_0x1be64b){return _0x2b6441(_0x48935c,_0x1be64b-0x282);}return this[_0xf1d2a3(0x2bf,0x93e)]['index'];}get[_0x306755(0x77b,0xb58)](){const _0xf8f392={_0x13bffd:0x14be},_0x28e5dc={_0x2092aa:0x44};function _0x154eaa(_0x79d0d6,_0x529f1a){return _0x2b6441(_0x79d0d6,_0x529f1a- -_0x28e5dc._0x2092aa);}return this[_0x154eaa(_0xf8f392._0x13bffd,0xa23)];}get['stop'](){const _0x4d0b2d={_0x3e121e:0x11b};function _0x81afb8(_0x594c4c,_0x417aad){return _0x306755(_0x417aad,_0x594c4c- -_0x4d0b2d._0x3e121e);}return this[_0x81afb8(0x45c,-0xf0)];}get['duration'](){return this['_duration'];}get[_0x306755(0x17d6,0x11ee)](){const _0x3257f0={_0x509fdd:0x10d6,_0x440507:0xe1e};function _0x50918e(_0x40a0cb,_0x2db0a8){return _0x2b6441(_0x40a0cb,_0x2db0a8-0x98);}if(this['_currentTime']<this['_start']||this[_0x50918e(_0x3257f0._0x509fdd,_0x3257f0._0x440507)]>this['_stop'])return 0x0;return this['_duration']-(this['_currentTime']-this['_start']);}get[_0x2b6441(0x1733,0xfef)](){return this['_isActivate'];}get['isPause'](){const _0x3de1fd={_0x16bbb2:0x20f2};function _0x3471d4(_0x64b270,_0x5272e3){return _0x306755(_0x5272e3,_0x64b270- -0x1b7);}return this[_0x3471d4(0x1621,_0x3de1fd._0x16bbb2)];}[_0x306755(0x105d,0x9ff)](_0xdaab07){const _0x49ade4={_0x4e40ef:0xa9a},_0x59d88a={_0x5ac3e3:0x40};function _0x67a40f(_0x3d523b,_0x2efbd9){return _0x2b6441(_0x2efbd9,_0x3d523b- -_0x59d88a._0x5ac3e3);}function _0x36f16a(_0x5cc16c,_0x261ccc){return _0x306755(_0x261ccc,_0x5cc16c-0x16a);}this['_currentTime']=_0xdaab07;if(this['options']['enabled']===![]||this[_0x67a40f(0x67c,0x108)]['show']===![])return;if(_0xdaab07<this[_0x67a40f(0xa27,_0x49ade4._0x4e40ef)]||_0xdaab07>=this['_stop'])this['disable']();else return this['activate']();}[_0x306755(0x1094,0xccd)](){const _0x2e13a6={_0x3d13ab:0x90b},_0x550323={_0x3702b8:0xac};if(this['_isPause']){this['proceed']();return;}if(this['_isActivate'])return![];this['_isActivate']=!![],this['_parent']['fire'](EventType[_0x2254c0(0xc88,0x1340)],{'index':this[_0x232749(-0x188,_0x2e13a6._0x3d13ab)],'time':this['time'],'sourceTarget':this});function _0x2254c0(_0x4ae7e4,_0x3a8f75){return _0x2b6441(_0x4ae7e4,_0x3a8f75-0x4bc);}function _0x232749(_0x1a2ba1,_0xa1c88a){return _0x2b6441(_0x1a2ba1,_0xa1c88a- -_0x550323._0x3702b8);}return this['_activateWork']&&this['_activateWork'](this[_0x2254c0(0xd8,0xb78)]),!![];}['disable'](){const _0x42b375={_0x2e5532:0x973,_0x2ad02c:0xcdc},_0x2e8332={_0x2628f5:0xea};if(!this[_0x10d16f(0xe4b,0x13b1)])return![];function _0x1bcf6d(_0x9ac28,_0x1405c7){return _0x306755(_0x1405c7,_0x9ac28- -0x185);}function _0x10d16f(_0x5166b4,_0x403284){return _0x306755(_0x403284,_0x5166b4-_0x2e8332._0x2628f5);}return delete this['_isActivate'],this[_0x10d16f(0x1711,0x13b8)]&&this['_disableWork'](this['options']),this['_parent'][_0x10d16f(_0x42b375._0x2e5532,_0x42b375._0x2ad02c)](EventType['endItem'],{'index':this[_0x10d16f(0x1042,0x7ea)],'time':this['time'],'sourceTarget':this}),!![];}['pause'](){const _0x19db93={_0x4a2f20:0x8ce,_0x412d9a:0x13d5,_0x2638ee:0xe52,_0x3ca2c6:0x3f6,_0x417af5:0x85a,_0x3ba09c:0x4a5},_0x1f89e3={_0x3f7b48:0x403};function _0x23db30(_0x10f35e,_0x312907){return _0x306755(_0x312907,_0x10f35e- -_0x1f89e3._0x3f7b48);}if(!this[_0x459334(0xece,_0x19db93._0x4a2f20)]||this[_0x23db30(_0x19db93._0x412d9a,_0x19db93._0x2638ee)])return![];this['_isPause']=!![];function _0x459334(_0x55fa43,_0x482f2b){return _0x2b6441(_0x55fa43,_0x482f2b-0x10e);}this[_0x23db30(0x1582,0x1388)][_0x459334(0x5e5,_0x19db93._0x3ca2c6)]('pauseItem',{'index':this['index'],'time':this['time'],'sourceTarget':this});if(this['_pauseWork'])this['_pauseWork'](this['options']);else this['_disableWork']&&this['_disableWork'](this[_0x23db30(_0x19db93._0x417af5,_0x19db93._0x3ba09c)]);}['proceed'](){const _0x58fd23={_0x4338db:0x1a85,_0x4e34a2:0x19e9,_0x18750e:0x8ed,_0x345706:0xd90,_0x19caec:0x1289,_0x8da45:0x897,_0x519cdc:0xcc1,_0x252ca5:0xae3,_0x371781:0x65d,_0x27eda8:0xc77},_0x489013={_0x4ebe2d:0x1a};if(!this[_0x331dd7(0x183c,_0x58fd23._0x4338db)])return![];function _0x458ebc(_0x3542dc,_0x219085){return _0x306755(_0x3542dc,_0x219085-_0x489013._0x4ebe2d);}function _0x331dd7(_0x92df8c,_0x3bb8a5){return _0x2b6441(_0x3bb8a5,_0x92df8c-0x605);}delete this['_isPause'],this[_0x331dd7(_0x58fd23._0x4e34a2,0x2379)][_0x331dd7(_0x58fd23._0x18750e,0xcef)](_0x331dd7(0x1751,_0x58fd23._0x345706),{'index':this[_0x458ebc(0x6d6,0xf72)],'time':this[_0x331dd7(_0x58fd23._0x19caec,_0x58fd23._0x8da45)],'sourceTarget':this});if(this[_0x458ebc(0xec6,0x794)])this[_0x331dd7(0x7de,0x843)](this[_0x331dd7(_0x58fd23._0x519cdc,0xf8b)]);else this['_activateWork']&&this[_0x331dd7(_0x58fd23._0x252ca5,0xe0f)](this[_0x458ebc(_0x58fd23._0x371781,_0x58fd23._0x27eda8)]);}['toJSON'](){const _0x131da6={_0x5abe6f:0x548,_0x5ba327:0x900,_0x571680:0x1e08,_0x4b21a6:0x7c8},_0x51ae8d={_0x431cf5:0x18b};function _0x51ca7b(_0x2c3b24,_0x3ae059){return _0x306755(_0x2c3b24,_0x3ae059- -_0x51ae8d._0x431cf5);}const _0x311a96=clone(this[_0x3955df(0x325,0xae0)],[_0x51ca7b(_0x131da6._0x5abe6f,_0x131da6._0x5ba327),_0x3955df(0xe07,0x100c)]);function _0x3955df(_0x759814,_0x2dca9d){return _0x2b6441(_0x759814,_0x2dca9d-0x424);}_0x311a96[_0x51ca7b(0x1c82,0x14d8)]=this[_0x51ca7b(_0x131da6._0x571680,0x14d8)];this[_0x51ca7b(0xc6e,_0x131da6._0x4b21a6)]&&this['_toJsonEx'](_0x311a96);for(const _0x4a38cc in _0x311a96){const _0x360538=_0x311a96[_0x4a38cc];(!Cesium__namespace[_0x3955df(0x153b,0x1635)](_0x360538)||isObject(_0x360538)&&Object['keys'](_0x360538)['length']===0x0)&&delete _0x311a96[_0x4a38cc];}return _0x311a96;}}const errorToken='无内置key,请参考\x20http://mars3d.cn/dev/issue/known/token.html\x20注册替换';let ion='eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIyNDMxOTA2NS1lY2Q3LTQ0YmUtOTE1Mi1iNWE2OGYwZjc0MjkiLCJpZCI6MjM1NjMwLCJpYXQiOjE3MzA3MjQzMTJ9.Xhu-9FyVEyqBKWEr0V9Sybt-elTCWHt9peL9-mNh-4E';function updateIon(_0x3bf610){const _0x373c73={_0x5738e9:0x1d6};function _0xa9164c(_0x12eab5,_0x1864e6){return _0x306755(_0x1864e6,_0x12eab5- -_0x373c73._0x5738e9);}ion=_0x3bf610,Cesium__namespace['Ion'][_0xa9164c(0xd9f,0xfcb)]=_0x3bf610;}let mapbox=errorToken;function updateMapbox(_0x1904e6){mapbox=_0x1904e6;}let bing=isMarsOnline?_0x2b6441(0x96b,0x118):errorToken;function updateBing(_0x1c8b58){bing=_0x1c8b58;}const tiandituArr=isMarsOnline?[_0x306755(0x1459,0xcfd),'772656db9731cb01e78e083139474b5b']:[_0x2b6441(0x404,0xbe5)];let tianditu=getArrayRandomOne(tiandituArr);function updateTianditu(_0x1ca3f7){tiandituArr['splice'](0x0,tiandituArr['length']),Array['isArray'](_0x1ca3f7)?_0x1ca3f7['forEach'](_0xd43c8=>{tiandituArr['push'](_0xd43c8);}):tiandituArr['push'](_0x1ca3f7),tianditu=getArrayRandomOne(tiandituArr);}const gaodeArr=isMarsOnline?['64f7c27bd15be09f105db1750b502bfc','74dfa5168bf285f5d14f54f6b8ea3d64',_0x2b6441(0x53,0x6cd),'f7892cc770abc7888e3083701c297e09']:[errorToken];let gaode=getArrayRandomOne(gaodeArr);function updateGaode(_0x3aaa0c){const _0x3f8be5={_0x5db27c:0x13c5};gaodeArr['splice'](0x0,gaodeArr[_0x13dc29(_0x3f8be5._0x5db27c,0x11ca)]);Array['isArray'](_0x3aaa0c)?_0x3aaa0c['forEach'](_0xb3fb8b=>{gaodeArr['push'](_0xb3fb8b);}):gaodeArr['push'](_0x3aaa0c);function _0x13dc29(_0xab9aa,_0x1d0f86){return _0x306755(_0x1d0f86,_0xab9aa- -0x236);}gaode=getArrayRandomOne(gaodeArr);}const baiduArr=isMarsOnline?['DXtZNcNHxhPxgbOLQhmR88AG7JNmKVOO','YWfmNSA7COMk7paj0qNNkDhAdhOhw9M2','6EVosdf8NzqnxEXhNB6iuXQ8K3BhGDQ1']:[errorToken];let baidu=getArrayRandomOne(baiduArr);function updateBaidu(_0xab6712){const _0x5582e7={_0x389d36:0x148e,_0x585f64:0x1a31},_0xf2652c={_0x105281:0x434};function _0x983431(_0x2a5548,_0x509308){return _0x2b6441(_0x509308,_0x2a5548-_0xf2652c._0x105281);}baiduArr['splice'](0x0,baiduArr[_0x983431(_0x5582e7._0x389d36,_0x5582e7._0x585f64)]),Array['isArray'](_0xab6712)?_0xab6712['forEach'](_0x4fdd75=>{baiduArr['push'](_0x4fdd75);}):baiduArr['push'](_0xab6712),baidu=getArrayRandomOne(baiduArr);}function updateAll(_0x4fc1f6){const _0x40a8fb={_0x2dc128:0x14ec,_0x2fca6d:0x915,_0x5ce2da:0x1064},_0x378190={_0x57b469:0xb0},_0x1083bc={_0x3d0da7:0x38a};function _0x110d07(_0x54327c,_0x442905){return _0x2b6441(_0x442905,_0x54327c-_0x1083bc._0x3d0da7);}_0x4fc1f6['tianditu']&&updateTianditu(_0x4fc1f6['tianditu']);_0x4fc1f6[_0x49987a(0x169d,_0x40a8fb._0x2dc128)]&&updateGaode(_0x4fc1f6['gaode']);function _0x49987a(_0x503a2c,_0x27aac8){return _0x306755(_0x503a2c,_0x27aac8- -_0x378190._0x57b469);}_0x4fc1f6['baidu']&&updateBaidu(_0x4fc1f6['baidu']),_0x4fc1f6['ion']&&updateIon(_0x4fc1f6[_0x110d07(_0x40a8fb._0x2fca6d,_0x40a8fb._0x5ce2da)]),_0x4fc1f6['mapbox']&&updateMapbox(_0x4fc1f6['mapbox']),_0x4fc1f6[_0x110d07(0x126f,0xb08)]&&updateBing(_0x4fc1f6['bing']);}const _0x565876={get 'ion'(){return ion;},get 'mapbox'(){return mapbox;},get 'bing'(){return bing;},get 'tianditu'(){return tianditu;},get 'gaode'(){return gaode;},get 'baidu'(){return baidu;}};_0x565876['__proto__']=null,_0x565876['updateIon']=updateIon,_0x565876['updateMapbox']=updateMapbox,_0x565876[_0x306755(0x167d,0x1426)]=updateBing,_0x565876[_0x2b6441(0xd58,0x87d)]=tiandituArr,_0x565876[_0x306755(0x1016,0x1938)]=updateTianditu,_0x565876['gaodeArr']=gaodeArr,_0x565876[_0x306755(0xacb,0xb3d)]=updateGaode,_0x565876[_0x2b6441(-0x4f1,0x1d2)]=baiduArr,_0x565876['updateBaidu']=updateBaidu,_0x565876[_0x306755(0x11bc,0x10a8)]=updateAll;var Token=_0x565876;const Color$2=Cesium__namespace['Material']['ColorType'],PolylineDash=Cesium__namespace[_0x2b6441(0xc46,0x966)]['PolylineDashType'],LineDashArrow=_0x306755(0x15b2,0xe02),LineDotDash=_0x2b6441(0x81c,0x24e),PolylineOutline=Cesium__namespace['Material'][_0x2b6441(0xabb,0x114b)],PolylineArrow=Cesium__namespace['Material'][_0x306755(0x8bf,0xa95)],PolylineGlow=Cesium__namespace['Material'][_0x2b6441(0xdc,0x93a)],LineFlow='LineFlow',LineFlowColor=_0x306755(0x11ae,0x72a),ODLine=_0x2b6441(0x1ce1,0x1297),LineFlicker=_0x2b6441(0xa75,0xec8),LineTrail='LineTrail',LineBloom=_0x306755(0x1e9a,0x185c),DigitalFlow=_0x306755(0x185d,0xe7f),LineThreeDash='LineThreeDash',LineCross=_0x2b6441(0x357,0xb43),WallScroll='WallScroll',Image$1=Cesium__namespace['Material'][_0x2b6441(0x95e,0x638)],Image2=_0x2b6441(0x9f1,0xcd9),Text='Text',Grid=Cesium__namespace['Material']['GridType'],Checkerboard=Cesium__namespace['Material']['CheckerboardType'],Stripe=Cesium__namespace['Material']['StripeType'],PolyGradient='PolyGradient',PolyAsphalt=_0x306755(0x1898,0x1353),PolyBlob='PolyBlob',PolyFacet='PolyFacet',PolyGrass=_0x2b6441(0xc0a,0xc3a),PolyWood='PolyWood',NeonLight=_0x306755(0x12ba,0x17cc),Water$1=Cesium__namespace['Material']['WaterType'],WaterLight=_0x306755(0x619,0xdbc),RectSlide='RectSlide',ScanLine='ScanLine',CircleScan=_0x306755(0xaa1,0xcc7),CircleWave=_0x2b6441(0xd3d,0x462),RadarLine=_0x306755(0x6aa,0x5c4),RadarWave=_0x306755(0xe2,0x710),CylinderWave='CylinderWave',EllipsoidElectric='EllipsoidElectric',EllipsoidWave=_0x2b6441(-0x286,0x149),_0x56bd87={};_0x56bd87['__proto__']=null,_0x56bd87['Color']=Color$2,_0x56bd87['PolylineDash']=PolylineDash,_0x56bd87['LineDashArrow']=LineDashArrow,_0x56bd87['LineDotDash']=LineDotDash,_0x56bd87['PolylineOutline']=PolylineOutline,_0x56bd87['PolylineArrow']=PolylineArrow,_0x56bd87[_0x2b6441(0x1002,0x1379)]=PolylineGlow,_0x56bd87['LineFlow']=LineFlow,_0x56bd87[_0x2b6441(-0x5f8,0x189)]=LineFlowColor,_0x56bd87['ODLine']=ODLine,_0x56bd87['LineFlicker']=LineFlicker,_0x56bd87[_0x2b6441(0x9c9,-0x23)]=LineTrail,_0x56bd87['LineBloom']=LineBloom,_0x56bd87[_0x306755(0x6f4,0xe7f)]=DigitalFlow,_0x56bd87[_0x2b6441(0xa8d,0x6c4)]=LineThreeDash,_0x56bd87[_0x2b6441(0x1479,0xb43)]=LineCross,_0x56bd87['WallScroll']=WallScroll,_0x56bd87['Image']=Image$1,_0x56bd87[_0x306755(0x1356,0x127a)]=Image2,_0x56bd87[_0x306755(0x265,0x676)]=Text,_0x56bd87['Grid']=Grid,_0x56bd87['Checkerboard']=Checkerboard,_0x56bd87['Stripe']=Stripe,_0x56bd87['PolyGradient']=PolyGradient,_0x56bd87[_0x306755(0x1486,0x1353)]=PolyAsphalt,_0x56bd87[_0x306755(-0x125,0x7eb)]=PolyBlob,_0x56bd87['PolyFacet']=PolyFacet,_0x56bd87['PolyGrass']=PolyGrass,_0x56bd87['PolyWood']=PolyWood,_0x56bd87['NeonLight']=NeonLight,_0x56bd87['Water']=Water$1,_0x56bd87['WaterLight']=WaterLight,_0x56bd87['RectSlide']=RectSlide,_0x56bd87['ScanLine']=ScanLine,_0x56bd87['CircleScan']=CircleScan,_0x56bd87['CircleWave']=CircleWave,_0x56bd87[_0x2b6441(-0xa75,0x23)]=RadarLine,_0x56bd87['RadarWave']=RadarWave,_0x56bd87[_0x2b6441(0xa09,0xe6a)]=CylinderWave,_0x56bd87['EllipsoidElectric']=EllipsoidElectric,_0x56bd87[_0x306755(0xf1b,0x6ea)]=EllipsoidWave;var MaterialType$1=_0x56bd87;const LayerType={},ControlType={},EffectType={},ThingType={},_0x3afc1d={};_0x3afc1d['ENLARGE']=0x0,_0x3afc1d[_0x306755(0x8c7,0x6cd)]=0x1,_0x3afc1d['LEFT_ROTATE']=0x2,_0x3afc1d['RIGHT_ROTATE']=0x3,_0x3afc1d['TOP_ROTATE']=0x4,_0x3afc1d['BOTTOM_ROTATE']=0x5;const MoveType=_0x3afc1d,_0x5a0acf={};_0x5a0acf['Z']=0x1,_0x5a0acf['ZR']=0x2,_0x5a0acf['X']=0x3,_0x5a0acf['XR']=0x4,_0x5a0acf['Y']=0x5,_0x5a0acf['YR']=0x6;const ClipType=_0x5a0acf,_0x203b61={};_0x203b61[_0x2b6441(0x1249,0x13b8)]='fa\x20fa-trash-o',_0x203b61[_0x306755(0x1433,0x14e5)]=_0x2b6441(-0x70b,0xd8),_0x203b61[_0x306755(0x826,0xc1e)]=_0x306755(0xa17,0x12ca),_0x203b61['Camera']='fa\x20fa-street-view',_0x203b61[_0x306755(0x6c3,0x508)]='fa\x20fa-ban',_0x203b61['UndergroundYes']='fa\x20fa-sort-amount-desc',_0x203b61['RotatePointStart']='fa\x20fa-retweet',_0x203b61['RotatePointStop']='fa\x20fa-remove',_0x203b61['FlyToPoint']=_0x306755(0xe0a,0xbb9),_0x203b61['FirstPerspective']='fa\x20fa-male',_0x203b61['KeyboardRoamYes']=_0x2b6441(0xdc4,0x455),_0x203b61[_0x306755(0x11da,0x17f3)]=_0x2b6441(-0x478,0x455),_0x203b61[_0x306755(0xb28,0x1257)]=_0x2b6441(0xede,0x11ca),_0x203b61['TrackedEntityNo']=_0x2b6441(-0x6e3,0xcc),_0x203b61['Tileset']=_0x2b6441(0xf59,0xfc7),_0x203b61['TilesetWireframeYes']=_0x2b6441(0x4d0,0x1e3),_0x203b61[_0x306755(0xfd0,0xed3)]=_0x306755(0x274,0x784),_0x203b61[_0x306755(0x8eb,0x4ce)]='fa\x20fa-codepen',_0x203b61['TilesetBoundingVolumeNo']='fa\x20fa-codepen',_0x203b61[_0x2b6441(0x1543,0x120e)]=_0x2b6441(0x894,0x34e),_0x203b61['TerrainYes']=_0x2b6441(0x265,0x943),_0x203b61[_0x306755(0x17e3,0x12e7)]='fa\x20fa-medium',_0x203b61[_0x2b6441(-0x44b,0x15)]='fa\x20fa-connectdevelop',_0x203b61['TerrainWireframeNo']='fa\x20fa-connectdevelop',_0x203b61['Measure']='fa\x20fa-share-alt',_0x203b61[_0x306755(0x1704,0xe9c)]=_0x306755(0xbda,0x14c7),_0x203b61[_0x306755(0x4f8,0x516)]='fa\x20fa-medium',_0x203b61[_0x2b6441(0x67d,0xb21)]='fa\x20fa-sort-amount-asc',_0x203b61['MeasureAngle']='fa\x20fa-road',_0x203b61[_0x306755(0x16d3,0x10ed)]='fa\x20fa-eyedropper',_0x203b61[_0x2b6441(0xf67,0x782)]=_0x2b6441(0x847,0xf40),_0x203b61['DrawPolyline']='fa\x20fa-reorder',_0x203b61[_0x2b6441(0xabb,0xc0c)]=_0x306755(0x1535,0xee4),_0x203b61['DrawCircle']=_0x2b6441(0xe5b,0x112c),_0x203b61['DrawRectangle']=_0x2b6441(-0x22e,0x7f8),_0x203b61[_0x306755(0xcd8,0xfe0)]='fa\x20fa-pencil',_0x203b61[_0x306755(0x1b43,0x11c1)]=_0x2b6441(0x1ccf,0x1208),_0x203b61[_0x306755(0xc47,0x4a8)]='fa\x20fa-file-text-o',_0x203b61['Effect']=_0x2b6441(0xcb4,0x13aa),_0x203b61[_0x306755(0xcb9,0xc64)]='fa\x20fa-tint',_0x203b61['RainEffectNo']=_0x2b6441(0x36a,0xbfc),_0x203b61[_0x306755(0xfdf,0x1547)]=_0x306755(0x78f,0x657),_0x203b61[_0x306755(0x157c,0x149c)]='fa\x20fa-yelp',_0x203b61['FogEffectYes']='fa\x20fa-spinner',_0x203b61[_0x2b6441(0xc63,0xcfb)]='fa\x20fa-spinner',_0x203b61['BloomEffectYes']='fa\x20fa-bullseye',_0x203b61['BloomEffectNo']='fa\x20fa-bullseye',_0x203b61[_0x306755(0x9a5,0xe8f)]='fa\x20fa-trello',_0x203b61['BrightnessEffectNo']=_0x306755(0x494,0x8fc),_0x203b61['NightVisionEffectYes']=_0x306755(0x1578,0xf7a),_0x203b61['NightVisionEffectNo']=_0x306755(0xbdb,0xf7a),_0x203b61[_0x2b6441(-0x762,0x2be)]=_0x306755(0x119c,0x1176),_0x203b61['BlackAndWhiteEffectNo']=_0x306755(0xce9,0x1176),_0x203b61[_0x2b6441(-0x30b,0x4df)]='fa\x20fa-ticket',_0x203b61['OutlineEffectNo']=_0x2b6441(-0x1f3,0x795),_0x203b61['Scene']=_0x2b6441(0xb18,0x803),_0x203b61[_0x306755(-0x486,0x59b)]=_0x2b6441(-0x2b8,0x25f),_0x203b61[_0x2b6441(0x9fb,0xd44)]=_0x2b6441(0xfb5,0xf4c),_0x203b61['SkyBoxYes']=_0x2b6441(0x3b,0x748),_0x203b61[_0x2b6441(0x668,0x790)]=_0x2b6441(0x6e4,0x748),_0x203b61[_0x306755(0xc4f,0xf45)]='fa\x20fa-sun-o',_0x203b61['ShadowNo']=_0x306755(0xb9e,0xb3e),_0x203b61[_0x2b6441(0xc0a,0x12fc)]='fa\x20fa-soundcloud',_0x203b61['SkyAtmosphereNo']=_0x2b6441(0x7b6,0xf15),_0x203b61['ExpImage']=_0x2b6441(-0x12,0xb);const Icon=_0x203b61,_0x3b2a56={};_0x3b2a56['Control']=0x1,_0x3b2a56['MoveAll']=0x2,_0x3b2a56['AddMidPoint']=0x3,_0x3b2a56[_0x2b6441(-0x1bf,0x33c)]=0x4,_0x3b2a56[_0x306755(0x6ae,0x1004)]=0x5,_0x3b2a56[_0x306755(0x1a40,0x14a9)]=0x6;const EditPointType=_0x3b2a56;function create$4(_0x35775a,_0x1ffc09,_0x221442){const _0x2f87d8={_0x14b403:0x10c1};function _0x423cbe(_0x55863a,_0x4c9f4c){return _0x306755(_0x55863a,_0x4c9f4c-0xb2);}function _0x12f7a7(_0x39a7df,_0x34e871){return _0x306755(_0x34e871,_0x39a7df- -0x528);}const _0xa5da42=document['createElement'](_0x35775a);return _0xa5da42[_0x12f7a7(_0x2f87d8._0x14b403,0xac4)]=_0x1ffc09||'',_0x221442&&_0x221442[_0x423cbe(0x174f,0x10e3)](_0xa5da42),_0xa5da42;}function createSvg(_0x312432,_0x4b3794,_0x34ac3f,_0x1ff49d){const _0x21dec9={_0x56e478:0xb98,_0x1074f5:0x16d4,_0x27dae6:0x1742,_0x5ba14d:0x2189,_0x359baf:0x1548,_0x2a5a2e:0xe08,_0x2f50c6:0xef0},_0x2e79cd=document['createElementNS'](_0x7c66f2(_0x21dec9._0x56e478,0x11ba),'svg:svg');_0x2e79cd[_0x7c66f2(_0x21dec9._0x1074f5,0x208d)](_0x7c66f2(_0x21dec9._0x27dae6,_0x21dec9._0x5ba14d),_0x7c66f2(0x89c,0x48d));function _0x5ae8ac(_0x59fd1d,_0x3efc26){return _0x2b6441(_0x3efc26,_0x59fd1d-0x5c4);}_0x2e79cd[_0x7c66f2(_0x21dec9._0x1074f5,0x1fa4)](_0x7c66f2(0xc97,0x78a),_0x312432),_0x2e79cd[_0x7c66f2(_0x21dec9._0x1074f5,0x14f9)]('height',_0x4b3794),_0x2e79cd['setAttribute']('viewBox',_0x7c66f2(0x17be,_0x21dec9._0x359baf)+_0x312432+'\x20'+_0x4b3794);const _0x1e34b6=document['createElementNS']('http://www.w3.org/2000/svg',_0x5ae8ac(_0x21dec9._0x2a5a2e,0x1093));_0x1e34b6['setAttribute']('d',_0x34ac3f);function _0x7c66f2(_0x512213,_0x110bd8){return _0x2b6441(_0x110bd8,_0x512213-0x64d);}return _0x2e79cd[_0x7c66f2(0x10dd,_0x21dec9._0x2f50c6)](_0x1e34b6),_0x1ff49d&&_0x1ff49d['appendChild'](_0x2e79cd),_0x2e79cd;}function createVideo(_0x11656c,_0x281f74,_0x57fd3b,_0x179634){const _0x3542f6={_0x3c43fa:0x20f,_0x222485:0x1082,_0x59b52f:0x5ff,_0x572196:0xea3,_0xc275a2:0x1528},_0xd8a8d7=create$4('video',_0x57fd3b,_0x179634);_0xd8a8d7['setAttribute']('autoplay',!![]),_0xd8a8d7['setAttribute']('loop',!![]),_0xd8a8d7[_0x5626c5(0x1082,0x707)]('crossorigin',!![]);!_0x281f74&&(_0x281f74=_0x11656c['substring'](_0x11656c['lastIndexOf']('.')+0x1,_0x11656c['length']));const _0x1eae58=create$4(_0x5626c5(_0x3542f6._0x3c43fa,-0x856),'',_0xd8a8d7);_0x1eae58[_0x5626c5(_0x3542f6._0x222485,_0x3542f6._0x59b52f)](_0x5626c5(_0x3542f6._0x572196,0x17dd),_0x11656c),_0x1eae58[_0x112319(0xc1a,0x14ed)](_0x112319(0xd2b,_0x3542f6._0xc275a2),'video/'+_0x281f74);function _0x112319(_0x1eabe0,_0x69b33e){return _0x2b6441(_0x1eabe0,_0x69b33e-0x466);}function _0x5626c5(_0x8b63b5,_0x2a59c1){return _0x306755(_0x2a59c1,_0x8b63b5- -0x5a6);}return _0xd8a8d7;}function get(_0x438abd){return typeof _0x438abd==='string'?document['getElementById'](_0x438abd):_0x438abd;}function parseDom(_0x26b363,_0x4e4224,_0x292ca6){const _0x3bfd4b={_0x42b5c8:0x11d1,_0x2340d6:0x115f,_0xeb7b5d:0x1607,_0x14e225:0x110c,_0x5936f4:0x1667},_0x2b02c4={_0x50807:0x165};function _0x1ff47b(_0x55743c,_0xb80083){return _0x306755(_0xb80083,_0x55743c- -0x28b);}function _0x3b2436(_0x513fb6,_0x5d21da){return _0x306755(_0x513fb6,_0x5d21da-_0x2b02c4._0x50807);}const _0x1be287=document[_0x1ff47b(_0x3bfd4b._0x42b5c8,_0x3bfd4b._0x2340d6)]('div');return _0x292ca6&&(_0x1be287['className']=_0x292ca6),_0x1be287[_0x1ff47b(_0x3bfd4b._0xeb7b5d,_0x3bfd4b._0x14e225)]=_0x26b363,_0x4e4224?_0x1be287:_0x1be287[_0x1ff47b(0x16ef,_0x3bfd4b._0x5936f4)];}function remove(_0x377935){const _0x176313={_0x52f9be:0x124a};_0x377935=get(_0x377935);if(!_0x377935)return;const _0x1496b8=_0x377935['parentNode'];function _0x4f2184(_0x5404d5,_0x44cf99){return _0x306755(_0x44cf99,_0x5404d5-0xee);}_0x1496b8&&_0x1496b8[_0x4f2184(_0x176313._0x52f9be,0xb3d)](_0x377935);}function empty(_0x27728c){const _0x5cb533={_0x4a4b46:0x115d,_0x1d0009:0x13f2},_0x17ad3a={_0x2bc1ed:0x3e1},_0x3fef32={_0x565f4d:0x491};function _0x2a982d(_0x33ccd6,_0x1c081b){return _0x306755(_0x33ccd6,_0x1c081b- -_0x3fef32._0x565f4d);}function _0x4b439a(_0x40a8bb,_0x59d39a){return _0x306755(_0x40a8bb,_0x59d39a- -_0x17ad3a._0x2bc1ed);}while(_0x27728c['firstChild']){_0x27728c[_0x4b439a(_0x5cb533._0x4a4b46,0xd7b)](_0x27728c[_0x4b439a(0x1174,_0x5cb533._0x1d0009)]);}}function getStyle(_0x3d3e34,_0x94d7d4){const _0xf5edc7={_0x29d439:0x1b42};let _0x354ff0=_0x3d3e34['style'][_0x94d7d4]||_0x3d3e34['currentStyle']&&_0x3d3e34['currentStyle'][_0x94d7d4];if((!_0x354ff0||_0x354ff0==='auto')&&document[_0xd60831(0x13e3,_0xf5edc7._0x29d439)]){const _0x3f4e32=document['defaultView']['getComputedStyle'](_0x3d3e34,null);_0x354ff0=_0x3f4e32?_0x3f4e32[_0x94d7d4]:null;}function _0xd60831(_0x306cd1,_0x4a4fc1){return _0x306755(_0x4a4fc1,_0x306cd1- -0x240);}return _0x354ff0==='auto'?null:_0x354ff0;}function hasClass(_0x5c88fa,_0x544daf){const _0x27995b={_0xdcfc7c:0x31a,_0x8b920c:0x31a,_0x197241:0x331,_0x3850d0:0x14d7,_0x4752c0:0xc58,_0x3c0c22:0x6c5},_0xcf7fe2={_0x337901:0x13c};if(!_0x5c88fa)return![];function _0x3da1bd(_0x436f15,_0xbc7027){return _0x2b6441(_0xbc7027,_0x436f15-_0xcf7fe2._0x337901);}if(_0x5c88fa[_0x3da1bd(_0x27995b._0xdcfc7c,0x537)]!==undefined)return _0x5c88fa[_0x3da1bd(_0x27995b._0x8b920c,-0x728)][_0x499607(-_0x27995b._0x197241,0x43b)](_0x544daf);function _0x499607(_0x548a16,_0x5a0da6){return _0x2b6441(_0x548a16,_0x5a0da6-0x1f4);}const _0x4b7e3f=getClass$4(_0x5c88fa);return _0x4b7e3f[_0x3da1bd(0x1196,_0x27995b._0x3850d0)]>0x0&&new RegExp('(^|\x5cs)'+_0x544daf+_0x499607(_0x27995b._0x4752c0,0x7ba))[_0x499607(-0x3cb,_0x27995b._0x3c0c22)](_0x4b7e3f);}function addClass(_0x17c531,_0x44630d){const _0x181973={_0x34ba0f:0x1fb1,_0x4910f9:0x6bf,_0x225c47:0xc59};function _0x1750f0(_0x4739d5,_0x21c42f){return _0x2b6441(_0x4739d5,_0x21c42f-0x2e1);}if(!_0x17c531)return;function _0x542a9a(_0xf67aa3,_0x3eb947){return _0x2b6441(_0x3eb947,_0xf67aa3-0x4e1);}if(_0x17c531['classList']!==undefined){const _0xfb6f67=splitWords(_0x44630d);for(let _0xe41f05=0x0,_0x43a897=_0xfb6f67[_0x542a9a(0x153b,_0x181973._0x34ba0f)];_0xe41f05<_0x43a897;_0xe41f05++){_0x17c531[_0x542a9a(_0x181973._0x4910f9,_0x181973._0x225c47)]['add'](_0xfb6f67[_0xe41f05]);}}else{if(!hasClass(_0x17c531,_0x44630d)){const _0x3942ab=getClass$4(_0x17c531);setClass(_0x17c531,(_0x3942ab?_0x3942ab+'\x20':'')+_0x44630d);}}}function removeClass(_0x465b39,_0x5926b6){const _0x15da92={_0x1ce1bc:0x3e4},_0x5112e1={_0xb3ca92:0x536};function _0x4e9187(_0x526f9c,_0x313db3){return _0x306755(_0x313db3,_0x526f9c- -_0x5112e1._0xb3ca92);}if(!_0x465b39)return;_0x465b39['classList']!==undefined?_0x465b39[_0x4e9187(0x249,_0x15da92._0x1ce1bc)]['remove'](_0x5926b6):setClass(_0x465b39,trim(('\x20'+getClass$4(_0x465b39)+'\x20')['replace']('\x20'+_0x5926b6+'\x20','\x20')));}function setClass(_0x56135b,_0x5ef892){const _0x5dc642={_0x353968:0x124d,_0x55fba4:0x1347,_0x5e658c:0x11ea};function _0x555421(_0x42292b,_0x55e37f){return _0x2b6441(_0x55e37f,_0x42292b-0x2ff);}function _0xc14bde(_0x5dfa3d,_0x554cb9){return _0x306755(_0x5dfa3d,_0x554cb9- -0x39c);}!_0x56135b[_0xc14bde(0x19d9,_0x5dc642._0x353968)]||!_0x56135b[_0x555421(_0x5dc642._0x55fba4,_0x5dc642._0x5e658c)]['baseVal']?_0x56135b['className']=_0x5ef892:_0x56135b['className']['baseVal']=_0x5ef892;}function getClass$4(_0x411cd8){function _0x19e80a(_0xbbcb2a,_0x3d8590){return _0x306755(_0x3d8590,_0xbbcb2a- -0xe1);}var _0x2dd2f6;return _0x411cd8['correspondingElement']&&(_0x411cd8=_0x411cd8['correspondingElement']),(_0x2dd2f6=_0x411cd8['className'])!==null&&_0x2dd2f6!==void 0x0&&_0x2dd2f6['baseVal']?_0x411cd8['className'][_0x19e80a(0x1602,0x1523)]:_0x411cd8['className'];}function copyCanvas(_0x11a0a5){const _0x9aaa92={_0x116410:0xad3,_0x2d63e4:0x66f,_0x470339:0x178,_0x50fee9:0x1fbc,_0x1e7bc0:0xd58,_0x36447c:0x7aa},_0x37928b={};function _0x11c255(_0x4a51d5,_0xd14ed){return _0x2b6441(_0xd14ed,_0x4a51d5-0x137);}_0x37928b[_0x5a9372(0x10a3,0x1aee)]=!![];const _0x31202d=_0x11a0a5['getContext']('2d',_0x37928b)[_0x5a9372(0x676,0x8dc)](0x0,0x0,_0x11a0a5['width'],_0x11a0a5['height']),_0x58b194=document['createElement']('canvas');_0x58b194['width']=_0x11a0a5['width'],_0x58b194['height']=_0x11a0a5['height'];function _0x5a9372(_0x24d365,_0x12b260){return _0x2b6441(_0x12b260,_0x24d365-0x707);}const _0x37b4d5={};_0x37b4d5[_0x11c255(_0x9aaa92._0x116410,_0x9aaa92._0x2d63e4)]=!![];const _0x195c9a=_0x58b194[_0x11c255(0x81a,_0x9aaa92._0x470339)]('2d',_0x37b4d5);return _0x195c9a[_0x5a9372(0x1586,_0x9aaa92._0x50fee9)](0x0,0x0,_0x58b194['width'],_0x58b194[_0x5a9372(_0x9aaa92._0x1e7bc0,_0x9aaa92._0x36447c)]),_0x195c9a['putImageData'](_0x31202d,0x0,0x0),_0x58b194;}const _0x146a3d={};_0x146a3d['__proto__']=null,_0x146a3d['create']=create$4,_0x146a3d['createSvg']=createSvg,_0x146a3d['createVideo']=createVideo,_0x146a3d['get']=get,_0x146a3d[_0x2b6441(0x191,0x661)]=parseDom,_0x146a3d['remove']=remove,_0x146a3d['empty']=empty,_0x146a3d['getStyle']=getStyle,_0x146a3d['hasClass']=hasClass,_0x146a3d[_0x2b6441(0x959,0x1040)]=addClass,_0x146a3d[_0x2b6441(0xdd0,0xad6)]=removeClass,_0x146a3d[_0x2b6441(-0x5dd,0x28f)]=setClass,_0x146a3d[_0x2b6441(0x231,0x593)]=getClass$4,_0x146a3d[_0x306755(-0x1ab,0x74f)]=copyCanvas;var DomUtil=_0x146a3d;function getDistance(_0x10c1a1,_0x2e9225){const _0x223a13={_0x5673f7:0xfc6,_0x5f38cb:0xe1f},_0x42dcad={_0x4d58e9:0xa9},_0x324a92=_0x10c1a1['length'];if(!Cesium__namespace['defined'](_0x10c1a1)||_0x324a92<0x2)return 0x0;function _0x1eb012(_0x47183d,_0x55c434){return _0x306755(_0x55c434,_0x47183d-_0x42dcad._0x4d58e9);}_0x10c1a1=LngLatArray['toCartesians'](_0x10c1a1);let _0x41043e=0x0;function _0x199edf(_0x30482c,_0x5385bb){return _0x306755(_0x30482c,_0x5385bb-0xe5);}for(let _0x423a2e=0x1;_0x423a2e<_0x324a92;_0x423a2e++){_0x41043e+=Cesium__namespace['Cartesian3'][_0x1eb012(_0x223a13._0x5673f7,_0x223a13._0x5f38cb)](_0x10c1a1[_0x423a2e-0x1],_0x10c1a1[_0x423a2e]);}return _0x2e9225&&(_0x41043e+=Cesium__namespace[_0x1eb012(0xaca,0x1589)][_0x1eb012(0xfc6,0x1790)](_0x10c1a1[0x0],_0x10c1a1[_0x324a92-0x1])),_0x41043e;}function getSurfaceDistance(_0x579ea8){const _0x42b85e={_0x135848:0x1427,_0x18dc4d:0x1250,_0xbfae64:0x1ad8,_0x48fd37:0x117c,_0x24daae:0x948,_0x205db1:0xfdd,_0x13758c:0xce2},_0x376a2f={_0x38b129:0x562};if(!Cesium__namespace[_0x560cb3(_0x42b85e._0x135848,_0x42b85e._0x18dc4d)](_0x579ea8)||_0x579ea8['length']<0x2)return 0x0;_0x579ea8=LngLatArray['toCartesians'](_0x579ea8);function _0x560cb3(_0x2c7f45,_0x14bfdd){return _0x306755(_0x2c7f45,_0x14bfdd- -_0x376a2f._0x38b129);}let _0xac1e9c=0x0;function _0x300c8e(_0x5025ae,_0x58abf9){return _0x306755(_0x5025ae,_0x58abf9-0xf0);}for(let _0xb47cb0=0x1,_0x42e2f0=_0x579ea8['length'];_0xb47cb0<_0x42e2f0;_0xb47cb0++){const _0xecf421=Cesium__namespace['Cartographic']['fromCartesian'](_0x579ea8[_0xb47cb0-0x1]),_0x274401=Cesium__namespace['Cartographic']['fromCartesian'](_0x579ea8[_0xb47cb0]),_0x3f0d42=new Cesium__namespace[(_0x560cb3(_0x42b85e._0xbfae64,_0x42b85e._0x48fd37))]();_0x3f0d42['setEndPoints'](_0xecf421,_0x274401);let _0x2450c2=_0x3f0d42[_0x300c8e(0x935,_0x42b85e._0x24daae)];_0x2450c2=Math[_0x560cb3(0x1aaa,_0x42b85e._0x205db1)](Math['pow'](_0x2450c2,0x2)+Math[_0x300c8e(0x1a3e,0x176c)](_0x274401['height']-_0xecf421[_0x300c8e(0xed0,_0x42b85e._0x13758c)],0x2)),_0xac1e9c+=_0x2450c2;}return _0xac1e9c;}function getClampDistance(_0x4c4c3c,_0x22fbdc){let _0x2be4f6=0x0;const _0x3f4bdf=[];return new Promise((_0x3e6810,_0x392879)=>{const _0x3aeb93={_0x2333ce:0x666},_0x34028c={_0x2e3800:0x260,_0x17d3ac:0x7a};setTimeout(()=>{const _0x591202={_0x1f1175:0x102d,_0x121f57:0xe95},_0x27e481={_0x53a92b:0x1bb};function _0x537f95(_0x57309c,_0x31f9fe){return _0x5bbe(_0x31f9fe- -_0x27e481._0x53a92b,_0x57309c);}function _0xf14b90(_0x8aeab9,_0x3800ee){return _0x5bbe(_0x8aeab9- -0x18c,_0x3800ee);}computeStepSurfaceLine({'scene':_0x22fbdc[_0xf14b90(_0x3aeb93._0x2333ce,0x7c4)],'positions':_0x4c4c3c,'splitNum':_0x22fbdc['splitNum'],'has3dtiles':_0x22fbdc[_0x537f95(0x9e5,0x579)],'exact':_0x22fbdc['exact']??!![],'endItem':function(_0x4d0880,_0x305057,_0x412b97){let _0xcd24b2=getSurfaceDistance(_0x4d0880);_0x305057&&_0x22fbdc['disTerrainScale']&&(_0xcd24b2=_0xcd24b2*_0x22fbdc['disTerrainScale']);function _0x54ec95(_0x30944b,_0x155a72){return _0x537f95(_0x30944b,_0x155a72- -0x78);}function _0x522bf6(_0x55a0be,_0x1d104f){return _0x537f95(_0x1d104f,_0x55a0be-0x101);}_0x2be4f6+=_0xcd24b2,_0x3f4bdf['push'](_0xcd24b2);if(_0x22fbdc[_0x522bf6(_0x591202._0x1f1175,0x1403)]){const _0x766a6={};_0x766a6['index']=_0x412b97,_0x766a6[_0x522bf6(0x166c,_0x591202._0x121f57)]=_0x4d0880,_0x766a6['distance']=_0xcd24b2,_0x766a6['arrDistance']=_0x3f4bdf,_0x766a6['all_distance']=_0x2be4f6,_0x22fbdc['endItem'](_0x766a6);}},'end':function(_0x393148){const _0x5c5d13={_0x1e1573:0xb2},_0x5286bf={_0x511c5e:0x84};_0x22fbdc[_0x576bf6(_0x34028c._0x2e3800,0xc89)]&&_0x22fbdc['callback'](_0x2be4f6);_0x22fbdc['end']&&_0x22fbdc[_0x5e3624(0x5a0,-_0x34028c._0x17d3ac)](_0x2be4f6);const _0x1d2a6b={};_0x1d2a6b['distance']=_0x2be4f6;function _0x5e3624(_0x560d0b,_0x5bcba6){return _0x537f95(_0x5bcba6,_0x560d0b-_0x5286bf._0x511c5e);}function _0x576bf6(_0x418320,_0x3e0310){return _0x537f95(_0x3e0310,_0x418320-_0x5c5d13._0x1e1573);}_0x1d2a6b['arrDistance']=_0x3f4bdf,_0x1d2a6b['arrPositions']=_0x393148,_0x3e6810(_0x1d2a6b);}});},0x32);});}function getArea(_0x5a061b){const _0x1fc236={_0xddaf90:0x100f,_0x86be95:0x1604,_0x1f1b45:0xbff,_0x5e3401:0x19ab,_0x2f2082:0x23e5,_0xe4db30:0x14,_0xddb171:0x76e,_0x46b9d4:0x15a1,_0x188477:0x435,_0x41bfda:0x9c7,_0x85f109:0x9c7,_0x6354d2:0x842},_0x3ff01c={_0x4fe4d7:0x547},_0x1ac5ae={_0x1a30d3:0x5ec};if(!_0x5a061b||!Array[_0x6d1c3a(0x7da,0xb0c)](_0x5a061b)||_0x5a061b[_0x45007c(0x1309,_0x1fc236._0xddaf90)]<0x3)return 0x0;_0x5a061b=LngLatArray[_0x45007c(0x4c8,0x69f)](_0x5a061b);const _0x4976c1=Cesium__namespace[_0x6d1c3a(0xbff,_0x1fc236._0x86be95)]['createGeometry'](Cesium__namespace[_0x6d1c3a(_0x1fc236._0x1f1b45,0x147e)]['fromPositions']({'positions':_0x5a061b,'vertexFormat':Cesium__namespace[_0x6d1c3a(_0x1fc236._0x5e3401,_0x1fc236._0x2f2082)]['POSITION_ONLY']}));let _0x47a493=0x0;if(!_0x4976c1)return _0x47a493;const _0x358098=_0x4976c1['attributes']['position'][_0x6d1c3a(0x68a,_0x1fc236._0xe4db30)],_0x502263=_0x4976c1[_0x6d1c3a(_0x1fc236._0xddb171,0xc1a)];for(let _0x284e82=0x0;_0x284e82<_0x502263[_0x6d1c3a(_0x1fc236._0x46b9d4,0xc2c)];_0x284e82+=0x3){const _0x497e3b=Cesium__namespace[_0x45007c(0xdcf,_0x1fc236._0x188477)][_0x6d1c3a(0x7f7,0xba8)](_0x358098,_0x502263[_0x284e82]*0x3,new Cesium__namespace['Cartesian3']()),_0x8f771f=Cesium__namespace[_0x6d1c3a(_0x1fc236._0x41bfda,0x12c5)]['unpack'](_0x358098,_0x502263[_0x284e82+0x1]*0x3,new Cesium__namespace[(_0x6d1c3a(_0x1fc236._0x85f109,_0x1fc236._0x6354d2))]()),_0x2e7646=Cesium__namespace['Cartesian3']['unpack'](_0x358098,_0x502263[_0x284e82+0x2]*0x3,new Cesium__namespace[(_0x45007c(0x504,0x435))]());_0x47a493+=getTriangleArea(_0x497e3b,_0x8f771f,_0x2e7646);}function _0x45007c(_0x45b962,_0x270cfc){return _0x306755(_0x45b962,_0x270cfc- -_0x1ac5ae._0x1a30d3);}function _0x6d1c3a(_0x49b79a,_0x31b07d){return _0x2b6441(_0x31b07d,_0x49b79a-_0x3ff01c._0x4fe4d7);}return _0x47a493;}function getTriangleArea(_0x4b9d78,_0x34097f,_0x3841a8){const _0xcc8057={_0x78c80b:0x10c8},_0x1e58a1=Cesium__namespace['Cartesian3']['subtract'](_0x4b9d78,_0x34097f,new Cesium__namespace['Cartesian3']());function _0x4f2830(_0x46fe7f,_0x3880c0){return _0x2b6441(_0x3880c0,_0x46fe7f-0x6ad);}function _0x4b7424(_0x3d495b,_0x2419e2){return _0x2b6441(_0x3d495b,_0x2419e2-0x566);}const _0xf2ed3=Cesium__namespace[_0x4b7424(0x1dc,0x9e6)]['subtract'](_0x3841a8,_0x34097f,new Cesium__namespace['Cartesian3']()),_0x7a2f2e=Cesium__namespace[_0x4f2830(0xb2d,0xf90)][_0x4b7424(0x121f,_0xcc8057._0x78c80b)](_0x1e58a1,_0xf2ed3,_0x1e58a1);return Cesium__namespace[_0x4f2830(0xb2d,0x71a)]['magnitude'](_0x7a2f2e)*0.5;}function getClampArea(_0xe63e00,_0x577b17){const _0x57801b={_0x4a90f2:0x125b,_0x3bcf79:0xa83,_0x146394:0xe1a,_0xddb15f:0x836},_0x3b160b={'positions':_0xe63e00,'exact':!![],..._0x577b17};return interPolygon(_0x3b160b)['then'](_0x4b4e30=>{let _0x1793f6=0x0;for(let _0x39ebb6=0x0,_0x341029=_0x4b4e30['list']['length'];_0x39ebb6<_0x341029;_0x39ebb6++){const _0x342784=_0x4b4e30[_0x1d2020(_0x57801b._0x4a90f2,_0x57801b._0x3bcf79)][_0x39ebb6],_0x1e8eca=_0x342784['point1'],_0x4055e7=_0x342784['point2'],_0x41cc08=_0x342784['point3'];_0x1793f6+=getTriangleArea(_0x1e8eca[_0x334446(_0x57801b._0x146394,0x17f7)],_0x4055e7['pointDM'],_0x41cc08['pointDM']);}function _0x334446(_0x5640e1,_0x4a1663){return _0x5bbe(_0x5640e1- -0x2d,_0x4a1663);}_0x4b4e30[_0x1d2020(-0x21c,_0x57801b._0xddb15f)]=_0x1793f6;_0x577b17['callback']&&_0x577b17[_0x334446(0x33c,0x1bb)](_0x1793f6,_0x4b4e30);function _0x1d2020(_0x4d975f,_0x47f133){return _0x5bbe(_0x47f133-0x3db,_0x4d975f);}return _0x4b4e30;});}function getSurfaceArea(_0x40d450){const _0x244102={_0x1d23a0:0x163b,_0x518c44:0x14de,_0x2c338f:0xa3d},_0x4b72f3={_0x2dd6a9:0x28};if(!_0x40d450||!Array['isArray'](_0x40d450)||_0x40d450['length']<0x3)return 0x0;const _0x3349a8=LngLatArray['toArray'](_0x40d450);_0x3349a8[_0x226ecf(0x9b1,0x1319)]>0x0&&_0x3349a8['push'](_0x3349a8[0x0]);const _0x1b1cc0={};_0x1b1cc0[_0x2527a4(_0x244102._0x1d23a0,_0x244102._0x518c44)]='Polygon',_0x1b1cc0[_0x2527a4(0xbe9,0x15b8)]=[_0x3349a8];const _0x3fe0e5={};function _0x226ecf(_0x41694d,_0xf7495d){return _0x2b6441(_0x41694d,_0xf7495d-0x2bf);}_0x3fe0e5[_0x2527a4(0x163b,0x1254)]=_0x2527a4(0xa0c,_0x244102._0x2c338f),_0x3fe0e5['geometry']=_0x1b1cc0;function _0x2527a4(_0x245882,_0x48050d){return _0x306755(_0x48050d,_0x245882- -_0x4b72f3._0x2dd6a9);}const _0x2946e3=area(_0x3fe0e5);return _0x2946e3;}function getAngle(_0x5a4e95,_0x47992a,_0x5074ed){const _0x521c63={_0x43eb35:0x171f,_0x539bf0:0xa18,_0x11b862:0x1061,_0x3591bc:0xec8,_0x466e42:0x489,_0x4c86d6:0x60e,_0x10cc60:0xd7f,_0x26eda3:0xe0f};let _0x25fd21=Cesium__namespace['Transforms'][_0x171cfe(0x19c6,0x1750)](_0x47992a);_0x25fd21=Cesium__namespace['Matrix4']['getMatrix3'](_0x25fd21,new Cesium__namespace['Matrix3']());function _0x171cfe(_0x4fe0e3,_0x4310ea){return _0x306755(_0x4fe0e3,_0x4310ea- -0x9);}const _0x119e98=Cesium__namespace[_0x171cfe(_0x521c63._0x43eb35,0x13a7)]['getColumn'](_0x25fd21,0x0,new Cesium__namespace['Cartesian3']()),_0x56e4ab=Cesium__namespace['Matrix3']['getColumn'](_0x25fd21,0x1,new Cesium__namespace[(_0x171cfe(0xc13,_0x521c63._0x539bf0))]()),_0x2cc62b=Cesium__namespace[_0x3305ec(0xe18,_0x521c63._0x11b862)]['getColumn'](_0x25fd21,0x2,new Cesium__namespace[(_0x171cfe(_0x521c63._0x3591bc,_0x521c63._0x539bf0))]());let _0x50eeac=Cesium__namespace['Cartesian3']['subtract'](_0x5a4e95,_0x47992a,new Cesium__namespace['Cartesian3']());if(isNaN(_0x50eeac['x'])||isNaN(_0x50eeac['y'])||isNaN(_0x50eeac['z'])||_0x50eeac[_0x171cfe(0xd1a,0xfac)](Cesium__namespace[_0x3305ec(_0x521c63._0x466e42,-0x8f)][_0x3305ec(-0x28,_0x521c63._0x4c86d6)]))return 0x0;_0x50eeac=Cesium__namespace[_0x3305ec(0x489,_0x521c63._0x10cc60)]['cross'](_0x50eeac,_0x2cc62b,_0x50eeac),_0x50eeac=Cesium__namespace['Cartesian3']['cross'](_0x2cc62b,_0x50eeac,_0x50eeac),_0x50eeac=Cesium__namespace['Cartesian3']['normalize'](_0x50eeac,_0x50eeac);let _0x23c5a5=Cesium__namespace['Cartesian3']['angleBetween'](_0x119e98,_0x50eeac);const _0x8bb2be=Cesium__namespace['Cartesian3']['angleBetween'](_0x56e4ab,_0x50eeac);function _0x3305ec(_0x38c2d6,_0x37ea89){return _0x2b6441(_0x37ea89,_0x38c2d6-0x9);}_0x8bb2be>Math['PI']*0.5&&(_0x23c5a5=0x2*Math['PI']-_0x23c5a5);let _0x589046=0x168-Cesium__namespace['Math'][_0x171cfe(0xa26,_0x521c63._0x26eda3)](_0x23c5a5)-0xb4;_0x5074ed&&(_0x589046+=0x5a);if(_0x589046<0x0)_0x589046=_0x589046+0x168;else _0x589046>0x168&&(_0x589046=_0x589046-0x168);return _0x589046;}function formatDistance(_0x41a4c9,_0x17f615={}){const _0x4a5d68={_0x5726e7:0x997,_0x4b1433:0x521,_0x2b6def:0x641,_0x214cc5:0xeae,_0x4336d0:0x134d,_0x4b987a:0x1115},_0x41603e={_0x2acd8b:0x4c1},_0x33be6a={_0x4d85c1:0x16b};if(_0x41a4c9==null)return'';_0x41a4c9=Number(_0x41a4c9);if(isNaN(_0x41a4c9)||_0x41a4c9===0x0)return'';function _0x139f5c(_0x3e4dcd,_0x1aef11){return _0x306755(_0x3e4dcd,_0x1aef11- -_0x33be6a._0x4d85c1);}(_0x17f615['unit']==null||_0x17f615[_0x139f5c(0x688,_0x4a5d68._0x5726e7)]===_0x5ce4cd(_0x4a5d68._0x4b1433,0xac5))&&(_0x41a4c9<0x3e8?_0x17f615['unit']='m':_0x17f615[_0x5ce4cd(_0x4a5d68._0x2b6def,0x686)]='km');_0x17f615['decimal']=_0x17f615[_0x5ce4cd(0x134d,0x156d)]??0x2;const _0xf8339b=_0x17f615['getLangText']||getLangText;function _0x5ce4cd(_0x5f208f,_0x40c296){return _0x306755(_0x40c296,_0x5f208f- -_0x41603e._0x2acd8b);}let _0x29f021='';switch(_0x17f615[_0x5ce4cd(_0x4a5d68._0x2b6def,-0x3d7)]){case'km':_0x29f021=(_0x41a4c9*0.001)['toFixed'](_0x17f615[_0x5ce4cd(0x134d,0x1b2d)])+_0xf8339b('_公里');break;case'wm':_0x29f021=(_0x41a4c9*0.0001)['toFixed'](_0x17f615[_0x5ce4cd(0x134d,0x1b37)])+_0xf8339b('_万米');break;case'mile':_0x29f021=(_0x41a4c9*0.00054)['toFixed'](_0x17f615[_0x5ce4cd(0x134d,_0x4a5d68._0x214cc5)])+_0xf8339b('_海里');break;case'zhang':_0x29f021=(_0x41a4c9*0.3)['toFixed'](_0x17f615['decimal'])+_0xf8339b('_丈');break;case'm':default:_0x29f021=_0x41a4c9[_0x139f5c(0xdf1,0x1857)](_0x17f615[_0x5ce4cd(_0x4a5d68._0x4336d0,_0x4a5d68._0x4b987a)])+_0xf8339b('_米');break;}return _0x29f021;}function formatArea(_0x3ed1a4,_0x21add5={}){const _0x372577={_0x444ad1:0x12bd,_0x2aa832:0x1bb4,_0x103195:0x14ac,_0x33eaa6:0xfa7,_0x4048b0:0x1047,_0xab1aab:0x1419,_0x6eaba4:0xcf4,_0x4e26ed:0xef8};function _0x296008(_0x855d31,_0x5669ad){return _0x306755(_0x5669ad,_0x855d31-0x12);}if(_0x3ed1a4==null)return'';_0x3ed1a4=Number(_0x3ed1a4);if(isNaN(_0x3ed1a4)||_0x3ed1a4===0x0)return'';(_0x21add5['unit']==null||_0x21add5[_0x296008(0xb14,0xad0)]==='auto')&&(_0x3ed1a4<0xf4240?_0x21add5['unit']='m':_0x21add5['unit']='km');_0x21add5['decimal']=_0x21add5[_0x5677cd(_0x372577._0x444ad1,_0x372577._0x2aa832)]??0x2;const _0x570b68=_0x21add5[_0x296008(0xd7f,_0x372577._0x103195)]||getLangText;let _0x21ce54='';switch(_0x21add5['unit']){case'km':_0x21ce54=(_0x3ed1a4/0xf4240)['toFixed'](_0x21add5[_0x296008(0x1820,_0x372577._0x33eaa6)])+_0x570b68('_平方公里');break;case'mu':_0x21ce54=(_0x3ed1a4*0.0015)['toFixed'](_0x21add5['decimal'])+_0x570b68('_亩');break;case'ha':_0x21ce54=(_0x3ed1a4*0.0001)['toFixed'](_0x21add5['decimal'])+_0x570b68(_0x5677cd(_0x372577._0x4048b0,_0x372577._0xab1aab));break;case'm':default:_0x21ce54=_0x3ed1a4['toFixed'](_0x21add5[_0x296008(0x1820,0x19d2)])+_0x570b68(_0x296008(_0x372577._0x6eaba4,_0x372577._0x4e26ed));break;}function _0x5677cd(_0xcb5578,_0x3fa5bf){return _0x306755(_0x3fa5bf,_0xcb5578- -0x551);}return _0x21ce54;}function formatVolume(_0x30d4f0,_0x2d3dca={}){const _0x3341b2={_0x45e2fe:0x133c,_0x373c1f:0x1a59,_0x368935:0x18a5,_0x3a532e:0x1854};if(_0x30d4f0==null)return'';_0x30d4f0=Number(_0x30d4f0);if(isNaN(_0x30d4f0)||_0x30d4f0===0x0)return'';function _0x50b880(_0x325c91,_0x448c33){return _0x306755(_0x448c33,_0x325c91-0x97);}_0x2d3dca[_0x50b880(0x18a5,0x1f76)]=_0x2d3dca[_0x50b880(0x18a5,_0x3341b2._0x45e2fe)]??0x2;function _0x28c9e4(_0x176cb3,_0x250f35){return _0x306755(_0x250f35,_0x176cb3-0x46);}const _0x24ce11=_0x2d3dca[_0x28c9e4(0xdb3,0x306)]||getLangText;return _0x30d4f0<0x2710?_0x30d4f0[_0x50b880(_0x3341b2._0x373c1f,0x1d82)](_0x2d3dca[_0x50b880(_0x3341b2._0x368935,0x12e3)])+_0x24ce11(_0x28c9e4(0x9ca,0x8c8)):(_0x30d4f0/0x2710)['toFixed'](_0x2d3dca[_0x28c9e4(_0x3341b2._0x3a532e,0xfff)])+_0x24ce11('_万立方米');}const _0x472992={};_0x472992['__proto__']=null,_0x472992['getDistance']=getDistance,_0x472992['getSurfaceDistance']=getSurfaceDistance,_0x472992[_0x306755(0xb43,0x878)]=getClampDistance,_0x472992['getArea']=getArea,_0x472992['getTriangleArea']=getTriangleArea,_0x472992['getClampArea']=getClampArea,_0x472992['getSurfaceArea']=getSurfaceArea,_0x472992['getAngle']=getAngle,_0x472992[_0x306755(0x16d4,0xc92)]=formatDistance,_0x472992[_0x306755(0x12e9,0x10e1)]=formatArea,_0x472992[_0x2b6441(0x126e,0x11cf)]=formatVolume;var MeasureUtil=_0x472992;function register$4(_0x56d0ff,_0x30479d){const _0x52d71d={_0x47ab11:0xc6a,_0x2d248e:0x7f3,_0x1b113a:0xc61,_0x11cb8c:0x13f9,_0x54c2a5:0x1349,_0x1be24a:0xcb5,_0xb7c4cc:0x630};Cesium__namespace[_0x183f24(0x2fe,_0x52d71d._0x47ab11)]['_materialCache'][_0x1f0faa(0x16a,_0x52d71d._0x2d248e)](_0x56d0ff)&&logError(_0x1f0faa(_0x52d71d._0x1b113a,0xab1)+_0x56d0ff+_0x1f0faa(0x1383,_0x52d71d._0x11cb8c),_0x30479d);MaterialTypes[_0x56d0ff]=_0x56d0ff;function _0x183f24(_0x100aca,_0xdf421e){return _0x306755(_0x100aca,_0xdf421e- -0x29d);}Cesium__namespace['Material'][_0x56d0ff+_0x1f0faa(0x133f,_0x52d71d._0x54c2a5)]=_0x56d0ff;_0x30479d['fabric']&&(_0x30479d['fabric'][_0x183f24(0x16fd,0x13c6)]=_0x56d0ff);function _0x1f0faa(_0x3ffdf6,_0xb19c84){return _0x2b6441(_0x3ffdf6,_0xb19c84-0x34f);}Cesium__namespace[_0x1f0faa(0x144a,_0x52d71d._0x1be24a)]['_materialCache'][_0x183f24(_0x52d71d._0xb7c4cc,0xd02)](_0x56d0ff,_0x30479d);}const OptsConverClass={};function registerOptsConver(_0x26ae24,_0x2430d7){const _0x12879={_0xef9e8a:0x1439,_0x4c7082:0x11ae};OptsConverClass[_0x26ae24]&&logError('MaterialUtil\x20registerOptsConver:\x20'+_0x26ae24+_0x106ede(_0x12879._0xef9e8a,_0x12879._0x4c7082),_0x2430d7);function _0x106ede(_0x31a265,_0x365ce4){return _0x2b6441(_0x365ce4,_0x31a265-0x38f);}OptsConverClass[_0x26ae24]=_0x2430d7;}const MaterialClass={},MaterialTypes={};function registerClass(_0x224185,_0x43b233){MaterialTypes[_0x224185]&&logError('MaterialUtil\x20registerClass:\x20'+_0x224185+'类型已存在',_0x43b233),MaterialClass[_0x224185]=_0x43b233,MaterialTypes[_0x224185]=_0x224185;}const MaterialPropertyClass={};function registerPropertyClass(_0x286c37,_0xa7c979){MaterialPropertyClass[_0x286c37]&&logError('MaterialUtil\x20registerPropertyClass:\x20'+_0x286c37+_0x51a748(0xeea,0x98b),_0xa7c979);function _0x51a748(_0xe9c641,_0x3d80ed){return _0x306755(_0xe9c641,_0x3d80ed-0xca);}MaterialPropertyClass[_0x286c37]=_0xa7c979;}function createMaterialProperty(_0x58b812,_0x396e56){const _0x1108d8={_0xa58af1:0x64f},_0x504019={_0x59d12e:0x508},_0x3a5f5c=MaterialPropertyClass[_0x58b812];function _0x4ff565(_0x4736c6,_0x3ac8bb){return _0x306755(_0x3ac8bb,_0x4736c6- -_0x504019._0x59d12e);}if(_0x3a5f5c){const _0xcc67a4=OptsConverClass[_0x58b812]||OptsConverClass['default'];_0xcc67a4&&(_0x396e56['materialType']=_0x58b812,_0x396e56=_0xcc67a4['toCesiumVal'](_0x396e56,{},!![]));const _0x161e3e=new _0x3a5f5c(_0x396e56);return _0x161e3e[_0x4ff565(_0x1108d8._0xa58af1,0x498)]=_0x58b812,_0x161e3e['options']=_0x396e56,_0x161e3e;}else logWarn('createMaterialProperty:未找到该类型的对应材质属性',_0x58b812);}function createMaterial(_0x1cc85d,_0x3bb0c9){const _0x504cd2={_0x4dbe72:0xaeb},_0x11a551={_0x460086:0x6cb};if(!_0x1cc85d){logError('createMaterial:请指定mars3d.MaterialType类型');return;}const _0x56a516=OptsConverClass[_0x1cc85d]||OptsConverClass['default'];function _0x10ecc7(_0x341e7d,_0x10f2c4){return _0x2b6441(_0x341e7d,_0x10f2c4-0x40);}function _0x37f63e(_0x5d7139,_0x57366a){return _0x2b6441(_0x5d7139,_0x57366a-_0x11a551._0x460086);}_0x56a516&&(_0x3bb0c9['materialType']=_0x1cc85d,_0x3bb0c9=_0x56a516[_0x10ecc7(0x77,_0x504cd2._0x4dbe72)](_0x3bb0c9));let _0x5ac5a9;const _0x4c0973=MaterialClass[_0x1cc85d];return _0x4c0973?_0x5ac5a9=new _0x4c0973(_0x3bb0c9):_0x5ac5a9=Cesium__namespace[_0x37f63e(0x5de,0x1031)][_0x10ecc7(0xb1c,0x129f)](_0x1cc85d,_0x3bb0c9),_0x5ac5a9['options']=_0x3bb0c9,_0x5ac5a9[_0x10ecc7(0x2af,0x5f6)]=_0x1cc85d,_0x5ac5a9;}function hasMaterial(_0x1fd1e1,_0x58ea95){return _0x58ea95?Boolean(MaterialPropertyClass[_0x1fd1e1]):Boolean(MaterialTypes[_0x1fd1e1]);}function toJSON(_0x4e3bfb,_0x55e3fd={}){const _0x1e830b={_0xd46893:0xadd,_0x34b518:0x5b7,_0x5c2322:0xf96,_0x15f856:0xf98},_0x2da714={_0xa33332:0x14a};var _0x5a7bf9;let _0x5058cd;if(_0x4e3bfb[_0x44e33e(0x700,0x135)])_0x5058cd=_0x4e3bfb['_mars_type'];else{if(_0x4e3bfb!==null&&_0x4e3bfb!==void 0x0&&(_0x5a7bf9=_0x4e3bfb['_template'])!==null&&_0x5a7bf9!==void 0x0&&_0x5a7bf9['type'])_0x5058cd=_0x4e3bfb['_template'][_0x44e33e(0x120c,0x144d)];else _0x4e3bfb!==null&&_0x4e3bfb!==void 0x0&&_0x4e3bfb['getType']&&(_0x5058cd=_0x4e3bfb['getType']());}if(!_0x5058cd){if(_0x4e3bfb instanceof Cesium__namespace['Color'])_0x5058cd=_0x44e33e(_0x1e830b._0xd46893,0x679);else{if(_0x4e3bfb instanceof HTMLVideoElement)return;else logWarn('toJSON:未识别的材质类型',_0x4e3bfb);}}const _0x42da39=OptsConverClass[_0x5058cd]||OptsConverClass['default'];function _0x44e33e(_0xdfdc73,_0xd1d1e5){return _0x2b6441(_0xd1d1e5,_0xdfdc73-_0x2da714._0xa33332);}function _0x502baf(_0x376ed2,_0x155dbf){return _0x306755(_0x155dbf,_0x376ed2- -0x323);}return _0x42da39&&(_0x55e3fd[_0x502baf(0x85d,_0x1e830b._0x34b518)]=_0x5058cd,_0x55e3fd[_0x502baf(_0x1e830b._0x5c2322,_0x1e830b._0x15f856)]=_0x42da39['toJSON'](_0x4e3bfb)),_0x55e3fd;}function toJSONByType(_0x361437,_0x4a99da){const _0x1b75a7={_0x1dfd77:0x59a},_0x4f81be=OptsConverClass[_0x361437]||OptsConverClass['default'];function _0x1d5bea(_0x4c468c,_0x454d48){return _0x2b6441(_0x4c468c,_0x454d48-0x31);}return _0x4f81be?_0x4f81be[_0x1d5bea(0x262,_0x1b75a7._0x1dfd77)](_0x4a99da):_0x4a99da;}function addTextureUniform(_0x44195a){const _0xb1fb07={_0xbfc8b8:0x757,_0x52b9ac:0xca2,_0x3ff891:0xa25,_0x4679e8:0x905,_0x34a187:0x1240,_0x4c2a18:0x6a0},_0x238582={_0x17c1bf:0x77,_0x444c37:0x8b6,_0x209327:0x1e1,_0x1e9618:0xb92,_0xf26e3c:0x1c9,_0x559338:0x11ab},_0x31c867={_0x3de529:0x398};function _0x536965(_0x3fdd58,_0x1fd503){return _0x2b6441(_0x1fd503,_0x3fdd58-_0x31c867._0x3de529);}const {context:_0x22ffe4,material:_0x17d849,uniformName:_0x44cf0d,image:_0x1b02b9}=_0x44195a,_0x4913d4=_0x44195a['wrapS']||Cesium__namespace['TextureWrap'][_0xf093ba(0x3dc,-0x407)];function _0xf093ba(_0x17fa67,_0x2f0e7a){return _0x2b6441(_0x2f0e7a,_0x17fa67-0x157);}const _0x3e2d06=_0x44195a['wrapT']||Cesium__namespace[_0xf093ba(_0xb1fb07._0xbfc8b8,_0xb1fb07._0x52b9ac)]['REPEAT'],_0x513568=_0x44195a[_0xf093ba(0x634,0x194)]||Cesium__namespace[_0xf093ba(_0xb1fb07._0x3ff891,_0xb1fb07._0x4679e8)]['LINEAR'],_0x49bbe1=_0x44195a['magnificationFilter']||Cesium__namespace['TextureMagnificationFilter']['LINEAR'],_0x34efac=new Image();_0x34efac[_0x536965(_0xb1fb07._0x34a187,0x1a83)]=_0x1b02b9,_0x34efac[_0xf093ba(_0xb1fb07._0x4c2a18,0x38e)]('load',()=>{const _0x353c31={_0x5830cf:0x12c},_0xd199f3={};_0xd199f3['wrapS']=_0x4913d4;function _0x409971(_0x4d02b7,_0x59be0c){return _0x536965(_0x4d02b7- -_0x353c31._0x5830cf,_0x59be0c);}_0xd199f3[_0x409971(0x1294,0x127c)]=_0x3e2d06,_0xd199f3['minificationFilter']=_0x513568,_0xd199f3[_0x316dd9(_0x238582._0x17c1bf,-0x883)]=_0x49bbe1;const _0x10c425=new Cesium__namespace['Texture']({'context':_0x22ffe4,'source':_0x34efac,'sampler':new Cesium__namespace['Sampler'](_0xd199f3)});function _0x316dd9(_0x1c6200,_0x3ef6b5){return _0xf093ba(_0x1c6200-0x4a,_0x3ef6b5);}_0x10c425['type']=_0x316dd9(0x737,0xd31),isPowerOfTwo(_0x34efac[_0x409971(_0x238582._0x444c37,_0x238582._0x209327)])&&isPowerOfTwo(_0x34efac[_0x409971(0x8bd,0xa0f)])&&_0x10c425['generateMipmap'](Cesium__namespace[_0x409971(_0x238582._0x1e9618,_0x238582._0xf26e3c)]['NICEST']),_0x17d849[_0x316dd9(0xe1a,_0x238582._0x559338)][_0x44cf0d]=_0x10c425;});}function isPowerOfTwo(_0x22bfca){return(_0x22bfca&_0x22bfca-0x1)===0x0&&_0x22bfca!==0x0;}const _0x2128ce={};_0x2128ce['__proto__']=null,_0x2128ce['register']=register$4,_0x2128ce['registerOptsConver']=registerOptsConver,_0x2128ce['registerClass']=registerClass,_0x2128ce[_0x2b6441(-0x344,0x595)]=registerPropertyClass,_0x2128ce['createMaterialProperty']=createMaterialProperty,_0x2128ce[_0x306755(0x45d,0x54f)]=createMaterial,_0x2128ce['hasMaterial']=hasMaterial,_0x2128ce['toJSON']=toJSON,_0x2128ce['toJSONByType']=toJSONByType,_0x2128ce['addTextureUniform']=addTextureUniform;var MaterialUtil=_0x2128ce;const EditPointStyle={};EditPointStyle[EditPointType['Control']]={'color':'rgba(28,25,125,0.99)','pixelSize':0xc,'outline':!![],'outlineColor':'rgba(255,255,255,0.5)','outlineWidth':0x2,'scaleByDistance':new Cesium__namespace['NearFarScalar'](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number[_0x2b6441(0x714,0xd5e)]},EditPointStyle[EditPointType[_0x2b6441(0x133e,0xa9d)]]={'color':_0x2b6441(0x475,0x2d1),'pixelSize':0xc,'outline':!![],'outlineColor':'rgba(255,255,255,0.5)','outlineWidth':0x2,'scaleByDistance':new Cesium__namespace['NearFarScalar'](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number[_0x306755(0x1c3d,0x12ff)]},EditPointStyle[EditPointType['AddMidPoint']]={'color':'rgba(4,194,201,0.3)','pixelSize':0xc,'outline':!![],'outlineColor':'rgba(255,255,255,0.4)','outlineWidth':0x2,'scaleByDistance':new Cesium__namespace['NearFarScalar'](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number['POSITIVE_INFINITY']},EditPointStyle[EditPointType['MoveHeight']]={'color':'rgba(149,0,235,0.99)','pixelSize':0xc,'outline':!![],'outlineColor':_0x306755(0xf44,0xb75),'outlineWidth':0x2,'scaleByDistance':new Cesium__namespace[(_0x2b6441(0x206,0x92b))](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number[_0x306755(0x1c5a,0x12ff)]},EditPointStyle[EditPointType['EditAttr']]={'color':_0x2b6441(0x16de,0x12f3),'pixelSize':0xc,'outline':!![],'outlineColor':_0x2b6441(-0x2e0,0x5d4),'outlineWidth':0x2,'scaleByDistance':new Cesium__namespace['NearFarScalar'](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number['POSITIVE_INFINITY']},EditPointStyle[EditPointType['EditRotation']]={'pixelSize':0xc,'outline':!![],'outlineColor':_0x306755(0x389,0xb75),'outlineWidth':0x2,'scaleByDistance':new Cesium__namespace[(_0x306755(0x18bc,0xecc))](0x3e8,0x1,0xf4240,0.5),'disableDepthTestDistance':Number['POSITIVE_INFINITY']};function setEditPointStyle(_0x61b439,_0x42c553){const _0x26e0bf={_0x479be4:0x10c1,_0x4d43b8:0x101a};function _0x36d10b(_0x45b3e4,_0x58762e){return _0x306755(_0x58762e,_0x45b3e4- -0x5d1);}_0x61b439=_0x61b439||EditPointType['Control'];const _0xbc442a=EditPointStyle[_0x61b439];function _0x45def1(_0x1662f3,_0x5a683d){return _0x2b6441(_0x1662f3,_0x5a683d- -0xa8);}if(!_0xbc442a){logWarn(_0x36d10b(_0x26e0bf._0x479be4,0x1b12),_0x61b439);return;}_0xbc442a['type']!==_0x42c553[_0x45def1(0xec6,_0x26e0bf._0x4d43b8)]?EditPointStyle[_0x61b439]=_0x42c553:EditPointStyle[_0x61b439]=merge(_0xbc442a,_0x42c553);}function setAllEditPointStyle(_0x123ca8){for(const _0x4d0514 in EditPointStyle){EditPointStyle[_0x4d0514]=merge(EditPointStyle[_0x4d0514],_0x123ca8);}}function getEditPointStyle(_0x4c2a28,_0x17bd1e){_0x4c2a28=_0x4c2a28||EditPointType['Control'];const _0xac73b0=EditPointStyle[_0x4c2a28]||{},_0x427059={..._0xac73b0,..._0x17bd1e};return _0x427059;}const _0x3948d1={};_0x3948d1[_0x2b6441(0xe79,0x60f)]=null,_0x3948d1[_0x2b6441(-0x3ca,0x169)]=setEditPointStyle,_0x3948d1['setAllEditPointStyle']=setAllEditPointStyle,_0x3948d1['getEditPointStyle']=getEditPointStyle;var DrawUtil=_0x3948d1;const _0x3a8e43={};_0x3a8e43[_0x306755(0x8ec,0x1211)]='none',_0x3a8e43[_0x306755(0xa4b,0xbe4)]='xyz',_0x3a8e43['ARCGIS']=_0x2b6441(0xf57,0x64c),_0x3a8e43[_0x306755(0x141d,0x14e8)]=_0x306755(0x155a,0xb2c),_0x3a8e43['GEE']=_0x2b6441(0x3b4,0x64b),_0x3a8e43['VR']='vr';const TerrainType=_0x3a8e43;class GCJMercatorTilingScheme extends Cesium__namespace[_0x306755(0x893,0xd76)]{constructor(_0x35a66c){const _0x66d194={_0x45af1b:0x110b,_0x3a4e20:0x12c4},_0x89d13d={_0xe73155:0x13d5,_0x32c38e:0x121d,_0x55684f:0x143e},_0xcfdac6={_0x4279dc:0x32},_0x5a422d={_0x4b200b:0x198b,_0x24e0e5:0xc81,_0x47655d:0xb57};super(_0x35a66c);const _0x5701a6=_0x35a66c['mapChinaCRS'],_0x1d403f=_0x35a66c['chinaCRS'],_0x1af556=getTransFun(_0x5701a6,_0x1d403f);function _0x5cf679(_0x32d9fe,_0x1d708a){return _0x2b6441(_0x32d9fe,_0x1d708a-0x4fd);}const _0x1eb3c8=getTransFun(_0x1d403f,_0x5701a6);if(_0x1af556){const _0x459cce=new Cesium__namespace['WebMercatorProjection']();this['_projection']['project']=function(_0x23496e,_0x32f7dc){_0x32f7dc=_0x1af556([Cesium__namespace[_0x400a16(_0x5a422d._0x4b200b,0x1428)][_0x400a16(_0x5a422d._0x24e0e5,0xed5)](_0x23496e['longitude']),Cesium__namespace[_0x400a16(0x171f,0x1428)][_0x554a77(0x255,_0x5a422d._0x47655d)](_0x23496e['latitude'])]);function _0x400a16(_0x2cc0ea,_0x435de9){return _0x5bbe(_0x435de9-0x330,_0x2cc0ea);}function _0x554a77(_0x304e6d,_0x28b195){return _0x5bbe(_0x28b195- -0x4e,_0x304e6d);}return _0x32f7dc=_0x459cce['project'](new Cesium__namespace['Cartographic'](Cesium__namespace['Math']['toRadians'](_0x32f7dc[0x0]),Cesium__namespace['Math']['toRadians'](_0x32f7dc[0x1]))),new Cesium__namespace['Cartesian2'](_0x32f7dc['x'],_0x32f7dc['y']);},this[_0x5cf679(_0x66d194._0x45af1b,_0x66d194._0x3a4e20)]['unproject']=function(_0x35dae6,_0x59ccbc){const _0x54caa0={_0x512a34:0x177};function _0x3af2ed(_0x3d5366,_0x362737){return _0x5cf679(_0x362737,_0x3d5366-_0x54caa0._0x512a34);}function _0x4defaf(_0x46ee19,_0x504d9f){return _0x5cf679(_0x504d9f,_0x46ee19- -_0xcfdac6._0x4279dc);}const _0x42ab21=_0x459cce[_0x4defaf(0x1670,0x1679)](_0x35dae6);return _0x59ccbc=_0x1eb3c8([Cesium__namespace['Math'][_0x3af2ed(0xeeb,_0x89d13d._0xe73155)](_0x42ab21[_0x3af2ed(_0x89d13d._0x32c38e,0x1686)]),Cesium__namespace[_0x3af2ed(0x143e,0x1968)][_0x3af2ed(0xeeb,0x1158)](_0x42ab21[_0x4defaf(0xefd,0xafd)])]),new Cesium__namespace['Cartographic'](Cesium__namespace['Math']['toRadians'](_0x59ccbc[0x0]),Cesium__namespace[_0x3af2ed(_0x89d13d._0x55684f,0x181c)]['toRadians'](_0x59ccbc[0x1]));};}}}class CustomMercatorTilingScheme extends Cesium__namespace['WebMercatorTilingScheme']{constructor(_0x38f12b={}){const _0x15d4ee={_0x37acea:0x12c1},_0x5973ce={_0x3cb5a6:0x36e};function _0x364526(_0x3c801e,_0x1c4d03){return _0x2b6441(_0x3c801e,_0x1c4d03-_0x5973ce._0x3cb5a6);}super(_0x38f12b),this[_0x364526(_0x15d4ee._0x37acea,0x1754)]=_0x38f12b['origin']||[-20037508.3427892,20037508.3427892],this['_resolutions']=_0x38f12b['resolutions']||[],this['_zOffset']=_0x38f12b['zOffset']||0x0,this['_tileSize']=_0x38f12b['tileWidth']||_0x38f12b['tileHeight']||0x100;}get[_0x2b6441(0x65b,-0x9f)](){return this['_zOffset'];}['tileXYToNativeRectangle'](_0x41ea87,_0x236a33,_0x495811,_0x3644a0){const _0x24202a={_0x2122b3:0x8b,_0x4d0441:0x2b2,_0x140f3f:0xd05,_0x35c339:0x8b,_0x321140:0x349,_0x1d7083:0x7fe,_0x35599a:0x1250,_0x3725fc:0x1092,_0x40b82c:0x7ac},_0x5e501d={_0x543159:0x562};if(!this[_0x7705da(_0x24202a._0x2122b3,_0x24202a._0x4d0441)]||!this[_0x7705da(0x8b,-0x507)][_0x495811+this['_zOffset']])return Cesium__namespace[_0x7705da(0xa38,_0x24202a._0x140f3f)]['MAX_VALUE'];if(_0x41ea87<0x0||_0x236a33<0x0)return Cesium__namespace['Rectangle']['MAX_VALUE'];function _0x1aab5d(_0x4dcb7b,_0x3f349a){return _0x306755(_0x4dcb7b,_0x3f349a-0x12e);}const _0x2afa3e=this[_0x7705da(_0x24202a._0x35c339,_0x24202a._0x321140)][_0x495811+this[_0x7705da(_0x24202a._0x1d7083,0x837)]]*this['_tileSize'],_0x20391f=this[_0x7705da(0x1425,0x1ece)][0x0]+_0x41ea87*_0x2afa3e,_0x38933b=this['_origin'][0x1]-(_0x236a33+0x1)*_0x2afa3e,_0x14094c=this['_origin'][0x0]+(_0x41ea87+0x1)*_0x2afa3e,_0x47b4c7=this['_origin'][0x1]-_0x236a33*_0x2afa3e;if(!Cesium__namespace[_0x7705da(_0x24202a._0x35599a,_0x24202a._0x3725fc)](_0x3644a0))return new Cesium__namespace['Rectangle'](_0x20391f,_0x38933b,_0x14094c,_0x47b4c7);_0x3644a0[_0x7705da(0x1316,0xe70)]=_0x20391f,_0x3644a0[_0x1aab5d(_0x24202a._0x40b82c,0xb59)]=_0x38933b,_0x3644a0[_0x7705da(0xbb6,0xb37)]=_0x14094c;function _0x7705da(_0x5c1a92,_0x591242){return _0x306755(_0x591242,_0x5c1a92- -_0x5e501d._0x543159);}return _0x3644a0['north']=_0x47b4c7,_0x3644a0;}['positionToTileXY'](_0x15fae7,_0x4c6134,_0x363cdd){const _0x50dfaa={_0x2087d7:0x9e7,_0x1d7f50:0x117b,_0x2e910d:0x50a,_0x2fa78f:0x268},_0x391bce={_0x2bc65e:0x2c3};function _0x40a945(_0x4c50eb,_0x20681d){return _0x2b6441(_0x20681d,_0x4c50eb- -0x12);}const _0x323f66=this['_rectangle'];if(!Cesium__namespace[_0x40a945(_0x50dfaa._0x2087d7,_0x50dfaa._0x1d7f50)][_0x328d8f(_0x50dfaa._0x2e910d,_0x50dfaa._0x2fa78f)](_0x323f66,_0x15fae7))return undefined;if(!this['_resolutions']||!this['_resolutions'][_0x4c6134+this[_0x328d8f(0xa82,0xf99)]])return new Cesium__namespace['Cartesian2']();const _0x5962bc=this['_resolutions'][_0x4c6134+this[_0x40a945(0x7ad,0xcb7)]]*this['_tileSize'],_0x453653=this['_projection'],_0x241cc0=_0x453653['project'](_0x15fae7);function _0x328d8f(_0x757045,_0xc697c){return _0x2b6441(_0xc697c,_0x757045-_0x391bce._0x2bc65e);}const _0x366c83=Math['floor']((_0x241cc0['x']-this['_origin'][0x0])/_0x5962bc),_0x22c7ab=Math['floor']((this['_origin'][0x1]-_0x241cc0['y'])/_0x5962bc);if(!Cesium__namespace['defined'](_0x363cdd))return new Cesium__namespace['Cartesian2'](Math['max'](0x0,_0x366c83),Math['max'](0x0,_0x22c7ab));return _0x363cdd['x']=_0x366c83,_0x363cdd['y']=_0x22c7ab,_0x363cdd;}}class CustomGeographicTilingScheme extends Cesium__namespace['GeographicTilingScheme']{constructor(_0x1218d6={}){const _0x5e057e={_0x590cdd:0xc6a};super(_0x1218d6),this['_origin']=_0x1218d6['origin']||[-0xb4,0x5a];function _0x4f09a0(_0x462b48,_0x587ed3){return _0x2b6441(_0x587ed3,_0x462b48-0x4ab);}this['_resolutions']=_0x1218d6[_0xc133b3(0x14de,0x1669)]||[],this[_0x4f09a0(_0x5e057e._0x590cdd,0x11e6)]=_0x1218d6['zOffset']||0x0;function _0xc133b3(_0x2781bf,_0x39473d){return _0x2b6441(_0x2781bf,_0x39473d-0x2b9);}this[_0x4f09a0(0xbd5,0x14bc)]=_0x1218d6['tileWidth']||_0x1218d6['tileHeight']||0x100;}get['zOffset'](){return this['_zOffset'];}[_0x2b6441(0xa6d,0x4a9)](_0x5ed13c,_0xc4f967,_0x163a8c,_0x432143){const _0xafd8d3={_0xcc23f7:0x8a4,_0x2c9614:0x1503,_0x34d10b:0x15ce,_0x4b859f:0x16ad,_0x2a7957:0x126e},_0x13942b={_0x48041a:0x484};function _0x3fb89c(_0x3301c3,_0x55bd0f){return _0x306755(_0x3301c3,_0x55bd0f- -0x1cb);}if(!this['_resolutions']||!this['_resolutions'][_0x163a8c+this['_zOffset']])return Cesium__namespace['Rectangle'][_0x14acaf(0x667,-0xbd)];const _0x5bef0e=this['_resolutions'][_0x163a8c+this['_zOffset']]*this['_tileSize'],_0x8befd2=Cesium__namespace['Math'][_0x3fb89c(_0xafd8d3._0xcc23f7,0xa01)](this[_0x14acaf(_0xafd8d3._0x2c9614,0xad0)][0x0]+_0x5ed13c*_0x5bef0e),_0x450df4=Cesium__namespace['Math']['toRadians'](this['_origin'][0x1]-(_0xc4f967+0x1)*_0x5bef0e),_0x56d013=Cesium__namespace['Math']['toRadians'](this['_origin'][0x0]+(_0x5ed13c+0x1)*_0x5bef0e),_0x53e4c6=Cesium__namespace['Math']['toRadians'](this['_origin'][0x1]-_0xc4f967*_0x5bef0e);function _0x14acaf(_0x29ee4e,_0x2fa14c){return _0x306755(_0x2fa14c,_0x29ee4e- -_0x13942b._0x48041a);}if(!Cesium__namespace[_0x3fb89c(_0xafd8d3._0x34d10b,0x15e7)](_0x432143))return new Cesium__namespace['Rectangle'](_0x8befd2,_0x450df4,_0x56d013,_0x53e4c6);return _0x432143[_0x3fb89c(0x212f,_0xafd8d3._0x4b859f)]=_0x8befd2,_0x432143['south']=_0x450df4,_0x432143[_0x14acaf(0xc94,_0xafd8d3._0x2a7957)]=_0x56d013,_0x432143['north']=_0x53e4c6,_0x432143;}['positionToTileXY'](_0x3bea09,_0x13c3e1,_0x3d23f2){const _0x51c842={_0x3e549c:0x54,_0x1fffd4:0x211f,_0x4e2509:0x9d7};if(!this['_resolutions']||!this['_resolutions'][_0x13c3e1+this['_zOffset']])return new Cesium__namespace[(_0x36a06d(0x433,-_0x51c842._0x3e549c))]();const _0x4bcb7c=this[_0x36a06d(0x534,0xed7)][_0x13c3e1+this['_zOffset']]*this['_tileSize'];function _0x5456ec(_0x20817f,_0x263db7){return _0x306755(_0x20817f,_0x263db7- -0x135);}const _0x2b1e5f=Cesium__namespace['Math'][_0x36a06d(0xd5f,0x353)](_0x3bea09['longitude']),_0x16519a=Cesium__namespace['Math']['toDegrees'](_0x3bea09[_0x36a06d(0xf1a,0x1834)]),_0x229b2e=Math['floor']((_0x2b1e5f-this['_origin'][0x0])/_0x4bcb7c),_0x35bc82=Math[_0x36a06d(0x1799,_0x51c842._0x1fffd4)]((this[_0x5456ec(0x2297,0x1852)][0x1]-_0x16519a)/_0x4bcb7c);if(!Cesium__namespace[_0x5456ec(0x1ee5,0x167d)](_0x3d23f2))return new Cesium__namespace['Cartesian2'](Math[_0x36a06d(0xc4d,_0x51c842._0x4e2509)](0x0,_0x229b2e),Math['max'](0x0,_0x35bc82));_0x3d23f2['x']=_0x229b2e,_0x3d23f2['y']=_0x35bc82;function _0x36a06d(_0x3a46d6,_0x2e5bce){return _0x2b6441(_0x2e5bce,_0x3a46d6-0x4e8);}return _0x3d23f2;}}const LayerClass={};function register$3(_0x457d6f,_0x11fa59){const _0x25565f={_0x59d809:0x80f,_0xdcce2c:0xd6d},_0x293636={_0x5e0a55:0x4e4};LayerClass[_0x457d6f]&&logError('register:\x20'+_0x457d6f+'类型已存在',_0x11fa59);LayerType[_0x457d6f]=_0x457d6f,LayerClass[_0x457d6f]=_0x11fa59,_0x11fa59['type']=_0x457d6f;function _0x59b1b4(_0x7943f6,_0x3fba1c){return _0x306755(_0x3fba1c,_0x7943f6- -_0x293636._0x5e0a55);}_0x11fa59[_0x59b1b4(_0x25565f._0x59d809,_0x25565f._0xdcce2c)]['_type']=_0x457d6f;}function getClass$3(_0x4b72ef){return LayerClass[_0x4b72ef];}function create$3(_0x528ca7,_0xcb1fd8){const _0x2f9cd4={_0x17c09b:0x23ef,_0x44b17e:0xddb},_0x4108c5={_0x7c2696:0x5c2},_0x24b26d={_0xcfeada:0x93};function _0x35019f(_0x3ae0dc,_0x439f68){return _0x2b6441(_0x439f68,_0x3ae0dc- -_0x24b26d._0xcfeada);}function _0x35aa13(_0x2d19bb,_0x5de78a){return _0x2b6441(_0x2d19bb,_0x5de78a-_0x4108c5._0x7c2696);}const _0x1eb7f0=getClass$3(_0x528ca7[_0x35019f(0x102f,0x1038)]);if(_0x1eb7f0){_0xcb1fd8&&_0x528ca7['url']&&(_0x528ca7[_0x35aa13(_0x2f9cd4._0x17c09b,0x19c5)]=_0xcb1fd8);const _0x1998b1=new _0x1eb7f0(_0x528ca7);return _0x1998b1;}else logWarn(_0x35aa13(_0x2f9cd4._0x44b17e,0x1812),_0x528ca7);}function converOptions(_0x2feebe){const _0x42df7e={_0x16c6ec:0x1515,_0x20e977:0x12f0,_0x42fce9:0xa4f,_0x859d90:0x14c4,_0x121f6d:0x17a6,_0x3e2ebd:0xe9b,_0x52cdb5:0x762,_0x34599e:0x1078,_0x59451c:0x292,_0x5858f3:0x1078,_0x1d28ce:0x51c,_0x452754:0xd0,_0x78f2ce:0x543,_0x31c466:0x88e,_0x4e75f7:0x1aca,_0x3a8fc4:0x1078,_0x36d5c5:0x8f3,_0x59de42:0xb06,_0xac032b:0xfd9,_0x398dd9:0xf24,_0x6870c8:0x1296,_0x553ec3:0xc07,_0x11c9b5:0x198e,_0x113c53:0xb49,_0x47bd5e:0x103f,_0x3c470b:0x6fd,_0x189273:0x14ea,_0x39c8c2:0x956,_0x239d51:0x666,_0x162662:0x6a7,_0xe9739:0xffd,_0x3400f8:0x21a,_0xb56f8:0x1449,_0x315f66:0x1c0d,_0x3824a6:0x9a4,_0x493a9d:0xe84,_0x37bf4e:0xca3,_0x82d654:0x1eef,_0x1b76cc:0xd48},_0x4d2ba7={_0x16de8d:0x52b},_0x27f6cd={};for(const _0x55b5c4 in _0x2feebe){let _0x4cd4bd=_0x2feebe[_0x55b5c4];if(_0x4cd4bd==null)continue;switch(_0x55b5c4){case'crs':{_0x4cd4bd=(_0x4cd4bd+'')[_0x1d0a24(0x1587,0x1bfb)]();let _0x4949d1=!![];if(_0x4cd4bd===CRS['EPSG4326']||_0x4cd4bd==='4326'||_0x4cd4bd===_0x1d0a24(0x155a,0x1cbb))_0x27f6cd['crs']=CRS['EPSG4326'],_0x4949d1=![];else _0x4cd4bd===CRS['EPSG4490']||_0x4cd4bd==='4490'||_0x4cd4bd==='EPSG4490'?(_0x27f6cd['crs']=CRS[_0x552c0f(0x1c22,_0x42df7e._0x16c6ec)],_0x4949d1=![]):_0x27f6cd['crs']=CRS[_0x1d0a24(0x13c5,0x1776)];const _0xb40caa=Cesium__namespace['defined'](_0x2feebe['origin'])||Cesium__namespace['defined'](_0x2feebe['resolutions'])||Cesium__namespace[_0x552c0f(0x1d12,_0x42df7e._0x20e977)](_0x2feebe['zOffset']);if(_0x4949d1){if(_0xb40caa){const _0x353241={..._0x2feebe};_0x353241[_0x552c0f(0x1158,_0x42df7e._0x42fce9)]=_0x2feebe[_0x1d0a24(0xe9b,0xdf0)]||0x1,_0x353241[_0x1d0a24(_0x42df7e._0x859d90,0x197c)]=_0x2feebe[_0x552c0f(_0x42df7e._0x121f6d,0x1078)]||0x1,_0x27f6cd['tilingScheme']=new CustomMercatorTilingScheme(_0x353241);}else{const _0x1f5aad={};_0x1f5aad[_0x1d0a24(_0x42df7e._0x3e2ebd,0x164e)]=_0x2feebe['numberOfLevelZeroTilesX']||0x1,_0x1f5aad[_0x552c0f(_0x42df7e._0x52cdb5,_0x42df7e._0x34599e)]=_0x2feebe['numberOfLevelZeroTilesY']||0x1,_0x27f6cd['tilingScheme']=new Cesium__namespace[(_0x552c0f(0xe2e,0x8b4))](_0x1f5aad);}}else{if(_0xb40caa){const _0x2b8e70={..._0x2feebe};_0x2b8e70['numberOfLevelZeroTilesX']=_0x2feebe['numberOfLevelZeroTilesX']||0x1,_0x2b8e70['numberOfLevelZeroTilesY']=_0x2feebe['numberOfLevelZeroTilesY']||0x1,_0x27f6cd['tilingScheme']=new CustomGeographicTilingScheme(_0x2b8e70);}else{const _0x5c41a3={};_0x5c41a3[_0x552c0f(_0x42df7e._0x59451c,0xa4f)]=_0x2feebe['numberOfLevelZeroTilesX']||0x2,_0x5c41a3['numberOfLevelZeroTilesY']=_0x2feebe[_0x552c0f(0xafb,_0x42df7e._0x5858f3)]||0x1,_0x27f6cd['tilingScheme']=new Cesium__namespace['GeographicTilingScheme'](_0x5c41a3);}}break;}case _0x1d0a24(_0x42df7e._0x1d28ce,0xd1c):{if(_0x2feebe['mapChinaCRS']!==_0x2feebe['chinaCRS']){const _0x18a7bd={};_0x18a7bd['mapChinaCRS']=_0x2feebe['mapChinaCRS']||ChinaCRS['WGS84'],_0x18a7bd[_0x552c0f(0x2eb,_0x42df7e._0x452754)]=_0x2feebe[_0x1d0a24(0x51c,_0x42df7e._0x78f2ce)],_0x18a7bd[_0x552c0f(_0x42df7e._0x31c466,0xa4f)]=_0x2feebe['numberOfLevelZeroTilesX']||0x1,_0x18a7bd[_0x552c0f(_0x42df7e._0x4e75f7,_0x42df7e._0x3a8fc4)]=_0x2feebe[_0x552c0f(0x138e,0x1078)]||0x1,_0x27f6cd['tilingScheme']=new GCJMercatorTilingScheme(_0x18a7bd);}break;}case'rectangle':if(Cesium__namespace[_0x552c0f(_0x42df7e._0x36d5c5,0x12f0)](_0x4cd4bd)&&Cesium__namespace['defined'](_0x4cd4bd['xmin'])&&Cesium__namespace['defined'](_0x4cd4bd['xmax'])&&Cesium__namespace['defined'](_0x4cd4bd['ymin'])&&Cesium__namespace['defined'](_0x4cd4bd[_0x1d0a24(_0x42df7e._0x59de42,_0x42df7e._0xac032b)]))_0x27f6cd['rectangle']=Cesium__namespace[_0x1d0a24(_0x42df7e._0x398dd9,_0x42df7e._0x6870c8)]['fromDegrees'](_0x4cd4bd[_0x1d0a24(_0x42df7e._0x553ec3,0x14b5)],_0x4cd4bd['ymin'],_0x4cd4bd['xmax'],_0x4cd4bd['ymax']);else _0x4cd4bd instanceof Cesium__namespace['Rectangle']&&(_0x27f6cd[_0x1d0a24(0x13a3,0xa37)]=_0x4cd4bd);break;case'bbox':_0x27f6cd[_0x552c0f(0x821,0xf57)]=Cesium__namespace[_0x1d0a24(0xf24,_0x42df7e._0x11c9b5)]['fromDegrees'](_0x4cd4bd[0x0],_0x4cd4bd[0x1],_0x4cd4bd[0x2],_0x4cd4bd[0x3]);break;default:_0x27f6cd[_0x55b5c4]=_0x4cd4bd;break;}}_0x27f6cd['crs']===CRS['EPSG4490']&&_0x27f6cd['url']&&(_0x27f6cd[_0x1d0a24(_0x42df7e._0x113c53,0x84d)]=_0x27f6cd['url'][_0x1d0a24(_0x42df7e._0x47bd5e,0x17f1)](/\{z\}/gm,'{z4490}'),_0x27f6cd[_0x552c0f(0x453,_0x42df7e._0x3c470b)]=_0x27f6cd[_0x1d0a24(0xb49,_0x42df7e._0x189273)]['replace'](/\{arc_z\}/gm,'{arc_z4490}'),_0x27f6cd['url']=_0x27f6cd['url'][_0x552c0f(0xf70,0xbf3)](/\{arc_Z\}/gm,'{arc_Z4490}'));_0x2feebe['tms']&&(_0x27f6cd[_0x552c0f(-0x3ce,0x6fd)]=_0x27f6cd[_0x552c0f(_0x42df7e._0x39c8c2,0x6fd)]['replace'](/\{y\}/gm,'{reverseY}')['replace'](/\{-y\}/gm,'{reverseY}'));function _0x552c0f(_0x1fb342,_0x3304b1){return _0x2b6441(_0x1fb342,_0x3304b1-0xdf);}Cesium__namespace['defined'](_0x2feebe[_0x1d0a24(_0x42df7e._0x239d51,_0x42df7e._0x162662)])&&Cesium__namespace['defined'](_0x2feebe[_0x552c0f(0xd8d,_0x42df7e._0xe9739)])&&_0x2feebe[_0x552c0f(0x45b,0x21a)]<_0x2feebe['minimumLevel']&&(_0x27f6cd[_0x552c0f(-0x3c,_0x42df7e._0x3400f8)]=_0x2feebe[_0x1d0a24(_0x42df7e._0xb56f8,_0x42df7e._0x315f66)]);function _0x1d0a24(_0x13890f,_0x596b16){return _0x2b6441(_0x596b16,_0x13890f-_0x4d2ba7._0x16de8d);}return Cesium__namespace['defined'](_0x2feebe[_0x1d0a24(0x440,_0x42df7e._0x3824a6)])&&Cesium__namespace['defined'](_0x2feebe['maximumLevel'])&&_0x2feebe['maximumTerrainLevel']>_0x2feebe['maximumLevel']&&(_0x27f6cd['maximumTerrainLevel']=_0x2feebe['maximumLevel']),!Cesium__namespace['defined'](_0x2feebe[_0x552c0f(0x787,0x21a)])&&Cesium__namespace[_0x1d0a24(0x173c,_0x42df7e._0x493a9d)](_0x2feebe[_0x1d0a24(0x1449,_0x42df7e._0x37bf4e)])&&_0x2feebe[_0x1d0a24(0x1449,_0x42df7e._0x82d654)]>0x0&&(_0x27f6cd[_0x552c0f(-0xac,0x21a)]=_0x2feebe[_0x552c0f(0xc6c,0xffd)]),_0x27f6cd['url']&&(_0x2feebe[_0x1d0a24(_0x42df7e._0x1b76cc,0x1225)]||_0x2feebe['templateValues']||_0x2feebe['headers']||_0x2feebe['proxy'])&&(_0x27f6cd['url']=getUrlResource(_0x27f6cd)),_0x27f6cd;}const ImageryProviderFun={};function registerImageryProvider(_0x27c35d,_0x4bd220){ImageryProviderFun[_0x27c35d]&&logError('registerImageryProvider:\x20'+_0x27c35d+'类型已存在'),ImageryProviderFun[_0x27c35d]=_0x4bd220;}function getProviderClass(_0x148047){return ImageryProviderFun[_0x148047];}async function createImageryProvider$j(_0x23fc84){const _0x302de2={_0x355646:0xc07,_0x4a73fc:0x188f,_0x2a3e93:0x1237,_0xd6275d:0x13c,_0x298310:0xc0,_0x598103:0xee},_0x2b6f98={_0x3ec5ba:0x3c1},_0x53189a={_0x190ebb:0x57b};function _0x1bf439(_0x50cf4e,_0x1b2d2a){return _0x306755(_0x50cf4e,_0x1b2d2a- -_0x53189a._0x190ebb);}function _0x10094e(_0x6cc732,_0x2ba7b6){return _0x306755(_0x2ba7b6,_0x6cc732- -_0x2b6f98._0x3ec5ba);}const _0x5c886e=getProviderClass(_0x23fc84['type']);if(_0x5c886e){const _0x101142=await _0x5c886e(_0x23fc84);return!_0x101142['options']&&(_0x101142['options']=_0x23fc84),Cesium__namespace[_0x10094e(0x13f1,0x1cf5)](_0x23fc84['invertColor'])&&(_0x101142[_0x1bf439(0xe3c,_0x302de2._0x355646)]=_0x23fc84[_0x1bf439(0x85d,0xc07)]),Cesium__namespace[_0x1bf439(_0x302de2._0x4a73fc,_0x302de2._0x2a3e93)](_0x23fc84['filterColor'])&&(_0x101142[_0x1bf439(-_0x302de2._0xd6275d,0xc0)]=getCesiumColor(_0x23fc84[_0x1bf439(-0x7a3,_0x302de2._0x298310)])),_0x101142;}else logWarn(_0x1bf439(-_0x302de2._0x598103,0x83a),_0x23fc84);}function getImageryProviderViewModels(_0x537cfd,_0x395e84){const _0x3d5aa9={_0xe497cc:0x1289,_0x31b2a0:0x1536,_0x2174af:0x1c64,_0x5c823c:0xa93,_0x443f4c:0x2bf,_0x427db1:0xdd7,_0x5418b0:0x1145},_0x209077=[];let _0x51f7ef=-0x1;for(let _0x48a8ee=0x0;_0x48a8ee<_0x537cfd['length'];_0x48a8ee++){const _0x4ef14e=_0x537cfd[_0x48a8ee];if(_0x4ef14e[_0x569b53(0x131c,_0x3d5aa9._0xe497cc)]==='group'&&_0x4ef14e[_0x44cde3(0x138d,_0x3d5aa9._0x31b2a0)]==null)continue;_0x395e84&&(_0x4ef14e['templateValues']=_0x395e84),_0x4ef14e['show']?_0x51f7ef=_0x209077[_0x44cde3(_0x3d5aa9._0x2174af,0x1234)]:delete _0x4ef14e[_0x569b53(0x1780,0x11b9)],_0x209077[_0x569b53(_0x3d5aa9._0x5c823c,_0x3d5aa9._0x443f4c)](createProviderViewModel(_0x4ef14e,_0x48a8ee));}function _0x44cde3(_0x3ffcea,_0x3d966d){return _0x2b6441(_0x3ffcea,_0x3d966d-0x1da);}function _0x569b53(_0x6c89a4,_0x19d800){return _0x306755(_0x6c89a4,_0x19d800- -0x3da);}const _0x2cf8ed={};return _0x2cf8ed[_0x44cde3(_0x3d5aa9._0x427db1,_0x3d5aa9._0x5418b0)]=_0x209077,_0x2cf8ed['selectedIndex']=_0x51f7ef,_0x2cf8ed;}function createProviderViewModel(_0x33af38,_0x1e1e35){const _0x55c6be={_0x35f006:0x602,_0x834d7f:0xfce};function _0x3bec4b(_0x5f5b4a,_0x20b123){return _0x306755(_0x5f5b4a,_0x20b123- -0x22a);}window[_0x3bec4b(0x578,_0x55c6be._0x35f006)]=createImageryProvider$j;const _0xf27b1a='window._temp_mars3d_basemaps'+_0x1e1e35,_0x4c2c21={};_0x4c2c21[_0x39da33(0x148,0x837)]=!![];function _0x39da33(_0x49d2ed,_0x30b8e1){return _0x306755(_0x49d2ed,_0x30b8e1- -0x2e6);}return new Function('\x0a\x20\x20\x20\x20'+_0xf27b1a+'\x20=\x20function\x20(item)\x20{\x0a\x20\x20\x20\x20\x20\x20item\x20=\x20item\x20||\x20'+JSON['stringify'](getAttrVal(_0x33af38,_0x4c2c21))+_0x3bec4b(0x1a5a,_0x55c6be._0x834d7f))(),new Cesium__namespace[(_0x39da33(0x14b9,0x132b))]({'name':_0x33af38['name']||'','tooltip':_0x33af38['name']||'','iconUrl':_0x33af38[_0x39da33(0x1742,0x16b5)]||'','category':_0x33af38['category']||'','creationFunction':new Function('return\x20'+_0xf27b1a)(),'marsOptions':{'layerId':_0x33af38['id']}});}const _ellipsoid=new Cesium__namespace[(_0x306755(0x1732,0x10d8))]({'ellipsoid':Cesium__namespace[_0x306755(0x838,0x1227)][_0x306755(0x13d8,0x10b7)]}),_0x5113b7={};_0x5113b7[_0x306755(0x19b2,0x1663)]=TerrainType[_0x306755(0x749,0x1211)],_ellipsoid['marsOptions']=_0x5113b7;function getNoTerrainProvider(){return _ellipsoid;}const TerrainProviderClass={};function registerTerrainProvider(_0x285655,_0x371aa5){const _0xbbe964={_0x109bbb:0x175b,_0x450e36:0x1253},_0x4af514={_0x28d68c:0x1a9};function _0x3e3d3f(_0x3fe2f5,_0x4914e6){return _0x2b6441(_0x3fe2f5,_0x4914e6-_0x4af514._0x28d68c);}TerrainProviderClass[_0x285655]&&logError('registerTerrainProvider:\x20'+_0x285655+_0x3e3d3f(_0xbbe964._0x109bbb,_0xbbe964._0x450e36)),TerrainProviderClass[_0x285655]=_0x371aa5;}function getTerrainProviderClass(_0x1441ee){return TerrainProviderClass[_0x1441ee];}async function createTerrainProvider(_0x33c82f){const _0x2455da={_0xe7ce8d:0xc58,_0x1e0418:0x387,_0xfd2df9:0x7f3,_0x52c8c3:0x1b09,_0x2c468a:0xd34,_0x3174fe:0x41d,_0x227cce:0x17e4,_0x107306:0xb45,_0x182870:0x72e,_0x48391a:0x116c,_0x21c3b5:0x193b,_0x3f0775:0x87b,_0x1a022d:0x4d8,_0xfb616a:0x45b,_0x438df5:0xa04},_0x456d27={};_0x456d27['type']=TerrainType['ION'],_0x33c82f=_0x33c82f||_0x456d27,_0x33c82f['type']=_0x33c82f['type']||TerrainType[_0x3293db(_0x2455da._0xe7ce8d,0x138c)],_0x33c82f['requestVertexNormals']=_0x33c82f[_0x506288(-0x184,_0x2455da._0x1e0418)]??!![];let _0x5a3a2a;switch(_0x33c82f['type']){case TerrainType['XYZ']:case'terrain':{_0x5a3a2a=await Cesium__namespace['CesiumTerrainProvider'][_0x506288(_0x2455da._0xfd2df9,0x45b)](getUrlResource(_0x33c82f),_0x33c82f);break;}case TerrainType['NONE']:case'ellipsoid':_0x5a3a2a=_ellipsoid;break;case TerrainType[_0x3293db(0x155c,_0x2455da._0x52c8c3)]:{const _0x2d7cf0=await Cesium__namespace['IonResource'][_0x506288(_0x2455da._0x2c468a,_0x2455da._0x3174fe)](_0x33c82f[_0x3293db(0x11c0,_0x2455da._0x227cce)],{'accessToken':_0x33c82f[_0x3293db(_0x2455da._0x107306,0x666)]??_0x33c82f['accessToken'],'server':_0x33c82f['ionServer']});_0x5a3a2a=await Cesium__namespace['CesiumTerrainProvider']['fromUrl'](_0x2d7cf0,_0x33c82f);}break;case TerrainType[_0x3293db(_0x2455da._0x182870,_0x2455da._0x48391a)]:case'google':{const _0x56f671=await Cesium__namespace[_0x3293db(0x1892,_0x2455da._0x21c3b5)]['fromUrl'](getUrlResource(_0x33c82f),_0x33c82f);_0x5a3a2a=await Cesium__namespace['GoogleEarthEnterpriseTerrainProvider']['fromMetadata'](_0x56f671,_0x33c82f);}break;case TerrainType['ARCGIS']:_0x5a3a2a=await Cesium__namespace['ArcGISTiledElevationTerrainProvider'][_0x3293db(_0x2455da._0x3f0775,_0x2455da._0x1a022d)](getUrlResource(_0x33c82f),_0x33c82f);break;case TerrainType['VR']:_0x5a3a2a=await Cesium__namespace[_0x506288(-0x357,0x31e)]['fromUrl'](getUrlResource(_0x33c82f),_0x33c82f);break;default:{const _0x534299=getTerrainProviderClass(_0x33c82f[_0x3293db(0x16d7,0x1742)]);_0x534299&&(_0x534299[_0x506288(-0x4bd,_0x2455da._0xfb616a)]?_0x5a3a2a=await _0x534299['fromUrl'](getUrlResource(_0x33c82f),_0x33c82f):_0x5a3a2a=new _0x534299(_0x33c82f));}break;}function _0x3293db(_0x57ef12,_0x434706){return _0x2b6441(_0x434706,_0x57ef12-0x615);}_0x5a3a2a&&(_0x5a3a2a[_0x3293db(_0x2455da._0x438df5,0xc82)]=_0x33c82f);function _0x506288(_0xb1d2ef,_0x5389cd){return _0x2b6441(_0xb1d2ef,_0x5389cd-0x1f5);}return _0x5a3a2a;}function getTerrainProviderViewModels(_0x254c4e,_0x723cea){const _0x56bce1={_0x5ef363:0x1225,_0x2f1222:0xe1b,_0x22dbdd:0x1677,_0x5436d2:0xb00,_0x4e229c:0x1b77,_0x4c0551:0x1677,_0x1484ab:0xf84,_0x155098:0x10ec,_0x5f3044:0x13eb,_0x482a88:0x1962,_0x4485da:0x149e,_0x248ec8:0x1176,_0x558f78:0x1187,_0x3f2bb6:0xfac,_0x2466d6:0x3aa,_0x277b6e:0xebe,_0x15bca2:0x7cd},_0x276802={_0x3a6095:0xd11},_0x332810={_0x3060b3:0x1aed,_0x43291a:0x12a5},_0x3305a6={_0x45bc09:0x22a},_0x2d63b1={_0x4e1800:0x5b5};function _0x48bd31(_0x1f148b,_0x5cb499){return _0x2b6441(_0x1f148b,_0x5cb499-_0x2d63b1._0x4e1800);}_0x723cea=_0x723cea||getLangText;function _0x1ed1e2(_0xce6a9a,_0xd116f9){return _0x2b6441(_0xce6a9a,_0xd116f9-0x55b);}if(_0x254c4e){const _0x91305e={};return _0x91305e['type']=TerrainType[_0x48bd31(0x1089,_0x56bce1._0x5ef363)],[new Cesium__namespace[(_0x1ed1e2(0x1925,0x15cb))]({'name':_0x723cea('EllipsoidTerrainProvider'),'iconUrl':Cesium__namespace[_0x1ed1e2(0xe16,_0x56bce1._0x2f1222)]('Widgets/Images/TerrainProviders/Ellipsoid.png'),'tooltip':_0x723cea('EllipsoidTerrainProviderTooltip'),'category':'','creationFunction':function(){return getNoTerrainProvider();},'marsOptions':_0x91305e}),new Cesium__namespace['ProviderViewModel']({'name':_0x254c4e['name']||_0x723cea('TerrainProvider'),'iconUrl':Cesium__namespace['buildModuleUrl']('Widgets/Images/TerrainProviders/CesiumWorldTerrain.png'),'tooltip':_0x254c4e['tooltip']||_0x723cea('TerrainProviderTooltip'),'category':'','creationFunction':function(){return createTerrainProvider(_0x254c4e);},'marsOptions':{'type':TerrainType['XYZ'],..._0x254c4e}})];}else{const _0x50c644={};_0x50c644[_0x48bd31(0x1963,_0x56bce1._0x22dbdd)]=TerrainType[_0x1ed1e2(_0x56bce1._0x5436d2,0x11cb)];const _0x1ad79f={};_0x1ad79f[_0x48bd31(_0x56bce1._0x4e229c,_0x56bce1._0x4c0551)]=TerrainType['XYZ'];const _0x8bb3db={};_0x8bb3db['type']=TerrainType['ION'];const _0x4e9713={};return _0x4e9713['type']=TerrainType[_0x1ed1e2(_0x56bce1._0x1484ab,0x6c0)],[new Cesium__namespace['ProviderViewModel']({'name':_0x723cea(_0x48bd31(0x1930,_0x56bce1._0x155098)),'iconUrl':Cesium__namespace['buildModuleUrl']('Widgets/Images/TerrainProviders/Ellipsoid.png'),'tooltip':_0x723cea('EllipsoidTerrainProviderTooltip'),'category':'','creationFunction':function(){return getNoTerrainProvider();},'marsOptions':_0x50c644}),new Cesium__namespace[(_0x48bd31(0x19a0,0x1625))]({'name':_0x48bd31(0x161b,0x11d0)+_0x723cea('TerrainProvider'),'iconUrl':Cesium__namespace['buildModuleUrl'](_0x48bd31(_0x56bce1._0x5f3044,_0x56bce1._0x482a88)),'tooltip':_0x1ed1e2(_0x56bce1._0x4485da,_0x56bce1._0x248ec8)+_0x723cea(_0x1ed1e2(_0x56bce1._0x558f78,0xe50)),'category':'','creationFunction':function(){const _0x338af2={};_0x338af2['url']=_0x48d906(_0x332810._0x3060b3,_0x332810._0x43291a);function _0x48d906(_0x25eda4,_0x14e304){return _0x48bd31(_0x25eda4,_0x14e304- -_0x3305a6._0x45bc09);}return createTerrainProvider(_0x338af2);},'marsOptions':_0x1ad79f}),new Cesium__namespace['ProviderViewModel']({'name':'Ion\x20'+_0x723cea(_0x48bd31(0x7e1,0xb8a)),'iconUrl':Cesium__namespace['buildModuleUrl']('Widgets/Images/TerrainProviders/CesiumWorldTerrain.png'),'tooltip':'Ion\x20'+_0x723cea('TerrainProviderTooltip'),'category':'','creationFunction':function(){const _0x40cf32={_0x21f53c:0x55f},_0x5a067e={};_0x5a067e[_0x376ade(0x1118,0x107a)]='ion';function _0x376ade(_0x1b0175,_0xdad02c){return _0x48bd31(_0xdad02c,_0x1b0175- -_0x40cf32._0x21f53c);}return createTerrainProvider(_0x5a067e);},'marsOptions':_0x8bb3db}),new Cesium__namespace[(_0x1ed1e2(0x1d42,0x15cb))]({'name':_0x48bd31(_0x56bce1._0x3f2bb6,0x171e)+_0x723cea(_0x1ed1e2(0x61f,0xb30)),'iconUrl':Cesium__namespace[_0x48bd31(_0x56bce1._0x2466d6,0xe75)](_0x48bd31(_0x56bce1._0x277b6e,_0x56bce1._0x482a88)),'tooltip':'ArcGIS\x20'+_0x723cea(_0x48bd31(_0x56bce1._0x15bca2,0xeaa)),'category':'','creationFunction':function(){const _0x3af380={_0x75def6:0x30c},_0x1b071f={};_0x1b071f['type']='arcgis',_0x1b071f[_0x4f56e9(0xd5a,_0x276802._0x3a6095)]=_0x460332(0xc12,0x9a6);function _0x460332(_0x518667,_0x2d87a4){return _0x48bd31(_0x518667,_0x2d87a4- -_0x3af380._0x75def6);}function _0x4f56e9(_0x144c6a,_0x42082b){return _0x1ed1e2(_0x144c6a,_0x42082b-0x198);}return createTerrainProvider(_0x1b071f);},'marsOptions':_0x4e9713})];}}const _0xcfe218={};_0xcfe218[_0x306755(0xfe4,0xbb0)]=null,_0xcfe218['register']=register$3,_0xcfe218['getClass']=getClass$3,_0xcfe218['create']=create$3,_0xcfe218['converOptions']=converOptions,_0xcfe218['registerImageryProvider']=registerImageryProvider,_0xcfe218['getProviderClass']=getProviderClass,_0xcfe218['createImageryProvider']=createImageryProvider$j,_0xcfe218['getImageryProviderViewModels']=getImageryProviderViewModels,_0xcfe218[_0x2b6441(0xfa6,0xcac)]=getNoTerrainProvider,_0xcfe218[_0x306755(0xc25,0x1098)]=registerTerrainProvider,_0xcfe218['getTerrainProviderClass']=getTerrainProviderClass,_0xcfe218[_0x2b6441(0x1387,0xd7e)]=createTerrainProvider,_0xcfe218[_0x2b6441(0xec4,0x6cc)]=getTerrainProviderViewModels;var LayerUtil=_0xcfe218;const ControlClass={};function register$2(_0x4a57a0,_0x41d8cf){function _0x56dd8c(_0x20433c,_0x4121ce){return _0x2b6441(_0x4121ce,_0x20433c-0x263);}ControlClass[_0x4a57a0]&&logError('register:\x20'+_0x4a57a0+'类型已存在',_0x41d8cf),ControlType[_0x4a57a0]=_0x4a57a0,ControlClass[_0x4a57a0]=_0x41d8cf,_0x41d8cf['type']=_0x4a57a0,_0x41d8cf[_0x56dd8c(0x9b5,0x1015)]['_type']=_0x4a57a0;}function getClass$2(_0x260b35){return ControlClass[_0x260b35];}function create$2(_0x458900,_0x4771f0){const _0x207037=getClass$2(_0x458900);if(_0x207037){const _0x53eb58=new _0x207037(_0x4771f0);return _0x53eb58;}}const _0x211d8c={};_0x211d8c['__proto__']=null,_0x211d8c['register']=register$2,_0x211d8c[_0x2b6441(-0x3fc,0x593)]=getClass$2,_0x211d8c['create']=create$2;var ControlUtil=_0x211d8c;const EffectClass={};function register$1(_0x3dcce5,_0x518e50){const _0x3afb5b={_0x222511:0x991},_0x2140a5={_0x4175ec:0x3f6};EffectClass[_0x3dcce5]&&logError('register:\x20'+_0x3dcce5+_0x55a877(0x1749,0x1257),_0x518e50);EffectType[_0x3dcce5]=_0x3dcce5;function _0x55a877(_0x5c5dcd,_0x357b4f){return _0x306755(_0x5c5dcd,_0x357b4f- -0x3f4);}EffectClass[_0x3dcce5]=_0x518e50,_0x518e50['type']=_0x3dcce5;function _0x17a55a(_0x4561e5,_0x5a09b8){return _0x2b6441(_0x4561e5,_0x5a09b8-_0x2140a5._0x4175ec);}_0x518e50[_0x55a877(_0x3afb5b._0x222511,0x8ff)]['_type']=_0x3dcce5;}function getClass$1(_0x663e2c){return EffectClass[_0x663e2c];}function create$1(_0x2ae22f,_0x1c00a2){const _0x6b5fd5=getClass$1(_0x2ae22f);if(_0x6b5fd5){const _0x45058c=new _0x6b5fd5(_0x1c00a2);return _0x45058c;}else logWarn('配置中的特效未处理',_0x2ae22f,_0x1c00a2);}const _0x1b302e={};_0x1b302e[_0x2b6441(0x710,0x60f)]=null,_0x1b302e['register']=register$1,_0x1b302e[_0x306755(0x333,0xb34)]=getClass$1,_0x1b302e['create']=create$1;var EffectUtil=_0x1b302e;const ThingClass={};function register(_0x4548ce,_0x71aef5,_0x488c47=!![]){const _0x46dec7={_0x39ec08:0x1482,_0x57f010:0xbd6,_0x4241c7:0xd51,_0x499cb9:0x1350};function _0x4a86e9(_0x1a0c44,_0xe29ef4){return _0x2b6441(_0x1a0c44,_0xe29ef4-0x28e);}ThingClass[_0x4548ce]&&logError(_0x4a86e9(0x161a,_0x46dec7._0x39ec08)+_0x4548ce+_0x198657(_0x46dec7._0x57f010,0x15dc),_0x71aef5);ThingType[_0x4548ce]=_0x4548ce,ThingClass[_0x4548ce]=_0x71aef5,_0x71aef5[_0x4a86e9(_0x46dec7._0x4241c7,_0x46dec7._0x499cb9)]=_0x4548ce;function _0x198657(_0x4eb76b,_0x897e06){return _0x306755(_0x4eb76b,_0x897e06- -0x6f);}_0x71aef5[_0x198657(0x1637,0xc84)]['_type']=_0x4548ce,_0x71aef5['prototype'][_0x198657(0xbaa,0x10f5)]=_0x488c47;}function getClass(_0x1fc6b3){return ThingClass[_0x1fc6b3];}function create(_0x129b19,_0x3b581d){const _0x469c75=getClass(_0x129b19);if(_0x469c75){const _0x14081b=new _0x469c75(_0x3b581d);return _0x14081b;}else logWarn('配置中的Thing对象未处理',_0x129b19,_0x3b581d);}const _0x344294={};_0x344294['__proto__']=null,_0x344294[_0x2b6441(0xf5b,0x7e0)]=register,_0x344294['getClass']=getClass,_0x344294['create']=create;var ThingUtil=_0x344294;class BaseOptsConver{constructor(_0x167f15={}){this['options']=_0x167f15;}get[_0x306755(0xb79,0xe1b)](){return null;}get[_0x2b6441(0xe4c,0xb9e)](){const _0x38e21e={_0x3fdede:0x452};function _0x5c98b0(_0x5adaf2,_0x13cf5c){return _0x306755(_0x5adaf2,_0x13cf5c- -0x25d);}return[_0x5c98b0(_0x38e21e._0x3fdede,0xc52),'outlineColor','backgroundColor','strokeColor'];}['toCesiumVal'](_0x1bd077={},_0x81ca2a={}){const _0x389351={_0x26e54a:0xe28,_0x3efb8f:0xc90,_0xd69b04:0x96c,_0x3a0728:0xe92,_0x46a8b5:0x8c0};function _0x2c4c70(_0x3d9ce7,_0x23b9ae){return _0x2b6441(_0x3d9ce7,_0x23b9ae-0xf2);}this['_toCesiumValBefore'](_0x1bd077,_0x81ca2a);for(const _0x5e7c61 in _0x1bd077){const _0x361c9f=_0x1bd077[_0x5e7c61];if(this[_0x2c4c70(_0x389351._0x26e54a,_0x389351._0x3efb8f)]['indexOf'](_0x5e7c61)===-0x1){if(!isSimpleType(_0x361c9f)){_0x81ca2a[_0x5e7c61]=_0x361c9f;continue;}if(this['excludedKeys']&&this[_0x2c4c70(0x1149,_0x389351._0xd69b04)]['indexOf'](_0x5e7c61)!==-0x1)continue;}const _0x55d22d=this[_0x29c846(_0x389351._0x3a0728,0xb0d)](_0x5e7c61,_0x361c9f,_0x1bd077,_0x81ca2a);if(_0x55d22d==null)continue;_0x81ca2a[_0x5e7c61]=_0x55d22d;}this[_0x29c846(_0x389351._0x46a8b5,0x54)](_0x1bd077,_0x81ca2a);function _0x29c846(_0xa8b545,_0x506633){return _0x2b6441(_0x506633,_0xa8b545-0x251);}return _0x81ca2a;}['_toCesiumValBefore'](_0xec147a,_0x11676a){}[_0x306755(0x12a8,0xc10)](_0x153d36,_0x47978f){}['_toOneCesiumVal'](_0xdced0f,_0x5cbdfa,_0x3c8431,_0x47673){switch(_0xdced0f){default:_0x47673[_0xdced0f]=_0x5cbdfa;break;}}[_0x2b6441(0xae3,0x569)](_0x1bf69a,_0x27e2d3={}){const _0x6166bc={_0x5509fa:0xd00,_0xeeca8:0x13e3};_0x1bf69a=getAttrVal(_0x1bf69a);this['_toJSONValBefore']&&this['_toJSONValBefore'](_0x27e2d3,_0x1bf69a);for(const _0x5a738e in _0x1bf69a){const _0x2c1186=_0x1bf69a[_0x5a738e];if(isSimpleType(_0x2c1186))_0x27e2d3[_0x5a738e]=_0x2c1186;else{if(this['excludedJsonKeys']&&this[_0xfec885(_0x6166bc._0x5509fa,0x148a)]['indexOf'](_0x5a738e)!==-0x1)continue;this[_0x4b55c6(0x1a36,_0x6166bc._0xeeca8)](_0x5a738e,_0x1bf69a[_0x5a738e],_0x27e2d3);}}function _0xfec885(_0x38bdef,_0x2dbefd){return _0x2b6441(_0x2dbefd,_0x38bdef-0xdd);}function _0x4b55c6(_0xd9296,_0x4129c8){return _0x2b6441(_0x4129c8,_0xd9296-0x669);}return this[_0xfec885(0x8fb,-0x19a)]&&this['_toJSONValEnd'](_0x27e2d3,_0x1bf69a),_0x27e2d3;}['_toOneJson'](_0x3cb26c,_0x50c7a2,_0x1a9a8b){}static['getColorByStyle'](_0x5664a9){const _0x277a76={_0x19588:0x8ca};function _0x505c46(_0x4ac3d3,_0x879243){return _0x2b6441(_0x879243,_0x4ac3d3-0x466);}return!this['baseOptsConver']&&(this['baseOptsConver']=new BaseOptsConver()),this[_0x505c46(0x884,_0x277a76._0x19588)]['getColorByStyle'](_0x5664a9);}['getColorByStyle'](_0x43e3e7){const _0x158d61={_0x30530e:0x1a4};function _0x488d02(_0x1ea5da,_0x50c807){return _0x2b6441(_0x1ea5da,_0x50c807-0x481);}function _0x5e4b7c(_0xde4eb4,_0x4203f8){return _0x2b6441(_0x4203f8,_0xde4eb4-_0x158d61._0x30530e);}return getColorByStyle(_0x43e3e7,this[_0x488d02(0x15f8,0xb3d)][_0x5e4b7c(0xab2,0x6b6)]);}['getOutlineColorByStyle'](_0x59f4f3){const _0x5e8901={_0xf36533:0xbf0,_0x556fe1:0x1909,_0x310ca1:0x7a7,_0x491690:0x99e,_0x44067b:0x1019,_0x41d157:0x1309,_0x5e5b4a:0x1915,_0x3601a8:0x221b,_0x37118a:0x1dcf,_0x2cc005:0x178a,_0x2cf46b:0x19de},_0x16da07={_0x551a98:0x3f6},_0xce3ec0={_0x4f33c8:0x6f8};function _0x232510(_0x4b387a,_0x1dca01){return _0x2b6441(_0x1dca01,_0x4b387a-_0xce3ec0._0x4f33c8);}let _0x5b2347;_0x59f4f3[_0x47c542(0xbf0,0x6f1)]?isString(_0x59f4f3[_0x47c542(_0x5e8901._0xf36533,0x133b)])?_0x5b2347=Cesium__namespace[_0x47c542(0xd89,0x895)]['fromCssColorString'](_0x59f4f3['outlineColor']):_0x5b2347=_0x59f4f3['outlineColor']:_0x5b2347=this['options']['outlineColor'];if(!_0x5b2347)return _0x5b2347;function _0x47c542(_0x55657b,_0x42789e){return _0x2b6441(_0x42789e,_0x55657b-_0x16da07._0x551a98);}if(Cesium__namespace[_0x232510(_0x5e8901._0x556fe1,0xea1)](_0x59f4f3[_0x47c542(0x7a7,0x7e5)]))_0x5b2347=_0x5b2347[_0x232510(0x1a8c,0x12db)](Number(_0x59f4f3[_0x47c542(_0x5e8901._0x310ca1,0x10a4)]));else Cesium__namespace['defined'](_0x59f4f3[_0x47c542(_0x5e8901._0x491690,_0x5e8901._0x44067b)])&&(_0x5b2347=_0x5b2347[_0x47c542(0x178a,0x1d6a)](Number(_0x59f4f3['opacity'])));return Cesium__namespace[_0x232510(0x1909,_0x5e8901._0x41d157)](_0x59f4f3[_0x232510(_0x5e8901._0x5e5b4a,_0x5e8901._0x3601a8)])&&_0x59f4f3[_0x47c542(0x1613,_0x5e8901._0x37118a)]!==0x1&&(_0x5b2347=_0x5b2347[_0x47c542(_0x5e8901._0x2cc005,0xfc9)](_0x5b2347['alpha']*_0x59f4f3[_0x232510(0x1915,_0x5e8901._0x2cf46b)])),_0x5b2347;}}class BaseMaterialConver extends BaseOptsConver{get['excludedKeys'](){const _0x522687={_0x3388e7:0xa0};function _0x1ab253(_0x30c3dd,_0x296c8a){return _0x306755(_0x296c8a,_0x30c3dd- -_0x522687._0x3388e7);}const _0x41f0da=['label'];return _0x41f0da[_0x1ab253(0xd86,0x3f7)](this['_getExcludedStyle']());}['_getExcludedStyle'](){return[];}static['toCesiumVal'](_0x52229f,_0x17df04){const _0x4a17a4={_0x4c4f4b:0x142e};function _0x55594a(_0x1d66d5,_0x17a67b){return _0x2b6441(_0x17a67b,_0x1d66d5-0x688);}!this['baseMaterialConver']&&(this[_0x55594a(0xb45,0xac1)]=new BaseMaterialConver());function _0xc55509(_0x376c0d,_0x3f19e3){return _0x306755(_0x3f19e3,_0x376c0d- -0xa1);}return this[_0x55594a(0xb45,_0x4a17a4._0x4c4f4b)]['toCesiumVal'](_0x52229f,_0x17df04);}[_0x2b6441(0xde1,0xc41)](_0x57ba3a,_0x2a45b9,_0x1eb1c0,_0x4b8a53){const _0x2d4fd0={_0x396864:0x10df,_0x171349:0x78c,_0x22063b:0x1006,_0x47bedf:0x1455,_0x2260f8:0x15a2,_0x454537:0x1927,_0x57e191:0x146e,_0x292f3d:0xe33,_0xdcfd54:0x279,_0x37488:0x1be,_0x192ce8:0x1878,_0x3a383a:0x41b,_0x2f0617:0x70b,_0x5c818f:0x136d,_0x3a3c28:0x18a5},_0x2b9df8={_0x4b429d:0x32e};function _0x5e347a(_0x5ceeaf,_0x5b6ca3){return _0x306755(_0x5b6ca3,_0x5ceeaf- -_0x2b9df8._0x4b429d);}function _0x3c6f9d(_0x101ba9,_0x37fe43){return _0x2b6441(_0x101ba9,_0x37fe43-0x70a);}switch(_0x57ba3a){case _0x5e347a(0xb81,0xf06):case'randomColor':_0x4b8a53['color']=this[_0x5e347a(0x1367,0xd3e)](_0x1eb1c0);break;case'color2':case'bgColor':case _0x5e347a(0xa6d,_0x2d4fd0._0x396864):case'evenColor':case _0x3c6f9d(-0x117,_0x2d4fd0._0x171349):case'lightColor':case _0x3c6f9d(0xab7,_0x2d4fd0._0x22063b):case _0x5e347a(_0x2d4fd0._0x47bedf,_0x2d4fd0._0x2260f8):case _0x5e347a(0x156a,0x173d):case'gapColor':case'strokeColor':case _0x3c6f9d(0x212e,0x18e6):case'asphaltColor':{let _0x717de3=getCesiumColor(_0x2a45b9);Cesium__namespace['defined'](_0x1eb1c0['opacity'])&&_0x1eb1c0['opacity']!==0x1&&(_0x717de3=_0x717de3['withAlpha'](_0x1eb1c0['opacity']));Cesium__namespace['defined'](_0x1eb1c0['globalAlpha'])&&_0x1eb1c0[_0x3c6f9d(0x227f,_0x2d4fd0._0x454537)]!==0x1&&(_0x717de3=_0x717de3['withAlpha'](_0x717de3[_0x5e347a(0x1271,0x18bc)]*_0x1eb1c0['globalAlpha']));_0x4b8a53[_0x57ba3a]=_0x717de3;break;}case _0x3c6f9d(_0x2d4fd0._0x57e191,0x12ca):case'repeat_y':{const _0x3fd971=_0x1eb1c0[_0x5e347a(_0x2d4fd0._0x292f3d,0x13e6)]??0x1,_0x314365=_0x1eb1c0['repeat_y']??0x1;_0x4b8a53[_0x5e347a(_0x2d4fd0._0xdcfd54,0xb21)]=new Cesium__namespace['Cartesian2'](_0x3fd971,_0x314365);break;}case'repeat':{_0x1eb1c0['materialType']===Stripe||_0x1eb1c0['materialType']===CylinderWave?_0x4b8a53[_0x57ba3a]=_0x2a45b9:_0x4b8a53[_0x57ba3a]=new Cesium__namespace[(_0x5e347a(_0x2d4fd0._0x37488,0x67b))](_0x1eb1c0['repeat_x']||_0x2a45b9,_0x1eb1c0[_0x5e347a(0x10fa,0x152d)]||_0x2a45b9);break;}case'lineCount':case _0x3c6f9d(0x140b,_0x2d4fd0._0x192ce8):case'lineOffset':case _0x5e347a(_0x2d4fd0._0x3a383a,_0x2d4fd0._0x2f0617):{_0x4b8a53[_0x57ba3a]=new Cesium__namespace['Cartesian2'](_0x2a45b9,_0x2a45b9);break;}case'orientation':{_0x2a45b9?_0x4b8a53[_0x57ba3a]=Cesium__namespace[_0x5e347a(_0x2d4fd0._0x5c818f,0x133f)][_0x3c6f9d(0x22ac,_0x2d4fd0._0x3a3c28)]:_0x4b8a53[_0x57ba3a]=Cesium__namespace['StripeOrientation']['HORIZONTAL'];break;}default:_0x4b8a53[_0x57ba3a]=_0x2a45b9;break;}}static[_0x306755(0x12f4,0xb0a)](_0x203ec2,_0x23c8ec){return!this['baseMaterialConver']&&(this['baseMaterialConver']=new BaseMaterialConver()),this['baseMaterialConver']['toJSON'](_0x203ec2,_0x23c8ec);}['toJSON'](_0x3225d0,_0x35039b={}){const _0x2183e9={_0x3d73fa:0x20b8};function _0x548fb9(_0x38670f,_0x519513){return _0x2b6441(_0x519513,_0x38670f-0x4a0);}var _0x3da153;if((_0x3da153=_0x3225d0)!==null&&_0x3da153!==void 0x0&&_0x3da153[_0x46769b(0x91b,0x11f4)]){const _0x1447c2=_0x3225d0['options'];for(const _0x376e8b in _0x1447c2){Cesium__namespace[_0x548fb9(0x16b1,_0x2183e9._0x3d73fa)](_0x3225d0[_0x376e8b])&&(_0x1447c2[_0x376e8b]=_0x3225d0[_0x376e8b]);}_0x3225d0=_0x1447c2;}function _0x46769b(_0xef7ea3,_0x26b34b){return _0x306755(_0x26b34b,_0xef7ea3- -0x342);}return super['toJSON'](_0x3225d0,_0x35039b);}['_toOneJson'](_0xd2134a,_0x49ca26,_0x3f9ab7){const _0xc6718c={_0x30423b:0xb45,_0xee9e13:0xdbe,_0x5b5c72:0x1cfa,_0x56e1eb:0x40b,_0x1e095c:0x51e,_0x938af3:0x1df0,_0x1ea178:0x18bb,_0x157055:0x10d2,_0x4def9c:0xd87,_0x4c9aeb:0x148b,_0x4c44da:0xcbd,_0x40fdda:0x1d86,_0x213b17:0x2f4,_0xcef201:0x4a2,_0x3d0d4f:0x47c,_0x55ae09:0x50f},_0x89520b={_0x2f73fc:0x105},_0xe58a21={_0x385dab:0x23};if(_0x49ca26 instanceof Cesium__namespace['Color']){_0x3f9ab7[_0xd2134a]=_0x49ca26['toCssColorString']();return;}function _0x222d8a(_0x431660,_0x3a7a25){return _0x306755(_0x431660,_0x3a7a25-_0xe58a21._0x385dab);}function _0x3c7a2e(_0x14ef11,_0x4b3e66){return _0x306755(_0x14ef11,_0x4b3e66- -_0x89520b._0x2f73fc);}switch(_0xd2134a){case'label':break;case'color':case _0x222d8a(_0xc6718c._0x30423b,0xb1b):case _0x222d8a(0x1177,_0xc6718c._0xee9e13):case _0x3c7a2e(_0xc6718c._0x5b5c72,0x15a7):case _0x3c7a2e(_0xc6718c._0x56e1eb,_0xc6718c._0x1e095c):case'baseWaterColor':case _0x222d8a(_0xc6718c._0x938af3,_0xc6718c._0x1ea178):case'gapColor':case _0x3c7a2e(_0xc6718c._0x157055,_0xc6718c._0x4def9c):case'backgroundColor':case _0x222d8a(_0xc6718c._0x4c9aeb,_0xc6718c._0x4c44da):case _0x222d8a(_0xc6718c._0x40fdda,0x148b):{const _0x268610=getCesiumColor(_0x49ca26);_0x268610&&_0x268610['toCssColorString']&&(_0x3f9ab7[_0xd2134a]=_0x268610[_0x3c7a2e(0xccf,0x632)]());break;}case _0x3c7a2e(-_0xc6718c._0x213b17,_0xc6718c._0xcef201):{_0x49ca26 instanceof Cesium__namespace[_0x222d8a(_0xc6718c._0x3d0d4f,_0xc6718c._0x55ae09)]?_0x49ca26['x']!==_0x49ca26['y']?(_0x3f9ab7[_0xd2134a+'_x']=_0x49ca26['x'],_0x3f9ab7[_0xd2134a+'_y']=_0x49ca26['y']):_0x3f9ab7[_0xd2134a]=_0x49ca26['x']:_0x3f9ab7[_0xd2134a]=_0x49ca26;break;}case _0x3c7a2e(0x80d,0x12d7):case'lineThickness':case _0x222d8a(0x1509,0x19ea):case'noiseScale':{_0x3f9ab7[_0xd2134a+'_x']=_0x49ca26['x'],_0x3f9ab7[_0xd2134a+'_y']=_0x49ca26['y'];break;}default:console['log']('未处理的属性',_0xd2134a,_0x49ca26);break;}}}registerOptsConver('default',BaseMaterialConver);class ColorOptsConver extends BaseMaterialConver{static[_0x2b6441(0x115a,0xaab)](_0x523d9f,_0x327b8c,_0x172bcd){const _0x3cb804={_0x1cb74c:0x93d,_0x1e649b:0x130c,_0xaac00c:0xb56},_0x36b6b0={_0x32e002:0x67d};function _0x21d52a(_0x29193b,_0x43c66d){return _0x306755(_0x29193b,_0x43c66d-0x5b);}if(_0x523d9f instanceof Cesium__namespace['Color'])return _0x523d9f;!this['colorOptsConver']&&(this['colorOptsConver']=new ColorOptsConver());this[_0x21d52a(0x1089,0x1003)][_0x4b3f48(_0x3cb804._0x1cb74c,_0x3cb804._0x1e649b)]=_0x172bcd;function _0x4b3f48(_0x3a6f5c,_0x311b4f){return _0x2b6441(_0x311b4f,_0x3a6f5c-_0x36b6b0._0x32e002);}return this['colorOptsConver'][_0x21d52a(_0x3cb804._0xaac00c,0x10a7)](_0x523d9f,_0x327b8c);}['toCesiumVal'](_0x40cc81){const _0x53c2be={_0x146b7f:0x2f6};function _0x339b28(_0x192cb4,_0x5e58ae){return _0x306755(_0x5e58ae,_0x192cb4- -0x4b);}function _0x31db9b(_0x14c926,_0x3589fc){return _0x306755(_0x14c926,_0x3589fc- -_0x53c2be._0x146b7f);}return this[_0x339b28(0x816,0xc66)]?this[_0x31db9b(0x1817,0x139f)](_0x40cc81):{'color':this['getColorByStyle'](_0x40cc81)};}static['toJSON'](_0x3d9f3c,_0x5babb8={},_0x4108da=![]){const _0x4d4ebe={_0x11ba9f:0xf7e};!this['colorOptsConver']&&(this['colorOptsConver']=new ColorOptsConver());function _0x40f9fd(_0x42ecbd,_0x1e32e0){return _0x306755(_0x42ecbd,_0x1e32e0- -0x2a);}this[_0x40f9fd(0x11b4,_0x4d4ebe._0x11ba9f)]['isProperty']=_0x4108da;function _0x4c92c7(_0x3c42ff,_0x3c3e3c){return _0x2b6441(_0x3c3e3c,_0x3c42ff-0x6fd);}return this[_0x40f9fd(0x765,_0x4d4ebe._0x11ba9f)]['toJSON'](_0x3d9f3c,_0x5babb8);}[_0x2b6441(0xefd,0x569)](_0x15da01,_0x2ee681={}){const _0x3afd2f={_0x41c56a:0x923,_0x2582a2:0x9a8,_0x551650:0x8c3,_0x561973:0x923,_0x545519:0x4c3};var _0x2201eb;(_0x2201eb=_0x15da01)!==null&&_0x2201eb!==void 0x0&&_0x2201eb['color']&&(_0x15da01=_0x15da01['color']);let _0x13cfb9=getCesiumValue(_0x15da01,Cesium__namespace['Color']);function _0x2d15d6(_0x43af85,_0x1040b2){return _0x2b6441(_0x1040b2,_0x43af85-0x15);}function _0x204d26(_0x33ed11,_0x352202){return _0x2b6441(_0x33ed11,_0x352202-0x62d);}_0x13cfb9[_0x2d15d6(_0x3afd2f._0x41c56a,0x2d4)]&&(_0x13cfb9=_0x13cfb9['color']);if(_0x13cfb9){if(_0x13cfb9 instanceof Cesium__namespace[_0x2d15d6(_0x3afd2f._0x2582a2,_0x3afd2f._0x551650)])_0x2ee681['color']=_0x13cfb9['toCssColorString']();else isString(_0x13cfb9)&&(_0x2ee681[_0x2d15d6(_0x3afd2f._0x561973,_0x3afd2f._0x545519)]=_0x13cfb9);}return _0x2ee681;}}registerOptsConver(Color$2,ColorOptsConver),registerOptsConver(PolylineArrow,ColorOptsConver);class ImageOptsConver extends BaseMaterialConver{get[_0x2b6441(0xb0d,0x87a)](){function _0x1fcd5b(_0x5b439b,_0x269f2b){return _0x2b6441(_0x5b439b,_0x269f2b-0x29c);}return[_0x1fcd5b(0xbc4,0x1123)];}static['toCesiumVal'](_0x106dc0,_0x237983){const _0x47a707={_0x10fcc0:0x9db,_0x176f01:0x10b0,_0x5de5d6:0x117a,_0x1aa7f3:0x177d},_0x532b2f={_0x487ec3:0x6cf},_0x593cd0={_0x1bffda:0x60f};function _0x236570(_0xb27f83,_0x1fd49b){return _0x2b6441(_0xb27f83,_0x1fd49b-_0x593cd0._0x1bffda);}function _0x33eef0(_0x1bd70a,_0x348dc5){return _0x2b6441(_0x348dc5,_0x1bd70a-_0x532b2f._0x487ec3);}return!this[_0x33eef0(_0x47a707._0x10fcc0,_0x47a707._0x176f01)]&&(this['imageOptsConver']=new ImageOptsConver()),this['imageOptsConver'][_0x33eef0(_0x47a707._0x5de5d6,_0x47a707._0x1aa7f3)](_0x106dc0,_0x237983);}['_toOneCesiumVal'](_0x342fad,_0x152418,_0x4419d9,_0x5c82cf){const _0x4b4230={_0x12cb26:0x1475,_0x3158cd:0x12be,_0x4fd5dc:0x29c,_0x1f5575:0x8f3,_0x527156:0x58d,_0x47add0:0x17ff,_0x295b3f:0x161d,_0x498ba7:0xc5,_0x1515a0:0x16ca,_0x381743:0xc71,_0x444582:0x8c2,_0x5f0ae4:0xefc,_0x27cbda:0xf81},_0x312891={_0x5c59cf:0x4d};function _0x5347a1(_0x477a46,_0x680620){return _0x306755(_0x680620,_0x477a46-_0x312891._0x5c59cf);}function _0x1fdb93(_0xdbafbe,_0x3a10c9){return _0x2b6441(_0x3a10c9,_0xdbafbe- -0x1b);}switch(_0x342fad){case'repeat_x':{const _0x18274d=_0x4419d9['repeat_x']??0x1,_0xe1dd99=_0x4419d9[_0x5347a1(_0x4b4230._0x12cb26,_0x4b4230._0x3158cd)]??0x1;_0x5c82cf['repeat']=new Cesium__namespace[(_0x5347a1(0x539,-_0x4b4230._0x4fd5dc))](_0x18274d,_0xe1dd99);break;}case'repeat':{_0x5c82cf[_0x342fad]=new Cesium__namespace['Cartesian2'](_0x4419d9['repeat_x']||_0x152418,_0x4419d9['repeat_y']||_0x152418);break;}case _0x1fdb93(_0x4b4230._0x1f5575,0x594):break;case _0x1fdb93(_0x4b4230._0x527156,0x44f):if(Cesium__namespace[_0x5347a1(_0x4b4230._0x47add0,0x1e43)](_0x4419d9[_0x1fdb93(0x1202,0xc8a)])&&_0x4419d9[_0x5347a1(0x180b,_0x4b4230._0x295b3f)]!==0x1)_0x5c82cf[_0x1fdb93(0x8f3,_0x4b4230._0x498ba7)]=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x4419d9[_0x5347a1(0x180b,_0x4b4230._0x1515a0)]*(_0x152418??0x1));else _0x4419d9[_0x1fdb93(_0x4b4230._0x381743,_0x4b4230._0x444582)]??!![]?_0x5c82cf[_0x5347a1(_0x4b4230._0x5f0ae4,0x433)]=Cesium__namespace[_0x5347a1(_0x4b4230._0x27cbda,0xe01)][_0x1fdb93(0x4a1,-0x4f0)][_0x5347a1(0x1982,0x14ad)](_0x152418??0x1):_0x5c82cf['color']=Cesium__namespace[_0x5347a1(0xf81,0x56d)][_0x5347a1(0xaaa,0x14f9)];break;default:_0x5c82cf[_0x342fad]=_0x152418;break;}}['_toCesiumValEnd'](_0x415d89,_0x3aa56b){const _0x3fc0e9={_0x5b97a2:0x132c};function _0x168006(_0x244ccc,_0x19dc77){return _0x2b6441(_0x244ccc,_0x19dc77-0x6a0);}_0x3aa56b[_0x168006(0xdf7,_0x3fc0e9._0x5b97a2)]=_0x3aa56b['transparent']??!![];}static['toJSON'](_0x2d5d6a,_0x562f3e){const _0x2d3b8b={_0xdadef1:0xf70,_0x15059b:0x2aa},_0x31424e={_0x5dced3:0x20e};!this[_0x5c6155(_0x2d3b8b._0xdadef1,0x51a)]&&(this['imageOptsConver']=new ImageOptsConver());function _0x5c6155(_0x1aa2a1,_0xfa6931){return _0x2b6441(_0x1aa2a1,_0xfa6931-_0x31424e._0x5dced3);}function _0x12d9f4(_0xdbb6e7,_0x329597){return _0x306755(_0x329597,_0xdbb6e7- -0x603);}return this[_0x12d9f4(_0x2d3b8b._0x15059b,0xc0b)]['toJSON'](_0x2d5d6a,_0x562f3e);}[_0x306755(0x1ddb,0x196e)](_0x434c8f,_0x8cf4b5,_0x5c40f6){const _0x50667e={_0x160df7:0x1f3};function _0xc3e387(_0x189561,_0xb9abcf){return _0x2b6441(_0xb9abcf,_0x189561-0x330);}function _0x282a9d(_0x2e3625,_0x21abf0){return _0x2b6441(_0x2e3625,_0x21abf0-0x4d);}switch(_0x434c8f){case _0xc3e387(0x336,0x340):{_0x5c40f6[_0x282a9d(0xfe1,0xc0d)]=_0x8cf4b5['x'],_0x5c40f6['repeat_y']=_0x8cf4b5['y'];break;}case _0xc3e387(0xc3e,0x36c):{var _0x5a1e56;_0x5c40f6['opacity']=((_0x5a1e56=getCesiumColor(_0x8cf4b5))===null||_0x5a1e56===void 0x0?void 0x0:_0x5a1e56['alpha'])??0x1;break;}default:console[_0xc3e387(_0x50667e._0x160df7,0x23a)]('未处理的属性',_0x434c8f,_0x8cf4b5);break;}}}registerOptsConver(Image$1,ImageOptsConver);class BaseStyleConver extends BaseOptsConver{get[_0x306755(0x146b,0xe1b)](){const _0x82c34d={_0x16231d:0x1261,_0x1d1157:0xe96,_0x17c132:0x130d,_0x4bcb26:0x15ff,_0x26a1df:0x1f5,_0x458ab4:0x16d4};function _0x1fdd15(_0x454959,_0x549bd6){return _0x306755(_0x549bd6,_0x454959- -0x402);}const _0x55c442=[_0x1fdd15(_0x82c34d._0x16231d,0xe93),_0x1fdd15(0x469,_0x82c34d._0x1d1157),_0x1fdd15(0x550,0x488),'outlineStyle','lineCount',_0x1fdd15(_0x82c34d._0x17c132,0xc2e),'cellAlpha','oddcolor',_0x28fe54(0xce4,0xd5a),_0x28fe54(0x190d,_0x82c34d._0x4bcb26),'image2','color2',_0x28fe54(0x135c,0x106b),_0x28fe54(0x1484,0xda8),_0x1fdd15(_0x82c34d._0x26a1df,-0x834),_0x28fe54(0xcca,_0x82c34d._0x458ab4),'pixelOffsetScaleByDistance_near',_0x28fe54(0x7dc,0xf03),'pixelOffsetScaleByDistance_far','pixelOffsetScaleByDistance_farValue','distanceDisplayCondition_far','distanceDisplayCondition_near'];function _0x28fe54(_0x27e498,_0x13f473){return _0x2b6441(_0x27e498,_0x13f473-0x481);}return _0x55c442[_0x1fdd15(0xa24,0x25f)](this['_getExcludedStyle']());}get['excludedJsonKeys'](){const _0x3536b6={_0x501b70:0x15ad},_0x139d21={_0x17f68d:0x607},_0x3ec8ca={_0x3e3665:0x350};function _0x251d38(_0x2160bc,_0x22ffd9){return _0x2b6441(_0x22ffd9,_0x2160bc-_0x3ec8ca._0x3e3665);}function _0x428bdc(_0x4c700b,_0x580304){return _0x2b6441(_0x580304,_0x4c700b-_0x139d21._0x17f68d);}return['label','outlineStyle',_0x428bdc(0xd14,_0x3536b6._0x501b70),'distanceDisplayPoint',_0x428bdc(0x8db,0xc6f)];}['_getExcludedStyle'](){return[];}['_toCesiumValBefore'](_0x36ac22,_0x50b5e4){const _0x3292dd={_0x256ac5:0x18e8,_0x4ffa10:0xb07,_0x518e90:0x1560,_0x25e3a6:0x7d8,_0xadb3ee:0x765};function _0x59b97f(_0x48f120,_0x4bb513){return _0x306755(_0x48f120,_0x4bb513- -0x3a8);}function _0x35d4cb(_0x35b75e,_0x1dfea9){return _0x306755(_0x35b75e,_0x1dfea9- -0x166);}if(!_0x36ac22[_0x59b97f(_0x3292dd._0x256ac5,0x15b9)]&&!_0x36ac22['materialType']){var _0xb9865b;if(_0x36ac22[_0x59b97f(0x13a2,_0x3292dd._0x4ffa10)]||_0x36ac22['randomColor']||(_0xb9865b=_0x36ac22[_0x35d4cb(_0x3292dd._0x518e90,0x1153)])!==null&&_0xb9865b!==void 0x0&&_0xb9865b[_0x59b97f(0xcbd,_0x3292dd._0x4ffa10)])_0x36ac22[_0x59b97f(0x887,_0x3292dd._0x25e3a6)]=Color$2;else _0x36ac22[_0x59b97f(_0x3292dd._0xadb3ee,0x30f)]&&(_0x36ac22['materialType']=Image$1);}}[_0x2b6441(0xaf9,0x1162)](_0x3679ce,_0x67ab80,_0x16d111,_0x27bc5d){const _0x499d1c={_0x29217e:0x844,_0x35f515:0x80,_0x556a36:0x16e5,_0x333eef:0xcea,_0x2988cd:0x86b,_0x5a4c21:0x970,_0x20ca8a:0x792,_0x426b86:0x87c,_0x443655:0x12a3,_0x19aaf7:0xaf1,_0x555067:0x1366,_0x542a85:0x12cd,_0x3ad88d:0x1354,_0x256b6a:0x1d71,_0x564aac:0xb2a,_0x740c56:0xc4d,_0x16ec2d:0x4a1,_0x515b00:0x172,_0x53c1c7:0x8d4,_0x183ae0:0x4e3,_0x4943f8:0x5c4},_0x545e47={_0x5c84b8:0x1cb},_0x1f51be={_0x1f5ee1:0x527};function _0x268b1b(_0x2e5cb8,_0x243326){return _0x306755(_0x2e5cb8,_0x243326- -_0x1f51be._0x1f5ee1);}function _0x450736(_0x3daf33,_0x592d24){return _0x2b6441(_0x592d24,_0x3daf33-_0x545e47._0x5c84b8);}switch(_0x3679ce){case'clampToGround':_0x67ab80?_0x27bc5d['heightReference']=Cesium__namespace['HeightReference']['CLAMP_TO_GROUND']:_0x27bc5d[_0x450736(_0x499d1c._0x29217e,_0x499d1c._0x35f515)]=Cesium__namespace['HeightReference'][_0x268b1b(_0x499d1c._0x556a36,_0x499d1c._0x333eef)];break;case'visibleDepth':_0x67ab80?_0x27bc5d['disableDepthTestDistance']=0x0:_0x27bc5d[_0x450736(0xac3,_0x499d1c._0x2988cd)]=Number[_0x450736(0xf29,0x1479)];break;case'hasShadows':_0x67ab80?_0x27bc5d['shadows']=Cesium__namespace['ShadowMode'][_0x268b1b(_0x499d1c._0x5a4c21,_0x499d1c._0x20ca8a)]:_0x27bc5d[_0x268b1b(-0x43,0xf0)]=Cesium__namespace[_0x268b1b(0x231,_0x499d1c._0x426b86)][_0x268b1b(0xdfa,_0x499d1c._0x443655)];break;case _0x268b1b(0xe4e,0x707):_0x67ab80?_0x27bc5d['scaleByDistance']=new Cesium__namespace[(_0x268b1b(0x10f6,0x9a5))](Number(Cesium__namespace['defaultValue'](_0x16d111['scaleByDistance_near'],0x3e8)),Number(Cesium__namespace['defaultValue'](_0x16d111[_0x268b1b(0xe1,0x9a1)],0x1)),Number(Cesium__namespace['defaultValue'](_0x16d111['scaleByDistance_far'],0xf4240)),Number(Cesium__namespace[_0x268b1b(_0x499d1c._0x19aaf7,0x783)](_0x16d111[_0x268b1b(_0x499d1c._0x555067,_0x499d1c._0x542a85)],0.1))):_0x27bc5d['scaleByDistance']=undefined;break;case'pixelOffsetScaleByDistance':_0x67ab80?_0x27bc5d[_0x450736(_0x499d1c._0x3ad88d,_0x499d1c._0x256b6a)]=new Cesium__namespace['NearFarScalar'](Number(Cesium__namespace['defaultValue'](_0x16d111[_0x450736(_0x499d1c._0x564aac,0x19c)],0x3e8)),Number(Cesium__namespace['defaultValue'](_0x16d111[_0x450736(_0x499d1c._0x740c56,_0x499d1c._0x16ec2d)],0x1)),Number(Cesium__namespace['defaultValue'](_0x16d111['pixelOffsetScaleByDistance_far'],0xf4240)),Number(Cesium__namespace['defaultValue'](_0x16d111[_0x268b1b(_0x499d1c._0x515b00,0x456)],0.1))):_0x27bc5d['pixelOffsetScaleByDistance']=undefined;break;case _0x268b1b(0xb26,0x394):_0x67ab80?_0x27bc5d['distanceDisplayCondition']=new Cesium__namespace['DistanceDisplayCondition'](Number(Cesium__namespace[_0x450736(_0x499d1c._0x53c1c7,0x4f6)](_0x16d111['distanceDisplayCondition_near'],0x0)),Number(Cesium__namespace[_0x268b1b(_0x499d1c._0x183ae0,0x783)](_0x16d111['distanceDisplayCondition_far'],Number[_0x268b1b(0x8b5,_0x499d1c._0x4943f8)]))):_0x27bc5d[_0x450736(0x4e5,0xb99)]=undefined;break;default:_0x27bc5d[_0x3679ce]=_0x67ab80;break;}}[_0x306755(0x2aa,0x4e7)](_0x3d00d9,_0x644fc9,_0x5a57cf,_0x1b23e4){const _0x380694={_0xd56e6f:0xd1b,_0x581f92:0x785,_0x47192c:0x1566,_0x31e804:0x785,_0x3d8eee:0xe3d,_0x22bf6a:0xccb,_0x227277:0x13cd,_0xacb31e:0xa97,_0x174e8c:0xbb7,_0x1cefd8:0x581,_0x20453a:0x526,_0x3f0b40:0x4c0,_0x572099:0x7c8,_0x2b0ecc:0xb98,_0x2f617b:0x46d,_0x24caed:0xe49},_0xdeac49={_0x3b007e:0x1e4},_0x5eaae3={_0x2e33d2:0x1a6};function _0x30a839(_0x3427df,_0x44e87d){return _0x2b6441(_0x3427df,_0x44e87d-_0x5eaae3._0x2e33d2);}function _0x39efda(_0x388567,_0x121f37){return _0x306755(_0x121f37,_0x388567- -_0xdeac49._0x3b007e);}switch(_0x3d00d9){case _0x30a839(_0x380694._0xd56e6f,_0x380694._0x581f92):{this[_0x39efda(0xaff,0xac0)]?_0x1b23e4[_0x30a839(0xab5,_0x380694._0x47192c)]=createMaterialProperty(_0x5a57cf[_0x30a839(0xe59,_0x380694._0x31e804)],_0x5a57cf[_0x30a839(_0x380694._0x3d8eee,0xebe)]||_0x5a57cf):_0x1b23e4[_0x30a839(0x18d6,_0x380694._0x47192c)]=createMaterial(_0x5a57cf['materialType'],_0x5a57cf['materialOptions']||_0x5a57cf);break;}case _0x39efda(_0x380694._0x22bf6a,0x4a1):case _0x39efda(_0x380694._0x227277,_0x380694._0xacb31e):{_0x1b23e4['color']=this['getColorByStyle'](_0x5a57cf);break;}case'outlineColor':{_0x1b23e4[_0x39efda(_0x380694._0x174e8c,0x6a4)]=this['getOutlineColorByStyle'](_0x5a57cf);break;}case'hasShadows':_0x644fc9?_0x1b23e4[_0x39efda(0x433,-_0x380694._0x1cefd8)]=Cesium__namespace['ShadowMode'][_0x30a839(-0x1cf,0x8be)]:_0x1b23e4[_0x30a839(0x7a5,0x21c)]=Cesium__namespace['ShadowMode']['DISABLED'];break;case'distanceDisplayCondition':_0x644fc9?this[_0x30a839(-0x16a,0x8e8)]?_0x1b23e4[_0x30a839(_0x380694._0x20453a,_0x380694._0x3f0b40)]=new Cesium__namespace[(_0x30a839(_0x380694._0x572099,0x438))](Number(Cesium__namespace['defaultValue'](_0x5a57cf[_0x30a839(_0x380694._0x2b0ecc,_0x380694._0x2f617b)],0x0)),Number(Cesium__namespace['defaultValue'](_0x5a57cf[_0x30a839(0x1060,0x13d2)],Number['MAX_VALUE']))):_0x1b23e4['distanceDisplayCondition']=new Cesium__namespace['DistanceDisplayConditionGeometryInstanceAttribute'](Number(Cesium__namespace['defaultValue'](_0x5a57cf['distanceDisplayCondition_near'],0x0)),Number(Cesium__namespace[_0x39efda(0xac6,_0x380694._0x24caed)](_0x5a57cf['distanceDisplayCondition_far'],Number['MAX_VALUE']))):_0x1b23e4['distanceDisplayCondition']=undefined;break;default:_0x1b23e4[_0x3d00d9]instanceof Cesium__namespace['CallbackProperty']?logWarn('回调属性未覆盖更新',_0x3d00d9,_0x644fc9):_0x1b23e4[_0x3d00d9]=_0x644fc9;break;}}[_0x2b6441(0xf24,0x81e)](_0xcd89fe,_0x4db5dd){}[_0x306755(0x12f1,0x1309)](_0x43d679,_0x481624,_0x2cf7d6){const _0x18b478={_0x234c29:0x1075,_0x55efc9:0x1712,_0x54c701:0x2e8,_0x34aabf:0x1a4,_0xd69737:0x400,_0x25e310:0x2f9,_0x222609:0x3d3,_0x5028be:0x7e4,_0x4d9927:0x677,_0x28f1ca:0xd02,_0x44a8f1:0x624,_0x170cb3:0xc8c,_0x3280c5:0xda5};function _0x1921ad(_0x348ed6,_0x45e7c2){return _0x306755(_0x45e7c2,_0x348ed6- -0x244);}function _0x2ab416(_0x3a93d0,_0xee6b1){return _0x2b6441(_0xee6b1,_0x3a93d0-0xe);}switch(_0x43d679){case _0x2ab416(0x13ce,0xb13):{toJSON(_0x481624,_0x2cf7d6);break;}case _0x1921ad(_0x18b478._0x234c29,_0x18b478._0x55efc9):{_0x2cf7d6[_0x43d679]=toJSONByType(_0x2cf7d6['materialType'],_0x481624);break;}case _0x1921ad(0xc6b,_0x18b478._0x54c701):{const _0x317f82=getCesiumColor(_0x481624);_0x317f82&&(_0x2cf7d6[_0x43d679]=_0x317f82[_0x2ab416(_0x18b478._0x34aabf,-_0x18b478._0xd69737)]());break;}case'outlineColor':{const _0x38a2b4=getCesiumColor(_0x481624);_0x38a2b4&&(_0x2cf7d6[_0x43d679]=_0x38a2b4['toCssColorString']());break;}case'rotation':_0x2cf7d6[_0x1921ad(_0x18b478._0x25e310,0x1ff)]=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x481624),0x2);break;case'stRotation':_0x2cf7d6['stRotationDegree']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x481624),0x2);break;case _0x1921ad(_0x18b478._0x222609,_0x18b478._0x5028be):{_0x481624===Cesium__namespace['ShadowMode']['ENABLED']?_0x2cf7d6[_0x2ab416(0x84,0x616)]=!![]:_0x2cf7d6[_0x43d679]=_0x481624;break;}case _0x1921ad(_0x18b478._0x4d9927,_0x18b478._0x28f1ca):{_0x2cf7d6[_0x1921ad(_0x18b478._0x44a8f1,_0x18b478._0x170cb3)]=_0x481624['near'],_0x2cf7d6['distanceDisplayCondition_far']=_0x481624[_0x1921ad(_0x18b478._0x3280c5,0x1164)];break;}default:logWarn('未处理的属性',_0x43d679,_0x481624);break;}}['_toOneJson_Point'](_0x5321f4,_0x539cf3,_0x27e2b5){const _0x326cf4={_0x2d9e81:0x1055,_0x31ab4d:0x789,_0x68dc03:0xc3e,_0xaf15ef:0xcd2,_0x4986e2:0xee1,_0x2eb9f0:0x1519,_0x53bdd9:0xd60,_0x2de5bc:0x1087,_0x2a2832:0x94f,_0x4df703:0x602,_0x5e6712:0x1796,_0x226e79:0x14b1,_0x185350:0x1d36,_0x587440:0xf5e,_0x18f3bf:0x19ab,_0x1b9c4d:0x13e7,_0x3565cd:0x1770,_0x5dcb40:0x1091,_0x22cd91:0x100e,_0xaf2295:0x1396,_0x108703:0x1870,_0x47b758:0x1a74,_0x11e328:0xc9c,_0x3fbcfd:0x18cf,_0x2212c4:0x112f};function _0x38d1a0(_0x33598f,_0x172bdb){return _0x306755(_0x33598f,_0x172bdb- -0x264);}function _0x45ca3a(_0xcbf8e8,_0xf3496b){return _0x2b6441(_0xf3496b,_0xcbf8e8-0x6e7);}switch(_0x5321f4){case'material':{toJSON(_0x539cf3,_0x27e2b5);break;}case _0x38d1a0(0x15bb,_0x326cf4._0x2d9e81):{_0x27e2b5[_0x5321f4]=toJSONByType(_0x27e2b5['materialType'],_0x539cf3);break;}case _0x45ca3a(0xff5,_0x326cf4._0x31ab4d):case _0x45ca3a(_0x326cf4._0x68dc03,_0x326cf4._0xaf15ef):case _0x45ca3a(_0x326cf4._0x4986e2,0x15c6):case _0x38d1a0(0x1a97,_0x326cf4._0x2eb9f0):case'strokeColor':{const _0xfd21b3=getCesiumColor(_0x539cf3);_0xfd21b3&&(_0x27e2b5[_0x5321f4]=_0xfd21b3['toCssColorString']());break;}case _0x45ca3a(_0x326cf4._0x53bdd9,_0x326cf4._0x2de5bc):{_0x539cf3===Cesium__namespace['HeightReference'][_0x38d1a0(-0xc0,_0x326cf4._0x2a2832)]&&(_0x27e2b5[_0x45ca3a(_0x326cf4._0x4df703,0x10c9)]=!![]);break;}case _0x45ca3a(_0x326cf4._0x5e6712,0x1d57):_0x27e2b5['rotationDegree']=formatNum$1(Cesium__namespace[_0x45ca3a(_0x326cf4._0x226e79,_0x326cf4._0x185350)][_0x45ca3a(_0x326cf4._0x587440,_0x326cf4._0x18f3bf)](_0x539cf3),0x2);break;case'stRotation':_0x27e2b5['stRotationDegree']=formatNum$1(Cesium__namespace['Math'][_0x45ca3a(0xf5e,_0x326cf4._0x1b9c4d)](_0x539cf3),0x2);break;case'disableDepthTestDistance':{_0x539cf3===Number[_0x45ca3a(0x1445,0x149f)]?_0x27e2b5['visibleDepth']=![]:_0x27e2b5['disableDepthTestDistance']=_0x539cf3;break;}case'scaleByDistance':{_0x27e2b5['scaleByDistance']=!![],_0x27e2b5[_0x38d1a0(0xe02,0xf27)]=_0x539cf3[_0x38d1a0(_0x326cf4._0x3565cd,_0x326cf4._0x5dcb40)],_0x27e2b5[_0x45ca3a(_0x326cf4._0x22cd91,0x1a17)]=_0x539cf3['nearValue'],_0x27e2b5['scaleByDistance_far']=_0x539cf3[_0x38d1a0(0xf68,0xd85)],_0x27e2b5[_0x38d1a0(_0x326cf4._0xaf2295,0x1590)]=_0x539cf3['farValue'];break;}case _0x45ca3a(_0x326cf4._0x108703,_0x326cf4._0x47b758):{_0x27e2b5['pixelOffsetScaleByDistance']=!![],_0x27e2b5[_0x38d1a0(0x152b,_0x326cf4._0x11e328)]=_0x539cf3[_0x45ca3a(0x143b,_0x326cf4._0x3fbcfd)],_0x27e2b5[_0x38d1a0(0xed6,0xdbf)]=_0x539cf3['nearValue'],_0x27e2b5['pixelOffsetScaleByDistance_far']=_0x539cf3[_0x45ca3a(_0x326cf4._0x2212c4,0xa63)],_0x27e2b5['pixelOffsetScaleByDistance_farValue']=_0x539cf3['farValue'];break;}case'distanceDisplayCondition':{_0x27e2b5['distanceDisplayCondition']=!![],_0x27e2b5['distanceDisplayCondition_near']=_0x539cf3['near'],_0x27e2b5['distanceDisplayCondition_far']=_0x539cf3['far'];break;}default:logWarn('未处理的属性',_0x5321f4,_0x539cf3);break;}}}class BillboardStyleConver extends BaseStyleConver{['_getExcludedStyle'](){const _0x491091={_0x59327c:0xcc6,_0x1b1223:0xfa7,_0x1c1223:0xe52,_0x40c247:0x71f,_0x327990:0x1491,_0x33a286:0xed5},_0x4dea5b={_0x5b96b8:0x4d9};function _0x1da28a(_0x51341c,_0x5ae10b){return _0x306755(_0x5ae10b,_0x51341c- -_0x4dea5b._0x5b96b8);}function _0x3f389b(_0x2278a7,_0x1ab495){return _0x306755(_0x1ab495,_0x2278a7- -0x3ba);}return['outlineColor','backgroundColor',_0x1da28a(_0x491091._0x59327c,_0x491091._0x1b1223),'font_weight','font_size',_0x3f389b(_0x491091._0x1c1223,_0x491091._0x40c247),_0x3f389b(0xcc9,0x10af),_0x3f389b(0x1232,0x1719),_0x1da28a(_0x491091._0x327990,_0x491091._0x33a286)];}static[_0x306755(0x1529,0x104c)](_0x2ff91b,_0x252f8c,_0x175fa0){const _0x42fd3a={_0x5788c4:0x115f,_0x49d444:0x272};!this[_0x266637(0x12e6,_0x42fd3a._0x5788c4)]&&(this[_0x266637(0x12e6,0xd29)]=new BillboardStyleConver());this['billboardStyleConver'][_0x266637(0x84d,_0x42fd3a._0x49d444)]=_0x175fa0;function _0x4e0aed(_0x2ff1a7,_0x51b8f7){return _0x306755(_0x51b8f7,_0x2ff1a7- -0x46f);}function _0x266637(_0x2173f9,_0x44df6c){return _0x306755(_0x44df6c,_0x2173f9- -0x496);}return this['billboardStyleConver']['toCesiumVal'](_0x2ff91b,_0x252f8c);}[_0x306755(0x1355,0x1092)](_0x368876,_0x416366){const _0x3df1f2={_0x2e199b:0x422},_0x583277={_0x2cb39d:0x14a};function _0x2a22d7(_0x353c6c,_0x1d216b){return _0x306755(_0x1d216b,_0x353c6c- -_0x583277._0x2cb39d);}_0x416366['horizontalOrigin']=_0x416366['horizontalOrigin']??Cesium__namespace[_0x2a22d7(_0x3df1f2._0x2e199b,0xdee)]['CENTER'],_0x416366['verticalOrigin']=_0x416366['verticalOrigin']??Cesium__namespace['HorizontalOrigin']['BOTTOM'];}['_toOneCesiumVal'](_0x3a5e2c,_0x13a676,_0x384fd2,_0xbb9886){const _0x341fde={_0x337f2c:0x14fe,_0x1de277:0xfa4,_0x2cb69e:0x20f9,_0x587c6b:0xff,_0x19c4e0:0x27d,_0x3449be:0x10ad,_0x2b4296:0x16ad,_0x49c03d:0x4d,_0x951372:0x53e,_0x43efcc:0xd83};function _0xf4e1b6(_0x4b5816,_0x2d3439){return _0x306755(_0x4b5816,_0x2d3439- -0x2c0);}function _0x439271(_0x582db5,_0x33bb7c){return _0x2b6441(_0x582db5,_0x33bb7c-0x102);}switch(_0x3a5e2c){case'color':{_0xbb9886['color']=this[_0xf4e1b6(0xb6b,0x13d5)](_0x384fd2);break;}case'opacity':!_0x384fd2['color']&&(Cesium__namespace['defined'](_0x384fd2[_0xf4e1b6(0x11e4,_0x341fde._0x337f2c)])&&_0x384fd2['globalAlpha']!==0x1?_0xbb9886[_0x439271(0x554,0xa10)]=Cesium__namespace[_0xf4e1b6(0x1112,0xc74)][_0xf4e1b6(_0x341fde._0x1de277,0x79d)]['withAlpha'](_0x384fd2['globalAlpha']*(_0x13a676??0x1)):_0xbb9886['color']=Cesium__namespace['Color'][_0x439271(0xfee,0x5be)][_0xf4e1b6(_0x341fde._0x2cb69e,0x1675)](_0x13a676??0x1));break;case _0xf4e1b6(-_0x341fde._0x587c6b,_0x341fde._0x19c4e0):_0xbb9886[_0x439271(0x17ae,0x11b1)]=Cesium__namespace[_0xf4e1b6(0x17d2,0x10ab)][_0x439271(_0x341fde._0x3449be,0x72d)](_0x13a676);break;case _0x439271(0x1fde,0x1548):!_0x13a676&&(_0xbb9886[_0x439271(0x18f0,0x14ce)]=new Cesium__namespace['Cartesian2'](0x0,0x0));break;case'pixelOffsetX':case'pixelOffsetY':_0xbb9886[_0xf4e1b6(0xdd1,_0x341fde._0x2b4296)]=new Cesium__namespace['Cartesian2'](_0x384fd2['pixelOffsetX']||0x0,_0x384fd2[_0x439271(-0x393,0x105)]||0x0);break;case _0xf4e1b6(0x1de6,0x16ad):Cesium__namespace['defined'](_0x13a676[0x0])&&Cesium__namespace['defined'](_0x13a676[0x1])?_0xbb9886['pixelOffset']=new Cesium__namespace[(_0x439271(-0x533,_0x341fde._0x49c03d))](_0x13a676[0x0],_0x13a676[0x1]):_0xbb9886['pixelOffset']=_0x13a676;break;case'alignedAxis':{Array['isArray'](_0x13a676)&&(_0xbb9886[_0xf4e1b6(_0x341fde._0x951372,_0x341fde._0x43efcc)]=new Cesium__namespace[(_0x439271(0xeae,0x582))](..._0x13a676));_0x384fd2[_0x439271(0x10b5,0xba4)]=_0x13a676;break;}default:this['_toOneCesiumVal_Point'](_0x3a5e2c,_0x13a676,_0x384fd2,_0xbb9886);break;}}static['toJSON'](_0x5be155,_0x2878c4,_0x58e81c){const _0x43de18={_0x94d4e5:0x8c9,_0x21a182:0x13a6};!this['billboardStyleConver']&&(this['billboardStyleConver']=new BillboardStyleConver());function _0x5cece5(_0x21b5b7,_0x3ba77e){return _0x306755(_0x3ba77e,_0x21b5b7- -0x41a);}this['billboardStyleConver'][_0x5cece5(_0x43de18._0x94d4e5,0x1d1)]=_0x58e81c;function _0x4ec4d9(_0x9fcaad,_0x5616bc){return _0x2b6441(_0x5616bc,_0x9fcaad-0x1cb);}return this[_0x4ec4d9(_0x43de18._0x21a182,0x1da0)]['toJSON'](_0x5be155,_0x2878c4);}[_0x306755(0xf2d,0x196e)](_0x1d0610,_0x2626de,_0x501ca6){const _0x42b712={_0x34cb1b:0x1170,_0x4c6949:0x12db};function _0xba3209(_0x299460,_0x602f35){return _0x306755(_0x602f35,_0x299460- -0x32b);}function _0x695ba(_0x339a6f,_0x2b2785){return _0x2b6441(_0x2b2785,_0x339a6f- -0x34);}switch(_0x1d0610){case _0xba3209(0x1642,_0x42b712._0x34cb1b):{_0x501ca6[_0x695ba(_0x42b712._0x4c6949,0x17b4)]=_0x2626de['x'],_0x501ca6['pixelOffsetY']=_0x2626de['y'];break;}case'alignedAxis':{_0x501ca6['alignedAxis']=[_0x2626de['x'],_0x2626de['y'],_0x2626de['z']];break;}default:this['_toOneJson_Point'](_0x1d0610,_0x2626de,_0x501ca6);break;}}}class CloudStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x517ad0,_0x418eb){return!this['cloudStyleConver']&&(this['cloudStyleConver']=new CloudStyleConver()),this['cloudStyleConver']['toCesiumVal'](_0x517ad0,_0x418eb);}[_0x2b6441(0xff1,0xaf1)](_0x4bddaa,_0x339257){}[_0x2b6441(0x112e,0xc41)](_0x250fd1,_0x24cfa6,_0x17a202,_0x4769ce){const _0xa6fc42={_0x2d0e13:0x18c3,_0xd6cfc1:0x222,_0x2b43ec:0x6d8,_0x395e07:0xae},_0x3e1332={_0x54f213:0x5a4},_0x2e216c={_0x5a62f3:0x66};function _0x44dd3e(_0x4e2026,_0x14e3d8){return _0x2b6441(_0x14e3d8,_0x4e2026- -_0x2e216c._0x5a62f3);}function _0x736ab2(_0x473d38,_0x417a7f){return _0x306755(_0x417a7f,_0x473d38- -_0x3e1332._0x54f213);}switch(_0x250fd1){case'scaleX':case'scaleY':_0x4769ce['scale']=new Cesium__namespace['Cartesian2'](_0x17a202['scaleX']||0x1,_0x17a202[_0x736ab2(0xc3a,0xe23)]||0x1);break;case'maximumSizeX':case _0x44dd3e(0x133f,_0xa6fc42._0x2d0e13):case _0x44dd3e(0x6d8,-_0xa6fc42._0xd6cfc1):_0x4769ce['maximumSize']=new Cesium__namespace['Cartesian3'](_0x17a202['maximumSizeX']||0x1,_0x17a202['maximumSizeY']||0x1,_0x17a202[_0x44dd3e(_0xa6fc42._0x2b43ec,-_0xa6fc42._0x395e07)]||0x1);break;default:this['_toOneCesiumVal_Point'](_0x250fd1,_0x24cfa6,_0x17a202,_0x4769ce);break;}}static['toJSON'](_0x5303d7,_0x2cf8ba){const _0x478f71={_0x16000a:0x10e2,_0x3a9d30:0xed7,_0x1ac6dd:0x1202},_0x1a1ed4={_0x20e01e:0x2f8};function _0x4c603d(_0x134856,_0x4b6f90){return _0x306755(_0x134856,_0x4b6f90- -_0x1a1ed4._0x20e01e);}!this[_0x2e36a2(0x173f,_0x478f71._0x16000a)]&&(this[_0x4c603d(_0x478f71._0x3a9d30,_0x478f71._0x1ac6dd)]=new CloudStyleConver());function _0x2e36a2(_0x45dd40,_0xdb64dd){return _0x2b6441(_0x45dd40,_0xdb64dd-0x189);}return this['cloudStyleConver']['toJSON'](_0x5303d7,_0x2cf8ba);}['_toOneJson'](_0x3350da,_0xfafc28,_0x276d18){const _0x196d0e={_0xaa8914:0x7cc,_0x55c9a4:0x1b35,_0x171cbc:0x108e},_0x55760c={_0x1aa3e0:0x288},_0x9985d3={_0x41ccf7:0x99};function _0x3938a5(_0x4dbfaa,_0x5d6bfe){return _0x2b6441(_0x4dbfaa,_0x5d6bfe-_0x9985d3._0x41ccf7);}function _0x81e367(_0x29e317,_0x3355b1){return _0x2b6441(_0x3355b1,_0x29e317-_0x55760c._0x1aa3e0);}switch(_0x3350da){case _0x3938a5(0x1114,_0x196d0e._0xaa8914):_0x276d18['scaleX']=formatNum$1(_0xfafc28['x'],0x2),_0x276d18['scaleY']=formatNum$1(_0xfafc28['y'],0x2);break;case'maximumSize':_0x276d18[_0x3938a5(_0x196d0e._0x55c9a4,_0x196d0e._0x171cbc)]=formatNum$1(_0xfafc28['x'],0x2),_0x276d18['maximumSizeY']=formatNum$1(_0xfafc28['y'],0x2),_0x276d18['maximumSizeZ']=formatNum$1(_0xfafc28['z'],0x2);break;default:this['_toOneJson_Point'](_0x3350da,_0xfafc28,_0x276d18);break;}}}class BoxStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x530c46,_0x3714b4,_0xd0ae2b){const _0x5e42ff={_0x536852:0xc60},_0xc896d5={_0x4137ee:0x47b};function _0x51a1f7(_0x20d483,_0x51e7dd){return _0x2b6441(_0x51e7dd,_0x20d483-0x6ac);}function _0x3793b2(_0x2f4ec7,_0x4537d2){return _0x2b6441(_0x4537d2,_0x2f4ec7-_0xc896d5._0x4137ee);}return!this['boxStyleConver']&&(this['boxStyleConver']=new BoxStyleConver()),this[_0x3793b2(_0x5e42ff._0x536852,0xbc0)][_0x51a1f7(0xdee,0x7b7)]=_0xd0ae2b,this['boxStyleConver'][_0x51a1f7(0x1157,0xfb6)](_0x530c46,_0x3714b4);}[_0x2b6441(0x62d,-0x113)](){const _0x1a20de={_0x52ee2f:0x136d,_0x1835c9:0x1497},_0x262df3={_0x292758:0x138};function _0x10a1a8(_0x30eae0,_0x238aa5){return _0x306755(_0x238aa5,_0x30eae0- -_0x262df3._0x292758);}return['opacity',_0x10a1a8(_0x1a20de._0x52ee2f,_0x1a20de._0x1835c9),'dimensions_z'];}['_toOneCesiumVal'](_0x99bb06,_0x37716c,_0x4c2443,_0x392f15){const _0x3057d4={_0x5c7561:0x115c,_0x2cc408:0xe4a,_0x436653:0x60c,_0x703960:0x528},_0x25af2b={_0x14de93:0x81};function _0x2cea99(_0x403301,_0x181821){return _0x2b6441(_0x403301,_0x181821-_0x25af2b._0x14de93);}function _0x4ccefe(_0x1c58f0,_0x5d3c24){return _0x306755(_0x1c58f0,_0x5d3c24- -0x1ce);}switch(_0x99bb06){case _0x4ccefe(_0x3057d4._0x5c7561,0xbcd):{_0x392f15['outlineColor']=this['getOutlineColorByStyle'](_0x4c2443);break;}case _0x2cea99(0xf7c,_0x3057d4._0x2cc408):{const _0x32f496=_0x4c2443[_0x2cea99(0x6ac,0xe4a)]??0x64,_0x174cfd=_0x4c2443['dimensions_y']??0x64,_0x53f9b5=_0x4c2443['dimensions_z']??0x64;_0x392f15[_0x4ccefe(_0x3057d4._0x436653,_0x3057d4._0x703960)]=new Cesium__namespace['Cartesian3'](_0x32f496,_0x174cfd,_0x53f9b5);break;}default:this['_toOneCesiumVal_Poly'](_0x99bb06,_0x37716c,_0x4c2443,_0x392f15);break;}}static['toJSON'](_0x2a8f4c,_0x264a89,_0x5cde0b){const _0x384c16={_0x10e420:0x1245,_0x4ac597:0xf3a,_0x4669c1:0x9e1},_0x15c67d={_0x5bd15c:0x29f};!this[_0x55ccb3(0xa84,_0x384c16._0x10e420)]&&(this[_0x55ccb3(0xa84,_0x384c16._0x4ac597)]=new BoxStyleConver());this['boxStyleConver'][_0x55ccb3(_0x384c16._0x4669c1,0xe)]=_0x5cde0b;function _0x2b7eb6(_0x370225,_0x427a0f){return _0x2b6441(_0x427a0f,_0x370225-0x307);}function _0x55ccb3(_0x48a1c4,_0x336343){return _0x2b6441(_0x336343,_0x48a1c4-_0x15c67d._0x5bd15c);}return this['boxStyleConver'][_0x2b7eb6(0x870,0x488)](_0x2a8f4c,_0x264a89);}['_toOneJson'](_0x5df84a,_0x2adca7,_0x5a0f27){const _0x1da5f9={_0x520715:0xe70,_0x4bd6cd:0x7c3};function _0x3668f7(_0x3eecc0,_0x1a825f){return _0x2b6441(_0x1a825f,_0x3eecc0-0xa7);}function _0xf8c683(_0xd42e02,_0x1fdd66){return _0x2b6441(_0xd42e02,_0x1fdd66-0x6c9);}switch(_0x5df84a){case'dimensions':{_0x5a0f27[_0x3668f7(_0x1da5f9._0x520715,_0x1da5f9._0x4bd6cd)]=_0x2adca7['x'],_0x5a0f27['dimensions_y']=_0x2adca7['y'],_0x5a0f27[_0xf8c683(0x58c,0x105b)]=_0x2adca7['z'];break;}default:this['_toOneJson_Poly'](_0x5df84a,_0x2adca7,_0x5a0f27);break;}}}class CircleStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x54b077,_0x322706,_0x1cd388){const _0x25b543={_0x1f3d25:0xa3,_0x5049d1:0xb24},_0x59b0ab={_0x3e92e2:0x3e2};function _0x1fbfb0(_0x510982,_0x1e5aa8){return _0x2b6441(_0x510982,_0x1e5aa8-_0x59b0ab._0x3e92e2);}return!this['circleStyleConver']&&(this['circleStyleConver']=new CircleStyleConver()),this['circleStyleConver'][_0x1fbfb0(_0x25b543._0x1f3d25,_0x25b543._0x5049d1)]=_0x1cd388,this['circleStyleConver']['toCesiumVal'](_0x54b077,_0x322706);}['_toCesiumValBefore'](_0x33b991,_0x217fa1){const _0x158d49={_0x28f42f:0x270,_0xec9ab5:0x5af,_0x59fd09:0xa00,_0x41fc0:0x8f4,_0x31e541:0x38d,_0x5b59f4:0x1387};super[_0x292c76(0xc7e,_0x158d49._0x28f42f)](_0x33b991,_0x217fa1);_0x33b991[_0x4af307(0x2ca,-0x54f)]&&(_0x33b991[_0x4af307(_0x158d49._0xec9ab5,-0x2ae)]('height')&&delete _0x33b991[_0x4af307(_0x158d49._0x59fd09,_0x158d49._0x41fc0)],_0x33b991[_0x292c76(_0x158d49._0x31e541,-0x57e)](_0x4af307(_0x158d49._0x5b59f4,0x1552))&&delete _0x33b991['extrudedHeight'],_0x33b991[_0x292c76(0x38d,-0x732)]('diffHeight')&&delete _0x33b991['diffHeight']);function _0x4af307(_0x268369,_0x27df53){return _0x306755(_0x27df53,_0x268369- -0x1f2);}function _0x292c76(_0x2316bc,_0x33923b){return _0x306755(_0x33923b,_0x2316bc- -0x414);}Cesium__namespace['defined'](_0x33b991[_0x292c76(0x7de,0x61e)])&&(_0x33b991['clampToGround']=![]);}['_toOneCesiumVal'](_0xda41a0,_0x278e37,_0x326855,_0x4dc483){const _0x419069={_0x52e8a1:0xf1a,_0x2e1e30:0x88d,_0x44ba76:0xd81,_0x42c0fa:0x1418,_0x1ad761:0x137,_0x2e4316:0xa7f,_0x32afb9:0x727,_0xdb8638:0x1138,_0x55efe6:0x717,_0x58fbdb:0xa40,_0x4566b2:0x109e};function _0x411f22(_0x3123ef,_0x4b126e){return _0x2b6441(_0x3123ef,_0x4b126e-0x42e);}function _0x2d3575(_0x53b487,_0x3023a7){return _0x2b6441(_0x53b487,_0x3023a7-0x5cb);}switch(_0xda41a0){case'rotation':_0x4dc483['rotation']=_0x278e37;!Cesium__namespace['defined'](_0x326855[_0x2d3575(_0x419069._0x52e8a1,0xa2a)])&&(_0x4dc483[_0x411f22(0xdde,_0x419069._0x2e1e30)]=_0x4dc483['rotation']);break;case'rotationDegree':_0x4dc483['rotation']=Cesium__namespace[_0x2d3575(0x1218,0x1395)]['toRadians'](_0x278e37);!Cesium__namespace['defined'](_0x326855[_0x2d3575(_0x419069._0x44ba76,0xa2a)])&&(_0x4dc483[_0x411f22(0xdf,0x88d)]=_0x4dc483[_0x411f22(_0x419069._0x42c0fa,0x14dd)]);break;case _0x2d3575(-_0x419069._0x1ad761,0x921):_0x4dc483['stRotation']=Cesium__namespace[_0x411f22(0xa96,0x11f8)]['toRadians'](_0x278e37);break;case'height':_0x4dc483[_0x411f22(0x309,_0x419069._0x2e4316)]=_0x278e37;_0x326855[_0x411f22(0x24b,0x8ad)]&&(_0x4dc483['extrudedHeight']=Number(_0x326855['diffHeight'])+Number(_0x278e37));break;case _0x2d3575(0xfa5,0xa4a):Cesium__namespace[_0x2d3575(0x10e7,0x17dc)](_0x326855[_0x2d3575(0x5ac,0xc1c)])&&(_0x4dc483['extrudedHeight']=_0x326855[_0x411f22(_0x419069._0x32afb9,0xa7f)]+_0x278e37);break;case'radius':this['isEntity']?(_0x4dc483['semiMinorAxis']=Number(_0x278e37),_0x4dc483[_0x2d3575(0x6c4,_0x419069._0xdb8638)]=Number(_0x278e37)):_0x4dc483['radius']=Number(_0x278e37);break;case _0x2d3575(_0x419069._0x55efe6,0x4e6):_0x278e37?_0x4dc483['heightReference']=Cesium__namespace['HeightReference'][_0x411f22(0x87f,_0x419069._0x58fbdb)]:_0x4dc483['heightReference']=Cesium__namespace[_0x411f22(0x134d,0x1508)][_0x411f22(0x18ba,_0x419069._0x4566b2)];break;default:this['_toOneCesiumVal_Poly'](_0xda41a0,_0x278e37,_0x326855,_0x4dc483);break;}}static[_0x306755(0x1388,0xb0a)](_0xa65d42,_0x43617b,_0x5b72ec){const _0x149715={_0x3eb3ee:0xa18,_0x65a3ea:0x706,_0x340fe4:0x127},_0x348e01={_0x552923:0x404};function _0x588198(_0x39a316,_0x59163c){return _0x306755(_0x59163c,_0x39a316- -_0x348e01._0x552923);}!this[_0x23fb35(0xf3b,0x71c)]&&(this['circleStyleConver']=new CircleStyleConver());function _0x23fb35(_0x332f20,_0x96e0d5){return _0x2b6441(_0x332f20,_0x96e0d5- -0x85);}return this[_0x588198(0x93e,0x1086)]['isEntity']=_0x5b72ec,this[_0x588198(0x93e,_0x149715._0x3eb3ee)][_0x588198(_0x149715._0x65a3ea,-_0x149715._0x340fe4)](_0xa65d42,_0x43617b);}['_toOneJson'](_0x1fde39,_0x5754ff,_0x40c4ed){const _0x57bbc0={_0x32b320:0xf29,_0x1f6a36:0x14da,_0x23a71e:0x13cf},_0x1a4058={_0x2254bb:0x442};function _0x4d4bfe(_0xf73b0f,_0x114829){return _0x2b6441(_0xf73b0f,_0x114829-0x667);}function _0x17fb65(_0x2fb5c6,_0x92d5c4){return _0x306755(_0x2fb5c6,_0x92d5c4- -_0x1a4058._0x2254bb);}switch(_0x1fde39){case _0x4d4bfe(0x185d,0x1716):{_0x40c4ed['rotationDegree']=formatNum$1(Cesium__namespace[_0x4d4bfe(0x18b3,0x1431)]['toDegrees'](_0x5754ff),0x1);break;}case'stRotation':{_0x40c4ed['stRotationDegree']=formatNum$1(Cesium__namespace[_0x17fb65(0x8a6,_0x57bbc0._0x32b320)]['toDegrees'](_0x5754ff),0x1);break;}default:this[_0x4d4bfe(_0x57bbc0._0x1f6a36,_0x57bbc0._0x23a71e)](_0x1fde39,_0x5754ff,_0x40c4ed);break;}}}class CorridorStyleConver extends BaseStyleConver{static['toCesiumVal'](_0xba9dba,_0x1fd445,_0x485662){const _0x3e02cd={_0x1c0e6c:0x9d0};!this['corridorStyleConver']&&(this['corridorStyleConver']=new CorridorStyleConver());function _0xc2cc77(_0x3ba23b,_0x485a3d){return _0x306755(_0x3ba23b,_0x485a3d- -0x543);}this['corridorStyleConver'][_0xc2cc77(_0x3e02cd._0x1c0e6c,0x7a0)]=_0x485662;function _0x54240d(_0x338569,_0x34c05c){return _0x306755(_0x338569,_0x34c05c- -0x5a2);}return this['corridorStyleConver'][_0x54240d(0x6b0,0xaaa)](_0xba9dba,_0x1fd445);}['_toCesiumValBefore'](_0x2b2e5c,_0xc13060){const _0x1d1c29={_0x2c0626:0xfd6};super['_toCesiumValBefore'](_0x2b2e5c,_0xc13060);function _0x14f7f4(_0x34e5e6,_0x558be7){return _0x306755(_0x34e5e6,_0x558be7-0xb1);}function _0xb7a00b(_0x3eee99,_0x44d2ed){return _0x2b6441(_0x3eee99,_0x44d2ed-0x1be);}_0x2b2e5c[_0xb7a00b(-0x559,0xd9)]&&(_0x2b2e5c[_0x14f7f4(_0x1d1c29._0x2c0626,0x852)]('height')&&delete _0x2b2e5c['height'],_0x2b2e5c[_0xb7a00b(-0x655,0x3be)]('extrudedHeight')&&delete _0x2b2e5c['extrudedHeight'],_0x2b2e5c['hasOwnProperty'](_0x14f7f4(0x873,0xad1))&&delete _0x2b2e5c[_0x14f7f4(0x3fa,0xad1)]);}['_toOneCesiumVal'](_0x120082,_0x5c5099,_0x4f6181,_0x4acd6c){const _0x5ee08a={_0x3a8f63:0x14c8,_0x53fedd:0x14a6,_0x3db3f2:0xfdf};function _0x373eb3(_0x464320,_0x38714f){return _0x2b6441(_0x38714f,_0x464320-0x40e);}function _0x72b652(_0xb9a011,_0x149ae2){return _0x306755(_0xb9a011,_0x149ae2- -0x38);}switch(_0x120082){case'outlineColor':{_0x4acd6c[_0x72b652(_0x5ee08a._0x3a8f63,0xd63)]=this['getOutlineColorByStyle'](_0x4f6181);break;}case'height':_0x4acd6c['height']=_0x5c5099;_0x4f6181['diffHeight']&&(_0x4acd6c['extrudedHeight']=Number(_0x4f6181[_0x72b652(_0x5ee08a._0x53fedd,0x9e8)])+Number(_0x5c5099));break;case _0x72b652(_0x5ee08a._0x3db3f2,0x9e8):Cesium__namespace['defined'](_0x4f6181['height'])&&(_0x4acd6c['extrudedHeight']=_0x4f6181['height']+_0x5c5099);break;default:this['_toOneCesiumVal_Poly'](_0x120082,_0x5c5099,_0x4f6181,_0x4acd6c);break;}}static[_0x306755(0x4b3,0xb0a)](_0x316936,_0x3dfc3e,_0x4640b9){const _0x3c5990={_0xaf608:0x231,_0x144fcd:0x50b,_0xa53d65:0x1b3,_0x335757:0xa1a,_0x44eb28:0x1289,_0x3277cc:0x65f};!this[_0x1da8d5(-0x479,_0x3c5990._0xaf608)]&&(this[_0x22d476(0x50b,-0x139)]=new CorridorStyleConver());function _0x22d476(_0x1411c5,_0x2a62f8){return _0x306755(_0x2a62f8,_0x1411c5- -0x2c9);}function _0x1da8d5(_0x2b5820,_0x559bd2){return _0x306755(_0x2b5820,_0x559bd2- -0x5a3);}return this[_0x22d476(_0x3c5990._0x144fcd,_0x3c5990._0xa53d65)][_0x22d476(_0x3c5990._0x335757,_0x3c5990._0x44eb28)]=_0x4640b9,this[_0x1da8d5(-_0x3c5990._0x3277cc,0x231)]['toJSON'](_0x316936,_0x3dfc3e);}['_toOneJson'](_0x9c1a50,_0x36a464,_0x3c860c){this['_toOneJson_Poly'](_0x9c1a50,_0x36a464,_0x3c860c);}}class CylinderStyleConver extends BaseStyleConver{static[_0x2b6441(0xd7a,0xaab)](_0x24a7ea,_0x4eaf9b,_0x4b0f9a){const _0x1da180={_0x4ab91b:0x34b};function _0x1cb0f5(_0x3fdd86,_0x15d3c5){return _0x2b6441(_0x3fdd86,_0x15d3c5-0x3b8);}function _0x10c85c(_0x38db33,_0x5d46d3){return _0x2b6441(_0x38db33,_0x5d46d3-_0x1da180._0x4ab91b);}return!this['cylinderStyleConver']&&(this['cylinderStyleConver']=new CylinderStyleConver()),this[_0x10c85c(0x65a,0xf91)]['isEntity']=_0x4b0f9a,this['cylinderStyleConver'][_0x10c85c(0x7fd,0xdf6)](_0x24a7ea,_0x4eaf9b);}[_0x306755(0xdad,0x1092)](_0x842497,_0x1ffff2){const _0xb0795f={_0x5ba6ac:0x12a3,_0x3a210a:0x8ab};super[_0x18837(0xb83,0xa54)](_0x842497,_0x1ffff2);function _0x152476(_0x151ecc,_0x407eae){return _0x306755(_0x407eae,_0x151ecc- -0x1d6);}function _0x18837(_0x9de94d,_0x442adf){return _0x306755(_0x442adf,_0x9de94d- -0x50f);}!Cesium__namespace[_0x18837(_0xb0795f._0x5ba6ac,_0xb0795f._0x3a210a)](_0x842497['topRadius'])&&(_0x842497['topRadius']=0x0);}['_toOneCesiumVal'](_0x80010c,_0x173baa,_0x36a695,_0x30af6b){switch(_0x80010c){case'diffHeight':if(_0x30af6b['length']instanceof Cesium__namespace['CallbackProperty']);else _0x30af6b['length']=Number(_0x173baa);break;default:this['_toOneCesiumVal_Poly'](_0x80010c,_0x173baa,_0x36a695,_0x30af6b);break;}}static['toJSON'](_0x374792,_0x10d635,_0x45e0e6){const _0x15ed3d={_0x5c094f:0x10f4,_0x2adb75:0xa74},_0x40108a={_0x560703:0x26f};function _0x9ed371(_0x3cf6af,_0x572292){return _0x306755(_0x3cf6af,_0x572292- -_0x40108a._0x560703);}!this[_0x581a19(_0x15ed3d._0x5c094f,0xced)]&&(this['cylinderStyleConver']=new CylinderStyleConver());this['cylinderStyleConver'][_0x9ed371(0xfda,_0x15ed3d._0x2adb75)]=_0x45e0e6;function _0x581a19(_0x5137e3,_0x13e7b3){return _0x306755(_0x13e7b3,_0x5137e3- -0xf3);}return this['cylinderStyleConver']['toJSON'](_0x374792,_0x10d635);}['_toOneJson'](_0x3efc14,_0x40d576,_0x2e967f){this['_toOneJson_Poly'](_0x3efc14,_0x40d576,_0x2e967f);}}class DivGraphicStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x1848be,_0x2c997d){const _0x56ae45={_0x3d4d19:0x332};function _0x3ce668(_0x21713f,_0x347677){return _0x2b6441(_0x347677,_0x21713f-0x3e4);}function _0x2ae3f1(_0xeb2840,_0x25943e){return _0x306755(_0xeb2840,_0x25943e- -_0x56ae45._0x3d4d19);}return!this['divGraphicStyleConver']&&(this['divGraphicStyleConver']=new DivGraphicStyleConver()),this[_0x3ce668(0x135f,0x115b)][_0x3ce668(0xe8f,0x681)](_0x1848be,_0x2c997d);}[_0x306755(0x928,0x1092)](_0x1d2a99,_0x5a9dc2){}['_toOneCesiumVal'](_0x5bb85f,_0x1b6b43,_0x3591e5,_0x3ad10c){const _0x345b82={_0x4c20ee:0x11fd},_0xf0358f={_0xcc7eee:0x506};function _0x29695c(_0x1e3a67,_0x47774b){return _0x306755(_0x47774b,_0x1e3a67- -_0xf0358f._0xcc7eee);}this[_0x29695c(_0x345b82._0x4c20ee,0x19ad)](_0x5bb85f,_0x1b6b43,_0x3591e5,_0x3ad10c);}static[_0x306755(0xd43,0xb0a)](_0x4f2641,_0x198e58){const _0x78ec11={_0x40e263:0xa9b},_0x3478dd={_0x2bda67:0x22f},_0x237c6b={_0x2bd3c3:0x6f};function _0xdc539e(_0x4e7fe2,_0x23eaa9){return _0x306755(_0x4e7fe2,_0x23eaa9- -_0x237c6b._0x2bd3c3);}!this[_0x733784(0x11aa,0xc5c)]&&(this[_0x733784(0x11aa,0xbff)]=new DivGraphicStyleConver());function _0x733784(_0xef10c2,_0x4a0b96){return _0x2b6441(_0x4a0b96,_0xef10c2-_0x3478dd._0x2bda67);}return this['divGraphicStyleConver'][_0xdc539e(0xf0c,_0x78ec11._0x40e263)](_0x4f2641,_0x198e58);}['_toOneJson'](_0xa6bb43,_0x904b8e,_0x266649){this['_toOneJson_Point'](_0xa6bb43,_0x904b8e,_0x266649);}}class EllipsoidStyleConver extends BaseStyleConver{static[_0x2b6441(0xa0f,0xaab)](_0x3233f7,_0x57247f,_0x45790e){const _0x562d52={_0x1fd59c:0x9f5,_0x2b9a39:0x10ab,_0x38408b:0xcc5};!this[_0x44f72d(_0x562d52._0x1fd59c,0x371)]&&(this[_0x10fe1c(0x4c1,0x962)]=new EllipsoidStyleConver());function _0x10fe1c(_0xc1a388,_0x19e8f4){return _0x2b6441(_0xc1a388,_0x19e8f4-0x583);}function _0x44f72d(_0x4594db,_0x585389){return _0x2b6441(_0x585389,_0x4594db-0x616);}return this['ellipsoidStyleConver'][_0x10fe1c(_0x562d52._0x2b9a39,_0x562d52._0x38408b)]=_0x45790e,this['ellipsoidStyleConver']['toCesiumVal'](_0x3233f7,_0x57247f);}[_0x2b6441(0x13b5,0xaf1)](_0x2af2d5,_0x4c22a4){super['_toCesiumValBefore'](_0x2af2d5,_0x4c22a4);}['_getExcludedStyle'](){return['radii_y','radii_z','innerRadii_y','innerRadii_z'];}['_toOneCesiumVal'](_0x4dabb0,_0x321d9f,_0x36cb3d,_0x3dae41){const _0x454450={_0x14a746:0x1a53,_0x28aaae:0xa6d,_0x3bae41:0xb64,_0x1c46be:0x97,_0x31f03c:0xd66,_0x47ef51:0x533};function _0x5cca72(_0x1801e0,_0x3aae19){return _0x306755(_0x3aae19,_0x1801e0- -0x12e);}function _0x201a62(_0x442e1e,_0x419805){return _0x306755(_0x419805,_0x442e1e-0x4c);}switch(_0x4dabb0){case'radii':_0x3dae41['radii']=new Cesium__namespace[(_0x5cca72(0x8f3,0xce8))](_0x321d9f,_0x321d9f,_0x321d9f);break;case'radii_x':_0x3dae41[_0x201a62(0x17f6,0xf2e)]=new Cesium__namespace[(_0x201a62(0xa6d,0x8d6))](_0x36cb3d['radii_x']??0x64,_0x36cb3d['radii_y']??0x64,_0x36cb3d['radii_z']??0x64);break;case _0x5cca72(0x3c5,0x623):_0x3dae41[_0x201a62(0x53f,0xd)]=new Cesium__namespace[(_0x201a62(0xa6d,0x66f))](_0x321d9f,_0x321d9f,_0x321d9f);break;case'innerRadii_x':_0x36cb3d['innerRadii_x']>0x0&&_0x36cb3d['innerRadii_y']>0x0&&_0x36cb3d[_0x201a62(_0x454450._0x14a746,0x1ad6)]>0x0?_0x3dae41['innerRadii']=new Cesium__namespace[(_0x201a62(_0x454450._0x28aaae,0xff2))](_0x36cb3d[_0x201a62(0x4ee,0xaf2)]??0x0,_0x36cb3d['innerRadii_y']??0x0,_0x36cb3d['innerRadii_z']??0x0):_0x3dae41['innerRadii']=new Cesium__namespace['Cartesian3'](0.001,0.001,0.001);break;case _0x201a62(_0x454450._0x3bae41,_0x454450._0x1c46be):case _0x5cca72(_0x454450._0x31f03c,0x17ba):case'minimumConeDegree':case'maximumConeDegree':_0x3dae41[_0x4dabb0['replace']('Degree','')]=Cesium__namespace['Math']['toRadians'](_0x321d9f||0x0);break;default:this[_0x201a62(_0x454450._0x47ef51,-0x566)](_0x4dabb0,_0x321d9f,_0x36cb3d,_0x3dae41);break;}}static['toJSON'](_0x4d8a62,_0xb151fe,_0x51bd7c){const _0x14b260={_0x1bc13a:0x914,_0x45a41e:0x7ca,_0x1b7b58:0x6d2,_0x135737:0xa9e};!this['ellipsoidStyleConver']&&(this[_0x3e739e(-0x153,_0x14b260._0x1bc13a)]=new EllipsoidStyleConver());function _0x3e739e(_0x377a72,_0x5bbcdf){return _0x306755(_0x377a72,_0x5bbcdf- -0x6c);}function _0x14beda(_0x581c17,_0x42a134){return _0x2b6441(_0x42a134,_0x581c17-0x88);}return this['ellipsoidStyleConver'][_0x14beda(_0x14b260._0x45a41e,0x6f8)]=_0x51bd7c,this[_0x14beda(0x467,_0x14b260._0x1b7b58)][_0x3e739e(0x62a,_0x14b260._0x135737)](_0x4d8a62,_0xb151fe);}[_0x2b6441(0xe19,0x13cd)](_0x71675c,_0x19b9fe,_0x56fe9e){const _0x508dda={_0x2bc134:0x11c0,_0x4b8e47:0xa25,_0x188ab2:0xeaf,_0x398b49:0x1085};function _0x4ca6c7(_0x3e00b6,_0x3ad75f){return _0x2b6441(_0x3e00b6,_0x3ad75f-0x294);}function _0x10844d(_0x4a9085,_0x106856){return _0x2b6441(_0x106856,_0x4a9085-0x56e);}switch(_0x71675c){case'radii':{_0x56fe9e['radii_x']=_0x19b9fe['x'],_0x56fe9e['radii_y']=_0x19b9fe['y'],_0x56fe9e[_0x4ca6c7(0x94b,_0x508dda._0x2bc134)]=_0x19b9fe['z'];break;}case'innerRadii':{_0x56fe9e['innerRadii_x']=_0x19b9fe['x'],_0x56fe9e[_0x10844d(0x1008,0x566)]=_0x19b9fe['y'],_0x56fe9e['innerRadii_z']=_0x19b9fe['z'];break;}case _0x10844d(0x1527,0x1fe2):case _0x4ca6c7(0x56e,_0x508dda._0x4b8e47):case'minimumCone':case'maximumCone':_0x56fe9e[_0x71675c+_0x10844d(_0x508dda._0x188ab2,_0x508dda._0x398b49)]=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x19b9fe),0x2);break;default:this['_toOneJson_Poly'](_0x71675c,_0x19b9fe,_0x56fe9e);break;}}}class LabelStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x52b773,_0x57dcc6,_0x340ddc){const _0x30f316={_0x5cdb9f:0x1b0d,_0x2e4358:0x1a08,_0x52c4c3:0x1771,_0x3e867d:0x1443},_0x40461e={_0xc6054c:0x319};!this[_0xef3a7(_0x30f316._0x5cdb9f,0x1771)]&&(this[_0xef3a7(_0x30f316._0x2e4358,_0x30f316._0x52c4c3)]=new LabelStyleConver());this[_0x3b7c8f(_0x30f316._0x3e867d,0x1260)]['attr']=_0x340ddc;function _0x3b7c8f(_0x21030b,_0x18eef7){return _0x306755(_0x18eef7,_0x21030b- -0x5b6);}_0x57dcc6=this['labelStyleConver']['toCesiumVal'](_0x52b773,_0x57dcc6);function _0xef3a7(_0xd2acd,_0x37ed31){return _0x2b6441(_0xd2acd,_0x37ed31-_0x40461e._0xc6054c);}return _0x57dcc6;}['_toCesiumValBefore'](_0x476e53,_0x114dca){const _0x183dae={_0x3a1d9c:0xc08,_0x2c40f3:0x12d3,_0x325439:0x22d};_0x114dca['horizontalOrigin']=_0x114dca['horizontalOrigin']??Cesium__namespace['HorizontalOrigin'][_0x555a3e(_0x183dae._0x3a1d9c,0xbfa)];function _0x555a3e(_0xf57880,_0x2adf4d){return _0x306755(_0xf57880,_0x2adf4d- -0x33f);}function _0x2dcab0(_0x569f5e,_0x65126a){return _0x306755(_0x65126a,_0x569f5e-0xa2);}_0x114dca[_0x2dcab0(_0x183dae._0x2c40f3,0x1ac6)]=_0x114dca['verticalOrigin']??Cesium__namespace[_0x555a3e(0x329,_0x183dae._0x325439)]['BOTTOM'];}[_0x306755(0x20a,0xc10)](_0x40f0cf,_0x1ee3dc){const _0x39e652={_0x438faf:0x14e8,_0x567e47:0x13ff,_0x2c3b5f:0xcc0,_0x32e57d:0x15b7,_0x116be7:0x4a3,_0x58ed38:0xc8};function _0x32b0d8(_0x3d7c3c,_0x52a861){return _0x306755(_0x3d7c3c,_0x52a861- -0x3b3);}!Cesium__namespace[_0x32b0d8(_0x39e652._0x438faf,_0x39e652._0x567e47)](_0x40f0cf['font'])&&(_0x1ee3dc['font']=(_0x40f0cf['font_style']||'')+'\x20'+(_0x40f0cf[_0x535c4d(_0x39e652._0x2c3b5f,0xe13)]||'')+'\x20'+(_0x40f0cf['font_size']||0x12)+'px\x20\x20'+(_0x40f0cf['font_family']||'微软雅黑'));function _0x535c4d(_0x13e623,_0x48af71){return _0x2b6441(_0x13e623,_0x48af71-0x688);}!Cesium__namespace['defined'](_0x40f0cf['style'])&&(_0x40f0cf[_0x32b0d8(0x117f,0x1239)]??!![])&&(_0x40f0cf[_0x32b0d8(0x16eb,_0x39e652._0x32e57d)]?_0x1ee3dc[_0x32b0d8(0x175,_0x39e652._0x116be7)]=Cesium__namespace['LabelStyle'][_0x32b0d8(-0x746,_0x39e652._0x58ed38)]:_0x1ee3dc['style']=Cesium__namespace[_0x535c4d(0x1980,0x18c7)]['FILL']);}[_0x2b6441(0x2f8,-0x113)](){const _0x40aea2={_0x29e2e9:0xdb8,_0x52f425:0x1306,_0x184461:0x1652},_0x53fc5e={_0x3a7c7c:0x2e6};function _0xd18ab8(_0x289bbe,_0x4edf5b){return _0x306755(_0x4edf5b,_0x289bbe- -0x2cb);}function _0x5cf1a8(_0x510af8,_0x245c02){return _0x306755(_0x245c02,_0x510af8- -_0x53fc5e._0x3a7c7c);}return['font_style',_0x5cf1a8(0xa46,0xdc6),_0x5cf1a8(0x302,-0x6b0),'font_family',_0xd18ab8(_0x40aea2._0x29e2e9,0xcb3),_0x5cf1a8(_0x40aea2._0x52f425,_0x40aea2._0x184461)];}[_0x2b6441(0x8e1,0xc41)](_0x4b2b6f,_0x46525d,_0x45e8c2,_0x51755f){const _0x35a570={_0x53947f:0x22a5,_0x1038bc:0xcfc,_0x4ce73f:0x1b03,_0x23a955:0x1437,_0x63eb86:0x1ef4,_0x117134:0xd9b,_0x5271a0:0x11ed,_0x25ac0d:0xa84,_0x11df57:0x19bb,_0x3a488c:0x6cd,_0x8e3016:0x16d7,_0xafc334:0x1848,_0x5c552b:0x177d,_0xda1b65:0xb47,_0x28d203:0xb46,_0x17f2aa:0x1789,_0x59a546:0x346,_0x2a6543:0xb29,_0x35ec5d:0x62b},_0x8274a8={_0x421657:0x5a1};function _0x378eff(_0x1c4651,_0x335ed3){return _0x2b6441(_0x1c4651,_0x335ed3-_0x8274a8._0x421657);}function _0x5a92b1(_0x3a837b,_0x2dca68){return _0x306755(_0x2dca68,_0x3a837b- -0x25e);}switch(_0x4b2b6f){case _0x378eff(_0x35a570._0x53947f,0x190d):{this['attr']&&(_0x46525d=template(_0x46525d,this[_0x378eff(0x7ac,_0x35a570._0x1038bc)],_0x45e8c2['templateEmptyStr']??!![]));_0x51755f[_0x378eff(_0x35a570._0x4ce73f,0x190d)]=String(_0x46525d||'')['replace'](/<br \/>/gm,'\x0a');break;}case'color':{_0x51755f['fillColor']=this[_0x5a92b1(_0x35a570._0x23a955,_0x35a570._0x63eb86)](_0x45e8c2);break;}case'outlineColor':{_0x51755f[_0x378eff(0x540,_0x35a570._0x117134)]=this['getOutlineColorByStyle'](_0x45e8c2);break;}case'strokeColor':case'fillColor':{_0x51755f[_0x4b2b6f]=getCesiumColor(_0x46525d);break;}case'background':_0x51755f[_0x378eff(0xa7e,0xa70)]=_0x46525d,_0x51755f['showBackground']=_0x46525d;break;case'backgroundColor':{let _0x437c63=getCesiumColor(_0x46525d,Cesium__namespace['Color'][_0x5a92b1(_0x35a570._0x5271a0,_0x35a570._0x25ac0d)]);if(Cesium__namespace['defined'](_0x45e8c2[_0x5a92b1(0xe25,0xe95)]))_0x437c63=_0x437c63['withAlpha'](Number(_0x45e8c2['backgroundOpacity']));else Cesium__namespace[_0x5a92b1(0x1554,_0x35a570._0x11df57)](_0x45e8c2[_0x5a92b1(0x8eb,_0x35a570._0x3a488c)])&&(_0x437c63=_0x437c63[_0x5a92b1(_0x35a570._0x8e3016,0x1707)](Number(_0x45e8c2['opacity'])));_0x51755f[_0x378eff(_0x35a570._0xafc334,_0x35a570._0x5c552b)]=_0x437c63;break;}case _0x378eff(_0x35a570._0xda1b65,_0x35a570._0x28d203):_0x51755f['backgroundPadding']=new Cesium__namespace[(_0x378eff(0x670,0x4ec))](_0x46525d*1.2,_0x46525d),_0x51755f[_0x5a92b1(0x2a6,-0x45d)]=_0x46525d;break;case _0x5a92b1(_0x35a570._0x17f2aa,0xe21):!_0x46525d&&(_0x51755f['pixelOffset']=new Cesium__namespace['Cartesian2'](0x0,0x0));break;case'pixelOffsetX':case _0x5a92b1(_0x35a570._0x59a546,_0x35a570._0x2a6543):_0x51755f['pixelOffset']=new Cesium__namespace[(_0x5a92b1(0x28e,-_0x35a570._0x35ec5d))](_0x45e8c2[_0x378eff(0x1525,0x18b0)]||0x0,_0x45e8c2[_0x378eff(0x10a,0x5a4)]||0x0);break;case'pixelOffset':Cesium__namespace['defined'](_0x46525d[0x0])&&Cesium__namespace['defined'](_0x46525d[0x1])?_0x51755f['pixelOffset']=new Cesium__namespace[(_0x378eff(0x8bf,0x4ec))](_0x46525d[0x0],_0x46525d[0x1]):_0x51755f['pixelOffset']=_0x46525d;break;default:this['_toOneCesiumVal_Point'](_0x4b2b6f,_0x46525d,_0x45e8c2,_0x51755f);break;}}static[_0x306755(0x1517,0xb0a)](_0x1c84cf,_0x5921ab){const _0x162918={_0x1d9048:0x1d49,_0x5c1d33:0x147c,_0x1290c8:0x1846},_0x3226b0={_0x26bd6d:0x24};function _0x5c0bb1(_0x39462f,_0x917f24){return _0x2b6441(_0x39462f,_0x917f24-_0x3226b0._0x26bd6d);}!this[_0x5c0bb1(_0x162918._0x1d9048,_0x162918._0x5c1d33)]&&(this[_0x5b1d33(_0x162918._0x1290c8,0x18da)]=new LabelStyleConver());function _0x5b1d33(_0x534a3b,_0x5e3edd){return _0x306755(_0x534a3b,_0x5e3edd- -0x11f);}return this[_0x5c0bb1(0x1651,0x147c)]['toJSON'](_0x1c84cf,_0x5921ab);}['_toOneJson'](_0x490893,_0x5e912f,_0x303790){const _0x2074e3={_0x4049de:0x74d,_0x30b53b:0x415},_0x4a00b5={_0x4ec9ef:0x466};function _0x82398d(_0x535753,_0x1b7fa8){return _0x2b6441(_0x535753,_0x1b7fa8-_0x4a00b5._0x4ec9ef);}function _0x50b4af(_0x355c6f,_0x2f824d){return _0x2b6441(_0x355c6f,_0x2f824d-0x37b);}switch(_0x490893){case _0x82398d(0xf23,0x1832):{_0x303790[_0x50b4af(0x1c50,0x168a)]=_0x5e912f['x'],_0x303790['pixelOffsetY']=_0x5e912f['y'];break;}case'disableDepthTestDistance':{_0x5e912f===Number['POSITIVE_INFINITY']?_0x303790[_0x50b4af(_0x2074e3._0x4049de,0x36a)]=![]:_0x303790['disableDepthTestDistance']=_0x5e912f;break;}default:this[_0x82398d(-0x131,_0x2074e3._0x30b53b)](_0x490893,_0x5e912f,_0x303790);break;}}static[_0x2b6441(0xbee,0x134d)](_0x5281ca,_0x27ce07){const _0x57e63c={_0x11f6db:0xe46,_0x535ea6:0xd5d,_0x4e91b2:0x151f,_0xca035a:0x213,_0x198d92:0xa78,_0x12eab3:0x10ad,_0x296c51:0x18b5,_0x4d4e8b:0xae0,_0x9a8702:0x14b9,_0x47c0f3:0x1a05,_0x5afef7:0x18be,_0x48a228:0x1f2d,_0x28f0aa:0x16fd},_0x1d03eb={_0x1ef191:0x6e2},_0xba129a=getCesiumValue(_0x5281ca[_0x437c23(_0x57e63c._0x11f6db,0xa78)],Cesium__namespace['Color']);function _0x197c53(_0x84939b,_0x36a4cb){return _0x2b6441(_0x84939b,_0x36a4cb-_0x1d03eb._0x1ef191);}_0xba129a?(!Cesium__namespace['defined'](_0x5281ca[_0x197c53(-0x2bb,0x7bb)])&&(_0x5281ca['_fillColor_alpha_bak']=_0xba129a[_0x437c23(_0x57e63c._0x535ea6,_0x57e63c._0x4e91b2)]??0x1),_0x5281ca[_0x437c23(_0x57e63c._0xca035a,_0x57e63c._0x198d92)]=_0xba129a[_0x437c23(_0x57e63c._0x12eab3,_0x57e63c._0x296c51)](_0x27ce07*_0x5281ca[_0x437c23(0xd7d,0x5fa)])):_0x5281ca['fillColor']=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x27ce07);function _0x437c23(_0x2dc51a,_0x3dc579){return _0x306755(_0x2dc51a,_0x3dc579- -0x80);}const _0xd742eb=getCesiumValue(_0x5281ca['outlineColor'],Cesium__namespace['Color']);_0xd742eb&&(!Cesium__namespace[_0x197c53(0x1d0d,0x18f3)](_0x5281ca[_0x197c53(0xbab,_0x57e63c._0x4d4e8b)])&&(_0x5281ca['_outlineColor_alpha_bak']=_0xd742eb['alpha']??0x1),_0x5281ca['outlineColor']=_0xd742eb[_0x437c23(_0x57e63c._0x9a8702,0x18b5)](_0x27ce07*_0x5281ca['_outlineColor_alpha_bak']));const _0x2000cc=getCesiumValue(_0x5281ca[_0x197c53(_0x57e63c._0x47c0f3,_0x57e63c._0x5afef7)],Cesium__namespace['Color']);_0x2000cc&&(!Cesium__namespace['defined'](_0x5281ca['_backgroundColor_alpha_bak'])&&(_0x5281ca[_0x197c53(0xe11,0xdc1)]=_0x2000cc['alpha']??0x1),_0x5281ca[_0x437c23(_0x57e63c._0x48a228,_0x57e63c._0x28f0aa)]=_0x2000cc['withAlpha'](_0x27ce07*_0x5281ca['_backgroundColor_alpha_bak']));}}class ModelStyleConver extends BaseStyleConver{static[_0x2b6441(0x71c,0xaab)](_0x12579a,_0x51ea95,_0x1cd147){const _0x1d03e5={_0x3f7c42:0x10d9},_0x4e3980={_0x5390fa:0xcc};function _0x2a51d5(_0x12e840,_0x491126){return _0x2b6441(_0x12e840,_0x491126-_0x4e3980._0x5390fa);}!this['modelStyleConver']&&(this['modelStyleConver']=new ModelStyleConver());this[_0x2a51d5(0x175b,_0x1d03e5._0x3f7c42)]['isEntity']=_0x1cd147;function _0x472c1c(_0x2edc0f,_0x2332cd){return _0x2b6441(_0x2edc0f,_0x2332cd-0x5a7);}return this['modelStyleConver'][_0x472c1c(0xdd1,0x1052)](_0x12579a,_0x51ea95);}['_toCesiumValBefore'](_0x524ee1,_0x1cf4b2){}['_getExcludedStyle'](){const _0x243e1c={_0x2a8830:0x1038,_0x33ddd3:0x62,_0x4dffec:0x779},_0x166b7d={_0x560364:0x3d0};function _0x376d59(_0x22a49c,_0x11ab42){return _0x2b6441(_0x11ab42,_0x22a49c-0x7b);}function _0x2a8e4e(_0x2ccd77,_0x3c8bd4){return _0x306755(_0x3c8bd4,_0x2ccd77- -_0x166b7d._0x560364);}return['silhouette',_0x2a8e4e(0x1398,_0x243e1c._0x2a8830),'silhouetteAlpha',_0x376d59(-_0x243e1c._0x33ddd3,0xa3e),'fill',_0x2a8e4e(_0x243e1c._0x4dffec,0x9f)];}['_toOneCesiumVal'](_0x55d400,_0x3c1e6e,_0xa04bae,_0xdb2d90){const _0x4ef6c8={_0x529665:0xac9,_0xea1b45:0x1369,_0x2a9516:0x146a};function _0x733e9d(_0x323cfd,_0x861419){return _0x306755(_0x861419,_0x323cfd- -0x21a);}function _0x3310e0(_0x32a9f3,_0x57e0ad){return _0x2b6441(_0x32a9f3,_0x57e0ad-0x25f);}switch(_0x55d400){case _0x3310e0(0xc3f,0x87d):case'modelUrl':case'uri':this[_0x733e9d(_0x4ef6c8._0x529665,_0x4ef6c8._0xea1b45)]?_0xdb2d90[_0x733e9d(_0x4ef6c8._0x2a9516,0x146b)]=_0x3c1e6e:_0xdb2d90[_0x733e9d(0x9a5,0x82d)]=_0x3c1e6e;break;case'scale':!isNaN(_0x3c1e6e)&&(_0xdb2d90[_0x55d400]=_0x3c1e6e);break;default:this[_0x3310e0(0xf03,0x13c1)](_0x55d400,_0x3c1e6e,_0xa04bae,_0xdb2d90);break;}}['_toCesiumValEnd'](_0x44334e,_0x3456c1){const _0x4ec71d={_0x3bd25e:0xaf1,_0x541457:0x784,_0xcfaefe:0x674,_0x5c9832:0xaf9,_0x41d26d:0x1377,_0x43cb8e:0xde,_0x4a1c2c:0x70e,_0x2629ff:0x1de6,_0x3797e8:0xed6,_0x4f70d1:0x1a6,_0x4a4508:0x6c0,_0xdc69ff:0x1ffe,_0x197300:0x1760,_0x3b78d9:0x1410,_0x6e3978:0xa5,_0x4d095c:0x466,_0x57dc7f:0x132d},_0x45aeed={_0x2082fc:0x166};function _0x16923c(_0x1c8a43,_0x458c3c){return _0x306755(_0x1c8a43,_0x458c3c- -0x5e);}function _0x2f8530(_0x52cacf,_0x4482f2){return _0x2b6441(_0x52cacf,_0x4482f2-_0x45aeed._0x2082fc);}_0x3456c1['show']=Boolean(_0x3456c1['uri']||_0x3456c1[_0x2f8530(_0x4ec71d._0x3bd25e,_0x4ec71d._0x541457)]);if(_0x44334e['fill'])_0x3456c1['color']=getColorByStyle(_0x44334e,Cesium__namespace[_0x2f8530(_0x4ec71d._0xcfaefe,_0x4ec71d._0x5c9832)]['WHITE']);else Cesium__namespace[_0x2f8530(0x14c2,_0x4ec71d._0x41d26d)](_0x44334e[_0x2f8530(-_0x4ec71d._0x43cb8e,_0x4ec71d._0x4a1c2c)])&&_0x44334e['opacity']!==0x1?_0x3456c1['color']=Cesium__namespace['Color']['WHITE'][_0x2f8530(_0x4ec71d._0x2629ff,0x14fa)](_0x44334e[_0x2f8530(0x10f8,_0x4ec71d._0x4a1c2c)]):_0x3456c1[_0x16923c(0x1216,0xe51)]=Cesium__namespace[_0x16923c(0xfae,_0x4ec71d._0x3797e8)]['WHITE'];if(_0x44334e['silhouette']){let _0xfe08da=getCesiumColor(_0x44334e['silhouetteColor'],Cesium__namespace[_0x16923c(0x15ab,0xed6)]['WHITE']);Cesium__namespace['defined'](_0x44334e[_0x16923c(-_0x4ec71d._0x4f70d1,_0x4ec71d._0x4a4508)])&&(_0xfe08da=_0xfe08da['withAlpha'](Number(_0x44334e['silhouetteAlpha']))),Cesium__namespace['defined'](_0x44334e[_0x16923c(_0x4ec71d._0xdc69ff,_0x4ec71d._0x197300)])&&_0x44334e['globalAlpha']!==0x1&&(_0xfe08da=_0xfe08da['withAlpha'](_0xfe08da['alpha']*_0x44334e['globalAlpha'])),_0x3456c1[_0x2f8530(_0x4ec71d._0x3b78d9,0x132d)]=_0xfe08da,_0x3456c1['silhouetteSize']=Number(_0x44334e[_0x16923c(-_0x4ec71d._0x6e3978,_0x4ec71d._0x4d095c)]||0x1);}else _0x3456c1[_0x2f8530(0x1a94,_0x4ec71d._0x57dc7f)]=undefined,_0x3456c1[_0x2f8530(0x538,0x89)]=0x0;}static[_0x2b6441(-0x420,0x569)](_0x105ae7,_0x4357a9,_0x2d62b2){const _0x3bdfc7={_0x5aedcc:0xea8,_0x5bd3cf:0xdb5},_0x6338a3={_0xfd84bc:0x4e5},_0x17c98c={_0x16cf7e:0x673};function _0x2d73f5(_0x477553,_0xd2fbb8){return _0x2b6441(_0x477553,_0xd2fbb8-_0x17c98c._0x16cf7e);}!this['modelStyleConver']&&(this[_0x2d73f5(0x1d86,0x1680)]=new ModelStyleConver());this[_0x5d5250(0x14f2,0x1d3a)][_0x2d73f5(_0x3bdfc7._0x5aedcc,_0x3bdfc7._0x5bd3cf)]=_0x2d62b2;function _0x5d5250(_0x4fead3,_0x5d9b7c){return _0x2b6441(_0x5d9b7c,_0x4fead3-_0x6338a3._0xfd84bc);}return this[_0x2d73f5(0x1649,0x1680)][_0x5d5250(0xa4e,0xf47)](_0x105ae7,_0x4357a9);}[_0x306755(0x1001,0x196e)](_0x363510,_0x23f95c,_0x36f79c){function _0x23a494(_0xa8c34d,_0x360162){return _0x306755(_0x360162,_0xa8c34d- -0x43a);}switch(_0x363510){case'uri':{_0x36f79c[_0x23a494(0x785,0x9f4)]=_0x23f95c;break;}default:this['_toOneJson_Point'](_0x363510,_0x23f95c,_0x36f79c);break;}}static['setOpacity'](_0x818a40,_0x38bef2){const _0x23c2b8={_0x1a632b:0x2283,_0x1a4ca8:0x549,_0x5ac529:0x14bb,_0x55374:0x1316,_0x393e1b:0xa88,_0x59687:0x1684,_0x185371:0x12f3,_0x271829:0x1960,_0x2aa525:0xa8b},_0x962368={_0x5922f7:0x5cc},_0x5e2dba=getCesiumValue(_0x818a40[_0x3a072a(0xdcb,0x5d2)],Cesium__namespace['Color']);function _0x3a072a(_0x420f3b,_0x318d4e){return _0x2b6441(_0x318d4e,_0x420f3b-0x4bd);}!Cesium__namespace[_0x77a766(_0x23c2b8._0x1a632b,0x17dd)](_0x818a40['_color_alpha_bak'])&&(_0x818a40[_0x3a072a(_0x23c2b8._0x1a4ca8,0x623)]=(_0x5e2dba===null||_0x5e2dba===void 0x0?void 0x0:_0x5e2dba[_0x3a072a(_0x23c2b8._0x5ac529,0x185b)])??0x1);_0x5e2dba?_0x818a40['color']=_0x5e2dba[_0x3a072a(0x1851,0x1b9c)](_0x38bef2*_0x818a40['_color_alpha_bak']):_0x818a40['color']=Cesium__namespace['Color'][_0x77a766(_0x23c2b8._0x55374,_0x23c2b8._0x393e1b)]['withAlpha'](_0x38bef2);const _0x144761=getCesiumValue(_0x818a40[_0x3a072a(_0x23c2b8._0x59687,_0x23c2b8._0x185371)],Cesium__namespace['Color']);function _0x77a766(_0xbc6ffa,_0x5dfc35){return _0x2b6441(_0xbc6ffa,_0x5dfc35-_0x962368._0x5922f7);}_0x144761&&(!Cesium__namespace['defined'](_0x818a40['_silhouetteColor_alpha_bak'])&&(_0x818a40['_silhouetteColor_alpha_bak']=_0x144761['alpha']??0x1),_0x818a40['silhouetteColor']=_0x144761[_0x77a766(0x200b,_0x23c2b8._0x271829)](_0x38bef2*_0x818a40[_0x77a766(0xa5b,_0x23c2b8._0x2aa525)]));}}class PathStyleConver extends BaseStyleConver{static[_0x306755(0x1a86,0x104c)](_0x4ebd0f,_0x171033,_0x31dc7d){const _0x29a5fd={_0xf00889:0x853,_0x5b96dc:0x8ba},_0x48752d={_0x351fcc:0x317},_0x34e558={_0x45789d:0x19c};!this[_0x3d7e33(_0x29a5fd._0xf00889,_0x29a5fd._0x5b96dc)]&&(this[_0x3d7e33(0x853,0x8f)]=new PathStyleConver());function _0x289dc3(_0x363b76,_0x4f0508){return _0x2b6441(_0x4f0508,_0x363b76-_0x34e558._0x45789d);}this['pathStyleConver']['isEntity']=_0x31dc7d;function _0x3d7e33(_0x405cea,_0x1d6289){return _0x2b6441(_0x1d6289,_0x405cea-_0x48752d._0x351fcc);}return this[_0x3d7e33(0x853,0x423)]['toCesiumVal'](_0x4ebd0f,_0x171033);}['_toOneCesiumVal'](_0x26fba5,_0x420c2e,_0x27a21b,_0x48e5e7){const _0xd06e0b={_0x159fc9:0xc1};function _0xa4f9b7(_0x204a4e,_0x3468e5){return _0x2b6441(_0x3468e5,_0x204a4e-_0xd06e0b._0x159fc9);}this[_0xa4f9b7(0x7,0x2b2)](_0x26fba5,_0x420c2e,_0x27a21b,_0x48e5e7);}static[_0x2b6441(0xb76,0x569)](_0x58ea15,_0x4e0232,_0x2da8c9){const _0x104da7={_0x1c7105:0xb69,_0x140596:0xb8b,_0x5f1d9b:0x720,_0x423315:0x919},_0x4c7c95={_0x2a36dd:0x3ea};!this[_0x35f552(0x1246,_0x104da7._0x1c7105)]&&(this[_0x35f552(0xd71,0xb69)]=new PathStyleConver());function _0x4693d1(_0x42f44b,_0x5ab735){return _0x306755(_0x5ab735,_0x42f44b- -_0x4c7c95._0x2a36dd);}this['pathStyleConver']['isEntity']=_0x2da8c9;function _0x35f552(_0x3b9041,_0xa8d60f){return _0x2b6441(_0x3b9041,_0xa8d60f-0x62d);}return this[_0x4693d1(0x6f3,_0x104da7._0x140596)][_0x4693d1(_0x104da7._0x5f1d9b,_0x104da7._0x423315)](_0x58ea15,_0x4e0232);}['_toOneJson'](_0x31eaab,_0x73ccdb,_0x230656){this['_toOneJson_Poly'](_0x31eaab,_0x73ccdb,_0x230656);}}class PlaneStyleConver extends BaseStyleConver{static[_0x306755(0xfc6,0x104c)](_0x4a36a1,_0x878b04,_0x5c4dc6){const _0x267edf={_0x28bf6d:0x4eb,_0x557488:0x291},_0x3e46e7={_0x4d5202:0x25c},_0x4cb721={_0x8bb922:0x207};!this[_0x3188ad(_0x267edf._0x28bf6d,0xbeb)]&&(this['planeStyleConver']=new PlaneStyleConver());function _0x3242c5(_0x5a1849,_0x16a197){return _0x306755(_0x5a1849,_0x16a197- -_0x4cb721._0x8bb922);}function _0x3188ad(_0x22e0c7,_0x910abd){return _0x2b6441(_0x22e0c7,_0x910abd-_0x3e46e7._0x4d5202);}return this['planeStyleConver']['isEntity']=_0x5c4dc6,this[_0x3242c5(_0x267edf._0x557488,0xd29)]['toCesiumVal'](_0x4a36a1,_0x878b04);}[_0x306755(0x15e1,0x1092)](_0x595f17,_0x16be47){super['_toCesiumValBefore'](_0x595f17,_0x16be47);}['_toOneCesiumVal'](_0xf96930,_0x19b806,_0x41e612,_0xcb95a3){const _0x1b90d9={_0x7684bb:0xdd7,_0x119f0c:0x3f3},_0x48e042={_0x59ad57:0x29e};function _0x5cadbc(_0x42eb16,_0x10aff9){return _0x2b6441(_0x10aff9,_0x42eb16-0x215);}function _0x42e0ad(_0x5a7334,_0x432de4){return _0x2b6441(_0x5a7334,_0x432de4-_0x48e042._0x59ad57);}switch(_0xf96930){case'dimensions_x':{const _0x1125b9=_0x41e612['dimensions_x']??0x64,_0x2f5078=_0x41e612['dimensions_y']??0x64;_0xcb95a3['dimensions']=new Cesium__namespace['Cartesian2'](_0x1125b9,_0x2f5078);break;}case'scaleX':case _0x42e0ad(0xed3,0xedb):{const _0x36c9e4=_0x41e612[_0x42e0ad(0x4ec,_0x1b90d9._0x7684bb)]??0x1,_0xf613a1=_0x41e612['scaleY']??0x1;_0xcb95a3[_0x42e0ad(0x95a,_0x1b90d9._0x119f0c)]=new Cesium__namespace['Cartesian2'](_0x36c9e4,_0xf613a1);break;}case'plane_normal':{let _0x29332d;switch(_0x19b806){case'x':_0x29332d=Cesium__namespace['Cartesian3'][_0x42e0ad(0x1476,0xc2b)];break;case'y':_0x29332d=Cesium__namespace['Cartesian3']['UNIT_Y'];break;case'z':_0x29332d=Cesium__namespace['Cartesian3'][_0x5cadbc(0x157,-0x31)];break;default:_0x29332d=_0x19b806;break;}const _0x4a423f=_0x41e612['plane_distance']??0x0;_0xcb95a3['plane']=new Cesium__namespace['Plane'](_0x29332d,_0x4a423f);break;}default:this[_0x42e0ad(0x15c,0x1e4)](_0xf96930,_0x19b806,_0x41e612,_0xcb95a3);break;}}static[_0x2b6441(-0x16e,0x569)](_0x28aeef,_0x12eb3f,_0x56484c){const _0x18c1b3={_0x26c220:0xcb9,_0x485144:0xe59,_0x155e84:0x64e,_0x80ab7:0xa33},_0x1d037a={_0x5310ac:0x4ca};function _0x5c6e88(_0x1d96e5,_0x570b16){return _0x306755(_0x570b16,_0x1d96e5- -0x145);}!this['planeStyleConver']&&(this['planeStyleConver']=new PlaneStyleConver());this['planeStyleConver']['isEntity']=_0x56484c;function _0x342cc5(_0x30bf5c,_0x718af5){return _0x2b6441(_0x30bf5c,_0x718af5-_0x1d037a._0x5310ac);}return this[_0x342cc5(_0x18c1b3._0x26c220,_0x18c1b3._0x485144)][_0x342cc5(_0x18c1b3._0x155e84,_0x18c1b3._0x80ab7)](_0x28aeef,_0x12eb3f);}static['toOneJson'](_0x3c176b,_0x33f3db,_0x133a30){const _0x5510ae={_0x418432:0xfe0};function _0x31d499(_0x1f45c4,_0x45943b){return _0x306755(_0x1f45c4,_0x45943b- -0x47f);}function _0x52f5b1(_0x272c05,_0x5b37f2){return _0x306755(_0x5b37f2,_0x272c05-0xb0);}return!this['planeStyleConver']&&(this['planeStyleConver']=new PlaneStyleConver()),this[_0x52f5b1(_0x5510ae._0x418432,0x85c)][_0x31d499(0x1dd8,0x14ef)](_0x3c176b,_0x33f3db,_0x133a30);}['_toOneJson'](_0x601a7d,_0x555bcb,_0x19a2c1){const _0x4843d9={_0x2b34b2:0x943,_0x7f5c9b:0x44c,_0x40a1e3:0x43d,_0x2aac79:0x840,_0x384018:0xf19,_0x544e02:0x840,_0x594d21:0x2c,_0x5acd45:0x184,_0xa949c9:0x44c,_0x4a100c:0xcda};function _0x5eeafe(_0x4f4d37,_0x10f52c){return _0x2b6441(_0x4f4d37,_0x10f52c-0x181);}function _0x4b9b63(_0x4e6bee,_0x1492ce){return _0x306755(_0x1492ce,_0x4e6bee- -0x9c);}switch(_0x601a7d){case'dimensions':{_0x19a2c1['dimensions_x']=_0x555bcb['x'],_0x19a2c1['dimensions_y']=_0x555bcb['y'];break;}case'plane_normal':{if(_0x555bcb['equals'](Cesium__namespace[_0x5eeafe(_0x4843d9._0x2b34b2,0x601)]['UNIT_X']))_0x19a2c1[_0x4b9b63(_0x4843d9._0x7f5c9b,-0x3af)]='x';else{if(_0x555bcb['equals'](Cesium__namespace['Cartesian3']['UNIT_Y']))_0x19a2c1['plane_normal']='y';else _0x555bcb['equals'](Cesium__namespace[_0x5eeafe(-_0x4843d9._0x40a1e3,0x601)]['UNIT_Z'])?_0x19a2c1[_0x5eeafe(0x46c,0xc8)]='z':(logWarn('plane类型未识别',_0x555bcb),_0x19a2c1['plane_normal']='z');}break;}case'plane':{if(_0x555bcb[_0x5eeafe(0x44a,_0x4843d9._0x2aac79)][_0x4b9b63(_0x4843d9._0x384018,0x11c9)](Cesium__namespace['Cartesian3']['UNIT_X']))_0x19a2c1['plane_normal']='x';else{if(_0x555bcb[_0x5eeafe(0xe5b,_0x4843d9._0x544e02)]['equals'](Cesium__namespace[_0x5eeafe(-_0x4843d9._0x594d21,0x601)]['UNIT_Y']))_0x19a2c1['plane_normal']='y';else _0x555bcb[_0x5eeafe(_0x4843d9._0x5acd45,0x840)]['equals'](Cesium__namespace['Cartesian3']['UNIT_Z'])?_0x19a2c1['plane_normal']='z':(logWarn('plane类型未识别',_0x555bcb),_0x19a2c1[_0x4b9b63(_0x4843d9._0xa949c9,0x231)]='z');}_0x19a2c1[_0x4b9b63(0xbde,_0x4843d9._0x4a100c)]=_0x555bcb['distance'];break;}default:this['_toOneJson_Poly'](_0x601a7d,_0x555bcb,_0x19a2c1);break;}}}class PointStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x71c68c,_0x1fc525,_0x3c1f82){const _0x4a43ac={_0x43e96c:0xe48,_0x67d3a1:0x73d},_0x2672eb={_0x1cf03f:0x2ce};!this[_0x434f9b(0xad2,_0x4a43ac._0x43e96c)]&&(this['pointStyleConver']=new PointStyleConver());function _0x1e7a1d(_0x1a86c2,_0x2e1696){return _0x2b6441(_0x2e1696,_0x1a86c2-_0x2672eb._0x1cf03f);}function _0x434f9b(_0x4c4201,_0x330d68){return _0x306755(_0x4c4201,_0x330d68- -0x61);}return this['pointStyleConver'][_0x1e7a1d(0xa10,_0x4a43ac._0x67d3a1)]=_0x3c1f82,this[_0x434f9b(0x1574,0xe48)][_0x434f9b(0x17ed,0xfeb)](_0x71c68c,_0x1fc525);}['_toCesiumValBefore'](_0x43207b,_0x4fdc85){!Cesium__namespace['defined'](_0x4fdc85['pixelSize'])&&(_0x4fdc85['pixelSize']=0x6);}[_0x2b6441(0x8d0,0x66f)](_0xd21ef,_0x776fe1){const _0x4bd176={_0x42258e:0xc6e};function _0x4981eb(_0x5e2900,_0x396a68){return _0x306755(_0x396a68,_0x5e2900-0x63);}_0xd21ef['outline']===![]&&(_0x776fe1[_0x4981eb(_0x4bd176._0x42258e,0x81b)]=0x0);}['_toOneCesiumVal'](_0x1b5d74,_0x21f19b,_0x5ca3c1,_0x3c7646){const _0x28595a={_0x3c8bd6:0xce2,_0x3d2861:0x1af8,_0x3d66fc:0xca5,_0x4dfdb:0xcbb},_0x42d159={_0x271959:0x3d4};function _0x3d65f5(_0x4fa393,_0x2ae6e9){return _0x2b6441(_0x4fa393,_0x2ae6e9-_0x42d159._0x271959);}function _0x43678e(_0x5cd5b2,_0x1fc151){return _0x306755(_0x5cd5b2,_0x1fc151- -0xf6);}switch(_0x1b5d74){case _0x43678e(0x94c,0xdb9):case'randomColor':{_0x3c7646[_0x3d65f5(0x9e6,_0x28595a._0x3c8bd6)]=this[_0x3d65f5(_0x28595a._0x3d2861,0x14c8)](_0x5ca3c1);break;}case _0x43678e(0xcca,_0x28595a._0x3d66fc):{_0x3c7646[_0x3d65f5(_0x28595a._0x4dfdb,0xbce)]=this['getOutlineColorByStyle'](_0x5ca3c1);break;}default:this['_toOneCesiumVal_Point'](_0x1b5d74,_0x21f19b,_0x5ca3c1,_0x3c7646);break;}}static['toJSON'](_0x504bb0,_0x1f9eab,_0x3f7704){const _0xd9f96={_0x1c15d3:0x242};!this['pointStyleConver']&&(this['pointStyleConver']=new PointStyleConver());function _0x418c64(_0x25daf3,_0x3526f7){return _0x306755(_0x25daf3,_0x3526f7- -_0xd9f96._0x1c15d3);}return this['pointStyleConver'][_0x418c64(0xce1,0xaa1)]=_0x3f7704,this['pointStyleConver']['toJSON'](_0x504bb0,_0x1f9eab);}[_0x2b6441(0x12be,0x13cd)](_0xeffdf7,_0x27f5a1,_0x2a9f9a){const _0xeaeda0={_0x35de7b:0x1d9};function _0x46c145(_0x58ecc7,_0xd3f733){return _0x306755(_0x58ecc7,_0xd3f733- -_0xeaeda0._0x35de7b);}this[_0x46c145(0xaa4,0x377)](_0xeffdf7,_0x27f5a1,_0x2a9f9a);}static['setOpacity'](_0x10c371,_0x4d34f2){const _0x61e79e={_0x22535c:0x3a,_0x47d76b:0x4bf,_0x40395d:0x1a,_0x15e13c:0x918,_0x4bd0b5:0x11bf};function _0x1ccd40(_0x2852bd,_0x5ec674){return _0x306755(_0x5ec674,_0x2852bd- -0x5f3);}function _0x3d54a3(_0x61cdd7,_0x3f4519){return _0x306755(_0x3f4519,_0x61cdd7- -0x647);}const _0x506b5c=getCesiumValue(_0x10c371['color'],Cesium__namespace['Color']);_0x506b5c?(!Cesium__namespace['defined'](_0x10c371['_color_alpha_bak'])&&(_0x10c371[_0x1ccd40(_0x61e79e._0x22535c,_0x61e79e._0x47d76b)]=_0x506b5c['alpha']??0x1),_0x10c371[_0x3d54a3(0x868,-0x46)]=_0x506b5c['withAlpha'](_0x4d34f2*_0x10c371[_0x3d54a3(-_0x61e79e._0x40395d,0x856)])):_0x10c371[_0x3d54a3(0x868,_0x61e79e._0x15e13c)]=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x4d34f2);const _0x126e0f=getCesiumValue(_0x10c371['outlineColor'],Cesium__namespace['Color']);_0x126e0f&&(!Cesium__namespace[_0x1ccd40(_0x61e79e._0x4bd0b5,0x1b6b)](_0x10c371['_outlineColor_alpha_bak'])&&(_0x10c371['_outlineColor_alpha_bak']=_0x126e0f['alpha']??0x1),_0x10c371['outlineColor']=_0x126e0f[_0x3d54a3(0x12ee,0x1b22)](_0x4d34f2*_0x10c371['_outlineColor_alpha_bak']));}}class PolygonStyleConver extends BaseStyleConver{static[_0x2b6441(0xa34,0xaab)](_0x54fc7f,_0x401776,_0x28841b){const _0x2b9645={_0xbf1fe1:0x579,_0x30c6a7:0xbe0,_0x388e8:0x6fe,_0x4ba21f:0x35b};function _0x933a98(_0x38ffa8,_0x3b0e72){return _0x306755(_0x3b0e72,_0x38ffa8- -0x121);}!this[_0x2021f3(-_0x2b9645._0xbf1fe1,0x35b)]&&(this[_0x933a98(0x348,_0x2b9645._0x30c6a7)]=new PolygonStyleConver());function _0x2021f3(_0x1dc47a,_0x180738){return _0x306755(_0x1dc47a,_0x180738- -0x10e);}return this[_0x2021f3(_0x2b9645._0x388e8,_0x2b9645._0x4ba21f)]['isEntity']=_0x28841b,this['polygonStyleConver']['toCesiumVal'](_0x54fc7f,_0x401776);}['_toCesiumValBefore'](_0x7fc665,_0x5e6f80){const _0x5b9087={_0x342c94:0xa60,_0x14ec93:0x78c,_0x4bca78:0x1090,_0x479f06:0x10e6,_0x3e6cf2:0x746,_0x5dbe8c:0x154e,_0x300711:0xe40,_0x5a29dd:0x528,_0x352218:0x81c,_0x3e1572:0xcaf};function _0x4c2d41(_0x5b71bc,_0x39d7b3){return _0x306755(_0x5b71bc,_0x39d7b3-0x6c);}super[_0x2c1bde(0xbae,_0x5b9087._0x342c94)](_0x7fc665,_0x5e6f80);function _0x2c1bde(_0x5b1b19,_0x11fdde){return _0x306755(_0x11fdde,_0x5b1b19- -0x4e4);}if(_0x7fc665[_0x2c1bde(-0x28,_0x5b9087._0x14ec93)])_0x5e6f80[_0x2c1bde(_0x5b9087._0x4bca78,_0x5b9087._0x479f06)]=Cesium__namespace[_0x2c1bde(0x98c,0x74b)]['GEODESIC'],_0x7fc665[_0x2c1bde(0x2bd,0x9cc)](_0x4c2d41(0xd50,0xc5e))&&delete _0x7fc665['height'],_0x7fc665['hasOwnProperty']('diffHeight')&&delete _0x7fc665[_0x4c2d41(0x1152,0xa8c)],_0x7fc665['hasOwnProperty'](_0x2c1bde(0x1095,_0x5b9087._0x3e6cf2))&&delete _0x7fc665['extrudedHeight'];else Cesium__namespace[_0x4c2d41(_0x5b9087._0x5dbe8c,0x181e)](_0x7fc665['height'])?(_0x7fc665[_0x4c2d41(_0x5b9087._0x300711,_0x5b9087._0x5a29dd)]=![],_0x5e6f80['perPositionHeight']=![]):(_0x7fc665[_0x2c1bde(-0x28,_0x5b9087._0x352218)]=![],_0x5e6f80[_0x2c1bde(0x568,_0x5b9087._0x3e1572)]=!![]);}['_toOneCesiumVal'](_0x5cedd0,_0x201242,_0x1e2e81,_0xa70489){const _0x57b832={_0x5dbc06:0xc8e},_0x2b5123={_0xa2b615:0x60d};function _0x24f5e6(_0x2253b8,_0x53aa0b){return _0x2b6441(_0x2253b8,_0x53aa0b-_0x2b5123._0xa2b615);}function _0x5563d7(_0x1b0092,_0xe4393b){return _0x306755(_0xe4393b,_0x1b0092- -0x10d);}switch(_0x5cedd0){case _0x5563d7(_0x57b832._0x5dbc06,0xf8e):{_0xa70489['outlineColor']=this[_0x5563d7(0xb3c,0x36e)](_0x1e2e81);break;}case'height':{_0xa70489[_0x5cedd0]=_0x201242,_0xa70489['perPositionHeight']=![];break;}case'diffHeight':{Cesium__namespace['defined'](_0x1e2e81[_0x5563d7(0xae5,0x460)])&&(_0xa70489['extrudedHeight']=Number(_0x1e2e81['height'])+Number(_0x201242));break;}case _0x24f5e6(0x6ea,0x528):_0xa70489[_0x5cedd0]=_0x201242,_0xa70489[_0x5563d7(0x93f,0x6ba)]=!_0x201242&&!Cesium__namespace['defined'](_0x1e2e81[_0x24f5e6(0x13a8,0xc5e)]);break;case'stRotation':_0xa70489['stRotation']=_0x201242;break;case'stRotationDegree':_0xa70489['stRotation']=Cesium__namespace[_0x5563d7(0x125e,0x1868)]['toRadians'](_0x201242);break;default:this['_toOneCesiumVal_Poly'](_0x5cedd0,_0x201242,_0x1e2e81,_0xa70489);break;}}static['toJSON'](_0x5671e6,_0x3bd262,_0x4fd2a8){const _0x5cc87d={_0x4d415e:0x796,_0x4750e4:0x1ef},_0x1aa30f={_0x21f382:0x54d};function _0x565840(_0x4f6fbb,_0x1713e2){return _0x2b6441(_0x1713e2,_0x4f6fbb-0x3d8);}!this['polygonStyleConver']&&(this[_0x334029(-0xba9,-0xe4)]=new PolygonStyleConver());this['polygonStyleConver'][_0x334029(0x3bb,_0x5cc87d._0x4d415e)]=_0x4fd2a8;function _0x334029(_0x3cef9c,_0x2e7299){return _0x306755(_0x3cef9c,_0x2e7299- -_0x1aa30f._0x21f382);}return this[_0x334029(_0x5cc87d._0x4750e4,-0xe4)][_0x334029(0x5ca,0x5bd)](_0x5671e6,_0x3bd262);}[_0x306755(0x11d0,0x196e)](_0x175394,_0x2c834d,_0x1e32e6){switch(_0x175394){case'stRotation':{_0x1e32e6['stRotationDegree']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x2c834d),0x1);break;}default:this['_toOneJson_Poly'](_0x175394,_0x2c834d,_0x1e32e6);break;}}}class PolylineStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x3c9490,_0x54935c,_0x8bcc36){const _0xef6954={_0xe061dd:0x402};!this[_0x381068(0x1419,0xbcb)]&&(this[_0x8e5cf3(0x2a3,0xcab)]=new PolylineStyleConver());function _0x381068(_0x419504,_0x39d2b5){return _0x306755(_0x419504,_0x39d2b5- -0x27f);}function _0x8e5cf3(_0x1c5ee4,_0x5b3dad){return _0x2b6441(_0x1c5ee4,_0x5b3dad-_0xef6954._0xe061dd);}return this[_0x8e5cf3(0x7d9,0xcab)][_0x8e5cf3(0x1000,0xb44)]=_0x8bcc36,this['polylineStyleConver']['toCesiumVal'](_0x3c9490,_0x54935c);}['_toCesiumValBefore'](_0x34a976,_0x5e0be3){const _0x1047a3={_0x43199f:0xc1b,_0x5ab8da:0x105e,_0x4dce80:0xf24,_0x497225:0x95a,_0x31d80f:0xb8e,_0x1a73b7:0xd60,_0x3bb33a:0xb8d,_0x246817:0x1624},_0x33621b={_0x446c8c:0x393},_0x2aaf68={_0x1d84c1:0x516};super[_0x4238a2(0xe84,_0x1047a3._0x43199f)](_0x34a976,_0x5e0be3);_0x34a976['clampToGround']&&(_0x5e0be3[_0x362fa2(_0x1047a3._0x5ab8da,_0x1047a3._0x4dce80)]=Cesium__namespace[_0x362fa2(_0x1047a3._0x497225,_0x1047a3._0x31d80f)]['GEODESIC']);function _0x362fa2(_0x45ee60,_0x10a2a0){return _0x306755(_0x10a2a0,_0x45ee60- -_0x2aaf68._0x1d84c1);}function _0x4238a2(_0xf670b6,_0x30319e){return _0x2b6441(_0x30319e,_0xf670b6-_0x33621b._0x446c8c);}_0x34a976[_0x4238a2(0x972,_0x1047a3._0x1a73b7)]===Color$2&&_0x34a976['outline']&&_0x34a976[_0x4238a2(_0x1047a3._0x3bb33a,_0x1047a3._0x246817)]&&(_0x34a976[_0x362fa2(0x66a,0x7b1)]=PolylineOutline);}['_toOneCesiumVal'](_0x5dcbde,_0x3d1420,_0x433aba,_0xa8db4){const _0x15c441={_0x3a0b85:0xa51,_0x2a8d48:0xd36,_0x3777bf:0x742,_0x2bfce1:0xad4,_0x3e7e0a:0x1160,_0x4345c7:0xcbe,_0x398935:0x1da1,_0x352725:0x1a8e,_0x48e6b:0x113d,_0x4860ee:0xa03,_0x4fee24:0x4f7,_0x113f97:0xc5d,_0x288919:0x633},_0x400fba={_0x882ebb:0x179},_0x4604a0={_0x467563:0xb1};function _0x227118(_0x23f6be,_0x5eaa32){return _0x2b6441(_0x23f6be,_0x5eaa32- -_0x4604a0._0x467563);}function _0x248258(_0x25b0b0,_0x425bef){return _0x306755(_0x25b0b0,_0x425bef- -_0x400fba._0x882ebb);}switch(_0x5dcbde){case _0x227118(0xcf,_0x15c441._0x3a0b85):if(_0x3d1420){let _0xbf020e=getCesiumColor(_0x433aba['depthFailColor']||_0x433aba[_0x248258(0x8d6,_0x15c441._0x2a8d48)],Cesium__namespace[_0x248258(_0x15c441._0x3777bf,0xdbb)][_0x227118(0x12e7,_0x15c441._0x2bfce1)]);Cesium__namespace[_0x227118(0x1823,_0x15c441._0x3e7e0a)](_0x433aba['depthFailOpacity'])&&(_0xbf020e=_0xbf020e[_0x227118(_0x15c441._0x4345c7,0x12e3)](Number(_0x433aba[_0x248258(_0x15c441._0x398935,0x1440)]))),this['isEntity']?_0xa8db4[_0x227118(_0x15c441._0x352725,_0x15c441._0x48e6b)]=_0xbf020e:_0xa8db4[_0x248258(0x1ff3,0x164f)]=_0xbf020e,_0x433aba['opacity']===0x1&&(_0x433aba[_0x227118(_0x15c441._0x4860ee,_0x15c441._0x4fee24)]=0.98);}else _0xa8db4['depthFailMaterial']=undefined;_0xa8db4[_0x5dcbde]=_0x3d1420;break;case'closure':!this['isEntity']&&(_0xa8db4[_0x227118(_0x15c441._0x113f97,_0x15c441._0x288919)]=_0x3d1420);_0xa8db4['closure']=_0x3d1420;break;default:this['_toOneCesiumVal_Poly'](_0x5dcbde,_0x3d1420,_0x433aba,_0xa8db4);break;}}static[_0x2b6441(0xa66,0x569)](_0x383e1a,_0x153dbe,_0x583f37){const _0x23d6a0={_0x375eb0:0x10ec,_0x4ecfab:0xc93,_0x4f89fc:0x7cb},_0x3e7376={_0x2047d6:0x50};!this['polylineStyleConver']&&(this['polylineStyleConver']=new PolylineStyleConver());function _0x2acaba(_0x13a024,_0x1fb549){return _0x306755(_0x13a024,_0x1fb549- -_0x3e7376._0x2047d6);}function _0x16e4f9(_0x5aee67,_0x46e1bf){return _0x306755(_0x46e1bf,_0x5aee67-0xd);}return this['polylineStyleConver'][_0x2acaba(_0x23d6a0._0x375eb0,_0x23d6a0._0x4ecfab)]=_0x583f37,this[_0x16e4f9(0xe57,_0x23d6a0._0x4f89fc)]['toJSON'](_0x383e1a,_0x153dbe);}['_toOneJson'](_0x3abbbf,_0xa3b9b1,_0x550eb1){function _0x45247f(_0x40673a,_0x1f8ea1){return _0x306755(_0x40673a,_0x1f8ea1- -0x68);}switch(_0x3abbbf){case'loop':_0x550eb1['closure']=_0xa3b9b1;break;default:this[_0x45247f(0x1322,0x12a1)](_0x3abbbf,_0xa3b9b1,_0x550eb1);break;}}}class PolylineVolumeStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x22ea5e,_0x50be1e,_0x24ff83){const _0x1fec42={_0x1599d4:0x8b7,_0x41ba07:0x8b6},_0x18d75f={_0x1abf61:0x139};function _0x39d8d1(_0x37b083,_0x432e5e){return _0x306755(_0x432e5e,_0x37b083- -_0x18d75f._0x1abf61);}function _0x4159bd(_0x210f8c,_0x481866){return _0x2b6441(_0x481866,_0x210f8c-0x174);}return!this['polylineVolumeStyleConver']&&(this[_0x4159bd(_0x1fec42._0x1599d4,-0xdc)]=new PolylineVolumeStyleConver()),this['polylineVolumeStyleConver'][_0x4159bd(_0x1fec42._0x41ba07,0xe19)]=_0x24ff83,this['polylineVolumeStyleConver']['toCesiumVal'](_0x22ea5e,_0x50be1e);}[_0x2b6441(0xfb8,0x66f)](_0x2d932b,_0xec0c8e){const _0x4f11c6={_0x4f2daf:0x11be,_0x2163f5:0xa17,_0x5da613:0x1206,_0x52d6a2:0xa33,_0x49e751:0x4db,_0x472167:0x259,_0x380707:0x4db},_0x59ff13={_0x3f4e1c:0x4b6};function _0x4d42ae(_0x37855c,_0x31b78f){return _0x2b6441(_0x37855c,_0x31b78f-0x507);}const _0x44f431=_0x2d932b['shape']||_0x2d932b[_0x5a53b0(0x1107,_0x4f11c6._0x4f2daf)];_0x2d932b['radius']=_0x2d932b['radius']||0xa;function _0x5a53b0(_0x3002bc,_0x184ab4){return _0x2b6441(_0x3002bc,_0x184ab4-_0x59ff13._0x3f4e1c);}switch(_0x44f431){case _0x5a53b0(_0x4f11c6._0x2163f5,_0x4f11c6._0x5da613):_0xec0c8e['shape']=PolylineVolumeStyleConver[_0x5a53b0(_0x4f11c6._0x52d6a2,0x55d)](_0x2d932b);break;case'circle':_0xec0c8e[_0x4d42ae(0xa69,_0x4f11c6._0x49e751)]=PolylineVolumeStyleConver['getShapeForCircle'](_0x2d932b);break;case _0x5a53b0(0xd33,0x116d):_0xec0c8e[_0x4d42ae(_0x4f11c6._0x472167,_0x4f11c6._0x380707)]=PolylineVolumeStyleConver['getShapeForStar'](_0x2d932b);break;default:_0xec0c8e['shape']=_0x44f431;break;}}['_toOneCesiumVal'](_0xc3bb29,_0x381bb7,_0x21216b,_0x353324){this['_toOneCesiumVal_Poly'](_0xc3bb29,_0x381bb7,_0x21216b,_0x353324);}static['toJSON'](_0x1125dc,_0x10c16c,_0x5104aa){const _0x388da8={_0x5000c2:0x784,_0xd668fe:0x838};!this[_0x2b7232(0x95e,0x113a)]&&(this['polylineVolumeStyleConver']=new PolylineVolumeStyleConver());function _0x45909d(_0x19c281,_0x2053db){return _0x306755(_0x2053db,_0x19c281-0x10b);}this['polylineVolumeStyleConver']['isEntity']=_0x5104aa;function _0x2b7232(_0x5a6173,_0x1dec06){return _0x306755(_0x1dec06,_0x5a6173- -0x386);}return this['polylineVolumeStyleConver'][_0x2b7232(_0x388da8._0x5000c2,_0x388da8._0xd668fe)](_0x1125dc,_0x10c16c);}['_toOneJson'](_0x856d29,_0x7fb9b0,_0x302df1){this['_toOneJson_Poly'](_0x856d29,_0x7fb9b0,_0x302df1);}static[_0x306755(0xa9d,0x648)](_0xbf0bc4){const _0x52000b={_0x461300:0x50a,_0x38213a:0x777,_0x45256c:0x1627,_0x2c57ef:0x15e0,_0x52820d:0xbf3,_0x354bf2:0xfcb,_0x5450e5:0x19a8,_0x1fd03a:0x737,_0x14f55f:0x59d},_0x2714e3={_0x5e12e6:0x201};function _0x365bc5(_0x4c992b,_0x562ef){return _0x2b6441(_0x562ef,_0x4c992b-_0x2714e3._0x5e12e6);}const _0x5d244d=_0xbf0bc4[_0x130d39(_0x52000b._0x461300,0x16a)]??0x1,_0x41f57c=_0xbf0bc4['thicknes']??_0x5d244d/0x3,_0x42becd=Math['ceil'](0x168/(_0xbf0bc4[_0x130d39(_0x52000b._0x38213a,0x4f3)]??0x3c)),_0x59a465=_0xbf0bc4['startAngle']??0x0;function _0x130d39(_0x184c9a,_0x57e173){return _0x306755(_0x57e173,_0x184c9a- -0x1bc);}const _0x4b0e1b=_0xbf0bc4['endAngle']??_0x59a465+0x168,_0x4b177e=_0xbf0bc4[_0x130d39(0xe2c,_0x52000b._0x45256c)]??0x1,_0x4c6116=_0xbf0bc4[_0x130d39(_0x52000b._0x2c57ef,_0x52000b._0x52820d)]??0x1,_0x2ff8f1=[];for(let _0x5d68a5=_0x59a465;_0x5d68a5<=_0x4b0e1b;_0x5d68a5+=_0x42becd){const _0x5d11e8=Cesium__namespace[_0x365bc5(_0x52000b._0x354bf2,_0x52000b._0x5450e5)]['toRadians'](_0x5d68a5);_0x2ff8f1['push'](new Cesium__namespace[(_0x365bc5(0x14c,-_0x52000b._0x1fd03a))](_0x5d244d*_0x4c6116*Math['cos'](_0x5d11e8),_0x5d244d*_0x4b177e*Math['sin'](_0x5d11e8)));}for(let _0x17f11b=_0x4b0e1b;_0x17f11b>=_0x59a465;_0x17f11b-=_0x42becd){const _0x1e1af9=Cesium__namespace[_0x365bc5(_0x52000b._0x354bf2,0x75e)]['toRadians'](_0x17f11b);_0x2ff8f1['push'](new Cesium__namespace['Cartesian2']((_0x5d244d-_0x41f57c)*_0x4c6116*Math[_0x365bc5(0x8ef,0x9c4)](_0x1e1af9),(_0x5d244d-_0x41f57c)*_0x4b177e*Math[_0x365bc5(_0x52000b._0x14f55f,-0x4f1)](_0x1e1af9)));}return _0x2ff8f1;}static[_0x306755(0xdf8,0xace)](_0x50c2db){const _0x33995e={_0x5e5510:0x2f2,_0x25e102:0x909,_0x1da6db:0x6be,_0x47432e:0x10fe,_0x55157a:0xe3c,_0x25b1ce:0x69d,_0x1a0fca:0x16a,_0x3d35b4:0x77},_0x4ff0d1=_0x50c2db['radius']??0x1,_0x1afce1=Math[_0x19d2f9(_0x33995e._0x5e5510,_0x33995e._0x25e102)](0x168/(_0x50c2db[_0x19d2f9(_0x33995e._0x1da6db,0x11d)]??0x3c));function _0x2d564b(_0x55bd74,_0x47c142){return _0x2b6441(_0x55bd74,_0x47c142-0x72);}function _0x19d2f9(_0x106a9f,_0x425b8b){return _0x2b6441(_0x425b8b,_0x106a9f-0x32c);}const _0x341d50=_0x50c2db['startAngle']??0x0,_0x33eba3=_0x50c2db['endAngle']??_0x341d50+0x168,_0x3ee632=_0x50c2db[_0x2d564b(0x8cc,0xab9)]??0x1,_0x2e9ad=_0x50c2db['hscale']??0x1,_0x4036a3=[];for(let _0x3772e0=_0x341d50;_0x3772e0<=_0x33eba3;_0x3772e0+=_0x1afce1){const _0x2e0d55=Cesium__namespace[_0x2d564b(_0x33995e._0x47432e,_0x33995e._0x55157a)][_0x2d564b(0xacb,_0x33995e._0x25b1ce)](_0x3772e0);_0x4036a3[_0x2d564b(0x30c,_0x33995e._0x1a0fca)](new Cesium__namespace[(_0x2d564b(_0x33995e._0x3d35b4,-0x43))](_0x4ff0d1*_0x2e9ad*Math['cos'](_0x2e0d55),_0x4ff0d1*_0x3ee632*Math['sin'](_0x2e0d55)));}return _0x4036a3;}static['getShapeForStar'](_0x2db1ae){const _0x2f766f={_0x5f204d:0x69d,_0x4ea0b0:0x822,_0x2afb6e:0x55c},_0x49c786=_0x2db1ae[_0x2356f1(_0x2f766f._0x5f204d,0x2e5)]??0x1,_0x25b19a=_0x49c786-(_0x2db1ae['thicknes']??_0x49c786/0x3);function _0x2068c6(_0x316909,_0x30a711){return _0x306755(_0x316909,_0x30a711- -0x1c7);}const _0x36b4bc=_0x2db1ae['slices']??0x6,_0x4e1533=Cesium__namespace['Math'][_0x2356f1(0x49c,0x7eb)](_0x2db1ae['startAngle']??0x0);function _0x2356f1(_0x26cb0f,_0x2bb9c1){return _0x2b6441(_0x26cb0f,_0x2bb9c1-0x1c0);}const _0x134d3a=Math['PI']/_0x36b4bc,_0x336408=0x2*_0x36b4bc,_0x22f54c=new Array(_0x336408);for(let _0x25833a=0x0;_0x25833a<_0x336408;_0x25833a++){const _0x4d433d=_0x25833a%0x2===0x0?_0x49c786:_0x25b19a,_0x2c77a9=_0x4e1533+_0x25833a*_0x134d3a;_0x22f54c[_0x25833a]=new Cesium__namespace['Cartesian2'](Math['cos'](_0x2c77a9)*_0x4d433d,Math[_0x2356f1(_0x2f766f._0x4ea0b0,_0x2f766f._0x2afb6e)](_0x2c77a9)*_0x4d433d);}return _0x22f54c;}}class RectangleStyleConver extends BaseStyleConver{static[_0x306755(0x1883,0x104c)](_0x58e702,_0x209595,_0x470e98){const _0x4a88a2={_0x53b19c:0x340};!this['rectangleStyleConver']&&(this['rectangleStyleConver']=new RectangleStyleConver());function _0x4c3c07(_0x1e5f2e,_0x3f3bea){return _0x306755(_0x3f3bea,_0x1e5f2e- -0x2bf);}this['rectangleStyleConver'][_0x4c3c07(0xa24,0x3db)]=_0x470e98;function _0x35311e(_0x55e71e,_0x2041fb){return _0x2b6441(_0x2041fb,_0x55e71e-_0x4a88a2._0x53b19c);}return this['rectangleStyleConver'][_0x35311e(0xdeb,0x167c)](_0x58e702,_0x209595);}['_toCesiumValBefore'](_0x415e29,_0x4aa38e){const _0x207ac7={_0x54a777:0x97e,_0x24f930:0x6c2,_0x14e684:0x1215,_0x454244:0xc47,_0x58bba5:0x4e6},_0xfba194={_0xd9247f:0x4c2},_0x25f6fe={_0x7b95bc:0x55};function _0x33b6c5(_0x5bf344,_0x5522d6){return _0x306755(_0x5bf344,_0x5522d6-_0x25f6fe._0x7b95bc);}super['_toCesiumValBefore'](_0x415e29,_0x4aa38e);function _0x3158df(_0x526331,_0x14db8b){return _0x2b6441(_0x526331,_0x14db8b-_0xfba194._0xd9247f);}_0x415e29['clampToGround']?(_0x415e29[_0x3158df(_0x207ac7._0x54a777,_0x207ac7._0x24f930)](_0x33b6c5(_0x207ac7._0x14e684,_0x207ac7._0x454244))&&delete _0x415e29['height'],_0x415e29['hasOwnProperty']('diffHeight')&&delete _0x415e29[_0x3158df(0x754,0x941)],_0x415e29['hasOwnProperty'](_0x33b6c5(0x12ce,0x15ce))&&delete _0x415e29['extrudedHeight']):(_0x415e29[_0x3158df(-0x42b,0x3dd)]=![],_0x4aa38e[_0x3158df(_0x207ac7._0x58bba5,0xb13)]=0x0);}['_toOneCesiumVal'](_0xd66c5d,_0x2b95ea,_0xd0ebc9,_0x48ebf9){const _0x56956b={_0x4d0f11:0xc74,_0x48d2d7:0xc45,_0x12d478:0x1201,_0xc62a97:0x1589,_0x4474ce:0x13de,_0x5afb26:0x1676,_0x565bdf:0x647,_0x4b520e:0x2045,_0x2badec:0x95a,_0x5d9013:0x384,_0x150cfb:0x16d2,_0x5d8380:0x12e6,_0x3feab7:0xf7c},_0x44cdc5={_0x288a56:0x272};function _0x503d10(_0x19a3cd,_0x2bad6f){return _0x306755(_0x2bad6f,_0x19a3cd- -_0x44cdc5._0x288a56);}function _0x4a51dd(_0x5a86b8,_0x403273){return _0x306755(_0x403273,_0x5a86b8-0x82);}switch(_0xd66c5d){case _0x4a51dd(_0x56956b._0x4d0f11,0x9a8):_0x48ebf9['height']=_0x2b95ea;_0xd0ebc9['diffHeight']&&(_0x48ebf9[_0x503d10(0x1307,_0x56956b._0x48d2d7)]=Number(_0xd0ebc9[_0x503d10(0x7ae,_0x56956b._0x12d478)])+Number(_0x2b95ea));break;case'diffHeight':Cesium__namespace['defined'](_0xd0ebc9['height'])&&(_0x48ebf9['extrudedHeight']=_0xd0ebc9['height']+_0x2b95ea);break;case _0x4a51dd(0x16d2,_0x56956b._0xc62a97):_0x48ebf9[_0x503d10(_0x56956b._0x4474ce,0x1825)]=_0x2b95ea;!Cesium__namespace[_0x4a51dd(0x1834,_0x56956b._0x5afb26)](_0xd0ebc9['stRotation'])&&(_0x48ebf9[_0x4a51dd(0xa82,_0x56956b._0x565bdf)]=_0x48ebf9['rotation']);break;case'rotationDegree':_0x48ebf9[_0x4a51dd(0x16d2,_0x56956b._0x4b520e)]=Cesium__namespace['Math'][_0x503d10(_0x56956b._0x2badec,_0x56956b._0x5d9013)](_0x2b95ea);!Cesium__namespace[_0x503d10(0x1540,0x1130)](_0xd0ebc9['stRotation'])&&(_0x48ebf9['stRotation']=_0x48ebf9[_0x4a51dd(_0x56956b._0x150cfb,0x1147)]);break;case _0x4a51dd(0xa82,_0x56956b._0x5d8380):_0x48ebf9['stRotation']=_0x2b95ea;break;case'stRotationDegree':_0x48ebf9['stRotation']=Cesium__namespace['Math']['toRadians'](_0x2b95ea);break;case _0x4a51dd(0x53e,0x613):_0x2b95ea?_0x48ebf9['heightReference']=Cesium__namespace['HeightReference']['CLAMP_TO_GROUND']:_0x48ebf9['heightReference']=Cesium__namespace[_0x4a51dd(0x16fd,_0x56956b._0x3feab7)]['NONE'];break;default:this[_0x4a51dd(0x569,0xd10)](_0xd66c5d,_0x2b95ea,_0xd0ebc9,_0x48ebf9);break;}}static[_0x306755(0xab2,0xb0a)](_0x827347,_0x281fc6,_0x49718d){const _0x51aff7={_0x2d0b80:0xba3},_0xdf8fd7={_0x46d286:0x2ea},_0x40b476={_0x4ef971:0x104};!this['rectangleStyleConver']&&(this[_0x9d1a45(_0x51aff7._0x2d0b80,0xdd1)]=new RectangleStyleConver());function _0x9d1a45(_0x44cd82,_0x2382f){return _0x306755(_0x2382f,_0x44cd82-_0x40b476._0x4ef971);}this['rectangleStyleConver'][_0x2e36f9(0xa0,0xa2c)]=_0x49718d;function _0x2e36f9(_0x3bc935,_0x302d6f){return _0x2b6441(_0x3bc935,_0x302d6f-_0xdf8fd7._0x46d286);}return this['rectangleStyleConver']['toJSON'](_0x827347,_0x281fc6);}['_toOneJson'](_0x479634,_0x2d7858,_0x2def90){this['_toOneJson_Poly'](_0x479634,_0x2d7858,_0x2def90);}}class RectangularSensorStyleConver extends BaseStyleConver{static[_0x306755(0x1827,0x104c)](_0x617065,_0x4213b7){const _0x386116={_0x5122ee:0x3e5,_0x572827:0x199,_0x341cc2:0xb0a,_0x13c96a:0x1019},_0x1ddc2c={_0x26f9c3:0x3c8};!this['rectangularSensorStyleConver']&&(this['rectangularSensorStyleConver']=new RectangularSensorStyleConver());this[_0x178e05(_0x386116._0x5122ee,-_0x386116._0x572827)][_0x178e05(_0x386116._0x341cc2,_0x386116._0x13c96a)]=!![];function _0x178e05(_0xb3d319,_0x504042){return _0x2b6441(_0x504042,_0xb3d319-_0x1ddc2c._0x26f9c3);}function _0xf0adb7(_0x39643a,_0x31f244){return _0x306755(_0x39643a,_0x31f244- -0x456);}return this[_0xf0adb7(-0x197,0x168)]['toCesiumVal'](_0x617065,_0x4213b7);}[_0x2b6441(0xe1f,0xaf1)](_0x152213,_0x4a3c8d){super['_toCesiumValBefore'](_0x152213,_0x4a3c8d);}['_getExcludedStyle'](){const _0x1273d7={_0x5cf21f:0xd2f},_0x18a3c5={_0x47376f:0x330};function _0x187cb2(_0x10df43,_0x575706){return _0x306755(_0x575706,_0x10df43- -_0x18a3c5._0x47376f);}return[_0x187cb2(0x4ae,_0x1273d7._0x5cf21f),'scanPlaneOpacity'];}[_0x306755(0x145a,0x11e2)](_0x2b81ec,_0x35b088,_0x235075,_0x5e5a33){const _0x58a2d6={_0x1d090c:0xe2e,_0x59530e:0x1380,_0x3b3b7f:0x65a,_0x405463:0x1bf,_0x24658a:0x1135,_0x3a3791:0x12c3,_0x1123a2:0x12cf,_0x3ca9ef:0x16b0,_0xed63:0x1029,_0x1276fe:0x19c2,_0x2bdaa0:0x58,_0x263e00:0x79a,_0x3c45da:0xb5};function _0x5294e7(_0x102dfd,_0x2a4b77){return _0x306755(_0x2a4b77,_0x102dfd- -0x4ef);}function _0x59ddf9(_0x8c0bc4,_0x3f8437){return _0x2b6441(_0x3f8437,_0x8c0bc4-0x16f);}switch(_0x2b81ec){case'lineColor':{let _0x2a2ccf=Cesium__namespace['Color']['fromCssColorString'](_0x35b088||'#ffffff');if(Cesium__namespace[_0x5294e7(0x12c3,0x1c01)](_0x235075['lineOpacity']))_0x2a2ccf=_0x2a2ccf[_0x5294e7(0x1446,_0x58a2d6._0x1d090c)](Number(_0x235075['lineOpacity']));else Cesium__namespace[_0x59ddf9(_0x58a2d6._0x59530e,0x1419)](_0x235075[_0x5294e7(_0x58a2d6._0x3b3b7f,_0x58a2d6._0x405463)])&&(_0x2a2ccf=_0x2a2ccf['withAlpha'](Number(_0x235075[_0x59ddf9(0x717,_0x58a2d6._0x24658a)])));Cesium__namespace[_0x5294e7(_0x58a2d6._0x3a3791,0x1b63)](_0x235075[_0x5294e7(_0x58a2d6._0x1123a2,0x1674)])&&_0x235075[_0x59ddf9(0x138c,0x10eb)]!==0x1&&(_0x2a2ccf=_0x2a2ccf['withAlpha'](_0x2a2ccf['alpha']*_0x235075[_0x59ddf9(0x138c,_0x58a2d6._0x3ca9ef)]));_0x5e5a33[_0x5294e7(0xd3d,_0x58a2d6._0xed63)]=_0x2a2ccf;break;}case'scanPlaneColor':{let _0x41bcba=Cesium__namespace['Color'][_0x59ddf9(0x1498,0x1751)](_0x35b088||'#ffffff');if(Cesium__namespace['defined'](_0x235075[_0x5294e7(0x1256,0x1385)]))_0x41bcba=_0x41bcba[_0x5294e7(0x1446,0x144e)](Number(_0x235075['scanPlaneOpacity']));else Cesium__namespace['defined'](_0x235075['opacity'])&&(_0x41bcba=_0x41bcba[_0x5294e7(0x1446,_0x58a2d6._0x1276fe)](Number(_0x235075[_0x59ddf9(0x717,_0x58a2d6._0x2bdaa0)])));Cesium__namespace[_0x59ddf9(0x1380,0x149a)](_0x235075[_0x5294e7(_0x58a2d6._0x1123a2,0x124b)])&&_0x235075['globalAlpha']!==0x1&&(_0x41bcba=_0x41bcba['withAlpha'](_0x41bcba['alpha']*_0x235075['globalAlpha']));_0x5e5a33['scanPlaneColor']=_0x41bcba;break;}case'xHalfAngleDegree':_0x5e5a33[_0x59ddf9(0x12c5,0x1b5a)]=Cesium__namespace['Math']['toRadians'](_0x35b088);break;case'yHalfAngleDegree':_0x5e5a33['yHalfAngle']=Cesium__namespace['Math'][_0x59ddf9(_0x58a2d6._0x263e00,-0x127)](_0x35b088);break;case'depthTest':_0x5e5a33['showThroughEllipsoid']=!_0x35b088;break;default:this[_0x59ddf9(_0x58a2d6._0x3c45da,0x721)](_0x2b81ec,_0x35b088,_0x235075,_0x5e5a33);break;}}static['toJSON'](_0x55d72a,_0x442de0){const _0x590bcf={_0x2038fb:0xac,_0x2931cf:0x9a4,_0x3ec79d:0x920},_0x4facff={_0x4fee7b:0x25b};function _0x3a7cdd(_0x3f7bf7,_0xc3f3bd){return _0x2b6441(_0xc3f3bd,_0x3f7bf7-0x262);}function _0xdc4a5(_0x10aca3,_0x5451b1){return _0x2b6441(_0x5451b1,_0x10aca3-_0x4facff._0x4fee7b);}return!this['rectangularSensorStyleConver']&&(this['rectangularSensorStyleConver']=new RectangularSensorStyleConver()),this[_0xdc4a5(0x278,-_0x590bcf._0x2038fb)][_0x3a7cdd(_0x590bcf._0x2931cf,0x851)]=!![],this[_0x3a7cdd(0x27f,_0x590bcf._0x3ec79d)]['toJSON'](_0x55d72a,_0x442de0);}[_0x2b6441(0x1567,0x13cd)](_0x41a032,_0x444789,_0x3c94d2){this['_toOneJson_Poly'](_0x41a032,_0x444789,_0x3c94d2);}}class WallStyleConver extends BaseStyleConver{static['toCesiumVal'](_0x53259e,_0x5e5b77,_0x109645){const _0x3ae744={_0x114be8:0x13cf,_0x20bde4:0xae3,_0x3225bd:0x187};function _0x222635(_0x5eb296,_0x5e5b96){return _0x306755(_0x5e5b96,_0x5eb296- -0x212);}!this[_0x222635(0xad9,0x13a3)]&&(this['wallStyleConver']=new WallStyleConver());this[_0x222635(0xad9,_0x3ae744._0x114be8)][_0x2c2979(_0x3ae744._0x20bde4,_0x3ae744._0x3225bd)]=_0x109645;function _0x2c2979(_0x289160,_0x2255b5){return _0x306755(_0x2255b5,_0x289160- -0x200);}return this['wallStyleConver'][_0x2c2979(0xe4c,0xc84)](_0x53259e,_0x5e5b77);}['_toOneCesiumVal'](_0x453a12,_0x4175df,_0x1fe82e,_0x41ac95){this['_toOneCesiumVal_Poly'](_0x453a12,_0x4175df,_0x1fe82e,_0x41ac95);}static[_0x306755(0x13f8,0xb0a)](_0x36d902,_0x58730f,_0x2f5673){const _0x3f2075={_0x1b1479:0x223,_0x10a828:0xed},_0x396dc9={_0x48ee62:0x110},_0x4105e1={_0xb73f6c:0x273};!this['wallStyleConver']&&(this['wallStyleConver']=new WallStyleConver());function _0x5f054b(_0x4acdcf,_0x18a200){return _0x2b6441(_0x18a200,_0x4acdcf-_0x4105e1._0xb73f6c);}function _0x2e2dd2(_0x28f78a,_0x3c2868){return _0x2b6441(_0x3c2868,_0x28f78a-_0x396dc9._0x48ee62);}return this['wallStyleConver'][_0x5f054b(0x9b5,_0x3f2075._0x1b1479)]=_0x2f5673,this[_0x2e2dd2(0x85a,_0x3f2075._0x10a828)]['toJSON'](_0x36d902,_0x58730f);}[_0x2b6441(0x14fa,0x13cd)](_0x583b09,_0x1fa6c7,_0x422a4d){const _0x34400d={_0x38ee3c:0xf79,_0x4538e7:0x68d};function _0x242e11(_0x77ff42,_0x53494d){return _0x2b6441(_0x53494d,_0x77ff42-0x211);}this[_0x242e11(_0x34400d._0x38ee3c,_0x34400d._0x4538e7)](_0x583b09,_0x1fa6c7,_0x422a4d);}}var czm_cellular=_0x2b6441(-0x182,-0x112),czm_snoise='/**\x0a\x20*\x20@license\x0a\x20*\x20Description\x20:\x20Array\x20and\x20textureless\x20GLSL\x202D/3D/4D\x20simplex\x0a\x20*\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20noise\x20functions.\x0a\x20*\x20\x20\x20\x20\x20\x20Author\x20:\x20Ian\x20McEwan,\x20Ashima\x20Arts.\x0a\x20*\x20\x20Maintainer\x20:\x20ijm\x0a\x20*\x20\x20\x20\x20\x20Lastmod\x20:\x2020110822\x20(ijm)\x0a\x20*\x20\x20\x20\x20\x20License\x20:\x20Copyright\x20(C)\x202011\x20Ashima\x20Arts.\x20All\x20rights\x20reserved.\x0a\x20*\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Distributed\x20under\x20the\x20MIT\x20License.\x20See\x20LICENSE\x20file.\x0a\x20*\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20https://github.com/ashima/webgl-noise\x0a\x20*/\x0a\x0avec4\x20_czm_mod289(vec4\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0avec3\x20_czm_mod289(vec3\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0avec2\x20_czm_mod289(vec2\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0afloat\x20_czm_mod289(float\x20x)\x20{\x0a\x20\x20return\x20x\x20-\x20floor(x\x20*\x20(1.0\x20/\x20289.0))\x20*\x20289.0;\x0a}\x0a\x0avec4\x20_czm_permute(vec4\x20x)\x20{\x0a\x20\x20return\x20_czm_mod289(((x\x20*\x2034.0)\x20+\x201.0)\x20*\x20x);\x0a}\x0a\x0avec3\x20_czm_permute(vec3\x20x)\x20{\x0a\x20\x20return\x20_czm_mod289(((x\x20*\x2034.0)\x20+\x201.0)\x20*\x20x);\x0a}\x0a\x0afloat\x20_czm_permute(float\x20x)\x20{\x0a\x20\x20return\x20_czm_mod289(((x\x20*\x2034.0)\x20+\x201.0)\x20*\x20x);\x0a}\x0a\x0avec4\x20_czm_taylorInvSqrt(vec4\x20r)\x20{\x0a\x20\x20return\x201.79284291400159\x20-\x200.85373472095314\x20*\x20r;\x0a}\x0a\x0afloat\x20_czm_taylorInvSqrt(float\x20r)\x20{\x0a\x20\x20return\x201.79284291400159\x20-\x200.85373472095314\x20*\x20r;\x0a}\x0a\x0avec4\x20_czm_grad4(float\x20j,\x20vec4\x20ip)\x20{\x0a\x20\x20const\x20vec4\x20ones\x20=\x20vec4(1.0,\x201.0,\x201.0,\x20-1.0);\x0a\x20\x20vec4\x20p,\x20s;\x0a\x0a\x20\x20p.xyz\x20=\x20floor(fract(vec3(j)\x20*\x20ip.xyz)\x20*\x207.0)\x20*\x20ip.z\x20-\x201.0;\x0a\x20\x20p.w\x20=\x201.5\x20-\x20dot(abs(p.xyz),\x20ones.xyz);\x0a\x20\x20s\x20=\x20vec4(lessThan(p,\x20vec4(0.0)));\x0a\x20\x20p.xyz\x20=\x20p.xyz\x20+\x20(s.xyz\x20*\x202.0\x20-\x201.0)\x20*\x20s.www;\x0a\x0a\x20\x20return\x20p;\x0a}\x0a\x0a/**\x0a\x20*\x20DOC_TBA\x0a\x20*\x0a\x20*\x20Implemented\x20by\x20Ian\x20McEwan,\x20Ashima\x20Arts,\x20and\x20distributed\x20under\x20the\x20MIT\x20License.\x20\x20{@link\x20https://github.com/ashima/webgl-noise}\x0a\x20*\x0a\x20*\x20@name\x20czm_snoise\x0a\x20*\x20@glslFunction\x0a\x20*\x0a\x20*\x20@see\x20<a\x20href=\x22https://github.com/ashima/webgl-noise\x22>https://github.com/ashima/webgl-noise</a>\x0a\x20*\x20@see\x20Stefan\x20Gustavson\x27s\x20paper\x20<a\x20href=\x22http://www.itn.liu.se/~stegu/simplexnoise/simplexnoise.pdf\x22>Simplex\x20noise\x20demystified</a>\x0a\x20*/\x0afloat\x20czm_snoise(vec2\x20v)\x20{\x0a\x20\x20const\x20vec4\x20C\x20=\x20vec4(0.211324865405187,\x20\x20//\x20(3.0-sqrt(3.0))/6.0\x0a\x20\x200.366025403784439,\x20\x20//\x200.5*(sqrt(3.0)-1.0)\x0a\x20\x20-0.577350269189626,\x20\x20//\x20-1.0\x20+\x202.0\x20*\x20C.x\x0a\x20\x200.024390243902439);\x20//\x201.0\x20/\x2041.0\x0a\x20\x20\x20\x20//\x20First\x20corner\x0a\x20\x20vec2\x20i\x20=\x20floor(v\x20+\x20dot(v,\x20C.yy));\x0a\x20\x20vec2\x20x0\x20=\x20v\x20-\x20i\x20+\x20dot(i,\x20C.xx);\x0a\x0a\x20\x20\x20\x20//\x20Other\x20corners\x0a\x20\x20vec2\x20i1;\x0a\x20\x20\x20\x20//i1.x\x20=\x20step(\x20x0.y,\x20x0.x\x20);\x20//\x20x0.x\x20>\x20x0.y\x20?\x201.0\x20:\x200.0\x0a\x20\x20\x20\x20//i1.y\x20=\x201.0\x20-\x20i1.x;\x0a\x20\x20i1\x20=\x20(x0.x\x20>\x20x0.y)\x20?\x20vec2(1.0,\x200.0)\x20:\x20vec2(0.0,\x201.0);\x0a\x20\x20\x20\x20//\x20x0\x20=\x20x0\x20-\x200.0\x20+\x200.0\x20*\x20C.xx\x20;\x0a\x20\x20\x20\x20//\x20x1\x20=\x20x0\x20-\x20i1\x20+\x201.0\x20*\x20C.xx\x20;\x0a\x20\x20\x20\x20//\x20x2\x20=\x20x0\x20-\x201.0\x20+\x202.0\x20*\x20C.xx\x20;\x0a\x20\x20vec4\x20x12\x20=\x20x0.xyxy\x20+\x20C.xxzz;\x0a\x20\x20x12.xy\x20-=\x20i1;\x0a\x0a\x20\x20\x20\x20//\x20Permutations\x0a\x20\x20i\x20=\x20_czm_mod289(i);\x20//\x20Avoid\x20truncation\x20effects\x20in\x20permutation\x0a\x20\x20vec3\x20p\x20=\x20_czm_permute(_czm_permute(i.y\x20+\x20vec3(0.0,\x20i1.y,\x201.0))\x20+\x20i.x\x20+\x20vec3(0.0,\x20i1.x,\x201.0));\x0a\x0a\x20\x20vec3\x20m\x20=\x20max(0.5\x20-\x20vec3(dot(x0,\x20x0),\x20dot(x12.xy,\x20x12.xy),\x20dot(x12.zw,\x20x12.zw)),\x200.0);\x0a\x20\x20m\x20=\x20m\x20*\x20m;\x0a\x20\x20m\x20=\x20m\x20*\x20m;\x0a\x0a\x20\x20\x20\x20//\x20Gradients:\x2041\x20points\x20uniformly\x20over\x20a\x20line,\x20mapped\x20onto\x20a\x20diamond.\x0a\x20\x20\x20\x20//\x20The\x20ring\x20size\x2017*17\x20=\x20289\x20is\x20close\x20to\x20a\x20multiple\x20of\x2041\x20(41*7\x20=\x20287)\x0a\x20\x20vec3\x20x\x20=\x202.0\x20*\x20fract(p\x20*\x20C.www)\x20-\x201.0;\x0a\x20\x20vec3\x20h\x20=\x20abs(x)\x20-\x200.5;\x0a\x20\x20vec3\x20ox\x20=\x20floor(x\x20+\x200.5);\x0a\x20\x20vec3\x20a0\x20=\x20x\x20-\x20ox;\x0a\x0a\x20\x20\x20\x20//\x20Normalise\x20gradients\x20implicitly\x20by\x20scaling\x20m\x0a\x20\x20\x20\x20//\x20Approximation\x20of:\x20m\x20*=\x20inversesqrt(\x20a0*a0\x20+\x20h*h\x20);\x0a\x20\x20m\x20*=\x201.79284291400159\x20-\x200.85373472095314\x20*\x20(a0\x20*\x20a0\x20+\x20h\x20*\x20h);\x0a\x0a\x20\x20\x20\x20//\x20Compute\x20final\x20noise\x20value\x20at\x20P\x0a\x20\x20vec3\x20g;\x0a\x20\x20g.x\x20=\x20a0.x\x20*\x20x0.x\x20+\x20h.x\x20*\x20x0.y;\x0a\x20\x20g.yz\x20=\x20a0.yz\x20*\x20x12.xz\x20+\x20h.yz\x20*\x20x12.yw;\x0a\x20\x20return\x20130.0\x20*\x20dot(m,\x20g);\x0a}\x0a\x0afloat\x20czm_snoise(vec3\x20v)\x20{\x0a\x20\x20const\x20vec2\x20C\x20=\x20vec2(1.0\x20/\x206.0,\x201.0\x20/\x203.0);\x0a\x20\x20const\x20vec4\x20D\x20=\x20vec4(0.0,\x200.5,\x201.0,\x202.0);\x0a\x0a\x20\x20\x20\x20//\x20First\x20corner\x0a\x20\x20vec3\x20i\x20=\x20floor(v\x20+\x20dot(v,\x20C.yyy));\x0a\x20\x20vec3\x20x0\x20=\x20v\x20-\x20i\x20+\x20dot(i,\x20C.xxx);\x0a\x0a\x20\x20\x20\x20//\x20Other\x20corners\x0a\x20\x20vec3\x20g\x20=\x20step(x0.yzx,\x20x0.xyz);\x0a\x20\x20vec3\x20l\x20=\x201.0\x20-\x20g;\x0a\x20\x20vec3\x20i1\x20=\x20min(g.xyz,\x20l.zxy);\x0a\x20\x20vec3\x20i2\x20=\x20max(g.xyz,\x20l.zxy);\x0a\x0a\x20\x20vec3\x20x1\x20=\x20x0\x20-\x20i1\x20+\x20C.xxx;\x0a\x20\x20vec3\x20x2\x20=\x20x0\x20-\x20i2\x20+\x20C.yyy;\x20//\x202.0*C.x\x20=\x201/3\x20=\x20C.y\x0a\x20\x20vec3\x20x3\x20=\x20x0\x20-\x20D.yyy;\x20\x20\x20\x20\x20\x20//\x20-1.0+3.0*C.x\x20=\x20-0.5\x20=\x20-D.y\x0a\x0a\x20\x20\x20\x20//\x20Permutations\x0a\x20\x20i\x20=\x20_czm_mod289(i);\x0a\x20\x20vec4\x20p\x20=\x20_czm_permute(_czm_permute(_czm_permute(i.z\x20+\x20vec4(0.0,\x20i1.z,\x20i2.z,\x201.0))\x20+\x20i.y\x20+\x20vec4(0.0,\x20i1.y,\x20i2.y,\x201.0))\x20+\x20i.x\x20+\x20vec4(0.0,\x20i1.x,\x20i2.x,\x201.0));\x0a\x0a\x20\x20\x20\x20//\x20Gradients:\x207x7\x20points\x20over\x20a\x20square,\x20mapped\x20onto\x20an\x20octahedron.\x0a\x20\x20\x20\x20//\x20The\x20ring\x20size\x2017*17\x20=\x20289\x20is\x20close\x20to\x20a\x20multiple\x20of\x2049\x20(49*6\x20=\x20294)\x0a\x20\x20float\x20n_\x20=\x200.142857142857;\x20//\x201.0/7.0\x0a\x20\x20vec3\x20ns\x20=\x20n_\x20*\x20D.wyz\x20-\x20D.xzx;\x0a\x0a\x20\x20vec4\x20j\x20=\x20p\x20-\x2049.0\x20*\x20floor(p\x20*\x20ns.z\x20*\x20ns.z);\x20\x20//\x20\x20mod(p,7*7)\x0a\x0a\x20\x20vec4\x20x_\x20=\x20floor(j\x20*\x20ns.z);\x0a\x20\x20vec4\x20y_\x20=\x20floor(j\x20-\x207.0\x20*\x20x_);\x20\x20\x20\x20//\x20mod(j,N)\x0a\x0a\x20\x20vec4\x20x\x20=\x20x_\x20*\x20ns.x\x20+\x20ns.yyyy;\x0a\x20\x20vec4\x20y\x20=\x20y_\x20*\x20ns.x\x20+\x20ns.yyyy;\x0a\x20\x20vec4\x20h\x20=\x201.0\x20-\x20abs(x)\x20-\x20abs(y);\x0a\x0a\x20\x20vec4\x20b0\x20=\x20vec4(x.xy,\x20y.xy);\x0a\x20\x20vec4\x20b1\x20=\x20vec4(x.zw,\x20y.zw);\x0a\x0a\x20\x20\x20\x20//vec4\x20s0\x20=\x20vec4(lessThan(b0,0.0))*2.0\x20-\x201.0;\x0a\x20\x20\x20\x20//vec4\x20s1\x20=\x20vec4(lessThan(b1,0.0))*2.0\x20-\x201.0;\x0a\x20\x20vec4\x20s0\x20=\x20floor(b0)\x20*\x202.0\x20+\x201.0;\x0a\x20\x20vec4\x20s1\x20=\x20floor(b1)\x20*\x202.0\x20+\x201.0;\x0a\x20\x20vec4\x20sh\x20=\x20-step(h,\x20vec4(0.0));\x0a\x0a\x20\x20vec4\x20a0\x20=\x20b0.xzyw\x20+\x20s0.xzyw\x20*\x20sh.xxyy;\x0a\x20\x20vec4\x20a1\x20=\x20b1.xzyw\x20+\x20s1.xzyw\x20*\x20sh.zzww;\x0a\x0a\x20\x20vec3\x20p0\x20=\x20vec3(a0.xy,\x20h.x);\x0a\x20\x20vec3\x20p1\x20=\x20vec3(a0.zw,\x20h.y);\x0a\x20\x20vec3\x20p2\x20=\x20vec3(a1.xy,\x20h.z);\x0a\x20\x20vec3\x20p3\x20=\x20vec3(a1.zw,\x20h.w);\x0a\x0a\x20\x20\x20\x20//Normalise\x20gradients\x0a\x20\x20vec4\x20norm\x20=\x20_czm_taylorInvSqrt(vec4(dot(p0,\x20p0),\x20dot(p1,\x20p1),\x20dot(p2,\x20p2),\x20dot(p3,\x20p3)));\x0a\x20\x20p0\x20*=\x20norm.x;\x0a\x20\x20p1\x20*=\x20norm.y;\x0a\x20\x20p2\x20*=\x20norm.z;\x0a\x20\x20p3\x20*=\x20norm.w;\x0a\x0a\x20\x20\x20\x20//\x20Mix\x20final\x20noise\x20value\x0a\x20\x20vec4\x20m\x20=\x20max(0.6\x20-\x20vec4(dot(x0,\x20x0),\x20dot(x1,\x20x1),\x20dot(x2,\x20x2),\x20dot(x3,\x20x3)),\x200.0);\x0a\x20\x20m\x20=\x20m\x20*\x20m;\x0a\x20\x20return\x2042.0\x20*\x20dot(m\x20*\x20m,\x20vec4(dot(p0,\x20x0),\x20dot(p1,\x20x1),\x20dot(p2,\x20x2),\x20dot(p3,\x20x3)));\x0a}\x0a\x0afloat\x20czm_snoise(vec4\x20v)\x20{\x0a\x20\x20const\x20vec4\x20C\x20=\x20vec4(0.138196601125011,\x20\x20//\x20(5\x20-\x20sqrt(5))/20\x20\x20G4\x0a\x20\x200.276393202250021,\x20\x20//\x202\x20*\x20G4\x0a\x20\x200.414589803375032,\x20\x20//\x203\x20*\x20G4\x0a\x20\x20-0.447213595499958);\x20//\x20-1\x20+\x204\x20*\x20G4\x0a\x0a\x20\x20\x20\x20//\x20(sqrt(5)\x20-\x201)/4\x20=\x20F4,\x20used\x20once\x20below\x0a\x20\x20\x20\x20#define\x20F4\x200.309016994374947451\x0a\x0a\x20\x20\x20\x20//\x20First\x20corner\x0a\x20\x20vec4\x20i\x20=\x20floor(v\x20+\x20dot(v,\x20vec4(F4)));\x0a\x20\x20vec4\x20x0\x20=\x20v\x20-\x20i\x20+\x20dot(i,\x20C.xxxx);\x0a\x0a\x20\x20\x20\x20//\x20Other\x20corners\x0a\x0a\x20\x20\x20\x20//\x20Rank\x20sorting\x20originally\x20contributed\x20by\x20Bill\x20Licea-Kane,\x20AMD\x20(formerly\x20ATI)\x0a\x20\x20vec4\x20i0;\x0a\x20\x20vec3\x20isX\x20=\x20step(x0.yzw,\x20x0.xxx);\x0a\x20\x20vec3\x20isYZ\x20=\x20step(x0.zww,\x20x0.yyz);\x0a\x20\x20\x20\x20//\x20\x20i0.x\x20=\x20dot(\x20isX,\x20vec3(\x201.0\x20)\x20);\x0a\x20\x20i0.x\x20=\x20isX.x\x20+\x20isX.y\x20+\x20isX.z;\x0a\x20\x20i0.yzw\x20=\x201.0\x20-\x20isX;\x0a\x20\x20\x20\x20//\x20\x20i0.y\x20+=\x20dot(\x20isYZ.xy,\x20vec2(\x201.0\x20)\x20);\x0a\x20\x20i0.y\x20+=\x20isYZ.x\x20+\x20isYZ.y;\x0a\x20\x20i0.zw\x20+=\x201.0\x20-\x20isYZ.xy;\x0a\x20\x20i0.z\x20+=\x20isYZ.z;\x0a\x20\x20i0.w\x20+=\x201.0\x20-\x20isYZ.z;\x0a\x0a\x20\x20\x20\x20//\x20i0\x20now\x20contains\x20the\x20unique\x20values\x200,1,2,3\x20in\x20each\x20channel\x0a\x20\x20vec4\x20i3\x20=\x20clamp(i0,\x200.0,\x201.0);\x0a\x20\x20vec4\x20i2\x20=\x20clamp(i0\x20-\x201.0,\x200.0,\x201.0);\x0a\x20\x20vec4\x20i1\x20=\x20clamp(i0\x20-\x202.0,\x200.0,\x201.0);\x0a\x0a\x20\x20\x20\x20//\x20\x20x0\x20=\x20x0\x20-\x200.0\x20+\x200.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x1\x20=\x20x0\x20-\x20i1\x20\x20+\x201.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x2\x20=\x20x0\x20-\x20i2\x20\x20+\x202.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x3\x20=\x20x0\x20-\x20i3\x20\x20+\x203.0\x20*\x20C.xxxx\x0a\x20\x20\x20\x20//\x20\x20x4\x20=\x20x0\x20-\x201.0\x20+\x204.0\x20*\x20C.xxxx\x0a\x20\x20vec4\x20x1\x20=\x20x0\x20-\x20i1\x20+\x20C.xxxx;\x0a\x20\x20vec4\x20x2\x20=\x20x0\x20-\x20i2\x20+\x20C.yyyy;\x0a\x20\x20vec4\x20x3\x20=\x20x0\x20-\x20i3\x20+\x20C.zzzz;\x0a\x20\x20vec4\x20x4\x20=\x20x0\x20+\x20C.wwww;\x0a\x0a\x20\x20\x20\x20//\x20Permutations\x0a\x20\x20i\x20=\x20_czm_mod289(i);\x0a\x20\x20float\x20j0\x20=\x20_czm_permute(_czm_permute(_czm_permute(_czm_permute(i.w)\x20+\x20i.z)\x20+\x20i.y)\x20+\x20i.x);\x0a\x20\x20vec4\x20j1\x20=\x20_czm_permute(_czm_permute(_czm_permute(_czm_permute(i.w\x20+\x20vec4(i1.w,\x20i2.w,\x20i3.w,\x201.0))\x20+\x20i.z\x20+\x20vec4(i1.z,\x20i2.z,\x20i3.z,\x201.0))\x20+\x20i.y\x20+\x20vec4(i1.y,\x20i2.y,\x20i3.y,\x201.0))\x20+\x20i.x\x20+\x20vec4(i1.x,\x20i2.x,\x20i3.x,\x201.0));\x0a\x0a\x20\x20\x20\x20//\x20Gradients:\x207x7x6\x20points\x20over\x20a\x20cube,\x20mapped\x20onto\x20a\x204-cross\x20polytope\x0a\x20\x20\x20\x20//\x207*7*6\x20=\x20294,\x20which\x20is\x20close\x20to\x20the\x20ring\x20size\x2017*17\x20=\x20289.\x0a\x20\x20vec4\x20ip\x20=\x20vec4(1.0\x20/\x20294.0,\x201.0\x20/\x2049.0,\x201.0\x20/\x207.0,\x200.0);\x0a\x0a\x20\x20vec4\x20p0\x20=\x20_czm_grad4(j0,\x20ip);\x0a\x20\x20vec4\x20p1\x20=\x20_czm_grad4(j1.x,\x20ip);\x0a\x20\x20vec4\x20p2\x20=\x20_czm_grad4(j1.y,\x20ip);\x0a\x20\x20vec4\x20p3\x20=\x20_czm_grad4(j1.z,\x20ip);\x0a\x20\x20vec4\x20p4\x20=\x20_czm_grad4(j1.w,\x20ip);\x0a\x0a\x20\x20\x20\x20//\x20Normalise\x20gradients\x0a\x20\x20vec4\x20norm\x20=\x20_czm_taylorInvSqrt(vec4(dot(p0,\x20p0),\x20dot(p1,\x20p1),\x20dot(p2,\x20p2),\x20dot(p3,\x20p3)));\x0a\x20\x20p0\x20*=\x20norm.x;\x0a\x20\x20p1\x20*=\x20norm.y;\x0a\x20\x20p2\x20*=\x20norm.z;\x0a\x20\x20p3\x20*=\x20norm.w;\x0a\x20\x20p4\x20*=\x20_czm_taylorInvSqrt(dot(p4,\x20p4));\x0a\x0a\x20\x20\x20\x20//\x20Mix\x20contributions\x20from\x20the\x20five\x20corners\x0a\x20\x20vec3\x20m0\x20=\x20max(0.6\x20-\x20vec3(dot(x0,\x20x0),\x20dot(x1,\x20x1),\x20dot(x2,\x20x2)),\x200.0);\x0a\x20\x20vec2\x20m1\x20=\x20max(0.6\x20-\x20vec2(dot(x3,\x20x3),\x20dot(x4,\x20x4)),\x200.0);\x0a\x20\x20m0\x20=\x20m0\x20*\x20m0;\x0a\x20\x20m1\x20=\x20m1\x20*\x20m1;\x0a\x20\x20return\x2049.0\x20*\x20(dot(m0\x20*\x20m0,\x20vec3(dot(p0,\x20x0),\x20dot(p1,\x20x1),\x20dot(p2,\x20x2)))\x20+\x20dot(m1\x20*\x20m1,\x20vec2(dot(p3,\x20x3),\x20dot(p4,\x20x4))));\x0a}\x0a',LineDotDashMaterial=_0x2b6441(0xf5e,0x55f),LineFlowMaterial=_0x2b6441(-0x1fd,0x875),LineFlowColorMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20startTime;\x0auniform\x20float\x20percent;\x0auniform\x20float\x20alpha;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20t\x20=\x20fract(startTime\x20+\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x20\x20t\x20*=\x20(1.0\x20+\x20percent);\x0a\x20\x20float\x20alphaMars3D\x20=\x20smoothstep(t\x20-\x20percent,\x20t,\x20st.s)\x20*\x20step(-t,\x20-st.s);\x0a\x20\x20alphaMars3D\x20+=\x20alpha;\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20alphaMars3D\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',ODLineMaterial='uniform\x20vec4\x20color;\x0auniform\x20vec4\x20bgColor;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20startTime;\x0auniform\x20float\x20bidirectional;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20t\x20=\x20fract(startTime\x20+\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x0a\x20\x20t\x20*=\x201.03;\x0a\x20\x20float\x20alpha0\x20=\x20smoothstep(t\x20-\x200.03,\x20t,\x20st.s)\x20*\x20step(st.s,\x20t);\x0a\x20\x20float\x20mt\x20=\x201.\x20-\x20t;\x0a\x20\x20float\x20alphaMars3D\x20=\x20smoothstep(mt\x20+\x200.03,\x20mt,\x20st.s)\x20*\x20step(mt,\x20st.s);\x0a\x0a\x20\x20float\x20a0\x20=\x20step(abs(bidirectional\x20-\x200.0)\x20-\x200.001,\x200.);\x0a\x20\x20float\x20a1\x20=\x20step(abs(bidirectional\x20-\x201.0)\x20-\x200.001,\x200.);\x0a\x20\x20float\x20db\x20=\x20step(abs(bidirectional\x20-\x202.0)\x20-\x200.001,\x200.);\x0a\x20\x20float\x20alpha\x20=\x20alpha0\x20*\x20(a0\x20+\x20db)\x20+\x20alphaMars3D\x20*\x20(a1\x20+\x20db);\x0a\x20\x20alpha\x20=\x20clamp(alpha,\x200.,\x201.);\x0a\x0a\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x20alpha\x20+\x20bgColor.rgb\x20*\x20(1.\x20-\x20alpha);\x0a\x20\x20material.alpha\x20=\x20(color.a\x20*\x20alpha\x20+\x20bgColor.a\x20*\x20(1.\x20-\x20alpha))\x20*\x20globalAlpha;\x0a\x0a\x20\x20\x20\x20//\x20if\x20(useImageAndRepeat.x\x20!=\x200.)\x20{\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20float\x20repeat\x20=\x20useImageAndRepeat.y;\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20vec4\x20marsImageColor\x20=\x20texture(image,\x20fract(vec2(fract((st.s-t)*repeat),\x20st.t)));\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20material.diffuse\x20=\x20marsImageColor.rgb;\x0a\x20\x20\x20\x20//\x20\x20\x20\x20\x20material.alpha\x20=\x20marsImageColor.a;\x0a\x20\x20\x20\x20//\x20}\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',LineFlickerMaterial=_0x306755(0x19a0,0x1007),LineTrailMaterial='uniform\x20vec4\x20bgColor;\x0auniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20time\x20=\x20fract(czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x0a\x20\x20vec3\x20colorMars3D\x20=\x20color.rgb;\x0a\x20\x20if(st.t\x20>\x200.45\x20&&\x20st.t\x20<\x200.55)\x20{\x0a\x20\x20\x20\x20colorMars3D\x20=\x20vec3(1.0);\x0a\x20\x20}\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x201.5\x20*\x20smoothstep(.0,\x201.,\x20fract(st.s\x20-\x20time));\x0a\x20\x20material.diffuse\x20=\x20max(colorMars3D.rgb\x20*\x20material.alpha,\x20colorMars3D.rgb);\x0a\x0a\x20\x20if(material.alpha\x20<\x20bgColor.a)\x20{\x0a\x20\x20\x20\x20material.alpha\x20=\x20bgColor.a;\x0a\x20\x20\x20\x20material.diffuse\x20=\x20bgColor.rgb;\x0a\x20\x20}\x0a\x20\x20material.alpha\x20=\x20material.alpha\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',LineBloomMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20glow;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20t\x20=\x20fract(speed\x20*\x20czm_frameNumber\x20/\x201000.0);\x0a\x20\x20t\x20*=\x201.03;\x0a\x0a\x20\x20float\x20alphaMars3D\x20=\x20smoothstep(t\x20-\x200.03,\x20t,\x20st.s)\x20*\x20step(-t,\x20-st.s);\x0a\x20\x20alphaMars3D\x20+=\x200.1;\x0a\x0a\x20\x20vec4\x20fragColor;\x0a\x20\x20fragColor.rgb\x20=\x20(color.rgb)\x20/\x200.5;\x0a\x20\x20fragColor\x20=\x20czm_gammaCorrect(fragColor);\x0a\x20\x20material.diffuse\x20=\x20fragColor.rgb;\x0a\x20\x20material.alpha\x20=\x20alphaMars3D\x20*\x20globalAlpha;\x0a\x20\x20material.emission\x20=\x20fragColor.rgb\x20*\x20glow;\x0a\x20\x20return\x20material;\x0a}\x0a',DigitalFlowMaterial='uniform\x20float\x20globalAlpha;\x0a\x0afloat\x20plot(float\x20st,\x20float\x20pct)\x20{\x0a\x20\x20return\x20smoothstep(pct,\x20pct,\x20st)\x20-\x20smoothstep(pct,\x20pct\x20+\x200.5,\x20st);\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20time2\x20=\x20czm_frameNumber\x20/\x20speed;\x0a\x20\x20vec4\x20colorImage\x20=\x20texture(image,\x20vec2(fract(st.s),\x20fract(float(st.t\x20*\x20segment)\x20-\x20time2)));\x0a\x20\x20float\x20percent\x20=\x20distance(st.y,\x20.5)\x20/\x200.9;\x0a\x20\x20float\x20distance\x20=\x20length(vec2(st.x,\x20st.y));\x0a\x20\x20float\x20pfMars3D\x20=\x20plot(distance,\x20fract(czm_frameNumber\x20/\x20200.0)\x20*\x2010.);\x0a\x20\x20vec4\x20gradient\x20=\x20mix(vec4(1.0,\x201.0,\x201.0,\x201.0),\x20vec4(pfMars3D,\x20pfMars3D,\x20pfMars3D,\x201.0),\x200.8);\x0a\x20\x20float\x20alpha\x20=\x20(colorImage.a\x20*\x20(1.0\x20-\x20percent));\x0a\x20\x20vec3\x20diffuse\x20=\x20max(color.rgb\x20*\x20alpha\x20*\x20glow,\x20color.rgb);\x0a\x0a\x20\x20if(flowGlow\x20==\x201.0)\x20{\x0a\x20\x20\x20\x20vec4\x20rgba\x20=\x20mix(vec4(diffuse,\x20alpha),\x20gradient,\x20pfMars3D);\x0a\x20\x20\x20\x20material.diffuse\x20=\x20rgba.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20rgba.a\x20*\x20globalAlpha;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20diffuse;\x0a\x20\x20\x20\x20material.alpha\x20=\x20alpha\x20*\x20globalAlpha;\x0a\x20\x20}\x0a\x20\x20return\x20material;\x0a}\x0a',LineThreeDashMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20dashLength;\x0auniform\x20float\x20dashPattern;\x0a\x0auniform\x20vec4\x20sidesColor;\x0auniform\x20float\x20sidesDashLength;\x0auniform\x20float\x20globalAlpha;\x0a\x0ain\x20float\x20v_polylineAngle;\x0a\x0aconst\x20float\x20maskLength\x20=\x2016.0;\x0a\x0amat2\x20rotateMars3D(float\x20rad)\x20{\x0a\x20\x20float\x20c\x20=\x20cos(rad);\x0a\x20\x20float\x20s\x20=\x20sin(rad);\x0a\x20\x20return\x20mat2(c,\x20s,\x20-s,\x20c);\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20vec2\x20pos\x20=\x20rotateMars3D(v_polylineAngle)\x20*\x20gl_FragCoord.xy;\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x0a\x20\x20float\x20centerGlow\x20=\x20widthRatio\x20/\x20abs(st.t\x20-\x200.5)\x20-\x20(widthRatio\x20/\x200.5)\x20-\x201.0;\x0a\x20\x20if(centerGlow\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20float\x20dashPosition\x20=\x20fract(pos.x\x20/\x20(dashLength\x20*\x20czm_pixelRatio));\x0a\x20\x20\x20\x20float\x20maskIndex\x20=\x20floor(dashPosition\x20*\x20maskLength);\x0a\x20\x20\x20\x20float\x20maskTest\x20=\x20floor(dashPattern\x20/\x20pow(2.0,\x20maskIndex));\x0a\x20\x20\x20\x20if((mod(maskTest,\x202.0)\x20<\x201.0))\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20material.emission\x20=\x20color.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20color.a;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a\x20\x20float\x20sidesGlow\x20=\x20(1.0\x20-\x20sidesWidthRatio)\x20/\x20abs(st.t\x20-\x200.5)\x20-\x20((1.0\x20-\x20sidesWidthRatio)\x20/\x200.5)\x20-\x201.0;\x0a\x20\x20if(sidesGlow\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20float\x20dashPosition\x20=\x20fract(pos.x\x20/\x20(sidesDashLength\x20*\x20czm_pixelRatio));\x0a\x20\x20\x20\x20float\x20maskIndex\x20=\x20floor(dashPosition\x20*\x20maskLength);\x0a\x20\x20\x20\x20float\x20maskTest\x20=\x20floor(dashPattern\x20/\x20pow(2.0,\x20maskIndex));\x0a\x20\x20\x20\x20if((mod(maskTest,\x202.0)\x20<\x201.0))\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20material.emission\x20=\x20sidesColor.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20sidesColor.a*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a\x20\x20discard;\x0a}\x0a',LineCrossMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20dashLength;\x0auniform\x20float\x20dashPower;\x0auniform\x20float\x20centerPower;\x0auniform\x20float\x20dashPattern;\x0auniform\x20float\x20maskLength;\x0auniform\x20float\x20globalAlpha;\x0a\x0ain\x20float\x20v_polylineAngle;\x0a\x0amat2\x20rotateMars3D(float\x20rad)\x20{\x0a\x20\x20float\x20c\x20=\x20cos(rad);\x0a\x20\x20float\x20s\x20=\x20sin(rad);\x0a\x20\x20return\x20mat2(c,\x20s,\x20-s,\x20c);\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20vec2\x20pos\x20=\x20rotateMars3D(v_polylineAngle)\x20*\x20gl_FragCoord.xy;\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x0a\x20\x20float\x20centerGlowMars3D\x20=\x20dashPower\x20/\x20abs(st.t\x20-\x200.5)\x20-\x20(dashPower\x20/\x200.5)\x20-\x201.0;\x0a\x20\x20float\x20dashPositionMars3D\x20=\x20fract(pos.x\x20/\x20(dashLength\x20*\x20czm_pixelRatio));\x0a\x20\x20dashPositionMars3D\x20=\x20abs((dashPositionMars3D\x20-\x200.5)\x20*\x202.0);\x0a\x0a\x20\x20//\x20绘制虚线\x0a\x20\x20if(centerGlowMars3D\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20float\x20maskIndex\x20=\x20floor(dashPositionMars3D\x20*\x20maskLength);\x0a\x20\x20\x20\x20float\x20maskTest\x20=\x20floor(dashPattern\x20/\x20pow(2.0,\x20maskIndex));\x0a\x20\x20\x20\x20if((mod(maskTest,\x202.0)\x20<\x201.0))\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20material.emission\x20=\x20color.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a\x20\x20//\x20绘制中心线\x0a\x20\x20if(dashPositionMars3D\x20<\x20centerPower)\x20{\x0a\x20\x20\x20\x20material.emission\x20=\x20color.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a\x20\x20discard;\x0a}\x0a',LineDashArrowMaterial='uniform\x20vec4\x20color;\x0auniform\x20vec4\x20gapColor;\x0auniform\x20float\x20dashLength;\x0auniform\x20float\x20dashPattern;\x0ain\x20float\x20v_polylineAngle;\x0auniform\x20float\x20globalAlpha;\x0a\x0aconst\x20float\x20maskLength\x20=\x2016.0;\x0a\x0a//虚线用\x0amat2\x20rotate(float\x20rad)\x20{\x0a\x20\x20float\x20c\x20=\x20cos(rad);\x0a\x20\x20float\x20s\x20=\x20sin(rad);\x0a\x20\x20return\x20mat2(c,\x20s,\x20-s,\x20c);\x0a}\x0a\x0a//箭头用\x0afloat\x20getPointOnLine(vec2\x20p0,\x20vec2\x20p1,\x20float\x20x)\x20{\x0a\x20\x20float\x20slope\x20=\x20(p0.y\x20-\x20p1.y)\x20/\x20(p0.x\x20-\x20p1.x);\x0a\x20\x20return\x20slope\x20*\x20(x\x20-\x20p0.x)\x20+\x20p0.y;\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x0a\x20\x20#if\x20(__VERSION__\x20==\x20300\x20||\x20defined(GL_OES_standard_derivatives))\x0a\x20\x20\x20\x20float\x20swidth\x20=\x20abs(fwidth(st.s))\x20*\x2010.0\x20*\x20czm_pixelRatio;\x0a\x20\x20\x20\x20float\x20base\x20=\x201.0\x20-\x20swidth;\x0a\x20\x20\x20\x20float\x20maxSX\x20=\x201.0\x20-\x20swidth\x20*\x202.0;\x0a\x20\x20#else\x0a\x20\x20\x20\x20\x20\x20//\x20If\x20no\x20derivatives\x20available\x20(IE\x2010?),\x202.5%\x20of\x20the\x20line\x20will\x20be\x20the\x20arrow\x20head\x0a\x20\x20\x20\x20float\x20base\x20=\x200.975;\x0a\x20\x20\x20\x20float\x20maxSX\x20=\x200.95;\x0a\x20\x20#endif\x0a\x0a\x20\x20if(st.s\x20<\x20maxSX)\x20{\x0a\x20\x20\x20\x20//虚线部分\x0a\x20\x20\x20\x20vec2\x20pos\x20=\x20rotate(v_polylineAngle)\x20*\x20gl_FragCoord.xy;\x0a\x0a\x20\x20\x20\x20//\x20Get\x20the\x20relative\x20position\x20within\x20the\x20dash\x20from\x200\x20to\x201\x0a\x20\x20\x20\x20float\x20dashPosition\x20=\x20fract(pos.x\x20/\x20(dashLength\x20*\x20czm_pixelRatio));\x0a\x20\x20\x20\x20//\x20Figure\x20out\x20the\x20mask\x20index.\x0a\x20\x20\x20\x20float\x20maskIndex\x20=\x20floor(dashPosition\x20*\x20maskLength);\x0a\x20\x20\x20\x20//\x20Test\x20the\x20bit\x20mask.\x0a\x20\x20\x20\x20float\x20maskTest\x20=\x20floor(dashPattern\x20/\x20pow(2.0,\x20maskIndex));\x0a\x20\x20\x20\x20vec4\x20fragColor\x20=\x20(mod(maskTest,\x202.0)\x20<\x201.0)\x20?\x20gapColor\x20:\x20color;\x0a\x20\x20\x20\x20if(fragColor.a\x20<\x200.005)\x20{\x20\x20\x20//\x20matches\x200/255\x20and\x201/255\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20fragColor\x20=\x20czm_gammaCorrect(fragColor);\x0a\x20\x20\x20\x20material.emission\x20=\x20fragColor.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20fragColor.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20//箭头部分\x0a\x20\x20\x20\x20vec2\x20center\x20=\x20vec2(1.0,\x200.5);\x0a\x20\x20\x20\x20float\x20ptOnUpperLine\x20=\x20getPointOnLine(vec2(base,\x201.0),\x20center,\x20st.s);\x0a\x20\x20\x20\x20float\x20ptOnLowerLine\x20=\x20getPointOnLine(vec2(base,\x200.0),\x20center,\x20st.s);\x0a\x0a\x20\x20\x20\x20float\x20halfWidth\x20=\x200.15;\x0a\x20\x20\x20\x20float\x20s\x20=\x20step(0.5\x20-\x20halfWidth,\x20st.t);\x0a\x20\x20\x20\x20s\x20*=\x201.0\x20-\x20step(0.5\x20+\x20halfWidth,\x20st.t);\x0a\x20\x20\x20\x20s\x20*=\x201.0\x20-\x20step(base,\x20st.s);\x0a\x0a\x20\x20\x20\x20float\x20t\x20=\x20step(base,\x20materialInput.st.s);\x0a\x20\x20\x20\x20t\x20*=\x201.0\x20-\x20step(ptOnUpperLine,\x20st.t);\x0a\x20\x20\x20\x20t\x20*=\x20step(ptOnLowerLine,\x20st.t);\x0a\x0a\x20\x20\x20\x20//\x20Find\x20the\x20distance\x20from\x20the\x20closest\x20separator\x20(region\x20between\x20two\x20colors)\x0a\x20\x20\x20\x20float\x20dist;\x0a\x20\x20\x20\x20if(st.s\x20<\x20base)\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20d1\x20=\x20abs(st.t\x20-\x20(0.5\x20-\x20halfWidth));\x0a\x20\x20\x20\x20\x20\x20float\x20d2\x20=\x20abs(st.t\x20-\x20(0.5\x20+\x20halfWidth));\x0a\x20\x20\x20\x20\x20\x20dist\x20=\x20min(d1,\x20d2);\x0a\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20d1\x20=\x20czm_infinity;\x0a\x20\x20\x20\x20\x20\x20if(st.t\x20<\x200.5\x20-\x20halfWidth\x20&&\x20st.t\x20>\x200.5\x20+\x20halfWidth)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20d1\x20=\x20abs(st.s\x20-\x20base);\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20float\x20d2\x20=\x20abs(st.t\x20-\x20ptOnUpperLine);\x0a\x20\x20\x20\x20\x20\x20float\x20d3\x20=\x20abs(st.t\x20-\x20ptOnLowerLine);\x0a\x20\x20\x20\x20\x20\x20dist\x20=\x20min(min(d1,\x20d2),\x20d3);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20vec4\x20outsideColor\x20=\x20vec4(0.0);\x0a\x20\x20\x20\x20vec4\x20currentColor\x20=\x20mix(outsideColor,\x20color,\x20clamp(s\x20+\x20t,\x200.0,\x201.0));\x0a\x20\x20\x20\x20vec4\x20outColor\x20=\x20czm_antialias(outsideColor,\x20color,\x20currentColor,\x20dist);\x0a\x0a\x20\x20\x20\x20outColor\x20=\x20czm_gammaCorrect(outColor);\x0a\x20\x20\x20\x20material.diffuse\x20=\x20outColor.rgb;\x0a\x20\x20\x20\x20material.alpha\x20=\x20outColor.a\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20return\x20material;\x0a\x20\x20}\x0a\x0a}\x0a',WallScrollMaterial='uniform\x20sampler2D\x20image;\x0auniform\x20float\x20speed;\x0auniform\x20vec4\x20color;\x0auniform\x20float\x20count;\x0auniform\x20bool\x20axisY;\x0auniform\x20bool\x20reverse;\x0auniform\x20bool\x20bloom;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20time\x20=\x20fract(czm_frameNumber\x20*\x20speed\x20/\x201000.0);\x0a\x0a\x20\x20vec4\x20imageMars3D;\x0a\x20\x20if(axisY)\x20{\x0a\x20\x20\x20\x20if(reverse)\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.s\x20-\x20time)));\x0a\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.s\x20+\x20time)));\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20if(reverse)\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.t\x20-\x20time)));\x0a\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(float(count)\x20*\x20st.t\x20+\x20time)));\x0a\x20\x20}\x0a\x0a\x20\x20float\x20perDis\x20=\x201.0\x20/\x20count\x20/\x203.0;\x0a\x20\x20material.alpha\x20=\x20imageMars3D.a\x20*\x20color.a\x20*\x20smoothstep(.2,\x201.,\x20distance(st.t\x20*\x20perDis,\x201.\x20+\x20perDis))\x20*\x20globalAlpha;\x0a\x0a\x20\x20if(bloom)\x20{\x0a\x20\x20\x20\x20//泛光\x0a\x20\x20\x20\x20vec4\x20fragColor;\x0a\x20\x20\x20\x20fragColor.rgb\x20=\x20(imageMars3D.rgb\x20+\x20color.rgb)\x20/\x201.0;\x0a\x20\x20\x20\x20fragColor\x20=\x20czm_gammaCorrect(fragColor);\x0a\x0a\x20\x20\x20\x20material.diffuse\x20=\x20imageMars3D.rgb;\x0a\x20\x20\x20\x20material.emission\x20=\x20fragColor.rgb;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20max(color.rgb\x20*\x20material.alpha\x20*\x201.5,\x20color.rgb);\x0a\x20\x20\x20\x20material.emission\x20=\x20max(color.rgb\x20*\x20material.alpha\x20*\x201.5,\x20color.rgb);\x0a\x20\x20}\x0a\x20\x20return\x20material;\x0a}\x0a',ScanLineMaterial=_0x2b6441(0xfff,0x1094),CircleScanMaterial='uniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec4\x20imgMars3D\x20=\x20texture(image,\x20st);\x0a\x20\x20if(imgMars3D.a\x20>\x20.0)\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20}\x0a\x20\x20material.alpha\x20=\x20imgMars3D.a\x20*\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',CircleWaveMaterial=_0x306755(0x13cc,0xebf),RadarLineMaterial=_0x2b6441(-0x129,0x654),RadarWaveMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20globalAlpha;\x0a\x0a#define\x20PI\x203.14159265359\x0a\x0afloat\x20rand(vec2\x20co)\x20{\x0a\x20\x20return\x20fract(sin(dot(co.xy,\x20vec2(12.9898,\x2078.233)))\x20*\x2043758.5453);\x0a}\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec2\x20pos\x20=\x20st\x20-\x20vec2(0.5);\x0a\x20\x20float\x20time\x20=\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0;\x0a\x20\x20float\x20r\x20=\x20length(pos);\x0a\x20\x20float\x20t\x20=\x20atan(pos.y,\x20pos.x)\x20-\x20time\x20*\x202.5;\x0a\x20\x20float\x20a\x20=\x20(atan(sin(t),\x20cos(t))\x20+\x20PI)\x20/\x20(2.0\x20*\x20PI);\x0a\x20\x20float\x20ta\x20=\x200.5;\x0a\x20\x20float\x20v\x20=\x20smoothstep(ta\x20-\x200.05,\x20ta\x20+\x200.05,\x20a)\x20*\x20smoothstep(ta\x20+\x200.05,\x20ta\x20-\x200.05,\x20a);\x0a\x20\x20vec3\x20colorMars3D\x20=\x20color.rgb\x20*\x20v;\x0a\x20\x20float\x20blink\x20=\x20pow(sin(time\x20*\x201.5)\x20*\x200.5\x20+\x200.5,\x200.8);\x0a\x20\x20colorMars3D\x20=\x20color.rgb\x20*\x20pow(a,\x208.0\x20*\x20(.2\x20+\x20blink))\x20*\x20(sin(r\x20*\x20500.0)\x20*\x20.5\x20+\x20.5);\x0a\x20\x20colorMars3D\x20=\x20colorMars3D\x20*\x20pow(r,\x200.4);\x0a\x20\x20material.alpha\x20=\x20length(colorMars3D)\x20*\x201.3\x20*\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20material.diffuse\x20=\x20colorMars3D\x20*\x203.0;\x0a\x20\x20return\x20material;\x0a}\x0a',RectSlideMaterial='uniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec4\x20imageMars3D\x20=\x20texture(image,\x20vec2(fract(st.s\x20+\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0),\x20fract(st.t)));\x0a\x0a\x20\x20material.alpha\x20=\x20imageMars3D.a\x20*\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20if(pure)\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20diffusePower\x20*\x20color.rgb;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20imageMars3D.rgb;\x0a\x20\x20}\x0a\x20\x20return\x20material;\x0a}\x0a',EllipsoidElectricMaterial='precision\x20highp\x20float;\x0aprecision\x20highp\x20int;\x0a\x0a#define\x20pi\x203.1415926535\x0a#define\x20PI2RAD\x200.01745329252\x0a#define\x20TWO_PI\x20(2.\x20*\x20PI)\x0a\x0auniform\x20vec4\x20marscolor;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20globalAlpha;\x0a\x0afloat\x20time;\x0afloat\x20rands(float\x20p)\x20{\x0a\x20\x20return\x20fract(sin(p)\x20*\x2010000.0);\x0a}\x0afloat\x20noise(vec2\x20p)\x20{\x0a\x20\x20float\x20t\x20=\x20time\x20/\x2020000.0;\x0a\x20\x20if(t\x20>\x201.0)\x0a\x20\x20\x20\x20t\x20-=\x20floor(t);\x0a\x20\x20return\x20rands(p.x\x20*\x2014.\x20+\x20p.y\x20*\x20sin(t)\x20*\x200.5);\x0a}\x0avec2\x20sw(vec2\x20p)\x20{\x0a\x20\x20return\x20vec2(floor(p.x),\x20floor(p.y));\x0a}\x0avec2\x20se(vec2\x20p)\x20{\x0a\x20\x20return\x20vec2(ceil(p.x),\x20floor(p.y));\x0a}\x0avec2\x20nw(vec2\x20p)\x20{\x0a\x20\x20return\x20vec2(floor(p.x),\x20ceil(p.y));\x0a}\x0avec2\x20ne(vec2\x20p)\x20{\x0a\x20\x20return\x20vec2(ceil(p.x),\x20ceil(p.y));\x0a}\x0afloat\x20smoothNoise(vec2\x20p)\x20{\x0a\x20\x20vec2\x20inter\x20=\x20smoothstep(0.0,\x201.0,\x20fract(p));\x0a\x20\x20float\x20s\x20=\x20mix(noise(sw(p)),\x20noise(se(p)),\x20inter.x);\x0a\x20\x20float\x20n\x20=\x20mix(noise(nw(p)),\x20noise(ne(p)),\x20inter.x);\x0a\x20\x20return\x20mix(s,\x20n,\x20inter.y);\x0a}\x0afloat\x20fbmMars3D(vec2\x20p)\x20{\x0a\x20\x20float\x20z\x20=\x202.0;\x0a\x20\x20float\x20rz\x20=\x200.0;\x0a\x20\x20vec2\x20bp\x20=\x20p;\x0a\x20\x20for(float\x20i\x20=\x201.0;\x20i\x20<\x206.0;\x20i++)\x20{\x0a\x20\x20\x20\x20rz\x20+=\x20abs((smoothNoise(p)\x20-\x200.5)\x20*\x202.0)\x20/\x20z;\x0a\x20\x20\x20\x20z\x20*=\x202.0;\x0a\x20\x20\x20\x20p\x20*=\x202.0;\x0a\x20\x20}\x0a\x20\x20return\x20rz;\x0a}\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20vUv\x20=\x20materialInput.st;\x0a\x20\x20time\x20=\x20czm_frameNumber\x20*\x20speed\x20/\x20100.0;\x0a\x0a\x20\x20vec2\x20uv\x20=\x20vUv;\x0a\x20\x20vec2\x20uv2\x20=\x20vUv;\x0a\x20\x20//\x20if\x20(uv.y\x20<\x200.5)\x20{\x0a\x20\x20//\x20\x20\x20\x20\x20discard;\x0a\x20\x20//\x20}\x0a\x20\x20uv\x20*=\x204.;\x0a\x20\x20float\x20rz\x20=\x20fbmMars3D(uv);\x0a\x20\x20uv\x20/=\x20exp(mod(time\x20*\x202.0,\x20pi));\x0a\x20\x20rz\x20*=\x20pow(15.,\x201.0);\x0a\x20\x20vec4\x20marscolor\x20=\x20mix(vec4(color.rgb,\x201.0)\x20/\x20rz,\x20vec4(color.rgb,\x200.1),\x200.5);\x0a\x20\x20if(uv2.x\x20<\x200.05)\x20{\x0a\x20\x20\x20\x20marscolor\x20=\x20mix(vec4(color.rgb,\x200.1),\x20marscolor,\x20uv2.x\x20/\x200.05);\x0a\x20\x20}\x0a\x20\x20if(uv2.x\x20>\x200.95)\x20{\x0a\x20\x20\x20\x20marscolor\x20=\x20mix(marscolor,\x20vec4(color.rgb,\x200.1),\x20(uv2.x\x20-\x200.95)\x20/\x200.05);\x0a\x20\x20}\x0a\x0a\x20\x20material.alpha\x20=\x20marscolor.a\x20*\x202.0\x20*\x20globalAlpha;\x0a\x20\x20material.diffuse\x20=\x20max(marscolor.rgb\x20+\x20marscolor.rgb\x20*\x20material.alpha,\x20marscolor.rgb);\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',EllipsoidWaveMaterial=_0x2b6441(-0x313,0x4a7),PolyGradientMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20diffusePower;\x0auniform\x20float\x20alphaPower;\x0auniform\x20float\x20globalAlpha;\x0auniform\x20vec2\x20center;\x0auniform\x20bool\x20isInner;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20alphaMars3D\x20=\x20distance(st,\x20center);\x0a\x20\x20if(isInner)\x20{\x0a\x20\x20\x20\x20material.alpha\x20=\x20(1.0\x20-\x20(color.a\x20*\x20alphaMars3D\x20*\x20alphaPower))\x20*\x20globalAlpha;\x0a\x20\x20\x20\x20if(material.alpha\x20<\x200.0)\x0a\x20\x20\x20\x20\x20\x20material.alpha\x20=\x200.0;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20material.alpha\x20=\x20color.a\x20*\x20alphaMars3D\x20*\x20alphaPower\x20*\x20globalAlpha;\x0a\x20\x20}\x0a\x0a\x20\x20material.diffuse\x20=\x20color.rgb\x20*\x20diffusePower;\x0a\x20\x20return\x20material;\x0a}\x0a',AsphaltMaterial='uniform\x20vec4\x20color;\x0auniform\x20float\x20size;\x0auniform\x20float\x20frequency;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20//\x20From\x20Stefan\x20Gustavson\x27s\x20Procedural\x20Textures\x20in\x20GLSL\x20in\x20OpenGL\x20Insights\x0a\x20\x20//Main\x20cellular\x20pattern\x0a\x20\x20vec4\x20color\x20=\x20color;\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec2\x20F\x20=\x20czm_cellular(st\x20/\x20size);\x0a\x20\x20color.rgb\x20-=\x20(F.x\x20/\x20F.y)\x20*\x200.1;\x0a\x0a\x20\x20//Extra\x20bumps\x20for\x20frequency\x0a\x20\x20float\x20noiseMars3D\x20=\x20czm_snoise(st\x20/\x20size);\x0a\x20\x20noiseMars3D\x20=\x20pow(noiseMars3D,\x205.0)\x20*\x20frequency;\x0a\x20\x20color.rgb\x20+=\x20noiseMars3D;\x0a\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',BlobMaterial='uniform\x20vec4\x20evenColor;\x0auniform\x20vec4\x20oddColor;\x0auniform\x20float\x20frequency;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20//\x20From\x20Stefan\x20Gustavson\x27s\x20Procedural\x20Textures\x20in\x20GLSL\x20in\x20OpenGL\x20Insights\x0a\x20\x20vec2\x20F\x20=\x20czm_cellular(materialInput.st\x20*\x20frequency);\x0a\x20\x20float\x20t\x20=\x201.0\x20-\x20F.x\x20*\x20F.x;\x0a\x0a\x20\x20vec4\x20colorMars3D\x20=\x20mix(evenColor,\x20oddColor,\x20t);\x0a\x20\x20material.diffuse\x20=\x20colorMars3D.rgb;\x0a\x20\x20material.alpha\x20=\x20colorMars3D.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',FacetMaterial='uniform\x20vec4\x20evenColor;\x0auniform\x20vec4\x20oddColor;\x0auniform\x20float\x20frequency;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20//\x20From\x20Stefan\x20Gustavson\x27s\x20Procedural\x20Textures\x20in\x20GLSL\x20in\x20OpenGL\x20Insights\x0a\x20\x20vec2\x20F\x20=\x20czm_cellular(materialInput.st\x20*\x20frequency);\x0a\x20\x20float\x20t\x20=\x200.1\x20+\x20(F.y\x20-\x20F.x);\x0a\x0a\x20\x20vec4\x20colorMars3D\x20=\x20mix(evenColor,\x20oddColor,\x20t);\x0a\x20\x20material.diffuse\x20=\x20colorMars3D.rgb;\x0a\x20\x20material.alpha\x20=\x20colorMars3D.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',PolyGrassMaterial='uniform\x20vec4\x20evenColor;\x0auniform\x20vec4\x20oddColor;\x0auniform\x20float\x20frequency;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20noise1\x20=\x20(czm_snoise(st\x20*\x20frequency\x20*\x201.0))\x20*\x201.0;\x0a\x20\x20float\x20noise2\x20=\x20(czm_snoise(st\x20*\x20frequency\x20*\x202.0))\x20*\x200.5;\x0a\x20\x20float\x20noise3\x20=\x20(czm_snoise(st\x20*\x20frequency\x20*\x204.0))\x20*\x200.25;\x0a\x20\x20float\x20noise\x20=\x20sin(noise1\x20+\x20noise2\x20+\x20noise3)\x20*\x200.1;\x0a\x0a\x20\x20vec4\x20colorMars3D\x20=\x20mix(evenColor,\x20oddColor,\x20noise);\x0a\x0a\x20\x20//Make\x20thatch\x20patterns\x0a\x20\x20float\x20verticalNoise\x20=\x20czm_snoise(vec2(st.x\x20*\x20100.0,\x20st.y\x20*\x2020.0))\x20*\x200.02;\x0a\x20\x20float\x20horizontalNoise\x20=\x20czm_snoise(vec2(st.x\x20*\x2020.0,\x20st.y\x20*\x20100.0))\x20*\x200.02;\x0a\x20\x20float\x20stripeNoise\x20=\x20min(verticalNoise,\x20horizontalNoise);\x0a\x0a\x20\x20colorMars3D.rgb\x20+=\x20stripeNoise;\x0a\x0a\x20\x20material.diffuse\x20=\x20colorMars3D.rgb;\x0a\x20\x20material.alpha\x20=\x20colorMars3D.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20return\x20material;\x0a}\x0a',PolyWoodMaterial=_0x306755(0x14b8,0x14dc),WaterLightMaterial=_0x306755(0x1462,0x132f),NeonLightMaterial=_0x2b6441(0xcbe,0x306);Cesium__namespace[_0x2b6441(0x5ee,0xf25)][_0x2b6441(0x802,0x31)]['czm_cellular']=czm_cellular,Cesium__namespace['ShaderSource']['_czmBuiltinsAndUniforms'][_0x2b6441(0x1240,0x9f3)]=czm_snoise,register$4(LineDotDash,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x0,0x1,0x1),'gapColor':new Cesium__namespace['Color'](0x0,0x0,0x0,0x0),'dashLength':0x10,'dashPattern':0xff},'source':LineDotDashMaterial},'translucent':!![]}),register$4(LineFlow,{'fabric':{'uniforms':{'image':Cesium__namespace['Material']['DefaultImageId'],'color':new Cesium__namespace['Color'](0x1,0x1,0x1,0x0),'repeat':new Cesium__namespace[(_0x306755(0x3b7,0x4ec))](0x1,0x1),'axisY':![],'mixt':![],'speed':0xa,'time':-0x1,'hasImage2':![],'image2':Cesium__namespace[_0x306755(0x1926,0xf07)]['DefaultImageId'],'color2':new Cesium__namespace['Color'](0x1,0x1,0x1),'bgColor':Cesium__namespace['Color']['TRANSPARENT'],'globalAlpha':0x1},'source':LineFlowMaterial},'translucent':!![]}),register$4(LineFlowColor,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x0,0x0,0.7),'startTime':0x0,'speed':0x2,'percent':0.04,'alpha':0.1,'globalAlpha':0x1},'source':LineFlowColorMaterial},'translucent':!![]}),register$4(ODLine,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x306755(0x141b,0xf34))](0x1,0x1,0x0,0.7),'startTime':0x0,'speed':0x14,'bgColor':new Cesium__namespace[(_0x2b6441(0x12a4,0x993))](0x1,0x1,0x0,0.1),'bidirectional':0x0,'globalAlpha':0x1},'source':ODLineMaterial},'translucent':!![]}),register$4(LineFlicker,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x0,0x0,0.7),'speed':0xa,'globalAlpha':0x1},'source':LineFlickerMaterial},'translucent':!![]}),register$4(LineTrail,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x306755(0xa10,0xf34))](0x1,0x0,0x0,0.7),'bgColor':new Cesium__namespace[(_0x2b6441(0xfc4,0x993))](0x0,0x0,0x0,0x0),'speed':0x5,'globalAlpha':0x1},'source':LineTrailMaterial},'translucent':!![]});const _0x3296df={};_0x3296df[_0x306755(0x18af,0xeaf)]=Cesium__namespace['Color']['ORANGE'],_0x3296df['glow']=0x1,_0x3296df[_0x2b6441(0x5e5,0x8d9)]=0x5,_0x3296df['globalAlpha']=0x1;const _0x368d17={};_0x368d17[_0x2b6441(0x138d,0xc79)]=_0x3296df,_0x368d17[_0x306755(-0x219,0x7b5)]=LineBloomMaterial;const _0x1dd793={};_0x1dd793[_0x2b6441(0x168a,0xc8a)]=_0x368d17,_0x1dd793[_0x306755(0x1868,0x18de)]=!![],register$4(LineBloom,_0x1dd793),register$4(DigitalFlow,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x0,0x0,0x0,0.8),'image':Cesium__namespace[_0x2b6441(0x1e3,0x966)]['DefaultImageId'],'speed':0xa,'glow':0xa,'flowGlow':0x1,'segment':0x3,'globalAlpha':0x1},'source':DigitalFlowMaterial},'translucent':!![]});const _0xd631dc={};_0xd631dc['color']=Cesium__namespace['Color']['RED'],_0xd631dc['dashLength']=0x40,_0xd631dc['widthRatio']=0.1,_0xd631dc['sidesColor']=Cesium__namespace['Color']['WHITE'],_0xd631dc['sidesDashLength']=0x20,_0xd631dc['sidesWidthRatio']=0.1,_0xd631dc[_0x2b6441(0x990,0xbef)]=0xff,_0xd631dc['globalAlpha']=0x1;const _0x4de2fe={};_0x4de2fe[_0x306755(0x8c1,0x121a)]=_0xd631dc,_0x4de2fe['source']=LineThreeDashMaterial;const _0x31bffc={};_0x31bffc['fabric']=_0x4de2fe,_0x31bffc['translucent']=!![],register$4(LineThreeDash,_0x31bffc);const _0x165ad0={};_0x165ad0['color']=Cesium__namespace[_0x2b6441(0xd7c,0x993)]['WHITE'],_0x165ad0['dashLength']=0x24,_0x165ad0['maskLength']=0xa,_0x165ad0[_0x306755(0x14e,0x890)]=0.1,_0x165ad0[_0x2b6441(0x9c1,0x1407)]=0.2,_0x165ad0[_0x2b6441(0xd73,0xbef)]=0xff,_0x165ad0[_0x306755(0x21ed,0x17be)]=0x1;const _0x583882={};_0x583882['uniforms']=_0x165ad0,_0x583882['source']=LineCrossMaterial;const _0x532603={};_0x532603[_0x306755(0xd37,0x122b)]=_0x583882,_0x532603['translucent']=!![],register$4(LineCross,_0x532603);const _0x1d5a85={};_0x1d5a85['color']=Cesium__namespace['Color']['WHITE'],_0x1d5a85['gapColor']=Cesium__namespace[_0x2b6441(0x10b7,0x993)]['TRANSPARENT'],_0x1d5a85['dashLength']=0x10,_0x1d5a85[_0x306755(0x828,0x1190)]=0xff,_0x1d5a85[_0x306755(0x1989,0x17be)]=0x1;const _0x50b31e={};_0x50b31e['uniforms']=_0x1d5a85,_0x50b31e['source']=LineDashArrowMaterial;const _0x468631={};_0x468631[_0x306755(0xdaa,0x122b)]=_0x50b31e,_0x468631[_0x2b6441(0xb52,0x133d)]=!![],register$4(LineDashArrow,_0x468631),register$4(WallScroll,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x306755(0x859,0xf34))](0x0,0x0,0x0,0x1),'image':Cesium__namespace['Material']['DefaultImageId'],'count':0x1,'speed':0x5,'reverse':![],'axisY':![],'bloom':![],'globalAlpha':0x1},'source':WallScrollMaterial},'translucent':!![]}),register$4(ScanLine,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x2b6441(0xb62,0x993))](0x1,0x1,0x0,0x1),'speed':0xa,'globalAlpha':0x1},'source':ScanLineMaterial},'translucent':!![]}),register$4(CircleScan,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x306755(0xa66,0xf34))](0x1,0x0,0x0,0x1),'image':Cesium__namespace[_0x2b6441(0x12bd,0x966)][_0x2b6441(-0x3a5,0x38f)],'globalAlpha':0x1},'source':CircleScanMaterial},'translucent':!![]}),register$4(CircleWave,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x1,0x0,0x1),'speed':0xa,'time':-0x1,'count':0x1,'gradient':0.1,'globalAlpha':0x1},'source':CircleWaveMaterial},'translucent':!![]}),register$4(RadarLine,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x2b6441(0x13d7,0x993))](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':RadarLineMaterial},'translucent':!![]}),register$4(RadarWave,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x306755(0xefd,0xf34))](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':RadarWaveMaterial},'translucent':!![]});const _0x736fc1={};_0x736fc1[_0x306755(0xb01,0x6b7)]=Cesium__namespace[_0x2b6441(0xc7d,0x966)]['DefaultImageId'],_0x736fc1[_0x306755(0xc7d,0xeaf)]=Cesium__namespace['Color']['WHITE'],_0x736fc1['speed']=0xa,_0x736fc1['pure']=![],_0x736fc1[_0x306755(0x5c8,0xd29)]=1.3,_0x736fc1['globalAlpha']=0x1;const _0x4cc7c1={};_0x4cc7c1['uniforms']=_0x736fc1,_0x4cc7c1['source']=RectSlideMaterial;const _0x4100a5={};_0x4100a5[_0x2b6441(0x968,0xc8a)]=_0x4cc7c1,_0x4100a5['translucent']=!![],register$4(RectSlide,_0x4100a5),register$4(EllipsoidElectric,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x2b6441(0x53,0x993))](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':EllipsoidElectricMaterial},'translucent':!![]}),register$4(EllipsoidWave,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x306755(0x1a06,0xf34))](0x0,0x1,0x1,0.7),'speed':0x5,'globalAlpha':0x1},'source':EllipsoidWaveMaterial},'translucent':!![]}),register$4(PolyGradient,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0x1,0x1,0x0,0.5),'diffusePower':1.6,'alphaPower':1.5,'center':new Cesium__namespace['Cartesian2'](0.5,0.5),'isInner':![],'globalAlpha':0x1},'source':PolyGradientMaterial},'translucent':!![]}),register$4(PolyAsphalt,{'fabric':{'uniforms':{'color':new Cesium__namespace['Color'](0.15,0.15,0.15,0x1),'size':0.02,'frequency':0.2,'globalAlpha':0x1},'source':AsphaltMaterial},'translucent':function(_0x29ff6a){return _0x29ff6a['uniforms']['color']['alpha']<0x1;}}),register$4(PolyBlob,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace[(_0x306755(0x4c3,0xf34))](0x1,0x1,0x1,0.5),'oddColor':new Cesium__namespace[(_0x306755(0x13c3,0xf34))](0x0,0x0,0x1,0.5),'frequency':0xa,'globalAlpha':0x1},'source':BlobMaterial},'translucent':function(_0x3093c2){const _0x534619={_0x222859:0x27c},_0x2cc38a={_0x3947b4:0x40b},_0x2d9fde=_0x3093c2['uniforms'];function _0xb5d209(_0x35f72b,_0x55c175){return _0x306755(_0x35f72b,_0x55c175- -_0x2cc38a._0x3947b4);}function _0x56cbf7(_0x2f19aa,_0x49d570){return _0x306755(_0x2f19aa,_0x49d570- -_0x534619._0x222859);}return _0x2d9fde['evenColor'][_0x56cbf7(0x139a,0x1323)]<0x1||_0x2d9fde[_0xb5d209(0x94,0x218)]['alpha']<0x1;}}),register$4(PolyFacet,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace['Color'](0.25,0.25,0.25,0.75),'oddColor':new Cesium__namespace[(_0x2b6441(0x133f,0x993))](0.75,0.75,0.75,0.75),'frequency':0xa,'globalAlpha':0x1},'source':FacetMaterial},'translucent':function(_0x42c787){const _0x3e84f2={_0x1cc185:0x2b},_0x415f0a={_0x310d8e:0x48c};function _0x2f572e(_0x3a40d9,_0x3170ec){return _0x2b6441(_0x3170ec,_0x3a40d9-_0x415f0a._0x310d8e);}const _0x400369=_0x42c787[_0x2f572e(0x1105,0xc4b)];function _0x5e53ff(_0x4e3e9b,_0x31be75){return _0x306755(_0x31be75,_0x4e3e9b-_0x3e84f2._0x1cc185);}return _0x400369['evenColor']['alpha']<0x1||_0x400369[_0x5e53ff(0x64e,-0x18f)]['alpha']<0x1;}}),register$4(PolyGrass,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace['Color'](0.25,0.4,0.1,0x1),'oddColor':new Cesium__namespace['Color'](0.1,0.1,0.1,0x1),'frequency':1.5,'globalAlpha':0x1},'source':PolyGrassMaterial},'translucent':function(_0x102d39){const _0x45041d={_0x2a8e81:0xa6c,_0x514bb7:0x136b},_0x403d8d=_0x102d39['uniforms'];function _0x973eb0(_0x1b10dd,_0x5bf045){return _0x306755(_0x1b10dd,_0x5bf045- -0x341);}return _0x403d8d[_0x973eb0(_0x45041d._0x2a8e81,_0x45041d._0x514bb7)]['alpha']<0x1||_0x403d8d['oddColor']['alpha']<0x1;}}),register$4(PolyWood,{'fabric':{'uniforms':{'evenColor':new Cesium__namespace['Color'](0.6,0.3,0.1,0x1),'oddColor':new Cesium__namespace[(_0x306755(0xe5a,0xf34))](0.4,0.2,0.07,0x1),'frequency':0x3,'noiseScale':new Cesium__namespace['Cartesian2'](0.7,0.5),'grainFrequency':0x1b,'globalAlpha':0x1},'source':PolyWoodMaterial},'translucent':function(_0x3543e6){const _0x56985d={_0xb8defd:0x167b,_0x342241:0x14f0,_0x4a56fb:0x1229,_0x2c5c9e:0x1647};function _0xe90522(_0x100359,_0x20ccc1){return _0x2b6441(_0x20ccc1,_0x100359-0x564);}function _0x9a6d66(_0x51f09d,_0x19fee3){return _0x2b6441(_0x51f09d,_0x19fee3-0x649);}const _0x31bc4c=_0x3543e6[_0xe90522(0x11dd,0x943)];return _0x31bc4c[_0x9a6d66(_0x56985d._0xb8defd,0x1754)][_0xe90522(0x1562,_0x56985d._0x342241)]<0x1||_0x31bc4c['oddColor'][_0x9a6d66(_0x56985d._0x4a56fb,_0x56985d._0x2c5c9e)]<0x1;}}),register$4(Image2,{'fabric':{'uniforms':{'image':Cesium__namespace[_0x306755(0xbdd,0xf07)]['DefaultImageId'],'color':Cesium__namespace['Color']['WHITE'],'opacity':0x1,'speed':0x0,'flipx':![],'flipy':![],'noWhite':!![],'repeat':new Cesium__namespace['Cartesian2'](0x1,0x1),'rotation':0x0,'hasMask':![],'maskImage':Cesium__namespace[_0x2b6441(0x1328,0x966)]['DefaultImageId'],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]}),register$4(WaterLight,{'fabric':{'uniforms':{'alpha':0.3,'specularMap':Cesium__namespace[_0x306755(0x1934,0xf07)]['DefaultImageId'],'normalMap':Cesium__namespace['buildModuleUrl']('Assets/Textures/waterNormals.jpg'),'globalAlpha':0x1},'source':WaterLightMaterial},'translucent':!![]});const _0x231630={};_0x231630[_0x306755(0x139d,0xeaf)]=Cesium__namespace['Color'][_0x306755(0x2ee,0xa5d)],_0x231630['speed']=0x1,_0x231630['globalAlpha']=0x1;const _0x17c503={};_0x17c503['uniforms']=_0x231630,_0x17c503['source']=NeonLightMaterial;const _0x177fac={};_0x177fac['fabric']=_0x17c503,_0x177fac['translucent']=!![],register$4(NeonLight,_0x177fac),registerPropertyClass(Color$2,Cesium__namespace[_0x306755(0x1c87,0x14ca)]),registerPropertyClass(Image$1,Cesium__namespace[_0x2b6441(0x64c,0x5)]),registerPropertyClass(PolylineArrow,Cesium__namespace[_0x306755(0x17d0,0x19e4)]),registerPropertyClass(PolylineOutline,Cesium__namespace['PolylineOutlineMaterialProperty']),registerPropertyClass(PolylineDash,Cesium__namespace['PolylineDashMaterialProperty']),registerPropertyClass(PolylineGlow,Cesium__namespace['PolylineGlowMaterialProperty']),registerPropertyClass(Grid,Cesium__namespace['GridMaterialProperty']),registerPropertyClass(Checkerboard,Cesium__namespace['CheckerboardMaterialProperty']),registerPropertyClass(Stripe,Cesium__namespace['StripeMaterialProperty']);class TextMaterial extends Cesium__namespace['Material']{constructor(_0xa2fb29={}){super(conventOptions$1(_0xa2fb29));}}function conventOptions$1(_0x4ba221){const _0xcba7ca={_0x51cfd5:0x191,_0x7ea04d:0x599,_0x338290:0xbf5,_0x2e7ee8:0x1443,_0x4ceaee:0x1c4d,_0x3f6782:0x4d9};function _0x4401cf(_0x26a093,_0x131016){return _0x2b6441(_0x131016,_0x26a093-0x394);}function _0x48047e(_0x4d5ede,_0x507608){return _0x2b6441(_0x4d5ede,_0x507608-0x14a);}const _0x5d6bee=_0x4ba221[_0x48047e(0x1b06,0x14b6)];_0x4ba221[_0x48047e(0x72d,_0xcba7ca._0x51cfd5)]=_0x4ba221['font_size']||0x46;const _0x3fc7c5=LabelStyleConver[_0x48047e(_0xcba7ca._0x7ea04d,_0xcba7ca._0x338290)](_0x4ba221,{'fill':_0x4ba221['fill']??!![],'fillColor':new Cesium__namespace['Color'](0x1,0x1,0x0,0x1),'textBaseline':'middle','padding':0xa}),_0x4a313b=getTextImage(_0x5d6bee,_0x3fc7c5);let _0x3dce01;return _0x4a313b&&(_0x3dce01=_0x4a313b[_0x48047e(0xa02,0x71)]('image/png',0x1)),{'fabric':{'uniforms':{'image':_0x3dce01,'opacity':0x1,'color':Cesium__namespace[_0x4401cf(0xd27,0x17b3)]['WHITE'],'speed':_0x4ba221['speed']||0x0,'flipx':_0x4ba221[_0x4401cf(0x468,0x8b7)]??![],'flipy':_0x4ba221['flipy']??![],'noWhite':_0x4ba221['noWhite']??!![],'rotation':_0x4ba221[_0x4401cf(_0xcba7ca._0x2e7ee8,_0xcba7ca._0x4ceaee)]??0x0,'repeat':new Cesium__namespace['Cartesian2'](0x1,0x1),'hasMask':![],'maskImage':Cesium__namespace['Material'][_0x48047e(-0x344,_0xcba7ca._0x3f6782)],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]};}registerClass(Text,TextMaterial);var CylinderWaveMaterialGlsl='uniform\x20vec4\x20color;\x0auniform\x20float\x20repeat;\x0auniform\x20float\x20offset;\x0auniform\x20float\x20thickness;\x0auniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20float\x20sp\x20=\x201.0\x20/\x20repeat;\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20float\x20dis\x20=\x20distance(st,\x20vec2(0.5));\x0a\x20\x20float\x20mMars3D\x20=\x20mod(dis\x20+\x20offset,\x20sp);\x0a\x20\x20float\x20a\x20=\x20step(sp\x20*\x20(1.0\x20-\x20thickness),\x20mMars3D);\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20a\x20*\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a';class CylinderWaveMaterial extends Cesium__namespace['Material']{constructor(_0xad63df={}){const _0x53240b={_0x55e93b:0x7e6,_0x4b5fec:0x10fc,_0x1b789b:0xd94},_0x52702f={_0x11950d:0xf3};super(conventOptions(_0xad63df)),this['_frameTime']=0x3e8/(_0xad63df['frameRate']||0x3c),this['_speed']=_0xad63df['speed']??0xa;const _0x51ee12=this;let _0x5cc859=Date['now']();(function _0x19399e(){function _0xb31bae(_0x58e21c,_0x1239dd){return _0x5bbe(_0x1239dd-0x13b,_0x58e21c);}function _0x283ed1(_0x29fd0e,_0x276071){return _0x5bbe(_0x276071-_0x52702f._0x11950d,_0x29fd0e);}if(_0x51ee12['isDestroyed'])return;_0x51ee12['animateFrame']=window['requestAnimationFrame'](_0x19399e);const _0x3f70ed=Date[_0xb31bae(_0x53240b._0x55e93b,0x81e)](),_0x8a573e=_0x3f70ed-_0x5cc859;_0x8a573e>_0x51ee12[_0xb31bae(_0x53240b._0x4b5fec,0x71a)]&&(_0x5cc859=_0x3f70ed-_0x8a573e%_0x51ee12[_0xb31bae(_0x53240b._0x1b789b,0x71a)],_0x51ee12['updateOffset']());}());}[_0x2b6441(0x213,0x386)](){const _0x2bb463={_0x2226d7:0x1147,_0x34007c:0x15c2,_0x2be506:0xea0};let _0x448cbf=this[_0x10f7c9(0x15b0,0xf64)][_0x10f7c9(0xa50,_0x2bb463._0x2226d7)];_0x448cbf-=0.0001*this[_0x4b522c(0x1f4,0x66d)];_0x448cbf>0x1&&(_0x448cbf=0x0);function _0x10f7c9(_0x200013,_0xaa4790){return _0x2b6441(_0x200013,_0xaa4790-0x2eb);}function _0x4b522c(_0x278b07,_0x6bf11){return _0x306755(_0x278b07,_0x6bf11- -0x37a);}this[_0x4b522c(_0x2bb463._0x34007c,_0x2bb463._0x2be506)]['offset']=_0x448cbf;}['destroy'](_0x5bb35b){return window['cancelAnimationFrame'](this['animateFrame']),delete this['animateFrame'],super['destroy'](_0x5bb35b);}}function conventOptions(_0x14b26f){const _0x41fd7c={_0x51488e:0xc6,_0x4a7581:0x481,_0x38574d:0x1244};function _0x4b2990(_0x522a10,_0x2a8819){return _0x306755(_0x2a8819,_0x522a10- -0xc7);}function _0x576a3c(_0x710732,_0x741df1){return _0x306755(_0x741df1,_0x710732- -0x4e1);}return{'fabric':{'uniforms':{'color':getCesiumColor(_0x14b26f['color'],new Cesium__namespace[(_0x4b2990(0xe6d,0x8d7))](0x2,0x1,0x0,0.8)),'repeat':_0x14b26f[_0x576a3c(_0x41fd7c._0x51488e,-_0x41fd7c._0x4a7581)]??0x1e,'thickness':_0x14b26f['thickness']??0.3,'offset':_0x14b26f[_0x4b2990(0x1336,_0x41fd7c._0x38574d)]??0x0,'globalAlpha':0x1},'source':CylinderWaveMaterialGlsl},'translucent':function(_0x351e8f){return _0x351e8f['uniforms']['color']['alpha']<0x1;}};}registerClass(CylinderWave,CylinderWaveMaterial);class BaseMaterialProperty{constructor(_0x285c45={}){const _0x50a689={_0x20f43d:0xa3b},_0x232f81={_0x259158:0x144};this['options']=_0x285c45;function _0x307b4f(_0x82dbc7,_0x137df4){return _0x306755(_0x82dbc7,_0x137df4- -_0x232f81._0x259158);}this[_0x307b4f(0xaf0,_0x50a689._0x20f43d)]=new Cesium__namespace['Event']();}get['isConstant'](){return!![];}get[_0x306755(0x10c3,0xcd6)](){return this['_definitionChanged'];}['getType'](_0x592939){return null;}['getValue'](_0x3d38d2,_0x373742={}){return _0x373742;}['equals'](_0x1de64c){return this===_0x1de64c;}}class CircleScanMaterialProperty extends BaseMaterialProperty{constructor(_0x1f70fb={}){const _0x2bc7ea={_0x19b955:0xb08,_0x5cc991:0xe82},_0x4efe7f={_0x56d9f8:0x413},_0x347a3f={_0x515788:0x2d};super(_0x1f70fb);function _0x3baaa6(_0x2f8c80,_0x201f28){return _0x306755(_0x201f28,_0x2f8c80- -_0x347a3f._0x515788);}function _0x35dbed(_0x54f855,_0x2c4dd5){return _0x2b6441(_0x54f855,_0x2c4dd5-_0x4efe7f._0x56d9f8);}this['image']=_0x1f70fb['image']??_0x1f70fb[_0x3baaa6(0xb92,_0x2bc7ea._0x19b955)],this['color']=_0x1f70fb[_0x3baaa6(_0x2bc7ea._0x5cc991,0x1187)],this['globalAlpha']=_0x1f70fb['globalAlpha']??0x1;}['getType'](_0xf936c){return CircleScan;}['getValue'](_0x5b5015,_0x454bc8){const _0x314559={_0x450a7a:0x17e7,_0x2f76fd:0x444},_0x421074={_0x59ec7e:0x5d6};!Cesium__namespace[_0x3a9fd9(_0x314559._0x450a7a,0x1670)](_0x454bc8)&&(_0x454bc8={});_0x454bc8[_0x4cab68(0xc3c,0x1030)]=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x1,0x0,0x0,0.5),_0x5b5015),_0x454bc8[_0x3a9fd9(0x6ec,0xb82)]=this[_0x4cab68(_0x314559._0x2f76fd,0x204)];function _0x4cab68(_0x3e1d37,_0x404847){return _0x2b6441(_0x404847,_0x3e1d37-0x32e);}function _0x3a9fd9(_0x3130fc,_0x599dc0){return _0x2b6441(_0x599dc0,_0x3130fc-_0x421074._0x59ec7e);}return _0x454bc8['globalAlpha']=this['globalAlpha'],_0x454bc8;}[_0x2b6441(0x105e,0xa14)](_0x331cbf){const _0x75b379={_0x13e4c5:0xf77,_0x589124:0x29a,_0x248d5c:0x463,_0x51a036:0x29a};function _0x25b4c0(_0xc63a2d,_0x2f3b49){return _0x306755(_0xc63a2d,_0x2f3b49- -0x41d);}function _0x5e0c46(_0x3a2cbc,_0xb91c9){return _0x2b6441(_0xb91c9,_0x3a2cbc-0x669);}return this===_0x331cbf||_0x331cbf instanceof CircleScanMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x331cbf[_0x5e0c46(_0x75b379._0x13e4c5,0xb9b)])&&this[_0x25b4c0(0x88a,_0x75b379._0x589124)]===_0x331cbf[_0x25b4c0(_0x75b379._0x248d5c,_0x75b379._0x51a036)];}}registerPropertyClass(CircleScan,CircleScanMaterialProperty);class CircleWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x4a4a0d={}){const _0x1c8228={_0x2b0301:0x343,_0x3f363d:0x197f,_0x1ce65a:0x135a,_0x36270e:0x101,_0x277e9d:0x6e4,_0x1cb91f:0x181b,_0x500750:0xcd7},_0x23d22d={_0x23b6b5:0x464};super(_0x4a4a0d),this['color']=_0x4a4a0d['color'];function _0xaafd5a(_0x43f145,_0x2b25d6){return _0x306755(_0x43f145,_0x2b25d6- -0x2dd);}this['speed']=_0x4a4a0d['speed']??0xa;function _0x1d6883(_0x28d54e,_0x372667){return _0x306755(_0x28d54e,_0x372667- -_0x23d22d._0x23b6b5);}this['duration']=_0x4a4a0d[_0x1d6883(0x48a,0x62)],this[_0x1d6883(-0x871,0x1bc)]=_0x4a4a0d[_0xaafd5a(0x828,_0x1c8228._0x2b0301)]??0x1,this['gradient']=_0x4a4a0d[_0xaafd5a(0x138f,0xe5e)]??0.1,this['globalAlpha']=_0x4a4a0d[_0x1d6883(_0x1c8228._0x3f363d,_0x1c8228._0x1ce65a)]??0x1,this[_0xaafd5a(_0x1c8228._0x36270e,0x343)]<=0x0&&(this[_0x1d6883(_0x1c8228._0x277e9d,0x1bc)]=0x1),this['gradient']<0x0&&(this['gradient']=0x0),this[_0xaafd5a(_0x1c8228._0x1cb91f,0xe5e)]>0x1&&(this[_0x1d6883(0x3bc,_0x1c8228._0x500750)]=0x1);}['getType'](_0x263513){return CircleWave;}['getValue'](_0x4a4a59,_0x4bda2f){const _0x49b189={_0x5b777c:0x45e,_0x360ba6:0x114b,_0x3e699b:0xe8a,_0x4f4abf:0x921},_0x41a83d={_0x5aaed4:0x3e2};!Cesium__namespace[_0x3eba45(0x1c62,0x17c2)](_0x4bda2f)&&(_0x4bda2f={});_0x4bda2f[_0x2406a4(0x4c8,0xcf0)]=getCesiumColor(this['color'],Cesium__namespace['Color']['YELLOW'],_0x4a4a59),_0x4bda2f['count']=this[_0x3eba45(-_0x49b189._0x5b777c,0x630)],_0x4bda2f['gradient']=this[_0x3eba45(0x90e,_0x49b189._0x360ba6)],_0x4bda2f[_0x3eba45(0x1467,_0x49b189._0x3e699b)]=this['speed'],_0x4bda2f['globalAlpha']=this['globalAlpha'];function _0x3eba45(_0x20fd41,_0x1be884){return _0x306755(_0x20fd41,_0x1be884-0x10);}function _0x2406a4(_0x11c9b3,_0x19dd10){return _0x2b6441(_0x11c9b3,_0x19dd10-_0x41a83d._0x5aaed4);}return this[_0x3eba45(-0x5cb,0x4d6)]?(this['_time']===undefined&&(this[_0x3eba45(0xa33,_0x49b189._0x4f4abf)]=new Date()[_0x3eba45(0x6c7,0x531)]()),_0x4bda2f['time']=(new Date()['getTime']()-this['_time'])/(this['duration']*0x3e8)):_0x4bda2f['time']=-0x1,_0x4bda2f;}['equals'](_0x2576c2){const _0x184cb8={_0x37f25e:0x1e09,_0xae1c84:0xcc5};function _0x20c399(_0x378171,_0x2f3a83){return _0x306755(_0x378171,_0x2f3a83-0x124);}function _0x2231bc(_0xe51b36,_0x596d84){return _0x2b6441(_0x596d84,_0xe51b36-0x2b1);}return this===_0x2576c2||_0x2576c2 instanceof CircleWaveMaterialProperty&&Cesium__namespace[_0x20c399(_0x184cb8._0x37f25e,0x17a6)][_0x2231bc(_0x184cb8._0xae1c84,0x93c)](this['color'],_0x2576c2['color'])&&this['count']===_0x2576c2[_0x2231bc(0x330,-0x2a4)]&&this['speed']===_0x2576c2['speed']&&this['gradient']===_0x2576c2[_0x2231bc(0xe4b,0x1113)];}}registerPropertyClass(CircleWave,CircleWaveMaterialProperty),register$4(CylinderWave,{'fabric':{'uniforms':{'color':new Cesium__namespace[(_0x306755(0x13cb,0xf34))](0x2,0x1,0x0,0.8),'repeat':0x1e,'thickness':0.3,'offset':0x0,'globalAlpha':0x1},'source':CylinderWaveMaterialGlsl},'translucent':!![]});class CylinderWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x50450c={}){const _0x553270={_0xf64c86:0x57f,_0x539803:0xe15};super(_0x50450c),this['color']=_0x50450c['color'];function _0x138486(_0x462bb4,_0x50c7c7){return _0x306755(_0x50c7c7,_0x462bb4- -0x28);}function _0x29e8b0(_0x2cc6fc,_0x22b3e5){return _0x2b6441(_0x2cc6fc,_0x22b3e5-0x485);}this[_0x138486(_0x553270._0xf64c86,0x941)]=_0x50450c['repeat']??0x1e,this[_0x138486(0x198d,0x22ec)]=_0x50450c[_0x29e8b0(_0x553270._0x539803,0x1899)]??0.3,this['speed']=_0x50450c[_0x29e8b0(0x125f,0xd5e)]??0xa,this['offset']=0x0,this[_0x138486(0x1796,0x16a2)]=_0x50450c['globalAlpha']??0x1;}['getType'](_0x4d8576){return CylinderWave;}[_0x306755(0xdee,0xd7b)](_0x2cd311,_0x150733){!Cesium__namespace['defined'](_0x150733)&&(_0x150733={});this['offset']-=0.0001*this['speed'];this['offset']>0x1&&(this[_0x30db1f(0xf18,0xddc)]=0x0);function _0x268314(_0x1ca4ff,_0x2ad287){return _0x306755(_0x2ad287,_0x1ca4ff- -0x14b);}_0x150733[_0x30db1f(0x9ca,0x78f)]=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x2,0x1,0x0,0.8),_0x2cd311),_0x150733['repeat']=this['repeat'],_0x150733['offset']=this['offset'],_0x150733['thickness']=this['thickness'];function _0x30db1f(_0x2cd01b,_0x14405b){return _0x306755(_0x14405b,_0x2cd01b- -0x4e5);}return _0x150733['globalAlpha']=this['globalAlpha'],_0x150733;}['equals'](_0x28aec2){const _0x212ba4={_0x2bf920:0x14d0,_0x82b1c6:0x95f};function _0x35acb8(_0x544a0b,_0x4ad1ba){return _0x2b6441(_0x544a0b,_0x4ad1ba- -0xb5);}function _0x5663b1(_0x46312c,_0x3cc58b){return _0x2b6441(_0x3cc58b,_0x46312c-0x3ef);}return this===_0x28aec2||_0x28aec2 instanceof CylinderWaveMaterialProperty&&Cesium__namespace[_0x5663b1(_0x212ba4._0x2bf920,0xc6b)][_0x35acb8(0xb92,_0x212ba4._0x82b1c6)](this['color'],_0x28aec2['color'])&&this['repeat']===_0x28aec2['repeat']&&this['thickness']===_0x28aec2['thickness'];}}registerPropertyClass(CylinderWave,CylinderWaveMaterialProperty);class DigitalFlowMaterialProperty extends BaseMaterialProperty{constructor(_0x2ba9fc={}){const _0x33d7f9={_0x3ead55:0x85d,_0x4ba0dd:0xe10,_0x5aaf6f:0x828,_0x3ab534:0x16f3},_0x2a2fe4={_0x21a374:0x652};super(_0x2ba9fc),this[_0x99a859(_0x33d7f9._0x3ead55,-0x1fd)]=getCesiumColor(_0x2ba9fc[_0x5ab34e(_0x33d7f9._0x4ba0dd,0xde4)],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0)),this['speed']=_0x2ba9fc[_0x99a859(_0x33d7f9._0x5aaf6f,0x9c9)]??0x5,this['glow']=_0x2ba9fc['glow']??0x1,this['flowGlow']=_0x2ba9fc[_0x99a859(0x36b,0x24b)]??0x1;function _0x5ab34e(_0x431be2,_0x6aa4c){return _0x2b6441(_0x431be2,_0x6aa4c-0x4d6);}this['segment']=_0x2ba9fc['segment']??0x3;function _0x99a859(_0x5bac57,_0x1fdd0b){return _0x306755(_0x1fdd0b,_0x5bac57- -_0x2a2fe4._0x21a374);}this['globalAlpha']=_0x2ba9fc[_0x5ab34e(0x174a,_0x33d7f9._0x3ab534)]??0x1;}[_0x2b6441(0xa4b,0x1060)](_0x4527e9){return DigitalFlow;}['getValue'](_0x1a90e0,_0x37d76d){const _0x2061fc={_0x3cee3d:0xfdb,_0x5af249:0x76a,_0x1b60ab:0xc49},_0x2a0d62={_0x2c0c6b:0x702},_0x4ef133={_0x3b315e:0x34e};!Cesium__namespace['defined'](_0x37d76d)&&(_0x37d76d={});_0x37d76d['color']=this['color'],_0x37d76d['speed']=this[_0x48c9e3(_0x2061fc._0x3cee3d,0x5d4)],_0x37d76d['glow']=this['glow'];function _0x55a38b(_0x53550d,_0x10bf1e){return _0x2b6441(_0x10bf1e,_0x53550d-_0x4ef133._0x3b315e);}_0x37d76d['flowGlow']=this[_0x55a38b(_0x2061fc._0x5af249,_0x2061fc._0x1b60ab)];function _0x48c9e3(_0xcd0c54,_0x23aee8){return _0x2b6441(_0x23aee8,_0xcd0c54-_0x2a0d62._0x2c0c6b);}return _0x37d76d['segment']=this['segment'],_0x37d76d['globalAlpha']=this['globalAlpha'],_0x37d76d;}['equals'](_0x4324a3){const _0x4a9bf8={_0x49dcab:0xa32};function _0x5bfe8e(_0x18760c,_0x186e99){return _0x306755(_0x186e99,_0x18760c- -0x33e);}function _0x391119(_0x325ab3,_0xfb0672){return _0x2b6441(_0x325ab3,_0xfb0672-0x159);}return this===_0x4324a3||_0x4324a3 instanceof DigitalFlowMaterialProperty&&Cesium__namespace[_0x5bfe8e(0x1344,0x15ca)]['equals'](this[_0x5bfe8e(0xb71,0x1121)],_0x4324a3[_0x391119(0xd54,0xa67)])&&this['glow']===_0x4324a3['glow']&&this[_0x391119(0x103e,_0x4a9bf8._0x49dcab)]===_0x4324a3['speed'];}}registerPropertyClass(DigitalFlow,DigitalFlowMaterialProperty);class EllipsoidElectricMaterialProperty extends BaseMaterialProperty{constructor(_0x1cc2e8={}){super(_0x1cc2e8),this['color']=getCesiumColor(_0x1cc2e8['color'],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0)),this['speed']=_0x1cc2e8['speed']??0x5,this['globalAlpha']=_0x1cc2e8['globalAlpha']??0x1;}[_0x2b6441(0x1234,0x1060)](_0x1f2149){return EllipsoidElectric;}['getValue'](_0x49771a,_0x3a4ae9){const _0x501612={_0x5b6a1b:0x398,_0x3086d4:0x10b5,_0x433ca7:0x26f,_0x267081:0x97e,_0x41c99f:0x176d};function _0x4c783d(_0x2c9602,_0x9dd4ea){return _0x306755(_0x2c9602,_0x9dd4ea- -0x4fc);}!Cesium__namespace['defined'](_0x3a4ae9)&&(_0x3a4ae9={});_0x3a4ae9['color']=this[_0x4c783d(_0x501612._0x5b6a1b,0x9b3)],_0x3a4ae9[_0x3c7f37(0xe29,_0x501612._0x3086d4)]=this[_0x4c783d(_0x501612._0x433ca7,_0x501612._0x267081)];function _0x3c7f37(_0x59c4a2,_0x26f2fd){return _0x2b6441(_0x26f2fd,_0x59c4a2-0x550);}return _0x3a4ae9['globalAlpha']=this[_0x3c7f37(_0x501612._0x41c99f,0x1722)],_0x3a4ae9;}[_0x306755(0xb50,0xfb5)](_0x1acfae){const _0x2a6a69={_0x436cb9:0xb5b,_0x3a36f5:0x6d8,_0x341a01:0xb26};function _0x1649a9(_0x51e0cd,_0x34b632){return _0x306755(_0x51e0cd,_0x34b632- -0x354);}function _0x4d84e3(_0x19be59,_0x11ef00){return _0x2b6441(_0x19be59,_0x11ef00-0x360);}return this===_0x1acfae||_0x1acfae instanceof EllipsoidElectricMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x1acfae[_0x1649a9(0x15f5,_0x2a6a69._0x436cb9)])&&this['speed']===_0x1acfae[_0x1649a9(_0x2a6a69._0x3a36f5,_0x2a6a69._0x341a01)];}}registerPropertyClass(EllipsoidElectric,EllipsoidElectricMaterialProperty);class EllipsoidWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x12724f={}){const _0x2a9a17={_0x2f1221:0xb06,_0x1722f8:0xc05,_0x1d0421:0x11ed,_0x487d9a:0x1415,_0x1fad56:0xe27},_0x289256={_0x3c11ae:0x3a9};super(_0x12724f);function _0x3b1a90(_0x5a0125,_0x536ff7){return _0x306755(_0x5a0125,_0x536ff7- -_0x289256._0x3c11ae);}this[_0x3b1a90(0x11c1,_0x2a9a17._0x2f1221)]=getCesiumColor(_0x12724f[_0x5a6d89(0xc3a,0x1265)],new Cesium__namespace[(_0x3b1a90(0x13ea,0xb8b))](0x0,0x0,0x0,0x0)),this['speed']=_0x12724f[_0x5a6d89(_0x2a9a17._0x1722f8,0x724)]??0x5;function _0x5a6d89(_0x1a7219,_0x344ce8){return _0x2b6441(_0x344ce8,_0x1a7219-0x32c);}this[_0x3b1a90(_0x2a9a17._0x1d0421,_0x2a9a17._0x487d9a)]=_0x12724f[_0x3b1a90(_0x2a9a17._0x1fad56,0x1415)]??0x1;}['getType'](_0x58bec3){return EllipsoidWave;}[_0x2b6441(-0x29a,0x7da)](_0x101acf,_0x188e33){const _0x4d0696={_0x39e011:0xdf2},_0x3f7fe5={_0x55ff5c:0xb1};!Cesium__namespace['defined'](_0x188e33)&&(_0x188e33={});_0x188e33['color']=this[_0x357df0(_0x4d0696._0x39e011,0xdfe)];function _0x357df0(_0xd1791d,_0x13f1fb){return _0x306755(_0xd1791d,_0x13f1fb- -_0x3f7fe5._0x55ff5c);}return _0x188e33['speed']=this['speed'],_0x188e33['globalAlpha']=this['globalAlpha'],_0x188e33;}['equals'](_0x33414b){const _0x5a4b91={_0x3b151c:0x10ae,_0x35684d:0xa34};function _0x4a48f9(_0x50e9c9,_0x5951c5){return _0x306755(_0x50e9c9,_0x5951c5- -0x47b);}return this===_0x33414b||_0x33414b instanceof EllipsoidWaveMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x33414b[_0x4a48f9(_0x5a4b91._0x3b151c,_0x5a4b91._0x35684d)])&&this['speed']===_0x33414b['speed'];}}registerPropertyClass(EllipsoidWave,EllipsoidWaveMaterialProperty);class Image2MaterialProperty extends BaseMaterialProperty{constructor(_0x54b224={}){const _0x5be50d={_0x2d60ac:0x91,_0xd9ce2a:0x35d,_0x333af9:0x4f4,_0x2b44bc:0xebc,_0x15385b:0xb16,_0x443c9f:0x20,_0x11eef2:0x42b,_0xff09a7:0x437,_0x193674:0x4a5},_0x19c4b4={_0x314e0d:0x626};super(_0x54b224),this['image']=_0x54b224[_0x3adc3c(_0x5be50d._0x2d60ac,0x6e2)],this['maskImage']=_0x54b224['maskImage'],this[_0x4542ac(0x4f4,-_0x5be50d._0xd9ce2a)]=_0x54b224[_0x4542ac(_0x5be50d._0x333af9,-0x552)]??0x1,this['color']=getCesiumColor(_0x54b224['color'],Cesium__namespace[_0x4542ac(0x8df,_0x5be50d._0x2b44bc)]['WHITE']),this['speed']=_0x54b224[_0x3adc3c(0x854,_0x5be50d._0x15385b)]??0x0;function _0x4542ac(_0x24ffe5,_0xf95026){return _0x2b6441(_0xf95026,_0x24ffe5- -0xb4);}this[_0x4542ac(0xffb,0x68d)]=_0x54b224['rotation']??0x0,this['flipx']=_0x54b224[_0x4542ac(_0x5be50d._0x443c9f,_0x5be50d._0x11eef2)]??![];function _0x3adc3c(_0x520325,_0x5d0440){return _0x306755(_0x5d0440,_0x520325- -_0x19c4b4._0x314e0d);}this['flipy']=_0x54b224['flipy']??![],this['noWhite']=_0x54b224['noWhite']??!this['color']['equals'](Cesium__namespace[_0x3adc3c(0x90e,0x41)][_0x3adc3c(_0x5be50d._0xff09a7,0x805)]),this['repeat']=_0x54b224[_0x4542ac(-0xae,-_0x5be50d._0x193674)]??new Cesium__namespace['Cartesian2'](0x1,0x1),this['globalAlpha']=_0x54b224['globalAlpha']??0x1;}['getType'](_0x4efd9d){return Image2;}['getValue'](_0x382091,_0x86ac15){const _0x26d732={_0x1d267f:0x16ce,_0x51a1d7:0xc63,_0x183037:0x792,_0x5deaa9:0x3a9};function _0x5b0f2c(_0x2c665c,_0x55f2c9){return _0x306755(_0x2c665c,_0x55f2c9- -0x422);}function _0x676c33(_0x1a1549,_0x28c2ad){return _0x2b6441(_0x28c2ad,_0x1a1549-0x4bd);}return!Cesium__namespace[_0x676c33(_0x26d732._0x1d267f,0xe99)](_0x86ac15)&&(_0x86ac15={}),_0x86ac15['image']=getCesiumValue(this[_0x676c33(0x5d3,_0x26d732._0x51a1d7)],null,_0x382091),_0x86ac15['color']=this[_0x5b0f2c(0x11ec,0xa8d)],_0x86ac15['opacity']=this[_0x676c33(0xa65,-0x11)],_0x86ac15['speed']=this['speed'],_0x86ac15['flipx']=this['flipx'],_0x86ac15[_0x5b0f2c(_0x26d732._0x183037,0x3a9)]=this[_0x5b0f2c(0x3ed,_0x26d732._0x5deaa9)],_0x86ac15[_0x5b0f2c(-0x303,0x195)]=this['noWhite'],_0x86ac15[_0x5b0f2c(0x249,0x185)]=this['repeat'],_0x86ac15['rotation']=this['rotation'],_0x86ac15['hasMask']=Boolean(this[_0x676c33(0x652,-0x420)]),_0x86ac15['maskImage']=this['maskImage'],_0x86ac15['globalAlpha']=this['globalAlpha'],_0x86ac15;}['equals'](_0x4ef79e){const _0x32d411={_0x2229df:0x1787},_0x1dd4a3={_0x14e11f:0x6a6};function _0x1a8454(_0xf02515,_0xcf1046){return _0x2b6441(_0xcf1046,_0xf02515-_0x1dd4a3._0x14e11f);}function _0x216fde(_0x419dd9,_0x4265ce){return _0x306755(_0x419dd9,_0x4265ce- -0x239);}return this===_0x4ef79e||_0x4ef79e instanceof Image2MaterialProperty&&Cesium__namespace[_0x1a8454(_0x32d411._0x2229df,0x18ce)]['equals'](this['color'],_0x4ef79e[_0x216fde(0x12b6,0xc76)])&&this['opacity']===_0x4ef79e['opacity']&&this[_0x216fde(-0x20b,0x47e)]===_0x4ef79e['image'];}}registerPropertyClass(Image2,Image2MaterialProperty);class LineBloomMaterialProperty extends BaseMaterialProperty{constructor(_0x2c0042={}){const _0x207f76={_0x6efd4d:0x8e5,_0x10c863:0xef4};function _0x1e2ca9(_0x1e02e1,_0x9669d2){return _0x306755(_0x1e02e1,_0x9669d2-0x7a);}super(_0x2c0042),this['color']=getCesiumColor(_0x2c0042['color'],new Cesium__namespace[(_0x15c461(_0x207f76._0x6efd4d,0x8e7))](0x0,0x0,0x0,0x0)),this[_0x15c461(0x82b,0x646)]=_0x2c0042[_0x1e2ca9(0x16e9,_0x207f76._0x10c863)]??0x5,this['glow']=_0x2c0042[_0x1e2ca9(0x1495,0x16b2)]??0x1;function _0x15c461(_0x3a1f5c,_0x36fee7){return _0x306755(_0x36fee7,_0x3a1f5c- -0x64f);}this[_0x1e2ca9(0x1188,0x1838)]=_0x2c0042['globalAlpha']??0x1;}['getType'](_0x643937){return LineBloom;}[_0x306755(0x1785,0xd7b)](_0x1639b6,_0x387b0d){const _0x19c2a7={_0x4eeed9:0x14a9,_0x179ea4:0x12ac};!Cesium__namespace[_0xa013ab(0x12a0,0x1949)](_0x387b0d)&&(_0x387b0d={});_0x387b0d['color']=this['color'];function _0xa013ab(_0x3d4b02,_0x667b70){return _0x306755(_0x667b70,_0x3d4b02- -0x512);}_0x387b0d[_0x549abe(0x77d,0xceb)]=this['speed'],_0x387b0d[_0x549abe(0x1a35,_0x19c2a7._0x4eeed9)]=this['glow'];function _0x549abe(_0x3f93aa,_0x38f5d6){return _0x306755(_0x3f93aa,_0x38f5d6- -0x18f);}return _0x387b0d[_0xa013ab(_0x19c2a7._0x179ea4,0x1a76)]=this['globalAlpha'],_0x387b0d;}['equals'](_0x2b2f21){const _0x3f17e0={_0x1c0959:0x1371},_0x1f5351={_0x5085dd:0x2c7},_0x6189ba={_0x2f3687:0x211};function _0xe5ec53(_0x5d1109,_0x1ad818){return _0x306755(_0x5d1109,_0x1ad818- -_0x6189ba._0x2f3687);}function _0x4e74c3(_0x488b79,_0x1f07cf){return _0x306755(_0x1f07cf,_0x488b79- -_0x1f5351._0x5085dd);}return this===_0x2b2f21||_0x2b2f21 instanceof LineBloomMaterialProperty&&Cesium__namespace[_0xe5ec53(0x15e3,0x1471)]['equals'](this['color'],_0x2b2f21['color'])&&this['glow']===_0x2b2f21[_0x4e74c3(_0x3f17e0._0x1c0959,0x1150)]&&this[_0x4e74c3(0xbb3,0x419)]===_0x2b2f21[_0x4e74c3(0xbb3,0x76d)];}}registerPropertyClass(LineBloom,LineBloomMaterialProperty);class LineFlickerMaterialProperty extends BaseMaterialProperty{constructor(_0x66c2a5={}){const _0x320fcd={_0x51634b:0x16b9},_0x13bdde={_0x404dc4:0x39e};super(_0x66c2a5);function _0x4c8315(_0x1b1ce9,_0x25d6cc){return _0x2b6441(_0x1b1ce9,_0x25d6cc-_0x13bdde._0x404dc4);}this[_0x4c8315(_0x320fcd._0x51634b,0xcac)]=_0x66c2a5['color'],this['speed']=_0x66c2a5['speed']??0x2,this['globalAlpha']=_0x66c2a5['globalAlpha']??0x1;}['getType'](_0x4c842f){return LineFlicker;}['getValue'](_0x47ace8,_0x5655bd){const _0x224f48={_0x4c8a99:0x19a6,_0x5ad190:0xf8d,_0x4994eb:0x1012,_0x2b323d:0xf58,_0x6d9f59:0x194e};!Cesium__namespace[_0x49e911(_0x224f48._0x4c8a99,0x1890)](_0x5655bd)&&(_0x5655bd={});_0x5655bd[_0x49e911(0x1811,_0x224f48._0x5ad190)]=getCesiumColor(this['color'],new Cesium__namespace[(_0x49e911(0x100f,_0x224f48._0x4994eb))](0x0,0x0,0x0,0x0),_0x47ace8);function _0x56f9e9(_0x402382,_0x2682f0){return _0x2b6441(_0x402382,_0x2682f0-0x5cb);}_0x5655bd[_0x49e911(0xaa8,_0x224f48._0x2b323d)]=this[_0x49e911(0xa79,0xf58)],_0x5655bd['globalAlpha']=this[_0x49e911(_0x224f48._0x6d9f59,0x189c)];function _0x49e911(_0x4ce0df,_0xf4fbc5){return _0x2b6441(_0x4ce0df,_0xf4fbc5-0x67f);}return _0x5655bd;}['equals'](_0x40abf9){const _0x4e9a98={_0x58103b:0x1978},_0x62a0f2={_0x2c9136:0x663},_0x1cf015={_0x153f9a:0x208};function _0x2014b9(_0x562e30,_0x29596d){return _0x306755(_0x29596d,_0x562e30- -_0x1cf015._0x153f9a);}function _0xc98f66(_0xac58d7,_0xd93a3a){return _0x2b6441(_0xac58d7,_0xd93a3a-_0x62a0f2._0x2c9136);}return this===_0x40abf9||_0x40abf9 instanceof LineFlickerMaterialProperty&&Cesium__namespace[_0x2014b9(0x147a,0x1987)][_0xc98f66(_0x4e9a98._0x58103b,0x1077)](this['color'],_0x40abf9['color'])&&this['speed']===_0x40abf9['speed'];}}registerPropertyClass(LineFlicker,LineFlickerMaterialProperty);class LineFlowColorMaterialProperty extends BaseMaterialProperty{constructor(_0x40233c={}){const _0x572b1e={_0x1409a5:0x443,_0x101ab5:0xbba,_0x4188b8:0x44b,_0x2dc39c:0xc28,_0x4d9023:0x3e4,_0x3bf4a5:0xe1c,_0x407e16:0x3c1};super(_0x40233c);function _0x23ac9d(_0x3fbbe9,_0x48814f){return _0x306755(_0x48814f,_0x3fbbe9- -0xcc);}this['color']=_0x40233c[_0x23ac9d(0xde3,_0x572b1e._0x1409a5)];function _0x3cf091(_0x4fbe4f,_0x1ed70c){return _0x306755(_0x1ed70c,_0x4fbe4f- -0x2c0);}this[_0x3cf091(_0x572b1e._0x101ab5,_0x572b1e._0x4188b8)]=_0x40233c['speed']??0x2,this['percent']=_0x40233c['percent']??0.04,this['alpha']=_0x40233c['alpha']??0.1,this[_0x3cf091(_0x572b1e._0x2dc39c,_0x572b1e._0x4d9023)]=_0x40233c[_0x23ac9d(_0x572b1e._0x3bf4a5,_0x572b1e._0x407e16)]??0x0,this['globalAlpha']=_0x40233c['globalAlpha']??0x1;}[_0x2b6441(0x14c5,0x1060)](_0x1fb35d){return LineFlowColor;}['getValue'](_0x4701cc,_0x302aa8){const _0x11a7e7={_0x224f88:0xbc7,_0x729242:0x13df,_0x388be7:0x12f,_0x3f30ef:0x12b7,_0x449021:0x1754},_0x2e2f47={_0x25388d:0x2b9};!Cesium__namespace['defined'](_0x302aa8)&&(_0x302aa8={});_0x302aa8['color']=getCesiumColor(this[_0x4e1ddc(_0x11a7e7._0x224f88,_0x11a7e7._0x729242)],new Cesium__namespace['Color'](0x1,0x0,0x0,0x1),_0x4701cc);function _0x2669e6(_0x3712f9,_0x5b630b){return _0x2b6441(_0x5b630b,_0x3712f9-0x202);}_0x302aa8['speed']=this[_0x2669e6(0xadb,_0x11a7e7._0x388be7)];function _0x4e1ddc(_0x495fce,_0x21fdaa){return _0x2b6441(_0x21fdaa,_0x495fce-_0x2e2f47._0x25388d);}return _0x302aa8['percent']=this['percent'],_0x302aa8['alpha']=this[_0x4e1ddc(_0x11a7e7._0x3f30ef,_0x11a7e7._0x449021)],_0x302aa8['startTime']=this['startTime'],_0x302aa8['globalAlpha']=this['globalAlpha'],_0x302aa8;}[_0x306755(0xe2c,0xfb5)](_0x47868f){const _0x272d9e={_0x2b0881:0x1f9,_0x9191b8:0xd83,_0x55e2a0:0xc29,_0x3fa80f:0x1048,_0x264fef:0xe79,_0x521481:0xfaf,_0x588d1f:0xff9};function _0x522476(_0x47d194,_0x1106ef){return _0x306755(_0x47d194,_0x1106ef- -0x5f0);}function _0x576db1(_0x496879,_0x2ed88c){return _0x2b6441(_0x2ed88c,_0x496879-0x475);}return this===_0x47868f||_0x47868f instanceof LineFlowColorMaterialProperty&&Cesium__namespace[_0x522476(0x17ae,0x1092)][_0x522476(_0x272d9e._0x2b0881,0x9c5)](this[_0x576db1(_0x272d9e._0x9191b8,_0x272d9e._0x55e2a0)],_0x47868f[_0x576db1(0xd83,_0x272d9e._0x3fa80f)])&&this[_0x576db1(0xd4e,0xd40)]===_0x47868f['speed']&&this['percent']===_0x47868f['percent']&&this[_0x522476(-0xda,0x8f8)]===_0x47868f['startTime']&&this[_0x522476(_0x272d9e._0x264fef,_0x272d9e._0x521481)]===_0x47868f[_0x522476(_0x272d9e._0x588d1f,0xfaf)];}}registerPropertyClass(LineFlowColor,LineFlowColorMaterialProperty);class LineFlowMaterialProperty extends BaseMaterialProperty{constructor(_0x221cd2={}){const _0x49f261={_0x1cda00:0x298,_0x457089:0xe5a,_0x1e1429:0x4cc,_0x23bb5c:0x1812,_0x23a24e:0x12db,_0x5c1b85:0x861,_0x4c3d8c:0x1736,_0x5a25b8:0x67d,_0x1ad4f5:0xf2e,_0x35b43d:0x1027,_0x9c4adf:0x129f};super(_0x221cd2),this['image']=_0x221cd2['image']??_0x221cd2['url'];function _0x2a62c2(_0x9022b9,_0x5592f5){return _0x2b6441(_0x9022b9,_0x5592f5-0x82);}this[_0x2a62c2(_0x49f261._0x1cda00,0x990)]=_0x221cd2['color']??new Cesium__namespace[(_0x2a62c2(0x116,0xa15))](0x1,0x1,0x1,0x0),this['axisY']=_0x221cd2['axisY']??![],this['mixt']=_0x221cd2['mixt']??![],this[_0x2a62c2(0x336,0x95b)]=_0x221cd2[_0x53c70b(_0x49f261._0x457089,0x103e)]??0xa,this[_0x2a62c2(-0x871,-0x59)]=_0x221cd2[_0x2a62c2(-0x8d3,-0x59)],this['repeat']=_0x221cd2['repeat']??new Cesium__namespace[(_0x53c70b(_0x49f261._0x1e1429,-0x429))](0x1,0x1);function _0x53c70b(_0x233fad,_0x123d9f){return _0x306755(_0x123d9f,_0x233fad- -0x20);}this['image2']=_0x221cd2['image2']??_0x221cd2[_0x53c70b(_0x49f261._0x23bb5c,0xd75)],this[_0x53c70b(_0x49f261._0x23a24e,_0x49f261._0x5c1b85)]=_0x221cd2[_0x2a62c2(0x81b,0xddc)]??new Cesium__namespace['Color'](0x1,0x1,0x1),this[_0x53c70b(_0x49f261._0x4c3d8c,0x200c)]=Cesium__namespace['defined'](this['image2']),this[_0x2a62c2(_0x49f261._0x5a25b8,0xdf9)]=_0x221cd2['bgColor']??Cesium__namespace[_0x2a62c2(_0x49f261._0x1ad4f5,0xa15)][_0x53c70b(0x163c,_0x49f261._0x35b43d)],this[_0x2a62c2(0x1a6a,0x129f)]=_0x221cd2[_0x2a62c2(0x19bc,_0x49f261._0x9c4adf)]??0x1;}[_0x306755(0x13bc,0x1601)](_0x10bab9){return LineFlow;}['getValue'](_0xea96d9,_0x3b05ff){const _0x10c4fd={_0x32d21c:0x182b,_0x2de5ad:0x166d,_0x550767:0x17ac,_0x444e73:0x790,_0x426fbf:0x97e,_0x3f67cb:0x46f,_0x2ff2d0:0x3bf,_0x310011:0x498,_0x4e88b6:0x335,_0xe57be7:0x1674,_0x47d9dd:0xa38,_0x2679e9:0x170c};!Cesium__namespace[_0x47ad11(_0x10c4fd._0x32d21c,0x12b6)](_0x3b05ff)&&(_0x3b05ff={});_0x3b05ff['image']=this['image'],_0x3b05ff['color']=getCesiumColor(this[_0x5e3fbc(0xdfd,0x15bb)],new Cesium__namespace['Color'](0x1,0x1,0x1,0x0),_0xea96d9),_0x3b05ff['repeat']=getCesiumValue(this[_0x47ad11(-0x1c9,0xab)],Cesium__namespace['Cartesian2'],_0xea96d9);function _0x5e3fbc(_0x3fc561,_0x15033e){return _0x306755(_0x15033e,_0x3fc561- -0xb2);}_0x3b05ff[_0x5e3fbc(_0x10c4fd._0x2de5ad,_0x10c4fd._0x550767)]=this['axisY'],_0x3b05ff['mixt']=this['mixt'],_0x3b05ff[_0x47ad11(_0x10c4fd._0x444e73,_0x10c4fd._0x426fbf)]=getCesiumValue(this[_0x5e3fbc(0xdc8,0xd8c)],Number,_0xea96d9);this['duration']?(this['_time']===undefined&&(this['_time']=new Date()[_0x47ad11(-0x586,0x25)]()),_0x3b05ff['time']=(new Date()[_0x5e3fbc(_0x10c4fd._0x3f67cb,_0x10c4fd._0x2ff2d0)]()-this['_time'])/(this[_0x5e3fbc(0x414,-_0x10c4fd._0x310011)]*0x3e8)):_0x3b05ff['time']=-0x1;_0x3b05ff[_0x47ad11(0x1b3a,0x125a)]=this[_0x47ad11(0xcc2,0x125a)],_0x3b05ff[_0x5e3fbc(0x1289,0x1b21)]=this['image2'],_0x3b05ff[_0x47ad11(_0x10c4fd._0x4e88b6,0xdff)]=getCesiumColor(this[_0x47ad11(_0x10c4fd._0xe57be7,0xdff)],new Cesium__namespace['Color'](0x1,0x1,0x1),_0xea96d9),_0x3b05ff[_0x47ad11(0x14bf,0xe1c)]=getCesiumColor(this[_0x47ad11(0x4eb,0xe1c)],Cesium__namespace[_0x47ad11(0xfcb,_0x10c4fd._0x47d9dd)]['TRANSPARENT'],_0xea96d9);function _0x47ad11(_0x2a2074,_0x31bf4b){return _0x306755(_0x2a2074,_0x31bf4b- -0x4fc);}return _0x3b05ff['globalAlpha']=this[_0x5e3fbc(_0x10c4fd._0x2679e9,0xea3)],_0x3b05ff;}['equals'](_0x12bbd6){const _0x1e0fa2={_0x367afb:0x1411,_0x53e7fa:0x98,_0x527853:0x3a5,_0x475ba4:0x511,_0x1ba791:0x3a5,_0x57f32f:0x104a,_0x967ca1:0x1395,_0x366de1:0x1029,_0x10bb74:0x1baf,_0x162ecf:0x17ed,_0xe4f579:0x1355},_0x12797={_0x1f594a:0x5a};function _0x38e5df(_0x34ecc5,_0x1cf694){return _0x306755(_0x34ecc5,_0x1cf694-_0x12797._0x1f594a);}function _0x4d2e11(_0x36d9e7,_0x11531f){return _0x306755(_0x36d9e7,_0x11531f- -0x312);}return this===_0x12bbd6||_0x12bbd6 instanceof LineFlowMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x12bbd6[_0x4d2e11(_0x1e0fa2._0x367afb,0xb9d)])&&Cesium__namespace['Property']['equals'](this['repeat'],_0x12bbd6['repeat'])&&this[_0x4d2e11(_0x1e0fa2._0x53e7fa,_0x1e0fa2._0x527853)]===_0x12bbd6[_0x4d2e11(_0x1e0fa2._0x475ba4,_0x1e0fa2._0x1ba791)]&&this['axisY']===_0x12bbd6[_0x38e5df(0xd91,0x1779)]&&this['speed']===_0x12bbd6[_0x38e5df(0x17e4,0xed4)]&&this['hasImage2']===_0x12bbd6['hasImage2']&&this[_0x38e5df(_0x1e0fa2._0x57f32f,_0x1e0fa2._0x967ca1)]===_0x12bbd6[_0x4d2e11(0xb58,_0x1e0fa2._0x366de1)]&&Cesium__namespace[_0x4d2e11(_0x1e0fa2._0x10bb74,0x1370)]['equals'](this[_0x38e5df(_0x1e0fa2._0x162ecf,_0x1e0fa2._0xe4f579)],_0x12bbd6['color2']);}}registerPropertyClass(LineFlow,LineFlowMaterialProperty);class LineTrailMaterialProperty extends BaseMaterialProperty{constructor(_0x4f5b65={}){const _0x2c14d0={_0x27c18f:0xc54,_0x238ef3:0x1ad1};super(_0x4f5b65),this['color']=getCesiumColor(_0x4f5b65['color'],new Cesium__namespace[(_0x8eb8b0(0x129a,0xcd9))](0x0,0x0,0x0,0x0));function _0x25211c(_0x521aba,_0x377982){return _0x306755(_0x521aba,_0x377982- -0x3a7);}this[_0x8eb8b0(0x1543,0x10bd)]=getCesiumColor(_0x4f5b65['bgColor'],this[_0x8eb8b0(0x120a,_0x2c14d0._0x27c18f)][_0x8eb8b0(_0x2c14d0._0x238ef3,0x16da)](0.1)),this[_0x25211c(0x600,0xad3)]=_0x4f5b65['speed']??0x2;function _0x8eb8b0(_0x1ea1e8,_0x2fdbe8){return _0x306755(_0x1ea1e8,_0x2fdbe8- -0x25b);}this['globalAlpha']=_0x4f5b65['globalAlpha']??0x1;}[_0x306755(0x1364,0x1601)](_0x129dd1){return LineTrail;}['getValue'](_0x351ca4,_0x243493){const _0x471331={_0x17e2c6:0x901,_0xce39c5:0x89c,_0x20d419:0x12a4,_0x37ec72:0x15cc},_0x30bffc={_0x5e204a:0x52d},_0x3869c2={_0x362e4a:0x68f};!Cesium__namespace['defined'](_0x243493)&&(_0x243493={});function _0x4ae13b(_0x3549c6,_0x36c683){return _0x2b6441(_0x36c683,_0x3549c6-_0x3869c2._0x362e4a);}_0x243493[_0x4ae13b(0xf9d,_0x471331._0x17e2c6)]=this['color'];function _0x501898(_0x15325b,_0x59cda3){return _0x2b6441(_0x15325b,_0x59cda3-_0x30bffc._0x5e204a);}return _0x243493[_0x501898(0xde4,0x12a4)]=this[_0x501898(_0x471331._0xce39c5,_0x471331._0x20d419)],_0x243493[_0x4ae13b(0xf68,0x10bd)]=this[_0x501898(_0x471331._0x37ec72,0xe06)],_0x243493['globalAlpha']=this['globalAlpha'],_0x243493;}[_0x2b6441(0x10e1,0xa14)](_0x4fd179){const _0x232338={_0x28bda9:0x1cc4,_0xd71d97:0x74e,_0x583258:0x1139},_0x184249={_0x28ff19:0x1df};function _0x31a7a4(_0x3293f0,_0x5c9925){return _0x306755(_0x3293f0,_0x5c9925- -_0x184249._0x28ff19);}function _0x5f2fa3(_0xeb32b8,_0x5ba920){return _0x2b6441(_0xeb32b8,_0x5ba920-0x6df);}return this===_0x4fd179||_0x4fd179 instanceof LineTrailMaterialProperty&&Cesium__namespace[_0x5f2fa3(_0x232338._0x28bda9,0x17c0)]['equals'](this['color'],_0x4fd179[_0x31a7a4(_0x232338._0xd71d97,0xcd0)])&&Cesium__namespace[_0x31a7a4(0x1bcb,0x14a3)][_0x31a7a4(0xac7,0xdd6)](this['bgColor'],_0x4fd179[_0x31a7a4(0x198e,_0x232338._0x583258)])&&this['speed']===_0x4fd179['speed'];}}registerPropertyClass(LineTrail,LineTrailMaterialProperty);class LineDotDashMaterialProperty extends BaseMaterialProperty{constructor(_0x45383f={}){const _0x401ce6={_0x44c54d:0x14f4,_0xba4ba8:0x461,_0x17a909:0xd2a,_0xb15b73:0x1358,_0x3d0c01:0x1d6c},_0x3db8fb={_0x2c2eb4:0x13b},_0x5146c0={_0x10e764:0x535};super(_0x45383f),this['color']=getCesiumColor(_0x45383f['color'],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0)),this[_0x367e4a(_0x401ce6._0x44c54d,0x1199)]=getCesiumColor(_0x45383f[_0x367e4a(0x14f4,0xecd)],Cesium__namespace['Color']['TRANSPARENT']),this[_0x367e4a(_0x401ce6._0xba4ba8,0x190)]=_0x45383f['dashLength']??0x10,this[_0x367e4a(_0x401ce6._0x17a909,0xefb)]=_0x45383f['dashPattern']??0xff;function _0x249b49(_0x52dd59,_0x474c94){return _0x306755(_0x474c94,_0x52dd59- -_0x5146c0._0x10e764);}function _0x367e4a(_0x5e4c4c,_0x18f2ef){return _0x2b6441(_0x18f2ef,_0x5e4c4c-_0x3db8fb._0x2c2eb4);}this[_0x367e4a(_0x401ce6._0xb15b73,_0x401ce6._0x3d0c01)]=_0x45383f['globalAlpha']??0x1;}['getType'](_0xb6fb3f){return LineDotDash;}[_0x306755(0x441,0xd7b)](_0x5909b6,_0x3dfacd){const _0x1b752d={_0xbd7ed:0x150c,_0x4d3cca:0xc09,_0x3ace61:0xb48,_0x510a1d:0xab9,_0x264c50:0xeea,_0x170b47:0x1670};function _0xf5b876(_0x3ba9ec,_0x5e8afa){return _0x306755(_0x5e8afa,_0x3ba9ec- -0x2a6);}!Cesium__namespace[_0xf5b876(_0x1b752d._0xbd7ed,0xc86)](_0x3dfacd)&&(_0x3dfacd={});function _0x376a71(_0x450e68,_0x187f9f){return _0x306755(_0x450e68,_0x187f9f- -0x14e);}return _0x3dfacd['color']=this[_0xf5b876(_0x1b752d._0x4d3cca,_0x1b752d._0x3ace61)],_0x3dfacd['gapColor']=this['gapColor'],_0x3dfacd['dashLength']=this[_0xf5b876(0x621,0xad4)],_0x3dfacd[_0x376a71(_0x1b752d._0x510a1d,0x1042)]=this[_0xf5b876(_0x1b752d._0x264c50,0x579)],_0x3dfacd[_0x376a71(0x1002,_0x1b752d._0x170b47)]=this[_0xf5b876(0x1518,0xdf0)],_0x3dfacd;}['equals'](_0x11502e){const _0x38323f={_0x1a6672:0x1de0,_0x5e4756:0x202e,_0x28d0d0:0x120c,_0x4977d3:0x149a};function _0x4a03ae(_0x3b10fb,_0x2f4dd4){return _0x306755(_0x2f4dd4,_0x3b10fb-0xf8);}function _0x593910(_0x1d4370,_0x2f0b75){return _0x306755(_0x2f0b75,_0x1d4370-0x7c);}return this===_0x11502e||_0x11502e instanceof LineDotDashMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x593910(0xf2b,0x1614)],_0x11502e['color'])&&Cesium__namespace['Property']['equals'](this[_0x4a03ae(0x1a52,_0x38323f._0x1a6672)],_0x11502e[_0x593910(0x19d6,_0x38323f._0x5e4756)])&&this['dashLength']===_0x11502e['dashLength']&&this['dashPattern']===_0x11502e[_0x593910(_0x38323f._0x28d0d0,_0x38323f._0x4977d3)];}}registerPropertyClass(LineDotDash,LineDotDashMaterialProperty);class LineDashArrowMaterialProperty extends BaseMaterialProperty{constructor(_0x2ab32d={}){const _0x4055c2={_0x42b28d:0xbdc,_0x4f9417:0x1476,_0x4ba052:0xc61,_0xa8c1a9:0x53d,_0x2ccdb2:0x1859,_0x441da0:0xb74,_0x14c3d7:0x208d},_0xb85fbb={_0x22f13a:0x101};super(_0x2ab32d),this['color']=_0x2ab32d[_0x16cf45(_0x4055c2._0x42b28d,_0x4055c2._0x4f9417)]??Cesium__namespace[_0x16cf45(_0x4055c2._0x4ba052,_0x4055c2._0xa8c1a9)]['WHITE'],this['gapColor']=getCesiumColor(_0x2ab32d[_0x2b38f5(0x162c,_0x4055c2._0x2ccdb2)],Cesium__namespace[_0x16cf45(_0x4055c2._0x4ba052,0x110e)]['TRANSPARENT']);function _0x2b38f5(_0x2c5b38,_0x5d45bc){return _0x306755(_0x2c5b38,_0x5d45bc- -_0xb85fbb._0x22f13a);}this[_0x2b38f5(_0x4055c2._0x441da0,0x7c6)]=_0x2ab32d['dashLength']??0x10;function _0x16cf45(_0x15293b,_0x14a7b1){return _0x306755(_0x14a7b1,_0x15293b- -0x2d3);}this['dashPattern']=_0x2ab32d['dashPattern']??0xff,this[_0x2b38f5(_0x4055c2._0x14c3d7,0x16bd)]=_0x2ab32d[_0x2b38f5(0xd41,0x16bd)]??0x1;}[_0x306755(0x1fac,0x1601)](_0x3501fb){return LineDashArrow;}[_0x2b6441(-0xd5,0x7da)](_0x2b957d,_0x5ab79d){const _0x57d8e6={_0x400798:0x36e,_0x51bf0d:0x881,_0x24a055:0xe9d};!Cesium__namespace['defined'](_0x5ab79d)&&(_0x5ab79d={});function _0x1896ad(_0x40e463,_0x16e610){return _0x306755(_0x40e463,_0x16e610- -0x46);}_0x5ab79d['color']=getCesiumColor(this['color'],new Cesium__namespace['Color'](0x1,0x1,0x1,0x0),_0x2b957d),_0x5ab79d[_0x54c90e(0x1401,0x102a)]=this[_0x1896ad(0x2345,0x1914)],_0x5ab79d[_0x54c90e(_0x57d8e6._0x400798,0xdb9)]=this[_0x1896ad(0x127,_0x57d8e6._0x51bf0d)],_0x5ab79d['dashPattern']=this[_0x54c90e(0xc37,_0x57d8e6._0x24a055)],_0x5ab79d['globalAlpha']=this['globalAlpha'];function _0x54c90e(_0x338b84,_0xe7fe21){return _0x2b6441(_0xe7fe21,_0x338b84-0x48);}return _0x5ab79d;}[_0x306755(0x132d,0xfb5)](_0x589cde){function _0x48ac52(_0x3aa2d9,_0x57853b){return _0x2b6441(_0x57853b,_0x3aa2d9-0x350);}return this===_0x589cde||_0x589cde instanceof LineDashArrowMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x48ac52(0xc5e,0xd19)],_0x589cde['color'])&&Cesium__namespace['Property']['equals'](this['gapColor'],_0x589cde['gapColor']);}}registerPropertyClass(LineDashArrow,LineDashArrowMaterialProperty);class NeonLightMaterialProperty extends BaseMaterialProperty{constructor(_0x3d747b={}){const _0x344665={_0x4afe27:0xb2b,_0x23d252:0xac8,_0x3841ec:0x910,_0x50f0ac:0x830},_0x12ff37={_0x3b056a:0x384},_0x3a63e9={_0x42ce79:0x37};function _0x4ab059(_0x40c411,_0x1b3b7a){return _0x2b6441(_0x1b3b7a,_0x40c411-_0x3a63e9._0x42ce79);}super(_0x3d747b);function _0x1c4f11(_0x3efc0c,_0x59530a){return _0x306755(_0x3efc0c,_0x59530a- -_0x12ff37._0x3b056a);}this[_0x1c4f11(0x702,_0x344665._0x4afe27)]=getCesiumColor(_0x3d747b[_0x4ab059(0x945,0xfcb)],Cesium__namespace[_0x4ab059(0x9ca,_0x344665._0x23d252)]['fromCssColorString']('#9b08fd')),this[_0x4ab059(_0x344665._0x3841ec,_0x344665._0x50f0ac)]=_0x3d747b['speed']??0x2,this['globalAlpha']=_0x3d747b[_0x4ab059(0x1254,0x13e8)]??0x1;}['getType'](_0x57bc72){return NeonLight;}['getValue'](_0x592860,_0x533282){const _0x271e65={_0x2639b6:0x1026,_0x2021de:0xd2c,_0x466544:0x1589,_0x4cce56:0xd79};!Cesium__namespace[_0xb8d20(0x16b7,_0x271e65._0x2639b6)](_0x533282)&&(_0x533282={});function _0xb8d20(_0x224c80,_0x20b1a8){return _0x306755(_0x20b1a8,_0x224c80- -0xfb);}function _0x57d007(_0x15a7e6,_0x339535){return _0x306755(_0x339535,_0x15a7e6- -0x101);}return _0x533282[_0xb8d20(0xdb4,_0x271e65._0x2021de)]=this[_0xb8d20(0xdb4,0x4f0)],_0x533282[_0xb8d20(0xd7f,_0x271e65._0x466544)]=this[_0x57d007(_0x271e65._0x4cce56,0x1226)],_0x533282['globalAlpha']=this['globalAlpha'],_0x533282;}['equals'](_0x501b35){const _0x3dd491={_0x4c82f2:0x155e,_0x2ab890:0x49d,_0x3a9c44:0xf6f};function _0xff781c(_0x279b88,_0x14d1ab){return _0x306755(_0x14d1ab,_0x279b88- -0x291);}function _0x13fe23(_0x466744,_0x4fbd71){return _0x2b6441(_0x466744,_0x4fbd71-0x696);}return this===_0x501b35||_0x501b35 instanceof NeonLightMaterialProperty&&Cesium__namespace[_0xff781c(0x13f1,_0x3dd491._0x4c82f2)]['equals'](this['color'],_0x501b35[_0xff781c(0xc1e,0xafb)])&&this['speed']===_0x501b35[_0x13fe23(_0x3dd491._0x2ab890,_0x3dd491._0x3a9c44)];}}registerPropertyClass(NeonLight,NeonLightMaterialProperty);class LineThreeDashMaterialProperty extends BaseMaterialProperty{constructor(_0x5cb612={}){const _0xac6604={_0x5f637c:0x1739,_0x27ae6a:0xb18,_0xf91ffc:0x6f3,_0x32729f:0xff0},_0x5a8f4e={_0x45ef90:0x520},_0x380108={_0x40c6a0:0x65c};super(_0x5cb612),this['color']=getCesiumColor(_0x5cb612['color'],Cesium__namespace['Color']['RED']),this['dashLength']=_0x5cb612[_0x1cb47d(0x3a7,0xbd2)]??0x10,this['widthRatio']=_0x5cb612['widthRatio']??0.1;function _0x58d6b3(_0xb69a54,_0x4c3105){return _0x2b6441(_0xb69a54,_0x4c3105-_0x380108._0x40c6a0);}this['sidesColor']=getCesiumColor(_0x5cb612[_0x58d6b3(0x1916,_0xac6604._0x5f637c)],Cesium__namespace['Color'][_0x58d6b3(0x14dd,_0xac6604._0x27ae6a)]),this[_0x1cb47d(0x6f3,0xbce)]=_0x5cb612[_0x1cb47d(_0xac6604._0xf91ffc,0x330)]??0x20,this[_0x58d6b3(0x530,_0xac6604._0x32729f)]=_0x5cb612['sidesWidthRatio']??0.1,this['dashPattern']=_0x5cb612['dashPattern']??0xff;function _0x1cb47d(_0x37f0ae,_0xe17df0){return _0x306755(_0xe17df0,_0x37f0ae- -_0x5a8f4e._0x45ef90);}this['globalAlpha']=_0x5cb612['globalAlpha']??0x1;}[_0x306755(0x1796,0x1601)](_0x31c398){return LineThreeDash;}['getValue'](_0x10d2d3,_0x1ded8f){const _0x45b571={_0x1d07fe:0xe8,_0x231205:0x99d,_0x26270d:0xa26};!Cesium__namespace['defined'](_0x1ded8f)&&(_0x1ded8f={});_0x1ded8f['color']=getCesiumColor(this['color'],Cesium__namespace['Color'][_0x32e954(0x40d,-0x23c)],_0x10d2d3),_0x1ded8f['dashLength']=this[_0x32e954(0x387,_0x45b571._0x1d07fe)],_0x1ded8f[_0x3e7cf3(0x870,0xa6b)]=this[_0x3e7cf3(0x870,_0x45b571._0x231205)],_0x1ded8f['sidesColor']=getCesiumColor(this['sidesColor'],Cesium__namespace[_0x3e7cf3(0x9c7,0x117b)][_0x3e7cf3(0x4f0,_0x45b571._0x26270d)],_0x10d2d3),_0x1ded8f['sidesDashLength']=this['sidesDashLength'];function _0x32e954(_0x5dd847,_0x565390){return _0x306755(_0x565390,_0x5dd847- -0x540);}_0x1ded8f['sidesWidthRatio']=this['sidesWidthRatio'],_0x1ded8f[_0x32e954(0xc50,0xf1d)]=this['dashPattern'];function _0x3e7cf3(_0x2e6f77,_0x58a6b2){return _0x2b6441(_0x58a6b2,_0x2e6f77-0x34);}return _0x1ded8f['globalAlpha']=this['globalAlpha'],_0x1ded8f;}['equals'](_0xbb3305){const _0x8f0854={_0x19b1c5:0xc06,_0x4bd20a:0x8f4},_0xc68998={_0x3d7750:0x586},_0x1a2f1a={_0x367f6e:0x2f8};function _0x47cc9d(_0xfc15cb,_0x3b2ff7){return _0x2b6441(_0x3b2ff7,_0xfc15cb-_0x1a2f1a._0x367f6e);}function _0x472b80(_0x147076,_0x2c509a){return _0x306755(_0x2c509a,_0x147076- -_0xc68998._0x3d7750);}return this===_0xbb3305||_0xbb3305 instanceof LineThreeDashMaterialProperty&&Cesium__namespace[_0x47cc9d(0x13d9,0x1852)]['equals'](this[_0x472b80(0x929,0x4f6)],_0xbb3305[_0x47cc9d(_0x8f0854._0x19b1c5,0x6c4)])&&this['speed']===_0xbb3305[_0x472b80(_0x8f0854._0x4bd20a,0x89a)];}}registerPropertyClass(LineThreeDash,LineThreeDashMaterialProperty);class LineCrossMaterialProperty extends BaseMaterialProperty{constructor(_0x534510={}){const _0x14d8cb={_0x3b99f4:0xe1f,_0x56d505:0xe1f,_0x26b471:0x837,_0x5f58b9:0x10bd};super(_0x534510),this[_0x4677cd(0x42c,_0x14d8cb._0x3b99f4)]=getCesiumColor(_0x534510[_0x4677cd(0x1774,_0x14d8cb._0x56d505)],Cesium__namespace['Color']['WHITE']),this['dashLength']=_0x534510[_0x4677cd(0xb48,_0x14d8cb._0x26b471)]??0x1e,this['maskLength']=_0x534510[_0x4677cd(_0x14d8cb._0x5f58b9,0xc43)]??0xa,this['centerPower']=_0x534510['centerPower']??0.1,this['dashPower']=_0x534510['dashPower']??0.2,this[_0x4677cd(0x1294,0x1100)]=_0x534510['dashPattern']??0xff;function _0x4a127b(_0x18f67c,_0x332c3e){return _0x2b6441(_0x332c3e,_0x18f67c-0x511);}function _0x4677cd(_0x779a0d,_0x1005b0){return _0x306755(_0x779a0d,_0x1005b0- -0x90);}this['globalAlpha']=_0x534510['globalAlpha']??0x1;}['getType'](_0x150c38){return LineCross;}[_0x306755(0x925,0xd7b)](_0x255cbe,_0x49185b){const _0x4aba7e={_0x5931e6:0x16b8,_0x38a96a:0x14c6,_0xdd0e9a:0x1901,_0x1eebac:0x959,_0xbf7066:0x12dc};!Cesium__namespace['defined'](_0x49185b)&&(_0x49185b={});_0x49185b[_0x3783c7(0xbbf,0x1151)]=getCesiumColor(this['color'],Cesium__namespace['Color']['WHITE'],_0x255cbe),_0x49185b['dashLength']=this['dashLength'];function _0x3783c7(_0x331159,_0x4d3683){return _0x306755(_0x4d3683,_0x331159- -0x2f0);}function _0x10089f(_0x438b61,_0x111d04){return _0x306755(_0x438b61,_0x111d04- -0x4e2);}return _0x49185b['maskLength']=this['maskLength'],_0x49185b['centerPower']=this['centerPower'],_0x49185b[_0x3783c7(_0x4aba7e._0x5931e6,0x1c63)]=this[_0x10089f(0x143d,_0x4aba7e._0x38a96a)],_0x49185b['dashPattern']=this[_0x3783c7(0xea0,_0x4aba7e._0xdd0e9a)],_0x49185b['globalAlpha']=this[_0x10089f(_0x4aba7e._0x1eebac,_0x4aba7e._0xbf7066)],_0x49185b;}['equals'](_0x383019){const _0x319138={_0x4e57b7:0x1241,_0x30aa05:0xa33};function _0x4c36d8(_0x2ccb0a,_0x22e130){return _0x2b6441(_0x22e130,_0x2ccb0a-0x125);}function _0x478e2c(_0x537c5c,_0x41b89f){return _0x306755(_0x537c5c,_0x41b89f- -0x355);}return this===_0x383019||_0x383019 instanceof LineCrossMaterialProperty&&Cesium__namespace[_0x478e2c(_0x319138._0x4e57b7,0x132d)]['equals'](this[_0x4c36d8(_0x319138._0x30aa05,0xa2c)],_0x383019['color'])&&this['speed']===_0x383019['speed'];}}registerPropertyClass(LineCross,LineCrossMaterialProperty);class ODLineMaterialProperty extends BaseMaterialProperty{constructor(_0x2dc12e={}){const _0x202d4e={_0x56ee2f:0xd33,_0x1309a4:0xfa5,_0x41b3ab:0x802,_0x2ead83:0xa73,_0x473fdc:0xa63,_0x5364ab:0xcd9,_0x49e633:0x807,_0x12d45c:0xeeb,_0x14849c:0xce8,_0x1a79ff:0x8cf,_0x28ebe7:0x11bc,_0x420f79:0x15be,_0x5f244c:0xbf0};function _0x3bf386(_0x3d97a4,_0x1510b3){return _0x2b6441(_0x3d97a4,_0x1510b3-0x612);}super(_0x2dc12e),this[_0x3bf386(_0x202d4e._0x56ee2f,0xf20)]=getCesiumColor(_0x2dc12e['color'],new Cesium__namespace[(_0x3bf386(0x87a,_0x202d4e._0x1309a4))](Math[_0x312ef7(_0x202d4e._0x41b3ab,0x11b4)]()*0.5+0.5,Math[_0x3bf386(0x14b5,_0x202d4e._0x2ead83)]()*0.8+0.2,0x0,0x1)),this[_0x3bf386(_0x202d4e._0x473fdc,0x1389)]=getCesiumColor(_0x2dc12e[_0x3bf386(_0x202d4e._0x5364ab,0x1389)],this['color']['withAlpha'](0.1));function _0x312ef7(_0x582ac6,_0x3628d2){return _0x2b6441(_0x3628d2,_0x582ac6-0x3a1);}this['speed']=_0x2dc12e[_0x3bf386(_0x202d4e._0x49e633,_0x202d4e._0x12d45c)]??0x14+0xa*Math['random'](),this['startTime']=_0x2dc12e[_0x312ef7(_0x202d4e._0x14849c,_0x202d4e._0x1a79ff)]??Math['random'](),this[_0x312ef7(0xeca,_0x202d4e._0x28ebe7)]=_0x2dc12e['bidirectional']??0x0,this['globalAlpha']=_0x2dc12e[_0x312ef7(_0x202d4e._0x420f79,_0x202d4e._0x5f244c)]??0x1;}['getType'](_0xc34e22){return ODLine;}['getValue'](_0x30cfc8,_0x182250){const _0x1fd0ba={_0x2c3a14:0x4f,_0x4a71ac:0xb1e,_0x32ebf7:0xd4a},_0x228d3b={_0x114c24:0x210},_0x1703f5={_0x506e0f:0x431};!_0x182250&&(_0x182250={});_0x182250['color']=this[_0xef0ce0(_0x1fd0ba._0x2c3a14,_0x1fd0ba._0x4a71ac)],_0x182250['speed']=this[_0x211b20(0xd0a,0xb7e)];function _0x211b20(_0x48592a,_0x26f82b){return _0x2b6441(_0x26f82b,_0x48592a-_0x1703f5._0x506e0f);}_0x182250['startTime']=this['startTime'],_0x182250['bgColor']=this['bgColor'],_0x182250['bidirectional']=this[_0xef0ce0(_0x1fd0ba._0x32ebf7,0xd39)];function _0xef0ce0(_0x54a8f8,_0x46f3bf){return _0x2b6441(_0x54a8f8,_0x46f3bf-_0x228d3b._0x114c24);}return _0x182250['globalAlpha']=this['globalAlpha'],_0x182250;}['equals'](_0xef1c2e){const _0x3ef85c={_0x12260c:0xdc9,_0xd582ec:0x626},_0x5150cb={_0x49d6b8:0x81};function _0x4c1b9e(_0x366da3,_0x53cd3d){return _0x306755(_0x366da3,_0x53cd3d-_0x5150cb._0x49d6b8);}function _0x1d4e9d(_0x237b1a,_0x20bad8){return _0x306755(_0x20bad8,_0x237b1a- -0xb1);}return this===_0xef1c2e||_0xef1c2e instanceof ODLineMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x4c1b9e(0x719,0xf30)],_0xef1c2e['color'])&&Cesium__namespace['Property']['equals'](this['bgColor'],_0xef1c2e[_0x1d4e9d(0x1267,0xa83)])&&this['speed']===_0xef1c2e[_0x1d4e9d(_0x3ef85c._0x12260c,0x652)]&&this['startTime']===_0xef1c2e['startTime']&&this['bidirectional']===_0xef1c2e[_0x1d4e9d(0x1019,_0x3ef85c._0xd582ec)];}}registerPropertyClass(ODLine,ODLineMaterialProperty);class PolyAsphaltMaterialProperty extends BaseMaterialProperty{constructor(_0x2569ef={}){const _0x5b8ba7={_0x4b8332:0xc75,_0xfde39e:0x13b9},_0x45a0da={_0x965251:0x354};function _0x1bf3bc(_0x396176,_0x52e954){return _0x2b6441(_0x52e954,_0x396176- -0xa4);}super(_0x2569ef),this[_0x57c476(0xb5b,0xf57)]=getCesiumColor(_0x2569ef[_0x1bf3bc(0x86a,_0x5b8ba7._0x4b8332)],new Cesium__namespace['Color'](0x0,0x0,0x0,0x0));function _0x57c476(_0x10d855,_0x34b39b){return _0x306755(_0x34b39b,_0x10d855- -_0x45a0da._0x965251);}this['size']=_0x2569ef['size']??0.02,this[_0x57c476(0x1213,0x1097)]=_0x2569ef['frequency']??0.2,this[_0x57c476(0x146a,_0x5b8ba7._0xfde39e)]=_0x2569ef['globalAlpha']??0x1;}['getType'](_0x50ba3c){return PolyAsphalt;}[_0x2b6441(0x108,0x7da)](_0xa56941,_0x413329){const _0x2c4d46={_0x2d71f2:0xc0d};!Cesium__namespace['defined'](_0x413329)&&(_0x413329={});_0x413329['color']=this[_0x53b4d7(0x1339,0x99d)],_0x413329[_0x53b4d7(0x4aa,_0x2c4d46._0x2d71f2)]=this['size'],_0x413329['frequency']=this[_0x38c3e(0x122e,0x1ba0)],_0x413329['globalAlpha']=this['globalAlpha'];function _0x38c3e(_0x2c159a,_0x23188d){return _0x306755(_0x23188d,_0x2c159a- -0x339);}function _0x53b4d7(_0x5624ea,_0x336671){return _0x306755(_0x5624ea,_0x336671- -0x512);}return _0x413329;}[_0x2b6441(0xb7d,0xa14)](_0x4a905e){const _0x250624={_0x4316c4:0xf2b,_0x307791:0x15dc};function _0x3786bd(_0x4203fc,_0x3f8251){return _0x306755(_0x4203fc,_0x3f8251-0x7c);}function _0x5de083(_0x472163,_0x5668c2){return _0x2b6441(_0x5668c2,_0x472163-0x3ad);}return this===_0x4a905e||_0x4a905e instanceof PolyAsphaltMaterialProperty&&Cesium__namespace['Property'][_0x3786bd(0x76d,0x1031)](this['color'],_0x4a905e['color'])&&this[_0x3786bd(0x1838,0x15e3)]===_0x4a905e[_0x3786bd(0x1063,0x15e3)]&&this[_0x5de083(_0x250624._0x4316c4,_0x250624._0x307791)]===_0x4a905e[_0x3786bd(0x98f,0x119b)];}}registerPropertyClass(PolyAsphalt,PolyAsphaltMaterialProperty);class PolyBlobMaterialProperty extends BaseMaterialProperty{constructor(_0x5130ca={}){const _0x245ee1={_0x1ce305:0x1a98};function _0x19b76b(_0x2ad80b,_0x143d36){return _0x306755(_0x2ad80b,_0x143d36- -0x51b);}super(_0x5130ca),this[_0x19b76b(0x1092,0x1191)]=getCesiumColor(_0x5130ca['evenColor'],new Cesium__namespace[(_0x19b76b(0xc48,0xa19))](0x1,0x1,0x1,0.5)),this['oddColor']=getCesiumColor(_0x5130ca['evenColor'],new Cesium__namespace['Color'](0x0,0x0,0x1,0.5)),this['frequency']=_0x5130ca['frequency']??0xa;function _0x24c207(_0x4ca8d7,_0x4da37d){return _0x2b6441(_0x4ca8d7,_0x4da37d-0x5cb);}this[_0x19b76b(_0x245ee1._0x1ce305,0x12a3)]=_0x5130ca['globalAlpha']??0x1;}['getType'](_0x50cb62){return PolyBlob;}['getValue'](_0x437574,_0x24a77f){const _0x4ebb72={_0x5c4602:0x1c0d},_0x2a7ad0={_0x46658b:0x22},_0x436fa3={_0x555b04:0x96};function _0x420e99(_0x2dc2c3,_0x3b76b3){return _0x306755(_0x3b76b3,_0x2dc2c3-_0x436fa3._0x555b04);}!Cesium__namespace['defined'](_0x24a77f)&&(_0x24a77f={});_0x24a77f['evenColor']=this['evenColor'],_0x24a77f['evenColor']=this['oddColor'],_0x24a77f['frequency']=this['frequency'];function _0x2ad392(_0x54dd83,_0x194aab){return _0x306755(_0x194aab,_0x54dd83- -_0x2a7ad0._0x46658b);}return _0x24a77f[_0x2ad392(0x179c,0x19aa)]=this[_0x2ad392(0x179c,_0x4ebb72._0x5c4602)],_0x24a77f;}['equals'](_0x437ff4){const _0x4a705e={_0x693e9a:0xa72,_0x1abf14:0xce0,_0x52ec16:0x1954},_0x20cf61={_0x58e535:0xaa};function _0x34e510(_0x3d406c,_0x39ad02){return _0x2b6441(_0x3d406c,_0x39ad02- -_0x20cf61._0x58e535);}function _0x2c6b92(_0x388798,_0x512f3b){return _0x306755(_0x512f3b,_0x388798- -0x543);}return this===_0x437ff4||_0x437ff4 instanceof PolyBlobMaterialProperty&&Cesium__namespace['Property'][_0x2c6b92(_0x4a705e._0x693e9a,_0x4a705e._0x1abf14)](this['evenColor'],_0x437ff4['evenColor'])&&Cesium__namespace[_0x2c6b92(0x113f,0x99e)]['equals'](this['oddColor'],_0x437ff4['oddColor'])&&this['frequency']===_0x437ff4[_0x34e510(_0x4a705e._0x52ec16,0xf1c)];}}registerPropertyClass(PolyBlob,PolyBlobMaterialProperty);class PolyFacetMaterialProperty extends PolyBlobMaterialProperty{['getType'](_0x57b40b){return PolyFacet;}}registerPropertyClass(PolyFacet,PolyFacetMaterialProperty);class PolyGradientMaterialProperty extends BaseMaterialProperty{constructor(_0x583d73={}){const _0xd6a5e0={_0x1641d0:0x1363,_0x76a2fd:0x1059,_0x46f9e2:0x154c},_0x3c9efd={_0x756be0:0x311};super(_0x583d73),this['color']=getCesiumColor(_0x583d73[_0x8ebae7(0x2de,0xc1f)],new Cesium__namespace[(_0x379e25(_0xd6a5e0._0x1641d0,_0xd6a5e0._0x76a2fd))](0x1,0x1,0x0,0.5)),this[_0x379e25(_0xd6a5e0._0x46f9e2,0xe4e)]=_0x583d73['diffusePower']??1.6,this[_0x379e25(-0x1d8,0x634)]=_0x583d73['alphaPower']??1.5,this['isInner']=_0x583d73['isInner']??![];function _0x379e25(_0x35ea7c,_0x1b766a){return _0x2b6441(_0x35ea7c,_0x1b766a-0x6c6);}function _0x8ebae7(_0x3a94c4,_0x428efd){return _0x2b6441(_0x3a94c4,_0x428efd-_0x3c9efd._0x756be0);}this['center']=_0x583d73[_0x379e25(0x4b6,0x821)]??new Cesium__namespace['Cartesian2'](0.5,0.5),this['globalAlpha']=_0x583d73['globalAlpha']??0x1;}['getType'](_0xd3d1e){return PolyGradient;}['getValue'](_0x2b62aa,_0x5b3af7){const _0x17863d={_0x389c27:0xc32,_0x1c2a7b:0xd9f,_0x233ef8:0x12a,_0x4a6469:0x772};!Cesium__namespace['defined'](_0x5b3af7)&&(_0x5b3af7={});_0x5b3af7[_0x39d7e0(0xf72,0x9c7)]=this['color'],_0x5b3af7['diffusePower']=this[_0x1aff04(_0x17863d._0x389c27,_0x17863d._0x1c2a7b)];function _0x1aff04(_0x1d753a,_0x1651ae){return _0x306755(_0x1d753a,_0x1651ae-0x76);}_0x5b3af7['alphaPower']=this['alphaPower'],_0x5b3af7['center']=this[_0x1aff04(_0x17863d._0x233ef8,_0x17863d._0x4a6469)],_0x5b3af7['isInner']=this[_0x1aff04(0x1888,0x104e)];function _0x39d7e0(_0x27d5ca,_0x57a00a){return _0x306755(_0x27d5ca,_0x57a00a- -0x4e8);}return _0x5b3af7[_0x1aff04(0x140c,0x1834)]=this['globalAlpha'],_0x5b3af7;}[_0x306755(0xdd0,0xfb5)](_0xa4e32d){const _0x36a0f6={_0x3e6904:0x13be,_0x5bc81e:0xe6e},_0x23b543={_0x51ae6c:0x4ee},_0x4f1740={_0x4e4420:0x145};function _0x26c3cb(_0x29abcd,_0x175d85){return _0x306755(_0x29abcd,_0x175d85-_0x4f1740._0x4e4420);}function _0x8ff264(_0x1bdb4c,_0xd11d94){return _0x2b6441(_0x1bdb4c,_0xd11d94-_0x23b543._0x51ae6c);}return this===_0xa4e32d||_0xa4e32d instanceof PolyGradientMaterialProperty&&Cesium__namespace['Property']['equals'](this[_0x26c3cb(0xbd4,0xff4)],_0xa4e32d[_0x8ff264(0x4ef,0xdfc)])&&this['diffusePower']===_0xa4e32d[_0x26c3cb(_0x36a0f6._0x3e6904,_0x36a0f6._0x5bc81e)];}}registerPropertyClass(PolyGradient,PolyGradientMaterialProperty);class PolyGrassMaterialProperty extends PolyBlobMaterialProperty{[_0x306755(0xe57,0x1601)](_0x1dd0c1){return PolyGrass;}}registerPropertyClass(PolyGrass,PolyGrassMaterialProperty);class PolyWoodMaterialProperty extends BaseMaterialProperty{constructor(_0x1a85db={}){const _0x54b006={_0x1d90b0:0xdf9,_0x3bafa6:0x1b35,_0x4a7756:0x1683};super(_0x1a85db);function _0x2d102f(_0x1fa549,_0x5cfe31){return _0x306755(_0x5cfe31,_0x1fa549-0x9f);}this['evenColor']=getCesiumColor(_0x1a85db['evenColor'],new Cesium__namespace['Color'](0x1,0x1,0x1,0.5)),this['oddColor']=getCesiumColor(_0x1a85db['evenColor'],new Cesium__namespace[(_0x23fabf(_0x54b006._0x1d90b0,0x1756))](0x0,0x0,0x1,0.5)),this['frequency']=_0x1a85db[_0x23fabf(0x142c,0x108c)]??0xa,this['noiseScale']=_0x1a85db['noiseScale']??new Cesium__namespace[(_0x2d102f(0x58b,-0x177))](0.7,0.5),this['grainFrequency']=_0x1a85db[_0x23fabf(0x16ab,_0x54b006._0x3bafa6)]??0x1b;function _0x23fabf(_0x33fb4f,_0x3e9e16){return _0x306755(_0x3e9e16,_0x33fb4f- -0x13b);}this[_0x23fabf(_0x54b006._0x4a7756,0xd7f)]=_0x1a85db['globalAlpha']??0x1;}['getType'](_0x64d978){return PolyWood;}[_0x2b6441(0x7d0,0x7da)](_0x3a56a4,_0x570aed){const _0x1a90fd={_0x3f65f0:0x1104,_0xddc78f:0x704,_0x5f0b8b:0xfbf},_0x1f3a1c={_0x227974:0x7};!Cesium__namespace['defined'](_0x570aed)&&(_0x570aed={});_0x570aed[_0x518278(0xe77,0x114a)]=this['evenColor'];function _0x140734(_0x2d794a,_0x547adb){return _0x2b6441(_0x547adb,_0x2d794a- -_0x1f3a1c._0x227974);}_0x570aed[_0x140734(_0x1a90fd._0x3f65f0,_0x1a90fd._0xddc78f)]=this['oddColor'],_0x570aed[_0x140734(_0x1a90fd._0x5f0b8b,0xb07)]=this['frequency'],_0x570aed['noiseScale']=this['noiseScale'],_0x570aed['grainFrequency']=this[_0x140734(0x123e,0xfb3)];function _0x518278(_0x563560,_0x160579){return _0x2b6441(_0x563560,_0x160579-0x3f);}return _0x570aed['globalAlpha']=this['globalAlpha'],_0x570aed;}['equals'](_0x4e4a0){const _0x5d9263={_0x3c3ffc:0x10d8,_0x5873b3:0x1571,_0x739493:0x16fd,_0x16f237:0xd5b,_0x40f262:0x15b8},_0x3fd523={_0x2cbfc9:0x544};function _0x260c17(_0x2a2ab0,_0x503e55){return _0x306755(_0x2a2ab0,_0x503e55- -_0x3fd523._0x2cbfc9);}function _0x194149(_0x503ff5,_0x34a448){return _0x2b6441(_0x503ff5,_0x34a448-0x5f2);}return this===_0x4e4a0||_0x4e4a0 instanceof PolyWoodMaterialProperty&&Cesium__namespace['Property'][_0x194149(_0x5d9263._0x3c3ffc,0x1006)](this[_0x260c17(_0x5d9263._0x5873b3,0x1168)],_0x4e4a0[_0x194149(0x1597,_0x5d9263._0x739493)])&&Cesium__namespace['Property'][_0x194149(0x14a8,0x1006)](this['oddColor'],_0x4e4a0['oddColor'])&&this[_0x194149(0x1002,0x15b8)]===_0x4e4a0[_0x194149(_0x5d9263._0x16f237,_0x5d9263._0x40f262)];}}registerPropertyClass(PolyWood,PolyWoodMaterialProperty);class RadarLineMaterialProperty extends BaseMaterialProperty{constructor(_0x28520a={}){const _0x2bc4aa={_0x1578f5:0x8d8,_0x5b26d7:0xee5,_0x2b7659:0x8a3,_0x59a9e4:0x753},_0x200df3={_0x191980:0x6b};super(_0x28520a),this['color']=getCesiumColor(_0x28520a[_0x2a69ef(_0x2bc4aa._0x1578f5,0x4f9)],new Cesium__namespace[(_0x2a69ef(0x95d,0x5ff))](0x0,0x0,0x0,0x0)),this[_0x1421fc(0x7ae,_0x2bc4aa._0x5b26d7)]=_0x28520a[_0x2a69ef(_0x2bc4aa._0x2b7659,_0x2bc4aa._0x59a9e4)]??0x5;function _0x1421fc(_0x21a573,_0x4725bd){return _0x306755(_0x21a573,_0x4725bd-_0x200df3._0x191980);}function _0x2a69ef(_0x4dc84f,_0x223ef0){return _0x306755(_0x223ef0,_0x4dc84f- -0x5d7);}this['globalAlpha']=_0x28520a[_0x2a69ef(0x11e7,0xdde)]??0x1;}['getType'](_0x4f1436){return RadarLine;}['getValue'](_0xa2a4d3,_0x540b1a){const _0x441883={_0x3b3804:0xb4c,_0x62c066:0x13d9};!Cesium__namespace['defined'](_0x540b1a)&&(_0x540b1a={});function _0x166a3b(_0x5dad61,_0x44cbdf){return _0x2b6441(_0x44cbdf,_0x5dad61-0x16b);}_0x540b1a['color']=this[_0x189f96(0x7c9,_0x441883._0x3b3804)],_0x540b1a['speed']=this['speed'];function _0x189f96(_0x5b2389,_0x3a6399){return _0x2b6441(_0x5b2389,_0x3a6399-0x23e);}return _0x540b1a['globalAlpha']=this[_0x189f96(_0x441883._0x62c066,0x145b)],_0x540b1a;}[_0x306755(0xbb6,0xfb5)](_0x28e9d8){const _0x3deb7f={_0x537b43:0xfc5};function _0x1dc899(_0x147348,_0x3c0858){return _0x306755(_0x147348,_0x3c0858- -0x49b);}return this===_0x28e9d8||_0x28e9d8 instanceof RadarLineMaterialProperty&&Cesium__namespace[_0x1dc899(_0x3deb7f._0x537b43,0x11e7)]['equals'](this['color'],_0x28e9d8['color'])&&this['speed']===_0x28e9d8['speed'];}}registerPropertyClass(RadarLine,RadarLineMaterialProperty);class RadarWaveMaterialProperty extends BaseMaterialProperty{constructor(_0x205c2a={}){const _0x13a485={_0x4c6441:0x886,_0x388314:0xcaa,_0x383751:0xae2,_0x5a0442:0x2e0,_0x52516f:0x1195,_0x44a762:0x1373};super(_0x205c2a),this[_0x414f98(_0x13a485._0x4c6441,_0x13a485._0x388314)]=getCesiumColor(_0x205c2a['color'],new Cesium__namespace[(_0x20eea6(_0x13a485._0x383751,0xf5b))](0x0,0x0,0x0,0x0));function _0x20eea6(_0x3ea58b,_0x38fd95){return _0x2b6441(_0x3ea58b,_0x38fd95-0x5c8);}this['speed']=_0x205c2a[_0x414f98(0x851,_0x13a485._0x5a0442)]??0x5;function _0x414f98(_0x5507e8,_0x38b212){return _0x306755(_0x38b212,_0x5507e8- -0x629);}this['globalAlpha']=_0x205c2a[_0x414f98(_0x13a485._0x52516f,_0x13a485._0x44a762)]??0x1;}[_0x306755(0xdea,0x1601)](_0xcd9897){return RadarWave;}['getValue'](_0x56a9d3,_0x2a6391){const _0x57b7e0={_0x2982cf:0x14fe,_0x12c14a:0xcdc,_0x51057d:0x1667,_0x1b80bf:0xcdc,_0x351ef5:0x150a,_0x31191e:0xc4b,_0x44e859:0x1620},_0x111fdb={_0x5d8d2e:0x2ed};!Cesium__namespace[_0x242c01(_0x57b7e0._0x2982cf,0x10c6)](_0x2a6391)&&(_0x2a6391={});function _0x50236e(_0x3ae1b9,_0x4edf8d){return _0x306755(_0x3ae1b9,_0x4edf8d- -0x19e);}_0x2a6391['color']=this['color'],_0x2a6391[_0x50236e(0xb2f,_0x57b7e0._0x12c14a)]=this[_0x50236e(_0x57b7e0._0x51057d,_0x57b7e0._0x1b80bf)],_0x2a6391[_0x242c01(_0x57b7e0._0x351ef5,0x1f80)]=this[_0x50236e(_0x57b7e0._0x31191e,_0x57b7e0._0x44e859)];function _0x242c01(_0x281964,_0x8be6b5){return _0x2b6441(_0x8be6b5,_0x281964-_0x111fdb._0x5d8d2e);}return _0x2a6391;}['equals'](_0x177a71){const _0x263ae1={_0x3fa579:0x14eb,_0x177fe6:0x121b};function _0x3a7d47(_0x4f5adb,_0x5ba02f){return _0x306755(_0x5ba02f,_0x4f5adb- -0x197);}return this===_0x177a71||_0x177a71 instanceof RadarWaveMaterialProperty&&Cesium__namespace[_0x3a7d47(_0x263ae1._0x3fa579,_0x263ae1._0x177fe6)]['equals'](this['color'],_0x177a71['color'])&&this['speed']===_0x177a71['speed'];}}registerPropertyClass(RadarWave,RadarWaveMaterialProperty);class RectSlideMaterialProperty extends BaseMaterialProperty{constructor(_0x81bb08={}){const _0x39f87a={_0x313160:0x1590,_0x134f7f:0x3ab,_0x1f921c:0xddb,_0x72538d:0x325},_0x1b5aff={_0x2c5796:0x12b};super(_0x81bb08);function _0x2139db(_0x1478bb,_0x5cb889){return _0x2b6441(_0x1478bb,_0x5cb889-0x502);}this[_0x5a4a79(0x58c,-0x4e9)]=_0x81bb08['image'];function _0x5a4a79(_0xa4b998,_0x191ada){return _0x306755(_0x191ada,_0xa4b998- -_0x1b5aff._0x2c5796);}this['color']=getCesiumColor(_0x81bb08['color'],new Cesium__namespace[(_0x2139db(_0x39f87a._0x313160,0xe95))](0x1,0x1,0x1,0.9)),this['speed']=_0x81bb08[_0x2139db(_0x39f87a._0x134f7f,_0x39f87a._0x1f921c)]??0x1,this['pure']=!!_0x81bb08[_0x2139db(_0x39f87a._0x72538d,0x6d8)],this['globalAlpha']=_0x81bb08['globalAlpha']??0x1;}[_0x2b6441(0xa0b,0x1060)](_0x57ca45){return RectSlide;}[_0x306755(0xc21,0xd7b)](_0x50c774,_0x3ca1f9){const _0x4cd952={_0x5801b3:0xfda,_0x23bdc5:0x8a2},_0xb4bc92={_0x1a4bfe:0x12b};!Cesium__namespace[_0x5b204f(0x14f8,0x1da9)](_0x3ca1f9)&&(_0x3ca1f9={});function _0x3dd610(_0x492018,_0x3fc178){return _0x306755(_0x3fc178,_0x492018-_0xb4bc92._0x1a4bfe);}function _0x5b204f(_0x554c07,_0x1d3130){return _0x306755(_0x1d3130,_0x554c07- -0x2ba);}return _0x3ca1f9['image']=this['image'],_0x3ca1f9[_0x3dd610(_0x4cd952._0x5801b3,0x9f4)]=this['color'],_0x3ca1f9['speed']=this[_0x5b204f(0xbc0,0xba9)],_0x3ca1f9['pure']=this[_0x3dd610(_0x4cd952._0x23bdc5,0x4df)],_0x3ca1f9['globalAlpha']=this['globalAlpha'],_0x3ca1f9;}[_0x2b6441(0x668,0xa14)](_0x76a9ae){const _0x3ae607={_0x298326:0xb14,_0xca80b2:0xdda},_0x2aef06={_0x12a69b:0x4cc};function _0x440820(_0x53d4e2,_0x41bbfb){return _0x2b6441(_0x53d4e2,_0x41bbfb-_0x2aef06._0x12a69b);}function _0x571535(_0x4ce468,_0x595b17){return _0x2b6441(_0x595b17,_0x4ce468-0x100);}return this===_0x76a9ae||_0x76a9ae instanceof RectSlideMaterialProperty&&Cesium__namespace['Property'][_0x571535(_0x3ae607._0x298326,0x33d)](this[_0x440820(0x393,_0x3ae607._0xca80b2)],_0x76a9ae['color'])&&this['image']===_0x76a9ae['image']&&this[_0x440820(0xaae,0x6a2)]===_0x76a9ae[_0x571535(0x2d6,0x8bc)]&&this['speed']===_0x76a9ae['speed'];}}registerPropertyClass(RectSlide,RectSlideMaterialProperty);class ScanLineMaterialProperty extends BaseMaterialProperty{constructor(_0x488e8c={}){const _0x24037e={_0xdc6270:0x1062,_0x58e0f6:0xa78,_0x592f5d:0xb47};function _0x3db249(_0x1ccc7f,_0x3321d8){return _0x2b6441(_0x3321d8,_0x1ccc7f-0x620);}super(_0x488e8c);function _0x51e145(_0x82ca1,_0x5450ff){return _0x2b6441(_0x82ca1,_0x5450ff-0xe5);}this[_0x3db249(0xf2e,0xf17)]=getCesiumColor(_0x488e8c[_0x3db249(0xf2e,0x533)],Cesium__namespace[_0x51e145(_0x24037e._0xdc6270,_0x24037e._0x58e0f6)]['YELLOW']),this['speed']=_0x488e8c[_0x51e145(_0x24037e._0x592f5d,0x9be)]??0xa,this['globalAlpha']=_0x488e8c['globalAlpha']??0x1;}['getType'](_0x31d753){return ScanLine;}['getValue'](_0x392436,_0x110fb7){const _0x36154d={_0x34a1c3:0x2374};function _0x29f115(_0x1bc914,_0x380baf){return _0x2b6441(_0x380baf,_0x1bc914-0x641);}!Cesium__namespace['defined'](_0x110fb7)&&(_0x110fb7={});function _0x4250f8(_0x44176f,_0x15c03d){return _0x306755(_0x44176f,_0x15c03d-0x132);}return _0x110fb7['color']=this['color'],_0x110fb7['speed']=this['speed'],_0x110fb7[_0x4250f8(_0x36154d._0x34a1c3,0x18f0)]=this[_0x4250f8(0x14a0,0x18f0)],_0x110fb7;}[_0x306755(0x9a8,0xfb5)](_0x4ceb7f){return this===_0x4ceb7f||_0x4ceb7f instanceof ScanLineMaterialProperty&&Cesium__namespace['Property']['equals'](this['color'],_0x4ceb7f['color'])&&this['speed']===_0x4ceb7f['speed'];}}registerPropertyClass(ScanLine,ScanLineMaterialProperty);class TextMaterialProperty extends Image2MaterialProperty{constructor(_0x155da5={}){const _0x2bb460={_0x143100:0x3,_0x67708e:0x1972,_0x5ee381:0xef8,_0x455123:0xb45};function _0x4b729b(_0x5876e2,_0x1c8ba3){return _0x2b6441(_0x5876e2,_0x1c8ba3-0x5f5);}_0x155da5['font_size']=_0x155da5[_0x537014(-_0x2bb460._0x143100,0x3f9)]??0x46,super(_0x155da5),this['transparent']=_0x155da5['transparent']??!![],this['color']=Cesium__namespace['Color']['WHITE'];function _0x537014(_0x38ca22,_0x92bba1){return _0x2b6441(_0x38ca22,_0x92bba1-0x3b2);}this[_0x4b729b(0x2077,_0x2bb460._0x67708e)]=LabelStyleConver['toCesiumVal'](_0x155da5,{'fill':_0x155da5['fill']??!![],'fillColor':new Cesium__namespace['Color'](0x1,0x1,0x0,0x1),'textBaseline':_0x4b729b(_0x2bb460._0x5ee381,_0x2bb460._0x455123),'padding':0xa}),this[_0x4b729b(0x131b,0xda4)]();}get['text'](){const _0x2d1e77={_0x2764b7:0x972};function _0x54f13d(_0x5486af,_0x48aefb){return _0x306755(_0x5486af,_0x48aefb- -0x2eb);}return this[_0x54f13d(0x1034,_0x2d1e77._0x2764b7)]['text'];}set['text'](_0x2e35e5){const _0xf1178c={_0x4b2cbd:0x1720,_0x2b489e:0xf42},_0x5581cf={_0x3bc67e:0x48a};this[_0x498274(0xa70,0x3b4)][_0x498274(_0xf1178c._0x4b2cbd,_0xf1178c._0x2b489e)]=_0x2e35e5;function _0x498274(_0x4fd40e,_0x2670d5){return _0x306755(_0x2670d5,_0x4fd40e- -0x1ed);}function _0x66c196(_0x35b2f0,_0x3eefee){return _0x306755(_0x35b2f0,_0x3eefee- -_0x5581cf._0x3bc67e);}this[_0x66c196(0xc04,0x8c6)]();}get['textStyles'](){const _0x122b8f={_0x1afde7:0x1aa3,_0x5a982c:0x136e},_0x5b79e2={_0x570893:0xf};function _0x26646c(_0x24ee46,_0x496bb2){return _0x2b6441(_0x24ee46,_0x496bb2- -_0x5b79e2._0x570893);}return this[_0x26646c(_0x122b8f._0x1afde7,_0x122b8f._0x5a982c)];}set['textStyles'](_0x3ad4ab){const _0x36b6da={_0x1819ba:0xf34};function _0x46bcb2(_0x5ed315,_0x53578b){return _0x306755(_0x5ed315,_0x53578b- -0x52f);}this[_0x46bcb2(0xf16,0x13ef)]=LabelStyleConver[_0x2eeb82(_0x36b6da._0x1819ba,0xff5)](_0x3ad4ab,this['_textStyles']);function _0x2eeb82(_0x37b1f9,_0xb0d2d9){return _0x306755(_0xb0d2d9,_0x37b1f9- -0x118);}this['_updateImage']();}[_0x2b6441(0x1016,0x7af)](){const _0x47b39a={_0x28da41:0x1cf4,_0x2bc428:0xfe7,_0x16a964:0x1385,_0x38c591:0x6df,_0x50d61d:0x833,_0x193f1f:0x1271,_0x566dbd:0x9e7},_0x2baa14={_0x1bdc50:0x3f1};function _0x1bdfee(_0x309f7f,_0x3e9cc4){return _0x2b6441(_0x309f7f,_0x3e9cc4-0x18f);}this[_0x1bdfee(_0x47b39a._0x28da41,0x1385)]=getTextImage(this[_0x404aa7(0x86c,_0x47b39a._0x2bc428)]['text'],this['_textStyles']);function _0x404aa7(_0x838bbe,_0x2bb720){return _0x306755(_0x2bb720,_0x838bbe- -_0x2baa14._0x1bdc50);}if(this[_0x1bdfee(0x1661,0x1385)]){var _0x522aa7;this['image']=this[_0x1bdfee(0xfb9,_0x47b39a._0x16a964)];const _0x7e119d=(_0x522aa7=this['options'])===null||_0x522aa7===void 0x0?void 0x0:_0x522aa7[_0x404aa7(_0x47b39a._0x38c591,_0x47b39a._0x50d61d)];_0x7e119d&&_0x7e119d(this[_0x404aa7(0x13a6,_0x47b39a._0x193f1f)],this)[_0x1bdfee(_0x47b39a._0x566dbd,0xef1)](_0x21060c=>{this['image']=copyCanvas(_0x21060c);});}}}registerPropertyClass(Text,TextMaterialProperty);class WallScrollMaterialProperty extends BaseMaterialProperty{constructor(_0xb2964e={}){const _0x194e6e={_0x3dd1c7:0x9ec,_0x30423e:0x1434,_0x44dda8:0x1881,_0x5d2b5e:0xc84},_0x4901c3={_0x34018a:0x298};super(_0xb2964e);function _0x549ab3(_0x2041e1,_0x595470){return _0x306755(_0x2041e1,_0x595470- -0x548);}function _0x499392(_0x169d7f,_0x112cae){return _0x306755(_0x169d7f,_0x112cae- -_0x4901c3._0x34018a);}this['image']=_0xb2964e['image'],this['color']=getCesiumColor(_0xb2964e['color'],new Cesium__namespace[(_0x549ab3(0x1055,_0x194e6e._0x3dd1c7))](0x0,0x0,0x0,0x1)),this['speed']=_0xb2964e[_0x499392(_0x194e6e._0x30423e,0xbe2)]??0xa,this[_0x549ab3(0xafa,0xd8)]=_0xb2964e['count']??0x1,this['reverse']=_0xb2964e['reverse']??![],this[_0x499392(0x1e5c,0x1487)]=_0xb2964e[_0x549ab3(_0x194e6e._0x44dda8,0x11d7)]??![],this[_0x499392(_0x194e6e._0x5d2b5e,0x1050)]=_0xb2964e['bloom']??![],this['globalAlpha']=_0xb2964e['globalAlpha']??0x1;}['getType'](_0x5bbc4a){return WallScroll;}['getValue'](_0x42f36d,_0x3a85c2){const _0x1f2167={_0x307f22:0x1ed,_0x108a63:0x6af,_0x426e47:0x97a,_0x1ac00b:0x1717},_0x50f52b={_0x583c8a:0x8};!Cesium__namespace[_0x2597b4(0x179c,0x17aa)](_0x3a85c2)&&(_0x3a85c2={});function _0x2597b4(_0x44324a,_0x5e7bc0){return _0x306755(_0x44324a,_0x5e7bc0- -_0x50f52b._0x583c8a);}_0x3a85c2[_0x2597b4(-_0x1f2167._0x307f22,_0x1f2167._0x108a63)]=this['image'],_0x3a85c2[_0x54289d(0xa1d,_0x1f2167._0x426e47)]=this['color'],_0x3a85c2['speed']=this['speed'],_0x3a85c2['count']=this['count'];function _0x54289d(_0x512877,_0x30c6d2){return _0x2b6441(_0x512877,_0x30c6d2-0x6c);}return _0x3a85c2[_0x2597b4(0x17b5,0x1074)]=this['reverse'],_0x3a85c2['axisY']=this[_0x2597b4(0x188b,_0x1f2167._0x1ac00b)],_0x3a85c2[_0x54289d(0x12ef,0xdb3)]=this['bloom'],_0x3a85c2[_0x54289d(0xeb3,0x1289)]=this[_0x2597b4(0x1de5,0x17b6)],_0x3a85c2;}['equals'](_0x7cc6ec){const _0x54c7aa={_0x2c9bee:0xc7d,_0x53e06a:0x7a5,_0x57fb42:0x141a,_0x1e6211:0xf68},_0x45270c={_0x57254c:0x386};function _0x9f2a4b(_0x485cd2,_0x2b5784){return _0x2b6441(_0x485cd2,_0x2b5784-0x68f);}function _0x12dd49(_0xca9718,_0xdb0048){return _0x2b6441(_0xca9718,_0xdb0048-_0x45270c._0x57254c);}return this===_0x7cc6ec||_0x7cc6ec instanceof WallScrollMaterialProperty&&Cesium__namespace[_0x12dd49(0x1a77,0x1467)]['equals'](this['color'],_0x7cc6ec['color'])&&this[_0x9f2a4b(_0x54c7aa._0x2c9bee,_0x54c7aa._0x53e06a)]===_0x7cc6ec['image']&&this['count']===_0x7cc6ec['count']&&this['reverse']===_0x7cc6ec[_0x12dd49(_0x54c7aa._0x57fb42,0xe61)]&&this['bloom']===_0x7cc6ec[_0x12dd49(0x66b,0x10cd)]&&this[_0x9f2a4b(0x14c9,_0x54c7aa._0x1e6211)]===_0x7cc6ec['speed'];}}registerPropertyClass(WallScroll,WallScrollMaterialProperty);class WaterLightMaterialProperty extends BaseMaterialProperty{constructor(_0x3e88d1={}){super(_0x3e88d1),this['specularMap']=_0x3e88d1['specularMap'],this['normalMap']=_0x3e88d1['normalMap']||Cesium__namespace['Material']['DefaultImageId'],this['alpha']=_0x3e88d1['alpha']??0.2,this['globalAlpha']=_0x3e88d1['globalAlpha']??0x1;}['getType'](_0x57d480){return WaterLight;}['getValue'](_0x2887c1,_0x353f3a){!Cesium__namespace['defined'](_0x353f3a)&&(_0x353f3a={});function _0x33b86d(_0xcae2ac,_0x417dc4){return _0x2b6441(_0xcae2ac,_0x417dc4-0x395);}return _0x353f3a['specularMap']=this['specularMap'],_0x353f3a['normalMap']=this[_0x33b86d(0x16e,0x62b)],_0x353f3a['alpha']=this['alpha'],_0x353f3a['globalAlpha']=this['globalAlpha'],_0x353f3a;}['equals'](_0x5f0ccb){function _0x4c1cc2(_0x1deac8,_0x1e0bd0){return _0x2b6441(_0x1deac8,_0x1e0bd0-0x3e7);}return this===_0x5f0ccb||_0x5f0ccb instanceof WaterLightMaterialProperty&&this['specularMap']===_0x5f0ccb['specularMap']&&this['normalMap']===_0x5f0ccb[_0x4c1cc2(0xc39,0x67d)]&&this['alpha']===_0x5f0ccb['alpha'];}}registerPropertyClass(WaterLight,WaterLightMaterialProperty);class WaterMaterialProperty extends BaseMaterialProperty{constructor(_0x3d4e72={}){const _0x3c7054={_0x2d5453:0x157e,_0x3e37c1:0x484,_0x5626b6:0x74c,_0x4fabfc:0xebc,_0x5a77f0:0x1a39,_0x311fb0:0x9e6,_0x7ab0da:0x18f,_0x12e7bd:0x57e,_0x246590:0x190},_0x265ec0={_0x12f956:0x1ee};super(_0x3d4e72),this['baseWaterColor']=getCesiumColor(_0x3d4e72[_0x1f7003(0x13d0,0x102f)],new Cesium__namespace['Color'](0.2,0.3,0.6,0x1)),this['blendColor']=getCesiumColor(_0x3d4e72['blendColor'],new Cesium__namespace['Color'](0x0,0x1,0.699,0x1)),this[_0x2dd533(_0x3c7054._0x2d5453,0xb1c)]=_0x3d4e72['specularMap']||Cesium__namespace['Material'][_0x1f7003(0x57d,0xfaf)],this[_0x1f7003(_0x3c7054._0x3e37c1,_0x3c7054._0x5626b6)]=_0x3d4e72['normalMap']||Cesium__namespace[_0x2dd533(0xe8f,_0x3c7054._0x4fabfc)]['DefaultImageId'];function _0x2dd533(_0xfab2aa,_0x6d2ec0){return _0x306755(_0x6d2ec0,_0xfab2aa- -0x78);}this['frequency']=_0x3d4e72[_0x1f7003(0x11b4,_0x3c7054._0x5a77f0)]??0x3e8,this['animationSpeed']=_0x3d4e72[_0x2dd533(0x1344,_0x3c7054._0x311fb0)]??0.01,this[_0x1f7003(0x243,-_0x3c7054._0x7ab0da)]=_0x3d4e72[_0x2dd533(_0x3c7054._0x12e7bd,_0x3c7054._0x246590)]??0xa;function _0x1f7003(_0x148fd4,_0x7394f3){return _0x2b6441(_0x7394f3,_0x148fd4-_0x265ec0._0x12f956);}this['specularIntensity']=_0x3d4e72[_0x1f7003(0xdbf,0xe36)]??0.5,this['fadeFactor']=_0x3d4e72['fadeFactor']??0x1,this['globalAlpha']=_0x3d4e72['globalAlpha']??0x1;}['getType'](_0x4f71f8){return Water$1;}[_0x306755(0x15c0,0xd7b)](_0x3b9a71,_0x1af490){const _0x1c9a75={_0x5c7d4e:0x183c,_0xdbc9d3:0x1951,_0x3c95a8:0x1a47,_0x4d7c3e:0x6cb,_0x487362:0x1475,_0x53a6da:0x1250,_0x57c825:0xfd1,_0x11fab0:0x1617};!_0x1af490&&(_0x1af490={});_0x1af490[_0x4b3deb(_0x1c9a75._0x5c7d4e,0x18bf)]=this['baseWaterColor'],_0x1af490[_0x4b3deb(_0x1c9a75._0xdbc9d3,_0x1c9a75._0x3c95a8)]=this['blendColor'],_0x1af490['specularMap']=this['specularMap'];function _0x4b3deb(_0x336aea,_0x5b2f6f){return _0x2b6441(_0x5b2f6f,_0x336aea-0x65a);}_0x1af490['normalMap']=this[_0x7dc620(_0x1c9a75._0x4d7c3e,0x1138)];function _0x7dc620(_0x44cf28,_0x1d50e5){return _0x2b6441(_0x1d50e5,_0x44cf28-0x435);}return _0x1af490['frequency']=this['frequency'],_0x1af490[_0x4b3deb(_0x1c9a75._0x487362,0x1d45)]=this[_0x7dc620(_0x1c9a75._0x53a6da,0x137f)],_0x1af490['amplitude']=this['amplitude'],_0x1af490['specularIntensity']=this[_0x4b3deb(0x122b,0x12d4)],_0x1af490['fadeFactor']=this[_0x7dc620(0x5fb,-0x428)],this[_0x4b3deb(0x1877,_0x1c9a75._0x57c825)]!==0x1&&(_0x1af490[_0x7dc620(_0x1c9a75._0x11fab0,0x19e8)]['alpha']*=this['globalAlpha'],_0x1af490['blendColor']['alpha']*=this['globalAlpha']),_0x1af490;}['equals'](_0x5ecf2b){const _0x12e926={_0xb66ff8:0x1047,_0x3ce379:0xf1a,_0x4509b5:0x449,_0x39f40a:0x5a};function _0x103a42(_0x4e9f77,_0x23a8a3){return _0x306755(_0x4e9f77,_0x23a8a3- -0x650);}function _0x45aaf0(_0x2434d1,_0x416a9e){return _0x2b6441(_0x416a9e,_0x2434d1-0x5a8);}return this===_0x5ecf2b||_0x5ecf2b instanceof WaterMaterialProperty&&this['baseWaterColor']['equals'](_0x5ecf2b[_0x45aaf0(0x178a,_0x12e926._0xb66ff8)])&&this['blendColor'][_0x45aaf0(0xfbc,_0x12e926._0x3ce379)](_0x5ecf2b['blendColor'])&&this['specularMap']===_0x5ecf2b['specularMap']&&this['normalMap']===_0x5ecf2b['normalMap']&&this[_0x45aaf0(0x156e,0x1fc3)]===_0x5ecf2b['frequency']&&this['animationSpeed']===_0x5ecf2b[_0x103a42(0xa62,0xd6c)]&&this[_0x103a42(-_0x12e926._0x4509b5,-_0x12e926._0x39f40a)]===_0x5ecf2b['amplitude']&&this['specularIntensity']===_0x5ecf2b['specularIntensity']&&this['fadeFactor']===_0x5ecf2b['fadeFactor'];}}registerPropertyClass(Water$1,WaterMaterialProperty);const _0x10eaa1={};_0x10eaa1['__proto__']=null,_0x10eaa1[_0x2b6441(0x24a,0x6e5)]=TextMaterial,_0x10eaa1['CylinderWaveMaterial']=CylinderWaveMaterial,_0x10eaa1[_0x2b6441(0x298,0xc63)]=BaseMaterialProperty,_0x10eaa1['CircleScanMaterialProperty']=CircleScanMaterialProperty,_0x10eaa1[_0x2b6441(-0x123,0x858)]=CircleWaveMaterialProperty,_0x10eaa1['CylinderWaveMaterialProperty']=CylinderWaveMaterialProperty,_0x10eaa1[_0x306755(0x138e,0x1474)]=DigitalFlowMaterialProperty,_0x10eaa1['EllipsoidElectricMaterialProperty']=EllipsoidElectricMaterialProperty,_0x10eaa1['EllipsoidWaveMaterialProperty']=EllipsoidWaveMaterialProperty,_0x10eaa1[_0x2b6441(-0x3e7,-0x11a)]=Image2MaterialProperty,_0x10eaa1['LineBloomMaterialProperty']=LineBloomMaterialProperty,_0x10eaa1['LineFlickerMaterialProperty']=LineFlickerMaterialProperty,_0x10eaa1['LineFlowColorMaterialProperty']=LineFlowColorMaterialProperty,_0x10eaa1[_0x306755(0x93b,0xfdf)]=LineFlowMaterialProperty,_0x10eaa1[_0x306755(0xaee,0x1515)]=LineTrailMaterialProperty,_0x10eaa1['LineDotDashMaterialProperty']=LineDotDashMaterialProperty,_0x10eaa1['LineDashArrowMaterialProperty']=LineDashArrowMaterialProperty,_0x10eaa1['NeonLightMaterialProperty']=NeonLightMaterialProperty,_0x10eaa1[_0x306755(0x13e7,0x1991)]=LineThreeDashMaterialProperty,_0x10eaa1['LineCrossMaterialProperty']=LineCrossMaterialProperty,_0x10eaa1['ODLineMaterialProperty']=ODLineMaterialProperty,_0x10eaa1['PolyAsphaltMaterialProperty']=PolyAsphaltMaterialProperty,_0x10eaa1[_0x2b6441(0x16ab,0x127c)]=PolyBlobMaterialProperty,_0x10eaa1['PolyFacetMaterialProperty']=PolyFacetMaterialProperty,_0x10eaa1[_0x306755(0xf69,0x1840)]=PolyGradientMaterialProperty,_0x10eaa1['PolyGrassMaterialProperty']=PolyGrassMaterialProperty,_0x10eaa1['PolyWoodMaterialProperty']=PolyWoodMaterialProperty,_0x10eaa1['RadarLineMaterialProperty']=RadarLineMaterialProperty,_0x10eaa1[_0x2b6441(-0x35e,0x54)]=RadarWaveMaterialProperty,_0x10eaa1['RectSlideMaterialProperty']=RectSlideMaterialProperty,_0x10eaa1['ScanLineMaterialProperty']=ScanLineMaterialProperty,_0x10eaa1['TextMaterialProperty']=TextMaterialProperty,_0x10eaa1['WallScrollMaterialProperty']=WallScrollMaterialProperty,_0x10eaa1['WaterLightMaterialProperty']=WaterLightMaterialProperty,_0x10eaa1['WaterMaterialProperty']=WaterMaterialProperty;var index$8=_0x10eaa1;class BaseGraphic extends BaseClass{constructor(_0xb222d2={}){const _0x594df6={_0x376e15:0x931,_0xa063ea:0x835,_0x25225a:0xdb1,_0x644b48:0x1649,_0x2a4cef:0x132b,_0x3cded7:0x44f,_0x3f9873:0x16a0,_0x3dc62f:0x162e,_0x198439:0x13a0,_0x54ed56:0x10f7};_0xb222d2[_0x50b4c1(_0x594df6._0x376e15,0x6fa)]=_0xb222d2[_0x55d71c(_0x594df6._0xa063ea,0x4ee)]||{};function _0x50b4c1(_0x4c0194,_0x276338){return _0x306755(_0x4c0194,_0x276338- -0x15c);}_0xb222d2['attr']=_0xb222d2['attr']||{},super(_0xb222d2),this['options']=_0xb222d2,_0xb222d2['id']=_0xb222d2['id']??_0xb222d2[_0x50b4c1(0x34c,0xba0)]['id']??createGuid(),_0xb222d2['name']=_0xb222d2[_0x50b4c1(_0x594df6._0x25225a,0x737)]||_0xb222d2['attr'][_0x55d71c(0x872,0xe3d)],this[_0x55d71c(0x13d7,_0x594df6._0x644b48)]=_0xb222d2['show']??!![],this['_private']=_0xb222d2['private'];_0xb222d2[_0x50b4c1(_0x594df6._0x2a4cef,0x93e)]&&this[_0x55d71c(_0x594df6._0x3cded7,-0x347)](_0xb222d2['popup'],_0xb222d2['popupOptions']);_0xb222d2['tooltip']&&this[_0x55d71c(0x143c,0x1b89)](_0xb222d2['tooltip'],_0xb222d2['tooltipOptions']);function _0x55d71c(_0x373a8c,_0x1fcebe){return _0x2b6441(_0x1fcebe,_0x373a8c-0x580);}_0xb222d2['contextmenuItems']&&this[_0x55d71c(_0x594df6._0x3f9873,0xd6d)](_0xb222d2['contextmenuItems'],_0xb222d2[_0x50b4c1(0x107a,_0x594df6._0x3dc62f)]),this[_0x55d71c(_0x594df6._0x198439,0x11c6)]=State[_0x50b4c1(_0x594df6._0x54ed56,0xce4)];}get['type'](){return this['_type'];}get['isPoint'](){function _0x2e665c(_0x343471,_0x1286f2){return _0x2b6441(_0x1286f2,_0x343471-0xf5);}return this[_0x2e665c(0x559,-0x26a)];}get['id'](){var _0x7a2f50;function _0x1f43e0(_0x248a13,_0x3316a6){return _0x306755(_0x248a13,_0x3316a6- -0x25b);}return(_0x7a2f50=this[_0x1f43e0(0x678,0xa02)])===null||_0x7a2f50===void 0x0?void 0x0:_0x7a2f50['id'];}set['id'](_0x324005){const _0x12c30a={_0x4c65ac:0xb7f};function _0x4ff045(_0x2264e5,_0x183092){return _0x2b6441(_0x183092,_0x2264e5-0x4c3);}this[_0x4ff045(_0x12c30a._0x4c65ac,0x14e7)]['id']=_0x324005;}get[_0x2b6441(0x317,0x4f3)](){var _0x5d953c;return(_0x5d953c=this['options'])===null||_0x5d953c===void 0x0?void 0x0:_0x5d953c['pid'];}set['pid'](_0x32a04f){const _0x379537={_0x115211:0x30a};function _0x3b934b(_0x60ea74,_0x303a1a){return _0x306755(_0x303a1a,_0x60ea74- -0x401);}this[_0x3b934b(0x85c,_0x379537._0x115211)]['pid']=_0x32a04f;}get['state'](){return this['_state'];}get['isAdded'](){function _0x3f27ef(_0x50046b,_0x3ae281){return _0x306755(_0x3ae281,_0x50046b- -0x4af);}return this['_state']===State[_0x3f27ef(0x1235,0x1798)];}get[_0x2b6441(-0x497,0x438)](){const _0x32a041={_0xc7b45c:0x11c1};function _0x1fc9e4(_0x1e4749,_0xe822ec){return _0x306755(_0x1e4749,_0xe822ec- -0x378);}return this[_0x1fc9e4(_0x32a041._0xc7b45c,0x1049)]===State['DESTROY']||!this['options'];}get['isPrivate'](){if(this['_private'])return!![];return![];}get['czmObject'](){return null;}get[_0x306755(0x1345,0xe30)](){return null;}get['show'](){return this['_show'];}set[_0x2b6441(0xfe0,0xff2)](_0x449fbc){const _0x1253ce={_0x57c1ee:0x1738,_0x4bb9ce:0x5dd,_0x3b3997:0x8f6};function _0x1beedf(_0x4f6120,_0x45656){return _0x2b6441(_0x4f6120,_0x45656-0x60e);}function _0x39e4d1(_0x45bf2f,_0x43c256){return _0x306755(_0x43c256,_0x45bf2f- -0x66);}if(this['_show']===_0x449fbc)return;this['options'][_0x1beedf(0x1342,0x1600)]=_0x449fbc,this['_show']=_0x449fbc,delete this['_last_availabilityShow'],this[_0x1beedf(0x1291,_0x1253ce._0x57c1ee)](_0x449fbc),this[_0x39e4d1(_0x1253ce._0x4bb9ce,0x1f7)]&&this['_showHook'](_0x449fbc),_0x449fbc?this[_0x1beedf(0x3d3,_0x1253ce._0x3b3997)](EventType['show']):this[_0x1beedf(0x604,_0x1253ce._0x3b3997)](EventType['hide']);}['getRealShow'](_0x2629ac){const _0x3538ac={_0x2d171f:0x1051};var _0x1f5a01;function _0x362707(_0x37a666,_0xc4267a){return _0x306755(_0xc4267a,_0x37a666-0x45);}if(!this['_map']||!this[_0x362707(0x15d8,0x1a91)]||this['isCluster'])return![];if(this['availability']&&!this[_0x362707(0xfb1,_0x3538ac._0x2d171f)](_0x2629ac??((_0x1f5a01=this['_map'])===null||_0x1f5a01===void 0x0?void 0x0:_0x1f5a01['clock']['currentTime'])))return![];function _0x4c236b(_0x2d3ff2,_0x1d31a6){return _0x306755(_0x2d3ff2,_0x1d31a6- -0x2b2);}return this['show'];}get['hasCluster'](){return!![];}get['isCluster'](){function _0x418a70(_0x3a875a,_0x2addf3){return _0x2b6441(_0x2addf3,_0x3a875a-0x693);}return this[_0x418a70(0x188a,0x1523)];}set['isCluster'](_0x250877){const _0x19aeae={_0x2ea5b8:0x1103,_0x1b733c:0x7b6};if(this['_isCluster']===_0x250877)return;this['_isCluster']=_0x250877,delete this[_0x39f510(_0x19aeae._0x2ea5b8,0xa3e)];const _0x473885=!this['_isCluster'];function _0x39f510(_0x14e725,_0x4c5adf){return _0x306755(_0x4c5adf,_0x14e725- -0x2a5);}this['_clusterShowHook']?this['_clusterShowHook'](_0x473885):(this['_updateCzmObjectShow'](_0x473885),this[_0x39f510(0x39e,-0x226)]&&this['_showHook'](_0x473885));const _0x2698f5={};function _0x3ad09a(_0x566cc1,_0x5f3a0c){return _0x306755(_0x566cc1,_0x5f3a0c- -0x53f);}_0x2698f5[_0x3ad09a(_0x19aeae._0x1b733c,0x564)]=_0x250877,this[_0x39f510(0x5e4,0x6be)](EventType[_0x39f510(0xcb7,0x13ad)],_0x2698f5,!![]);}['_updateCzmObjectShow'](_0x612d4d){const _0xd9e1f7={_0x40ed9b:0x5cb};function _0x14c217(_0x5934bf,_0x293797){return _0x2b6441(_0x293797,_0x5934bf-0x122);}function _0x40e401(_0x50e75b,_0x50dd93){return _0x306755(_0x50e75b,_0x50dd93- -0x564);}this['czmObject']&&(this[_0x40e401(-0x3c3,_0xd9e1f7._0x40ed9b)]['show']=_0x612d4d),this['czmObjectEx']&&this['czmObjectEx'][_0x14c217(0x7c1,0x67d)](function(_0x2b710b){_0x2b710b['show']=_0x612d4d;});}get['availability'](){const _0x536684={_0x5c1ebf:0xf4};var _0x4f77ce;function _0x5a4411(_0x393f9c,_0x49de6c){return _0x2b6441(_0x393f9c,_0x49de6c-0x509);}return(_0x4f77ce=this['options'])===null||_0x4f77ce===void 0x0?void 0x0:_0x4f77ce[_0x5a4411(_0x536684._0x5c1ebf,0x964)];}set['availability'](_0xba39e7){const _0x736454={_0x80955d:0x1867,_0x1d9e60:0x13c7,_0x3a7ed1:0xf86,_0x395bfa:0xcfb,_0x31355c:0xadd,_0x23bdbf:0xa9a,_0x776326:0x1190,_0x18dde3:0x15b1},_0x132d18={_0x5287e2:0x63f};function _0x1f3a17(_0x5d98cc,_0x58ada5){return _0x2b6441(_0x58ada5,_0x5d98cc-_0x132d18._0x5287e2);}var _0x1a2e18;this['_availability']=getAvailability(_0xba39e7,(_0x1a2e18=this[_0x1f3a17(_0x736454._0x80955d,_0x736454._0x1d9e60)])===null||_0x1a2e18===void 0x0||(_0x1a2e18=_0x1a2e18['clock'])===null||_0x1a2e18===void 0x0?void 0x0:_0x1a2e18[_0x1f3a17(_0x736454._0x3a7ed1,0x1886)]);function _0x3a53ec(_0x2ce9cc,_0x3fd3d3){return _0x306755(_0x3fd3d3,_0x2ce9cc- -0x3df);}this[_0x1f3a17(_0x736454._0x395bfa,_0x736454._0x31355c)][_0x1f3a17(_0x736454._0x23bdbf,_0x736454._0x776326)]=getAvailabilityJson(Array['isArray'](_0xba39e7)?_0xba39e7:this['_availability']),this['_updateAvailabilityHook']&&this[_0x3a53ec(_0x736454._0x18dde3,0x1ab1)](this['_availability']);}['getAvailabilityJson'](){const _0x1b626e={_0x4a2a8b:0xb7b,_0x248e70:0x4fd};var _0x171204;function _0x5aa859(_0x1209cf,_0x514034){return _0x2b6441(_0x514034,_0x1209cf-0x234);}return getAvailabilityJson(this['_availability'],!![],(_0x171204=this['_map'])===null||_0x171204===void 0x0||(_0x171204=_0x171204['clock'])===null||_0x171204===void 0x0?void 0x0:_0x171204[_0x5aa859(_0x1b626e._0x4a2a8b,_0x1b626e._0x248e70)]);}['getAvailabilityShow'](_0x4130a1){var _0x47c1b9;if(((_0x47c1b9=this[_0x825c22(0x16c4,0x161f)])===null||_0x47c1b9===void 0x0?void 0x0:_0x47c1b9['availabilityEnabled'])===![])return!![];function _0x825c22(_0x4ef25e,_0x547274){return _0x2b6441(_0x547274,_0x4ef25e-0x49c);}return this['_availability']&&_0x4130a1?this['_availability']['findDataForIntervalContainingDate'](_0x4130a1)??![]:!![];}['_bindLabelAvailability'](_0x1cbb32){const _0x5442d7={_0x5295a8:0x12f4,_0x147c0a:0x10cb,_0xa6bb70:0x68c};let _0x3a772f=!![];_0x1cbb32['update']=_0x9d675a=>{const _0x2bac9a={_0x11f2c8:0x2c};if(!this['show']){_0x1cbb32[_0x36b3ac(0x11b4,_0x5442d7._0x5295a8)]=this['show'];return;}if(this['_isCluster']){_0x1cbb32[_0x533d24(_0x5442d7._0x147c0a,_0x5442d7._0xa6bb70)]=![];return;}const _0x5bbad9=this['getAvailabilityShow'](_0x9d675a['time']);function _0x533d24(_0x29e331,_0x567b1f){return _0x5bbe(_0x29e331- -0x255,_0x567b1f);}function _0x36b3ac(_0x49369c,_0x7966){return _0x5bbe(_0x7966- -_0x2bac9a._0x11f2c8,_0x49369c);}_0x3a772f!==_0x5bbad9&&(_0x1cbb32['show']=_0x5bbad9,_0x3a772f=_0x5bbad9);};}[_0x306755(0xb39,0x10a4)](_0x5247b1){const _0x11124b={_0x272fad:0x1894,_0x34b7e9:0x1774,_0x3316de:0x280,_0x112589:0x6ec,_0x3f8586:0x797,_0x26b2eb:0xeb6},_0x58ad2e={_0x1080cb:0x64a};if(this[_0x1cfd0b(0x229,0x429)]&&this['czmObject']){const _0x54ff83=this['getAvailabilityShow'](_0x5247b1);return this['_last_availabilityShow']!==_0x54ff83&&(this[_0x321505(_0x11124b._0x272fad,_0x11124b._0x34b7e9)](_0x54ff83),this[_0x321505(0x1035,0x6ec)]&&this[_0x321505(_0x11124b._0x3316de,_0x11124b._0x112589)](_0x54ff83),this['_last_availabilityShow']=_0x54ff83),_0x54ff83;}else Cesium__namespace['defined'](this['_last_availabilityShow'])&&(this['_updateCzmObjectShow'](this['show']),this['_showHook']&&this[_0x1cfd0b(-_0x11124b._0x3f8586,0x70)](this[_0x321505(_0x11124b._0x26b2eb,0x163c)]),delete this['_last_availabilityShow']);function _0x321505(_0x55d286,_0x3cd7c1){return _0x2b6441(_0x55d286,_0x3cd7c1-_0x58ad2e._0x1080cb);}function _0x1cfd0b(_0x44ff5b,_0x49d2b6){return _0x2b6441(_0x44ff5b,_0x49d2b6- -0x32);}return!![];}get['name'](){var _0x25c1e5;return(_0x25c1e5=this['options'])===null||_0x25c1e5===void 0x0?void 0x0:_0x25c1e5['name'];}set[_0x306755(-0x17d,0x893)](_0x5f194e){this['options']['name']=_0x5f194e;}get['attr'](){var _0x44ddad;return(_0x44ddad=this['options'])===null||_0x44ddad===void 0x0?void 0x0:_0x44ddad['attr'];}set['attr'](_0x377a95){this['options']['attr']=_0x377a95;const _0x32b115={};_0x32b115['attr']=_0x377a95,this['fire'](EventType['updateAttr'],_0x32b115,!![]);}get[_0x306755(0x155,0x856)](){const _0x4c5e19={_0x4a4ff9:0x72f};var _0x2a3f3a;function _0x53b246(_0x190ce5,_0x2c6afc){return _0x306755(_0x190ce5,_0x2c6afc- -0x127);}return(_0x2a3f3a=this['options'])===null||_0x2a3f3a===void 0x0?void 0x0:_0x2a3f3a[_0x53b246(0x496,_0x4c5e19._0x4a4ff9)];}set[_0x306755(-0x1c4,0x856)](_0x141800){function _0x34a665(_0x4d6574,_0x570530){return _0x306755(_0x570530,_0x4d6574-0x1f);}this[_0x34a665(0x808,0x669)](_0x141800);}get[_0x2b6441(0x57e,0xad)](){const _0xb6b332={_0x33752d:0x6fd};function _0xab6709(_0xc6061e,_0x230440){return _0x2b6441(_0xc6061e,_0x230440-_0xb6b332._0x33752d);}var _0x95196;return(_0x95196=this[_0xab6709(0x887,0xdb9)])===null||_0x95196===void 0x0?void 0x0:_0x95196['allowDrillPick'];}set['allowDrillPick'](_0x29b808){this['options']['allowDrillPick']=_0x29b808;}get[_0x306755(0xf54,0x881)](){const _0x37e842={_0x33bebd:0xad7,_0x784a10:0x1394};function _0x5b4c1b(_0x29cdf2,_0x437986){return _0x2b6441(_0x437986,_0x29cdf2-0x205);}return this['_hasEdit']&&Boolean(this[_0x5b4c1b(_0x37e842._0x33bebd,_0x37e842._0x784a10)]||this['_getDrawEntityClass']);}set[_0x2b6441(0xc38,0x2e0)](_0x4f8231){this['_hasEdit']=_0x4f8231;}get['enabledEvent'](){const _0x54a5e5={_0x152a0f:0xce3,_0xb399d:0x141b};function _0x66e170(_0x9d3541,_0xf14be){return _0x2b6441(_0xf14be,_0x9d3541-0x157);}if(this['_layer'])return this['_layer']['enabledEvent']&&this[_0x66e170(_0x54a5e5._0x152a0f,_0x54a5e5._0xb399d)];return this['_enabledEvent'];}set[_0x2b6441(-0x701,-0x4b)](_0x5a004b){const _0x2c286b={_0x415457:0xdb};function _0x225024(_0x18b1dc,_0x11f4c9){return _0x2b6441(_0x18b1dc,_0x11f4c9-_0x2c286b._0x415457);}this[_0x225024(0x14c6,0xc67)]=_0x5a004b;}get['center'](){return null;}get['centerPoint'](){const _0x29d819={_0x484f8a:0xdd8,_0x4e1b97:0xe75};function _0x49b291(_0xe7e905,_0x30a8e4){return _0x2b6441(_0x30a8e4,_0xe7e905-0x44e);}function _0x3dc6c3(_0x4504bf,_0x4fe9b2){return _0x306755(_0x4fe9b2,_0x4504bf- -0xdb);}return LngLatPoint[_0x3dc6c3(0x914,_0x29d819._0x484f8a)](this[_0x3dc6c3(0x621,_0x29d819._0x4e1b97)]);}get['hasOpacity'](){return!![];}get[_0x2b6441(0x988,0xf39)](){const _0xd03bd={_0xbc631:0x1198};function _0x527daf(_0x98aa92,_0x44fb79){return _0x306755(_0x44fb79,_0x98aa92- -0x8f);}var _0x372ac3;function _0x5133cd(_0x3d68a6,_0x9ba0f7){return _0x306755(_0x3d68a6,_0x9ba0f7- -0x337);}return((_0x372ac3=this['_map'])===null||_0x372ac3===void 0x0||(_0x372ac3=_0x372ac3['scene'])===null||_0x372ac3===void 0x0||(_0x372ac3=_0x372ac3['globe'])===null||_0x372ac3===void 0x0?void 0x0:_0x372ac3[_0x527daf(0x144b,0x1f0b)])??Cesium__namespace[_0x527daf(_0xd03bd._0xbc631,0x1ae5)]['WGS84'];}get[_0x306755(-0x2b,0x5ca)](){const _0x44dee6={_0x274784:0x411,_0x5c16e0:0x1320,_0x1f1d54:0xaa4,_0x591ecd:0xc0e,_0x4fd896:0xf5f},_0x19f490={_0x7cc174:0x4c8},_0x53829c={_0x51030b:0x3e8};if(Cesium__namespace['defined'](this['options'][_0x7118c8(-0x2b8,_0x44dee6._0x274784)]))return this[_0x7118c8(_0x44dee6._0x5c16e0,_0x44dee6._0x1f1d54)]['fixedFrameTransform'];function _0x7118c8(_0x48c8e0,_0x2889c2){return _0x2b6441(_0x48c8e0,_0x2889c2-_0x53829c._0x51030b);}function _0x207207(_0x155df0,_0x39a787){return _0x306755(_0x155df0,_0x39a787- -_0x19f490._0x7cc174);}return Cesium__namespace[_0x207207(0x1a74,0x1235)][_0x7118c8(_0x44dee6._0x591ecd,0xe9d)](_0x7118c8(0xf2c,_0x44dee6._0x4fd896),'north');}['addTo'](_0x194fe9){const _0x143b55={_0x11e5a2:0x175};_0x194fe9&&_0x194fe9['addGraphic']&&_0x194fe9[_0x1195d2(0xbeb,_0x143b55._0x11e5a2)](this);function _0x1195d2(_0x1f9eb6,_0x53b533){return _0x2b6441(_0x1f9eb6,_0x53b533-0x14d);}return this;}[_0x2b6441(0xae6,0x41b)](_0x41a827){const _0x12f9fe={_0x48c804:0x92b};function _0x595613(_0x47c971,_0x29bc60){return _0x306755(_0x29bc60,_0x47c971- -0x152);}function _0x50f9cf(_0x48c797,_0x25c55a){return _0x306755(_0x48c797,_0x25c55a- -0x191);}this['_layer']&&this[_0x50f9cf(0xf6a,0x1233)][_0x50f9cf(_0x12f9fe._0x48c804,0xbb2)](this,_0x41a827);}['bindPickId'](_0x576a2a){var _0x445881;function _0x317f26(_0x4fd6b0,_0x579051){return _0x2b6441(_0x579051,_0x4fd6b0- -0xaa);}function _0x286537(_0x322e32,_0x34e0ba){return _0x2b6441(_0x34e0ba,_0x322e32-0x4df);}return _0x576a2a[_0x286537(0x1810,0x2222)]=(_0x445881=this[_0x317f26(0xd79,0x12ff)])===null||_0x445881===void 0x0?void 0x0:_0x445881['id'],_0x576a2a['_mars3d_graphicId']=this['id'],this;}[_0x2b6441(0x54d,0xa0c)](_0x5c7115){const _0x1a9256={_0x250879:0x6fe,_0x4827cb:0xc39,_0x16813e:0xe98,_0x30f6b9:0x1c2,_0x11ece6:0x71a,_0x2bb95b:0x83e,_0x4200f4:0xdb,_0x454fb9:0x10d3,_0x3985a9:0xe34,_0x13c846:0x96c,_0x20c6ac:0x96c,_0x4721fd:0x1429,_0x2360a6:0x4ee,_0x4011ba:0x753,_0x546b65:0x29c,_0x2975a4:0xa14,_0x117f3d:0x173,_0x7a475e:0x1bc5,_0x145047:0xcf0,_0x209124:0x13b0},_0x24705c={_0x137b09:0x2f1},_0x3d6bdb={_0x585253:0xabb},_0x4c3b93={_0x38a464:0x5e};var _0x2578a5,_0x369518;if(this['isAdded'])return;this['_state']=State['ADD'],this[_0x328851(0x41f,0xe81)]=_0x5c7115,this[_0x54e1e2(0x14d8,0xc99)]=_0x5c7115['_map'],this['_layer']['_checkGraphicId'](this);!this['_map']&&logWarn(_0x328851(0x104d,_0x1a9256._0x250879));if(this[_0x54e1e2(0x96c,_0x1a9256._0x4827cb)][_0x54e1e2(_0x1a9256._0x16813e,0x76c)])this[_0x328851(0xdf9,0xa66)](this[_0x328851(-_0x1a9256._0x30f6b9,_0x1a9256._0x11ece6)]['eventParent']);else{if(((_0x2578a5=this[_0x328851(-0x13c,0x71a)])===null||_0x2578a5===void 0x0?void 0x0:_0x2578a5[_0x328851(0x5af,0xc46)])===![]);else this['addEventParent'](_0x5c7115);}!this[_0x54e1e2(_0x1a9256._0x2bb95b,-_0x1a9256._0x4200f4)]&&this['_mountedHook']&&this['_mountedHook']();function _0x328851(_0x59eb30,_0x474eb0){return _0x2b6441(_0x59eb30,_0x474eb0-_0x4c3b93._0x38a464);}this[_0x328851(-0x462,0x45b)]&&this['_addedHook'](this['style']);if(!((_0x369518=this[_0x54e1e2(_0x1a9256._0x454fb9,_0x1a9256._0x3985a9)])!==null&&_0x369518!==void 0x0&&_0x369518['_highlightOptions'])){if(this['style'][_0x328851(0xda,0x76b)])this[_0x54e1e2(0x7c7,0x2c5)](this[_0x328851(0x6d6,0x313)][_0x328851(0x781,0x76b)]);else this[_0x328851(0x116d,0x71a)][_0x328851(-0x33c,0x76b)]&&this['bindHighlight'](this[_0x54e1e2(_0x1a9256._0x13c846,0xe60)][_0x54e1e2(0x9bd,0x1146)]);}this[_0x328851(0x813,0x5ec)]&&this[_0x328851(0x92e,0xef9)](this['czmObject']);this[_0x54e1e2(0xb3f,0x1396)]&&this['czmObjectEx']['forEach'](_0x4b9618=>{function _0x1e0266(_0x475e3a,_0x12429f){return _0x54e1e2(_0x12429f-0x39e,_0x475e3a);}this[_0x1e0266(_0x3d6bdb._0x585253,0x14e9)](_0x4b9618);});function _0x54e1e2(_0x1d4e1d,_0x3232ed){return _0x306755(_0x3232ed,_0x1d4e1d- -_0x24705c._0x137b09);}this[_0x54e1e2(0x96c,0x77c)]['availability']&&(this['availability']=this[_0x328851(0x1146,_0x1a9256._0x11ece6)][_0x328851(-0x8,0x4b9)]),this['options']['flyTo']&&(this[_0x54e1e2(_0x1a9256._0x20c6ac,_0x1a9256._0x4721fd)][_0x54e1e2(_0x1a9256._0x2360a6,-0x164)]=this['options']['flyToOptions']||{},this['options'][_0x328851(-_0x1a9256._0x4011ba,_0x1a9256._0x546b65)]['duration']=this['options']['flyToOptions'][_0x54e1e2(0x1d5,_0x1a9256._0x2975a4)]??0x0,this['flyTo']()),this['_state']=State['ADDED'],this[_0x54e1e2(0x598,-_0x1a9256._0x117f3d)](EventType[_0x54e1e2(0xa3d,0x1175)]),!this['isPrivate']&&this['enabledEvent']&&this['_layer'][_0x54e1e2(0x598,0xabe)](EventType['addGraphic'],{'graphic':this},!![]),this['options'][_0x54e1e2(0x1151,_0x1a9256._0x7a475e)]&&new Function(_0x328851(_0x1a9256._0x145047,_0x1a9256._0x209124),this['options']['script'])(this);}['_onRemove'](){const _0x29226e={_0x4380e4:0x1c99,_0x44a1c4:0x1221,_0x2a1d00:0x1160,_0x1b5e6d:0xdbe,_0x30c55a:0x90d,_0x2a6dfa:0x11eb,_0x2c0ecf:0x115d,_0x12d3df:0xfd1,_0x241a50:0x1663,_0x2f0220:0x158d,_0x603168:0x5e2,_0x450fb9:0x79a,_0x37d5e1:0xf25,_0x4cdca2:0xc21},_0x564ebe={_0x33e740:0xde};var _0x5e050f,_0x1c8f94;if(this['_state']!==State[_0x6f80b4(_0x29226e._0x4380e4,_0x29226e._0x44a1c4)])return;if(!this[_0x4a5c53(_0x29226e._0x2a1d00,_0x29226e._0x1b5e6d)]||!this[_0x6f80b4(0x8ca,0x79a)])return;this['_closeAllControl'](),this[_0x6f80b4(_0x29226e._0x30c55a,_0x29226e._0x2a6dfa)]();this['update']&&this[_0x6f80b4(0xda9,0xa32)]();this['_removedHook']&&this['_removedHook']();function _0x4a5c53(_0x5f2a6a,_0x2efbc5){return _0x306755(_0x2efbc5,_0x5f2a6a- -0x264);}if(!this['options'])return;function _0x6f80b4(_0x2824d5,_0x5e56e2){return _0x2b6441(_0x2824d5,_0x5e56e2-_0x564ebe._0x33e740);}this[_0x4a5c53(_0x29226e._0x2c0ecf,_0x29226e._0x12d3df)]=State['REMOVED'],this['fire'](EventType['remove']);!this[_0x4a5c53(_0x29226e._0x241a50,_0x29226e._0x2f0220)]&&this['enabledEvent']&&this['_layer'][_0x6f80b4(-0x1f8,0x3c6)](EventType[_0x4a5c53(0xadf,_0x29226e._0x603168)],{'graphic':this},!![]);if((_0x5e050f=this['options'])!==null&&_0x5e050f!==void 0x0&&_0x5e050f[_0x6f80b4(0x818,0xcc6)])this['removeEventParent'](this[_0x6f80b4(0xefb,_0x29226e._0x450fb9)][_0x4a5c53(_0x29226e._0x37d5e1,0xa75)]);else{if(((_0x1c8f94=this['options'])===null||_0x1c8f94===void 0x0?void 0x0:_0x1c8f94['eventParent'])===![]);else this[_0x6f80b4(_0x29226e._0x4cdca2,0x6a1)](this[_0x6f80b4(0x1442,0xf01)]);}this['_layer']=null,this['_map']=null;}[_0x2b6441(0x9e1,0xd6b)](){}['_addedHook'](_0x2a7c9d){}['_removedHook'](){}['enableControl'](_0x1d1c4d){const _0x1c5c5b={_0x5ecb5d:0x14f,_0xab19c7:0x13c7,_0x47682f:0xdc0,_0x5bd519:0x1d4,_0x46ca75:0x9ce},_0x417818={_0x420651:0x402};function _0x290a69(_0x12f3ca,_0x4a8889){return _0x306755(_0x4a8889,_0x12f3ca- -_0x417818._0x420651);}var _0x1c81cb,_0x11d37c,_0x24f80d;this['_map']['mouseEvent'][_0x290a69(0x667,-_0x1c5c5b._0x5ecb5d)]=_0x1d1c4d;(_0x1c81cb=this[_0x290a69(0x13c7,0x1265)])!==null&&_0x1c81cb!==void 0x0&&_0x1c81cb['popup']&&(this[_0x290a69(_0x1c5c5b._0xab19c7,0x1621)]['popup'][_0x3c5716(0x1867,_0x1c5c5b._0x47682f)]=_0x1d1c4d);(_0x11d37c=this['_map'])!==null&&_0x11d37c!==void 0x0&&_0x11d37c[_0x3c5716(_0x1c5c5b._0x5bd519,_0x1c5c5b._0x46ca75)]&&(this['_map']['tooltip']['enabled']=_0x1d1c4d);function _0x3c5716(_0x87c9ae,_0x4a528b){return _0x2b6441(_0x87c9ae,_0x4a528b-0x91);}(_0x24f80d=this['_map'])!==null&&_0x24f80d!==void 0x0&&_0x24f80d['contextmenu']&&(this['_map']['contextmenu'][_0x3c5716(0xfe5,_0x1c5c5b._0x47682f)]=_0x1d1c4d);}['setOptions'](_0x3fc339){const _0x219aa9={_0x2e6b93:0x934,_0xfd23c9:0x486,_0x1cba02:0x63c,_0x3103c8:0xcf0,_0x243f71:0xaa8,_0x2bd6e3:0x3a0,_0x38ebb6:0x23e,_0x20bdd6:0xbb1,_0x17c642:0x8bd,_0x287ce6:0xe50,_0x12750c:0xbcf,_0x55fbad:0x10ca,_0x159afd:0x63c,_0x24d0f5:0x1843,_0x48f895:0xfab,_0x23c0a2:0x1843,_0xe03b35:0xda3};if(!_0x3fc339||Object[_0x1ae9de(_0x219aa9._0x2e6b93,0xac6)](_0x3fc339)['length']===0x0)return this;function _0x1ae9de(_0x48a876,_0x37bca6){return _0x306755(_0x48a876,_0x37bca6- -0x621);}function _0xe1b586(_0x8ff066,_0x177ab8){return _0x306755(_0x177ab8,_0x8ff066- -0x8e);}for(const _0x5e3812 in _0x3fc339){const _0x56e9fc=_0x3fc339[_0x5e3812];switch(_0x5e3812){case'name':case'show':case'position':case'positions':case'targetPosition':case'availability':this['options'][_0x5e3812]=_0x56e9fc,this[_0x5e3812]=_0x56e9fc;break;case'orientation':this[_0xe1b586(0xbcf,0x3b1)][_0x5e3812]=_0x56e9fc,this['czmObject'][_0x5e3812]=_0x56e9fc;break;case _0xe1b586(0xc6e,0x61b):{this['options']['attr']=merge(this[_0x1ae9de(-_0x219aa9._0xfd23c9,_0x219aa9._0x1cba02)]['attr'],_0x3fc339[_0x1ae9de(_0x219aa9._0x3103c8,0x6db)]);const _0x150304={};_0x150304[_0x1ae9de(_0x219aa9._0x243f71,0x6db)]=_0x3fc339['attr'],this['fire'](EventType['updateAttr'],_0x150304,!![]);break;}case'style':{this['options']['style']=merge(this['options']['style'],_0x3fc339[_0x1ae9de(-_0x219aa9._0x2bd6e3,0x235)]),this['_updateStyleBaseHook'](_0x3fc339['style']);const _0x3bc478={};_0x3bc478['style']=_0x3fc339['style'],this[_0xe1b586(0x7fb,0xbf3)](EventType['updateStyle'],_0x3bc478,!![]);break;}default:{isObject(_0x56e9fc)?this['options'][_0x5e3812]=merge(this['options'][_0x5e3812],_0x56e9fc):this[_0x1ae9de(-0x89,0x63c)][_0x5e3812]=_0x56e9fc;break;}}}return(_0x3fc339['popup']||_0x3fc339[_0x1ae9de(_0x219aa9._0x38ebb6,0xed)])&&this['bindPopup'](this['options'][_0x1ae9de(-0x59f,0x479)],this[_0xe1b586(0xbcf,_0x219aa9._0x20bdd6)]['popupOptions']),(_0x3fc339[_0x1ae9de(0x5de,_0x219aa9._0x17c642)]||_0x3fc339['tooltipOptions'])&&this['bindTooltip'](this[_0x1ae9de(0x9ce,0x63c)][_0xe1b586(_0x219aa9._0x287ce6,0xbc6)],this[_0xe1b586(_0x219aa9._0x12750c,0x3af)][_0x1ae9de(0x1681,_0x219aa9._0x55fbad)]),(_0x3fc339['contextmenuItems']||_0x3fc339[_0xe1b586(0x16fc,0x12b9)])&&this['bindContextMenu'](this[_0x1ae9de(0x9db,_0x219aa9._0x159afd)]['contextmenuItems'],this['options']['contextmenuItemsOptions']),this[_0xe1b586(_0x219aa9._0x24d0f5,_0x219aa9._0x48f895)]&&this[_0xe1b586(_0x219aa9._0x23c0a2,_0x219aa9._0xe03b35)](this[_0x1ae9de(0xd29,0x63c)],_0x3fc339),this;}['setStyle'](_0x31411f){const _0x5ad8ce={_0x406efa:0x1c33,_0x115d2a:0x49e,_0x55aeac:0x74b,_0x12e3d6:0x2e2,_0x26065f:0x60d,_0x2fb6a0:0x60d,_0x170d65:0xd54,_0x5544f8:0x2e3,_0x158010:0x1208,_0x87707b:0xaf1,_0x4d0f6b:0x15d8,_0x3bb0ef:0x1519,_0x5c5d92:0xaf2,_0x47bf65:0xaf2,_0x369fbb:0x402,_0x18a4df:0x545,_0x3186dd:0xaf2,_0x2b9bc7:0x81a},_0x1a4495={_0x1dd09f:0x573};var _0xdfc19a,_0x4900b5,_0x65e75e;if(!_0x31411f)return;_0x31411f[_0x694ac5(_0x5ad8ce._0x406efa,0x13ee)]&&delete this[_0x694ac5(_0x5ad8ce._0x115d2a,0x6ea)][_0x4d2d4e(0x69a,_0x5ad8ce._0x55aeac)]['material'];_0x31411f[_0x694ac5(-_0x5ad8ce._0x12e3d6,_0x5ad8ce._0x26065f)]&&this['options']['style']['materialOptions']&&delete this[_0x4d2d4e(0xaa1,0x523)]['style']['materialOptions'];(_0xdfc19a=_0x31411f['outlineStyle'])!==null&&_0xdfc19a!==void 0x0&&_0xdfc19a[_0x694ac5(0x1022,_0x5ad8ce._0x2fb6a0)]&&(_0x4900b5=this['options']['style'])!==null&&_0x4900b5!==void 0x0&&(_0x4900b5=_0x4900b5['outlineStyle'])!==null&&_0x4900b5!==void 0x0&&_0x4900b5['materialOptions']&&delete this['options']['style']['outlineStyle'][_0x4d2d4e(0x10fd,0x106a)];function _0x694ac5(_0x40e6eb,_0x343fb6){return _0x306755(_0x40e6eb,_0x343fb6- -_0x1a4495._0x1dd09f);}this[_0x4d2d4e(0xaa1,0x7f0)][_0x694ac5(_0x5ad8ce._0x170d65,_0x5ad8ce._0x5544f8)]=merge(this[_0x694ac5(0x396,0x6ea)]['style'],_0x31411f);!((_0x65e75e=this[_0x4d2d4e(_0x5ad8ce._0x158010,_0x5ad8ce._0x87707b)])!==null&&_0x65e75e!==void 0x0&&_0x65e75e[_0x4d2d4e(_0x5ad8ce._0x4d0f6b,_0x5ad8ce._0x3bb0ef)])&&Cesium__namespace['defined'](_0x31411f[_0x4d2d4e(_0x5ad8ce._0x5c5d92,0x887)])&&(_0x31411f[_0x4d2d4e(_0x5ad8ce._0x47bf65,_0x5ad8ce._0x369fbb)]?this[_0x694ac5(0xf7f,_0x5ad8ce._0x18a4df)](this['style'][_0x4d2d4e(_0x5ad8ce._0x3186dd,_0x5ad8ce._0x2b9bc7)]):this['unbindHighlight']());this['_updateStyleBaseHook'](_0x31411f);function _0x4d2d4e(_0x20411b,_0x2e4d24){return _0x2b6441(_0x2e4d24,_0x20411b-0x3e5);}const _0x28a676={};return _0x28a676['style']=_0x31411f,this['fire'](EventType[_0x694ac5(0x5bc,0x7e4)],_0x28a676,!![]),this;}['_updateStyleBaseHook'](_0x171918){}[_0x2b6441(0x100b,0x134d)](_0x42f1f4){const _0x1e951b={_0x4c95a1:0x1e5};clearTimeout(this['_canrefresh']),this['_canrefresh']=setTimeout(()=>{const _0x571bb1={_0x5db80f:0x1f8},_0x5b0f25={_0x40a809:0x61};function _0x351607(_0x6dbc0a,_0x4ad6a1){return _0x5bbe(_0x4ad6a1-_0x5b0f25._0x40a809,_0x6dbc0a);}function _0xa42d52(_0x2c483b,_0x14df30){return _0x5bbe(_0x2c483b-_0x571bb1._0x5db80f,_0x14df30);}if(this[_0x351607(0x45c,0x94f)]){const _0x17521a={};_0x17521a['globalAlpha']=_0x42f1f4,this[_0x351607(_0x1e951b._0x4c95a1,0x5d7)](_0x17521a);}},0x1f4);}[_0x306755(-0x64,0x579)](_0xb784f){const _0x1dba5c={_0x2ace3b:0x256,_0x1f4d22:0xc13,_0x4c6182:0x5e8,_0x58079e:0x32f,_0x220588:0x15c7,_0x51fb22:0x7dc,_0x121cbe:0x8c1,_0x788aed:0x12b5,_0x4a0864:0xbf0,_0x4d4e1a:0x492,_0xac3c6e:0xd54,_0x3ae17f:0xb65};let _0xe344c4;if(_0xb784f!==null&&_0xb784f!==void 0x0&&_0xb784f['standard'])_0xe344c4=this['attr'];else{const _0x3d417d={...this['options']},_0x2072f0=_0x3d417d;for(const _0x21aae8 in _0x2072f0){(_0x21aae8[_0x11d57c(_0x1dba5c._0x2ace3b,_0x1dba5c._0x1f4d22)]('_')||_0x21aae8==='id'||_0x21aae8==='name'||_0x21aae8==='type'||_0x21aae8==='style'||_0x21aae8==='attr'||_0x21aae8==='position'||_0x21aae8==='positions')&&delete _0x2072f0[_0x21aae8];}const _0x4e168f={};_0x4e168f['onlySimpleType']=!![],_0xe344c4={'name':this[_0x11d57c(_0x1dba5c._0x4c6182,-_0x1dba5c._0x58079e)],...this['attr'],'id':this['id'],'type':this[_0xbf9db9(_0x1dba5c._0x220588,0x1c95)],'style':this['_style2JsonBase'](this['style'],!![]),'options':getAttrVal(_0x2072f0,_0x4e168f)},this[_0x11d57c(_0x1dba5c._0x51fb22,_0x1dba5c._0x121cbe)]&&(_0xe344c4['availability']=this['availability']),_0xb784f!==null&&_0xb784f!==void 0x0&&_0xb784f['noStyle']&&delete _0xe344c4['style'],this['_toJSON_Ex']&&this['_toJSON_Ex'](_0xe344c4[_0xbf9db9(0xbc1,0x125c)]);}const _0x3edef4={};_0x3edef4['type']=_0x11d57c(0x789,-0x1fe),_0x3edef4[_0x11d57c(0x8a7,_0x1dba5c._0x788aed)]=_0xe344c4;const _0x4b7be2=_0x3edef4;function _0x11d57c(_0x2e764b,_0x3bcba0){return _0x306755(_0x3bcba0,_0x2e764b- -0x2ab);}if(this['_getGeoJsonGeometry'])_0x4b7be2['geometry']=this['_getGeoJsonGeometry'](_0xb784f);else{if(this['position'])_0x4b7be2[_0x11d57c(0x30d,0x3bf)]={'type':'Point','coordinates':this[_0xbf9db9(0x1956,0x21ef)](_0xb784f===null||_0xb784f===void 0x0?void 0x0:_0xb784f[_0x11d57c(0xb45,0xe4f)])};else this['positions']&&(_0x4b7be2['geometry']={'type':_0x11d57c(_0x1dba5c._0x4a0864,_0x1dba5c._0x4d4e1a),'coordinates':this[_0xbf9db9(0x13b1,0x1062)](_0xb784f===null||_0xb784f===void 0x0?void 0x0:_0xb784f[_0xbf9db9(_0x1dba5c._0xac3c6e,_0x1dba5c._0x3ae17f)])});}function _0xbf9db9(_0x170f4a,_0x2d002a){return _0x306755(_0x2d002a,_0x170f4a- -0x9c);}return _0x4b7be2;}[_0x306755(0x10f7,0xb0a)](){const _0x4aa20d={_0x243cdc:0x737,_0x4bc6c9:0x14a6,_0x156321:0xd3a,_0x129728:0xec,_0x45e3e9:0xb1,_0x5e2143:0x31f,_0x48a8cb:0xa1d,_0x22980c:0x1633,_0x15e808:0x1b3b,_0x23db58:0x1c7d,_0x5e14af:0x877,_0x5852be:0x1041,_0x43343a:0x1ef,_0x1de32a:0x83f,_0x3a1e5a:0x1028,_0x41a413:0x10cf,_0x5ba18b:0x1446,_0x21ced3:0xd01},_0x25e21c={};_0x25e21c[_0x2084b1(-0x370,_0x4aa20d._0x243cdc)]=!![];const _0x49fbf3={...getAttrVal(this['options'],_0x25e21c),'id':this['id'],'name':this['name'],'type':this[_0x12b0dd(_0x4aa20d._0x4bc6c9,_0x4aa20d._0x156321)],'attr':this[_0x2084b1(0x930,0x916)],'style':this['_style2JsonBase'](this['style'],![])};if(this['_getJsonPositions'])this[_0x2084b1(_0x4aa20d._0x129728,_0x4aa20d._0x45e3e9)](_0x49fbf3);else{if(this[_0x12b0dd(0x11aa,0x1aff)])_0x49fbf3['position']=this[_0x2084b1(0xa93,0xf81)],this[_0x2084b1(0x4d6,0x877)][_0x12b0dd(0x103a,0x880)]&&this[_0x2084b1(_0x4aa20d._0x5e2143,0x877)][_0x2084b1(_0x4aa20d._0x48a8cb,0xe11)]['type']===_0x12b0dd(0x17da,0x1c76)&&this['options'][_0x2084b1(_0x4aa20d._0x22980c,0xe11)][_0x12b0dd(0xa02,0x8eb)]&&(_0x49fbf3['position']=this['options'][_0x12b0dd(0x103a,0xa1e)]);else this['coordinates']?_0x49fbf3[_0x2084b1(_0x4aa20d._0x15e808,0x15b3)]=this['coordinates']:logError(_0x12b0dd(0x1247,_0x4aa20d._0x23db58),this);}function _0x2084b1(_0x383d35,_0xdea210){return _0x306755(_0x383d35,_0xdea210- -0x3e6);}function _0x12b0dd(_0x54a6bf,_0x200cc8){return _0x2b6441(_0x200cc8,_0x54a6bf-0x3e4);}Cesium__namespace['defined'](this['options']['styleType'])&&this[_0x2084b1(0x6c0,_0x4aa20d._0x5e14af)][_0x2084b1(_0x4aa20d._0x5852be,0x1170)]!==this['type']&&(_0x49fbf3['styleType']=this[_0x2084b1(_0x4aa20d._0x43343a,0x877)]['styleType']);this['_availability']&&(_0x49fbf3[_0x12b0dd(_0x4aa20d._0x1de32a,0x85a)]=this[_0x12b0dd(_0x4aa20d._0x1de32a,0x474)]);this[_0x2084b1(_0x4aa20d._0x3a1e5a,_0x4aa20d._0x41a413)]&&this['_toJSON_Ex'](_0x49fbf3);for(const _0x4b25d5 in _0x49fbf3){const _0x199897=_0x49fbf3[_0x4b25d5];(!Cesium__namespace[_0x2084b1(0x1e2d,0x13cc)](_0x199897)||isObject(_0x199897)&&Object[_0x2084b1(_0x4aa20d._0x5ba18b,_0x4aa20d._0x21ced3)](_0x199897)['length']===0x0)&&delete _0x49fbf3[_0x4b25d5];}return _0x49fbf3;}[_0x2b6441(0xdfa,0x105f)](_0x5a5821,_0xb78122){const _0xb5f85c={_0x21ccf9:0xd3,_0x330be0:0x4a3,_0xe2edf0:0x3e5,_0x55dffb:0x8cf,_0x5bc581:0x737,_0x57ceff:0x36a,_0xe4738b:0x168,_0x342768:0x48c};function _0x3d1421(_0x53a4fa,_0x30b4d3){return _0x306755(_0x53a4fa,_0x30b4d3- -0x3df);}function _0x189ac8(_0xff2136,_0x24b15c){return _0x2b6441(_0xff2136,_0x24b15c-0x46d);}let _0x1ba773;if(this[_0x189ac8(0xa72,0x4a3)])_0x1ba773=this[_0x3d1421(0x663,0x1f8)](_0x5a5821),_0x5a5821['highlight']&&(_0x1ba773['highlight']=this[_0x189ac8(-_0xb5f85c._0x21ccf9,_0xb5f85c._0x330be0)](_0x5a5821[_0x3d1421(_0xb5f85c._0xe2edf0,_0xb5f85c._0x55dffb)]));else{const _0x1e9b81={};_0x1e9b81['onlySimpleType']=!![],_0x1ba773=getAttrVal(_0x5a5821,_0x1e9b81);}return _0x5a5821['label']&&(_0x1ba773[_0x189ac8(-0x1fb,_0xb5f85c._0x5bc581)]=LabelStyleConver[_0x3d1421(-_0xb5f85c._0x57ceff,0x72b)](_0x5a5821[_0x3d1421(-_0xb5f85c._0xe4738b,_0xb5f85c._0x342768)])),_0x5a5821['outlineStyle']&&(_0x1ba773[_0x189ac8(0x1344,0x111b)]=PolylineStyleConver['toJSON'](_0x5a5821['outlineStyle'])),_0x1ba773;}['bindUpdateEvent'](){const _0x7f096f={_0x3ffbe0:0x1314},_0x5542a7={_0x433acc:0xec};if(!this['update']||!this['_map'])return;function _0x219d1c(_0x55d455,_0x5c714d){return _0x2b6441(_0x5c714d,_0x55d455-_0x5542a7._0x433acc);}this['unbindUpdateEvent'](),this[_0x219d1c(_0x7f096f._0x3ffbe0,0x1084)]['on'](EventType['preRender'],this['_map_preRenderHandler'],this),this['_map_preRenderHandler'](this['_map']['scene']);}[_0x306755(0x1929,0xef5)](){const _0x1335bc={_0x31a397:0x18cc,_0x8c6099:0x1719,_0xa3364f:0x1487},_0x402092={_0x1351cb:0xb0};function _0x312cd2(_0x388c53,_0x46a50e){return _0x2b6441(_0x46a50e,_0x388c53-0x523);}function _0x2275db(_0xb69b13,_0x1377ed){return _0x306755(_0x1377ed,_0xb69b13- -_0x402092._0x1351cb);}this[_0x2275db(0x1719,_0x1335bc._0x31a397)]&&this[_0x2275db(_0x1335bc._0x8c6099,_0x1335bc._0xa3364f)]['off'](EventType['preRender'],this['_map_preRenderHandler'],this);}[_0x2b6441(0xf95,0xbd7)](_0x445af7){const _0x1abeb1={_0x48fcc5:0x13cf,_0x3ecb01:0x169d,_0x39f24b:0x1a9e,_0x103d21:0x1375,_0x5a7cc9:0x830,_0x1c7a33:0x11a3,_0x3a7588:0x9bd,_0x12e777:0x967,_0x226173:0x66b},_0x5745b6={_0x388dcb:0x1b3},_0x5f0861={_0x2dc1ce:0x21c};var _0x314f8c;if(!this['_map']||!this['show']||this[_0x38db52(0x13aa,_0x1abeb1._0x48fcc5)]||!this['_layer']['show'])return;if((_0x314f8c=this[_0x537095(0xfdf,0xa41)])!==null&&_0x314f8c!==void 0x0&&_0x314f8c[_0x537095(_0x1abeb1._0x3ecb01,0x1007)]&&this['_last_preUpdateTime']){const _0x268950=_0x445af7['_frameState']['frameNumber']-this[_0x537095(_0x1abeb1._0x39f24b,_0x1abeb1._0x103d21)];if(_0x268950<this['options'][_0x537095(_0x1abeb1._0x5a7cc9,0x1007)])return;}this[_0x38db52(_0x1abeb1._0x1c7a33,_0x1abeb1._0x3a7588)]=_0x445af7['_frameState'][_0x38db52(0xb49,_0x1abeb1._0x12e777)];function _0x537095(_0x354144,_0xd7a190){return _0x306755(_0x354144,_0xd7a190- -_0x5f0861._0x2dc1ce);}function _0x38db52(_0xc0eaf7,_0x51e973){return _0x2b6441(_0x51e973,_0xc0eaf7-_0x5745b6._0x388dcb);}this['update'](_0x445af7[_0x537095(-_0x1abeb1._0x226173,0x3fd)]);}['getRectangle'](_0x53c6aa){const _0x3325a5={_0x263e31:0x6db,_0x20498f:0x174,_0x40a0cd:0x1828,_0x11787e:0x13d8,_0x2715f6:0x142e,_0x5bf05d:0x1061},_0x41376f={_0x516a4d:0x37e};if(!this[_0x4d2ce7(0x744,_0x3325a5._0x263e31)]){let _0x5c605f=this['positionsShow']||this['positions'];if(!_0x5c605f||_0x5c605f[_0x4d2ce7(0xcf4,0x1598)]===0x0){const _0x3903d9=this['positionShow']||this['position'];_0x3903d9&&(_0x5c605f=[_0x3903d9]);}if((_0x53c6aa===null||_0x53c6aa===void 0x0?void 0x0:_0x53c6aa[_0x4be722(-_0x3325a5._0x20498f,0x71e)])===![]&&_0x5c605f[_0x4be722(_0x3325a5._0x40a0cd,_0x3325a5._0x11787e)]===0x1)return undefined;this['_getRectangle_cache']=getRectangle(_0x5c605f,_0x53c6aa===null||_0x53c6aa===void 0x0?void 0x0:_0x53c6aa[_0x4be722(_0x3325a5._0x2715f6,_0x3325a5._0x5bf05d)]);}function _0x4d2ce7(_0x22f129,_0x5386bd){return _0x2b6441(_0x22f129,_0x5386bd-0x53e);}function _0x4be722(_0x2d8b70,_0x31c43f){return _0x2b6441(_0x2d8b70,_0x31c43f-_0x41376f._0x516a4d);}return this['_getRectangle_cache'];}[_0x2b6441(0x1289,0xbb1)](){const _0x35ab19={_0x52eaa3:0x1123};if(this['isPoint'])return LngLatPoint['fromCartesian'](this['positionShow'])['alt'];function _0x361211(_0x5d2686,_0x58cc51){return _0x306755(_0x58cc51,_0x5d2686- -0x447);}const _0x19817e=this['_positions_draw']||this['positionsShow']||this['positions'];if(_0x19817e&&_0x19817e[_0x361211(0x11b4,_0x35ab19._0x52eaa3)]>0x0)return getMaxHeight(_0x19817e);return 0x0;}['fire'](_0x546998,_0x21c8c8={},_0x10156c){const _0x5213e0={_0xc62b60:0x15eb,_0x1dfb66:0x581};function _0x1b69f9(_0x2bf5b3,_0xac541d){return _0x306755(_0x2bf5b3,_0xac541d- -0x308);}function _0x24b060(_0x360446,_0x26b554){return _0x306755(_0x26b554,_0x360446-0x16c);}var _0x15a971;return(!_0x21c8c8['graphic']||(_0x15a971=_0x21c8c8[_0x1b69f9(0x1b89,_0x5213e0._0xc62b60)])!==null&&_0x15a971!==void 0x0&&_0x15a971['isPrivate']||_0x21c8c8['drawType']||_0x21c8c8['editType'])&&(_0x21c8c8['graphic']=this),super[_0x1b69f9(-0x10c,_0x5213e0._0x1dfb66)](_0x546998,_0x21c8c8,_0x10156c);}['flyTo'](_0x36d95a={}){const _0x3a5105={_0x41979e:0x71c,_0x350f66:0xf59,_0x2f5734:0x70e,_0x29f547:0xd3d,_0xd7dc44:0x8c4,_0xe2266b:0x191,_0x280d5f:0x52b,_0x2de853:0x2ff,_0x4d93ec:0x1b6},_0x206a87={_0x3ee860:0x216},_0x119a2e={_0x17620c:0x276};if(!this['_map'])return Promise['resolve'](![]);this[_0x2f13a2(0x932,_0x3a5105._0x41979e)]['flyToOptions']&&(_0x36d95a={...this[_0x579f62(-0xa9,0x8d2)]['flyToOptions'],..._0x36d95a});const _0x1b7705={};function _0x2f13a2(_0x38ae35,_0x2c5abd){return _0x2b6441(_0x2c5abd,_0x38ae35-_0x119a2e._0x17620c);}_0x1b7705[_0x579f62(0xeb7,0x5b6)]=![],_0x1b7705[_0x2f13a2(_0x3a5105._0x350f66,0x590)]=!![];const _0x313254=this[_0x2f13a2(_0x3a5105._0x2f5734,_0x3a5105._0x29f547)]||this[_0x2f13a2(0x15b8,0x19d4)](_0x1b7705);if(_0x313254)return this['_map']['flyToExtent'](_0x313254,_0x36d95a);let _0x1eef51;function _0x579f62(_0x404812,_0x5a3aea){return _0x2b6441(_0x404812,_0x5a3aea-_0x206a87._0x3ee860);}if(this['positionsShow'])_0x1eef51=this[_0x579f62(0xaf7,_0x3a5105._0xd7dc44)];else{if(this['positions'])_0x1eef51=this['positions'];else this['position']&&(_0x1eef51=[this['position']]);}return _0x36d95a[_0x2f13a2(_0x3a5105._0xe2266b,0x74d)]=this[_0x2f13a2(_0x3a5105._0x280d5f,_0x3a5105._0x2de853)]['clampToGround'],this['_map'][_0x2f13a2(0xc45,_0x3a5105._0x4d93ec)](_0x1eef51,_0x36d95a);}['getAddHeight'](_0x13c268,_0x3b68a9=0x0){const _0x526313={_0x2900d7:0xe14},_0x411e3f={_0x3a52b9:0x4e0};var _0x32dd30;!_0x13c268&&(_0x13c268=this[_0xbb5be1(0x96e,0xc8c)]);function _0x4cd5f7(_0x4bf627,_0x327dcb){return _0x306755(_0x4bf627,_0x327dcb- -_0x411e3f._0x3a52b9);}function _0xbb5be1(_0x1c5fa8,_0x33c1fb){return _0x306755(_0x33c1fb,_0x1c5fa8-0x118);}let _0x2ecb01=(_0x32dd30=_0x13c268)===null||_0x32dd30===void 0x0?void 0x0:_0x32dd30['addHeight'];if(Cesium__namespace['defined'](_0x2ecb01)){if(isString(_0x2ecb01))_0x2ecb01=Number(template(_0x2ecb01,this[_0xbb5be1(_0x526313._0x2900d7,0xdda)],!![])),isNaN(_0x2ecb01)&&(_0x2ecb01=0x0);else Array['isArray'](_0x2ecb01)&&(_0x2ecb01=_0x2ecb01[_0x3b68a9]||0x0);return _0x2ecb01;}return undefined;}['getSetHeight'](_0x509b86,_0x71fcc5=0x0){const _0x415822={_0x147ece:0x1438};var _0x3ad243;function _0x2fb448(_0x3a88af,_0xdc4a06){return _0x306755(_0xdc4a06,_0x3a88af- -0x37);}!_0x509b86&&(_0x509b86=this['style']);let _0x5e2c08=(_0x3ad243=_0x509b86)===null||_0x3ad243===void 0x0?void 0x0:_0x3ad243[_0x2fb448(_0x415822._0x147ece,0x1b09)];function _0x2cc472(_0x57de62,_0x26d7fb){return _0x2b6441(_0x26d7fb,_0x57de62-0x6b7);}if(Cesium__namespace[_0x2fb448(0x177b,0x1c96)](_0x5e2c08)){if(isString(_0x5e2c08))_0x5e2c08=Number(template(_0x5e2c08,this['attr'],!![])),isNaN(_0x5e2c08)&&(_0x5e2c08=0x0);else Array['isArray'](_0x5e2c08)&&(_0x5e2c08=_0x5e2c08[_0x71fcc5]||0x0);return _0x5e2c08;}return undefined;}['_updatePositionsForHeight'](_0x5422b6,_0x4fc760){const _0x59f567={_0x36c938:0x1fa4,_0xc13ee1:0x18ee,_0x2dab9b:0x195,_0x148f63:0x1286,_0x505931:0x8ee};Cesium__namespace[_0x43d515(_0x59f567._0x36c938,_0x59f567._0xc13ee1)](_0x4fc760[_0x25ab5f(_0x59f567._0x2dab9b,0xc41)])&&(_0x5422b6=setPositionsHeight(_0x5422b6,_0x4fc760[_0x25ab5f(0x15fb,0xc41)]));function _0x25ab5f(_0x4d17a1,_0x483d24){return _0x306755(_0x4d17a1,_0x483d24-0x4f);}function _0x43d515(_0x506afb,_0x43ae66){return _0x2b6441(_0x506afb,_0x43ae66-0x6dd);}const _0x41b8a0=this[_0x43d515(_0x59f567._0x148f63,_0x59f567._0x505931)](_0x4fc760);Cesium__namespace['defined'](_0x41b8a0)&&(_0x5422b6=setPositionsHeight(_0x5422b6,_0x41b8a0));const _0x3e623e=this['getAddHeight'](_0x4fc760);return Cesium__namespace['defined'](_0x3e623e)&&(_0x5422b6=addPositionsHeight(_0x5422b6,_0x3e623e)),_0x5422b6;}['_calculateCzmHeight'](_0x657b0c,_0x523bd4,_0x276e42=!![]){const _0x2adc91={_0x5487b5:0x243,_0x506b78:0x116,_0x8f962b:0x5dd,_0x5d6be7:0x979,_0x4780f5:0xa22,_0x1840d6:0x2cc,_0x38792f:0x113c,_0x46e86d:0x90,_0x23e31f:0x15c},_0x10b6d9={_0xf7a5d4:0x43d};if(this[_0x2792de(0xb59,0x419)][_0x1fc724(0x5ac,_0x2adc91._0x5487b5)]||!_0x657b0c)return;function _0x2792de(_0x105e0e,_0x445218){return _0x306755(_0x105e0e,_0x445218- -_0x10b6d9._0xf7a5d4);}let _0x1adf70=this['style']['height']??0x0;if(!Cesium__namespace['defined'](this[_0x1fc724(_0x2adc91._0x506b78,_0x2adc91._0x8f962b)][_0x1fc724(0xd91,_0x2adc91._0x5d6be7)])||_0x523bd4){const _0x1bdf3e=this[_0x1fc724(_0x2adc91._0x4780f5,0xed9)]();_0x1bdf3e!==0x0&&(_0x1adf70=_0x1bdf3e,_0x276e42&&(this['style'][_0x1fc724(0xdfe,_0x2adc91._0x5d6be7)]=_0x1bdf3e));}const _0x146bfc=this['getSetHeight']();Cesium__namespace[_0x2792de(0xe5c,0x1375)](_0x146bfc)&&(_0x1adf70=_0x146bfc);const _0x462ebe=this['getAddHeight']();Cesium__namespace['defined'](_0x462ebe)&&(_0x1adf70+=_0x462ebe);_0x657b0c[_0x2792de(-0x15f,0x7b5)]=_0x1adf70;function _0x1fc724(_0xced3b7,_0x3c6f2f){return _0x306755(_0xced3b7,_0x3c6f2f- -0x279);}Cesium__namespace['defined'](this['style']['diffHeight'])&&(Cesium__namespace['defined'](this['style']['diffHeight'])&&this[_0x1fc724(-_0x2adc91._0x1840d6,_0x2adc91._0x8f962b)][_0x2792de(0x1c7,0x5e3)]!==0x0?_0x657b0c[_0x2792de(0xec4,0x113c)]=_0x1adf70+this['style']['diffHeight']:_0x657b0c[_0x2792de(0x1af6,_0x2adc91._0x38792f)]=undefined),this[_0x2792de(0xc76,0x44c)](EventType[_0x2792de(_0x2adc91._0x46e86d,_0x2adc91._0x23e31f)]);}['bindHighlight'](_0x472588){const _0x352cfb={_0x19f717:0x1068,_0x1d83b3:0x15d7,_0x1cd1ef:0x824},_0x124419={_0x1a233b:0x42f};this['unbindHighlight'](),this[_0x346429(0x1199,0x13a2)]=_0x472588;function _0x346429(_0x3d7520,_0x11b782){return _0x2b6441(_0x11b782,_0x3d7520- -0x5a);}function _0xeaa631(_0x337027,_0x427edc){return _0x2b6441(_0x427edc,_0x337027-_0x124419._0x1a233b);}this['_highlightOptions'][_0x346429(_0x352cfb._0x19f717,0x1846)]===EventType['click']?this['on'](EventType[_0xeaa631(0xef6,0xa8f)],this['_highlight_mouseEventHandler'],this):(this['on'](EventType['mouseOver'],this[_0xeaa631(_0x352cfb._0x1d83b3,0x1b12)],this),this['on'](EventType[_0x346429(0xd6,_0x352cfb._0x1cd1ef)],this['_highlight_mouseOutHandler'],this));}['unbindHighlight'](){const _0x42f81a={_0xcdbc72:0x16dd,_0x37ba0f:0x128d,_0x4e647:0x1266,_0x483e72:0xc6b,_0x4345f0:0xced,_0x2277d3:0x168c,_0x56f3a8:0x1bdc,_0x3c629e:0x15ba},_0xbf8a9a={_0x27773a:0x3fd};function _0x1b8512(_0xbc2348,_0x468ecf){return _0x306755(_0x468ecf,_0xbc2348- -0xbd);}function _0x589bc8(_0x485dcd,_0x47b239){return _0x306755(_0x485dcd,_0x47b239- -_0xbf8a9a._0x27773a);}this[_0x1b8512(0x16d7,_0x42f81a._0xcdbc72)]&&(this[_0x1b8512(0x16d7,0x162d)][_0x589bc8(_0x42f81a._0x37ba0f,_0x42f81a._0x4e647)]===EventType[_0x589bc8(0x1737,_0x42f81a._0x483e72)]?this['off'](EventType['click'],this['_highlight_mouseEventHandler'],this):(this[_0x589bc8(_0x42f81a._0x4345f0,0x56f)](EventType['mouseOver'],this[_0x1b8512(_0x42f81a._0x2277d3,_0x42f81a._0x56f3a8)],this),this['off'](EventType['mouseOut'],this[_0x1b8512(0x15b7,0xf26)],this)),this['_map'][_0x1b8512(0x151f,_0x42f81a._0x3c629e)](this)&&this['_map'][_0x1b8512(0xa8a,0x1362)](),this['_highlightOptions']=null);}[_0x2b6441(0x18de,0x11a8)](_0x6fbebf){const _0xa9b374={_0x5f5293:0x1fa1},_0x5cf17b={_0x36aa5e:0x1e5};if(!this['_map'])return;const _0x4d9d88=_0x6fbebf===null||_0x6fbebf===void 0x0?void 0x0:_0x6fbebf[_0x2d4c0d(_0xa9b374._0x5f5293,0x1537)];function _0x1e68f9(_0x3be8f8,_0x262c5b){return _0x306755(_0x262c5b,_0x3be8f8- -0x561);}function _0x2d4c0d(_0x33ce14,_0x1e968c){return _0x2b6441(_0x33ce14,_0x1e968c-_0x5cf17b._0x36aa5e);}_0x4d9d88?this['_map']['openHighlight'](_0x4d9d88,this['_highlightOptions'],_0x6fbebf):this['_map'][_0x1e68f9(0x5e6,0x94a)]();}['_highlight_mouseOutHandler'](_0x356c22){function _0x17ce29(_0x1d11a2,_0x381847){return _0x2b6441(_0x1d11a2,_0x381847-0x571);}this[_0x17ce29(0xf7e,0x1799)]['closeHighlight']();}[_0x2b6441(-0x2cf,0x7c1)](){const _0x37c9cd={_0x3a4060:0xa82,_0x542044:0x15a3,_0x5de3c4:0xc70};this[_0x33a03e(_0x37c9cd._0x3a4060,0x14ba)](),this[_0x13e1d(0x9d5,0x88e)](),this['closeSmallTooltip']();function _0x13e1d(_0x35b9ee,_0x36a376){return _0x2b6441(_0x35b9ee,_0x36a376-0x6eb);}function _0x33a03e(_0xb63b14,_0x5ba4a3){return _0x2b6441(_0xb63b14,_0x5ba4a3-0x1c2);}this[_0x33a03e(_0x37c9cd._0x542044,_0x37c9cd._0x5de3c4)]();}[_0x2b6441(0xb19,0x453)](){const _0x204e39={_0x289c44:0x113f};function _0x18213c(_0x26c5ca,_0xe07609){return _0x2b6441(_0x26c5ca,_0xe07609-0xb2);}return this[_0x18213c(_0x204e39._0x289c44,0xd08)]||this['center'];}['hasPopup'](_0x58fbaf){return Boolean(this['getPopupConfig'](_0x58fbaf));}[_0x306755(0xbdb,0x1572)](_0x198e2e=!![]){const _0x4223ad={_0x2f3788:0x17b1,_0x490b0d:0x12ff,_0x4d220f:0xae0,_0x1c1357:0xb53};var _0x5e2038;if(this[_0x2df160(0x17eb,0x104f)]){const _0xb94deb={...this['_popupConfig']};return _0xb94deb;}function _0x2df160(_0x1781e9,_0x27449a){return _0x2b6441(_0x1781e9,_0x27449a-0x4dc);}if(_0x198e2e&&(_0x5e2038=this[_0x2df160(_0x4223ad._0x2f3788,0x12ff)])!==null&&_0x5e2038!==void 0x0&&_0x5e2038['_popupConfig']){const _0xc29544={...this[_0x2df160(0x1282,_0x4223ad._0x490b0d)][_0x768c42(_0x4223ad._0x4d220f,_0x4223ad._0x1c1357)]};return _0xc29544;}function _0x768c42(_0xc012ad,_0x1c4ba2){return _0x306755(_0xc012ad,_0x1c4ba2- -0x5c1);}return null;}[_0x2b6441(-0x2e1,-0x131)](_0x3746c6,_0x478865={}){const _0x14fc11={_0x76486c:0x10b1,_0x485c29:0x1381},_0x2a5c0c={_0x50161f:0x28e};function _0x50efa8(_0x466665,_0x18e126){return _0x2b6441(_0x466665,_0x18e126-0x5df);}this['_popupConfig']={'content':_0x3746c6,'options':_0x478865||this[_0x50efa8(0xafe,0xc9b)]['popupOptions'],'graphic':this,'layer':this[_0x4ef853(_0x14fc11._0x76486c,0x107e)]},this['_onEventHook']&&this['_onEventHook'](_0x50efa8(_0x14fc11._0x485c29,0xad8));function _0x4ef853(_0x2a539b,_0x87a8e4){return _0x2b6441(_0x87a8e4,_0x2a539b-_0x2a5c0c._0x50161f);}return this;}['unbindPopup'](_0x1965e3){const _0x575377={_0x4be2bb:0xe9a,_0xbbcf47:0xcd9,_0x40906c:0x3c6},_0x5a728e={_0x588d17:0x207};function _0x8be8fc(_0x328cb3,_0x1f1c83){return _0x2b6441(_0x328cb3,_0x1f1c83-_0x5a728e._0x588d17);}_0x1965e3?this[_0x2762b2(_0x575377._0x4be2bb,_0x575377._0xbbcf47)]=![]:this[_0x8be8fc(0xb0a,0xd7a)]=null;function _0x2762b2(_0x1f94b2,_0x2e0411){return _0x2b6441(_0x1f94b2,_0x2e0411-0x166);}return this[_0x2762b2(0x848,0xd58)]&&this['_onEventHook'](_0x8be8fc(-_0x575377._0x40906c,0x700)),this;}['openPopup'](_0xa86cf7,_0xdcf417){const _0x326295={_0x149f10:0xfaa,_0x1aa4dd:0xc7f,_0x3522bf:0x704,_0x36e25b:0xd90,_0x4ef9de:0x1195},_0x12b614={_0x153818:0x27};function _0x6664fb(_0x2da9ee,_0x4a73c5){return _0x2b6441(_0x4a73c5,_0x2da9ee- -_0x12b614._0x153818);}const _0x38967e=this[_0x6664fb(_0x326295._0x149f10,_0x326295._0x1aa4dd)]();_0x38967e&&this[_0x6664fb(0x1201,0x1652)]&&(_0xdcf417&&(_0x38967e['event']=_0xdcf417),_0x38967e['graphic']=this,_0x38967e[_0x6664fb(0x402,_0x326295._0x3522bf)]=this[_0x1547aa(_0x326295._0x36e25b,0x5e7)],_0x38967e['_custom_position']=_0xa86cf7,this[_0x1547aa(_0x326295._0x4ef9de,0x1055)]['popup']['open'](_0xa86cf7||this['_getPopupPosition'](),_0x38967e));function _0x1547aa(_0x810f0,_0x2a1ae1){return _0x2b6441(_0x2a1ae1,_0x810f0- -0x93);}return this;}[_0x2b6441(0xec8,0x12f8)](){var _0x1b96d6;return(_0x1b96d6=this['_map'])!==null&&_0x1b96d6!==void 0x0&&_0x1b96d6['popup']&&this['_map']['popup']['close'](this),this;}['getPopup'](){if(this['_map'])return this['_map']['popup']['getPopup'](this);}[_0x2b6441(0xef6,0xf13)](_0x1e5fc8){return Boolean(this['getTooltipConfig'](_0x1e5fc8));}[_0x2b6441(0x6c6,0x1147)](_0x3ee90b=!![]){const _0x53b27e={_0x195fe8:0x5df,_0x2d8e4d:0x5df},_0x5b09d2={_0x296913:0x58};var _0xf2674a;function _0xb83c85(_0xa75064,_0x2d05bb){return _0x306755(_0xa75064,_0x2d05bb-_0x5b09d2._0x296913);}function _0x388656(_0x16f2c9,_0x11bebd){return _0x2b6441(_0x16f2c9,_0x11bebd-0x60e);}if(this[_0xb83c85(0x212,_0x53b27e._0x195fe8)]){const _0x58dcb0={...this[_0xb83c85(0x34c,0x5df)]};return _0x58dcb0;}if(_0x3ee90b&&(_0xf2674a=this['_layer'])!==null&&_0xf2674a!==void 0x0&&_0xf2674a['_tooltipConfig']){const _0x14b80e={...this['_layer'][_0xb83c85(0x123,_0x53b27e._0x2d8e4d)]};return _0x14b80e;}return null;}['bindTooltip'](_0xcb575b,_0x2fa308){this['_tooltipConfig']={'content':_0xcb575b,'options':_0x2fa308||this['options'][_0x2bf5e7(0x1e03,0x182d)]},this['_onEventHook']&&this[_0x2332d(0x10c3,0x65f)]('tooltip');function _0x2332d(_0x50439a,_0x2e1c0a){return _0x306755(_0x2e1c0a,_0x50439a- -0xd0);}function _0x2bf5e7(_0xacf44d,_0x546678){return _0x306755(_0xacf44d,_0x546678-0x142);}return this;}[_0x306755(0x12fc,0x14e9)](_0x20ea7d){const _0x4d3928={_0x3fb8bc:0x45b,_0x39b02e:0x3ab,_0x2eef4c:0x13c9,_0x1bdd58:0xe93,_0x34d101:0xd02};_0x20ea7d?this[_0x53e73d(0x4e5,0x3ab)]=![]:this[_0x53e73d(_0x4d3928._0x3fb8bc,_0x4d3928._0x39b02e)]=null;function _0x53e73d(_0x1c2589,_0x542f30){return _0x306755(_0x1c2589,_0x542f30- -0x1dc);}function _0x4cecf5(_0x1a7650,_0xe67ad2){return _0x306755(_0xe67ad2,_0x1a7650- -0x300);}return this[_0x4cecf5(0xe93,_0x4d3928._0x2eef4c)]&&this[_0x4cecf5(_0x4d3928._0x1bdd58,0x18e4)](_0x53e73d(0x7ca,_0x4d3928._0x34d101)),this;}['openTooltip'](_0x13514c,_0x7845fd){const _0x42e3fe={_0x3e8274:0x1384,_0x1bf215:0x158f},_0x1a1225={_0x88939b:0x23d},_0x57c408=this[_0x5be315(0x1128,_0x42e3fe._0x3e8274)]();_0x57c408&&this['_map']&&(_0x57c408[_0x5be315(0x1a34,_0x42e3fe._0x1bf215)]=this,_0x57c408['layer']=this['_layer'],_0x7845fd&&(_0x57c408['event']=_0x7845fd),this['_map'][_0x5be315(0x8df,0xb7a)]['open'](_0x13514c||this['_getPopupPosition'](),_0x57c408));function _0x5be315(_0x2d506d,_0x213be5){return _0x2b6441(_0x2d506d,_0x213be5-_0x1a1225._0x88939b);}function _0x5a60c7(_0x5793f8,_0x407051){return _0x2b6441(_0x5793f8,_0x407051-0x43c);}return this;}['closeTooltip'](){return this['_map']&&this['_map']['tooltip']['close'](this),this;}['getTooltip'](){const _0x56e746={_0x1c9cc8:0x1365,_0x3f04a7:0xbc1,_0x2de39f:0x9d8},_0x48d71f={_0x32ac11:0x410};function _0x311e57(_0x4c4a65,_0x5a1019){return _0x2b6441(_0x5a1019,_0x4c4a65-0x13d);}function _0x590f38(_0x4bf085,_0x3c087d){return _0x306755(_0x3c087d,_0x4bf085- -_0x48d71f._0x32ac11);}if(this[_0x311e57(0x1365,0x1d8b)])return this[_0x311e57(_0x56e746._0x1c9cc8,_0x56e746._0x3f04a7)]['tooltip'][_0x590f38(_0x56e746._0x2de39f,0x2dc)](this);}[_0x306755(0x6b8,0xaee)](_0x3ca385){function _0x12727a(_0x1e255e,_0x187d14){return _0x306755(_0x1e255e,_0x187d14-0x16c);}return Boolean(this[_0x12727a(0x7bd,0xd84)](_0x3ca385));}['getContextMenu'](_0x2326fc=!![]){const _0x16bc4c={_0x5f578d:0x1504},_0x43e945={_0x2b12c5:0x140};var _0x2c568d;if(this['_contextmenuConfig'])return this['_contextmenuConfig'];if(_0x2326fc&&(_0x2c568d=this[_0xdf50c8(_0x16bc4c._0x5f578d,0x157c)])!==null&&_0x2c568d!==void 0x0&&_0x2c568d['_contextmenuConfig'])return this['_layer']['_contextmenuConfig'];function _0xdf50c8(_0x4753c6,_0x1425b2){return _0x306755(_0x1425b2,_0x4753c6-_0x43e945._0x2b12c5);}return null;}['bindContextMenu'](_0x18b16d,_0x4fd3d1){const _0x19a0a={_0x1dfed1:0x1ae6},_0x13fdf8={_0x1391ef:0x2a4};var _0x28c877;this['_contextmenuConfig']={'content':_0x18b16d,'options':_0x4fd3d1||((_0x28c877=this['options'])===null||_0x28c877===void 0x0?void 0x0:_0x28c877[_0x4a2689(0xf74,0xd79)]),'graphic':this,'layer':this[_0x52b22f(_0x19a0a._0x1dfed1,0x1120)]};function _0x52b22f(_0x2e7dc1,_0x51f0f6){return _0x306755(_0x2e7dc1,_0x51f0f6- -_0x13fdf8._0x1391ef);}this['_onEventHook']&&this[_0x52b22f(0xd77,0xeef)]('contextMenu');function _0x4a2689(_0x4fc333,_0x3c152d){return _0x306755(_0x4fc333,_0x3c152d-0x1a);}return this;}['unbindContextMenu'](_0x5c6729){const _0x408514={_0x236c16:0x1b37,_0x579229:0x1571,_0x50fa04:0x1a02};_0x5c6729?this[_0x54e00c(_0x408514._0x236c16,0x1877)]=![]:this['_contextmenuConfig']=null;this[_0x17847c(0x12f9,_0x408514._0x579229)]&&this['_onEventHook'](_0x17847c(0x10b8,_0x408514._0x50fa04));function _0x54e00c(_0x28aa6d,_0x3a99d5){return _0x2b6441(_0x28aa6d,_0x3a99d5-0x538);}function _0x17847c(_0x1f6878,_0x4ac359){return _0x2b6441(_0x4ac359,_0x1f6878-0x707);}return this;}['openContextMenu'](_0x55efd7){const _0x13a9fc=this['getContextMenu']();return _0x13a9fc&&this['_map']&&(_0x13a9fc['graphic']=this,_0x13a9fc['layer']=this['_layer'],this['_map']['contextmenu']['open'](_0x55efd7||this['_getPopupPosition'](),_0x13a9fc)),this;}['closeContextMenu'](){const _0x390d4c={_0x545620:0x8a1},_0x53c4a2={_0x32d22f:0x2d2};function _0x14b677(_0x5c709e,_0x214107){return _0x306755(_0x214107,_0x5c709e- -0x4ca);}function _0x3e58f8(_0x2eaf0a,_0xaa690b){return _0x2b6441(_0xaa690b,_0x2eaf0a-_0x53c4a2._0x32d22f);}return this['hasContextMenu']()&&this['_map']&&this[_0x14b677(0x12ff,0xa9c)]['contextmenu'][_0x3e58f8(0xa8d,_0x390d4c._0x545620)](this),this;}[_0x2b6441(0x129b,0x9b5)](_0x312cbb,_0x156fdf){return this['_map']&&this['_map']['openSmallTooltip'](_0x312cbb,_0x156fdf),this;}[_0x2b6441(0x8e6,0x9de)](){const _0xca9bab={_0x489535:0x1919};this[_0x32f4ff(_0xca9bab._0x489535,0x1808)]&&this['_map']['closeSmallTooltip']();function _0x32f4ff(_0xa23be9,_0x3155c4){return _0x2b6441(_0xa23be9,_0x3155c4-0x5e0);}return this;}get['hasAjaxAttr'](){const _0x20b2e4=this['attr'];return Boolean(_0x20b2e4&&_0x20b2e4['type']==='ajax'&&_0x20b2e4['url']);}async[_0x2b6441(0xa7d,0x1223)](){const _0x139a01={_0x3ae777:0xc91,_0x13224d:0x260,_0x1fc857:0x3e5,_0x34d489:0xb9},_0xe31dc6={_0x5658e8:0x58};function _0x36f455(_0x493c51,_0x2bb645){return _0x2b6441(_0x2bb645,_0x493c51-_0xe31dc6._0x5658e8);}function _0x20850d(_0x36192d,_0x22650c){return _0x2b6441(_0x22650c,_0x36192d-0x1dd);}const _0x3fe430=this['attr'];if(_0x3fe430&&_0x3fe430['type']==='ajax'&&_0x3fe430[_0x36f455(0x676,0x2d4)]){const _0x25fd9=(_0x3fe430[_0x36f455(_0x139a01._0x3ae777,0x1f1)]??0x1)*0x3e8;if(this['_last_getAjaxAttrTime']&&new Date()['getTime']()-this[_0x36f455(_0x139a01._0x13224d,0x68a)]<_0x25fd9)return this['_last_getAjaxAttr'];return this[_0x20850d(_0x139a01._0x1fc857,_0x139a01._0x34d489)]=new Date()[_0x20850d(0x15d,0x47)](),this['_last_getAjaxAttr']=await this['_getNowAjaxAttr'](_0x3fe430),this['_last_getAjaxAttr'];}else return _0x3fe430;}async['_getNowAjaxAttr'](_0x293654){const _0x285ac0={_0x7ea7d9:0xd5d},_0x28f9f7={_0x46aac7:0x465};let _0x3d082f=await sendAjax(_0x293654);function _0x5945f9(_0x548ff7,_0x55dd2){return _0x306755(_0x55dd2,_0x548ff7- -_0x28f9f7._0x46aac7);}function _0x44c809(_0x3ffc08,_0xe217c2){return _0x306755(_0xe217c2,_0x3ffc08- -0x5f5);}if(_0x293654[_0x5945f9(0x11b1,_0x285ac0._0x7ea7d9)]){const _0x3220e7=_0x293654[_0x44c809(0x1021,0x1757)]['split']('.');_0x3220e7['forEach'](_0x416809=>{_0x3d082f=_0x3d082f[_0x416809];});}return _0x293654['formatData']&&(_0x3d082f=_0x293654['formatData'](_0x3d082f)),_0x3d082f;}get['hasAjaxPostion'](){const _0x27c118={_0x122245:0x983},_0x3518db={_0x2a6b3b:0xf1};function _0x3d816f(_0x5b66bb,_0x44bab7){return _0x306755(_0x5b66bb,_0x44bab7- -_0x3518db._0x2a6b3b);}const _0x128fac=this['options'][_0x3d816f(_0x27c118._0x122245,0x1106)];return Boolean(_0x128fac&&_0x128fac['type']==='ajax'&&_0x128fac['url']);}[_0x2b6441(0x7ef,0x6a5)](_0x25a214){const _0x2e4031={_0x2720c9:0x15e6,_0x11b8d8:0x761,_0x233188:0xc73,_0xa35c15:0x618,_0x5b63a3:0xe46,_0x358045:0x14ea},_0x26583c={_0x1c1f36:0x12e7,_0x4d3cda:0x1a};function _0x41acd9(_0x577a71,_0x2f6f97){return _0x306755(_0x577a71,_0x2f6f97- -0x3b1);}function _0x4ce2bc(_0x3a141b,_0x35e5a5){return _0x306755(_0x35e5a5,_0x3a141b- -0x45e);}return _0x25a214&&_0x25a214['type']===_0x41acd9(0xfd1,_0x2e4031._0x2720c9)&&_0x25a214[_0x4ce2bc(_0x2e4031._0x11b8d8,0x57d)]?(this[_0x4ce2bc(0x7ff,_0x2e4031._0x233188)]['position']=_0x25a214,_0x25a214['time']>0x0?(this[_0x4ce2bc(_0x2e4031._0xa35c15,-0x3db)]=setInterval(async()=>{const _0x55817c={_0x53edb2:0x2ae};this['isAdded']&&(this[_0x55638a(0x1766,0xd13)]=await this[_0x5de767(0x861,_0x26583c._0x1c1f36)](_0x25a214));function _0x5de767(_0xd08446,_0x39438f){return _0x41acd9(_0xd08446,_0x39438f- -0x203);}function _0x55638a(_0xcf0c0e,_0x5b2501){return _0x4ce2bc(_0x5b2501-_0x55817c._0x53edb2,_0xcf0c0e);}this[_0x5de767(_0x26583c._0x4d3cda,0x425)]&&this['clearAjaxPostion']();},_0x25a214['time']*0x3e8),this[_0x41acd9(0x18ea,_0x2e4031._0x5b63a3)]=new Cesium__namespace[(_0x41acd9(0xe42,0x69e))](_0x433028=>{const _0x13cca2={_0x4670df:0x117};function _0x2fd563(_0x251711,_0x39a569){return _0x4ce2bc(_0x39a569-_0x13cca2._0x4670df,_0x251711);}return this[_0x2fd563(0xbcd,0xb7c)];},![])):this[_0x41acd9(0xb55,_0x2e4031._0x358045)](_0x25a214)['then'](_0x594362=>{this['position']=_0x594362;}),!![]):![];}async['_getNowAjaxPostion'](_0x4275b7){const _0x5df089={_0x26411d:0xca9,_0x4a0b14:0xd6d,_0x5edab8:0x1252,_0xd7197b:0xe81,_0x2a6c94:0xf,_0x116e9e:0x101b,_0x18f866:0x15c2,_0x11467f:0x1974,_0x1372ae:0x4d0,_0x4dc23a:0xb18,_0x1cbe4f:0xd35,_0x691de6:0xa59,_0x1b0d63:0xa8a},_0x1c559e={_0x5e88df:0x60a};let _0x55de7b=await sendAjax(_0x4275b7);function _0x467764(_0x39087d,_0x44de44){return _0x2b6441(_0x44de44,_0x39087d-_0x1c559e._0x5e88df);}if(_0x4275b7['dataColumn']){const _0xf99094=_0x4275b7['dataColumn']['split']('.');_0xf99094[_0x467764(_0x5df089._0x26411d,_0x5df089._0x4a0b14)](_0xb0bb78=>{_0x55de7b=_0x55de7b[_0xb0bb78];});}function _0x14d695(_0xcf571b,_0x5d56ef){return _0x2b6441(_0x5d56ef,_0xcf571b-0x5fc);}if(_0x55de7b['position'])return LngLatPoint['parse'](_0x55de7b[_0x14d695(_0x5df089._0x5edab8,_0x5df089._0xd7197b)])[_0x467764(0xa53,-_0x5df089._0x2a6c94)]();else{if(_0x4275b7[_0x14d695(_0x5df089._0x116e9e,0x1283)])_0x55de7b=_0x4275b7['formatPosition'](_0x55de7b);else{if(_0x4275b7[_0x467764(0x19c9,_0x5df089._0x18f866)]||_0x4275b7['lngColumn']){const _0xb9c77a=_0x55de7b[_0x4275b7['latColumn']||'lat'],_0x66ecf4=_0x55de7b[_0x4275b7['lngColumn']||_0x14d695(0xa59,0xe82)],_0x44f2ab=_0x55de7b[_0x4275b7[_0x14d695(_0x5df089._0x11467f,0x166f)]||_0x467764(_0x5df089._0x1372ae,0xa68)]||0x0;return Cesium__namespace['Cartesian3'][_0x14d695(_0x5df089._0x4dc23a,0x156c)](_0x66ecf4,_0xb9c77a,_0x44f2ab);}else{if(_0x55de7b[_0x14d695(0x999,_0x5df089._0x1cbe4f)]&&_0x55de7b[_0x14d695(_0x5df089._0x691de6,0x117d)])return Cesium__namespace[_0x467764(_0x5df089._0x1b0d63,0x42a)]['fromDegrees'](_0x55de7b['lng'],_0x55de7b[_0x467764(0x9a7,0x18b)],_0x55de7b[_0x467764(_0x5df089._0x1372ae,0x600)]||0x0);}}}}['clearAjaxPostion'](){const _0x3e1869={_0x423fbe:0x90b},_0x53742e={_0x4d8e6b:0x3bb};var _0x529cb4;function _0xfb1832(_0x12cf53,_0x271de9){return _0x306755(_0x12cf53,_0x271de9- -0x16b);}function _0x49bf6c(_0x17e52d,_0x188c70){return _0x306755(_0x17e52d,_0x188c70- -_0x53742e._0x4d8e6b);}this[_0xfb1832(0x682,_0x3e1869._0x423fbe)]&&(clearInterval(this[_0xfb1832(0x7d3,0x90b)]),delete this['_setAjaxPostion_Time']),(_0x529cb4=this['options'])!==null&&_0x529cb4!==void 0x0&&_0x529cb4['position']&&delete this['options']['position'];}['isInView'](_0x159db1,_0x2fa6a2){const _0xd04e2b={_0x2608d2:0x11a8,_0x673a2:0x190d,_0x503d81:0x13f0,_0x2d9aae:0x11ac,_0x51c28e:0x177a,_0xa9baff:0x2a6,_0x3b7c82:0xa89};if(!_0x159db1){var _0x30d7ca;_0x159db1=getPositionValue(this[_0x319eda(0xffa,_0xd04e2b._0x2608d2)],(_0x30d7ca=this[_0x207ebb(0x133b,0x13f0)])===null||_0x30d7ca===void 0x0?void 0x0:_0x30d7ca['clock']['currentTime']);}function _0x319eda(_0x4e509c,_0x5380fa){return _0x2b6441(_0x4e509c,_0x5380fa-0x552);}const _0x3bb547=this[_0x207ebb(_0xd04e2b._0x673a2,_0xd04e2b._0x503d81)]['scene'];function _0x207ebb(_0x43dfe5,_0x322933){return _0x2b6441(_0x43dfe5,_0x322933-0x1c8);}if(_0x3bb547['mode']===Cesium__namespace['SceneMode']['SCENE3D']){const _0x3edaf9=new Cesium__namespace['EllipsoidalOccluder'](_0x3bb547['globe'][_0x319eda(0x10e2,0x148b)],_0x3bb547['camera']['positionWC']),_0x1e8c07=_0x3edaf9['isPointVisible'](_0x159db1);if(!_0x1e8c07)return![];}if(_0x2fa6a2!==null&&_0x2fa6a2!==void 0x0&&_0x2fa6a2[_0x207ebb(0xae0,_0xd04e2b._0x2d9aae)]){const _0x35ea6c=this[_0x319eda(0x1a4a,_0xd04e2b._0x51c28e)][_0x319eda(0xe56,0x701)],_0x48933c=toWindowCoordinates$1(_0x3bb547,_0x159db1);if(!_0x48933c||_0x48933c['x']<0x0||_0x48933c['y']<0x0||_0x48933c['x']>parseInt(_0x35ea6c[_0x207ebb(-_0xd04e2b._0xa9baff,0x812)])||_0x48933c['y']>parseInt(_0x35ea6c[_0x319eda(_0xd04e2b._0x3b7c82,0xba3)]))return![];}return!![];}['destroy'](_0x541477){const _0x305e73={_0x48fa3d:0x4b4,_0x261ce2:0xccd,_0x45a2a3:0x4f7,_0x32d2ad:0x6b3,_0x16efea:0xcb6},_0x331f8e={_0x3dbbbc:0x5ea};function _0x31d875(_0x1b8e3f,_0x54e3bd){return _0x306755(_0x1b8e3f,_0x54e3bd- -0x4c5);}if(this['_state']===State['DESTROY']||this[_0x31d875(_0x305e73._0x48fa3d,0xc10)])return;function _0x42d68f(_0x26c103,_0x1ca7db){return _0x2b6441(_0x1ca7db,_0x26c103-_0x331f8e._0x3dbbbc);}this['_state']!==State[_0x42d68f(0x11c6,0x1a39)]&&(this['clear']&&this['clear'](),this[_0x31d875(_0x305e73._0x261ce2,_0x305e73._0x45a2a3)]()),super['destroy'](_0x541477),this['_state']=State[_0x42d68f(_0x305e73._0x32d2ad,_0x305e73._0x16efea)];}}class GroupGraphic extends BaseGraphic{constructor(_0xbe4572={}){function _0x338b5c(_0x4aa569,_0xa928ab){return _0x306755(_0xa928ab,_0x4aa569-0x13);}super(_0xbe4572),this[_0x338b5c(0x110e,0x1a4a)]=[];}get['hasEmptyGroup'](){const _0x135540={_0x14ca1e:0x20b9};function _0x50b0e3(_0x49b24e,_0x2448f7){return _0x2b6441(_0x49b24e,_0x2448f7-0x607);}return this[_0x50b0e3(_0x135540._0x14ca1e,0x1661)]===0x0;}get[_0x2b6441(0x40,0x685)](){return this['length']>0x0;}get[_0x306755(0xd1e,0x15fb)](){const _0xe62164={_0x4b2406:0x29b};function _0xaf16a(_0x3167fe,_0x129a27){return _0x2b6441(_0x3167fe,_0x129a27-0x28f);}function _0x250732(_0x1c1d8e,_0x27fe94){return _0x2b6441(_0x1c1d8e,_0x27fe94-0x5b1);}var _0x2fe0e0;if(((_0x2fe0e0=this[_0x250732(_0xe62164._0x4b2406,0xc6d)])===null||_0x2fe0e0===void 0x0||(_0x2fe0e0=_0x2fe0e0[_0xaf16a(0x13d6,0x10bf)])===null||_0x2fe0e0===void 0x0?void 0x0:_0x2fe0e0[_0xaf16a(0x181a,0x12e9)])>0x0)return this['options']['graphics']['length'];else{var _0x428dd1;return((_0x428dd1=this['_arrGraphic'])===null||_0x428dd1===void 0x0?void 0x0:_0x428dd1['length'])||0x0;}}['_showHook'](_0x12218c){this['eachGraphic'](_0x46289d=>{_0x46289d['show']=_0x12218c;},this);}['_mountedHook'](){const _0x2be640={_0x10aff4:0xb7a,_0x5c629a:0x1018,_0x2aeb3e:0x3fb,_0x16d491:0x119d,_0x35d03a:0x137c},_0x517842={_0x190bd6:0x15a},_0x429a63={_0x24a8a9:0xe7};function _0x11d77b(_0x1082aa,_0x352078){return _0x306755(_0x1082aa,_0x352078-_0x429a63._0x24a8a9);}const _0x54699b=this['options']['graphics'];function _0x465836(_0x574920,_0x8bf21){return _0x2b6441(_0x8bf21,_0x574920-_0x517842._0x190bd6);}if(_0x54699b&&_0x54699b[_0x465836(0x11b4,_0x2be640._0x10aff4)]>0x0)for(let _0x177046=0x0;_0x177046<_0x54699b[_0x11d77b(_0x2be640._0x5c629a,0x16e2)];_0x177046++){const _0x3f4156=_0x54699b[_0x177046];_0x3f4156[_0x465836(0xd42,_0x2be640._0x2aeb3e)]=this,_0x3f4156[_0x465836(_0x2be640._0x16d491,0xd1f)]=this[_0x465836(0x1480,_0x2be640._0x35d03a)];const _0x38e3ac=create$5(_0x3f4156['type'],_0x3f4156);_0x38e3ac&&this['addGraphic'](_0x38e3ac);}}[_0x2b6441(0x8b3,0x3fd)](_0x2dc623){const _0x4be892={_0x3aaed5:0x12d7};this['eachGraphic'](_0x53de75=>{_0x53de75[_0xed1261(_0x4be892._0x3aaed5,0x1afb)]=this;function _0xed1261(_0x2c5a73,_0x52f70a){return _0x5bbe(_0x2c5a73-0x3c1,_0x52f70a);}this['_layer']['addGraphic'](_0x53de75);},this);}['_removedHook'](){this['removeMapChilds']();}[_0x306755(0x895,0xbad)](){const _0x650974={_0x5f3de0:0x54e};this['eachGraphic'](_0x58fdbc=>{function _0x232cf5(_0x4bdb28,_0x1864af){return _0x5bbe(_0x1864af-0x1f8,_0x4bdb28);}this['_layer'][_0x232cf5(0x88a,_0x650974._0x5f3de0)](_0x58fdbc);},this);}['removeMapChilds'](){const _0x12d244={_0x261890:0x592},_0x22190a={_0x304cc0:0xe02,_0x19a222:0xdd5},_0x34f903={_0xe6d4df:0x49},_0x3575ce={_0x8f74b9:0x6a9};function _0x41c93f(_0x4a9635,_0x3f1d76){return _0x2b6441(_0x3f1d76,_0x4a9635-_0x3575ce._0x8f74b9);}this[_0x41c93f(0xba9,_0x12d244._0x261890)](_0x5322b9=>{function _0x58b544(_0x3911e8,_0x2909d5){return _0x41c93f(_0x3911e8- -_0x34f903._0xe6d4df,_0x2909d5);}this['_layer'][_0x58b544(_0x22190a._0x304cc0,_0x22190a._0x19a222)](_0x5322b9);},this);}['addGraphic'](_0x3f8c2c){const _0x25cded={_0x55a3cf:0x85d,_0x425cb7:0x1467,_0x3ea5eb:0xb26,_0x37a3db:0x1b8e,_0x26fdf9:0x5fa,_0x3bee27:0x1389,_0x4ecde8:0xf6e},_0x237196={_0x50e4ed:0x22e};function _0x53c84a(_0x29fba1,_0x213136){return _0x306755(_0x213136,_0x29fba1- -0x3b);}_0x3f8c2c[_0xc3e815(0x506,_0x25cded._0x55a3cf)]&&(_0x3f8c2c['removeEventParent'](_0x3f8c2c['parent']),_0x3f8c2c['parent']=null);_0x3f8c2c['pid']=this['id'],_0x3f8c2c['parent']=this,_0x3f8c2c['options'][_0x53c84a(0x114e,_0x25cded._0x425cb7)]=this;function _0xc3e815(_0x2a2c02,_0x2c6fe6){return _0x306755(_0x2a2c02,_0x2c6fe6- -_0x237196._0x50e4ed);}return this['_arrGraphic']['push'](_0x3f8c2c),this[_0x53c84a(_0x25cded._0x3ea5eb,0x5b5)]&&!_0x3f8c2c['isAdded']?this[_0x53c84a(0x1389,_0x25cded._0x37a3db)]['addGraphic'](_0x3f8c2c):(_0x3f8c2c[_0xc3e815(_0x25cded._0x26fdf9,0x936)](this[_0x53c84a(_0x25cded._0x3bee27,0x1ce7)]),_0x3f8c2c[_0x53c84a(_0x25cded._0x4ecde8,0x1876)](this)),this;}[_0x2b6441(-0x23f,0x7a2)](_0x367e64){const _0x297ef5={_0x2d64fb:0xcaa,_0x386cbf:0xd01,_0x58795c:0xb69};_0x367e64['parent']=null,_0x367e64['removeEventParent'](this);function _0x21fd55(_0x3f80b1,_0x8528e){return _0x306755(_0x8528e,_0x3f80b1- -0x2a1);}function _0x5d4503(_0x5f23e1,_0x36ec0a){return _0x306755(_0x5f23e1,_0x36ec0a- -0x335);}return removeArrayItem(this['_arrGraphic'],_0x367e64),this['_layer']&&_0x367e64[_0x21fd55(0x8c0,_0x297ef5._0x2d64fb)]&&this[_0x21fd55(0x1123,_0x297ef5._0x386cbf)][_0x5d4503(_0x297ef5._0x58795c,0xa0e)](_0x367e64),this;}['removeAllGraphic'](){const _0x393c49={_0x3f9b87:0x128c,_0x2cc114:0xcb9,_0x131a84:0x95b};for(let _0x35e0e0=this[_0x5c769d(_0x393c49._0x3f9b87,_0x393c49._0x2cc114)]['length']-0x1;_0x35e0e0>=0x0;_0x35e0e0--){const _0xca5ab8=this[_0x5c769d(_0x393c49._0x131a84,0xcb9)][_0x35e0e0];this['removeGraphic'](_0xca5ab8);}function _0x5c769d(_0x37a73f,_0x34be75){return _0x2b6441(_0x37a73f,_0x34be75-0x15f);}function _0x141ffd(_0x8407c9,_0x51271e){return _0x306755(_0x51271e,_0x8407c9- -0x441);}this['_arrGraphic']=[];}['eachGraphic'](_0x597295,_0xa6b7ed){const _0x5296fb={_0x5ab4c9:0x8f6,_0x10bc7c:0xd73};if(!this['_arrGraphic'])return;return this['_arrGraphic']['forEach'](_0x34a54c=>{function _0x41748a(_0x190576,_0x123e1c){return _0x5bbe(_0x123e1c- -0x1d1,_0x190576);}_0x597295[_0x41748a(_0x5296fb._0x5ab4c9,_0x5296fb._0x10bc7c)](_0xa6b7ed,_0x34a54c);}),this;}['getGraphics'](){const _0x159178={_0x3d76e4:0x5e7};function _0x4d500e(_0x1ccb91,_0xa26db0){return _0x2b6441(_0x1ccb91,_0xa26db0-_0x159178._0x3d76e4);}return this[_0x4d500e(0x831,0x1141)];}[_0x2b6441(0x956,0x315)](){const _0x58bc8c={_0x4b5b9d:0x313},_0x28869a=this['_arrGraphic']||[];return this['_layer']['eachGraphic'](_0x57eb42=>{function _0xd6b7b6(_0x2e0441,_0x1ba2a4){return _0x5bbe(_0x2e0441- -0x1eb,_0x1ba2a4);}if(_0x57eb42[_0xd6b7b6(0x636,-_0x58bc8c._0x4b5b9d)]!==this['id'])return;if(this['_arrGraphic']['indexOf'](_0x57eb42)!==-0x1)return;_0x28869a['push'](_0x57eb42);},this),_0x28869a;}[_0x2b6441(0x17f6,0xd5f)](_0x34a62f){const _0x35560e={_0x3b09af:0xb37},_0x3e66e3=this['_arrGraphic'];if(!this[_0x146843(_0x35560e._0x3b09af,0x658)]||this['_arrGraphic']['length']===0x0)return;for(let _0x22dddf=0x0,_0x190fe7=_0x3e66e3['length'];_0x22dddf<_0x190fe7;_0x22dddf++){const _0x262bbd=_0x3e66e3[_0x22dddf];if(_0x262bbd['id']===_0x34a62f)return _0x262bbd;}function _0x146843(_0x3ad1a6,_0x4013ff){return _0x306755(_0x4013ff,_0x3ad1a6- -0x5c4);}return undefined;}[_0x2b6441(0xfb7,0xa23)](_0x122fe4){const _0x347e52={_0x54c5ce:0x11b3},_0x5b9509={_0x579589:0x159};if(!this['_arrGraphic']||this['_arrGraphic']['length']===0x0)return undefined;function _0x59e1aa(_0x26233b,_0x13b63a){return _0x2b6441(_0x26233b,_0x13b63a-0x45b);}for(let _0x355813=0x0;_0x355813<this['_arrGraphic'][_0x3fa4bb(_0x347e52._0x54c5ce,0x1bdf)];_0x355813++){const _0x313e7c=this['_arrGraphic'][_0x355813];if(_0x313e7c[_0x59e1aa(0xae8,0x74d)]===_0x122fe4||_0x313e7c['id']===_0x122fe4)return _0x313e7c;}function _0x3fa4bb(_0x3d3355,_0x1dc0c6){return _0x2b6441(_0x1dc0c6,_0x3d3355-_0x5b9509._0x579589);}return undefined;}['hasGraphic'](_0x5ab07a,_0x38e2d4){const _0x5ae26d={_0x107a78:0x1009};function _0x2194cd(_0xbbffff,_0x426b31){return _0x306755(_0xbbffff,_0x426b31- -0x5f2);}for(let _0x174f1a=0x0;_0x174f1a<this['_arrGraphic'][_0x2194cd(0xfbd,_0x5ae26d._0x107a78)];_0x174f1a++){const _0x5eb540=this['_arrGraphic'][_0x174f1a];if(_0x38e2d4&&_0x5eb540===_0x38e2d4)continue;if(_0x5eb540['name']===_0x5ab07a||_0x5eb540['id']===_0x5ab07a)return!![];}return![];}['getRectangle'](_0x343e35){const _0x5a9d9b={_0x51d51e:0x569,_0x2abdf6:0x1397,_0x37154d:0x12a3};function _0x5e0228(_0x36b1ec,_0x5d52bd){return _0x306755(_0x36b1ec,_0x5d52bd- -0x56b);}let _0x57a242;function _0x460cf0(_0x49a0fd,_0x594247){return _0x306755(_0x594247,_0x49a0fd- -0x5bf);}for(let _0x189029=0x0;_0x189029<this['_arrGraphic']['length'];_0x189029++){const _0x56023d=this['_arrGraphic'][_0x189029];if(!_0x56023d[_0x460cf0(0x1324,0xb59)])return;const _0x5c58da={..._0x343e35};_0x5c58da[_0x460cf0(0xcc5,_0x5a9d9b._0x51d51e)]=![];const _0x3d56c7=_0x56023d['getRectangle'](_0x5c58da);if(!Cesium__namespace['defined'](_0x3d56c7))return;_0x57a242?_0x57a242=Cesium__namespace['Rectangle'][_0x460cf0(_0x5a9d9b._0x2abdf6,_0x5a9d9b._0x37154d)](_0x3d56c7,_0x57a242):_0x57a242=_0x3d56c7;}return _0x343e35!==null&&_0x343e35!==void 0x0&&_0x343e35['isFormat']?formatRectangle(_0x57a242):_0x57a242;}[_0x306755(0x8ad,0xb0a)](){const _0x631930={_0x1be4df:0xad7,_0x3e0c1e:0x954,_0x56bca3:0x772,_0x3eba1a:0x798,_0x1e6e63:0x4f6},_0x14f556={_0x43d6a0:0x309},_0x5f266c={_0x3be5d3:0x4fb,_0x10e940:0xa65},_0x419618={};_0x419618[_0x196483(0x814,_0x631930._0x1be4df)]=!![];const _0x2635d9={...getAttrVal(this[_0x196483(_0x631930._0x3e0c1e,0x80)],_0x419618),'id':this['id'],'name':this['name'],'type':this['type']};this[_0xa32676(_0x631930._0x56bca3,0xdbb)]&&(_0x2635d9['availability']=this[_0x196483(0x6f3,-0x285)]);function _0xa32676(_0x273f71,_0x29689c){return _0x306755(_0x29689c,_0x273f71- -0x315);}const _0x5a2083=[];this[_0x196483(_0x631930._0x3eba1a,_0x631930._0x1e6e63)](_0xcd0f30=>{const _0x36cd99={_0x594f22:0x306};function _0x2d46f8(_0x1ff784,_0x5c741e){return _0x196483(_0x5c741e- -0x236,_0x1ff784);}const _0x151f86=_0xcd0f30[_0x418e4b(_0x5f266c._0x3be5d3,_0x5f266c._0x10e940)]();delete _0x151f86[_0x2d46f8(0x130,0x555)],delete _0x151f86['id'],delete _0x151f86['zIndex'],delete _0x151f86['private'];function _0x418e4b(_0x3fb068,_0x2d6a62){return _0x196483(_0x3fb068- -_0x36cd99._0x594f22,_0x2d6a62);}_0x5a2083['push'](_0x151f86);},this);_0x5a2083['length']>0x0&&(_0x2635d9[_0xa32676(0x10bc,0x1573)]=_0x5a2083);for(const _0x30d8aa in _0x2635d9){const _0x4a8d4a=_0x2635d9[_0x30d8aa];(!Cesium__namespace['defined'](_0x4a8d4a)||isObject(_0x4a8d4a)&&Object['keys'](_0x4a8d4a)[_0xa32676(0x12e6,0x194f)]===0x0)&&delete _0x2635d9[_0x30d8aa];}function _0x196483(_0x9ffbdb,_0x404765){return _0x306755(_0x404765,_0x9ffbdb- -_0x14f556._0x43d6a0);}return _0x2635d9;}}register$5(_0x2b6441(0x144b,0xf86),GroupGraphic);class FlickerEntity{constructor(_0x1c6a26={}){const _0x2f3ed3={_0x2226ca:0xa48};function _0x5c6366(_0x594920,_0x2f65e3){return _0x306755(_0x594920,_0x2f65e3- -0x4ec);}function _0x39a2a4(_0x2824e2,_0x1fb9ac){return _0x2b6441(_0x1fb9ac,_0x2824e2-0x4f5);}this[_0x5c6366(0x116a,0x9c3)]=Cesium__namespace[_0x5c6366(0x10a3,_0x2f3ed3._0x2226ca)]['YELLOW'][_0x5c6366(0x14f6,0x1449)](0x0);}['startFlicker'](_0x5f003d,_0xa4517c={}){const _0x2629d5={_0x891d73:0xf54,_0xd1778a:0xadc,_0x424db6:0x1304,_0x35ca1a:0xd8f},_0x54b6c8={_0xb9aa5c:0xfca,_0x4ce7bb:0x36c,_0x4e0ca0:0x99a,_0x11be0b:0xf3c,_0x5f23c2:0x1051,_0x58c6cb:0x1529,_0x430e55:0x1893,_0x41813c:0x10f3,_0x383596:0x16d0,_0x3b55a0:0x19b0,_0x409318:0x1519,_0x692cb8:0x8c4,_0x930d33:0x1468,_0x2e1295:0x154a,_0x4b25e6:0xcd5,_0x4ccf6c:0xb53,_0x4e7045:0xd66,_0x1726d5:0x12db,_0x451fcb:0x10a1,_0x535da5:0x433,_0x5726ba:0x1790,_0x57a096:0x14d7,_0x3f9009:0x1abc,_0x5eb5e1:0x1eb9,_0x194f52:0xefa,_0x1dc6e1:0x15ff,_0x3a4d60:0x13cd,_0x4490a0:0x3bb,_0x5bf7a4:0xefe},_0x36d6d6={_0x567670:0xf07},_0x16099c={_0x4b0005:0xf76},_0x31f48a={_0x339a1f:0x52},_0x261438={_0x12f279:0x1112},_0x12ad85=this;this['stopFlicker'](),this[_0x348d85(0x74f,0xb8a)]=_0x5f003d,this[_0x75df42(0xca8,0x84c)]=_0xa4517c[_0x348d85(_0x2629d5._0x891d73,0xb5e)]??0.3,this['time']=_0xa4517c[_0x75df42(0xd8f,0xb81)];function _0x348d85(_0x429939,_0x4a3495){return _0x306755(_0x429939,_0x4a3495- -0x5e0);}this['color']=getCesiumColor(_0xa4517c['color'],Cesium__namespace['Color']['WHITE']),this[_0x348d85(0xeb6,0x8cf)]=this['color']['withAlpha'](this['maxAlpha']),this[_0x348d85(0x1178,0xedd)]=_0xa4517c['onEnd'];const _0x2dd9eb=this['maxAlpha']/0x3e8*(_0xa4517c[_0x348d85(_0x2629d5._0xd1778a,_0x2629d5._0x424db6)]??0xa);let _0x4da30a=0x0;this['interVal']=setInterval(()=>{const _0x20296d={_0x2dcd2e:0x46a};_0x4da30a+=_0x2dd9eb;_0x4da30a>this[_0x3fb76d(0x1bd7,_0x261438._0x12f279)]&&(_0x4da30a=0x0);this['color']=this['color']['withAlpha'](_0x4da30a);function _0x3fb76d(_0x48a53a,_0x30df18){return _0x75df42(_0x30df18-_0x20296d._0x2dcd2e,_0x48a53a);}this['_updateClr']();},0xa);this[_0x75df42(_0x2629d5._0x35ca1a,0x4e1)]&&(this['timeEndVal']=setTimeout(()=>{this['stopFlicker']();},this['time']*0x3e8));function _0x75df42(_0x4870f1,_0x3b6bf1){return _0x306755(_0x3b6bf1,_0x4870f1- -0x496);}return loopArrayForFun(_0x5f003d,function(_0x4c0465){const _0x1080b6={_0x3c7939:0x4c1,_0x4dc2ff:0x977},_0x942ea4={_0xe1d066:0x56};_0x4c0465[_0x5a3359(_0x54b6c8._0xb9aa5c,0x99a)]&&(_0x4c0465['polygon']['material_bak']=_0x4c0465[_0x5a3359(_0x54b6c8._0x4ce7bb,_0x54b6c8._0x4e0ca0)][_0x1b39a2(0x19b0,0x2401)],_0x4c0465['polygon'][_0x1b39a2(0x19b0,0x204c)]=new Cesium__namespace[(_0x5a3359(0x188e,_0x54b6c8._0x11be0b))](new Cesium__namespace[(_0x1b39a2(0xa9e,0x591))](_0x400872=>{return _0x12ad85['color'];},![])));function _0x5a3359(_0x4b86fc,_0x52d2bf){return _0x348d85(_0x4b86fc,_0x52d2bf-_0x31f48a._0x339a1f);}_0x4c0465['polyline']&&(_0x4c0465[_0x1b39a2(0x151a,_0x54b6c8._0x5f23c2)]['material_bak']=_0x4c0465['polyline'][_0x5a3359(0xdfb,0x13d3)],_0x4c0465['polyline']['material']=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace['CallbackProperty'](_0x27834b=>{function _0x9b3905(_0x4c0318,_0x1e3e92){return _0x5a3359(_0x1e3e92,_0x4c0318- -0x59);}return _0x12ad85[_0x9b3905(0x8c8,0xd58)];},![])));_0x4c0465['ellipsoid']&&(_0x4c0465[_0x1b39a2(_0x54b6c8._0x58c6cb,0x1e19)]['material_bak']=_0x4c0465['ellipsoid']['material'],_0x4c0465[_0x1b39a2(0x1529,_0x54b6c8._0x430e55)][_0x1b39a2(0x19b0,0x14fa)]=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace['CallbackProperty'](_0x80515f=>{function _0x296991(_0x238e57,_0x1f1710){return _0x5a3359(_0x238e57,_0x1f1710-_0x942ea4._0xe1d066);}return _0x12ad85[_0x296991(_0x1080b6._0x3c7939,_0x1080b6._0x4dc2ff)];},![])));_0x4c0465[_0x5a3359(0x791,_0x54b6c8._0x41813c)]&&(_0x4c0465['ellipse']['material_bak']=_0x4c0465[_0x1b39a2(_0x54b6c8._0x383596,0x15b2)]['material'],_0x4c0465[_0x5a3359(0x683,0x10f3)][_0x1b39a2(_0x54b6c8._0x3b55a0,0x21da)]=new Cesium__namespace[(_0x1b39a2(_0x54b6c8._0x409318,0xdc9))](new Cesium__namespace['CallbackProperty'](_0x537708=>{function _0x3ce370(_0xe25d34,_0x1f8c84){return _0x5a3359(_0x1f8c84,_0xe25d34-0x655);}return _0x12ad85[_0x3ce370(_0x16099c._0x4b0005,0x5a4)];},![])));_0x4c0465['rectangle']&&(_0x4c0465[_0x1b39a2(0x1468,0xb76)][_0x1b39a2(0x10e2,_0x54b6c8._0x692cb8)]=_0x4c0465['rectangle'][_0x5a3359(0x966,0x13d3)],_0x4c0465[_0x1b39a2(_0x54b6c8._0x930d33,_0x54b6c8._0x2e1295)][_0x5a3359(0x1477,0x13d3)]=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace[(_0x1b39a2(0xa9e,_0x54b6c8._0x4b25e6))](_0x155c93=>{return _0x12ad85['color'];},![])));_0x4c0465['wall']&&(_0x4c0465['wall'][_0x5a3359(0xf0f,0xb05)]=_0x4c0465[_0x5a3359(_0x54b6c8._0x4ccf6c,0xd66)]['material'],_0x4c0465[_0x5a3359(0x1627,_0x54b6c8._0x4e7045)]['material']=new Cesium__namespace['ColorMaterialProperty'](new Cesium__namespace['CallbackProperty'](_0x1eb76a=>{function _0x5884d2(_0x59e6be,_0x368e69){return _0x5a3359(_0x368e69,_0x59e6be-0x5e6);}return _0x12ad85[_0x5884d2(_0x36d6d6._0x567670,0x961)];},![])));function _0x1b39a2(_0x5c3346,_0x4538a1){return _0x348d85(_0x4538a1,_0x5c3346-0x62f);}_0x4c0465['point']&&(_0x4c0465[_0x5a3359(0x9a2,_0x54b6c8._0x1726d5)]['color_bak']=_0x4c0465['point'][_0x1b39a2(0xefe,_0x54b6c8._0x451fcb)],_0x4c0465[_0x1b39a2(0x18b8,0x2247)][_0x5a3359(_0x54b6c8._0x535da5,0x921)]=_0x12ad85['color']),_0x4c0465['billboard']&&(_0x4c0465[_0x1b39a2(_0x54b6c8._0x5726ba,0x1a1e)][_0x1b39a2(_0x54b6c8._0x57a096,_0x54b6c8._0x3f9009)]=_0x4c0465[_0x1b39a2(0x1790,_0x54b6c8._0x5eb5e1)]['color'],_0x4c0465['billboard']['color']=_0x12ad85[_0x5a3359(0xc85,0x921)]),_0x4c0465['model']&&(_0x4c0465['model']['color']&&(_0x4c0465[_0x5a3359(0x1009,0x13c6)][_0x5a3359(0x642,_0x54b6c8._0x194f52)]=getCesiumColor(_0x4c0465[_0x1b39a2(0x19a3,0x1676)]['color']),_0x4c0465[_0x1b39a2(0x19a3,0x1ae8)]['color_bak']['clone']&&(_0x4c0465['model'][_0x5a3359(_0x54b6c8._0x1dc6e1,0xefa)]=_0x4c0465['model']['color_bak'][_0x5a3359(0x657,0x37a)]())),_0x4c0465[_0x1b39a2(0x19a3,_0x54b6c8._0x3a4d60)]['color']=_0x12ad85['color']),_0x4c0465[_0x1b39a2(0x8ba,_0x54b6c8._0x4490a0)]&&(_0x4c0465['label']['fillColor_bak']=_0x4c0465['label'][_0x1b39a2(0xb47,0x13cd)],_0x4c0465['label']['fillColor']=_0x12ad85[_0x1b39a2(_0x54b6c8._0x5bf7a4,0xca3)]);}),this;}['stopFlicker'](){const _0x2582cb={_0x23e585:0xa16},_0x223877={_0x174f37:0x122d,_0x2eaab4:0x12bf,_0x5415d5:0x12bf,_0x545593:0x13d0,_0x502051:0xe8f,_0x1bb642:0xe87,_0x49f384:0x15f1,_0x2d0285:0x1d7d,_0x5e762a:0x16a0,_0x40112b:0x165d,_0x152657:0x16a0,_0x23d1d1:0x10f2,_0x4cdf9a:0x1578,_0x18adbb:0x1535,_0x204207:0x160d,_0x369497:0x178b},_0x2286be={_0x2b5617:0x44e};this['_stopTime']();function _0x5643e6(_0x123988,_0x13fdec){return _0x2b6441(_0x13fdec,_0x123988-_0x2286be._0x2b5617);}return this['entitys']&&(loopArrayForFun(this['entitys'],function(_0x25639f){_0x25639f['polygon']&&(_0x25639f[_0x506940(0x9ad,0xd5f)]['material_bak']&&(_0x25639f['polygon']['material']=_0x25639f['polygon'][_0x506940(0xee6,0xeca)]));function _0x35af15(_0x105884,_0x3922b1){return _0x5bbe(_0x105884-0x67,_0x3922b1);}_0x25639f[_0x506940(_0x223877._0x174f37,0x1302)]&&(_0x25639f[_0x35af15(_0x223877._0x2eaab4,0x1c3a)]['material_bak']&&(_0x25639f[_0x506940(0x1293,0x1302)]['material']=_0x25639f[_0x35af15(_0x223877._0x5415d5,0x1791)]['material_bak']));_0x25639f[_0x35af15(0x12ce,_0x223877._0x545593)]&&(_0x25639f['ellipsoid']['material_bak']&&(_0x25639f['ellipsoid']['material']=_0x25639f['ellipsoid']['material_bak']));_0x25639f['ellipse']&&(_0x25639f['ellipse']['material_bak']&&(_0x25639f['ellipse']['material']=_0x25639f[_0x35af15(0x1475,_0x223877._0x502051)]['material_bak']));_0x25639f['rectangle']&&(_0x25639f['rectangle']['material_bak']&&(_0x25639f[_0x35af15(0x120d,0x79c)]['material']=_0x25639f['rectangle']['material_bak']));_0x25639f['wall']&&(_0x25639f['wall'][_0x35af15(_0x223877._0x1bb642,0x18e2)]&&(_0x25639f['wall']['material']=_0x25639f['wall'][_0x35af15(_0x223877._0x1bb642,_0x223877._0x49f384)]));function _0x506940(_0x36a5ff,_0x30d2a4){return _0x5bbe(_0x30d2a4-0xaa,_0x36a5ff);}_0x25639f[_0x506940(_0x223877._0x2d0285,_0x223877._0x5e762a)]&&(_0x25639f[_0x35af15(0x165d,0xd85)]['color_bak']&&(_0x25639f[_0x35af15(_0x223877._0x40112b,0x18d2)]['color']=_0x25639f[_0x506940(0xbda,_0x223877._0x152657)]['color_bak'])),_0x25639f[_0x506940(_0x223877._0x23d1d1,_0x223877._0x4cdf9a)]&&(_0x25639f[_0x35af15(_0x223877._0x18adbb,0x1dba)]['color_bak']?_0x25639f['billboard'][_0x506940(0x1661,0xce6)]=_0x25639f['billboard']['color_bak']:_0x25639f['billboard'][_0x35af15(0xca3,0x1082)]=undefined),_0x25639f['model']&&(_0x25639f[_0x506940(_0x223877._0x204207,_0x223877._0x369497)]['color_bak']?_0x25639f[_0x35af15(0x1748,0x13a6)][_0x506940(0x12c6,0xce6)]=_0x25639f['model']['color_bak']:_0x25639f[_0x35af15(0x1748,0x1a0f)][_0x35af15(0xca3,0x112d)]=Cesium__namespace['Color']['WHITE']),_0x25639f[_0x35af15(0x65f,0x35e)]&&(_0x25639f['label']['fillColor_bak']&&(_0x25639f['label']['fillColor']=_0x25639f['label']['fillColor_bak']));}),this['onEnd']&&this['onEnd'](this['entitys']),delete this[_0x5643e6(0x1017,_0x2582cb._0x23e585)]),this;}[_0x306755(0x92d,0x103c)](){const _0x1e9685={_0x2a2f7a:0xcf0,_0x3a4c2c:0x1637,_0x455a6d:0xeff},_0x575596={_0x2720db:0x169},_0x659aa1={_0x12b830:0x2c3},_0x12eec8=this;this['entitys']&&loopArrayForFun(this['entitys'],function(_0x99824f){function _0x490be7(_0x56816a,_0x376fe5){return _0x5bbe(_0x376fe5-_0x659aa1._0x12b830,_0x56816a);}function _0x2d0998(_0xacfcc3,_0x1f0e59){return _0x5bbe(_0xacfcc3-_0x575596._0x2720db,_0x1f0e59);}_0x99824f[_0x2d0998(0x175f,0x212d)]&&(_0x99824f['point'][_0x490be7(_0x1e9685._0x2a2f7a,0xeff)]=_0x12eec8[_0x2d0998(0xda5,0x1169)]),_0x99824f[_0x2d0998(_0x1e9685._0x3a4c2c,0xbb3)]&&(_0x99824f['billboard'][_0x490be7(0x14d0,_0x1e9685._0x455a6d)]=_0x12eec8['color']),_0x99824f['model']&&(_0x99824f['model']['color']=_0x12eec8['color']),_0x99824f[_0x2d0998(0x761,0xb3d)]&&(_0x99824f['label'][_0x490be7(0xc88,0xb48)]=_0x12eec8[_0x490be7(0x864,_0x1e9685._0x455a6d)]);});}[_0x306755(0x1949,0x1776)](){this['interVal']&&(clearInterval(this['interVal']),this['interVal']=null),this['timeEndVal']&&(clearTimeout(this['timeEndVal']),this['timeEndVal']=null);}}function loopArrayForFun(_0x1a0782,_0x5ed2a2){const _0x7c2b7d={_0x224de4:0x3ae};if(_0x1a0782==null)return;function _0x485bcb(_0x17e588,_0x3d5cce){return _0x306755(_0x17e588,_0x3d5cce- -0x2f5);}if(Array[_0x485bcb(_0x7c2b7d._0x224de4,0x53f)](_0x1a0782)){const _0x47eb32=[];for(let _0x1711c6=0x0,_0x292c70=_0x1a0782['length'];_0x1711c6<_0x292c70;_0x1711c6++){_0x47eb32['push'](_0x5ed2a2(_0x1a0782[_0x1711c6]));}return _0x47eb32;}else return _0x5ed2a2(_0x1a0782);}class BaseEntity extends BaseGraphic{get[_0x2b6441(0x474,0x4c0)](){function _0x35b6b9(_0x270ac7,_0x1500c2){return _0x2b6441(_0x1500c2,_0x270ac7-0xc4);}var _0x55e01f;return(_0x55e01f=this['_layer'])===null||_0x55e01f===void 0x0?void 0x0:_0x55e01f[_0x35b6b9(0x584,-0x25a)];}get['czmObject'](){return this['_entity'];}get['czmObjectEx'](){const _0x4aa56f={_0x3c01ee:0xeeb},_0x4b3450={_0x313028:0x3d};let _0x594940=[];this[_0x1d9afe(0x652,_0x4aa56f._0x3c01ee)]&&_0x594940['push'](this['_primitive_label']);function _0x1d9afe(_0x2d584a,_0x4052a3){return _0x2b6441(_0x2d584a,_0x4052a3- -0x78);}function _0x484978(_0x25b0c2,_0x38fa00){return _0x2b6441(_0x25b0c2,_0x38fa00- -_0x4b3450._0x313028);}return this[_0x484978(0x9b4,0x986)]&&(_0x594940=_0x594940[_0x484978(0xcb2,0x848)](this['_entity_outlines'])),_0x594940;}get['entity'](){return this['_entity'];}get['entityGraphic'](){const _0x4b835f={_0x4fcf1b:0x866};var _0x1991d9;function _0x1a17f4(_0x3231f1,_0x482be9){return _0x2b6441(_0x3231f1,_0x482be9- -0x5f);}return(_0x1991d9=this[_0x1a17f4(0xc5c,_0x4b835f._0x4fcf1b)])===null||_0x1991d9===void 0x0?void 0x0:_0x1991d9['point'];}get['label'](){const _0x562ae8={_0x4381ca:0xfda},_0xa187a6={_0x2ae236:0x37a};var _0x40ec93,_0x269d15;function _0x544046(_0x522f36,_0x12f08c){return _0x306755(_0x522f36,_0x12f08c- -_0xa187a6._0x2ae236);}if(this['_primitive_label'])return this['_primitive_label'];if((_0x40ec93=this['_entity'])!==null&&_0x40ec93!==void 0x0&&_0x40ec93[_0x544046(0xac,0x4f1)])return this[_0x3230c7(0x60e,_0x562ae8._0x4381ca)]['label'];if((_0x269d15=this['style'])!==null&&_0x269d15!==void 0x0&&_0x269d15['label']){var _0x40bd7e;return(_0x40bd7e=this['style'])===null||_0x40bd7e===void 0x0?void 0x0:_0x40bd7e['label'];}function _0x3230c7(_0x17e91c,_0x29618d){return _0x306755(_0x17e91c,_0x29618d-0x174);}return{};}get['isEditing'](){return this['_enabledEdit'];}get['lastDrawPoint'](){const _0x47d2b2={_0x20bca5:0x4ef},_0x294c7d={_0x35cbd5:0x47e},_0x34aacf=this['_positions_draw'];function _0x1c9319(_0x1c0ef9,_0x5af289){return _0x306755(_0x1c0ef9,_0x5af289- -_0x294c7d._0x35cbd5);}if(!_0x34aacf||_0x34aacf[_0x1c9319(0x188b,0x117d)]===0x0)return;function _0x1d92ff(_0x35ccdf,_0x1dd9c1){return _0x306755(_0x35ccdf,_0x1dd9c1-0x169);}return this[_0x1c9319(_0x47d2b2._0x20bca5,0x206)]?_0x34aacf[_0x34aacf['length']-0x2]:_0x34aacf[_0x34aacf[_0x1d92ff(0x1f44,0x1764)]-0x1];}[_0x306755(0x2227,0x1a00)](){return this['redraw']();}['redraw'](){const _0x54edda={_0x43e7c6:0x15ba,_0x155c90:0x135a,_0x180baa:0x5d2,_0x12f33f:0xc84,_0xe4672:0x224,_0x30245b:0xfd4},_0x24ecbd={_0x3764d0:0x503};this[_0x1d9d47(-0x55e,0x4b8)]=![];const _0x42d032=this['_layer'];this['_entity'][_0x3cc938(_0x54edda._0x43e7c6,_0x54edda._0x155c90)]=![];function _0x1d9d47(_0x4be540,_0x54838e){return _0x2b6441(_0x4be540,_0x54838e-_0x24ecbd._0x3764d0);}this['_onRemove'](),delete this['_entity'],this[_0x1d9d47(0xbac,_0x54edda._0x180baa)]();this[_0x3cc938(_0x54edda._0x12f33f,_0x54edda._0xe4672)]['positions']&&!this['_positions']&&(this['positions']=this['options']['positions']);this[_0x3cc938(0xc84,0x56e)]['position']&&!this['_position']&&(this['position']=this[_0x1d9d47(0x177,0xbbf)][_0x3cc938(0x121e,0xc63)]);function _0x3cc938(_0x546518,_0x4e0fae){return _0x2b6441(_0x4e0fae,_0x546518-0x5c8);}this[_0x3cc938(_0x54edda._0x30245b,0x12c3)](_0x42d032),this['enabledEvent']=!![];}['_mountedHook'](){}[_0x306755(0xf90,0x99e)](_0x308b12){const _0x5d915a={_0x4a9b84:0x919,_0x16b1c3:0x454,_0x5b0ccd:0xc3b,_0x1dc2dd:0x363,_0x1044ee:0x63d},_0x20caac={_0x1c3138:0x735},_0x2e4e0b={_0x14f9c3:0x6f5},_0x417b10={_0x326298:0xe51},_0x160f1=_0x5eee3e=>{var _0x385d81;function _0x3b92b7(_0x5f2194,_0x9e468a){return _0x5bbe(_0x5f2194- -0x367,_0x9e468a);}return(_0x385d81=this['_map'])===null||_0x385d81===void 0x0?void 0x0:_0x385d81[_0x3b92b7(_0x417b10._0x326298,0x143d)];};this['czmObject']['isAvailableByMap']=_0x160f1,this['dataSource']['entities']['add'](this['czmObject']);function _0x165ef6(_0x54f6a2,_0x15dde2){return _0x2b6441(_0x15dde2,_0x54f6a2-_0x2e4e0b._0x14f9c3);}function _0x3eec1e(_0x3bdbcb,_0x3d1411){return _0x306755(_0x3bdbcb,_0x3d1411- -0x3c2);}this[_0x165ef6(0xf84,0x1a44)][_0x3eec1e(0xe71,0x87e)](_0x47ba25=>{function _0x5ec188(_0x40c9dc,_0x38e43e){return _0x3eec1e(_0x40c9dc,_0x38e43e-0x304);}function _0x311321(_0xbf6441,_0x41b751){return _0x165ef6(_0x41b751- -0x314,_0xbf6441);}_0x47ba25 instanceof Cesium__namespace[_0x311321(0xbd7,0xe6f)]&&(_0x47ba25['isAvailableByMap']=_0x160f1,this[_0x311321(_0x20caac._0x1c3138,0x8a1)][_0x311321(0x9a9,0xaa8)]['add'](_0x47ba25));}),this[_0x165ef6(_0x5d915a._0x4a9b84,_0x5d915a._0x16b1c3)]&&(this[_0x3eec1e(0x555,_0x5d915a._0x5b0ccd)]=this[_0x165ef6(0x9aa,_0x5d915a._0x1dc2dd)][_0x3eec1e(-_0x5d915a._0x1044ee,0xfa)]);}['_removedHook'](){const _0x41c905={_0xc85ff:0xc1a,_0x423c22:0xf36,_0x5c7228:0x8c1,_0x4772a8:0x1092},_0x332f7d={_0x145c50:0x10e4},_0x717cc3={_0x457df2:0x441};function _0x347ebd(_0x2d1e5f,_0x568990){return _0x2b6441(_0x2d1e5f,_0x568990-0x12f);}this['stopDraw']();function _0x1c9479(_0x3c8df5,_0x5ce176){return _0x306755(_0x3c8df5,_0x5ce176- -_0x717cc3._0x457df2);}this['stopEditing'](),this['czmObject']&&this['dataSource'][_0x1c9479(0xace,0x827)]['remove'](this['czmObject']),this['czmObjectEx']&&this[_0x347ebd(_0x41c905._0xc85ff,0x9be)][_0x1c9479(_0x41c905._0x423c22,0x7ff)](_0x3ae830=>{function _0x57f274(_0x2abe25,_0x308dd9){return _0x347ebd(_0x308dd9,_0x2abe25-0xb1);}function _0x26f60d(_0x4c46a1,_0xddc807){return _0x1c9479(_0xddc807,_0x4c46a1-0x32d);}_0x3ae830 instanceof Cesium__namespace[_0x26f60d(0xf1b,0x146a)]&&this[_0x26f60d(0x94d,_0x332f7d._0x145c50)]['entities']['remove'](_0x3ae830);}),this['_primitive_label']&&(this['_layer']['labelCollection']['remove'](this[_0x347ebd(_0x41c905._0x5c7228,_0x41c905._0x4772a8)]),delete this['_primitive_label']);}[_0x306755(0x18f7,0x171d)](_0x19b06f){const _0x170175={_0x59f446:0x17a5};_0x19b06f[_0x1a0745(0x4a9,0x2f1)]&&_0x19b06f['entityCollection']['remove'](_0x19b06f);function _0x29d1ef(_0x40c383,_0x4ce451){return _0x2b6441(_0x4ce451,_0x40c383-0x116);}_0x19b06f[_0x1a0745(_0x170175._0x59f446,0x1575)]=this['id'];function _0x1a0745(_0x53e9cf,_0x5e2c0b){return _0x306755(_0x5e2c0b,_0x53e9cf- -0x264);}return _0x19b06f;}[_0x2b6441(0x697,-0x128)](){const _0x4011b6={_0x126258:0x1b5},_0x1f2cd7={_0x6d37cb:0x50e};function _0x4bb448(_0x5b5e6b,_0x42376c){return _0x306755(_0x5b5e6b,_0x42376c- -_0x1f2cd7._0x6d37cb);}var _0x42b3e5;(_0x42b3e5=this['editing'])!==null&&_0x42b3e5!==void 0x0&&_0x42b3e5['enabled']&&this['editing'][_0x4bb448(-0x259,_0x4011b6._0x126258)]();}['_updateStyleBaseHook'](_0x264fb3){const _0x1129a2={_0xe1aef9:0x1c2,_0x4aec3a:0xd2,_0x731221:0x1946,_0x1c9d28:0x3ce,_0x58649e:0xec9,_0xb3632b:0x1db3,_0x16a026:0x7cb,_0x461be5:0x27b,_0x1adb3f:0xbd9,_0x50c827:0x45d,_0x5bfd05:0x35a,_0x52d9d8:0x4b6,_0x4aa96e:0x12ba,_0x412910:0x1a55};var _0x2485d4;function _0x3f6e71(_0x287309,_0x3b4cc8){return _0x2b6441(_0x3b4cc8,_0x287309-0x11d);}if(!this[_0x3f6e71(0x6ab,-_0x1129a2._0xe1aef9)]||!_0x264fb3)return;if(this[_0x6570bf(0xd8b,0x2cd)]&&Cesium__namespace['defined'](_0x264fb3['clampToGround'])&&_0x264fb3['clampToGround']!==this['_clampToGround_last']){const _0x5cc6fc=this['isEditing'];this['redraw'](),this[_0x6570bf(0x79a,0xb05)]=_0x264fb3['clampToGround'];_0x5cc6fc&&(this[_0x3f6e71(_0x1129a2._0x4aec3a,0x286)]=![],this['startEditing'](),this['enabledEvent']=!![]);return;}(Cesium__namespace[_0x3f6e71(0x132e,_0x1129a2._0x731221)](_0x264fb3['setHeight'])||Cesium__namespace['defined'](_0x264fb3[_0x3f6e71(0xa01,0x379)]))&&(this['_positions_draw']?(this['positions']=this[_0x6570bf(_0x1129a2._0x1c9d28,0xe89)],this[_0x3f6e71(_0x1129a2._0x58649e,0x16fb)](![])):this[_0x6570bf(_0x1129a2._0xb3632b,0x14a1)]=this[_0x3f6e71(_0x1129a2._0x16a026,_0x1129a2._0x461be5)]);this[_0x3f6e71(_0x1129a2._0x1adb3f,_0x1129a2._0x50c827)](this[_0x6570bf(_0x1129a2._0x5bfd05,0x35e)],_0x264fb3),this['_updateLabelStyleHook'](this[_0x3f6e71(0x3d2,-0x4a6)],_0x264fb3);this['_getOutlinePositions']&&this[_0x3f6e71(_0x1129a2._0x52d9d8,-0x28a)](this['_getOutlinePositions'](),this[_0x3f6e71(0x3d2,0x265)]);this['_updateExOpacity']&&Cesium__namespace[_0x6570bf(0x1884,_0x1129a2._0x4aa96e)](_0x264fb3['globalAlpha'])&&this['_updateExOpacity'](_0x264fb3['globalAlpha']);this[_0x6570bf(_0x1129a2._0x412910,0x110e)]&&this['_updateDistanceDisplayConditionByEdit']();(_0x2485d4=this[_0x3f6e71(0x1214,0x1c36)])!==null&&_0x2485d4!==void 0x0&&_0x2485d4['enabled']&&this['editing']['_updateStyleHook'](_0x264fb3);function _0x6570bf(_0x1b8135,_0x95dc15){return _0x2b6441(_0x1b8135,_0x95dc15-0xa9);}return this;}[_0x2b6441(0x15c8,0xafa)](){const _0x19f3c5={_0xf22201:0xfa,_0x49dbaf:0x1669,_0x5cf8ea:0xec7,_0x559c00:0x9cb,_0x2a9b53:0x11d1,_0x1c6a4b:0x1623,_0x433577:0x1061,_0x1c770e:0x5e5,_0x21a9a5:0x919},_0x4e5ade={_0x5ba91f:0x5ae};function _0x23b3b5(_0xb53d3b,_0x49c382){return _0x306755(_0xb53d3b,_0x49c382- -0x56);}let _0x3ef33c;const _0x250f7d=this['center'];_0x250f7d?_0x3ef33c=Cesium__namespace[_0x4f2204(-_0x19f3c5._0xf22201,0x473)][_0x23b3b5(_0x19f3c5._0x49dbaf,_0x19f3c5._0x5cf8ea)](_0x250f7d,new Cesium__namespace[(_0x23b3b5(0x793,_0x19f3c5._0x559c00))]()):_0x3ef33c=(Cesium__namespace[_0x23b3b5(0x90b,_0x19f3c5._0x2a9b53)][_0x23b3b5(_0x19f3c5._0x1c6a4b,_0x19f3c5._0x433577)][_0x23b3b5(_0x19f3c5._0x1c770e,0xca3)]+Cesium__namespace['Ellipsoid']['WGS84']['maximumRadius'])/0x2;this['_isCallbackPositions']?this['updateDistanceDisplayCondition'](_0x3ef33c):this['updateDistanceDisplayCondition']();function _0x4f2204(_0x2f413d,_0x57c358){return _0x306755(_0x2f413d,_0x57c358- -_0x4e5ade._0x5ba91f);}if(this['_entity_outlines'])for(let _0xe44179=0x0,_0x38137a=this['_entity_outlines']['length'];_0xe44179<_0x38137a;_0xe44179++){const _0x3f9583=this['_entity_outlines'][_0xe44179]['polyline'];this['style'][_0x23b3b5(0x988,0x865)]?_0x3f9583['positions']instanceof Cesium__namespace['CallbackProperty']&&this['style']['clampToGround']?this['updateOutlinesDistanceDisplayCondition'](_0x3f9583,_0x3ef33c):this[_0x4f2204(0x11d4,0xe99)](_0x3f9583):_0x3f9583[_0x23b3b5(_0x19f3c5._0x21a9a5,0x865)]=undefined;}}[_0x2b6441(0x1ac,-0x39)](_0xea436e=0x0){const _0x4dd9c8={_0xc7f8fe:0xe53,_0x6265b5:0x1087,_0x2719b5:0x84e,_0xecf746:0x717,_0x17d7b0:0xee5,_0x1c278a:0x168e},_0x261500={_0x2d7617:0x587};function _0xa9cda3(_0x3e8e96,_0x529d22){return _0x2b6441(_0x529d22,_0x3e8e96-_0x261500._0x2d7617);}function _0x479d49(_0x51b3cf,_0x5b225b){return _0x306755(_0x5b225b,_0x51b3cf- -0x13f);}this[_0x479d49(0x717,_0x4dd9c8._0xc7f8fe)]['distanceDisplayCondition']?this['entityGraphic']['distanceDisplayCondition']=new Cesium__namespace['DistanceDisplayCondition'](Number((this[_0xa9cda3(0x83c,_0x4dd9c8._0x6265b5)][_0xa9cda3(_0x4dd9c8._0x2719b5,0x11c4)]??0x0)+_0xea436e),Number((this[_0x479d49(_0x4dd9c8._0xecf746,_0x4dd9c8._0x17d7b0)][_0x479d49(_0x4dd9c8._0x1c278a,0x1364)]??Number['MAX_VALUE'])+_0xea436e)):this[_0x479d49(0x93b,0x13bd)]['distanceDisplayCondition']=undefined;}[_0x306755(0xf4b,0x1447)](_0x5d418b,_0x56a48a=0x0){const _0x12721f={_0x314abb:0x3d8,_0x34bf2d:0x5d5},_0x40c508={_0x12e477:0x25e};function _0x317670(_0x38a12e,_0xa5db9c){return _0x306755(_0x38a12e,_0xa5db9c- -_0x40c508._0x12e477);}function _0x2258dd(_0x533569,_0x4f5636){return _0x306755(_0x533569,_0x4f5636- -0x4e3);}_0x5d418b[_0x2258dd(-0x6e7,_0x12721f._0x314abb)]=new Cesium__namespace[(_0x317670(-0x306,_0x12721f._0x34bf2d))](Number((this['style']['distanceDisplayCondition_near']??0x0)+_0x56a48a),Number((this['style']['distanceDisplayCondition_far']??Number['MAX_VALUE'])+_0x56a48a));}['_updateStyleHook'](_0x48e765,_0x3c1285){}['openHighlight'](_0x143a0e,_0x51b739=!![]){const _0x44d52c={_0x1fa023:0xec1,_0x7141e4:0x17ac,_0x180e79:0x116c,_0x16f556:0x99f,_0x4d4615:0x7e2,_0x28137f:0x98b,_0x5389eb:0xcae,_0x3c42b0:0xb5f};var _0x233540;_0x51b739&&(this[_0x5975eb(_0x44d52c._0x1fa023,0x11a5)]['closeHighlight'](),this['_map']['last_highlighGraphic']=this);function _0x5975eb(_0x354432,_0x67e058){return _0x306755(_0x354432,_0x67e058- -0x624);}this['_highlight_state']=!![];const _0x334d07=_0x143a0e||this[_0x47b076(0x18dd,0x1fc9)]||((_0x233540=this['_layer'])===null||_0x233540===void 0x0?void 0x0:_0x233540['_highlightOptions']);function _0x47b076(_0x2802c0,_0x26358c){return _0x2b6441(_0x26358c,_0x2802c0-0x6ea);}if(_0x334d07){const _0x31039d=[];for(const _0x5a3b0f in _0x334d07){if(_0x5a3b0f===_0x47b076(_0x44d52c._0x7141e4,_0x44d52c._0x180e79))continue;!Cesium__namespace['defined'](this[_0x47b076(_0x44d52c._0x16f556,0x163)][_0x5a3b0f])&&_0x31039d[_0x47b076(_0x44d52c._0x4d4615,0x6bd)](_0x5a3b0f);}_0x31039d['length']>0x0&&logWarn('openHighlight:原有style中不存在以下属性,关闭高亮时将无法恢复',_0x31039d);const _0x4b4caa=merge(clone(this['style']),_0x334d07);this['_updateStyleHook'](_0x4b4caa,_0x334d07),this[_0x47b076(_0x44d52c._0x28137f,_0x44d52c._0x5389eb)](_0x4b4caa,_0x334d07),this[_0x5975eb(-0x557,0x3f2)]&&this['_updateOutlineStyle'](this[_0x47b076(_0x44d52c._0x3c42b0,0xbe)](),_0x4b4caa),this['fire'](EventType['highlightOpen'],{},!![]);}}['closeHighlight'](){const _0x2c86f2={_0x492367:0x179a,_0x35cac6:0x75e,_0x54569f:0x8c8,_0x30d010:0x8f8,_0xfb0e1e:0xea8,_0x38066b:0x420,_0x31e266:0x83a,_0x58270a:0x1702},_0x35306a={_0xb0924:0x4a9};if(!this[_0x124568(0x87,0xa69)]||!this[_0x1e520d(_0x2c86f2._0x492367,0x18e7)])return;delete this['_highlight_state'],this['_updateStyleHook'](this[_0x124568(0x54b,_0x2c86f2._0x35cac6)],this['style']),this['_updateLabelStyleHook'](this['style'],this[_0x124568(_0x2c86f2._0x54569f,0x75e)]);function _0x124568(_0x2f980b,_0x47773d){return _0x2b6441(_0x2f980b,_0x47773d-_0x35306a._0xb0924);}function _0x1e520d(_0x4c9f11,_0x44f4a9){return _0x2b6441(_0x44f4a9,_0x4c9f11-0x483);}this[_0x1e520d(_0x2c86f2._0x30d010,_0x2c86f2._0xfb0e1e)]&&this['_updateOutlineStyle'](this[_0x1e520d(_0x2c86f2._0x30d010,_0x2c86f2._0x38066b)](),this[_0x124568(0x11b8,0x75e)]),this['_map'][_0x1e520d(0xa3f,_0x2c86f2._0x31e266)](),this['fire'](EventType[_0x1e520d(_0x2c86f2._0x58270a,0x1ae4)],{},!![]);}[_0x2b6441(0x1d32,0x13cf)](_0x2b97dc){const _0x222f02={_0x61f587:0x96c,_0x489ca0:0x880,_0x53a24e:0x90e,_0x59b4bd:0x91d,_0x281d06:0x5ec,_0x5c2211:0xb9b,_0x198f67:0x651,_0x3795e4:0xae0,_0x4ef6f3:0x74b,_0x25438b:0xae0,_0x540221:0xf95,_0x3a16cf:0xcef},_0x3d31a3={_0x4ce89f:0x340};function _0x105e3a(_0x44bb00,_0x28ca9d){return _0x306755(_0x44bb00,_0x28ca9d- -0x17d);}this['options']['onBeforeCreate']&&(_0x2b97dc=this['options'][_0x2db36b(0x570,0xffc)](_0x2b97dc)||_0x2b97dc);this['_onBeforeCreate']&&(_0x2b97dc=this['_onBeforeCreate'](_0x2b97dc)||_0x2b97dc);const _0x52fc41={};_0x52fc41['id']=this['id'],_0x52fc41['name']=this[_0x105e3a(0x5f3,0x716)]||this['id'],_0x52fc41[_0x105e3a(_0x222f02._0x61f587,0x9d5)]=this['attr'],_0x52fc41['show']=this[_0x2db36b(0x1253,0x1bdf)],_0x52fc41['parent']=this['options'][_0x105e3a(_0x222f02._0x489ca0,_0x222f02._0x53a24e)];const _0x2cdb0e=_0x52fc41;function _0x2db36b(_0x1a75fc,_0xcdefcd){return _0x306755(_0xcdefcd,_0x1a75fc- -_0x3d31a3._0x4ce89f);}this['availability']&&(_0x2cdb0e[_0x105e3a(0x82c,0x87f)]=getAvailability(this['availability'],this['_map'][_0x2db36b(0x105a,0x14db)]['startTime']));this['options']['description']&&(_0x2cdb0e['description']=this['options'][_0x2db36b(0xae1,0x45c)]);this[_0x2db36b(_0x222f02._0x59b4bd,0xd23)][_0x105e3a(_0x222f02._0x281d06,_0x222f02._0x5c2211)]&&(_0x2cdb0e[_0x105e3a(_0x222f02._0x198f67,_0x222f02._0x5c2211)]=this[_0x105e3a(0x99b,_0x222f02._0x3795e4)]['viewFrom']);this['options']['parent']&&(_0x2cdb0e[_0x2db36b(_0x222f02._0x4ef6f3,-0x70)]=this[_0x105e3a(0x431,_0x222f02._0x25438b)][_0x2db36b(0x74b,_0x222f02._0x540221)]);const _0x35e91b={..._0x2cdb0e,..._0x2b97dc},_0x5b5263=new Cesium__namespace[(_0x2db36b(_0x222f02._0x3a16cf,0x128a))](_0x35e91b);return _0x5b5263;}[_0x306755(0x10c9,0x1990)](_0x4fa14b){const _0x48339c={_0x33e735:0x764},_0x2ae918={_0x1e3b55:0x155};function _0x4dc591(_0xcaadaa,_0x5d3ff4){return _0x2b6441(_0x5d3ff4,_0xcaadaa-_0x2ae918._0x1e3b55);}this['czmObject']&&(this[_0x4dc591(0x6e3,_0x48339c._0x33e735)]['availability']=_0x4fa14b,this['czmObjectEx']['forEach'](_0x454be8=>{_0x454be8['availability']=_0x4fa14b;}));}['_updateLabelStyleHook'](_0x5e3614,_0x3e2ec8){const _0x2fde8c={_0x287e2d:0x1757,_0x3d82b8:0x486,_0x3ec8f3:0x556,_0x2df010:0x149d,_0x16646c:0x63f,_0x291f0f:0x11a0,_0xed3fd0:0x810,_0x5518f2:0xe2d,_0x2fb299:0x51a,_0x522514:0x8dd,_0x348fe1:0x1af,_0x28d3b4:0x556,_0x2b0ce8:0x1414,_0x2b0ea4:0x12f7,_0x4dc6fe:0xc65,_0x4df218:0x15e0,_0x58cab4:0x14a9},_0x2226c3={_0xa3ec8e:0x28c},_0xe51f47={_0x2c91c8:0x546};function _0x5d56e1(_0x4309a7,_0x369a55){return _0x2b6441(_0x369a55,_0x4309a7-_0xe51f47._0x2c91c8);}function _0x3aa61d(_0x235505,_0x382607){return _0x2b6441(_0x235505,_0x382607-_0x2226c3._0xa3ec8e);}if(_0x3e2ec8!==null&&_0x3e2ec8!==void 0x0&&_0x3e2ec8['label']){Cesium__namespace[_0x5d56e1(_0x2fde8c._0x287e2d,0x17da)](_0x5e3614['clampToGround'])&&!Cesium__namespace['defined'](_0x5e3614['label'][_0x5d56e1(0x461,-0x478)])&&(_0x3e2ec8['label']['clampToGround']=_0x5e3614['clampToGround']);if(this['_primitive_label']){var _0x2dd542,_0x513ee9,_0x468475,_0x41d4a2;LabelStyleConver['toCesiumVal'](_0x5e3614[_0x3aa61d(_0x2fde8c._0x3d82b8,_0x2fde8c._0x3ec8f3)],this['_primitive_label'],this[_0x5d56e1(0xca1,0x7d9)]),(Cesium__namespace[_0x3aa61d(0x1f35,_0x2fde8c._0x2df010)](_0x3e2ec8===null||_0x3e2ec8===void 0x0||(_0x2dd542=_0x3e2ec8['label'])===null||_0x2dd542===void 0x0?void 0x0:_0x2dd542['position'])||Cesium__namespace['defined'](_0x3e2ec8===null||_0x3e2ec8===void 0x0||(_0x513ee9=_0x3e2ec8['label'])===null||_0x513ee9===void 0x0?void 0x0:_0x513ee9[_0x3aa61d(0x1070,0x8dd)])||Cesium__namespace['defined'](_0x3e2ec8===null||_0x3e2ec8===void 0x0||(_0x468475=_0x3e2ec8[_0x3aa61d(-0x40,0x556)])===null||_0x468475===void 0x0?void 0x0:_0x468475['addHeight'])||Cesium__namespace['defined'](_0x3e2ec8===null||_0x3e2ec8===void 0x0||(_0x41d4a2=_0x3e2ec8[_0x5d56e1(0x810,_0x2fde8c._0x16646c)])===null||_0x41d4a2===void 0x0?void 0x0:_0x41d4a2[_0x3aa61d(0xc37,0x115a)]))&&this['_updateLabelPosition']();}else{if(this[_0x3aa61d(_0x2fde8c._0x291f0f,0xb51)][_0x5d56e1(_0x2fde8c._0xed3fd0,0x784)]){var _0x9bf73,_0x52b504,_0x104ec6;LabelStyleConver['toCesiumVal'](_0x5e3614[_0x5d56e1(0x810,_0x2fde8c._0x5518f2)],this['_entity']['label'],this['attr']),(Cesium__namespace['defined'](_0x3e2ec8===null||_0x3e2ec8===void 0x0||(_0x9bf73=_0x3e2ec8['label'])===null||_0x9bf73===void 0x0?void 0x0:_0x9bf73[_0x3aa61d(_0x2fde8c._0x2fb299,_0x2fde8c._0x522514)])||Cesium__namespace['defined'](_0x3e2ec8===null||_0x3e2ec8===void 0x0||(_0x52b504=_0x3e2ec8[_0x3aa61d(_0x2fde8c._0x348fe1,_0x2fde8c._0x28d3b4)])===null||_0x52b504===void 0x0?void 0x0:_0x52b504['addHeight'])||Cesium__namespace[_0x3aa61d(0xdc4,0x149d)](_0x3e2ec8===null||_0x3e2ec8===void 0x0||(_0x104ec6=_0x3e2ec8[_0x5d56e1(0x810,0xec2)])===null||_0x104ec6===void 0x0?void 0x0:_0x104ec6[_0x5d56e1(_0x2fde8c._0x2b0ce8,0x164c)]))&&this[_0x3aa61d(_0x2fde8c._0x2b0ea4,0x15bb)]();}else this[_0x5d56e1(_0x2fde8c._0x4dc6fe,0x3da)](_0x5e3614['label']);}}else Cesium__namespace['defined'](_0x3e2ec8===null||_0x3e2ec8===void 0x0?void 0x0:_0x3e2ec8[_0x3aa61d(_0x2fde8c._0x4df218,_0x2fde8c._0x58cab4)])&&this['_updateLabelOpacity'](_0x3e2ec8['globalAlpha']);}['_addLabel'](_0x52fe72){const _0x3c3b3a={_0x442307:0x1058,_0x528714:0x1916,_0x4ac548:0x1652,_0x57a358:0x17bb,_0x33fd3a:0x1551,_0x37ce42:0x4c5,_0x6de238:0xb1d,_0xbffb9c:0xcdf,_0x5ca379:0x17d8,_0x29afc6:0x1433,_0x3a6aa5:0x1c63,_0x1fc638:0x1da9},_0x1e8141={_0x5b2b4e:0x9};function _0x383ff5(_0x53aeaf,_0x6092d6){return _0x2b6441(_0x53aeaf,_0x6092d6-0x441);}if(!_0x52fe72||!_0x52fe72[_0x80d570(_0x3c3b3a._0x442307,_0x3c3b3a._0x528714)]||_0x52fe72[_0x80d570(0x11a8,0x159c)]===![])return;Cesium__namespace[_0x383ff5(0x1bc2,_0x3c3b3a._0x4ac548)](this[_0x383ff5(0x667,0x6f6)]['clampToGround'])&&!Cesium__namespace[_0x80d570(0xfe4,_0x3c3b3a._0x57a358)](_0x52fe72['clampToGround'])&&!Cesium__namespace[_0x383ff5(_0x3c3b3a._0x33fd3a,_0x3c3b3a._0x4ac548)](_0x52fe72['height'])&&(_0x52fe72['clampToGround']=this['style'][_0x80d570(0x7b1,_0x3c3b3a._0x37ce42)]);function _0x80d570(_0xcb7131,_0x3a21e2){return _0x306755(_0xcb7131,_0x3a21e2-_0x1e8141._0x5b2b4e);}const _0x309449=LabelStyleConver['toCesiumVal'](_0x52fe72,{},this[_0x80d570(_0x3c3b3a._0x6de238,0xd05)]);return _0x309449['position']=this[_0x80d570(0xd14,0xdb3)](),_0x309449['show']=(this['show']&&_0x52fe72[_0x80d570(_0x3c3b3a._0xbffb9c,0x159c)])??!![],!_0x309449['position']&&_0x309449[_0x383ff5(0x1bdc,0x1433)]&&(_0x309449[_0x383ff5(_0x3c3b3a._0x5ca379,_0x3c3b3a._0x29afc6)]=![],_0x309449['_showforposition']=!![]),this['_primitive_label']&&this['_layer']['labelCollection']['remove'](this['_primitive_label']),this['_primitive_label']=this[_0x383ff5(_0x3c3b3a._0x3a6aa5,0x1264)]['labelCollection']['add'](_0x309449),this['bindPickId'](this['_primitive_label']),this['_bindLabelAvailability'](this['_primitive_label']),this['_primitive_label'][_0x80d570(_0x3c3b3a._0x1fc638,0x187e)]=_0x309449['_showforposition'],this[_0x80d570(0x16ff,0x150d)];}['_updateLabelPosition'](_0x606a97){const _0x527a92={_0x52aa01:0x1017,_0x3482bf:0xa99,_0x20b1d0:0x1315},_0x588cfe={_0x2eb3d1:0x41};function _0x3bcb67(_0x468928,_0x222ab2){return _0x306755(_0x468928,_0x222ab2-0xcb);}function _0x160690(_0x4c227b,_0x38f144){return _0x2b6441(_0x4c227b,_0x38f144-_0x588cfe._0x2eb3d1);}this['_primitive_label']&&(_0x606a97=this[_0x3bcb67(_0x527a92._0x52aa01,0xe75)](_0x606a97),this['_primitive_label']['position']=_0x606a97,this['_primitive_label']['_showforposition']&&_0x606a97&&(this['_primitive_label']['show']=!![],delete this['_primitive_label'][_0x160690(_0x527a92._0x3482bf,_0x527a92._0x20b1d0)]));}['_updateLabelOpacity'](_0x245fc8){const _0x1abcf3={_0x46684e:0x30e},_0x384b7d={_0x503544:0x4f2};var _0xe537e4;(_0xe537e4=this['_entity'])!==null&&_0xe537e4!==void 0x0&&_0xe537e4[_0x24a0e6(0x379,_0x1abcf3._0x46684e)]&&LabelStyleConver['setOpacity'](this[_0x544e15(0xdbf,0xd5a)]['label'],_0x245fc8);function _0x544e15(_0x558439,_0x15c424){return _0x2b6441(_0x15c424,_0x558439-0x4fa);}function _0x24a0e6(_0x2dbf38,_0x15932a){return _0x306755(_0x15932a,_0x2dbf38- -_0x384b7d._0x503544);}this[_0x544e15(0x145d,0xad5)]&&this['_primitive_label']['show']&&LabelStyleConver[_0x24a0e6(0x13fc,0x1625)](this[_0x24a0e6(0x1012,0x12ec)],_0x245fc8);}['_getLablePosition'](_0x5bab63){const _0x11d2ed={_0x128538:0xade,_0x3fa562:0xcdf,_0x2f9f24:0x150d,_0xae1433:0xfcc,_0x47c19c:0x12e1,_0x3da677:0x727,_0x562771:0x514,_0x142776:0x9b3,_0x226633:0x129a,_0x5043b1:0x33e,_0x171e5d:0x125},_0x533eeb={_0x36bbe9:0x89},_0x2f7a22={_0x11fd96:0x2de};var _0x4abadb;const _0x483ab1=this[_0x42dc57(-0x4bb,0x33e)]['label'];if(_0x483ab1['position']&&!_0x5bab63){if(_0x483ab1['position']===_0x45ea3b(0x439,0x2e8))_0x5bab63=this['centerOfMass'];else{if(isString(_0x483ab1['position'])){const _0x335102=template(_0x483ab1[_0x42dc57(_0x11d2ed._0x128538,_0x11d2ed._0x3fa562)],this['attr'],!![]);_0x335102&&(_0x5bab63=LngLatPoint['parse'](_0x335102)['toCartesian']());}else isFunction(_0x483ab1['position'])?_0x5bab63=_0x483ab1['position'](_0x5bab63):_0x5bab63=LngLatPoint[_0x45ea3b(_0x11d2ed._0x2f9f24,_0x11d2ed._0xae1433)](_0x483ab1[_0x42dc57(_0x11d2ed._0x47c19c,0xcdf)])[_0x45ea3b(_0x11d2ed._0x3da677,_0x11d2ed._0x562771)]();}}function _0x45ea3b(_0x4f8e37,_0x21254a){return _0x2b6441(_0x21254a,_0x4f8e37-_0x2f7a22._0x11fd96);}function _0x42dc57(_0x24dc76,_0x13dfe7){return _0x2b6441(_0x24dc76,_0x13dfe7-_0x533eeb._0x36bbe9);}!_0x5bab63&&(_0x5bab63=this[_0x42dc57(-0xf8,0x1e4)]);if(!_0x5bab63)return;let _0x59cd96=getCesiumValue((_0x4abadb=this['entityGraphic'])===null||_0x4abadb===void 0x0?void 0x0:_0x4abadb['height'],Number)??_0x483ab1[_0x45ea3b(0x92f,_0x11d2ed._0x142776)];return!Cesium__namespace['defined'](_0x59cd96)&&Cesium__namespace[_0x42dc57(0xacb,_0x11d2ed._0x226633)](this['style'][_0x45ea3b(0x92f,0x294)])&&this['type']!=='billboard'&&(_0x59cd96=this[_0x42dc57(0x20f,_0x11d2ed._0x5043b1)][_0x45ea3b(0x92f,0x9b3)]),Cesium__namespace['defined'](_0x59cd96)&&(_0x5bab63=setPositionsHeight(_0x5bab63,_0x59cd96)),Cesium__namespace[_0x42dc57(0x1aab,0x129a)](this['style'][_0x45ea3b(0x75d,0xbe5)])&&(_0x5bab63=addPositionsHeight(_0x5bab63,this['style'][_0x42dc57(_0x11d2ed._0x171e5d,0x508)])),_0x5bab63=this['_updatePositionsForHeight'](_0x5bab63,_0x483ab1),_0x5bab63;}['_createLabel'](_0x473289={},_0x5271f4){const _0x5ba006={_0xd57564:0x1502,_0x47e59d:0x12f0,_0x55037b:0x41d,_0x34a8fa:0xc26,_0x33c55a:0xb37,_0x7073a6:0x128,_0x4bd5af:0x60d,_0x49be12:0x124,_0x24ec93:0x16fc,_0x28bf58:0x1096,_0x936c69:0x15a3,_0xf884ad:0x1263,_0x637a2d:0x88d},_0x38fcc7={_0x31825e:0x61c},_0x1a82c8={_0x23e73d:0x100};function _0x51504e(_0xee172f,_0x2f9879){return _0x2b6441(_0xee172f,_0x2f9879-_0x1a82c8._0x23e73d);}function _0x50a575(_0x420c62,_0x56ab28){return _0x2b6441(_0x56ab28,_0x420c62-0x440);}if(_0x473289[_0x50a575(0x1502,0x1052)]&&_0x473289['type']!=='label'){const _0x2b4fc7=create$5(_0x473289[_0x50a575(_0x5ba006._0xd57564,_0x5ba006._0x47e59d)],{'position':_0x5271f4,'style':_0x473289,'hasEdit':![],'private':!![],'show':this['show']});return Object[_0x51504e(_0x5ba006._0x55037b,_0x5ba006._0x34a8fa)](_0x2b4fc7,{'text':{'set':function(_0x279543){const _0xecfef2={_0x537b2a:0x387};function _0x7da80d(_0x286163,_0x40aef9){return _0x51504e(_0x286163,_0x40aef9-0x332);}function _0x302435(_0x98784c,_0x5a25f6){return _0x50a575(_0x98784c- -_0xecfef2._0x537b2a,_0x5a25f6);}var _0x3961e8;this['attr']['text']=_0x279543,(_0x3961e8=this[_0x7da80d(_0x38fcc7._0x31825e,0x6e7)])!==null&&_0x3961e8!==void 0x0&&_0x3961e8['updateText']&&this['style'][_0x302435(0x13c9,0x1c9e)](_0x279543,this);},'get':function(){var _0xc82f7c;return(_0xc82f7c=this['attr'])===null||_0xc82f7c===void 0x0?void 0x0:_0xc82f7c['text'];}}}),this['_layer'][_0x51504e(_0x5ba006._0x33c55a,_0x5ba006._0x7073a6)](_0x2b4fc7),_0x2b4fc7;}else{const _0x2c96c1={'color':'#ffffff','font_size':0x14,'outline':!![],'outlineColor':'#000000','outlineWidth':0x3,'background':!![],'backgroundColor':_0x50a575(_0x5ba006._0x4bd5af,-_0x5ba006._0x49be12),'backgroundOpacity':0.5,'scaleByDistance':!![],'scaleByDistance_far':0xc3500,'scaleByDistance_farValue':0.5,'scaleByDistance_near':0x3e8,'scaleByDistance_nearValue':0x1,'pixelOffsetY':-0xf,'horizontalOrigin':Cesium__namespace['HorizontalOrigin']['LEFT'],'verticalOrigin':Cesium__namespace['VerticalOrigin']['BOTTOM'],'visibleDepth':![],..._0x473289},_0x1f4443=LabelStyleConver[_0x50a575(0xeeb,_0x5ba006._0x24ec93)](_0x2c96c1);_0x1f4443['show']=this['show'];_0x5271f4&&(_0x1f4443[_0x50a575(_0x5ba006._0x28bf58,_0x5ba006._0x936c69)]=_0x5271f4);const _0x494a16=this[_0x50a575(_0x5ba006._0xf884ad,0xe71)]['labelCollection'][_0x51504e(0x1317,_0x5ba006._0x637a2d)](_0x1f4443);return this['bindPickId'](_0x494a16),_0x494a16['_noMousePick']=!![],_0x494a16['hasEdit']=![],_0x494a16['updateText']=_0x473289['updateText'],_0x494a16;}}['_removeLabel'](_0x35dae4){function _0x164575(_0xdd86,_0x32e681){return _0x2b6441(_0x32e681,_0xdd86-0x200);}_0x35dae4[_0x164575(0x7c0,0xe25)]?this['_layer']['removeGraphic'](_0x35dae4,!![]):this['_layer']['labelCollection']['remove'](_0x35dae4);}[_0x2b6441(0x6d7,0xa85)](_0x50ca5f,_0x3efb5d){const _0x4d348e={_0x53217e:0x7b6,_0x59e4ac:0x41c,_0x53156c:0x356,_0x5d9efb:0x588,_0x379977:0x9d1,_0x1f7f91:0x841,_0x541311:0xfaa},_0x545d54={_0x284170:0x448},_0x16c5dc={..._0x50ca5f},_0x56fd4b=_0x16c5dc;delete _0x56fd4b[_0x534778(0x1d79,0x1597)],delete _0x56fd4b[_0x534778(0xbdb,_0x4d348e._0x53217e)],delete _0x56fd4b[_0x4abaff(_0x4d348e._0x59e4ac,0xe71)],delete _0x56fd4b[_0x4abaff(0x12c5,0x1522)],delete _0x56fd4b['outlineColor'];function _0x534778(_0x3f9f0d,_0x227fe2){return _0x306755(_0x3f9f0d,_0x227fe2- -0x3ca);}delete _0x56fd4b[_0x534778(-_0x4d348e._0x53156c,_0x4d348e._0x5d9efb)],delete _0x56fd4b['outlineWidth'],delete _0x56fd4b['outlineStyle'];function _0x4abaff(_0x12a784,_0x115647){return _0x306755(_0x12a784,_0x115647- -_0x545d54._0x284170);}const _0x4cb30a={..._0x56fd4b,'show':_0x50ca5f['outline']??![],'color':_0x50ca5f[_0x534778(0x10b2,_0x4d348e._0x379977)]??Cesium__namespace['Color'][_0x4abaff(0x72e,0x615)],'opacity':_0x50ca5f['outlineOpacity'],'width':_0x50ca5f[_0x534778(0xc6a,_0x4d348e._0x1f7f91)]??0x1,..._0x50ca5f[_0x534778(_0x4d348e._0x541311,0xe85)]};let _0x5dafa5=_0x4cb30a;return!_0x5dafa5['show']&&_0x3efb5d&&(_0x5dafa5={..._0x5dafa5,..._0x3efb5d}),!Cesium__namespace['defined'](_0x5dafa5[_0x4abaff(0x1648,0x112c)])&&_0x5dafa5['clampToGround']&&(_0x5dafa5['arcType']=Cesium__namespace['ArcType']['GEODESIC']),_0x5dafa5;}[_0x306755(0x11df,0x93a)](_0xb7cef8,_0x202ff7,_0x60547d){const _0x7fced5={_0x4ee206:0xf3,_0x1b9c54:0xc5e,_0x50a8c5:0x14ac,_0x29a84e:0x10a6,_0x19262c:0xad4,_0x4a377c:0x4a2,_0x253324:0xb20,_0x434381:0x20d,_0x3459a5:0x15d0,_0x490361:0x1ee7,_0x50b94a:0x19a9,_0xfe14ca:0xe34,_0x3ae4cb:0x128d,_0x27842d:0x1136,_0x4fda95:0x4a9,_0x3abcf6:0x1664,_0x4876a9:0x905,_0x206862:0xc2e};function _0x1accbc(_0x193b00,_0x16d424){return _0x306755(_0x16d424,_0x193b00- -0x3c9);}function _0x321d5f(_0x11d1d6,_0x28cda4){return _0x2b6441(_0x11d1d6,_0x28cda4-0x29b);}var _0x597813;if(!this['entityGraphic'])return;const _0xe1b6b4=this['_getOutlineStyle'](_0x202ff7,_0x60547d);if(_0xe1b6b4['show']&&(_0xe1b6b4['width']>0x1||_0x202ff7[_0x1accbc(_0x7fced5._0x4ee206,-0x4d6)]||((_0x597813=this['_entity_outlines'])===null||_0x597813===void 0x0?void 0x0:_0x597813['length'])>0x0)){this['entityGraphic']['outline']=![];if(this[_0x1accbc(0xb9b,0xc02)])for(let _0x47baed=0x0,_0x43e965=this[_0x321d5f(0x9ee,_0x7fced5._0x1b9c54)]['length'];_0x47baed<_0x43e965;_0x47baed++){const _0x15d447=this[_0x321d5f(0x16d0,0xc5e)][_0x47baed][_0x321d5f(0x18c7,0x11c5)];if(_0xb7cef8&&_0xb7cef8[_0x47baed]){let _0x2ea277=_0xb7cef8[_0x47baed];if(_0x2ea277 instanceof Cesium__namespace['CallbackProperty'])_0x15d447['positions']=_0x2ea277;else Array['isArray'](_0x2ea277)&&_0x2ea277['length']>0x0&&(Cesium__namespace[_0x321d5f(0x1ba5,_0x7fced5._0x50a8c5)](_0xe1b6b4['height'])&&(_0x2ea277=setPositionsHeight(_0x2ea277,_0xe1b6b4['height'])),Cesium__namespace['defined'](_0xe1b6b4[_0x1accbc(_0x7fced5._0x29a84e,0x1289)])&&(_0x2ea277=setPositionsHeight(_0x2ea277,_0xe1b6b4['setHeight'])),Cesium__namespace[_0x321d5f(_0x7fced5._0x19262c,_0x7fced5._0x50a8c5)](_0xe1b6b4['addHeight'])&&(_0x2ea277=addPositionsHeight(_0x2ea277,_0xe1b6b4[_0x1accbc(0xabc,_0x7fced5._0x4a377c)])),_0xe1b6b4['closure']??!![]?_0x15d447['positions']=_0x2ea277[_0x321d5f(0x1307,_0x7fced5._0x253324)](_0x2ea277[0x0]):_0x15d447['positions']=_0x2ea277);}PolylineStyleConver['toCesiumVal'](_0xe1b6b4,_0x15d447,!![]);}else{if(_0xb7cef8){this['_entity_outlines']=[];for(let _0x3dc6b3=0x0,_0x44e5b5=_0xb7cef8['length'];_0x3dc6b3<_0x44e5b5;_0x3dc6b3++){let _0x1ccbd8=_0xb7cef8[_0x3dc6b3];const _0x2a78e4=PolylineStyleConver[_0x321d5f(0x12b7,0xd46)](_0xe1b6b4,{},!![]);if(_0x1ccbd8 instanceof Cesium__namespace['CallbackProperty'])_0x2a78e4['positions']=_0x1ccbd8;else Array['isArray'](_0x1ccbd8)&&_0x1ccbd8['length']>0x0&&(Cesium__namespace[_0x1accbc(0x13e9,0x1062)](_0xe1b6b4[_0x321d5f(0x11ab,0x8ec)])&&(_0x1ccbd8=setPositionsHeight(_0x1ccbd8,_0xe1b6b4[_0x1accbc(0x829,-_0x7fced5._0x434381)])),Cesium__namespace[_0x321d5f(0xdeb,0x14ac)](_0xe1b6b4['setHeight'])&&(_0x1ccbd8=setPositionsHeight(_0x1ccbd8,_0xe1b6b4['setHeight'])),Cesium__namespace[_0x1accbc(0x13e9,0x1aeb)](_0xe1b6b4['addHeight'])&&(_0x1ccbd8=addPositionsHeight(_0x1ccbd8,_0xe1b6b4[_0x321d5f(0xfaf,0xb7f)])),_0xe1b6b4['closure']??!![]?_0x2a78e4[_0x1accbc(_0x7fced5._0x3459a5,_0x7fced5._0x490361)]=_0x1ccbd8['concat'](_0x1ccbd8[0x0]):_0x2a78e4[_0x321d5f(0x1ad5,0x1693)]=_0x1ccbd8);const _0x22c17a=this[_0x321d5f(_0x7fced5._0x50b94a,0x166a)]({'id':this['id']+'-outline'+_0x3dc6b3,'polyline':_0x2a78e4,'show':this[_0x321d5f(_0x7fced5._0xfe14ca,_0x7fced5._0x3ae4cb)]});this[_0x321d5f(0x141e,_0x7fced5._0x27842d)](_0x22c17a),this['_entity_outlines']['push'](_0x22c17a),this['isAdded']&&this['dataSource']['entities'][_0x321d5f(0xa10,0xa28)](_0x22c17a);}}}return!![];}else{if(this['_entity_outlines'])for(let _0x4e5332=0x0,_0xebdd51=this[_0x321d5f(_0x7fced5._0x4fda95,_0x7fced5._0x1b9c54)]['length'];_0x4e5332<_0xebdd51;_0x4e5332++){const _0x1e73ca=this['_entity_outlines'][_0x4e5332]['polyline'];_0x1e73ca['show']=![];}return this['entityGraphic'][_0x321d5f(0xf09,_0x7fced5._0x3abcf6)]=_0xe1b6b4['show'],this['entityGraphic'][_0x321d5f(0xe45,_0x7fced5._0x4876a9)]=_0xe1b6b4['width'],_0xe1b6b4['show']&&(this['entityGraphic'][_0x321d5f(0x843,0xa95)]=getCesiumColor(_0xe1b6b4['color'],Cesium__namespace[_0x321d5f(0x1c9,_0x7fced5._0x206862)]['WHITE'])),![];}}['_updateOutlineOpacity'](_0x5576e2){const _0xfce0e2={_0x4d4edf:0x11e5,_0x513623:0xb68,_0x2ed97d:0x10b5,_0x53cf07:0x154b,_0x1f2f48:0x16e4,_0x29f950:0x524,_0x2519c8:0x3ca,_0x26358b:0x18d5,_0x370ca:0x183c,_0x5d8e5d:0xc32,_0x5c9146:0x985,_0x40e312:0x4f,_0x4d4e4b:0x94c,_0x38b171:0x24f};function _0x134890(_0x48ca9c,_0x36f244){return _0x2b6441(_0x36f244,_0x48ca9c-0x18b);}function _0x3aa0df(_0x5e1e11,_0x4c819d){return _0x2b6441(_0x5e1e11,_0x4c819d-0x473);}var _0x26d8ab;if(this['_entity_outlines']&&this['_entity_outlines']['length']>0x0)for(let _0x2f8fd2=0x0,_0x54beb3=this['_entity_outlines'][_0x134890(_0xfce0e2._0x4d4edf,0x85f)];_0x2f8fd2<_0x54beb3;_0x2f8fd2++){var _0x2c987d;const _0x289c74=this[_0x3aa0df(_0xfce0e2._0x513623,0xe36)][_0x2f8fd2][_0x134890(_0xfce0e2._0x2ed97d,0x1b32)];Cesium__namespace['defined'](_0x289c74===null||_0x289c74===void 0x0||(_0x2c987d=_0x289c74[_0x134890(0x154b,0x13e8)])===null||_0x2c987d===void 0x0?void 0x0:_0x2c987d[_0x3aa0df(0xf9b,0x1690)])?_0x289c74[_0x134890(_0xfce0e2._0x53cf07,_0xfce0e2._0x1f2f48)]['globalAlpha']=_0x5576e2:this[_0x134890(_0xfce0e2._0x29f950,_0xfce0e2._0x2519c8)](null,this[_0x134890(0x440,0x6c3)]);}if((_0x26d8ab=this['entityGraphic'])!==null&&_0x26d8ab!==void 0x0&&_0x26d8ab[_0x3aa0df(_0xfce0e2._0x26358b,_0xfce0e2._0x370ca)]&&this[_0x3aa0df(0xc03,0x94c)][_0x134890(0x1554,_0xfce0e2._0x5d8e5d)]['getValue']()){const _0x40c759=getCesiumColor(this['entityGraphic'][_0x134890(_0xfce0e2._0x5c9146,0x60a)],Cesium__namespace[_0x134890(0xb1e,0xcf8)]['WHITE']);!Cesium__namespace[_0x134890(0x139c,0x1b1a)](this['entityGraphic']['_outlineColor_alpha'])&&(this[_0x134890(0x664,0xe76)]['_outlineColor_alpha']=_0x40c759['alpha']),this[_0x3aa0df(0x50,0x94c)]['outlineColor']=_0x40c759[_0x134890(0x151f,0x1ed9)](this[_0x3aa0df(-_0xfce0e2._0x40e312,_0xfce0e2._0x4d4e4b)][_0x3aa0df(-_0xfce0e2._0x38b171,0x525)]*_0x5576e2);}}[_0x2b6441(0x665,0xbce)](){const _0x244c54={_0x40b395:0x833,_0x4ad385:0x1ebc,_0x1163fa:0x1599},_0x1bf556={_0x16853c:0x1a1},_0x396006={_0x4959e7:0x49d};function _0x46aeb9(_0x252d9c,_0x48b015){return _0x306755(_0x48b015,_0x252d9c- -_0x396006._0x4959e7);}function _0x202865(_0x377682,_0x594a5c){return _0x2b6441(_0x377682,_0x594a5c-_0x1bf556._0x16853c);}if(this[_0x202865(_0x244c54._0x40b395,0xb64)])for(let _0x5002dc=0x0,_0x249238=this['_entity_outlines']['length'];_0x5002dc<_0x249238;_0x5002dc++){const _0x2910b4=this['_entity_outlines'][_0x5002dc];if(_0x2910b4['polyline']['positions']instanceof Cesium__namespace['CallbackProperty'])continue;_0x2910b4['polyline'][_0x202865(_0x244c54._0x4ad385,_0x244c54._0x1163fa)]=new Cesium__namespace[(_0x46aeb9(0x5b2,0xac8))](_0x143e67=>{return this['outlinePositions'];},![]);}}['_cancelOutlinePositionsCallback'](){const _0x26a3e6={_0x1f91cc:0x1713,_0x359d2e:0x17d5,_0x47e063:0x6fa};function _0x55d459(_0xd8cf41,_0x5751db){return _0x2b6441(_0xd8cf41,_0x5751db-0x24c);}function _0x5f4025(_0x70bea6,_0x196081){return _0x2b6441(_0x196081,_0x70bea6-0x31b);}if(this['_entity_outlines'])for(let _0x4900ce=0x0,_0x141293=this['_entity_outlines']['length'];_0x4900ce<_0x141293;_0x4900ce++){const _0x5ec1dd=this[_0x55d459(0x153c,0xc0f)][_0x4900ce];if(!(_0x5ec1dd['polyline'][_0x5f4025(_0x26a3e6._0x1f91cc,_0x26a3e6._0x359d2e)]instanceof Cesium__namespace[_0x55d459(0xd5e,_0x26a3e6._0x47e063)]))continue;_0x5ec1dd['polyline'][_0x5f4025(0x1713,0x11a1)]=this[_0x5f4025(0xf8a,0x12b1)];}}[_0x2b6441(0x1774,0x134d)](_0x59ae75){const _0x4b29ee={_0x40eed7:0x63e,_0x1c653a:0xc68,_0x4424f9:0x898},_0x3f156a={_0x3f7c25:0x480};this['style']['globalAlpha']=_0x59ae75;const _0x5eeaf8=this['_updateEntityOpacity'](this[_0x58a100(0x6ee,_0x4b29ee._0x40eed7)],_0x59ae75);function _0x58a100(_0x2508e9,_0x5dc0c5){return _0x2b6441(_0x5dc0c5,_0x2508e9-0x215);}if(_0x5eeaf8){this['_updateLabelOpacity'](_0x59ae75),this['_updateOutlineOpacity'](_0x59ae75),this[_0x1ff1a2(_0x4b29ee._0x1c653a,_0x4b29ee._0x4424f9)]&&this['_updateExOpacity'](_0x59ae75);return;}function _0x1ff1a2(_0x501e95,_0x2ccc99){return _0x2b6441(_0x501e95,_0x2ccc99-_0x3f156a._0x3f7c25);}super['setOpacity'](_0x59ae75);}['_updateEntityOpacity'](_0x4703ca,_0x4c9496){const _0x4b97eb={_0x25c023:0x102a,_0xfe7541:0x9da,_0x4b6637:0xf35,_0x72b83:0xf98,_0x5c597d:0x189b,_0x19d727:0x6ba},_0x416583={_0x1f3210:0x324},_0x5ae7a3=_0x4703ca===null||_0x4703ca===void 0x0?void 0x0:_0x4703ca[_0x1fca43(0x163d,0x11fe)];if(!_0x5ae7a3){if(!this['style'][_0x2d21f2(0x1a02,0x16d5)]&&this['style'][_0x1fca43(0x1646,_0x4b97eb._0x25c023)])return!![];return![];}function _0x2d21f2(_0x6b33af,_0x140b87){return _0x306755(_0x6b33af,_0x140b87-0xe9);}function _0x1fca43(_0x56ff0e,_0x3a2dde){return _0x306755(_0x3a2dde,_0x56ff0e- -_0x416583._0x1f3210);}if(Cesium__namespace['defined'](_0x5ae7a3===null||_0x5ae7a3===void 0x0?void 0x0:_0x5ae7a3['globalAlpha']))return _0x5ae7a3['globalAlpha']=_0x4c9496,!![];if(_0x5ae7a3['_mars_type']==='Color'||_0x5ae7a3['_mars_type']===_0x2d21f2(0x1225,_0x4b97eb._0xfe7541)){const _0x214a41=getCesiumColor(_0x5ae7a3[_0x2d21f2(_0x4b97eb._0x4b6637,_0x4b97eb._0x72b83)],Cesium__namespace['Color']['WHITE']);return!Cesium__namespace[_0x2d21f2(0x1606,_0x4b97eb._0x5c597d)](_0x5ae7a3['_color_alpha'])&&(_0x5ae7a3[_0x1fca43(_0x4b97eb._0x19d727,0xdf0)]=_0x214a41['alpha']),_0x5ae7a3['color']=_0x214a41[_0x1fca43(0x1611,0x1e20)](_0x5ae7a3['_color_alpha']*_0x4c9496),!![];}return![];}['startFlicker'](_0x22a0d9={}){const _0x1accda={_0x12c43e:0xb23,_0x1bbb50:0x7a3},_0x18e119={_0x24b22d:0x3b0},_0x3883fa={_0x221a0f:0x215};!this['flickerEntity']&&(this['flickerEntity']=new FlickerEntity());function _0x38573a(_0x3d5a2f,_0x2ea75c){return _0x2b6441(_0x2ea75c,_0x3d5a2f-_0x3883fa._0x221a0f);}!_0x22a0d9[_0x38573a(_0x1accda._0x12c43e,0x227)]&&this[_0x38573a(0x4ca,-0x4e8)][_0x38573a(0xb23,0x562)]&&(_0x22a0d9['color']=this['style']['color']);function _0x567ba3(_0x4dd4ab,_0x1e36c8){return _0x306755(_0x1e36c8,_0x4dd4ab- -_0x18e119._0x24b22d);}const _0x41fc01=this['czmObjectEx']['concat'](this[_0x38573a(_0x1accda._0x1bbb50,0xa48)]);return this['flickerEntity']['startFlicker'](_0x41fc01,_0x22a0d9),this['flickerEntity'];}['stopFlicker'](){const _0x5d9ee3={_0x28d5d6:0x1ff};function _0x5cb3b3(_0x300fdd,_0x24c257){return _0x306755(_0x300fdd,_0x24c257- -0x2e0);}return this[_0x5cb3b3(_0x5d9ee3._0x28d5d6,0x8b3)]?this['flickerEntity']['stopFlicker']():null;}['startDraw'](_0x2d91d1){const _0x2d3fec={_0x45caa5:0x10b2,_0x270ca5:0x1014,_0x4003a7:0x10ba,_0x171b6a:0x683,_0x2f205b:0xd44,_0x38a8cd:0xb86,_0x558a6f:0x15e5,_0x5315e5:0x15a6,_0x588c6d:0x1458},_0x32c2bb={_0x141eb7:0x37e},_0x3dd05b={_0x478363:0x304};if(this['_enabledDraw'])return this;this[_0x22f7bd(_0x2d3fec._0x45caa5,_0x2d3fec._0x270ca5)]=!![];_0x2d91d1&&this['addTo'](_0x2d91d1);if(!this['_map'])throw new Error(_0x222579(_0x2d3fec._0x4003a7,0x19bf));function _0x222579(_0x226c68,_0x52b396){return _0x2b6441(_0x52b396,_0x226c68-_0x3dd05b._0x478363);}this['_drawAddEventType']=_0x2d91d1['options']['drawAddEventType']??EventType['click'],this[_0x222579(_0x2d3fec._0x171b6a,0x610)]=_0x2d91d1['options']['drawEndEventType']??EventType[_0x22f7bd(0xb61,_0x2d3fec._0x2f205b)],this['_drawDelEventType']=_0x2d91d1[_0x22f7bd(_0x2d3fec._0x38a8cd,0xa3a)]['drawDelEventType']??EventType[_0x22f7bd(0x17be,_0x2d3fec._0x558a6f)],this['_map']['mouseEvent']['noPickEntity']=this['_entity'],this[_0x22f7bd(0x1c3a,_0x2d3fec._0x5315e5)]['_setEditCursor'](!![]),this['enableControl'](![]),this['_setPositionsToCallback']();function _0x22f7bd(_0x4a0277,_0x3669d8){return _0x2b6441(_0x4a0277,_0x3669d8-_0x32c2bb._0x141eb7);}this['_startDrawHook'](),this[_0x22f7bd(_0x2d3fec._0x588c6d,0x13e3)]&&this[_0x22f7bd(0x11f0,0xe78)](),this['fire'](EventType['drawStart'],{'drawType':this['type']},!![]);}['stopDraw'](){const _0x1f0dd9={_0x8a6d59:0x81a,_0x46d9a2:0x1265,_0x4ba41b:0x9a7,_0x5d865f:0x4c5,_0x5c24fa:0x13fa,_0x3a2204:0x7ab,_0x502e27:0x179f,_0x4fb8b3:0x182b,_0x474f5b:0xbcc,_0x52c99b:0x16dc,_0x25561e:0xdf9,_0x134282:0x740,_0x1596b4:0x362},_0x53e82c={_0x2b2d46:0x69};function _0x4efbec(_0x3fc100,_0x740012){return _0x306755(_0x740012,_0x3fc100-0x79);}var _0x44e419,_0x230c0d,_0x374598,_0x4f8e1a;if(!this[_0x4efbec(0x12b0,_0x1f0dd9._0x8a6d59)])return this;this['_stopDrawHook'](),this['_updateLabelPosition'](),this['_map']['_setEditCursor'](![]),this['enableControl'](!![]),this['_map']['closeSmallTooltip'](),this['_map'][_0x4efbec(0xc12,_0x1f0dd9._0x46d9a2)][_0x15d2e3(_0x1f0dd9._0x4ba41b,_0x1f0dd9._0x5d865f)]=null,this['_enabledDraw']=![];if(this['_hadRemoveLastMovePoint']){var _0x4227b4;((_0x4227b4=this[_0x4efbec(_0x1f0dd9._0x5c24fa,0xf41)])===null||_0x4227b4===void 0x0?void 0x0:_0x4227b4['length'])>0x0&&this[_0x4efbec(0x1817,0x16d1)](),this[_0x15d2e3(_0x1f0dd9._0x3a2204,-0x2)]&&(this['_position_draw']=undefined),this[_0x15d2e3(0x5cf,0xd43)](![]),this[_0x4efbec(0x6fd,-0x34e)]=![];}if(!this['_position_draw']&&(!this[_0x4efbec(_0x1f0dd9._0x5c24fa,0x1d32)]||((_0x44e419=this['_positions_draw'])===null||_0x44e419===void 0x0?void 0x0:_0x44e419['length'])===0x0))return this['remove'](!![]),undefined;if(this['_positions_draw']&&this['_positions_draw']['length']<this['_minPointNum'])return this[_0x4efbec(0xa35,0xf5a)](!![]),undefined;(this['_layer'][_0x4efbec(0xcd6,_0x1f0dd9._0x502e27)][_0x15d2e3(-0x5f4,0x353)]||Cesium__namespace[_0x4efbec(_0x1f0dd9._0x4fb8b3,0x19b5)]((_0x230c0d=this[_0x15d2e3(_0x1f0dd9._0x474f5b,0x470)])===null||_0x230c0d===void 0x0?void 0x0:_0x230c0d[_0x15d2e3(0xf0d,0x1185)]))&&this['_cancelPositionsCallback']();this['style']['distanceDisplayCondition']&&this['_updateDistanceDisplayConditionByEdit']();this[_0x4efbec(0x902,0x63a)](EventType[_0x4efbec(0x15fc,0xdb9)],{'drawType':this[_0x4efbec(_0x1f0dd9._0x52c99b,0x16de)],'positions':this['_positions_draw']},!![]);(_0x374598=this['options'])!==null&&_0x374598!==void 0x0&&_0x374598['success']&&this['options'][_0x15d2e3(0x1073,_0x1f0dd9._0x25561e)](this);function _0x15d2e3(_0x3a4418,_0x1412f8){return _0x2b6441(_0x3a4418,_0x1412f8- -_0x53e82c._0x2b2d46);}(_0x4f8e1a=this['options'])!==null&&_0x4f8e1a!==void 0x0&&(_0x4f8e1a=_0x4f8e1a[_0x4efbec(_0x1f0dd9._0x134282,0x9e5)])!==null&&_0x4f8e1a!==void 0x0&&_0x4f8e1a['resolve']&&this[_0x15d2e3(_0x1f0dd9._0x1596b4,0x653)]['_promise'][_0x15d2e3(0xeea,0xa3a)](this);}[_0x2b6441(0xddf,0x123c)](){}[_0x2b6441(0x2c0,0xcf)](){}['_startDrawHook'](){}['_stopDrawHook'](){}[_0x2b6441(-0x694,-0xb3)](_0x1eff7f){const _0x398d2f={_0x5e36f9:0x1a81,_0x1b6493:0xc1f,_0x380d72:0x177b,_0xe67ade:0x2b8,_0x4e0d36:0xeca,_0x16b3f2:0x7e6,_0x593347:0xf99,_0x1ed13f:0x4de};if(!this['_positions_draw'])return;const _0x50ce22=_0x1eff7f['endPosition']??_0x1eff7f[_0x4893d6(0xc95,0x1759)];function _0x4893d6(_0x292060,_0x3a7475){return _0x306755(_0x3a7475,_0x292060- -0x562);}function _0x3fe716(_0x3abc3b,_0x561d0d){return _0x306755(_0x561d0d,_0x3abc3b- -0x3e9);}if(this['_positions_draw']['length']<=0x1&&isPCBroswer())this['_map']['openSmallTooltip'](_0x50ce22,this['_map'][_0x4893d6(0x80b,0x8c5)]('_单击开始绘制'));else{if(this['_positions_draw']['length']<this['_minPointNum'])this[_0x3fe716(0x13e0,_0x398d2f._0x5e36f9)]['openSmallTooltip'](_0x50ce22,this['_map'][_0x4893d6(0x80b,_0x398d2f._0x1b6493)](_0x4893d6(0x1467,_0x398d2f._0x380d72)));else{if(this['_positions_draw']['length']>=this['_maxPointNum']){let _0x35de88=this['_map']['getLangText']('_单击完成绘制');this[_0x3fe716(0x431,0x5c7)]&&(_0x35de88+=this[_0x4893d6(_0x398d2f._0xe67ade,0x4eb)](_0x1eff7f)),this[_0x3fe716(0x13e0,0x1887)][_0x4893d6(0x9f4,0x9fa)](_0x50ce22,_0x35de88);}else{let _0x397248;if(isPCBroswer()){let _0x6bce0='';(this['options']['hasDrawDelPoint']??!![])&&(_0x6bce0=',\x20'+this['_map']['getLangText']('_右击删除点')),_0x397248=this[_0x4893d6(0x1267,0x183b)]['getLangText'](_0x3fe716(0x15e0,_0x398d2f._0x4e0d36))+_0x6bce0+_0x4893d6(0xcbd,_0x398d2f._0x16b3f2)+this['_map']['getLangText']('_双击完成绘制');}else _0x397248=this['_map'][_0x4893d6(0x80b,_0x398d2f._0x593347)](_0x3fe716(0x15e0,0x1b7e));this['_getExSmallTooltip']&&(_0x397248+=this[_0x3fe716(0x431,-_0x398d2f._0x1ed13f)](_0x1eff7f)),this['_map']['openSmallTooltip'](_0x50ce22,_0x397248);}}}}[_0x306755(0x1531,0x1427)](){const _0x25f5af={_0x1c8681:0x13e,_0x1011a2:0xe3b,_0x1366d8:0x963},_0x1f273b={_0x3c8466:0x86};function _0x39e2bb(_0x1a266a,_0x29666c){return _0x306755(_0x29666c,_0x1a266a- -0x546);}function _0x51150b(_0x2841da,_0x3ebd30){return _0x2b6441(_0x2841da,_0x3ebd30- -_0x1f273b._0x3c8466);}this[_0x39e2bb(_0x25f5af._0x1c8681,-0x223)]&&(this[_0x39e2bb(_0x25f5af._0x1011a2,_0x25f5af._0x1366d8)]['pop'](),this[_0x39e2bb(0x13e,0x31f)]=![]);}['_onMouseMoveHandler'](_0x3242ed){const _0x185332={_0x19c9df:0x1671,_0x435a55:0x100a,_0x2a8c80:0x9b6,_0x4e2071:0x971,_0x4b55c4:0x121d},_0x5af1c9={_0x594824:0x43d};function _0x5f2c12(_0x343077,_0x1a86e3){return _0x306755(_0x1a86e3,_0x343077- -0x2a7);}function _0x134ab0(_0x34f042,_0x5795cc){return _0x2b6441(_0x34f042,_0x5795cc-_0x5af1c9._0x594824);}this[_0x134ab0(-0xa8,0x38a)](_0x3242ed);let _0x3ec152=_0x3242ed[_0x134ab0(_0x185332._0x19c9df,_0x185332._0x435a55)];if(_0x3ec152){var _0x533dbd,_0xcd0bcd;if((_0x533dbd=this[_0x5f2c12(_0x185332._0x2a8c80,0x9c2)])!==null&&_0x533dbd!==void 0x0&&_0x533dbd[_0x5f2c12(0x51f,-0x9f)]){_0x3ec152=this[_0x134ab0(_0x185332._0x4e2071,0xaf9)]['updateDrawPosition'](_0x3ec152,this);if(!_0x3ec152)return;_0x3242ed['cartesian']=_0x3ec152;}if((_0xcd0bcd=this['options'])!==null&&_0xcd0bcd!==void 0x0&&_0xcd0bcd['validDrawPosition']){const _0x16c046=this[_0x5f2c12(0x9b6,0x10ae)]['validDrawPosition'](_0x3ec152,this);if(!_0x16c046)return;}this[_0x5f2c12(0x1180,0x1bcc)](),this['_positions_draw']['push'](_0x3ec152),this['_hadRemoveLastMovePoint']=!![],this['updateAttrForDrawing'](![]),this[_0x5f2c12(0x1629,0x19ad)](),this['fire'](EventType['drawMouseMove'],{..._0x3242ed,'drawType':this['type'],'positions':this[_0x134ab0(0x149b,_0x185332._0x4b55c4)]},!![]);}}['_onClickHandler'](_0x4ef0b3){const _0x1fbb4f={_0x487846:0x408,_0x46ed00:0x278,_0x5cdbc7:0x1621,_0x1849a5:0x13c7,_0x5117e2:0xd4,_0x49959f:0x1085,_0x38f6cf:0xcc1},_0x552060={_0x3ce3c3:0x4b},_0x4a6552=new Date()['getTime']()-(this[_0x114054(_0x1fbb4f._0x487846,-_0x1fbb4f._0x46ed00)]||0x0);if(this['_last_clickTime']&&_0x4a6552<0xc8)return;this[_0x373220(0x662,0x1022)]=new Date()['getTime']();if(this['_last_clickPositionX']&&Math['abs'](this['_last_clickPositionX']-_0x4ef0b3['windowPosition']['x'])<0xa&&Math[_0x114054(0xf0b,0x16fd)](this[_0x373220(_0x1fbb4f._0x5cdbc7,0x15de)]-_0x4ef0b3[_0x373220(0x32e,0x945)]['y'])<0xa)return;this['_last_clickPositionX']=_0x4ef0b3[_0x114054(0xd4,-0x10b)]['x'],this[_0x114054(_0x1fbb4f._0x1849a5,0x109c)]=_0x4ef0b3[_0x114054(_0x1fbb4f._0x5117e2,-0x80)]['y'];let _0x2b8c67=_0x4ef0b3['cartesian'];!_0x2b8c67&&this['_hadRemoveLastMovePoint']&&(_0x2b8c67=this[_0x373220(_0x1fbb4f._0x49959f,_0x1fbb4f._0x38f6cf)][this['_positions_draw']['length']-0x1]);function _0x373220(_0x4eeab1,_0x5e7bb8){return _0x306755(_0x5e7bb8,_0x4eeab1- -0x2fc);}function _0x114054(_0x49dc2c,_0x3d8873){return _0x2b6441(_0x3d8873,_0x49dc2c-_0x552060._0x3ce3c3);}_0x2b8c67&&this['_drawAddPoint'](_0x4ef0b3,_0x2b8c67);}['_drawAddPoint'](_0x262684,_0xc9915d){const _0xa4feb3={_0x18f1da:0x164a,_0x4dc18c:0xed,_0x23407a:0x66f,_0x203c8c:0xda1,_0x5bc7f2:0xcc4,_0xa06bc0:0x129a,_0xc6db22:0x1b9a};var _0x129b2e;if(this['options']['updateDrawPosition']){_0xc9915d=this['options']['updateDrawPosition'](_0xc9915d,this);if(!_0xc9915d)return;_0x262684[_0x43a51a(0x1087,0x749)]=_0xc9915d;}if(this['options']['validDrawPosition']){const _0x1f0a2b=this['options'][_0x43a51a(0xbf1,_0xa4feb3._0x18f1da)](_0xc9915d,this);if(!_0x1f0a2b)return;}function _0x629ec6(_0x4ae1cd,_0x1d5a75){return _0x2b6441(_0x1d5a75,_0x4ae1cd- -0xb);}this['_removeLastMovePoint'](),this['removeNearPoint']();(_0x129b2e=this[_0x43a51a(0xb76,0x1275)])!==null&&_0x129b2e!==void 0x0&&_0x129b2e['addHeight']&&(_0xc9915d=addPositionsHeight(_0xc9915d,this['options']['addHeight']));function _0x43a51a(_0x269596,_0x5c3858){return _0x306755(_0x5c3858,_0x269596- -0xe7);}this['_positions_draw'][_0x629ec6(_0xa4feb3._0x4dc18c,_0xa4feb3._0x23407a)](_0xc9915d),this[_0x629ec6(_0xa4feb3._0x203c8c,0x1265)](![]),!isPCBroswer()&&this[_0x629ec6(-0xbe,-0x7e7)](_0x262684),this['fire'](EventType[_0x43a51a(_0xa4feb3._0x5bc7f2,0x571)],{..._0x262684,'drawType':this['type'],'positions':this[_0x43a51a(_0xa4feb3._0xa06bc0,0x15c0)]},!![]),this[_0x43a51a(0x129a,_0xa4feb3._0xc6db22)]['length']>=this['_maxPointNum']&&this['stopDraw']();}[_0x2b6441(0x7ab,0xd78)](_0x5f4d1a){const _0x2b76e0={_0x121a72:0x2b3,_0x1206a1:0x1083,_0x3c19dd:0x115a,_0x30d28e:0x60a,_0x173caf:0x3b2,_0x47f907:0xcb2};if(this['_positions_draw']['length']<=0x1)return;this[_0x2d1c41(0xe47,0xa6c)]();function _0x2d1c41(_0x46a5c0,_0x23f9bc){return _0x2b6441(_0x23f9bc,_0x46a5c0- -0x3f);}this[_0xca11fe(0x1211,0x10af)]['pop']();function _0xca11fe(_0x2e4e77,_0x51bc20){return _0x2b6441(_0x2e4e77,_0x51bc20-0x2cf);}const _0x2cdc37=_0x5f4d1a===null||_0x5f4d1a===void 0x0?void 0x0:_0x5f4d1a['cartesian'];_0x2cdc37&&(this[_0xca11fe(-_0x2b76e0._0x121a72,0x5b7)](EventType['drawRemovePoint'],{..._0x5f4d1a,'drawType':this[_0x2d1c41(_0x2b76e0._0x1206a1,_0x2b76e0._0x3c19dd)],'positions':this['_positions_draw']},!![]),this['_positions_draw']['push'](_0x2cdc37),this[_0xca11fe(_0x2b76e0._0x30d28e,_0x2b76e0._0x173caf)]=!![],this[_0xca11fe(_0x2b76e0._0x47f907,0x107b)](![]));}[_0x306755(0x100b,0x1686)](_0x2171c6){const _0x4f92cf={_0x4551a0:0x13a7},_0x380fa8={_0xe017e0:0x31};function _0x4a5f53(_0x31dc83,_0x508605){return _0x2b6441(_0x508605,_0x31dc83-_0x380fa8._0xe017e0);}function _0x401bda(_0x2b416a,_0x144a0d){return _0x2b6441(_0x2b416a,_0x144a0d-0x555);}_0x2171c6['type']!==EventType['dblClick']&&(this[_0x401bda(0x84,0x638)]=![]),this[_0x4a5f53(0x122e,0x19e2)](),this[_0x401bda(_0x4f92cf._0x4551a0,0x9ee)]();}['removeNearPoint'](){const _0x49e379={_0x1b63e9:0x1402,_0x4d97cd:0x184e,_0x4ee1e0:0x1188,_0xb1bb03:0xe5b},_0x38f148={_0x3d6aa6:0x3a8},_0x341428={_0x4a26f2:0xc8};function _0x2cee09(_0x15a62e,_0xd0d50a){return _0x306755(_0xd0d50a,_0x15a62e-_0x341428._0x4a26f2);}if(this['_positions_draw']['length']<0x3)return;function _0x143446(_0x1c3cef,_0x21a11f){return _0x2b6441(_0x21a11f,_0x1c3cef-_0x38f148._0x3d6aa6);}for(let _0x2a5584=this['_positions_draw'][_0x143446(_0x49e379._0x1b63e9,_0x49e379._0x4d97cd)]-0x1;_0x2a5584>0x0;_0x2a5584--){const _0x5bdf45=this[_0x143446(_0x49e379._0x4ee1e0,0x1ad3)][_0x2a5584],_0x5a1694=this[_0x2cee09(0x1449,_0x49e379._0xb1bb03)][_0x2a5584-0x1],_0x105bb3=Cesium__namespace['Cartesian3']['distance'](_0x5bdf45,_0x5a1694);if(_0x105bb3<0.01)this['_positions_draw']['splice'](_0x2a5584,0x1);else break;}}['endDraw'](){const _0x34598d={_0x40ecba:0x160a,_0x134ea0:0x11c0,_0x204b4b:0xdbc},_0x117b8e={_0x1e25c5:0xd},_0x3894b7={_0x104231:0x587};function _0x140876(_0x5f2138,_0x4cb702){return _0x2b6441(_0x4cb702,_0x5f2138-_0x3894b7._0x104231);}function _0x5de6aa(_0x313abe,_0x425418){return _0x2b6441(_0x425418,_0x313abe-_0x117b8e._0x1e25c5);}if(!this[_0x140876(0x121d,_0x34598d._0x40ecba)])return![];if(this['_positions_draw']&&this['_positions_draw']['length']<this[_0x5de6aa(_0x34598d._0x134ea0,0x1957)])return![];return this['updateAttrForDrawing'](![]),this[_0x5de6aa(_0x34598d._0x204b4b,0x3b0)](),!![];}['updateAttrForDrawing'](_0x12611f){}[_0x2b6441(0x9f0,0x10a8)](){const _0x5e8142={_0x1ffbdd:0x14c0,_0x33f045:0x86f,_0x3d3b7a:0x183c,_0x1238cf:0x138f,_0x2a3d2f:0x5c9,_0x3d4b32:0x12e9},_0x13e581={_0x1c3ded:0x5d7};if(this['_enabledEdit'])return this;function _0x5cc1c3(_0x43bfb6,_0x45a933){return _0x2b6441(_0x43bfb6,_0x45a933-_0x13e581._0x1c3ded);}this['_enabledEdit']=!![];if(!this['_map'])throw new Error('编辑时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this[_0x24d1bb(0x1483,_0x5e8142._0x1ffbdd)]['mouseEvent']['noPickEntity']=this['_entity'];function _0x24d1bb(_0x587d6d,_0x53545d){return _0x306755(_0x587d6d,_0x53545d- -0x309);}this['_map'][_0x24d1bb(_0x5e8142._0x33f045,0x890)][_0x5cc1c3(0xfc8,0xa9f)]=![],!this[_0x5cc1c3(0xeed,0x16ce)]&&(this[_0x24d1bb(_0x5e8142._0x3d3b7a,_0x5e8142._0x1238cf)]=new this[(_0x24d1bb(0xde7,0xb6a))](this)),this['editing'][_0x5cc1c3(_0x5e8142._0x2a3d2f,0xd03)]&&this[_0x24d1bb(_0x5e8142._0x3d4b32,0x138f)]['activate'](),this[_0x24d1bb(0x138f,0x12fd)]&&this['_updateDistanceDisplayConditionByEdit']();}['stopEditing'](){const _0x3c6d99={_0x3e88c2:0x1793,_0x36fad2:0xf5d,_0x38c799:0x87b,_0x550799:0x13de,_0x5555cc:0x10ef,_0x4936e0:0xbfc,_0x379bef:0x40b,_0x5b48f4:0x1338},_0x1bfa59={_0x34e6f9:0x28e},_0x48fc29={_0x1e4db9:0x6f};var _0x567199;function _0x264c2e(_0x6497df,_0x4b9047){return _0x2b6441(_0x4b9047,_0x6497df-_0x48fc29._0x1e4db9);}if(!this[_0x264c2e(0x939,0xeb3)]||!this['isAdded'])return this;(_0x567199=this[_0x264c2e(0x1166,_0x3c6d99._0x3e88c2)])!==null&&_0x567199!==void 0x0&&_0x567199[_0x264c2e(_0x3c6d99._0x36fad2,0x11a6)]&&this['editing']['disable']();function _0x45ee96(_0x44dd4a,_0x579c4c){return _0x2b6441(_0x44dd4a,_0x579c4c-_0x1bfa59._0x34e6f9);}if(!this[_0x45ee96(0xdb2,0x94a)])return;this['style'][_0x264c2e(0x389,_0x3c6d99._0x38c799)]&&this['_updateDistanceDisplayConditionByEdit'](),this[_0x264c2e(_0x3c6d99._0x550799,_0x3c6d99._0x5555cc)]&&this[_0x264c2e(0x13de,0x1dfc)](),this[_0x264c2e(0x1297,_0x3c6d99._0x4936e0)]&&(this['_map']['closeSmallTooltip'](),this['_map']['mouseEvent'][_0x264c2e(0x59d,0xcff)]=null,this['_map']['mouseEvent'][_0x264c2e(0x537,_0x3c6d99._0x379bef)]=!![]),this[_0x264c2e(0x939,_0x3c6d99._0x5b48f4)]=![];}}class BasePrimitive extends BaseGraphic{get[_0x2b6441(-0x4db,0x58e)](){return this['_primitive'];}get['czmObjectEx'](){const _0x493768={_0x34ee0b:0x291,_0x23d1fa:0x409,_0x241615:0x1da,_0x248f39:0x399};function _0x45c1a7(_0x3b8670,_0x108d93){return _0x2b6441(_0x3b8670,_0x108d93-0x2a0);}function _0x38229f(_0x1015d5,_0x3961a3){return _0x306755(_0x3961a3,_0x1015d5- -0x408);}const _0x1d3251=[];return this['_primitive_label']&&_0x1d3251[_0x38229f(_0x493768._0x34ee0b,0xbc1)](this['_primitive_label']),this[_0x45c1a7(-_0x493768._0x23d1fa,_0x493768._0x241615)]&&_0x1d3251[_0x45c1a7(-_0x493768._0x248f39,0x398)](this['_primitive_outline']),_0x1d3251;}get[_0x2b6441(0x1007,0x7a8)](){const _0x5e5856={_0x328fa5:0x1333,_0xb08ef8:0xf2b},_0x3a5e2b={_0x20e8df:0x499};function _0x3cdd94(_0x2ddc30,_0x489bb1){return _0x306755(_0x2ddc30,_0x489bb1- -_0x3a5e2b._0x20e8df);}var _0x19ec6c;return(_0x19ec6c=this[_0x3cdd94(_0x5e5856._0x328fa5,_0x5e5856._0xb08ef8)])===null||_0x19ec6c===void 0x0?void 0x0:_0x19ec6c['primitiveCollection'];}get[_0x2b6441(-0x225,0x9d)](){const _0x1a9a0e={_0x4da141:0x104c,_0xf87fcb:0x14b5},_0x214d1b={_0x521c2f:0x15f};function _0x1cf725(_0x46efeb,_0x8e75de){return _0x2b6441(_0x8e75de,_0x46efeb-_0x214d1b._0x521c2f);}function _0x2b571b(_0xc4408c,_0x51ca68){return _0x2b6441(_0xc4408c,_0x51ca68-0x1e1);}if(this[_0x1cf725(0xebb,0x9b0)]){var _0x16481a;return(_0x16481a=this[_0x1cf725(0xf82,_0x1a9a0e._0x4da141)])===null||_0x16481a===void 0x0?void 0x0:_0x16481a['groundPrimitiveCollection'];}else{var _0xdccd3a;return(_0xdccd3a=this[_0x1cf725(0xf82,_0x1a9a0e._0xf87fcb)])===null||_0xdccd3a===void 0x0?void 0x0:_0xdccd3a[_0x1cf725(0x907,0xde0)];}}get[_0x2b6441(0x353,0x1b7)](){const _0x358658={_0x48b94e:0xf4};function _0x4a7001(_0x1bd530,_0x349e2d){return _0x306755(_0x1bd530,_0x349e2d- -_0x358658._0x48b94e);}return this[_0x4a7001(0xa77,0xe53)];}get[_0x2b6441(0x87e,0x3a4)](){var _0x1c7848;return(_0x1c7848=this['_primitive'])===null||_0x1c7848===void 0x0?void 0x0:_0x1c7848['ready'];}get[_0x2b6441(0x130,0x925)](){const _0x1f9944={_0x2d2eb6:0x554,_0x5d2fc5:0x9c6,_0x19fcd1:0x1246,_0x3686ba:0xac3},_0x3f3540={_0x3eefed:0x1a23,_0x2f34f4:0x6f9},_0x214e5f={_0x2dfb5c:0x289},_0x196ef1={_0x5d2a9a:0x20},_0x3994ae={_0x15b877:0x3e5};if(!this[_0xd0b694(_0x1f9944._0x2d2eb6,_0x1f9944._0x5d2fc5)]||!Cesium__namespace['defined'](this['_primitive']['ready']))return logWarn(_0x4f1bcc(_0x1f9944._0x19fcd1,0x8a6),this),Promise[_0xd0b694(0x4bf,_0x1f9944._0x3686ba)](this);function _0x4f1bcc(_0x2ae743,_0x2062cd){return _0x2b6441(_0x2ae743,_0x2062cd-_0x3994ae._0x15b877);}function _0xd0b694(_0x326cad,_0x512f58){return _0x2b6441(_0x326cad,_0x512f58-_0x196ef1._0x5d2a9a);}return this[_0x4f1bcc(0x9f0,0x789)]?Promise['resolve'](this):new Promise((_0x21f973,_0x428f41)=>{function _0x34bc59(_0x3a43c1,_0xb3d047){return _0x4f1bcc(_0x3a43c1,_0xb3d047- -0x235);}function _0x31903c(_0xaee5e1,_0x14f26c){return _0x4f1bcc(_0x14f26c,_0xaee5e1-_0x214e5f._0x2dfb5c);}const _0x3429fc=this['_map']['scene'][_0x31903c(0x1860,_0x3f3540._0x3eefed)][_0x34bc59(0x666,_0x3f3540._0x2f34f4)](()=>{this['ready']&&(_0x21f973(this),_0x3429fc());});});}get['geometryInstanceAttributes'](){const _0x2bc53a={_0x35493a:0xa26,_0x2c829d:0x1e7,_0x47a60b:0x3bc,_0x585a44:0x144e,_0x3b29b7:0x11c2},_0x8cd127={_0x178c77:0x521};function _0x335d3e(_0x8b35a1,_0x34b82f){return _0x2b6441(_0x8b35a1,_0x34b82f-0x482);}function _0x1ba455(_0x3ce579,_0x410e78){return _0x306755(_0x410e78,_0x3ce579- -_0x8cd127._0x178c77);}if(this[_0x1ba455(_0x2bc53a._0x35493a,0x3fd)])return this[_0x1ba455(0x144e,0xc9e)](this['id']);else{if(this[_0x335d3e(_0x2bc53a._0x2c829d,_0x2bc53a._0x47a60b)])return this[_0x1ba455(_0x2bc53a._0x585a44,_0x2bc53a._0x3b29b7)](this['id'],this['_primitive_outline']);}return null;}get[_0x2b6441(0x1462,0xc79)](){const _0xdb0868={_0x391e8a:0xb95,_0x153673:0x163c};var _0x30665c;function _0x5c185a(_0x1c6acd,_0x4e89bf){return _0x2b6441(_0x1c6acd,_0x4e89bf-0x27c);}return(_0x30665c=this['primitive'])===null||_0x30665c===void 0x0||(_0x30665c=_0x30665c['appearance'])===null||_0x30665c===void 0x0||(_0x30665c=_0x30665c[_0x5c185a(_0xdb0868._0x391e8a,_0xdb0868._0x153673)])===null||_0x30665c===void 0x0?void 0x0:_0x30665c['uniforms'];}get['label'](){const _0x23e710={_0x2cf6c3:0x140d,_0x92ee3a:0x1493},_0x49b9c1={_0x20ae7a:0xf7};function _0x75953f(_0x3110c8,_0x5229dd){return _0x306755(_0x5229dd,_0x3110c8- -_0x49b9c1._0x20ae7a);}function _0x140220(_0x16b3db,_0x2a8614){return _0x2b6441(_0x16b3db,_0x2a8614-0x3f5);}return this['_primitive_label']?this[_0x75953f(_0x23e710._0x2cf6c3,_0x23e710._0x92ee3a)]:this['style'][_0x140220(0xc22,0x6bf)];}get[_0x2b6441(0x39a,0xcf7)](){return this['_enabledEdit'];}get['editing'](){const _0x3e9e9e={_0x14b87b:0x1674},_0x1f1ea9={_0x3eb356:0x57d};function _0x22de75(_0x487069,_0xa28649){return _0x2b6441(_0xa28649,_0x487069-_0x1f1ea9._0x3eb356);}var _0x243db8;function _0x374296(_0x2e04a5,_0x417f3a){return _0x2b6441(_0x417f3a,_0x2e04a5-0x2a7);}return(_0x243db8=this[_0x22de75(0x151e,0xad5)])===null||_0x243db8===void 0x0?void 0x0:_0x243db8[_0x22de75(_0x3e9e9e._0x14b87b,0x1bf6)];}get['offsetHeight'](){return this['style']['offsetHeight'];}set['offsetHeight'](_0x5b3122){this['style']['offsetHeight']=_0x5b3122,this['setOffsetHeight'](_0x5b3122);}get['zIndex'](){const _0x5d5ae3={_0x34bc4e:0x13a5},_0x1a34b1={_0x27dcc6:0x523};function _0x167caf(_0xfda5da,_0x447949){return _0x2b6441(_0xfda5da,_0x447949-_0x1a34b1._0x27dcc6);}return this['style'][_0x167caf(_0x5d5ae3._0x34bc4e,0xb99)];}set['zIndex'](_0x3cb05c){const _0x560059={_0xbe7cd:0x240,_0x318804:0x21,_0x5a5f7b:0x908};function _0x37d96e(_0x1da132,_0x1a167f){return _0x2b6441(_0x1a167f,_0x1da132- -0x75);}this[_0x37d96e(_0x560059._0xbe7cd,_0x560059._0x318804)][_0x311faf(_0x560059._0x5a5f7b,0x7a9)]=_0x3cb05c;if(_0x3cb05c==null)return;function _0x311faf(_0x504f4f,_0x266878){return _0x2b6441(_0x504f4f,_0x266878-0x133);}setTimeout(()=>{this['_setZIndex'](_0x3cb05c);},0x64);}['_setZIndex'](_0x169fd6){const _0x170e0f={_0x35167f:0xe64,_0x107075:0xc66,_0x3f9ff2:0xfe1,_0x8e7156:0x8fa};function _0x33dfd0(_0xaf15c7,_0x585437){return _0x2b6441(_0xaf15c7,_0x585437-0x40c);}if(!this['isAdded'])return;function _0xd22fea(_0x1f6e19,_0x124649){return _0x306755(_0x124649,_0x1f6e19- -0xe3);}this[_0xd22fea(_0x170e0f._0x35167f,0xdb9)][_0xd22fea(0xb34,0x139)]=_0x169fd6;const _0x52e444=this[_0xd22fea(_0x170e0f._0x107075,_0x170e0f._0x3f9ff2)];_0x52e444['raiseToTop'](this['_primitive']);for(let _0xdfb8b3=_0x52e444['length']-0x1;_0xdfb8b3>=0x0;_0xdfb8b3--){const _0x4e936e=_0x52e444[_0x33dfd0(_0x170e0f._0x8e7156,0xaf8)](_0xdfb8b3);if(_0x4e936e===this['_primitive'])continue;Cesium__namespace['defined'](_0x4e936e['zIndex'])&&_0x169fd6<_0x4e936e['zIndex']&&this['primitiveCollection']['lower'](this['_primitive']);}}['toTop'](){const _0x46cd03={_0x14eb50:0x13ee};function _0x220504(_0x17d127,_0x2d08c7){return _0x306755(_0x17d127,_0x2d08c7- -0x318);}const _0x56987a=this['primitiveCollection'];if(_0x56987a)return _0x56987a[_0x220504(0x1518,_0x46cd03._0x14eb50)](this['_primitive']);}['toBottom'](){const _0x401edb={_0x883d78:0x49c},_0x4a9b0d=this['primitiveCollection'];function _0x1f2fec(_0x4dbc92,_0x1df0ef){return _0x2b6441(_0x4dbc92,_0x1df0ef-_0x401edb._0x883d78);}if(_0x4a9b0d)return _0x4a9b0d[_0x1f2fec(0x1760,0x1560)](this['_primitive']);}['_isColorMaterial'](_0x152793,_0x2c8c74){const _0x514a07={_0x3f0aea:0x149};function _0x2ae733(_0x3fb10f,_0x1174dd){return _0x306755(_0x1174dd,_0x3fb10f-_0x514a07._0x3f0aea);}var _0x4d4419;const _0x4fc08a=_0x152793['materialType']||(_0x2c8c74===null||_0x2c8c74===void 0x0?void 0x0:_0x2c8c74['materialType'])||(_0x2c8c74===null||_0x2c8c74===void 0x0||(_0x4d4419=_0x2c8c74[_0x19e4d3(0x1694,0x1a06)])===null||_0x4d4419===void 0x0?void 0x0:_0x4d4419[_0x2ae733(0x17ac,0xfe9)]);function _0x19e4d3(_0x469062,_0x96c336){return _0x306755(_0x96c336,_0x469062- -0x2cd);}return Cesium__namespace['defined'](_0x4fc08a)&&_0x4fc08a!==Color$2?![]:!![];}[_0x2b6441(0x454,0x3fd)](_0x501151){const _0x52c82c={_0xa82109:0x790,_0x2b5ad2:0x2c7,_0xa2e87f:0xeba,_0x58aabf:0xf9b,_0x114dab:0x5d6,_0x579b21:0xa4,_0x29d6ed:0x16de,_0x5d94d8:0xa0c,_0x2d2a6e:0x14d9,_0x4b1795:0x13e6,_0x34c5a1:0xeb,_0x1bca8e:0x3e2,_0x54cc7e:0x8aa,_0x5b92bf:0x6cd,_0x1b3680:0x926,_0x6bc167:0x13c2,_0x1cec37:0x4f2,_0x46d4f7:0x163e};if(!this['show'])return;if(!_0x501151['material']&&!_0x501151[_0x4c6a56(_0x52c82c._0xa82109,0xce6)]){if(_0x501151['color']||_0x501151['randomColor'])_0x501151[_0x275d84(0xb5a,0xbd4)]=Color$2;else _0x501151[_0x4c6a56(_0x52c82c._0x2b5ad2,0x2bc)]&&(_0x501151['materialType']=Image$1);}function _0x275d84(_0x4a8477,_0x3417d9){return _0x2b6441(_0x4a8477,_0x3417d9-0x5f5);}const _0x273eea=this['_conversionStyle'](_0x501151);_0x273eea['_isColorMaterial']=this['_isColorMaterial'](_0x501151,_0x273eea);this[_0x275d84(_0x52c82c._0xa2e87f,_0x52c82c._0x58aabf)]&&(this['_primitive'][_0x275d84(_0x52c82c._0x114dab,0xee9)]?this[_0x275d84(_0x52c82c._0x579b21,0x692)]['remove'](this['_primitive']):this['primitiveCollection']['remove'](this[_0x275d84(0x1293,0xf9b)]));(_0x501151[_0x4c6a56(0x11fc,_0x52c82c._0x29d6ed)]??!![])&&(this[_0x4c6a56(0xb57,_0x52c82c._0x5d94d8)]=this[_0x4c6a56(_0x52c82c._0x2d2a6e,0xab0)](_0x273eea));this['_primitive_outline']&&(this['_primitive_outline']['_clampToGround']?this['groundPrimitiveCollection'][_0x4c6a56(0x5cc,0xe5)](this['_primitive_outline']):this[_0x4c6a56(0x959,_0x52c82c._0x4b1795)]['remove'](this['_primitive_outline']),delete this[_0x4c6a56(_0x52c82c._0x34c5a1,0x64f)]);if(_0x501151['outline']){const _0x30a980=this['_getOutlineStyle'](_0x501151);_0x30a980['width']>0x1&&(this[_0x275d84(_0x52c82c._0x1bca8e,_0x52c82c._0x54cc7e)]['diffHeight']??0x0)===0x0||_0x30a980['clampToGround']?this[_0x4c6a56(_0x52c82c._0x34c5a1,_0x52c82c._0x5b92bf)]=this['_createPolylineOutline'](_0x30a980):(_0x273eea['outlineStyle']=_0x30a980,this[_0x4c6a56(_0x52c82c._0x34c5a1,-_0x52c82c._0x1b3680)]=this['_createPrimitive'](_0x273eea,!![]),!this['_primitive_outline']&&(this['_primitive_outline']=this['_createPolylineOutline'](_0x30a980)));}function _0x4c6a56(_0x22b3da,_0x2b1dc8){return _0x2b6441(_0x2b1dc8,_0x22b3da-0x1b1);}Cesium__namespace[_0x4c6a56(_0x52c82c._0x6bc167,0x1794)](this[_0x275d84(0xa8a,_0x52c82c._0x54cc7e)]['zIndex'])&&(this[_0x4c6a56(0x827,0x1017)]=this['style']['zIndex']),_0x501151[_0x275d84(0xb63,0x8bf)]&&this[_0x275d84(0xef5,0xd14)](_0x501151[_0x4c6a56(0x47b,-_0x52c82c._0x1cec37)]),this['_availability']&&this[_0x275d84(_0x52c82c._0x46d4f7,0x19e4)](this['_availability']);}['_updateAvailabilityHook'](_0x499e8f){const _0x584b9a={_0x1bb9e2:0xab0,_0x268a6a:0xbfa,_0xdf880d:0xad3,_0x5e0ab3:0xe79,_0x525bed:0xdb5},_0x587afe={_0x4fe330:0xbb7,_0x22a159:0x12aa,_0x5a5c11:0x5fc,_0x557fb1:0x129},_0x99304a={_0x596ad4:0x49d},_0x426f57={_0x494c33:0xb4},_0x56e4c7=this['czmObject']||this['_primitive_outline'];this['_editing_entity']&&(this['_editing_entity'][_0x3a43b8(_0x584b9a._0x1bb9e2,_0x584b9a._0x268a6a)]=_0x499e8f);function _0x3a43b8(_0x266666,_0x47c838){return _0x306755(_0x47c838,_0x266666-_0x426f57._0x494c33);}if(!this[_0x2e208d(_0x584b9a._0xdf880d,_0x584b9a._0x5e0ab3)]||!_0x56e4c7||_0x56e4c7['__initUpdateForAvailability'])return;let _0x5922aa=!![];function _0x2e208d(_0x16082b,_0x3ebe43){return _0x2b6441(_0x3ebe43,_0x16082b-0x5ed);}const _0x114d95=this,_0x289b06=_0x56e4c7['update'];if(!_0x289b06){logInfo('BasePrimitive:该对象没有update方法,availability处理无效',_0x56e4c7);return;}_0x56e4c7[_0x2e208d(0xa4b,_0x584b9a._0x525bed)]=function(_0x49b88d){function _0x17f2bd(_0x250fab,_0x176194){return _0x2e208d(_0x250fab- -_0x99304a._0x596ad4,_0x176194);}function _0x25fca9(_0x53b57b,_0x263e6f){return _0x3a43b8(_0x53b57b- -0x6f8,_0x263e6f);}const _0x104cd8=_0x114d95['getAvailabilityShow'](_0x49b88d[_0x25fca9(0xbe1,_0x587afe._0x4fe330)]);_0x104cd8&&_0x289b06[_0x17f2bd(0xffe,0xf75)](this)(_0x49b88d);if(_0x5922aa!==_0x104cd8){const _0x5d7dc6=_0x114d95[_0x17f2bd(0x9df,_0x587afe._0x22a159)];_0x5d7dc6&&_0x5d7dc6[_0x25fca9(_0x587afe._0x5a5c11,-_0x587afe._0x557fb1)](_0x30ec5c=>{if(_0x30ec5c===_0x56e4c7)return;_0x30ec5c['show']=_0x104cd8;}),_0x5922aa=_0x104cd8;}},_0x56e4c7['__initUpdateForAvailability']=!![];}[_0x306755(0x140e,0xe2b)](){const _0x203194={_0x5710bd:0xa31,_0x329f3c:0xa08,_0x389e0d:0x795};!this['_noDestroy']&&(this[_0x1b4cc6(0x10cd,0x122b)](),this['stopEditing']());function _0x1b4cc6(_0x6db7d3,_0x274a18){return _0x2b6441(_0x6db7d3,_0x274a18-0x47c);}this[_0x1b4cc6(_0x203194._0x5710bd,0xe22)]&&(this['_primitive'][_0x4d4f3e(_0x203194._0x329f3c,0x1350)]?this['groundPrimitiveCollection']['remove'](this['_primitive']):this['primitiveCollection']['remove'](this[_0x4d4f3e(0xaba,0x114d)]),delete this['_primitive']);function _0x4d4f3e(_0x24f008,_0x26ba5a){return _0x2b6441(_0x26ba5a,_0x24f008-0x114);}this[_0x4d4f3e(0x4e,_0x203194._0x389e0d)]&&(this['_primitive_outline']['_clampToGround']?this['groundPrimitiveCollection']['remove'](this['_primitive_outline']):this['primitiveCollection']['remove'](this[_0x4d4f3e(0x4e,0x675)]),delete this[_0x4d4f3e(0x4e,-0x95b)]),this[_0x4d4f3e(0x797,0xe43)]();}[_0x2b6441(-0x750,0xa2)](_0xd2ff28){const _0x51a0b3={_0x528c56:0xb6f,_0x74523e:0x82b,_0x221569:0x830};function _0x954e1d(_0x34384b,_0x5c8029){return _0x306755(_0x34384b,_0x5c8029- -0x600);}if(!this['isAdded'])return;this[_0x954e1d(0x8c8,0x52f)]&&(this[_0x5c6f63(0x677,_0x51a0b3._0x528c56)]=!![],this[_0x954e1d(0xd46,_0x51a0b3._0x74523e)](),this['_noDestroy']=![]);function _0x5c6f63(_0x4aa798,_0x255ab1){return _0x2b6441(_0x4aa798,_0x255ab1-0x3b);}_0xd2ff28&&(this['_addedHook'](this[_0x5c6f63(-0x60b,0x2f0)]),this['czmObject']&&this['bindPickId'](this['czmObject']),this[_0x5c6f63(0x779,0x8ca)]&&this[_0x954e1d(-0x15d,_0x51a0b3._0x221569)][_0x5c6f63(0x5a5,0x6da)](_0x1dc65c=>{function _0x591b37(_0x5e7771,_0x5cd4fc){return _0x954e1d(_0x5cd4fc,_0x5e7771-0x32c);}this[_0x591b37(0x1168,0xbc1)](_0x1dc65c);}));}[_0x2b6441(0x1fe,0xa04)](_0x2e05ea){return _0x2e05ea;}[_0x306755(0x1e94,0x18c9)](_0x37e07c,_0x49d801){const _0x513418={_0x335d93:0xb58,_0x3983f8:0x1801,_0x2f6a90:0x1959,_0x3af146:0x1cd8,_0x84ae4d:0x1562,_0x4e6923:0x124b,_0x4c380f:0x1b88,_0x457c79:0x16b3,_0x378f9b:0x30c,_0x34e4a4:0xc22,_0x117978:0x7cd,_0x3fda47:0xe40,_0x3b5cf9:0x42f,_0x17558a:0x856,_0x1cdb83:0x15e5,_0x1cb836:0x932,_0x35effd:0x72f,_0x2afcca:0xd7e,_0x2bf019:0x6eb},_0x9bb3c4={_0x44f635:0x417};(!_0x37e07c['vertexFormat']&&_0x37e07c['_isColorMaterial']||_0x49d801)&&(_0x37e07c['vertexFormat']=this['defaultVertexFormat']||Cesium__namespace['PerInstanceColorAppearance'][_0x3a7e10(_0x513418._0x335d93,0x1019)]);const _0x3c8ae7={...this['options'],'geometryInstances':this['_createGeometryInstance'](_0x37e07c,_0x49d801),'show':this[_0x3a7e10(0x117c,0xcb1)],'shadows':_0x37e07c['shadows']};if(!_0x3c8ae7['geometryInstances'])return;delete _0x3c8ae7['style'],delete _0x3c8ae7['attr'];function _0x3a7e10(_0x52ffc2,_0x505bfb){return _0x306755(_0x505bfb,_0x52ffc2- -_0x9bb3c4._0x44f635);}delete _0x3c8ae7[_0x20cbb8(_0x513418._0x3983f8,_0x513418._0x2f6a90)];!_0x3c8ae7[_0x3a7e10(0x14bd,_0x513418._0x3af146)]&&(_0x3c8ae7[_0x20cbb8(_0x513418._0x84ae4d,0x1924)]=this['_createAppearance'](_0x37e07c,_0x3c8ae7,_0x49d801));if(_0x37e07c['depthFail']&&!_0x3c8ae7['depthFailAppearance']){var _0x152df9;const _0x48587e={..._0x37e07c};_0x48587e['material']=_0x37e07c['depthFailMaterial']??_0x37e07c['material'];const _0x359d03=_0x48587e;_0x359d03['_isColorMaterial']=!(_0x359d03!==null&&_0x359d03!==void 0x0&&(_0x152df9=_0x359d03[_0x20cbb8(_0x513418._0x4e6923,0x19b1)])!==null&&_0x152df9!==void 0x0&&_0x152df9[_0x20cbb8(_0x513418._0x4c380f,_0x513418._0x457c79)]&&_0x359d03['material']['type']!==Color$2),_0x3c8ae7['depthFailAppearance']=this['_createAppearance'](_0x359d03,_0x3c8ae7,_0x49d801);}let _0xbf0179;if(this['style'][_0x20cbb8(_0x513418._0x378f9b,0x50c)]&&this[_0x3a7e10(0xee6,_0x513418._0x34e4a4)]!==![])_0x3c8ae7['classificationType']=_0x37e07c['classificationType'],this['type']==='polylineP'||this['type']==='polylineC'?_0xbf0179=this['groundPrimitiveCollection']['add'](new Cesium__namespace['GroundPolylinePrimitive'](_0x3c8ae7)):_0xbf0179=this[_0x3a7e10(0x227,_0x513418._0x117978)]['add'](new Cesium__namespace[(_0x3a7e10(0x14a8,_0x513418._0x3fda47))](_0x3c8ae7)),_0xbf0179['_clampToGround']=!![];else _0x37e07c[_0x3a7e10(_0x513418._0x3b5cf9,_0x513418._0x17558a)]?(_0x3c8ae7['classificationType']=_0x37e07c['classificationType']||Cesium__namespace['ClassificationType']['CESIUM_3D_TILE'],_0xbf0179=this['primitiveCollection']['add'](new Cesium__namespace[(_0x20cbb8(0x1efb,_0x513418._0x1cdb83))](_0x3c8ae7))):_0xbf0179=this[_0x3a7e10(_0x513418._0x1cb836,_0x513418._0x35effd)][_0x20cbb8(0x78c,_0x513418._0x2afcca)](new Cesium__namespace['Primitive'](_0x3c8ae7));function _0x20cbb8(_0x59b0e9,_0x5e97b4){return _0x2b6441(_0x59b0e9,_0x5e97b4-0x5f1);}return this[_0x3a7e10(0x1025,_0x513418._0x2bf019)](_0xbf0179),_0xbf0179;}[_0x306755(0x14dd,0x1440)](_0x28210a,_0x546154){const _0x2cae76={_0x670dfd:0x143a,_0x1e0928:0x1553,_0x4b5635:0x177f,_0x174352:0x1c30,_0x4552bd:0xe01,_0x24b77e:0x762,_0xc27df2:0x97e,_0x5512d3:0x1516,_0x2a8e6b:0x1558};function _0x52db5b(_0x1e095f,_0x59e429){return _0x2b6441(_0x59e429,_0x1e095f-0x474);}!_0x546154&&(_0x546154=this['options']['attributes']||{});_0x546154[_0x7470d3(_0x2cae76._0x670dfd,_0x2cae76._0x1e0928)]=new Cesium__namespace['ShowGeometryInstanceAttribute'](this['show']);_0x28210a['color']&&(_0x546154['color']=Cesium__namespace[_0x7470d3(_0x2cae76._0x4b5635,_0x2cae76._0x174352)]['fromColor'](_0x28210a['color']));_0x28210a[_0x7470d3(0x762,_0x2cae76._0x4552bd)]&&(_0x546154[_0x7470d3(_0x2cae76._0x24b77e,0x1116)]=_0x28210a['distanceDisplayCondition']);(Cesium__namespace['defined'](_0x28210a['offsetAttribute'])||Cesium__namespace['defined'](_0x28210a['offsetHeight']))&&(_0x546154[_0x52db5b(0x12d0,0x137b)]=Cesium__namespace[_0x52db5b(_0x2cae76._0xc27df2,0xc10)][_0x52db5b(0xe59,0x1265)](this[_0x52db5b(0xf23,_0x2cae76._0x5512d3)](_0x28210a['offsetHeight'],_0x28210a['center'])));if(_0x28210a['depthFail']){const _0x4de6f5=this[_0x7470d3(_0x2cae76._0x2a8e6b,0x13e6)](_0x28210a);_0x546154['depthFailColor']=Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](_0x28210a[_0x7470d3(0x166f,0x167d)]||_0x4de6f5);}function _0x7470d3(_0x189514,_0x5e3417){return _0x2b6441(_0x5e3417,_0x189514-0x448);}return _0x546154;}['_getOffsetByHeight'](_0x44491d,_0x4701b1){const _0x18604f={_0x1009ff:0x13fe,_0x4b3f60:0x16bd,_0x40cdb9:0x474,_0x3a08:0x15d8,_0x5af02c:0x799},_0x2ea420={_0x55010d:0x319};function _0x2ffaa5(_0x561749,_0x482dbf){return _0x2b6441(_0x561749,_0x482dbf-0x545);}if(!_0x44491d)return Cesium__namespace['Cartesian3'][_0x4cf982(0x2e8,-0x159)];function _0x4cf982(_0x16200f,_0x4936a9){return _0x2b6441(_0x4936a9,_0x16200f-_0x2ea420._0x55010d);}return!_0x4701b1&&(!this[_0x2ffaa5(_0x18604f._0x1009ff,_0x18604f._0x4b3f60)]&&(this[_0x4cf982(0x1491,0xef2)]=this[_0x4cf982(_0x18604f._0x40cdb9,-0x141)]),_0x4701b1=this['_center_offsetHeight']),_0x4701b1?Cesium__namespace['Cartesian3']['multiplyByScalar'](this[_0x2ffaa5(0x1acc,0x147e)][_0x2ffaa5(0x11a8,_0x18604f._0x3a08)](_0x4701b1),_0x44491d,new Cesium__namespace[(_0x4cf982(_0x18604f._0x5af02c,0xd22))]()):Cesium__namespace['Cartesian3']['ZERO'];}['setOffsetHeight'](_0x33de77){const _0x452539={_0x1dfa33:0xea6,_0x47dbde:0x1427,_0x2543ba:0xc3b,_0x4bf0d4:0xddb,_0xef9b7e:0x17b1,_0x440497:0x123f};if(!Cesium__namespace['defined'](this[_0x4e247a(-0xf6,0x2b1)][_0x5d9a00(-0x45d,0x342)])){const _0x3bcc8c={};_0x3bcc8c['offsetAttribute']=Cesium__namespace['GeometryOffsetAttribute'][_0x5d9a00(_0x452539._0x1dfa33,_0x452539._0x47dbde)],this['setStyle'](_0x3bcc8c);}!Cesium__namespace['defined'](_0x33de77)&&(_0x33de77=this['style'][_0x5d9a00(_0x452539._0x2543ba,0xab1)]||0x0);const _0x423798=this['_getOffsetByHeight'](_0x33de77);function _0x4e247a(_0x1a1162,_0x19eefc){return _0x306755(_0x1a1162,_0x19eefc- -0x5a5);}const _0x1e32ba=this[_0x5d9a00(_0x452539._0x4bf0d4,_0x452539._0xef9b7e)](this['id']);function _0x5d9a00(_0x5405e4,_0x3f3cad){return _0x306755(_0x5405e4,_0x3f3cad- -0x1be);}_0x1e32ba&&(_0x1e32ba[_0x5d9a00(0x1c57,_0x452539._0x440497)]=Cesium__namespace['OffsetGeometryInstanceAttribute']['toValue'](_0x423798,_0x1e32ba['offset']));if(this['_primitive_outline']){const _0x4600ad=this['getGeometryInstanceAttributes'](this['id'],this['_primitive_outline']);_0x4600ad&&(_0x4600ad['offset']=Cesium__namespace['OffsetGeometryInstanceAttribute']['toValue'](_0x423798,_0x4600ad['offset']));}}[_0x2b6441(0x15c7,0x1110)](_0x46861e,_0x395649=Cesium__namespace[_0x306755(0xcc0,0xf34)][_0x306755(0x290,0xa5d)]['withAlpha'](0.5)){const _0x57c2ea={_0x331f5f:0x94f,_0x3085e1:0x10a8,_0x47d881:0x1184,_0x251fdd:0xf32,_0x2fe3cf:0xdc1},_0x141a0e={_0x3b337f:0xee};function _0xd8419f(_0x2d6a0a,_0x5bc6b9){return _0x2b6441(_0x5bc6b9,_0x2d6a0a-0x41);}var _0x11e947,_0x315dae;function _0xe3bbe7(_0x302f6c,_0x426e4a){return _0x306755(_0x302f6c,_0x426e4a- -_0x141a0e._0x3b337f);}return((_0x11e947=_0x46861e['material'])===null||_0x11e947===void 0x0||(_0x11e947=_0x11e947['uniforms'])===null||_0x11e947===void 0x0?void 0x0:_0x11e947[_0xd8419f(_0x57c2ea._0x331f5f,_0x57c2ea._0x3085e1)])||((_0x315dae=_0x46861e['material'])===null||_0x315dae===void 0x0||(_0x315dae=_0x315dae['options'])===null||_0x315dae===void 0x0?void 0x0:_0x315dae[_0xd8419f(_0x57c2ea._0x331f5f,_0x57c2ea._0x47d881)])||_0x46861e[_0xe3bbe7(_0x57c2ea._0x251fdd,_0x57c2ea._0x2fe3cf)]||_0x395649;}[_0x306755(0xdda,0x12f7)](_0x45ea85,_0x2ee05c,_0x1d9efd){const _0x2c2442={_0x398f69:0x639,_0x4252ad:0x1494,_0x3ea1a7:0x1b2c,_0x359d01:0x1b6b,_0x4e7a48:0x1792,_0x437bb2:0x16b3,_0xcbede2:0xc21,_0x2af403:0x152b,_0x3c9a00:0x17c9},_0x53e893={_0x346cdf:0x115};function _0x3f5699(_0x597ce4,_0x3c6f81){return _0x306755(_0x3c6f81,_0x597ce4- -_0x53e893._0x346cdf);}function _0x5839e9(_0x3e8ef9,_0x52d80b){return _0x306755(_0x3e8ef9,_0x52d80b- -0x3b3);}if(_0x45ea85['material']&&!_0x45ea85['_isColorMaterial']&&!_0x1d9efd){const _0x1fe734={..._0x45ea85};return new Cesium__namespace[(_0x5839e9(_0x2c2442._0x398f69,0x355))](_0x1fe734);}else{if(_0x2ee05c[_0x3f5699(0x1232,0x1017)]instanceof Cesium__namespace['GeometryInstance']){let _0x189085;_0x1d9efd&&_0x45ea85['outlineStyle']?_0x189085=getColorByStyle(_0x45ea85['outlineStyle'],Cesium__namespace[_0x3f5699(0xe1f,_0x2c2442._0x4252ad)]['WHITE']):_0x189085=this[_0x5839e9(_0x2c2442._0x3ea1a7,0x12fe)](_0x45ea85),_0x45ea85[_0x3f5699(0x17c9,_0x2c2442._0x359d01)]=_0x189085['alpha']!==0x1,_0x2ee05c['geometryInstances']['attributes']=_0x2ee05c['geometryInstances']['attributes']||{},_0x2ee05c['geometryInstances']['attributes'][_0x5839e9(0xd05,0xafc)]=Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](_0x189085),_0x45ea85[_0x5839e9(_0x2c2442._0x4e7a48,0xcf0)]&&(_0x2ee05c[_0x5839e9(0xcbc,0xf94)]['attributes'][_0x3f5699(0x16b3,0x20fb)]=Cesium__namespace[_0x3f5699(0x17c3,0x1a40)][_0x5839e9(-0x4d6,0x569)](_0x45ea85[_0x3f5699(_0x2c2442._0x437bb2,_0x2c2442._0xcbede2)]||_0x189085));}Cesium__namespace['defined'](this[_0x5839e9(0x184a,_0x2c2442._0x2af403)])&&(_0x45ea85['translucent']=this[_0x3f5699(_0x2c2442._0x3c9a00,0x1028)]);const _0xcd5cd9={..._0x45ea85};return new Cesium__namespace['PerInstanceColorAppearance'](_0xcd5cd9);}}[_0x306755(0x1372,0xce7)](_0x5b8680,_0x3ec291){function _0x10a9fc(_0x15b940,_0x45f4b4){return _0x306755(_0x15b940,_0x45f4b4-0xa6);}return this['options'][_0x10a9fc(0x1e02,0x13ed)];}[_0x306755(0xc6b,0xedf)](_0x3e6673){const _0x321a9b={_0x41e077:0x15dc,_0x14ce2f:0x278,_0x11576e:0x1495,_0x3f27b5:0x7e0,_0x178176:0x194,_0x2a14e4:0x4a6,_0x9952b:0x12ab,_0x4b3b9e:0x1848,_0x119266:0x1981,_0x40bac4:0x73c},_0x15f770={_0x1e6072:0x18};function _0xc34a1b(_0x3a3ea7,_0x11c974){return _0x2b6441(_0x3a3ea7,_0x11c974-0x8e);}function _0x1510ec(_0x29ef94,_0x4e8893){return _0x306755(_0x4e8893,_0x29ef94- -_0x15f770._0x1e6072);}if(!_0x3e6673)return;if(this['_editing_entity']&&this[_0x1510ec(0x164b,_0x321a9b._0x41e077)][_0x1510ec(0x4e9,_0x321a9b._0x14ce2f)](this[_0xc34a1b(0x184f,0x102f)]['type']))this[_0x1510ec(0x152a,_0x321a9b._0x11576e)]['setStyle'](_0x3e6673);else(this['czmObject']||this['czmObjectEx'])&&(this[_0xc34a1b(_0x321a9b._0x3f27b5,0x32f)](this['style'],_0x3e6673),this['_updateExOpacity']&&Cesium__namespace['defined'](_0x3e6673[_0xc34a1b(0x19c5,0x12ab)])&&this[_0xc34a1b(-_0x321a9b._0x178176,_0x321a9b._0x2a14e4)](_0x3e6673[_0xc34a1b(0x107f,_0x321a9b._0x9952b)]),(Cesium__namespace['defined'](_0x3e6673[_0xc34a1b(0x1119,0xf5c)])||Cesium__namespace[_0x1510ec(0x179a,_0x321a9b._0x4b3b9e)](_0x3e6673[_0x1510ec(0xe6d,0x1410)]))&&(this[_0x1510ec(_0x321a9b._0x119266,0x1be7)]=this[_0xc34a1b(0xcaf,_0x321a9b._0x40bac4)]),this['_updateStyleHook'](this['style'],_0x3e6673));}['_updateStyleHook'](_0x59d29f,_0x50ad01){const _0x541834={_0x59cc51:0x1032,_0x1b16bc:0x109a,_0x196069:0x147,_0x89d43a:0x68a,_0x1a9635:0x1479,_0x2df9cc:0xcee,_0x34395d:0x68e,_0x2375bd:0x3ee,_0x34cc53:0x86,_0x5c6f7e:0x128,_0x45198b:0x253};function _0x26459f(_0xbee831,_0x4b623f){return _0x2b6441(_0xbee831,_0x4b623f-0x40);}var _0x181226,_0x551784;if(Cesium__namespace['defined'](_0x50ad01[_0x26459f(0xb66,0x70e)])&&Object['keys'](_0x50ad01)[_0x26459f(_0x541834._0x59cc51,_0x541834._0x1b16bc)]===0x1){this['offsetHeight']=_0x50ad01['offsetHeight'];return;}if(Cesium__namespace['defined'](_0x50ad01[_0x514d56(-_0x541834._0x196069,-0x550)])||Cesium__namespace[_0x26459f(0x16f2,0x1251)](_0x50ad01['addHeight'])||Cesium__namespace['defined'](_0x50ad01['setHeight'])||Cesium__namespace['defined']((_0x181226=_0x50ad01['outlineStyle'])===null||_0x181226===void 0x0?void 0x0:_0x181226[_0x26459f(0xe51,_0x541834._0x89d43a)])||Cesium__namespace[_0x514d56(0x11af,_0x541834._0x1a9635)]((_0x551784=_0x50ad01[_0x26459f(0x9ea,_0x541834._0x2df9cc)])===null||_0x551784===void 0x0?void 0x0:_0x551784['addHeight'])){this['redraw'](_0x59d29f);return;}function _0x514d56(_0x63819e,_0x220095){return _0x2b6441(_0x220095,_0x63819e- -0x62);}if(_0x59d29f['materialType']===Color$2&&(Cesium__namespace['defined'](_0x50ad01['color'])||Cesium__namespace[_0x26459f(0x1657,0x1251)](_0x50ad01[_0x26459f(-0x322,0x5e8)]))){const _0x1f5d6e=getColorByStyle(_0x59d29f);if(_0x1f5d6e){const _0x2005f5=this[_0x514d56(_0x541834._0x34395d,0x33c)](this['_primitive'],_0x1f5d6e,_0x59d29f);if(_0x2005f5){if(Cesium__namespace['defined'](_0x50ad01['outline'])){if(this['_primitive_outline']){const _0x57ab42=this['_getOutlineStyle'](_0x59d29f);if(!_0x57ab42['materialType']){if(_0x57ab42['show']){const _0xe86772=this['_updatePrimitiveForColorMaterial'](this['_primitive_outline'],getCesiumColor(_0x57ab42[_0x514d56(0x8ac,0xc30)]),_0x59d29f);if(_0xe86772)return;}else{this['_primitive_outline']&&(this['_primitive_outline']['_clampToGround']?this['groundPrimitiveCollection']['remove'](this[_0x26459f(-_0x541834._0x2375bd,-_0x541834._0x34cc53)]):this['primitiveCollection']['remove'](this[_0x26459f(-0x1c8,-0x86)]),delete this[_0x514d56(-_0x541834._0x5c6f7e,_0x541834._0x45198b)]);return;}}}}else return;}}}this['redraw'](_0x59d29f);}[_0x306755(0xf50,0xc91)](_0x3097ea,_0x4ae272,_0x4ce216){const _0x21f72c={_0x5494d8:0x17fb,_0x5020c9:0xfef,_0x58cb20:0xf88,_0x56e969:0x155b,_0x4df376:0x1678,_0x21328e:0x110b,_0x1ff38e:0xdd6,_0x8e1a8f:0x18e7,_0x13a128:0x148c},_0x3000b1={_0x2a26f5:0x4c8},_0x328bf8={_0x30cd24:0xd9};var _0x9031a1;if(!_0x3097ea)return![];const _0x1adcbe=_0x3097ea===null||_0x3097ea===void 0x0||(_0x9031a1=_0x3097ea[_0x2e63a8(_0x21f72c._0x5494d8,0x123a)])===null||_0x9031a1===void 0x0||(_0x9031a1=_0x9031a1[_0x50102e(0x1a3a,_0x21f72c._0x5020c9)])===null||_0x9031a1===void 0x0?void 0x0:_0x9031a1['uniforms'];if(Cesium__namespace['defined'](_0x1adcbe===null||_0x1adcbe===void 0x0?void 0x0:_0x1adcbe[_0x50102e(_0x21f72c._0x58cb20,0x5bd)])&&_0x3097ea[_0x2e63a8(_0x21f72c._0x5494d8,_0x21f72c._0x56e969)]['material']['type']===Color$2)return _0x3097ea['appearance']['translucent']=_0x4ae272[_0x50102e(_0x21f72c._0x4df376,0x1527)]!==0x1,_0x1adcbe['color']=_0x4ae272,!![];function _0x50102e(_0x5c22eb,_0x2cdb70){return _0x306755(_0x2cdb70,_0x5c22eb-_0x328bf8._0x30cd24);}const _0x133705=this['getGeometryInstanceAttributes'](this['id'],_0x3097ea);function _0x2e63a8(_0xeef0e6,_0x4924ee){return _0x2b6441(_0x4924ee,_0xeef0e6-_0x3000b1._0x2a26f5);}if(_0x133705!==null&&_0x133705!==void 0x0&&_0x133705[_0x50102e(_0x21f72c._0x58cb20,_0x21f72c._0x21328e)])return _0x133705[_0x2e63a8(_0x21f72c._0x1ff38e,0x64a)]=Cesium__namespace[_0x50102e(0x19b1,0x1302)]['toValue'](_0x4ae272),_0x133705['depthFailColor']&&(_0x4ce216['depthFailColor']||_0x4ce216['depthFail'])&&(_0x133705['depthFailColor']=Cesium__namespace['ColorGeometryInstanceAttribute'][_0x2e63a8(_0x21f72c._0x8e1a8f,_0x21f72c._0x13a128)](getCesiumColor(_0x4ce216[_0x50102e(0x18a1,0x19e9)],_0x4ae272))),!![];return![];}[_0x2b6441(0xa40,0x134d)](_0x29032d){const _0xef8a8a={_0x2a6dec:0x217};this['style'][_0x4b7c41(0x1b60,0x14c4)]=_0x29032d;const _0x268649=this['_updatePrimitiveOpacity'](this[_0x4b7c41(0xf4a,0xc4d)],_0x29032d);if(_0x268649){this['_updatePrimitiveOpacity'](this['_primitive_outline'],_0x29032d),this['_updateLabelOpacity'](_0x29032d),this[_0x2d2b96(0x647,0x7a2)]&&this['_updateExOpacity'](_0x29032d);return;}function _0x4b7c41(_0x4bd81f,_0x48e861){return _0x2b6441(_0x4bd81f,_0x48e861-0x2a7);}function _0x2d2b96(_0x3dffc7,_0x1f09ee){return _0x306755(_0x3dffc7,_0x1f09ee- -_0xef8a8a._0x2a6dec);}super[_0x2d2b96(0x177d,0x16d7)](_0x29032d);}['_updatePrimitiveOpacity'](_0x9678e4,_0x2ca0df){const _0xd57e8d={_0x522d9f:0x116c,_0x570a90:0x14d3,_0x1c2402:0x1710,_0x4fdc10:0x1389,_0x1b1914:0x15b5,_0x404acc:0x1d48,_0x25e61f:0x19d1,_0x5a93db:0x1068,_0x2f6728:0x14f1,_0x29897a:0x11ea,_0x2cb288:0x1658,_0x39bf14:0x5b5,_0x5774bd:0x14f1,_0x166b26:0x1a25,_0x516a2e:0x17ea,_0x4e3fff:0x1037,_0x39d4ea:0x51d,_0x518255:0x5b5,_0x33d0a1:0x15c2,_0x2fc59d:0x49b,_0x353a4d:0x48,_0x368d60:0x947,_0x1e2b60:0x13e3,_0x11c6d1:0x33e,_0x57719e:0x23f,_0x3bf35b:0x1260,_0x108aa8:0x219b};function _0x5982ca(_0x5359e4,_0xa29419){return _0x2b6441(_0x5359e4,_0xa29419-0x4f3);}if(!_0x9678e4)return![];function _0x312097(_0xcc8842,_0x16ed31){return _0x2b6441(_0xcc8842,_0x16ed31-0x39);}try{var _0x588ea4;const _0x1f086b=_0x9678e4===null||_0x9678e4===void 0x0||(_0x588ea4=_0x9678e4['appearance'])===null||_0x588ea4===void 0x0||(_0x588ea4=_0x588ea4['material'])===null||_0x588ea4===void 0x0?void 0x0:_0x588ea4[_0x5982ca(0x76d,_0xd57e8d._0x522d9f)];if(_0x1f086b){if(Cesium__namespace['defined'](_0x1f086b[_0x5982ca(_0xd57e8d._0x570a90,_0xd57e8d._0x1c2402)]))return _0x9678e4['appearance']['translucent']=_0x2ca0df!==0x1,_0x1f086b['globalAlpha']=_0x2ca0df,!![];if((_0x9678e4[_0x312097(0xbe0,0x136c)]['material'][_0x5982ca(_0xd57e8d._0x4fdc10,_0xd57e8d._0x1b1914)]===Color$2||_0x9678e4[_0x5982ca(_0xd57e8d._0x404acc,0x1826)]['material']['type']===Image$1)&&Cesium__namespace['defined'](_0x1f086b[_0x312097(0xb05,0x947)]))return!Cesium__namespace[_0x5982ca(_0xd57e8d._0x25e61f,0x1704)](_0x9678e4['_uniforms_color_alpha'])&&(_0x9678e4[_0x5982ca(0x90b,0x74f)]=_0x1f086b[_0x312097(_0xd57e8d._0x5a93db,0x947)]['alpha']),_0x1f086b['color'][_0x312097(0x74f,0x1037)]=_0x9678e4['_uniforms_color_alpha']*_0x2ca0df,_0x9678e4['appearance']['translucent']=_0x1f086b[_0x312097(0x110b,0x947)][_0x5982ca(0x1682,_0xd57e8d._0x2f6728)]!==0x1,!![];if(_0x9678e4[_0x5982ca(_0xd57e8d._0x29897a,0x1826)]['material'][_0x5982ca(_0xd57e8d._0x2cb288,0x15b5)]===Water$1)return!Cesium__namespace['defined'](_0x9678e4[_0x5982ca(0xf4d,_0xd57e8d._0x39bf14)])&&(_0x9678e4['_uniforms_baseWaterColor_alpha']=_0x1f086b['baseWaterColor'][_0x5982ca(0x193b,_0xd57e8d._0x5774bd)],_0x9678e4['_uniforms_blendColor_alpha']=_0x1f086b[_0x5982ca(_0xd57e8d._0x166b26,_0xd57e8d._0x516a2e)][_0x312097(0x5ab,_0xd57e8d._0x4e3fff)]),this['globalAlpha']!==0x1&&(_0x1f086b['baseWaterColor']['alpha']=_0x9678e4[_0x5982ca(_0xd57e8d._0x39d4ea,_0xd57e8d._0x518255)]*_0x2ca0df,_0x1f086b[_0x5982ca(_0xd57e8d._0x33d0a1,0x17ea)]['alpha']=_0x9678e4[_0x312097(0xaa9,0xcaf)]*_0x2ca0df),!![];}const _0x2c6e11=this['getGeometryInstanceAttributes'](this['id'],_0x9678e4);if(_0x2c6e11!==null&&_0x2c6e11!==void 0x0&&_0x2c6e11['color']){!Cesium__namespace['defined'](_0x9678e4[_0x5982ca(-_0xd57e8d._0x2fc59d,0x502)])&&(_0x9678e4[_0x312097(-0x868,_0xd57e8d._0x353a4d)]=_0x2c6e11['color'][0x3]/0xff);const _0x3aee40=_0x9678e4['_attributes_color_alpha']*_0x2ca0df;return _0x2c6e11['color']=new Uint8Array([_0x2c6e11['color'][0x0],_0x2c6e11['color'][0x1],_0x2c6e11[_0x312097(0x83c,_0xd57e8d._0x368d60)][0x2],Cesium__namespace['Color'][_0x5982ca(0x13b9,_0xd57e8d._0x1e2b60)](_0x3aee40)]),_0x9678e4[_0x5982ca(0x1248,0x1826)][_0x312097(0x1854,0x1376)]=_0x3aee40!==0x1,_0x2c6e11['depthFailColor']&&(!Cesium__namespace['defined'](_0x9678e4['_attributes_depthFailColor_alpha'])&&(_0x9678e4[_0x312097(-_0xd57e8d._0x11c6d1,_0xd57e8d._0x57719e)]=_0x2c6e11['depthFailColor'][0x3]/0xff),_0x2c6e11['depthFailColor']=new Uint8Array([_0x2c6e11[_0x312097(0xaee,_0xd57e8d._0x3bf35b)][0x0],_0x2c6e11[_0x312097(0x110c,0x1260)][0x1],_0x2c6e11[_0x5982ca(_0xd57e8d._0x108aa8,0x171a)][0x2],Cesium__namespace[_0x312097(0x898,0x9cc)]['floatToByte'](_0x9678e4['_attributes_depthFailColor_alpha']*_0x2ca0df)])),!![];}}catch(_0xee2f54){}return![];}['getGeometryInstanceAttributes'](_0x17e0bd,_0x1912eb){const _0x20b262={_0x1aa259:0x1a26,_0x309ee5:0x11d1,_0x25538b:0x4b4,_0x1c461a:0xf3f},_0x3a523c={_0x193477:0x599};_0x1912eb=_0x1912eb||this[_0x5a4514(0xffe,0xb28)];if(!_0x1912eb||!_0x1912eb[_0x5a4514(_0x20b262._0x1aa259,_0x20b262._0x309ee5)])return null;function _0x293f13(_0x339a65,_0x4a6f82){return _0x2b6441(_0x339a65,_0x4a6f82-_0x3a523c._0x193477);}if(this['style'][_0x293f13(0x225,_0x20b262._0x25538b)]&&!_0x1912eb[_0x293f13(0xa93,_0x20b262._0x1c461a)])return null;function _0x5a4514(_0x4c0c79,_0x37bd12){return _0x2b6441(_0x37bd12,_0x4c0c79-0x658);}return _0x1912eb['getGeometryInstanceAttributes'](_0x17e0bd);}['_updateLabelOpacity'](_0x48eae6){function _0x5ec76e(_0x5aae3d,_0x328152){return _0x306755(_0x5aae3d,_0x328152- -0x555);}this['_primitive_label']&&this['_primitive_label'][_0x5ec76e(0x11db,0x103e)]&&LabelStyleConver['setOpacity'](this['_primitive_label'],_0x48eae6);}['redraw'](_0x1210c1){const _0x216760={_0xf5e4f9:0x5,_0x272818:0x410,_0x2265f7:0x3bc,_0x60e58b:0x3cd,_0x13a2f0:0xcea},_0x5af0d1={_0x2dc6dd:0x146};this['isAdded']&&this[_0x58c901(-_0x216760._0xf5e4f9,-0x89f)]()&&(this[_0x1ca84c(0xbcc,_0x216760._0x272818)]=![],this['_editing_entity']&&(this['_editing_entity']['enabledEvent']=![]),this['_noDestroy']=!![],this['_removedHook'](),this['_noDestroy']=![],this['_addedHook'](_0x1210c1||this[_0x58c901(_0x216760._0x2265f7,-_0x216760._0x60e58b)]),this['czmObject']&&this['bindPickId'](this[_0x1ca84c(0x1446,0x9e9)]),this[_0x1ca84c(0x16bd,_0x216760._0x13a2f0)]&&this[_0x58c901(0x996,0xad0)]['forEach'](_0x4a63a4=>{this['bindPickId'](_0x4a63a4);}),this['_editing_entity']&&(this['_editing_entity']['enabledEvent']=!![]),this[_0x58c901(0xbc,0x943)]=!![]);function _0x1ca84c(_0x464343,_0x49df98){return _0x306755(_0x464343,_0x49df98- -_0x5af0d1._0x2dc6dd);}function _0x58c901(_0x332aa6,_0x45e9d5){return _0x306755(_0x45e9d5,_0x332aa6- -0x49a);}return this;}[_0x2b6441(0x61c,0x3ca)](){const _0x36f230={_0x44f483:0x5b2},_0x1998af={_0x7e9e8c:0x577};function _0x196cdf(_0x1857f9,_0x138b8e){return _0x2b6441(_0x1857f9,_0x138b8e-_0x1998af._0x7e9e8c);}this[_0x196cdf(_0x36f230._0x44f483,0x46f)]();}['_updateLabelStyleHook'](_0x123297,_0x788a2c){const _0x5c0847={_0x474046:0xc73,_0x4544d8:0x923,_0x355b62:0x1078,_0x41124d:0x492,_0x4c50e1:0x580,_0x3fcbb6:0xfca,_0x5450a8:0x1a15,_0x54f761:0x8e7,_0x149971:0x42e};function _0x100eb9(_0xa82308,_0x56fac8){return _0x2b6441(_0x56fac8,_0xa82308-0x6e6);}function _0x1e410d(_0x58c076,_0x5d8212){return _0x2b6441(_0x5d8212,_0x58c076-0x1c8);}if(_0x788a2c!==null&&_0x788a2c!==void 0x0&&_0x788a2c['label']){if(this[_0x1e410d(0x112b,0xd0c)]){var _0x272e0e,_0x51e3e3,_0x259807,_0x1e7e78;LabelStyleConver[_0x1e410d(_0x5c0847._0x474046,0x1ba)](_0x123297[_0x100eb9(0x9b0,0xac8)],this[_0x1e410d(0x112b,0x1b3b)],this[_0x1e410d(_0x5c0847._0x4544d8,0x4b5)]),(Cesium__namespace[_0x1e410d(0x13d9,_0x5c0847._0x355b62)](_0x788a2c===null||_0x788a2c===void 0x0||(_0x272e0e=_0x788a2c[_0x1e410d(_0x5c0847._0x41124d,0x756)])===null||_0x272e0e===void 0x0?void 0x0:_0x272e0e['position'])||Cesium__namespace['defined'](_0x788a2c===null||_0x788a2c===void 0x0||(_0x51e3e3=_0x788a2c[_0x100eb9(0x9b0,_0x5c0847._0x4c50e1)])===null||_0x51e3e3===void 0x0?void 0x0:_0x51e3e3['height'])||Cesium__namespace['defined'](_0x788a2c===null||_0x788a2c===void 0x0||(_0x259807=_0x788a2c['label'])===null||_0x259807===void 0x0?void 0x0:_0x259807[_0x100eb9(_0x5c0847._0x3fcbb6,0x10b5)])||Cesium__namespace['defined'](_0x788a2c===null||_0x788a2c===void 0x0||(_0x1e7e78=_0x788a2c[_0x1e410d(0x492,0x282)])===null||_0x1e7e78===void 0x0?void 0x0:_0x1e7e78['setHeight']))&&this[_0x100eb9(_0x5c0847._0x5450a8,0x1e37)]();}else this[_0x1e410d(_0x5c0847._0x54f761,0xc88)](_0x123297[_0x100eb9(0x9b0,_0x5c0847._0x149971)]);}else Cesium__namespace['defined'](_0x788a2c===null||_0x788a2c===void 0x0?void 0x0:_0x788a2c['globalAlpha'])&&this[_0x100eb9(0x17e6,0x1159)](_0x788a2c[_0x100eb9(0x1903,0x212f)]);}[_0x2b6441(0x956,0x71f)](_0x3c2f99){const _0x533417={_0x178c8b:0x1530,_0x2399c3:0x498,_0x18fb5b:0x218f,_0x628a98:0xce9,_0x2074fa:0x1143,_0x4d5fc1:0x156f,_0x1eece8:0x168a,_0x1486e4:0xc0a,_0x4b3ccd:0x11d3,_0x3b7cdb:0xce8,_0x225a97:0xa6c};this['_removeLabel']();!_0x3c2f99&&(_0x3c2f99=this['style']['label']);if(!_0x3c2f99||!_0x3c2f99[_0x478b12(0x1a04,_0x533417._0x178c8b)]||_0x3c2f99['show']===![])return;function _0x28c94c(_0xae8438,_0x481cce){return _0x2b6441(_0xae8438,_0x481cce-0x57d);}Cesium__namespace['defined'](this['style']['clampToGround'])&&!Cesium__namespace['defined'](_0x3c2f99[_0x28c94c(-0x151,_0x533417._0x2399c3)])&&!Cesium__namespace[_0x28c94c(_0x533417._0x18fb5b,0x178e)](_0x3c2f99[_0x478b12(_0x533417._0x628a98,0x4c5)])&&(_0x3c2f99['clampToGround']=this['style']['clampToGround']);const _0x35ccec=LabelStyleConver[_0x478b12(_0x533417._0x2074fa,0x129b)](_0x3c2f99,{},this[_0x28c94c(0xbe7,0xcd8)]);_0x35ccec[_0x28c94c(0x1abe,_0x533417._0x4d5fc1)]=this[_0x478b12(_0x533417._0x1eece8,0x1d5d)],_0x35ccec[_0x28c94c(_0x533417._0x1486e4,_0x533417._0x4b3ccd)]=this['_getLablePosition'](),this['_primitive_label']=this['_layer'][_0x478b12(_0x533417._0x3b7cdb,_0x533417._0x225a97)]['add'](_0x35ccec);function _0x478b12(_0x5ad6c5,_0x39df29){return _0x306755(_0x39df29,_0x5ad6c5-0xf7);}return this['bindPickId'](this['_primitive_label']),this['_bindLabelAvailability'](this['_primitive_label']),this['_primitive_label'];}['_removeLabel'](){this['_primitive_label']&&(this['_layer']['labelCollection']['remove'](this['_primitive_label']),delete this['_primitive_label']);}['_updateLabelPosition'](_0x1133f7){const _0x4b6712={_0x11c286:0x1618,_0x5a0fc7:0x14cc,_0x29b369:0x132a,_0x39adf6:0xd72},_0x580025={_0x5a764a:0x38};function _0x3258ed(_0xb896ca,_0x213ed6){return _0x306755(_0xb896ca,_0x213ed6- -_0x580025._0x5a764a);}function _0x114221(_0x2edc30,_0x3e4c75){return _0x2b6441(_0x2edc30,_0x3e4c75-0x2c1);}this[_0x3258ed(_0x4b6712._0x11c286,_0x4b6712._0x5a0fc7)]&&!this['_primitive_label']['isDestroyed']()&&(this[_0x114221(0x17a3,0x1224)]['position']=this[_0x3258ed(_0x4b6712._0x29b369,_0x4b6712._0x39adf6)](_0x1133f7));}['_getLablePosition'](_0x26c381){const _0x5f4f39={_0x37f979:0xa2,_0x11873b:0x9c1,_0x13ab5b:0x1126,_0xfcb302:0xb08,_0xda460a:0x16ff,_0x22a1ec:0x1441,_0x27d8fd:0x346},_0x2e3cfe={_0x3941bf:0x6c9},_0x3725d9={_0x20f56f:0xd1},_0x5e434c=this['style'][_0xe3efbb(-_0x5f4f39._0x37f979,0x79a)]||{};function _0xe3efbb(_0x334f42,_0x5f101e){return _0x306755(_0x334f42,_0x5f101e- -_0x3725d9._0x20f56f);}if(_0x5e434c[_0xe3efbb(_0x5f4f39._0x11873b,_0x5f4f39._0x13ab5b)]&&!_0x26c381){if(_0x5e434c[_0xe3efbb(0x1a64,0x1126)]==='center')_0x26c381=this['centerOfMass'];else{if(isString(_0x5e434c['position'])){const _0x3b1cab=template(_0x5e434c['position'],this[_0xe3efbb(_0x5f4f39._0xfcb302,0xc2b)],!![]);_0x3b1cab&&(_0x26c381=LngLatPoint['parse'](_0x3b1cab)['toCartesian']());}else _0x26c381=LngLatPoint[_0xe3efbb(0x1449,_0x5f4f39._0xda460a)](_0x5e434c['position'])['toCartesian']();}}!_0x26c381&&(_0x26c381=this[_0x25284a(0x824,0x211)]);if(!_0x26c381)return new Cesium__namespace[(_0x25284a(0xb49,_0x5f4f39._0x22a1ec))]();let _0x2c3897=_0x5e434c['height'];function _0x25284a(_0x2fb70e,_0x5d2359){return _0x2b6441(_0x5d2359,_0x2fb70e-_0x2e3cfe._0x3941bf);}return!Cesium__namespace['defined'](_0x2c3897)&&Cesium__namespace['defined'](this['style']['height'])&&this[_0x25284a(0x178b,0x1270)]!=='billboardP'&&(_0x2c3897=this['style']['height']),Cesium__namespace['defined'](_0x2c3897)&&(_0x26c381=setPositionsHeight(_0x26c381,_0x2c3897)),Cesium__namespace['defined'](this[_0xe3efbb(-_0x5f4f39._0x27d8fd,0x785)]['diffHeight'])&&(_0x26c381=addPositionsHeight(_0x26c381,this['style']['diffHeight'])),_0x26c381=this['_updatePositionsForHeight'](_0x26c381,_0x5e434c),_0x26c381;}['_getOutlineStyle'](_0x45676c,_0x4e1d3c){const _0x3c63a2={_0x59812c:0x120c,_0xdbd48:0x1b03,_0x13f1ab:0x1544,_0x18bf93:0xa07,_0x224b45:0xd6f},_0x59d40f={..._0x45676c};function _0x57dd4e(_0x1f37f0,_0xe896ae){return _0x306755(_0x1f37f0,_0xe896ae-0x137);}function _0x520e14(_0x4d56da,_0x324a30){return _0x306755(_0x324a30,_0x4d56da- -0x426);}const _0x17ca6f=_0x59d40f;delete _0x17ca6f['material'],delete _0x17ca6f[_0x57dd4e(0x8e9,0xcb7)],delete _0x17ca6f[_0x520e14(0xe93,_0x3c63a2._0x59812c)],delete _0x17ca6f[_0x520e14(0x1544,_0x3c63a2._0xdbd48)],delete _0x17ca6f['outlineColor'],delete _0x17ca6f['outlineOpacity'],delete _0x17ca6f['outlineWidth'],delete _0x17ca6f['outlineStyle'];const _0x1602ba={..._0x17ca6f,'show':_0x45676c[_0x520e14(_0x3c63a2._0x13f1ab,0xe6a)]??![],'color':_0x45676c[_0x520e14(0x975,0xa1c)]??Cesium__namespace['Color'][_0x57dd4e(_0x3c63a2._0x18bf93,0xb94)],'opacity':_0x45676c['outlineOpacity'],'width':_0x45676c['outlineWidth']??0x1,..._0x45676c['outlineStyle']};let _0x16ff61=_0x1602ba;return!_0x16ff61['show']&&_0x4e1d3c&&(_0x16ff61={..._0x16ff61,..._0x4e1d3c}),!Cesium__namespace['defined'](_0x16ff61['arcType'])&&_0x16ff61['clampToGround']&&(_0x16ff61['arcType']=Cesium__namespace[_0x520e14(0xa4a,0x58a)][_0x57dd4e(_0x3c63a2._0x224b45,0x13e7)]),_0x16ff61;}['_getPolylineOutlinePositions'](){function _0x331f06(_0x161bed,_0x321b08){return _0x2b6441(_0x161bed,_0x321b08- -0x24);}return[this[_0x331f06(0xc82,0x13d4)]];}[_0x2b6441(0x14dd,0x1141)](_0x1bd029){const _0x1d458e={_0x147ca7:0x1c5f,_0x568e00:0x74,_0x5ceb92:0x4d3,_0x129aab:0xdd2,_0x3b1d6a:0x6a6,_0x304464:0x1459,_0x16e0b3:0x95d,_0x4ec1e9:0xd54,_0x29a9e7:0x12bf,_0xeae692:0x1174,_0x33551c:0x4aa,_0x5a3907:0x106b,_0xb8e750:0x32e,_0x1ecd0c:0x1995,_0x4064e6:0x851,_0x2173a6:0x806,_0x1bbda9:0x45,_0x4c45f5:0x732},_0x52e823={_0x57a168:0x54c},_0x444d73=PolylineStyleConver['toCesiumVal'](_0x1bd029),_0x245035=_0x444d73['clampToGround']?Cesium__namespace[_0x3d6b1e(_0x1d458e._0x147ca7,0x13cf)]:Cesium__namespace[_0x3d6b1e(-0x29f,-_0x1d458e._0x568e00)],_0x2e2486=this['show'],_0x2c5fd4=[];function _0x3d6b1e(_0x13c0db,_0x5bbade){return _0x306755(_0x13c0db,_0x5bbade- -0x528);}const _0x199c46=this[_0x3d6b1e(0x21f,_0x1d458e._0x5ceb92)]();for(let _0x266f71=0x0,_0x272757=_0x199c46[_0x54aa10(0x10af,0x1499)];_0x266f71<_0x272757;_0x266f71++){let _0x2814cd=_0x199c46[_0x266f71];if(!_0x2814cd||_0x2814cd['length']===0x0)continue;Cesium__namespace[_0x54aa10(0x1266,_0x1d458e._0x129aab)](_0x1bd029['height'])&&(_0x2814cd=setPositionsHeight(_0x2814cd,_0x1bd029[_0x54aa10(_0x1d458e._0x3b1d6a,0x9f)]));Cesium__namespace['defined'](_0x1bd029['setHeight'])&&(_0x2814cd=setPositionsHeight(_0x2814cd,_0x1bd029['setHeight']));Cesium__namespace[_0x3d6b1e(_0x1d458e._0x304464,0x128a)](_0x1bd029['addHeight'])&&(_0x2814cd=addPositionsHeight(_0x2814cd,_0x1bd029[_0x3d6b1e(0xa21,_0x1d458e._0x16e0b3)]));_0x2814cd[_0x3d6b1e(_0x1d458e._0x4ec1e9,0x10d3)]>0x0&&(_0x2814cd=_0x2814cd['concat'](_0x2814cd[0x0]));const _0x1813b4={..._0x444d73},_0x2d0067=_0x1813b4;_0x2d0067['positions']=_0x2814cd;(!_0x2d0067[_0x3d6b1e(0x14d7,0x1439)]||_0x2d0067['material']['type']===_0x54aa10(0x9e8,_0x1d458e._0x29a9e7))&&(_0x2d0067['vertexFormat']=Cesium__namespace[_0x3d6b1e(0x194a,_0x1d458e._0xeae692)]['VERTEX_FORMAT']);const _0x54a020=this['_getColorByColorMaterial'](_0x2d0067),_0x4bd238=new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x245035(_0x2d0067),'attributes':this['_createGeometryInstanceAttributes'](_0x2d0067,{'color':Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](_0x54a020)})});_0x2c5fd4[_0x54aa10(0x14d,_0x1d458e._0x33551c)](_0x4bd238);}if(_0x2c5fd4['length']===0x0)return;const _0x184573={...this['options']};_0x184573[_0x3d6b1e(0x1500,0xe1f)]=_0x2c5fd4,_0x184573[_0x3d6b1e(0xa9e,_0x1d458e._0x5a3907)]=_0x2e2486,_0x184573['shadows']=_0x444d73['shadows'];const _0x552cde=_0x184573;delete _0x552cde[_0x3d6b1e(0xcc0,_0x1d458e._0xb8e750)],delete _0x552cde[_0x54aa10(0x7b0,0xc4c)];if(_0x444d73['material']&&!_0x444d73['classification']){const _0x584e68={..._0x444d73};_0x552cde[_0x54aa10(0x1388,_0x1d458e._0x1ecd0c)]=new Cesium__namespace[(_0x3d6b1e(-0x63b,0x16f))](_0x584e68);}else{const _0xe68d0d={..._0x444d73};_0x552cde['appearance']=new Cesium__namespace[(_0x3d6b1e(0x179f,0x1174))](_0xe68d0d);}let _0x34a100;this['style'][_0x3d6b1e(-0x86f,-0x6c)]?(_0x552cde[_0x54aa10(0x851,-0xdd)]=_0x444d73[_0x54aa10(_0x1d458e._0x4064e6,0xc0)],_0x34a100=this['groundPrimitiveCollection'][_0x3d6b1e(0x3e5,_0x1d458e._0x2173a6)](new Cesium__namespace['GroundPolylinePrimitive'](_0x552cde)),_0x34a100[_0x54aa10(0x949,-_0x1d458e._0x1bbda9)]=!![]):_0x34a100=this[_0x3d6b1e(0x12e1,0x821)][_0x54aa10(0x7e2,_0x1d458e._0x4c45f5)](new Cesium__namespace['Primitive'](_0x552cde));this[_0x54aa10(0xef0,0x79c)](_0x34a100);function _0x54aa10(_0x548046,_0x3f6a80){return _0x306755(_0x3f6a80,_0x548046- -_0x52e823._0x57a168);}return _0x34a100;}['openHighlight'](_0x412b30,_0x4577ed=!![]){const _0x2f7ad8={_0x6210c3:0x1193,_0x9a819:0x1e05,_0x3775dc:0x1406,_0xfde171:0x1477,_0x5a3a18:0x4c8,_0x489fec:0x440},_0xb05ac2={_0x45dd44:0x38e};var _0x199d4c;_0x4577ed&&(this[_0x1e927e(0x143b,_0x2f7ad8._0x6210c3)]['closeHighlight'](),this['_map']['last_highlighGraphic']=this);this[_0x1e927e(0x152a,_0x2f7ad8._0x9a819)]=!![];function _0x1e927e(_0x330e70,_0x4faf7b){return _0x306755(_0x4faf7b,_0x330e70- -_0xb05ac2._0x45dd44);}const _0x307847=_0x412b30||this['_highlightOptions']||((_0x199d4c=this['_layer'])===null||_0x199d4c===void 0x0?void 0x0:_0x199d4c[_0x1e927e(_0x2f7ad8._0x3775dc,_0x2f7ad8._0xfde171)]);function _0x4e57fa(_0x5efad9,_0x551f8f){return _0x306755(_0x551f8f,_0x5efad9-0x9c);}if(_0x307847){const _0x433d25=[];for(const _0xa8d7ae in _0x307847){if(_0xa8d7ae==='type')continue;!Cesium__namespace['defined'](this[_0x1e927e(_0x2f7ad8._0x5a3a18,_0x2f7ad8._0x489fec)][_0xa8d7ae])&&_0x433d25['push'](_0xa8d7ae);}_0x433d25[_0x1e927e(0x126d,0xa91)]>0x0&&logWarn(_0x1e927e(0x5e6,0x641),_0x433d25);const _0x37943b=merge(clone(this['style']),_0x307847);_0x37943b['show']=this['show'],this[_0x4e57fa(0x10f9,0x1230)](_0x37943b,_0x307847),this['_updateLabelStyleHook'](_0x37943b,_0x307847),this['fire'](EventType['highlightOpen'],{},!![]);}}['closeHighlight'](){const _0x43c03b={_0x33967d:0x1241,_0x20b2d8:0xd0b,_0x4c9a59:0x504,_0x313be0:0x529,_0x3378ad:0x34d,_0x5499ac:0x19fa,_0x22a07f:0x1f14};if(!this['isAdded']||!this[_0x2b2b55(0x17d2,_0x43c03b._0x33967d)]||!this['_highlight_state'])return;delete this['_highlight_state'],this[_0x2b2b55(0xadf,_0x43c03b._0x20b2d8)](this['style'],this[_0x2b2b55(0xea4,_0x43c03b._0x4c9a59)]),this['_updateLabelStyleHook'](this[_0x2b2b55(0x21,0x504)],this[_0x16cab5(_0x43c03b._0x313be0,-_0x43c03b._0x3378ad)]);function _0x2b2b55(_0x44443c,_0x422d3a){return _0x2b6441(_0x44443c,_0x422d3a-0x24f);}function _0x16cab5(_0x5a9d22,_0x5d23b1){return _0x2b6441(_0x5d23b1,_0x5a9d22-0x274);}this[_0x2b2b55(_0x43c03b._0x5499ac,0x1477)]['_clearLastHighlight'](),this['fire'](EventType[_0x2b2b55(_0x43c03b._0x22a07f,0x14ce)],{},!![]);}['_replaceFragmentShaderSourceByStyle'](_0x5a6060){const _0x177c40={_0x16b635:0x5d9},_0x1cdf6e={_0x1c6994:0x164};this['style']['flat']&&(_0x5a6060='#define\x20FLAT\x0a'+_0x5a6060);function _0x2e4dd4(_0x4ec542,_0x404082){return _0x2b6441(_0x404082,_0x4ec542-_0x1cdf6e._0x1c6994);}return this['style']['faceForward']&&(_0x5a6060=_0x2e4dd4(0x236,_0x177c40._0x16b635)+_0x5a6060),_0x5a6060;}[_0x306755(0x1456,0x1384)](_0x3370f5){const _0x4c3f74={_0x5da517:0xbbb,_0x16c8fc:0x15e4,_0x1ba446:0xca0,_0x21dbad:0x15cc,_0x4a2a2f:0x11a2},_0x38074f={_0x4ad8a3:0xfa4,_0x9d67c:0x12e4,_0x28fa8f:0x1047,_0x149b5c:0x1798,_0x11aa8f:0x26d},_0x2a1f26={_0x4656f2:0x29b};if(!this['_getDrawEntityClass']){logInfo('对象不支持标绘',this);return;}if(this['_enabledDraw'])return this;function _0x5dbd32(_0x782ac1,_0x3b7445){return _0x306755(_0x782ac1,_0x3b7445- -_0x2a1f26._0x4656f2);}this['_enabledDraw']=!![],this['show']=![];_0x3370f5&&this[_0x5dbd32(0x16ae,0xf46)](_0x3370f5);if(!this['_map'])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this[_0x5dbd32(_0x4c3f74._0x5da517,0x11ff)]();const _0x300fbd=getDrawOptions(this['options']),_0x39d266={..._0x300fbd,'style':this['_getDrawEntityStyle'](),'availability':this['availability'],'private':!![]};this['_editing_entity']=this['_getDrawEntityClass'](_0x39d266,!![]),this[_0x5dbd32(_0x4c3f74._0x16c8fc,0x12a7)]['parent']=this,this[_0x5dbd32(0xe5d,0x12a7)]['once'](EventType['drawCreated'],_0x5594b3=>{this['stopDraw']();}),this['_editing_entity']['on']([EventType[_0x5dbd32(0x789,0xb10)],EventType['drawMouseMove'],EventType['drawRemovePoint']],_0x4548c7=>{function _0x45e092(_0x3061b2,_0x3d851d){return _0x5c0321(_0x3061b2,_0x3d851d- -0x699);}function _0x1b8481(_0x3f66be,_0x316a4f){return _0x5c0321(_0x316a4f,_0x3f66be- -0x6a6);}_0x4548c7[_0x45e092(_0x38074f._0x4ad8a3,_0x38074f._0x9d67c)]=this,_0x4548c7['drawType']=this[_0x1b8481(_0x38074f._0x28fa8f,_0x38074f._0x149b5c)],this[_0x1b8481(_0x38074f._0x11aa8f,0xa9e)](_0x4548c7['type'],_0x4548c7,!![]);});function _0x5c0321(_0x1d610f,_0x499789){return _0x306755(_0x1d610f,_0x499789-0x8a);}this[_0x5c0321(_0x4c3f74._0x1ba446,_0x4c3f74._0x21dbad)]['startDraw'](this['_layer']),this[_0x5dbd32(-0x2b2,0x5ee)](EventType[_0x5dbd32(0x1be3,_0x4c3f74._0x4a2a2f)],{'drawType':this[_0x5c0321(0x1ac5,0x16ed)]},!![]);}['stopDraw'](){const _0x293954={_0x4d26f9:0x1628,_0x4a99d5:0xc37,_0x29a6dc:0x1163,_0x2392d5:0x1113,_0x43ebe3:0x846,_0x463648:0x550,_0x46fb25:0x926,_0x39a9e7:0x2b2,_0x59d97b:0xe64},_0x3bed11={_0x7093f2:0x1e0};var _0x4b9e87,_0x3b6e04;if(!this[_0x56666d(0x1057,0x1606)]||!this['_editing_entity'])return this;function _0x56666d(_0x2bd729,_0x3b9068){return _0x306755(_0x3b9068,_0x2bd729- -_0x3bed11._0x7093f2);}this[_0x30d707(_0x293954._0x4d26f9,0xf00)]=![];if(!this[_0x30d707(_0x293954._0x4a99d5,0x120b)]['stopDraw']()){this[_0x30d707(0x1852,_0x293954._0x29a6dc)](),this[_0x30d707(_0x293954._0x2392d5,0x685)](!![]);return;}this[_0x30d707(0x1a04,0x13e7)](),this['fire'](EventType['drawCreated'],{'drawType':this['type'],'positions':this['positions']},!![]);function _0x30d707(_0xfb882d,_0x8dde49){return _0x2b6441(_0xfb882d,_0x8dde49-0x26a);}(_0x4b9e87=this['options'])!==null&&_0x4b9e87!==void 0x0&&_0x4b9e87['success']&&this[_0x56666d(0xa7d,_0x293954._0x43ebe3)]['success'](this),(_0x3b6e04=this[_0x30d707(_0x293954._0x463648,_0x293954._0x46fb25)])!==null&&_0x3b6e04!==void 0x0&&(_0x3b6e04=_0x3b6e04[_0x30d707(-_0x293954._0x39a9e7,0x390)])!==null&&_0x3b6e04!==void 0x0&&_0x3b6e04[_0x30d707(0x363,0xd0d)]&&this['options']['_promise'][_0x56666d(_0x293954._0x59d97b,0xdfc)](this);}['endDraw'](){const _0x4f7873={_0x3d434e:0x102};function _0x56e6bf(_0x354297,_0x586ac9){return _0x306755(_0x586ac9,_0x354297-_0x4f7873._0x3d434e);}if(!this[_0x56e6bf(0x1339,0x15f7)]||!this['_editing_entity'])return![];if(!this['_editing_entity']['endDraw']())return![];return!![];}['_getDrawEntityStyle'](){const _0x4a72cb={_0x627e36:0x31a,_0x5d4be9:0xbb7},_0x42faf5={_0xf7d5f0:0x362},_0x137290={_0x108817:0x57f},_0x36912c=this['_style2JsonBase'](this[_0x250e7f(_0x4a72cb._0x627e36,0x834)],![]);delete _0x36912c[_0x250e7f(_0x4a72cb._0x5d4be9,0xc8c)];function _0x250e7f(_0x56b25a,_0x53f936){return _0x2b6441(_0x56b25a,_0x53f936-_0x137290._0x108817);}function _0x1879d0(_0x17b89f,_0x120ae0){return _0x306755(_0x17b89f,_0x120ae0- -_0x42faf5._0xf7d5f0);}return _0x36912c;}['_getDrawPointEntityClass'](_0x323174,_0x441ec4){const _0xc51697={_0x1cb080:0x10b3};_0x323174['drawShow']=!_0x441ec4,_0x323174['style']=getEditPointStyle(undefined,_0x323174['style']);function _0x1b02ea(_0x180610,_0x37a19c){return _0x306755(_0x37a19c,_0x180610-0x9);}return create$5(_0x1b02ea(0x1872,_0xc51697._0x1cb080),_0x323174);}[_0x306755(0xdd8,0x171e)](){const _0x21e0c5={_0x1feb55:0xf93,_0x54928b:0x1206,_0x24b8b9:0x91e,_0x1cdd7e:0x1a2},_0x38e74c={_0x37241a:0x507};function _0x49d90e(_0x4ad074,_0x2379df){return _0x2b6441(_0x2379df,_0x4ad074-0x144);}const _0x557f4d=this[_0x590c4f(0x103b,0x1828)][_0x49d90e(0x6ad,0x5bc)]();function _0x590c4f(_0x3e68b2,_0x3a842e){return _0x306755(_0x3a842e,_0x3e68b2- -_0x38e74c._0x37241a);}this[_0x590c4f(_0x21e0c5._0x1feb55,0xd9b)]();if(_0x557f4d['style']&&this['type']['startsWith'](_0x557f4d[_0x49d90e(_0x21e0c5._0x54928b,0xf34)]))this[_0x49d90e(0x800,_0x21e0c5._0x24b8b9)][_0x49d90e(0x3f9,-_0x21e0c5._0x1cdd7e)]=merge(this[_0x590c4f(0x756,0x10a)]['style'],_0x557f4d['style']),this['_updateStyleBaseHook'](this['options']['style']);else this[_0x49d90e(0xa2b,0x4a2)]&&this['_updateStyleByEdit'](_0x557f4d['style'],_0x557f4d);if(_0x557f4d['position'])this['position']=_0x557f4d['position'];else _0x557f4d['positions']&&(this['positions']=_0x557f4d[_0x49d90e(0x153c,0x147c)]);this['show']=!![];}['_removeEditingEntity'](){const _0x488712={_0xab689f:0x145},_0x4f0e15={_0x2eed83:0x5ed},_0xd34347={_0x194d4c:0x2a};function _0x418dc1(_0x5de7ed,_0xc9877){return _0x2b6441(_0x5de7ed,_0xc9877-_0xd34347._0x194d4c);}function _0x3e9b29(_0x5b948d,_0x398aeb){return _0x306755(_0x398aeb,_0x5b948d- -_0x4f0e15._0x2eed83);}this['_editing_entity']&&(this[_0x418dc1(0xc60,0xfcb)][_0x3e9b29(0x3cf,-_0x488712._0xab689f)](!![]),delete this['_editing_entity']);}['startEditing'](){const _0x17763b={_0x4782db:0xe58,_0x440d31:0x35a,_0x2ce768:0x14a9,_0x3c1a19:0xe60,_0x395bdd:0x1b5c,_0x1884cc:0x586,_0x1b2d9d:0x388,_0x336e97:0x152f,_0x47410c:0x1f06,_0xd455b3:0x13df,_0x44f400:0x17d0,_0x446104:0x9e1},_0x12313e={_0x4660b0:0x58e},_0x51a9ea={_0x56c9c1:0x714,_0x2dceef:0x1176,_0xe4feb0:0x10d7,_0x34f55d:0x12ba},_0x40ce1c={_0x278552:0xda3,_0x3ed162:0x1e,_0x223193:0x96f,_0x76a013:0x104f};function _0xb449d1(_0xf613ac,_0x24c097){return _0x2b6441(_0xf613ac,_0x24c097-0x508);}if(this[_0x2e45f7(_0x17763b._0x4782db,0xaec)])return this;this['_enabledEdit']=!![];if(!this['_map'])throw new Error('编辑时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_removeEditingEntity']();const _0x407dfb=getDrawOptions(this['options']),_0x2d1a89={..._0x407dfb,'style':this['_getDrawEntityStyle'](),'availability':this[_0xb449d1(0x1131,0x963)],'private':!![]};this['position']&&isPointType(this['type'])?_0x2d1a89['position']=this['position']:_0x2d1a89['positions']=this[_0x2e45f7(0x1986,0x10ce)];this['_editing_entity']=this['_getDrawEntityClass'](_0x2d1a89,![]);this[_0xb449d1(-_0x17763b._0x440d31,0x44b)]&&this['_startEditingHook'](this[_0x2e45f7(0x152f,0x133a)]);this['_editing_entity']['parent']=this;const _0x1fb67b=this['type']['startsWith'](this[_0xb449d1(0xac8,_0x17763b._0x2ce768)]['type'])&&!this[_0x2e45f7(_0x17763b._0x3c1a19,0x442)];this['_editing_entity']['once'](EventType[_0x2e45f7(0x1853,_0x17763b._0x395bdd)],_0x16277b=>{this['stopEditing']();}),this['_editing_entity']['on'](EventType[_0x2e45f7(_0x17763b._0x1884cc,-_0x17763b._0x1b2d9d)],_0x1289e8=>{function _0x1bd03f(_0x2e45ff,_0x3789a2){return _0x2e45f7(_0x2e45ff-0x159,_0x3789a2);}function _0x1a091e(_0x38518a,_0x214014){return _0xb449d1(_0x38518a,_0x214014- -0x480);}const _0x219b8b=this[_0x1bd03f(0x1688,0x1684)]['toJSON']();if(_0x219b8b['style']&&_0x1fb67b)this['options']['style']=merge(this[_0x1bd03f(_0x40ce1c._0x278552,0xcde)]['style'],_0x219b8b['style']);else this[_0x1a091e(-_0x40ce1c._0x3ed162,_0x40ce1c._0x223193)]&&this[_0x1bd03f(0xfce,_0x40ce1c._0x76a013)](_0x219b8b['style'],_0x219b8b);}),this['_editing_entity']['on']([EventType['editAddPoint'],EventType['editMovePoint'],EventType['editRemovePoint']],_0x436e40=>{const _0x441e02={_0x45f649:0x376};function _0x1ad1fc(_0x4e82ec,_0x160463){return _0xb449d1(_0x160463,_0x4e82ec- -0x3d2);}function _0x11e487(_0x5b7251,_0x2d131b){return _0x2e45f7(_0x5b7251- -_0x441e02._0x45f649,_0x2d131b);}if(this['_editing_entity']['_position_draw'])_0x1fb67b?(this[_0x11e487(_0x51a9ea._0x56c9c1,_0x51a9ea._0x2dceef)]=LngLatPoint['parse'](this[_0x1ad1fc(_0x51a9ea._0xe4feb0,0x175d)]['_position_draw']),this['_position']=this[_0x11e487(0x11b9,0x1156)]['_position_draw']):this['position']=this[_0x1ad1fc(0x10d7,0x1707)][_0x1ad1fc(0x19d,-0x29b)];else this['_editing_entity']['_positions_draw']&&(_0x1fb67b?(this[_0x11e487(0x756,0x897)]=LngLatArray['toPoints'](this['_editing_entity']['_positions_draw']),this['_positions']=this['_editing_entity'][_0x1ad1fc(0xf16,0x176b)]):this[_0x11e487(0x1610,_0x51a9ea._0x34f55d)]=this['_editing_entity']['_positions_draw']);});!_0x1fb67b&&delete this['_editing_entity']['style'][_0xb449d1(0xf5,0x7d2)];this['_layer']['addGraphic'](this['_editing_entity']),this[_0x2e45f7(_0x17763b._0x336e97,_0x17763b._0x47410c)][_0x2e45f7(0x1636,_0x17763b._0xd455b3)]();function _0x2e45f7(_0x42a16d,_0x19aa56){return _0x2b6441(_0x19aa56,_0x42a16d-_0x12313e._0x4660b0);}_0x1fb67b?this['show']=![]:this[_0x2e45f7(0x152f,0xc2e)]['type']!==_0xb449d1(0x1177,_0x17763b._0x44f400)&&(this[_0x2e45f7(0x152f,0x13a8)][_0xb449d1(0x689,_0x17763b._0x446104)]['show']=![]);}['stopEditing'](){const _0x172694={_0x3a6393:0x11e6},_0x1b9a64={_0x3b2930:0x2b3};function _0x563e46(_0x3feb14,_0x491910){return _0x2b6441(_0x491910,_0x3feb14-_0x1b9a64._0x3b2930);}if(!this['_enabledEdit']||!this[_0x5575b7(_0x172694._0x3a6393,0x1735)])return this;function _0x5575b7(_0x366485,_0x4b5b44){return _0x2b6441(_0x4b5b44,_0x366485-0x245);}this[_0x5575b7(0xb0f,0x13cb)]=![],this['_updateDrawEntityToThis']();}}function getDrawOptions(_0xb53474){const _0x369676={_0x203af5:0xf91};function _0x40c3a0(_0x56f738,_0x2007e0){return _0x2b6441(_0x56f738,_0x2007e0- -0x61);}if(!_0xb53474)return _0xb53474;try{const _0x46c898={};for(const _0x5f4f61 in _0xb53474){const _0x2b2085=_0xb53474[_0x5f4f61];if(_0x5f4f61===_0x40c3a0(0x16e1,_0x369676._0x203af5)||_0x5f4f61==='id')continue;(isBoolean(_0x2b2085)||isNumber(_0x2b2085)||isString(_0x2b2085))&&(_0x46c898[_0x5f4f61]=_0x2b2085);}return _0x46c898;}catch(_0x1f6e76){}return _0xb53474;}class BasePolyPrimitive extends BasePrimitive{constructor(_0x32bb9a={}){const _0x114d05={_0x37de7d:0x8c0,_0x160779:0x19a4,_0x32f697:0x1332,_0x248ccf:0xa83,_0x5d1a90:0x12fd};function _0x1b934c(_0x45e201,_0x3a8bf7){return _0x2b6441(_0x45e201,_0x3a8bf7-0x387);}super(_0x32bb9a);function _0x49e269(_0x126bb3,_0x1510a2){return _0x306755(_0x126bb3,_0x1510a2- -0x276);}this['_hasEdit']=this[_0x49e269(0xe12,0x9e7)][_0x1b934c(_0x114d05._0x37de7d,0x667)]??!![],_0x32bb9a['positions']&&(this['style']['buffer']>0x0?this[_0x1b934c(_0x114d05._0x160779,0x177f)]=bufferPoints(_0x32bb9a[_0x1b934c(0x1ef6,0x177f)],this['style'][_0x1b934c(_0x114d05._0x32f697,_0x114d05._0x248ccf)],this['style']['bufferSteps']):this['positions']=_0x32bb9a[_0x1b934c(_0x114d05._0x5d1a90,0x177f)]);}get[_0x2b6441(-0x3ff,0x15b)](){const _0x41f5f7={_0xc8f5b9:0x1553};function _0x242079(_0x44162e,_0x2f0de0){return _0x2b6441(_0x2f0de0,_0x44162e-0x63c);}function _0x4ea22b(_0x22d2df,_0x5bed9){return _0x2b6441(_0x22d2df,_0x5bed9- -0x67);}return this[_0x242079(0x8f1,0xc46)]['closure']?this[_0x242079(_0x41f5f7._0xc8f5b9,0x100e)]:this['centerOfLine'];}get['centerOfMass'](){return centerOfMass(this['positionsShow']);}get['centerOfLine'](){const _0x58690e={_0x42c36b:0x193c,_0x130932:0x971,_0x4a9874:0x71a,_0x224919:0xd89,_0x177c14:0x373},_0x48f791=this['positionsShow'];function _0x4783bd(_0x163061,_0xeae0c7){return _0x2b6441(_0xeae0c7,_0x163061-0x465);}if(!_0x48f791||_0x48f791['length']===0x0)return null;else{if(_0x48f791['length']===0x1)return _0x48f791[0x0];}let _0xed4741;if(_0x48f791['length']<0xa){const _0x574588={};_0x574588['point']=!![],_0xed4741=sliceByMaxDistance(_0x48f791,this['distance']/0x2,_0x574588);}else _0xed4741=_0x48f791[Math[_0x2f401c(_0x58690e._0x42c36b,0x14e9)](_0x48f791['length']/0x2)];Cesium__namespace[_0x2f401c(0xfe9,0x1449)](this[_0x4783bd(0x71a,_0x58690e._0x130932)]['height'])&&(_0xed4741=setPositionsHeight(_0xed4741,this[_0x4783bd(_0x58690e._0x4a9874,_0x58690e._0x224919)][_0x2f401c(_0x58690e._0x177c14,0x889)]));function _0x2f401c(_0x8e0ceb,_0x40076a){return _0x306755(_0x8e0ceb,_0x40076a- -0x369);}return _0xed4741;}get['distance'](){return getDistance(this['positionsShow']);}get['area'](){return getArea(this['positionsShow']);}get[_0x2b6441(0x1a8f,0x13f8)](){const _0x166291={_0x252db1:0xa85};function _0x13cbb6(_0x4eaa29,_0x2311ba){return _0x306755(_0x2311ba,_0x4eaa29- -0xd9);}return this[_0x13cbb6(0x9fb,_0x166291._0x252db1)];}set[_0x306755(0x2008,0x1999)](_0x1603c0){const _0x5904de={_0x3c90b3:0x9e3,_0x44f66c:0x44d,_0x11b459:0xf51,_0x1c23b9:0x154c,_0x2063f2:0x54c,_0x394d75:0x2dc},_0x253d99={_0x4fd0cf:0x462},_0x5dfcd0={_0x39f6d4:0xe68,_0x43cab4:0x16fa,_0x14db1e:0x1b22,_0x9169c7:0x6a3,_0x11d391:0x798};if(!_0x1603c0||this[_0xbd50e7(_0x5904de._0x3c90b3,_0x5904de._0x44f66c)])return;const _0x419358=[],_0x216680=[];_0x1603c0['forEach']((_0x2985ed,_0x5a3e8f)=>{const _0x20833b=LngLatPoint['parse'](_0x2985ed);if(!_0x20833b||!_0x20833b['valid']())return;function _0x4ab281(_0x186e57,_0x3ae5a2){return _0xbd50e7(_0x186e57- -0x3e1,_0x3ae5a2);}const _0x4d1f11=_0x419358[_0x419358[_0xcc5b74(_0x5dfcd0._0x39f6d4,_0x5dfcd0._0x43cab4)]-0x1];if(_0x4d1f11&&_0x4d1f11['equals'](_0x20833b))return;const _0x6d6b00=this['getSetHeight'](this['style'],_0x5a3e8f);Cesium__namespace[_0xcc5b74(0x1d4e,0x18b1)](_0x6d6b00)&&(_0x20833b['alt']=_0x6d6b00);const _0x585ea9=this[_0xcc5b74(0x1a9,0x7f6)](this[_0x4ab281(0x47f,0x286)],_0x5a3e8f);function _0xcc5b74(_0x5ab480,_0x56c3f6){return _0xbd50e7(_0x56c3f6-0xf5,_0x5ab480);}Cesium__namespace[_0xcc5b74(_0x5dfcd0._0x14db1e,0x18b1)](_0x585ea9)&&(_0x20833b[_0x4ab281(0x90,0xb01)]=_0x20833b['alt']+_0x585ea9),_0x419358['push'](_0x20833b),_0x216680[_0xcc5b74(_0x5dfcd0._0x9169c7,_0x5dfcd0._0x11d391)](_0x20833b['toCartesian']());}),this['_points']=_0x419358,this['_positions']=_0x216680;this[_0xbd50e7(_0x5904de._0x11b459,0x133c)]&&this['_updatePositionsHook']();this['_primitive_label']&&this[_0x5b04a4(0x14de,0x146e)]();function _0xbd50e7(_0x1ff555,_0x45fbb8){return _0x2b6441(_0x45fbb8,_0x1ff555-0x5ab);}function _0x5b04a4(_0x3e6d93,_0x2ee3ae){return _0x306755(_0x3e6d93,_0x2ee3ae- -_0x253d99._0x4fd0cf);}this[_0xbd50e7(0x154c,0xfe1)]&&!this['_noUpdateEditing']&&(this[_0xbd50e7(_0x5904de._0x1c23b9,0x16d2)]['positions']=_0x216680),this[_0x5b04a4(-_0x5904de._0x2063f2,_0x5904de._0x394d75)]&&delete this['_getRectangle_cache'],this['fire'](EventType['updatePosition'],{'positions':this['_positions']});}get['positionsShow'](){function _0x17c7a9(_0x4ced98,_0x27301b){return _0x306755(_0x27301b,_0x4ced98-0x19);}return this[_0x17c7a9(0x19b2,0x19d1)];}get['points'](){const _0x14dfa9={_0x389d7a:0x77c},_0x24711f={_0x1d3b1c:0x102},_0x4345c6={_0x163dc4:0x6d9};function _0x2f109e(_0x4bbc56,_0x22611e){return _0x2b6441(_0x4bbc56,_0x22611e-_0x4345c6._0x163dc4);}function _0x208528(_0x2819bc,_0x1c78ee){return _0x306755(_0x2819bc,_0x1c78ee- -_0x24711f._0x1d3b1c);}return!this['_points']&&(this[_0x2f109e(0x1108,0xc17)]=LngLatArray['toPoints'](this[_0x2f109e(_0x14dfa9._0x389d7a,0xd87)])),this['_points'];}get['coordinates'](){const _0x581c14={_0x338c18:0x11ed};function _0x118d21(_0x81cc54,_0x248f11){return _0x2b6441(_0x81cc54,_0x248f11-0x341);}return this[_0x118d21(0x1398,_0x581c14._0x338c18)]();}get['rectangle'](){return Cesium__namespace['Rectangle']['fromCartesianArray'](this['positions']);}['_getGeoJsonGeometry'](_0x3a32fd){return{'type':'LineString','coordinates':this['getCoordinates'](_0x3a32fd===null||_0x3a32fd===void 0x0?void 0x0:_0x3a32fd['noAlt'])};}[_0x306755(0x1543,0x144d)](_0x4986e6){const _0x31604f={_0x208f57:0xd26},_0x1a5f2c={_0xca18a2:0x687},_0x574a5f=[];function _0x5ca299(_0x383521,_0x57f559){return _0x2b6441(_0x383521,_0x57f559-_0x1a5f2c._0xca18a2);}return this['points'][_0x5ca299(0xeca,_0x31604f._0x208f57)](_0x311eac=>{function _0x155893(_0x2a2be4,_0x145ee9){return _0x5ca299(_0x145ee9,_0x2a2be4- -0x668);}_0x574a5f[_0x155893(0x117,-0x207)](_0x311eac['toArray'](_0x4986e6));}),_0x574a5f;}[_0x2b6441(0xc75,0xfa0)](_0xbdea4a){function _0xf6af38(_0xb2596,_0x2e1cd0){return _0x306755(_0x2e1cd0,_0xb2596- -0x1c6);}return isInPoly(_0xbdea4a,this[_0xf6af38(0xa89,0x8c6)]);}[_0x306755(0xbee,0x12d8)](_0x3f621c={}){const _0x47c9b2={_0x4e7aca:0x173b,_0x3688cd:0x2195},_0x46f11b={_0x57f580:0x8e};function _0x3ee69f(_0x131e2d,_0x9d01ce){return _0x306755(_0x9d01ce,_0x131e2d- -0x2a2);}const _0x10efc8={..._0x3f621c};_0x10efc8['map']=this[_0x3ec5d1(_0x47c9b2._0x4e7aca,0x1fea)];function _0x3ec5d1(_0x12776d,_0x54b141){return _0x306755(_0x54b141,_0x12776d- -_0x46f11b._0x57f580);}return _0x10efc8['positions']=this[_0x3ee69f(0x16f7,_0x47c9b2._0x3688cd)],computeSurfacePoints(_0x10efc8)[_0x3ee69f(0x1061,0x1905)](_0x5db1ac=>{return!_0x5db1ac['noHeight']&&(this['positions']=_0x5db1ac['positions']),_0x5db1ac;});}}class PolylinePrimitive extends BasePolyPrimitive{constructor(_0x365b8f={}){super(_0x365b8f),this['_hasClampToGround']=!![];}['_conversionStyle'](_0x39fa8d){const _0x455569={_0x7bd8c0:0x9fb};function _0x56818a(_0x999cfd,_0x2dcbf){return _0x2b6441(_0x2dcbf,_0x999cfd- -0xb0);}return PolylineStyleConver[_0x56818a(_0x455569._0x7bd8c0,0x814)](_0x39fa8d);}['_style2Json'](_0x4e8ce3,_0x46b14e){function _0x57fc0c(_0x484fa9,_0x1440d8){return _0x2b6441(_0x1440d8,_0x484fa9-0x639);}return PolylineStyleConver[_0x57fc0c(0xba2,0xf8b)](_0x4e8ce3,_0x46b14e);}['_createGeometryInstance'](_0x54c825,_0x2d62fb){const _0x34b681={_0x12767d:0x1ddb,_0x19233a:0x138c,_0x457778:0xb82,_0x1bbf9c:0x1526,_0x477153:0x9a3};var _0x119b75;function _0x5db180(_0x10dcd7,_0x36f595){return _0x306755(_0x10dcd7,_0x36f595- -0x3d1);}_0x54c825[_0xfb811a(_0x34b681._0x12767d,0x138c)]=this['positions']||[];function _0xfb811a(_0x133ab2,_0x31f864){return _0x2b6441(_0x133ab2,_0x31f864- -0x6c);}if(((_0x119b75=_0x54c825[_0xfb811a(0x1602,_0x34b681._0x19233a)])===null||_0x119b75===void 0x0?void 0x0:_0x119b75[_0xfb811a(0xa33,0xfee)])<0x2)return;!_0x54c825['clampToGround']&&_0x54c825['closure']&&(_0x54c825[_0x5db180(0x1b47,0x15c8)]=_0x54c825[_0xfb811a(_0x34b681._0x457778,0x138c)][_0xfb811a(0x10ea,0x819)](_0x54c825[_0x5db180(0x1536,0x15c8)][0x0]));const _0x30e35a=_0x54c825['clampToGround']?Cesium__namespace[_0x5db180(0x1a23,_0x34b681._0x1bbf9c)]:Cesium__namespace[_0x5db180(_0x34b681._0x477153,0xe3)];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x30e35a(_0x54c825),'attributes':this['_createGeometryInstanceAttributes'](_0x54c825)});}['_createAppearance'](_0x3295d7,_0x3aab6e){const _0x25b053={_0x4f7743:0x87a,_0x1490c0:0xa91,_0x3c035d:0xc35,_0x2bdfc4:0x9d1,_0x143931:0x19bb,_0x240ee1:0x1b36,_0x3602f8:0x9ff,_0x1ddfad:0x18ab,_0x58a42c:0x9ff,_0x5ed098:0x10b0},_0x44a625={_0x283fdb:0xc3},_0x300d86={_0x379cb0:0xe3};function _0x4f69c1(_0x3d5aca,_0x44527b){return _0x306755(_0x44527b,_0x3d5aca-_0x300d86._0x379cb0);}function _0x5dd59c(_0x5f287d,_0x3e9742){return _0x2b6441(_0x3e9742,_0x5f287d-_0x44a625._0x283fdb);}if(_0x3295d7[_0x5dd59c(_0x25b053._0x4f7743,0xec3)]){_0x3aab6e['geometryInstances']['geometry']['vertexFormat']=Cesium__namespace['PolylineColorAppearance'][_0x5dd59c(_0x25b053._0x1490c0,0x4bc)];if(!_0x3295d7['colors']){const _0x5c02ae=this[_0x5dd59c(0x11d3,0x1874)](_0x3295d7);_0x3aab6e['geometryInstances'][_0x5dd59c(_0x25b053._0x3c035d,0x269)]=_0x3aab6e['geometryInstances']['attributes']||{},_0x3aab6e['geometryInstances']['attributes'][_0x5dd59c(_0x25b053._0x2bdfc4,0xec4)]=Cesium__namespace[_0x4f69c1(_0x25b053._0x143931,_0x25b053._0x240ee1)][_0x4f69c1(_0x25b053._0x3602f8,0x1168)](_0x5c02ae),_0x3295d7['depthFail']&&(_0x3aab6e['geometryInstances']['attributes'][_0x4f69c1(_0x25b053._0x1ddfad,0x1af0)]=Cesium__namespace['ColorGeometryInstanceAttribute'][_0x4f69c1(_0x25b053._0x58a42c,_0x25b053._0x5ed098)](_0x3295d7['depthFailColor']||_0x5c02ae));}const _0x35b466={..._0x3295d7};return new Cesium__namespace[(_0x5dd59c(0x11be,0x733))](_0x35b466);}else{const _0xc5285d={..._0x3295d7};return new Cesium__namespace['PolylineMaterialAppearance'](_0xc5285d);}}['_updateStyleHook'](_0x1575a4,_0x2140f7){const _0x1ca02f={_0xe03e4c:0x44c,_0x2d2758:0x1175};function _0x2a75c4(_0x9bb028,_0x154a5d){return _0x2b6441(_0x154a5d,_0x9bb028-0x6b9);}function _0x211f8e(_0x4b6d43,_0x38ef61){return _0x306755(_0x38ef61,_0x4b6d43- -0x148);}Cesium__namespace[_0x2a75c4(0x18ca,0x18cb)](_0x2140f7[_0x211f8e(0xd67,_0x1ca02f._0xe03e4c)])&&Object['keys'](_0x2140f7)===0x1?super[_0x2a75c4(_0x1ca02f._0x2d2758,0x1151)](_0x1575a4,_0x2140f7):this['redraw'](_0x1575a4);}[_0x306755(0x172a,0x1966)](_0x5dffc5,_0x50e68a){return create$5('polyline',_0x5dffc5);}}register$5(_0x306755(0x1618,0x18d7),PolylinePrimitive);class BaseLayer extends BaseClass{constructor(_0x36dece={}){const _0x21c37f={_0x3af25c:0x128f,_0x190987:0x174e};super(_0x36dece),this['options']=_0x36dece,_0x36dece['id']=_0x36dece['id']??createGuid(),this['_show']=_0x36dece[_0x52faf0(_0x21c37f._0x3af25c,_0x21c37f._0x190987)]??!![],this['_private']=_0x36dece['private'],this[_0x52faf0(0x959,0x4e1)]['opacity']=_0x36dece['opacity']??0x1;Cesium__namespace['defined'](_0x36dece['alpha'])&&(this['options']['opacity']=_0x36dece['alpha']);this['options'][_0x52faf0(0x7e4,0x161)]&&(isString(this['options'][_0x546f86(0x58b,0x579)])?this[_0x546f86(0x11bb,0xc67)]=new Cesium__namespace['DefaultProxy'](this['options'][_0x546f86(0x27a,0x579)]):this['_proxy']=this['options']['proxy']);function _0x546f86(_0x5a398a,_0x391e34){return _0x306755(_0x5a398a,_0x391e34- -0x56f);}this['_bindControl']();function _0x52faf0(_0x4f092b,_0x28f499){return _0x306755(_0x28f499,_0x4f092b- -0x304);}this[_0x52faf0(0xd36,0x510)]=Cesium__namespace['defer'](),this['_state']=State['INITIALIZED'];}get['id'](){const _0x45bb03={_0x5e5dad:0x6b9};function _0x2abbb3(_0x4374a6,_0x56ffbb){return _0x306755(_0x4374a6,_0x56ffbb- -0x625);}var _0x484ab6;return(_0x484ab6=this[_0x2abbb3(_0x45bb03._0x5e5dad,0x638)])===null||_0x484ab6===void 0x0?void 0x0:_0x484ab6['id'];}set['id'](_0x55bb83){this['options']['id']=_0x55bb83;}get[_0x2b6441(0xbe6,0x2f2)](){const _0x36b55e={_0x239cfc:0x3cf};function _0x3b746d(_0x401b08,_0x40700f){return _0x2b6441(_0x401b08,_0x40700f-_0x36b55e._0x239cfc);}var _0x457834;return(_0x457834=this['options'])===null||_0x457834===void 0x0?void 0x0:_0x457834[_0x3b746d(0x64c,0x6c1)];}set['name'](_0x5c53ca){function _0x4fb9fc(_0x46a968,_0x5e705f){return _0x2b6441(_0x5e705f,_0x46a968-0x4c1);}this[_0x4fb9fc(0xb7d,0x4b1)]['name']=_0x5c53ca;}get['pid'](){var _0xe6729a;function _0xf4be15(_0x1db281,_0x408274){return _0x306755(_0x408274,_0x1db281-0xeb);}return(_0xe6729a=this['options'])===null||_0xe6729a===void 0x0?void 0x0:_0xe6729a[_0xf4be15(0xb7f,0xb06)];}set['pid'](_0x4486f3){const _0x41e25f={_0x5bbfea:0x22b};function _0x4816fe(_0x65fea5,_0x41a8ab){return _0x2b6441(_0x65fea5,_0x41a8ab-_0x41e25f._0x5bbfea);}this['options'][_0x4816fe(0x62a,0x71e)]=_0x4486f3;}get[_0x2b6441(0xf6a,0x1403)](){const _0x41b46f={_0x38ccf1:0x1453,_0x314d7b:0xf33,_0xaba7da:0x162e};if(this[_0x28ed98(0x1453,0x1b01)]['templateValues'])return this[_0x28ed98(_0x41b46f._0x38ccf1,_0x41b46f._0x314d7b)][_0x28ed98(_0x41b46f._0xaba7da,0x1720)];function _0x2d8868(_0x1b0ae9,_0x31c264){return _0x2b6441(_0x31c264,_0x1b0ae9-0x620);}function _0x28ed98(_0x11fadf,_0xeb30bf){return _0x2b6441(_0xeb30bf,_0x11fadf-0x22b);}return this['options'][_0x28ed98(0x162e,0xd11)];}set['templateValues'](_0x144182){const _0x314591={_0x5b8db9:0x4a};function _0xfaeffe(_0x134ee6,_0x2e6e2c){return _0x2b6441(_0x134ee6,_0x2e6e2c-_0x314591._0x5b8db9);}this[_0xfaeffe(0x1eb,0x706)]['templateValues']=_0x144182;}get['type'](){return this['_type'];}get['state'](){return this['_state'];}get['isAdded'](){const _0x43e9b6={_0x2a336b:0xd0e},_0x587c42={_0x30a461:0x652};function _0x21c62a(_0x55dcce,_0x57dbfe){return _0x2b6441(_0x57dbfe,_0x55dcce-_0x587c42._0x30a461);}return this['_state']===State['ADDED']&&this[_0x21c62a(_0x43e9b6._0x2a336b,0xe52)];}get['isDestroy'](){function _0x2a91d0(_0x527305,_0x1c78b5){return _0x2b6441(_0x527305,_0x1c78b5-0x58d);}return this[_0x2a91d0(0x1595,0x13ad)]===State['DESTROY']||!this['options'];}get['isPrivate'](){if(this['_private'])return!![];return![];}get[_0x2b6441(0xf7f,0x925)](){const _0x328eb3={_0x129ac9:0xa74},_0x5b1d76={_0x458298:0x25};var _0xa68de6;function _0x313a29(_0x39e4e1,_0x49219a){return _0x2b6441(_0x49219a,_0x39e4e1- -_0x5b1d76._0x458298);}return(_0xa68de6=this[_0x313a29(_0x328eb3._0x129ac9,0x121b)])===null||_0xa68de6===void 0x0?void 0x0:_0xa68de6['promise'];}get['layer'](){return null;}get['show'](){const _0x3bf3d0={_0x51fc83:0x1011,_0x101a05:0xd60};function _0x4b4f4e(_0xe773ca,_0x545e6c){return _0x2b6441(_0x545e6c,_0xe773ca-0x1ba);}return this[_0x4b4f4e(_0x3bf3d0._0x51fc83,_0x3bf3d0._0x101a05)];}set['show'](_0x23d2c1){const _0x5c54be={_0x2dbc89:0x1057,_0x31a923:0xf5a,_0x3eed12:0x13ef,_0x5c292c:0x1745,_0x12c6f5:0xc37,_0x1b3daa:0x9c9,_0x30f6be:0x142e,_0x2cba85:0x5f1},_0x35a97d={_0x4a8cc2:0x9f1,_0x34065a:0x108d,_0x52e877:0x788};if(this[_0x45e367(0x4e3,0xdbf)]===_0x23d2c1||this['isDestroy'])return;this[_0x3e3f68(0xc54,0x1693)][_0x45e367(_0x5c54be._0x2dbc89,_0x5c54be._0x31a923)]=_0x23d2c1,this[_0x3e3f68(_0x5c54be._0x3eed12,_0x5c54be._0x5c292c)]=_0x23d2c1;function _0x3e3f68(_0x54f1fe,_0x2d42f6){return _0x306755(_0x2d42f6,_0x54f1fe- -0x9);}delete this['_last_availabilityShow'];function _0x45e367(_0x2341f0,_0x30d5ed){return _0x306755(_0x2341f0,_0x30d5ed- -0x639);}const _0x57fb6e=this['layer'];_0x57fb6e&&(Array[_0x45e367(-0x545,0x1fb)](_0x57fb6e)?_0x57fb6e[_0x3e3f68(_0x5c54be._0x12c6f5,_0x5c54be._0x1b3daa)](function(_0x527142){function _0x570c50(_0x2f81fc,_0x2eb0a7){return _0x3e3f68(_0x2eb0a7- -0x563,_0x2f81fc);}function _0x2fe1de(_0x17b615,_0x2ee9a8){return _0x45e367(_0x17b615,_0x2ee9a8-0x133);}_0x527142[_0x2fe1de(_0x35a97d._0x4a8cc2,_0x35a97d._0x34065a)]=_0x23d2c1,_0x527142[_0x2fe1de(-_0x35a97d._0x52e877,0x13d)]&&_0x527142[_0x570c50(0x5ea,0xd7)](_0x23d2c1);}):(_0x57fb6e[_0x45e367(_0x5c54be._0x30f6be,0xf5a)]=_0x23d2c1,_0x57fb6e[_0x45e367(-0x62d,0xa)]&&_0x57fb6e[_0x45e367(0x118,0xa)](_0x23d2c1))),this['isAdded']&&(this['_showHook']&&this[_0x45e367(-_0x5c54be._0x2cba85,0xa)](_0x23d2c1),_0x23d2c1?this['fire'](EventType[_0x45e367(0x1853,0xf5a)]):this['fire'](EventType['hide']));}[_0x2b6441(0x860,-0x10c)](_0xc85f47){const _0x3ab4f0={_0x45bc26:0x1098,_0x11b98b:0x13a6},_0x3db3c8={_0x69f250:0x310},_0x2e6eaa={_0x3b0202:0x34c};function _0x1f9007(_0x1ae149,_0xe1fa7d){return _0x306755(_0x1ae149,_0xe1fa7d- -_0x2e6eaa._0x3b0202);}if(!this['_map']||!this['show'])return![];if(this['availability']&&Cesium__namespace['defined'](this[_0x51b6be(_0x3ab4f0._0x45bc26,0x7dd)]))return this[_0x51b6be(0x1098,_0x3ab4f0._0x11b98b)];function _0x51b6be(_0x3c18ea,_0x219fcd){return _0x306755(_0x219fcd,_0x3c18ea- -_0x3db3c8._0x69f250);}return this['show'];}get['hasOpacity'](){const _0x345e32={_0x4c6c67:0x66b},_0x1b4cb8={_0x4094d4:0x2c8},_0x4fb173={_0x5343ad:0x5f2};function _0xf73ac8(_0x4e1e27,_0x4aafb8){return _0x306755(_0x4aafb8,_0x4e1e27- -_0x4fb173._0x5343ad);}if(Cesium__namespace[_0x47efd4(0x1852,0x14d9)](this[_0xf73ac8(_0x345e32._0x4c6c67,0x702)]['hasOpacity']))return this['options']['hasOpacity'];function _0x47efd4(_0x72ac8e,_0x10ad7a){return _0x2b6441(_0x72ac8e,_0x10ad7a-_0x1b4cb8._0x4094d4);}return!!this['setOpacity'];}get['opacity'](){var _0x122b79;return(_0x122b79=this['options'])===null||_0x122b79===void 0x0?void 0x0:_0x122b79['opacity'];}set[_0x2b6441(0xfc7,0x5a8)](_0x56e9bc){const _0x1e6bd6={_0x40ae5b:0x6b5,_0x5ba19e:0xc03};function _0x461f46(_0x335385,_0x2a5f43){return _0x2b6441(_0x335385,_0x2a5f43-0x10d);}this['options'][_0x461f46(-0x222,_0x1e6bd6._0x40ae5b)]=_0x56e9bc,clearTimeout(this['_timeTik']);function _0x3abda0(_0x5bf713,_0x50a5d0){return _0x2b6441(_0x5bf713,_0x50a5d0-0x55);}this[_0x3abda0(_0x1e6bd6._0x5ba19e,0xad0)]=setTimeout(()=>{function _0x3f66fe(_0x3be61f,_0x10fcc8){return _0x3abda0(_0x10fcc8,_0x3be61f- -0xc2);}this['setOpacity']&&this[_0x3f66fe(0x12e0,0x1337)](_0x56e9bc);},0x64);}get['availability'](){const _0x5e3ecf={_0x25d8ee:0x596},_0x43a05a={_0x56d673:0x13b};var _0x5a2c50;function _0x12e14f(_0x4a46ec,_0x24af4d){return _0x2b6441(_0x4a46ec,_0x24af4d-_0x43a05a._0x56d673);}return(_0x5a2c50=this['options'])===null||_0x5a2c50===void 0x0?void 0x0:_0x5a2c50[_0x12e14f(0xa2e,_0x5e3ecf._0x25d8ee)];}set['availability'](_0x240cc1){const _0x2111d9={_0x4359e7:0x14b3,_0x3c20db:0x1ee,_0x4f128f:0x14c2};function _0x37af46(_0x2e0872,_0x244538){return _0x306755(_0x2e0872,_0x244538- -0x487);}if(this[_0x37af46(_0x2111d9._0x4359e7,0x1342)]){var _0x11294e;this[_0x37af46(-_0x2111d9._0x3c20db,0x600)]=getAvailability(_0x240cc1,(_0x11294e=this['_map'])===null||_0x11294e===void 0x0||(_0x11294e=_0x11294e[_0x37af46(_0x2111d9._0x4f128f,0xf13)])===null||_0x11294e===void 0x0?void 0x0:_0x11294e[_0x37af46(0x4e1,0xa61)]);}this['options']['availability']=getAvailabilityJson(Array[_0x24fb71(-0x682,0x339)](_0x240cc1)?_0x240cc1:this[_0x37af46(0x162,0x600)]);function _0x24fb71(_0xe1fdb3,_0x4f5b0c){return _0x306755(_0xe1fdb3,_0x4f5b0c- -0x4fb);}_0x240cc1?(this['update']=_0xc2adf6=>{function _0x194924(_0x311c58,_0x87ad21){return _0x37af46(_0x87ad21,_0x311c58-0x45d);}this['_updateObjectAvailability'](_0xc2adf6[_0x194924(0x11fb,0x13e1)]);},this[_0x24fb71(0xb0f,0x142)]()):this['unbindUpdateEvent']();}['getAvailabilityJson'](){const _0x352ca0={_0x177b42:0x175};function _0x54961c(_0x2b98e1,_0x4e3c7c){return _0x306755(_0x4e3c7c,_0x2b98e1- -0x556);}var _0x39d6ec;function _0x4c27f0(_0x3f8a4a,_0x262545){return _0x306755(_0x3f8a4a,_0x262545- -0x27c);}return getAvailabilityJson(this[_0x54961c(0x531,-_0x352ca0._0x177b42)],!![],(_0x39d6ec=this[_0x54961c(0x1273,0x1003)])===null||_0x39d6ec===void 0x0||(_0x39d6ec=_0x39d6ec['clock'])===null||_0x39d6ec===void 0x0?void 0x0:_0x39d6ec[_0x54961c(0x992,0x812)]);}[_0x2b6441(-0x58,0x9cb)](_0x4004a6){const _0xd2ddbb={_0x4d7120:0x546};var _0x272fb4;function _0x110e1e(_0x394d2e,_0x41bd8d){return _0x306755(_0x394d2e,_0x41bd8d- -_0xd2ddbb._0x4d7120);}if(((_0x272fb4=this['_map'])===null||_0x272fb4===void 0x0?void 0x0:_0x272fb4['availabilityEnabled'])===![])return!![];return this[_0x110e1e(-0x4b2,0x541)]&&_0x4004a6?this['_availability']['findDataForIntervalContainingDate'](_0x4004a6)??![]:!![];}['_updateObjectAvailability'](_0x22bb4f){const _0x2ff046={_0x31256d:0xe48,_0x3bb90c:0x14c2,_0x148f7d:0x8c8,_0x4bb6a3:0x99a,_0xac44c1:0x1494,_0x507592:0x2cb,_0x30f7de:0x9b,_0x3f4416:0x607};function _0x2a95f9(_0x316c30,_0x9ed6f4){return _0x2b6441(_0x316c30,_0x9ed6f4-0x6bb);}const _0x55f6ed=this['layer'];function _0x5a08a4(_0x46136c,_0x744517){return _0x2b6441(_0x744517,_0x46136c-0x229);}if(!_0x55f6ed)return;const _0x44e298=this['getAvailabilityShow'](_0x22bb4f);this[_0x2a95f9(_0x2ff046._0x31256d,_0x2ff046._0x3bb90c)]!==_0x44e298&&(Array['isArray'](_0x55f6ed)?_0x55f6ed[_0x5a08a4(_0x2ff046._0x148f7d,_0x2ff046._0x4bb6a3)](function(_0x1ecd75){_0x1ecd75['show']=_0x44e298,_0x1ecd75['_showHook']&&_0x1ecd75['_showHook'](_0x44e298);}):(_0x55f6ed[_0x5a08a4(0x121b,_0x2ff046._0xac44c1)]=_0x44e298,_0x55f6ed['_showHook']&&_0x55f6ed[_0x5a08a4(_0x2ff046._0x507592,-_0x2ff046._0x30f7de)](_0x44e298)),this['_showHook']&&this[_0x2a95f9(_0x2ff046._0x3f4416,0x75d)](_0x44e298),this['_last_availabilityShow']=_0x44e298);}[_0x2b6441(0x10b7,0xc40)](_0x6d456c){return _0x6d456c&&_0x6d456c['addLayer']&&_0x6d456c['addLayer'](this),this;}['remove'](_0x492fef){const _0x543200={_0x4e6844:0x14d0},_0x56c616={_0x30aa34:0x24d};function _0x666a50(_0x9c73a0,_0x1265da){return _0x2b6441(_0x9c73a0,_0x1265da-0x4a6);}function _0x3fb92f(_0xdb68c6,_0x49748a){return _0x2b6441(_0xdb68c6,_0x49748a-_0x56c616._0x30aa34);}this['_map']&&this[_0x666a50(0x11b5,0x16ce)][_0x3fb92f(0xf76,_0x543200._0x4e6844)](this,_0x492fef);}['_onAdd'](_0x24d0f7){const _0x1b4dc2={_0x2dd2db:0xd39,_0x5c6127:0x902,_0x39b37c:0x11bd,_0x3af170:0x129c,_0xaf9eb0:0x10d7,_0x2280c7:0x9e8,_0x482f0d:0x1327,_0x1cad86:0xc95,_0x11abeb:0xc91,_0x4c6a74:0x9c0,_0x5e96d0:0xc91,_0x19370a:0x125b,_0x5e49fc:0x182a,_0x464927:0x1240,_0x345e86:0x309},_0x46820c={_0x995455:0x166};var _0x49dcc4;if(this['isAdded']||this['_state']===State[_0x503142(_0x1b4dc2._0x2dd2db,_0x1b4dc2._0x5c6127)])return;this['_state']=State['ADD'],this['_map']=_0x24d0f7;function _0x39df8f(_0x1832f3,_0x343d9c){return _0x306755(_0x343d9c,_0x1832f3- -_0x46820c._0x995455);}function _0x503142(_0xdf964,_0x3a693b){return _0x2b6441(_0x3a693b,_0xdf964-0x5d5);}if(this['options'][_0x503142(_0x1b4dc2._0x39b37c,_0x1b4dc2._0x3af170)])this['addEventParent'](this[_0x503142(0xc91,_0x1b4dc2._0xaf9eb0)]['eventParent']);else{if(((_0x49dcc4=this[_0x39df8f(0xaf7,_0x1b4dc2._0x2280c7)])===null||_0x49dcc4===void 0x0?void 0x0:_0x49dcc4['eventParent'])===![]);else this['addEventParent'](_0x24d0f7);}this[_0x39df8f(0x11a6,0x197e)]&&!this[_0x503142(_0x1b4dc2._0x482f0d,_0x1b4dc2._0x1cad86)]&&(this[_0x39df8f(0x11a6,0xcaf)](),this['_createOK']=!![]),this['_addedHook']&&this['_addedHook'](),this[_0x503142(_0x1b4dc2._0x11abeb,0x161f)]['availability']&&(this[_0x503142(0xa30,0xc59)]=this['options'][_0x39df8f(0x896,_0x1b4dc2._0x4c6a74)]),this[_0x503142(_0x1b4dc2._0x5e96d0,0xe4b)]['flyTo']&&this['flyTo'](),this[_0x39df8f(_0x1b4dc2._0x19370a,_0x1b4dc2._0x5e49fc)]=State['ADDED'],this[_0x503142(0x8bd,0xa62)](EventType[_0x39df8f(0xbc8,_0x1b4dc2._0x464927)]),this['fire'](EventType['addLayer'],{},!![]),this['options']['script']&&new Function(_0x503142(0x9fe,_0x1b4dc2._0x345e86),this[_0x39df8f(0xaf7,0xc3a)][_0x39df8f(0x12dc,0x147c)])(this);}['_onRemove'](){const _0x5c6c17={_0x40e6d6:0x1c96,_0x50f2f7:0x1859,_0x475a9b:0x10a9,_0x2fb1a1:0xa19,_0x462811:0x7b7,_0x429b10:0x369,_0x46f240:0x477,_0x5708bc:0x1bcb,_0x7b8cce:0x1412,_0x177a8b:0xcd9,_0x169f86:0xfc1};function _0xf6315e(_0x2fb8d0,_0x501b73){return _0x2b6441(_0x2fb8d0,_0x501b73-0x716);}var _0x3ffc34,_0x3716b9;if(this['_state']!==State[_0xf6315e(_0x5c6c17._0x40e6d6,_0x5c6c17._0x50f2f7)])return;if(!this['_map'])return;this[_0x2c3632(_0x5c6c17._0x475a9b,_0x5c6c17._0x2fb1a1)]&&this['_removedHook'](),this['_state']=State[_0x2c3632(_0x5c6c17._0x462811,0xd6b)],this[_0xf6315e(0x59,0x9fe)](EventType['remove']),this[_0x2c3632(_0x5c6c17._0x429b10,_0x5c6c17._0x46f240)](EventType[_0x2c3632(_0x5c6c17._0x5708bc,_0x5c6c17._0x7b8cce)],{},!![]);function _0x2c3632(_0xee27f4,_0x4f7e09){return _0x2b6441(_0xee27f4,_0x4f7e09-0x18f);}if((_0x3ffc34=this['options'])!==null&&_0x3ffc34!==void 0x0&&_0x3ffc34['eventParent'])this[_0xf6315e(0xc02,_0x5c6c17._0x177a8b)](this['options']['eventParent']);else{if(((_0x3716b9=this['options'])===null||_0x3716b9===void 0x0?void 0x0:_0x3716b9[_0x2c3632(0x5d6,0xd77)])===![]);else this['removeEventParent'](this[_0xf6315e(_0x5c6c17._0x169f86,0x193e)]);}this['_map']=null;}[_0x306755(0x14ea,0x130c)](){}['_addedHook'](){}['_removedHook'](){}[_0x306755(0x1213,0x889)](_0x263aed,_0x5c27c6={},_0x80cae){const _0x6288dc={_0x28e6bd:0xe0},_0x3145d3={_0x15826f:0x2c3};function _0x2338c4(_0x4ad028,_0x49f05c){return _0x306755(_0x4ad028,_0x49f05c- -_0x3145d3._0x15826f);}!_0x5c27c6[_0x3b23d3(0x8ea,0xf90)]&&(_0x5c27c6[_0x3b23d3(0x8ea,0xaeb)]=this);function _0x3b23d3(_0xb7fec3,_0x52afc6){return _0x306755(_0x52afc6,_0xb7fec3- -_0x6288dc._0x28e6bd);}return super['fire'](_0x263aed,_0x5c27c6,_0x80cae);}[_0x2b6441(0xb14,0x9c)](){const _0x9b149={_0x45483b:0xe6f,_0x584255:0x1043,_0x4d5a1c:0x1241,_0x360c94:0x37e},_0x2a9005={_0x41ef9d:0x19};if(!this[_0x1be582(_0x9b149._0x45483b,0x477)]||!this['_map'])return;function _0x44c503(_0x4829b9,_0x2ebb64){return _0x2b6441(_0x2ebb64,_0x4829b9-0x4d4);}this['unbindUpdateEvent'](),this[_0x1be582(_0x9b149._0x584255,_0x9b149._0x4d5a1c)]['on'](EventType['preRender'],this['_map_preRenderHandler'],this);function _0x1be582(_0x551854,_0x3f2f38){return _0x2b6441(_0x551854,_0x3f2f38-_0x2a9005._0x41ef9d);}this[_0x1be582(_0x9b149._0x360c94,0xbf0)](this['_map']['scene']);}['unbindUpdateEvent'](){const _0x2d2db3={_0x4b6d15:0x7a6},_0x377c46={_0x23cc5a:0x41a};function _0x3036b4(_0x539541,_0x135e1c){return _0x2b6441(_0x539541,_0x135e1c-_0x377c46._0x23cc5a);}this['_map']&&this['_map']['off'](EventType[_0x3036b4(0x125c,_0x2d2db3._0x4b6d15)],this['_map_preRenderHandler'],this);}['_map_preRenderHandler'](_0xdd26b){const _0x16e7d7={_0x126ab2:0xfe,_0x4b3de0:0x558,_0x556e6e:0x130a,_0x221972:0x185},_0x51bebd={_0x587422:0x31a},_0x3c3d17={_0x339d89:0x49b};var _0x39b4b9;if(!this['_map']||!this['show'])return;function _0x30ddcf(_0x174efb,_0x35cb69){return _0x306755(_0x174efb,_0x35cb69- -_0x3c3d17._0x339d89);}if((_0x39b4b9=this[_0x15c233(_0x16e7d7._0x126ab2,0x9d6)])!==null&&_0x39b4b9!==void 0x0&&_0x39b4b9[_0x15c233(0x1012,0xf9c)]&&this['_last_preUpdateTime']){const _0x48e1a8=_0xdd26b[_0x30ddcf(0x6db,0x17e)][_0x30ddcf(_0x16e7d7._0x4b3de0,0xa9c)]-this[_0x15c233(0xf92,_0x16e7d7._0x556e6e)];if(_0x48e1a8<this['options']['frameRate'])return;}this['_last_preUpdateTime']=_0xdd26b[_0x15c233(_0x16e7d7._0x221972,0x392)]['frameNumber'];function _0x15c233(_0x6394e6,_0x2e0f58){return _0x2b6441(_0x6394e6,_0x2e0f58-_0x51bebd._0x587422);}this['update'](_0xdd26b['_frameState']);}async[_0x2b6441(0xa1d,0x686)](_0x496b93={}){const _0x5be041={_0x609785:0x578,_0x1b6ae7:0xcb4,_0x3f1175:0x10a1,_0x51948b:0x6ec,_0x1b8138:0x10f7,_0x2438d4:0x8a4,_0x2d926d:0x753,_0x538c3e:0x1ebb,_0x52943d:0x193a,_0x9455fa:0x653,_0x3f215b:0xc70};if(!this['_map'])return![];this[_0xafb6b4(_0x5be041._0x609785,_0x5be041._0x1b6ae7)][_0x3e61f7(_0x5be041._0x3f1175,_0x5be041._0x51948b)]&&(_0x496b93={...this[_0xafb6b4(0x4cd,_0x5be041._0x1b6ae7)]['flyToOptions'],..._0x496b93});function _0xafb6b4(_0x12b1cf,_0x408fd5){return _0x2b6441(_0x12b1cf,_0x408fd5-0x5f8);}await this['_map']['flyAnimationPromise'];function _0x3e61f7(_0x350bd8,_0x4c2961){return _0x2b6441(_0x350bd8,_0x4c2961-0x4ae);}if(this['options']['center'])return this['_map'][_0x3e61f7(0xf86,_0x5be041._0x1b8138)](this['options'][_0xafb6b4(_0x5be041._0x2438d4,_0x5be041._0x2d926d)],_0x496b93);const _0x54194a=this['options']['extent']||this['_extent']||this[_0xafb6b4(_0x5be041._0x538c3e,_0x5be041._0x52943d)]&&this['getRectangle']();if(_0x54194a)return this['_map'][_0xafb6b4(_0x5be041._0x9455fa,0xf5c)](_0x54194a,_0x496b93);return await this['readyPromise'],await this['_map'][_0xafb6b4(0x983,0x13fe)],this[_0xafb6b4(_0x5be041._0x3f215b,0x16e4)](_0x496b93);}async[_0x306755(0x1662,0x168d)](_0x1ea474){const _0x58a933={_0x1f744e:0xcda},_0x474db9={_0x311173:0x3a};function _0x19e983(_0x45258d,_0x394b4e){return _0x2b6441(_0x394b4e,_0x45258d- -_0x474db9._0x311173);}const _0x5e481d=this[_0x474847(0x11c7,0x1158)]||this[_0x19e983(0x1308,_0x58a933._0x1f744e)]&&this['getRectangle']();function _0x474847(_0x4fb7d3,_0x5a914d){return _0x306755(_0x5a914d,_0x4fb7d3- -0x10f);}if(_0x5e481d)return this['_map'][_0x19e983(0x92a,0x514)](_0x5e481d,_0x1ea474);}['setOptions'](_0x16214c){const _0x4c52f1={_0x105083:0xe0,_0x3b109a:0x4e7,_0x3966b1:0x787,_0x505f49:0x787,_0x35696e:0x787,_0x899448:0x129c,_0x1cfdf5:0x1487,_0x13a17d:0x1047,_0x516e6b:0x919,_0x2e8324:0x19c},_0x13555c={_0x517c9b:0x10c};if(!_0x16214c||Object['keys'](_0x16214c)[_0xd49098(0x1072,0x11d3)]===0x0)return this;function _0xd49098(_0x54602c,_0x444ee7){return _0x306755(_0x54602c,_0x444ee7- -0x428);}this['options']=merge(this['options'],_0x16214c);Cesium__namespace['defined'](_0x16214c['opacity'])&&(this['opacity']=_0x16214c[_0xd49098(-_0x4c52f1._0x105083,0x721)]);Cesium__namespace['defined'](_0x16214c[_0x844183(_0x4c52f1._0x3b109a,_0x4c52f1._0x3966b1)])&&(this[_0x844183(0x76c,_0x4c52f1._0x505f49)]=_0x16214c[_0x844183(0x6f3,_0x4c52f1._0x35696e)]);Cesium__namespace['defined'](_0x16214c[_0x844183(_0x4c52f1._0x899448,_0x4c52f1._0x1cfdf5)])&&(this['show']=_0x16214c['show']);Cesium__namespace[_0x844183(_0x4c52f1._0x13a17d,0x16a6)](_0x16214c[_0x844183(_0x4c52f1._0x516e6b,0x8f0)])&&(this[_0xd49098(0x1045,0x5d4)]=_0x16214c['availability']);this[_0xd49098(_0x4c52f1._0x2e8324,0xbbf)]();function _0x844183(_0x1aae85,_0x48df5e){return _0x306755(_0x1aae85,_0x48df5e- -_0x13555c._0x517c9b);}return this['_setOptionsHook']&&this['_setOptionsHook'](this['options'],_0x16214c),this;}['toJSON'](){const _0x39c40d={_0x3f960e:0x1004,_0x225ada:0x13eb,_0x3dc19a:0x854,_0x1d6368:0x56b,_0x803fb3:0x9a1,_0x526176:0xf3f,_0x54393a:0x10e8},_0x172c5a=clone(this[_0x24e572(0x157c,0xab5)],['parent','eventParent',_0x24e572(_0x39c40d._0x3f960e,0x17fc)]);_0x172c5a['id']=this['id'];function _0x24e572(_0x2d29a6,_0xeb37f2){return _0x2b6441(_0x2d29a6,_0xeb37f2-0x3f9);}_0x172c5a['type']=this[_0x24e572(0x1d43,0x14bb)];function _0x39ce50(_0x2bb0b4,_0x442f8c){return _0x2b6441(_0x442f8c,_0x2bb0b4-0x41c);}!this['_hasMapInit']&&(_0x172c5a['show']=this[_0x24e572(0x119c,_0x39c40d._0x225ada)]);this['_availability']&&(_0x172c5a['availability']=this[_0x24e572(0x9da,_0x39c40d._0x3dc19a)]);this['_toJsonEx']&&this[_0x24e572(_0x39c40d._0x1d6368,0x7ab)](_0x172c5a);_0x172c5a[_0x24e572(0x7db,0x8ec)]===-0x1&&delete _0x172c5a['pid'];_0x172c5a['opacity']===0x1&&delete _0x172c5a[_0x24e572(0x10e4,_0x39c40d._0x803fb3)];for(const _0x3e9272 in _0x172c5a){const _0x56d9c1=_0x172c5a[_0x3e9272];(!Cesium__namespace['defined'](_0x56d9c1)||isObject(_0x56d9c1)&&Object[_0x24e572(0x13e4,_0x39c40d._0x526176)](_0x56d9c1)[_0x39ce50(0x1476,_0x39c40d._0x54393a)]===0x0)&&delete _0x172c5a[_0x3e9272];}return _0x172c5a;}['_bindControl'](){const _0x935248={_0x1bcf63:0x287,_0x236076:0x39e,_0x41ea2b:0x7f5,_0x370639:0xfe3,_0x18f28e:0x1ff,_0x5e9971:0x1550,_0x4d90ef:0x631,_0x2be8fd:0xd11,_0x32cb8d:0x8b2,_0x22b9be:0xa5,_0x2a4d05:0x105f,_0x7c0e30:0x3ad};Cesium__namespace['defined'](this[_0x38c4c1(0x7ef,-_0x935248._0x1bcf63)][_0x44db78(-0x869,0x1e0)])&&(this['options'][_0x38c4c1(_0x935248._0x236076,-0x17b)]?this[_0x44db78(_0x935248._0x41ea2b,0x12b4)]={'content':this[_0x44db78(_0x935248._0x370639,0x631)][_0x38c4c1(0x39e,_0x935248._0x18f28e)],'options':this['options']['contextmenuOptions'],'layer':this}:this['_contextmenuConfig']=null);if(Cesium__namespace[_0x44db78(_0x935248._0x5e9971,0x1186)](this['options'][_0x44db78(0x354,0x46e)])){if(this['options']['popup']){const _0xca24a=this['options']['popupOptions']||{};this['_popupConfig']={'options':_0xca24a,'content':bindLayerPopup(_0xca24a,this[_0x44db78(0xa8c,_0x935248._0x4d90ef)]['popup'],this[_0x38c4c1(0x425,0xdaa)]),'layer':this};}else this[_0x44db78(0x145e,0xae8)]=null;}function _0x44db78(_0xdfb7cf,_0x1fb98a){return _0x2b6441(_0xdfb7cf,_0x1fb98a- -0x8b);}function _0x38c4c1(_0x5e1b97,_0x27eab9){return _0x306755(_0x27eab9,_0x5e1b97- -0x46e);}if(Cesium__namespace[_0x44db78(0xf5d,0x1186)](this['options'][_0x44db78(_0x935248._0x2be8fd,_0x935248._0x32cb8d)])){if(this['options']['tooltip']){const _0x13ba40=this['options']['tooltipOptions']||{};this[_0x44db78(0x853,-_0x935248._0x22b9be)]={'options':_0x13ba40,'content':bindLayerPopup(_0x13ba40,this['options'][_0x44db78(_0x935248._0x2a4d05,0x8b2)],this['name']),'layer':this};}else this[_0x44db78(-_0x935248._0x7c0e30,-0xa5)]=null;}}['_filterPropagateEvent'](_0x4bcd62,_0x400e62){if(_0x400e62['type']==='load')return![];return!![];}[_0x2b6441(0xad8,0xd39)](_0x1b5166,_0x582f4b,_0x107e34,_0x58b9b4,_0x5c8de4){const _0xd98698={_0x1e394e:0xdd2,_0x22a7af:0xa0,_0x579099:0x685,_0x297056:0x10cd};!_0x5c8de4&&(_0x5c8de4=this['options']['crs']);if(_0x5c8de4&&_0x5c8de4!==CRS['EPSG4326']&&_0x5c8de4!==CRS[_0x5ac5cc(0x1863,0xf34)]){const _0x4e4148=proj4Trans([_0x1b5166,_0x582f4b],_0x5c8de4),_0x1da56e=proj4Trans([_0x107e34,_0x58b9b4],_0x5c8de4);_0x1b5166=_0x4e4148[0x0],_0x582f4b=_0x4e4148[0x1],_0x107e34=_0x1da56e[0x0],_0x58b9b4=_0x1da56e[0x1];}function _0x5ac5cc(_0x440828,_0x2bd6ed){return _0x2b6441(_0x2bd6ed,_0x440828-0x42d);}if(isNaN(_0x1b5166)||isNaN(_0x107e34)||isNaN(_0x582f4b)||isNaN(_0x58b9b4)||_0x1b5166<-0xb3||_0x107e34>0xb3||_0x582f4b<-0x55||_0x58b9b4>0x55)return;const _0x44fc05={};_0x44fc05[_0x5291ff(0x6a5,0xa8c)]=_0x1b5166,_0x44fc05[_0x5291ff(0x8bb,_0xd98698._0x1e394e)]=_0x582f4b;function _0x5291ff(_0x11f32a,_0x3c318e){return _0x306755(_0x3c318e,_0x11f32a- -0x5d8);}_0x44fc05[_0x5291ff(-_0xd98698._0x22a7af,-0x9b7)]=_0x107e34,_0x44fc05['ymax']=_0x58b9b4,this['options']['extent']=_0x44fc05,this['_rectangle']=Cesium__namespace['Rectangle']['fromDegrees'](_0x1b5166,_0x582f4b,_0x107e34,_0x58b9b4),this[_0x5ac5cc(0x105c,0x1649)]&&(this['_tileLayer']['rectangle']=this['_rectangle']),logInfo(this['name']+'图层设置了范围:',this,this[_0x5291ff(_0xd98698._0x579099,0xb53)][_0x5291ff(_0xd98698._0x297056,0xd81)]);}['destroy'](_0x3b7456){const _0xbd47c6={_0x58fecc:0xdf7,_0x175dba:0x786},_0x4138b2={_0x9e1356:0x5d3};if(this[_0x20d01f(0x5d5,_0xbd47c6._0x58fecc)]===State['DESTROY'])return;this['_state']!==State['REMOVED']&&(this['clear']&&this['clear'](),this['remove']());super[_0x20d01f(_0xbd47c6._0x175dba,0x9c5)](_0x3b7456);function _0x20d01f(_0x4b7155,_0x598317){return _0x306755(_0x4b7155,_0x598317- -0x5ca);}function _0x28d990(_0x5be9fb,_0x342c9b){return _0x306755(_0x342c9b,_0x5be9fb- -_0x4138b2._0x9e1356);}this['_state']=State['DESTROY'];}}function bindLayerPopup(_0x79adc0,_0x43e5af,_0x7b19e4){const _0x512d26={_0x41d74e:0xc3e,_0x5dead2:0xeaf,_0x27de17:0xcd0};return typeof _0x43e5af==='function'?function(_0x1ca3e5){return _0x43e5af(_0x1ca3e5);}:function(_0x3d43d8){const _0x205302={_0x58905a:0xae5,_0x19f364:0x6b6},_0x297139={_0x249334:0x236};function _0x392043(_0x57e6ee,_0x6e9665){return _0x5bbe(_0x6e9665-0x133,_0x57e6ee);}function _0x330af4(_0x975a40,_0x25c81f){return _0x5bbe(_0x25c81f- -_0x297139._0x249334,_0x975a40);}let _0x5f3c6f=_getAttrForPopup(_0x3d43d8);if(_0x5f3c6f instanceof Promise)return _0x5f3c6f[_0x392043(0x723,0x11c3)](_0x48d3d1=>{const _0x2382d1={_0x579961:0x45c},_0x5afb16={'layer_name':_0x7b19e4,..._0x48d3d1};_0x5f3c6f=_0x5afb16;let _0x318a07=_0x7b19e4;function _0x21b8bc(_0x3c32f9,_0x3f0df0){return _0x392043(_0x3c32f9,_0x3f0df0- -_0x2382d1._0x579961);}if(_0x79adc0['noTitle'])_0x318a07=null;else{if(_0x79adc0['title'])_0x318a07=_0x79adc0['title'];else _0x79adc0[_0x21b8bc(_0x205302._0x58905a,0x771)]&&(_0x318a07=_0x5f3c6f[_0x79adc0['titleField']]);}const _0x148e0f={..._0x79adc0};function _0x41d477(_0x2149df,_0x920ee9){return _0x392043(_0x920ee9,_0x2149df-0x130);}return _0x148e0f['title']=_0x318a07,_0x148e0f['template']=_0x43e5af,_0x148e0f[_0x21b8bc(_0x205302._0x19f364,0x760)]=_0x5f3c6f,getTemplateHtml(_0x148e0f);});else{_0x5f3c6f={'layer_name':_0x7b19e4,..._0x5f3c6f};let _0x13a7b8=_0x7b19e4;if(_0x79adc0['noTitle'])_0x13a7b8=null;else{if(_0x79adc0['title'])_0x13a7b8=_0x79adc0[_0x392043(_0x512d26._0x41d74e,0xcd0)];else _0x79adc0[_0x330af4(0x1082,0x864)]&&(_0x13a7b8=_0x5f3c6f[_0x79adc0[_0x330af4(0x34d,0x864)]]);}const _0x4ced5a={..._0x79adc0};return _0x4ced5a[_0x392043(_0x512d26._0x5dead2,_0x512d26._0x27de17)]=_0x13a7b8,_0x4ced5a['template']=_0x43e5af,_0x4ced5a['attr']=_0x5f3c6f,getTemplateHtml(_0x4ced5a);}};}function _getAttrForPopup(_0x3e884f){const _0x2437ec={_0x570ecf:0xacf,_0x3135e1:0x181d,_0x15bde2:0xc8b,_0x301aa9:0x787,_0x3d23d9:0xeb1,_0x45761e:0x3e4,_0x188a7b:0xe6f},_0x2d62a0={_0x49e4e3:0x6fd};function _0x7b2c48(_0x5374fa,_0x4c0888){return _0x306755(_0x4c0888,_0x5374fa- -0x39a);}var _0x3e9892;function _0x496959(_0x337db8,_0x2f3b5a){return _0x2b6441(_0x337db8,_0x2f3b5a-_0x2d62a0._0x49e4e3);}if(_0x3e884f!==null&&_0x3e884f!==void 0x0&&_0x3e884f[_0x7b2c48(0x962,_0x2437ec._0x570ecf)])return _0x3e884f['attr'];if(_0x3e884f!==null&&_0x3e884f!==void 0x0&&(_0x3e9892=_0x3e884f['graphic'])!==null&&_0x3e9892!==void 0x0&&_0x3e9892[_0x7b2c48(0x962,0xdfd)])return _0x3e884f[_0x496959(_0x2437ec._0x3135e1,0x1a4f)]['attr'];if(!_0x3e884f[_0x496959(0x1bc,_0x2437ec._0x15bde2)])return{};const _0x560a3c=_0x3e884f[_0x496959(0x209,_0x2437ec._0x15bde2)][_0x496959(_0x2437ec._0x301aa9,_0x2437ec._0x3d23d9)]||_0x3e884f[_0x496959(_0x2437ec._0x45761e,_0x2437ec._0x15bde2)]['properties']||_0x3e884f['czmObject'][_0x496959(0xecc,_0x2437ec._0x188a7b)];return _0x560a3c??{};}class BaseGraphicLayer extends BaseLayer{constructor(_0x5bdcd0={}){const _0x62eadb={_0xf46934:0xcb1},_0x30d28d={_0x837745:0x693};function _0x394acf(_0x4d0e09,_0x3b7fa0){return _0x2b6441(_0x4d0e09,_0x3b7fa0-_0x30d28d._0x837745);}_0x5bdcd0[_0x394acf(0xbff,_0x62eadb._0xf46934)]&&_0x5bdcd0['templateValues']&&(_0x5bdcd0['url']=template(_0x5bdcd0['url'],_0x5bdcd0['templateValues'])),super(_0x5bdcd0);}['_showHook'](_0x571619){const _0x4e1f95={_0x21e050:0xbdf};function _0x48104c(_0x50f666,_0x14c71c){return _0x2b6441(_0x14c71c,_0x50f666-0x41e);}!_0x571619&&this[_0x48104c(_0x4e1f95._0x21e050,0xb4c)]();}['_addedHook'](){const _0xb6cfce={_0x3c1dde:0x873,_0x356b17:0x70e,_0xee396c:0xa14,_0xa19df8:0x351},_0x82566f={_0x499a07:0x13c};var _0x6f9840;function _0x4c2bd8(_0x4e309e,_0x406c73){return _0x2b6441(_0x406c73,_0x4e309e-0x166);}function _0x3df50d(_0x3a5864,_0x955a27){return _0x306755(_0x3a5864,_0x955a27-_0x82566f._0x499a07);}if(this['options'][_0x4c2bd8(_0xb6cfce._0x3c1dde,0xf5f)])this['bindHighlight'](this[_0x4c2bd8(0x822,0x731)]['highlight']);else(_0x6f9840=this[_0x4c2bd8(0x822,_0xb6cfce._0x356b17)][_0x3df50d(_0xb6cfce._0xee396c,0xd01)])!==null&&_0x6f9840!==void 0x0&&(_0x6f9840=_0x6f9840[_0x3df50d(0xc8b,0x116f)])!==null&&_0x6f9840!==void 0x0&&_0x6f9840['highlight']&&this[_0x3df50d(_0xb6cfce._0xa19df8,0xbf4)](this['options']['symbol']['styleOptions']['highlight']);}[_0x2b6441(-0x19b,0x88a)](){const _0x13d3b3={_0x333df3:0x117e,_0xe12a00:0xa9a};this['_closeAllControl']();function _0x238665(_0x1fa713,_0x110ac5){return _0x2b6441(_0x110ac5,_0x1fa713-0x71);}this[_0x238665(_0x13d3b3._0x333df3,_0x13d3b3._0xe12a00)]();}['_setOptionsHook'](_0x4edd08,_0x14f5ed){const _0x1f759d={_0x12bab2:0x684,_0x460182:0xb68,_0x355d6d:0xd78},_0x297720={_0x2b0b81:0xca};var _0x472ce7;function _0x389042(_0x4d71a0,_0x1440ea){return _0x306755(_0x4d71a0,_0x1440ea-0xb0);}function _0x2ba36c(_0x4ab880,_0x598b00){return _0x306755(_0x4ab880,_0x598b00-_0x297720._0x2b0b81);}this['_highlightOptions']&&this['unbindHighlight']();if(_0x14f5ed['highlight'])this[_0x389042(_0x1f759d._0x12bab2,_0x1f759d._0x460182)](_0x4edd08[_0x2ba36c(0x1247,_0x1f759d._0x355d6d)]);else(_0x472ce7=_0x14f5ed['symbol'])!==null&&_0x472ce7!==void 0x0&&(_0x472ce7=_0x472ce7['styleOptions'])!==null&&_0x472ce7!==void 0x0&&_0x472ce7['highlight']&&this[_0x389042(0x11c2,0xb68)](_0x4edd08['symbol']['styleOptions']['highlight']);}['_closeAllControl'](){this['closePopup'](),this['closeTooltip'](),this['closeSmallTooltip'](),this['closeContextMenu']();}['bindHighlight'](_0x82b013){const _0x5b8fc9={_0x3e84de:0x12ba,_0x228410:0xcbf,_0x4bf2e2:0x8f7,_0x6cc0ac:0x3fb};function _0x48eef1(_0x435bb9,_0x1f4d28){return _0x306755(_0x1f4d28,_0x435bb9- -0x3a9);}function _0x46d313(_0x40a81b,_0x15d44a){return _0x2b6441(_0x40a81b,_0x15d44a-0x1c7);}this['unbindHighlight'](),this['_highlightOptions']=_0x82b013,this['_highlightOptions'][_0x48eef1(_0x5b8fc9._0x3e84de,0xcb8)]===EventType[_0x48eef1(_0x5b8fc9._0x228410,_0x5b8fc9._0x4bf2e2)]?this['on'](EventType[_0x48eef1(_0x5b8fc9._0x228410,0x95a)],this['_highlight_mouseEventHandler'],this):(this['on'](EventType[_0x46d313(-0x584,_0x5b8fc9._0x6cc0ac)],this['_highlight_mouseEventHandler'],this),this['on'](EventType['mouseOut'],this['_highlight_mouseOutHandler'],this));}['unbindHighlight'](){const _0x44e195={_0x5b8358:0x9b5,_0x28763b:0x1d1,_0x4b35aa:0x1195,_0x4b91b0:0x11d7},_0x585cc4={_0x3bd228:0x405};function _0x320e4c(_0x957bad,_0x35a31c){return _0x2b6441(_0x957bad,_0x35a31c-0x5ea);}function _0x1af08c(_0x17785f,_0x863005){return _0x306755(_0x17785f,_0x863005- -_0x585cc4._0x3bd228);}this['_highlightOptions']&&(this[_0x320e4c(0x3bb,_0x44e195._0x5b8358)](EventType[_0x1af08c(0x5bb,0xc63)],this['_highlight_mouseEventHandler'],this),this[_0x1af08c(-_0x44e195._0x28763b,0x567)](EventType['mouseOver'],this['_highlight_mouseEventHandler'],this),this['off'](EventType['mouseOut'],this['_highlight_mouseOutHandler'],this),this['_map'][_0x1af08c(_0x44e195._0x4b35aa,_0x44e195._0x4b91b0)](this)&&this['_map'][_0x1af08c(0x110b,0x742)](),this['_highlightOptions']=null);}['_highlight_mouseEventHandler'](_0xaa2af5){const _0x164eff={_0x138f68:0x146d},_0x3d766d={_0x2ad495:0x27a};function _0x5edc4f(_0x51438b,_0x1585ef){return _0x2b6441(_0x1585ef,_0x51438b-0x44d);}function _0x859d0f(_0x43bcc7,_0x166fcf){return _0x2b6441(_0x166fcf,_0x43bcc7-_0x3d766d._0x2ad495);}if(!this['_map'])return;const _0x3d25d7=_0xaa2af5===null||_0xaa2af5===void 0x0?void 0x0:_0xaa2af5['graphic'];_0x3d25d7?this[_0x859d0f(0x14a2,0x172b)]['openHighlight'](_0x3d25d7,this[_0x859d0f(_0x164eff._0x138f68,0x13e3)],_0xaa2af5):this['_map']['closeHighlight']();}[_0x306755(0x14c7,0x1674)](_0x4577d6){const _0x560604={_0x5304bd:0x1266,_0x313095:0x7a4},_0x2a3145={_0x3cf422:0x1fe};function _0x340f16(_0x38be5c,_0x2e627b){return _0x2b6441(_0x38be5c,_0x2e627b-_0x2a3145._0x3cf422);}this['_map'][_0x340f16(_0x560604._0x5304bd,_0x560604._0x313095)]();}[_0x2b6441(0x76b,0xe7e)](_0x46f508,_0x39c884){const _0x44b282={_0x3268b7:0x1376};function _0x109789(_0x1e0d14,_0x5d22c3){return _0x306755(_0x5d22c3,_0x1e0d14- -0xa9);}function _0x5ab311(_0x37a186,_0x38c4e5){return _0x2b6441(_0x37a186,_0x38c4e5-0x70b);}if(!this[_0x5ab311(0x222c,0x1933)]||!_0x46f508)return;this['_map'][_0x109789(_0x44b282._0x3268b7,0xf27)](_0x46f508,this['_highlightOptions'],_0x39c884);}['closeHighlight'](){const _0x1c5107={_0xca9ee6:0x15b7};function _0x30c584(_0x26b480,_0x55c470){return _0x306755(_0x26b480,_0x55c470- -0x212);}this[_0x30c584(0xd1f,_0x1c5107._0xca9ee6)]['closeHighlight']();}['hasPopup'](){const _0x4977d4={_0x412647:0xb9e,_0x320eff:0x71f,_0xbe055b:0x1636,_0x24e621:0xa4d,_0x58bc3a:0x114f};function _0x1c26d6(_0x2c93cf,_0x4c2644){return _0x2b6441(_0x2c93cf,_0x4c2644-0x5dc);}function _0x4406ae(_0x5e3313,_0x5e8e48){return _0x306755(_0x5e8e48,_0x5e3313-0x103);}if(this['_popupConfig'])return!![];if(this['_graphicList']){const _0x44cd2b=this['_graphicList'][_0x1c26d6(_0x4977d4._0x412647,_0x4977d4._0x320eff)];for(let _0x28acc9=0x0,_0x2e4c6b=_0x44cd2b[_0x1c26d6(0x2010,_0x4977d4._0xbe055b)];_0x28acc9<_0x2e4c6b;_0x28acc9++){const _0x5f1953=_0x44cd2b[_0x28acc9];if(_0x5f1953[_0x1c26d6(_0x4977d4._0x24e621,_0x4977d4._0x58bc3a)])return!![];}}return![];}[_0x2b6441(0x527,-0x131)](_0x3fd42d,_0x56cb0e){const _0x387050={_0x1fe8a2:0x8a4},_0x4a941e={_0x1ae142:0x3a1},_0x520341={_0xb32d76:0x11c};this[_0x482433(_0x387050._0x1fe8a2,0xd73)]={'content':_0x3fd42d,'options':_0x56cb0e||this['options'][_0x482433(-0x684,0x36d)],'layer':this};function _0x4942ff(_0x53c475,_0x56a2cd){return _0x306755(_0x56a2cd,_0x53c475-_0x520341._0xb32d76);}function _0x482433(_0x53e1ca,_0x1a9b17){return _0x306755(_0x53e1ca,_0x1a9b17- -_0x4a941e._0x1ae142);}return this;}['unbindPopup'](_0x5d0915){const _0x316d54={_0x339c6c:0x407},_0x4802d={_0x29bb46:0x99};function _0x26ef3c(_0xa41f81,_0x5cddae){return _0x2b6441(_0x5cddae,_0xa41f81- -_0x4802d._0x29bb46);}return this['closePopup'](),_0x5d0915?this[_0x26ef3c(0xada,_0x316d54._0x339c6c)]=![]:this['_popupConfig']=null,this;}['openPopup'](_0x4002de){const _0x1758ef={_0x1151c3:0x3e0,_0x5043ee:0x13ba},_0x201611={_0x1215b2:0x4ad},_0x4f8e83={_0x48072d:0x279};if(_0x4002de['openPopup'])_0x4002de[_0x537f90(_0x1758ef._0x1151c3,-0x493)]();else this['_popupConfig']&&_0x4002de&&this['_map']&&(this['_popupConfig']['graphic']=null,this['_map']['popup'][_0x15631c(0xdf7,_0x1758ef._0x5043ee)](_0x4002de,this['_popupConfig']));function _0x15631c(_0xb576f8,_0x209a69){return _0x306755(_0x209a69,_0xb576f8- -_0x4f8e83._0x48072d);}function _0x537f90(_0x14f9aa,_0x4790a0){return _0x2b6441(_0x4790a0,_0x14f9aa-_0x201611._0x1215b2);}return this;}['closePopup'](){const _0x88f3a3={_0xf539e5:0x18ff,_0x15295b:0xbd0,_0x55f6d7:0x1037};var _0x163a7e;(_0x163a7e=this['_map'])!==null&&_0x163a7e!==void 0x0&&_0x163a7e['popup']&&this['hasPopup']()&&this[_0x232a3a(_0x88f3a3._0xf539e5,0x1dfd)][_0x232a3a(_0x88f3a3._0x15295b,_0x88f3a3._0x55f6d7)]['close'](null,this);function _0x232a3a(_0x2de328,_0x2109bc){return _0x306755(_0x2109bc,_0x2de328-0x136);}function _0x79a03c(_0x4ef9a2,_0x3feed3){return _0x306755(_0x3feed3,_0x4ef9a2- -0x5cf);}return this;}['hasTooltip'](){const _0x525cba={_0x349449:0xbcc,_0xf094bb:0x12da,_0x3cecca:0x48b},_0x56a2dc={_0x1feb12:0x1a4};function _0x561848(_0xaf29b7,_0x8ab53e){return _0x306755(_0xaf29b7,_0x8ab53e- -0x92);}function _0x5f3eeb(_0x404270,_0x512a5e){return _0x306755(_0x404270,_0x512a5e- -_0x56a2dc._0x1feb12);}if(this['_tooltipConfig'])return!![];if(this[_0x561848(_0x525cba._0x349449,_0x525cba._0xf094bb)]){const _0x578411=this['_graphicList']['values'];for(let _0x58fcbb=0x0,_0x80a0e8=_0x578411['length'];_0x58fcbb<_0x80a0e8;_0x58fcbb++){const _0x57b759=_0x578411[_0x58fcbb];if(_0x57b759[_0x5f3eeb(_0x525cba._0x3cecca,0x3e3)])return!![];}}return![];}[_0x306755(0x1d04,0x145d)](_0x383dc9,_0x5b95fc){this['_tooltipConfig']={'content':_0x383dc9,'options':_0x5b95fc||this[_0x5c4567(0x841,0xf98)]['tooltipOptions'],'layer':this};function _0x5c4567(_0x1e4fd9,_0x471e77){return _0x306755(_0x471e77,_0x1e4fd9- -0x41c);}return this;}['unbindTooltip'](_0xb4f8ad){const _0x236368={_0x2cc355:0x443,_0x5c622c:0x87f,_0x19c21b:0x6b2};function _0x42c93c(_0x43a727,_0x699d58){return _0x306755(_0x43a727,_0x699d58- -0x92);}function _0x47a11d(_0x1fb741,_0x406e5f){return _0x2b6441(_0x1fb741,_0x406e5f-0x45d);}return _0xb4f8ad?this[_0x47a11d(0x4a8,_0x236368._0x2cc355)]=![]:this[_0x42c93c(_0x236368._0x5c622c,0x4f5)]=null,this[_0x42c93c(0xf12,_0x236368._0x19c21b)](),this;}[_0x306755(0xa0b,0x468)](_0x12befe){const _0x3c615a={_0x3e19ab:0x52f,_0x325d32:0x52f},_0x5e9ed0={_0x371412:0x58};if(_0x12befe[_0x4045d3(0x3f1,0x353)])_0x12befe['openTooltip']();else this[_0x5201bd(0xd6c,_0x3c615a._0x3e19ab)]&&_0x12befe&&this['_map']&&(this['_tooltipConfig'][_0x5201bd(0x14f7,0x189b)]=null,this[_0x4045d3(0x1516,0x16b4)]['tooltip']['open'](_0x12befe,this[_0x5201bd(0xf88,_0x3c615a._0x325d32)]));function _0x5201bd(_0x1df88d,_0x5df81a){return _0x306755(_0x1df88d,_0x5df81a- -_0x5e9ed0._0x371412);}function _0x4045d3(_0x3b3a4c,_0x3fa370){return _0x306755(_0x3b3a4c,_0x3fa370- -0x115);}return this;}[_0x2b6441(0xa3a,0x1a3)](){const _0x386034={_0x252661:0x1661,_0x4b2ee5:0xbf4};function _0x5931fb(_0x342b2d,_0x4e5fed){return _0x2b6441(_0x4e5fed,_0x342b2d-0x439);}this[_0x5931fb(_0x386034._0x252661,0xffb)]&&this['hasTooltip']()&&this[_0xc8bd55(0xdd1,0x1382)]['tooltip'][_0x5931fb(_0x386034._0x4b2ee5,0x10ad)](null,this);function _0xc8bd55(_0x5d51dd,_0x2f5954){return _0x2b6441(_0x5d51dd,_0x2f5954-0x15a);}return this;}['hasContextMenu'](){const _0x1395ed={_0x5decef:0x1686,_0x4d5725:0x13a1};if(this[_0x29d84d(_0x1395ed._0x5decef,0x11ed)])return!![];function _0x29d84d(_0x5f0efa,_0xdf99a3){return _0x306755(_0xdf99a3,_0x5f0efa- -0x25a);}function _0x844e96(_0x27a733,_0x4528cf){return _0x306755(_0x4528cf,_0x27a733- -0x567);}if(this[_0x844e96(0xe05,0x14d2)]){const _0x5c5a7f=this['_graphicList']['values'];for(let _0x422bb3=0x0,_0x46e5fe=_0x5c5a7f[_0x29d84d(_0x1395ed._0x4d5725,0x1dd7)];_0x422bb3<_0x46e5fe;_0x422bb3++){const _0x5bc0bc=_0x5c5a7f[_0x422bb3];if(_0x5bc0bc['_contextmenuConfig'])return!![];}}return![];}[_0x2b6441(0xb7e,0x677)](){const _0x41540={_0x14f568:0x187a};function _0x47f691(_0x508fb7,_0x4fc6db){return _0x306755(_0x508fb7,_0x4fc6db- -0x66);}return this[_0x47f691(0x1c45,_0x41540._0x14f568)];}['bindContextMenu'](_0xd2b0a8,_0x2b8789){var _0x4309d0;return this['_contextmenuConfig']={'content':_0xd2b0a8,'options':_0x2b8789||((_0x4309d0=this['options'])===null||_0x4309d0===void 0x0?void 0x0:_0x4309d0['contextmenuOptions']),'layer':this},this;}['unbindContextMenu'](_0x52a512){const _0x3aab1f={_0x4831bc:0x1852,_0x4d2577:0x11bd,_0x40862f:0x14a1,_0x2c6895:0xfc1,_0x374922:0x16b4},_0x497378={_0x14a19e:0x513};function _0xcff0ff(_0x245539,_0xa20c8a){return _0x2b6441(_0xa20c8a,_0x245539-_0x497378._0x14a19e);}function _0x5938db(_0x30a531,_0x11c191){return _0x306755(_0x30a531,_0x11c191- -0x43f);}return _0x52a512?this[_0xcff0ff(_0x3aab1f._0x4831bc,_0x3aab1f._0x4d2577)]=![]:this[_0x5938db(0x1ce1,_0x3aab1f._0x40862f)]=null,this[_0xcff0ff(_0x3aab1f._0x2c6895,_0x3aab1f._0x374922)](),this;}['openContextMenu'](_0x28113d){const _0x2f6297={_0xdcd8a2:0x775,_0x2779ed:0x653},_0x239eef={_0x14a69d:0x5d1};function _0x516bcf(_0x46f079,_0x5e6ccd){return _0x2b6441(_0x5e6ccd,_0x46f079-0x4b6);}if(_0x28113d[_0x516bcf(_0x2f6297._0xdcd8a2,0xba0)])_0x28113d['openContextMenu']();else this['_contextmenuConfig']&&_0x28113d&&this[_0x516bcf(0x16de,0x1056)]&&(this['_contextmenuConfig']['graphic']=null,this[_0xee00cf(0x11f8,0xdbe)][_0x516bcf(0x10fb,_0x2f6297._0x2779ed)]['open'](_0x28113d,this['_contextmenuConfig']));function _0xee00cf(_0x3eade4,_0x5bfa16){return _0x306755(_0x5bfa16,_0x3eade4- -_0x239eef._0x14a69d);}return this;}[_0x2b6441(0x53a,0xaae)](){const _0x32943f={_0x1e8633:0xf78},_0x1554b8={_0xc31bc9:0x333};this['_map']&&this['hasContextMenu']()&&this['_map'][_0x2e21fa(0x13b3,_0x32943f._0x1e8633)]['close'](null,this);function _0x2e21fa(_0x59d5be,_0x16939d){return _0x2b6441(_0x59d5be,_0x16939d-_0x1554b8._0xc31bc9);}return this;}[_0x2b6441(0xed0,0x9b5)](_0x4d4472,_0x4f6e4f){return this['_map']&&this['_map']['openSmallTooltip'](_0x4d4472,_0x4f6e4f),this;}['closeSmallTooltip'](){const _0x3c9125={_0xb8d756:0x3d2};function _0x1ef8ec(_0x350b9c,_0x38a6b8){return _0x306755(_0x38a6b8,_0x350b9c- -_0x3c9125._0xb8d756);}return this['_map']&&this['_map'][_0x1ef8ec(0xbad,0x1563)](),this;}}const KDBush=Cesium__namespace['Mars3DEx'][_0x2b6441(-0x9b,-0xe7)]??window['KDBush'];class PointCluster{constructor(_0x5b87c1){const _0x376b9b={_0x3ce534:0x9c5,_0x53806f:0x12c4,_0x241993:0x50,_0x1074bb:0x5a0};this['_graphicLayer']=_0x5b87c1,this[_0x671326(0x188a,0x14b0)]=_0x5b87c1[_0x1aee92(0xb92,0x12c4)],this[_0x671326(0x970,0x275)]=[],this['_billboardCollection']=new Cesium__namespace['BillboardCollection']({'scene':this[_0x1aee92(_0x376b9b._0x3ce534,0x12c4)]['scene']}),this[_0x1aee92(0x15db,_0x376b9b._0x53806f)]['scene'][_0x671326(_0x376b9b._0x241993,_0x376b9b._0x1074bb)]['add'](this['_billboardCollection']),this['updateOptions']();function _0x671326(_0x2d6e30,_0x15ff13){return _0x2b6441(_0x2d6e30,_0x15ff13-0x288);}function _0x1aee92(_0x3a5c79,_0x6a3d91){return _0x306755(_0x3a5c79,_0x6a3d91- -0x505);}KDBush?this['bindEvent']():logError('未识别KDBush库,您可以任选下面方式:\x0a1.\x20更新\x20mars3d-cesium库至v.122及以上版本\x0a2.\x20请引入kdbush库:import\x20KDBush\x20from\x20\x22kdbush\x22;\x20window.KDBush=\x20KDBush;');}get['enabled'](){return this['_enabled'];}set['enabled'](_0x2fe29d){const _0x440875={_0x54a4ad:0x156f,_0x43a534:0x914},_0x9bf35d={_0x108e6f:0x1c0},_0x5378b5={_0x1df0a7:0x50};function _0x5d78b0(_0x2dace2,_0x17c322){return _0x306755(_0x17c322,_0x2dace2-_0x5378b5._0x1df0a7);}function _0x5b8e76(_0x46cb12,_0x133bae){return _0x2b6441(_0x133bae,_0x46cb12-_0x9bf35d._0x108e6f);}this['_enabled']=_0x2fe29d;if(_0x2fe29d)this['_cluster']();else{this[_0x5b8e76(0xa1a,0xb00)]();const _0x33328d=this['_graphicLayer']['graphics'];for(let _0x1b1e7e=0x0;_0x1b1e7e<_0x33328d[_0x5b8e76(0x121a,_0x440875._0x54a4ad)];++_0x1b1e7e){_0x33328d[_0x1b1e7e][_0x5d78b0(0xaf3,_0x440875._0x43a534)]=![];}}}['updateOptions'](){const _0x14605c={_0xc504b3:0xc03,_0x3f1b66:0x1650,_0x41e313:0x168e,_0x43311d:0x13d2,_0x419b02:0xf35,_0x96e9c:0x488};function _0x354b19(_0x1917f3,_0x24eef3){return _0x306755(_0x1917f3,_0x24eef3- -0xca);}const _0x2b2cf4=this['_graphicLayer']['options']['cluster']||this['_graphicLayer']['options']['clustering']||{};this['options']=_0x2b2cf4,this[_0x40074d(0xbcb,_0x14605c._0xc504b3)]=_0x2b2cf4[_0x354b19(_0x14605c._0x3f1b66,0x1206)]??this[_0x40074d(_0x14605c._0x41e313,_0x14605c._0x43311d)]['show'],this[_0x40074d(0x79b,_0x14605c._0x419b02)]=_0x2b2cf4['pixelRange']??0x14,this[_0x354b19(0x57,0x955)]=_0x2b2cf4['minimumClusterSize']??0x2,this['_includePoly']=_0x2b2cf4['includePoly']??!![],this['_globalAlpha']=this['_graphicLayer']['opacity'];function _0x40074d(_0x19f50a,_0xf30b50){return _0x2b6441(_0xf30b50,_0x19f50a-0x41f);}this[_0x40074d(0x2f2,_0x14605c._0x96e9c)]&&(this['_billboardCollection']['zIndex']=_0x2b2cf4['zIndex']);}['bindEvent'](){const _0x74e9e2={_0x5dfffa:0xc1,_0x407fdb:0xe10,_0x4ccab1:0x135b,_0x3d4e95:0x1180,_0x5dd972:0xe63,_0x2db42c:0x3bb,_0x7e4b9c:0x1092},_0x628342={_0x2bdbd0:0x2dc};this['mouse_down']=![],this['mouse_move']=![],this[_0x23abec(-_0x74e9e2._0x5dfffa,0x79f)]=funThrottle(this['_cluster'],0x12c),this['_map']['on'](EventType['wheel'],this['_onCameraChangedEventThrottle'],this),this['_map']['camera'][_0x4d3179(0x128f,0x12ea)]=0.02;function _0x4d3179(_0x5bdb6c,_0x2a5deb){return _0x306755(_0x5bdb6c,_0x2a5deb- -_0x628342._0x2bdbd0);}function _0x23abec(_0x389778,_0x1a147b){return _0x306755(_0x389778,_0x1a147b- -0x46e);}this[_0x23abec(_0x74e9e2._0x407fdb,_0x74e9e2._0x4ccab1)]['on'](EventType[_0x23abec(_0x74e9e2._0x3d4e95,_0x74e9e2._0x5dd972)],this[_0x23abec(_0x74e9e2._0x2db42c,0x79f)],this),this['_map']['on'](EventType['mouseDown'],this[_0x4d3179(0x8d1,_0x74e9e2._0x7e4b9c)],this),this['_map']['on'](EventType['mouseUp'],this['_onMouseUpEvent'],this);}[_0x306755(0x10cd,0xd48)](){const _0x797a5f={_0x5e7208:0x114c,_0x576e84:0x72c,_0x1bfdfd:0xd9d,_0x5eb5fa:0x5c1};function _0x4402f1(_0x57654e,_0x52cd39){return _0x306755(_0x52cd39,_0x57654e- -0x2b6);}this[_0x289f0a(0x2014,0x15e2)]['off'](EventType['wheel'],this['_onCameraChangedEventThrottle'],this);function _0x289f0a(_0x1fa6ad,_0x479970){return _0x2b6441(_0x1fa6ad,_0x479970-0x3ba);}this['_map']['off'](EventType[_0x289f0a(0x181e,0x10ea)],this['_onCameraChangedEventThrottle'],this),this['_map']['off'](EventType['mouseDown'],this[_0x289f0a(0x1b1f,0x1187)],this),this[_0x289f0a(_0x797a5f._0x5e7208,0x15e2)][_0x4402f1(0x6b6,0x54e)](EventType['mouseUp'],this[_0x289f0a(_0x797a5f._0x576e84,0x1199)],this),this['_map'][_0x4402f1(0x6b6,0xf99)](EventType['mouseMove'],this[_0x4402f1(_0x797a5f._0x1bfdfd,_0x797a5f._0x5eb5fa)],this);}['_onMouseDownEvent'](_0x3821ce){const _0x1cfc2e={_0x10c029:0x247,_0x3d2782:0x8ec,_0x376937:0xa60};this[_0x163914(0x137b,0x15e6)]=!![];function _0x163914(_0x3c6cf8,_0x3a846c){return _0x2b6441(_0x3a846c,_0x3c6cf8-0x3c1);}function _0x15be45(_0x49683d,_0x39ce55){return _0x306755(_0x49683d,_0x39ce55- -0x8);}this['_map']['off'](EventType[_0x15be45(_0x1cfc2e._0x10c029,0xa60)],this['_onMouseMoveEvent'],this),this['_map']['on'](EventType[_0x15be45(_0x1cfc2e._0x3d2782,_0x1cfc2e._0x376937)],this['_onMouseMoveEvent'],this);}['_onMouseMoveEvent'](_0x4ec36e){const _0x2e8779={_0x3e3c51:0x11a9};function _0xf83d63(_0x58d0c5,_0x368817){return _0x306755(_0x368817,_0x58d0c5- -0x3b2);}this[_0xf83d63(_0x2e8779._0x3e3c51,0x131d)]&&(this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x5c53c9){const _0x9467c2={_0x2adbec:0x588,_0x5964c9:0x25d};function _0xc2e16c(_0x3687b5,_0x230ec6){return _0x306755(_0x3687b5,_0x230ec6- -0x7b);}function _0x1360f0(_0x443881,_0x20c1d2){return _0x306755(_0x20c1d2,_0x443881- -0x3e4);}this[_0xc2e16c(0x204d,0x174e)][_0x1360f0(_0x9467c2._0x2adbec,_0x9467c2._0x5964c9)](EventType['mouseMove'],this['_onMouseMoveEvent'],this),this[_0xc2e16c(0x1ea2,0x14e0)]&&this['mouse_move']&&this['_cluster'](),this[_0x1360f0(0x1177,0xfb1)]=![],this['mouse_move']=![];}[_0x306755(0x90c,0xdfb)](){const _0x487c43={_0x16ad63:0x1d8},_0x54be6e={_0xd99daf:0x6ac};function _0x58edfd(_0x428053,_0xc25aac){return _0x2b6441(_0xc25aac,_0x428053-_0x54be6e._0xd99daf);}this[_0x58edfd(0x57f,_0x487c43._0x16ad63)]['removeAll']();}['_cluster'](){const _0xbf769={_0x4ee7bf:0x1f40,_0x4a9c95:0x15a5,_0x3beec0:0x1c20,_0x13c9e4:0x17f9,_0x44a11d:0x126f,_0x2d0863:0xf17,_0x37776b:0x1574,_0x4ca8b9:0x1780,_0x48de64:0x155e,_0x466ea4:0xb2d,_0x294372:0x583,_0x1878af:0x1db3,_0x1c9990:0x149d,_0x156779:0xb69,_0x40b999:0x18b,_0x245b2a:0xbf3,_0x451b75:0x722,_0x25ec05:0x907,_0x4ea84c:0x305,_0x504840:0x155e,_0x114853:0x10b9,_0x4a64b2:0x5fc,_0x14fbae:0x980,_0x4ef506:0x9b6,_0x30c8bc:0xc22,_0x4a4056:0x14a4,_0x479faa:0xbb4,_0x2c8ec4:0x1226,_0x3c7b5d:0xa51,_0x1a2d97:0xc1b,_0x1b0dc9:0xbc3},_0x4e770f={_0x5ca039:0x30};if(!this[_0x31911d(0xf06,0x1300)]||!this[_0x4c9812(_0xbf769._0x4ee7bf,_0xbf769._0x4a9c95)]['show'])return;const _0xc3e14e=this['_graphicLayer'],_0x20adfa=_0xc3e14e[_0x31911d(0xe3f,0x10ae)]();if(_0x20adfa['length']===0x0)return;const _0x475815=this[_0x31911d(_0xbf769._0x3beec0,_0xbf769._0x13c9e4)]['scene'][_0x4c9812(0x17c4,0x15f3)][_0x4c9812(0xf79,_0xbf769._0x44a11d)],_0x589ebf=this['_map'][_0x31911d(_0xbf769._0x2d0863,0xa95)]['camera'][_0x4c9812(0xf98,_0xbf769._0x37776b)],_0x5d0620=new Cesium__namespace[(_0x31911d(0xc29,0x1388))](_0x475815,_0x589ebf),_0x5db2cd=this['_getScreenSpacePositions'](_0x20adfa,_0x5d0620);if(_0x5db2cd['length']===0x0)return;function _0x31911d(_0x4b7784,_0x554722){return _0x306755(_0x4b7784,_0x554722-_0x4e770f._0x5ca039);}const _0x253f39=this['_pixelRange'],_0x3a8b4b=this['_minimumClusterSize'],_0x4694e8=this['_clustersList'],_0x33331c=[],_0x5b949e=this['_previousHeight'],_0x38109b=this[_0x4c9812(_0xbf769._0x4ca8b9,_0xbf769._0x48de64)][_0x31911d(_0xbf769._0x466ea4,0xa95)]['camera']['positionCartographic'][_0x4c9812(_0xbf769._0x294372,0x987)];let _0x207b41,_0x41603b,_0x5c1d3a,_0x4d63a8,_0x1badc5,_0x2cf143,_0x3392e6,_0x33a4df,_0x52bcd4,_0x751b66,_0x3010c3;if(_0x5db2cd['length']>0x0){const _0x2cbbb4=new KDBush(_0x5db2cd[_0x4c9812(_0xbf769._0x1878af,0x1390)],0x40,Uint32Array);for(let _0x67b521=0x0;_0x67b521<_0x5db2cd['length'];++_0x67b521){_0x2cbbb4[_0x31911d(_0xbf769._0x1c9990,0xd5e)](_0x5db2cd[_0x67b521]['_cluster_coord']['x'],_0x5db2cd[_0x67b521]['_cluster_coord']['y']);}_0x2cbbb4['finish']();if(_0x38109b<_0x5b949e){_0x5c1d3a=_0x4694e8['length'];for(_0x207b41=0x0;_0x207b41<_0x5c1d3a;++_0x207b41){const _0x307cb0=_0x4694e8[_0x207b41];if(!_0x5d0620[_0x4c9812(0xa6c,_0xbf769._0x156779)](_0x307cb0['position']))continue;const _0x594f85=Cesium__namespace[_0x4c9812(_0xbf769._0x40b999,_0xbf769._0x245b2a)][_0x31911d(0x1730,0xdc5)](Cesium__namespace[_0x4c9812(_0xbf769._0x451b75,_0xbf769._0x25ec05)]['IDENTITY'],_0x307cb0['position'],Cesium__namespace[_0x31911d(0x8df,0xa51)]['ZERO'],Cesium__namespace['Cartesian2'][_0x4c9812(0xd74,_0xbf769._0x4ea84c)],this[_0x4c9812(0x195e,_0xbf769._0x504840)]['scene']);if(!Cesium__namespace['defined'](_0x594f85))continue;const _0x13e425=0x1-_0x38109b/_0x5b949e;let _0x218aee=_0x307cb0['width']=_0x307cb0['width']*_0x13e425,_0x5d6ed7=_0x307cb0['height']=_0x307cb0['height']*_0x13e425;_0x218aee=Math['max'](_0x218aee,_0x307cb0[_0x31911d(0xd10,0x13fe)]),_0x5d6ed7=Math['max'](_0x5d6ed7,_0x307cb0['minimumHeight']);const _0x4ed460=_0x594f85['x']-_0x218aee*0.5,_0x5072c6=_0x594f85['y']-_0x5d6ed7*0.5,_0x5ca368=_0x594f85['x']+_0x218aee,_0x2802d8=_0x594f85['y']+_0x5d6ed7;_0x1badc5=_0x2cbbb4['range'](_0x4ed460,_0x5072c6,_0x5ca368,_0x2802d8),_0x2cf143=_0x1badc5[_0x4c9812(0xd61,0x1390)],_0x751b66=0x0,_0x52bcd4=[];for(_0x41603b=0x0;_0x41603b<_0x2cf143;++_0x41603b){_0x3392e6=_0x1badc5[_0x41603b],_0x33a4df=_0x5db2cd[_0x3392e6],!_0x33a4df['_clustered']&&(++_0x751b66,_0x3010c3=_0x33a4df,_0x52bcd4[_0x4c9812(-0x306,0x42e)](_0x3010c3['id']));}if(_0x751b66>=_0x3a8b4b){_0x307cb0['graphicIds']=_0x52bcd4,_0x33331c['push'](_0x307cb0);for(_0x41603b=0x0;_0x41603b<_0x2cf143;++_0x41603b){_0x5db2cd[_0x1badc5[_0x41603b]][_0x4c9812(_0xbf769._0x114853,_0xbf769._0x4a64b2)]=!![];}}}}_0x5c1d3a=_0x5db2cd['length'];for(_0x207b41=0x0;_0x207b41<_0x5c1d3a;++_0x207b41){const _0x41e6e6=_0x5db2cd[_0x207b41];if(_0x41e6e6['_clustered'])continue;_0x41e6e6['_clustered']=!![],_0x4d63a8=this['_getBoundingBox'](_0x41e6e6,_0x41e6e6['_cluster_coord'],_0x253f39,pointBoundinRectangleScratch);const _0x39f375=Cesium__namespace['BoundingRectangle']['clone'](_0x4d63a8,totalBoundingRectangleScratch);_0x1badc5=_0x2cbbb4[_0x4c9812(0x1538,0x1792)](_0x4d63a8['x'],_0x4d63a8['y'],_0x4d63a8['x']+_0x4d63a8[_0x4c9812(0x28e,_0xbf769._0x14fbae)],_0x4d63a8['y']+_0x4d63a8[_0x31911d(_0xbf769._0x4ef506,_0xbf769._0x30c8bc)]),_0x2cf143=_0x1badc5[_0x4c9812(_0xbf769._0x4a4056,0x1390)];const _0x1c863e=Cesium__namespace[_0x31911d(_0xbf769._0x479faa,0xa51)][_0x31911d(0xea6,0x938)](_0x41e6e6['_position_cluster']);_0x751b66=0x1,_0x52bcd4=[_0x41e6e6['id']];for(_0x41603b=0x0;_0x41603b<_0x2cf143;++_0x41603b){_0x3392e6=_0x1badc5[_0x41603b],_0x33a4df=_0x5db2cd[_0x3392e6];if(!_0x33a4df[_0x4c9812(0x38f,0x5fc)]){const _0x1f9f6f=this['_getBoundingBox'](_0x33a4df,_0x33a4df['_cluster_coord'],_0x253f39,neighborBoundingRectangleScratch),_0x246822=_0x33a4df['_position_cluster'];Cesium__namespace['Cartesian3']['add'](_0x246822,_0x1c863e,_0x1c863e),Cesium__namespace['BoundingRectangle'][_0x31911d(0x1087,0x1986)](_0x39f375,_0x1f9f6f,_0x39f375),++_0x751b66,_0x52bcd4['push'](_0x33a4df['id']);}}if(_0x751b66>=_0x3a8b4b){const _0x3f3d74=Cesium__namespace[_0x31911d(_0xbf769._0x2c8ec4,_0xbf769._0x3c7b5d)]['multiplyByScalar'](_0x1c863e,0x1/_0x751b66,_0x1c863e),_0xe4cb96={'position':_0x3f3d74,'width':_0x39f375['width'],'height':_0x39f375['height'],'minimumWidth':_0x4d63a8[_0x31911d(0x6a0,_0xbf769._0x1a2d97)],'minimumHeight':_0x4d63a8['height'],'graphicIds':_0x52bcd4,'getGraphics':function(){return _0xc3e14e['getGraphicsByIds'](this['graphicIds']);}};_0x33331c['push'](_0xe4cb96);for(_0x41603b=0x0;_0x41603b<_0x2cf143;++_0x41603b){_0x5db2cd[_0x1badc5[_0x41603b]]['_clustered']=!![];}}else _0x41e6e6['isCluster']=![];}}this['_clustersList']=_0x33331c;function _0x4c9812(_0x54ba2e,_0x518310){return _0x306755(_0x54ba2e,_0x518310- -0x26b);}this['_previousHeight']=_0x38109b,this[_0x31911d(_0xbf769._0x1b0dc9,0x7cd)](_0x33331c);}['_getBoundingBox'](_0x3ebc7b,_0x1d3992,_0xe23211,_0x45367a){const _0x927ad8={_0x25633c:0xa32,_0x4527c6:0x13f2,_0x375947:0x10fb,_0x1f6b00:0x1f9b},_0x52d956={_0x396c19:0x112};_0x3ebc7b[_0x3cfcd9(_0x927ad8._0x25633c,0x86a)]?_0x45367a=_0x3ebc7b['getBoundingBox'](_0x1d3992,_0x45367a):_0x45367a=getScreenSpaceBoundingBox(_0x3ebc7b,_0x1d3992,_0x45367a);function _0x3cfcd9(_0x40735a,_0x2104eb){return _0x306755(_0x40735a,_0x2104eb- -0x83);}expandBoundingBox(_0x45367a,_0xe23211);if(_0x3ebc7b[_0xd8311d(_0x927ad8._0x4527c6,0xd61)]){const _0x3ee260=Cesium__namespace[_0xd8311d(_0x927ad8._0x375947,0xe1a)][_0xd8311d(0x14fd,_0x927ad8._0x1f6b00)](_0x3ebc7b['_primitive_label'],_0x1d3992,labelBoundingBoxScratch);expandBoundingBox(_0x3ee260,_0xe23211),_0x45367a=Cesium__namespace['BoundingRectangle']['union'](_0x45367a,_0x3ee260,_0x45367a);}function _0xd8311d(_0x4510e6,_0x535c60){return _0x306755(_0x535c60,_0x4510e6- -_0x52d956._0x396c19);}return _0x45367a;}['_getScreenSpacePositions'](_0x374326,_0xc305f7){const _0x397a29={_0x48c88b:0x1176,_0x104b85:0x1532,_0x4ea664:0x1008,_0x316e4e:0x11a0,_0x3119c4:0x1471,_0x639717:0x47b,_0xc65bae:0x8c4,_0x489e4c:0x8e9},_0x2633b6={_0x48bf1d:0x47f};function _0x48ed35(_0x1dd57a,_0x280193){return _0x306755(_0x1dd57a,_0x280193- -0x317);}if(!Cesium__namespace[_0x116bc6(0x1f9a,0x1690)](_0x374326))return;const _0xe819ba=this['_graphicLayer']['_graphic_drawing'],_0x1406bd=[],_0x1c64c5=_0x374326['length'];for(let _0x54658f=0x0;_0x54658f<_0x1c64c5;++_0x54658f){const _0x2f0833=_0x374326[_0x54658f];if(!_0x2f0833['isAdded']||_0xe819ba===_0x2f0833||_0x2f0833[_0x116bc6(0x1b78,_0x397a29._0x48c88b)]||this['_includePoly']===![]&&!_0x2f0833[_0x48ed35(0x193c,_0x397a29._0x104b85)]||!_0x2f0833['hasCluster'])continue;const _0x5daa6d=_0x2f0833['positionShow']??_0x2f0833[_0x48ed35(_0x397a29._0x4ea664,0xee0)]??_0x2f0833['center'];if(!_0x5daa6d||!_0x2f0833[_0x116bc6(_0x397a29._0x316e4e,_0x397a29._0x3119c4)]||this['_map']['scene']['mode']===Cesium__namespace[_0x116bc6(_0x397a29._0x639717,_0x397a29._0xc65bae)][_0x116bc6(_0x397a29._0x489e4c,0x10a9)]&&!_0xc305f7['isPointVisible'](_0x5daa6d))continue;let _0xd9b479;_0x2f0833['getWindowCoordinates']?_0xd9b479=_0x2f0833['getWindowCoordinates']():_0xd9b479=getWindowCoordinates(this['_map'][_0x116bc6(0x111a,0x943)],_0x5daa6d);if(!Cesium__namespace['defined'](_0xd9b479))continue;_0x2f0833[_0x116bc6(0xf24,0x981)]=!![],_0x2f0833['_clustered']=![],_0x2f0833['_cluster_coord']=_0xd9b479,_0x2f0833['_position_cluster']=_0x5daa6d,_0x1406bd['push'](_0x2f0833);}function _0x116bc6(_0x3128b4,_0x230ff1){return _0x2b6441(_0x3128b4,_0x230ff1-_0x2633b6._0x48bf1d);}return _0x1406bd;}['_refreshClusterBillboard'](_0x497f09){const _0x282a83={_0x57faa0:0x822,_0x5b385b:0x1237,_0x49e367:0x6a3,_0x2d8d64:0xda9};this['_billboardCollection'][_0x3e0991(_0x282a83._0x57faa0,0x854)]();for(let _0x30849f=0x0;_0x30849f<_0x497f09['length'];_0x30849f++){this['_addClusterItem'](_0x497f09[_0x30849f]);}function _0x2f5ec7(_0x4ade0f,_0x559265){return _0x2b6441(_0x4ade0f,_0x559265-0x6d9);}function _0x3e0991(_0x463894,_0xdec3e6){return _0x306755(_0xdec3e6,_0x463894- -0x5d9);}this[_0x3e0991(_0x282a83._0x5b385b,0x15f1)][_0x3e0991(0x2b0,_0x282a83._0x49e367)](EventType['clusterStop'],{'list':this[_0x2f5ec7(0xfac,_0x282a83._0x2d8d64)]()});}[_0x306755(0xc56,0x9a1)](_0x59521c){const _0x984fcc={_0x2ad4bc:0x645,_0x21f7ca:0x82f,_0x49df24:0xf3f,_0x28db47:0x470,_0x391883:0xc36,_0x303b46:0x1983,_0x57a42c:0x8b6,_0x3eeed1:0xce4,_0x586254:0x83f,_0x240392:0xcb,_0x5e7b7c:0x1797,_0x58cb2b:0x690,_0x5e2c1e:0xcc4,_0x3d6e36:0x11dd,_0x25c58b:0xd07,_0x17cfc0:0x8cf,_0x1f4357:0xb23},_0x5c2c9d={_0x4332e3:0x41e};var _0x1286df,_0x113893;let _0x1b1532=_0x59521c['position'];(_0x1286df=this['options'][_0x34ae4d(-_0x984fcc._0x2ad4bc,0x438)])!==null&&_0x1286df!==void 0x0&&_0x1286df['setHeight']&&(_0x1b1532=setPositionsHeight(_0x1b1532,this['options'][_0x34ae4d(0xbc4,0x438)]['setHeight']));(_0x113893=this['options'][_0x4e01af(0x282,_0x984fcc._0x21f7ca)])!==null&&_0x113893!==void 0x0&&_0x113893[_0x34ae4d(_0x984fcc._0x49df24,0xa67)]&&(_0x1b1532=addPositionsHeight(_0x1b1532,this[_0x4e01af(_0x984fcc._0x28db47,_0x984fcc._0x391883)][_0x34ae4d(0xbb5,0x438)]['addHeight']));const _0x2df018={};_0x2df018[_0x4e01af(_0x984fcc._0x303b46,0x11d0)]=_0x1b1532;function _0x4e01af(_0x1ceb8e,_0x319447){return _0x2b6441(_0x1ceb8e,_0x319447-0x57a);}_0x2df018[_0x4e01af(0x152b,0x120a)]=Cesium__namespace['VerticalOrigin']['BOTTOM'],_0x2df018[_0x34ae4d(0xa9d,_0x984fcc._0x57a42c)]=0.5;const _0x1bd481=_0x2df018;this[_0x34ae4d(_0x984fcc._0x3eeed1,_0x984fcc._0x586254)][_0x34ae4d(-_0x984fcc._0x240392,0x438)]?(this[_0x4e01af(0x1435,0x11a6)]!==0x1&&(this['options']['style'][_0x4e01af(0x1185,_0x984fcc._0x5e7b7c)]=this['_globalAlpha']),BillboardStyleConver['toCesiumVal'](this['options']['style'],_0x1bd481)):this['_globalAlpha']!==0x1&&(_0x1bd481['color']=Cesium__namespace['Color']['WHITE']['withAlpha'](this['_globalAlpha']));const _0x26dc6c=this['options'][_0x4e01af(0x3fc,_0x984fcc._0x58cb2b)];if(isString(_0x26dc6c))_0x1bd481['image']=_0x26dc6c;else{if(isFunction(_0x26dc6c)){const _0xb66ffe=_0x26dc6c(_0x59521c['graphicIds']['length'],_0x59521c);_0xb66ffe['then']?_0xb66ffe['then'](function(_0x504120){_0x1c6b4d['_billboardCollection']&&(_0x1c6b4d['image']=_0x504120);}):_0x1bd481['image']=_0xb66ffe;}else _0x1bd481['image']=getCircleImage(_0x59521c[_0x4e01af(_0x984fcc._0x5e2c1e,0x9e6)][_0x34ae4d(0x1049,_0x984fcc._0x3d6e36)],_0x26dc6c);}const _0x1c6b4d=this[_0x34ae4d(0x8c8,0x56)][_0x4e01af(0xa88,_0x984fcc._0x25c58b)](_0x1bd481);_0x1c6b4d['_mars3d_layerId']=this['_graphicLayer']['id'],_0x1c6b4d[_0x4e01af(_0x984fcc._0x17cfc0,_0x984fcc._0x1f4357)]=_0x59521c,_0x59521c['billboard']=_0x1c6b4d;function _0x34ae4d(_0x12d86f,_0x57e6aa){return _0x306755(_0x12d86f,_0x57e6aa- -_0x5c2c9d._0x4332e3);}return _0x1c6b4d;}['getClusterList'](){const _0x5da2c3={_0x586fd8:0xcbf},_0x461224={_0x44bf06:0x5d3},_0x42ea4d=[];for(let _0x49ea47=0x0,_0x480829=this['_billboardCollection']['length'];_0x49ea47<_0x480829;_0x49ea47++){const _0x14303b=this['_billboardCollection'][_0x1a6b4b(_0x5da2c3._0x586fd8,0x9d2)](_0x49ea47);_0x42ea4d['push'](_0x14303b['_clusterData']);}function _0x1a6b4b(_0x48db12,_0x47238d){return _0x2b6441(_0x47238d,_0x48db12-_0x461224._0x44bf06);}return _0x42ea4d;}['setOpacity'](_0x5bc8ab){const _0x3d16f4={_0x33bcef:0xcf4},_0x556631={_0x45de9e:0x4b7};this['_globalAlpha']=_0x5bc8ab;function _0x3e850f(_0x41e797,_0x391893){return _0x306755(_0x41e797,_0x391893- -0x2cb);}function _0x598b55(_0x49e754,_0x3d0ee9){return _0x2b6441(_0x3d0ee9,_0x49e754-_0x556631._0x45de9e);}for(let _0x178f5c=0x0,_0x5873d8=this['_billboardCollection']['length'];_0x178f5c<_0x5873d8;_0x178f5c++){const _0x5a6e7a=this['_billboardCollection'][_0x598b55(0xba3,_0x3d16f4._0x33bcef)](_0x178f5c);_0x5a6e7a[_0x3e850f(0x9c7,0xbe4)]=Cesium__namespace[_0x598b55(0xe4a,0x8e3)][_0x598b55(0x973,0xdf8)]['withAlpha'](_0x5bc8ab);}}[_0x306755(0xe76,0xf8f)](){const _0x3bf5f9={_0x52a7ac:0x856,_0x2e00e1:0x111b,_0x56bfef:0x3bf},_0x24226a={_0x55529e:0xb9};this[_0x2c7607(_0x3bf5f9._0x52a7ac,_0x3bf5f9._0x2e00e1)]();function _0x2c7607(_0x427b69,_0x50c32a){return _0x2b6441(_0x50c32a,_0x427b69-0xaf);}this[_0x2c7607(-0x7e,0x21f)]&&this[_0x42ac81(0x52d,_0x3bf5f9._0x56bfef)]['destroy']();function _0x42ac81(_0x594e16,_0x562fab){return _0x306755(_0x562fab,_0x594e16-_0x24226a._0x55529e);}this['_billboardCollection']=undefined;}}const labelBoundingBoxScratch=new Cesium__namespace[(_0x306755(0x11d3,0xd38))](),pointBoundinRectangleScratch=new Cesium__namespace['BoundingRectangle'](),totalBoundingRectangleScratch=new Cesium__namespace['BoundingRectangle'](),neighborBoundingRectangleScratch=new Cesium__namespace['BoundingRectangle']();function expandBoundingBox(_0x594423,_0x477e32){const _0x4e28ad={_0x388e24:0xd17},_0x5d8d4a={_0x84f8b9:0x12c};_0x594423['x']-=_0x477e32,_0x594423['y']-=_0x477e32,_0x594423[_0x28a551(_0x4e28ad._0x388e24,0x141d)]+=_0x477e32*0x2;function _0x28a551(_0x151b58,_0x1ddaaf){return _0x306755(_0x1ddaaf,_0x151b58-_0x5d8d4a._0x84f8b9);}_0x594423['height']+=_0x477e32*0x2;}function getWindowCoordinates(_0x391471,_0x35a0aa){return toWindowCoordinates$1(_0x391471,_0x35a0aa);}function getScreenSpaceBoundingBox(_0xfd8aaf,_0x4f24b1,_0x283f34){const _0x25e9ca={_0x4caaae:0x1219,_0x3e5056:0x1275,_0x491004:0x1a02,_0x34556d:0x491,_0x438580:0x1226,_0xe54928:0x7f2,_0x32ff08:0x430},_0x5a4f86={_0x274774:0x304};function _0x13e67e(_0x2b8914,_0x1435f7){return _0x2b6441(_0x1435f7,_0x2b8914-_0x5a4f86._0x274774);}!Cesium__namespace['defined'](_0x283f34)&&(_0x283f34=new Cesium__namespace[(_0x13e67e(0xa9b,_0x25e9ca._0x4caaae))]());if(!_0xfd8aaf[_0x59da01(0x13d7,_0x25e9ca._0x3e5056)]){const _0x45da8c=_0xfd8aaf[_0x13e67e(0x1646,_0x25e9ca._0x491004)]();if(_0x45da8c){const _0xbc21a7=_0xfd8aaf[_0x59da01(0x1c67,0x11f5)][_0x59da01(-0x4ac,_0x25e9ca._0x34556d)],_0x12e232=[],_0x17fa3d=getWindowCoordinates(_0xbc21a7,Cesium__namespace['Cartesian3']['fromRadians'](_0x45da8c[_0x59da01(0x1531,0x12a4)],_0x45da8c['south'],_0x45da8c[_0x13e67e(0x1022,_0x25e9ca._0x438580)])),_0x3f49dd=getWindowCoordinates(_0xbc21a7,Cesium__namespace['Cartesian3'][_0x59da01(0x2fb,0x607)](_0x45da8c[_0x13e67e(0xe7b,_0x25e9ca._0xe54928)],_0x45da8c[_0x13e67e(0x639,-_0x25e9ca._0x32ff08)],_0x45da8c[_0x59da01(0x1463,0xceb)]));if(_0x17fa3d&&_0x3f49dd)return Cesium__namespace['BoundingRectangle']['fromPoints'](_0x12e232,_0x283f34);}}const _0x4d0180=0x8,_0x5b6a2f=0x8,_0x5863a2=_0x4f24b1['x']-_0x4d0180*0.5;function _0x59da01(_0x1550bd,_0x41a497){return _0x306755(_0x1550bd,_0x41a497- -0x5d4);}const _0x5e5d43=_0x4f24b1['y']-_0x5b6a2f*0.5;return _0x283f34['x']=_0x5863a2,_0x283f34['y']=_0x5e5d43,_0x283f34['width']=_0x4d0180,_0x283f34['height']=_0x5b6a2f,_0x283f34;}class GraphicLayer extends BaseGraphicLayer{constructor(_0x1514d9={}){const _0x36e286={_0x31fc74:0xfc4},_0x19eced={_0x52c1c7:0x597};function _0x2a48ec(_0x2c5267,_0x5377e8){return _0x2b6441(_0x2c5267,_0x5377e8-_0x19eced._0x52c1c7);}super(_0x1514d9),this[_0x2a48ec(_0x36e286._0x31fc74,0x18c7)](_0x1514d9,_0x1514d9),this['_graphicList']=new MarsArray();}[_0x306755(0x1adb,0x18d1)](_0x1b5058,_0x2ab4ed){const _0x2e50eb={_0x2b93e3:0xc35,_0x35f97e:0x8f0,_0x363482:0xa90},_0x538403={_0xf486d7:0x1df},_0x597378={_0x3573a9:0x2d6};super[_0x791530(0x150f,_0x2e50eb._0x2b93e3)](_0x1b5058,_0x2ab4ed);function _0x971560(_0x226ce4,_0x23e36e){return _0x2b6441(_0x226ce4,_0x23e36e-_0x597378._0x3573a9);}this['hasEdit']=_0x1b5058['hasEdit']??![];function _0x791530(_0x4eb0c0,_0x36b763){return _0x2b6441(_0x36b763,_0x4eb0c0-_0x538403._0xf486d7);}this[_0x791530(_0x2e50eb._0x35f97e,0x946)]=_0x1b5058['isAutoEditing']??!![],this['isContinued']=_0x1b5058['isContinued']??![],_0x2ab4ed[_0x791530(0x13d8,_0x2e50eb._0x363482)]&&this['_initializeCluster']();}get[_0x306755(0x82f,0x9ca)](){const _0x4b51e3={_0x3a2aff:0xc11,_0x5c0485:0x902,_0x210561:0x1d,_0x3dedfe:0x477,_0x25ea78:0x10c2,_0x54b6f8:0x7a0,_0x5f39b2:0xed0,_0x433b52:0x5c0,_0x4c8684:0x125f,_0x291cac:0xec8,_0x14a0a3:0x104},_0x4ad167={_0xce3fe:0x491},_0xff11a={_0x3eebd4:0x60f},_0x2f87c4=[];this['_dataSource']&&_0x2f87c4['push'](this['_dataSource']);this['_primitiveCollection']&&_0x2f87c4['push'](this['_primitiveCollection']);function _0x1cda19(_0x4102f3,_0x58d974){return _0x306755(_0x4102f3,_0x58d974- -_0xff11a._0x3eebd4);}function _0xc2dca5(_0x511d6b,_0x326a87){return _0x306755(_0x511d6b,_0x326a87- -_0x4ad167._0xce3fe);}return this[_0xc2dca5(0x555,0xd8f)]&&_0x2f87c4[_0xc2dca5(0x4e9,0x208)](this[_0x1cda19(0x5d8,_0x4b51e3._0x3a2aff)]),this['_labelCollection']&&_0x2f87c4['push'](this['_labelCollection']),this[_0xc2dca5(-_0x4b51e3._0x5c0485,-_0x4b51e3._0x210561)]&&_0x2f87c4[_0x1cda19(_0x4b51e3._0x3dedfe,0x8a)](this['_billboardCollection']),this['_cloudCollection']&&_0x2f87c4[_0xc2dca5(-0x361,0x208)](this[_0xc2dca5(0x865,0x28e)]),this[_0x1cda19(_0x4b51e3._0x25ea78,0xed0)]&&_0x2f87c4[_0x1cda19(-0x98f,0x8a)](this[_0x1cda19(_0x4b51e3._0x54b6f8,_0x4b51e3._0x5f39b2)]),this[_0x1cda19(0xc4b,0xfbb)]&&_0x2f87c4[_0xc2dca5(_0x4b51e3._0x433b52,0x208)](this[_0x1cda19(0x1961,0xfbb)]),this['_lights']&&_0x2f87c4['push'](this['_lights']),this[_0x1cda19(_0x4b51e3._0x4c8684,_0x4b51e3._0x291cac)]&&_0x2f87c4['push'](this['_visibilitys']),this['_pointCluster']&&(this['_pointCluster']['_billboardCollection']&&_0x2f87c4[_0x1cda19(-0x97c,0x8a)](this[_0x1cda19(0xb50,_0x4b51e3._0x14a0a3)]['_billboardCollection'])),_0x2f87c4;}get[_0x2b6441(0xe,0x562)](){var _0x5e02f3;return(_0x5e02f3=this['_pointCluster'])===null||_0x5e02f3===void 0x0?void 0x0:_0x5e02f3['enabled'];}set[_0x2b6441(0x7a5,0x562)](_0x52e172){const _0x3cdf84={_0x2de113:0x279},_0x205a17={_0x4985fe:0xfe};function _0x5b5dec(_0x4e46b4,_0x5c8e88){return _0x306755(_0x5c8e88,_0x4e46b4-_0x205a17._0x4985fe);}this['_initializeCluster'](),this[_0x5b5dec(0x811,-_0x3cdf84._0x2de113)]['enabled']=_0x52e172;}get[_0x2b6441(0xda9,0x4c0)](){const _0xa34084={_0x4bfa52:0x10cf,_0x650372:0x1435,_0xc37b49:0x9ba,_0xfa32cb:0x65a,_0x56e384:0xa00,_0x45132e:0xa5},_0x4cbf5d={_0x287b7d:0x25d};!this[_0x4bce4f(0x1178,0xfbb)]&&(this[_0x5763ff(_0xa34084._0x4bfa52,_0xa34084._0x650372)]=new Cesium__namespace['CustomDataSource'](this['id']),this['_dataSource']['show']=this['getRealShow'](),this[_0x5763ff(0x987,0x1435)]['zIndex']=this['options'][_0x4bce4f(_0xa34084._0xc37b49,_0xa34084._0xfa32cb)],this[_0x5763ff(0xe6c,0x1829)]&&(this['_map']['dataSources'][_0x5763ff(0x1305,0xd8e)](this['_dataSource']),Cesium__namespace['defined'](this[_0x4bce4f(_0xa34084._0x56e384,0x8cb)]['zIndex'])&&(this[_0x4bce4f(0x9ba,-_0xa34084._0x45132e)]=this[_0x4bce4f(_0xa34084._0x56e384,0xeb9)][_0x4bce4f(0x9ba,0x916)])));function _0x4bce4f(_0xa6e075,_0x1fa529){return _0x306755(_0x1fa529,_0xa6e075- -_0x4cbf5d._0x287b7d);}function _0x5763ff(_0xd14908,_0x2661b5){return _0x2b6441(_0xd14908,_0x2661b5-0x601);}return this['_dataSource'];}get['primitiveCollection'](){const _0x47a60f={_0x5620d0:0xefa,_0x26266f:0xdd2,_0xb07151:0x6ca,_0x510ec5:0x88d,_0x37f538:0x8a1,_0x81f168:0xc1a,_0x5c626f:0xec4},_0x19d0e6={_0x504fc5:0x39b};!this['_primitiveCollection']&&(this['_primitiveCollection']=new Cesium__namespace['PrimitiveCollection'](this[_0x1a08b7(_0x47a60f._0x5620d0,0x8c2)]),this['_primitiveCollection']['show']=this['getRealShow'](),this[_0x44db0d(_0x47a60f._0x26266f,0x335)]['zIndex']=this['options']['zIndex'],this[_0x44db0d(0x133c,0x105b)]&&(this['_map'][_0x1a08b7(-0x13c,_0x47a60f._0xb07151)][_0x44db0d(0x42c,_0x47a60f._0x510ec5)][_0x44db0d(_0x47a60f._0x37f538,-0xc1)](this[_0x1a08b7(_0x47a60f._0x81f168,_0x47a60f._0x5c626f)]),Cesium__namespace['defined'](this['options'][_0x1a08b7(0x945,0x87c)])&&(this['zIndex']=this['options']['zIndex'])));function _0x1a08b7(_0x16f8a6,_0x35fceb){return _0x306755(_0x16f8a6,_0x35fceb- -_0x19d0e6._0x504fc5);}function _0x44db0d(_0x374739,_0x503d38){return _0x306755(_0x503d38,_0x374739- -0x48d);}return this['_primitiveCollection'];}get[_0x2b6441(0xace,0x9d)](){const _0x111e3e={_0x5217e9:0x788,_0x350233:0x1899,_0xe550af:0xe7e,_0x10c278:0x15d3,_0x10cbb5:0x875,_0x25c905:0xaec,_0x473509:0x875};!this['_groundPrimitiveCollection']&&(this['_groundPrimitiveCollection']=new Cesium__namespace[(_0x30b917(0xe2c,0xec4))](this[_0x42d17d(_0x111e3e._0x5217e9,0xd8a)]),this['_groundPrimitiveCollection'][_0x30b917(0x11f1,_0x111e3e._0x350233)]=this['getRealShow'](),this['_groundPrimitiveCollection']['zIndex']=this['options']['zIndex'],this[_0x30b917(0x1427,0x1c70)]&&(this['_map']['scene']['groundPrimitives']['add'](this[_0x30b917(_0x111e3e._0xe550af,_0x111e3e._0x10c278)]),Cesium__namespace['defined'](this['options'][_0x30b917(_0x111e3e._0x10cbb5,0xf06)])&&(this[_0x42d17d(_0x111e3e._0x25c905,0xd44)]=this['options'][_0x30b917(_0x111e3e._0x473509,0x10c8)])));function _0x42d17d(_0x4d902f,_0x25400a){return _0x306755(_0x4d902f,_0x25400a-0x12d);}function _0x30b917(_0x2bf0e7,_0x46cfc1){return _0x2b6441(_0x46cfc1,_0x2bf0e7-0x1ff);}return this['_groundPrimitiveCollection'];}get['labelCollection'](){const _0x5b9384={_0x1e3647:0x1c7,_0x3f7b1f:0x599,_0x463ce7:0x1693,_0x2609a0:0x7b0,_0x4e2dca:0xd17,_0x45b9d0:0x518,_0xbd957d:0xaff,_0xfbc876:0x626,_0x1f100b:0xb65,_0x507fca:0xeee},_0x53eab9={_0x41873b:0x6a1},_0x2575bc={_0x4f3f90:0x435},_0x335671={_0x5b3e60:0x6ca},_0x197004={_0x1b6805:0x4ad};function _0x5b42b6(_0x44a130,_0x23ac10){return _0x306755(_0x44a130,_0x23ac10- -_0x197004._0x1b6805);}if(!this['_labelCollection']){this[_0x397ac1(0xc3a,0x1137)]=new Cesium__namespace[(_0x5b42b6(0x34a,_0x5b9384._0x1e3647))]({...this[_0x397ac1(0xd5d,_0x5b9384._0x3f7b1f)],'scene':this['_map']['scene']}),this['_labelCollection'][_0x397ac1(_0x5b9384._0x463ce7,0x20ac)]=this[_0x397ac1(0x595,-0x13c)](),this['_labelCollection']['zIndex']=this[_0x5b42b6(0x2dc,_0x5b9384._0x2609a0)][_0x397ac1(_0x5b9384._0x4e2dca,_0x5b9384._0x45b9d0)];const _0x598efe=this['_labelCollection'][_0x397ac1(_0x5b9384._0xbd957d,_0x5b9384._0xfbc876)];this['_labelCollection']['update']=function(_0x9d435){if(!this['show'])return;function _0x49b4ba(_0x2fb05d,_0xf06210){return _0x397ac1(_0x2fb05d- -_0x335671._0x5b3e60,_0xf06210);}const _0x5491f5=this['_labels'];for(let _0x48db35=0x0,_0x2e29b1=_0x5491f5['length'];_0x48db35<_0x2e29b1;++_0x48db35){_0x5491f5[_0x48db35]['update']&&_0x5491f5[_0x48db35][_0x49b4ba(_0x2575bc._0x4f3f90,-0x462)](_0x9d435);}return _0x598efe['bind'](this)(_0x9d435);},this['_map']&&this['_map'][_0x397ac1(_0x5b9384._0x1f100b,_0x5b9384._0x507fca)][_0x5b42b6(0xd99,0x40c)]['add'](this['_labelCollection']);}function _0x397ac1(_0x429586,_0x486db3){return _0x2b6441(_0x486db3,_0x429586-_0x53eab9._0x41873b);}return this['_labelCollection'];}get[_0x2b6441(0x77c,0x14c)](){const _0x7c5344={_0x3ce48e:0x1990,_0xcb1b6b:0x1025,_0x217b51:0xe5d,_0x18b5ca:0x24f,_0x262fe4:0x111,_0x19dfdc:0x632,_0x347da3:0xef3,_0x2fb4cc:0x17a8};!this[_0x45a2cb(0x1025,_0x7c5344._0x3ce48e)]&&(this[_0x45a2cb(0x1025,0x1589)]=new Cesium__namespace['PointPrimitiveCollection'](this['options']),this['_pointCollection']['show']=this['getRealShow'](),this[_0x45a2cb(_0x7c5344._0xcb1b6b,_0x7c5344._0x217b51)][_0x45a2cb(0x75d,_0x7c5344._0x18b5ca)]=this[_0xf2a7f0(_0x7c5344._0x262fe4,_0x7c5344._0x19dfdc)]['zIndex'],this[_0x45a2cb(0x130f,_0x7c5344._0x347da3)]&&this[_0xf2a7f0(_0x7c5344._0x2fb4cc,0x119e)]['scene']['primitives']['add'](this['_pointCollection']));function _0x45a2cb(_0x196663,_0x3cb0bf){return _0x306755(_0x3cb0bf,_0x196663- -0x4ba);}function _0xf2a7f0(_0x1cc054,_0x4dd674){return _0x2b6441(_0x1cc054,_0x4dd674- -0x8a);}return this[_0x45a2cb(0x1025,0xe41)];}get['billboardCollection'](){const _0x488315={_0x10a822:0x5ef,_0x39fe05:0x1010,_0x4efd61:0x67d,_0x104414:0x584,_0x9e922d:0xa8f,_0x2eaefd:0xd27,_0x5ab648:0x67d,_0x2dd897:0x900};function _0x810b1f(_0x129ec4,_0x5de9b3){return _0x306755(_0x129ec4,_0x5de9b3- -0x3e8);}!this['_billboardCollection']&&(this['_billboardCollection']=new Cesium__namespace[(_0x5ae53a(0xdeb,_0x488315._0x10a822))]({...this['options'],'scene':this[_0x5ae53a(_0x488315._0x39fe05,0x18d9)][_0x810b1f(-0x3d7,_0x488315._0x4efd61)]}),this['_billboardCollection']['show']=this['getRealShow'](),this[_0x5ae53a(0x780,_0x488315._0x104414)][_0x5ae53a(_0x488315._0x9e922d,_0x488315._0x2eaefd)]=this[_0x5ae53a(0x4db,0xd6d)][_0x5ae53a(0x497,0xd27)],this[_0x810b1f(0x1ad9,0x13e1)]&&this['_map'][_0x810b1f(0xec7,_0x488315._0x5ab648)][_0x5ae53a(_0x488315._0x2dd897,0x9c9)]['add'](this['_billboardCollection']));function _0x5ae53a(_0x5ef561,_0x12bac7){return _0x2b6441(_0x5ef561,_0x12bac7-0x6b1);}return this['_billboardCollection'];}get['cloudCollection'](){const _0x249626={_0xc34de4:0x1623,_0x504b1d:0x79a,_0x4982b5:0x5c2,_0xf57fe5:0x460,_0x2c6fc3:0xac0,_0x13c3cf:0x31a,_0x2deb42:0x75c,_0x1723d4:0xbd1},_0x115aa5={_0x46a9a8:0x444};function _0x2e3c95(_0x2a1cab,_0x2f22d4){return _0x2b6441(_0x2a1cab,_0x2f22d4-0x404);}function _0x5074f3(_0x15cf53,_0x4ea979){return _0x2b6441(_0x4ea979,_0x15cf53-_0x115aa5._0x46a9a8);}return!this['_cloudCollection']&&(this['_cloudCollection']=new Cesium__namespace[(_0x2e3c95(0x202d,_0x249626._0xc34de4))](this['options']['cloud']),this[_0x5074f3(0x5c2,_0x249626._0x504b1d)]['show']=this['getRealShow'](),this[_0x5074f3(_0x249626._0x4982b5,_0x249626._0xf57fe5)][_0x5074f3(0xaba,0x153a)]=this[_0x2e3c95(0x525,_0x249626._0x2c6fc3)]['zIndex'],this['_map']&&this['_map'][_0x5074f3(0x908,_0x249626._0x13c3cf)][_0x5074f3(_0x249626._0x2deb42,0x45a)][_0x5074f3(_0x249626._0x1723d4,0xd72)](this['_cloudCollection'])),this['_cloudCollection'];}get['lights'](){const _0x25e3b8={_0x3210a2:0x5ae,_0x232f06:0x30d,_0x355d55:0xa19,_0x9b7b93:0x1397},_0x59e4a1={_0x48c285:0x1fc};!this['_lights']&&(this[_0x27d5b5(0x285,_0x25e3b8._0x3210a2)]=new MarsArray(),this[_0x27d5b5(-_0x25e3b8._0x232f06,0x5ae)][_0x27d5b5(_0x25e3b8._0x355d55,_0x25e3b8._0x9b7b93)]=this['getRealShow']());function _0xa37454(_0x1dc937,_0x31af46){return _0x306755(_0x31af46,_0x1dc937- -0xb4);}function _0x27d5b5(_0x3a0676,_0x3b6ec4){return _0x306755(_0x3a0676,_0x3b6ec4- -_0x59e4a1._0x48c285);}return this[_0xa37454(0x6f6,0x1139)];}get['visibilitys'](){const _0x334e1b={_0x2d438a:0x134f};function _0x327c35(_0xada5b,_0x4fd5d4){return _0x2b6441(_0x4fd5d4,_0xada5b- -0xaa);}return!this['_visibilitys']&&(this['_visibilitys']=new MarsArray(),this['_visibilitys']['show']=this['getRealShow']()),this[_0x327c35(0xe8c,_0x334e1b._0x2d438a)];}get[_0x2b6441(0x12be,0xa5a)](){const _0x2e4844={_0x12b655:0xa0,_0x3e63b8:0xefe,_0x545958:0x858,_0x5b65eb:0xcf0,_0x1d1001:0xfaa,_0x297db4:0x180d,_0x6faef0:0x9cb,_0x355df7:0x45b};function _0x22b6ca(_0x2de408,_0x47f457){return _0x2b6441(_0x2de408,_0x47f457-0x5e5);}!this[_0x22b6ca(0xc95,0x787)]&&(this[_0x22b6ca(-_0x2e4844._0x12b655,0x787)]=create$4('div',_0x22b6ca(_0x2e4844._0x3e63b8,0x1931)),this[_0x22b6ca(_0x2e4844._0x545958,0x4d9)]()?this['_container']['style'][_0x2d9603(0x1af,-0x87c)]=_0x22b6ca(_0x2e4844._0x5b65eb,0x168b):this['_container']['style']['display']='none',this[_0x22b6ca(_0x2e4844._0x1d1001,0x180d)]&&this[_0x22b6ca(0xeb7,_0x2e4844._0x297db4)][_0x2d9603(0xbb7,_0x2e4844._0x6faef0)][_0x2d9603(0xbed,0xa33)](this['_container']));function _0x2d9603(_0x24450e,_0x2003b0){return _0x306755(_0x2003b0,_0x24450e- -0x444);}return this[_0x2d9603(0x2ff,_0x2e4844._0x355df7)];}get['pointerEvents'](){return this['_pointerEvents'];}set['pointerEvents'](_0x257e3c){const _0x3c4b22={_0x394186:0x5a5},_0x3fe8f7={_0x8bb755:0x327},_0x4aa1fd={_0x2b2358:0x297};this['_pointerEvents']=_0x257e3c;function _0x451378(_0x508e18,_0x1600e8){return _0x306755(_0x508e18,_0x1600e8- -_0x4aa1fd._0x2b2358);}function _0x4f926f(_0x40b96a,_0x1d6863){return _0x306755(_0x40b96a,_0x1d6863- -_0x3fe8f7._0x8bb755);}_0x257e3c?this[_0x4f926f(0x1389,0xcd4)][_0x451378(-0xb4,0x5bf)][_0x451378(0xab3,0xb10)]=_0x4f926f(-0x3ac,0x6f0):this[_0x4f926f(0x15ec,0xcd4)]['style']['pointer-events']=_0x451378(_0x3c4b22._0x394186,0x9bb);}get[_0x2b6441(0xfcc,0x1350)](){const _0x11fc36={_0x2c8e10:0x3f,_0x158c49:0x892,_0x443280:0x1e1,_0x45e3a0:0x7b2},_0x4dbc0d={_0x54ad0c:0x1865,_0x53a177:0xfbd,_0x3ecf8c:0x443,_0x4abaa8:0x4f5};function _0x35519a(_0x4945f9,_0x447914){return _0x306755(_0x4945f9,_0x447914-0x47);}function _0x6dea71(_0x2aa75f,_0x39dccc){return _0x2b6441(_0x2aa75f,_0x39dccc-0x4b);}if(this[_0x35519a(_0x11fc36._0x2c8e10,_0x11fc36._0x158c49)])return this[_0x6dea71(-0x1c5,0x2f5)];return!this['_objectsToExclude_auto']&&(this[_0x35519a(-_0x11fc36._0x443280,_0x11fc36._0x45e3a0)]=[],this[_0x6dea71(0x6a5,0xe16)]['forEach'](_0x589511=>{const _0x3c9f68={_0x1d912e:0x364};function _0xa847a6(_0x3ba9b7,_0x1fa2e4){return _0x6dea71(_0x1fa2e4,_0x3ba9b7-0x22e);}const _0x59f3fe=_0x589511['objectsToExclude'];function _0x59f183(_0x331243,_0x252fcb){return _0x35519a(_0x331243,_0x252fcb- -0x43e);}if(_0x59f3fe&&_0x59f3fe[_0xa847a6(0x12d3,_0x4dbc0d._0x54ad0c)]>0x0)_0x59f3fe[_0x59f183(_0x4dbc0d._0x53a177,0x849)](_0x42bb43=>{function _0x1b7a0c(_0xb54126,_0x371edf){return _0xa847a6(_0xb54126- -0x16b,_0x371edf);}function _0x46ae33(_0x5ab54b,_0x5f5d40){return _0x59f183(_0x5ab54b,_0x5f5d40-0xc2);}this['_objectsToExclude_auto'][_0x46ae33(0x2ff,0x1a5)](_0x42bb43)===-0x1&&this[_0x1b7a0c(0x2d8,0xc3a)][_0x46ae33(0x49b,_0x3c9f68._0x1d912e)](_0x42bb43);});else{if(_0x589511['czmObject']){const _0x487368=_0x589511['czmObject'];this[_0xa847a6(_0x4dbc0d._0x3ecf8c,_0x4dbc0d._0x4abaa8)]['indexOf'](_0x487368)===-0x1&&this[_0x59f183(-0xd2,0x374)]['push'](_0x487368);}}},this)),this['_objectsToExclude_auto'];}set['objectsToExclude'](_0x2ab1a3){this['_objectsToExclude']=_0x2ab1a3;}get[_0x2b6441(0x16a,0x288)](){return!![];}get[_0x2b6441(0xa75,0x676)](){return this['options']['zIndex'];}set[_0x306755(0x973,0xc17)](_0x3c40a5){const _0x38b0e0={_0x900907:0xa62};this['options'][_0x3af821(0x3c2,_0x38b0e0._0x900907)]=_0x3c40a5;function _0x3af821(_0x2149f3,_0x223347){return _0x2b6441(_0x2149f3,_0x223347-0x3ec);}if(_0x3c40a5==null)return;setTimeout(()=>{this['_setZIndex'](_0x3c40a5);},0x64);}[_0x306755(0xd2e,0x4fc)](_0x446841){const _0x289dff={_0x51d814:0x7c7,_0x533aa1:0x8a8,_0x4859d7:0x14ba,_0xf30452:0x632,_0x13e4f8:0xac,_0x62a043:0xdce,_0x4ed7c0:0x420,_0x430732:0x5bc,_0x542811:0x4e3,_0x1a8b7d:0x1a74,_0x1b039a:0x3d8,_0x33192d:0x10a5,_0xcca76b:0x666,_0xc2fe8e:0x1a36,_0x3dd987:0x40a,_0x4b59bf:0x143e,_0x28acfa:0x105,_0x2c5b00:0x116e,_0x5a632e:0x3cb,_0x3b52c5:0xbc5,_0x581f67:0xcdd,_0x3a6aaa:0x160c,_0x58684e:0x1719,_0x1155bb:0xd7a,_0x298832:0xf97,_0x5092f1:0x15f5,_0xcfda0b:0x69b,_0xf185e6:0xe98};if(!this[_0x2fa901(0x506,0xaff)])return;if(this['_primitiveCollection']){this['_primitiveCollection']['zIndex']=_0x446841,this['_map'][_0x1f137e(_0x289dff._0x51d814,_0x289dff._0x533aa1)]['primitives']['raiseToTop'](this['_primitiveCollection']);const _0x2126c1=this[_0x1f137e(_0x289dff._0x4859d7,0x160c)]['scene']['primitives'];for(let _0x4d80a2=_0x2126c1[_0x2fa901(0xfa0,0x18eb)]-0x1;_0x4d80a2>=0x0;_0x4d80a2--){const _0x169dab=_0x2126c1[_0x2fa901(_0x289dff._0xf30452,-_0x289dff._0x13e4f8)](_0x4d80a2);if(_0x169dab===this[_0x1f137e(_0x289dff._0x62a043,0x10a2)])continue;Cesium__namespace[_0x1f137e(0xb63,0x15f5)](_0x169dab[_0x1f137e(_0x289dff._0x4ed7c0,0xa5a)])&&_0x446841<_0x169dab[_0x2fa901(_0x289dff._0x430732,_0x289dff._0x542811)]&&this[_0x1f137e(_0x289dff._0x1a8b7d,0x160c)][_0x2fa901(0x40a,-_0x289dff._0x1b039a)][_0x1f137e(_0x289dff._0x33192d,0x6fc)]['lower'](this[_0x2fa901(0xc04,0x835)]);}}if(this['_groundPrimitiveCollection']){this['_groundPrimitiveCollection']['zIndex']=_0x446841,this['_map']['scene']['groundPrimitives'][_0x2fa901(0x10ab,_0x289dff._0xcca76b)](this['_groundPrimitiveCollection']);const _0xcb9428=this[_0x1f137e(_0x289dff._0xc2fe8e,0x160c)][_0x2fa901(_0x289dff._0x3dd987,-0x370)]['groundPrimitives'];for(let _0x1be30a=_0xcb9428[_0x1f137e(0x1be8,_0x289dff._0x4b59bf)]-0x1;_0x1be30a>=0x0;_0x1be30a--){const _0x179121=_0xcb9428['get'](_0x1be30a);if(_0x179121===this['_groundPrimitiveCollection'])continue;Cesium__namespace['defined'](_0x179121[_0x1f137e(_0x289dff._0x28acfa,0xa5a)])&&_0x446841<_0x179121[_0x2fa901(0x5bc,0xab3)]&&this[_0x2fa901(_0x289dff._0x2c5b00,0xf94)]['scene']['groundPrimitives'][_0x1f137e(_0x289dff._0x5a632e,0x4ab)](this[_0x2fa901(_0x289dff._0x3b52c5,_0x289dff._0x581f67)]);}}function _0x2fa901(_0xd5ba2e,_0x32d035){return _0x2b6441(_0x32d035,_0xd5ba2e- -0xba);}function _0x1f137e(_0x3af486,_0x39989d){return _0x306755(_0x3af486,_0x39989d- -0x1bd);}if(this['_dataSource']){this['_dataSource']['zIndex']=_0x446841,this[_0x1f137e(0x1a28,_0x289dff._0x3a6aaa)][_0x1f137e(_0x289dff._0x58684e,0xe98)]['raiseToTop'](this['_dataSource']);const _0x30ff90=this[_0x2fa901(0x116e,0x1aaf)]['dataSources'];for(let _0x23b642=_0x30ff90['length']-0x1;_0x23b642>=0x0;_0x23b642--){const _0x178dbb=_0x30ff90['get'](_0x23b642);if(_0x178dbb===this[_0x2fa901(_0x289dff._0x1155bb,_0x289dff._0x298832)])continue;Cesium__namespace[_0x1f137e(0x1fe7,_0x289dff._0x5092f1)](_0x178dbb['zIndex'])&&_0x446841<_0x178dbb['zIndex']&&this['_map'][_0x1f137e(_0x289dff._0xcfda0b,_0x289dff._0xf185e6)]['lower'](this['_dataSource']);}}}['toTop'](){const _0x21e1ce={_0x4cce1e:0x1d76,_0x27ca13:0x1783,_0x5ad80f:0xd15,_0x39798f:0x1433,_0x282ff2:0xe93,_0x527fcb:0x11da,_0x5bdfab:0x127f,_0x2f416d:0xa4f,_0x5ce7b0:0xcd6,_0x5734f8:0x813,_0x1e635e:0x138f,_0x1b603a:0x21a7,_0x1a96eb:0xb0b};function _0x1d7061(_0x5713c6,_0x138b3f){return _0x306755(_0x138b3f,_0x5713c6- -0x54a);}function _0x451647(_0xcf7e55,_0x381644){return _0x2b6441(_0xcf7e55,_0x381644-0x55b);}if(this[_0x451647(_0x21e1ce._0x4cce1e,_0x21e1ce._0x27ca13)]){if(this[_0x1d7061(_0x21e1ce._0x5ad80f,0x5ac)])return this['_map'][_0x451647(_0x21e1ce._0x39798f,0xa1f)]['primitives']['raiseToTop'](this['_primitiveCollection']);if(this[_0x451647(_0x21e1ce._0x282ff2,_0x21e1ce._0x527fcb)])return this[_0x1d7061(_0x21e1ce._0x5bdfab,0x19ef)]['scene'][_0x1d7061(0x12dd,_0x21e1ce._0x2f416d)]['raiseToTop'](this[_0x1d7061(_0x21e1ce._0x5ce7b0,_0x21e1ce._0x5734f8)]);if(this[_0x451647(0x1256,_0x21e1ce._0x1e635e)])return this[_0x451647(_0x21e1ce._0x1b603a,_0x21e1ce._0x27ca13)][_0x1d7061(_0x21e1ce._0x1a96eb,0x840)]['raiseToTop'](this['_dataSource']);}}['toBottom'](){const _0x5c21b4={_0x1a2b8f:0x504,_0x5a4e2:0x67e,_0x2f20b7:0x1065,_0x36fe6e:0x127e,_0x50c2c1:0x13da,_0x18859b:0xfee,_0x20a4c0:0xfdf,_0x3d421a:0xc03,_0x55e870:0x146d,_0x4a99ef:0x127e,_0x4099c7:0x891,_0x2fe86a:0xf83};function _0x10a8c1(_0x2df411,_0x543956){return _0x2b6441(_0x543956,_0x2df411-0x1ba);}function _0x3741a5(_0x4a8b8c,_0x18a1b6){return _0x2b6441(_0x18a1b6,_0x4a8b8c-0x14f);}if(this[_0x10a8c1(0x13e2,0x19df)]){if(this[_0x3741a5(0xe0d,_0x5c21b4._0x1a2b8f)])return this[_0x3741a5(0x1377,0xaa1)][_0x10a8c1(_0x5c21b4._0x5a4e2,_0x5c21b4._0x2f20b7)]['primitives'][_0x10a8c1(_0x5c21b4._0x36fe6e,_0x5c21b4._0x50c2c1)](this['_primitiveCollection']);if(this['_groundPrimitiveCollection'])return this['_map']['scene']['groundPrimitives']['lowerToBottom'](this[_0x3741a5(0xdce,0x160e)]);if(this[_0x10a8c1(_0x5c21b4._0x18859b,_0x5c21b4._0x20a4c0)])return this['_map'][_0x3741a5(_0x5c21b4._0x3d421a,_0x5c21b4._0x55e870)][_0x10a8c1(_0x5c21b4._0x4a99ef,_0x5c21b4._0x4099c7)](this[_0x3741a5(_0x5c21b4._0x2fe86a,0x17d3)]);}}get['length'](){function _0x5df1b7(_0x7d68ca,_0x5bf175){return _0x306755(_0x5bf175,_0x7d68ca- -0x232);}var _0x2bc88c;return(_0x2bc88c=this['_graphicList'])===null||_0x2bc88c===void 0x0?void 0x0:_0x2bc88c[_0x5df1b7(0x13c9,0x19fa)];}get[_0x306755(0x176c,0x13d1)](){return this['getGraphics']();}get['hasEdit'](){const _0x59ccfd={_0x46f30c:0x138};function _0xb8fe00(_0xabe27d,_0x47f4cb){return _0x2b6441(_0xabe27d,_0x47f4cb-_0x59ccfd._0x46f30c);}return this[_0xb8fe00(0xb76,0xb0a)];}set['hasEdit'](_0x10bd56){_0x10bd56?this['activateEdit']():this['disableEdit']();}get['isDrawing'](){return this['_graphic_drawing']!=null;}get[_0x306755(0x14f2,0x1298)](){return this['_graphic_editing']!=null;}get[_0x2b6441(0x4a3,0xad)](){const _0x393558={_0x4517e2:0x3f0};function _0x2ed5e7(_0x2fbad2,_0x5c3cc6){return _0x2b6441(_0x2fbad2,_0x5c3cc6-0x3db);}return this[_0x2ed5e7(_0x393558._0x4517e2,0xa97)]['allowDrillPick'];}set[_0x2b6441(0x852,0xad)](_0x4a6a66){this['options']['allowDrillPick']=_0x4a6a66;}get[_0x306755(0x40e,0xc7c)](){const _0x495a99={_0x2209a4:0xb4a,_0x30197c:0x426},_0x255621={_0x17c830:0x113};function _0x30e9e6(_0x296984,_0xff0a28){return _0x306755(_0xff0a28,_0x296984- -_0x255621._0x17c830);}return this[_0x30e9e6(_0x495a99._0x2209a4,_0x495a99._0x30197c)]['splitDirection'];}set['splitDirection'](_0xdcf4f9){const _0x55e230={_0x53c1ac:0xb11},_0x5b9d16={_0x2e8cf8:0x125};function _0x5a9308(_0x37fda9,_0xfead2e){return _0x2b6441(_0x37fda9,_0xfead2e- -0x14);}this[_0x384341(0xb38,_0x55e230._0x53c1ac)]['splitDirection']=_0xdcf4f9;function _0x384341(_0x2c98ac,_0x4526d0){return _0x306755(_0x4526d0,_0x2c98ac- -_0x5b9d16._0x2e8cf8);}this[_0x5a9308(0x582,0x4ec)](_0x155042=>{_0x155042['splitDirection']=_0xdcf4f9;});}get[_0x306755(0x5d4,0xec6)](){const _0x227442={_0x4fa04d:0x1134,_0x51ffcb:0x16cc,_0x29e6e7:0xd7a,_0x293408:0x87a,_0x130b45:0x54e,_0x23f5e3:0x7f0,_0x2408dc:0x2079,_0xe3fc89:0x1860};function _0x4d3d9e(_0x375a54,_0x5f653d){return _0x306755(_0x375a54,_0x5f653d- -0x227);}function _0x10508b(_0x282cee,_0x213fc9){return _0x2b6441(_0x282cee,_0x213fc9-0x666);}if(this['type']===_0x4d3d9e(_0x227442._0x4fa04d,_0x227442._0x51ffcb)){const _0x22a34c=[];return this[_0x4d3d9e(_0x227442._0x29e6e7,_0x227442._0x293408)](_0x5440a3=>{const _0x4b65d4=_0x5440a3['readyPromise'];function _0x24937b(_0x1a45bb,_0x479544){return _0x4d3d9e(_0x479544,_0x1a45bb-0x30d);}Cesium__namespace[_0x24937b(0x1898,0x1a50)](_0x4b65d4)&&_0x22a34c['push'](_0x4b65d4);}),Promise[_0x4d3d9e(_0x227442._0x130b45,_0x227442._0x23f5e3)](_0x22a34c);}else{var _0x15fb9f;return(_0x15fb9f=this[_0x4d3d9e(0xddc,0xe13)])===null||_0x15fb9f===void 0x0?void 0x0:_0x15fb9f[_0x10508b(_0x227442._0x2408dc,_0x227442._0xe3fc89)];}}['_onAdd'](_0x4bd763){const _0x3ad99a={_0x20b9fc:0x11bc,_0x4ba5ac:0xa58,_0x5d9f7b:0xf84,_0x53ab7b:0x16d1,_0x2768ff:0xbb1,_0x3a1e80:0xdbb,_0xc5876b:0x384,_0x258ca6:0x1caa,_0x16f14d:0xd7c,_0x3a291c:0x44f,_0x26cf61:0x1325,_0x5a160b:0x15f7,_0x23b9c0:0x1622,_0x38bff5:0x1c0b,_0x50ac17:0x935,_0x4f5801:0x17d,_0x458263:0x5c1,_0x44dd13:0xe3a,_0x3ee9ba:0x13a7,_0x27aa7d:0x72a,_0x550a4a:0xea,_0x56fc89:0x88a,_0x4e8d1b:0xe68,_0x138c04:0x1605,_0x4a54ea:0x130e,_0x3b4f78:0xa12,_0x512f67:0x972,_0x4780f4:0x1214,_0x58b4bd:0x2e4,_0x304928:0x7b9,_0x3e85bf:0xde8,_0x2ece08:0x1436,_0x431fd7:0xcf1,_0x1b6b11:0x13a7,_0xee5141:0xf9e},_0x10ae56={_0x35b177:0x39c},_0x31e831={_0x1289cc:0x4a4};var _0x4354b0;if(this['_map'])return;this[_0x3e4a98(_0x3ad99a._0x20b9fc,0xd73)]=State['ADD'],this[_0x29ed5e(0x1325,0x1a17)]=_0x4bd763;function _0x29ed5e(_0x401e13,_0x56e1a4){return _0x306755(_0x56e1a4,_0x401e13- -_0x31e831._0x1289cc);}if(this['options']['eventParent'])this['addEventParent'](this[_0x3e4a98(_0x3ad99a._0x4ba5ac,0x2a5)]['eventParent']);else{if(((_0x4354b0=this['options'])===null||_0x4354b0===void 0x0?void 0x0:_0x4354b0[_0x3e4a98(_0x3ad99a._0x5d9f7b,_0x3ad99a._0x53ab7b)])===![]);else this['addEventParent'](_0x4bd763);}this['_dataSource']&&this['_map'][_0x29ed5e(_0x3ad99a._0x2768ff,0x123a)]['add'](this['_dataSource']);this[_0x29ed5e(_0x3ad99a._0x3a1e80,_0x3ad99a._0xc5876b)]&&this[_0x29ed5e(0x1325,_0x3ad99a._0x258ca6)][_0x3e4a98(0x860,0xa0b)][_0x29ed5e(0x415,-0x1f9)]['add'](this[_0x3e4a98(0x105a,0x17ce)]);function _0x3e4a98(_0x4c6618,_0x18ab70){return _0x2b6441(_0x18ab70,_0x4c6618-_0x10ae56._0x35b177);}this[_0x29ed5e(_0x3ad99a._0x16f14d,_0x3ad99a._0x3a291c)]&&this[_0x29ed5e(_0x3ad99a._0x26cf61,_0x3ad99a._0x5a160b)]['scene'][_0x3e4a98(_0x3ad99a._0x23b9c0,_0x3ad99a._0x38bff5)]['add'](this['_groundPrimitiveCollection']),this[_0x3e4a98(_0x3ad99a._0x50ac17,-_0x3ad99a._0x4f5801)]&&this['_map'][_0x29ed5e(_0x3ad99a._0x458263,_0x3ad99a._0x44dd13)]['primitives']['add'](this['_labelCollection']),this['_billboardCollection']&&this[_0x3e4a98(0x15c4,_0x3ad99a._0x3ee9ba)]['scene']['primitives'][_0x3e4a98(0xb29,0x905)](this[_0x29ed5e(-0x30,0x88)]),this[_0x29ed5e(0x27b,_0x3ad99a._0x27aa7d)]&&this[_0x3e4a98(0x15c4,0xf35)]['scene']['primitives'][_0x3e4a98(0xb29,0x8c9)](this['_cloudCollection']),this['_pointCollection']&&this['_map'][_0x3e4a98(0x860,_0x3ad99a._0x550a4a)]['primitives']['add'](this['_pointCollection']),this['_polylineCollection']&&this['_map']['scene']['primitives'][_0x29ed5e(_0x3ad99a._0x56fc89,0x7be)](this['_polylineCollection']),this['_container']&&this['_map']['container']['appendChild'](this['_container']),this['options'][_0x3e4a98(0x1595,0x1e9a)]&&this['_initializeCluster'](),this[_0x29ed5e(_0x3ad99a._0x4e8d1b,_0x3ad99a._0x138c04)]&&(!this['_createOK']&&(this[_0x3e4a98(0x10ee,0x1b61)]=!![],this['_mountedHook']())),this['_addedHook']&&this['_addedHook'](),this['_graphicList']['forEach'](_0x175db0=>{_0x175db0!==null&&_0x175db0!==void 0x0&&_0x175db0['_onAdd']&&_0x175db0['_onAdd'](this);},this),Cesium__namespace[_0x29ed5e(_0x3ad99a._0x4a54ea,0xbca)](this['options'][_0x3e4a98(_0x3ad99a._0x3b4f78,0x1306)])&&(this['zIndex']=this[_0x3e4a98(0xa58,_0x3ad99a._0x512f67)][_0x3e4a98(0xa12,_0x3ad99a._0x4780f4)]),this['options']['availability']&&(this[_0x29ed5e(0x558,-_0x3ad99a._0x58b4bd)]=this[_0x3e4a98(0xa58,0x20f)]['availability']),this[_0x29ed5e(_0x3ad99a._0x304928,_0x3ad99a._0x3e85bf)][_0x29ed5e(0x783,0xaca)]&&this['flyTo'](),this[_0x3e4a98(0x11bc,0x126d)]=State[_0x29ed5e(0x1240,_0x3ad99a._0x2ece08)],this[_0x3e4a98(0x684,0xf63)](EventType[_0x29ed5e(_0x3ad99a._0x431fd7,_0x3ad99a._0x1b6b11)],{'layer':this},!![]),this[_0x3e4a98(0xa58,0x1e1)][_0x29ed5e(_0x3ad99a._0xee5141,0x6f1)]&&new Function(_0x29ed5e(0x526,0x3d9),this['options']['script'])(this);}['_onRemove'](){const _0x55abbb={_0x5e2680:0x1213,_0x4fef0f:0x1946,_0x5385bc:0x15a3,_0x416872:0xea9,_0xeca3c:0x68a,_0x168207:0xb9,_0x3b24ff:0xd9c,_0x280b55:0x1c67,_0x3d9a18:0x406,_0x391bbd:0x744,_0x6a9d47:0x4f,_0x5ac22e:0x852,_0xecf6bf:0x1c42,_0xffdaef:0x1306,_0x419fcd:0x303,_0x3d1be8:0x1014,_0x2256e8:0x5a2,_0x665bbc:0x1306,_0x5504ff:0x15d,_0x2bf498:0x6b3,_0x536eaf:0xd95,_0x289924:0x58e,_0x469568:0x4af,_0x198a24:0xbee,_0x2225b3:0x2f6,_0x28c6b9:0xa2c,_0x5af612:0x977,_0x3cad30:0x461,_0x340907:0xcc6,_0x5be058:0x1243,_0x4544bb:0x40c},_0x148c01={_0x1ea59d:0x15};function _0x1f7226(_0xb2614c,_0x5136f5){return _0x2b6441(_0x5136f5,_0xb2614c- -_0x148c01._0x1ea59d);}var _0x30f37c,_0x266b72;if(this['_state']!==State['ADDED'])return;if(!this[_0x1f7226(_0x55abbb._0x5e2680,_0x55abbb._0x4fef0f)])return;this[_0x5dd483(_0x55abbb._0x5385bc,_0x55abbb._0x416872)][_0x1f7226(_0x55abbb._0xeca3c,-0x48)](_0x1eaf8a=>{(_0x1eaf8a===null||_0x1eaf8a===void 0x0?void 0x0:_0x1eaf8a['_onRemove'])&&_0x1eaf8a['_onRemove']();},this);this[_0x1f7226(0xe1f,0x3d0)]&&this['_map'][_0x1f7226(0xa9f,_0x55abbb._0x168207)]['remove'](this['_dataSource']);this['_primitiveCollection']&&this['_map']['scene']['primitives']['remove'](this[_0x5dd483(0xfac,_0x55abbb._0x3b24ff)]);this[_0x5dd483(0x7dd,0xd5d)]&&this[_0x1f7226(0x1213,_0x55abbb._0x280b55)][_0x1f7226(0x4af,0x5c2)]['groundPrimitives'][_0x1f7226(_0x55abbb._0x3d9a18,0x9e4)](this['_groundPrimitiveCollection']);this['_labelCollection']&&this['_map']['scene']['primitives']['remove'](this[_0x1f7226(0x584,-0x14a)]);this[_0x5dd483(_0x55abbb._0x391bbd,-_0x55abbb._0x6a9d47)]&&this['_map']['scene'][_0x5dd483(-0x4c5,0x3f6)][_0x5dd483(_0x55abbb._0x5ac22e,0x4f9)](this['_billboardCollection']);this['_cloudCollection']&&this[_0x5dd483(_0x55abbb._0xecf6bf,_0x55abbb._0xffdaef)]['scene'][_0x1f7226(_0x55abbb._0x419fcd,0x7fa)]['remove'](this['_cloudCollection']);this['_pointCollection']&&this['_map'][_0x5dd483(0xf97,0x5a2)]['primitives'][_0x1f7226(0x406,0xcdd)](this['_pointCollection']);this[_0x1f7226(_0x55abbb._0x3d1be8,0xc1f)]&&this['_map'][_0x5dd483(0xb7c,_0x55abbb._0x2256e8)]['primitives']['remove'](this['_polylineCollection']);this['_container']&&this['_container'][_0x1f7226(0x5ce,-0x4e8)]&&this[_0x5dd483(0x1dab,_0x55abbb._0x665bbc)]['container']['removeChild'](this['_container']);this['_pointCluster']&&(this[_0x1f7226(_0x55abbb._0x5504ff,-_0x55abbb._0x2bf498)][_0x1f7226(0x9d9,_0x55abbb._0x536eaf)](),delete this[_0x1f7226(0x15d,_0x55abbb._0x289924)]);this[_0x1f7226(0x1213,0x91a)][_0x1f7226(_0x55abbb._0x469568,_0x55abbb._0x198a24)][_0x5dd483(_0x55abbb._0x2225b3,0x3f6)]['destroyPrimitives']&&(this[_0x5dd483(_0x55abbb._0x28c6b9,_0x55abbb._0x3b24ff)]=null,this['_groundPrimitiveCollection']=null,this['_labelCollection']=null,this['_billboardCollection']=null,this['_cloudCollection']=null,this['_pointCollection']=null,this[_0x5dd483(_0x55abbb._0x5af612,0x1107)]=null);this[_0x5dd483(0xe4a,0x53c)]&&this['unbindUpdateEvent']();this['_removedHook']&&this['_removedHook'](),this['_state']=State['REMOVED'],this['fire'](EventType[_0x5dd483(-_0x55abbb._0x3cad30,0x4f9)]),this['fire'](EventType['removeLayer'],{'layer':this},!![]);function _0x5dd483(_0x1eace3,_0x192e4f){return _0x2b6441(_0x1eace3,_0x192e4f-0xde);}if((_0x30f37c=this['options'])!==null&&_0x30f37c!==void 0x0&&_0x30f37c[_0x5dd483(0x162f,_0x55abbb._0x340907)])this[_0x5dd483(0xd38,0x6a1)](this[_0x5dd483(_0x55abbb._0x5be058,0x79a)][_0x5dd483(0x1083,0xcc6)]);else{if(((_0x266b72=this[_0x1f7226(0x6a7,-_0x55abbb._0x4544bb)])===null||_0x266b72===void 0x0?void 0x0:_0x266b72['eventParent'])===![]);else this['removeEventParent'](this[_0x5dd483(0x1354,_0x55abbb._0x665bbc)]);}this['_map']=null;}[_0x306755(0x304,0x643)](_0x72f9c6){const _0x579dfc={_0x36dd01:0xb12,_0x1ba200:0x50b,_0x4b75de:0x1a3},_0x13af0a={_0x228112:0xda},_0x1911e5={_0x1e957e:0x238};super['_showHook'](_0x72f9c6);_0x72f9c6?this['_container']&&(this['_container']['style'][_0x2f1d66(0x12c,0x949)]=_0x2f1d66(0x1180,0x150f),this[_0x2f1d66(0xea5,_0x579dfc._0x36dd01)]['forEach'](_0x1dbd69=>{_0x1dbd69['updateDivPosition']&&_0x1dbd69['updateDivPosition']();},this)):(this[_0x2f1d66(0x27c,-0x4ca)]&&(this[_0x35ac96(_0x579dfc._0x1ba200,-_0x579dfc._0x4b75de)]['style']['display']='none'),this['stopDraw']());function _0x35ac96(_0x568d94,_0x50fe22){return _0x306755(_0x50fe22,_0x568d94- -_0x1911e5._0x1e957e);}function _0x2f1d66(_0x22aef1,_0x305fdc){return _0x2b6441(_0x305fdc,_0x22aef1-_0x13af0a._0x228112);}_0x72f9c6&&this[_0x35ac96(0x3c1,0x200)]();}['_initializeCluster'](){const _0x13dbdb={_0x1fd039:0x4ad,_0x233e5f:0x6e9},_0x146fef={_0x254a09:0x577};function _0x5f3482(_0x59e939,_0x1e49e8){return _0x2b6441(_0x59e939,_0x1e49e8-_0x146fef._0x254a09);}if(!this['_map'])return;this[_0x5f3482(_0x13dbdb._0x1fd039,_0x13dbdb._0x233e5f)]?this['_pointCluster']['updateOptions']():this['_pointCluster']=new PointCluster(this);}[_0x2b6441(-0x74,0x58)](){const _0x128bcd={_0x2db380:0xd36},_0x14bd7e={_0x11a74a:0x2b9};var _0x165f8c;function _0x20042f(_0x209835,_0x4ca8ca){return _0x2b6441(_0x4ca8ca,_0x209835-_0x14bd7e._0x11a74a);}(_0x165f8c=this['_pointCluster'])!==null&&_0x165f8c!==void 0x0&&_0x165f8c['_onCameraChangedEventThrottle']&&this['_pointCluster'][_0x20042f(0x925,_0x128bcd._0x2db380)]();}[_0x2b6441(0x53d,0xd6b)](){const _0x5f2773={_0x52e046:0x14a8,_0x10f3c3:0x1267,_0xda2dda:0x154a,_0xe618c7:0xe78,_0x5eb955:0x161c,_0x163173:0x19b9,_0x4ea7c3:0x1db2,_0x47773e:0xd23,_0x2b48cb:0x8b1,_0x11a952:0x10d6,_0x19f25c:0x1ac1,_0x2e0714:0xdf1,_0x4ee240:0x13d5,_0x2faa4e:0x941,_0x41303e:0x42e,_0x56617e:0x128a,_0x2b3410:0xc85,_0x1e58e9:0x520,_0x3a32a5:0x151},_0x4d9a7b={_0x275e4a:0x1282},_0x4a3c97={_0x18d420:0x46f},_0x171377={_0x3f0e1e:0x1089,_0x44b34e:0x1a60,_0x312bdd:0x1802},_0x3a3cbf={_0x394f02:0x186,_0x418b09:0xb5d},_0x86e0ef={_0x4ebee6:0x1153};super[_0x25ccf1(0xff0,_0x5f2773._0x52e046)](),this['on'](EventType[_0x25ccf1(_0x5f2773._0x10f3c3,0x1bd1)],_0x5718fc=>{const _0x1f7296={_0xf247fb:0x653};this['stopDraw']();function _0x6d1e8d(_0x6917e7,_0x459d35){return _0x11e248(_0x6917e7- -_0x1f7296._0xf247fb,_0x459d35);}function _0x529a67(_0x16c2c1,_0x55061b){return _0x25ccf1(_0x16c2c1-0x1aa,_0x55061b);}if(this['isContinued'])this[_0x6d1e8d(0xdf7,0x5a3)](clone(_0x5718fc[_0x6d1e8d(0x1366,_0x86e0ef._0x4ebee6)][_0x6d1e8d(0x6d0,0x7bf)],['_promise']));else this['hasEdit']&&this['isAutoEditing']&&this['startEditing'](_0x5718fc['graphic']);},this),this['on'](EventType['load'],_0x758a8b=>{const _0x2111ed={_0x38008e:0x5e9};function _0xc9abcb(_0x1b5892,_0x3b40ca){return _0x11e248(_0x3b40ca- -_0x2111ed._0x38008e,_0x1b5892);}function _0x7e1309(_0x2b0211,_0x268767){return _0x25ccf1(_0x268767- -0x24f,_0x2b0211);}this[_0xc9abcb(0x44d,0x35e)]&&this['isAutoEditing']&&this[_0xc9abcb(-_0x3a3cbf._0x394f02,0x491)]===_0x758a8b[_0xc9abcb(_0x3a3cbf._0x418b09,0x13d0)]&&this['startEditing'](_0x758a8b[_0x7e1309(0x1714,0x1388)]);},this),this['on'](EventType['removeGraphic'],_0x4b1971=>{function _0x35c6d9(_0x1ca7fa,_0x4f9121){return _0x25ccf1(_0x1ca7fa- -0x235,_0x4f9121);}function _0x1ea069(_0x19980f,_0x15dbbc){return _0x25ccf1(_0x15dbbc-0x22b,_0x19980f);}this['_graphic_drawing']===_0x4b1971[_0x1ea069(0x1544,0x1802)]&&(this[_0x35c6d9(0xdd3,_0x171377._0x3f0e1e)]=null),this['_graphic_editing']===_0x4b1971[_0x1ea069(_0x171377._0x44b34e,_0x171377._0x312bdd)]&&(this[_0x1ea069(0x71f,0x8c3)]=null);},this);function _0x25ccf1(_0x3f4bba,_0x3eeff7){return _0x306755(_0x3eeff7,_0x3f4bba- -0x31c);}this['on'](EventType['editStart'],_0x3a6d25=>{const _0x1ef64f={_0x97b84d:0x3ba};function _0x43b596(_0xf7e5ad,_0x17ad55){return _0x25ccf1(_0xf7e5ad-_0x1ef64f._0x97b84d,_0x17ad55);}this[_0x43b596(0xa52,_0x4a3c97._0x18d420)]=_0x3a6d25['graphic'];},this),this['on'](EventType[_0x25ccf1(_0x5f2773._0xda2dda,_0x5f2773._0xe618c7)],_0x25167c=>{function _0x3419e2(_0x426c9b,_0x2de5b6){return _0x11e248(_0x426c9b- -0x293,_0x2de5b6);}this[_0x3419e2(0x7e7,_0x4d9a7b._0x275e4a)]=null;},this);if(this[_0x25ccf1(0x1347,_0x5f2773._0x5eb955)]===_0x11e248(_0x5f2773._0x163173,_0x5f2773._0x4ea7c3)){if(this[_0x11e248(_0x5f2773._0x47773e,_0x5f2773._0x2b48cb)]['data']&&this[_0x25ccf1(0x941,-0x9f)][_0x25ccf1(_0x5f2773._0x11a952,_0x5f2773._0x19f25c)]['length']>0x0)this[_0x25ccf1(_0x5f2773._0x2e0714,_0x5f2773._0x4ee240)](this[_0x25ccf1(_0x5f2773._0x2faa4e,_0x5f2773._0x41303e)][_0x25ccf1(0x10d6,0x18d3)]);else this['options']['url']&&this[_0x25ccf1(_0x5f2773._0x2e0714,_0x5f2773._0x56617e)](this[_0x11e248(0xd23,0xc0c)][_0x11e248(_0x5f2773._0x2b3410,_0x5f2773._0x1e58e9)]);}function _0x11e248(_0x4157e5,_0x5d08a9){return _0x2b6441(_0x5d08a9,_0x4157e5-0x667);}this[_0x25ccf1(0x941,0x7d9)]['geojson']&&this[_0x25ccf1(0x1364,0xaff)](this[_0x25ccf1(0x941,_0x5f2773._0x3a32a5)]['geojson']);}[_0x306755(0xc23,0x99e)](){const _0x13d3f2={_0x30e005:0x1afd};super['_addedHook']();function _0x476f9d(_0x1df7d3,_0x3c9f82){return _0x2b6441(_0x3c9f82,_0x1df7d3-0x6a4);}this['_hasEdit']&&this[_0x476f9d(0x164c,_0x13d3f2._0x30e005)]();}[_0x306755(0x71b,0xe2b)](){const _0x56bd78={_0x445704:0xbee,_0x125327:0xfc6};super[_0x269014(0xaa6,0x9f6)]();function _0x52e902(_0x3dc51e,_0x13e45f){return _0x306755(_0x13e45f,_0x3dc51e-0xca);}function _0x269014(_0x1bba21,_0x476608){return _0x2b6441(_0x476608,_0x1bba21-0x21c);}this[_0x269014(_0x56bd78._0x445704,_0x56bd78._0x125327)]&&(this['stopDraw'](),this['_unbindEditEvent']());}[_0x2b6441(0xcee,0x1342)](_0x3e1b68){const _0x1752c7={_0x46bc7e:0xdb5,_0x4f3d51:0x13f8,_0x1f553a:0x12c7};function _0x5db896(_0x2d92b8,_0x1b5347){return _0x2b6441(_0x1b5347,_0x2d92b8-0x39a);}let _0x30b487;return this['_graphicList'][_0x5db896(0xa39,0x1fa)](_0x338e62=>{const _0x539259={_0x22cbea:0x2e4};if(!_0x338e62[_0x4c717b(_0x1752c7._0x46bc7e,_0x1752c7._0x4f3d51)])return;const _0x5039a3=_0x338e62['getRectangle']();function _0x4c6c8d(_0x4afa4d,_0x4470ad){return _0x5db896(_0x4470ad- -0x246,_0x4afa4d);}if(!Cesium__namespace[_0x4c717b(0x983,_0x1752c7._0x1f553a)](_0x5039a3))return;function _0x4c717b(_0x3cb5e1,_0x321616){return _0x5db896(_0x321616- -_0x539259._0x22cbea,_0x3cb5e1);}_0x30b487?_0x30b487=Cesium__namespace['Rectangle']['union'](_0x5039a3,_0x30b487):_0x30b487=_0x5039a3;},this),_0x3e1b68?formatRectangle(_0x30b487):_0x30b487;}['getMaxHeight'](){const _0x4eecee={_0x3709c4:0x7f0,_0x3a0a57:0x7e4};let _0x10c235=0x0;return this['_graphicList']['forEach'](_0x429c60=>{const _0x1f3f45={_0x146481:0x98};function _0x1296fa(_0x4a7e7a,_0x3e2f44){return _0x5bbe(_0x4a7e7a- -_0x1f3f45._0x146481,_0x3e2f44);}if(!_0x429c60[_0x1296fa(0xe47,_0x4eecee._0x3709c4)])return;function _0x56fa14(_0x54856f,_0x58ff1c){return _0x5bbe(_0x58ff1c- -0x2af,_0x54856f);}_0x10c235=Math[_0x56fa14(0x10f,_0x4eecee._0x3a0a57)](_0x429c60['getMaxHeight'](),_0x10c235);},this),_0x10c235;}['toGeoJSON'](_0x2ca122){const _0x5ca1f3={_0x18d96f:0x235,_0x4698c1:0xe3};_0x2ca122!==null&&_0x2ca122!==void 0x0&&_0x2ca122['stopEdit']&&this['stopEditing']();let _0x4e6cd5=[];this['_graphicList']['forEach'](_0x1abc33=>{const _0x21091a={_0xdd92fd:0x157};function _0x4b729f(_0x2382a0,_0x301fc3){return _0x5bbe(_0x2382a0- -0x38c,_0x301fc3);}if(_0x1abc33['isPrivate'])return;const _0x36642c=_0x1abc33['toGeoJSON'](_0x2ca122);if(!_0x36642c)return;function _0xc8fba9(_0x3fe15a,_0x3a44a0){return _0x5bbe(_0x3a44a0- -_0x21091a._0xdd92fd,_0x3fe15a);}Array[_0x4b729f(_0x5ca1f3._0x18d96f,_0x5ca1f3._0x4698c1)](_0x36642c)?_0x4e6cd5=_0x4e6cd5[_0xc8fba9(0x73a,0xa5c)](_0x36642c):_0x4e6cd5['push'](_0x36642c);},this);const _0x18f76c={};function _0x43b928(_0x4b6344,_0x1dea5e){return _0x306755(_0x4b6344,_0x1dea5e- -0x63a);}_0x18f76c['id']=this['id'],_0x18f76c['name']=this['name'];const _0x1325a2={};return _0x1325a2[_0x43b928(0xfdf,0x1029)]='FeatureCollection',_0x1325a2['layer']=_0x18f76c,_0x1325a2['features']=_0x4e6cd5,_0x1325a2;}[_0x306755(0x126a,0x953)](_0x90a00f){const _0x1f7794={_0x1ca7ae:0x13e7,_0x4ee953:0x1088},_0x3857e0={_0x5abb81:0x217f,_0x38484b:0x952,_0x5b32bb:0x4e1},_0x5ef130={_0x1c0add:0x140},_0x5106a9={_0x9a5fb1:0x414},_0x548edf={_0x9c3b08:0x36a};function _0x5e3759(_0x451ed7,_0xb1e49){return _0x306755(_0xb1e49,_0x451ed7- -_0x548edf._0x9c3b08);}this[_0x5ce8cf(_0x1f7794._0x1ca7ae,0xb0b)]();let _0x416284=[];function _0x5ce8cf(_0x4fab68,_0x4feca3){return _0x306755(_0x4fab68,_0x4feca3- -_0x5106a9._0x9a5fb1);}this['_graphicList']['forEach'](_0x47b135=>{const _0xc12067={_0x28a4c2:0x2db};if(_0x47b135[_0x593f27(0x178e,_0x3857e0._0x5abb81)]||_0x47b135[_0x593f27(_0x3857e0._0x38484b,0xa3)]||!_0x47b135['state'])return;const _0x3b153b=_0x47b135['toJSON']();function _0x593f27(_0x233be8,_0x244a3c){return _0x5ce8cf(_0x244a3c,_0x233be8-_0xc12067._0x28a4c2);}if(!_0x3b153b)return;function _0x196e98(_0x2f9698,_0xb413bd){return _0x5ce8cf(_0x2f9698,_0xb413bd- -_0x5ef130._0x1c0add);}Array['isArray'](_0x3b153b)?_0x416284=_0x416284[_0x593f27(0xced,0x102a)](_0x3b153b):_0x416284[_0x196e98(_0x3857e0._0x5b32bb,0x145)](_0x3b153b);},this),_0x90a00f[_0x5e3759(_0x1f7794._0x4ee953,0xbce)]=_0x416284;}async[_0x306755(0x1262,0x110d)](_0x5348f8,_0x3e3dce){const _0x2d562a={_0x37d926:0xe2b,_0x37da72:0xdf2,_0x2cf0eb:0x12d5,_0x77682a:0xf6a,_0x3c896e:0xd9f,_0x39803c:0x887,_0x67109d:0xc96},_0x1e9800={_0x351be3:0x610};var _0x5ebb7d;isString(_0x5348f8)&&(_0x5348f8=await sendAjax({'url':_0x5348f8,'proxy':this[_0x478e1c(_0x2d562a._0x37d926,_0x2d562a._0x37da72)]}));if(!_0x5348f8){logError('loadJSON:请确认json文件格式正确!',_0x5348f8);return;}function _0x4e46f5(_0x4ba09b,_0x1d93d0){return _0x2b6441(_0x1d93d0,_0x4ba09b-_0x1e9800._0x351be3);}if(_0x5348f8['type']==='FeatureCollection'&&_0x5348f8[_0x478e1c(0x513,-0x358)])return this[_0x478e1c(_0x2d562a._0x2cf0eb,0x1aac)](_0x5348f8,_0x3e3dce);_0x3e3dce!==null&&_0x3e3dce!==void 0x0&&_0x3e3dce[_0x4e46f5(0x8ab,_0x2d562a._0x77682a)]&&this[_0x478e1c(0x491,_0x2d562a._0x3c896e)]();function _0x478e1c(_0x363a3d,_0x4ae0fd){return _0x2b6441(_0x4ae0fd,_0x363a3d-0x1f6);}const _0x1965f8=this[_0x478e1c(0x21e,_0x2d562a._0x39803c)](((_0x5ebb7d=_0x5348f8)===null||_0x5ebb7d===void 0x0?void 0x0:_0x5ebb7d['data'])||_0x5348f8);return _0x3e3dce!==null&&_0x3e3dce!==void 0x0&&_0x3e3dce[_0x4e46f5(_0x2d562a._0x67109d,0x410)]&&this['getRealShow']()&&this[_0x478e1c(0x141e,0xb17)]['flyToGraphic'](_0x1965f8),_0x1965f8;}[_0x2b6441(0x14b1,0x10df)](_0x18e98a,_0x3fab0a={}){const _0x4c2194={_0x1ff8e5:0x990,_0x4333b2:0x2bd,_0x272667:0xf99,_0x110bdc:0x7ea,_0xffc1c3:0x7bc,_0x41b506:0x461},_0x4bce30={_0x39e37b:0x459};var _0x1faf15;function _0x52472a(_0x335444,_0x2d75fe){return _0x306755(_0x2d75fe,_0x335444- -_0x4bce30._0x39e37b);}try{isString(_0x18e98a)&&(_0x18e98a=JSON['parse'](_0x18e98a));}catch(_0x56ca0f){logError(_0x52472a(_0x4c2194._0x1ff8e5,_0x4c2194._0x4333b2),_0x56ca0f);return;}if(_0x18e98a['type']===_0x38aaeb(0x1713,0xf19)&&_0x18e98a[_0x52472a(_0x4c2194._0x272667,0x19dd)])return this['loadGeoJSON'](_0x18e98a,_0x3fab0a);const _0x53eb81=(_0x1faf15=this['_map'])===null||_0x1faf15===void 0x0?void 0x0:_0x1faf15['chinaCRS'],_0x3a6f10=this['options'][_0x38aaeb(0x3b2,0x686)];function _0x38aaeb(_0x556f5c,_0x1eef2c){return _0x2b6441(_0x1eef2c,_0x556f5c-0x3c1);}const _0x479086=getTransFun(_0x3a6f10,_0x53eb81),_0x24ce01={'symbol':this[_0x38aaeb(0xa7d,_0x4c2194._0x110bdc)]['symbol'],'crs':this['options']['crs'],'simplify':this['options'][_0x52472a(_0x4c2194._0xffc1c3,_0x4c2194._0x41b506)],'filter':this['options']['filter'],..._0x3fab0a};_0x24ce01['onPointTrans']=_0x479086;const _0x50ffa0=geoJsonToGraphics(_0x18e98a,_0x24ce01);return this['_addGraphicByArrOptions'](_0x50ffa0,_0x3fab0a);}['_addGraphicByArrOptions'](_0x3a1b19,_0x3ad8f8={}){const _0x3d0348={_0x507e3e:0x10fb,_0x115dbc:0xadb,_0x3792f3:0x4e6,_0x4a6bdc:0x674,_0x2292a3:0xd1b,_0x70befe:0x164d,_0x1bec2b:0x1163,_0x4cccaa:0xe97,_0x574e4d:0xbde,_0x3bceea:0x60f,_0x521a56:0x199,_0x3e7891:0x55,_0x44df90:0x727},_0x288ca1={_0x25cba2:0x500};_0x3ad8f8['clear']&&this[_0x3e59de(0x559,0x2a9)]();let _0x27ca3b=[];if(_0x3a1b19[_0x4079cb(0x1ab3,_0x3d0348._0x507e3e)]===0x0)return _0x27ca3b;function _0x3e59de(_0x3db9eb,_0x46e8ff){return _0x2b6441(_0x3db9eb,_0x46e8ff-0xe);}let _0x306ffc;_0x3ad8f8[_0x3e59de(-_0x3d0348._0x115dbc,-0x3d)]===![]&&(this[_0x4079cb(-0x71c,0x56)]=![],_0x306ffc=!![]);let _0x5a1a99=_0x3a1b19[0x0]['type'];if(_0x3ad8f8['toPrimitive']&&_0x3a1b19[_0x3e59de(0x613,0x1068)]>0x1388){_0x5a1a99[_0x4079cb(-0x312,0x240)]('P')&&(_0x5a1a99=_0x5a1a99[_0x3e59de(_0x3d0348._0x3792f3,0xe9)](0x0,_0x5a1a99[_0x3e59de(0xfb2,0x1068)]-0x1));const _0x2986e0=_0x5a1a99+'C';GraphicType[_0x2986e0]&&(_0x5a1a99=_0x2986e0);}function _0x4079cb(_0xd41ccc,_0x2f6aff){return _0x306755(_0xd41ccc,_0x2f6aff- -_0x288ca1._0x25cba2);}const _0x49c04f=this[_0x4079cb(0x4,0x75d)]['graphicOptions']||{};if(isCombineType(_0x5a1a99)){const _0x3ac93e={..._0x49c04f};_0x3ac93e[_0x3e59de(_0x3d0348._0x4a6bdc,0x10d0)]=_0x5a1a99,_0x3ac93e['instances']=_0x3a1b19,_0x3ac93e['availability']=_0x3a1b19[0x0]['availability'];const _0x2c6187=_0x3ac93e;_0x3ad8f8[_0x4079cb(0x77d,0xb58)]&&_0x3ad8f8['onEachFeature'](_0x2c6187);const _0x5607e7=this['_addGraphic'](_0x2c6187,![]);_0x27ca3b['push'](_0x5607e7);}else for(let _0x226733=0x0,_0x529129=_0x3a1b19['length'];_0x226733<_0x529129;_0x226733++){const _0x196029={..._0x49c04f,..._0x3a1b19[_0x226733]},_0x3e4866=_0x196029;if(_0x3ad8f8[_0x3e59de(0x8ab,_0x3d0348._0x2292a3)]){const _0x5e5f7a=_0x3e4866[_0x4079cb(0x83d,0x1163)]+'P';GraphicType[_0x5e5f7a]&&(_0x3e4866[_0x4079cb(_0x3d0348._0x70befe,_0x3d0348._0x1bec2b)]=_0x5e5f7a);}_0x3ad8f8['onEachFeature']&&_0x3ad8f8['onEachFeature'](_0x3e4866);if(this[_0x3e59de(0xd5e,0x6ca)][_0x4079cb(-0x362,0x5bc)]){const _0x1232a1=this[_0x3e59de(0xa1b,0x6ca)][_0x3e59de(_0x3d0348._0x4cccaa,0x529)](_0x3e4866);_0x1232a1&&(this['addGraphic'](_0x1232a1),Array['isArray'](_0x1232a1)?_0x27ca3b=_0x27ca3b['concat'](_0x1232a1):_0x27ca3b[_0x4079cb(_0x3d0348._0x574e4d,0x199)](_0x1232a1));}else{const _0x15037a=this[_0x3e59de(_0x3d0348._0x3bceea,0xe77)](_0x3e4866,![]);_0x27ca3b[_0x4079cb(-0x6e,_0x3d0348._0x521a56)](_0x15037a);}}return _0x306ffc&&(this[_0x3e59de(_0x3d0348._0x3e7891,-0x3d)]=!![]),_0x3ad8f8[_0x4079cb(0xafe,_0x3d0348._0x44df90)]&&this['getRealShow']()&&this['_map']['flyToGraphic'](_0x27ca3b),_0x27ca3b;}[_0x2b6441(0x3c2,0x6d0)](){function _0xdd7eea(_0x62f67,_0x20199e){return _0x306755(_0x20199e,_0x62f67- -0x3d);}if(this[_0xdd7eea(0x6d6,0xb7)])return this['_pointCluster']['getClusterList']();}['getNoClusterGraphics'](_0x186e3f){const _0x3d2385={_0x2647a5:0xc71};if(!this['_pointCluster'])return;const _0x5ca934=[];function _0x34d011(_0x4a27fa,_0x51b6e8){return _0x306755(_0x4a27fa,_0x51b6e8- -0x226);}return this[_0x34d011(_0x3d2385._0x2647a5,0x87b)](_0x11ad81=>{if(_0x11ad81['isCluster'])return;function _0x3b67d5(_0x5bb1ce,_0x4197d7){return _0x34d011(_0x5bb1ce,_0x4197d7-0x117);}const _0x395f8c={};function _0x3d8f32(_0x28ae0b,_0x4c9542){return _0x34d011(_0x28ae0b,_0x4c9542- -0x1ef);}_0x395f8c[_0x3d8f32(0xdb7,0x1170)]=!![];if((_0x186e3f===null||_0x186e3f===void 0x0?void 0x0:_0x186e3f[_0x3b67d5(0xfcf,0x7d8)])===!![]&&!_0x11ad81['isInView'](undefined,_0x395f8c))return;_0x5ca934[_0x3d8f32(0x1d2,0x284)](_0x11ad81);}),_0x5ca934;}[_0x306755(0x1ebe,0x18ee)](_0x40b78a){const _0x1f3a6f={_0x37de65:0x16b7,_0x593113:0x116e,_0x2b4c7b:0x515};function _0x5ea1d2(_0x4c575e,_0x37b048){return _0x2b6441(_0x4c575e,_0x37b048-0x3a3);}this['options'][_0x5ea1d2(0x520,0x94b)]=_0x40b78a,this[_0x5ea1d2(_0x1f3a6f._0x37de65,_0x1f3a6f._0x593113)]['forEach'](_0x2896ae=>{function _0x422022(_0x56c1d4,_0x2dd4a4){return _0x5ea1d2(_0x56c1d4,_0x2dd4a4- -0x203);}_0x2896ae['setOpacity']&&_0x2896ae[_0x422022(0xd38,0x14ed)](_0x40b78a);},this);function _0x50ceef(_0x54331b,_0x1d93d3){return _0x306755(_0x1d93d3,_0x54331b- -0x59c);}this['_pointCluster']&&this[_0x5ea1d2(-0x317,_0x1f3a6f._0x2b4c7b)]['setOpacity'](_0x40b78a);}['addGraphic'](_0x2f8f7b){const _0x2ec5f7={_0x20ffc9:0x7ce,_0x1b2cdb:0x109c,_0xd26428:0xbff},_0x5b48a4={_0x5f2c96:0x55};function _0xb204cd(_0x267535,_0x4029bf){return _0x306755(_0x4029bf,_0x267535- -_0x5b48a4._0x5f2c96);}!this['_createOK']&&this['_mountedHook']&&(this['_createOK']=!![],this['_mountedHook']());function _0x44ecfd(_0x2d91af,_0xfba215){return _0x2b6441(_0xfba215,_0x2d91af-0x15c);}if(Array[_0xb204cd(0x7df,0xb20)](_0x2f8f7b)){if(_0x2f8f7b['length']===0x0)return;const _0x5f514a=_0x2f8f7b[0x0]['type'];if(isCombineType(_0x5f514a)&&!_0x2f8f7b[0x0][_0xb204cd(0xcb9,_0x2ec5f7._0x20ffc9)]){const _0x46446b={};_0x46446b['type']=_0x5f514a,_0x46446b[_0xb204cd(0xcb9,_0x2ec5f7._0x1b2cdb)]=_0x2f8f7b,_0x46446b['availability']=_0x2f8f7b[0x0]['availability'];const _0x2e37c2=_0x46446b;return this[_0xb204cd(0x13b5,0x163c)](_0x2e37c2);}else{const _0x516c3f=[];for(let _0x36dfda=0x0,_0x2eafe5=_0x2f8f7b[_0xb204cd(0x15a6,0x1430)];_0x36dfda<_0x2eafe5;_0x36dfda++){const _0x3faf27=this[_0x44ecfd(0xfc5,_0x2ec5f7._0xd26428)](_0x2f8f7b[_0x36dfda]);_0x3faf27&&_0x516c3f['push'](_0x3faf27);}return _0x516c3f;}}else return this['_addGraphic'](_0x2f8f7b);}[_0x2b6441(0x70d,0x16b)](_0x8b8ed3){const _0x678a27={_0x6cb14:0x521,_0x1312b2:0x7e1},_0x568ae2={_0x53f012:0x43f};function _0x5d93c2(_0x52ea2c,_0x1dfd08){return _0x306755(_0x52ea2c,_0x1dfd08- -0x248);}const _0x1c9bd1=this[_0x5d93c2(0x10b1,0x1124)][_0x5d93c2(_0x678a27._0x6cb14,0xa45)](_0x8b8ed3===null||_0x8b8ed3===void 0x0?void 0x0:_0x8b8ed3['id']);function _0x5f4e6e(_0x43d31f,_0x13fe7f){return _0x306755(_0x13fe7f,_0x43d31f- -_0x568ae2._0x53f012);}_0x1c9bd1&&_0x1c9bd1!==_0x8b8ed3&&(_0x8b8ed3['id']=createGuid(),logWarn(_0x5d93c2(0x632,_0x678a27._0x1312b2),_0x8b8ed3));}['_addGraphic'](_0x2064a3,_0x2b7676=!![]){const _0x1b8e6a={_0xac25d4:0x58,_0x4f8ae1:0x3d7,_0x4f1cdc:0x1217,_0x3540fe:0x188f,_0x2bec48:0x1a15,_0x57a99d:0xbfe,_0x17f10c:0x351};function _0x17a71d(_0x14e27b,_0xf35abb){return _0x2b6441(_0xf35abb,_0x14e27b-0x488);}delete this[_0x17a71d(0x652,_0x1b8e6a._0xac25d4)];!_0x2064a3['_onAdd']&&(_0x2064a3[_0x17a71d(0x154a,0xfc2)]||this['options']['symbol'])&&(_0x2b7676&&this[_0x17a71d(0xb44,0x248)][_0x5281de(0xb66,_0x1b8e6a._0x4f8ae1)]&&(_0x2064a3=mergeSymbolToGraphic(_0x2064a3,this['options'][_0x5281de(0xb66,_0x1b8e6a._0x4f1cdc)])),_0x2064a3=create$5(_0x2064a3['type'],_0x2064a3));function _0x5281de(_0x35036d,_0x2a2eea){return _0x306755(_0x2a2eea,_0x35036d- -0x5f);}return _0x2064a3&&(_0x2064a3['_onAdd'](this),this[_0x5281de(0x130d,0x1d52)][_0x5281de(0x7d3,0x1ce)](_0x2064a3['id'],_0x2064a3),Cesium__namespace['defined'](this['options'][_0x5281de(0xaea,0x17c)])&&this['options']['opacity']!==0x1&&_0x2064a3[_0x5281de(_0x1b8e6a._0x3540fe,_0x1b8e6a._0x2bec48)]&&_0x2064a3['setOpacity'](this[_0x5281de(_0x1b8e6a._0x57a99d,_0x1b8e6a._0x17f10c)]['opacity']),this['_refreshCluster']()),_0x2064a3;}[_0x2b6441(0x957,0x7a2)](_0x1dc067,_0x3c1c36=!![]){return this['_removeGraphic'](_0x1dc067,_0x3c1c36),this;}[_0x2b6441(0x7c,0x836)](_0x46b45a,_0x10598c,_0xf6437a){const _0x32f30f={_0x3edd36:0x1e9,_0x1c13e2:0x623};if(!_0x46b45a||!_0x46b45a['_onRemove'])return this;delete this[_0x278011(-_0x32f30f._0x3edd36,_0x32f30f._0x1c13e2)];!_0xf6437a&&this['_graphicList']['remove'](_0x46b45a['id']);_0x46b45a['_onRemove']();_0x10598c&&_0x46b45a['destroy']();function _0x278011(_0x44e12c,_0x5b2460){return _0x2b6441(_0x44e12c,_0x5b2460-0x459);}this['_refreshCluster']();}['getGraphicById'](_0x39ce8f){function _0x30e43f(_0x3bbf4f,_0x37d61b){return _0x306755(_0x37d61b,_0x3bbf4f- -0x3e);}function _0x3c9fef(_0x58a5d7,_0x47ce85){return _0x306755(_0x47ce85,_0x58a5d7- -0x35a);}return this[_0x3c9fef(0x1012,0x1151)][_0x3c9fef(0x933,0xcd3)](_0x39ce8f);}[_0x2b6441(0xac2,0xe47)](_0xa41cb9,_0x2e117b){return this['_graphicList']['getByAttr'](_0xa41cb9,_0x2e117b,'attr');}[_0x2b6441(0x1436,0x1413)](_0x3162f3,_0x5bcb97){return this['_graphicList']['getListByAttr'](_0x3162f3,_0x5bcb97,'attr');}[_0x2b6441(-0x32b,0x347)](_0x3d2e04,_0x323f2f){const _0x30d5e9={_0x1dfcfc:0xdb4,_0xfc11f6:0x3a1,_0xea1074:0xc9c},_0x41bdc6={_0x8af688:0x17},_0x4de55e={_0x12bdf7:0x485},_0x24c220={_0x1b7318:0x5fd},_0x396f8a=[];function _0x2dbf96(_0x20b43a,_0x369ec2){return _0x2b6441(_0x369ec2,_0x20b43a-_0x24c220._0x1b7318);}this[_0x1adf86(_0x30d5e9._0x1dfcfc,_0x30d5e9._0xfc11f6)][_0x2dbf96(_0x30d5e9._0xea1074,0x101f)](_0x244bc6=>{const _0x565f40={_0x26f203:0x3a4};function _0x4f4322(_0x4fc786,_0x21c20a){return _0x1adf86(_0x4fc786-_0x565f40._0x26f203,_0x21c20a);}_0x244bc6['style'][_0x3d2e04]===_0x323f2f&&_0x396f8a[_0x4f4322(_0x4de55e._0x12bdf7,0xb64)](_0x244bc6);},this);function _0x1adf86(_0x8d7e48,_0x502457){return _0x2b6441(_0x502457,_0x8d7e48- -_0x41bdc6._0x8af688);}return _0x396f8a;}['eachGraphic'](_0x475cdc,_0x2996bb,_0x438268){return this['_graphicList']['forEach'](_0x475cdc,_0x2996bb||this,_0x438268),this;}['getGraphics'](_0x20ce0f=![]){const _0x72a6={_0xcd29e3:0xf2f};function _0x3c9a6f(_0x3045f4,_0xd281f1){return _0x2b6441(_0xd281f1,_0x3045f4-0x164);}if(_0x20ce0f)return this[_0x3c9a6f(_0x72a6._0xcd29e3,0x1499)]['values'];else{const _0x1736b8=[];return this['_graphicList']['forEach'](_0x56befa=>{!_0x56befa['isPrivate']&&_0x1736b8['push'](_0x56befa);},this),_0x1736b8;}}[_0x306755(0x148,0xa3d)](_0x22a21e){const _0x327cd1={_0x1bc0fa:0x63},_0x49f7e5={_0x55eaa6:0x126f,_0x3666f9:0x1462},_0x1ea9fe={_0xb784b6:0x2c6},_0x521a3d={_0x36c1a3:0x1de},_0x5ee61e=[];function _0x2ffb58(_0x3c014a,_0xeb15c0){return _0x2b6441(_0xeb15c0,_0x3c014a-_0x521a3d._0x36c1a3);}return _0x22a21e[_0x2ffb58(0x87d,-_0x327cd1._0x1bc0fa)](_0x2de0da=>{const _0x24701d=this[_0x4b8833(_0x49f7e5._0x55eaa6,_0x49f7e5._0x3666f9)]['get'](_0x2de0da);function _0x4b8833(_0x1109aa,_0x13b9da){return _0x2ffb58(_0x1109aa-_0x1ea9fe._0xb784b6,_0x13b9da);}_0x24701d&&_0x5ee61e['push'](_0x24701d);}),_0x5ee61e;}['getGraphicsTree'](_0x330075={}){const _0x26a76c={_0x1143d4:0xa1c,_0x30ae17:0x119d,_0x4184ab:0x9ce,_0xbe3a7c:0x70d,_0x324959:0x108b,_0x591731:0x3eb},_0x44948b={_0x3f4793:0x47d,_0x5a9b08:0x892,_0x4661cb:0x7f4},_0xbac4c9={_0x288e16:0x68e},_0x53ff91={_0x27012d:0x1880,_0x260fe6:0x623,_0x433566:0x27e,_0x5b2ab5:0xc1d,_0x1af760:0x396,_0x149609:0x42b,_0x53f1ff:0x104e,_0x4a0ee4:0x8da,_0x5e7afb:0xabe,_0x14c1ff:0x134a,_0x121d96:0x849},_0x4a77a9={_0x3c0ba9:0x3a2},_0x2f171c=[];function _0x578409(_0x293da9,_0x23210c){return _0x306755(_0x293da9,_0x23210c- -0x533);}function _0x119b3e(_0x1b618c,_0x3da48f){return _0x306755(_0x1b618c,_0x3da48f- -0x214);}const _0x8d85e9={};let _0x103693=!![];this['_graphicList']['forEach'](_0x41aad4=>{if(!_0x41aad4['options']||_0x41aad4[_0x38d300(_0x53ff91._0x27012d,0x145f)]||_0x41aad4[_0x38d300(-0x309,_0x53ff91._0x260fe6)])return;const _0x261e8c={};_0x261e8c['id']=_0x41aad4['id'],_0x261e8c['pid']=_0x41aad4['pid'],_0x261e8c['type']=_0x41aad4['type'],_0x261e8c[_0x1253a6(_0x53ff91._0x433566,_0x53ff91._0x5b2ab5)]=_0x41aad4[_0x38d300(_0x53ff91._0x1af760,_0x53ff91._0x149609)],_0x261e8c['show']=_0x41aad4['isAdded']&&_0x41aad4[_0x1253a6(0xf7e,0xb27)],_0x261e8c['group']=_0x41aad4[_0x1253a6(_0x53ff91._0x53f1ff,_0x53ff91._0x4a0ee4)]===_0x1253a6(0xf12,0x4c4)&&_0x41aad4[_0x1253a6(0x11ac,0x9c0)];function _0x1253a6(_0x293883,_0xf7a960){return _0x5bbe(_0x293883- -_0x4a77a9._0x3c0ba9,_0xf7a960);}_0x261e8c[_0x1253a6(0x6e7,0xf8f)]=_0x41aad4[_0x1253a6(0x6e7,_0x53ff91._0x5e7afb)];function _0x38d300(_0x54babe,_0x4e45c7){return _0x5bbe(_0x4e45c7- -0x1f5,_0x54babe);}let _0x29e32a=_0x261e8c;for(const _0xc368d6 in _0x29e32a){const _0x483e56=_0x29e32a[_0xc368d6];!Cesium__namespace[_0x38d300(0x1449,_0x53ff91._0x14c1ff)](_0x483e56)&&delete _0x29e32a[_0xc368d6];}_0x330075[_0x1253a6(0x62b,0xa83)]&&(_0x29e32a=_0x330075[_0x38d300(0xf6b,0x7d8)](_0x29e32a,_0x41aad4)??_0x29e32a),_0x29e32a[_0x38d300(_0x53ff91._0x121d96,0x10bf)]&&(_0x103693=![]),_0x8d85e9[_0x29e32a['id']]&&logWarn('存在id重复的矢量对象配置,请排查!',_0x8d85e9[_0x29e32a['id']],_0x29e32a),_0x8d85e9[_0x29e32a['id']]=_0x29e32a,delete _0x8d85e9[_0x29e32a['id']]['children'],_0x2f171c['push'](_0x29e32a);},this,!![]);if(_0x103693&&_0x330075['autoGroup']){const _0x4cc219={};for(let _0x3a30ab=_0x2f171c['length']-0x1;_0x3a30ab>=0x0;_0x3a30ab--){const _0x5b5ca1=_0x2f171c[_0x3a30ab];let _0x581e18;isString(_0x330075['autoGroup'])?_0x581e18=_0x5b5ca1[_0x330075[_0x119b3e(0xf44,_0x26a76c._0x1143d4)]]||_0x5b5ca1['attr'][_0x330075[_0x119b3e(_0x26a76c._0x30ae17,0xa1c)]]:_0x581e18=_0x330075['autoGroup'](_0x5b5ca1,_0x8d85e9[_0x5b5ca1['id']]);if(!_0x4cc219[_0x581e18]){let _0x9c7cb={'id':createGuid(),'type':'group','name':_0x581e18,'show':![],'group':!![]};_0x330075[_0x578409(0x1008,0x70d)]&&(_0x9c7cb=_0x330075[_0x578409(_0x26a76c._0x4184ab,_0x26a76c._0xbe3a7c)](_0x9c7cb)??_0x9c7cb),_0x2f171c['push'](_0x9c7cb),_0x4cc219[_0x581e18]=_0x9c7cb['id'],_0x8d85e9[_0x9c7cb['id']]=_0x9c7cb;}_0x5b5ca1['pid']=_0x4cc219[_0x581e18];}}const _0x507b1f=[];_0x2f171c['forEach'](function(_0x3f6568){const _0x511920=_0x8d85e9[_0x3f6568[_0x2dc630(_0x44948b._0x3f4793,0xcd7)]];function _0xc00101(_0x4fb672,_0x442d0d){return _0x578409(_0x442d0d,_0x4fb672-_0xbac4c9._0x288e16);}function _0x2dc630(_0x445a67,_0x2c6e54){return _0x578409(_0x2c6e54,_0x445a67- -0xe4);}_0x511920?(!_0x511920[_0x2dc630(0xf04,_0x44948b._0x5a9b08)]&&(_0x511920['children']=[]),_0x511920['children'][_0xc00101(_0x44948b._0x4661cb,0x28e)](_0x3f6568)):(delete _0x3f6568['pid'],_0x507b1f['push'](_0x3f6568));});const _0x3addcf={};return _0x3addcf[_0x119b3e(_0x26a76c._0x324959,0x707)]=_0x2f171c,_0x3addcf[_0x119b3e(-_0x26a76c._0x591731,0x26e)]=_0x507b1f,_0x3addcf;}['clear'](_0x462cf4=!![]){const _0x1abb85={_0x3712f7:0xdf6,_0x12c136:0xcb1,_0x441e79:0xe00,_0x5f4ca2:0x1001,_0x285c31:0x793,_0x45349b:0xeeb,_0x196122:0x80e,_0x517b34:0x164b,_0x46a4b1:0xd05,_0x17f34f:0x15d,_0x500780:0x9ba,_0x3340e2:0xdec,_0x38f619:0xc1c,_0x59a071:0x102,_0x2ab0bf:0x7c1,_0x18205e:0x28,_0x1e373b:0x704,_0x154656:0x1b9,_0x378b08:0x631},_0x474250={_0x5edf54:0x47};this[_0x5ca133(0x135a,_0x1abb85._0x3712f7)]();this['_graphicList']&&(this[_0x4f955a(0xd97,_0x1abb85._0x12c136)]['forEach'](_0x506892=>{this['_removeGraphic'](_0x506892,_0x462cf4,!![]);},this),this['_graphicList']['removeAll']());this[_0x4f955a(0xe00,0xeb9)]&&this[_0x4f955a(_0x1abb85._0x441e79,_0x1abb85._0x5f4ca2)]['entities']['removeAll']();if(this['_primitiveCollection'])try{this['_primitiveCollection'][_0x4f955a(0x826,0x46c)]();}catch(_0x47aae0){const _0xe15c86=this['_primitiveCollection'][_0x4f955a(0x7c1,0xb27)],_0x55f0bc=_0xe15c86['length'];for(let _0xb07aa0=0x0;_0xb07aa0<_0x55f0bc;++_0xb07aa0){var _0x3290ad;(_0x3290ad=_0xe15c86[_0xb07aa0])!==null&&_0x3290ad!==void 0x0&&(_0x3290ad=_0x3290ad[_0x4f955a(_0x1abb85._0x285c31,_0x1abb85._0x45349b)])!==null&&_0x3290ad!==void 0x0&&_0x3290ad['_composites']&&(delete _0xe15c86[_0xb07aa0][_0x5ca133(0x528,_0x1abb85._0x196122)]['_composites'][this[_0x4f955a(0xf77,_0x1abb85._0x517b34)]],this[_0x5ca133(0xa73,_0x1abb85._0x46a4b1)][_0x5ca133(_0x1abb85._0x17f34f,0xa5)]&&_0xe15c86[_0xb07aa0][_0x4f955a(_0x1abb85._0x500780,0x134b)]());}this[_0x5ca133(0x1092,_0x1abb85._0x46a4b1)]['_primitives']=[];}if(this['_groundPrimitiveCollection'])try{this[_0x5ca133(_0x1abb85._0x3340e2,0xcc6)]['removeAll']();}catch(_0x271926){const _0x5bffe5=this['_groundPrimitiveCollection']['_primitives'],_0x3aacec=_0x5bffe5[_0x5ca133(0x98b,0x10a1)];for(let _0x134786=0x0;_0x134786<_0x3aacec;++_0x134786){var _0x2996be;(_0x2996be=_0x5bffe5[_0x134786])!==null&&_0x2996be!==void 0x0&&(_0x2996be=_0x2996be['_external'])!==null&&_0x2996be!==void 0x0&&_0x2996be['_composites']&&(delete _0x5bffe5[_0x134786]['_external'][_0x4f955a(_0x1abb85._0x38f619,0x5aa)][this['_guid']],this['_groundPrimitiveCollection']['destroyPrimitives']&&_0x5bffe5[_0x134786][_0x4f955a(0x9ba,-_0x1abb85._0x59a071)]());}this['_groundPrimitiveCollection'][_0x4f955a(_0x1abb85._0x2ab0bf,-0x238)]=[];}this['_labelCollection']&&this['_labelCollection']['removeAll']();function _0x4f955a(_0x1960d1,_0x587e21){return _0x2b6441(_0x587e21,_0x1960d1- -0x34);}this[_0x5ca133(_0x1abb85._0x18205e,-0xe6)]&&this['_billboardCollection'][_0x5ca133(0x1b2,0x8a1)]();function _0x5ca133(_0x277326,_0x518480){return _0x2b6441(_0x277326,_0x518480-_0x474250._0x5edf54);}this['_cloudCollection']&&this[_0x4f955a(0x14a,0xbec)][_0x5ca133(_0x1abb85._0x1e373b,0x8a1)](),this[_0x5ca133(0xa76,0xf85)]&&this[_0x5ca133(0x18dc,0xf85)]['removeAll'](),this['_polylineCollection']&&this['_polylineCollection']['removeAll'](),this['_pointCluster']&&this[_0x5ca133(-0x65d,_0x1abb85._0x154656)]['removeAll'](),this['_lights']&&this[_0x5ca133(-_0x1abb85._0x378b08,0x250)]['removeAll'](),this[_0x4f955a(0xf02,0x12a0)]&&this['_visibilitys'][_0x5ca133(0x9fe,0x8a1)](),this['_closeAllControl']();}['autoSurfaceHeight'](_0x4e5db3={}){return new Promise((_0x57d60e,_0x36dd9b)=>{const _0x40eb5c={_0x2718c7:0x67b,_0x500a83:0xd82,_0x4d7790:0xfe5,_0x5433fc:0x139d,_0xab2190:0x1c2e},_0x58144c=this['getGraphics']();let _0x33fba3=-0x1;const _0x4f80f2=_0x58144c['length'];function _0x3bc174(){const _0x492868={_0x502814:0x6bb,_0x101716:0x1085},_0x16d875={_0x4f80b4:0xab},_0x3023f1={_0x25d30e:0x2e3};function _0x5381d3(_0x17ed9f,_0x23a973){return _0x5bbe(_0x17ed9f- -_0x3023f1._0x25d30e,_0x23a973);}function _0x31bb72(_0x134af0,_0x5813f8){return _0x5bbe(_0x5813f8- -_0x16d875._0x4f80b4,_0x134af0);}_0x33fba3++;if(_0x33fba3>=_0x4f80f2){if(_0x4e5db3['end']){const _0xd468be={};_0xd468be[_0x31bb72(0xfde,0xc3a)]=_0x33fba3,_0xd468be[_0x5381d3(0xca,-_0x40eb5c._0x2718c7)]=_0x4f80f2,_0xd468be['graphics']=_0x58144c,_0x4e5db3['end'](_0xd468be);}_0x57d60e(_0x58144c);return;}const _0x159c58=_0x58144c[_0x33fba3];if(_0x159c58[_0x5381d3(_0x40eb5c._0x500a83,0x11fa)])_0x159c58[_0x5381d3(0xd82,0x694)](_0x4e5db3)[_0x31bb72(0x11a1,_0x40eb5c._0x4d7790)](()=>{if(_0x4e5db3[_0x4eaa27(0x118d,_0x492868._0x502814)]){const _0x284232={};_0x284232['graphic']=_0x159c58,_0x284232[_0x4eaa27(0xd8b,0x1696)]=_0x33fba3,_0x284232['count']=_0x4f80f2,_0x4e5db3[_0x4a9b1a(_0x492868._0x101716,0xd5c)](_0x284232);}function _0x4a9b1a(_0x2ce1da,_0x488c72){return _0x31bb72(_0x2ce1da,_0x488c72- -0x2e0);}function _0x4eaa27(_0x25fbdb,_0x5a2ff6){return _0x31bb72(_0x5a2ff6,_0x25fbdb-0x151);}_0x3bc174();});else{if(_0x4e5db3['endItem']){const _0x4ae74b={};_0x4ae74b[_0x5381d3(_0x40eb5c._0x5433fc,_0x40eb5c._0xab2190)]=_0x159c58,_0x4ae74b['index']=_0x33fba3,_0x4ae74b[_0x5381d3(0xca,0xa3a)]=_0x4f80f2,_0x4e5db3['endItem'](_0x4ae74b);}_0x3bc174();}}_0x3bc174();});}[_0x2b6441(0xddc,0xde3)](_0x6b8d78){const _0x49adb1={_0xdd1da4:0xa3b,_0x4c8f61:0x145e,_0x3b91ee:0x824,_0xfef5c7:0x1203,_0xec0326:0x18ca},_0x1c2af2={_0x626b37:0x3d0};return new Promise((_0x3f6000,_0x56e619)=>{this[_0x24f975(0xd8a,_0x49adb1._0xdd1da4)]();function _0x105e92(_0x21be57,_0x1a1b97){return _0x5bbe(_0x1a1b97-_0x1c2af2._0x626b37,_0x21be57);}function _0x24f975(_0x531e61,_0x1885d1){return _0x5bbe(_0x531e61- -0x353,_0x1885d1);}if(!this[_0x24f975(0x1203,_0x49adb1._0x4c8f61)])throw new Error(_0x24f975(0x11a3,0x137c));const _0x3b149b={};_0x3b149b['resolve']=_0x3f6000,_0x3b149b[_0x24f975(0xac5,0xb24)]=_0x56e619,_0x6b8d78[_0x105e92(0x7b0,_0x49adb1._0x3b91ee)]=_0x3b149b;const _0x59a87a=fromDraw(this,_0x6b8d78);_0x59a87a!=null&&(this[_0x105e92(0x1975,0x1481)]=_0x59a87a,this[_0x24f975(_0x49adb1._0xfef5c7,0x762)][_0x105e92(_0x49adb1._0xec0326,0xe3b)](this));});}[_0x306755(0x2f7,0xa3a)](){this['stopEditing']();if(this['_graphic_drawing']){const _0x1877f4=this['_graphic_drawing']['endDraw']();return _0x1877f4&&(this['_graphic_drawing']=null),_0x1877f4;}return![];}['stopDraw'](){const _0x1eb709={_0x393391:0xfa4},_0x4e2bd5={_0x265560:0x47};function _0x4a29ae(_0x2926f0,_0x2bb814){return _0x2b6441(_0x2bb814,_0x2926f0-0x221);}this['stopEditing']();function _0x3bd3e2(_0x256552,_0x4fab97){return _0x2b6441(_0x4fab97,_0x256552-_0x4e2bd5._0x265560);}return this[_0x3bd3e2(0xdca,0x16fc)]?(this[_0x4a29ae(_0x1eb709._0x393391,0x1582)]['stopDraw'](),this[_0x4a29ae(_0x1eb709._0x393391,0x1112)]=null,this['_refreshCluster'](),!![]):![];}['clearDrawing'](){const _0x4bf7f5={_0xa8f636:0x11a1,_0x1d1e69:0xdfc,_0x25d285:0x4a9,_0x2b6f33:0xc5e,_0x2fb780:0x19f};function _0x950c29(_0x2c8701,_0x3aa709){return _0x306755(_0x2c8701,_0x3aa709- -0x528);}function _0x5c9deb(_0x20560c,_0x293398){return _0x306755(_0x293398,_0x20560c- -0x21e);}if(this[_0x5c9deb(0x1106,_0x4bf7f5._0xa8f636)]){var _0x2bfe55,_0x4ce280;return(_0x2bfe55=this['_graphic_drawing'][_0x5c9deb(0xa3f,0xf57)])!==null&&_0x2bfe55!==void 0x0&&_0x2bfe55['success']&&delete this[_0x950c29(0x13c2,_0x4bf7f5._0x1d1e69)]['options'][_0x5c9deb(0x11e5,0x1c1f)],(_0x4ce280=this['_graphic_drawing']['options'])!==null&&_0x4ce280!==void 0x0&&_0x4ce280[_0x5c9deb(_0x4bf7f5._0x25d285,0x580)]&&delete this[_0x5c9deb(0x1106,0xfed)][_0x5c9deb(0xa3f,0xc)][_0x950c29(_0x4bf7f5._0x2b6f33,_0x4bf7f5._0x2fb780)],this['_graphic_drawing']['remove'](!![]),this['_graphic_drawing']=null,!![];}else return![];}['activateEdit'](){if(this['_hasEdit'])return;return this['_hasEdit']=!![],this['_map']&&this['_bindEditEvent'](),this;}['disableEdit'](){const _0x139479={_0x3a1ed2:0xe14,_0x478241:0x984};if(!this['_hasEdit'])return;this[_0x1fe50e(_0x139479._0x3a1ed2,0x9d8)]=![],this[_0x3cff1e(0xe5d,0x1028)](),this[_0x1fe50e(0x11b7,_0x139479._0x478241)]();function _0x1fe50e(_0x582eee,_0x3baa8c){return _0x306755(_0x582eee,_0x3baa8c- -0x59b);}function _0x3cff1e(_0x156029,_0x1b1c3c){return _0x306755(_0x156029,_0x1b1c3c- -0x127);}return this;}[_0x2b6441(0x774,0xfa8)](){const _0x40e705={_0x336437:0xc9b,_0x39ba0f:0x1552};this[_0x20aeb9(_0x40e705._0x336437,_0x40e705._0x39ba0f)]['on'](EventType[_0x27187d(0x4dc,0xb76)],this['_onClickHandler'],this);function _0x20aeb9(_0x423c2d,_0x485524){return _0x2b6441(_0x423c2d,_0x485524-0x32a);}function _0x27187d(_0xed5f5d,_0x37b9c0){return _0x306755(_0xed5f5d,_0x37b9c0- -0x4f2);}this['_map']['on'](EventType['mouseMoveTarget'],this['_onMouseMoveHandler'],this);}['_unbindEditEvent'](){function _0x464c10(_0x55e3b1,_0x1afafa){return _0x2b6441(_0x55e3b1,_0x1afafa-0x44f);}this[_0x464c10(0x1826,0x1677)]['off'](EventType['click'],this['_onClickHandler'],this),this['_map']['off'](EventType['mouseMoveTarget'],this['_onMouseMoveHandler'],this);}['_onMouseMoveHandler'](_0x2534eb){const _0x2f73f5={_0x58ae8e:0x7cc,_0x9e4bf9:0x11b7,_0x6b94d4:0x34,_0x4d01a3:0x74c,_0xd5b11:0xad7,_0x1eae82:0x17b9,_0x4aec6a:0x1973,_0x53922f:0x1730,_0x33c60f:0x747,_0x3eb723:0x10ac,_0x453c3f:0x1459,_0x4a6b1f:0x16a2,_0x504e58:0x64b,_0x411fcd:0xf19,_0x195a3a:0x168f},_0x52b9a1={_0xa3359a:0x71};if(!this['_hasEdit'])return;if(!this[_0xa65d9d(_0x2f73f5._0x58ae8e,_0x2f73f5._0x9e4bf9)]['scene'][_0x441493(0x5be,-_0x2f73f5._0x6b94d4)][_0xa65d9d(_0x2f73f5._0x4d01a3,_0x2f73f5._0xd5b11)])return;function _0xa65d9d(_0x5ee14f,_0x15db1c){return _0x2b6441(_0x5ee14f,_0x15db1c- -_0x52b9a1._0xa3359a);}let _0x386d01=_0x2534eb['graphic'];function _0x441493(_0x105ffb,_0x30f556){return _0x306755(_0x30f556,_0x105ffb- -0x13a);}if(!_0x386d01){const _0x22ee03=this[_0xa65d9d(0x8d8,0x11b7)]['mouseEvent'][_0x441493(0x1431,0x1e36)](_0x2534eb[_0x441493(0x1710,0x1005)],_0x2534eb);_0x386d01=_0x22ee03===null||_0x22ee03===void 0x0?void 0x0:_0x22ee03[_0x441493(_0x2f73f5._0x1eae82,_0x2f73f5._0x4aec6a)];}if(_0x386d01==null||_0x386d01[_0xa65d9d(0x1874,0xdb2)]!==this){this['_map']['closeSmallTooltip']();return;}if(_0x386d01[_0x441493(0x10fd,_0x2f73f5._0x53922f)]||_0x386d01['isPrivate']||!_0x386d01[_0x441493(_0x2f73f5._0x33c60f,0x11f1)])return;if(this['_map'][_0x441493(_0x2f73f5._0x3eb723,0x19e9)][_0x441493(_0x2f73f5._0x453c3f,_0x2f73f5._0x4a6b1f)]&&this[_0x441493(0x168f,0x1471)]['contextmenu']['target']===_0x386d01)return;let _0x2302f8=this['_map']['getLangText']('_单击后激活编辑');isPCBroswer()&&(_0x386d01[_0xa65d9d(-0x2a4,_0x2f73f5._0x504e58)]['hasEditContextMenu']??!![])&&(_0x2302f8+='<br/>'+this['_map']['getLangText'](_0xa65d9d(0xacb,_0x2f73f5._0x411fcd))),this[_0x441493(_0x2f73f5._0x195a3a,0x2000)]['openSmallTooltip'](_0x2534eb['windowPosition'],_0x2302f8);}['_onClickHandler'](_0x5db141){const _0xb85a91={_0x5f1bda:0x63b,_0x233c79:0xba4,_0xf2abd1:0x110f},_0x1fecdb={_0x5ea6c5:0x53a};function _0x57f92b(_0x17c2b5,_0x43bf69){return _0x306755(_0x17c2b5,_0x43bf69- -0x559);}if(this[_0x4d8194(0xdea,0x1519)])return;function _0x4d8194(_0x37f20a,_0xc61bea){return _0x306755(_0xc61bea,_0x37f20a- -_0x1fecdb._0x5ea6c5);}const _0x146924=_0x5db141['graphic'];if(_0x146924&&(_0x146924['isPrivate']||!_0x146924[_0x57f92b(_0xb85a91._0x5f1bda,0x328)]))return;this[_0x57f92b(0x5cd,0x328)]&&_0x146924&&_0x5db141[_0x4d8194(0x490,_0xb85a91._0x233c79)]===this?this[_0x4d8194(_0xb85a91._0xf2abd1,0x1080)](_0x146924,_0x5db141):this['stopEditing']();}['startEditing'](_0x357ee8,_0x19ac48){const _0x3eda60={_0x5b7ade:0xf3c,_0x1b32f4:0x1a7f,_0xaeba7b:0x11ec,_0x4d5d51:0x11f1},_0x40cf28={_0xb39240:0x144};function _0x3155f1(_0x47c6ff,_0x2cf9b1){return _0x2b6441(_0x2cf9b1,_0x47c6ff-0x2a6);}if(!_0x357ee8||!_0x357ee8[_0x529974(0xe2d,0x11ec)]||!_0x357ee8[_0x3155f1(0x866,0xabc)]||!_0x357ee8['hasEdit'])return;if(this['_graphic_editing']===_0x357ee8||_0x357ee8[_0x3155f1(_0x3eda60._0x5b7ade,0x1160)])return;this['stopEditing'](),_0x357ee8[_0x529974(_0x3eda60._0x1b32f4,_0x3eda60._0xaeba7b)]();_0x19ac48&&_0x357ee8['_draw_tooltip']&&this['_map']['openSmallTooltip'](_0x19ac48['position'],_0x357ee8[_0x529974(0x1a20,_0x3eda60._0x4d5d51)]);this['_graphic_editing']=_0x357ee8;function _0x529974(_0x39293f,_0x2fca27){return _0x2b6441(_0x39293f,_0x2fca27-_0x40cf28._0xb39240);}return this;}[_0x306755(0x1955,0xf1f)](){const _0x9ca3bc={_0x14e78c:0xa9c},_0x499a40={_0x34372c:0x689};function _0x12f456(_0x4e67e7,_0x29c8bf){return _0x2b6441(_0x29c8bf,_0x4e67e7-_0x499a40._0x34372c);}this[_0x12f456(0xa9c,0x1107)]&&(this[_0x12f456(_0x9ca3bc._0x14e78c,0xbad)]['stopEditing'](),this['_graphic_editing']=null,this[_0x12f456(0x6e1,0xc0f)]());function _0x59fc34(_0x4ba27e,_0x1d3cc9){return _0x306755(_0x4ba27e,_0x1d3cc9- -0x53d);}return this;}}register$3(_0x306755(0x1b97,0x18f3),GraphicLayer);class MatrixMove extends BaseThing{constructor(_0x36ab37={}){const _0x320d6a={_0x206230:0x1c1,_0x350a6d:0x89d,_0x394909:0x58b,_0x3a5d52:0x620};super(_0x36ab37),this['options']['radius']=this['options'][_0x51fcb6(_0x320d6a._0x206230,0xa6)]??0xc8;function _0x123086(_0x516ea2,_0x47e4f6){return _0x2b6441(_0x47e4f6,_0x516ea2-0x1e1);}function _0x51fcb6(_0x242985,_0x448886){return _0x2b6441(_0x448886,_0x242985-0x9c);}this['options']['hasMiddle']=this[_0x123086(_0x320d6a._0x350a6d,0x126e)][_0x51fcb6(0x1273,0x1972)]??!![],this[_0x123086(_0x320d6a._0x394909,_0x320d6a._0x3a5d52)]=new Cesium__namespace['Cartesian3'](0x0,0x0,0x0),this['rotateMatrix']=new Cesium__namespace['Matrix3'](0x1,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1),_0x36ab37['position']&&(this[_0x123086(0xe37,0xac2)]=_0x36ab37['position']);}get[_0x306755(0x1b9d,0x11f7)](){const _0x161d62={_0x4a6cda:0x923};function _0x12c179(_0x3b1f40,_0x5966c4){return _0x2b6441(_0x3b1f40,_0x5966c4-0x1d3);}return this[_0x12c179(_0x161d62._0x4a6cda,0xaf5)];}set['position'](_0x3dc4b2){const _0x14244b={_0x3e2438:0x98d,_0x2d1f96:0x1329,_0x41cee3:0x15e3},_0x4b1512={_0x32326f:0x5d};function _0x1c5736(_0x530fd5,_0x1abdfe){return _0x306755(_0x1abdfe,_0x530fd5- -0x2c2);}function _0x5cfd9a(_0x122965,_0x336040){return _0x306755(_0x336040,_0x122965- -_0x4b1512._0x32326f);}this['_position']=LngLatPoint[_0x5cfd9a(_0x14244b._0x3e2438,0xf97)](_0x3dc4b2),this['_initByPosition'](),this[_0x1c5736(_0x14244b._0x2d1f96,_0x14244b._0x41cee3)](!![]);}get['isMoveing'](){if(!this[_0x5a89cf(0x1580,0x1527)])return![];function _0x5a89cf(_0x4b1886,_0x5132a5){return _0x306755(_0x4b1886,_0x5132a5- -0x2a2);}return this['_hasChangeEnableInputs'];}['_mountedHook'](){const _0x1a8646={_0x202ae2:0x128c,_0x2b5d04:0xa70},_0x1524e9={_0x17e232:0x3ff};function _0x3a1579(_0x5b7097,_0x3adf1a){return _0x306755(_0x5b7097,_0x3adf1a- -0x362);}const _0x3df204={};function _0x44b448(_0x95cb31,_0x2681c5){return _0x306755(_0x95cb31,_0x2681c5- -_0x1524e9._0x17e232);}_0x3df204[_0x44b448(_0x1a8646._0x202ae2,0x11e5)]=!![],this[_0x3a1579(_0x1a8646._0x2b5d04,0x14ae)]=new GraphicLayer(_0x3df204);}['_addedHook'](){const _0x492126={_0x1d4ee0:0xa84,_0x421848:0xd54};function _0x54d657(_0x2d51c5,_0x10621b){return _0x306755(_0x10621b,_0x2d51c5-0x1d);}this['_map']['addLayer'](this['_graphicLayer']);function _0x33d122(_0x1cd29e,_0x582dca){return _0x306755(_0x582dca,_0x1cd29e- -0x450);}this['_updatePositionHook'](!![]),this[_0x54d657(_0x492126._0x1d4ee0,0x862)](),this[_0x33d122(0x13e1,_0x492126._0x421848)]();}[_0x2b6441(0xab8,0x88a)](){const _0x276408={_0x9c3a9d:0x11d9,_0x3ad676:0x463,_0x108868:0x11ed,_0x4a846d:0x18ea};function _0x33e677(_0x107d5f,_0x20e9ac){return _0x306755(_0x20e9ac,_0x107d5f- -0x637);}this['_graphic_move_x']&&delete this['_graphic_move_x'];function _0x28221e(_0x22184b,_0x31605c){return _0x2b6441(_0x22184b,_0x31605c-0x1c8);}this['_graphic_move_y']&&delete this['_graphic_move_y'],this['_graphic_move_z']&&delete this['_graphic_move_z'],this['_graphic_dragger_ing']&&delete this['_graphic_dragger_ing'],this[_0x33e677(_0x276408._0x9c3a9d,0x1278)][_0x28221e(-0x4a6,_0x276408._0x3ad676)](),this['_map'][_0x33e677(_0x276408._0x108868,_0x276408._0x4a846d)](this['_graphicLayer']),this['_unbindEvent']();}[_0x2b6441(0xf80,0x4c6)](){const _0x513a5f={_0x21e8b8:0x1486,_0x49ff50:0x1883,_0x39c0eb:0x17f2,_0x142693:0xa7c,_0x241e1e:0x1046,_0x149da7:0x6ac,_0x496ffe:0xf9f,_0x250491:0x1c20,_0x291708:0xcd3,_0x3f4e8e:0x5b5,_0x5da169:0xbd7,_0x3d3df5:0x196,_0x501077:0xb04,_0x3676c6:0x16f5,_0x4cba95:0xbcd,_0x368101:0xfd9},_0x35accd={_0x40510e:0x14},_0x25ca7d={_0x164a13:0x3b0};this[_0x140bee(_0x513a5f._0x21e8b8,0x17fc)]['clear']();const _0x41f8fc={};_0x41f8fc['width']=0xf,_0x41f8fc['arcType']=Cesium__namespace['ArcType']['NONE'],_0x41f8fc['materialType']=PolylineArrow,_0x41f8fc['color']=Cesium__namespace[_0x140bee(_0x513a5f._0x49ff50,0xf20)]['RED'],_0x41f8fc['depthFail']=!![];const _0x5b3008={};_0x5b3008[_0x140bee(0x1f05,_0x513a5f._0x39c0eb)]=!![],_0x5b3008['type']=Cesium__namespace['Axis']['X'],this[_0x140bee(_0x513a5f._0x142693,_0x513a5f._0x241e1e)]=new PolylinePrimitive({'positions':this[_0x140bee(0x1148,0x966)],'style':_0x41f8fc,'attr':_0x5b3008,'asynchronous':![],'private':!![]}),this['_graphicLayer']['addGraphic'](this['_graphic_move_x']);const _0x69b34b={};_0x69b34b['width']=0xf,_0x69b34b['arcType']=Cesium__namespace['ArcType'][_0x474b6c(_0x513a5f._0x149da7,0x1020)],_0x69b34b['materialType']=PolylineArrow,_0x69b34b['color']=Cesium__namespace['Color'][_0x474b6c(0xf0c,0x10d1)],_0x69b34b[_0x140bee(0xcef,0x108f)]=!![];const _0x4a5e2e={};_0x4a5e2e['move']=!![],_0x4a5e2e['type']=Cesium__namespace['Axis']['Y'],this[_0x140bee(0x13e5,0x1515)]=new PolylinePrimitive({'positions':this[_0x140bee(0x14a8,0xe9c)],'style':_0x69b34b,'attr':_0x4a5e2e,'asynchronous':![],'private':!![]}),this[_0x140bee(0x1bf9,0x17fc)]['addGraphic'](this['_graphic_move_y']);const _0x2c83af={};_0x2c83af['width']=0xf,_0x2c83af[_0x474b6c(_0x513a5f._0x496ffe,0x1383)]=Cesium__namespace['ArcType']['NONE'],_0x2c83af['materialType']=PolylineArrow,_0x2c83af[_0x474b6c(0x11e2,0xcbe)]=Cesium__namespace['Color']['BLUE'],_0x2c83af['depthFail']=!![];const _0x41db78={};_0x41db78[_0x140bee(_0x513a5f._0x250491,0x17f2)]=!![],_0x41db78['type']=Cesium__namespace['Axis']['Z'],this['_graphic_move_z']=new PolylinePrimitive({'positions':this['_positions_line_z'],'style':_0x2c83af,'attr':_0x41db78,'asynchronous':![],'private':!![]});function _0x474b6c(_0x4bbdd0,_0x3cfa4a){return _0x2b6441(_0x4bbdd0,_0x3cfa4a-_0x25ca7d._0x164a13);}this['_graphicLayer'][_0x140bee(_0x513a5f._0x291708,_0x513a5f._0x3f4e8e)](this['_graphic_move_z']);const _0x3ec612={};_0x3ec612[_0x140bee(0xba8,_0x513a5f._0x5da169)]=0x3,_0x3ec612['arcType']=Cesium__namespace[_0x474b6c(0x1661,0xc7f)]['NONE'],_0x3ec612['materialType']=PolylineDash,_0x3ec612[_0x140bee(0x1494,0xe9b)]=Cesium__namespace['Color']['YELLOW'],_0x3ec612[_0x474b6c(0x4c6,0xeb2)]=!![];const _0x2f5c0e={};_0x2f5c0e['positions']=[],_0x2f5c0e[_0x474b6c(-_0x513a5f._0x3d3df5,0x665)]=_0x3ec612;function _0x140bee(_0x439fbb,_0x2ad734){return _0x306755(_0x439fbb,_0x2ad734- -_0x35accd._0x40510e);}_0x2f5c0e[_0x140bee(-0x9f,0x5ce)]=![],_0x2f5c0e[_0x140bee(_0x513a5f._0x501077,0x15d0)]=!![],_0x2f5c0e[_0x140bee(_0x513a5f._0x3676c6,0x157f)]=![],this['_graphic_dragger_ing']=new PolylinePrimitive(_0x2f5c0e),this['_graphicLayer'][_0x140bee(_0x513a5f._0x4cba95,0x5b5)](this[_0x474b6c(0x52f,_0x513a5f._0x368101)]);}[_0x2b6441(0xfb9,0x13bb)](){const _0x2a84e2={_0x44a37d:0x115b,_0xc4d63d:0x9b5,_0x255c88:0x167e,_0x4e23cc:0x3f8,_0xc2a87:0xe0f,_0xa5b538:0x390,_0x15c8b2:0x342,_0x17f4de:0xc5d,_0x21a2fc:0x446,_0x3f21c0:0x47f,_0x4a9736:0xe09,_0xececc:0x15a,_0x451612:0x6d0},_0xd4cdb4={_0xe87845:0x1},_0x4dac48={_0x52c6a9:0x2aa};this['modelToWorld']=Cesium__namespace[_0x136d84(_0x2a84e2._0x44a37d,_0x2a84e2._0xc4d63d)][_0x28c173(0x14f3,0x14af)](this['position']),this[_0x28c173(0xfee,_0x2a84e2._0x255c88)]=Cesium__namespace['Matrix4']['inverse'](this['modelToWorld'],new Cesium__namespace[(_0x28c173(-0x1b0,0x8c8))]()),this['matrix']=this['modelToWorld']['clone'](),this[_0x136d84(0x1b7,-_0x2a84e2._0x4e23cc)]=Cesium__namespace['Matrix4']['inverse'](this['matrix'],new Cesium__namespace[(_0x28c173(0x761,0x8c8))]()),this['normalX']=Cesium__namespace[_0x28c173(_0x2a84e2._0xc2a87,0x8c8)][_0x136d84(_0x2a84e2._0xa5b538,_0x2a84e2._0x15c8b2)](this['matrix'],Cesium__namespace[_0x136d84(0x47f,_0x2a84e2._0x17f4de)]['UNIT_X'],new Cesium__namespace[(_0x136d84(0x47f,-_0x2a84e2._0x21a2fc))]()),this[_0x28c173(0xed0,0x142e)]=Cesium__namespace['Matrix4'][_0x136d84(0x390,0x44)](this['matrix'],Cesium__namespace['Cartesian3']['UNIT_Y'],new Cesium__namespace['Cartesian3']());function _0x28c173(_0x404fc3,_0x3dded7){return _0x306755(_0x404fc3,_0x3dded7- -_0x4dac48._0x52c6a9);}this[_0x28c173(0x1d0b,0x1466)]=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3']['UNIT_Z'],new Cesium__namespace[(_0x136d84(_0x2a84e2._0x3f21c0,_0x2a84e2._0x4a9736))]());function _0x136d84(_0x2ffccf,_0x348a9d){return _0x2b6441(_0x348a9d,_0x2ffccf- -_0xd4cdb4._0xe87845);}this[_0x28c173(_0x2a84e2._0xececc,_0x2a84e2._0x451612)]=[],this['_positions_line_y']=[],this['_positions_line_z']=[];}['_getFactor'](){const _0x225bcb={_0x282a80:0xcbd,_0x455bac:0xba8},_0x4736a5=new Cesium__namespace['Matrix4']['multiplyByPoint'](this['_map'][_0x5ba9a3(_0x225bcb._0x282a80,0x14a0)][_0x1c9c4c(0x10c2,0xfcd)],this['position'],new Cesium__namespace[(_0x1c9c4c(_0x225bcb._0x455bac,0x47b))]());let _0x4ed08e=-_0x4736a5['z']*Math['tan'](this['_map']['camera']['frustum']['fov']/0x2)*0x2;function _0x5ba9a3(_0x36b9ab,_0x294024){return _0x306755(_0x294024,_0x36b9ab- -0x38b);}(!_0x4ed08e||_0x4ed08e<0x64)&&(_0x4ed08e=0x64);const _0x1e62fb=_0x4ed08e/this['_map']['canvas']['width'];function _0x1c9c4c(_0x114f89,_0x544637){return _0x2b6441(_0x114f89,_0x544637- -0x5);}return _0x1e62fb;}[_0x2b6441(0x1191,0x104a)](_0x5c635f){const _0x3cff8b={_0x5b695e:0x14b,_0x5ba96b:0x2c5,_0x42fe4e:0xa2a,_0x257c42:0x15a5,_0x96d924:0xd5a,_0x293630:0x47b,_0x18a653:0x12e1,_0x80915d:0xd68,_0x569bfd:0x927,_0x108487:0xf88,_0xc4fd2e:0xf80,_0x58165b:0x1666,_0x38b995:0x15a2},_0x379ff7={_0x663d44:0x148},_0x4f5896={_0x40d24b:0x24b};if(!this['_map']||!this['position'])return;const _0x336ab2=this['position'][_0x1a3990(0x6bd,_0x3cff8b._0x5b695e)]();_0x5c635f&&(this[_0x1a3990(0x47b,-_0x3cff8b._0x5ba96b)]=this['options']['radius']*this['_getFactor']());function _0x1a3990(_0x7b59ce,_0x146347){return _0x306755(_0x146347,_0x7b59ce- -_0x4f5896._0x40d24b);}this['_positions_line_x']=[_0x336ab2,Cesium__namespace[_0x184de7(0x6e3,_0x3cff8b._0x42fe4e)][_0x1a3990(0x2ae,0x15c)](this[_0x1a3990(_0x3cff8b._0x257c42,_0x3cff8b._0x96d924)],new Cesium__namespace['Cartesian3'](this[_0x1a3990(_0x3cff8b._0x293630,0xa29)],0x0,0x0),new Cesium__namespace['Cartesian3']())],this[_0x184de7(_0x3cff8b._0x18a653,_0x3cff8b._0x80915d)]=[_0x336ab2,Cesium__namespace[_0x1a3990(_0x3cff8b._0x569bfd,0x309)]['multiplyByPoint'](this['matrix'],new Cesium__namespace['Cartesian3'](0x0,this[_0x184de7(-0x328,0x57e)],0x0),new Cesium__namespace['Cartesian3']())],this['_positions_line_z']=[_0x336ab2,Cesium__namespace['Matrix4']['multiplyByPoint'](this['matrix'],new Cesium__namespace[(_0x184de7(0xaf8,0x8d9))](0x0,0x0,this[_0x1a3990(0x47b,-0x340)]),new Cesium__namespace['Cartesian3']())];this['_graphic_move_x']&&(this['_graphic_move_x'][_0x184de7(_0x3cff8b._0x108487,0x1851)]=this['_positions_line_x']);this['_graphic_move_y']&&(this['_graphic_move_y']['positions']=this['_positions_line_y']);function _0x184de7(_0x44da29,_0x1e38bf){return _0x306755(_0x44da29,_0x1e38bf- -_0x379ff7._0x663d44);}this[_0x184de7(0x10f8,_0x3cff8b._0xc4fd2e)]&&(this[_0x184de7(_0x3cff8b._0x58165b,_0x3cff8b._0xc4fd2e)]['positions']=this[_0x184de7(_0x3cff8b._0x38b995,0xb0b)]);}['_bindEvent'](){const _0x47ed33={_0x28b3a1:0x11ea,_0x3aac46:0x1957,_0x1439e9:0x1b9},_0x368b79={_0x15ffbe:0x309};this['_graphicLayer']['on'](EventType['leftDown'],this[_0x12607f(0x1457,0x1aec)],this),this[_0x4fe38b(0x17fc,0x11fe)]['on'](EventType['leftUp'],this[_0x12607f(0x145a,_0x47ed33._0x28b3a1)],this);function _0x4fe38b(_0x194b70,_0x1b8a3b){return _0x306755(_0x1b8a3b,_0x194b70-0x33);}function _0x12607f(_0x492bf6,_0x382617){return _0x2b6441(_0x382617,_0x492bf6-_0x368b79._0x15ffbe);}this['options']['hasMiddle']&&this[_0x12607f(0x1531,_0x47ed33._0x3aac46)]['on'](EventType['middleClick'],this[_0x12607f(0x6cd,_0x47ed33._0x1439e9)],this),this['_map']['on'](EventType['wheel'],this['_onMap_wheel'],this);}[_0x306755(0x12b8,0x199f)](){const _0x5c315b={_0x17fb14:0x3eb,_0xeb5bd:0xc2,_0x409fe4:0x156d,_0x2db995:0x116f,_0x334849:0xcbd,_0xd4860e:0x2046,_0x21b2ac:0x13ae,_0x439d0a:0x3e4,_0x16ba85:0x1248,_0x1f7f1d:0x14ed},_0x18485e={_0x46e9bb:0x41c};this['_graphicLayer']['off'](EventType['leftDown'],this['_onMap_leftDown'],this),this['_map'][_0x1b7d9d(_0x5c315b._0x17fb14,0xeb4)](EventType[_0x1b7d9d(-_0x5c315b._0xeb5bd,-0x322)],this[_0x3aee7b(_0x5c315b._0x409fe4,0x1c6f)],this);function _0x1b7d9d(_0x25c6b,_0x3ca393){return _0x2b6441(_0x3ca393,_0x25c6b-0x20);}this['_map']['off'](EventType['mouseMove'],this[_0x1b7d9d(_0x5c315b._0x2db995,_0x5c315b._0x334849)],this);function _0x3aee7b(_0x32d5d5,_0x53e1e6){return _0x2b6441(_0x53e1e6,_0x32d5d5-_0x18485e._0x46e9bb);}this['options'][_0x3aee7b(0x15f3,_0x5c315b._0xd4860e)]&&this['_map']['off'](EventType[_0x1b7d9d(_0x5c315b._0x21b2ac,0x1774)],this[_0x1b7d9d(_0x5c315b._0x439d0a,0x7e)],this),this[_0x1b7d9d(_0x5c315b._0x16ba85,_0x5c315b._0x1f7f1d)]['off'](EventType['wheel'],this[_0x1b7d9d(0x3c1,0x6ec)],this);}['_onMap_leftDown'](_0x30a183){const _0x1abc95={_0x4cd5b0:0x13c5,_0x730dd9:0xa56,_0x301c98:0x1047,_0x135852:0x673,_0x49b8c1:0x1e2,_0x18ed19:0xb26,_0x39c3b9:0x4c3,_0x152664:0x554,_0x3441db:0xf3b,_0x2b185f:0x1c4b,_0x44d168:0x8d2,_0x49d5cd:0x124c,_0x23b015:0x1256,_0x4703f3:0xd88,_0x5c8c04:0x1095,_0x159538:0xbe4,_0x1aa0d7:0x14ea,_0x471f63:0x1b4b,_0x1e06f1:0x1175,_0x3b9429:0x1436},_0x4d3b04={_0x3bf8fa:0x20e};this['_graphic']=undefined;if(_0x30a183[_0x663124(_0x1abc95._0x4cd5b0,_0x1abc95._0x730dd9)]!==this['_graphicLayer'])return;const _0x5aaf17=_0x30a183['graphic'];if(!_0x5aaf17||!(_0x5aaf17[_0x499e57(_0x1abc95._0x301c98,0x969)]['move']||_0x5aaf17['attr']['rotate']))return;this[_0x663124(0x10bf,_0x1abc95._0x135852)]=_0x5aaf17;!_0x5aaf17['style']['color_bak']&&(_0x5aaf17[_0x663124(_0x1abc95._0x49b8c1,0x8e2)][_0x663124(0x11a3,0x1514)]=_0x5aaf17[_0x499e57(_0x1abc95._0x18ed19,_0x1abc95._0x39c3b9)][_0x663124(_0x1abc95._0x152664,_0x1abc95._0x3441db)]);const _0x23560e={};_0x23560e['color']=Cesium__namespace['Color'][_0x663124(_0x1abc95._0x2b185f,0x11b2)],_0x5aaf17[_0x499e57(_0x1abc95._0x44d168,0x456)](_0x23560e),this['_graphic_dragger_ing']['positions']=[this[_0x499e57(0xa3f,0xe64)],this['position']];function _0x663124(_0xb15e1d,_0x397cca){return _0x2b6441(_0xb15e1d,_0x397cca-0x62d);}this[_0x663124(_0x1abc95._0x49d5cd,_0x1abc95._0x23b015)]['show']=!![];const _0x5514f7=this['_graphic'][_0x663124(0x9da,_0x1abc95._0x4703f3)]['type'],_0xa30f8a={..._0x30a183};_0xa30f8a['editType']=_0x5514f7,_0xa30f8a['graphic']=_0x5aaf17,this[_0x499e57(0xa6,0x4f6)](EventType[_0x663124(_0x1abc95._0x5c8c04,_0x1abc95._0x159538)],_0xa30f8a);this['_map'][_0x663124(_0x1abc95._0x1aa0d7,0xaf1)]['screenSpaceCameraController']['enableInputs']&&(this['_map']['scene']['screenSpaceCameraController'][_0x663124(_0x1abc95._0x471f63,_0x1abc95._0x1e06f1)]=![],this[_0x499e57(0x900,0xc4f)]=!![]);function _0x499e57(_0x483138,_0x207f19){return _0x2b6441(_0x483138,_0x207f19-_0x4d3b04._0x3bf8fa);}this[_0x499e57(_0x1abc95._0x3b9429,0x1436)]['on'](EventType['mouseMove'],this['_onMap_mouseMove'],this);}[_0x306755(0x1c0e,0x16f0)](_0x5d7d74){const _0x782421={_0x138b35:0x74d,_0x2c5a9c:0xad5,_0x14610b:0x2a4,_0x3dbeff:0x134e,_0x2bb1c0:0x43e,_0x9b7e8c:0x19c,_0x4b97a0:0x1253,_0x48762f:0xe21,_0x39aaa3:0x252,_0x9b35c3:0x43e,_0x582479:0xcc,_0x53ffb9:0x3c7,_0x5aa599:0x6e2,_0x196ea5:0x1250,_0x1f0516:0xfd0,_0x2bc200:0x1356,_0x8b797e:0x8d5,_0x318b6f:0xf99,_0x52df0a:0x5f8,_0x1d986d:0x771,_0x5d80b7:0xf23,_0x49980c:0x176,_0x112559:0x763,_0x621a6e:0x610,_0xe76378:0x1345,_0x46d503:0x11bc,_0x141a60:0xdea,_0x43e318:0x7fa,_0x5549fc:0xc19,_0x3204b0:0x15c9,_0x50bea1:0x103c,_0x46cf94:0x1532,_0x2c6de4:0x1750,_0x38e3f1:0xfd0,_0x163f2f:0x66,_0x5f1e9d:0xea5,_0x584122:0x2bc,_0x3707b0:0xfe7,_0x534141:0x112d,_0x30bdbb:0x43e,_0x110882:0x1b96,_0x5155df:0x1189,_0x52f368:0x1fc,_0x3562e6:0x1762,_0x296fc1:0x6b7,_0x251252:0x946,_0x4d9a71:0x1284,_0x23f85b:0xc14,_0x5e1f60:0x395},_0x176583={_0x103e6c:0x37a};if(!this['_graphic'])return;const _0x9f6097=_0x5d7d74['startPosition'],_0x39db8d=_0x5d7d74['endPosition'];let _0x54bcf8;const _0x31cdd0=this[_0x2ef218(0x4,-_0x782421._0x138b35)][_0x477287(0x2ca,_0x782421._0x2c5a9c)]['type'];_0x31cdd0===Cesium__namespace[_0x477287(_0x782421._0x14610b,0x246)]['X']&&(_0x54bcf8=this[_0x2ef218(0xfe9,_0x782421._0x3dbeff)]);_0x31cdd0===Cesium__namespace[_0x477287(-0x7ff,0x246)]['Y']&&(_0x54bcf8=this['normalY']);_0x31cdd0===Cesium__namespace[_0x477287(0x7f7,0x246)]['Z']&&(_0x54bcf8=this['normalZ']);const _0x180463=new Cesium__namespace[(_0x2ef218(_0x782421._0x2bb1c0,_0x782421._0x9b7e8c))](_0x39db8d['x']-_0x9f6097['x'],-(_0x39db8d['y']-_0x9f6097['y']),0x0);this['_map'][_0x477287(_0x782421._0x4b97a0,0x83e)]['mode']===Cesium__namespace['SceneMode']['SCENE2D']&&(_0x180463['x']=-0x1*_0x180463['x']);function _0x2ef218(_0x212b63,_0x596d7f){return _0x306755(_0x596d7f,_0x212b63- -0x5e3);}const _0x36a62b=new Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['_map'][_0x477287(0xf6d,_0x782421._0x48762f)][_0x2ef218(0xce,_0x782421._0x39aaa3)],_0x180463,new Cesium__namespace['Cartesian3']()),_0x1d2cdb=Cesium__namespace[_0x2ef218(_0x782421._0x9b35c3,_0x782421._0x582479)]['dot'](_0x36a62b,_0x54bcf8)*this['_getFactor'](),_0xeb39fd=Cesium__namespace[_0x477287(-_0x782421._0x53ffb9,_0x782421._0x5aa599)]['fromCartesian'](this['position']);let _0x2d5b91=new Cesium__namespace['Cartesian3'](this[_0x2ef218(0xc14,_0x782421._0x196ea5)]['x']+_0x54bcf8['x']*_0x1d2cdb,this['position']['y']+_0x54bcf8['y']*_0x1d2cdb,this[_0x477287(0x19c2,_0x782421._0x1f0516)]['z']+_0x54bcf8['z']*_0x1d2cdb);_0x31cdd0!==Cesium__namespace['Axis']['Z']&&(_0x2d5b91=Cesium__namespace[_0x2ef218(0x326,-0x262)]['fromCartesian'](_0x2d5b91),_0x2d5b91[_0x2ef218(0x60f,0xcff)]=_0xeb39fd[_0x477287(_0x782421._0x2bc200,0x9cb)],_0x31cdd0===Cesium__namespace[_0x2ef218(-0x176,-_0x782421._0x8b797e)]['X']?_0x2d5b91[_0x477287(0x84a,0xdac)]=_0xeb39fd['latitude']:_0x2d5b91['longitude']=_0xeb39fd[_0x477287(0x11bb,0xf23)],_0x2d5b91=Cesium__namespace[_0x477287(_0x782421._0x318b6f,0x7fa)][_0x2ef218(_0x782421._0x52df0a,0x89)](_0x2d5b91[_0x477287(_0x782421._0x1d986d,_0x782421._0x5d80b7)],_0x2d5b91['latitude'],_0x2d5b91[_0x2ef218(0x60f,0xe12)]));function _0x477287(_0x42f224,_0x17d8af){return _0x2b6441(_0x42f224,_0x17d8af-_0x176583._0x103e6c);}const _0x157bf8=Cesium__namespace['Matrix4']['multiplyByPoint'](this[_0x2ef218(_0x782421._0x49980c,-_0x782421._0x112559)],_0x2d5b91,new Cesium__namespace['Cartesian3']());Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this[_0x2ef218(0x120d,0x179a)],_0x157bf8,_0x157bf8),Cesium__namespace[_0x2ef218(0x58f,0xde5)][_0x2ef218(0x1c8,_0x782421._0x621a6e)](this[_0x2ef218(_0x782421._0xe76378,0xbf1)],new Cesium__namespace[(_0x477287(0x1117,_0x782421._0x46d503))](_0x157bf8['x'],_0x157bf8['y'],_0x157bf8['z'],0x0),_0x157bf8),Cesium__namespace[_0x477287(_0x782421._0x141a60,_0x782421._0x43e318)]['add'](this[_0x2ef218(0x368,0xc92)],_0x157bf8,this['translation']),this['position']=_0x2d5b91,this[_0x477287(_0x782421._0x5549fc,_0x782421._0x3204b0)]=Cesium__namespace[_0x2ef218(0x111a,0x1146)][_0x477287(_0x782421._0x50bea1,_0x782421._0x46cf94)](this[_0x477287(_0x782421._0x2c6de4,_0x782421._0x38e3f1)]),Cesium__namespace['Matrix4'][_0x2ef218(-_0x782421._0x163f2f,-0x95c)](this['matrix'],this['inverseMatrix']);const _0x2167c6=this['normalX'],_0xe94976=this[_0x2ef218(0x10f5,0x11ac)],_0x201c4c=this['normalZ'];this['normalX']=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3'][_0x2ef218(0x94b,0x12e)],new Cesium__namespace['Cartesian3']()),this['normalY']=Cesium__namespace[_0x477287(0x1277,0x94b)]['multiplyByPointAsVector'](this[_0x2ef218(0x120d,_0x782421._0x5f1e9d)],Cesium__namespace[_0x2ef218(_0x782421._0x2bb1c0,0x3b2)]['UNIT_Y'],new Cesium__namespace[(_0x477287(0x507,0x7fa))]()),this['normalZ']=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3'][_0x477287(0xb58,_0x782421._0x584122)],new Cesium__namespace['Cartesian3']());if(_0x31cdd0===Cesium__namespace['Axis']['X']){let _0x150267=Cesium__namespace['Cartesian3']['angleBetween'](_0xe94976,this['normalY']),_0x6185c3=Cesium__namespace['Cartesian3'][_0x2ef218(0x64e,_0x782421._0x3707b0)](_0x201c4c,this[_0x2ef218(_0x782421._0x534141,0x1b75)]);_0x1d2cdb<0x0&&(_0x6185c3=-_0x6185c3,_0x150267=-_0x150267);const _0x26493a=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this[_0x477287(0x1585,0x1701)],_0x201c4c,new Cesium__namespace[(_0x2ef218(_0x782421._0x30bdbb,0xae5))]());let _0x22fce5=Cesium__namespace[_0x477287(_0x782421._0x110882,_0x782421._0x5155df)]['inverse'](this['rotateMatrix'],new Cesium__namespace['Matrix3']()),_0x1b7ad3=Cesium__namespace['Matrix3']['multiplyByVector'](_0x22fce5,_0x26493a,new Cesium__namespace[(_0x2ef218(0x43e,0x2dd))]()),_0x525c7c=this['_axisRotation'](_0x1b7ad3,_0x150267);Cesium__namespace['Matrix3']['multiply'](this['rotateMatrix'],_0x525c7c,this[_0x2ef218(0xe,-0x2c5)]);const _0x5ca1b5=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['worldToModel'],_0xe94976,new Cesium__namespace[(_0x477287(-_0x782421._0x52f368,0x7fa))]());_0x22fce5=Cesium__namespace[_0x477287(_0x782421._0x3562e6,0x1189)][_0x2ef218(-0x66,_0x782421._0x296fc1)](this['rotateMatrix'],new Cesium__namespace[(_0x2ef218(0xdcd,0x1301))]()),_0x1b7ad3=Cesium__namespace['Matrix3']['multiplyByVector'](_0x22fce5,_0x5ca1b5,new Cesium__namespace['Cartesian3']()),_0x525c7c=this['_axisRotation'](_0x1b7ad3,_0x6185c3),Cesium__namespace[_0x2ef218(0xdcd,0x124e)][_0x2ef218(_0x782421._0x251252,0xa80)](this['rotateMatrix'],_0x525c7c,this['rotateMatrix']);}if(_0x31cdd0===Cesium__namespace[_0x2ef218(-0x176,-0x9f9)]['Y']){let _0x1f4389=Cesium__namespace['Cartesian3']['angleBetween'](_0x201c4c,this[_0x477287(0x18f4,0x14e9)]);_0x1d2cdb>0x0&&(_0x1f4389=-_0x1f4389);const _0x562fad=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['worldToModel'],_0x2167c6,new Cesium__namespace[(_0x477287(0x1240,0x7fa))]()),_0x55e290=Cesium__namespace[_0x477287(_0x782421._0x4d9a71,_0x782421._0x5155df)][_0x477287(0x933,0x356)](this['rotateMatrix'],new Cesium__namespace[(_0x2ef218(0xdcd,0x120d))]()),_0xb32ae9=Cesium__namespace[_0x477287(0xec3,_0x782421._0x5155df)][_0x2ef218(0x1c8,0x982)](_0x55e290,_0x562fad,new Cesium__namespace['Cartesian3']()),_0x37ab30=this['_axisRotation'](_0xb32ae9,_0x1f4389);Cesium__namespace['Matrix3']['multiply'](this['rotateMatrix'],_0x37ab30,this['rotateMatrix']);}this['_graphic_dragger_ing']['positions']=[this['_graphic_dragger_ing'][_0x2ef218(0x13b6,0x1ba3)][0x0],_0x2d5b91],this[_0x477287(0xeb5,0x13c4)]();const _0xab2092={..._0x5d7d74};_0xab2092['editType']=_0x31cdd0,_0xab2092[_0x2ef218(_0x782421._0x23f85b,_0x782421._0x5e1f60)]=_0x2d5b91;const _0x28eb4b=_0xab2092;this['onChange'](_0x28eb4b);}[_0x306755(0x1e59,0x16f2)](_0x32cc4b){const _0x2e27af={_0x980d79:0x1209,_0xe5ca12:0x1522,_0x105faa:0x479,_0x516b63:0x188d,_0x25c1e0:0x6ed,_0x39014b:0x1471};if(!this[_0x49106b(0xd23,0x368)])return;function _0x49106b(_0x3a2084,_0x22957d){return _0x306755(_0x3a2084,_0x22957d- -0x27f);}this['_graphic']['setStyle']({'color':this[_0x49106b(-0x3a4,0x368)]['style'][_0x49106b(0x1142,_0x2e27af._0x980d79)]}),this['_graphic']=null,this['_graphic_dragger_ing']['positions']=[];function _0x213c03(_0x2a6254,_0x29db47){return _0x306755(_0x29db47,_0x2a6254- -0x150);}this['_graphic_dragger_ing']['show']=![],this['_hasChangeEnableInputs']&&(this[_0x49106b(_0x2e27af._0xe5ca12,0x154a)][_0x49106b(0xe13,0x7e6)][_0x49106b(-0x4dc,_0x2e27af._0x105faa)][_0x49106b(_0x2e27af._0x516b63,0xe6a)]=!![],delete this[_0x49106b(0xfea,0xd63)]),this['_map'][_0x49106b(0xf5c,_0x2e27af._0x25c1e0)](EventType[_0x49106b(0x1a1,0x7e9)],this[_0x49106b(0x15c4,_0x2e27af._0x39014b)],this),this['fire'](EventType['stop'],_0x32cc4b);}[_0x306755(0x1621,0x19d2)](_0x1cedb1,_0x513d97,_0x249a6e){const _0xf88b72={_0x33a3ff:0x429,_0x3e85d8:0xd69,_0x5703f1:0x23d,_0x3dd837:0x716},_0xbc652f={_0x304776:0x62a},_0x3a9600={_0x55906a:0x4b};let _0x22c7e3=_0x1cedb1['x'],_0x4db579=_0x1cedb1['y'],_0x58672f=_0x1cedb1['z'];const _0x434c25=Math['sqrt'](_0x22c7e3*_0x22c7e3+_0x4db579*_0x4db579+_0x58672f*_0x58672f);_0x22c7e3=_0x22c7e3/_0x434c25,_0x4db579=_0x4db579/_0x434c25,_0x58672f=_0x58672f/_0x434c25;const _0x13e1c5=_0x22c7e3*_0x22c7e3,_0x298bbe=_0x4db579*_0x4db579,_0x470f0e=_0x58672f*_0x58672f,_0x4d52c3=Math['cos'](_0x513d97),_0x46d192=Math['sin'](_0x513d97),_0xc19d2f=0x1-_0x4d52c3;_0x249a6e=_0x249a6e||new Cesium__namespace[(_0x230fa0(0xe5a,_0xf88b72._0x33a3ff))](),_0x249a6e[Cesium__namespace['Matrix3']['COLUMN0ROW0']]=_0x13e1c5+(0x1-_0x13e1c5)*_0x4d52c3,_0x249a6e[Cesium__namespace['Matrix3']['COLUMN0ROW1']]=_0x22c7e3*_0x4db579*_0xc19d2f+_0x58672f*_0x46d192;function _0x230fa0(_0x5f40e0,_0x1bbd62){return _0x2b6441(_0x1bbd62,_0x5f40e0-_0x3a9600._0x55906a);}_0x249a6e[Cesium__namespace['Matrix3']['COLUMN0ROW2']]=_0x22c7e3*_0x58672f*_0xc19d2f-_0x4db579*_0x46d192,_0x249a6e[Cesium__namespace['Matrix3'][_0x4e4c53(0x847,0x891)]]=_0x22c7e3*_0x4db579*_0xc19d2f-_0x58672f*_0x46d192,_0x249a6e[Cesium__namespace[_0x4e4c53(0xd86,_0xf88b72._0x3e85d8)]['COLUMN1ROW1']]=_0x298bbe+(0x1-_0x298bbe)*_0x4d52c3,_0x249a6e[Cesium__namespace['Matrix3']['COLUMN1ROW2']]=_0x4db579*_0x58672f*_0xc19d2f+_0x22c7e3*_0x46d192,_0x249a6e[Cesium__namespace['Matrix3'][_0x230fa0(0x9cf,0x148d)]]=_0x22c7e3*_0x58672f*_0xc19d2f+_0x4db579*_0x46d192;function _0x4e4c53(_0x4ab216,_0x508a5d){return _0x306755(_0x508a5d,_0x4ab216- -_0xbc652f._0x304776);}return _0x249a6e[Cesium__namespace['Matrix3'][_0x230fa0(_0xf88b72._0x5703f1,-_0xf88b72._0x3dd837)]]=_0x4db579*_0x58672f*_0xc19d2f-_0x22c7e3*_0x46d192,_0x249a6e[Cesium__namespace['Matrix3']['COLUMN2ROW2']]=_0x470f0e+(0x1-_0x470f0e)*_0x4d52c3,_0x249a6e;}[_0x2b6441(0x96a,0x3a1)](){this['_updatePositionHook'](!![]);}['_onMap_middleClick'](_0x44e6b8){const _0xf5c38c={_0x530972:0xaf7,_0x11afb6:0x8d4,_0x1d251b:0x1094},_0x4d2185=this['_map'][_0xcab146(0x92a,0x49a)]['pickPosition'](_0x44e6b8['position']);function _0xcab146(_0x468f13,_0x489d28){return _0x2b6441(_0x489d28,_0x468f13-0x466);}function _0x43c86d(_0x5bf8ee,_0x45b509){return _0x306755(_0x5bf8ee,_0x45b509- -0x557);}_0x4d2185&&(this[_0xcab146(0x10bc,0x183e)]=_0x4d2185,this[_0x43c86d(0x1b84,0x1299)]=Cesium__namespace[_0x43c86d(0x968,0x11a6)]['eastNorthUpToFixedFrame'](this[_0xcab146(0x10bc,_0xf5c38c._0x530972)]),Cesium__namespace['Matrix4']['inverse'](this['matrix'],this['inverseMatrix']),this[_0x43c86d(_0xf5c38c._0x11afb6,_0xf5c38c._0x1d251b)]());}['onChange'](_0x57824b){const _0x183a14={_0x49aafc:0x335,_0x57d75d:0xdb6},_0x39c3f0={_0x2dc3c7:0x455};function _0x797315(_0x348186,_0xc93c67){return _0x306755(_0x348186,_0xc93c67-0x140);}this['options']['onChange']&&this[_0x2ba20f(0xb11,_0x183a14._0x49aafc)]['onChange'](_0x57824b);function _0x2ba20f(_0x53060d,_0xfcc654){return _0x2b6441(_0xfcc654,_0x53060d-_0x39c3f0._0x2dc3c7);}this[_0x797315(_0x183a14._0x57d75d,0x9c9)](EventType['change'],_0x57824b,!![]);}}class MatrixRotate extends MatrixMove{get['heading'](){const _0x3e65b3={_0x44120e:0x172f};function _0x3bc6fb(_0x79ecd5,_0x3e260b){return _0x306755(_0x79ecd5,_0x3e260b- -0x18f);}function _0x408a28(_0x2ac0b6,_0x1e9e02){return _0x306755(_0x2ac0b6,_0x1e9e02- -0xcd);}return this[_0x408a28(0x10d3,0xb90)][_0x408a28(_0x3e65b3._0x44120e,0x1104)]??0x0;}set[_0x2b6441(0x513,0xc30)](_0x3fa3a9){const _0x4f709b={_0x3782f3:0xcaa},_0x532878={_0x10fe3b:0x5ee};function _0x567f37(_0x25a984,_0x544613){return _0x2b6441(_0x544613,_0x25a984-_0x532878._0x10fe3b);}this[_0x567f37(_0x4f709b._0x3782f3,0xa5e)]['heading']=_0x3fa3a9;}get['pitch'](){const _0x22ec76={_0x175ea5:0xcd3,_0x5ee282:0xc1f};function _0x189e8f(_0x1456af,_0x1cd0c8){return _0x2b6441(_0x1cd0c8,_0x1456af-0x617);}return this[_0x189e8f(_0x22ec76._0x175ea5,_0x22ec76._0x5ee282)]['pitch']??0x0;}set['pitch'](_0x458f43){this['options']['pitch']=_0x458f43;}get[_0x2b6441(0x6ed,0x44b)](){function _0x5c55db(_0x256e72,_0x488288){return _0x306755(_0x256e72,_0x488288- -0x280);}return this['options'][_0x5c55db(0xa5d,0x76c)]??0x0;}set['roll'](_0x1156ad){const _0x562733={_0x2f2796:0x4fd};function _0x504fdb(_0x29253e,_0x3fbf88){return _0x306755(_0x29253e,_0x3fbf88- -_0x562733._0x2f2796);}this['options'][_0x504fdb(0xdb7,0x4ef)]=_0x1156ad;}[_0x306755(0xccb,0xe2b)](){const _0x3561e3={_0xd48fc3:0x181},_0x258dcf={_0x34ff1b:0x224};delete this[_0x11aa1b(_0x3561e3._0xd48fc3,0x976)],delete this['_graphic_rotate_x'],delete this['_graphic_rotate_y'];function _0x11aa1b(_0x4c7360,_0x41d923){return _0x2b6441(_0x41d923,_0x4c7360-_0x258dcf._0x34ff1b);}super['_removedHook']();}['_createGraphics'](){const _0x66ff8c={_0x593d9c:0x907,_0x35de6f:0x1324,_0x33f756:0x9f8,_0x38da55:0xdec,_0x7130c8:0x1858,_0x62dfb0:0x1489,_0x9972c3:0x5c6,_0x95a80a:0x1602,_0x5855ef:0x722,_0x201738:0x1ba,_0x533369:0xfe5,_0x3a9123:0x657,_0x1a4907:0xed2,_0x5adc65:0x9af,_0x3f41e0:0x90d,_0x2c6f74:0x1969,_0x42081f:0x722},_0x2b3eef={_0x22f7ad:0x6fa},_0x39e680={_0x597526:0x53c};this['_graphicLayer']['clear'](),this[_0x2e574d(0x11c3,0xc61)]=new PolylinePrimitive({'positions':this[_0x2e574d(_0x66ff8c._0x593d9c,_0x66ff8c._0x35de6f)],'style':{'width':0x8,'color':Cesium__namespace['Color']['RED'],'depthFail':!![],'depthFailColor':Cesium__namespace[_0x2e574d(_0x66ff8c._0x33f756,0x133d)][_0x2e574d(0x411,_0x66ff8c._0x38da55)]['withAlpha'](0.5)},'attr':{'rotate':!![],'type':Cesium__namespace['Axis']['X']},'asynchronous':![]}),this[_0x3a9dbe(0x1969,0x1c6a)]['addGraphic'](this[_0x3a9dbe(_0x66ff8c._0x7130c8,0xe88)]);function _0x2e574d(_0x1007bc,_0x324228){return _0x306755(_0x324228,_0x1007bc- -_0x39e680._0x597526);}this['_graphic_rotate_y']=new PolylinePrimitive({'positions':this['_positions_circle_y'],'style':{'width':0x8,'color':Cesium__namespace['Color'][_0x2e574d(0xd86,_0x66ff8c._0x62dfb0)],'depthFail':!![],'depthFailColor':Cesium__namespace['Color']['GREEN']['withAlpha'](0.5)},'attr':{'rotate':!![],'type':Cesium__namespace[_0x3a9dbe(_0x66ff8c._0x9972c3,-0xd3)]['Y']},'asynchronous':![]}),this[_0x3a9dbe(0x1969,_0x66ff8c._0x95a80a)][_0x3a9dbe(_0x66ff8c._0x5855ef,_0x66ff8c._0x201738)](this['_graphic_rotate_y']),this['_graphic_rotate_z']=new PolylinePrimitive({'positions':this['_positions_circle_z'],'style':{'width':0x8,'color':Cesium__namespace['Color']['BLUE'],'depthFail':!![],'depthFailColor':Cesium__namespace['Color']['BLUE']['withAlpha'](0.5)},'attr':{'rotate':!![],'type':Cesium__namespace['Axis']['Z']},'asynchronous':![]}),this['_graphicLayer'][_0x3a9dbe(0x722,_0x66ff8c._0x533369)](this[_0x3a9dbe(_0x66ff8c._0x3a9123,0x3f2)]);const _0x512c14={};function _0x3a9dbe(_0x152e25,_0x45f762){return _0x2b6441(_0x45f762,_0x152e25-_0x2b3eef._0x22f7ad);}_0x512c14['width']=0x3,_0x512c14['arcType']=Cesium__namespace['ArcType']['NONE'],_0x512c14['materialType']=PolylineDash,_0x512c14[_0x2e574d(0x973,-0xf1)]=Cesium__namespace[_0x3a9dbe(0x108d,0x1426)][_0x3a9dbe(0x127f,_0x66ff8c._0x1a4907)],_0x512c14['depthFail']=!![];const _0x511e56={};_0x511e56['positions']=[],_0x511e56[_0x3a9dbe(_0x66ff8c._0x5adc65,_0x66ff8c._0x3f41e0)]=_0x512c14,_0x511e56['asynchronous']=![],_0x511e56['show']=![],this['_graphic_dragger_ing']=new PolylinePrimitive(_0x511e56),this[_0x3a9dbe(_0x66ff8c._0x2c6f74,0x1aac)][_0x3a9dbe(_0x66ff8c._0x42081f,0x1122)](this['_graphic_dragger_ing']);}[_0x306755(0x1c60,0x195c)](){const _0x55bfaf={_0x15ae5e:0x614,_0x4150c2:0x99f,_0x4052ee:0x1917,_0x7f67c6:0xd00,_0x48e8e0:0xc99,_0x4e0dcc:0xe21,_0x6f28b0:0x16f3,_0x5b1b03:0x48e,_0x297fc6:0x838,_0xb405ad:0x1e84,_0x1fa330:0xab8,_0x3c36dc:0xd6c},_0x1bd224={_0x232007:0x97};this[_0x2cb072(0x707,0xfd3)]=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this['position']),this['worldToModel']=Cesium__namespace['Matrix4'][_0x2cb072(0x1065,_0x55bfaf._0x15ae5e)](this['modelToWorld'],new Cesium__namespace[(_0x2cb072(0xc98,0xc09))]()),this['matrix']=this['modelToWorld'][_0x2cb072(0xf8,_0x55bfaf._0x4150c2)]();function _0x2ceb04(_0xc5f039,_0x12a99f){return _0x306755(_0xc5f039,_0x12a99f-0x127);}this['inverseMatrix']=Cesium__namespace[_0x2ceb04(0x788,0xc99)]['inverse'](this[_0x2ceb04(0x17ae,_0x55bfaf._0x4052ee)],new Cesium__namespace[(_0x2ceb04(_0x55bfaf._0x7f67c6,_0x55bfaf._0x48e8e0))]());function _0x2cb072(_0x43bc0e,_0x1d7a56){return _0x306755(_0x43bc0e,_0x1d7a56-_0x1bd224._0x232007);}this[_0x2ceb04(_0x55bfaf._0x4e0dcc,_0x55bfaf._0x6f28b0)]=Cesium__namespace[_0x2ceb04(0x12e5,0xc99)]['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3']['UNIT_X'],new Cesium__namespace[(_0x2cb072(0x1333,0xab8))]()),this['normalY']=Cesium__namespace[_0x2ceb04(_0x55bfaf._0x5b1b03,0xc99)]['multiplyByPointAsVector'](this['matrix'],Cesium__namespace[_0x2cb072(_0x55bfaf._0x297fc6,0xab8)][_0x2ceb04(_0x55bfaf._0xb405ad,0x13d6)],new Cesium__namespace[(_0x2cb072(0x474,_0x55bfaf._0x1fa330))]()),this['normalZ']=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],Cesium__namespace['Cartesian3']['UNIT_Z'],new Cesium__namespace['Cartesian3']()),this[_0x2cb072(_0x55bfaf._0x3c36dc,0x147c)]=[],this[_0x2cb072(0x10d0,0xeda)]=[],this['_positions_circle_y']=[];}['_updatePositionHook'](_0x4a5bf0){const _0x44923e={_0x377dd8:0x9a6,_0x2707e1:0xb74,_0x38536b:0x10bb,_0x13c9ee:0x1138,_0x231b8c:0xc74,_0x6c5514:0x54d,_0xd7f5c4:0x19b6,_0x52c0be:0x1c5,_0x497f55:0xfd4,_0x4a6269:0xa55,_0x151b5c:0x14e6,_0x559d60:0x1546,_0x35d2ca:0x2eb,_0xadb310:0xa0b,_0x28dc1c:0xabf,_0x2185e2:0xe16,_0x36d605:0x27b,_0x5bca73:0xabf,_0x413b1f:0xa90,_0x4b466a:0x179d,_0x4ed6b7:0x1068,_0x35ae6c:0xaf6},_0x4dd841={_0x5a76b9:0xcd};function _0x11b609(_0x53b861,_0x5c0819){return _0x2b6441(_0x53b861,_0x5c0819-_0x4dd841._0x5a76b9);}if(!this['_map'])return;const _0x57754b=this[_0x48c9db(0xdc4,0x1295)][_0x48c9db(0x605,_0x44923e._0x377dd8)]();if(_0x4a5bf0){const _0x3da33d=new Cesium__namespace['Matrix4']['multiplyByPoint'](this[_0x11b609(0x168b,0x12f5)]['camera']['viewMatrix'],_0x57754b,new Cesium__namespace[(_0x48c9db(0x66b,0xabf))]()),_0x39f4bb=-_0x3da33d['z']*Math['tan'](this['_map'][_0x11b609(0x6c3,_0x44923e._0x2707e1)]['frustum'][_0x11b609(0x75b,_0x44923e._0x38536b)]/0x2)*0x2,_0x2a66ae=_0x39f4bb/this['_map']['canvas'][_0x48c9db(0x110f,0xc89)];this['radius']=this['options']['radius']*_0x2a66ae;}this['_positions_circle_z']=[];function _0x48c9db(_0x19f214,_0x3332c0){return _0x306755(_0x19f214,_0x3332c0-0x9e);}this['_positions_circle_x']=[],this['_positions_circle_y']=[];for(let _0x5e7a36=0x0;_0x5e7a36<=0x168;_0x5e7a36++){const _0x384723=this[_0x11b609(0x387,0x1f2)]*Math['cos'](_0x5e7a36/0xb4*Math['PI']),_0x136646=this['radius']*Math['sin'](_0x5e7a36/0xb4*Math['PI']),_0x3738bc=new Cesium__namespace['Cartesian3']();Cesium__namespace['Cartesian3']['add'](_0x57754b,Cesium__namespace['Cartesian3']['multiplyByScalar'](this[_0x11b609(_0x44923e._0x13c9ee,0x10f8)],_0x384723,new Cesium__namespace['Cartesian3']()),_0x3738bc),Cesium__namespace['Cartesian3']['add'](_0x3738bc,Cesium__namespace[_0x11b609(_0x44923e._0x231b8c,_0x44923e._0x6c5514)]['multiplyByScalar'](this['normalY'],_0x136646,new Cesium__namespace['Cartesian3']()),_0x3738bc),this[_0x11b609(_0x44923e._0xd7f5c4,0xf11)][_0x11b609(0x12c,_0x44923e._0x52c0be)](_0x3738bc);const _0xec3247=new Cesium__namespace['Cartesian3']();Cesium__namespace['Cartesian3']['add'](_0x57754b,Cesium__namespace['Cartesian3'][_0x11b609(0xdb9,_0x44923e._0x497f55)](this[_0x11b609(_0x44923e._0x4a6269,0x10f8)],_0x384723,new Cesium__namespace['Cartesian3']()),_0xec3247),Cesium__namespace['Cartesian3']['add'](_0xec3247,Cesium__namespace['Cartesian3'][_0x48c9db(_0x44923e._0x151b5c,_0x44923e._0x559d60)](this['normalZ'],_0x136646,new Cesium__namespace[(_0x11b609(_0x44923e._0x35d2ca,0x54d))]()),_0xec3247),this['_positions_circle_x']['push'](_0xec3247);const _0x79a69f=new Cesium__namespace[(_0x11b609(0x86,0x54d))]();Cesium__namespace[_0x48c9db(_0x44923e._0xadb310,_0x44923e._0x28dc1c)][_0x48c9db(_0x44923e._0x2185e2,0xdcc)](_0x57754b,Cesium__namespace['Cartesian3'][_0x48c9db(0x1c84,0x1546)](this['normalY'],_0x384723,new Cesium__namespace['Cartesian3']()),_0x79a69f),Cesium__namespace[_0x48c9db(0xa96,_0x44923e._0x28dc1c)][_0x11b609(_0x44923e._0x36d605,0x85a)](_0x79a69f,Cesium__namespace[_0x48c9db(0x8bb,_0x44923e._0x5bca73)][_0x48c9db(_0x44923e._0x413b1f,_0x44923e._0x559d60)](this['normalZ'],_0x136646,new Cesium__namespace[(_0x48c9db(0x148e,0xabf))]()),_0x79a69f),this[_0x11b609(0x692,0x97f)]['push'](_0x79a69f);}this['_graphic_rotate_z']&&(this['_graphic_rotate_z']['positions']=this[_0x11b609(0x1329,0xf11)]),this[_0x48c9db(0x18be,_0x44923e._0x4b466a)]&&(this['_graphic_rotate_x']['positions']=this[_0x48c9db(0x138f,0xee1)]),this[_0x48c9db(0x156a,_0x44923e._0x4ed6b7)]&&(this[_0x11b609(0xf9b,_0x44923e._0x35ae6c)]['positions']=this[_0x11b609(0xab,0x97f)]);}[_0x306755(0x1950,0x16f0)](_0x5e60c1){const _0x33876a={_0x1416be:0x48a,_0x5329f0:0x6b2,_0x3a4725:0xb88,_0x9cdd4e:0x17e2,_0x5558a7:0x140,_0x159127:0x11a3,_0x24b31a:0x646,_0x2eb76c:0x108,_0x5d06c7:0xc6d,_0x2c7ab6:0x13ee,_0x27923e:0xaea,_0x5accf0:0x1391,_0x4e2db:0x1309,_0x27ebc4:0x810,_0x596e92:0x15cd,_0x11b878:0x14c,_0x2b1283:0x732,_0xe0a3c2:0x150b,_0x29bdfe:0x18ff,_0x21f776:0x127f,_0x94d29e:0x1f1,_0x4f1060:0x37e,_0x45e8b0:0x46e,_0x5a6c21:0x596,_0x223907:0x154d,_0x13fde4:0x14f3,_0x2f912d:0xdf6,_0x2cd8ee:0x68d,_0x5fb28e:0x1973,_0x53bafa:0x958,_0x2c8010:0x797,_0x35a0c0:0x154d,_0x567459:0x1c95,_0x598437:0x5c7,_0x558328:0x15c3,_0x24ffaa:0x110c,_0x2ee680:0x432,_0x22c1d6:0x574,_0x1598ef:0x9e,_0x5be3ba:0x216,_0x1a03c9:0x1649,_0x1e613d:0xef0,_0x51da3c:0x5fa,_0x33b492:0x2eb,_0x890aa4:0x117d,_0x1d984e:0xa69,_0x15a398:0x177,_0x2f2cad:0x970,_0x4d1d02:0xe1c,_0x41da4c:0x7a0},_0x5ce829={_0x3ef8e4:0xe1},_0x5cc2ce=_0x5e60c1[_0x23cbb1(0x27b,-_0x33876a._0x1416be)],_0x57313b=_0x5e60c1['endPosition'],_0x28fcef=new Cesium__namespace[(_0x17b248(0x5aa,_0x33876a._0x5329f0))]['multiplyByPoint'](this[_0x23cbb1(0x13ee,0x1d28)][_0x17b248(0x603,_0x33876a._0x3a4725)]['viewMatrix'],this[_0x17b248(_0x33876a._0x9cdd4e,0xd37)],new Cesium__namespace[(_0x23cbb1(0x646,_0x33876a._0x5558a7))]()),_0x419b56=-_0x28fcef['z']*Math['tan'](this['_map']['camera']['frustum']['fov']/0x2)*0x2;let _0x2b17d0=_0x419b56/this[_0x17b248(0x1937,0x1309)]['canvas']['width'];const _0x4506a2=new Cesium__namespace['Cartesian3'](0x1,0x1,0x1);let _0xf3d09d;const _0x4fba41=this['_graphic']['attr'][_0x17b248(0xad1,_0x33876a._0x159127)];_0x4fba41===Cesium__namespace['Axis']['Z']&&(_0x4506a2['z']=0x0,_0xf3d09d=Cesium__namespace[_0x23cbb1(0x646,0x67c)]['angleBetween'](Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],new Cesium__namespace['Cartesian3'](0x0,0x0,0x1),new Cesium__namespace['Cartesian3']()),this['_map']['camera']['direction']));_0x4fba41===Cesium__namespace['Axis']['X']&&(_0x4506a2['y']=0x0,_0xf3d09d=Cesium__namespace[_0x23cbb1(0x646,0x609)]['angleBetween'](Cesium__namespace[_0x17b248(0x630,0x6b2)]['multiplyByPointAsVector'](this['matrix'],new Cesium__namespace['Cartesian3'](0x0,0x1,0x0),new Cesium__namespace['Cartesian3']()),this['_map']['camera']['direction']));_0x4fba41===Cesium__namespace[_0x17b248(-0x312,-0x53)]['Y']&&(_0x4506a2['x']=0x0,_0xf3d09d=Cesium__namespace[_0x23cbb1(0x646,0xbe0)]['angleBetween'](Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['matrix'],new Cesium__namespace['Cartesian3'](0x1,0x0,0x0),new Cesium__namespace[(_0x23cbb1(_0x33876a._0x24b31a,_0x33876a._0x2eb76c))]()),this['_map'][_0x23cbb1(_0x33876a._0x5d06c7,0xf2c)]['direction']));Math[_0x17b248(0x4fe,0xfa1)](_0xf3d09d-Math['PI']/0x2)<0.1&&(_0x2b17d0=0x1,_0x28fcef['z']=0x0);let _0x4e9594=new Cesium__namespace['Cartesian3']((_0x5cc2ce['x']-this[_0x23cbb1(_0x33876a._0x2c7ab6,_0x33876a._0x27923e)][_0x23cbb1(0x375,0x261)]['width']/0x2)*_0x2b17d0,(-_0x5cc2ce['y']+this['_map']['canvas']['height']/0x2)*_0x2b17d0,_0x28fcef['z']),_0x11978f=new Cesium__namespace['Cartesian3']((_0x57313b['x']-this[_0x17b248(_0x33876a._0x5accf0,_0x33876a._0x4e2db)]['canvas'][_0x23cbb1(_0x33876a._0x27ebc4,0xd71)]/0x2)*_0x2b17d0,(-_0x57313b['y']+this[_0x23cbb1(0x13ee,_0x33876a._0x596e92)]['canvas'][_0x17b248(-_0x33876a._0x11b878,_0x33876a._0x2b1283)]/0x2)*_0x2b17d0,_0x28fcef['z']);Cesium__namespace['Matrix4'][_0x17b248(0x4ec,0x39)](this['_map'][_0x17b248(_0x33876a._0xe0a3c2,0xb88)]['inverseViewMatrix'],_0x4e9594,_0x4e9594),Cesium__namespace['Matrix4']['multiplyByPoint'](this[_0x17b248(_0x33876a._0x29bdfe,0x1309)][_0x23cbb1(0xc6d,_0x33876a._0x21f776)][_0x17b248(-0x108,_0x33876a._0x94d29e)],_0x11978f,_0x11978f);function _0x17b248(_0x301f90,_0x64fbc1){return _0x2b6441(_0x301f90,_0x64fbc1-_0x5ce829._0x3ef8e4);}Cesium__namespace[_0x17b248(-0x2f7,0x6b2)]['multiplyByPoint'](this[_0x23cbb1(_0x33876a._0x4f1060,0xd26)],_0x4e9594,_0x4e9594),Cesium__namespace[_0x23cbb1(0x797,0x2e4)]['multiplyByPoint'](this[_0x23cbb1(0x37e,_0x33876a._0x45e8b0)],_0x11978f,_0x11978f),_0x4e9594=new Cesium__namespace[(_0x17b248(0xf0c,0x561))](_0x4e9594['x']*_0x4506a2['x'],_0x4e9594['y']*_0x4506a2['y'],_0x4e9594['z']*_0x4506a2['z']),_0x11978f=new Cesium__namespace['Cartesian3'](_0x11978f['x']*_0x4506a2['x'],_0x11978f['y']*_0x4506a2['y'],_0x11978f['z']*_0x4506a2['z']),_0xf3d09d=Cesium__namespace[_0x23cbb1(0x646,_0x33876a._0x5a6c21)]['angleBetween'](_0x4e9594,_0x11978f);let _0x4a65bc;if(_0x4fba41===Cesium__namespace['Axis']['Z']){const _0x5a9007=_0x4e9594['x']*_0x11978f['y']-_0x4e9594['y']*_0x11978f['x'];_0x4a65bc=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this[_0x23cbb1(_0x33876a._0x223907,_0x33876a._0x13fde4)],this[_0x17b248(0x10a2,0x1250)],new Cesium__namespace['Cartesian3']()),_0x5a9007>0x0&&(_0xf3d09d=-_0xf3d09d),this[_0x23cbb1(_0x33876a._0x2f912d,_0x33876a._0x2cd8ee)]=(this['heading']+Cesium__namespace[_0x23cbb1(0xf90,_0x33876a._0x5fb28e)][_0x17b248(0x1377,_0x33876a._0x53bafa)](_0xf3d09d))%0x168;}else{if(_0x4fba41===Cesium__namespace['Axis']['X']){const _0x6ff231=_0x4e9594['x']*_0x11978f['z']-_0x4e9594['z']*_0x11978f['x'];_0x4a65bc=Cesium__namespace[_0x23cbb1(_0x33876a._0x2c8010,0x9e1)]['multiplyByPointAsVector'](this[_0x23cbb1(_0x33876a._0x35a0c0,0x1cc4)],this[_0x23cbb1(0x12fd,_0x33876a._0x567459)],new Cesium__namespace['Cartesian3']()),_0x6ff231>0x0&&(_0xf3d09d=-_0xf3d09d),this['pitch']=(this[_0x23cbb1(0x7ca,0x872)]+Cesium__namespace[_0x17b248(0x16cb,0xeab)][_0x17b248(0x299,0x958)](_0xf3d09d))%0x168;}else{if(_0x4fba41===Cesium__namespace[_0x23cbb1(0x92,_0x33876a._0x598437)]['Y']){const _0x4610d9=_0x4e9594['y']*_0x11978f['z']-_0x4e9594['z']*_0x11978f['y'];_0x4a65bc=Cesium__namespace['Matrix4']['multiplyByPointAsVector'](this['worldToModel'],this[_0x17b248(_0x33876a._0x558328,_0x33876a._0x24ffaa)],new Cesium__namespace[(_0x17b248(-_0x33876a._0x2ee680,0x561))]()),_0x4610d9<0x0&&(_0xf3d09d=-_0xf3d09d),this[_0x23cbb1(0x611,_0x33876a._0x22c1d6)]=(this[_0x17b248(_0x33876a._0x1598ef,0x52c)]+Cesium__namespace['Math']['toDegrees'](_0xf3d09d))%0x168;}}}const _0x43800d=Cesium__namespace['Matrix3']['inverse'](this[_0x23cbb1(_0x33876a._0x5be3ba,0x98d)],new Cesium__namespace[(_0x17b248(_0x33876a._0x1a03c9,_0x33876a._0x1e613d))]()),_0x137bb6=Cesium__namespace['Matrix3'][_0x17b248(-_0x33876a._0x51da3c,_0x33876a._0x33b492)](_0x43800d,_0x4a65bc,new Cesium__namespace['Cartesian3']()),_0x320b61=this[_0x17b248(_0x33876a._0x890aa4,0x1512)](_0x137bb6,_0xf3d09d);Cesium__namespace['Matrix3'][_0x17b248(0x670,_0x33876a._0x1d984e)](this[_0x17b248(-_0x33876a._0x15a398,0x131)],_0x320b61,this[_0x17b248(-_0x33876a._0x2f2cad,0x131)]);const _0x3a587c={..._0x5e60c1};_0x3a587c['editType']=_0x4fba41;function _0x23cbb1(_0xa42f8b,_0x314c26){return _0x2b6441(_0x314c26,_0xa42f8b-0x1c6);}_0x3a587c[_0x23cbb1(_0x33876a._0x4d1d02,_0x33876a._0x41da4c)]=this['position'],_0x3a587c[_0x23cbb1(0xdf6,0x11d6)]=this['heading'],_0x3a587c['pitch']=this['pitch'],_0x3a587c['roll']=this['roll'];const _0x277265=_0x3a587c;this[_0x17b248(0x1456,0xa0f)](_0x277265);}[_0x2b6441(-0x11a,0x3c4)](_0x5a3468){}}class EditBase{constructor(_0x2827ed){this['_graphic']=_0x2827ed,this['_map']=_0x2827ed['_map'],this['draggers']=[];}get[_0x2b6441(0x127a,0xd2f)](){return this['_enabled'];}get['map'](){const _0x1e3503={_0x33eec1:0x18b7};function _0xf3a6a6(_0x191844,_0x2373dd){return _0x2b6441(_0x191844,_0x2373dd-0x68f);}return this[_0xf3a6a6(0x1ccc,_0x1e3503._0x33eec1)];}get['layer'](){return this['_graphic']['_layer'];}get[_0x306755(0x199d,0x1663)](){function _0x52b614(_0x4ba4dc,_0x4bfc71){return _0x2b6441(_0x4bfc71,_0x4ba4dc-0x6bd);}return this['_graphic'][_0x52b614(0x177f,0x19f6)];}get['style'](){const _0x4082b9={_0x4ce6df:0xcbf,_0x3b0051:0x4a4},_0x4838a0={_0x10cf19:0x1ef};function _0x34188a(_0x16c54a,_0x2a33df){return _0x2b6441(_0x16c54a,_0x2a33df-_0x4838a0._0x10cf19);}return this['_graphic'][_0x34188a(_0x4082b9._0x4ce6df,_0x4082b9._0x3b0051)];}get['options'](){const _0x250c4b={_0x582679:0x36c,_0x555647:0xa77};function _0x5384a1(_0xe81ef8,_0x242ba6){return _0x306755(_0xe81ef8,_0x242ba6- -0x1e6);}return this['_graphic'][_0x5384a1(_0x250c4b._0x582679,_0x250c4b._0x555647)];}get['clampToGround'](){const _0x1017dc={_0x5f11ec:0x278};function _0x1e0d7e(_0x4b7261,_0x38bc8c){return _0x2b6441(_0x38bc8c,_0x4b7261-_0x1017dc._0x5f11ec);}var _0x4921e3;return(_0x4921e3=this['_graphic'])===null||_0x4921e3===void 0x0||(_0x4921e3=_0x4921e3[_0x1e0d7e(0x52d,0xf7c)])===null||_0x4921e3===void 0x0?void 0x0:_0x4921e3['clampToGround'];}get[_0x2b6441(0xee0,0x4d9)](){const _0x8a5eba={_0x1fb58f:0x170,_0x1a9e33:0xb44},_0x31e752={_0x22c61a:0x4d7};function _0x5ecc29(_0x49d017,_0x3cd56d){return _0x306755(_0x49d017,_0x3cd56d-0x157);}function _0x1c8752(_0x405c6b,_0x519bf9){return _0x2b6441(_0x519bf9,_0x405c6b-_0x31e752._0x22c61a);}return this[_0x5ecc29(-_0x8a5eba._0x1fb58f,0x73e)][_0x5ecc29(_0x8a5eba._0x1a9e33,0xbd1)];}get['hasRotateMatrix'](){return Boolean(this['_matrixRotate']);}get['hasMoveMatrix'](){const _0x2d700b={_0x2dceca:0x14af,_0x28ed5e:0xc79};function _0x58ab54(_0x5b8e54,_0x332297){return _0x2b6441(_0x5b8e54,_0x332297-0x334);}return Boolean(this[_0x58ab54(_0x2d700b._0x2dceca,_0x2d700b._0x28ed5e)]);}get[_0x306755(0x23a4,0x190f)](){const _0x32d004={_0xb420f1:0x9cd,_0x2e78b2:0x6d9};function _0x11db40(_0x138e03,_0x1f6f29){return _0x2b6441(_0x1f6f29,_0x138e03-0x588);}function _0x31a618(_0x29ae73,_0x447122){return _0x306755(_0x29ae73,_0x447122- -0x628);}return this['_map']['scene'][_0x11db40(0x1602,0xc6d)]===Cesium__namespace[_0x11db40(_0x32d004._0xb420f1,0xe85)][_0x31a618(0x10,_0x32d004._0x2e78b2)];}[_0x2b6441(0x43c,0x2e8)](_0x49bc6c,_0x3b9a56={},_0x4611ef=!![]){const _0x332aea={_0x3cd59c:0x69c,_0x4c15db:0x671,_0xcb786f:0xcf1},_0x2fe466={_0x5ceea7:0x62b},_0x123d94={_0x55f554:0x656};function _0x38becd(_0x51ee87,_0xc161a2){return _0x2b6441(_0x51ee87,_0xc161a2-_0x123d94._0x55f554);}function _0x5904bd(_0x3f7cf1,_0x5d30e6){return _0x2b6441(_0x5d30e6,_0x3f7cf1-_0x2fe466._0x5ceea7);}if(!this['_graphic']['enabledEvent'])return;if(this[_0x38becd(0x2ec,_0x332aea._0x3cd59c)]){const _0x2218b5=this[_0x38becd(0x107a,_0x332aea._0x3cd59c)]['parent'];_0x3b9a56['editType']=this['type'],this[_0x5904bd(_0x332aea._0x4c15db,-0x86)][_0x5904bd(0x913,0x108e)](_0x49bc6c,_0x3b9a56,_0x4611ef),_0x2218b5&&(_0x3b9a56[_0x38becd(0x164d,_0x332aea._0xcb786f)]=_0x2218b5['type'],_0x2218b5['fire'](_0x49bc6c,_0x3b9a56,_0x4611ef));}}[_0x306755(0x3b9,0xb09)](_0x4e904c,_0x391ea2){return formatNum$1(_0x4e904c,_0x391ea2);}['activate'](){const _0xce36e0={_0x6d66b1:0x820,_0x25cedb:0xaed,_0x51f6cf:0x12f9,_0x224b8a:0x16ae,_0x5514d0:0xfff,_0x4f1d51:0xd2e,_0x1cc500:0xfff},_0x2291fb={_0x3d9fe3:0x436},_0x45709d={_0x4370a0:0x74};if(this[_0x5f4caf(0xd76,_0xce36e0._0x6d66b1)])return this;this['_enabled']=!![];this['_graphic']['_setPositionsToCallback']&&this[_0x5f4caf(0x122,0xba)][_0x52bdd6(0xa6b,0x13a7)]();this['destroyDraggers'](),this['bindDraggers'](),this['bindEvent']();function _0x5f4caf(_0x4f5906,_0x9a0d01){return _0x2b6441(_0x4f5906,_0x9a0d01-_0x45709d._0x4370a0);}if(this['options']['hasEditRevoke']??!![]){if(this['position']&&this['position']['clone'])this[_0x5f4caf(0x95a,_0xce36e0._0x25cedb)]=[this['position']['clone']()],this['_position_first']=this[_0x52bdd6(_0xce36e0._0x51f6cf,0xbe4)][0x0];else this[_0x5f4caf(0x11c6,0x146c)]&&this['positions'][_0x52bdd6(_0xce36e0._0x224b8a,0x11c5)]>0x0&&(this[_0x5f4caf(0x147a,_0xce36e0._0x5514d0)]=[clonePostions(this['positions'])],this['_positions_first']=this[_0x5f4caf(_0xce36e0._0x4f1d51,_0xce36e0._0x1cc500)][0x0]);}this['fire'](EventType['editStart']);function _0x52bdd6(_0x1243ec,_0x331907){return _0x306755(_0x1243ec,_0x331907- -_0x2291fb._0x3d9fe3);}return this;}['disable'](){const _0xe220fd={_0x597280:0xbe3,_0x9207d4:0x77b,_0x268ad8:0x72f,_0x59c77c:0x11ad,_0x52ae16:0x14f9,_0x3a5fa9:0x59e},_0x3b263b={_0x15e994:0xda};var _0x5a444c;if(!this['_enabled'])return this;this['_enabled']=![],this['stopMoveMatrix'](),this[_0x59b5ea(0x1820,0xd68)](),this['unbindEvent'](),this[_0x59b5ea(0x51b,_0xe220fd._0x597280)](),this[_0x41491a(_0xe220fd._0x9207d4,_0xe220fd._0x268ad8)](),delete this[_0x41491a(_0xe220fd._0x59c77c,_0xe220fd._0x52ae16)],delete this['_position_steps'],delete this['_positions_first'];function _0x41491a(_0x3c00f5,_0x38474d){return _0x306755(_0x38474d,_0x3c00f5- -0x62d);}function _0x59b5ea(_0x193f0c,_0x210e04){return _0x2b6441(_0x193f0c,_0x210e04-_0x3b263b._0x15e994);}return delete this['_positions_steps'],(_0x5a444c=this[_0x41491a(-0x46,-_0xe220fd._0x3a5fa9)])!==null&&_0x5a444c!==void 0x0&&(_0x5a444c=_0x5a444c['_layer'])!==null&&_0x5a444c!==void 0x0&&(_0x5a444c=_0x5a444c['options'])!==null&&_0x5a444c!==void 0x0&&_0x5a444c['isRestorePositions']&&this['_graphic']['_cancelPositionsCallback'](),this['fire'](EventType['editStop']),this;}['hasRestore'](){const _0x1a085f={_0x10dce1:0x1a74,_0x5f2710:0xd75,_0x31c653:0xc9,_0x12688d:0xb4c,_0x45b89d:0xfeb,_0x123af9:0xb4c},_0x19a517={_0xb1258e:0x11f};if(this['_position_first'])return!this[_0x35be21(_0x1a085f._0x10dce1,0x1727)]['equals'](this[_0x13dd52(0x12e8,_0x1a085f._0x5f2710)]);else{if(this[_0x13dd52(_0x1a085f._0x31c653,_0x1a085f._0x12688d)]){const _0x2564f3=this[_0x13dd52(_0x1a085f._0x45b89d,_0x1a085f._0x123af9)],_0x3e60a6=this[_0x13dd52(0x1546,0x1517)];if(_0x2564f3['length']!==_0x3e60a6['length'])return!![];for(let _0x4eae1d=0x0;_0x4eae1d<_0x3e60a6['length'];_0x4eae1d++){if(!_0x3e60a6[_0x4eae1d]['equals'](_0x2564f3[_0x4eae1d]))return!![];}}}function _0x35be21(_0x31ef31,_0x44eac3){return _0x2b6441(_0x31ef31,_0x44eac3-0x4ee);}function _0x13dd52(_0x53dd43,_0x1fa872){return _0x2b6441(_0x53dd43,_0x1fa872-_0x19a517._0xb1258e);}return![];}['restore'](){const _0x2cc8cc={_0x555434:0xfce,_0x45c965:0x9f5,_0x1235ed:0x6c3,_0x31161a:0xf15},_0x589449={_0x4ac767:0x0};function _0x44c8de(_0x67e972,_0xd83e58){return _0x306755(_0xd83e58,_0x67e972-_0x589449._0x4ac767);}function _0x55b6ab(_0x38d054,_0x50affc){return _0x306755(_0x38d054,_0x50affc- -0x5a0);}let _0x4e1b03=![];if(this['_position_first'])this['position']=this['_position_first']['clone'](),this['_position_steps']=[this['_position_steps'][0x0]],_0x4e1b03=!![];else this[_0x55b6ab(0x14c,0xa2e)]&&(this['positions']=clonePostions(this[_0x44c8de(_0x2cc8cc._0x555434,_0x2cc8cc._0x45c965)]),this['_positions_steps']=[this['_positions_steps'][0x0]],_0x4e1b03=!![]);if(_0x4e1b03){this[_0x44c8de(_0x2cc8cc._0x1235ed,0xde2)](),this['updateAttrForEditing']();const _0x463b27={};_0x463b27[_0x55b6ab(_0x2cc8cc._0x31161a,0x134f)]='restore',this[_0x44c8de(0x889,0xb3)](EventType['editMovePoint'],_0x463b27);}return _0x4e1b03;}[_0x306755(0x1874,0xf16)](){const _0x36131f={_0x53562b:0x1410,_0x566bc0:0x2001,_0x3cac26:0x1683},_0x5e4551={_0x5cf619:0x6f8};function _0x5354f6(_0x380cff,_0x28bf70){return _0x2b6441(_0x380cff,_0x28bf70-_0x5e4551._0x5cf619);}if(this[_0x34b397(_0x36131f._0x53562b,0xccf)])return this[_0x5354f6(0xfab,0x1171)][_0x34b397(0x17ac,0x12b0)]>0x1;else{if(this['_positions_steps'])return this[_0x5354f6(_0x36131f._0x566bc0,_0x36131f._0x3cac26)]['length']>0x1;}function _0x34b397(_0x1f3f20,_0x3729e9){return _0x306755(_0x1f3f20,_0x3729e9- -0x34b);}return this;}['revoke'](){const _0x519924={_0x6d81e4:0xe77,_0x146bc4:0x719,_0x4ece0d:0x115a,_0x2401ec:0x1458,_0x33ab56:0x147f,_0x451611:0x13dc,_0x2d1bba:0x1fb},_0x26a3f1={_0x7a420c:0x3d2};let _0x1e8197=![];if(this['_position_steps']){if(this[_0x4490fb(0x1157,0xc48)]['length']>0x1){this['_position_steps']['pop']();const _0x57a880=this[_0x1911a7(0xf2c,0xe77)][this[_0x1911a7(0x8b8,_0x519924._0x6d81e4)]['length']-0x1];_0x57a880&&(this['position']=_0x57a880['clone']()),_0x1e8197=!![];}}else{if(this['_positions_steps']){if(this[_0x4490fb(_0x519924._0x146bc4,0x115a)]['length']>0x1){this['_positions_steps']['pop']();const _0x4f8b97=this[_0x4490fb(0x1638,0x115a)][this[_0x4490fb(0xed2,_0x519924._0x4ece0d)][_0x1911a7(0x19d0,_0x519924._0x2401ec)]-0x1];(_0x4f8b97===null||_0x4f8b97===void 0x0?void 0x0:_0x4f8b97[_0x4490fb(0x1ce2,0x1229)])>0x0&&(this['positions']=clonePostions(_0x4f8b97)),_0x1e8197=!![];}}}if(_0x1e8197){this['updateDraggers'](),this[_0x1911a7(0x9b0,_0x519924._0x33ab56)]();const _0x2df0ef={};_0x2df0ef[_0x4490fb(_0x519924._0x451611,0x151d)]=_0x1911a7(_0x519924._0x2d1bba,0x692),this['fire'](EventType['editMovePoint'],_0x2df0ef);}function _0x4490fb(_0x535ef,_0x11aff3){return _0x306755(_0x535ef,_0x11aff3- -_0x26a3f1._0x7a420c);}function _0x1911a7(_0x23332d,_0x4e5482){return _0x306755(_0x23332d,_0x4e5482- -0x1a3);}return _0x1e8197;}['finish'](){}[_0x306755(0x10f3,0x1726)](){const _0x36a8df={_0x3ed12b:0x52b},_0x418e8d={_0x508f3f:0x491};this['_map']['on'](EventType['leftDown'],this['_onLeftDownHandler'],this);function _0x515703(_0x237b19,_0x312c6b){return _0x306755(_0x312c6b,_0x237b19- -_0x418e8d._0x508f3f);}function _0x29471b(_0x148a6b,_0x9e0e80){return _0x2b6441(_0x9e0e80,_0x148a6b-0x312);}this['_map']['on'](EventType['mouseMove'],this[_0x29471b(_0x36a8df._0x3ed12b,0x4ec)],this),this['_map']['on'](EventType['leftUp'],this[_0x515703(0xedc,0x189c)],this);}[_0x2b6441(0x1a4,0x7a7)](){const _0x408539={_0x3b95c0:0xb67,_0x168340:0xeda,_0xb40d95:0x849,_0x15bf9c:0x1742},_0x4aeaef={_0x4f20b3:0x1c};function _0x216c21(_0x44970d,_0x2f0d68){return _0x306755(_0x2f0d68,_0x44970d- -0x123);}this[_0x216c21(0x16a6,0x133e)]['off'](EventType[_0x481e06(_0x408539._0x3b95c0,_0x408539._0x168340)],this['_onLeftDownHandler'],this),this['_map']['off'](EventType['mouseMove'],this[_0x481e06(0xc82,0x1fd)],this);function _0x481e06(_0x31b473,_0x4ad8fc){return _0x2b6441(_0x31b473,_0x4ad8fc- -_0x4aeaef._0x4f20b3);}this['_map'][_0x216c21(_0x408539._0xb40d95,0x154)](EventType['leftUp'],this['_onLeftUpHandler'],this),this[_0x481e06(0x20b,0xa25)]&&(this[_0x481e06(0xf6a,0x120c)]['scene']['screenSpaceCameraController'][_0x481e06(0x894,0xb2c)]=!![],delete this['_hasChangeEnableInputs']),this['_map']['_setEditCursor'](![]),!this['_graphic'][_0x481e06(_0x408539._0x15bf9c,0xfd6)]&&(this[_0x481e06(0x912,0x2a)]['show']=!![]);}['_onLeftDownHandler'](_0x1b4b2e){const _0x487d99={_0x13aa5f:0x96a,_0x10a20b:0x1e5e,_0x3e9636:0x14a6,_0x1db399:0xc9c,_0x7f1a19:0x40f,_0x54325c:0x16a2,_0x433d36:0x8a0,_0x1a586e:0xd21,_0x4f4d16:0x44e,_0x30c593:0xb8b,_0x29711f:0x1095},_0x494d8e={_0x1e22c8:0x44d},_0x1f4074=this[_0x484715(0x1733,0x137c)]['mouseEvent']['getPickTarget'](_0x1b4b2e['position'],_0x1b4b2e);if(_0x1f4074[_0x168fb0(_0x487d99._0x13aa5f,-0xa)]!==this['layer'])return;function _0x484715(_0x11e92b,_0x5d794c){return _0x306755(_0x11e92b,_0x5d794c- -_0x494d8e._0x1e22c8);}const _0x3df909=_0x1f4074===null||_0x1f4074===void 0x0?void 0x0:_0x1f4074[_0x484715(_0x487d99._0x10a20b,_0x487d99._0x3e9636)];if(!_0x3df909||!_0x3df909['_isDragger'])return;function _0x168fb0(_0xcc619f,_0x25764f){return _0x2b6441(_0x25764f,_0xcc619f-0x541);}this['_map']['scene'][_0x168fb0(0x698,0xf4c)][_0x484715(0xdc5,_0x487d99._0x1db399)]&&(this['_map']['scene'][_0x168fb0(0x698,_0x487d99._0x7f1a19)][_0x484715(0xccf,0xc9c)]=![],this['_hasChangeEnableInputs']=!![]),this['_map']['_setEditCursor'](!![]),_0x3df909['_closeAllControl'](),this['_draggerIng']=_0x3df909,this[_0x168fb0(_0x487d99._0x54325c,0x1d04)][_0x168fb0(0x1533,0x107b)]=_0x3df909['options'][_0x484715(0x9df,0xa54)]??![],_0x3df909[_0x484715(0x197,_0x487d99._0x433d36)]&&_0x3df909['onDragStart'](_0x3df909,_0x1f4074[_0x484715(0xeda,_0x487d99._0x1a586e)]||_0x3df909['position']),this[_0x484715(-_0x487d99._0x4f4d16,0x43c)](EventType[_0x484715(_0x487d99._0x30c593,_0x487d99._0x29711f)],{..._0x1b4b2e,..._0x1f4074,'index':this['_draggerIng']['index']});}[_0x306755(0x1244,0x7ba)](_0x4f27f7){const _0x29c8de={_0x1d6195:0xa9e};function _0x3fc702(_0x5c2bd9,_0x388c43){return _0x306755(_0x388c43,_0x5c2bd9- -0x4a4);}function _0xdec4a9(_0x20337a,_0x190885){return _0x2b6441(_0x20337a,_0x190885-0x3ba);}this[_0x3fc702(0x125e,0x1b00)]?this[_0x3fc702(0x760,_0x29c8de._0x1d6195)](_0x4f27f7):this['_onMouseMoveMapHandler'](_0x4f27f7);}['_onMouseMoveDraggerHandler'](_0x4945a3){const _0x2c4dd2={_0x31d927:0x1758,_0xa75ebd:0x149d,_0x138d4d:0x1549,_0xb857ce:0xad4,_0x583c3c:0x534,_0x46dbe2:0x71c,_0x76391a:0x68f,_0xeccd58:0x1665,_0x3a50c2:0x5e5,_0x1890cb:0x705,_0x245522:0xb7e,_0x497700:0x10fc,_0x1a0218:0x1e8,_0x7b04d5:0x1919,_0x1e9f18:0x18fd,_0x46e01a:0xf5a,_0x4741e3:0x187c,_0x49c559:0x1e1d,_0x67b23b:0x18fd,_0x12ce7c:0xad3,_0x43d1a5:0xe46,_0x3356f6:0x17a0,_0x23480c:0x1822,_0x207be1:0x1c1e,_0x10163a:0xb09,_0x4b7116:0x23c0};let _0x4c2488;switch(this[_0x35c0c4(_0x2c4dd2._0x31d927,0x1072)][_0xf0009e(_0x2c4dd2._0xa75ebd,0x1e31)]){case EditPointType[_0xf0009e(0x990,0x12a5)]:{var _0x2d7900;const _0x314efe=_0x4945a3['endPosition']['y']-_0x4945a3['startPosition']['y'],_0x5be8d7=getPositionValue(this['_draggerIng']['position'],(_0x2d7900=this['_map'])===null||_0x2d7900===void 0x0?void 0x0:_0x2d7900[_0xf0009e(0x144d,_0x2c4dd2._0x138d4d)][_0xf0009e(0xc5f,0x1132)]),_0x4e10df=new Cesium__namespace[(_0x35c0c4(0x16e5,0x1e3c))](_0x5be8d7),_0x64e7a3=new Cesium__namespace['BoundingSphere'](),_0x154f07=new Cesium__namespace[(_0xf0009e(_0x2c4dd2._0xb857ce,_0x2c4dd2._0x583c3c))]();_0x64e7a3['center']=_0x5be8d7,_0x64e7a3[_0x35c0c4(_0x2c4dd2._0x46dbe2,_0x2c4dd2._0x76391a)]=0x1;const _0x242bcd=this[_0x35c0c4(0x181f,_0x2c4dd2._0xeccd58)]['scene']['frameState']['camera']['getPixelSize'](_0x64e7a3,this['_map']['scene'][_0xf0009e(_0x2c4dd2._0x3a50c2,0x12b)][_0xf0009e(_0x2c4dd2._0x1890cb,_0x2c4dd2._0x245522)]['drawingBufferWidth'],this['_map']['scene']['frameState']['context']['drawingBufferHeight'])*1.5;Cesium__namespace[_0x35c0c4(0xa77,0x38b)][_0xf0009e(0x155b,0xff7)](_0x4e10df[_0x35c0c4(_0x2c4dd2._0x497700,0xc1e)],-_0x314efe*_0x242bcd,_0x154f07),_0x4c2488=Cesium__namespace[_0xf0009e(_0x2c4dd2._0xb857ce,_0x2c4dd2._0x1a0218)]['clone'](_0x5be8d7),Cesium__namespace['Cartesian3']['add'](_0x5be8d7,_0x154f07,_0x4c2488),this['_draggerIng']['position']=_0x4c2488;this['_draggerIng']['onDrag']&&this['_draggerIng'][_0x35c0c4(0x8bf,0x11f3)](this['_draggerIng'],_0x4c2488,_0x5be8d7);this['updateAttrForEditing'](),this['fire'](EventType['editStyle'],_0x4945a3);break;}default:{let _0x47340a=this[_0xf0009e(0x187c,0x13b8)]['getLangText'](_0xf0009e(0x18cb,_0x2c4dd2._0x7b04d5));this['_graphic']['_getExSmallTooltip']&&(_0x4945a3['index']=this['_draggerIng']['index'],_0x47340a+=this['_graphic']['_getExSmallTooltip'](_0x4945a3));this['_map'][_0x35c0c4(0xfac,0x1561)](_0x4945a3[_0xf0009e(_0x2c4dd2._0x1e9f18,_0x2c4dd2._0x46e01a)],_0x47340a);let _0x411afa=this[_0xf0009e(0x69a,0x100c)]['_entity'];this['clampToGround']&&(_0x411afa=null);this['_draggerIng']['_pointType']===EditPointType['MoveAll']?_0x4c2488=getCurrentMouseTerrainPosition(this['_map']['scene'],_0x4945a3['endPosition']):_0x4c2488=getCurrentMousePosition(this[_0xf0009e(_0x2c4dd2._0x4741e3,_0x2c4dd2._0x49c559)]['scene'],_0x4945a3[_0xf0009e(_0x2c4dd2._0x67b23b,0x14d4)],_0x411afa);if(_0x4c2488){if(this[_0xf0009e(0xd10,0xb23)][_0xf0009e(0x879,0xd61)]){_0x4c2488=this['options'][_0xf0009e(0x879,_0x2c4dd2._0x12ce7c)](_0x4c2488,this);if(!_0x4c2488)return;}if(this[_0x35c0c4(0xcb3,0x11af)][_0x35c0c4(0xd2e,_0x2c4dd2._0x43d1a5)]){const _0x263a05=this['options']['validDrawPosition'](_0x4c2488,this['_graphic']);if(!_0x263a05)return;}this['_draggerIng']['position']=_0x4c2488,this['_draggerIng']['onDrag']&&this['_draggerIng']['onDrag'](this[_0x35c0c4(_0x2c4dd2._0x31d927,_0x2c4dd2._0x3356f6)],_0x4c2488),this['updateAttrForEditing']();}}break;}function _0xf0009e(_0x287825,_0x1cb525){return _0x2b6441(_0x1cb525,_0x287825-0x654);}function _0x35c0c4(_0x56bcd6,_0x3b7cbb){return _0x2b6441(_0x3b7cbb,_0x56bcd6-0x5f7);}this['fire'](EventType[_0x35c0c4(0xd85,_0x2c4dd2._0x23480c)],{..._0x4945a3,'index':this[_0xf0009e(0x17b5,_0x2c4dd2._0x207be1)][_0xf0009e(0x100b,_0x2c4dd2._0x10163a)],'cartesian':_0x4c2488,'windowPosition':_0x4945a3[_0xf0009e(0x18fd,_0x2c4dd2._0x4b7116)]});}[_0x306755(0x15cd,0x194d)](_0x540772){const _0x45b10c={_0x1afee4:0x16bf,_0x135612:0x1c89,_0x459d57:0x20ce,_0x5e3271:0x10d3,_0x218714:0x1207,_0x27aba9:0x604,_0x21ca1e:0xdf3,_0x5c7b46:0x174f,_0x2dff54:0x3e5,_0x20def0:0x260,_0x51e12b:0x13b9,_0x4fb776:0x1442,_0x2cbe53:0x1bf2,_0x183945:0x14c3};var _0x5c2623,_0x139054;const _0x5be887=this['_map']['mouseEvent'][_0x5d5350(_0x45b10c._0x1afee4,0x2166)](_0x540772[_0x5d5350(0x199e,_0x45b10c._0x135612)],_0x540772),_0x13b603=_0x5be887===null||_0x5be887===void 0x0?void 0x0:_0x5be887[_0x5d5350(0x1a47,0x1fcf)];function _0x5d5350(_0xa69414,_0x45fe02){return _0x2b6441(_0x45fe02,_0xa69414-0x6f5);}if(_0x13b603==null){this[_0x5d5350(0x191d,_0x45b10c._0x459d57)][_0x5d5350(_0x45b10c._0x5e3271,_0x45b10c._0x218714)]();return;}if(_0x5be887['layer']!==this[_0x1b6110(_0x45b10c._0x27aba9,0x643)]||!_0x13b603['_isDragger'])return;if(this['_map'][_0x5d5350(0x133a,0x1c11)][_0x5d5350(0x16e7,_0x45b10c._0x21ca1e)]&&this['_map']['contextmenu']['target']===_0x13b603)return;let _0x154212=_0x13b603['_draw_tooltip'];if(!_0x154212)return;function _0x1b6110(_0x308c85,_0x181cfd){return _0x2b6441(_0x308c85,_0x181cfd-0x21a);}EditPointType[_0x5d5350(0x1244,0x8ed)]===_0x13b603['_pointType']&&((_0x5c2623=this['_graphic'])===null||_0x5c2623===void 0x0||(_0x5c2623=_0x5c2623['_positions_draw'])===null||_0x5c2623===void 0x0?void 0x0:_0x5c2623[_0x5d5350(_0x45b10c._0x5c7b46,0x17e1)])>this[_0x1b6110(_0x45b10c._0x2dff54,_0x45b10c._0x20def0)]['_minPointNum']&&(((_0x139054=this['_graphic']['options'])===null||_0x139054===void 0x0?void 0x0:_0x139054['hasEditContextMenu'])??!![])&&(_0x154212+='<br/>'+this['_map']['getLangText'](_0x1b6110(0x19c3,_0x45b10c._0x51e12b))),this[_0x1b6110(0x1c47,_0x45b10c._0x4fb776)]['openSmallTooltip'](_0x540772[_0x1b6110(_0x45b10c._0x2cbe53,_0x45b10c._0x183945)],_0x154212);}[_0x2b6441(0xc7a,0xdcc)](_0x4424fb){const _0x522425={_0x4adc72:0x12a9,_0x25734c:0x6f0,_0x318a3b:0x1e8c,_0x14698b:0x420,_0x4589b5:0x753,_0x100b44:0x13c6,_0x5b9d66:0xc95,_0x52fea7:0xd7a,_0x48d07b:0xc1c,_0x2e8166:0x1227,_0x3d2ca4:0x15f3,_0x8160b4:0xb89},_0x30ec55={_0x45d7b0:0x459};var _0x52ba95;if(!this['_draggerIng'])return;this[_0x11f68b(0xe87,_0x522425._0x4adc72)][_0x11f68b(_0x522425._0x25734c,0x113a)]=!![];const _0xe9bea5=getPositionValue(this[_0x199197(0x13c6,_0x522425._0x318a3b)]['position'],(_0x52ba95=this['_map'])===null||_0x52ba95===void 0x0?void 0x0:_0x52ba95['clock'][_0x11f68b(_0x522425._0x14698b,_0x522425._0x4589b5)]),_0x57007d=this[_0x11f68b(0x1710,0x12a9)]['index'];this[_0x199197(_0x522425._0x100b44,_0x522425._0x5b9d66)][_0x11f68b(-0x41c,0x4a4)]&&this['_draggerIng'][_0x11f68b(_0x522425._0x52fea7,0x4a4)](this['_draggerIng'],_0xe9bea5);this['updateAttrForEditing']();const _0x317e81={..._0x4424fb};_0x317e81[_0x199197(_0x522425._0x48d07b,_0x522425._0x2e8166)]=_0x57007d;function _0x11f68b(_0x34c1fd,_0x3d4225){return _0x306755(_0x34c1fd,_0x3d4225- -_0x30ec55._0x45d7b0);}_0x317e81['cartesian']=_0xe9bea5,this['fire'](EventType['editMovePoint'],_0x317e81),this[_0x11f68b(_0x522425._0x3d2ca4,0x12a9)]=null,this['_map']['_setEditCursor'](![]);function _0x199197(_0x51ab4c,_0x21656b){return _0x2b6441(_0x21656b,_0x51ab4c-0x265);}this['_hasChangeEnableInputs']&&(this[_0x11f68b(0x18ae,0x1370)]['scene']['screenSpaceCameraController']['enableInputs']=!![],delete this[_0x11f68b(0x151c,_0x522425._0x8160b4)]),this['_editPositionsHook']();}['openSmallTooltipByMinPointNum'](_0x5559af){const _0x2b0578={_0x24b936:0x1ce4,_0x5e016a:0x732,_0x19c3a8:0xdf8,_0x4af17e:0x48e,_0x5ef829:0x4be,_0x1bf166:0x146d},_0x1bcde1={_0x5e89e4:0x2ba};function _0x188ac4(_0x44b815,_0x441bb4){return _0x2b6441(_0x441bb4,_0x44b815-0x181);}function _0x4d2578(_0x5a441c,_0x474da9){return _0x2b6441(_0x474da9,_0x5a441c-_0x1bcde1._0x5e89e4);}this[_0x4d2578(0x14e2,_0x2b0578._0x24b936)][_0x4d2578(0xc6f,_0x2b0578._0x5e016a)](_0x5559af,this['_map']['getLangText'](_0x188ac4(_0x2b0578._0x19c3a8,_0x2b0578._0x4af17e))+'\x20'+this[_0x4d2578(0x300,_0x2b0578._0x5ef829)][_0x4d2578(_0x2b0578._0x1bf166,0xe82)]);}['createDragger'](_0x11bf8d){const _0x27be6f={_0x558313:0x10cd,_0x2b4ffd:0xffa,_0x172f1e:0xa7c,_0x591f78:0x7be,_0x5272ae:0x1206,_0x574c12:0xe89,_0x1e1941:0x1e0,_0x4fa433:0x98f,_0x293b7:0x123c,_0x2326b3:0x99b,_0x34962d:0x533,_0x58504a:0x495,_0x2b7258:0x326,_0x362716:0x11f3,_0x17b241:0xea7,_0x27a088:0xbad,_0x38a58e:0xf90,_0x27d541:0x82a,_0x1e3f00:0x1dae,_0x297492:0x17c,_0x40837b:0x2bb,_0x531f6c:0x117e};let _0x4cfe30;if(_0x11bf8d['dragger'])_0x4cfe30=_0x11bf8d['dragger'];else{const _0x26d99a=getEditPointStyle(_0x11bf8d['type']),_0x4ff79d=_0x26d99a[_0x282313(_0x27be6f._0x558313,0x1285)]||_0x282313(0x1592,_0x27be6f._0x2b4ffd),_0x24c410={};_0x24c410['position']=_0x11bf8d['position']??Cesium__namespace['Cartesian3']['ZERO'],_0x24c410[_0x282313(_0x27be6f._0x172f1e,0x478)]=_0x26d99a,_0x24c410['hasEdit']=![],_0x24c410[_0x282313(_0x27be6f._0x591f78,_0x27be6f._0x5272ae)]=!![],_0x4cfe30=create$5(_0x4ff79d,_0x24c410),_0x4cfe30['style']['clampToGround']=this['clampToGround'],_0x4cfe30[_0x282313(_0x27be6f._0x574c12,0x6ad)]=this['_graphic'],this[_0x448ed9(_0x27be6f._0x1e1941,0x487)]['addGraphic'](_0x4cfe30);}function _0x448ed9(_0x57efd8,_0x45f28c){return _0x306755(_0x57efd8,_0x45f28c- -0x543);}_0x4cfe30[_0x282313(0xd0e,0x1270)]=this['_map'][_0x282313(0xd4a,_0x27be6f._0x4fa433)]('_拖动该点后')+'\x20'+(_0x11bf8d[_0x448ed9(_0x27be6f._0x293b7,_0x27be6f._0x2326b3)]||this['_map']['getLangText'](_0x448ed9(_0x27be6f._0x34962d,0x7))),_0x4cfe30['_isDragger']=!![],_0x4cfe30[_0x282313(0x6c3,0x3d6)]=!![],_0x4cfe30['_pointType']=_0x11bf8d['type']||EditPointType['Control'];function _0x282313(_0x5c4d60,_0x3a7b24){return _0x306755(_0x5c4d60,_0x3a7b24- -0x3de);}_0x4cfe30['onDragStart']=_0x11bf8d['onDragStart'],_0x4cfe30[_0x448ed9(-0x10b,0x326)]=_0x11bf8d[_0x448ed9(-_0x27be6f._0x58504a,_0x27be6f._0x2b7258)],_0x4cfe30['onDragEnd']=_0x11bf8d['onDragEnd'];if((_0x4cfe30[_0x448ed9(_0x27be6f._0x362716,_0x27be6f._0x17b241)]===EditPointType[_0x448ed9(0x1511,_0x27be6f._0x27a088)]||_0x4cfe30['_pointType']===EditPointType['MoveAll'])&&(this[_0x282313(_0x27be6f._0x38a58e,0x87f)]['hasEditContextMenu']??!![])){_0x4cfe30['_draw_tooltip']+='<br/>'+this[_0x282313(0x1dc7,0x13eb)][_0x448ed9(0x496,_0x27be6f._0x27d541)](_0x282313(-0x4d4,0x1b3));const _0x5c5d37=_0x4cfe30['_contextmenuConfig'],_0x1ccc3a=this['getDraggerContextMenu'](_0x4cfe30);_0x5c5d37&&!_0x5c5d37['_private']&&!_0x4cfe30['_contextmenuConfig_bak']&&(_0x4cfe30['_contextmenuConfig_bak']=_0x5c5d37,_0x1ccc3a[_0x282313(0xa9a,0x2bb)](..._0x5c5d37['content']));const _0xec903a=this['layer'][_0x448ed9(_0x27be6f._0x1e3f00,0x139d)];_0xec903a&&this['layer']!==_0x4cfe30&&_0x1ccc3a[_0x282313(_0x27be6f._0x297492,_0x27be6f._0x40837b)](..._0xec903a[_0x282313(0x120,0x766)]),_0x4cfe30[_0x448ed9(0x1344,_0x27be6f._0x531f6c)](_0x1ccc3a),_0x4cfe30['_contextmenuConfig'][_0x282313(0x28,0x305)]=!![];}return _0x4cfe30;}[_0x2b6441(0x1302,0xd5b)](_0x5db5d6){const _0x38383f={_0x3c3b06:0xb6d},_0x5ba76a={_0x4a6fd0:0xe4},_0x5d7f5b={_0x3df655:0x4b1};function _0x311cd9(_0x238e90,_0x25e546){return _0x2b6441(_0x25e546,_0x238e90-_0x5d7f5b._0x3df655);}function _0x452045(_0x98a974,_0x58045d){return _0x306755(_0x58045d,_0x98a974-_0x5ba76a._0x4a6fd0);}if(_0x5db5d6&&(this[_0x311cd9(_0x38383f._0x3c3b06,0x9ca)][_0x452045(0x1895,0x10ef)]??!![])){var _0x351b82;(_0x351b82=_0x5db5d6[_0x452045(0x19c4,0xf46)])!==null&&_0x351b82!==void 0x0&&_0x351b82[_0x311cd9(0x5f3,-0x329)]&&_0x5db5d6[_0x452045(0xb20,0x418)](),_0x5db5d6['_contextmenuConfig_bak']&&(_0x5db5d6['_contextmenuConfig']=_0x5db5d6['_contextmenuConfig_bak'],delete _0x5db5d6['_contextmenuConfig_bak']);}}['bindDraggers'](){}[_0x306755(0x6aa,0x10aa)](){const _0x3dd930={_0x52afb4:0x75,_0x123fa2:0x11ac},_0x5ad435={_0x4f3c7e:0x2f},_0x1cb741={_0x4c60ea:0x150};this['_resetContextMenu'](this[_0x1920b7(0x788,_0x3dd930._0x52afb4)]);function _0x56b31c(_0x466866,_0xe9d71b){return _0x306755(_0x466866,_0xe9d71b- -_0x1cb741._0x4c60ea);}function _0x1920b7(_0xbdf64c,_0x4f38bd){return _0x2b6441(_0xbdf64c,_0x4f38bd-_0x5ad435._0x4f3c7e);}for(let _0x53a53e=0x0,_0x265953=this['draggers']['length'];_0x53a53e<_0x265953;_0x53a53e++){const _0x459cc4=this['draggers'][_0x53a53e];this[_0x56b31c(0x1312,_0x3dd930._0x123fa2)](_0x459cc4),this[_0x1920b7(0x285,0x458)][_0x56b31c(0x1615,0xbf3)](_0x459cc4,!![]);}this['draggers']=[];}[_0x306755(0x63d,0x6c3)](){const _0x3aee48={_0x5d6e94:0x1b2a};function _0x543c94(_0x5cc93b,_0x157c35){return _0x2b6441(_0x157c35,_0x5cc93b-0x2c0);}if(!this['_enabled'])return this;clearTimeout(this['_updateDraggersTimeTik']),this[_0x543c94(0x12e3,_0x3aee48._0x5d6e94)]=setTimeout(()=>{if(!this['_enabled'])return this;this['_updateDraggers']();},0x14);}[_0x306755(0x1fe9,0x18dc)](){const _0x228598={_0xbb9ece:0x191d,_0x56e4e4:0x1a33},_0x3273c7={_0x1023ff:0x621};var _0x2165a8;function _0x1954a4(_0x23f5ff,_0x5c4a45){return _0x306755(_0x23f5ff,_0x5c4a45- -_0x3273c7._0x1023ff);}if(!this['_enabled'])return this;const _0x3c17b0=(_0x2165a8=this['_matrixMove'])===null||_0x2165a8===void 0x0?void 0x0:_0x2165a8['_dragger_index'];this[_0x1954a4(0x2aa,0xa89)]();function _0x382e19(_0x4a0e78,_0x42e685){return _0x2b6441(_0x4a0e78,_0x42e685-0x4dd);}this['bindDraggers']();if(Cesium__namespace['defined'](_0x3c17b0))for(let _0x37f457=0x0,_0x4e8201=this[_0x382e19(0x163b,0x133d)][_0x382e19(_0x228598._0xbb9ece,0x1537)];_0x37f457<_0x4e8201;_0x37f457++){const _0x5c740f=this[_0x382e19(_0x228598._0x56e4e4,0x133d)][_0x37f457];if(_0x5c740f['_pointType']!==EditPointType['Control']&&_0x5c740f['_pointType']!==EditPointType['MoveAll'])continue;if(_0x5c740f['index']===_0x3c17b0){this['startMoveMatrix'](_0x5c740f);break;}}}['updateAttrForEditing'](){const _0x26c11b={_0x499aca:0x12d7};function _0x3d5397(_0x1f137c,_0x561935){return _0x306755(_0x561935,_0x1f137c- -0x5f9);}this['_graphic']['updateAttrForDrawing']&&this[_0x3d5397(-0x12,-0x28a)]['updateAttrForDrawing'](!![]);function _0x358de4(_0x54281b,_0x505209){return _0x306755(_0x505209,_0x54281b- -0x13d);}this['_graphic']['_updateLabelPosition']&&this['_graphic'][_0x3d5397(_0x26c11b._0x499aca,0x187d)]();}['getDraggerContextMenu'](_0x1abbed){const _0x495590={_0x434f51:0x66c,_0xabda71:0xd62,_0x60a7c2:0x12ea,_0x41b161:0x1d5e,_0x1ba570:0x11fd},_0x17053e={_0x2f9b67:0x714},_0x29ae80={_0x43155f:0xbb0},_0x3500b3={_0x36c240:0x1042},_0x5b7354={_0x20fcf9:0x12f4,_0xcb7ba5:0xfb1,_0x2131a8:0x728,_0x6a6375:0xa8c};function _0x170d0c(_0x1e6895,_0x4cc105){return _0x2b6441(_0x1e6895,_0x4cc105-0x3d4);}function _0x199de4(_0x11136b,_0x2272fb){return _0x2b6441(_0x11136b,_0x2272fb-0x596);}return[{'text':this['_map'][_0x199de4(_0x495590._0x434f51,_0x495590._0xabda71)](_0x170d0c(_0x495590._0x60a7c2,0xc3d)),'icon':Icon[_0x170d0c(_0x495590._0x41b161,0x178c)],'show':_0x1d5199=>{const _0x30ce85={_0x41119b:0x3e6};var _0x596d28;function _0x50f799(_0x2389aa,_0xb2ed6c){return _0x170d0c(_0xb2ed6c,_0x2389aa-0x140);}if(this['_graphic']['isPoint']||!((_0x596d28=this['_graphic'])!==null&&_0x596d28!==void 0x0&&_0x596d28[_0x50f799(_0x5b7354._0x20fcf9,0x1c79)])||_0x1abbed['_pointType']===EditPointType[_0x50f799(_0x5b7354._0xcb7ba5,_0x5b7354._0x2131a8)])return![];function _0x56b681(_0x4446b7,_0x52d4ab){return _0x199de4(_0x4446b7,_0x52d4ab- -_0x30ce85._0x41119b);}if(this['_graphic']['_positions_draw'][_0x56b681(0x123d,0x120a)]-0x1<this['_graphic']['_minPointNum'])return this[_0x50f799(_0x5b7354._0x6a6375,0x14c)](_0x1d5199['position']),![];return!![];},'callback':_0x38d033=>{const _0x19ba3a=_0x38d033['graphic'];function _0x434e23(_0x252ace,_0x2da349){return _0x199de4(_0x2da349,_0x252ace- -0xce);}if(_0x19ba3a){const _0x4d2add=_0x19ba3a['index'];if(_0x4d2add>=0x0&&_0x4d2add<this['_graphic']['_positions_draw']['length']){this['_graphic']['_positions_draw'][_0x434e23(0x3d2,-0x118)](_0x4d2add,0x1),this['updateDraggers'](),this['updateAttrForEditing']();const _0x4f236c={..._0x38d033};_0x4f236c['index']=_0x4d2add,this['fire'](EventType['editRemovePoint'],_0x4f236c),this['_editPositionsHook']();}}}},{'text':this['_map']['getLangText'](_0x170d0c(0xd2b,0xde5)),'icon':Icon[_0x170d0c(0x568,0xe13)],'show':_0x135af8=>{if(this[_0x303942(0x107a,0x12e4)]['scene'][_0x303942(0x7b4,0x1136)]!==Cesium__namespace[_0x1e7d0c(0x44a,0xb42)]['SCENE3D'])return![];function _0x303942(_0xed1c0c,_0x1c8221){return _0x170d0c(_0xed1c0c,_0x1c8221- -0x318);}function _0x1e7d0c(_0x16feae,_0x13443e){return _0x170d0c(_0x16feae,_0x13443e-0x329);}return!this['_matrixMove']||this[_0x1e7d0c(0x1694,_0x3500b3._0x36c240)]['_dragger_index']!==_0x1abbed[_0x303942(0x3cf,0xa73)];},'callback':_0x5ab833=>{const _0x19710d={_0x1f2748:0x1d5};function _0x3d914b(_0x410725,_0x30b51c){return _0x170d0c(_0x410725,_0x30b51c- -_0x19710d._0x1f2748);}var _0x2c26f4;const _0x2bd864=(_0x2c26f4=_0x5ab833['graphic'])!==null&&_0x2c26f4!==void 0x0&&_0x2c26f4['position']?_0x5ab833[_0x3d914b(_0x29ae80._0x43155f,0x1551)]:_0x5ab833['layer'];this['startMoveMatrix'](_0x2bd864,_0x5ab833);}},{'text':this[_0x170d0c(_0x495590._0x1ba570,0x15fc)]['getLangText']('_停止按轴平移'),'icon':Icon['DrawEditNo'],'show':_0x52115d=>{function _0x815bf3(_0x1de5b4,_0x187c93){return _0x199de4(_0x1de5b4,_0x187c93- -0x218);}return this[_0x815bf3(_0x17053e._0x2f9b67,0xcc3)]&&this['_matrixMove']['_dragger_index']===_0x1abbed['index'];},'callback':_0x58493d=>{const _0x5383c3={_0x4067d9:0x46b};function _0x159f9a(_0x11e8b6,_0x44a59d){return _0x170d0c(_0x44a59d,_0x11e8b6- -_0x5383c3._0x4067d9);}this[_0x159f9a(0x13ce,0x1c8a)]();}}];}['_updateStyleHook'](_0x4f8b58){const _0x1e7697={_0x33d78f:0x19fa,_0x2e323e:0x452},_0x4fcd1c={_0x1ac67e:0x56f};function _0x366469(_0x421e31,_0x3b6dd6){return _0x2b6441(_0x3b6dd6,_0x421e31-_0x4fcd1c._0x1ac67e);}function _0x4f1c8a(_0xca240b,_0x4fa437){return _0x2b6441(_0xca240b,_0x4fa437-0x330);}Cesium__namespace['defined'](_0x4f8b58['clampToGround'])&&(this[_0x366469(0x19d4,_0x1e7697._0x33d78f)](),this['stopRotateMatrix'](),this[_0x4f1c8a(0xc1b,_0x1e7697._0x2e323e)]());}[_0x306755(0x1ca6,0x1378)](){const _0x287863={_0x2b8c39:0x1da,_0x4c0f70:0x1169,_0x25ee94:0xcd9};function _0x1e0ffb(_0x7baa5,_0x2332b2){return _0x306755(_0x7baa5,_0x2332b2- -0x3c3);}function _0x4289ac(_0x3edb1b,_0x49b2d7){return _0x2b6441(_0x49b2d7,_0x3edb1b- -0x13);}if(this[_0x1e0ffb(0x8a7,0xc57)]&&!this[_0x4289ac(0xa66,0x8b2)][this['_position_steps']['length']-0x1]['equals'](this['position']))this[_0x4289ac(0xa66,0x3b9)]['push'](this['position'][_0x4289ac(0x354,_0x287863._0x2b8c39)]());else{if(this['_positions_steps']){let _0x479b56=![];const _0x48c7c2=this[_0x1e0ffb(0x6c2,_0x287863._0x4c0f70)][this['_positions_steps']['length']-0x1],_0xfcc0ce=this[_0x4289ac(0x13e5,_0x287863._0x25ee94)];if(_0x48c7c2['length']!==_0xfcc0ce['length'])_0x479b56=!![];else for(let _0x26eab9=0x0;_0x26eab9<_0xfcc0ce['length'];_0x26eab9++){if(!_0xfcc0ce[_0x26eab9]['equals'](_0x48c7c2[_0x26eab9])){_0x479b56=!![];break;}}_0x479b56&&this['_positions_steps']['push'](clonePostions(this['positions']));}}}['_fireAddPoint'](_0x1ea6d8,_0xe22abf){const _0x28c8ab={_0x5f42f8:0xd44},_0x11e671={_0x2d35fe:0x5f5};function _0x207392(_0x366d62,_0x3a29b8){return _0x2b6441(_0x3a29b8,_0x366d62-_0x11e671._0x2d35fe);}const _0x459cf4={};_0x459cf4['index']=_0x1ea6d8['index'],_0x459cf4['cartesian']=_0xe22abf,this['fire'](EventType[_0x207392(_0x28c8ab._0x5f42f8,0x10b6)],_0x459cf4);}['startMoveMatrix'](_0x54c457,_0x2e694c={}){const _0x983b51={_0x33f0f6:0x10a9,_0x245732:0xbcd,_0x48a23c:0x4e8,_0x523980:0x75f,_0x43bbb4:0xd97,_0x55ac75:0xf30,_0x3ef2ea:0x6ea,_0x1654ad:0xbc4,_0x5aa1c6:0x114e,_0xfa53af:0xa4b,_0x5868bd:0x7de,_0x131f46:0xa72,_0xf1af7:0x12e4,_0x5dd7a6:0x607,_0x25c4a1:0x1268,_0x1a52c4:0x12ab},_0x20d3a3={_0x41211d:0x27f},_0x2010a1={_0x1f7f78:0x3ee,_0x172004:0xcad,_0x4d51fa:0x988,_0x2ec1e5:0xb15},_0x4b6c10={_0x160db4:0x1127,_0x3dd677:0x8,_0x269606:0x33d,_0x35a855:0xc23},_0x5a2c5c={_0x2ec2ec:0x96f},_0x46b754={_0x4ff81d:0x4c1};this[_0x53b806(0x16e4,_0x983b51._0x33f0f6)](),this[_0x53b806(0xf0d,0x1119)]();!_0x54c457&&(_0x54c457=this[_0x53b806(0x2c5,_0x983b51._0x245732)]);let _0x2eca5b=_0x54c457[_0x53b806(_0x983b51._0x48a23c,_0x983b51._0x523980)]||_0x54c457[_0x53b806(0xed5,0xf8d)],_0x52b301;if(!_0x2eca5b&&this['_moveAllPostions']){_0x2eca5b=centerOfMass(this['positions']);if(!_0x2eca5b)return;_0x52b301=_0x2eca5b[_0x53b806(0x5e6,0x964)]();}this['clampToGround']&&(_0x2eca5b=getSurfacePosition(this['_map'][_0x53b806(0x743,_0x983b51._0x43bbb4)],_0x2eca5b));const _0x13c272={..._0x54c457[_0x19bd0a(_0x983b51._0x55ac75,_0x983b51._0x3ef2ea)]['matrixMove']};_0x13c272['position']=_0x2eca5b,this[_0x53b806(_0x983b51._0x1654ad,0xba7)]=new MatrixMove(_0x13c272),this['_map']['addThing'](this[_0x53b806(_0x983b51._0x1654ad,0xce1)]),this['_matrixMove'][_0x19bd0a(0x853,0x129d)][_0x19bd0a(0x121d,_0x983b51._0x5aa1c6)]([{'text':this['_map'][_0x53b806(_0x983b51._0xfa53af,_0x983b51._0x5868bd)]('_停止按轴平移'),'icon':Icon['DrawEditNo'],'show':_0x1e25a0=>{return this['_matrixMove'];},'callback':_0x6d2f30=>{function _0x1e4cdd(_0x1c59a5,_0x4a6908){return _0x19bd0a(_0x1c59a5,_0x4a6908-_0x46b754._0x4ff81d);}this[_0x1e4cdd(0x21a0,0x1954)]();}}]);(this['clampToGround']||this[_0x19bd0a(0x1307,_0x983b51._0x131f46)])&&this[_0x19bd0a(_0x983b51._0xf1af7,0x973)][_0x53b806(0xda6,_0x983b51._0x5dd7a6)]&&(this['_matrixMove']['_graphic_move_z']['show']=![]);this['_matrixMove'][_0x19bd0a(0xe0e,0xfae)]=_0x54c457['index'],this[_0x53b806(0xbc4,0x1c2)]['on'](EventType[_0x19bd0a(-0x31d,0x5e5)],_0x311c1d=>{function _0x15f0e2(_0x557362,_0x218454){return _0x19bd0a(_0x218454,_0x557362- -0x4);}_0x54c457['onDragStart']&&_0x54c457['onDragStart'](_0x54c457,this[_0x15f0e2(_0x5a2c5c._0x2ec2ec,0x11c2)]['position']);}),this['_matrixMove']['on'](EventType[_0x19bd0a(0x1baf,_0x983b51._0x25c4a1)],_0x3a360e=>{const _0x3a6658={_0x138cbf:0x27},_0x599ea9=this[_0x48c476(0x1892,0xefc)]['position'];function _0xb13b37(_0x1059ab,_0x470961){return _0x19bd0a(_0x1059ab,_0x470961-_0x3a6658._0x138cbf);}if(_0x52b301)this[_0x48c476(_0x4b6c10._0x160db4,0x69b)](_0x52b301,_0x599ea9),_0x52b301=_0x599ea9;else _0x54c457['onDragEnd']?_0x54c457['onDragEnd'](_0x54c457,_0x599ea9,_0x3a360e):_0x54c457['position']=_0x599ea9;const _0x1f9041={};_0x1f9041['position']=_0x599ea9;function _0x48c476(_0x35968e,_0x4a7cf0){return _0x53b806(_0x4a7cf0-0x338,_0x35968e);}_0x54c457[_0xb13b37(_0x4b6c10._0x3dd677,_0x4b6c10._0x269606)](EventType['updatePosition'],_0x1f9041);const _0x4071c2={..._0x2e694c,..._0x3a360e};_0x4071c2[_0x48c476(_0x4b6c10._0x35a855,0xf6e)]=_0x54c457['index'],_0x4071c2['cartesian']=_0x599ea9,this[_0x48c476(0x700,0x89f)](EventType['editMovePoint'],_0x4071c2),this['_editPositionsHook']();}),this['_matrixMove']['on'](EventType[_0x19bd0a(_0x983b51._0x1a52c4,0x87b)],_0x4a121=>{const _0x3b3d4e={_0x3971a2:0x108};var _0x2692cd;const _0x447484=this['_matrixMove']['position'];if(_0x52b301)this['_moveAllPostions'](_0x52b301,_0x447484),_0x52b301=_0x447484;else Cesium__namespace['defined']((_0x2692cd=this['_graphic'])===null||_0x2692cd===void 0x0?void 0x0:_0x2692cd[_0x2a7cc2(_0x2010a1._0x1f7f78,-0x1f2)])?this['_graphic']['_position_draw']=_0x447484:_0x54c457['position']=_0x447484;if(_0x4a121['editType']===Cesium__namespace['Axis']['Z']&&this['_updateHeight']){const _0x3f7cca=Cesium__namespace['Cartographic']['fromCartesian'](_0x447484)['height'];this[_0xa13e47(_0x2010a1._0x172004,0x134a)](_0x3f7cca);}else _0x54c457['onDrag']&&_0x54c457['onDrag'](_0x54c457,_0x447484);this[_0xa13e47(0x1052,0x10ec)]();const _0x4bb4b4={..._0x2e694c,..._0x4a121};_0x4bb4b4['index']=_0x54c457[_0xa13e47(_0x2010a1._0x4d51fa,0xb0d)],_0x4bb4b4[_0x2a7cc2(0xf54,0xa0b)]=_0x2eca5b;function _0xa13e47(_0x40e4fd,_0x12348b){return _0x19bd0a(_0x12348b,_0x40e4fd- -0x5d);}function _0x2a7cc2(_0x21eacd,_0x4f91e4){return _0x53b806(_0x21eacd-_0x3b3d4e._0x3971a2,_0x4f91e4);}this['fire'](EventType[_0x2a7cc2(_0x2010a1._0x2ec1e5,0xeba)],_0x4bb4b4);}),_0x54c457['off'](EventType['updatePosition'],this['_updateMatrixMovePosition'],this);function _0x53b806(_0x516300,_0x13d7c8){return _0x2b6441(_0x13d7c8,_0x516300-_0x20d3a3._0x41211d);}function _0x19bd0a(_0xb923,_0x41c912){return _0x2b6441(_0xb923,_0x41c912-0x2e);}_0x54c457['off'](EventType['updatePosition'],this['_updateMatrixRotatePosition'],this),_0x54c457['on'](EventType['updatePosition'],this[_0x53b806(0xf92,0x15bd)],this);}['_updateMatrixMovePosition'](_0x43b788){const _0x4a4bfb={_0x21827a:0xc0c,_0x457801:0x109f,_0x1ea690:0x1072,_0x108c4a:0x179b,_0x2361bc:0xc01,_0x58bc80:0x9d0,_0x33aafa:0xda8,_0x35bc21:0x1827};var _0x5ec082;function _0x25e4d6(_0x5ed9de,_0x4be3d2){return _0x306755(_0x4be3d2,_0x5ed9de- -0x158);}function _0x459ebc(_0x40aa7c,_0x251fcd){return _0x306755(_0x40aa7c,_0x251fcd- -0x588);}if(!this['_matrixMove']||this['_matrixMove'][_0x459ebc(0xd80,_0x4a4bfb._0x21827a)]||!_0x43b788[_0x25e4d6(_0x4a4bfb._0x457801,_0x4a4bfb._0x1ea690)]||this['_matrixMove']['_dragger_index']!==((_0x5ec082=_0x43b788[_0x25e4d6(_0x4a4bfb._0x108c4a,0x1bac)])===null||_0x5ec082===void 0x0?void 0x0:_0x5ec082[_0x459ebc(_0x4a4bfb._0x2361bc,_0x4a4bfb._0x58bc80)]))return;this[_0x25e4d6(0xd8e,_0x4a4bfb._0x33aafa)][_0x25e4d6(0x109f,_0x4a4bfb._0x35bc21)]=_0x43b788['position'];}['stopMoveMatrix'](){const _0x1b05ba={_0x1af44f:0xcf3,_0x3a1a3b:0x77e,_0x4de5ba:0xde3},_0x3e8639={_0x3a1e3a:0x3ae};function _0x5b5937(_0x28c0fe,_0x5f5b46){return _0x2b6441(_0x5f5b46,_0x28c0fe-_0x3e8639._0x3a1e3a);}function _0x299f95(_0x334b04,_0x223cf9){return _0x306755(_0x223cf9,_0x334b04- -0x171);}this[_0x5b5937(_0x1b05ba._0x1af44f,0xcdb)]&&(this['_map'][_0x5b5937(_0x1b05ba._0x3a1a3b,0x932)](this[_0x5b5937(0xcf3,_0x1b05ba._0x4de5ba)],!![]),delete this[_0x299f95(0xd75,0x17c9)]);}[_0x306755(0x1710,0x12ec)](_0x37bff1){const _0x30871b={_0x112f85:0x667,_0x9d9372:0x260,_0x52efe9:0x7c,_0x26ec16:0x1832,_0xd57404:0x1c15,_0x419238:0x69b,_0x5e8218:0x5dd,_0x1ad2f3:0x9b3,_0x4a4419:0x57e,_0x1830b0:0x201},_0x4b3b38={_0x3ac9b8:0xbb},_0xc90e06={_0x3744b4:0x325};function _0x1e5905(_0x59532f,_0x3b74d5){return _0x306755(_0x3b74d5,_0x59532f-0x22);}this['stopMoveMatrix'](),this['stopRotateMatrix']();!_0x37bff1&&(_0x37bff1=this[_0x282d57(-0xf,-0x8cb)]);const _0x1a1fc1=_0x37bff1['positionShow']||_0x37bff1['position'];if(!_0x1a1fc1)return;this['_matrixRotate']=new MatrixRotate({..._0x37bff1[_0x282d57(_0x30871b._0x112f85,0x980)]['matrixRotate'],'position':_0x1a1fc1,'heading':this['style']['heading']||0x0,'pitch':this['style']['pitch']||0x0,'roll':this[_0x282d57(_0x30871b._0x9d9372,0x448)]['roll']||0x0}),this['_map']['addThing'](this[_0x282d57(_0x30871b._0x52efe9,0x394)]),this['_matrixRotate'][_0x1e5905(_0x30871b._0x26ec16,_0x30871b._0xd57404)]['bindContextMenu']([{'text':this['_map'][_0x282d57(0x777,_0x30871b._0x419238)]('_停止按轴旋转'),'icon':Icon['BloomEffectNo'],'show':_0x4d55e4=>{return this['_matrixRotate'];},'callback':_0x5907fb=>{const _0x385a57={_0x530582:0xbe};function _0x37a340(_0x45d94d,_0x4dc630){return _0x282d57(_0x4dc630-_0x385a57._0x530582,_0x45d94d);}this[_0x37a340(_0xc90e06._0x3744b4,0xcf7)]();}}]);function _0x282d57(_0x40560c,_0x4a9ba3){return _0x306755(_0x4a9ba3,_0x40560c- -0x5f6);}this['_matrixRotate']['on'](EventType['change'],_0x4126f3=>{this['style']['heading']=formatNum$1(_0x4126f3['heading'],0x2);function _0x2dbe58(_0x2266b1,_0x32e07f){return _0x1e5905(_0x2266b1-0xfd,_0x32e07f);}function _0x2d3a70(_0x21bad7,_0x349754){return _0x282d57(_0x21bad7-0x71c,_0x349754);}this['style']['pitch']=formatNum$1(_0x4126f3['pitch'],0x2),this['style'][_0x2dbe58(0xb0b,0x3aa)]=formatNum$1(_0x4126f3['roll'],0x2),this['_graphic'][_0x2d3a70(0xa25,_0x4b3b38._0x3ac9b8)](),this[_0x2d3a70(0x9af,0x5db)](EventType['editStyle']);}),_0x37bff1['off'](EventType['updatePosition'],this['_updateMatrixMovePosition'],this),_0x37bff1['off'](EventType['updatePosition'],this[_0x282d57(_0x30871b._0x5e8218,_0x30871b._0x1ad2f3)],this),_0x37bff1['on'](EventType[_0x1e5905(_0x30871b._0x4a4419,_0x30871b._0x1830b0)],this['_updateMatrixRotatePosition'],this);}[_0x306755(0xf3b,0xbd3)](_0xb6dcd2){const _0x1b81e8={_0x405752:0x8a,_0xbee792:0x538,_0x13affd:0x11d3,_0x2066f5:0x445},_0x274be8={_0x795183:0x253},_0x5bf03d={_0x166324:0x5e8};function _0x1fb784(_0x2b8a62,_0x2accb5){return _0x306755(_0x2b8a62,_0x2accb5- -_0x5bf03d._0x166324);}var _0x32b98e;function _0x189d64(_0x4ef03e,_0x51e5da){return _0x2b6441(_0x4ef03e,_0x51e5da-_0x274be8._0x795183);}if(!this[_0x1fb784(-0x18f,_0x1b81e8._0x405752)]||this['_matrixRotate']['isMoveing']||!_0xb6dcd2[_0x1fb784(_0x1b81e8._0xbee792,0xc0f)]||this[_0x189d64(0x9a7,0x324)][_0x189d64(0x1536,_0x1b81e8._0x13affd)]!==((_0x32b98e=_0xb6dcd2['graphic'])===null||_0x32b98e===void 0x0?void 0x0:_0x32b98e['index']))return;this[_0x1fb784(-_0x1b81e8._0x2066f5,0x8a)][_0x1fb784(0x7b1,0xc0f)]=_0xb6dcd2['position'];}[_0x2b6441(0x1445,0xc8e)](){const _0x599ce7={_0x31c870:0x977},_0x58c1f8={_0x5d6943:0x7a};function _0x2f0e98(_0x284166,_0x385963){return _0x2b6441(_0x385963,_0x284166-0x5a7);}function _0xc9e4b1(_0xe6af6b,_0x2a04a9){return _0x2b6441(_0x2a04a9,_0xe6af6b-_0x58c1f8._0x5d6943);}this[_0xc9e4b1(0x14b,-0x2b9)]&&(this['_map'][_0x2f0e98(_0x599ce7._0x31c870,-0xed)](this[_0xc9e4b1(0x14b,0xba2)],!![]),delete this['_matrixRotate']);}[_0x306755(0x10ff,0xf8f)](){this['disable']();for(const _0x1cac6a in this){delete this[_0x1cac6a];}}}function clonePostions(_0x1a2461){const _0x2f0417=[];for(let _0x12fdcf=0x0,_0x264dc7=_0x1a2461['length'];_0x12fdcf<_0x264dc7;++_0x12fdcf){_0x2f0417['push'](_0x1a2461[_0x12fdcf]['clone']());}return _0x2f0417;}class EditPoint extends EditBase{get[_0x306755(0x15b1,0x11f7)](){const _0x2f5eb9={_0xd766a0:0x30b};function _0x364337(_0x44a4a6,_0x4809b4){return _0x306755(_0x44a4a6,_0x4809b4- -0x2dc);}function _0xd75369(_0x28cffa,_0x3c613a){return _0x306755(_0x3c613a,_0x28cffa-0xc);}return this[_0x364337(0xb64,_0x2f5eb9._0xd766a0)][_0xd75369(0x614,-0x311)];}set[_0x306755(0x84c,0x11f7)](_0x46174c){const _0x3ad46b={_0x53b904:0x1fa};function _0x7d304c(_0x4ffe27,_0x97059d){return _0x2b6441(_0x97059d,_0x4ffe27-0x1b4);}this[_0x7d304c(_0x3ad46b._0x53b904,-0x1d7)]['_position_draw']=_0x46174c;}['bindDraggers'](){const _0x3ee331={_0x1859ad:0x1114};this['createDragger']({'dragger':this['_graphic'],'onDrag':(_0x18c624,_0x40dc37)=>{function _0x2d085c(_0x368a7a,_0xa32592){return _0x5bbe(_0xa32592- -0x179,_0x368a7a);}this[_0x2d085c(_0x3ee331._0x1859ad,0xe0b)]=_0x40dc37;}});}['finish'](){const _0x3f46a2={_0xd3b484:0x10e7,_0x48b7ff:0x2eb};delete this['_graphic']['_draw_tooltip'];function _0x15d04b(_0x1aa60f,_0x903cab){return _0x2b6441(_0x903cab,_0x1aa60f-0x653);}delete this['_graphic']['_isDragger'],delete this['_graphic']['_noMousePick'];function _0x23734a(_0x26f692,_0x357108){return _0x306755(_0x26f692,_0x357108- -0x57e);}delete this['_graphic'][_0x23734a(_0x3f46a2._0xd3b484,0xe6c)],delete this[_0x15d04b(0x699,0x449)][_0x23734a(0xa1b,_0x3f46a2._0x48b7ff)];}}class BasePointEntity extends BaseEntity{constructor(_0x314835={}){const _0x24805c={_0x547473:0xc3f,_0x36540a:0x863,_0x1099a2:0x197b,_0x533c67:0x13c3,_0x206cc0:0x11d9,_0x243515:0x6a5,_0x2d3963:0xbdc,_0x4e8be7:0x7e0},_0x535134={_0x4cc1dd:0x583},_0x55bccd={_0x470722:0x7a};_0x314835['drawShow']=_0x314835[_0x3c13da(0x335,0x886)]??!![];function _0x3c13da(_0x25cddf,_0x116a70){return _0x2b6441(_0x25cddf,_0x116a70- -_0x55bccd._0x470722);}super(_0x314835),this[_0x3c13da(0x136b,0x1139)]=_0x314835['minPointNum']??0x1,this['_maxPointNum']=_0x314835['maxPointNum']??0x1;function _0x3f821a(_0x11a60c,_0x33cddf){return _0x2b6441(_0x11a60c,_0x33cddf-_0x535134._0x4cc1dd);}this[_0x3c13da(0xa64,0x958)]=this[_0x3f821a(0xf3c,_0x24805c._0x547473)][_0x3f821a(0x7e,_0x24805c._0x36540a)]??!![],_0x314835['positions']&&(this[_0x3f821a(0x1902,_0x24805c._0x1099a2)]=_0x314835['positions']),_0x314835[_0x3f821a(_0x24805c._0x533c67,_0x24805c._0x206cc0)]&&(this[_0x3c13da(_0x24805c._0x243515,_0x24805c._0x2d3963)]=_0x314835[_0x3c13da(_0x24805c._0x4e8be7,0xbdc)]);}get[_0x306755(0x1393,0xe73)](){return EditPoint;}get['position'](){return this['_position'];}set['position'](_0x346c14){const _0x98ff11={_0x7842d2:0x8eb,_0x1902ea:0xac4,_0x5e3d20:0x659,_0x7749bc:0x1611,_0x3fe677:0xa4a,_0x16f639:0xa4a,_0x3fd039:0xe73,_0x30eb07:0x61d},_0x5f0e55={_0x15a050:0x307};var _0x2fb1dc,_0x183fbd;if(this[_0x9b464c(0x986,-0xa9)])return;if(this['setAjaxPostion'](_0x346c14))return;this['_point']=LngLatPoint['parse'](_0x346c14);function _0x3c71ae(_0x57b82c,_0x1d9960){return _0x2b6441(_0x57b82c,_0x1d9960-_0x5f0e55._0x15a050);}if(this['_point']&&!(this['_point'][_0x9b464c(_0x98ff11._0x7842d2,_0x98ff11._0x1902ea)]===0x0&&this[_0x9b464c(0xa4a,_0x98ff11._0x5e3d20)][_0x9b464c(0x9ab,0x13bf)]===0x0)){const _0x3ed852=this['getSetHeight']();Cesium__namespace[_0x3c71ae(_0x98ff11._0x7749bc,0x1518)](_0x3ed852)&&(this['_point'][_0x9b464c(0x414,-0x6be)]=_0x3ed852);const _0xf28f14=this['getAddHeight']();Cesium__namespace['defined'](_0xf28f14)&&(this[_0x9b464c(_0x98ff11._0x3fe677,0x10ea)]['alt']+=_0xf28f14);}const _0x3674fb=(_0x2fb1dc=this[_0x9b464c(_0x98ff11._0x16f639,0x111d)])===null||_0x2fb1dc===void 0x0?void 0x0:_0x2fb1dc['toCartesian']();function _0x9b464c(_0x31ba12,_0x359010){return _0x306755(_0x359010,_0x31ba12- -0x53);}if((_0x183fbd=this['editing'])!==null&&_0x183fbd!==void 0x0&&_0x183fbd[_0x3c71ae(_0x98ff11._0x3fd039,0x1036)]&&_0x3674fb instanceof Cesium__namespace['Cartesian3']){var _0x362ca3;this['_position_draw']=_0x3674fb,_0x3674fb&&((_0x362ca3=this['_positions_draw'])===null||_0x362ca3===void 0x0?void 0x0:_0x362ca3['length'])>0x0&&(this['_positions_draw'][0x0]=_0x3674fb);}else this[_0x3c71ae(0xe74,0x136c)]&&_0x3674fb instanceof Cesium__namespace['Cartesian3']&&this[_0x9b464c(_0x98ff11._0x30eb07,0x1030)](),this['_position']=_0x3674fb;this['_entity']&&this['_updatePositionsHook'](),this['_getRectangle_cache']&&delete this['_getRectangle_cache'],this['fire'](EventType['updatePosition'],{'position':this[_0x9b464c(0xe70,0x187b)]});}get['positionShow'](){const _0x561302={_0x3f8ea7:0x6a2};var _0x17c628;function _0xef310c(_0x1aa416,_0xf3dde9){return _0x2b6441(_0x1aa416,_0xf3dde9-_0x561302._0x3f8ea7);}return getPositionValue(this['position'],(_0x17c628=this['_map'])===null||_0x17c628===void 0x0?void 0x0:_0x17c628[_0xef310c(0xe67,0x149b)]['currentTime']);}get[_0x2b6441(0xae3,0x12c8)](){const _0x28a844={_0xff50dc:0x2f,_0x38c37b:0x720,_0x420930:0x5c1,_0x327db2:0xaff,_0x25660e:0x88c,_0x2bc6e6:0x8e8},_0x51b288={_0x2ebd6a:0xde};function _0x48d0f9(_0x35405c,_0x661977){return _0x306755(_0x35405c,_0x661977-_0x51b288._0x2ebd6a);}(!this[_0x2b9e05(-_0x28a844._0xff50dc,_0x28a844._0x38c37b)]||isNaN(this['_point'][_0x2b9e05(-0x1a7,_0x28a844._0x420930)])||!(this[_0x2b9e05(0x1378,0xb46)]instanceof Cesium__namespace[_0x48d0f9(0x4cf,_0x28a844._0x327db2)]))&&(this[_0x2b9e05(0x959,0x720)]=LngLatPoint['parse'](this[_0x48d0f9(_0x28a844._0x25660e,_0x28a844._0x2bc6e6)]));function _0x2b9e05(_0x334d80,_0xaf12e9){return _0x2b6441(_0x334d80,_0xaf12e9-0x224);}return this['_point'];}get['coordinate'](){const _0x17cac4={_0x48e506:0x13a1},_0x4be66a={_0x2097f7:0xb0};function _0x42b72f(_0x1b8bc7,_0x5c13bf){return _0x2b6441(_0x1b8bc7,_0x5c13bf- -_0x4be66a._0x2097f7);}return this[_0x42b72f(0x12ae,_0x17cac4._0x48e506)]();}get[_0x306755(0xe62,0x6fc)](){const _0x13bd2e={_0x3b016c:0xb6};function _0x1e2b83(_0x770b6d,_0x38b5a6){return _0x306755(_0x770b6d,_0x38b5a6-_0x13bd2e._0x3b016c);}var _0xde31b1;return getPositionValue(this[_0x1e2b83(-0x120,0x8c0)],(_0xde31b1=this['_map'])===null||_0xde31b1===void 0x0?void 0x0:_0xde31b1['clock']['currentTime']);}get['centerPoint'](){const _0x404287={_0x333354:0x145c};function _0x43562b(_0xfadcfc,_0x11aad5){return _0x306755(_0x11aad5,_0xfadcfc- -0x40d);}return this[_0x43562b(_0x404287._0x333354,0x19ea)];}get['positions'](){const _0x4864f0=this['positionShow'];return _0x4864f0?[_0x4864f0]:[];}set['positions'](_0x107c0e){const _0xf962c={_0x4e0ddf:0x82d,_0x51b653:0x111a},_0x35a85b={_0xf2c3a:0xdd};function _0x2ae853(_0x16de2c,_0x8b7c91){return _0x306755(_0x16de2c,_0x8b7c91- -_0x35a85b._0xf2c3a);}_0x107c0e&&_0x107c0e['length']>0x0&&(this[_0x2ae853(_0xf962c._0x4e0ddf,_0xf962c._0x51b653)]=_0x107c0e[0x0]);}get['points'](){const _0x3c8658=this['point'];return _0x3c8658?[_0x3c8658]:[];}get[_0x306755(0x1384,0xc11)](){const _0x411e36={_0x211b65:0x12bc,_0x38c110:0x1750},_0x133197={_0x2eb0d2:0x4f6},_0x1ec027=this[_0x260b5b(_0x411e36._0x211b65,_0x411e36._0x38c110)];function _0x260b5b(_0x25cd14,_0x2e73b2){return _0x2b6441(_0x2e73b2,_0x25cd14-_0x133197._0x2eb0d2);}return _0x1ec027?[_0x1ec027]:[];}get[_0x2b6441(0x842,0x6ae)](){const _0x3ba6d2=this['positionShow'];return _0x3ba6d2?[_0x3ba6d2]:[];}get['orientation'](){function _0x1156e7(_0x435deb,_0x343510){return _0x306755(_0x343510,_0x435deb- -0xe5);}return this[_0x1156e7(0xd73,0x2ad)]();}set[_0x306755(0x949,0x104b)](_0x300445){const _0x3c4f2={_0x1b9997:0x697};this[_0x135eca(0x1f2,-_0x3c4f2._0x1b9997)]=_0x300445;function _0x135eca(_0x5b5618,_0x237f58){return _0x306755(_0x237f58,_0x5b5618- -0x622);}this['updateOrientation']();}get['heading'](){return this['style']['heading']??0x0;}set[_0x2b6441(0x359,0xc30)](_0x4f5b13){const _0x779d7b={_0x4a14af:0x373};this['style'][_0x29c402(_0x779d7b._0x4a14af,0xcdc)]=_0x4f5b13;function _0x29c402(_0x1f17f6,_0x3a5aab){return _0x306755(_0x1f17f6,_0x3a5aab- -0x4f5);}this['updateOrientation']();}get['pitch'](){return this['style']['pitch']??0x0;}set['pitch'](_0x5e3dc5){const _0x9635bb={_0x1ed5b7:0x383,_0x4323da:0x7fc};this[_0x5e3893(_0x9635bb._0x1ed5b7,_0x9635bb._0x4323da)][_0x1d5bb6(0x1281,0x939)]=_0x5e3dc5;function _0x5e3893(_0x1ee3d2,_0x1b5e82){return _0x306755(_0x1b5e82,_0x1ee3d2- -0x4d3);}function _0x1d5bb6(_0x253b0a,_0xc46e06){return _0x306755(_0x253b0a,_0xc46e06- -0x26c);}this['updateOrientation']();}get[_0x2b6441(0x8b1,0x44b)](){const _0x2457b7={_0x7ee994:0x289};function _0x3141b7(_0x2b2ca7,_0x1847a3){return _0x2b6441(_0x1847a3,_0x2b2ca7-_0x2457b7._0x7ee994);}return this[_0x3141b7(0x53e,0xc8d)]['roll']??0x0;}set[_0x2b6441(0xc8,0x44b)](_0xeff0fa){const _0x2c4e9d={_0x160abc:0xab1,_0x46078f:0x9c4,_0x1337a5:0x1175},_0x2b413e={_0x3faa29:0x2c0},_0x47e4d1={_0x14dd81:0xc5};function _0x411995(_0x17de37,_0x29942e){return _0x306755(_0x29942e,_0x17de37-_0x47e4d1._0x14dd81);}this['style'][_0x411995(_0x2c4e9d._0x160abc,0xb96)]=_0xeff0fa;function _0x56a768(_0x5af70b,_0x3b41e5){return _0x306755(_0x3b41e5,_0x5af70b- -_0x2b413e._0x3faa29);}this[_0x411995(_0x2c4e9d._0x46078f,_0x2c4e9d._0x1337a5)]();}get['height'](){const _0xe99008={_0x5e2d54:0x11f0};function _0x33c1ad(_0x3a3eaa,_0x3fadcc){return _0x2b6441(_0x3fadcc,_0x3a3eaa-0x10d);}var _0x44c1cf;return(_0x44c1cf=this[_0x33c1ad(0x13d5,_0xe99008._0x5e2d54)])===null||_0x44c1cf===void 0x0?void 0x0:_0x44c1cf['alt'];}set['height'](_0x38ebaa){const _0x304dd5={_0x44d907:0xaf4},_0x189f84={_0x488fa7:0x13c};this['point']['alt']=_0x38ebaa;function _0x2f383e(_0x452192,_0x3114fa){return _0x2b6441(_0x3114fa,_0x452192-_0x189f84._0x488fa7);}this['position']=this[_0x2f383e(0x1404,_0x304dd5._0x44d907)];}get[_0x306755(0x1755,0x1909)](){const _0x5943dc={_0x5d4cdb:0x1e7},_0x31dfde={_0x5d5298:0x76};function _0x5b9bbf(_0x2d029c,_0x3c0b6f){return _0x2b6441(_0x3c0b6f,_0x2d029c- -_0x31dfde._0x5d5298);}function _0xce8acd(_0x1159cd,_0x35af1c){return _0x306755(_0x1159cd,_0x35af1c- -0x472);}if(this['_entity']){var _0x393918;return this[_0xce8acd(_0x5943dc._0x5d4cdb,0x9f4)]['computeModelMatrix']((_0x393918=this[_0x5b9bbf(0x11b2,0x18d9)])===null||_0x393918===void 0x0||(_0x393918=_0x393918['clock'])===null||_0x393918===void 0x0?void 0x0:_0x393918[_0xce8acd(0xd38,0x73a)],new Cesium__namespace[(_0x5b9bbf(0x55b,0x4f1))]());}else return undefined;}get['debugAxis'](){const _0x5c5a49={_0x48f50c:0xfc4};function _0x3f5d1b(_0x395330,_0x433330){return _0x2b6441(_0x395330,_0x433330-0x347);}return this[_0x3f5d1b(_0x5c5a49._0x48f50c,0x11fe)];}set['debugAxis'](_0x35a4fd){const _0x10b213={_0x37b72a:0x887,_0x1892da:0xeea,_0x3d5540:0xfe0},_0x3f0b28={_0x433a83:0x197f,_0x2adff2:0x2086};this['_debugAxis']=_0x35a4fd;if(!this['debugAxisPrimitive']){const _0x8b31c7=Math['max'](Cesium__namespace['Cartographic']['fromCartesian'](this['positionShow'])['height']*0.06,0x64);this['debugAxisPrimitive']=this['_layer']['primitiveCollection'][_0xaf8064(0x61a,_0x10b213._0x37b72a)](new Cesium__namespace['DebugModelMatrixPrimitive']({'modelMatrix':this['modelMatrix'],'length':_0x8b31c7,'width':0x5})),this['debugAxisPrimitive']['_tooltipConfig']={'content':_0xaf8064(_0x10b213._0x1892da,0xf0b),'options':this['options']['tooltipOptions']},(this['position']instanceof Cesium__namespace['CallbackProperty']||this['position']instanceof Cesium__namespace['SampledPositionProperty'])&&(this[_0xaf8064(0xbc6,0xb65)][_0x482dea(0xff0,0x18bd)]=setInterval(()=>{function _0x414ed6(_0x3a8f3f,_0x2a98e8){return _0xaf8064(_0x3a8f3f,_0x2a98e8-0x591);}function _0x822a2a(_0x3b4f07,_0x2e87d8){return _0xaf8064(_0x2e87d8,_0x3b4f07-0x5fe);}this[_0x414ed6(_0x3f0b28._0x433a83,0x10f6)]['modelMatrix']=this[_0x414ed6(_0x3f0b28._0x2adff2,0x19f3)];},0x12c)),this['bindPickId'](this['debugAxisPrimitive']);}function _0xaf8064(_0x5ac67e,_0x5e8d39){return _0x306755(_0x5ac67e,_0x5e8d39- -0x4a7);}function _0x482dea(_0x13f74c,_0x433998){return _0x306755(_0x433998,_0x13f74c- -0x2c);}this[_0x482dea(_0x10b213._0x3d5540,0xbf0)]['show']=_0x35a4fd;}get[_0x2b6441(-0x452,0xc0)](){const _0x434f53={_0xc98122:0xecd,_0x393a08:0xe02};function _0x4a8263(_0x469b66,_0x3ba9b5){return _0x306755(_0x3ba9b5,_0x469b66- -0x13f);}function _0x58e4ba(_0x124f98,_0x196058){return _0x2b6441(_0x196058,_0x124f98-0x1a2);}return this[_0x4a8263(_0x434f53._0xc98122,0x1457)]?this['debugAxisPrimitive'][_0x58e4ba(0x11fc,_0x434f53._0x393a08)]:0x0;}set[_0x306755(0xbd7,0x661)](_0x518916){!this['debugAxisPrimitive']&&(this['debugAxis']=!![]);function _0x50489d(_0x8a341a,_0x346357){return _0x2b6441(_0x346357,_0x8a341a-0x584);}this[_0x50489d(0xfef,0x151b)]['length']=_0x518916;}get['objectsToExclude'](){if(this['options']['objectsToExclude'])return this['options']['objectsToExclude'];if(this['_objectsToExcludee'])return this['_objectsToExclude'];return undefined;}set[_0x2b6441(0xfb8,0x1350)](_0x465d00){this['_objectsToExclude']=_0x465d00;}['_mountedHook'](){}[_0x2b6441(0x1215,0x88a)](){const _0x38b223={_0x124e7b:0x13fb,_0x1ca030:0xc06,_0x1f3261:0xb1c,_0x1b24ca:0x1969,_0x367091:0xc8a,_0x812406:0x1470};function _0x2345f1(_0x469152,_0xf70908){return _0x2b6441(_0x469152,_0xf70908-0x37c);}function _0x4f70eb(_0x15a7c5,_0x11df01){return _0x306755(_0x11df01,_0x15a7c5- -0x500);}super[_0x2345f1(_0x38b223._0x124e7b,_0x38b223._0x1ca030)](),this[_0x2345f1(0x944,0xde7)]&&(clearInterval(this['debugAxisPrimitive'][_0x4f70eb(_0x38b223._0x1f3261,0x11b0)]),this[_0x2345f1(_0x38b223._0x1b24ca,0x119f)]['primitiveCollection'][_0x4f70eb(0x4bc,_0x38b223._0x367091)](this[_0x4f70eb(0xb0c,0x12d2)]),delete this[_0x4f70eb(0xb0c,_0x38b223._0x812406)]);}[_0x2b6441(-0x4bc,0x3ca)](){const _0xd809c3={_0x4a830d:0x1e46,_0x395f19:0x15cb},_0x3ae987={_0x56e0c3:0x305};function _0x666850(_0x10447d,_0x504c0b){return _0x2b6441(_0x10447d,_0x504c0b-0x310);}this['_entity'][_0x666850(0x194d,0xf66)]=this['_position'];this[_0x4c8a68(0x15b3,0xd07)]&&(this['debugAxisPrimitive']['modelMatrix']=this['modelMatrix']);this[_0x4c8a68(0x5b3,0x174)]();function _0x4c8a68(_0xa7e76,_0xa1ed3d){return _0x306755(_0xa7e76,_0xa1ed3d- -_0x3ae987._0x56e0c3);}this[_0x4c8a68(_0xd809c3._0x4a830d,_0xd809c3._0x395f19)]();}['updateOrientation'](){const _0x18c19f={_0x5e1e27:0x10a1,_0x4b913a:0x2274,_0x3481f6:0x10a1},_0x23bbf2={_0x393a5b:0xee},_0x186141={_0xeb994:0x56};this['_entity'][_0x423440(_0x18c19f._0x5e1e27,0xa4e)]=this['getOrientation']();function _0x423440(_0x380e14,_0x2fc72c){return _0x306755(_0x2fc72c,_0x380e14-_0x186141._0xeb994);}function _0xf9b077(_0x26fb3b,_0x1db1f1){return _0x306755(_0x1db1f1,_0x26fb3b- -_0x23bbf2._0x393a5b);}return this['debugAxisPrimitive']&&(this[_0x423440(0x1062,0x16ae)][_0xf9b077(0x181b,_0x18c19f._0x4b913a)]=this['modelMatrix']),this[_0xf9b077(0xd78,0x141b)][_0x423440(_0x18c19f._0x3481f6,0x125c)];}[_0x2b6441(0xae8,0x8b7)](_0x2e8b36){const _0x4e69cb={_0x56a999:0xbad,_0x457bda:0xf55,_0x31a89b:0x1314,_0x5221b8:0xa36,_0x5ddbc3:0x72e,_0x16dfe7:0x31d,_0x2056b9:0x16c7,_0x9d1aa3:0x1657,_0x1b9318:0x13d,_0x601037:0x56a,_0x109154:0x54e,_0x5a3a7c:0x13f3,_0x54287b:0x125e},_0x5aba2b={_0x408213:0x141b,_0x478fe0:0xe60,_0x4c2e29:0xa76,_0x1c6152:0x92d,_0x2187ab:0x129d,_0x10286a:0x1112,_0x572562:0x129d,_0x51275f:0x92d,_0x3067d6:0x163e,_0x52b55f:0x3c9,_0x19b4ef:0xb5},_0x44f7bb={_0x3d2f7b:0x3df};_0x2e8b36=_0x2e8b36||this['options']['model']||this['style'];let _0x5f24e6=this[_0x5008d9(0x3fe,0x7bf)][_0x5008d9(0x131d,_0x4e69cb._0x56a999)]||this['_orientation'];if(_0x5f24e6){const _0x425d22=_0x2e8b36[_0x1f32b1(-0x224,0x2d6)]||Cesium__namespace[_0x1f32b1(0xb82,0x1536)](_0x2e8b36[_0x1f32b1(0xc67,_0x4e69cb._0x457bda)])||Cesium__namespace[_0x5008d9(0x162a,_0x4e69cb._0x31a89b)](_0x2e8b36['pitch'])||Cesium__namespace['defined'](_0x2e8b36['roll']);if(_0x5f24e6 instanceof Cesium__namespace[_0x5008d9(0x441,0xa14)]&&_0x425d22){const _0x173340=_0x5f24e6,_0x29e8a1=Cesium__namespace['Math'][_0x5008d9(_0x4e69cb._0x5221b8,_0x4e69cb._0x5ddbc3)](_0x2e8b36['heading']??this['heading']),_0xd9b6a6=Cesium__namespace['Math'][_0x5008d9(_0x4e69cb._0x16dfe7,0x72e)](_0x2e8b36[_0x1f32b1(0x1020,0x929)]??this[_0x1f32b1(0x748,0x929)]),_0x851c70=Cesium__namespace[_0x1f32b1(0x12fc,0x10ef)]['toRadians'](_0x2e8b36['roll']??this['roll']);_0x5f24e6=new Cesium__namespace['CallbackProperty'](_0x42f85f=>{const _0x27ecad={_0x15cac1:0x299},_0x2eea88=getPositionValue(this['position'],_0x42f85f),_0x47999c=_0x173340['getValue'](_0x42f85f);function _0x1a7456(_0x441514,_0x28eda5){return _0x1f32b1(_0x441514,_0x28eda5- -_0x27ecad._0x15cac1);}if(!_0x2eea88||!_0x47999c)return null;const _0x580fb3=getHeadingPitchRollByOrientation(_0x2eea88,_0x47999c,this[_0x400e0b(_0x5aba2b._0x408213,_0x5aba2b._0x478fe0)],this['fixedFrameTransform']);function _0x400e0b(_0x5eb4ca,_0x42557a){return _0x5008d9(_0x42557a,_0x5eb4ca-_0x44f7bb._0x3d2f7b);}return _0x2e8b36[_0x1a7456(-_0x5aba2b._0x4c2e29,0x3d)]?(_0x580fb3['heading']+=_0x29e8a1,_0x580fb3[_0x400e0b(_0x5aba2b._0x1c6152,0x817)]+=_0x851c70,_0x580fb3['pitch']+=_0xd9b6a6):(Cesium__namespace[_0x1a7456(0xa5f,_0x5aba2b._0x2187ab)](_0x2e8b36['heading'])&&(_0x580fb3[_0x400e0b(_0x5aba2b._0x10286a,0x1ace)]=_0x29e8a1),Cesium__namespace[_0x1a7456(0xc99,_0x5aba2b._0x572562)](_0x2e8b36[_0x400e0b(_0x5aba2b._0x51275f,0x32f)])&&(_0x580fb3['roll']=_0x851c70),Cesium__namespace['defined'](_0x2e8b36['pitch'])&&(_0x580fb3['pitch']=_0xd9b6a6)),Cesium__namespace[_0x400e0b(_0x5aba2b._0x3067d6,0x1d63)][_0x400e0b(_0x5aba2b._0x52b55f,-0x249)](_0x2eea88,_0x580fb3,this['ellipsoid'],this[_0x1a7456(0x55f,_0x5aba2b._0x19b4ef)]);},![]);}return _0x5f24e6;}const _0x266167=this[_0x1f32b1(0x17a,0x58e)];if(_0x266167==null)return;const _0x43519e=Cesium__namespace[_0x5008d9(_0x4e69cb._0x2056b9,0xecd)][_0x5008d9(0x105d,0x72e)](_0x2e8b36[_0x1f32b1(_0x4e69cb._0x9d1aa3,0xf55)]??0x0),_0x5ee815=Cesium__namespace['Math'][_0x1f32b1(0xef6,0x950)](_0x2e8b36['pitch']??0x0),_0x13ad71=Cesium__namespace['Math'][_0x1f32b1(-_0x4e69cb._0x1b9318,0x950)](_0x2e8b36[_0x5008d9(_0x4e69cb._0x601037,_0x4e69cb._0x109154)]??0x0);function _0x1f32b1(_0x5c6887,_0x591f07){return _0x2b6441(_0x5c6887,_0x591f07-0x325);}function _0x5008d9(_0x71f420,_0x49ebda){return _0x306755(_0x71f420,_0x49ebda- -0x49e);}const _0x3fa70e=new Cesium__namespace['HeadingPitchRoll'](_0x43519e,_0x5ee815,_0x13ad71);return Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x266167,_0x3fa70e,this[_0x1f32b1(_0x4e69cb._0x5a3a7c,_0x4e69cb._0x54287b)],this['fixedFrameTransform']);}['_getGeoJsonGeometry'](_0x83ebe1){const _0x3316fc={_0x4e5f02:0x15d2,_0x321978:0x18fe};function _0x218b7d(_0x4f9f11,_0x3a9020){return _0x2b6441(_0x3a9020,_0x4f9f11-0x181);}return{'type':'Point','coordinates':this[_0x218b7d(_0x3316fc._0x4e5f02,_0x3316fc._0x321978)](_0x83ebe1===null||_0x83ebe1===void 0x0?void 0x0:_0x83ebe1['noAlt'])};}[_0x306755(0x168b,0x16e5)](){const _0x5898b4={_0x1de4af:0xba3};this['_orientation']=undefined,this['property']=null,this[_0x4a7db5(_0x5898b4._0x1de4af,0x466)]=undefined;function _0x4a7db5(_0xb3243d,_0x412cb2){return _0x306755(_0x412cb2,_0xb3243d- -0x654);}return this;}[_0x306755(0x1d01,0x14f9)](){const _0xf2a454={_0x5a0cd7:0x122d,_0x3716d6:0xe22,_0x281d50:0x723,_0x5bbbb4:0xcbd,_0x172dc4:0x100c,_0x28324a:0x6bf,_0x53c10c:0x9f1,_0x17cbe8:0x12bf,_0x2c9d0a:0x932,_0xc9705e:0xced},_0x1e8146={_0x23452d:0x3af,_0xa0ea16:0x18b9,_0x531b98:0xa58,_0x33fa04:0x965,_0x523103:0x1403,_0x12a01a:0x832,_0x6bdbac:0x650,_0x454e44:0xcfa,_0x46ceb1:0x448,_0x1d64cb:0x9aa},_0xa07c9d={_0x459996:0x6bf},_0x583cd0={_0x45e13b:0x60};this['_clampToTilesetFrame']=-0x1,this[_0x4df408(_0xf2a454._0x5a0cd7,_0xf2a454._0x3716d6)]=this['options']['frameRateHeight']??0x1e;function _0x687e4a(_0x596012,_0x5de3f4){return _0x306755(_0x596012,_0x5de3f4-_0x583cd0._0x45e13b);}function _0x4df408(_0x61fecd,_0x3218e3){return _0x2b6441(_0x61fecd,_0x3218e3-_0xa07c9d._0x459996);}this['_maxCacheCount']=this[_0x687e4a(_0xf2a454._0x281d50,_0xf2a454._0x5bbbb4)][_0x687e4a(_0xf2a454._0x172dc4,_0xf2a454._0x28324a)]??0x32;const _0x39320d=new Cesium__namespace[(_0x4df408(0x5e3,_0xf2a454._0x53c10c))](this['options']['referenceFrame'],this['options']['numberOfDerivatives']);_0x39320d['forwardExtrapolationType']=this['options']['forwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],_0x39320d['backwardExtrapolationType']=this[_0x4df408(_0xf2a454._0x17cbe8,0xd7b)]['backwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],!this[_0x4df408(0xe87,_0xf2a454._0x2c9d0a)]&&(this[_0x687e4a(0x212,0x874)]=new Cesium__namespace[(_0x687e4a(0x18c6,0xf12))](_0x39320d),this['_entity']&&(this['_entity']['orientation']=this['getOrientation']())),this[_0x687e4a(0x149c,0x9f4)]=_0x39320d,this[_0x687e4a(_0xf2a454._0xc9705e,0x1257)]=new Cesium__namespace['CallbackProperty'](_0x1540e1=>{if(!this[_0x4870ec(0x142a,0x118e)])return undefined;let _0x26d5f5=_0x39320d['getValue'](_0x1540e1);function _0x4870ec(_0x1337e3,_0x134749){return _0x4df408(_0x134749,_0x1337e3- -0x4bd);}if(!_0x26d5f5)return!this['_last_isFireStop']&&this[_0x3ddbd9(0x14a5,0x149d)]&&Cesium__namespace['JulianDate']['greaterThanOrEquals'](_0x1540e1,this['_stopTime'])&&(this[_0x4870ec(0x4ce,_0x1e8146._0x23452d)]=!![],this[_0x3ddbd9(0x21e,0x5b0)](EventType[_0x4870ec(0x143c,_0x1e8146._0xa0ea16)])),this[_0x4870ec(0xeb1,_0x1e8146._0x531b98)];if(_0x26d5f5&&this['options'][_0x4870ec(0x1430,0x1692)]){this['_clampToTilesetFrame']++;if(!this['_clampToTilesetHeight']||this['_clampToTilesetFrame']%this[_0x4870ec(_0x1e8146._0x33fa04,0xa43)]===0x0){const _0x38fa93=getHeight(this[_0x3ddbd9(_0x1e8146._0x523103,0x14f0)]['scene'],_0x26d5f5);_0x38fa93&&(this['_clampToTilesetHeight']=_0x38fa93);}if(this[_0x4870ec(0x448,_0x1e8146._0x12a01a)]){const _0xf2a90a=Cesium__namespace['Cartographic'][_0x4870ec(_0x1e8146._0x6bdbac,-0x1d)](_0x26d5f5);let _0x5192c1=this['getAddHeight']();!Cesium__namespace['defined'](_0x5192c1)&&(_0x5192c1=0x0),_0x26d5f5=Cesium__namespace['Cartesian3'][_0x3ddbd9(0x132c,0x902)](_0xf2a90a[_0x4870ec(0xdab,0x7fb)],_0xf2a90a[_0x3ddbd9(0xfcc,_0x1e8146._0x454e44)],this[_0x4870ec(_0x1e8146._0x46ceb1,_0x1e8146._0x1d64cb)]+_0x5192c1);}}function _0x3ddbd9(_0x5c81a6,_0x29c052){return _0x4df408(_0x5c81a6,_0x29c052- -0x3f7);}return this['_primitive_label']&&(this['_primitive_label'][_0x3ddbd9(0xbea,0xf1e)]=_0x26d5f5),this[_0x3ddbd9(0x144f,0xf77)]=_0x26d5f5,this['_last_isFireStop']=![],_0x26d5f5;},![]),this[_0x687e4a(0x15e8,0xcbd)]['path']&&(this['position']=_0x39320d);}[_0x2b6441(0x3af,0x316)](_0x39e51a,_0x8ac05c){const _0x2f4a44={_0x16d4df:0xa0d,_0x4ce18f:0xef4,_0x21746b:0x1413,_0x49dcdf:0x1aee,_0x18c6aa:0xdc9,_0x46ea62:0x1084,_0x453e87:0x1894,_0x1ede92:0xd62,_0x108cc2:0x1570,_0x2f3499:0x1128,_0x56a36d:0xf69},_0x5252ec={_0x563605:0x516};var _0x575dce,_0x46c03b;!this[_0x253d90(_0x2f4a44._0x16d4df,_0x2f4a44._0x4ce18f)]&&this['_initSampledPositionProperty']();this['_removeDynamicPosition']();const _0x40f3f7=((_0x575dce=this['_map'])===null||_0x575dce===void 0x0||(_0x575dce=_0x575dce[_0x253d90(_0x2f4a44._0x21746b,_0x2f4a44._0x49dcdf)])===null||_0x575dce===void 0x0?void 0x0:_0x575dce['currentTime'])||Cesium__namespace[_0x40127e(0x1966,0x1002)]['now']();if(!_0x8ac05c)_0x8ac05c=_0x40f3f7;else{if(isNumber(_0x8ac05c))_0x8ac05c=Cesium__namespace['JulianDate']['addSeconds'](_0x40f3f7,_0x8ac05c,new Cesium__namespace[(_0x40127e(0x1966,0x104a))]());else{if(isString(_0x8ac05c))_0x8ac05c[_0x40127e(0x44f,-0x4dc)]('Z')===-0x1?_0x8ac05c=Cesium__namespace['JulianDate']['fromDate'](new Date(_0x8ac05c)):_0x8ac05c=Cesium__namespace['JulianDate'][_0x40127e(0x68f,0x5e9)](_0x8ac05c);else _0x8ac05c instanceof Date&&(_0x8ac05c=Cesium__namespace['JulianDate'][_0x40127e(_0x2f4a44._0x18c6aa,0x9d6)](_0x8ac05c));}}_0x39e51a=LngLatPoint['parse'](_0x39e51a);function _0x40127e(_0x3f8706,_0xf225c4){return _0x2b6441(_0xf225c4,_0x3f8706-_0x5252ec._0x563605);}const _0x1d0a9b=(_0x46c03b=this['_sampledPositionProperty'])===null||_0x46c03b===void 0x0||(_0x46c03b=_0x46c03b['_property'])===null||_0x46c03b===void 0x0?void 0x0:_0x46c03b[_0x40127e(_0x2f4a44._0x46ea62,_0x2f4a44._0x453e87)];if(this['options'][_0x40127e(0x70f,_0x2f4a44._0x1ede92)]&&(_0x1d0a9b===null||_0x1d0a9b===void 0x0?void 0x0:_0x1d0a9b['length'])>0x0&&this['_position']){const _0x2196e2=_0x1d0a9b[_0x1d0a9b[_0x40127e(_0x2f4a44._0x108cc2,0xedc)]-0x1];if(Cesium__namespace['JulianDate'][_0x253d90(0xf91,0x100f)](_0x40f3f7,_0x2196e2)>0.3){let _0x25634d=this['_position'];if(this['_lastDynamicPosition']){const _0x148ba3=0.01;_0x25634d=getOnLinePointByLen(this['_lastDynamicPosition'],this['_position'],_0x148ba3,!![]);}_0x25634d=setPositionsHeight(_0x25634d,_0x39e51a[_0x253d90(0x4e0,0x8cd)]||0x0),this[_0x40127e(0x821,0x996)]['addSample'](_0x40f3f7,_0x25634d);}}const _0x51b384=_0x39e51a['toCartesian']();this['property']['addSample'](_0x8ac05c,_0x51b384);this[_0x253d90(0x1884,0xf8a)]&&(this['options'][_0x253d90(0xe5e,_0x2f4a44._0x2f3499)]||this['type']==='path')&&this['_setAutoAvailability']();function _0x253d90(_0x5426ff,_0x499e5b){return _0x306755(_0x499e5b,_0x5426ff-0x79);}return this['_lastDynamicPosition']=_0x51b384,this[_0x40127e(0x16eb,_0x2f4a44._0x56a36d)]=_0x8ac05c,this;}['_removeDynamicPosition'](){const _0x5451cd={_0x4b4d11:0x174c,_0x10603b:0x1646,_0x22e535:0x8ea,_0x178f2b:0xe0e,_0x3e3e49:0x399};var _0x1be21f;if(this[_0x47537d(_0x5451cd._0x4b4d11,0x110e)]<0x1)return;const _0x262402=(_0x1be21f=this['property'])===null||_0x1be21f===void 0x0||(_0x1be21f=_0x1be21f[_0x47537d(0xb3f,0x128b)])===null||_0x1be21f===void 0x0?void 0x0:_0x1be21f['_times'];function _0x47537d(_0x1ac71e,_0x490a96){return _0x306755(_0x1ac71e,_0x490a96- -0x264);}if(!_0x262402||(_0x262402===null||_0x262402===void 0x0?void 0x0:_0x262402[_0x39f7b4(_0x5451cd._0x10603b,0x16f0)])===0x0)return;function _0x39f7b4(_0x528b46,_0x3c6238){return _0x306755(_0x3c6238,_0x528b46-0x4b);}const _0x4497a3=_0x262402[_0x47537d(_0x5451cd._0x22e535,0x1397)]-this['_maxCacheCount']-0x1;if(_0x4497a3>0x0){const _0x3451a0={};_0x3451a0['start']=_0x262402[0x0],_0x3451a0[_0x39f7b4(0x1826,_0x5451cd._0x178f2b)]=_0x262402[_0x4497a3],this['property'][_0x39f7b4(0xaf3,_0x5451cd._0x3e3e49)](new Cesium__namespace['TimeInterval'](_0x3451a0));}}['_setAutoAvailability'](_0x516f2f){const _0x24671e={_0x2067a1:0xb95,_0x236035:0x15c9,_0x4dcfd9:0xcf,_0x14f75:0x10af,_0x39a106:0x1889,_0x1ccd92:0x1a6f,_0x1ce987:0x13dc,_0x3e1c2b:0x1d8e,_0x3ecb84:0x850,_0x1d2715:0xa4e,_0x3b7d66:0x17ac,_0x41e76d:0xf84,_0x971eaf:0x1275,_0x5566be:0x1a6f,_0x5764ae:0xa5d},_0x107b8a={_0x105b2b:0x57a};var _0x270eb1;const _0x2d7241=this['property']||this['position'];function _0x4e7c51(_0x4288d4,_0x434a81){return _0x306755(_0x434a81,_0x4288d4- -_0x107b8a._0x105b2b);}function _0x495319(_0x35ae72,_0x53f83d){return _0x306755(_0x35ae72,_0x53f83d-0x7e);}const _0x55649e=_0x2d7241===null||_0x2d7241===void 0x0||(_0x270eb1=_0x2d7241['_property'])===null||_0x270eb1===void 0x0?void 0x0:_0x270eb1[_0x4e7c51(_0x24671e._0x2067a1,_0x24671e._0x236035)];if(_0x55649e&&_0x55649e['length']>0x0){var _0x42e86a,_0x490ea5;let _0x4ae744=_0x55649e[0x0],_0x3dc630=_0x55649e[_0x55649e['length']-0x1];((_0x42e86a=this[_0x495319(0x1115,0x1275)])===null||_0x42e86a===void 0x0?void 0x0:_0x42e86a['backwardExtrapolationType'])===Cesium__namespace[_0x495319(0xf46,0x133f)][_0x4e7c51(0x908,0x15)]&&(_0x4ae744=Cesium__namespace['JulianDate']['fromDate'](new Date(0x44c,0x1,0x1)));((_0x490ea5=this['position'])===null||_0x490ea5===void 0x0?void 0x0:_0x490ea5['forwardExtrapolationType'])===Cesium__namespace['ExtrapolationType']['HOLD']&&(_0x3dc630=Cesium__namespace['JulianDate']['fromDate'](new Date(0x834,0x1,0x1)));const _0x4e5165={};_0x4e5165['start']=_0x4ae744,_0x4e5165['stop']=_0x3dc630,this['availability']=new Cesium__namespace[(_0x4e7c51(_0x24671e._0x4dcfd9,0x1dd))]([new Cesium__namespace['TimeInterval'](_0x4e5165)]);_0x516f2f&&(_0x516f2f['availability']=this['_availability']);this[_0x495319(_0x24671e._0x14f75,_0x24671e._0x39a106)]=!![];return;}if(this['_map']){var _0x1b3475,_0x53f0ab;let _0x2d7eea=this['_map']['clock']['currentTime'],_0x6d36fd=Cesium__namespace[_0x495319(0x2212,_0x24671e._0x1ccd92)][_0x4e7c51(0x1208,_0x24671e._0x1ce987)](_0x2d7eea,0x1,new Cesium__namespace[(_0x4e7c51(0x1477,_0x24671e._0x3e1c2b))]());((_0x1b3475=this['position'])===null||_0x1b3475===void 0x0?void 0x0:_0x1b3475[_0x4e7c51(0xab0,_0x24671e._0x3ecb84)])===Cesium__namespace[_0x495319(0xd17,0x133f)][_0x495319(_0x24671e._0x1d2715,0xf00)]&&(_0x2d7eea=Cesium__namespace[_0x4e7c51(0x1477,0x1122)][_0x495319(_0x24671e._0x3b7d66,0x1800)](_0x2d7eea,-0x16d,new Cesium__namespace['JulianDate']()));((_0x53f0ab=this[_0x495319(_0x24671e._0x41e76d,_0x24671e._0x971eaf)])===null||_0x53f0ab===void 0x0?void 0x0:_0x53f0ab['forwardExtrapolationType'])===Cesium__namespace[_0x4e7c51(0xd47,0x16f7)]['HOLD']&&(_0x6d36fd=Cesium__namespace[_0x495319(0x12ff,_0x24671e._0x5566be)]['addDays'](_0x6d36fd,0x16d,new Cesium__namespace['JulianDate']()));const _0x5d0f9e={};_0x5d0f9e['start']=_0x2d7eea,_0x5d0f9e[_0x495319(0x1474,0x1859)]=_0x6d36fd,this['availability']=new Cesium__namespace[(_0x495319(0x736,0x6c7))]([new Cesium__namespace[(_0x4e7c51(0x760,_0x24671e._0x5764ae))](_0x5d0f9e)]),_0x516f2f&&(_0x516f2f['availability']=this['_availability']);}}['_getPopupPosition'](){const _0x2eb112={_0x4263e8:0x1689},_0xc42258={_0x14a560:0x4aa};function _0x301e22(_0xbe2d44,_0x3e044f){return _0x2b6441(_0xbe2d44,_0x3e044f-_0xc42258._0x14a560);}function _0x2aaef9(_0x2e4c13,_0x81b5a9){return _0x2b6441(_0x2e4c13,_0x81b5a9-0x42);}return this['property']||this[_0x2aaef9(_0x2eb112._0x4263e8,0xc98)]||this[_0x301e22(0x753,0x605)];}[_0x306755(0x1a04,0x12d8)](_0x1478fe={}){const _0x4168d4={_0x25e87c:0x1476,_0x4dacad:0x123c,_0x4027d5:0x1936},_0x355094={_0x4bf50e:0x109e};function _0x6affd2(_0x3b38d5,_0x1cd218){return _0x306755(_0x3b38d5,_0x1cd218-0x45);}function _0x303ef5(_0x55af05,_0x449992){return _0x306755(_0x449992,_0x55af05- -0x353);}return getSurfaceHeight(this[_0x303ef5(_0x4168d4._0x25e87c,0x9b5)]['scene'],this[_0x6affd2(0xd8b,_0x4168d4._0x4dacad)],{'objectsToExclude':this['_layer'][_0x6affd2(0x17f6,_0x4168d4._0x4027d5)],..._0x1478fe})['then'](_0x2bfa81=>{const _0x50702d={_0x527b32:0x19e},_0x491128={_0x3e7acd:0x12c};function _0x205625(_0x203e8c,_0x2243b9){return _0x303ef5(_0x2243b9-_0x491128._0x3e7acd,_0x203e8c);}function _0x5df717(_0x459bc6,_0x5c1644){return _0x6affd2(_0x5c1644,_0x459bc6- -_0x50702d._0x527b32);}_0x2bfa81['position']&&(this[_0x5df717(_0x355094._0x4bf50e,0xd21)]=_0x2bfa81[_0x5df717(0x109e,0x1159)]);});}['getCoordinate'](_0xc9e515){const _0x130cce={_0x253e11:0x194a,_0x3c23e5:0x1f21};function _0x26a3e8(_0x16ee5c,_0x4fa65d){return _0x306755(_0x4fa65d,_0x16ee5c-0xe1);}return this['point']?this[_0x26a3e8(_0x130cce._0x253e11,_0x130cce._0x3c23e5)]['toArray'](_0xc9e515):[];}['setCallbackPosition'](_0x276271){const _0x366a2e={_0x42920f:0x1be};function _0x559e13(_0x45c3ab,_0x3abc33){return _0x306755(_0x3abc33,_0x45c3ab- -_0x366a2e._0x42920f);}return this['_setPositionsToCallback'](),_0x276271&&(this[_0x559e13(0x44a,0xe0f)]=LngLatPoint['toCartesian'](_0x276271)),this['_position_draw'];}['_setPositionsToCallback'](){const _0x309945={_0x4e20f5:0x13};function _0x4ae54d(_0x11b24e,_0x4c31c0){return _0x2b6441(_0x4c31c0,_0x11b24e-0x21f);}function _0x192d74(_0x34f712,_0x12f27d){return _0x306755(_0x34f712,_0x12f27d-_0x309945._0x4e20f5);}if(this['_isCallbackPositions'])return;this[_0x192d74(0xcd2,0x1619)]=!![],this[_0x192d74(-0x2c7,0x61b)]=this['positionShow'],this['position']=new Cesium__namespace['CallbackProperty'](_0x896fe7=>{return this['_updateLabelPosition'](this['_position_draw']),this['_position_draw'];},![]),this['updateAttrForDrawing']&&this['updateAttrForDrawing'](!![]),this['_updateOutlineToCallback'](),this['_updateLabelPosition'](this['_position_draw']);}[_0x2b6441(0x350,0xcf)](){const _0x3bc10f={_0x5c615d:0x44,_0x5d5be1:0x596},_0x257c7c={_0x276138:0x39b};function _0x5b7549(_0x4a2098,_0x2519e3){return _0x2b6441(_0x2519e3,_0x4a2098-0x42c);}if(!this['_isCallbackPositions'])return;this['_isCallbackPositions']=![];function _0x268d5d(_0x237962,_0x347ee2){return _0x2b6441(_0x347ee2,_0x237962-_0x257c7c._0x276138);}this['_position']=this[_0x5b7549(0x493,-_0x3bc10f._0x5c615d)],this['_point']=LngLatPoint['fromCartesian'](this['_position']),delete this[_0x268d5d(0x402,_0x3bc10f._0x5d5be1)],this[_0x5b7549(0xcf1,0x1043)]&&(this['_entity']['position']=this['_position']);}[_0x306755(0xdc2,0x671)](){const _0x2932fb={_0x3cae37:0xfa4,_0x2ce546:0x43,_0x15a73d:0x9d4,_0x38411e:0xdf6,_0x19b599:0x69a,_0x44b40b:0x96a};this[_0xfcd64a(_0x2932fb._0x3cae37,0xe4b)]=this[_0xfcd64a(0x66e,0x232)]['drawShow'];function _0xfcd64a(_0x16db4a,_0x50b683){return _0x306755(_0x50b683,_0x16db4a- -0x5ef);}this['_map']['on'](EventType['mouseMove'],this[_0xfcd64a(0xc3b,0xc47)],this);this['_drawAddEventType']&&this['_map']['on'](this['_drawAddEventType'],this[_0xfcd64a(0x4ec,_0x2932fb._0x2ce546)],this);function _0x21ad75(_0x11ee36,_0x5c5243){return _0x2b6441(_0x11ee36,_0x5c5243-0x430);}this['_drawEndEventType']&&this[_0xfcd64a(0x331,_0x2932fb._0x15a73d)]!==EventType[_0x21ad75(0x1695,_0x2932fb._0x38411e)]&&this[_0x21ad75(0x102f,0x1658)]['on'](this['_drawEndEventType'],this[_0x21ad75(_0x2932fb._0x19b599,_0x2932fb._0x44b40b)],this);}[_0x2b6441(0xd7b,0x355)](){const _0x19f029={_0x432ac8:0x805,_0x540e8d:0x584,_0x5df16f:0x1153,_0x10a3e1:0x1456,_0x37d834:0x29e,_0x40eac4:0x6bd,_0x2ce9c8:0x1dc,_0x198500:0xd04,_0x19c8a6:0x112c,_0x1085be:0x709,_0x550370:0x156,_0x3ab8fd:0x64b,_0x19fbae:0x15c,_0x183166:0x12be},_0x4cabf9={_0x282985:0x2d5},_0x437b8c={_0x39cdbf:0x263};function _0x1c86d0(_0x90f796,_0x4a7c68){return _0x306755(_0x4a7c68,_0x90f796- -_0x437b8c._0x39cdbf);}this['_map']['off'](EventType[_0x1c86d0(_0x19f029._0x432ac8,_0x19f029._0x540e8d)],this['_onMouseMoveHandler_point'],this);this[_0x1c86d0(_0x19f029._0x5df16f,_0x19f029._0x10a3e1)]&&this['_map']['off'](this['_drawAddEventType'],this['_onClickHandler_point'],this);this[_0x1c86d0(0x6bd,-_0x19f029._0x37d834)]&&this[_0x1c86d0(_0x19f029._0x40eac4,-_0x19f029._0x2ce9c8)]!==EventType[_0x1c86d0(_0x19f029._0x198500,_0x19f029._0x19c8a6)]&&this['_map'][_0x1c86d0(_0x19f029._0x1085be,-_0x19f029._0x550370)](this[_0x52602b(0x563,_0x19f029._0x3ab8fd)],this[_0x1c86d0(0x878,_0x19f029._0x19fbae)],this);function _0x52602b(_0x464835,_0x3f2b2c){return _0x306755(_0x464835,_0x3f2b2c- -_0x4cabf9._0x282985);}this[_0x52602b(0x1ba5,_0x19f029._0x183166)]=!![];}[_0x2b6441(0x791,0xc89)](_0x473dac){const _0x3ac2de={_0x311863:0xe44,_0x6a5e2a:0x1067,_0x5d087b:0x57d,_0x2280f3:0xa31},_0x2fa747=_0x473dac[_0x16bcfc(_0x3ac2de._0x311863,_0x3ac2de._0x6a5e2a)];function _0x16bcfc(_0x3cf789,_0x49b13c){return _0x306755(_0x3cf789,_0x49b13c- -0x107);}_0x2fa747&&(this[_0x16bcfc(-0x57d,0x501)]=_0x2fa747,this[_0x16bcfc(0x5cb,_0x3ac2de._0x5d087b)]=!![]);this['_map'][_0x5baf64(0xc6a,0x1536)](_0x473dac['endPosition'],this['_draw_tooltip']||this[_0x5baf64(0x14dd,_0x3ac2de._0x2280f3)]['getLangText']('_单击完成绘制'));function _0x5baf64(_0x23e651,_0x1b7181){return _0x306755(_0x1b7181,_0x23e651- -0x2ec);}this['fire'](EventType['drawMouseMove'],{..._0x473dac,'drawType':this['type'],'graphic':this},!![]);}[_0x2b6441(0x73,0x53a)](_0x282a17){const _0x59e07a={_0x377671:0x1681,_0x3bfe11:0xba2,_0x5055d9:0x975},_0x592654={_0x434e95:0x8f};function _0x32bd9d(_0x36d9f5,_0x573ae1){return _0x2b6441(_0x36d9f5,_0x573ae1-0x6ce);}const _0x45fb47=_0x282a17[_0x32bd9d(_0x59e07a._0x377671,0x129b)];_0x45fb47&&(this['_position_draw']=_0x45fb47);function _0x56fdbc(_0x54794e,_0x1a6138){return _0x2b6441(_0x54794e,_0x1a6138-_0x592654._0x434e95);}this[_0x32bd9d(_0x59e07a._0x3bfe11,0x735)]&&(this['_hadRemoveLastMovePoint']=![],this[_0x56fdbc(_0x59e07a._0x5055d9,0xe3e)]());}}class EditPoly extends EditBase{set[_0x2b6441(0x12e5,0x13f8)](_0x5e2e1f){const _0x318fdd={_0x46056d:0x59f,_0x14820c:0x10fe},_0x3204ee={_0x491a57:0x1d9},_0x4e539b={_0x327eac:0x48};function _0x12d3c7(_0x4b1dc3,_0x3b1521){return _0x306755(_0x4b1dc3,_0x3b1521- -_0x4e539b._0x327eac);}function _0x570e3b(_0x2b5f5b,_0x176ddd){return _0x2b6441(_0x176ddd,_0x2b5f5b-_0x3204ee._0x491a57);}this[_0x12d3c7(0xb81,_0x318fdd._0x46056d)][_0x12d3c7(_0x318fdd._0x14820c,0x1339)]=_0x5e2e1f;}get[_0x2b6441(0x1c87,0x13f8)](){const _0x4b7858={_0x5b1b33:0x11};function _0xdde7e(_0x41ac2e,_0x4b6d48){return _0x2b6441(_0x4b6d48,_0x41ac2e- -_0x4b7858._0x5b1b33);}return this['_graphic'][_0xdde7e(0xdcf,0x1675)]||this['_graphic']['_positions']||[];}get['hasClosure'](){function _0x27e72b(_0xccea2a,_0x457599){return _0x2b6441(_0x457599,_0xccea2a-0x580);}return this['style'][_0x27e72b(0x1778,0x147c)];}get['hasMidPoint'](){const _0x4337ac={_0x4f1477:0xea1};function _0x2d335a(_0x5a6d2c,_0x4057be){return _0x306755(_0x5a6d2c,_0x4057be-0xa4);}return this['positions'][_0x2d335a(_0x4337ac._0x4f1477,0x169f)]<this['_graphic']['_maxPointNum']&&(this['_graphic']['hasMidPoint']??!![]);}get['center'](){return centerOfMass(this['positions']);}[_0x2b6441(0xdac,0xa55)](){const _0x1d896b={_0x2de3b1:0x1a39,_0xdce861:0xb7f,_0x4d8cd8:0xe72,_0x47f594:0x1329,_0x343367:0xe88,_0x1dcedc:0x605,_0x1fd3eb:0x58d},_0x492b47={_0x1dced9:0x29f},_0x36b865={_0x48d497:0x58a,_0x441a30:0xad},_0x3e14b0={_0x57ffb4:0x38d,_0x270524:0x654},_0x16f8ef={_0x56800e:0x115e,_0x4dfbb7:0x97f,_0x476104:0xaf4},_0x2c35d3={_0x365c0d:0x1394,_0x52c7f3:0xaf1,_0x445f6d:0x2da,_0x5ddf22:0xb69,_0x6e09a0:0xdb3,_0xa96ab7:0x9d5,_0x31c0b7:0xdca,_0xb52376:0x1109,_0x463703:0x753,_0x5a667d:0x1212,_0x2aa167:0xf2c,_0x549e1e:0x11aa,_0x39ed4d:0x9d5,_0x1a0fbc:0x10a9,_0x2639ef:0xc74},_0x58cc37={_0x5e62f3:0x49d},_0x2e0bf3=this[_0x1488cd(0x148a,_0x1d896b._0x2de3b1)];function _0x2d0314(_0x3c5b9b,_0x2b21c1){return _0x306755(_0x2b21c1,_0x3c5b9b- -0xe6);}function _0x1488cd(_0x3993c5,_0x2afb56){return _0x306755(_0x2afb56,_0x3993c5- -0x50f);}for(let _0x1f0a79=0x0,_0x550420=_0x2e0bf3['length'];_0x1f0a79<_0x550420;_0x1f0a79++){const _0x171fe3=this[_0x1488cd(_0x1d896b._0xdce861,0xdb7)](_0x2e0bf3[_0x1f0a79]),_0x5cd52e=this[_0x2d0314(0x605,0x745)]({'position':_0x171fe3,'onDrag':(_0x1ba485,_0xc65bd1)=>{const _0xc2c2cf={_0x9e43a2:0x101};var _0x1b4739;_0xc65bd1=this['updatePositionsHeightByAttr'](_0xc65bd1),_0x1ba485[_0x313b36(0x2ea,0xc74)]=_0xc65bd1;function _0x313b36(_0x1bad0d,_0x15de56){return _0x2d0314(_0x15de56- -_0x58cc37._0x5e62f3,_0x1bad0d);}this[_0x313b36(0x156e,0x1416)][_0x1ba485[_0x313b36(0x90b,0x9d5)]]=_0xc65bd1;function _0x165ff1(_0x444149,_0x40425c){return _0x2d0314(_0x40425c-_0xc2c2cf._0x9e43a2,_0x444149);}if(((_0x1b4739=this[_0x165ff1(_0x2c35d3._0x365c0d,_0x2c35d3._0x52c7f3)])===null||_0x1b4739===void 0x0?void 0x0:_0x1b4739[_0x165ff1(0xdff,0x1616)])>0x0)return;if(this['hasMidPoint']){let _0x45e1e6,_0x5a50ee,_0x21719b;if(this[_0x313b36(_0x2c35d3._0x445f6d,_0x2c35d3._0x5ddf22)]||!this['hasClosure']&&_0x1ba485[_0x165ff1(0xf4b,0xf73)]!==0x0){_0x1ba485['index']===0x0?(_0x45e1e6=_0x550420*0x2-0x1,_0x5a50ee=_0x550420-0x1):(_0x45e1e6=_0x1ba485[_0x313b36(_0x2c35d3._0x6e09a0,_0x2c35d3._0xa96ab7)]*0x2-0x1,_0x5a50ee=_0x1ba485['index']-0x1);const _0x1c5cb4=_0x2e0bf3[_0x5a50ee];_0x21719b=getMidpoint(_0xc65bd1,_0x1c5cb4,this['options'][_0x165ff1(0xc11,_0x2c35d3._0x31c0b7)]),_0x21719b=this[_0x165ff1(_0x2c35d3._0xb52376,0x10a9)](_0x21719b),this[_0x313b36(_0x2c35d3._0x463703,0xe7e)][_0x45e1e6][_0x165ff1(0xb54,_0x2c35d3._0x5a667d)]=_0x21719b;}(this['hasClosure']||!this[_0x313b36(_0x2c35d3._0x2aa167,0xb69)]&&_0x1ba485[_0x313b36(0x1078,0x9d5)]!==_0x550420-0x1)&&(_0x1ba485[_0x313b36(_0x2c35d3._0x549e1e,_0x2c35d3._0x39ed4d)]===_0x550420-0x1?(_0x45e1e6=_0x1ba485['index']*0x2+0x1,_0x5a50ee=0x0):(_0x45e1e6=_0x1ba485['index']*0x2+0x1,_0x5a50ee=_0x1ba485['index']+0x1),_0x21719b=getMidpoint(_0xc65bd1,_0x2e0bf3[_0x5a50ee],this[_0x313b36(0xcc4,0x6da)]['midPointFraction']),_0x21719b=this[_0x165ff1(0xcb2,_0x2c35d3._0x1a0fbc)](_0x21719b),this['draggers'][_0x45e1e6]['position']=_0x21719b);}if(this[_0x165ff1(0x1d0,0x9f3)]){let _0x5e13a3=this['center'];_0x5e13a3=this['updatePositionsHeightByAttr'](_0x5e13a3),this['_draggerMove'][_0x313b36(0xe52,_0x2c35d3._0x2639ef)]=_0x5e13a3;}},'onDragStart':(_0x26ab74,_0x438215)=>{function _0x1b6c76(_0x1bbb4d,_0x32eec7){return _0x1488cd(_0x1bbb4d-0xf5,_0x32eec7);}var _0xc815d1;function _0x5d737d(_0x44f109,_0x4c3c5a){return _0x2d0314(_0x4c3c5a- -0x71,_0x44f109);}if(((_0xc815d1=this[_0x5d737d(_0x16f8ef._0x56800e,_0x16f8ef._0x4dfbb7)])===null||_0xc815d1===void 0x0?void 0x0:_0xc815d1[_0x1b6c76(0x11e1,0x18ff)])>0x0)for(let _0x259343=0x0,_0x55fda1=this['draggers']['length'];_0x259343<_0x55fda1;_0x259343++){this[_0x1b6c76(0xfe7,_0x16f8ef._0x476104)][_0x259343]['show']=![];}},'onDragEnd':(_0x3aa395,_0x3ef5ee)=>{var _0x270c2d;function _0x20836e(_0x36c490,_0x50cc0){return _0x2d0314(_0x50cc0-0x77,_0x36c490);}((_0x270c2d=this['_heightDraggers'])===null||_0x270c2d===void 0x0?void 0x0:_0x270c2d['length'])>0x0&&this[_0x20836e(_0x3e14b0._0x57ffb4,_0x3e14b0._0x270524)]();}});_0x5cd52e[_0x2d0314(_0x1d896b._0x4d8cd8,_0x1d896b._0x47f594)]=_0x1f0a79,this['draggers']['push'](_0x5cd52e);if(this[_0x2d0314(_0x1d896b._0x343367,0xf17)]&&(this['hasClosure']||!this['hasClosure']&&_0x1f0a79<_0x550420-0x1)){const _0x49ca18=(_0x1f0a79+0x1)%_0x550420;let _0x5ed622=getMidpoint(_0x171fe3,_0x2e0bf3[_0x49ca18],this['options'][_0x2d0314(0xcc9,0x8ce)]);_0x5ed622=this['updatePositionsHeightByAttr'](_0x5ed622);const _0x2f7444=this[_0x2d0314(_0x1d896b._0x1dcedc,0x283)]({'position':_0x5ed622,'type':EditPointType['AddMidPoint'],'tooltip':this['_map']['getLangText']('_增加点'),'onDragStart':(_0xdea1c3,_0x1cf9ca)=>{const _0x749d97={_0x249109:0x111};function _0x1a585b(_0x3874bf,_0x408cb2){return _0x1488cd(_0x408cb2-_0x749d97._0x249109,_0x3874bf);}this['positions'][_0x1a585b(_0x36b865._0x48d497,_0x36b865._0x441a30)](_0xdea1c3['index'],0x0,_0x1cf9ca);},'onDrag':(_0x516569,_0x2f2910)=>{function _0x24a3ee(_0x2a1cae,_0x588536){return _0x2d0314(_0x588536- -_0x492b47._0x1dced9,_0x2a1cae);}this['positions'][_0x516569[_0x24a3ee(0x2c9,0xbd3)]]=_0x2f2910;},'onDragEnd':(_0x4bfad2,_0x55315a)=>{this['_fireAddPoint'](_0x4bfad2,_0x55315a),this['updateDraggers']();}});_0x2f7444['index']=_0x49ca18,this['draggers']['push'](_0x2f7444);}}this['_bindMoveAllDragger'](),this[_0x2d0314(0x994,_0x1d896b._0x1fd3eb)]['extrudedHeight']&&!this['isScene2D']&&this['_bindHeightDraggers']();}['_bindMoveAllDragger'](){const _0xa626ef={_0x85107d:0x13cb,_0x337b8a:0x189f,_0x453998:0x1683,_0x5e08e7:0x162a,_0x2a6a05:0x4bb,_0x5eb5c0:0x217,_0x2412b2:0x1588,_0x2faa70:0xebd,_0x5e6100:0x1599,_0x307ff0:0xf35,_0x48017b:0x1b75},_0x182705={_0x400ed1:0x371};if(!this['_graphic']['hasMoveEdit'])return;function _0x41600c(_0x44274b,_0x911d57){return _0x2b6441(_0x911d57,_0x44274b-_0x182705._0x400ed1);}let _0x591bab=this['center'];if(this['positions'][_0x41600c(_0xa626ef._0x85107d,_0xa626ef._0x337b8a)]===0x2){const _0x117ce6=Cesium__namespace['Cartesian3'][_0x41600c(0xced,0x1408)](this['positions'][0x0],this[_0x41600c(0x1769,_0xa626ef._0x453998)][0x1]);_0x591bab=getPositionByDirectionAndLen(_0x591bab,0x5a,_0x117ce6*0.06);}_0x591bab=this[_0x3de941(_0xa626ef._0x5e08e7,0xf0d)](_0x591bab);function _0x3de941(_0x4c7536,_0x1195a3){return _0x2b6441(_0x4c7536,_0x1195a3-0x420);}const _0x1670f3=this[_0x41600c(_0xa626ef._0x2a6a05,_0xa626ef._0x5eb5c0)]({'position':_0x591bab,'type':EditPointType[_0x3de941(_0xa626ef._0x2412b2,_0xa626ef._0x2faa70)],'tooltip':this[_0x41600c(_0xa626ef._0x5e6100,0x1788)][_0x3de941(_0xa626ef._0x307ff0,0xbec)](_0x3de941(_0xa626ef._0x48017b,0x10e1)),'onDragStart':(_0x1a7cde,_0xee112b)=>{_0x591bab=_0xee112b;},'onDrag':(_0x4d6984,_0x4ee109)=>{this['_moveAllPostions'](_0x591bab,_0x4ee109),_0x591bab=_0x4ee109;}});this['_draggerMove']=_0x1670f3,this['draggers']['push'](_0x1670f3);}[_0x2b6441(0x61,0xe4)](_0x1c75bb,_0x46a985){const _0x83e368={_0x407e85:0x8e8,_0x2aba3f:0xcc2,_0x29ed5a:0xc88,_0x41f2b5:0x993,_0x337282:0x1344,_0xdd5a3:0x1207},_0x2deeaa={_0x29182e:0x9d5},_0x2e14c5={_0x7db331:0x145},_0x55fe35={_0x50cffb:0x3ce};var _0x5b92bd;const _0x3c8349=Cesium__namespace[_0x1b31de(_0x83e368._0x407e85,0x5c5)][_0x1b31de(0x27a,_0x83e368._0x2aba3f)](_0x46a985,_0x1c75bb,new Cesium__namespace['Cartesian3']());this['positions']['forEach']((_0x2033b9,_0x2ce2e9,_0x5ab091)=>{const _0x16c39c={_0x2ea6be:0x1f7},_0x2bf0fa=this['updatePositionsHeightByAttr'](Cesium__namespace[_0x4d5ce5(_0x55fe35._0x50cffb,0x164)]['add'](_0x2033b9,_0x3c8349,new Cesium__namespace[(_0x4c3429(0x108,0x439))]()));function _0x4c3429(_0x3906ef,_0x5012fa){return _0x54f19c(_0x5012fa- -0x481,_0x3906ef);}function _0x4d5ce5(_0x18570b,_0x39c2de){return _0x1b31de(_0x39c2de,_0x18570b- -_0x16c39c._0x2ea6be);}this['positions'][_0x2ce2e9]=_0x2bf0fa;});function _0x54f19c(_0x59e745,_0x5ea79f){return _0x306755(_0x5ea79f,_0x59e745- -0x167);}function _0x1b31de(_0x331018,_0x7e51ad){return _0x2b6441(_0x331018,_0x7e51ad-_0x2e14c5._0x7db331);}if(((_0x5b92bd=this['_graphic']['_draw_holes'])===null||_0x5b92bd===void 0x0?void 0x0:_0x5b92bd['length'])>0x0)for(let _0x186734=0x0,_0x5996d7=this['_graphic'][_0x54f19c(_0x83e368._0x29ed5a,0xbcb)]['length'];_0x186734<_0x5996d7;_0x186734++){const _0x3fbcdf=this['_graphic'][_0x1b31de(-0xf7,_0x83e368._0x41f2b5)][_0x186734];_0x3fbcdf['forEach']((_0x14feaf,_0x55e2a5,_0x28d010)=>{function _0x1eb450(_0x94de98,_0x197a11){return _0x54f19c(_0x197a11-0x11b,_0x94de98);}const _0x2d1d44=this['updatePositionsHeightByAttr'](Cesium__namespace[_0x1eb450(0xe95,_0x2deeaa._0x29182e)][_0x1eb450(0xea6,0xce2)](_0x14feaf,_0x3c8349,new Cesium__namespace['Cartesian3']()));function _0x4d8aad(_0x51b93f,_0x3ddd1b){return _0x54f19c(_0x51b93f-0x1de,_0x3ddd1b);}_0x3fbcdf[_0x55e2a5]=_0x2d1d44;});}for(let _0x8dd34c=0x0,_0x29623c=this['draggers']['length'];_0x8dd34c<_0x29623c;_0x8dd34c++){this['draggers'][_0x8dd34c][_0x1b31de(_0x83e368._0x337282,_0x83e368._0xdd5a3)]!==EditPointType[_0x1b31de(0x2d7,0xbe2)]&&(this['draggers'][_0x8dd34c]['position']=this['updatePositionsHeightByAttr'](Cesium__namespace[_0x1b31de(-0x103,0x5c5)]['add'](this['draggers'][_0x8dd34c][_0x54f19c(0x1090,0x1029)],_0x3c8349,new Cesium__namespace['Cartesian3']())));}this['_updateMoveAllHook'](_0x46a985);}['_updateMoveAllHook'](_0x1f965b){}['_bindHeightDraggers'](_0x41cba8){const _0x3f0e47={_0x187424:0x3d6,_0x1dfc24:0xc11,_0x242f36:0xb8a,_0x175c8a:0x13ea},_0x25d46d={_0x25ea38:0x1614,_0x4462e4:0x396,_0x59e46d:0x1163,_0x48a93c:0x8d5,_0x5de9f7:0xf84,_0xb3c417:0xfeb,_0x3f731f:0xde1,_0x11bf04:0xb0c,_0x3d5968:0x5b2},_0x4d313e={_0x595701:0x3f4},_0x1400a0={_0x1f4226:0x1317};if(!this[_0x44c4ca(_0x3f0e47._0x187424,-0x460)]['_hasHeightEdit'])return;this['_heightDraggers']=[];function _0x4d7540(_0x273c00,_0x502835){return _0x2b6441(_0x273c00,_0x502835-0x57f);}_0x41cba8=_0x41cba8||this['positions'];function _0x44c4ca(_0x2f3e37,_0x5b1c51){return _0x2b6441(_0x5b1c51,_0x2f3e37-0x390);}const _0x58a88b=getCesiumValue(this['entityGraphic']['extrudedHeight'],Number,this['_map']['clock'][_0x4d7540(_0x3f0e47._0x1dfc24,_0x3f0e47._0x242f36)]);for(let _0x62e505=0x0,_0x15e84c=_0x41cba8[_0x44c4ca(_0x3f0e47._0x175c8a,0xfa7)];_0x62e505<_0x15e84c;_0x62e505++){const _0x5764f5=setPositionsHeight(_0x41cba8[_0x62e505],_0x58a88b),_0x232414=this['createDragger']({'position':_0x5764f5,'type':EditPointType['MoveHeight'],'tooltip':this[_0x44c4ca(0x15b8,0x103c)][_0x44c4ca(0xb5c,0x1569)]('_修改高度'),'onDrag':(_0x1ecbc6,_0x3f00f3)=>{const _0x3938d1={_0x38c647:0x2c5},_0x4870ca=Cesium__namespace[_0x40d9fe(_0x1400a0._0x1f4226,0x92d)][_0x340aa6(0x13,0xaa3)](_0x3f00f3)['height'];this['entityGraphic']['extrudedHeight']=_0x4870ca;const _0x4d867f=getMaxHeight(this[_0x340aa6(0x15bb,0x1a4d)]);function _0x40d9fe(_0x4c03ab,_0x1d25ec){return _0x4d7540(_0x4c03ab,_0x1d25ec-0x46);}this['style']['diffHeight']=this[_0x40d9fe(0x5dc,0xb2d)](_0x4870ca-_0x4d867f,0x2);function _0x340aa6(_0x59d56f,_0x3a78f2){return _0x44c4ca(_0x3a78f2-_0x3938d1._0x38c647,_0x59d56f);}this['updateHeightDraggers'](_0x4870ca),this[_0x40d9fe(0x154b,0x1646)](),this['fire'](EventType[_0x340aa6(0x7e8,0x64d)]);}});this['draggers']['push'](_0x232414),this['_heightDraggers']['push'](_0x232414);}!this['_updateHeight']&&(this['_updateHeight']=_0x10ff3d=>{function _0xb560d0(_0xa20fb5,_0x4caf19){return _0x4d7540(_0xa20fb5,_0x4caf19-0x3b);}this[_0x1a6c05(0x664,0x18b)]['height']=_0x10ff3d,this['style']['height']=this[_0xb560d0(0x1e6,0xb22)](_0x10ff3d,0x2);const _0x249d9f=this['positions'];for(let _0x11af03=0x0,_0xb7b19c=_0x249d9f[_0xb560d0(0x1201,_0x25d46d._0x25ea38)];_0x11af03<_0xb7b19c;_0x11af03++){_0x249d9f[_0x11af03]=setPositionsHeight(_0x249d9f[_0x11af03],_0x10ff3d);}function _0x1a6c05(_0x70e656,_0x27b407){return _0x4d7540(_0x27b407,_0x70e656- -_0x4d313e._0x595701);}const _0x1f21f6=getCesiumValue(this[_0x1a6c05(0x664,_0x25d46d._0x4462e4)][_0x1a6c05(_0x25d46d._0x59e46d,_0x25d46d._0x48a93c)],Number,this['_map'][_0x1a6c05(_0x25d46d._0x5de9f7,0x1a27)]['currentTime']);for(let _0x4fe17e=0x0,_0x2d3f45=this['draggers']['length'];_0x4fe17e<_0x2d3f45;_0x4fe17e++){const _0x5b817f=this[_0x1a6c05(_0x25d46d._0xb3c417,0x1134)][_0x4fe17e];_0x5b817f['_pointType']===EditPointType['MoveHeight']?_0x5b817f['position']=setPositionsHeight(_0x5b817f['position'],_0x1f21f6):_0x5b817f[_0x1a6c05(_0x25d46d._0x3f731f,_0x25d46d._0x11bf04)]=setPositionsHeight(_0x5b817f['position'],_0x10ff3d);}this[_0xb560d0(-0x1bf,0x8a2)](EventType[_0xb560d0(0x104e,_0x25d46d._0x3d5968)]);});}['updateHeightDraggers'](_0x253e45){const _0x3d87c1={_0x4cd1b2:0x97a,_0x2c9bc4:0x11bc};function _0x2e31d1(_0x533b04,_0x566c4b){return _0x306755(_0x533b04,_0x566c4b- -0x3b);}for(let _0x55d0dc=0x0;_0x55d0dc<this['_heightDraggers']['length'];_0x55d0dc++){var _0x46c9e2;const _0x1a228e=this['_heightDraggers'][_0x55d0dc],_0xb35cc=setPositionsHeight(getPositionValue(_0x1a228e[_0x2e31d1(_0x3d87c1._0x4cd1b2,_0x3d87c1._0x2c9bc4)],(_0x46c9e2=this['_map'])===null||_0x46c9e2===void 0x0?void 0x0:_0x46c9e2['clock']['currentTime']),_0x253e45);_0x1a228e['position']=_0xb35cc;}}['updatePositionsHeightByAttr'](_0x4a4895){const _0x5c95b5={_0x2af599:0x11c6,_0x36497c:0x9b};function _0x54c7c5(_0x5d36b7,_0x186a60){return _0x2b6441(_0x186a60,_0x5d36b7-0x1d3);}function _0x4f293d(_0x19d1cc,_0xcf3e33){return _0x306755(_0xcf3e33,_0x19d1cc- -0x57c);}if(this['clampToGround'])_0x4a4895=getSurfacePosition(this[_0x4f293d(0x124d,_0x5c95b5._0x2af599)][_0x4f293d(0x4e9,0x45d)],_0x4a4895);else this['_graphic'][_0x4f293d(-_0x5c95b5._0x36497c,0x888)]&&(_0x4a4895=this[_0x54c7c5(0x219,-0xf5)]['_updateEditDraggerPositionHeight'](_0x4a4895));return _0x4a4895;}[_0x306755(0x12db,0x105d)](_0x25cf54){const _0x5ba100={_0x4deea8:0xc9e,_0x28fa28:0x23a,_0x527f46:0x1d23,_0x317bb9:0x23d,_0x43f6fb:0x2c3},_0x5a2110={_0x51e64d:0x486};function _0xd0ec29(_0x381c24,_0x29073c){return _0x306755(_0x29073c,_0x381c24- -_0x5a2110._0x51e64d);}super['_updateStyleHook'](_0x25cf54);function _0x160037(_0x7af6b5,_0x197037){return _0x2b6441(_0x197037,_0x7af6b5-0x64d);}(Cesium__namespace['defined'](_0x25cf54['diffHeight'])||Cesium__namespace['defined'](_0x25cf54[_0x160037(_0x5ba100._0x4deea8,_0x5ba100._0x28fa28)])||Cesium__namespace[_0x160037(0x185e,_0x5ba100._0x527f46)](_0x25cf54['clampToGround']))&&this[_0xd0ec29(_0x5ba100._0x317bb9,_0x5ba100._0x43f6fb)]();}}class BasePolyEntity extends BaseEntity{constructor(_0x1287ea={}){const _0x14635d={_0x3a9498:0x23f,_0x390617:0x1429,_0x19462c:0x1030,_0xf43edf:0x24f,_0x316cf2:0x1215,_0x430ce7:0xb95,_0x34e42a:0x453,_0x20f0d4:0x23b,_0x4bd39f:0xe9d,_0x17281f:0x512,_0x2fe517:0x1968,_0xfcb2a1:0x972,_0xb75013:0x13f6,_0xc5caee:0x1357},_0x3f0dc4={_0x45b0f1:0xa1},_0x3a0993={_0xb3dbc5:0x32b};function _0x44203a(_0x570034,_0x446e79){return _0x306755(_0x446e79,_0x570034- -_0x3a0993._0xb3dbc5);}super(_0x1287ea),this[_0x47e913(0x21c,0x931)]=this['options'][_0x47e913(-0x88,_0x14635d._0x3a9498)]??!![],this[_0x44203a(_0x14635d._0x390617,_0x14635d._0x19462c)]=_0x1287ea[_0x44203a(_0x14635d._0xf43edf,0x44e)]??0x2;function _0x47e913(_0x4fb372,_0x5a196e){return _0x2b6441(_0x4fb372,_0x5a196e- -_0x3f0dc4._0x45b0f1);}this['_maxPointNum']=_0x1287ea[_0x44203a(_0x14635d._0x316cf2,_0x14635d._0x430ce7)]??0x270f,this[_0x44203a(_0x14635d._0x34e42a,-_0x14635d._0x20f0d4)]=_0x1287ea[_0x44203a(_0x14635d._0x4bd39f,0x8ac)]??!![],_0x1287ea['positions']&&(this['style'][_0x47e913(_0x14635d._0x17281f,0x65b)]>0x0?this[_0x47e913(_0x14635d._0x2fe517,0x1357)]=bufferPoints(_0x1287ea['positions'],this['style'][_0x44203a(_0x14635d._0xfcb2a1,_0x14635d._0xb75013)],this[_0x47e913(-0x153,0x214)]['bufferSteps']):this[_0x47e913(0x1c62,_0x14635d._0xc5caee)]=_0x1287ea['positions']);}get[_0x2b6441(0x10bb,0xcbc)](){const _0x3ed2df={_0x4f1b29:0xf6c},_0x766486={_0x443f4f:0x2b0};function _0x26b8ee(_0x357b61,_0x28c520){return _0x2b6441(_0x28c520,_0x357b61-_0x766486._0x443f4f);}return this['options'][_0x26b8ee(_0x3ed2df._0x4f1b29,0x183b)]??!![];}get[_0x2b6441(0x1435,0x9cd)](){const _0x242b89={_0x4aa42a:0xf8a};function _0x4837b1(_0x2f5ff2,_0x5ac549){return _0x306755(_0x5ac549,_0x2f5ff2-0x1c);}function _0x144c94(_0x166383,_0x3717cb){return _0x306755(_0x3717cb,_0x166383- -0x5b0);}return this[_0x144c94(0x6ad,0x9dc)][_0x4837b1(_0x242b89._0x4aa42a,0xd85)]??!![];}get[_0x2b6441(0xe65,0xc27)](){const _0x3fe695={_0x14bafb:0x66f};function _0x425d1d(_0x1f212a,_0x31df5e){return _0x2b6441(_0x31df5e,_0x1f212a-_0x3fe695._0x14bafb);}return this[_0x425d1d(0x84c,0xe64)];}get['EditClass'](){return EditPoly;}get[_0x306755(0x44b,0x6fc)](){const _0x5b6ab5={_0x5cfc02:0xb25},_0x5639be={_0x21ee5a:0x94},_0x2816cb={_0x230880:0x53e};function _0x578a42(_0x42bf0d,_0x53e5db){return _0x2b6441(_0x53e5db,_0x42bf0d-_0x2816cb._0x230880);}function _0x14cc74(_0x528608,_0x58f13b){return _0x2b6441(_0x58f13b,_0x528608-_0x5639be._0x21ee5a);}return this[_0x14cc74(0x349,_0x5b6ab5._0x5cfc02)]['closure']?this[_0x578a42(0x1455,0xf37)]:this['centerOfLine'];}get[_0x2b6441(0x4a2,0xf17)](){const _0x5a8bbb={_0x33a0c2:0x80f},_0x32a063={_0x19a330:0x161};function _0x52070b(_0x42b61f,_0x307c9a){return _0x2b6441(_0x42b61f,_0x307c9a-_0x32a063._0x19a330);}return centerOfMass(this[_0x52070b(0xf49,_0x5a8bbb._0x33a0c2)]);}get['centerOfLine'](){const _0x512616={_0x2b6952:0x8a4,_0x1a7786:0x115f,_0x451d85:0x1163,_0x470000:0x903},_0x17f19b={_0x3e9cd8:0x105},_0x1a6e3e=this['positionsShow'];if(!_0x1a6e3e||_0x1a6e3e['length']===0x0)return null;else{if(_0x1a6e3e[_0x27e49a(_0x512616._0x2b6952,_0x512616._0x1a7786)]===0x1)return _0x1a6e3e[0x0];}let _0x53b876;function _0x27e49a(_0x1b3d03,_0x15ee07){return _0x2b6441(_0x1b3d03,_0x15ee07-_0x17f19b._0x3e9cd8);}if(_0x1a6e3e['length']<0xa){const _0x23506d={};_0x23506d['point']=!![],_0x53b876=sliceByMaxDistance(_0x1a6e3e,this['distance']/0x2,_0x23506d);}else _0x53b876=_0x1a6e3e[Math[_0x358c63(_0x512616._0x451d85,0x181c)](_0x1a6e3e['length']/0x2)];if(this['_calculateCzmHeight']&&Cesium__namespace['defined'](this['entityGraphic'][_0x358c63(_0x512616._0x470000,0xbbc)])){const _0x13e67c=getCesiumValue(this['entityGraphic'][_0x358c63(0x14e3,0xbbc)],Number);_0x53b876=setPositionsHeight(_0x53b876,_0x13e67c);}function _0x358c63(_0x7f0075,_0x1a2d83){return _0x2b6441(_0x7f0075,_0x1a2d83-0x56b);}return _0x53b876;}get[_0x2b6441(0x36c,0x97c)](){return getDistance(this['positionsShow']);}get[_0x2b6441(0x513,0x12d)](){return getArea(this['positionsShow']);}get['positions'](){if(this['_getPositions'])return this['_getPositions']();return this['_positions'];}set['positions'](_0x56e986){const _0x5cc876={_0x25ad46:0x7cd,_0x2855a0:0xd19,_0x148858:0xbde,_0x2054d9:0xf5a,_0x22bf23:0xf11,_0x3d78f7:0x88d,_0x35fc6a:0xa6d},_0x652759={_0x2bb4bb:0x21d2,_0x2e8d85:0x60d,_0x423988:0x95c,_0x1590a4:0x1384,_0x175f4d:0x3c3,_0x9eec11:0x522,_0x433865:0x133,_0x3be587:0xaf0},_0x3f2641={_0x2786e7:0x6a0},_0x426fbb={_0x56ab00:0x53a};function _0x2a0260(_0x364d17,_0x2d4280){return _0x2b6441(_0x364d17,_0x2d4280-_0x426fbb._0x56ab00);}if(!_0x56e986||this['isDestroy'])return;function _0x1e0933(_0x53b305,_0xc66b54){return _0x2b6441(_0xc66b54,_0x53b305-_0x3f2641._0x2786e7);}if(Array[_0x2a0260(0x4ff,_0x5cc876._0x25ad46)](_0x56e986)){var _0x57dd24;const _0x18bbf4=[],_0x2281d9=[];_0x56e986[_0x1e0933(0xd3f,0x434)]((_0x49a3af,_0x42020d)=>{const _0x17dc82=LngLatPoint['parse'](_0x49a3af);if(!_0x17dc82||!_0x17dc82['valid']())return;const _0x563298=_0x18bbf4[_0x18bbf4[_0x39af2c(0x1701,_0x652759._0x2bb4bb)]-0x1];if(_0x563298&&_0x563298[_0x4d6723(_0x652759._0x2e8d85,0xc81)](_0x17dc82))return;const _0x48a6c3=this[_0x4d6723(0x7d8,0x47e)](this[_0x39af2c(_0x652759._0x423988,-0x62)],_0x42020d);Cesium__namespace[_0x39af2c(0x18b8,_0x652759._0x1590a4)](_0x48a6c3)&&(_0x17dc82['alt']=_0x48a6c3);const _0x187ad7=this[_0x4d6723(0x18e,_0x652759._0x175f4d)](this[_0x4d6723(-0x27a,_0x652759._0x9eec11)],_0x42020d);function _0x39af2c(_0x41e9a2,_0xf08f75){return _0x2a0260(_0xf08f75,_0x41e9a2-0x16d);}Cesium__namespace['defined'](_0x187ad7)&&(_0x17dc82['alt']=_0x17dc82[_0x4d6723(0x56f,_0x652759._0x433865)]+_0x187ad7);_0x18bbf4[_0x4d6723(0x3ed,0x365)](_0x17dc82);function _0x4d6723(_0x39ec66,_0x20a7d8){return _0x1e0933(_0x20a7d8- -0x433,_0x39ec66);}_0x2281d9[_0x4d6723(-0x657,0x365)](_0x17dc82[_0x39af2c(_0x652759._0x3be587,0xe19)]());}),(_0x57dd24=this['editing'])!==null&&_0x57dd24!==void 0x0&&_0x57dd24['enabled']?this['_positions_draw']=_0x2281d9:(this['_positions_draw']&&this[_0x1e0933(0x76f,_0x5cc876._0x2855a0)](),this[_0x1e0933(0xbd3,0xe04)]=_0x2281d9),this[_0x1e0933(_0x5cc876._0x148858,_0x5cc876._0x2054d9)]=_0x18bbf4;}else this['_positions']=_0x56e986;this['_entity']&&this['_updatePositionsHook'](),this['_getRectangle_cache']&&delete this['_getRectangle_cache'],this[_0x1e0933(0x988,_0x5cc876._0x22bf23)](EventType[_0x1e0933(0x65b,-0x194)],{'positions':this[_0x2a0260(_0x5cc876._0x3d78f7,_0x5cc876._0x35fc6a)]});}get['positionsShow'](){const _0x3bfe26={_0x47c08f:0xbc1,_0x1e2df3:0x15d5,_0x4c7a70:0x1f70,_0x45966c:0xbd6};function _0x2cc628(_0x260fdd,_0x2aded6){return _0x306755(_0x2aded6,_0x260fdd- -0x3c4);}let _0xf010ae=getCesiumValue(this['_positions']);function _0x3b2889(_0x55ce78,_0x1a1ade){return _0x2b6441(_0x1a1ade,_0x55ce78-0x328);}if(_0xf010ae instanceof Cesium__namespace[_0x2cc628(0x10f,_0x3bfe26._0x47c08f)])_0xf010ae=_0xf010ae[_0x2cc628(_0x3bfe26._0x1e2df3,_0x3bfe26._0x4c7a70)];else{if(_0xf010ae instanceof Cesium__namespace[_0x2cc628(_0x3bfe26._0x45966c,0x1378)])_0xf010ae=this['outlinePositions'];else _0xf010ae instanceof Cesium__namespace['Cartesian3']&&(_0xf010ae=[_0xf010ae]);}return _0xf010ae;}get['points'](){const _0x307455={_0x32da12:0x14a0,_0x550a5f:0x16a7,_0x5382b6:0x1058,_0x3c3c6d:0xbfe,_0x187190:0xf24},_0x404aeb={_0x28dfd6:0x4af},_0x15587a={_0x406f45:0x3b2};function _0x9b4f7b(_0x3dd15f,_0x356567){return _0x2b6441(_0x3dd15f,_0x356567-0x6c0);}if(this['_positions']instanceof Cesium__namespace['CallbackProperty']){let _0x31f253;this['_positions_draw']&&Array['isArray'](this['_positions_draw'])?_0x31f253=this[_0x9b4f7b(0x105f,_0x307455._0x32da12)]:(_0x31f253=this['positionsShow'],this['style'][_0x42ba93(0xf21,_0x307455._0x550a5f)]&&_0x31f253['pop']());const _0xa56046=[];_0x31f253['forEach'](function(_0x1c6863){function _0x32acae(_0x19a8b7,_0x53a682){return _0x9b4f7b(_0x53a682,_0x19a8b7- -0x406);}const _0x20b5aa=LngLatPoint['parse'](_0x1c6863);if(!_0x20b5aa)return;_0xa56046[_0x32acae(_0x15587a._0x406f45,-0x325)](_0x20b5aa);}),this[_0x42ba93(_0x307455._0x5382b6,0x9ed)]=_0xa56046;}function _0x42ba93(_0x2b3066,_0x322306){return _0x2b6441(_0x2b3066,_0x322306-_0x404aeb._0x28dfd6);}return!this['_points']&&(this[_0x9b4f7b(0x272,_0x307455._0x3c3c6d)]=LngLatArray[_0x42ba93(0xe49,_0x307455._0x187190)](this['_positions'])),this['_points'];}get['coordinates'](){return this['getCoordinates']();}get[_0x306755(0x1c3d,0x1419)](){const _0x49e7fa={_0x490e2a:0x687};function _0x3afed3(_0x43f393,_0x3addc9){return _0x306755(_0x43f393,_0x3addc9-0xa5);}function _0x502527(_0x268fe7,_0x1c738c){return _0x2b6441(_0x268fe7,_0x1c738c-0x234);}return Cesium__namespace['Rectangle'][_0x3afed3(_0x49e7fa._0x490e2a,0x1114)](this[_0x502527(0xd63,0x162c)]);}[_0x306755(0x1075,0x1096)](){const _0x2df8cd={_0x35d895:0x700,_0x4e7862:0x761},_0x7f88c={_0x57a095:0x3};function _0x48b77f(_0x509e3f,_0x52753d){return _0x2b6441(_0x52753d,_0x509e3f- -_0x7f88c._0x57a095);}function _0x122cc2(_0x48ecac,_0xcd0ef5){return _0x2b6441(_0xcd0ef5,_0x48ecac-0x227);}return this[_0x122cc2(_0x2df8cd._0x35d895,_0x2df8cd._0x4e7862)][_0x48b77f(0x13f5,0x149d)];}['_mountedHook'](){}['_updatePositionsHook'](){this['_updateLabelPosition'](),this['_updateEditDraggers']();}['_getGeoJsonGeometry'](_0x251ff5){const _0x302af8={_0x34968c:0x1726,_0x31fca5:0x14e7};function _0x41ab15(_0x4a1a52,_0x31993c){return _0x2b6441(_0x4a1a52,_0x31993c-0x63b);}return{'type':'LineString','coordinates':this[_0x41ab15(_0x302af8._0x34968c,_0x302af8._0x31fca5)](_0x251ff5===null||_0x251ff5===void 0x0?void 0x0:_0x251ff5['noAlt'])};}[_0x2b6441(0x5e8,0xeac)](_0x40d903){const _0x1bfc45=[];return this['points']['forEach'](_0xa5d7ea=>{_0x1bfc45['push'](_0xa5d7ea['toArray'](_0x40d903));}),_0x1bfc45;}['isInPoly'](_0x5800c3){return isInPoly(_0x5800c3,this['positionsShow']);}[_0x306755(0xd18,0x12d8)](_0x352748={}){const _0x52f460={_0x5d9ecb:0x1850},_0x21e5eb={_0x5bbc57:0x21},_0x9a568f={..._0x352748};_0x9a568f['map']=this[_0x582616(0x1540,0x1019)];function _0x48d961(_0x1639d6,_0x36d00b){return _0x2b6441(_0x36d00b,_0x1639d6- -_0x21e5eb._0x5bbc57);}function _0x582616(_0x277bff,_0x325861){return _0x2b6441(_0x325861,_0x277bff-0x318);}return _0x9a568f[_0x48d961(0x13d7,_0x52f460._0x5d9ecb)]=this['positionsShow'],computeSurfacePoints(_0x9a568f)[_0x582616(0x107a,0x14d8)](_0x14ea6f=>{return!_0x14ea6f['noHeight']&&(this['positions']=_0x14ea6f['positions']),_0x14ea6f;});}['setCallbackPositions'](_0x5e1850){const _0x5b01d8={_0x2f0166:0xe78,_0x4c074e:0x931,_0x4f1058:0x18f,_0x33a5e3:0x6a6,_0x4facd8:0xdad,_0x755f9:0x2031,_0x160777:0x1576,_0x4070cb:0x1908,_0x18f32c:0x1027},_0x9a0fef={_0x4fd022:0x57};function _0x308cf6(_0x3051c7,_0x1e2045){return _0x2b6441(_0x1e2045,_0x3051c7-_0x9a0fef._0x4fd022);}this['_setPositionsToCallback']();function _0x3c4791(_0x4b7c68,_0x1ec809){return _0x2b6441(_0x4b7c68,_0x1ec809-0x247);}return _0x5e1850&&(this[_0x308cf6(0xe37,0x11ef)]=LngLatArray[_0x3c4791(_0x5b01d8._0x2f0166,_0x5b01d8._0x4c074e)](_0x5e1850),this[_0x308cf6(_0x5b01d8._0x4f1058,-0x5ca)]&&this[_0x308cf6(_0x5b01d8._0x33a5e3,_0x5b01d8._0x4facd8)]&&(this['_positions_show']=this['getShowPositions'](this[_0x3c4791(0x1608,0x1027)])),this[_0x3c4791(_0x5b01d8._0x755f9,_0x5b01d8._0x160777)]()),this[_0x3c4791(_0x5b01d8._0x4070cb,_0x5b01d8._0x18f32c)];}['_setPositionsToCallback'](){const _0x4ad012={_0x238cc5:0x1adf,_0x5d6fda:0x176f,_0x602525:0x7f8,_0x560af9:0x1103},_0x3ea6ad={_0x2dc86a:0x70a};if(this[_0x5daf37(_0x4ad012._0x238cc5,_0x4ad012._0x5d6fda)])return;this['_isCallbackPositions']=!![];function _0x495baf(_0x24676f,_0xab3e18){return _0x2b6441(_0xab3e18,_0x24676f-0x299);}let _0x2e8ec7=getCesiumValue(this[_0x495baf(0x7cc,0xb69)]);if(_0x2e8ec7 instanceof Cesium__namespace['PolygonHierarchy'])_0x2e8ec7=_0x2e8ec7['positions'];else _0x2e8ec7 instanceof Cesium__namespace[_0x5daf37(_0x4ad012._0x602525,_0x4ad012._0x560af9)]&&(_0x2e8ec7=this['outlinePositions']);this[_0x495baf(0x1079,0x1917)]=_0x2e8ec7||this['positionsShow']||[],this['positions']=new Cesium__namespace['CallbackProperty'](_0x48a2ae=>{return this['_positions_CallbackProperty']();},![]),this['_updateOutlineToCallback'](),this['updateAttrForDrawing']&&this['updateAttrForDrawing'](!![]);function _0x5daf37(_0x1cc315,_0x2afd99){return _0x2b6441(_0x1cc315,_0x2afd99-_0x3ea6ad._0x2dc86a);}this['_updateLabelPosition']();}['_positions_CallbackProperty'](){const _0x344562={_0x32f9ac:0x97f,_0x123bea:0x1216};function _0x5aca51(_0x1d465f,_0x137610){return _0x2b6441(_0x1d465f,_0x137610-0x436);}return this[_0x5aca51(_0x344562._0x32f9ac,_0x344562._0x123bea)];}['_cancelPositionsCallback'](){const _0x4de9b1={_0x1b2254:0x9cd,_0x22590d:0x974,_0x157dd2:0x1789};function _0xa831f0(_0x4b9607,_0x53a599){return _0x306755(_0x4b9607,_0x53a599- -0x160);}function _0x4772f2(_0x4e27da,_0xa623cb){return _0x306755(_0x4e27da,_0xa623cb- -0x8e);}if(!this[_0xa831f0(0x19f1,0x14a6)])return;this[_0x4772f2(0x1362,0x1578)]=![],this[_0xa831f0(_0x4de9b1._0x1b2254,_0x4de9b1._0x22590d)]=this['_positions_draw'],this['_points']=LngLatArray['toPoints'](this['_positions_draw']),delete this['_positions_draw'],this['_entity']&&(this['_updatePositionsHook'](),this[_0x4772f2(0x21d1,_0x4de9b1._0x157dd2)]());}['_startDrawHook'](){const _0x1bb07a={_0x2dfd67:0x69a,_0x4e33c8:0x1380,_0x36b983:0x983,_0x667d2a:0x13de},_0x1c2752={_0xc2a7e9:0x3cb},_0x342bef={_0x2855c4:0x2f9};this['_map']['on'](EventType['mouseMove'],this[_0x5666f3(0x512,_0x1bb07a._0x2dfd67)],this);this[_0x2334da(_0x1bb07a._0x4e33c8,0xfeb)]&&this['_map']['on'](this['_drawAddEventType'],this['_onClickHandler'],this);function _0x5666f3(_0x8830b6,_0x28134f){return _0x2b6441(_0x28134f,_0x8830b6-_0x342bef._0x2855c4);}this[_0x5666f3(0x678,_0x1bb07a._0x36b983)]&&this['_map']['on'](this['_drawEndEventType'],this[_0x5666f3(_0x1bb07a._0x667d2a,0x15dd)],this);function _0x2334da(_0xd916f5,_0x2489c4){return _0x306755(_0xd916f5,_0x2489c4- -_0x1c2752._0xc2a7e9);}(this['options']['hasDrawDelPoint']??!![])&&this['_map']['on'](this['_drawDelEventType'],this['_onRightClickHandler'],this);}[_0x2b6441(0x125,0x355)](){const _0x4ce142={_0x11ef6a:0xfb,_0x369bf3:0x1086,_0x52218a:0xcac,_0x28c692:0xc98,_0x550e6e:0x703},_0xb02998={_0x36a72:0x269};this['_map']['off'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);function _0x56c42b(_0x3ee221,_0x2922e0){return _0x2b6441(_0x3ee221,_0x2922e0-0x24d);}function _0x50e242(_0x496247,_0x42c23e){return _0x306755(_0x496247,_0x42c23e- -_0xb02998._0x36a72);}this['_drawAddEventType']&&this[_0x56c42b(0xc33,0x1475)][_0x56c42b(_0x4ce142._0x11ef6a,0x618)](this['_drawAddEventType'],this['_onClickHandler'],this),this['_drawEndEventType']&&this['_map']['off'](this[_0x50e242(0x88c,0x6b7)],this[_0x50e242(_0x4ce142._0x369bf3,0x141d)],this),(this[_0x50e242(0xb46,0x9f4)][_0x56c42b(_0x4ce142._0x52218a,_0x4ce142._0x28c692)]??!![])&&this['_map'][_0x50e242(0xc30,_0x4ce142._0x550e6e)](this['_drawDelEventType'],this['_onRightClickHandler'],this);}['_getExSmallTooltip'](_0xad8783,_0x42310f=''){const _0x40fd9b={_0x4a6dcb:0x70e,_0x5807c8:0x160,_0x44f251:0xe32,_0x173261:0x154f,_0x5aac31:0xcad,_0x231721:0x151,_0x59fafe:0x150d,_0x10b8a7:0x112b,_0x4dde1f:0xc9c,_0x2e073e:0xae0,_0x55ab94:0x127a,_0x2d5c66:0x5f4};if(this[_0x7d537a(_0x40fd9b._0x4a6dcb,_0x40fd9b._0x5807c8)]['drawShowMeasure']===![])return _0x42310f;const _0xf88133=this[_0x7d537a(_0x40fd9b._0x44f251,_0x40fd9b._0x173261)],_0x466a6f=_0xf88133['length'];function _0x86c4d4(_0x25fc33,_0xfb3684){return _0x306755(_0xfb3684,_0x25fc33- -0x2bc);}if(_0x466a6f<0x2)return _0x42310f;const _0x5adf04={'unit':this['options']['unit'],'getLangText':_0x4ff597=>{return this['_map']['getLangText'](_0x4ff597);},'decimal':this['options'][_0x86c4d4(0x1552,_0x40fd9b._0x5aac31)]},_0x16844c=formatDistance(this['distance'],_0x5adf04);function _0x7d537a(_0x142dfb,_0x1c4f03){return _0x2b6441(_0x1c4f03,_0x142dfb-0x52);}if(_0xad8783['index']===0x0)return _0x7d537a(_0x40fd9b._0x231721,0x5d8)+this[_0x86c4d4(_0x40fd9b._0x59fafe,0x1dec)]['getLangText'](_0x86c4d4(_0x40fd9b._0x10b8a7,0x1725))+':'+_0x16844c;const _0x139e64=_0xad8783[_0x86c4d4(_0x40fd9b._0x4dde1f,0x587)]??_0x466a6f-0x1,_0x32c473=formatDistance(Cesium__namespace['Cartesian3'][_0x86c4d4(0xc61,_0x40fd9b._0x2e073e)](_0xf88133[_0x139e64],_0xf88133[_0x139e64-0x1]),_0x5adf04);return'<br\x20/>'+this['_map'][_0x7d537a(0x81e,0xa76)]('_总长')+':'+_0x16844c+'\x20(+'+this[_0x7d537a(_0x40fd9b._0x55ab94,0xd62)][_0x86c4d4(0xab1,_0x40fd9b._0x2d5c66)]('_距离')+':'+_0x32c473+')';}}class BasePointPrimitive extends BasePrimitive{constructor(_0x31c324={}){const _0x3bb0e5={_0x5b8753:0x1a92,_0x75d72a:0x1d0e,_0x1685ec:0x1a02,_0xa1795e:0x172d,_0x390cdb:0x123b,_0x3df272:0x94f,_0x287e15:0x93a,_0x3954c5:0x1874,_0xfd2da:0x9d3,_0xae7d0e:0xb1a,_0xfd77b3:0x12d9,_0x35b18e:0xaa6,_0x2530b6:0x134c,_0x26d177:0xadd};function _0x139e82(_0x9c3e8e,_0x519a58){return _0x2b6441(_0x9c3e8e,_0x519a58-0x3e2);}function _0x4664a2(_0x358ce8,_0x3e3e23){return _0x306755(_0x3e3e23,_0x358ce8-0xf9);}super(_0x31c324),this[_0x4664a2(0x106c,0x181d)]=this['options']['hasEdit']??!![];_0x31c324['positions']&&(this['positions']=_0x31c324[_0x4664a2(_0x3bb0e5._0x5b8753,_0x3bb0e5._0x75d72a)]);if(_0x31c324['position'])this[_0x139e82(0x19a6,0x1038)]=_0x31c324['position'];else{if(_0x31c324[_0x4664a2(_0x3bb0e5._0x1685ec,_0x3bb0e5._0xa1795e)]){const _0xf23be6=_0x31c324['modelMatrix'];this['_position']=Cesium__namespace['Matrix4'][_0x139e82(_0x3bb0e5._0x390cdb,0xaad)](_0xf23be6,new Cesium__namespace['Cartesian3']()),this['_point']=LngLatPoint['parse'](this['_position']);if(!Cesium__namespace['defined'](this[_0x4664a2(_0x3bb0e5._0x3df272,-0x177)]['scale'])){const _0x2e58fe=Cesium__namespace[_0x4664a2(0xc6b,0x102b)]['getScale'](_0xf23be6,new Cesium__namespace['Cartesian3']());_0x2e58fe&&(_0x2e58fe['x']===_0x2e58fe['y']&&_0x2e58fe['x']===_0x2e58fe['z']?this['style']['scale']=_0x2e58fe['x']:(this[_0x139e82(0x3f2,0x697)]['scaleX']=_0x2e58fe['x'],this['style'][_0x139e82(0x887,0x101f)]=_0x2e58fe['y'],this['style'][_0x4664a2(0x64d,_0x3bb0e5._0x287e15)]=_0x2e58fe['z']));}if(!Cesium__namespace[_0x139e82(_0x3bb0e5._0x3954c5,0x15f3)](this[_0x139e82(_0x3bb0e5._0xfd2da,0x697)]['heading'])){const _0x515b4d=Cesium__namespace[_0x4664a2(0x17f6,0x10cd)]['eastNorthUpToFixedFrame'](Cesium__namespace['Matrix4']['getTranslation'](_0xf23be6,new Cesium__namespace[(_0x4664a2(_0x3bb0e5._0xae7d0e,0x4b8))]()),Cesium__namespace['Ellipsoid']['WGS84'],new Cesium__namespace[(_0x4664a2(0xc6b,0xe7c))]()),_0x588087=Cesium__namespace[_0x4664a2(0xc6b,0xf0e)]['multiply'](Cesium__namespace['Matrix4']['inverse'](_0x515b4d,new Cesium__namespace['Matrix4']()),_0xf23be6,new Cesium__namespace['Matrix4']()),_0x484a71=Cesium__namespace[_0x139e82(0xd9f,0x9b3)]['getRotation'](_0x588087,new Cesium__namespace['Matrix3']()),_0x5ab653=Cesium__namespace['Quaternion']['fromRotationMatrix'](_0x484a71),_0x1d57d0=Cesium__namespace[_0x139e82(0x11ef,_0x3bb0e5._0xfd77b3)][_0x139e82(0xaab,0x902)](_0x5ab653);this['style']['heading']=Cesium__namespace[_0x139e82(0xa2e,0x11ac)]['toDegrees'](_0x1d57d0['heading']),this[_0x4664a2(_0x3bb0e5._0x3df272,_0x3bb0e5._0x35b18e)][_0x4664a2(0xc9e,_0x3bb0e5._0x2530b6)]=Cesium__namespace[_0x4664a2(0x1464,0xfaa)][_0x4664a2(0xf11,0xb6d)](_0x1d57d0['pitch']),this['style'][_0x139e82(_0x3bb0e5._0x26d177,0x82d)]=Cesium__namespace['Math']['toDegrees'](_0x1d57d0['roll']);}}}}get['position'](){const _0x2d714d={_0x166586:0x5db,_0x130432:0x743,_0x309d14:0xcbc},_0xb1f94a={_0x83de07:0x3b9},_0x61bf5d={_0x42eaf2:0x6b1};if(this['_position'])return this['_position'];function _0x16ffef(_0x5a8672,_0x5b676c){return _0x2b6441(_0x5a8672,_0x5b676c-_0x61bf5d._0x42eaf2);}function _0x5c9184(_0x38518f,_0x26b0b6){return _0x306755(_0x38518f,_0x26b0b6- -_0xb1f94a._0x83de07);}if(this[_0x5c9184(-0x2bf,_0x2d714d._0x166586)]){var _0x1b8740;return this['property']['getValue']((_0x1b8740=this['_map'])===null||_0x1b8740===void 0x0||(_0x1b8740=_0x1b8740['clock'])===null||_0x1b8740===void 0x0?void 0x0:_0x1b8740[_0x16ffef(_0x2d714d._0x130432,_0x2d714d._0x309d14)]);}}set['position'](_0x2cab4b){const _0x1bbf3b={_0x4ce346:0x4c3,_0x12d8e2:0x5d6,_0x5ac486:0xd2b,_0x2e35d4:0x47c,_0x1885b4:0x1144,_0x59ef52:0xee8,_0xced5c2:0xed5,_0x176fe2:0x12f4,_0x568b9c:0x14e7,_0x1b27f7:0x13aa,_0x2e0ab7:0x1782,_0x29d310:0x4c8};var _0x20b3d1;function _0x3252b1(_0x2d76c5,_0x31986e){return _0x2b6441(_0x2d76c5,_0x31986e-0x50d);}if(this[_0x1e76b8(_0x1bbf3b._0x4ce346,0x841)])return;if(this['setAjaxPostion'](_0x2cab4b))return this[_0x1e76b8(_0x1bbf3b._0x12d8e2,_0x1bbf3b._0x5ac486)];if(this[_0x3252b1(0x16ed,0x1418)](_0x2cab4b))return this[_0x3252b1(_0x1bbf3b._0x2e35d4,0xe2f)];this['_point']=LngLatPoint[_0x3252b1(_0x1bbf3b._0x1885b4,0x173c)](_0x2cab4b);if(this['_point']){const _0x14ac72=this['getSetHeight']();Cesium__namespace['defined'](_0x14ac72)&&(this['_point']['alt']=_0x14ac72);const _0x19ceb2=this['getAddHeight']();Cesium__namespace['defined'](_0x19ceb2)&&(this['_point']['alt']+=_0x19ceb2);}function _0x1e76b8(_0x4105df,_0x4d159e){return _0x306755(_0x4105df,_0x4d159e- -0x198);}this['_position']=(_0x20b3d1=this['_point'])===null||_0x20b3d1===void 0x0?void 0x0:_0x20b3d1[_0x3252b1(_0x1bbf3b._0x59ef52,0x956)]();this['options'][_0x3252b1(_0x1bbf3b._0xced5c2,0x1875)]&&delete this[_0x3252b1(_0x1bbf3b._0x176fe2,0xbc9)][_0x1e76b8(_0x1bbf3b._0x568b9c,0x1771)];if(this['czmObject'])this['_updatePositionsHook']();else this['_updatePositionsHook_noCzmObject']&&this['_updatePositionsHook_noCzmObject']();this['_primitive_label']&&this['_updateLabelPosition'](),this['_editing_entity']&&(this[_0x1e76b8(0x1b18,_0x1bbf3b._0x1b27f7)]['position']=this[_0x1e76b8(_0x1bbf3b._0x2e0ab7,0xd2b)]),this['_getRectangle_cache']&&delete this['_getRectangle_cache'],this['fire'](EventType[_0x3252b1(-0x3d1,_0x1bbf3b._0x29d310)],{'position':this[_0x3252b1(0x13f4,0xe2f)]});}get['positionsShow'](){return this['positions'];}get['positionShow'](){if(this['isEditing']){var _0x4e2e69;const _0x549fd8=(_0x4e2e69=this['_editing_entity'])===null||_0x4e2e69===void 0x0?void 0x0:_0x4e2e69['positionShow'];if(_0x549fd8)return _0x549fd8;}return this['_position'];}get[_0x306755(0x13fc,0x1869)](){if(this['isEditing']){var _0x4f3203;const _0x5c36d9=(_0x4f3203=this['_editing_entity'])===null||_0x4f3203===void 0x0?void 0x0:_0x4f3203['point'];if(_0x5c36d9)return _0x5c36d9;}return this['_point'];}get[_0x306755(0xa98,0x1367)](){return this['getCoordinate']();}get['center'](){const _0x5ce9f8={_0x5d1073:0xe85};function _0x46c2ce(_0x1fa48c,_0x4acf14){return _0x2b6441(_0x1fa48c,_0x4acf14-0x1a6);}return this[_0x46c2ce(_0x5ce9f8._0x5d1073,0xdfc)];}get['centerPoint'](){const _0x10430a={_0x4294a2:0x1984};function _0x7bef13(_0x4d280e,_0xea8ab8){return _0x306755(_0xea8ab8,_0x4d280e- -0x15b);}return this[_0x7bef13(0x170e,_0x10430a._0x4294a2)];}get[_0x2b6441(0xa97,0x651)](){const _0x27b529={_0x213bf4:0x1709};var _0x1f1def;function _0x19a187(_0x3eb460,_0x2ea566){return _0x2b6441(_0x3eb460,_0x2ea566-0x441);}function _0x243689(_0x2caf0d,_0x1a9626){return _0x306755(_0x1a9626,_0x2caf0d-0x7c);}return(_0x1f1def=this[_0x19a187(0x2121,_0x27b529._0x213bf4)])===null||_0x1f1def===void 0x0?void 0x0:_0x1f1def[_0x19a187(0xae3,0x307)];}set[_0x2b6441(0xcaa,0x651)](_0x53f4ad){this['point']['alt']=_0x53f4ad,this['position']=this['point'];}get[_0x2b6441(0x10d2,0x13f8)](){const _0x51e3ac=this['positionShow'];return _0x51e3ac?[_0x51e3ac]:null;}set['positions'](_0x24528b){function _0xa91d0e(_0x1cc783,_0x1e4404){return _0x306755(_0x1cc783,_0x1e4404-0xec);}_0x24528b&&_0x24528b[_0xa91d0e(0x145b,0x16e7)]>0x0&&(this['position']=_0x24528b[0x0]);}get['points'](){const _0x2bc917={_0x420a9f:0x120e},_0x5c96d8={_0x5f26d3:0x11a};function _0x49c131(_0x57b30a,_0x49919d){return _0x2b6441(_0x57b30a,_0x49919d-_0x5c96d8._0x5f26d3);}const _0x991055=this[_0x49c131(_0x2bc917._0x420a9f,0x13e2)];return _0x991055?[_0x991055]:null;}get['coordinates'](){const _0x2b9490=this['coordinate'];return _0x2b9490?[_0x2b9490]:null;}get[_0x2b6441(0x86f,0xaaa)](){const _0x5cc62e={_0x5200c4:0x969},_0x307241={_0x310a2b:0x6f6},_0x1034bc={_0x545b7b:0x45};function _0x50bdc5(_0xd1fd18,_0x2eb569){return _0x306755(_0xd1fd18,_0x2eb569-_0x1034bc._0x545b7b);}function _0x59903d(_0x48aace,_0x207e16){return _0x2b6441(_0x207e16,_0x48aace-_0x307241._0x310a2b);}return this[_0x59903d(_0x5cc62e._0x5200c4,0x13ed)]||this[_0x59903d(0xdb2,0x936)]['orientation'];}set['orientation'](_0x2fa9c5){this['_orientation']=_0x2fa9c5;}get['modelMatrix'](){const _0x42f2d5={_0x83e0ac:0x809,_0x36c950:0x468,_0x4ffb46:0x3c0};function _0x3ce3c0(_0x259587,_0x3e9fcd){return _0x306755(_0x3e9fcd,_0x259587- -0x350);}function _0xfa072b(_0x5bbdba,_0x290f6b){return _0x2b6441(_0x5bbdba,_0x290f6b-0x14d);}return this[_0xfa072b(0xc1a,_0x42f2d5._0x83e0ac)]['modelMatrix']?this['options']['modelMatrix']:this[_0x3ce3c0(0x17a,_0x42f2d5._0x36c950)](this['position'],this[_0xfa072b(0xd59,_0x42f2d5._0x4ffb46)]);}get[_0x2b6441(0xe1f,0xc30)](){const _0x9c8ed4={_0x5a8837:0x195d,_0x2404ed:0xf8f,_0x332a52:0xc10,_0x3594a7:0x1672},_0x1fddb3={_0x273595:0x1c5};function _0x86e27d(_0xdd6901,_0x3bd184){return _0x306755(_0x3bd184,_0xdd6901- -0x208);}function _0x1cae59(_0x524176,_0x53ef75){return _0x2b6441(_0x53ef75,_0x524176-_0x1fddb3._0x273595);}if(Cesium__namespace[_0x1cae59(0x13d6,_0x9c8ed4._0x5a8837)](this['_heading_reality']))return Cesium__namespace[_0x1cae59(_0x9c8ed4._0x2404ed,0x1578)][_0x86e27d(_0x9c8ed4._0x332a52,_0x9c8ed4._0x3594a7)](this['_heading_reality']);return this[_0x86e27d(0x64e,-0x432)]['heading']??0x0;}set['heading'](_0xd8f99e){const _0x506fbd={_0x4196da:0x62d};this['style']['heading']=_0xd8f99e;function _0x5d0343(_0x526802,_0x5aaba9){return _0x2b6441(_0x5aaba9,_0x526802-_0x506fbd._0x4196da);}this[_0x5d0343(0xf85,0xae7)]();}get['pitch'](){const _0x275e27={_0x50f47d:0x165e,_0x932a97:0x1446,_0x8ecafa:0x173a},_0x4cb3e2={_0x29abaa:0x21e},_0x172f62={_0x3e875b:0x123};if(Cesium__namespace['defined'](this[_0x5e8ca0(0x1294,_0x275e27._0x50f47d)]))return Cesium__namespace[_0x5e8ca0(0xfe8,_0x275e27._0x932a97)]['toDegrees'](this[_0x335c7c(0x17bc,_0x275e27._0x8ecafa)]);function _0x335c7c(_0x4019d1,_0x9ef116){return _0x306755(_0x4019d1,_0x9ef116-_0x172f62._0x3e875b);}function _0x5e8ca0(_0x11b5d4,_0x4f4c88){return _0x2b6441(_0x4f4c88,_0x11b5d4-_0x4cb3e2._0x29abaa);}return this['style'][_0x335c7c(0xfb5,0xcc8)]??0x0;}set['pitch'](_0x34fd24){const _0x60d1f8={_0x50aa26:0x973,_0x19bc34:0x1016},_0x310c45={_0xa6d43b:0x25e},_0x1125b1={_0x262674:0x11d};this[_0x14169c(0x13dc,_0x60d1f8._0x50aa26)]['pitch']=_0x34fd24;function _0x14169c(_0x57030c,_0x4820d5){return _0x306755(_0x57030c,_0x4820d5-_0x1125b1._0x262674);}function _0x226081(_0x1ac8d7,_0x1b299c){return _0x2b6441(_0x1ac8d7,_0x1b299c-_0x310c45._0xa6d43b);}this[_0x14169c(0x55e,_0x60d1f8._0x19bc34)]();}get['roll'](){const _0x1a765b={_0x51209a:0x87c,_0x3c7e7c:0x68};function _0x13cedf(_0x140f88,_0x581599){return _0x306755(_0x581599,_0x140f88- -0x187);}function _0x3618d9(_0x2cae27,_0xdd659f){return _0x306755(_0xdd659f,_0x2cae27- -0x59c);}if(Cesium__namespace['defined'](this['_roll_reality']))return Cesium__namespace[_0x3618d9(0xdcf,0x728)][_0x3618d9(_0x1a765b._0x51209a,-_0x1a765b._0x3c7e7c)](this['_roll_reality']);return this[_0x3618d9(0x2ba,0x309)]['roll']??0x0;}set['roll'](_0x945609){this['style']['roll']=_0x945609,this['updateModelMatrix']();}get['objectsToExclude'](){const _0x407c6e={_0x4130ae:0x6e5},_0x4b72b6={_0x10a28e:0x29};if(this[_0x135bb9(0xc98,0x894)][_0x135bb9(0x192c,0x226b)])return this[_0x4031ca(_0x407c6e._0x4130ae,0x875)]['objectsToExclude'];function _0x4031ca(_0x5a85be,_0x3e10fd){return _0x2b6441(_0x3e10fd,_0x5a85be-_0x4b72b6._0x10a28e);}if(this['_objectsToExcludee'])return this['_objectsToExclude'];function _0x135bb9(_0x4c0765,_0xb7ad1e){return _0x2b6441(_0xb7ad1e,_0x4c0765-0x5dc);}return undefined;}set['objectsToExclude'](_0x20cbe7){this['_objectsToExclude']=_0x20cbe7;}get[_0x2b6441(0x976,0x118a)](){const _0xb6973a={_0x582da4:0xe70,_0x54f446:0x98a,_0x1d03d1:0x1af,_0x1e5e92:0x7fb,_0x11bd49:0x5b4,_0x27833f:0xafd},_0x2e9b02={_0x4ecf6b:0xc29,_0x123efd:0x124c},_0x50e48e={_0x3cd960:0x46d};function _0x3632ad(_0x32e99f,_0x2d9c60){return _0x306755(_0x32e99f,_0x2d9c60- -_0x50e48e._0x3cd960);}function _0xd8f389(_0x25188b,_0xa03927){return _0x306755(_0xa03927,_0x25188b-0xae);}return!this[_0xd8f389(_0xb6973a._0x582da4,0xec3)]&&(this[_0xd8f389(0xe70,_0xb6973a._0x54f446)]=this['_layer']['dataSource'][_0x3632ad(_0xb6973a._0x1d03d1,_0xb6973a._0x1e5e92)]['add']({'viewFrom':this['options']['viewFrom']||new Cesium__namespace[(_0x3632ad(0xfea,_0xb6973a._0x11bd49))](-0x1f4,-0x1f4,0xc8),'position':this['property']||new Cesium__namespace[(_0xd8f389(_0xb6973a._0x27833f,0x128))](_0x3edb0d=>{function _0x2a26c9(_0x7fc84a,_0x3f994e){return _0xd8f389(_0x7fc84a- -0x348,_0x3f994e);}return this[_0x2a26c9(_0x2e9b02._0x4ecf6b,_0x2e9b02._0x123efd)];},![]),'point':{'pixelSize':0x2,'color':Cesium__namespace['Color'][_0x3632ad(0x940,0x5f0)]['withAlpha'](0.01)}})),this['_trackedEntity'];}get['debugAxis'](){return this['_debugAxis'];}set['debugAxis'](_0x43d3fb){const _0x2e0596={_0x22a2a3:0x996,_0x17e229:0x10fb,_0xaf8da7:0x11ba,_0x401854:0x10ff,_0x5abe70:0x23b,_0x15661d:0x1c5,_0x1e1c9e:0x17da,_0x517147:0x9d1,_0x39b6ed:0xdc8,_0x4816bd:0x4c0};function _0x5d46d6(_0x414b7e,_0x4a047b){return _0x2b6441(_0x4a047b,_0x414b7e-0x35d);}this['_debugAxis']=_0x43d3fb;if(!this[_0x31ec74(_0x2e0596._0x22a2a3,_0x2e0596._0x17e229)]){const _0x635e9f=Math[_0x31ec74(_0x2e0596._0xaf8da7,0xdf5)](Cesium__namespace['Cartographic']['fromCartesian'](this['positionShow'])['height']*0.06,0x64);this['debugAxisPrimitive']=this['_layer'][_0x31ec74(_0x2e0596._0x401854,0xe38)]['add'](new Cesium__namespace[(_0x5d46d6(0xc25,0x13ff))]({'modelMatrix':this['modelMatrix'],'length':_0x635e9f,'width':0x5})),this['debugAxisPrimitive'][_0x5d46d6(0x343,_0x2e0596._0x5abe70)]={'content':'<span\x20style=\x22color:\x20red;\x22>红色</span>\x20是\x20X轴<br/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:\x20green;\x22>绿色</span>\x20是\x20Y轴<br/>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<span\x20style=\x22color:\x20blue;\x22>蓝色</span>\x20是\x20Z轴','options':this[_0x5d46d6(0xa19,_0x2e0596._0x15661d)][_0x31ec74(0x164b,_0x2e0596._0x1e1c9e)]},this['property']&&(this['debugAxisPrimitive'][_0x5d46d6(0xdd8,_0x2e0596._0x517147)]=setInterval(()=>{this['debugAxisPrimitive']['modelMatrix']=this['modelMatrix'];},0x12c)),this['bindPickId'](this[_0x5d46d6(_0x2e0596._0x39b6ed,_0x2e0596._0x4816bd)]);}function _0x31ec74(_0x5f2fc7,_0x18da42){return _0x2b6441(_0x5f2fc7,_0x18da42-0x690);}this[_0x5d46d6(0xdc8,0x14a8)]['show']=_0x43d3fb;}get['debugAxisLength'](){const _0x378746={_0x2ae4f5:0xec8},_0x137470={_0x2747be:0x45d};function _0xf99239(_0x35e507,_0x1cafb1){return _0x2b6441(_0x1cafb1,_0x35e507-_0x137470._0x2747be);}return this[_0xf99239(_0x378746._0x2ae4f5,0xbd2)]?this['debugAxisPrimitive']['length']:0x0;}set['debugAxisLength'](_0x18bdd8){const _0x45b199={_0x34efc5:0xcc7},_0x3a9b86={_0x4de5df:0x1b8},_0x1c9f9d={_0x49ebae:0x345};!this['debugAxisPrimitive']&&(this[_0x2780e8(-0x69b,0x152)]=!![]);function _0x227c69(_0x4e6c1f,_0x5efe1c){return _0x306755(_0x4e6c1f,_0x5efe1c- -_0x1c9f9d._0x49ebae);}function _0x2780e8(_0x2d2f19,_0x12fbfa){return _0x2b6441(_0x2d2f19,_0x12fbfa-_0x3a9b86._0x4de5df);}this[_0x227c69(0x218,_0x45b199._0x34efc5)]['length']=_0x18bdd8;}[_0x2b6441(0xb6c,0x3fd)](_0x401ad8){const _0x38c438={_0x5d2e62:0x1a25,_0x2f48fd:0x6e6};if(!this[_0x16cae9(0x10d0,_0x38c438._0x5d2e62)]||!this['position'])return;function _0x16cae9(_0x57e03c,_0x5ec67f){return _0x2b6441(_0x5ec67f,_0x57e03c-0xde);}function _0x5a5c56(_0x2f8fe1,_0x291bb7){return _0x2b6441(_0x291bb7,_0x2f8fe1-0x2e9);}this['_forPositionProperty'](this['options'][_0x16cae9(0xd34,0x2a4)]),super[_0x5a5c56(_0x38c438._0x2f48fd,0xbf0)](_0x401ad8);}[_0x306755(0x47e,0xe2b)](_0x53e864){const _0x2aa249={_0x4fce3a:0xb71,_0x334017:0xe26,_0x1a8b37:0xe62,_0x75edee:0xc45,_0x59d82e:0x14e6};this['_trackedEntity']&&(this[_0x1ced81(0x2097,0x16d2)]['trackedEntity']===this['_trackedEntity']&&(this[_0x5adf54(0x15e3,0x1ac6)]['trackedEntity']=undefined),this[_0x5adf54(0x11de,0x1b65)]['dataSource'][_0x1ced81(0xd95,_0x2aa249._0x4fce3a)]['remove'](this['_trackedEntity']),delete this[_0x1ced81(0x1009,0xccb)]);function _0x1ced81(_0xef5941,_0x609082){return _0x306755(_0xef5941,_0x609082- -0xf7);}this[_0x5adf54(_0x2aa249._0x334017,0xf01)]&&(clearInterval(this['debugAxisPrimitive'][_0x1ced81(0xd5f,0xf25)]),this['_layer']['primitiveCollection'][_0x5adf54(0x7d6,0x864)](this[_0x5adf54(0xe26,_0x2aa249._0x1a8b37)]),delete this['debugAxisPrimitive']);function _0x5adf54(_0x4ff2f4,_0x2080c2){return _0x306755(_0x2080c2,_0x4ff2f4- -0x1e6);}super[_0x5adf54(_0x2aa249._0x75edee,_0x2aa249._0x59d82e)](_0x53e864);}[_0x2b6441(0xd63,0x958)](){const _0x4eba65={_0x1f41c3:0x982},_0x16f230={_0xedf954:0x3ed};function _0x2d215c(_0x4078d3,_0x3bbd2a){return _0x2b6441(_0x3bbd2a,_0x4078d3-0xf0);}function _0x4eed56(_0x9d5fbf,_0x43a46f){return _0x2b6441(_0x9d5fbf,_0x43a46f-_0x16f230._0xedf954);}this['_primitive']&&(this[_0x4eed56(_0x4eba65._0x1f41c3,0xd93)]['modelMatrix']=this[_0x2d215c(0x1458,0x1c81)]);}['_getModelMatrix'](_0x5392d3,_0x3fbd17){const _0x3995a2={_0x3988c9:0x93e,_0x367f48:0x46b,_0x13ae91:0x10dd,_0x23eb59:0x50e,_0x287cdb:0xa8d,_0x12e38e:0xa77,_0x5d6433:0x6ae,_0x5977d1:0x5c8,_0x51d779:0xedf,_0x1c1e6b:0xde6,_0x9db0f5:0xa5c,_0xbbe2fb:0xe73,_0x178159:0x14,_0x363302:0x339,_0x44ec4c:0x1312,_0x36882c:0xf50,_0x1d49c1:0xbfa,_0x2d7d1c:0x165b,_0x4ca069:0xe4c,_0x441d64:0x91c,_0x481db6:0x1889,_0x3d8894:0xeee,_0x3c673d:0x7f5};function _0x36145e(_0x5e18e3,_0x17e158){return _0x306755(_0x5e18e3,_0x17e158- -0x28e);}if(!_0x5392d3)return Cesium__namespace['Matrix4']['IDENTITY'];let _0x5b7caa=Cesium__namespace[_0x36145e(0x8b6,0x10dd)]['toRadians'](this['style']['heading']||0x0),_0x467d07=Cesium__namespace['Math'][_0x36145e(0x9e8,_0x3995a2._0x3988c9)](this[_0x5b47f6(0x95d,_0x3995a2._0x367f48)]['pitch']||0x0),_0x46c19c=Cesium__namespace[_0x36145e(0x8c9,_0x3995a2._0x13ae91)][_0x36145e(0xa0f,0x93e)](this['style'][_0x5b47f6(0xd88,0x601)]||0x0);if(_0x3fbd17){if(_0x3fbd17[_0x5b47f6(_0x3995a2._0x23eb59,0x990)]){var _0x13d5b9;_0x3fbd17=_0x3fbd17[_0x36145e(0x8b4,0xaed)]((_0x13d5b9=this[_0x36145e(_0x3995a2._0x287cdb,0x153b)])===null||_0x13d5b9===void 0x0||(_0x13d5b9=_0x13d5b9['clock'])===null||_0x13d5b9===void 0x0?void 0x0:_0x13d5b9[_0x36145e(0x2e,0x91e)]);}if(_0x3fbd17){const _0x5757bf=getHeadingPitchRollByOrientation(_0x5392d3,_0x3fbd17,this['ellipsoid'],this[_0x5b47f6(_0x3995a2._0x12e38e,0x1df)]);this[_0x36145e(_0x3995a2._0x5d6433,_0x3995a2._0x5977d1)]['mergeOrientation']?(_0x5b7caa+=_0x5757bf['heading'],_0x46c19c+=_0x5757bf[_0x36145e(0xcda,0x75e)],_0x467d07+=_0x5757bf['pitch']):(!Cesium__namespace['defined'](this['style'][_0x5b47f6(0x11e5,0xde6)])&&(_0x5b7caa=_0x5757bf[_0x5b47f6(_0x3995a2._0x51d779,_0x3995a2._0x1c1e6b)]),!Cesium__namespace[_0x36145e(_0x3995a2._0x9db0f5,0x1524)](this['style']['roll'])&&(_0x46c19c=_0x5757bf[_0x5b47f6(0x76,0x601)]),!Cesium__namespace[_0x5b47f6(_0x3995a2._0xbbe2fb,0x13c7)](this['style']['pitch'])&&(_0x467d07=_0x5757bf['pitch']));}}this['_heading_reality']=_0x5b7caa,this['_pitch_reality']=_0x467d07;function _0x5b47f6(_0x248029,_0x8880ad){return _0x2b6441(_0x248029,_0x8880ad-0x1b6);}this[_0x5b47f6(_0x3995a2._0x178159,_0x3995a2._0x363302)]=_0x46c19c;const _0x4f20f6=Cesium__namespace[_0x5b47f6(0x9ed,_0x3995a2._0x44ec4c)]['headingPitchRollToFixedFrame'](_0x5392d3,new Cesium__namespace['HeadingPitchRoll'](_0x5b7caa,_0x467d07,_0x46c19c),this['ellipsoid'],this['fixedFrameTransform']);if(Cesium__namespace['defined'](this['scaleX'])&&Cesium__namespace['defined'](this[_0x36145e(0xaec,_0x3995a2._0x36882c)])&&Cesium__namespace['defined'](this['scaleZ']))Cesium__namespace['Matrix4'][_0x36145e(0xd23,0x146e)](_0x4f20f6,new Cesium__namespace[(_0x36145e(_0x3995a2._0x1d49c1,0x793))](this[_0x36145e(_0x3995a2._0x2d7d1c,_0x3995a2._0x4ca069)],this['scaleY'],this[_0x36145e(_0x3995a2._0x441d64,0x2c6)]),_0x4f20f6);else Cesium__namespace[_0x36145e(_0x3995a2._0x481db6,0x1524)](this[_0x36145e(_0x3995a2._0x3d8894,0x5c8)]['scale'])&&Cesium__namespace['Matrix4']['multiplyByScale'](_0x4f20f6,new Cesium__namespace[(_0x5b47f6(_0x3995a2._0x3c673d,0x636))](this['style'][_0x5b47f6(0x1309,0x8e9)],this['style']['scale'],this['style'][_0x5b47f6(0x13bd,0x8e9)]),_0x4f20f6);return _0x4f20f6;}[_0x306755(0xf47,0xe56)](_0x1329f1){const _0x5eba21={_0x58fcee:0x467};function _0x1583d7(_0x5a7650,_0x4aaef4){return _0x306755(_0x4aaef4,_0x5a7650- -0x596);}function _0x17167d(_0x564dc1,_0x36c301){return _0x2b6441(_0x564dc1,_0x36c301-_0x5eba21._0x58fcee);}return{'type':_0x1583d7(0x16c,0xa95),'coordinates':this['getCoordinate'](_0x1329f1===null||_0x1329f1===void 0x0?void 0x0:_0x1329f1[_0x1583d7(0x85a,-0x90)])};}['_forPositionProperty'](_0x3aacc3){const _0x2f9232={_0x5ca0c8:0xddb,_0x482435:0x717,_0x25510b:0x3a0,_0x7b1c3a:0x134e,_0x21489a:0xb05,_0x373451:0xbd8,_0x269e3e:0xa0e,_0x3648eb:0xf7,_0x4e881b:0x615},_0x211ebc={_0x5d8fb3:0x12b};function _0x3d8861(_0x305bb5,_0xaf7723){return _0x306755(_0xaf7723,_0x305bb5-_0x211ebc._0x5d8fb3);}function _0x234e33(_0x14de87,_0x42b0ff){return _0x306755(_0x42b0ff,_0x14de87- -0x546);}return _0x3aacc3 instanceof Cesium__namespace['CallbackProperty']||_0x3aacc3 instanceof Cesium__namespace[_0x234e33(0x38d,_0x2f9232._0x5ca0c8)]?(this[_0x234e33(_0x2f9232._0x482435,-_0x2f9232._0x25510b)][_0x3d8861(_0x2f9232._0x7b1c3a,0xc48)]=this[_0x234e33(0x717,0xa8c)][_0x234e33(0xcdd,0x8e3)]??0x14,this['_orientation']=this['options'][_0x234e33(_0x2f9232._0x21489a,_0x2f9232._0x373451)]||new Cesium__namespace[(_0x234e33(0x96c,_0x2f9232._0x269e3e))](_0x3aacc3),this['property']=_0x3aacc3,this[_0x234e33(_0x2f9232._0x3648eb,_0x2f9232._0x4e881b)](),!![]):![];}['update'](_0x34d08a){const _0x204d01={_0x1c80fd:0x1402};function _0x24c66e(_0x583ced,_0x1d1277){return _0x2b6441(_0x583ced,_0x1d1277-0x5ce);}if(!this['show'])return;this['property']&&(this['_position']=this['property']['getValue'](_0x34d08a['time']),this['czmObject']&&this['_updatePositionsHook'](),this[_0x24c66e(_0x204d01._0x1c80fd,0x1531)]&&this['_updateLabelPosition']()),this['_updateObjectAvailability'](_0x34d08a['time']);}[_0x2b6441(-0x2aa,0x453)](){const _0x5e1044={_0x1cb115:0x7b2,_0x20f4b8:0x164f};function _0x5d1218(_0x5e0d83,_0x3ceee5){return _0x2b6441(_0x3ceee5,_0x5e0d83-0x4d5);}function _0x2c4089(_0x37a7da,_0x13bae3){return _0x306755(_0x37a7da,_0x13bae3- -0x1e2);}return this[_0x2c4089(0x13a,_0x5e1044._0x1cb115)]||this[_0x5d1218(0x112b,_0x5e1044._0x20f4b8)]||this['center'];}['addDynamicPosition'](_0x350ee7,_0x35ce65){const _0x3529f7={_0x4d1950:0x15aa,_0x399242:0x19ff,_0x4dadc7:0x15aa,_0x2c7faa:0x37d},_0x311dea={_0x18d544:0x447};var _0x5d655b,_0x56b2dd;!this['_sampledPositionProperty']&&this['_initSampledPositionProperty']();this[_0x50a4e6(0xfce,0xa86)]();const _0x19f097=((_0x5d655b=this['_map'])===null||_0x5d655b===void 0x0||(_0x5d655b=_0x5d655b['clock'])===null||_0x5d655b===void 0x0?void 0x0:_0x5d655b['currentTime'])||Cesium__namespace[_0x45c584(_0x3529f7._0x4d1950,_0x3529f7._0x399242)]['now']();!_0x35ce65?_0x35ce65=_0x19f097:_0x35ce65=getJulianDate$1(_0x35ce65,_0x19f097);function _0x50a4e6(_0x5145ba,_0x57d07d){return _0x306755(_0x5145ba,_0x57d07d- -0x355);}_0x350ee7=LngLatPoint['parse'](_0x350ee7);function _0x45c584(_0x46a6a1,_0x3ca6f0){return _0x306755(_0x3ca6f0,_0x46a6a1- -_0x311dea._0x18d544);}if(this['clampToGround']){const _0xfbd410={};_0xfbd410['original']=!![],_0x350ee7[_0x50a4e6(0x23a,0x112)]=getHeight(this['_map']['scene'],_0x350ee7,_0xfbd410);}const _0x4196b3=(_0x56b2dd=this['_sampledPositionProperty'])===null||_0x56b2dd===void 0x0||(_0x56b2dd=_0x56b2dd['_property'])===null||_0x56b2dd===void 0x0?void 0x0:_0x56b2dd['_times'];if(this[_0x50a4e6(0xcf1,0x908)][_0x45c584(0x353,0x4cc)]&&(_0x4196b3===null||_0x4196b3===void 0x0?void 0x0:_0x4196b3['length'])>0x0&&this['_position']){const _0x174f42=_0x4196b3[_0x4196b3[_0x50a4e6(0x1463,0x12a6)]-0x1];if(Cesium__namespace[_0x45c584(_0x3529f7._0x4dadc7,0x1247)][_0x45c584(0xad1,0x949)](_0x19f097,_0x174f42)>0.3){let _0x10dca5=this['_position'];if(this['_lastDynamicPosition']){const _0x2c6faf=0.01;_0x10dca5=getOnLinePointByLen(this['_lastDynamicPosition'],this[_0x50a4e6(_0x3529f7._0x2c7faa,0xb6e)],_0x2c6faf,!![]);}_0x10dca5=setPositionsHeight(_0x10dca5,_0x350ee7['alt']||0x0),this[_0x50a4e6(-0x12c,0x557)]['addSample'](_0x19f097,_0x10dca5);}}const _0x229bda=_0x350ee7['toCartesian']();return this['_sampledPositionProperty']['addSample'](_0x35ce65,_0x229bda),this['_lastDynamicPosition']=_0x229bda,this;}['_initSampledPositionProperty'](){const _0x64cad8={_0xe8a27b:0x948,_0x60c115:0x143b,_0x4b856a:0xa48,_0x579107:0x597,_0x55e465:0x948,_0x24c43b:0xb49,_0x110463:0xf75,_0x29b787:0x948,_0x1eb16b:0xb90,_0x30c19f:0xd34,_0x2351c9:0x12da,_0x55bdfd:0x7c2,_0x139f32:0xfc0},_0x46991d={_0x60a3d4:0x1247,_0x37f202:0x162b,_0x3ac451:0x859,_0x4678e9:0x465},_0x59ab7d={_0x436225:0x315};function _0x27c937(_0x14bf54,_0x3c3bac){return _0x2b6441(_0x14bf54,_0x3c3bac-0x66a);}this[_0x27c937(0x12f2,0x14f9)]=-0x1,this['_frameRateHeight']=this[_0xc516fe(0x10cc,_0x64cad8._0xe8a27b)]['frameRateHeight']??0x1e,this[_0x27c937(0x14e4,_0x64cad8._0x60c115)]=this[_0xc516fe(_0x64cad8._0x4b856a,0x948)]['maxCacheCount']??0x32;let _0x3c8597;function _0xc516fe(_0x33786b,_0x2ecab6){return _0x306755(_0x33786b,_0x2ecab6- -_0x59ab7d._0x436225);}this['_sampledPositionProperty']?_0x3c8597=this[_0xc516fe(0x1068,_0x64cad8._0x579107)]:(_0x3c8597=new Cesium__namespace['SampledPositionProperty'](this['options']['referenceFrame'],this[_0xc516fe(0xb21,_0x64cad8._0x55e465)][_0x27c937(_0x64cad8._0x24c43b,_0x64cad8._0x110463)]),_0x3c8597['forwardExtrapolationType']=this[_0xc516fe(0x1fd,_0x64cad8._0x29b787)]['forwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['NONE'],_0x3c8597['backwardExtrapolationType']=this[_0xc516fe(_0x64cad8._0x1eb16b,0x948)]['backwardExtrapolationType']??Cesium__namespace[_0x27c937(0xd2e,0x138a)][_0x27c937(_0x64cad8._0x30c19f,_0x64cad8._0x2351c9)],this['_sampledPositionProperty']=_0x3c8597),this[_0x27c937(_0x64cad8._0x55bdfd,0xa5d)]=new Cesium__namespace[(_0x27c937(0x1548,0xb18))](_0x24637b=>{const _0x3df24e={_0x16a11e:0x6d},_0x2c22be={_0x2d5393:0x443};if(!this['_map'])return undefined;let _0x39a434=_0x3c8597[_0xf9e6dd(_0x46991d._0x60a3d4,0x9f9)](_0x24637b);function _0x4dd483(_0x3a7b07,_0x1eb91e){return _0xc516fe(_0x1eb91e,_0x3a7b07-_0x2c22be._0x2d5393);}function _0xf9e6dd(_0x4a4e2b,_0xe4b314){return _0xc516fe(_0x4a4e2b,_0xe4b314- -_0x3df24e._0x16a11e);}if(_0x39a434&&this['options']['clampToTileset']){this['_clampToTilesetFrame']++;if(!this['_clampToTilesetHeight']||this[_0x4dd483(0x155e,0x1ba0)]%this[_0x4dd483(0xe32,0x724)]===0x0){const _0x5540e6=getHeight(this[_0xf9e6dd(_0x46991d._0x37f202,0x1447)]['scene'],_0x39a434);_0x5540e6&&(this['_clampToTilesetHeight']=_0x5540e6);}if(this['_clampToTilesetHeight']){const _0x36ec92=Cesium__namespace[_0xf9e6dd(-0x150,0x587)][_0x4dd483(0xb1d,0x515)](_0x39a434);let _0x215b32=this['getAddHeight']();!Cesium__namespace['defined'](_0x215b32)&&(_0x215b32=0x0),_0x39a434=Cesium__namespace['Cartesian3'][_0xf9e6dd(0x10ce,_0x46991d._0x3ac451)](_0x36ec92['longitude'],_0x36ec92['latitude'],this[_0xf9e6dd(-0x84,_0x46991d._0x4678e9)]+_0x215b32);}}return _0x39a434;},![]),this['_orientation']=this[_0x27c937(_0x64cad8._0x139f32,0xd26)]['orientation']||new Cesium__namespace['VelocityOrientationProperty'](_0x3c8597),this['bindUpdateEvent']();}['_removeDynamicPosition'](){const _0x53c5f5={_0xfa53bc:0xa99},_0x331a52={_0x3f338c:0x70a};function _0x2cfa11(_0x7099e4,_0x34e4f2){return _0x2b6441(_0x7099e4,_0x34e4f2-_0x331a52._0x3f338c);}var _0x178d3d;if(this['_maxCacheCount']<0x1)return;function _0x2d40c3(_0x51c66c,_0xc345c6){return _0x306755(_0xc345c6,_0x51c66c- -0x1ee);}const _0x33c864=(_0x178d3d=this[_0x2cfa11(0x26,0xa15)])===null||_0x178d3d===void 0x0||(_0x178d3d=_0x178d3d['_property'])===null||_0x178d3d===void 0x0?void 0x0:_0x178d3d['_times'];if(!_0x33c864||_0x33c864['length']===0x0)return;const _0x2bcc32=_0x33c864['length']-this['_maxCacheCount']-0x1;if(_0x2bcc32>0x0){const _0x5cee27={};_0x5cee27[_0x2d40c3(0x96a,_0x53c5f5._0xfa53bc)]=_0x33c864[0x0],_0x5cee27[_0x2d40c3(0x15ed,0x1c8b)]=_0x33c864[_0x2bcc32],this['_sampledPositionProperty']['removeSamples'](new Cesium__namespace['TimeInterval'](_0x5cee27));}}['autoSurfaceHeight'](_0x4f4391={}){const _0x1c232e={_0x4fe5bd:0x1583,_0x5a701b:0x1428,_0x547856:0x106c},_0x588105={_0x20c5a0:0x10dc,_0x4b0d92:0xaa9},_0x1f3a21={_0x314a71:0x2ec},_0x23665a={_0x32d358:0x35b};function _0x257102(_0x2c19f9,_0x40b232){return _0x306755(_0x2c19f9,_0x40b232- -0x4bd);}function _0x4bbdea(_0x49c7c6,_0x397777){return _0x2b6441(_0x397777,_0x49c7c6-_0x23665a._0x32d358);}return getSurfaceHeight(this[_0x4bbdea(_0x1c232e._0x4fe5bd,_0x1c232e._0x5a701b)][_0x257102(_0x1c232e._0x547856,0x5a8)],this['position'],_0x4f4391)[_0x4bbdea(0x10bd,0x17da)](_0x532fb9=>{function _0x405768(_0x4ff365,_0x48faa1){return _0x4bbdea(_0x48faa1- -_0x1f3a21._0x314a71,_0x4ff365);}function _0xc19442(_0x443bd5,_0x294361){return _0x4bbdea(_0x443bd5-0x12b,_0x294361);}_0x532fb9['position']&&(this[_0xc19442(_0x588105._0x20c5a0,_0x588105._0x4b0d92)]=_0x532fb9[_0xc19442(_0x588105._0x20c5a0,0x132c)]);});}[_0x306755(0x232b,0x19f2)](_0x52346c){const _0x54ed46={_0x3571b6:0x447};function _0x11a564(_0x27825f,_0x48afb6){return _0x2b6441(_0x48afb6,_0x27825f-0x72);}return this['point']?this['point'][_0x11a564(0x27e,-_0x54ed46._0x3571b6)](_0x52346c):[];}}class PointEntity extends BasePointEntity{get[_0x306755(0xa32,0xa7a)](){function _0x1c508e(_0x5d6d27,_0x1c5b18){return _0x2b6441(_0x1c5b18,_0x5d6d27-0x495);}var _0x209ae0;return(_0x209ae0=this['_entity'])===null||_0x209ae0===void 0x0?void 0x0:_0x209ae0[_0x1c508e(0x175d,0x2148)];}['_mountedHook'](){const _0xd4cb49={_0x9ea607:0xd0b,_0x464074:0x84b,_0x2e5d9e:0x481,_0x667bb9:0x3a0,_0x15fb1c:0x1844,_0x39146c:0x1699,_0x582e7b:0x496,_0xcf0be2:0x9d7,_0x2d20ac:0x21,_0x16ad58:0xb99,_0x3cdad9:0x85a,_0x5369c0:0x888,_0x479a50:0x1236,_0x46c49c:0x1842,_0x1204ec:0x13dd,_0x57fb9c:0x1149,_0x1ccfb5:0xb4e,_0x54b29f:0xb01,_0x449f68:0x2098,_0x5bf9c5:0x157f,_0x405351:0x877,_0x226761:0xb44,_0x46dae0:0xf33,_0x124f36:0xa10,_0x13f7b3:0x159b,_0x22339b:0x114c},_0x241a2b={_0x2691bb:0x488},_0xf0fb1e={'position':this['position'],'point':PointStyleConver[_0x412c4f(_0xd4cb49._0x9ea607,0xf33)](this['style'])};this['style']['label']&&(_0xf0fb1e['label']=LabelStyleConver[_0x51fe4e(0xc77,_0xd4cb49._0x464074)](this[_0x51fe4e(_0xd4cb49._0x2e5d9e,0x86c)]['label'],{},this[_0x412c4f(_0xd4cb49._0x667bb9,0xbe3)]),!Cesium__namespace['defined'](_0xf0fb1e['label']['heightReference'])&&Cesium__namespace[_0x412c4f(_0xd4cb49._0x15fb1c,_0xd4cb49._0x39146c)](_0xf0fb1e[_0x51fe4e(0x1494,0x1034)]['heightReference'])&&(_0xf0fb1e[_0x51fe4e(_0xd4cb49._0x582e7b,_0xd4cb49._0xcf0be2)][_0x51fe4e(0x845,_0xd4cb49._0x2d20ac)]=_0xf0fb1e[_0x51fe4e(0x1494,_0xd4cb49._0x16ad58)]['heightReference']));this[_0x51fe4e(0x888,_0xd4cb49._0x3cdad9)]['billboard']&&(_0xf0fb1e['billboard']=BillboardStyleConver['toCesiumVal'](this[_0x51fe4e(_0xd4cb49._0x5369c0,_0xd4cb49._0x479a50)][_0x51fe4e(0x136c,_0xd4cb49._0x46c49c)],{},!![]),!Cesium__namespace[_0x51fe4e(_0xd4cb49._0x1204ec,0xbfd)](_0xf0fb1e['billboard'][_0x412c4f(0xe26,0xb01)])&&Cesium__namespace['defined'](_0xf0fb1e[_0x51fe4e(0x1494,_0xd4cb49._0x57fb9c)][_0x51fe4e(0x845,0x1233)])&&(_0xf0fb1e[_0x51fe4e(0x136c,0x1a92)][_0x51fe4e(0x845,0x26e)]=_0xf0fb1e['point']['heightReference']));this['options']['circle']&&(_0xf0fb1e['ellipse']=CircleStyleConver[_0x51fe4e(0xc77,_0xd4cb49._0x1ccfb5)](this['options']['circle'],{},!![]),!Cesium__namespace['defined'](_0xf0fb1e['ellipse']['heightReference'])&&Cesium__namespace['defined'](_0xf0fb1e[_0x412c4f(0x1581,0x1750)][_0x412c4f(0x138e,_0xd4cb49._0x54b29f)])&&(_0xf0fb1e['ellipse'][_0x412c4f(0x69b,0xb01)]=_0xf0fb1e['point']['heightReference']));this['options']['model']&&(_0xf0fb1e['orientation']=this['getOrientation'](this['options'][_0x412c4f(_0xd4cb49._0x449f68,0x183b)]),_0xf0fb1e[_0x51fe4e(0x157f,0x1858)]=ModelStyleConver['toCesiumVal'](this['options']['model'],{},!![]),_0xf0fb1e[_0x51fe4e(_0xd4cb49._0x5bf9c5,0xcb2)][_0x412c4f(0x11a1,_0xd4cb49._0x405351)]={'occlusion':this[_0x412c4f(0x119e,_0xd4cb49._0x226761)]['model']['marsOcclusion'],'callback':(_0x3c3085,_0x4f347e)=>{this['_model']=_0x4f347e;const _0x709df4={};_0x709df4['model']=_0x4f347e,this['fire'](EventType['load'],_0x709df4,!![]);}});function _0x412c4f(_0x3708ed,_0x25a768){return _0x2b6441(_0x3708ed,_0x25a768-_0x241a2b._0x2691bb);}if(this['options']['path']){const _0x5bbbca=PathStyleConver[_0x412c4f(0x488,_0xd4cb49._0x46dae0)](this['options'][_0x51fe4e(_0xd4cb49._0x124f36,0x57b)],{},!![]);!_0x5bbbca['isAll']&&(_0x5bbbca['leadTime']=0x0),_0xf0fb1e[_0x51fe4e(0xa10,0x12cc)]=_0x5bbbca,!this['options']['availability']&&this['_setAutoAvailability'](_0xf0fb1e);}function _0x51fe4e(_0x176d4d,_0x474566){return _0x306755(_0x474566,_0x176d4d- -0x3d5);}this['_entity']=this[_0x51fe4e(_0xd4cb49._0x13f7b3,_0xd4cb49._0x22339b)](_0xf0fb1e);}['_addLabel'](_0x5bbed7){const _0xa305ae={_0x1d7d64:0x568},_0x373958={_0x32fbd9:0x652};this[_0x4c1ce3(0xac2,0xe2d)][_0x4b37af(-0x7de,0x219)]=this['_entity']['label']||{};function _0x4b37af(_0x2a3adb,_0x5609cb){return _0x306755(_0x2a3adb,_0x5609cb- -_0x373958._0x32fbd9);}function _0x4c1ce3(_0x5d869c,_0x3b7c2a){return _0x2b6441(_0x5d869c,_0x3b7c2a-_0xa305ae._0x1d7d64);}LabelStyleConver['toCesiumVal'](_0x5bbed7,this['_entity']['label'],this['attr']);}['_updateStyleHook'](_0x34958a,_0x4636b7){PointStyleConver['toCesiumVal'](_0x34958a,this['entityGraphic']);}[_0x306755(0x81d,0x5d7)](_0x25ed6b,_0x237c96){return PointStyleConver['toJSON'](_0x25ed6b,_0x237c96,!![]);}['_setOptionsHook'](_0x2fc783,_0x33b17b){const _0x3dedf5={_0x48c9e8:0xa87,_0x117763:0x13e7,_0x3af66c:0x1e48,_0x3f31ff:0x42,_0x23ce1c:0xadf},_0x16b2ec={_0xbfec85:0x31b};_0x33b17b[_0x16d657(_0x3dedf5._0x48c9e8,_0x3dedf5._0x117763)]&&ModelStyleConver['toCesiumVal'](_0x2fc783['model'],this['_entity']['model'],!![]);_0x33b17b[_0x478193(0x1426,_0x3dedf5._0x3af66c)]&&BillboardStyleConver[_0x16d657(_0x3dedf5._0x3f31ff,_0x3dedf5._0x23ce1c)](_0x2fc783['billboard'],this['_entity']['billboard'],!![]);_0x33b17b[_0x478193(0xaca,0xad0)]&&PathStyleConver['toCesiumVal'](_0x2fc783['path'],this['_entity']['path'],!![]);function _0x16d657(_0x5f4361,_0x4af705){return _0x2b6441(_0x5f4361,_0x4af705-0x34);}function _0x478193(_0x1298f6,_0x2f3478){return _0x306755(_0x2f3478,_0x1298f6- -_0x16b2ec._0xbfec85);}_0x33b17b['circle']&&CircleStyleConver['toCesiumVal'](_0x2fc783['circle'],this['_entity']['ellipse'],!![]);}['_toJSON_Ex'](_0x5ba89b){const _0xe5b5e5={_0x43620e:0x6d0,_0x1ee220:0x8b9,_0x4b6f7:0xe39,_0x2be837:0x348,_0x5ece85:0x144c,_0x5b08d7:0xb94},_0x28db04={_0x2dfc45:0x350};this[_0x1da6da(0x1068,0xa0c)]['model']&&(_0x5ba89b[_0x1da6da(0xfc5,0x1703)]={},ModelStyleConver[_0x1da6da(_0xe5b5e5._0x43620e,_0xe5b5e5._0x1ee220)](this['options']['model'],_0x5ba89b['model'],!![]));function _0x57e1b4(_0x358128,_0x4bb58b){return _0x2b6441(_0x358128,_0x4bb58b-0x8c);}this[_0x57e1b4(0x1c5,0x748)][_0x57e1b4(0xf48,0x122c)]&&(_0x5ba89b['billboard']={},BillboardStyleConver['toJSON'](this['options'][_0x1da6da(_0xe5b5e5._0x4b6f7,0x14f0)],_0x5ba89b[_0x57e1b4(0xef9,0x122c)],!![]));this['options']['path']&&(_0x5ba89b[_0x1da6da(_0xe5b5e5._0x2be837,0xb94)]={},PathStyleConver[_0x1da6da(0x982,0x8b9)](this['options']['path'],_0x5ba89b[_0x1da6da(_0xe5b5e5._0x5ece85,_0xe5b5e5._0x5b08d7)],!![]));function _0x1da6da(_0x48c65a,_0x57ac62){return _0x2b6441(_0x48c65a,_0x57ac62-_0x28db04._0x2dfc45);}this['options']['circle']&&(_0x5ba89b[_0x57e1b4(0x25f,0x807)]={},CircleStyleConver['toJSON'](this['options']['circle'],_0x5ba89b['circle'],!![]));}[_0x2b6441(0x888,0x418)](_0x31efe5){const _0x4a446d={_0x34f973:0x1042,_0x83735e:0xee7,_0x2fca8d:0x139e,_0x223189:0x40f,_0x5667a9:0x815,_0x3878e7:0xd1a,_0x2146e7:0xe62,_0x425850:0xd2c,_0x3ba3e2:0x1ac,_0xe9782b:0xe44,_0x1f848a:0x24a,_0x396caa:0x1771,_0x3ad919:0x2120,_0xb0f47b:0xfff,_0x316dac:0x1634,_0x15514:0x15bf};function _0x3abddf(_0x418849,_0x5c1920){return _0x2b6441(_0x5c1920,_0x418849-0x554);}this['_entity']['model']&&(this['_entity']['model'][_0x13ba1e(_0x4a446d._0x34f973,0x85e)]=Cesium__namespace[_0x3abddf(_0x4a446d._0x83735e,0x1056)][_0x3abddf(0xa10,_0x4a446d._0x2fca8d)]['withAlpha'](_0x31efe5));this[_0x13ba1e(_0x4a446d._0x223189,_0x4a446d._0x5667a9)][_0x3abddf(0x16f4,_0x4a446d._0x3878e7)]&&(this['_entity']['billboard'][_0x3abddf(_0x4a446d._0x2146e7,_0x4a446d._0x425850)]=Cesium__namespace['Color']['WHITE'][_0x13ba1e(0xa4b,0x12e4)](_0x31efe5));if(this[_0x13ba1e(_0x4a446d._0x3ba3e2,0x815)][_0x13ba1e(-0x1d0,0x794)]){const _0x57d2ce=this['_updateEntityOpacity'](this[_0x13ba1e(0x1095,0x815)][_0x3abddf(0xd98,0x3e3)],_0x31efe5);if(!_0x57d2ce){const _0x1b08ce={...this['options']['path']};_0x1b08ce['globalAlpha']=_0x31efe5,PathStyleConver['toCesiumVal'](_0x1b08ce,this['_entity']['path'],!![]);}}function _0x13ba1e(_0x274041,_0x3888e6){return _0x2b6441(_0x274041,_0x3888e6- -0xb0);}if(this['_entity'][_0x3abddf(0xccf,_0x4a446d._0xe9782b)]){const _0x9850de=this['_updateEntityOpacity'](this['_entity']['circle'],_0x31efe5);if(!_0x9850de){const _0x3f0c59={...this['options'][_0x3abddf(0xccf,_0x4a446d._0x1f848a)]};_0x3f0c59[_0x3abddf(_0x4a446d._0x396caa,_0x4a446d._0x3ad919)]=_0x31efe5,CircleStyleConver[_0x3abddf(_0x4a446d._0xb0f47b,0x9cc)](_0x3f0c59,this['_entity'][_0x3abddf(_0x4a446d._0x316dac,_0x4a446d._0x15514)],!![]);}}}[_0x2b6441(0x7f7,0xafa)](){}['setOpacity'](_0x32be14){const _0x204402={_0x2718a3:0xf80,_0x197c1f:0x18ec};this['style'][_0x1745d3(_0x204402._0x2718a3,_0x204402._0x197c1f)]=_0x32be14;function _0x1745d3(_0x52997e,_0x55a8c9){return _0x306755(_0x52997e,_0x55a8c9-0x12e);}PointStyleConver['setOpacity'](this['entityGraphic'],_0x32be14);}}register$5('point',PointEntity,!![]);class BillboardEntity extends BasePointEntity{get['entityGraphic'](){const _0x116a96={_0x1c92cd:0x12c6,_0x194552:0xe3b};function _0x4e0704(_0x40426f,_0x125432){return _0x2b6441(_0x40426f,_0x125432-0x576);}var _0x174c6a;return(_0x174c6a=this[_0x4e0704(_0x116a96._0x1c92cd,_0x116a96._0x194552)])===null||_0x174c6a===void 0x0?void 0x0:_0x174c6a['billboard'];}get[_0x306755(0x46d,0x6b7)](){const _0x23eabd={_0x58574d:0x1ce};function _0x3d7563(_0x5abe4d,_0x177f78){return _0x2b6441(_0x177f78,_0x5abe4d-0x3ab);}return this[_0x3d7563(0x660,_0x23eabd._0x58574d)]['image'];}set['image'](_0x1a7f30){const _0x4c83b1={_0x4d92d4:0x320},_0x556e19={_0x187300:0x536};this[_0x5917df(_0x4c83b1._0x4d92d4,0xb23)]['image']=_0x1a7f30;function _0x3450b6(_0xdde219,_0x3da10a){return _0x306755(_0xdde219,_0x3da10a- -0x1c0);}function _0x5917df(_0x210814,_0xbce2c7){return _0x306755(_0xbce2c7,_0x210814- -_0x556e19._0x187300);}this['_entity']&&(this[_0x3450b6(0x14a8,0xca6)]['billboard']['image']=_0x1a7f30);}[_0x306755(0x1c0a,0x130c)](){const _0x475304={_0x1cb621:0x519,_0x573b89:0x32a,_0x3c4ccb:0xffd,_0x304fd7:0xbcb,_0x59d641:0x8f1,_0x200f6f:0x16de,_0x370e40:0xcba,_0x2b5e0a:0x19b1,_0x50183c:0x9ed,_0x14113e:0x10a9,_0x4be4b8:0xac1,_0x50fb42:0xe42,_0x2673ea:0x137d,_0x1af260:0xa03,_0x277aa4:0xb,_0xaf2f23:0x889,_0x55094e:0x197c,_0xae9931:0x807,_0x5d61f6:0xcd1,_0x1e7234:0xadc,_0x597c6e:0x19cd},_0x510302={_0x2a0768:0x1d4a},_0x3a14f6={_0x41ed0b:0x5fe},_0x5c1e8c={'position':this['position'],'billboard':BillboardStyleConver['toCesiumVal'](this['style'])},_0x5b0de5=this['style'][_0x5ccdf8(0x81c,0xa44)];_0x5b0de5&&(Cesium__namespace['defined'](this[_0x5ccdf8(0x807,0x123c)]['clampToGround'])&&!Cesium__namespace['defined'](_0x5b0de5['clampToGround'])&&(_0x5b0de5[_0x161014(_0x475304._0x1cb621,0x321)]=this[_0x161014(0x8b3,_0x475304._0x573b89)]['clampToGround']),_0x5c1e8c[_0x5ccdf8(0x81c,0x75c)]=LabelStyleConver[_0x5ccdf8(_0x475304._0x3c4ccb,0x834)](_0x5b0de5,{},this[_0x5ccdf8(0xcad,0x4a5)]));this['options']['point']&&(_0x5c1e8c['point']=PointStyleConver['toCesiumVal'](this['options'][_0x161014(0x18c6,0x118b)],{},!![]),!Cesium__namespace['defined'](_0x5c1e8c['point']['heightReference'])&&Cesium__namespace['defined'](_0x5c1e8c[_0x5ccdf8(0x16f2,0x2091)][_0x5ccdf8(_0x475304._0x304fd7,_0x475304._0x59d641)])&&(_0x5c1e8c['point'][_0x161014(0xc77,0xdb6)]=_0x5c1e8c[_0x5ccdf8(0x16f2,0x1334)]['heightReference']));this['options']['circle']&&(_0x5c1e8c[_0x161014(_0x475304._0x200f6f,0x173f)]=CircleStyleConver['toCesiumVal'](this[_0x161014(_0x475304._0x370e40,0xa04)]['circle'],{},!![]));function _0x161014(_0x5e0b5a,_0x2bc434){return _0x2b6441(_0x2bc434,_0x5e0b5a-_0x3a14f6._0x41ed0b);}this['options']['model']&&(_0x5c1e8c['orientation']=this['getOrientation'](this[_0x5ccdf8(0xc0e,0xad1)]['model']),_0x5c1e8c['model']=ModelStyleConver['toCesiumVal'](this['options'][_0x161014(_0x475304._0x2b5e0a,0x1908)],{},!![]),_0x5c1e8c['model'][_0x161014(_0x475304._0x50183c,0x11ef)]={'occlusion':this['options'][_0x161014(0x19b1,0x1c53)]['marsOcclusion'],'callback':(_0x6f3a75,_0x2f1ce1)=>{function _0x4b4113(_0x5224e8,_0x45753d){return _0x5ccdf8(_0x5224e8-0x186,_0x45753d);}this[_0x4b4113(0x17d1,_0x510302._0x2a0768)]=_0x2f1ce1;const _0x5c9913={};_0x5c9913[_0x3322d7(0x140b,0x178f)]=_0x2f1ce1;function _0x3322d7(_0x109f40,_0x5b572c){return _0x161014(_0x5b572c- -0x222,_0x109f40);}this[_0x4b4113(0x9c0,0xcf5)](EventType['load'],_0x5c9913,!![]);}});function _0x5ccdf8(_0x2160bb,_0x528eb6){return _0x2b6441(_0x528eb6,_0x2160bb-0x552);}if(this['options']['path']){const _0x169718=PathStyleConver[_0x161014(_0x475304._0x14113e,_0x475304._0x4be4b8)](this['options'][_0x161014(_0x475304._0x50fb42,_0x475304._0x2673ea)],{},!![]);!_0x169718['isAll']&&(_0x169718[_0x5ccdf8(_0x475304._0x1af260,-_0x475304._0x277aa4)]=0x0),_0x5c1e8c[_0x5ccdf8(0xd96,0x1760)]=_0x169718,!this['options']['availability']&&this['_setAutoAvailability'](_0x5c1e8c);}this['style']['distanceDisplayCondition']&&(this[_0x5ccdf8(0x807,_0x475304._0xaf2f23)][_0x5ccdf8(0x136f,_0x475304._0x55094e)]&&(_0x5c1e8c[_0x161014(0x18c6,0x1d6f)]=PointStyleConver['toCesiumVal'](this[_0x5ccdf8(_0x475304._0xae9931,_0x475304._0x5d61f6)]['distanceDisplayPoint']),_0x5c1e8c['point'][_0x5ccdf8(0x86c,_0x475304._0x1e7234)]=this['_getTargetDistanceDisplayCondition'](this['style']['distanceDisplayPoint']))),this['_entity']=this[_0x161014(_0x475304._0x597c6e,0x19be)](_0x5c1e8c);}[_0x306755(0x772,0xcc0)](_0x2e2764){const _0x337307={_0x73074:0x708,_0x456d23:0xee9},_0x2b064b={_0x28a0e2:0x163};this['_entity']['label']=this['_entity'][_0x5efcec(0x189,_0x337307._0x73074)]||{};function _0x5efcec(_0x142fd9,_0x468646){return _0x306755(_0x142fd9,_0x468646- -_0x2b064b._0x28a0e2);}function _0x52255e(_0x2e7513,_0x3f8e90){return _0x2b6441(_0x3f8e90,_0x2e7513-0x53d);}LabelStyleConver[_0x5efcec(0x177b,_0x337307._0x456d23)](_0x2e2764,this['_entity']['label'],this[_0x5efcec(0x13c8,0xb99)]);}[_0x2b6441(0x4c1,0x36)](_0x258ea0,_0x3d0df6){const _0x50d66d={_0x19ab29:0x21b},_0x32c7bc=BillboardStyleConver['toJSON'](_0x258ea0,_0x3d0df6,!![]);function _0x95f946(_0x2c83fd,_0xa51bf6){return _0x2b6441(_0xa51bf6,_0x2c83fd-_0x50d66d._0x19ab29);}function _0x35b6c6(_0x452b3a,_0x2cf568){return _0x306755(_0x452b3a,_0x2cf568-0xaa);}return this['style']['distanceDisplayPoint']&&(_0x32c7bc[_0x35b6c6(0x1e8b,0x1468)]=PointStyleConver[_0x95f946(0x784,0x124a)](this['style']['distanceDisplayPoint'],{},!![])),_0x32c7bc;}['_updateStyleHook'](_0x4af052,_0x25f2d0){const _0x159b1c={_0x2665d3:0x1125,_0x11ddc4:0x134e};function _0x450e10(_0x54fad6,_0x58ffe5){return _0x306755(_0x58ffe5,_0x54fad6-0xd9);}BillboardStyleConver[_0x450e10(_0x159b1c._0x2665d3,_0x159b1c._0x11ddc4)](_0x4af052,this['entityGraphic']);}[_0x306755(0x239c,0x18d1)](_0x3c26e0,_0x3960a7){const _0x29e39f={_0x5196f5:0xcbf,_0x3d2a3e:0x17b9,_0x2d516c:0xe2a,_0x1149fd:0x5f5},_0x5d2637={_0x3e112d:0x19b},_0x58c0cb={_0x4ec6f0:0x5a};function _0x4b07f3(_0x303f02,_0xc2ba92){return _0x2b6441(_0x303f02,_0xc2ba92- -_0x58c0cb._0x4ec6f0);}function _0x7b1ad9(_0x5ca892,_0xa78f6a){return _0x306755(_0x5ca892,_0xa78f6a- -_0x5d2637._0x3e112d);}_0x3960a7[_0x4b07f3(0x1a10,0x1359)]&&ModelStyleConver['toCesiumVal'](_0x3c26e0[_0x4b07f3(_0x29e39f._0x5196f5,0x1359)],this['_entity'][_0x7b1ad9(0x1f37,_0x29e39f._0x3d2a3e)],!![]),_0x3960a7['point']&&PointStyleConver['toCesiumVal'](_0x3c26e0['point'],this['_entity']['point'],!![]),_0x3960a7[_0x4b07f3(0x880,0x7ea)]&&PathStyleConver[_0x7b1ad9(_0x29e39f._0x2d516c,0xeb1)](_0x3c26e0['path'],this['_entity'][_0x7b1ad9(0x39d,0xc4a)],!![]),_0x3960a7['circle']&&CircleStyleConver['toCesiumVal'](_0x3c26e0['circle'],this[_0x7b1ad9(_0x29e39f._0x1149fd,0xccb)]['ellipse'],!![]);}['_updateExOpacity'](_0x2087d2){const _0x411567={_0x577057:0xcb1,_0x21a47e:0x1099,_0x35a71f:0xd22,_0x5242d4:0x10ce,_0x258363:0xc68,_0x1016ce:0xb89,_0x494994:0xa93,_0xc867c5:0xc72,_0x2950c2:0xc6c,_0x37649c:0x15c0,_0x27d26d:0xbd8};function _0x51dbe8(_0x3cde2e,_0x1cbf58){return _0x2b6441(_0x1cbf58,_0x3cde2e-0x45d);}function _0x56dfc2(_0x472b5a,_0x26d7f1){return _0x2b6441(_0x472b5a,_0x26d7f1-0x3a3);}this['_entity']['model']&&(this['_entity']['model'][_0x56dfc2(0xf5a,_0x411567._0x577057)]=Cesium__namespace[_0x56dfc2(_0x411567._0x21a47e,0xd36)]['WHITE']['withAlpha'](_0x2087d2));if(this['_entity'][_0x51dbe8(0x1725,0xf53)]){const _0x39552f=this['_updateEntityOpacity'](this['_entity'][_0x51dbe8(0x1725,0xfed)],_0x2087d2);if(!_0x39552f){const _0x5034de={...this['options']['point']};_0x5034de['globalAlpha']=_0x2087d2,PointStyleConver['toCesiumVal'](_0x5034de,this[_0x51dbe8(_0x411567._0x35a71f,_0x411567._0x5242d4)]['point'],!![]);}}if(this[_0x56dfc2(0x15c4,_0x411567._0x258363)][_0x51dbe8(0xca1,_0x411567._0x1016ce)]){const _0x3a7f90=this['_updateEntityOpacity'](this[_0x51dbe8(0xd22,_0x411567._0x494994)][_0x56dfc2(_0x411567._0xc867c5,0xbe7)],_0x2087d2);if(!_0x3a7f90){const _0x943054={...this['options'][_0x56dfc2(0x1231,0xbe7)]};_0x943054[_0x56dfc2(_0x411567._0x2950c2,_0x411567._0x37649c)]=_0x2087d2,PathStyleConver[_0x51dbe8(0xf08,0xc05)](_0x943054,this[_0x56dfc2(0x673,0xc68)]['path'],!![]);}}if(this[_0x56dfc2(0x542,_0x411567._0x258363)]['circle']){const _0x4d9114=this['_updateEntityOpacity'](this['_entity'][_0x51dbe8(_0x411567._0x27d26d,0xae6)],_0x2087d2);if(!_0x4d9114){const _0x100b75={...this[_0x56dfc2(0xac2,0xa5f)]['circle']};_0x100b75['globalAlpha']=_0x2087d2,CircleStyleConver['toCesiumVal'](_0x100b75,this[_0x56dfc2(0x763,_0x411567._0x258363)][_0x51dbe8(0x153d,0x1f80)],!![]);}}}['_toJSON_Ex'](_0x1ec9fc){const _0x4b9b0f={_0x44154b:0xc22,_0x153c54:0xe33,_0x1c14a2:0xc22,_0x59b6de:0x9e8,_0x4d572f:0x13fa,_0x5c82e9:0x8eb,_0x1d0c18:0xa73,_0x1d5f33:0x10f5,_0x3e0998:0xdaa,_0x2ecc08:0xdaa,_0x4805c5:0x176c,_0x774ce5:0x1115,_0x1dc223:0x10c4,_0x37554b:0x77d};this[_0x50897d(_0x4b9b0f._0x44154b,0x1475)]['model']&&(_0x1ec9fc['model']={},ModelStyleConver[_0x50897d(0xacf,_0x4b9b0f._0x153c54)](this[_0x50897d(_0x4b9b0f._0x1c14a2,_0x4b9b0f._0x59b6de)]['model'],_0x1ec9fc['model'],!![]));function _0x3a5707(_0x339f0e,_0x4cb54e){return _0x306755(_0x339f0e,_0x4cb54e- -0x372);}this['options']['point']&&(_0x1ec9fc['point']={},PointStyleConver[_0x50897d(0xacf,_0x4b9b0f._0x4d572f)](this[_0x3a5707(0x150,_0x4b9b0f._0x5c82e9)]['point'],_0x1ec9fc['point'],!![]));this['options']['path']&&(_0x1ec9fc[_0x3a5707(0xf07,_0x4b9b0f._0x1d0c18)]={},PathStyleConver[_0x50897d(0xacf,_0x4b9b0f._0x1d5f33)](this['options'][_0x50897d(_0x4b9b0f._0x3e0998,0x1652)],_0x1ec9fc[_0x50897d(_0x4b9b0f._0x2ecc08,_0x4b9b0f._0x4805c5)],!![]));function _0x50897d(_0x180045,_0x27091d){return _0x306755(_0x27091d,_0x180045- -0x3b);}this['options'][_0x50897d(0xce1,_0x4b9b0f._0x774ce5)]&&(_0x1ec9fc['circle']={},CircleStyleConver['toJSON'](this['options'][_0x50897d(0xce1,_0x4b9b0f._0x1dc223)],_0x1ec9fc[_0x50897d(0xce1,_0x4b9b0f._0x37554b)],!![]));}['_updateDistanceDisplayConditionByEdit'](){}['_getTargetDistanceDisplayCondition'](_0x254598){const _0x3fe17f={_0x113fe9:0x140,_0xe27d2c:0x9bb,_0x34e330:0x6c6,_0x300008:0x1549,_0x53f5f2:0x6c6,_0x5a7e76:0x5e4,_0x4683bb:0x1549};let _0x5959c8;function _0x3b4ed4(_0x228a9d,_0x327f26){return _0x2b6441(_0x327f26,_0x228a9d-0x31d);}if(this[_0x427167(0x6e9,-_0x3fe17f._0x113fe9)][_0x3b4ed4(0x637,_0x3fe17f._0xe27d2c)]instanceof Cesium__namespace[_0x427167(_0x3fe17f._0x34e330,0x34e)])_0x5959c8=this['style']['distanceDisplayCondition']['far'];else this['style'][_0x3b4ed4(_0x3fe17f._0x300008,0x1608)]&&(_0x5959c8=this[_0x427167(0x6e9,-0x9e)][_0x3b4ed4(0x1549,0x117a)]);function _0x427167(_0x5f367f,_0x23d34a){return _0x2b6441(_0x23d34a,_0x5f367f-0x434);}return new Cesium__namespace[(_0x427167(_0x3fe17f._0x53f5f2,0xfce))](_0x254598[_0x3b4ed4(_0x3fe17f._0x5a7e76,0xd41)]??_0x5959c8,_0x254598[_0x3b4ed4(_0x3fe17f._0x4683bb,0x1911)]??Number[_0x3b4ed4(0x867,0x2ea)]);}['setOpacity'](_0x562337){const _0x255071={_0x3ee760:0x58};function _0xb3d840(_0x484961,_0x43a863){return _0x306755(_0x43a863,_0x484961- -_0x255071._0x3ee760);}function _0x1a712c(_0x3f7c9c,_0x1aa8d2){return _0x306755(_0x1aa8d2,_0x3f7c9c-0x6b);}this['style']['globalAlpha']=_0x562337,this['_entity']&&(this['_entity']['billboard']['color']=Cesium__namespace['Color'][_0x1a712c(0xac8,0x6d0)][_0xb3d840(0x18dd,0x1091)](_0x562337)),this[_0x1a712c(0x170c,0x18a4)](_0x562337);}[_0x306755(0xf5e,0xd70)](_0x19e2d9={}){const _0x5f2963={_0x490e10:0x16a7,_0x51ed2e:0x674,_0x3b2654:0x4b3,_0x5a94bd:0x7e3,_0x51a0b1:0xb3a,_0x494e91:0x5d4,_0x33a8e7:0x3ea,_0x27490c:0x53f,_0x1abc7e:0x6cc,_0x3c9b2d:0xbcf},_0x5e925b={_0xbc1e1b:0x182a},_0x5ede98={_0x35fdf7:0x297};function _0x13ec40(_0x48e8a1,_0xf84c15){return _0x306755(_0xf84c15,_0x48e8a1- -0x32c);}if(!this[_0x13ec40(0xb3a,0x10cb)])return;function _0x48f209(_0x307f30,_0x28df20){return _0x306755(_0x28df20,_0x307f30- -_0x5ede98._0x35fdf7);}let _0x1af749=-(_0x19e2d9[_0x48f209(0x1028,0x155d)]||0x32);const _0x434268=_0x19e2d9['step']||0x1,_0x59697b=_0x19e2d9['autoStop'];let _0x4eb627=_0x1af749,_0x18872e=-0x1;const _0x43e180=this;function _0x2e7a8c(){function _0x4a99d7(_0x334d67,_0xa69d2e){return _0x48f209(_0xa69d2e-0x19e,_0x334d67);}if(_0x4eb627<=_0x1af749&&_0x18872e!==0x1)_0x18872e=0x1,_0x59697b&&(_0x1af749*=0.55,_0x434268*0x2>=-_0x1af749&&_0x43e180[_0x4a99d7(0x180b,_0x5e925b._0xbc1e1b)]());else _0x4eb627>=0x0&&_0x18872e!==-0x1&&(_0x18872e=-0x1);_0x4eb627+=_0x434268*_0x18872e;}const _0x54693d=getCesiumValue(this['entityGraphic'][_0x48f209(0x16d6,_0x5f2963._0x490e10)],Cesium__namespace[_0x13ec40(0x1c0,-_0x5f2963._0x51ed2e)])||new Cesium__namespace['Cartesian2'](0x0,0x0),_0x52798d=_0x54693d[_0x13ec40(0x5dc,0xddc)]();this['entityGraphic'][_0x48f209(0xf7c,_0x5f2963._0x3b2654)]=_0x54693d,this[_0x48f209(_0x5f2963._0x5a94bd,0x868)]['pixelOffset']=new Cesium__namespace['CallbackProperty'](_0x30c9bd=>{return _0x2e7a8c(),_0x52798d['y']=_0x54693d['y']+_0x4eb627,_0x52798d;});if(this[_0x13ec40(_0x5f2963._0x51a0b1,0xc6e)][_0x48f209(_0x5f2963._0x494e91,_0x5f2963._0x33a8e7)]){const _0x184a6a=getCesiumValue(this[_0x13ec40(0xb3a,0x45b)][_0x13ec40(_0x5f2963._0x27490c,0xe97)]['pixelOffset'],Cesium__namespace['Cartesian2'])||new Cesium__namespace['Cartesian2'](0x0,0x0),_0x44e103=_0x184a6a['clone']();this['_entity'][_0x13ec40(0x53f,_0x5f2963._0x1abc7e)]['pixelOffset_original']=_0x184a6a,this[_0x48f209(_0x5f2963._0x3c9b2d,0x724)]['label']['pixelOffset']=new Cesium__namespace['CallbackProperty'](_0x1100d0=>{return _0x44e103['y']=_0x184a6a['y']+_0x4eb627,_0x44e103;});}}['stopBounce'](){const _0x33bd53={_0x56a561:0x7fa,_0x44790b:0x1a5f,_0x23bd61:0x901};function _0x23e9e4(_0x5cc888,_0x5704c3){return _0x2b6441(_0x5cc888,_0x5704c3-0x3c);}function _0x41a76f(_0xa9c09a,_0xc2dc68){return _0x2b6441(_0xa9c09a,_0xc2dc68-0x530);}this['entityGraphic']['pixelOffset']=this[_0x41a76f(0x112,0xa09)][_0x41a76f(0x1a41,0x11a2)],this['_entity']['label']&&(this['_entity'][_0x41a76f(0x199,_0x33bd53._0x56a561)][_0x23e9e4(_0x33bd53._0x44790b,0x1408)]=this[_0x23e9e4(0xe99,_0x33bd53._0x23bd61)]['label']['pixelOffset_original']);}}register$5('billboard',BillboardEntity,!![]);class DivBillboardEntity extends BillboardEntity{['_mountedHook'](){const _0x2cdf21={_0x4d8497:0x641},_0x79156c={_0x118e7e:0x475};function _0xdd3d86(_0xd27359,_0x58155e){return _0x306755(_0x58155e,_0xd27359- -_0x79156c._0x118e7e);}super['_mountedHook'](),this[_0xdd3d86(_0x2cdf21._0x4d8497,0xd6e)]();}['_updateStyleHook'](_0x313f44,_0x317bc6){const _0x2ceb03={_0x45f9d2:0x5f};delete _0x313f44['image'],super['_updateStyleHook'](_0x313f44,_0x317bc6);function _0x4517d3(_0x3f1295,_0xd379f3){return _0x306755(_0xd379f3,_0x3f1295- -_0x2ceb03._0x45f9d2);}_0x317bc6&&(_0x317bc6['html']||_0x317bc6['iconSize']||_0x317bc6['color'])&&this[_0x4517d3(0xa57,0x13d6)]();}[_0x2b6441(-0x2b8,0x515)](){const _0x392e82={_0x2a1b8a:0xeb},_0x505e05={_0x1f36c3:0x454},_0x59f07a={_0x412b93:0x45e};function _0x49c5b9(_0x59f72b,_0x15a744){return _0x306755(_0x59f72b,_0x15a744- -_0x59f07a._0x412b93);}this['updateTimer']&&clearTimeout(this[_0x49c5b9(0xdb,_0x392e82._0x2a1b8a)]),this['updateTimer']=setTimeout(()=>{function _0x124014(_0x453988,_0x480fe2){return _0x49c5b9(_0x480fe2,_0x453988-0x26c);}delete this['updateTimer'];if(!this[_0x124014(0xc74,0x172e)])return;function _0x2569e8(_0x597461,_0x3b0a2e){return _0x49c5b9(_0x597461,_0x3b0a2e-_0x505e05._0x1f36c3);}this[_0x2569e8(0x6c2,0xd46)]();},0x12c);}[_0x306755(0x1231,0xd50)](){const _0x585551={_0x3cdfa5:0x896,_0x5b375f:0x4ff,_0x220807:0xb7,_0xb88f0:0x16d1,_0x51e440:0x1c8a,_0x121e1a:0x1aa1,_0x1320f3:0x178f,_0x1b55e1:0x1254,_0x575a96:0x102e,_0x41e5fc:0x1448},_0x16f9a4={_0x162d9b:0x6ee},_0x39dd2e={_0x3eb88a:0x0},_0x41ca0a={_0x3c3982:0xcab,_0x541762:0x1819,_0x282b05:0x1c0,_0x3eb940:0x811},_0x530227={_0x1d58a9:0x148},_0x49d325={_0x798129:0xab7},_0x498c41={_0x51ad9b:0x77c,_0x4e6784:0x3ce,_0x511df5:0x3ce},_0x171a18={_0x15f65a:0x18a},_0x30a7e1={_0x344816:0x473};function _0x53f109(_0x1d2c51,_0x40d1db){return _0x306755(_0x40d1db,_0x1d2c51-0x12);}const _0x4b0958=create$4(_0x53f109(_0x585551._0x3cdfa5,0x128e),_0x4ea40b(-0x275,_0x585551._0x5b375f)),_0x3a3088=this['style']['html'];if(isString(_0x3a3088))_0x4b0958['innerHTML']=_0x3a3088;else _0x3a3088 instanceof Element&&_0x4b0958['appendChild'](_0x3a3088);function _0x4ea40b(_0x47ee05,_0x50f554){return _0x306755(_0x47ee05,_0x50f554- -_0x30a7e1._0x344816);}document[_0x53f109(0x6d2,-_0x585551._0x220807)]['appendChild'](_0x4b0958),this[_0x53f109(_0x585551._0xb88f0,_0x585551._0x51e440)]=!![];if(window['domtoimage'])window['domtoimage'][_0x53f109(0x135d,_0x585551._0x121e1a)](_0x4b0958)['then'](_0x3ba5e9=>{const _0x3c3e80={_0x5a95ae:0x310};function _0x3d0c50(_0xc34fad,_0x153ca4){return _0x4ea40b(_0xc34fad,_0x153ca4-_0x171a18._0x15f65a);}this[_0x4c8b99(_0x498c41._0x51ad9b,0x758)][_0x3d0c50(0xe1a,_0x498c41._0x4e6784)]=''+_0x3ba5e9,document[_0x4c8b99(0x3c2,0x8dd)]['removeChild'](_0x4b0958),this['_islosdImg']=![];function _0x4c8b99(_0x433146,_0x2f44d5){return _0x53f109(_0x433146- -_0x3c3e80._0x5a95ae,_0x2f44d5);}const _0x39db1c={};_0x39db1c[_0x3d0c50(-0x3f5,_0x498c41._0x511df5)]=_0x3ba5e9,this['fire'](_0x4c8b99(0x3b9,0xdcd),_0x39db1c);})['catch'](_0x3d9f64=>{const _0x583dcb={_0xed17dd:0x1ae};logError(_0x361813(_0x49d325._0x798129,0x1fc),_0x3d9f64);function _0x361813(_0x33fce0,_0xd18d77){return _0x4ea40b(_0x33fce0,_0xd18d77- -_0x583dcb._0xed17dd);}function _0x537275(_0x160c32,_0x18acfd){return _0x4ea40b(_0x160c32,_0x18acfd-0x557);}document['body'][_0x537275(0x8d2,0x1240)](_0x4b0958),this['_islosdImg']=![];});else{if(window[_0x53f109(0x18cd,0x15ea)]){const _0x165ce1={};_0x165ce1[_0x53f109(_0x585551._0x1320f3,0x1835)]=null,_0x165ce1[_0x4ea40b(0x1292,_0x585551._0x1b55e1)]=!![],window[_0x4ea40b(_0x585551._0x575a96,_0x585551._0x41e5fc)](_0x4b0958,_0x165ce1)[_0x53f109(0x1315,0x1b5c)](_0x3cee48=>{this['entityGraphic']['image']=_0x3cee48,document['body'][_0x10cbcd(0xe56,_0x41ca0a._0x3c3982)](_0x4b0958),this[_0x28ce0a(0x1e85,_0x41ca0a._0x541762)]=![];function _0x28ce0a(_0x395ac3,_0x1d9baf){return _0x53f109(_0x1d9baf-_0x530227._0x1d58a9,_0x395ac3);}const _0x110aa5={};_0x110aa5['canvas']=_0x3cee48;function _0x10cbcd(_0x58a572,_0x54c361){return _0x53f109(_0x54c361- -0x4c3,_0x58a572);}this[_0x10cbcd(-0x63,0x3d8)](_0x28ce0a(_0x41ca0a._0x282b05,_0x41ca0a._0x3eb940),_0x110aa5);})[_0x4ea40b(0x140f,0xaa7)](_0x375950=>{function _0x11c33b(_0x5e2f2f,_0x52c08c){return _0x4ea40b(_0x52c08c,_0x5e2f2f-_0x39dd2e._0x3eb88a);}logError('未知原因,导出失败!',_0x375950),document[_0x11c33b(0x24d,_0x16f9a4._0x162d9b)]['removeChild'](_0x4b0958),this['_islosdImg']=![];});}}}}register$5('divBillboard',DivBillboardEntity,!![]);class FontBillboardEntity extends DivBillboardEntity{['_updateImage'](){const _0x2c67dc={_0x3c0eb4:0x681,_0x3a7984:0x10ca,_0x837822:0xd94,_0x1564aa:0x681,_0x50cdff:0x1ea,_0x250b97:0x187c,_0x1f04e6:0xc2a,_0x35d212:0xfb5},_0x54d21d={_0x1a6e81:0x11cb},_0x1d13c3={_0x5334b2:0x127c,_0x33588a:0x9d4,_0x4e18bc:0xee0,_0x23fc9:0x38f,_0x2aa2d6:0x76c},_0x41a10c={_0x4dd653:0x36a},_0x522ca9={_0x28c49c:0xcf7},_0x46acee={_0x3c38cc:0x1a0},_0x21f8a9={_0x57ce61:0x34e},_0x1c3b70={_0x16eac2:0x3cc};function _0x16f81b(_0x2bc811,_0x4fc52e){return _0x2b6441(_0x2bc811,_0x4fc52e-_0x1c3b70._0x16eac2);}const _0x319c9b=this['style']['iconSize']??0x32,_0x43db7b=this[_0x16f81b(0x10f1,_0x2c67dc._0x3c0eb4)][_0x46e665(0x5e8,0x3bb)]??0xa,_0x19ab69=this['style']['color']??'#ff0000',_0xf651db=create$4('div','mars3d-hideDiv');_0xf651db[_0x16f81b(0x1e15,0x1453)]('style',_0x46e665(_0x2c67dc._0x3a7984,_0x2c67dc._0x837822)+_0x43db7b+_0x16f81b(0x331,0x40c)+_0x319c9b+'px;max-height:'+_0x319c9b+'px;');const _0x519cd3=document['createElement']('i');_0x519cd3[_0x46e665(0x12da,0x1bb4)]('class',this[_0x16f81b(0x1c3,_0x2c67dc._0x1564aa)]['iconClass']),_0x519cd3['setAttribute'](_0x16f81b(0x688,0x681),'font-size:'+_0x319c9b+'px;color:'+_0x19ab69+';');function _0x46e665(_0x2ca478,_0x2ac17f){return _0x306755(_0x2ac17f,_0x2ca478- -_0x21f8a9._0x57ce61);}_0xf651db['appendChild'](_0x519cd3),document[_0x46e665(0x372,-_0x2c67dc._0x50cdff)][_0x16f81b(_0x2c67dc._0x250b97,0xe5c)](_0xf651db),this['_islosdImg']=!![];if(window['domtoimage'])window['domtoimage']['toPng'](_0xf651db)[_0x46e665(0xfb5,0x91a)](_0x226ed5=>{this[_0x3b00d6(0x8cc,0x89)]['image']=''+_0x226ed5,document['body'][_0x3703d7(0x887,0x1273)](_0xf651db);function _0x3703d7(_0xc4210f,_0x2c0496){return _0x16f81b(_0xc4210f,_0x2c0496-0x2ec);}this['_islosdImg']=![];function _0x3b00d6(_0x3cbfa2,_0x1a6f0e){return _0x46e665(_0x3cbfa2-_0x46acee._0x3c38cc,_0x1a6f0e);}const _0xe0332b={};_0xe0332b[_0x3b00d6(0x509,0x1c1)]=_0x226ed5,this['fire']('image',_0xe0332b);})[_0x46e665(0xbcc,_0x2c67dc._0x1f04e6)](_0xef05f5=>{const _0x1ecffe={_0x3b6de4:0x248};function _0x6aa018(_0x3e7c72,_0x1bfb7f){return _0x16f81b(_0x1bfb7f,_0x3e7c72- -_0x1ecffe._0x3b6de4);}logError('未知原因,导出失败!',_0xef05f5),document['body'][_0x6aa018(0xd3f,_0x522ca9._0x28c49c)](_0xf651db),this['_islosdImg']=![];});else{if(window[_0x16f81b(0x126d,0x16e6)]){const _0x2530cc={};_0x2530cc['backgroundColor']=null,_0x2530cc['allowTaint']=!![],window['html2canvas'](_0xf651db,_0x2530cc)[_0x46e665(_0x2c67dc._0x35d212,0x73a)](_0x432ac4=>{const _0x33c5a8={_0x585293:0x12f};this[_0x57d932(_0x1d13c3._0x5334b2,_0x1d13c3._0x33588a)]['image']=_0x432ac4,document[_0x57d932(-0x23b,0x61a)]['removeChild'](_0xf651db);function _0x13754d(_0x59d362,_0x17f39e){return _0x46e665(_0x17f39e-_0x41a10c._0x4dd653,_0x59d362);}this[_0x13754d(_0x1d13c3._0x4e18bc,0x16db)]=![];function _0x57d932(_0x293a9f,_0x55e715){return _0x16f81b(_0x293a9f,_0x55e715-_0x33c5a8._0x585293);}const _0x43d195={};_0x43d195[_0x13754d(_0x1d13c3._0x23fc9,_0x1d13c3._0x2aa2d6)]=_0x432ac4,this['fire']('image',_0x43d195);})[_0x16f81b(0x126f,0xd45)](_0x33fd61=>{const _0x3d9f9b={_0x1b1ab2:0x244};logError('未知原因,导出失败!',_0x33fd61),document['body'][_0x3df89d(_0x54d21d._0x1a6e81,0x901)](_0xf651db);function _0x3df89d(_0x113cbe,_0x214379){return _0x16f81b(_0x214379,_0x113cbe-_0x3d9f9b._0x1b1ab2);}this['_islosdImg']=![];});}}}}register$5('fontBillboard',FontBillboardEntity,!![]);class LabelEntity extends BasePointEntity{get['entityGraphic'](){var _0x333885;return(_0x333885=this['_entity'])===null||_0x333885===void 0x0?void 0x0:_0x333885['label'];}get['label'](){const _0x1a54fe={_0x29ebad:0x441};function _0x2276c4(_0x20a4ef,_0x272105){return _0x306755(_0x272105,_0x20a4ef- -0x4ca);}function _0x38c978(_0xede3c0,_0x358a8c){return _0x306755(_0x358a8c,_0xede3c0- -_0x1a54fe._0x29ebad);}return this['_entity']?this[_0x38c978(0xa25,0x1039)][_0x38c978(0x42a,0x553)]:this[_0x2276c4(0x38c,-0x18d)];}get['text'](){const _0xfc9e40={_0x3d9645:0x5da},_0x1f7de3={_0x1b0191:0x27c};function _0x32dd61(_0x3475ff,_0x2963e9){return _0x306755(_0x3475ff,_0x2963e9- -_0x1f7de3._0x1b0191);}return this[_0x32dd61(0x193,_0xfc9e40._0x3d9645)]['text'];}set[_0x306755(0x159a,0x190d)](_0x5ad598){const _0xdb86c={_0x2f163c:0x1a56};function _0x3579ed(_0xb57ded,_0x8b8afe){return _0x2b6441(_0x8b8afe,_0xb57ded-0x6ea);}this['style']['text']=_0x5ad598,this['_entity']&&(this['entityGraphic'][_0x3579ed(_0xdb86c._0x2f163c,0x10b1)]=_0x5ad598);}['_mountedHook'](){const _0x3a6cd9={_0x4ade5b:0xbd2,_0x22fc48:0xe1c,_0x404ca7:0xc36},_0x51fd21={_0x59ba2b:0x230};function _0x52b608(_0x2f0f72,_0x17ecd1){return _0x306755(_0x2f0f72,_0x17ecd1- -_0x51fd21._0x59ba2b);}function _0x2ee55d(_0x4e91c9,_0x1740da){return _0x306755(_0x4e91c9,_0x1740da- -0x454);}const _0x18e7f1={'position':this['position'],'label':LabelStyleConver[_0x52b608(_0x3a6cd9._0x4ade5b,_0x3a6cd9._0x22fc48)](this[_0x52b608(0xdbc,0x626)])};this[_0x52b608(0x2d9,_0x3a6cd9._0x404ca7)]=this['_createEntity'](_0x18e7f1);}['_addLabel'](_0x494b0d){}[_0x306755(0xdf6,0x5d7)](_0x304c1c,_0x3bde96){return LabelStyleConver['toJSON'](_0x304c1c,_0x3bde96,!![]);}['_updateStyleHook'](_0xcbdfb6,_0x90e8d3){const _0x2ebfee={_0x459151:0xe30},_0x1e2af7={_0x4ae0ad:0x21c};function _0x5a5e54(_0x28cadb,_0xe7ce7e){return _0x306755(_0xe7ce7e,_0x28cadb- -_0x1e2af7._0x4ae0ad);}LabelStyleConver[_0x5a5e54(_0x2ebfee._0x459151,0x9dc)](_0xcbdfb6,this['entityGraphic']);}[_0x2b6441(0x1468,0xafa)](){}['startBounce'](_0x2d3645={}){const _0x40bfb2={_0x32cd31:0xb69,_0x6edc00:0x28f,_0x4fd810:0x2c6,_0x1aa5ef:0xdf3},_0x3fdf5b={_0x1889d4:0x1a22},_0x60f421={_0x379a7b:0x4cb};if(!this['_entity'])return;let _0x56386f=-(_0x2d3645['maxHeight']||0x32);const _0x23861e=_0x2d3645[_0x27fb28(0xac3,_0x40bfb2._0x32cd31)]||0x1,_0x3870d7=_0x2d3645[_0x56a0ed(_0x40bfb2._0x6edc00,_0x40bfb2._0x4fd810)];let _0x28008d=_0x56386f,_0x540962=-0x1;function _0x56a0ed(_0x387d4d,_0x13ca02){return _0x306755(_0x387d4d,_0x13ca02- -_0x60f421._0x379a7b);}function _0x27fb28(_0x177167,_0x3d69bd){return _0x2b6441(_0x3d69bd,_0x177167-0x676);}const _0x458d74=this;function _0x2ba2f5(){if(_0x28008d<=_0x56386f&&_0x540962!==0x1)_0x540962=0x1,_0x3870d7&&(_0x56386f*=0.55,_0x23861e*0x2>=-_0x56386f&&_0x458d74[_0x5af75a(_0x3fdf5b._0x1889d4,0x2108)]());else _0x28008d>=0x0&&_0x540962!==-0x1&&(_0x540962=-0x1);function _0x5af75a(_0x49b11b,_0x44e565){return _0x27fb28(_0x49b11b-0x2a,_0x44e565);}_0x28008d+=_0x23861e*_0x540962;}const _0x24a6a1=getCesiumValue(this['entityGraphic']['pixelOffset'],Cesium__namespace['Cartesian2'])||new Cesium__namespace['Cartesian2'](0x0,0x0),_0x3f9f9d=_0x24a6a1['clone']();this[_0x56a0ed(_0x40bfb2._0x1aa5ef,0x5af)]['pixelOffset_original']=_0x24a6a1,this['entityGraphic']['pixelOffset']=new Cesium__namespace['CallbackProperty'](_0x1e829=>{return _0x2ba2f5(),_0x3f9f9d['y']=_0x24a6a1['y']+_0x28008d,_0x3f9f9d;});}[_0x2b6441(0x14f8,0x1382)](){const _0x2411a6={_0x33ed81:0x1361,_0x2d307c:0xc07,_0xf0579:0x5e0},_0x26cb65={_0x314b41:0x257},_0x10914f={_0x1e870d:0x6b};function _0x1a7f6e(_0x2da022,_0x4294ca){return _0x2b6441(_0x4294ca,_0x2da022- -_0x10914f._0x1e870d);}function _0x28b22c(_0x2dc15e,_0x15a046){return _0x306755(_0x15a046,_0x2dc15e- -_0x26cb65._0x314b41);}this['entityGraphic'][_0x1a7f6e(_0x2411a6._0x33ed81,0x1698)]=this[_0x1a7f6e(0x46e,0x643)][_0x1a7f6e(_0x2411a6._0x2d307c,_0x2411a6._0xf0579)];}[_0x2b6441(0x97c,0x134d)](_0x1f6d68){const _0x394aa0={_0x498542:0x2088,_0x343459:0x1845},_0xfdf25d={_0x229036:0x703};function _0x70dd24(_0xeb0de4,_0xdd0074){return _0x306755(_0xeb0de4,_0xdd0074-0x87);}function _0x519a4e(_0x382061,_0x762ecb){return _0x2b6441(_0x762ecb,_0x382061-_0xfdf25d._0x229036);}this['style'][_0x70dd24(_0x394aa0._0x498542,_0x394aa0._0x343459)]=_0x1f6d68,this['_entity']&&LabelStyleConver[_0x519a4e(0x1a50,0x1906)](this['entityGraphic'],_0x1f6d68);}}register$5('label',LabelEntity,!![]);class CanvasLabelEntity extends BillboardEntity{[_0x306755(0xcbf,0x130c)](){super['_mountedHook'](),this['_updateImage_delay'](this['style']);}[_0x2b6441(0x17df,0x11d4)](_0x277456){const _0x3fb066={_0x49c120:0x1e8,_0x414e45:0x1435};var _0x3e265e,_0x57ce05;function _0x1c688f(_0xffa749,_0x92a5c8){return _0x2b6441(_0xffa749,_0x92a5c8-0x5fa);}function _0x2ba5d3(_0x126d98,_0x575c02){return _0x306755(_0x575c02,_0x126d98- -0x5a9);}return Cesium__namespace['defined'](_0x277456===null||_0x277456===void 0x0||(_0x3e265e=_0x277456['billboard'])===null||_0x3e265e===void 0x0?void 0x0:_0x3e265e[_0x1c688f(-_0x3fb066._0x49c120,0x710)])&&delete _0x277456['billboard']['image'],Cesium__namespace['defined'](_0x277456===null||_0x277456===void 0x0||(_0x57ce05=_0x277456[_0x2ba5d3(0x1198,_0x3fb066._0x414e45)])===null||_0x57ce05===void 0x0?void 0x0:_0x57ce05['color'])&&delete _0x277456['billboard']['color'],_0x277456;}['_updateStyleHook'](_0x213ecf,_0x473a85){const _0x278c78={_0xdc4047:0xce6},_0x1deb13={_0x32fdd2:0x4},_0x430415={..._0x213ecf},_0x363a3b=_0x430415;delete _0x363a3b[_0x142534(0xdd,0x6bb)];function _0x1110c8(_0x39a87c,_0x5e9db0){return _0x2b6441(_0x39a87c,_0x5e9db0-0x3d8);}delete _0x363a3b[_0x1110c8(0xe50,_0x278c78._0xdc4047)],super['_updateStyleHook'](_0x363a3b,_0x473a85);function _0x142534(_0x5b7697,_0x47cd6e){return _0x306755(_0x5b7697,_0x47cd6e-_0x1deb13._0x32fdd2);}this['_updateImage_delay'](_0x213ecf);}[_0x2b6441(0x876,0x515)](_0xd57816){this['updateTimer']&&clearTimeout(this['updateTimer']),this['updateTimer']=setTimeout(()=>{delete this['updateTimer'];if(!this['_entity'])return;this['_updateImage'](_0xd57816);},0x64);}[_0x2b6441(-0x11f,0x7af)](_0x1070b7){const _0x35c6ec={_0x518c89:0x6b5,_0x4b7f27:0x20};function _0x49c5cf(_0x2a25b9,_0xbf3fe2){return _0x306755(_0xbf3fe2,_0x2a25b9- -0x2);}const _0x53a069=LabelStyleConver['toCesiumVal'](_0x1070b7),_0x306b1c=getTextImage(_0x53a069['text'],_0x53a069);_0x306b1c&&(this['entityGraphic'][_0x49c5cf(_0x35c6ec._0x518c89,_0x35c6ec._0x4b7f27)]=_0x306b1c);}}register$5(_0x306755(0x86,0x68e),CanvasLabelEntity,!![]);class EditCircle extends EditPoly{set[_0x306755(0x885,0x11f7)](_0x76ab61){this['positions'][0x0]=_0x76ab61;}get[_0x2b6441(0x1270,0xc56)](){const _0x4bd614={_0x31d763:0x1ad4};function _0x2d354c(_0x2d5996,_0x2d08da){return _0x2b6441(_0x2d5996,_0x2d08da-0x418);}return this[_0x2d354c(_0x4bd614._0x31d763,0x1810)][0x0];}['bindDraggers'](){const _0x1249c1={_0x216ca9:0x5ab,_0x9a8e2f:0x107a,_0x26dcc9:0x259,_0x1913b7:0x85b,_0x33e8f6:0x117e,_0x3b21f8:0x2a9,_0x48a062:0x7e2,_0x5687e2:0xb35,_0x159c0b:0x115a,_0x2400cf:0x89e,_0x47d044:0x12cb,_0x14078d:0xb9c,_0x1299e8:0x13b5,_0x308852:0x735},_0x56da78={_0x498304:0x189f,_0x5d78fb:0x1924},_0x2a1df2={_0x1c3814:0x574},_0x5e99d8={_0x4a7bdf:0x781,_0x4944f6:0xb16,_0x3f4b6a:0x1501,_0x4ca7bb:0xe8,_0x1d2dbf:0x16b,_0x70d6a:0x535},_0x58305f={_0x6be0c3:0x1e9b,_0x581439:0x1341},_0x234fe7={_0x124c97:0x2ab},_0x23dba={_0x18bb6e:0x587},_0x3fcd2f={_0x2b0fc8:0x64b},_0x5424aa={_0x41d090:0x7ec,_0x1f73cd:0xb4e,_0x44fb87:0x531,_0x1c73a6:0x438},_0x43ca6b={_0xedb923:0xc4,_0x2b4b76:0xa3a,_0x3c33fe:0x142c},_0x10e312={_0x51d855:0x4e4},_0x233579={_0x5928e9:0x433},_0x3507c4=this[_0x2d866a(0x9a9,0x134e)];if(_0x3507c4[_0x2d866a(0x12ba,0xfb0)]===0x0)return;const _0x2aa17d=this['updatePositionsHeightByAttr'](_0x3507c4[0x0]),_0x209a87=this['_map']['clock']['currentTime'],_0x252f7d=getEllipseOuterPositions({'position':_0x2aa17d,'semiMajorAxis':getCesiumValue(this[_0x517155(_0x1249c1._0x216ca9,_0x1249c1._0x9a8e2f)][_0x2d866a(0xc25,0xac3)],Number,_0x209a87),'semiMinorAxis':getCesiumValue(this[_0x517155(_0x1249c1._0x216ca9,0x43f)]['semiMinorAxis'],Number,_0x209a87),'rotation':getCesiumValue(this[_0x2d866a(-_0x1249c1._0x26dcc9,0x42f)]['rotation'],Number,_0x209a87)??0x0,'count':0x1}),_0x552756=this[_0x2d866a(0x517,0xa43)](_0x252f7d[0x3]);_0x3507c4[0x1]=_0x552756;const _0x3d6ee8=this['createDragger']({'position':_0x552756,'type':EditPointType[_0x2d866a(0x124,0x9b9)],'tooltip':this[_0x2d866a(_0x1249c1._0x1913b7,_0x1249c1._0x33e8f6)]['getLangText']('_修改半径'),'onDragStart':(_0x1e0a7a,_0x2632e7)=>{function _0x1a3268(_0x3b8aa6,_0x589b51){return _0x517155(_0x589b51-_0x233579._0x5928e9,_0x3b8aa6);}if(!this['_heightDraggers'])return;function _0x3fdcad(_0xe65f3c,_0x11aadf){return _0x2d866a(_0xe65f3c,_0x11aadf-_0x10e312._0x51d855);}for(let _0xa38ef3=0x0,_0x2c9bf3=this[_0x1a3268(_0x43ca6b._0xedb923,_0x43ca6b._0x2b4b76)]['length'];_0xa38ef3<_0x2c9bf3;_0xa38ef3++){this['_heightDraggers'][_0xa38ef3][_0x3fdcad(0x1d34,_0x43ca6b._0x3c33fe)]=![];}},'onDrag':(_0x48c679,_0xe3cc79)=>{if(this[_0xa46ecd(0xa48,_0x5424aa._0x41d090)][_0x496499(-0x46b,0x61a)]!==undefined){const _0x4f1b69=getCesiumValue(this['entityGraphic']['height'],Number,_0x209a87);_0xe3cc79=setPositionsHeight(_0xe3cc79,_0x4f1b69),_0x48c679[_0x496499(0xcdb,0xc1f)]=_0xe3cc79;}function _0x496499(_0x5711d2,_0x545d4e){return _0x2d866a(_0x5711d2,_0x545d4e-0x73);}_0x3507c4[_0x48c679[_0xa46ecd(_0x5424aa._0x1f73cd,0xcca)]]=_0xe3cc79;function _0xa46ecd(_0x294482,_0x4dd520){return _0x2d866a(_0x294482,_0x4dd520-0x3bd);}const _0x132246=this[_0x496499(0x13a,_0x5424aa._0x44fb87)](Cesium__namespace['Cartesian3'][_0x496499(0x1143,0x945)](_0x3507c4[0x0],_0xe3cc79),0x2);this['entityGraphic']['semiMajorAxis']=_0x132246,this['_graphic'][_0xa46ecd(0xd64,0x4ea)]===0x3||!Cesium__namespace[_0x496499(0xa72,0x11da)](this['style'][_0xa46ecd(-0x41f,_0x5424aa._0x1c73a6)])?this['style']['semiMajorAxis']=_0x132246:(this['entityGraphic']['semiMinorAxis']=_0x132246,this['style']['radius']=_0x132246),this['fire'](EventType['editStyle']);},'onDragEnd':(_0x25bb46,_0x451c70)=>{this['updateDraggers']();}});_0x3d6ee8['index']=0x1;function _0x2d866a(_0x7b58be,_0x1019c0){return _0x306755(_0x7b58be,_0x1019c0- -_0x3fcd2f._0x2b0fc8);}this['draggers']['push'](_0x3d6ee8);let _0x497048;function _0x517155(_0x57f10b,_0x5b618d){return _0x306755(_0x5b618d,_0x57f10b- -0x4cf);}if(this['_graphic'][_0x517155(_0x1249c1._0x3b21f8,_0x1249c1._0x48a062)]===0x3){const _0x2ff541=this['updatePositionsHeightByAttr'](_0x252f7d[0x2]);_0x3507c4[0x2]=_0x2ff541,_0x497048=this['createDragger']({'position':_0x2ff541,'type':EditPointType[_0x517155(_0x1249c1._0x5687e2,_0x1249c1._0x159c0b)],'tooltip':this[_0x2d866a(0xab0,0x117e)][_0x517155(_0x1249c1._0x2400cf,0x38e)](_0x2d866a(_0x1249c1._0x47d044,0x9b8)),'onDragStart':(_0xaefbfd,_0x3e0247)=>{function _0x4cb5b9(_0x196834,_0x2708b4){return _0x2d866a(_0x2708b4,_0x196834-_0x23dba._0x18bb6e);}function _0x35c8e3(_0x2b68bd,_0x267201){return _0x517155(_0x267201-_0x234fe7._0x124c97,_0x2b68bd);}if(!this['_heightDraggers'])return;for(let _0x2c448c=0x0,_0x4c0a83=this['_heightDraggers'][_0x35c8e3(_0x58305f._0x6be0c3,0x13d7)];_0x2c448c<_0x4c0a83;_0x2c448c++){this['_heightDraggers'][_0x2c448c][_0x4cb5b9(0x14cf,_0x58305f._0x581439)]=![];}},'onDrag':(_0x2faa21,_0x583382)=>{const _0x11e4fc={_0x3298ed:0xf0},_0x3ff83a={_0xc47395:0x1da};if(this['entityGraphic']['height']!==undefined){const _0xd9d5bb=getCesiumValue(this['entityGraphic'][_0x1a2d34(0x4fa,_0x5e99d8._0x4a7bdf)],Number,_0x209a87);_0x583382=setPositionsHeight(_0x583382,_0xd9d5bb),_0x2faa21['position']=_0x583382;}_0x3507c4[_0x2faa21['index']]=_0x583382;let _0x1d4e8f=this[_0x1946fd(0xb9b,0x5ae)](Cesium__namespace['Cartesian3']['distance'](_0x3507c4[0x0],_0x583382),0x2);const _0x32c657=getCesiumValue(this[_0x1a2d34(_0x5e99d8._0x4944f6,0x609)]['semiMajorAxis'],Number,_0x209a87);function _0x1a2d34(_0x1c91df,_0x50a64a){return _0x2d866a(_0x1c91df,_0x50a64a-_0x3ff83a._0xc47395);}_0x1d4e8f>_0x32c657&&(_0x1d4e8f=_0x32c657);this[_0x1a2d34(-0x22a,0x609)]['semiMinorAxis']=_0x1d4e8f;function _0x1946fd(_0x62ae94,_0x413592){return _0x2d866a(_0x62ae94,_0x413592-_0x11e4fc._0x3298ed);}this['_graphic']['_maxPointNum']===0x3||!Cesium__namespace[_0x1a2d34(_0x5e99d8._0x3f4b6a,0x1341)](this[_0x1946fd(_0x5e99d8._0x4ca7bb,0x2fb)][_0x1946fd(0xc2,_0x5e99d8._0x1d2dbf)])?this[_0x1a2d34(0x4bc,0x3e5)][_0x1946fd(-0x56c,-0xab)]=_0x1d4e8f:(this['entityGraphic']['semiMajorAxis']=_0x1d4e8f,this[_0x1946fd(0x249,0x2fb)]['radius']=_0x1d4e8f),this[_0x1946fd(-_0x5e99d8._0x70d6a,0x32e)](EventType['editStyle']);},'onDragEnd':(_0x3ef591,_0x5d0d0a)=>{this['updateDraggers']();}}),_0x497048['index']=0x2,this['draggers']['push'](_0x497048);}if(this['_graphic']['hasMoveEdit']){const _0x240588=this[_0x517155(0x21c,_0x1249c1._0x14078d)]({'position':_0x2aa17d,'onDragStart':(_0x15383b,_0x26b3ac)=>{function _0x188897(_0x1380cd,_0x199f29){return _0x517155(_0x199f29-_0x2a1df2._0x1c3814,_0x1380cd);}function _0x2ec703(_0x5e631a,_0x519449){return _0x2d866a(_0x519449,_0x5e631a-0x25f);}for(let _0x322729=0x0,_0x5a79b2=this[_0x2ec703(0x1015,0x1814)][_0x188897(_0x56da78._0x498304,0x16a0)];_0x322729<_0x5a79b2;_0x322729++){this['draggers'][_0x322729][_0x188897(_0x56da78._0x5d78fb,0x1638)]=![];}},'onDrag':(_0x584fa0,_0x315d37)=>{_0x3507c4[0x0]=_0x315d37;},'onDragEnd':(_0x405139,_0x2fd11b)=>{this['updateDraggers']();}});_0x240588['index']=0x0,this[_0x2d866a(0x1386,0xdb6)]['push'](_0x240588),_0x240588[_0x517155(0x843,0x642)]=_0x3d6ee8,_0x240588[_0x2d866a(_0x1249c1._0x1299e8,0x9ee)]=_0x497048;}if(this[_0x2d866a(0x518,0x42f)][_0x517155(0x10aa,_0x1249c1._0x308852)]){const _0x577cf4=this[_0x2d866a(0x755,-0x64)]['_maxPointNum']===0x3?[_0x3507c4[0x1],_0x3507c4[0x2]]:[_0x3507c4[0x1]];this['_bindHeightDraggers'](_0x577cf4);}}['updatePositionsHeightByAttr'](_0x25df58){const _0x3d59db={_0x4743fb:0xa6f,_0x27fb51:0xb39,_0x4a0e44:0xa29},_0x454a2a={_0x4a2656:0x27};function _0xf5dfc0(_0x4bcf5b,_0x458797){return _0x2b6441(_0x458797,_0x4bcf5b-_0x454a2a._0x4a2656);}this['clampToGround']&&(_0x25df58=getSurfacePosition(this[_0x2f4197(0x1646,0x1d29)]['scene'],_0x25df58));function _0x2f4197(_0x544ec7,_0x2f1df5){return _0x306755(_0x2f1df5,_0x544ec7- -0x183);}if(this['entityGraphic'][_0x2f4197(_0x3d59db._0x4743fb,_0x3d59db._0x27fb51)]!==undefined){const _0x4af2a8=getCesiumValue(this['entityGraphic']['height'],Number,this['_map'][_0x2f4197(0x1217,0x1338)][_0x2f4197(_0x3d59db._0x4a0e44,0x3d0)]);_0x25df58=setPositionsHeight(_0x25df58,_0x4af2a8);}return _0x25df58;}['_updateStyleHook'](_0x3b254d){const _0x4b3343={_0x3a9211:0xb58,_0x32c92c:0x359,_0x41dbe8:0x12ad,_0x523fa7:0xefe,_0x763a4e:0x1be};super[_0x17e1ec(0x1171,_0x4b3343._0x3a9211)](_0x3b254d);function _0x17e1ec(_0x19baa9,_0x2db649){return _0x306755(_0x19baa9,_0x2db649- -0x505);}function _0xfb49b5(_0xeab041,_0xe018f4){return _0x306755(_0xeab041,_0xe018f4- -0x36d);}(Cesium__namespace['defined'](_0x3b254d[_0xfb49b5(0xbc6,_0x4b3343._0x32c92c)])||Cesium__namespace[_0x17e1ec(0x10a2,_0x4b3343._0x41dbe8)](_0x3b254d['semiMinorAxis'])||Cesium__namespace['defined'](_0x3b254d[_0x17e1ec(_0x4b3343._0x523fa7,0xc09)])||Cesium__namespace['defined'](_0x3b254d['height'])||Cesium__namespace['defined'](_0x3b254d['diffHeight']))&&this[_0x17e1ec(0xb0b,_0x4b3343._0x763a4e)]();}['openSmallTooltipByMinPointNum'](_0x3fbc63){}}class CircleEntity extends BasePointEntity{constructor(_0xc5dcf3={}){super(_0xc5dcf3),this['_minPointNum']=0x2,this['_maxPointNum']=0x2,this['_clampToGround_reload']=!![];}get['entityGraphic'](){const _0x2b98f0={_0x3f0486:0x67};function _0x58727c(_0x28a25a,_0x5dfb4f){return _0x2b6441(_0x5dfb4f,_0x28a25a-_0x2b98f0._0x3f0486);}var _0xfa17e0;return(_0xfa17e0=this['_entity'])===null||_0xfa17e0===void 0x0?void 0x0:_0xfa17e0[_0x58727c(0x1147,0x1949)];}get[_0x2b6441(0xa7a,0x8d2)](){return EditCircle;}get['outlinePositions'](){const _0xd2f0f4={_0x3ef726:0x1298,_0x4303de:0x1288};this['_entity']&&(this['_outlinePositions']=this['getOutlinePositions']());function _0xed99b0(_0x10931f,_0x38908c){return _0x306755(_0x38908c,_0x10931f- -0x2b3);}return this[_0xed99b0(_0xd2f0f4._0x3ef726,_0xd2f0f4._0x4303de)];}set[_0x306755(0x1b25,0x1210)](_0x490374){const _0x644d4a={_0x1cf268:0x1325,_0x35f841:0x1215};function _0x51ea39(_0x356892,_0x129e73){return _0x306755(_0x356892,_0x129e73- -0x336);}this[_0x51ea39(_0x644d4a._0x1cf268,_0x644d4a._0x35f841)]=_0x490374;}get[_0x306755(0x17ce,0x12c7)](){return cartesians2lonlats(this['outlinePositions']);}get[_0x2b6441(0xd84,0x97c)](){function _0x5b6ee2(_0x47cc8d,_0x3d7d35){return _0x2b6441(_0x47cc8d,_0x3d7d35-0x1e5);}return Math['PI']*0x2*this[_0x5b6ee2(0xbd2,0x30a)];}get['area'](){const _0x4e3fd3=this['radius'];return Math['PI']*_0x4e3fd3*_0x4e3fd3;}get[_0x2b6441(-0x955,0x125)](){var _0x3ab370;if(this['style']['radius'])return this[_0x323c77(-0x339,0x347)]['radius'];function _0x323c77(_0x119c76,_0xe76327){return _0x306755(_0x119c76,_0xe76327- -0x50f);}return getCesiumValue((_0x3ab370=this['entityGraphic'])===null||_0x3ab370===void 0x0?void 0x0:_0x3ab370['semiMajorAxis'],Number,Cesium__namespace['JulianDate']['now']());}set['radius'](_0x3edd7e){function _0x1a8117(_0x43f27a,_0x25bc46){return _0x2b6441(_0x43f27a,_0x25bc46-0x53c);}this['style']['radius']=_0x3edd7e,this['entityGraphic']&&(this['entityGraphic']['semiMajorAxis']=_0x3edd7e,this[_0x1a8117(0xc63,0xa15)]['semiMinorAxis']=_0x3edd7e,this['_updateOutlineStyle'](this['_getOutlinePositions'](),this['style']));}get['height'](){const _0x1d15c2={_0x259e51:0xfd7};function _0x319f75(_0x40e7b0,_0x32517a){return _0x306755(_0x40e7b0,_0x32517a- -0x44a);}var _0x5dbe80;function _0x9165ea(_0x5a0115,_0x295531){return _0x2b6441(_0x5a0115,_0x295531-0x6f6);}if(this[_0x9165ea(0xf66,0x9ab)]['height'])return this['style']['height'];return getCesiumValue((_0x5dbe80=this['entityGraphic'])===null||_0x5dbe80===void 0x0?void 0x0:_0x5dbe80[_0x9165ea(_0x1d15c2._0x259e51,0xd47)],Number)??0x0;}set['height'](_0x436cbe){const _0x39baf9={_0x428baf:0x8ba};this['style']['height']=_0x436cbe;function _0x5c6f15(_0x216f02,_0x593bee){return _0x306755(_0x216f02,_0x593bee- -0x4d2);}this['entityGraphic']&&(this[_0x5c6f15(_0x39baf9._0x428baf,0x5a8)]['height']=_0x436cbe);}get['hasMoveEdit'](){const _0x56af58={_0x37ff79:0xbc9},_0x50b91b={_0x4aa0eb:0x30e};function _0x16d6ac(_0x2188e4,_0x4597a5){return _0x2b6441(_0x2188e4,_0x4597a5-_0x50b91b._0x4aa0eb);}return this['options'][_0x16d6ac(_0x56af58._0x37ff79,0xfca)]??!![];}['_mountedHook'](){const _0x2d1d1a={_0x20b9f8:0xdc2,_0xb74a89:0x5cc,_0x212a43:0x119e,_0x35e6f0:0x1528,_0xb25e3b:0xcc4,_0x1f693f:0x2ea,_0x4f09d1:0x1779,_0x508bae:0xd68,_0x254565:0x170d,_0x2cf22d:0xdc2,_0x1da5ea:0x768,_0x425e1b:0x87f,_0x7c765e:0x1025},_0x50084c={_0x122abd:0x3cf},_0x33bc34={'position':this[_0x265d62(0x1129,0x1025)],'ellipse':CircleStyleConver[_0x2e61f1(0xdc8,_0x2d1d1a._0x20b9f8)](this['style'],{},!![])};function _0x2e61f1(_0x9ddb46,_0x41ad4c){return _0x2b6441(_0x9ddb46,_0x41ad4c-0x317);}const _0x3f1cd0=this[_0x2e61f1(0x919,_0x2d1d1a._0xb74a89)]['label'];_0x3f1cd0&&(Cesium__namespace[_0x2e61f1(_0x2d1d1a._0x212a43,_0x2d1d1a._0x35e6f0)](this['style'][_0x2e61f1(0x9df,0x232)])&&!Cesium__namespace[_0x2e61f1(_0x2d1d1a._0xb25e3b,_0x2d1d1a._0x35e6f0)](_0x3f1cd0['clampToGround'])&&(_0x3f1cd0[_0x265d62(-0x1fa,_0x2d1d1a._0x1f693f)]=this['style']['clampToGround']),Cesium__namespace[_0x2e61f1(0x1d4b,0x1528)](_0x3f1cd0['setHeight'])||Cesium__namespace[_0x2e61f1(_0x2d1d1a._0x4f09d1,0x1528)](_0x3f1cd0[_0x265d62(_0x2d1d1a._0x508bae,0xcb3)])?this['_addLabel'](_0x3f1cd0):_0x33bc34['label']=LabelStyleConver[_0x2e61f1(_0x2d1d1a._0x254565,_0x2d1d1a._0x2cf22d)](this['style']['label'],{},this[_0x2e61f1(0x920,0xa72)]));this['_entity']=this[_0x265d62(0x1963,0x179e)](_0x33bc34),this['_calculateCzmHeight'](this[_0x2e61f1(0x849,0x7f0)]);function _0x265d62(_0x28b2ef,_0x12794d){return _0x2b6441(_0x28b2ef,_0x12794d-_0x50084c._0x122abd);}this[_0x265d62(-0x29e,_0x2d1d1a._0x1da5ea)](this[_0x2e61f1(0x66d,0x78c)](),this[_0x2e61f1(-0xe3,_0x2d1d1a._0xb74a89)]),(this['position']instanceof Cesium__namespace['CallbackProperty']||this[_0x265d62(_0x2d1d1a._0x425e1b,_0x2d1d1a._0x7c765e)]instanceof Cesium__namespace['SampledPositionProperty'])&&this['_updateOutlineToCallback']();}[_0x2b6441(0x11,0x71f)](_0x1cbb8c){const _0x36e67f={_0x16e98b:0x9da,_0x15246f:0x224,_0x592578:0x3a5,_0x54bb38:0x969},_0x4890d4={_0x59c0ba:0x4c6};function _0x16b1fc(_0x16b691,_0x7e59c6){return _0x306755(_0x16b691,_0x7e59c6- -0x58d);}function _0x20378f(_0x179113,_0x44b464){return _0x306755(_0x179113,_0x44b464- -_0x4890d4._0x59c0ba);}if(Cesium__namespace[_0x16b1fc(0xc0d,0x1225)](_0x1cbb8c['setHeight'])||Cesium__namespace['defined'](_0x1cbb8c['addHeight'])){var _0xe9b93d;(_0xe9b93d=this[_0x20378f(_0x36e67f._0x16e98b,0x9a0)])!==null&&_0xe9b93d!==void 0x0&&_0xe9b93d[_0x16b1fc(_0x36e67f._0x15246f,0x2de)]&&(this['_entity']['label']['show']=![]),super['_addLabel'](_0x1cbb8c);}else this['_entity']['label']=this['_entity'][_0x20378f(0x302,_0x36e67f._0x592578)]||{},LabelStyleConver[_0x16b1fc(_0x36e67f._0x54bb38,0xabf)](_0x1cbb8c,this['_entity'][_0x20378f(0x1d4,0x3a5)],this['attr']);}['_style2Json'](_0x5377ea,_0x5f4ae8){const _0x4e1379={_0x1d3a88:0xbe8,_0x10aad9:0x5de};function _0x2eb362(_0x43298a,_0x4d2fb7){return _0x2b6441(_0x43298a,_0x4d2fb7-0x75);}return CircleStyleConver[_0x2eb362(_0x4e1379._0x1d3a88,_0x4e1379._0x10aad9)](_0x5377ea,_0x5f4ae8,!![]);}['toGeoJSON'](_0x5c3cdd){return super['toGeoJSON'](_0x5c3cdd);}[_0x306755(0x15e6,0xe56)](_0x3cc3ca){const _0x53d55e={_0x4867db:0x8dd,_0x6f797b:0x361},_0x520d56={_0x390914:0x31};function _0x28fa26(_0x11c694,_0x3d12a3){return _0x306755(_0x3d12a3,_0x11c694-_0x520d56._0x390914);}function _0x2984fd(_0x2fc3a7,_0x49f7c8){return _0x306755(_0x49f7c8,_0x2fc3a7- -0x3a1);}return _0x3cc3ca!==null&&_0x3cc3ca!==void 0x0&&_0x3cc3ca['outline']?{'type':_0x28fa26(0x9fe,_0x53d55e._0x4867db),'coordinates':[this['getOutlineCoordinates'](_0x3cc3ca===null||_0x3cc3ca===void 0x0?void 0x0:_0x3cc3ca['closure'],_0x3cc3ca===null||_0x3cc3ca===void 0x0?void 0x0:_0x3cc3ca['count'],_0x3cc3ca===null||_0x3cc3ca===void 0x0?void 0x0:_0x3cc3ca['noAlt'])]}:{'type':_0x2984fd(_0x53d55e._0x6f797b,0x9ab),'coordinates':this['getCoordinate'](_0x3cc3ca===null||_0x3cc3ca===void 0x0?void 0x0:_0x3cc3ca['noAlt'])};}['_updateStyleHook'](_0x31cd16,_0x1f2eeb){const _0x1af94d={_0x120cb1:0x8cd,_0x11d205:0xc60,_0x10102b:0x10b8,_0x40a04b:0x13c6,_0x44eb19:0xd0,_0x45f548:0x47f,_0x12e06f:0x18e,_0x5088df:0x13c6,_0x328250:0x1554,_0x5c4109:0x1514,_0x2e2d02:0x450,_0x31eb55:0x57c,_0x4cfa26:0xbc8,_0x11eadb:0x116b,_0xd86dd8:0xaea,_0x2dc065:0x11a7,_0x27dbbe:0x5cd};function _0x4fa17e(_0x4c8a90,_0x5b14a7){return _0x306755(_0x4c8a90,_0x5b14a7- -0x3ec);}function _0x48a23a(_0x13eee6,_0x266258){return _0x306755(_0x13eee6,_0x266258- -0x29e);}CircleStyleConver[_0x4fa17e(_0x1af94d._0x120cb1,_0x1af94d._0x11d205)](_0x31cd16,this['entityGraphic'],!![]);(Cesium__namespace['defined'](_0x1f2eeb['diffHeight'])||Cesium__namespace['defined'](_0x1f2eeb['height'])||Cesium__namespace['defined'](_0x31cd16['addHeight'])||Cesium__namespace['defined'](_0x31cd16[_0x4fa17e(0x15e4,0x1083)]))&&this[_0x48a23a(0xe88,_0x1af94d._0x10102b)](this['entityGraphic']);if(_0x1f2eeb!==null&&_0x1f2eeb!==void 0x0&&_0x1f2eeb['label']){Cesium__namespace['defined'](_0x31cd16['clampToGround'])&&!Cesium__namespace[_0x4fa17e(0x1be0,_0x1af94d._0x40a04b)](_0x31cd16['label'][_0x4fa17e(0xe0,_0x1af94d._0x44eb19)])&&(_0x31cd16[_0x4fa17e(0x41b,_0x1af94d._0x45f548)][_0x4fa17e(-_0x1af94d._0x12e06f,0xd0)]=_0x31cd16['clampToGround']);if(Cesium__namespace[_0x4fa17e(0x12d8,_0x1af94d._0x5088df)](_0x31cd16['label']['setHeight'])||Cesium__namespace[_0x48a23a(_0x1af94d._0x328250,_0x1af94d._0x5c4109)](_0x31cd16[_0x4fa17e(0xa43,_0x1af94d._0x45f548)][_0x4fa17e(_0x1af94d._0x2e2d02,0xa99)])){var _0x74243b;(_0x74243b=this[_0x48a23a(_0x1af94d._0x31eb55,_0x1af94d._0x4cfa26)])!==null&&_0x74243b!==void 0x0&&_0x74243b['label']&&(this[_0x4fa17e(_0x1af94d._0x11eadb,0xa7a)]['label'][_0x4fa17e(_0x1af94d._0xd86dd8,_0x1af94d._0x2dc065)]=![]),this['_addLabel'](_0x31cd16[_0x4fa17e(-0x35a,0x47f)]);}else this['_entity'][_0x48a23a(-0x221,_0x1af94d._0x27dbbe)]=this[_0x48a23a(0xe64,0xbc8)]['label']||{},LabelStyleConver['toCesiumVal'](_0x31cd16[_0x4fa17e(-0x5ad,_0x1af94d._0x45f548)],this['_entity'][_0x48a23a(-0x448,0x5cd)],this['attr']);}}['_updatePositionsHook'](){const _0x142ca1={_0x5473ae:0x19cd},_0x4d1db0={_0x190924:0x3ef},_0x12a86c={_0x2ab3be:0x5af};this['_entity'][_0xc6b9c4(_0x142ca1._0x5473ae,0x1205)]=this[_0xc6b9c4(0x1461,0x1205)],this['_calculateCzmHeight'](this['entityGraphic']),this['_updateOutlineStyle'](this['_getOutlinePositions'](),this['style']);function _0xc6b9c4(_0x699015,_0x1a5bf8){return _0x2b6441(_0x699015,_0x1a5bf8-_0x12a86c._0x2ab3be);}this['_updateLabelPosition']();function _0x160da8(_0x4ac61e,_0x41faba){return _0x2b6441(_0x41faba,_0x4ac61e-_0x4d1db0._0x190924);}this['_updateEditDraggers']();}[_0x2b6441(0xbaa,0x475)](){return[this['outlinePositions']];}['_setPositionsToCallback'](){const _0x5488d0={_0x252183:0x1bff,_0x4707b5:0x12f0,_0x447bf9:0x12f0},_0x2d1cc2={_0x2b9f6c:0x1036,_0x3a6be2:0x20c3},_0x3908c3={_0x34364a:0x523};if(this[_0xebdbeb(_0x5488d0._0x252183,_0x5488d0._0x4707b5)])return;function _0x20dcc1(_0x2d33f6,_0x646d86){return _0x306755(_0x2d33f6,_0x646d86- -0x522);}this[_0xebdbeb(0x14f6,_0x5488d0._0x447bf9)]=!![];function _0xebdbeb(_0x59988f,_0x88a20b){return _0x2b6441(_0x59988f,_0x88a20b-0x28b);}this['_positions_draw']=this['positions']||[],this['position']=new Cesium__namespace['CallbackProperty'](_0x515b98=>{const _0x4fce4a={_0x9bcb7:0x30d};function _0x520f64(_0x32d108,_0x31a824){return _0x20dcc1(_0x31a824,_0x32d108-_0x3908c3._0x34364a);}function _0x48a3cc(_0x2bc182,_0x539576){return _0x20dcc1(_0x2bc182,_0x539576-_0x4fce4a._0x9bcb7);}if(this[_0x48a3cc(_0x2d1cc2._0x2b9f6c,0x116c)][_0x520f64(0x15fc,_0x2d1cc2._0x3a6be2)]<0x1)return null;return this[_0x520f64(0x1382,0x188a)][0x0];},![]),this['_updateOutlineToCallback']();}[_0x2b6441(0xde,0xcf)](){const _0x43fe9c={_0x2b67b6:0x539};function _0x532a56(_0x2a15b0,_0x42cbd8){return _0x306755(_0x2a15b0,_0x42cbd8- -_0x43fe9c._0x2b67b6);}if(!this[_0x532a56(0x170c,0x10cd)])return;function _0x294c0f(_0x464cc9,_0x5bafe1){return _0x306755(_0x5bafe1,_0x464cc9- -0x45c);}this['_isCallbackPositions']=![],this['_position']=this[_0x294c0f(0xf25,0x16e8)][0x0],this['_point']=LngLatPoint['fromCartesian'](this['_position']),this['_entity']&&this['_updatePositionsHook']();}['_startDrawHook'](){const _0x514536={_0x20b0ad:0xd7a};function _0x508a98(_0x3822ab,_0x31f1ef){return _0x2b6441(_0x31f1ef,_0x3822ab-0x5c4);}this['_map']['on'](EventType[_0x508a98(0xa8b,0x90c)],this['_onMouseMoveHandler'],this);function _0x5c66d0(_0x34e867,_0x2fd6c5){return _0x2b6441(_0x34e867,_0x2fd6c5-0x2);}this['_map']['on'](this[_0x5c66d0(0x6a5,0xe17)],this['_onClickHandler'],this),this['_map']['on'](this['_drawEndEventType'],this['_onDbClickHandler'],this),(this['options']['hasDrawDelPoint']??!![])&&this['_map']['on'](this['_drawDelEventType'],this[_0x5c66d0(0xefc,_0x514536._0x20b0ad)],this);}[_0x2b6441(0x216,0x355)](){const _0x49ea7c={_0x5cdf12:0x1372,_0x5c543d:0xf12,_0x35660f:0x1237,_0xae6ce8:0x806,_0x294ad8:0x655,_0x5c7c14:0xe14,_0x28fafa:0xec2},_0x46691b={_0x15e59e:0x457},_0x4f9f13={_0x4876f6:0x592};this['_map']['off'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);function _0x1848e7(_0x589310,_0x1358c3){return _0x306755(_0x589310,_0x1358c3- -_0x4f9f13._0x4876f6);}function _0x3eb359(_0x5c08ee,_0x499986){return _0x306755(_0x5c08ee,_0x499986- -_0x46691b._0x15e59e);}this[_0x3eb359(0x129a,_0x49ea7c._0x5cdf12)]['off'](this['_drawAddEventType'],this[_0x1848e7(_0x49ea7c._0x5c543d,0xecc)],this),this[_0x1848e7(0x7e3,_0x49ea7c._0x35660f)][_0x3eb359(0x75e,0x515)](this['_drawEndEventType'],this['_onDbClickHandler'],this),(this[_0x3eb359(0x5b1,_0x49ea7c._0xae6ce8)][_0x1848e7(0x14fe,0xa5a)]??!![])&&this['_map']['off'](this[_0x3eb359(_0x49ea7c._0x294ad8,_0x49ea7c._0x5c7c14)],this[_0x3eb359(0x1181,_0x49ea7c._0x28fafa)],this);}['_getExSmallTooltip'](_0x44bd44,_0x40365b=''){const _0x28ef6c={_0x5bd18d:0x95f,_0x454b43:0x16f9,_0x388a13:0x10db,_0x3a0d9f:0x126c,_0x4a3d36:0x7b2,_0x1a8e1d:0x2f6,_0x3ab527:0x248,_0x369e2a:0xc00,_0x5b0faf:0x190c,_0x516721:0x51c},_0x9e24e8={_0x342e78:0x69f},_0x5357b9={_0x2479a6:0xec9},_0x1e0d87={_0x38fe17:0x332};if(this[_0x28ad8c(0x9ee,_0x28ef6c._0x5bd18d)]['drawShowMeasure']===![])return _0x40365b;if(this['_positions_draw'][_0x42be9c(_0x28ef6c._0x454b43,_0x28ef6c._0x388a13)]===0x0||!_0x44bd44[_0x42be9c(_0x28ef6c._0x3a0d9f,0x1302)])return _0x40365b;const _0x345138=Cesium__namespace[_0x28ad8c(_0x28ef6c._0x4a3d36,_0x28ef6c._0x1a8e1d)][_0x28ad8c(0xcae,_0x28ef6c._0x3ab527)](this['_positions_draw'][0x0],_0x44bd44['cartesian']);function _0x28ad8c(_0x5360fe,_0x41de95){return _0x2b6441(_0x41de95,_0x5360fe-_0x1e0d87._0x38fe17);}if(_0x345138>0x0){const _0x38d1ed={'unit':this['options'][_0x42be9c(_0x28ef6c._0x369e2a,0x837)],'getLangText':_0x1b0874=>{function _0x40bcb1(_0x41431b,_0x1e7a06){return _0x42be9c(_0x41431b-0x5e,_0x1e7a06);}return this['_map'][_0x40bcb1(_0x5357b9._0x2479a6,0x1065)](_0x1b0874);},'decimal':this['options'][_0x42be9c(_0x28ef6c._0x5b0faf,0x160c)]};return'<br\x20/>'+this['_map']['getLangText'](_0x42be9c(0xcda,_0x28ef6c._0x516721))+':'+formatDistance(_0x345138,_0x38d1ed)+'}';}function _0x42be9c(_0x5a9f25,_0x2e5899){return _0x2b6441(_0x2e5899,_0x5a9f25-_0x9e24e8._0x342e78);}return _0x40365b;}['_showDrawMouseMoveSmallTooltip'](_0x4ba876){const _0x204794={_0x4a7f02:0x10e2,_0x4d7665:0x20af,_0x42d041:0xee2,_0x42783f:0xbe0,_0x25ccc1:0x53f},_0x1a3d0a={_0x1cabf2:0x52d},_0xc9883b={_0x367bce:0x2c6};function _0x3b5bd2(_0x3ba7dd,_0x4a6a87){return _0x2b6441(_0x3ba7dd,_0x4a6a87-_0xc9883b._0x367bce);}function _0x20a55b(_0x1c360b,_0x5e053b){return _0x2b6441(_0x1c360b,_0x5e053b-_0x1a3d0a._0x1cabf2);}if(this['_positions_draw'][_0x20a55b(_0x204794._0x4a7f02,0x1587)]<=0x1){this['_map']['openSmallTooltip'](_0x4ba876['endPosition'],this[_0x3b5bd2(0x172c,0x14ee)]['getLangText']('_单击开始绘制'));return;}this[_0x20a55b(_0x204794._0x4d7665,0x1755)][_0x20a55b(0xa17,_0x204794._0x42d041)](_0x4ba876['endPosition'],this['_map']['getLangText'](_0x3b5bd2(0x6c8,_0x204794._0x42783f))+this[_0x3b5bd2(-0x69,_0x204794._0x25ccc1)](_0x4ba876));}[_0x2b6441(0xd50,0xdac)](_0x410656){const _0x13b291={_0x318e89:0x89a,_0x715869:0x1384,_0x7d19a6:0x1111,_0x3167c9:0x207,_0x5ba864:0xeac},_0x21e534={_0x778356:0x2a9};function _0x239231(_0x4e9971,_0x1c192d){return _0x306755(_0x1c192d,_0x4e9971- -_0x21e534._0x778356);}if(this[_0x239231(0x10d8,_0x13b291._0x318e89)]['length']<0x2)return;function _0x38c2bf(_0x5d7da6,_0x2d0a13){return _0x306755(_0x2d0a13,_0x5d7da6-0x3);}this['_calculateCzmHeight'](this['entityGraphic'],!![]);if(!_0x410656){const _0x25f9b0=formatNum$1(Cesium__namespace['Cartesian3']['distance'](this['_positions_draw'][0x0],this[_0x38c2bf(_0x13b291._0x715869,0xa52)][0x1]),0x2);if(_0x25f9b0<0x1)return;if(this['_maxPointNum']===0x3){let _0x17daa8=_0x25f9b0,_0x20c0ff=_0x25f9b0;this['_positions_draw']['length']===0x3&&(_0x20c0ff=formatNum$1(Cesium__namespace[_0x38c2bf(0xa24,0xb8)]['distance'](this[_0x38c2bf(0x1384,0x1b22)][0x0],this['_positions_draw'][0x2]),0x2));if(_0x17daa8>_0x20c0ff){const _0xd9c9c7=_0x17daa8;_0x17daa8=_0x20c0ff,_0x20c0ff=_0xd9c9c7;}this['entityGraphic'][_0x38c2bf(_0x13b291._0x7d19a6,0x1921)]=_0x20c0ff,this['entityGraphic']['semiMinorAxis']=_0x17daa8,this['style'][_0x239231(0xe65,0x690)]=_0x20c0ff,this[_0x38c2bf(0x859,0x114a)][_0x239231(_0x13b291._0x3167c9,-0x9f)]=_0x17daa8;}else this['entityGraphic']['semiMajorAxis']=_0x25f9b0,this['entityGraphic']['semiMinorAxis']=_0x25f9b0,this['style']['radius']=_0x25f9b0;}this[_0x38c2bf(0xf67,_0x13b291._0x5ba864)]&&(this[_0x38c2bf(0x154e,0x1771)]=this['getOutlinePositions'](),this['_updateOutlineToCallback']());}['_onRightClickHandler'](_0x478e62){const _0xf4de79={_0xaf2bde:0xc37},_0xd0546e={_0xbad60b:0x340},_0x359bea={_0x3009f6:0x314};super[_0x39409b(0xfd9,0x15b5)](_0x478e62),this['entityGraphic'][_0x39409b(0xdce,0x12cb)]=0x0;function _0x13a7a8(_0x2ac5b2,_0x4ff686){return _0x2b6441(_0x4ff686,_0x2ac5b2-_0x359bea._0x3009f6);}function _0x39409b(_0x17d151,_0xd8af7e){return _0x306755(_0xd8af7e,_0x17d151- -_0xd0546e._0xbad60b);}this['entityGraphic']['semiMinorAxis']=0x0,this['style'][_0x39409b(0x386,_0xf4de79._0xaf2bde)]=0x0;}[_0x306755(0x177b,0xd7c)](_0x145569=!![],_0x4b7e79){const _0xa263dc={_0x429fae:0x1837,_0x5affc6:0x13a0,_0x22358c:0x4df},_0x2e5cf8={_0x1c4663:0x1ba};var _0x16add3,_0x48f2e6,_0x45bde6,_0x53f1a1;const _0xb9a6c1=Cesium__namespace[_0x49cd83(0x207e,_0xa263dc._0x429fae)]['now'](),_0x165c35=getEllipseOuterPositions({'position':getPositionValue(this[_0x49cd83(0x148f,0xcac)]['position']),'semiMajorAxis':getCesiumValue((_0x16add3=this['_entity'][_0x4bdba1(0x1494,0xba8)])===null||_0x16add3===void 0x0?void 0x0:_0x16add3['semiMajorAxis'],Number,_0xb9a6c1),'semiMinorAxis':getCesiumValue((_0x48f2e6=this['_entity']['ellipse'])===null||_0x48f2e6===void 0x0?void 0x0:_0x48f2e6['semiMinorAxis'],Number,_0xb9a6c1),'rotation':getCesiumValue((_0x45bde6=this['_entity']['ellipse'])===null||_0x45bde6===void 0x0?void 0x0:_0x45bde6['rotation'],Number,_0xb9a6c1)??0x0,'granularity':getCesiumValue((_0x53f1a1=this['_entity'][_0x49cd83(_0xa263dc._0x5affc6,0x14c7)])===null||_0x53f1a1===void 0x0?void 0x0:_0x53f1a1[_0x49cd83(0x15b,0xb57)],Number,_0xb9a6c1),'count':_0x4b7e79});function _0x49cd83(_0x33446d,_0x5326f1){return _0x306755(_0x33446d,_0x5326f1- -_0x2e5cf8._0x1c4663);}function _0x4bdba1(_0x400562,_0x12015e){return _0x2b6441(_0x12015e,_0x400562-0x3b4);}if(_0x145569&&_0x165c35){var _0x177873;_0x165c35[_0x49cd83(0x513,_0xa263dc._0x22358c)](_0x165c35[0x0]),(this['style']['outlineWidth']>0x4||((_0x177873=this[_0x49cd83(0x1113,0x69c)]['outlineStyle'])===null||_0x177873===void 0x0?void 0x0:_0x177873['width'])>0x4)&&_0x165c35['push'](_0x165c35[0x1]);}return _0x165c35;}['getOutlineCoordinates'](_0xe1b752,_0x2d74e0,_0xc4142e){return cartesians2lonlats(this['getOutlinePositions'](_0xe1b752,_0x2d74e0),_0xc4142e);}[_0x306755(0x178b,0x1026)](_0x8f2d1a,_0x1357bc){const _0x5ce860={_0x4a9750:0x192e,_0x59b8db:0x1456,_0x259116:0x98c,_0x5c5529:0x130},_0x43b55a=super['_getOutlineStyle'](_0x8f2d1a,_0x1357bc);_0x43b55a[_0xbb3586(_0x5ce860._0x4a9750,_0x5ce860._0x59b8db)]=Cesium__namespace[_0x4e3b3e(_0x5ce860._0x259116,-_0x5ce860._0x5c5529)]['RHUMB'];function _0xbb3586(_0x25c1d3,_0x5c025c){return _0x306755(_0x25c1d3,_0x5c025c- -0x11e);}function _0x4e3b3e(_0x5ed5a0,_0x58a39d){return _0x306755(_0x58a39d,_0x5ed5a0- -0x4e4);}return _0x43b55a;}['getRectangle'](_0x1e0b58){const _0x2c6fef={_0x583ba0:0x1bac};function _0x2b957f(_0x25f9e7,_0x24713c){return _0x2b6441(_0x24713c,_0x25f9e7-0x1f5);}const _0x2d2328=this['getOutlinePositions'](![],0x1);function _0x1ece2b(_0x12b968,_0x106f49){return _0x2b6441(_0x106f49,_0x12b968-0x616);}if(!_0x2d2328||_0x2d2328[_0x1ece2b(0x1670,_0x2c6fef._0x583ba0)]===0x0)return;const _0x3cb08c=getRectangle(_0x2d2328,_0x1e0b58===null||_0x1e0b58===void 0x0?void 0x0:_0x1e0b58[_0x2b957f(0xed8,0x57e)]);return _0x3cb08c;}[_0x2b6441(0x5b9,0xfa0)](_0x50589a){const _0x37c0fd={_0x348d22:0xdb9},_0x3c2cd6=LngLatPoint['fromCartesian'](this[_0x5daefb(0x312,0x5a5)]);_0x3c2cd6['alt']=0x0;function _0x5daefb(_0x56b005,_0x1340af){return _0x2b6441(_0x1340af,_0x56b005-0xa9);}const _0x2caa78=LngLatPoint[_0x59cd85(0x164e,_0x37c0fd._0x348d22)](_0x50589a);_0x2caa78['alt']=0x0;function _0x59cd85(_0x3d664b,_0x2fbe6f){return _0x2b6441(_0x2fbe6f,_0x3d664b-0x41f);}const _0x42bfad=Cesium__namespace[_0x5daefb(0x529,0x258)]['distance'](_0x3c2cd6['toCartesian'](),_0x2caa78['toCartesian']());return _0x42bfad<=this['radius'];}['flyTo'](_0x24094a={}){const _0x5f0340={_0x44d2cb:0x14cd,_0x5cebb1:0xab7,_0x175bd7:0x1515},_0x3c9776={_0x4830bd:0x2b4};function _0x243e93(_0x13ae78,_0x5a5e5a){return _0x306755(_0x13ae78,_0x5a5e5a- -_0x3c9776._0x4830bd);}if(!this['_map'])return Promise['resolve'](![]);!Cesium__namespace[_0x27bcf2(_0x5f0340._0x44d2cb,0x1b10)](_0x24094a[_0x27bcf2(0x3e1,_0x5f0340._0x5cebb1)])&&(_0x24094a[_0x27bcf2(0x3e1,0xb78)]=this['radius']*0x2*(_0x24094a['scale']||1.8));function _0x27bcf2(_0x22c89b,_0x1b9864){return _0x2b6441(_0x1b9864,_0x22c89b-0x2bc);}return this[_0x243e93(0x15d6,_0x5f0340._0x175bd7)]['flyToPoint'](this['point'],_0x24094a);}}register$5('circle',CircleEntity,!![]);class EditModel extends EditBase{get['position'](){return this['_graphic']['_position_draw'];}set['position'](_0x9a49ae){const _0xf1fedb={_0x30c555:0x2},_0x1dea76={_0x3a855c:0x606};function _0x421f24(_0x5aaf42,_0x5b82ad){return _0x306755(_0x5b82ad,_0x5aaf42- -_0x1dea76._0x3a855c);}function _0x597baa(_0x381660,_0x148d5c){return _0x306755(_0x148d5c,_0x381660- -0x1ba);}this[_0x421f24(-0x1f,-0x509)][_0x421f24(_0xf1fedb._0x30c555,-0x564)]=_0x9a49ae;}['updatePositionsHeightByAttr'](_0x5b5344){const _0x275068={_0x147a20:0x3ca};function _0x24bea2(_0x27fe37,_0x511216){return _0x2b6441(_0x511216,_0x27fe37-0x179);}this[_0x24bea2(0x94,_0x275068._0x147a20)]&&(_0x5b5344=getSurfacePosition(this['_map'][_0x4dc35a(0x81a,0xe6d)],_0x5b5344));function _0x4dc35a(_0x17cf78,_0x5ee595){return _0x306755(_0x5ee595,_0x17cf78- -0x24b);}return _0x5b5344;}[_0x306755(0xe4b,0xff6)](){const _0x3847d8={_0x3be389:0x129d,_0x377352:0x3f4,_0x4673b:0x58d,_0x4ab1a2:0x12fa,_0x541fed:0x790,_0x5ee420:0x753,_0x53b489:0xaae,_0x5de282:0xe3c,_0x2bd206:0xb89,_0x15a222:0x3f4,_0x10cff5:0x2e5,_0x4122e9:0xa6b,_0x4b1b46:0x4ec,_0x53f2a0:0xb6e,_0x4baec7:0xcd4,_0x41a370:0xb33,_0x56559e:0x168,_0xd027b9:0xc92,_0x18265c:0x49a},_0x1eaf06={_0x3971b0:0xfe3,_0x1242b0:0x11cf,_0x2eaeb8:0x1762,_0x5e5135:0xdca},_0x31d0a9={_0x1f0693:0x230},_0x5d0c56={_0x547822:0x3b1},_0xf63f4f={_0x26481c:0x9e,_0x1fb129:0x993,_0xfbc0cf:0x161b,_0x574974:0x1334};this[_0x5c9230(0x185,-0x6dc)]['_draw_tooltip']=this['_map'][_0x422f98(_0x3847d8._0x3be389,0xb6e)]('_拖动该点后')+'<br/>'+this[_0x422f98(0xe74,0x15ca)]['getLangText']('_修改位置'),this['createDragger']({'dragger':this['_graphic'],'onDragStart':(_0x2183ae,_0x311823)=>{for(let _0x2cbe9f=0x0,_0x3c93a5=this['draggers']['length'];_0x2cbe9f<_0x3c93a5;_0x2cbe9f++){this['draggers'][_0x2cbe9f]['show']=![];}},'onDrag':(_0x33540e,_0x6cf62a)=>{this['position']=_0x6cf62a;},'onDragEnd':(_0x2077a4,_0x389df1)=>{this['updateDraggers']();}});function _0x422f98(_0x166d52,_0x52fe06){return _0x306755(_0x166d52,_0x52fe06- -0x1ff);}const _0xb69f85=this[_0x5c9230(_0x3847d8._0x377352,-_0x3847d8._0x4673b)]['radius'],_0x35107a=this[_0x5c9230(0xc2c,0xe75)](this['position']);function _0x5c9230(_0x26f598,_0xeb583){return _0x2b6441(_0xeb583,_0x26f598-0x13f);}if(this[_0x5c9230(_0x3847d8._0x4ab1a2,0x1788)]){const _0x35a972=_0x35107a&&Cesium__namespace['Cartographic'][_0x422f98(0x11d,0x7f0)](_0x35107a)[_0x5c9230(_0x3847d8._0x541fed,0x514)],_0x560340={};_0x560340[_0x5c9230(0x118a,0x17f0)]=![],_0x560340['outline']=!![],_0x560340['outlineColor']='#ffff00',_0x560340[_0x422f98(0x1128,_0x3847d8._0x5ee420)]=0.8,_0x560340[_0x422f98(-0x333,0x4c7)]=_0xb69f85,_0x560340['height']=_0x35a972,this[_0x5c9230(_0x3847d8._0x53b489,_0x3847d8._0x5de282)]=new CircleEntity({'name':_0x5c9230(_0x3847d8._0x2bd206,0x108a),'position':new Cesium__namespace[(_0x422f98(0xaa4,0x850))](_0x3e34c0=>{return _0x35107a;},![]),'style':_0x560340,'private':!![]}),this[_0x5c9230(0x568,0x215)]['addGraphic'](this['entityAngle']);const _0x100f2f=getPositionByDirectionAndLen(_0x35107a,this[_0x5c9230(_0x3847d8._0x15a222,_0x3847d8._0x10cff5)]['heading'],_0xb69f85),_0x5c80d3=this[_0x422f98(_0x3847d8._0x4122e9,_0x3847d8._0x4b1b46)]({'position':_0x100f2f,'type':EditPointType['EditAttr'],'tooltip':this['_map'][_0x422f98(0xccb,_0x3847d8._0x53f2a0)]('_修改方向'),'onDrag':(_0x56c4ad,_0x344c18)=>{const _0x4b4bc8=getAngle(_0x35107a,_0x344c18);function _0x51587d(_0x56a384,_0xedbf64){return _0x5c9230(_0x56a384-0x32c,_0xedbf64);}this[_0x480d53(-_0xf63f4f._0x26481c,_0xf63f4f._0x1fb129)][_0x51587d(0x109b,0x1593)]=formatNum$1(_0x4b4bc8,0x2);function _0x480d53(_0x3b835f,_0x218bbe){return _0x422f98(_0x3b835f,_0x218bbe-0x33c);}_0x56c4ad[_0x480d53(_0xf63f4f._0xfbc0cf,_0xf63f4f._0x574974)]=getPositionByDirectionAndLen(_0x35107a,this['style']['heading'],this['style']['radius']),this['_graphic']['updateOrientation'](_0x35107a);}});this['draggers'][_0x422f98(_0x3847d8._0x4baec7,0x49a)](_0x5c80d3);}if(this[_0x422f98(0x1385,0x102f)]&&!this['isScene2D']){const _0x4897ea=addPositionsHeight(_0x35107a,_0xb69f85),_0x14c882=this['createDragger']({'position':_0x4897ea,'type':EditPointType[_0x422f98(_0x3847d8._0x41a370,0x6de)],'tooltip':this['_map'][_0x5c9230(0x90b,0x1178)](_0x5c9230(0xa75,_0x3847d8._0x56559e)),'onDragStart':(_0x1ab278,_0x43caa7)=>{function _0x2161fe(_0x29730a,_0x29433c){return _0x422f98(_0x29730a,_0x29433c- -_0x5d0c56._0x547822);}function _0x4e0a48(_0x2300ff,_0x36999b){return _0x5c9230(_0x2300ff-_0x31d0a9._0x1f0693,_0x36999b);}this['entityAngle']&&(this['entityAngle'][_0x2161fe(0x8f4,_0x1eaf06._0x3971b0)]=![]);for(let _0x5b8007=0x0,_0x38f122=this[_0x4e0a48(_0x1eaf06._0x1242b0,_0x1eaf06._0x2eaeb8)]['length'];_0x5b8007<_0x38f122;_0x5b8007++){this[_0x2161fe(_0x1eaf06._0x5e5135,0xe51)][_0x5b8007]['show']=![];}},'onDrag':(_0x43f07d,_0x1eb96b)=>{const _0x1f194d={_0x6624e5:0x4e9},_0x22d706=Cesium__namespace['Cartesian3'][_0x212226(0xfa4,0x1728)](_0x1eb96b,_0x35107a),_0x47e509=_0x43f07d['radius']/(this['style'][_0x30ce29(0x86b,0x73e)]||0x1);let _0x49c51e=formatNum$1(_0x22d706/_0x47e509,0x3);if(isNaN(_0x49c51e))return;_0x49c51e<=0x0&&(_0x49c51e=0.001);this['style']['scale']=_0x49c51e;function _0x212226(_0x30f08c,_0x2b40b0){return _0x5c9230(_0x30f08c-_0x1f194d._0x6624e5,_0x2b40b0);}function _0x30ce29(_0x14b0e9,_0x1ce46e){return _0x422f98(_0x14b0e9,_0x1ce46e- -0x397);}this['entityGraphic']['scale']=_0x49c51e,_0x43f07d['radius']=_0x22d706,this['style']['radius']=_0x22d706;},'onDragEnd':(_0x35871e,_0x393957)=>{function _0x543126(_0x2247ce,_0x342b66){return _0x422f98(_0x2247ce,_0x342b66-0x308);}this[_0x543126(0x9b9,0x7cc)](),this['fire'](EventType['editStyle']);}});_0x14c882['radius']=_0xb69f85,this[_0x422f98(0x1bc2,0x1202)][_0x422f98(_0x3847d8._0xd027b9,_0x3847d8._0x18265c)](_0x14c882);}}[_0x306755(0x899,0x10aa)](){const _0x2f9985={_0x5dafdd:0x30,_0x3c3ba8:0xdca};function _0x44e097(_0x3617f4,_0x58c182){return _0x306755(_0x58c182,_0x3617f4- -0x1cf);}function _0x4183dc(_0x195397,_0x1107b6){return _0x306755(_0x195397,_0x1107b6- -0x146);}super['destroyDraggers'](),this['entityAngle']&&(this[_0x44e097(0x7fb,_0x2f9985._0x5dafdd)]['removeGraphic'](this[_0x4183dc(0x49b,_0x2f9985._0x3c3ba8)],!![]),delete this[_0x44e097(0xd41,0x15b2)]);}['getDraggerContextMenu'](_0x7dfb6e){const _0x318d9b={_0x3dc6fd:0xafa,_0x167b2d:0x11d9,_0x28fea6:0x116c,_0x1dad83:0x45f,_0xd46eb7:0xd93},_0x3ede75={_0x51af4a:0xf66},_0x42668b={_0x38b7ff:0x14b6,_0x384f7b:0x1388},_0x4f70c1={_0x1017a1:0x63d},_0x4ed766={_0x43d9b5:0xb4},_0x3b07f4={_0x184984:0x13f9},_0x23fda9={_0x450805:0xbf9,_0x12afe2:0x1b6,_0x346ac7:0x13ec,_0x4a0a33:0xbe5},_0x8aeefa={_0x576097:0x1d5},_0x5e1696={_0x36e460:0x153};function _0x547910(_0x3a4fa8,_0x32051f){return _0x2b6441(_0x32051f,_0x3a4fa8-0x18e);}const _0x28b334=super['getDraggerContextMenu'](_0x7dfb6e);(this[_0x547910(0x443,_0x318d9b._0x3dc6fd)]['hasEditRotate']??!![])&&(_0x28b334['push']({'text':this['_map']['getLangText']('_按轴旋转'),'icon':Icon[_0x547910(0x1483,0x1342)],'show':_0x33dd31=>{if(this['_map']['scene']['mode']!==Cesium__namespace[_0x124a6d(0x4e0,-0x357)]['SCENE3D'])return![];function _0xaceb03(_0x3e48c9,_0x5f19c5){return _0x3aac26(_0x5f19c5,_0x3e48c9-_0x5e1696._0x36e460);}function _0x124a6d(_0x2c3a9d,_0x2998e6){return _0x547910(_0x2c3a9d- -0xf3,_0x2998e6);}return!this[_0xaceb03(_0x8aeefa._0x576097,0x4b4)]||this[_0xaceb03(_0x8aeefa._0x576097,-0x6f7)]['_dragger_index']!==_0x7dfb6e['index'];},'callback':_0x39e898=>{const _0x1155e4={_0x5b20aa:0xe8};function _0x2218cb(_0x5304d5,_0x474d74){return _0x547910(_0x5304d5-0xfc,_0x474d74);}function _0x5bd6b4(_0x59e574,_0x414b55){return _0x547910(_0x59e574-_0x1155e4._0x5b20aa,_0x414b55);}this[_0x2218cb(_0x23fda9._0x450805,_0x23fda9._0x12afe2)]&&(this[_0x5bd6b4(0x69f,0x2e6)][_0x2218cb(0xa2c,0x1245)](this[_0x5bd6b4(0xbe5,_0x23fda9._0x346ac7)],!![]),delete this[_0x5bd6b4(_0x23fda9._0x4a0a33,0xe22)],this[_0x2218cb(0x1445,0xe79)]=![],this['updateDraggers']()),this['startRotateMatrix'](_0x39e898['graphic'],_0x39e898);}}),_0x28b334[_0x3aac26(-0x9f1,0xa9)]({'text':this[_0x3aac26(0x1b0d,_0x318d9b._0x167b2d)]['getLangText']('_停止按轴旋转'),'icon':Icon['BloomEffectNo'],'show':_0x94d94b=>{return this['_matrixRotate']&&this['_matrixRotate']['_dragger_index']===_0x7dfb6e['index'];},'callback':_0x38a126=>{function _0x4a35ae(_0x20dc3a,_0x57ed9a){return _0x3aac26(_0x20dc3a,_0x57ed9a-0x6e6);}this[_0x4a35ae(0x14e0,0x1325)]();}}));!Cesium__namespace['defined'](this[_0x3aac26(0xb4f,_0x318d9b._0x28fea6)])&&(this[_0x3aac26(0xb07,0x116c)]=this['options']['hasEditHeading']??![]);_0x28b334['push']({'text':_0x547910(0x114b,0x1881),'icon':Icon['DrawCircle'],'show':_0x51303d=>{return!this['_hasEditHeading'];},'callback':_0x343ba2=>{function _0x293245(_0x255957,_0x31a9a5){return _0x547910(_0x31a9a5-0xb0,_0x255957);}this[_0x104d32(0x576,0xcc3)]();function _0x104d32(_0x3112cf,_0x4043f0){return _0x3aac26(_0x3112cf,_0x4043f0-0x84);}this[_0x293245(0x937,_0x3b07f4._0x184984)]=!![],this['updateDraggers']();}}),_0x28b334['push']({'text':'停止编辑方向','icon':Icon['DrawCircle'],'show':_0x2dcbaf=>{return this['_hasEditHeading'];},'callback':_0x5cbb4b=>{function _0x3beb3d(_0x1b28da,_0x467ac2){return _0x547910(_0x467ac2- -_0x4ed766._0x43d9b5,_0x1b28da);}this['_hasEditHeading']=![],this[_0x3beb3d(_0x4f70c1._0x1017a1,0x1fc)]();}});!Cesium__namespace['defined'](this[_0x3aac26(0xdec,0xc3e)])&&(this['_hasEditScale']=this['options']['hasEditScale']??![]);_0x28b334['push']({'text':this['_map'][_0x547910(0x95a,0x2e8)](_0x3aac26(_0x318d9b._0x1dad83,_0x318d9b._0xd46eb7)),'icon':Icon['UndergroundYes'],'show':_0x4bd111=>{function _0x57e249(_0x319d41,_0x128650){return _0x3aac26(_0x128650,_0x319d41- -0x8);}function _0x33e9c4(_0x41f861,_0x540b4f){return _0x547910(_0x41f861-0x100,_0x540b4f);}if(this[_0x33e9c4(_0x42668b._0x38b7ff,0x140f)]['scene']['mode']!==Cesium__namespace['SceneMode'][_0x33e9c4(0xeb8,_0x42668b._0x384f7b)])return![];return!this['_hasEditScale'];},'callback':_0xddc020=>{this['_hasEditScale']=!![],this['updateDraggers']();}}),_0x28b334[_0x3aac26(0x82,0xa9)]({'text':this[_0x547910(0x13b6,0x1bda)]['getLangText']('_停止调整比例'),'icon':Icon['UndergroundNo'],'show':_0x1d21d1=>{return this['_hasEditScale'];},'callback':_0x2132bd=>{const _0x1f6907={_0xca1e88:0x328};function _0x7a4b82(_0x1ad3c0,_0x49fab3){return _0x3aac26(_0x1ad3c0,_0x49fab3-_0x1f6907._0xca1e88);}this[_0x7a4b82(0x183c,_0x3ede75._0x51af4a)]=![],this['updateDraggers']();}});function _0x3aac26(_0x214de2,_0x2ea59b){return _0x306755(_0x214de2,_0x2ea59b- -0x5f0);}return _0x28b334;}[_0x2b6441(0xd2f,0x807)](){const _0x5b603c={_0x194382:0xba6,_0x53662f:0xdd,_0x205893:0x9a6,_0x276d99:0x1e4};delete this[_0x588b6e(0xdd,_0x5b603c._0x194382)]['_draw_tooltip'];function _0x588b6e(_0x165cf9,_0x102152){return _0x2b6441(_0x102152,_0x165cf9-0x97);}delete this[_0x588b6e(_0x5b603c._0x53662f,-_0x5b603c._0x205893)]['_isDragger'],delete this[_0x2a8980(_0x5b603c._0x276d99,-0x6a9)]['_noMousePick'],delete this[_0x2a8980(0x1e4,0x1f9)]['_pointType'];function _0x2a8980(_0x5f0381,_0x8f9bde){return _0x2b6441(_0x8f9bde,_0x5f0381-0x19e);}delete this['_graphic']['onDrag'];}}class ModelEntity extends BasePointEntity{constructor(_0x2dafa7={}){const _0x495342={_0x41d54a:0x65b,_0x620969:0x1859};super(_0x2dafa7);function _0x4f295d(_0x2bb451,_0x5517b6){return _0x306755(_0x2bb451,_0x5517b6- -0x1fb);}function _0x4f99e2(_0x3f7487,_0x5a1839){return _0x2b6441(_0x3f7487,_0x5a1839-0x34e);}this[_0x4f295d(0x622,_0x495342._0x41d54a)]['radius']=this['style']['radius']??0x32,this[_0x4f99e2(_0x495342._0x620969,0xde7)]=Cesium__namespace['defer']();}get['entityGraphic'](){const _0xf3c22d={_0x1f5a84:0xbf9},_0x39ca03={_0x210cf2:0x1e0};var _0x273212;function _0x4b57ad(_0x428516,_0x5daff7){return _0x306755(_0x5daff7,_0x428516-0xe5);}function _0x4d2bde(_0x1d494b,_0x3f862e){return _0x2b6441(_0x3f862e,_0x1d494b-_0x39ca03._0x210cf2);}return(_0x273212=this[_0x4b57ad(0xf4b,_0xf3c22d._0x1f5a84)])===null||_0x273212===void 0x0?void 0x0:_0x273212[_0x4d2bde(0x1593,0x1c1a)];}get['EditClass'](){return EditModel;}get[_0x306755(0x1226,0xcd4)](){const _0x3e806b={_0x3cd3d2:0x509,_0x5b2ff6:0x7b8},_0x371e42={_0x172546:0x51c};function _0x5e6d1e(_0x17424c,_0x323d8c){return _0x306755(_0x17424c,_0x323d8c- -_0x371e42._0x172546);}return this['style'][_0x5e6d1e(_0x3e806b._0x3cd3d2,_0x3e806b._0x5b2ff6)]??0x1;}set[_0x2b6441(-0x266,0x733)](_0x2ef19b){const _0x6f16c3={_0x39b7b6:0xf6a,_0x294d39:0xaa0,_0x278cb0:0x1434},_0x5aaf22={_0x10e215:0x156};this['style'][_0x17e15a(_0x6f16c3._0x39b7b6,0xde5)]=_0x2ef19b;function _0x17e15a(_0x5f3f33,_0x525282){return _0x2b6441(_0x5f3f33,_0x525282-0x6b2);}const _0x11543c={};_0x11543c[_0x17e15a(_0x6f16c3._0x294d39,0xde5)]=_0x2ef19b;function _0x2f26f7(_0x1be90a,_0x32143b){return _0x306755(_0x1be90a,_0x32143b-_0x5aaf22._0x10e215);}this[_0x2f26f7(_0x6f16c3._0x278cb0,0x11b3)](this['style'],_0x11543c);}get[_0x306755(0x30b,0xc7c)](){return this['options']['splitDirection'];}set['splitDirection'](_0x15eb70){this['options']['splitDirection']=_0x15eb70,this['_entity']&&(this['_entity']['splitDirection']=_0x15eb70);}get['readyPromise'](){return this['_readyPromise']['promise'];}[_0x306755(0x1cd0,0x130c)](){const _0x3d4a26={_0x11c56f:0x1265,_0x4a9193:0x6af,_0x171b9a:0x96b,_0x38c1b6:0x8bb,_0x467a7e:0x1380,_0x11cc1e:0x14ae,_0x3c41d2:0x163a,_0x248bcb:0x1384,_0x342e37:0x195c,_0x8f88cb:0x978,_0x56c5fa:0x10c0,_0x5cc381:0x15bf,_0xe2f092:0x1885,_0x55880f:0x911,_0x471512:0x58f,_0xadee04:0x1b8,_0x3f83f0:0x6f5,_0x433e92:0x12dc,_0x4bcb27:0x18da,_0x2f3280:0x1814,_0x3748e8:0xd48,_0x5eb8c7:0x959,_0x1195d0:0x1d3,_0x157b33:0x193c,_0x57735a:0x1609,_0x2ab5a9:0x107,_0x2dc693:0xeb8,_0x14ecea:0x197c,_0x343274:0x1b0d,_0x5c895b:0x178e,_0x5d3deb:0x959,_0x52282f:0xaff,_0x58dce3:0x929,_0x3b73ae:0x21c8,_0x20c5e8:0xcee,_0x4dcb63:0x571,_0x25dabd:0xd35,_0x3a54e1:0xd48,_0x51d301:0x1128,_0x373687:0x11b4,_0x30556c:0x571,_0x56a9be:0xa63,_0xcc448f:0x1d99},_0x5ef22f={_0x2b929b:0x70b,_0x1a2337:0x16f7,_0x851b1e:0x11f4,_0x758c68:0x1ba6,_0x2516f5:0x10b1,_0x298398:0x446,_0x21c6a0:0x424,_0x545899:0x2247},_0x43d84f={_0x1c7027:0x76},_0x4242af={};_0x4242af['occlusion']=this['style'][_0x25d0db(0x158a,0x16b3)];const _0x3efb0f=_0x4242af;isMars3DCesium&&(this['loadOk']=![],this['fire'](EventType[_0x25d0db(0xdf0,0xf1a)],{'url':this['options']['url']}),this['_draw_tooltip']=this['_map']['getLangText'](_0xff71f5(_0x3d4a26._0x11c56f,0x1c36)),_0x3efb0f[_0x25d0db(0x29,_0x3d4a26._0x4a9193)]=(_0x26a0f5,_0x4570ae)=>{var _0x1f019c;delete this['_draw_tooltip'],this[_0xa39991(_0x5ef22f._0x2b929b,0x108b)]=!![],this[_0x4255e6(0x186d,_0x5ef22f._0x1a2337)]=_0x4570ae;(_0x1f019c=this['_layer'])!==null&&_0x1f019c!==void 0x0&&_0x1f019c['_objectsToExclude_auto']&&delete this[_0xa39991(_0x5ef22f._0x851b1e,_0x5ef22f._0x758c68)]['_objectsToExclude_auto'];_0x4570ae['boundingSphere'][_0x4255e6(0x951,0x723)]<(this['style'][_0x4255e6(_0x5ef22f._0x2516f5,0x1780)],0x3e8)&&(this['style'][_0x4255e6(_0x5ef22f._0x298398,0x723)]=_0x4570ae['boundingSphere']['radius']);function _0xa39991(_0x4419ea,_0x498fc){return _0xff71f5(_0x4419ea-0x134,_0x498fc);}this[_0x4255e6(_0x5ef22f._0x21c6a0,0x8e6)](EventType[_0x4255e6(_0x5ef22f._0x545899,0x18e7)],{'drawType':this[_0xa39991(0x1493,0x12d7)],'entity':_0x26a0f5,'model':_0x4570ae,'graphic':this},!![]);function _0x4255e6(_0x19d922,_0x45407f){return _0x25d0db(_0x19d922,_0x45407f- -_0x43d84f._0x1c7027);}this[_0xa39991(0xe6a,0x11b9)]['resolve'](this);});function _0xff71f5(_0x2a63a5,_0x35b653){return _0x306755(_0x35b653,_0x2a63a5- -0x304);}const _0x2eaf7f={'position':this['position'],'orientation':this['getOrientation'](),'model':ModelStyleConver[_0x25d0db(_0x3d4a26._0x171b9a,0x111f)](this['style'],{},!![])};!_0x2eaf7f['model']['uri']&&this['options'][_0xff71f5(_0x3d4a26._0x38c1b6,0xbb5)]&&(_0x2eaf7f[_0xff71f5(0x1650,0xc8d)][_0xff71f5(_0x3d4a26._0x467a7e,0xe00)]=this[_0xff71f5(0x959,0x675)]['url'],_0x2eaf7f['model']['show']=!![]);!Cesium__namespace[_0xff71f5(_0x3d4a26._0x11cc1e,_0x3d4a26._0x3c41d2)](_0x2eaf7f[_0xff71f5(0x978,0xc38)])&&Cesium__namespace[_0xff71f5(0x14ae,_0x3d4a26._0x248bcb)](this[_0x25d0db(_0x3d4a26._0x342e37,0x1497)][_0xff71f5(_0x3d4a26._0x8f88cb,0x7eb)])&&(_0x2eaf7f['splitDirection']=this[_0xff71f5(_0x3d4a26._0x56c5fa,0xab9)]['splitDirection']);const _0x556f0f=this['style']['label'];_0x556f0f&&(Cesium__namespace[_0x25d0db(_0x3d4a26._0x5cc381,_0x3d4a26._0xe2f092)](this['style']['clampToGround'])&&!Cesium__namespace['defined'](_0x556f0f[_0x25d0db(_0x3d4a26._0x55880f,_0x3d4a26._0x471512)])&&(_0x556f0f[_0xff71f5(_0x3d4a26._0xadee04,_0x3d4a26._0x3f83f0)]=this['style'][_0xff71f5(_0x3d4a26._0xadee04,-0x717)]),Cesium__namespace['defined'](_0x556f0f['setHeight'])||Cesium__namespace['defined'](_0x556f0f[_0x25d0db(0xa54,0xf58)])?this[_0x25d0db(_0x3d4a26._0x433e92,0xd93)](_0x556f0f):_0x2eaf7f[_0x25d0db(0x4cb,0x93e)]=LabelStyleConver['toCesiumVal'](_0x556f0f,{},this[_0x25d0db(0xafb,0xdcf)]));this[_0xff71f5(0x959,0xddb)][_0x25d0db(0x1dd5,0x1814)]&&(_0x2eaf7f[_0x25d0db(_0x3d4a26._0x4bcb27,_0x3d4a26._0x2f3280)]=BillboardStyleConver[_0xff71f5(_0x3d4a26._0x3748e8,0x1036)](this['options']['billboard'],{},!![]));function _0x25d0db(_0xd5b24b,_0x42d407){return _0x2b6441(_0xd5b24b,_0x42d407-0x674);}this[_0xff71f5(_0x3d4a26._0x5eb8c7,_0x3d4a26._0x1195d0)][_0x25d0db(0x18c0,_0x3d4a26._0x157b33)]&&(_0x2eaf7f[_0xff71f5(0x1565,_0x3d4a26._0x57735a)]=PointStyleConver['toCesiumVal'](this[_0x25d0db(0x124f,0xd30)]['point'],{},!![]));this[_0xff71f5(_0x3d4a26._0x5eb8c7,-_0x3d4a26._0x2ab5a9)][_0x25d0db(0xb8d,0xdef)]&&(_0x2eaf7f['ellipse']=CircleStyleConver['toCesiumVal'](this['options']['circle'],{},!![]));if(this['options'][_0x25d0db(0xf41,_0x3d4a26._0x2dc693)]){const _0x3d427b=PathStyleConver[_0x25d0db(_0x3d4a26._0x14ecea,0x111f)](this['options']['path'],{},!![]);!_0x3d427b[_0x25d0db(_0x3d4a26._0x343274,_0x3d4a26._0x5c895b)]&&(_0x3d427b['leadTime']=0x0),_0x2eaf7f[_0x25d0db(0x149d,0xeb8)]=_0x3d427b,!this[_0xff71f5(_0x3d4a26._0x5d3deb,_0x3d4a26._0x52282f)]['availability']&&this['_setAutoAvailability'](_0x2eaf7f);}if(this['style']['distanceDisplayCondition']){if(this['style'][_0xff71f5(0x10ba,0xc10)])_0x2eaf7f['point']=PointStyleConver['toCesiumVal'](this[_0x25d0db(0x780,_0x3d4a26._0x58dce3)]['distanceDisplayPoint']),_0x2eaf7f[_0x25d0db(_0x3d4a26._0x3b73ae,0x193c)]['distanceDisplayCondition']=this[_0x25d0db(0x1666,_0x3d4a26._0x20c5e8)](this['style']['distanceDisplayPoint']);else this[_0xff71f5(0x552,0xde9)][_0xff71f5(_0x3d4a26._0x4dcb63,_0x3d4a26._0x25dabd)]&&(_0x2eaf7f['billboard']=BillboardStyleConver[_0xff71f5(_0x3d4a26._0x3a54e1,_0x3d4a26._0x51d301)](this['style'][_0x25d0db(_0x3d4a26._0x373687,0x948)]),_0x2eaf7f['billboard']['distanceDisplayCondition']=this['_getTargetDistanceDisplayCondition'](this['style'][_0xff71f5(_0x3d4a26._0x30556c,-0x3b2)]));}_0x2eaf7f[_0x25d0db(0x20ad,0x1a27)][_0x25d0db(0x858,_0x3d4a26._0x56a9be)]=_0x3efb0f,this['_entity']=this[_0xff71f5(0x166c,_0x3d4a26._0xcc448f)](_0x2eaf7f);}[_0x306755(0xa05,0xe2b)](){this['rotateStop'](),super['_removedHook']();}['_style2Json'](_0x520991,_0x28ac32){const _0x5809cc={_0x43bc67:0x125b,_0x35adaf:0x1312,_0x3c0eb8:0x987,_0x3777a8:0x7c9,_0x1454ae:0xbb,_0x3eec84:0x74f},_0x18da17={_0x457bb3:0x47b};_0x28ac32=ModelStyleConver['toJSON'](_0x520991,_0x28ac32,!![]);function _0x3daf2e(_0x420a85,_0x40ce7c){return _0x2b6441(_0x420a85,_0x40ce7c-0x4f5);}function _0x596c9d(_0x26c2e6,_0x432121){return _0x2b6441(_0x432121,_0x26c2e6-_0x18da17._0x457bb3);}if(this[_0x3daf2e(0x49e,0x7aa)][_0x3daf2e(_0x5809cc._0x43bc67,_0x5809cc._0x35adaf)])_0x28ac32['distanceDisplayPoint']=PointStyleConver['toJSON'](this['style']['distanceDisplayPoint'],_0x28ac32['distanceDisplayPoint'],!![]);else this['style'][_0x3daf2e(_0x5809cc._0x3c0eb8,0x7c9)]&&(_0x28ac32[_0x3daf2e(0xe06,_0x5809cc._0x3777a8)]=BillboardStyleConver['toJSON'](this[_0x596c9d(0x730,0x913)][_0x3daf2e(_0x5809cc._0x1454ae,0x7c9)],_0x28ac32[_0x596c9d(_0x5809cc._0x3eec84,0xa)],!![]));return _0x28ac32;}[_0x2b6441(0x6e8,0xabc)](_0x43b731,_0x10dd28){const _0xc04344={_0xb6b81a:0x1238,_0x4a7cc6:0x80d,_0x24160c:0x1135,_0x2e21b6:0xb6b,_0x53e8e5:0x287,_0x4ac489:0x25b,_0x4852aa:0xe1,_0x40a84e:0x25,_0x576121:0x1b29,_0x297c59:0x510,_0x1617d5:0x258,_0x438a4a:0xf8e,_0x501e5d:0x1457,_0x222c26:0x50a,_0x16c109:0x9a4,_0x30c59c:0xab6,_0x6152f8:0x7c4,_0x4341cd:0x103e,_0x3ab610:0x9a1,_0x3a542e:0xe41,_0x22e20a:0x985,_0x34208f:0x193,_0x40c93a:0x375,_0x3a0adc:0x1063,_0x11e370:0xb0b,_0xb3106d:0x8e6,_0x30d3f0:0x321,_0x298503:0x525,_0x125c42:0x375,_0x17ce50:0xc00,_0x1db093:0x560},_0x51ebfe={_0x61dbca:0x4e1};var _0x446d08;function _0x17e483(_0x30eca0,_0x272572){return _0x306755(_0x30eca0,_0x272572- -_0x51ebfe._0x61dbca);}if(_0x10dd28['url']&&this[_0x3d8370(_0xc04344._0xb6b81a,0x198f)]&&((_0x446d08=this['entityGraphic']['uri'])===null||_0x446d08===void 0x0?void 0x0:_0x446d08['_value'])!==_0x10dd28['url']){this['loadOk']=![],this[_0x17e483(0xfba,0x599)][_0x17e483(-_0xc04344._0x4a7cc6,0xd8)]=![];const _0x596c39={};_0x596c39['url']=_0x10dd28===null||_0x10dd28===void 0x0?void 0x0:_0x10dd28['url'],this['fire'](EventType['loadBefore'],_0x596c39);}ModelStyleConver[_0x17e483(_0xc04344._0x24160c,_0xc04344._0x2e21b6)](_0x43b731,this['entityGraphic'],!![]),this['_entity']['orientation']=this['getOrientation']();Cesium__namespace['defined'](_0x43b731[_0x3d8370(0x161,-0x2f5)])&&this['_position_draw']&&(this[_0x17e483(_0xc04344._0x53e8e5,0x127)]['z']+=0.01);function _0x3d8370(_0x3b76db,_0x3ede9a){return _0x2b6441(_0x3ede9a,_0x3b76db-0x246);}if(_0x10dd28!==null&&_0x10dd28!==void 0x0&&_0x10dd28['label']){Cesium__namespace[_0x17e483(0x823,0x12d1)](_0x43b731['clampToGround'])&&!Cesium__namespace['defined'](_0x43b731[_0x3d8370(0x510,-_0xc04344._0x4ac489)]['clampToGround'])&&(_0x43b731[_0x17e483(0xda2,0x38a)][_0x17e483(_0xc04344._0x4852aa,-_0xc04344._0x40a84e)]=_0x43b731['clampToGround']);if(Cesium__namespace[_0x3d8370(0x1457,_0xc04344._0x576121)](_0x43b731[_0x3d8370(_0xc04344._0x297c59,_0xc04344._0x1617d5)][_0x17e483(0x165c,_0xc04344._0x438a4a)])||Cesium__namespace[_0x3d8370(_0xc04344._0x501e5d,0x1c59)](_0x43b731[_0x3d8370(0x510,-_0xc04344._0x222c26)][_0x17e483(0x726,_0xc04344._0x16c109)])){var _0xd2d14d;(_0xd2d14d=this[_0x17e483(0x1008,0x985)])!==null&&_0xd2d14d!==void 0x0&&_0xd2d14d['label']&&(this['_entity'][_0x3d8370(_0xc04344._0x297c59,_0xc04344._0x30c59c)]['show']=![]),this['_addLabel'](_0x43b731[_0x3d8370(0x510,_0xc04344._0x6152f8)]);}else this[_0x3d8370(0xb0b,0xd1a)]['label']=this['_entity']['label']||{},LabelStyleConver[_0x3d8370(0xcf1,_0xc04344._0x4341cd)](_0x43b731['label'],this[_0x17e483(0x183,0x985)]['label'],this[_0x3d8370(_0xc04344._0x3ab610,0xfa7)]);}if(this['style'][_0x3d8370(0x560,0xc3c)]){var _0x10da74;if(_0x10dd28[_0x17e483(0xe0c,0xedd)]&&this[_0x17e483(_0xc04344._0x3a542e,_0xc04344._0x22e20a)]['point'])PointStyleConver['toCesiumVal'](this[_0x17e483(-_0xc04344._0x34208f,_0xc04344._0x40c93a)][_0x3d8370(_0xc04344._0x3a0adc,0x11f7)],this[_0x3d8370(_0xc04344._0x11e370,0xf81)]['point']),this['_entity']['point']['distanceDisplayCondition']=this[_0x3d8370(0x8c0,_0xc04344._0xb3106d)](this['style']['distanceDisplayPoint']);else _0x10dd28[_0x3d8370(0x51a,_0xc04344._0x30d3f0)]&&(_0x10da74=this['_entity'])!==null&&_0x10da74!==void 0x0&&_0x10da74[_0x3d8370(0x13e6,0xca0)]&&(BillboardStyleConver[_0x17e483(0x1042,0xb6b)](this[_0x17e483(_0xc04344._0x298503,_0xc04344._0x125c42)][_0x3d8370(0x51a,0x5c8)],this[_0x17e483(_0xc04344._0x17ce50,0x985)]['billboard']),this['_entity']['billboard'][_0x3d8370(_0xc04344._0x1db093,0xa1)]=this['_getTargetDistanceDisplayCondition'](this['style'][_0x17e483(-0x304,0x394)]));}}['_updatePositionsHook'](){const _0x55c04a={_0x4e35f3:0x9da,_0x24991c:0x860,_0x452f75:0x5cc,_0x3791fe:0x8fb,_0x49a585:0x380,_0x3d4d7e:0x16f7,_0x172aa6:0x184a},_0x24ae10={_0x354c6a:0x1d1};function _0xa2695a(_0x11c031,_0x615a20){return _0x2b6441(_0x11c031,_0x615a20-0x610);}super[_0xa2695a(0x1298,_0x55c04a._0x4e35f3)](),this[_0x5d180b(0xc95,_0x55c04a._0x24991c)]['orientation']=this[_0x5d180b(0xc87,_0x55c04a._0x452f75)]();function _0x5d180b(_0xc42e1f,_0x5023c0){return _0x306755(_0x5023c0,_0xc42e1f- -_0x24ae10._0x354c6a);}if(this['_entity']['path']){var _0x1c408d;const _0x4dc02a=(_0x1c408d=this['position'])===null||_0x1c408d===void 0x0||(_0x1c408d=_0x1c408d[_0x5d180b(0x131e,0x123f)])===null||_0x1c408d===void 0x0?void 0x0:_0x1c408d[_0xa2695a(_0x55c04a._0x3791fe,0x117e)];if(_0x4dc02a&&_0x4dc02a['length']>0x0){var _0x507452;const _0x567a8a=_0x4dc02a[0x0];let _0x295e16=_0x4dc02a[_0x4dc02a['length']-0x1];((_0x507452=this['position'])===null||_0x507452===void 0x0?void 0x0:_0x507452['forwardExtrapolationType'])===Cesium__namespace['ExtrapolationType'][_0x5d180b(0xcb1,_0x55c04a._0x49a585)]&&(_0x295e16=Cesium__namespace['JulianDate']['fromDate'](new Date(0x834,0x1,0x1)));const _0x325ea3={};_0x325ea3['start']=_0x567a8a,_0x325ea3[_0xa2695a(_0x55c04a._0x3d4d7e,_0x55c04a._0x172aa6)]=_0x295e16,this['availability']=_0x325ea3;}}}['_setPositionsToCallback'](){const _0xe2d2b8={_0x262fc4:0x6c5,_0xccf1d7:0x1da2};function _0x31f8ef(_0x22ece3,_0x4e360e){return _0x2b6441(_0x4e360e,_0x22ece3-0x698);}super['_setPositionsToCallback'](),this['_entity']['orientation']=new Cesium__namespace[(_0x31f8ef(0xb46,0x802))](_0x21423e=>{function _0x2d09d1(_0x4ef3fc,_0x5021b9){return _0x31f8ef(_0x4ef3fc- -0x6d2,_0x5021b9);}const _0x138809=getPositionValue(this['position'],_0x21423e);if(_0x138809==null)return;const _0x159b10=Cesium__namespace['Math']['toRadians'](this['style']['heading']??0x0),_0x3d94af=Cesium__namespace['Math']['toRadians'](this['style']['pitch']??0x0),_0x59dde5=Cesium__namespace['Math']['toRadians'](this[_0x397ec0(_0xe2d2b8._0x262fc4,0xa66)]['roll']??0x0),_0xea5d72=new Cesium__namespace[(_0x397ec0(0x1307,_0xe2d2b8._0xccf1d7))](_0x159b10,_0x3d94af,_0x59dde5);function _0x397ec0(_0x2883f3,_0x1b3cba){return _0x31f8ef(_0x2883f3- -0x288,_0x1b3cba);}return Cesium__namespace['Transforms'][_0x2d09d1(-0x153,0x890)](_0x138809,_0xea5d72,this['ellipsoid'],this[_0x397ec0(0x439,0x8a8)]);},![]);}[_0x2b6441(0x90a,0xcf)](){const _0x1b5256={_0x81a5f:0x121c,_0x3fd98c:0x1836,_0x1b797c:0xa7c,_0x1711ef:0xc61,_0xfe2ef3:0x15ff},_0x153db3={_0xd6a331:0x1f7},_0x4c421e={_0x4f86b1:0x3ea};if(!this[_0x42be7a(_0x1b5256._0x81a5f,_0x1b5256._0x3fd98c)])return;function _0x42be7a(_0x7b565d,_0x4601e6){return _0x306755(_0x4601e6,_0x7b565d- -_0x4c421e._0x4f86b1);}function _0x5d838f(_0x335081,_0x3b3d93){return _0x2b6441(_0x3b3d93,_0x335081-_0x153db3._0xd6a331);}super['_cancelPositionsCallback'](),this[_0x42be7a(_0x1b5256._0x1b797c,0xf8)]&&(this['_entity'][_0x42be7a(_0x1b5256._0x1711ef,_0x1b5256._0xfe2ef3)]=this['getOrientation']());}[_0x306755(0x1cea,0x18d1)](_0x38c60f,_0x180bd5){const _0x20e515={_0x4a0775:0x275,_0x9e2f9c:0x82e,_0x41d719:0xf24,_0x4e2a5e:0x166c,_0xb0cda4:0x1083,_0x2d6220:0xc59,_0x7371e7:0xfa5},_0xfdfcd6={_0x138fd3:0x638};function _0x5790c9(_0x38b47b,_0x7bb492){return _0x306755(_0x38b47b,_0x7bb492- -_0xfdfcd6._0x138fd3);}_0x180bd5['billboard']&&BillboardStyleConver['toCesiumVal'](_0x38c60f['billboard'],this[_0x5790c9(_0x20e515._0x4a0775,_0x20e515._0x9e2f9c)]['billboard'],!![]);_0x180bd5[_0xd1f8b1(0x1e9a,0x19a8)]&&PointStyleConver['toCesiumVal'](_0x38c60f['point'],this['_entity']['point'],!![]);_0x180bd5[_0xd1f8b1(0x6b4,0xf24)]&&(PathStyleConver['toCesiumVal'](_0x38c60f['path'],this[_0x5790c9(0xef8,0x82e)][_0x5790c9(0x10d6,0x7ad)],!![]),!_0x38c60f[_0xd1f8b1(0x175f,_0x20e515._0x41d719)][_0x5790c9(_0x20e515._0x4e2a5e,_0x20e515._0xb0cda4)]&&(this['_entity']['path'][_0xd1f8b1(0x1454,0xb91)]=0x0));function _0xd1f8b1(_0x4b9a12,_0x1d587b){return _0x306755(_0x4b9a12,_0x1d587b-0x13f);}_0x180bd5[_0x5790c9(0xd51,0x6e4)]&&CircleStyleConver['toCesiumVal'](_0x38c60f[_0x5790c9(0x823,0x6e4)],this[_0xd1f8b1(_0x20e515._0x2d6220,_0x20e515._0x7371e7)]['ellipse'],!![]);}['_toJSON_Ex'](_0x358ba3){const _0x3afab9={_0x5a116e:0x426,_0x778037:0x97a,_0x56ef87:0x17fd,_0xa8e4d3:0x5c7,_0x57fcce:0x14bc,_0x59ac4e:0x4c4,_0x49afa1:0x8a2,_0x49d373:0x71a,_0x5ef897:0x56,_0x2239ae:0x1283,_0x4a09e2:0xbf1},_0x5adc7b={_0x4bdfaa:0x535};this[_0x2cb878(_0x3afab9._0x5a116e,0xbf1)][_0x2cb878(0x171b,0x16d5)]&&(_0x358ba3[_0xab0ba7(0x11fe,_0x3afab9._0x778037)]={},BillboardStyleConver['toJSON'](this['options']['billboard'],_0x358ba3[_0x2cb878(0x199e,0x16d5)],!![]));function _0x2cb878(_0x55f6b7,_0x33de44){return _0x2b6441(_0x55f6b7,_0x33de44-_0x5adc7b._0x4bdfaa);}function _0xab0ba7(_0x2e1b2e,_0x50216a){return _0x306755(_0x50216a,_0x2e1b2e- -0x543);}this[_0x2cb878(0xd5c,0xbf1)][_0x2cb878(0x1806,_0x3afab9._0x56ef87)]&&(_0x358ba3[_0x2cb878(0xec3,0x17fd)]={},PointStyleConver[_0xab0ba7(_0x3afab9._0xa8e4d3,0x9bc)](this['options']['point'],_0x358ba3['point'],!![])),this['options']['path']&&(_0x358ba3[_0x2cb878(_0x3afab9._0x57fcce,0xd79)]={},PathStyleConver[_0xab0ba7(0x5c7,-_0x3afab9._0x59ac4e)](this['options'][_0xab0ba7(_0x3afab9._0x49afa1,0x470)],_0x358ba3['path'],!![])),this[_0xab0ba7(_0x3afab9._0x49d373,0xad3)]['circle']&&(_0x358ba3['circle']={},CircleStyleConver[_0xab0ba7(0x5c7,_0x3afab9._0x5ef897)](this[_0x2cb878(_0x3afab9._0x2239ae,_0x3afab9._0x4a09e2)]['circle'],_0x358ba3[_0x2cb878(0x1707,0xcb0)],!![]));}['_addLabel'](_0x15cc05){const _0x43c5df={_0x4d311e:0x5fb,_0x45573e:0x1571,_0x15c268:0xe59,_0x2f0341:0xaf0,_0x494b8f:0x549,_0x2c3355:0x12dc,_0xcc8d15:0x31c,_0x2da83d:0x5e6,_0x33e793:0xed2,_0x5a94a7:0xbf6,_0x32eec8:0xcd0,_0x31a564:0x68c},_0x2e4446=this['style'][_0x53639d(0x3b2,_0x43c5df._0x4d311e)];function _0x53639d(_0x3e4bac,_0x49da14){return _0x306755(_0x3e4bac,_0x49da14- -0x270);}function _0x1d166e(_0x43ee34,_0x14d945){return _0x2b6441(_0x14d945,_0x43ee34-0x575);}if(Cesium__namespace[_0x53639d(0x1976,0x1542)](_0x2e4446['setHeight'])||Cesium__namespace[_0x1d166e(0x1786,_0x43c5df._0x45573e)](_0x2e4446[_0x1d166e(_0x43c5df._0x15c268,0xd8a)])){var _0x4649ba;(_0x4649ba=this['_entity'])!==null&&_0x4649ba!==void 0x0&&_0x4649ba[_0x1d166e(0x83f,_0x43c5df._0x2f0341)]&&(this['_entity']['label']['show']=![]),super[_0x1d166e(0xc94,_0x43c5df._0x494b8f)](_0x15cc05);}else this[_0x1d166e(0xe3a,_0x43c5df._0x2c3355)][_0x53639d(0x3b8,_0x43c5df._0x4d311e)]=this['_entity'][_0x1d166e(0x83f,0x1175)]||{},LabelStyleConver['toCesiumVal'](this[_0x53639d(_0x43c5df._0xcc8d15,_0x43c5df._0x2da83d)][_0x53639d(_0x43c5df._0x33e793,0x5fb)],this[_0x53639d(0x4c5,_0x43c5df._0x5a94a7)][_0x53639d(0x898,0x5fb)],this[_0x1d166e(_0x43c5df._0x32eec8,_0x43c5df._0x31a564)]);}['updateAttrForDrawing'](_0x2df75a){}['_updateDistanceDisplayConditionByEdit'](){}['_getTargetDistanceDisplayCondition'](_0xf65203){const _0x1ec580={_0xaa3e7e:0x810,_0x2ef39a:0x13ee,_0x5e0001:0x810,_0x44690f:0x46,_0x3f2de8:0x8bf,_0x4aaea0:0x125d,_0x5c6342:0xc18};let _0x4147ec;if(this[_0x3cb1d2(_0x1ec580._0xaa3e7e,0x73e)]['distanceDisplayCondition']instanceof Cesium__namespace['DistanceDisplayCondition'])_0x4147ec=this['style']['distanceDisplayCondition'][_0x41eed0(_0x1ec580._0x2ef39a,0x1116)];else this[_0x3cb1d2(_0x1ec580._0x5e0001,_0x1ec580._0x44690f)]['distanceDisplayCondition_far']&&(_0x4147ec=this[_0x3cb1d2(0x810,_0x1ec580._0x3f2de8)]['distanceDisplayCondition_far']);function _0x3cb1d2(_0x29df9f,_0x3cad02){return _0x306755(_0x3cad02,_0x29df9f- -0x46);}function _0x41eed0(_0x383e67,_0x3bdecb){return _0x306755(_0x383e67,_0x3bdecb-0x12d);}return new Cesium__namespace['DistanceDisplayCondition'](_0xf65203['distanceDisplayCondition_near']??_0x4147ec,_0xf65203['distanceDisplayCondition_far']??Number[_0x41eed0(_0x1ec580._0x4aaea0,_0x1ec580._0x5c6342)]);}['getHeadingPitchRoll'](){const _0x3e1e7a={_0x30be83:0xb65},_0x326f4e={_0x2c2e1c:0x4d8},_0x2894fc=this['_map']['clock']['currentTime'],_0xec24cf=this['positionShow'],_0x4ebccd=Cesium__namespace['Property']['getValueOrUndefined'](this[_0x33d07c(0xd9d,_0x3e1e7a._0x30be83)]['orientation'],_0x2894fc,new Cesium__namespace['Quaternion']()),_0x14d44e=getHeadingPitchRollByOrientation(_0xec24cf,_0x4ebccd,this['ellipsoid'],this['fixedFrameTransform']);function _0x33d07c(_0x581906,_0x122d8d){return _0x2b6441(_0x122d8d,_0x581906-_0x326f4e._0x2c2e1c);}return _0x14d44e;}['rotateStart'](_0x97102b={}){const _0x528006={_0x1c72c7:0x983,_0x4b275a:0x121a,_0x43e9b9:0x14f9,_0x2da49e:0x1269,_0x58e773:0x801},_0xfe278b={_0x3cf943:0xce5,_0x3a91e8:0x1198,_0x2e94ac:0x221,_0x2e6516:0xdd},_0x586efd={_0x16d4a6:0x98};function _0x3a2801(_0x31efbf,_0x5d77c0){return _0x2b6441(_0x31efbf,_0x5d77c0-0x595);}this[_0x5226d1(_0x528006._0x1c72c7,0x199)]&&this['rotateStop']();this['_rotateDirection']=_0x97102b[_0x5226d1(0x15d3,0x1ffc)]?0x1:-0x1,this['_rotateAngle']=0x168/(0x3c*(_0x97102b['time']||0x3c)),this['_rotateAutoStopAngle']=_0x97102b[_0x3a2801(_0x528006._0x4b275a,_0x528006._0x43e9b9)],this['_rotateHpr']=this[_0x5226d1(0xecf,0xb44)](),this['_startHeading']=this['_rotateHpr'][_0x5226d1(_0x528006._0x2da49e,_0x528006._0x58e773)];function _0x5226d1(_0x333978,_0x3c73b8){return _0x306755(_0x3c73b8,_0x333978-_0x586efd._0x16d4a6);}this[_0x5226d1(0x1122,0x1a56)]=0x0,this[_0x5226d1(0x983,-0xdb)]=!![],this['entity']['orientation']=new Cesium__namespace['CallbackProperty'](_0x203415=>{function _0x2f29f5(_0x42e418,_0x3d2bd8){return _0x3a2801(_0x42e418,_0x3d2bd8- -0x559);}const _0x11b7ad=getPositionValue(this['position'],_0x203415);function _0xab85ec(_0x50f53c,_0x444c05){return _0x3a2801(_0x50f53c,_0x444c05- -0x10f);}return Cesium__namespace[_0x2f29f5(_0xfe278b._0x3cf943,_0xfe278b._0x3a91e8)][_0x2f29f5(_0xfe278b._0x2e94ac,-_0xfe278b._0x2e6516)](_0x11b7ad,this['_rotateHpr'],this['ellipsoid'],this['fixedFrameTransform']);},![]),this['_map']['on'](EventType['preRender'],this['_rotate_onPreRenderHandler'],this);}[_0x306755(0x953,0x9ed)](_0x346344){const _0x2e71b6={_0x468a5:0x19e2,_0x3591fe:0x1051,_0x1209c1:0x148d,_0x317622:0x1332,_0x4b8fda:0xa62},_0x1f9c7e={_0x5adfe0:0x64d};if(!this[_0x4e355b(0x1875,0x1203)])return;this[_0x13517a(_0x2e71b6._0x468a5,_0x2e71b6._0x3591fe)]++;const _0x593fed=this[_0x4e355b(0x1136,0xcd8)]*this['_rotateAngle'];if(this['_rotateAutoStopAngle']&&_0x593fed>=this[_0x4e355b(_0x2e71b6._0x1209c1,0x1313)]){this['rotateStop']();return;}const _0x1f6d97=Cesium__namespace[_0x13517a(0xd10,_0x2e71b6._0x317622)]['toRadians'](_0x593fed*this[_0x13517a(0x727,0x1042)])+this['_startHeading'];function _0x4e355b(_0x19f7ec,_0xb0ed6a){return _0x2b6441(_0xb0ed6a,_0x19f7ec-_0x1f9c7e._0x5adfe0);}function _0x13517a(_0x260fd1,_0x4d75aa){return _0x306755(_0x260fd1,_0x4d75aa- -0x39);}this[_0x4e355b(_0x2e71b6._0x4b8fda,0x34a)]['heading']=_0x1f6d97;}['rotateStop'](){const _0x1af273={_0xc514aa:0xfb7,_0x3715cc:0xc99,_0x2421ad:0x298,_0x1553ae:0xb38},_0x31f607={_0x31fa53:0x4f},_0x1966fa={_0x1fb412:0x2fc};if(!this[_0x5220f3(0x72f,0x399)])return;this[_0x5a6e74(0x5ef,-0x3c3)]=![],this['_map']['off'](EventType['preRender'],this[_0x5220f3(0xc98,0x49b)],this),this['heading']=Cesium__namespace['Math'][_0x5220f3(_0x1af273._0xc514aa,0x8c6)](this[_0x5220f3(_0x1af273._0x3715cc,0x464)]['heading']),delete this['_rotateDirection'],delete this[_0x5a6e74(0x26f,-_0x1af273._0x2421ad)],delete this['_rotateAutoStopAngle'],delete this[_0x5a6e74(0x6ba,0x105f)];function _0x5a6e74(_0x36da07,_0x23808b){return _0x306755(_0x23808b,_0x36da07- -_0x1966fa._0x1fb412);}function _0x5220f3(_0x367e21,_0x406a8a){return _0x2b6441(_0x367e21,_0x406a8a-_0x31f607._0x31fa53);}delete this[_0x5220f3(0xe34,0xd44)],delete this[_0x5220f3(0x1e9,_0x1af273._0x1553ae)];}['moveTo'](_0x273e55){const _0x19a461={_0x43aa37:0x438,_0x5ceeb0:0x170,_0x1b84ec:0x1a67,_0x3db48d:0x1730,_0x12cd7f:0x1301,_0x22d31d:0x1556,_0x1ee9c5:0x135e,_0x51e323:0x81d,_0x31f290:0x15b,_0x40449e:0x1d52,_0xbd07ac:0xcab,_0x2bbe98:0xbe7,_0x153899:0x471},_0x1331c2={_0x38e274:0x228};return new Promise((_0x153e17,_0x451eea)=>{const _0x59e0b8={_0x5891bf:0x155c,_0x3d85ac:0x1750,_0x55f0fc:0xebb},_0x2d204a={_0x135822:0x1cd},_0x1108f9=new Cesium__namespace[(_0x14f641(_0x19a461._0x43aa37,_0x19a461._0x5ceeb0))]();_0x1108f9['forwardExtrapolationType']=Cesium__namespace[_0x2aca23(0x1221,_0x19a461._0x1b84ec)]['HOLD'];const _0x30ac0f=this[_0x14f641(0x132e,0x1a90)]['clock']['currentTime']['clone'](),_0x14de2a=this[_0x14f641(0x36f,-0x4a2)];function _0x14f641(_0xa59944,_0x573e8a){return _0x5bbe(_0xa59944- -_0x1331c2._0x38e274,_0x573e8a);}_0x1108f9['addSample'](_0x30ac0f,_0x14de2a);const _0x4c4196=LngLatPoint[_0x2aca23(_0x19a461._0x3db48d,_0x19a461._0x12cd7f)](_0x273e55['position'])['toCartesian'](),_0x232b9c=_0x273e55['time']||0x5,_0x1f0e21=Cesium__namespace[_0x14f641(_0x19a461._0x22d31d,0x1706)][_0x14f641(_0x19a461._0x1ee9c5,0x12bf)](_0x30ac0f,_0x232b9c,new Cesium__namespace['JulianDate']());_0x1108f9[_0x14f641(_0x19a461._0x51e323,_0x19a461._0x31f290)](_0x1f0e21,_0x4c4196),this['_entity']['position']=_0x1108f9;let _0x860795;_0x273e55['orientation']&&(_0x860795=this['_entity'][_0x14f641(0xbb0,0x121f)],this['_entity']['orientation']=new Cesium__namespace['VelocityOrientationProperty'](_0x1108f9));const _0x133494=this[_0x2aca23(0x1729,_0x19a461._0x40449e)]['clock']['multiplier'];function _0x2aca23(_0x124cac,_0x270ab7){return _0x5bbe(_0x124cac-0x1d3,_0x270ab7);}this[_0x2aca23(0x1729,0x2050)]['clock']['shouldAnimate']=!![],this['_map']['clock'][_0x14f641(_0x19a461._0xbd07ac,_0x19a461._0x2bbe98)]=_0x273e55['speed']||0x1,this[_0x14f641(_0x19a461._0x153899,-0x63e)]=()=>{if(!this[_0x33faa9(_0x59e0b8._0x5891bf,_0x59e0b8._0x3d85ac)])return;delete this['_cancelMoveTo'];_0x860795&&(this['_entity'][_0x33faa9(0xdde,_0x59e0b8._0x55f0fc)]=_0x860795);function _0x33faa9(_0xf14a35,_0x37da91){return _0x2aca23(_0xf14a35- -_0x2d204a._0x135822,_0x37da91);}this['position']=_0x4c4196,this[_0x33faa9(_0x59e0b8._0x5891bf,0x1b8b)]['clock']['multiplier']=_0x133494;function _0x4f1aab(_0x3e4765,_0x1f48a0){return _0x14f641(_0x3e4765-0xd5,_0x1f48a0);}_0x273e55[_0x33faa9(0x1250,0x1686)]&&_0x273e55['onEnd'](),_0x153e17(this);},setTimeout(()=>{this['cancelMoveTo']();},_0x232b9c*0x3e8);});}['cancelMoveTo'](){const _0x49074b={_0x1235d9:0xc5e,_0x5e64a7:0xa72,_0x36e312:0xe4f};function _0x3d761(_0xd11613,_0x63010){return _0x306755(_0x63010,_0xd11613- -0x483);}function _0x15e937(_0x588c7e,_0x522c2a){return _0x306755(_0x522c2a,_0x588c7e-0x166);}this[_0x15e937(0xa72,_0x49074b._0x1235d9)]&&this[_0x15e937(_0x49074b._0x5e64a7,_0x49074b._0x36e312)]();}['_getPopupPosition'](){const _0x165aed={_0x2a3920:0x1097},_0x121a0a={_0x56aab3:0x59};function _0x7037ef(_0x15cd06,_0x36b775){return _0x2b6441(_0x15cd06,_0x36b775-_0x121a0a._0x56aab3);}return this[_0x7037ef(_0x165aed._0x2a3920,0x91e)]['position'];}[_0x306755(0x1c91,0x18ee)](_0x2ede55){function _0x3933e5(_0x236c0b,_0x3e4ddc){return _0x306755(_0x3e4ddc,_0x236c0b- -0x265);}this[_0x3933e5(0x5f1,0x120)]['globalAlpha']=_0x2ede55;function _0x40dd06(_0x593c82,_0x4976d3){return _0x306755(_0x4976d3,_0x593c82-0xc5);}this['_entity']&&(ModelStyleConver['setOpacity'](this['entityGraphic'],_0x2ede55),this[_0x40dd06(0x1766,0x1923)](_0x2ede55));}[_0x2b6441(-0x597,0x34c)](_0x5f3c56,_0x412763){const _0x1a26d4={_0xeabd8:0x1fd4,_0x42ef41:0x714},_0x44dcb1={_0x458f06:0xda};var _0x4dc652;!Cesium__namespace['defined'](_0x412763)&&(_0x412763=new Cesium__namespace[(_0x5cce6d(0xa4e,0x928))]());const _0x2b4ad2=((_0x4dc652=this['style'])===null||_0x4dc652===void 0x0?void 0x0:_0x4dc652[_0x5a711f(0x164e,_0x1a26d4._0xeabd8)])??0x14;function _0x5a711f(_0x1ec2d8,_0x267daf){return _0x306755(_0x267daf,_0x1ec2d8- -_0x44dcb1._0x458f06);}function _0x5cce6d(_0xb99d05,_0x496bbd){return _0x2b6441(_0x496bbd,_0xb99d05-0x2b7);}const _0x71a8ce=_0x5f3c56['x']-_0x2b4ad2*0.5,_0x28d44f=_0x5f3c56['y']-_0x2b4ad2*0.5;return _0x412763['x']=_0x71a8ce,_0x412763['y']=_0x28d44f,_0x412763[_0x5a711f(0xb11,_0x1a26d4._0x42ef41)]=_0x2b4ad2,_0x412763['height']=_0x2b4ad2,_0x412763;}}register$5(_0x2b6441(0x133e,0x13b3),ModelEntity,!![]);class EditBox extends EditBase{set['position'](_0x418d10){this['_graphic']['_position_draw']=_0x418d10;}get[_0x2b6441(0x11f4,0xc56)](){return this['_graphic']['_position_draw'];}['bindDraggers'](){const _0x4bf442={_0x5bca62:0x1017,_0xcc5d9c:0x293,_0x111c35:0x7c0,_0x5789b3:0x397,_0x1a0318:0x345,_0x546484:0xd42,_0x880ccc:0x1151,_0x314da5:0x1586,_0x5ae5a7:0x1475,_0x316ade:0x10ad,_0x5d9d5d:0x113f},_0x3afdb6={_0xba615e:0x1bf},_0x4d47e2={_0x4e6eeb:0x72e,_0x5c19b3:0x9b5,_0x5c4daf:0xabc,_0x48fa48:0x9cd},_0x4ec871={_0x2dc006:0x2bc},_0x4d9185={_0x20e103:0xa14,_0x1ae579:0x121c,_0x7d4aaf:0x134b,_0x4d0b8c:0x1b4},_0x58a3dd={_0x4ab86e:0x2e7},_0x2d9353={_0x1e66c7:0x437},_0x50ca6c={_0x5935f6:0x36},_0x53df4d={_0x4fb3bf:0x63,_0x34df3a:0xb7b,_0x51580b:0x542},_0x6657cf={_0x55978c:0x17a},_0x485b05={_0x40bf28:0xaca,_0x430518:0x1876,_0x46899a:0xaca,_0x3572f7:0xdd7},_0x3959fe={_0x11dc32:0x378},_0x50e8b2={_0x1d8e40:0x354},_0x285728=this[_0x31bd0e(0x502,-0x19b)];let _0x50549d;const _0x29f1b8=this['position'];function _0x31bd0e(_0x41b412,_0x49af1b){return _0x306755(_0x49af1b,_0x41b412- -_0x50e8b2._0x1d8e40);}_0x50549d=this['createDragger']({'position':_0x29f1b8,'onDrag':(_0x34f9b5,_0x58978b)=>{const _0x5e82be={_0x497ba7:0x3fd},_0x5312ab=Cesium__namespace['Cartesian3']['subtract'](_0x58978b,this['position'],new Cesium__namespace[(_0x3005d1(_0x485b05._0x40bf28,0x35e))]());function _0x5c660a(_0x28bd55,_0x4c00ea){return _0x31bd0e(_0x28bd55-_0x3959fe._0x11dc32,_0x4c00ea);}function _0x3005d1(_0xc19d27,_0x59febe){return _0x31bd0e(_0xc19d27-_0x5e82be._0x497ba7,_0x59febe);}this[_0x3005d1(0x12a0,_0x485b05._0x430518)]=_0x58978b;for(let _0x269e81=0x0,_0x4ebad5=this['draggers']['length'];_0x269e81<_0x4ebad5;_0x269e81++){if(this['draggers'][_0x269e81]===_0x34f9b5)continue;this['draggers'][_0x269e81]['position']=Cesium__namespace[_0x3005d1(_0x485b05._0x46899a,0x191)][_0x3005d1(_0x485b05._0x3572f7,0x174e)](this['draggers'][_0x269e81]['position'],_0x5312ab,new Cesium__namespace['Cartesian3']());}}}),this['draggers']['push'](_0x50549d);const _0x52bf74=Cesium__namespace[_0x12cc87(0x19e0,0x10a9)]['toRadians'](this['_graphic']['heading']),_0x15709c=Cesium__namespace[_0x31bd0e(_0x4bf442._0x5bca62,0xb1b)]['toRadians'](this['_graphic']['pitch']),_0x1c92ee=Cesium__namespace['Math']['toRadians'](this[_0x31bd0e(_0x4bf442._0xcc5d9c,-0x52b)]['roll']);function _0x12cc87(_0x538078,_0x5272ff){return _0x2b6441(_0x538078,_0x5272ff-0x2df);}const _0x4e0725=new Cesium__namespace[(_0x12cc87(_0x4bf442._0x111c35,0x11d6))](_0x52bf74,_0x15709c,_0x1c92ee),_0x47f1f5=getPositionByHprAndOffset(_0x29f1b8,new Cesium__namespace['Cartesian3'](_0x285728['dimensions_x']/0x2,0x0,0x0),_0x4e0725);_0x50549d=this[_0x31bd0e(_0x4bf442._0x5789b3,-0x573)]({'position':_0x47f1f5,'type':EditPointType[_0x31bd0e(0xcb0,0x981)],'tooltip':this['_map']['getLangText'](_0x12cc87(0xa10,0x6e1)),'onDrag':(_0x3f4b68,_0x296ea1)=>{const _0x1a12c9=Cesium__namespace['Cartographic'][_0x64b15a(0x521,_0x53df4d._0x4fb3bf)](this['position'])[_0x3fb4a8(_0x53df4d._0x34df3a,0xc4d)];_0x296ea1=setPositionsHeight(_0x296ea1,_0x1a12c9),_0x3f4b68[_0x3fb4a8(0x838,0x1252)]=_0x296ea1;const _0x4cd6ac=this['formatNum'](Cesium__namespace['Cartesian3']['distance'](this['position'],_0x296ea1),0x2);_0x285728['dimensions_x']=_0x4cd6ac*0x2,this['updateBox'](_0x285728);function _0x64b15a(_0x11d403,_0x293ec0){return _0x31bd0e(_0x11d403- -_0x6657cf._0x55978c,_0x293ec0);}function _0x3fb4a8(_0x3a428e,_0x5ee389){return _0x12cc87(_0x3a428e,_0x5ee389-0x31d);}this[_0x64b15a(0x3bb,-_0x53df4d._0x51580b)](EventType['editStyle']);},'onDragEnd':(_0x4a1b5b,_0x1b507f)=>{function _0x2076e1(_0x24e256,_0x5ecf7e){return _0x12cc87(_0x24e256,_0x5ecf7e-_0x50ca6c._0x5935f6);}this[_0x2076e1(-0x1ff,_0x2d9353._0x1e66c7)]();}}),this['draggers'][_0x31bd0e(_0x4bf442._0x1a0318,_0x4bf442._0x546484)](_0x50549d);const _0x45e8bc=getPositionByHprAndOffset(_0x29f1b8,new Cesium__namespace['Cartesian3'](0x0,_0x285728[_0x31bd0e(_0x4bf442._0x880ccc,0x6ed)]/0x2,0x0),_0x4e0725);_0x50549d=this[_0x31bd0e(_0x4bf442._0x5789b3,-0x2c9)]({'position':_0x45e8bc,'type':EditPointType[_0x31bd0e(0xcb0,_0x4bf442._0x314da5)],'tooltip':this[_0x31bd0e(_0x4bf442._0x5ae5a7,0x1f2c)]['getLangText']('_修改宽度'),'onDrag':(_0x56b607,_0x5ed1ee)=>{const _0x1902d6=Cesium__namespace['Cartographic'][_0x13aae4(_0x4d9185._0x20e103,0x4e3)](_0x29f1b8)[_0x13aae4(0xc17,0x1381)];function _0x13aae4(_0x4edda5,_0x9d9c68){return _0x12cc87(_0x9d9c68,_0x4edda5-_0x58a3dd._0x4ab86e);}_0x5ed1ee=setPositionsHeight(_0x5ed1ee,_0x1902d6);function _0x3107dc(_0xe72678,_0x1f2c98){return _0x12cc87(_0x1f2c98,_0xe72678-0x3bd);}_0x56b607['position']=_0x5ed1ee;const _0x444120=this['formatNum'](Cesium__namespace['Cartesian3']['distance'](this[_0x13aae4(_0x4d9185._0x1ae579,_0x4d9185._0x7d4aaf)],_0x5ed1ee),0x2);_0x285728['dimensions_y']=_0x444120*0x2,this['updateBox'](_0x285728),this[_0x13aae4(0x8ae,_0x4d9185._0x4d0b8c)](EventType['editStyle']);},'onDragEnd':(_0x7d269b,_0x24915f)=>{function _0x307137(_0x3b33ee,_0x4f4986){return _0x31bd0e(_0x4f4986-0x82,_0x3b33ee);}this[_0x307137(0x54d,0x3f1)]();}}),this[_0x31bd0e(_0x4bf442._0x316ade,0x1a97)][_0x31bd0e(0x345,0x62a)](_0x50549d);if(!this['isScene2D']){const _0x51b7ac=getPositionByHprAndOffset(_0x29f1b8,new Cesium__namespace['Cartesian3'](0x0,0x0,_0x285728['dimensions_z']/0x2),_0x4e0725);_0x50549d=this['createDragger']({'position':_0x51b7ac,'type':EditPointType['MoveHeight'],'tooltip':this[_0x12cc87(0x16ba,0x1507)]['getLangText']('_修改高度'),'onDrag':(_0x2657f7,_0x2aec0f)=>{function _0x38ed29(_0x34446b,_0x469e8e){return _0x12cc87(_0x469e8e,_0x34446b- -_0x4ec871._0x2dc006);}const _0x2d4809=this[_0x5bf284(0xc4d,_0x4d47e2._0x4e6eeb)](Cesium__namespace['Cartesian3']['distance'](this['position'],_0x2aec0f),0x2);_0x285728[_0x38ed29(_0x4d47e2._0x5c19b3,_0x4d47e2._0x5c4daf)]=_0x2d4809*0x2;function _0x5bf284(_0x1729ee,_0x143c78){return _0x12cc87(_0x143c78,_0x1729ee-0x406);}this['updateBox'](_0x285728),this[_0x5bf284(_0x4d47e2._0x48fa48,0x1271)](EventType[_0x38ed29(0x1b,-0x5d4)]);},'onDragEnd':(_0x110aba,_0xa57001)=>{function _0x41d215(_0x1f440a,_0x4a60b6){return _0x31bd0e(_0x1f440a- -0x1b0,_0x4a60b6);}this[_0x41d215(_0x3afdb6._0xba615e,-0x112)]();}}),this[_0x12cc87(0x1b5d,_0x4bf442._0x5d9d5d)]['push'](_0x50549d);}}['updateBox'](_0xce9384){const _0x1f5f37=new Cesium__namespace['Cartesian3'](_0xce9384[_0x56a086(0x145b,0x162e)],_0xce9384['dimensions_y'],_0xce9384['dimensions_z']);function _0x56a086(_0x9f800c,_0x1c1c26){return _0x2b6441(_0x1c1c26,_0x9f800c-0x692);}this['entityGraphic']['dimensions']['setValue'](_0x1f5f37);}['_updateStyleHook'](_0xe88b0e){const _0x13943f={_0x377b0a:0xfe2,_0x3e6b09:0xe55,_0x19b3e8:0x799,_0x2febf2:0xef5};function _0x2cbc22(_0x4f1ec8,_0x267e6a){return _0x2b6441(_0x4f1ec8,_0x267e6a-0x337);}super[_0x2cbc22(_0x13943f._0x377b0a,0xdf3)](_0xe88b0e);function _0x560fed(_0xb84983,_0x136e4b){return _0x2b6441(_0x136e4b,_0xb84983- -0xaf);}(Cesium__namespace['defined'](_0xe88b0e['dimensions_x'])||Cesium__namespace['defined'](_0xe88b0e[_0x560fed(_0x13943f._0x3e6b09,_0x13943f._0x19b3e8)])||Cesium__namespace[_0x2cbc22(_0x13943f._0x2febf2,0x1548)](_0xe88b0e['dimensions_z']))&&this['updateDraggers']();}}class BoxEntity extends BasePointEntity{get[_0x306755(0xd44,0xa7a)](){var _0x5cb6ce;return(_0x5cb6ce=this['_entity'])===null||_0x5cb6ce===void 0x0?void 0x0:_0x5cb6ce['box'];}get[_0x306755(0xd2a,0xe73)](){return EditBox;}[_0x306755(0x1d35,0x130c)](){const _0x45f210={_0x4487b1:0x1408,_0x4e990f:0x12fd,_0x2619a6:0xf5e,_0x1ab724:0x106b,_0x41eac7:0x108b},_0xcac6d7={'position':this[_0x24b465(_0x45f210._0x4487b1,_0x45f210._0x4e990f)],'orientation':this[_0x24b465(0x703,_0x45f210._0x2619a6)](),'box':BoxStyleConver[_0x5aca00(0xbe9,0xa31)](this['style'],{},!![])};function _0x24b465(_0x374e79,_0x3cde8d){return _0x306755(_0x374e79,_0x3cde8d-0x106);}this[_0x5aca00(_0x45f210._0x1ab724,0x84b)]=this[_0x24b465(_0x45f210._0x41eac7,0x1a76)](_0xcac6d7);function _0x5aca00(_0x1d2de4,_0x5dbc1f){return _0x306755(_0x1d2de4,_0x5dbc1f- -0x61b);}this['style']['label']&&this['_addLabel'](this['style']['label']);}['_style2Json'](_0x2d0179,_0x207916){return BoxStyleConver['toJSON'](_0x2d0179,_0x207916,!![]);}['_updateStyleHook'](_0x3d3ea6,_0x3f0a2e){const _0x5d6470={_0x4b8e0f:0x116f,_0x9c913d:0x18ec},_0x2d5652={_0x159653:0x177};function _0x192d64(_0x399cbc,_0x36cb72){return _0x306755(_0x36cb72,_0x399cbc- -0x643);}function _0x2df00b(_0x221abd,_0x57f570){return _0x306755(_0x57f570,_0x221abd- -_0x2d5652._0x159653);}_0x3f0a2e&&(Cesium__namespace['defined'](_0x3f0a2e['heading'])||Cesium__namespace['defined'](_0x3f0a2e['pitch'])||Cesium__namespace[_0x192d64(_0x5d6470._0x4b8e0f,_0x5d6470._0x9c913d)](_0x3f0a2e['roll']))&&(this[_0x2df00b(0xcef,0xce9)][_0x2df00b(0xed4,0x4d2)]=this['getOrientation']()),BoxStyleConver['toCesiumVal'](_0x3d3ea6,this[_0x192d64(0x437,-0x5c)],!![]);}['_setPositionsToCallback'](){const _0x309603={_0x56a720:0x1183,_0xe6caae:0xad1,_0x2ede1b:0x37f,_0x5ca7c0:0x391};super['_setPositionsToCallback']();function _0x4e197a(_0xeee66a,_0x5e4457){return _0x306755(_0x5e4457,_0xeee66a- -0x165);}const _0xd68378=getCesiumValue(this['entityGraphic']['dimensions'],Number,this['_map'][_0x2db647(0x11b3,0x88f)]['currentTime']);this[_0x4e197a(0x6f1,0x7af)][_0x2db647(_0x309603._0x56a720,_0x309603._0xe6caae)]=this[_0x4e197a(0x6f1,0x679)]['dimensions_x']??_0xd68378['x'],this[_0x4e197a(0x6f1,_0x309603._0x2ede1b)]['dimensions_y']=this['style'][_0x4e197a(0x1340,0x8b1)]??_0xd68378['y'],this[_0x2db647(0x66f,-_0x309603._0x5ca7c0)][_0x2db647(0xd4c,0x47d)]=this['style'][_0x4e197a(0xdce,0x13f9)]??_0xd68378['z'];function _0x2db647(_0x1e019a,_0x543ba6){return _0x306755(_0x543ba6,_0x1e019a- -0x1e7);}delete this['style']['dimensions'];}}register$5('box',BoxEntity,!![]);class EditPlane extends EditBase{get['position'](){return this['_graphic']['_position_draw'];}set['position'](_0x2e6d4a){const _0x54f3e6={_0x37e4a7:0x598,_0x5d692d:0x764};function _0x4cc7a8(_0x3d56d8,_0x4b6d82){return _0x2b6441(_0x4b6d82,_0x3d56d8-0x6fd);}function _0xa03895(_0x15967b,_0x58cc6c){return _0x306755(_0x58cc6c,_0x15967b- -0x136);}this[_0xa03895(0x4b1,_0x54f3e6._0x37e4a7)][_0x4cc7a8(_0x54f3e6._0x5d692d,0x874)]=_0x2e6d4a;}['bindDraggers'](){const _0x3e8d59={_0x4c5615:0x796,_0x252d65:0x8b9,_0x58f03c:0x1ac0,_0x271334:0x1416,_0xa819b7:0x1676,_0x567180:0x349,_0x16e92c:0xa87,_0x3e102d:0x1b68,_0x1bd1e5:0xa4f,_0x40fbfc:0x44d,_0x20c421:0x622,_0x5f2c7b:0xd66,_0x12394b:0x593,_0x546892:0x783,_0x574415:0x2157,_0x532a22:0x3fb,_0x4ea605:0xe18},_0x16add7={_0x1808e4:0x4c2,_0x463e63:0xd76,_0x3af166:0x686},_0x1b122b={_0x57eae5:0xf7},_0x279b01={_0x22e030:0x5f4,_0x114d6d:0x11a0,_0x1a792d:0xd20,_0x31de52:0xdfc,_0xb1ad55:0xaf6,_0x46fa84:0x9ca,_0x497c2f:0xfbc},_0x35cba3={_0x53d694:0x869},_0x4b4f9c={_0x2922cc:0x7e9,_0x278fc9:0x1b86,_0xb3166c:0x9ec,_0x42eb67:0xa7},_0x3eceac={_0x59d82f:0xf5a,_0x55819e:0xb89,_0x59cbb9:0x1164,_0x3cffa4:0xa63,_0x22ebd6:0xe3e,_0x20b6e6:0x526,_0x1c15e9:0x1164};function _0x28b8a7(_0x2b288b,_0x2425c1){return _0x2b6441(_0x2b288b,_0x2425c1-0x64c);}function _0x5d89e4(_0x33c49b,_0x3deddc){return _0x2b6441(_0x3deddc,_0x33c49b-0x303);}const _0x2fac0c=this['style'];let _0x506fd6;const _0x5315c7=this['position'];_0x506fd6=this[_0x28b8a7(0xab9,_0x3e8d59._0x4c5615)]({'position':_0x5315c7,'onDrag':(_0x768d93,_0x25583d)=>{const _0x5c0102={_0xc9d104:0x348},_0x5369bc=Cesium__namespace['Cartesian3']['subtract'](_0x25583d,this[_0xe37346(_0x3eceac._0x59d82f,0x15ef)],new Cesium__namespace['Cartesian3']());function _0xe37346(_0x1e7af2,_0x53e9ef){return _0x28b8a7(_0x53e9ef,_0x1e7af2- -_0x5c0102._0xc9d104);}this['position']=_0x25583d;function _0x389248(_0x2a1854,_0x31f710){return _0x28b8a7(_0x2a1854,_0x31f710- -0x5a6);}for(let _0x429b68=0x0,_0x318ddc=this['draggers']['length'];_0x429b68<_0x318ddc;_0x429b68++){if(this[_0xe37346(0x1164,_0x3eceac._0x55819e)][_0x429b68]===_0x768d93)continue;this[_0xe37346(_0x3eceac._0x59cbb9,_0x3eceac._0x3cffa4)][_0x429b68][_0x389248(_0x3eceac._0x22ebd6,0xcfc)]=Cesium__namespace[_0x389248(0x437,_0x3eceac._0x20b6e6)]['add'](this[_0xe37346(_0x3eceac._0x1c15e9,0x19c6)][_0x429b68]['position'],_0x5369bc,new Cesium__namespace['Cartesian3']());}}}),this[_0x5d89e4(0x1163,_0x3e8d59._0x252d65)]['push'](_0x506fd6);const _0x43a8b5=Cesium__namespace[_0x28b8a7(_0x3e8d59._0x58f03c,_0x3e8d59._0x271334)]['toRadians'](this['_graphic'][_0x5d89e4(0xf33,_0x3e8d59._0xa819b7)]),_0x309773=Cesium__namespace['Math']['toRadians'](this[_0x5d89e4(_0x3e8d59._0x567180,_0x3e8d59._0x16e92c)]['pitch']),_0x1707f4=Cesium__namespace['Math']['toRadians'](this['_graphic'][_0x5d89e4(0x74e,0xbb9)]),_0x2aa151=new Cesium__namespace[(_0x5d89e4(0x11fa,_0x3e8d59._0x3e102d))](_0x43a8b5,_0x309773,_0x1707f4),_0x49f602=new Cesium__namespace[(_0x5d89e4(0x783,0x11c7))]();switch(_0x2fac0c['plane_normal']){case'x':_0x49f602['y']=_0x2fac0c['dimensions_x']/0x2;break;default:_0x49f602['x']=_0x2fac0c[_0x5d89e4(0x10cc,_0x3e8d59._0x1bd1e5)]/0x2;break;}_0x506fd6=this[_0x5d89e4(_0x3e8d59._0x40fbfc,-_0x3e8d59._0x20c421)]({'position':getPositionByHprAndOffset(_0x5315c7,_0x49f602,_0x2aa151),'type':EditPointType[_0x5d89e4(_0x3e8d59._0x5f2c7b,0x14d9)],'tooltip':this['_map']['getLangText']('_修改长度'),'onDrag':(_0x46c124,_0x36a653)=>{const _0x3c8ecd={_0x15340b:0x2b1},_0x33f9b0=Cesium__namespace['Cartographic'][_0xec32f9(_0x4b4f9c._0x2922cc,-0x2d7)](this[_0x576802(0x123b,_0x4b4f9c._0x278fc9)])[_0xec32f9(_0x4b4f9c._0xb3166c,0x632)];_0x36a653=setPositionsHeight(_0x36a653,_0x33f9b0),_0x46c124['position']=_0x36a653;const _0x201101=this[_0xec32f9(0x903,_0x4b4f9c._0x42eb67)](Cesium__namespace['Cartesian3']['distance'](this['position'],_0x36a653),0x2);function _0x576802(_0x3ab42c,_0x31cb12){return _0x28b8a7(_0x31cb12,_0x3ab42c- -0x67);}function _0xec32f9(_0xf021ea,_0x653996){return _0x28b8a7(_0x653996,_0xf021ea- -_0x3c8ecd._0x15340b);}_0x2fac0c['dimensions_x']=_0x201101*0x2,this['updatePlane'](_0x2fac0c);},'onDragEnd':(_0x5e3600,_0xd8ac55)=>{function _0x51c072(_0x953661,_0x11e02f){return _0x5d89e4(_0x953661- -0x22f,_0x11e02f);}this[_0x51c072(0x1f6,-_0x35cba3._0x53d694)]();}}),this['draggers']['push'](_0x506fd6);if(_0x2fac0c[_0x28b8a7(0xa5a,_0x3e8d59._0x12394b)]==='z')_0x506fd6=this['createDragger']({'position':getPositionByHprAndOffset(_0x5315c7,new Cesium__namespace[(_0x5d89e4(_0x3e8d59._0x546892,0x431))](0x0,_0x2fac0c['dimensions_y']/0x2,0x0),_0x2aa151),'type':EditPointType['EditAttr'],'tooltip':this[_0x28b8a7(_0x3e8d59._0x574415,0x1874)][_0x5d89e4(0xacf,0x102e)]('_修改宽度'),'onDrag':(_0x32185d,_0x31777a)=>{const _0x226621={_0x16cfe3:0x15d};function _0x139fe6(_0x33ad1f,_0x45b60c){return _0x28b8a7(_0x45b60c,_0x33ad1f- -0x102);}const _0x2bb636=Cesium__namespace[_0x3c62e9(0x50e,0xa1e)][_0x3c62e9(_0x279b01._0x22e030,0x913)](this[_0x139fe6(_0x279b01._0x114d6d,_0x279b01._0x1a792d)])['height'];_0x31777a=setPositionsHeight(_0x31777a,_0x2bb636),_0x32185d[_0x3c62e9(_0x279b01._0x31de52,0x971)]=_0x31777a;const _0x233ad8=this[_0x139fe6(0xab2,_0x279b01._0xb1ad55)](Cesium__namespace[_0x139fe6(_0x279b01._0x46fa84,0x5af)][_0x139fe6(0xec6,_0x279b01._0x497c2f)](this[_0x139fe6(0x11a0,0xf64)],_0x31777a),0x2);function _0x3c62e9(_0x57e30c,_0x4b719f){return _0x5d89e4(_0x57e30c- -_0x226621._0x16cfe3,_0x4b719f);}_0x2fac0c['dimensions_y']=_0x233ad8*0x2,this['updatePlane'](_0x2fac0c);},'onDragEnd':(_0x2cd934,_0xea5204)=>{this['updateDraggers']();}}),this['draggers'][_0x5d89e4(_0x3e8d59._0x532a22,0x324)](_0x506fd6);else{const _0x1cf966={};_0x1cf966['x']=0x0,_0x1cf966['y']=0x0,_0x1cf966['z']=0x0;const _0x483a0f=_0x1cf966;switch(_0x2fac0c[_0x5d89e4(0x24a,0x743)]){case'x':case'y':_0x483a0f['z']=_0x2fac0c['dimensions_y']/0x2;break;default:_0x483a0f['y']=_0x2fac0c['dimensions_y']/0x2;break;}_0x506fd6=this['createDragger']({'position':getPositionByHprAndOffset(_0x5315c7,_0x483a0f,_0x2aa151),'type':EditPointType['MoveHeight'],'tooltip':this['_map'][_0x28b8a7(0x1839,_0x3e8d59._0x4ea605)](_0x28b8a7(0xdf9,0xaea)),'onDrag':(_0x18819a,_0x589d6a)=>{function _0x2163a4(_0x5a22ad,_0x4f4680){return _0x5d89e4(_0x4f4680-_0x1b122b._0x57eae5,_0x5a22ad);}function _0x4c997a(_0xe4397d,_0x173dbc){return _0x5d89e4(_0x173dbc-0x1e9,_0xe4397d);}const _0xac62cb=this['formatNum'](Cesium__namespace['Cartesian3'][_0x2163a4(_0x16add7._0x1808e4,_0x16add7._0x463e63)](this['position'],_0x589d6a),0x2);_0x2fac0c['dimensions_y']=_0xac62cb*0x2,this[_0x2163a4(0x819,_0x16add7._0x3af166)](_0x2fac0c);},'onDragEnd':(_0x4c5dc1,_0x35496d)=>{this['updateDraggers']();}}),this['draggers']['push'](_0x506fd6);}}['updatePlane'](_0x1fbd47){const _0x31b74={_0x21b507:0xc28,_0x277aae:0x86a,_0x4eda18:0x872,_0x58eb98:0x12c3,_0x90b863:0x899},_0x4a9bef=new Cesium__namespace['Cartesian2'](_0x1fbd47[_0x41260c(_0x31b74._0x21b507,0x10df)],_0x1fbd47[_0x6ad657(_0x31b74._0x277aae,0x1037)]);this[_0x41260c(_0x31b74._0x4eda18,0x7ef)]['dimensions'][_0x6ad657(_0x31b74._0x58eb98,_0x31b74._0x90b863)](_0x4a9bef);function _0x41260c(_0x4a80c1,_0x61dadd){return _0x2b6441(_0x4a80c1,_0x61dadd-0x316);}function _0x6ad657(_0x7b6868,_0x191577){return _0x306755(_0x7b6868,_0x191577- -0x46e);}this['fire'](EventType[_0x41260c(0x4ec,0x30e)]);}[_0x2b6441(0x1279,0xabc)](_0xb6d92d){const _0x45b171={_0x107db3:0x224};function _0x53d9dc(_0x24d59b,_0x44b546){return _0x2b6441(_0x44b546,_0x24d59b-0x3d2);}super['_updateStyleHook'](_0xb6d92d);function _0x13b795(_0x13e530,_0x1671c4){return _0x2b6441(_0x1671c4,_0x13e530-0x199);}(Cesium__namespace[_0x13b795(0x13aa,0x1b9f)](_0xb6d92d[_0x13b795(0xf62,0x578)])||Cesium__namespace['defined'](_0xb6d92d['dimensions_y']))&&this[_0x13b795(0x2bb,-_0x45b171._0x107db3)]();}}class PlaneEntity extends BasePointEntity{get['entityGraphic'](){var _0xe4535c;return(_0xe4535c=this['_entity'])===null||_0xe4535c===void 0x0?void 0x0:_0xe4535c['plane'];}get['EditClass'](){return EditPlane;}[_0x2b6441(0x781,0xd6b)](){const _0x2f8407={_0x58c21f:0x18b7,_0x395f53:0x116f},_0x2a4ff3={'position':this[_0x4dc845(0x115f,0x1395)],'orientation':this['getOrientation'](),'plane':PlaneStyleConver[_0x5688bd(_0x2f8407._0x58c21f,_0x2f8407._0x395f53)](this[_0x5688bd(0x8e1,0x979)],{},!![])};this['_entity']=this[_0x5688bd(0x21e7,0x1a93)](_0x2a4ff3);function _0x4dc845(_0x459976,_0x1d8ba6){return _0x2b6441(_0x1d8ba6,_0x459976-0x509);}function _0x5688bd(_0x6a50df,_0x52dd45){return _0x2b6441(_0x6a50df,_0x52dd45-0x6c4);}this['style']['label']&&this[_0x4dc845(0xc28,0xce3)](this['style']['labe']);}[_0x2b6441(-0x8ef,0x36)](_0x393b5e,_0x30adc7){return PlaneStyleConver['toJSON'](_0x393b5e,_0x30adc7,!![]);}['_updateStyleHook'](_0x228207,_0x1f9f0f){const _0x273021={_0xd1535d:0x1094,_0x113f8c:0x443,_0xc94dff:0xe77,_0x4407b4:0xe78,_0x4ecbed:0x8a6},_0x58f412={_0x4e068c:0x3cd};function _0x59111e(_0x15c7cf,_0x5703c2){return _0x2b6441(_0x5703c2,_0x15c7cf-0x604);}_0x1f9f0f&&(Cesium__namespace['defined'](_0x1f9f0f['heading'])||Cesium__namespace[_0x59111e(0x1815,_0x273021._0xd1535d)](_0x1f9f0f['pitch'])||Cesium__namespace[_0x59111e(0x1815,0x1a91)](_0x1f9f0f[_0x59111e(0xa4f,0x3b9)]))&&(this['_entity'][_0x44b866(_0x273021._0x113f8c,_0x273021._0xc94dff)]=this[_0x59111e(0xebb,0x86e)]());function _0x44b866(_0x833eb,_0x59d06a){return _0x2b6441(_0x833eb,_0x59d06a-_0x58f412._0x4e068c);}PlaneStyleConver[_0x44b866(0xf1a,_0x273021._0x4407b4)](_0x228207,this[_0x44b866(0xf33,_0x273021._0x4ecbed)],!![]);}['_setPositionsToCallback'](){const _0x151433={_0x54dd77:0x7aa,_0x4ee724:0x14e4,_0x5965f2:0x6e8},_0x882192={_0x23466f:0xdd};super['_setPositionsToCallback']();const _0x2ccce7=getCesiumValue(this['entityGraphic']['dimensions'],Cesium__namespace[_0x589f48(0x28,-_0x151433._0x54dd77)],this[_0x2e60b8(0x1b86,_0x151433._0x4ee724)]['clock'][_0x589f48(_0x151433._0x5965f2,0x771)]);function _0x589f48(_0x58c4e9,_0x2cd48e){return _0x2b6441(_0x2cd48e,_0x58c4e9-_0x882192._0x23466f);}function _0x2e60b8(_0x231da9,_0x2197c5){return _0x2b6441(_0x231da9,_0x2197c5-0x2bc);}_0x2ccce7&&PlaneStyleConver['toOneJson']('dimensions',_0x2ccce7,this['style']);const _0x16780d=getCesiumValue(this['entityGraphic']['plane'],Cesium__namespace['Plane'],this['_map']['clock']['currentTime']);_0x16780d&&PlaneStyleConver['toOneJson']('plane',_0x16780d,this['style']);}}register$5('plane',PlaneEntity,!![]);class EditCylinder extends EditPoly{set[_0x2b6441(0x690,0xc56)](_0x30e77a){this['positions'][0x0]=_0x30e77a;}get['position'](){return this['positions'][0x0];}[_0x2b6441(0xf17,0xa55)](){const _0x900741={_0x29f6fc:0x1556,_0xe46462:0xe88,_0x45257e:0x842,_0x119863:0x194,_0x2a4189:0x145a,_0x1a119f:0x1272},_0x1c13ef={_0x52f36d:0xdb3},_0x11a4d3={_0xdbc79a:0x1f4,_0x167276:0x768,_0x2acd37:0x886},_0x23800c={_0x5b6736:0x283},_0x262db8={_0x1f9b54:0x83f},_0x5c5193={_0x57f376:0x4a},_0x24c93c={_0x57df0b:0x1a0},_0x8390f2={_0x4584a4:0xbb9},_0xc6857d=this[_0x4952dd(_0x900741._0x29f6fc,0x162a)],_0x323708=this[_0x4952dd(0x145b,_0x900741._0xe46462)];function _0x4952dd(_0x5e4a33,_0x1e9286){return _0x2b6441(_0x5e4a33,_0x1e9286-0x232);}let _0x5ac5f2=0x0;const _0x4af9ad=this['createDragger']({'position':_0x323708,'onDragStart':(_0x4631e3,_0x123cdd)=>{function _0x13d250(_0x22948b,_0x328767){return _0x4952dd(_0x328767,_0x22948b-0x481);}function _0x4a85b1(_0x2a6550,_0x3d7a86){return _0xaa27c(_0x2a6550-0x527,_0x3d7a86);}for(let _0x5554a9=0x0,_0x40f6c1=this['draggers'][_0x4a85b1(0x15cb,_0x8390f2._0x4584a4)];_0x5554a9<_0x40f6c1;_0x5554a9++){this['draggers'][_0x5554a9][_0x4a85b1(0x1563,0x1f58)]=![];}},'onDrag':(_0x4cad99,_0x300bb7)=>{_0xc6857d[0x0]=_0x300bb7;},'onDragEnd':(_0x5de4c9,_0x587ac1)=>{function _0xf90dfb(_0x2d370b,_0x25f5fe){return _0xaa27c(_0x25f5fe-0x34,_0x2d370b);}this[_0xf90dfb(0x21b,_0x24c93c._0x57df0b)]();}});_0x4af9ad['index']=_0x5ac5f2,this['draggers'][_0x4952dd(0xb0c,0x32a)](_0x4af9ad);const _0x5ad8f1=getEllipseOuterPositions({'position':_0x323708,'semiMajorAxis':this['style'][_0x4952dd(_0x900741._0x45257e,0x735)],'semiMinorAxis':this['style']['bottomRadius'],'rotation':Cesium__namespace['Math']['toRadians'](Number(this['style']['rotation']||0x0))});_0x5ac5f2=0x1;function _0xaa27c(_0x550994,_0xd598b8){return _0x2b6441(_0xd598b8,_0x550994-_0x5c5193._0x57f376);}const _0x12f2a8=_0x5ad8f1[0x0];_0xc6857d[_0x5ac5f2]=_0x12f2a8;const _0x37eb91=this[_0xaa27c(_0x900741._0x119863,0x7ac)]({'position':_0x12f2a8,'type':EditPointType['EditAttr'],'tooltip':this[_0x4952dd(0x1d57,_0x900741._0x2a4189)][_0x4952dd(0xd00,0x9fe)](_0xaa27c(0xaac,0x701)),'onDrag':(_0x463ed1,_0x4d2a8a)=>{const _0x394d46={_0x34d380:0x2f2};_0xc6857d[0x1]=_0x4d2a8a;function _0x29530d(_0x4737fc,_0x12de0b){return _0xaa27c(_0x12de0b-_0x394d46._0x34d380,_0x4737fc);}const _0x11c500=this['formatNum'](Cesium__namespace['Cartesian3'][_0x29530d(0x15b7,0xcb8)](_0xc6857d[0x0],_0x4d2a8a),0x2);this['style'][_0x29530d(0xeb5,_0x262db8._0x1f9b54)]=_0x11c500;function _0x20f5ed(_0x57d9f6,_0x24da5c){return _0x4952dd(_0x57d9f6,_0x24da5c- -0x59);}this['fire'](EventType['editStyle']);},'onDragEnd':(_0x1ce33e,_0x47b77f)=>{this['updateDraggers']();}});_0x37eb91['index']=_0x5ac5f2,this['draggers']['push'](_0x37eb91);if(!this['isScene2D']){_0x5ac5f2=0x2;const _0xf3b402=addPositionsHeight(_0x323708,this['style']['length']);_0xc6857d[_0x5ac5f2]=_0xf3b402;const _0x41e380=this['createDragger']({'position':_0xf3b402,'type':EditPointType['MoveHeight'],'tooltip':this[_0xaa27c(_0x900741._0x1a119f,0x7e2)]['getLangText']('_修改高度'),'onDrag':(_0x160dd9,_0x14e871)=>{_0xc6857d[_0x160dd9['index']]=_0x14e871;function _0x2e2718(_0x150a2f,_0x495dbc){return _0xaa27c(_0x495dbc-_0x23800c._0x5b6736,_0x150a2f);}function _0x54c8d3(_0x483f21,_0x5111e4){return _0x4952dd(_0x483f21,_0x5111e4-0x36c);}const _0x13d82d=this['formatNum'](Cesium__namespace[_0x2e2718(-_0x11a4d3._0xdbc79a,0x74d)]['distance'](_0xc6857d[0x0],_0x14e871),0x2);this['style']['length']=_0x13d82d,this[_0x54c8d3(_0x11a4d3._0x167276,_0x11a4d3._0x2acd37)](EventType['editStyle']);},'onDragEnd':(_0x597726,_0x4ae735)=>{function _0x119e1e(_0x321e0f,_0x523dda){return _0x4952dd(_0x321e0f,_0x523dda-0x3c3);}this[_0x119e1e(_0x1c13ef._0x52f36d,0x717)]();}});_0x41e380['index']=_0x5ac5f2,this['draggers'][_0x4952dd(0x7e,0x32a)](_0x41e380);}}[_0x306755(0x19b7,0x105d)](_0x1b73a2){const _0x2afd70={_0x5adce9:0x76b,_0x1c6a29:0x1d05,_0x1fd995:0x61},_0x32f49b={_0x19e0dc:0x339};super[_0xfb20f4(0xb09,0x1245)](_0x1b73a2);function _0xfb20f4(_0x4cefa9,_0x21c389){return _0x2b6441(_0x21c389,_0x4cefa9-0x4d);}function _0x4d2d47(_0x59cd1d,_0x33b42d){return _0x306755(_0x59cd1d,_0x33b42d- -_0x32f49b._0x19e0dc);}(Cesium__namespace['defined'](_0x1b73a2['topRadius'])||Cesium__namespace['defined'](_0x1b73a2[_0x4d2d47(-0x332,_0x2afd70._0x5adce9)])||Cesium__namespace[_0xfb20f4(0x125e,_0x2afd70._0x1c6a29)](_0x1b73a2['length'])||Cesium__namespace['defined'](_0x1b73a2[_0xfb20f4(0x4cc,_0x2afd70._0x1fd995)]))&&this['updateDraggers']();}}class CylinderEntity extends BasePointEntity{constructor(_0x43cee={}){const _0x1f6108={_0x45de6e:0xeb2,_0x1cb244:0x146f},_0x411d18={_0x15b056:0x2e5};super(_0x43cee),this[_0x39a2cc(_0x1f6108._0x45de6e,_0x1f6108._0x1cb244)]=0x2;function _0x39a2cc(_0x1a3a4c,_0x503c7d){return _0x306755(_0x1a3a4c,_0x503c7d- -_0x411d18._0x15b056);}this['_maxPointNum']=0x2;}get['entityGraphic'](){const _0x2f1601={_0x3652e1:0xf5b},_0xa1959d={_0x92c4cc:0x25d};function _0x9e4af9(_0x2bd9b1,_0x5e5a89){return _0x306755(_0x5e5a89,_0x2bd9b1- -_0xa1959d._0x92c4cc);}var _0xea02ec;return(_0xea02ec=this['_entity'])===null||_0xea02ec===void 0x0?void 0x0:_0xea02ec[_0x9e4af9(0x1024,_0x2f1601._0x3652e1)];}get['EditClass'](){return EditCylinder;}[_0x306755(0x1820,0x130c)](){const _0x310101={_0xde2523:0x1899},_0x3942a5={_0x5ac4c8:0xd7};function _0xbef4f1(_0x293481,_0x40d39a){return _0x306755(_0x293481,_0x40d39a- -_0x3942a5._0x5ac4c8);}function _0x104b80(_0x56c607,_0x1582c1){return _0x2b6441(_0x1582c1,_0x56c607-0xaf);}this[_0x104b80(0x974,0x723)]=this[_0xbef4f1(0x1dc3,_0x310101._0xde2523)](this['_getCreateEntityAttr']()),this[_0x104b80(0x364,0x485)]['label']&&this[_0x104b80(0x7ce,0x78c)](this[_0x104b80(0x364,0x338)]['label']);}['_getCreateEntityAttr'](){const _0x3adfc7={_0x5ef37e:0xd7a},_0x312918={'position':this['position'],'orientation':this[_0x307c99(_0x3adfc7._0x5ef37e,0xa70)](),'cylinder':CylinderStyleConver['toCesiumVal'](this['style'],{},!![])};function _0x307c99(_0x188cc2,_0x2f709f){return _0x306755(_0x188cc2,_0x2f709f- -0x3e8);}return _0x312918;}['_style2Json'](_0x55ceef,_0x3a0160){const _0xec2e7={_0x11422b:0x15df};function _0x597718(_0x4f6c29,_0x588771){return _0x2b6441(_0x4f6c29,_0x588771-0x6f6);}return CylinderStyleConver[_0x597718(_0xec2e7._0x11422b,0xc5f)](_0x55ceef,_0x3a0160,!![]);}['_updateStyleHook'](_0x35d741,_0x324006){const _0x539113={_0x246b11:0x17cf,_0x5920ce:0x16e2,_0x2011bf:0xc08,_0x182c3c:0x6f5,_0x31eeb0:0xcd1,_0xabc9dc:0x1409,_0x571aa8:0x1554,_0xa50e22:0x1b8b,_0x43c469:0x1554,_0x24992a:0x594,_0x123205:0x1474},_0x5b2a72={_0x130a18:0x25e};CylinderStyleConver['toCesiumVal'](_0x35d741,this['entityGraphic'],{},!![]);(Cesium__namespace[_0x20ef4e(0x162b,_0x539113._0x246b11)](_0x324006[_0x20ef4e(0x104a,0x82c)])||Cesium__namespace[_0x20ef4e(0x162b,_0x539113._0x5920ce)](_0x324006['pitch'])||Cesium__namespace['defined'](_0x324006['roll']))&&(this[_0x12d5d4(_0x539113._0x2011bf,_0x539113._0x182c3c)]['orientation']=this[_0x20ef4e(_0x539113._0x31eeb0,_0x539113._0xabc9dc)]());function _0x12d5d4(_0x13c88b,_0x4f2f3f){return _0x306755(_0x4f2f3f,_0x13c88b- -_0x5b2a72._0x130a18);}function _0x20ef4e(_0x442409,_0x5202c4){return _0x2b6441(_0x5202c4,_0x442409-0x41a);}if(Cesium__namespace[_0x12d5d4(_0x539113._0x571aa8,_0x539113._0xa50e22)](_0x324006['length'])||Cesium__namespace[_0x12d5d4(_0x539113._0x43c469,0x14a1)](_0x324006[_0x12d5d4(0x7c2,_0x539113._0x24992a)])){var _0x5dff7e;((_0x5dff7e=this['_positions_draw'])===null||_0x5dff7e===void 0x0?void 0x0:_0x5dff7e[_0x20ef4e(_0x539113._0x123205,0x1919)])>0x0&&(this['_position_show']=addPositionsHeight(this['_positions_draw'][0x0],_0x35d741[_0x20ef4e(0x1474,0x1726)]/0x2));}}[_0x2b6441(0x801,0x3ca)](){const _0x436d20={_0x50c811:0x162d,_0x454e2c:0x1396,_0x25e9b8:0x1962,_0x198ec4:0x1758,_0x43d7c0:0xe4d,_0x3ae918:0xa31},_0x447c23={_0x4d8fdf:0x667},_0x1a082c={_0xd0385e:0x2b3};function _0x16ff26(_0xd5b13,_0x14645b){return _0x306755(_0xd5b13,_0x14645b- -_0x1a082c._0xd0385e);}function _0x20e1a6(_0x1e97c7,_0x285bd6){return _0x2b6441(_0x1e97c7,_0x285bd6-_0x447c23._0x4d8fdf);}var _0x285c04,_0x20e1f4;(_0x285c04=this['editing'])!==null&&_0x285c04!==void 0x0&&_0x285c04[_0x20e1a6(_0x436d20._0x50c811,_0x436d20._0x454e2c)]&&((_0x20e1f4=this['_positions_draw'])===null||_0x20e1f4===void 0x0?void 0x0:_0x20e1f4[_0x16ff26(_0x436d20._0x25e9b8,0x1348)])>0x0&&(this['_position_show']=addPositionsHeight(this['_positions_draw'][0x0],this[_0x16ff26(0x7db,0x5a3)][_0x20e1a6(_0x436d20._0x198ec4,0x16c1)]/0x2)),super[_0x20e1a6(_0x436d20._0x43d7c0,_0x436d20._0x3ae918)]();}['_setPositionsToCallback'](){const _0x4aa134={_0xcc724f:0x23a4,_0x367e0b:0x16f8,_0x3850e0:0x7bc,_0x198ff7:0xbc0,_0x39d2e1:0x14c0,_0x12526c:0xa0b,_0xd2b974:0x62f,_0x5e5f9f:0x6a2,_0x146dcb:0x431,_0x1173dc:0x133d,_0x545ab1:0x19b4,_0x4ca48e:0x15c1,_0x335e03:0x1945},_0x49727a={_0x5b4dc0:0x5ea,_0x11c8a2:0x46b,_0x5c0b67:0x169e},_0x3641fe={_0x2b265e:0x531};if(this['_isCallbackPositions'])return;this['_isCallbackPositions']=!![];const _0x15db22=this[_0x43db9d(0x190f,_0x4aa134._0xcc724f)]['clock']['currentTime'];function _0x43db9d(_0x464bd0,_0x1ab48f){return _0x2b6441(_0x1ab48f,_0x464bd0-0x6e7);}this[_0x43db9d(0x99c,-0xec)]['topRadius']=getCesiumValue(this['entityGraphic'][_0x43db9d(0x1aec,_0x4aa134._0x367e0b)],Number,_0x15db22),this['entityGraphic'][_0x43db9d(0x1aec,0x23a0)]=new Cesium__namespace[(_0x43db9d(0xb95,_0x4aa134._0x3850e0))](_0x581b38=>{return this['style']['topRadius'];},![]),this['style'][_0x15066c(0x10b,0x6cc)]=getCesiumValue(this[_0x43db9d(_0x4aa134._0x198ff7,0x4eb)]['bottomRadius'],Number,_0x15db22),this['entityGraphic']['bottomRadius']=new Cesium__namespace[(_0x43db9d(0xb95,_0x4aa134._0x39d2e1))](_0x3d1e76=>{return this['style']['bottomRadius'];},![]);function _0x15066c(_0x5e9b7c,_0x2c8831){return _0x306755(_0x5e9b7c,_0x2c8831- -0x3d8);}this[_0x43db9d(0x99c,_0x4aa134._0x12526c)]['length']=getCesiumValue(this[_0x15066c(_0x4aa134._0xd2b974,_0x4aa134._0x5e5f9f)]['length'],Number,_0x15db22),this['entityGraphic']['length']=new Cesium__namespace[(_0x43db9d(0xb95,_0x4aa134._0x146dcb))](_0xddbd69=>{function _0x4df03d(_0xcd6fe1,_0x4704e4){return _0x43db9d(_0x4704e4- -_0x3641fe._0x2b265e,_0xcd6fe1);}function _0x578078(_0xdc610b,_0x80d970){return _0x15066c(_0x80d970,_0xdc610b-0x47b);}return this[_0x4df03d(-_0x49727a._0x5b4dc0,_0x49727a._0x11c8a2)][_0x578078(_0x49727a._0x5c0b67,0x1054)];},![]),this[_0x43db9d(_0x4aa134._0x1173dc,_0x4aa134._0x545ab1)]?(this['_positions_draw']=this[_0x15066c(0xf65,_0x4aa134._0x4ca48e)],this[_0x43db9d(0x14c7,_0x4aa134._0x335e03)][0x0]=addPositionsHeight(this[_0x43db9d(0x133d,0x187c)],-this['style']['length']/0x2)):this['_positions_draw']=[],this['_position_show']=this['position'],this['position']=new Cesium__namespace['CallbackProperty'](_0x5989ca=>{return this['_position_show'];},![]);}['_cancelPositionsCallback'](){const _0x2edc83={_0x1f0eff:0x7b7,_0x324916:0x7b5,_0x566d4b:0x9bd,_0x5684c2:0xaa4,_0x17502b:0x15e4,_0x4042b3:0x479,_0x276ca1:0x494},_0x16557f={_0x405e0b:0x1df},_0x32e9cf={_0x120843:0x536};if(!this['_isCallbackPositions'])return;function _0xf25a7(_0x35fcae,_0x14ecd5){return _0x2b6441(_0x14ecd5,_0x35fcae-_0x32e9cf._0x120843);}this[_0x3b85e5(_0x2edc83._0x1f0eff,0x1244)]=![],this[_0xf25a7(0xe58,_0x2edc83._0x324916)]=this[_0x3b85e5(0xd30,0x410)];function _0x3b85e5(_0x53bfe0,_0x455dfa){return _0x2b6441(_0x53bfe0,_0x455dfa-_0x16557f._0x405e0b);}this['_point']=LngLatPoint['fromCartesian'](this[_0x3b85e5(0x2eb,0xb01)]),this[_0x3b85e5(_0x2edc83._0x566d4b,_0x2edc83._0x5684c2)]&&(this['entityGraphic']['length']=this['style']['length'],this['entityGraphic']['topRadius']=this['style'][_0x3b85e5(0xd8e,_0x2edc83._0x17502b)],this[_0x3b85e5(0x1019,0x6b8)]['bottomRadius']=this[_0x3b85e5(_0x2edc83._0x4042b3,_0x2edc83._0x276ca1)]['bottomRadius'],this['_updatePositionsHook']());}[_0x2b6441(-0x293,0xd0)](){const _0x3ead0e={_0x1556f0:0x7d3,_0xf993a4:0x6d7,_0x4825bf:0x14ec,_0x1f74b1:0xdd9,_0x12867d:0x6bd,_0x4a7b9f:0x12ea},_0x506442={_0x4b8fbb:0x424},_0x22c848={_0x45f98e:0x33e};this['_map']['on'](EventType['mouseMove'],this[_0x4c6044(_0x3ead0e._0x1556f0,0x557)],this);function _0x4c6044(_0x56bb4c,_0x485f40){return _0x2b6441(_0x56bb4c,_0x485f40-_0x22c848._0x45f98e);}this['_map']['on'](this[_0x4c6044(_0x3ead0e._0xf993a4,0x1153)],this['_onClickHandler'],this),this[_0x4c6044(_0x3ead0e._0x4825bf,0x1566)]['on'](this[_0x4c6044(_0x3ead0e._0x1f74b1,_0x3ead0e._0x12867d)],this['_onDbClickHandler'],this);function _0x275a1d(_0x58a0d6,_0x445b2a){return _0x2b6441(_0x445b2a,_0x58a0d6-_0x506442._0x4b8fbb);}(this['options'][_0x4c6044(_0x3ead0e._0x4a7b9f,0xd89)]??!![])&&this['_map']['on'](this['_drawDelEventType'],this[_0x4c6044(0x125f,0x10b6)],this);}[_0x306755(0x693,0x8f6)](){const _0x540090={_0x1eaa7e:0x91d,_0xf4c204:0x192c},_0x1f72d9={_0x3cb914:0x163},_0x763a75={_0xf9df94:0x399};function _0x2d052d(_0x4d8ad5,_0x25fcc3){return _0x2b6441(_0x25fcc3,_0x4d8ad5-_0x763a75._0xf9df94);}function _0x4960cd(_0x51aebb,_0x275b2f){return _0x306755(_0x51aebb,_0x275b2f-_0x1f72d9._0x3cb914);}this['_map']['off'](EventType['mouseMove'],this[_0x4960cd(0xd9,_0x540090._0x1eaa7e)],this),this[_0x4960cd(0x11ef,_0x540090._0xf4c204)]['off'](this[_0x4960cd(0xb78,0x1519)],this['_onClickHandler'],this),this['_map']['off'](this['_drawEndEventType'],this['_onDbClickHandler'],this),(this['options']['hasDrawDelPoint']??!![])&&this['_map']['off'](this['_drawDelEventType'],this['_onRightClickHandler'],this);}[_0x306755(0x1b52,0x134d)](_0x4d592f){const _0x4e5c2c={_0x1b4702:0xc46,_0xb0b88c:0xd3e,_0x4c52a5:0x138b};this['_position_show']=addPositionsHeight(this['_positions_draw'][0x0],this['style']['length']/0x2);function _0x3cd8be(_0x258335,_0x275de9){return _0x306755(_0x275de9,_0x258335- -0x1ef);}function _0x13c56e(_0x2051ef,_0x2e49cd){return _0x306755(_0x2051ef,_0x2e49cd- -0x643);}if(!_0x4d592f&&this[_0x13c56e(_0x4e5c2c._0x1b4702,_0x4e5c2c._0xb0b88c)][_0x13c56e(_0x4e5c2c._0x4c52a5,0xfb8)]>0x1){const _0x28a29b=formatNum$1(Cesium__namespace[_0x3cd8be(0x832,0xc4f)]['distance'](this['_positions_draw'][0x0],this['_positions_draw'][0x1]),0x2);this['style']['bottomRadius']=_0x28a29b,this['style']['length']=_0x28a29b*0x2;}}['_onRightClickHandler'](_0x159a81){const _0x45c40d={_0x1cd282:0x7ff,_0x5f3c9c:0x556,_0x12b356:0x83c},_0x4db20e={_0x5764c5:0x57};super['_onRightClickHandler'](_0x159a81);function _0x106bf0(_0x4eff45,_0x50e2ff){return _0x2b6441(_0x50e2ff,_0x4eff45-0x53);}function _0x3576d4(_0x4ed889,_0x15a802){return _0x306755(_0x4ed889,_0x15a802- -_0x4db20e._0x5764c5);}this[_0x3576d4(0x7fa,_0x45c40d._0x1cd282)][_0x106bf0(_0x45c40d._0x5f3c9c,-0x3c8)]=0x0,this[_0x106bf0(0x308,_0x45c40d._0x12b356)][_0x106bf0(0x10ad,0x16e6)]=0x0;}}register$5('cylinder',CylinderEntity,!![]);class ConeTrack extends CylinderEntity{constructor(_0x2c99d4={}){const _0x12ba7b={_0x4e50a2:0xd51},_0x414287={_0x544f6b:0x22};super(_0x2c99d4);function _0x55a64(_0x4bce53,_0x1d950e){return _0x306755(_0x1d950e,_0x4bce53-0x89);}function _0x5bea3e(_0x382d0b,_0x3d9ef5){return _0x2b6441(_0x3d9ef5,_0x382d0b- -_0x414287._0x544f6b);}_0x2c99d4[_0x55a64(0xd51,0x7e8)]&&(this[_0x55a64(0xd51,0x9cb)]=_0x2c99d4[_0x55a64(_0x12ba7b._0x4e50a2,0xa55)]);}get['hasEdit'](){return![];}get['EditClass'](){return undefined;}get['targetPosition'](){return this['_targetPosition'];}set['targetPosition'](_0xd6f08d){const _0x57c5fa={_0x2d15e9:0x75c,_0x1a16eb:0x391};function _0x131209(_0x514195,_0x196836){return _0x306755(_0x196836,_0x514195- -0x1f6);}function _0x4d66c0(_0x4e70c8,_0x151694){return _0x306755(_0x4e70c8,_0x151694- -0x659);}this['_targetPoint']=LngLatPoint[_0x131209(0x15da,0x10c1)](_0xd6f08d),this['_targetPosition']=this['_targetPoint'][_0x4d66c0(_0x57c5fa._0x2d15e9,_0x57c5fa._0x1a16eb)]();}get['targetPoint'](){return this['_targetPoint'];}get['angle'](){const _0x3ff8fd={_0x4eae74:0x1362,_0x57d212:0x139b},_0x1a8cca={_0x25ca64:0x255};function _0x245beb(_0x1cbf8e,_0x1c17a8){return _0x2b6441(_0x1cbf8e,_0x1c17a8-_0x1a8cca._0x25ca64);}return this['style'][_0x245beb(_0x3ff8fd._0x4eae74,_0x3ff8fd._0x57d212)];}set['angle'](_0x1b985f){this['style']['angle']=_0x1b985f;}[_0x306755(0x15c7,0x130c)](){const _0x4d0912={_0x4a2f5b:0x10d0,_0x56808b:0x9aa};function _0x252e5c(_0x5bf887,_0x4888dc){return _0x306755(_0x4888dc,_0x5bf887- -0x23c);}super[_0x252e5c(_0x4d0912._0x4a2f5b,_0x4d0912._0x56808b)](),this['_updateDistanceDisplayConditionByEdit']();}[_0x2b6441(0xf3d,0x1177)](){const _0x311522={_0x19a44f:0x1136,_0x157739:0xfcb,_0x413d25:0x108a,_0x37fe1b:0xf57,_0x39bbfa:0xd5e},_0x2c9255={_0x5eab36:0x7e},_0x2839c3=super['_getCreateEntityAttr']();_0x2839c3[_0x3c6fce(_0x311522._0x19a44f,0x1000)]=new Cesium__namespace['CallbackProperty'](_0x439319=>{return this['_update'](_0x439319),this['_position_show'];},![]),_0x2839c3['orientation']=new Cesium__namespace['CallbackProperty'](_0x320309=>{function _0x4cbbe4(_0xbf5f2d,_0x3e0abc){return _0x3c6fce(_0x3e0abc,_0xbf5f2d- -0x443);}return this[_0x4cbbe4(0x1da,0x4c0)];},![]),_0x2839c3[_0x3c6fce(0x1810,0x108a)]['length']=new Cesium__namespace[(_0x30bf81(_0x311522._0x157739,0x52c))](_0x24cc18=>{return this['_cylinderLength'];},![]);!Cesium__namespace['defined'](_0x2839c3[_0x3c6fce(0x1046,0x108a)][_0x3c6fce(0x1891,0x17af)])&&(_0x2839c3[_0x3c6fce(0xc29,_0x311522._0x413d25)][_0x3c6fce(_0x311522._0x37fe1b,0x17af)]=0x0);Cesium__namespace['defined'](this['style']['angle'])&&(_0x2839c3[_0x30bf81(0xf3c,_0x311522._0x39bbfa)]['bottomRadius']=new Cesium__namespace['CallbackProperty'](_0x4a24b5=>{return this['_cylinderBottomRadius'];},![]));function _0x3c6fce(_0x583a5c,_0x211a5a){return _0x306755(_0x583a5c,_0x211a5a- -0x1f7);}function _0x30bf81(_0x3b0809,_0x151452){return _0x2b6441(_0x3b0809,_0x151452-_0x2c9255._0x5eab36);}return this['_isCallbackPositions']=!![],_0x2839c3;}['_update'](_0x424718){const _0x836cd8={_0x1906e6:0xd29,_0x3a8e4b:0x2bd,_0x1ef2f6:0x47f,_0x3fa646:0xfa1,_0x35c791:0x121c,_0x192cc4:0x1831,_0x31728:0x189e,_0x61700b:0x1232,_0x5506f5:0xc06,_0x481c53:0x44a,_0xf679a8:0x41,_0x127965:0x1145,_0x586093:0x1b0f,_0x3a74e8:0x13cc,_0x262f55:0x144,_0x23984a:0x116a,_0x3afaf2:0x1748,_0x73b3f7:0x21da,_0x1e7a42:0x30c,_0x332a58:0x833},_0x10a925=getPositionValue(this[_0x4a600a(0x164a,0x1258)],_0x424718);if(!_0x10a925){this['_position_show']=undefined;return;}if(Cesium__namespace['defined'](this['targetPosition'])){const _0x24ffa6=getPositionValue(this[_0x4a600a(0x890,_0x836cd8._0x1906e6)],_0x424718);_0x24ffa6&&(this['_cylinderLength']=Cesium__namespace[_0x4a600a(0x128e,0xa82)]['distance'](_0x10a925,_0x24ffa6),this['_position_show']=Cesium__namespace[_0x5dbeac(-_0x836cd8._0x3a8e4b,_0x836cd8._0x1ef2f6)][_0x5dbeac(0x1361,0xa33)](_0x10a925,_0x24ffa6,new Cesium__namespace[(_0x4a600a(0x100e,0xa82))]()),this['_orientation']=Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x10a925,getHeadingPitchRollForLine(_0x10a925,_0x24ffa6),this[_0x5dbeac(_0x836cd8._0x3fa646,0xf38)],this['fixedFrameTransform']));}else{this['_cylinderLength']=this['style'][_0x4a600a(0x11ac,0x165c)];if(!this['_cylinderLength']){const _0x5cb52d=LngLatPoint[_0x4a600a(_0x836cd8._0x35c791,_0x836cd8._0x192cc4)](_0x10a925),_0x34a5cb={};_0x34a5cb['original']=!![],this['_cylinderLength']=_0x5cb52d['alt']-getHeight(this['_map']['scene'],_0x10a925,_0x34a5cb);}const _0x29659d=Cesium__namespace[_0x4a600a(0xa89,0x14f9)]['fromDegrees'](this[_0x4a600a(_0x836cd8._0x31728,_0x836cd8._0x61700b)],this[_0x4a600a(0x9a9,_0x836cd8._0x5506f5)],this[_0x5dbeac(-0x13a,_0x836cd8._0x481c53)]);this['_orientation']=Cesium__namespace['Transforms'][_0x4a600a(-_0x836cd8._0xf679a8,0x4e9)](_0x10a925,_0x29659d,this['ellipsoid'],this['fixedFrameTransform']),this['_position_show']=getPositionByHprAndLen(_0x10a925,_0x29659d,this['_cylinderLength']/0x2);}Cesium__namespace['defined'](this['style'][_0x5dbeac(0xcdf,_0x836cd8._0x127965)])&&(this['_cylinderBottomRadius']=this['_cylinderLength']*Math['cos'](Cesium__namespace[_0x4a600a(_0x836cd8._0x586093,_0x836cd8._0x3a74e8)][_0x5dbeac(_0x836cd8._0x262f55,0x62a)](0x5a-this[_0x4a600a(_0x836cd8._0x23984a,_0x836cd8._0x3afaf2)])));function _0x4a600a(_0x3cc12d,_0x31072f){return _0x306755(_0x3cc12d,_0x31072f-0x61);}function _0x5dbeac(_0xfb1e1e,_0x17a0d9){return _0x2b6441(_0xfb1e1e,_0x17a0d9- -0x1);}this[_0x4a600a(_0x836cd8._0x73b3f7,0x1931)](this[_0x4a600a(_0x836cd8._0x1e7a42,_0x836cd8._0x332a58)]);}[_0x2b6441(0xdff,0x3ca)](){}['_setPositionsToCallback'](){}[_0x2b6441(0x7cd,0xcf)](){}['updateOrientation'](){return this['_entity']['orientation'];}}register$5('coneTrack',ConeTrack);class EditEllipsoid extends EditBase{set['position'](_0x35f544){const _0x21afce={_0x133c00:0x1c11};function _0xbd4d53(_0x5ef496,_0x418b4e){return _0x2b6441(_0x418b4e,_0x5ef496-0x178);}this[_0xbd4d53(0x1570,_0x21afce._0x133c00)][0x0]=_0x35f544;}get['position'](){return this['positions'][0x0];}set['positions'](_0xb082c4){const _0x3b7b22={_0x400d34:0x15ff,_0x312540:0xefa};function _0x26fec4(_0x136148,_0x276485){return _0x306755(_0x136148,_0x276485- -0x487);}this['_graphic'][_0x26fec4(_0x3b7b22._0x400d34,_0x3b7b22._0x312540)]=_0xb082c4;}get[_0x306755(0x191d,0x1999)](){const _0x4e2acc={_0xdb0de7:0x48d},_0x1d44d1={_0xed9290:0xa6},_0x573c40={_0x54c68e:0x16f};function _0x5538eb(_0xe305ea,_0x39b6fc){return _0x306755(_0xe305ea,_0x39b6fc- -_0x573c40._0x54c68e);}function _0x131b02(_0x295e25,_0x3f8da4){return _0x2b6441(_0x295e25,_0x3f8da4- -_0x1d44d1._0xed9290);}return this['_graphic'][_0x5538eb(0xf75,0x1212)]||this['_graphic'][_0x131b02(-0xb,_0x4e2acc._0xdb0de7)]||[];}['bindDraggers'](){const _0x474cb7={_0xf1c58d:0xe85,_0x2d67be:0x1387,_0x4b1f17:0x1026,_0x1fff3d:0x61f,_0x47da36:0x58a,_0x4623e1:0x1349,_0x3c1b20:0xcf3,_0x235e86:0x60c,_0x358d25:0xaf9,_0x57c600:0x284,_0x209bb5:0x133a,_0x17d3e8:0x5c6,_0x58daf7:0x221d,_0x540412:0x307,_0x37aeaa:0x61f},_0x206620={_0xcd8461:0x1a1d,_0x3e8fa5:0xb8d,_0x28f876:0xfa1,_0x1969ee:0x14ef,_0x11190e:0xde1,_0x3cfd9c:0xd93,_0x5e8613:0x2d4},_0x167bc6={_0x4ee777:0x1f2},_0x1883c1={_0x46a392:0x17e2,_0x460b00:0x9c7,_0x8a5bb0:0x1436,_0x1db676:0x124,_0x2b33be:0x8c5,_0x578192:0x69f,_0x3dc52f:0x1241,_0x185a1c:0xba6,_0xd948b4:0x12d7},_0xd1c1e5={_0xe72805:0x550,_0x4874f7:0x465,_0x313f9e:0x141,_0x351ab7:0x1f6,_0x21df71:0xe04},_0x48e6b5={_0x4969ab:0x377},_0x323402={_0x396525:0x527};let _0xff19a4;function _0x33d9f1(_0x5ba570,_0x7ee416){return _0x306755(_0x7ee416,_0x5ba570- -0xd3);}const _0x5c311a=this[_0x1e26e3(0x232d,0x191f)][0x0];_0xff19a4=this['createDragger']({'position':_0x5c311a,'onDragStart':(_0x564f8d,_0x10c21f)=>{function _0x2a685f(_0x5e31cc,_0x4d0e39){return _0x1e26e3(_0x4d0e39,_0x5e31cc- -0x18b);}function _0x369743(_0x4292b5,_0x263c45){return _0x1e26e3(_0x4292b5,_0x263c45- -0x37a);}for(let _0x206963=0x0,_0x2cb765=this[_0x369743(0x1556,0x100d)][_0x2a685f(0x13f6,0x16a6)];_0x206963<_0x2cb765;_0x206963++){this['draggers'][_0x206963]['show']=![];}},'onDrag':(_0x562c2a,_0x2be4c8)=>{this['positions'][0x0]=_0x2be4c8;},'onDragEnd':(_0x33d4e1,_0x235c80)=>{this['updateDraggers']();}}),_0xff19a4[_0x33d9f1(_0x474cb7._0xf1c58d,0x10a6)]=0x0;function _0x1e26e3(_0x1d19d9,_0x25faa9){return _0x2b6441(_0x1d19d9,_0x25faa9-_0x323402._0x396525);}this[_0x1e26e3(0x1a84,_0x474cb7._0x2d67be)][_0x1e26e3(_0x474cb7._0x4b1f17,_0x474cb7._0x1fff3d)](_0xff19a4);const _0x3e2afe=this[_0x1e26e3(_0x474cb7._0x47da36,0xbe3)]['hasEditRadii']??!![];if(_0x3e2afe&&!this['isScene2D']){_0xff19a4=this[_0x33d9f1(0x618,0xdb2)]({'position':addPositionsHeight(_0x5c311a,this['style'][_0x1e26e3(0xec0,0x1453)]),'type':EditPointType['MoveHeight'],'tooltip':this['_map'][_0x1e26e3(_0x474cb7._0x4623e1,_0x474cb7._0x3c1b20)]('_修改半径'),'onDrag':(_0x17375e,_0x2fae7c)=>{function _0x9a60b(_0x3795f1,_0x4e7424){return _0x1e26e3(_0x3795f1,_0x4e7424-0x185);}const _0x174b46=this['positions'][0x0],_0xc802f5=this['formatNum'](Cesium__namespace[_0x2f436a(_0xd1c1e5._0xe72805,0x630)]['distance'](_0x174b46,_0x2fae7c),0x2);this[_0x2f436a(-0x1d8,_0xd1c1e5._0x4874f7)]['radii_z']=_0xc802f5;function _0x2f436a(_0x47a332,_0x22cf8e){return _0x1e26e3(_0x47a332,_0x22cf8e- -_0x48e6b5._0x4969ab);}this[_0x2f436a(-_0xd1c1e5._0x313f9e,_0xd1c1e5._0x351ab7)][_0x2f436a(0x79a,0x96c)](this[_0x2f436a(_0xd1c1e5._0x21df71,0x465)]),this['fire'](EventType['editStyle']);}}),this['draggers'][_0x1e26e3(_0x474cb7._0x235e86,_0x474cb7._0x1fff3d)](_0xff19a4);const _0xd40c90=getEllipseOuterPositions({'position':_0x5c311a,'semiMajorAxis':Number(this['style'][_0x33d9f1(0x1489,0x17ed)]),'semiMinorAxis':Number(this['style']['radii_y']),'rotation':Cesium__namespace['Math'][_0x33d9f1(_0x474cb7._0x358d25,0x1145)](Number(this[_0x1e26e3(_0x474cb7._0x57c600,0x7dc)]['rotation']||0x0))}),_0x4a4fac=_0xd40c90[0x0],_0x11f2b9=this['createDragger']({'position':_0x4a4fac,'type':EditPointType[_0x1e26e3(0x7f9,0xf8a)],'tooltip':this[_0x1e26e3(0x16d4,0x174f)][_0x1e26e3(_0x474cb7._0x209bb5,0xcf3)]('_修改半径'),'onDrag':(_0x371571,_0x4bf6ef)=>{const _0x4a8a28={_0x59523a:0x13d};function _0x1d0159(_0x4dfbd3,_0x5d108c){return _0x1e26e3(_0x4dfbd3,_0x5d108c-0x85);}const _0x5504c7=this[_0x4e0659(0x1d04,_0x1883c1._0x46a392)][0x0],_0x22564f=Cesium__namespace[_0x1d0159(_0x1883c1._0x460b00,0x914)][_0x4e0659(0xb3c,0x838)](_0x5504c7)[_0x1d0159(_0x1883c1._0x8a5bb0,0xbfd)];_0x4bf6ef=setPositionsHeight(_0x4bf6ef,_0x22564f),_0x371571['position']=_0x4bf6ef;const _0x58bbee=this[_0x4e0659(_0x1883c1._0x1db676,0x952)](Cesium__namespace['Cartesian3']['distance'](_0x5504c7,_0x4bf6ef),0x2);function _0x4e0659(_0xf18182,_0x1241ed){return _0x1e26e3(_0xf18182,_0x1241ed- -_0x4a8a28._0x59523a);}this[_0x4e0659(_0x1883c1._0x2b33be,_0x1883c1._0x578192)][_0x1d0159(0x1e33,0x1763)]=_0x58bbee,this['_graphic'][_0x4e0659(_0x1883c1._0x3dc52f,_0x1883c1._0x185a1c)](this[_0x1d0159(_0x1883c1._0xd948b4,0x861)]),this['fire'](EventType['editStyle']);}});_0xff19a4[_0x1e26e3(0x1321,0xc98)]=_0x11f2b9,this['draggers'][_0x33d9f1(_0x474cb7._0x17d3e8,0x93b)](_0x11f2b9);const _0x53caee=_0xd40c90[0x1],_0x3b4a97=this['createDragger']({'position':_0x53caee,'type':EditPointType['EditAttr'],'tooltip':this[_0x1e26e3(_0x474cb7._0x58daf7,0x174f)]['getLangText']('_修改半径'),'onDrag':(_0x3d7e67,_0x429cdd)=>{const _0xaa4291=this[_0xf699df(_0x206620._0xcd8461,0x20d7)][0x0],_0xaa12d4=Cesium__namespace['Cartographic']['fromCartesian'](_0xaa4291)[_0xf699df(0xc76,0xd17)];_0x429cdd=setPositionsHeight(_0x429cdd,_0xaa12d4);function _0xf699df(_0x438dc7,_0x4b154a){return _0x33d9f1(_0x438dc7-0x157,_0x4b154a);}function _0x3de67b(_0x1b00a1,_0xba0856){return _0x33d9f1(_0xba0856- -_0x167bc6._0x4ee777,_0x1b00a1);}_0x3d7e67['position']=_0x429cdd;const _0x58e140=this[_0xf699df(_0x206620._0x3e8fa5,0xda0)](Cesium__namespace[_0x3de67b(0x1203,0x75c)][_0xf699df(_0x206620._0x28f876,_0x206620._0x1969ee)](_0xaa4291,_0x429cdd),0x2);this['style']['radii_x']=_0x58e140,this['_graphic'][_0xf699df(_0x206620._0x11190e,0x15ab)](this[_0xf699df(0x8da,-0x1e3)]),this[_0xf699df(0x90d,_0x206620._0x3cfd9c)](EventType[_0x3de67b(0xae5,_0x206620._0x5e8613)]);}});_0xff19a4[_0x33d9f1(0xf66,0x1890)]=_0x3b4a97,this['draggers'][_0x1e26e3(-_0x474cb7._0x540412,_0x474cb7._0x37aeaa)](_0x3b4a97);}}['_updateStyleHook'](_0x1429c0){const _0x29c4f7={_0x12d56d:0x1483,_0xce52ac:0x10b};function _0x4efb0d(_0x2db8b5,_0x3112cd){return _0x2b6441(_0x3112cd,_0x2db8b5-0x272);}function _0x1b3e57(_0x49d5dc,_0x407ccd){return _0x306755(_0x49d5dc,_0x407ccd- -0x5b8);}super['_updateStyleHook'](_0x1429c0),(Cesium__namespace['defined'](_0x1429c0['radii_x'])||Cesium__namespace[_0x4efb0d(_0x29c4f7._0x12d56d,0xd3a)](_0x1429c0['radii_y'])||Cesium__namespace['defined'](_0x1429c0['radii_z']))&&this[_0x1b3e57(0x662,_0x29c4f7._0xce52ac)]();}}class EllipsoidEntity extends BasePointEntity{constructor(_0x505e9a={}){super(_0x505e9a),this['_minPointNum']=0x2,this['_maxPointNum']=0x3;}get['entityGraphic'](){const _0x3ec183={_0x49b816:0x11e7};function _0x357b27(_0x520c6b,_0x4035b6){return _0x306755(_0x4035b6,_0x520c6b- -0x2f3);}var _0x2f6dd3;return(_0x2f6dd3=this['_entity'])===null||_0x2f6dd3===void 0x0?void 0x0:_0x2f6dd3[_0x357b27(_0x3ec183._0x49b816,0x1042)];}get[_0x306755(0x173d,0xe73)](){return EditEllipsoid;}get[_0x2b6441(0xe62,0x88f)](){const _0x53c595={_0x51ecb6:0x57d},_0x1e848f={_0x2992e4:0x5b8};function _0x596dc9(_0x26bd66,_0x1f7d63){return _0x2b6441(_0x1f7d63,_0x26bd66-_0x1e848f._0x2992e4);}let _0x403813=[];function _0xe718fb(_0x126550,_0x4a0f19){return _0x2b6441(_0x4a0f19,_0x126550-_0x53c595._0x51ecb6);}return this[_0xe718fb(0x14e0,0x171c)]&&_0x403813[_0x596dc9(0x6b0,0xfdd)](this['_primitive_label']),this['_entity_scanPlane']&&(_0x403813=_0x403813[_0x596dc9(0xe3d,0x12f7)](this['_entity_scanPlane'])),_0x403813;}['_mountedHook'](){const _0x473fbe={_0x43ba94:0x9e7,_0x2274bf:0x8a4,_0x21406d:0x14,_0x3a79cc:0x1970,_0x4dbf6e:0x1a26,_0x346e6d:0x294,_0x2b88a7:0x365},_0x3bb302={_0x3a3947:0x5c2},_0x4a7519={'position':this['position'],'orientation':this['getOrientation'](),'ellipsoid':EllipsoidStyleConver['toCesiumVal'](this[_0x5b3154(0x294,_0x473fbe._0x43ba94)],{},!![])};this[_0x5b3154(_0x473fbe._0x2274bf,-_0x473fbe._0x21406d)]=this[_0x58ab8a(_0x473fbe._0x3a79cc,_0x473fbe._0x4dbf6e)](_0x4a7519);function _0x5b3154(_0xa9ccd3,_0x4e4c81){return _0x306755(_0x4e4c81,_0xa9ccd3- -_0x3bb302._0x3a3947);}this['style']['label']&&this['_addLabel'](this[_0x5b3154(_0x473fbe._0x346e6d,_0x473fbe._0x2b88a7)]['label']);const _0x1a13f4=this['options']['scanPlane']||this[_0x5b3154(_0x473fbe._0x346e6d,-0x58f)]['scanPlane'];function _0x58ab8a(_0x2c9d5a,_0x1e99ff){return _0x306755(_0x2c9d5a,_0x1e99ff-0xb6);}_0x1a13f4&&(Array['isArray'](_0x1a13f4)?_0x1a13f4['forEach'](_0x5c5c72=>{this['addScanPlane'](_0x5c5c72);}):this['addScanPlane'](_0x1a13f4));}['_removedHook'](){const _0xb3024d={_0x3867c5:0x2cb};this['_animateFrame']&&(window[_0x31ba1a(0xdc,_0xb3024d._0x3867c5)](this['_animateFrame']),delete this[_0x54af08(0x1251,0x1a66)]);function _0x31ba1a(_0x562a83,_0x1c033b){return _0x306755(_0x1c033b,_0x562a83- -0x395);}function _0x54af08(_0x3d92f7,_0x684b88){return _0x306755(_0x684b88,_0x3d92f7- -0x4ed);}super[_0x31ba1a(0xa96,0xe35)]();}[_0x2b6441(0x353,0x36)](_0x25e94e,_0x1acca8){const _0x1f810f={_0x3e7a9b:0x15d0,_0x3a3823:0x1efa},_0x301b16={_0x41c1ab:0x119b,_0x3841b2:0x10b6};_0x1acca8=EllipsoidStyleConver[_0x54156b(0x840,0x10c1)](_0x25e94e,_0x1acca8,!![]);function _0x54156b(_0x264dea,_0x53d79e){return _0x2b6441(_0x53d79e,_0x264dea-0x2d7);}function _0x569009(_0x1bd219,_0x345df6){return _0x306755(_0x1bd219,_0x345df6- -0xc8);}if(this[_0x54156b(_0x1f810f._0x3e7a9b,0x1df3)]&&this['_entity_scanPlane'][_0x54156b(0x1331,0x170e)]>0x0){const _0x4388f1=[];this[_0x54156b(0x15d0,_0x1f810f._0x3a3823)]['forEach'](_0x14cf3a=>{const _0x4c6ec4={_0x4f2c04:0x41b};function _0x16eea7(_0x480b0c,_0x39ec0d){return _0x54156b(_0x39ec0d-_0x4c6ec4._0x4f2c04,_0x480b0c);}_0x4388f1['push'](_0x14cf3a[_0x16eea7(_0x301b16._0x41c1ab,_0x301b16._0x3841b2)]);}),_0x1acca8[_0x569009(0x99d,0x8e1)]=_0x4388f1;}return _0x1acca8;}['_updateStyleHook'](_0xcc10f6,_0x7c855e){const _0x56a442={_0xadca64:0x1640,_0x5d28d3:0x17c1,_0x30ab9a:0x9fb,_0x35094d:0xed9,_0x2bc229:0x2212,_0x1fd8a0:0x1640,_0x3c4abd:0x15e6};EllipsoidStyleConver['toCesiumVal'](_0xcc10f6,this[_0x8bdfd6(0xa89,0x13a2)],!![]);function _0xfbc1b3(_0x5792b2,_0x1dcbc1){return _0x306755(_0x5792b2,_0x1dcbc1- -0x172);}(Cesium__namespace['defined'](_0x7c855e['heading'])||Cesium__namespace[_0xfbc1b3(0x1ace,_0x56a442._0xadca64)](_0x7c855e['pitch'])||Cesium__namespace[_0x8bdfd6(_0x56a442._0x5d28d3,0x14fd)](_0x7c855e[_0x8bdfd6(_0x56a442._0x30ab9a,0x3c9)]))&&(this['_entity'][_0xfbc1b3(0x438,_0x56a442._0x35094d)]=this['getOrientation']());function _0x8bdfd6(_0x12cdad,_0x5bb0eb){return _0x2b6441(_0x5bb0eb,_0x12cdad-0x5b0);}(Cesium__namespace[_0x8bdfd6(_0x56a442._0x5d28d3,_0x56a442._0x2bc229)](_0x7c855e['radii_x'])||Cesium__namespace[_0xfbc1b3(0xc26,_0x56a442._0x1fd8a0)](_0x7c855e[_0xfbc1b3(0x1b42,_0x56a442._0x3c4abd)])||Cesium__namespace['defined'](_0x7c855e['radii_z']))&&this['updateRadii'](_0xcc10f6);}['_updatePositionsHook'](){super['_updatePositionsHook'](),this['_entity_scanPlane']&&this['_entity_scanPlane']['forEach'](_0x5e1825=>{_0x5e1825['position']=this['position'];});}[_0x306755(0x1e8b,0x18d1)](_0x4d1d98,_0x40253c){const _0x537db9={_0x5625a8:0x810,_0x142232:0xbf1,_0x986f3a:0x673,_0x2f1ac8:0x946},_0x5a6d52={_0x59992b:0x408};function _0x4f80f1(_0x4b345f,_0x42ff1f){return _0x2b6441(_0x42ff1f,_0x4b345f-_0x5a6d52._0x59992b);}function _0x55920a(_0x43666e,_0x43a7a0){return _0x306755(_0x43a7a0,_0x43666e- -0x5cd);}if(_0x40253c[_0x4f80f1(_0x537db9._0x5625a8,_0x537db9._0x142232)]){this['removeAllScanPlan']();const _0x156ae3=_0x4d1d98['scanPlane'];Array['isArray'](_0x156ae3)?_0x156ae3[_0x55920a(_0x537db9._0x986f3a,_0x537db9._0x2f1ac8)](_0x39defc=>{this['addScanPlane'](_0x39defc);}):this['addScanPlane'](_0x156ae3);}}[_0x2b6441(0x3a0,0x418)](_0x11e6d6){const _0x160189={_0x1fdb27:0x1add,_0x4c105f:0x14e8,_0x35c2cc:0x1409},_0x3d86da={_0x4a7f6b:0x1748,_0x2aa6cb:0xf13,_0x476c6c:0x143a},_0x2d74c5={_0x5a40f7:0x136};var _0x10d334;function _0x47482b(_0x546368,_0x1a996f){return _0x306755(_0x546368,_0x1a996f- -0x113);}function _0x5d37cc(_0x3d3d93,_0x36fc5f){return _0x2b6441(_0x36fc5f,_0x3d3d93-0x110);}((_0x10d334=this['_entity_scanPlane'])===null||_0x10d334===void 0x0?void 0x0:_0x10d334[_0x47482b(_0x160189._0x1fdb27,_0x160189._0x4c105f)])>0x0&&this[_0x5d37cc(_0x160189._0x35c2cc,0xc99)]['forEach'](_0x4a1bbf=>{const _0x1c0e8f=this[_0x276506(0xfba,0xc80)](_0x4a1bbf[_0x4217b8(_0x3d86da._0x4a7f6b,0x14de)],_0x11e6d6);function _0x276506(_0x2ec5a4,_0x3501e9){return _0x5d37cc(_0x2ec5a4- -_0x2d74c5._0x5a40f7,_0x3501e9);}function _0x4217b8(_0x1c97a9,_0x2b3831){return _0x47482b(_0x1c97a9,_0x2b3831-0x117);}!_0x1c0e8f&&(_0x4a1bbf['_planeOptions']['style']['globalAlpha']=_0x11e6d6,EllipsoidStyleConver['toCesiumVal'](_0x4a1bbf['_planeOptions']['style'],_0x4a1bbf[_0x276506(_0x3d86da._0x2aa6cb,_0x3d86da._0x476c6c)],!![]));});}['updateRadii'](_0x3738e2){const _0x220e86={_0x190287:0x15b2},_0x13db15={_0x5cad5b:0x712},_0x478b71={_0x1caece:0x235},_0xb20078=new Cesium__namespace['Cartesian3'](_0x3738e2['radii_x'],_0x3738e2['radii_y'],_0x3738e2['radii_z']);function _0x4b8438(_0x376ca8,_0x4318e2){return _0x306755(_0x4318e2,_0x376ca8- -_0x478b71._0x1caece);}function _0x1b9184(_0xffc83e,_0x512ce2){return _0x2b6441(_0x512ce2,_0xffc83e-_0x13db15._0x5cad5b);}this['entityGraphic']['radii']?this[_0x4b8438(0x845,0x5b0)]['radii']['setValue'](_0xb20078):this[_0x1b9184(0xbeb,0x15a5)][_0x1b9184(0x191b,_0x220e86._0x190287)]=_0xb20078;}['_setPositionsToCallback'](){const _0x1dbb9e={_0x5ee4a1:0xa84,_0x43a9be:0xce2,_0x29f254:0x13fd,_0x218daf:0x43,_0x4770f3:0xb0f,_0x2b42c5:0x1ce2,_0x206ba5:0x595,_0x1837b4:0x1b95},_0x3120a8={_0xb8b1b7:0x122e},_0x3e3ca8={_0x359aaa:0x234};function _0x5bd8b4(_0x5077c0,_0x5a5d72){return _0x306755(_0x5077c0,_0x5a5d72- -_0x3e3ca8._0x359aaa);}if(this[_0x5bd8b4(0xa79,0x13d2)])return;this[_0x5bd8b4(0x1575,0x13d2)]=!![];const _0x5df6e5=getCesiumValue(this['entityGraphic']['radii'],Cesium__namespace[_0x3735a7(0x7da,_0x1dbb9e._0x5ee4a1)],this['_map'][_0x3735a7(_0x1dbb9e._0x43a9be,_0x1dbb9e._0x29f254)]['currentTime']);_0x5df6e5&&(this['style'][_0x5bd8b4(0x1bae,0x1328)]=this[_0x5bd8b4(-_0x1dbb9e._0x218daf,0x622)]['radii_x']??_0x5df6e5['x'],this[_0x5bd8b4(0xfd,0x622)]['radii_y']=this[_0x5bd8b4(_0x1dbb9e._0x4770f3,0x622)][_0x3735a7(0xfeb,0x17bb)]??_0x5df6e5['y'],this[_0x5bd8b4(0x56,0x622)][_0x3735a7(_0x1dbb9e._0x2b42c5,0x1530)]=this[_0x3735a7(_0x1dbb9e._0x206ba5,0x8b9)]['radii_z']??_0x5df6e5['z']);function _0x3735a7(_0x3ba69c,_0x3a5ff3){return _0x2b6441(_0x3ba69c,_0x3a5ff3-0x604);}this['_positions_draw']=this[_0x3735a7(_0x1dbb9e._0x1837b4,0x19fc)]||[],this[_0x3735a7(0x1095,0x125a)]=new Cesium__namespace[(_0x3735a7(0x507,0xab2))](_0x7be0fb=>{const _0x38ac8b={_0x1027bd:0xe1};function _0x3b76ae(_0x3fbd40,_0x3d8099){return _0x5bd8b4(_0x3fbd40,_0x3d8099-_0x38ac8b._0x1027bd);}if(this[_0x5e9f8e(0x118c,0x1248)]['length']<0x1)return null;function _0x5e9f8e(_0x45d9d0,_0x120366){return _0x3735a7(_0x120366,_0x45d9d0- -0x258);}return this[_0x3b76ae(0x1798,_0x3120a8._0xb8b1b7)][0x0];},![]);}[_0x306755(0x267,0x670)](){const _0x266a45={_0x416432:0xf7f,_0x301a53:0xadc},_0x36f15f={_0x2ccb8b:0x5e0};if(!this['_isCallbackPositions'])return;function _0x19fd31(_0x1e0671,_0x324c25){return _0x2b6441(_0x1e0671,_0x324c25-_0x36f15f._0x2ccb8b);}this['_isCallbackPositions']=![],this['_position']=this[_0x19fd31(_0x266a45._0x416432,0x13c0)][0x0],this[_0x19fd31(0x1357,_0x266a45._0x301a53)]=LngLatPoint['fromCartesian'](this['_position']);function _0x1e00e5(_0x5f9e1,_0x4b7e0f){return _0x306755(_0x5f9e1,_0x4b7e0f- -0x130);}this['_entity']&&this['_updatePositionsHook']();}['_startDrawHook'](){const _0x511991={_0x38e306:0xa58,_0x42c9c0:0x58e,_0x44c8d8:0x6ea,_0x1d66b3:0xc5a,_0x22b9e3:0xcca,_0x30775c:0x14f1,_0x2fe74c:0xcd4};this['_map']['on'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);function _0x53c3bc(_0x2ca320,_0x3f772b){return _0x306755(_0x3f772b,_0x2ca320- -0x573);}function _0x3b9ed8(_0x2a7fa4,_0x22554a){return _0x306755(_0x22554a,_0x2a7fa4- -0x392);}this['_map']['on'](this['_drawAddEventType'],this['_onClickHandler'],this),this[_0x3b9ed8(0x1437,_0x511991._0x38e306)]['on'](this[_0x3b9ed8(_0x511991._0x42c9c0,0xac7)],this['_onDbClickHandler'],this),(this[_0x53c3bc(_0x511991._0x44c8d8,0x582)][_0x3b9ed8(_0x511991._0x1d66b3,_0x511991._0x22b9e3)]??!![])&&this[_0x3b9ed8(0x1437,_0x511991._0x30775c)]['on'](this[_0x53c3bc(0xcf8,0xf6e)],this[_0x53c3bc(0xda6,_0x511991._0x2fe74c)],this);}['_stopDrawHook'](){const _0x8a2b53={_0x4b7420:0xa4f,_0x15aadc:0x1da6,_0x472535:0x1a73,_0x58163e:0xb75},_0x1f5a85={_0x2da808:0x588},_0x26f5e7={_0x87479e:0x129};this['_map']['off'](EventType[_0x26a7ec(0x1003,_0x8a2b53._0x4b7420)],this['_onMouseMoveHandler'],this);function _0x46b5ca(_0x78ce,_0x1462c8){return _0x306755(_0x1462c8,_0x78ce-_0x26f5e7._0x87479e);}this[_0x26a7ec(_0x8a2b53._0x15aadc,0x17b0)][_0x26a7ec(0xadf,0x953)](this['_drawAddEventType'],this['_onClickHandler'],this),this[_0x26a7ec(_0x8a2b53._0x472535,0x17b0)][_0x26a7ec(0x563,0x953)](this['_drawEndEventType'],this['_onDbClickHandler'],this);function _0x26a7ec(_0x28316a,_0x43e09c){return _0x2b6441(_0x28316a,_0x43e09c-_0x1f5a85._0x2da808);}(this[_0x46b5ca(0xd86,_0x8a2b53._0x58163e)][_0x46b5ca(0x1115,0x1a73)]??!![])&&this['_map']['off'](this[_0x26a7ec(0xb62,0x1252)],this['_onRightClickHandler'],this);}['updateAttrForDrawing'](_0x52af97){const _0x1784fa={_0x34d94d:0xed5,_0x516c0f:0xd4c,_0xa81959:0x19f2,_0x1acef1:0xacd},_0x234f8d={_0x147d64:0x61d};function _0x402f8e(_0x2b9254,_0x1ae354){return _0x306755(_0x2b9254,_0x1ae354- -_0x234f8d._0x147d64);}function _0x335422(_0xd467a0,_0x27f7cc){return _0x2b6441(_0xd467a0,_0x27f7cc- -0x94);}if(this[_0x335422(_0x1784fa._0x34d94d,_0x1784fa._0x516c0f)][_0x335422(_0x1784fa._0xa81959,0xfc6)]<0x2)return;if(!_0x52af97){const _0x267477=formatNum$1(Cesium__namespace['Cartesian3']['distance'](this['_positions_draw'][0x0],this[_0x335422(0x11dc,0xd4c)][0x1]),0x2);this['style'][_0x335422(0x1991,0xf27)]=_0x267477,this[_0x402f8e(-0x311,0x239)]['radii_z']=_0x267477;let _0x12ff6e;this['_positions_draw'][_0x335422(0x1a21,0xfc6)]===0x3?_0x12ff6e=formatNum$1(Cesium__namespace['Cartesian3']['distance'](this[_0x402f8e(_0x1784fa._0x1acef1,0xd64)][0x0],this['_positions_draw'][0x2]),0x2):_0x12ff6e=_0x267477,this['style']['radii_y']=_0x12ff6e,this['updateRadii'](this['style']);}}[_0x306755(0x1a4c,0x1319)](_0x14256d){const _0x18fa5c={_0x5ec14d:0x6dd,_0x9acb96:0xc29};function _0xefc161(_0x22b4c2,_0x1c108d){return _0x2b6441(_0x1c108d,_0x22b4c2-0x428);}super['_onRightClickHandler'](_0x14256d),this['style']['radii_y']=0x0;this['_positions_draw']['length']===0x1&&(this['style']['radii_x']=0x0,this[_0xefc161(_0x18fa5c._0x5ec14d,_0x18fa5c._0x9acb96)][_0xefc161(0x1354,0x1d18)]=0x0);function _0x8f2aa4(_0x264936,_0x17591d){return _0x2b6441(_0x264936,_0x17591d-0x3c9);}this['updateRadii'](this['style']);}['addScanPlane'](_0x550cd1={}){const _0x4a867c={_0x2e523a:0x1e3e,_0x271944:0x2d8,_0x36be20:0x63b,_0xfa83af:0x1607,_0x42dbdd:0xc53,_0x1ca582:0x19f4,_0x579e5d:0x14bd,_0x8ba0ad:0x8e0,_0x4fae40:0x63b,_0x15145a:0x27e,_0x1f2d5e:0xbd3,_0x32cd4a:0xec3,_0x2459f9:0xe25,_0x2d0121:0xc56,_0x2bb75b:0x13f5,_0x130633:0x654,_0x594532:0xa06,_0x306d4a:0x98a,_0x1f3960:0xad9,_0x3d4551:0xba0,_0xa7425c:0xb34,_0x59299e:0x946,_0x9585de:0x591},_0x4b7097={_0x1c0623:0x386},_0x2c88ce={_0x474197:0x21f},_0x136772={_0x25278f:0x14a6,_0x32c23b:0x2b6,_0x4cbe38:0x3f8,_0x3d5c5b:0xab8},_0x526aaf={_0x7e38ce:0x11d},_0x4f83f0={_0x286839:0x11f0},_0x5525e9={_0x10ec51:0x8f2,_0x270ef1:0x980},_0x12cb99={_0x50156e:0x164a,_0x5a3955:0x1c5a,_0x268f22:0x2d7,_0x3291cb:0x10e},_0x4510e1={_0x38b5b2:0x13d},_0x5b41e4={_0x5a79b3:0x8a};this[_0x296cee(0x167f,0xf55)]=this[_0x296cee(0x167f,_0x4a867c._0x2e523a)]||[],_0x550cd1['style']=_0x550cd1['style']||{};const _0x233519={};function _0x247fc4(_0x11808c,_0x3aa107){return _0x306755(_0x3aa107,_0x11808c-_0x5b41e4._0x5a79b3);}_0x233519['radii']=this['entityGraphic'][_0x296cee(0x158f,0xf74)],_0x233519[_0x296cee(_0x4a867c._0x271944,-0x6ac)]=0.00001,_0x233519['minimumClockDegree']=-0.00001,_0x233519['maximumClockDegree']=0.00001,_0x233519[_0x247fc4(0x130d,0x1c66)]=this[_0x296cee(_0x4a867c._0x36be20,0x578)]['minimumConeDegree']||0x0,_0x233519[_0x247fc4(_0x4a867c._0xfa83af,_0x4a867c._0x42dbdd)]=this[_0x296cee(0x63b,0x575)]['maximumConeDegree']||0x5a,_0x233519[_0x247fc4(_0x4a867c._0x1ca582,_0x4a867c._0x579e5d)]=![];const _0x227b60=_0x233519;if(this[_0x247fc4(_0x4a867c._0x8ba0ad,0x10a1)]['color'])_0x227b60['color']=this['style']['color'],this[_0x296cee(_0x4a867c._0x4fae40,-_0x4a867c._0x15145a)]['opacity']&&(_0x227b60['opacity']=this['style'][_0x247fc4(_0x4a867c._0x1f2d5e,_0x4a867c._0x32cd4a)]);else this['style'][_0x247fc4(_0x4a867c._0x2459f9,0x18a4)]&&(_0x227b60[_0x296cee(0xc94,0x43d)]=this['style']['outlineColor'],this[_0x247fc4(0x8e0,0xc0b)]['outlineOpacity']&&(_0x227b60['opacity']=this['style']['outlineOpacity']));let _0x3567b6;const _0x58b371=Cesium__namespace[_0x247fc4(0x13f5,0x1149)][_0x296cee(0x9b1,0x119f)](_0x550cd1['step']||0.5),_0x4b0c72=new Cesium__namespace['HeadingPitchRoll'](Cesium__namespace['Math']['toRadians'](_0x550cd1['style'][_0x296cee(0xfb6,0x1a87)]||this['heading']),Cesium__namespace['Math'][_0x247fc4(_0x4a867c._0x2d0121,0x14bf)](_0x550cd1[_0x296cee(0x63b,0xefa)]['pitch']||this[_0x296cee(0x98a,0xa67)]),Cesium__namespace[_0x247fc4(_0x4a867c._0x2bb75b,0x1472)]['toRadians'](_0x550cd1['style']['roll']||this[_0x247fc4(0xa76,0xa03)]));let _0x6e7c55=Cesium__namespace['Transforms'][_0x247fc4(0x512,-0xf9)](this['positionShow'],_0x4b0c72,this['ellipsoid'],this[_0x247fc4(_0x4a867c._0x130633,_0x4a867c._0x594532)]),_0x57329e;switch(_0x550cd1['type']){case _0x296cee(_0x4a867c._0x306d4a,0x89f):{const _0x2f6f9b=Cesium__namespace['Math']['toRadians'](_0x550cd1['min']??0x0),_0x27457d=Cesium__namespace['Math'][_0x296cee(0x9b1,0x11b2)](_0x550cd1['max']??0xb4);_0x3567b6=new Cesium__namespace['CallbackProperty'](_0x42ffec=>{function _0x148109(_0x2db88b,_0x486a51){return _0x247fc4(_0x486a51- -0x5bd,_0x2db88b);}function _0x2cd7ee(_0x37bd16,_0x51f724){return _0x247fc4(_0x37bd16- -_0x4510e1._0x38b5b2,_0x51f724);}if(!this['_map']['clock']['shouldAnimate'])return _0x6e7c55;return _0x6e7c55=Cesium__namespace[_0x2cd7ee(_0x12cb99._0x50156e,_0x12cb99._0x5a3955)][_0x148109(-0x145,-0xab)](this[_0x148109(-0x4a0,_0x12cb99._0x268f22)],_0x4b0c72,this['ellipsoid'],this[_0x148109(-_0x12cb99._0x3291cb,0x97)]),_0x6e7c55;},![]),_0x57329e=function(){function _0x44c687(_0x217b6e,_0x438a4c){return _0x296cee(_0x217b6e- -0xa,_0x438a4c);}_0x4b0c72[_0x1fa6cd(0xd43,_0x5525e9._0x10ec51)]+=_0x58b371;function _0x1fa6cd(_0x247997,_0x260999){return _0x247fc4(_0x260999- -0x33d,_0x247997);}_0x4b0c72['pitch']>=_0x27457d&&(_0x4b0c72[_0x44c687(_0x5525e9._0x270ef1,0x27b)]=_0x2f6f9b);};}break;case'roll':{const _0x2f6802=Cesium__namespace[_0x247fc4(0x13f5,0x168b)]['toRadians'](_0x550cd1['min']??-0x5a),_0x298d7f=Cesium__namespace['Math']['toRadians'](_0x550cd1['max']??0x5a);_0x3567b6=new Cesium__namespace[(_0x247fc4(_0x4a867c._0x1f3960,0x409))](_0x269a5b=>{if(!this['_map']['clock']['shouldAnimate'])return _0x6e7c55;function _0x527086(_0x5b562f,_0x11914d){return _0x296cee(_0x11914d- -0xcf,_0x5b562f);}return _0x6e7c55=Cesium__namespace['Transforms']['headingPitchRollQuaternion'](this['positionShow'],_0x4b0c72,this[_0x527086(0xbb1,_0x4f83f0._0x286839)],this['fixedFrameTransform']),_0x6e7c55;},![]),_0x57329e=function(){_0x4b0c72['roll']+=_0x58b371;function _0x39262f(_0x2d1c92,_0x2bfe35){return _0x296cee(_0x2d1c92- -0x101,_0x2bfe35);}_0x4b0c72[_0x39262f(0x6d0,_0x526aaf._0x7e38ce)]>=_0x298d7f&&(_0x4b0c72['roll']=_0x2f6802);};}break;case'heading':default:{const _0x59ee2e=Cesium__namespace['Math']['toRadians'](_0x550cd1['min']??-0xb4),_0x4b6a13=Cesium__namespace['Math']['toRadians'](_0x550cd1['max']??0xb4);_0x3567b6=new Cesium__namespace[(_0x296cee(0x834,-0x62))](_0x4f7d61=>{function _0x5ce5af(_0x1dc125,_0x67f1b){return _0x247fc4(_0x1dc125- -0x25c,_0x67f1b);}if(!this[_0x5ce5af(0x15f7,0xd8e)][_0x31b1af(0xf34,_0x136772._0x25278f)]['shouldAnimate'])return _0x6e7c55;_0x6e7c55=Cesium__namespace[_0x5ce5af(0x152b,0xfa7)][_0x5ce5af(_0x136772._0x32c23b,-0x7b4)](this['positionShow'],_0x4b0c72,this['ellipsoid'],this[_0x5ce5af(_0x136772._0x4cbe38,_0x136772._0x3d5c5b)]);function _0x31b1af(_0x8dc3a7,_0x14f1a9){return _0x247fc4(_0x14f1a9-0x82,_0x8dc3a7);}return _0x6e7c55;},![]),_0x57329e=function(){function _0x567363(_0x3a8636,_0x432ec0){return _0x296cee(_0x3a8636- -_0x2c88ce._0x474197,_0x432ec0);}_0x4b0c72['heading']+=_0x58b371,_0x4b0c72[_0x567363(0xd97,0xd7a)]>=_0x4b6a13&&(_0x4b0c72['heading']=_0x59ee2e);};break;}}const _0x361be9={..._0x227b60,..._0x550cd1['style']},_0x3d8a89={'id':_0x247fc4(_0x4a867c._0x3d4551,_0x4a867c._0xa7425c)+createGuid(),'position':this[_0x296cee(0xfdc,0x10b3)],'orientation':_0x3567b6,'ellipsoid':EllipsoidStyleConver['toCesiumVal'](_0x361be9,{},!![])},_0x1d25c9=this['_createEntity'](_0x3d8a89);function _0x296cee(_0x386682,_0x1d96a9){return _0x2b6441(_0x1d96a9,_0x386682-_0x4b7097._0x1c0623);}return this[_0x247fc4(0xaeb,0xf00)]&&this[_0x296cee(_0x4a867c._0x59299e,_0x4a867c._0x9585de)]&&this['dataSource']['entities']['add'](_0x1d25c9),this['bindPickId'](_0x1d25c9),_0x1d25c9['_planeOptions']=_0x550cd1,this[_0x296cee(0x167f,0x16b8)]['push'](_0x1d25c9),_0x1d25c9[_0x247fc4(0x1500,0xdad)]=_0x57329e,this['_bindRequestAnimationFrame'](),_0x1d25c9;}['_bindRequestAnimationFrame'](){const _0x37e9da={_0x361225:0x13e4,_0x45fefd:0x10ef},_0x313851={_0x67f2d6:0x4ed,_0x262537:0x132d,_0x4f568a:0x8aa,_0x4620b7:0x679};function _0x42a598(_0x30a741,_0xd650e0){return _0x306755(_0x30a741,_0xd650e0- -0x35a);}function _0x317f6d(_0x219811,_0x23d510){return _0x306755(_0x219811,_0x23d510- -0x50c);}var _0x5688a5;if(this[_0x42a598(0x1561,_0x37e9da._0x361225)])return;if(((_0x5688a5=this['_entity_scanPlane'])===null||_0x5688a5===void 0x0?void 0x0:_0x5688a5[_0x317f6d(0x13d0,_0x37e9da._0x45fefd)])>0x0){const _0x15b79f=this;let _0x3278de=Date['now']();const _0x3640d6=0x3e8/0x32;(function _0x439f61(){function _0x7f06f4(_0x479752,_0x1c5ba2){return _0x42a598(_0x1c5ba2,_0x479752-0x46a);}function _0x98a44(_0x31eb13,_0x4ad044){return _0x317f6d(_0x31eb13,_0x4ad044-0x70);}if(_0x15b79f[_0x98a44(_0x313851._0x67f2d6,0x53d)])return;_0x15b79f['_animateFrame']=window['requestAnimationFrame'](_0x439f61);if(_0x15b79f[_0x98a44(0x10ab,_0x313851._0x262537)]&&_0x15b79f['_map']['clock'][_0x98a44(0xac4,_0x313851._0x4f568a)]){const _0x37f523=Date['now'](),_0x298d6c=_0x37f523-_0x3278de;_0x298d6c>_0x3640d6&&(_0x3278de=_0x37f523-_0x298d6c%_0x3640d6,_0x15b79f[_0x98a44(-0x2d,_0x313851._0x4620b7)]());}}());}}['_updateScanPlane'](){const _0x54084d={_0x2bbb14:0x1691,_0x3b67b8:0x1e14};var _0x4b8e60;function _0x9fbdb3(_0x3b73c9,_0x13ca3a){return _0x306755(_0x3b73c9,_0x13ca3a- -0x112);}function _0x42fbc6(_0x198168,_0xf867b8){return _0x306755(_0x198168,_0xf867b8- -0x209);}((_0x4b8e60=this[_0x42fbc6(0x1e41,_0x54084d._0x2bbb14)])===null||_0x4b8e60===void 0x0?void 0x0:_0x4b8e60['length'])>0x0&&this[_0x9fbdb3(_0x54084d._0x3b67b8,0x1788)]['forEach'](_0x5f3546=>{_0x5f3546['_updateHpr']();});}['removeScanPlan'](_0x2291fc){const _0x5163ec={_0x200ed7:0x71e,_0x43c262:0x4fc,_0x462791:0x64e,_0xa79a13:0x1018};this[_0x581c5a(0x6a7,_0x5163ec._0x200ed7)]&&this[_0x5aa565(_0x5163ec._0x43c262,_0x5163ec._0x462791)]&&this['dataSource']['entities'][_0x5aa565(-0x2f2,0x4a9)](_0x2291fc);function _0x5aa565(_0x5a7105,_0x50945a){return _0x2b6441(_0x5a7105,_0x50945a-0x8e);}function _0x581c5a(_0x733f09,_0x245d50){return _0x2b6441(_0x245d50,_0x733f09-0x1e7);}removeArrayItem(this[_0x5aa565(_0x5163ec._0xa79a13,0x1387)],_0x2291fc);}['removeAllScanPlan'](){const _0x37129e={_0x268c74:0xbcd,_0x305431:0x5aa,_0x6cf455:0x1d93},_0x2da3a6={_0x39fd6a:0x6f4},_0x15da09={_0xf5e216:0x4b7};function _0x1cb3a5(_0x416b99,_0x38ae94){return _0x306755(_0x416b99,_0x38ae94-0x2f);}function _0x139bff(_0xc27bd3,_0x4cef9b){return _0x306755(_0xc27bd3,_0x4cef9b- -_0x15da09._0xf5e216);}this[_0x139bff(_0x37129e._0x268c74,_0x37129e._0x305431)]&&this['isAdded']&&this[_0x139bff(_0x37129e._0x6cf455,0x13e3)]['forEach'](_0x367da7=>{function _0x171e46(_0x40df24,_0x25746e){return _0x1cb3a5(_0x25746e,_0x40df24- -0x5a3);}function _0xd7be3b(_0x1113ce,_0x50fda3){return _0x1cb3a5(_0x50fda3,_0x1113ce-0xe9);}this[_0xd7be3b(0xb79,0x15d8)][_0x171e46(_0x2da3a6._0x39fd6a,-0xd2)]['remove'](_0x367da7);}),this['_entity_scanPlane']=[];}}register$5('ellipsoid',EllipsoidEntity,!![]);class PolylineEntity extends BasePolyEntity{get['entityGraphic'](){var _0x4966bf;return(_0x4966bf=this['_entity'])===null||_0x4966bf===void 0x0?void 0x0:_0x4966bf['polyline'];}[_0x2b6441(0x1150,0xd6b)](){const _0x38bae6={_0x2b5850:0x8c6,_0x39b412:0x1ff,_0x42777c:0xe7,_0x5dab0c:0x141c,_0x157857:0x934,_0x23dffc:0x13f3,_0x32a2ad:0x755,_0x3a5503:0x15d,_0x2594ea:0xfdb,_0xb88db3:0x542,_0xa43eee:0xf11},_0x38dd96={_0x48c63b:0x57d},_0x2942fc={_0x8115f4:0x6f};function _0x34dfe9(_0x1354ba,_0x38a809){return _0x2b6441(_0x38a809,_0x1354ba-_0x2942fc._0x8115f4);}this['_positions_show']=this[_0x44f095(0x15c,-_0x38bae6._0x2b5850)](this['positions']);const _0x314ca0={'polyline':PolylineStyleConver[_0x44f095(0xacf,_0x38bae6._0x39b412)](this[_0x44f095(0x2d9,_0x38bae6._0x42777c)],{},!![])};_0x314ca0['polyline'][_0x44f095(_0x38bae6._0x5dab0c,0x126b)]=this['_positions_show'],this[_0x34dfe9(_0x38bae6._0x157857,0x2ec)]=this[_0x44f095(_0x38bae6._0x23dffc,0xe85)](_0x314ca0);function _0x44f095(_0x23f2f4,_0x28944b){return _0x306755(_0x28944b,_0x23f2f4- -_0x38dd96._0x48c63b);}this['style'][_0x44f095(0x2ee,_0x38bae6._0x32a2ad)]&&this['_addLabel'](this[_0x44f095(0x2d9,_0x38bae6._0x3a5503)]['label']),this['style']['snakeAnimationDuration']&&this['startSnakeAnimation']({'delay':this['style'][_0x44f095(_0x38bae6._0x2594ea,0x8b2)],'duration':this[_0x44f095(0x2d9,_0x38bae6._0xb88db3)][_0x34dfe9(_0x38bae6._0xa43eee,0x1695)]});}['getShowPositions'](_0x1702d6){const _0x3b17fd={_0xba1f48:0x571},_0x178724={_0x320c88:0x344},_0x2284d7={_0x5b7c1e:0x2bc};function _0x16f5d9(_0x4d1d6a,_0x1cdf0a){return _0x2b6441(_0x1cdf0a,_0x4d1d6a-_0x2284d7._0x5b7c1e);}function _0x1eeab5(_0x624a83,_0x4c386d){return _0x2b6441(_0x4c386d,_0x624a83-_0x178724._0x320c88);}return this[_0x16f5d9(_0x3b17fd._0xba1f48,-0x2ea)][_0x16f5d9(0x14b4,0x108b)]&&(_0x1702d6===null||_0x1702d6===void 0x0?void 0x0:_0x1702d6['length'])>0x0?_0x1702d6[_0x16f5d9(0xb41,0x944)](_0x1702d6[0x0]):_0x1702d6;}['_style2Json'](_0x35fb7f,_0x9da881){return PolylineStyleConver['toJSON'](_0x35fb7f,_0x9da881,!![]);}['_updateStyleHook'](_0x4671f0,_0x1b4b06){const _0x5813e7={_0x3c1967:0x1442,_0x415698:0x723,_0x3cdd27:0x455,_0x15f86f:0x18cf,_0x554421:0xbcb,_0x4c37c5:0xff6,_0x3052f9:0xb7f};function _0x5d3bec(_0x39868b,_0x360e3a){return _0x2b6441(_0x39868b,_0x360e3a-0x4d7);}function _0x143d51(_0xeb0eb7,_0x5a6ba2){return _0x2b6441(_0x5a6ba2,_0xeb0eb7-0x24a);}PolylineStyleConver['toCesiumVal'](_0x4671f0,this['entityGraphic'],!![]),Cesium__namespace['defined'](_0x1b4b06===null||_0x1b4b06===void 0x0?void 0x0:_0x1b4b06[_0x143d51(_0x5813e7._0x3c1967,0x1867)])&&(!this['_isCallbackPositions']&&(this[_0x5d3bec(0x3b5,0xb26)]=this['getShowPositions'](this['_positions']),this[_0x143d51(_0x5813e7._0x415698,_0x5813e7._0x3cdd27)][_0x5d3bec(0x11a4,_0x5813e7._0x15f86f)]=this[_0x5d3bec(_0x5813e7._0x554421,0xb26)]),this[_0x143d51(_0x5813e7._0x4c37c5,_0x5813e7._0x3052f9)]());}['_updatePositionsHook'](){const _0x5a2377={_0x1b170e:0xa0b,_0x21e3f8:0x95,_0x11a9c7:0x374,_0x191949:0x1894,_0x563bb3:0x3b0};this[_0x2bb2db(_0x5a2377._0x1b170e,0x5be)]instanceof Cesium__namespace[_0x2bb2db(0x986,_0x5a2377._0x21e3f8)]?(this['_positions_draw']&&(this[_0x34000f(0xbb4,_0x5a2377._0x11a9c7)]=this['getShowPositions'](this['_positions_draw'])),this['entityGraphic'][_0x34000f(0x195d,0x1d90)]=this['_positions']):(this[_0x34000f(0xbb4,0xb7c)]=this[_0x2bb2db(0x610,0xf9b)](this[_0x2bb2db(0xa0b,0xbf5)]),this['entityGraphic']['positions']=this['_positions_show']);function _0x34000f(_0x445284,_0x9a9814){return _0x2b6441(_0x9a9814,_0x445284-0x565);}this[_0x34000f(_0x5a2377._0x191949,0x10db)]();function _0x2bb2db(_0xb05ba4,_0x5a7551){return _0x2b6441(_0x5a7551,_0xb05ba4-0x4d8);}this[_0x2bb2db(_0x5a2377._0x563bb3,0xbdc)]();}[_0x2b6441(0x19c,0x839)](){const _0xecd49f={_0x30ac57:0xa8f},_0x5b55a4={_0x393ae5:0x161};function _0x1a01e2(_0x54858b,_0xaf3438){return _0x306755(_0x54858b,_0xaf3438- -_0x5b55a4._0x393ae5);}return this[_0x1a01e2(0xd7b,_0xecd49f._0x30ac57)];}['updateAttrForDrawing'](_0x1496dd){const _0x237354={_0x5d29f2:0x5af,_0x5274f4:0x23};function _0x27c4a1(_0x1701b7,_0x5a4dbb){return _0x2b6441(_0x5a4dbb,_0x1701b7- -0xa0);}this[_0x27c4a1(_0x237354._0x5d29f2,_0x237354._0x5274f4)]=this['getShowPositions'](this['_positions_draw']);}[_0x2b6441(0x140b,0xafa)](){const _0x19393e={_0x363fee:0xf1a,_0x4e848d:0x5a,_0x1b1b40:0xf78,_0x3b00ef:0x1873},_0x426d1f={_0x57416b:0x595};function _0x381b0a(_0x18abb9,_0x259d52){return _0x306755(_0x18abb9,_0x259d52- -_0x426d1f._0x57416b);}function _0x56223f(_0x62bb62,_0x88255f){return _0x306755(_0x88255f,_0x62bb62- -0x13f);}if(this['_isCallbackPositions']&&this['style']['clampToGround']){let _0x378609;const _0x4d32e2=this[_0x56223f(0x5bd,_0x19393e._0x363fee)];_0x4d32e2?_0x378609=Cesium__namespace['Cartesian3'][_0x381b0a(_0x19393e._0x4e848d,0x988)](_0x4d32e2,new Cesium__namespace['Cartesian3']()):_0x378609=(Cesium__namespace['Ellipsoid']['WGS84']['minimumRadius']+Cesium__namespace['Ellipsoid'][_0x56223f(_0x19393e._0x1b1b40,_0x19393e._0x3b00ef)][_0x381b0a(-0xac,0xa0)])/0x2,this['updateDistanceDisplayCondition'](_0x378609);}else this['updateDistanceDisplayCondition']();}['startSnakeAnimation'](_0x51b59a={}){const _0x674d57={_0x2f341f:0xfbc};this[_0x9e989(0xc59,0xee8)]();const _0x768881=_0x51b59a['delay']??0.5;function _0x9e989(_0x6b9a2c,_0x2d41ba){return _0x2b6441(_0x6b9a2c,_0x2d41ba-0x2f8);}setTimeout(()=>{if(!this['isAdded'])return;this[_0x2f59ac(0x1465,_0x674d57._0x2f341f)]();function _0x2f59ac(_0x34d060,_0x265976){return _0x9e989(_0x34d060,_0x265976-0xd4);}this['setCallbackPositions'](),this['_startSnakeAnimation'](_0x51b59a);},_0x768881*0x3e8);}[_0x2b6441(0x1348,0x132e)](_0x5335f6){const _0x352e45={_0x25d0b0:0x10ff,_0x5cb841:0x1995,_0x492489:0x244,_0x1f04c3:0x96e,_0x1b6572:0x334},_0x43877d={_0x2051db:0x323},_0x46d829={_0x25d99d:0x1345,_0x8b093c:0x955,_0x38f01c:0xae3,_0xdc1d10:0xf8a,_0x419178:0xd49,_0x553d57:0x77b,_0x400649:0x9e4,_0x43dcb9:0x185,_0x5d2c78:0x77b},_0x246950={_0x3d4387:0x1f7},_0x23d1c6=this[_0x38c358(_0x352e45._0x25d0b0,_0x352e45._0x5cb841)];let _0x12923b=0x0;const _0xee01b0=_0x23d1c6[_0x38c358(0x1379,0x1495)]-0x1;for(let _0x10cde1=0x0;_0x10cde1<_0xee01b0;_0x10cde1++){const _0xdd9c6d=_0x23d1c6[_0x10cde1],_0x35f268=_0x23d1c6[_0x10cde1+0x1],_0xc308d2=Cesium__namespace['Cartesian3']['distance'](_0xdd9c6d,_0x35f268);_0x12923b+=_0xc308d2,_0x35f268['_distance']=_0x12923b;}const _0x5ef4ff=_0x5335f6[_0x38c358(_0x352e45._0x492489,0x70b)]??0x8;function _0x38c358(_0x1b789f,_0x2144c8){return _0x2b6441(_0x2144c8,_0x1b789f-0x31f);}const _0x14595d=_0x12923b/_0x5ef4ff;let _0x272920=0x0;const _0x14f906=0.05,_0x81ac89=_0x14f906*_0x14595d;this[_0x38c358(_0x352e45._0x1f04c3,0x450)]=[_0x23d1c6[0x0]];let _0x12ebc7=0x0;const _0x8563e7=()=>{function _0xffeff(_0x99fd49,_0xa63f1a){return _0x38c358(_0xa63f1a-0x76,_0x99fd49);}if(_0x272920>=_0xee01b0||!this[_0xffeff(_0x46d829._0x25d99d,_0x46d829._0x8b093c)]){this['stopSnakeAnimation']();_0x5335f6['callback']&&_0x5335f6[_0xffeff(_0x46d829._0x38f01c,0x3d0)]();return;}function _0x5e7ad7(_0x4e0d26,_0x55795c){return _0x174a6c(_0x4e0d26- -_0x246950._0x3d4387,_0x55795c);}const _0x474b2b=_0x23d1c6[_0x272920],_0x34fc53=_0x23d1c6[_0x272920+0x1];if(_0x12ebc7+_0x81ac89>=_0x34fc53[_0x5e7ad7(_0x46d829._0xdc1d10,_0x46d829._0x419178)])this['_positions_show'][this['_positions_show']['length']-0x1]['_istemp']&&this[_0x5e7ad7(_0x46d829._0x553d57,0xd5a)]['pop'](),_0x12ebc7=_0x34fc53['_distance'],this[_0xffeff(0xd8,_0x46d829._0x400649)]['push'](_0x34fc53),_0x272920++,_0x8563e7();else{_0x12ebc7+=_0x81ac89;const _0x2ee7eb=getOnLinePointByLen(_0x474b2b,_0x34fc53,_0x12ebc7-(_0x474b2b['_distance']??0x0));_0x2ee7eb['_istemp']=!![],this['_positions_show'][this[_0x5e7ad7(0x77b,0xa48)]['length']-0x1]['_istemp']?this[_0x5e7ad7(_0x46d829._0x553d57,-_0x46d829._0x43dcb9)][this['_positions_show']['length']-0x1]=_0x2ee7eb:this[_0x5e7ad7(_0x46d829._0x5d2c78,0x4fd)][_0xffeff(-0x4e8,0x48d)](_0x2ee7eb);}};function _0x174a6c(_0x160219,_0x2a90c2){return _0x2b6441(_0x2a90c2,_0x160219-_0x43877d._0x2051db);}this[_0x174a6c(0x840,_0x352e45._0x1b6572)]=setInterval(()=>{_0x8563e7();},_0x14f906*0x3e8);}['stopSnakeAnimation'](){const _0x8dd9ed={_0x2e672f:0xae3,_0x3e0cc8:0x729,_0x38182a:0x8c6,_0x2d642d:0xe03};function _0x77326d(_0x1df4e9,_0x201676){return _0x306755(_0x201676,_0x1df4e9-0x25);}function _0x4d2413(_0x189988,_0x3a935b){return _0x2b6441(_0x3a935b,_0x189988-0x277);}this['_timeTik_SnakeAnimation']&&(clearInterval(this['_timeTik_SnakeAnimation']),delete this[_0x77326d(_0x8dd9ed._0x2e672f,_0x8dd9ed._0x3e0cc8)],this[_0x4d2413(_0x8dd9ed._0x38182a,0xd1f)]=this[_0x4d2413(0x1057,_0x8dd9ed._0x2d642d)]);}}register$5('polyline',PolylineEntity);class CurveEntity extends PolylineEntity{['getShowPositions'](_0x54d5ac){if(!_0x54d5ac||_0x54d5ac['length']<0x2)return _0x54d5ac;return _0x54d5ac=getBezierCurve(_0x54d5ac,this['style']),_0x54d5ac=this['_updatePositionsForHeight'](_0x54d5ac,this['style']),_0x54d5ac;}}register$5(_0x306755(0x1ad5,0x1974),CurveEntity);class BrushLineEntity extends PolylineEntity{[_0x2b6441(-0x91f,0xd0)](){const _0x1e0789={_0x528462:0x1494,_0x42699b:0xc46,_0x2902da:0x1497},_0x5f09ed={_0x201002:0x314},_0x16f0de={_0x130056:0x25b};this['_map']['on'](EventType['leftDown'],this[_0x50d85c(0x1d75,_0x1e0789._0x528462)],this);function _0x50d85c(_0x566aed,_0x54f090){return _0x306755(_0x566aed,_0x54f090- -_0x16f0de._0x130056);}function _0x1c2c9a(_0x44d6b8,_0x28a11b){return _0x2b6441(_0x44d6b8,_0x28a11b-_0x5f09ed._0x201002);}this['_map']['on'](EventType['leftUp'],this[_0x50d85c(_0x1e0789._0x42699b,_0x1e0789._0x2902da)],this);}['_stopDrawHook'](){const _0x183826={_0x28e8ab:0x120d,_0x41478a:0x49a,_0x283069:0xe8};function _0x279925(_0x285422,_0x390613){return _0x306755(_0x285422,_0x390613- -0x351);}this['_map']['off'](EventType['leftDown'],this[_0x4733df(0x1a78,_0x183826._0x28e8ab)],this);function _0x4733df(_0x21000c,_0x17a4dd){return _0x2b6441(_0x21000c,_0x17a4dd-0xbf);}this['_map'][_0x279925(_0x183826._0x41478a,0x61b)](EventType[_0x4733df(_0x183826._0x283069,-0x23)],this[_0x4733df(0x9fb,0x1210)],this),this['_map']['off'](EventType[_0x279925(0x7fa,0x717)],this['_onMap_mouseMove'],this);}['_onMap_leftDown'](_0x22566c){const _0xc4404d={_0x26f443:0x41b,_0x4d7bab:0xb34,_0x15f26f:0xdc7,_0x33ad08:0x14ec,_0x5ad3d2:0xcfe,_0x490908:0xd05},_0x28af3b={_0x3047f6:0x2c4};this['_map']['scene'][_0x2858e7(_0xc4404d._0x26f443,_0xc4404d._0x4d7bab)][_0x2450da(_0xc4404d._0x15f26f,0x17fd)]&&(this[_0x2858e7(_0xc4404d._0x33ad08,_0xc4404d._0x5ad3d2)]['scene']['screenSpaceCameraController']['enableInputs']=![],this[_0x2858e7(_0xc4404d._0x490908,0xf97)]=!![]);function _0x2450da(_0x358817,_0x3daa5e){return _0x306755(_0x3daa5e,_0x358817- -0x322);}function _0x2858e7(_0x1e99cc,_0x8aae91){return _0x2b6441(_0x8aae91,_0x1e99cc-_0x28af3b._0x3047f6);}this['_map']['on'](EventType['mouseMove'],this['_onMap_mouseMove'],this);}['_onMap_mouseMove'](_0x29eca4){const _0x469b98={_0xf3e0f9:0xb4d,_0x26116c:0xfe9,_0x127925:0x17e1,_0x6057e2:0x1014,_0x1d2690:0x397,_0x180ae2:0x348,_0x315b63:0x587,_0x48444e:0xcac,_0xbcf1be:0x1326,_0x418400:0x7e5,_0x2d0cba:0x10d,_0x46030f:0x11eb,_0x4076c4:0x300,_0x3ea487:0x2b2},_0x299f24={_0x92c9e1:0x4f};if(this[_0x38ce7f(_0x469b98._0xf3e0f9,0xc2)]&&Math[_0x38ce7f(_0x469b98._0x26116c,0x162e)](this[_0x4f0264(_0x469b98._0x127925,_0x469b98._0x6057e2)]-_0x29eca4['windowPosition']['x'])<0xa&&Math[_0x4f0264(0x15d6,0x14b0)](this['_last_clickPositionY']-_0x29eca4['windowPosition']['y'])<0xa)return;function _0x4f0264(_0x11a819,_0x3059e2){return _0x306755(_0x11a819,_0x3059e2-_0x299f24._0x92c9e1);}function _0x38ce7f(_0x19be65,_0x4e8f36){return _0x2b6441(_0x4e8f36,_0x19be65-0x129);}this['_last_clickPositionX']=_0x29eca4['windowPosition']['x'],this['_last_clickPositionY']=_0x29eca4['windowPosition']['y'];let _0x1127eb=_0x29eca4['cartesian'];if(_0x1127eb){var _0x2e6723,_0x2372ae,_0x22f26f;if((_0x2e6723=this['options'])!==null&&_0x2e6723!==void 0x0&&_0x2e6723['updateDrawPosition']){_0x1127eb=this[_0x4f0264(_0x469b98._0x1d2690,0xcac)][_0x38ce7f(0x34e,_0x469b98._0x180ae2)](_0x1127eb,this);if(!_0x1127eb)return;}if((_0x2372ae=this['options'])!==null&&_0x2372ae!==void 0x0&&_0x2372ae['validDrawPosition']){const _0x1c0335=this[_0x4f0264(_0x469b98._0x315b63,_0x469b98._0x48444e)]['validDrawPosition'](_0x1127eb,this);if(!_0x1c0335)return;}this[_0x38ce7f(_0x469b98._0xbcf1be,0x18af)](),(_0x22f26f=this['options'])!==null&&_0x22f26f!==void 0x0&&_0x22f26f['addHeight']&&(_0x1127eb=addPositionsHeight(_0x1127eb,this[_0x38ce7f(_0x469b98._0x418400,0x3e3)]['addHeight'])),this['_positions_draw']['push'](_0x1127eb),this['updateAttrForDrawing'](![]),!isPCBroswer()&&this[_0x38ce7f(0x76,-_0x469b98._0x2d0cba)](_0x29eca4),this['fire'](EventType[_0x4f0264(0x416,0xdfa)],{..._0x29eca4,'drawType':this[_0x38ce7f(_0x469b98._0x46030f,0x1108)],'positions':this['_positions_draw']},!![]),this['_positions_draw']['length']>=this[_0x38ce7f(_0x469b98._0x4076c4,_0x469b98._0x3ea487)]&&this['stopDraw']();}}['_onMap_leftUp'](_0x2688f3){const _0x247957={_0x5cef59:0x1d52,_0x2257a2:0x177a,_0x356282:0x1853},_0x25231f={_0x3db843:0x8a};function _0x42075b(_0x246994,_0x3d19da){return _0x2b6441(_0x246994,_0x3d19da-0x5e0);}this['_map']['off'](EventType['mouseMove'],this[_0x487ae1(_0x247957._0x5cef59,_0x247957._0x2257a2)],this);this['_hasChangeEnableInputs']&&(this[_0x487ae1(0x1cc5,_0x247957._0x356282)][_0x487ae1(0x327,0xaef)][_0x487ae1(0xbc6,0x782)]['enableInputs']=!![],delete this[_0x487ae1(0x1628,0x106c)]);function _0x487ae1(_0x4eee2c,_0x2428c8){return _0x306755(_0x4eee2c,_0x2428c8-_0x25231f._0x3db843);}this[_0x487ae1(0x14cd,0xac4)]();}}register$5(_0x306755(0x1b41,0x1325),BrushLineEntity);class EditPolylineVolume extends EditPoly{get['noMatrixMoveZ'](){return!![];}}class PolylineVolumeEntity extends BasePolyEntity{get['entityGraphic'](){const _0x3703ca={_0x1cbb6c:0x1936,_0x12516d:0xf50};function _0x7d01e1(_0x23dd51,_0x3cf708){return _0x306755(_0x23dd51,_0x3cf708-0xea);}var _0x217538;return(_0x217538=this[_0x7d01e1(_0x3703ca._0x1cbb6c,_0x3703ca._0x12516d)])===null||_0x217538===void 0x0?void 0x0:_0x217538['polylineVolume'];}get['EditClass'](){return EditPolylineVolume;}['_mountedHook'](){const _0x4e3c95={_0x370521:0x9ae,_0xca5792:0xfe5},_0x585903={'polylineVolume':PolylineVolumeStyleConver['toCesiumVal'](this[_0x2c7d15(0x371,_0x4e3c95._0x370521)],{},!![])};function _0x2c7d15(_0x519951,_0x2bbcf4){return _0x306755(_0x519951,_0x2bbcf4-0x158);}function _0x30baf9(_0x6697f1,_0x296d66){return _0x306755(_0x6697f1,_0x296d66-0x14f);}_0x585903[_0x2c7d15(0xa65,0xe2a)][_0x2c7d15(0x2054,0x1af1)]=this['positions'],this['_entity']=this['_createEntity'](_0x585903),this['style']['label']&&this['_addLabel'](this['style'][_0x30baf9(_0x4e3c95._0xca5792,0x9ba)]);}['_style2Json'](_0x423ea6,_0x1e6d55){const _0x1ab25f={_0x375d79:0x76f,_0x448470:0x73d};function _0x35516f(_0x29937d,_0x1a8efa){return _0x306755(_0x29937d,_0x1a8efa- -0x3cd);}return PolylineVolumeStyleConver[_0x35516f(_0x1ab25f._0x375d79,_0x1ab25f._0x448470)](_0x423ea6,_0x1e6d55,!![]);}[_0x306755(0x17a4,0x105d)](_0x198006,_0x4601f7){PolylineVolumeStyleConver['toCesiumVal'](_0x198006,this['entityGraphic'],!![]);}['_updatePositionsHook'](){const _0x45da16={_0x4428ae:0x1a85},_0x286682={_0x1f3ca7:0x7b};this[_0x164d68(0x7d8,0xb66)][_0x164d68(0x2136,_0x45da16._0x4428ae)]=this['positions'],this[_0x456013(0x11aa,0x12b4)]();function _0x164d68(_0x48bcc6,_0x6dc696){return _0x306755(_0x48bcc6,_0x6dc696-0xec);}function _0x456013(_0x2608be,_0x5c7f44){return _0x2b6441(_0x2608be,_0x5c7f44- -_0x286682._0x1f3ca7);}this['_updateEditDraggers']();}}register$5(_0x306755(0x7d8,0xcd2),PolylineVolumeEntity);class PathEntity extends BasePointEntity{constructor(_0x516cea={}){const _0x3fea84={_0x247ba2:0x13ae};function _0x440e45(_0x163529,_0x378530){return _0x306755(_0x378530,_0x163529-0x78);}super(_0x516cea),delete this[_0x440e45(0x16c1,_0x3fea84._0x247ba2)],this['_hasEdit']=![];}get[_0x2b6441(0x8cd,0x4d9)](){function _0x1994fa(_0x3b1792,_0x526a4d){return _0x2b6441(_0x3b1792,_0x526a4d-0x9f);}var _0x19e050;function _0x46b1bd(_0x14224a,_0x3e87a1){return _0x2b6441(_0x3e87a1,_0x14224a-0x62c);}return(_0x19e050=this[_0x46b1bd(0xef1,0x4b3)])===null||_0x19e050===void 0x0?void 0x0:_0x19e050[_0x46b1bd(0xe70,0x16df)];}get['orientationShow'](){const _0x117ed3={_0x2e1b35:0xb86,_0x5eb610:0xd6e,_0x324fee:0x580};function _0x4eea28(_0xc3360f,_0x3f0672){return _0x2b6441(_0xc3360f,_0x3f0672- -0x8b);}const _0x291520=Cesium__namespace['Property']['getValueOrUndefined'](this['orientation'],this['_map'][_0x4eea28(_0x117ed3._0x2e1b35,_0x117ed3._0x5eb610)][_0x4eea28(0xa35,_0x117ed3._0x324fee)],new Cesium__namespace['Quaternion']());function _0x2e6f40(_0x5d9681,_0x2f6ae3){return _0x2b6441(_0x2f6ae3,_0x5d9681- -0x81);}return _0x291520;}get[_0x2b6441(0x144,0xb0f)](){const _0x20b7cc={_0x47a672:0x5d,_0x12f39d:0x470,_0x453044:0x17b,_0x30d4e0:0xa77,_0x4e72ad:0x13e,_0x1f2d93:0x230},_0x37733f={_0x2d981b:0x39a};function _0xe575c9(_0x423ec6,_0x5588c1){return _0x306755(_0x423ec6,_0x5588c1- -_0x37733f._0x2d981b);}function _0x54d4e3(_0x20f981,_0x292f16){return _0x306755(_0x20f981,_0x292f16- -0x69);}return getHeadingPitchRollByOrientation(this[_0xe575c9(_0x20b7cc._0x47a672,_0x20b7cc._0x12f39d)],this[_0xe575c9(_0x20b7cc._0x453044,_0x20b7cc._0x30d4e0)],this['ellipsoid'],this[_0xe575c9(-_0x20b7cc._0x4e72ad,_0x20b7cc._0x1f2d93)]);}get['pitch'](){const _0x4e2407={_0x2946b2:0x656};function _0x137a07(_0x3096b3,_0xea88c9){return _0x306755(_0xea88c9,_0x3096b3- -0x200);}return this[_0x137a07(_0x4e2407._0x2946b2,0xab6)]['pitch']??0x0;}set['pitch'](_0x4f76be){this['style']['pitch']=_0x4f76be,this['updateOrientation']();}get[_0x2b6441(0xbed,0x44b)](){const _0x379920={_0x3f936d:0x78},_0x50f38c={_0x12d4c5:0x1fb};function _0x2eb3e5(_0x40664f,_0x12fd3b){return _0x306755(_0x12fd3b,_0x40664f- -_0x50f38c._0x12d4c5);}return this['style'][_0x2eb3e5(0x7f1,-_0x379920._0x3f936d)]??0x0;}set[_0x306755(0x6,0x9ec)](_0x2004ff){function _0x2ce954(_0x2d117e,_0x39f4ea){return _0x306755(_0x39f4ea,_0x2d117e- -0x646);}this['style']['roll']=_0x2004ff,this[_0x2ce954(0x2b9,-0x6b4)]();}get['positions'](){function _0x4e0dab(_0x4a3354,_0x2ddcdc){return _0x306755(_0x4a3354,_0x2ddcdc- -0x3e7);}return this[_0x4e0dab(0x11a6,0x6ed)];}set['positions'](_0x2acd51){const _0x278255={_0x2917e1:0x286},_0x3f6c06={_0x45daea:0x954};if(!_0x2acd51)return;const _0x1a2eef=new Cesium__namespace[(_0xaaf35f(_0x278255._0x2917e1,-0x3b8))]();function _0xaaf35f(_0x1c6bbb,_0x88cb31){return _0x2b6441(_0x88cb31,_0x1c6bbb- -0xac);}_0x2acd51['forEach']((_0x2fffac,_0xdf6b18)=>{const _0x3b943c={_0x23bace:0x1a8},_0x465248=Cesium__namespace['JulianDate']['fromDate'](new Date(_0x2fffac[0x3]));function _0x187ba3(_0x439d54,_0x20337c){return _0xaaf35f(_0x20337c-_0x3b943c._0x23bace,_0x439d54);}_0x1a2eef[_0x187ba3(_0x3f6c06._0x45daea,0x813)](_0x465248,Cesium__namespace['Cartesian3']['fromDegrees'](_0x2fffac[0x0],_0x2fffac[0x1],_0x2fffac[0x2]));}),this['position']=_0x1a2eef;}get[_0x306755(0xd49,0xc11)](){return this['getCoordinates']();}[_0x306755(0x88,0x96b)](){const _0x278fc5={_0xbc3a27:0xd7,_0xdc88d7:0xd6d,_0x1dfb5e:0xfb4,_0x41e084:0x173e},_0x37daec={_0x55a15b:0x4d4},_0x9cb39b={_0x3fbad8:0x117};function _0x1618be(_0x3ba8a4,_0x55f70c){return _0x2b6441(_0x3ba8a4,_0x55f70c-_0x9cb39b._0x3fbad8);}function _0x229d2b(_0x2ebaa5,_0x14349d){return _0x2b6441(_0x14349d,_0x2ebaa5-_0x37daec._0x55a15b);}super[_0x1618be(-_0x278fc5._0xbc3a27,0x4e1)](),!this['position']||this[_0x1618be(0x1000,_0x278fc5._0xdc88d7)]instanceof Cesium__namespace['Cartesian3']?(this['_entity']['orientation']=undefined,this['availability']=undefined):(this['options']['_auto_orientation']&&(this[_0x229d2b(0xd99,_0x278fc5._0x1dfb5e)]['orientation']=new Cesium__namespace[(_0x1618be(0xed2,0xa28))](this['position'])),this[_0x229d2b(_0x278fc5._0x41e084,0x1df2)]&&this['_setAutoAvailability']());}[_0x306755(0x11ef,0x130c)](){const _0x469144={_0x3f7ba2:0xee8,_0x55da52:0x76b,_0x794fbc:0xf30,_0x3d6422:0x1275,_0x9002f6:0x963,_0x594397:0x1275,_0x5c09f0:0x547,_0x2a3df7:0xc7a,_0x6fe36a:0x94e,_0x400c8b:0x900,_0x4a59e8:0x94e,_0x246f6c:0x94e,_0x3ef1c0:0x901,_0x5c13bb:0x10ca,_0x3d99d1:0x17bf,_0x28a043:0x74d,_0x155045:0xcdb,_0x888afa:0x104d,_0x5f3b9b:0x86,_0x333eff:0x94e,_0x56b4d2:0x592},_0x1926f6={_0x69cca3:0x1c59,_0x3605d5:0xba4},_0x534fab={_0x44b331:0x292};this[_0x33525(_0x469144._0x3f7ba2,0x1226)]&&!this[_0x5d241e(0x135f,0xcdb)][_0x33525(0xd3c,_0x469144._0x55da52)]&&(this['options']['orientation']=new Cesium__namespace[(_0x5d241e(0x14b1,_0x469144._0x794fbc))](this[_0x5d241e(0x19ac,_0x469144._0x3d6422)]),this['_auto_orientation']=!![]);const _0x1d57a2={'position':this[_0x5d241e(_0x469144._0x9002f6,_0x469144._0x594397)],'orientation':this['options']['orientation'],'path':PathStyleConver['toCesiumVal'](this[_0x33525(_0x469144._0x5c09f0,_0x469144._0x2a3df7)]||this['options']['path'],{},!![])};!this[_0x33525(0x94e,0x61a)]['availability']&&this['_setAutoAvailability'](_0x1d57a2);function _0x5d241e(_0x5f0624,_0xb0bc60){return _0x2b6441(_0x5f0624,_0xb0bc60-0x61f);}this[_0x33525(_0x469144._0x6fe36a,_0x469144._0x400c8b)]['label']&&(this['options']['label'][_0x5d241e(0x1a75,0x198b)]=this[_0x33525(_0x469144._0x4a59e8,0x3ae)][_0x5d241e(0x8d5,0x8e9)]['text']||this[_0x33525(0x584,-0x356)],_0x1d57a2['label']=LabelStyleConver['toCesiumVal'](this[_0x33525(_0x469144._0x246f6c,0xc02)][_0x33525(0x55c,_0x469144._0x3ef1c0)]));this['options']['billboard']&&(_0x1d57a2['billboard']=BillboardStyleConver[_0x5d241e(0x12a0,_0x469144._0x5c13bb)](this[_0x5d241e(0x483,0xcdb)][_0x5d241e(0x1eb7,_0x469144._0x3d99d1)]));this['options'][_0x5d241e(0x2088,0x18e7)]&&(_0x1d57a2['point']=PointStyleConver[_0x33525(0xd3d,0x5a8)](this[_0x5d241e(_0x469144._0x28a043,_0x469144._0x155045)]['point']));function _0x33525(_0x1bcb74,_0x27bacd){return _0x2b6441(_0x27bacd,_0x1bcb74-_0x534fab._0x44b331);}this['options']['circle']&&(_0x1d57a2['ellipse']=CircleStyleConver[_0x5d241e(0x1723,0x10ca)](this['options'][_0x5d241e(_0x469144._0x888afa,0xd9a)],{},!![]));if(this['options']['model']){_0x1d57a2['model']=ModelStyleConver[_0x33525(0xd3d,0x17b2)](this[_0x33525(0x94e,_0x469144._0x5f3b9b)]['model'],{},!![]),_0x1d57a2[_0x5d241e(0x13f9,0x19d2)]['marsOptions']={'occlusion':this[_0x33525(_0x469144._0x6fe36a,0x40f)]['model'][_0x5d241e(0x1661,0x165e)],'callback':(_0x247324,_0xd2f235)=>{const _0x4f7559={_0x47c4ed:0x606};this['_model']=_0xd2f235;function _0x33cf57(_0x90547a,_0x3f67f4){return _0x5d241e(_0x3f67f4,_0x90547a- -0x174);}const _0x5421cc={};_0x5421cc[_0x2e187b(_0x1926f6._0x69cca3,0x13cc)]=_0xd2f235;function _0x2e187b(_0xd5a3eb,_0x4427c3){return _0x5d241e(_0xd5a3eb,_0x4427c3- -_0x4f7559._0x47c4ed);}this[_0x33cf57(0x793,_0x1926f6._0x3605d5)](EventType['load'],_0x5421cc,!![]);}};const _0x5beb21=this[_0x33525(_0x469144._0x333eff,_0x469144._0x56b4d2)]['model'];(_0x5beb21['mergeOrientation']||Cesium__namespace[_0x33525(0x14a3,0x1951)](_0x5beb21['heading'])||Cesium__namespace[_0x33525(0x14a3,0x15a5)](_0x5beb21['pitch'])||Cesium__namespace['defined'](_0x5beb21['roll']))&&(_0x1d57a2['orientation']=new Cesium__namespace['CallbackProperty'](_0xa84cc8=>{return this['_getCustomQuaternion'](this['position'],this['options']['orientation']);},![]));}this['_entity']=this[_0x5d241e(0x127a,0x19ee)](_0x1d57a2);}['_getCustomQuaternion'](_0x3706f5,_0x2ef2dd){const _0x470ff2={_0x3b5427:0xe20,_0x5b45fd:0x9d3,_0x147715:0x194,_0x558948:0x1077,_0x11289a:0x41e,_0x100026:0x9cc,_0x433680:0x3f1,_0x46c5cb:0xd5d,_0x455222:0x754,_0x1b7005:0xce8,_0x2a3574:0xe3a,_0xf15f18:0x2af,_0x2b159a:0x641,_0x1197cc:0xa8b,_0x2eea06:0xf50},_0x434fe0={_0x30667d:0x3c8},_0x2b712d={_0x598c1c:0x17};function _0x4f87eb(_0x174a7e,_0x399ecd){return _0x2b6441(_0x174a7e,_0x399ecd-_0x2b712d._0x598c1c);}if(_0x3706f5['getValue']){var _0x529e4a;_0x3706f5=_0x3706f5['getValue']((_0x529e4a=this['_map'])===null||_0x529e4a===void 0x0||(_0x529e4a=_0x529e4a[_0x4f87eb(_0x470ff2._0x3b5427,0xe10)])===null||_0x529e4a===void 0x0?void 0x0:_0x529e4a[_0x4a7673(_0x470ff2._0x5b45fd,_0x470ff2._0x147715)]);}if(_0x2ef2dd['getValue']){var _0xde1782;_0x2ef2dd=_0x2ef2dd['getValue']((_0xde1782=this['_map'])===null||_0xde1782===void 0x0||(_0xde1782=_0xde1782[_0x4a7673(0x11c1,_0x470ff2._0x558948)])===null||_0xde1782===void 0x0?void 0x0:_0xde1782['currentTime']);}const _0x420523=this[_0x4a7673(0xa84,_0x470ff2._0x11289a)]['model'];let _0x3b5232=Cesium__namespace['Math']['toRadians'](_0x420523[_0x4a7673(0xff8,0x9be)]||0x0),_0x35b604=Cesium__namespace['Math'][_0x4f87eb(0x5be,0x642)](_0x420523[_0x4a7673(_0x470ff2._0x100026,0x852)]||0x0);function _0x4a7673(_0x2d1b89,_0x704f9c){return _0x2b6441(_0x704f9c,_0x2d1b89-_0x434fe0._0x30667d);}let _0x4d1291=Cesium__namespace['Math']['toRadians'](_0x420523['roll']||0x0);if(_0x2ef2dd){const _0x118326=getHeadingPitchRollByOrientation(_0x3706f5,_0x2ef2dd,this['ellipsoid'],this[_0x4a7673(_0x470ff2._0x433680,0xd67)]);_0x420523[_0x4a7673(0x379,_0x470ff2._0x46c5cb)]?(_0x3b5232+=_0x118326['heading'],_0x4d1291+=_0x118326[_0x4a7673(0x813,_0x470ff2._0x455222)],_0x35b604+=_0x118326[_0x4a7673(0x9cc,0x775)]):(!Cesium__namespace[_0x4f87eb(_0x470ff2._0x1b7005,0x1228)](_0x420523['heading'])&&(_0x3b5232=_0x118326[_0x4a7673(0xff8,_0x470ff2._0x2a3574)]),!Cesium__namespace['defined'](_0x420523['roll'])&&(_0x4d1291=_0x118326['roll']),!Cesium__namespace[_0x4f87eb(0xcaa,0x1228)](_0x420523['pitch'])&&(_0x35b604=_0x118326['pitch']));}return Cesium__namespace['Transforms'][_0x4a7673(_0x470ff2._0xf15f18,-_0x470ff2._0x2b159a)](_0x3706f5,new Cesium__namespace[(_0x4a7673(0x12bf,0xabe))](_0x3b5232,_0x35b604,_0x4d1291),this[_0x4f87eb(_0x470ff2._0x1197cc,_0x470ff2._0x2eea06)],this['fixedFrameTransform']);}['_initSampledPositionProperty'](){const _0x47f159={_0x97fdcb:0xd66,_0x147591:0x134d,_0xad7ff5:0x8a4,_0x4afc45:0x9dc,_0x380880:0xef6,_0x7ccb29:0x155,_0x20a5f0:0x89d,_0x51ca05:0xc8b,_0x5901b7:0xfbb,_0x1e7408:0x1912,_0x503145:0x663,_0xcf67b6:0xaa6,_0x141ceb:0xf2a,_0x475508:0xa98};if(!this[_0x4b55da(_0x47f159._0x97fdcb,_0x47f159._0x147591)])return;this[_0x4b55da(0x147b,0x1784)]=this['options']['maxCacheCount']??0x32;if(!this[_0x4b55da(0x1300,_0x47f159._0xad7ff5)]){const _0x13322f=new Cesium__namespace[(_0x4b55da(_0x47f159._0x4afc45,_0x47f159._0x380880))](this['options']['referenceFrame']);_0x13322f[_0x31023f(_0x47f159._0x7ccb29,0x5a6)]=this['options'][_0x31023f(0x893,0x5a6)]??Cesium__namespace[_0x31023f(0x599,0xf01)]['HOLD'],_0x13322f['backwardExtrapolationType']=this[_0x31023f(0x9ce,_0x47f159._0x20a5f0)]['backwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],!this['options'][_0x31023f(0xe8b,_0x47f159._0x51ca05)]&&(this[_0x4b55da(_0x47f159._0x97fdcb,0xd4a)]['orientation']=new Cesium__namespace[(_0x4b55da(_0x47f159._0x5901b7,_0x47f159._0x1e7408))](_0x13322f),this[_0x31023f(_0x47f159._0x503145,0xaa6)]&&(this[_0x31023f(0xd52,_0x47f159._0xcf67b6)][_0x4b55da(0x1154,0x19b6)]=this[_0x31023f(_0x47f159._0x141ceb,_0x47f159._0x475508)]())),this['position']=_0x13322f;}function _0x4b55da(_0x36a9e9,_0x5859c3){return _0x306755(_0x5859c3,_0x36a9e9-0x109);}function _0x31023f(_0xe72edf,_0x5335a8){return _0x306755(_0xe72edf,_0x5335a8- -0x3c0);}this['property']=this['position'];}['_updateStyleHook'](_0x5a6c72,_0x40d9bc){PathStyleConver['toCesiumVal'](_0x5a6c72,this['entityGraphic'],{},!![]);}['_style2Json'](_0x2993a8,_0x4f52a6){return PathStyleConver['toJSON'](_0x2993a8,_0x4f52a6,!![]);}['_getGeoJsonGeometry'](_0x34975a){const _0x4e8631={_0x4cdcfa:0x3a3};function _0xfe3cee(_0x18a988,_0x454904){return _0x306755(_0x18a988,_0x454904- -_0x4e8631._0x4cdcfa);}return{'type':'LineString','coordinates':this[_0xfe3cee(0xe19,0x10aa)](_0x34975a===null||_0x34975a===void 0x0?void 0x0:_0x34975a['noAlt'])};}['_getJsonPositions'](_0x2188e6){function _0x5a7c94(_0xb3d52b,_0x2557c8){return _0x306755(_0xb3d52b,_0x2557c8- -0x220);}_0x2188e6['positions']=this[_0x5a7c94(0x116b,0x122d)]();}['_toJSON_Ex'](_0x415b7e){const _0x4cd31b={_0x227e4d:0x35b,_0xb1aa9e:0x1a5c,_0x346ea3:0x1c66,_0x260b37:0xab2,_0x581aa7:0x167f,_0xa54bb0:0x1908,_0x2d3d1e:0x107a,_0x483640:0x806,_0x342b9:0xb32};this['options']['label']&&(_0x415b7e[_0x2d574d(0x681,-_0x4cd31b._0x227e4d)]={},LabelStyleConver['toJSON'](this['options']['label'],_0x415b7e['label'],!![]));this['options']['model']&&(_0x415b7e[_0x2d574d(0x176a,_0x4cd31b._0xb1aa9e)]={},ModelStyleConver['toJSON'](this['options'][_0x2d574d(0x176a,_0x4cd31b._0x346ea3)],_0x415b7e['model'],!![]));this['options']['billboard']&&(_0x415b7e[_0xae28e5(0x14cc,_0x4cd31b._0x260b37)]={},BillboardStyleConver['toJSON'](this[_0x2d574d(0xa73,0xe34)]['billboard'],_0x415b7e['billboard'],!![]));this[_0x2d574d(0xa73,0x305)]['point']&&(_0x415b7e[_0x2d574d(_0x4cd31b._0x581aa7,_0x4cd31b._0xa54bb0)]={},PointStyleConver['toJSON'](this['options'][_0x2d574d(0x167f,0x1939)],_0x415b7e[_0x2d574d(0x167f,_0x4cd31b._0x2d3d1e)],!![]));function _0xae28e5(_0x12cc27,_0x2ea042){return _0x2b6441(_0x2ea042,_0x12cc27-0x32c);}function _0x2d574d(_0x4c0653,_0x5685f9){return _0x2b6441(_0x5685f9,_0x4c0653-0x3b7);}this['options'][_0x2d574d(0xb32,0x55b)]&&(_0x415b7e['circle']={},CircleStyleConver[_0xae28e5(0x895,_0x4cd31b._0x483640)](this[_0xae28e5(0x9e8,0xd39)]['circle'],_0x415b7e[_0x2d574d(_0x4cd31b._0x342b9,0x10c6)],!![]));}['_setOptionsHook'](_0x57ff24,_0x264910){const _0x1417ab={_0x157df6:0x2d1,_0x4653fe:0x33a,_0x447669:0xbdf,_0x2af7a7:0x13ba,_0x22544a:0x11a7,_0x7c25a6:0x1210,_0x1d9261:0xed6,_0x383993:0x8cc,_0x128b96:0x7eb,_0x5da833:0x1d4};function _0x1ca351(_0x58c421,_0x30daa6){return _0x306755(_0x30daa6,_0x58c421- -0x531);}_0x264910[_0x2a221e(-0x58e,_0x1417ab._0x157df6)]&&LabelStyleConver[_0x2a221e(0x9e8,0xab2)](_0x57ff24[_0x1ca351(_0x1417ab._0x4653fe,_0x1417ab._0x447669)],this['_entity']['label'],this);_0x264910['model']&&ModelStyleConver['toCesiumVal'](_0x57ff24['model'],this['_entity'][_0x2a221e(0x1a11,_0x1417ab._0x2af7a7)],!![]);_0x264910['billboard']&&BillboardStyleConver['toCesiumVal'](_0x57ff24[_0x2a221e(0xb11,_0x1417ab._0x22544a)],this['_entity'][_0x1ca351(_0x1417ab._0x7c25a6,0x1c8f)],!![]);function _0x2a221e(_0x2fc6d7,_0x96c8ec){return _0x306755(_0x2fc6d7,_0x96c8ec- -0x59a);}_0x264910['point']&&PointStyleConver['toCesiumVal'](_0x57ff24['point'],this[_0x2a221e(_0x1417ab._0x1d9261,_0x1417ab._0x383993)][_0x1ca351(0x1338,0x9f6)],!![]),_0x264910['circle']&&CircleStyleConver['toCesiumVal'](_0x57ff24[_0x1ca351(_0x1417ab._0x128b96,0xc93)],this[_0x2a221e(_0x1417ab._0x5da833,_0x1417ab._0x383993)]['ellipse'],!![]);}[_0x2b6441(-0x1b7,0x418)](_0x1b1843){const _0x521a25={_0xddafe2:0x112b,_0x4d2cb1:0x1445,_0x11998a:0x1382,_0x14c0de:0x9a0,_0x47905a:0x1898,_0x50b024:0x1369,_0x11385c:0xdc9,_0x222869:0x14b2,_0x4d2ee0:0x1232,_0x3e5d5a:0xeca,_0x129c64:0x16a4,_0x28bd12:0xae,_0x1e0450:0xa25,_0x50a7e8:0x2214,_0xb18011:0x126c,_0x13eb43:0x17cc,_0x466ca5:0x20c8,_0x4e9398:0x1926,_0x4ffdee:0x1543,_0x31ddf6:0x1d39,_0x587a61:0x12af},_0x471709={_0x3b4ccb:0x92};this['_entity'][_0xac9d43(0x18b7,_0x521a25._0xddafe2)]&&(this['_entity'][_0xbf3e04(0x1084,_0x521a25._0x4d2cb1)][_0xbf3e04(_0x521a25._0x11998a,_0x521a25._0x14c0de)]=Cesium__namespace['Color']['WHITE'][_0xac9d43(_0x521a25._0x47905a,_0x521a25._0x50b024)](_0x1b1843));this[_0xac9d43(_0x521a25._0x11385c,_0x521a25._0x222869)][_0xbf3e04(0x163e,_0x521a25._0x4d2ee0)]&&(this[_0xac9d43(0xdc9,_0x521a25._0x3e5d5a)][_0xac9d43(_0x521a25._0x129c64,0xf30)][_0xac9d43(0xe12,0x138b)]=Cesium__namespace[_0xbf3e04(-_0x521a25._0x28bd12,_0x521a25._0x1e0450)]['WHITE'][_0xac9d43(0x1898,_0x521a25._0x50a7e8)](_0x1b1843));function _0xbf3e04(_0x597426,_0x3259c5){return _0x2b6441(_0x597426,_0x3259c5-_0x471709._0x3b4ccb);}if(this['_entity']['point']){const _0xeb102e=this['_updateEntityOpacity'](this[_0xbf3e04(_0x521a25._0xb18011,0x957)][_0xac9d43(_0x521a25._0x13eb43,_0x521a25._0x466ca5)],_0x1b1843);if(!_0xeb102e){const _0xe4bfc4={...this['options']['point']};_0xe4bfc4['globalAlpha']=_0x1b1843,PointStyleConver[_0xbf3e04(0xfeb,0xb3d)](_0xe4bfc4,this['_entity'][_0xbf3e04(_0x521a25._0x4e9398,0x135a)],!![]);}}function _0xac9d43(_0x26206f,_0x110192){return _0x2b6441(_0x110192,_0x26206f-0x504);}if(this[_0xbf3e04(0xc4c,0x957)][_0xac9d43(0xc7f,0x3dc)]){const _0x517e9e=this[_0xac9d43(0x14e4,0x1cf8)](this['_entity']['circle'],_0x1b1843);if(!_0x517e9e){const _0x1200a9={...this['options'][_0xac9d43(0xc7f,_0x521a25._0x4ffdee)]};_0x1200a9[_0xbf3e04(_0x521a25._0x31ddf6,_0x521a25._0x587a61)]=_0x1b1843,CircleStyleConver['toCesiumVal'](_0x1200a9,this['_entity']['ellipse'],!![]);}}}['getIndex'](_0x871d09){const _0x1c5b1e={_0x1da82d:0x107a,_0x3cb724:0x18f6,_0x5115bc:0x22cf,_0x158a94:0xcd9},_0x5d29a3={_0x5eb32:0x12d},_0x51008e={_0x114913:0x17d};var _0x15aacd,_0x4f2b90;const _0x3b1463=(_0x15aacd=this[_0x1943c6(0x18cb,_0x1c5b1e._0x1da82d)])===null||_0x15aacd===void 0x0||(_0x15aacd=_0x15aacd['_property'])===null||_0x15aacd===void 0x0?void 0x0:_0x15aacd[_0x2f3839(0x123c,0xd6f)],_0x10f234=_0x3b1463['length'];if(_0x10f234===0x0)return 0x0;function _0x1943c6(_0x12a03f,_0x1e5a72){return _0x306755(_0x12a03f,_0x1e5a72- -_0x51008e._0x114913);}const _0x4ae3ed=_0x871d09||((_0x4f2b90=this[_0x2f3839(_0x1c5b1e._0x3cb724,_0x1c5b1e._0x5115bc)])===null||_0x4f2b90===void 0x0||(_0x4f2b90=_0x4f2b90[_0x2f3839(0x14c7,0x1c3a)])===null||_0x4f2b90===void 0x0?void 0x0:_0x4f2b90[_0x2f3839(_0x1c5b1e._0x158a94,0x11b7)])||Cesium__namespace['JulianDate']['now']();for(let _0x505c75=0x0;_0x505c75<_0x10f234;_0x505c75++){const _0x37ea67=Cesium__namespace['JulianDate']['compare'](_0x4ae3ed,_0x3b1463[_0x505c75]);if(_0x37ea67<=0x0)return _0x505c75-0x1;}let _0xe84b11=Cesium__namespace['binarySearch'](_0x3b1463,_0x4ae3ed,Cesium__namespace['JulianDate']['compare']);function _0x2f3839(_0x10d788,_0x3c531a){return _0x306755(_0x3c531a,_0x10d788-_0x5d29a3._0x5eb32);}return _0xe84b11<0x0&&(_0xe84b11=~_0xe84b11),_0xe84b11<0x0&&(_0xe84b11=0x0),_0xe84b11>=_0x10f234&&(_0xe84b11=_0x10f234-0x1),_0xe84b11;}['getRectangle'](_0x4eba34){const _0x4215c7={_0x45b79c:0x109b,_0x1dbede:0x14b5};var _0x58b494,_0x23858e;const _0x3aace1=(_0x58b494=this[_0x534912(0x1541,0x10b1)])===null||_0x58b494===void 0x0||(_0x58b494=_0x58b494[_0x534912(0x908,0x13a9)])===null||_0x58b494===void 0x0?void 0x0:_0x58b494['_times'],_0x26b998=(_0x23858e=this[_0x516ca9(0xbcb,_0x4215c7._0x45b79c)])===null||_0x23858e===void 0x0||(_0x23858e=_0x23858e[_0x534912(0xd40,0x13a9)])===null||_0x23858e===void 0x0?void 0x0:_0x23858e['_values'];if(!_0x3aace1||_0x3aace1['length']===0x0)return;const _0x33ee34=[];function _0x534912(_0x5c1577,_0x3e3d36){return _0x306755(_0x5c1577,_0x3e3d36- -0x146);}for(let _0x263844=0x0,_0x58f965=_0x3aace1[_0x534912(0x18b1,_0x4215c7._0x1dbede)];_0x263844<_0x58f965;_0x263844++){_0x33ee34[_0x516ca9(0xb0f,0x53d)](new Cesium__namespace[(_0x534912(0x9d6,0x8db))](_0x26b998[_0x263844*0x3],_0x26b998[_0x263844*0x3+0x1],_0x26b998[_0x263844*0x3+0x2]));}function _0x516ca9(_0x1bc8ef,_0x248ea0){return _0x2b6441(_0x1bc8ef,_0x248ea0-0x445);}const _0x3185ed=getRectangle(_0x33ee34,_0x4eba34===null||_0x4eba34===void 0x0?void 0x0:_0x4eba34[_0x516ca9(0xa2c,0x1128)]);return _0x3185ed;}['getCoordinates'](_0x1956f1){const _0x4dc646={_0xa5cd75:0xfee,_0x5d23d5:0x1106,_0x4daa2c:0xa7f,_0x2d081a:0x15e4,_0x4b17d9:0xe40,_0x2d2374:0x930},_0x8652a={_0x507fd8:0x58a},_0xeeda44={_0x6d96d5:0x4b0};var _0x4de502,_0x573d57;const _0x528932=(_0x4de502=this['position'])===null||_0x4de502===void 0x0||(_0x4de502=_0x4de502[_0x2a2e9a(0x14d8,0xd65)])===null||_0x4de502===void 0x0?void 0x0:_0x4de502[_0x4ba201(_0x4dc646._0xa5cd75,0x101e)],_0x284814=(_0x573d57=this[_0x4ba201(0xd83,_0x4dc646._0x5d23d5)])===null||_0x573d57===void 0x0||(_0x573d57=_0x573d57['_property'])===null||_0x573d57===void 0x0?void 0x0:_0x573d57[_0x2a2e9a(_0x4dc646._0x4daa2c,0x1bc)];if(!_0x528932||_0x528932[_0x2a2e9a(_0x4dc646._0x2d081a,_0x4dc646._0x4b17d9)]===0x0)return[];const _0x5f55bc=[];function _0x4ba201(_0x15a9fb,_0x2ae782){return _0x2b6441(_0x15a9fb,_0x2ae782-_0xeeda44._0x6d96d5);}function _0x2a2e9a(_0x1e1f01,_0x1ddba2){return _0x2b6441(_0x1ddba2,_0x1e1f01-_0x8652a._0x507fd8);}for(let _0x1cf83a=0x0,_0x535e0d=_0x528932[_0x4ba201(0x1d27,0x150a)];_0x1cf83a<_0x535e0d;_0x1cf83a++){const _0x58176c=LngLatPoint['fromCartesian'](new Cesium__namespace[(_0x4ba201(0x69d,_0x4dc646._0x2d2374))](_0x284814[_0x1cf83a*0x3],_0x284814[_0x1cf83a*0x3+0x1],_0x284814[_0x1cf83a*0x3+0x2])),_0x14d5f9=_0x58176c['toArray'](_0x1956f1);_0x14d5f9[_0x2a2e9a(0x682,0x5c6)](Cesium__namespace['JulianDate']['toDate'](_0x528932[_0x1cf83a])['getTime']()),_0x5f55bc['push'](_0x14d5f9);}return _0x5f55bc;}[_0x2b6441(0x15de,0xb9c)](_0x2a66a1={}){const _0x3764f2={_0x529419:0x412,_0x14443e:0x147c},_0xf6cbc5={_0xa4ee3e:0x68f},_0x33f338={_0x1e18e0:0x2ad};if(!this['_map'])return Promise[_0x5ddc92(0xe87,0x1132)](![]);const _0x330e43=this[_0x5ddc92(_0x3764f2._0x529419,0x8f8)];function _0x1b91fa(_0x4402c9,_0x2258cb){return _0x2b6441(_0x2258cb,_0x4402c9-_0x33f338._0x1e18e0);}if(!_0x330e43)return Promise['resolve'](![]);let _0x36638f;function _0x5ddc92(_0x30285e,_0x324e85){return _0x2b6441(_0x30285e,_0x324e85-_0xf6cbc5._0xa4ee3e);}if(Cesium__namespace['defined'](_0x2a66a1['heading'])){var _0x2de69d;_0x36638f=_0x2a66a1['heading']+Cesium__namespace['Math']['toDegrees'](((_0x2de69d=this['hpr'])===null||_0x2de69d===void 0x0?void 0x0:_0x2de69d['heading'])||0x0);}const _0x17a481={..._0x2a66a1};return _0x17a481['heading']=_0x36638f,this['_map'][_0x5ddc92(_0x3764f2._0x14443e,0x122b)](_0x330e43,_0x17a481);}}register$5(_0x306755(0xffe,0xde5),PathEntity,!![]);class EditCorridor extends EditPoly{['updatePositionsHeightByAttr'](_0x40cf88){const _0x1e46ba={_0x27b34c:0xa0f,_0x5cf3a8:0x61b,_0x4f3347:0x2f5},_0x589c0f={_0x12c5b5:0x1e3},_0x104ed5={_0x59cc96:0x36};function _0x430eff(_0x145e51,_0x57f8d1){return _0x2b6441(_0x57f8d1,_0x145e51- -_0x104ed5._0x59cc96);}if(this['entityGraphic'][_0x3e206c(_0x1e46ba._0x27b34c,0x1181)]!==undefined){const _0x38a3a2=getCesiumValue(this['entityGraphic'][_0x430eff(_0x1e46ba._0x5cf3a8,0x554)],Number,this['_map']['clock'][_0x3e206c(0x9c9,_0x1e46ba._0x4f3347)]);_0x40cf88=setPositionsHeight(_0x40cf88,_0x38a3a2);}function _0x3e206c(_0x364bfb,_0x25b3c5){return _0x306755(_0x25b3c5,_0x364bfb- -_0x589c0f._0x12c5b5);}return _0x40cf88;}['createDragger'](_0x47cbe9){this[_0x283095(0x4ed,0xde2)]&&(_0x47cbe9['position']=getSurfacePosition(this['_map']['scene'],_0x47cbe9['position']));function _0x283095(_0x36d441,_0x12224d){return _0x306755(_0x12224d,_0x36d441-0x31);}return super['createDragger'](_0x47cbe9);}[_0x2b6441(0x73c,0xf83)](_0x5a96ef){const _0x3e7e8c={_0x4f1481:0x49},_0x21b612={_0x41139c:0x331};if(this[_0x5865fe(0x125,0x559)])return;const _0xd66a16=Cesium__namespace[_0x500b4b(-_0x3e7e8c._0x4f1481,0x699)]['fromCartesian'](_0x5a96ef)['height'];function _0x5865fe(_0x8366b4,_0x4f2616){return _0x2b6441(_0x4f2616,_0x8366b4-0x20a);}this['entityGraphic']['height']=_0xd66a16;function _0x500b4b(_0x5e0981,_0x449dd3){return _0x2b6441(_0x5e0981,_0x449dd3-_0x21b612._0x41139c);}this['style']['height']=this['formatNum'](_0xd66a16,0x2);}[_0x306755(0xb5f,0x127d)](_0x592257){const _0x1fe310={_0x754d4:0x9d0,_0xf5079d:0x13cf,_0x51c16e:0x11df,_0x2357a9:0x1c77};this['entityGraphic'][_0x426528(_0x1fe310._0x754d4,_0x1fe310._0xf5079d)]=_0x592257,this[_0x426528(0x634,-0x2b0)]['height']=this[_0x426528(0x8e7,0xc54)](_0x592257,0x2);function _0x426528(_0x4f5629,_0x12f859){return _0x2b6441(_0x12f859,_0x4f5629-0x37f);}const _0x50c51a=this['positions'];for(let _0x39b800=0x0,_0x18756b=_0x50c51a[_0x144578(0x1030,0x8e3)];_0x39b800<_0x18756b;_0x39b800++){_0x50c51a[_0x39b800]=setPositionsHeight(_0x50c51a[_0x39b800],_0x592257);}function _0x144578(_0x4eb43e,_0x589e90){return _0x306755(_0x589e90,_0x4eb43e- -0x5cb);}for(let _0x12baab=0x0,_0x2a2cbb=this['draggers']['length'];_0x12baab<_0x2a2cbb;_0x12baab++){const _0x9fa832=this[_0x426528(_0x1fe310._0x51c16e,_0x1fe310._0x2357a9)][_0x12baab];_0x9fa832['position']=setPositionsHeight(_0x9fa832['position'],_0x592257);}this[_0x144578(0x2be,0x902)](EventType[_0x426528(0x377,0x3c4)]);}}class CorridorEntity extends BasePolyEntity{get['entityGraphic'](){var _0x2382c7;return(_0x2382c7=this['_entity'])===null||_0x2382c7===void 0x0?void 0x0:_0x2382c7['corridor'];}get[_0x306755(0x14e3,0xe73)](){return EditCorridor;}['_mountedHook'](){const _0x45b73a={_0xad66fa:0x2023,_0x39f90c:0x1085,_0x30a0a0:0x1463,_0x36fcf7:0x273,_0x25836c:0x7e8,_0x2d04ae:0x978,_0x2908ea:0x978},_0x30dcc7={_0x112d68:0x6ae},_0x14bbd4={'corridor':CorridorStyleConver['toCesiumVal'](this['style'],{},!![])};_0x14bbd4[_0x49c363(_0x45b73a._0xad66fa,0x171b)]['positions']=this['positions'],this['_entity']=this['_createEntity'](_0x14bbd4),this[_0x49c363(_0x45b73a._0x39f90c,_0x45b73a._0x30a0a0)](this['entityGraphic']);function _0x49c363(_0x223d1f,_0x573214){return _0x2b6441(_0x223d1f,_0x573214-_0x30dcc7._0x112d68);}function _0x2abaad(_0x2662e7,_0x934113){return _0x2b6441(_0x2662e7,_0x934113-0x533);}this[_0x2abaad(_0x45b73a._0x36fcf7,_0x45b73a._0x25836c)][_0x49c363(0x144b,_0x45b73a._0x2d04ae)]&&this[_0x2abaad(0xc6b,0xc52)](this['style'][_0x49c363(0x9cc,_0x45b73a._0x2908ea)]);}['_style2Json'](_0x431bde,_0x8ce2d8){const _0x221b1c={_0x496010:0xaf5},_0x13993d={_0x2eb6f3:0x58c};function _0x3ff68f(_0x35c903,_0x44d4a5){return _0x2b6441(_0x44d4a5,_0x35c903-_0x13993d._0x2eb6f3);}return CorridorStyleConver[_0x3ff68f(_0x221b1c._0x496010,0x8d5)](_0x431bde,_0x8ce2d8,!![]);}['_updateStyleHook'](_0xd1509c,_0x4c8281){const _0x5801c7={_0x288d1c:0xa3b,_0x2003c6:0x5f4,_0x5b6b5e:0x6e4,_0x545250:0x956,_0x195522:0x94e},_0x58bf57={_0x22ceef:0x50e},_0x57b42c={_0x20c39e:0x562};CorridorStyleConver[_0x19424d(0x100d,0xc3d)](_0xd1509c,this[_0x19424d(_0x5801c7._0x288d1c,_0x5801c7._0x2003c6)],!![]);function _0x19424d(_0xfa3902,_0x198a10){return _0x2b6441(_0x198a10,_0xfa3902-_0x57b42c._0x20c39e);}function _0x4ccde0(_0x2c7874,_0xaaab2){return _0x306755(_0x2c7874,_0xaaab2- -_0x58bf57._0x22ceef);}(Cesium__namespace[_0x19424d(0x1773,0xcef)](_0x4c8281['diffHeight'])||Cesium__namespace['defined'](_0x4c8281[_0x4ccde0(0x1152,_0x5801c7._0x5b6b5e)])||Cesium__namespace[_0x4ccde0(_0x5801c7._0x545250,0x12a4)](_0xd1509c['addHeight'])||Cesium__namespace['defined'](_0xd1509c['setHeight']))&&this['_calculateCzmHeight'](this[_0x19424d(0xa3b,_0x5801c7._0x195522)]);}['_updatePositionsHook'](){const _0x22a91f={_0x5837f6:0x8f0},_0x566de5={_0x45b224:0x615};this['entityGraphic']['positions']=this['positions'],this['_updateLabelPosition'](),this['_calculateCzmHeight'](this[_0x195ba3(_0x22a91f._0x5837f6,0xf76)]);function _0x195ba3(_0x11f849,_0x157137){return _0x2b6441(_0x157137,_0x11f849-0x417);}function _0x3a140d(_0x6bafb4,_0x55439e){return _0x306755(_0x6bafb4,_0x55439e- -_0x566de5._0x45b224);}this[_0x3a140d(0x5d8,-0x19c)]();}[_0x2b6441(0x1805,0xdac)](_0x41f65c){function _0x34295c(_0x3c12c3,_0x1b0ce5){return _0x2b6441(_0x3c12c3,_0x1b0ce5-0x48);}this[_0x34295c(0x4a2,0xdfd)](this['entityGraphic'],!![]);}}register$5('corridor',CorridorEntity);class EditWall extends EditPoly{['bindDraggers'](){const _0x26bf4f={_0x62ac61:0x1527,_0x458d00:0x8c,_0x330291:0x62e,_0x42ba2e:0x1658,_0x300c1d:0x1081,_0x24d6db:0xd8d,_0x293801:0x137f,_0x2af24a:0x23e6},_0x55f5c1={_0x5bc6d0:0xeee,_0x4a6e7a:0x735},_0x248744={_0x1505c5:0x23e},_0x330391={_0x27ecfe:0x897,_0x413799:0xaae,_0x1e0191:0xdce},_0x236f49={_0x327433:0x2b0},_0x5b624e={_0x3a2e00:0x8f,_0xad2aa9:0xfc9,_0x1dc5bd:0x7dc,_0xd2f464:0x1c7a,_0x83aa4f:0xbfc,_0x596948:0x684,_0x6eacd1:0x6dd,_0x3a9d25:0x12d8},_0x12b877={_0x4ef7b6:0x6c7};function _0x2a02b1(_0x50db5b,_0x1805bc){return _0x2b6441(_0x1805bc,_0x50db5b-_0x12b877._0x4ef7b6);}const _0x447ac8=this['positions'],_0x961ec3=this['style'],_0x200adc=this['hasMidPoint'];for(let _0x28e1f7=0x0,_0x431f91=_0x447ac8['length'];_0x28e1f7<_0x431f91;_0x28e1f7++){const _0x42a2b8=_0x447ac8[_0x28e1f7],_0x2ada2a=this['createDragger']({'position':_0x42a2b8,'onDrag':(_0x1d7963,_0x4f11d4)=>{const _0x7cc945={_0x2d524d:0x2f};_0x447ac8[_0x1d7963['index']]=_0x4f11d4;function _0x5312cf(_0x8efe04,_0x19e0ce){return _0x5bbe(_0x8efe04- -0xe9,_0x19e0ce);}this['_heightDraggers']&&this['_heightDraggers']['length']>0x0&&(this[_0x1ba8ca(0x892,-_0x5b624e._0x3a2e00)][_0x1d7963[_0x1ba8ca(0xd14,_0x5b624e._0xad2aa9)]]['position']=addPositionsHeight(_0x4f11d4,_0x961ec3[_0x1ba8ca(_0x5b624e._0x1dc5bd,0x1148)]));_0x200adc&&(_0x1d7963['index']>0x0&&(this['draggers'][_0x1d7963['index']*0x2-0x1]['position']=getMidpoint(_0x4f11d4,_0x447ac8[_0x1d7963['index']-0x1],this['options']['midPointFraction'])),_0x1d7963['index']<_0x447ac8[_0x5312cf(0x129f,_0x5b624e._0xd2f464)]-0x1&&(this['draggers'][_0x1d7963[_0x5312cf(_0x5b624e._0x83aa4f,_0x5b624e._0x596948)]*0x2+0x1][_0x1ba8ca(0xfb3,0x14c4)]=getMidpoint(_0x4f11d4,_0x447ac8[_0x1d7963[_0x1ba8ca(0xd14,_0x5b624e._0x6eacd1)]+0x1],this['options'][_0x5312cf(0xa53,0x1139)])));function _0x1ba8ca(_0x260137,_0x3af145){return _0x5bbe(_0x260137-_0x7cc945._0x2d524d,_0x3af145);}const _0x492e37=centerOfMass(_0x447ac8);this['_draggerMove'][_0x1ba8ca(0xfb3,_0x5b624e._0x3a9d25)]=_0x492e37;}});_0x2ada2a['index']=_0x28e1f7,this[_0x2a02b1(_0x26bf4f._0x62ac61,0x134a)][_0x2ea142(_0x26bf4f._0x458d00,_0x26bf4f._0x330291)](_0x2ada2a);if(this['hasMidPoint']&&(this[_0x2ea142(_0x26bf4f._0x42ba2e,0x1081)]||!this[_0x2ea142(0xf3f,_0x26bf4f._0x300c1d)]&&_0x28e1f7<_0x431f91-0x1)){const _0x4f49d2=(_0x28e1f7+0x1)%_0x431f91,_0x372cf7=getMidpoint(_0x42a2b8,_0x447ac8[_0x4f49d2],this[_0x2a02b1(0xd83,0x808)]['midPointFraction']),_0x5bb93a=this['createDragger']({'position':_0x372cf7,'type':EditPointType['AddMidPoint'],'tooltip':this[_0x2ea142(_0x26bf4f._0x24d6db,0x175e)]['getLangText']('_增加点'),'onDragStart':(_0x361f95,_0x56a718)=>{function _0x280142(_0x5f087a,_0x5096ef){return _0x2a02b1(_0x5096ef- -_0x236f49._0x327433,_0x5f087a);}function _0x352643(_0x10ad04,_0x5723bb){return _0x2a02b1(_0x10ad04- -0x392,_0x5723bb);}this[_0x280142(0x19fd,0x180f)][_0x280142(_0x330391._0x27ecfe,0x321)](_0x361f95[_0x280142(_0x330391._0x413799,_0x330391._0x1e0191)],0x0,_0x56a718),this[_0x352643(0x13b6,0x1016)]();},'onDrag':(_0x3e0f8a,_0x1cacba)=>{function _0x4af315(_0x58f99b,_0x1f72d2){return _0x2a02b1(_0x1f72d2- -0x32a,_0x58f99b);}this['positions'][_0x3e0f8a[_0x4af315(0x4e3,0xd54)]]=_0x1cacba;},'onDragEnd':(_0xa5a1c2,_0x54a969)=>{function _0x4cfaa8(_0xc544bd,_0x11381f){return _0x2ea142(_0xc544bd,_0x11381f- -_0x248744._0x1505c5);}this[_0x4cfaa8(0x1fd,0x374)](_0xa5a1c2,_0x54a969);function _0x2947e6(_0x3aeaed,_0x1f6171){return _0x2ea142(_0x3aeaed,_0x1f6171-0xdd);}this[_0x2947e6(_0x55f5c1._0x5bc6d0,_0x55f5c1._0x4a6e7a)]();}});_0x5bb93a['index']=_0x4f49d2,this[_0x2a02b1(0x1527,_0x26bf4f._0x293801)]['push'](_0x5bb93a);}}this[_0x2ea142(0x2282,0x17ca)]();function _0x2ea142(_0x4d43e4,_0x212793){return _0x2b6441(_0x4d43e4,_0x212793-0x536);}!this[_0x2ea142(0x1c53,0x18a4)]&&this[_0x2a02b1(0x1a2a,_0x26bf4f._0x2af24a)]();}['_bindHeightDraggers'](){const _0x4f9a12={_0x366b41:0x1b1d,_0x2661f3:0x1add,_0x244e85:0x82f,_0x4aa123:0x12b0,_0x3cc896:0x85f,_0x2cd363:0xd19,_0xc12193:0xcef,_0x2a881d:0x502,_0x52ad6d:0xeda},_0x3abf3b={_0x338393:0xb22,_0x11df8d:0x513,_0xe5510f:0x646,_0x1b8dd1:0xe88,_0x56ac23:0x198a,_0x549852:0x1221,_0x1fab30:0xe15},_0x8f6e78={_0xf126ff:0x35c},_0x19783d={_0x435116:0x523};if(!this['_graphic']['_hasHeightEdit'])return;this['_heightDraggers']=[];const _0x3aa047=this[_0xf2b9c(_0x4f9a12._0x366b41,_0x4f9a12._0x2661f3)];function _0x527502(_0x3e6a4c,_0x2243a9){return _0x2b6441(_0x3e6a4c,_0x2243a9-_0x19783d._0x435116);}function _0xf2b9c(_0x179016,_0x2d9a5b){return _0x306755(_0x179016,_0x2d9a5b-0x144);}const _0x280808=Number(this[_0x527502(0x176,0x7d8)][_0x527502(0x4a5,0x9a2)]);for(let _0x55fa34=0x0,_0x397d8a=_0x3aa047['length'];_0x55fa34<_0x397d8a;_0x55fa34++){const _0x46fceb=addPositionsHeight(_0x3aa047[_0x55fa34],_0x280808),_0x3d7ac4=this[_0xf2b9c(0x65c,_0x4f9a12._0x244e85)]({'position':_0x46fceb,'type':EditPointType[_0x527502(_0x4f9a12._0x4aa123,_0x4f9a12._0x3cc896)],'tooltip':this['_map'][_0x527502(_0x4f9a12._0x2cd363,_0x4f9a12._0xc12193)](_0x527502(0x452,_0x4f9a12._0x2a881d)),'onDrag':(_0x28818d,_0x2f6036)=>{function _0x11554b(_0x55ce51,_0x211585){return _0x527502(_0x55ce51,_0x211585- -_0x8f6e78._0xf126ff);}const _0xa614f6=Cesium__namespace['Cartographic']['fromCartesian'](_0x2f6036)[_0x513ec3(0x122b,_0x3abf3b._0x338393)];this['style'][_0x11554b(_0x3abf3b._0x11df8d,_0x3abf3b._0xe5510f)]=formatNum$1(_0xa614f6-this['_graphic'][_0x513ec3(0x3c3,0xc25)][_0x28818d[_0x513ec3(0x1090,_0x3abf3b._0x1b8dd1)]],0x2);function _0x513ec3(_0x18176c,_0x2b4df8){return _0x527502(_0x18176c,_0x2b4df8- -0x52);}for(let _0x4cefec=0x0;_0x4cefec<_0x3aa047[_0x11554b(_0x3abf3b._0x56ac23,_0x3abf3b._0x549852)];_0x4cefec++){if(_0x4cefec===_0x28818d['index'])continue;this['_heightDraggers'][_0x4cefec]['position']=addPositionsHeight(_0x3aa047[_0x4cefec],this[_0x513ec3(-0x63,0x786)]['diffHeight']);}this[_0x11554b(_0x3abf3b._0x1fab30,0x1248)](),this['fire'](EventType[_0x513ec3(-0x2f7,0x4c9)]);}});_0x3d7ac4[_0x527502(0x15dd,_0x4f9a12._0x52ad6d)]=_0x55fa34,this['draggers']['push'](_0x3d7ac4),this['_heightDraggers'][_0xf2b9c(0xaf9,0x7dd)](_0x3d7ac4);}}}class WallEntity extends BasePolyEntity{get['entityGraphic'](){const _0x5265e0={_0x2a653a:0x199c},_0x333d23={_0x4e0b7c:0x215};function _0x2d2d14(_0x56189f,_0x17bd0f){return _0x2b6441(_0x56189f,_0x17bd0f-_0x333d23._0x4e0b7c);}var _0x12f25d;return(_0x12f25d=this['_entity'])===null||_0x12f25d===void 0x0?void 0x0:_0x12f25d[_0x2d2d14(_0x5265e0._0x2a653a,0xf68)];}get['EditClass'](){return EditWall;}[_0x2b6441(0xb9b,0xd6b)](){const _0x54c511={_0x2c9e61:0xfc0,_0x51f1df:0x1161,_0xe126be:0x1583,_0x39049f:0x2209,_0x407f7f:0x1356,_0x4b9cd4:0x12c7,_0x3f222f:0xa18,_0x33ca85:0x18e4,_0x5dff87:0x2270,_0xa4d216:0x7ca,_0xb11c13:0xdd},_0x1546c8={_0xbe7b48:0x8c};var _0x42c97c;this['style']['diffHeight']=this['style']['diffHeight']||0x64;function _0xc5bb36(_0x9b55c2,_0x2b3212){return _0x306755(_0x2b3212,_0x9b55c2- -_0x1546c8._0xbe7b48);}function _0x1ce362(_0x2445bb,_0x6a3e74){return _0x2b6441(_0x6a3e74,_0x2445bb- -0x11);}const _0x408f6b={'wall':WallStyleConver[_0xc5bb36(_0x54c511._0x2c9e61,0xb4c)](this['style'],{},!![])};this['style']['closure']&&((_0x42c97c=this['positions'])===null||_0x42c97c===void 0x0?void 0x0:_0x42c97c['length'])>0x0?_0x408f6b['wall']['positions']=this['positions'][_0x1ce362(0x874,_0x54c511._0x51f1df)](this[_0x1ce362(0x13e7,_0x54c511._0xe126be)][0x0]):_0x408f6b['wall']['positions']=this[_0xc5bb36(0x190d,_0x54c511._0x39049f)],(!this['style'][_0x1ce362(0xbb9,_0x54c511._0x407f7f)]||!this[_0x1ce362(0x2a4,-0x6c2)]['minimumHeights'])&&this[_0x1ce362(_0x54c511._0x4b9cd4,_0x54c511._0x3f222f)](_0x408f6b),this['_entity']=this[_0xc5bb36(_0x54c511._0x33ca85,_0x54c511._0x5dff87)](_0x408f6b),this[_0xc5bb36(_0x54c511._0xa4d216,-0xfc)][_0xc5bb36(0x7df,-_0x54c511._0xb11c13)]&&this['_addLabel'](this['style']['label']);}['_style2Json'](_0x363c78,_0x1f02c1){return WallStyleConver['toJSON'](_0x363c78,_0x1f02c1,!![]);}['_updateStyleHook'](_0x350df2,_0x432855){const _0x248795={_0x165ad4:0x1ceb,_0x235795:0x13cd,_0x5b531d:0x1355},_0x2d6d60={_0xb767a8:0x3cd};function _0xfaae02(_0x5548d5,_0x4d23ae){return _0x306755(_0x5548d5,_0x4d23ae- -_0x2d6d60._0xb767a8);}function _0x158a34(_0x37ed09,_0x4dac27){return _0x306755(_0x4dac27,_0x37ed09- -0x4ac);}WallStyleConver['toCesiumVal'](_0x350df2,this[_0xfaae02(0x270,0x6ad)],!![]),Cesium__namespace['defined'](_0x432855['closure'])&&this['_updatePositionsHook'](),Cesium__namespace[_0x158a34(0x1306,_0x248795._0x165ad4)](_0x432855===null||_0x432855===void 0x0?void 0x0:_0x432855[_0x158a34(0x574,0x581)])&&this[_0x158a34(_0x248795._0x235795,_0x248795._0x5b531d)](this['_entity']);}['_updatePositionsHook'](){const _0x2ac371={_0x1c0b3a:0x641,_0xeb20e8:0x14c8,_0x2ace6d:0x395};function _0x4464ce(_0x5beb58,_0x53bce3){return _0x2b6441(_0x5beb58,_0x53bce3-0x38c);}var _0x437b91;this[_0x4464ce(-0x67,_0x2ac371._0x1c0b3a)]['closure']&&((_0x437b91=this['positions'])===null||_0x437b91===void 0x0?void 0x0:_0x437b91[_0x31310a(0x1f8e,_0x2ac371._0xeb20e8)])>0x0?this['entityGraphic'][_0x31310a(0x1ab0,0x1866)]=this['positions']['concat'](this['positions'][0x0]):this[_0x4464ce(0xe99,0x865)]['positions']=this[_0x4464ce(0x1086,0x1784)];(!this[_0x4464ce(0xc91,_0x2ac371._0x1c0b3a)]['maximumHeights']||!this[_0x4464ce(-0x3eb,0x641)]['minimumHeights'])&&this['_updateMaxMinHeights'](this[_0x31310a(0xc79,0xd33)]);function _0x31310a(_0x1d39db,_0x3635b5){return _0x2b6441(_0x1d39db,_0x3635b5-0x46e);}this[_0x4464ce(0x1747,0x16bb)](),this[_0x4464ce(-_0x2ac371._0x2ace6d,0x264)]();}[_0x2b6441(0x132f,0x12d8)](_0x5db5f6){const _0x4a84c9={_0x5749bc:0xfb3,_0x103f74:0x20e,_0x2f7cc2:0x190e,_0x40dcac:0x1446,_0x3b705d:0x89d,_0x452e54:0xcac,_0x5c6356:0x4d1,_0x5cddc8:0x11e1},_0x315cb7=this['points'];if(!_0x315cb7||_0x315cb7[_0x362dfa(0xf73,0x1671)]===0x0)return;const _0x49d889=_0x315cb7[_0x542c06(0x1906,_0x4a84c9._0x5749bc)];function _0x542c06(_0x4e42c7,_0x15d0bf){return _0x2b6441(_0x4e42c7,_0x15d0bf- -0xa7);}const _0x5d54ae=new Array(_0x49d889),_0x1502a6=new Array(_0x49d889);for(let _0x280a7f=0x0;_0x280a7f<_0x49d889;_0x280a7f++){const _0x420c5a=_0x315cb7[_0x280a7f][_0x362dfa(0x7a8,0x4dd)];_0x5d54ae[_0x280a7f]=_0x420c5a,this['style'][_0x362dfa(0x1045,0x1859)]?_0x1502a6[_0x280a7f]=_0x315cb7[0x0]['alt']+this[_0x542c06(0x195,_0x4a84c9._0x103f74)]['diffHeight']:_0x1502a6[_0x280a7f]=_0x420c5a+this['style']['diffHeight'];}this['style']['closure']&&_0x49d889>0x0&&(_0x5d54ae['push'](_0x5d54ae[0x0]),_0x1502a6['push'](_0x1502a6[0x0]));this['_minimumHeights']=_0x5d54ae;function _0x362dfa(_0x81bbff,_0x533952){return _0x2b6441(_0x81bbff,_0x533952-0x617);}this['_maximumHeights']=_0x1502a6,_0x5db5f6&&(!(_0x5db5f6[_0x362dfa(0xca3,0x136a)][_0x362dfa(_0x4a84c9._0x2f7cc2,_0x4a84c9._0x40dcac)]instanceof Cesium__namespace[_0x542c06(0x71a,0x407)])&&(_0x5db5f6[_0x542c06(_0x4a84c9._0x3b705d,0xcac)]['minimumHeights']=_0x5d54ae),!(_0x5db5f6[_0x542c06(0x1458,_0x4a84c9._0x452e54)]['maximumHeights']instanceof Cesium__namespace[_0x362dfa(_0x4a84c9._0x5c6356,0xac5)])&&(_0x5db5f6[_0x362dfa(0x1715,0x136a)][_0x362dfa(0x17e0,_0x4a84c9._0x5cddc8)]=_0x1502a6));}[_0x306755(0x11df,0x17dd)](){const _0x310f07={_0x3c93aa:0x1635,_0x37d9ee:0x612},_0x28eb02={_0xdaa5d2:0x5d0};function _0x5ef4a2(_0x36a694,_0x36e135){return _0x2b6441(_0x36e135,_0x36a694-0x139);}if(this[_0x34defa(0x1e1d,_0x310f07._0x3c93aa)])return;function _0x34defa(_0x38b374,_0x2b244b){return _0x2b6441(_0x38b374,_0x2b244b-_0x28eb02._0xdaa5d2);}super['_setPositionsToCallback'](),this[_0x5ef4a2(_0x310f07._0x37d9ee,0x635)]['minimumHeights']=new Cesium__namespace['CallbackProperty'](_0x3bc600=>{return this['_minimumHeights'];},![]),this[_0x34defa(0xab1,0xaa9)]['maximumHeights']=new Cesium__namespace['CallbackProperty'](_0xeef524=>{return this['_maximumHeights'];},![]);}['_positions_CallbackProperty'](){const _0x477e20={_0x8d0127:0x14e0,_0xb8af2b:0x175a,_0x3e5908:0x1c0c,_0x52fef3:0xf85},_0x161ba5={_0x27f8fe:0x6fe},_0x2214bb={_0x1db066:0x15f};function _0x3ceb2a(_0x3ebe00,_0x60338c){return _0x306755(_0x60338c,_0x3ebe00-_0x2214bb._0x1db066);}function _0x13e598(_0x7a7121,_0x133e57){return _0x2b6441(_0x133e57,_0x7a7121-_0x161ba5._0x27f8fe);}var _0x54a9bc;return this['style']['closure']&&((_0x54a9bc=this[_0x3ceb2a(_0x477e20._0x8d0127,0x1d80)])===null||_0x54a9bc===void 0x0?void 0x0:_0x54a9bc[_0x3ceb2a(_0x477e20._0xb8af2b,_0x477e20._0x3e5908)])>0x0?this['_positions_draw'][_0x3ceb2a(_0x477e20._0x52fef3,0xc38)](this[_0x3ceb2a(0x14e0,0xbe2)][0x0]):this['_positions_draw'];}[_0x2b6441(0x365,0xcf)](){const _0x2dabed={_0x3a441f:0x902,_0x2e5806:0x691,_0x1fb8d3:0x9e3,_0x5e2c60:0xe5c};if(!this['_isCallbackPositions'])return;super['_cancelPositionsCallback']();function _0x1a7ba9(_0x5af71f,_0x3d92e2){return _0x306755(_0x3d92e2,_0x5af71f- -0x312);}function _0x3a04a7(_0x24a194,_0x5f75f7){return _0x2b6441(_0x5f75f7,_0x24a194-0x429);}this['_entity']&&(this[_0x3a04a7(_0x2dabed._0x3a441f,_0x2dabed._0x2e5806)]['minimumHeights']=this[_0x1a7ba9(_0x2dabed._0x1fb8d3,_0x2dabed._0x5e2c60)],this['entityGraphic']['maximumHeights']=this[_0x1a7ba9(0x895,0xa10)]);}['updateAttrForDrawing'](_0x3ff25b){this['_updateMaxMinHeights'](this['_entity']);}}register$5('wall',WallEntity);class EditRectangle extends EditPoly{['bindDraggers'](){const _0x28b317={_0xf33c73:0x9ed,_0x379d88:0x712,_0x4f1de4:0x1211},_0x2901e3={_0xdeeb41:0x773,_0x1d0d25:0x116f,_0x26f84a:0x553,_0x460642:0x5f8,_0x40c0d5:0xb1f,_0x1e58bf:0xa17,_0x5313c0:0x641,_0x513aaf:0x1097,_0x5b5628:0xe07,_0x31ba57:0x149,_0x459982:0xdbe,_0x12b64f:0xf9b,_0x271887:0x6c2,_0x3d3f89:0x4c2,_0x365463:0x3de},_0x36681d=this['positions'];function _0x11cfa3(_0x3ffa5c,_0x462a46){return _0x306755(_0x462a46,_0x3ffa5c-0xe5);}for(let _0x1708a5=0x0,_0xeb284b=_0x36681d['length'];_0x1708a5<_0xeb284b;_0x1708a5++){const _0x342a95=this['updatePositionsHeightByAttr'](_0x36681d[_0x1708a5]),_0x109fec=this['createDragger']({'position':_0x342a95,'onDrag':(_0x4a6124,_0x328a96)=>{function _0x4b0331(_0x2fdb06,_0x647e4b){return _0x5bbe(_0x2fdb06- -0x1c6,_0x647e4b);}const _0x118216=this['_map']['clock'][_0x4b0331(_0x2901e3._0xdeeb41,_0x2901e3._0x1d0d25)],_0x1183b4=getCesiumValue(this['entityGraphic'][_0x33fcf9(_0x2901e3._0x26f84a,_0x2901e3._0x460642)],Number,_0x118216);this['positions'][_0x4a6124[_0x4b0331(_0x2901e3._0x40c0d5,_0x2901e3._0x1e58bf)]]=_0x328a96;if(this[_0x4b0331(_0x2901e3._0x5313c0,0x4ca)]['height']!==undefined)for(let _0x29b800=0x0,_0x2b9297=this[_0x33fcf9(_0x2901e3._0x513aaf,_0x2901e3._0x5b5628)]['length'];_0x29b800<_0x2b9297;_0x29b800++){const _0x51b34c=this['draggers'][_0x29b800],_0xa230e5=setPositionsHeight(this['positions'][_0x51b34c[_0x33fcf9(-_0x2901e3._0x31ba57,0x95e)]],_0x1183b4);_0x51b34c[_0x4b0331(_0x2901e3._0x459982,0xd18)]=_0xa230e5,this['positions'][_0x51b34c[_0x4b0331(_0x2901e3._0x40c0d5,_0x2901e3._0x12b64f)]]=_0xa230e5;}if(this[_0x33fcf9(_0x2901e3._0x271887,0x4dc)]&&this['_heightDraggers']['length']>0x0){const _0x317213=getCesiumValue(this['entityGraphic']['extrudedHeight'],Number,_0x118216);this['_heightDraggers'][_0x4a6124['index']][_0x33fcf9(0x608,0xbfd)]=setPositionsHeight(_0x328a96,_0x317213);}let _0x104ef2=this['center'];function _0x33fcf9(_0x187255,_0x35ff99){return _0x5bbe(_0x35ff99- -0x387,_0x187255);}_0x104ef2=this['updatePositionsHeightByAttr'](_0x104ef2),this[_0x33fcf9(-_0x2901e3._0x3d3f89,_0x2901e3._0x365463)]['position']=_0x104ef2;}});_0x109fec['index']=_0x1708a5,this['draggers']['push'](_0x109fec);}function _0x21aff8(_0x4a8f55,_0x41cac8){return _0x2b6441(_0x4a8f55,_0x41cac8-0x239);}this['_bindMoveAllDragger'](),this[_0x21aff8(_0x28b317._0xf33c73,_0x28b317._0x379d88)][_0x21aff8(0xaca,_0x28b317._0x4f1de4)]&&this[_0x11cfa3(0x19e9,0x2350)]();}['updatePositionsHeightByAttr'](_0x5ea4dc){const _0x95571f={_0xedeea4:0xb73,_0x12b57a:0x12b2,_0x3fb2b9:0x6f7,_0x26a8ff:0x70d,_0x1a1b6c:0x102d,_0x452df0:0x483},_0x22bb1f={_0x390b6d:0x234};function _0xa026e9(_0x2cf572,_0x454d06){return _0x306755(_0x454d06,_0x2cf572- -0x7f);}this['clampToGround']&&(_0x5ea4dc=getSurfacePosition(this[_0x18f51f(0x1c2c,0x145c)]['scene'],_0x5ea4dc));if(this['entityGraphic'][_0xa026e9(_0x95571f._0xedeea4,_0x95571f._0x12b57a)]!==undefined){const _0x115aa2=getCesiumValue(this[_0x18f51f(_0x95571f._0x3fb2b9,_0x95571f._0x26a8ff)]['height'],Number,this['_map'][_0x18f51f(0x1af4,_0x95571f._0x1a1b6c)][_0x18f51f(_0x95571f._0x452df0,0x83f)]);_0x5ea4dc=setPositionsHeight(_0x5ea4dc,_0x115aa2);}function _0x18f51f(_0x10abd3,_0x500e2a){return _0x2b6441(_0x10abd3,_0x500e2a-_0x22bb1f._0x390b6d);}return _0x5ea4dc;}['_updateHeight'](_0x7ac303){const _0x43dd6d={_0x3cfc73:0x111b},_0x4cbbfe={_0x3282ab:0x481};this['entityGraphic'][_0x1fac68(0x9cc,_0x43dd6d._0x3cfc73)]=_0x7ac303,this['style'][_0x1fac68(0x9cc,0x7cd)]=this[_0x248372(0x9e9,0x70c)](_0x7ac303,0x2);function _0x1fac68(_0x6f3faf,_0x5a78a0){return _0x2b6441(_0x5a78a0,_0x6f3faf-0x37b);}const _0x10d9d9=this['positions'];for(let _0x22f32a=0x0,_0x1a009d=_0x10d9d9['length'];_0x22f32a<_0x1a009d;_0x22f32a++){_0x10d9d9[_0x22f32a]=setPositionsHeight(_0x10d9d9[_0x22f32a],_0x7ac303);}function _0x248372(_0x1290f7,_0x86c678){return _0x2b6441(_0x86c678,_0x1290f7-_0x4cbbfe._0x3282ab);}for(let _0x64080b=0x0,_0x4362f5=this[_0x1fac68(0x11db,0x14fd)][_0x1fac68(0x13d5,0x19a3)];_0x64080b<_0x4362f5;_0x64080b++){const _0xb25905=this['draggers'][_0x64080b];_0xb25905['position']=setPositionsHeight(_0xb25905['position'],_0x7ac303);}this['fire'](EventType['editStyle']);}[_0x306755(0x1a63,0x1835)](){const _0x587d82={_0x8be3d9:0x19e,_0x3e735a:0x47e,_0x18fe46:0x104c,_0x2e33e7:0x15f4,_0x436f29:0xdc0,_0x3b1d4b:0x13bf},_0x143baa={_0x4d8617:0x42},_0x2da69d={_0x47beaa:0x330,_0x2f897a:0x10c,_0x357481:0xa23},_0x4ce90a={_0x2c3f5f:0x36e},_0x1b4943={_0x23cb96:0x4};if(!this['_graphic'][_0x3d7bbe(0x158e,0xfdf)])return;function _0x3d7bbe(_0x21d5fe,_0x1d0250){return _0x306755(_0x21d5fe,_0x1d0250- -0x27e);}let _0x3cfe23=this[_0x3d7bbe(_0x587d82._0x8be3d9,_0x587d82._0x3e735a)];_0x3cfe23=this[_0x2f769b(0x1927,_0x587d82._0x18fe46)](_0x3cfe23);let _0x569b4a,_0x5808fe;const _0x337de6=this['createDragger']({'position':_0x3cfe23,'type':EditPointType[_0x3d7bbe(_0x587d82._0x2e33e7,_0x587d82._0x436f29)],'tooltip':this['_map']['getLangText']('_整体平移'),'onDragStart':(_0x35344c,_0x191fc6)=>{const _0x4ea86b={_0x3ab53c:0x232};for(let _0x5ea06d=0x0,_0x1f3551=this['draggers']['length'];_0x5ea06d<_0x1f3551;_0x5ea06d++){this[_0x56d4b0(0x1226,0x11a6)][_0x5ea06d]['show']=![];}const _0x1988ef=getCesiumValue(this['_graphic']['_entity']['rectangle']['coordinates'],Cesium__namespace[_0x4fdb93(0xf4e,0xc54)]),_0x32635c=getCesiumValue(this[_0x56d4b0(-0x26d,0x38c)]['_entity']['rectangle']['height'],Number)||0x0,_0x513288={};function _0x4fdb93(_0x2fe051,_0x5beb86){return _0x3d7bbe(_0x5beb86,_0x2fe051-_0x4ea86b._0x3ab53c);}_0x513288['rectangle']=_0x1988ef,_0x513288['rotation']=0x0;function _0x56d4b0(_0x34cd29,_0x42369e){return _0x2f769b(_0x34cd29,_0x42369e- -0x219);}_0x513288['height']=_0x32635c;const _0x585379=getRectangleOuterPositions(_0x513288);_0x569b4a=Cesium__namespace[_0x56d4b0(_0x1b4943._0x23cb96,0x7c6)]['distance'](_0x585379[0x0],_0x585379[0x1]),_0x5808fe=Cesium__namespace['Cartesian3']['distance'](_0x585379[0x1],_0x585379[0x2]);},'onDrag':(_0x3a42f1,_0x3ce27a)=>{if(!this[_0x472619(-_0x2da69d._0x47beaa,_0x2da69d._0x2f897a)]){const _0x5bc7a4=Cesium__namespace['Cartographic'][_0x19983d(0x7c8,_0x2da69d._0x357481)](_0x3ce27a)[_0x19983d(0xd54,0xc26)];this['entityGraphic']['height']=_0x5bc7a4,this['style'][_0x19983d(0x459,0xc26)]=this[_0x472619(0xb90,0x759)](_0x5bc7a4,0x2);}function _0x19983d(_0x263bb5,_0x43ffcf){return _0x2f769b(_0x263bb5,_0x43ffcf-0x76);}const _0x196fb2={};function _0x472619(_0x922fb3,_0x49de47){return _0x2f769b(_0x922fb3,_0x49de47- -_0x4ce90a._0x2c3f5f);}_0x196fb2['center']=_0x3ce27a,_0x196fb2['width']=_0x569b4a,_0x196fb2['height']=_0x5808fe;const _0x157859=getRectPositionsByCenter(_0x196fb2);this['positions']=[_0x157859[0x1],_0x157859[0x3]];},'onDragEnd':(_0x5878c0,_0x254ea0)=>{this['updateDraggers']();}});function _0x2f769b(_0x564441,_0x1b5ac7){return _0x306755(_0x564441,_0x1b5ac7- -_0x143baa._0x4d8617);}this['_draggerMove']=_0x337de6,this[_0x2f769b(0x130e,_0x587d82._0x3b1d4b)]['push'](_0x337de6);}}class RectangleEntity extends BasePolyEntity{constructor(_0x2a4ef7={}){const _0xa6a2f2={_0x36f122:0x148,_0x248395:0x117a,_0x2ef1d2:0x3fc},_0x56361c={_0x173bf8:0x508},_0x1425f1={_0x1c4ad2:0x630};function _0xb37d09(_0x16691c,_0x4aec23){return _0x306755(_0x4aec23,_0x16691c- -_0x1425f1._0x1c4ad2);}super(_0x2a4ef7),this['_minPointNum']=0x2,this[_0xb37d09(_0xa6a2f2._0x36f122,0xbc5)]=0x2,this['_clampToGround_reload']=!![];function _0x26317f(_0x56f17b,_0xcadb68){return _0x2b6441(_0xcadb68,_0x56f17b-_0x56361c._0x173bf8);}if(this[_0x26317f(0xbc4,_0xa6a2f2._0x248395)]['rectangle'])this['_rectangle']=this[_0x26317f(0xbc4,_0xa6a2f2._0x2ef1d2)][_0x26317f(0x1380,0x1825)];else this['options'][_0x26317f(0xb78,0x9b6)]&&(this['_rectangle']=this['options']['coordinates']);}get[_0x2b6441(-0x5ab,0x4d9)](){var _0x44a020;function _0x1d81b1(_0x1ae87a,_0x36b31c){return _0x306755(_0x36b31c,_0x1ae87a- -0x58e);}return(_0x44a020=this[_0x1d81b1(0x8d8,0x1093)])===null||_0x44a020===void 0x0?void 0x0:_0x44a020['rectangle'];}get['EditClass'](){return EditRectangle;}get['center'](){const _0x384352={_0x5e384d:0x466},_0x4799b9={_0x1fb2e7:0x3f0},_0x2995fb=getCesiumValue(this['rectangle']);if(!_0x2995fb)return null;let _0xc2f48=Cesium__namespace['Cartographic']['toCartesian'](Cesium__namespace['Rectangle']['center'](_0x2995fb));Cesium__namespace[_0x2b8f91(0x110f,0x18b2)](this[_0x2b8f91(0x211,0x956)]['height'])&&(_0xc2f48=setPositionsHeight(_0xc2f48,this[_0x1ee479(_0x384352._0x5e384d,0xa24)][_0x1ee479(0x802,0x1260)]));function _0x2b8f91(_0x2bcdde,_0x2c64a0){return _0x306755(_0x2bcdde,_0x2c64a0-0x100);}function _0x1ee479(_0x4f4095,_0x36c9ed){return _0x306755(_0x36c9ed,_0x4f4095- -_0x4799b9._0x1fb2e7);}return _0xc2f48;}get['outlinePositions'](){const _0x9e5839={_0x3c27b8:0x1447,_0x5a8333:0xe4f};function _0x4b075a(_0x21d770,_0x24d352){return _0x306755(_0x24d352,_0x21d770- -0x104);}return this['_outlinePositions']=getOutlinePositions(this['_entity']),this[_0x4b075a(_0x9e5839._0x3c27b8,_0x9e5839._0x5a8333)];}set['outlinePositions'](_0x5d9145){this['_outlinePositions']=_0x5d9145;}get[_0x306755(0x199d,0x12c7)](){function _0x53c882(_0x44941e,_0x19fc67){return _0x2b6441(_0x44941e,_0x19fc67-0x137);}return cartesians2lonlats(this[_0x53c882(0xd57,0xda6)]);}get['rectangle'](){const _0x59820a={_0xce511a:0x17c6,_0xaa0403:0x8e7,_0x11a573:0xf1c,_0x2f68f4:0x1487},_0x34a169={_0x2f0614:0x153};function _0x510ecb(_0x25ae1a,_0x1cd023){return _0x306755(_0x1cd023,_0x25ae1a- -0x512);}!this['_rectangle']&&this[_0x443fb0(_0x59820a._0xce511a,0x1846)]&&(this['_rectangle']=Cesium__namespace['Rectangle'][_0x443fb0(_0x59820a._0xaa0403,_0x59820a._0x11a573)](this[_0x510ecb(_0x59820a._0x2f68f4,0x184d)]));function _0x443fb0(_0x182cc2,_0x5ccbb0){return _0x306755(_0x182cc2,_0x5ccbb0- -_0x34a169._0x2f0614);}return this['_rectangle'];}set[_0x306755(0x1890,0x1419)](_0x208403){const _0x2a2f51={_0x390556:0x876,_0x236b90:0xbdf,_0x25960e:0x4e3,_0x3bf45f:0x5d9,_0x15beea:0x621},_0x263714={_0x312fa7:0x4f};function _0x346d99(_0x4a0e7c,_0x472d66){return _0x2b6441(_0x472d66,_0x4a0e7c-0xa);}function _0x239a9a(_0x5c8f04,_0x2499fc){return _0x2b6441(_0x2499fc,_0x5c8f04- -_0x263714._0x312fa7);}var _0x12819f;(_0x12819f=this['editing'])!==null&&_0x12819f!==void 0x0&&_0x12819f['enabled']&&!(_0x208403 instanceof Cesium__namespace[_0x239a9a(0x45f,-0x3f5)])?this['_rectangle_draw']=_0x208403:(this['_rectangle']=_0x208403,this[_0x239a9a(_0x2a2f51._0x390556,_0x2a2f51._0x236b90)]&&(this[_0x346d99(_0x2a2f51._0x25960e,-_0x2a2f51._0x3bf45f)][_0x239a9a(_0x2a2f51._0x15beea,-0x26)]=_0x208403));}get['points'](){const _0x51798a={_0x7ed99:0xb14,_0x5d63bb:0x9a6},_0x1e66f0={_0x3001f5:0x267},_0xa46c8e=[];let _0x1f725a;function _0x3e5218(_0x551c9b,_0x48c9e0){return _0x2b6441(_0x48c9e0,_0x551c9b-0x4bd);}function _0x71d061(_0x4351a7,_0x220e74){return _0x2b6441(_0x4351a7,_0x220e74-_0x1e66f0._0x3001f5);}return this[_0x3e5218(0x129d,0x14c2)]?_0x1f725a=this['_positions_draw']:this['_positions']['getValue']?_0x1f725a=this[_0x3e5218(0x9f0,_0x51798a._0x7ed99)]['getValue']():_0x1f725a=this[_0x71d061(-0x169,0x79a)],!_0x1f725a&&(_0x1f725a=getOutlinePositions(this['_entity'],![])),_0x1f725a['forEach'](function(_0xc0f915){const _0x353c6e=LngLatPoint['parse'](_0xc0f915);if(!_0x353c6e||!_0x353c6e['valid']())return;_0xa46c8e['push'](_0x353c6e);}),this[_0x71d061(_0x51798a._0x5d63bb,0x7a5)]=_0xa46c8e,this['_points'];}get['distance'](){return getDistance(this['outlinePositions'],!![]);}get[_0x306755(-0x97,0x6ce)](){function _0x5a3920(_0x124090,_0x537fa1){return _0x306755(_0x537fa1,_0x124090- -0x41f);}return getArea(this[_0x5a3920(0xdf1,0xbb4)]);}['getEntityPositions'](){const _0x35d9c6={_0x34e210:0x928,_0x20fffe:0xf0c,_0x1acb24:0x135d,_0x46b352:0x48f,_0x2a8486:0xb6b},_0x226784={_0x2559a6:0x4e5};if(!this['_entity']['rectangle'])return null;const _0x5e1283=getCesiumValue(this['_entity']['rectangle']['coordinates'],Cesium__namespace['Rectangle']),_0x3063c9=getCesiumValue(this[_0x21d099(_0x35d9c6._0x34e210,0xdaa)][_0x21d099(_0x35d9c6._0x20fffe,_0x35d9c6._0x1acb24)]['height'],Number)||0x0;function _0x300bda(_0x553870,_0x20e112){return _0x306755(_0x553870,_0x20e112- -0x1e5);}function _0x21d099(_0x305383,_0x2e4e3c){return _0x2b6441(_0x305383,_0x2e4e3c-_0x226784._0x2559a6);}const _0x78b116=Cesium__namespace['Cartesian3'][_0x21d099(_0x35d9c6._0x46b352,0xb1f)](_0x5e1283['west'],_0x5e1283['south'],_0x3063c9),_0x464517=Cesium__namespace[_0x21d099(_0x35d9c6._0x2a8486,0x965)]['fromRadians'](_0x5e1283['east'],_0x5e1283['north'],_0x3063c9);return[_0x78b116,_0x464517];}['_mountedHook'](){const _0x524b9b={_0x3cd040:0xd20,_0x21a662:0x10ed,_0x4876b5:0xd81,_0x237080:0x9df,_0x533e93:0x9be,_0x4bfb16:0x74e,_0x816348:0x10de,_0x4346a4:0x1314},_0x44e0b1={_0x6977cb:0x17db,_0x33f10f:0xf29,_0x5485ca:0x8f3},_0x524579={_0x4023e0:0xb5},_0x850430={_0x172ec2:0x12f},_0x170d87={'rectangle':RectangleStyleConver[_0x32b4d0(0x126e,_0x524b9b._0x3cd040)](this['style'],{},!![])};_0x170d87[_0x32b4d0(0x676,0x10ed)]['coordinates']=this[_0x32b4d0(0xb14,_0x524b9b._0x21a662)];this['_positions']instanceof Cesium__namespace['CallbackProperty']&&(_0x170d87['rectangle']['coordinates']=new Cesium__namespace['CallbackProperty'](_0x38b6a3=>{const _0x2f2762=this['_positions']['getValue'](_0x38b6a3);function _0x448460(_0x157458,_0x26ff93){return _0x32b4d0(_0x26ff93,_0x157458-_0x850430._0x172ec2);}function _0x235648(_0x209a9e,_0x5556ca){return _0x515b1a(_0x5556ca- -_0x524579._0x4023e0,_0x209a9e);}return _0x2f2762&&_0x2f2762[_0x448460(0x13fe,_0x44e0b1._0x6977cb)]>0x0?(this['_rectangle']=Cesium__namespace[_0x235648(0x16ee,0xe54)][_0x235648(0x118c,_0x44e0b1._0x33f10f)](_0x2f2762),this[_0x235648(-0x132,_0x44e0b1._0x5485ca)]):undefined;},![]));this['_entity']=this['_createEntity'](_0x170d87);function _0x515b1a(_0x37aa8e,_0x4cdd54){return _0x2b6441(_0x4cdd54,_0x37aa8e-0x510);}this[_0x515b1a(0x12c5,_0x524b9b._0x4876b5)](this[_0x32b4d0(_0x524b9b._0x237080,0x74e)]),this['_updateOutlineStyle'](this['_getOutlinePositions'](),this[_0x515b1a(0x7c5,_0x524b9b._0x533e93)]);this[_0x32b4d0(0xaf7,0xc38)]&&this[_0x32b4d0(0x1051,_0x524b9b._0x4bfb16)]['coordinates']instanceof Cesium__namespace['CallbackProperty']&&this[_0x515b1a(_0x524b9b._0x816348,_0x524b9b._0x4346a4)]();function _0x32b4d0(_0x589f77,_0x23601d){return _0x2b6441(_0x589f77,_0x23601d-0x275);}this['style']['label']&&this['_addLabel'](this['style']['label']);}[_0x306755(0xe0c,0x5d7)](_0x5261c8,_0xe36273){return RectangleStyleConver['toJSON'](_0x5261c8,_0xe36273,!![]);}['_updateStyleHook'](_0x4161cb,_0x75105f){const _0x23b728={_0x552fcd:0x1c3d,_0x42f276:0x11d6};function _0x480d63(_0x11ad42,_0x5656fb){return _0x306755(_0x5656fb,_0x11ad42- -0x434);}function _0x58c89f(_0x2680a9,_0x2bf5f3){return _0x2b6441(_0x2680a9,_0x2bf5f3-0x370);}RectangleStyleConver['toCesiumVal'](_0x4161cb,this['entityGraphic'],!![]),(Cesium__namespace[_0x58c89f(0x1b90,0x1581)](_0x75105f[_0x58c89f(0x111f,0x7ef)])||Cesium__namespace[_0x480d63(0x137e,0x187f)](_0x75105f[_0x480d63(0x7be,0xbfb)])||Cesium__namespace[_0x58c89f(0xc70,0x1581)](_0x4161cb['addHeight'])||Cesium__namespace[_0x58c89f(_0x23b728._0x552fcd,0x1581)](_0x4161cb[_0x480d63(0x103b,_0x23b728._0x42f276)]))&&this['_calculateCzmHeight'](this[_0x58c89f(0x921,0x849)]);}[_0x2b6441(-0x2e,0x3ca)](){const _0x1b2fcc={_0x99e1b2:0x1160,_0x2e804a:0xefd,_0x206523:0x1a8a,_0x412985:0x1472,_0x11a99f:0x9bc,_0x598811:0x92c};this['positions']?this['rectangle']=Cesium__namespace['Rectangle'][_0x23c510(_0x1b2fcc._0x99e1b2,_0x1b2fcc._0x2e804a)](this[_0x23c510(_0x1b2fcc._0x206523,0x1929)]):this['_rectangle_draw']=Cesium__namespace['Rectangle']['fromCartesianArray'](this[_0x23c510(_0x1b2fcc._0x412985,0x10ee)]);function _0x23c510(_0x782d8e,_0x39f84d){return _0x306755(_0x39f84d,_0x782d8e-0xf1);}this[_0x5100b3(0xaa2,0x1126)]=getOutlinePositions(this[_0x23c510(0xf57,0x1224)]),this[_0x5100b3(_0x1b2fcc._0x11a99f,0x850)](this[_0x5100b3(-0x10,_0x1b2fcc._0x598811)](),this[_0x23c510(0x947,0x99d)]);function _0x5100b3(_0x19c1eb,_0x4aef37){return _0x306755(_0x19c1eb,_0x4aef37- -0xea);}this['_updateLabelPosition'](),this['_calculateCzmHeight'](this['entityGraphic']),this['_updateEditDraggers']();}['_getOutlineStyle'](_0x27010f,_0x21290e){const _0x120ba9={_0x124cf5:0xc3d,_0x49a083:0x8f0},_0x3cc2aa={_0x541771:0x36e};_0x27010f={..._0x27010f};function _0x3a483a(_0x556e8f,_0x22549b){return _0x306755(_0x22549b,_0x556e8f- -0x2ed);}delete _0x27010f['addHeight'],delete _0x27010f['setHeight'],delete _0x27010f[_0x2d8268(0xe1a,0x9bf)];function _0x2d8268(_0x471452,_0x326037){return _0x2b6441(_0x471452,_0x326037-_0x3cc2aa._0x541771);}const _0x212dde=super['_getOutlineStyle'](_0x27010f,_0x21290e);return _0x212dde['arcType']=Cesium__namespace[_0x2d8268(0xb0f,_0x120ba9._0x124cf5)][_0x2d8268(0x829,_0x120ba9._0x49a083)],_0x212dde;}['_getOutlinePositions'](){const _0x5ea282=getOutlinePositions(this['_entity']);return[_0x5ea282];}[_0x306755(-0x7f,0x579)](_0x5dd4dc){return super['toGeoJSON'](_0x5dd4dc);}['_getGeoJsonGeometry'](_0x161975){const _0x42a0b5={_0x459eb1:0x976,_0x2abc3d:0xfd3,_0x300a8f:0xab8,_0x3e569e:0x976},_0x29aafd={_0x504bcd:0x47a};function _0x28d562(_0x466b22,_0x2b4587){return _0x306755(_0x466b22,_0x2b4587- -0x8f);}function _0x32fcc1(_0x5769e6,_0x3f51e9){return _0x306755(_0x5769e6,_0x3f51e9- -_0x29aafd._0x504bcd);}return _0x161975!==null&&_0x161975!==void 0x0&&_0x161975['outline']?{'type':'Polygon','coordinates':[this['getOutlineCoordinates'](_0x161975===null||_0x161975===void 0x0?void 0x0:_0x161975['closure'],_0x161975===null||_0x161975===void 0x0?void 0x0:_0x161975[_0x32fcc1(0xb29,_0x42a0b5._0x459eb1)])]}:{'type':'LineString','coordinates':this[_0x32fcc1(0xef9,_0x42a0b5._0x2abc3d)](_0x161975===null||_0x161975===void 0x0?void 0x0:_0x161975[_0x32fcc1(_0x42a0b5._0x300a8f,_0x42a0b5._0x3e569e)])};}['setCallbackPositions'](_0x2480d1){const _0x2cec0d={_0x515f88:0x18cf},_0x13533a={_0x387357:0x164};function _0x1a3fb2(_0x383d9c,_0x2e9526){return _0x2b6441(_0x2e9526,_0x383d9c-0x1ec);}this['_setPositionsToCallback']();_0x2480d1&&(_0x2480d1&&(_0x2480d1=LngLatArray['toCartesians'](_0x2480d1)),this[_0x27e054(0xfa3,0x14e5)]=_0x2480d1,this[_0x27e054(_0x2cec0d._0x515f88,0x14b1)](!![]),this['_updateLabelPosition']());function _0x27e054(_0x3fd4f5,_0x173266){return _0x306755(_0x3fd4f5,_0x173266-_0x13533a._0x387357);}return this[_0x1a3fb2(0xfcc,0x918)];}['_setPositionsToCallback'](){const _0x2d3a8d={_0x3dec6b:0x18dd,_0x4076db:0x540,_0x14491b:0xc53,_0x128cb7:0xfa2,_0x45b49e:0x7c3,_0x432f84:0x7df},_0x465dbd={_0x25faea:0x440};function _0x3b3bce(_0x1719bc,_0x1510a0){return _0x306755(_0x1719bc,_0x1510a0- -0x50f);}if(this[_0x3b3bce(0x19c1,0x10f7)])return;this[_0x3b3bce(_0x2d3a8d._0x3dec6b,0x10f7)]=!![];function _0x140c2a(_0x3942b4,_0x46a27b){return _0x306755(_0x46a27b,_0x3942b4- -_0x465dbd._0x25faea);}const _0xaee74c=this['positions'];_0xaee74c?(_0xaee74c instanceof Cesium__namespace[_0x3b3bce(0xc5d,_0x2d3a8d._0x4076db)]?this[_0x140c2a(0xf41,_0x2d3a8d._0x14491b)]=this['getEntityPositions']():this['_positions_draw']=this['positions'],this['_rectangle_draw']=Cesium__namespace[_0x3b3bce(_0x2d3a8d._0x128cb7,0xa8b)]['fromCartesianArray'](this['_positions_draw'])):(this['_positions_draw']=[],this[_0x140c2a(_0x2d3a8d._0x45b49e,_0x2d3a8d._0x432f84)]=null),this['rectangle']=new Cesium__namespace['CallbackProperty'](_0x53646c=>{function _0x23133c(_0xc9865a,_0x410e7d){return _0x140c2a(_0xc9865a-0x57c,_0x410e7d);}return this[_0x23133c(0xd3f,0xf70)];},![]),this['_updateOutlineToCallback']();}['_cancelPositionsCallback'](){const _0x56c295={_0x5f8930:0x1531,_0x4bfac9:0xb58,_0x5583c5:0x142d,_0x2ec926:0x1528,_0x1139cd:0xf85,_0x59d763:0xd30,_0x5e4fb3:0xd9b,_0x9e8ab:0x1520},_0x42c744={_0xce3859:0x6c0},_0x3c7f19={_0x2184df:0x8b};if(!this[_0x530465(0xb5a,0xfda)])return;this[_0x2763f5(0x1725,_0x56c295._0x5f8930)]=![],this['_positions']=this['_positions_draw'];function _0x530465(_0x211696,_0x272448){return _0x2b6441(_0x211696,_0x272448- -_0x3c7f19._0x2184df);}function _0x2763f5(_0x64cb48,_0x10aab8){return _0x2b6441(_0x10aab8,_0x64cb48-_0x42c744._0xce3859);}this[_0x2763f5(_0x56c295._0x4bfac9,0x1399)]=this[_0x2763f5(0xd22,_0x56c295._0x5583c5)],delete this[_0x2763f5(0x14a0,0xb74)],delete this[_0x2763f5(0xd22,_0x56c295._0x2ec926)],this[_0x2763f5(_0x56c295._0x1139cd,0xf3a)]&&(this['entityGraphic'][_0x2763f5(_0x56c295._0x59d763,_0x56c295._0x5e4fb3)]=this['_rectangle'],this[_0x2763f5(0x1936,_0x56c295._0x9e8ab)]());}['updateAttrForDrawing'](_0x231555){this['_calculateCzmHeight'](this['entityGraphic'],!![]),this['_rectangle_draw']=Cesium__namespace['Rectangle']['fromCartesianArray'](this['_positions_draw']);function _0x3d1739(_0x1ad1da,_0x54dc10){return _0x2b6441(_0x54dc10,_0x1ad1da-0x26d);}this['_entity_outlines']&&(this['_updateOutlineToCallback'](),this['_outlinePositions']=getOutlinePositions(this[_0x3d1739(0xb32,0x64e)]));}[_0x2b6441(-0x504,0x279)](_0x2dc6ed,_0x4d5a9b=''){const _0x489864={_0x570cdb:0x89f,_0x3470aa:0xeb6,_0x7efc65:0x862,_0xf03106:0x79,_0x566ce5:0x17e6},_0x52db0d={_0x226178:0xac},_0x483362={_0x561e44:0x1e3};if(this[_0x4b45ee(_0x489864._0x570cdb,0x9be)]['drawShowMeasure']===![])return _0x4d5a9b;if(this[_0x4b45ee(0xfc3,_0x489864._0x3470aa)]['length']<0x2)return _0x4d5a9b;function _0x4b45ee(_0x4fcf4c,_0xe6622a){return _0x2b6441(_0xe6622a,_0x4fcf4c-_0x483362._0x561e44);}function _0x5d18ce(_0x5248a0,_0x42d2f6){return _0x2b6441(_0x42d2f6,_0x5248a0-0x1a6);}const _0x5cb52e={'unit':this[_0x5d18ce(_0x489864._0x7efc65,_0x489864._0xf03106)]['unit'],'getLangText':_0x29fc41=>{function _0x1ec436(_0x4cebd8,_0x16b3c8){return _0x5d18ce(_0x4cebd8- -_0x52db0d._0x226178,_0x16b3c8);}function _0x4023c2(_0x4069d2,_0x43a5f3){return _0x4b45ee(_0x4069d2-0x48c,_0x43a5f3);}return this[_0x1ec436(0x1322,0x1b77)][_0x1ec436(0x8c6,0x127b)](_0x29fc41);},'decimal':this['options']['decimal']};return _0x5d18ce(0x2a5,0x4d6)+this[_0x4b45ee(0x140b,_0x489864._0x566ce5)]['getLangText']('_面积')+':'+formatArea(this['area'],_0x5cb52e);}['getOutlinePositions'](_0x1929ca){function _0x4ea8dd(_0x3a4ea8,_0xdcc12d){return _0x2b6441(_0xdcc12d,_0x3a4ea8-0x5e2);}return getOutlinePositions(this[_0x4ea8dd(0xea7,0x13a5)],_0x1929ca);}['getOutlineCoordinates'](_0x272b54,_0xac4626){const _0x51dca3={_0x514ccc:0xd19};function _0x33e005(_0x53e8c4,_0x15bed4){return _0x306755(_0x53e8c4,_0x15bed4- -0x63);}return cartesians2lonlats(this[_0x33e005(0x511,_0x51dca3._0x514ccc)](_0x272b54),_0xac4626);}[_0x306755(0x14a6,0x18e3)](_0x4aa6d9){function _0x4bcc67(_0x3f3eb8,_0x101077){return _0x306755(_0x101077,_0x3f3eb8- -0x480);}const _0x4ef6a5=this['_rectangle_draw']||this['rectangle'];return _0x4aa6d9!==null&&_0x4aa6d9!==void 0x0&&_0x4aa6d9[_0x4bcc67(0xe04,0x6bf)]?formatRectangle(_0x4ef6a5):_0x4ef6a5;}['isInPoly'](_0xef9bb3){const _0x5b350c={_0x48bb39:0xbf6,_0x411384:0xaa3,_0x4ee08c:0xde9,_0x247558:0x637};function _0x3ef9bb(_0x253dab,_0x5efa47){return _0x306755(_0x253dab,_0x5efa47- -0x1b1);}function _0x55b428(_0x1e41e4,_0x11f11d){return _0x306755(_0x11f11d,_0x1e41e4- -0x1b);}var _0x131a0e;const _0x47fb99=getCesiumValue((_0x131a0e=this['_entity']['rectangle'])===null||_0x131a0e===void 0x0?void 0x0:_0x131a0e[_0x55b428(_0x5b350c._0x48bb39,_0x5b350c._0x411384)],Cesium__namespace['Rectangle']),_0x132c82=Cesium__namespace[_0x3ef9bb(0x6ab,_0x5b350c._0x4ee08c)][_0x3ef9bb(0x59,_0x5b350c._0x247558)](_0x47fb99,LngLatPoint['parse'](_0xef9bb3)['toCartographic']());return _0x132c82;}[_0x2b6441(0x83a,0x686)](_0x3b9953={}){const _0x242466={_0x3f1455:0x5a0,_0xf5865:0x14f7,_0x572308:0xefc};function _0x1bf868(_0x4dc93,_0xab7fa9){return _0x306755(_0xab7fa9,_0x4dc93- -0x9e);}if(!this[_0x1bf868(0x172b,0xf94)])return;_0x3b9953[_0x364bf9(0x1ea,_0x242466._0x3f1455)]=this['style']['clampToGround'],this[_0x364bf9(_0x242466._0xf5865,0x10d0)]['flyToExtent'](getCesiumValue(this['rectangle'],Cesium__namespace[_0x1bf868(_0x242466._0x572308,0x1918)]),_0x3b9953);function _0x364bf9(_0x542d2c,_0x1e7459){return _0x2b6441(_0x1e7459,_0x542d2c-0x2cf);}return this;}}register$5('rectangle',RectangleEntity);function getOutlinePositions(_0x2fe2ff,_0x505e85=!![]){const _0x13ead9={_0x767884:0x1517,_0x26f27a:0x16e6,_0x245b6d:0xaa0,_0x36f3c9:0x14af,_0x21c767:0x130f,_0x5e233a:0x11c2,_0x5aab08:0x174e,_0x4e7064:0x162f,_0x152e4b:0xcf0};if(!_0x2fe2ff||!_0x2fe2ff['rectangle'])return[];const _0x74253b=getCesiumValue(_0x2fe2ff[_0x280cd8(0x1613,_0x13ead9._0x767884)]['coordinates'],Cesium__namespace['Rectangle']);if(!_0x74253b)return[];const _0x162dbd=getCesiumValue(_0x2fe2ff['rectangle'][_0x20bbf3(0x19ac,_0x13ead9._0x26f27a)],Number)||0x0,_0x3d8a67=getCesiumValue(_0x2fe2ff[_0x20bbf3(_0x13ead9._0x245b6d,_0x13ead9._0x36f3c9)]['height'],Number)||0x0,_0xcbffa3={};_0xcbffa3[_0x280cd8(_0x13ead9._0x21c767,_0x13ead9._0x767884)]=_0x74253b,_0xcbffa3[_0x280cd8(_0x13ead9._0x5e233a,_0x13ead9._0x5aab08)]=_0x162dbd,_0xcbffa3[_0x280cd8(_0x13ead9._0x4e7064,_0x13ead9._0x152e4b)]=_0x3d8a67;const _0x40c9cf=getRectangleOuterPositions(_0xcbffa3);function _0x20bbf3(_0x1888ab,_0x22d9ea){return _0x2b6441(_0x1888ab,_0x22d9ea-0x637);}function _0x280cd8(_0x45425c,_0x4ea4f0){return _0x306755(_0x45425c,_0x4ea4f0-0xfe);}return _0x505e85&&_0x40c9cf['push'](_0x40c9cf[0x0]),_0x40c9cf;}function getAllPositions(_0x311982){const _0x4437cc={_0x87c646:0x3ca};function _0x2e6159(_0x1f23c8,_0x199d52){return _0x306755(_0x1f23c8,_0x199d52- -_0x4437cc._0x87c646);}const _0x374751=getCesiumValue(_0x311982['polygon']['hierarchy'],Cesium__namespace[_0x2e6159(0x97,0x109)]),_0x466dcf=getHierarchyVal(_0x374751);return _0x466dcf;}function getPositions(_0x503481,_0x3ea7c3){const _0x17398d={_0x164ef7:0x13a1},_0x54647a={_0x208a26:0x13f};function _0x58250a(_0xbe711d,_0x2c4589){return _0x306755(_0x2c4589,_0xbe711d- -_0x54647a._0x208a26);}if(!_0x3ea7c3&&_0x503481['_positions_draw']&&_0x503481['_positions_draw']['length']>0x0)return _0x503481[_0x38848d(_0x17398d._0x164ef7,0x1356)];let _0x2a8213=getCesiumValue(_0x503481['polygon']['hierarchy'],Cesium__namespace['PolygonHierarchy']);_0x2a8213&&_0x2a8213 instanceof Cesium__namespace[_0x58250a(0x394,-0x3b1)]&&(_0x2a8213=_0x2a8213['positions']);function _0x38848d(_0x134bf9,_0x1043ac){return _0x306755(_0x1043ac,_0x134bf9-0x20);}return _0x2a8213;}function getHolesPositions(_0x73a2a7){const _0x2b1432={_0x321943:0x1709,_0x1879c7:0x88e,_0x1bc367:0x585},_0x20f219={_0x2fcf02:0x328};function _0x2d10f8(_0x5bb1fa,_0x334b82){return _0x2b6441(_0x5bb1fa,_0x334b82-0x42);}const _0x2e8f38=getCesiumValue(_0x73a2a7[_0xbddb76(0xcaf,_0x2b1432._0x321943)]['hierarchy'],Cesium__namespace[_0x2d10f8(-_0x2b1432._0x1879c7,-0x8c)]);function _0xbddb76(_0x2106d2,_0x46c8a8){return _0x2b6441(_0x46c8a8,_0x2106d2-_0x20f219._0x2fcf02);}const _0x295021=getHierarchyVal(_0x2e8f38);return _0x295021['length']>0x1?_0x295021[_0x2d10f8(-_0x2b1432._0x1bc367,0x29c)](0x1):null;}function getHierarchyVal(_0x586542){const _0xd5be72={_0x51c9c6:0x10fd,_0x440d9b:0xf8},_0x3f6d4a={_0x417ddf:0x2f};function _0x8fb0b0(_0x41ab38,_0x2417e0){return _0x2b6441(_0x2417e0,_0x41ab38- -_0x3f6d4a._0x417ddf);}function _0x1bc939(_0x2a11b6,_0x540dc6){return _0x306755(_0x2a11b6,_0x540dc6- -0x187);}if(!_0x586542)return[];if(_0x586542&&_0x586542 instanceof Cesium__namespace['PolygonHierarchy']){let _0x7f7c08=[_0x586542[_0x8fb0b0(0x13c9,_0xd5be72._0x51c9c6)]];for(let _0x284bde=0x0,_0xdc4801=_0x586542[_0x8fb0b0(0x98f,_0xd5be72._0x440d9b)]['length'];_0x284bde<_0xdc4801;_0x284bde++){const _0x511b45=_0x586542['holes'][_0x284bde];_0x7f7c08=_0x7f7c08[_0x1bc939(0x793,0xc9f)](getHierarchyVal(_0x511b45));}return _0x7f7c08;}else return[_0x586542];}function getPolygonHierarchy(_0x3e50c0,_0x13ea14){const _0x3bfd80={_0x304969:0x7c9,_0x11b6c1:0x14e8,_0x3d7be4:0x1907,_0x107953:0x548},_0x1d3fdb={_0x7b9257:0x113};if(_0x3e50c0['length']===0x0)return new Cesium__namespace[(_0x376caf(0x3c0,_0x3bfd80._0x304969))]();function _0x2b1ade(_0x2cc494,_0x16a0a7){return _0x2b6441(_0x16a0a7,_0x2cc494-0x330);}function _0x376caf(_0x3006c1,_0x56a557){return _0x306755(_0x56a557,_0x3006c1- -_0x1d3fdb._0x7b9257);}const _0x18d69=[];if(_0x3e50c0[_0x376caf(_0x3bfd80._0x11b6c1,_0x3bfd80._0x3d7be4)]>0x1)for(let _0x2aeb32=0x1,_0x3b0792=_0x3e50c0['length'];_0x2aeb32<_0x3b0792;_0x2aeb32++){_0x18d69['push'](new Cesium__namespace[(_0x2b1ade(0x262,-_0x3bfd80._0x107953))](lonlats2cartesians(_0x3e50c0[_0x2aeb32],_0x13ea14)));}const _0x590321=_0x3e50c0[0x0],_0x28f2f1=new Cesium__namespace['PolygonHierarchy'](lonlats2cartesians(_0x590321,_0x13ea14),_0x18d69);return _0x28f2f1;}function getPolygonHierarchy2(_0x1463de){const _0x2c8cdb={_0x50db86:0x75a,_0x2935af:0x8d7,_0x38b2f7:0x2b9,_0x1cc616:0x4e6,_0x4df8f3:0x358},_0x5a6cc3={_0x540300:0x1c1};if(_0x1463de[_0x65cb7c(_0x2c8cdb._0x50db86,0x121b)]===0x0)return new Cesium__namespace[(_0x65cb7c(-0x926,0xf3))]();function _0x65cb7c(_0x372c0d,_0x1d75d4){return _0x2b6441(_0x372c0d,_0x1d75d4-_0x5a6cc3._0x540300);}function _0x50c7a3(_0x109a56,_0x86a2da){return _0x306755(_0x86a2da,_0x109a56-0x13);}const _0x2698ed=[];if(_0x1463de[_0x65cb7c(0x1bfa,0x121b)]>0x1)for(let _0x3d59a1=0x1,_0x5593d8=_0x1463de[_0x65cb7c(0x7e7,0x121b)];_0x3d59a1<_0x5593d8;_0x3d59a1++){_0x2698ed[_0x65cb7c(_0x2c8cdb._0x2935af,_0x2c8cdb._0x38b2f7)](new Cesium__namespace['PolygonHierarchy'](LngLatArray['toCartesians'](_0x1463de[_0x3d59a1])));}const _0x23554d=_0x1463de[0x0],_0x257b75=new Cesium__namespace[(_0x50c7a3(_0x2c8cdb._0x1cc616,0x2fe))](LngLatArray[_0x50c7a3(0xc9e,_0x2c8cdb._0x4df8f3)](_0x23554d),_0x2698ed);return _0x257b75;}class EditPolygon extends EditPoly{get[_0x306755(0x1aae,0x10ec)](){return this['_graphic']['hasClosure']??!![];}get['clampToGround'](){const _0x50ac18={_0x5319be:0x7b4},_0x277000={_0x5816cc:0x309};var _0x190d6f;function _0x391a11(_0x24af76,_0x32273a){return _0x2b6441(_0x24af76,_0x32273a-_0x277000._0x5816cc);}return this['style']['clampToGround']??!getCesiumValue((_0x190d6f=this['_graphic'])===null||_0x190d6f===void 0x0||(_0x190d6f=_0x190d6f['entityGraphic'])===null||_0x190d6f===void 0x0?void 0x0:_0x190d6f[_0x391a11(0xddc,_0x50ac18._0x5319be)],Boolean);}[_0x306755(0xe67,0xff6)](){const _0x4249ec={_0x1e33da:0x13ef,_0x2c41e6:0x2a5,_0x2765c5:0x1dda,_0xfed5a3:0xd85},_0x1e0ee0={_0x49d926:0x537};function _0x148da4(_0x172d89,_0x46c0e7){return _0x2b6441(_0x172d89,_0x46c0e7-0x31a);}var _0x1b6075;super[_0x148da4(_0x4249ec._0x1e33da,0xd6f)]();function _0xc02225(_0x2c6288,_0xe78b08){return _0x2b6441(_0xe78b08,_0x2c6288-_0x1e0ee0._0x49d926);}if(((_0x1b6075=this['_graphic']['_draw_holes'])===null||_0x1b6075===void 0x0?void 0x0:_0x1b6075['length'])>0x0)for(let _0x8f4525=0x0,_0x5c6c22=this[_0xc02225(0x57d,_0x4249ec._0x2c41e6)]['_draw_holes'][_0x148da4(0x150f,0x1374)];_0x8f4525<_0x5c6c22;_0x8f4525++){this[_0x148da4(_0x4249ec._0x2765c5,0x1635)](this['_graphic'][_0xc02225(_0x4249ec._0xfed5a3,0x100e)][_0x8f4525],_0x8f4525);}}[_0x2b6441(0xaaa,0x131b)](_0x2790c9,_0x1e31d3){const _0x259922={_0x2c4879:0x8e9,_0x168cd5:0xe70,_0x4e86c1:0x5c7,_0xd09097:0x10ff,_0x24d99f:0x397,_0x1d4abd:0xc8b,_0x30be62:0x3e9,_0x58a110:0x14c7,_0x13f8cd:0xbff,_0x5ce188:0x12dd},_0x99fa7e={_0xb11c7f:0x197f,_0xc6749d:0x1004},_0x2baa0b={_0xaeac87:0xee9},_0x33dd60={_0x3292be:0x9a2,_0x29d3c3:0xe80,_0x2c0762:0xdae},_0x3b5a9e={_0x1f71c9:0x158},_0x5362c4={_0x30c7d1:0x47d};function _0x51e5b8(_0x1fb55e,_0x56ec67){return _0x2b6441(_0x1fb55e,_0x56ec67-_0x5362c4._0x30c7d1);}function _0x64730d(_0x13f430,_0x405b42){return _0x2b6441(_0x13f430,_0x405b42-0x29f);}for(let _0x8c5bf1=0x0,_0x50eb42=_0x2790c9[_0x51e5b8(0x1b1d,0x14d7)];_0x8c5bf1<_0x50eb42;_0x8c5bf1++){const _0x204d04=this[_0x64730d(_0x259922._0x2c4879,0xd8c)](_0x2790c9[_0x8c5bf1]),_0xe15f6b=this[_0x51e5b8(_0x259922._0x168cd5,_0x259922._0x4e86c1)]({'position':_0x204d04,'onDrag':(_0x585470,_0x7d90f3)=>{_0x7d90f3=this[_0x20d705(_0x33dd60._0x3292be,_0x33dd60._0x29d3c3)](_0x7d90f3);function _0x20d705(_0x30fabb,_0x590eb1){return _0x64730d(_0x30fabb,_0x590eb1-0xf4);}_0x585470[_0x5247f5(0x651,0x104d)]=_0x7d90f3;function _0x5247f5(_0xc25979,_0x34ea75){return _0x64730d(_0xc25979,_0x34ea75-_0x3b5a9e._0x1f71c9);}_0x2790c9[_0x585470[_0x5247f5(0xc8c,_0x33dd60._0x2c0762)]]=_0x7d90f3;},'onDragEnd':(_0x5368b9,_0x4665f1)=>{function _0x1cb725(_0x2ebf16,_0xcd5be1){return _0x64730d(_0x2ebf16,_0xcd5be1- -0x6b);}this[_0x1cb725(0x9ca,0x356)]();}});_0xe15f6b['index']=_0x8c5bf1,this[_0x64730d(0x170c,_0x259922._0xd09097)][_0x64730d(-0x6dd,_0x259922._0x24d99f)](_0xe15f6b);if(this['hasMidPoint']&&(this[_0x51e5b8(0x1752,0xfc8)]||!this['hasClosure']&&_0x8c5bf1<_0x50eb42-0x1)){const _0x53d44a=(_0x8c5bf1+0x1)%_0x50eb42;let _0xedf204=getMidpoint(_0x204d04,_0x2790c9[_0x53d44a],this[_0x64730d(0x5e,0x95b)][_0x51e5b8(0x11da,_0x259922._0x1d4abd)]);_0xedf204=this['updatePositionsHeightByAttr'](_0xedf204);const _0x148ed5=this[_0x64730d(0xe3e,_0x259922._0x30be62)]({'position':_0xedf204,'type':EditPointType['AddMidPoint'],'tooltip':this[_0x64730d(0xfbf,_0x259922._0x58a110)]['getLangText'](_0x64730d(_0x259922._0x13f8cd,0x1624)),'onDragStart':(_0x3920ca,_0x333a05)=>{function _0x55387a(_0x2f953b,_0x50856e){return _0x64730d(_0x50856e,_0x2f953b-0x293);}_0x2790c9['splice'](_0x3920ca[_0x55387a(_0x2baa0b._0xaeac87,0x1186)],0x0,_0x333a05);},'onDrag':(_0x8a2880,_0x4ee826)=>{const _0x1cc6bd={_0x3cd915:0x1d0};function _0x3baa83(_0x28606,_0x3c9c04){return _0x51e5b8(_0x28606,_0x3c9c04-_0x1cc6bd._0x3cd915);}_0x2790c9[_0x8a2880[_0x3baa83(_0x99fa7e._0xb11c7f,_0x99fa7e._0xc6749d)]]=_0x4ee826;},'onDragEnd':(_0x5bff8d,_0x27a611)=>{const _0x5256d7={_0x3ced21:0x17};function _0x3de4d0(_0x125567,_0xd8ac6d){return _0x51e5b8(_0xd8ac6d,_0x125567- -_0x5256d7._0x3ced21);}this[_0x3de4d0(0x4e2,0x75f)](_0x5bff8d,_0x27a611),this['updateDraggers']();}});_0x148ed5['index']=_0x53d44a,this[_0x51e5b8(0x966,_0x259922._0x5ce188)]['push'](_0x148ed5);}}}}class PolygonEntity extends BasePolyEntity{constructor(_0x6ee780={}){const _0x22c095={_0x25a9cf:0x193d,_0x53b91c:0x14ee,_0x5576ce:0x5bc};super(_0x6ee780);function _0x30053f(_0x4e48c9,_0x2adf33){return _0x2b6441(_0x4e48c9,_0x2adf33-0x33b);}function _0x155a64(_0x1652c5,_0x17d64a){return _0x306755(_0x1652c5,_0x17d64a-0x42);}this[_0x30053f(_0x22c095._0x25a9cf,_0x22c095._0x53b91c)]=_0x6ee780[_0x155a64(0xc70,_0x22c095._0x5576ce)]??0x3,this['_clampToGround_reload']=!![];}get[_0x306755(-0x33,0xa7a)](){const _0x5f57d6={_0x946437:0x1544},_0x3d77eb={_0x2a2fdf:0x608};var _0x15433b;function _0x557cda(_0x286050,_0x5b4bd5){return _0x2b6441(_0x5b4bd5,_0x286050-0x6cb);}function _0x5eaf9e(_0x2064ea,_0x31ccae){return _0x306755(_0x2064ea,_0x31ccae- -_0x3d77eb._0x2a2fdf);}return(_0x15433b=this[_0x557cda(0xf90,_0x5f57d6._0x946437)])===null||_0x15433b===void 0x0?void 0x0:_0x15433b[_0x5eaf9e(0x6a4,0x920)];}get['EditClass'](){return EditPolygon;}get['center'](){const _0x4c073f={_0x1ccadf:0x1275,_0x264b20:0x1427},_0x2b43ad={_0x4ad5a6:0x243};function _0x2b3749(_0x228d53,_0x4e02be){return _0x306755(_0x4e02be,_0x228d53- -_0x2b43ad._0x4ad5a6);}return this[_0x2b3749(_0x4c073f._0x1ccadf,_0x4c073f._0x264b20)];}get['distance'](){return getDistance(this['positionsShow'],!![]);}get['positionsShow'](){function _0x2b55d0(_0x21f591,_0x341abb){return _0x2b6441(_0x341abb,_0x21f591-0x24a);}let _0x18be38=getCesiumValue(this['_positions']);if(_0x18be38 instanceof Cesium__namespace['PolygonHierarchy'])_0x18be38=_0x18be38['positions'];else _0x18be38 instanceof Cesium__namespace['Cartesian3']&&(_0x18be38=[_0x18be38]);return this[_0x2b55d0(0x899,0x122d)]??this['getShowPositions'](_0x18be38);}get[_0x306755(0x1477,0x18e5)](){var _0x30f590;return this['_hierarchy']||((_0x30f590=this['entityGraphic'])===null||_0x30f590===void 0x0?void 0x0:_0x30f590['hierarchy']);}get['positions'](){return this['_positions'];}set[_0x306755(0x1d84,0x1999)](_0x259588){const _0x466439={_0x10a96f:0x644,_0x3e6e35:0x126a,_0x35e20d:0x10b4,_0x52e2eb:0x1207,_0xc3f32f:0x79a,_0x3bf56d:0x8b7,_0x1416dd:0x1434,_0xc6c988:0x1508,_0x4e326e:0x13fc,_0x2c8716:0xecd,_0x1869ec:0xd89,_0x582236:0xe3a,_0x1bb213:0x345,_0x13cb11:0x65d,_0x28233f:0x424,_0x4b668e:0xd98},_0x4a5f71={_0xf01f5b:0x547},_0x1a61e9={_0x231f0e:0x764,_0x1fd082:0x3ad,_0x36d925:0x680},_0x43b347={_0x457441:0x565};var _0x3e94c4;function _0x166d73(_0x2223f6,_0xabf66e){return _0x306755(_0xabf66e,_0x2223f6- -_0x43b347._0x457441);}if(!_0x259588)return;!((_0x3e94c4=this['editing'])!==null&&_0x3e94c4!==void 0x0&&_0x3e94c4['enabled'])&&(this['_hierarchy']=null,this[_0x2e7516(_0x466439._0x10a96f,0x6a9)]=null);_0x259588 instanceof Cesium__namespace[_0x2e7516(-0x882,-0x74)]&&(this['_hierarchy']=_0x259588,_0x259588=this['_hierarchy']['positions']);if(Array['isArray'](_0x259588)){var _0x4b38e2;if(_0x259588[_0x2e7516(_0x466439._0x3e6e35,_0x466439._0x35e20d)]>0x0&&Array['isArray'](_0x259588[0x0])&&_0x259588[0x0][_0x2e7516(_0x466439._0x52e2eb,0x10b4)]>0x0){const _0x49a1ac=_0x259588[0x0][0x0];if(Array[_0x166d73(0x2cf,-0x2f)](_0x49a1ac)&&isNumber(_0x49a1ac[0x0]))this['_hierarchy']=getPolygonHierarchy(_0x259588,this['style']['height']||this[_0x2e7516(-0x641,0x30f)]['setHeight']||this[_0x166d73(0x2f1,-0x14b)]['addHeight']),_0x259588=this[_0x2e7516(_0x466439._0xc3f32f,_0x466439._0x3bf56d)][_0x166d73(_0x466439._0x1416dd,_0x466439._0xc6c988)];else(_0x49a1ac instanceof Cesium__namespace['Cartesian3']||_0x49a1ac instanceof LngLatPoint)&&(this[_0x166d73(0x899,-0xc1)]=getPolygonHierarchy2(_0x259588),_0x259588=this['_hierarchy'][_0x2e7516(_0x466439._0x4e326e,0x1452)]);}const _0x48717d=[],_0x5e4bb6=[];_0x259588['forEach']((_0x2c4bb4,_0x3cb783)=>{const _0x2e899b={_0x29b6a9:0xf6},_0x25a69d=LngLatPoint['parse'](_0x2c4bb4);if(!_0x25a69d)return;const _0x145018=this[_0x230807(0x175,-_0x1a61e9._0x231f0e)](this['style'],_0x3cb783);Cesium__namespace['defined'](_0x145018)&&(_0x25a69d['alt']=_0x145018);function _0x118af2(_0x322f57,_0x514b50){return _0x2e7516(_0x322f57,_0x514b50-0x15e);}const _0x117dc4=this['getAddHeight'](this[_0x230807(0x219,0x756)],_0x3cb783);Cesium__namespace['defined'](_0x117dc4)&&(_0x25a69d['alt']+=_0x117dc4);function _0x230807(_0x5b1758,_0x27a16b){return _0x2e7516(_0x27a16b,_0x5b1758- -_0x2e899b._0x29b6a9);}_0x48717d['push'](_0x25a69d),_0x5e4bb6[_0x118af2(0xc56,0x2b0)](_0x25a69d[_0x230807(_0x1a61e9._0x1fd082,-_0x1a61e9._0x36d925)]());}),this[_0x2e7516(0xb22,0x598)]=_0x48717d,(_0x4b38e2=this['editing'])!==null&&_0x4b38e2!==void 0x0&&_0x4b38e2[_0x2e7516(_0x466439._0x2c8716,_0x466439._0x1869ec)]?this[_0x2e7516(0x7f6,_0x466439._0x582236)]=_0x5e4bb6:this['_positions']=_0x5e4bb6;}else this[_0x166d73(0x56f,-_0x466439._0x1bb213)]=_0x259588;this['_entity']&&this[_0x2e7516(_0x466439._0x13cb11,_0x466439._0x28233f)]();function _0x2e7516(_0x4e08c4,_0x8d4bd2){return _0x306755(_0x4e08c4,_0x8d4bd2- -_0x4a5f71._0xf01f5b);}this[_0x166d73(0x324,0x91c)](EventType[_0x166d73(-0x9,-0x93a)],{'positions':this[_0x2e7516(_0x466439._0x4b668e,0x58d)]});}['getEntityPositions'](){return getPositions(this['_entity']);}[_0x306755(-0x43,0x6d9)](_0xb23780){const _0x3dbf9c={_0x38a00d:0x111e,_0x120686:0x802,_0x15f52f:0x967},_0x5de45a={_0x2a4a54:0x102};if(!_0xb23780||_0xb23780['length']===0x0)return _0xb23780;const _0x67f30a=[];return _0xb23780['forEach'](function(_0x511bf4){const _0x348aa3={_0x578ba7:0x3dc};function _0x54d6ab(_0x380cb7,_0x27e425){return _0x5bbe(_0x380cb7-_0x5de45a._0x2a4a54,_0x27e425);}function _0x3804bd(_0x5e466b,_0xb0720){return _0x5bbe(_0xb0720-_0x348aa3._0x578ba7,_0x5e466b);}_0x67f30a[_0x3804bd(_0x3dbf9c._0x38a00d,_0x3dbf9c._0x120686)](_0x511bf4[_0x3804bd(_0x3dbf9c._0x15f52f,0xa71)]());}),_0x67f30a;}[_0x306755(0x17bf,0x130c)](){const _0x47c685={_0x180375:0xf10,_0x5bb924:0xcdd,_0x2aed40:0x70c,_0x25d5a5:0x17bd,_0x3742fd:0x77b,_0x173a48:0x5b1,_0x118b3a:0x445,_0x46bfe7:0x8f8,_0x2413d8:0x3f9,_0x13416e:0x6d3,_0x33af2e:0x72e,_0x425120:0x30d,_0x2d9af4:0x3fc,_0x2a9cba:0x743},_0x48e816={_0x3d6aaf:0x128},_0x2ae93a={_0x4c980f:0xb7c,_0x1aa3c:0x156,_0x411cce:0xb22,_0x2d81c7:0x66d},_0x4f63d7={_0x9341e:0x9a},_0x25daae={_0x22a52b:0x7c},_0x5d4f71={'polygon':PolygonStyleConver['toCesiumVal'](this['style'],{},!![])};function _0x374a21(_0x81a45b,_0x139a53){return _0x2b6441(_0x81a45b,_0x139a53- -_0x25daae._0x22a52b);}if(this['_positions']instanceof Cesium__namespace['CallbackProperty']){const _0x5e8ef3=this['_positions'][_0xdf6893(_0x47c685._0x180375,0xc53)](this['_map'][_0x374a21(0xa78,0xd7d)]['currentTime']);if(_0x5e8ef3&&Array[_0xdf6893(_0x47c685._0x5bb924,_0x47c685._0x2aed40)](_0x5e8ef3)){const _0x554b98=new Cesium__namespace[(_0xdf6893(0x18a,0x3ab))]();_0x5d4f71[_0xdf6893(0x18d4,0xe00)]['hierarchy']=new Cesium__namespace[(_0x374a21(0xdf1,0x432))](_0x2628ef=>{var _0x5ed541;function _0x19fd82(_0x30a561,_0x9bd5c6){return _0x374a21(_0x9bd5c6,_0x30a561-0x6c5);}const _0x388d32=this[_0x19fd82(_0x2ae93a._0x4c980f,0x2aa)]['getValue'](_0x2628ef);this['_positions_show']=this[_0x448dd5(0x11b,_0x2ae93a._0x1aa3c)](_0x388d32);function _0x448dd5(_0xf7b7a5,_0x4dfba0){return _0x374a21(_0xf7b7a5,_0x4dfba0-_0x4f63d7._0x9341e);}_0x554b98['positions']=this['_positions_show'];if(this['_entity_outlines']&&((_0x5ed541=this['_positions_show'])===null||_0x5ed541===void 0x0?void 0x0:_0x5ed541['length'])>0x0){var _0x44bde4;((_0x44bde4=this['style']['outlineStyle'])===null||_0x44bde4===void 0x0?void 0x0:_0x44bde4[_0x19fd82(0x1841,0xe94)])??!![]?this[_0x19fd82(0x12b8,0x10e9)]=this['_positions_show']['concat'](this[_0x448dd5(_0x2ae93a._0x411cce,_0x2ae93a._0x2d81c7)][0x0]):this['outlinePositions']=this['_positions_show'];}return this['_updateLabelPosition'](),_0x554b98;},![]),this['_hierarchy']=_0x554b98;}else _0x5d4f71['polygon'][_0xdf6893(0x161b,_0x47c685._0x25d5a5)]=this['_positions'];}else this['_hierarchy']?_0x5d4f71['polygon'][_0xdf6893(0x1361,0x17bd)]=this[_0x374a21(0x380,0x7e1)]:(!this[_0xdf6893(0x316,0xac8)]&&(this['_positions_show']=this[_0xdf6893(_0x47c685._0x3742fd,_0x47c685._0x173a48)](this['positions'])),_0x5d4f71[_0x374a21(_0x47c685._0x118b3a,0x90b)]['hierarchy']=new Cesium__namespace['PolygonHierarchy'](this['_positions_show']));function _0xdf6893(_0x422895,_0x30fb45){return _0x306755(_0x422895,_0x30fb45- -_0x48e816._0x3d6aaf);}this['_entity']=this['_createEntity'](_0x5d4f71),this['_updateDiffHeight'](this['style'][_0xdf6893(0x1b6,_0x47c685._0x46bfe7)]),this[_0xdf6893(0x1c2d,0x1222)](),this['_updateOutlineStyle'](this[_0x374a21(-0x251,_0x47c685._0x2413d8)](),this[_0x374a21(-_0x47c685._0x13416e,0x239)]),this['_entity']['polygon']['hierarchy']instanceof Cesium__namespace[_0xdf6893(0x682,0x927)]&&this['_updateOutlineToCallback'](),this[_0xdf6893(0x333,_0x47c685._0x33af2e)][_0xdf6893(0x7e0,0x743)]&&this[_0x374a21(0x7fd,0x6a3)](this[_0xdf6893(_0x47c685._0x425120,0x72e)][_0xdf6893(_0x47c685._0x2d9af4,_0x47c685._0x2a9cba)]);}['_bindExType'](){const _0x514d76={_0x6976ef:0x1d8,_0x457ab0:0x1068,_0x1a33aa:0x1178,_0x570727:0x1d8,_0x3053dc:0xb37,_0x4a09ff:0x2be,_0x4a24d4:0x9a0,_0x4b73ab:0xb0a,_0x62d412:0x1236,_0x24ee0a:0x380,_0x4d81c2:0x6d1,_0x1e8333:0x33,_0x30120a:0x22,_0x22d76d:0x9a7,_0x4403ac:0xb0a},_0x5c0fe9={_0x2e6de1:0x35c},_0x3d2171={_0x43d5a0:0x521};function _0x5530cf(_0x49cc2e,_0xb355){return _0x306755(_0xb355,_0x49cc2e- -_0x3d2171._0x43d5a0);}const _0x2f3064=this['options'][_0x5530cf(_0x514d76._0x6976ef,0x8a7)]||this[_0x1cf30b(_0x514d76._0x457ab0,_0x514d76._0x1a33aa)][_0x1cf30b(0x901,0xe5d)][_0x5530cf(_0x514d76._0x570727,0x507)];function _0x1cf30b(_0x5ee4a7,_0x429b02){return _0x306755(_0x429b02,_0x5ee4a7- -_0x5c0fe9._0x2e6de1);}if(_0x2f3064&&(_0x2f3064[_0x5530cf(0xdaf,_0x514d76._0x3053dc)]??!![])){if(_0x2f3064['bottomHeight']){let _0x5ed582;if(isNumber(_0x2f3064[_0x1cf30b(_0x514d76._0x4a09ff,-0x15a)]))_0x5ed582=_0x2f3064['bottomHeight'];else isString(_0x2f3064['bottomHeight'])&&(_0x5ed582=Number(this[_0x1cf30b(_0x514d76._0x4a24d4,0x3d1)][_0x2f3064['bottomHeight']]||0x0));this[_0x1cf30b(_0x514d76._0x4b73ab,_0x514d76._0x62d412)][_0x5530cf(0xa07,_0x514d76._0x24ee0a)]['height']=_0x5ed582;}const _0x29c7c6=Number(this['attr'][_0x2f3064['cloumn']]||0x1);let _0x5beab6;if(isNumber(_0x2f3064[_0x5530cf(_0x514d76._0x4d81c2,-_0x514d76._0x1e8333)]))_0x5beab6=_0x2f3064[_0x5530cf(_0x514d76._0x4d81c2,_0x514d76._0x30120a)];else isString(_0x2f3064['height'])?_0x5beab6=this['attr'][_0x2f3064['height']]||_0x5beab6:_0x5beab6=3.5;const _0x126d37=getCesiumValue(this[_0x5530cf(0x945,_0x514d76._0x22d76d)]['polygon']['height'])||0x0;this[_0x1cf30b(_0x514d76._0x4403ac,0x13eb)]['polygon']['extrudedHeight']=_0x126d37+_0x29c7c6*_0x5beab6;}}['_updateDiffHeight'](_0x38c965){const _0x49d253={_0x41f810:0x99a,_0x228943:0xfaa};if(!Cesium__namespace['defined'](_0x38c965)||this[_0x5e4d95(0xe47,0x660)]['extrudedHeight']instanceof Cesium__namespace[_0x379f84(_0x49d253._0x41f810,_0x49d253._0x228943)])return;function _0x379f84(_0x4c78f0,_0x42d370){return _0x2b6441(_0x42d370,_0x4c78f0-0x4ec);}function _0x5e4d95(_0x470433,_0x32efeb){return _0x2b6441(_0x470433,_0x32efeb-0x187);}if(Cesium__namespace['defined'](_0x38c965)&&_0x38c965!==0x0){const _0x5d0703=this['getMaxHeight']();this['entityGraphic']['extrudedHeight']=_0x5d0703+_0x38c965;}else this['entityGraphic'][_0x379f84(0x14c4,0x17c9)]=undefined;}['getMaxHeight'](){const _0x208bdc={_0x102c8b:0x1683};let _0x30d8ba=0x0;Cesium__namespace[_0x17e0a9(_0x208bdc._0x102c8b,0x1c8b)](this['style']['height'])?_0x30d8ba=this['style']['height']:_0x30d8ba=getMaxHeight(this['_positions_draw']||this['_positions']);function _0x17e0a9(_0x53d1d3,_0x520ca1){return _0x306755(_0x520ca1,_0x53d1d3- -0x12f);}return _0x30d8ba;}[_0x2b6441(0x4d7,0x36)](_0x34250e,_0x474d23){return PolygonStyleConver['toJSON'](_0x34250e,_0x474d23,!![]);}[_0x2b6441(0x25c,0xabc)](_0x1a0d85,_0x2abb3c){const _0x280f0e={_0x30891c:0x11c5,_0x3260e9:0x69f},_0x3bd2ec={_0x238607:0x5ed};PolygonStyleConver['toCesiumVal'](_0x1a0d85,this['entityGraphic'],!![]);function _0x53e163(_0x557797,_0x217470){return _0x2b6441(_0x217470,_0x557797-0x220);}function _0x1aa8db(_0x572096,_0x442bfb){return _0x306755(_0x572096,_0x442bfb- -_0x3bd2ec._0x238607);}(Cesium__namespace[_0x1aa8db(0xe7f,_0x280f0e._0x30891c)](_0x2abb3c[_0x53e163(_0x280f0e._0x3260e9,0xc58)])||Cesium__namespace['defined'](_0x2abb3c['height']))&&this['_updateDiffHeight'](_0x2abb3c['diffHeight']);}['_updatePositionsHook'](){const _0x2edac5={_0x8f1d24:0xcc1,_0x22d6bd:0x11cc,_0x2d2f8f:0x1017,_0x52c72c:0x724,_0x589635:0x137a,_0x4e8f27:0x932,_0x17ac79:0x1a90,_0x571446:0x5ae,_0x3b0380:0xb93,_0x2aa3d9:0x724,_0x131b4d:0x570},_0x2c477d={_0x2a9d23:0x698};if(this['_positions']instanceof Cesium__namespace['CallbackProperty']){var _0x4a1fc4;this[_0x3dc4d2(_0x2edac5._0x8f1d24,0x5ae)]['hierarchy']=this['_positions'],(_0x4a1fc4=this[_0x3dc4d2(0x1528,_0x2edac5._0x22d6bd)])!==null&&_0x4a1fc4!==void 0x0&&_0x4a1fc4['enabled']&&this['_hierarchy']&&(this[_0x3dc4d2(_0x2edac5._0x2d2f8f,_0x2edac5._0x52c72c)]=this['getShowPositions'](this['_positions_draw']),this[_0x3dc4d2(_0x2edac5._0x589635,_0x2edac5._0x4e8f27)][_0x21e950(_0x2edac5._0x17ac79,0x11c2)]=this['_positions_show']);}else this['_hierarchy']?this['entityGraphic'][_0x21e950(0x19dc,0x19c8)]=this['_hierarchy']:(this['_positions_show']=this[_0x21e950(0x7d0,-0x29d)](this['positions']),this[_0x3dc4d2(0xa33,_0x2edac5._0x571446)][_0x3dc4d2(_0x2edac5._0x3b0380,0x1419)]=new Cesium__namespace['PolygonHierarchy'](this[_0x3dc4d2(0xdee,_0x2edac5._0x2aa3d9)]),this[_0x3dc4d2(0x1751,0x113a)]=![]);this['_updateOutlineStyle'](this['_getOutlinePositions'](),this['style']);function _0x3dc4d2(_0x32a04d,_0x17ab1a){return _0x2b6441(_0x32a04d,_0x17ab1a-0xd5);}function _0x21e950(_0x373e78,_0x13e71b){return _0x2b6441(_0x13e71b,_0x373e78-_0x2c477d._0x2a9d23);}this[_0x3dc4d2(0x16ea,0x1404)](),this['_updateDiffHeight'](this[_0x3dc4d2(-0x670,0x38a)]['diffHeight']),this[_0x21e950(_0x2edac5._0x131b4d,0x939)]();}['_getOutlinePositions'](){const _0x4b2eec={_0x356f83:0xec3};function _0x36ffce(_0x41382e,_0x3fdc7c){return _0x2b6441(_0x3fdc7c,_0x41382e-0x5fe);}return getAllPositions(this[_0x36ffce(_0x4b2eec._0x356f83,0xa8f)]);}['_getOutlineStyle'](_0x4ac82d,_0x2cbe43){const _0x46c296={_0x367cac:0x99c},_0x242da8={_0x792b16:0x34b};_0x4ac82d={..._0x4ac82d},delete _0x4ac82d[_0x1826e2(0xa87,0x1468)];function _0xb67821(_0x2c00d4,_0x5c9ceb){return _0x2b6441(_0x5c9ceb,_0x2c00d4-_0x242da8._0x792b16);}delete _0x4ac82d['setHeight'];function _0x1826e2(_0x166604,_0x3a878f){return _0x306755(_0x3a878f,_0x166604- -0x3fe);}return delete _0x4ac82d[_0xb67821(_0x46c296._0x367cac,0x143d)],super[_0x1826e2(0xc28,0x13bc)](_0x4ac82d,_0x2cbe43);}[_0x306755(0x792,0x579)](_0x5527d9){return super['toGeoJSON'](_0x5527d9);}['_getGeoJsonGeometry'](_0x526cb5){const _0x2ffdf9={_0x4786d8:0x15ab,_0x150bdc:0x13a9,_0x601ef8:0xa29,_0x386514:0x10f0,_0xf46ef9:0x1465},_0x15a4b2={_0x1b4ce4:0x3f0};function _0x17c793(_0x2befdb,_0xbdd63c){return _0x306755(_0x2befdb,_0xbdd63c- -0x1fe);}var _0x554ec7;let _0x5c1e6a=this['getCoordinates'](_0x526cb5===null||_0x526cb5===void 0x0?void 0x0:_0x526cb5[_0x17c793(_0x2ffdf9._0x4786d8,0xbf2)]);_0x526cb5!==null&&_0x526cb5!==void 0x0&&_0x526cb5[_0x1b9f23(_0x2ffdf9._0x150bdc,_0x2ffdf9._0x601ef8)]&&_0x5c1e6a[_0x17c793(0x154d,0x13fd)]>0x0&&_0x5c1e6a['push'](_0x5c1e6a[0x0]);function _0x1b9f23(_0x181b9d,_0x23c16){return _0x306755(_0x23c16,_0x181b9d- -_0x15a4b2._0x1b4ce4);}if(((_0x554ec7=this[_0x1b9f23(0xa0e,0x731)])===null||_0x554ec7===void 0x0||(_0x554ec7=_0x554ec7['holes'])===null||_0x554ec7===void 0x0?void 0x0:_0x554ec7[_0x1b9f23(0x120b,0x1543)])>0x0){_0x5c1e6a=[_0x5c1e6a];const _0x5d3fca=getHolesPositions(this['_entity']);_0x5d3fca[_0x1b9f23(0x850,_0x2ffdf9._0x386514)](_0x1f811e=>{function _0x4ddadc(_0x2b6404,_0x1a3417){return _0x17c793(_0x2b6404,_0x1a3417-0x1f2);}_0x5c1e6a[_0x4ddadc(-0x398,0x68d)](LngLatArray['toArray'](_0x1f811e));});const _0x3e6eef={};return _0x3e6eef[_0x17c793(0x185c,_0x2ffdf9._0xf46ef9)]='Polygon',_0x3e6eef['coordinates']=_0x5c1e6a,_0x3e6eef;}else{const _0x3d6158={};return _0x3d6158['type']='Polygon',_0x3d6158['coordinates']=[_0x5c1e6a],_0x3d6158;}}['setCallbackPositions'](_0x2b0a2e){const _0x120c68={_0x4aafbb:0x1895,_0x4e2145:0x1406},_0x54bc3d={_0x211af0:0x626},_0x2566fc={_0x5e3aa6:0x198,_0x217c93:0x3b5},_0x3444ac={_0x196698:0x28e};this['_setPositionsToCallback']();if(_0x2b0a2e){if(_0x2b0a2e){const _0x503b42=[],_0x21b6a4=[];_0x2b0a2e['forEach']((_0x2ad289,_0x18bfd9)=>{const _0x3ad487={_0x17a47b:0x370},_0x2137f0=LngLatPoint['parse'](_0x2ad289);if(!_0x2137f0)return;const _0x104f6b=this['getSetHeight'](this['style'],_0x18bfd9);function _0x2f5077(_0x2048b0,_0x3c0f9b){return _0x5bbe(_0x2048b0- -_0x3ad487._0x17a47b,_0x3c0f9b);}Cesium__namespace['defined'](_0x104f6b)&&(_0x2137f0['alt']=_0x104f6b);const _0x35f971=this['getAddHeight'](this['style'],_0x18bfd9);Cesium__namespace['defined'](_0x35f971)&&(_0x2137f0['alt']+=_0x35f971);_0x503b42[_0x51da86(_0x2566fc._0x5e3aa6,-0x52)](_0x2137f0);function _0x51da86(_0x59506c,_0x502396){return _0x5bbe(_0x59506c- -_0x3444ac._0x196698,_0x502396);}_0x21b6a4[_0x2f5077(0xb6,_0x2566fc._0x217c93)](_0x2137f0[_0x2f5077(0x407,0x704)]());}),this['_points']=_0x503b42,this[_0xb9b20a(_0x120c68._0x4aafbb,_0x120c68._0x4e2145)]=_0x21b6a4;}this['updateAttrForDrawing'](!![]),this['_updateLabelPosition']();}function _0xb9b20a(_0x2d9939,_0x2c6892){return _0x2b6441(_0x2d9939,_0x2c6892-_0x54bc3d._0x211af0);}return this['_positions_draw'];}[_0x2b6441(0x1150,0x839)](){return this['_hierarchy'];}[_0x306755(-0x2d1,0x670)](){const _0x2b5f40={_0x4ef47f:0xd18};super['_cancelPositionsCallback']();function _0x5ac0f1(_0x5c6055,_0x1fdd55){return _0x2b6441(_0x5c6055,_0x1fdd55-0x4bb);}this[_0x5ac0f1(0x1355,_0x2b5f40._0x4ef47f)]=null;}[_0x306755(0x434,0x671)](){const _0xc12f05={_0x550775:0xeac,_0x524d03:0xde8,_0x3afe4c:0x63e},_0x57f9f5={_0x30aec0:0x613},_0x162f92={_0x147175:0x4da};function _0x128002(_0x2328a7,_0xc4c588){return _0x2b6441(_0xc4c588,_0x2328a7-_0x162f92._0x147175);}function _0x2ed034(_0x521812,_0x33b9db){return _0x306755(_0x521812,_0x33b9db- -_0x57f9f5._0x30aec0);}super['_startDrawHook'](),this[_0x2ed034(-0x78b,0x327)]([new Cesium__namespace[(_0x128002(0x988,0xef6))](_0x4315bb=>{return this['outlinePositions'];},![])],this[_0x128002(0x78f,_0xc12f05._0x550775)],{'show':!![],'width':0x2,'color':this['style'][_0x128002(_0xc12f05._0x524d03,_0xc12f05._0x3afe4c)]});}['_setPositionsToCallback'](){const _0x58f5bf={_0x3aaf0a:0x1167},_0x5ebe16={_0x442560:0x102};function _0x24272d(_0x3fc462,_0x17a42b){return _0x2b6441(_0x17a42b,_0x3fc462-_0x5ebe16._0x442560);}if(this[_0x24272d(_0x58f5bf._0x3aaf0a,0x747)])return;this['_draw_holes']=getHolesPositions(this['_entity']),super['_setPositionsToCallback']();}['updateAttrForDrawing'](_0x40caec){const _0x2d2494={_0x4cebeb:0x18a3,_0x18ba28:0xabe,_0x5610fd:0x460,_0x5e0304:0x788,_0x51911a:0x169d,_0x3351aa:0x1a48,_0x6bbed6:0xeb7,_0x44581a:0xc9f,_0x143f0d:0xc9f,_0x324197:0xd2d,_0x3d7c2f:0x187b,_0x2b5a10:0x9e9},_0x2197a6={_0xdc0971:0x557},_0x367e3d={_0x38f284:0x41f};function _0x1fe218(_0x3b426b,_0x343212){return _0x2b6441(_0x343212,_0x3b426b-_0x367e3d._0x38f284);}var _0x373b88;if(!this[_0x3f9195(_0x2d2494._0x4cebeb,0xead)]){this[_0x3f9195(0x4aa,0xead)]=new Cesium__namespace[(_0x1fe218(0x351,0xa42))]();if(this['_draw_holes']){const _0x5eabc4=[];this[_0x1fe218(0xc6d,0xaa7)][_0x1fe218(_0x2d2494._0x18ba28,0x4fb)](_0x3289d4=>{function _0x5a967b(_0x5bdf42,_0x2ae987){return _0x1fe218(_0x5bdf42-0x40,_0x2ae987);}_0x5eabc4[_0x5a967b(_0x2197a6._0xdc0971,0xaa)](new Cesium__namespace['PolygonHierarchy'](_0x3289d4));}),this['_hierarchy']['holes']=_0x5eabc4;}}this[_0x3f9195(0x1574,0xc9f)]=this[_0x3f9195(_0x2d2494._0x5610fd,_0x2d2494._0x5e0304)](this[_0x1fe218(0x11ff,_0x2d2494._0x51911a)]),this['_hierarchy'][_0x3f9195(_0x2d2494._0x3351aa,0x1a48)]=this[_0x1fe218(0xa6e,0x1082)];if(((_0x373b88=this[_0x1fe218(0xa6e,0x142d)])===null||_0x373b88===void 0x0?void 0x0:_0x373b88['length'])>0x0){var _0x4d8cc3;((_0x4d8cc3=this[_0x3f9195(0x10b1,0x905)]['outlineStyle'])===null||_0x4d8cc3===void 0x0?void 0x0:_0x4d8cc3['closure'])??!![]?this['outlinePositions']=this['_positions_show']['concat'](this[_0x3f9195(_0x2d2494._0x6bbed6,_0x2d2494._0x44581a)][0x0]):this['outlinePositions']=this[_0x3f9195(0x8f9,_0x2d2494._0x143f0d)];}let _0x140c61;if(this['_positions_draw'][_0x3f9195(0x142d,0x16aa)]<this['_minPointNum']){const _0x24c7da={};_0x24c7da['show']=!![],_0x24c7da['width']=0x2,_0x24c7da['color']=this['style'][_0x1fe218(_0x2d2494._0x324197,0x503)],_0x140c61=_0x24c7da;}function _0x3f9195(_0x17e214,_0x5deaba){return _0x2b6441(_0x17e214,_0x5deaba-0x650);}this[_0x3f9195(_0x2d2494._0x3d7c2f,0x121e)](),this[_0x3f9195(0x1424,_0x2d2494._0x2b5a10)](null,this[_0x1fe218(0x6d4,0xf7b)],_0x140c61),this['_updateDiffHeight'](this['style'][_0x3f9195(0x505,0xacf)]);}['_getExSmallTooltip'](_0x135dc3,_0x330b9e=''){const _0x512439={_0x3af89f:0x1694,_0x3ed51d:0xf8c,_0x58e01d:0xf07,_0x2f11fb:0x13bb},_0x3b660b={_0x59a58c:0x4da};if(this['options'][_0x4727ea(0x703,0x8c2)]===![])return _0x330b9e;if(this['_positions_draw'][_0x4727ea(_0x512439._0x3af89f,0x1717)]<0x3)return _0x330b9e;function _0x419a0a(_0x4fc89d,_0x859f8){return _0x2b6441(_0x4fc89d,_0x859f8-_0x3b660b._0x59a58c);}function _0x4727ea(_0x2011b5,_0x237ba5){return _0x306755(_0x2011b5,_0x237ba5-0x11c);}const _0x40d2fe={'unit':this['options']['unit'],'getLangText':_0x8bcd5b=>{return this['_map']['getLangText'](_0x8bcd5b);},'decimal':this[_0x4727ea(_0x512439._0x3ed51d,0xd79)][_0x419a0a(_0x512439._0x58e01d,0x1747)]};return'<br\x20/>'+this['_map']['getLangText'](_0x419a0a(_0x512439._0x2f11fb,0xe7b))+':'+formatArea(this['area'],_0x40d2fe);}}register$5('polygon',PolygonEntity),PolygonEntity['getPositions']=getPositions,PolygonEntity[_0x306755(0x1a2d,0x1087)]=getAllPositions;class EllipseEntity extends CircleEntity{constructor(_0x20722b={}){super(_0x20722b),this['_maxPointNum']=0x3;}}register$5('ellipse',EllipseEntity,!![]);function RectangularSensorGraphics(_0x1d72b8){const _0x69fbb2={_0x28ba11:0x12db,_0x5260b1:0x14c6,_0x16a4fa:0x1b,_0x3196c7:0x647,_0x47f6c5:0x658,_0x230dc3:0x14db,_0x247857:0xe4d,_0xfd3ac:0x987,_0x10ed11:0xe06,_0x1fcd8b:0xc7a,_0x112ce4:0xf3a,_0x1e5bd4:0x1083,_0x371963:0xe51,_0x2a9477:0x1039,_0x5ae1f9:0xbd4,_0x523de3:0xe01,_0xb227:0x5bf},_0x24f6c2={_0x5decf5:0x6f8},_0x5e790f={_0xb0e4d9:0xd6};function _0x1e016f(_0x2c7f07,_0x35b153){return _0x306755(_0x35b153,_0x2c7f07- -_0x5e790f._0xb0e4d9);}this['_show']=undefined,this[_0x48064a(_0x69fbb2._0x28ba11,_0x69fbb2._0x5260b1)]=undefined,this['_xHalfAngle']=undefined,this['_yHalfAngle']=undefined,this['_lineColor']=undefined,this['_showSectorLines']=undefined,this[_0x1e016f(0x5cc,-_0x69fbb2._0x16a4fa)]=undefined,this['_showLateralSurfaces']=undefined,this[_0x1e016f(0x4ed,_0x69fbb2._0x3196c7)]=undefined,this[_0x1e016f(_0x69fbb2._0x47f6c5,-0x287)]=undefined,this['_showDomeLines']=undefined;function _0x48064a(_0x526ad1,_0x38794b){return _0x2b6441(_0x38794b,_0x526ad1-_0x24f6c2._0x5decf5);}this[_0x48064a(0xe18,_0x69fbb2._0x230dc3)]=undefined,this[_0x48064a(_0x69fbb2._0x247857,_0x69fbb2._0xfd3ac)]=undefined,this['_intersectionWidth']=undefined,this[_0x48064a(_0x69fbb2._0x10ed11,_0x69fbb2._0x1fcd8b)]=undefined,this['_gaze']=undefined,this['_showScanPlane']=undefined,this['_scanPlaneColor']=undefined,this['_scanPlaneMode']=undefined,this[_0x1e016f(_0x69fbb2._0x112ce4,0xfec)]=undefined,this[_0x48064a(0xcd6,0xe00)]=new Cesium__namespace[(_0x1e016f(_0x69fbb2._0x1e5bd4,0xe3d))](),this[_0x1e016f(_0x69fbb2._0x371963,_0x69fbb2._0x2a9477)](Cesium__namespace[_0x1e016f(_0x69fbb2._0x5ae1f9,0xcd9)](_0x1d72b8,Cesium__namespace[_0x48064a(_0x69fbb2._0x523de3,_0x69fbb2._0xb227)]['EMPTY_OBJECT']));}const _0x3db829={};_0x3db829['get']=function(){function _0xa804c(_0x45fa8f,_0x408c9d){return _0x2b6441(_0x45fa8f,_0x408c9d-0x25c);}return this[_0xa804c(0xc24,0x83a)];},Object['defineProperties'](RectangularSensorGraphics['prototype'],{'definitionChanged':_0x3db829,'show':Cesium__namespace[_0x306755(0x80f,0x11b4)](_0x306755(0x17e9,0x1593)),'radius':Cesium__namespace[_0x306755(0xc6e,0x11b4)]('radius'),'xHalfAngle':Cesium__namespace[_0x306755(0x14ae,0x11b4)]('xHalfAngle'),'yHalfAngle':Cesium__namespace[_0x2b6441(0xbfc,0xc13)](_0x306755(0x1732,0x19b2)),'lineColor':Cesium__namespace[_0x306755(0x16c1,0x11b4)]('lineColor'),'showSectorLines':Cesium__namespace['createPropertyDescriptor']('showSectorLines'),'showSectorSegmentLines':Cesium__namespace[_0x2b6441(0x1584,0xc13)]('showSectorSegmentLines'),'showLateralSurfaces':Cesium__namespace['createPropertyDescriptor'](_0x2b6441(-0x8b8,0xc)),'material':Cesium__namespace['createMaterialPropertyDescriptor']('material'),'showDomeSurfaces':Cesium__namespace['createPropertyDescriptor']('showDomeSurfaces'),'showDomeLines':Cesium__namespace['createPropertyDescriptor'](_0x2b6441(0x1b99,0x13da)),'showIntersection':Cesium__namespace['createPropertyDescriptor']('showIntersection'),'intersectionColor':Cesium__namespace['createPropertyDescriptor'](_0x2b6441(-0x4b0,0x2e6)),'intersectionWidth':Cesium__namespace[_0x2b6441(0x15e4,0xc13)]('intersectionWidth'),'showThroughEllipsoid':Cesium__namespace['createPropertyDescriptor']('showThroughEllipsoid'),'gaze':Cesium__namespace['createPropertyDescriptor'](_0x2b6441(0x67f,0x6aa)),'showScanPlane':Cesium__namespace['createPropertyDescriptor']('showScanPlane'),'scanPlaneColor':Cesium__namespace['createPropertyDescriptor']('scanPlaneColor'),'scanPlaneMode':Cesium__namespace[_0x306755(0x108c,0x11b4)]('scanPlaneMode'),'scanPlaneRate':Cesium__namespace[_0x2b6441(0x11e7,0xc13)](_0x306755(0xd7a,0x7f1))}),RectangularSensorGraphics['prototype'][_0x306755(-0x106,0x908)]=function(_0x5a19d0){const _0x3fc5c2={_0x1d3bce:0x5e1,_0x37e0e5:0x1007,_0x4cc1ef:0x1646,_0x11c72a:0x613,_0x14f069:0x370,_0x266bbd:0x4fc,_0x28f213:0x1e16,_0xfa7743:0x19ea,_0x3919e0:0xec5,_0x4bd812:0x956,_0x5c957d:0x10a9,_0x7430ce:0x7d6,_0x1e165a:0x6e7,_0x94a435:0x852,_0x31a8e3:0x5f,_0x488926:0x8d6};!Cesium__namespace['defined'](_0x5a19d0)&&(_0x5a19d0=new RectangularSensorGraphics());function _0x2b52a2(_0x15c8f2,_0x7f7606){return _0x2b6441(_0x15c8f2,_0x7f7606-0x4f0);}_0x5a19d0['show']=this['show'],_0x5a19d0[_0x27d496(_0x3fc5c2._0x1d3bce,0x2cd)]=this['radius'],_0x5a19d0[_0x2b52a2(_0x3fc5c2._0x37e0e5,_0x3fc5c2._0x4cc1ef)]=this['xHalfAngle'],_0x5a19d0['yHalfAngle']=this['yHalfAngle'],_0x5a19d0['lineColor']=this['lineColor'],_0x5a19d0['showSectorLines']=this[_0x27d496(-0x1ca,_0x3fc5c2._0x11c72a)],_0x5a19d0['showSectorSegmentLines']=this['showSectorSegmentLines'],_0x5a19d0[_0x2b52a2(_0x3fc5c2._0x14f069,_0x3fc5c2._0x266bbd)]=this['showLateralSurfaces'],_0x5a19d0[_0x2b52a2(_0x3fc5c2._0x28f213,0x18b0)]=this[_0x2b52a2(_0x3fc5c2._0xfa7743,0x18b0)],_0x5a19d0['showDomeSurfaces']=this[_0x2b52a2(_0x3fc5c2._0x3919e0,_0x3fc5c2._0x4bd812)],_0x5a19d0['showDomeLines']=this[_0x2b52a2(0x1f3a,0x18ca)],_0x5a19d0['showIntersection']=this['showIntersection'],_0x5a19d0['intersectionColor']=this[_0x2b52a2(_0x3fc5c2._0x5c957d,_0x3fc5c2._0x7430ce)],_0x5a19d0[_0x2b52a2(0x91,_0x3fc5c2._0x1e165a)]=this[_0x2b52a2(0x5c5,0x6e7)],_0x5a19d0['showThroughEllipsoid']=this['showThroughEllipsoid'],_0x5a19d0[_0x27d496(0x11ce,_0x3fc5c2._0x94a435)]=this['gaze'],_0x5a19d0[_0x27d496(-_0x3fc5c2._0x31a8e3,0xa73)]=this['showScanPlane'],_0x5a19d0['scanPlaneColor']=this['scanPlaneColor'];function _0x27d496(_0x52f8ea,_0x1c898f){return _0x306755(_0x52f8ea,_0x1c898f- -0x3f9);}return _0x5a19d0[_0x2b52a2(0x119e,0xc1e)]=this[_0x27d496(0x11c0,_0x3fc5c2._0x488926)],_0x5a19d0['scanPlaneRate']=this[_0x27d496(-0x69b,0x3f8)],_0x5a19d0;},RectangularSensorGraphics['prototype'][_0x2b6441(0x258,0x986)]=function(_0x175499){const _0x4cb63f={_0x1d1f6e:0x9ab,_0x18c77d:0x1401,_0x207e18:0x13ee,_0x214205:0x728,_0x41959d:0xf1e,_0x310e40:0xd74,_0x2c133f:0x1aeb,_0x2a366e:0x1552,_0x1e97b3:0x1820,_0x50a844:0xcde,_0x5d3460:0xb18,_0x231661:0x1820,_0x3f697c:0x1324,_0x210c19:0x867,_0x505486:0x8df,_0x12f6b0:0xf55,_0x489edd:0x1975,_0x5d7351:0x12c8,_0x2109eb:0x19d,_0x400fbd:0xabf,_0x4698cb:0x41b,_0x2ea7fa:0xb05,_0x11d364:0x17cf,_0x14c6be:0x1eb3,_0x512a64:0x8aa,_0x2b46d7:0x2c6,_0x3de363:0x875,_0x221594:0x750,_0x50ec3c:0x5f3,_0x420409:0x75d,_0x48d250:0x1251},_0x524a52={_0x494e21:0x3fc},_0x1f3eb0={_0x167462:0x192};if(!Cesium__namespace['defined'](_0x175499))throw new Cesium__namespace['DeveloperError']('source\x20is\x20required.');this['slice']=Cesium__namespace['defaultValue'](this['slice'],_0x175499['slice']),this['show']=Cesium__namespace[_0x1209a1(0x346,0xb05)](this[_0x1b5716(_0x4cb63f._0x1d1f6e,_0x4cb63f._0x18c77d)],_0x175499[_0x1209a1(0x1d8d,_0x4cb63f._0x207e18)]),this[_0x1209a1(_0x4cb63f._0x214205,0x521)]=Cesium__namespace[_0x1209a1(_0x4cb63f._0x41959d,0xb05)](this['radius'],_0x175499[_0x1209a1(_0x4cb63f._0x310e40,0x521)]),this['xHalfAngle']=Cesium__namespace['defaultValue'](this['xHalfAngle'],_0x175499[_0x1209a1(_0x4cb63f._0x2c133f,_0x4cb63f._0x2a366e)]),this[_0x1b5716(0x1566,_0x4cb63f._0x1e97b3)]=Cesium__namespace[_0x1b5716(_0x4cb63f._0x50a844,_0x4cb63f._0x5d3460)](this[_0x1b5716(0x1a0c,_0x4cb63f._0x231661)],_0x175499['yHalfAngle']),this[_0x1209a1(0x1211,0x1087)]=Cesium__namespace['defaultValue'](this['lineColor'],_0x175499['lineColor']);function _0x1b5716(_0x553d27,_0x400c2f){return _0x306755(_0x553d27,_0x400c2f- -_0x1f3eb0._0x167462);}this[_0x1209a1(_0x4cb63f._0x3f697c,_0x4cb63f._0x210c19)]=Cesium__namespace[_0x1b5716(0x403,_0x4cb63f._0x5d3460)](this['showSectorLines'],_0x175499['showSectorLines']),this['showSectorSegmentLines']=Cesium__namespace['defaultValue'](this[_0x1209a1(_0x4cb63f._0x505486,_0x4cb63f._0x12f6b0)],_0x175499[_0x1b5716(_0x4cb63f._0x489edd,0xf68)]),this[_0x1b5716(0x54,0x41b)]=Cesium__namespace[_0x1b5716(_0x4cb63f._0x5d7351,0xb18)](this[_0x1209a1(_0x4cb63f._0x2109eb,0x408)],_0x175499[_0x1b5716(_0x4cb63f._0x400fbd,_0x4cb63f._0x4698cb)]),this['material']=Cesium__namespace[_0x1209a1(0x1127,_0x4cb63f._0x2ea7fa)](this[_0x1b5716(0xe02,_0x4cb63f._0x11d364)],_0x175499[_0x1b5716(_0x4cb63f._0x14c6be,_0x4cb63f._0x11d364)]);function _0x1209a1(_0x7785d,_0x1e9cd3){return _0x2b6441(_0x7785d,_0x1e9cd3-_0x524a52._0x494e21);}this[_0x1209a1(_0x4cb63f._0x512a64,0x862)]=Cesium__namespace['defaultValue'](this['showDomeSurfaces'],_0x175499[_0x1b5716(_0x4cb63f._0x2b46d7,_0x4cb63f._0x3de363)]),this['showDomeLines']=Cesium__namespace['defaultValue'](this['showDomeLines'],_0x175499['showDomeLines']),this[_0x1209a1(0x545,0xb10)]=Cesium__namespace[_0x1b5716(_0x4cb63f._0x221594,_0x4cb63f._0x5d3460)](this['showIntersection'],_0x175499['showIntersection']),this[_0x1b5716(-0x25b,0x6f5)]=Cesium__namespace[_0x1209a1(0x874,0xb05)](this[_0x1b5716(-0x213,0x6f5)],_0x175499['intersectionColor']),this[_0x1209a1(0xeb1,_0x4cb63f._0x50ec3c)]=Cesium__namespace['defaultValue'](this[_0x1b5716(_0x4cb63f._0x420409,0x606)],_0x175499['intersectionWidth']),this['showThroughEllipsoid']=Cesium__namespace['defaultValue'](this[_0x1b5716(0x1d19,0x1413)],_0x175499['showThroughEllipsoid']),this['gaze']=Cesium__namespace[_0x1209a1(_0x4cb63f._0x48d250,0xb05)](this['gaze'],_0x175499['gaze']),this['showScanPlane']=Cesium__namespace[_0x1b5716(0x15c4,0xb18)](this['showScanPlane'],_0x175499['showScanPlane']),this['scanPlaneColor']=Cesium__namespace['defaultValue'](this[_0x1209a1(0xaae,0xf50)],_0x175499[_0x1b5716(0x1276,0xf63)]),this['scanPlaneMode']=Cesium__namespace['defaultValue'](this[_0x1209a1(0x926,0xb2a)],_0x175499['scanPlaneMode']),this['scanPlaneRate']=Cesium__namespace['defaultValue'](this['scanPlaneRate'],_0x175499['scanPlaneRate']);};var RectangularSensorVS='in\x20vec4\x20position;\x0ain\x20vec3\x20normal;\x0aout\x20vec3\x20v_position;\x0aout\x20vec3\x20v_positionWC;\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec3\x20v_normalEC;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20position;\x0a\x20\x20v_position\x20=\x20vec3(position);\x0a\x20\x20v_positionWC\x20=\x20(czm_model\x20*\x20position).xyz;\x0a\x20\x20v_positionEC\x20=\x20(czm_modelView\x20*\x20position).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a}\x0a',RectangularSensorFS='uniform\x20bool\x20u_showIntersection;\x0auniform\x20bool\x20u_showThroughEllipsoid;\x0a\x0auniform\x20float\x20u_radius;\x0auniform\x20float\x20u_xHalfAngle;\x0auniform\x20float\x20u_yHalfAngle;\x0auniform\x20float\x20u_normalDirection;\x0auniform\x20float\x20u_type;\x0a\x0ain\x20vec3\x20v_position;\x0ain\x20vec3\x20v_positionWC;\x0ain\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0a\x0avec4\x20getColor(float\x20sensorRadius,\x20vec3\x20pointEC)\x20{\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x0a\x20\x20vec3\x20pointMC\x20=\x20(czm_inverseModelView\x20*\x20vec4(pointEC,\x201.0)).xyz;\x0a\x20\x20materialInput.st\x20=\x20sensor2dTextureCoordinates(sensorRadius,\x20pointMC);\x0a\x20\x20materialInput.str\x20=\x20pointMC\x20/\x20sensorRadius;\x0a\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x0a\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20materialInput.normalEC\x20=\x20u_normalDirection\x20*\x20normalEC;\x0a\x0a\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20\x20\x20//\x20czm_lightDirectionEC在cesium1.66开始加入的\x0a\x20\x20return\x20mix(czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC),\x20vec4(material.diffuse,\x20material.alpha),\x200.4);\x0a\x0a}\x0a\x0abool\x20isOnBoundary(float\x20value,\x20float\x20epsilon)\x20{\x0a\x20\x20float\x20width\x20=\x20getIntersectionWidth();\x0a\x20\x20float\x20tolerance\x20=\x20width\x20*\x20epsilon;\x0a\x0a\x20\x20float\x20delta\x20=\x20max(abs(dFdx(value)),\x20abs(dFdy(value)));\x0a\x20\x20float\x20pixels\x20=\x20width\x20*\x20delta;\x0a\x20\x20float\x20temp\x20=\x20abs(value);\x0a\x20\x20return\x20temp\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels\x20||\x20(delta\x20<\x2010.0\x20*\x20tolerance\x20&&\x20temp\x20-\x20delta\x20<\x20tolerance\x20&&\x20temp\x20<\x20pixels);\x0a}\x0a\x0avec4\x20shade(bool\x20isOnBoundary)\x20{\x0a\x20\x20if(u_showIntersection\x20&&\x20isOnBoundary)\x20{\x0a\x20\x20\x20\x20return\x20getIntersectionColor();\x0a\x20\x20}\x0a\x20\x20if(u_type\x20==\x201.0)\x20{\x0a\x20\x20\x20\x20return\x20getLineColor();\x0a\x20\x20}\x0a\x20\x20return\x20getColor(u_radius,\x20v_positionEC);\x0a}\x0a\x0afloat\x20ellipsoidSurfaceFunction(vec3\x20point)\x20{\x0a\x20\x20vec3\x20scaled\x20=\x20czm_ellipsoidInverseRadii\x20*\x20point;\x0a\x20\x20return\x20dot(scaled,\x20scaled)\x20-\x201.0;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20sensorVertexWC\x20=\x20czm_model[3].xyz;\x20\x20\x20\x20\x20\x20//\x20(0.0,\x200.0,\x200.0)\x20in\x20model\x20coordinates\x0a\x0a\x20\x20float\x20positionX\x20=\x20v_position.x;\x0a\x20\x20float\x20positionY\x20=\x20v_position.y;\x0a\x20\x20float\x20positionZ\x20=\x20v_position.z;\x0a\x0a\x20\x20vec3\x20zDir\x20=\x20vec3(0.0,\x200.0,\x201.0);\x0a\x20\x20vec3\x20lineX\x20=\x20vec3(positionX,\x200,\x20positionZ);\x0a\x20\x20vec3\x20lineY\x20=\x20vec3(0,\x20positionY,\x20positionZ);\x0a\x20\x20float\x20resX\x20=\x20dot(normalize(lineX),\x20zDir);\x0a\x20\x20if(resX\x20<\x20cos(u_xHalfAngle)\x20-\x200.00001)\x20{\x0a\x20\x20\x20\x20discard;\x0a\x20\x20}\x0a\x20\x20float\x20resY\x20=\x20dot(normalize(lineY),\x20zDir);\x0a\x20\x20if(resY\x20<\x20cos(u_yHalfAngle)\x20-\x200.00001)\x20{\x0a\x20\x20\x20\x20discard;\x0a\x20\x20}\x0a\x0a\x20\x20float\x20ellipsoidValue\x20=\x20ellipsoidSurfaceFunction(v_positionWC);\x0a\x20\x20if(!u_showThroughEllipsoid)\x20{\x0a\x20\x20\x20\x20if(ellipsoidValue\x20<\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if(inSensorShadow(sensorVertexWC,\x20v_positionWC))\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x0a\x20\x20bool\x20isOnEllipsoid\x20=\x20isOnBoundary(ellipsoidValue,\x20czm_epsilon3);\x0a\x20\x20out_FragColor\x20=\x20shade(isOnEllipsoid);\x0a}\x0a',RectangularSensor$1='uniform\x20vec4\x20u_intersectionColor;\x0auniform\x20float\x20u_intersectionWidth;\x0auniform\x20vec4\x20u_lineColor;\x0a\x0abool\x20inSensorShadow(vec3\x20coneVertexWC,\x20vec3\x20pointWC)\x20{\x0a\x20\x20\x20\x20//\x20Diagonal\x20matrix\x20from\x20the\x20unscaled\x20ellipsoid\x20space\x20to\x20the\x20scaled\x20space.\x0a\x20\x20vec3\x20D\x20=\x20czm_ellipsoidInverseRadii;\x0a\x0a\x20\x20\x20\x20//\x20Sensor\x20vertex\x20in\x20the\x20scaled\x20ellipsoid\x20space\x0a\x20\x20vec3\x20q\x20=\x20D\x20*\x20coneVertexWC;\x0a\x20\x20float\x20qMagnitudeSquared\x20=\x20dot(q,\x20q);\x0a\x20\x20float\x20test\x20=\x20qMagnitudeSquared\x20-\x201.0;\x0a\x0a\x20\x20\x20\x20//\x20Sensor\x20vertex\x20to\x20fragment\x20vector\x20in\x20the\x20ellipsoid\x27s\x20scaled\x20space\x0a\x20\x20vec3\x20temp\x20=\x20D\x20*\x20pointWC\x20-\x20q;\x0a\x20\x20float\x20d\x20=\x20dot(temp,\x20q);\x0a\x0a\x20\x20\x20\x20//\x20Behind\x20silhouette\x20plane\x20and\x20inside\x20silhouette\x20cone\x0a\x20\x20return\x20(d\x20<\x20-test)\x20&&\x20(d\x20/\x20length(temp)\x20<\x20-sqrt(test));\x0a}\x0a\x0a\x0avec4\x20getLineColor()\x20{\x0a\x20\x20return\x20u_lineColor;\x0a}\x0a\x0avec4\x20getIntersectionColor()\x20{\x0a\x20\x20return\x20u_intersectionColor;\x0a}\x0a\x0afloat\x20getIntersectionWidth()\x20{\x0a\x20\x20return\x20u_intersectionWidth;\x0a}\x0a\x0avec2\x20sensor2dTextureCoordinates(float\x20sensorRadius,\x20vec3\x20pointMC)\x20{\x0a\x20\x20\x20\x20//\x20(s,\x20t)\x20both\x20in\x20the\x20range\x20[0,\x201]\x0a\x20\x20float\x20t\x20=\x20pointMC.z\x20/\x20sensorRadius;\x0a\x20\x20float\x20s\x20=\x201.0\x20+\x20(atan(pointMC.y,\x20pointMC.x)\x20/\x20czm_twoPi);\x0a\x20\x20s\x20=\x20s\x20-\x20floor(s);\x0a\x0a\x20\x20return\x20vec2(s,\x20t);\x0a}\x0a',RectangularSensorScanPlaneFS=_0x306755(-0x232,0x897);const BoundingSphere$1=Cesium__namespace['BoundingSphere'],Cartesian3$4=Cesium__namespace[_0x2b6441(-0x33e,0x480)],Color$1=Cesium__namespace['Color'],combine$1=Cesium__namespace[_0x306755(0x15ea,0xce6)],ComponentDatatype$1=Cesium__namespace['ComponentDatatype'],defaultValue$2=Cesium__namespace[_0x306755(0xa59,0xcaa)],defined$4=Cesium__namespace['defined'],DeveloperError$1=Cesium__namespace['DeveloperError'],Matrix4$2=Cesium__namespace['Matrix4'],PrimitiveType$1=Cesium__namespace[_0x2b6441(0xa7b,0x750)],Buffer=Cesium__namespace['Buffer'],BufferUsage=Cesium__namespace[_0x306755(0xd32,0x917)],DrawCommand=Cesium__namespace[_0x306755(0x49,0x7c2)],Pass=Cesium__namespace['Pass'],RenderState=Cesium__namespace['RenderState'],ShaderProgram=Cesium__namespace['ShaderProgram'],ShaderSource=Cesium__namespace['ShaderSource'],VertexArray=Cesium__namespace['VertexArray'],BlendingState=Cesium__namespace['BlendingState'],CullFace=Cesium__namespace['CullFace'],Material=Cesium__namespace[_0x306755(0x19b0,0xf07)],SceneMode$1=Cesium__namespace['SceneMode'],VertexFormat$1=Cesium__namespace['VertexFormat'],CesiumMath$2=Cesium__namespace[_0x2b6441(0x138e,0xdca)],Matrix3$2=Cesium__namespace[_0x306755(0xcbd,0x13b0)],JulianDate=Cesium__namespace['JulianDate'],sin=Math[_0x2b6441(-0x3c6,0x39c)],cos=Math['cos'],tan=Math['tan'],atan=Math['atan'],_0x59deea={};_0x59deea['position']=0x0,_0x59deea['normal']=0x1;const attributeLocations=_0x59deea;function RectangularSensorPrimitive(_0x5a3a36){const _0x4a7ad7={_0x4f31bd:0x122a,_0x423b22:0x17ef,_0x36da45:0x14eb,_0x494c50:0x835,_0x4b98fb:0xfa6,_0x1a5c83:0xa9c,_0x2ad165:0x18df,_0xc95f85:0xecd,_0x13f2c1:0x46d,_0x53b7eb:0x12ae,_0x409852:0x14af,_0x31dc8e:0x1ba4,_0x25a23a:0x18b9,_0x330d82:0x172d,_0x1a152d:0x4f6,_0x361cd6:0x8ad,_0x32c67a:0x5e1,_0x780fc4:0xf5b,_0x3db9d8:0xc0d,_0x271c5e:0x1daf,_0x34f060:0x18d3,_0x513d18:0x598,_0x32a7ae:0x7b4,_0x173cc5:0x12c,_0x3e29a5:0x14d2,_0x39820b:0x1b2f,_0x4e04f9:0x1967,_0x43690d:0x104d,_0x45ab0d:0x1022,_0x58ed86:0x18db,_0x2a1fc5:0x125c,_0xe88290:0xe9c,_0x2156f1:0xde0,_0x1e941a:0x1582,_0xb06071:0xd5f,_0x3af8ac:0x405,_0x21bd80:0x2149,_0x2d5058:0x405,_0x2d4f6d:0x17cf,_0x5899ae:0x6b2,_0x142922:0xde0,_0x3053c7:0xa52,_0x294fbd:0xf8e,_0x5ad3e8:0xa5f,_0x81fda1:0xbe9,_0x5a45e4:0x9f4,_0x47fab9:0x153f,_0x4bb2aa:0x157b,_0x311ad9:0x526,_0x19fc97:0xf73},_0x36400f={_0x468392:0x287,_0x3007c9:0x75c},_0x2b0b58={_0x544614:0x18b},_0x427e69={_0x387c0e:0x3d8},_0x2c0e27={_0xbd4855:0x2e5},_0x5772d2={_0x33cc2b:0x4ce},_0x195e3d=this;_0x5a3a36=defaultValue$2(_0x5a3a36,defaultValue$2[_0x2216f0(0x9b0,_0x4a7ad7._0x4f31bd)]),this[_0x5b0659(_0x4a7ad7._0x423b22,_0x4a7ad7._0x36da45)]=defaultValue$2(_0x5a3a36['show'],!![]),this['slice']=defaultValue$2(_0x5a3a36['slice'],0x20),this['modelMatrix']=Matrix4$2[_0x2216f0(_0x4a7ad7._0x494c50,_0x4a7ad7._0x4b98fb)](_0x5a3a36['modelMatrix'],new Matrix4$2()),this['_modelMatrix']=new Matrix4$2(),this['_computedModelMatrix']=new Matrix4$2(),this['_computedScanPlaneModelMatrix']=new Matrix4$2(),this['radius']=defaultValue$2(_0x5a3a36['radius'],Number['POSITIVE_INFINITY']),this['_radius']=undefined,this['xHalfAngle']=defaultValue$2(_0x5a3a36['xHalfAngle'],0x0),this[_0x5b0659(_0x4a7ad7._0x1a5c83,0xe31)]=undefined,this['yHalfAngle']=defaultValue$2(_0x5a3a36[_0x2216f0(_0x4a7ad7._0x2ad165,0x20bb)],0x0),this[_0x2216f0(0xd32,_0x4a7ad7._0xc95f85)]=undefined,this['lineColor']=defaultValue$2(_0x5a3a36['lineColor'],Color$1['WHITE']),this[_0x2216f0(0x939,0x7a3)]=defaultValue$2(_0x5a3a36[_0x2216f0(0x939,_0x4a7ad7._0x13f2c1)],!![]),this[_0x2216f0(0x1027,_0x4a7ad7._0x53b7eb)]=defaultValue$2(_0x5a3a36[_0x2216f0(0x1027,_0x4a7ad7._0x409852)],!![]),this[_0x2216f0(0x4da,0x988)]=defaultValue$2(_0x5a3a36['showLateralSurfaces'],!![]),this['material']=defined$4(_0x5a3a36[_0x5b0659(_0x4a7ad7._0x31dc8e,_0x4a7ad7._0x25a23a)])?_0x5a3a36['material']:Material[_0x2216f0(_0x4a7ad7._0x330d82,0xf99)](Material['ColorType']),this[_0x2216f0(0x4f0,0x5af)]=undefined,this['_translucent']=undefined,this['lateralSurfaceMaterial']=defined$4(_0x5a3a36['lateralSurfaceMaterial'])?_0x5a3a36[_0x5b0659(_0x4a7ad7._0x1a152d,_0x4a7ad7._0x361cd6)]:Material['fromType'](Material[_0x2216f0(0x1235,0x193a)]),this['_lateralSurfaceMaterial']=undefined,this[_0x2216f0(0xc91,0x3ef)]=undefined,this['showDomeSurfaces']=defaultValue$2(_0x5a3a36[_0x5b0659(0x110c,0x95f)],!![]),this[_0x5b0659(0x1c7,_0x4a7ad7._0x32c67a)]=defined$4(_0x5a3a36['domeSurfaceMaterial'])?_0x5a3a36[_0x2216f0(0x5b6,_0x4a7ad7._0x780fc4)]:Material[_0x2216f0(0x172d,0x20ff)](Material['ColorType']),this[_0x2216f0(_0x4a7ad7._0x3db9d8,0xbff)]=undefined,this['showDomeLines']=defaultValue$2(_0x5a3a36[_0x5b0659(_0x4a7ad7._0x271c5e,_0x4a7ad7._0x34f060)],!![]),this[_0x5b0659(_0x4a7ad7._0x513d18,0xc0d)]=defaultValue$2(_0x5a3a36['showIntersection'],!![]),this[_0x2216f0(_0x4a7ad7._0x32a7ae,0x1a3)]=defaultValue$2(_0x5a3a36['intersectionColor'],Color$1['WHITE']),this['intersectionWidth']=defaultValue$2(_0x5a3a36[_0x5b0659(-_0x4a7ad7._0x173cc5,0x6f0)],0x5),this[_0x2216f0(_0x4a7ad7._0x3e29a5,_0x4a7ad7._0x39820b)]=defaultValue$2(_0x5a3a36[_0x5b0659(0x1490,0x14fd)],![]),this['_showThroughEllipsoid']=undefined,this['showScanPlane']=defaultValue$2(_0x5a3a36['showScanPlane'],!![]),this[_0x5b0659(_0x4a7ad7._0x4e04f9,_0x4a7ad7._0x43690d)]=defaultValue$2(_0x5a3a36[_0x2216f0(_0x4a7ad7._0x45ab0d,_0x4a7ad7._0x58ed86)],Color$1['WHITE']),this[_0x2216f0(0xbfc,0x14cd)]=defaultValue$2(_0x5a3a36['scanPlaneMode'],'horizontal'),this[_0x5b0659(0xb70,0x749)]=defaultValue$2(_0x5a3a36['scanPlaneRate'],0xa),this[_0x5b0659(_0x4a7ad7._0x2a1fc5,0xa04)]=0x0,this[_0x5b0659(0x1977,0x1820)]=0x0,this['_time']=JulianDate['now'](),this['_boundingSphere']=new BoundingSphere$1(),this['_boundingSphereWC']=new BoundingSphere$1(),this[_0x2216f0(0xe1b,_0x4a7ad7._0xe88290)]=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this['_boundingSphereWC']}),this['_sectorBackCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1[_0x2216f0(_0x4a7ad7._0x2156f1,0x15f8)],'boundingVolume':this['_boundingSphereWC']}),this[_0x5b0659(0x1b94,_0x4a7ad7._0x1e941a)]=undefined,this[_0x2216f0(0x4ee,0xc04)]=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['LINES'],'boundingVolume':this[_0x2216f0(0x3da,_0x4a7ad7._0xb06071)]}),this['_sectorLineVA']=undefined,this['_sectorSegmentLineCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['LINES'],'boundingVolume':this[_0x5b0659(0x1b9,_0x4a7ad7._0x3af8ac)]}),this[_0x5b0659(_0x4a7ad7._0x21bd80,0x1941)]=undefined;function _0x5b0659(_0x29baab,_0x4d277e){return _0x306755(_0x29baab,_0x4d277e- -0xa8);}this['_domeFrontCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this[_0x5b0659(-0x69a,_0x4a7ad7._0x2d5058)]}),this['_domeBackCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1[_0x2216f0(0xde0,_0x4a7ad7._0x2d4f6d)],'boundingVolume':this['_boundingSphereWC']}),this['_domeVA']=undefined,this[_0x5b0659(0xaf2,0xa0d)]=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1[_0x5b0659(_0x4a7ad7._0x5899ae,0x975)],'boundingVolume':this['_boundingSphereWC']}),this['_domeLineVA']=undefined,this[_0x2216f0(0x147a,0x1d31)]=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1['TRIANGLES'],'boundingVolume':this['_boundingSphereWC']}),this['_scanPlaneBackCommand']=new DrawCommand({'owner':this,'primitiveType':PrimitiveType$1[_0x2216f0(_0x4a7ad7._0x142922,0xcdb)],'boundingVolume':this['_boundingSphereWC']}),this[_0x5b0659(_0x4a7ad7._0x3053c7,0xf50)]=undefined,this['_colorCommands']=[],this[_0x2216f0(0x14ac,0xc19)]=undefined,this['_backFaceRS']=undefined,this[_0x2216f0(_0x4a7ad7._0x294fbd,0x181a)]=undefined;const _0x58f683={};_0x58f683['u_type']=function(){return 0x0;};function _0x2216f0(_0x451033,_0x35038f){return _0x2b6441(_0x35038f,_0x451033-_0x5772d2._0x33cc2b);}_0x58f683['u_xHalfAngle']=function(){return _0x195e3d['xHalfAngle'];},_0x58f683['u_yHalfAngle']=function(){return _0x195e3d['yHalfAngle'];},_0x58f683['u_radius']=function(){function _0x3cc4f3(_0x444c86,_0x8b3688){return _0x5b0659(_0x444c86,_0x8b3688- -0xda);}return _0x195e3d[_0x3cc4f3(_0x2c0e27._0xbd4855,0x544)];},_0x58f683['u_showThroughEllipsoid']=function(){return _0x195e3d['showThroughEllipsoid'];},_0x58f683['u_showIntersection']=function(){function _0x3db562(_0x4dcf05,_0x2106f3){return _0x5b0659(_0x2106f3,_0x4dcf05- -_0x427e69._0x387c0e);}return _0x195e3d[_0x3db562(0x835,0x1081)];},_0x58f683['u_intersectionColor']=function(){return _0x195e3d['intersectionColor'];},_0x58f683[_0x5b0659(0xdb3,0x156a)]=function(){return _0x195e3d['intersectionWidth'];},_0x58f683['u_normalDirection']=function(){return 0x1;},_0x58f683['u_lineColor']=function(){return _0x195e3d['lineColor'];},this['_uniforms']=_0x58f683;const _0x340232={};_0x340232[_0x5b0659(_0x4a7ad7._0x5ad3e8,0xc15)]=function(){return _0x195e3d['_scanePlaneXHalfAngle'];},_0x340232[_0x2216f0(0x1825,0x12f6)]=function(){const _0x4eacb7={_0x4968cb:0x4f2};function _0x80f846(_0x1ecc42,_0x4d36c6){return _0x5b0659(_0x4d36c6,_0x1ecc42- -_0x4eacb7._0x4968cb);}return _0x195e3d[_0x80f846(0x132e,0x18db)];},_0x340232[_0x5b0659(_0x4a7ad7._0x81fda1,0x5c7)]=function(){function _0x1b136a(_0xb7e297,_0x2575e5){return _0x5b0659(_0x2575e5,_0xb7e297-_0x2b0b58._0x544614);}return _0x195e3d[_0x1b136a(0x7a9,0x511)];},_0x340232[_0x2216f0(0x1736,0x20ce)]=function(){return _0x195e3d['scanPlaneColor'];},_0x340232['u_showThroughEllipsoid']=function(){return _0x195e3d['showThroughEllipsoid'];},_0x340232[_0x5b0659(0xc17,0x41f)]=function(){return _0x195e3d['showIntersection'];},_0x340232[_0x5b0659(-0x72,_0x4a7ad7._0x5a45e4)]=function(){return _0x195e3d['intersectionColor'];},_0x340232[_0x2216f0(_0x4a7ad7._0x47fab9,_0x4a7ad7._0x4bb2aa)]=function(){function _0x51e995(_0x194b8e,_0x4aff88){return _0x2216f0(_0x4aff88-0x97,_0x194b8e);}return _0x195e3d[_0x51e995(-_0x36400f._0x468392,_0x36400f._0x3007c9)];},_0x340232[_0x5b0659(_0x4a7ad7._0x311ad9,0xd3c)]=function(){return 0x1;},_0x340232[_0x5b0659(0xa65,_0x4a7ad7._0x19fc97)]=function(){return _0x195e3d['lineColor'];},this['_scanUniforms']=_0x340232;}RectangularSensorPrimitive[_0x306755(0x1313,0xcf3)][_0x2b6441(0x66c,0x45e)]=function(_0x4d084c){const _0x51f854={_0x51b71e:0x12bb,_0x11569a:0xb68,_0x49de94:0x28a,_0x2e6a0b:0x575,_0x1aeae2:0xffa,_0x41fece:0x112b,_0x349f4a:0xc77,_0x368213:0x358,_0x241151:0x753,_0xb7265f:0x9,_0x3e6808:0x1540,_0x5a91fe:0x1092,_0x248444:0x2cf,_0xa6b271:0xafe,_0x397079:0xd78,_0x1d05be:0x670,_0x1c33ee:0x1029,_0x56e3e6:0x10c8,_0x1a9008:0x81,_0x137e0e:0x11bf,_0x29a41d:0x1475},_0x1b928a={_0x5d53f1:0x7f},_0x5492a1=_0x4d084c['mode'];if(!this['show']||_0x5492a1!==SceneMode$1['SCENE3D'])return;let _0x36973e=![],_0x3adb48=![],_0x404e06=![];const _0x4a15df=this[_0x33ca9c(_0x51f854._0x51b71e,_0x51f854._0x11569a)],_0x35bf8c=this[_0x33ca9c(0x1576,0xb51)];if(_0x4a15df<0x0||_0x35bf8c<0x0)throw new DeveloperError$1('halfAngle\x20must\x20be\x20greater\x20than\x20or\x20equal\x20to\x20zero.');if(_0x4a15df===0x0||_0x35bf8c===0x0)return;function _0x3d5962(_0xcb772f,_0x59981c){return _0x2b6441(_0x59981c,_0xcb772f-_0x1b928a._0x5d53f1);}(this['_xHalfAngle']!==_0x4a15df||this[_0x3d5962(0x8e3,0x52e)]!==_0x35bf8c)&&(this['_xHalfAngle']=_0x4a15df,this['_yHalfAngle']=_0x35bf8c,_0x36973e=!![]);const _0x1b9584=this[_0x33ca9c(_0x51f854._0x49de94,-_0x51f854._0x2e6a0b)];if(_0x1b9584<0x0)throw new DeveloperError$1(_0x33ca9c(_0x51f854._0x1aeae2,_0x51f854._0x41fece));let _0x4ee7d0=![];function _0x33ca9c(_0x122fcc,_0x5c3546){return _0x306755(_0x5c3546,_0x122fcc- -0x43c);}this[_0x33ca9c(0xd48,_0x51f854._0x349f4a)]!==_0x1b9584&&(_0x4ee7d0=!![],this['_radius']=_0x1b9584,this[_0x33ca9c(0xdd,0x306)]=new BoundingSphere$1(Cartesian3$4[_0x3d5962(0x4e,-0x3fc)],this['radius']));const _0x357130=!Matrix4$2['equals'](this['modelMatrix'],this['_modelMatrix']);(_0x357130||_0x4ee7d0)&&(Matrix4$2['clone'](this['modelMatrix'],this['_modelMatrix']),Matrix4$2[_0x3d5962(0xd1f,_0x51f854._0x368213)](this['modelMatrix'],this[_0x3d5962(0x1a4,_0x51f854._0x241151)],this['_computedModelMatrix']),BoundingSphere$1[_0x3d5962(0x2b1,-0x1b2)](this[_0x3d5962(-_0x51f854._0xb7265f,0x977)],this['modelMatrix'],this['_boundingSphereWC']));const _0xb09526=this[_0x3d5962(0x1083,_0x51f854._0x3e6808)];this['_showThroughEllipsoid']!==this['showThroughEllipsoid']&&(this[_0x3d5962(0x78d,_0x51f854._0x5a91fe)]=_0xb09526,_0x3adb48=!![]);const _0x2f042f=this[_0x3d5962(0x143f,0x1594)];this['_material']!==_0x2f042f&&(this['_material']=_0x2f042f,_0x3adb48=!![],_0x404e06=!![]);const _0x1b523b=_0x2f042f['isTranslucent']();this['_translucent']!==_0x1b523b&&(this['_translucent']=_0x1b523b,_0x3adb48=!![]);if(this[_0x33ca9c(0xa30,0x65b)]){const _0x1dace2=_0x4d084c['time'],_0x33dc2b=JulianDate['secondsDifference'](_0x1dace2,this['_time']);_0x33dc2b<0x0&&(this['_time']=JulianDate['clone'](_0x1dace2,this['_time']));const _0x27e0e2=Math[_0x3d5962(0x7e4,-0x26c)](_0x33dc2b%this['scanPlaneRate']/this[_0x3d5962(_0x51f854._0x248444,0xc4e)],0x0);let _0x149296;const _0x4fc3aa=new Matrix3$2();if(this[_0x3d5962(0x7ad,_0x51f854._0xa6b271)]==='horizontal'){_0x149296=0x2*_0x35bf8c*_0x27e0e2-_0x35bf8c;const _0x5143d3=cos(_0x149296),_0x19bf2d=tan(_0x4a15df),_0x54a97c=atan(_0x5143d3*_0x19bf2d);this['_scanePlaneXHalfAngle']=_0x54a97c,this[_0x33ca9c(0x148c,0xecd)]=_0x149296,Cesium__namespace['Matrix3']['fromRotationX'](this['_scanePlaneYHalfAngle'],_0x4fc3aa);}else{_0x149296=0x2*_0x4a15df*_0x27e0e2-_0x4a15df;const _0x4228bd=tan(_0x35bf8c),_0x4cc012=cos(_0x149296),_0x58fa65=atan(_0x4cc012*_0x4228bd);this[_0x3d5962(0x58a,_0x51f854._0x397079)]=_0x149296,this[_0x3d5962(0x13a6,0x1585)]=_0x58fa65,Cesium__namespace['Matrix3']['fromRotationY'](this[_0x33ca9c(_0x51f854._0x1d05be,0xc87)],_0x4fc3aa);}Cesium__namespace['Matrix4'][_0x3d5962(0xd04,_0x51f854._0x1c33ee)](this['modelMatrix'],_0x4fc3aa,this[_0x3d5962(-0x65,0x3e4)]),Matrix4$2[_0x3d5962(0xd1f,_0x51f854._0x56e3e6)](this[_0x33ca9c(_0x51f854._0x1a9008,0x9e1)],this['radius'],this['_computedScanPlaneModelMatrix']);}_0x36973e&&createVertexArray(this,_0x4d084c);_0x3adb48&&createRenderState(this,_0xb09526,_0x1b523b);_0x404e06&&createShaderProgram(this,_0x4d084c,_0x2f042f);(_0x3adb48||_0x404e06)&&createCommands(this,_0x1b523b);const _0x190fb1=_0x4d084c['commandList'],_0x404177=_0x4d084c['passes'],_0x10c842=this['_colorCommands'];if(_0x404177['render'])for(let _0x487c12=0x0,_0x52b2cd=_0x10c842[_0x33ca9c(_0x51f854._0x137e0e,_0x51f854._0x29a41d)];_0x487c12<_0x52b2cd;_0x487c12++){const _0x3643f8=_0x10c842[_0x487c12];_0x190fb1['push'](_0x3643f8);}},RectangularSensorPrimitive[_0x2b6441(0x5f3,0x752)]['isDestroyed']=function(){return![];};const nScratch=new Cartesian3$4();function computeUnitPosiiton(_0x4fe7e0,_0x2edc70,_0x38647c){const _0x4c26ac={_0x31c6a3:0x2e1,_0x4ab8c0:0x1372};function _0x3fcf5f(_0x4d124c,_0x2572c9){return _0x306755(_0x2572c9,_0x4d124c-0x13);}const _0x5a80a6=_0x4fe7e0['slice'];function _0x1e894b(_0x145ba2,_0x156f9a){return _0x2b6441(_0x156f9a,_0x145ba2-0x1e9);}const _0x10e87b=cos(_0x38647c),_0x512ca0=tan(_0x38647c),_0x4c014e=cos(_0x2edc70),_0x49ab04=tan(_0x2edc70),_0x2b7690=atan(_0x4c014e*_0x512ca0),_0x51b291=atan(_0x10e87b*_0x49ab04),_0x2cd6af=[];for(let _0x36d41d=0x0;_0x36d41d<_0x5a80a6;_0x36d41d++){const _0x5ac298=0x2*_0x2b7690*_0x36d41d/(_0x5a80a6-0x1)-_0x2b7690;_0x2cd6af['push'](new Cartesian3$4(0x0,sin(_0x5ac298),cos(_0x5ac298)));}const _0x4c1830=[];for(let _0x5168ec=0x0;_0x5168ec<_0x5a80a6;_0x5168ec++){const _0x1385b0=0x2*_0x51b291*_0x5168ec/(_0x5a80a6-0x1)-_0x51b291;_0x4c1830[_0x1e894b(_0x4c26ac._0x31c6a3,0x1b6)](new Cartesian3$4(sin(_0x1385b0),0x0,cos(_0x1385b0)));}const _0x217bf4={};return _0x217bf4[_0x3fcf5f(_0x4c26ac._0x4ab8c0,0x178c)]=_0x2cd6af,_0x217bf4['zox']=_0x4c1830,_0x217bf4;}function computeSectorPositions(_0x3460e7,_0x3ee663){const _0x2954cc={_0x47e5b9:0xda3,_0x1b8ac0:0xafd,_0xac5cf:0x12f0,_0x4568fd:0xa38},_0x21563c={_0xad62e2:0xf11},_0x48f82a={_0x7f10c6:0x62a},_0x31f0e2={_0x159635:0xe88},_0x25306d={_0x115ff1:0x6f4,_0x3d802f:0x1169,_0x18f0ad:0xa45},_0x24031d={_0x24460e:0x88e},_0x39d1a7=_0x3460e7[_0x55346d(0x1780,0x1059)],_0x21f904=_0x3460e7['yHalfAngle'],_0x1919f5=_0x3ee663[_0x1899fb(0xebf,_0x2954cc._0x47e5b9)],_0xc3fbea=_0x3ee663['zox'],_0x14e78b=[];function _0x1899fb(_0x567050,_0x108d37){return _0x306755(_0x108d37,_0x567050- -0x4a0);}const _0x1cbfc1=new Matrix3$2();let _0xa1a5ec=Matrix3$2[_0x1899fb(0x520,_0x2954cc._0x1b8ac0)](_0x39d1a7,_0x1cbfc1);_0x14e78b['push'](_0x1919f5['map'](function(_0xbcd14e){function _0x122a80(_0xf43503,_0x45f84c){return _0x1899fb(_0xf43503-0x583,_0x45f84c);}return Matrix3$2[_0x122a80(_0x24031d._0x24460e,0xa7f)](_0xa1a5ec,_0xbcd14e,new Cesium__namespace['Cartesian3']());})),_0xa1a5ec=Matrix3$2[_0x55346d(0x1284,_0x2954cc._0xac5cf)](-_0x21f904,_0x1cbfc1),_0x14e78b['push'](_0xc3fbea['map'](function(_0x4ff9d8){function _0x4ad31b(_0x4d64b2,_0x520103){return _0x1899fb(_0x4d64b2-0x3e9,_0x520103);}function _0x4a8418(_0xbab09d,_0x6bdace){return _0x55346d(_0xbab09d- -0xbc,_0x6bdace);}return Matrix3$2[_0x4ad31b(_0x25306d._0x115ff1,_0x25306d._0x3d802f)](_0xa1a5ec,_0x4ff9d8,new Cesium__namespace[(_0x4a8418(0x9ee,_0x25306d._0x18f0ad))]());})['reverse']()),_0xa1a5ec=Matrix3$2['fromRotationY'](-_0x39d1a7,_0x1cbfc1),_0x14e78b['push'](_0x1919f5[_0x1899fb(0x2f4,0xb31)](function(_0x30e6a5){function _0x17adbc(_0x2edf65,_0x5c96c3){return _0x1899fb(_0x2edf65- -0x48,_0x5c96c3);}return Matrix3$2['multiplyByVector'](_0xa1a5ec,_0x30e6a5,new Cesium__namespace[(_0x17adbc(0x539,_0x31f0e2._0x159635))]());})[_0x55346d(0x1105,0x8e0)]());function _0x55346d(_0x20b098,_0x114e76){return _0x2b6441(_0x114e76,_0x20b098-_0x48f82a._0x7f10c6);}return _0xa1a5ec=Matrix3$2['fromRotationX'](_0x21f904,_0x1cbfc1),_0x14e78b['push'](_0xc3fbea[_0x1899fb(0x2f4,_0x2954cc._0x4568fd)](function(_0x256f5e){const _0x602715={_0x46499a:0x23d};function _0x305d00(_0x102944,_0x33ab12){return _0x1899fb(_0x33ab12-_0x602715._0x46499a,_0x102944);}return Matrix3$2[_0x305d00(_0x21563c._0xad62e2,0x548)](_0xa1a5ec,_0x256f5e,new Cesium__namespace['Cartesian3']());})),_0x14e78b;}function createSectorVertexArray(_0x554278,_0x2c5a35){const _0xdf0383={_0x593d14:0x1b1b,_0x126e8f:0x1264,_0x22f472:0xa31,_0x35b51a:0x10a2,_0x196b72:0x637,_0x29d0e3:0x9d7,_0x40b4bf:0xd10,_0x5cf435:0xe60,_0x20a641:0x162e,_0x59c015:0x1aa0,_0x32c0a4:0x1421},_0x5197c1={_0x3dc79a:0x559},_0x28b8ea=Array['prototype']['concat']['apply']([],_0x2c5a35)['length']-_0x2c5a35['length'],_0x5676f6=new Float32Array(0x2*0x3*0x3*_0x28b8ea);let _0x220b55=0x0;for(let _0x3c2b47=0x0,_0x191581=_0x2c5a35[_0x295c4d(_0xdf0383._0x593d14,_0xdf0383._0x126e8f)];_0x3c2b47<_0x191581;_0x3c2b47++){const _0x1f8900=_0x2c5a35[_0x3c2b47],_0x4f3a55=Cartesian3$4[_0xbb9bb6(_0xdf0383._0x22f472,0x1ee)](Cartesian3$4[_0x295c4d(0xb46,0xd6c)](_0x1f8900[0x0],_0x1f8900[_0x1f8900['length']-0x1],nScratch),nScratch);for(let _0x56a49b=0x0,_0x105804=_0x1f8900[_0xbb9bb6(0x19d3,_0xdf0383._0x35b51a)]-0x1;_0x56a49b<_0x105804;_0x56a49b++){_0x5676f6[_0x220b55++]=0x0,_0x5676f6[_0x220b55++]=0x0,_0x5676f6[_0x220b55++]=0x0,_0x5676f6[_0x220b55++]=-_0x4f3a55['x'],_0x5676f6[_0x220b55++]=-_0x4f3a55['y'],_0x5676f6[_0x220b55++]=-_0x4f3a55['z'],_0x5676f6[_0x220b55++]=_0x1f8900[_0x56a49b]['x'],_0x5676f6[_0x220b55++]=_0x1f8900[_0x56a49b]['y'],_0x5676f6[_0x220b55++]=_0x1f8900[_0x56a49b]['z'],_0x5676f6[_0x220b55++]=-_0x4f3a55['x'],_0x5676f6[_0x220b55++]=-_0x4f3a55['y'],_0x5676f6[_0x220b55++]=-_0x4f3a55['z'],_0x5676f6[_0x220b55++]=_0x1f8900[_0x56a49b+0x1]['x'],_0x5676f6[_0x220b55++]=_0x1f8900[_0x56a49b+0x1]['y'],_0x5676f6[_0x220b55++]=_0x1f8900[_0x56a49b+0x1]['z'],_0x5676f6[_0x220b55++]=-_0x4f3a55['x'],_0x5676f6[_0x220b55++]=-_0x4f3a55['y'],_0x5676f6[_0x220b55++]=-_0x4f3a55['z'];}}const _0x1d8633={};_0x1d8633[_0xbb9bb6(-0x50e,0xf9)]=_0x554278,_0x1d8633[_0xbb9bb6(0x8f4,0x6e4)]=_0x5676f6,_0x1d8633['usage']=BufferUsage[_0x295c4d(_0xdf0383._0x196b72,0x4c3)];const _0x5b6dfa=Buffer[_0x295c4d(_0xdf0383._0x29d0e3,_0xdf0383._0x40b4bf)](_0x1d8633);function _0x295c4d(_0x15dc5a,_0x560770){return _0x2b6441(_0x15dc5a,_0x560770-0x20a);}const _0x35845f=0x2*0x3*Float32Array['BYTES_PER_ELEMENT'];function _0xbb9bb6(_0x318c25,_0x49ae35){return _0x306755(_0x318c25,_0x49ae35- -_0x5197c1._0x3dc79a);}const _0x347dbb={};_0x347dbb['index']=attributeLocations[_0x295c4d(0xb12,_0xdf0383._0x5cf435)],_0x347dbb['vertexBuffer']=_0x5b6dfa,_0x347dbb['componentsPerAttribute']=0x3,_0x347dbb[_0xbb9bb6(0x1df8,0x146c)]=ComponentDatatype$1['FLOAT'],_0x347dbb['offsetInBytes']=0x0,_0x347dbb['strideInBytes']=_0x35845f;const _0x3411a4={};_0x3411a4['index']=attributeLocations['normal'],_0x3411a4['vertexBuffer']=_0x5b6dfa,_0x3411a4['componentsPerAttribute']=0x3,_0x3411a4[_0x295c4d(0x1c2b,_0xdf0383._0x20a641)]=ComponentDatatype$1['FLOAT'],_0x3411a4[_0x295c4d(_0xdf0383._0x59c015,_0xdf0383._0x32c0a4)]=0x3*Float32Array['BYTES_PER_ELEMENT'],_0x3411a4[_0xbb9bb6(0xbb1,0x8f6)]=_0x35845f;const _0x1226a5=[_0x347dbb,_0x3411a4],_0x4e719e={};return _0x4e719e['context']=_0x554278,_0x4e719e['attributes']=_0x1226a5,new VertexArray(_0x4e719e);}function createSectorLineVertexArray(_0x4a6957,_0x4da98e){const _0x3ef0ab={_0x59804b:0xb48,_0x4b9cee:0xc62,_0x280289:0xbf1,_0x1c429f:0x94d,_0x33e251:0x1336,_0x8d77cf:0x13bf,_0x461246:0x191e,_0x32ec70:0xe74},_0x31cd91={_0x15b230:0x65},_0x2440f0=_0x4da98e[_0x4b4669(0x1620,0x1053)];function _0x4b4669(_0x13d40c,_0x3de342){return _0x2b6441(_0x3de342,_0x13d40c-0x5c6);}const _0x193bba=new Float32Array(0x3*0x3*_0x2440f0);let _0x8dcc98=0x0;for(let _0x2b1bb0=0x0,_0x531311=_0x4da98e['length'];_0x2b1bb0<_0x531311;_0x2b1bb0++){const _0x149146=_0x4da98e[_0x2b1bb0];_0x193bba[_0x8dcc98++]=0x0,_0x193bba[_0x8dcc98++]=0x0,_0x193bba[_0x8dcc98++]=0x0,_0x193bba[_0x8dcc98++]=_0x149146[0x0]['x'],_0x193bba[_0x8dcc98++]=_0x149146[0x0]['y'],_0x193bba[_0x8dcc98++]=_0x149146[0x0]['z'];}const _0x34b1d4={};_0x34b1d4[_0x4b4669(0x677,_0x3ef0ab._0x59804b)]=_0x4a6957,_0x34b1d4[_0x4b4669(_0x3ef0ab._0x4b9cee,0x14e2)]=_0x193bba,_0x34b1d4['usage']=BufferUsage['STATIC_DRAW'];const _0x5bd5e3=Buffer['createVertexBuffer'](_0x34b1d4),_0x2198ee=0x3*Float32Array['BYTES_PER_ELEMENT'],_0x450cb0={};_0x450cb0['index']=attributeLocations[_0x57c6ba(_0x3ef0ab._0x280289,_0x3ef0ab._0x1c429f)],_0x450cb0[_0x4b4669(_0x3ef0ab._0x33e251,0x138c)]=_0x5bd5e3,_0x450cb0['componentsPerAttribute']=0x3,_0x450cb0[_0x57c6ba(_0x3ef0ab._0x8d77cf,0xd17)]=ComponentDatatype$1[_0x4b4669(0x119f,_0x3ef0ab._0x461246)],_0x450cb0['offsetInBytes']=0x0,_0x450cb0[_0x4b4669(_0x3ef0ab._0x32ec70,0x1791)]=_0x2198ee;const _0x122f15=[_0x450cb0],_0x569577={};_0x569577['context']=_0x4a6957,_0x569577['attributes']=_0x122f15;function _0x57c6ba(_0x408ed9,_0x13899f){return _0x2b6441(_0x13899f,_0x408ed9- -_0x31cd91._0x15b230);}return new VertexArray(_0x569577);}function createSectorSegmentLineVertexArray(_0x343909,_0x205596){const _0xb66487={_0x25e7bc:0x13bd,_0x3ab04b:0x103a,_0x50f3f6:0xd6e,_0x2039d6:0x2ac,_0x1cc66e:0xb16,_0x51486b:0xcab},_0x34a58c=Array[_0x1a5f32(0x2c3,0xab5)]['concat']['apply']([],_0x205596)[_0x1a5f32(0x18a4,0x13bd)]-_0x205596['length'],_0x18184f=new Float32Array(0x3*0x3*_0x34a58c);let _0x3ba4d8=0x0;for(let _0x148fcb=0x0,_0x3ddbeb=_0x205596['length'];_0x148fcb<_0x3ddbeb;_0x148fcb++){const _0x39aefd=_0x205596[_0x148fcb];for(let _0xa77998=0x0,_0x3643be=_0x39aefd[_0x1a5f32(0x138c,_0xb66487._0x25e7bc)]-0x1;_0xa77998<_0x3643be;_0xa77998++){_0x18184f[_0x3ba4d8++]=_0x39aefd[_0xa77998]['x'],_0x18184f[_0x3ba4d8++]=_0x39aefd[_0xa77998]['y'],_0x18184f[_0x3ba4d8++]=_0x39aefd[_0xa77998]['z'],_0x18184f[_0x3ba4d8++]=_0x39aefd[_0xa77998+0x1]['x'],_0x18184f[_0x3ba4d8++]=_0x39aefd[_0xa77998+0x1]['y'],_0x18184f[_0x3ba4d8++]=_0x39aefd[_0xa77998+0x1]['z'];}}const _0x427ff4={};_0x427ff4['context']=_0x343909;function _0x17c41e(_0x42a256,_0x280d3c){return _0x306755(_0x280d3c,_0x42a256- -0x339);}_0x427ff4['typedArray']=_0x18184f,_0x427ff4[_0x17c41e(0x1337,_0xb66487._0x3ab04b)]=BufferUsage[_0x17c41e(0x521,0xdc8)];const _0x5c140b=Buffer[_0x17c41e(_0xb66487._0x50f3f6,_0xb66487._0x2039d6)](_0x427ff4),_0x396bed=0x3*Float32Array['BYTES_PER_ELEMENT'],_0x4e07f2={};_0x4e07f2['index']=attributeLocations['position'],_0x4e07f2['vertexBuffer']=_0x5c140b,_0x4e07f2[_0x17c41e(0x14fb,0xc98)]=0x3,_0x4e07f2['componentDatatype']=ComponentDatatype$1['FLOAT'],_0x4e07f2['offsetInBytes']=0x0,_0x4e07f2[_0x17c41e(_0xb66487._0x1cc66e,_0xb66487._0x51486b)]=_0x396bed;const _0x2fa04f=[_0x4e07f2];function _0x1a5f32(_0x188d2c,_0x187d58){return _0x306755(_0x188d2c,_0x187d58- -0x23e);}const _0x27cc1c={};return _0x27cc1c['context']=_0x343909,_0x27cc1c['attributes']=_0x2fa04f,new VertexArray(_0x27cc1c);}function createDomeVertexArray(_0x1c72da){const _0x49cb2d={_0x995c6d:0x143f,_0x4228a9:0xf42,_0x470cba:0x3cd,_0x4aaaf:0x1906},_0x1ed694={_0x143056:0x24},_0x2d2548={_0x55216f:0xc},_0x20a068={};_0x20a068['vertexFormat']=VertexFormat$1['POSITION_ONLY'],_0x20a068[_0x15e010(_0x49cb2d._0x995c6d,_0x49cb2d._0x4228a9)]=0x20,_0x20a068['slicePartitions']=0x20;const _0x4017e0=Cesium__namespace['EllipsoidGeometry']['createGeometry'](new Cesium__namespace['EllipsoidGeometry'](_0x20a068)),_0x863cfc={};_0x863cfc[_0x1923d4(0xa5,_0x49cb2d._0x470cba)]=_0x1c72da,_0x863cfc[_0x1923d4(0xb,-0x640)]=_0x4017e0,_0x863cfc['attributeLocations']=attributeLocations,_0x863cfc[_0x15e010(0xd4c,0x418)]=BufferUsage['STATIC_DRAW'];function _0x1923d4(_0x1b7b04,_0x172e89){return _0x2b6441(_0x172e89,_0x1b7b04- -_0x2d2548._0x55216f);}function _0x15e010(_0x55dc48,_0x4815f6){return _0x2b6441(_0x4815f6,_0x55dc48-_0x1ed694._0x143056);}_0x863cfc[_0x1923d4(0x136b,_0x49cb2d._0x4aaaf)]=![];const _0x46354f=VertexArray['fromGeometry'](_0x863cfc);return _0x46354f;}function createDomeLineVertexArray(_0x28cb6f){const _0xf1c82b={_0x3b6727:0x40e,_0x24f8f4:0x1af6,_0x2f8a69:0x41a,_0x34ef55:0x65f},_0x2418cc={_0x3c5b04:0xac},_0x2e2b27={_0x4e5344:0x13a};function _0x39defd(_0x82b093,_0x1805fa){return _0x306755(_0x82b093,_0x1805fa-_0x2e2b27._0x4e5344);}const _0x196bbc={};_0x196bbc[_0x20ac0b(0x97,_0xf1c82b._0x3b6727)]=VertexFormat$1[_0x39defd(0x1cd7,0x12ae)],_0x196bbc[_0x39defd(0x1c5a,_0xf1c82b._0x24f8f4)]=0x20,_0x196bbc['slicePartitions']=0x20;const _0x1b2c93=Cesium__namespace['EllipsoidOutlineGeometry']['createGeometry'](new Cesium__namespace['EllipsoidOutlineGeometry'](_0x196bbc)),_0x386c77={};_0x386c77[_0x20ac0b(-_0xf1c82b._0x2f8a69,0x5)]=_0x28cb6f,_0x386c77[_0x39defd(0xc68,0x6f2)]=_0x1b2c93,_0x386c77['attributeLocations']=attributeLocations;function _0x20ac0b(_0xb3dcb4,_0x30831e){return _0x2b6441(_0xb3dcb4,_0x30831e- -_0x2418cc._0x3c5b04);}_0x386c77[_0x20ac0b(_0xf1c82b._0x34ef55,0xc7c)]=BufferUsage['STATIC_DRAW'],_0x386c77['interleave']=![];const _0x529604=VertexArray[_0x20ac0b(0xac9,0x1125)](_0x386c77);return _0x529604;}function createScanPlaneVertexArray(_0x1eaa6b,_0x7c1d16){const _0x2118cf={_0x3d7917:0x40a,_0xcd59ec:0x1963},_0x353e47={_0x3b3a73:0x12f},_0x18292f=_0x7c1d16['length']-0x1,_0x1d395e=new Float32Array(0x3*0x3*_0x18292f);let _0x12bf06=0x0;for(let _0x2e3c7b=0x0;_0x2e3c7b<_0x18292f;_0x2e3c7b++){_0x1d395e[_0x12bf06++]=0x0,_0x1d395e[_0x12bf06++]=0x0,_0x1d395e[_0x12bf06++]=0x0,_0x1d395e[_0x12bf06++]=_0x7c1d16[_0x2e3c7b]['x'],_0x1d395e[_0x12bf06++]=_0x7c1d16[_0x2e3c7b]['y'],_0x1d395e[_0x12bf06++]=_0x7c1d16[_0x2e3c7b]['z'],_0x1d395e[_0x12bf06++]=_0x7c1d16[_0x2e3c7b+0x1]['x'],_0x1d395e[_0x12bf06++]=_0x7c1d16[_0x2e3c7b+0x1]['y'],_0x1d395e[_0x12bf06++]=_0x7c1d16[_0x2e3c7b+0x1]['z'];}const _0x1bb677={};_0x1bb677[_0x380e5e(0x4fa,0x202)]=_0x1eaa6b,_0x1bb677['typedArray']=_0x1d395e,_0x1bb677['usage']=BufferUsage[_0x380e5e(0x70b,_0x2118cf._0x3d7917)];const _0x31ef34=Buffer[_0x380e5e(0x165b,0xc57)](_0x1bb677),_0x3931bc=0x3*Float32Array['BYTES_PER_ELEMENT'],_0x4e00be={};_0x4e00be[_0x251973(0x1087,0x168f)]=attributeLocations[_0x380e5e(0x16a2,0xda7)];function _0x380e5e(_0x226b18,_0x181906){return _0x2b6441(_0x226b18,_0x181906-0x151);}_0x4e00be['vertexBuffer']=_0x31ef34,_0x4e00be[_0x251973(_0x2118cf._0xcd59ec,0x224b)]=0x3,_0x4e00be['componentDatatype']=ComponentDatatype$1['FLOAT'],_0x4e00be['offsetInBytes']=0x0,_0x4e00be['strideInBytes']=_0x3931bc;const _0x3faaab=[_0x4e00be],_0x4dd259={};_0x4dd259['context']=_0x1eaa6b;function _0x251973(_0x3c650b,_0x10c043){return _0x306755(_0x10c043,_0x3c650b-_0x353e47._0x3b3a73);}return _0x4dd259[_0x251973(0x1242,0x962)]=_0x3faaab,new VertexArray(_0x4dd259);}function createVertexArray(_0x4eeff0,_0x1fde66){const _0x56b175={_0x659384:0x6b8,_0x34172d:0x139c,_0x607348:0x1418,_0x5aea2a:0x7c2,_0x3e79d4:0x1f7,_0xba8adb:0x1a5c,_0x59ab5f:0x1633,_0x26f94c:0x1377,_0x2d23c7:0x890,_0x43ceb8:0xe7f,_0x3c92c0:0x945,_0x13d7fc:0x947,_0x5d53b3:0xdc5},_0x5994f3=_0x1fde66[_0x3f5064(_0x56b175._0x659384,0x29c)],_0x522cbc=computeUnitPosiiton(_0x4eeff0,_0x4eeff0['xHalfAngle'],_0x4eeff0[_0x27b3e6(_0x56b175._0x34172d,_0x56b175._0x607348)]),_0x550d03=computeSectorPositions(_0x4eeff0,_0x522cbc);function _0x27b3e6(_0x5aeae1,_0x2ce3cc){return _0x306755(_0x5aeae1,_0x2ce3cc- -0x59a);}_0x4eeff0[_0x3f5064(_0x56b175._0x5aea2a,_0x56b175._0x3e79d4)]&&(_0x4eeff0['_sectorVA']=createSectorVertexArray(_0x5994f3,_0x550d03));_0x4eeff0[_0x3f5064(0x7b8,0x656)]&&(_0x4eeff0['_sectorLineVA']=createSectorLineVertexArray(_0x5994f3,_0x550d03));_0x4eeff0['showSectorSegmentLines']&&(_0x4eeff0[_0x3f5064(_0x56b175._0xba8adb,_0x56b175._0x59ab5f)]=createSectorSegmentLineVertexArray(_0x5994f3,_0x550d03));_0x4eeff0['showDomeSurfaces']&&(_0x4eeff0[_0x3f5064(0x9ae,_0x56b175._0x26f94c)]=createDomeVertexArray(_0x5994f3));function _0x3f5064(_0x4cc538,_0x44bfb7){return _0x306755(_0x4cc538,_0x44bfb7- -0x3b6);}_0x4eeff0['showDomeLines']&&(_0x4eeff0[_0x27b3e6(_0x56b175._0x2d23c7,0x1270)]=createDomeLineVertexArray(_0x5994f3));if(_0x4eeff0['showScanPlane']){if(_0x4eeff0['scanPlaneMode']===_0x3f5064(_0x56b175._0x43ceb8,0xb42)){const _0x2b7fad=computeUnitPosiiton(_0x4eeff0,CesiumMath$2[_0x27b3e6(_0x56b175._0x3c92c0,_0x56b175._0x13d7fc)],0x0);_0x4eeff0['_scanPlaneVA']=createScanPlaneVertexArray(_0x5994f3,_0x2b7fad[_0x3f5064(0x19ee,0x1221)]);}else{const _0x5945dc=computeUnitPosiiton(_0x4eeff0,0x0,CesiumMath$2['PI_OVER_TWO']);_0x4eeff0['_scanPlaneVA']=createScanPlaneVertexArray(_0x5994f3,_0x5945dc[_0x27b3e6(0x10ec,_0x56b175._0x5d53b3)]);}}}function createCommonShaderProgram(_0x3c26ed,_0x2776fd,_0x2c59ea){const _0x4fb1b2={_0x50e7b8:0x63a,_0x27f8c9:0xc1d,_0x314d46:0x46},_0x12c789={_0x32e436:0x5f8},_0x560279=_0x2776fd[_0x1c348e(_0x4fb1b2._0x50e7b8,0xaa2)];function _0xc849f0(_0x59d79c,_0x3bb331){return _0x306755(_0x59d79c,_0x3bb331- -_0x12c789._0x32e436);}const _0x13e3c9=RectangularSensorVS,_0x4996e1={};_0x4996e1['sources']=[RectangularSensor$1,_0x2c59ea[_0xc849f0(0x3a9,_0x4fb1b2._0x27f8c9)],RectangularSensorFS];const _0x107d64=new ShaderSource(_0x4996e1);_0x3c26ed[_0xc849f0(_0x4fb1b2._0x314d46,0xa69)]=ShaderProgram['replaceCache']({'context':_0x560279,'shaderProgram':_0x3c26ed['_sp'],'vertexShaderSource':_0x13e3c9,'fragmentShaderSource':_0x107d64,'attributeLocations':attributeLocations});function _0x1c348e(_0x45a8b8,_0x89b5ac){return _0x2b6441(_0x89b5ac,_0x45a8b8-0x589);}const _0x39ebb4={};_0x39ebb4['sources']=[RectangularSensor$1,_0x2c59ea['shaderSource'],RectangularSensorFS],_0x39ebb4['pickColorQualifier']=_0x1c348e(0x14f8,0x1c7f);const _0x2378ea=new ShaderSource(_0x39ebb4);_0x3c26ed['_pickSP']=ShaderProgram['replaceCache']({'context':_0x560279,'shaderProgram':_0x3c26ed['_pickSP'],'vertexShaderSource':_0x13e3c9,'fragmentShaderSource':_0x2378ea,'attributeLocations':attributeLocations});}function createScanPlaneShaderProgram(_0xb3d28e,_0x56fb06,_0x4c9ece){const _0x5c51a3={_0x53d32a:0x74a},_0x484c95=_0x56fb06['context'],_0x1e71cc=RectangularSensorVS;function _0x244e4c(_0x381094,_0x5a4277){return _0x2b6441(_0x5a4277,_0x381094-0x173);}const _0x13f9cc={};_0x13f9cc['sources']=[RectangularSensor$1,_0x4c9ece['shaderSource'],RectangularSensorScanPlaneFS];const _0x2fad0c=new ShaderSource(_0x13f9cc);_0xb3d28e['_scanePlaneSP']=ShaderProgram[_0x244e4c(0xf75,_0x5c51a3._0x53d32a)]({'context':_0x484c95,'shaderProgram':_0xb3d28e['_scanePlaneSP'],'vertexShaderSource':_0x1e71cc,'fragmentShaderSource':_0x2fad0c,'attributeLocations':attributeLocations});}function createShaderProgram(_0x53ffb8,_0x229f04,_0x589417){createCommonShaderProgram(_0x53ffb8,_0x229f04,_0x589417),_0x53ffb8['showScanPlane']&&createScanPlaneShaderProgram(_0x53ffb8,_0x229f04,_0x589417);}function createRenderState(_0x377dc9,_0x493fc3,_0x209944){const _0x57429d={_0x5ddf15:0xf39,_0x3277ee:0xf99,_0x483e6d:0x199,_0x1db312:0xaee,_0x40cc48:0x160a,_0x11db34:0x95d,_0x576c28:0x1e53,_0x453af8:0x147b,_0x307523:0x1432,_0x525dd0:0xaee,_0x852b3a:0x577},_0x2489f6={_0x55c2ac:0x49d},_0x4a81e6={_0x54f189:0x1e9};function _0x33e4ea(_0x17f91f,_0x278a15){return _0x2b6441(_0x278a15,_0x17f91f-_0x4a81e6._0x54f189);}function _0x2807b9(_0xb0123e,_0x522923){return _0x2b6441(_0xb0123e,_0x522923-_0x2489f6._0x55c2ac);}if(_0x209944){const _0x5965aa={};_0x5965aa['enabled']=!_0x493fc3;const _0x30b4e1={};_0x30b4e1[_0x33e4ea(0xf18,_0x57429d._0x5ddf15)]=!![],_0x30b4e1['face']=CullFace['BACK'];const _0x11cd04={};_0x11cd04[_0x2807b9(0x6bc,_0x57429d._0x3277ee)]=_0x5965aa,_0x11cd04['depthMask']=![],_0x11cd04['blending']=BlendingState['ALPHA_BLEND'],_0x11cd04[_0x33e4ea(0x1a3,-_0x57429d._0x483e6d)]=_0x30b4e1,_0x377dc9['_frontFaceRS']=RenderState['fromCache'](_0x11cd04);const _0x106228={};_0x106228['enabled']=!_0x493fc3;const _0x4374c3={};_0x4374c3['enabled']=!![],_0x4374c3['face']=CullFace['FRONT'];const _0x5674eb={};_0x5674eb['depthTest']=_0x106228,_0x5674eb[_0x33e4ea(_0x57429d._0x1db312,0x7b3)]=![],_0x5674eb[_0x33e4ea(0xd6f,_0x57429d._0x40cc48)]=BlendingState['ALPHA_BLEND'],_0x5674eb['cull']=_0x4374c3,_0x377dc9['_backFaceRS']=RenderState['fromCache'](_0x5674eb);const _0x67ff92={};_0x67ff92['enabled']=!_0x493fc3;const _0x526f8b={};_0x526f8b[_0x33e4ea(0xce5,0x16a9)]=_0x67ff92,_0x526f8b['depthMask']=![],_0x526f8b['blending']=BlendingState['ALPHA_BLEND'],_0x377dc9['_pickRS']=RenderState[_0x33e4ea(0x129d,0xa05)](_0x526f8b);}else{const _0x1c511e={};_0x1c511e['enabled']=!_0x493fc3;const _0x5f0807={};_0x5f0807['depthTest']=_0x1c511e,_0x5f0807[_0x33e4ea(_0x57429d._0x1db312,_0x57429d._0x11db34)]=!![],_0x377dc9[_0x2807b9(_0x57429d._0x576c28,_0x57429d._0x453af8)]=RenderState['fromCache'](_0x5f0807);const _0x39256f={};_0x39256f[_0x33e4ea(0xf18,_0x57429d._0x307523)]=!![];const _0x35402a={};_0x35402a[_0x33e4ea(0xce5,0x695)]=_0x39256f,_0x35402a[_0x33e4ea(_0x57429d._0x525dd0,_0x57429d._0x852b3a)]=!![],_0x377dc9['_pickRS']=RenderState['fromCache'](_0x35402a);}}function createCommand(_0x1fa6f2,_0x2fd800,_0xcfc4c8,_0x1ede34,_0x2645a8,_0x3332db,_0x5dbe99,_0x5189a6,_0x3377d4,_0x2457ac,_0xf28818,_0x52db35){const _0x44febd={_0x3c00b3:0x127,_0x17d815:0x18c,_0x211312:0x657,_0x22a9b1:0x198,_0x3605e2:0x1b3,_0x5474a6:0x1217,_0x21de41:0x147e,_0x4bef40:0x157a,_0x5edc11:0xce9,_0xd70557:0xd0,_0x3936c3:0x3a9,_0x4484ac:0xc64,_0x1a52f2:0x116,_0x3651f1:0x1fd,_0x4657aa:0x340};_0x2457ac&&_0xcfc4c8&&(_0xcfc4c8['vertexArray']=_0x5dbe99,_0xcfc4c8['renderState']=_0x2645a8,_0xcfc4c8['shaderProgram']=_0x3332db,_0xcfc4c8['uniformMap']=combine$1(_0x5189a6,_0x1fa6f2[_0x2a2680(_0x44febd._0x3c00b3,_0x44febd._0x17d815)]['_uniforms']),_0xcfc4c8[_0x2a2680(_0x44febd._0x211312,_0x44febd._0x22a9b1)]['u_normalDirection']=function(){return-0x1;},_0xcfc4c8[_0x25d711(_0x44febd._0x3605e2,0xa93)]=_0xf28818,_0xcfc4c8['modelMatrix']=_0x3377d4,_0x1fa6f2['_colorCommands']['push'](_0xcfc4c8));_0x2fd800[_0x2a2680(0xa7f,_0x44febd._0x5474a6)]=_0x5dbe99,_0x2fd800['renderState']=_0x1ede34,_0x2fd800[_0x25d711(_0x44febd._0x21de41,_0x44febd._0x4bef40)]=_0x3332db,_0x2fd800[_0x25d711(0x600,_0x44febd._0x5edc11)]=combine$1(_0x5189a6,_0x1fa6f2[_0x25d711(_0x44febd._0xd70557,-0x2ff)]['_uniforms']);function _0x2a2680(_0x3890e9,_0x35bb10){return _0x306755(_0x35bb10,_0x3890e9- -0x49c);}_0x52db35&&(_0x2fd800[_0x2a2680(0x657,0xf7d)][_0x2a2680(_0x44febd._0x3936c3,_0x44febd._0x4484ac)]=function(){return 0x1;});_0x2fd800['pass']=_0xf28818,_0x2fd800['modelMatrix']=_0x3377d4;function _0x25d711(_0x2b1300,_0x2168d6){return _0x306755(_0x2168d6,_0x2b1300- -0x4f3);}_0x1fa6f2[_0x25d711(-0x52,_0x44febd._0x1a52f2)][_0x2a2680(_0x44febd._0x3651f1,_0x44febd._0x4657aa)](_0x2fd800);}function createCommands(_0xa97de7,_0x28871e){const _0x1542b7={_0x30effb:0x14b7,_0x3369a9:0x167e,_0xe3895a:0xcd9,_0xc13a54:0x114d,_0x57c58a:0x107f,_0xab2ac9:0x45b,_0x5754e6:0xb77,_0x58a454:0x12e8,_0x35ceb2:0x11cc,_0x172888:0xaec,_0x242d26:0x7f2,_0x30beba:0xf73,_0x3bc8ca:0x7d5,_0x2aa14a:0x1430,_0x5c3f7c:0x758,_0x297d04:0x1fea,_0x4d6d02:0x1106,_0x909912:0x14bf,_0x4d3e31:0x1acd},_0x13dcb5={_0x3f0bfa:0x70c};_0xa97de7['_colorCommands'][_0x1523d1(_0x1542b7._0x30effb,0x1766)]=0x0;function _0x4f2cc4(_0x569d89,_0x426b2d){return _0x2b6441(_0x569d89,_0x426b2d-0x38c);}const _0x450279=_0x28871e?Pass[_0x4f2cc4(0xe41,_0x1542b7._0x3369a9)]:Pass[_0x4f2cc4(0x1cfa,0x13c0)];_0xa97de7[_0x1523d1(0x7a0,0x718)]&&createCommand(_0xa97de7,_0xa97de7[_0x4f2cc4(0x10cb,_0x1542b7._0xe3895a)],_0xa97de7['_sectorBackCommand'],_0xa97de7[_0x4f2cc4(_0x1542b7._0xc13a54,0x136a)],_0xa97de7['_backFaceRS'],_0xa97de7['_sp'],_0xa97de7[_0x1523d1(_0x1542b7._0x57c58a,0x1795)],_0xa97de7['_uniforms'],_0xa97de7['_computedModelMatrix'],_0x28871e,_0x450279);_0xa97de7[_0x1523d1(_0x1542b7._0xab2ac9,_0x1542b7._0x5754e6)]&&createCommand(_0xa97de7,_0xa97de7['_sectorLineCommand'],undefined,_0xa97de7['_frontFaceRS'],_0xa97de7['_backFaceRS'],_0xa97de7[_0x1523d1(_0x1542b7._0x58a454,_0x1542b7._0x35ceb2)],_0xa97de7['_sectorLineVA'],_0xa97de7[_0x4f2cc4(0xd08,0x14bf)],_0xa97de7['_computedModelMatrix'],_0x28871e,_0x450279,!![]);_0xa97de7[_0x4f2cc4(0x14aa,0xee5)]&&createCommand(_0xa97de7,_0xa97de7[_0x1523d1(_0x1542b7._0x172888,0xe74)],undefined,_0xa97de7['_frontFaceRS'],_0xa97de7['_backFaceRS'],_0xa97de7['_sp'],_0xa97de7[_0x4f2cc4(0x18b4,0x17d4)],_0xa97de7['_uniforms'],_0xa97de7['_computedModelMatrix'],_0x28871e,_0x450279,!![]);function _0x1523d1(_0xdbfac8,_0x44450a){return _0x2b6441(_0xdbfac8,_0x44450a-_0x13dcb5._0x3f0bfa);}_0xa97de7[_0x4f2cc4(0x12be,_0x1542b7._0x242d26)]&&createCommand(_0xa97de7,_0xa97de7['_domeFrontCommand'],_0xa97de7[_0x1523d1(_0x1542b7._0x30beba,0x16ca)],_0xa97de7['_frontFaceRS'],_0xa97de7['_backFaceRS'],_0xa97de7[_0x1523d1(_0x1542b7._0x3bc8ca,_0x1542b7._0x35ceb2)],_0xa97de7['_domeVA'],_0xa97de7['_uniforms'],_0xa97de7[_0x1523d1(0x18b2,_0x1542b7._0x2aa14a)],_0x28871e,_0x450279),_0xa97de7['showDomeLines']&&createCommand(_0xa97de7,_0xa97de7['_domeLineCommand'],undefined,_0xa97de7['_frontFaceRS'],_0xa97de7['_backFaceRS'],_0xa97de7[_0x4f2cc4(_0x1542b7._0x5c3f7c,0xe4c)],_0xa97de7[_0x4f2cc4(_0x1542b7._0x297d04,0x15f5)],_0xa97de7[_0x4f2cc4(_0x1542b7._0x4d6d02,_0x1542b7._0x909912)],_0xa97de7['_computedModelMatrix'],_0x28871e,_0x450279,!![]),_0xa97de7['showScanPlane']&&createCommand(_0xa97de7,_0xa97de7['_scanPlaneFrontCommand'],_0xa97de7['_scanPlaneBackCommand'],_0xa97de7[_0x4f2cc4(_0x1542b7._0x4d3e31,0x136a)],_0xa97de7['_backFaceRS'],_0xa97de7['_scanePlaneSP'],_0xa97de7['_scanPlaneVA'],_0xa97de7[_0x4f2cc4(-0x15,0x93c)],_0xa97de7['_computedScanPlaneModelMatrix'],_0x28871e,_0x450279);}const AssociativeArray=Cesium__namespace['AssociativeArray'],Cartesian3$3=Cesium__namespace['Cartesian3'],Color=Cesium__namespace[_0x306755(0x1331,0xf34)],defined$3=Cesium__namespace[_0x306755(0x1326,0x17b2)],DeveloperError=Cesium__namespace['DeveloperError'],Matrix3$1=Cesium__namespace['Matrix3'],Matrix4$1=Cesium__namespace[_0x306755(0x1142,0xb72)],Quaternion$1=Cesium__namespace['Quaternion'],MaterialProperty=Cesium__namespace[_0x2b6441(0xf39,0xedd)],Property=Cesium__namespace['Property'],matrix3Scratch=new Matrix3$1(),cachedPosition=new Cartesian3$3(),cachedGazePosition=new Cartesian3$3(),cachedOrientation=new Quaternion$1(),diffVectorScratch=new Cartesian3$3(),orientationScratch=new Quaternion$1();function removePrimitive(_0x5bbaf2,_0x5ef3c7,_0x1d9abb){const _0xca1948={_0x4602d5:0x5a4};function _0x1d9c4a(_0x3bca25,_0x4e3206){return _0x306755(_0x3bca25,_0x4e3206- -_0xca1948._0x4602d5);}const _0x15e4e2=_0x5ef3c7[_0x5bbaf2['id']];if(Cesium__namespace['defined'](_0x15e4e2)){const _0x3d4791=_0x15e4e2['primitive'];try{_0x1d9abb['remove'](_0x3d4791);}catch(_0xb316ae){}_0x3d4791['destroy']&&_0x3d4791['isDestroyed']&&!_0x3d4791[_0x1d9c4a(-0x106,0x5ec)]()&&_0x3d4791['destroy'](),delete _0x5ef3c7[_0x5bbaf2['id']];}}function RectangularSensorVisualizer(_0x26d55c,_0x29cf02){const _0x548b3b={_0x22fbfe:0x115f,_0x44e4cb:0x1eb7},_0x168c21={_0x45f987:0x116};if(!defined$3(_0x26d55c))throw new DeveloperError('scene\x20is\x20required.');if(!defined$3(_0x29cf02))throw new DeveloperError(_0x4d8d77(0x5a6,0x315));_0x29cf02['collectionChanged'][_0x4d8d77(0x65f,0xad1)](RectangularSensorVisualizer[_0x4d8d77(0x868,0xb3b)]['_onCollectionChanged'],this);function _0x4d8d77(_0x509859,_0x59e69b){return _0x2b6441(_0x59e69b,_0x509859-_0x168c21._0x45f987);}this[_0x13b478(0x1662,_0x548b3b._0x22fbfe)]=_0x26d55c,this['_primitives']=_0x26d55c['primitives'],this[_0x13b478(0x14d3,_0x548b3b._0x44e4cb)]=_0x29cf02;function _0x13b478(_0x380a68,_0x380af8){return _0x306755(_0x380af8,_0x380a68- -0x12b);}this['_hash']={},this['_entitiesToVisualize']=new AssociativeArray(),this['_onCollectionChanged'](_0x29cf02,_0x29cf02['values'],[],[]);}RectangularSensorVisualizer[_0x306755(0x1067,0xcf3)][_0x2b6441(-0x119,0x45e)]=function(_0xcf7c6c){const _0x40ccaa={_0x217797:0x30d,_0x5bd24f:0x397,_0xff1916:0x1fc,_0x3888ab:0x12d8,_0x223605:0xe21,_0x5b53e4:0x15d6,_0x341f2d:0x57d,_0x306f76:0x1b2f,_0x3f56f8:0x13a8,_0x386f16:0x1306,_0x276deb:0xb11,_0x26fb2d:0xe37,_0x159e34:0x3c3,_0x130406:0x63d,_0x50791e:0x175b,_0x5688de:0xe95,_0x4720d9:0x36d,_0x42b4e7:0x359,_0x1a2121:0x189a,_0x165de7:0xe07,_0x5c03df:0x136b,_0x4bf25f:0x15dd,_0x390155:0x10f2,_0x44f8db:0x1473,_0xad7530:0x39c,_0xa7a5d5:0x117a,_0xa09b36:0xb54,_0x19d8fb:0xb0b,_0x51cef8:0xfda,_0x1b7283:0xde3,_0x13d389:0x1648,_0x2bb124:0x1312,_0x4fea2e:0x1841,_0x2bfb8c:0x8d1,_0x211257:0x129e,_0x118a95:0x3a8,_0x4d0023:0x566,_0xc25d9f:0x83b,_0xdaf36a:0xa40,_0x406bdc:0xb0b,_0x2cb437:0x2250,_0x53ee29:0xd4c},_0x3d95a0={_0x3912bf:0x3f0};function _0x180491(_0x100518,_0x21df6e){return _0x306755(_0x21df6e,_0x100518- -_0x3d95a0._0x3912bf);}if(!defined$3(_0xcf7c6c))throw new DeveloperError('time\x20is\x20required.');const _0x10b89b=this['_entitiesToVisualize']['values'],_0x5d40dc=this[_0x180491(0x170,_0x40ccaa._0x217797)],_0x2d32ff=this['_primitives'];let _0x4158f2,_0x570af3,_0xe45f4,_0x39a5d0,_0x3e71ed;function _0x4bc02c(_0x53271e,_0x12b9ce){return _0x2b6441(_0x53271e,_0x12b9ce-0x481);}for(let _0x2e7a30=0x0,_0x270cc6=_0x10b89b['length'];_0x2e7a30<_0x270cc6;_0x2e7a30++){const _0x1b3a8c=_0x10b89b[_0x2e7a30],_0x1d712a=_0x1b3a8c['_rectangularSensorMars'];let _0x1f4ad7=_0x5d40dc[_0x1b3a8c['id']],_0x125b98=_0x1b3a8c[_0x180491(0x279,_0x40ccaa._0x5bd24f)]&&_0x1b3a8c['isAvailable'](_0xcf7c6c)&&Property[_0x180491(0x83b,-_0x40ccaa._0xff1916)](_0x1d712a[_0x4bc02c(0x1670,_0x40ccaa._0x3888ab)],_0xcf7c6c,!![]);_0x125b98&&(_0x4158f2=Property['getValueOrUndefined'](_0x1b3a8c['_position'],_0xcf7c6c,cachedPosition),_0x570af3=Property[_0x4bc02c(_0x40ccaa._0x223605,_0x40ccaa._0x5b53e4)](_0x1b3a8c[_0x180491(0x424,-_0x40ccaa._0x341f2d)],_0xcf7c6c,cachedOrientation),_0xe45f4=Property[_0x180491(0x1306,_0x40ccaa._0x306f76)](_0x1d712a[_0x4bc02c(_0x40ccaa._0x3f56f8,0x1064)],_0xcf7c6c),_0x39a5d0=Property['getValueOrUndefined'](_0x1d712a[_0x180491(0xae9,0x5d0)],_0xcf7c6c),_0x3e71ed=Property[_0x180491(_0x40ccaa._0x386f16,0xf99)](_0x1d712a['_yHalfAngle'],_0xcf7c6c),_0x125b98=defined$3(_0x4158f2)&&defined$3(_0x39a5d0)&&defined$3(_0x3e71ed));if(!_0x125b98){defined$3(_0x1f4ad7)&&(_0x1f4ad7[_0x180491(0x368,-0x70a)]['show']=![]);continue;}let _0x33e01d=defined$3(_0x1f4ad7)?_0x1f4ad7['primitive']:undefined;if(!defined$3(_0x33e01d)){_0x33e01d=new RectangularSensorPrimitive(),_0x33e01d['id']=_0x1b3a8c,_0x2d32ff['add'](_0x33e01d);const _0x2e821e={};_0x2e821e['primitive']=_0x33e01d,_0x2e821e['position']=undefined,_0x2e821e['orientation']=undefined,_0x1f4ad7=_0x2e821e,_0x5d40dc[_0x1b3a8c['id']]=_0x1f4ad7;}const _0x52bf33=Property['getValueOrUndefined'](_0x1d712a['_gaze'],_0xcf7c6c);if(defined$3(_0x52bf33)){const _0x5d1a5a=Property['getValueOrUndefined'](_0x52bf33[_0x4bc02c(0x4c3,0xda3)],_0xcf7c6c,cachedGazePosition);if(!defined$3(_0x4158f2)||!defined$3(_0x5d1a5a))continue;const _0x44efb6=Cartesian3$3['subtract'](_0x4158f2,_0x5d1a5a,diffVectorScratch),_0x2c45e6=Cartesian3$3[_0x4bc02c(0x126b,_0x40ccaa._0x276deb)](Cesium__namespace['Cartesian3'][_0x4bc02c(_0x40ccaa._0x26fb2d,_0x40ccaa._0x159e34)],_0x44efb6),_0x46b52d=Cartesian3$3[_0x180491(0xd13,0x141a)](Cesium__namespace['Cartesian3']['UNIT_Z'],_0x44efb6,diffVectorScratch);_0x570af3=Quaternion$1['fromAxisAngle'](_0x46b52d,_0x2c45e6-Math['PI'],orientationScratch),_0xe45f4=Cartesian3$3[_0x4bc02c(0x15c8,0xdfd)](_0x4158f2,_0x5d1a5a),_0x33e01d['modelMatrix']=Matrix4$1[_0x4bc02c(-0x378,_0x40ccaa._0x130406)](Matrix3$1['fromQuaternion'](_0x570af3,matrix3Scratch),_0x4158f2,_0x33e01d[_0x4bc02c(_0x40ccaa._0x50791e,0x17e9)]);}else(!Cartesian3$3['equals'](_0x4158f2,_0x1f4ad7['position'])||!Quaternion$1[_0x4bc02c(0x820,_0x40ccaa._0x5688de)](_0x570af3,_0x1f4ad7['orientation']))&&(defined$3(_0x570af3)?(_0x33e01d['modelMatrix']=Matrix4$1[_0x180491(_0x40ccaa._0x4720d9,-_0x40ccaa._0x42b4e7)](Matrix3$1['fromQuaternion'](_0x570af3,matrix3Scratch),_0x4158f2,_0x33e01d[_0x180491(0x1519,_0x40ccaa._0x1a2121)]),_0x1f4ad7['position']=Cartesian3$3['clone'](_0x4158f2,_0x1f4ad7[_0x180491(_0x40ccaa._0x165de7,0x145c)]),_0x1f4ad7[_0x180491(0xc5b,0xf44)]=Quaternion$1['clone'](_0x570af3,_0x1f4ad7['orientation'])):(_0x33e01d['modelMatrix']=Cesium__namespace[_0x4bc02c(_0x40ccaa._0x5c03df,_0x40ccaa._0x4bf25f)][_0x4bc02c(_0x40ccaa._0x390155,0x1639)](_0x4158f2),_0x1f4ad7['position']=Cartesian3$3['clone'](_0x4158f2,_0x1f4ad7[_0x4bc02c(0x1823,0x10d7)])));_0x33e01d[_0x4bc02c(0x1780,_0x40ccaa._0x44f8db)]=!![],_0x33e01d['gaze']=_0x52bf33,_0x33e01d[_0x4bc02c(_0x40ccaa._0xad7530,0x5a6)]=_0xe45f4,_0x33e01d['xHalfAngle']=_0x39a5d0,_0x33e01d[_0x4bc02c(_0x40ccaa._0xa7a5d5,0x1892)]=_0x3e71ed,_0x33e01d['lineColor']=Property['getValueOrDefault'](_0x1d712a['_lineColor'],_0xcf7c6c,Color[_0x4bc02c(_0x40ccaa._0xa09b36,0x93d)]),_0x33e01d['showSectorLines']=Property[_0x4bc02c(0x55c,_0x40ccaa._0x19d8fb)](_0x1d712a['_showSectorLines'],_0xcf7c6c,!![]),_0x33e01d[_0x4bc02c(0x1363,_0x40ccaa._0x51cef8)]=Property[_0x180491(0x83b,_0x40ccaa._0x1b7283)](_0x1d712a[_0x4bc02c(0xd47,0x582)],_0xcf7c6c,!![]),_0x33e01d['showLateralSurfaces']=Property['getValueOrDefault'](_0x1d712a[_0x4bc02c(_0x40ccaa._0x13d389,_0x40ccaa._0x2bb124)],_0xcf7c6c,!![]),_0x33e01d[_0x4bc02c(0x148d,_0x40ccaa._0x4fea2e)]=MaterialProperty['getValue'](_0xcf7c6c,_0x1d712a['_material'],_0x33e01d['material']),_0x33e01d['showDomeSurfaces']=Property['getValueOrDefault'](_0x1d712a['_showDomeSurfaces'],_0xcf7c6c,!![]),_0x33e01d['showDomeLines']=Property['getValueOrDefault'](_0x1d712a[_0x180491(0xc21,0x801)],_0xcf7c6c,!![]),_0x33e01d[_0x4bc02c(0xa98,0xb95)]=Property['getValueOrDefault'](_0x1d712a[_0x180491(_0x40ccaa._0x2bfb8c,_0x40ccaa._0x211257)],_0xcf7c6c,!![]),_0x33e01d['intersectionColor']=Property['getValueOrDefault'](_0x1d712a[_0x180491(0x906,0x4eb)],_0xcf7c6c,Color['WHITE']),_0x33e01d[_0x180491(_0x40ccaa._0x118a95,-_0x40ccaa._0x4d0023)]=Property[_0x180491(_0x40ccaa._0xc25d9f,0xd10)](_0x1d712a[_0x180491(0xe64,_0x40ccaa._0xdaf36a)],_0xcf7c6c,0x1),_0x33e01d['showThroughEllipsoid']=Property[_0x4bc02c(0x1016,_0x40ccaa._0x19d8fb)](_0x1d712a['_showThroughEllipsoid'],_0xcf7c6c,![]),_0x33e01d['scanPlaneMode']=Property[_0x4bc02c(0x1276,_0x40ccaa._0x406bdc)](_0x1d712a['_scanPlaneMode'],_0xcf7c6c),_0x33e01d['scanPlaneColor']=Property['getValueOrDefault'](_0x1d712a[_0x4bc02c(_0x40ccaa._0x2cb437,0x17dc)],_0xcf7c6c,Color['WHITE']),_0x33e01d[_0x4bc02c(0x16f1,_0x40ccaa._0x53ee29)]=Property['getValueOrDefault'](_0x1d712a['_showScanPlane'],_0xcf7c6c,!![]),_0x33e01d['scanPlaneRate']=Property[_0x4bc02c(0x14ea,0xb0b)](_0x1d712a['_scanPlaneRate'],_0xcf7c6c,0x1);}return!![];},RectangularSensorVisualizer['prototype']['isDestroyed']=function(){return![];},RectangularSensorVisualizer['prototype']['destroy']=function(){const _0x50f2d3={_0x15ab40:0xb2,_0x6e8855:0x1382};function _0x2cc0ed(_0xc4750b,_0x5cd0ad){return _0x2b6441(_0xc4750b,_0x5cd0ad-0x3fb);}const _0x4e103d=this[_0x2cc0ed(-0x67f,0x361)]['values'],_0x8347ee=this[_0x2cc0ed(-_0x50f2d3._0x15ab40,0x3ba)],_0x4dc4c8=this['_primitives'];for(let _0x37da66=_0x4e103d['length']-0x1;_0x37da66>-0x1;_0x37da66--){removePrimitive(_0x4e103d[_0x37da66],_0x8347ee,_0x4dc4c8);}for(const _0x41872d in this){delete this[_0x41872d];}function _0x4b77a5(_0x242afd,_0x261d8e){return _0x2b6441(_0x242afd,_0x261d8e-0x6eb);}return Cesium__namespace[_0x2cc0ed(0xaa6,_0x50f2d3._0x6e8855)](this);},RectangularSensorVisualizer[_0x2b6441(0x363,0x752)]['_onCollectionChanged']=function(_0x5a5b5d,_0x434bfc,_0x260926,_0x28ca21){const _0x49a948={_0x459fb1:0x6dd,_0x5e0be2:0x477,_0x39cb42:0xeed,_0x31c596:0x1465,_0x81b732:0xaf0,_0x3de37b:0x2e5,_0x511400:0x1f1f,_0x1eb6b8:0x826},_0x691852={_0x26a14d:0x54d};function _0x323d29(_0x14a38c,_0x1c7e10){return _0x306755(_0x14a38c,_0x1c7e10- -_0x691852._0x26a14d);}const _0x4acb39=this['_entitiesToVisualize'];if(!_0x4acb39)return;function _0x292dae(_0x15f9c9,_0x5459e5){return _0x2b6441(_0x5459e5,_0x15f9c9-0x40b);}const _0x4bf533=this['_hash'],_0x2da2ea=this['_primitives'];let _0x3bbc4e,_0x551db2;for(_0x3bbc4e=_0x434bfc[_0x292dae(0x1465,0xe5d)]-0x1;_0x3bbc4e>-0x1;_0x3bbc4e--){_0x551db2=_0x434bfc[_0x3bbc4e],defined$3(_0x551db2[_0x323d29(_0x49a948._0x459fb1,_0x49a948._0x5e0be2)])&&defined$3(_0x551db2['_position'])&&_0x4acb39[_0x292dae(0x69c,_0x49a948._0x39cb42)](_0x551db2['id'],_0x551db2);}for(_0x3bbc4e=_0x28ca21[_0x292dae(_0x49a948._0x31c596,_0x49a948._0x81b732)]-0x1;_0x3bbc4e>-0x1;_0x3bbc4e--){_0x551db2=_0x28ca21[_0x3bbc4e],defined$3(_0x551db2['_rectangularSensorMars'])&&defined$3(_0x551db2['_position'])?_0x4acb39[_0x323d29(0xa17,_0x49a948._0x3de37b)](_0x551db2['id'],_0x551db2):(removePrimitive(_0x551db2,_0x4bf533,_0x2da2ea),_0x4acb39['remove'](_0x551db2['id']));}for(_0x3bbc4e=_0x260926[_0x292dae(_0x49a948._0x31c596,_0x49a948._0x511400)]-0x1;_0x3bbc4e>-0x1;_0x3bbc4e--){_0x551db2=_0x260926[_0x3bbc4e],removePrimitive(_0x551db2,_0x4bf533,_0x2da2ea),_0x4acb39[_0x292dae(_0x49a948._0x1eb6b8,0x144)](_0x551db2['id']);}};const originalDefaultVisualizersCallback=Cesium__namespace[_0x306755(0x8bf,0x1121)][_0x306755(0x17b1,0x19a0)];Cesium__namespace[_0x2b6441(0x1044,0xb80)][_0x2b6441(0x1a40,0x13ff)]=function(_0x4d3d61,_0x3114b5,_0x45d955){const _0x30d1fe={_0x4aec58:0x1c6};function _0x144eae(_0x1bcee5,_0x45aa80){return _0x306755(_0x1bcee5,_0x45aa80- -0x96);}const _0x3f2ddf=_0x45d955[_0x144eae(_0x30d1fe._0x4aec58,0xbd2)],_0x5c1bb3=originalDefaultVisualizersCallback(_0x4d3d61,_0x3114b5,_0x45d955);return _0x5c1bb3['concat']([new RectangularSensorVisualizer(_0x4d3d61,_0x3f2ddf)]);};class RectangularSensor extends BasePointEntity{get['entityGraphic'](){var _0x35ffae;return(_0x35ffae=this['_entity'])===null||_0x35ffae===void 0x0?void 0x0:_0x35ffae['rectangularSensorMars'];}get[_0x2b6441(-0x8be,0x125)](){const _0x551a52={_0x2bf0b0:0xbc};function _0x2f8157(_0x5f4534,_0x4ebabc){return _0x306755(_0x5f4534,_0x4ebabc- -_0x551a52._0x2bf0b0);}return this['style'][_0x2f8157(0x8c,0x60a)];}set['radius'](_0x2c12d8){const _0x539cf6={_0x32bcd4:0xac0,_0x36e6f8:0x320,_0x464c4a:0xf8},_0x2f9859={_0x56d85a:0x1fb};function _0x226b8d(_0x36dcc6,_0x5481e2){return _0x2b6441(_0x5481e2,_0x36dcc6-_0x2f9859._0x56d85a);}function _0xae9d8b(_0x2bd211,_0x2bd106){return _0x2b6441(_0x2bd106,_0x2bd211-0x135);}this['style']['radius']=_0x2c12d8,this[_0x226b8d(_0x539cf6._0x32bcd4,0xbd5)]&&(this[_0xae9d8b(0x60e,-0xd9)][_0x226b8d(_0x539cf6._0x36e6f8,-_0x539cf6._0x464c4a)]=_0x2c12d8);}[_0x306755(0x17c7,0x130c)](){const _0x42d95a={_0x330472:0xf64,_0x580a8d:0x723,_0x1f2b5f:0x738};function _0x259ba8(_0xa9f7c5,_0xce3d14){return _0x2b6441(_0xce3d14,_0xa9f7c5-0x228);}const _0x554476={'position':this['position'],'orientation':this['getOrientation'](),'rectangularSensorMars':new RectangularSensorGraphics(RectangularSensorStyleConver['toCesiumVal'](this[_0x4f5903(_0x42d95a._0x330472,_0x42d95a._0x580a8d)]))};this[_0x4f5903(0x821,0xd33)]=this['_createEntity'](_0x554476);function _0x4f5903(_0x4d294f,_0xc68b1b){return _0x2b6441(_0x4d294f,_0xc68b1b-0x46e);}this['style'][_0x4f5903(0x117,_0x42d95a._0x1f2b5f)]&&this['_addLabel'](this['style']['label']);}['_updateStyleHook'](_0x571d68,_0x55542d){const _0x4ede79={_0x18807f:0x6d3,_0x4a3246:0x722,_0xdd929d:0x1045,_0x34aa40:0xa29},_0x26124d={_0x26ec47:0x164};function _0x223862(_0x4c4d92,_0x2d0ad3){return _0x306755(_0x2d0ad3,_0x4c4d92- -0x29a);}function _0x4191aa(_0x304247,_0x2279ca){return _0x2b6441(_0x304247,_0x2279ca-_0x26124d._0x26ec47);}if(this['_entity']&&this['isAdded']){const _0x2d1624=this[_0x223862(0x112a,_0x4ede79._0x18807f)]['dataSource'];_0x2d1624['entities'][_0x223862(_0x4ede79._0x4a3246,0x974)](this[_0x4191aa(_0x4ede79._0xdd929d,_0x4ede79._0x34aa40)]),delete this[_0x223862(0xbcc,0x21c)],this['_mountedHook'](),_0x2d1624[_0x223862(0x9ce,0xc1b)]['add'](this['_entity']);}}['_updateEntityOpacity'](_0x25566b,_0x466ac6){const _0xd19efd={_0x4be188:0x9cf,_0x4cf518:0x110a},_0x48e52e={_0x216df1:0xe7};function _0x585165(_0x146cec,_0x1076e3){return _0x2b6441(_0x146cec,_0x1076e3-_0x48e52e._0x216df1);}const _0x58f091=_0x25566b===null||_0x25566b===void 0x0?void 0x0:_0x25566b['material'];if(!_0x58f091)return![];const _0x41dbd1=getCesiumColor(_0x58f091['color'],Cesium__namespace[_0x157cac(0x9bb,_0xd19efd._0x4be188)]['WHITE']);function _0x157cac(_0x5841d6,_0x1d3599){return _0x306755(_0x5841d6,_0x1d3599- -0x565);}return!Cesium__namespace['defined'](this['_material_color_alpha'])&&(this[_0x157cac(_0xd19efd._0x4cf518,0x13ed)]=_0x41dbd1['alpha']),_0x58f091['color']=_0x41dbd1['withAlpha'](this['_material_color_alpha']*_0x466ac6),!![];}['_updateExOpacity'](_0x4f37b2){const _0x50d028={_0x5b713c:0xc79,_0x55359c:0x1951,_0x56d9a2:0x1042,_0x3745c8:0x42c,_0x1881b0:0x69b},_0x4599eb=getCesiumColor(this[_0x27ccde(_0x50d028._0x5b713c,0x890)][_0x25b29a(0xf5a,0xe95)],Cesium__namespace['Color'][_0x25b29a(0xdc4,0x6c6)]);function _0x27ccde(_0x3d190f,_0x3f1ed3){return _0x2b6441(_0x3d190f,_0x3f1ed3-0x3b7);}!Cesium__namespace['defined'](this['_lineColor_alpha'])&&(this['_lineColor_alpha']=_0x4599eb[_0x25b29a(0x1425,0x1208)]);this['entityGraphic'][_0x27ccde(_0x50d028._0x55359c,_0x50d028._0x56d9a2)]=_0x4599eb['withAlpha'](this['_lineColor_alpha']*_0x4f37b2);const _0x54fe64=getCesiumColor(this[_0x27ccde(-0xe8,0x890)]['scanPlaneColor'],Cesium__namespace['Color']['WHITE']);function _0x25b29a(_0x446e8c,_0x1ae1f5){return _0x2b6441(_0x446e8c,_0x1ae1f5-0x20a);}!Cesium__namespace['defined'](this[_0x25b29a(-0x221,_0x50d028._0x3745c8)])&&(this['_scanPlaneColor_alpha']=_0x54fe64[_0x27ccde(0xb4c,0x13b5)]),this[_0x25b29a(_0x50d028._0x1881b0,0x6e3)]['scanPlaneColor']=_0x54fe64['withAlpha'](this[_0x25b29a(0x310,0x42c)]*_0x4f37b2);}[_0x2b6441(0x9f1,0x36)](_0x5db617,_0x2e1074){return RectangularSensorStyleConver['toJSON'](_0x5db617,_0x2e1074,!![]);}}register$5(_0x2b6441(0x78b,0xa52),RectangularSensor,!![]);class EditVideo2D extends EditBase{get[_0x2b6441(0xa79,0xc56)](){const _0x2872b6={_0x23b7aa:0x243},_0x1525f1={_0x38e473:0x3a4};function _0x39ed93(_0x33357a,_0x40ff76){return _0x306755(_0x40ff76,_0x33357a- -_0x1525f1._0x38e473);}return this[_0x39ed93(_0x2872b6._0x23b7aa,0x46f)]['position'];}set[_0x306755(0x13e9,0x11f7)](_0x46e9ba){const _0x73176a={_0x1a500a:0xc0e,_0x458f49:0x6f5},_0x2f0118={_0x3f4b34:0x5e9};function _0x31edd8(_0x57a027,_0x82196){return _0x306755(_0x82196,_0x57a027- -_0x2f0118._0x3f4b34);}this['_graphic'][_0x31edd8(_0x73176a._0x1a500a,_0x73176a._0x458f49)]=_0x46e9ba;}['bindDraggers'](){const _0x55e5cb={_0x5996a3:0x54a,_0x23ee57:0x136d,_0x47d369:0xfc0},_0x1e8e65={_0x542153:0x6a0,_0x11c0bc:0x617},_0x368b8d=this['_graphic']['position'],_0x18f124=this[_0x5bf396(-_0x55e5cb._0x5996a3,0x2aa)]({'position':_0x368b8d,'onDragEnd':(_0x1def52,_0x15b8ac)=>{function _0x544a28(_0x23257b,_0x5bb734){return _0x5bf396(_0x23257b,_0x5bb734-0x471);}function _0x3507ed(_0x58e1fa,_0x16274e){return _0x5bf396(_0x16274e,_0x58e1fa-0x3f5);}this[_0x544a28(_0x1e8e65._0x542153,_0x1e8e65._0x11c0bc)][_0x544a28(0x1ca7,0x1227)]=_0x15b8ac;}});function _0x20434e(_0x1e7b0d,_0x1f6d67){return _0x2b6441(_0x1e7b0d,_0x1f6d67-0x112);}function _0x5bf396(_0x2a031e,_0x5c8757){return _0x306755(_0x2a031e,_0x5c8757- -0x441);}this[_0x5bf396(_0x55e5cb._0x23ee57,_0x55e5cb._0x47d369)][_0x5bf396(0x969,0x258)](_0x18f124);}}const _0x142cf5={};_0x142cf5[_0x2b6441(0x1041,0x97c)]=0.1,_0x142cf5[_0x306755(0x81b,0xa4c)]=!![],_0x142cf5['showFrustum']=![],_0x142cf5[_0x2b6441(0x20,0x5a8)]=0x1,_0x142cf5['flipx']=![],_0x142cf5['flipy']=![];const DEF_STYLE$v=_0x142cf5;class Video2D extends PolygonEntity{constructor(_0x4c1cd8={}){const _0x4cf975={_0x1dc2c1:0x577};function _0x4399bc(_0x5e3a0b,_0xc8b407){return _0x306755(_0xc8b407,_0x5e3a0b- -_0x4cf975._0x1dc2c1);}_0x4c1cd8['style']={...DEF_STYLE$v,..._0x4c1cd8['style']},super(_0x4c1cd8),_0x4c1cd8['position']&&(this[_0x4399bc(0xc80,0x1af)]=_0x4c1cd8['position']);}get['czmObjectEx'](){const _0x4f5006={_0x32cee3:0x11a9,_0x424d44:0x1016},_0x39b435={_0x3f505b:0xb2};let _0x294e55=[];function _0xbeb252(_0x2911ec,_0x41a138){return _0x306755(_0x41a138,_0x2911ec-_0x39b435._0x3f505b);}function _0x207a21(_0x5c6103,_0x2eaa3b){return _0x2b6441(_0x5c6103,_0x2eaa3b-0x64);}return this['_frustumPrimitive']&&_0x294e55[_0xbeb252(0x74b,-0x100)](this['_frustumPrimitive']),this[_0x207a21(0x1325,_0x4f5006._0x32cee3)]&&_0x294e55['push'](this['_entity_label']),this[_0xbeb252(_0x4f5006._0x424d44,0xe08)]&&(_0x294e55=_0x294e55['concat'](this['_entity_outlines'])),_0x294e55;}get['EditClass'](){return EditVideo2D;}get['position'](){const _0x4d0383={_0x3d5f75:0xed1};function _0x33525e(_0x17f973,_0x3e20c7){return _0x2b6441(_0x17f973,_0x3e20c7-0x5af);}return getPositionValue(this[_0x33525e(0xdc5,_0x4d0383._0x3d5f75)]);}set['position'](_0x42c42c){const _0x20c19c={_0x3390d4:0x14d5,_0x1aed61:0x1940,_0x1254ed:0xb5a};var _0x375d7a;function _0x309068(_0x4f15f1,_0x4e44ca){return _0x2b6441(_0x4e44ca,_0x4f15f1- -0x61);}this['_point']=LngLatPoint[_0x192f68(_0x20c19c._0x3390d4,_0x20c19c._0x1aed61)](_0x42c42c),this[_0x309068(0x8c1,0x379)]=(_0x375d7a=this['_point'])===null||_0x375d7a===void 0x0?void 0x0:_0x375d7a[_0x192f68(0x191,_0x20c19c._0x1254ed)]();function _0x192f68(_0x140085,_0x14395a){return _0x306755(_0x140085,_0x14395a-0x170);}this['_entity']&&(this[_0x192f68(0x1702,0x1879)](),this['_updatePositionsHook'](),this['_bindHierarchy']());}get['point'](){return this['_point'];}get['coordinate'](){const _0x2fb87d={_0x2eae94:0x12ac,_0x2a87da:0x1b06};function _0x6e8b27(_0x52903e,_0x8327cc){return _0x2b6441(_0x8327cc,_0x52903e- -0x1c);}return this[_0x6e8b27(_0x2fb87d._0x2eae94,_0x2fb87d._0x2a87da)]['toArray']();}get[_0x306755(0x901,0xcc8)](){const _0xa51df9={_0x3f1230:0x973},_0x37a152={_0x41c27a:0x355};function _0x1cdd94(_0x507e8c,_0x405667){return _0x306755(_0x507e8c,_0x405667- -_0x37a152._0x41c27a);}return this['options'][_0x1cdd94(0x6f7,_0xa51df9._0x3f1230)];}set['targetPosition'](_0x26c0b1){const _0x50230e={_0x678e9:0x103c,_0x473dba:0xa6b,_0x2f013a:0x82f,_0x385e49:0x1104,_0x28febd:0x160e,_0xf4c742:0xfca,_0x1ab5a9:0x866,_0xafaefc:0x3fa,_0x424425:0x1450,_0x8885d0:0xe6f,_0x31c9ef:0x1009,_0x52eb4e:0x12de,_0x513738:0xaee},_0x1f9cf2={_0x2e3db4:0x1bb};var _0x35e27e;this['options']['targetPosition']=_0x26c0b1;if(!this[_0x392e74(0x160e,0xd43)])return;const _0x5c7c2d=this[_0x392e74(_0x50230e._0x678e9,_0x50230e._0x473dba)];if(!_0x5c7c2d)return;const _0x4a9d77=LngLatPoint[_0x392e74(_0x50230e._0x2f013a,_0x50230e._0x385e49)](_0x26c0b1,(_0x35e27e=this[_0x392e74(_0x50230e._0x28febd,_0x50230e._0xf4c742)])===null||_0x35e27e===void 0x0?void 0x0:_0x35e27e[_0x392e74(0x9f1,0xe09)]);this['distance']=Cesium__namespace[_0x392e74(_0x50230e._0x1ab5a9,0x11f8)][_0x54b930(0x3c2,0xbbb)](_0x5c7c2d,_0x4a9d77);function _0x392e74(_0x5db9ff,_0x3d4b63){return _0x306755(_0x3d4b63,_0x5db9ff- -_0x1f9cf2._0x2e3db4);}const _0x55c0f5=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace['Cartesian3'][_0x392e74(0xf63,0x1513)](_0x4a9d77,_0x5c7c2d,new Cesium__namespace[(_0x54b930(-0x296,0x6bf))]()),new Cesium__namespace['Cartesian3']()),_0x4cf183=Cesium__namespace['Cartesian3'][_0x54b930(-_0x50230e._0xafaefc,0x3e5)](_0x5c7c2d,new Cesium__namespace[(_0x54b930(0x119,0x6bf))]()),_0xcff837=new Cesium__namespace['Camera'](this[_0x392e74(_0x50230e._0x28febd,0xd26)]['scene']);function _0x54b930(_0x38cc5f,_0xbe7041){return _0x2b6441(_0x38cc5f,_0xbe7041-0x23f);}_0xcff837[_0x54b930(0x7cc,0xe95)]=_0x5c7c2d,_0xcff837['direction']=_0x55c0f5,_0xcff837['up']=_0x4cf183,this['style']['heading']=Cesium__namespace['Math'][_0x54b930(0x13b6,0xab6)](_0xcff837[_0x54b930(_0x50230e._0x424425,_0x50230e._0x8885d0)])-0x5a,this['style']['pitch']=Cesium__namespace[_0x54b930(0xbeb,_0x50230e._0x31c9ef)]['toDegrees'](_0xcff837[_0x54b930(0x847,0x843)]),this['_updateDraw'](),this[_0x392e74(_0x50230e._0x52eb4e,_0x50230e._0x513738)]();}get['heading'](){return this['style']['heading']??0x0;}set['heading'](_0x186ced){const _0x1d012d={_0x46d580:0xa51,_0x20c0d4:0x1107};this['style'][_0x579033(0xbc1,_0x1d012d._0x46d580)]=_0x186ced;function _0x579033(_0x2984d1,_0x3b6db1){return _0x306755(_0x3b6db1,_0x2984d1- -0x610);}this['_updateDraw']();function _0x12c101(_0xe9e1a9,_0xab8e72){return _0x306755(_0xab8e72,_0xe9e1a9- -0x392);}this[_0x12c101(_0x1d012d._0x20c0d4,0x9a0)]();}get['pitch'](){return this['style']['pitch']??0x0;}set['pitch'](_0x561327){this['style']['pitch']=_0x561327,this['_updateDraw'](),this['_bindHierarchy']();}get[_0x306755(-0xb0,0x9ec)](){return this['style']['roll']??0x0;}set[_0x2b6441(0xad6,0x44b)](_0x442fc2){const _0x2ecd52={_0x4d8a49:0x2d9};this['style']['roll']=_0x442fc2;function _0x26b6b0(_0x39e905,_0x1b6cd0){return _0x2b6441(_0x39e905,_0x1b6cd0-_0x2ecd52._0x4d8a49);}this['_updateDraw'](),this[_0x26b6b0(0xf90,0x11d1)]();}get[_0x2b6441(0x18bf,0x1146)](){const _0x510779={_0x3e4abe:0x1671,_0x3533d7:0x10ac};function _0x1214e6(_0x2aa0dc,_0x762b9c){return _0x2b6441(_0x762b9c,_0x2aa0dc-0x52b);}function _0x500141(_0x4e8199,_0x68f670){return _0x306755(_0x4e8199,_0x68f670- -0x1f6);}return this[_0x500141(0xe89,0x660)][_0x1214e6(_0x510779._0x3e4abe,_0x510779._0x3533d7)];}set['angle'](_0x5a9595){const _0x4efc77={_0x399f03:0x1535,_0x4caa7c:0xcac},_0x3e8b59={_0x13cb41:0xe6},_0x5e5fbd={_0x2fc5c4:0x337};function _0x3b2c91(_0x31e14f,_0x9325de){return _0x306755(_0x31e14f,_0x9325de- -_0x5e5fbd._0x2fc5c4);}this['style']['angle']=_0x5a9595;function _0x128aee(_0x151e20,_0x39b184){return _0x2b6441(_0x151e20,_0x39b184-_0x3e8b59._0x13cb41);}this[_0x128aee(_0x4efc77._0x399f03,0x124e)](),this[_0x128aee(_0x4efc77._0x4caa7c,0xfde)]();}get[_0x306755(0xe2,0x8bd)](){const _0x99240f={_0xa2d0e9:0x451};function _0xf3c8d6(_0x5c329f,_0x498dd9){return _0x2b6441(_0x5c329f,_0x498dd9-_0x99240f._0xa2d0e9);}return this['style']['angle2']??this['style'][_0xf3c8d6(0xc1e,0x1597)];}set[_0x306755(0x59b,0x8bd)](_0x1991b5){const _0x4fd6af={_0x40a1b8:0x16de},_0x5b6384={_0x162f44:0x2b};function _0x498d2f(_0x3972ff,_0x56e1dd){return _0x306755(_0x56e1dd,_0x3972ff- -_0x5b6384._0x162f44);}this['style']['angle2']=_0x1991b5,this[_0x498d2f(_0x4fd6af._0x40a1b8,0x20d6)](),this['_bindHierarchy']();}get['distance'](){return this['style']['distance'];}set['distance'](_0x5eb6d0){const _0x3033d4={_0x144874:0xe9c,_0x4f4c45:0x1418,_0x163624:0x1e4f},_0x20ff20={_0x1e6369:0x520},_0x1dea0a={_0x52367f:0x103};this['style'][_0x5ab50d(_0x3033d4._0x144874,0x1907)]=_0x5eb6d0,this['_updateDraw']();function _0x4542cb(_0x34f11e,_0x37ec6e){return _0x306755(_0x37ec6e,_0x34f11e-_0x1dea0a._0x52367f);}function _0x5ab50d(_0x187c2b,_0x1275e1){return _0x2b6441(_0x1275e1,_0x187c2b-_0x20ff20._0x1e6369);}this[_0x5ab50d(_0x3033d4._0x4f4c45,_0x3033d4._0x163624)]();}get[_0x306755(0xb47,0xb49)](){return this['style']['opacity'];}set[_0x306755(0x14c4,0xb49)](_0x340b3b){const _0x445636={_0x4700f8:0x14b8,_0x2c5f10:0xa13};this['style'][_0xbcf37b(0xdde,0x6f6)]=_0x340b3b;function _0x30b03b(_0x3a3410,_0x274b41){return _0x306755(_0x3a3410,_0x274b41-0x37);}function _0xbcf37b(_0x25d5e7,_0x229da3){return _0x306755(_0x25d5e7,_0x229da3- -0x453);}this[_0xbcf37b(_0x445636._0x4700f8,0xa13)]&&(this[_0xbcf37b(0x29a,_0x445636._0x2c5f10)]['polygon'][_0x30b03b(0x13aa,0x1998)]['_color']['_value']['alpha']=_0x340b3b,this['_entity']['polygon']['material']['transparent']=_0x340b3b!==0x1);}get['flipx'](){function _0x1ce9a2(_0x3f7635,_0x242e5e){return _0x2b6441(_0x3f7635,_0x242e5e- -0x9a);}return this[_0x1ce9a2(0x579,0x21b)]['flipx'];}set['flipx'](_0x3b5e37){const _0x12a6e7={_0x48bed1:0x108,_0xca0a88:0xdc0,_0x29b9cb:0xe8b,_0x2f88ee:0xbb3};function _0x3c5e62(_0xbfa08c,_0x5fcdd2){return _0x2b6441(_0x5fcdd2,_0xbfa08c-0x4fb);}function _0x27a6ac(_0xafc9d2,_0x11bd92){return _0x306755(_0xafc9d2,_0x11bd92- -0x375);}this[_0x27a6ac(_0x12a6e7._0x48bed1,0x4e1)][_0x27a6ac(0xbf5,0x300)]=_0x3b5e37,this[_0x27a6ac(0xfb4,0xaf1)]&&(this[_0x3c5e62(_0x12a6e7._0xca0a88,0x17b7)][_0x27a6ac(_0x12a6e7._0x29b9cb,_0x12a6e7._0x2f88ee)]['material']['flipx']=_0x3b5e37);}get[_0x306755(0x902,0x898)](){const _0x50475c={_0x45ea77:0x899},_0x3f28fd={_0x737280:0x43};function _0x4e0609(_0x237202,_0x476c3d){return _0x306755(_0x237202,_0x476c3d-_0x3f28fd._0x737280);}return this[_0x4e0609(0xf26,_0x50475c._0x45ea77)]['showFrustum'];}set[_0x306755(-0xd6,0x898)](_0x50f95e){const _0x41889c={_0x298897:0x751,_0x4942e1:0x481};function _0xee5be4(_0x160318,_0x4ee9d4){return _0x306755(_0x160318,_0x4ee9d4- -0x24);}function _0x1b0130(_0x1acefe,_0x25a9f2){return _0x306755(_0x25a9f2,_0x1acefe- -0x147);}this['style'][_0x1b0130(_0x41889c._0x298897,_0x41889c._0x4942e1)]=_0x50f95e,this['_frustumPrimitive'][_0x1b0130(0x144c,0x1abc)]=_0x50f95e;}get[_0x306755(0x14c9,0x1933)](){const _0x5a2815={_0x1b8cc5:0x196d,_0x3e13ac:0x128c};function _0xdbc7bc(_0x49d3fc,_0x55a52a){return _0x306755(_0x55a52a,_0x49d3fc-0x3a);}return this['options'][_0xdbc7bc(_0x5a2815._0x1b8cc5,_0x5a2815._0x3e13ac)]??!![];}set['play'](_0x258922){const _0x56b0c5={_0x23bf95:0x12f2,_0x2e1ebe:0xce9,_0x40487b:0x19ce,_0x1264e8:0x1291,_0x557e13:0xe98,_0x4185f0:0x1959,_0x242aed:0x12f2,_0x4ac8c3:0xb06,_0x51dcf9:0x37c,_0x258efd:0x55d},_0x576d8d={_0x6b4990:0x5f2};function _0x1d4691(_0x21faa6,_0x2fd887){return _0x2b6441(_0x2fd887,_0x21faa6- -0x75);}function _0x36c229(_0x32a5ad,_0x5531a5){return _0x2b6441(_0x32a5ad,_0x5531a5-_0x576d8d._0x6b4990);}this[_0x1d4691(0x647,0x5cc)]['play']=_0x258922;if(!this[_0x1d4691(_0x56b0c5._0x23bf95,_0x56b0c5._0x2e1ebe)])return;try{_0x258922?(this['_videoSynchronizer']&&(this['_videoSynchronizer'][_0x36c229(_0x56b0c5._0x40487b,_0x56b0c5._0x1264e8)]=this[_0x36c229(_0x56b0c5._0x557e13,_0x56b0c5._0x4185f0)]),this[_0x1d4691(_0x56b0c5._0x242aed,0x11b4)]['play']()):(this[_0x1d4691(0x11d4,0x1409)]&&(this['_videoSynchronizer'][_0x36c229(_0x56b0c5._0x4ac8c3,0x1291)]=undefined),this[_0x36c229(0x111c,0x1959)][_0x36c229(-_0x56b0c5._0x51dcf9,_0x56b0c5._0x258efd)]());}catch(_0x6f2d65){}}[_0x306755(0x805,0x87b)](){const _0x237a37={_0x39290d:0x16e3,_0x8429d9:0x246,_0x1d04ce:0x12f8,_0x271463:0x7d1,_0x5bea3a:0x16e3,_0x480209:0x14d1,_0x285e4d:0x19d1,_0x1d2a38:0x246,_0x116163:0x3e0,_0x48259d:0x631,_0x226224:0x3af};function _0x31cf06(_0x8b725f,_0x40fc54){return _0x2b6441(_0x40fc54,_0x8b725f-0x37c);}var _0x34713a;this['_hasRemoveElement']&&(_0x34713a=this[_0x1b147b(0xf53,0x12f8)])!==null&&_0x34713a!==void 0x0&&_0x34713a['parentNode']&&(this['_videoContainer']['parentNode']['removeChild'](this[_0x1b147b(0xaaf,0x12f8)]),delete this['_hasRemoveElement'],delete this[_0x1b147b(0xfc6,0x12f8)]);function _0x1b147b(_0x1177ac,_0x449327){return _0x306755(_0x1177ac,_0x449327- -0x610);}this['_videoSynchronizer']&&(this['_videoSynchronizer']['destroy'](),delete this['_videoSynchronizer']);if(this['style']['url'])this[_0x31cf06(_0x237a37._0x39290d,0x1af8)]=createVideo(this[_0x1b147b(0x15a,_0x237a37._0x8429d9)]['url'],this['style']['fileType'],'',document['body']),this['_videoContainer']['style'][_0x31cf06(0x3ce,-0x36b)]='none',!this['play']&&this[_0x1b147b(0x1a2e,_0x237a37._0x1d04ce)]['removeAttribute']('autoplay'),this['_hasRemoveElement']=!![];else this[_0x31cf06(0x631,0x88f)][_0x1b147b(_0x237a37._0x271463,0x9eb)]&&(this[_0x31cf06(_0x237a37._0x5bea3a,0xe25)]=this['style']['container']);this[_0x1b147b(_0x237a37._0x480209,0x12f8)]&&((this['options']['synchronizer']??!![])&&(this[_0x1b147b(0x732,0x11da)]=new Cesium__namespace['VideoSynchronizer']({'clock':this['_map']['clock'],'element':this[_0x1b147b(0x1bad,0x12f8)]})),this['_entity']['polygon']['material']=new Image2MaterialProperty({'image':this[_0x31cf06(0x16e3,_0x237a37._0x285e4d)],'maskImage':this[_0x1b147b(0xc57,_0x237a37._0x1d2a38)]['maskImage'],'color':Cesium__namespace['Color']['WHITE']['withAlpha'](this[_0x31cf06(0x631,_0x237a37._0x116163)]['opacity']),'transparent':this[_0x31cf06(0x631,0xb7c)][_0x31cf06(0x924,-0xd3)]!==0x1,'flipx':this['style'][_0x31cf06(0x450,0x400)],'flipy':this[_0x31cf06(_0x237a37._0x48259d,-_0x237a37._0x226224)]['flipy']}));}['setOpacity'](_0x3aa251){const _0x594084={_0x34f708:0x4df,_0x188564:0x9e4,_0x1fd732:0xe2f,_0x3cdd0b:0x605,_0x17a217:0xeae,_0x24fbc3:0xd65,_0x13098f:0xee9},_0x436a90={_0x22ef91:0x4a0};this[_0x1e177c(0x312,_0x594084._0x34f708)]['opacity']=_0x3aa251;function _0x1e177c(_0x94dad4,_0x37c05f){return _0x306755(_0x37c05f,_0x94dad4- -0x544);}function _0x45a9c4(_0x121653,_0x51b7f2){return _0x2b6441(_0x121653,_0x51b7f2-_0x436a90._0x22ef91);}this[_0x1e177c(0x922,-0x16d)]&&(this['_entity'][_0x1e177c(_0x594084._0x188564,_0x594084._0x1fd732)][_0x1e177c(0x141d,0x1328)][_0x1e177c(_0x594084._0x3cdd0b,_0x594084._0x17a217)]=_0x3aa251,this[_0x45a9c4(0x1009,_0x594084._0x24fbc3)]['polygon']['material']['transparent']=this[_0x45a9c4(_0x594084._0x13098f,0x755)]['opacity']!==0x1);}['_mountedHook'](){const _0x5d7fbd={_0x3508e7:0xad8,_0x8de4a3:0x178d},_0x4f8dee={_0xb0b2bc:0x35};super[_0x2ce790(0x145b,_0x5d7fbd._0x3508e7)]();function _0x3325a6(_0x5210c8,_0x4b52cd){return _0x2b6441(_0x4b52cd,_0x5210c8- -_0x4f8dee._0xb0b2bc);}this['options']['targetPosition']&&(this[_0x2ce790(0xe17,_0x5d7fbd._0x8de4a3)]=this['options']['targetPosition']);function _0x2ce790(_0x2fee3d,_0x28f194){return _0x306755(_0x28f194,_0x2fee3d-0x14f);}this['updateVideoContainer']();}[_0x306755(0x1427,0x105d)](_0x5ac676,_0x52cea1){const _0x449a57={_0x1dbb37:0x2e4};function _0x36d6db(_0x569788,_0x27b1b3){return _0x2b6441(_0x27b1b3,_0x569788-_0x449a57._0x1dbb37);}super['_updateStyleHook'](_0x5ac676,_0x52cea1),(_0x52cea1['url']||_0x52cea1['container'])&&this[_0x36d6db(0x5be,0x401)]();}[_0x306755(0xf60,0x99e)](_0xfec1e6){const _0x186bf4={_0x422302:0x1e35,_0x397e9b:0x1d6,_0x2e6972:0x594,_0x1cb4f5:0xc40},_0x3ef940={_0xf65133:0x4b3};function _0x2ba3c9(_0x43701d,_0x3e08d3){return _0x2b6441(_0x3e08d3,_0x43701d-_0x3ef940._0xf65133);}this[_0x2ba3c9(0x161b,_0x186bf4._0x422302)]();function _0x502460(_0x53a135,_0x9a18de){return _0x306755(_0x53a135,_0x9a18de- -0x4cd);}this[_0x2ba3c9(0x13ab,0x1966)](),this[_0x502460(_0x186bf4._0x397e9b,_0x186bf4._0x2e6972)]['entities'][_0x2ba3c9(_0x186bf4._0x1cb4f5,0x16d6)](this[_0x2ba3c9(0xd78,0x10f7)]);}['_removedHook'](){const _0x2decee={_0x1c5414:0xf96,_0x1aa89c:0x12ed,_0x2b7cd7:0x134e},_0xa5787f={_0x19d6dd:0x111},_0x44ae1f={_0x430bb5:0x105};var _0x1000c3;this[_0x3a48ad(_0x2decee._0x1c5414,0x1127)]&&(this[_0x3a48ad(0x1592,0x12b3)]['primitiveCollection'][_0x2d75ed(0xcd1,0x520)](this[_0x2d75ed(0x165c,0xd9c)]),delete this['_frustumPrimitive']);this['dataSource']['entities']['remove'](this[_0x2d75ed(_0x2decee._0x1aa89c,0x9ca)]);function _0x2d75ed(_0x4e0089,_0x106547){return _0x2b6441(_0x4e0089,_0x106547-_0x44ae1f._0x430bb5);}function _0x3a48ad(_0xc0338,_0xa10141){return _0x306755(_0xc0338,_0xa10141- -_0xa5787f._0x19d6dd);}this[_0x2d75ed(0x1485,_0x2decee._0x2b7cd7)]&&(this['_videoSynchronizer']['destroy'](),delete this['_videoSynchronizer']),this['_hasRemoveElement']&&(_0x1000c3=this[_0x3a48ad(0x1963,0x17f7)])!==null&&_0x1000c3!==void 0x0&&_0x1000c3['parentNode']&&(this['_videoContainer']['parentNode']['removeChild'](this['_videoContainer']),delete this['_hasRemoveElement'],delete this[_0x2d75ed(0x167f,0x146c)]);}[_0x2b6441(0x12ec,0x1168)](){const _0x3fff04={_0x2d92e3:0x1136,_0x4a4e76:0x1b31,_0x434452:0x1235,_0x3ea68f:0x10ab,_0x19e185:0x6e9,_0x1f1097:0xa81,_0xfb3e22:0xec7,_0x9d2e55:0x14bb,_0x5dbde9:0xec7,_0x559f30:0x855,_0x6bd369:0x193c,_0x16d3a0:0x1725,_0x3d367d:0x19c7,_0x20fdbd:0x1621,_0x222185:0xae1,_0x25bab7:0x79a,_0x3ea208:0x37e,_0x3708f4:0x14bb,_0x501a0f:0x4bf,_0x43bcbd:0xd1c,_0x457a87:0x67c,_0x59125d:0x195e,_0x2baccd:0x8ac,_0x275262:0xf5e,_0x122c56:0x477,_0x16dee0:0x126e,_0x4aebf1:0x897,_0x2320a2:0x116,_0x349a4e:0xa5f,_0x3c382f:0x135a},_0x4bcd04={_0x5cd2a1:0x150},_0xd4a1da={_0x3287e3:0x5df};if(!this[_0x4e4e7d(_0x3fff04._0x2d92e3,0x1807)])return;const _0x276768=this[_0x4e4e7d(_0x3fff04._0x4a4e76,_0x3fff04._0x434452)];function _0x4e4e7d(_0x2ff9c3,_0x420394){return _0x2b6441(_0x2ff9c3,_0x420394-_0xd4a1da._0x3287e3);}if(!_0x276768)return;const _0x3fc83a=new Cesium__namespace[(_0x3018ed(_0x3fff04._0x3ea68f,0x15e8))]['fromDegrees'](this['heading']+0x5a,this[_0x3018ed(_0x3fff04._0x19e185,0xcf5)],this['roll']),_0x1c6f96=new Cesium__namespace['Camera'](this['_map']['scene']);_0x1c6f96['position']=_0x276768,_0x1c6f96[_0x3018ed(_0x3fff04._0x1f1097,_0x3fff04._0xfb3e22)]['fov']=Cesium__namespace[_0x3018ed(0xe73,_0x3fff04._0x9d2e55)]['toRadians'](this['angle']*0x2),_0x1c6f96[_0x3018ed(0x121c,_0x3fff04._0x5dbde9)][_0x4e4e7d(0x12f0,_0x3fff04._0x559f30)]=this[_0x4e4e7d(_0x3fff04._0x6bd369,_0x3fff04._0x16d3a0)]/this['angle2'],_0x1c6f96[_0x3018ed(0x15f7,0xec7)]['near']=0.01,_0x1c6f96['frustum'][_0x4e4e7d(0x1461,0x1027)]=this['style']['distance'];const _0x56d7b3={};_0x56d7b3[_0x4e4e7d(0x140f,0x120f)]=_0x3fc83a[_0x3018ed(_0x3fff04._0x3d367d,0x1321)],_0x56d7b3['pitch']=_0x3fc83a['pitch'],_0x56d7b3['roll']=_0x3fc83a['roll'];const _0x39083b={};_0x39083b[_0x3018ed(0x1705,_0x3fff04._0x20fdbd)]=_0x276768,_0x39083b['orientation']=_0x56d7b3,_0x1c6f96['setView'](_0x39083b),this['_createFrustumPrimitive'](_0x1c6f96);const _0x599740=_0x1c6f96['directionWC'],_0x55b789=_0x1c6f96[_0x3018ed(0x1cb,_0x3fff04._0x222185)],_0x21a613=_0x1c6f96['rightWC'];function _0x3018ed(_0x835c25,_0x8f33ac){return _0x306755(_0x835c25,_0x8f33ac-_0x4bcd04._0x5cd2a1);}const _0x46b436=new Cesium__namespace['Ray'](_0x276768,_0x599740),_0x28b1b8=Cesium__namespace[_0x4e4e7d(0xd83,0x11c6)][_0x4e4e7d(0x195,_0x3fff04._0x25bab7)](_0x46b436,this['style']['distance'],new Cesium__namespace[(_0x4e4e7d(_0x3fff04._0x3ea208,0xa5f))]()),_0x2d971c=Cesium__namespace[_0x3018ed(0x13b8,_0x3fff04._0x3708f4)][_0x3018ed(_0x3fff04._0x501a0f,_0x3fff04._0x43bcbd)](this['angle']),_0xc1b825=Math['tan'](_0x2d971c),_0x511cd8=this[_0x3018ed(0x1b,0x9a6)][_0x3018ed(_0x3fff04._0x457a87,0x106d)]*_0xc1b825,_0x972dca=_0x511cd8/_0x1c6f96['frustum']['aspectRatio'],_0x2d88f4=Math['sqrt'](_0x511cd8*_0x511cd8+_0x972dca*_0x972dca),_0x5f54f7=new Cesium__namespace['Cartesian3'](),_0x411bb8=new Cesium__namespace['Ray'](_0x28b1b8,_0x21a613),_0x151c87=Cesium__namespace[_0x3018ed(_0x3fff04._0x59125d,0x12d8)][_0x4e4e7d(0x10ed,_0x3fff04._0x25bab7)](_0x411bb8,_0x511cd8,new Cesium__namespace['Cartesian3']()),_0x1c321b=new Cesium__namespace['Ray'](_0x151c87,_0x55b789);Cesium__namespace['Ray']['getPoint'](_0x1c321b,_0x972dca,_0x5f54f7);const _0x38a023=new Cesium__namespace['Cartesian3'](),_0x2c1d18=Cesium__namespace['Cartesian3']['negate'](_0x55b789,new Cesium__namespace['Cartesian3']()),_0x29c46f=new Cesium__namespace['Ray'](_0x151c87,_0x2c1d18);Cesium__namespace['Ray'][_0x3018ed(0x6c3,_0x3fff04._0x2baccd)](_0x29c46f,_0x972dca,_0x38a023);const _0x168e35=new Cesium__namespace[(_0x4e4e7d(_0x3fff04._0x275262,0xa5f))](),_0x1e2a85=Cesium__namespace[_0x3018ed(0xe7d,0xb71)][_0x3018ed(_0x3fff04._0x122c56,0x897)](Cesium__namespace['Cartesian3'][_0x3018ed(0xa16,_0x3fff04._0x16dee0)](_0x28b1b8,_0x5f54f7,new Cesium__namespace[(_0x3018ed(0x10b2,0xb71))]()),new Cesium__namespace[(_0x3018ed(0xf80,0xb71))]()),_0x5cca95=new Cesium__namespace['Ray'](_0x28b1b8,_0x1e2a85);Cesium__namespace['Ray']['getPoint'](_0x5cca95,_0x2d88f4,_0x168e35);const _0x1812ff=new Cesium__namespace['Cartesian3'](),_0x5565e0=Cesium__namespace[_0x4e4e7d(0x50c,0xa5f)][_0x3018ed(-0x13e,_0x3fff04._0x4aebf1)](Cesium__namespace['Cartesian3']['subtract'](_0x28b1b8,_0x38a023,new Cesium__namespace['Cartesian3']()),new Cesium__namespace[(_0x4e4e7d(_0x3fff04._0x2320a2,_0x3fff04._0x349a4e))]()),_0x539239=new Cesium__namespace['Ray'](_0x28b1b8,_0x5565e0);Cesium__namespace[_0x3018ed(_0x3fff04._0x3c382f,0x12d8)][_0x4e4e7d(0xfcc,0x79a)](_0x539239,_0x2d88f4,_0x1812ff);const _0x2157c8=[_0x1812ff,_0x5f54f7,_0x38a023,_0x168e35];this[_0x3018ed(0x831,0xc24)]=_0x2157c8,this['_positions_draw']&&(this['_positions_draw']=this['_positions']);}['_bindHierarchy'](){const _0x2ba6f1={_0x2f4c14:0xf3e,_0x5f16e5:0x1721,_0x2ee3c0:0x3c0,_0x3cc570:0xa30,_0xda5cfb:0x126b,_0x20c2a6:0xbac,_0x2e421d:0x91c},_0x5053ec={_0x2c30d9:0x147};function _0x3dff7d(_0x214c6c,_0x496692){return _0x2b6441(_0x496692,_0x214c6c-0x679);}function _0x48dae9(_0x1fdd3b,_0x51dc4b){return _0x306755(_0x51dc4b,_0x1fdd3b- -_0x5053ec._0x2c30d9);}if(!this[_0x3dff7d(_0x2ba6f1._0x2f4c14,_0x2ba6f1._0x5f16e5)])return;if(this['_position']instanceof Cesium__namespace[_0x3dff7d(0xb27,0x7ef)]||this['_position']instanceof Cesium__namespace['SampledPositionProperty']){const _0x29354c=new Cesium__namespace[(_0x48dae9(0x38c,-_0x2ba6f1._0x2ee3c0))]();this[_0x48dae9(0xd1f,_0x2ba6f1._0x3cc570)]['polygon']['hierarchy']=new Cesium__namespace[(_0x48dae9(0x908,_0x2ba6f1._0xda5cfb))](_0x5b146d=>{return this['_updateDraw'](),_0x29354c['positions']=this['_positions'],_0x29354c;},![]);}else this['_entity']['polygon']['hierarchy']=new Cesium__namespace[(_0x48dae9(0x38c,0x11c))](this[_0x3dff7d(_0x2ba6f1._0x20c2a6,_0x2ba6f1._0x2e421d)]);}['_createFrustumPrimitive'](_0x502fae){const _0x363b4b={_0x5e2cd4:0x3c1,_0x2f86eb:0xb9f,_0x3be86b:0x4c6,_0x3ddfad:0xeec,_0x4e522b:0x9c4,_0x44313a:0xf4c,_0x251500:0x139f,_0x4abe46:0xeec,_0x86422a:0xd03,_0x225ac0:0x24,_0xcb3997:0x845,_0x69cb2:0x216,_0x2c3cdd:0x1761,_0x23fcdb:0x29,_0x47458e:0x458,_0xdcde26:0x3a6,_0x40537e:0x7d3,_0x3d61ed:0xeb6,_0x5a2d67:0x86a},_0x3d06a9=_0x502fae[_0x5c7715(_0x363b4b._0x5e2cd4,_0x363b4b._0x2f86eb)],_0x4c307f=_0x502fae['upWC'];let _0x1e541e=_0x502fae[_0x10f23d(0xafe,0x3b3)];_0x1e541e=Cesium__namespace[_0x5c7715(_0x363b4b._0x3be86b,0x513)]['negate'](_0x1e541e,new Cesium__namespace[(_0x5c7715(0xed8,0x513))]());const _0x4b2ca7=new Cesium__namespace['Matrix3']();Cesium__namespace[_0x10f23d(_0x363b4b._0x3ddfad,_0x363b4b._0x4e522b)][_0x5c7715(_0x363b4b._0x44313a,0x139f)](_0x4b2ca7,0x0,_0x1e541e,_0x4b2ca7),Cesium__namespace[_0x10f23d(0xeec,0x4ab)][_0x5c7715(0x1113,_0x363b4b._0x251500)](_0x4b2ca7,0x1,_0x4c307f,_0x4b2ca7),Cesium__namespace[_0x10f23d(_0x363b4b._0x4abe46,0x679)][_0x5c7715(_0x363b4b._0x86422a,0x139f)](_0x4b2ca7,0x2,_0x3d06a9,_0x4b2ca7);function _0x10f23d(_0x574dee,_0x906dff){return _0x306755(_0x906dff,_0x574dee- -0x4c4);}const _0x2e76b6=Cesium__namespace['Quaternion'][_0x10f23d(-_0x363b4b._0x225ac0,-_0x363b4b._0xcb3997)](_0x4b2ca7,new Cesium__namespace[(_0x10f23d(_0x363b4b._0x69cb2,-0x7b3))]());this['_frustumPrimitive']&&this['_layer']['primitiveCollection']['remove'](this['_frustumPrimitive']);const _0x1dc973={};function _0x5c7715(_0xab9f7c,_0x581003){return _0x306755(_0xab9f7c,_0x581003- -0x50e);}_0x1dc973['origin']=_0x502fae['position'],_0x1dc973['orientation']=_0x2e76b6,_0x1dc973['frustum']=_0x502fae['frustum'],_0x1dc973[_0x5c7715(_0x363b4b._0x2c3cdd,0x13b8)]=!![];const _0x21fdf3={};_0x21fdf3['translucent']=![],_0x21fdf3['flat']=!![],this['_frustumPrimitive']=new Cesium__namespace[(_0x10f23d(0x638,0x819))]({'geometryInstances':new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new Cesium__namespace[(_0x5c7715(0xa0d,-_0x363b4b._0x23fcdb))](_0x1dc973),'attributes':{'color':Cesium__namespace['ColorGeometryInstanceAttribute'][_0x10f23d(_0x363b4b._0x47458e,-_0x363b4b._0xdcde26)](Cesium__namespace['Color']['AZURE'])}}),'appearance':new Cesium__namespace['PerInstanceColorAppearance'](_0x21fdf3),'asynchronous':![],'show':this['showFrustum']&&this['show']}),this[_0x5c7715(_0x363b4b._0x40537e,_0x363b4b._0x3d61ed)]['primitiveCollection'][_0x10f23d(_0x363b4b._0x5a2d67,0xf3)](this['_frustumPrimitive']);}[_0x306755(0xe6d,0x1600)](_0x4333e2,_0x370a81){const _0x54e2cc={_0x2ca7f0:0x943},_0x3f49d1={};function _0x5330df(_0x2d8427,_0x3a0294){return _0x306755(_0x3a0294,_0x2d8427- -0x2ac);}_0x3f49d1['onlySimpleType']=!![];const _0x20e44a=getAttrVal(_0x4333e2,_0x3f49d1);return this['style']['container']&&(_0x20e44a['container']=_0x5330df(_0x54e2cc._0x2ca7f0,0x12de)+this['_videoContainer']['id']+')'),_0x20e44a;}[_0x306755(0x874,0xe56)](_0x282700){const _0x5b0b8c={_0x53c408:0xdda},_0x291b88={_0x58462f:0x16};function _0x3d48a7(_0x998f54,_0x290929){return _0x306755(_0x998f54,_0x290929- -_0x291b88._0x58462f);}return{'type':'Point','coordinates':this['getCoordinate'](_0x282700===null||_0x282700===void 0x0?void 0x0:_0x282700[_0x3d48a7(0x1699,_0x5b0b8c._0x53c408)])};}['getCoordinate'](_0x4b027c){return this['point']?this['point']['toArray'](_0x4b027c):[];}['setView'](){const _0x124da0={_0x34db5a:0x14ba,_0x2e3427:0xd1b},_0x24fd62={_0x291cef:0x13a};function _0x9d8584(_0x1f0135,_0x492047){return _0x2b6441(_0x1f0135,_0x492047-_0x24fd62._0x291cef);}function _0x51facc(_0x3fae7f,_0xd4f25f){return _0x306755(_0xd4f25f,_0x3fae7f-0x14f);}if(!this['_map'])return;this['_map'][_0x51facc(0x1197,0x6c4)][_0x9d8584(0x1119,0xa80)]({'destination':this['position'],'orientation':{'heading':Cesium__namespace[_0x51facc(_0x124da0._0x34db5a,0x15a0)]['toRadians'](this[_0x51facc(0x1320,0x1d91)]),'pitch':Cesium__namespace[_0x51facc(0x14ba,0x1607)]['toRadians'](this['pitch']),'roll':Cesium__namespace['Math'][_0x51facc(_0x124da0._0x2e3427,0xe65)](this['roll'])}});}['startDraw'](_0x207c28){const _0x4e4428={_0x2397f5:0x4f},_0x1de7da={_0x26fc37:0x4e6},_0x125497={_0x4fb6cf:0x2fb};if(this[_0x4d0883(0xe03,0xf3c)])return this;this[_0x4d0883(0x6a9,0xf3c)]=!![];_0x207c28&&this['addTo'](_0x207c28);function _0x4d0883(_0x21a88b,_0x3491a5){return _0x306755(_0x21a88b,_0x3491a5- -_0x125497._0x4fb6cf);}if(!this['_map'])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_map']['_setEditCursor'](!![]),this['enableControl'](![]),this[_0x4d0883(_0x4e4428._0x2397f5,0x376)]();function _0x2e22f7(_0xdca1bc,_0x9c659e){return _0x2b6441(_0x9c659e,_0xdca1bc-_0x1de7da._0x26fc37);}this[_0x4d0883(0x12f,0x58e)](EventType['drawStart'],{'drawType':this['type'],'graphic':this},!![]);}[_0x306755(0x17d3,0x1350)](){const _0x51a64c={_0x37680c:0xc26,_0x522f14:0xc74,_0x3bea3a:0x122c,_0x5cf19d:0xe49,_0x523217:0x2ec,_0x207abd:0x10c6,_0x3c1ae8:0x157},_0x3e36c7={_0x518ab7:0x173},_0x870ba6={_0x2ede90:0x59d};var _0x16e676,_0x37a2ed;function _0x10d96b(_0x2dcd9a,_0x1a49ca){return _0x306755(_0x1a49ca,_0x2dcd9a- -_0x870ba6._0x2ede90);}if(!this[_0x10d96b(0xc9a,_0x51a64c._0x37680c)])return this;this[_0x2c7efb(0x48a,0x783)](),this[_0x10d96b(0x122c,_0x51a64c._0x522f14)][_0x2c7efb(0x289,0x359)](![]),this['enableControl'](!![]),this[_0x10d96b(_0x51a64c._0x3bea3a,_0x51a64c._0x5cf19d)]['closeSmallTooltip'](),this[_0x10d96b(0xc9a,0xfd1)]=![];if(!this['position']||!this['distance']){this['remove'](!![]);return;}function _0x2c7efb(_0x3a16e9,_0x37bce0){return _0x306755(_0x3a16e9,_0x37bce0- -_0x3e36c7._0x518ab7);}this[_0x10d96b(_0x51a64c._0x523217,0x9c1)](EventType['drawCreated'],{'drawType':this[_0x10d96b(_0x51a64c._0x207abd,0x175b)],'graphic':this},!![]),(_0x16e676=this[_0x10d96b(0x6c0,-_0x51a64c._0x3c1ae8)])!==null&&_0x16e676!==void 0x0&&_0x16e676['success']&&this['options']['success'](this),(_0x37a2ed=this[_0x2c7efb(0x1522,0xaea)])!==null&&_0x37a2ed!==void 0x0&&(_0x37a2ed=_0x37a2ed[_0x2c7efb(-0x3ca,0x554)])!==null&&_0x37a2ed!==void 0x0&&_0x37a2ed['resolve']&&this['options']['_promise']['resolve'](this);}[_0x306755(0xfbe,0x671)](){const _0x352507={_0x37c7a8:0x1834},_0x4f5365={_0x4484cf:0x6b},_0x94c80b={_0x2f64a1:0xfc};function _0x31fb39(_0x2498ac,_0x4f7fa0){return _0x306755(_0x2498ac,_0x4f7fa0- -_0x94c80b._0x2f64a1);}this[_0x500f6a(_0x352507._0x37c7a8,0x18e5)]['on'](EventType['click'],this[_0x500f6a(0x14c9,0x188e)],this);function _0x500f6a(_0x5f1db3,_0x5a2688){return _0x306755(_0x5a2688,_0x5f1db3-_0x4f5365._0x4484cf);}this['_map']['on'](EventType['mouseMove'],this['_onMouseMoveHandler'],this);}['_stopDrawHook'](){const _0x5b006a={_0x1af666:0x8c8,_0x323f79:0x49f},_0x3b6576={_0xbe2f7a:0x146},_0x4c5821={_0x287b66:0x1a0};this[_0x5b4704(0x1683,0x20ac)][_0x5bd200(0x7cc,0x42a)](EventType[_0x5b4704(0xf22,0x18a4)],this['_onClickHandler'],this);function _0x5bd200(_0x12edaf,_0x378fa7){return _0x306755(_0x378fa7,_0x12edaf- -_0x4c5821._0x287b66);}function _0x5b4704(_0x10ea9b,_0x3f0e78){return _0x306755(_0x3f0e78,_0x10ea9b- -_0x3b6576._0xbe2f7a);}this['_map']['off'](EventType[_0x5bd200(_0x5b006a._0x1af666,0x604)],this[_0x5b4704(0x674,_0x5b006a._0x323f79)],this);}['_onClickHandler'](_0x4ba730){const _0x1ca62b={_0x14ca7e:0x14d8,_0x12c99f:0xe27,_0x347c86:0x6d3,_0x40c9f4:0x873,_0x234e36:0xe4b},_0x2f73c1={_0x2803f7:0x1b6};function _0x152d9b(_0x55a388,_0x252432){return _0x306755(_0x252432,_0x55a388- -_0x2f73c1._0x2803f7);}const _0x382b04=_0x4ba730[_0x152d9b(0xfb8,_0x1ca62b._0x14ca7e)];function _0x42b4a1(_0x1aaae8,_0xbabfa7){return _0x2b6441(_0x1aaae8,_0xbabfa7-0x61d);}if(!_0x382b04)return;_0x4ba730={..._0x4ba730,'drawType':this['type'],'graphic':this},this[_0x152d9b(0x6d3,0xbae)](EventType[_0x42b4a1(0x1184,_0x1ca62b._0x12c99f)],_0x4ba730,!![]);if(!this['position']){this['position']=_0x382b04;return;}this['targetPosition']=_0x382b04,this['stopDraw'](),this[_0x152d9b(_0x1ca62b._0x347c86,_0x1ca62b._0x40c9f4)](EventType[_0x42b4a1(_0x1ca62b._0x234e36,0x15ff)],_0x4ba730);}['_onMouseMoveHandler'](_0xcdd849){const _0xc86c86={_0x55d99f:0x964,_0x1d27a7:0x9ff,_0x2bbe54:0xbf2,_0x45ec91:0x652},_0x27a0ae=_0xcdd849['cartesian'];function _0x18d379(_0x47c16c,_0x3e7f0c){return _0x306755(_0x3e7f0c,_0x47c16c- -0x364);}function _0x5961d4(_0x3e7bc4,_0x9c0581){return _0x306755(_0x3e7bc4,_0x9c0581- -0x4bc);}if(!_0x27a0ae)return;const _0x4f048=this[_0x5961d4(0xaa9,0xd3b)];_0x4f048?(this[_0x18d379(_0xc86c86._0x55d99f,0x573)]=_0x27a0ae,this['fire'](EventType['drawMouseMove'],{..._0xcdd849,'drawType':this['type'],'graphic':this},!![]),this['_map']['openSmallTooltip'](_0xcdd849['endPosition'],this['_map']['getLangText'](_0x5961d4(0x771,_0xc86c86._0x1d27a7)))):this['_map'][_0x18d379(_0xc86c86._0x2bbe54,0x161)](_0xcdd849['endPosition'],this[_0x18d379(0x1465,0x1015)][_0x18d379(0xa09,_0xc86c86._0x45ec91)]('_单击开始绘制'));}}register$5('video2D',Video2D,!![]);class PitEntity extends BasePolyEntity{constructor(_0x2d8fdb={}){const _0x5b45b0={_0x4b64c2:0x4e9,_0x82db7b:0x75a},_0xd94adb={_0x3f5538:0x94},_0x510096={_0x3befdf:0x6a};super(_0x2d8fdb),this['style']['diffHeight']=this['style'][_0x375d3f(0xfb5,_0x5b45b0._0x4b64c2)]??0xa;function _0x375d3f(_0x59178c,_0x3dfc3b){return _0x2b6441(_0x59178c,_0x3dfc3b-_0x510096._0x3befdf);}function _0x59c441(_0x1ab99e,_0x52b2fa){return _0x2b6441(_0x52b2fa,_0x1ab99e-_0xd94adb._0x3f5538);}this[_0x375d3f(_0x5b45b0._0x82db7b,0x31f)]['splitNum']=this['style']['splitNum']??0x32;}get[_0x306755(0x61c,0xa20)](){const _0x401f76={_0xe8297:0x692},_0x43c9bd={_0x3fcf79:0x38e};function _0x5cbc95(_0x344255,_0x36b67b){return _0x306755(_0x36b67b,_0x344255- -_0x43c9bd._0x3fcf79);}return this['style'][_0x5cbc95(_0x401f76._0xe8297,0x7d0)];}set['diffHeight'](_0x1b796b){const _0x32b0a5={_0x11d3df:0x49d,_0x412ef1:0x2102,_0x1d7710:0x3c3,_0x2cc489:0x15b1,_0x3ebdac:0x158d,_0x394de6:0x10ab},_0x3cfbea={_0x417877:0x5f};function _0x3522aa(_0x8b6d4,_0xd73dcc){return _0x306755(_0xd73dcc,_0x8b6d4- -_0x3cfbea._0x417877);}function _0x203452(_0x60a5f5,_0x2c2053){return _0x2b6441(_0x60a5f5,_0x2c2053-0x1e8);}this[_0x203452(-0x313,_0x32b0a5._0x11d3df)]['diffHeight']=_0x1b796b;if(this['_entity']){const _0x3e431b=this[_0x3522aa(0x169f,_0x32b0a5._0x412ef1)]-this['style']['diffHeight'];this['_entity'][_0x3522aa(0xec9,0x1236)][_0x3522aa(0xb93,_0x32b0a5._0x1d7710)]=_0x3e431b;const _0x563498=Array(this[_0x3522aa(0xdfa,_0x32b0a5._0x2cc489)]['length'])[_0x3522aa(_0x32b0a5._0x3ebdac,0x1930)](_0x3e431b);this[_0x203452(_0x32b0a5._0x394de6,0xaad)][_0x203452(0x133a,0xf3b)]['minimumHeights']=_0x563498;}}['_mountedHook'](){const _0x253406={_0x534389:0x1719,_0xcf793f:0xf86,_0x1fb395:0x3dd,_0x4bc0ad:0x54e,_0x1aa1cc:0xed0,_0x118c37:0xcff,_0x1cbd2d:0x1460,_0x2ac40b:0xf83,_0x43c417:0x11c8,_0x5a4f9f:0x1292,_0x54d2d2:0x155,_0x19652d:0x9ed,_0x50c61c:0x36d,_0x4819b5:0x7b7,_0x4bc033:0x14ab},_0x516e86={_0x84ed73:0x36c},_0x1b7249=this[_0x49c1e0(0xa31,0xa28)][_0x162fc7(_0x253406._0x534389,_0x253406._0xcf793f)]||this['_getPitData']();this['data']=_0x1b7249;const _0x5a5de6={'polygon':new Cesium__namespace['PolygonGraphics']({'hierarchy':new Cesium__namespace[(_0x49c1e0(_0x253406._0x1fb395,0x29e))](this[_0x162fc7(0x1544,0x152d)]),'perPositionHeight':![],'height':_0x1b7249['height'],'material':new Cesium__namespace['ImageMaterialProperty']({'image':this['style'][_0x162fc7(-0x2a2,_0x253406._0x4bc0ad)],'repeat':new Cesium__namespace['Cartesian2'](0x2,0x2),'transparent':![]}),'fill':!![],'outline':![]}),'wall':{'positions':_0x1b7249[_0x49c1e0(0x1de7,0x14d2)],'minimumHeights':_0x1b7249[_0x162fc7(_0x253406._0x1aa1cc,0xf64)],'maximumHeights':_0x1b7249[_0x162fc7(0xeb6,_0x253406._0x118c37)],'fill':!![],'material':new Cesium__namespace[(_0x49c1e0(0x37b,0x371))]({'image':this['style']['image'],'repeat':new Cesium__namespace['Cartesian2'](this['style'][_0x162fc7(_0x253406._0x1cbd2d,0xa54)]??0x32,this['style'][_0x49c1e0(0x1085,_0x253406._0x2ac40b)]??0x1)}),'outline':![]}};function _0x162fc7(_0x598923,_0x37648b){return _0x306755(_0x598923,_0x37648b- -0x46c);}this[_0x49c1e0(0x21b,0xc31)]=this['_createEntity'](_0x5a5de6);function _0x49c1e0(_0x22b8a0,_0x1f0460){return _0x2b6441(_0x22b8a0,_0x1f0460-_0x516e86._0x84ed73);}this[_0x162fc7(_0x253406._0x43c417,_0x253406._0x5a4f9f)]=_0x1b7249[_0x162fc7(-0x8a,0x3d4)],this[_0x162fc7(_0x253406._0x54d2d2,_0x253406._0x19652d)]=_0x1b7249['positionsWall'],this['_wallHeights']=_0x1b7249['maximumHeights'],this['style'][_0x49c1e0(-_0x253406._0x50c61c,0x636)]&&this[_0x49c1e0(_0x253406._0x4819b5,0xa8b)](this['style'][_0x49c1e0(0x1d25,_0x253406._0x4bc033)]);}['_getPitData'](){const _0x514001={_0x15beb6:0x404,_0x51643e:0xa2a,_0x40cf38:0xa44,_0x286747:0x80b},_0x37a0c4={_0x329f05:0x3fa};function _0x54c77e(_0x28a9b4,_0x45d2af){return _0x306755(_0x45d2af,_0x28a9b4- -_0x37a0c4._0x329f05);}const _0x150ee8=this[_0x54c77e(0x159f,0x135a)],_0x3f838a=interPolyline({'scene':this[_0x13426a(0x1377,0x1674)][_0x13426a(0x613,-0x3a5)],'positions':_0x150ee8['concat'](_0x150ee8[0x0]),'splitNum':this[_0x13426a(_0x514001._0x15beb6,-0x4d)]['splitNum']}),_0x3623e0=[];let _0x21991a=Number['MAX_VALUE'];for(let _0x11702f=0x0,_0x1e3c4c=_0x3f838a['length'];_0x11702f<_0x1e3c4c;_0x11702f++){const _0xae637=Cesium__namespace['Cartographic']['fromCartesian'](_0x3f838a[_0x11702f]);_0x21991a=Math[_0x54c77e(_0x514001._0x51643e,0x121f)](_0x21991a,_0xae637['height']),_0x3623e0[_0x54c77e(0x29f,0xbb2)](_0xae637['height']);}const _0x22f025=_0x21991a-this[_0x54c77e(0x45c,-0x12b)][_0x54c77e(0x626,_0x514001._0x40cf38)],_0x573b54=Array(_0x3f838a[_0x13426a(0x11a9,_0x514001._0x286747)])['fill'](_0x22f025),_0x353bc8={};_0x353bc8['height']=_0x22f025,_0x353bc8[_0x54c77e(0x446,0x462)]=_0x21991a,_0x353bc8['positionsWall']=_0x3f838a,_0x353bc8['minimumHeights']=_0x573b54;function _0x13426a(_0x4a50a7,_0x3144b2){return _0x306755(_0x3144b2,_0x4a50a7- -0x452);}return _0x353bc8['maximumHeights']=_0x3623e0,_0x353bc8;}['setUpHeight'](_0x2d9c21){const _0x1d6a85={_0x431ce8:0x7a8,_0x11d951:0xb19,_0x3a1ff3:0xa46,_0x4bb439:0xbee,_0x3379f3:0x1493,_0x504561:0xdc7,_0x11ee40:0xbee,_0x4831ac:0x1158,_0x2ab74e:0x1376,_0x12d6bf:0xef3},_0x5f5624={_0x56d7f7:0x161};function _0x4f73fc(_0x3f5447,_0x1cf1dc){return _0x306755(_0x3f5447,_0x1cf1dc- -_0x5f5624._0x56d7f7);}const _0x25e766=this['_minHeight']-this['style'][_0x19c992(0x897,_0x1d6a85._0x431ce8)],_0x192f1e=_0x25e766+_0x2d9c21,_0x531553=[],_0x10c8bc=[];for(let _0x5dd7a1=0x0,_0xae0c20=this[_0x19c992(0xdff,_0x1d6a85._0x11d951)]['length'];_0x5dd7a1<_0xae0c20;_0x5dd7a1++){const _0x4a13cd=this['_wallHeights'][_0x5dd7a1];_0x10c8bc['push'](_0x4a13cd+_0x2d9c21),_0x531553['push'](_0x192f1e);}function _0x19c992(_0x3b4a4c,_0x3969e4){return _0x2b6441(_0x3b4a4c,_0x3969e4-0x329);}this['_entity']&&(this['_isCallbackPositions']?(this['_height']=_0x25e766,this[_0x4f73fc(0xe35,0xb94)]=_0x531553,this[_0x4f73fc(0x641,_0x1d6a85._0x3a1ff3)]=_0x10c8bc):(this[_0x19c992(0x819,_0x1d6a85._0x4bb439)][_0x4f73fc(_0x1d6a85._0x3379f3,_0x1d6a85._0x504561)]['height']=_0x25e766,this[_0x19c992(0x143c,_0x1d6a85._0x11ee40)]['wall'][_0x19c992(0x12a3,_0x1d6a85._0x4831ac)]=_0x531553,this['_entity'][_0x4f73fc(_0x1d6a85._0x2ab74e,0x1193)][_0x19c992(0xda0,_0x1d6a85._0x12d6bf)]=_0x10c8bc));}[_0x306755(0xea8,0x17dd)](){const _0x33c604={_0x317bc7:0xe5a,_0x3cc566:0x16ad,_0x233be9:0x60d,_0xbb0b9e:0x15e6,_0x5cb38a:0xd5a,_0x43d249:0x1140},_0x2a1fa5={_0x392338:0x266},_0x1ddb8e={_0x543656:0x1f43};if(this[_0x3ef20e(0x954,0x106c)])return;function _0x52e891(_0x319824,_0x339862){return _0x306755(_0x339862,_0x319824- -0x183);}function _0x3ef20e(_0x279f05,_0x51d526){return _0x2b6441(_0x279f05,_0x51d526-0x7);}this['_isCallbackPositions']=!![],this[_0x3ef20e(0x843,_0x33c604._0x317bc7)]=this[_0x3ef20e(0x166,0x8cc)][_0x3ef20e(-0x8,0x98e)][_0x3ef20e(0xcfb,0x658)],this[_0x3ef20e(0x74,0x75b)]=this['_entity']['wall'][_0x52e891(0x124d,_0x33c604._0x3cc566)],this[_0x3ef20e(0xffe,_0x33c604._0x233be9)]=this['_entity'][_0x3ef20e(_0x33c604._0xbb0b9e,_0x33c604._0x5cb38a)][_0x3ef20e(_0x33c604._0x43d249,0xbd1)],this['_entity']['polygon']['height']=new Cesium__namespace['CallbackProperty'](_0x4dd727=>{const _0x422cc6={_0x121c74:0x67f};function _0x53db2f(_0x1cf12b,_0x193d22){return _0x3ef20e(_0x1cf12b,_0x193d22-_0x422cc6._0x121c74);}return this[_0x53db2f(_0x1ddb8e._0x543656,0x14d9)];},![]),this[_0x3ef20e(0x442,0x8cc)]['wall']['minimumHeights']=new Cesium__namespace['CallbackProperty'](_0x305f42=>{function _0x20335c(_0x2d127d,_0x437b86){return _0x52e891(_0x2d127d- -0x353,_0x437b86);}return this[_0x20335c(0x81f,-_0x2a1fa5._0x392338)];},![]),this['_entity']['wall']['maximumHeights']=new Cesium__namespace['CallbackProperty'](_0x3b2f82=>{return this['_maximumHeights'];},![]);}}register$5(_0x306755(0x192b,0x14b9),PitEntity);class AlgorithmUtil{constructor(){const _0x56e7d3={_0x13b40c:0x299};this[_0x427c7e(0x17b3,0xfd6)]=Math['PI']/0x2;function _0x427c7e(_0x57f38b,_0x3ee61e){return _0x306755(_0x57f38b,_0x3ee61e- -_0x56e7d3._0x13b40c);}this['ZERO_TOLERANCE']=0.0001;}['toRadians'](_0x59db72){return _0x59db72*Math['PI']/0xb4;}['getThirdPoint'](_0x4bc612,_0x1612aa,_0x1f5bcd,_0x2e4d4c,_0x21ad60){const _0x5157f8=this['getAzimuth'](_0x4bc612,_0x1612aa),_0x5d3cc6=_0x21ad60?_0x5157f8+_0x1f5bcd:_0x5157f8-_0x1f5bcd,_0x2247c7=_0x2e4d4c*Math['cos'](_0x5d3cc6),_0xd3ce1f=_0x2e4d4c*Math['sin'](_0x5d3cc6);return[_0x1612aa[0x0]+_0x2247c7,_0x1612aa[0x1]+_0xd3ce1f];}[_0x306755(0x10e2,0x1881)](_0x539eb4,_0x960a70){let _0x31c109=0x0;const _0xc182b0=Math['asin'](Math['abs'](_0x960a70[0x1]-_0x539eb4[0x1])/this['MathDistance'](_0x539eb4,_0x960a70));if(_0x960a70[0x1]>=_0x539eb4[0x1]&&_0x960a70[0x0]>=_0x539eb4[0x0])_0x31c109=_0xc182b0+Math['PI'];else{if(_0x960a70[0x1]>=_0x539eb4[0x1]&&_0x960a70[0x0]<_0x539eb4[0x0])_0x31c109=Math['PI']*0x2-_0xc182b0;else{if(_0x960a70[0x1]<_0x539eb4[0x1]&&_0x960a70[0x0]<_0x539eb4[0x0])_0x31c109=_0xc182b0;else _0x960a70[0x1]<_0x539eb4[0x1]&&_0x960a70[0x0]>=_0x539eb4[0x0]&&(_0x31c109=Math['PI']-_0xc182b0);}}return _0x31c109;}['MathDistance'](_0x269aa2,_0x15e9bd){function _0x5d1f62(_0x4ed2ed,_0x586fee){return _0x2b6441(_0x4ed2ed,_0x586fee- -0x7d);}return Math[_0x5d1f62(0x17ae,0xf21)](Math['pow'](_0x269aa2[0x0]-_0x15e9bd[0x0],0x2)+Math['pow'](_0x269aa2[0x1]-_0x15e9bd[0x1],0x2));}['isClockWise'](_0xcabdb5,_0x2e2675,_0x148416){if(!_0x148416)return![];return(_0x148416[0x1]-_0xcabdb5[0x1])*(_0x2e2675[0x0]-_0xcabdb5[0x0])>(_0x2e2675[0x1]-_0xcabdb5[0x1])*(_0x148416[0x0]-_0xcabdb5[0x0]);}[_0x306755(0x1bdd,0x1947)](_0x2123b6,_0x5a2a03,_0x1f1736,_0x436497){const _0xe693={_0x22d8be:0xcf9,_0x4d04fb:0x74b,_0x566d65:0x128,_0x2d68cd:0x1a7c,_0xb7f169:0x23c1},_0x12a857=this[_0x497ce4(_0xe693._0x22d8be,0xa7f)](_0x5a2a03,_0x1f1736,_0x436497);let _0x3c9b87=null,_0x4560a0=null,_0x52138b=null,_0x1653fd=null,_0x1fd3d5=null;const _0x144b35=Math['sqrt'](_0x12a857[0x0]*_0x12a857[0x0]+_0x12a857[0x1]*_0x12a857[0x1]),_0x4dd14d=_0x12a857[0x0]/_0x144b35,_0x765b69=_0x12a857[0x1]/_0x144b35,_0x20087e=this[_0x497ce4(_0xe693._0x4d04fb,0xf9b)](_0x5a2a03,_0x1f1736),_0x284483=this[_0x2578ae(_0xe693._0x566d65,0x756)](_0x1f1736,_0x436497);function _0x497ce4(_0xd2cec3,_0x30ccc4){return _0x2b6441(_0x30ccc4,_0xd2cec3-0x6b8);}function _0x2578ae(_0x52c51f,_0x275efa){return _0x306755(_0x52c51f,_0x275efa-0x122);}return _0x144b35>this[_0x497ce4(0x11e2,_0xe693._0x2d68cd)]?this[_0x497ce4(0x1a2b,_0xe693._0xb7f169)](_0x5a2a03,_0x1f1736,_0x436497)?(_0x52138b=_0x2123b6*_0x20087e,_0x1653fd=_0x1f1736[0x0]-_0x52138b*_0x765b69,_0x1fd3d5=_0x1f1736[0x1]+_0x52138b*_0x4dd14d,_0x3c9b87=[_0x1653fd,_0x1fd3d5],_0x52138b=_0x2123b6*_0x284483,_0x1653fd=_0x1f1736[0x0]+_0x52138b*_0x765b69,_0x1fd3d5=_0x1f1736[0x1]-_0x52138b*_0x4dd14d,_0x4560a0=[_0x1653fd,_0x1fd3d5]):(_0x52138b=_0x2123b6*_0x20087e,_0x1653fd=_0x1f1736[0x0]+_0x52138b*_0x765b69,_0x1fd3d5=_0x1f1736[0x1]-_0x52138b*_0x4dd14d,_0x3c9b87=[_0x1653fd,_0x1fd3d5],_0x52138b=_0x2123b6*_0x284483,_0x1653fd=_0x1f1736[0x0]-_0x52138b*_0x765b69,_0x1fd3d5=_0x1f1736[0x1]+_0x52138b*_0x4dd14d,_0x4560a0=[_0x1653fd,_0x1fd3d5]):(_0x1653fd=_0x1f1736[0x0]+_0x2123b6*(_0x5a2a03[0x0]-_0x1f1736[0x0]),_0x1fd3d5=_0x1f1736[0x1]+_0x2123b6*(_0x5a2a03[0x1]-_0x1f1736[0x1]),_0x3c9b87=[_0x1653fd,_0x1fd3d5],_0x1653fd=_0x1f1736[0x0]+_0x2123b6*(_0x436497[0x0]-_0x1f1736[0x0]),_0x1fd3d5=_0x1f1736[0x1]+_0x2123b6*(_0x436497[0x1]-_0x1f1736[0x1]),_0x4560a0=[_0x1653fd,_0x1fd3d5]),[_0x3c9b87,_0x4560a0];}['getCubicValue'](_0x2c2a18,_0x1543ba,_0x4aa25f,_0x5a544b,_0x608113){const _0x219614={_0xd90f29:0x11ac};_0x2c2a18=Math[_0x5b12e4(_0x219614._0xd90f29,0xdeb)](Math['min'](_0x2c2a18,0x1),0x0);const _0x123313=0x1-_0x2c2a18,_0x22df79=_0x2c2a18*_0x2c2a18,_0x468792=_0x22df79*_0x2c2a18,_0x431e38=_0x123313*_0x123313,_0xfb675b=_0x431e38*_0x123313,_0x2025ba=_0xfb675b*_0x1543ba[0x0]+0x3*_0x431e38*_0x2c2a18*_0x4aa25f[0x0]+0x3*_0x123313*_0x22df79*_0x5a544b[0x0]+_0x468792*_0x608113[0x0],_0x10ede3=_0xfb675b*_0x1543ba[0x1]+0x3*_0x431e38*_0x2c2a18*_0x4aa25f[0x1]+0x3*_0x123313*_0x22df79*_0x5a544b[0x1]+_0x468792*_0x608113[0x1];function _0x5b12e4(_0x421a5c,_0x3f06e5){return _0x2b6441(_0x421a5c,_0x3f06e5-0x686);}return[_0x2025ba,_0x10ede3];}[_0x306755(0x2e1,0xbe2)](_0x178570,_0x296930,_0x34c8f3){const _0x2ee80b={_0x3357a8:0x1042};let _0x3a66e1=_0x178570[0x0]-_0x296930[0x0],_0x46cb0c=_0x178570[0x1]-_0x296930[0x1];const _0x12215c=Math['sqrt'](_0x3a66e1*_0x3a66e1+_0x46cb0c*_0x46cb0c);_0x3a66e1/=_0x12215c,_0x46cb0c/=_0x12215c;let _0x5bbf24=_0x34c8f3[0x0]-_0x296930[0x0],_0x34dd9c=_0x34c8f3[0x1]-_0x296930[0x1];const _0x7d8590=Math[_0x57c16f(0x1233,_0x2ee80b._0x3357a8)](_0x5bbf24*_0x5bbf24+_0x34dd9c*_0x34dd9c);_0x5bbf24/=_0x7d8590,_0x34dd9c/=_0x7d8590;function _0x57c16f(_0x51c60f,_0x2e5f7f){return _0x2b6441(_0x2e5f7f,_0x51c60f-0x295);}const _0x1d4354=_0x3a66e1+_0x5bbf24,_0x33a914=_0x46cb0c+_0x34dd9c;return[_0x1d4354,_0x33a914];}['getArcPoints'](_0x139937,_0x5653ec,_0x9524fb,_0x4af4e5){const _0x53de18={_0x3394d:0x1075,_0x5b093a:0x7cd},_0x1a6e11={_0x1d26db:0x6d5};let _0x3b9979=null,_0x3fe16d=null;const _0x54da6c=[];let _0x490aaf=_0x4af4e5-_0x9524fb;_0x490aaf=_0x490aaf<0x0?_0x490aaf+Math['PI']*0x2:_0x490aaf;for(let _0x3d9c14=0x0;_0x3d9c14<=0x64;_0x3d9c14++){const _0x25b189=_0x9524fb+_0x490aaf*_0x3d9c14/0x64;_0x3b9979=_0x139937[0x0]+_0x5653ec*Math['cos'](_0x25b189),_0x3fe16d=_0x139937[0x1]+_0x5653ec*Math['sin'](_0x25b189),_0x54da6c[_0x13efed(_0x53de18._0x3394d,_0x53de18._0x5b093a)]([_0x3b9979,_0x3fe16d]);}function _0x13efed(_0x23730d,_0x2cb443){return _0x2b6441(_0x23730d,_0x2cb443-_0x1a6e11._0x1d26db);}return _0x54da6c;}[_0x306755(0x204,0x8e0)](_0xaf0e35,_0x48c325,_0x38af5a){const _0x409a2f=_0xaf0e35[0x0]+_0x48c325*Math['cos'](_0x38af5a),_0x4248db=_0xaf0e35[0x1]+_0x48c325*Math[_0x64e26c(0x8a9,0x57f)](_0x38af5a);function _0x64e26c(_0x433a59,_0x11fd36){return _0x2b6441(_0x433a59,_0x11fd36-0x1e3);}return[_0x409a2f,_0x4248db];}[_0x2b6441(-0xaf7,-0x26)](_0x2cf16a){const _0x56c38f={_0x428d9d:0x651};function _0x1d4abb(_0x9207b7,_0x40c1f0){return _0x2b6441(_0x9207b7,_0x40c1f0-_0x56c38f._0x428d9d);}return Math[_0x1d4abb(0x1010,0x172c)](this['wholeDistance'](_0x2cf16a),0.99);}[_0x2b6441(0xa58,0x38b)](_0x1bde0c){const _0x3958e3={_0xdff7ee:0x1f4};function _0x5cb785(_0x247df6,_0x2ea049){return _0x2b6441(_0x247df6,_0x2ea049- -0x9f);}function _0x369e72(_0x2480d3,_0xbefb47){return _0x2b6441(_0xbefb47,_0x2480d3-0xcf);}let _0x1d6dc9=0x0;const _0xdbb867=this;return _0x1bde0c&&Array[_0x5cb785(-0x4eb,_0x3958e3._0xdff7ee)](_0x1bde0c)&&_0x1bde0c[_0x369e72(0x1129,0x1981)]>0x0&&_0x1bde0c['forEach'](function(_0xfe22b0,_0x54b30b){function _0x972f0f(_0x24b52f,_0x58eb20){return _0x369e72(_0x24b52f-0x570,_0x58eb20);}_0x54b30b<_0x1bde0c[_0x972f0f(0x1699,0x1e35)]-0x1&&(_0x1d6dc9+=_0xdbb867['MathDistance'](_0xfe22b0,_0x1bde0c[_0x54b30b+0x1]));}),_0x1d6dc9;}['getArrowHeadPoints'](_0x30151e){const _0x51e185={_0x2fe858:0x122f,_0x18f882:0x20db,_0x10f270:0xf71,_0x99e832:0xeea},_0x9733a1={_0x4df459:0x19e};if(!_0x30151e)return[];const _0x3ccb1d=_0x30151e[_0x365f64(0x1499,0x1cad)];if(_0x3ccb1d['length']<0x2)return[];const _0x1f03ef=_0x30151e['tailLeft'],_0x10e8d4=_0x30151e[_0x75801e(0x139f,0x1234)],_0x23dff2=_0x30151e[_0x75801e(0x1280,_0x51e185._0x2fe858)],_0xe00cee=_0x30151e['neckWidthFactor'],_0x503f9f=_0x30151e[_0x75801e(_0x51e185._0x18f882,0x170b)],_0x5bb7e0=_0x30151e[_0x75801e(0x706,0xe02)],_0x27f00e=_0x30151e['headHeightFactor'];let _0x8f7720=this['getBaseLength'](_0x3ccb1d),_0x1acb49=_0x8f7720*_0x27f00e;const _0x2f8b25=_0x3ccb1d[_0x3ccb1d['length']-0x1];_0x8f7720=this['MathDistance'](_0x2f8b25,_0x3ccb1d[_0x3ccb1d[_0x365f64(0x1101,_0x51e185._0x10f270)]-0x2]);const _0x2c92e3=this['MathDistance'](_0x1f03ef,_0x10e8d4);_0x1acb49>_0x2c92e3*_0x23dff2&&(_0x1acb49=_0x2c92e3*_0x23dff2);const _0x4f4e6d=_0x1acb49*_0x5bb7e0;function _0x365f64(_0x103acb,_0x58b9d7){return _0x2b6441(_0x58b9d7,_0x103acb-0xa7);}const _0x1866c9=_0x1acb49*_0xe00cee;_0x1acb49=_0x1acb49>_0x8f7720?_0x8f7720:_0x1acb49;function _0x75801e(_0xc8ae72,_0x14c359){return _0x306755(_0xc8ae72,_0x14c359- -_0x9733a1._0x4df459);}const _0x36e8f8=_0x1acb49*_0x503f9f,_0x44a64b=this['getThirdPoint'](_0x3ccb1d[_0x3ccb1d['length']-0x2],_0x2f8b25,0x0,_0x1acb49,!![]),_0x5027e1=this['getThirdPoint'](_0x3ccb1d[_0x3ccb1d['length']-0x2],_0x2f8b25,0x0,_0x36e8f8,!![]),_0x376eb1=this['getThirdPoint'](_0x2f8b25,_0x44a64b,this['HALF_PI'],_0x4f4e6d,![]),_0x34774e=this['getThirdPoint'](_0x2f8b25,_0x44a64b,this['HALF_PI'],_0x4f4e6d,!![]),_0x139c4e=this['getThirdPoint'](_0x2f8b25,_0x5027e1,this[_0x75801e(_0x51e185._0x99e832,0x10d1)],_0x1866c9,![]),_0x1465bf=this['getThirdPoint'](_0x2f8b25,_0x5027e1,this['HALF_PI'],_0x1866c9,!![]);return[_0x139c4e,_0x376eb1,_0x2f8b25,_0x34774e,_0x1465bf];}[_0x306755(0x1117,0x1412)](_0x2d2cfb){const _0x12dd2b={_0x58c14b:0xb85},_0x4e5eb4={_0x5d783a:0x3fb},_0x9a3853={_0x36b55d:0x34f};if(!_0x2d2cfb)return;const _0x521e41=_0x2d2cfb[_0x2d552a(0x1399,0x1644)],_0x3dd5c1=_0x2d2cfb['tailWidthFactor'],_0x416f3a=_0x2d2cfb['swallowTailFactor'],_0x5e7e78=this[_0x4cefc4(0x180,-0x3a8)](_0x521e41),_0x9edf4e=_0x5e7e78*_0x3dd5c1,_0x3d11a8=this['getThirdPoint'](_0x521e41[0x1],_0x521e41[0x0],this['HALF_PI'],_0x9edf4e,![]);function _0x2d552a(_0x564b59,_0x5c5aba){return _0x306755(_0x564b59,_0x5c5aba- -_0x9a3853._0x36b55d);}function _0x4cefc4(_0x3414c8,_0x2bd0c6){return _0x306755(_0x2bd0c6,_0x3414c8- -_0x4e5eb4._0x5d783a);}const _0x18637b=this[_0x4cefc4(0xfa5,_0x12dd2b._0x58c14b)](_0x521e41[0x1],_0x521e41[0x0],this['HALF_PI'],_0x9edf4e,!![]),_0x118601=_0x9edf4e*_0x416f3a,_0x1419b0=this[_0x2d552a(0x15a8,0x1051)](_0x521e41[0x1],_0x521e41[0x0],0x0,_0x118601,!![]);return[_0x3d11a8,_0x1419b0,_0x18637b];}[_0x306755(0x1318,0x1196)](_0x18a874,_0x6aff60,_0x4edcbf,_0x34feb0){const _0x42473b={_0xe8ef7:0x108b,_0x29d741:0x332,_0x2221a0:0xf40,_0x1b9052:0x109e},_0x558fab=this['wholeDistance'](_0x18a874),_0x4a7f4c=this[_0x471a3a(0xa84,0x325)](_0x18a874);function _0x471a3a(_0x25dfbc,_0x5c7ae5){return _0x306755(_0x25dfbc,_0x5c7ae5- -0x256);}const _0x383115=_0x4a7f4c*_0x34feb0,_0x3a7778=this['MathDistance'](_0x6aff60,_0x4edcbf),_0x23fc23=(_0x383115-_0x3a7778)/0x2;let _0x41b270=0x0;const _0x4ce9d2=[];function _0xa5fa86(_0x505505,_0x4316fb){return _0x306755(_0x505505,_0x4316fb- -0x302);}const _0x7428d2=[];for(let _0x5c5dce=0x1;_0x5c5dce<_0x18a874['length']-0x1;_0x5c5dce++){const _0x486fa2=this[_0xa5fa86(0x19fd,_0x42473b._0xe8ef7)](_0x18a874[_0x5c5dce-0x1],_0x18a874[_0x5c5dce],_0x18a874[_0x5c5dce+0x1])/0x2;_0x41b270+=this[_0xa5fa86(-0x61,_0x42473b._0x29d741)](_0x18a874[_0x5c5dce-0x1],_0x18a874[_0x5c5dce]);const _0x53ef60=(_0x383115/0x2-_0x41b270/_0x558fab*_0x23fc23)/Math['sin'](_0x486fa2),_0x4b6856=this[_0xa5fa86(0x153b,0x109e)](_0x18a874[_0x5c5dce-0x1],_0x18a874[_0x5c5dce],Math['PI']-_0x486fa2,_0x53ef60,!![]),_0x401c83=this[_0xa5fa86(_0x42473b._0x2221a0,_0x42473b._0x1b9052)](_0x18a874[_0x5c5dce-0x1],_0x18a874[_0x5c5dce],_0x486fa2,_0x53ef60,![]);_0x4ce9d2['push'](_0x4b6856),_0x7428d2['push'](_0x401c83);}return _0x4ce9d2['concat'](_0x7428d2);}[_0x306755(0x14c7,0x138d)](_0x331fcd,_0x26dcc8,_0x2756f4){function _0x39b7c1(_0x59585f,_0x16d62d){return _0x2b6441(_0x16d62d,_0x59585f-0xdf);}const _0x5176b9=this['getAzimuth'](_0x26dcc8,_0x331fcd)-this[_0x39b7c1(0x13bf,0x182b)](_0x26dcc8,_0x2756f4);return _0x5176b9<0x0?_0x5176b9+Math['PI']*0x2:_0x5176b9;}['getQBSplinePoints'](_0x589e3d){const _0x23a5cf={_0x415326:0x104f};function _0x43a28e(_0x3c78f9,_0x20ec9c){return _0x2b6441(_0x20ec9c,_0x3c78f9- -0xb);}function _0x5e15d2(_0x5b1de3,_0x396c7e){return _0x306755(_0x5b1de3,_0x396c7e- -0xec);}if(_0x589e3d['length']<=0x2)return _0x589e3d;else{const _0x59e329=0x2,_0x294a2f=[],_0x5d5375=_0x589e3d[_0x43a28e(_0x23a5cf._0x415326,0x599)]-_0x59e329-0x1;_0x294a2f['push'](_0x589e3d[0x0]);for(let _0x5c68f3=0x0;_0x5c68f3<=_0x5d5375;_0x5c68f3++){for(let _0x17ce7d=0x0;_0x17ce7d<=0x1;_0x17ce7d+=0.05){let _0x397840=0x0,_0x23c562=0x0;for(let _0x47b807=0x0;_0x47b807<=_0x59e329;_0x47b807++){const _0x3f0f03=this['getQuadricBSplineFactor'](_0x47b807,_0x17ce7d);_0x397840+=_0x3f0f03*_0x589e3d[_0x5c68f3+_0x47b807][0x0],_0x23c562+=_0x3f0f03*_0x589e3d[_0x5c68f3+_0x47b807][0x1];}_0x294a2f[_0x43a28e(0xed,-0x35f)]([_0x397840,_0x23c562]);}}return _0x294a2f[_0x5e15d2(-0x516,0x5ad)](_0x589e3d[_0x589e3d['length']-0x1]),_0x294a2f;}}['getQuadricBSplineFactor'](_0xd8e61a,_0x309dd3){let _0x2d1d7d=0x0;if(_0xd8e61a===0x0)_0x2d1d7d=Math['pow'](_0x309dd3-0x1,0x2)/0x2;else{if(_0xd8e61a===0x1)_0x2d1d7d=(-0x2*Math['pow'](_0x309dd3,0x2)+0x2*_0x309dd3+0x1)/0x2;else _0xd8e61a===0x2&&(_0x2d1d7d=Math['pow'](_0x309dd3,0x2)/0x2);}return _0x2d1d7d;}['Mid'](_0x59df6f,_0x163f56){return[(_0x59df6f[0x0]+_0x163f56[0x0])/0x2,(_0x59df6f[0x1]+_0x163f56[0x1])/0x2,(_0x59df6f[0x2]||0x0+_0x163f56[0x2]||0x0)/0x2];}[_0x306755(0x1ae4,0x19d5)](_0x347c57,_0x394801,_0x49a443){const _0x34c4e0={_0x486421:0x940};function _0x4ce23c(_0x51fe50,_0x4b3776){return _0x306755(_0x4b3776,_0x51fe50- -0x52b);}const _0x3ff260=_0x347c57[0x2]||0x0,_0x471162=[(_0x347c57[0x0]+_0x394801[0x0])/0x2,(_0x347c57[0x1]+_0x394801[0x1])/0x2,_0x3ff260],_0x36075a=[_0x471162[0x0]-_0x347c57[0x1]+_0x394801[0x1],_0x471162[0x1]+_0x347c57[0x0]-_0x394801[0x0],_0x3ff260],_0xd528dc=[(_0x347c57[0x0]+_0x49a443[0x0])/0x2,(_0x347c57[0x1]+_0x49a443[0x1])/0x2,_0x3ff260],_0x464f74=[_0xd528dc[0x0]-_0x347c57[0x1]+_0x49a443[0x1],_0xd528dc[0x1]+_0x347c57[0x0]-_0x49a443[0x0],_0x3ff260];return this[_0x4ce23c(0x8db,_0x34c4e0._0x486421)](_0x471162,_0x36075a,_0xd528dc,_0x464f74);}[_0x306755(0x5ff,0xe06)](_0x2ba1dd,_0x4db298,_0x22e86c,_0x3c6742){if(_0x2ba1dd[0x1]===_0x4db298[0x1]){const _0x423468=(_0x3c6742[0x0]-_0x22e86c[0x0])/(_0x3c6742[0x1]-_0x22e86c[0x1]),_0x17d5e9=_0x423468*(_0x2ba1dd[0x1]-_0x22e86c[0x1])+_0x22e86c[0x0],_0xb11174=_0x2ba1dd[0x1];return[_0x17d5e9,_0xb11174];}if(_0x22e86c[0x1]===_0x3c6742[0x1]){const _0x3f1ff5=(_0x4db298[0x0]-_0x2ba1dd[0x0])/(_0x4db298[0x1]-_0x2ba1dd[0x1]),_0x421cb2=_0x3f1ff5*(_0x22e86c[0x1]-_0x2ba1dd[0x1])+_0x2ba1dd[0x0],_0x160ad5=_0x22e86c[0x1];return[_0x421cb2,_0x160ad5];}const _0x802fd0=(_0x4db298[0x0]-_0x2ba1dd[0x0])/(_0x4db298[0x1]-_0x2ba1dd[0x1]),_0x339155=(_0x3c6742[0x0]-_0x22e86c[0x0])/(_0x3c6742[0x1]-_0x22e86c[0x1]),_0x1d9e35=(_0x802fd0*_0x2ba1dd[0x1]-_0x2ba1dd[0x0]-_0x339155*_0x22e86c[0x1]+_0x22e86c[0x0])/(_0x802fd0-_0x339155),_0x461d92=_0x802fd0*_0x1d9e35-_0x802fd0*_0x2ba1dd[0x1]+_0x2ba1dd[0x0];return[_0x461d92,_0x1d9e35,_0x2ba1dd[0x2]||0x0];}['getBezierPoints'](_0x245fcf){if(_0x245fcf['length']<=0x2)return _0x245fcf;else{const _0x17c12e=[],_0x3354ef=_0x245fcf['length']-0x1;for(let _0x5aeeb9=0x0;_0x5aeeb9<=0x1;_0x5aeeb9+=0.01){let _0x1da53a=0x0,_0x20922d=0x0;for(let _0x249950=0x0;_0x249950<=_0x3354ef;_0x249950++){const _0x2c728e=this['getBinomialFactor'](_0x3354ef,_0x249950),_0xb62fcf=Math['pow'](_0x5aeeb9,_0x249950),_0x5bccb4=Math['pow'](0x1-_0x5aeeb9,_0x3354ef-_0x249950);_0x1da53a+=_0x2c728e*_0xb62fcf*_0x5bccb4*_0x245fcf[_0x249950][0x0],_0x20922d+=_0x2c728e*_0xb62fcf*_0x5bccb4*_0x245fcf[_0x249950][0x1];}_0x17c12e['push']([_0x1da53a,_0x20922d]);}return _0x17c12e;}}['getFactorial'](_0x3f6917){let _0x319b61=0x1;switch(_0x3f6917){case _0x3f6917<=0x1:_0x319b61=0x1;break;case _0x3f6917===0x2:_0x319b61=0x2;break;case _0x3f6917===0x3:_0x319b61=0x6;break;case _0x3f6917===0x18:_0x319b61=0x18;break;case _0x3f6917===0x5:_0x319b61=0x78;break;default:for(let _0x4c6e07=0x1;_0x4c6e07<=_0x3f6917;_0x4c6e07++){_0x319b61*=_0x4c6e07;}break;}return _0x319b61;}[_0x2b6441(0xa5b,0x271)](_0x439d2c,_0x1c8f61){const _0x275e80={_0x32ea58:0x476},_0xc162d3={_0x5dcc7:0x3d0};function _0x502bb2(_0x2fd332,_0x3997aa){return _0x306755(_0x2fd332,_0x3997aa- -_0xc162d3._0x5dcc7);}return this[_0x502bb2(-_0x275e80._0x32ea58,0x3df)](_0x439d2c)/(this['getFactorial'](_0x1c8f61)*this['getFactorial'](_0x439d2c-_0x1c8f61));}}const algorithmUtil=new AlgorithmUtil(),minAnalge=algorithmUtil['toRadians'](0x14),maxAnalge=algorithmUtil['toRadians'](0xa0);class ArrowParentUtil{constructor(){const _0x5f35f4={_0x405527:0x54};function _0x2af0b3(_0x53782c,_0x150708){return _0x306755(_0x53782c,_0x150708-_0x5f35f4._0x405527);}this[_0x2af0b3(0x17b6,0x1364)]=algorithmUtil;}[_0x306755(0x17ff,0x1152)](_0x8160c9){let _0x45f86b=_0x8160c9[0x0][0x2]||0x0;for(let _0x59465b=0x0;_0x59465b<_0x8160c9['length'];_0x59465b++){_0x8160c9[0x2]>_0x45f86b&&(_0x45f86b=_0x8160c9[0x2]);}return _0x45f86b;}[_0x2b6441(0x1c9b,0x142a)](_0x91c686,_0x2f7c64,_0x3ec676){const _0x143ef7={_0x1a9946:0x1b77,_0x4ae93c:0xfcd,_0x250e99:0xf2b,_0x3bbb33:0xd10,_0x511244:0xf2b,_0x15ddd8:0xaaf,_0x486a6b:0xfa0,_0x435dbb:0x910},_0x87a836={_0x2975b2:0x400};if(!_0x91c686||_0x91c686[_0x3155b9(0x11fb,_0x143ef7._0x1a9946)]<0x2)return null;let _0x4df74c=this['algorithmUtil'][_0x3155b9(0x17b,-0x2e6)](_0x91c686)*this['headHeightFactor'];const _0x355afe=this['algorithmUtil']['MathDistance'](_0x2f7c64,_0x3ec676);_0x4df74c>_0x355afe*this[_0x30d9bd(0x1341,0xf58)]&&(_0x4df74c=_0x355afe*this[_0x3155b9(_0x143ef7._0x4ae93c,0xc73)]);const _0x2f319b=_0x91c686[_0x91c686['length']-0x1],_0x30330d=_0x91c686[_0x91c686['length']-0x2],_0xabab24=this['algorithmUtil']['MathDistance'](_0x2f319b,_0x30330d);function _0x30d9bd(_0x35be70,_0x2ef309){return _0x306755(_0x35be70,_0x2ef309- -0x475);}_0x4df74c=_0x4df74c>_0xabab24?_0xabab24:_0x4df74c;function _0x3155b9(_0x338956,_0x1c2025){return _0x306755(_0x1c2025,_0x338956- -_0x87a836._0x2975b2);}const _0x32666f=_0x4df74c*this['headWidthFactor'],_0x1299f5=_0x4df74c*this['neckWidthFactor'],_0x182182=_0x4df74c*this[_0x3155b9(0x14a9,0x14c0)],_0x3b2a12=this['algorithmUtil']['getThirdPoint'](_0x30330d,_0x2f319b,0x0,_0x4df74c,!![]),_0x42c276=this['algorithmUtil']['getThirdPoint'](_0x30330d,_0x2f319b,0x0,_0x182182,!![]),_0x5b7937=this['algorithmUtil'][_0x3155b9(0xfa0,0x1754)](_0x2f319b,_0x3b2a12,Math['PI']/0x2,_0x32666f,![]),_0x1b1e41=this[_0x3155b9(0xf10,0x8f1)][_0x30d9bd(0x1958,_0x143ef7._0x250e99)](_0x2f319b,_0x3b2a12,Math['PI']/0x2,_0x32666f,!![]),_0x30509e=this[_0x30d9bd(0x12f2,0xe9b)][_0x30d9bd(_0x143ef7._0x3bbb33,_0x143ef7._0x511244)](_0x2f319b,_0x42c276,Math['PI']/0x2,_0x1299f5,![]),_0x4a4eb1=this[_0x30d9bd(_0x143ef7._0x15ddd8,0xe9b)][_0x3155b9(_0x143ef7._0x486a6b,_0x143ef7._0x435dbb)](_0x2f319b,_0x42c276,Math['PI']/0x2,_0x1299f5,!![]);return[_0x30509e,_0x5b7937,_0x2f319b,_0x1b1e41,_0x4a4eb1];}[_0x2b6441(0xe68,0xbf5)](_0x117029,_0x3f246e,_0x7eb80f,_0x3de71f){const _0x4e20d8={_0x482fc9:0x124c,_0xa6833c:0x199a,_0x43950a:0x1071,_0x5f43e1:0xfe4,_0x51db4f:0x2eb,_0x45268f:0x2ea},_0x1d7d99={_0xb88404:0x1f2};function _0x81c063(_0x586d6e,_0x4947a8){return _0x2b6441(_0x586d6e,_0x4947a8-0x302);}const _0x5d3100=this['algorithmUtil'][_0x81c063(0xe6e,0x68d)](_0x117029);function _0x444a64(_0x38d438,_0x206059){return _0x2b6441(_0x38d438,_0x206059-_0x1d7d99._0xb88404);}const _0x204c93=this['algorithmUtil']['getBaseLength'](_0x117029),_0x3a87b9=_0x204c93*_0x3de71f,_0x81b38=this['algorithmUtil'][_0x444a64(0x9a8,0x285)](_0x3f246e,_0x7eb80f),_0x6a0558=(_0x3a87b9-_0x81b38)/0x2;let _0x46ba6a=0x0;const _0x4379b8=[],_0x5695b2=[];for(let _0x3c0735=0x1;_0x3c0735<_0x117029[_0x444a64(0xf93,_0x4e20d8._0x482fc9)]-0x1;_0x3c0735++){let _0x5d8338=this['algorithmUtil'][_0x81c063(_0x4e20d8._0xa6833c,0x10ee)](_0x117029[_0x3c0735-0x1],_0x117029[_0x3c0735],_0x117029[_0x3c0735+0x1])/0x2;if(_0x5d8338<minAnalge)_0x5d8338=minAnalge;else _0x5d8338>maxAnalge&&(_0x5d8338=maxAnalge);_0x46ba6a+=this['algorithmUtil']['MathDistance'](_0x117029[_0x3c0735-0x1],_0x117029[_0x3c0735]);const _0x3ee7f0=(_0x3a87b9/0x2-_0x46ba6a/_0x5d3100*_0x6a0558)/Math['sin'](_0x5d8338),_0x4d7378=this[_0x81c063(0x16c5,_0x4e20d8._0x43950a)]['getThirdPoint'](_0x117029[_0x3c0735-0x1],_0x117029[_0x3c0735],Math['PI']-_0x5d8338,_0x3ee7f0,!![]),_0x1dcc02=this[_0x444a64(0x149d,0xf61)][_0x81c063(_0x4e20d8._0x5f43e1,0x1101)](_0x117029[_0x3c0735-0x1],_0x117029[_0x3c0735],_0x5d8338,_0x3ee7f0,![]);_0x4379b8[_0x444a64(_0x4e20d8._0x51db4f,_0x4e20d8._0x45268f)](_0x4d7378),_0x5695b2['push'](_0x1dcc02);}return _0x4379b8['concat'](_0x5695b2);}}class AttackArrowUtil extends ArrowParentUtil{['setOptions'](_0x4cbcb2={}){const _0x4c0bd4={_0x41a1f3:0xfda,_0x100813:0x13e5,_0x1a31c9:0x1978,_0x8227d2:0x1f6f,_0x45eef8:0x1142},_0x5d202d={_0x8e3eec:0x5eb};this[_0x4b5907(0x13e5,_0x4c0bd4._0x41a1f3)]=_0x4cbcb2[_0x4b5907(_0x4c0bd4._0x100813,_0x4c0bd4._0x1a31c9)]||0.18;function _0x4b5907(_0x676534,_0x3df8ba){return _0x2b6441(_0x3df8ba,_0x676534-_0x5d202d._0x8e3eec);}this['headWidthFactor']=_0x4cbcb2['headWidthFactor']||0.3;function _0x5512c5(_0x5b2638,_0x2647c5){return _0x2b6441(_0x5b2638,_0x2647c5-0x602);}this[_0x4b5907(0x18f3,0x1c5d)]=_0x4cbcb2['neckHeightFactor']||0.85,this[_0x5512c5(_0x4c0bd4._0x8227d2,0x1a54)]=_0x4cbcb2['neckWidthFactor']||0.15,this['headTailFactor']=_0x4cbcb2[_0x4b5907(0x1417,_0x4c0bd4._0x45eef8)]||0.8;}[_0x2b6441(0x9b6,0x887)](_0x49f7e7,_0x2de1a9){const _0x4bc3f0={_0x1880d9:0x1bcb,_0x56bf08:0xae9,_0x513008:0xdba,_0x4dd007:0x277,_0x1ab093:0xad5,_0x9871b7:0xb1c,_0x3426d3:0x1184,_0x23132e:0x10dc,_0x5cc9d7:0xd8d,_0xc33856:0xc9a,_0x6c33c6:0xdf5},_0x509118={_0x234329:0x36d};if(!_0x49f7e7||_0x49f7e7[_0xa10f4d(0x13c7,0x1839)]===0x0)return _0x49f7e7;this[_0xa10f4d(0x1765,_0x4bc3f0._0x1880d9)]=_0x49f7e7,this[_0xa10f4d(_0x4bc3f0._0x56bf08,_0x4bc3f0._0x513008)](_0x2de1a9);const _0x5a77d4=cartesians2mercators(_0x49f7e7),_0x2c006b=(_0x2de1a9===null||_0x2de1a9===void 0x0?void 0x0:_0x2de1a9['maxHeight'])??this['getMaxHeight'](_0x5a77d4),_0x302dab=_0x5a77d4[_0x5a77d4['length']-0x1],_0x112e0d=_0x5a77d4[_0x5a77d4['length']-0x2],_0x3c1124=this['algorithmUtil']['MathDistance'](_0x302dab,_0x112e0d);function _0xa10f4d(_0x3f87d4,_0x573cbd){return _0x2b6441(_0x573cbd,_0x3f87d4-_0x509118._0x234329);}_0x3c1124<0x1&&_0x5a77d4[_0x4a4b3e(0x146f,0x1a4f)]>0x2&&_0x5a77d4[_0xa10f4d(_0x4bc3f0._0x4dd007,_0x4bc3f0._0x1ab093)](_0x5a77d4[_0x4a4b3e(0x146f,_0x4bc3f0._0x9871b7)]-0x2,0x1);let _0x1ed7ed=_0x5a77d4[0x0],_0x553028=_0x5a77d4[0x1];this['algorithmUtil']['isClockWise'](_0x5a77d4[0x0],_0x5a77d4[0x1],_0x5a77d4[0x2])&&(_0x1ed7ed=_0x5a77d4[0x1],_0x553028=_0x5a77d4[0x0]);const _0x5d0364=this[_0x4a4b3e(_0x4bc3f0._0x3426d3,0xb31)]['Mid'](_0x1ed7ed,_0x553028),_0xd256a=[_0x5d0364]['concat'](_0x5a77d4['slice'](0x2)),_0x6eaae2=this['getArrowHeadPoints'](_0xd256a,_0x1ed7ed,_0x553028);if(!_0x6eaae2||_0x6eaae2['length']<0x4)return _0x49f7e7;function _0x4a4b3e(_0x164639,_0x1a4e75){return _0x2b6441(_0x1a4e75,_0x164639-0x415);}const _0x3d40e9=_0x6eaae2[0x0],_0x47db5c=_0x6eaae2[0x4],_0x160dba=this[_0xa10f4d(_0x4bc3f0._0x23132e,0x1aba)][_0x4a4b3e(0x4a8,_0x4bc3f0._0x5cc9d7)](_0x1ed7ed,_0x553028)/this['algorithmUtil']['getBaseLength'](_0xd256a),_0x50a8e7=this['getArrowBodyPoints'](_0xd256a,_0x3d40e9,_0x47db5c,_0x160dba),_0x131343=_0x50a8e7['length'];let _0x3d8abc=[_0x1ed7ed]['concat'](_0x50a8e7['slice'](0x0,_0x131343/0x2));_0x3d8abc['push'](_0x3d40e9);let _0x1839b4=[_0x553028][_0x4a4b3e(_0x4bc3f0._0xc33856,0xa4b)](_0x50a8e7['slice'](_0x131343/0x2,_0x131343));_0x1839b4['push'](_0x47db5c),_0x3d8abc=this['algorithmUtil'][_0x4a4b3e(0x569,_0x4bc3f0._0x6c33c6)](_0x3d8abc),_0x1839b4=this[_0xa10f4d(0x10dc,0x1618)]['getQBSplinePoints'](_0x1839b4);const _0x53fe05=_0x3d8abc['concat'](_0x6eaae2,_0x1839b4['reverse']()),_0x39f5ea=mercators2cartesians(_0x53fe05,_0x2c006b);return _0x39f5ea;}}const attackArrowUtil$1=new AttackArrowUtil();class AttackArrow extends PolygonEntity{get['hasClosure'](){return![];}['getShowPositions'](_0x790bed){if(!_0x790bed||_0x790bed[_0x5c886f(0xfd1,0x14b9)]<0x2)return _0x790bed;this['style']['maxHeight']=this['getMaxHeight']();function _0x5c886f(_0x113b87,_0x40fdd7){return _0x2b6441(_0x113b87,_0x40fdd7-0x45f);}return attackArrowUtil$1['startCompute'](_0x790bed,this['style']);}['_updateEditDraggerPositionHeight'](_0x365e63){return setPositionsHeight(_0x365e63,this['style']['maxHeight']);}}register$5('attackArrow',AttackArrow);class AttackArrowPWUtil extends ArrowParentUtil{['setOptions'](_0x2b6fb1={}){const _0x43f4f4={_0x62ee51:0xe0f,_0x43e540:0x9b8,_0x46878c:0x18ea,_0x4c3dd6:0x12dd,_0x7b803b:0x12e9,_0x40b886:0x22e0},_0x827691={_0x20fbfb:0x1f};function _0x40e47d(_0x138086,_0x46ea34){return _0x306755(_0x138086,_0x46ea34-0x41);}this[_0xba3bb5(_0x43f4f4._0x62ee51,0xddb)]=_0x2b6fb1[_0x40e47d(0x95b,0x13dc)]||0.18,this[_0x40e47d(_0x43f4f4._0x43e540,0xfe1)]=_0x2b6fb1['headWidthFactor']||0.3,this[_0x40e47d(0x1ada,_0x43f4f4._0x46878c)]=_0x2b6fb1[_0xba3bb5(_0x43f4f4._0x4c3dd6,_0x43f4f4._0x7b803b)]||0.85;function _0xba3bb5(_0x325c1c,_0xb60485){return _0x2b6441(_0x325c1c,_0xb60485- -_0x827691._0x20fbfb);}this['neckWidthFactor']=_0x2b6fb1[_0x40e47d(_0x43f4f4._0x40b886,0x1a34)]||0.15,this['tailWidthFactor']=_0x2b6fb1['tailWidthFactor']||0.1;}['startCompute'](_0x4965cc,_0x434480){const _0x59db52={_0x3f119e:0x10e5,_0x394510:0x195e,_0x46ec6f:0x1732,_0x498b34:0x158e,_0x1d570e:0x12a7,_0x3a9893:0x78e,_0x424526:0x708,_0x43eee2:0x688},_0x2053de={_0x305db6:0x4ae};if(!_0x4965cc||_0x4965cc['length']===0x0)return _0x4965cc;this[_0x3b5cac(0x18a6,0x1b17)]=_0x4965cc,this['setOptions'](_0x434480);const _0x4f90c3=cartesians2mercators(_0x4965cc),_0x228ee7=(_0x434480===null||_0x434480===void 0x0?void 0x0:_0x434480[_0x3b5cac(0x11cc,0x1846)])??this[_0x27d38c(0x1731,_0x59db52._0x3f119e)](_0x4f90c3);function _0x27d38c(_0x314875,_0x27c7ae){return _0x306755(_0x314875,_0x27c7ae- -0x6d);}const _0x1db2f4=this['getTailPoints'](_0x4f90c3),_0x336d05=this[_0x27d38c(0x1494,_0x59db52._0x394510)](_0x4f90c3,_0x1db2f4[0x0],_0x1db2f4[0x1]);if(!_0x336d05||_0x336d05['length']<0x4)return _0x4965cc;const _0x51db85=_0x336d05[0x0],_0x3a51a3=_0x336d05[0x4],_0x510a06=this['getArrowBodyPoints'](_0x4f90c3,_0x51db85,_0x3a51a3,this['tailWidthFactor']),_0x3f9ee9=_0x510a06[_0x27d38c(_0x59db52._0x46ec6f,_0x59db52._0x498b34)];let _0x3c7475=[_0x1db2f4[0x0]][_0x27d38c(_0x59db52._0x1d570e,0xdb9)](_0x510a06[_0x27d38c(0xcec,_0x59db52._0x3a9893)](0x0,_0x3f9ee9/0x2));_0x3c7475[_0x27d38c(0x16c,0x62c)](_0x51db85);let _0x4253ba=[_0x1db2f4[0x1]]['concat'](_0x510a06[_0x3b5cac(_0x59db52._0x424526,0x35d)](_0x3f9ee9/0x2,_0x3f9ee9));_0x4253ba['push'](_0x3a51a3),_0x3c7475=this[_0x3b5cac(0x121d,0x8f4)][_0x27d38c(0xcdf,_0x59db52._0x43eee2)](_0x3c7475),_0x4253ba=this[_0x3b5cac(0x121d,0x1957)]['getQBSplinePoints'](_0x4253ba);const _0x4d593f=_0x3c7475[_0x27d38c(0x152b,0xdb9)](_0x336d05,_0x4253ba['reverse']()),_0x48c0f3=mercators2cartesians(_0x4d593f,_0x228ee7);function _0x3b5cac(_0x101a4f,_0x5d55e7){return _0x2b6441(_0x5d55e7,_0x101a4f-_0x2053de._0x305db6);}return _0x48c0f3;}['getTailPoints'](_0x346a98){const _0x4e3a2c={_0x3c700b:0xa77,_0xbc6c51:0x103b,_0x21d65a:0x1255},_0x1c67a0={_0x1dc5c5:0x23c};function _0x593bc7(_0x1666c5,_0x233c26){return _0x2b6441(_0x233c26,_0x1666c5-_0x1c67a0._0x1dc5c5);}function _0x414412(_0x3884c2,_0x4d85d0){return _0x2b6441(_0x3884c2,_0x4d85d0-0x23a);}const _0x13ce7b=this[_0x593bc7(0xfab,_0x4e3a2c._0x3c700b)]['getBaseLength'](_0x346a98),_0x996b33=_0x13ce7b*this['tailWidthFactor'],_0x54d2ba=this[_0x593bc7(0xfab,0x1927)][_0x593bc7(_0x4e3a2c._0xbc6c51,0x1808)](_0x346a98[0x1],_0x346a98[0x0],Math['PI']/0x2,_0x996b33,![]),_0x25e5d8=this[_0x593bc7(0xfab,0x87c)][_0x593bc7(_0x4e3a2c._0xbc6c51,_0x4e3a2c._0x21d65a)](_0x346a98[0x1],_0x346a98[0x0],Math['PI']/0x2,_0x996b33,!![]);return[_0x54d2ba,_0x25e5d8];}}const attackArrowPWUtil=new AttackArrowPWUtil();class AttackArrowPW extends PolygonEntity{get['hasClosure'](){return![];}['getShowPositions'](_0x20d332){const _0x17e448={_0x1c464e:0x572};function _0xc052d0(_0x3cb8ad,_0x5f2c69){return _0x2b6441(_0x3cb8ad,_0x5f2c69-_0x17e448._0x1c464e);}if(!_0x20d332||_0x20d332['length']<0x2)return _0x20d332;return this[_0xc052d0(0x253,0x827)]['maxHeight']=this['getMaxHeight'](),attackArrowPWUtil['startCompute'](_0x20d332,this['style']);}[_0x306755(0xdce,0x4e1)](_0x585708){return setPositionsHeight(_0x585708,this['style']['maxHeight']);}static[_0x2b6441(0x1282,0x7db)](_0x1b6d51,_0x5855c8){const _0x38d434={_0x6d3ce8:0x13bf};function _0x598d73(_0x13dd75,_0x4be5c8){return _0x2b6441(_0x4be5c8,_0x13dd75-0x35a);}function _0x418464(_0x3a8a01,_0x3fab8a){return _0x306755(_0x3a8a01,_0x3fab8a- -0x53e);}if(!_0x1b6d51||_0x1b6d51[_0x418464(_0x38d434._0x6d3ce8,0x10bd)]<0x2)return _0x1b6d51;return _0x1b6d51=LngLatArray[_0x418464(-0x226,0x74d)](_0x1b6d51),attackArrowPWUtil[_0x598d73(0xbe1,0x148a)](_0x1b6d51,_0x5855c8);}}register$5('attackArrowPW',AttackArrowPW);class AttackArrowYWUtil extends ArrowParentUtil{[_0x306755(0x85b,0xd1d)](_0x4f4b80={}){const _0x32835c={_0x392f04:0x1036,_0xf889ba:0x126e,_0x479150:0x113c,_0x1312d1:0x132d,_0x3c01d0:0x182b},_0x34be7e={_0x4fcad9:0x501},_0x9369a5={_0x1ab72d:0x12d};this['headHeightFactor']=_0x4f4b80[_0xaffef8(_0x32835c._0x392f04,_0x32835c._0xf889ba)]||0.18,this['headWidthFactor']=_0x4f4b80['headWidthFactor']||0.3;function _0xaffef8(_0x37742d,_0x520a41){return _0x306755(_0x37742d,_0x520a41- -_0x9369a5._0x1ab72d);}this['neckHeightFactor']=_0x4f4b80['neckHeightFactor']||0.85,this['neckWidthFactor']=_0x4f4b80[_0xaffef8(_0x32835c._0x479150,0x18c6)]||0.15;function _0x301521(_0x5f127c,_0x5ab55a){return _0x2b6441(_0x5ab55a,_0x5f127c-_0x34be7e._0x4fcad9);}this[_0xaffef8(0x9fe,0x97c)]=_0x4f4b80['tailWidthFactor']||0.1,this[_0x301521(_0x32835c._0x1312d1,_0x32835c._0x3c01d0)]=_0x4f4b80['headTailFactor']||0.8,this['swallowTailFactor']=_0x4f4b80['swallowTailFactor']||0x1;}[_0x306755(0x1309,0xe28)](_0x437065,_0x48fbfa){const _0x1b61de={_0x56e057:0x106d,_0x5a7604:0x723,_0x434f15:0x1a50,_0x11959c:0x1358,_0xfdc0cb:0x3f6},_0x3414cd={_0x13f3a3:0x17};if(!_0x437065||_0x437065[_0x56fbb2(0x1043,0x9d4)]===0x0)return _0x437065;this['positions']=_0x437065,this['setOptions'](_0x48fbfa);const _0x350771=cartesians2mercators(_0x437065),_0x7cdd82=(_0x48fbfa===null||_0x48fbfa===void 0x0?void 0x0:_0x48fbfa['maxHeight'])??this['getMaxHeight'](_0x350771),_0x96750f=[_0x350771[0x0],_0x350771[0x1]];let _0x2d5a69=_0x96750f[0x0];function _0x56fbb2(_0x3b0e03,_0x209f5a){return _0x2b6441(_0x209f5a,_0x3b0e03- -_0x3414cd._0x13f3a3);}let _0x45110e=_0x96750f[0x1];this[_0x5d5976(_0x1b61de._0x56e057,_0x1b61de._0x5a7604)]['isClockWise'](_0x350771[0x0],_0x350771[0x1],_0x350771[0x2])&&(_0x2d5a69=_0x350771[0x1],_0x45110e=_0x350771[0x0]);const _0x1527b5=this['algorithmUtil']['Mid'](_0x2d5a69,_0x45110e),_0xe26dde=[_0x1527b5][_0x56fbb2(0x86e,0x3be)](_0x350771[_0x5d5976(0x558,0x70a)](0x2)),_0x363f93=this[_0x5d5976(0x1728,_0x1b61de._0x434f15)](_0xe26dde,_0x2d5a69,_0x45110e);if(!_0x363f93||_0x363f93[_0x5d5976(_0x1b61de._0x11959c,0x1aa5)]<0x4)return _0x437065;const _0x5a0c05=[_0x363f93[0x0],_0x363f93[0x4]],_0x9363c2=_0x5a0c05[0x0],_0x12a6e1=_0x5a0c05[0x1],_0x4ad033=this['algorithmUtil']['MathDistance'](_0x2d5a69,_0x45110e);function _0x5d5976(_0x19905d,_0x341b1d){return _0x2b6441(_0x341b1d,_0x19905d-0x2fe);}const _0x2f74dc=this['algorithmUtil'][_0x5d5976(0x2d8,0x6a2)](_0xe26dde),_0x59fef8=_0x2f74dc*this['tailWidthFactor']*this['swallowTailFactor'],_0x5f3885=this['algorithmUtil'][_0x5d5976(0x10fd,0x7f5)](_0xe26dde[0x1],_0xe26dde[0x0],0x0,_0x59fef8,!![]),_0x196a3d=_0x4ad033/_0x2f74dc,_0x3f8334=this['getArrowBodyPoints'](_0xe26dde,_0x9363c2,_0x12a6e1,_0x196a3d),_0x2b7871=_0x3f8334['length'];let _0x793bf8=[_0x2d5a69][_0x56fbb2(0x86e,0x943)](_0x3f8334[_0x56fbb2(0x243,-0x54e)](0x0,_0x2b7871/0x2));_0x793bf8[_0x56fbb2(0xe1,-0x402)](_0x9363c2);let _0x3c6cd6=[_0x45110e]['concat'](_0x3f8334['slice'](_0x2b7871/0x2,_0x2b7871));_0x3c6cd6[_0x5d5976(_0x1b61de._0xfdc0cb,0xead)](_0x12a6e1),_0x793bf8=this[_0x5d5976(0x106d,0x7dd)]['getQBSplinePoints'](_0x793bf8),_0x3c6cd6=this['algorithmUtil']['getQBSplinePoints'](_0x3c6cd6);const _0x5a445d=_0x793bf8['concat'](_0x363f93,_0x3c6cd6['reverse'](),[_0x5f3885,_0x793bf8[0x0]]),_0x317a32=mercators2cartesians(_0x5a445d,_0x7cdd82);return _0x317a32;}}const attackArrowUtil=new AttackArrowYWUtil();class AttackArrowYW extends PolygonEntity{get['hasClosure'](){return![];}[_0x2b6441(0xb6d,0x138)](_0x4600db){const _0x380360={_0x15bdde:0x24c},_0x2ac5da={_0x3e1fdf:0x635};function _0x36d9d4(_0x3a9578,_0x26b9bb){return _0x2b6441(_0x26b9bb,_0x3a9578-_0x2ac5da._0x3e1fdf);}function _0x4d3280(_0xa90e0a,_0x4cbb4e){return _0x2b6441(_0xa90e0a,_0x4cbb4e-_0x380360._0x15bdde);}if(!_0x4600db||_0x4600db['length']<0x3)return _0x4600db;return this['style'][_0x4d3280(0xf71,0xf6a)]=this['getMaxHeight'](),attackArrowUtil['startCompute'](_0x4600db,this[_0x4d3280(0x401,0x501)]);}['_updateEditDraggerPositionHeight'](_0x387835){const _0x514554={_0xea1be2:0x170b},_0x58b050={_0x1ebaf1:0x103};function _0x1d4032(_0x5811aa,_0x32bd83){return _0x2b6441(_0x32bd83,_0x5811aa-_0x58b050._0x1ebaf1);}return setPositionsHeight(_0x387835,this['style'][_0x1d4032(0xe21,_0x514554._0xea1be2)]);}static['getOutlinePositions'](_0x1b329a,_0x3008cb){const _0x426baf={_0x244cad:0x15f3,_0x8812a2:0x1361};function _0x10302c(_0x53ef90,_0x1b4f63){return _0x2b6441(_0x1b4f63,_0x53ef90-0x599);}if(!_0x1b329a||_0x1b329a[_0x10302c(_0x426baf._0x244cad,_0x426baf._0x8812a2)]<0x3)return _0x1b329a;function _0x4577db(_0x2c31a9,_0xc7cb47){return _0x2b6441(_0xc7cb47,_0x2c31a9-0x1c8);}return _0x1b329a=LngLatArray['toCartesians'](_0x1b329a),attackArrowUtil[_0x4577db(0xa4f,0x1228)](_0x1b329a,_0x3008cb);}}register$5(_0x306755(0xdf9,0x6d6),AttackArrowYW);class CloseCurveUtil{constructor(){this['algorithmUtil']=algorithmUtil;}[_0x306755(0x1761,0xe28)](_0x578002,_0x42ba0e){const _0x3c1f48={_0x4c5a8a:0x1037,_0x1e7d3d:0xc02,_0x126d77:0xe11,_0x896b:0x188a,_0x3ab91c:0x1448};if(!_0x578002||_0x578002['length']===0x0)return _0x578002;this[_0x2d90db(0x16de,0x1711)]=_0x578002;const _0x8305ca=cartesians2mercators(_0x578002);function _0x2d90db(_0x54873,_0x35b020){return _0x2b6441(_0x54873,_0x35b020-0x319);}const _0x19dfa7=(_0x42ba0e===null||_0x42ba0e===void 0x0?void 0x0:_0x42ba0e[_0x2d90db(0x1922,_0x3c1f48._0x4c5a8a)])??this[_0x40b5d9(_0x3c1f48._0x1e7d3d,0xc53)](_0x8305ca);_0x8305ca[_0x2d90db(0xb53,0x411)](_0x8305ca[0x0],_0x8305ca[0x1]);let _0x33b960=[];const _0x1a1c56=[];for(let _0x2023bf=0x0;_0x2023bf<_0x8305ca['length']-0x2;_0x2023bf++){const _0xfd1dce=this[_0x40b5d9(0x14c5,_0x3c1f48._0x126d77)][_0x40b5d9(_0x3c1f48._0x896b,_0x3c1f48._0x3ab91c)](0.3,_0x8305ca[_0x2023bf],_0x8305ca[_0x2023bf+0x1],_0x8305ca[_0x2023bf+0x2]);_0x33b960=_0x33b960['concat'](_0xfd1dce);}const _0x47e9eb=_0x33b960['length'];_0x33b960=[_0x33b960[_0x47e9eb-0x1]]['concat'](_0x33b960['slice'](0x0,_0x47e9eb-0x1));function _0x40b5d9(_0x2347b2,_0x247850){return _0x2b6441(_0x2347b2,_0x247850-0xa2);}for(let _0x3dad75=0x0;_0x3dad75<_0x8305ca['length']-0x2;_0x3dad75++){const _0x1a68f5=_0x8305ca[_0x3dad75],_0x1d3d13=_0x8305ca[_0x3dad75+0x1];_0x1a1c56['push'](_0x1a68f5);for(let _0x2cbf98=0x0;_0x2cbf98<=0x64;_0x2cbf98++){const _0x3892ac=this[_0x2d90db(0x165b,0x1088)]['getCubicValue'](_0x2cbf98/0x64,_0x1a68f5,_0x33b960[_0x3dad75*0x2],_0x33b960[_0x3dad75*0x2+0x1],_0x1d3d13);_0x1a1c56['push'](_0x3892ac);}_0x1a1c56['push'](_0x1d3d13);}const _0x13bcf6=mercators2cartesians(_0x1a1c56,_0x19dfa7);return _0x13bcf6;}['getMaxHeight'](_0x44a1cc){let _0xb9cc1f=_0x44a1cc[0x0][0x2]||0x0;for(let _0x48a2fb=0x0;_0x48a2fb<_0x44a1cc['length'];_0x48a2fb++){_0x44a1cc[0x2]>_0xb9cc1f&&(_0xb9cc1f=_0x44a1cc[0x2]);}return _0xb9cc1f;}}const closeCurveUtil=new CloseCurveUtil();class CloseVurve extends PolygonEntity{[_0x2b6441(-0x356,0x138)](_0x35934e){const _0xe0049={_0x1c92cf:0x1b3},_0x253788={_0x2bc1dd:0x133};if(!_0x35934e||_0x35934e['length']<0x2)return _0x35934e;function _0x12100b(_0x3e80ea,_0x587a05){return _0x2b6441(_0x3e80ea,_0x587a05-0x715);}this[_0x12100b(_0xe0049._0x1c92cf,0x9ca)]['maxHeight']=this[_0x2042b2(0x1285,0x1a6d)]();function _0x2042b2(_0x3108bf,_0x4c76f0){return _0x306755(_0x4c76f0,_0x3108bf-_0x253788._0x2bc1dd);}return closeCurveUtil['startCompute'](_0x35934e,this['style']);}['_updateEditDraggerPositionHeight'](_0x591d16){const _0x41a918={_0x92c6ff:0x808},_0x3e160f={_0x520ccd:0x388};function _0x2697d6(_0x51e137,_0x20b02f){return _0x306755(_0x51e137,_0x20b02f- -_0x3e160f._0x520ccd);}function _0x3e3467(_0x31b03b,_0x45712d){return _0x2b6441(_0x31b03b,_0x45712d-0x553);}return setPositionsHeight(_0x591d16,this[_0x3e3467(-0xe1,_0x41a918._0x92c6ff)][_0x2697d6(0x7fd,0xf37)]);}static['getOutlinePositions'](_0x3a0af5,_0x217c40){if(!_0x3a0af5||_0x3a0af5['length']<0x2)return _0x3a0af5;return _0x3a0af5=LngLatArray['toCartesians'](_0x3a0af5),closeCurveUtil['startCompute'](_0x3a0af5,_0x217c40);}}register$5(_0x2b6441(0x75,0x8e0),CloseVurve);class DoubleArrowUtil{constructor(){this['algorithmUtil']=algorithmUtil;}[_0x306755(0xf9a,0xd1d)](_0x5ccbbb={}){const _0x3721cd={_0x26fce2:0x1345,_0x3fd755:0x131b,_0x59c204:0xf4a};this[_0x2bf5d2(0x1097,_0x3721cd._0x26fce2)]=_0x5ccbbb[_0x38c4b9(_0x3721cd._0x3fd755,0x1c6d)]||0.25,this['headWidthFactor']=_0x5ccbbb[_0x2bf5d2(0x101a,_0x3721cd._0x59c204)]||0.3;function _0x38c4b9(_0x3ed1d2,_0x16b3f5){return _0x2b6441(_0x16b3f5,_0x3ed1d2-0x521);}function _0x2bf5d2(_0x6bf9bd,_0x5b20de){return _0x306755(_0x6bf9bd,_0x5b20de- -0x56);}this['neckHeightFactor']=_0x5ccbbb['neckHeightFactor']||0.85,this['neckWidthFactor']=_0x5ccbbb[_0x38c4b9(0x1973,0x14e2)]||0.15;}[_0x306755(0x122a,0xe28)](_0x42e085,_0x11099b){const _0x259767={_0x434ffd:0x1bd6,_0x4363d6:0x1599,_0x4cfcea:0x717,_0x18d7f7:0xc4c,_0x61f55d:0x13f3,_0x63c8a4:0xe4b,_0x2afb10:0x324,_0x2ff113:0x384,_0x23ac26:0x747,_0x2a3f2f:0x16de,_0x386d06:0x604,_0x3d807f:0x1119,_0x2e5a3e:0xbbe},_0x97e525={_0x3521f0:0x3aa};if(!_0x42e085||_0x42e085[_0xee2b7a(0x1404,_0x259767._0x434ffd)]<0x3)return _0x42e085;this['positions']=_0x42e085,this[_0xee2b7a(0xb26,0x40c)](_0x11099b);const _0x257f7f=cartesians2mercators(_0x42e085),_0x3f4118=(_0x11099b===null||_0x11099b===void 0x0?void 0x0:_0x11099b['maxHeight'])??this[_0x20cccf(0x1235,0x15d2)](_0x257f7f);function _0xee2b7a(_0x3d0467,_0x3b3b0b){return _0x2b6441(_0x3b3b0b,_0x3d0467-_0x97e525._0x3521f0);}const _0x2b1c6b=[_0x257f7f[0x0],_0x257f7f[0x1],_0x257f7f[0x2]],_0x51606f=_0x2b1c6b[0x0],_0x3bed8a=_0x2b1c6b[0x1];function _0x20cccf(_0x542a23,_0x434796){return _0x306755(_0x434796,_0x542a23-0xe3);}const _0x5afa4c=_0x2b1c6b[0x2],_0x51448b=this[_0xee2b7a(0x17a2,_0x259767._0x4363d6)][_0x20cccf(0x16de,0x13ec)];let _0x51c799,_0x43b226;if(_0x51448b===0x3)_0x51c799=this['getTempPoint4'](_0x51606f,_0x3bed8a,_0x5afa4c),_0x43b226=this[_0xee2b7a(0x1119,0xd02)]['Mid'](_0x51606f,_0x3bed8a);else{if(_0x51448b===0x4)_0x51c799=_0x257f7f[0x3],_0x43b226=this['algorithmUtil']['Mid'](_0x51606f,_0x3bed8a);else{const _0x2ab4e7=this[_0xee2b7a(0x1119,0x19d7)][_0x20cccf(_0x259767._0x4cfcea,_0x259767._0x18d7f7)](_0x257f7f[0x3],_0x257f7f[0x4]),_0xbe1dd0=this['algorithmUtil']['MathDistance'](_0x257f7f[0x2],_0x257f7f[0x3]);_0x2ab4e7<_0xbe1dd0*0.1?(_0x51c799=_0x257f7f[0x3],_0x43b226=this[_0x20cccf(_0x259767._0x61f55d,_0x259767._0x63c8a4)][_0xee2b7a(_0x259767._0x2afb10,-_0x259767._0x2ff113)](_0x51606f,_0x3bed8a)):(_0x51c799=_0x257f7f[0x3],_0x43b226=_0x257f7f[0x4]);}}let _0x2da804,_0x1cf559;this['algorithmUtil']['isClockWise'](_0x51606f,_0x3bed8a,_0x5afa4c)?(_0x2da804=this['getArrowPoints'](_0x51606f,_0x43b226,_0x51c799,![]),_0x1cf559=this[_0xee2b7a(0x46d,0x4d1)](_0x43b226,_0x3bed8a,_0x5afa4c,!![])):(_0x2da804=this[_0x20cccf(0x747,0x552)](_0x3bed8a,_0x43b226,_0x5afa4c,![]),_0x1cf559=this[_0x20cccf(_0x259767._0x23ac26,-0x30a)](_0x43b226,_0x51606f,_0x51c799,!![]));const _0x245c5a=_0x2da804[_0x20cccf(_0x259767._0x2a3f2f,0x1f02)],_0x200790=(_0x245c5a-0x5)/0x2,_0x1c042b=_0x2da804[_0xee2b7a(0x604,0xc9)](0x0,_0x200790),_0x15fee4=_0x2da804[_0xee2b7a(_0x259767._0x386d06,0x8aa)](_0x200790,_0x200790+0x5);let _0x609412=_0x2da804['slice'](_0x200790+0x5,_0x245c5a),_0x4ee287=_0x1cf559['slice'](0x0,_0x200790);const _0x22bd2a=_0x1cf559['slice'](_0x200790,_0x200790+0x5),_0x43c0e9=_0x1cf559['slice'](_0x200790+0x5,_0x245c5a);_0x4ee287=this[_0xee2b7a(0x1119,0xaf6)][_0x20cccf(0x984,0x0)](_0x4ee287);const _0x451bbe=this[_0xee2b7a(_0x259767._0x3d807f,_0x259767._0x2e5a3e)]['getBezierPoints'](_0x43c0e9['concat'](_0x1c042b['slice'](0x1)));_0x609412=this['algorithmUtil']['getBezierPoints'](_0x609412);const _0x35e465=_0x4ee287['concat'](_0x22bd2a,_0x451bbe,_0x15fee4,_0x609412),_0x28744f=mercators2cartesians(_0x35e465,_0x3f4118);return _0x28744f;}[_0x2b6441(0xe32,0x56a)](_0x255e3a,_0x2e594a,_0x2eb0ba){const _0x36fa0e={_0x4b2727:0x121e,_0x171713:0x1915,_0x1d2ec9:0x1312,_0x3f1395:0xc91,_0x145fdc:0x74f,_0x2e1911:0x9a1,_0x5f51da:0x1532},_0x24376c={_0x138c7a:0x4af},_0x4cdb96=this[_0x5c9e0d(_0x36fa0e._0x4b2727,_0x36fa0e._0x171713)]['Mid'](_0x255e3a,_0x2e594a),_0x399dd9=this['algorithmUtil']['MathDistance'](_0x4cdb96,_0x2eb0ba);function _0x582938(_0x3e7ff8,_0x102457){return _0x306755(_0x102457,_0x3e7ff8-0x2);}const _0x32e474=this['algorithmUtil']['getAngleOfThreePoints'](_0x255e3a,_0x4cdb96,_0x2eb0ba);let _0x331b6a,_0x5892b5,_0x42808a,_0x2ffa8a;function _0x5c9e0d(_0x10cca8,_0x416f93){return _0x2b6441(_0x416f93,_0x10cca8-_0x24376c._0x138c7a);}if(_0x32e474<Math['PI']/0x2)_0x5892b5=_0x399dd9*Math['sin'](_0x32e474),_0x42808a=_0x399dd9*Math['cos'](_0x32e474),_0x2ffa8a=this[_0x582938(_0x36fa0e._0x1d2ec9,0x1480)]['getThirdPoint'](_0x255e3a,_0x4cdb96,Math['PI']/0x2,_0x5892b5,![]),_0x331b6a=this['algorithmUtil']['getThirdPoint'](_0x4cdb96,_0x2ffa8a,Math['PI']/0x2,_0x42808a,!![]);else{if(_0x32e474>=Math['PI']/0x2&&_0x32e474<Math['PI'])_0x5892b5=_0x399dd9*Math['sin'](Math['PI']-_0x32e474),_0x42808a=_0x399dd9*Math[_0x582938(_0x36fa0e._0x3f1395,_0x36fa0e._0x145fdc)](Math['PI']-_0x32e474),_0x2ffa8a=this[_0x5c9e0d(0x121e,0x10b7)]['getThirdPoint'](_0x255e3a,_0x4cdb96,Math['PI']/0x2,_0x5892b5,![]),_0x331b6a=this['algorithmUtil'][_0x5c9e0d(0x12ae,0x1321)](_0x4cdb96,_0x2ffa8a,Math['PI']/0x2,_0x42808a,![]);else _0x32e474>=Math['PI']&&_0x32e474<Math['PI']*1.5?(_0x5892b5=_0x399dd9*Math['sin'](_0x32e474-Math['PI']),_0x42808a=_0x399dd9*Math[_0x582938(0xc91,_0x36fa0e._0x2e1911)](_0x32e474-Math['PI']),_0x2ffa8a=this['algorithmUtil']['getThirdPoint'](_0x255e3a,_0x4cdb96,Math['PI']/0x2,_0x5892b5,!![]),_0x331b6a=this['algorithmUtil']['getThirdPoint'](_0x4cdb96,_0x2ffa8a,Math['PI']/0x2,_0x42808a,!![])):(_0x5892b5=_0x399dd9*Math['sin'](Math['PI']*0x2-_0x32e474),_0x42808a=_0x399dd9*Math[_0x582938(_0x36fa0e._0x3f1395,_0x36fa0e._0x5f51da)](Math['PI']*0x2-_0x32e474),_0x2ffa8a=this['algorithmUtil']['getThirdPoint'](_0x255e3a,_0x4cdb96,Math['PI']/0x2,_0x5892b5,!![]),_0x331b6a=this['algorithmUtil']['getThirdPoint'](_0x4cdb96,_0x2ffa8a,Math['PI']/0x2,_0x42808a,![]));}return _0x331b6a;}['getArrowPoints'](_0x1a9b31,_0x3e3e05,_0x349bda,_0x493a5f){const _0x23fa82={_0x442a00:0x133b,_0x5b1f17:0x1238,_0x363114:0x131b,_0x4a8339:0x13ab,_0x599678:0x1606,_0x1d432d:0xf77,_0x34c8fb:0x806,_0x517479:0xf7a,_0xfc365:0x9c8,_0x4cccb7:0xfa4,_0x36b3d3:0x38c,_0x1605c4:0xba1},_0x2f1e97=this['algorithmUtil']['Mid'](_0x1a9b31,_0x3e3e05),_0x3a723=this['algorithmUtil']['MathDistance'](_0x2f1e97,_0x349bda);let _0x3a254a=this['algorithmUtil']['getThirdPoint'](_0x349bda,_0x2f1e97,0x0,_0x3a723*0.3,!![]),_0x1c6bae=this[_0x5bb8ac(_0x23fa82._0x442a00,_0x23fa82._0x5b1f17)]['getThirdPoint'](_0x349bda,_0x2f1e97,0x0,_0x3a723*0.5,!![]);_0x3a254a=this[_0x2bf9ad(_0x23fa82._0x363114,0x1a87)][_0x2bf9ad(_0x23fa82._0x4a8339,0x13a8)](_0x2f1e97,_0x3a254a,Math['PI']/0x2,_0x3a723/0x5,_0x493a5f),_0x1c6bae=this[_0x5bb8ac(0x9c7,0x1238)][_0x2bf9ad(0x13ab,0xb8f)](_0x2f1e97,_0x1c6bae,Math['PI']/0x2,_0x3a723/0x4,_0x493a5f);const _0x3cf210=[_0x2f1e97,_0x3a254a,_0x1c6bae,_0x349bda],_0x122294=this['getArrowHeadPoints'](_0x3cf210);function _0x5bb8ac(_0x1a195c,_0x566fb2){return _0x2b6441(_0x1a195c,_0x566fb2-0x4c9);}function _0x2bf9ad(_0x1c2bc7,_0xd6fa91){return _0x306755(_0xd6fa91,_0x1c2bc7-0xb);}if(_0x122294&&Array['isArray'](_0x122294)&&_0x122294['length']>0x3){const _0x3face6=[_0x122294[0x0],_0x122294[0x4]],_0x31affb=_0x3face6[0x0],_0x1f1c89=_0x3face6[0x1],_0x194597=this['algorithmUtil']['MathDistance'](_0x1a9b31,_0x3e3e05)/this['algorithmUtil']['getBaseLength'](_0x3cf210)/0x2,_0x20a9e0=this[_0x2bf9ad(0x11a1,0x11f4)](_0x3cf210,_0x31affb,_0x1f1c89,_0x194597);if(_0x20a9e0){const _0x562922=_0x20a9e0[_0x2bf9ad(_0x23fa82._0x599678,_0x23fa82._0x1d432d)];let _0x3e45e2=_0x20a9e0[_0x5bb8ac(0x11ab,0x723)](0x0,_0x562922/0x2),_0x624583=_0x20a9e0[_0x2bf9ad(_0x23fa82._0x34c8fb,0x917)](_0x562922/0x2,_0x562922);return _0x3e45e2[_0x2bf9ad(0x6a4,0xecf)](_0x31affb),_0x624583[_0x2bf9ad(0x6a4,_0x23fa82._0x517479)](_0x1f1c89),_0x3e45e2=_0x3e45e2[_0x5bb8ac(_0x23fa82._0xfc365,_0x23fa82._0x4cccb7)](),_0x3e45e2[_0x2bf9ad(0x6a4,0xdd9)](_0x3e3e05),_0x624583=_0x624583['reverse'](),_0x624583['push'](_0x1a9b31),_0x3e45e2['reverse']()['concat'](_0x122294,_0x624583);}}else console[_0x5bb8ac(-0x2b0,_0x23fa82._0x36b3d3)](_0x2bf9ad(_0x23fa82._0x1605c4,0x9a8),_0x122294);}[_0x306755(0x1d08,0x19cb)](_0x47d814){const _0x42d0ee={_0x3c5ab4:0x926,_0x408eb4:0x11d5,_0x1e6618:0xeea,_0x466c0a:0xeea,_0x212297:0x13a0,_0x23fce9:0x6a4},_0x392259={_0x48ace6:0x426};if(!_0x47d814||_0x47d814['length']<0x2)return[];const _0x5abf17=this['algorithmUtil']['getBaseLength'](_0x47d814),_0x2fd26e=_0x5abf17*this['headHeightFactor'],_0x93b8bb=_0x47d814[_0x47d814['length']-0x1],_0x15d308=_0x2fd26e*this[_0x32edf4(0xb7a,_0x42d0ee._0x3c5ab4)],_0xaa541f=_0x2fd26e*this[_0x32edf4(0x15cd,0xcd1)],_0x5bb9ae=_0x2fd26e*this[_0x474711(0x1939,0x102a)],_0x34dca1=this['algorithmUtil']['getThirdPoint'](_0x47d814[_0x47d814[_0x32edf4(_0x42d0ee._0x408eb4,0xcb9)]-0x2],_0x93b8bb,0x0,_0x2fd26e,!![]);function _0x474711(_0x53c670,_0x5ab0a5){return _0x306755(_0x5ab0a5,_0x53c670-0x90);}const _0xa4f528=this[_0x32edf4(_0x42d0ee._0x1e6618,0x165e)][_0x32edf4(0xf7a,0x7da)](_0x47d814[_0x47d814['length']-0x2],_0x93b8bb,0x0,_0x5bb9ae,!![]),_0x3b273d=this[_0x32edf4(_0x42d0ee._0x466c0a,0xa2b)]['getThirdPoint'](_0x93b8bb,_0x34dca1,Math['PI']/0x2,_0x15d308,![]),_0x59568d=this[_0x474711(_0x42d0ee._0x212297,0x1801)]['getThirdPoint'](_0x93b8bb,_0x34dca1,Math['PI']/0x2,_0x15d308,!![]),_0x5d0cce=this['algorithmUtil'][_0x32edf4(0xf7a,_0x42d0ee._0x23fce9)](_0x93b8bb,_0xa4f528,Math['PI']/0x2,_0xaa541f,![]);function _0x32edf4(_0x3b79d1,_0x17748a){return _0x306755(_0x17748a,_0x3b79d1- -_0x392259._0x48ace6);}const _0x4514cc=this['algorithmUtil'][_0x474711(0x1430,0xafc)](_0x93b8bb,_0xa4f528,Math['PI']/0x2,_0xaa541f,!![]);return[_0x5d0cce,_0x3b273d,_0x93b8bb,_0x59568d,_0x4514cc];}['getArrowBodyPoints'](_0x4cd148,_0x4bcba8,_0x14b42c,_0x26a9d6){const _0x30abf1={_0x3b1029:0x1393,_0x5ab416:0x1eb,_0x5f5d76:0x1393,_0xcddb3:0x18e2},_0x231dd0=this[_0x88a36c(_0x30abf1._0x3b1029,0x1677)]['wholeDistance'](_0x4cd148),_0x5198ce=this['algorithmUtil']['getBaseLength'](_0x4cd148),_0x5b2034=_0x5198ce*_0x26a9d6,_0x4db376=this[_0x57979d(0xec7,0x13b6)][_0x57979d(_0x30abf1._0x5ab416,-0x307)](_0x4bcba8,_0x14b42c),_0x27cc69=(_0x5b2034-_0x4db376)/0x2;let _0x1e0cec=0x0;const _0x59a9d7=[];function _0x57979d(_0x99906d,_0x20f331){return _0x2b6441(_0x20f331,_0x99906d-0x158);}function _0x88a36c(_0x410afc,_0x1cf8f0){return _0x306755(_0x1cf8f0,_0x410afc-0x83);}const _0x1a0376=[];for(let _0xc7e618=0x1;_0xc7e618<_0x4cd148['length']-0x1;_0xc7e618++){const _0x29755d=this[_0x88a36c(_0x30abf1._0x5f5d76,0x1933)][_0x88a36c(0x1410,0xcfc)](_0x4cd148[_0xc7e618-0x1],_0x4cd148[_0xc7e618],_0x4cd148[_0xc7e618+0x1])/0x2;_0x1e0cec+=this['algorithmUtil']['MathDistance'](_0x4cd148[_0xc7e618-0x1],_0x4cd148[_0xc7e618]);const _0x2bdeb8=(_0x5b2034/0x2-_0x1e0cec/_0x231dd0*_0x27cc69)/Math['sin'](_0x29755d),_0x2fd404=this['algorithmUtil']['getThirdPoint'](_0x4cd148[_0xc7e618-0x1],_0x4cd148[_0xc7e618],Math['PI']-_0x29755d,_0x2bdeb8,!![]),_0x539084=this['algorithmUtil']['getThirdPoint'](_0x4cd148[_0xc7e618-0x1],_0x4cd148[_0xc7e618],_0x29755d,_0x2bdeb8,![]);_0x59a9d7['push'](_0x2fd404),_0x1a0376['push'](_0x539084);}return _0x59a9d7[_0x88a36c(0xea9,_0x30abf1._0xcddb3)](_0x1a0376);}['getMaxHeight'](_0x3bdc0c){const _0x2a989d={_0x555383:0x1711,_0xc261e3:0x1a54};function _0x137624(_0x1e9373,_0xda3467){return _0x306755(_0xda3467,_0x1e9373-0x116);}let _0xe1e990=_0x3bdc0c[0x0][0x2]||0x0;for(let _0x509670=0x0;_0x509670<_0x3bdc0c[_0x137624(_0x2a989d._0x555383,_0x2a989d._0xc261e3)];_0x509670++){_0x3bdc0c[0x2]>_0xe1e990&&(_0xe1e990=_0x3bdc0c[0x2]);}return _0xe1e990;}}const doubleArrowUtil=new DoubleArrowUtil();class DoubleArrow extends PolygonEntity{constructor(_0x354074={}){const _0x2a581b={_0x379349:0x157c},_0x6195ce={_0x574c5:0x3c9};super(_0x354074),this[_0xd943ab(0x1665,_0x2a581b._0x379349)]=0x3;function _0xd943ab(_0x16c69b,_0x130d3a){return _0x2b6441(_0x16c69b,_0x130d3a-_0x6195ce._0x574c5);}this['_maxPointNum']=0x5;}['getShowPositions'](_0x1fa424){if(!_0x1fa424||_0x1fa424['length']<this['_minPointNum'])return _0x1fa424;this['style'][_0x5de03e(0x10c7,0x17d9)]=this[_0x5de03e(0xf5a,0x14c5)]();function _0x5c473e(_0x801262,_0x166252){return _0x2b6441(_0x166252,_0x801262-0x1c1);}function _0x5de03e(_0xdc4f34,_0x5061c9){return _0x306755(_0x5061c9,_0xdc4f34- -0x1f8);}return doubleArrowUtil['startCompute'](_0x1fa424,this['style']);}[_0x306755(-0x3d8,0x4e1)](_0x338a15){const _0x473ad9={_0x28cb19:0x1fd};function _0x1da0fc(_0x107e5d,_0x35de63){return _0x2b6441(_0x35de63,_0x107e5d-0xd3);}return setPositionsHeight(_0x338a15,this[_0x1da0fc(0x388,_0x473ad9._0x28cb19)]['maxHeight']);}static[_0x2b6441(0x9ad,0x7db)](_0x3dc3fd,_0x20f1c6){if(!_0x3dc3fd||_0x3dc3fd['length']<0x3)return _0x3dc3fd;return _0x3dc3fd=LngLatArray['toCartesians'](_0x3dc3fd),doubleArrowUtil['startCompute'](_0x3dc3fd,_0x20f1c6);}}register$5('doubleArrow',DoubleArrow);class FineArrowUtil{constructor(){this['algorithmUtil']=algorithmUtil;}[_0x306755(0x104d,0xd1d)](_0x20ce76={}){const _0x159cae={_0x31310d:0x636},_0xa6e0ad={_0x517c07:0x5da};this[_0x47afc4(0x481,0x519)]=_0x20ce76['headAngle']||Math['PI']/8.5,this['neckAngle']=_0x20ce76['neckAngle']||Math['PI']/0xd,this['tailWidthFactor']=_0x20ce76[_0x47afc4(0x57b,_0x159cae._0x31310d)]||0.1,this['neckWidthFactor']=_0x20ce76['neckWidthFactor']||0.2;function _0x409d7d(_0x1e37d2,_0x176178){return _0x306755(_0x1e37d2,_0x176178- -_0xa6e0ad._0x517c07);}function _0x47afc4(_0x310f1d,_0xca78a){return _0x2b6441(_0x310f1d,_0xca78a-0x12e);}this['headWidthFactor']=_0x20ce76['headWidthFactor']||0.25,this['neckHeightFactor']=_0x20ce76['neckHeightFactor']||0.85;}['startCompute'](_0x4f4bfc,_0x2971d0){const _0x51f490={_0x12c899:0x160b,_0x170204:0xbcb,_0x590ad5:0xa1d,_0x4582ee:0x1162,_0x3b2881:0x1a01,_0x2ab70c:0xca0},_0x289fac={_0x126180:0x300};if(!_0x4f4bfc||_0x4f4bfc[_0x4b7c18(_0x51f490._0x12c899,0x1a1a)]===0x0)return _0x4f4bfc;this[_0x4b7c18(0x19a9,0x1a1c)]=_0x4f4bfc,this[_0x3d13c5(_0x51f490._0x170204,_0x51f490._0x590ad5)](_0x2971d0);const _0x1fc60f=cartesians2mercators(_0x4f4bfc),_0x37acdf=(_0x2971d0===null||_0x2971d0===void 0x0?void 0x0:_0x2971d0['maxHeight'])??this[_0x4b7c18(_0x51f490._0x4582ee,0x794)](_0x1fc60f),_0x3d198d=[_0x1fc60f[0x0],_0x1fc60f[0x1]],_0x37f6d8=_0x3d198d[0x0],_0x4a4648=_0x3d198d[0x1],_0x4f6d1c=this['algorithmUtil']['getBaseLength'](_0x1fc60f),_0x153404=_0x4f6d1c*this['tailWidthFactor'];function _0x3d13c5(_0x5ee832,_0xb4ebbf){return _0x306755(_0x5ee832,_0xb4ebbf- -_0x289fac._0x126180);}const _0x5e440e=_0x4f6d1c*this['neckWidthFactor'],_0x4a41b5=_0x4f6d1c*this[_0x3d13c5(0x83f,0xca0)],_0x5283a6=this['algorithmUtil']['getThirdPoint'](_0x4a4648,_0x37f6d8,Math['PI']/0x2,_0x153404,!![]),_0x127297=this[_0x3d13c5(0xce3,0x1010)]['getThirdPoint'](_0x4a4648,_0x37f6d8,Math['PI']/0x2,_0x153404,![]),_0x306e5f=this[_0x3d13c5(0x113b,0x1010)]['getThirdPoint'](_0x37f6d8,_0x4a4648,this['headAngle'],_0x4a41b5,![]);function _0x4b7c18(_0x2bd95d,_0x276f07){return _0x306755(_0x276f07,_0x2bd95d-0x10);}const _0xa446e7=this[_0x3d13c5(0xe2f,0x1010)]['getThirdPoint'](_0x37f6d8,_0x4a4648,this['headAngle'],_0x4a41b5,!![]),_0x59bbca=this[_0x3d13c5(_0x51f490._0x3b2881,0x1010)]['getThirdPoint'](_0x37f6d8,_0x4a4648,this['neckAngle'],_0x5e440e,![]),_0x3336de=this[_0x3d13c5(_0x51f490._0x2ab70c,0x1010)]['getThirdPoint'](_0x37f6d8,_0x4a4648,this['neckAngle'],_0x5e440e,!![]),_0x22962e=[_0x5283a6,_0x59bbca,_0x306e5f,_0x4a4648,_0xa446e7,_0x3336de,_0x127297],_0x97ed61=mercators2cartesians(_0x22962e,_0x37acdf);return _0x97ed61;}['getMaxHeight'](_0x15721b){let _0x31c270=_0x15721b[0x0][0x2]||0x0;for(let _0x5a2431=0x0;_0x5a2431<_0x15721b['length'];_0x5a2431++){_0x15721b[0x2]>_0x31c270&&(_0x31c270=_0x15721b[0x2]);}return _0x31c270;}}const fineArrowUtil=new FineArrowUtil();class FineArrow extends PolygonEntity{constructor(_0xb3504c={}){super(_0xb3504c),this['_minPointNum']=0x2,this['_maxPointNum']=0x2;}[_0x306755(0x454,0x6d9)](_0x2eb43d){const _0x28dfe7={_0x1aeb4e:0x882},_0x10ac74={_0x276930:0x124};function _0x486cb3(_0x3ad120,_0x394f63){return _0x306755(_0x394f63,_0x3ad120- -_0x10ac74._0x276930);}if(!_0x2eb43d||_0x2eb43d[_0x1c3455(0xa41,0x1055)]<0x2)return _0x2eb43d;this['style']['maxHeight']=this['getMaxHeight']();function _0x1c3455(_0x299468,_0x166a7a){return _0x306755(_0x299468,_0x166a7a- -0x5a6);}return fineArrowUtil[_0x1c3455(0xcee,_0x28dfe7._0x1aeb4e)](_0x2eb43d,this[_0x1c3455(0x897,0x2b0)]);}[_0x2b6441(0x12c,-0xc0)](_0x45579a){const _0x10d941={_0x46d348:0xc4b,_0x353821:0xffb};function _0x4615dd(_0x37093a,_0x13a02d){return _0x2b6441(_0x37093a,_0x13a02d-0x2dd);}return setPositionsHeight(_0x45579a,this['style'][_0x4615dd(_0x10d941._0x46d348,_0x10d941._0x353821)]);}static['getOutlinePositions'](_0x22a96d,_0x200c40){if(!_0x22a96d||_0x22a96d['length']<0x2)return _0x22a96d;function _0x4aa096(_0x29ae96,_0x222a5c){return _0x2b6441(_0x29ae96,_0x222a5c-0x203);}return _0x22a96d=LngLatArray[_0x4aa096(0xe26,0x8ed)](_0x22a96d),fineArrowUtil['startCompute'](_0x22a96d,_0x200c40);}}register$5(_0x2b6441(-0x3dc,0x2d2),FineArrow);class FineArrowYWUtil extends ArrowParentUtil{['setOptions'](_0x4aee4c={}){const _0x24380={_0x1169bf:0x141e,_0x2845a1:0x1870,_0x560a4a:0x1021,_0x37ab8c:0xf18},_0x108843={_0x207ca5:0x622};this[_0x3a7e2a(_0x24380._0x1169bf,0xe25)]=_0x4aee4c['headHeightFactor']||0.18,this['headWidthFactor']=_0x4aee4c[_0x3492a4(_0x24380._0x2845a1,_0x24380._0x560a4a)]||0.3,this[_0x3492a4(0x2228,0x192a)]=_0x4aee4c['neckHeightFactor']||0.85,this['neckWidthFactor']=_0x4aee4c[_0x3492a4(0x1053,0x1a74)]||0.15;function _0x3492a4(_0x22fe16,_0x349a66){return _0x2b6441(_0x22fe16,_0x349a66-_0x108843._0x207ca5);}this[_0x3492a4(0x121a,0xb2a)]=_0x4aee4c['tailWidthFactor']||0.1;function _0x3a7e2a(_0x4ad539,_0x479119){return _0x306755(_0x479119,_0x4ad539-0x83);}this['swallowTailFactor']=_0x4aee4c[_0x3a7e2a(0xb63,_0x24380._0x37ab8c)]||0x1;}[_0x2b6441(0x6ab,0x887)](_0x4c093f,_0x2afb45){const _0x49e959={_0x4969fd:0x1182,_0x5a9583:0x165d,_0x52f21f:0x56b,_0x2d2793:0x17e,_0x37c830:0x10a7,_0xc7ddbb:0x79a},_0x37c955={_0x44a1f7:0x342};if(!_0x4c093f||_0x4c093f[_0x2bac79(0x139c,0xc4f)]===0x0)return _0x4c093f;this['positions']=_0x4c093f,this['setOptions'](_0x2afb45);const _0x2c0c3e=cartesians2mercators(_0x4c093f),_0x28f47d=(_0x2afb45===null||_0x2afb45===void 0x0?void 0x0:_0x2afb45['maxHeight'])??this['getMaxHeight'](_0x2c0c3e),_0xcb4ec4=this['getTailPoints'](_0x2c0c3e),_0x2f5bd1=this['getArrowHeadPoints'](_0x2c0c3e,_0xcb4ec4[0x0],_0xcb4ec4[0x2]);if(!_0x2f5bd1||_0x2f5bd1['length']<0x4)return _0x4c093f;const _0xcec2f2=_0x2f5bd1[0x0],_0x5bd01a=_0x2f5bd1[0x4],_0x6e9e3f=this[_0x1e8b2a(_0x49e959._0x4969fd,0x123b)](_0x2c0c3e,_0xcec2f2,_0x5bd01a,this['tailWidthFactor']),_0x23d804=_0x6e9e3f[_0x1e8b2a(_0x49e959._0x5a9583,0x16a0)];let _0x360576=[_0xcb4ec4[0x0]]['concat'](_0x6e9e3f['slice'](0x0,_0x23d804/0x2));_0x360576['push'](_0xcec2f2);let _0x58b006=[_0xcb4ec4[0x2]][_0x1e8b2a(_0x49e959._0x52f21f,0xecb)](_0x6e9e3f[_0x2bac79(0x59c,-_0x49e959._0x2d2793)](_0x23d804/0x2,_0x23d804));_0x58b006[_0x1e8b2a(0xe9e,0x73e)](_0x5bd01a),_0x360576=this[_0x2bac79(0x10b1,_0x49e959._0x37c830)]['getQBSplinePoints'](_0x360576),_0x58b006=this[_0x1e8b2a(0x9d6,0x13b5)][_0x1e8b2a(0x9f7,_0x49e959._0xc7ddbb)](_0x58b006);const _0x3063ac=_0x360576[_0x1e8b2a(0xfad,0xecb)](_0x2f5bd1,_0x58b006['reverse'](),[_0xcb4ec4[0x1],_0x360576[0x0]]),_0x51a9a3=mercators2cartesians(_0x3063ac,_0x28f47d);function _0x1e8b2a(_0x47bbb1,_0x4969a1){return _0x306755(_0x47bbb1,_0x4969a1-0xa5);}function _0x2bac79(_0x5bbb0f,_0x4a8b91){return _0x2b6441(_0x4a8b91,_0x5bbb0f-_0x37c955._0x44a1f7);}return _0x51a9a3;}['getTailPoints'](_0x3a6aab){const _0x16b742={_0xa54206:0x639,_0x921382:0x13ce,_0x2149a9:0xc18,_0x49c6cf:0x9bb,_0x13904f:0x145e},_0x18ea25={_0x32efa8:0x484},_0x5459d7=this['algorithmUtil'][_0x4442b8(0x641,_0x16b742._0xa54206)](_0x3a6aab),_0x3b0758=_0x5459d7*this['tailWidthFactor'];function _0x576b23(_0x42d24f,_0x3c87ea){return _0x2b6441(_0x42d24f,_0x3c87ea-_0x18ea25._0x32efa8);}const _0x3f82aa=this[_0x4442b8(0x1716,_0x16b742._0x921382)][_0x576b23(_0x16b742._0x2149a9,0x1283)](_0x3a6aab[0x1],_0x3a6aab[0x0],Math['PI']/0x2,_0x3b0758,![]);function _0x4442b8(_0xd7fe59,_0x412ca5){return _0x2b6441(_0xd7fe59,_0x412ca5-0x65f);}const _0x533017=this['algorithmUtil'][_0x4442b8(_0x16b742._0x49c6cf,_0x16b742._0x13904f)](_0x3a6aab[0x1],_0x3a6aab[0x0],Math['PI']/0x2,_0x3b0758,!![]),_0x5313b2=_0x3b0758*this['swallowTailFactor'],_0x1e71a3=this['algorithmUtil']['getThirdPoint'](_0x3a6aab[0x1],_0x3a6aab[0x0],0x0,_0x5313b2,!![]);return[_0x3f82aa,_0x1e71a3,_0x533017];}}const fineArrowYWUtil=new FineArrowYWUtil();class FineArrowYW extends PolygonEntity{constructor(_0x2b4391={}){const _0x38f5f3={_0x956ff:0x101f};super(_0x2b4391);function _0x2efc41(_0x9e6503,_0x3f2619){return _0x306755(_0x9e6503,_0x3f2619-0x160);}this[_0x2efc41(_0x38f5f3._0x956ff,0x18b4)]=0x2,this['_maxPointNum']=0x2;}['getShowPositions'](_0x1ab40c){const _0x4b3885={_0x48f538:0x15f7,_0xa70207:0x53d,_0x119a12:0xaa2};if(!_0x1ab40c||_0x1ab40c[_0x2f5c7e(_0x4b3885._0x48f538,0x10b3)]<0x2)return _0x1ab40c;this[_0x2cf23c(0x4d0,-_0x4b3885._0xa70207)]['maxHeight']=this['getMaxHeight']();function _0x2f5c7e(_0x40a5c1,_0x193ed4){return _0x306755(_0x193ed4,_0x40a5c1- -0x4);}function _0x2cf23c(_0x5d5659,_0x28a2c1){return _0x2b6441(_0x28a2c1,_0x5d5659-0x21b);}return fineArrowYWUtil[_0x2cf23c(_0x4b3885._0x119a12,0x12df)](_0x1ab40c,this['style']);}[_0x2b6441(-0x99,-0xc0)](_0x1f0c8f){const _0x394055={_0x2cee0b:0x1296};function _0x505894(_0x1086a4,_0x368eb3){return _0x306755(_0x368eb3,_0x1086a4- -0x4cf);}return setPositionsHeight(_0x1f0c8f,this['style'][_0x505894(0xdf0,_0x394055._0x2cee0b)]);}static['getOutlinePositions'](_0x3ca666,_0x28146b){const _0x109ddc={_0x53e8df:0xab6};if(!_0x3ca666||_0x3ca666['length']<0x2)return _0x3ca666;function _0x370b29(_0x2a36dc,_0x3509eb){return _0x306755(_0x2a36dc,_0x3509eb- -0x1c6);}return _0x3ca666=LngLatArray['toCartesians'](_0x3ca666),fineArrowYWUtil[_0x370b29(_0x109ddc._0x53e8df,0xc62)](_0x3ca666,_0x28146b);}}register$5(_0x306755(0x1fc7,0x1725),FineArrowYW);class GatheringPlaceUtil{constructor(){this['algorithmUtil']=algorithmUtil;}['startCompute'](_0x800abf,_0x942ab7){const _0x4da1f7={_0x38f181:0x16cb,_0x317e06:0xc49,_0x4face7:0x1737,_0x16c331:0x13e0,_0x2cf03d:0x147},_0x4e0d6f={_0x18d9f6:0x2d9},_0x5b5f60={_0x463e30:0x671};if(!_0x800abf||_0x800abf[_0x1d28a4(0x2051,_0x4da1f7._0x38f181)]===0x0)return _0x800abf;this['positions']=_0x800abf;const _0x351bfb=cartesians2mercators(_0x800abf),_0x155654=(_0x942ab7===null||_0x942ab7===void 0x0?void 0x0:_0x942ab7['maxHeight'])??this['getMaxHeight'](_0x351bfb),_0x37495f=this['algorithmUtil']['Mid'](_0x351bfb[0x0],_0x351bfb[0x2]);_0x351bfb['push'](_0x37495f,_0x351bfb[0x0],_0x351bfb[0x1]);let _0x65a5c7=[],_0xe8b0c1,_0x7dafcd,_0x3c2673;const _0x721209=[];for(let _0x10d8bc=0x0;_0x10d8bc<_0x351bfb['length']-0x2;_0x10d8bc++){_0xe8b0c1=_0x351bfb[_0x10d8bc],_0x7dafcd=_0x351bfb[_0x10d8bc+0x1],_0x3c2673=_0x351bfb[_0x10d8bc+0x2];const _0x568d2e=this['algorithmUtil']['getBisectorNormals'](0.4,_0xe8b0c1,_0x7dafcd,_0x3c2673);_0x65a5c7=_0x65a5c7[_0x1d28a4(0x911,0xef6)](_0x568d2e);}const _0x157655=_0x65a5c7['length'];_0x65a5c7=[_0x65a5c7[_0x157655-0x1]]['concat'](_0x65a5c7[_0x539c53(_0x4da1f7._0x317e06,0x533)](0x0,_0x157655-0x1));function _0x1d28a4(_0x234f00,_0x2a5b91){return _0x2b6441(_0x234f00,_0x2a5b91-_0x5b5f60._0x463e30);}for(let _0x27fef4=0x0;_0x27fef4<_0x351bfb['length']-0x2;_0x27fef4++){_0xe8b0c1=_0x351bfb[_0x27fef4],_0x7dafcd=_0x351bfb[_0x27fef4+0x1],_0x721209['push'](_0xe8b0c1);for(let _0x12dcae=0x0;_0x12dcae<=0x64;_0x12dcae++){const _0x597f33=this[_0x1d28a4(_0x4da1f7._0x4face7,_0x4da1f7._0x16c331)][_0x539c53(0x1bdb,0x1397)](_0x12dcae/0x64,_0xe8b0c1,_0x65a5c7[_0x27fef4*0x2],_0x65a5c7[_0x27fef4*0x2+0x1],_0x7dafcd);_0x721209[_0x1d28a4(0xe46,0x769)](_0x597f33);}_0x721209[_0x539c53(-_0x4da1f7._0x2cf03d,0x3d1)](_0x7dafcd);}const _0x56ce79=mercators2cartesians(_0x721209,_0x155654);function _0x539c53(_0x464a6a,_0x3738c8){return _0x2b6441(_0x464a6a,_0x3738c8-_0x4e0d6f._0x18d9f6);}return _0x56ce79;}['getMaxHeight'](_0x53fc40){let _0x589ef4=_0x53fc40[0x0][0x2]||0x0;for(let _0x3be021=0x0;_0x3be021<_0x53fc40['length'];_0x3be021++){_0x53fc40[0x2]>_0x589ef4&&(_0x589ef4=_0x53fc40[0x2]);}return _0x589ef4;}}const gatheringPlaceUtil=new GatheringPlaceUtil();class GatheringPlace extends PolygonEntity{constructor(_0x514fb2={}){super(_0x514fb2),this['_minPointNum']=0x3,this['_maxPointNum']=0x3;}['getShowPositions'](_0x183937){const _0x1d3539={_0x25dada:0x1b37,_0x224b4e:0xbc8,_0x32e488:0x1281};if(!_0x183937||_0x183937['length']<this[_0x3fdb25(0x187a,_0x1d3539._0x25dada)])return _0x183937;function _0x5eccb1(_0x3bc2de,_0x34822b){return _0x2b6441(_0x3bc2de,_0x34822b-0x563);}this['style'][_0x5eccb1(_0x1d3539._0x224b4e,_0x1d3539._0x32e488)]=this['getMaxHeight']();function _0x3fdb25(_0x17145b,_0x1aa8f5){return _0x2b6441(_0x1aa8f5,_0x17145b-0x6c7);}return gatheringPlaceUtil['startCompute'](_0x183937,this[_0x5eccb1(0xa5b,0x818)]);}[_0x306755(0xcb4,0x4e1)](_0x4cdbdb){const _0x2906b8={_0x46a15d:0x313,_0x59d6e6:0xcb7},_0x39cd84={_0x127a53:0x4d5};function _0x55a0b0(_0x34038f,_0x288597){return _0x2b6441(_0x34038f,_0x288597-_0x39cd84._0x127a53);}function _0x30dfb9(_0x4efe4e,_0xc6f39d){return _0x2b6441(_0xc6f39d,_0x4efe4e- -0x67);}return setPositionsHeight(_0x4cdbdb,this[_0x55a0b0(-_0x2906b8._0x46a15d,0x78a)][_0x30dfb9(_0x2906b8._0x59d6e6,0x1059)]);}static['getOutlinePositions'](_0x33a03f,_0x51e129){if(!_0x33a03f||_0x33a03f['length']<0x2)return _0x33a03f;return _0x33a03f=LngLatArray['toCartesians'](_0x33a03f),gatheringPlaceUtil['startCompute'](_0x33a03f,_0x51e129);}}register$5(_0x306755(0x98e,0xbde),GatheringPlace);class IsosTriangle extends PolygonEntity{constructor(_0x3505e1={}){super(_0x3505e1),this['_minPointNum']=0x3,this['_maxPointNum']=0x3;}['getShowPositions'](_0x64d6a2){const _0x90eb65={_0x341aed:0x148e,_0x2c8884:0xd8a,_0x5213a2:0xc0f};if(!_0x64d6a2||_0x64d6a2[_0x30b8e2(_0x90eb65._0x341aed,_0x90eb65._0x2c8884)]<this['_minPointNum'])return _0x64d6a2;function _0x3dbcaa(_0x42c6b5,_0x546e6f){return _0x2b6441(_0x42c6b5,_0x546e6f-0xcc);}function _0x30b8e2(_0x285600,_0x1d135f){return _0x306755(_0x1d135f,_0x285600- -0x16d);}return IsosTriangle[_0x30b8e2(_0x90eb65._0x5213a2,0x1227)](_0x64d6a2,this['style']);}static['getOutlinePositions'](_0x42df99,_0x9ac218){const _0x270c22={_0x4655b1:0x1084},_0xf8eed6={_0x16a669:0x5f4};if(!_0x42df99||_0x42df99[_0x37d36c(0x1f27,0x164e)]<0x3)return _0x42df99;const _0x58a7b1=_0x42df99[0x0];function _0x26c03c(_0x2b87ba,_0x31ecad){return _0x2b6441(_0x2b87ba,_0x31ecad- -0x8e);}const _0x6fa57a=_0x42df99[0x1],_0x1a5966=_0x42df99[0x2],_0xbb2f4b=Cesium__namespace['Cartesian3'][_0x37d36c(_0x270c22._0x4655b1,0x1028)](_0x58a7b1,_0x6fa57a,new Cesium__namespace[(_0x26c03c(-0x46f,0x3f2))]()),_0x53cc72=getAngle(_0xbb2f4b,_0x6fa57a),_0x4a290d=getAngle(_0xbb2f4b,_0x1a5966),_0x18a447=_0x53cc72-_0x4a290d-0x5a,_0x3ba7cd=getRotateCenterPoint(_0xbb2f4b,_0x1a5966,_0x18a447);function _0x37d36c(_0x5dfca0,_0x483ad7){return _0x2b6441(_0x5dfca0,_0x483ad7-_0xf8eed6._0x16a669);}return[_0x58a7b1,_0x6fa57a,_0x3ba7cd];}}register$5(_0x306755(0xb41,0xada),IsosTriangle);class LuneUtil{constructor(){this['algorithmUtil']=algorithmUtil;}['startCompute'](_0x367437,_0x26a613){const _0x33b652={_0x133a52:0x1e91,_0x5c90cd:0x39c,_0x42738e:0xee8,_0x4a6120:0xdb2,_0x3e9941:0xee8,_0x18d8b2:0x1323,_0x54735a:0xc0c,_0x1a1514:0x13b6,_0x5ca639:0x11cc,_0xc5e61a:0xdb2,_0x568444:0x1284};if(!_0x367437||_0x367437['length']===0x0)return _0x367437;this[_0x1c6cad(0x143b,_0x33b652._0x133a52)]=_0x367437;let _0x4feb83=cartesians2mercators(_0x367437);const _0x56d147=(_0x26a613===null||_0x26a613===void 0x0?void 0x0:_0x26a613['maxHeight'])??this[_0x15ecc3(_0x33b652._0x5c90cd,0xd2a)](_0x4feb83),_0x130cbb=[_0x4feb83[0x0],_0x4feb83[0x1],_0x4feb83[0x2],undefined,undefined],_0x501f60=_0x130cbb[0x0];function _0x15ecc3(_0x3b57df,_0x789c94){return _0x2b6441(_0x3b57df,_0x789c94-0x179);}const _0x596ee7=_0x130cbb[0x1];function _0x1c6cad(_0x228429,_0x16e07b){return _0x2b6441(_0x16e07b,_0x228429-0x43);}const _0x165950=_0x130cbb[0x2];let _0xdaa21=_0x130cbb[0x3],_0x9fae5f=_0x130cbb[0x4];const _0x570b11=this[_0x15ecc3(0x12ea,_0x33b652._0x42738e)]['getCircleCenterOfThreePoints'](_0x501f60,_0x596ee7,_0x165950),_0x15a4b4=this[_0x1c6cad(_0x33b652._0x4a6120,0x175d)]['MathDistance'](_0x501f60,_0x570b11),_0x396ae7=this[_0x15ecc3(0xa62,_0x33b652._0x3e9941)]['getAzimuth'](_0x501f60,_0x570b11),_0x7c1ecc=this['algorithmUtil'][_0x1c6cad(_0x33b652._0x18d8b2,0xed0)](_0x596ee7,_0x570b11);this[_0x1c6cad(0xdb2,_0x33b652._0x54735a)][_0x1c6cad(_0x33b652._0x1a1514,_0x33b652._0x5ca639)](_0x501f60,_0x596ee7,_0x165950)?(_0xdaa21=_0x7c1ecc,_0x9fae5f=_0x396ae7):(_0xdaa21=_0x396ae7,_0x9fae5f=_0x7c1ecc);_0x4feb83=this[_0x1c6cad(_0x33b652._0xc5e61a,0x63b)][_0x1c6cad(_0x33b652._0x568444,0xb29)](_0x570b11,_0x15a4b4,_0xdaa21,_0x9fae5f),_0x4feb83['push'](_0x4feb83[0x0]);const _0x3cd8b9=mercators2cartesians(_0x4feb83,_0x56d147);return _0x3cd8b9;}['getMaxHeight'](_0x19e6d9){const _0x49c8e7={_0x880273:0xd1};function _0x4a162d(_0x4c16aa,_0x50e5f5){return _0x2b6441(_0x50e5f5,_0x4c16aa-_0x49c8e7._0x880273);}let _0x77fa00=_0x19e6d9[0x0][0x2]||0x0;for(let _0xcd7513=0x0;_0xcd7513<_0x19e6d9[_0x4a162d(0x112b,0xbcd)];_0xcd7513++){_0x19e6d9[0x2]>_0x77fa00&&(_0x77fa00=_0x19e6d9[0x2]);}return _0x77fa00;}}const luneUtil=new LuneUtil();class Lune extends PolygonEntity{constructor(_0x1f4b85={}){super(_0x1f4b85),this[_0x2f8978(0x13cf,0x16f1)]=0x3;function _0x2f8978(_0x1df93f,_0x65f5c1){return _0x2b6441(_0x1df93f,_0x65f5c1-0x53e);}this['_maxPointNum']=0x3;}[_0x306755(0x675,0x6d9)](_0x299fdf){const _0x4f1e7a={_0x5aaf5c:0x13d0},_0x5ebecb={_0x384675:0x5f4};if(!_0x299fdf||_0x299fdf['length']<this['_minPointNum'])return _0x299fdf;function _0x527aff(_0x4a28a3,_0x5c9181){return _0x306755(_0x4a28a3,_0x5c9181- -0x103);}this['style'][_0x527aff(_0x4f1e7a._0x5aaf5c,0x11bc)]=this[_0x257aef(0x929,0x11a5)]();function _0x257aef(_0x1f3cfa,_0x7cc516){return _0x2b6441(_0x1f3cfa,_0x7cc516-_0x5ebecb._0x384675);}return luneUtil['startCompute'](_0x299fdf,this['style']);}[_0x306755(0x768,0x4e1)](_0x206476){const _0x2f45e7={_0x403bb9:0xeee},_0x35dd2e={_0x17b04d:0x1d0};function _0x29d312(_0x16afb6,_0x8e6504){return _0x2b6441(_0x16afb6,_0x8e6504-_0x35dd2e._0x17b04d);}return setPositionsHeight(_0x206476,this['style'][_0x29d312(0x723,_0x2f45e7._0x403bb9)]);}static[_0x2b6441(0x10c7,0x7db)](_0x1ffbb8,_0x1891e9){const _0x9b48cd={_0x318aab:0xcda,_0x1c8809:0x5bf};if(!_0x1ffbb8||_0x1ffbb8['length']<0x3)return _0x1ffbb8;_0x1ffbb8=LngLatArray[_0x4df24a(_0x9b48cd._0x318aab,_0x9b48cd._0x1c8809)](_0x1ffbb8);function _0x4df24a(_0x2cd7f0,_0x275956){return _0x306755(_0x275956,_0x2cd7f0-0x4f);}return luneUtil['startCompute'](_0x1ffbb8,_0x1891e9);}}register$5('lune',Lune);class EditRegular extends EditPolygon{set['position'](_0x56086e){this['positions'][0x0]=_0x56086e;}get['position'](){const _0x1086a6={_0x46250d:0x2274,_0x316db3:0x1a21};function _0x543ff4(_0x10db10,_0x1c718e){return _0x2b6441(_0x10db10,_0x1c718e-0x629);}return this[_0x543ff4(_0x1086a6._0x46250d,_0x1086a6._0x316db3)][0x0];}['bindDraggers'](){const _0x259c4a={_0x2fa80e:0x338,_0x3e78ff:0x185,_0x3c78a0:0xec3,_0x4ce3af:0x123c,_0x56aae5:0x95d,_0x4582c7:0xe06},_0x577279={_0x2e9947:0x111d},_0x9e3796={_0x354f10:0x72e,_0x4e59d8:0xfbd,_0x284cba:0xf82},_0x27ae7d={_0x46d507:0x566},_0x28d344={_0x24d51e:0x5fb},_0x30d180=this['positions'];let _0x3b3961=this['updatePositionsHeightByAttr'](_0x30d180[0x0]);function _0x4da0a4(_0x58d5b7,_0x426631){return _0x306755(_0x426631,_0x58d5b7- -_0x28d344._0x24d51e);}if(this[_0x4da0a4(-0x14,0x608)][_0x4da0a4(0xc62,0x97c)]){const _0xd236ec=this[_0x19e4c4(-_0x259c4a._0x2fa80e,_0x259c4a._0x3e78ff)]({'position':_0x3b3961,'type':EditPointType[_0x4da0a4(0xa43,_0x259c4a._0x3c78a0)],'tooltip':this['_map'][_0x19e4c4(0xc92,0x807)](_0x4da0a4(0xc67,_0x259c4a._0x4ce3af)),'onDrag':(_0x142225,_0x1a0ddf)=>{const _0x5256bf={_0x323fbe:0x2d};_0x1a0ddf=this['updatePositionsHeightByAttr'](_0x1a0ddf),_0x142225[_0xaad488(0x178,0xbcf)]=_0x1a0ddf,this['_moveAllPostions'](_0x3b3961,_0x1a0ddf);function _0xaad488(_0x28f8c6,_0x1a294a){return _0x4da0a4(_0x1a294a- -_0x5256bf._0x323fbe,_0x28f8c6);}_0x3b3961=_0x1a0ddf;}});_0xd236ec[_0x4da0a4(_0x259c4a._0x56aae5,0x104d)]=0x0,this[_0x4da0a4(_0x259c4a._0x4582c7,0x169f)]['push'](_0xd236ec);}function _0x19e4c4(_0xa97d13,_0x57c5b0){return _0x306755(_0xa97d13,_0x57c5b0- -_0x27ae7d._0x46d507);}const _0x42f912=getPositionByDirectionAndLen(_0x3b3961,this['style']['startAngle'],this['style']['radius']);_0x30d180[0x1]=_0x42f912;const _0x355484=this[_0x19e4c4(0x374,0x185)]({'position':this['updatePositionsHeightByAttr'](_0x42f912),'onDrag':(_0x19cf03,_0x44781a)=>{const _0x329fb5={_0x556734:0x660};_0x44781a=this['updatePositionsHeightByAttr'](_0x44781a);function _0x3799d7(_0x47938b,_0x588046){return _0x19e4c4(_0x47938b,_0x588046-0x94);}_0x19cf03['position']=_0x44781a,this['positions'][_0x19cf03[_0x1095d2(_0x9e3796._0x354f10,_0x9e3796._0x4e59d8)]]=_0x44781a,this[_0x1095d2(0xedb,0x8bb)]['radius']=Cesium__namespace[_0x1095d2(0xf05,0xa86)][_0x1095d2(0x10ef,_0x9e3796._0x284cba)](_0x30d180[0x0],_0x44781a);function _0x1095d2(_0x5e0c48,_0x4a6a27){return _0x4da0a4(_0x4a6a27-_0x329fb5._0x556734,_0x5e0c48);}this['style'][_0x3799d7(-0x146,0x940)]=formatNum$1(getAngle(_0x30d180[0x0],_0x44781a),0x2);},'onDragStart':(_0x2334ad,_0x5fd573)=>{const _0x573100={_0x128b0c:0x317};function _0x2e5792(_0x172135,_0x1b8121){return _0x4da0a4(_0x1b8121-0x5cf,_0x172135);}function _0x60dcbd(_0x1a36ad,_0x510812){return _0x4da0a4(_0x510812-_0x573100._0x128b0c,_0x1a36ad);}for(let _0x5ba3cd=0x0,_0x347daa=this[_0x2e5792(0x97d,0x13d5)]['length'];_0x5ba3cd<_0x347daa;_0x5ba3cd++){this[_0x60dcbd(0x1897,_0x577279._0x2e9947)][_0x5ba3cd]['show']=![];}},'onDragEnd':(_0xe966f,_0x58e34a)=>{this['updateDraggers']();}});_0x355484[_0x4da0a4(0x95d,0x319)]=0x1,this['draggers'][_0x4da0a4(0x9e,-0x242)](_0x355484),this['entityGraphic']['extrudedHeight']&&this['_bindHeightDraggers']();}['_moveAllPostions'](_0x88522d,_0x57514b){const _0x1ffdc4={_0x2456ca:0x1bcb,_0x2d30cc:0x1b54,_0x5db52b:0x7e5},_0x4dd6e9={_0x3e1604:0x365},_0x370f27={_0x11f877:0xe46},_0x5192ad=Cesium__namespace['Cartesian3']['subtract'](_0x57514b,_0x88522d,new Cesium__namespace['Cartesian3']());function _0xbc0330(_0x221cc0,_0x170688){return _0x2b6441(_0x170688,_0x221cc0-0x3f5);}this['positions']['forEach']((_0x3e8775,_0x129c01,_0x18c9f6)=>{const _0x2cf9ec=Cesium__namespace[_0x4bfe2b(_0x370f27._0x11f877,0x653)]['add'](_0x3e8775,_0x5192ad,new Cesium__namespace['Cartesian3']());function _0x4bfe2b(_0xa1f185,_0xad7c53){return _0x5bbe(_0xad7c53- -0x15b,_0xa1f185);}this['positions'][_0x129c01]=_0x2cf9ec;});function _0x5d8722(_0x3730f6,_0x5d86cb){return _0x2b6441(_0x5d86cb,_0x3730f6-_0x4dd6e9._0x3e1604);}for(let _0x4967ce=0x0,_0x3da22b=this[_0xbc0330(0x1255,_0x1ffdc4._0x2456ca)][_0xbc0330(0x144f,_0x1ffdc4._0x2d30cc)];_0x4967ce<_0x3da22b;_0x4967ce++){this['draggers'][_0x4967ce]['position']=Cesium__namespace['Cartesian3']['add'](this[_0x5d8722(0x11c5,0x979)][_0x4967ce]['position'],_0x5192ad,new Cesium__namespace[(_0x5d8722(_0x1ffdc4._0x5db52b,0x88c))]());}}[_0x2b6441(0x1057,0xcdc)](_0x12cb9d){this['entityGraphic']['height']=_0x12cb9d,this['style']['height']=this[_0x2ed1e8(0xb14,0xde3)](_0x12cb9d,0x2);const _0x350557=this['positions'];function _0x2ed1e8(_0x4004f3,_0x375287){return _0x306755(_0x375287,_0x4004f3-0xb);}function _0x130df0(_0x537a75,_0x598af8){return _0x2b6441(_0x598af8,_0x537a75-0x4ff);}for(let _0x549876=0x0,_0x1db0da=_0x350557[_0x130df0(0x1559,0x130d)];_0x549876<_0x1db0da;_0x549876++){_0x350557[_0x549876]=setPositionsHeight(_0x350557[_0x549876],_0x12cb9d);}this['fire'](EventType['editStyle']);}}class Regular extends PolygonEntity{constructor(_0xceb7ea={}){const _0x44c5a7={_0x29efbd:0xc6},_0x467eb5={_0x3c9174:0x5a};super(_0xceb7ea);function _0x2b0512(_0x971350,_0x155a52){return _0x306755(_0x155a52,_0x971350-_0x467eb5._0x3c9174);}this['_minPointNum']=0x2,this['_maxPointNum']=0x2,this[_0x3da547(_0x44c5a7._0x29efbd,0x9b8)]['radius']=this['style']['radius']??0x3e8,this['style']['startAngle']=this[_0x2b0512(0x8b0,0x72d)][_0x3da547(0x845,0xf74)]??0x0;function _0x3da547(_0x2a3aff,_0x355939){return _0x306755(_0x2a3aff,_0x355939-0x162);}_0xceb7ea[_0x2b0512(0x1251,0x7fa)]&&(this['positions']=[_0xceb7ea['position']]);}get[_0x2b6441(0x8fb,0x8d2)](){return EditRegular;}['updateAttrForDrawing'](_0x517302){const _0x13df41={_0x211022:0xf31,_0x147da3:0x276,_0x522cf8:0x5d1,_0x2e20b1:0x1914,_0x3f81b8:0x10d8};var _0x4e040f;function _0x8a6b84(_0x44fcaa,_0x299424){return _0x2b6441(_0x44fcaa,_0x299424-0x151);}if(!_0x517302&&((_0x4e040f=this[_0x8a6b84(0x11df,_0x13df41._0x211022)])===null||_0x4e040f===void 0x0?void 0x0:_0x4e040f['length'])>0x1){const _0x3a9f99=this['_positions_draw'][0x0];this['style'][_0x8a6b84(0x66e,_0x13df41._0x147da3)]=Cesium__namespace[_0x8a6b84(0xbbe,_0x13df41._0x522cf8)]['distance'](_0x3a9f99,this[_0x5ac0bd(_0x13df41._0x2e20b1,_0x13df41._0x3f81b8)][0x1]),this['style']['startAngle']=formatNum$1(getAngle(_0x3a9f99,this['_positions_draw'][0x1]),0x2);}function _0x5ac0bd(_0x4d036c,_0x1e44fd){return _0x306755(_0x4d036c,_0x1e44fd- -0x2a9);}super['updateAttrForDrawing'](_0x517302);}['getShowPositions'](_0x1ddf76){const _0x36c5ea={_0x8b6fa0:0x13a2,_0x4aad95:0x5fd},_0x66e989={_0x8d9e2e:0x259};function _0x5e34cf(_0x40c5cf,_0x38e841){return _0x306755(_0x38e841,_0x40c5cf- -_0x66e989._0x8d9e2e);}if(!_0x1ddf76||_0x1ddf76[_0x5e34cf(_0x36c5ea._0x8b6fa0,0xa7e)]<0x1)return _0x1ddf76;function _0x54aa70(_0x50a9f2,_0x2117fa){return _0x306755(_0x2117fa,_0x50a9f2- -0x23d);}return Regular[_0x54aa70(0xb3f,0x973)](_0x1ddf76[0x0],this[_0x5e34cf(_0x36c5ea._0x4aad95,0x60e)]);}['_getGeoJsonGeometry'](_0x38e1af){const _0x305bf7=this['getCoordinates'](_0x38e1af===null||_0x38e1af===void 0x0?void 0x0:_0x38e1af['noAlt']),_0x51458e={};return _0x51458e['type']='Point',_0x51458e['coordinates']=_0x305bf7[0x0],_0x51458e;}['_updateStyleHook'](_0x16ce7c,_0x27af24){const _0x348b68={_0x5c462e:0x1664,_0xce4b9f:0xca0};function _0x17994d(_0x438f80,_0x5c7888){return _0x306755(_0x438f80,_0x5c7888- -0x154);}super['_updateStyleHook'](_0x16ce7c,_0x27af24);function _0x28c2e4(_0x142457,_0x5740ce){return _0x2b6441(_0x5740ce,_0x142457-0x1d5);}(Cesium__namespace['defined'](_0x27af24['radius'])||Cesium__namespace[_0x28c2e4(0x13e6,0xc3d)](_0x27af24['startAngle'])||Cesium__namespace[_0x28c2e4(0x13e6,0xd72)](_0x27af24[_0x17994d(_0x348b68._0x5c462e,_0x348b68._0xce4b9f)]))&&this['_updatePositionsHook']();}static['getOutlinePositions'](_0x335a68,_0x446919){const _0x13369c={_0x1b535f:0x760,_0x41a4ae:0x3f1},_0x5845a7={_0x4d3466:0x2a8},_0x42f3ee={_0x78ab96:0x594},_0x4045dd=_0x446919[_0x818265(_0x13369c._0x1b535f,0x860)]||0x3,_0x906b74=_0x446919['radius']||0x3e8;function _0x818265(_0x337413,_0x11e031){return _0x306755(_0x337413,_0x11e031- -_0x42f3ee._0x78ab96);}function _0x199d7a(_0x2e0c4f,_0x286771){return _0x306755(_0x286771,_0x2e0c4f- -_0x5845a7._0x4d3466);}const _0xccee3b=_0x446919[_0x199d7a(0xb6a,0x15dc)]||0x0,_0x1e19c4=0x168/_0x4045dd,_0x387c83=[];for(let _0x5d1ed0=0x0;_0x5d1ed0<=_0x4045dd;_0x5d1ed0++){const _0x37163d=_0xccee3b+_0x1e19c4*_0x5d1ed0;_0x387c83[_0x199d7a(_0x13369c._0x41a4ae,-0x4bf)](getPositionByDirectionAndLen(_0x335a68,_0x37163d,_0x906b74));}return _0x387c83;}}register$5('regular',Regular,!![]);class EditSector extends EditPolygon{set['position'](_0x145800){this['positions'][0x0]=_0x145800;}get[_0x306755(0xd99,0x11f7)](){const _0x5b56ce={_0x438d74:0x19f1},_0x2a75d1={_0x45f0c4:0x58};function _0x5b9ef0(_0x3e7433,_0x5835ff){return _0x306755(_0x5835ff,_0x3e7433-_0x2a75d1._0x45f0c4);}return this[_0x5b9ef0(_0x5b56ce._0x438d74,0x1f8c)][0x0];}['bindDraggers'](){const _0x4ffa41={_0x1bfc44:0x2ea,_0x2fa4a3:0x4f2,_0xda4dc9:0xf60,_0x4ca75f:0xd41,_0x246a7d:0x475,_0x70c353:0xbd6,_0x44fd1d:0x133f,_0x4a2123:0x933,_0xcd70c1:0x14c,_0x42bd1e:0x3ee,_0x9238fe:0x434,_0xd20f3f:0xe28,_0xe13ad5:0x1536,_0x17a212:0xb53,_0xe908df:0x85},_0x2f3ebf={_0x3109e3:0x402},_0x15ce51={_0x223a64:0x39e},_0x3c417e={_0x1a2b11:0x14c0,_0x16db36:0xc22},_0x118bff={_0x2bbcfe:0x5a1,_0x3919e2:0x18fb,_0x516594:0x21bc},_0xfa4fab={_0xe694ef:0x2a4},_0x3d4dc5={_0x2bca86:0x19a2,_0x587bb9:0x102c},_0x386afa={_0x241453:0x12b4,_0x524abf:0x96},_0x45514b=this['positions'];let _0x22a504=this['updatePositionsHeightByAttr'](_0x45514b[0x0]);if(this[_0x536ea1(_0x4ffa41._0x1bfc44,-_0x4ffa41._0x2fa4a3)][_0x536ea1(_0x4ffa41._0xda4dc9,0x98b)]){const _0x249b0b=this['createDragger']({'position':_0x22a504,'type':EditPointType[_0x536ea1(_0x4ffa41._0x4ca75f,_0x4ffa41._0x246a7d)],'tooltip':this['_map'][_0x58b367(0xe4a,_0x4ffa41._0x70c353)](_0x58b367(_0x4ffa41._0x44fd1d,0x1648)),'onDrag':(_0x456667,_0x3d7661)=>{_0x3d7661=this['updatePositionsHeightByAttr'](_0x3d7661),_0x456667['position']=_0x3d7661,this['_moveAllPostions'](_0x22a504,_0x3d7661),_0x22a504=_0x3d7661;}});_0x249b0b['index']=0x0,this['draggers']['push'](_0x249b0b);}const _0x580315=getPositionByDirectionAndLen(_0x22a504,this['style']['startAngle'],this[_0x58b367(_0x4ffa41._0x4a2123,-_0x4ffa41._0xcd70c1)]['radius']);_0x45514b[0x1]=_0x580315;const _0x7a3639=this[_0x536ea1(_0x4ffa41._0x42bd1e,_0x4ffa41._0x9238fe)]({'position':this['updatePositionsHeightByAttr'](_0x580315),'onDrag':(_0x5c7414,_0x2fbcd9)=>{function _0x4f1d33(_0x5b79c4,_0x3bb8b2){return _0x536ea1(_0x5b79c4- -0x11f,_0x3bb8b2);}_0x2fbcd9=this['updatePositionsHeightByAttr'](_0x2fbcd9);function _0x526660(_0x4fac3b,_0x354451){return _0x536ea1(_0x4fac3b-0x354,_0x354451);}_0x5c7414['position']=_0x2fbcd9,this['positions'][_0x5c7414['index']]=_0x2fbcd9,this['style']['radius']=Cesium__namespace[_0x4f1d33(0x605,-0x3aa)]['distance'](_0x45514b[0x0],_0x2fbcd9),this[_0x526660(0x8ad,_0x386afa._0x241453)]['startAngle']=formatNum$1(getAngle(_0x45514b[0x0],_0x2fbcd9),0x2),_0x45514b[0x2]=getPositionByDirectionAndLen(_0x45514b[0x0],this['style']['endAngle'],this[_0x526660(0x8ad,_0x386afa._0x524abf)]['radius']);},'onDragStart':(_0x5cf2d8,_0xaa55)=>{function _0x3318be(_0x4e31cc,_0x28726b){return _0x536ea1(_0x4e31cc- -0x2d2,_0x28726b);}function _0x1daec3(_0x16ac44,_0x20b7e8){return _0x58b367(_0x16ac44- -0x562,_0x20b7e8);}for(let _0x4205dd=0x0,_0x157551=this[_0x1daec3(0xf7c,_0x3d4dc5._0x2bca86)][_0x3318be(_0x3d4dc5._0x587bb9,0x13de)];_0x4205dd<_0x157551;_0x4205dd++){this['draggers'][_0x4205dd]['show']=![];}},'onDragEnd':(_0x48f508,_0x1b2ed5)=>{const _0x572f54={_0x3adf5a:0xa0};function _0x1adec6(_0x162041,_0x180a51){return _0x536ea1(_0x162041-_0x572f54._0x3adf5a,_0x180a51);}this[_0x1adec6(0x466,0x88)]();}});_0x7a3639[_0x536ea1(0xc5b,0x515)]=0x1;function _0x536ea1(_0x561234,_0x23428a){return _0x2b6441(_0x23428a,_0x561234-_0xfa4fab._0xe694ef);}this[_0x536ea1(0x1104,_0x4ffa41._0xd20f3f)]['push'](_0x7a3639);const _0x3c2ef2=getPositionByDirectionAndLen(_0x22a504,this[_0x58b367(0x933,0x523)][_0x536ea1(_0x4ffa41._0xe13ad5,_0x4ffa41._0x17a212)],this[_0x58b367(_0x4ffa41._0x4a2123,_0x4ffa41._0xe908df)]['radius']);_0x45514b[0x2]=_0x3c2ef2;const _0x2a7d7c=this['createDragger']({'position':this['updatePositionsHeightByAttr'](_0x3c2ef2),'onDrag':(_0x404678,_0x11584b)=>{const _0x2dbc91={_0x391600:0x27a};_0x11584b=this['updatePositionsHeightByAttr'](_0x11584b),_0x404678['position']=_0x11584b,this[_0x2da1b1(0x1a61,0x14d1)][_0x404678[_0x5cb791(_0x118bff._0x2bbcfe,0xed5)]]=_0x11584b,this['style']['radius']=Cesium__namespace['Cartesian3']['distance'](_0x45514b[0x0],_0x11584b),this['style'][_0x2da1b1(_0x118bff._0x3919e2,_0x118bff._0x516594)]=getAngle(_0x45514b[0x0],_0x11584b);function _0x2da1b1(_0x2b0d16,_0x6b7415){return _0x58b367(_0x2b0d16- -0x15,_0x6b7415);}function _0x5cb791(_0x2eb6bb,_0x3e6859){return _0x536ea1(_0x3e6859-_0x2dbc91._0x391600,_0x2eb6bb);}_0x45514b[0x1]=getPositionByDirectionAndLen(_0x45514b[0x0],this['style']['startAngle'],this['style']['radius']);},'onDragStart':(_0x4d6e02,_0x4c18b0)=>{function _0x860fac(_0x40f89e,_0x2988d3){return _0x58b367(_0x40f89e- -0x209,_0x2988d3);}function _0x18926e(_0xc64dc7,_0x5c3591){return _0x58b367(_0xc64dc7- -0x1b0,_0x5c3591);}for(let _0xcc5835=0x0,_0x1e6d86=this[_0x860fac(0x12d5,0x1ce2)][_0x860fac(0x14cf,0x18b9)];_0xcc5835<_0x1e6d86;_0xcc5835++){this['draggers'][_0xcc5835][_0x18926e(_0x3c417e._0x1a2b11,_0x3c417e._0x16db36)]=![];}},'onDragEnd':(_0x592ed6,_0x440f8f)=>{function _0x329adb(_0x4fe266,_0x13bc19){return _0x58b367(_0x13bc19- -_0x15ce51._0x223a64,_0x4fe266);}this[_0x329adb(0x25a,_0x2f3ebf._0x3109e3)]();}});_0x2a7d7c[_0x536ea1(0xc5b,0x1282)]=0x2,this['draggers']['push'](_0x2a7d7c);function _0x58b367(_0x57cc89,_0x57575b){return _0x306755(_0x57575b,_0x57cc89-0xdd);}this['entityGraphic'][_0x58b367(0x1656,0x13d2)]&&this[_0x536ea1(0x1607,0x2017)]();}[_0x306755(0xe3a,0x685)](_0x5f557e,_0x995377){const _0x204a2e={_0x3569ae:0xa8,_0x1e1712:0x1452,_0x4a5c48:0x7c0,_0x2ec91e:0x126b,_0x3a4b45:0xf81,_0x22e505:0x4da,_0xb17f0c:0x1a9,_0x1ebf0e:0x60b,_0x21d2cb:0x3e3},_0x2c4728={_0x1987bb:0x9a3,_0x21cd50:0x1aa1},_0x28afd2={_0x2618be:0x4ec},_0x17d8cc={_0x17fbde:0x480};function _0x4a7e89(_0x4abe85,_0xda6ad){return _0x306755(_0x4abe85,_0xda6ad- -0x547);}const _0x466c19=Cesium__namespace[_0x4a7e89(_0x204a2e._0x3569ae,0x4da)][_0x4bb8f0(0x7e4,0xc9e)](_0x995377,_0x5f557e,new Cesium__namespace['Cartesian3']());function _0x4bb8f0(_0x6e9849,_0x51395e){return _0x306755(_0x6e9849,_0x51395e- -_0x17d8cc._0x17fbde);}this[_0x4a7e89(0x155f,_0x204a2e._0x1e1712)][_0x4bb8f0(0xa1d,_0x204a2e._0x4a5c48)]((_0x4ec231,_0x2cbe6d,_0x3e96b5)=>{function _0x382e30(_0x4a5268,_0x4a7bd5){return _0x4bb8f0(_0x4a7bd5,_0x4a5268-0x588);}const _0xbffce6=Cesium__namespace[_0x5703f6(0xeea,0xa8d)][_0x382e30(0xe36,_0x2c4728._0x1987bb)](_0x4ec231,_0x466c19,new Cesium__namespace['Cartesian3']());function _0x5703f6(_0x3f0377,_0x48dd7b){return _0x4bb8f0(_0x3f0377,_0x48dd7b-_0x28afd2._0x2618be);}this[_0x382e30(_0x2c4728._0x21cd50,0x1981)][_0x2cbe6d]=_0xbffce6;});for(let _0x3fe41d=0x0,_0x8b9ff3=this['draggers'][_0x4bb8f0(_0x204a2e._0x2ec91e,0x117b)];_0x3fe41d<_0x8b9ff3;_0x3fe41d++){this[_0x4bb8f0(0xe27,_0x204a2e._0x3a4b45)][_0x3fe41d][_0x4bb8f0(0x7cd,0xd77)]=Cesium__namespace[_0x4a7e89(-0x8a,_0x204a2e._0x22e505)][_0x4a7e89(-_0x204a2e._0xb17f0c,0x7e7)](this[_0x4a7e89(_0x204a2e._0x1ebf0e,0xeba)][_0x3fe41d][_0x4bb8f0(0x1007,0xd77)],_0x466c19,new Cesium__namespace[(_0x4a7e89(-_0x204a2e._0x21d2cb,0x4da))]());}}['_updateHeight'](_0x39a330){const _0x5caf2c={_0x5eb18:0x1045,_0x129598:0x953};this['entityGraphic'][_0x43c748(0x953,_0x5caf2c._0x5eb18)]=_0x39a330,this['style'][_0x43c748(_0x5caf2c._0x129598,0xa74)]=this['formatNum'](_0x39a330,0x2);function _0x43c748(_0x733bd2,_0x4f858e){return _0x306755(_0x4f858e,_0x733bd2- -0x29f);}const _0x583155=this['positions'];function _0x132b3a(_0x4053cf,_0xf66473){return _0x306755(_0x4053cf,_0xf66473-0xff);}for(let _0x399529=0x0,_0x13f3bc=_0x583155['length'];_0x399529<_0x13f3bc;_0x399529++){_0x583155[_0x399529]=setPositionsHeight(_0x583155[_0x399529],_0x39a330);}this['fire'](EventType['editStyle']);}}class Sector extends PolygonEntity{constructor(_0x1f0f3e={}){const _0x3d0405={_0x578f31:0x3da,_0x1d691e:0x9ed,_0x41dddc:0x4b8,_0x4a860f:0x6eb,_0x2b13ee:0x328,_0x5506ce:0x1ba0,_0x31e5a3:0xe59,_0x1e5687:0xfc6,_0x24a7b3:0xc70},_0xea9282={_0x71e405:0x587},_0x55684e={_0x49e745:0x39e};super(_0x1f0f3e),this['_minPointNum']=0x2;function _0x1568d2(_0x56b064,_0x42562f){return _0x306755(_0x42562f,_0x56b064- -_0x55684e._0x49e745);}function _0x3ee1d8(_0x34d86b,_0x27c018){return _0x306755(_0x34d86b,_0x27c018- -_0xea9282._0x71e405);}this[_0x1568d2(_0x3d0405._0x578f31,_0x3d0405._0x1d691e)]=0x3,this[_0x1568d2(_0x3d0405._0x41dddc,_0x3d0405._0x4a860f)][_0x1568d2(_0x3d0405._0x2b13ee,0x1a9)]=this['style']['radius']??0x3e8,this['style']['startAngle']=this[_0x1568d2(0x4b8,0x1c9)]['startAngle']??0x0,this['style']['endAngle']=this[_0x3ee1d8(-0x441,0x2cf)][_0x3ee1d8(_0x3d0405._0x5506ce,0x12ac)]??0x0,_0x1f0f3e[_0x1568d2(_0x3d0405._0x31e5a3,_0x3d0405._0x1e5687)]&&(_0x1f0f3e['position']['getValue']?this['positions']=_0x1f0f3e[_0x3ee1d8(0xf37,_0x3d0405._0x24a7b3)]:this['positions']=[_0x1f0f3e[_0x3ee1d8(0x2cb,0xc70)]]);}get['EditClass'](){return EditSector;}['_mountedHook'](){const _0x1410ad={_0x5247da:0x21f,_0x8f6c77:0x422,_0x1a003a:0x1dc,_0xad8e94:0x404,_0x5714a6:0x14b1,_0x385ba8:0x9e8,_0x268537:0x188,_0x2c1e71:0x33b,_0x3712fd:0xb87,_0xb1d188:0x1ca,_0x17fc25:0xab,_0x31502c:0x422,_0x54c09:0x79f,_0x22326b:0xaaa},_0xaa04ad={_0x5651aa:0x123},_0x5c9f74={_0x21abb8:0xefa,_0x119936:0x837,_0xd59c0e:0xb97,_0xd059ac:0x14f,_0x2b1164:0xa6d,_0x4ae593:0x825},_0x776cb7={_0x7fbc5d:0x19e};var _0x2bfc46;const _0x7ea413={'polygon':PolygonStyleConver['toCesiumVal'](this[_0x158a66(-_0x1410ad._0x5247da,_0x1410ad._0x8f6c77)],{},!![])};if((_0x2bfc46=this[_0x158a66(-_0x1410ad._0x1a003a,0x6a0)])!==null&&_0x2bfc46!==void 0x0&&_0x2bfc46[_0x3893e2(0x826,0x8fd)]){const _0x4bceda=new Cesium__namespace['PolygonHierarchy']();_0x7ea413['polygon']['hierarchy']=new Cesium__namespace['CallbackProperty'](_0x236548=>{const _0x2d0b20={_0x8bb603:0x7b};function _0x81d787(_0x4c9243,_0x13b636){return _0x158a66(_0x13b636,_0x4c9243-_0x2d0b20._0x8bb603);}var _0x3f879e;const _0x1a664a=this['_positions'][_0x81d787(0x9c2,_0x5c9f74._0x21abb8)](_0x236548);this[_0x81d787(_0x5c9f74._0x119936,0x11d9)]=this['getShowPositions'](_0x1a664a),_0x4bceda['positions']=this['_positions_show'];if(this[_0x612fb6(0xcce,0xedd)]&&((_0x3f879e=this[_0x612fb6(0x95a,_0x5c9f74._0xd59c0e)])===null||_0x3f879e===void 0x0?void 0x0:_0x3f879e['length'])>0x0){var _0x165a23;((_0x165a23=this[_0x81d787(0x49d,-_0x5c9f74._0xd059ac)]['outlineStyle'])===null||_0x165a23===void 0x0?void 0x0:_0x165a23['closure'])??!![]?this['outlinePositions']=this['_positions_show'][_0x81d787(_0x5c9f74._0x2b1164,0x1417)](this[_0x81d787(0x837,_0x5c9f74._0x4ae593)][0x0]):this['outlinePositions']=this['_positions_show'];}function _0x612fb6(_0x20ae7e,_0x15f8fc){return _0x158a66(_0x15f8fc,_0x20ae7e-_0x776cb7._0x7fbc5d);}return this['_updateLabelPosition'](),_0x4bceda;},![]),this[_0x158a66(_0x1410ad._0xad8e94,0x9ca)]=_0x4bceda;}else!this['_positions_show']&&(this['_positions_show']=this['getShowPositions'](this[_0x158a66(0x1d19,0x1565)])),_0x7ea413['polygon'][_0x158a66(0x14d1,_0x1410ad._0x5714a6)]=new Cesium__namespace['PolygonHierarchy'](this['_positions_show']);this[_0x3893e2(0x315,_0x1410ad._0x385ba8)]=this['_createEntity'](_0x7ea413);function _0x158a66(_0x292856,_0x5ab520){return _0x306755(_0x292856,_0x5ab520- -0x434);}this[_0x3893e2(-_0x1410ad._0x268537,_0x1410ad._0x2c1e71)](this[_0x158a66(_0x1410ad._0x3712fd,_0x1410ad._0x8f6c77)]['diffHeight']);function _0x3893e2(_0x1111a1,_0x4270cd){return _0x2b6441(_0x1111a1,_0x4270cd-_0xaa04ad._0x5651aa);}this['_bindExType'](),this['_updateOutlineStyle'](this[_0x158a66(-_0x1410ad._0xb1d188,0x5e2)](),this[_0x158a66(-_0x1410ad._0x17fc25,_0x1410ad._0x31502c)]),this['_entity'][_0x3893e2(_0x1410ad._0x54c09,_0x1410ad._0x22326b)]['hierarchy']instanceof Cesium__namespace['CallbackProperty']&&this['_updateOutlineToCallback'](),this['style']['label']&&this['_addLabel'](this[_0x158a66(0xa7d,0x422)]['label']);}[_0x306755(0x1add,0x134d)](_0x3c2e25){const _0x49f154={_0x136fd7:0x2d1,_0x3b85de:0x739,_0x1e7083:0xf2a,_0x503ca4:0xac5,_0x9e6a26:0x11a4,_0x3bf368:0x135f},_0x12450e={_0x205f38:0x457};var _0x1d55ba;function _0x44a5d5(_0x37c14f,_0x50f5b3){return _0x2b6441(_0x50f5b3,_0x37c14f-0x1ac);}function _0xcb3d6(_0x5a50fc,_0xc55b91){return _0x306755(_0x5a50fc,_0xc55b91- -_0x12450e._0x205f38);}if(!_0x3c2e25&&((_0x1d55ba=this['_positions_draw'])===null||_0x1d55ba===void 0x0?void 0x0:_0x1d55ba['length'])>0x1){var _0x8f7be7;const _0x7d2dca=this['_positions_draw'][0x0];this[_0x44a5d5(0x461,0x39f)][_0x44a5d5(_0x49f154._0x136fd7,-_0x49f154._0x3b85de)]=formatNum$1(Cesium__namespace['Cartesian3']['distance'](_0x7d2dca,this[_0xcb3d6(0xe48,_0x49f154._0x1e7083)][0x1]),0x2),this[_0x44a5d5(0x461,0xa96)]['startAngle']=formatNum$1(getAngle(_0x7d2dca,this['_positions_draw'][0x1]),0x2),((_0x8f7be7=this['_positions_draw'])===null||_0x8f7be7===void 0x0?void 0x0:_0x8f7be7[_0xcb3d6(_0x49f154._0x503ca4,_0x49f154._0x9e6a26)])>0x2?this['style'][_0x44a5d5(0x143e,_0x49f154._0x3bf368)]=formatNum$1(getAngle(_0x7d2dca,this['_positions_draw'][0x2]),0x2):this['style'][_0x44a5d5(0x143e,0x9a7)]=this[_0x44a5d5(0x461,0x5e3)]['startAngle'];}super[_0xcb3d6(0x1483,0xef6)](_0x3c2e25);}['getShowPositions'](_0x290d68){const _0x415cb1={_0x3e741d:0x823,_0x523b3e:0x30,_0x15619e:0x84a};if(!_0x290d68)return _0x290d68;function _0x504ee6(_0xd574d9,_0x513cc7){return _0x306755(_0x513cc7,_0xd574d9- -0x133);}function _0x56d197(_0x362200,_0xf6c44e){return _0x2b6441(_0xf6c44e,_0x362200-0x61d);}if(Array['isArray'](_0x290d68)){if(_0x290d68[_0x56d197(0x1677,0xdfd)]<0x1)return _0x290d68;return Sector['getOutlinePositions'](_0x290d68[0x0],this['style']);}else{var _0x16edbc;let _0x4b3198=_0x290d68;return(_0x16edbc=_0x4b3198)!==null&&_0x16edbc!==void 0x0&&_0x16edbc['getValue']&&(_0x4b3198=_0x4b3198['getValue'](Cesium__namespace['JulianDate'][_0x504ee6(_0x415cb1._0x3e741d,_0x415cb1._0x523b3e)]())),Sector[_0x504ee6(0xc49,0x10c4)](_0x4b3198,this[_0x504ee6(0x723,_0x415cb1._0x15619e)]);}}['_updateStyleHook'](_0x2dfeb6,_0x3323cc){const _0x366155={_0x5577ed:0x10c8,_0x44fbc2:0x181d,_0xd46db1:0x12a8,_0x5ceba1:0x1d25,_0x362f5f:0xc4a};function _0x5545a1(_0x19301f,_0x131404){return _0x2b6441(_0x131404,_0x19301f-0x60c);}super[_0x5545a1(_0x366155._0x5577ed,0x1b32)](_0x2dfeb6,_0x3323cc);function _0x5a5031(_0x1d2746,_0x58eb9f){return _0x306755(_0x1d2746,_0x58eb9f- -0x14a);}(Cesium__namespace[_0x5545a1(_0x366155._0x44fbc2,_0x366155._0xd46db1)](_0x3323cc['radius'])||Cesium__namespace['defined'](_0x3323cc['startAngle'])||Cesium__namespace[_0x5545a1(0x181d,_0x366155._0x5ceba1)](_0x3323cc[_0x5a5031(0x118a,0x16e9)])||Cesium__namespace[_0x5545a1(0x181d,0x2015)](_0x3323cc[_0x5a5031(_0x366155._0x362f5f,0xf27)]))&&this[_0x5545a1(0x9d6,0x13f)]();}[_0x2b6441(0x3dc,0xd37)](_0xf60323={}){function _0x1ca536(_0x3fb772,_0x24aca6){return _0x2b6441(_0x3fb772,_0x24aca6-0x2bd);}return getSurfaceHeight(this[_0x1ca536(0x1a6a,0x14e5)]['scene'],this['positions'][0x0],{'objectsToExclude':this['_layer']['objectsToExclude'],..._0xf60323})['then'](_0x2204d8=>{_0x2204d8['position']&&(this['positions']=[_0x2204d8['position']]);});}['_getGeoJsonGeometry'](_0x469972){const _0x4c5fde={_0x42604d:0x1134,_0x1f2b8b:0x6fd,_0x5f471c:0xc05},_0x582315={_0x326dd7:0x288},_0x559c80=this[_0x295117(0x1956,_0x4c5fde._0x42604d)](_0x469972===null||_0x469972===void 0x0?void 0x0:_0x469972[_0x295117(_0x4c5fde._0x1f2b8b,0xad7)]),_0x3906a2={};_0x3906a2['type']='Point';function _0x295117(_0xad077d,_0xe14d7){return _0x2b6441(_0xad077d,_0xe14d7-_0x582315._0x326dd7);}_0x3906a2[_0x295117(_0x4c5fde._0x5f471c,0x8f8)]=_0x559c80[0x0];function _0x346a08(_0x1fad5e,_0x3c48d3){return _0x2b6441(_0x1fad5e,_0x3c48d3-0xd0);}return _0x3906a2;}static['getOutlinePositions'](_0x169a6f,_0x2f0ac2){const _0x574c15={_0x5215e4:0x735,_0x52aac4:0x579},_0x2eb9f8={_0x19faa3:0x120},_0x1896a3=_0x2f0ac2['radius'],_0x55570c=_0x2f0ac2['startAngle'];let _0xd9902d=_0x2f0ac2[_0x2e892d(0x1664,0x1c62)];function _0x5aa929(_0x2110a2,_0x453d9b){return _0x306755(_0x453d9b,_0x2110a2- -_0x2eb9f8._0x19faa3);}function _0x2e892d(_0x43f6e1,_0x21f854){return _0x306755(_0x21f854,_0x43f6e1- -0x1cf);}_0xd9902d<=_0x55570c&&(_0xd9902d+=0x168);const _0x1e6015=[];!_0x2f0ac2[_0x5aa929(0xf51,_0x574c15._0x5215e4)]&&_0x1e6015[_0x5aa929(0x579,-0x2db)](_0x169a6f);for(let _0x405e02=_0x55570c;_0x405e02<=_0xd9902d;_0x405e02++){_0x1e6015[_0x5aa929(_0x574c15._0x52aac4,0xbb7)](getPositionByDirectionAndLen(_0x169a6f,_0x405e02,_0x1896a3));}return!_0x2f0ac2['noCenter']&&_0x1e6015['push'](_0x169a6f),_0x1e6015;}}register$5('sector',Sector,!![]);class StraightArrowUtil{constructor(){const _0x565561={_0x133b36:0xe7f};function _0x29b38d(_0x41c352,_0x5bda58){return _0x2b6441(_0x5bda58,_0x41c352-0x302);}this[_0x29b38d(0x1071,_0x565561._0x133b36)]=algorithmUtil;}['setOptions'](_0x353a05={}){const _0x425df3={_0x145c0d:0xab8,_0x215b5f:0x1174},_0x4b59e6={_0x5151a0:0x32d};this['tailWidthFactor']=_0x353a05['tailWidthFactor']||0.05;function _0x306477(_0x2ab1e2,_0x2bab05){return _0x306755(_0x2ab1e2,_0x2bab05- -_0x4b59e6._0x5151a0);}this[_0xf6f133(0x150b,0xd71)]=_0x353a05['neckWidthFactor']||0.1,this[_0xf6f133(_0x425df3._0x145c0d,_0x425df3._0x215b5f)]=_0x353a05[_0x306477(0x978,0xc73)]||0.15,this['headAngle']=Math['PI']/0x4;function _0xf6f133(_0x6c1377,_0x15632f){return _0x2b6441(_0x15632f,_0x6c1377-0xb9);}this[_0xf6f133(0x490,0xba7)]=Math['PI']*0.17741;}['startCompute'](_0xbbc4a6,_0x1eea9a){const _0x2895ed={_0xadc9cb:0xce0,_0x597537:0x296,_0x3e377c:0x131a,_0x42f1e7:0x1c5a,_0x20af05:0x128a,_0x350b5f:0x854};if(!_0xbbc4a6||_0xbbc4a6['length']===0x0)return _0xbbc4a6;this['positions']=_0xbbc4a6,this['setOptions'](_0x1eea9a);const _0x3aefc6=cartesians2mercators(_0xbbc4a6),_0x2952b2=(_0x1eea9a===null||_0x1eea9a===void 0x0?void 0x0:_0x1eea9a['maxHeight'])??this[_0xdb721b(_0x2895ed._0xadc9cb,_0x2895ed._0x597537)](_0x3aefc6),_0x2aebc9=[_0x3aefc6[0x0],_0x3aefc6[0x1]],_0x3740c8=_0x2aebc9[0x0];function _0xdb721b(_0x10b26c,_0x4614bf){return _0x2b6441(_0x4614bf,_0x10b26c-0x12f);}const _0x2c61c=_0x2aebc9[0x1],_0x260231=this['algorithmUtil']['getBaseLength'](_0x3aefc6),_0x1f1327=_0x260231*this[_0xdb721b(0x637,-0xce)],_0x11c33c=_0x260231*this['neckWidthFactor'],_0x2c09e4=_0x260231*this['headWidthFactor'],_0x542033=this['algorithmUtil'][_0x55df8f(_0x2895ed._0x3e377c,_0x2895ed._0x42f1e7)](_0x2c61c,_0x3740c8,Math['PI']/0x2,_0x1f1327,!![]),_0x2d37a4=this['algorithmUtil']['getThirdPoint'](_0x2c61c,_0x3740c8,Math['PI']/0x2,_0x1f1327,![]),_0x1c9ca8=this['algorithmUtil'][_0x55df8f(_0x2895ed._0x3e377c,0x10d2)](_0x3740c8,_0x2c61c,this['headAngle'],_0x2c09e4,![]);function _0x55df8f(_0x446ae9,_0x46dbc4){return _0x306755(_0x46dbc4,_0x446ae9- -0x86);}const _0x7cd49f=this['algorithmUtil']['getThirdPoint'](_0x3740c8,_0x2c61c,this['headAngle'],_0x2c09e4,!![]),_0xc4434a=this[_0x55df8f(_0x2895ed._0x20af05,_0x2895ed._0x350b5f)]['getThirdPoint'](_0x3740c8,_0x2c61c,this['neckAngle'],_0x11c33c,![]),_0x555d59=this['algorithmUtil']['getThirdPoint'](_0x3740c8,_0x2c61c,this['neckAngle'],_0x11c33c,!![]),_0x505f5e=[_0x542033,_0xc4434a,_0x1c9ca8,_0x2c61c,_0x7cd49f,_0x555d59,_0x2d37a4],_0x4c86d0=mercators2cartesians(_0x505f5e,_0x2952b2);return _0x4c86d0;}['getMaxHeight'](_0x3ead5c){const _0x2a9312={_0x22c2b9:0xfc1},_0x134a23={_0x3fe8fc:0x63a};function _0x14dfdc(_0x38b3bf,_0x59cbc4){return _0x306755(_0x59cbc4,_0x38b3bf- -_0x134a23._0x3fe8fc);}let _0x3b0ae4=_0x3ead5c[0x0][0x2]||0x0;for(let _0x58cb95=0x0;_0x58cb95<_0x3ead5c[_0x14dfdc(_0x2a9312._0x22c2b9,0x1782)];_0x58cb95++){_0x3ead5c[0x2]>_0x3b0ae4&&(_0x3b0ae4=_0x3ead5c[0x2]);}return _0x3b0ae4;}}const straightArrowUtil=new StraightArrowUtil();class StraightArrow extends PolygonEntity{constructor(_0x48614b={}){super(_0x48614b),this['_minPointNum']=0x2,this['_maxPointNum']=0x2;}['getShowPositions'](_0x40d27){if(!_0x40d27||_0x40d27['length']<0x2)return _0x40d27;function _0x234cc1(_0x5c0f73,_0x1ef057){return _0x306755(_0x5c0f73,_0x1ef057- -0x254);}return this['style']['maxHeight']=this['getMaxHeight'](),straightArrowUtil['startCompute'](_0x40d27,this[_0x234cc1(0xe7e,0x602)]);}[_0x2b6441(-0x539,-0xc0)](_0x29f5aa){return setPositionsHeight(_0x29f5aa,this['style']['maxHeight']);}static[_0x2b6441(0xfbe,0x7db)](_0x485212,_0x467420){const _0x4684b8={_0x296470:0xc86};function _0x42c541(_0x1609fc,_0x1590cf){return _0x306755(_0x1609fc,_0x1590cf- -0x5);}if(!_0x485212||_0x485212['length']<0x2)return _0x485212;return _0x485212=LngLatArray[_0x42c541(0x9c6,_0x4684b8._0x296470)](_0x485212),straightArrowUtil['startCompute'](_0x485212,_0x467420);}}register$5('straightArrow',StraightArrow);class EditParallelogram extends EditPolygon{set[_0x306755(0x1bdc,0x1999)](_0x271331){const _0x5bc79f={_0x37f823:0x298,_0x1e3aee:0xefa};function _0x4d5644(_0x1bf160,_0x54b001){return _0x306755(_0x54b001,_0x1bf160-0xd3);}function _0x7fad95(_0x55698c,_0x54f6c9){return _0x306755(_0x55698c,_0x54f6c9- -0x487);}this[_0x7fad95(_0x5bc79f._0x37f823,0x160)][_0x7fad95(0xc62,_0x5bc79f._0x1e3aee)]=_0x271331;}get['positions'](){const _0x7250e2=this['_graphic']['_positions_draw']||this['_graphic']['_positions']||[];function _0x450527(_0x469065,_0x45c827){return _0x2b6441(_0x469065,_0x45c827-0x15b);}if(_0x7250e2['length']===0x2){const _0x502985=LngLatPoint['fromCartesian'](_0x7250e2[0x0]),_0x153ea6=LngLatPoint['fromCartesian'](_0x7250e2[0x1]),_0x3b521f=new LngLatPoint(_0x502985['lng'],_0x153ea6[_0x450527(0x7b7,0x4f8)],_0x502985['alt']);_0x7250e2['push'](_0x3b521f['toCartesian']());}return _0x7250e2;}get['center'](){const _0x4cd542={_0xddea95:0x1572,_0x4ef1dd:0x12d4},_0x45122e={_0x239a8e:0x17a};function _0x39272e(_0x5dd329,_0x48e1f6){return _0x2b6441(_0x48e1f6,_0x5dd329-_0x45122e._0x239a8e);}function _0x5e783f(_0x4e765d,_0x3d245e){return _0x2b6441(_0x4e765d,_0x3d245e-0x333);}const _0x43189f=this[_0x39272e(_0x4cd542._0xddea95,0x1369)];if(_0x43189f[_0x39272e(0x11d4,_0x4cd542._0x4ef1dd)]<this['_minPointNum'])return;return Cesium__namespace['Cartesian3']['midpoint'](_0x43189f[0x0],_0x43189f[0x2],new Cesium__namespace['Cartesian3']());}}class ParallelogramEntity extends PolygonEntity{constructor(_0x48d98c={}){const _0x40fc77={_0x45f2c5:0x1d8d},_0x2b9739={_0x1edecc:0x8};function _0xe67bfa(_0x231138,_0x3d6691){return _0x306755(_0x3d6691,_0x231138- -0x640);}function _0x230148(_0x2180e8,_0xf481c4){return _0x306755(_0x2180e8,_0xf481c4-_0x2b9739._0x1edecc);}super(_0x48d98c),this[_0x230148(_0x40fc77._0x45f2c5,0x175c)]=0x3,this[_0xe67bfa(0x138,0x2f0)]=0x3;}get['centerOfMass'](){const _0x329c4c=this['positionsShow'];function _0x4a98b5(_0x325b49,_0x56cdad){return _0x2b6441(_0x325b49,_0x56cdad-0x6a7);}if(_0x329c4c[_0x4a98b5(0x1210,0x1701)]<this['_minPointNum'])return;return Cesium__namespace['Cartesian3']['midpoint'](_0x329c4c[0x0],_0x329c4c[0x2],new Cesium__namespace['Cartesian3']());}get[_0x306755(0x924,0xe73)](){return EditParallelogram;}['getShowPositions'](_0x39ee72){const _0x5d65e2={_0x309b5f:0x1759};if(!_0x39ee72||_0x39ee72[_0x40065e(0x2111,_0x5d65e2._0x309b5f)]<this['_minPointNum'])return _0x39ee72;function _0x40065e(_0x28cd12,_0x3e4c78){return _0x306755(_0x28cd12,_0x3e4c78-0x15e);}return ParallelogramEntity['getOutlinePositions'](_0x39ee72);}static['getOutlinePositions'](_0x74c214){const _0x1d4b2b=getAngle(_0x74c214[0x2],_0x74c214[0x1]),_0x597517=Cesium__namespace['Cartesian3']['distance'](_0x74c214[0x2],_0x74c214[0x1]),_0x442ec5=getPositionByDirectionAndLen(_0x74c214[0x0],_0x1d4b2b+0xb4,_0x597517);return[_0x74c214[0x0],_0x74c214[0x1],_0x74c214[0x2],_0x442ec5];}}register$5('parallelogram',ParallelogramEntity);const _0x29dbdb={};_0x29dbdb[_0x2b6441(0xaa,0x90e)]=_0x2b6441(0x1c38,0x12ec),_0x29dbdb[_0x306755(0xed1,0x768)]=0x8,_0x29dbdb[_0x2b6441(-0x160,0x7fa)]=_0x2b6441(0x1077,0x62f),_0x29dbdb['outlineWidth']=0x2,_0x29dbdb[_0x306755(-0x321,0x590)]=![];const DEF_STYLE$u=_0x29dbdb;class PointMeasure extends PointEntity{constructor(_0xe110d6={}){const _0x31709b={_0x502461:0x1ef};_0xe110d6[_0x244355(0x667,0xcaf)]={...DEF_STYLE$u,..._0xe110d6['style']};function _0x244355(_0x283c12,_0x49df99){return _0x306755(_0x49df99,_0x283c12- -_0x31709b._0x502461);}super(_0xe110d6);}[_0x2b6441(0x66f,0x729)](_0x24eb9c){const _0x2a5f1f={_0x4215df:0x15cb,_0x2b83e5:0x1352,_0x4412a:0xf4e};function _0x1b816a(_0x4bbc29,_0x22f800){return _0x306755(_0x22f800,_0x4bbc29-0x13c);}function _0xa9c8e(_0x57bb22,_0x16413b){return _0x306755(_0x16413b,_0x57bb22- -0x382);}var _0x3e52ea,_0x452c79;this[_0xa9c8e(0x1447,_0x2a5f1f._0x4215df)][_0x1b816a(0xcd5,0x12f6)]['enabledMoveTarget']=_0x24eb9c,(_0x3e52ea=this['_map'])!==null&&_0x3e52ea!==void 0x0&&_0x3e52ea['tooltip']&&(this[_0x1b816a(0x1905,_0x2a5f1f._0x2b83e5)]['tooltip'][_0xa9c8e(_0x2a5f1f._0x4412a,0x10f3)]=_0x24eb9c),(_0x452c79=this['_map'])!==null&&_0x452c79!==void 0x0&&_0x452c79['contextmenu']&&(this['_map']['contextmenu']['enabled']=_0x24eb9c);}[_0x2b6441(0xa94,0x3fd)](_0x20581d){const _0x418fd2={_0x1fed8b:0x1039,_0x1b3b3a:0x804,_0x3c823c:0xc5b,_0x504911:0xe8d,_0x1827b3:0x112a,_0x2cd313:0x249,_0x4bc6fe:0x2bf,_0xed2a54:0x732},_0x170c49={_0x430fba:0x661,_0x12ab87:0x9e8,_0x2e34c1:0x1083,_0x2a2792:0x1723,_0x172f20:0x789,_0x244367:0x12e,_0x59792d:0x353,_0x4d25b5:0x1617,_0x28741d:0x12da,_0x280b18:0x787,_0x324c1e:0x356,_0x4b1fb5:0x172d,_0xe378e8:0x174c,_0x29ac52:0xce6,_0x362b61:0x750,_0x19d993:0x1d2d,_0x1c999a:0x1448,_0x1c0d8e:0xf8,_0x37fb2d:0x79c},_0x1a9b7b={_0x74d65c:0x64};super['_addedHook'](_0x20581d);function _0x111136(_0x6af4e1,_0x42dca7){return _0x306755(_0x42dca7,_0x6af4e1- -0x459);}const _0x36580a=this['_map'],_0xbc3866={};_0xbc3866['autoClose']=this['options']['autoClose']??![],_0xbc3866['closeOnClick']=this['options'][_0x111136(0xcc0,0x323)]??![],_0xbc3866[_0x111136(_0x418fd2._0x1fed8b,0x6e3)]=this[_0x111136(_0x418fd2._0x1b3b3a,_0x418fd2._0x3c823c)][_0x378e52(0xfa7,_0x418fd2._0x504911)]??![];function _0x378e52(_0x2e7028,_0x5b3206){return _0x2b6441(_0x2e7028,_0x5b3206- -_0x1a9b7b._0x74d65c);}const _0x518813=_0xbc3866;this['bindPopup'](_0x4a3283=>{const _0x536d87={_0x44b020:0x1e2};function _0x41a976(_0x260d00,_0x497ac2){return _0x378e52(_0x497ac2,_0x260d00-0x390);}const _0x409062=this['point'];_0x409062['format']();if(isFunction(this['options'][_0x4cde0f(0x823,_0x170c49._0x430fba)]))return this[_0x41a976(_0x170c49._0x12ab87,_0x170c49._0x2e34c1)]['popup'](_0x409062,this);const _0x41d79b=degree2dms(_0x409062['lng'])['str'];function _0x4cde0f(_0xbb13ab,_0x13b244){return _0x111136(_0xbb13ab-_0x536d87._0x44b020,_0x13b244);}const _0x281781=degree2dms(_0x409062['lat'])['str'];let _0x11f7b6='';if(this[_0x41a976(0x9e8,0x11d7)][_0x4cde0f(_0x170c49._0x2a2792,0x11ac)]!==![]){const _0x495c41=proj4Trans([_0x409062[_0x41a976(_0x170c49._0x172f20,_0x170c49._0x244367)],_0x409062['lat']],_0x41a976(0xaf5,_0x170c49._0x59792d),this['options']['crs']??CRS[_0x41a976(_0x170c49._0x4d25b5,_0x170c49._0x28741d)]);_0x495c41[0x0]!==_0x409062[_0x4cde0f(_0x170c49._0x280b18,0x67f)]&&_0x495c41[0x1]!==_0x409062['lat']&&(_0x11f7b6=_0x4cde0f(_0x170c49._0x324c1e,0x209)+_0x36580a['getLangText'](_0x41a976(0x1393,_0x170c49._0x4b1fb5))+_0x41a976(_0x170c49._0xe378e8,0x1365)+_0x495c41[0x0]['toFixed'](0x1)+_0x41a976(0x23a,0x382)+_0x36580a[_0x4cde0f(0xaf6,0x7a0)]('_纵坐标')+'</label>'+_0x495c41[0x1]['toFixed'](0x1)+_0x4cde0f(0x138b,0x1d12));}return'<div\x20class=\x22mars3d-template-title\x22>'+_0x36580a['getLangText'](_0x4cde0f(_0x170c49._0x29ac52,0x34c))+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22mars3d-template-content\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div><label>'+_0x36580a['getLangText']('_经度')+'</label>'+_0x409062['lng']+'  '+_0x41d79b+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div><label>'+_0x36580a[_0x4cde0f(0xaf6,0x47)]('_纬度')+'</label>'+_0x409062['lat']+_0x41a976(_0x170c49._0x362b61,-0x3b)+_0x281781+_0x4cde0f(0xe25,0xe5c)+_0x11f7b6+_0x4cde0f(0x151a,0x11e4)+_0x36580a['getLangText'](_0x41a976(0x1619,_0x170c49._0x19d993))+_0x41a976(_0x170c49._0xe378e8,_0x170c49._0x1c999a)+_0x409062[_0x41a976(0x1f2,_0x170c49._0x1c0d8e)]+_0x36580a[_0x4cde0f(0xaf6,0x409)]('_米')+_0x4cde0f(_0x170c49._0x37fb2d,0x1008);},_0x518813),this['on'](EventType[_0x378e52(0x138,0x6ef)],this['_drawMouseMoveHandler'],this),this['once'](EventType[_0x111136(_0x418fd2._0x1827b3,0x15be)],this['_drawCreatedHandler'],this),this['on'](EventType[_0x111136(0xd83,0x3d6)],this[_0x378e52(-_0x418fd2._0x2cd313,0x113)],this),this['on'](EventType['editRemovePoint'],this[_0x111136(_0x418fd2._0x4bc6fe,-0x222)],this),this['position']&&this[_0x378e52(-_0x418fd2._0xed2a54,-0x131)]();}['_updatePositionsHook'](){const _0x47123b={_0x2834c3:0x24c,_0x3a92f3:0x18};function _0x1c1ca3(_0x176f7a,_0x2e77cf){return _0x306755(_0x176f7a,_0x2e77cf- -0x4ec);}super['_updatePositionsHook'](),this[_0x1c1ca3(-_0x47123b._0x2834c3,-_0x47123b._0x3a92f3)]();}['_removedHook'](){const _0x553f90={_0x398afb:0x110f,_0x48d8c5:0x363,_0x290499:0x82b};function _0x4468fc(_0x1917b9,_0xf4c397){return _0x306755(_0x1917b9,_0xf4c397- -0x570);}this['off'](EventType['drawMouseMove'],this['_drawMouseMoveHandler'],this),this['off'](EventType['drawCreated'],this[_0x4468fc(_0x553f90._0x398afb,0x6ec)],this),this[_0x380459(0x363,0x4f0)](EventType[_0x4468fc(0xcfe,0xc6c)],this['_editPointHandler'],this),this[_0x380459(_0x553f90._0x48d8c5,-0x59)](EventType[_0x380459(0x1fc,-_0x553f90._0x290499)],this['_editPointHandler'],this);function _0x380459(_0x12e943,_0x245305){return _0x306755(_0x245305,_0x12e943- -0x609);}super['_removedHook']();}['_drawMouseMoveHandler'](_0x4b6303){this['openPopup']();}[_0x2b6441(0x1dd,0x6bb)](_0x17ef6c){this['openPopup'](),this['fire'](EventType['end'],{'mtype':this['type'],'graphic':this},!![]);}[_0x2b6441(-0x858,0x177)](_0x3f7080){this['openPopup']();}}register$5('pointMeasure',PointMeasure,!![]);const _0x35a948={};_0x35a948[_0x306755(0x3eb,0xb80)]=_0x2b6441(0x195c,0x1379),_0x35a948['glowPower']=0.1,_0x35a948['color']='#ebe12c',_0x35a948[_0x2b6441(0xbb5,0x64a)]=0x9,_0x35a948[_0x306755(-0x3fd,0x4bc)]=![];const DEF_STYLE$t=_0x35a948;class DistanceMeasure extends PolylineEntity{constructor(_0x5b2612={}){const _0xc4f8ad={_0x246ab7:0x500,_0x2e93ab:0x355,_0x1ebe35:0x1409,_0x4d2815:0x1409,_0x3f455a:0x4c6,_0x34411a:0xd51};_0x5b2612[_0x259fda(0x111c,0xe58)]=_0x5b2612['hasMoveEdit']??![],_0x5b2612[_0x357659(-_0xc4f8ad._0x246ab7,_0xc4f8ad._0x2e93ab)]=_0x5b2612['showAddText']??!![],_0x5b2612[_0x259fda(0xdbc,_0xc4f8ad._0x1ebe35)]=_0x5b2612[_0x259fda(0x9a8,_0xc4f8ad._0x4d2815)]??0x2,_0x5b2612[_0x357659(_0xc4f8ad._0x3f455a,0x5c1)]={...DEF_STYLE$t,..._0x5b2612[_0x259fda(_0xc4f8ad._0x34411a,0x451)]};function _0x357659(_0x273baa,_0x4924d1){return _0x2b6441(_0x273baa,_0x4924d1-0x30c);}function _0x259fda(_0x1038fe,_0x23761b){return _0x2b6441(_0x1038fe,_0x23761b-0x19c);}super(_0x5b2612),this['_measured']={};}get['measured'](){return this['_measured'];}['_showHook'](_0x2dacfa){const _0x2001a3={_0x2b2a92:0x432},_0x43716b={_0x50bc51:0x371},_0x3dd75c={_0x38afb7:0x573};function _0x37a18b(_0x315bf4,_0x392b15){return _0x2b6441(_0x315bf4,_0x392b15-_0x3dd75c._0x38afb7);}this[_0x93f0c2(0x61f,0x432)]&&(this[_0x93f0c2(0x7e1,_0x2001a3._0x2b2a92)]['show']=_0x2dacfa);function _0x93f0c2(_0x2268d6,_0x351680){return _0x2b6441(_0x2268d6,_0x351680-_0x43716b._0x50bc51);}if(this[_0x93f0c2(0x120e,0x1332)])for(let _0x441204=0x0;_0x441204<this['_arrPartMeasureLable']['length'];_0x441204++){this['_arrPartMeasureLable'][_0x441204]['show']=_0x2dacfa;}}[_0x306755(0x112d,0x99e)](_0x3bcea0){const _0x27e37a={_0x1b95b0:0x9a5,_0x3d7302:0x1518,_0x45eb7c:0x58c,_0xebb008:0x15b9,_0x4ad9a6:0x16cd,_0x1284b5:0xee5,_0x1ec353:0xbc0,_0x3470d6:0xe20,_0x85b013:0x1395};var _0x2ddd3e;super['_addedHook'](_0x3bcea0),this['_arrPartMeasureLable']=[];const _0x153e93=this['options']['label']||((_0x2ddd3e=this['_layer'])===null||_0x2ddd3e===void 0x0||(_0x2ddd3e=_0x2ddd3e[_0x538d75(0xcf7,0xa10)])===null||_0x2ddd3e===void 0x0?void 0x0:_0x2ddd3e[_0x194420(0xb00,_0x27e37a._0x1b95b0)]);this['_measureLable']=this[_0x194420(0x144b,_0x27e37a._0x3d7302)](_0x153e93);function _0x538d75(_0x31d39d,_0x421e92){return _0x2b6441(_0x31d39d,_0x421e92-0x354);}this[_0x194420(_0x27e37a._0x45eb7c,0x79c)][_0x194420(_0x27e37a._0xebb008,_0x27e37a._0x4ad9a6)]=![],this['on'](EventType[_0x194420(0xdeb,_0x27e37a._0x1284b5)],this['_drawAddPointHandler'],this),this['on'](EventType[_0x538d75(_0x27e37a._0x1ec353,0x104d)],this[_0x194420(0x103b,0x9c2)],this);function _0x194420(_0xcf6afd,_0x58bd62){return _0x2b6441(_0xcf6afd,_0x58bd62-0x6db);}this['on'](EventType['drawMouseMove'],this[_0x538d75(_0x27e37a._0x3470d6,0xf8b)],this),this['once'](EventType[_0x194420(0x11d2,0x16bd)],this[_0x538d75(0x24e,0xa0f)],this),this['on'](EventType['editMovePoint'],this['_editPointHandler'],this),this['on'](EventType['editRemovePoint'],this['_editPointHandler'],this),this['options'][_0x538d75(_0x27e37a._0x85b013,0x174c)]&&(this[_0x538d75(0xd12,0x415)]['show']=this[_0x194420(0x1ff5,0x16cd)],this['_editPointHandler']());}[_0x2b6441(-0x68b,0x3ca)](){const _0x24b470={_0x409c5c:0x3dc};function _0x40c5c0(_0xd598ed,_0x1e637b){return _0x2b6441(_0xd598ed,_0x1e637b-0x265);}super['_updatePositionsHook'](),this['_measureLable']['show']=this['show'],this[_0x40c5c0(0xa6a,_0x24b470._0x409c5c)]();}['_removedHook'](){const _0x55516d={_0x4a9a4b:0xe15,_0xbad385:0xb8e,_0x30aba5:0x810,_0x1b0ce6:0x1b5,_0xffc56c:0x838,_0x2bc63b:0xdb6,_0x5ba7c9:0x838,_0x47b951:0x144f,_0x20db76:0x838,_0x2e12c2:0x234,_0x2a6333:0x6d1,_0x304de8:0x12a8,_0x1b4925:0xcbf,_0x48c2c3:0x142e,_0x19d335:0x1117,_0x5d872c:0xb08,_0x3c8e39:0xcf7};this['off'](EventType['drawAddPoint'],this[_0x20b0ee(_0x55516d._0x4a9a4b,_0x55516d._0xbad385)],this),this['off'](EventType[_0x20b0ee(0xef1,_0x55516d._0x30aba5)],this['_drawMouseMoveHandler'],this);function _0x20b0ee(_0x3021b7,_0x15f894){return _0x2b6441(_0x3021b7,_0x15f894-0xbd);}function _0x2a6cf9(_0x3d2a08,_0xd2e088){return _0x306755(_0x3d2a08,_0xd2e088- -0x134);}this[_0x2a6cf9(_0x55516d._0x1b0ce6,_0x55516d._0xffc56c)](EventType[_0x20b0ee(0xfeb,_0x55516d._0x2bc63b)],this[_0x2a6cf9(0xaf3,0x754)],this),this[_0x2a6cf9(0xeb9,_0x55516d._0x5ba7c9)](EventType[_0x2a6cf9(0x1d02,_0x55516d._0x47b951)],this['_drawCreatedHandler'],this),this[_0x2a6cf9(0x9ac,_0x55516d._0x20db76)](EventType['editMovePoint'],this[_0x20b0ee(0x584,_0x55516d._0x2e12c2)],this),this['off'](EventType[_0x2a6cf9(0xf64,_0x55516d._0x2a6333)],this[_0x2a6cf9(0x31e,0x5e4)],this);Cesium__namespace['defined'](this[_0x20b0ee(0x823,0x17e)])&&(this['_removeLabel'](this['_measureLable']),delete this[_0x20b0ee(-0x43e,0x17e)]);if(Cesium__namespace[_0x2a6cf9(_0x55516d._0x304de8,0x167e)](this[_0x2a6cf9(_0x55516d._0x1b4925,_0x55516d._0x48c2c3)])&&this['_arrPartMeasureLable']['length']>0x0){const _0x4f5988=this[_0x2a6cf9(0x1746,0x142e)];if(_0x4f5988&&_0x4f5988[_0x20b0ee(0x960,_0x55516d._0x19d335)]>0x0)for(let _0x5a5032=0x0,_0x3f43bc=_0x4f5988['length'];_0x5a5032<_0x3f43bc;_0x5a5032++){this['_removeLabel'](_0x4f5988[_0x5a5032]);}delete this[_0x2a6cf9(0xe6f,0x142e)];}super[_0x2a6cf9(_0x55516d._0x5d872c,_0x55516d._0x3c8e39)]();}[_0x2b6441(0x1366,0xf14)](_0x3119bc){const _0x51eedd={_0x372142:0x4f3,_0x3bfafc:0x1033,_0x16b718:0x51c},_0x194aec={_0x5958e0:0x249};var _0x470043;(_0x470043=_0x3119bc[_0x3f5ae1(_0x51eedd._0x372142,0x45e)])!==null&&_0x470043!==void 0x0&&_0x470043[_0x4e8952(_0x51eedd._0x3bfafc,0x1668)]&&delete _0x3119bc['label'];function _0x4e8952(_0x184dd8,_0x231e60){return _0x306755(_0x184dd8,_0x231e60- -_0x194aec._0x5958e0);}function _0x3f5ae1(_0x4ce0c6,_0x431bf2){return _0x2b6441(_0x431bf2,_0x4ce0c6-0x229);}const _0x5e792d={};_0x5e792d['onlySimpleType']=!![],_0x3119bc[_0x3f5ae1(0x204,-_0x51eedd._0x16b718)]=getAttrVal(this['measured'],_0x5e792d);}['updateText'](_0x1e1754){const _0x5801cf={_0x48203a:0xae0,_0x2c92e5:0xa8a,_0x250c0a:0xc13,_0x5f5b09:0xd4e,_0x1bba07:0x122f,_0xbae645:0x32d,_0x40aa26:0x126a,_0x9af32:0x50a,_0x3ffa60:0x6c2,_0x164db5:0x15c2},_0x4a6553={_0x1e3a2f:0x18fb};_0x1e1754&&(this[_0x14ac8e(0xf19,_0x5801cf._0x48203a)]['unit']=_0x1e1754);function _0x14ac8e(_0x5a9b2d,_0xec26bc){return _0x2b6441(_0x5a9b2d,_0xec26bc-0x424);}const _0x1b8eef={'unit':this[_0x14ac8e(0x506,_0x5801cf._0x48203a)][_0x14ac8e(_0x5801cf._0x2c92e5,0x985)],'getLangText':_0x20ffcf=>{function _0xc2698a(_0x4e9021,_0xbd08a4){return _0x494e00(_0xbd08a4-0xd2,_0x4e9021);}return this[_0xc2698a(0x2035,_0x4a6553._0x1e3a2f)]['getLangText'](_0x20ffcf);},'decimal':this[_0x14ac8e(_0x5801cf._0x250c0a,0xae0)][_0x14ac8e(_0x5801cf._0x5f5b09,0x1691)]};this['_measured'][_0x14ac8e(0x145e,_0x5801cf._0x1bba07)]=formatDistance(this[_0x14ac8e(0xc54,_0x5801cf._0xbae645)]['distance'],_0x1b8eef);function _0x494e00(_0x36e6e8,_0x1d6f3b){return _0x2b6441(_0x1d6f3b,_0x36e6e8-0x601);}if(this['_measured']['distance']!==this['_measured']['distanceLastFd']){this[_0x494e00(0x6c2,-0x116)]['text']=this['_map']['getLangText'](_0x14ac8e(0x1617,_0x5801cf._0x40aa26))+':'+this['_measured']['distanceStr'];if(this['options']['showAddText']){const _0x3273d6=formatDistance(this[_0x494e00(_0x5801cf._0x9af32,-0x18a)][_0x14ac8e(0xd6b,0xb41)],_0x1b8eef);this[_0x494e00(_0x5801cf._0x9af32,0xd98)]['distanceLastFdStr']=_0x3273d6,this[_0x494e00(_0x5801cf._0x3ffa60,0x54d)]['text']+='\x0a(+'+_0x3273d6+')';}}else this[_0x494e00(0x6c2,0x85d)]['text']=this['_map']['getLangText']('_总长')+':'+this[_0x494e00(_0x5801cf._0x9af32,0x6f4)][_0x494e00(0x140c,0x157f)];if(_0x1e1754)for(let _0x3de54e=0x1,_0x56273e=this[_0x494e00(_0x5801cf._0x164db5,0x12d7)]['length'];_0x3de54e<_0x56273e;_0x3de54e++){const _0x9f8d5c=this[_0x494e00(0x15c2,0x1689)][_0x3de54e];_0x9f8d5c[_0x494e00(0xd6c,0x15dc)]&&_0x9f8d5c['showText']();}}[_0x306755(0x723,0x1072)](_0x4cf5ed){const _0x15d422={_0x507fbf:0xb37,_0x15db34:0x12c6,_0x46f8f3:0xdb6,_0x53565e:0x1994,_0xc6436d:0x11c2,_0x592144:0x581,_0x1de894:0x14d4,_0x2b429d:0xdea,_0x2a6503:0xd2e,_0x50547c:0x1593,_0x40d1f1:0x674,_0x4bbdee:0x8c3,_0x5c188f:0xd7f,_0x1ab7df:0x1214,_0x32a43c:0x40,_0x17f5da:0x648},_0x4f758a={_0x553035:0x1e94,_0x5c75ab:0x147f,_0x733444:0x791,_0x2ea011:0x2c4,_0x53e954:0x1441},_0x73300d={_0x6a6487:0x118};var _0x51da98;function _0x295636(_0x582e1b,_0xe9332){return _0x306755(_0xe9332,_0x582e1b- -_0x73300d._0x6a6487);}const _0x3308c1=this,_0x3faee6=this[_0x295636(_0x15d422._0x507fbf,0x179)];function _0x331623(_0x32467a,_0x19ab88){return _0x2b6441(_0x32467a,_0x19ab88-0x168);}const _0x1329f6=this[_0x295636(_0x15d422._0x15db34,_0x15d422._0x46f8f3)](this['options']['label']||((_0x51da98=this[_0x331623(_0x15d422._0x53565e,0xf8b)])===null||_0x51da98===void 0x0||(_0x51da98=_0x51da98[_0x331623(0x121,0x824)])===null||_0x51da98===void 0x0?void 0x0:_0x51da98[_0x331623(0x5a9,0x432)]),_0x3faee6[_0x3faee6[_0x331623(0x1600,_0x15d422._0xc6436d)]-0x1]);this['_arrPartMeasureLable'][_0x295636(_0x15d422._0x592144,0xd8)](_0x1329f6);if(_0x3faee6['length']===0x1)_0x1329f6[_0x331623(0x15fc,_0x15d422._0x1de894)]=this['_map']['getLangText'](_0x295636(0x136a,_0x15d422._0x2b429d)),_0x1329f6['updateText']&&_0x1329f6['updateText'](_0x1329f6[_0x295636(0x17f5,_0x15d422._0x2a6503)],_0x1329f6);else{const _0x458558=getSurfaceDistance(_0x3faee6),_0x3253da=getSurfaceDistance([_0x3faee6[_0x3faee6['length']-0x2],_0x3faee6[_0x3faee6[_0x295636(0x14e3,_0x15d422._0x50547c)]-0x1]]);_0x1329f6[_0x295636(0xbe4,0x45b)]={},_0x1329f6[_0x331623(_0x15d422._0x40d1f1,_0x15d422._0x4bbdee)][_0x331623(_0x15d422._0x5c188f,0x916)]=_0x458558,_0x1329f6['attr']['valueFD']=_0x3253da,_0x1329f6['showText']=function(){const _0x1ba225={'unit':_0x3308c1['options']['unit'],'getLangText':_0x31a82d=>{const _0x4da49d={_0x2cbfde:0x1b1};function _0x4b3d51(_0x1b4c53,_0x42ca39){return _0x5bbe(_0x1b4c53-_0x4da49d._0x2cbfde,_0x42ca39);}return _0x3308c1['_map'][_0x4b3d51(0xcab,0x1696)](_0x31a82d);},'decimal':_0x3308c1['options']['decimal']};function _0x93be20(_0x306f93,_0x414285){return _0x295636(_0x414285- -0x376,_0x306f93);}function _0x24f594(_0xf71fbe,_0x2c89e5){return _0x295636(_0x2c89e5- -0x3b4,_0xf71fbe);}const _0x476b9c=formatDistance(this['attr']['value'],_0x1ba225);if(this[_0x93be20(0xa32,0x86e)][_0x24f594(0x1198,0x883)]!==this['attr']['valueFD']){this[_0x93be20(_0x4f758a._0x553035,_0x4f758a._0x5c75ab)]=_0x476b9c;if(_0x3308c1[_0x24f594(0x10f8,_0x4f758a._0x733444)]['showAddText']){const _0x3f6fbc=formatDistance(this['attr'][_0x24f594(0x948,_0x4f758a._0x2ea011)],_0x1ba225);this['text']+='\x0a(+'+_0x3f6fbc+')';}}else this['text']=_0x476b9c;this['updateText']&&this['updateText'](this[_0x24f594(0x1565,_0x4f758a._0x53e954)],this);},_0x1329f6[_0x331623(_0x15d422._0x1ab7df,0x8d3)](),this[_0x331623(_0x15d422._0x32a43c,0x71)][_0x295636(0xe05,0x1182)]=_0x458558,this['_measured']['distanceLastFd']=_0x3253da,this[_0x295636(0x392,-0x1c6)]['distanceStr']=formatDistance(this[_0x331623(-_0x15d422._0x17f5da,0x71)]['distance'],{'unit':this[_0x331623(0xa97,0x824)][_0x331623(0x814,0x6c9)],'getLangText':_0x15cfe2=>{return this['_map']['getLangText'](_0x15cfe2);},'decimal':this['options']['decimal']});}}[_0x306755(0xa0a,0x888)](_0x400cdd){const _0x470737=this['_arrPartMeasureLable']['pop']();this['_removeLabel'](_0x470737),this['_drawMouseMoveHandler'](_0x400cdd),this['_measureLable']['position']=_0x400cdd['cartesian'];}['_drawMouseMoveHandler'](_0x5c9a4b){const _0x242281={_0x5dbcec:0x1552,_0x247454:0x1fd2,_0x322c0f:0xc11,_0x23d8b1:0x15ba,_0x4bc9cd:0x1a7f,_0x33cb06:0x5d5,_0x20e3b8:0x72,_0x50dbf8:0x15a6,_0x225e43:0x1073},_0x3d0b03={_0xe652a8:0x41},_0x2e81f6={_0x330bc8:0x4f},_0x28413a=this['positionsShow'];if(!_0x28413a||_0x28413a['length']<0x2){this[_0x1a3d73(-0x65,0x72)][_0x298812(_0x242281._0x5dbcec,_0x242281._0x247454)]=![];return;}function _0x1a3d73(_0x3dcc2b,_0xbd8b4b){return _0x2b6441(_0x3dcc2b,_0xbd8b4b- -_0x2e81f6._0x330bc8);}const _0x1d9c2a=getSurfaceDistance(_0x28413a);let _0xf412b4=getSurfaceDistance([_0x28413a[_0x28413a[_0x1a3d73(_0x242281._0x322c0f,0x100b)]-0x2],_0x28413a[_0x28413a['length']-0x1]]);_0xf412b4===0x0&&_0x28413a[_0x298812(_0x242281._0x23d8b1,_0x242281._0x4bc9cd)]>0x2&&(_0xf412b4=getSurfaceDistance([_0x28413a[_0x28413a[_0x298812(0x15ba,0xe0f)]-0x3],_0x28413a[_0x28413a['length']-0x2]]));this[_0x298812(0x469,0x64a)]['distance']=_0x1d9c2a,this['_measured']['distanceLastFd']=_0xf412b4,this['updateText']();function _0x298812(_0x30ffdd,_0x495058){return _0x306755(_0x495058,_0x30ffdd- -_0x3d0b03._0xe652a8);}this[_0x1a3d73(_0x242281._0x33cb06,_0x242281._0x20e3b8)][_0x1a3d73(0x5c5,0xc07)]=_0x28413a[_0x28413a['length']-0x1],this['fire'](EventType['change'],{'mtype':this[_0x1a3d73(_0x242281._0x50dbf8,_0x242281._0x225e43)],'value':this['_measured']['distance'],'label':this['_measured']['distanceStr']},!![]);}['_drawCreatedHandler'](_0x18fefa,_0xad384f=!![]){const _0xa3e37a={_0x5d4452:0xd93,_0x8e1123:0x1db9,_0x4c258e:0x122a,_0x3e5ce3:0x173f,_0x81edca:0x5ef,_0x4a1690:0x19f5,_0x4f5112:0x11fb,_0x4c4e72:0x7a6,_0x9e981c:0x149a,_0x4aa2bf:0x132c,_0x70e3b7:0x1061,_0x58d113:0x5ee},_0x40f27d={_0x3d22de:0x144},_0x432e08={_0x44db90:0x3d8};function _0x24193b(_0x558771,_0xc31e59){return _0x2b6441(_0xc31e59,_0x558771-_0x432e08._0x44db90);}const _0x34e3fe=this[_0x5ad94f(0x1590,_0xa3e37a._0x5d4452)],_0x1be257=this[_0x5ad94f(_0xa3e37a._0x8e1123,0x16a6)]['length']-_0x34e3fe['length'];if(_0x1be257>=0x0){for(let _0x717c31=this['_arrPartMeasureLable']['length']-0x1;_0x717c31>=_0x34e3fe[_0x5ad94f(_0xa3e37a._0x4c258e,_0xa3e37a._0x3e5ce3)]-0x1;_0x717c31--){this['_removeLabel'](this['_arrPartMeasureLable'][_0x717c31]);}this['_arrPartMeasureLable'][_0x5ad94f(0xcf4,_0xa3e37a._0x81edca)](_0x34e3fe['length']-0x1,_0x1be257+0x1);}this[_0x5ad94f(0x125c,_0xa3e37a._0x4a1690)](),this[_0x5ad94f(_0xa3e37a._0x4f5112,_0xa3e37a._0x4c4e72)]['position']=_0x34e3fe[_0x34e3fe['length']-0x1];function _0x5ad94f(_0x545d97,_0x46887b){return _0x306755(_0x545d97,_0x46887b-_0x40f27d._0x3d22de);}this['_measureLable']['show']=this['show'],_0xad384f&&this['fire'](EventType['end'],{'mtype':this[_0x24193b(_0xa3e37a._0x9e981c,0x163c)],'value':this[_0x5ad94f(-0x1b1,0x5ee)][_0x5ad94f(_0xa3e37a._0x4aa2bf,_0xa3e37a._0x70e3b7)],'label':this[_0x5ad94f(-0x387,_0xa3e37a._0x58d113)]['distanceStr']},!![]);}['_editPointHandler'](_0x2e8e4b,_0x2bc983=!![]){const _0x42a808={_0x458a77:0x12ca,_0xe980e7:0x1363,_0x1bd23e:0xa85,_0x127cfc:0x1347,_0x45fd5f:0x1203,_0x2d2193:0xe80,_0x123983:0x60f,_0x5591c9:0xad5,_0x5b327c:0x697,_0x40d2d2:0x2a5,_0x461a3c:0x9c5,_0x3c77e7:0x1950,_0x174a02:0xd3,_0x179be9:0x1363,_0x340b4a:0xb95,_0x20722d:0x212,_0xd297e6:0x83a,_0x5773c4:0x9db,_0x18ed68:0xd2a,_0x2decda:0x12fb,_0x239aed:0x2c3,_0xaa8dff:0xcfd,_0x3c6f3a:0x569,_0x3c152e:0x1334},_0x2c7f40={_0x302517:0x894,_0x3613e0:0x998,_0x281ce7:0x5d2,_0x366557:0xb3e,_0x2f3051:0x7f5,_0x11f165:0x291,_0x1c7c54:0x182,_0x1b6088:0x174f};function _0x554cfc(_0x8d8af2,_0x2f4870){return _0x2b6441(_0x2f4870,_0x8d8af2- -0x25);}var _0x482af9;let _0x55c657=this[_0x44d6ca(0xa8e,_0x42a808._0x458a77)];if(_0x55c657&&_0x55c657['length']>0x0)for(let _0x13c426=0x0,_0x136bd8=_0x55c657[_0x44d6ca(0x985,_0x42a808._0xe980e7)];_0x13c426<_0x136bd8;_0x13c426++){this['_removeLabel'](_0x55c657[_0x13c426]);}this['_measureLable']['show']=![];const _0x589577=this,_0x456a83=this['positionsShow'];if(!_0x456a83||_0x456a83['length']<0x2)return;const _0xd27f07=this[_0x44d6ca(0x8c3,0x1146)](this['options'][_0x554cfc(0x2a5,0x349)]||((_0x482af9=this['_layer'])===null||_0x482af9===void 0x0||(_0x482af9=_0x482af9[_0x44d6ca(_0x42a808._0x1bd23e,0x9c5)])===null||_0x482af9===void 0x0?void 0x0:_0x482af9['label']),_0x456a83[0x0]);_0xd27f07[_0x554cfc(_0x42a808._0x127cfc,0xa18)]=this[_0x554cfc(_0x42a808._0x45fd5f,_0x42a808._0x2d2193)][_0x44d6ca(_0x42a808._0x123983,_0x42a808._0x5591c9)]('_起点'),_0x55c657=[_0xd27f07];const _0x3b9f72=_0x55c657[0x0];_0x3b9f72['position']=_0x456a83[0x0],this['_arrPartMeasureLable']=[_0x3b9f72];let _0x53bd22=0x0;for(let _0x38fdcb=0x1,_0x47a55a=_0x456a83['length']-0x1;_0x38fdcb<_0x47a55a;_0x38fdcb++){var _0x11fc1d;const _0x5896f4=getSurfaceDistance([_0x456a83[_0x38fdcb-0x1],_0x456a83[_0x38fdcb]]);_0x53bd22+=_0x5896f4;const _0x30c08b=this['_createLabel'](this[_0x554cfc(_0x42a808._0x5b327c,0x41d)][_0x554cfc(_0x42a808._0x40d2d2,0x749)]||((_0x11fc1d=this['_layer'])===null||_0x11fc1d===void 0x0||(_0x11fc1d=_0x11fc1d[_0x44d6ca(-0x92,_0x42a808._0x461a3c)])===null||_0x11fc1d===void 0x0?void 0x0:_0x11fc1d[_0x554cfc(0x2a5,0xba8)]),_0x456a83[_0x38fdcb]);this[_0x44d6ca(_0x42a808._0x3c77e7,0x12ca)][_0x554cfc(_0x42a808._0x174a02,0xae)](_0x30c08b),_0x30c08b['attr']={},_0x30c08b['attr'][_0x554cfc(0x789,0x647)]=_0x53bd22,_0x30c08b['attr']['valueFD']=_0x5896f4,_0x30c08b[_0x554cfc(0x746,0xd4f)]=function(){const _0x50d550={'unit':_0x589577[_0x987dbe(0xe64,0xa9f)][_0x987dbe(0xd00,0x944)],'getLangText':_0x17e51f=>{const _0x4f1df6={_0x1e72f4:0x24e};function _0x110e02(_0x1563a5,_0x483992){return _0x987dbe(_0x483992,_0x1563a5-_0x4f1df6._0x1e72f4);}return _0x589577['_map'][_0x110e02(0xdfd,0x11a8)](_0x17e51f);},'decimal':_0x589577['options']['decimal']},_0x4c03b9=formatDistance(this['attr']['value'],_0x50d550);if(this['attr'][_0x59885f(0x870,0x8e7)]!==this[_0x59885f(0xc97,_0x2c7f40._0x302517)][_0x987dbe(_0x2c7f40._0x3613e0,_0x2c7f40._0x281ce7)]){const _0x2286da=formatDistance(this[_0x987dbe(0xdf2,_0x2c7f40._0x366557)]['valueFD'],_0x50d550);this['text']=_0x4c03b9,_0x589577[_0x59885f(0x53c,_0x2c7f40._0x2f3051)][_0x59885f(_0x2c7f40._0x11f165,_0x2c7f40._0x1c7c54)]&&(this['text']+=_0x59885f(-0xb5,0x71f)+_0x2286da+')');}else this['text']=_0x4c03b9;function _0x59885f(_0x178a73,_0x51ad22){return _0x554cfc(_0x51ad22-0x15e,_0x178a73);}function _0x987dbe(_0x4f81c6,_0x56cf98){return _0x44d6ca(_0x4f81c6,_0x56cf98-0xda);}this['updateText']&&this['updateText'](this[_0x987dbe(0x1119,_0x2c7f40._0x1b6088)],this);},_0x30c08b['showText']();}const _0x1cd6cb=getSurfaceDistance([_0x456a83[_0x456a83[_0x44d6ca(0xa54,_0x42a808._0x179be9)]-0x2],_0x456a83[_0x456a83[_0x44d6ca(0x14e5,0x1363)]-0x1]]);_0x53bd22+=_0x1cd6cb,this['_measured']['distance']=_0x53bd22,this[_0x44d6ca(_0x42a808._0x340b4a,_0x42a808._0x20722d)][_0x554cfc(0x6f8,_0x42a808._0xd297e6)]=_0x1cd6cb;function _0x44d6ca(_0x3a7383,_0x17f43d){return _0x306755(_0x3a7383,_0x17f43d- -0x298);}this['updateText'](),this['_measureLable'][_0x554cfc(0xc31,_0x42a808._0x5773c4)]=_0x456a83[_0x456a83[_0x554cfc(0x1035,_0x42a808._0x18ed68)]-0x1],this[_0x554cfc(0x9c,-0x2dd)]['show']=this[_0x44d6ca(0x18ae,_0x42a808._0x2decda)],_0x2bc983&&this[_0x554cfc(_0x42a808._0x239aed,_0x42a808._0xaa8dff)](EventType['change'],{'mtype':this['type'],'value':this[_0x44d6ca(_0x42a808._0x3c6f3a,_0x42a808._0x20722d)][_0x44d6ca(_0x42a808._0x3c152e,0xc85)],'label':this['_measured'][_0x44d6ca(0xa84,0x1114)]},!![]);}}register$5(_0x2b6441(0x9c2,0xe09),DistanceMeasure);class DistanceSurfaceMeasure extends DistanceMeasure{constructor(_0xe3e47d={}){const _0x4adb36={_0x491d00:0x760,_0x4d0c96:0x96f,_0xe3af67:0x542},_0x4e0461={_0x3e29c9:0x7c};super(_0xe3e47d);_0xe3e47d['_promise']&&(this['_promise']=_0xe3e47d['_promise'],delete _0xe3e47d[_0x281783(-0x40e,0xaa)]);_0xe3e47d[_0x5e0194(_0x4adb36._0x491d00,0x1038)][_0x281783(-_0x4adb36._0x4d0c96,-0x161)]=!![],_0xe3e47d['splitNum']=_0xe3e47d[_0x5e0194(0x5dd,_0x4adb36._0xe3af67)]??0xc8;function _0x281783(_0x133f0f,_0xefc90){return _0x2b6441(_0x133f0f,_0xefc90- -_0x4e0461._0x3e29c9);}function _0x5e0194(_0x20c952,_0x191cf7){return _0x2b6441(_0x191cf7,_0x20c952-0x4ab);}this['disTerrainScale']=1.2;}['_drawCreatedHandler'](_0x5cc4cf){const _0x48e1ce={_0x53b341:0x11cd,_0x13b74d:0xb72};function _0x8f341e(_0xbcd38c,_0x3e2ee4){return _0x306755(_0xbcd38c,_0x3e2ee4- -0xea);}super[_0x8f341e(_0x48e1ce._0x53b341,_0x48e1ce._0x13b74d)](_0x5cc4cf,![]),this['updateLengthForTerrain'](_0x5cc4cf);}['_editPointHandler'](_0x4b3be9){super['_editPointHandler'](_0x4b3be9,![]),this['updateLengthForTerrain'](_0x4b3be9);}['updateLengthForTerrain'](_0x5bc25a){const _0x2ef6ec={_0xab25fc:0x6,_0x23ac72:0x199,_0x5324ca:0x506,_0x5e6133:0x12e7,_0x5691ac:0x91f,_0x72e1e1:0x113b,_0x1e3c7c:0x5ef,_0x11e9bd:0x74f},_0x30fad6={_0x1dd430:0x5cd,_0x21df78:0xb11,_0x15dc0c:0x71d,_0xe60a99:0x95,_0x1af9ac:0x47d,_0x56cf5e:0xc38},_0x25b2d6={_0x219751:0x3dc,_0x45c175:0x399,_0x357242:0x9f5},_0xfc1dec={_0x8f19f2:0x290},_0x2f0645=this['positionsShow'];function _0x17be06(_0x1d162a,_0xd6fcec){return _0x306755(_0x1d162a,_0xd6fcec- -0x645);}if(!_0x2f0645||_0x2f0645[_0x1d1811(0xcd6,0x12ea)]<0x2)return;this[_0x1d1811(_0x2ef6ec._0xab25fc,_0x2ef6ec._0x23ac72)][_0x17be06(0x217,0xabb)]=this['_measured']['distance'],this[_0x17be06(_0x2ef6ec._0x5324ca,-0x19b)][_0x1d1811(0x16e7,_0x2ef6ec._0x5e6133)]=this[_0x17be06(-_0x2ef6ec._0x5691ac,-0x19b)][_0x1d1811(_0x2ef6ec._0x72e1e1,0x109b)],this['fire'](EventType['start'],{'mtype':this['type'],'graphic':this},!![]);function _0x1d1811(_0x2f7dde,_0xa0d2ef){return _0x2b6441(_0x2f7dde,_0xa0d2ef-_0xfc1dec._0x8f19f2);}getClampDistance(_0x2f0645,{'scene':this['_map'][_0x17be06(-_0x2ef6ec._0x1e3c7c,0x420)],'splitNum':this[_0x1d1811(0x40c,0x94c)]['splitNum'],'has3dtiles':this['options']['has3dtiles'],'exact':this['options'][_0x1d1811(_0x2ef6ec._0x11e9bd,0x2ef)],'disTerrainScale':this[_0x17be06(0x621,0xd9a)],'endItem':_0x542c7d=>{const _0x17f294={_0x477c94:0x37c},_0x5cac4e={_0x47242a:0x26f};if(this[_0x51b199(0x2be,0x710)])return;let _0x66ed5e=_0x542c7d[_0x51b199(0x140f,0xc8f)];function _0xe94460(_0x3946d0,_0x9bdbed){return _0x1d1811(_0x3946d0,_0x9bdbed- -_0x5cac4e._0x47242a);}function _0x51b199(_0x2a9569,_0x41f1e2){return _0x17be06(_0x2a9569,_0x41f1e2-_0x17f294._0x477c94);}const _0x130398=_0x542c7d[_0xe94460(_0x25b2d6._0x219751,-0x106)],_0x13255d=_0x542c7d[_0xe94460(0xb46,0x99d)];_0x66ed5e++;const _0x45f435=this['_arrPartMeasureLable'][_0x66ed5e];if(_0x45f435)_0x45f435['attr']['value']=_0x130398,_0x45f435[_0xe94460(0x51e,0x77c)][_0x51b199(0x9d1,0x4c7)]=_0x13255d,_0x45f435['showText']();else _0x66ed5e===_0x2f0645['length']-0x1&&this[_0x51b199(0x924,_0x25b2d6._0x45c175)]&&(this['_measured']['distance']=_0x130398,this['_measured'][_0x51b199(0x1309,_0x25b2d6._0x357242)]=_0x13255d,this['updateText']());},'end':_0x147675=>{var _0x8b9c28;if(this[_0x1b4588(_0x30fad6._0x1dd430,-0x501)])return;function _0x346bb3(_0x5c642e,_0x13508a){return _0x17be06(_0x5c642e,_0x13508a-0x74c);}function _0x1b4588(_0x5bc5f9,_0x175e51){return _0x17be06(_0x175e51,_0x5bc5f9-0x239);}this['_measured'][_0x1b4588(_0x30fad6._0x21df78,0xc29)]=_0x147675;const _0x546912={};_0x546912[_0x1b4588(_0x30fad6._0x15dc0c,-_0x30fad6._0xe60a99)]=this['type'],_0x546912['graphic']=this,_0x546912['value']=this['_measured']['distance'],_0x546912[_0x1b4588(0x45f,0x364)]=this['_measured']['distanceStr'];const _0x3df376=_0x546912;this[_0x1b4588(_0x30fad6._0x1af9ac,0x6cd)](EventType['change'],_0x3df376,!![]),this['fire'](EventType['end'],_0x3df376,!![]),(_0x8b9c28=this['_promise'])!==null&&_0x8b9c28!==void 0x0&&_0x8b9c28['resolve']&&this['_promise'][_0x1b4588(_0x30fad6._0x56cf5e,0x3b8)](this);}});}}register$5(_0x2b6441(0x554,0x1ba),DistanceSurfaceMeasure);class SectionMeasure extends DistanceMeasure{constructor(_0x1ae798={}){const _0x83ff0c={_0x95caa8:0x248},_0x30ec0d={_0x229139:0x270};super(_0x1ae798);function _0x2a5d38(_0x43a022,_0x368139){return _0x306755(_0x368139,_0x43a022- -_0x30ec0d._0x229139);}function _0x17fe34(_0xd7812e,_0x10fbd6){return _0x306755(_0x10fbd6,_0xd7812e- -0x2b1);}_0x1ae798[_0x2a5d38(0x457,0xefa)]&&(this['_promise']=_0x1ae798['_promise'],delete _0x1ae798['_promise']),_0x1ae798['style']['clampToGround']=!![],_0x1ae798[_0x2a5d38(0x463,_0x83ff0c._0x95caa8)]=_0x1ae798[_0x2a5d38(0x463,0x7d0)]??0xc8;}['_drawCreatedHandler'](_0xebef95){function _0x352734(_0x3c2eb9,_0xe1135a){return _0x2b6441(_0x3c2eb9,_0xe1135a-0x6f8);}super[_0x352734(0xfcf,0xdb3)](_0xebef95,![]),this['updateSectionForTerrain'](_0xebef95);}['_editPointHandler'](_0x4f9d93){super['_editPointHandler'](_0x4f9d93,![]),this['updateSectionForTerrain'](_0x4f9d93);}['updateSectionForTerrain'](_0x1ebcff){const _0x141ed4={_0x47dbe3:0x4b5,_0x35a8a5:0x21,_0x5d0400:0xe9,_0x2ac1c7:0xf4b,_0x353c60:0xf5f,_0x2d1227:0x7d4,_0x23c884:0x1d0d,_0x160920:0x2e4,_0x1ae6a1:0x89c},_0x56ea85={_0x4be20e:0x1951,_0x1988bf:0x280},_0x44cae8={_0x436084:0x1079,_0x525d29:0x986,_0xc0dae7:0xf68,_0x48f76c:0x8d5,_0x3035ba:0x746,_0x149e5d:0xd5c,_0x3460a3:0x83d,_0x54f0c1:0xdb9,_0x5a4673:0x1eb};function _0xcc3bf7(_0x30b344,_0x4c5398){return _0x2b6441(_0x30b344,_0x4c5398-0x1e0);}const _0x549b80=this['positionsShow'];if(!_0x549b80||_0x549b80['length']<0x2)return;this['_measured'][_0x41cd7c(0x13f5,0xc77)]=this['_measured']['distance'],this[_0x41cd7c(-_0x141ed4._0x47dbe3,_0x141ed4._0x35a8a5)]['distanceStr_original']=this[_0xcc3bf7(0x1e3,_0x141ed4._0x5d0400)][_0x41cd7c(0x1599,0xf23)];function _0x41cd7c(_0xebd0e4,_0x4864c0){return _0x306755(_0xebd0e4,_0x4864c0- -0x489);}this['fire'](EventType['start'],{'mtype':this['type'],'graphic':this},!![]);let _0x4eb5a2=0x0;const _0x2bb811=[],_0x432262=[],_0x5d773e=[],_0x299160=[];computeStepSurfaceLine({'map':this[_0x41cd7c(_0x141ed4._0x2ac1c7,0x1340)],'positions':_0x549b80,'splitNum':this[_0x41cd7c(_0x141ed4._0x353c60,_0x141ed4._0x2d1227)]['splitNum'],'minDistance':this['options'][_0x41cd7c(_0x141ed4._0x23c884,0x1460)],'has3dtiles':this[_0xcc3bf7(_0x141ed4._0x160920,_0x141ed4._0x1ae6a1)][_0x41cd7c(-0x174,0x51e)],'objectsToExclude':this['options']['objectsToExclude'],'exact':this['options']['exact'],'endItem':(_0x32ae9a,_0x553f3f,_0xbae317)=>{const _0x1a2d88={_0x2c60f9:0x420};var _0x5e179b,_0x2b03b5;if(this['isDestroy'])return;const _0x15f084=(_0x5e179b=Cesium__namespace['Cartographic']['fromCartesian'](_0x549b80[_0xbae317]))===null||_0x5e179b===void 0x0?void 0x0:_0x5e179b['height'],_0x513fef=(_0x2b03b5=Cesium__namespace['Cartographic'][_0x562550(0x986,_0x44cae8._0x436084)](_0x549b80[_0xbae317+0x1]))===null||_0x2b03b5===void 0x0?void 0x0:_0x2b03b5['height'];function _0x562550(_0x4ce393,_0x5657a2){return _0x41cd7c(_0x5657a2,_0x4ce393-_0x1a2d88._0x2c60f9);}function _0x2cb5c6(_0x55af81,_0x47b89f){return _0xcc3bf7(_0x55af81,_0x47b89f-0x46e);}const _0x2af762=(_0x513fef-_0x15f084)/_0x32ae9a['length'];let _0x3f18e5=0x0;for(let _0x5ace62=0x0;_0x5ace62<_0x32ae9a['length'];_0x5ace62++){const _0x585a60=LngLatPoint['fromCartesian'](_0x32ae9a[_0x5ace62]);if(_0x5ace62!==0x0){const _0x39d4c4=LngLatPoint[_0x562550(_0x44cae8._0x525d29,0x12a8)](_0x32ae9a[_0x5ace62-0x1]),_0x40f566=Cesium__namespace['Cartesian3']['distance'](Cesium__namespace['Cartesian3']['fromDegrees'](_0x39d4c4['lng'],_0x39d4c4['lat']),Cesium__namespace[_0x562550(0x9b8,_0x44cae8._0xc0dae7)]['fromDegrees'](_0x585a60['lng'],_0x585a60[_0x562550(_0x44cae8._0x48f76c,0xbc6)]));_0x4eb5a2+=_0x40f566,_0x3f18e5+=_0x40f566;}_0x2bb811[_0x2cb5c6(0x9c3,_0x44cae8._0x3035ba)](Number(_0x4eb5a2[_0x2cb5c6(0x1b59,0x1a6f)](0x1))),_0x432262['push'](_0x585a60['alt']),_0x299160['push'](_0x585a60);const _0x41884d=Number((_0x15f084+_0x2af762*_0x5ace62)['toFixed'](0x1));_0x5d773e['push'](_0x41884d);}_0xbae317++;const _0x376f3c=this['_arrPartMeasureLable'][_0xbae317];if(_0x376f3c)_0x376f3c['attr'][_0x562550(0xce6,0x12b9)]=_0x4eb5a2,_0x376f3c['attr'][_0x2cb5c6(_0x44cae8._0x149e5d,_0x44cae8._0x3460a3)]=_0x3f18e5,_0x376f3c[_0x2cb5c6(0x33a,_0x44cae8._0x54f0c1)]();else _0xbae317===_0x549b80['length']-0x1&&this['_measureLable']&&(this['_measured']['distance']=_0x4eb5a2,this[_0x562550(0x441,_0x44cae8._0x5a4673)]['distanceLastFd']=_0x3f18e5,this['updateText']());},'end':()=>{var _0x35e3fa;if(this[_0x53c062(0xa79,0x768)])return;this[_0x53c062(_0x56ea85._0x4be20e,0x230e)](),this[_0x70da60(-0x4ef,0x280)][_0x70da60(0x1020,0xb41)]=_0x2bb811,this['_measured']['arrLX']=_0x5d773e,this[_0x70da60(-0x331,_0x56ea85._0x1988bf)]['arrHB']=_0x432262,this['_measured'][_0x70da60(0x14ce,0x148a)]=_0x299160;function _0x53c062(_0x2ddf7d,_0x2b1fd8){return _0xcc3bf7(_0x2b1fd8,_0x2ddf7d-0x461);}const _0x1b4cd2={'mtype':this['type'],'graphic':this,'value':_0x4eb5a2,'label':this['_measured']['distanceStr'],...this[_0x53c062(0x54a,0xa52)]},_0xe7c464=_0x1b4cd2;function _0x70da60(_0x6bf3dc,_0xcb81be){return _0x41cd7c(_0x6bf3dc,_0xcb81be-0x25f);}this['fire'](EventType[_0x70da60(0x129d,0xbc4)],_0xe7c464,!![]),this['fire'](EventType['end'],_0xe7c464,!![]),(_0x35e3fa=this['_promise'])!==null&&_0x35e3fa!==void 0x0&&_0x35e3fa['resolve']&&this['_promise']['resolve'](this);}});}}register$5('sectionMeasure',SectionMeasure);const _0x421b6f={};_0x421b6f['materialType']=_0x306755(0xb3d,0x73a),_0x421b6f[_0x2b6441(0x10be,0x90e)]='#ebe967',_0x421b6f[_0x2b6441(0x2cc,0x64a)]=0x9,_0x421b6f[_0x2b6441(-0x474,-0xe5)]=!![];const DEF_STYLE$s=_0x421b6f;class AngleMeasure extends PolylineEntity{constructor(_0x146c6d={}){const _0x30cffa={_0x2534ac:0x1633,_0x1d49c2:0x145},_0x86d1a3={_0x58ee19:0xde};function _0x1a8d05(_0x31f454,_0x20f016){return _0x306755(_0x20f016,_0x31f454- -_0x86d1a3._0x58ee19);}_0x146c6d['hasMoveEdit']=_0x146c6d['hasMoveEdit']??![],_0x146c6d[_0x1a8d05(0x1462,0x1e60)]=0x2,_0x146c6d['decimal']=_0x146c6d[_0x133b38(0x1a2d,_0x30cffa._0x2534ac)]??0x2,_0x146c6d[_0x1a8d05(0x8f8,_0x30cffa._0x1d49c2)]=_0x146c6d['angleDecimal']??0x1,_0x146c6d['style']={...DEF_STYLE$s,..._0x146c6d['style']},super(_0x146c6d);function _0x133b38(_0x4ab960,_0x1304a0){return _0x2b6441(_0x4ab960,_0x1304a0-0x3c6);}this['_measured']={};}get[_0x306755(0x4ea,0x57c)](){const _0x1e8889={_0x353372:0x6};function _0x307c1b(_0x1c1030,_0x3caf2a){return _0x2b6441(_0x1c1030,_0x3caf2a- -_0x1e8889._0x353372);}return this[_0x307c1b(-0x9ca,-0xfd)];}['_showHook'](_0x369dff){this['_measureLable']&&(this['_measureLable']['show']=_0x369dff);}[_0x2b6441(0x129,0x3fd)](_0x37df2e){const _0x591705={_0x3e47c5:0x1586,_0x298deb:0xe53,_0x5dbdda:0xfa5,_0x3bd150:0xa32,_0x489760:0x941,_0x438082:0x1872,_0x193d38:0x853,_0x3e5239:0x74,_0x357a25:0x146c},_0x2d2c8b={_0x4784b3:0x127},_0x2ded76={_0x565942:0x5ee};var _0x4090f7;super['_addedHook'](_0x37df2e),this[_0x40c8b0(-0x2b3,0x53b)]=this[_0x40c8b0(0x1646,0x12b7)](this[_0x40c8b0(_0x591705._0x3e47c5,0xb36)]['label']||((_0x4090f7=this['_layer'])===null||_0x4090f7===void 0x0||(_0x4090f7=_0x4090f7['options'])===null||_0x4090f7===void 0x0?void 0x0:_0x4090f7['label'])),this['_measureLable'][_0x4de7aa(_0x591705._0x298deb,_0x591705._0x5dbdda)]=![],this['on'](EventType['drawAddPoint'],this['_drawAddPointHandler'],this);function _0x4de7aa(_0xab8163,_0x94ac52){return _0x306755(_0xab8163,_0x94ac52- -_0x2ded76._0x565942);}this['on'](EventType[_0x4de7aa(0xbf9,0xcac)],this['_drawRemovePointHandler'],this),this['on'](EventType[_0x40c8b0(_0x591705._0x3bd150,0xbcd)],this['_drawMouseMoveHandler'],this),this['once'](EventType[_0x40c8b0(0xae7,0x145c)],this['_drawCreatedHandler'],this),this['on'](EventType[_0x4de7aa(0x1155,0xbee)],this['_drawMouseMoveHandler'],this),this['on'](EventType['editRemovePoint'],this['_drawMouseMoveHandler'],this),this['on'](EventType['editMouseMove'],this['_drawMouseMoveHandler'],this);function _0x40c8b0(_0x44e38e,_0x589be5){return _0x306755(_0x44e38e,_0x589be5- -_0x2d2c8b._0x4784b3);}this[_0x4de7aa(_0x591705._0x489760,0x66f)][_0x40c8b0(0x15a7,_0x591705._0x438082)]&&(this[_0x4de7aa(_0x591705._0x193d38,_0x591705._0x3e5239)]['show']=this[_0x40c8b0(0xa30,_0x591705._0x357a25)],this['_drawMouseMoveHandler']());}[_0x2b6441(0x52a,0x3ca)](){const _0x21a8cb={_0x1ca66c:0xf46};super[_0x4cfdd1(0x31e,-0x41a)]();function _0x3e909d(_0x189dad,_0xee8b0c){return _0x306755(_0xee8b0c,_0x189dad- -0x1a2);}function _0x4cfdd1(_0x1fef94,_0x101773){return _0x2b6441(_0x101773,_0x1fef94- -0xac);}this['_measureLable'][_0x4cfdd1(_0x21a8cb._0x1ca66c,0xe1f)]=this[_0x4cfdd1(_0x21a8cb._0x1ca66c,0xbdf)],this['_drawMouseMoveHandler']();}[_0x2b6441(-0x15a,0x88a)](){const _0x468e4a={_0xbc05e4:0x147,_0x5a36b0:0x1662,_0x12f57c:0x9ea,_0x341e9d:0xfd8,_0x3c6bd0:0x5bf,_0x1207be:0x21a},_0x2164fd={_0x2ce916:0x3ad};function _0x54337d(_0x121ead,_0xe41d54){return _0x2b6441(_0x121ead,_0xe41d54-0x3a1);}this['off'](EventType['drawAddPoint'],this[_0x423fe1(0xcc5,0x10bc)],this),this['off'](EventType[_0x54337d(_0x468e4a._0xbc05e4,0xaf4)],this['_drawMouseMoveHandler'],this),this['off'](EventType['drawRemovePoint'],this['_drawRemovePointHandler'],this),this[_0x54337d(0x1007,0x76c)](EventType[_0x54337d(_0x468e4a._0x5a36b0,0x1383)],this['_drawCreatedHandler'],this),this[_0x54337d(_0x468e4a._0x12f57c,0x76c)](EventType['editMovePoint'],this['_drawMouseMoveHandler'],this),this['off'](EventType[_0x54337d(0x102d,0x605)],this[_0x54337d(0xded,_0x468e4a._0x341e9d)],this),this[_0x423fe1(_0x468e4a._0x3c6bd0,-_0x468e4a._0x1207be)](EventType['editMouseMove'],this['_drawMouseMoveHandler'],this);function _0x423fe1(_0xfa8337,_0x9e49fe){return _0x306755(_0x9e49fe,_0xfa8337- -_0x2164fd._0x2ce916);}Cesium__namespace['defined'](this['_measureLable'])&&(this[_0x54337d(0x12be,0xa24)](this[_0x54337d(0x59b,0x462)]),delete this['_measureLable']),super['_removedHook']();}[_0x2b6441(0x1080,0xf14)](_0x525e5c){const _0x5b435d={_0x4135da:0x86a},_0x4d4fd9={_0x34654b:0x220},_0x43b941={};_0x43b941['onlySimpleType']=!![];function _0x52ac48(_0x10b03a,_0x4e3a2f){return _0x2b6441(_0x4e3a2f,_0x10b03a-_0x4d4fd9._0x34654b);}_0x525e5c[_0x52ac48(0x1fb,-_0x5b435d._0x4135da)]=getAttrVal(this['measured'],_0x43b941);}['updateText'](_0x10105d){const _0x34d249={_0x21691f:0x36b,_0x3d5a36:0x3c5,_0x352042:0x8f1,_0x1b760a:0x12c7,_0x17ba86:0x14b,_0x3640b6:0xb78,_0x45ca21:0x16e4,_0x2f501e:0x3d1,_0x12fe46:0x7ff,_0x437d1c:0x1255},_0xfca0cc={_0x557744:0x14d4,_0x5f34a8:0xc0b},_0x171569={_0x4d3c2d:0x21e};_0x10105d&&(this['options'][_0x3d62d3(-_0x34d249._0x21691f,0x594)]=_0x10105d);function _0x71ef33(_0x248668,_0x5de4ca){return _0x306755(_0x248668,_0x5de4ca- -0xe5);}function _0x3d62d3(_0x156478,_0x14ab0f){return _0x306755(_0x156478,_0x14ab0f- -0x56e);}this['_measured'][_0x71ef33(0x1e2e,0x1642)]=this[_0x71ef33(0xc,_0x34d249._0x3d5a36)]['angle']['toFixed'](this[_0x3d62d3(0xc17,0x6ef)][_0x71ef33(0x398,_0x34d249._0x352042)])+'°',this['_measured'][_0x71ef33(0x16e3,_0x34d249._0x1b760a)]=formatDistance(this['_measured']['distance'],{'unit':this['options']['unit'],'getLangText':_0x1ddb5d=>{function _0x59be1d(_0x506cd4,_0x56e6c4){return _0x71ef33(_0x56e6c4,_0x506cd4- -_0x171569._0x4d3c2d);}function _0x18ea52(_0x231e99,_0x3b4e55){return _0x3d62d3(_0x231e99,_0x3b4e55-0x279);}return this[_0x18ea52(0xe18,_0xfca0cc._0x557744)][_0x18ea52(_0xfca0cc._0x5f34a8,0xa78)](_0x1ddb5d);},'decimal':this[_0x71ef33(_0x34d249._0x17ba86,_0x34d249._0x3640b6)]['decimal']}),this[_0x71ef33(-0x499,0x57d)][_0x3d62d3(0x15f2,0x139f)]=this[_0x71ef33(0xcae,_0x34d249._0x45ca21)][_0x3d62d3(_0x34d249._0x2f501e,_0x34d249._0x12fe46)]('_角度')+':'+this['_measured'][_0x71ef33(0x1322,0x1642)]+'\x0a'+this[_0x3d62d3(0xb91,0x125b)][_0x3d62d3(0xcca,0x7ff)]('_距离')+':'+this['_measured'][_0x71ef33(_0x34d249._0x437d1c,0x12c7)];}[_0x2b6441(0x6d9,0xad1)](_0x559df8){function _0x34eec3(_0x277ba4,_0x13724e){return _0x306755(_0x277ba4,_0x13724e-0xec);}this[_0x34eec3(0xbdc,0x12c4)](_0x559df8);}[_0x306755(0xd95,0x888)](_0x31faad){const _0x238dcc={_0x120cb7:0xd9b,_0x45da73:0x439},_0x28b855={_0x20be16:0x2b5};function _0x3aae87(_0x140eee,_0x19ed64){return _0x2b6441(_0x140eee,_0x19ed64-_0x28b855._0x20be16);}function _0x5076af(_0x161de4,_0x2a584d){return _0x306755(_0x161de4,_0x2a584d- -0x229);}this[_0x5076af(_0x238dcc._0x120cb7,0x439)]&&(this[_0x5076af(0x6ba,_0x238dcc._0x45da73)]['show']=![]);}['_drawMouseMoveHandler'](_0x36c6cc){const _0x1c84aa={_0x29b81e:0x1617,_0x492eda:0xa79,_0x5ce4c4:0x2a,_0x359b9c:0x1935,_0x43cabb:0x10ef,_0xa4b924:0x4d3,_0x3ed606:0x5fd};function _0x45ed55(_0x4c1e1d,_0x4aa0fe){return _0x2b6441(_0x4aa0fe,_0x4c1e1d-0xfd);}const _0x14de7b=this['positionsShow'];if(!_0x14de7b||_0x14de7b['length']<0x2){this['_measureLable'][_0x43144c(_0x1c84aa._0x29b81e,0x17f8)]=![];return;}this[_0x45ed55(0x6,-0x66d)][_0x45ed55(_0x1c84aa._0x492eda,0x396)]=Cesium__namespace[_0x45ed55(0x57d,-_0x1c84aa._0x5ce4c4)]['distance'](_0x14de7b[0x0],_0x14de7b[0x1]),this['_measured']['angle']=getAngle(_0x14de7b[0x0],_0x14de7b[0x1],!![]),this[_0x43144c(_0x1c84aa._0x359b9c,0x1e12)](),this['_measureLable'][_0x45ed55(0xd53,0x7dd)]=_0x14de7b[0x1],this[_0x45ed55(0x1be,0x72a)][_0x43144c(_0x1c84aa._0x29b81e,0x200f)]=this[_0x45ed55(_0x1c84aa._0x43cabb,0xdc4)];function _0x43144c(_0x531549,_0x2f1865){return _0x306755(_0x2f1865,_0x531549-0x84);}this['fire'](EventType['change'],{'mtype':this['type'],'value':this[_0x43144c(0x52e,-_0x1c84aa._0xa4b924)]['angle'],'label':this[_0x45ed55(0x6,-_0x1c84aa._0x3ed606)]['angleStr']},!![]);}[_0x306755(0xbe6,0xc5c)](_0x31f7e3){const _0xc60453={_0x3db8d6:0x60b,_0x1a094e:0xa5,_0x1ec013:0x43a,_0x4707e1:0x633},_0x5dbbc6={_0x434a74:0x70};function _0x280c05(_0x936d8a,_0x2a9a36){return _0x2b6441(_0x936d8a,_0x2a9a36-0x52);}function _0x5bb8d1(_0x46d9c0,_0x240730){return _0x306755(_0x240730,_0x46d9c0- -_0x5dbbc6._0x434a74);}this['fire'](EventType['end'],{'mtype':this['type'],'value':this[_0x280c05(-_0xc60453._0x3db8d6,-_0xc60453._0x1a094e)]['angle'],'label':this[_0x5bb8d1(_0xc60453._0x1ec013,-_0xc60453._0x4707e1)]['angleStr']},!![]);}}register$5(_0x306755(0xdd9,0x8f0),AngleMeasure);const _0x17b30f={};_0x17b30f[_0x306755(0xd8e,0xb80)]='PolylineGlow',_0x17b30f[_0x2b6441(-0x2a3,0x409)]=0.1,_0x17b30f['color']=_0x2b6441(0x3df,0x9b),_0x17b30f['width']=0x9;const DEF_STYLE$r=_0x17b30f;class HeightMeasure extends PolylineEntity{constructor(_0x5d8900={}){const _0x777cf5={_0x469d64:0x1178,_0x18d8a0:0xd3d,_0x1a9849:0x6e};function _0x3b5666(_0x50bb21,_0x5103f6){return _0x306755(_0x50bb21,_0x5103f6- -0x520);}function _0x23de93(_0x739d27,_0x3fd5df){return _0x306755(_0x739d27,_0x3fd5df- -0x1a6);}_0x5d8900[_0x3b5666(0x508,0xd3d)]=_0x5d8900[_0x3b5666(_0x777cf5._0x469d64,_0x777cf5._0x18d8a0)]??![],_0x5d8900[_0x3b5666(0x15d7,0x1020)]=0x2,_0x5d8900[_0x3b5666(0x1693,0x12ee)]=_0x5d8900['decimal']??0x2,_0x5d8900[_0x23de93(0x22f,0x6b0)]={...DEF_STYLE$r,..._0x5d8900[_0x3b5666(-_0x777cf5._0x1a9849,0x336)]},super(_0x5d8900),this['_measured']={};}get['measured'](){return this['_measured'];}['_showHook'](_0xf7b1d7){const _0x25b7fb={_0x2c73f3:0x8b4},_0x88b7a9={_0x3cb7bc:0x5ed};function _0x107e28(_0x438cb7,_0x2bb768){return _0x306755(_0x438cb7,_0x2bb768- -_0x88b7a9._0x3cb7bc);}this['_measureLable']&&(this[_0x107e28(-_0x25b7fb._0x2c73f3,0x75)]['show']=_0xf7b1d7);}['_addedHook'](_0x2324ef){const _0x391885={_0x51a329:0x10bd,_0x128f7e:0xf3d,_0x1ee508:0x4a9,_0x4f68ae:0xdce,_0xbf69b9:0x547,_0x47754a:0x1478},_0x24f0b1={_0x280715:0x486};super['_addedHook'](_0x2324ef),this[_0x9ad19d(0x11f1,0xb34)]();function _0x9ad19d(_0x1316b4,_0x16f31a){return _0x2b6441(_0x16f31a,_0x1316b4-0x712);}this['on'](EventType[_0x45c90a(0x826,0xc90)],this['_drawAddPointHandler'],this),this['on'](EventType['drawRemovePoint'],this['_drawRemovePointHandler'],this),this['on'](EventType['drawMouseMove'],this[_0x45c90a(0x1b56,_0x391885._0x51a329)],this),this['once'](EventType['drawCreated'],this[_0x9ad19d(0xdcd,_0x391885._0x128f7e)],this),this['on'](EventType['editMovePoint'],this[_0x45c90a(-0x26d,0x5fd)],this),this['on'](EventType['editRemovePoint'],this[_0x45c90a(_0x391885._0x1ee508,0x5fd)],this),this['on'](EventType['editMouseMove'],this['_editPointHandler'],this);function _0x45c90a(_0x4d9985,_0x548e62){return _0x2b6441(_0x4d9985,_0x548e62-_0x24f0b1._0x280715);}this[_0x9ad19d(_0x391885._0x4f68ae,0x5cb)]['positions']&&(this[_0x45c90a(0xd2f,_0x391885._0xbf69b9)][_0x45c90a(0x1cfc,_0x391885._0x47754a)]=this['show'],this['_editPointHandler']());}['_updatePositionsHook'](){const _0x35a7c1={_0x13ee32:0xf14,_0x185789:0x1043},_0x33fcf5={_0x4a919d:0x113};super['_updatePositionsHook']();function _0x1f94a7(_0x2f3d35,_0x437a5f){return _0x2b6441(_0x437a5f,_0x2f3d35-0x51);}function _0x1bb7f4(_0x275c8f,_0x3a7fa1){return _0x2b6441(_0x275c8f,_0x3a7fa1-_0x33fcf5._0x4a919d);}this['_measureLable'][_0x1bb7f4(_0x35a7c1._0x13ee32,0x1105)]=this[_0x1f94a7(_0x35a7c1._0x185789,0x1699)],this['_editPointHandler']();}['_removedHook'](){const _0x9f9f74={_0x1dfc98:0x7ac,_0x30d7a8:0xba1,_0x24033:0x6d9,_0x29dc45:0x620,_0x3c8bb3:0xff4,_0x444f98:0x7e8,_0x597ab3:0x101c,_0x160814:0x715,_0x1bb135:0xbdc,_0x33d8b6:0x120c},_0x29ed98={_0x32ed75:0x1c0};this[_0x38064a(_0x9f9f74._0x1dfc98,0xcef)](EventType[_0x38064a(0xbeb,0x576)],this[_0x38064a(0xeb2,0x901)],this),this['off'](EventType[_0x3212e6(_0x9f9f74._0x30d7a8,_0x9f9f74._0x24033)],this[_0x38064a(0x1018,0x1aa2)],this);function _0x3212e6(_0x595b65,_0x2e9e02){return _0x306755(_0x2e9e02,_0x595b65- -0x153);}this[_0x3212e6(0x819,_0x9f9f74._0x29dc45)](EventType['drawRemovePoint'],this['_drawRemovePointHandler'],this),this['off'](EventType[_0x38064a(0x13c3,_0x9f9f74._0x3c8bb3)],this[_0x3212e6(0xb09,_0x9f9f74._0x444f98)],this);function _0x38064a(_0xd824c5,_0x14663e){return _0x306755(_0x14663e,_0xd824c5- -_0x29ed98._0x32ed75);}this[_0x3212e6(0x819,0x12c8)](EventType[_0x38064a(_0x9f9f74._0x597ab3,0xbea)],this['_editPointHandler'],this),this[_0x3212e6(0x819,_0x9f9f74._0x160814)](EventType['editRemovePoint'],this['_editPointHandler'],this),this[_0x38064a(0x7ac,0xac3)](EventType[_0x3212e6(_0x9f9f74._0x1bb135,_0x9f9f74._0x33d8b6)],this['_editPointHandler'],this),this['_removeMeasureLabelAndEx'](),super[_0x38064a(0xc6b,0x404)]();}['_toJSON_Ex'](_0x29388d){const _0x57ea68={_0x304855:0x1244,_0x36bca1:0x41e},_0x30509d={_0x26d853:0x15e};function _0xfad7a2(_0xeb3605,_0x40b678){return _0x306755(_0xeb3605,_0x40b678- -0x1be);}function _0x3506be(_0x465323,_0x206565){return _0x306755(_0x465323,_0x206565- -_0x30509d._0x26d853);}const _0x2771fc={};_0x2771fc[_0x3506be(_0x57ea68._0x304855,0x9bf)]=!![],_0x29388d[_0x3506be(0x9be,_0x57ea68._0x36bca1)]=getAttrVal(this['measured'],_0x2771fc);}[_0x306755(0xff6,0x1080)](){const _0x5de194={_0x589a59:0x4b4,_0xc6c3fd:0x42c,_0x246f42:0x1216,_0x4b1fd7:0x12c8},_0x3b170d={_0x128c82:0x3f3};var _0x3d5038;this[_0x181aab(_0x5de194._0x589a59,-0x23e)]=this['_createLabel'](this[_0x181aab(0xaaf,_0x5de194._0xc6c3fd)][_0x4ba6ac(0x315,-0x28)]||((_0x3d5038=this[_0x181aab(_0x5de194._0x246f42,_0x5de194._0x4b1fd7)])===null||_0x3d5038===void 0x0||(_0x3d5038=_0x3d5038['options'])===null||_0x3d5038===void 0x0?void 0x0:_0x3d5038['label']));function _0x181aab(_0x4df860,_0x5cc214){return _0x2b6441(_0x5cc214,_0x4df860-_0x3b170d._0x128c82);}function _0x4ba6ac(_0x3df18f,_0x3147fd){return _0x2b6441(_0x3147fd,_0x3df18f-0x4b);}this['_measureLable'][_0x4ba6ac(0x103d,0x957)]=![];}['_removeMeasureLabelAndEx'](){const _0x26b537={_0x1ac914:0x9b0,_0x160864:0x12a5,_0x208506:0x155},_0x41fcc2={_0x1cfcb0:0x3c9};function _0x45594f(_0x4e8f91,_0x57e558){return _0x306755(_0x57e558,_0x4e8f91- -_0x41fcc2._0x1cfcb0);}function _0x23d53a(_0xd9ec,_0x568997){return _0x306755(_0xd9ec,_0x568997- -0x50d);}Cesium__namespace[_0x23d53a(_0x26b537._0x1ac914,_0x26b537._0x160864)](this['_measureLable'])&&(this['_removeLabel'](this['_measureLable']),delete this[_0x23d53a(-0x22c,_0x26b537._0x208506)]);}['updateText'](_0xf1190){const _0x48e01e={_0x230038:0x7ce,_0x34e407:0x947,_0x52b1b0:0x120f,_0x34a86c:0x7ce,_0x391b59:0x134b,_0x24c350:0xe76,_0x29f713:0x11f1,_0x43f6a5:0xd41,_0x4b5afa:0x8de};function _0x547566(_0x309f58,_0x19383d){return _0x2b6441(_0x19383d,_0x309f58- -0x21);}_0xf1190&&(this[_0x1aff8d(0x57b,_0x48e01e._0x230038)]['unit']=_0xf1190);this[_0x1aff8d(0x79e,0x1b)][_0x1aff8d(0xf70,_0x48e01e._0x34e407)]=formatDistance(this['_measured']['height'],{'unit':this[_0x1aff8d(_0x48e01e._0x52b1b0,_0x48e01e._0x34a86c)]['unit'],'getLangText':_0x5804f7=>{return this['_map']['getLangText'](_0x5804f7);},'decimal':this['options']['decimal']});function _0x1aff8d(_0x137274,_0x55e508){return _0x2b6441(_0x137274,_0x55e508-0x112);}this['_measureLable'][_0x547566(_0x48e01e._0x391b59,0x1cde)]=this['_map']['getLangText'](_0x1aff8d(-0x3c0,0x3be))+':'+this[_0x547566(-0x118,0x7ae)][_0x547566(0x814,0x3a0)],Cesium__namespace['defined'](this[_0x1aff8d(-0x1ed,0x1b)][_0x547566(0x1125,_0x48e01e._0x24c350)])&&(this['_measureLable'][_0x547566(0x134b,_0x48e01e._0x29f713)]+='\x0a'+this['_map'][_0x1aff8d(_0x48e01e._0x43f6a5,_0x48e01e._0x4b5afa)]('_角度')+':'+this['_measured']['angle'][_0x1aff8d(0x1ea4,0x1533)](0x2)+'°');}['_drawAddPointHandler'](_0x32e269){function _0x376047(_0x2d234d,_0x5a1981){return _0x306755(_0x2d234d,_0x5a1981- -0x34c);}this[_0x376047(0x151a,0xe8c)](_0x32e269);}[_0x2b6441(-0x599,0x2e7)](_0x545591){const _0x45a33a={_0x3aa4d8:0x7dc};function _0x796c02(_0xf05ae,_0x40dbeb){return _0x2b6441(_0xf05ae,_0x40dbeb-0x117);}this['_measureLable']&&(this[_0x796c02(-_0x45a33a._0x3aa4d8,0x1d8)]['show']=![]);}['_drawMouseMoveHandler'](_0xc7d66f){const _0x309855={_0x4bc9d8:0x72,_0x35ab40:0x687,_0x3ba9fb:0x38e,_0x33f147:0x334,_0x2d0c65:0xad6,_0x1cf3c7:0x7a8,_0x366c73:0x394,_0x3915c4:0xb,_0x58f2ed:0x1345,_0x300fea:0x2252,_0x1f1cb3:0x1795,_0x46b56d:0x1be9,_0x1f4c76:0x11ae},_0x53173a={_0x14d15d:0xec},_0x32ded7=this['positionsShow'];if(!_0x32ded7||_0x32ded7['length']<0x2){this['_measureLable']['show']=![];return;}const _0x2b3ba6=Cesium__namespace[_0xe09f9d(_0x309855._0x4bc9d8,0x454)]['fromCartesian'](_0x32ded7[0x0]),_0x1f2c0b=Cesium__namespace[_0xe09f9d(_0x309855._0x35ab40,0x454)]['fromCartesian'](_0x32ded7[0x1]);function _0xe09f9d(_0x56364a,_0x47068c){return _0x2b6441(_0x56364a,_0x47068c-_0x53173a._0x14d15d);}this[_0x3ffef0(-0xf2,_0x309855._0x3ba9fb)][_0x3ffef0(_0x309855._0x33f147,_0x309855._0x2d0c65)]=this['_map']['getRealAlt'](_0x1f2c0b[_0x3ffef0(0x3b7,0xad6)]-_0x2b3ba6['height']);this[_0xe09f9d(0xe0a,_0x309855._0x1cf3c7)][_0xe09f9d(0x2cd,0xb07)]&&(this[_0xe09f9d(_0x309855._0x366c73,-_0x309855._0x3915c4)]['height']=Math[_0x3ffef0(0x165b,_0x309855._0x58f2ed)](this['_measured'][_0x3ffef0(0xc62,0xad6)]));function _0x3ffef0(_0x5b8b61,_0x352413){return _0x2b6441(_0x5b8b61,_0x352413-0x485);}this[_0x3ffef0(_0x309855._0x300fea,_0x309855._0x1f1cb3)](),this['_measureLable']['position']=Cesium__namespace['Cartesian3']['midpoint'](_0x32ded7[0x0],_0x32ded7[0x1],new Cesium__namespace[(_0xe09f9d(0x101c,0x56c))]()),this['_measureLable']['show']=this[_0x3ffef0(0xef2,0x1477)],this['fire'](EventType[_0x3ffef0(0x145f,0xcd2)],{'mtype':this[_0xe09f9d(_0x309855._0x46b56d,_0x309855._0x1f4c76)],'value':this[_0x3ffef0(0x5ec,0x38e)]['height'],'label':this['_measured'][_0xe09f9d(0x394,0x921)]},!![]);}['_drawCreatedHandler'](_0x52ad6b){const _0x5eb835={_0x405d42:0x1607,_0x1a3d2b:0x129a,_0x3c8229:0xb75,_0x2093f8:0xc1f};function _0x2c4eb2(_0x1df564,_0x59a58f){return _0x2b6441(_0x1df564,_0x59a58f-0x1d8);}function _0x226aea(_0x10ea53,_0x36afd4){return _0x2b6441(_0x36afd4,_0x10ea53-0x524);}this[_0x226aea(0x80c,0x1250)](EventType['end'],{'mtype':this[_0x2c4eb2(_0x5eb835._0x405d42,_0x5eb835._0x1a3d2b)],'value':this[_0x226aea(0x42d,0x3f0)][_0x226aea(_0x5eb835._0x3c8229,_0x5eb835._0x2093f8)],'label':this['_measured'][_0x2c4eb2(0x35c,0xa0d)]},!![]);}['_editPointHandler'](_0x1d6aa8){this['_drawMouseMoveHandler'](_0x1d6aa8);}}register$5('heightMeasure',HeightMeasure);class HeightTriangleMeasure extends HeightMeasure{['_showHook'](_0x2097b3){const _0x32caed={_0x4fe0ae:0x70e,_0xf027c2:0x15ec,_0x18791a:0x14c5,_0xa51879:0xb93,_0x46ca09:0x15ec};function _0x284b9c(_0x27c816,_0x4f8a1a){return _0x306755(_0x4f8a1a,_0x27c816-0x59);}function _0x36c5e3(_0x423bf0,_0x3eab4a){return _0x2b6441(_0x423bf0,_0x3eab4a-0x277);}this['_measureLable']&&(this[_0x36c5e3(-_0x32caed._0x4fe0ae,0x338)][_0x284b9c(_0x32caed._0xf027c2,0x1f6d)]=_0x2097b3),this[_0x36c5e3(0x149c,_0x32caed._0x18791a)]&&(this['_measureDistanceLable']['show']=_0x2097b3),this['_measureHorLable']&&(this['_measureHorLable'][_0x284b9c(_0x32caed._0xf027c2,_0x32caed._0xa51879)]=_0x2097b3),this['_measureExLine']&&(this['_measureExLine'][_0x284b9c(_0x32caed._0x46ca09,0x1f34)]=_0x2097b3);}['_initMeasureLable'](){const _0x4c6715={_0x4a475e:0x127a,_0x2f0ec4:0xaf9,_0x5a1b41:0x707,_0x145f2f:0xe58,_0x1f020b:0x16bb,_0x19b124:0x9d3,_0x1022dd:0x127a,_0x49c54a:0xe07,_0x21ed8c:0x1147,_0x5206f7:0x20ec},_0x5f268a={_0x3de89f:0x43d};var _0x3fd9e6,_0x174ec0;super['_initMeasureLable'](),this['_measureDistanceLable']=this[_0x30b69b(0x130b,_0x4c6715._0x4a475e)](this[_0x30b69b(0xbe5,_0x4c6715._0x2f0ec4)][_0x30b69b(0x11b7,_0x4c6715._0x5a1b41)]||((_0x3fd9e6=this['_layer'])===null||_0x3fd9e6===void 0x0||(_0x3fd9e6=_0x3fd9e6['options'])===null||_0x3fd9e6===void 0x0?void 0x0:_0x3fd9e6['label'])),this[_0x546627(_0x4c6715._0x145f2f,0x15fc)][_0x546627(_0x4c6715._0x1f020b,0x177a)]=new Cesium__namespace[(_0x546627(0x11,0x2f9))](0x0,0x0),this[_0x30b69b(_0x4c6715._0x19b124,0xb2a)]=this[_0x30b69b(0xbb4,_0x4c6715._0x1022dd)](this[_0x30b69b(_0x4c6715._0x49c54a,0xaf9)]['label']||((_0x174ec0=this[_0x546627(_0x4c6715._0x21ed8c,0x11d1)])===null||_0x174ec0===void 0x0||(_0x174ec0=_0x174ec0[_0x546627(0x10cf,0xa6a)])===null||_0x174ec0===void 0x0?void 0x0:_0x174ec0[_0x546627(0x460,0x678)]));function _0x30b69b(_0x2b22fb,_0x31dcf8){return _0x2b6441(_0x2b22fb,_0x31dcf8-_0x5f268a._0x3de89f);}function _0x546627(_0x3a8325,_0x501d7c){return _0x306755(_0x3a8325,_0x501d7c- -0x1f3);}this['_measureHorLable'][_0x546627(_0x4c6715._0x5206f7,0x177a)]=new Cesium__namespace['Cartesian2'](0x0,0x0);}[_0x306755(0x86e,0xb3c)](){const _0x49baf5={_0x17a742:0x509,_0x2619a3:0x87,_0x26027f:0x656,_0x5daad2:0xf88,_0x7e80bd:0x11e6,_0x18745a:0x384,_0x4dbe52:0xa7f,_0x3fc02d:0xf88};super[_0x2a6c5f(_0x49baf5._0x17a742,0x504)]();function _0x55d28e(_0x1197cf,_0x18c962){return _0x2b6441(_0x1197cf,_0x18c962-0x3e4);}function _0x2a6c5f(_0xfbea37,_0x533e75){return _0x306755(_0xfbea37,_0x533e75- -0x638);}this[_0x2a6c5f(0xddf,0x11b7)]!=null&&(this[_0x2a6c5f(0x999,0x5ec)](this['_measureDistanceLable']),delete this['_measureDistanceLable']),this['_measureHorLable']!=null&&(this['_removeLabel'](this[_0x2a6c5f(0xc06,0x656)]),delete this[_0x2a6c5f(-_0x49baf5._0x2619a3,_0x49baf5._0x26027f)]),this[_0x2a6c5f(0x130e,_0x49baf5._0x5daad2)]!=null&&(this['dataSource'][_0x55d28e(_0x49baf5._0x7e80bd,0xaab)][_0x2a6c5f(0x33a,_0x49baf5._0x18745a)](this['_measureExLine']),delete this[_0x2a6c5f(_0x49baf5._0x4dbe52,_0x49baf5._0x3fc02d)]);}[_0x306755(0x16c7,0x18b1)](_0x1926d0){const _0x3f866e={_0x19a9ef:0x11ca,_0x3a2169:0xf48,_0x504e52:0x334,_0x42f818:0x4e2,_0x293c95:0x1653,_0x2b58df:0xf69,_0x4d8966:0x1337};super['updateText'](_0x1926d0);function _0x5ea900(_0x7b7838,_0x352c29){return _0x306755(_0x352c29,_0x7b7838- -0x176);}const _0x55d977={'unit':this['options']['unit'],'getLangText':_0x10cd57=>{return this['_map']['getLangText'](_0x10cd57);},'decimal':this['options']['decimal']};this['_measured'][_0x171dbc(_0x3f866e._0x19a9ef,_0x3f866e._0x3a2169)]=formatDistance(this[_0x5ea900(_0x3f866e._0x504e52,0x277)]['distance'],_0x55d977),this[_0x5ea900(0x1679,0xd14)]['text']=this['_map']['getLangText']('_空间距离')+':'+this[_0x5ea900(_0x3f866e._0x504e52,-_0x3f866e._0x42f818)]['distanceStr'];function _0x171dbc(_0x58c77d,_0xf432c){return _0x2b6441(_0x58c77d,_0xf432c-0x13d);}this[_0x171dbc(-0x80a,0x46)][_0x5ea900(0xe8b,0xb1e)]=formatDistance(this['_measured']['distanceHor'],_0x55d977),this[_0x171dbc(0x64d,0x82a)]['text']=this[_0x5ea900(_0x3f866e._0x293c95,_0x3f866e._0x2b58df)]['getLangText'](_0x5ea900(_0x3f866e._0x4d8966,0x18a1))+':'+this[_0x5ea900(0x334,0xd3a)]['distanceHorStr'];}[_0x306755(0xfcd,0x888)](_0x5bb12c){const _0x4a9b36={_0xb58728:0x556,_0x46e795:0x1487,_0x4639c4:0x152c},_0x4c5624={_0x4fd9b6:0x50d};function _0x200c3d(_0x138693,_0x3acfe7){return _0x2b6441(_0x138693,_0x3acfe7-_0x4c5624._0x4fd9b6);}this['_measureLable']&&(this[_0x316d90(_0x4a9b36._0xb58728,0xf94)][_0x316d90(_0x4a9b36._0x46e795,0x165a)]=![]);this['_measureHorLable']&&(this['_measureHorLable']['show']=![]);function _0x316d90(_0x41d7c7,_0x2719a9){return _0x2b6441(_0x2719a9,_0x41d7c7-0x495);}this['_measureDistanceLable']&&(this[_0x200c3d(0x1a1b,0x175b)]['show']=![]),this[_0x200c3d(0xcba,_0x4a9b36._0x4639c4)]&&(this[_0x316d90(0xbb9,0xf3d)]=null);}['_drawMouseMoveHandler'](_0x28d874){const _0x4ae66c={_0x5193a6:0xfae,_0x39b782:0x851,_0x4caccc:0xa78,_0x5b557a:0x8cb,_0xfd020d:0x5a5,_0x473ae8:0x8e6,_0x38374f:0x1a3,_0x3ce7d1:0x59,_0x574c40:0x844,_0x25a4c1:0x362,_0x2fb56a:0xb6a,_0x55d4f6:0x743,_0x54350c:0x386,_0x371ba8:0x1116,_0x39d1bb:0x109a,_0x2410f9:0x1ae7,_0x5a2ee8:0x160e},_0x31cadf=this['positionsShow'];if(!_0x31cadf||_0x31cadf[_0x15bedd(0xc70,_0x4ae66c._0x5193a6)]<0x2){this['_measureLable']['show']=![];return;}const _0x1ea4fc=Cesium__namespace['Cartographic'][_0x36c18c(0x62,0x8cb)](_0x31cadf[0x0]),_0x4f721f=_0x1ea4fc[_0x15bedd(_0x4ae66c._0x39b782,0x5a5)],_0x55bd9b=Cesium__namespace['Cartographic'][_0x36c18c(_0x4ae66c._0x4caccc,_0x4ae66c._0x5b557a)](_0x31cadf[0x1]),_0x30fb20=_0x55bd9b[_0x15bedd(0x749,_0x4ae66c._0xfd020d)];let _0x3c261b,_0x365111,_0x160b11;_0x4f721f>_0x30fb20?(_0x365111=Cesium__namespace['Cartesian3']['fromRadians'](_0x55bd9b['longitude'],_0x55bd9b[_0x36c18c(0x112d,0xeaf)],_0x4f721f),_0x160b11=_0x31cadf[0x0],_0x3c261b=_0x31cadf[0x1]):(_0x365111=Cesium__namespace[_0x15bedd(0xddf,0x3d4)]['fromRadians'](_0x1ea4fc[_0x15bedd(_0x4ae66c._0x473ae8,0xafd)],_0x1ea4fc['latitude'],_0x30fb20),_0x160b11=_0x31cadf[0x1],_0x3c261b=_0x31cadf[0x0]);this[_0x15bedd(0x2e4,-_0x4ae66c._0x38374f)][_0x15bedd(0x4a0,_0x4ae66c._0xfd020d)]=this['_map']['getRealAlt'](Math['abs'](_0x30fb20-_0x4f721f)),this[_0x15bedd(_0x4ae66c._0x3ce7d1,0x15)]['position']=getOnLinePointByRatio(_0x365111,_0x3c261b,0.5),this[_0x36c18c(_0x4ae66c._0x574c40,0x53e)]['show']=this[_0x36c18c(0x17c1,0x146f)],this[_0x15bedd(0x352,-0x1a3)]['distance']=Cesium__namespace['Cartesian3']['distance'](_0x160b11,_0x3c261b),this[_0x15bedd(0x11f8,0x11a2)]['position']=getOnLinePointByRatio(_0x160b11,_0x3c261b,0.4),this[_0x15bedd(0x1739,0x11a2)]['show']=this['show'],this[_0x15bedd(_0x4ae66c._0x25a4c1,-0x1a3)]['distanceHor']=Cesium__namespace['Cartesian3']['distance'](_0x160b11,_0x365111);function _0x36c18c(_0x5b667b,_0x2da867){return _0x306755(_0x5b667b,_0x2da867- -0x124);}this[_0x36c18c(0xdc7,_0x4ae66c._0x2fb56a)]['position']=getOnLinePointByRatio(_0x160b11,_0x365111,0.6),this['_measureHorLable']['show']=this['show'];const _0x4229d0=Math[_0x36c18c(0x653,0x100b)](this['_measured']['height']/this[_0x36c18c(_0x4ae66c._0x55d4f6,_0x4ae66c._0x54350c)]['distance']*0x64)/0x64,_0xedac81=Math[_0x36c18c(0x151c,_0x4ae66c._0x371ba8)](_0x4229d0)/Math['PI']*0xb4;this['_measured'][_0x15bedd(0x1234,_0x4ae66c._0x39d1bb)]=_0xedac81,this[_0x36c18c(_0x4ae66c._0x2410f9,0x178d)](),this['updateExLine']([_0x3c261b,_0x365111,_0x160b11]);function _0x15bedd(_0x2133bd,_0x588184){return _0x2b6441(_0x2133bd,_0x588184- -0xac);}this['fire'](EventType[_0x36c18c(_0x4ae66c._0x5a2ee8,0xcca)],{'mtype':this['type'],'value':this['_measured']['height'],'label':this['_measured']['heightStr']},!![]);}['updateExLine'](_0x548152){const _0x51e8df={_0x2181df:0x69e},_0x18167b={_0x406db1:0x51c},_0x21cb7c={_0x209343:0x5ca};function _0x45b2c8(_0x2b0329,_0x2d731c){return _0x306755(_0x2b0329,_0x2d731c- -_0x21cb7c._0x209343);}function _0x3b01f6(_0x1cc78b,_0x39226e){return _0x2b6441(_0x39226e,_0x1cc78b-_0x18167b._0x406db1);}this['_measureExLine_positions']=_0x548152;if(!this['_measureExLine']){const _0x22ca9d={'id':this['id']+'-ex','polyline':PolylineStyleConver['toCesiumVal'](this[_0x45b2c8(0x34a,0x693)][_0x45b2c8(0x191,0x28c)],{},!![])};_0x22ca9d['polyline']['positions']=new Cesium__namespace[(_0x3b01f6(0x9ca,0x83c))](_0x69e1d3=>{return this['_measureExLine_positions'];},![]),this['_measureExLine']=this['_createEntity'](_0x22ca9d),this['dataSource'][_0x45b2c8(0xe23,_0x51e8df._0x2181df)]['add'](this['_measureExLine']),this['bindPickId'](this['_measureExLine']);}}[_0x2b6441(-0x24e,0x177)](_0x5356d4){function _0x464bb7(_0x288fbb,_0x5bc476){return _0x306755(_0x288fbb,_0x5bc476- -0x4f);}this[_0x464bb7(0x14b4,0x1189)](_0x5356d4);}}register$5('heightTriangleMeasure',HeightTriangleMeasure);const _0x7bd6a9={};_0x7bd6a9['color']=_0x2b6441(0x1460,0x137f),_0x7bd6a9[_0x306755(0xffe,0xb49)]=0.4,_0x7bd6a9[_0x2b6441(0x15d0,0x13c9)]=!![],_0x7bd6a9[_0x2b6441(0x5b6,0x7fa)]=_0x306755(0x76a,0x574),_0x7bd6a9['outlineWidth']=0x2,_0x7bd6a9['clampToGround']=![];const DEF_STYLE$q=_0x7bd6a9;class AreaMeasure extends PolygonEntity{constructor(_0x5995ca={}){const _0x2e00a0={_0x12a3d1:0x1c18,_0x1c9127:0x13ab,_0x3d57aa:0x99c,_0x5d873b:0x1087},_0x20f0fc={_0x1b5832:0x6ef};_0x5995ca['hasMoveEdit']=_0x5995ca[_0x4b5c75(_0x2e00a0._0x12a3d1,_0x2e00a0._0x1c9127)]??![],_0x5995ca['decimal']=_0x5995ca['decimal']??0x2,_0x5995ca[_0x3c0c1a(0x50f,0xdab)]={...DEF_STYLE$q,..._0x5995ca[_0x3c0c1a(0x50f,0x184)]};_0x5995ca[_0x4b5c75(0xbb5,0x9b9)]&&(_0x5995ca['label']={'horizontalOrigin':Cesium__namespace[_0x4b5c75(0x397,0x6ba)][_0x4b5c75(_0x2e00a0._0x3d57aa,_0x2e00a0._0x5d873b)],..._0x5995ca['label']});super(_0x5995ca);function _0x3c0c1a(_0x389ac0,_0x13d2f0){return _0x306755(_0x13d2f0,_0x389ac0- -0x347);}function _0x4b5c75(_0x2a7041,_0x3f0856){return _0x2b6441(_0x2a7041,_0x3f0856-_0x20f0fc._0x1b5832);}this['_measured']={};}get['measured'](){const _0x14c8da={_0x17d42d:0x218},_0x282e67={_0x399341:0x292};function _0x13aa2b(_0x5db576,_0xe3a366){return _0x306755(_0x5db576,_0xe3a366- -_0x282e67._0x399341);}return this[_0x13aa2b(0x7cd,_0x14c8da._0x17d42d)];}[_0x2b6441(0x695,0xa2)](_0x3f0b7d){this['_measureLable']&&(this['_measureLable']['show']=_0x3f0b7d);}['_addedHook'](_0x4540a6){const _0x2e58be={_0x155e0a:0xde4,_0x3315c3:0xd4a,_0x5d683c:0xfef,_0x5c9afb:0xdc1,_0x20c645:0x1235},_0x2adbd1={_0x273911:0x3f1};var _0xf062f1;function _0x441533(_0x227332,_0x3872cb){return _0x2b6441(_0x3872cb,_0x227332-0x243);}super['_addedHook'](_0x4540a6),this['_measureLable']=this['_createLabel'](this['options'][_0x24b2c1(0x47a,_0x2e58be._0x155e0a)]||((_0xf062f1=this['_layer'])===null||_0xf062f1===void 0x0||(_0xf062f1=_0xf062f1['options'])===null||_0xf062f1===void 0x0?void 0x0:_0xf062f1[_0x24b2c1(0x47a,_0x2e58be._0x3315c3)])),this['_measureLable']['show']=![];function _0x24b2c1(_0x5c9f24,_0x356aa9){return _0x306755(_0x356aa9,_0x5c9f24- -_0x2adbd1._0x273911);}this['on'](EventType[_0x24b2c1(0x9ba,0xd7e)],this['_drawAddPointHandler'],this),this['on'](EventType[_0x441533(0xf3c,_0x2e58be._0x5d683c)],this['_drawRemovePointHandler'],this),this['on'](EventType['drawMouseMove'],this['_drawMouseMoveHandler'],this),this['once'](EventType[_0x441533(0x1225,_0x2e58be._0x5c9afb)],this['_drawCreatedHandler'],this),this['on'](EventType['editMovePoint'],this[_0x441533(0x3ba,0x998)],this),this['on'](EventType['editMouseMove'],this['_editPointHandler'],this),this['on'](EventType['editRemovePoint'],this['_editPointHandler'],this),this['options']['positions']&&(this['_measureLable'][_0x441533(_0x2e58be._0x20c645,0x121a)]=this[_0x441533(0x1235,0x912)],this['_editPointHandler']());}['_updatePositionsHook'](){const _0x306a77={_0x395504:0x8b,_0x328df0:0xe69},_0x463dae={_0x526c73:0x325};function _0x5254ae(_0x36d16e,_0x15aaa7){return _0x306755(_0x36d16e,_0x15aaa7- -0xd0);}function _0xfcd72c(_0x262b54,_0xb30f75){return _0x306755(_0xb30f75,_0x262b54- -_0x463dae._0x526c73);}super[_0xfcd72c(0x646,-_0x306a77._0x395504)](),this['_measureLable']&&(this['_measureLable'][_0xfcd72c(0x126e,0xc4f)]=this[_0xfcd72c(0x126e,_0x306a77._0x328df0)],this['_editPointHandler']());}[_0x306755(0x1623,0xe2b)](){const _0x39369e={_0x1c04e6:0xe82,_0x43c2d9:0x15be,_0x5271c9:0xfe8,_0x47d6bf:0x9e6,_0x21607d:0x53e,_0x21d1bc:0x912,_0x440410:0x9b2,_0x3679d7:0x535,_0x5275d7:0xdcb};this['off'](EventType['drawAddPoint'],this[_0x56c8ad(0x689,_0x39369e._0x1c04e6)],this),this['off'](EventType['drawMouseMove'],this[_0x56c8ad(_0x39369e._0x43c2d9,_0x39369e._0x5271c9)],this),this['off'](EventType[_0x56c8ad(0x1117,0x10aa)],this[_0x425a40(_0x39369e._0x47d6bf,_0x39369e._0x21607d)],this),this['off'](EventType['drawCreated'],this[_0x425a40(0xee9,_0x39369e._0x21d1bc)],this);function _0x425a40(_0x27d4e7,_0x212a4c){return _0x306755(_0x27d4e7,_0x212a4c- -0x34a);}this['off'](EventType[_0x56c8ad(_0x39369e._0x440410,0xb3f)],this['_editPointHandler'],this),this[_0x56c8ad(_0x39369e._0x3679d7,0x77c)](EventType['editMovePoint'],this[_0x56c8ad(_0x39369e._0x5275d7,0x528)],this),this['off'](EventType[_0x425a40(0xd5,0x4bb)],this['_editPointHandler'],this),this['_removeMeasureLabelAndEx']();function _0x56c8ad(_0x422df7,_0x47884f){return _0x306755(_0x422df7,_0x47884f- -0x1f0);}super['_removedHook']();}['_toJSON_Ex'](_0x1fc550){const _0x310670={_0x433def:0xd6e},_0x52a76f={};_0x52a76f['onlySimpleType']=!![],_0x52a76f[_0x50e9bc(0x1740,_0x310670._0x433def)]=!![];function _0x50e9bc(_0x1c1098,_0x41ca00){return _0x2b6441(_0x1c1098,_0x41ca00-0x69);}_0x1fc550['measured']=getAttrVal(this['measured'],_0x52a76f);}['_removeMeasureLabelAndEx'](){const _0x453d75={_0x45b047:0x28a},_0x29dceb={_0x663dda:0x2bd};function _0x46a95f(_0x43d562,_0x4022b8){return _0x2b6441(_0x4022b8,_0x43d562-_0x29dceb._0x663dda);}function _0x140829(_0x3d8bce,_0x26ba06){return _0x2b6441(_0x3d8bce,_0x26ba06-0x6);}Cesium__namespace[_0x46a95f(0x14ce,0x1719)](this[_0x46a95f(0x37e,-_0x453d75._0x45b047)])&&(this['_removeLabel'](this['_measureLable']),delete this['_measureLable']);}['updateText'](_0x43a9b3){const _0x349151={_0x579c5c:0x12d,_0x4ce344:0x323,_0x141a17:0x727,_0x1f03fc:0x8b2,_0x3b80cd:0x14b0,_0x2f1f76:0xa28,_0x38a3a8:0x1463,_0x341aa6:0x2b7,_0x3d05e8:0xb7,_0x5870bc:0xc9d,_0x5528f8:0x3d0},_0x31f169={_0xc941ae:0x3ab},_0x500d02={_0xf8e0a7:0xa66,_0x521f56:0xb27};_0x43a9b3&&(this[_0x4addd7(0x8b2,-_0x349151._0x579c5c)]['unit']=_0x43a9b3);this['_measured']['areaStr']=formatArea(this['_measured'][_0x4addd7(_0x349151._0x4ce344,_0x349151._0x141a17)],{'unit':this[_0x4addd7(_0x349151._0x1f03fc,0xaf4)][_0x31710a(_0x349151._0x3b80cd,_0x349151._0x2f1f76)],'getLangText':_0x873113=>{function _0x554961(_0x3490ec,_0x2457e3){return _0x4addd7(_0x2457e3-0x165,_0x3490ec);}return this['_map'][_0x554961(_0x500d02._0xf8e0a7,_0x500d02._0x521f56)](_0x873113);},'decimal':this['options'][_0x4addd7(_0x349151._0x38a3a8,0x1eb5)]});function _0x31710a(_0x26a2f1,_0x23af31){return _0x2b6441(_0x26a2f1,_0x23af31-0x4c7);}function _0x4addd7(_0x4bca86,_0x1d87ab){return _0x306755(_0x1d87ab,_0x4bca86- -_0x31f169._0xc941ae);}this[_0x4addd7(_0x349151._0x341aa6,_0x349151._0x3d05e8)]['text']=this['_map'][_0x4addd7(0x9c2,_0x349151._0x5870bc)]('_面积')+':'+this[_0x31710a(0x449,_0x349151._0x5528f8)]['areaStr'];}['startDraw'](_0x331bc4){const _0x2dbd45={_0x387c05:0x122f,_0x1d8f58:0x1545};function _0x580dd5(_0x58e54d,_0x478adf){return _0x306755(_0x478adf,_0x58e54d- -0x63);}var _0x4bd54d;super['startDraw'](_0x331bc4),this[_0x2c4190(_0x2dbd45._0x387c05,_0x2dbd45._0x1d8f58)]();function _0x2c4190(_0x3fb68b,_0x253e04){return _0x2b6441(_0x253e04,_0x3fb68b-0x5f8);}((_0x4bd54d=this[_0x580dd5(0xbfa,0x394)]['positions'])===null||_0x4bd54d===void 0x0?void 0x0:_0x4bd54d[_0x580dd5(0x1598,0xd47)])>0x2&&this['stopDraw']();}['_drawAddPointHandler'](_0x9bbaf){this['_drawMouseMoveHandler'](_0x9bbaf);}[_0x306755(0x14f,0x888)](_0x359215){const _0x4df8e8={_0x4a874e:0x3f8},_0x730f0e={_0x143a0f:0x198},_0x35bcfa=this['positionsShow'];function _0x220315(_0x3b4109,_0x48b260){return _0x2b6441(_0x3b4109,_0x48b260-_0x730f0e._0x143a0f);}(_0x35bcfa===null||_0x35bcfa===void 0x0?void 0x0:_0x35bcfa['length'])<0x3&&(this[_0x220315(_0x4df8e8._0x4a874e,0x259)]['show']=![]);}['_drawMouseMoveHandler'](_0x5e5c0d){const _0x21762c={_0x2d5145:0xe85,_0x55c0f2:0x9bc,_0x5159ff:0x370,_0x3874ae:0xeb2,_0x17cd47:0x25c,_0x41bbcb:0x12c3,_0x4f6042:0x165f,_0x41e52c:0x1401,_0x3a00c7:0x1f2a,_0x54b3f8:0x1459,_0x318fc1:0x620},_0x512509={_0x4920da:0x13a},_0x5705b5={_0x122bc7:0x66d},_0x4d86fd=this['positionsShow'];if(_0x4d86fd[_0x105cad(0x16c7,_0x21762c._0x2d5145)]<0x3){this['_measureLable']&&(this[_0x105cad(0x72e,0xf6a)]['show']=![]);return;}function _0x105cad(_0x4c619d,_0x48ba06){return _0x2b6441(_0x48ba06,_0x4c619d-_0x5705b5._0x122bc7);}this[_0x211cbe(_0x21762c._0x55c0f2,_0x21762c._0x5159ff)][_0x211cbe(0x119,0x594)]=getArea(_0x4d86fd),this[_0x105cad(0x197d,_0x21762c._0x3874ae)]();function _0x211cbe(_0x5e60b5,_0x30b887){return _0x306755(_0x5e60b5,_0x30b887- -_0x512509._0x4920da);}const _0x3a8e8c=centerOfMass(_0x4d86fd);this[_0x211cbe(-_0x21762c._0x17cd47,0x528)][_0x105cad(_0x21762c._0x41bbcb,0x1618)]=_0x3a8e8c,this['_measureLable'][_0x105cad(_0x21762c._0x4f6042,_0x21762c._0x41e52c)]=this[_0x211cbe(_0x21762c._0x3a00c7,_0x21762c._0x54b3f8)],this['fire'](EventType[_0x211cbe(0x10e8,0xcb4)],{'mtype':this['type'],'value':this[_0x105cad(0x576,_0x21762c._0x318fc1)][_0x105cad(0x79a,0xc20)],'label':this[_0x105cad(0x576,0xd28)]['areaStr']},!![]);}['_drawCreatedHandler'](_0xec5a9b){const _0x15c7b3={_0x4c05ad:0x555,_0x366ace:0x74,_0x2ecde1:0x859,_0x44d352:0x123,_0x23d602:0xaaa},_0x29eb2b={_0x35bff4:0x387},_0x2fd584={_0x21fc19:0x3f5};function _0x1b091c(_0x21f5ef,_0x126ab0){return _0x306755(_0x21f5ef,_0x126ab0- -_0x2fd584._0x21fc19);}function _0xd5b804(_0x209abe,_0x1f96c8){return _0x306755(_0x209abe,_0x1f96c8- -_0x29eb2b._0x35bff4);}this['fire'](EventType[_0x1b091c(0xb7d,_0x15c7b3._0x4c05ad)],{'mtype':this['type'],'value':this['_measured'][_0xd5b804(_0x15c7b3._0x366ace,0x347)],'label':this[_0xd5b804(-_0x15c7b3._0x2ecde1,_0x15c7b3._0x44d352)][_0xd5b804(_0x15c7b3._0x23d602,0x116b)]},!![]);}[_0x2b6441(-0x7bf,0x177)](_0x5a08b7){const _0x3192de={_0x4772c3:0xe3d},_0xeb7200={_0x38dcac:0x70d};function _0x2b44e7(_0xb18e59,_0x456272){return _0x2b6441(_0x456272,_0xb18e59-_0xeb7200._0x38dcac);}const _0x15a2d6=this[_0x4cf19a(0xa5b,0x970)];if(!_0x15a2d6||_0x15a2d6['length']<0x3)return;function _0x4cf19a(_0x5f1a0c,_0x5aa038){return _0x306755(_0x5f1a0c,_0x5aa038- -0x2df);}this['_measured']['area']=getArea(_0x15a2d6),this['updateText'](),this[_0x4cf19a(0x87d,0x383)]['position']=centerOfMass(_0x15a2d6),this['fire'](EventType['change'],{'mtype':this[_0x4cf19a(_0x3192de._0x4772c3,0x1384)],'value':this['_measured']['area'],'label':this['_measured'][_0x4cf19a(0x1176,0x1213)]},!![]);}}register$5('areaMeasure',AreaMeasure);class AreaSurfaceMeasure extends AreaMeasure{constructor(_0x14246c={}){super(_0x14246c);_0x14246c[_0x455bfc(0x385,0x1a8)]&&(this['_promise']=_0x14246c['_promise'],delete _0x14246c['_promise']);function _0x455bfc(_0x24cf77,_0x769daf){return _0x2b6441(_0x769daf,_0x24cf77-0x25f);}_0x14246c['style']['clampToGround']=!![];}[_0x306755(0x7d1,0xc5c)](_0x57c4f9){const _0x4ed1a0={_0x10c2b7:0x323};function _0x2d8e7e(_0x574878,_0x1d4f1d){return _0x306755(_0x574878,_0x1d4f1d- -0x20a);}this[_0x2d8e7e(0x3f2,_0x4ed1a0._0x10c2b7)](_0x57c4f9);}[_0x2b6441(-0x625,0x177)](_0xf28c08){super['_editPointHandler'](_0xf28c08),this['updateAreaForTerrain'](_0xf28c08);}['updateAreaForTerrain'](_0x3b19c7){const _0x16a615={_0x2ccc3f:0x523,_0x4e1764:0x747,_0x489603:0xfee,_0x5a7eb6:0x87e,_0x448629:0x18a0,_0x3f0cf6:0x14c,_0x5699b1:0x423,_0x24c637:0x925,_0x57ec36:0x603,_0x906c8e:0x61b},_0x5de64d={_0x23c303:0x1252,_0x25e7ef:0x1151,_0x4bd045:0x12f4,_0x3f8385:0x1253,_0x5d31c3:0x1567,_0x5d5037:0x19f,_0x3d3c35:0x628,_0x11125a:0x190d,_0x3eabbc:0x1084,_0x18d3b9:0x11ab,_0x2ed2fb:0x15bd,_0x1fd16b:0x8c7,_0x2d3c3e:0x154e,_0x3d2f21:0x621},_0x572187={_0x3db7f1:0xa1},_0x23cb33=this[_0x24a435(0x1d0,0x60d)];if(!_0x23cb33||_0x23cb33['length']<0x3)return;function _0x24a435(_0x2e5331,_0x585ad4){return _0x2b6441(_0x2e5331,_0x585ad4- -_0x572187._0x3db7f1);}this[_0x129f47(_0x16a615._0x2ccc3f,-0x109)][_0x24a435(0x14f6,0x1335)]=this['_measured'][_0x129f47(_0x16a615._0x4e1764,_0x16a615._0x489603)],this['_measured']['areaStr_original']=this['_measured']['areaStr'],this['fire'](EventType[_0x24a435(_0x16a615._0x5a7eb6,0x516)],{'mtype':this[_0x129f47(0x16dc,_0x16a615._0x448629)],'graphic':this},!![]);function _0x129f47(_0x403714,_0x276b90){return _0x306755(_0x276b90,_0x403714-0x79);}const _0x57fef3={};_0x57fef3[_0x24a435(-_0x16a615._0x3f0cf6,_0x16a615._0x5699b1)]=this['_map'][_0x129f47(0xade,_0x16a615._0x24c637)],_0x57fef3['splitNum']=this[_0x129f47(0xcd6,0xacf)]['splitNum'],_0x57fef3['has3dtiles']=this[_0x24a435(_0x16a615._0x57ec36,_0x16a615._0x906c8e)]['has3dtiles'],_0x57fef3['exact']=this[_0x24a435(0x10b8,_0x16a615._0x906c8e)]['exact'],getClampArea(_0x23cb33,_0x57fef3)['then'](_0x723d27=>{const _0x379906={_0x4d72de:0x69e};function _0x294909(_0x3b57d5,_0xe1fcaf){return _0x129f47(_0xe1fcaf- -0x11f,_0x3b57d5);}var _0x15cee9,_0x59cdd7;if(!this['_map']||!this['_measureLable'])return;const _0x5b47e2=getPositionValue(this['_measureLable'][_0x294909(_0x5de64d._0x23c303,_0x5de64d._0x25e7ef)],(_0x15cee9=this[_0x294909(0x1d41,0x1723)])===null||_0x15cee9===void 0x0?void 0x0:_0x15cee9[_0x294909(0x945,_0x5de64d._0x4bd045)]['currentTime']);function _0x3979cc(_0x1e037b,_0x3164aa){return _0x24a435(_0x3164aa,_0x1e037b-_0x379906._0x4d72de);}_0x5b47e2&&_0x723d27!==null&&_0x723d27!==void 0x0&&_0x723d27[_0x294909(0x11b1,0x1219)]&&(this[_0x294909(0x835,0x5bc)][_0x3979cc(_0x5de64d._0x3f8385,_0x5de64d._0x5d31c3)]=setPositionsHeight(_0x5b47e2,_0x723d27['maxHeight']));this[_0x3979cc(0x506,-0xd0)][_0x294909(_0x5de64d._0x5d5037,_0x5de64d._0x3d3c35)]=_0x723d27['area'],this[_0x3979cc(_0x5de64d._0x11125a,_0x5de64d._0x3eabbc)]();const _0x507c04={..._0x723d27};_0x507c04['mtype']=this[_0x294909(_0x5de64d._0x18d3b9,_0x5de64d._0x2ed2fb)],_0x507c04['value']=this['_measured']['area'],_0x507c04[_0x3979cc(_0x5de64d._0x1fd16b,0x20f)]=this['_measured'][_0x3979cc(_0x5de64d._0x2d3c3e,0x1312)];const _0x41fa64=_0x507c04;this['fire'](EventType['change'],_0x41fa64,!![]),this['fire'](EventType['end'],_0x41fa64,!![]),(_0x59cdd7=this[_0x3979cc(0x723,0xbc6)])!==null&&_0x59cdd7!==void 0x0&&_0x59cdd7[_0x3979cc(0x10a0,0xe2c)]&&this[_0x294909(0xee0,_0x5de64d._0x3d2f21)]['resolve'](this);});}}register$5(_0x306755(0x16dd,0x137a),AreaSurfaceMeasure);class VolumeMeasure extends AreaMeasure{constructor(_0x1a8df9={}){const _0x5638b5={_0xb8d19c:0x800,_0x2fe197:0x92a,_0x26f6fa:0x1ae,_0x225516:0x40e,_0x5028af:0x641,_0x347121:0x744,_0x5ff7cf:0x14ca,_0x51f9f7:0x178d,_0x43bcc5:0xa8a,_0xbec9e0:0x108e,_0x2e47b6:0x199e,_0x159496:0x159c,_0x3d8b97:0x16f2,_0x190aa5:0x3bd},_0x3f76d1={_0x17bb58:0x2b9};super(_0x1a8df9);_0x1a8df9[_0xfefe29(_0x5638b5._0xb8d19c,0x1ae)]&&(this[_0x2b349c(_0x5638b5._0x2fe197,0x3df)]=_0x1a8df9[_0xfefe29(0x447,_0x5638b5._0x26f6fa)],delete _0x1a8df9['_promise']);this[_0x2b349c(_0x5638b5._0x225516,0x9f1)]={...this[_0xfefe29(_0x5638b5._0x5028af,_0x5638b5._0x347121)][_0xfefe29(0x469,0x352)],'font_size':0xf,'background':![]};Cesium__namespace[_0x2b349c(0x1e97,_0x5638b5._0x5ff7cf)](_0x1a8df9['labelHeight'])&&(this['labelHeightStyle']={...this[_0xfefe29(0x274,0x7c0)],..._0x1a8df9['labelHeight']});this['polygonWallStyle']={'color':_0x2b349c(_0x5638b5._0x51f9f7,0x118a),'opacity':0.3,'closeTop':![],'closeBottom':!![],'perPositionHeight':![],'height':new Cesium__namespace['CallbackProperty'](_0x504e68=>{return this['minHeight'];},![]),'extrudedHeight':new Cesium__namespace[(_0x2b349c(_0x5638b5._0x43bcc5,0x767))](_0x28f865=>{return this['maxHeight'];},![])};Cesium__namespace['defined'](_0x1a8df9[_0x2b349c(_0x5638b5._0xbec9e0,0x13a9)])&&(this['polygonWallStyle']={...this['polygonWallStyle'],..._0x1a8df9[_0x2b349c(_0x5638b5._0x2e47b6,0x13a9)]});function _0xfefe29(_0x117171,_0x2d4ece){return _0x2b6441(_0x117171,_0x2d4ece-0x88);}this[_0x2b349c(0x1524,_0x5638b5._0x159496)]=_0x1a8df9[_0xfefe29(0x143a,0x136b)]??!![];function _0x2b349c(_0x4a33ea,_0x4b4f58){return _0x2b6441(_0x4a33ea,_0x4b4f58-_0x3f76d1._0x17bb58);}this[_0x2b349c(0x1c04,_0x5638b5._0x3d8b97)]=_0x1a8df9['offsetLabel']??![],this['showArea']=_0x1a8df9['showArea']??!![],this['showFillVolume']=_0x1a8df9['showFillVolume']??!![],this[_0x2b349c(-0x70e,_0x5638b5._0x190aa5)]=_0x1a8df9['showDigVolume']??!![],this['_hasFX']=![];}get['hasEdit'](){return![];}get[_0x2b6441(0x156b,0x11c5)](){const _0x2ac0a3={_0x104d5a:0xdb1},_0x26b024={_0x3502e8:0x50e};function _0x48ff9e(_0x1c3e3f,_0x307974){return _0x306755(_0x1c3e3f,_0x307974- -_0x26b024._0x3502e8);}return this['interPolygonObj']?this['interPolygonObj'][_0x48ff9e(0x1144,_0x2ac0a3._0x104d5a)]:this['maxHeight'];}get[_0x306755(0x590,0xbf2)](){return this['_jzmHeight'];}set['height'](_0x4bb5c2){const _0x257ac3={_0x437abc:0x5b0,_0x414b98:0xe23,_0x1e743c:0x1529,_0x1c04a9:0x14c8,_0x38544d:0x232};this['_jzmHeight']=_0x4bb5c2;_0x4bb5c2>this['maxHeight']&&(this['maxHeight']=_0x4bb5c2);_0x4bb5c2<this[_0x3dbec2(0x1e9,-0x6ed)]&&(this['minHeight']=_0x4bb5c2);if(!this[_0x3dbec2(0xecb,_0x257ac3._0x437abc)])return;const _0x355233=updateVolume(this[_0xd58982(0x1039,_0x257ac3._0x414b98)],this['height']);for(const _0x54fa3c in _0x355233){this['_measured'][_0x54fa3c]=_0x355233[_0x54fa3c];}this['updateText']();function _0xd58982(_0x156a87,_0x53b00f){return _0x2b6441(_0x53b00f,_0x156a87-0x467);}if(this['_arrPartMeasureLable'])for(let _0x1f3260=0x0;_0x1f3260<this['_arrPartMeasureLable']['length'];_0x1f3260++){this['_arrPartMeasureLable'][_0x1f3260]['showText']();}function _0x3dbec2(_0x21d940,_0x48e722){return _0x2b6441(_0x48e722,_0x21d940- -0xb6);}const _0x50865e={..._0x355233};_0x50865e['sourceTarget']=this,_0x50865e[_0xd58982(0x9ef,0x1272)]=this[_0xd58982(_0x257ac3._0x1e743c,_0x257ac3._0x1c04a9)],_0x50865e['graphic']=this;const _0xb1bab9=_0x50865e;this[_0x3dbec2(_0x257ac3._0x38544d,0x1b3)](EventType['change'],_0xb1bab9,!![]);}get['minHeight'](){return this['_minHeight']||0x0;}set['minHeight'](_0x386ab7){const _0x3298d9={_0x5f5d5e:0xa5e,_0x478130:0x320,_0x489907:0x28e,_0x3f8651:0x168e,_0x3c0551:0xe05,_0x15e993:0x18ee};this['_minHeight']=_0x386ab7;if(!this['_hasFX'])return;this['interPolygonObj']&&(this['interPolygonObj'][_0x1c90f(_0x3298d9._0x5f5d5e,_0x3298d9._0x478130)]=_0x386ab7,this[_0x1c90f(_0x3298d9._0x489907,0xc53)]=updateVolumeByMinHeight(this[_0x328a4e(0x116e,_0x3298d9._0x3f8651)]));const _0x23e363=updateVolume(this['interPolygonObj'],this['height']);function _0x1c90f(_0x52e568,_0x36272b){return _0x2b6441(_0x52e568,_0x36272b-0x81);}for(const _0x1934df in _0x23e363){this['_measured'][_0x1934df]=_0x23e363[_0x1934df];}this['updateText']();const _0x486b7a={..._0x23e363};_0x486b7a['sourceTarget']=this,_0x486b7a[_0x1c90f(0x6fe,0x609)]=this[_0x328a4e(0x165e,_0x3298d9._0x3c0551)],_0x486b7a[_0x328a4e(_0x3298d9._0x15e993,0x229d)]=this;const _0x440424=_0x486b7a;function _0x328a4e(_0x366680,_0x5eb6ae){return _0x306755(_0x5eb6ae,_0x366680- -0x5);}this['fire'](EventType['change'],_0x440424,!![]);}get[_0x306755(0x1c75,0x12bf)](){return this['_maxHeight']||0x0;}set['maxHeight'](_0x3422b1){this['_maxHeight']=_0x3422b1;}[_0x2b6441(0x96a,0xa2)](_0x54bfba){const _0x21923f={_0x5afa45:0x750,_0x34ee81:0xb1,_0x40e590:0x3f3},_0x437091={_0x35ee8a:0x5b1};function _0x51e8ca(_0x20f42a,_0x3bfd02){return _0x306755(_0x3bfd02,_0x20f42a- -_0x437091._0x35ee8a);}function _0x437f6a(_0x1f575f,_0x9bedbe){return _0x2b6441(_0x9bedbe,_0x1f575f-0x570);}this['_wallEntity']&&(this[_0x51e8ca(0x9b9,-0xcd)]['show']=_0x54bfba);this[_0x51e8ca(0xb1,-_0x21923f._0x5afa45)]&&(this[_0x51e8ca(_0x21923f._0x34ee81,_0x21923f._0x40e590)]['show']=_0x54bfba);if(this[_0x437f6a(0x1531,0x1ae0)])for(let _0x57069d=0x0;_0x57069d<this['_arrPartMeasureLable']['length'];_0x57069d++){this[_0x437f6a(0x1531,0x1958)][_0x57069d]['show']=_0x54bfba;}}[_0x2b6441(0xeac,0x88a)](){const _0x1f49f6={_0x23a3f9:0x528,_0x4b9654:0x85d};this['_depthTestAgainstTerrain_reset']&&(this['_map'][_0x19bd7b(0x66f,_0x1f49f6._0x23a3f9)]['globe'][_0x1fd8d8(0x15e0,0x1184)]=![],delete this['_depthTestAgainstTerrain_reset']);function _0x19bd7b(_0x4717c5,_0x51aeed){return _0x2b6441(_0x51aeed,_0x4717c5-0x1ab);}function _0x1fd8d8(_0x3dd709,_0x281513){return _0x2b6441(_0x3dd709,_0x281513- -0x2d);}super[_0x1fd8d8(0xf04,_0x1f49f6._0x4b9654)]();}[_0x306755(0x9bf,0xb3c)](){const _0x228c80={_0x151d1e:0xb8e,_0x10b542:0xc45},_0x4d46ba={_0x3fac33:0x5f3};function _0x4b868d(_0x3483d3,_0x3577e4){return _0x2b6441(_0x3483d3,_0x3577e4-_0x4d46ba._0x3fac33);}super[_0x4b868d(0x409,_0x228c80._0x151d1e)]();function _0x5b0bac(_0x356e32,_0x2ba5c6){return _0x2b6441(_0x2ba5c6,_0x356e32-0x27c);}if(Cesium__namespace['defined'](this['_arrPartMeasureLable'])&&this['_arrPartMeasureLable']['length']>0x0){const _0x226585=this['_arrPartMeasureLable'];if(_0x226585&&_0x226585['length']>0x0)for(let _0x201bdc=0x0,_0x233a70=_0x226585['length'];_0x201bdc<_0x233a70;_0x201bdc++){this['_removeLabel'](_0x226585[_0x201bdc]);}delete this['_arrPartMeasureLable'];}Cesium__namespace['defined'](this['_wallEntity'])&&(this['dataSource']['entities']['remove'](this['_wallEntity']),delete this[_0x5b0bac(_0x228c80._0x10b542,0x7cb)]);}[_0x306755(0x5b7,0xc5c)](_0x31d9d6){const _0xbc8817={_0x37a2eb:0x17c3,_0x304540:0x1a39,_0x29802c:0xdab},_0x3c717e={_0x41f62f:0x14a},_0x4f133d={_0x3417e7:0x6fd};function _0x2d7c84(_0x279668,_0x597482){return _0x2b6441(_0x279668,_0x597482-_0x4f133d._0x3417e7);}clearTimeout(this[_0xd2af96(0x15c4,0xccc)]),this[_0x2d7c84(0x90e,0x7be)][_0xd2af96(_0xbc8817._0x37a2eb,_0xbc8817._0x304540)]=this['_map']['getLangText']('_正在计算体积')+'…';const _0x4332c3=this[_0x2d7c84(0x1810,_0xbc8817._0x29802c)];function _0xd2af96(_0x533839,_0x3a678b){return _0x306755(_0x3a678b,_0x533839- -_0x3c717e._0x41f62f);}this['_cache_timeTik']=setTimeout(()=>{this['calcVolume'](_0x4332c3);},0x64);}['_editPointHandler'](_0x245781){const _0xf6652={_0x3743e5:0x1140};function _0x4f52a5(_0x40cafe,_0x170a7f){return _0x2b6441(_0x40cafe,_0x170a7f-0x429);}this[_0x4f52a5(_0xf6652._0x3743e5,0xae4)](_0x245781);}[_0x306755(0xe8e,0x18b1)](_0x20bd59){const _0x57396d={_0x2e68a8:0x709,_0x3ccd6d:0x635,_0x10bbfd:0x97,_0x8998df:0x2ac,_0x5a3047:0x78c,_0x4927d8:0x80a,_0x4e07af:0xa71,_0x3bf9f5:0x2de,_0x4e6f65:0xe2d,_0x406849:0x11ae,_0x5a4323:0x12e5},_0x616a78={_0x4df4a8:0xda4};function _0x2416fc(_0x62b008,_0x7b6780){return _0x306755(_0x7b6780,_0x62b008- -0x628);}_0x20bd59&&(this['options'][_0x2d5e76(_0x57396d._0x2e68a8,0x11da)]=_0x20bd59);const _0x56f799={'unit':this[_0x2d5e76(0x864,0x663)]['unit'],'getLangText':_0x44d660=>{function _0x3548b5(_0x555bbf,_0x131bc3){return _0x2416fc(_0x131bc3-0x65f,_0x555bbf);}return this['_map'][_0x3548b5(0xf4d,_0x616a78._0x4df4a8)](_0x44d660);},'decimal':this['options']['decimal']};function _0x2d5e76(_0xa1fd3d,_0x3b4ad9){return _0x2b6441(_0x3b4ad9,_0xa1fd3d-0x1a8);}let _0x38e55a='';this[_0x2416fc(0x38d,0xc55)]&&this['_measured'][_0x2d5e76(0x1127,0x75c)]>0x0&&(this[_0x2416fc(-0x17e,-0x83d)]['fillVolumeStr']=formatVolume(this['_measured']['fillVolume'],_0x56f799),_0x38e55a+=(this[_0x2416fc(_0x57396d._0x3ccd6d,0xab8)][_0x2416fc(0x354,-_0x57396d._0x10bbfd)]||this['_map']['getLangText']('_填方体积'))+':'+this['_measured']['fillVolumeStr']+'\x0a'),this[_0x2d5e76(_0x57396d._0x8998df,_0x57396d._0x5a3047)]&&this['_measured']['digVolume']>0x0&&(this['_measured']['digVolumeStr']=formatVolume(this[_0x2d5e76(0xb1,0x755)]['digVolume'],_0x56f799),_0x38e55a+=(this['options']['digVolumeName']||this['_map']['getLangText'](_0x2d5e76(0xb54,_0x57396d._0x4927d8)))+':'+this['_measured'][_0x2416fc(0xacc,_0x57396d._0x4e07af)]+'\x0a'),this['showArea']&&this['_measured'][_0x2416fc(0x134e,0x16a9)]>0x0&&(this[_0x2416fc(-0x17e,-0x4d)][_0x2d5e76(0x13dd,0x18cb)]=formatArea(this[_0x2416fc(-0x17e,-_0x57396d._0x3bf9f5)]['totalArea'],_0x56f799),_0x38e55a+=(this['options'][_0x2416fc(0xcb9,_0x57396d._0x4e6f65)]||this['_map']['getLangText']('_横切面积'))+':'+this['_measured'][_0x2416fc(_0x57396d._0x406849,0x117c)]),this['_measureLable'][_0x2416fc(_0x57396d._0x5a4323,0xf53)]=_0x38e55a;}['calcVolume'](_0x3697c5){const _0x10bbdf={_0x4133ce:0x1579,_0x348038:0x1820,_0x1ea1dc:0x16ff,_0x3c6dc7:0x1438,_0x36eced:0x258},_0x42f1aa={_0x332ad3:0x376},_0x57440e={_0x480cca:0x54c};if(!this['_map']||!_0x3697c5||_0x3697c5[_0x6a214(0x12dc,0x8cc)]<0x3)return;function _0x2399a8(_0x390060,_0x2aed73){return _0x2b6441(_0x2aed73,_0x390060-_0x57440e._0x480cca);}this['fire'](EventType['start'],{'mtype':this['type'],'sourceTarget':this,'positions':_0x3697c5},!![]),this[_0x6a214(0x1203,0x830)]=!![];function _0x6a214(_0x311e89,_0x4267ed){return _0x2b6441(_0x4267ed,_0x311e89-0x282);}const _0x149e81={'positions':_0x3697c5,'scene':this['_map']['scene'],'exact':!![],...this['options']};interPolygon(_0x149e81)[_0x2399a8(0x12ae,0x18ea)](_0x160bd6=>{const _0x3bb60f={_0x32dfdc:0x5};function _0x25a535(_0x47e40f,_0x380494){return _0x6a214(_0x47e40f-_0x3bb60f._0x32dfdc,_0x380494);}if(!this['_map']||!this[_0x5173e6(_0x10bbdf._0x4133ce,0xf98)])return;if(_0x160bd6['has3dtiles'])this[_0x5173e6(_0x10bbdf._0x348038,0x2052)]['scene']['globe']['depthTestAgainstTerrain']=![];else!this['_map']['scene']['globe'][_0x5173e6(0x17a9,_0x10bbdf._0x1ea1dc)]&&(this['_map']['scene']['globe'][_0x25a535(_0x10bbdf._0x3c6dc7,0x1c0e)]=!![],this[_0x5173e6(0x7d4,-_0x10bbdf._0x36eced)]=!![]);function _0x5173e6(_0x2c836e,_0xa9f5bb){return _0x6a214(_0x2c836e-_0x42f1aa._0x332ad3,_0xa9f5bb);}this[_0x25a535(0x12ce,0xf89)](_0x3697c5,_0x160bd6);});}[_0x2b6441(0xe6e,0x1047)](_0xb72929,_0x39d0db){const _0x10c0b2={_0x134ed1:0x482,_0x27f923:0x183,_0x14f19b:0x514,_0x3005de:0x39e,_0x16c1a5:0x715,_0x1f510b:0x11ae,_0x5d4363:0x1585,_0x3882a9:0x70f,_0x50c182:0xdb0,_0x5abab4:0x768,_0x5be1e1:0xc8e,_0x41865d:0x128a,_0x3446ff:0x115,_0x48f816:0xb2a,_0x51acae:0xbac,_0x4d0fb6:0x632,_0x310a9a:0xd31,_0x554c2f:0x15c7,_0x4cf71a:0x61e,_0x49d9ee:0x394,_0x30db27:0xc86,_0x3f58c6:0x297},_0x18e878={_0x588a4a:0xa10},_0x444c48={_0x29b019:0xd4},_0xd4c9c8={_0x2b3dc1:0x3be},_0x34b95e={_0x4253a5:0x275};var _0x55d625;this['_jzmHeight']=this['options']['height']??_0x39d0db['minHeight'];this['_jzmHeight']<_0x39d0db['minHeight']&&(_0x39d0db[_0x5f578f(_0x10c0b2._0x134ed1,0x1d5)]=this['_jzmHeight']);function _0x2633d6(_0x50c594,_0x3ec5a1){return _0x2b6441(_0x3ec5a1,_0x50c594-_0x34b95e._0x4253a5);}function _0x5f578f(_0x35c6e0,_0x3e923d){return _0x306755(_0x3e923d,_0x35c6e0- -_0xd4c9c8._0x2b3dc1);}this[_0x5f578f(0xdb5,0xeb4)]=updateVolumeByMinHeight(_0x39d0db),this['_minHeight']=this[_0x5f578f(0x89f,_0x10c0b2._0x27f923)][_0x2633d6(_0x10c0b2._0x14f19b,_0x10c0b2._0x3005de)]??this['interPolygonObj'][_0x2633d6(_0x10c0b2._0x14f19b,_0x10c0b2._0x16c1a5)],this['_maxHeight']=this['options']['maxHeight']??this['interPolygonObj']['maxHeight'];const _0x523300=Math['floor'](0.3*Cesium__namespace['Math']['chordLength'](_0x39d0db['granularity'],this[_0x2633d6(_0x10c0b2._0x1f510b,0xc8f)]['maximumRadius']));this['_maxHeight']-this['_minHeight']<_0x523300&&(this['_maxHeight']=this[_0x2633d6(0x13d2,0x1adf)]+_0x523300);const _0xf1c857=updateVolume(this['interPolygonObj'],this['height']);for(const _0x274544 in _0xf1c857){this['_measured'][_0x274544]=_0xf1c857[_0x274544];}this[_0x2633d6(_0x10c0b2._0x5d4363,0x1c88)](),this[_0x2633d6(0x336,-0x23a)]['position']=centerOfMass(_0xb72929,this['interPolygonObj']['maxHeight']);this['heightLabel']&&this[_0x2633d6(_0x10c0b2._0x3882a9,_0x10c0b2._0x50c182)](_0xb72929,this['interPolygonObj']['minHeight']);this[_0x5f578f(0xaa8,0x1276)]['_noMousePick']=!![],this['entityGraphic']['perPositionHeight']=![],this['entityGraphic']['hierarchy']=new Cesium__namespace[(_0x5f578f(0x115,_0x10c0b2._0x5abab4))](_0xb72929),this['entityGraphic']['height']=new Cesium__namespace['CallbackProperty'](_0x3e000c=>{function _0x15483d(_0x21df4b,_0x5a7090){return _0x2633d6(_0x5a7090- -_0x444c48._0x29b019,_0x21df4b);}return this[_0x15483d(_0x18e878._0x588a4a,0x7f2)];},![]);const _0x45d274=PolygonStyleConver[_0x5f578f(_0x10c0b2._0x5be1e1,_0x10c0b2._0x41865d)](this['polygonWallStyle'],{},!![]);_0x45d274['hierarchy']=new Cesium__namespace[(_0x5f578f(_0x10c0b2._0x3446ff,-0xd4))](_0xb72929);Cesium__namespace['defined'](this[_0x2633d6(0xc3e,0x1606)])&&this['dataSource']['entities']['remove'](this['_wallEntity']);this['_wallEntity']=this['dataSource']['entities']['add']({'polygon':_0x45d274,'show':this['show']}),this[_0x2633d6(0xc3e,_0x10c0b2._0x48f816)][_0x5f578f(0x3f6,0xeb1)]=!![],this['bindPickId'](this[_0x5f578f(_0x10c0b2._0x51acae,0xf83)]);const _0x44dadb={..._0xf1c857};_0x44dadb[_0x5f578f(0x436,_0x10c0b2._0x4d0fb6)]=this,_0x44dadb[_0x5f578f(0x76b,0x92e)]=this[_0x5f578f(0x12a5,_0x10c0b2._0x310a9a)],_0x44dadb[_0x2633d6(_0x10c0b2._0x554c2f,0xc70)]=this;const _0x30af50=_0x44dadb;this['fire'](EventType['change'],_0x30af50,!![]),this['fire'](EventType[_0x2633d6(_0x10c0b2._0x4cf71a,_0x10c0b2._0x49d9ee)],_0x30af50,!![]),(_0x55d625=this['_promise'])!==null&&_0x55d625!==void 0x0&&_0x55d625[_0x5f578f(_0x10c0b2._0x30db27,_0x10c0b2._0x3f58c6)]&&this['_promise']['resolve'](this);}[_0x2b6441(0x873,0x49a)](_0x99df9c,_0x3bc23e){const _0x54012f={_0x6b22a:0x1473,_0x4d3bbb:0x30e,_0x507bed:0xa9e,_0x40f10f:0x899,_0x5ce7ee:0x576,_0x2d3101:0xab8,_0x38cae1:0xb84},_0x516739={_0xf6a402:0xb2b,_0x172696:0x17c9,_0x284759:0xe5b,_0x3dc19c:0x16cc,_0x1318c6:0x20cb,_0x58d924:0x15e8,_0x88dcc8:0x1d49,_0x59bbf3:0x1704,_0x1b64fb:0x115b,_0x3630b6:0x154f,_0x2dfd94:0x1704,_0xa7bc36:0x148b,_0x8ee4d4:0xca8,_0x444e16:0xdd9,_0x4079ad:0x1816,_0x21773f:0x1848},_0x5bf549={_0xf05161:0x188};function _0x30d203(_0x3deef5,_0x1db816){return _0x306755(_0x1db816,_0x3deef5- -_0x5bf549._0xf05161);}const _0x115714=this;if(Cesium__namespace['defined'](this['_arrPartMeasureLable'])&&this['_arrPartMeasureLable']['length']>0x0){const _0x37f95e=this['_arrPartMeasureLable'];if(_0x37f95e&&_0x37f95e[_0x30d203(_0x54012f._0x6b22a,0x1867)]>0x0)for(let _0x2788a8=0x0,_0x4fc4a7=_0x37f95e['length'];_0x2788a8<_0x4fc4a7;_0x2788a8++){this[_0x30d203(0xa9c,_0x54012f._0x4d3bbb)](_0x37f95e[_0x2788a8]);}delete this['_arrPartMeasureLable'];}const _0x5e1293=[];function _0x40ebe2(_0xb0733e,_0xdf025f){return _0x2b6441(_0xdf025f,_0xb0733e-0x1af);}for(let _0x3c1172=0x0;_0x3c1172<_0x99df9c['length'];_0x3c1172++){const _0x661be9=Cesium__namespace['Cartographic']['fromCartesian'](_0x99df9c[_0x3c1172]),_0x5a6043={};_0x5a6043[_0x40ebe2(_0x54012f._0x507bed,0x5bf)]=!![];const _0x4a4a4b=Math['max'](getHeight(this['_map'][_0x40ebe2(0x673,0xe6e)],_0x661be9,_0x5a6043),_0x3bc23e),_0x22d0af=Cesium__namespace[_0x30d203(_0x54012f._0x40f10f,0x915)][_0x40ebe2(0x7e9,_0x54012f._0x5ce7ee)](_0x661be9[_0x40ebe2(0xd58,_0x54012f._0x2d3101)],_0x661be9['latitude'],_0x4a4a4b),_0x3fc4ab=this['_createLabel'](this['labelHeightStyle'],_0x22d0af),_0x17bf00={};_0x17bf00['value']=_0x4a4a4b,_0x3fc4ab['attr']=_0x17bf00,_0x5e1293['push'](_0x3fc4ab),_0x3fc4ab[_0x30d203(_0x54012f._0x38cae1,0xe00)]=function(){function _0x214cae(_0x12df17,_0x230da0){return _0x30d203(_0x230da0-0xc3,_0x12df17);}function _0x11b233(_0x9d5334,_0x34b41e){return _0x40ebe2(_0x9d5334-0x4e0,_0x34b41e);}const _0x545d19=this['attr'][_0x214cae(_0x516739._0xf6a402,0xc8a)];let _0xa123a8=_0x115714[_0x214cae(0x217e,0x1704)]['getLangText'](_0x214cae(0x18f5,_0x516739._0x172696))+':'+_0x545d19['toFixed'](0x2)+_0x115714['_map'][_0x11b233(_0x516739._0x284759,0x16ff)]('_米');if(_0x115714[_0x11b233(0x1ac8,0x20f3)]){const _0x4db223=_0x545d19-_0x115714['height'];_0x4db223>0x0?_0xa123a8+='\x0a'+_0x115714[_0x11b233(0x18b7,_0x516739._0x3dc19c)]['getLangText']('_高度')+':'+_0x4db223['toFixed'](0x2)+_0x115714[_0x214cae(_0x516739._0x1318c6,0x1704)][_0x214cae(_0x516739._0x58d924,0xca8)]('_米')+'('+_0x115714[_0x214cae(_0x516739._0x88dcc8,_0x516739._0x59bbf3)][_0x11b233(0xe5b,0x190a)](_0x11b233(_0x516739._0x1b64fb,0x16a6))+')':_0xa123a8+='\x0a'+_0x115714['_map']['getLangText']('_高度')+':'+Math[_0x11b233(_0x516739._0x3630b6,0x18aa)](_0x4db223)['toFixed'](0x2)+_0x115714[_0x214cae(0x1ce0,_0x516739._0x2dfd94)]['getLangText']('_米')+'('+_0x115714['_map'][_0x214cae(_0x516739._0xa7bc36,_0x516739._0x8ee4d4)](_0x214cae(_0x516739._0x444e16,_0x516739._0x4079ad))+')';}return this[_0x214cae(0x2202,_0x516739._0x21773f)]=_0xa123a8,_0xa123a8;},_0x3fc4ab[_0x40ebe2(0x91a,0xeb9)]();}this['_arrPartMeasureLable']=_0x5e1293;}}register$5(_0x306755(0xc75,0x8a9),VolumeMeasure);class VolumeDepthMeasure extends AreaMeasure{constructor(_0x4a1e03={}){const _0x47b530={_0x547009:0x537,_0x4654f8:0x320,_0x51aecd:0x932,_0x36369d:0x54,_0xafa607:0x1192,_0x570259:0x13c8,_0x3a4b49:0x1114,_0x45ab00:0x1b77,_0x319a02:0x7c3,_0xab13e7:0x13c,_0x48d43c:0x397,_0x13d674:0xb00,_0x37556d:0x4dc,_0x569e5a:0x183,_0x1fc79e:0x14dd,_0x3a5bc8:0x1299,_0x48b239:0x10b1,_0x47b637:0x12e,_0x382bce:0x3d7,_0x591bae:0x557},_0x3ca940={_0x1fdc0d:0x3a7};super(_0x4a1e03);_0x4a1e03[_0x5eb027(0x320,-_0x47b530._0x547009)]&&(this[_0x386e69(0x56a,0x7fb)]=_0x4a1e03[_0x5eb027(_0x47b530._0x4654f8,-0xc6)],delete _0x4a1e03['_promise']);function _0x386e69(_0x185d4a,_0x5562b6){return _0x2b6441(_0x5562b6,_0x185d4a-0x444);}this[_0x5eb027(_0x47b530._0x51aecd,-_0x47b530._0x36369d)]={...this['options']['label'],'font_size':0xf,'background':![]};Cesium__namespace['defined'](_0x4a1e03['labelHeight'])&&(this['labelHeightStyle']={...this[_0x5eb027(0x932,0xf80)],..._0x4a1e03['labelHeight']});this[_0x5eb027(_0x47b530._0xafa607,_0x47b530._0x570259)]=Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](getCesiumColor(_0x4a1e03[_0x386e69(_0x47b530._0x3a4b49,_0x47b530._0x45ab00)]??'rgba(255,\x200,\x200,\x200.3)')),this['_fillBoxColor']=Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](getCesiumColor(_0x4a1e03[_0x5eb027(_0x47b530._0x319a02,_0x47b530._0xab13e7)]??_0x386e69(_0x47b530._0x48d43c,0xb56)));function _0x5eb027(_0x533696,_0x4a23a6){return _0x306755(_0x4a23a6,_0x533696- -_0x3ca940._0x1fdc0d);}this[_0x386e69(_0x47b530._0x13d674,_0x47b530._0x37556d)][_0x5eb027(0x8c8,0xcd)]=this['options']['offsetHeight']??0x0,this['polygonWallStyle']={'color':'#00ff00','opacity':0.3,'closeTop':![],'closeBottom':!![],'perPositionHeight':![],'height':new Cesium__namespace['CallbackProperty'](_0x49d084=>{return this['minHeight'];},![]),'extrudedHeight':new Cesium__namespace['CallbackProperty'](_0x5188b6=>{return this['maxHeight'];},![])},Cesium__namespace[_0x386e69(0x1655,0x1ff6)](_0x4a1e03['polygonWall'])&&(this[_0x386e69(0x602,-_0x47b530._0x569e5a)]={...this['polygonWallStyle'],..._0x4a1e03['polygonWall']}),this[_0x5eb027(_0x47b530._0x1fc79e,0xcaa)]=_0x4a1e03['heightLabel']??!![],this['offsetLabel']=_0x4a1e03[_0x386e69(0x187d,_0x47b530._0x3a5bc8)]??![],this['showArea']=_0x4a1e03[_0x386e69(_0x47b530._0x48b239,0xbd5)]??!![],this[_0x386e69(0x858,0xba7)]=_0x4a1e03[_0x386e69(0x858,-0xbf)]??!![],this['showDigVolume']=_0x4a1e03['showDigVolume']??!![],this['_showFillBox']=_0x4a1e03[_0x5eb027(_0x47b530._0x47b637,-0x75b)]??!![],this['_showDigBox']=_0x4a1e03['showDigBox']??!![],this['_showPoly']=_0x4a1e03[_0x5eb027(0x475,0x1b0)]??!![],this['_showWall']=_0x4a1e03[_0x386e69(_0x47b530._0x382bce,_0x47b530._0x591bae)]??![],this['_hasFX']=![];}get['hasEdit'](){return![];}get['polygonMaxHeight'](){const _0x5bdc17={_0x4bd1aa:0x258};function _0x103596(_0x5648c2,_0x437965){return _0x306755(_0x5648c2,_0x437965- -_0x5bdc17._0x4bd1aa);}return this['_measured']?this['_measured'][_0x103596(0xf70,0x1067)]:this['maxHeight'];}get['height'](){return this['_jzmHeight'];}set['height'](_0x61c20e){const _0x33922f={_0x1d0a01:0x1323,_0x5265f3:0x11f3,_0x1bdda5:0x7e7};function _0x489122(_0xfd03f3,_0x396933){return _0x306755(_0x396933,_0xfd03f3- -0x36f);}this[_0x3670f1(_0x33922f._0x1d0a01,0xb5c)]=_0x61c20e;_0x61c20e>this[_0x489122(0xf50,0xae7)]&&(this[_0x3670f1(0x10b2,0xad9)]=_0x61c20e);_0x61c20e<this['minHeight']&&(this['minHeight']=_0x61c20e);function _0x3670f1(_0x395645,_0x3e5c67){return _0x2b6441(_0x3e5c67,_0x395645-0x394);}if(!this['_hasFX'])return;this['updateVolume'](),this[_0x489122(0x1542,0x10c0)]();if(this['_arrPartMeasureLable'])for(let _0x48acca=0x0;_0x48acca<this[_0x489122(_0x33922f._0x5265f3,0x861)]['length'];_0x48acca++){this['_arrPartMeasureLable'][_0x48acca]['showText']();}const _0x4ca079={...this[_0x489122(0x13b,_0x33922f._0x1bdda5)]};_0x4ca079['sourceTarget']=this,_0x4ca079[_0x3670f1(0x91c,0x5c4)]=this[_0x489122(0x12f4,0x16b2)],_0x4ca079['graphic']=this;const _0x56c541=_0x4ca079;this['fire'](EventType['change'],_0x56c541,!![]);}get[_0x2b6441(0x468,0x29f)](){const _0x27b71c={_0x3d5ed9:0x1729};function _0x3f9ccc(_0x322984,_0x4a9045){return _0x2b6441(_0x4a9045,_0x322984-0x5cc);}return this[_0x3f9ccc(_0x27b71c._0x3d5ed9,0x1cc9)]||0x0;}set['minHeight'](_0x4e4df6){const _0x22efb4={_0xcbb78d:0x38f};this['_minHeight']=_0x4e4df6;if(!this['_hasFX'])return;this[_0x3a0f9f(_0x22efb4._0xcbb78d,-0x194)]&&(this['_measured'][_0x3d9995(0x220,0x41b)]=_0x4e4df6,this[_0x3d9995(0x96c,0x7d3)]());this['updateText']();const _0x42c309={...this['_measured']};function _0x3a0f9f(_0x40379b,_0x7d1465){return _0x2b6441(_0x7d1465,_0x40379b-0x486);}_0x42c309['sourceTarget']=this,_0x42c309['mtype']=this[_0x3d9995(0x1043,0x12ab)],_0x42c309['graphic']=this;function _0x3d9995(_0x4fe1f7,_0x5ab280){return _0x2b6441(_0x5ab280,_0x4fe1f7- -0x7f);}const _0xd88a37=_0x42c309;this['fire'](EventType['change'],_0xd88a37,!![]);}get['maxHeight'](){return this['_maxHeight']||0x0;}set['maxHeight'](_0x7ac5bc){const _0x578e5e={_0x1bd44b:0xb1d,_0x484ce9:0x118,_0x556c97:0x1413},_0x2d2d21={_0xfe72b5:0x38b},_0xac7a37={_0x241a3d:0x154};this[_0x3fec0b(_0x578e5e._0x1bd44b,_0x578e5e._0x484ce9)]=_0x7ac5bc;function _0x3fec0b(_0x32e448,_0x4468b7){return _0x306755(_0x4468b7,_0x32e448-_0xac7a37._0x241a3d);}if(!this['_hasFX'])return;this['_measured']&&(this['_measured'][_0x3fec0b(_0x578e5e._0x556c97,0x1bfa)]=_0x7ac5bc,this['updateVolume']());this['updateText']();const _0xf79eb={...this['_measured']};_0xf79eb['sourceTarget']=this;function _0x55e5f0(_0xdce86a,_0x5cc509){return _0x2b6441(_0xdce86a,_0x5cc509-_0x2d2d21._0xfe72b5);}_0xf79eb['mtype']=this['type'],_0xf79eb['graphic']=this;const _0xa37cd8=_0xf79eb;this['fire'](EventType['change'],_0xa37cd8,!![]);}get[_0x306755(0xde5,0x4d5)](){const _0x597804={_0x4955a4:0xf61},_0x23e469={_0x334262:0x11b};function _0x23c7c0(_0x410267,_0x249761){return _0x2b6441(_0x249761,_0x410267-_0x23e469._0x334262);}return this[_0x23c7c0(0xd4d,_0x597804._0x4955a4)];}set['showFillBox'](_0x401af4){function _0x58a4fc(_0x4b6f77,_0x66d6c6){return _0x2b6441(_0x4b6f77,_0x66d6c6-0x47a);}this[_0x58a4fc(0x880,0x10ac)]=_0x401af4,this['updateVolume']();}get['showDigBox'](){const _0x2c9cb4={_0x46e034:0x243};function _0x535cc4(_0x52cad0,_0x17aec2){return _0x306755(_0x17aec2,_0x52cad0- -0x3e5);}return this[_0x535cc4(0x57b,_0x2c9cb4._0x46e034)];}set['showDigBox'](_0x4b0446){this['_showDigBox']=_0x4b0446,this['updateVolume']();}['_removeMeasureLabelAndEx'](){const _0x1d1130={_0x25a039:0x122d,_0x27d7be:0xe4a,_0x3f977e:0x442,_0x2ca4ee:0xc03},_0x270bc3={_0x517a2d:0x27};function _0x22d1a9(_0x4c2313,_0x50c488){return _0x2b6441(_0x50c488,_0x4c2313-_0x270bc3._0x517a2d);}super['_removeMeasureLabelAndEx']();function _0x3bac33(_0x310211,_0x276938){return _0x306755(_0x310211,_0x276938-0x44);}this[_0x22d1a9(0x12e3,0x1bcc)](),Cesium__namespace['defined'](this['_wallEntity'])&&(this['dataSource']['entities']['remove'](this['_wallEntity']),delete this['_wallEntity']),this[_0x3bac33(0x1651,_0x1d1130._0x25a039)]&&(this[_0x22d1a9(_0x1d1130._0x27d7be,0x980)][_0x3bac33(0x176a,0xd8d)][_0x22d1a9(_0x1d1130._0x3f977e,_0x1d1130._0x2ca4ee)](this['_primitive_boxs']),delete this['_primitive_boxs']);}['_drawCreatedHandler'](_0x3da50c){const _0x24b5fb={_0x1f14f4:0xea4};clearTimeout(this[_0x24d77f(0x11d4,0x118e)]);function _0x443874(_0x18e15b,_0x5cf697){return _0x2b6441(_0x18e15b,_0x5cf697-0x2f9);}this[_0x24d77f(0x128,0x7db)][_0x443874(0x20e4,0x1665)]=this['_map']['getLangText']('_正在计算体积')+'…';function _0x24d77f(_0x4cc0d1,_0x1a03d5){return _0x2b6441(_0x1a03d5,_0x4cc0d1-0x67);}const _0x2dc944=this['positionsShow'];(_0x2dc944===null||_0x2dc944===void 0x0?void 0x0:_0x2dc944['length'])>0x3&&(this[_0x443874(_0x24b5fb._0x1f14f4,0x1466)]=setTimeout(()=>{this['calcVolume'](_0x2dc944);},0x64));}['_editPointHandler'](_0x184c41){this['_drawCreatedHandler'](_0x184c41);}['updateText'](_0x5b59c0){const _0x3a8af7={_0x181356:0x8bd,_0x44f975:0x27b,_0x152054:0xf09,_0x6bf505:0xd90,_0x311b2b:0x193d,_0x4bbb09:0x817,_0x3787a9:0x3aa,_0x1c552e:0x70,_0x1b2f4e:0x4d0,_0x4b1ca8:0x1227,_0x2e2ed6:0x9cd,_0x5bbc1f:0x1dc,_0x3834c4:0x68,_0x2de6b6:0x1aa9,_0x299c39:0x195c,_0x47f869:0x42a,_0x57041c:0xef4,_0x297853:0x795};_0x5b59c0&&(this['options']['unit']=_0x5b59c0);const _0x1c06cb={'unit':this[_0x59960b(_0x3a8af7._0x181356,0x10b9)]['unit'],'getLangText':_0x2942de=>{return this['_map']['getLangText'](_0x2942de);},'decimal':this[_0x59960b(0x8bd,_0x3a8af7._0x44f975)]['decimal']};let _0x4cbdd9='';if(this['showFillVolume']){var _0x54b71a;const _0xf81339=((_0x54b71a=this[_0x4255db(_0x3a8af7._0x152054,_0x3a8af7._0x6bf505)][_0x4255db(0x962,0x6af)])===null||_0x54b71a===void 0x0?void 0x0:_0x54b71a['fillVolume'])??this['_measured'][_0x4255db(_0x3a8af7._0x311b2b,0x1653)];this['_measured'][_0x59960b(0x2a2,_0x3a8af7._0x4bbb09)]=formatVolume(_0xf81339,_0x1c06cb),_0x4cbdd9+=(this[_0x4255db(_0x3a8af7._0x3787a9,_0x3a8af7._0x6bf505)]['fillVolumeName']||this['_map']['getLangText']('_填方体积'))+':'+this['_measured'][_0x59960b(0x2a2,-_0x3a8af7._0x1c552e)]+'\x0a';}function _0x59960b(_0x307515,_0x4b988a){return _0x306755(_0x4b988a,_0x307515- -0x3a0);}if(this['showDigVolume']){var _0x169baa;const _0x298723=((_0x169baa=this['options'][_0x59960b(0x1dc,0xbac)])===null||_0x169baa===void 0x0?void 0x0:_0x169baa[_0x59960b(_0x3a8af7._0x1b2f4e,-0x6f)])??this['_measured']['digVolume'];this['_measured'][_0x4255db(0x1a24,_0x3a8af7._0x4b1ca8)]=formatVolume(_0x298723,_0x1c06cb),_0x4cbdd9+=(this['options']['digVolumeName']||this['_map'][_0x59960b(_0x3a8af7._0x2e2ed6,-0xe)]('_挖方体积'))+':'+this['_measured']['digVolumeStr']+'\x0a';}function _0x4255db(_0x177bc6,_0x8998e1){return _0x2b6441(_0x177bc6,_0x8998e1-0x6d4);}if(this['showArea']){var _0x2f02ad;const _0x6b3a2c=((_0x2f02ad=this['options'][_0x59960b(_0x3a8af7._0x5bbc1f,_0x3a8af7._0x3834c4)])===null||_0x2f02ad===void 0x0?void 0x0:_0x2f02ad[_0x4255db(0x122c,_0x3a8af7._0x2de6b6)])??this['_measured']['totalArea'];this['_measured'][_0x4255db(_0x3a8af7._0x299c39,0x1909)]=formatArea(_0x6b3a2c,_0x1c06cb),_0x4cbdd9+=(this[_0x59960b(0x8bd,0xd3a)]['areaName']||this['_map'][_0x4255db(0x12de,0xea0)](_0x4255db(_0x3a8af7._0x47f869,_0x3a8af7._0x57041c)))+':'+this['_measured']['totalAreaStr'];}this[_0x4255db(0x7bd,_0x3a8af7._0x297853)]['text']=_0x4cbdd9;}['calcVolume'](_0x198262){const _0x5996d4={_0x4978e6:0x980,_0xa13409:0x6e9,_0x2d3d74:0x105b,_0x194d10:0x15e1,_0x71a41a:0x100a,_0x430533:0xf6a,_0x1f652a:0x12e0,_0x11ae2b:0x1d89,_0x2323e2:0xb5c,_0x1c395c:0xf25,_0x55bc80:0xd10},_0x4a413c={_0x5b51c9:0x4a1,_0x357e45:0x80a,_0x23ba95:0x10c7,_0x1a74ac:0x1530,_0x456a03:0x1dba,_0x3e7eb5:0x954,_0x43bd17:0x672,_0x5c7ee3:0x319,_0x2aea91:0x1128,_0x8ff5bc:0x124d,_0x101adf:0x1530,_0x4c2acd:0x1f7c,_0x57eb04:0x12fd,_0x1576ac:0x17ed,_0x5eeb90:0xa50,_0x59472c:0xa24,_0x1765f0:0xdae,_0x29d81d:0x15ab,_0x147895:0x13ad,_0x4de0f6:0x32a,_0x3e08bb:0xb60,_0x25a046:0xa32,_0x597c73:0x626,_0x3075ff:0x195,_0xa0f227:0x351,_0x5296f6:0x27a,_0x33744d:0x18f,_0x501364:0x51a,_0x44bc40:0xb0c,_0x1efb4b:0xa8e,_0x2f8cd9:0xb0c},_0x52d13c={_0x27df87:0x698};if(!this['_map'])return;function _0x5b4500(_0x5227b7,_0x71f26c){return _0x2b6441(_0x5227b7,_0x71f26c-0x647);}this[_0x1e136d(_0x5996d4._0x4978e6,_0x5996d4._0xa13409)](EventType[_0x1e136d(0xc4f,0x244)],{'mtype':this[_0x5b4500(0x1e47,0x1709)],'sourceTarget':this,'positions':_0x198262},!![]),this['_hasFX']=!![],this['_measureLable']['show']=![],this['_entity']['show']=![];if(this['_entity_outlines'])for(let _0x371d82=0x0,_0x2195cc=this[_0x1e136d(_0x5996d4._0x2d3d74,0x1051)]['length'];_0x371d82<_0x2195cc;_0x371d82++){const _0x4430da=this[_0x5b4500(_0x5996d4._0x194d10,_0x5996d4._0x71a41a)][_0x371d82][_0x1e136d(0x15c2,_0x5996d4._0x430533)];_0x4430da['show']=![];}this['_primitive_boxs']&&(this['_layer']['primitiveCollection']['remove'](this[_0x1e136d(_0x5996d4._0x1f652a,_0x5996d4._0x11ae2b)]),delete this['_primitive_boxs']);function _0x1e136d(_0x892a7b,_0x1df61e){return _0x2b6441(_0x1df61e,_0x892a7b-_0x52d13c._0x27df87);}const _0x4f3d12={};_0x4f3d12['scene']=this['_map'][_0x1e136d(_0x5996d4._0x2323e2,_0x5996d4._0x1c395c)],_0x4f3d12['positions']=_0x198262,_0x4f3d12['splitNum']=this['options']['splitNum'],_0x4f3d12[_0x5b4500(0xcdd,0x631)]=this[_0x5b4500(_0x5996d4._0x55bc80,0xd03)]['cameraHeight'],interPolygonByDepth(_0x4f3d12)['then'](_0x5d8c60=>{const _0x5713cb={_0x677e06:0x5de};var _0x333ac3;if(this[_0x21c8fc(0xf45,_0x4a413c._0x5b51c9)])return;this[_0x303cc1(0x2dc,_0x4a413c._0x357e45)]=_0x5d8c60,this['_jzmHeight']=this['options'][_0x21c8fc(0x111,0x6ba)]??_0x5d8c60[_0x303cc1(0x672,0x586)];this[_0x21c8fc(_0x4a413c._0x23ba95,0xff8)]<_0x5d8c60['minHeight']&&(_0x5d8c60['minHeight']=this['_jzmHeight']);function _0x21c8fc(_0x55c8a6,_0x50843b){return _0x5b4500(_0x55c8a6,_0x50843b- -_0x5713cb._0x677e06);}this['_measured']=this[_0x303cc1(0xdbe,0x178c)](_0x5d8c60);function _0x303cc1(_0x57ad6a,_0x42e3f8){return _0x1e136d(_0x57ad6a- -0x2c5,_0x42e3f8);}this[_0x303cc1(_0x4a413c._0x1a74ac,_0x4a413c._0x456a03)]=this[_0x21c8fc(_0x4a413c._0x3e7eb5,0x725)]['minHeight']??this[_0x21c8fc(-0xa39,-0x8e)][_0x303cc1(_0x4a413c._0x43bd17,0x2fe)],this[_0x21c8fc(0xfb,0x491)]=this['options']['maxHeight']??this[_0x303cc1(0x2dc,_0x4a413c._0x5c7ee3)][_0x21c8fc(_0x4a413c._0x2aea91,0xd87)],this[_0x303cc1(0x16e3,_0x4a413c._0x8ff5bc)](),this['_measureLable']['position']=centerOfMass(_0x198262,this[_0x303cc1(0x7fb,0xe1e)]),this['_measureLable']['show']=this['show'];this['heightLabel']&&this[_0x21c8fc(0x15b4,0xc71)](_0x198262,this[_0x303cc1(_0x4a413c._0x101adf,_0x4a413c._0x4c2acd)]);if(this['_showPoly']){this['_entity']['show']=!![];if(this['_entity_outlines'])for(let _0x135d71=0x0,_0x327d7b=this['_entity_outlines']['length'];_0x135d71<_0x327d7b;_0x135d71++){const _0x4e99e0=this['_entity_outlines'][_0x135d71][_0x303cc1(_0x4a413c._0x57eb04,_0x4a413c._0x1576ac)];_0x4e99e0['show']=!![];}this['_entity']['_noMousePick']=!![],this['entityGraphic'][_0x21c8fc(_0x4a413c._0x5eeb90,0x514)]=![],this[_0x303cc1(0x8ac,0x79f)][_0x303cc1(0x1717,0x1267)]=new Cesium__namespace['PolygonHierarchy'](_0x198262),this['entityGraphic'][_0x303cc1(_0x4a413c._0x59472c,0x103a)]=new Cesium__namespace[(_0x21c8fc(0x564,0x517))](_0x56b0d2=>{function _0x21bae1(_0x34551a,_0x3db43a){return _0x303cc1(_0x34551a- -0x58,_0x3db43a);}return this[_0x21bae1(0x9cc,0xeb2)];},![]);}if(this[_0x21c8fc(_0x4a413c._0x1765f0,0x906)]){const _0x51e3de=PolygonStyleConver['toCesiumVal'](this['polygonWallStyle'],{},!![]);_0x51e3de[_0x21c8fc(_0x4a413c._0x29d81d,_0x4a413c._0x147895)]=new Cesium__namespace[(_0x303cc1(0x305,0x150))](_0x198262);const _0x191436={};_0x191436['polygon']=_0x51e3de,this['_wallEntity']=this['dataSource'][_0x21c8fc(-_0x4a413c._0x4de0f6,0x730)][_0x303cc1(_0x4a413c._0x3e08bb,0xdfb)](_0x191436),this[_0x21c8fc(0x792,0xa32)]['_noMousePick']=!![],this['bindPickId'](this[_0x21c8fc(0x1289,_0x4a413c._0x25a046)]);}const _0x22e55={...this['_measured']};_0x22e55[_0x303cc1(_0x4a413c._0x597c73,_0x4a413c._0x3075ff)]=this,_0x22e55['mtype']=this['type'],_0x22e55['graphic']=this;const _0x2fd08a=_0x22e55;this[_0x21c8fc(0xa4b,_0x4a413c._0xa0f227)](EventType['change'],_0x2fd08a,!![]),this[_0x21c8fc(0xb71,0x351)](EventType['end'],_0x2fd08a,!![]),(_0x333ac3=this[_0x21c8fc(-_0x4a413c._0x5296f6,_0x4a413c._0x33744d)])!==null&&_0x333ac3!==void 0x0&&_0x333ac3[_0x21c8fc(_0x4a413c._0x501364,_0x4a413c._0x44bc40)]&&this[_0x303cc1(0x4f9,_0x4a413c._0x1efb4b)][_0x21c8fc(0x58,_0x4a413c._0x2f8cd9)](this);});}[_0x2b6441(0x12df,0x9eb)](_0x486bdd){const _0x28c9f4={_0xf75dca:0xd59,_0x320c14:0x17b2,_0x3100e1:0x8e2,_0x455859:0xad9,_0x13c69b:0x3e1,_0xbb6b24:0x949,_0x44935b:0x133,_0x3f5cb9:0x515,_0x519156:0x456,_0x43daf2:0x978,_0x27bc63:0x150f,_0x599975:0x1065},_0x931064={_0x4e7752:0x566};!_0x486bdd&&(_0x486bdd=this['_measured']);const _0x3c26c9=_0x486bdd['minHeight'],_0x3d7e42=_0x486bdd[_0x57ff0e(_0x28c9f4._0xf75dca,_0x28c9f4._0x320c14)],_0x527f89=this['height'],_0x488f19=_0x486bdd['box']['area'];function _0x57ff0e(_0x7e523e,_0x2c67fe){return _0x306755(_0x2c67fe,_0x7e523e- -_0x931064._0x4e7752);}const _0x3d8923=[],_0x1c0f56=this[_0x153e55(_0x28c9f4._0x3100e1,_0x28c9f4._0x455859)]['offsetHeight'];let _0x24e216=0x0,_0x5c56cb=0x0;function _0x153e55(_0x5d726b,_0x34c02a){return _0x306755(_0x5d726b,_0x34c02a- -0x184);}for(let _0x3003c7=0x0,_0x3141eb=_0x486bdd['count'];_0x3003c7<_0x3141eb;_0x3003c7++){const _0x3af1b5=_0x486bdd[_0x153e55(0x20ee,0x1815)][_0x3003c7];let _0x407c3c=_0x3af1b5[_0x153e55(_0x28c9f4._0x13c69b,0xa6e)];_0x407c3c<_0x3c26c9&&(_0x407c3c=_0x3c26c9);_0x407c3c>_0x3d7e42&&(_0x407c3c=_0x3d7e42);if(_0x407c3c>_0x527f89){_0x24e216+=_0x488f19*(_0x407c3c-_0x527f89);if(this[_0x153e55(0xa19,0x134c)]){const _0x14e393=_0x3af1b5['getOutline'](),_0x150234={};_0x150234[_0x57ff0e(_0x28c9f4._0xbb6b24,0x11f4)]=this['_digBoxColor'],_0x3d8923[_0x57ff0e(_0x28c9f4._0x44935b,-0x927)](new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace[(_0x57ff0e(0x35f,0x1c1))]({'polygonHierarchy':new Cesium__namespace['PolygonHierarchy'](_0x14e393),'extrudedHeight':_0x407c3c+_0x1c0f56,'height':_0x527f89+_0x1c0f56}),'attributes':_0x150234}));}}else{if(_0x407c3c<_0x527f89){_0x5c56cb+=_0x488f19*(_0x527f89-_0x407c3c);if(this[_0x57ff0e(-0x91,0x40e)]){const _0x5a881d=_0x3af1b5['getOutline'](),_0x212943={};_0x212943[_0x153e55(0x12f3,0xd2b)]=this['_fillBoxColor'],_0x3d8923[_0x153e55(-0x51b,_0x28c9f4._0x3f5cb9)](new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['PolygonOutlineGeometry']({'polygonHierarchy':new Cesium__namespace['PolygonHierarchy'](_0x5a881d),'extrudedHeight':_0x527f89+_0x1c0f56,'height':_0x407c3c+_0x1c0f56}),'attributes':_0x212943}));}}}}_0x486bdd['digVolume']=_0x24e216,_0x486bdd['fillVolume']=_0x5c56cb;this['_primitive_boxs']&&(this['_layer']['primitiveCollection'][_0x57ff0e(_0x28c9f4._0x519156,0xcff)](this['_primitive_boxs']),delete this['_primitive_boxs']);if(_0x3d8923['length']>0x0){const _0x79e7b2={};_0x79e7b2['lineWidth']=0x1;const _0x4ceb31={};_0x4ceb31['flat']=!![],_0x4ceb31[_0x153e55(0x3f2,0x373)]=_0x79e7b2,this['_primitive_boxs']=new Cesium__namespace[(_0x153e55(-0x9e,_0x28c9f4._0x43daf2))]({'geometryInstances':_0x3d8923,'appearance':new Cesium__namespace[(_0x153e55(0x15e3,_0x28c9f4._0x27bc63))](_0x4ceb31),'asynchronous':!![]}),this['_layer'][_0x57ff0e(0x7e3,0x8b2)]['add'](this['_primitive_boxs']),this[_0x153e55(0x192e,_0x28c9f4._0x599975)][_0x153e55(-0x95,0x630)]=!![],this[_0x57ff0e(0xed6,0x8e1)](this['_primitive_boxs']);}return _0x486bdd;}['addPointHeightLabel'](_0x1e75b6,_0x39938f){const _0x1751b6={_0x5b5651:0xb30,_0xd9ce9:0x8a4,_0x2fb7d9:0x1ee,_0x178dec:0x2b,_0x9e0826:0x10b7,_0x2a6739:0xfc6},_0x45a83f={_0x5b598b:0x223},_0x1f5c78={_0x320b1e:0xd9f,_0x5a9432:0x1628,_0x23681d:0x1caa,_0x3be5fb:0x18eb,_0x2c4ed7:0xd20,_0x5cb482:0xf7e,_0x356c00:0x135a,_0x1bf03e:0x1372,_0x124098:0x16da};this['removePointHeightLabel']();function _0x5c3d73(_0x2f574d,_0x2fd06b){return _0x306755(_0x2fd06b,_0x2f574d- -0x4ab);}const _0x2be658=this,_0x576311=[];for(let _0xee45f5=0x0;_0xee45f5<_0x1e75b6['length'];_0xee45f5++){const _0x26e973=Cesium__namespace['Cartographic']['fromCartesian'](_0x1e75b6[_0xee45f5]),_0x423960={};_0x423960['original']=!![];const _0x4867df=Math['max'](getHeight(this['_map'][_0x5c3d73(0x5ba,0xee1)],_0x26e973,_0x423960),_0x39938f),_0x48fc1f=Cesium__namespace['Cartesian3']['fromRadians'](_0x26e973[_0x18f253(0x928,0xdcc)],_0x26e973['latitude'],_0x4867df),_0x6d90ed=this['_createLabel'](this[_0x18f253(_0x1751b6._0x5b5651,0x95b)],_0x48fc1f),_0x56d52a={};_0x56d52a[_0x5c3d73(_0x1751b6._0xd9ce9,0x6ae)]=_0x4867df,_0x6d90ed['attr']=_0x56d52a,_0x576311[_0x5c3d73(_0x1751b6._0x2fb7d9,_0x1751b6._0x178dec)](_0x6d90ed),_0x6d90ed['showText']=function(){const _0x27129a={_0x36a734:0x331};function _0x332436(_0x305930,_0x55447f){return _0x5c3d73(_0x55447f-0x3bc,_0x305930);}const _0x18f769=this[_0x332436(_0x1f5c78._0x320b1e,0xc0d)]['value'];let _0x4e7d85=_0x2be658['_map'][_0x332436(_0x1f5c78._0x5a9432,0xc7e)](_0x329a3a(_0x1f5c78._0x23681d,0x1841))+':'+_0x18f769['toFixed'](0x2)+_0x2be658['_map']['getLangText']('_米');function _0x329a3a(_0x33dec4,_0x137586){return _0x18f253(_0x33dec4,_0x137586-_0x27129a._0x36a734);}if(_0x2be658[_0x332436(0x2198,_0x1f5c78._0x3be5fb)]){const _0x204851=_0x18f769-_0x2be658[_0x329a3a(0xbfe,0xba5)];_0x204851>0x0?_0x4e7d85+='\x0a'+_0x2be658['_map']['getLangText']('_高度')+':'+_0x204851['toFixed'](0x2)+_0x2be658['_map'][_0x329a3a(0xd18,_0x1f5c78._0x2c4ed7)]('_米')+'('+_0x2be658['_map']['getLangText'](_0x332436(0x771,_0x1f5c78._0x5cb482))+')':_0x4e7d85+='\x0a'+_0x2be658[_0x329a3a(_0x1f5c78._0x356c00,0x177c)]['getLangText']('_高度')+':'+Math[_0x332436(0x17e5,_0x1f5c78._0x1bf03e)](_0x204851)['toFixed'](0x2)+_0x2be658[_0x332436(0xf4e,_0x1f5c78._0x124098)][_0x329a3a(0x1674,0xd20)]('_米')+'('+_0x2be658['_map']['getLangText']('_面下')+')';}return this['text']=_0x4e7d85,_0x4e7d85;},_0x6d90ed['showText']();}function _0x18f253(_0x3703b4,_0x5148b7){return _0x2b6441(_0x3703b4,_0x5148b7-_0x45a83f._0x5b598b);}this[_0x5c3d73(_0x1751b6._0x9e0826,_0x1751b6._0x2a6739)]=_0x576311;}[_0x2b6441(0x841,0x12bc)](){const _0x2a6dba={_0x2d6a34:0x1733,_0x1b854f:0x144f,_0x3b20e9:0x165e,_0x57d907:0xba5},_0x386b81={_0x2e307b:0x522};function _0x510d54(_0x63945d,_0x40beff){return _0x306755(_0x40beff,_0x63945d- -0x113);}function _0x52dfdf(_0x4b70ce,_0xacf264){return _0x2b6441(_0x4b70ce,_0xacf264-_0x386b81._0x2e307b);}if(Cesium__namespace[_0x52dfdf(0xf43,_0x2a6dba._0x2d6a34)](this[_0x510d54(_0x2a6dba._0x1b854f,0x1bee)])&&this[_0x510d54(0x144f,_0x2a6dba._0x3b20e9)]['length']>0x0){const _0x518fbd=this[_0x52dfdf(0xc9d,0x14e3)];if(_0x518fbd&&_0x518fbd['length']>0x0)for(let _0x3e2704=0x0,_0x4cef34=_0x518fbd['length'];_0x3e2704<_0x4cef34;_0x3e2704++){this[_0x52dfdf(0x107e,_0x2a6dba._0x57d907)](_0x518fbd[_0x3e2704]);}delete this['_arrPartMeasureLable'];}}['_toJSON_Ex'](_0x4570b2){const _0x1fd736={_0x24cad3:0x3dd,_0x593e01:0xa55,_0x325551:0x1a0,_0x213753:0x19a,_0x4cd201:0x132,_0x28c374:0xabb},_0x21e16c={_0x288246:0x44a},_0x1e7e2f={_0x30abc4:0x2a7};function _0x10788e(_0x6dbbac,_0x2519c4){return _0x306755(_0x2519c4,_0x6dbbac- -_0x1e7e2f._0x30abc4);}const _0x28f892={};function _0x5a8771(_0x52de92,_0x5db703){return _0x306755(_0x5db703,_0x52de92- -_0x21e16c._0x288246);}_0x28f892[_0x10788e(0x1279,0x19a5)]=this[_0x5a8771(0x60,-0x4e0)]['fillVolume'],_0x28f892['digVolume']=this[_0x10788e(0x203,0xa50)][_0x5a8771(0x426,-_0x1fd736._0x24cad3)],_0x28f892['totalArea']=this[_0x10788e(0x203,_0x1fd736._0x593e01)]['totalArea'],_0x28f892[_0x5a8771(0x3f6,_0x1fd736._0x325551)]=this[_0x10788e(0x203,_0x1fd736._0x213753)]['minHeight'],_0x28f892['maxHeight']=this['_measured']['maxHeight'],_0x4570b2[_0x5a8771(_0x1fd736._0x4cd201,_0x1fd736._0x28c374)]=_0x28f892;}}register$5('volumeDepthMeasure',VolumeDepthMeasure);class PointPrimitive extends BasePointPrimitive{get['primitiveCollection'](){const _0x3578aa={_0x3087ea:0xf94},_0x51a8c1={_0x28eb71:0x4d7};var _0x4c610f;function _0x4b4de1(_0x4331c8,_0x12a2ac){return _0x306755(_0x12a2ac,_0x4331c8- -_0x51a8c1._0x28eb71);}return(_0x4c610f=this[_0x4b4de1(0xeed,_0x3578aa._0x3087ea)])===null||_0x4c610f===void 0x0?void 0x0:_0x4c610f['pointCollection'];}['_showHook'](_0x556f21){function _0x2e4dae(_0x382aac,_0x257bca){return _0x2b6441(_0x382aac,_0x257bca- -0x90);}if(this['_primitive'])this[_0x2e4dae(0x688,0x916)]['show']=_0x556f21;else _0x556f21&&super['_showHook'](_0x556f21);}[_0x306755(0x8f1,0x99e)](_0x1214eb){const _0x1d2066={_0x83e8b2:0xdfc,_0x7aecbb:0xf73,_0x99bf75:0xa0e,_0x49eec9:0x706,_0x30701d:0xbb9,_0x2ab4ff:0xca8,_0x59a81f:0x32e};function _0x6784fb(_0x4d8e9d,_0x3bc8bb){return _0x306755(_0x4d8e9d,_0x3bc8bb- -0x18);}function _0x370848(_0x13be89,_0x212c5f){return _0x2b6441(_0x13be89,_0x212c5f- -0x9d);}if(!this['show'])return;this['_forPositionProperty'](this[_0x370848(0x6bd,0x61f)][_0x370848(0x5e2,0xbb9)]),this[_0x370848(_0x1d2066._0x83e8b2,0xc1e)]();this['_primitive']&&this['primitiveCollection'][_0x6784fb(0x513,0x9a4)](this[_0x6784fb(_0x1d2066._0x7aecbb,0xf2f)]);const _0x1e7631=PointStyleConver[_0x370848(0xd1a,_0x1d2066._0x99bf75)](this[_0x370848(-_0x1d2066._0x49eec9,0x218)],{'show':this[_0x370848(0x1926,0xf55)],'position':this[_0x370848(0xbe3,_0x1d2066._0x30701d)]});this['_primitive']=this['primitiveCollection']['add'](_0x1e7631),_0x1214eb['label']&&this[_0x6784fb(0x3d5,_0x1d2066._0x2ab4ff)](_0x1214eb[_0x370848(_0x1d2066._0x59a81f,0x22d)]);}[_0x306755(0xd51,0x105d)](_0x596fe4,_0x4b9213){const _0x5b5627={_0x584d15:0xbfa};function _0x263006(_0x40670d,_0x23bd20){return _0x306755(_0x40670d,_0x23bd20-0x153);}delete _0x4b9213[_0x263006(_0x5b5627._0x584d15,0xbb8)],delete _0x4b9213['position'],PointStyleConver['toCesiumVal'](_0x4b9213,this['primitive']);}['_style2Json'](_0x3949f5,_0x1b7391){function _0x4aaf9c(_0x36bb89,_0x41f4d7){return _0x2b6441(_0x36bb89,_0x41f4d7-0x4b5);}return delete _0x3949f5['scene'],delete _0x3949f5['position'],PointStyleConver[_0x4aaf9c(0x13eb,0xa1e)](_0x3949f5,_0x1b7391);}[_0x306755(-0x12c,0x96b)](){const _0x2c8d35={_0x47c278:0x134c};function _0xffc77e(_0x223e67,_0x4c8877){return _0x2b6441(_0x223e67,_0x4c8877-0x6f6);}this['_primitive']['position']=this[_0xffc77e(0x1d88,_0x2c8d35._0x47c278)];}async['_calculateAsynSurfacePosition'](){const _0x51ac25={_0x350a57:0xe30,_0x5377b8:0x1838,_0x4fa6ce:0x11f9,_0x9b957b:0x4a0,_0x24ae56:0x192b,_0xdded81:0x11df,_0x1e9fdb:0x6e0};function _0x515ae9(_0x585cc6,_0x4d3d4a){return _0x2b6441(_0x585cc6,_0x4d3d4a-0x5df);}function _0x4ddf66(_0x4bce8b,_0x3a2ca4){return _0x2b6441(_0x4bce8b,_0x3a2ca4-0x589);}if(this[_0x4ddf66(_0x51ac25._0x350a57,0x83e)]['clampToGround']||Cesium__namespace['defined'](this['style']['heightReference'])&&this['style'][_0x4ddf66(0x1c7,0xc02)]!==Cesium__namespace[_0x515ae9(0xe65,0x16b9)][_0x4ddf66(_0x51ac25._0x5377b8,_0x51ac25._0x4fa6ce)]){if(this['style'][_0x515ae9(_0x51ac25._0x9b957b,0xd02)]){const _0x14cf7e=await getSurfaceHeight(this[_0x4ddf66(0xd79,0x17b1)]['scene'],this[_0x515ae9(_0x51ac25._0x24ae56,0x1235)],this['style']);this['position']=_0x14cf7e[_0x4ddf66(0x148f,_0x51ac25._0xdded81)];}else this['position']=getSurfacePosition(this['_map']['scene'],this['position'],this[_0x4ddf66(_0x51ac25._0x1e9fdb,0x83e)]);}}['_updateAvailabilityHook'](_0x2ce28c){const _0x5e2d6e={_0x242793:0x798,_0x93ec10:0x634,_0xd43e2f:0xf3e,_0xd6aef1:0xc37,_0x356e92:0x123e},_0xec9f86={_0x149050:0x1aec},_0x36b334={_0x1bcb3d:0x2dd};function _0x3653be(_0x463153,_0x4e6792){return _0x306755(_0x463153,_0x4e6792- -0x304);}_0x2ce28c?this[_0x30d482(_0x5e2d6e._0x242793,_0x5e2d6e._0x93ec10)]():(this[_0x30d482(0xfb4,0xeec)](),this[_0x30d482(0x1812,_0x5e2d6e._0xd43e2f)]['show']=this['show'],this['czmObjectEx'][_0x30d482(0x4d6,_0x5e2d6e._0xd6aef1)](_0x4564c5=>{function _0x15728f(_0x28868d,_0x1379e2){return _0x30d482(_0x1379e2,_0x28868d- -_0x36b334._0x1bcb3d);}_0x4564c5[_0x15728f(0x12ad,_0xec9f86._0x149050)]=this['show'];}));function _0x30d482(_0x5e87c1,_0x3ceead){return _0x306755(_0x5e87c1,_0x3ceead- -0x9);}this[_0x3653be(0x14bb,_0x5e2d6e._0x356e92)]&&(this[_0x3653be(0xc65,_0x5e2d6e._0x356e92)][_0x30d482(0x100e,0x9f3)]=_0x2ce28c);}['setOpacity'](_0x3aa42e){const _0x4adf27={_0x1ba9d3:0x1306};this['style']['globalAlpha']=_0x3aa42e,PointStyleConver['setOpacity'](this[_0x2e8094(_0x4adf27._0x1ba9d3,0x859)],_0x3aa42e);function _0x2e8094(_0x34bd24,_0x38d437){return _0x2b6441(_0x34bd24,_0x38d437-0x6a2);}this['_updateLabelOpacity'](_0x3aa42e);}['_getDrawEntityClass'](_0x224081,_0x498076){return create$5('point',_0x224081);}['getWindowCoordinates'](_0x41f9ac){const _0x379dff={_0xc393dd:0x1357,_0x468131:0xd64};function _0x34c453(_0x381ba7,_0x43d5e8){return _0x306755(_0x381ba7,_0x43d5e8- -0x502);}function _0x461b3c(_0xa6c212,_0x1a6826){return _0x306755(_0x1a6826,_0xa6c212- -0xbc);}return this[_0x461b3c(0xe8b,_0x379dff._0xc393dd)][_0x461b3c(_0x379dff._0x468131,0xa2c)](this['_map']['scene'],_0x41f9ac);}['getBoundingBox'](_0x3a3432,_0x4b8bff){function _0x52342d(_0x2210e1,_0x1a36f4){return _0x306755(_0x2210e1,_0x1a36f4- -0x3fb);}function _0x132a48(_0x52041d,_0x1f761c){return _0x2b6441(_0x52041d,_0x1f761c-0x69);}return Cesium__namespace['PointPrimitive'][_0x132a48(0x1796,0x10d7)](this[_0x132a48(0xbfd,0xa0f)],_0x3a3432,_0x4b8bff);}}register$5('pointP',PointPrimitive,!![]);class BillboardPrimitive extends BasePointPrimitive{get['primitiveCollection'](){var _0x33ecaf;return(_0x33ecaf=this['_layer'])===null||_0x33ecaf===void 0x0?void 0x0:_0x33ecaf['billboardCollection'];}get[_0x306755(0xa02,0xe30)](){const _0x989736={_0x72d8ee:0x11e3,_0x85b103:0xba9,_0x33118d:0x96,_0x5c8500:0xdc5},_0x4a8b78={_0x139bce:0x164},_0x22b6bc=[];function _0x1e82b7(_0x45257d,_0x3ef755){return _0x2b6441(_0x3ef755,_0x45257d-0x280);}this[_0x1e82b7(_0x989736._0x72d8ee,_0x989736._0x85b103)]&&_0x22b6bc[_0x1ee3cb(0x535,-_0x989736._0x33118d)](this['_primitive_label']);this[_0x1e82b7(_0x989736._0x5c8500,0x61e)]&&_0x22b6bc['push'](this['_primitive_point']);function _0x1ee3cb(_0x34106c,_0x2e2641){return _0x306755(_0x2e2641,_0x34106c- -_0x4a8b78._0x139bce);}return _0x22b6bc;}get[_0x2b6441(-0x490,0x116)](){const _0x24ffe2={_0xf61c79:0x987},_0x24ac1b={_0x22fbec:0xa9},_0x53ce2a={_0xbe2631:0x33e};function _0x414197(_0x376180,_0x35e538){return _0x306755(_0x376180,_0x35e538- -_0x53ce2a._0xbe2631);}function _0x28ee68(_0x2f7a70,_0x12293c){return _0x306755(_0x12293c,_0x2f7a70-_0x24ac1b._0x22fbec);}return this[_0x28ee68(0x8ff,_0x24ffe2._0xf61c79)][_0x414197(-0x418,0x379)];}set[_0x306755(0x3,0x6b7)](_0x41ef66){const _0x185f09={_0x5b14c0:0xbe6,_0x1a40ac:0xc90,_0x2d57c8:0x3bf};function _0x14979b(_0x4bcbc5,_0x79bb84){return _0x306755(_0x4bcbc5,_0x79bb84- -0x2b7);}function _0x5ebe9d(_0x831e45,_0x515018){return _0x306755(_0x831e45,_0x515018- -0x175);}this[_0x5ebe9d(_0x185f09._0x5b14c0,0x6e1)]['image']=_0x41ef66,this[_0x14979b(0x15e5,_0x185f09._0x1a40ac)]&&(this['_primitive'][_0x5ebe9d(_0x185f09._0x2d57c8,0x542)]=_0x41ef66);}[_0x306755(-0x307,0x643)](_0x217fa0){const _0x6e8102={_0x42bba7:0x766},_0x3fc4f5={_0x4320e7:0x5b3},_0x3c84e4={_0x3bd692:0x123};function _0x415a28(_0xe1bd16,_0x503907){return _0x306755(_0xe1bd16,_0x503907-_0x3c84e4._0x3bd692);}function _0x531b97(_0x35f158,_0x552ea4){return _0x2b6441(_0x35f158,_0x552ea4-_0x3fc4f5._0x4320e7);}if(this[_0x415a28(0x9c9,0x106a)])this['_primitive']['show']=_0x217fa0;else _0x217fa0&&super[_0x415a28(0xe66,_0x6e8102._0x42bba7)](_0x217fa0);}['_addedHook'](_0x4cc5b0){const _0x1bc5f9={_0x46a32a:0x144f,_0x71cfcb:0x1474,_0x1ebc39:0x87e,_0x4ed768:0x1035,_0x113db8:0x10e9,_0x2fba42:0x9e1,_0x5d2371:0xd41,_0x4bc193:0x712,_0x2eebbb:0x127a,_0x570ab6:0x10e9,_0x34d3e1:0xfcf,_0x4684ff:0x243,_0x5a5f6e:0x81e};if(!this[_0x2b0752(_0x1bc5f9._0x46a32a,_0x1bc5f9._0x71cfcb)])return;this['_forPositionProperty'](this[_0x2b0752(0xb19,_0x1bc5f9._0x1ebc39)][_0x2b0752(0x10b3,_0x1bc5f9._0x4ed768)]);const _0xb1e8e6={};_0xb1e8e6[_0x777f64(_0x1bc5f9._0x113db8,0xbf5)]=this['show'],_0xb1e8e6[_0x777f64(0xd4d,_0x1bc5f9._0x2fba42)]=this['position'];const _0x3e6819=BillboardStyleConver['toCesiumVal'](_0x4cc5b0,_0xb1e8e6);function _0x777f64(_0x45d96f,_0x2ba3a3){return _0x306755(_0x2ba3a3,_0x45d96f- -0x4aa);}this['_primitive']=this['primitiveCollection'][_0x2b0752(0xbea,0x127c)](_0x3e6819);_0x4cc5b0['label']&&this['_addLabel'](_0x4cc5b0[_0x777f64(0x3c1,_0x1bc5f9._0x5d2371)]);function _0x2b0752(_0x454bdb,_0x2212e4){return _0x306755(_0x2212e4,_0x454bdb- -0x144);}if(this[_0x2b0752(_0x1bc5f9._0x4bc193,0x737)]['distanceDisplayCondition']){if(this['style'][_0x2b0752(_0x1bc5f9._0x2eebbb,0x13ce)]){var _0x262843;const _0x957aad=PointStyleConver['toCesiumVal'](this[_0x777f64(0x3ac,0xadb)][_0x777f64(0xf14,0x17c2)],{'show':this[_0x777f64(_0x1bc5f9._0x570ab6,0xb9b)],'position':this['position']});_0x957aad['distanceDisplayCondition']=this['_getTargetDistanceDisplayCondition'](this['style']['distanceDisplayPoint']),this[_0x777f64(0xc3c,_0x1bc5f9._0x34d3e1)]=(_0x262843=this['_layer'])===null||_0x262843===void 0x0?void 0x0:_0x262843[_0x777f64(_0x1bc5f9._0x4684ff,-_0x1bc5f9._0x5a5f6e)]['add'](_0x957aad);}}}[_0x306755(0x1190,0xe2b)](){const _0x5f1e35={_0x43f187:0x396},_0x5af8d3={_0x328cc0:0x85};super['_removedHook']();function _0x213068(_0x3b286d,_0x4a58ea){return _0x2b6441(_0x4a58ea,_0x3b286d-0x2e6);}function _0x2dfdb9(_0x4f5607,_0x756920){return _0x2b6441(_0x756920,_0x4f5607- -_0x5af8d3._0x328cc0);}if(this['_primitive_point']){var _0xcac657;(_0xcac657=this['_layer'])===null||_0xcac657===void 0x0||_0xcac657['pointCollection'][_0x2dfdb9(_0x5f1e35._0x43f187,-0x57a)](this['_primitive_point']),delete this[_0x213068(0xe2b,0x12fb)];}}['_updateStyleHook'](_0x254f72,_0x11835e){const _0x4b6366={_0x584481:0xc3d,_0x4ac73e:0xd8e,_0xfa0afb:0x13e0,_0x21efc1:0x15e7};function _0x28f9bc(_0x458cc7,_0x192edc){return _0x2b6441(_0x192edc,_0x458cc7-0x5c3);}function _0x10b435(_0x4c301c,_0x59c3dd){return _0x306755(_0x59c3dd,_0x4c301c- -0x190);}BillboardStyleConver['toCesiumVal'](_0x254f72,this['primitive']),this[_0x10b435(0x6c6,0xfdd)]['distanceDisplayCondition']&&(_0x11835e['distanceDisplayPoint']&&this['_primitive_point']&&(PointStyleConver['toCesiumVal'](this['style']['distanceDisplayPoint'],this['_primitive_point']),this['_primitive_point']['distanceDisplayCondition']=this[_0x28f9bc(_0x4b6366._0x584481,_0x4b6366._0x4ac73e)](this['style'][_0x28f9bc(_0x4b6366._0xfa0afb,_0x4b6366._0x21efc1)])));}['_style2Json'](_0x5a4c83,_0x414604){const _0x3239ce={_0x56cab3:0x18d,_0x50ef35:0x8bd},_0x5f5506={_0x2878b9:0x24d};function _0x5bfc65(_0x2a46a0,_0x25a1d7){return _0x306755(_0x2a46a0,_0x25a1d7- -_0x5f5506._0x2878b9);}return BillboardStyleConver[_0x5bfc65(_0x3239ce._0x56cab3,_0x3239ce._0x50ef35)](_0x5a4c83,_0x414604);}[_0x306755(0x133,0x96b)](){const _0x2b7a76={_0x392d55:0xc51,_0x37a764:0xb04,_0x1f0403:0xb49,_0x281071:0xf16,_0x443cfc:0x153d,_0x475e2d:0xf77,_0x1c7644:0x1111};function _0x385094(_0x1baede,_0x3e6dd9){return _0x306755(_0x3e6dd9,_0x1baede- -0x12d);}function _0x5c8819(_0xb92f89,_0x54c40f){return _0x306755(_0xb92f89,_0x54c40f- -0x4fa);}if(!this[_0x385094(0xe1a,0x58d)][_0x5c8819(-0x71e,-0x86)])return;this[_0x5c8819(0x11d4,0xa4d)]['position']=this[_0x5c8819(_0x2b7a76._0x392d55,0xcfd)],Cesium__namespace['defined'](this['style']['alignedAxis'])&&(this[_0x5c8819(0xa5c,0xa4d)][_0x5c8819(_0x2b7a76._0x37a764,_0x2b7a76._0x1f0403)]=getCesiumValue(this['style'][_0x385094(_0x2b7a76._0x281071,_0x2b7a76._0x443cfc)],Cesium__namespace['Cartesian3'],this[_0x5c8819(0x162d,0x12cf)]['clock'][_0x385094(0xa7f,0x13da)])),this['_primitive_point']&&(this[_0x385094(0xfb9,0xea6)][_0x385094(0x10ca,_0x2b7a76._0x475e2d)]=this[_0x5c8819(_0x2b7a76._0x1c7644,0xcfd)]);}[_0x306755(0x123e,0x18ee)](_0x3c2638){const _0xb35974={_0xd56b87:0x1949,_0xfbc7a4:0x949,_0x2dc553:0xa0b,_0x39c0f1:0x11fd},_0x4ddf04={_0x2e3ac0:0x702},_0x3d9c36={_0x544760:0x4a4};this['style'][_0x93d63b(_0xb35974._0xd56b87,0x131a)]=_0x3c2638;this['_primitive']&&(this['_primitive'][_0x93d63b(_0xb35974._0xfbc7a4,_0xb35974._0x2dc553)]=Cesium__namespace['Color']['WHITE']['withAlpha'](_0x3c2638));function _0x93d63b(_0x13f1e4,_0x35dc9d){return _0x306755(_0x13f1e4,_0x35dc9d- -_0x3d9c36._0x544760);}function _0x2a2a70(_0x48a00e,_0x54d1bd){return _0x2b6441(_0x54d1bd,_0x48a00e-_0x4ddf04._0x2e3ac0);}this[_0x93d63b(0x1cb3,_0xb35974._0x39c0f1)](_0x3c2638);}['_updateAvailabilityHook'](_0x555a9b){const _0x27db0d={_0xa44427:0x556},_0x15257e={_0xf148f5:0x406},_0x5dbc72={_0x2bf7e0:0x330};function _0x446d93(_0x4df3af,_0x3472b0){return _0x306755(_0x3472b0,_0x4df3af- -_0x5dbc72._0x2bf7e0);}function _0x1eaa85(_0x3b1360,_0x348f77){return _0x306755(_0x3b1360,_0x348f77- -_0x15257e._0xf148f5);}_0x555a9b?this[_0x1eaa85(-_0x27db0d._0xa44427,0x237)]():(this['unbindUpdateEvent'](),this['_primitive']['show']=this[_0x446d93(0x1263,0xde6)],this['czmObjectEx']['forEach'](_0xcaaea8=>{_0xcaaea8['show']=this['show'];})),this['_editing_entity']&&(this['_editing_entity'][_0x1eaa85(0xed4,0x5f6)]=_0x555a9b);}[_0x2b6441(0x40d,0x67a)](_0x2622cb){const _0xae6fa0={_0x53f4f8:0x240,_0x339393:0x4a1,_0x3a1081:0x1cf,_0x4a266e:0x8b5,_0x4eac0c:0x1677},_0xd44e71={_0x37f869:0x1ec},_0x318a9d={_0x58fda9:0x600};let _0x26f321;function _0x305788(_0x71e98c,_0x52f059){return _0x2b6441(_0x71e98c,_0x52f059-_0x318a9d._0x58fda9);}function _0xc3102b(_0xbfc4b3,_0x53895e){return _0x2b6441(_0xbfc4b3,_0x53895e-_0xd44e71._0x37f869);}if(this[_0xc3102b(-_0xae6fa0._0x53f4f8,_0xae6fa0._0x339393)]['distanceDisplayCondition']instanceof Cesium__namespace['DistanceDisplayCondition'])_0x26f321=this['style']['distanceDisplayCondition']['far'];else this[_0x305788(-_0xae6fa0._0x3a1081,_0xae6fa0._0x4a266e)]['distanceDisplayCondition_far']&&(_0x26f321=this['style']['distanceDisplayCondition_far']);return new Cesium__namespace[(_0x305788(0x1180,0x892))](_0x2622cb['distanceDisplayCondition_near']??_0x26f321,_0x2622cb[_0x305788(_0xae6fa0._0x4eac0c,0x182c)]??Number[_0x305788(0x3a6,0xb4a)]);}['_getDrawEntityClass'](_0x360d09,_0x4b5562){function _0x6b7b4c(_0x43af6c,_0x34be6b){return _0x306755(_0x43af6c,_0x34be6b- -0x4d1);}return create$5(_0x6b7b4c(0x184f,0x1270),_0x360d09);}['getWindowCoordinates'](_0xd7af19){const _0x2ff50c={_0x1a12ff:0x785,_0x3ed027:0x185b,_0x38401d:0x1493},_0x2b925e={_0x489b80:0x353};function _0x31bc44(_0x8fc541,_0x161169){return _0x306755(_0x161169,_0x8fc541- -_0x2b925e._0x489b80);}function _0x4c63c4(_0x6255de,_0x11d338){return _0x306755(_0x11d338,_0x6255de-0x92);}return this[_0x4c63c4(0xfd9,_0x2ff50c._0x1a12ff)]['computeScreenSpacePosition'](this[_0x4c63c4(_0x2ff50c._0x3ed027,_0x2ff50c._0x38401d)]['scene'],_0xd7af19);}[_0x2b6441(-0x2d5,0x34c)](_0x2df97a,_0x2bca14){const _0x259167={_0x24e9a3:0xf80,_0x2606c4:0x889,_0x568a30:0x1131,_0xf06f6d:0x634,_0xacb74d:0x9e0,_0x1dc86d:0x9cd,_0x815865:0x1036};function _0x3fbd4b(_0x471a41,_0x58f96c){return _0x306755(_0x471a41,_0x58f96c- -0x5d9);}function _0x2c8840(_0x25a3d8,_0x9ab039){return _0x306755(_0x9ab039,_0x25a3d8- -0x362);}if(this['_primitive'][_0x2c8840(0x889,0x1b1)]&&this['_primitive'][_0x3fbd4b(_0x259167._0x24e9a3,0x619)])return Cesium__namespace[_0x3fbd4b(0xcae,0x885)]['getScreenSpaceBoundingBox'](this['_primitive'],_0x2df97a,_0x2bca14);else{const _0x372263={};return _0x372263['width']=this[_0x2c8840(0xbe5,0x1218)][_0x2c8840(_0x259167._0x2606c4,_0x259167._0x568a30)]||0x1e,_0x372263['height']=this['_primitive']['height']||0x1e,_0x372263['scale']=this['_primitive']['scale']||0x1,_0x372263[_0x2c8840(0xc44,_0x259167._0xf06f6d)]=this[_0x3fbd4b(_0x259167._0xacb74d,0x96e)][_0x3fbd4b(0x9ea,_0x259167._0x1dc86d)],_0x372263[_0x2c8840(0xecf,0xfc9)]=this[_0x3fbd4b(0x1370,0x96e)]['verticalOrigin'],Cesium__namespace[_0x3fbd4b(0xd4f,0x885)][_0x3fbd4b(0xfcd,_0x259167._0x815865)](_0x372263,_0x2df97a,_0x2bca14);}}}register$5(_0x306755(0x14af,0x1657),BillboardPrimitive,!![]);class DivBillboardPrimitive extends BillboardPrimitive{['_mountedHook'](){super['_mountedHook'](),this['_updateImage_delay']();}['_updateStyleHook'](_0x4b11fe,_0x4d529b){const _0x464d0f={_0x2d9503:0x7a0,_0x386831:0x15bd};function _0x5a56b5(_0x308348,_0xe27189){return _0x2b6441(_0xe27189,_0x308348-0x3ef);}function _0x1e27ad(_0x313bf8,_0x4018e8){return _0x2b6441(_0x4018e8,_0x313bf8-0x68a);}delete _0x4b11fe[_0x1e27ad(_0x464d0f._0x2d9503,0x39a)],super['_updateStyleHook'](_0x4b11fe,_0x4d529b),_0x4d529b&&(_0x4d529b['html']||_0x4d529b['iconSize']||_0x4d529b[_0x5a56b5(0xcfd,_0x464d0f._0x386831)])&&this[_0x1e27ad(0xb9f,0x5a7)]();}['_updateImage_delay'](){const _0x3b91e6={_0x468657:0x582},_0x5cceb0={_0x5edaf2:0x849};function _0x2905e0(_0x5d8fce,_0x42a03f){return _0x306755(_0x5d8fce,_0x42a03f-0x39);}this[_0x2905e0(0xfed,_0x3b91e6._0x468657)]&&clearTimeout(this['updateTimer']),this['updateTimer']=setTimeout(()=>{function _0x1963ca(_0x58514c,_0x58f280){return _0x2905e0(_0x58514c,_0x58f280- -0x540);}delete this['updateTimer'];if(this['isDestroy'])return;this[_0x1963ca(0x20c,_0x5cceb0._0x5edaf2)]();},0x12c);}['_updateImage'](){const _0x299e18={_0x5b7fe9:0x903,_0x32b3b8:0x1517,_0x537fcb:0xe1d,_0x5d43fe:0x1760,_0x5e28ee:0x1390},_0x2b98e8={_0x234d13:0x65a},_0x466145={_0x3828ca:0xba},_0xc383db={_0x27e6ce:0x584};if(this['isDestroy'])return;function _0x23f48c(_0x1babe5,_0x21b8bf){return _0x306755(_0x21b8bf,_0x1babe5- -0x53f);}function _0x337218(_0xf02903,_0x18851f){return _0x2b6441(_0x18851f,_0xf02903-_0xc383db._0x27e6ce);}const _0x3c7a7d=create$4(_0x337218(0x867,_0x299e18._0x5b7fe9),_0x337218(0x955,0x9b0)),_0x3d8b33=this['style'][_0x337218(0xfdd,_0x299e18._0x32b3b8)];if(isString(_0x3d8b33))_0x3c7a7d['innerHTML']=_0x3d8b33;else _0x3d8b33 instanceof Element&&_0x3c7a7d['appendChild'](_0x3d8b33);document['body'][_0x337218(0x1014,0xdad)](_0x3c7a7d),this['_islosdImg']=!![];if(window[_0x23f48c(_0x299e18._0x537fcb,0x135d)])window[_0x23f48c(0xe1d,0x1008)]['toPng'](_0x3c7a7d)['then'](_0x3a1d5e=>{this['image']=''+_0x3a1d5e,document['body']['removeChild'](_0x3c7a7d);function _0x34a701(_0x5c33b5,_0x26a5bf){return _0x337218(_0x26a5bf- -0xe1,_0x5c33b5);}this[_0x2d7225(0x10c6,0x1460)]=![];function _0x2d7225(_0xc3ed75,_0x1a93e4){return _0x23f48c(_0xc3ed75- -_0x466145._0x3828ca,_0x1a93e4);}const _0x1900db={};_0x1900db[_0x34a701(0x352,0x5b9)]=_0x3a1d5e,this['fire'](_0x2d7225(0xbe,0x2ae),_0x1900db);})['catch'](_0x5260d8=>{const _0x2b37b6={_0x100d8a:0x411};logError('未知原因,导出失败!',_0x5260d8);function _0x2c7861(_0x44cbc0,_0x39ec78){return _0x23f48c(_0x39ec78-0x43e,_0x44cbc0);}document['body'][_0x2c7861(0x1213,0x105b)](_0x3c7a7d);function _0x2b2a86(_0x359ac1,_0x3cb742){return _0x23f48c(_0x3cb742-_0x2b37b6._0x100d8a,_0x359ac1);}this[_0x2c7861(0x1283,0x15be)]=![];});else{if(window['html2canvas']){const _0x293c0f={};_0x293c0f[_0x337218(_0x299e18._0x5d43fe,_0x299e18._0x5e28ee)]=null,_0x293c0f['allowTaint']=!![],window['html2canvas'](_0x3c7a7d,_0x293c0f)['then'](_0x24d859=>{this['image']=_0x24d859,document['body']['removeChild'](_0x3c7a7d),this[_0x82986c(0x1584,0x150b)]=![];const _0x24b725={};_0x24b725['canvas']=_0x24d859;function _0x3bff6c(_0x431ff3,_0x514180){return _0x23f48c(_0x514180-_0x2b98e8._0x234d13,_0x431ff3);}function _0x82986c(_0x41d5c6,_0x5da712){return _0x337218(_0x41d5c6- -0x11e,_0x5da712);}this['fire'](_0x3bff6c(0x63,0x7d2),_0x24b725);})['catch'](_0x4d3029=>{logError('未知原因,导出失败!',_0x4d3029),document['body']['removeChild'](_0x3c7a7d),this['_islosdImg']=![];});}}}}register$5('divBillboardP',DivBillboardPrimitive,!![]);const _0x53ee98={};_0x53ee98['rectX']=0x64,_0x53ee98['rectY']=-0x32,_0x53ee98['rectColor']='rgb(16\x20238\x20220)',_0x53ee98['pointColor']='#0000ff',_0x53ee98[_0x306755(0x1727,0x188b)]=0x4,_0x53ee98[_0x2b6441(0xcce,0x3f9)]=!![],_0x53ee98[_0x2b6441(0xe5c,0xeeb)]=0x2,_0x53ee98['pointOutlineColor']='#ffffff',_0x53ee98[_0x306755(0x13ec,0x1028)]=!![];const DEF_STYLE$p=_0x53ee98;class BillboardIndicator extends BillboardPrimitive{constructor(_0x336611={}){const _0x4e1d10={_0x416799:0x284};_0x336611['style']={...DEF_STYLE$p,..._0x336611['style']};function _0x59cb54(_0x1d549,_0x2a074b){return _0x306755(_0x2a074b,_0x1d549- -0x5ae);}function _0xbfdf3(_0x3603c8,_0x32b090){return _0x2b6441(_0x3603c8,_0x32b090-_0x4e1d10._0x416799);}_0x336611['style'][_0xbfdf3(0x2e3,0x54e)]={'align':'center','baseline':_0xbfdf3(0x7e8,0x7d4),..._0x336611['style']['label']},super(_0x336611);}[_0x306755(0x1e0,0x99e)](_0x3c0b25){const _0x1883b7={_0xd50779:0x703,_0x1967a4:0xf7e,_0x436fc1:0x18ff,_0x3a9a29:0xb61,_0x6a466f:0x1c79,_0x4180fe:0x1801,_0xedd1f:0x529},_0x35a719=getCanvasImage(_0x3c0b25);_0x3c0b25[_0x517450(_0x1883b7._0xd50779,-0x1e1)]=_0x35a719[_0x380438(0x706,0x8b2)],_0x3c0b25['rectWidth']=_0x35a719['rectWidth'],_0x3c0b25['rectHeight']=_0x35a719[_0x517450(0x12d9,_0x1883b7._0x1967a4)];function _0x517450(_0x1aacd1,_0xb3f3f4){return _0x2b6441(_0xb3f3f4,_0x1aacd1-0x5ed);}function _0x380438(_0xed1936,_0x4f1688){return _0x2b6441(_0x4f1688,_0xed1936-0x5f0);}_0x3c0b25['label']={..._0x3c0b25['label'],'visibleDepth':![],'hasPixelOffset':!![],'pixelOffsetX':_0x35a719[_0x380438(_0x1883b7._0x436fc1,0x1149)],'pixelOffsetY':_0x35a719[_0x380438(0x5f3,0xfa7)],'horizontalOrigin':Cesium__namespace[_0x517450(0x5b8,_0x1883b7._0x3a9a29)]['CENTER'],'verticalOrigin':Cesium__namespace[_0x380438(0x1945,_0x1883b7._0x6a466f)]['TOP']},Cesium__namespace[_0x380438(_0x1883b7._0x4180fe,0x1958)](_0x3c0b25['scale'])&&(_0x3c0b25[_0x380438(0x8ba,0x8fb)][_0x517450(0xd20,_0x1883b7._0xedd1f)]=_0x3c0b25['scale']),_0x3c0b25['scaleByDistance']&&(_0x3c0b25['label']['scaleByDistance']=_0x3c0b25[_0x380438(0xc7d,0x13eb)],_0x3c0b25['label']['pixelOffsetScaleByDistance']=_0x3c0b25['scaleByDistance']),super['_addedHook'](_0x3c0b25),this['on'](EventType['click'],this[_0x380438(0x1449,0xe28)],this);}[_0x2b6441(0xe3a,0x88a)](){const _0x4f09c9={_0x403c56:0x12db,_0x63dec7:0xe8b,_0x5e2295:0x1014,_0x5d7658:0x456};function _0x513ad9(_0x12f9bf,_0x423228){return _0x2b6441(_0x12f9bf,_0x423228-0x3c4);}this['off'](EventType[_0x513ad9(_0x4f09c9._0x403c56,_0x4f09c9._0x63dec7)],this[_0x1883b6(_0x4f09c9._0x5e2295,0x128a)],this),super[_0x1883b6(_0x4f09c9._0x5d7658,0xcbb)]();function _0x1883b6(_0x49cc6c,_0x2e130e){return _0x306755(_0x49cc6c,_0x2e130e- -0x170);}this['_removeDragCanvas']();}[_0x2b6441(0x61e,0x93e)](_0x37df6){const _0x30c944={_0x188ec2:0x790,_0x5db38b:0x944,_0x3c9d92:0x176,_0xbad816:0xc27,_0xc719e5:0x944,_0x53b208:0x1325,_0x2a867c:0xe84,_0x32807b:0x1e5a,_0x1ea080:0x9bf,_0x4f3bbc:0x874,_0x55a754:0xdad},_0x497987={_0x3a198a:0x154},_0x3dc802={_0x1a3000:0xd9};delete _0x37df6[_0x495939(_0x30c944._0x188ec2,0x4e6)];function _0x495939(_0x420157,_0x4e7a31){return _0x306755(_0x4e7a31,_0x420157-_0x3dc802._0x1a3000);}function _0xd8c6e2(_0x43cff8,_0x2d07c6){return _0x306755(_0x43cff8,_0x2d07c6-_0x497987._0x3a198a);}Cesium__namespace['defined'](_0x37df6['scaleByDistance'])&&(_0x37df6['label']=_0x37df6['label']||{},_0x37df6[_0x495939(_0x30c944._0x5db38b,-_0x30c944._0x3c9d92)]['scaleByDistance']=_0x37df6[_0x495939(0xd07,_0x30c944._0xbad816)],_0x37df6[_0x495939(_0x30c944._0xc719e5,_0x30c944._0x53b208)]['pixelOffsetScaleByDistance']=_0x37df6[_0x495939(0xd07,_0x30c944._0x2a867c)],this[_0x495939(0x92f,0xe9b)]['label'][_0xd8c6e2(0xf8d,0xd82)]=_0x37df6['scaleByDistance'],this['style']['label']['pixelOffsetScaleByDistance']=_0x37df6['scaleByDistance']),Cesium__namespace[_0x495939(0x188b,_0x30c944._0x32807b)](_0x37df6['scale'])&&(_0x37df6[_0xd8c6e2(0xb85,_0x30c944._0x1ea080)]=_0x37df6[_0xd8c6e2(_0x30c944._0x4f3bbc,0x9bf)]||{},_0x37df6['label']['scale']=_0x37df6['scale'],this['style']['label'][_0x495939(_0x30c944._0x55a754,0x11e7)]=_0x37df6['scale']),super['_updateStyleBaseHook'](_0x37df6),this['_updateImage']();}['_updateImage'](_0x4d3245){const _0xf37fff={_0x17f524:0xff,_0x36a078:0x41b,_0x303a73:0x1238,_0x3ded38:0xde7,_0x4d638c:0x354},_0x434f26={_0x506eec:0x4a6};function _0x68f579(_0x5caaea,_0x3c05da){return _0x306755(_0x5caaea,_0x3c05da- -_0x434f26._0x506eec);}const _0x3a4935=getCanvasImage(this['style']);this[_0x52e005(-0x7cb,_0xf37fff._0x17f524)]=_0x3a4935[_0x52e005(0x314,0xff)];function _0x52e005(_0x31dcd7,_0xeed3e4){return _0x306755(_0x31dcd7,_0xeed3e4- -0x5b8);}this[_0x68f579(0x262,0x3b0)][_0x52e005(_0xf37fff._0x36a078,0xdfb)]=_0x3a4935[_0x52e005(0x104a,0xdfb)],this['style'][_0x68f579(_0xf37fff._0x303a73,_0xf37fff._0x3ded38)]=_0x3a4935[_0x68f579(0xa8b,0xde7)],this['style'][_0x68f579(_0xf37fff._0x4d638c,0x3c5)]['pixelOffsetX']=_0x3a4935['pixelOffsetX'],this['style'][_0x68f579(0x632,0x3c5)]['pixelOffsetY']=_0x3a4935['pixelOffsetY'],this['label']['pixelOffset']=new Cesium__namespace['Cartesian2'](_0x3a4935['pixelOffsetX'],_0x3a4935['pixelOffsetY']),_0x4d3245&&typeof _0x4d3245===_0x52e005(0x795,0x64d)&&_0x4d3245();}[_0x2b6441(0x11aa,0x134d)](_0x54ca53){const _0x20d69c={_0x20acfe:0x3be};super[_0x4a0da(0xe0c,0x170b)](_0x54ca53);function _0x4a0da(_0x3fa0cd,_0x4aa01e){return _0x2b6441(_0x3fa0cd,_0x4aa01e-_0x20d69c._0x20acfe);}this['_dragCanvas']&&(this['_dragCanvas']['style']['opacity']=_0x54ca53);}['_showHook'](_0x3ca7a2){const _0x83eb6a={_0x2bf400:0x1232,_0x31b006:0x63,_0x5ed5a5:0x197d,_0x25f8bf:0x10b7},_0x226fbf={_0x331b73:0xdb};super['_showHook'](_0x3ca7a2);function _0x1daa6f(_0x102a85,_0x14c97c){return _0x306755(_0x102a85,_0x14c97c- -0x590);}function _0x49607c(_0x193c92,_0x469e5d){return _0x306755(_0x193c92,_0x469e5d- -_0x226fbf._0x331b73);}this[_0x1daa6f(0x156e,0x1232)]&&(this[_0x1daa6f(0x114b,_0x83eb6a._0x2bf400)]['style'][_0x1daa6f(0x7b7,_0x83eb6a._0x31b006)]=_0x3ca7a2?_0x1daa6f(_0x83eb6a._0x5ed5a5,_0x83eb6a._0x25f8bf):'none');}['_visibleCzmObject'](_0x3477db){const _0x43b9dc={_0x4ab56c:0x1733,_0x1f47b7:0xaa9,_0x32cfb6:0xc66,_0x266cd1:0x165b},_0x4c25c2={_0x569e03:0x669};this[_0x358509(_0x43b9dc._0x4ab56c,0x100f)]&&(this[_0x30379b(_0x43b9dc._0x1f47b7,_0x43b9dc._0x32cfb6)]['show']=_0x3477db);function _0x30379b(_0x36d2d1,_0x160679){return _0x306755(_0x36d2d1,_0x160679- -0x2e1);}function _0x358509(_0x4e9b3e,_0x2d8303){return _0x2b6441(_0x4e9b3e,_0x2d8303-_0x4c25c2._0x569e03);}this['_primitive_label']&&(this['_primitive_label'][_0x358509(0xf1d,_0x43b9dc._0x266cd1)]=_0x3477db);}[_0x306755(0xca4,0x13fa)](_0x51d631){const _0x2beaba={_0x27f5ca:0x5ec,_0x3ade0a:0x42f,_0x29441d:0x1485,_0x237f26:0x13a3,_0x2715ad:0x12b8,_0x119905:0x16a2,_0x2f1ab9:0x6a3,_0x1d9945:0x1357,_0x13f986:0x1aa,_0x1791b0:0x1357,_0x2d5d2a:0x8ba,_0x22a861:0x780,_0x34d11e:0x811,_0x386eef:0x4a3,_0x4d03d5:0xcce,_0x3039aa:0x1403,_0x363eb9:0xa0e,_0x3a9974:0x917,_0x471a44:0x812,_0x37a062:0x718};if(this[_0x4348ed(0xe26,0xfc2)])return;this['_removeDragCanvas'](),this[_0x4348ed(0x6ad,_0x2beaba._0x27f5ca)](![]),this['_graphicWindowPosition']=toWindowCoordinates$1(this['_map']['scene'],this['positionShow']);const _0x1b128d=create$4(_0x5b28b0(0x811,_0x2beaba._0x3ade0a),'mars3d-billboard-indicator',this[_0x5b28b0(_0x2beaba._0x29441d,0x1690)]['container']);_0x1b128d['id']=this['id'],_0x1b128d[_0x5b28b0(0x917,_0x2beaba._0x237f26)][_0x5b28b0(_0x2beaba._0x2715ad,_0x2beaba._0x119905)]='absolute',_0x1b128d['style']['top']='0px';function _0x4348ed(_0x119184,_0x3477ee){return _0x2b6441(_0x3477ee,_0x119184-0x12f);}_0x1b128d[_0x5b28b0(0x917,_0x2beaba._0x2f1ab9)]['left']=_0x4348ed(0x1066,0x1174),_0x1b128d['width']=parseInt(this[_0x4348ed(_0x2beaba._0x1d9945,0x14e4)][_0x5b28b0(0x811,_0x2beaba._0x13f986)]['width']),_0x1b128d['height']=parseInt(this[_0x4348ed(_0x2beaba._0x1791b0,_0x2beaba._0x2d5d2a)]['canvas'][_0x4348ed(_0x2beaba._0x22a861,0x113e)]),_0x1b128d[_0x4348ed(0x3e4,-0x501)]['width']=this['_map'][_0x5b28b0(_0x2beaba._0x34d11e,_0x2beaba._0x386eef)]['style']['width']+'px';function _0x5b28b0(_0x37fb95,_0x405d0b){return _0x306755(_0x405d0b,_0x37fb95-0xc1);}_0x1b128d[_0x5b28b0(0x917,_0x2beaba._0x4d03d5)][_0x5b28b0(0xcb3,_0x2beaba._0x3039aa)]=this[_0x4348ed(_0x2beaba._0x1d9945,_0x2beaba._0x363eb9)]['canvas'][_0x5b28b0(_0x2beaba._0x3a9974,0x1aa)]['height']+'px',this[_0x5b28b0(0x1883,0x1b33)]=_0x1b128d;const _0x159f9d=_0x1b128d[_0x4348ed(_0x2beaba._0x471a44,_0x2beaba._0x37a062)]('2d');this['_changeDragCanvas'](_0x159f9d),this['_drawingCanvas'](_0x159f9d,!![]),addEvent(_0x1b128d,_0x4348ed(0xd36,0xc96),this['_canvasMouseDown']['bind'](this));}['_removeDragCanvas'](){const _0xd536c6={_0x595694:0x16cd,_0x37fe38:0x1095};function _0x11f54f(_0x1d3dd7,_0x104481){return _0x306755(_0x1d3dd7,_0x104481- -0xc7);}function _0x5baec8(_0x3fbc4,_0x161776){return _0x2b6441(_0x161776,_0x3fbc4-0x4ac);}this['_dragCanvas']&&(this[_0x5baec8(_0xd536c6._0x595694,0x19bf)]['parentElement'][_0x11f54f(0xce9,_0xd536c6._0x37fe38)](this['_dragCanvas']),delete this['_dragCanvas']);}['_canvasMouseDown'](_0x5f15c0){const _0x29778a={_0x3c93cf:0xae1},_0x2eda9a={_0x21d5ef:0x697,_0x3b3a8d:0xea7},_0x524683={_0x56a1c7:0xf6c,_0x2b526e:0x1bed,_0x64fda3:0x3b5,_0x5dda0e:0x290,_0x2b6e3c:0x332};_0x5f15c0['preventDefault'](),_0x5f15c0['stopPropagation']();const _0x2bd48a=this['_dragCanvas'];if(!_0x2bd48a)return;const _0x248eac=this['_getDragRectPosition'](),_0x3bfcd8={};_0x3bfcd8['x']=_0x5f15c0['offsetX'],_0x3bfcd8['y']=_0x5f15c0['offsetY'];const _0x12c735=_0x3bfcd8;isInRect(_0x12c735,_0x248eac)&&addEvent(_0x2bd48a,'mousemove',_0x3fe19a);function _0x16e4be(_0x529a19,_0x2d048b){return _0x2b6441(_0x2d048b,_0x529a19-0x3e6);}addEvent(_0x2bd48a,_0x16e4be(0xd53,_0x29778a._0x3c93cf),_0x79b854);const _0xdd7286=this;let _0x125501;function _0x3fe19a(_0x1b13f6){_0x1b13f6[_0x328899(_0x524683._0x56a1c7,0x9da)](),_0x1b13f6[_0x328899(0x1327,0x908)]();let _0x58397b=_0x1b13f6[_0x328899(_0x524683._0x2b526e,0x113c)]-_0x5f15c0['clientX'],_0x448a9d=_0x1b13f6[_0x328899(-_0x524683._0x64fda3,0x611)]-_0x5f15c0['clientY'];_0xdd7286['style']['scale']&&_0xdd7286[_0x328899(-_0x524683._0x5dda0e,_0x524683._0x2b6e3c)]['scale']!==0x1&&(_0x58397b/=_0xdd7286['style']['scale'],_0x448a9d/=_0xdd7286['style']['scale']);const _0x2165dd=_0x2bd48a['getContext']('2d');_0x2165dd['clearRect'](0x0,0x0,_0x2bd48a['width'],_0x2bd48a[_0x212d28(0xcf3,0x12c5)]);function _0x328899(_0x435fe0,_0x2c907e){return _0x16e4be(_0x2c907e- -0x369,_0x435fe0);}_0xdd7286['_changeDragCanvas'](_0x2165dd);function _0x212d28(_0x993398,_0x2c8527){return _0x16e4be(_0x993398-0x2bc,_0x2c8527);}_0x125501=_0xdd7286['_drawingCanvas'](_0x2165dd,!![],_0x58397b,_0x448a9d);}function _0x79b854(){const _0x2ddfa8={_0xa84df3:0x8d8},_0x2fabd5={_0x1de08d:0x286};_0x5f15c0['preventDefault'](),_0x5f15c0['stopPropagation']();function _0x12e22d(_0x1c5ab6,_0x3fb4b4){return _0x16e4be(_0x1c5ab6- -0x312,_0x3fb4b4);}removeEvent(_0x2bd48a,'mousemove',_0x3fe19a);function _0x44fa6a(_0x36792c,_0x160b10){return _0x16e4be(_0x36792c-0x312,_0x160b10);}removeEvent(_0x2bd48a,'mouseup',_0x79b854);if(_0x125501){var _0x2475b2,_0xe627da;_0xdd7286['style']['rectX']=(_0x2475b2=_0x125501)===null||_0x2475b2===void 0x0?void 0x0:_0x2475b2['x'],_0xdd7286['style'][_0x12e22d(0x236,-_0x2eda9a._0x21d5ef)]=(_0xe627da=_0x125501)===null||_0xe627da===void 0x0?void 0x0:_0xe627da['y'];}_0xdd7286[_0x44fa6a(_0x2eda9a._0x3b3a8d,0xfcf)](()=>{function _0x4bc2e7(_0x4c349f,_0x46e290){return _0x12e22d(_0x4c349f-_0x2fabd5._0x1de08d,_0x46e290);}_0xdd7286['_removeDragCanvas'](),_0xdd7286[_0x4bc2e7(_0x2ddfa8._0xa84df3,0xfad)](!![]);});}}['_drawingCanvas'](_0x3b9a73,_0x55d281=![],_0x277d32=0x0,_0x1d1bb9=0x0){const _0x5b419f={_0x2cda5e:0xae6,_0x2e00d9:0xed5,_0x1dfec0:0x1940,_0x51136c:0xae6,_0x5c764f:0x150e,_0x9b04e7:0x1af6,_0x1fd410:0x971,_0x5b59d0:0xd05,_0x1e5a14:0x176e,_0x4dd019:0x5ec,_0x574686:0x54,_0xad7800:0xa64,_0x4ec89b:0xc8d,_0x58bafd:0x1827,_0xa8994d:0xfc,_0x2fb4e2:0xce9,_0x494249:0x632,_0x1d6e56:0x81c,_0xada524:0x601,_0x165055:0x817,_0x4bafa2:0x7a,_0x1721c8:0x986,_0x1de791:0x785,_0x568519:0x21f,_0x59c932:0xceb,_0x63e9e2:0xef1,_0x2987a1:0x1023,_0x3e5325:0x107a,_0x279687:0x1b1a,_0x2f4e9f:0x971},_0x5548b9={_0x1593d6:0x6bc};_0x3b9a73[_0x4edc33(_0x5b419f._0x2cda5e,0xfb2)](),_0x3b9a73[_0x4edc33(0xeb9,0xdc9)](0x0,0x0,this['style']['pointSize'],0x0,0x2*Math['PI']),_0x3b9a73[_0x4edc33(_0x5b419f._0x2e00d9,0xa63)]=this['style']['pointColor'],_0x3b9a73['fill']();function _0x33fc77(_0x3ba5bd,_0x4cae2d){return _0x306755(_0x4cae2d,_0x3ba5bd- -0x26a);}function _0x4edc33(_0x4cedfd,_0x39b1a6){return _0x2b6441(_0x39b1a6,_0x4cedfd-_0x5548b9._0x1593d6);}this['style']['pointOutline']&&(_0x3b9a73['strokeStyle']=this['style']['pointColor'],_0x3b9a73['lineWidth']=this['style'][_0x33fc77(0x1222,_0x5b419f._0x1dfec0)]??0x2);_0x3b9a73['stroke'](),_0x3b9a73[_0x4edc33(_0x5b419f._0x51136c,0xce6)](),_0x3b9a73[_0x4edc33(0x157f,_0x5b419f._0x5c764f)](0x0,0x0),_0x3b9a73['lineWidth']=this['style']['lineWidth']??0x2,_0x3b9a73['strokeStyle']=this[_0x33fc77(0x5ec,0x160)][_0x33fc77(0xfc2,0xf2f)]??_0x4edc33(_0x5b419f._0x9b04e7,0x1fd3);this[_0x4edc33(_0x5b419f._0x1fd410,0x1ea)][_0x33fc77(0x6df,_0x5b419f._0x5b59d0)]&&_0x3b9a73[_0x4edc33(_0x5b419f._0x1e5a14,0x2233)](this[_0x33fc77(_0x5b419f._0x4dd019,-_0x5b419f._0x574686)][_0x4edc33(_0x5b419f._0xad7800,0x642)]['split'](','));const _0x4b63ed=[this['style']['rectX']+_0x277d32,this[_0x4edc33(_0x5b419f._0x1fd410,0xa10)]['rectY']+_0x1d1bb9],_0x521e4e=[0x0,0x0];this['style']['autoPoistion']&&(_0x4b63ed[0x0]<0x0&&Math[_0x33fc77(0x11f7,0x72c)](_0x4b63ed[0x0])>this[_0x33fc77(0x5ec,_0x5b419f._0x4ec89b)]['rectWidth']/0x2&&(_0x521e4e[0x0]=_0x521e4e[0x0]+this[_0x33fc77(_0x5b419f._0x4dd019,0x370)]['rectWidth']),_0x4b63ed[0x1]>0x0&&_0x4b63ed[0x1]>this['style']['rectHeight']/0x2&&(_0x521e4e[0x1]=_0x521e4e[0x1]+-this[_0x33fc77(0x5ec,-0x48a)][_0x4edc33(0x13a8,_0x5b419f._0x58bafd)]));_0x3b9a73[_0x33fc77(0x11cd,0x1773)](..._0x4b63ed),_0x3b9a73['lineTo'](..._0x521e4e),_0x3b9a73['stroke'](),_0x3b9a73['fillStyle']=this['style']['rectColor']??'rgb(16\x20238\x20220)',_0x3b9a73['fillRect'](0x0,0x0,this[_0x33fc77(0x5ec,0x82)]['rectWidth'],-this[_0x33fc77(0x5ec,-_0x5b419f._0xa8994d)][_0x4edc33(0x13a8,_0x5b419f._0x2fb4e2)]),_0x3b9a73[_0x33fc77(0x1795,0x1494)]();_0x55d281&&(_0x3b9a73[_0x33fc77(_0x5b419f._0x494249,_0x5b419f._0x1d6e56)]=getFontByStyle(this['style'][_0x33fc77(_0x5b419f._0xada524,0x764)]),_0x3b9a73['textAlign']=this['style']['label'][_0x33fc77(0x108e,0x17f2)]??_0x4edc33(_0x5b419f._0x165055,0x501),_0x3b9a73['textBaseline']=this[_0x4edc33(0x971,-_0x5b419f._0x4bafa2)][_0x4edc33(_0x5b419f._0x1721c8,_0x5b419f._0x1de791)]['baseline']??'middle',_0x3b9a73[_0x33fc77(0xb50,0x11a7)]=this['style'][_0x33fc77(_0x5b419f._0xada524,_0x5b419f._0x568519)]['color']??_0x4edc33(_0x5b419f._0x59c932,_0x5b419f._0x63e9e2),_0x3b9a73['fillText'](this['style']['label']['text'],this['style']['rectWidth']/0x2,-this['style'][_0x33fc77(_0x5b419f._0x2987a1,_0x5b419f._0x3e5325)]/0x2),_0x3b9a73[_0x4edc33(_0x5b419f._0x279687,0x1ec7)]());_0x3b9a73['restore']();const _0x58a46e={};return _0x58a46e['x']=this[_0x4edc33(_0x5b419f._0x2f4e9f,0x9b)]['rectX']+_0x277d32,_0x58a46e['y']=this['style']['rectY']+_0x1d1bb9,_0x58a46e;}['_getDragRectPosition'](){const _0x1a4822={_0x118343:0x69c,_0x526e98:0x1491,_0x3a8355:0x44a,_0x1d0d07:0x68d,_0x2f3376:0x58e,_0x92149f:0x95c,_0x615a6c:0x7e0,_0x1c55bb:0x36c,_0x59f0a7:0xc5e,_0x1e6741:0x8cd,_0x5f06f2:0x9e3,_0xf68ac2:0x9ef,_0xb369d1:0xfc2,_0x163dbb:0xbb8,_0x51185d:0x58e,_0x4e09d3:0xf73,_0x129eeb:0x13a4,_0x13822e:0x7e0,_0x4b485d:0x1277,_0x9b75d9:0x58e,_0x508119:0xfeb,_0x39f76b:0x1af,_0x5cbdad:0x884,_0x2828a5:0x58e,_0x166708:0x178,_0x5046e8:0x120d,_0x78ce36:0x24b,_0x540017:0xc5c,_0x3d452d:0x21b},_0x59c2cb={_0x412254:0x52b},_0x35ed1f={_0x5848e9:0x2c8};let _0x3a9ebe=this[_0x1818e6(_0x1a4822._0x118343,0x2b0)]['x']+this['style'][_0x1818e6(0x102c,_0x1a4822._0x526e98)],_0x14cc1e=this[_0x21f8e7(_0x1a4822._0x3a8355,0xa51)]['y']+this[_0x1818e6(0x7e0,0xd25)][_0x1818e6(_0x1a4822._0x1d0d07,-0x3bb)],_0x12e59f=this['style'][_0x1818e6(0x133d,0xff9)],_0x487f0d=this['style']['rectHeight'];function _0x21f8e7(_0xd8b7b4,_0x185606){return _0x306755(_0x185606,_0xd8b7b4- -_0x35ed1f._0x5848e9);}this[_0x21f8e7(_0x1a4822._0x2f3376,_0x1a4822._0x92149f)]['scale']&&this[_0x1818e6(_0x1a4822._0x615a6c,_0x1a4822._0x1c55bb)][_0x1818e6(_0x1a4822._0x59f0a7,0x1107)]!==0x1&&(_0x3a9ebe=this[_0x1818e6(0x69c,_0x1a4822._0x1e6741)]['x']+this['style']['rectX']*Number(this['style']['scale']),_0x14cc1e=this['_graphicWindowPosition']['y']+this[_0x21f8e7(0x58e,0xa61)][_0x21f8e7(0x43b,-0xeb)]*Number(this[_0x21f8e7(_0x1a4822._0x2f3376,_0x1a4822._0x5f06f2)]['scale']),_0x12e59f=this[_0x1818e6(0x7e0,_0x1a4822._0xf68ac2)]['rectWidth']*Number(this['style'][_0x21f8e7(0xa0c,0x100f)]),_0x487f0d=this['style']['rectHeight']*Number(this['style']['scale']));if(this['style'][_0x1818e6(0xbb8,0x1382)]){const _0x219a6b=this['_map'][_0x1818e6(0x653,_0x1a4822._0xb369d1)](),_0x2f5793=this['style'][_0x1818e6(_0x1a4822._0x163dbb,0x883)],_0x4b6e9a=_0x2f5793['near']||this[_0x21f8e7(_0x1a4822._0x51185d,-0x147)]['scaleByDistance_near'],_0x2647e7=_0x2f5793[_0x1818e6(_0x1a4822._0x4e09d3,_0x1a4822._0x129eeb)]||this[_0x1818e6(_0x1a4822._0x13822e,_0x1a4822._0x4b485d)]['scaleByDistance_far'],_0x27b351=_0x2f5793[_0x21f8e7(0x65e,0xcba)]||this[_0x21f8e7(_0x1a4822._0x9b75d9,_0x1a4822._0x508119)]['scaleByDistance_farValue'],_0xa50e4a=_0x2f5793['nearValue']||this[_0x21f8e7(0x58e,_0x1a4822._0x39f76b)]['scaleByDistance_nearValue'];(_0x219a6b<_0x4b6e9a||_0x219a6b<_0x2647e7)&&(_0x3a9ebe=this[_0x1818e6(_0x1a4822._0x118343,_0x1a4822._0x5cbdad)]['x']+this[_0x21f8e7(_0x1a4822._0x2828a5,-0x3e9)]['rectX']*Number(_0xa50e4a),_0x14cc1e=this['_graphicWindowPosition']['y']+this[_0x21f8e7(0x58e,-_0x1a4822._0x166708)]['rectY']*Number(_0xa50e4a),_0x12e59f=this['style'][_0x1818e6(0x133d,_0x1a4822._0x5046e8)]*Number(_0xa50e4a),_0x487f0d=this['style']['rectHeight']*Number(_0xa50e4a)),_0x219a6b>_0x2647e7&&(_0x3a9ebe=this[_0x1818e6(0x69c,-_0x1a4822._0x78ce36)]['x']+this[_0x21f8e7(0x58e,0xad6)]['rectX']*Number(_0x27b351),_0x14cc1e=this['_graphicWindowPosition']['y']+this['style']['rectY']*Number(_0x27b351),_0x12e59f=this['style']['rectWidth']*Number(_0x27b351),_0x487f0d=this['style'][_0x21f8e7(0xfc5,0x555)]*Number(_0x27b351));}const _0x4da01a={};_0x4da01a['x']=_0x3a9ebe,_0x4da01a['y']=_0x14cc1e;const _0x320fad={};_0x320fad['x']=_0x3a9ebe+_0x12e59f,_0x320fad['y']=_0x14cc1e;const _0x27591f={};_0x27591f['x']=_0x3a9ebe,_0x27591f['y']=_0x14cc1e-_0x487f0d;function _0x1818e6(_0x204d28,_0xca6b4){return _0x2b6441(_0xca6b4,_0x204d28-_0x59c2cb._0x412254);}const _0x512bd4={};_0x512bd4['x']=_0x3a9ebe+_0x12e59f,_0x512bd4['y']=_0x14cc1e-_0x487f0d;const _0x4aab18={};_0x4aab18['bl']=_0x4da01a,_0x4aab18['br']=_0x320fad,_0x4aab18['tl']=_0x27591f,_0x4aab18['tr']=_0x512bd4;const _0x1e4b49=_0x4aab18;return this['style']['rotationDegree']&&this[_0x1818e6(0x7e0,_0x1a4822._0x540017)]['rotationDegree']!==0x1&&(_0x1e4b49['bl']=getRotationPoint(this['_graphicWindowPosition'],_0x1e4b49['bl'],this['style']['rotationDegree']),_0x1e4b49['br']=getRotationPoint(this['_graphicWindowPosition'],_0x1e4b49['br'],this['style'][_0x21f8e7(0x275,0x5c1)]),_0x1e4b49['tl']=getRotationPoint(this['_graphicWindowPosition'],_0x1e4b49['tl'],this['style'][_0x21f8e7(0x275,-0x77e)]),_0x1e4b49['tr']=getRotationPoint(this[_0x1818e6(_0x1a4822._0x118343,-_0x1a4822._0x3d452d)],_0x1e4b49['tr'],this['style']['rotationDegree'])),_0x1e4b49;}['_changeDragCanvas'](_0x301f50){const _0x5c9216={_0x22f446:0x691,_0x49c462:0x10da,_0x29bbb2:0x631,_0x47f27b:0x6fa,_0x12224f:0xb78,_0x2bc47e:0x438,_0xdd803e:0xb4d,_0x53f32b:0x3f1,_0x2fe52c:0x775,_0x3d1f11:0xbf3,_0x2ad993:0xb,_0x5e21:0xa0f},_0x3b7131={_0x139716:0x15c};function _0x3bd67f(_0x3cf12a,_0x2389b9){return _0x306755(_0x3cf12a,_0x2389b9- -0xe1);}_0x301f50['save']();function _0xe805f7(_0x9f282,_0x3efe02){return _0x306755(_0x3efe02,_0x9f282- -_0x3b7131._0x139716);}(this['_layer'][_0x3bd67f(_0x5c9216._0x22f446,0xa68)]||this['style']['opacity'])&&(_0x301f50['globalAlpha']=this['style'][_0x3bd67f(_0x5c9216._0x49c462,0xa68)]||this['_layer']['opacity']);_0x301f50['translate'](this['_graphicWindowPosition']['x'],this[_0x3bd67f(-0x12c,_0x5c9216._0x29bbb2)]['y']);this[_0x3bd67f(0xa7e,0x775)]['scale']&&this[_0xe805f7(_0x5c9216._0x47f27b,-0x2a8)][_0xe805f7(_0x5c9216._0x12224f,0x99e)]!==0x1&&_0x301f50['scale'](this['style'][_0x3bd67f(_0x5c9216._0x2bc47e,0xbf3)],this[_0x3bd67f(-0x2fc,0x775)]['scale']);if(this[_0xe805f7(0x6fa,0x9b0)][_0x3bd67f(0x7ca,0xb4d)]){const _0x382291=this['_map']['getCameraDistance'](),_0x5f55e0=this[_0x3bd67f(0x1005,0x775)][_0x3bd67f(0x702,_0x5c9216._0xdd803e)],_0x25eab5=_0x5f55e0[_0x3bd67f(0x1484,0x1214)]||this['style']['scaleByDistance_near'],_0x2f528d=_0x5f55e0['far']||this[_0x3bd67f(_0x5c9216._0x53f32b,_0x5c9216._0x2fe52c)]['scaleByDistance_far'],_0x21cc68=_0x5f55e0['farValue']||this['style'][_0xe805f7(0x1698,0x15b9)],_0x30ea9b=_0x5f55e0['nearValue']||this['style']['scaleByDistance_nearValue'];(_0x382291<_0x25eab5||_0x382291<_0x2f528d)&&_0x301f50[_0x3bd67f(0x49e,_0x5c9216._0x3d1f11)](_0x30ea9b,_0x30ea9b),_0x382291>_0x2f528d&&_0x301f50[_0x3bd67f(0x140a,_0x5c9216._0x3d1f11)](_0x21cc68,_0x21cc68);}this[_0x3bd67f(-_0x5c9216._0x2ad993,0x775)]['rotationDegree']&&_0x301f50[_0x3bd67f(_0x5c9216._0x5e21,0xa64)](-(this['style']['rotationDegree']*Math['PI'])/0xb4);}}register$5('billboardIndicator',BillboardIndicator,!![]);function getRotationPoint(_0x2c1bce,_0x352dc7,_0x27dc31,_0x5c435d=!![]){const _0x57f026={_0x158321:0x9c5},_0xc5a39b={_0x5ce09d:0x2d7},{x:_0x5e8131,y:_0x3825d7}=_0x2c1bce,{x:_0x507685,y:_0x951a64}=_0x352dc7,_0x5ea00f=Math['PI']/0xb4*(_0x5c435d?0x168-_0x27dc31:_0x27dc31),_0x4dfc72=+((_0x507685-_0x5e8131)*Math['cos'](_0x5ea00f)-(_0x951a64-_0x3825d7)*Math['sin'](_0x5ea00f)+_0x5e8131)['toFixed'](0x6),_0x2977fe=+((_0x507685-_0x5e8131)*Math['sin'](_0x5ea00f)+(_0x951a64-_0x3825d7)*Math[_0x35306f(_0x57f026._0x158321,0x2e)](_0x5ea00f)+_0x3825d7)['toFixed'](0x6);function _0x35306f(_0x31ef63,_0x259c52){return _0x2b6441(_0x259c52,_0x31ef63-_0xc5a39b._0x5ce09d);}const _0x569dc0={};return _0x569dc0['x']=_0x4dfc72,_0x569dc0['y']=_0x2977fe,_0x569dc0;}function isInRect(_0x40824b,_0x3f769f){const {x:_0x5ccacd,y:_0x651a3d}=_0x40824b,{bl:_0x68afde,br:_0x1e030a,tl:_0x39e127,tr:_0xfbdf6c}=_0x3f769f;return _0x5ccacd>_0x68afde['x']&&_0x5ccacd<_0xfbdf6c['x']&&_0x651a3d>_0x68afde['y']&&_0x651a3d<_0xfbdf6c['y']||_0x5ccacd>_0x39e127['x']&&_0x5ccacd<_0x1e030a['x']&&_0x651a3d>_0x39e127['y']&&_0x651a3d<_0x1e030a['y'];}function addEvent(_0x5b3b66,_0x2d3ddf,_0x23c6a0){const _0x2bfe46={_0x31e998:0xac9,_0x2c0f3d:0x99a};function _0x3dd6c9(_0x1729d5,_0x45a6a5){return _0x306755(_0x1729d5,_0x45a6a5- -0x1a3);}function _0xced57f(_0x5cdcc0,_0x1fcd6d){return _0x306755(_0x5cdcc0,_0x1fcd6d- -0x150);}if(!_0x5b3b66)return;if(_0x5b3b66[_0x3dd6c9(0xfa2,0x16c1)])_0x5b3b66[_0xced57f(0x1b39,0x1714)]('on'+_0x2d3ddf,_0x23c6a0);else _0x5b3b66[_0xced57f(_0x2bfe46._0x31e998,_0x2bfe46._0x2c0f3d)]?_0x5b3b66['addEventListener'](_0x2d3ddf,_0x23c6a0):_0x5b3b66['on'+_0x2d3ddf]=_0x23c6a0;}function removeEvent(_0x1c63c3,_0x61b5f,_0x2f5571){if(!_0x1c63c3)return;function _0x2d6a5c(_0x1255aa,_0x312c15){return _0x306755(_0x1255aa,_0x312c15- -0x2c9);}if(_0x1c63c3['detachEvent'])_0x1c63c3[_0x2d6a5c(0x1f1c,0x1472)]('on'+_0x61b5f,_0x2f5571);else _0x1c63c3['removeEventListener']?_0x1c63c3['removeEventListener'](_0x61b5f,_0x2f5571):_0x1c63c3['on'+_0x61b5f]=null;}const bgImageCache={},textGroupSize=0x6;function getCanvasImage(_0x2bd8f7){const _0x39c30d={_0x17a6a7:0x94e,_0xcf9d12:0x410,_0x24a61d:0x645,_0x53589a:0x25,_0x11a446:0x1169,_0x2538aa:0x17bd,_0x40ddca:0xd88,_0x275af2:0x9c5,_0x690c5c:0xe7c,_0x14d0ad:0xc77,_0x2d0ef4:0x123b,_0x47285c:0x9cc,_0x32688f:0x79c,_0x4bede6:0x1214,_0x4d43ef:0x7a5,_0xb12584:0x983,_0x464f77:0x656,_0x1dbeb0:0x194a,_0x78d09f:0xe7c,_0x83c564:0xa90,_0x410b1f:0x4dd,_0x1b2b4b:0x4af,_0x3eb43c:0x1848,_0x86c92:0x170c,_0x2ada95:0x4c5,_0x4c92d0:0xb2d,_0x33bb41:0x1598,_0x426540:0x9e,_0x543005:0x1bb},_0x33bddd={_0x2d2df1:0x2f3};let _0x293879=_0x2bd8f7['label']['text'];const _0x917458=getStrLength(_0x293879),_0x51c9ff=Math['ceil'](_0x917458/textGroupSize),_0x33ba63=_0x2bd8f7['rectX']+'_'+_0x2bd8f7[_0x154c8d(_0x39c30d._0x17a6a7,_0x39c30d._0xcf9d12)]+'_'+_0x51c9ff+'_'+(_0x2bd8f7[_0xa4cfc6(0xaae,0xc6)]??0x1)+'_'+(_0x2bd8f7[_0xa4cfc6(_0x39c30d._0x24a61d,0x1044)][_0xa4cfc6(0x3c2,-_0x39c30d._0x53589a)]??0x12);if(bgImageCache[_0x33ba63])return bgImageCache[_0x33ba63];const _0x163105=document[_0x154c8d(0xb96,_0x39c30d._0x11a446)]('canvas'),_0x20cdcb={};_0x20cdcb[_0xa4cfc6(0xd17,0x699)]=!![];const _0x20868c=_0x163105['getContext']('2d',_0x20cdcb);let _0x44470a=_0x2bd8f7[_0xa4cfc6(0x118d,_0x39c30d._0x2538aa)],_0x2abb8b=_0x2bd8f7['rectHeight'];_0x20868c[_0xa4cfc6(0x676,0xcd8)]=getFontByStyle(_0x2bd8f7[_0xa4cfc6(0x645,_0x39c30d._0x40ddca)]);for(let _0x2b8492=0x0,_0x5d2dab=_0x51c9ff*textGroupSize-_0x917458;_0x2b8492<_0x5d2dab;_0x2b8492++){_0x293879+='0';}const _0x53562d=_0x20868c[_0x154c8d(0x9df,0x35d)](_0x293879);_0x44470a=_0x53562d['width']+0xa,_0x2abb8b=_0x53562d['actualBoundingBoxAscent']+_0x53562d['actualBoundingBoxDescent']+0xa,_0x163105[_0xa4cfc6(_0x39c30d._0x275af2,0xfeb)]=(_0x44470a+Math['abs'](_0x2bd8f7[_0xa4cfc6(_0x39c30d._0x690c5c,_0x39c30d._0x14d0ad)]))*0x2,_0x163105['height']=(_0x2abb8b+Math[_0xa4cfc6(_0x39c30d._0x2d0ef4,0xf86)](_0x2bd8f7['rectY']))*0x2,_0x20868c['translate'](_0x163105['width']/0x2,_0x163105[_0xa4cfc6(_0x39c30d._0x47285c,0x1063)]/0x2),_0x20868c['beginPath'](),_0x20868c['arc'](0x0,0x0,_0x2bd8f7[_0xa4cfc6(0x1665,0xeeb)],0x0,0x2*Math['PI']),_0x20868c['fillStyle']=_0x2bd8f7['pointColor'],_0x20868c[_0x154c8d(0x1704,0x12f9)]();_0x2bd8f7['pointOutline']&&(_0x20868c['strokeStyle']=_0x2bd8f7['pointColor'],_0x20868c['lineWidth']=_0x2bd8f7[_0xa4cfc6(0x1266,_0x39c30d._0x32688f)]??0x2);_0x20868c[_0xa4cfc6(0x17d9,_0x39c30d._0x4bede6)](),_0x20868c[_0xa4cfc6(_0x39c30d._0x4d43ef,_0x39c30d._0xb12584)](),_0x20868c[_0xa4cfc6(0x123e,0xa4e)](0x0,0x0),_0x20868c[_0xa4cfc6(0xbfc,0x91d)]=_0x2bd8f7['lineWidth']??0x2,_0x20868c['strokeStyle']=_0x2bd8f7['lineColor']??_0x154c8d(0x17bc,0x16e8);_0x2bd8f7[_0x154c8d(0x66a,_0x39c30d._0x464f77)]&&_0x20868c[_0xa4cfc6(0x142d,_0x39c30d._0x1dbeb0)](_0x2bd8f7[_0x154c8d(-0x36c,0x656)]['split'](','));const _0x17fc65=_0x2bd8f7[_0xa4cfc6(_0x39c30d._0x78d09f,_0x39c30d._0x83c564)],_0x4fa2f1=_0x2bd8f7[_0xa4cfc6(_0x39c30d._0x410b1f,-_0x39c30d._0x1b2b4b)];let _0x5d5614=0x0,_0x4d8698=0x0;function _0x154c8d(_0x496582,_0x160df4){return _0x306755(_0x496582,_0x160df4- -_0x33bddd._0x2d2df1);}_0x2bd8f7['autoPoistion']&&(_0x17fc65<0x0&&Math[_0xa4cfc6(0x123b,0x1916)](_0x17fc65)>_0x44470a/0x2&&(_0x5d5614=_0x44470a),_0x4fa2f1>0x0&&_0x4fa2f1>_0x2abb8b/0x2&&(_0x4d8698=-_0x2abb8b));_0x20868c['translate'](_0x17fc65,_0x4fa2f1),_0x20868c['lineTo'](_0x5d5614,_0x4d8698),_0x20868c[_0x154c8d(_0x39c30d._0x3eb43c,_0x39c30d._0x86c92)](),_0x20868c['fillStyle']=_0x2bd8f7[_0xa4cfc6(0xba7,0xfd3)]??_0xa4cfc6(0xca4,_0x39c30d._0x2ada95),_0x20868c['fillRect'](0x0,0x0,_0x44470a,-_0x2abb8b),_0x20868c[_0x154c8d(0x133f,0x170c)]();const _0x36b7eb=_0x163105[_0x154c8d(_0x39c30d._0x4c92d0,0x1d5)]('image/png');let _0x4ed094=_0x17fc65+_0x44470a/0x2+_0x2bd8f7['pointSize']/0x2,_0x19b7e6=_0x4fa2f1-_0x2abb8b+_0x2bd8f7[_0x154c8d(0x114a,_0x39c30d._0x33bb41)];_0x2bd8f7[_0xa4cfc6(0xaae,_0x39c30d._0x426540)]&&_0x2bd8f7['scale']!==0x1&&(_0x4ed094*=_0x2bd8f7[_0xa4cfc6(0xaae,_0x39c30d._0x543005)],_0x19b7e6*=_0x2bd8f7['scale']);const _0x16412b={};_0x16412b[_0x154c8d(-0x22d,0x3c4)]=_0x36b7eb,_0x16412b['rectWidth']=_0x44470a,_0x16412b['rectHeight']=_0x2abb8b,_0x16412b['pixelOffsetX']=_0x4ed094,_0x16412b['pixelOffsetY']=_0x19b7e6;const _0x4edbf5=_0x16412b;function _0xa4cfc6(_0x1a7e2d,_0x4e6185){return _0x2b6441(_0x4e6185,_0x1a7e2d-0x37b);}return bgImageCache[_0x33ba63]=_0x4edbf5,_0x4edbf5;}function getFontByStyle(_0x5b88fa){const _0x58b6f3={_0x1a1018:0xba5,_0x1c1561:0x19a4,_0x522322:0x10f3,_0x2c09de:0x10d3,_0x41d121:0x1546};function _0x4d1e98(_0x438d61,_0x5da761){return _0x2b6441(_0x5da761,_0x438d61-0x3ff);}if(Cesium__namespace[_0x4d1e98(0x1610,_0x58b6f3._0x1a1018)](_0x5b88fa['font']))return _0x5b88fa['font'];function _0x15ac62(_0x44af5f,_0x263de5){return _0x306755(_0x44af5f,_0x263de5- -0xac);}return(_0x5b88fa[_0x15ac62(_0x58b6f3._0x1c1561,_0x58b6f3._0x522322)]||'')+'\x20'+(_0x5b88fa['font_weight']||'')+'\x20'+(_0x5b88fa['font_size']||0x12)+'px\x20\x20'+(_0x5b88fa['font_family']||_0x4d1e98(_0x58b6f3._0x2c09de,_0x58b6f3._0x41d121));}class CloudPrimitive extends BasePointPrimitive{get[_0x2b6441(0xcaa,0x7a8)](){const _0x3fedb7={_0x195adc:0xb8f,_0x2aba01:0xee7};var _0x455ad3;function _0x4b1f57(_0x8e78fe,_0x2562b6){return _0x2b6441(_0x8e78fe,_0x2562b6-0xc4);}return(_0x455ad3=this[_0x4b1f57(_0x3fedb7._0x195adc,_0x3fedb7._0x2aba01)])===null||_0x455ad3===void 0x0?void 0x0:_0x455ad3['cloudCollection'];}get['maximumSize'](){const _0x183201={_0xddb52b:0x91b,_0x3c1c42:0xd8b};function _0xbb7d0(_0x5964da,_0x47e4f8){return _0x306755(_0x47e4f8,_0x5964da-0xc5);}return this[_0xbb7d0(_0x183201._0xddb52b,_0x183201._0x3c1c42)]['maximumSize'];}set['maximumSize'](_0x47a646){const _0x2e0f31={_0x15853c:0xdc9};this[_0x2d3597(_0x2e0f31._0x15853c,0x360)][_0x2d3597(0x523,0x69)]=_0x47a646;function _0x15b240(_0x5a516e,_0x53eb6b){return _0x306755(_0x53eb6b,_0x5a516e- -0x556);}function _0x2d3597(_0x19e067,_0x155fa2){return _0x2b6441(_0x19e067,_0x155fa2-0xab);}this['_primitive']&&(this['_primitive']['maximumSize']=_0x47a646);}get['scale'](){const _0x599dca={_0x412f35:0x375};function _0x2520a5(_0x938ad,_0x20d3bf){return _0x306755(_0x20d3bf,_0x938ad- -_0x599dca._0x412f35);}return this['style'][_0x2520a5(0x95f,0xcdd)];}set['scale'](_0xb79ebe){this['style']['scale']=_0xb79ebe,this['_primitive']&&(this['_primitive']['scale']=_0xb79ebe);}get['slice'](){const _0x2749ba={_0x5263d3:0x1ec},_0x128830={_0x20797a:0x6e};function _0x2a914b(_0x2fa176,_0x257504){return _0x2b6441(_0x2fa176,_0x257504- -_0x128830._0x20797a);}return this['style'][_0x2a914b(0x8f0,_0x2749ba._0x5263d3)];}set['slice'](_0x572d46){const _0x25f437={_0x216878:0x222,_0x10a437:0x621,_0x146487:0x375};this[_0x344984(0xaaf,_0x25f437._0x216878)][_0x237743(0x375,_0x25f437._0x10a437)]=_0x572d46;function _0x237743(_0x3ad590,_0x1508f1){return _0x306755(_0x1508f1,_0x3ad590- -0x486);}function _0x344984(_0x2acd66,_0x5595b3){return _0x2b6441(_0x2acd66,_0x5595b3- -0x93);}this['_primitive']&&(this['_primitive'][_0x237743(_0x25f437._0x146487,0x30)]=_0x572d46);}get['brightness'](){return this['style']['brightness'];}set[_0x306755(0xe36,0x6fe)](_0x57a31b){const _0x32eec1={_0x46c6a7:0x8ba,_0x65049e:0x682,_0x37a583:0x18e8},_0x1425d2={_0xc97087:0x64};this[_0x53d699(_0x32eec1._0x46c6a7,0x100)][_0x53d699(0x762,_0x32eec1._0x65049e)]=_0x57a31b;function _0x9bf1a6(_0x93bcd9,_0x49b4e4){return _0x306755(_0x49b4e4,_0x93bcd9- -0x650);}function _0x53d699(_0x3d1c8c,_0x4bc0cc){return _0x306755(_0x4bc0cc,_0x3d1c8c-_0x1425d2._0xc97087);}this[_0x53d699(0xfab,_0x32eec1._0x37a583)]&&(this['_primitive'][_0x9bf1a6(0xae,0xb5e)]=_0x57a31b);}get[_0x2b6441(0x1681,0x140e)](){return![];}['_addedHook'](_0x60f35){const _0x5621a6={_0xd38fa6:0x175c,_0x14f160:0x12db,_0x15366b:0xadb,_0x199cae:0xf3f,_0x3d1a44:0x678,_0x53e65:0x867,_0x5cb7ae:0x84e};if(!this[_0x5ac37e(0x12db,_0x5621a6._0xd38fa6)])return;function _0x5ac37e(_0x3ab353,_0x488fbd){return _0x306755(_0x488fbd,_0x3ab353- -0x2b8);}this['_forPositionProperty'](this[_0x465a03(0xc40,0x1246)]['position']);const _0x1f2c84={};_0x1f2c84[_0x5ac37e(_0x5621a6._0x14f160,_0x5621a6._0x15366b)]=this[_0x5ac37e(0x12db,0x813)],_0x1f2c84[_0x5ac37e(_0x5621a6._0x199cae,_0x5621a6._0x3d1a44)]=this['position'];const _0x22b37d=CloudStyleConver[_0x5ac37e(0xd94,0x5fe)](_0x60f35,_0x1f2c84);this[_0x465a03(0xf2a,_0x5621a6._0x53e65)]=this['primitiveCollection']['add'](_0x22b37d);function _0x465a03(_0x5422d6,_0x35e035){return _0x306755(_0x35e035,_0x5422d6- -0x1d);}_0x60f35['label']&&this['_addLabel'](_0x60f35[_0x465a03(_0x5621a6._0x5cb7ae,0xc40)]),this['_availability']&&this['_updateAvailabilityHook'](this['_availability']);}[_0x306755(0x185,0x643)](_0x14be47){const _0x3ff962={_0x361ee3:0x3f4,_0x4ad6e7:0xc82};function _0x2c8ff5(_0x5a6d33,_0x36bc62){return _0x306755(_0x5a6d33,_0x36bc62- -0x2c5);}this['_primitive']?this[_0x2c8ff5(_0x3ff962._0x361ee3,_0x3ff962._0x4ad6e7)]['show']=_0x14be47:super['_showHook'](_0x14be47);}[_0x306755(0xd49,0x105d)](_0x24a5bd,_0x5dc5ec){const _0x299049={_0x4969b9:0xca6};function _0x3788a6(_0x2263db,_0x1a7054){return _0x306755(_0x1a7054,_0x2263db- -0x5ed);}CloudStyleConver[_0x3788a6(0xa5f,_0x299049._0x4969b9)](_0x24a5bd,this['primitive']);}['_style2Json'](_0x35cb34,_0x135ecf){return CloudStyleConver['toJSON'](_0x35cb34,_0x135ecf);}[_0x2b6441(0x6a9,0x3ca)](){function _0x242672(_0x3f0965,_0x4afe55){return _0x306755(_0x4afe55,_0x3f0965- -0x368);}this['_primitive']['position']=this[_0x242672(0xe8f,0xe3f)];}[_0x306755(0x15a8,0x1990)](_0x439eab){const _0x59770c={_0x4cd49b:0x164b},_0x59b7d9={_0x5a3883:0x10c2};_0x439eab?this['bindUpdateEvent']():(this[_0x1c2d9d(_0x59770c._0x4cd49b,0xd3e)](),this[_0x1c2d9d(0x11b9,0xd90)]['show']=this['show'],this['czmObjectEx']['forEach'](_0x36552f=>{function _0x1400fc(_0x292861,_0x45ce0c){return _0x431a5e(_0x292861,_0x45ce0c- -0x1a4);}_0x36552f['show']=this[_0x1400fc(0xedc,_0x59b7d9._0x5a3883)];}));function _0x431a5e(_0x642b5e,_0x48c6b8){return _0x2b6441(_0x642b5e,_0x48c6b8-0x274);}function _0x1c2d9d(_0x52012d,_0x202425){return _0x2b6441(_0x52012d,_0x202425-0x3ea);}this[_0x431a5e(0x14e2,0x1215)]&&(this['_editing_entity']['availability']=_0x439eab);}['_getDrawEntityClass'](_0x32716d,_0x29e6ac){return this['_getDrawPointEntityClass'](_0x32716d,_0x29e6ac);}}register$5(_0x306755(0xfb6,0x14fc),CloudPrimitive,!![]);class LabelPrimitive extends BasePointPrimitive{get['primitiveCollection'](){const _0x19753c={_0x2bd64f:0xf5f},_0x10ad4c={_0x3b070b:0x47f};function _0x565563(_0x25b9f1,_0xe6dd30){return _0x306755(_0xe6dd30,_0x25b9f1- -_0x10ad4c._0x3b070b);}var _0x14c72c;return(_0x14c72c=this[_0x565563(0xf45,_0x19753c._0x2bd64f)])===null||_0x14c72c===void 0x0?void 0x0:_0x14c72c['labelCollection'];}get['text'](){return this['style']['text'];}set['text'](_0x77163e){const _0x28335c={_0x13d782:0x791,_0x5382fa:0x96b};function _0x23e3a1(_0x11ec8b,_0x137d8a){return _0x2b6441(_0x11ec8b,_0x137d8a-0x6b6);}this[_0x23e3a1(_0x28335c._0x13d782,_0x28335c._0x5382fa)]['text']=_0x77163e,this['_primitive']&&(this['_primitive']['text']=_0x77163e);}[_0x306755(0xf9a,0x643)](_0x150d3a){const _0x38c96d={_0x3a20b3:0xd6};function _0x2847a0(_0x32a19b,_0x5a3daa){return _0x306755(_0x5a3daa,_0x32a19b-_0x38c96d._0x3a20b3);}if(this['_primitive'])this['_primitive']['show']=_0x150d3a;else _0x150d3a&&super[_0x2847a0(0x719,-0x9)](_0x150d3a);}['_addedHook'](_0x57c2bc){const _0x370944={_0x104c85:0xa51,_0x47038f:0x8ee,_0x51bccf:0x529};if(!this[_0x41ef3b(0x164f,0xd3f)])return;function _0x41ef3b(_0x4909fe,_0x38e4ba){return _0x2b6441(_0x38e4ba,_0x4909fe-0x65d);}function _0x41c25f(_0x1abbf3,_0xcdbb2d){return _0x2b6441(_0xcdbb2d,_0x1abbf3-0x36d);}const _0x4d00f5=LabelStyleConver[_0x41ef3b(0x1108,_0x370944._0x104c85)](this[_0x41c25f(0x622,_0x370944._0x47038f)],{'show':this['show'],'position':this['position']},{},this['attr']);this[_0x41c25f(0xd13,0x1289)]=this['primitiveCollection'][_0x41ef3b(0xdea,_0x370944._0x51bccf)](_0x4d00f5);}['_updateStyleHook'](_0x3ec9b7,_0xd16e59){const _0x5777c7={_0x1c70a7:0x67f,_0x4b5263:0x495};function _0x5d51eb(_0x1574e6,_0x4079ec){return _0x306755(_0x1574e6,_0x4079ec- -0x2c3);}LabelStyleConver['toCesiumVal'](_0x3ec9b7,this[_0x5d51eb(_0x5777c7._0x1c70a7,_0x5777c7._0x4b5263)],this['attr']);}['_style2Json'](_0xb9fc17,_0x2cb536){return LabelStyleConver['toJSON'](_0xb9fc17,_0x2cb536);}[_0x2b6441(0x9a5,0x3ca)](){this['_primitive']['position']=this['position'];}['_updateAvailabilityHook'](_0x5b57d2){const _0xaae54b={_0x92f427:0x10ad},_0x40023b={_0x5d37f4:0x5e},_0x3787fd={_0xa5a2d9:0x1028,_0x11303e:0x1855,_0x4b9e1a:0x1972},_0x21d5fd={_0x4ce9e3:0x5c9};_0x5b57d2?this['bindUpdateEvent']():(this['unbindUpdateEvent'](),this['_primitive']['show']=this[_0xdf198c(0x15f1,_0xaae54b._0x92f427)],this['czmObjectEx']['forEach'](_0x314e40=>{function _0x4d8b7a(_0x28c31a,_0x3dfbad){return _0xdf198c(_0x28c31a- -0x41b,_0x3dfbad);}function _0x455ffe(_0xd69f01,_0x5054eb){return _0xdf198c(_0xd69f01- -_0x21d5fd._0x4ce9e3,_0x5054eb);}_0x314e40[_0x455ffe(_0x3787fd._0xa5a2d9,_0x3787fd._0x11303e)]=this[_0x455ffe(0x1028,_0x3787fd._0x4b9e1a)];}));function _0xdf198c(_0x1138ee,_0x16a035){return _0x306755(_0x16a035,_0x1138ee-_0x40023b._0x5d37f4);}this['_editing_entity']&&(this['_editing_entity']['availability']=_0x5b57d2);}['_getDrawEntityClass'](_0x310c87,_0x4ac129){const _0x56605b={_0x522c3e:0x41};function _0x1f03d0(_0x51bca9,_0x2a4495){return _0x2b6441(_0x51bca9,_0x2a4495-0x348);}return create$5(_0x1f03d0(-_0x56605b._0x522c3e,0x612),_0x310c87);}['setOpacity'](_0x261a20){const _0x1f02c9={_0x332a67:0x1a00,_0x241bd7:0x18c6,_0x250431:0x20ae,_0x43628a:0x88e},_0x183cbd={_0x81bda1:0x560};function _0x4748ad(_0x45ca19,_0x32c367){return _0x306755(_0x32c367,_0x45ca19- -0x8c);}this['style'][_0x4748ad(0x1732,_0x1f02c9._0x332a67)]=_0x261a20;function _0x294565(_0x36f284,_0x33af68){return _0x2b6441(_0x36f284,_0x33af68-_0x183cbd._0x81bda1);}this[_0x294565(_0x1f02c9._0x241bd7,0xf06)]&&this['show']&&LabelStyleConver[_0x4748ad(0x1862,_0x1f02c9._0x250431)](this[_0x4748ad(0xebb,_0x1f02c9._0x43628a)],_0x261a20);}['getWindowCoordinates'](_0xbaae65){const _0x598107={_0x1b2abd:0x809},_0x436367={_0x3c41d4:0x7c};function _0x287178(_0x67dad7,_0x3e7c76){return _0x306755(_0x3e7c76,_0x67dad7- -0x64c);}function _0xa9721f(_0x535b1e,_0x24e54f){return _0x2b6441(_0x24e54f,_0x535b1e- -_0x436367._0x3c41d4);}return this['_primitive'][_0xa9721f(0x803,0x2af)](this['_map'][_0xa9721f(0x448,_0x598107._0x1b2abd)],_0xbaae65);}['getBoundingBox'](_0x4526a6,_0x55210b){function _0x5cc51a(_0x1a5beb,_0x302e37){return _0x306755(_0x302e37,_0x1a5beb- -0x630);}function _0x4947e2(_0x163d73,_0x979e1e){return _0x306755(_0x979e1e,_0x163d73- -0x2cc);}return Cesium__namespace[_0x4947e2(0xf41,0x103e)]['getScreenSpaceBoundingBox'](this[_0x5cc51a(0x917,0x69e)],_0x4526a6,_0x55210b);}}register$5(_0x2b6441(0x14f4,0x12b3),LabelPrimitive,!![]);class ModelPrimitive extends BasePointPrimitive{constructor(_0x43a5c6={}){super(_0x43a5c6),this['_readyPromise']=Cesium__namespace['defer']();}get[_0x2b6441(0x7a4,0x88f)](){const _0x3b93f6={_0xe69865:0x10fc,_0x3c075a:0x291,_0x334984:0x5e2,_0x5c71e2:0xcde,_0x57f347:0x168a,_0x5240c2:0x20a,_0x2886bf:0x274},_0x1b02d8={_0x3208cc:0x5c6};function _0x16cabe(_0x2a52f5,_0x46642b){return _0x306755(_0x46642b,_0x2a52f5- -0x408);}const _0x357032=[];function _0x5aa23b(_0x4e8d9c,_0x44a5e1){return _0x306755(_0x44a5e1,_0x4e8d9c- -_0x1b02d8._0x3208cc);}return this[_0x16cabe(_0x3b93f6._0xe69865,0xc94)]&&_0x357032[_0x16cabe(_0x3b93f6._0x3c075a,_0x3b93f6._0x334984)](this['_primitive_label']),this[_0x16cabe(_0x3b93f6._0x5c71e2,_0x3b93f6._0x57f347)]&&_0x357032[_0x5aa23b(0xd3,-0x56d)](this['_primitive_point']),this[_0x5aa23b(_0x3b93f6._0x5240c2,-0x35c)]&&_0x357032['push'](this[_0x5aa23b(0x20a,_0x3b93f6._0x2886bf)]),_0x357032;}get['scale'](){const _0x4bd88a={_0x4f8b4b:0x138,_0x1534f5:0xdb6},_0x4041a8={_0x239892:0x180};function _0x28990e(_0x171c27,_0x9cf788){return _0x2b6441(_0x9cf788,_0x171c27-_0x4041a8._0x239892);}function _0x3744a7(_0xa98371,_0x3f2077){return _0x2b6441(_0xa98371,_0x3f2077-0x380);}return this[_0x28990e(0x435,-_0x4bd88a._0x4f8b4b)][_0x3744a7(_0x4bd88a._0x1534f5,0xab3)]??0x1;}set['scale'](_0x384f74){const _0x54e30b={_0x1281b1:0x1305},_0x572b94={_0x132ed6:0x278};this['style']['scale']=_0x384f74;const _0x3d6595={};function _0x137805(_0x4c80a8,_0x374a75){return _0x306755(_0x374a75,_0x4c80a8-0x48);}_0x3d6595[_0x137805(0xd1c,_0x54e30b._0x1281b1)]=_0x384f74;function _0x420b77(_0x5da6c5,_0x42abd0){return _0x306755(_0x42abd0,_0x5da6c5- -_0x572b94._0x132ed6);}this[_0x137805(0x10a5,0x1a3a)](this[_0x420b77(0x5de,0xd)],_0x3d6595);}get['scaleX'](){const _0x3f835a={_0xb59a84:0x5bb};function _0x33cb46(_0x4507c6,_0x339ab3){return _0x306755(_0x4507c6,_0x339ab3- -0x29b);}return this[_0x33cb46(0xd09,_0x3f835a._0xb59a84)]['scaleX']??0x1;}set['scaleX'](_0x4f2b54){const _0x39b2f2={_0x4f94d1:0xf9};function _0x29da4c(_0x1a924f,_0xeca40){return _0x306755(_0xeca40,_0x1a924f-_0x39b2f2._0x4f94d1);}this['style']['scaleX']=_0x4f2b54,this[_0x29da4c(0xff2,0xa56)]();}get[_0x2b6441(0x9c3,0xc3d)](){return this['style']['scaleY']??0x1;}set[_0x306755(0xdbf,0x11de)](_0x26cbad){const _0x58c45c={_0x2f16b5:0x42a},_0x1593a5={_0x4be8c3:0x1e5};function _0x5b353a(_0x3b86f9,_0x465094){return _0x2b6441(_0x3b86f9,_0x465094-_0x1593a5._0x4be8c3);}this[_0x5b353a(_0x58c45c._0x2f16b5,0x49a)]['scaleY']=_0x26cbad,this['updateModelMatrix']();}get['scaleZ'](){return this['style']['scaleZ']??0x1;}set[_0x2b6441(0x35e,-0x4d)](_0x84b512){const _0x3442e8={_0x5606ba:0x539};this['style'][_0x3a38d3(-0x845,0x1b)]=_0x84b512;function _0x3a38d3(_0x3a705d,_0x56dbdb){return _0x306755(_0x3a705d,_0x56dbdb- -_0x3442e8._0x5606ba);}this['updateModelMatrix']();}get['splitDirection'](){const _0x10f860={_0x454ed2:0x12a1,_0x3096b5:0x8eb},_0x5ce161={_0x4eb9bd:0x23c},_0x324ffa={_0x432c24:0x372};function _0x190ab7(_0x1762b2,_0x502301){return _0x306755(_0x1762b2,_0x502301- -_0x324ffa._0x432c24);}function _0x303ed0(_0x42f0a1,_0x5b8a53){return _0x2b6441(_0x5b8a53,_0x42f0a1-_0x5ce161._0x4eb9bd);}return this[_0x190ab7(_0x10f860._0x454ed2,_0x10f860._0x3096b5)][_0x190ab7(0xb70,0x90a)];}set[_0x306755(0x505,0xc7c)](_0x9bf036){const _0x559eff={_0x4aa0dd:0xbe0};this['options']['splitDirection']=_0x9bf036;function _0x3f9c17(_0x69a60f,_0x2f480b){return _0x306755(_0x69a60f,_0x2f480b- -0x367);}this[_0x3f9c17(0x11f4,_0x559eff._0x4aa0dd)]&&(this['_primitive']['splitDirection']=_0x9bf036);}get[_0x306755(0x8a3,0xec6)](){const _0x2e0761={_0x48f5ff:0x1368},_0x24eccf={_0x2d4983:0x16e};function _0x3e25b3(_0x2e9b05,_0xb6ed5f){return _0x2b6441(_0x2e9b05,_0xb6ed5f-_0x24eccf._0x2d4983);}return this['_readyPromise'][_0x3e25b3(0xaa2,_0x2e0761._0x48f5ff)];}['_showHook'](_0x3a52e4){const _0xe13325={_0x4fae4f:0x34b,_0x3522e0:0x1415},_0x21aaa8={_0x119d48:0x88};function _0x3572d7(_0x201f41,_0x58a87d){return _0x2b6441(_0x201f41,_0x58a87d-_0x21aaa8._0x119d48);}function _0x1dfd56(_0x223628,_0x390e33){return _0x306755(_0x390e33,_0x223628- -0x19a);}if(this[_0x1dfd56(0xdad,_0xe13325._0x4fae4f)])this['_primitive'][_0x1dfd56(0x13f9,_0xe13325._0x3522e0)]=_0x3a52e4;else _0x3a52e4&&super[_0x3572d7(0xadb,0x12a)](_0x3a52e4);}['_addedHook'](_0x2f03ea){const _0x397807={_0x579978:0xb03,_0x7bd25c:0x141e,_0x49773c:0x73,_0x33662b:0x7ed,_0x39b0e9:0xf6,_0x14732e:0x102a,_0x111204:0x1a94,_0x35e689:0x146b,_0x8d0541:0x6ab,_0x120fb2:0x831,_0x33c55d:0x4a2,_0x1be44b:0x8ec,_0x5dfcc4:0xed7,_0x58a864:0x3c7,_0x486705:0x384,_0x50c622:0x1830,_0x4d10ea:0x42c,_0x29b69f:0x5d3,_0x4a06a9:0x970,_0x54d5e3:0x1249,_0x3dd892:0xaab,_0x56f79d:0x192e,_0x5e6494:0x746,_0x3616e3:0x31d,_0x30fec9:0x6e1,_0x5787ea:0x1429},_0x9ccc93={_0x37e6af:0x19b2,_0x34b3f5:0x1240,_0x16f8ea:0x1240};function _0x35ef26(_0x21f159,_0x577fd4){return _0x306755(_0x577fd4,_0x21f159- -0x48f);}if(!this[_0x51ff97(_0x397807._0x579978,_0x397807._0x7bd25c)]||!this['_map'])return;this['_forPositionProperty'](this['options'][_0x35ef26(0xd68,0x439)]);const _0x26388f=ModelStyleConver[_0x51ff97(0x15eb,0xed7)](this[_0x51ff97(_0x397807._0x49773c,0x6e1)]);function _0x51ff97(_0x2b83d3,_0x232d1d){return _0x2b6441(_0x2b83d3,_0x232d1d-0x42c);}if(!_0x26388f['url'])return;!Cesium__namespace['defined'](_0x26388f['splitDirection'])&&Cesium__namespace['defined'](this['_layer']['splitDirection'])&&(_0x26388f[_0x35ef26(_0x397807._0x33662b,-_0x397807._0x39b0e9)]=this[_0x35ef26(0xf35,0x5df)]['splitDirection']);const _0x3c15e5={'modelMatrix':this['modelMatrix'],'scene':this[_0x51ff97(_0x397807._0x14732e,0x1654)]['scene'],'marsOptions':{'occlusion':this[_0x35ef26(0x3c7,0x645)][_0x51ff97(_0x397807._0x111204,_0x397807._0x35e689)]},..._0x26388f};Cesium__namespace['Model'][_0x51ff97(0x23d,0x7a0)](_0x3c15e5)['then'](_0x26ef75=>{const _0x4bb78a={_0x23404e:0x1e5,_0x3f2d20:0x73b,_0x59d879:0x16b3,_0x14d36c:0xd7d,_0x5365b0:0x198,_0x4cb4d4:0x12b7,_0x39506d:0xa67},_0x2ef5de={_0x2227ca:0xe};function _0x3c9438(_0x3b2878,_0x4e50c8){return _0x51ff97(_0x3b2878,_0x4e50c8- -0x1de);}if(!this['isAdded'])return;function _0x171e6b(_0x2e4662,_0x1e7772){return _0x51ff97(_0x1e7772,_0x2e4662-_0x2ef5de._0x2227ca);}this['bindPickId'](_0x26ef75),this['_primitive']=this['primitiveCollection']['add'](_0x26ef75),this['_primitive'][_0x3c9438(_0x9ccc93._0x37e6af,_0x9ccc93._0x34b3f5)]=this[_0x3c9438(0xb82,_0x9ccc93._0x16f8ea)],this[_0x171e6b(0xde0,0xc27)]['readyEvent'][_0x3c9438(0xc2f,0x797)](()=>{var _0x26cfa0,_0x56ca60;if(this['isDestroy']||!this['_primitive'])return;function _0x17f17c(_0x43b4de,_0x1b0787){return _0x3c9438(_0x1b0787,_0x43b4de- -0x90);}function _0x3aac61(_0x42b23d,_0x58eef6){return _0x3c9438(_0x58eef6,_0x42b23d- -0x280);}this['_modelMatrix']&&(this[_0x3aac61(0x974,0x12ab)]['modelMatrix']=this['_modelMatrix']),(this[_0x17f17c(0x473,_0x4bb78a._0x23404e)][_0x3aac61(0x1139,0x78c)]??!![])&&(_0x26cfa0=this['_primitive'][_0x17f17c(_0x4bb78a._0x3f2d20,0x3fd)])!==null&&_0x26cfa0!==void 0x0&&_0x26cfa0[_0x3aac61(0xf9e,_0x4bb78a._0x59d879)]&&this['_primitive'][_0x3aac61(0x54b,_0x4bb78a._0x14d36c)]['addAll']({'loop':Cesium__namespace['ModelAnimationLoop']['REPEAT'],...this['style']}),(_0x56ca60=this['_layer'])!==null&&_0x56ca60!==void 0x0&&_0x56ca60['_objectsToExclude_auto']&&delete this['_layer'][_0x3aac61(_0x4bb78a._0x5365b0,0x540)],this['fire'](EventType[_0x3aac61(_0x4bb78a._0x4cb4d4,0x1051)],{'drawType':this['type'],'model':_0x26ef75,'graphic':this},!![]),this[_0x3aac61(_0x4bb78a._0x39506d,0xe3)]['resolve'](this);});});_0x2f03ea[_0x35ef26(0x3dc,-_0x397807._0x8d0541)]&&this[_0x35ef26(_0x397807._0x120fb2,_0x397807._0x33c55d)](_0x2f03ea[_0x51ff97(_0x397807._0x1be44b,0x6f6)]);if(this['style']['distanceDisplayCondition']){if(this['style']['distanceDisplayPoint']){var _0x5ef43c;const _0xa04865=PointStyleConver[_0x51ff97(0x14ee,_0x397807._0x5dfcc4)](this[_0x35ef26(_0x397807._0x58a864,_0x397807._0x486705)][_0x35ef26(0xf2f,0x640)],{'show':this[_0x51ff97(_0x397807._0x50c622,0x141e)],'position':this[_0x51ff97(0x1a69,0x1082)]});_0xa04865[_0x35ef26(_0x397807._0x4d10ea,0x67d)]=this['_getTargetDistanceDisplayCondition'](this[_0x51ff97(_0x397807._0x29b69f,0x6e1)][_0x51ff97(_0x397807._0x4a06a9,_0x397807._0x54d5e3)]),this[_0x35ef26(0xc57,_0x397807._0x3dd892)]=(_0x5ef43c=this['_layer'])===null||_0x5ef43c===void 0x0?void 0x0:_0x5ef43c[_0x35ef26(0x25e,-0x657)]['add'](_0xa04865);}else{if(this[_0x35ef26(_0x397807._0x58a864,0xb04)][_0x51ff97(0x4f2,0x700)]){var _0x1352a8;const _0x1d736f=BillboardStyleConver[_0x51ff97(_0x397807._0x56f79d,_0x397807._0x5dfcc4)](this['style']['distanceDisplayBillboard'],{'show':this['show'],'position':this['position']});_0x1d736f[_0x51ff97(0x450,_0x397807._0x5e6494)]=this['_getTargetDistanceDisplayCondition'](this[_0x51ff97(-_0x397807._0x3616e3,_0x397807._0x30fec9)][_0x35ef26(0x3e6,-0x137)]),this['_primitive_billboard']=(_0x1352a8=this[_0x51ff97(_0x397807._0x5787ea,0x124f)])===null||_0x1352a8===void 0x0?void 0x0:_0x1352a8['billboardCollection']['add'](_0x1d736f);}}}}[_0x2b6441(0x11ee,0x88a)](){const _0x3f75a5={_0x1ea325:0xaf4},_0x2bdd38={_0x4c0935:0xa6};function _0x330b58(_0x17efa7,_0xac7767){return _0x2b6441(_0x17efa7,_0xac7767-_0x2bdd38._0x4c0935);}super[_0x57d8d1(0xf63,0xcf5)]();if(this[_0x330b58(0xdc8,0xbeb)]){var _0x5b28af;(_0x5b28af=this['_layer'])===null||_0x5b28af===void 0x0||_0x5b28af['pointCollection'][_0x57d8d1(0xaf4,0x116b)](this['_primitive_point']),delete this[_0x330b58(0x657,0xbeb)];}function _0x57d8d1(_0x2b0d70,_0x33020e){return _0x2b6441(_0x33020e,_0x2b0d70-0x6d9);}if(this['_primitive_billboard']){var _0x56184d;(_0x56184d=this['_layer'])===null||_0x56184d===void 0x0||_0x56184d['billboardCollection'][_0x57d8d1(_0x3f75a5._0x1ea325,0x1386)](this['_primitive_billboard']),delete this['_primitive_billboard'];}}['_updateStyleHook'](_0x53c879,_0xac6116){const _0x3b1576={_0x2fc00d:0x6db,_0x5b936d:0x41c,_0x1c24a2:0x833,_0x5f8385:0x1735,_0xa38a23:0xc27,_0x93c41c:0x188c,_0x179e71:0x83e,_0x10493a:0x1521,_0x553bb6:0x50c,_0x2ae155:0x65,_0x4933db:0x984,_0x5518ee:0x83e,_0x2a58e5:0x129d,_0x5e338a:0x10dd,_0x5de7e4:0x667,_0x10c89b:0xca,_0xe41254:0x1468,_0x52638e:0x1edd,_0x1b085f:0x1468,_0x27e9af:0x1b86,_0xfa90d:0x21,_0x5914c6:0x7a9},_0x3bc3c2={_0x4c80d3:0x257};if(!this['primitive'])return;function _0x453bf5(_0xadf056,_0x14e144){return _0x2b6441(_0x14e144,_0xadf056-_0x3bc3c2._0x4c80d3);}if(_0xac6116['url']&&this['show']&&this[_0xb5c036(-0x5d,_0x3b1576._0x2fc00d)]['url']!==_0xac6116['url']){this[_0xb5c036(-0x262,_0x3b1576._0x5b936d)](_0x53c879);return;}ModelStyleConver[_0xb5c036(_0x3b1576._0x1c24a2,0xfcf)](_0x53c879,this['primitive']);(Cesium__namespace['defined'](_0xac6116[_0x453bf5(0xe87,0x1160)])||Cesium__namespace[_0xb5c036(0x1925,_0x3b1576._0x5f8385)](_0xac6116['pitch'])||Cesium__namespace[_0x453bf5(0x1468,0xa32)](_0xac6116[_0x453bf5(0x6a2,0xc7b)])||Cesium__namespace[_0x453bf5(0x1468,0x1ba1)](_0xac6116[_0x453bf5(0x98a,0xe26)])||Cesium__namespace['defined'](_0xac6116['scaleX'])||Cesium__namespace[_0x453bf5(0x1468,0x1da3)](_0xac6116['scaleY'])||Cesium__namespace['defined'](_0xac6116[_0xb5c036(_0x3b1576._0xa38a23,0x4d7)]))&&(this['_primitive']['modelMatrix']=this[_0xb5c036(0x10a5,_0x3b1576._0x93c41c)]);if(this['style'][_0xb5c036(0x98b,_0x3b1576._0x179e71)]){var _0x3bd065;if(_0xac6116['distanceDisplayPoint']&&this['_primitive_point'])PointStyleConver[_0xb5c036(_0x3b1576._0x10493a,0xfcf)](this[_0x453bf5(_0x3b1576._0x553bb6,0x177)]['distanceDisplayPoint'],this['_primitive_point']),this['_primitive_point']['distanceDisplayCondition']=this['_getTargetDistanceDisplayCondition'](this['style']['distanceDisplayPoint']);else _0xac6116[_0xb5c036(_0x3b1576._0x2ae155,0x7f8)]&&(_0x3bd065=this['_entity'])!==null&&_0x3bd065!==void 0x0&&_0x3bd065['billboard']&&(BillboardStyleConver['toCesiumVal'](this[_0x453bf5(0x50c,-0x248)]['distanceDisplayBillboard'],this['_primitive_billboard']),this['_primitive_billboard'][_0xb5c036(_0x3b1576._0x4933db,_0x3b1576._0x5518ee)]=this['_getTargetDistanceDisplayCondition'](this['style']['distanceDisplayBillboard']));}function _0xb5c036(_0x2e30b1,_0x275f88){return _0x2b6441(_0x2e30b1,_0x275f88-0x524);}(Cesium__namespace[_0xb5c036(_0x3b1576._0x2a58e5,0x1735)](_0xac6116['runAnimations'])||Cesium__namespace[_0xb5c036(0x1abe,_0x3b1576._0x5f8385)](_0xac6116['startTime'])||Cesium__namespace['defined'](_0xac6116[_0x453bf5(0xb5e,_0x3b1576._0x5e338a)])||Cesium__namespace['defined'](_0xac6116[_0x453bf5(_0x3b1576._0x5de7e4,_0x3b1576._0x10c89b)])||Cesium__namespace[_0x453bf5(_0x3b1576._0xe41254,0xcdf)](_0xac6116[_0x453bf5(0xe66,0xe13)])||Cesium__namespace[_0xb5c036(0x1e42,0x1735)](_0xac6116['multiplier'])||Cesium__namespace[_0x453bf5(0x1468,_0x3b1576._0x52638e)](_0xac6116[_0x453bf5(0xd32,0x37c)])||Cesium__namespace[_0x453bf5(_0x3b1576._0x1b085f,_0x3b1576._0x27e9af)](_0xac6116['loop']))&&(this['style']['runAnimations']?(this[_0x453bf5(0xbfd,0x64a)]['activeAnimations']['removeAll'](),this[_0x453bf5(0xbfd,0x7d9)]['activeAnimations']['addAll']({'loop':Cesium__namespace['ModelAnimationLoop'][_0xb5c036(_0x3b1576._0xfa90d,_0x3b1576._0x5914c6)],...this[_0x453bf5(0x50c,0xeaf)]})):this[_0xb5c036(0x12b4,0xeca)]['activeAnimations']['removeAll']());}[_0x306755(0x1034,0x5d7)](_0x351ee9,_0x3cefbc){const _0x122482={_0x18351a:0xe2a,_0x5dd0ee:0x12a7};_0x3cefbc=ModelStyleConver['toJSON'](_0x351ee9,_0x3cefbc);_0x351ee9['distanceDisplayBillboard']&&(_0x3cefbc['distanceDisplayBillboard']=BillboardStyleConver['toJSON'](_0x351ee9['distanceDisplayBillboard'],_0x3cefbc['distanceDisplayBillboard']));_0x351ee9['distanceDisplayPoint']&&(_0x3cefbc['distanceDisplayPoint']=PointStyleConver['toJSON'](_0x351ee9['distanceDisplayPoint'],_0x3cefbc[_0x23ef93(_0x122482._0x18351a,_0x122482._0x5dd0ee)]));function _0x23ef93(_0x49a3b3,_0x45bf48){return _0x306755(_0x45bf48,_0x49a3b3- -0x594);}return _0x3cefbc;}['_updatePositionsHook'](){const _0x5c005f={_0x123871:0xe2c,_0x30545b:0x164c,_0x3322b0:0xe55,_0x3e46dc:0xe29,_0x523288:0x10dc,_0x338f9f:0x16c2};function _0x544ab0(_0x46ff82,_0xf99560){return _0x2b6441(_0xf99560,_0x46ff82-0x486);}function _0x1afaf8(_0x2ce019,_0x3dbf3f){return _0x2b6441(_0x2ce019,_0x3dbf3f-0x2e4);}this[_0x544ab0(_0x5c005f._0x123871,0xe69)][_0x1afaf8(0x1f67,_0x5c005f._0x30545b)]=this['modelMatrix'],this['_primitive_point']&&(this[_0x1afaf8(_0x5c005f._0x3322b0,_0x5c005f._0x3e46dc)]['position']=this[_0x544ab0(_0x5c005f._0x523288,0x938)]),this['_primitive_billboard']&&(this['_primitive_billboard']['position']=this[_0x1afaf8(_0x5c005f._0x338f9f,0xf3a)]);}['_getTargetDistanceDisplayCondition'](_0x194b65){const _0x4d70ec={_0x3de313:0x9ba,_0x370354:0x190,_0x21d396:0x15e6,_0x510bd2:0x228,_0x45f781:0x15e6},_0x1bc538={_0x35419e:0x60b},_0x2930a1={_0x5ebb8b:0x1e7};function _0x11f89c(_0x556f2d,_0x56b856){return _0x306755(_0x556f2d,_0x56b856- -_0x2930a1._0x5ebb8b);}function _0x564056(_0x366b9a,_0x102a8a){return _0x306755(_0x102a8a,_0x366b9a- -_0x1bc538._0x35419e);}let _0x1f3a7c;if(this['style']['distanceDisplayCondition']instanceof Cesium__namespace[_0x11f89c(_0x4d70ec._0x3de313,0x64c)])_0x1f3a7c=this['style'][_0x11f89c(_0x4d70ec._0x370354,0x6d4)]['far'];else this['style'][_0x11f89c(0x1bc7,_0x4d70ec._0x21d396)]&&(_0x1f3a7c=this['style']['distanceDisplayCondition_far']);return new Cesium__namespace[(_0x564056(_0x4d70ec._0x510bd2,0xb4a))](_0x194b65['distanceDisplayCondition_near']??_0x1f3a7c,_0x194b65[_0x11f89c(0x194f,_0x4d70ec._0x45f781)]??Number['MAX_VALUE']);}['setOpacity'](_0x21e281){const _0x51c626={_0x139bc0:0x95a,_0x4eebe6:0x15c7},_0x1c5d7f={_0x41a86c:0x3aa};function _0x265c70(_0x489c64,_0x4d49ad){return _0x2b6441(_0x489c64,_0x4d49ad-_0x1c5d7f._0x41a86c);}this[_0x2d736d(_0x51c626._0x139bc0,0x7c0)][_0x265c70(0x1bae,_0x51c626._0x4eebe6)]=_0x21e281;function _0x2d736d(_0x5c2d09,_0x3494e3){return _0x306755(_0x3494e3,_0x5c2d09-0x104);}this['readyPromise'][_0x265c70(0xa31,0x110c)](()=>{this['_primitive']&&ModelStyleConver['setOpacity'](this['_primitive'],_0x21e281),this['_updateLabelOpacity'](_0x21e281);});}['_updateAvailabilityHook'](_0x3eea2c){const _0x16a539={_0x3ab5d2:0x1039,_0x56bcf3:0x1500,_0x37d472:0xff6},_0x607ecd={_0x528c97:0xf57};function _0x13cc9a(_0x4d3f7d,_0xaf0e66){return _0x306755(_0x4d3f7d,_0xaf0e66- -0x54c);}function _0x567316(_0xa1ef55,_0x2a19f2){return _0x306755(_0xa1ef55,_0x2a19f2- -0x180);}_0x3eea2c?this['bindUpdateEvent']():(this['unbindUpdateEvent'](),this['_primitive']&&(this[_0x13cc9a(0x5c7,0x9fb)]['show']=this['show'],this['czmObjectEx'][_0x567316(_0x16a539._0x3ab5d2,0xac0)](_0x35ab22=>{function _0x178f4a(_0x5ede32,_0x5cb1ba){return _0x567316(_0x5ede32,_0x5cb1ba- -0x4bc);}_0x35ab22[_0x178f4a(0x12b4,_0x607ecd._0x528c97)]=this['show'];}))),this[_0x13cc9a(0x1171,0xff6)]&&(this[_0x13cc9a(_0x16a539._0x56bcf3,_0x16a539._0x37d472)]['availability']=_0x3eea2c);}['startFlicker'](_0x16d198={}){const _0x371499={_0x4dbac7:0x806,_0x31868d:0xb22,_0x4c12ee:0x806},_0x4ed2d8={_0xdfc589:0x243},_0x4304ec={_0x3eb87e:0x40a};function _0x30de97(_0x38ed6b,_0x31ac0c){return _0x306755(_0x38ed6b,_0x31ac0c- -0x38d);}function _0x5474bf(_0x204898,_0x4fdccb){return _0x306755(_0x4fdccb,_0x204898- -0x205);}return!this[_0x5474bf(0x98e,0x1287)]&&(this[_0x30de97(-0xb,_0x371499._0x4dbac7)]=new FlickerEntity()),!_0x16d198['color']&&this['style'][_0x5474bf(0xcaa,0xc16)]&&(_0x16d198[_0x30de97(0x17e,_0x371499._0x31868d)]=this['style']['color']),this['readyPromise']['then'](()=>{function _0x42f627(_0x204a44,_0x177ad6){return _0x5474bf(_0x177ad6- -0x136,_0x204a44);}const _0x1e955f={};function _0x5e3739(_0x1872ad,_0x422fde){return _0x30de97(_0x422fde,_0x1872ad-_0x4304ec._0x3eb87e);}_0x1e955f['model']=this[_0x42f627(_0x4ed2d8._0xdfc589,0x7f4)];const _0x15b27b=[_0x1e955f];this['flickerEntity'][_0x42f627(0x6e7,0xef7)](_0x15b27b,_0x16d198);}),this[_0x30de97(0xa69,_0x371499._0x4c12ee)];}['stopFlicker'](){const _0x22e9ba={_0x5e9af3:0x5cd};function _0x3d562a(_0x455111,_0xe8f54e){return _0x306755(_0x455111,_0xe8f54e- -_0x22e9ba._0x5e9af3);}return this['flickerEntity']?this[_0x3d562a(-0x4a1,0x5c6)]['stopFlicker']():null;}[_0x306755(0x2212,0x1966)](_0x22201b,_0x5b456b){const _0x581d48={_0x444309:0x593};function _0x515246(_0x5bc684,_0x3b468d){return _0x2b6441(_0x3b468d,_0x5bc684-_0x581d48._0x444309);}function _0xf555a3(_0x38aa54,_0x252527){return _0x306755(_0x252527,_0x38aa54- -0x462);}return _0x22201b[_0x515246(0xe93,0x18e9)]=this[_0xf555a3(0x7fb,0x8ec)]['drawShow'],create$5(_0x515246(0x1946,0x1443),_0x22201b);}['getBoundingBox'](_0x265b75,_0x29c38e){const _0x95612d={_0xaeef8d:0x12b1,_0x36e590:0x837,_0x326e2a:0xa06,_0x5ba181:0x1227,_0x3c7b8:0x644};function _0x31b383(_0x212e85,_0x10c167){return _0x2b6441(_0x10c167,_0x212e85-0xa0);}var _0x1295af;!Cesium__namespace[_0x31b383(_0x95612d._0xaeef8d,0xaa8)](_0x29c38e)&&(_0x29c38e=new Cesium__namespace[(_0x31b383(_0x95612d._0x36e590,_0x95612d._0x326e2a))]());const _0x15a6f3=((_0x1295af=this['style'])===null||_0x1295af===void 0x0?void 0x0:_0x1295af[_0x31b383(_0x95612d._0x5ba181,0x14c6)])??0x14;function _0x5f08d1(_0x83c454,_0x3d0473){return _0x306755(_0x83c454,_0x3d0473- -0x1b9);}const _0x1eaf73=_0x265b75['x']-_0x15a6f3*0.5,_0x26346c=_0x265b75['y']-_0x15a6f3*0.5;return _0x29c38e['x']=_0x1eaf73,_0x29c38e['y']=_0x26346c,_0x29c38e[_0x5f08d1(_0x95612d._0x3c7b8,0xa32)]=_0x15a6f3,_0x29c38e['height']=_0x15a6f3,_0x29c38e;}}register$5('modelP',ModelPrimitive,!![]);class CirclePrimitive extends BasePointPrimitive{constructor(_0x2ca3dc={}){const _0x2d3bb5={_0x4af539:0xf04};super(_0x2ca3dc);function _0x3995fe(_0x30146e,_0xb9aa35){return _0x2b6441(_0xb9aa35,_0x30146e-0x1a8);}this[_0x3995fe(_0x2d3bb5._0x4af539,0x1282)]=!![];}get['distance'](){return Math['PI']*0x2*this['radius'];}get['area'](){const _0x278886={_0x9b2517:0xb3a},_0xadeff={_0x6420f8:0x60c},_0xfa7435=this[_0xab9903(_0x278886._0x9b2517,0xba)];function _0xab9903(_0x43bf98,_0x2ec1e4){return _0x306755(_0x43bf98,_0x2ec1e4- -_0xadeff._0x6420f8);}return Math['PI']*_0xfa7435*_0xfa7435;}get[_0x306755(-0x336,0x6c6)](){return this['style']['radius'];}set[_0x2b6441(-0x990,0x125)](_0x59a6a1){const _0x3220a5={_0x22c5f6:0x65c,_0x386f92:0x378},_0x7f53b0={_0x5b9967:0x6a};function _0x1b5cb1(_0x12ffc2,_0x454d68){return _0x306755(_0x12ffc2,_0x454d68- -0x303);}function _0x9deba4(_0x17adc1,_0x225edc){return _0x306755(_0x17adc1,_0x225edc- -_0x7f53b0._0x5b9967);}this[_0x9deba4(0x590,0x7ec)][_0x9deba4(0x51d,_0x3220a5._0x22c5f6)]=_0x59a6a1;const _0x47bf04={};_0x47bf04[_0x9deba4(_0x3220a5._0x386f92,_0x3220a5._0x22c5f6)]=_0x59a6a1,this['_updateStyleHook'](this[_0x9deba4(0xd62,0x7ec)],_0x47bf04);}get['outlinePositions'](){return this['getOutlinePositions']();}[_0x2b6441(0x1090,0xa04)](_0x59a018){return CircleStyleConver['toCesiumVal'](_0x59a018);}[_0x2b6441(-0x2bb,0x36)](_0x4ac9bc,_0x213cad){return CircleStyleConver['toJSON'](_0x4ac9bc,_0x213cad);}['_createGeometryInstance'](_0x1e0b3c,_0xa29374){const _0x39bba8={_0x4dc038:0x84f};function _0x56d893(_0x42d35e,_0x2dee29){return _0x2b6441(_0x42d35e,_0x2dee29-0x409);}_0x1e0b3c['center']=this['position'],this['_calculateCzmHeight'](_0x1e0b3c);const _0x31b8d6=_0xa29374?Cesium__namespace['CircleOutlineGeometry']:Cesium__namespace['CircleGeometry'];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x31b8d6(_0x1e0b3c),'attributes':this[_0x56d893(_0x39bba8._0x4dc038,0x12a8)](_0x1e0b3c)});}['_getPolylineOutlinePositions'](){const _0x2393a={_0x5e8b8d:0xbdf};function _0x59b20b(_0x5f5630,_0x516ab7){return _0x306755(_0x5f5630,_0x516ab7-0x92);}return[this[_0x59b20b(_0x2393a._0x5e8b8d,0xe0e)](![])];}[_0x2b6441(0x773,0x116c)](_0x368926,_0x4c0439,_0x455942){return cartesians2lonlats(this['getOutlinePositions'](_0x368926,_0x4c0439),_0x455942);}['getOutlinePositions'](_0x10d753=!![],_0x193393){const _0x44e973={_0x5f105f:0x10e7,_0x9e49f1:0x4ce,_0xb8218b:0x751,_0x4d79d0:0xdd6,_0x3918f8:0xb19,_0x28fd53:0x15ea,_0x1d7d0d:0x61d,_0x597fa2:0x867},_0x232aa1={_0x37fc00:0x3a9},_0x1ad10a={};_0x1ad10a['position']=this[_0x4fdc07(0xfff,_0x44e973._0x5f105f)],_0x1ad10a[_0x4fdc07(_0x44e973._0x9e49f1,0x5cc)]=this[_0x1f7636(_0x44e973._0xb8218b,_0x44e973._0x4d79d0)];function _0x1f7636(_0x4c8ebb,_0x1c8dca){return _0x306755(_0x1c8dca,_0x4c8ebb-0x8b);}_0x1ad10a[_0x4fdc07(0xb19,0xfcf)]=this['style'][_0x4fdc07(_0x44e973._0x3918f8,_0x44e973._0x28fd53)],_0x1ad10a['count']=_0x193393;const _0x209445=getEllipseOuterPositions(_0x1ad10a);function _0x4fdc07(_0x282228,_0x2f2bfb){return _0x2b6441(_0x2f2bfb,_0x282228-_0x232aa1._0x37fc00);}if(_0x10d753&&_0x209445){var _0x473a62;_0x209445[_0x1f7636(0x724,_0x44e973._0x1d7d0d)](_0x209445[0x0]),(this['style']['outlineWidth']>0x4||((_0x473a62=this['style']['outlineStyle'])===null||_0x473a62===void 0x0?void 0x0:_0x473a62['width'])>0x4)&&_0x209445[_0x1f7636(0x724,_0x44e973._0x597fa2)](_0x209445[0x1]);}return _0x209445;}['flyTo'](_0x33d2af={}){const _0x1f37e={_0x46fed2:0xc4c,_0x664d15:0x14e4,_0x117fe9:0x3f8,_0x8043f9:0x1de7};function _0x4bef93(_0x1ef030,_0x2d1831){return _0x306755(_0x2d1831,_0x1ef030- -0x2ce);}function _0x4392fd(_0x5ec23a,_0xb3ab38){return _0x306755(_0xb3ab38,_0x5ec23a- -0x3f8);}if(!this['_map'])return Promise[_0x4392fd(_0x1f37e._0x46fed2,0xf8c)](![]);return!Cesium__namespace[_0x4bef93(_0x1f37e._0x664d15,0x1b06)](_0x33d2af['radius'])&&(_0x33d2af[_0x4bef93(_0x1f37e._0x117fe9,0xb04)]=this['radius']*(_0x33d2af['scale']||1.8)),this[_0x4392fd(0x13d1,_0x1f37e._0x8043f9)]['flyToPoint'](this[_0x4bef93(0xf29,0x19bd)],_0x33d2af);}['getRectangle'](_0x20ac08){const _0x3db953={_0x754f46:0x3e3,_0x4337eb:0x19ef},_0x59fddd={_0x45a979:0x59f};function _0x1708e7(_0x1cf583,_0x466371){return _0x2b6441(_0x1cf583,_0x466371-_0x59fddd._0x45a979);}const _0x4ca791=this[_0x1708e7(_0x3db953._0x754f46,0xd7a)](![],0x1);if(!_0x4ca791||_0x4ca791[_0x1708e7(_0x3db953._0x4337eb,0x15f9)]===0x0)return;function _0x4c53e4(_0x2e5df4,_0x51a916){return _0x2b6441(_0x2e5df4,_0x51a916- -0x47);}const _0x4e8418=getRectangle(_0x4ca791,_0x20ac08===null||_0x20ac08===void 0x0?void 0x0:_0x20ac08['isFormat']);return _0x4e8418;}['isInPoly'](_0x4575fd){const _0x4170ca={_0xe19414:0x9a0};_0x4575fd=LngLatPoint['parse'](_0x4575fd)['toCartesian']();function _0x122082(_0x5cf0bd,_0x155442){return _0x2b6441(_0x5cf0bd,_0x155442-0x520);}_0x4575fd=setPositionsHeight(_0x4575fd,this['height']);const _0x1418f5=Cesium__namespace[_0x122082(0xed8,_0x4170ca._0xe19414)]['distance'](this['position'],_0x4575fd);return _0x1418f5<=this['radius'];}['_getDrawEntityClass'](_0x330e86,_0x4e82f9){function _0x9406d9(_0x112ae0,_0x5009e2){return _0x2b6441(_0x112ae0,_0x5009e2-0x332);}return create$5(_0x9406d9(0x419,0xaad),_0x330e86);}}register$5('circleP',CirclePrimitive,!![]);class PlanePrimitive extends BasePointPrimitive{get['modelMatrix'](){const _0x2e3b92={_0x2df2d7:0x1c2a,_0x4d3b8f:0x142a,_0x4527b4:0x650,_0x3f7943:0x334,_0x478786:0x198,_0x2412f4:0xb71,_0x48c684:0x5fb,_0x4d7529:0x1078,_0x3c390a:0x101b,_0x2f5c83:0x822,_0x29efbe:0x650,_0x400796:0x699,_0x2c102d:0xbd9,_0x3eae82:0x15ab,_0x4c6e47:0x7c7,_0x36d1fe:0x650,_0x51b644:0xbd9,_0x2b5942:0x4b8},_0x4ae367={_0x28d1c7:0x251};var _0x5d30a7,_0x410bab,_0xa5fa29;if(this['options'][_0x2642fe(0x13e7,_0x2e3b92._0x2df2d7)])return this[_0x472b7e(0x90d,0x837)][_0x472b7e(0x15b9,_0x2e3b92._0x4d3b8f)];const _0x1ad037=super['modelMatrix'];if(!this['position'])return Cesium__namespace[_0x2642fe(_0x2e3b92._0x4527b4,0xaa4)]['IDENTITY'];const _0xa0a3e3=PlaneStyleConver['toCesiumVal'](this['style']);function _0x472b7e(_0x4564fc,_0x453f12){return _0x2b6441(_0x453f12,_0x4564fc-_0x4ae367._0x28d1c7);}function _0x2642fe(_0x2c70ee,_0x53159e){return _0x2b6441(_0x53159e,_0x2c70ee-0x7f);}const _0x37b678=this[_0x2642fe(_0x2e3b92._0x3f7943,-0x60)][_0x472b7e(_0x2e3b92._0x478786,0x584)]??((_0x5d30a7=_0xa0a3e3['plane'])===null||_0x5d30a7===void 0x0?void 0x0:_0x5d30a7['normal']),_0x45830f=new Cesium__namespace['Cartesian3'](((_0x410bab=_0xa0a3e3['dimensions'])===null||_0x410bab===void 0x0?void 0x0:_0x410bab['x'])??0x1,((_0xa5fa29=_0xa0a3e3['dimensions'])===null||_0xa5fa29===void 0x0?void 0x0:_0xa5fa29['y'])??0x1,0x1);if(_0x37b678===Cesium__namespace['Cartesian3'][_0x2642fe(0xa0c,0xd04)]||_0x37b678==='x'){var _0x568878,_0x45ae41;const _0x4d6810=Cesium__namespace[_0x2642fe(0x650,_0x2e3b92._0x2412f4)][_0x472b7e(0x40d,-_0x2e3b92._0x48c684)](Cesium__namespace[_0x472b7e(0x1060,_0x2e3b92._0x4d7529)]['fromRotationY'](Cesium__namespace[_0x472b7e(_0x2e3b92._0x3c390a,0xf18)]['toRadians'](0x5a)));Cesium__namespace[_0x472b7e(_0x2e3b92._0x2f5c83,0xe04)]['multiply'](_0x1ad037,_0x4d6810,_0x1ad037),_0x45830f['x']=((_0x568878=_0xa0a3e3['dimensions'])===null||_0x568878===void 0x0?void 0x0:_0x568878['y'])??0x1,_0x45830f['y']=((_0x45ae41=_0xa0a3e3[_0x472b7e(0x3a6,-0x726)])===null||_0x45ae41===void 0x0?void 0x0:_0x45ae41['x'])??0x1,_0x45830f['z']=0x1;}else{if(_0x37b678===Cesium__namespace['Cartesian3']['UNIT_Y']||_0x37b678==='y'){const _0x11442f=Cesium__namespace['Matrix4']['fromRotationTranslation'](Cesium__namespace['Matrix3']['fromRotationX'](Cesium__namespace['Math']['toRadians'](0x5a)));Cesium__namespace[_0x2642fe(_0x2e3b92._0x29efbe,_0x2e3b92._0x400796)][_0x472b7e(_0x2e3b92._0x2c102d,_0x2e3b92._0x3eae82)](_0x1ad037,_0x11442f,_0x1ad037);}}const _0x189b08=Cesium__namespace[_0x472b7e(0x822,_0x2e3b92._0x4c6e47)][_0x472b7e(0x141a,0x124b)](_0x45830f);return Cesium__namespace[_0x2642fe(_0x2e3b92._0x36d1fe,0xa58)][_0x472b7e(_0x2e3b92._0x51b644,_0x2e3b92._0x2b5942)](_0x1ad037,_0x189b08,_0x1ad037),_0x1ad037;}['_conversionStyle'](_0x343812){return PlaneStyleConver['toCesiumVal'](_0x343812);}[_0x2b6441(0x153,0x36)](_0x3449fd,_0x18352d){return PlaneStyleConver['toJSON'](_0x3449fd,_0x18352d);}['_createGeometryInstance'](_0x1af4df,_0x3d0bf2){const _0x43ffc3={_0x76e05b:0x60e};function _0xc8d59f(_0x15e05c,_0x7cebab){return _0x306755(_0x15e05c,_0x7cebab- -_0x43ffc3._0x76e05b);}const _0x273244=_0x3d0bf2?Cesium__namespace['PlaneOutlineGeometry']:Cesium__namespace['PlaneGeometry'];function _0xc22551(_0x37e58e,_0x2ba3b2){return _0x2b6441(_0x37e58e,_0x2ba3b2-0x183);}return new Cesium__namespace[(_0xc22551(0x13c3,0x139e))]({'id':this['id'],'geometry':new _0x273244(_0x1af4df),'modelMatrix':this['modelMatrix'],'attributes':this[_0xc22551(0xdd3,0x1022)](_0x1af4df)});}['_getDrawEntityClass'](_0x19d668,_0x4d8770){return create$5('plane',_0x19d668);}}register$5(_0x2b6441(0xa01,0x107d),PlanePrimitive,!![]);class BoxPrimitive extends BasePointPrimitive{constructor(_0x30c301={}){super(_0x30c301);function _0xfb4af4(_0x584e51,_0x1e5fcb){return _0x2b6441(_0x584e51,_0x1e5fcb-0x5cf);}this['style']['closed']=this['style'][_0xfb4af4(0x975,0xc2d)]??!![];}['_conversionStyle'](_0x28ed42){const _0x53c56f={_0x423c8a:0x1186,_0x59089b:0xfa7};function _0x39df1b(_0x7a4fa3,_0x36d90b){return _0x2b6441(_0x36d90b,_0x7a4fa3-0x6db);}return BoxStyleConver[_0x39df1b(_0x53c56f._0x423c8a,_0x53c56f._0x59089b)](_0x28ed42);}[_0x2b6441(0x42c,0x36)](_0x28d418,_0x11d141){return BoxStyleConver['toJSON'](_0x28d418,_0x11d141);}[_0x306755(0x79d,0xce7)](_0x289af3,_0x81f782){const _0xfd386c=_0x81f782?Cesium__namespace['BoxOutlineGeometry']:Cesium__namespace['BoxGeometry'];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':_0xfd386c['fromDimensions'](_0x289af3),'modelMatrix':this['modelMatrix'],'attributes':this['_createGeometryInstanceAttributes'](_0x289af3)});}['_getDrawEntityClass'](_0x2a23fc,_0x2d33cd){return create$5('box',_0x2a23fc);}}register$5(_0x306755(0x1aef,0x11d7),BoxPrimitive,!![]);class CylinderPrimitive extends BasePointPrimitive{constructor(_0x45d980={}){function _0x3347b8(_0x315ee1,_0x1c3ecd){return _0x2b6441(_0x1c3ecd,_0x315ee1-0x5ea);}super(_0x45d980),this['style']['closed']=this['style'][_0x3347b8(0xc48,0x81a)]??!![];}['_conversionStyle'](_0x43a7fa){return CylinderStyleConver['toCesiumVal'](_0x43a7fa);}['_style2Json'](_0x177951,_0x2158ef){function _0x533a7b(_0x19a686,_0x5c2c00){return _0x306755(_0x5c2c00,_0x19a686- -0x2ac);}return CylinderStyleConver[_0x533a7b(0x85e,0xba8)](_0x177951,_0x2158ef);}[_0x2b6441(0xe14,0x746)](_0x153ebf,_0x130f05){const _0x530d28=_0x130f05?Cesium__namespace['CylinderOutlineGeometry']:Cesium__namespace['CylinderGeometry'];return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x530d28(_0x153ebf),'modelMatrix':_0x153ebf['modelMatrix']||this['modelMatrix'],'attributes':this['_createGeometryInstanceAttributes'](_0x153ebf)});}[_0x306755(0x176d,0x1966)](_0x47f76f,_0x47ad60){return create$5('cylinder',_0x47f76f);}}register$5('cylinderP',CylinderPrimitive,!![]);class ConeTrackPrimitive extends CylinderPrimitive{constructor(_0x4b0f85={}){const _0x5dc690={_0x41b808:0xd46};super(_0x4b0f85);function _0x1670da(_0x1a76e8,_0xea0b68){return _0x2b6441(_0x1a76e8,_0xea0b68-0x61f);}_0x4b0f85['targetPosition']&&(this['targetPosition']=_0x4b0f85[_0x1670da(0xda0,_0x5dc690._0x41b808)]);}get['hasEdit'](){return![];}get['targetPosition'](){return this['_targetPosition'];}set['targetPosition'](_0x51c269){const _0x1f2126={_0x49cf94:0x104e,_0x573647:0x71c,_0x564527:0x75e},_0xe44037={_0x4fe2a2:0x2d3};this['_targetPoint']=LngLatPoint['parse'](_0x51c269),this[_0x9b2682(0x173a,_0x1f2126._0x49cf94)]=this['_targetPoint'][_0x9b2682(_0x1f2126._0x573647,_0x1f2126._0x564527)]();function _0x9b2682(_0x10ff64,_0x5a6dc9){return _0x2b6441(_0x5a6dc9,_0x10ff64-_0xe44037._0x4fe2a2);}function _0x10c547(_0x48c186,_0x4fd391){return _0x2b6441(_0x48c186,_0x4fd391- -0x86);}this['czmObject']&&this['_updatePositionsHook']();}get['targetPoint'](){const _0x18cbe1={_0x58ab20:0xa40};function _0x423373(_0x5023a4,_0x5b46af){return _0x2b6441(_0x5b46af,_0x5023a4-0x7e);}return this[_0x423373(_0x18cbe1._0x58ab20,0x137c)];}get['angle'](){const _0x42e2ce={_0x4ecd33:0x128a,_0x10daf6:0x948,_0x12f121:0x143e,_0x574091:0x1ac5},_0x301db6={_0x12a6f6:0xf2},_0x5d8727={_0x38e59c:0x2f8};function _0x114ae0(_0xdc919f,_0x5d25b2){return _0x2b6441(_0x5d25b2,_0xdc919f-_0x5d8727._0x38e59c);}function _0x455578(_0x2ccfb7,_0x309fc9){return _0x306755(_0x2ccfb7,_0x309fc9-_0x301db6._0x12a6f6);}return this[_0x455578(_0x42e2ce._0x4ecd33,_0x42e2ce._0x10daf6)][_0x114ae0(_0x42e2ce._0x12f121,_0x42e2ce._0x574091)];}set[_0x2b6441(0x1157,0x1146)](_0x4ac1c0){const _0x4e9308={_0x30fa31:0x185d};function _0x16d8f9(_0x27c7e2,_0xf19396){return _0x2b6441(_0x27c7e2,_0xf19396- -0x6);}this['style'][_0x16d8f9(_0x4e9308._0x30fa31,0x1140)]=_0x4ac1c0;}['_createGeometryInstance'](_0x426ea8,_0x307b63){const _0x4533dc={_0x3346ca:0x10d9,_0xdf17fc:0x1736,_0x2e1819:0xfd5,_0x21823e:0xa3a,_0x143344:0x5b5,_0x545f6c:0xded,_0x58f978:0x1469,_0x3a28c6:0x50d,_0x1e5c14:0x438,_0x5b0e31:0xa0,_0x373c4d:0x206,_0x17e633:0xb55},_0x23e9be={_0x292043:0x396},_0x4f2cd9={_0x59f6b1:0x40f},_0x4a02dc=this['position'],_0x566619=getPositionValue(this[_0x541d6d(0x215,0x932)],this[_0x541d6d(0x1acd,0x1433)][_0x541d6d(_0x4533dc._0x3346ca,0x1004)]['currentTime']);let _0x2a65b0,_0x283b1f;_0x566619?(_0x426ea8[_0x5596f0(0x1469,0x11b8)]=Cesium__namespace['Cartesian3']['distance'](_0x4a02dc,_0x566619),_0x283b1f=Cesium__namespace['Cartesian3'][_0x541d6d(0x786,0xc3f)](_0x4a02dc,_0x566619,new Cesium__namespace['Cartesian3']()),_0x2a65b0=getHeadingPitchRollForLine(_0x4a02dc,_0x566619)):(_0x426ea8['length']=this['style'][_0x5596f0(0x1469,0xc48)],_0x2a65b0=new Cesium__namespace['HeadingPitchRoll'](Cesium__namespace[_0x541d6d(_0x4533dc._0xdf17fc,0xfd5)]['toRadians'](this['heading']),Cesium__namespace[_0x541d6d(0xe04,_0x4533dc._0x2e1819)][_0x5596f0(_0x4533dc._0x21823e,0x6a1)](this['pitch']),Cesium__namespace['Math'][_0x5596f0(0xa3a,_0x4533dc._0x143344)](this[_0x541d6d(_0x4533dc._0x545f6c,0x656)])),_0x283b1f=getPositionByHprAndLen(_0x4a02dc,_0x2a65b0,_0x426ea8[_0x5596f0(_0x4533dc._0x58f978,0xa55)]/0x2));function _0x5596f0(_0x19e13d,_0xc0efb){return _0x2b6441(_0xc0efb,_0x19e13d-_0x4f2cd9._0x59f6b1);}function _0x541d6d(_0x45bd0e,_0x3564be){return _0x306755(_0x45bd0e,_0x3564be- -_0x23e9be._0x292043);}return _0x426ea8['modelMatrix']=Cesium__namespace[_0x5596f0(0x156b,0xfb0)][_0x541d6d(_0x4533dc._0x3a28c6,0xa49)](_0x283b1f,_0x2a65b0,this['ellipsoid'],this[_0x5596f0(_0x4533dc._0x1e5c14,_0x4533dc._0x5b0e31)]),Cesium__namespace['defined'](this['style']['angle'])&&(_0x426ea8['bottomRadius']=_0x426ea8[_0x541d6d(0x168f,0x1265)]*Math[_0x541d6d(_0x4533dc._0x373c4d,0x8f9)](Cesium__namespace['Math']['toRadians'](0x5a-this['angle']))),super[_0x5596f0(_0x4533dc._0x17e633,0x88c)](_0x426ea8,_0x307b63);}}register$5('coneTrackP',ConeTrackPrimitive,!![]);class EllipsoidPrimitive extends BasePointPrimitive{constructor(_0xedde2c={}){super(_0xedde2c),this['style']['closed']=this['style']['closed']??!![];}['_conversionStyle'](_0x1d2fd1){const _0xb60b93={_0x308101:0x182b},_0x37e447={_0xe39de8:0x26};function _0xde299(_0x5f3e03,_0x599fe3){return _0x306755(_0x599fe3,_0x5f3e03-_0x37e447._0xe39de8);}return EllipsoidStyleConver[_0xde299(0x1072,_0xb60b93._0x308101)](_0x1d2fd1);}['_style2Json'](_0x54e8ab,_0x39c104){const _0x2be055={_0x867649:0xbc4,_0x4896ec:0x13b5};function _0x11933c(_0x5766cd,_0x3cc393){return _0x306755(_0x3cc393,_0x5766cd-0xba);}return EllipsoidStyleConver[_0x11933c(_0x2be055._0x867649,_0x2be055._0x4896ec)](_0x54e8ab,_0x39c104);}[_0x2b6441(0x8c4,0x746)](_0x5de824,_0xfa0ad1){const _0x345b22={_0x44fad0:0x52f,_0x3d5e2d:0x564},_0xdcd707=_0xfa0ad1?Cesium__namespace[_0x54445e(_0x345b22._0x44fad0,-_0x345b22._0x3d5e2d)]:Cesium__namespace['EllipsoidGeometry'];function _0x54445e(_0xb548bc,_0x21d834){return _0x306755(_0x21d834,_0xb548bc- -0x2f1);}return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0xdcd707(_0x5de824),'modelMatrix':this['modelMatrix'],'attributes':this['_createGeometryInstanceAttributes'](_0x5de824)});}[_0x306755(0xe9b,0x1966)](_0x34ae0f,_0x5aa348){return create$5('ellipsoid',_0x34ae0f);}}register$5('ellipsoidP',EllipsoidPrimitive,!![]);class WallPrimitive extends BasePolyPrimitive{['_createGeometryInstance'](_0x55d714,_0x3f44e6){const _0x478baa={_0x35d409:0x1445,_0x2ebc34:0x1172,_0x5805af:0x569,_0x58c22a:0x12ea,_0xf84e79:0x8d8,_0x358b52:0xb15,_0x293850:0xe03};var _0x5268b7;let _0x56849d=this[_0x28572b(0x144b,0x1709)];const _0x40c9d5=this[_0x28572b(_0x478baa._0x35d409,_0x478baa._0x2ebc34)],_0x275a74=_0x40c9d5['length'];let _0x85ef2e=new Array(_0x275a74),_0x366b85=new Array(_0x275a74);function _0x28572b(_0x440a88,_0x393a2d){return _0x306755(_0x393a2d,_0x440a88- -0x54e);}for(let _0x4d5eab=0x0;_0x4d5eab<_0x275a74;_0x4d5eab++){const _0x2ab6d1=_0x40c9d5[_0x4d5eab][_0x10450d(0x156,_0x478baa._0x5805af)];_0x85ef2e[_0x4d5eab]=_0x2ab6d1,_0x366b85[_0x4d5eab]=_0x2ab6d1+Number(this['style']['diffHeight']||0x64);}this[_0x10450d(0x545,-0x59)]['closure']&&((_0x5268b7=_0x56849d)===null||_0x5268b7===void 0x0?void 0x0:_0x5268b7[_0x10450d(_0x478baa._0x58c22a,0x13c3)])>0x0&&(_0x56849d=_0x56849d[_0x28572b(_0x478baa._0xf84e79,0x9f0)](_0x56849d[0x0]),_0x85ef2e=_0x85ef2e[_0x10450d(_0x478baa._0x358b52,0xc2e)](_0x85ef2e[0x0]),_0x366b85=_0x366b85['concat'](_0x366b85[0x0]));function _0x10450d(_0x2d8f98,_0x9b38bd){return _0x306755(_0x9b38bd,_0x2d8f98- -0x311);}const _0x16fe76=_0x3f44e6?Cesium__namespace['WallOutlineGeometry']:Cesium__namespace['WallGeometry'],_0x5b7abb={..._0x55d714};return _0x5b7abb[_0x28572b(0x144b,_0x478baa._0x293850)]=_0x56849d,_0x5b7abb['maximumHeights']=_0x366b85,_0x5b7abb['minimumHeights']=_0x85ef2e,new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x16fe76(_0x5b7abb),'attributes':this['_createGeometryInstanceAttributes'](_0x55d714)});}[_0x2b6441(0x298,0xa04)](_0x581a91){return WallStyleConver['toCesiumVal'](_0x581a91);}['_style2Json'](_0x3e8136,_0x277ae7){const _0x2f5663={_0x514fe5:0x977};function _0xb633e2(_0x58b3b0,_0x49150b){return _0x306755(_0x49150b,_0x58b3b0- -0xf7);}return WallStyleConver[_0xb633e2(0xa13,_0x2f5663._0x514fe5)](_0x3e8136,_0x277ae7);}['_getDrawEntityClass'](_0x509aeb,_0x376488){return create$5('wall',_0x509aeb);}}register$5(_0x2b6441(0xc42,0x10e4),WallPrimitive);class CorridorPrimitive extends BasePolyPrimitive{constructor(_0x2f16cd={}){super(_0x2f16cd),this['_hasClampToGround']=!![];}['_createGeometryInstance'](_0x3fd96a,_0x1bb128){const _0xdbe657={_0x265cf5:0x420};_0x3fd96a['positions']=this['positions'],this['_calculateCzmHeight'](_0x3fd96a);const _0x2cce02=_0x1bb128?Cesium__namespace['CorridorOutlineGeometry']:Cesium__namespace[_0x40c5b7(0x117e,0xd15)];function _0x40c5b7(_0x2314ae,_0x178e02){return _0x306755(_0x2314ae,_0x178e02- -_0xdbe657._0x265cf5);}return new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x2cce02(_0x3fd96a),'attributes':this['_createGeometryInstanceAttributes'](_0x3fd96a)});}['_conversionStyle'](_0x18b2a1){const _0x503386={_0x18dfbe:0xff3};function _0x52086d(_0x4f78b8,_0x4f70bf){return _0x306755(_0x4f70bf,_0x4f78b8- -0x59);}return CorridorStyleConver[_0x52086d(_0x503386._0x18dfbe,0x9b1)](_0x18b2a1);}['_style2Json'](_0x218eae,_0xda5223){return CorridorStyleConver['toJSON'](_0x218eae,_0xda5223);}['_getDrawEntityClass'](_0x4ff1bd,_0x3ffc5f){function _0x7a122d(_0x3ca67e,_0x420f3c){return _0x306755(_0x3ca67e,_0x420f3c- -0x480);}return create$5(_0x7a122d(0x16a1,0x118e),_0x4ff1bd);}}register$5('corridorP',CorridorPrimitive);class PolylineVolumePrimitive extends BasePolyPrimitive{constructor(_0x4331e7={}){super(_0x4331e7);function _0x177b2f(_0x5ce505,_0x1a948f){return _0x2b6441(_0x5ce505,_0x1a948f-0x1ed);}this[_0x177b2f(-0x2f,0x4a2)]['closed']=this['style']['closed']??!![];}[_0x2b6441(0xf36,0x746)](_0x5e3350,_0x13c819){const _0x296b35={_0x335a48:0x8c8};function _0x343ab6(_0x4e6ae4,_0x2b2cf0){return _0x306755(_0x4e6ae4,_0x2b2cf0- -0x47d);}const _0xa481f1=_0x13c819?Cesium__namespace[_0x343ab6(0x130f,_0x296b35._0x335a48)]:Cesium__namespace['PolylineVolumeGeometry'];function _0x4f50fc(_0x53d1d8,_0x9f00f9){return _0x306755(_0x9f00f9,_0x53d1d8- -0x4f6);}return new Cesium__namespace[(_0x4f50fc(0x12c6,0x1c77))]({'id':this['id'],'geometry':new _0xa481f1({..._0x5e3350,'polylinePositions':this[_0x343ab6(0x1117,0x151c)],'shapePositions':_0x5e3350['shape']}),'attributes':this['_createGeometryInstanceAttributes'](_0x5e3350)});}[_0x306755(0x861,0xfa5)](_0x196b2e){return PolylineVolumeStyleConver['toCesiumVal'](_0x196b2e);}[_0x306755(0xb80,0x5d7)](_0x38a90c,_0x379439){function _0x629d43(_0x8d638d,_0x30b356){return _0x306755(_0x8d638d,_0x30b356- -0x4e2);}return PolylineVolumeStyleConver[_0x629d43(0x8ef,0x628)](_0x38a90c,_0x379439);}[_0x306755(0x1d2c,0x1966)](_0x476682,_0x21af9e){return create$5('polylineVolume',_0x476682);}}register$5('polylineVolumeP',PolylineVolumePrimitive);class RectanglePrimitive extends BasePolyPrimitive{constructor(_0x18e15a={}){const _0x344ef1={_0xefd262:0x57a},_0x14dd96={_0x33e274:0x456};function _0x29d4bb(_0x16867f,_0x3a764b){return _0x306755(_0x16867f,_0x3a764b- -_0x14dd96._0x33e274);}super(_0x18e15a);function _0x6b0a70(_0x415ad3,_0x19b493){return _0x2b6441(_0x415ad3,_0x19b493-_0x344ef1._0xefd262);}this['_hasClampToGround']=!![],_0x18e15a['rectangle']&&(this[_0x6b0a70(0xf5d,0x13f2)]=_0x18e15a[_0x6b0a70(0xbf5,0x13f2)]);}get[_0x306755(0x12d2,0x1419)](){const _0x36351e={_0x41da1c:0xcd2,_0x277ba0:0x8ba,_0xf324ac:0x1db},_0x2d5309={_0x23126c:0x17f};!this['_rectangle']&&this['positions']&&(this[_0x1401f9(_0x36351e._0x41da1c,_0x36351e._0x277ba0)]=Cesium__namespace['Rectangle'][_0x74dcc0(0x1650,0xcbf)](this['positions']));function _0x74dcc0(_0x4db51e,_0x4f91f9){return _0x306755(_0x4db51e,_0x4f91f9- -0x3b0);}function _0x1401f9(_0x3b312c,_0x41580a){return _0x306755(_0x3b312c,_0x41580a- -_0x2d5309._0x23126c);}return this[_0x74dcc0(_0x36351e._0xf324ac,0x689)];}set['rectangle'](_0x311047){this['_rectangle']=_0x311047;}get['outlinePositions'](){const _0x46ffbc={_0x32ea8b:0x639,_0x26d8e9:0x183d,_0x2b98f6:0x1767};let _0x207455;function _0x720a71(_0x74d855,_0x25e506){return _0x2b6441(_0x74d855,_0x25e506-0x6dd);}function _0x3e6b06(_0x15b1a2,_0x5d48fe){return _0x306755(_0x15b1a2,_0x5d48fe-0x8b);}if(Cesium__namespace['defined'](this['style']['rotationDegree']))_0x207455=Cesium__namespace['Math']['toRadians'](this[_0x3e6b06(0x6ca,0x8e1)][_0x720a71(_0x46ffbc._0x32ea8b,0x679)]);else Cesium__namespace[_0x3e6b06(0x1d2f,_0x46ffbc._0x26d8e9)](this['style']['rotation'])&&(_0x207455=this['style']['rotation']);const _0x646cf9=getRectangleOuterPositions({'rectangle':this['rectangle'],'rotation':_0x207455,'height':this[_0x3e6b06(0xe2e,_0x46ffbc._0x2b98f6)]()});return _0x646cf9;}get['distance'](){return getDistance(this['outlinePositions'],!![]);}get['area'](){return getArea(this['outlinePositions']);}get['center'](){const _0x5b06fb=this['rectangle'];if(!this['rectangle'])return null;let _0x4bb203=Cesium__namespace['Cartographic']['toCartesian'](Cesium__namespace['Rectangle']['center'](_0x5b06fb));return _0x4bb203=setPositionsHeight(_0x4bb203,this['_getHeihgt']()),_0x4bb203;}[_0x2b6441(0x895,0x3ca)](){return this['rectangle']=Cesium__namespace['Rectangle']['fromCartesianArray'](this['positions']),super['_updatePositionsHook']();}['_createGeometryInstance'](_0x58a2fd,_0x51fc57){const _0xf2c0={_0x3902e4:0x114b,_0x21de49:0x1794,_0x2d75ff:0xe97},_0x263a38={_0x8209a8:0x4e8},_0x5e6034={_0x34723f:0x2ce};_0x58a2fd['rectangle']=this[_0x15326d(_0xf2c0._0x3902e4,_0xf2c0._0x21de49)];function _0x15326d(_0x57fe6b,_0x3d0c11){return _0x306755(_0x3d0c11,_0x57fe6b- -_0x5e6034._0x34723f);}function _0x2061ca(_0x3b2fd4,_0x58c5c9){return _0x2b6441(_0x3b2fd4,_0x58c5c9-_0x263a38._0x8209a8);}this['_calculateCzmHeight'](_0x58a2fd);const _0x19d682=_0x51fc57?Cesium__namespace['RectangleOutlineGeometry']:Cesium__namespace[_0x2061ca(0x124d,0x9c9)];return new Cesium__namespace[(_0x15326d(0x14ee,0x144b))]({'id':this['id'],'geometry':new _0x19d682(_0x58a2fd),'attributes':this[_0x15326d(0x1172,_0xf2c0._0x2d75ff)](_0x58a2fd)});}['_conversionStyle'](_0x68bacf){function _0xb50bf9(_0x3ad0f1,_0x2e59cc){return _0x306755(_0x3ad0f1,_0x2e59cc- -0x2ed);}return RectangleStyleConver[_0xb50bf9(0x2c1,0xd5f)](_0x68bacf);}['_style2Json'](_0x4c9b04,_0x10a647){return RectangleStyleConver['toJSON'](_0x4c9b04,_0x10a647);}[_0x2b6441(0x43f,0x8b5)](_0x6f8ef2){const _0x40efd1={_0xb2a512:0x29};function _0x14cd6c(_0x4b064d,_0x49c3df){return _0x306755(_0x4b064d,_0x49c3df- -_0x40efd1._0xb2a512);}return{'type':'Polygon','coordinates':[this[_0x14cd6c(0x179d,0x1424)](_0x6f8ef2===null||_0x6f8ef2===void 0x0?void 0x0:_0x6f8ef2['noAlt'])]};}[_0x306755(0x15a,0x9fb)](){const _0x26edc2={_0x34a036:0xa7f,_0x332fb0:0xbd2},_0x20d9d5={_0x3977d5:0x63e};function _0x340f90(_0xe5deaf,_0x3eb4b0){return _0x306755(_0xe5deaf,_0x3eb4b0- -_0x20d9d5._0x3977d5);}return[this[_0x340f90(_0x26edc2._0x34a036,_0x26edc2._0x332fb0)]];}[_0x306755(0x98f,0x1026)](_0x2415fb,_0x2293bf){const _0x3e1027={_0x23d28c:0x1198,_0x1d6e5b:0x96,_0x84a938:0x84c},_0x18d68b={_0x2557a9:0x2ca};_0x2415fb={..._0x2415fb},delete _0x2415fb['addHeight'];function _0x419db6(_0x2d29d1,_0x40f9ca){return _0x306755(_0x2d29d1,_0x40f9ca- -0x7e);}delete _0x2415fb[_0x23c6a3(0x1be0,_0x3e1027._0x23d28c)],delete _0x2415fb['height'];function _0x23c6a3(_0x3261bb,_0x44aca1){return _0x2b6441(_0x3261bb,_0x44aca1-_0x18d68b._0x2557a9);}const _0x5b6538=super['_getOutlineStyle'](_0x2415fb,_0x2293bf);return _0x5b6538[_0x23c6a3(0xf25,0x129d)]=Cesium__namespace['ArcType'][_0x23c6a3(-_0x3e1027._0x1d6e5b,_0x3e1027._0x84a938)],_0x5b6538;}[_0x2b6441(0x764,0x113b)](){const _0x4a04c2={_0x16bbb8:0x5e9,_0x4a6641:0x545,_0x58a233:0x2004,_0x4fe63d:0x1711,_0x1f5ee6:0x188e,_0x140bbb:0x10b1},_0xcc4a39={_0x14ae9c:0x334},_0x43fd76={_0x5dc403:0xa1};let _0x31fe5d=0x0;function _0x1b38a6(_0x20b9c7,_0x57a36f){return _0x306755(_0x20b9c7,_0x57a36f- -_0x43fd76._0x5dc403);}function _0x476ba0(_0x1a8e55,_0x1032f5){return _0x2b6441(_0x1032f5,_0x1a8e55-_0xcc4a39._0x14ae9c);}if(Cesium__namespace['defined'](this[_0x1b38a6(0xa73,0x7b5)]['height'])){_0x31fe5d=this[_0x476ba0(_0x4a04c2._0x16bbb8,-0x72)]['height'];const _0x5a88c8=this[_0x476ba0(_0x4a04c2._0x4a6641,0x220)]();Cesium__namespace[_0x1b38a6(_0x4a04c2._0x58a233,_0x4a04c2._0x4fe63d)](_0x5a88c8)&&(_0x31fe5d=_0x5a88c8);const _0x23ecad=this['getAddHeight']();Cesium__namespace['defined'](_0x23ecad)&&(_0x31fe5d+=_0x23ecad);}else _0x31fe5d=this[_0x1b38a6(_0x4a04c2._0x1f5ee6,_0x4a04c2._0x140bbb)](this[_0x1b38a6(0x1821,0x18f8)]);return _0x31fe5d;}['getRectangle'](_0x3fea9c){const _0x35e3ce={_0x325f76:0x186c},_0x566268={_0x4e2c8b:0x65};function _0x2cf7e3(_0x34d5e7,_0x14ab2e){return _0x2b6441(_0x34d5e7,_0x14ab2e-_0x566268._0x4e2c8b);}const _0x2e148b=this[_0x2cf7e3(_0x35e3ce._0x325f76,0xedd)];return _0x3fea9c!==null&&_0x3fea9c!==void 0x0&&_0x3fea9c['isFormat']?formatRectangle(_0x2e148b):_0x2e148b;}['isInPoly'](_0x260ac0){const _0xf8e5d0=Cesium__namespace['Rectangle']['contains'](this['rectangle'],LngLatPoint['parse'](_0x260ac0)['toCartographic']());return _0xf8e5d0;}[_0x306755(0x20f7,0x1966)](_0x5058ff,_0xa33318){return create$5('rectangle',_0x5058ff);}['_updateDrawEntityToThis'](){super['_updateDrawEntityToThis']();function _0x412cf1(_0xc36dee,_0x446d28){return _0x306755(_0xc36dee,_0x446d28- -0x36a);}this[_0x412cf1(0xadc,0x601)]();}}register$5(_0x2b6441(0xd08,0xf70),RectanglePrimitive);class PolygonPrimitive extends BasePolyPrimitive{constructor(_0x1a6d2f={}){super(_0x1a6d2f),this['_hasClampToGround']=!![];}get['center'](){return this['centerOfMass'];}get['distance'](){return getDistance(this['_positions'],!![]);}get[_0x306755(0x197f,0x1999)](){return this['_positions'];}set[_0x306755(0x1f26,0x1999)](_0x5df4b6){const _0x53765f={_0xd9422:0x1103,_0xf32811:0x1006,_0xcfa376:0x3ed,_0x7bd4ff:0x45a,_0x2b5af8:0xeba,_0x47e299:0x1653,_0x170cb2:0x105f,_0x19804a:0xfbd,_0x363dea:0x995,_0x1d7d07:0x142b,_0x40d0d1:0x1530,_0x1aa17a:0x196d},_0x54ea4e={_0x485344:0x25b},_0xcea1a8={_0x831bb3:0x469};function _0x5d95a0(_0x4915cc,_0x41954e){return _0x306755(_0x41954e,_0x4915cc- -_0xcea1a8._0x831bb3);}function _0x231d03(_0x2f57a1,_0x24e91d){return _0x2b6441(_0x24e91d,_0x2f57a1-_0x54ea4e._0x485344);}if(!_0x5df4b6)return;if(_0x5df4b6['length']>0x0&&Array['isArray'](_0x5df4b6[0x0])&&_0x5df4b6[0x0][_0x5d95a0(0x1192,_0x53765f._0xd9422)]>0x0){const _0x23fa13=_0x5df4b6[0x0][0x0];if(Array['isArray'](_0x23fa13)&&isNumber(_0x23fa13[0x0]))this['_hierarchy']=getPolygonHierarchy(_0x5df4b6,this['style']['height']||this[_0x231d03(0x510,-0x96)][_0x5d95a0(_0x53765f._0xf32811,0xacd)]||this[_0x5d95a0(_0x53765f._0xcfa376,-_0x53765f._0x7bd4ff)][_0x5d95a0(0xa1c,0x1137)]),_0x5df4b6=this[_0x231d03(0xab8,_0x53765f._0x2b5af8)][_0x231d03(_0x53765f._0x47e299,_0x53765f._0x170cb2)];else(_0x23fa13 instanceof Cesium__namespace[_0x5d95a0(0x5b8,0x3a4)]||_0x23fa13 instanceof LngLatPoint)&&(this['_hierarchy']=getPolygonHierarchy2(_0x5df4b6),_0x5df4b6=this['_hierarchy']['positions']);}super[_0x231d03(0x1653,_0x53765f._0x19804a)]=_0x5df4b6,this['_hierarchy']&&this['_positions']&&(this[_0x5d95a0(_0x53765f._0x363dea,_0x53765f._0x1d7d07)][_0x5d95a0(_0x53765f._0x40d0d1,_0x53765f._0x1aa17a)]=this['_positions']);}['_createGeometryInstance'](_0x4d094c,_0x1e890e){const _0x332789={_0x2d62bb:0x979,_0x3dad4a:0x794,_0x482aa8:0x1438,_0x284bd8:0x1641,_0x2206bb:0x1438,_0x355468:0x1ce,_0x1cb9aa:0xfbb},_0x5a6ebc={_0xb000d7:0x37a};function _0x320c93(_0xc04b0f,_0x8b0a09){return _0x306755(_0xc04b0f,_0x8b0a09- -_0x5a6ebc._0xb000d7);}this['_updateDiffHeight'](_0x4d094c);this['_hierarchy']?_0x4d094c['polygonHierarchy']=this[_0x583bf3(_0x332789._0x2d62bb,_0x332789._0x3dad4a)]:_0x4d094c['polygonHierarchy']=new Cesium__namespace['PolygonHierarchy'](this[_0x583bf3(0x1514,0xd7a)]);let _0x2cedb0;function _0x583bf3(_0x44c59c,_0x38798a){return _0x2b6441(_0x38798a,_0x44c59c-0x11c);}return _0x1e890e?_0x2cedb0=Cesium__namespace['PolygonOutlineGeometry']:_0x4d094c['perPositionHeight']&&!Cesium__namespace[_0x320c93(0xf90,_0x332789._0x482aa8)](_0x4d094c['extrudedHeight'])&&!Cesium__namespace[_0x320c93(_0x332789._0x284bd8,_0x332789._0x2206bb)](_0x4d094c[_0x320c93(-_0x332789._0x355468,0x186)])?_0x2cedb0=Cesium__namespace[_0x320c93(0x8ae,0x8df)]:_0x2cedb0=Cesium__namespace['PolygonGeometry'],new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new _0x2cedb0(_0x4d094c),'attributes':this[_0x583bf3(_0x332789._0x1cb9aa,0x19ae)](_0x4d094c)});}[_0x306755(0xdca,0x7b9)](_0x158006){const _0x1bbb80={_0x5bcbd8:0x18c9,_0x3d00d6:0x130d,_0x499355:0x406,_0x4a2d83:0x77d,_0x27ab17:0xba1,_0x3e7f8b:0x150f,_0x5e5098:0xc95,_0x47588b:0x1033,_0x3c0b8b:0xadd,_0x20795c:0x5b3};function _0x4a7fc8(_0x3daa31,_0x5be3a1){return _0x306755(_0x3daa31,_0x5be3a1- -0x4a5);}function _0xb2c66a(_0x1ac264,_0x51d3f5){return _0x306755(_0x1ac264,_0x51d3f5- -0x2a3);}if(this['style']['clampToGround'])return;if(Cesium__namespace[_0x4a7fc8(_0x1bbb80._0x5bcbd8,_0x1bbb80._0x3d00d6)](this['style'][_0xb2c66a(_0x1bbb80._0x499355,_0x1bbb80._0x4a2d83)])&&!Cesium__namespace[_0xb2c66a(0xd5e,0x150f)](_0x158006['extrudedHeight'])){let _0x53418a=0x0;if(Cesium__namespace[_0xb2c66a(_0x1bbb80._0x27ab17,_0x1bbb80._0x3e7f8b)](_0x158006[_0x4a7fc8(0x883,0x74d)]))_0x53418a=_0x158006[_0xb2c66a(0xe93,0x94f)];else Cesium__namespace['defined'](this[_0xb2c66a(_0x1bbb80._0x5e5098,0x5b3)][_0xb2c66a(0xdc2,0x94f)])?_0x53418a=this[_0xb2c66a(0xaec,0x5b3)]['height']:_0x53418a=getMaxHeight(this['positions']);_0x158006[_0xb2c66a(_0x1bbb80._0x47588b,0x12d6)]=_0x53418a+this[_0xb2c66a(_0x1bbb80._0x3c0b8b,_0x1bbb80._0x20795c)]['diffHeight'];}}['_conversionStyle'](_0x20a2ab){let _0x210de7=PolygonStyleConver['toCesiumVal'](_0x20a2ab);return _0x210de7=this['_bindExType'](_0x210de7),_0x210de7;}[_0x306755(0x1547,0x134a)](_0x5501da){const _0x1aa51c={_0x31e031:0xd59,_0x592a37:0x11f0,_0xae89e9:0x7f6,_0x626c7c:0x2d3,_0x50df75:0x12c9,_0xc8aece:0x7ef,_0x479a7e:0xcee,_0x2eec34:0x370,_0x2be23c:0x9b5},_0x1f471e={_0x39d78e:0x347},_0x457b3a=this[_0x5b5d64(_0x1aa51c._0x31e031,_0x1aa51c._0x592a37)]['buildings']||this[_0x5b5d64(0x14c0,0xeff)][_0x5b5d64(0xd59,0xdc9)][_0x3f6b6a(_0x1aa51c._0xae89e9,0x3b2)];function _0x3f6b6a(_0x564c86,_0x5a7715){return _0x306755(_0x564c86,_0x5a7715- -_0x1f471e._0x39d78e);}function _0x5b5d64(_0x2d5a86,_0x3cc429){return _0x2b6441(_0x3cc429,_0x2d5a86-0x69d);}if(_0x457b3a&&(_0x457b3a['enabled']??!![])){if(_0x457b3a['bottomHeight']){let _0x291082;if(isNumber(_0x457b3a['bottomHeight']))_0x291082=_0x457b3a['bottomHeight'];else isString(_0x457b3a['bottomHeight'])&&(_0x291082=Number(this[_0x5b5d64(0xdf8,0xdc9)][_0x457b3a[_0x3f6b6a(0xad8,_0x1aa51c._0x626c7c)]]||0x0));_0x5501da['height']=_0x291082;}const _0x392418=Number(this[_0x5b5d64(0xdf8,_0x1aa51c._0x50df75)][_0x457b3a['cloumn']]||0x1);let _0x246f84;if(isNumber(_0x457b3a['height']))_0x246f84=_0x457b3a[_0x5b5d64(0xcee,_0x1aa51c._0xc8aece)];else isString(_0x457b3a[_0x5b5d64(_0x1aa51c._0x479a7e,0xd4c)])?_0x246f84=this[_0x3f6b6a(_0x1aa51c._0x2eec34,_0x1aa51c._0x2be23c)][_0x457b3a['height']]||_0x246f84:_0x246f84=3.5;const _0x5b3923=_0x5501da['height']||0x0;_0x5501da[_0x3f6b6a(0x132d,0x1232)]=_0x5b3923+_0x392418*_0x246f84;}return _0x5501da;}['_style2Json'](_0x4cbaa8,_0x5ccb9e){return PolygonStyleConver['toJSON'](_0x4cbaa8,_0x5ccb9e);}[_0x306755(0x12c0,0xe56)](_0x566d90){const _0x449647={_0x175481:0xf9b,_0x29face:0x163a,_0x419b0e:0x1315,_0x5902cc:0x1158,_0x490ff3:0x1d1},_0x284aa4={_0x1a7fdd:0x88c},_0x7d3432={_0x182d8a:0xea};function _0x1a01a4(_0x3b13de,_0x2baae1){return _0x2b6441(_0x3b13de,_0x2baae1-0x5e0);}var _0x5b1a6c;function _0x3ac64e(_0x36ff9a,_0x2c6da6){return _0x306755(_0x36ff9a,_0x2c6da6-_0x7d3432._0x182d8a);}if(((_0x5b1a6c=this[_0x1a01a4(_0x449647._0x175481,0xe3d)])===null||_0x5b1a6c===void 0x0||(_0x5b1a6c=_0x5b1a6c['holes'])===null||_0x5b1a6c===void 0x0?void 0x0:_0x5b1a6c[_0x1a01a4(0x1b37,_0x449647._0x29face)])>0x0){const _0x1650da=[],_0x44557d=getHierarchyVal(this[_0x1a01a4(_0x449647._0x419b0e,0xe3d)]);_0x44557d['forEach'](_0x371ac7=>{function _0x24e412(_0x3ca55b,_0x3a9cb3){return _0x3ac64e(_0x3a9cb3,_0x3ca55b- -0x120);}_0x1650da['push'](LngLatArray[_0x24e412(0x777,_0x284aa4._0x1a7fdd)](_0x371ac7));});const _0x2b49e5={};return _0x2b49e5['type']='Polygon',_0x2b49e5[_0x1a01a4(_0x449647._0x5902cc,0xc50)]=_0x1650da,_0x2b49e5;}else{const _0x225e3c=this['getCoordinates'](_0x566d90===null||_0x566d90===void 0x0?void 0x0:_0x566d90['noAlt']);_0x566d90!==null&&_0x566d90!==void 0x0&&_0x566d90[_0x3ac64e(0x1aec,0x1883)]&&_0x225e3c['length']>0x0&&_0x225e3c[_0x3ac64e(-_0x449647._0x490ff3,0x783)](_0x225e3c[0x0]);const _0x59e5a9={};return _0x59e5a9['type']='Polygon',_0x59e5a9['coordinates']=[_0x225e3c],_0x59e5a9;}}[_0x2b6441(-0x63c,0x45a)](){const _0x483485={_0x34fe56:0x150a},_0x173fb={_0x37c6fe:0x112};function _0x5901ff(_0x14f956,_0x2fe31b){return _0x306755(_0x14f956,_0x2fe31b- -0x3b0);}function _0x1cbab2(_0x52439e,_0x50cdde){return _0x2b6441(_0x52439e,_0x50cdde-_0x173fb._0x37c6fe);}return this['_hierarchy']?getHierarchyVal(this[_0x5901ff(0x5db,0xa4e)]):[this[_0x1cbab2(0x1c9e,_0x483485._0x34fe56)]];}['_getOutlineStyle'](_0x122f7e,_0x5d0d34){const _0x4a4614={_0x40ea84:0x995,_0x49f747:0xe37},_0x319040={_0x6e1668:0x97},_0x27ea14={_0x2321d6:0x6e7};_0x122f7e={..._0x122f7e},delete _0x122f7e[_0x5c5769(0xfcb,_0x4a4614._0x40ea84)];function _0x5c5769(_0x919630,_0x2b1a07){return _0x2b6441(_0x2b1a07,_0x919630-_0x27ea14._0x2321d6);}function _0x414cee(_0x1ea249,_0x431889){return _0x2b6441(_0x431889,_0x1ea249- -_0x319040._0x6e1668);}return delete _0x122f7e[_0x414cee(_0x4a4614._0x49f747,0x153a)],delete _0x122f7e['height'],super[_0x414cee(0x9ee,0xe5e)](_0x122f7e,_0x5d0d34);}['_getDrawEntityClass'](_0x2820e6,_0x44421c){return create$5('polygon',_0x2820e6);}['_startEditingHook'](_0x531817){const _0x55bda4={_0x51db4e:0xf14,_0x5ed74b:0x11df};function _0x4689c4(_0x3bb0f6,_0x42a5fd){return _0x306755(_0x42a5fd,_0x3bb0f6-0x116);}this['_hierarchy']&&(_0x531817[_0x4689c4(_0x55bda4._0x51db4e,_0x55bda4._0x5ed74b)]=this['_hierarchy']);}}register$5('polygonP',PolygonPrimitive);class FrustumPrimitive extends BasePointPrimitive{constructor(_0x3349f1={}){const _0x1db354={_0x45a328:0x975,_0x401bd2:0x9f9,_0x7f2669:0x7da,_0x513932:0x2bd,_0x406aea:0x7da},_0x5f15c6={_0x5c3430:0xb3};super(_0x3349f1),this[_0x636e8b(0x8f7,_0x1db354._0x45a328)]['closed']=this[_0x1a9f52(_0x1db354._0x401bd2,0x368)]['closed']??!![];function _0x1a9f52(_0x3ce033,_0x57d402){return _0x2b6441(_0x3ce033,_0x57d402-_0x5f15c6._0x5c3430);}function _0x636e8b(_0x382eb8,_0x3f108a){return _0x2b6441(_0x382eb8,_0x3f108a-0x6c0);}_0x3349f1[_0x1a9f52(0x11ba,_0x1db354._0x7f2669)]&&(this['targetPosition']=_0x3349f1[_0x1a9f52(-_0x1db354._0x513932,_0x1db354._0x406aea)]);}get['targetPosition'](){const _0xfbe1e3={_0xc416fa:0x603};function _0x11e5d3(_0x359f7b,_0x48db34){return _0x306755(_0x48db34,_0x359f7b- -_0xfbe1e3._0xc416fa);}return this[_0x11e5d3(0x1405,0x1c86)];}set['targetPosition'](_0x391150){const _0x8138f3={_0x283a42:0x19b2,_0x5d64f4:0x23e7,_0x11bcd3:0xe1a,_0x348797:0x4d7,_0xfd669b:0xfa2,_0x1a062a:0x800,_0x4b9577:0x68f},_0x3e57ed={_0x36b8e0:0x5f1};function _0x7267eb(_0x4a1e53,_0x368c78){return _0x306755(_0x4a1e53,_0x368c78- -_0x3e57ed._0x36b8e0);}function _0x589643(_0x45e687,_0x4d87c8){return _0x306755(_0x4d87c8,_0x45e687- -0x56);}this[_0x589643(0xf0d,0xb42)]=LngLatPoint['parse'](_0x391150),this[_0x589643(_0x8138f3._0x283a42,_0x8138f3._0x5d64f4)]=this['_targetPoint'][_0x7267eb(_0x8138f3._0x11bcd3,0x3f9)](),this[_0x7267eb(_0x8138f3._0x348797,0x570)]&&this[_0x7267eb(0x64e,_0x8138f3._0xfd669b)]&&(this['_removedHook'](),this[_0x589643(0x948,0x243)](this[_0x589643(_0x8138f3._0x1a062a,_0x8138f3._0x4b9577)]));}get['targetPoint'](){return this['_targetPoint'];}get[_0x306755(0x1d00,0x16e7)](){return this['style']['angle'];}set[_0x306755(0xfd8,0x16e7)](_0x2628f8){const _0x152257={_0x51a452:0x3d7,_0x5e34e1:0x130e},_0x363f1c={_0x3d5336:0x1c8};function _0x1c215f(_0x2656a6,_0x1f1d69){return _0x306755(_0x2656a6,_0x1f1d69- -0x47f);}function _0x5d01b1(_0x50318b,_0x135b47){return _0x2b6441(_0x50318b,_0x135b47-_0x363f1c._0x3d5336);}this[_0x1c215f(0x33c,_0x152257._0x51a452)][_0x5d01b1(0x1538,_0x152257._0x5e34e1)]=_0x2628f8;}get['angle2'](){const _0x30245f={_0x41d2a8:0x19dd};function _0x22482b(_0x4746ed,_0x582318){return _0x2b6441(_0x582318,_0x4746ed-0x115);}return this['style']['angle2']??this['style'][_0x22482b(0x125b,_0x30245f._0x41d2a8)];}set['angle2'](_0x3fee0f){const _0x4f532b={_0x4c0a72:0x488},_0x2b9b67={_0x259ace:0x645};function _0x3103ae(_0x1c9534,_0xa1b331){return _0x306755(_0x1c9534,_0xa1b331- -0x18e);}function _0x8f26a0(_0x4fe6cb,_0x52398a){return _0x306755(_0x4fe6cb,_0x52398a- -_0x2b9b67._0x259ace);}this[_0x8f26a0(0xd5,0x211)][_0x8f26a0(_0x4f532b._0x4c0a72,0x278)]=_0x3fee0f;}get['groundPosition'](){return getRayEarthPosition(this['position'],this['_orientation']);}get['defaultVertexFormat'](){return Cesium__namespace['VertexFormat']['POSITION_ONLY'];}['updateModelMatrix'](){}['_conversionStyle'](_0x229792){const _0x58152a={_0x34bb7f:0x10fa,_0x5ed0a0:0xff5};function _0x75946c(_0x57d522,_0x44f24d){return _0x306755(_0x57d522,_0x44f24d- -0x57);}return CylinderStyleConver[_0x75946c(_0x58152a._0x34bb7f,_0x58152a._0x5ed0a0)](_0x229792);}['_style2Json'](_0x41ae1c,_0x2a4988){return CylinderStyleConver['toJSON'](_0x41ae1c,_0x2a4988);}[_0x2b6441(0xcf7,0x746)](_0x53b924,_0x35d13d){const _0x333dcc={_0x1c6974:0x1978},_0x6b1b90={_0x4c82a0:0xdc},_0x5a719b={_0x34ede4:0x5bc};this['_update']();const _0xd3313f=_0x35d13d?Cesium__namespace['FrustumOutlineGeometry']:Cesium__namespace['FrustumGeometry'];function _0xe81f91(_0x2fa001,_0x41e88f){return _0x2b6441(_0x41e88f,_0x2fa001-_0x5a719b._0x34ede4);}function _0x360c81(_0x5ae509,_0x1e56be){return _0x2b6441(_0x5ae509,_0x1e56be-_0x6b1b90._0x4c82a0);}return new Cesium__namespace[(_0xe81f91(0x17d7,_0x333dcc._0x1c6974))]({'id':this['id'],'geometry':new _0xd3313f({..._0x53b924,'origin':this['position'],'orientation':this['_orientation'],'frustum':this['_frustum']}),'attributes':this[_0xe81f91(0x145b,0x9e9)](_0x53b924)});}['_update'](_0x16aa25){const _0xd3ec6d={_0x5378e3:0x633,_0x70110b:0x6c0,_0x50785d:0xa1e,_0x42fb87:0xb0,_0x3effe8:0x2f1,_0x5207f7:0xd86,_0x56da65:0xadd,_0x47262e:0x20a,_0x39ed4a:0x726,_0x30efc7:0xf74,_0x1fc4cf:0xa2e,_0x3df597:0x92c,_0x3d8681:0x787,_0x37e143:0x285,_0x34bdfd:0x7ee,_0x17a3fd:0xf97,_0x467809:0x850,_0x45649f:0xaa0,_0x1301fb:0xd41,_0x2a69bd:0x545,_0x564a19:0x1d0,_0x43559e:0x1087,_0x25f390:0x6a1,_0x256c82:0x22c,_0x2620cd:0x823,_0x52d012:0x10bd,_0x13687c:0xaf8,_0x3108e1:0x293},_0x2efb73={_0x3b6d3d:0x29a},_0x385634={_0x3ac624:0x89},_0x5b504d=getPositionValue(this['position'],_0x16aa25);if(!_0x5b504d)return;if(this[_0x55472f(_0xd3ec6d._0x5378e3,_0xd3ec6d._0x70110b)][_0x55472f(_0xd3ec6d._0x50785d,0x6e0)]){const _0x10ffa4=this['options']['camera'],_0x2765e0=new Cesium__namespace['Cartesian3'](),_0x26caa9=new Cesium__namespace['Matrix3'](),_0xb1b491=new Cesium__namespace[(_0x55472f(_0xd3ec6d._0x42fb87,0x86))](),_0x3e8cd4=_0x10ffa4['directionWC'],_0x5e48b1=_0x10ffa4['upWC'],_0x2327c1=Cesium__namespace['Cartesian3']['negate'](_0x10ffa4['rightWC'],_0x2765e0);Cesium__namespace[_0x55472f(0xd86,_0xd3ec6d._0x3effe8)]['setColumn'](_0x26caa9,0x0,_0x2327c1,_0x26caa9),Cesium__namespace['Matrix3']['setColumn'](_0x26caa9,0x1,_0x5e48b1,_0x26caa9),Cesium__namespace[_0x55472f(_0xd3ec6d._0x5207f7,0xb04)]['setColumn'](_0x26caa9,0x2,_0x3e8cd4,_0x26caa9),this['_orientation']=Cesium__namespace[_0x4d772f(0x440,-0x38)]['fromRotationMatrix'](_0x26caa9,_0xb1b491),this[_0x55472f(0xda5,0x1281)]=_0x10ffa4[_0x4d772f(_0xd3ec6d._0x56da65,_0xd3ec6d._0x47262e)],this[_0x55472f(0xba7,0x142d)]=Cesium__namespace['Math']['toDegrees'](_0x10ffa4[_0x4d772f(0xf37,_0xd3ec6d._0x39ed4a)]),this[_0x55472f(0x57b,_0xd3ec6d._0x30efc7)]=Cesium__namespace['Math']['toDegrees'](_0x10ffa4['pitch']),this[_0x55472f(0x3c2,0x476)]=Cesium__namespace['Math']['toDegrees'](_0x10ffa4['roll']);return;}const _0x17e73e=getPositionValue(this[_0x4d772f(_0xd3ec6d._0x1fc4cf,_0xd3ec6d._0x3df597)],_0x16aa25);if(_0x17e73e){this[_0x55472f(0xcf7,0xfb2)]=Cesium__namespace[_0x4d772f(_0xd3ec6d._0x3d8681,-0x56)][_0x55472f(0x8f3,_0xd3ec6d._0x37e143)](_0x5b504d,_0x17e73e);const _0x119ce4=getHeadingPitchRollForLine(_0x5b504d,_0x17e73e,!![]);this['heading']=Cesium__namespace['Math'][_0x55472f(_0xd3ec6d._0x34bdfd,_0xd3ec6d._0x17a3fd)](_0x119ce4['heading']),this[_0x4d772f(0x90b,_0xd3ec6d._0x467809)]=Cesium__namespace[_0x4d772f(0x10d1,_0xd3ec6d._0x45649f)]['toDegrees'](_0x119ce4[_0x4d772f(0x90b,0xd22)]),this['roll']=Cesium__namespace[_0x55472f(_0xd3ec6d._0x1301fb,_0xd3ec6d._0x2a69bd)][_0x55472f(0x7ee,_0xd3ec6d._0x564a19)](_0x119ce4[_0x55472f(0x3c2,-0x157)]);}else this[_0x4d772f(_0xd3ec6d._0x43559e,_0xd3ec6d._0x25f390)]=this[_0x55472f(_0xd3ec6d._0x256c82,0xff)]['length'];const _0x1ebdf7=Cesium__namespace[_0x55472f(0xe6e,0x1843)][_0x4d772f(_0xd3ec6d._0x2620cd,-0x1df)](this['heading'],this['pitch'],this[_0x55472f(0x3c2,-0x258)]);this['_orientation']=Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x5b504d,_0x1ebdf7,this['ellipsoid'],this[_0x55472f(-0x60,0x552)]);function _0x55472f(_0x4915c1,_0x25c60d){return _0x2b6441(_0x25c60d,_0x4915c1- -_0x385634._0x3ac624);}function _0x4d772f(_0xa607cc,_0x2f5193){return _0x306755(_0x2f5193,_0xa607cc- -_0x2efb73._0x3b6d3d);}this[_0x55472f(0xda5,0x7b9)]=new Cesium__namespace['PerspectiveFrustum']({'fov':Cesium__namespace['Math']['toRadians'](this['angle']*0x2||0.01),'aspectRatio':this[_0x55472f(_0xd3ec6d._0x52d012,_0xd3ec6d._0x13687c)]/this[_0x55472f(_0xd3ec6d._0x3108e1,0x575)],'near':this['style']['near']??0.01,'far':this['_frustumFar']});}[_0x2b6441(0xe82,0x7f1)](_0x245d58){const _0xd7dfc={_0x552bd0:0xa7e,_0x324775:0x6c4,_0x2ce717:0x1172,_0x4d99cd:0x95,_0xd5d6e2:0x89e,_0x341b81:0xe32},_0x5888b7=getPositionValue(this['position'],_0x245d58),_0x2def7e=Cesium__namespace['Math'][_0x7a5dfd(0xcea,_0xd7dfc._0x552bd0)](this[_0x5c7b62(0xfd8,0x117d)]),_0xc66d0d=Cesium__namespace['Math']['toRadians'](this['pitch']+this[_0x5c7b62(_0xd7dfc._0x324775,-0x199)]),_0x444edf=Cesium__namespace[_0x5c7b62(0x1172,0x104f)]['toRadians'](this['pitch']-this[_0x5c7b62(0x6c4,0x1c7)]),_0x536bcd=Cesium__namespace[_0x5c7b62(_0xd7dfc._0x2ce717,0x18bd)]['toRadians'](this[_0x7a5dfd(-_0xd7dfc._0x4d99cd,0x89e)]+this['angle']),_0x29772b=Cesium__namespace['Math'][_0x7a5dfd(0xe32,_0xd7dfc._0x552bd0)](this[_0x7a5dfd(-0x1f7,_0xd7dfc._0xd5d6e2)]-this['angle']);function _0x5c7b62(_0x4c4f0b,_0x54a3d4){return _0x2b6441(_0x54a3d4,_0x4c4f0b-0x3a8);}const _0x8441f3=getRayEarthPosition(_0x5888b7,new Cesium__namespace['HeadingPitchRoll'](_0x2def7e,_0xc66d0d,_0x536bcd),![]);function _0x7a5dfd(_0x3b2f2c,_0x32012f){return _0x306755(_0x3b2f2c,_0x32012f- -0x14e);}const _0x5bb586=getRayEarthPosition(_0x5888b7,new Cesium__namespace['HeadingPitchRoll'](_0x2def7e,_0xc66d0d,_0x29772b),![]),_0x2c9b84=getRayEarthPosition(_0x5888b7,new Cesium__namespace['HeadingPitchRoll'](_0x2def7e,_0x444edf,_0x29772b),![]),_0x3a1106=getRayEarthPosition(_0x5888b7,new Cesium__namespace[(_0x5c7b62(0x129f,_0xd7dfc._0x341b81))](_0x2def7e,_0x444edf,_0x536bcd),![]);return[_0x8441f3,_0x5bb586,_0x2c9b84,_0x3a1106];}['_getDrawEntityClass'](_0xccb8ca,_0x16b468){const _0x1b4bbd={_0xbb817:0x19c9};function _0x275f10(_0x5d1c21,_0x233255){return _0x306755(_0x5d1c21,_0x233255- -0x25e);}return this[_0x275f10(_0x1b4bbd._0xbb817,0x16f1)](_0xccb8ca,_0x16b468);}}register$5('frustum',FrustumPrimitive,!![]);class ParallelogramPrimitive extends BasePolyPrimitive{constructor(_0x4d6f54={}){const _0x36ddff={_0x2df635:0x38,_0x33aeb3:0x4e2};super(_0x4d6f54);function _0x9a2a85(_0x24ca15,_0x515635){return _0x306755(_0x515635,_0x24ca15- -0x5b2);}this[_0x9a2a85(-_0x36ddff._0x2df635,_0x36ddff._0x33aeb3)]=0x3,this['maxPointNum']=0x3,this['_hasClampToGround']=![];}get['outlinePositions'](){const _0x29885e={_0xc4ef3f:0x12e0},_0x23b59c={_0x1504aa:0xd4};function _0x539a25(_0x1ce83c,_0x57d7c3){return _0x2b6441(_0x1ce83c,_0x57d7c3-_0x23b59c._0x1504aa);}function _0x3a3ead(_0x90f398,_0x1de713){return _0x2b6441(_0x90f398,_0x1de713- -0xb3);}const _0x571d9a=ParallelogramPrimitive[_0x3a3ead(0x1142,0x728)](this[_0x539a25(_0x29885e._0xc4ef3f,0x14cc)]);return _0x571d9a;}get['center'](){return this['centerOfMass'];}get[_0x306755(0x18e0,0x14b8)](){const _0x2f7e5f={_0x4ec10e:0x6e7},_0x1e7ac4={_0x1dbf7b:0x597};function _0x1fcda4(_0x4c46f0,_0x1bdf88){return _0x306755(_0x1bdf88,_0x4c46f0- -0x33a);}const _0x3ff6b5=this[_0x26cac5(0x21a9,0x198f)];function _0x26cac5(_0x5a8e76,_0x32926c){return _0x2b6441(_0x5a8e76,_0x32926c-_0x1e7ac4._0x1dbf7b);}if(_0x3ff6b5['length']<0x3)return;return Cesium__namespace['Cartesian3'][_0x26cac5(0xa00,0xfcb)](_0x3ff6b5[0x0],_0x3ff6b5[0x2],new Cesium__namespace[(_0x1fcda4(_0x2f7e5f._0x4ec10e,0x4db))]());}get['EditClass'](){return EditParallelogram;}['_conversionStyle'](_0x4e8511){const _0x5c2abc={_0x466cd7:0x10c5},_0xd0259={_0x584d5c:0x6f4};function _0x5f444a(_0x36fe9d,_0x53ae92){return _0x2b6441(_0x36fe9d,_0x53ae92-_0xd0259._0x584d5c);}return RectangleStyleConver[_0x5f444a(_0x5c2abc._0x466cd7,0x119f)](_0x4e8511);}['_style2Json'](_0x3b20f6,_0x23dc31){return RectangleStyleConver['toJSON'](_0x3b20f6,_0x23dc31);}['_createGeometryInstance'](_0x56b07a,_0x1d9564){const _0x41728d={_0x7fb549:0x12b7,_0x52f81a:0x1104,_0x1c0209:0x1b89};if(_0x1d9564)return;function _0x49e826(_0x1d3f8e,_0x4f16e5){return _0x306755(_0x4f16e5,_0x1d3f8e- -0x469);}const _0x215291=this[_0x49e826(0x1530,_0x41728d._0x7fb549)],{positions:_0x3fffd7,uv:_0x4cdab6,indice:_0x11eff1}=getGridPositions$1(_0x215291),_0xb104d=_0x3fffd7[_0x49e826(0x1192,0x1283)],_0x38db97=new Float64Array(_0xb104d*0x3);for(let _0xb2a10f=0x0;_0xb2a10f<_0xb104d;++_0xb2a10f){_0x38db97[_0xb2a10f*0x3]=_0x3fffd7[_0xb2a10f]['x'],_0x38db97[_0xb2a10f*0x3+0x1]=_0x3fffd7[_0xb2a10f]['y'],_0x38db97[_0xb2a10f*0x3+0x2]=_0x3fffd7[_0xb2a10f]['z'];}function _0x50cdf4(_0x27763b,_0x50b65d){return _0x2b6441(_0x27763b,_0x50b65d-0x3ea);}const _0x56a8d5=new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x49e826(_0x41728d._0x52f81a,0x199b)]['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x38db97}),'st':new Cesium__namespace[(_0x49e826(0x66e,0xc97))]({'componentDatatype':Cesium__namespace[_0x49e826(0x1104,0x1809)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(_0x4cdab6)})},'indices':new Uint16Array(_0x11eff1),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace[_0x50cdf4(0x294,0x87b)][_0x50cdf4(0xbc7,0x3d5)](_0x38db97)});return new Cesium__namespace[(_0x49e826(0x1353,_0x41728d._0x1c0209))]({'id':this['id'],'geometry':_0x56a8d5,'attributes':this['_createGeometryInstanceAttributes'](_0x56b07a)});}[_0x2b6441(0xb57,0xd56)](_0x24bc3d,_0x3c9dac,_0x22383c){const _0x297d2a={'flat':!![],..._0x24bc3d};return new Cesium__namespace['MaterialAppearance'](_0x297d2a);}['_getDrawEntityClass'](_0x3a065b,_0xf4e0e1){return create$5('parallelogram',_0x3a065b);}['_getPolylineOutlinePositions'](){function _0x1e5fb2(_0x3b3dee,_0x506fba){return _0x306755(_0x3b3dee,_0x506fba- -0x5b5);}return[this[_0x1e5fb2(0x107d,0xc5b)]];}static['getOutlinePositions'](_0x5a9cbb){const _0x14a42e={_0x8c6517:0x414},_0xc9acdb={_0x3fc744:0x392},_0x1f58a1=getAngle(_0x5a9cbb[0x2],_0x5a9cbb[0x1]);function _0x1bd270(_0x3d2622,_0x409d84){return _0x306755(_0x409d84,_0x3d2622- -0x60d);}const _0x44d6a7=Cesium__namespace[_0x1bd270(_0x14a42e._0x8c6517,0xcb4)][_0x1bd270(0x910,0xafd)](_0x5a9cbb[0x2],_0x5a9cbb[0x1]),_0x4e619b=getPositionByDirectionAndLen(_0x5a9cbb[0x0],_0x1f58a1+0xb4,_0x44d6a7);function _0x356b0b(_0x3c4b34,_0x52e747){return _0x2b6441(_0x3c4b34,_0x52e747-_0xc9acdb._0x3fc744);}return[_0x5a9cbb[0x0],_0x5a9cbb[0x1],_0x5a9cbb[0x2],_0x4e619b];}}register$5('parallelogramP',ParallelogramPrimitive);function getGridPositions$1(_0x1d58ee){const _0x5d1e5b={_0xd25033:0xa82,_0x3c66ef:0x8c5,_0x51731e:0xa82,_0x59cc73:0x9c1,_0x40f9d1:0x5e9,_0x231cb7:0x42b,_0x58f47b:0xd8f,_0x18139:0xa0b,_0xdc925:0xd8f,_0x2a521e:0xaa5,_0x450e4c:0xa82,_0x5e35e2:0x6f0,_0x490a77:0xd8f,_0x216697:0x1509,_0x5742c6:0xa9},_0xe36a5d=_0x1d58ee[0x0],_0x3238d1=_0x1d58ee[0x1],_0xbc7e97=_0x1d58ee[0x2],_0x23e94d=getAngle(_0x1d58ee[0x2],_0x1d58ee[0x1]),_0x1f35b1=Cesium__namespace[_0x2b3549(0x12c1,_0x5d1e5b._0xd25033)][_0x2b3549(_0x5d1e5b._0x3c66ef,0xf7e)](_0x1d58ee[0x2],_0x1d58ee[0x1]),_0x2cf0b1=getPositionByDirectionAndLen(_0x1d58ee[0x0],_0x23e94d+0xb4,_0x1f35b1),_0x32347e=[],_0x11b84e=[],_0x4b466e=[],_0x40599a=Cesium__namespace['Cartesian3'][_0x2b3549(0xc1c,0xf7e)](_0x3238d1,_0xbc7e97),_0xdb882f=_0x40599a,_0x3c435e=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace[_0x2b3549(0xe92,_0x5d1e5b._0x51731e)]['subtract'](_0x2cf0b1,_0xe36a5d,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0xdbd6a8=Cesium__namespace[_0x3eae71(0x42b,_0x5d1e5b._0x59cc73)][_0x3eae71(0x151,-_0x5d1e5b._0x40f9d1)](Cesium__namespace['Cartesian3']['subtract'](_0xbc7e97,_0x3238d1,new Cesium__namespace[(_0x3eae71(_0x5d1e5b._0x231cb7,0xb61))]()),new Cesium__namespace['Cartesian3']());function _0x2b3549(_0x2c0057,_0x45b3ee){return _0x2b6441(_0x2c0057,_0x45b3ee-0x602);}for(let _0x32bf8f=0x0;_0x32bf8f<=0x1;_0x32bf8f++){for(let _0x40b36b=0x0;_0x40b36b<=0x1;_0x40b36b++){const _0x48ed44=Cesium__namespace['Cartesian3'][_0x2b3549(0x720,_0x5d1e5b._0x58f47b)](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x3c435e,_0x32bf8f*_0xdb882f,new Cesium__namespace['Cartesian3']()),_0xe36a5d,new Cesium__namespace[(_0x2b3549(0x14e6,0xa82))]()),_0x149f97=Cesium__namespace['Cartesian3'][_0x2b3549(_0x5d1e5b._0x18139,_0x5d1e5b._0xdc925)](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0xdbd6a8,_0x32bf8f*_0xdb882f,new Cesium__namespace['Cartesian3']()),_0x3238d1,new Cesium__namespace['Cartesian3']()),_0x189f68=Cesium__namespace[_0x3eae71(_0x5d1e5b._0x231cb7,_0x5d1e5b._0x2a521e)]['normalize'](Cesium__namespace[_0x2b3549(0x14b5,_0x5d1e5b._0x450e4c)]['subtract'](_0x149f97,_0x48ed44,new Cesium__namespace[(_0x3eae71(_0x5d1e5b._0x231cb7,_0x5d1e5b._0x5e35e2))]()),new Cesium__namespace['Cartesian3']()),_0x37a34a=Cesium__namespace['Cartesian3'][_0x2b3549(0x8dc,0xf7e)](_0x149f97,_0x48ed44),_0x4a3050=_0x37a34a,_0x90b1c0=Cesium__namespace['Cartesian3'][_0x2b3549(0x7de,_0x5d1e5b._0x490a77)](Cesium__namespace['Cartesian3'][_0x2b3549(0x1977,_0x5d1e5b._0x216697)](_0x189f68,_0x40b36b*_0x4a3050,new Cesium__namespace['Cartesian3']()),_0x48ed44,new Cesium__namespace['Cartesian3']());_0x32347e['push'](_0x40b36b),_0x32347e[_0x3eae71(0xa3,-0x745)](0x1-_0x32bf8f),_0x11b84e['push'](_0x90b1c0);}}for(let _0x27ffc2=0x0;_0x27ffc2<0x1;_0x27ffc2++){for(let _0xf6ea06=0x0;_0xf6ea06<0x1;_0xf6ea06++){const _0x33e99d=_0x27ffc2*0x2+_0xf6ea06,_0x4eea1d=(_0x27ffc2+0x1)*0x2+_0xf6ea06;_0x4b466e['push'](_0x33e99d),_0x4b466e['push'](_0x33e99d+0x1),_0x4b466e['push'](_0x4eea1d+0x1),_0x4b466e[_0x2b3549(_0x5d1e5b._0x5742c6,0x6fa)](_0x4eea1d+0x1),_0x4b466e['push'](_0x4eea1d),_0x4b466e['push'](_0x33e99d);}}const _0x168aee={};_0x168aee['uv']=_0x32347e,_0x168aee['indice']=_0x4b466e,_0x168aee['positions']=_0x11b84e;function _0x3eae71(_0x304655,_0x484c53){return _0x2b6441(_0x484c53,_0x304655- -0x55);}return _0x168aee;}var ConeGlowCircleOuterMaterial=_0x306755(0x142e,0x9c2),ConeGlowCylinderGaussMaterial=_0x306755(0xd16,0xd59),ConeGlowGradientMaterial=_0x2b6441(0xe1e,0x1304),ConeGlowRingScanMaterial=_0x306755(0x10f7,0xbfa);const _0x35b25a={};_0x35b25a[_0x306755(0xe67,0xbf2)]=0x3e8,_0x35b25a[_0x306755(-0x2fc,0x6c6)]=0x64,_0x35b25a[_0x2b6441(0x1087,0x90e)]='#00ffff';const DEF_STYLE$o=_0x35b25a,particleImage=new Image();particleImage['src']='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAEACAYAAADSoXR2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExQTg0NDEyMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExQTg0NDEzMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTFBODQ0MTAwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTFBODQ0MTEwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz41vRwAAAAE90lEQVR42uydyW4UMRCG3T2dgYSAEGs4sp44cCJBcGUJbwCvALwWPAI8ABwAiUVwgLBdkEikJEiAGMhkZqhfU1aa1sy0g+yaJPyWSupOpPjz0uVyucrJer2eG2fJ3ZgLAQhAgC0PgN8XIlkqgGLE75oih0WmRVZEvop0rHog18rnRe6IzInsthyCXFt+TuSKyGmRXZZDgK5eFrkv8l7kiUhrxN/JSo3pigSvcNmI1bCh3b5LK2+NqHyvyEF9x3z5HgqRRViOAXhW5JrCoNdei/y20gMYxhmRSyIXRY6JTMT4DENLW+SdyD19x/NajDmwmYIW79Hnn+MA4GJEAAIQgABJbMJB+n5Sl9zWZvR9DABUfkJkVt8fi3zUldAEoKl24Y2S1fPZEmBdZFHkkb4vxTLRQ5djbyUf0ncYrD/UADUB8MZno2Q19yx7gIqIAAQgAAEIQIAtYZT+85LvRnjQCoPKR3rQUgN4Y3ZeK30g8qps0qeeAzDn4TWD9+ySG+BBS90DaGnVg9a2tgnR4il9/jkOACoiAhCAAASIZpAAFl6yulO0JACo/IDrn6CedP1zxOciv6wAYNnAP3RVBeWtJQCWzG8iL/X9g4vkqNzMctzUXtintt2KM/aS+bmQaY90rb8CF6tSKiICEIAABCAAAQiwbfcFIWVCbUcc9bZDLKiYAKj4uOv7Bb+ILLj+8W7PCgC7Jhzv44Qdh9yrru8V61jPgd645gD2io+15RiC5ZA5ENNPmGmDmtrta9YAVEQE2FlrQUM/J6efU8cSAD87ojodBaccS6kgiiErGiq/qe93XT+3oGU5BJnbyKrIUs6BQZoQUEcrQ7CYagiGqeKiMgnXLXsg5uJUm/RQJKy8fGS7PMw6SgVQPrJFGZr0kCfUL/7IFjIzrLGpemBQ0kPbehL6I9vMjUh6oEVEAAIQgAAEIAABdpyj0qcK71YrqGUJANNrv+sHOcAiRpDDM1cTY1BEHk7kqyP/2Ac5vLEEQEG8aDnIoTb5ObZRWg5ywG5o1dX4ClNYxT7IISgJPsXGpLut9MCWU0S5bqkmdAa3LQEwcZDAfkZ3tthQfkwNkVeeD6kiuaUabcp6DpS9YyalrAdQ8bT1EFQVUabarND9fNuyB2gREYAABCAAAQhAAAIQoM770UgBXARCIr/koDogVlzgrWuxemBKd0m4JnBed0+5ZQ9gn3BK5LK+P4y5ewoB8DFiKO91COLFfwVuTCZV1hSoYw1APZCsFIkbN1Haaa87wwiKQe6eT27AEX6esPVVd8/kOOdAz/oz9FE0p+uGIKUeqE5C8xgSKiICEIAABCAAAQhAAAIQgAAEIAABCECA6AA+sbkREyDUUYlKD6ggZwzRkr8tewBhusisv+0in5qE/hFchoZTE0TL4p8sTbtIpyahQ4Ag5fKpSVBmfdDECvQTZjoM0U9N6KgkwH9xY7PXpPiCmq5yuaLVldHIO7jgNi5XfOEhCqNh9udHV/RnC5YAUDTftdV4/ivvwEoRVS9XXPWa1FIT5ird8jpSB+BDN3rO8AaGMnGy0I0QRYTvdk6NkOsucuhGCMAgI8Q0isaHbmAevNMhiD4P6iZhstANGiQE2PEGCRo2NcgAsQDwKnxWFdlT17/duWU1BJmuHz6A5bwbEsCScgh+qAHit3Jr1oooOPExdRBLbeJjSpuwuy30AAH+CDAAPH5ltESNYl4AAAAASUVORK5CYII=',particleImage['onload']=function(){};class LightCone extends BasePointPrimitive{constructor(_0x468c67={}){const _0x542e5c={_0x57c2d5:0x7c6,_0x5605f6:0x5f9,_0x36cab9:0xe63},_0x55db89={_0x45698a:0x90},_0x1d7737={_0x294378:0x25d};_0x468c67[_0xa9c4a7(0x16a,_0x542e5c._0x57c2d5)]={...DEF_STYLE$o,..._0x468c67[_0xf81ba0(0x468,_0x542e5c._0x5605f6)]};function _0xf81ba0(_0x3651ae,_0x25fec5){return _0x306755(_0x3651ae,_0x25fec5- -_0x1d7737._0x294378);}super(_0x468c67),this['_primitive']=null,this[_0xa9c4a7(0xf9c,_0x542e5c._0x36cab9)]=null,this['_primitive3']=null;function _0xa9c4a7(_0x16b72e,_0x2ee311){return _0x306755(_0x16b72e,_0x2ee311- -_0x55db89._0x45698a);}this['_primitive4']=null;}get['czmObject'](){return this['_primitive'];}get[_0x306755(0x502,0xe30)](){const _0x219713={_0x1442d1:0x1345},_0xe55501={_0x4fda4c:0x660},_0xa5e7b1={_0x28656f:0x1f0};function _0xf98eb2(_0xb3031d,_0x279eb4){return _0x2b6441(_0x279eb4,_0xb3031d-_0xa5e7b1._0x28656f);}function _0x192ca8(_0x562af1,_0x1a37c9){return _0x2b6441(_0x1a37c9,_0x562af1-_0xe55501._0x4fda4c);}return this['_primitive2']?[this[_0x192ca8(0xfb2,_0x219713._0x1442d1)],this[_0x192ca8(0x10c9,0x7f9)],this['_primitive4']]:[];}get['color'](){const _0x41d647={_0x27b36b:0x12b2};function _0x37fa59(_0xfbf8aa,_0x592df4){return _0x2b6441(_0x592df4,_0xfbf8aa-0x4df);}return this[_0x37fa59(_0x41d647._0x27b36b,0x1615)];}set['color'](_0x3c4b5a){this['style']['color']=_0x3c4b5a;}['_addedHook'](_0x53e39f){const _0xc806e7={_0x529af4:0x1394,_0x41bc45:0x18b4,_0x18aeb5:0x143f,_0x3f013a:0x1b40,_0x3805eb:0x1ebb,_0x328e7a:0x1ab3,_0x79f3f9:0xe8e,_0x303a76:0x1965,_0xbd3363:0xc04,_0x249760:0x936,_0x218d41:0x87b,_0x1fdd26:0x44d,_0x5c2553:0xb89},_0x12ebdf={_0xef2889:0x41e};if(!this[_0x45d8ab(-0x33d,0x597)]()||!this['position'])return;let _0x2599cc=this['position'];if(Cesium__namespace[_0x45d8ab(0x157e,0x18b4)](_0x53e39f['setHeight'])){const _0x3aa987=this[_0x4fce22(0x394,0xdcb)]();Cesium__namespace[_0x4fce22(_0xc806e7._0x529af4,0x133f)](_0x3aa987)&&(_0x2599cc=setPositionsHeight(_0x2599cc,_0x3aa987));const _0xfe1305=this[_0x4fce22(0x2d9,-0x238)]();Cesium__namespace[_0x45d8ab(0x1e6d,_0xc806e7._0x41bc45)](_0xfe1305)&&(_0x2599cc=addPositionsHeight(_0x2599cc,_0xfe1305));}const _0x395dcc=_0x53e39f['radius'];this['topRadius']=_0x395dcc/0x64;function _0x45d8ab(_0xd4f486,_0x378748){return _0x306755(_0xd4f486,_0x378748-0x102);}this[_0x4fce22(0x1588,_0xc806e7._0x18aeb5)]=this[_0x45d8ab(_0xc806e7._0x3f013a,0x1aa8)]>0x1?0x1:this[_0x45d8ab(0x208a,0x1aa8)],this['inner_controlPoints']=getCirclePosition(_0x2599cc,_0x395dcc*0.7);function _0x4fce22(_0x3cb424,_0x31da02){return _0x306755(_0x31da02,_0x3cb424- -_0x12ebdf._0xef2889);}this['outer_controlPoints']=getCirclePosition(_0x2599cc,_0x395dcc),this['circular_clone_topPoints']=getCirclePosition(_0x2599cc,this[_0x45d8ab(0x2504,0x1aa8)]),this[_0x45d8ab(_0xc806e7._0x3805eb,_0xc806e7._0x328e7a)]=getCirclePosition(_0x2599cc,_0x395dcc*0x2),this[_0x4fce22(_0xc806e7._0x79f3f9,0x652)]=this[_0x45d8ab(0x1cf9,_0xc806e7._0x303a76)](),this['gradientCircleCanvas']=this[_0x4fce22(0x2d0,0xbfa)](),this['image']=this['drawCanvas'](particleImage),this[_0x45d8ab(0x100b,0x1476)]=getColorByStyle(_0x53e39f),this[_0x4fce22(_0xc806e7._0xbd3363,_0xc806e7._0x249760)](_0x53e39f),this[_0x4fce22(0xec2,_0xc806e7._0x218d41)](_0x53e39f),this['addCircle'](_0x53e39f),this['addRing'](_0x53e39f),_0x53e39f[_0x4fce22(_0xc806e7._0x1fdd26,0x7c0)]&&this[_0x45d8ab(0x962,0xdc2)](_0x53e39f['label']),this[_0x45d8ab(0x20e,_0xc806e7._0x5c2553)]&&this['_updateAvailabilityHook'](this[_0x45d8ab(0xee1,_0xc806e7._0x5c2553)]);}[_0x2b6441(0xc84,0x88a)](){const _0x53f9dd={_0x509fb1:0xb11,_0x2ea1ec:0xf08,_0x1f7a0c:0xd61,_0x303a32:0xd39,_0x4b802b:0xd7d,_0x41c205:0x10e4};!this[_0x1ad9e1(_0x53f9dd._0x509fb1,_0x53f9dd._0x2ea1ec)]&&(this['stopDraw'](),this[_0x4a5f3d(0x1978,0xf53)]());function _0x1ad9e1(_0x4bc2a2,_0x422279){return _0x306755(_0x4bc2a2,_0x422279- -0x1cd);}this['_primitive']&&(this[_0x1ad9e1(_0x53f9dd._0x1f7a0c,0xb7c)]['remove'](this[_0x4a5f3d(0x18cc,0xf7b)]),delete this[_0x1ad9e1(0x1217,0xd7a)]);function _0x4a5f3d(_0x120c7a,_0x793f20){return _0x306755(_0x120c7a,_0x793f20-0x34);}this['_primitive2']&&(this['primitiveCollection']['remove'](this[_0x4a5f3d(0xe48,0xf27)]),delete this['_primitive2']),this['_primitive3']&&(this['primitiveCollection'][_0x1ad9e1(0xeab,0x7ef)](this['_primitive3']),delete this[_0x4a5f3d(0x1408,0x103e)]),this[_0x1ad9e1(0x110d,0x10e4)]&&(this[_0x4a5f3d(_0x53f9dd._0x303a32,_0x53f9dd._0x4b802b)][_0x4a5f3d(0x102d,0x9f0)](this['_primitive4']),delete this[_0x1ad9e1(0xd79,_0x53f9dd._0x41c205)]);}['addInner'](_0x5bf9ec){const _0x9881b8={_0x17e2e0:0x149d,_0x4f77ef:0x1c2,_0xf4587b:0x14f3,_0x26ea0f:0x105e,_0x5abbb3:0x13d8,_0x250e17:0x14a8,_0x19d82b:0x1cdf,_0x986dcc:0x855,_0x8cf526:0x1683,_0x23003b:0x1148,_0xe4cb86:0x142e},_0x333f01={_0x1abc75:0x28b},_0x58571c={_0x2c0c0e:0x12b4},_0x12856b=createCylinderInstance(this[_0x5ab577(_0x9881b8._0x17e2e0,0x1c6f)],this[_0x5ab577(_0x9881b8._0x4f77ef,0x615)],{'height':_0x5bf9ec['height'],'color':this['color'],'distanceDisplayCondition':_0x5bf9ec['distanceDisplayCondition']}),_0x5ae2bc={};_0x5ae2bc[_0x5ab577(_0x9881b8._0xf4587b,0x1353)]=this[_0x5ab577(_0x9881b8._0x26ea0f,_0x9881b8._0x5abbb3)],_0x5ae2bc[_0x5ab577(_0x9881b8._0x250e17,_0x9881b8._0x19d82b)]=0x1;function _0x5c246e(_0x17599d,_0x19aa9f){return _0x2b6441(_0x17599d,_0x19aa9f-0x156);}const _0x2d4f94={};_0x2d4f94['uniforms']=_0x5ae2bc,_0x2d4f94['source']=ConeGlowCylinderGaussMaterial;const _0x3f6276={};_0x3f6276['fabric']=_0x2d4f94,_0x3f6276['translucent']=function(_0x249ce8){function _0x42d6de(_0x1a14a3,_0x5688c8){return _0x5c246e(_0x1a14a3,_0x5688c8- -0x10a);}return _0x249ce8['uniforms'][_0x42d6de(0x8e6,_0x58571c._0x2c0c0e)]['alpha']<0x1;};const _0xd57842=new Cesium__namespace['EllipsoidSurfaceAppearance']({'material':new Cesium__namespace['Material'](_0x3f6276)});this['_primitive']=new Cesium__namespace[(_0x5c246e(_0x9881b8._0x986dcc,0x6b1))]({'geometryInstances':_0x12856b,'appearance':_0xd57842,'asynchronous':![],'show':this[_0x5c246e(_0x9881b8._0x8cf526,_0x9881b8._0x23003b)]});function _0x5ab577(_0x51297d,_0x3afb91){return _0x2b6441(_0x3afb91,_0x51297d-_0x333f01._0x1abc75);}this[_0x5ab577(0xa33,_0x9881b8._0xe4cb86)]['add'](this['_primitive']);}['addOuter'](_0x350e87){const _0xa79bd2={_0x549566:0x4c4,_0x44caa1:0xc9c},_0x376236={_0x5b3d4b:0x64b},_0x76f56c={_0x5f26df:0x8b};function _0x209733(_0x58170b,_0x1fbbb7){return _0x2b6441(_0x58170b,_0x1fbbb7- -_0x76f56c._0x5f26df);}const _0x37fdad=createCylinderInstance(this['outer_controlPoints'],this['circular_clone_topPoints'],{'height':_0x350e87[_0x2fe26e(_0xa79bd2._0x549566,_0xa79bd2._0x44caa1)],'distanceDisplayCondition':_0x350e87['distanceDisplayCondition'],'color':new Cesium__namespace[(_0x209733(0xfe2,0x908))](0.5,0.8,0x1,0x2)});function _0x2fe26e(_0x25a341,_0x2d219d){return _0x2b6441(_0x25a341,_0x2d219d-_0x376236._0x5b3d4b);}this['_primitive2']=new Cesium__namespace['Primitive']({'geometryInstances':_0x37fdad,'appearance':new Cesium__namespace['EllipsoidSurfaceAppearance']({'material':new Cesium__namespace[(_0x2fe26e(0x87b,0xfb1))]({'fabric':{'uniforms':{'u_color':this['_color'],'image':this['image'],'globalAlpha':0x1},'source':ConeGlowCircleOuterMaterial},'translucent':!![]})}),'asynchronous':![],'show':this[_0x2fe26e(0xdef,0x163d)]}),this['primitiveCollection'][_0x2fe26e(0xb19,0xdd8)](this['_primitive2']);}[_0x2b6441(-0x718,0x10a)](_0x56e563){const _0x153bcc={_0x285b35:0x3c5,_0x88c90f:0xda2,_0x3edf12:0x67e,_0x4aad38:0x466,_0x467693:0xdea,_0x410a99:0x155c,_0x3234b4:0xdad,_0x3ac4d5:0x260,_0x5d998b:0xbb5},_0x539129={_0x2a7287:0x1da},_0x541230=Cesium__namespace[_0x1e00ce(0x542,-_0x153bcc._0x285b35)][_0x5631ca(-0x2da,0x59a)](this[_0x5631ca(0x1654,_0x153bcc._0x88c90f)]);function _0x1e00ce(_0x3cdf3c,_0x3603d0){return _0x2b6441(_0x3603d0,_0x3cdf3c-_0x539129._0x2a7287);}const _0x2d7833={};_0x2d7833['perPositionHeight']=_0x541230['height']>=0x1,_0x2d7833['distanceDisplayCondition']=_0x56e563[_0x5631ca(_0x153bcc._0x3edf12,_0x153bcc._0x4aad38)];const _0x223609=createCircleInstance(this[_0x5631ca(_0x153bcc._0x467693,_0x153bcc._0x410a99)],_0x2d7833);this['_primitive3']=new Cesium__namespace['Primitive']({'geometryInstances':_0x223609,'appearance':new Cesium__namespace['EllipsoidSurfaceAppearance']({'material':new Cesium__namespace['Material']({'fabric':{'uniforms':{'u_color':this[_0x1e00ce(0xfad,_0x153bcc._0x3234b4)],'image':this['gradientCircleCanvas'],'globalAlpha':0x1},'source':ConeGlowGradientMaterial},'translucent':!![]})}),'asynchronous':![],'show':this['show']});function _0x5631ca(_0x2f4f66,_0x3429fb){return _0x306755(_0x2f4f66,_0x3429fb- -0x455);}this['primitiveCollection']['add'](this[_0x5631ca(_0x153bcc._0x3ac4d5,_0x153bcc._0x5d998b)]);}[_0x306755(0xf18,0xbcb)](_0x5ae2f1){const _0x59bafb={_0x425a0d:0x1afd,_0x40b7c5:0x3d2,_0x15f5cf:0x17ec,_0xaf7527:0x960,_0x55a804:0x742},_0x36cf3e={_0x315501:0x95},_0x53d173=createCircleInstance(this[_0x39b5ac(_0x59bafb._0x425a0d,0x1378)],{'perPositionHeight':this['point'][_0x57af18(0x413,_0x59bafb._0x40b7c5)]>=0x1,'distanceDisplayCondition':_0x5ae2f1['distanceDisplayCondition']});function _0x57af18(_0x1a5ba4,_0x4916db){return _0x306755(_0x1a5ba4,_0x4916db- -_0x36cf3e._0x315501);}function _0x39b5ac(_0x32941d,_0x4c739c){return _0x2b6441(_0x32941d,_0x4c739c- -0x98);}this['_primitive4']=new Cesium__namespace[(_0x57af18(0x851,0xa67))]({'geometryInstances':_0x53d173,'appearance':new Cesium__namespace[(_0x57af18(_0x59bafb._0x15f5cf,0x10ac))]({'material':new Cesium__namespace[(_0x39b5ac(-0xb9,0x8ce))]({'fabric':{'uniforms':{'u_color':this['_color'],'image':this['ringCanvas'],'globalAlpha':0x1},'source':ConeGlowRingScanMaterial},'translucent':!![]})}),'asynchronous':![],'show':this[_0x39b5ac(0x10f9,0xf5a)]}),this[_0x39b5ac(_0x59bafb._0xaf7527,0x710)][_0x39b5ac(_0x59bafb._0x55a804,0x6f5)](this[_0x39b5ac(0x421,0xc78)]);}['getParticleImage'](_0x4d3cd2){const _0xa6bcf3=new Image();_0xa6bcf3['src']='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAEACAYAAADSoXR2AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ1IDc5LjE2MzQ5OSwgMjAxOC8wOC8xMy0xNjo0MDoyMiAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjExQTg0NDEyMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjExQTg0NDEzMDEzQjExRUFBNDhBRjhGMUMzOUUyNTU0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTFBODQ0MTAwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MTFBODQ0MTEwMTNCMTFFQUE0OEFGOEYxQzM5RTI1NTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz41vRwAAAAE90lEQVR42uydyW4UMRCG3T2dgYSAEGs4sp44cCJBcGUJbwCvALwWPAI8ABwAiUVwgLBdkEikJEiAGMhkZqhfU1aa1sy0g+yaJPyWSupOpPjz0uVyucrJer2eG2fJ3ZgLAQhAgC0PgN8XIlkqgGLE75oih0WmRVZEvop0rHog18rnRe6IzInsthyCXFt+TuSKyGmRXZZDgK5eFrkv8l7kiUhrxN/JSo3pigSvcNmI1bCh3b5LK2+NqHyvyEF9x3z5HgqRRViOAXhW5JrCoNdei/y20gMYxhmRSyIXRY6JTMT4DENLW+SdyD19x/NajDmwmYIW79Hnn+MA4GJEAAIQgABJbMJB+n5Sl9zWZvR9DABUfkJkVt8fi3zUldAEoKl24Y2S1fPZEmBdZFHkkb4vxTLRQ5djbyUf0ncYrD/UADUB8MZno2Q19yx7gIqIAAQgAAEIQIAtYZT+85LvRnjQCoPKR3rQUgN4Y3ZeK30g8qps0qeeAzDn4TWD9+ySG+BBS90DaGnVg9a2tgnR4il9/jkOACoiAhCAAASIZpAAFl6yulO0JACo/IDrn6CedP1zxOciv6wAYNnAP3RVBeWtJQCWzG8iL/X9g4vkqNzMctzUXtintt2KM/aS+bmQaY90rb8CF6tSKiICEIAABCAAAQiwbfcFIWVCbUcc9bZDLKiYAKj4uOv7Bb+ILLj+8W7PCgC7Jhzv44Qdh9yrru8V61jPgd645gD2io+15RiC5ZA5ENNPmGmDmtrta9YAVEQE2FlrQUM/J6efU8cSAD87ojodBaccS6kgiiErGiq/qe93XT+3oGU5BJnbyKrIUs6BQZoQUEcrQ7CYagiGqeKiMgnXLXsg5uJUm/RQJKy8fGS7PMw6SgVQPrJFGZr0kCfUL/7IFjIzrLGpemBQ0kPbehL6I9vMjUh6oEVEAAIQgAAEIAABdpyj0qcK71YrqGUJANNrv+sHOcAiRpDDM1cTY1BEHk7kqyP/2Ac5vLEEQEG8aDnIoTb5ObZRWg5ywG5o1dX4ClNYxT7IISgJPsXGpLut9MCWU0S5bqkmdAa3LQEwcZDAfkZ3tthQfkwNkVeeD6kiuaUabcp6DpS9YyalrAdQ8bT1EFQVUabarND9fNuyB2gREYAABCAAAQhAAAIQoM770UgBXARCIr/koDogVlzgrWuxemBKd0m4JnBed0+5ZQ9gn3BK5LK+P4y5ewoB8DFiKO91COLFfwVuTCZV1hSoYw1APZCsFIkbN1Haaa87wwiKQe6eT27AEX6esPVVd8/kOOdAz/oz9FE0p+uGIKUeqE5C8xgSKiICEIAABCAAAQhAAAIQgAAEIAABCECA6AA+sbkREyDUUYlKD6ggZwzRkr8tewBhusisv+0in5qE/hFchoZTE0TL4p8sTbtIpyahQ4Ag5fKpSVBmfdDECvQTZjoM0U9N6KgkwH9xY7PXpPiCmq5yuaLVldHIO7jgNi5XfOEhCqNh9udHV/RnC5YAUDTftdV4/ivvwEoRVS9XXPWa1FIT5ird8jpSB+BDN3rO8AaGMnGy0I0QRYTvdk6NkOsucuhGCMAgI8Q0isaHbmAevNMhiD4P6iZhstANGiQE2PEGCRo2NcgAsQDwKnxWFdlT17/duWU1BJmuHz6A5bwbEsCScgh+qAHit3Jr1oooOPExdRBLbeJjSpuwuy30AAH+CDAAPH5ltESNYl4AAAAASUVORK5CYII=',_0xa6bcf3['onload']=function(){_0x4d3cd2&&_0x4d3cd2();};}['drawCanvas'](_0xc8fe97){const _0x36be9c={_0x55e11a:0x9c0,_0x461bd5:0x707};function _0x56fd6c(_0x2ad320,_0x4fa435){return _0x306755(_0x4fa435,_0x2ad320- -0xab);}const _0x37d5cb=document['createElement']('canvas');_0x37d5cb['width']=0x40,_0x37d5cb['height']=0x100;const _0xe236fe={};_0xe236fe[_0x56fd6c(0xe92,0x93b)]=!![];const _0x5c23f3=_0x37d5cb[_0x56fd6c(0xbd9,0x21f)]('2d',_0xe236fe);_0x5c23f3['clearRect'](0x0,0x0,0x40,0x100),_0x5c23f3[_0x56fd6c(_0x36be9c._0x55e11a,_0x36be9c._0x461bd5)](_0xc8fe97,0x0,0x0),_0x5c23f3['drawImage'](_0xc8fe97,0x21,0x0);function _0x5c8331(_0x4cc7fa,_0x75c2c0){return _0x2b6441(_0x4cc7fa,_0x75c2c0-0x614);}return _0x37d5cb;}['drawRingCanvas'](){const _0x34094c={_0x205960:0xe2c,_0xe5a02a:0x72e,_0x469f9a:0x61e,_0x34ca5f:0xf1b,_0x3a1d2e:0xb88},_0x5069ef={_0x555052:0x17b},_0x1ba897=document['createElement'](_0x2b16ba(_0x34094c._0x205960,_0x34094c._0xe5a02a));_0x1ba897['width']=0x200,_0x1ba897[_0x23f63d(_0x34094c._0x469f9a,0xa77)]=0x200;const _0x193549={};_0x193549[_0x2b16ba(0x99e,_0x34094c._0x34ca5f)]=!![];const _0x5c8b96=_0x1ba897['getContext']('2d',_0x193549);_0x5c8b96['fillStyle']=_0x2b16ba(0x130a,0x138c),_0x5c8b96[_0x2b16ba(0x945,_0x34094c._0x3a1d2e)]=_0x2b16ba(0xfbf,0x543);function _0x23f63d(_0x3c0263,_0x1213d9){return _0x306755(_0x3c0263,_0x1213d9- -_0x5069ef._0x555052);}_0x5c8b96['setLineDash']([0x32,0x32]),_0x5c8b96['lineWidth']=0x1e,_0x5c8b96['beginPath']();function _0x2b16ba(_0x4e84d7,_0x46c268){return _0x2b6441(_0x4e84d7,_0x46c268-0x57f);}return _0x5c8b96['arc'](0x100,0x100,0x96,0x0,Math['PI']*0x2,!![]),_0x5c8b96[_0x2b16ba(0x1151,0x19dd)](),_0x5c8b96['restore'](),_0x1ba897;}['cirdrawGradientCircleCanvas'](){const _0xf12651={_0x330a1e:0xd63,_0x34db8b:0xa3d,_0x3c0442:0x1812,_0xb6b4f4:0xd63,_0x2e5ca9:0x262,_0x3a3c8b:0xd1b,_0x4087f7:0x818},_0x4bd959={_0x526d37:0x247},_0x14eee8=document['createElement']('canvas');function _0x2d699e(_0x2626f3,_0x355cd8){return _0x306755(_0x355cd8,_0x2626f3- -_0x4bd959._0x526d37);}_0x14eee8[_0x29409c(0xa23,0x6a3)]=0x200,_0x14eee8['height']=0x200;const _0x20d935={};_0x20d935['willReadFrequently']=!![];const _0x41d6b9=_0x14eee8['getContext']('2d',_0x20d935),_0x4351c2=_0x41d6b9['createRadialGradient'](0x100,0x100,0x0,0x100,0x100,0x100);_0x4351c2[_0x2d699e(_0xf12651._0x330a1e,_0xf12651._0x34db8b)](0.1,'rgba(255,\x20255,\x20255,\x201.0)'),_0x4351c2[_0x29409c(0xde2,_0xf12651._0x3c0442)](0.2,_0x2d699e(0x262,-0x1dc)),_0x4351c2[_0x2d699e(_0xf12651._0xb6b4f4,0x175b)](0.3,'rgba(255,\x20255,\x20255,\x200.9)'),_0x4351c2[_0x29409c(0xde2,0xfcb)](0.5,_0x2d699e(_0xf12651._0x2e5ca9,_0xf12651._0x3a3c8b)),_0x4351c2['addColorStop'](0.9,_0x2d699e(0xd55,0x1304)),_0x4351c2[_0x2d699e(0xd63,0x13c4)](0x1,_0x2d699e(0x1130,_0xf12651._0x4087f7));function _0x29409c(_0x47ef30,_0x5a0e83){return _0x306755(_0x5a0e83,_0x47ef30- -0x1c8);}return _0x41d6b9[_0x29409c(0x1258,0x880)](0x0,0x0,0x200,0x200),_0x41d6b9['beginPath'](),_0x41d6b9['arc'](0x100,0x100,0x100,0x0,Math['PI']*0x2,!![]),_0x41d6b9['fillStyle']=_0x4351c2,_0x41d6b9['fill'](),_0x41d6b9['restore'](),_0x14eee8;}[_0x2b6441(0x19b5,0x134d)](_0x246879){const _0x2a8338={_0x273b5b:0xbd9,_0x5b6dbe:0xe1a,_0x12b215:0x18db,_0x6c96f3:0x15b9,_0xbc0061:0x1646,_0x1a3b42:0x1e90,_0x40ea92:0x15b9,_0x4ee4d4:0x1ce0};this['style'][_0x45b554(0x13be,0x1543)]=_0x246879;function _0x4f68d9(_0x4304c1,_0x394e47){return _0x306755(_0x394e47,_0x4304c1- -0x31b);}function _0x45b554(_0x1c8c05,_0x5df4ac){return _0x2b6441(_0x5df4ac,_0x1c8c05-0x1a1);}this['_primitive']&&(this['_primitive']['appearance'][_0x4f68d9(0x1646,_0x2a8338._0x273b5b)][_0x45b554(_0x2a8338._0x5b6dbe,_0x2a8338._0x12b215)]['globalAlpha']=_0x246879,this[_0x4f68d9(0xbd8,0xcd2)][_0x4f68d9(_0x2a8338._0x6c96f3,0x1e91)][_0x4f68d9(_0x2a8338._0xbc0061,_0x2a8338._0x1a3b42)][_0x45b554(_0x2a8338._0x5b6dbe,0xfc6)]['globalAlpha']=_0x246879,this['_primitive3'][_0x4f68d9(_0x2a8338._0x40ea92,_0x2a8338._0x4ee4d4)]['material'][_0x4f68d9(0xeff,0x1039)]['globalAlpha']=_0x246879,this[_0x4f68d9(0xf96,0x138b)]['appearance']['material']['uniforms']['globalAlpha']=_0x246879);}[_0x306755(0x154e,0x1966)](_0x3b19aa,_0x5d1363){return this['_getDrawPointEntityClass'](_0x3b19aa,_0x5d1363);}}register$5(_0x2b6441(0x121c,0xbb0),LightCone,!![]);function createCircleInstance(_0x4e8f67,_0x119eb2){const _0x14fd41={_0x2ad3cd:0xdd8,_0x49b1e4:0x6df},_0x543d02={_0x135398:0x1dc},_0x505a6f=new Cesium__namespace['CoplanarPolygonGeometry']({'polygonHierarchy':new Cesium__namespace['PolygonHierarchy'](_0x4e8f67),'perPositionHeight':_0x119eb2[_0x58ba1b(0x870,_0x14fd41._0x2ad3cd)]});function _0x58ba1b(_0x43ebb9,_0x5e7a88){return _0x306755(_0x5e7a88,_0x43ebb9- -_0x543d02._0x135398);}function _0x5f594a(_0x4f8682,_0x2e7ffb){return _0x306755(_0x4f8682,_0x2e7ffb-0xa2);}return new Cesium__namespace['GeometryInstance']({'geometry':_0x505a6f,'attributes':{'distanceDisplayCondition':_0x119eb2[_0x58ba1b(_0x14fd41._0x49b1e4,0x597)]||new Cesium__namespace['DistanceDisplayConditionGeometryInstanceAttribute']()}});}function createCylinderInstance(_0x441284,_0x3914f,_0x44945d){const _0x37c878={_0x53dd02:0x165,_0x416d46:0x165,_0x184fd8:0x44b},_0x16471c={_0x957f24:0x6d},_0x45c470=_0x44945d['height'],_0x4653d7=_0x44945d['color'],_0x1a21ca=_0x441284[_0x358e93(0x5bb,0x2c7)](),_0x32bed6=_0x441284['length'],_0x586c28=0x2*_0x32bed6,_0x577413=[],_0x14de73=0x1/(_0x32bed6-0x1);function _0x358e93(_0x5a47d7,_0x280217){return _0x2b6441(_0x5a47d7,_0x280217-_0x16471c._0x957f24);}const _0x2a9943=[],_0x289011=[];for(let _0x13c9ac=0x0;_0x13c9ac<_0x32bed6;_0x13c9ac++){_0x289011[_0x358e93(-0xd9,_0x37c878._0x53dd02)](addPositionsHeight(_0x3914f[_0x13c9ac],_0x45c470)),_0x577413[_0x358e93(0x939,_0x37c878._0x416d46)](_0x13c9ac*_0x14de73),_0x577413['push'](0x0);const _0x1679fc=_0x13c9ac+0x1,_0x278481=(_0x13c9ac+0x1)%_0x32bed6,_0x4eed74=_0x586c28-_0x1679fc;_0x2a9943[_0x358e93(0xaf,0x165)](...[_0x4eed74-0x1,_0x4eed74,_0x13c9ac]),_0x2a9943['push'](...[_0x13c9ac,_0x278481,_0x4eed74-0x1]);}for(let _0x5c679f=0x0;_0x5c679f<_0x289011[_0x38c3cf(0x144f,0x103b)];_0x5c679f++){_0x1a21ca[_0x358e93(-0x773,0x165)](_0x289011[_0x32bed6-_0x5c679f-0x1]),_0x577413[_0x358e93(-0x453,0x165)](0x1-_0x5c679f*_0x14de73),_0x577413[_0x358e93(_0x37c878._0x184fd8,0x165)](0x1);}let _0xf27c2e=new Cesium__namespace['CoplanarPolygonGeometry']({'polygonHierarchy':new Cesium__namespace[(_0x358e93(0x335,-0x61))](_0x1a21ca),'perPositionHeight':!![]});_0xf27c2e=Cesium__namespace[_0x38c3cf(0xc0b,0x699)]['createGeometry'](_0xf27c2e),_0xf27c2e['indices']=_0x2a9943,_0xf27c2e['attributes']['st']['values']=_0x577413;function _0x38c3cf(_0x1cbc35,_0xa321fa){return _0x2b6441(_0x1cbc35,_0xa321fa- -0x1f);}return new Cesium__namespace['GeometryInstance']({'geometry':_0xf27c2e,'attributes':{'color':Cesium__namespace['ColorGeometryInstanceAttribute']['fromColor'](_0x4653d7),'distanceDisplayCondition':_0x44945d[_0x358e93(-0x3f5,0x387)]||new Cesium__namespace['DistanceDisplayConditionGeometryInstanceAttribute']()}});}function getCirclePosition(_0x3abbdb,_0x12c03a,_0x18d217=0x78){const _0xe92a85={_0xa9ce1e:0xc48,_0x45ccb6:0x1cb,_0x452964:0x73c},_0x5eb750={_0xa449a9:0x2bc};function _0x64114a(_0x133cf7,_0x1d97d0){return _0x306755(_0x133cf7,_0x1d97d0- -0x5db);}const _0x449ac5=[],_0x4a363c=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x3abbdb);function _0x32c7d6(_0xb6ce43,_0x405c2b){return _0x2b6441(_0xb6ce43,_0x405c2b-_0x5eb750._0xa449a9);}const _0x11eaa0=0x2*Math['PI']/_0x18d217,_0xbf251a=0x2*Math['PI']*0x10e/0x168;for(let _0x5690a3=0x0;_0x5690a3<_0x18d217;_0x5690a3++){const _0x548d4b=_0xbf251a-_0x11eaa0*_0x5690a3,_0x1c3a9a=new Cesium__namespace['Cartesian3'](Math[_0x32c7d6(_0xe92a85._0xa9ce1e,0x658)](_0x548d4b)*_0x12c03a,Math[_0x32c7d6(0xa0d,0x9aa)](_0x548d4b)*_0x12c03a,0x0);_0x449ac5['push'](Cesium__namespace['Matrix4']['multiplyByPoint'](_0x4a363c,_0x1c3a9a,new Cesium__namespace[(_0x32c7d6(_0xe92a85._0x45ccb6,_0xe92a85._0x452964))]()));}return _0x449ac5['push'](_0x449ac5[0x0]),_0x449ac5;}var WaterFS='in\x20vec3\x20v_positionMC;\x0ain\x20vec3\x20v_positionEC;\x0ain\x20vec2\x20v_st;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20vec3\x20normalECMars3D\x20=\x20normalize(czm_normal3D\x20*\x20czm_geodeticSurfaceNormal(v_positionMC,\x20vec3(0.0),\x20vec3(1.0)));\x0a\x20\x20\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20normalECMars3D\x20=\x20faceforward(normalECMars3D,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalECMars3D);\x0a\x20\x20\x20\x20#endif\x0a\x20\x20materialInput.s\x20=\x20v_st.s;\x0a\x20\x20materialInput.st\x20=\x20v_st;\x0a\x20\x20materialInput.str\x20=\x20vec3(v_st,\x200.0);\x0a\x20\x20materialInput.normalEC\x20=\x20normalECMars3D;\x0a\x20\x20materialInput.tangentToEyeMatrix\x20=\x20czm_eastNorthUpToEyeCoordinates(v_positionMC,\x20materialInput.normalEC);\x0a\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x0a\x20\x20\x20\x20#ifdef\x20FLAT\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20\x20\x20#else\x0a\x20\x20out_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20\x20\x20#endif\x0a}\x0a';class Water extends PolygonPrimitive{['_addedHook'](_0x3253e0){const _0x2a49bf={_0x2f100d:0x14d2,_0x492d4a:0x244,_0x582463:0x178c,_0x352dda:0x10ec,_0x1b5647:0x12fe,_0x5d0efe:0xdde,_0x3c0d23:0x1c95,_0x2f7b08:0xf67,_0x11930a:0x70e,_0x1ec34f:0x1293,_0x53ecee:0x111d,_0x206f7a:0x15c2,_0x410bc1:0x165a,_0x251f02:0x8cc,_0x4ef014:0x1ee8,_0x40c293:0x835,_0x1d2ea1:0xaf4,_0x18aa1b:0x1d08,_0x2c6d48:0x1796,_0xdf5e04:0xcd9,_0x3c2c35:0x5e9,_0x194ce2:0x231,_0x4bce91:0x486,_0x1ff8bb:0x134c,_0x527997:0xb31,_0x14754a:0x15b9,_0x42ce04:0x1046},_0x5d13b0={_0x496e9b:0x54c};function _0x5e5266(_0x3ef10c,_0x40a673){return _0x2b6441(_0x3ef10c,_0x40a673-_0x5d13b0._0x496e9b);}if(!this[_0x5e5266(0x6ef,0x440)]()||!this['positions']||this['positions'][_0x4322d4(0xf32,_0x2a49bf._0x2f100d)]===0x0)return;function _0x4322d4(_0x5bbfac,_0x3c24bf){return _0x2b6441(_0x5bbfac,_0x3c24bf-0x478);}const _0x2f8a98=this['_conversionStyle'](_0x3253e0);_0x2f8a98[_0x4322d4(_0x2a49bf._0x492d4a,0x932)]=Cesium__namespace['EllipsoidSurfaceAppearance']['VERTEX_FORMAT'],_0x3253e0['opacity']=_0x3253e0['opacity']??0.8;const _0x33ec65=_0x3253e0['opacity']*(_0x3253e0[_0x5e5266(0x2067,0x1769)]??0x1),_0x3f8904={'geometryInstances':this['_createGeometryInstance'](_0x2f8a98),'appearance':new Cesium__namespace[(_0x5e5266(_0x2a49bf._0x582463,_0x2a49bf._0x352dda))]({'aboveGround':![],'material':new Cesium__namespace[(_0x4322d4(_0x2a49bf._0x1b5647,_0x2a49bf._0x5d0efe))]({'fabric':{'type':'Water','uniforms':{'specularMap':_0x2f8a98[_0x4322d4(_0x2a49bf._0x3c0d23,0x14cd)]??Cesium__namespace['Material']['DefaultImageId'],'normalMap':_0x2f8a98[_0x4322d4(_0x2a49bf._0x2f7b08,_0x2a49bf._0x11930a)]??Cesium__namespace['Material']['DefaultImageId'],'frequency':_0x2f8a98[_0x5e5266(0x1d8c,0x1512)]??0x1f40,'animationSpeed':_0x2f8a98[_0x4322d4(0x1be8,_0x2a49bf._0x1ec34f)]??0.03,'amplitude':_0x2f8a98['amplitude']??0x5,'specularIntensity':_0x3253e0[_0x5e5266(0x13f0,_0x2a49bf._0x53ecee)]??0.8,'baseWaterColor':getCesiumColor(_0x3253e0[_0x4322d4(_0x2a49bf._0x206f7a,_0x2a49bf._0x410bc1)]??'#123e59')['withAlpha'](_0x3253e0[_0x4322d4(0xd9a,0xa20)]),'blendColor':getCesiumColor(_0x3253e0['blendColor']??_0x4322d4(0xcdc,_0x2a49bf._0x251f02))[_0x4322d4(_0x2a49bf._0x4ef014,0x180c)](_0x3253e0[_0x5e5266(_0x2a49bf._0x40c293,_0x2a49bf._0x1d2ea1)])}}}),'fragmentShaderSource':WaterFS,'translucent':_0x33ec65!==0x1}),'show':this[_0x4322d4(0x122f,0x146a)]};_0x3253e0['clampToGround']?(_0x3f8904['classificationType']=_0x3253e0['classificationType']??Cesium__namespace['ClassificationType'][_0x4322d4(0x7bb,0x10e0)],this['_primitive']=this['groundPrimitiveCollection']['add'](new Cesium__namespace[(_0x4322d4(_0x2a49bf._0x18aa1b,_0x2a49bf._0x2c6d48))](_0x3f8904)),this['_primitive']['_clampToGround']=!![]):this['_primitive']=this['primitiveCollection'][_0x5e5266(0x7e2,_0x2a49bf._0xdf5e04)](new Cesium__namespace['Primitive'](_0x3f8904));this['_primitive_outline']&&(this['_primitive_outline']['_clampToGround']?this[_0x5e5266(0xd3,_0x2a49bf._0x3c2c35)]['remove'](this['_primitive_outline']):this['primitiveCollection'][_0x4322d4(0x994,0x893)](this[_0x5e5266(_0x2a49bf._0x194ce2,_0x2a49bf._0x4bce91)]),delete this[_0x4322d4(-0x3ea,0x3b2)]);if(_0x3253e0[_0x5e5266(0x16ec,0x1915)]){const _0x569183=this[_0x5e5266(_0x2a49bf._0x1ff8bb,0xfd1)](_0x3253e0);this[_0x5e5266(_0x2a49bf._0x527997,0x486)]=this[_0x4322d4(0x1a2c,_0x2a49bf._0x14754a)](_0x569183);}_0x3253e0[_0x4322d4(-0x53,0x742)]&&this['_addLabel'](_0x3253e0['label']),this['_availability']&&this[_0x4322d4(_0x2a49bf._0x42ce04,0x1867)](this['_availability']);}[_0x306755(0x142a,0x1966)](_0xde5f8d,_0x58db42){const _0x249395={_0x2284a5:0x9bd,_0x41684b:0x188a,_0x44f506:0xe03};function _0x5cc930(_0x104863,_0x1bf0be){return _0x2b6441(_0x1bf0be,_0x104863-0x4d4);}_0xde5f8d['style'][_0x5cc930(0xab3,_0x249395._0x2284a5)]=_0x5cc930(_0x249395._0x41684b,0x191e);function _0x495503(_0x551166,_0x5537a4){return _0x2b6441(_0x5537a4,_0x551166-0x47c);}return create$5(_0x495503(_0x249395._0x44f506,0x358),_0xde5f8d);}}register$5('water',Water);class Mask extends PolygonPrimitive{get[_0x306755(0x15ea,0x16a5)](){const _0x186edb={_0xecc5aa:0xc4e,_0x1986d2:0x1460},_0x5e9fe7={_0xc020a0:0x9f},_0x133fb5={};_0x133fb5['xmin']=0x3c,_0x133fb5[_0x2ca8e2(0x39,0x2f3)]=0x8c,_0x133fb5[_0x2ca8e2(0x260,_0x186edb._0xecc5aa)]=0x0,_0x133fb5['ymax']=0x3c;function _0x2ca8e2(_0x14f36f,_0x1c9b6f){return _0x306755(_0x14f36f,_0x1c9b6f- -0x245);}function _0x3294f5(_0x472703,_0x322e0e){return _0x306755(_0x472703,_0x322e0e-_0x5e9fe7._0xc020a0);}return this['options'][_0x2ca8e2(0x196d,_0x186edb._0x1986d2)]??_0x133fb5;}get['positions'](){return this['_positions'];}set[_0x306755(0x1855,0x1999)](_0x14eb94){const _0xa34c05={_0x21dcdd:0x488,_0x253b66:0x231,_0x3ce91b:0x19ff,_0x499ba1:0x10bf,_0x1ecb2c:0xbf1,_0x4aa320:0x19,_0x450c87:0x8da,_0x204131:0xccb,_0x5a33da:0xb5c,_0x53c32a:0xb47,_0x6ff69d:0x818},_0x575566={_0x22fb50:0x5e6};if(!_0x14eb94)return;const _0xdfc499=[];if(_0x14eb94['length']>0x0){let _0x404971=![];if(Array['isArray'](_0x14eb94[0x0])&&_0x14eb94[0x0]['length']>0x0){const _0x5b2e94=_0x14eb94[0x0][0x0];if(Array['isArray'](_0x5b2e94)&&isNumber(_0x5b2e94[0x0]))_0x404971=!![];else(_0x5b2e94 instanceof Cesium__namespace['Cartesian3']||_0x5b2e94 instanceof LngLatPoint)&&(_0x404971=!![]);}if(_0x404971)for(let _0x4c26be=0x0,_0x43df2c=_0x14eb94[_0x47d323(0x1033,0x1359)];_0x4c26be<_0x43df2c;_0x4c26be++){_0xdfc499[_0x3859d4(0x804,0xb3)](new Cesium__namespace[(_0x47d323(-_0xa34c05._0x21dcdd,_0xa34c05._0x253b66))](LngLatArray[_0x47d323(0x55f,0x9e9)](_0x14eb94[_0x4c26be])));}else _0xdfc499['push'](new Cesium__namespace['PolygonHierarchy'](LngLatArray['toCartesians'](_0x14eb94)));}function _0x47d323(_0x2dca0d,_0x10c2d6){return _0x2b6441(_0x2dca0d,_0x10c2d6-0x2ff);}const _0xef7a5=this[_0x3859d4(_0xa34c05._0x3ce91b,_0xa34c05._0x499ba1)],_0x3826d7=[[_0xef7a5['xmin'],_0xef7a5[_0x47d323(0x8f7,0x8da)]],[_0xef7a5['xmin'],_0xef7a5['ymin']],[_0xef7a5[_0x3859d4(-0x28c,-0xae)],_0xef7a5[_0x47d323(0x4e0,_0xa34c05._0x1ecb2c)]],[_0xef7a5['xmax'],_0xef7a5['ymax']],[_0xef7a5[_0x47d323(0x145f,0x9db)],_0xef7a5[_0x47d323(_0xa34c05._0x4aa320,_0xa34c05._0x450c87)]]];this['_hierarchy']=new Cesium__namespace[(_0x47d323(-0x1bf,0x231))](LngLatArray['toCartesians'](_0x3826d7),_0xdfc499);function _0x3859d4(_0x4f8ec9,_0x6ae594){return _0x306755(_0x4f8ec9,_0x6ae594- -_0x575566._0x22fb50);}super['positions']=this['_hierarchy']['positions'],this[_0x47d323(_0xa34c05._0x204131,_0xa34c05._0x5a33da)]&&this['_positions']&&(this[_0x3859d4(_0xa34c05._0x53c32a,_0xa34c05._0x6ff69d)]['positions']=this['_positions']);}[_0x306755(0xda1,0x9fb)](){const _0x38566e=super['_getPolylineOutlinePositions']();return _0x38566e['length']>0x1&&_0x38566e['shift'](),_0x38566e;}[_0x306755(0xa27,0xce7)](_0x1e1f2c,_0x52f133){const _0x12d6bc={_0x41229d:0x12be,_0x21dd8c:0xa02,_0x539a79:0xb3a,_0x4b6942:0x1db,_0x891859:0x14ff,_0x78830b:0x1070,_0x5afc1a:0x16dc,_0x2412de:0x5e4},_0x34edf4={_0x30f406:0x598};function _0x4ebfa6(_0x1ec1bc,_0x3b27cd){return _0x306755(_0x1ec1bc,_0x3b27cd- -_0x34edf4._0x30f406);}const _0x26fb0d=super['_createGeometryInstance'](_0x1e1f2c,_0x52f133);if(!this['style']['global'])return _0x26fb0d;const _0x238339=this['extent'],_0x4ffa43=179.999,_0x14bb64=89.999;function _0x577725(_0x2c7026,_0x24efa7){return _0x306755(_0x24efa7,_0x2c7026-0x7d);}const _0xf9802d=this[_0x577725(0x11c8,0x1636)](_0x1e1f2c,Cesium__namespace[_0x4ebfa6(_0x12d6bc._0x41229d,_0x12d6bc._0x21dd8c)][_0x577725(_0x12d6bc._0x539a79,0xeed)](-_0x4ffa43,-_0x14bb64,0x0,_0x14bb64)),_0x460844=this[_0x4ebfa6(0x912,0xbb3)](_0x1e1f2c,Cesium__namespace[_0x4ebfa6(_0x12d6bc._0x4b6942,0xa02)]['fromDegrees'](0x0,-_0x14bb64,_0x238339['xmin'],_0x14bb64)),_0xa5e06f=this[_0x4ebfa6(_0x12d6bc._0x891859,0xbb3)](_0x1e1f2c,Cesium__namespace['Rectangle']['fromDegrees'](_0x238339['xmax'],-_0x14bb64,_0x4ffa43,_0x14bb64)),_0xcb35be=this[_0x4ebfa6(_0x12d6bc._0x78830b,0xbb3)](_0x1e1f2c,Cesium__namespace['Rectangle']['fromDegrees'](_0x238339['xmin'],-_0x14bb64,_0x238339[_0x577725(0x5b5,0xec2)],_0x238339['ymin'])),_0x472ea6=this['_createRectangleGeometry'](_0x1e1f2c,Cesium__namespace['Rectangle'][_0x4ebfa6(0xbb1,0x525)](_0x238339[_0x577725(0xcfa,_0x12d6bc._0x5afc1a)],_0x238339[_0x4ebfa6(0xe9,_0x12d6bc._0x2412de)],_0x238339['xmax'],_0x14bb64));return[_0x26fb0d,_0xf9802d,_0x460844,_0xa5e06f,_0xcb35be,_0x472ea6];}[_0x2b6441(0x949,0xbaa)](_0x1a57d6,_0x1ebf5b){const _0x414614={_0x3bf3be:0xeb5,_0x40b939:0x5a0},_0x1d8e0f={_0x1a4230:0x542},_0x730187={..._0x1a57d6};_0x730187[_0x3afa70(_0x414614._0x3bf3be,_0x414614._0x40b939)]=_0x1ebf5b;function _0x3afa70(_0x559afd,_0x123ac8){return _0x2b6441(_0x123ac8,_0x559afd-0x3d);}function _0x214516(_0x17993e,_0x2c2a32){return _0x306755(_0x17993e,_0x2c2a32- -_0x1d8e0f._0x1a4230);}return new Cesium__namespace[(_0x3afa70(0x1258,0x149c))]({'geometry':new Cesium__namespace['RectangleGeometry'](_0x730187),'attributes':this['_createGeometryInstanceAttributes'](_0x1a57d6)});}['_createAppearance'](_0x1d8a22,_0x3a7573,_0x5d3cbc){const _0x2d99f6={_0x5a9c11:0x1394,_0x202b2d:0xf7a},_0x25be5b={_0x371a4f:0x441};_0x1d8a22['vertexFormat']=Cesium__namespace[_0x4459ba(0xfe1,0x1403)][_0xb9e9cc(_0x2d99f6._0x5a9c11,_0x2d99f6._0x202b2d)];const _0x432515={..._0x1d8a22};function _0x4459ba(_0x3ea776,_0x37f93f){return _0x2b6441(_0x37f93f,_0x3ea776-_0x25be5b._0x371a4f);}function _0xb9e9cc(_0x519032,_0x1d22d0){return _0x306755(_0x519032,_0x1d22d0-0xb);}return new Cesium__namespace['EllipsoidSurfaceAppearance'](_0x432515);}}register$5('mask',Mask);var DiffuseWallGlowVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec3\x20normal;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0aout\x20vec2\x20v_st;\x0aout\x20vec3\x20v_normalEC;\x0aout\x20vec3\x20v_positionEC;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20p\x20=\x20czm_translateRelativeToEye(position3DHigh,\x20position3DLow);\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20v_st\x20=\x20st;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a}\x0a',DiffuseWallGlowFS=_0x2b6441(0xe32,0xa8f);const _0x13fc11={};_0x13fc11['diffHeight']=0x3e8,_0x13fc11[_0x2b6441(0x128f,0x8d9)]=0xa,_0x13fc11[_0x306755(0x117f,0x6cc)]=0x1;const DEF_STYLE$n=_0x13fc11;class DiffuseWall extends BasePolyPrimitive{constructor(_0x2868cd={}){const _0x112389={_0x5b7138:0xa23,_0x16493d:0x6b0,_0x2e4428:0x1c13,_0xdea9d:0x93c},_0x1280ff={_0x16158b:0xe6},_0x153f28={_0x3a1487:0x4c2};function _0x50e1c5(_0x2d89b5,_0x10e840){return _0x306755(_0x2d89b5,_0x10e840- -_0x153f28._0x3a1487);}_0x2868cd[_0x3599c0(0x555,0x93c)]={...DEF_STYLE$n,..._0x2868cd['style']};function _0x3599c0(_0x8bcb9d,_0x338a04){return _0x306755(_0x8bcb9d,_0x338a04-_0x1280ff._0x16158b);}super(_0x2868cd);if(_0x2868cd['positions'])this['center']=this[_0x3599c0(0x13c2,0x159e)];else _0x2868cd['position']&&(this['position']=_0x2868cd['position'],this['_isCircle']=!![]);this[_0x50e1c5(0x46b,0x63c)]=Cesium__namespace[_0x50e1c5(_0x112389._0x5b7138,_0x112389._0x16493d)][_0x3599c0(_0x112389._0x2e4428,0x13f0)](0x1),this['_maxScale']=_0x2868cd[_0x3599c0(0x2b8,_0x112389._0xdea9d)]['maxScale']||0x1;}get['czmObject'](){function _0x4b77d0(_0x2790a0,_0x3f09fd){return _0x2b6441(_0x3f09fd,_0x2790a0-0x1ef);}return this[_0x4b77d0(0xb95,0xca7)];}get['center'](){const _0x2d0d8f={_0x1432a7:0x955};function _0x374633(_0x2306a4,_0x54d345){return _0x306755(_0x54d345,_0x2306a4- -0x373);}!this[_0x374633(0x374,0xcbf)]&&(this['_center']=this['centerOfMass']);function _0x57292f(_0x1112f4,_0x5c34c7){return _0x306755(_0x1112f4,_0x5c34c7- -0x425);}return this[_0x57292f(_0x2d0d8f._0x1432a7,0x2c2)];}set['center'](_0x8ddd85){this['_center']=_0x8ddd85;}get[_0x306755(0x84a,0x11f7)](){const _0xf49713={_0xb4b75b:0x10f};function _0x5ce14d(_0x1361c5,_0x20714c){return _0x306755(_0x20714c,_0x1361c5- -0x5d8);}return this[_0x5ce14d(_0xf49713._0xb4b75b,-0x924)];}set['position'](_0x489681){const _0x157f60={_0x20889d:0xe76};function _0x183e6c(_0x54f5af,_0x1715f5){return _0x306755(_0x1715f5,_0x54f5af- -0x592);}function _0x5abe49(_0x466c85,_0x8427b9){return _0x306755(_0x466c85,_0x8427b9-0xbe);}this[_0x5abe49(0x1128,0x7a5)]=LngLatPoint[_0x5abe49(0x1cd1,0x188e)](_0x489681)['toCartesian'](),this[_0x5abe49(0x1208,_0x157f60._0x20889d)]();}get[_0x306755(0xb3e,0x6c6)](){return this['style']['radius'];}set['radius'](_0x59fc12){const _0x1bae27={_0x123d20:0x10db,_0x2085fa:0xe2b};this['style']['radius']=_0x59fc12;function _0x39c6ca(_0x499c06,_0x536309){return _0x2b6441(_0x499c06,_0x536309-0x614);}this[_0x39c6ca(_0x1bae27._0x123d20,_0x1bae27._0x2085fa)]();}['_addedHook'](_0x4a73fe){const _0x5acaaf={_0x2e606e:0x1e4a,_0x23fd9e:0x5c7,_0x2e0c1f:0x78a,_0x4a97cf:0x35e,_0x256ec8:0x35e,_0x2a42c2:0x2b1,_0xad70a4:0xc56,_0x285af7:0xfa8,_0x1450e0:0x79c,_0x4118e2:0x54d,_0x2aabfa:0x6f7,_0x4d299f:0x2311,_0x530c4e:0x174a,_0x375602:0x746,_0x168482:0x7f9},_0x10ae65={_0x4a35ce:0x33b},_0x589e16={_0x5dac62:0x692},_0x4c63d5=this[_0x141e49(_0x5acaaf._0x2e606e,0x1a8a)];if(!this[_0x2012e0(0xe4d,0x1258)]||!_0x4c63d5||_0x4c63d5['length']===0x0)return;const _0x113e87=addPositionsHeight(this['positions'],_0x4a73fe['diffHeight']);this['center']=this[_0x141e49(0x1548,0x15a9)];const _0x3f66b6=[],_0x2332fe=[],_0x718bb9=[],_0x88f0db=[];for(let _0xa940a8=0x0,_0xf5115e=_0x4c63d5['length'];_0xa940a8<_0xf5115e;_0xa940a8++){const _0x1c68b9=(_0xa940a8+0x1)%_0xf5115e;_0x3f66b6[_0x2012e0(_0x5acaaf._0x23fd9e,0x35e)](...[_0x4c63d5[_0xa940a8]['x'],_0x4c63d5[_0xa940a8]['y'],_0x4c63d5[_0xa940a8]['z']]),_0x3f66b6['push'](...[_0x4c63d5[_0x1c68b9]['x'],_0x4c63d5[_0x1c68b9]['y'],_0x4c63d5[_0x1c68b9]['z']]),_0x3f66b6[_0x141e49(-0xab,0x78a)](...[_0x113e87[_0x1c68b9]['x'],_0x113e87[_0x1c68b9]['y'],_0x113e87[_0x1c68b9]['z']]),_0x3f66b6['push'](...[_0x113e87[_0xa940a8]['x'],_0x113e87[_0xa940a8]['y'],_0x113e87[_0xa940a8]['z']]),_0x88f0db[_0x141e49(0x208,_0x5acaaf._0x2e0c1f)](...[0x0,0x0,0x1]),_0x88f0db[_0x2012e0(0x6fa,_0x5acaaf._0x4a97cf)](...[0x0,0x0,0x1]),_0x88f0db[_0x2012e0(0x4cb,_0x5acaaf._0x256ec8)](...[0x0,0x0,0x1]),_0x88f0db['push'](...[0x0,0x0,0x1]),_0x2332fe['push'](...[0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1]);const _0x517872=_0xa940a8*0x4,_0x519bb7=_0x517872+0x1,_0xf2d39b=_0x517872+0x2,_0x2c05d6=_0x517872+0x3;_0x718bb9[_0x2012e0(_0x5acaaf._0x2a42c2,0x35e)](...[_0xf2d39b,_0x2c05d6,_0x517872,_0x517872,_0x519bb7,_0xf2d39b]);}const _0x189937=new Float64Array(_0x3f66b6),_0x2ab03b=new Cesium__namespace[(_0x2012e0(0x143b,0x1481))]({'id':this['id'],'geometry':new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace[(_0x141e49(0x774,0xbc8))]({'componentDatatype':Cesium__namespace['ComponentDatatype'][_0x2012e0(0x1066,_0x5acaaf._0xad70a4)],'componentsPerAttribute':0x3,'values':_0x189937}),'normal':new Cesium__namespace[(_0x2012e0(_0x5acaaf._0x285af7,_0x5acaaf._0x1450e0))]({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array(_0x88f0db)}),'st':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(_0x2332fe)})},'indices':new Uint16Array(_0x718bb9),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace[_0x2012e0(_0x5acaaf._0x4118e2,_0x5acaaf._0x2aabfa)][_0x141e49(-0x3e6,0x67d)](_0x189937)})}),_0x1bc5fc=getColorByStyle(_0x4a73fe),_0x2ac1ff={};function _0x141e49(_0x36fe27,_0x17f80a){return _0x2b6441(_0x36fe27,_0x17f80a-_0x589e16._0x5dac62);}_0x2ac1ff['color']=_0x1bc5fc,_0x2ac1ff[_0x2012e0(0x1701,0x1483)]=0x1;function _0x2012e0(_0x299fda,_0x21720f){return _0x306755(_0x299fda,_0x21720f- -_0x10ae65._0x4a35ce);}const _0x7069fc={};_0x7069fc[_0x141e49(0x1ad5,0x130b)]=_0x2ac1ff,_0x7069fc['source']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20vec4\x20color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20globalAlpha;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20xh_getMaterial(vec2\x20st){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20alpha\x20=\x20pow(1.\x20-\x20st.t,\x201.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20colorNew\x20=\x20vec4(color.rgb\x20*\x20color.a,\x20alpha*globalAlpha);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20colorNew;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}';const _0x4b4ad5={};_0x4b4ad5[_0x141e49(_0x5acaaf._0x4d299f,0x19cf)]=!![],_0x4b4ad5[_0x141e49(_0x5acaaf._0x530c4e,0x131c)]=_0x7069fc,this[_0x141e49(0x109f,0x1038)]=new Cesium__namespace['Primitive']({'geometryInstances':_0x2ab03b,'appearance':new Cesium__namespace[(_0x141e49(_0x5acaaf._0x375602,_0x5acaaf._0x168482))]({'material':new Cesium__namespace['Material'](_0x4b4ad5),'vertexShaderSource':DiffuseWallGlowVS,'fragmentShaderSource':DiffuseWallGlowFS}),'asynchronous':![],'shadows':this['style']['shadows'],'show':this['show']}),this['primitiveCollection']['add'](this['_primitive']),this['bindUpdateEvent'](),_0x4a73fe['label']&&this['_addLabel'](_0x4a73fe['label']),this['_availability']&&this['_updateAvailabilityHook'](this[_0x141e49(0x11a1,0xb78)]);}['update'](_0x2f7194){const _0xd11a8b={_0x5c323c:0x14ed,_0x135d35:0x13a4,_0xe0128e:0xfa3,_0x40c47e:0x1116,_0x1bba89:0x8c2,_0x10de57:0x17bc,_0x11bb3d:0x1aae,_0x27bd57:0xa68},_0x386ab2={_0x21bc04:0x96},_0x2e8175={_0x2f1262:0x60d};function _0x2a3320(_0x53cde9,_0x6fde17){return _0x2b6441(_0x53cde9,_0x6fde17-_0x2e8175._0x2f1262);}function _0x211d89(_0x529dc1,_0x313e4a){return _0x306755(_0x313e4a,_0x529dc1- -_0x386ab2._0x21bc04);}if(this[_0x211d89(0xeb1,_0xd11a8b._0x5c323c)]&&this['show']){const _0x32e80b=_0x2f7194[_0x2a3320(_0xd11a8b._0x135d35,_0xd11a8b._0xe0128e)]/0x3e8*this[_0x2a3320(_0xd11a8b._0x40c47e,_0xd11a8b._0x1bba89)]['speed'];let _0x2a3ee4=_0x32e80b-Math[_0x211d89(_0xd11a8b._0x10de57,_0xd11a8b._0x11bb3d)](_0x32e80b);_0x2a3ee4=_0x2a3ee4<0.01?0.01:_0x2a3ee4,this['_mScale'][0x0]=this[_0x211d89(_0xd11a8b._0x27bd57,0xe92)][0x5]=_0x2a3ee4*this['_maxScale'],this['_mScale'][0xa]=1.1-_0x2a3ee4,this['center']&&(this['_primitive']['modelMatrix']=scaleXYZ(this['center'],this['_mScale']));}}[_0x2b6441(0xae,0x817)](){const _0x25d80f={_0x5403ed:0x15bc,_0x105dac:0x5bc};this['_noUpdateEditing']=!![],this[_0x30a3fc(0xea1,_0x25d80f._0x5403ed)]=getEllipseOuterPositions({'position':this[_0x40d5fb(0x1a0,0x3ef)],'radius':this['style']['radius']??0x64,'count':this['style']['count']??0x32});function _0x40d5fb(_0xf1fa71,_0x16aa52){return _0x306755(_0x16aa52,_0xf1fa71- -0x55c);}function _0x30a3fc(_0x2281d3,_0x437fe8){return _0x2b6441(_0x2281d3,_0x437fe8-0x1c4);}this[_0x40d5fb(0x4c2,-_0x25d80f._0x105dac)]=![];}[_0x306755(0x1e2d,0x1966)](_0x122016,_0x18eed0){const _0x37c9bc={_0x4d8a2e:0x1dfc},_0x18b662={_0x5a0324:0x1a1};function _0x3a41fb(_0x2502fd,_0x53aa43){return _0x2b6441(_0x2502fd,_0x53aa43-_0x18b662._0x5a0324);}return this['_isCircle']?create$5('circle',_0x122016):(_0x122016['style'][_0x3a41fb(_0x37c9bc._0x4d8a2e,0x1399)]=!![],create$5('wall',_0x122016));}[_0x2b6441(0xf1d,0x8e7)](_0x59c721){const _0x421a13={_0x2c02da:0x387,_0x15e061:0x31f,_0x130cbc:0x50d};function _0x554f18(_0x2a3544,_0x3e9ea1){return _0x306755(_0x2a3544,_0x3e9ea1- -0x513);}function _0x46c87c(_0x4d1466,_0x101846){return _0x2b6441(_0x4d1466,_0x101846-0x5f2);}this['_isCircle']&&Cesium__namespace[_0x46c87c(0x1363,0x1803)](_0x59c721['radius'])&&(this[_0x46c87c(_0x421a13._0x2c02da,0x717)]=_0x59c721['radius']),Cesium__namespace['defined'](_0x59c721['diffHeight'])&&(this['style'][_0x554f18(-_0x421a13._0x15e061,_0x421a13._0x130cbc)]=_0x59c721['diffHeight']);}}register$5('diffuseWall',DiffuseWall);function scaleXYZ(_0x5d417f,_0x15fdb0){const _0x7f7abe={_0x31a5d9:0xce2},_0x3e69d2=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x5d417f),_0x591f7d=Cesium__namespace['Matrix4'][_0x1f2d8d(0x3e0,0x46e)](_0x3e69d2,new Cesium__namespace[(_0x15547a(0x12da,0xce2))]());function _0x1f2d8d(_0x159bff,_0xa34de2){return _0x2b6441(_0xa34de2,_0x159bff-0x404);}const _0x3b1ccf=Cesium__namespace[_0x15547a(0x11ee,_0x7f7abe._0x31a5d9)][_0x1f2d8d(0xd8c,0x9e4)](_0x15fdb0,_0x591f7d,new Cesium__namespace['Matrix4']());function _0x15547a(_0x3fb1e8,_0x114862){return _0x2b6441(_0x3fb1e8,_0x114862-0x711);}return Cesium__namespace[_0x15547a(0xede,0xce2)]['multiply'](_0x3e69d2,_0x3b1ccf,new Cesium__namespace['Matrix4']());}var ScrollWallGlowVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec3\x20normal;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0aout\x20vec2\x20v_st;\x0aout\x20vec3\x20v_normalEC;\x0aout\x20vec3\x20v_positionEC;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20p\x20=\x20czm_translateRelativeToEye(position3DHigh,\x20position3DLow);\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20v_st\x20=\x20st;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a}\x0a',ScrollWallGlowFS='in\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0ain\x20vec2\x20v_st;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20vec3\x20normalECMars3D\x20=\x20normalize(v_normalEC);\x0a\x20\x20\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20normalECMars3D\x20=\x20faceforward(normalECMars3D,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalECMars3D);\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.normalEC\x20=\x20normalECMars3D;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20materialInput.st\x20=\x20v_st;\x0a\x0a\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a}\x0a',ScrollWallGlowMaterial='uniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20cmi)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(cmi);\x0a\x20\x20vec2\x20st\x20=\x20cmi.st;\x0a\x20\x20float\x20t\x20=\x20fract(speed\x20*\x20czm_frameNumber\x20/\x201000.0)\x20*\x20direction;\x0a\x20\x20vec2\x20st1\x20=\x20vec2(st.s,\x20fract(st.t\x20-\x20t));\x0a\x20\x20vec4\x20color\x20=\x20vec4(0.,\x200.,\x200.,\x200.);\x0a\x20\x20float\x20tt\x20=\x200.5\x20-\x20abs(0.5\x20-\x20st1.t);\x0a\x20\x20//\x20float\x20ss\x20=\x20st1.s;\x0a\x20\x20float\x20alphaMars3D\x20=\x20tt\x20*\x202.;\x0a\x20\x20color\x20=\x20vec4(u_color.rgb\x20*\x20u_color.a,\x20alphaMars3D\x20*\x201.2);\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a',ScrollWallGlowMaterial2='uniform\x20float\x20globalAlpha;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20cmi)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(cmi);\x0a\x20\x20vec2\x20st\x20=\x20cmi.st;\x0a\x20\x20float\x20t\x20=\x20fract(speed\x20*\x20czm_frameNumber\x20/\x201000.0)\x20*\x20direction;\x0a\x20\x20vec2\x20st1\x20=\x20vec2(fract(st.s\x20-\x20t),\x20st.t);\x0a\x20\x20vec4\x20color\x20=\x20vec4(0.,\x200.,\x200.,\x200.);\x0a\x20\x20float\x20alpha\x20=\x201.\x20-\x20st.t;\x0a\x20\x20float\x20vMars3D\x20=\x20fract(st1.s\x20/\x200.25);\x0a\x20\x20alpha\x20*=\x20sin(vMars3D\x20*\x203.1415926);\x0a\x20\x20color\x20=\x20vec4(u_color.rgb\x20*\x20u_color.a,\x20alpha\x20*\x201.2);\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x20\x20material.alpha\x20=\x20color.a\x20*\x20globalAlpha;\x0a\x20\x20return\x20material;\x0a}\x0a';const _0x5232c2={};_0x5232c2['diffHeight']=0x64,_0x5232c2['speed']=0xa,_0x5232c2['style']=0x1;const DEF_STYLE$m=_0x5232c2;class ScrollWall extends BasePolyPrimitive{constructor(_0xf0157d={}){const _0x381355={_0x1f64a5:0xdfa};_0xf0157d['style']={...DEF_STYLE$m,..._0xf0157d[_0x2aa5c6(0x95a,_0x381355._0x1f64a5)]};function _0x2aa5c6(_0x119f5d,_0x25e72d){return _0x306755(_0x25e72d,_0x119f5d-0x104);}super(_0xf0157d);}get['czmObject'](){return this['_primitive'];}get['center'](){return this['centerOfMass'];}[_0x2b6441(0x1b8,0x3fd)](_0x256d36){const _0x3d5f27={_0x27cb30:0x1971,_0x3400fd:0x15b4,_0x40f78f:0x671,_0x548417:0x68a,_0x1b56c6:0x652,_0x4a81b3:0x2006,_0x4f5c5e:0x1a3,_0x6e6c53:0xaaf,_0x5b5d82:0x1132,_0xc5fc31:0x1545,_0x5681d1:0xe53,_0x3f4189:0x17c2,_0xa987d9:0x455,_0xc182f9:0xe33,_0xa194ba:0x1dac,_0x2cc3b7:0x48b,_0x29baeb:0xf1f},_0xed5f40={_0x115d57:0x579},_0x5c63c=this[_0x36162a(0x12e1,_0x3d5f27._0x27cb30)];if(!this['show']||!_0x5c63c||_0x5c63c[_0x37cdd3(0xe14,_0x3d5f27._0x3400fd)]===0x0)return;function _0x37cdd3(_0x5b0619,_0xad30a0){return _0x2b6441(_0x5b0619,_0xad30a0-0x55a);}const _0x1b2e9e=addPositionsHeight(_0x5c63c,_0x256d36['diffHeight']),_0x5128ff=[],_0x24aeaa=[],_0x46f344=[],_0x255ea6=[];for(let _0x1eb92e=0x0,_0x423ff3=_0x5c63c[_0x37cdd3(0xb1d,_0x3d5f27._0x3400fd)];_0x1eb92e<_0x423ff3;_0x1eb92e++){let _0x4d6336=_0x1eb92e+0x1;_0x4d6336===_0x423ff3&&(_0x4d6336=0x0);_0x5128ff['push'](...[_0x5c63c[_0x1eb92e]['x'],_0x5c63c[_0x1eb92e]['y'],_0x5c63c[_0x1eb92e]['z']]),_0x5128ff[_0x37cdd3(0xb39,0x652)](...[_0x5c63c[_0x4d6336]['x'],_0x5c63c[_0x4d6336]['y'],_0x5c63c[_0x4d6336]['z']]),_0x5128ff['push'](...[_0x1b2e9e[_0x4d6336]['x'],_0x1b2e9e[_0x4d6336]['y'],_0x1b2e9e[_0x4d6336]['z']]),_0x5128ff[_0x36162a(0xc83,0x671)](...[_0x1b2e9e[_0x1eb92e]['x'],_0x1b2e9e[_0x1eb92e]['y'],_0x1b2e9e[_0x1eb92e]['z']]),_0x255ea6[_0x36162a(0xd11,0x671)](...[0x0,0x0,0x1]),_0x255ea6['push'](...[0x0,0x0,0x1]),_0x255ea6[_0x36162a(0xcb5,_0x3d5f27._0x40f78f)](...[0x0,0x0,0x1]),_0x255ea6[_0x37cdd3(_0x3d5f27._0x548417,_0x3d5f27._0x1b56c6)](...[0x0,0x0,0x1]),_0x24aeaa['push'](...[0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1]);const _0x3b11fb=_0x1eb92e*0x4,_0x18726c=_0x3b11fb+0x1,_0x2c2bf9=_0x3b11fb+0x2,_0x5acfa0=_0x3b11fb+0x3;_0x46f344['push'](...[_0x3b11fb,_0x18726c,_0x2c2bf9,_0x2c2bf9,_0x5acfa0,_0x3b11fb]);}const _0xfb130b=new Float64Array(_0x5128ff),_0x162da9=new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':new Cesium__namespace[(_0x36162a(_0x3d5f27._0x4a81b3,0x17e9))]({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype'][_0x37cdd3(0xd08,0xf4a)],'componentsPerAttribute':0x3,'values':_0xfb130b}),'normal':new Cesium__namespace[(_0x36162a(_0x3d5f27._0x4f5c5e,_0x3d5f27._0x6e6c53))]({'componentDatatype':Cesium__namespace[_0x36162a(_0x3d5f27._0x5b5d82,_0x3d5f27._0xc5fc31)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array(_0x255ea6)}),'st':new Cesium__namespace[(_0x36162a(0x49a,_0x3d5f27._0x6e6c53))]({'componentDatatype':Cesium__namespace[_0x37cdd3(0x19d9,0x1526)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(_0x24aeaa)})},'indices':new Uint16Array(_0x46f344),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace[_0x36162a(0xc18,0xa0a)]['fromVertices'](_0xfb130b)})}),_0x36fe85=getColorByStyle(_0x256d36),_0x17003c=!![],_0x34a3ac={};_0x34a3ac[_0x37cdd3(_0x3d5f27._0x5681d1,_0x3d5f27._0x3f4189)]=_0x36fe85,_0x34a3ac['speed']=_0x256d36[_0x37cdd3(_0x3d5f27._0xa987d9,_0x3d5f27._0xc182f9)],_0x34a3ac['direction']=_0x256d36['reverse']?0x1:-0x1,_0x34a3ac[_0x36162a(_0x3d5f27._0xa194ba,0x1796)]=0x1,this['_primitive']=new Cesium__namespace['Primitive']({'geometryInstances':_0x162da9,'appearance':new Cesium__namespace['MaterialAppearance']({'material':new Cesium__namespace[(_0x36162a(0x123d,0xedf))]({'translucent':_0x17003c,'fabric':{'uniforms':_0x34a3ac,'source':this[_0x37cdd3(0x9c,_0x3d5f27._0x2cc3b7)]()}}),'vertexShaderSource':ScrollWallGlowVS,'fragmentShaderSource':ScrollWallGlowFS}),'asynchronous':![],'shadows':_0x256d36['shadows'],'show':this['show']});function _0x36162a(_0x36210e,_0x13f313){return _0x2b6441(_0x36210e,_0x13f313-_0xed5f40._0x115d57);}this['primitiveCollection']['add'](this[_0x36162a(0xb2e,_0x3d5f27._0x29baeb)]),_0x256d36['label']&&this['_addLabel'](_0x256d36['label']),this['_availability']&&this['_updateAvailabilityHook'](this[_0x37cdd3(0x14d7,0xa40)]);}['createShader'](){const _0x4db23d={_0x1facf3:0x6f2},_0x4b6c43={_0x88be36:0x164};function _0x159485(_0x212843,_0x417b68){return _0x306755(_0x212843,_0x417b68- -_0x4b6c43._0x88be36);}return this[_0x159485(-0x25,_0x4db23d._0x1facf3)]['style']===0x1?ScrollWallGlowMaterial:ScrollWallGlowMaterial2;}['_getDrawEntityClass'](_0x43b501,_0x52a04c){const _0x54c0eb={_0x21a88f:0x928};_0x43b501[_0x5c8cd8(0xbb6,_0x54c0eb._0x21a88f)]['closure']=!![];function _0x5c8cd8(_0x138f27,_0x1fba67){return _0x2b6441(_0x138f27,_0x1fba67-0x673);}return create$5('wall',_0x43b501);}['_updateStyleByEdit'](_0x554338){const _0x188f26={_0x2b82c8:0xf8};function _0x670aac(_0x593129,_0xf6bd43){return _0x306755(_0x593129,_0xf6bd43-_0x188f26._0x2b82c8);}Cesium__namespace[_0x670aac(0x1ac4,0x18aa)](_0x554338['diffHeight'])&&(this['style']['diffHeight']=_0x554338['diffHeight']);}}register$5('scrollWall',ScrollWall);const Cartesian3$2=Cesium__namespace['Cartesian3'],defined$2=Cesium__namespace['defined'],CesiumMath$1=Cesium__namespace['Math'],Matrix3=Cesium__namespace[_0x2b6441(0x9f6,0xe0f)],PolylineVolumeGeometryLibrary=Cesium__namespace[_0x2b6441(-0x335,0x571)],Quaternion=Cesium__namespace['Quaternion'],ThickWallGeometryLibrary={},scratch1=new Cartesian3$2(),scratch2=new Cartesian3$2(),scratch3=new Cartesian3$2(),scratch4=new Cartesian3$2(),scaleArray2=[new Cartesian3$2(),new Cartesian3$2()],cartesian1=new Cartesian3$2(),cartesian2=new Cartesian3$2(),cartesian3=new Cartesian3$2(),cartesian4=new Cartesian3$2(),cartesian5=new Cartesian3$2(),cartesian6=new Cartesian3$2(),cartesian7=new Cartesian3$2(),cartesian8=new Cartesian3$2(),cartesian9=new Cartesian3$2(),cartesian10$1=new Cartesian3$2(),quaterion=new Quaternion(),rotMatrix=new Matrix3();function cartesian3ToArray(_0x5df86a){const _0x2088ee=[];_0x5df86a[_0x2ce0ed(0xac2,0xc9a)](_0x3119c2=>{const _0x1f526b={_0x1cef43:0x14e};function _0x1f04dd(_0x3dff29,_0x33afd7){return _0x2ce0ed(_0x3dff29- -_0x1f526b._0x1cef43,_0x33afd7);}_0x2088ee['push'](_0x3119c2['x']),_0x2088ee['push'](_0x3119c2['y']),_0x2088ee[_0x1f04dd(0x3cd,-0x3a0)](_0x3119c2['z']);});function _0x2ce0ed(_0x5c1bc0,_0x202429){return _0x2b6441(_0x202429,_0x5c1bc0-0x423);}return _0x2088ee;}function computeRoundCorner(_0x1edfa0,_0x550c40,_0x24a56e,_0x5f3c69){const _0x51fb0e={_0x435c75:0xffe,_0x1b072d:0xb16,_0x2d6266:0xb93,_0xb60881:0x64c,_0x7ed82a:0x68b,_0x3ee315:0x102e},_0x21cc40={_0x59ac55:0x2bc},_0x250994=Cartesian3$2['angleBetween'](Cartesian3$2['subtract'](_0x550c40,_0x1edfa0,scratch1),Cartesian3$2[_0xae3aeb(_0x51fb0e._0x435c75,_0x51fb0e._0x1b072d)](_0x24a56e,_0x1edfa0,scratch2)),_0x4c6c86=0x1,_0x1f8a13=_0x4c6c86*0x3,_0x40b9af=new Array(_0x1f8a13);_0x40b9af[_0x1f8a13-0x3]=_0x24a56e['x'],_0x40b9af[_0x1f8a13-0x2]=_0x24a56e['y'],_0x40b9af[_0x1f8a13-0x1]=_0x24a56e['z'];function _0x4f5a9d(_0x555b3a,_0xcb88fc){return _0x306755(_0x555b3a,_0xcb88fc- -_0x21cc40._0x59ac55);}let _0x10b51a;_0x5f3c69?_0x10b51a=Matrix3['fromQuaternion'](Quaternion['fromAxisAngle'](Cartesian3$2['negate'](_0x1edfa0,scratch1),_0x250994/_0x4c6c86,quaterion),rotMatrix):_0x10b51a=Matrix3['fromQuaternion'](Quaternion['fromAxisAngle'](_0x1edfa0,_0x250994/_0x4c6c86,quaterion),rotMatrix);let _0x584838=0x0;_0x550c40=Cartesian3$2[_0x4f5a9d(_0x51fb0e._0x2d6266,_0x51fb0e._0xb60881)](_0x550c40,scratch1);for(let _0x357db5=0x0;_0x357db5<_0x4c6c86;_0x357db5++){_0x550c40=Matrix3[_0xae3aeb(_0x51fb0e._0x7ed82a,_0x51fb0e._0x3ee315)](_0x10b51a,_0x550c40,_0x550c40),_0x40b9af[_0x584838++]=_0x550c40['x'],_0x40b9af[_0x584838++]=_0x550c40['y'],_0x40b9af[_0x584838++]=_0x550c40['z'];}function _0xae3aeb(_0x56e668,_0x1bdaa0){return _0x306755(_0x1bdaa0,_0x56e668- -0x120);}return _0x40b9af;}function addShiftedPositions(_0x2c99ff,_0x2f0667,_0x560d7c,_0x10a3ab){const _0x2f4efd={_0x49eff2:0x1323,_0x2ad4c0:0x865,_0x32cab9:0x1254},_0x3e1e0a={_0x310017:0x2d8};function _0x5ee3a9(_0x577023,_0x3b74a2){return _0x306755(_0x577023,_0x3b74a2-0x129);}const _0x159284=new Array(_0x2c99ff['length']),_0x42259e=new Array(_0x2c99ff[_0x5267ed(0x1337,_0x2f4efd._0x49eff2)]),_0x112202=Cartesian3$2['multiplyByScalar'](_0x2f0667,_0x560d7c,scratch1),_0x4644bb=Cartesian3$2[_0x5ee3a9(_0x2f4efd._0x2ad4c0,_0x2f4efd._0x32cab9)](_0x112202,scratch2);function _0x5267ed(_0x177108,_0x48b1e2){return _0x306755(_0x177108,_0x48b1e2- -_0x3e1e0a._0x310017);}let _0x3ed846=0x0,_0x1e3dcf=_0x2c99ff['length']-0x1;for(let _0x5a74e1=0x0;_0x5a74e1<_0x2c99ff['length'];_0x5a74e1+=0x3){const _0x249f1a=Cartesian3$2['fromArray'](_0x2c99ff,_0x5a74e1,scratch3),_0x55aeb3=Cartesian3$2['add'](_0x249f1a,_0x4644bb,scratch4);_0x159284[_0x3ed846++]=_0x55aeb3['x'],_0x159284[_0x3ed846++]=_0x55aeb3['y'],_0x159284[_0x3ed846++]=_0x55aeb3['z'];const _0x33fd56=Cartesian3$2['add'](_0x249f1a,_0x112202,scratch4);_0x42259e[_0x1e3dcf--]=_0x33fd56['z'],_0x42259e[_0x1e3dcf--]=_0x33fd56['y'],_0x42259e[_0x1e3dcf--]=_0x33fd56['x'];}return _0x10a3ab[_0x5267ed(0x509,0x3c1)](_0x159284,_0x42259e),_0x10a3ab;}ThickWallGeometryLibrary['addAttribute']=function(_0x55a62a,_0x6a3778,_0x2dd9ee,_0x6799ca){const _0x595338=_0x6a3778['x'],_0x27fb91=_0x6a3778['y'],_0x1c1f94=_0x6a3778['z'];defined$2(_0x2dd9ee)&&(_0x55a62a[_0x2dd9ee]=_0x595338,_0x55a62a[_0x2dd9ee+0x1]=_0x27fb91,_0x55a62a[_0x2dd9ee+0x2]=_0x1c1f94),defined$2(_0x6799ca)&&(_0x55a62a[_0x6799ca]=_0x1c1f94,_0x55a62a[_0x6799ca-0x1]=_0x27fb91,_0x55a62a[_0x6799ca-0x2]=_0x595338);};const scratchForwardProjection=new Cartesian3$2(),scratchBackwardProjection=new Cartesian3$2();ThickWallGeometryLibrary['computePositions']=function(_0x69d022){const _0x432942={_0x592f3d:0x15c3,_0x42eeaf:0x10ba,_0x26050a:0x17f4,_0x48e34d:0x204c,_0x5a8a28:0x6d9,_0x48c2bc:0x220,_0x2da2e9:0x1a1c,_0x5a2432:0x13fd,_0x16ac55:0x13c6,_0x5a826a:0x1092,_0x51b5d8:0x14d0,_0x30faa7:0xa99,_0x406263:0xd56,_0x1428b1:0x895,_0x3e85e6:0x897,_0x39963a:0x897,_0xd47f58:0x102,_0x533b64:0x628,_0x23dbb2:0x92e,_0x141389:0x17c8,_0xe2d3ef:0x412,_0xa21060:0x930,_0x311677:0xb97,_0x38758d:0x14d0,_0x581dc7:0x12a2,_0x5c5773:0xcbd,_0xf1a0fb:0x1724},_0x582376={_0x41ab9d:0x530},_0xfd474e=_0x69d022['positions'],_0x336b35=_0x69d022['ellipsoid'],_0x21dce6=_0x69d022['width']/0x2;let _0x2cccbe=cartesian1;function _0x4a3a00(_0x3af80e,_0x50b10b){return _0x2b6441(_0x50b10b,_0x3af80e-0x5c9);}let _0x4b0d59=cartesian2,_0x4a8384=cartesian3,_0x4826f9=cartesian4,_0x2b777a=cartesian5,_0x5937d7=cartesian6,_0x90ee48=cartesian7,_0x165271=cartesian8,_0x3e37ca=cartesian9,_0x1026da=cartesian10$1,_0x17246a=[],_0x26e826=_0xfd474e[0x0],_0x27bac9=_0xfd474e[0x1];_0x4b0d59=Cartesian3$2['normalize'](Cartesian3$2[_0x4a3a00(0x1146,0x1040)](_0x27bac9,_0x26e826,_0x4b0d59),_0x4b0d59),_0x2cccbe=_0x336b35[_0x35775f(_0x432942._0x592f3d,0x1404)](_0x26e826,_0x2cccbe),_0x4826f9=Cartesian3$2['normalize'](Cartesian3$2['cross'](_0x2cccbe,_0x4b0d59,_0x4826f9),_0x4826f9),_0x90ee48=Cartesian3$2['clone'](_0x26e826,_0x90ee48),_0x26e826=_0x27bac9,_0x4a8384=Cartesian3$2[_0x35775f(_0x432942._0x42eeaf,_0x432942._0x26050a)](_0x4b0d59,_0x4a8384);let _0x5745ad;function _0x35775f(_0x49b35b,_0x20a53d){return _0x2b6441(_0x20a53d,_0x49b35b-_0x582376._0x41ab9d);}const _0x5aa6d0=[];let _0x1f70bb;const _0x6085e1=_0xfd474e['length'];for(_0x1f70bb=0x1;_0x1f70bb<_0x6085e1-0x1;_0x1f70bb++){_0x2cccbe=_0x336b35[_0x35775f(_0x432942._0x592f3d,_0x432942._0x48e34d)](_0x26e826,_0x2cccbe),_0x27bac9=_0xfd474e[_0x1f70bb+0x1],_0x4b0d59=Cartesian3$2['normalize'](Cartesian3$2['subtract'](_0x27bac9,_0x26e826,_0x4b0d59),_0x4b0d59),_0x2b777a=Cartesian3$2['normalize'](Cartesian3$2['add'](_0x4b0d59,_0x4a8384,_0x2b777a),_0x2b777a);const _0x1ff58e=Cartesian3$2['multiplyByScalar'](_0x2cccbe,Cartesian3$2['dot'](_0x4b0d59,_0x2cccbe),scratchForwardProjection);Cartesian3$2['subtract'](_0x4b0d59,_0x1ff58e,_0x1ff58e),Cartesian3$2['normalize'](_0x1ff58e,_0x1ff58e);const _0x50010f=Cartesian3$2['multiplyByScalar'](_0x2cccbe,Cartesian3$2['dot'](_0x4a8384,_0x2cccbe),scratchBackwardProjection);Cartesian3$2['subtract'](_0x4a8384,_0x50010f,_0x50010f),Cartesian3$2['normalize'](_0x50010f,_0x50010f);const _0x50471d=!CesiumMath$1[_0x35775f(_0x432942._0x5a8a28,_0x432942._0x48c2bc)](Math['abs'](Cartesian3$2[_0x4a3a00(_0x432942._0x2da2e9,_0x432942._0x5a2432)](_0x1ff58e,_0x50010f)),0x1,CesiumMath$1[_0x4a3a00(0x1283,0x1c75)]);if(_0x50471d){_0x2b777a=Cartesian3$2['cross'](_0x2b777a,_0x2cccbe,_0x2b777a),_0x2b777a=Cartesian3$2['cross'](_0x2cccbe,_0x2b777a,_0x2b777a),_0x2b777a=Cartesian3$2[_0x4a3a00(0x76f,0x10b9)](_0x2b777a,_0x2b777a);const _0x4eba64=_0x21dce6/Math[_0x35775f(0xc95,_0x432942._0x16ac55)](0.25,Cartesian3$2['magnitude'](Cartesian3$2[_0x35775f(_0x432942._0x5a826a,0x15ad)](_0x2b777a,_0x4a8384,scratch1))),_0x535f29=PolylineVolumeGeometryLibrary['angleIsGreaterThanPi'](_0x4b0d59,_0x4a8384,_0x26e826,_0x336b35);_0x2b777a=Cartesian3$2[_0x4a3a00(_0x432942._0x51b5d8,0x1ca3)](_0x2b777a,_0x4eba64,_0x2b777a),_0x535f29?(_0x165271=Cartesian3$2['add'](_0x26e826,_0x2b777a,_0x165271),_0x1026da=Cartesian3$2['add'](_0x165271,Cartesian3$2[_0x35775f(0x1437,_0x432942._0x30faa7)](_0x4826f9,_0x21dce6,_0x1026da),_0x1026da),_0x3e37ca=Cartesian3$2[_0x4a3a00(_0x432942._0x406263,_0x432942._0x1428b1)](_0x165271,Cartesian3$2['multiplyByScalar'](_0x4826f9,_0x21dce6*0x2,_0x3e37ca),_0x3e37ca),scaleArray2[0x0]=Cartesian3$2['clone'](_0x90ee48,scaleArray2[0x0]),scaleArray2[0x1]=Cartesian3$2[_0x35775f(_0x432942._0x3e85e6,0x118b)](_0x1026da,scaleArray2[0x1]),_0x5745ad=cartesian3ToArray(scaleArray2),_0x17246a=addShiftedPositions(_0x5745ad,_0x4826f9,_0x21dce6,_0x17246a),_0x5937d7=Cartesian3$2[_0x35775f(_0x432942._0x39963a,_0x432942._0xd47f58)](_0x3e37ca,_0x5937d7),_0x4826f9=Cartesian3$2['normalize'](Cartesian3$2['cross'](_0x2cccbe,_0x4b0d59,_0x4826f9),_0x4826f9),_0x3e37ca=Cartesian3$2['add'](_0x165271,Cartesian3$2['multiplyByScalar'](_0x4826f9,_0x21dce6*0x2,_0x3e37ca),_0x3e37ca),_0x90ee48=Cartesian3$2['add'](_0x165271,Cartesian3$2['multiplyByScalar'](_0x4826f9,_0x21dce6,_0x90ee48),_0x90ee48),_0x5aa6d0[_0x35775f(_0x432942._0x533b64,_0x432942._0x23dbb2)]({'leftPositions':computeRoundCorner(_0x165271,_0x5937d7,_0x3e37ca,_0x535f29)})):(_0x3e37ca=Cartesian3$2['add'](_0x26e826,_0x2b777a,_0x3e37ca),_0x1026da=Cartesian3$2[_0x4a3a00(0xd56,_0x432942._0x141389)](_0x3e37ca,Cartesian3$2['negate'](Cartesian3$2['multiplyByScalar'](_0x4826f9,_0x21dce6,_0x1026da),_0x1026da),_0x1026da),_0x165271=Cartesian3$2[_0x35775f(0xcbd,_0x432942._0xe2d3ef)](_0x3e37ca,Cartesian3$2['negate'](Cartesian3$2[_0x4a3a00(0x14d0,0xd42)](_0x4826f9,_0x21dce6*0x2,_0x165271),_0x165271),_0x165271),scaleArray2[0x0]=Cartesian3$2['clone'](_0x90ee48,scaleArray2[0x0]),scaleArray2[0x1]=Cartesian3$2['clone'](_0x1026da,scaleArray2[0x1]),_0x5745ad=cartesian3ToArray(scaleArray2),_0x17246a=addShiftedPositions(_0x5745ad,_0x4826f9,_0x21dce6,_0x17246a),_0x5937d7=Cartesian3$2[_0x4a3a00(_0x432942._0xa21060,0x113d)](_0x165271,_0x5937d7),_0x4826f9=Cartesian3$2['normalize'](Cartesian3$2['cross'](_0x2cccbe,_0x4b0d59,_0x4826f9),_0x4826f9),_0x165271=Cartesian3$2['add'](_0x3e37ca,Cartesian3$2[_0x35775f(0x10ba,_0x432942._0x311677)](Cartesian3$2[_0x4a3a00(_0x432942._0x38758d,_0x432942._0x581dc7)](_0x4826f9,_0x21dce6*0x2,_0x165271),_0x165271),_0x165271),_0x90ee48=Cartesian3$2[_0x35775f(_0x432942._0x5c5773,_0x432942._0xf1a0fb)](_0x3e37ca,Cartesian3$2[_0x35775f(_0x432942._0x42eeaf,0x15a6)](Cartesian3$2['multiplyByScalar'](_0x4826f9,_0x21dce6,_0x90ee48),_0x90ee48),_0x90ee48),_0x5aa6d0['push']({'rightPositions':computeRoundCorner(_0x3e37ca,_0x5937d7,_0x165271,_0x535f29)})),_0x4a8384=Cartesian3$2['negate'](_0x4b0d59,_0x4a8384);}_0x26e826=_0x27bac9;}_0x2cccbe=_0x336b35['geodeticSurfaceNormal'](_0x26e826,_0x2cccbe),scaleArray2[0x0]=Cartesian3$2['clone'](_0x90ee48,scaleArray2[0x0]),scaleArray2[0x1]=Cartesian3$2[_0x4a3a00(0x930,0xfa0)](_0x26e826,scaleArray2[0x1]),_0x5745ad=cartesian3ToArray(scaleArray2),_0x17246a=addShiftedPositions(_0x5745ad,_0x4826f9,_0x21dce6,_0x17246a);const _0x3707fb={};return _0x3707fb['positions']=_0x17246a,_0x3707fb['corners']=_0x5aa6d0,_0x3707fb;};const BoundingSphere=Cesium__namespace[_0x306755(0x123d,0xa32)],Cartesian3$1=Cesium__namespace[_0x306755(0xf01,0xa21)],Cartographic=Cesium__namespace['Cartographic'],Check=Cesium__namespace['Check'],ComponentDatatype=Cesium__namespace['ComponentDatatype'],defaultValue$1=Cesium__namespace['defaultValue'],defined$1=Cesium__namespace['defined'],Ellipsoid=Cesium__namespace[_0x2b6441(0xa40,0xc86)],Geometry=Cesium__namespace['Geometry'],GeometryAttribute=Cesium__namespace['GeometryAttribute'],GeometryAttributes=Cesium__namespace['GeometryAttributes'],IndexDatatype=Cesium__namespace['IndexDatatype'],CesiumMath=Cesium__namespace[_0x306755(0x1823,0x136b)],PrimitiveType=Cesium__namespace['PrimitiveType'],VertexFormat=Cesium__namespace['VertexFormat'],CornerType=Cesium__namespace[_0x306755(0x2a2,0x5bb)],cartesian10=new Cartesian3$1(),cartesian20=new Cartesian3$1(),cartesian30=new Cartesian3$1();function combine(_0x4a7358,_0x5bf720){const _0x10ea89={_0x1ce498:0x1573,_0x33965c:0x162c,_0x40f97c:0x1204,_0x2512d:0x289,_0x4905b8:0xa1,_0x41db5a:0x160e,_0x5f7a84:0x108b,_0x51dfc4:0x178d,_0x2d1269:0xfb9,_0x223e9f:0xf24,_0x2d1ce1:0x1096,_0xafce89:0x107c,_0x5ce8a3:0x1120,_0x57f3e7:0x15fd,_0xf31d08:0xdaa,_0x327b85:0xe85,_0x56f653:0x19c7,_0x2d3637:0x1015,_0x2138be:0x57f},_0x56b201={_0xee7ad1:0x2},_0x52bc81={_0x237b15:0x43c},_0x1cdad7=_0x4a7358[_0x50f6fd(_0x10ea89._0x1ce498,0x1834)],_0x25ad38=_0x4a7358[_0x336bca(-0x539,0x55a)],_0x34afa9=new GeometryAttributes();let _0x2ad0e7,_0x478b40=0x0,_0x42f024=0x0,_0xf557af,_0x429e6f=0x0,_0x23e18c;for(_0xf557af=0x0;_0xf557af<_0x1cdad7['length'];_0xf557af+=0x2){_0x23e18c=_0x1cdad7[_0xf557af]['length']-0x3,_0x478b40+=_0x23e18c,_0x429e6f+=_0x23e18c*0x2,_0x42f024+=_0x1cdad7[_0xf557af+0x1][_0x336bca(0x1d2a,0x15fd)]-0x3;}_0x478b40+=0x3,_0x42f024+=0x3;for(_0xf557af=0x0;_0xf557af<_0x25ad38[_0x336bca(_0x10ea89._0x33965c,0x15fd)];_0xf557af++){_0x2ad0e7=_0x25ad38[_0xf557af];const _0x462d52=_0x25ad38[_0xf557af]['leftPositions'];defined$1(_0x462d52)?(_0x23e18c=_0x462d52['length'],_0x478b40+=_0x23e18c,_0x429e6f+=_0x23e18c):(_0x23e18c=_0x25ad38[_0xf557af]['rightPositions']['length'],_0x42f024+=_0x23e18c,_0x429e6f+=_0x23e18c);}const _0x53714e=_0x478b40+_0x42f024,_0x402559=new Float64Array(_0x53714e);let _0x3ea35c=0x0,_0x5b10f0=_0x53714e-0x1,_0x3ca895,_0x11dea2,_0x11a4f9,_0x3980cb;const _0x328ccc=IndexDatatype[_0x336bca(0x10a3,_0x10ea89._0x40f97c)](_0x53714e/0x3,_0x429e6f);let _0x2d0a9c=0x0,_0x5f37fc=0x0;function _0x50f6fd(_0x367bf9,_0x167621){return _0x2b6441(_0x367bf9,_0x167621-_0x52bc81._0x237b15);}let _0x4dfbce=_0x1cdad7[_0x5f37fc++],_0x19f70e=_0x1cdad7[_0x5f37fc++];_0x402559[_0x50f6fd(0xcf0,0x6cd)](_0x4dfbce,_0x3ea35c),_0x402559[_0x50f6fd(-_0x10ea89._0x2512d,0x6cd)](_0x19f70e,_0x5b10f0-_0x19f70e['length']+0x1),_0x23e18c=_0x19f70e['length']-0x3;for(_0xf557af=0x0;_0xf557af<_0x23e18c;_0xf557af+=0x3){_0x11dea2=_0x3ea35c/0x3,_0x3980cb=_0x11dea2+0x1,_0x3ca895=(_0x5b10f0-0x2)/0x3,_0x11a4f9=_0x3ca895-0x1,_0x328ccc[_0x2d0a9c++]=_0x3ca895,_0x328ccc[_0x2d0a9c++]=_0x11dea2,_0x328ccc[_0x2d0a9c++]=_0x11a4f9,_0x328ccc[_0x2d0a9c++]=_0x11a4f9,_0x328ccc[_0x2d0a9c++]=_0x11dea2,_0x328ccc[_0x2d0a9c++]=_0x3980cb,_0x3ea35c+=0x3,_0x5b10f0-=0x3;}for(_0xf557af=0x0;_0xf557af<_0x25ad38[_0x336bca(0xb66,0x15fd)];_0xf557af++){let _0x2cf547;_0x2ad0e7=_0x25ad38[_0xf557af];const _0x248305=_0x2ad0e7['leftPositions'],_0x5ad6f8=_0x2ad0e7[_0x336bca(_0x10ea89._0x4905b8,0x6f3)];let _0x46b63e,_0x2692a8,_0x5e92d3=cartesian30,_0x1d9836=cartesian10,_0x2ebd22=cartesian20;if(defined$1(_0x248305)){_0x5b10f0-=0x3,_0x46b63e=_0x3980cb,_0x2692a8=_0x11a4f9;for(_0x2cf547=0x0;_0x2cf547<_0x248305[_0x336bca(0xbd9,0x15fd)]/0x3;_0x2cf547++){_0x5e92d3=Cartesian3$1[_0x336bca(_0x10ea89._0x41db5a,_0x10ea89._0x5f7a84)](_0x248305,_0x2cf547*0x3,_0x5e92d3),_0x328ccc[_0x2d0a9c++]=_0x46b63e,_0x328ccc[_0x2d0a9c++]=_0x2692a8-_0x2cf547-0x1,_0x328ccc[_0x2d0a9c++]=_0x2692a8-_0x2cf547,ThickWallGeometryLibrary['addAttribute'](_0x402559,_0x5e92d3,undefined,_0x5b10f0),_0x1d9836=Cartesian3$1[_0x50f6fd(0x16a3,0xf24)](_0x402559,(_0x2692a8-_0x2cf547-0x1)*0x3,_0x1d9836),_0x2ebd22=Cartesian3$1['fromArray'](_0x402559,_0x46b63e*0x3,_0x2ebd22),_0x5b10f0-=0x3;}_0x5e92d3=Cartesian3$1[_0x336bca(0x6c8,_0x10ea89._0x5f7a84)](_0x402559,_0x46b63e*0x3,_0x5e92d3),_0x1d9836=Cartesian3$1[_0x50f6fd(_0x10ea89._0x51dfc4,_0x10ea89._0x2d1269)](Cartesian3$1['fromArray'](_0x402559,_0x2692a8*0x3,_0x1d9836),_0x5e92d3,_0x1d9836),_0x2ebd22=Cartesian3$1['subtract'](Cartesian3$1[_0x50f6fd(0xfe9,_0x10ea89._0x223e9f)](_0x402559,(_0x2692a8-_0x2cf547)*0x3,_0x2ebd22),_0x5e92d3,_0x2ebd22),_0x3ea35c+=0x3;}else{_0x3ea35c+=0x3,_0x46b63e=_0x11a4f9,_0x2692a8=_0x3980cb;for(_0x2cf547=0x0;_0x2cf547<_0x5ad6f8['length']/0x3;_0x2cf547++){_0x5e92d3=Cartesian3$1[_0x50f6fd(_0x10ea89._0x2d1ce1,_0x10ea89._0x223e9f)](_0x5ad6f8,_0x2cf547*0x3,_0x5e92d3),_0x328ccc[_0x2d0a9c++]=_0x46b63e,_0x328ccc[_0x2d0a9c++]=_0x2692a8+_0x2cf547,_0x328ccc[_0x2d0a9c++]=_0x2692a8+_0x2cf547+0x1,ThickWallGeometryLibrary['addAttribute'](_0x402559,_0x5e92d3,_0x3ea35c),_0x1d9836=Cartesian3$1['fromArray'](_0x402559,_0x46b63e*0x3,_0x1d9836),_0x2ebd22=Cartesian3$1[_0x50f6fd(0x7f2,0xf24)](_0x402559,(_0x2692a8+_0x2cf547)*0x3,_0x2ebd22),_0x3ea35c+=0x3;}_0x5e92d3=Cartesian3$1['fromArray'](_0x402559,_0x46b63e*0x3,_0x5e92d3),_0x1d9836=Cartesian3$1[_0x336bca(_0x10ea89._0xafce89,_0x10ea89._0x5ce8a3)](Cartesian3$1[_0x50f6fd(0x844,_0x10ea89._0x223e9f)](_0x402559,(_0x2692a8+_0x2cf547)*0x3,_0x1d9836),_0x5e92d3,_0x1d9836),_0x2ebd22=Cartesian3$1['subtract'](Cartesian3$1['fromArray'](_0x402559,_0x2692a8*0x3,_0x2ebd22),_0x5e92d3,_0x2ebd22),_0x5b10f0-=0x3;}_0x4dfbce=_0x1cdad7[_0x5f37fc++],_0x19f70e=_0x1cdad7[_0x5f37fc++],_0x4dfbce['splice'](0x0,0x3),_0x19f70e['splice'](_0x19f70e['length']-0x3,0x3),_0x402559[_0x336bca(0x5f5,0x834)](_0x4dfbce,_0x3ea35c),_0x402559['set'](_0x19f70e,_0x5b10f0-_0x19f70e[_0x336bca(0xf06,_0x10ea89._0x57f3e7)]+0x1),_0x23e18c=_0x19f70e['length']-0x3;for(_0x2cf547=0x0;_0x2cf547<_0x19f70e[_0x50f6fd(_0x10ea89._0xf31d08,0x1496)];_0x2cf547+=0x3){_0x3980cb=_0x3ea35c/0x3,_0x11dea2=_0x3980cb-0x1,_0x11a4f9=(_0x5b10f0-0x2)/0x3,_0x3ca895=_0x11a4f9+0x1,_0x328ccc[_0x2d0a9c++]=_0x3ca895,_0x328ccc[_0x2d0a9c++]=_0x11dea2,_0x328ccc[_0x2d0a9c++]=_0x11a4f9,_0x328ccc[_0x2d0a9c++]=_0x11a4f9,_0x328ccc[_0x2d0a9c++]=_0x11dea2,_0x328ccc[_0x2d0a9c++]=_0x3980cb,_0x3ea35c+=0x3,_0x5b10f0-=0x3;}_0x3ea35c-=0x3,_0x5b10f0+=0x3;}function _0x336bca(_0xa6d59e,_0x482abe){return _0x306755(_0xa6d59e,_0x482abe-_0x56b201._0xee7ad1);}const _0x3c1afa={};_0x3c1afa['componentDatatype']=ComponentDatatype[_0x50f6fd(0x644,0xe2c)],_0x3c1afa[_0x336bca(_0x10ea89._0x327b85,0x1836)]=0x3,_0x3c1afa['values']=_0x402559,_0x34afa9[_0x50f6fd(0xcdc,0x1092)]=new GeometryAttribute(_0x3c1afa);if(_0x5bf720['st']){const _0x349445=new Float32Array(_0x53714e/0x3*0x2);let _0x28da57=0x0;_0x478b40/=0x3,_0x42f024/=0x3;const _0x281929=0x1/(_0x478b40-0x1),_0x2ba6fe=0x1/(_0x42f024-0x1);for(_0xf557af=0x0;_0xf557af<_0x42f024;_0xf557af++){_0x349445[_0x28da57++]=_0xf557af*_0x2ba6fe,_0x349445[_0x28da57++]=0x0;}for(_0xf557af=_0x478b40;_0xf557af>0x0;_0xf557af--){_0x349445[_0x28da57++]=(_0xf557af-0x1)*_0x281929,_0x349445[_0x28da57++]=0x1;}const _0x558825={};_0x558825[_0x336bca(0x1c94,_0x10ea89._0x56f653)]=ComponentDatatype[_0x50f6fd(0x1237,_0x10ea89._0x2d3637)],_0x558825['componentsPerAttribute']=0x2,_0x558825[_0x50f6fd(0x781,_0x10ea89._0x2138be)]=_0x349445,_0x34afa9['st']=new GeometryAttribute(_0x558825);}const _0x383cc8={};return _0x383cc8[_0x50f6fd(0xea4,0xfae)]=_0x34afa9,_0x383cc8['indices']=_0x328ccc,_0x383cc8;}function ThickWallGeometry(_0x28e25c){const _0x2f99c1={_0x43af2c:0x1af7,_0x2ff810:0x162c,_0x1688ce:0x734,_0x49406b:0x232,_0x4dbabe:0x69d,_0x55c017:0x12c7,_0xdae09d:0xe6b,_0x1d2201:0x2248,_0x35299d:0x1784},_0x2e5b12={_0x39f6e7:0x234};_0x28e25c=defaultValue$1(_0x28e25c,defaultValue$1[_0x29586e(0x13,0x818)]);const _0x182dad=_0x28e25c[_0x53d446(_0x2f99c1._0x43af2c,_0x2f99c1._0x2ff810)],_0x18e049=_0x28e25c['width'];function _0x29586e(_0x1508e7,_0x583e15){return _0x2b6441(_0x1508e7,_0x583e15-0x336);}Check['defined']('options.positions',_0x182dad),Check['defined']('options.width',_0x18e049),this['_positions']=_0x182dad,this[_0x29586e(-_0x2f99c1._0x1688ce,_0x2f99c1._0x49406b)]=Ellipsoid[_0x29586e(0xb10,_0x2f99c1._0x4dbabe)](defaultValue$1(_0x28e25c['ellipsoid'],Ellipsoid['WGS84'])),this[_0x29586e(_0x2f99c1._0x55c017,_0x2f99c1._0xdae09d)]=VertexFormat[_0x53d446(-0x8f,0x59b)](defaultValue$1(_0x28e25c['vertexFormat'],VertexFormat['POSITION_AND_ST']));function _0x53d446(_0x1a8d41,_0x1c19e8){return _0x2b6441(_0x1a8d41,_0x1c19e8-_0x2e5b12._0x39f6e7);}this['_width']=_0x18e049,this[_0x29586e(_0x2f99c1._0x1d2201,_0x2f99c1._0x35299d)]=defaultValue$1(_0x28e25c['granularity'],CesiumMath['RADIANS_PER_DEGREE']);}ThickWallGeometry['createGeometry']=function(_0x54ea17){const _0x45fa3c={_0x1d1343:0x235,_0x595164:0x664,_0x33d33a:0x648,_0x46553c:0x324,_0x27fe83:0xae,_0x21ea40:0x1529,_0x2ade36:0x58d,_0x287fd1:0x170,_0x5a93da:0x11d3,_0x9ad757:0x1029,_0x241e43:0x5fd,_0x31c3d8:0x141,_0x352ce2:0x76b,_0x4deb42:0x8ea,_0x175788:0xe51,_0x4ebc11:0x229,_0x3929a2:0x12,_0x4c4070:0x2b6,_0x4850e4:0xd87,_0x2131cf:0xea0,_0x477dfe:0xa84,_0x2e8898:0xe0b,_0x18c7e5:0xa43},_0x58ca38={_0x488d06:0x131},_0xee4450={_0x178507:0xdfb,_0x434829:0xe3b,_0x5b80f8:0x702},_0x66e95b={_0x2f9127:0x308},_0x34b155=_0x54ea17[_0x47d76e(-_0x45fa3c._0x1d1343,_0x45fa3c._0x595164)];function _0x3ba3c9(_0x2bf4ef,_0x4bb495){return _0x306755(_0x4bb495,_0x2bf4ef- -_0x66e95b._0x2f9127);}const _0x41b148=_0x54ea17['_width'],_0x284c86=_0x54ea17[_0x3ba3c9(0x195,0x98e)],_0x59cfe0=_0x34b155[_0x47d76e(_0x45fa3c._0x33d33a,_0x45fa3c._0x46553c)](_0x1fb80b=>Cartographic['fromCartesian'](_0x1fb80b)),_0x5f30b2=_0x34b155[_0x3ba3c9(0x48c,_0x45fa3c._0x27fe83)](_0x191727=>_0x284c86['scaleToGeodeticSurface'](_0x191727)),_0x4b80a8=_0x54ea17['_vertexFormat'],_0x23589a={};_0x23589a['ellipsoid']=_0x284c86,_0x23589a[_0x47d76e(0x1af6,_0x45fa3c._0x21ea40)]=_0x5f30b2,_0x23589a['width']=_0x41b148,_0x23589a[_0x47d76e(0x933,_0x45fa3c._0x2ade36)]=CornerType[_0x47d76e(0x31,_0x45fa3c._0x287fd1)],_0x23589a['granularity']=_0x54ea17[_0x3ba3c9(0x16e7,0x2050)],_0x23589a[_0x47d76e(_0x45fa3c._0x5a93da,0x1318)]=![];const _0x393186=_0x23589a,_0x258223=ThickWallGeometryLibrary[_0x47d76e(_0x45fa3c._0x9ad757,0xe4d)](_0x393186),_0x375128=[];let _0x262a44=[];const _0x3f2731=_0x258223['positions'],_0x4d3cfc=_0x3f2731['length']/0x2;for(let _0xb13f2d=0x0;_0xb13f2d<_0x4d3cfc;_0xb13f2d++){const _0x1e45f8=_0x59cfe0[_0xb13f2d],_0x4302e7=_0x59cfe0[_0xb13f2d+0x1],_0x492872=_0x3f2731[_0xb13f2d*0x2],_0x4bdddf=_0x3f2731[_0xb13f2d*0x2+0x1],_0x5bba4a=_0x492872['length']/0x3,_0x36bff0=_0x4bdddf[_0x3ba3c9(0x12f3,0x12ac)]/0x3;for(let _0x247392=0x0;_0x247392<_0x5bba4a;_0x247392++){const _0x5d05f8=new Cesium__namespace[(_0x47d76e(_0x45fa3c._0x241e43,0x5b1))](_0x492872[_0x247392*0x3],_0x492872[_0x247392*0x3+0x1],_0x492872[_0x247392*0x3+0x2]),_0x485848=Cartographic[_0x47d76e(0xd05,0x57f)](_0x5d05f8);let _0x1dc882;_0x247392===0x0?_0x1dc882=Cartesian3$1[_0x47d76e(-_0x45fa3c._0x31c3d8,_0x45fa3c._0x352ce2)](_0x485848[_0x47d76e(0xef6,0xcda)],_0x485848[_0x47d76e(0x109e,0xb63)],_0x1e45f8[_0x3ba3c9(_0x45fa3c._0x4deb42,-0x1dd)]):_0x1dc882=Cartesian3$1[_0x3ba3c9(0x8d3,_0x45fa3c._0x175788)](_0x485848['longitude'],_0x485848['latitude'],_0x4302e7['height']),_0x375128[_0x47d76e(0x512,_0x45fa3c._0x4ebc11)](_0x1dc882),_0x492872[_0x247392*0x3]=_0x1dc882['x'],_0x492872[_0x247392*0x3+0x1]=_0x1dc882['y'],_0x492872[_0x247392*0x3+0x2]=_0x1dc882['z'];}const _0x1d201c=[];for(let _0x2e4822=0x0;_0x2e4822<_0x36bff0;_0x2e4822++){const _0x5496fd=new Cesium__namespace['Cartesian3'](_0x4bdddf[_0x2e4822*0x3],_0x4bdddf[_0x2e4822*0x3+0x1],_0x4bdddf[_0x2e4822*0x3+0x2]),_0x49f74e=Cartographic['fromCartesian'](_0x5496fd);let _0x3bf692;_0x2e4822===0x0?_0x3bf692=Cartesian3$1['fromRadians'](_0x49f74e[_0x3ba3c9(0xe42,0x4b6)],_0x49f74e[_0x47d76e(0xcfb,0xb63)],_0x4302e7['height']):_0x3bf692=Cartesian3$1[_0x47d76e(_0x45fa3c._0x3929a2,_0x45fa3c._0x352ce2)](_0x49f74e['longitude'],_0x49f74e[_0x3ba3c9(0xccb,_0x45fa3c._0x4c4070)],_0x1e45f8[_0x47d76e(-0x19e,0x782)]),_0x1d201c[_0x3ba3c9(0x391,0xc9f)](_0x3bf692),_0x4bdddf[_0x2e4822*0x3]=_0x3bf692['x'],_0x4bdddf[_0x2e4822*0x3+0x1]=_0x3bf692['y'],_0x4bdddf[_0x2e4822*0x3+0x2]=_0x3bf692['z'];}_0x262a44['push'](..._0x1d201c['reverse']());}_0x258223['corners'][_0x47d76e(0x8d7,0x7d0)]((_0x2d4606,_0x39f324)=>{const _0x2f323f={_0x383f83:0x421};let _0x2cbd3f;defined$1(_0x2d4606['rightPositions'])?_0x2cbd3f=_0x2d4606['rightPositions']:_0x2cbd3f=_0x2d4606[_0x42890f(_0xee4450._0x178507,_0xee4450._0x434829)];const _0x3217d5=new Cesium__namespace['Cartesian3'](_0x2cbd3f[0x0],_0x2cbd3f[0x1],_0x2cbd3f[0x2]),_0x30953d=Cartographic[_0x196d7c(0x11ce,0xb08)](_0x3217d5),_0x343c44=_0x34b155[_0x39f324+0x1],_0x4cce70=Cartographic[_0x42890f(_0xee4450._0x5b80f8,0x913)](_0x343c44),_0x155a38=Cartesian3$1['fromRadians'](_0x30953d[_0x42890f(0xe5d,0x3b0)],_0x30953d['latitude'],_0x4cce70['height']);_0x2cbd3f[0x0]=_0x155a38['x'],_0x2cbd3f[0x1]=_0x155a38['y'];function _0x196d7c(_0x59747b,_0x22d450){return _0x3ba3c9(_0x22d450-_0x2f323f._0x383f83,_0x59747b);}function _0x42890f(_0x34865c,_0xa31e60){return _0x3ba3c9(_0x34865c-0x1b,_0xa31e60);}_0x2cbd3f[0x2]=_0x155a38['z'];});const _0x321988=combine(_0x258223,_0x4b80a8),_0x2120b5=_0x321988[_0x3ba3c9(0xe0b,0x7e6)],_0x361715=BoundingSphere['fromVertices'](_0x2120b5[_0x47d76e(0x1240,_0x45fa3c._0x4850e4)][_0x3ba3c9(0x3dc,_0x45fa3c._0x2131cf)],undefined,0x3);_0x262a44=Cesium__namespace[_0x47d76e(0x73,_0x45fa3c._0x477dfe)](_0x262a44,Cartesian3$1['equalsEpsilon']);const _0x58238e={};_0x58238e[_0x3ba3c9(_0x45fa3c._0x2e8898,0x531)]=_0x2120b5,_0x58238e['indices']=_0x321988['indices'],_0x58238e[_0x47d76e(-0x335,0x557)]=PrimitiveType[_0x47d76e(0xc8f,_0x45fa3c._0x18c7e5)];function _0x47d76e(_0x706eab,_0x237747){return _0x2b6441(_0x706eab,_0x237747-_0x58ca38._0x488d06);}return _0x58238e['boundingSphere']=_0x361715,{'geometry':new Geometry(_0x58238e),'rightPoints':_0x262a44,'leftPoints':_0x375128};};const _0x208989={};_0x208989['diffHeight']=0x64,_0x208989[_0x2b6441(0x966,0x79)]=0x0,_0x208989['width']=0xa,_0x208989['flat']=!![];const DEF_STYLE$l=_0x208989;class ThickWall extends BasePolyPrimitive{constructor(_0x527f57={}){_0x527f57['style']={...DEF_STYLE$l,..._0x527f57['style']},super(_0x527f57);}get['czmObject'](){const _0x523b95={_0x5db82f:0xc10},_0x3c544a={_0x1c5151:0x33e};function _0x2a9dda(_0x4a1e21,_0x719768){return _0x2b6441(_0x719768,_0x4a1e21-_0x3c544a._0x1c5151);}return this[_0x2a9dda(0xce4,_0x523b95._0x5db82f)];}[_0x306755(0x12f2,0xce7)](_0x35c67d,_0x45cf8a){const _0x20fa07={_0xa4aed1:0x150c,_0x4145d7:0x1728,_0x5f1dff:0x2198,_0x280453:0x41a,_0x2862c4:0xa41,_0x254ada:0xd4a,_0x5b8a60:0x18e4,_0x4b1064:0x1225,_0x1d5e59:0x1532,_0x5a036d:0xd4a,_0x72de69:0x1641,_0x1f8cc9:0x92e,_0x5184b2:0x1c18,_0x3d1e2c:0x228,_0x1b29b9:0x93,_0x5830cc:0xa5f,_0x493655:0x20c},_0x2baafc={_0x334e85:0xbe8,_0x67f4f0:0xba1,_0x5a30ad:0x60c},_0x3f6487={_0x8b354b:0x502},_0x40653a={_0x15793c:0x8ce,_0xbb39d6:0x557,_0x117522:0x75a},_0x3dcb75={_0x1e357b:0xb},_0x21c59f={_0x27006:0x48d},_0x529748={_0x44d356:0x530},_0x52ad58={_0x3f6c9a:0x75a,_0x3835ca:0x10a,_0x5ba6a0:0x872,_0x5c8f4f:0xd4,_0x3f8f13:0xa43,_0x142bbf:0xc2f},_0x56d82d=[],_0x38b14a=[],_0x3d5be2=[];this[_0x40c09e(_0x20fa07._0xa4aed1,0xb48)][_0x1d5a59(0x1306,0xbcf)](_0x32a051=>{function _0x54d2b1(_0x2e4c40,_0x34e9da){return _0x1d5a59(_0x34e9da,_0x2e4c40-0xce);}const _0xf29e2a=Cesium__namespace[_0x7ea0b1(_0x52ad58._0x3f6c9a,0xd6c)]['fromCartesian'](_0x32a051);function _0x7ea0b1(_0x5d26c9,_0x27fd0c){return _0x1d5a59(_0x27fd0c,_0x5d26c9- -0x13e);}_0x38b14a[_0x54d2b1(0x6f6,-_0x52ad58._0x3835ca)](Cesium__namespace[_0x7ea0b1(_0x52ad58._0x5ba6a0,-_0x52ad58._0x5c8f4f)]['fromRadians'](_0xf29e2a['longitude'],_0xf29e2a['latitude'],_0xf29e2a[_0x7ea0b1(_0x52ad58._0x3f8f13,0x4d2)]+_0x35c67d['diffHeight'])),_0x3d5be2['push'](Cesium__namespace['Cartesian3']['fromRadians'](_0xf29e2a['longitude'],_0xf29e2a[_0x7ea0b1(0xe24,0xce9)],_0xf29e2a['height']-_0x35c67d[_0x54d2b1(0x677,_0x52ad58._0x142bbf)]));});_0x35c67d[_0x1d5a59(0x1728,_0x20fa07._0x4145d7)]&&(_0x38b14a['push'](_0x38b14a[0x0]),_0x3d5be2['push'](_0x3d5be2[0x0]));const _0x97f8ba={};_0x97f8ba[_0x1d5a59(_0x20fa07._0x5f1dff,0x1928)]=_0x38b14a,_0x97f8ba['width']=_0x35c67d[_0x1d5a59(0x12ea,0xb7a)];const _0x440e01=ThickWallGeometry['createGeometry'](new ThickWallGeometry(_0x97f8ba));function _0x1d5a59(_0x45cc35,_0x4dca29){return _0x2b6441(_0x45cc35,_0x4dca29-_0x529748._0x44d356);}const _0x475f1b={};_0x475f1b[_0x40c09e(_0x20fa07._0xa4aed1,0x1c4d)]=_0x3d5be2,_0x475f1b[_0x1d5a59(0x239,0xb7a)]=_0x35c67d['width'];const _0x5a64e6=ThickWallGeometry['createGeometry'](new ThickWallGeometry(_0x475f1b)),_0xb2a131={};_0xb2a131['geometry']=_0x440e01[_0x40c09e(0x12b,-_0x20fa07._0x280453)];const _0x538bb3=new Cesium__namespace['GeometryInstance'](_0xb2a131);function _0x40c09e(_0x100c35,_0x3a20f3){return _0x306755(_0x3a20f3,_0x100c35- -_0x21c59f._0x27006);}const _0x1d28d4={};_0x1d28d4['geometry']=_0x5a64e6['geometry'];const _0x114834=new Cesium__namespace['GeometryInstance'](_0x1d28d4);_0x56d82d['push'](_0x538bb3),_0x56d82d['push'](_0x114834);const _0x37996b=[],_0x1248e0=[];_0x5a64e6['leftPoints']['forEach'](_0x28accb=>{function _0x34e517(_0x195931,_0x38a269){return _0x40c09e(_0x38a269- -0x97,_0x195931);}const _0x1bcf48=Cesium__namespace['Cartographic'][_0xd7158b(_0x40653a._0x15793c,_0x40653a._0xbb39d6)](_0x28accb);function _0xd7158b(_0x4b5317,_0x759a71){return _0x40c09e(_0x759a71- -_0x3dcb75._0x1e357b,_0x4b5317);}_0x37996b['push'](_0x1bcf48[_0xd7158b(0x832,_0x40653a._0x117522)]);}),_0x5a64e6[_0x1d5a59(_0x20fa07._0x2862c4,_0x20fa07._0x254ada)]['forEach'](_0x15eb7c=>{function _0x310ec8(_0x43e256,_0x564097){return _0x40c09e(_0x43e256- -0x159,_0x564097);}const _0x3eee09=Cesium__namespace[_0x4e5f27(_0x2baafc._0x334e85,0x396)][_0x310ec8(0x409,_0x2baafc._0x67f4f0)](_0x15eb7c);function _0x4e5f27(_0x1fd2f1,_0x1a5211){return _0x1d5a59(_0x1fd2f1,_0x1a5211- -_0x3f6487._0x8b354b);}_0x1248e0['push'](_0x3eee09[_0x310ec8(_0x2baafc._0x5a30ad,0xb9a)]);});const _0x396deb=new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['WallGeometry']({'positions':_0x440e01['leftPoints'],'minimumHeights':_0x37996b,'vertexFormat':Cesium__namespace['MaterialAppearance'][_0x40c09e(0x8a0,0x1013)]['TEXTURED']['vertexFormat']})}),_0x435d0f=new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['WallGeometry']({'positions':_0x440e01['rightPoints'],'minimumHeights':_0x1248e0,'vertexFormat':Cesium__namespace['MaterialAppearance']['MaterialSupport']['TEXTURED'][_0x1d5a59(0xd26,0x9ea)]})});_0x56d82d['push'](_0x396deb),_0x56d82d['push'](_0x435d0f);if(!_0x35c67d['closure']){const _0x1b833f=Cesium__namespace['Cartographic'][_0x40c09e(0x562,0x64)](_0x5a64e6[_0x1d5a59(0x144e,0x1641)][0x0])['height'],_0x36f165=new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace[(_0x1d5a59(0x221f,_0x20fa07._0x5b8a60))]({'positions':[_0x440e01[_0x40c09e(_0x20fa07._0x4b1064,_0x20fa07._0x1d5e59)][0x0],_0x440e01[_0x1d5a59(0x630,_0x20fa07._0x5a036d)][0x0]],'minimumHeights':[_0x1b833f,_0x1b833f],'vertexFormat':Cesium__namespace['MaterialAppearance']['MaterialSupport']['TEXTURED']['vertexFormat']})}),_0x269347=Cesium__namespace['Cartographic']['fromCartesian'](_0x5a64e6[_0x1d5a59(0x1715,_0x20fa07._0x72de69)][_0x5a64e6['leftPoints']['length']-0x1])[_0x1d5a59(0xa47,0xb81)],_0x5901a6=new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace[(_0x1d5a59(0x1048,0x18e4))]({'positions':[_0x440e01['leftPoints'][_0x440e01[_0x1d5a59(0x20b2,0x1641)]['length']-0x1],_0x440e01[_0x40c09e(_0x20fa07._0x1f8cc9,-0xa1)][_0x440e01[_0x1d5a59(0x2b9,0xd4a)][_0x40c09e(0x116e,_0x20fa07._0x5184b2)]-0x1]],'minimumHeights':[_0x269347,_0x269347],'vertexFormat':Cesium__namespace[_0x1d5a59(-_0x20fa07._0x3d1e2c,0x697)]['MaterialSupport'][_0x40c09e(0x582,-_0x20fa07._0x1b29b9)]['vertexFormat']})});_0x56d82d[_0x1d5a59(_0x20fa07._0x5830cc,0x628)](_0x36f165),_0x56d82d[_0x40c09e(_0x20fa07._0x493655,0x7a6)](_0x5901a6);}return _0x56d82d;}['_createAppearance'](_0x54ca89,_0x30be40,_0x3bb4a6){const _0xd52d27={..._0x54ca89};return new Cesium__namespace['MaterialAppearance'](_0xd52d27);}['_conversionStyle'](_0x2390f5){const _0x5bd770={_0x354cab:0xdd},_0x7479b9={_0x2578bb:0x544};function _0x313af5(_0x34f7b6,_0x588785){return _0x306755(_0x588785,_0x34f7b6- -_0x7479b9._0x2578bb);}return WallStyleConver[_0x313af5(0xb08,_0x5bd770._0x354cab)](_0x2390f5);}[_0x2b6441(0x242,0x36)](_0x465cb5,_0x50c8e7){return WallStyleConver['toJSON'](_0x465cb5,_0x50c8e7);}[_0x306755(0x41f,0xe88)](_0x774fc4){const _0x9a0244={_0xf67fae:0x2e5,_0x3d689c:0x40f,_0x231aac:0x475,_0x42eef6:0x3b4},_0x4ad566={_0x359928:0x3e1};function _0x1c52ae(_0x599a6d,_0x230e15){return _0x306755(_0x599a6d,_0x230e15- -0x611);}this['_isCircle']&&Cesium__namespace['defined'](_0x774fc4[_0x1c52ae(-0x996,0xb5)])&&(this['radius']=_0x774fc4[_0x528d5f(_0x9a0244._0xf67fae,-0x5d9)]);function _0x528d5f(_0x10bacf,_0x18a0b3){return _0x306755(_0x18a0b3,_0x10bacf- -_0x4ad566._0x359928);}Cesium__namespace[_0x1c52ae(0x8ff,0x11a1)](_0x774fc4[_0x1c52ae(-0x38,_0x9a0244._0x3d689c)])&&(this[_0x528d5f(_0x9a0244._0x231aac,_0x9a0244._0x42eef6)][_0x1c52ae(-0x3e5,0x40f)]=_0x774fc4['diffHeight']);}['_getDrawEntityClass'](_0x277e48,_0x5d8450){return create$5('wall',_0x277e48);}}register$5('thickWall',ThickWall);var DynamicRiverFS=_0x306755(0x11cb,0xb01),DynamicRiverVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0a\x0aout\x20vec3\x20v_positionMC;\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec2\x20v_st;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x0a\x20\x20v_positionMC\x20=\x20position3DHigh\x20+\x20position3DLow;\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20position\x20in\x20model\x20coordinates\x20MARS3D\x0a\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x20\x20\x20\x20\x20//\x20position\x20in\x20eye\x20coordinates\x0a\x20\x20v_st\x20=\x20st;\x0a\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a}\x0a',DynamicRiverMaterial=_0x306755(0xe05,0x1837);const DEF_STYLE$k={'opacity':0.5,'width':0xa,'height':0x0,'speed':0xa,'axisY':![],'move':!![],'direction':!![],'moveVar':new Cesium__namespace['Cartesian3'](0x32,0x1,0x64)};class DynamicRiver extends BasePolyPrimitive{constructor(_0x44428f={}){const _0x432baa={_0x3c422f:0x932},_0x213e0e={_0x425014:0xdc};function _0x558da2(_0x3ef75f,_0x238598){return _0x306755(_0x238598,_0x3ef75f-_0x213e0e._0x425014);}_0x44428f[_0x558da2(0x932,0x2fd)]={...DEF_STYLE$k,..._0x44428f[_0x558da2(_0x432baa._0x3c422f,0xdb1)]};function _0x1ce8ec(_0x56a50c,_0x3deb8b){return _0x306755(_0x3deb8b,_0x56a50c-0x144);}super(_0x44428f);}get['czmObject'](){const _0xdce014={_0x3b5cbc:0x633};function _0x40b01a(_0xbda47b,_0x49a578){return _0x306755(_0x49a578,_0xbda47b- -_0xdce014._0x3b5cbc);}return this[_0x40b01a(0x914,0xa5d)];}get['image'](){const _0x4bf72e={_0x3b72b5:0x250},_0x8af30f={_0x33c622:0x467};function _0x4ee235(_0x523d60,_0x59471f){return _0x2b6441(_0x523d60,_0x59471f-0x2d9);}function _0x449572(_0x5dfeb7,_0x478957){return _0x306755(_0x478957,_0x5dfeb7- -_0x8af30f._0x33c622);}return this[_0x449572(0x3ef,0xb1)][_0x449572(_0x4bf72e._0x3b72b5,-0x400)];}set[_0x306755(-0x157,0x6b7)](_0x16d8d1){this['style']['image']=_0x16d8d1,this['_material']['uniforms']['image']=_0x16d8d1;}get[_0x306755(0xd31,0xbeb)](){return this['style']['width'];}set[_0x2b6441(-0x350,0x64a)](_0xeef7a2){const _0x34865e={_0xce38a7:0x197},_0x36c2ef={_0x157099:0x302};_0xeef7a2=Number(_0xeef7a2)||0x1,this['style']['width']=_0xeef7a2;function _0x1d0e99(_0xf9dd7f,_0x5d9637){return _0x306755(_0xf9dd7f,_0x5d9637- -_0x36c2ef._0x157099);}this[_0x1d0e99(0x7a5,_0x34865e._0xce38a7)](this['style']);}get['height'](){return this['style']['height'];}set['height'](_0x4b2003){const _0x377923={_0x8418c:0x5b4};this['style'][_0xad613b(0x63e,-0x13b)]=_0x4b2003;function _0xad613b(_0x2030b0,_0x3bec6a){return _0x306755(_0x3bec6a,_0x2030b0- -_0x377923._0x8418c);}this['redraw'](this['style']);}get[_0x306755(0xaa2,0xb49)](){const _0x168ecc={_0x157926:0x86b};function _0x635ff4(_0x2c72ac,_0x1b77fa){return _0x306755(_0x1b77fa,_0x2c72ac-0x15);}function _0xe3b8c2(_0x344805,_0xa4ca0e){return _0x306755(_0x344805,_0xa4ca0e-0xec);}return this[_0x635ff4(_0x168ecc._0x157926,0x12be)][_0xe3b8c2(0x561,0xc35)];}set['opacity'](_0xd4586){const _0xf73ce6={_0x259e25:0xc8f};function _0x398a1c(_0x3aaa19,_0x65247f){return _0x2b6441(_0x3aaa19,_0x65247f-0x6e7);}this['style']['opacity']=Number(_0xd4586),this['_material']['uniforms'][_0x398a1c(0x13e3,_0xf73ce6._0x259e25)]=_0xd4586;}get['direction'](){const _0x59a5ca={_0x2da677:0x191b,_0x12de5c:0xf5c};function _0x2e92da(_0x4e995d,_0x35422f){return _0x2b6441(_0x4e995d,_0x35422f- -0x3e);}return this['style'][_0x2e92da(_0x59a5ca._0x2da677,_0x59a5ca._0x12de5c)];}set['direction'](_0x48b7d4){const _0x412d2d={_0x1c3acb:0x9a7},_0x4584dd={_0x3c936f:0xc};function _0x2da1a9(_0x3f4b9d,_0x576c8a){return _0x2b6441(_0x576c8a,_0x3f4b9d-_0x4584dd._0x3c936f);}_0x48b7d4=Boolean(_0x48b7d4),this['style']['direction']=_0x48b7d4,this['_material']['uniforms'][_0x2da1a9(0xfa6,_0x412d2d._0x1c3acb)]=_0x48b7d4?-0x1:0x1;}get['speed'](){return this['style']['speed'];}set['speed'](_0x5b2441){const _0x463396={_0x390e10:0xc5d};_0x5b2441=Number(_0x5b2441)||0x1;function _0x39c3c5(_0x5bb5dc,_0x5bcf8f){return _0x306755(_0x5bb5dc,_0x5bcf8f- -0x1ae);}function _0x500f2d(_0x1408df,_0x4fc4f1){return _0x306755(_0x1408df,_0x4fc4f1- -0x2ce);}this['style']['speed']=_0x5b2441,this[_0x500f2d(0x78f,0x2f5)][_0x39c3c5(_0x463396._0x390e10,0x106c)]['speed']=_0x5b2441;}get[_0x2b6441(0x161a,0x1265)](){function _0x4b698f(_0x592b39,_0x2070e8){return _0x2b6441(_0x592b39,_0x2070e8-0x664);}return this['style'][_0x4b698f(0x1f15,0x18c9)];}set['move'](_0x2de66e){_0x2de66e=Boolean(_0x2de66e),this['style']['move']=_0x2de66e,this['_material']['uniforms']['move']=_0x2de66e;}get['axisY'](){const _0x16e4e3={_0x316a36:0x168};function _0x132044(_0x1464a0,_0x4b7c48){return _0x2b6441(_0x4b7c48,_0x1464a0-_0x16e4e3._0x316a36);}return this[_0x132044(0x41d,0x2cd)]['axisY'];}set['axisY'](_0xe371af){const _0xcd2f1c={_0x373357:0x14ea,_0x2ab34f:0xc32,_0x39d2c4:0x50f,_0x4cb553:0x1180},_0x3d5c42={_0x4f4970:0x4ed};function _0x12cd40(_0x2df8af,_0x299a77){return _0x2b6441(_0x2df8af,_0x299a77-_0x3d5c42._0x4f4970);}_0xe371af=Boolean(_0xe371af),this['style'][_0x170842(_0xcd2f1c._0x373357,0x1bf1)]=_0xe371af;function _0x170842(_0xcd1a7,_0x3c06f0){return _0x306755(_0x3c06f0,_0xcd1a7- -0x235);}this[_0x12cd40(_0xcd2f1c._0x2ab34f,_0xcd2f1c._0x39d2c4)][_0x170842(0xfe5,_0xcd2f1c._0x4cb553)]['axisY']=_0xe371af;}get['moveVar'](){function _0x7e051(_0x49df95,_0x11fa42){return _0x2b6441(_0x49df95,_0x11fa42-0x64);}return this[_0x7e051(-0xe1,0x319)]['moveVar'];}set[_0x2b6441(0x1395,0x95e)](_0x3c021a){const _0x1f4b76={_0xd4bfaf:0x43e,_0x53a6f3:0xa0b,_0x15e56c:0xaf7};this[_0x349b98(0x5bf,_0x1f4b76._0xd4bfaf)][_0x492a7c(0xaf7,0x594)]=_0x3c021a;function _0x492a7c(_0x5bb9ab,_0x27121d){return _0x2b6441(_0x27121d,_0x5bb9ab-0x199);}function _0x349b98(_0xd66fd2,_0x191184){return _0x2b6441(_0x191184,_0xd66fd2-0x30a);}this[_0x492a7c(0x1bb,_0x1f4b76._0x53a6f3)]['uniforms'][_0x492a7c(_0x1f4b76._0x15e56c,0x29e)]=_0x3c021a;}[_0x306755(0x3f8,0x99e)](_0x23e040){const _0x24a19c={_0x5cd75f:0xb33,_0x51180e:0x17bd,_0x20a307:0x1965,_0x90fc0f:0xc4e,_0x4a6f5d:0x7ec,_0x102998:0xa4d},_0x470e1e={_0x4ebad7:0x3c5};if(!this[_0x4e0677(_0x24a19c._0x5cd75f,0x13b7)]||!this['positions']||this[_0x4e0677(0x166e,_0x24a19c._0x51180e)][_0x4e0677(_0x24a19c._0x20a307,0x141f)]===0x0)return;this[_0x4833ce(0xf4d,0x133f)]=Lines2Plane(this['positions'],this['width'],this['height']);if(!this['_sideRes'])return;this['_primitive']=this['createPrimitive'](),this[_0x4833ce(0x8fe,_0x24a19c._0x90fc0f)]['add'](this['_primitive']);_0x23e040[_0x4e0677(_0x24a19c._0x4a6f5d,0x68f)]&&this[_0x4833ce(0x875,0x5b8)](_0x23e040[_0x4e0677(_0x24a19c._0x102998,0x68f)]);function _0x4833ce(_0x22c801,_0x2072ba){return _0x306755(_0x2072ba,_0x22c801- -0x44b);}function _0x4e0677(_0x44f7b5,_0x300089){return _0x2b6441(_0x44f7b5,_0x300089-_0x470e1e._0x4ebad7);}this['_availability']&&this['_updateAvailabilityHook'](this['_availability']);}[_0x2b6441(0x2fe,0x88a)](){const _0x20fa83={_0x2908cc:0x14d2,_0x52618b:0x9db,_0x38db26:0x11bd,_0xd704b5:0x1be,_0x47e876:0x805,_0x52e3d9:0x176a,_0x2d0c8a:0x594,_0x4f7cbb:0xf60},_0x3dd58f={_0x580466:0x5d};!this[_0x4b458c(0xb91,_0x20fa83._0x2908cc)]&&(this['stopDraw'](),this[_0x4b458c(_0x20fa83._0x52618b,_0x20fa83._0x38db26)]());function _0x30d0be(_0x527aa0,_0x538ecb){return _0x306755(_0x538ecb,_0x527aa0- -0x2f);}function _0x4b458c(_0x58000a,_0x3e7f5a){return _0x2b6441(_0x3e7f5a,_0x58000a-_0x3dd58f._0x580466);}this['dhEvent']&&(this[_0x30d0be(0x179a,0x14e8)][_0x4b458c(0x428,-_0x20fa83._0xd704b5)](EventType['clockTick'],this['dhEvent'],this),delete this[_0x4b458c(0x6d,-0x9c5)]),this['_primitive']&&(this[_0x4b458c(_0x20fa83._0x47e876,0xcd8)][_0x30d0be(0x98d,0xa9)](this[_0x30d0be(0xf18,_0x20fa83._0x52e3d9)]),delete this['_primitive']),this[_0x30d0be(_0x20fa83._0x2d0c8a,0xf52)]&&(this['_material'][_0x30d0be(_0x20fa83._0x4f7cbb,0x9c1)](),delete this['_material']);}['_updateStyleHook'](_0x184d4b,_0x38d674){const _0x4cfdb3={_0x3ef2e2:0x13f5,_0x315995:0x1567,_0x1c0649:0x40b,_0x449f7d:0x1c4,_0x36a65d:0x1062,_0x3ee13c:0xf24,_0x209b58:0x353,_0x40e159:0x73};function _0x105490(_0x40ef42,_0x39d848){return _0x306755(_0x39d848,_0x40ef42- -0x146);}function _0x4c59df(_0x37efc6,_0x1bd7cb){return _0x2b6441(_0x1bd7cb,_0x37efc6-0x3e9);}let _0x2450b4=![];for(const _0x180f69 in _0x38d674){switch(_0x180f69){case'image':case _0x105490(0xa03,0x86b):case'moveVar':case _0x105490(_0x4cfdb3._0x3ef2e2,0x158f):case _0x4c59df(0xcc2,0x16fe):case _0x4c59df(_0x4cfdb3._0x315995,0x17ec):case'globalAlpha':this[_0x4c59df(_0x4cfdb3._0x1c0649,_0x4cfdb3._0x449f7d)][_0x4c59df(_0x4cfdb3._0x36a65d,_0x4cfdb3._0x3ee13c)][_0x180f69]=_0x38d674[_0x180f69];break;default:_0x2450b4=!![];break;}}_0x2450b4&&this[_0x105490(_0x4cfdb3._0x209b58,_0x4cfdb3._0x40e159)](_0x184d4b);}[_0x306755(0x828,0x9c3)](){const _0x2564e0={_0x49ce4e:0xb6c,_0x97a4a4:0xbf8,_0x22ac51:0x1934,_0x5b0a04:0xf85},_0x167799={_0x3936d8:0xf9},_0x272e61=this['_sideRes'],_0x13df61=new Float64Array(_0x272e61['vertexs']),_0x3188b6=new Cesium__namespace['GeometryAttributes']();_0x3188b6[_0x5b8549(0x15c1,0x10fe)]=new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x13df61}),_0x3188b6['st']=new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x379a20(0x14ce,0xa48)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x272e61['uvs']});const _0x3f1383=new Cesium__namespace[(_0x379a20(0x1772,0x1a47))]({'attributes':_0x3188b6,'indices':_0x272e61['indexs'],'primitiveType':Cesium__namespace[_0x5b8549(_0x2564e0._0x49ce4e,_0x2564e0._0x97a4a4)]['TRIANGLES'],'boundingSphere':Cesium__namespace['BoundingSphere']['fromVertices'](_0x13df61)}),_0xd5c01d={};_0xd5c01d['id']=this['id'],_0xd5c01d['geometry']=_0x3f1383;const _0x33f9a7=new Cesium__namespace['GeometryInstance'](_0xd5c01d),_0x1c5954=new Cesium__namespace['RenderState']();function _0x379a20(_0x336020,_0xf756bf){return _0x306755(_0xf756bf,_0x336020- -0x9f);}_0x1c5954['depthTest']['enabled']=!![],this['_material']=createMaterial(MaterialType,{'image':this['image'],'opacity':this['opacity'],'moveVar':this[_0x5b8549(0x10cb,0xe06)],'direction':this['direction']?-0x1:0x1,'speed':this['speed'],'move':this['move'],'axisY':this['axisY'],'globalAlpha':0x1});const _0x416abb={};_0x416abb['material']=this['_material'],_0x416abb['renderState']=_0x1c5954,_0x416abb[_0x379a20(_0x2564e0._0x22ac51,0x1d42)]=DynamicRiverVS,_0x416abb[_0x5b8549(0x76b,0xe8a)]=DynamicRiverFS;function _0x5b8549(_0x37b78f,_0x29b3d8){return _0x306755(_0x37b78f,_0x29b3d8- -_0x167799._0x3936d8);}const _0x209df0=new Cesium__namespace['Primitive']({'geometryInstances':_0x33f9a7,'appearance':new Cesium__namespace[(_0x379a20(_0x2564e0._0x5b0a04,0x1243))](_0x416abb)});return _0x209df0;}['setOffsetHeight'](_0x416eb4,_0xce00a9){const _0x1f9eee={_0xe738d0:0x768},_0x1985d5={_0x133de9:0x5d5,_0x305e59:0x486,_0x59906d:0x314,_0x351e25:0x2a1,_0x5b9c81:0xbd9};if(!_0x416eb4||!_0xce00a9||!this[_0x46caaa(0x1080,0x916)])return;let _0x447d75=0x0;const _0x396dc2=0x14,_0x34274b=_0x416eb4/(_0xce00a9*_0x396dc2),_0x2ec52f=this['_sideRes']['self'],_0x24e652=new Cesium__namespace['Cartesian3']();for(let _0x3d69b0=0x0,_0x128307=_0x2ec52f['length'];_0x3d69b0<_0x128307;_0x3d69b0++){const _0x4c27aa=Cesium__namespace[_0x46caaa(0x840,0x3f0)]['normalize'](_0x2ec52f[_0x3d69b0],new Cesium__namespace['Cartesian3']());Cesium__namespace['Cartesian3']['add'](_0x24e652,_0x4c27aa,_0x24e652);}Cesium__namespace[_0x46caaa(0x414,0x3f0)][_0x112006(-0x163,0x58d)](_0x24e652,_0x24e652);function _0x46caaa(_0x5f2e2b,_0x52ef17){return _0x2b6441(_0x5f2e2b,_0x52ef17- -0x90);}function _0x112006(_0x3bd1d9,_0x2788a4){return _0x2b6441(_0x3bd1d9,_0x2788a4-0x3e7);}const _0xa5843=Cesium__namespace[_0x46caaa(_0x1f9eee._0xe738d0,0x2d7)](this['_primitive']['modelMatrix']);this['dhEvent']=function(){if(!this[_0x4a15ca(0xeb2,0xcaa)]||!this['_map'])return;if(Math[_0x4a15ca(0xa81,0x11c4)](_0x447d75)<=Math['abs'](_0x416eb4)){const _0x450827=Cesium__namespace['Cartesian3'][_0x462bbe(0x1198,0xdc9)](_0x24e652,_0x447d75,new Cesium__namespace['Cartesian3']());this['_primitive']['modelMatrix']=Cesium__namespace['Matrix4'][_0x462bbe(0x988,0x9c)](_0xa5843,_0x450827,new Cesium__namespace[(_0x462bbe(0x862,_0x1985d5._0x133de9))]());}else this[_0x4a15ca(-_0x1985d5._0x305e59,_0x1985d5._0x59906d)]&&(this['_map'][_0x462bbe(0x65c,-0x67)](EventType['clockTick'],this[_0x462bbe(_0x1985d5._0x351e25,_0x1985d5._0x5b9c81)],this),delete this['dhEvent']);function _0x4a15ca(_0x3763df,_0x1ed8d5){return _0x112006(_0x3763df,_0x1ed8d5- -0xe3);}function _0x462bbe(_0x518852,_0x2b0406){return _0x112006(_0x2b0406,_0x518852- -0x156);}_0x447d75+=_0x34274b;},this['_map']['on'](EventType[_0x46caaa(0xadf,0xc6f)],this['dhEvent'],this);}['setOpacity'](_0x6afaab){const _0x3c3570={_0x41ca66:0x953,_0x4475f6:0x1ac},_0x314497={_0x320e03:0x60d};function _0x4b4426(_0x1bc8b0,_0x4d0564){return _0x2b6441(_0x4d0564,_0x1bc8b0-_0x314497._0x320e03);}this[_0x3b365c(0x43f,_0x3c3570._0x41ca66)]['globalAlpha']=_0x6afaab;function _0x3b365c(_0xa44bb1,_0xa5367f){return _0x2b6441(_0xa5367f,_0xa44bb1-0x18a);}this['_material']&&(this[_0x3b365c(_0x3c3570._0x4475f6,0x7bd)]['uniforms'][_0x4b4426(0x182a,0x1afb)]=_0x6afaab);}['_getDrawEntityClass'](_0x11348b,_0x5d8fa6){const _0x5c2686={_0x51b295:0xb9};_0x11348b[_0xfc7bd0(-0x15d,0x36e)]['width']=0x5;function _0xfc7bd0(_0x391219,_0x322e9c){return _0x2b6441(_0x391219,_0x322e9c-_0x5c2686._0x51b295);}return create$5('polyline',_0x11348b);}}register$5(_0x306755(0x416,0xbc3),DynamicRiver);const MaterialType=_0x2b6441(0x8b2,0xd51);register$4(MaterialType,{'fabric':{'uniforms':{'image':Cesium__namespace[_0x2b6441(0x991,0x966)][_0x306755(0xa46,0x930)],'opacity':0x1,'moveVar':new Cesium__namespace['Cartesian3'](0x32,0x1,0x64),'direction':0x1,'speed':0x1,'move':!![],'axisY':![],'globalAlpha':0x1},'source':DynamicRiverMaterial},'translucent':!![]});function Lines2Plane(_0x1d1f4c,_0xb994bc,_0x2554a3){const _0xf9d2bc={_0x15b757:0xd89,_0x454403:0x257,_0x372eb8:0x3f1,_0x5dba0a:0x47e,_0x35d791:0xf0a,_0x2e63c3:0x959,_0x203d45:0x1568,_0x4f6976:0xa12,_0x3b9161:0x5ad,_0x49bf92:0x39a,_0x3a173d:0x4e7,_0x32dab4:0x8f,_0x3e708a:0xdba,_0x3a43d2:0x85e,_0x52e618:0x102c,_0x2ff00d:0x663,_0x257e5d:0xb3e},_0x484bec={_0x61a3bc:0x15f};if(!_0x1d1f4c||_0x1d1f4c['length']<=0x1||!_0xb994bc||_0xb994bc===0x0){logError(_0x464cfa(0x11fb,0x154d),_0x1d1f4c);return;}const _0xb33081=_0x1d1f4c['length'],_0x56e18b=[],_0x570ca5=[],_0x487d87=_0xb994bc/0x2;for(let _0x5958c4=0x0;_0x5958c4<_0xb33081;_0x5958c4++){let _0x470844,_0x2f2e65,_0x320147,_0x48d452,_0x3cc537;if(_0x5958c4===0x0)_0x470844=_0x1d1f4c[_0x5958c4],_0x2f2e65=_0x1d1f4c[_0x5958c4],_0x320147=_0x1d1f4c[_0x5958c4+0x1];else _0x5958c4===_0xb33081-0x1?(_0x470844=_0x1d1f4c[_0x5958c4-0x1],_0x2f2e65=_0x1d1f4c[_0x5958c4],_0x320147=_0x1d1f4c[_0x5958c4-0x1]):(_0x470844=_0x1d1f4c[_0x5958c4-0x1],_0x2f2e65=_0x1d1f4c[_0x5958c4],_0x320147=_0x1d1f4c[_0x5958c4+0x1]);_0x2554a3!==0x0&&(_0x470844=RaisePoint(_0x470844,_0x2554a3),_0x2f2e65=RaisePoint(_0x2f2e65,_0x2554a3),_0x320147=RaisePoint(_0x320147,_0x2554a3));if(_0x470844&&_0x2f2e65&&_0x320147){const _0x1c8b2d=GetSide2(_0x470844,_0x2f2e65,_0x320147,_0x487d87);_0x48d452=_0x1c8b2d[_0x464cfa(_0xf9d2bc._0x15b757,0x96a)],_0x3cc537=_0x1c8b2d[_0x464cfa(0x1314,0x906)],_0x56e18b['push'](_0x3cc537),_0x570ca5[_0x4ddcb9(0x257,0xab5)](_0x48d452);}}const _0x20e413=_0x56e18b,_0x17a7ac=_0x570ca5,_0x267d8d=[];function _0x464cfa(_0x36083d,_0x96e153){return _0x2b6441(_0x96e153,_0x36083d-0x386);}const _0x2c054d=[],_0x20a2bb=[],_0x2b0e52=[],_0xd4b036=[];for(let _0x428843=0x0;_0x428843<_0xb33081;_0x428843++){const _0x4f02db=Cesium__namespace['EncodedCartesian3']['fromCartesian'](_0x17a7ac[_0x428843]);_0x2c054d['push'](_0x17a7ac[_0x428843]['x']),_0x2c054d['push'](_0x17a7ac[_0x428843]['y']),_0x2c054d[_0x4ddcb9(_0xf9d2bc._0x454403,-0x48f)](_0x17a7ac[_0x428843]['z']),_0x20a2bb[_0x464cfa(0x47e,0x8e3)](_0x4f02db['high']['x']),_0x20a2bb[_0x4ddcb9(0x257,0x62e)](_0x4f02db[_0x4ddcb9(0x4e7,-0x2f5)]['y']),_0x20a2bb['push'](_0x4f02db['high']['z']),_0x2b0e52['push'](_0x4f02db['low']['x']),_0x2b0e52['push'](_0x4f02db[_0x4ddcb9(0xc25,0x307)]['y']),_0x2b0e52[_0x4ddcb9(0x257,_0xf9d2bc._0x372eb8)](_0x4f02db['low']['z']),_0x267d8d['push'](0x1,0x1),_0x428843<_0xb33081-0x1&&(_0xd4b036[_0x4ddcb9(_0xf9d2bc._0x454403,-0x6e6)](_0x428843+_0xb33081*0x2),_0xd4b036[_0x464cfa(0x47e,0x75f)](_0x428843+0x1),_0xd4b036['push'](_0x428843+0x1+_0xb33081),_0xd4b036[_0x464cfa(_0xf9d2bc._0x5dba0a,_0xf9d2bc._0x35d791)](_0x428843+_0xb33081*0x2),_0xd4b036[_0x4ddcb9(0x257,0x9e)](_0x428843+0x1+_0xb33081),_0xd4b036['push'](_0xb33081+_0x428843+_0xb33081*0x2));}for(let _0x5b9484=0x0;_0x5b9484<_0xb33081;_0x5b9484++){const _0x48c095=Cesium__namespace['EncodedCartesian3']['fromCartesian'](_0x20e413[_0x5b9484]);_0x2c054d[_0x4ddcb9(0x257,0x3b7)](_0x20e413[_0x5b9484]['x']),_0x2c054d[_0x4ddcb9(_0xf9d2bc._0x454403,-0x62e)](_0x20e413[_0x5b9484]['y']),_0x2c054d[_0x4ddcb9(0x257,0x3f3)](_0x20e413[_0x5b9484]['z']),_0x20a2bb['push'](_0x48c095['high']['x']),_0x20a2bb['push'](_0x48c095[_0x464cfa(0x70e,0x19a)]['y']),_0x20a2bb[_0x4ddcb9(0x257,_0xf9d2bc._0x2e63c3)](_0x48c095[_0x4ddcb9(0x4e7,0x708)]['z']),_0x2b0e52['push'](_0x48c095[_0x464cfa(0xe4c,0x8e9)]['x']),_0x2b0e52[_0x4ddcb9(_0xf9d2bc._0x454403,0x3b3)](_0x48c095[_0x4ddcb9(0xc25,_0xf9d2bc._0x203d45)]['y']),_0x2b0e52[_0x464cfa(0x47e,_0xf9d2bc._0x4f6976)](_0x48c095['low']['z']),_0x267d8d['push'](0x1,0x0);}function _0x4ddcb9(_0x358611,_0x1f9b4f){return _0x2b6441(_0x1f9b4f,_0x358611-_0x484bec._0x61a3bc);}for(let _0x5bc3bd=0x0;_0x5bc3bd<_0xb33081;_0x5bc3bd++){const _0x288867=Cesium__namespace['EncodedCartesian3'][_0x4ddcb9(_0xf9d2bc._0x3b9161,-_0xf9d2bc._0x49bf92)](_0x17a7ac[_0x5bc3bd]);_0x2c054d['push'](_0x17a7ac[_0x5bc3bd]['x']),_0x2c054d['push'](_0x17a7ac[_0x5bc3bd]['y']),_0x2c054d['push'](_0x17a7ac[_0x5bc3bd]['z']),_0x20a2bb['push'](_0x288867['high']['x']),_0x20a2bb[_0x464cfa(_0xf9d2bc._0x5dba0a,-0x4f1)](_0x288867[_0x4ddcb9(_0xf9d2bc._0x3a173d,0xcc5)]['y']),_0x20a2bb['push'](_0x288867[_0x464cfa(0x70e,_0xf9d2bc._0x32dab4)]['z']),_0x2b0e52['push'](_0x288867['low']['x']),_0x2b0e52['push'](_0x288867['low']['y']),_0x2b0e52['push'](_0x288867[_0x4ddcb9(0xc25,_0xf9d2bc._0x3e708a)]['z']),_0x267d8d['push'](0x0,0x1);}for(let _0x47d5dc=0x0;_0x47d5dc<_0xb33081;_0x47d5dc++){const _0x273087=Cesium__namespace[_0x464cfa(0x6a1,_0xf9d2bc._0x3a43d2)][_0x4ddcb9(0x5ad,_0xf9d2bc._0x52e618)](_0x20e413[_0x47d5dc]);_0x2c054d['push'](_0x20e413[_0x47d5dc]['x']),_0x2c054d[_0x464cfa(_0xf9d2bc._0x5dba0a,_0xf9d2bc._0x2ff00d)](_0x20e413[_0x47d5dc]['y']),_0x2c054d['push'](_0x20e413[_0x47d5dc]['z']),_0x20a2bb['push'](_0x273087['high']['x']),_0x20a2bb['push'](_0x273087['high']['y']),_0x20a2bb[_0x4ddcb9(_0xf9d2bc._0x454403,_0xf9d2bc._0x257e5d)](_0x273087['high']['z']),_0x2b0e52[_0x4ddcb9(0x257,0x73c)](_0x273087[_0x4ddcb9(0xc25,0x5ad)]['x']),_0x2b0e52[_0x4ddcb9(0x257,0x796)](_0x273087['low']['y']),_0x2b0e52['push'](_0x273087['low']['z']),_0x267d8d['push'](0x0,0x0);}return{'left':_0x20e413,'right':_0x17a7ac,'self':_0x1d1f4c,'vertexs':new Float32Array(_0x2c054d),'vertexsH':new Float32Array(_0x20a2bb),'vertexsL':new Float32Array(_0x2b0e52),'indexs':new Uint16Array(_0xd4b036),'uvs':new Float32Array(_0x267d8d)};}function RaisePoint(_0x547254,_0x3b3fa4){const _0x219ac0={_0x5c3024:0x13db,_0x50218f:0xba1};if(!(_0x547254 instanceof Cesium__namespace['Cartesian3'])){logError('请确认点是Cartesian3类型!');return;}function _0x127716(_0x43373e,_0x16bdd7){return _0x2b6441(_0x16bdd7,_0x43373e- -0x4e);}if(!_0x3b3fa4||_0x3b3fa4===0x0){logError(_0x96fc6b(_0x219ac0._0x5c3024,_0x219ac0._0x50218f));return;}function _0x96fc6b(_0x3dc2ca,_0x4c1aa7){return _0x306755(_0x4c1aa7,_0x3dc2ca- -0x32);}const _0x3bc1fc=Cesium__namespace['Cartesian3']['normalize'](_0x547254,new Cesium__namespace['Cartesian3']()),_0x256678=new Cesium__namespace['Ray'](_0x547254,_0x3bc1fc);return Cesium__namespace['Ray'][_0x96fc6b(0x72a,0x1149)](_0x256678,_0x3b3fa4);}function GetSide2(_0x11b47e,_0x131af0,_0x1100f2,_0xf32689){const _0x41ff6c={_0xc3db14:0x76,_0x669fbb:0x844,_0x180e50:0xadf,_0x109cf9:0x496,_0x49d654:0x898,_0x4e41bd:0x770,_0x4e051e:0x394,_0x5664f6:0x859,_0x3b512c:0xfab,_0x4f8d95:0x31c,_0x1e5d68:0x2b5,_0x16058c:0x95e,_0x518625:0xed7,_0x168bf7:0xfab,_0x371ce3:0xd36,_0x98d73d:0xe6d,_0x21e9c5:0x844,_0x2858e4:0xbdc,_0x17ce18:0xc06,_0x2f6391:0x4aa,_0x48cc66:0x136,_0x2e739e:0xfce,_0x3ebdad:0xf26,_0x4f0fe5:0x57f,_0x32cd68:0xa1c,_0x241b03:0x56a,_0x94ac71:0x770,_0x1ac6cd:0xe52,_0x29af49:0x128e,_0x544f2c:0x5be,_0x5a3841:0xed7,_0x1ea295:0x28b,_0x15030f:0x770,_0x47590f:0x391,_0x5d54e9:0xcf3},_0x3464ad={_0x44266a:0x3c4};let _0x3680aa,_0x447c90;if(Cesium__namespace['Cartesian3']['equals'](_0x11b47e,_0x131af0)){const _0x224e56=Cesium__namespace[_0x46b0f2(-_0x41ff6c._0xc3db14,_0x41ff6c._0x669fbb)][_0x2c6257(_0x41ff6c._0x180e50,_0x41ff6c._0x109cf9)](Cesium__namespace[_0x2c6257(_0x41ff6c._0x49d654,_0x41ff6c._0x4e41bd)]['subtract'](_0x1100f2,_0x131af0,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x54b08=Cesium__namespace['Cartesian3']['normalize'](_0x131af0,new Cesium__namespace[(_0x2c6257(0x824,0x770))]()),_0x5e6018=Cesium__namespace['Cartesian3']['cross'](_0x54b08,_0x224e56,new Cesium__namespace['Cartesian3']()),_0x354c97=Cesium__namespace['Cartesian3']['cross'](_0x224e56,_0x54b08,new Cesium__namespace['Cartesian3']()),_0x22e496=new Cesium__namespace['Ray'](_0x131af0,_0x5e6018),_0x448b23=new Cesium__namespace['Ray'](_0x131af0,_0x354c97);_0x3680aa=Cesium__namespace['Ray'][_0x46b0f2(-_0x41ff6c._0x4e051e,0x57f)](_0x22e496,_0xf32689),_0x447c90=Cesium__namespace[_0x46b0f2(_0x41ff6c._0x5664f6,_0x41ff6c._0x3b512c)]['getPoint'](_0x448b23,_0xf32689);}else{if(Cesium__namespace['Cartesian3']['equals'](_0x1100f2,_0x131af0)){const _0x3d2065=Cesium__namespace['Cartesian3'][_0x2c6257(_0x41ff6c._0x4f8d95,0x496)](Cesium__namespace[_0x2c6257(_0x41ff6c._0x1e5d68,0x770)][_0x2c6257(0xf4f,0xe6d)](_0x131af0,_0x11b47e,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x15c232=Cesium__namespace['Cartesian3'][_0x2c6257(-0x476,0x496)](_0x131af0,new Cesium__namespace['Cartesian3']()),_0x509561=Cesium__namespace['Cartesian3']['cross'](_0x15c232,_0x3d2065,new Cesium__namespace['Cartesian3']()),_0x2c7dee=Cesium__namespace['Cartesian3']['cross'](_0x3d2065,_0x15c232,new Cesium__namespace[(_0x2c6257(_0x41ff6c._0x16058c,0x770))]()),_0xacd858=new Cesium__namespace[(_0x2c6257(0x12c6,_0x41ff6c._0x518625))](_0x131af0,_0x509561),_0x578392=new Cesium__namespace[(_0x46b0f2(0xb78,_0x41ff6c._0x168bf7))](_0x131af0,_0x2c7dee);_0x3680aa=Cesium__namespace['Ray'][_0x46b0f2(0xdda,0x57f)](_0xacd858,_0xf32689),_0x447c90=Cesium__namespace['Ray']['getPoint'](_0x578392,_0xf32689);}else{const _0x702ee5=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace[_0x2c6257(0x6bf,0x770)][_0x2c6257(_0x41ff6c._0x371ce3,_0x41ff6c._0x98d73d)](_0x131af0,_0x11b47e,new Cesium__namespace['Cartesian3']()),new Cesium__namespace[(_0x46b0f2(0xbda,_0x41ff6c._0x21e9c5))]()),_0x1138c0=Cesium__namespace['Cartesian3'][_0x46b0f2(_0x41ff6c._0x2858e4,0x56a)](Cesium__namespace[_0x46b0f2(0xf41,0x844)]['subtract'](_0x1100f2,_0x131af0,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x3ab3bb=Cesium__namespace['Cartesian3']['add'](_0x702ee5,_0x1138c0,new Cesium__namespace[(_0x2c6257(_0x41ff6c._0x17ce18,0x770))]());if(Cesium__namespace['Cartesian3'][_0x2c6257(_0x41ff6c._0x2f6391,0xd04)](_0x3ab3bb,new Cesium__namespace[(_0x2c6257(0x120f,_0x41ff6c._0x4e41bd))]())){const _0x26ccc4=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace[_0x2c6257(0x14f,_0x41ff6c._0x4e41bd)]['subtract'](_0x131af0,_0x11b47e,new Cesium__namespace[(_0x2c6257(_0x41ff6c._0x48cc66,0x770))]()),new Cesium__namespace['Cartesian3']()),_0x1fbb83=Cesium__namespace['Cartesian3'][_0x46b0f2(_0x41ff6c._0x2e739e,0x56a)](_0x131af0,new Cesium__namespace[(_0x2c6257(-0x16c,0x770))]()),_0x4a15f8=Cesium__namespace['Cartesian3']['cross'](_0x1fbb83,_0x26ccc4,new Cesium__namespace[(_0x2c6257(-0x236,_0x41ff6c._0x4e41bd))]()),_0x370d46=Cesium__namespace['Cartesian3'][_0x46b0f2(0x662,_0x41ff6c._0x3ebdad)](_0x26ccc4,_0x1fbb83,new Cesium__namespace['Cartesian3']()),_0x5027c0=new Cesium__namespace['Ray'](_0x131af0,_0x4a15f8),_0x9dc84a=new Cesium__namespace['Ray'](_0x131af0,_0x370d46);_0x3680aa=Cesium__namespace[_0x2c6257(0x1821,0xed7)]['getPoint'](_0x5027c0,_0xf32689),_0x447c90=Cesium__namespace['Ray'][_0x46b0f2(0xef1,_0x41ff6c._0x4f0fe5)](_0x9dc84a,_0xf32689);}else{const _0x2a2245=Cesium__namespace['Cartesian3'][_0x46b0f2(_0x41ff6c._0x32cd68,_0x41ff6c._0x241b03)](_0x3ab3bb,new Cesium__namespace[(_0x2c6257(0xd26,_0x41ff6c._0x94ac71))]()),_0x306da5=Cesium__namespace[_0x46b0f2(0x2be,0x844)]['normalize'](_0x131af0,new Cesium__namespace['Cartesian3']()),_0x2862a7=Cesium__namespace['Cartesian3'][_0x2c6257(0xe20,_0x41ff6c._0x1ac6cd)](_0x306da5,_0x2a2245,new Cesium__namespace[(_0x2c6257(0xbff,0x770))]()),_0x3ea741=Cesium__namespace[_0x46b0f2(_0x41ff6c._0x29af49,_0x41ff6c._0x669fbb)][_0x46b0f2(_0x41ff6c._0x544f2c,0xf26)](_0x2a2245,_0x306da5,new Cesium__namespace[(_0x46b0f2(0x18,0x844))]()),_0x19cf74=new Cesium__namespace[(_0x2c6257(0x1401,_0x41ff6c._0x5a3841))](_0x131af0,_0x2862a7),_0xbf855a=new Cesium__namespace['Ray'](_0x131af0,_0x3ea741),_0x5a04a6=Cesium__namespace[_0x46b0f2(_0x41ff6c._0x1ea295,_0x41ff6c._0x21e9c5)][_0x46b0f2(0x1245,0x1817)](_0x702ee5,_0x1138c0),_0x3f671a=Cesium__namespace['Cartesian3'][_0x2c6257(0x17da,0x1089)](_0x702ee5),_0x5c5595=Cesium__namespace[_0x2c6257(0xe6,_0x41ff6c._0x15030f)]['magnitude'](_0x1138c0),_0x43e56e=_0x5a04a6/_0x3f671a/_0x5c5595,_0x59ea00=Cesium__namespace['Math']['toDegrees'](Math['acos'](_0x43e56e)),_0x456a69=_0x59ea00/0x2,_0x4195b0=Math['cos'](Cesium__namespace['Math']['toRadians'](_0x456a69)),_0xe0201f=_0xf32689*0x2/_0x4195b0;_0x3680aa=Cesium__namespace['Ray'][_0x46b0f2(-_0x41ff6c._0x47590f,0x57f)](_0x19cf74,_0xe0201f/0x2),_0x447c90=Cesium__namespace['Ray']['getPoint'](_0xbf855a,_0xe0201f/0x2);}}}const _0x12b10a={};_0x12b10a[_0x2c6257(0x13f3,_0x41ff6c._0x5d54e9)]=_0x3680aa;function _0x46b0f2(_0x1371dd,_0x507904){return _0x2b6441(_0x1371dd,_0x507904-_0x3464ad._0x44266a);}function _0x2c6257(_0x2ba931,_0x4f0907){return _0x2b6441(_0x2ba931,_0x4f0907-0x2f0);}return _0x12b10a['right']=_0x447c90,_0x12b10a;}const _0x10a6be={};_0x10a6be[_0x306755(0x765,0xb49)]=0x1,_0x10a6be[_0x306755(0xe43,0x1806)]=![],_0x10a6be['axisY']=!![];const DEF_STYLE$j=_0x10a6be;class Road extends DynamicRiver{constructor(_0x2eaea1={}){const _0x5724ae={_0x410ac4:0x78d};function _0x29ac82(_0x38ae93,_0x334692){return _0x2b6441(_0x334692,_0x38ae93-0x4d8);}_0x2eaea1['style']={...DEF_STYLE$j,..._0x2eaea1[_0x29ac82(_0x5724ae._0x410ac4,0x4f1)]},super(_0x2eaea1);}}register$5('road',Road);class Pit extends BasePolyPrimitive{constructor(_0x2ddcab={}){const _0x19b1a6={_0x59fffe:0xb0c,_0x348a9e:0x1f3,_0x4dc856:0x7bf,_0x52d621:0x30e,_0x89df95:0x128c},_0x1092a8={_0x301e7a:0x14e},_0x4d1c83={_0x167d7e:0x68d};function _0x47eb6a(_0x235426,_0x43513f){return _0x2b6441(_0x43513f,_0x235426-_0x4d1c83._0x167d7e);}function _0xb98265(_0x335ddb,_0x2d910){return _0x306755(_0x335ddb,_0x2d910-_0x1092a8._0x301e7a);}super(_0x2ddcab),this['style'][_0x47eb6a(_0x19b1a6._0x59fffe,_0x19b1a6._0x348a9e)]=this['style']['diffHeight']??0xa,this['style'][_0x47eb6a(_0x19b1a6._0x4dc856,-_0x19b1a6._0x52d621)]=this['style'][_0x47eb6a(_0x19b1a6._0x4dc856,_0x19b1a6._0x89df95)]??0x32;}get['czmObjectEx'](){const _0x2666c6={_0x23a351:0xa1c,_0x4aeecb:0x848,_0x8464e3:0x123e},_0x4e2ff7=[];this[_0x171579(_0x2666c6._0x23a351,_0x2666c6._0x4aeecb)]&&_0x4e2ff7['push'](this['_bottomPrimitive']);function _0x168194(_0x16e2a7,_0x2ad1c4){return _0x2b6441(_0x2ad1c4,_0x16e2a7-0x3b6);}this['_primitive_label']&&_0x4e2ff7['push'](this[_0x171579(0x15c7,_0x2666c6._0x8464e3)]);function _0x171579(_0x210020,_0xb7b5c4){return _0x2b6441(_0xb7b5c4,_0x210020-0x664);}return _0x4e2ff7;}get[_0x2b6441(-0x1b4,0x15b)](){return this['centerOfMass'];}get['diffHeight'](){const _0xa4fb10={_0x30b109:0x9a3},_0x4da2a1={_0x380534:0x14d},_0x15b1b5={_0x5b81f2:0xd2};function _0xa28b18(_0x58889f,_0x2ae27a){return _0x2b6441(_0x2ae27a,_0x58889f-_0x15b1b5._0x5b81f2);}function _0x461877(_0xb480ed,_0x3c870c){return _0x306755(_0x3c870c,_0xb480ed-_0x4da2a1._0x380534);}return this[_0x461877(_0xa4fb10._0x30b109,0xe9a)][_0xa28b18(0x551,0xa6e)];}set[_0x2b6441(0x228,0x47f)](_0x3e1cfc){const _0x3b52f2={_0x1ecb6b:0x1960,_0x6ba829:0x13fb,_0x4555f7:0x969,_0x13783c:0xb4e,_0x3d6717:0x1877,_0x4e5694:0x10a3};this['style']['diffHeight']=_0x3e1cfc;const _0x47dd91=[],_0x445dce=this['_minHeight']-_0x3e1cfc,_0x562c1f=this['wellData'][_0x1b4591(0x14b9,0x1064)],_0x7fcaee=new Array(_0x562c1f[_0x1b4591(_0x3b52f2._0x1ecb6b,_0x3b52f2._0x6ba829)]);for(let _0x33a7b6=0x0,_0x3e00bb=_0x562c1f[_0x1b4591(0x116a,0x13fb)];_0x33a7b6<_0x3e00bb;_0x33a7b6++){const _0x38782f=_0x562c1f[_0x33a7b6];_0x47dd91['push'](Cesium__namespace[_0x1b4591(_0x3b52f2._0x4555f7,0x821)][_0x5c34dc(_0x3b52f2._0x13783c,0x12a2)](_0x38782f[_0x5c34dc(0x10bd,0x8c6)],_0x38782f[_0x1b4591(0xeb2,0xdd3)],_0x445dce)),_0x7fcaee[_0x33a7b6]=_0x445dce;}function _0x5c34dc(_0x5e3fb8,_0x5ebe27){return _0x2b6441(_0x5ebe27,_0x5e3fb8-0x514);}this['wellData']['bottomPositions']=_0x47dd91,this['wellData'][_0x5c34dc(0x1343,0x1847)]=_0x7fcaee;function _0x1b4591(_0x48a23b,_0x2470b4){return _0x306755(_0x48a23b,_0x2470b4- -0x200);}this['_removePit'](),this['_createPit'](this[_0x1b4591(_0x3b52f2._0x3d6717,_0x3b52f2._0x4e5694)]);}['_getWellData'](){const _0x1ca63b={_0x4c3e34:0x185f,_0x469f0f:0x1a9a,_0x381ac1:0x185f,_0x397599:0xb45,_0x138db0:0xf4,_0x4eb16e:0x542,_0x472496:0x410,_0x2c2e32:0xddf,_0x2d1ace:0xf5f},_0x47d286={_0x517fea:0x13a};function _0x400f77(_0x266172,_0x57e4e7){return _0x306755(_0x266172,_0x57e4e7- -_0x47d286._0x517fea);}function _0x2d1557(_0x4185c,_0x712f0e){return _0x306755(_0x712f0e,_0x4185c- -0x628);}if(this[_0x400f77(0xf79,_0x1ca63b._0x4c3e34)]['length']===0x0)return;this['_minHeight']=getMinHeight(this[_0x400f77(_0x1ca63b._0x469f0f,_0x1ca63b._0x381ac1)]);const _0x3d85f0=this['_minHeight']-this['diffHeight'],_0x143f21=[],_0xe01b39=[],_0x37981a=interPolyline({'scene':this[_0x400f77(0x2136,0x168f)][_0x2d1557(0x43d,_0x1ca63b._0x397599)],'positions':this['positions'][_0x2d1557(0x7fe,-_0x1ca63b._0x138db0)](this['positions'][0x0]),'splitNum':this['style']['splitNum']}),_0x5b7ce0=_0x37981a['length'],_0x1978ca=new Array(_0x5b7ce0),_0x3c4ba8=new Array(_0x5b7ce0);for(let _0x534960=0x0;_0x534960<_0x5b7ce0;_0x534960++){const _0x262633=Cesium__namespace[_0x400f77(0x64a,0x7cf)]['fromCartesian'](_0x37981a[_0x534960]);_0xe01b39[_0x400f77(-_0x1ca63b._0x4eb16e,0x55f)](new Cesium__namespace[(_0x2d1557(0x2e1,-_0x1ca63b._0x472496))](_0x262633['longitude'],_0x262633['latitude'])),_0x1978ca[_0x534960]=_0x3d85f0,_0x3c4ba8[_0x534960]=0x0,_0x143f21['push'](Cesium__namespace[_0x400f77(0x979,0x8e7)][_0x400f77(_0x1ca63b._0x2c2e32,0xaa1)](_0x262633['longitude'],_0x262633['latitude'],_0x3d85f0));}const _0x9b75bc={};return _0x9b75bc['cartoList']=_0xe01b39,_0x9b75bc[_0x2d1557(_0x1ca63b._0x2d1ace,0xf3e)]=_0x143f21,_0x9b75bc['minimumHeights']=_0x1978ca,_0x9b75bc['maximumHeights']=_0x3c4ba8,_0x9b75bc;}['_addedHook'](_0x32ab37){const _0x3be01d={_0x34eb57:0xc49,_0x3ca28f:0x13b,_0x40868a:0x6eb};if(!this['show']||!this['positions']||this[_0x1ccbba(0x1651,0x1e4c)]['length']===0x0)return;const _0x3f6201=this[_0x1ccbba(0x7c9,0x1158)]();this[_0x1ccbba(0xf5b,_0x3be01d._0x34eb57)]=_0x3f6201,this[_0x1ccbba(0x7f3,_0x3be01d._0x3ca28f)](_0x3f6201);function _0x370902(_0x1968c5,_0x447972){return _0x2b6441(_0x1968c5,_0x447972-0x205);}function _0x1ccbba(_0xaa1c28,_0x30224c){return _0x306755(_0x30224c,_0xaa1c28- -0x348);}_0x32ab37[_0x370902(0xaeb,0x4cf)]&&this['_addLabel'](_0x32ab37['label']),this[_0x370902(0x600,_0x3be01d._0x40868a)]&&this['_updateAvailabilityHook'](this[_0x370902(0xb6c,0x6eb)]);}['_removedHook'](){const _0x48456b={_0x2048c3:0xed6};super['_removedHook']();function _0x1582b7(_0x285440,_0x5b4b01){return _0x2b6441(_0x285440,_0x5b4b01-0xa1);}this[_0x1582b7(0x5d6,_0x48456b._0x2048c3)]();}[_0x2b6441(0x637,0xe35)](){const _0x36f9b9={_0x29da5a:0x9c2,_0x15acf8:0x3d4};this[_0x14f477(0x1201,_0x36f9b9._0x29da5a)]&&(this['primitiveCollection']['remove'](this['_primitive']),delete this['_primitive']);function _0x14f477(_0x44b9df,_0x3edbe5){return _0x2b6441(_0x44b9df,_0x3edbe5-0x1c);}function _0x290e2e(_0x148af8,_0x1204d2){return _0x306755(_0x148af8,_0x1204d2- -0x1ce);}this['_bottomPrimitive']&&(this['primitiveCollection']['remove'](this[_0x14f477(-0xb7,_0x36f9b9._0x15acf8)]),delete this[_0x14f477(0x884,0x3d4)]);}async['_createPit'](_0x5808c7){const _0x666309={_0xac7414:0xa65,_0x331742:0x1537,_0x14ee45:0x540,_0x1c39e9:0xd61,_0x4715e6:0xb0a,_0x471eb7:0x120c,_0x3b4746:0xdc9},_0xf2c2d2={_0xc57573:0x175,_0x3e88d2:0x1583},_0x50c7fa={_0x14fc3b:0x30f};await this[_0x5ca8c1(_0x666309._0xac7414,_0x666309._0x331742)][_0x1ff405(_0x666309._0x14ee45,0xdf8)];function _0x1ff405(_0x5927e6,_0x3a9735){return _0x306755(_0x5927e6,_0x3a9735- -0xce);}this[_0x1ff405(0x1ae4,0x16fb)]['scene'][_0x1ff405(_0x666309._0x1c39e9,0xcce)]&&await this['_map']['scene'][_0x5ca8c1(0x2ff,_0x666309._0x4715e6)];function _0x5ca8c1(_0x48bc3c,_0x86b5f6){return _0x2b6441(_0x48bc3c,_0x86b5f6-_0x50c7fa._0x14fc3b);}this['_createBottomSurface'](_0x5808c7['bottomPositions']),this['_map']['hasTerrain']?Cesium__namespace[_0x5ca8c1(_0x666309._0x471eb7,0xd0f)](this[_0x1ff405(0x1627,0x16fb)]['scene'][_0x1ff405(0x17b2,_0x666309._0x3b4746)],_0x5808c7['cartoList'])[_0x1ff405(0x7c0,0x1235)](_0x37c4df=>{const _0x1e9383={_0x18cbb9:0x2f2};function _0x388641(_0x433e64,_0x42808c){return _0x1ff405(_0x433e64,_0x42808c- -_0x1e9383._0x18cbb9);}if(!this[_0x42c78e(0xa70,_0xf2c2d2._0xc57573)])return;const _0x2c82ec=[];function _0x42c78e(_0x1edeac,_0x1f3c5b){return _0x5ca8c1(_0x1f3c5b,_0x1edeac-0x1a1);}for(let _0x2d3e84=0x0,_0xda950d=_0x37c4df['length'];_0x2d3e84<_0xda950d;_0x2d3e84++){const _0x1f101f=_0x37c4df[_0x2d3e84];_0x2c82ec[_0x388641(0x4ea,0x2d9)](_0x1f101f['height']);}_0x5808c7[_0x388641(_0xf2c2d2._0x3e88d2,0xdab)]=_0x2c82ec,this['_createWellWall'](_0x5808c7);}):this['_createWellWall'](_0x5808c7);}['_createWellWall'](_0x1607cc){const _0x125559={_0x317ba7:0xb8e,_0x1653ee:0x15b3,_0x2cdb46:0x1a54,_0xeafd10:0xd85,_0x2ba1df:0x429,_0xa9f998:0xfea,_0x1aa9e8:0xd78,_0x5dd2fa:0x156f,_0x537d52:0xb21,_0x4d39b3:0xaad,_0x1dff29:0x312,_0x4380ce:0x69b,_0x4448c7:0x2bf,_0x2fa4fa:0x5ed,_0x550451:0xb11},_0x2d3a2a={_0x2a66c4:0x3e6},_0x8ec023=this['style']['opacity']??0x1;function _0x42d39b(_0x3a42cd,_0x230660){return _0x306755(_0x230660,_0x3a42cd- -_0x2d3a2a._0x2a66c4);}this['_primitive']&&this[_0x237607(_0x125559._0x317ba7,0x165e)][_0x42d39b(0x5d6,0x729)](this['_primitive']);const _0x42589a={};function _0x237607(_0x354e9b,_0x7563f2){return _0x306755(_0x7563f2,_0x354e9b- -0x1bb);}_0x42589a[_0x42d39b(_0x125559._0x1653ee,_0x125559._0x2cdb46)]=_0x1607cc[_0x237607(0x13cc,0x15ac)],_0x42589a['maximumHeights']=_0x1607cc[_0x42d39b(_0x125559._0xeafd10,_0x125559._0x2ba1df)],_0x42589a['minimumHeights']=_0x1607cc[_0x42d39b(_0x125559._0xa9f998,0xd96)],this['_primitive']=new Cesium__namespace[(_0x237607(0x941,0x307))]({'geometryInstances':new Cesium__namespace[(_0x237607(0x1601,_0x125559._0x1aa9e8))]({'id':this['id'],'geometry':new Cesium__namespace[(_0x42d39b(_0x125559._0x5dd2fa,0x1f6c))](_0x42589a)}),'appearance':new Cesium__namespace['MaterialAppearance']({'material':Cesium__namespace['Material']['fromType'](Cesium__namespace[_0x42d39b(_0x125559._0x537d52,_0x125559._0x4d39b3)][_0x42d39b(0x7f3,_0x125559._0x1dff29)],{'image':this[_0x237607(_0x125559._0x4380ce,0xb9a)]['image'],'color':Cesium__namespace['Color'][_0x42d39b(0x677,-_0x125559._0x4448c7)]['withAlpha'](_0x8ec023),'repeat':new Cesium__namespace['Cartesian2'](this[_0x42d39b(0x470,-_0x125559._0x2fa4fa)]['repeatX']??0x32,this['style'][_0x237607(0xffd,0xa97)]??0x1)}),'translucent':_0x8ec023!==0x1})}),this['primitiveCollection'][_0x237607(0xb73,0x114f)](this['_primitive']),this['bindPickId'](this[_0x237607(0xd8c,_0x125559._0x550451)]),this['_availability']&&this['_updateAvailabilityHook'](this[_0x237607(0x8cc,0xb85)]);}[_0x306755(0x1a16,0xf74)](_0x5574c9){const _0x4f3fa1={_0x576fc6:0x372,_0xab543b:0x5f7,_0x799d22:0xc4e,_0x248f68:0xc6b,_0x534696:0x7a1,_0x26595e:0x1b5,_0x10c4a2:0x3d9,_0x386302:0x10d2,_0x24ab50:0x378},_0x14e377={_0x1990df:0x40};if(!_0x5574c9['length']||!this[_0x38c396(-0x7c2,0x275)][_0x36d1f5(0x4bd,0x658)])return;const _0x4f5c27=this['style']['opacity']??0x1;function _0x36d1f5(_0x582ef8,_0x533dc1){return _0x306755(_0x582ef8,_0x533dc1- -0x362);}this[_0x36d1f5(-_0x4f3fa1._0x576fc6,_0x4f3fa1._0xab543b)]&&this[_0x38c396(0xa81,0x768)][_0x36d1f5(_0x4f3fa1._0x799d22,0x65a)](this[_0x36d1f5(-0x121,0x5f7)]);this[_0x38c396(-0x1ec,0x378)]=new Cesium__namespace[(_0x38c396(_0x4f3fa1._0x248f68,0x51b))]({'geometryInstances':new Cesium__namespace['GeometryInstance']({'id':this['id'],'geometry':Cesium__namespace['CoplanarPolygonGeometry'][_0x36d1f5(-_0x4f3fa1._0x534696,_0x4f3fa1._0x26595e)]({'vertexFormat':Cesium__namespace['VertexFormat']['ALL'],'positions':_0x5574c9,'perPositionHeight':!![]})}),'appearance':new Cesium__namespace['MaterialAppearance']({'material':Cesium__namespace['Material']['fromType'](Cesium__namespace['Material'][_0x38c396(0x5e9,0x5f8)],{'image':this[_0x36d1f5(0x58e,0x4f4)][_0x38c396(0x8b7,_0x4f3fa1._0x10c4a2)],'color':Cesium__namespace['Color'][_0x36d1f5(_0x4f3fa1._0x386302,0x6fb)]['withAlpha'](_0x4f5c27)}),'translucent':_0x4f5c27!==0x1,'faceForward':!![],'flat':!![]})});function _0x38c396(_0x17ae4a,_0x482aaf){return _0x2b6441(_0x17ae4a,_0x482aaf- -_0x14e377._0x1990df);}this['primitiveCollection']['add'](this[_0x38c396(-0x473,_0x4f3fa1._0x24ab50)]),this['bindPickId'](this['_bottomPrimitive']);}[_0x306755(0x730,0x9b9)](_0x2bb9fc){function _0x37d1d2(_0xc4e7e4,_0x59bf4a){return _0x306755(_0xc4e7e4,_0x59bf4a- -0x46d);}this['_bottomPrimitive']&&this[_0x37d1d2(0x1180,0xc60)](this['_bottomPrimitive'],_0x2bb9fc);}['_getDrawEntityClass'](_0x5c4846,_0x51c38d){const _0x4140a5={_0x490658:0x29d,_0xc2a1c1:0x82a};_0x5c4846[_0x32511f(_0x4140a5._0x490658,_0x4140a5._0xc2a1c1)]['image']=_0x5c4846['style']['imageBottom'],delete _0x5c4846['style']['diffHeight'];function _0x32511f(_0x421f40,_0x29904e){return _0x2b6441(_0x29904e,_0x421f40- -0x18);}return create$5('polygon',_0x5c4846);}}register$5(_0x2b6441(-0x786,0x1a7),Pit);const _0x19bd32={};_0x19bd32['dimensions_x']=0x64,_0x19bd32['dimensions_y']=0x64;const DEF_STYLE$i=_0x19bd32;class DoubleSidedPlane extends BasePointPrimitive{constructor(_0x4b2b4e={}){_0x4b2b4e['style']={...DEF_STYLE$i,..._0x4b2b4e['style']},super(_0x4b2b4e);}[_0x2b6441(0x158,0x3fd)](_0x52fb32){const _0x56d13f={_0x46b465:0x96c,_0x1513eb:0xc6c,_0x467850:0x9ef,_0x5a4642:0x33b,_0x4ecc2f:0xaf4,_0x70211d:0x73,_0xb17662:0x2bf,_0x2c9f6f:0x5bc},_0x11bf31={_0x37f304:0x545},_0x414c3d={_0x268e9a:0x14c};function _0x57066e(_0x2ee2ad,_0x33958f){return _0x306755(_0x2ee2ad,_0x33958f- -_0x414c3d._0x268e9a);}if(!this['show'])return;const _0x17c37e=[0x0,-0.5,-0.5,0x0,0.5,-0.5,0x0,0.5,0.5,0x0,-0.5,0.5,0x0,0.5,-0.5,0x0,-0.5,-0.5,0x0,-0.5,0.5,0x0,0.5,0.5],_0x262e52=[0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1],_0x1df2a6=[0x0,0x1,0x2,0x0,0x2,0x3,0x4,0x5,0x6,0x4,0x6,0x7],_0x304f22=new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace[(_0x14ff5b(0x592,-0x71))]({'componentDatatype':Cesium__namespace['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':new Float64Array(_0x17c37e)}),'st':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(_0x262e52)})},'indices':new Uint16Array(_0x1df2a6),'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace['BoundingSphere']['fromVertices'](_0x17c37e)}),_0x39a6cc={};_0x39a6cc['enabled']=!![];const _0x434e41=Cesium__namespace['RenderState']['fromCache']({'depthTest':_0x39a6cc,'depthMask':![],'blending':Cesium__namespace[_0x14ff5b(0x36c,-0x3c8)][_0x14ff5b(_0x56d13f._0x46b465,_0x56d13f._0x1513eb)],'cull':{'enabled':!![],'face':Cesium__namespace['CullFace']['BACK']}}),_0x354546=new Cesium__namespace['Material']({'fabric':{'type':'Image2','uniforms':{'image':_0x52fb32['image'],'opacity':_0x52fb32['opacity']??0x1,'rotation':_0x52fb32['rotation']??0x0,'color':Cesium__namespace[_0x14ff5b(_0x56d13f._0x467850,_0x56d13f._0x5a4642)]['WHITE'],'speed':_0x52fb32['speed']||0x0,'flipx':_0x52fb32['flipx']??![],'flipy':_0x52fb32['flipy']??![],'noWhite':_0x52fb32['noWhite']??!![],'repeat':_0x52fb32[_0x57066e(-0x2e9,0x45b)]??new Cesium__namespace[(_0x14ff5b(-0x59,-_0x56d13f._0x4ecc2f))](0x1,0x1),'hasMask':![],'maskImage':Cesium__namespace['Material']['DefaultImageId'],'globalAlpha':0x1},'source':ImageMaterial},'translucent':!![]});function _0x14ff5b(_0xf2a478,_0x58c2be){return _0x306755(_0x58c2be,_0xf2a478- -_0x11bf31._0x37f304);}const _0x3b9718={};_0x3b9718[_0x14ff5b(_0x56d13f._0x70211d,-_0x56d13f._0xb17662)]=_0x304f22,this['_primitive']=new Cesium__namespace['Primitive']({'geometryInstances':new Cesium__namespace[(_0x14ff5b(0x1277,0x19fe))](_0x3b9718),'appearance':new Cesium__namespace[(_0x57066e(0xded,_0x56d13f._0x2c9f6f))]({'flat':!![],'renderState':_0x434e41,...this['style'],'material':_0x354546}),'modelMatrix':this['modelMatrix'],'show':this['show']}),this['primitiveCollection']['add'](this[_0x57066e(0x90d,0xdfb)]),_0x52fb32['label']&&this['_addLabel'](_0x52fb32['label']),this['_availability']&&this['_updateAvailabilityHook'](this['_availability']);}['_getModelMatrix'](_0x4e9641,_0x1b0414){const _0x23d078={_0x4ab56d:0x13d6,_0x5a519b:0x9c3,_0x944c2a:0xb2b,_0x3fc2a8:0x11fc,_0x16cbbc:0x7b5,_0x4acc99:0x4a,_0x4d082c:0x1768,_0x457676:0x17d5,_0x593cfb:0x17c3,_0x3e2176:0xa8c,_0x3c432b:0x5b5,_0x2bea6d:0xe88},_0x393323={_0x3304e6:0x6b};if(!_0x4e9641)return Cesium__namespace['Matrix4']['IDENTITY'];const _0x1fc986=Cesium__namespace[_0x558f5a(_0x23d078._0x4ab56d,0x1445)][_0x53cdff(_0x23d078._0x5a519b,_0x23d078._0x944c2a)](this[_0x53cdff(_0x23d078._0x3fc2a8,_0x23d078._0x16cbbc)]['heading']||0x0),_0x4e2d95=Cesium__namespace['Math']['toRadians'](this['style']['pitch']||0x0),_0x2589f5=Cesium__namespace['Math']['toRadians'](this['style']['roll']||0x0);function _0x53cdff(_0x5bad72,_0x2cafec){return _0x306755(_0x5bad72,_0x2cafec- -0xa1);}this['_heading_reality']=_0x1fc986,this['_pitch_reality']=_0x4e2d95;function _0x558f5a(_0x29f671,_0x3df827){return _0x306755(_0x3df827,_0x29f671-_0x393323._0x3304e6);}this[_0x53cdff(-_0x23d078._0x4acc99,0x683)]=_0x2589f5;const _0x9c736f=Cesium__namespace[_0x558f5a(_0x23d078._0x4d082c,0x1f45)]['headingPitchRollToFixedFrame'](_0x4e9641,new Cesium__namespace['HeadingPitchRoll'](_0x1fc986,_0x4e2d95,_0x2589f5),this[_0x558f5a(0x1545,0x1ea5)],this['fixedFrameTransform']),_0x500aa8=Cesium__namespace['Matrix4'][_0x558f5a(_0x23d078._0x457676,_0x23d078._0x593cfb)](new Cesium__namespace[(_0x558f5a(_0x23d078._0x3e2176,_0x23d078._0x3c432b))](0x1,this['style']['dimensions_x'],this[_0x558f5a(0x8c1,0xec)]['dimensions_y']));return Cesium__namespace['Matrix4'][_0x53cdff(0x8a1,_0x23d078._0x2bea6d)](_0x9c736f,_0x500aa8,new Cesium__namespace[(_0x558f5a(0xbdd,0x393))]());}[_0x2b6441(0x144d,0x13c5)](_0x25f141,_0x15ed8f){return create$5('point',_0x25f141);}}register$5('doubleSidedPlane',DoubleSidedPlane,!![]);var ReflectionWaterFS=_0x2b6441(-0x439,0x1b),ReflectionWaterVS=_0x2b6441(-0x58a,0x1f);class ReflectionWater extends PolygonPrimitive{get['height'](){return this['_height'];}set['height'](_0x53130a){const _0x214dd9={_0xcdb848:0x2c8,_0x37c2c5:0x1a14,_0xd92d85:0xfaa,_0x55d262:0x1432,_0x4fa637:0xbab,_0x151bd1:0xcb5,_0x25c665:0x14bf,_0x4a9a8e:0x17bc,_0x33b02c:0x122e,_0x664d50:0xac0,_0x5c9103:0x380,_0x16807b:0xf43,_0x1fe30c:0x883,_0x13e67d:0x13d1,_0x1a6ecc:0x1152,_0x1d129c:0x15d5,_0x253635:0x129f,_0x12b11e:0xe61,_0x426660:0x1152,_0x4ba4ab:0x790,_0x125f14:0x28a,_0x19b6d8:0x199d,_0x2c5d69:0x103d,_0x5d7475:0xd34,_0x377404:0x92b,_0x2eb014:0xda8},_0x1c0794={_0x42878d:0x157};this[_0x421a74(0xce6,0xfaa)]=_0x53130a;const _0x17cd4b=Cesium__namespace['Cartographic'][_0x20f1ec(-0xed,0x6ba)](this['_originalreflectorWorldPosition']),_0x4415a2=Cesium__namespace[_0x421a74(-_0x214dd9._0xcdb848,0x5d7)]['fromRadians'](_0x17cd4b['longitude'],_0x17cd4b['latitude'],this[_0x421a74(_0x214dd9._0x37c2c5,_0x214dd9._0xd92d85)]);function _0x20f1ec(_0x5b38c8,_0x16bd15){return _0x306755(_0x5b38c8,_0x16bd15- -0x335);}const _0x4b9d82=Cesium__namespace[_0x421a74(0x158,0x5d7)]['subtract'](_0x4415a2,this[_0x421a74(0x1373,_0x214dd9._0x55d262)],new Cesium__namespace['Cartesian3']()),_0x2fa87a=Cesium__namespace['Matrix4'][_0x421a74(_0x214dd9._0x4fa637,_0x214dd9._0x151bd1)](_0x4b9d82);this['_primitive'][_0x421a74(0x1ece,_0x214dd9._0x25c665)]=_0x2fa87a,this['_reflectorWorldPosition']=_0x4415a2,this['_normal']=Cesium__namespace['Ellipsoid']['WGS84']['geodeticSurfaceNormal'](this['_reflectorWorldPosition']);function _0x421a74(_0x1bc455,_0x46fad6){return _0x2b6441(_0x1bc455,_0x46fad6-_0x1c0794._0x42878d);}this['_waterPlane']=Cesium__namespace['Plane'][_0x421a74(_0x214dd9._0x4a9a8e,_0x214dd9._0x33b02c)](this[_0x421a74(_0x214dd9._0x664d50,_0x214dd9._0x5c9103)],this['_normal']),this[_0x20f1ec(0x124a,_0x214dd9._0x16807b)]=new Cesium__namespace[(_0x20f1ec(_0x214dd9._0x1fe30c,0x83d))](-0x2*this['_waterPlane'][_0x421a74(-0x48,0x816)]['x']*this['_waterPlane']['normal']['x']+0x1,-0x2*this['_waterPlane']['normal']['x']*this[_0x20f1ec(_0x214dd9._0x13e67d,_0x214dd9._0x1a6ecc)]['normal']['y'],-0x2*this['_waterPlane']['normal']['x']*this[_0x20f1ec(_0x214dd9._0x1d129c,0x1152)]['normal']['z'],-0x2*this[_0x20f1ec(_0x214dd9._0x253635,0x1152)]['normal']['x']*this[_0x20f1ec(_0x214dd9._0x12b11e,_0x214dd9._0x426660)][_0x421a74(0xbb9,0xad3)],-0x2*this['_waterPlane']['normal']['y']*this['_waterPlane']['normal']['x'],-0x2*this['_waterPlane']['normal']['y']*this['_waterPlane']['normal']['y']+0x1,-0x2*this['_waterPlane'][_0x20f1ec(0x1274,0x92b)]['y']*this['_waterPlane']['normal']['z'],-0x2*this[_0x421a74(_0x214dd9._0x4ba4ab,0x103d)][_0x421a74(_0x214dd9._0x125f14,0x816)]['y']*this[_0x421a74(_0x214dd9._0x19b6d8,0x103d)][_0x421a74(0xde3,0xad3)],-0x2*this['_waterPlane']['normal']['z']*this[_0x421a74(0xc82,_0x214dd9._0x2c5d69)]['normal']['x'],-0x2*this[_0x20f1ec(_0x214dd9._0x5d7475,0x1152)]['normal']['z']*this['_waterPlane']['normal']['y'],-0x2*this['_waterPlane'][_0x20f1ec(0x624,_0x214dd9._0x377404)]['z']*this['_waterPlane']['normal']['z']+0x1,-0x2*this[_0x421a74(0x1810,0x103d)][_0x421a74(_0x214dd9._0x2eb014,0x816)]['z']*this['_waterPlane']['distance'],0x0,0x0,0x0,0x1);}[_0x2b6441(0x7d5,0xabc)](_0xcba679,_0x426229){const _0x5a73f7={_0x4fa35f:0x57d,_0x2ac396:0x117d,_0xdfc1a2:0x19c7,_0x365c9f:0xeac,_0x46782c:0xde5,_0x42b010:0x160c,_0x339e53:0x143f,_0x4a1abf:0xcff,_0x26cd21:0xe72,_0x3ed4b7:0x19dc,_0xc54530:0x106d,_0x34df62:0x11f0,_0x26e545:0x272},_0x5f2d64={_0x110952:0x3a8};Cesium__namespace['defined'](_0x426229['color'])&&(this[_0x1aeda4(0x38c,0x21b)]['uniforms'][_0x1aeda4(0xd0,_0x5a73f7._0x4fa35f)]=getCesiumColor(_0xcba679['color']));function _0x1aeda4(_0x494580,_0x52fa65){return _0x306755(_0x494580,_0x52fa65- -_0x5f2d64._0x110952);}Cesium__namespace[_0x1aeda4(0xd6a,0x140a)](_0x426229['opacity'])&&(this['_material']['uniforms']['waterAlpha']=_0xcba679['opacity']);Cesium__namespace['defined'](_0x426229['reflectivity'])&&(this['_material']['uniforms']['reflectivity']=_0xcba679['reflectivity']);function _0x39f894(_0x457867,_0x555b56){return _0x306755(_0x555b56,_0x457867- -0x36e);}Cesium__namespace['defined'](_0x426229[_0x39f894(_0x5a73f7._0x2ac396,_0x5a73f7._0xdfc1a2)])&&(this['_material']['uniforms']['lightDirection']=_0xcba679['lightDirection']),Cesium__namespace['defined'](_0x426229[_0x39f894(0xd27,0x12be)])&&(this['_material'][_0x39f894(_0x5a73f7._0x365c9f,_0x5a73f7._0x46782c)][_0x39f894(0xd27,0x10ed)]=_0xcba679['shiny']),Cesium__namespace['defined'](_0x426229[_0x1aeda4(_0x5a73f7._0x42b010,0xdca)])&&(this['_material'][_0x1aeda4(0x87d,0xe72)]['specularIntensity']=_0xcba679[_0x39f894(0xe04,_0x5a73f7._0x339e53)]),Cesium__namespace['defined'](_0x426229['distortion'])&&(this['_material'][_0x39f894(0xeac,0x15f2)]['distortion']=_0xcba679['distortion']),Cesium__namespace[_0x39f894(0x1444,0x1d51)](_0x426229['farColor'])&&(this[_0x39f894(0x255,-0x1a1)][_0x1aeda4(_0x5a73f7._0x4a1abf,_0x5a73f7._0x26cd21)]['farColor']=getCesiumColor(_0xcba679[_0x1aeda4(_0x5a73f7._0x3ed4b7,_0x5a73f7._0xc54530)])),Cesium__namespace['defined'](_0x426229[_0x1aeda4(0xf54,0xc3b)])&&(this['_material']['uniforms'][_0x1aeda4(0x1691,0xc3b)]=_0xcba679[_0x1aeda4(_0x5a73f7._0x34df62,0xc3b)]),Cesium__namespace['defined'](_0x426229['height'])&&(this[_0x1aeda4(0x244,0x84a)]=_0x426229[_0x1aeda4(_0x5a73f7._0x26e545,0x84a)]);}['_addedHook'](_0x4c4ccb){const _0x3ac0ae={_0x229a78:0x1426,_0xd25adf:0x127f,_0x346e1b:0xfe1,_0x1a503d:0x944,_0x333a09:0x70b},_0x37117e={_0x24bc40:0x434};if(!this[_0x345c74(_0x3ac0ae._0x229a78,0x10b7)]||!this['positions']||this['positions'][_0x17aa80(0xb4a,_0x3ac0ae._0xd25adf)]===0x0)return;function _0x345c74(_0x1396ae,_0x29e658){return _0x2b6441(_0x29e658,_0x1396ae-_0x37117e._0x24bc40);}this['_bindFun']();function _0x17aa80(_0x21fb01,_0x406eaa){return _0x306755(_0x21fb01,_0x406eaa- -0x37c);}this[_0x345c74(0x175c,_0x3ac0ae._0x346e1b)](_0x4c4ccb),this[_0x17aa80(0x4b9,0x2c1)](),_0x4c4ccb[_0x17aa80(-0x46b,0x4ef)]&&this[_0x17aa80(0x744,_0x3ac0ae._0x1a503d)](_0x4c4ccb[_0x345c74(0x6fe,0x10a1)]),this[_0x17aa80(0xd6b,_0x3ac0ae._0x333a09)]&&this['_updateAvailabilityHook'](this['_availability']);}['_removedHook'](){const _0x5b81c8={_0x581d3a:0xf62},_0x322c67={_0x5256a9:0x20c};function _0x8e4079(_0x2b4e43,_0x199d90){return _0x2b6441(_0x199d90,_0x2b4e43-0x4e7);}function _0x4a963d(_0x223c03,_0x2d5dbc){return _0x306755(_0x2d5dbc,_0x223c03- -_0x322c67._0x5256a9);}!this['_noDestroy']&&(this['stopDraw'](),this['stopEditing']()),this['unbindUpdateEvent'](),this['_primitive']&&(this[_0x8e4079(0xc8f,_0x5b81c8._0x581d3a)]['remove'](this[_0x8e4079(0xe8d,0x65e)]),delete this['_primitive']),this['_destroyResource'](),this['_unbindFun']();}[_0x306755(0x1d4e,0x18c9)](_0x1c0f0d){const _0x4ddb29={_0x520035:0x404,_0x2bb193:0x12d7,_0x18a9d5:0x4f9,_0x4272d5:0x717,_0x2c3a20:0xd01,_0x426af7:0x57d,_0x337de4:0x14d6,_0x1e4dd9:0xd11,_0x594df7:0x152,_0x4c11d8:0x7cc,_0xe0b354:0x8ba,_0x1b198d:0x5ae,_0x3c0561:0x10e1,_0x40dde6:0x46c,_0x2468a2:0x8ba,_0x502784:0xfac,_0x49fa84:0xf3e,_0x36b6b5:0x15f4,_0x496848:0x12de,_0x289e71:0x4d2,_0x2466f7:0x8ba,_0x391df4:0x1386,_0x4accdd:0xfac,_0x864631:0x5be,_0x2d08df:0x785,_0x5d835d:0xfac,_0x5d851c:0x8ba,_0x4e8486:0x6a5,_0x149e38:0x1288,_0xc36b99:0xf2f,_0x174e8f:0xb77,_0x366c81:0x5df,_0x4f2cf3:0x562,_0x3b9a14:0xcc0,_0x4a5968:0x22a,_0xd2333:0x2ac,_0x5821c2:0xc22,_0x219f93:0x3be,_0x25eca4:0x257,_0xe58c92:0x148e,_0x2e8c1a:0x1128,_0x9dd064:0x730,_0x273b32:0xc3d,_0xc94f2e:0xf55,_0xecb9ac:0x112,_0x1b8296:0x4b2,_0x23b3e3:0x7d7,_0x244a56:0x8b2,_0x43dbd0:0x59f,_0xe4a107:0x3f6,_0x32c301:0x1366,_0x3d22dd:0x10d2,_0x20b6d4:0xa4e,_0x11be32:0x91f,_0xd4a5f8:0x1246,_0x2bba67:0x717,_0x1fc9d2:0x110,_0x5c783a:0xfe,_0x5dbccf:0x2d2,_0x20d01c:0xb20,_0xa5b723:0x11ed,_0x388a3b:0x1094,_0x19dd74:0xba1,_0x117497:0x902},_0x52013d={_0x5689ef:0x4db},_0x215123=this['_conversionStyle'](_0x1c0f0d);_0x215123['vertexFormat']=Cesium__namespace[_0x5ebf59(0x77d,0xc66)][_0x5ebf59(_0x4ddb29._0x520035,0x8bd)];let _0x54c30a=0x0;Cesium__namespace[_0x5ebf59(0xe71,_0x4ddb29._0x2bb193)](this['style']['height'])?_0x54c30a=this['style'][_0x5ebf59(_0x4ddb29._0x18a9d5,_0x4ddb29._0x4272d5)]:_0x54c30a=getMaxHeight(this['positions']);this[_0x3addc1(_0x4ddb29._0x2c3a20,0x104e)]=_0x54c30a,this[_0x5ebf59(0x218,0x2ef)]=this[_0x3addc1(_0x4ddb29._0x426af7,0x356)],this[_0x3addc1(0x15f3,_0x4ddb29._0x337de4)]=this['_reflectorWorldPosition']['clone'](),this[_0x5ebf59(0xe08,0xc5e)]=Cesium__namespace['Ellipsoid'][_0x3addc1(0x8ad,_0x4ddb29._0x1e4dd9)][_0x5ebf59(0x17c9,0x1159)](this['_reflectorWorldPosition']),this['_waterPlane']=Cesium__namespace['Plane']['fromPointNormal'](this['_reflectorWorldPosition'],this[_0x3addc1(0x12df,0xd93)]),this['_reflectMatrix']=new Cesium__namespace[(_0x3addc1(_0x4ddb29._0x594df7,_0x4ddb29._0x4c11d8))](-0x2*this['_waterPlane']['normal']['x']*this['_waterPlane']['normal']['x']+0x1,-0x2*this['_waterPlane'][_0x5ebf59(0x10a4,0x785)]['x']*this['_waterPlane'][_0x3addc1(-0x67,_0x4ddb29._0xe0b354)]['y'],-0x2*this['_waterPlane'][_0x5ebf59(_0x4ddb29._0x1b198d,0x785)]['x']*this[_0x3addc1(0xc05,_0x4ddb29._0x3c0561)]['normal']['z'],-0x2*this['_waterPlane'][_0x3addc1(_0x4ddb29._0x40dde6,_0x4ddb29._0x2468a2)]['x']*this[_0x5ebf59(0x13e8,_0x4ddb29._0x502784)]['distance'],-0x2*this['_waterPlane'][_0x5ebf59(_0x4ddb29._0x49fa84,0x785)]['y']*this[_0x5ebf59(_0x4ddb29._0x36b6b5,0xfac)]['normal']['x'],-0x2*this['_waterPlane']['normal']['y']*this['_waterPlane'][_0x5ebf59(-0x33a,0x785)]['y']+0x1,-0x2*this[_0x3addc1(0x84a,0x10e1)][_0x3addc1(_0x4ddb29._0x496848,_0x4ddb29._0xe0b354)]['y']*this['_waterPlane'][_0x3addc1(_0x4ddb29._0x289e71,_0x4ddb29._0x2466f7)]['z'],-0x2*this[_0x5ebf59(_0x4ddb29._0x391df4,_0x4ddb29._0x4accdd)][_0x5ebf59(_0x4ddb29._0x864631,_0x4ddb29._0x2d08df)]['y']*this[_0x5ebf59(0x13d4,_0x4ddb29._0x5d835d)]['distance'],-0x2*this['_waterPlane']['normal']['z']*this['_waterPlane'][_0x3addc1(0x6b9,_0x4ddb29._0x2466f7)]['x'],-0x2*this['_waterPlane'][_0x3addc1(0x20e,_0x4ddb29._0x5d851c)]['z']*this[_0x5ebf59(0x834,0xfac)][_0x5ebf59(-0x2dc,0x785)]['y'],-0x2*this[_0x5ebf59(0x1220,_0x4ddb29._0x502784)][_0x3addc1(_0x4ddb29._0x4e8486,0x8ba)]['z']*this[_0x5ebf59(0x1a5f,_0x4ddb29._0x502784)]['normal']['z']+0x1,-0x2*this[_0x3addc1(_0x4ddb29._0x149e38,0x10e1)][_0x5ebf59(_0x4ddb29._0xc36b99,0x785)]['z']*this[_0x3addc1(0x16c5,0x10e1)][_0x3addc1(0x21c,_0x4ddb29._0x174e8f)],0x0,0x0,0x0,0x1),this[_0x5ebf59(0x8c,_0x4ddb29._0x366c81)]=Cesium__namespace[_0x3addc1(0xeec,0x7cc)]['IDENTITY'][_0x3addc1(0xdea,_0x4ddb29._0x4f2cf3)](),this['_reflectorProjectionMatrix']=Cesium__namespace['Matrix4'][_0x3addc1(0xfb1,_0x4ddb29._0x3b9a14)]['clone']();const _0x1a2452=this['_map'][_0x5ebf59(-0x201,0x58a)][_0x3addc1(-_0x4ddb29._0x4a5968,_0x4ddb29._0xd2333)];this[_0x5ebf59(0xb1c,0xa8)](_0x1a2452,_0x1a2452[_0x3addc1(0x100,0x383)],_0x1a2452['drawingBufferHeight'],this['_map']['scene'][_0x5ebf59(_0x4ddb29._0x5821c2,_0x4ddb29._0x219f93)]);const _0x30fd60=new Cesium__namespace['Texture']({'context':_0x1a2452,'source':{'width':0x1,'height':0x1,'arrayBufferView':new Uint8Array([0xff,0x0,0x0,0xff])},'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap']['REPEAT'],'wrapT':Cesium__namespace['TextureWrap']['REPEAT'],'minificationFilter':Cesium__namespace['TextureMinificationFilter']['LINEAR'],'magnificationFilter':Cesium__namespace['TextureMinificationFilter']['LINEAR']})});_0x30fd60['type']=_0x3addc1(-_0x4ddb29._0x25eca4,0x791);const _0x49a93e={};_0x49a93e['context']=_0x1a2452,_0x49a93e['framebuffer']=this['_colorFramebuffer'];const _0x3c326e=Cesium__namespace[_0x3addc1(0x846,0x858)]['fromFramebuffer'](_0x49a93e);_0x3c326e['type']=_0x5ebf59(0x962,0x65c);const _0x3e7441=new Cesium__namespace['Material']({'fabric':{'type':'ReflectionWater','uniforms':{'waterColor':getCesiumColor(_0x1c0f0d['color'],Cesium__namespace['Color']['fromCssColorString']('#001e0f')),'farColor':getCesiumColor(_0x1c0f0d['farColor'],Cesium__namespace['Color'][_0x3addc1(0x1ae5,0x1524)](_0x5ebf59(_0x4ddb29._0xe58c92,_0x4ddb29._0x2e8c1a))),'farDistance':_0x1c0f0d[_0x3addc1(_0x4ddb29._0x9dd064,_0x4ddb29._0x273b32)]??0x2710,'waterAlpha':_0x1c0f0d[_0x3addc1(0x1109,0x7a3)]??0.9,'globalAlpha':0x1,'ripple':_0x1c0f0d['ripple']??0x32,'reflectivity':_0x1c0f0d['reflectivity']??0.5,'lightDirection':_0x1c0f0d['lightDirection']??new Cesium__namespace[(_0x3addc1(_0x4ddb29._0xc94f2e,0x67b))](0x0,0x0,0x1),'shiny':_0x1c0f0d['shiny']??0x64,'distortion':_0x1c0f0d[_0x3addc1(_0x4ddb29._0xecb9ac,0x8a8)]??3.7,'normalTexture':_0x30fd60,'reflexTexture':_0x3c326e,'time':0x0,'specularIntensity':_0x1c0f0d['specularIntensity']??0.3,'fixedFrameToEastNorthUpTransform':Cesium__namespace['Matrix4'][_0x3addc1(_0x4ddb29._0x1b8296,0x407)](this[_0x3addc1(_0x4ddb29._0x23b3e3,_0x4ddb29._0x244a56)]())},'source':ReflectionWaterFS},'translucent':![],'minificationFilter':Cesium__namespace[_0x5ebf59(_0x4ddb29._0x43dbd0,0x994)]['LINEAR'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter']['LINEAR']}),_0x40915d={};_0x40915d['material']=_0x3e7441,_0x40915d[_0x3addc1(_0x4ddb29._0xe4a107,0x2ac)]=_0x1a2452,_0x40915d[_0x5ebf59(0xa77,_0x4ddb29._0x32c301)]='normalTexture',_0x40915d['image']=_0x1c0f0d['normalMap']??_0x3addc1(0x17a,0xf6);function _0x5ebf59(_0x55e512,_0x1b1267){return _0x306755(_0x55e512,_0x1b1267- -_0x52013d._0x5689ef);}addTextureUniform(_0x40915d),this['_material']=_0x3e7441;const _0x4e61ec={};_0x4e61ec[_0x5ebf59(0xf12,0x1486)]=_0x3e7441,_0x4e61ec['vertexShaderSource']=ReflectionWaterVS,_0x4e61ec['translucent']=!![];const _0x23e028=new Cesium__namespace[(_0x5ebf59(0x2f2,0x22d))](_0x4e61ec);_0x23e028[_0x3addc1(_0x4ddb29._0x3d22dd,0xe74)]={},_0x23e028['uniforms'][_0x3addc1(_0x4ddb29._0x20b6d4,0x3fc)]=Cesium__namespace[_0x5ebf59(_0x4ddb29._0x11be32,0x697)]['toArray'](this['_reflectMatrix']),_0x23e028[_0x3addc1(0x49b,0xe74)]['reflectorProjectionMatrix']=Cesium__namespace['Matrix4']['toArray'](this[_0x5ebf59(0x199c,_0x4ddb29._0xd4a5f8)]);function _0x3addc1(_0x50df97,_0x157cec){return _0x306755(_0x50df97,_0x157cec- -0x3a6);}_0x23e028[_0x5ebf59(_0x4ddb29._0x2bba67,0xd3f)][_0x3addc1(_0x4ddb29._0x1fc9d2,_0x4ddb29._0x5c783a)]=Cesium__namespace['Matrix4'][_0x5ebf59(0x8a1,_0x4ddb29._0x5dbccf)](this[_0x5ebf59(_0x4ddb29._0x20d01c,_0x4ddb29._0x366c81)]);const _0x43649a={'geometryInstances':this['_createGeometryInstance'](_0x215123),'appearance':_0x23e028,'asynchronous':![],'show':this[_0x3addc1(0x10dc,_0x4ddb29._0xa5b723)]};this[_0x3addc1(_0x4ddb29._0x388a3b,_0x4ddb29._0x19dd74)]=this[_0x5ebf59(_0x4ddb29._0x117497,0x86e)]['add'](new Cesium__namespace['Primitive'](_0x43649a));}[_0x2b6441(-0x3ba,0x45e)](_0x47ca01){const _0x4b4262={_0x4886ec:0x117c,_0x2c4ff8:0x1037,_0x34f0f2:0x777,_0x5f537d:0xb34,_0x4ba19a:0x15bd,_0x1bd6bd:0x1367,_0x371832:0x1bc7,_0x1ceb53:0x155,_0x2d06ff:0x862,_0xc1d342:0x15d5,_0x359350:0x131c,_0x398908:0x8c6,_0x4399aa:0xe03,_0x45e308:0x1444,_0x389fb6:0x5ad,_0x3f8b52:0x946,_0x5f0c82:0x581,_0x54eb17:0xdde,_0x2b9c56:0x104c,_0x1fd597:0xd7c,_0x10b286:0xfee,_0x2d9611:0xb30,_0x99ed08:0x946,_0x16b9eb:0x396,_0x309268:0x1b4,_0x380d5d:0x116d,_0x539616:0xfee,_0x55f349:0x3a8,_0x3a8001:0x11ba,_0x2a95b5:0xe1c,_0x38512f:0x134b,_0x2561ab:0xf48},_0x33ff2d={_0x1caffa:0x375};if(!this['getRealShow'](_0x47ca01['time']))return;const _0x2624f9=this['_map']['scene'],_0x52cd76=_0x2624f9[_0x22bf0a(0xfcf,0x191c)]['camera'],_0x2bbf6b=_0x2624f9[_0x22bf0a(0x123f,0x1ab9)],_0x592b1f=_0x2624f9['globe'][_0x22bf0a(_0x4b4262._0x4886ec,_0x4b4262._0x2c4ff8)],_0x4a3b9a=_0x2624f9['globe']['showSkirts'],_0x466ea6=_0x2624f9['logarithmicDepthBuffer'];if(!this['_updateVirtualCamera'](_0x2624f9['_defaultView'][_0xc17813(0xdf5,0xe1c)])){this['_primitive'][_0x22bf0a(0x117c,_0x4b4262._0x34f0f2)]=![];return;}this['_primitive']['show']=![],_0x2624f9['_defaultView']['camera']=this[_0x22bf0a(_0x4b4262._0x5f537d,_0x4b4262._0x4ba19a)],_0x2624f9[_0x22bf0a(0x123f,0x1820)]=undefined,_0x2624f9['globe'][_0xc17813(0x149d,_0x4b4262._0x1bd6bd)]=![],_0x2624f9['globe'][_0x22bf0a(0x1587,0x1078)]=![],_0x2624f9[_0x22bf0a(0x134b,_0x4b4262._0x371832)]=![];const _0x96fb94=_0x2624f9['context'],_0x13974b=_0x96fb94[_0xc17813(0xed9,0x4fd)],_0x1be7b6=_0x96fb94[_0x22bf0a(0x828,-_0x4b4262._0x1ceb53)],_0x307fa7=_0x2624f9['highDynamicRange'];this['_createFramebuffer'](_0x96fb94,_0x13974b,_0x1be7b6,_0x307fa7),render(_0x2624f9,this[_0x22bf0a(0x955,_0x4b4262._0x2d06ff)]);const _0x52b118=this['_primitive']['appearance'],_0x808374={};_0x808374['context']=_0x96fb94,_0x808374['framebuffer']=this[_0xc17813(0xf9e,0xb40)];const _0x890b7f=Cesium__namespace['Texture'][_0x22bf0a(_0x4b4262._0xc1d342,_0x4b4262._0x359350)](_0x808374);function _0x22bf0a(_0x4ea2b7,_0x2abea6){return _0x306755(_0x2abea6,_0x4ea2b7- -0x417);}_0x890b7f['type']=_0x22bf0a(0x720,_0x4b4262._0x398908),this['_material']['uniforms'][_0x22bf0a(0xd8f,0x809)]=_0x890b7f,this['_material'][_0x22bf0a(_0x4b4262._0x4399aa,_0x4b4262._0x45e308)][_0x22bf0a(0xe0e,0x362)]=(this['style'][_0xc17813(0x1427,0x1190)]??0x1)*(performance[_0x22bf0a(0x53f,-0x1c)]()/0x3e8);function _0xc17813(_0x51533e,_0x436744){return _0x2b6441(_0x51533e,_0x436744-_0x33ff2d._0x1caffa);}this[_0x22bf0a(0x1ac,0xb70)]['uniforms'][_0xc17813(0x24,_0x4b4262._0x389fb6)]=Cesium__namespace[_0xc17813(0x909,_0x4b4262._0x3f8b52)][_0xc17813(0x792,_0x4b4262._0x5f0c82)](this['_getFixedFrameToEastNorthUpTransformFromWorldMatrix']()),_0x52b118[_0xc17813(0x13b5,0xfee)]['reflectMatrix']=Cesium__namespace['Matrix4'][_0xc17813(0xc9c,0x581)](this[_0xc17813(_0x4b4262._0x54eb17,_0x4b4262._0x2b9c56)]),_0x52b118[_0xc17813(_0x4b4262._0x1fd597,_0x4b4262._0x10b286)]['reflectorProjectionMatrix']=Cesium__namespace[_0xc17813(_0x4b4262._0x2d9611,_0x4b4262._0x99ed08)][_0x22bf0a(_0x4b4262._0x16b9eb,_0x4b4262._0x309268)](this['_reflectorProjectionMatrix']),_0x52b118[_0xc17813(_0x4b4262._0x380d5d,_0x4b4262._0x539616)][_0x22bf0a(0x8d,-_0x4b4262._0x55f349)]=Cesium__namespace['Matrix4'][_0xc17813(0x87f,0x581)](this['_reflectorViewMatrix']),this['_primitive']['show']=!![],_0x2624f9[_0xc17813(0x139c,_0x4b4262._0x3a8001)][_0xc17813(0x43b,_0x4b4262._0x2a95b5)]=_0x52cd76,_0x2624f9['shadowMap']=_0x2bbf6b,_0x2624f9['globe']['show']=_0x592b1f,_0x2624f9['globe']['showSkirts']=_0x4a3b9a,_0x2624f9[_0x22bf0a(_0x4b4262._0x38512f,_0x4b4262._0x2561ab)]=_0x466ea6;}['_updateVirtualCamera'](_0x28b020){const _0x25313a={_0xfd3ebe:0xb77,_0x318920:0x9e1,_0x416833:0xaab,_0x176d32:0xbcd,_0x3c5e3c:0x1abc,_0x54c465:0x1709,_0x39cb22:0x4f7,_0x28c36d:0xe32,_0x35018b:0x1807,_0x32c397:0x1422,_0x2be8cf:0x11e6,_0xf2ffb:0x142a,_0x4db00b:0xa40,_0x283248:0x41c,_0x203d82:0x908,_0x2242f6:0x1c60,_0x403fe0:0x49f,_0x32b7a7:0xfb8,_0x1e1b2d:0x1349,_0xb4c508:0x11cb,_0x3ba553:0x142d,_0x14e71c:0x1159,_0x262ac2:0x13ac,_0x116c1f:0x892,_0x495df1:0x766,_0x19e2f9:0x26b,_0x1870e1:0xfe5,_0x312fb1:0xa48,_0x5042e2:0x1227,_0x2e2685:0xfe6,_0x9bea88:0xe7f},_0x328f9e={_0x46ac8e:0x669},_0x522205=new Cesium__namespace[(_0x54372c(0x908,_0x25313a._0xfd3ebe))](0x0,0x0,-0x1);let _0x29e4cf=new Cesium__namespace['Cartesian3']();this[_0x54372c(0xe32,_0x25313a._0x318920)]=Cesium__namespace[_0x54372c(0x3e2,_0x25313a._0x416833)][_0xbfd7ad(0x9d0,_0x25313a._0x176d32)](_0x28b020,this[_0xbfd7ad(0x1013,0x1ac4)]);const _0x4e207d=_0x28b020['positionWC']['clone']();let _0x5b2ce8=Cesium__namespace['Cartesian3']['subtract'](this['_reflectorWorldPosition'],_0x4e207d,new Cesium__namespace['Cartesian3']());function _0xbfd7ad(_0xf189ff,_0x1b6c43){return _0x2b6441(_0x1b6c43,_0xf189ff-_0x328f9e._0x46ac8e);}if(Cesium__namespace['Cartesian3'][_0xbfd7ad(_0x25313a._0x3c5e3c,_0x25313a._0x54c465)](_0x5b2ce8,this[_0x54372c(0x1020,0x19b5)])>0x0)return![];_0x5b2ce8=getReflectVector(_0x5b2ce8,this['_normal']),Cesium__namespace['Cartesian3']['negate'](_0x5b2ce8,_0x5b2ce8),Cesium__namespace[_0xbfd7ad(0xae9,_0x25313a._0x39cb22)]['add'](_0x5b2ce8,this['_reflectorWorldPosition'],_0x5b2ce8),this[_0x54372c(_0x25313a._0x28c36d,0x3b1)][_0x54372c(0x10de,0x198c)]=_0x5b2ce8['clone'](),Cesium__namespace['Cartesian3'][_0x54372c(0xc15,0x293)](_0x28b020[_0xbfd7ad(0x1175,0x132e)],_0x4e207d,_0x522205),Cesium__namespace['Cartesian3']['subtract'](this['_reflectorWorldPosition'],_0x522205,_0x29e4cf),_0x29e4cf=getReflectVector(_0x29e4cf,this['_normal']),Cesium__namespace[_0x54372c(0x908,-0xda)][_0xbfd7ad(0x11f3,_0x25313a._0x35018b)](_0x29e4cf,_0x29e4cf),Cesium__namespace['Cartesian3'][_0x54372c(0xc15,0x3d3)](_0x29e4cf,this['_reflectorWorldPosition'],_0x29e4cf),this['_virtualCamera'][_0x54372c(_0x25313a._0x32c397,0xdf0)]=Cesium__namespace['Cartesian3'][_0xbfd7ad(_0x25313a._0x2be8cf,_0x25313a._0xf2ffb)](_0x29e4cf,this['_virtualCamera'][_0x54372c(0x10de,_0x25313a._0x4db00b)],new Cesium__namespace['Cartesian3']()),Cesium__namespace[_0x54372c(0x908,0x246)]['normalize'](this['_virtualCamera'][_0x54372c(0x1422,0x1bba)],this[_0xbfd7ad(0x1013,0x1751)][_0x54372c(0x1422,0x194f)]),Cesium__namespace['Cartesian3']['add'](_0x28b020[_0x54372c(0x878,_0x25313a._0x283248)],_0x4e207d,_0x522205),Cesium__namespace[_0x54372c(_0x25313a._0x203d82,0x5eb)][_0xbfd7ad(_0x25313a._0x2be8cf,_0x25313a._0x2242f6)](this[_0xbfd7ad(0x892,_0x25313a._0x403fe0)],_0x522205,_0x29e4cf),_0x29e4cf=getReflectVector(_0x29e4cf,this['_normal']);function _0x54372c(_0x3849a8,_0x395b53){return _0x2b6441(_0x395b53,_0x3849a8-0x488);}Cesium__namespace[_0xbfd7ad(0xae9,_0x25313a._0x32b7a7)]['negate'](_0x29e4cf,_0x29e4cf),Cesium__namespace['Cartesian3']['add'](_0x29e4cf,this['_reflectorWorldPosition'],_0x29e4cf),this['_virtualCamera']['up']=Cesium__namespace[_0x54372c(0x908,_0x25313a._0x1e1b2d)]['subtract'](_0x29e4cf,this[_0x54372c(0xe32,0xedc)][_0xbfd7ad(0x12bf,_0x25313a._0xb4c508)],new Cesium__namespace['Cartesian3']()),Cesium__namespace['Cartesian3'][_0x54372c(0x62e,0x69)](this['_virtualCamera']['up'],this[_0xbfd7ad(0x1013,0x1475)]['up']),this[_0x54372c(0x1608,0x1ef5)]=this['_virtualCamera']['frustum']['projectionMatrix'],this[_0x54372c(0x9a1,_0x25313a._0x3ba553)]=this[_0x54372c(0xe32,_0x25313a._0x14e71c)]['viewMatrix'];const _0x38c030=Cesium__namespace['Plane'][_0x54372c(0x155f,_0x25313a._0x262ac2)](this[_0xbfd7ad(_0x25313a._0x116c1f,_0x25313a._0x495df1)],this['_normal']);Cesium__namespace['Plane'][_0xbfd7ad(0x89b,0x549)](_0x38c030,this['_virtualCamera']['viewMatrix'],_0x38c030);const _0xbbd910=new Cesium__namespace['Cartesian4'](_0x38c030['normal']['x'],_0x38c030[_0x54372c(0xb47,_0x25313a._0x19e2f9)]['y'],_0x38c030[_0x54372c(0xb47,0xba)]['z'],_0x38c030[_0xbfd7ad(_0x25313a._0x1870e1,_0x25313a._0x312fb1)]),_0xa195d8=Cesium__namespace['Matrix4']['clone'](this['_virtualCamera']['frustum'][_0x54372c(0x77c,0x310)]),_0x2cbbb6=new Cesium__namespace[(_0xbfd7ad(0x14ab,0x1aa9))]((Math['sign'](_0xbbd910['x'])+_0xa195d8[0x8])/_0xa195d8[0x0],(Math['sign'](_0xbbd910['y'])+_0xa195d8[0x9])/_0xa195d8[0x5],-0x1,(0x1+_0xa195d8[0xa])/_0xa195d8[0xe]);Cesium__namespace['Cartesian4']['multiplyByScalar'](_0xbbd910,0x2/Cesium__namespace[_0xbfd7ad(0x14ab,_0x25313a._0x5042e2)]['dot'](_0xbbd910,_0x2cbbb6),_0xbbd910);const _0x472acb=0x0;return _0xa195d8[0x2]=_0xbbd910['x'],_0xa195d8[0x6]=_0xbbd910['y'],_0xa195d8[0xa]=_0xbbd910['z']+0x1-_0x472acb,_0xa195d8[0xe]=_0xbbd910['w'],this['_virtualCamera']['frustum'][_0xbfd7ad(_0x25313a._0x2e2685,_0x25313a._0x9bea88)]=Cesium__namespace['Matrix4']['clone'](_0xa195d8),!![];}['_getFixedFrameToEastNorthUpTransformFromWorldMatrix'](){const _0x53b568={_0x4436eb:0xd2e,_0x18d2b0:0xa17},_0x387f18={_0x226b2a:0x15b},_0x43283b=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this['_reflectorWorldPosition']);function _0x41e37a(_0xe7d398,_0x3365c2){return _0x306755(_0xe7d398,_0x3365c2- -_0x387f18._0x226b2a);}const _0x1fef56=Cesium__namespace['Matrix4']['inverse'](_0x43283b,new Cesium__namespace[(_0x41e37a(_0x53b568._0x4436eb,_0x53b568._0x18d2b0))]());return _0x1fef56;}[_0x306755(0x2bb,0x583)](_0x525340,_0xe980,_0x49b12b,_0x18f2a3){const _0x6b72bf={_0x4d38a9:0xdd7,_0x172e48:0x811,_0xd0c263:0xd86,_0x3a5b6f:0xcc4,_0x63caf0:0x5c2,_0x3ff740:0xac6,_0x20ce95:0x976,_0x4800b6:0x824,_0x2c8f21:0xe58,_0xcd8ad1:0xecd,_0x54a3b1:0x8f2,_0x338a62:0x98,_0x58d1ff:0x27e,_0x15129c:0x110f},_0x4bfae3={_0x5efa15:0x2af};function _0x504d15(_0x3b3e46,_0x129ee2){return _0x306755(_0x3b3e46,_0x129ee2- -0x3da);}function _0x88cccb(_0x5391eb,_0x120e9e){return _0x306755(_0x120e9e,_0x5391eb- -_0x4bfae3._0x5efa15);}const _0x3f370d=this[_0x504d15(0x15ac,_0x6b72bf._0x4d38a9)];if(Cesium__namespace['defined'](_0x3f370d)&&_0x3f370d[_0x504d15(0xce8,_0x6b72bf._0x172e48)]===_0xe980&&_0x3f370d['height']===_0x49b12b&&this['_hdr']===_0x18f2a3)return;this['_destroyResource'](),this[_0x504d15(0x974,_0x6b72bf._0xd0c263)]=_0x18f2a3;let _0x123d46;_0x18f2a3?_0x123d46=_0x525340[_0x504d15(_0x6b72bf._0x3a5b6f,_0x6b72bf._0x63caf0)]?Cesium__namespace[_0x504d15(0x856,0x27e)][_0x88cccb(0x5f0,_0x6b72bf._0x3ff740)]:Cesium__namespace['PixelDatatype']['FLOAT']:_0x123d46=Cesium__namespace['PixelDatatype'][_0x88cccb(0x64f,_0x6b72bf._0x20ce95)],this['_colorTexture']=new Cesium__namespace[(_0x504d15(-0x34,_0x6b72bf._0x4800b6))]({'context':_0x525340,'width':_0xe980,'height':_0x49b12b,'pixelFormat':Cesium__namespace[_0x88cccb(_0x6b72bf._0x2c8f21,0x6da)]['RGBA'],'pixelDatatype':_0x123d46,'sampler':new Cesium__namespace[(_0x88cccb(_0x6b72bf._0xcd8ad1,0x110a))]({'wrapS':Cesium__namespace['TextureWrap'][_0x88cccb(0xa88,0xda8)],'wrapT':Cesium__namespace[_0x88cccb(_0x6b72bf._0x54a3b1,0x125d)]['CLAMP_TO_EDGE'],'minificationFilter':Cesium__namespace['TextureMinificationFilter'][_0x88cccb(0x789,-0x211)],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter']['LINEAR']})}),this['_depthStencilTexture']=new Cesium__namespace['Texture']({'context':_0x525340,'width':_0xe980,'height':_0x49b12b,'pixelFormat':Cesium__namespace['PixelFormat']['DEPTH_STENCIL'],'pixelDatatype':Cesium__namespace[_0x504d15(_0x6b72bf._0x338a62,_0x6b72bf._0x58d1ff)]['UNSIGNED_INT_24_8']}),this[_0x504d15(_0x6b72bf._0x15129c,0x992)]=new Cesium__namespace[(_0x88cccb(0x621,0xaf1))]({'context':_0x525340,'colorTextures':[this['_colorTexture']],'depthStencilTexture':this['_depthStencilTexture'],'destroyAttachments':![]});}['_destroyResource'](){const _0x4edc31={_0x31da42:0xf7d,_0x487676:0x15ac,_0x26040a:0xd5b,_0x4c4f22:0xb38,_0x24d7bf:0xd5b},_0x40cdf9={_0x250027:0x584};function _0x46ace6(_0x3b8036,_0x570e24){return _0x306755(_0x3b8036,_0x570e24- -0x234);}this[_0x46ace6(0xd6b,_0x4edc31._0x31da42)]&&this['_colorTexture'][_0x46ace6(_0x4edc31._0x487676,_0x4edc31._0x26040a)](),this['_colorTexture']=undefined,this['_depthStencilTexture']&&this['_depthStencilTexture'][_0x474a6d(0xf72,0x9fe)]();function _0x474a6d(_0x3bd767,_0x14ddef){return _0x2b6441(_0x14ddef,_0x3bd767-_0x40cdf9._0x250027);}this['_depthStencilTexture']=undefined,this[_0x46ace6(0x841,_0x4edc31._0x4c4f22)]&&this['_colorFramebuffer'][_0x46ace6(0x12a6,_0x4edc31._0x24d7bf)](),this['_colorFramebuffer']=undefined;}[_0x2b6441(-0x653,0x440)](){const _0x581038={_0x563a1b:0xb97,_0x49097d:0x162d,_0x3b27ae:0x14fe,_0x37be77:0x12f},_0x46212c={_0xeffbc8:0xdf4,_0x4f4889:0x8c3},_0x2d7940={_0x13b19d:0x6ea,_0x1fcd7d:0xc40,_0x3a5d76:0x9bc,_0x2ecd3f:0x1658,_0x18ebf1:0x1437,_0x541efd:0x70,_0x2fe2a7:0x880,_0x122003:0x1ba,_0x1b6d9a:0x271},_0x3d7991={_0x2863d8:0x3db};function _0x246680(_0x36a1d1,_0x3b6292){return _0x2b6441(_0x3b6292,_0x36a1d1-_0x3d7991._0x2863d8);}function _0x2d5bf7(_0x55c9f5,_0x2fdb24){return _0x2b6441(_0x55c9f5,_0x2fdb24-0x33c);}this['_UniformState_updateFrustum_old']=Cesium__namespace[_0x2d5bf7(_0x581038._0x563a1b,0x105f)][_0x2d5bf7(0x49d,0xa8e)]['updateFrustum'],Cesium__namespace[_0x246680(0x10fe,_0x581038._0x49097d)]['prototype']['updateFrustum']=function(_0x4004ff){const _0x52402b={_0x4aa762:0x15c};Cesium__namespace['Matrix4']['clone'](Cesium__namespace[_0x5c1d5d(_0x2d7940._0x13b19d,_0x2d7940._0x1fcd7d)](_0x4004ff[_0x5c1d5d(_0x2d7940._0x3a5d76,0xeb4)],_0x4004ff[_0x435497(-0x4f9,0x407)]),this[_0x435497(0xd3f,0xeda)]),this['_inverseProjectionDirty']=!![],this['_viewProjectionDirty']=!![],this['_inverseViewProjectionDirty']=!![],this['_modelViewProjectionDirty']=!![],this[_0x435497(_0x2d7940._0x2ecd3f,_0x2d7940._0x18ebf1)]=!![];Cesium__namespace[_0x5c1d5d(0xea3,0x1748)](_0x4004ff['infiniteProjectionMatrix'])&&(Cesium__namespace[_0x435497(_0x2d7940._0x541efd,0x6e4)][_0x435497(0x11c,0x47a)](_0x4004ff['infiniteProjectionMatrix'],this['_infiniteProjection']),this['_modelViewInfiniteProjectionDirty']=!![]);this[_0x5c1d5d(0x1c92,0x1677)]['x']=_0x4004ff[_0x435497(_0x2d7940._0x2fe2a7,0xe67)],this['_currentFrustum']['y']=_0x4004ff['far'],this[_0x5c1d5d(0xc28,0x6cf)]=_0x4004ff['far']-_0x4004ff['near']+0x1,this['_log2FarDepthFromNearPlusOne']=Cesium__namespace[_0x435497(0x13ae,0xedd)][_0x435497(_0x2d7940._0x122003,_0x2d7940._0x1b6d9a)](this['_farDepthFromNearPlusOne']),this[_0x5c1d5d(0xb67,0x13f0)]=0x1/this[_0x5c1d5d(0x2233,0x17bb)];Cesium__namespace[_0x5c1d5d(0xcf1,0x1748)](_0x4004ff['_offCenterFrustum'])&&(_0x4004ff=_0x4004ff['_offCenterFrustum']);this[_0x5c1d5d(0x19f1,0x105f)]['x']=_0x4004ff['top'];function _0x5c1d5d(_0x8f51d5,_0x464187){return _0x246680(_0x464187-_0x52402b._0x4aa762,_0x8f51d5);}this['_frustumPlanes']['y']=_0x4004ff['bottom'],this['_frustumPlanes']['z']=_0x4004ff['left'];function _0x435497(_0x24b38a,_0x46eac6){return _0x246680(_0x46eac6- -0x2c8,_0x24b38a);}this[_0x435497(0x4a1,0xc3b)]['w']=_0x4004ff['right'];};const _0x4aecc8=Cesium__namespace[_0x246680(_0x581038._0x3b27ae,0x1b4c)]['prototype'][_0x246680(0x742,_0x581038._0x37be77)];Cesium__namespace[_0x246680(0x14fe,0x1ea1)]['prototype']['clone']=function(_0x14e919){const _0x435539={_0x2f97a7:0x200},_0x11ccaa={_0x214bb1:0x3f6};function _0x4758f1(_0x1f35c1,_0x3409d2){return _0x2d5bf7(_0x3409d2,_0x1f35c1- -_0x11ccaa._0x214bb1);}function _0x36a57e(_0x1034e3,_0x4cbf60){return _0x246680(_0x1034e3-_0x435539._0x2f97a7,_0x4cbf60);}return _0x14e919=_0x4aecc8[_0x4758f1(_0x46212c._0xeffbc8,0xb9f)](this)(_0x14e919),_0x14e919['customProjectionMatrix']=this[_0x4758f1(_0x46212c._0x4f4889,0x58c)],_0x14e919;},this['_PerspectiveFrustum_clone_old']=_0x4aecc8;}[_0x306755(0x716,0xc09)](){const _0x1add3b={_0xd9f9f6:0x7db,_0x51882d:0x2465,_0x1a3028:0x21cb,_0x1a988e:0xf58};function _0x577479(_0x2c223a,_0x5d4f7c){return _0x306755(_0x5d4f7c,_0x2c223a- -0x3a2);}function _0x4e882b(_0x42960a,_0x4f2f8c){return _0x2b6441(_0x42960a,_0x4f2f8c-0x6eb);}Cesium__namespace[_0x577479(0xf22,_0x1add3b._0xd9f9f6)]['prototype']['updateFrustum']=this[_0x4e882b(_0x1add3b._0x51882d,0x1995)],Cesium__namespace[_0x4e882b(_0x1add3b._0x1a3028,0x180e)]['prototype']['clone']=this[_0x4e882b(0xd82,_0x1add3b._0x1a988e)];}['_getDrawEntityClass'](_0x57a631,_0xaec700){const _0x5e98f5={_0x51faa0:0xf21},_0x3b2c6d={_0x28fd0f:0x59a};function _0x5e1a3d(_0x3b5fdb,_0x5daefc){return _0x2b6441(_0x3b5fdb,_0x5daefc-_0x3b2c6d._0x28fd0f);}function _0x37b45e(_0x5f3ed9,_0x5d0eef){return _0x306755(_0x5d0eef,_0x5f3ed9- -0x27c);}return _0x57a631[_0x5e1a3d(0xd50,0x84f)]['materialType']=_0x37b45e(0x16db,0x1399),create$5(_0x5e1a3d(0x45f,_0x5e98f5._0x51faa0),_0x57a631);}}register$5('reflectionWater',ReflectionWater);const scratchBackgroundColor=new Cesium__namespace['Color'](),renderTilesetPassState=new Cesium__namespace[(_0x306755(0x2bf,0xa2e))]({'pass':Cesium__namespace['Cesium3DTilePass']['RENDER']});function render(_0x45f398,_0x8dee0a){const _0x5cec9d={_0x4932fe:0x68b,_0x4dce71:0x1331,_0x4a26b2:0x16e5,_0x331c0a:0x158c,_0x4428fd:0x1468,_0x3e1f42:0x1f0d,_0x561295:0x17b7,_0x4b2d75:0x10a4,_0x284f83:0x1486,_0x2e38e1:0x150f,_0x3ec6ef:0xc8b,_0x302056:0xac5,_0x5ea754:0xbc6,_0xb7a130:0x10b9,_0x26cbb5:0xee,_0x302c4f:0xa5a,_0x1a8394:0x670,_0x3ae275:0x1563,_0x1eda2b:0x1697,_0x32c4af:0x79e,_0x417452:0x130c,_0x1b8a8f:0xb12,_0x33e64b:0xbcb,_0x221e2c:0x965,_0x49491c:0xb31,_0x54ae76:0x1217,_0x1820cc:0xc44,_0x25271a:0x586,_0x494f9a:0xe84},_0x40d9d2=_0x45f398['_frameState'],_0xdd49e6=_0x45f398['context'],_0x27d722=_0xdd49e6['uniformState'];function _0x2f2ff6(_0x2c833b,_0x347428){return _0x306755(_0x347428,_0x2c833b- -0x16d);}const _0xdb18cf=_0x45f398['_defaultView'];_0x45f398['_view']=_0xdb18cf,_0x45f398[_0x2f2ff6(0x721,_0x5cec9d._0x4932fe)](),_0x40d9d2['passes'][_0x2f2ff6(0x14d4,0x1272)]=!![],_0x40d9d2['passes']['postProcess']=_0x45f398['postProcessStages'][_0xf30fac(_0x5cec9d._0x4dce71,_0x5cec9d._0x4a26b2)],_0x40d9d2[_0x2f2ff6(_0x5cec9d._0x331c0a,_0x5cec9d._0x4428fd)]=renderTilesetPassState;let _0x351a14=_0x45f398[_0x2f2ff6(0x1610,_0x5cec9d._0x3e1f42)]??Cesium__namespace[_0x2f2ff6(0xdc7,_0x5cec9d._0x561295)]['BLACK'];_0x45f398['_hdr']&&(_0x351a14=Cesium__namespace['Color'][_0x2f2ff6(0x79b,0x759)](_0x351a14,scratchBackgroundColor),_0x351a14['red']=Math['pow'](_0x351a14[_0xf30fac(_0x5cec9d._0x4b2d75,_0x5cec9d._0x284f83)],_0x45f398['gamma']),_0x351a14['green']=Math['pow'](_0x351a14['green'],_0x45f398['gamma']),_0x351a14['blue']=Math[_0x2f2ff6(_0x5cec9d._0x2e38e1,0x185f)](_0x351a14[_0xf30fac(0x1609,0x1afb)],_0x45f398['gamma']));_0x40d9d2[_0x2f2ff6(0x1610,0x15e3)]=_0x351a14,_0x45f398['fog']['update'](_0x40d9d2),_0x27d722[_0xf30fac(0x726,0xf12)](_0x40d9d2);const _0x1bbe4f=_0x45f398['shadowMap'];Cesium__namespace[_0x2f2ff6(0x1645,_0x5cec9d._0x3ec6ef)](_0x1bbe4f)&&_0x1bbe4f[_0x2f2ff6(0x1163,0x1768)]&&(!Cesium__namespace[_0xf30fac(0x14d9,_0x5cec9d._0x302056)](_0x45f398['light'])||_0x45f398[_0x2f2ff6(_0x5cec9d._0x5ea754,_0x5cec9d._0xb7a130)]instanceof Cesium__namespace['SunLight']?Cesium__namespace['Cartesian3'][_0xf30fac(0xe52,0x85f)](_0x27d722['sunDirectionWC'],_0x45f398['_shadowMapCamera']['direction']):Cesium__namespace['Cartesian3'][_0x2f2ff6(0x79b,_0x5cec9d._0x26cbb5)](_0x45f398[_0xf30fac(_0x5cec9d._0x302c4f,0x11c8)]['direction'],_0x45f398[_0x2f2ff6(_0x5cec9d._0x1a8394,0x10aa)]['direction']),_0x40d9d2[_0xf30fac(_0x5cec9d._0x3ae275,0x1744)][_0xf30fac(0x3c0,0x55b)](_0x1bbe4f));_0x45f398[_0xf30fac(0x97b,0xdcb)][_0x2f2ff6(0x148e,_0x5cec9d._0x1eda2b)]=0x0,_0x45f398['_overlayCommandList']['length']=0x0;const _0x11a762=_0xdb18cf[_0xf30fac(0xab0,_0x5cec9d._0x32c4af)];_0x11a762['x']=0x0,_0x11a762['y']=0x0,_0x11a762[_0xf30fac(0x912,_0x5cec9d._0x417452)]=_0xdd49e6['drawingBufferWidth'],_0x11a762['height']=_0xdd49e6['drawingBufferHeight'];const _0x3c42b8=_0xdb18cf['passState'];_0x3c42b8[_0x2f2ff6(_0x5cec9d._0x1b8a8f,0x1039)]=_0x8dee0a,_0x3c42b8['blendingEnabled']=undefined,_0x3c42b8['scissorTest']=undefined,_0x3c42b8['viewport']=Cesium__namespace[_0x2f2ff6(_0x5cec9d._0x33e64b,_0x5cec9d._0x221e2c)]['clone'](_0x11a762,_0x3c42b8[_0x2f2ff6(0xc1c,_0x5cec9d._0x49491c)]);Cesium__namespace[_0xf30fac(0x14d9,0x1b0a)](_0x45f398[_0xf30fac(_0x5cec9d._0x54ae76,0x147f)])&&_0x45f398[_0x2f2ff6(0x1383,_0x5cec9d._0x1820cc)][_0x2f2ff6(0x1109,0xf16)](_0x40d9d2);function _0xf30fac(_0x4228ea,_0x129fb9){return _0x2b6441(_0x129fb9,_0x4228ea-0x2c8);}_0x45f398[_0xf30fac(0x252,-_0x5cec9d._0x25271a)](),_0x45f398['updateAndExecuteCommands'](_0x3c42b8,_0x351a14),_0x45f398[_0x2f2ff6(0x704,_0x5cec9d._0x494f9a)](_0x3c42b8),Cesium__namespace['defined'](_0x45f398[_0xf30fac(0x1217,0x162a)])&&(_0x45f398['globe']['endFrame'](_0x40d9d2),!_0x45f398['globe']['tilesLoaded']&&(_0x45f398['_renderRequested']=!![])),_0xdd49e6['endFrame']();}class EditPolygonGrid extends EditPoly{get[_0x2b6441(0xfbb,0xb4b)](){const _0xce8fb5={_0x62a0bc:0x5d3,_0x20ed8c:0x22f,_0x387d5d:0xb09},_0x2613ad={_0x2d0c0f:0x14};function _0x2734d9(_0x43b229,_0x3163a7){return _0x306755(_0x3163a7,_0x43b229- -_0x2613ad._0x2d0c0f);}function _0x3e7841(_0x41c2ea,_0x179fc2){return _0x2b6441(_0x179fc2,_0x41c2ea-0x440);}return this[_0x2734d9(_0xce8fb5._0x62a0bc,-_0xce8fb5._0x20ed8c)][_0x2734d9(0x10d8,_0xce8fb5._0x387d5d)]??!![];}get[_0x306755(0xf56,0x4bc)](){return![];}['bindDraggers'](){const _0x5a2658={_0x47a6aa:0x556,_0x30c507:0xf2b,_0x4903cb:0x1640},_0x1bb1d8={_0x5df919:0xefd},_0x3c6737={_0x423cd3:0x1ca};function _0x3ab2c6(_0x2e1cf2,_0x5b7b68){return _0x2b6441(_0x5b7b68,_0x2e1cf2-0x40c);}function _0x37b2d3(_0xf1524,_0x2314fa){return _0x306755(_0x2314fa,_0xf1524- -_0x3c6737._0x423cd3);}const _0x278917=this['getGridPositions'](this['positions']);for(let _0x409bbf=0x0,_0x6dba6c=_0x278917['length'];_0x409bbf<_0x6dba6c;_0x409bbf++){const _0x454b26=this['updatePositionsHeightByAttr'](_0x278917[_0x409bbf]),_0xe53075=this[_0x3ab2c6(_0x5a2658._0x47a6aa,_0x5a2658._0x30c507)]({'position':_0x454b26,'onDrag':(_0x3e53d7,_0x6ce4c5)=>{_0x6ce4c5=this['updatePositionsHeightByAttr'](_0x6ce4c5),_0x3e53d7['position']=_0x6ce4c5;function _0x8e3d2c(_0x33d056,_0x5e7011){return _0x3ab2c6(_0x33d056-0x6f,_0x5e7011);}_0x278917[_0x3e53d7['index']]=_0x6ce4c5,this[_0x8e3d2c(0x13a8,_0x1bb1d8._0x5df919)](_0x6ce4c5,_0x3e53d7['index']);}});_0xe53075[_0x37b2d3(0xd8e,_0x5a2658._0x4903cb)]=_0x409bbf,this[_0x37b2d3(0x1237,0x1a19)]['push'](_0xe53075);}}}const _0x1afe82={};_0x1afe82['opacity']=0x1,_0x1afe82['globalAlpha']=0x1;const DEF_STYLE$h=_0x1afe82;class VideoPrimitive extends BasePolyPrimitive{constructor(_0x11b186={}){const _0x5ed66e={_0x342294:0x8db,_0x25c6eb:0x124f};function _0x4a270d(_0x10107a,_0xb53254){return _0x306755(_0x10107a,_0xb53254- -0x2f1);}_0x11b186['style']={...DEF_STYLE$h,..._0x11b186['style']},super(_0x11b186),this['minPointNum']=0x4,this[_0x4a270d(_0x5ed66e._0x342294,_0x5ed66e._0x25c6eb)]=0x4,this['_grids']=_0x11b186['grids']??0x4,this['_useROI']=![],this['_reverseROI']=![],this['_roiUV']=[[0x0,0x1],[0x1,0x1],[0x1,0x0],[0x0,0x0]];}get['czmObject'](){return this['_primitive'];}get[_0x306755(0xf16,0xfb3)](){const _0x206817={_0x300b78:0x46f};function _0x1201f1(_0x1f48c1,_0x2e73d3){return _0x2b6441(_0x2e73d3,_0x1f48c1-_0x206817._0x300b78);}function _0x47ec3b(_0x820683,_0x2c1a83){return _0x2b6441(_0x820683,_0x2c1a83-0xc);}return this[_0x1201f1(0xb2b,0x116d)][_0x47ec3b(0xcc0,0xa1e)];}set['rois'](_0x14e369){const _0x3afcbe={_0xa05ba9:0x1350};this[_0x19907b(0xbd8,0x748)]['rois']=_0x14e369;function _0x19907b(_0x1d35ba,_0x3d71dc){return _0x306755(_0x1d35ba,_0x3d71dc- -0x515);}function _0xc5b414(_0xeb5387,_0x49b3e8){return _0x2b6441(_0xeb5387,_0x49b3e8-0x386);}if((_0x14e369===null||_0x14e369===void 0x0?void 0x0:_0x14e369[_0xc5b414(0x1137,0x13e0)])>0x0){let _0x1068ac=[];_0x14e369['forEach'](_0x470e7b=>{_0x1068ac=_0x1068ac['concat']([_0x470e7b[0x0],_0x470e7b[0x1],0x0,0x0]);}),this['_roiUV']=_0x1068ac,this['_useROI']=!![];}else this['_roiUV']=[[0x0,0x1],[0x1,0x1],[0x1,0x0],[0x0,0x0]],this[_0xc5b414(_0x3afcbe._0xa05ba9,0x10d4)]=![];this['update']();}['_addedHook'](_0x45a391){const _0x30cad8={_0x46a812:0x1286,_0x110393:0x1473,_0x162fb5:0xf60,_0x45a66e:0x7a0,_0x1d0900:0xf96,_0x3a4f9e:0xa21,_0x1e2122:0x5f2,_0x46ac5a:0xfff,_0x505deb:0xe85,_0xae920f:0xbf3,_0x4c5f17:0x1678,_0x4060ab:0x823,_0x4789ec:0x9da,_0x2fd34f:0x9f9,_0x117fbd:0x2a7,_0x8610da:0x345,_0x17b0e5:0x733,_0x2aeb68:0x938},_0x1cda1f={_0x54ad48:0x526},_0x179a10=this[_0x3827e8(_0x30cad8._0x46a812,_0x30cad8._0x110393)];if(!this['getRealShow']()||!_0x179a10||_0x179a10['length']===0x0)return;this[_0x3827e8(0x7c3,0x355)]();const {positions:_0x1ea037,uv:_0x47b17d,indice:_0x2907f7}=getGridPositions(_0x179a10,this['_grids']);this[_0x3827e8(_0x30cad8._0x162fb5,0xe71)]=this['options']['positions_grid']??_0x1ea037,this['_uv']=_0x47b17d,this['_indice']=_0x2907f7;this[_0x10ecc8(0x909,0x499)]['rois']&&(this[_0x10ecc8(0xc5f,0xbee)]=this[_0x10ecc8(0x909,_0x30cad8._0x45a66e)]['rois']);this['_primitive']&&(this[_0x3827e8(_0x30cad8._0x1d0900,0x823)]['remove'](this[_0x3827e8(-0x66,_0x30cad8._0x3a4f9e)]),delete this['_primitive']);this['_primitive']=this[_0x10ecc8(_0x30cad8._0x1e2122,_0x30cad8._0x46ac5a)]();function _0x10ecc8(_0x1a3b97,_0x42de4c){return _0x306755(_0x42de4c,_0x1a3b97- -0x354);}this[_0x3827e8(_0x30cad8._0x505deb,0xf16)](this[_0x10ecc8(_0x30cad8._0xae920f,_0x30cad8._0x4c5f17)]),this[_0x3827e8(0x3dc,_0x30cad8._0x4060ab)][_0x10ecc8(_0x30cad8._0x4789ec,_0x30cad8._0x2fd34f)](this['_primitive']);_0x45a391[_0x3827e8(_0x30cad8._0x117fbd,_0x30cad8._0x8610da)]&&this['_addLabel'](_0x45a391['label']);function _0x3827e8(_0x200c72,_0x4474ec){return _0x306755(_0x200c72,_0x4474ec- -_0x1cda1f._0x54ad48);}this[_0x10ecc8(_0x30cad8._0x17b0e5,_0x30cad8._0x2aeb68)]&&this['_updateAvailabilityHook'](this['_availability']);}[_0x306755(0xa44,0xe2b)](){const _0x17e8b9={_0x185a8b:0x862,_0x1f1551:0x27};function _0xee973d(_0xb02b5a,_0x2c62c1){return _0x2b6441(_0x2c62c1,_0xb02b5a-0x447);}!this[_0xee973d(0xf7b,0xc49)]&&(this['stopDraw'](),this['stopEditing']());this['stopEditingGrid']();function _0x21b97b(_0x443bb5,_0x2f96cc){return _0x2b6441(_0x2f96cc,_0x443bb5-0x644);}this['_primitive']&&(this['primitiveCollection'][_0xee973d(_0x17e8b9._0x185a8b,_0x17e8b9._0x1f1551)](this['_primitive']),delete this['_primitive']);}['redraw'](_0x516b71){const _0x5a144a={_0x3239ff:0x99f,_0x3da6c0:0x1181};function _0x48e5df(_0x37576e,_0x302862){return _0x2b6441(_0x302862,_0x37576e-0x3df);}return this[_0x48e5df(_0x5a144a._0x3239ff,_0x5a144a._0x3da6c0)]&&this['show']&&this['_addedHook'](_0x516b71||this['style']),this;}['update'](){const _0x19a70a={_0x4dab23:0xe90},_0x5b09a2={_0x255df3:0x6e8},_0x2e9530={_0x5ce239:0x1ed};this['_primitive']&&this['primitiveCollection']['remove'](this[_0xfaea2d(0x14a2,0x108e)]);function _0xef78a8(_0x5b9baf,_0xc07bb){return _0x2b6441(_0x5b9baf,_0xc07bb-_0x2e9530._0x5ce239);}function _0xfaea2d(_0x4ab973,_0xf680a4){return _0x2b6441(_0x4ab973,_0xf680a4-_0x5b09a2._0x255df3);}this[_0xfaea2d(0x888,0x108e)]=this[_0xef78a8(0xde5,0x592)](),this[_0xfaea2d(0x15bb,_0x19a70a._0x4dab23)]['add'](this['_primitive']);}['_createVideoPrimitive'](){const _0x3b5b41={_0x3da7f6:0xd58,_0x2caeac:0xe61,_0x5db398:0xb32,_0x3bf306:0xf2e,_0x2c4945:0x172b,_0x4570f2:0x1536,_0x2162a7:0xd4c,_0x42bddb:0x5cf,_0x1b265a:0x3f3,_0x4d54ba:0x10bb,_0x1a735f:0x217,_0x269c0c:0x137,_0x3ea85b:0xc41,_0xd4de9c:0x19f7,_0x42ea8b:0xf62,_0x205bd9:0x728,_0x4ee884:0x1904,_0x114e66:0x1275,_0x213631:0x712,_0x361ee0:0x9a,_0x92a6c3:0x1cf8,_0x286d36:0xe35,_0xfdcf77:0x658,_0x4d977d:0x1129,_0x2dd7ae:0x194,_0x441e97:0xb3b,_0xb9a310:0x1011,_0x57a1e7:0x1744,_0x5c33d6:0x681,_0x1a2bc2:0x12af,_0x45b319:0xb6,_0x2f8f67:0x19bc,_0xb6b9d2:0x168d,_0x24fa90:0x7d},_0x228c9c={_0x2813cb:0xa0d},_0xcc5689={_0x5b784a:0xab9},_0x7d8a08=this['_positions_grid']['length'],_0x4d1de0=new Float64Array(_0x7d8a08*0x3);for(let _0x4cf307=0x0;_0x4cf307<_0x7d8a08;++_0x4cf307){_0x4d1de0[_0x4cf307*0x3]=this['_positions_grid'][_0x4cf307]['x'],_0x4d1de0[_0x4cf307*0x3+0x1]=this['_positions_grid'][_0x4cf307]['y'],_0x4d1de0[_0x4cf307*0x3+0x2]=this[_0xb55ed6(_0x3b5b41._0x3da7f6,_0x3b5b41._0x2caeac)][_0x4cf307]['z'];}const _0x578b8d=new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace[(_0x3abadf(_0x3b5b41._0x5db398,0x1077))]({'componentDatatype':Cesium__namespace[_0xb55ed6(_0x3b5b41._0x3bf306,0x12fe)]['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x4d1de0}),'st':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x3abadf(0x15c8,0xd99)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array(this['_uv'])})},'indices':new Uint16Array(this[_0x3abadf(_0x3b5b41._0x2c4945,_0x3b5b41._0x4570f2)]),'primitiveType':Cesium__namespace[_0x3abadf(_0x3b5b41._0x2162a7,_0x3b5b41._0x42bddb)]['TRIANGLES'],'boundingSphere':Cesium__namespace[_0xb55ed6(_0x3b5b41._0x1b265a,0x282)]['fromVertices'](_0x4d1de0)}),_0xcecbfb=new Cesium__namespace[(_0xb55ed6(0x117d,0x13cb))]({'id':this['id'],'geometry':_0x578b8d,'attributes':{'show':new Cesium__namespace['ShowGeometryInstanceAttribute'](this[_0xb55ed6(0xf54,0x1444)]),'distanceDisplayCondition':new Cesium__namespace[(_0x3abadf(_0x3b5b41._0x4d54ba,0x1643))](Number(this[_0xb55ed6(_0x3b5b41._0x1a735f,-_0x3b5b41._0x269c0c)][_0xb55ed6(0x229,_0x3b5b41._0x3ea85b)]??0x0),Number(this['style'][_0xb55ed6(0x118e,_0x3b5b41._0xd4de9c)]??Number['MAX_VALUE']))}}),_0x307dab=Cesium__namespace[_0x3abadf(_0x3b5b41._0x42ea8b,_0x3b5b41._0x205bd9)][_0x3abadf(0x185b,_0x3b5b41._0x4ee884)]('Image');_0x307dab[_0x3abadf(_0x3b5b41._0x114e66,0xd73)][_0x3abadf(_0x3b5b41._0x213631,-_0x3b5b41._0x361ee0)]=this[_0xb55ed6(0x12c9,_0x3b5b41._0x92a6c3)];const _0x50bfb4=new Float32Array(this[_0xb55ed6(0x4b3,_0x3b5b41._0x286d36)]),_0x26bc09=_0x50bfb4['length']/0x4,_0x1e4785={};_0x1e4785['width']=_0x26bc09,_0x1e4785['height']=0x1;function _0x3abadf(_0x5dd0be,_0x26a61f){return _0x2b6441(_0x26a61f,_0x5dd0be-0x5fc);}_0x1e4785[_0x3abadf(0x646,_0x3b5b41._0xfdcf77)]=_0x50bfb4,_0x307dab[_0x3abadf(0x1275,_0x3b5b41._0x4d977d)][_0xb55ed6(0xd4b,0x285)]=new Cesium__namespace[(_0xb55ed6(0x5bf,0x24b))]({'context':this['_map'][_0x3abadf(0xac0,0x64e)]['context'],'source':_0x1e4785,'pixelDatatype':Cesium__namespace[_0xb55ed6(0x19,_0x3b5b41._0x2dd7ae)][_0xb55ed6(_0x3b5b41._0x441e97,_0x3b5b41._0xb9a310)]}),_0x307dab['_uniforms'][_0x3abadf(0x10fb,_0x3b5b41._0x57a1e7)]=()=>{function _0x5302a1(_0x26745b,_0x578af5){return _0xb55ed6(_0x578af5-0x223,_0x26745b);}return _0x307dab[_0x5302a1(_0xcc5689._0x5b784a,0xdfe)]['roiUV'];};function _0xb55ed6(_0x67af9f,_0x21d792){return _0x2b6441(_0x21d792,_0x67af9f- -0x9e);}_0x307dab['_uniforms'][_0x3abadf(_0x3b5b41._0x5c33d6,0x55b)]=()=>{return this['_useROI'];},_0x307dab[_0xb55ed6(0x1095,0x19fb)]['reverseROI']=()=>{return this['_reverseROI'];},_0x307dab['_uniforms']['opacity']=()=>{return this['style']['opacity'];},_0x307dab['_uniforms']['globalAlpha']=()=>{const _0x372ce9={_0x1ccb78:0x234};function _0x3e864a(_0x128719,_0x11776a){return _0x3abadf(_0x128719- -_0x372ce9._0x1ccb78,_0x11776a);}function _0x1d18e9(_0x5ebc4d,_0x460fd4){return _0xb55ed6(_0x460fd4-0x1f,_0x5ebc4d);}return this[_0x3e864a(0x67d,0xe8a)][_0x1d18e9(_0x228c9c._0x2813cb,0x119e)]??0x1;},_0x307dab[_0x3abadf(0x1270,_0x3b5b41._0x1a2bc2)]=_0x3abadf(0x6b7,0x511)+_0x26bc09+_0x3abadf(0xae4,_0x3b5b41._0x45b319);const _0x30ae92={'flat':!![],...this['style']};_0x30ae92[_0x3abadf(_0x3b5b41._0x2f8f67,_0x3b5b41._0xb6b9d2)]=_0x307dab;const _0x2a26d1={'geometryInstances':_0xcecbfb,'asynchronous':![],'appearance':new Cesium__namespace[(_0x3abadf(0x763,-_0x3b5b41._0x24fa90))](_0x30ae92)},_0xbfe1bb=new Cesium__namespace['Primitive'](_0x2a26d1);return this['bindPickId'](_0xbfe1bb),_0xbfe1bb;}[_0x306755(0xe0d,0x87b)](){const _0x59d647={_0x30dfd4:0xcc8,_0xfaef77:0x140a,_0x8b5873:0x14ba,_0x31bbde:0x1d55,_0x1f81b2:0x358,_0x11bae7:0x140a,_0x295db3:0x9ce,_0x2a1bc6:0x20c,_0x460e1e:0x29c},_0x12fe79={_0x49c59c:0x4fe},_0x32542b={_0x232372:0x37a};var _0x77ef21;function _0x1b95af(_0x1324ec,_0x56e994){return _0x2b6441(_0x1324ec,_0x56e994-_0x32542b._0x232372);}this[_0x1b95af(0xa65,_0x59d647._0x30dfd4)]&&(_0x77ef21=this['_videoContainer'])!==null&&_0x77ef21!==void 0x0&&_0x77ef21['parentNode']&&(this[_0x56d85e(_0x59d647._0xfaef77,_0x59d647._0x8b5873)][_0x56d85e(0x686,0x9b2)][_0x56d85e(0xc5e,0xac9)](this[_0x56d85e(_0x59d647._0xfaef77,_0x59d647._0x31bbde)]),delete this[_0x56d85e(0x9f1,0x463)],delete this['_videoContainer']);function _0x56d85e(_0x1ade48,_0xa785b5){return _0x306755(_0xa785b5,_0x1ade48- -_0x12fe79._0x49c59c);}if(this[_0x56d85e(_0x59d647._0x1f81b2,0xddc)]['url'])this[_0x56d85e(_0x59d647._0x11bae7,0x148c)]=createVideo(this[_0x1b95af(0x1e6,0x62f)]['url'],this['style'][_0x1b95af(0x1326,0x114a)],'',document[_0x1b95af(0xc02,0x499)]),this['_videoContainer'][_0x1b95af(0x93,0x62f)][_0x1b95af(_0x59d647._0x295db3,0x3cc)]=_0x56d85e(0x754,-_0x59d647._0x2a1bc6),this[_0x1b95af(0x14fc,_0x59d647._0x30dfd4)]=!![];else this['style']['container']&&(this['_videoContainer']=this[_0x1b95af(_0x59d647._0x460e1e,0x62f)]['container']);}[_0x306755(0x13e1,0x1966)](_0x4e2531,_0x9b3cf9){const _0x2d35b5={_0x1c3215:0x3b2,_0x5d5022:0x2eb,_0x263b5d:0xa73},_0x4460c0={_0x171598:0x606},_0x116d50={_0x5cbe24:0x30d};_0x4e2531['minPointNum']=0x4,_0x4e2531['maxPointNum']=0x4,_0x4e2531['style']['materialType']=_0x23f12c(_0x2d35b5._0x1c3215,_0x2d35b5._0x5d5022);const _0x2fb8dc={};_0x2fb8dc[_0x23f12c(_0x2d35b5._0x263b5d,0x5b9)]=this[_0x1d187f(0xfb8,0x1674)];function _0x1d187f(_0x46e328,_0x4a2e3d){return _0x2b6441(_0x46e328,_0x4a2e3d-_0x116d50._0x5cbe24);}_0x4e2531['style']['materialOptions']=_0x2fb8dc;const _0x159d4e=create$5('polygon',_0x4e2531);function _0x23f12c(_0x5ee9b2,_0x3e1157){return _0x306755(_0x5ee9b2,_0x3e1157- -_0x4460c0._0x171598);}return _0x159d4e;}[_0x2b6441(0x48a,-0xbd)](_0x42150a){const _0x125297={_0xf03eac:0xe1f,_0x358e6b:0x1222};function _0x1edd5a(_0x172ea4,_0x2dee6b){return _0x306755(_0x2dee6b,_0x172ea4-0x21);}function _0xed7cd6(_0x45482d,_0x24dc51){return _0x2b6441(_0x24dc51,_0x45482d-0x31b);}this[_0x1edd5a(_0x125297._0xf03eac,_0x125297._0x358e6b)]&&(_0x42150a[_0x1edd5a(0xe1f,0x411)]=this['_hierarchy']);}get['isEditingGrid'](){return this['_enabledEditGrid'];}['startEditingGrid'](){const _0x590218={_0x4047c0:0x1d94,_0x3853c8:0x1769,_0x313aac:0x89b,_0x5a24a5:0xa0f,_0x289756:0x9f6,_0x5a0243:0x13af,_0x1b56f6:0x9cf,_0x2667c5:0x758},_0x2c9c16={_0x29b23c:0x2a3},_0x230177={_0x30ee71:0x541};if(this['_enabledEditGrid'])return this;this['_enabledEditGrid']=!![];function _0x43d9fb(_0x5c3c55,_0x219ad8){return _0x2b6441(_0x5c3c55,_0x219ad8-_0x230177._0x30ee71);}function _0x1fcff3(_0x213b1b,_0xf249bf){return _0x2b6441(_0x213b1b,_0xf249bf-_0x2c9c16._0x29b23c);}if(!this[_0x43d9fb(_0x590218._0x4047c0,_0x590218._0x3853c8)])throw new Error('编辑时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['stopEditing'](),this['_map']['mouseEvent']['noPickEntity']=this['_entity'],this['_map'][_0x1fcff3(0xf81,_0x590218._0x313aac)]['enabledMoveTarget']=![],!this['editingGrid']&&(this[_0x43d9fb(_0x590218._0x5a24a5,_0x590218._0x289756)]=new EditPolygonGrid(this),this['editingGrid']['getGridPositions']=_0x2241b8=>{return this['_positions_grid'];},this['editingGrid'][_0x1fcff3(_0x590218._0x5a0243,0x11d0)]=(_0x2616e2,_0x2fa7d7)=>{this['_positions_grid'][_0x2fa7d7]=_0x2616e2,this['update']();}),this['editingGrid'][_0x1fcff3(0xe6b,_0x590218._0x1b56f6)]&&this[_0x1fcff3(-0x341,_0x590218._0x2667c5)]['activate']();}[_0x2b6441(0x1767,0xf69)](){const _0x47c87e={_0xc62701:0xcce,_0x4bc20e:0x13d5,_0x2d37ce:0x155f,_0x209d54:0x7f3,_0x32b079:0x6c3,_0x2152e3:0xcac},_0x183988={_0x14864e:0x1fb},_0x437f7b={_0xf939ef:0x4b1};var _0x4e2db1;if(!this[_0x3d0753(_0x47c87e._0xc62701,_0x47c87e._0x4bc20e)]||!this['isAdded'])return this;(_0x4e2db1=this['editingGrid'])!==null&&_0x4e2db1!==void 0x0&&_0x4e2db1['disable']&&this['editingGrid'][_0x3d0753(0x10e9,_0x47c87e._0x2d37ce)]();this['_map']&&(this['_map']['closeSmallTooltip'](),this['_map'][_0x3d0753(_0x47c87e._0x209d54,0x123b)][_0x31c8c(0x13f,0x9df)]=null,this['_map']['mouseEvent'][_0x3d0753(_0x47c87e._0x32b079,_0x47c87e._0x2152e3)]=!![]);function _0x31c8c(_0xc04e29,_0x1fc08b){return _0x2b6441(_0xc04e29,_0x1fc08b-_0x437f7b._0xf939ef);}function _0x3d0753(_0x5bd0bf,_0x5920d5){return _0x2b6441(_0x5920d5,_0x5bd0bf-_0x183988._0x14864e);}this['_enabledEditGrid']=![];}[_0x306755(0x10d3,0x14b5)](_0x969c61){const _0x3e7a8b={_0xd30c66:0x1479,_0x394fdb:0xac9,_0x53c01d:0xea3};function _0xfd9727(_0x1d53f5,_0x1b11fd){return _0x2b6441(_0x1b11fd,_0x1d53f5-0x683);}_0x969c61[_0x909362(0x7c8,0x108c)]=[];function _0x909362(_0xd5d74c,_0x5a2b54){return _0x306755(_0x5a2b54,_0xd5d74c-0x63);}for(let _0x459392=0x0,_0x541e88=this[_0xfd9727(_0x3e7a8b._0xd30c66,_0x3e7a8b._0x394fdb)][_0x909362(0x165e,_0x3e7a8b._0x53c01d)];_0x459392<_0x541e88;++_0x459392){const _0xcf7e5c=this['_positions_grid'][_0x459392],_0x5748db={};_0x5748db['x']=_0xcf7e5c['x'],_0x5748db['y']=_0xcf7e5c['y'],_0x5748db['z']=_0xcf7e5c['z'],_0x969c61['positions_grid']['push'](_0x5748db);}}}register$5(_0x306755(0xfd7,0x1872),VideoPrimitive);function getGridPositions(_0x59ce75,_0x47f41f){const _0x2378ca={_0x4d1c81:0x47c,_0x5f3e4f:0x731,_0x40bc0f:0xaef,_0x5e041e:0x756,_0x1c4db1:0xb88,_0x317072:0x1051,_0x44658c:0xa63,_0x5287bf:0x8d6,_0x547afa:0x954,_0x51a0a8:0xe53,_0x128eed:0x492,_0x109672:0x756,_0x2a3741:0x3ce,_0x166444:0x511},_0x1512bc=[],_0x483904=[],_0x405d71=[],_0x5e6fd8=_0x59ce75[0x0],_0xc145e3=_0x59ce75[0x1],_0x30d7c4=_0x59ce75[0x2],_0x2296e6=_0x59ce75[0x3],_0x56c130=Cesium__namespace['Cartesian3']['distance'](_0x5e6fd8,_0x2296e6),_0x3f5f66=Cesium__namespace['Cartesian3']['distance'](_0xc145e3,_0x30d7c4),_0x1523eb=_0x56c130/_0x47f41f,_0x357772=_0x3f5f66/_0x47f41f;function _0x283de6(_0x18e3c0,_0x3b26cc){return _0x306755(_0x3b26cc,_0x18e3c0- -0x2cb);}const _0x170b74=Cesium__namespace['Cartesian3'][_0x283de6(_0x2378ca._0x4d1c81,-0x2fc)](Cesium__namespace[_0x283de6(0x756,_0x2378ca._0x5f3e4f)]['subtract'](_0x2296e6,_0x5e6fd8,new Cesium__namespace[(_0x2fddd2(0x8d6,_0x2378ca._0x40bc0f))]()),new Cesium__namespace['Cartesian3']());function _0x2fddd2(_0x5a5f1c,_0x29a1b5){return _0x2b6441(_0x29a1b5,_0x5a5f1c-0x456);}const _0x53bfbc=Cesium__namespace[_0x283de6(_0x2378ca._0x5e041e,0x9fa)][_0x2fddd2(0x5fc,-0x2a0)](Cesium__namespace[_0x283de6(_0x2378ca._0x5e041e,_0x2378ca._0x1c4db1)][_0x2fddd2(0xfd3,_0x2378ca._0x317072)](_0x30d7c4,_0xc145e3,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0xd12759=0x1/_0x47f41f;for(let _0x15d78f=0x0;_0x15d78f<=_0x47f41f;_0x15d78f++){for(let _0x560ddb=0x0;_0x560ddb<=_0x47f41f;_0x560ddb++){const _0x5692a1=Cesium__namespace[_0x283de6(0x756,-0x21b)]['add'](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x170b74,_0x15d78f*_0x1523eb,new Cesium__namespace['Cartesian3']()),_0x5e6fd8,new Cesium__namespace['Cartesian3']()),_0x5653c6=Cesium__namespace['Cartesian3'][_0x283de6(_0x2378ca._0x44658c,0x222)](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x53bfbc,_0x15d78f*_0x357772,new Cesium__namespace['Cartesian3']()),_0xc145e3,new Cesium__namespace[(_0x2fddd2(_0x2378ca._0x5287bf,_0x2378ca._0x547afa))]()),_0x5db469=Cesium__namespace[_0x2fddd2(0x8d6,0x644)]['normalize'](Cesium__namespace['Cartesian3'][_0x283de6(_0x2378ca._0x51a0a8,_0x2378ca._0x128eed)](_0x5653c6,_0x5692a1,new Cesium__namespace[(_0x283de6(0x756,0xf79))]()),new Cesium__namespace[(_0x283de6(0x756,0x677))]()),_0x3ca948=Cesium__namespace[_0x283de6(_0x2378ca._0x109672,0x268)]['distance'](_0x5653c6,_0x5692a1),_0x429902=_0x3ca948/_0x47f41f,_0x45b3cc=Cesium__namespace['Cartesian3']['add'](Cesium__namespace['Cartesian3']['multiplyByScalar'](_0x5db469,_0x560ddb*_0x429902,new Cesium__namespace['Cartesian3']()),_0x5692a1,new Cesium__namespace['Cartesian3']());_0x1512bc['push'](_0x560ddb*_0xd12759),_0x1512bc['push'](0x1-_0x15d78f*_0xd12759),_0x483904['push'](_0x45b3cc);}}for(let _0x550134=0x0;_0x550134<_0x47f41f;_0x550134++){for(let _0x1887c9=0x0;_0x1887c9<_0x47f41f;_0x1887c9++){const _0x2c8e72=_0x550134*(_0x47f41f+0x1)+_0x1887c9,_0x37bb83=(_0x550134+0x1)*(_0x47f41f+0x1)+_0x1887c9;_0x405d71['push'](_0x2c8e72),_0x405d71['push'](_0x2c8e72+0x1),_0x405d71['push'](_0x37bb83+0x1),_0x405d71['push'](_0x37bb83+0x1),_0x405d71['push'](_0x37bb83),_0x405d71[_0x283de6(_0x2378ca._0x2a3741,0xd5d)](_0x2c8e72);}}const _0x987400={};return _0x987400['uv']=_0x1512bc,_0x987400[_0x283de6(0x5e7,_0x2378ca._0x166444)]=_0x405d71,_0x987400['positions']=_0x483904,_0x987400;}class BaseCombine extends BasePrimitive{get['instances'](){const _0x2b31cc={_0x116f44:0xd2d,_0x70920e:0x8e2},_0x2c4e5a={_0x4ac034:0x1a};function _0xefa9ea(_0x304846,_0x26d008){return _0x306755(_0x26d008,_0x304846- -_0x2c4e5a._0x4ac034);}function _0x19b3b0(_0x401326,_0x4d3b3d){return _0x306755(_0x401326,_0x4d3b3d- -0x42c);}return this[_0xefa9ea(0xc43,_0x2b31cc._0x116f44)][_0x19b3b0(0x931,_0x2b31cc._0x70920e)]||[];}set[_0x2b6441(0x314,0x76d)](_0x5e0be7){this['options']['instances']=_0x5e0be7,this['_rectangle']=null,this['redraw']();}get['hasCluster'](){return![];}[_0x306755(0x355,0x99e)](_0x427220){const _0x9c939f={_0x5daf52:0x11f6};if(!this[_0xcb0699(_0x9c939f._0x5daf52,0x170a)])return;super['_addedHook'](_0x427220);function _0xcb0699(_0x15f435,_0x37045e){return _0x306755(_0x37045e,_0x15f435- -0x39d);}this['_layer']['on'](EventType['show'],this['_layer_showHandler'],this);}[_0x2b6441(0x4e3,0x88a)](){const _0x1bf9dc={_0x4bbd2c:0x17d2};this['_layer'][_0x47caf1(0x8bf,0x1329)](EventType['show'],this[_0xdbd2f3(0x11b3,_0x1bf9dc._0x4bbd2c)],this);function _0x47caf1(_0x12eb0d,_0x3e63e7){return _0x306755(_0x3e63e7,_0x12eb0d- -0xad);}function _0xdbd2f3(_0x2b61ac,_0x3f3de8){return _0x306755(_0x3f3de8,_0x2b61ac- -0x2a1);}super['_removedHook']();}['_removeLabel'](){const _0x58d133={_0x1547df:0xc93},_0x4b7745={_0x3c2efa:0x2d3};function _0x7c4f4f(_0x4b38b6,_0x3e080f){return _0x2b6441(_0x4b38b6,_0x3e080f-_0x4b7745._0x3c2efa);}function _0x1de3c3(_0xa4c28c,_0x32d6b5){return _0x2b6441(_0x32d6b5,_0xa4c28c-0x450);}if(this['_labelList']){for(let _0x3e3252=this['_labelList']['length']-0x1;_0x3e3252>=0x0;_0x3e3252--){const _0x2ba2f2=this[_0x1de3c3(0xfe5,0x652)][_0x3e3252];this['_layer'][_0x1de3c3(0xaa0,_0x58d133._0x1547df)]['remove'](_0x2ba2f2);}delete this['_labelList'];}}['_layer_showHandler'](){this['redraw']();}['getPickedObject'](_0x5a0dbc){const _0x520db3=_0x5a0dbc['split']('#');if(_0x520db3['length']!==0x2)return null;const _0x54e202=Number(_0x520db3[0x1]);return this['instances'][_0x54e202];}['createPickId'](_0x316ca5){return this['id']+'#'+_0x316ca5;}['_createGeometryInstance'](_0x4d594a,_0x478264){const _0x28d71c={_0x2fa1b3:0xa76,_0x5d80f3:0xc70};function _0x41fd29(_0x271421,_0x166b19){return _0x306755(_0x271421,_0x166b19-0x13);}function _0x2cec4f(_0x1e2901,_0x332cef){return _0x2b6441(_0x332cef,_0x1e2901-0x3b5);}if(this[_0x41fd29(0x160f,0xc70)]['geometryInstances'])return this[_0x41fd29(_0x28d71c._0x2fa1b3,_0x28d71c._0x5d80f3)][_0x2cec4f(0x115b,0x19d9)];const _0x528906=[],_0x481c00=this['instances'];for(let _0x19da30=0x0;_0x19da30<_0x481c00['length'];_0x19da30++){const _0x8c2c95=_0x481c00[_0x19da30];_0x8c2c95['id']=this['createPickId'](_0x19da30),_0x528906['push'](_0x8c2c95);}return _0x528906;}['getRectangle'](_0x24ba5c){const _0x5d6532={_0x7e3a57:0x3ef,_0x529b4f:0xb5c},_0x1cf8fe={_0x41d932:0x1366,_0x2c6923:0x1773,_0x84ebab:0x1773},_0x34bbab={_0x442b38:0x1c};!this[_0x1a3ec6(_0x5d6532._0x7e3a57,_0x5d6532._0x529b4f)]&&this[_0x4809d0(0x601,0x53e)]((_0x205eb9,_0x44b4f9)=>{function _0x5d8d0f(_0x47d7b4,_0x954e87){return _0x4809d0(_0x954e87- -0x379,_0x47d7b4);}_0x205eb9['position']&&(_0x205eb9[_0x222ee4(0x142b,_0x1cf8fe._0x41d932)]=LngLatPoint['parse'](_0x205eb9['position'])[_0x222ee4(0x6cc,0xb59)](),this['_unionRectangle']([_0x205eb9['position']]));function _0x222ee4(_0x2468d2,_0x11ab73){return _0x4809d0(_0x11ab73-_0x34bbab._0x442b38,_0x2468d2);}_0x205eb9[_0x5d8d0f(0x1f0a,_0x1cf8fe._0x2c6923)]&&(_0x205eb9[_0x222ee4(0x2413,0x1b08)]=LngLatArray[_0x5d8d0f(0x10fd,0xa65)](_0x205eb9[_0x5d8d0f(0x1bfc,0x1773)]),this['_unionRectangle'](_0x205eb9[_0x5d8d0f(0x1380,_0x1cf8fe._0x84ebab)]));});function _0x1a3ec6(_0x1c2875,_0x2e63d2){return _0x2b6441(_0x1c2875,_0x2e63d2-0x6c4);}function _0x4809d0(_0x140c3f,_0x12d54a){return _0x306755(_0x12d54a,_0x140c3f-0x153);}return _0x24ba5c!==null&&_0x24ba5c!==void 0x0&&_0x24ba5c['isFormat']?formatRectangle(this['_rectangle']):this['_rectangle'];}['_unionRectangle'](_0x399944){const _0x5edae1={_0x403497:0x1019,_0x447660:0x8e1,_0x32d24c:0x4b4},_0x5bd637={_0x17f883:0x5f4};function _0x45b880(_0x50e63a,_0x1673f4){return _0x306755(_0x50e63a,_0x1673f4- -_0x5bd637._0x17f883);}const _0xede3d2=Cesium__namespace['Rectangle'][_0x1a6193(_0x5edae1._0x403497,_0x5edae1._0x447660)](_0x399944);function _0x1a6193(_0x148be3,_0x34e700){return _0x306755(_0x34e700,_0x148be3- -0x56);}if(!Cesium__namespace['defined'](_0xede3d2))return;Cesium__namespace['defined'](this['_rectangle'])?this[_0x45b880(_0x5edae1._0x32d24c,0x445)]=Cesium__namespace['Rectangle']['union'](_0xede3d2,this['_rectangle']):this['_rectangle']=_0xede3d2;}['eachInstances'](_0x4683b9,_0x4b098e){const _0x5cd538={_0x52381d:0x13a,_0x55a808:0xa08,_0x2329cc:0x1e6d},_0x33d1de={_0x4ac8d3:0x39};function _0x5b0e11(_0x182f39,_0x573504){return _0x306755(_0x182f39,_0x573504- -0x306);}function _0xd5a8c2(_0x52a0a7,_0x164d53){return _0x306755(_0x52a0a7,_0x164d53-_0x33d1de._0x4ac8d3);}for(let _0x391543=0x0;_0x391543<this[_0x5b0e11(_0x5cd538._0x52381d,_0x5cd538._0x55a808)][_0xd5a8c2(_0x5cd538._0x2329cc,0x1634)];_0x391543++){const _0x34e55b=this['instances'][_0x391543]||{};_0x4683b9['call'](_0x4b098e||this,_0x34e55b,_0x391543);}return this;}['toJSON'](){const _0x27e6f9={_0x3ba6a3:0xb72,_0x602f62:0xcb9,_0x41ec4e:0x5f,_0x58d49e:0x15f5,_0x54d77d:0x809,_0x26ee34:0x1549,_0x5103e4:0x7a7,_0xdff8b3:0x916},_0x53d8c7={_0x4f0a74:0x59b},_0x4b7619={};_0x4b7619['onlySimpleType']=!![];const _0x38329d={...getAttrVal(this[_0x4f49e6(_0x27e6f9._0x3ba6a3,_0x27e6f9._0x602f62)],_0x4b7619),'type':this[_0x4cf061(0x165d,0x1e46)]};this['options']['style']&&(_0x38329d[_0x4f49e6(0x5ca,0x8b2)]=this['_style2JsonBase'](this[_0x4f49e6(0x16c2,_0x27e6f9._0x602f62)]['style'],![]));this['_availability']&&(_0x38329d[_0x4cf061(0x9f6,-_0x27e6f9._0x41ec4e)]=this[_0x4f49e6(0x598,0xa58)]);const _0x371fb2=[];for(let _0x379c50=0x0;_0x379c50<this['instances'][_0x4cf061(_0x27e6f9._0x58d49e,0x1377)];_0x379c50++){const _0xfd6ad4=this['instances'][_0x379c50],_0x497b09={'attr':_0xfd6ad4['attr'],'style':this['_style2JsonBase'](_0xfd6ad4['style'],![])};if(_0xfd6ad4['position'])_0x497b09[_0x4cf061(0x11f1,0x1027)]=LngLatPoint[_0x4f49e6(0xb57,_0x27e6f9._0x54d77d)](_0xfd6ad4[_0x4cf061(0x11f1,_0x27e6f9._0x26ee34)]);else _0xfd6ad4[_0x4cf061(0x1993,0x1198)]&&(_0x497b09['positions']=LngLatArray[_0x4cf061(_0x27e6f9._0x5103e4,_0x27e6f9._0xdff8b3)](_0xfd6ad4['positions']));_0x371fb2['push'](_0x497b09);}function _0x4cf061(_0x3de0e0,_0x33cb35){return _0x2b6441(_0x33cb35,_0x3de0e0-_0x53d8c7._0x4f0a74);}function _0x4f49e6(_0x59b666,_0x4f87a0){return _0x306755(_0x59b666,_0x4f87a0-0x5c);}_0x38329d[_0x4f49e6(0x17a2,0xd6a)]=_0x371fb2;this['_toJSON_Ex']&&this['_toJSON_Ex'](_0x38329d);for(const _0xd35025 in _0x38329d){const _0x3bddbf=_0x38329d[_0xd35025];(!Cesium__namespace['defined'](_0x3bddbf)||isObject(_0x3bddbf)&&Object[_0x4cf061(0x10e1,0x12bd)](_0x3bddbf)[_0x4cf061(0x15f5,0x1bd7)]===0x0)&&delete _0x38329d[_0xd35025];}return _0x38329d;}['toGeoJSON'](_0x361e7b){const _0x20d731={_0x2360a2:0xb15,_0x2ddb36:0x100c,_0x39ba26:0x959,_0x54b29a:0xd54,_0x1e62fc:0x366,_0x34165e:0x14ba,_0x2c8928:0xbf7,_0x5dbed8:0xbf7},_0x2a71b8={_0x8bb6ac:0x1f9},_0x87537d=[];for(let _0x39be8d=0x0;_0x39be8d<this[_0x1bc851(0x9e8,_0x20d731._0x2360a2)]['length'];_0x39be8d++){const _0x4200d6=this['instances'][_0x39be8d];let _0x4a508f;_0x361e7b!==null&&_0x361e7b!==void 0x0&&_0x361e7b['standard']?_0x4a508f=this['attr']:(_0x4a508f={..._0x4200d6['attr'],'type':this['type'],'style':this['_style2JsonBase'](_0x4200d6['style'],!![])},this['_availability']&&(_0x4a508f[_0x4849ce(0x730,0x8d4)]=this['availability']));const _0x42bb97={};_0x42bb97[_0x4849ce(0x18a5,0x153b)]='Feature',_0x42bb97[_0x1bc851(_0x20d731._0x2ddb36,_0x20d731._0x39ba26)]=_0x4a508f;const _0x53339f=_0x42bb97;if(this['_getGeoJsonGeometry'])_0x53339f['geometry']=this['_getGeoJsonGeometry'](_0x4200d6,_0x361e7b);else{if(_0x4200d6[_0x1bc851(_0x20d731._0x54b29a,0xffe)])_0x53339f['geometry']={'type':_0x4849ce(_0x20d731._0x1e62fc,0x5da),'coordinates':LngLatPoint['toArray'](_0x4200d6[_0x4849ce(_0x20d731._0x34165e,0x10cf)],_0x361e7b===null||_0x361e7b===void 0x0?void 0x0:_0x361e7b[_0x1bc851(0x161,_0x20d731._0x2c8928)])};else _0x4200d6['positions']&&(_0x53339f['geometry']={'type':'LineString','coordinates':LngLatArray['toArray'](_0x4200d6[_0x1bc851(0x1a47,0x17a0)],_0x361e7b===null||_0x361e7b===void 0x0?void 0x0:_0x361e7b[_0x1bc851(0x8d1,_0x20d731._0x5dbed8)])});}_0x87537d['push'](_0x53339f);}function _0x4849ce(_0x4af69b,_0x49c9d7){return _0x306755(_0x4af69b,_0x49c9d7- -0x128);}function _0x1bc851(_0x11a379,_0x35fb65){return _0x306755(_0x11a379,_0x35fb65- -_0x2a71b8._0x8bb6ac);}return _0x87537d;}['flyTo'](_0x51b7e9){const _0x3e9fc4={_0x4576e3:0xe02,_0x36e7d8:0xfe3};function _0xf2e5a1(_0x18ad30,_0x32b71c){return _0x306755(_0x32b71c,_0x18ad30- -0x251);}function _0x4572ac(_0xc95682,_0x4f3ea2){return _0x306755(_0xc95682,_0x4f3ea2- -0x61);}const _0x15cf4d=this['getRectangle']();return this['_map']&&_0x15cf4d?this['_map'][_0xf2e5a1(0xcb4,_0x3e9fc4._0x4576e3)](_0x15cf4d,_0x51b7e9):Promise[_0x4572ac(0x19a8,_0x3e9fc4._0x36e7d8)](![]);}['setColorStyle'](_0x7d9040,_0x148bd6){const _0x90bd06={_0x76d9a3:0x9cd,_0x48d58e:0xb5a,_0x105688:0x9a6},_0x2cf6fc={_0x3b3dfc:0x2cd},_0x3821dc={_0x19a8f9:0x594};function _0xd7c9b3(_0x1d6c6a,_0x5e9ead){return _0x306755(_0x5e9ead,_0x1d6c6a- -_0x3821dc._0x19a8f9);}function _0x4e0e00(_0x3b3f09,_0x129e80){return _0x306755(_0x129e80,_0x3b3f09- -_0x2cf6fc._0x3b3dfc);}Cesium__namespace['defined'](_0x148bd6)?this[_0xd7c9b3(_0x90bd06._0x76d9a3,_0x90bd06._0x48d58e)](_0x148bd6,_0x7d9040):this[_0xd7c9b3(-0xe6,-_0x90bd06._0x105688)]((_0x4ab2c1,_0x36fc3e)=>{this['_setColorStyleItem'](_0x36fc3e,_0x7d9040);});}['_setColorStyleItem'](_0x5744d3,_0x115306){const _0x3fa876={_0x184a9b:0x385,_0xa05316:0x2ae,_0x4c4b2b:0x6a6,_0x481f27:0x701,_0x288681:0xc5a},_0x10f99a={_0x268c2b:0x255};function _0x541890(_0x498011,_0x21474f){return _0x306755(_0x498011,_0x21474f- -0x295);}const _0x279537=this[_0x5ab29b(0x5db,0xab9)][_0x5744d3];_0x279537['style']?_0x279537['style']={..._0x279537[_0x541890(-_0x3fa876._0x184a9b,0x5c1)],..._0x115306}:_0x279537['style']=_0x115306;const _0x3ce54e=this['getGeometryInstanceAttributes'](this[_0x541890(_0x3fa876._0xa05316,_0x3fa876._0x4c4b2b)](_0x5744d3));function _0x5ab29b(_0x3008c5,_0x155902){return _0x306755(_0x3008c5,_0x155902- -_0x10f99a._0x268c2b);}if(_0x3ce54e){const _0xba8e22={...this['style'],..._0x279537[_0x5ab29b(_0x3fa876._0x481f27,0x601)]},_0x3ac703=getColorByStyle(_0xba8e22);_0x3ce54e[_0x5ab29b(0x1077,_0x3fa876._0x288681)]=Cesium__namespace[_0x541890(0x185a,0x1643)][_0x541890(0x1d34,0x172b)](_0x3ac703);}}}BaseCombine['isCombine']=!![],BaseCombine[_0x2b6441(0x394,0x752)][_0x306755(0x1038,0xac2)]=!![];class BasePolyCombine extends BaseCombine{get[_0x2b6441(0x91e,0x2b5)](){const _0x311b1d={_0x13ca8f:0x9ad,_0x5391d4:0x122c,_0x10968c:0x603,_0x1cfacb:0xd28,_0x2482fa:0xa5e},_0x182240={_0x114fcc:0x2b0};function _0x2dd75b(_0x143bb7,_0x3541ae){return _0x2b6441(_0x3541ae,_0x143bb7-0x12f);}function _0x1ae5c4(_0x409968,_0x1e74db){return _0x306755(_0x1e74db,_0x409968- -_0x182240._0x114fcc);}var _0x2f4dae,_0x3b66fc;if(((_0x2f4dae=this[_0x1ae5c4(_0x311b1d._0x13ca8f,_0x311b1d._0x5391d4)][_0x1ae5c4(0xa5e,_0x311b1d._0x10968c)])===null||_0x2f4dae===void 0x0?void 0x0:_0x2f4dae['length'])>0x0&&this[_0x2dd75b(0x7eb,_0x311b1d._0x1cfacb)][_0x1ae5c4(_0x311b1d._0x2482fa,0xfc3)][0x0]['style']){const _0xb304fc={...this['options']['style'],...this['options']['instances'][0x0]['style']};return _0xb304fc;}return(_0x3b66fc=this['options'])===null||_0x3b66fc===void 0x0?void 0x0:_0x3b66fc['style'];}set['style'](_0x1c1834){this['setStyle'](_0x1c1834);}get['label'](){return this['_labelList'];}[_0x306755(0xc87,0xce7)](_0x24cc74,_0x5556c7){const _0x50d923={_0x141bc9:0x611,_0x16bc42:0x96c,_0x18c066:0x21e,_0x213d85:0x5fc,_0x273f10:0x34,_0x3282ed:0xc5e,_0x1e0e42:0xf87,_0x4f2c53:0x920,_0x1aee72:0xc55,_0x777f3d:0xeda,_0xbb0c16:0x5c2,_0x38fbb8:0xeea,_0x58644b:0x92b,_0x5c5641:0xd0d,_0x29f086:0x3db,_0x5f5dae:0x845},_0x47dc45={_0x24ec40:0x47b};var _0x28dff3;function _0x1520fd(_0x31f62b,_0x30b52e){return _0x2b6441(_0x30b52e,_0x31f62b-0x347);}this[_0xa0cfb1(0x9ed,0x5be)]=null,this['translucent']=![];const _0x5d531d=this['instances'],_0xe04d54=[],_0x263044=[];(_0x24cc74[_0x1520fd(_0x50d923._0x141bc9,0x7d)]||(_0x28dff3=_0x5d531d[0x0])!==null&&_0x28dff3!==void 0x0&&_0x28dff3[_0x1520fd(_0x50d923._0x141bc9,0x10be)])&&this['_removeLabel']();function _0xa0cfb1(_0x73e92,_0x334286){return _0x306755(_0x73e92,_0x334286- -_0x47dc45._0x24ec40);}for(let _0x89ad24=0x0;_0x89ad24<_0x5d531d[_0xa0cfb1(0xca0,0x1180)];_0x89ad24++){var _0x2ad871;const _0x416ad9=_0x5d531d[_0x89ad24],_0x542b0e=this['createPickId'](_0x89ad24);if(_0x416ad9 instanceof Cesium__namespace['GeometryInstance'])_0x416ad9['id']=_0x542b0e,_0xe04d54[_0xa0cfb1(_0x50d923._0x16bc42,_0x50d923._0x18c066)](_0x416ad9);else{const _0x514df4={...this[_0xa0cfb1(0x2c2,0x7e2)]['style'],..._0x416ad9[_0x1520fd(_0x50d923._0x213d85,-_0x50d923._0x273f10)]},_0x59a528=_0x514df4;let _0x9c9999;if(_0x24cc74[_0xa0cfb1(_0x50d923._0x3282ed,0x8dd)]){_0x9c9999=this[_0x1520fd(0xd4b,_0x50d923._0x1e0e42)](_0x59a528);let _0x4aa9cc=this['_getColorByColorMaterial'](_0x9c9999);_0x5556c7&&_0x9c9999[_0xa0cfb1(0xbaa,_0x50d923._0x4f2c53)]&&(_0x4aa9cc=_0x9c9999['outlineColor']),_0x9c9999[_0x1520fd(_0x50d923._0x1aee72,0x13e0)]=_0x4aa9cc,_0x4aa9cc['alpha']!==0x1&&(this['translucent']=!![]);}else _0x59a528['material']=_0x24cc74['material'],delete _0x59a528['materialType'],delete _0x59a528[_0x1520fd(0x105f,0x182c)],_0x9c9999=this[_0xa0cfb1(0x9eb,0xb2a)](_0x59a528);_0x9c9999['vertexFormat']=_0x9c9999['vertexFormat']||_0x24cc74[_0xa0cfb1(_0x50d923._0x777f3d,0x5e0)],_0x9c9999[_0x1520fd(0xafe,0x212)]=_0x24cc74['_isColorMaterial'];const _0x2efaec=this[_0xa0cfb1(_0x50d923._0xbb0c16,_0x50d923._0x38fbb8)](_0x9c9999,_0x5556c7,_0x416ad9);_0x2efaec&&(_0x2efaec['id']=_0x542b0e,_0xe04d54[_0xa0cfb1(_0x50d923._0x58644b,0x21e)](_0x2efaec));}if(_0x24cc74[_0xa0cfb1(0xd6c,0x3f0)]||(_0x2ad871=_0x416ad9[_0xa0cfb1(0xca5,0x3db)])!==null&&_0x2ad871!==void 0x0&&_0x2ad871['label']){var _0xc8a97d,_0x19b5d6;const _0x28818f={...(_0xc8a97d=this['options'][_0xa0cfb1(_0x50d923._0x5c5641,_0x50d923._0x29f086)])===null||_0xc8a97d===void 0x0?void 0x0:_0xc8a97d[_0xa0cfb1(0xe9b,0x3f0)],...(_0x19b5d6=_0x416ad9['style'])===null||_0x19b5d6===void 0x0?void 0x0:_0x19b5d6[_0xa0cfb1(0x636,0x3f0)]},_0x34de1b=_0x28818f,_0x33cee7=this[_0xa0cfb1(0x64e,_0x50d923._0x5f5dae)](_0x34de1b,_0x416ad9);_0x33cee7&&(_0x33cee7['id']=_0x542b0e,_0x263044['push'](_0x33cee7));}}return this['_labelList']=_0x263044,_0xe04d54;}['_createGeometryInstanceItem'](_0x59657c,_0x3f41de,_0x2d7cdc){}['_getPolylineOutlinePositions'](_0x2ce15d){return _0x2ce15d['positions']?[LngLatArray['toCartesians'](_0x2ce15d['positions'])]:null;}[_0x306755(0x11a7,0x16e2)](_0x1e8f7d){const _0x5561b6={_0x2a8c48:0x10e4,_0x14e7bd:0x7d1,_0x5bee2b:0x4ae,_0xf99538:0x130e,_0x132de8:0xe9f,_0x27af54:0x121f,_0x5cf38b:0xfa1,_0x212908:0x116d,_0x20a47c:0x557,_0x5719ca:0x172d,_0x9b0617:0x3b2,_0x302c2b:0x319,_0x486ff5:0x21bc,_0x52db87:0x12c2,_0x36d156:0x1d74,_0x555737:0x150e,_0x44dbf1:0x8b4},_0x57191f={_0x280eef:0x51c},_0x39754b=this['instances'],_0x283a99=[];let _0x463802;for(let _0x5501a3=0x0;_0x5501a3<_0x39754b['length'];_0x5501a3++){const _0x48bdcf=_0x39754b[_0x5501a3];let _0x98f083;if(_0x48bdcf['style']&&(Cesium__namespace[_0x3db5e1(0x130e,0x111a)](_0x48bdcf['style']['outline'])||Cesium__namespace['defined'](_0x48bdcf['style']['outlineStyle'])||Cesium__namespace['defined'](_0x48bdcf[_0x91c9d(_0x5561b6._0x2a8c48,_0x5561b6._0x14e7bd)]['outlineColor'])||Cesium__namespace['defined'](_0x48bdcf['style'][_0x3db5e1(_0x5561b6._0x5bee2b,-0x95)])||Cesium__namespace[_0x3db5e1(_0x5561b6._0xf99538,0xf85)](_0x48bdcf['style'][_0x3db5e1(0x767,_0x5561b6._0x132de8)]))){const _0x23a423=this[_0x91c9d(_0x5561b6._0x27af54,_0x5561b6._0x5cf38b)](_0x48bdcf['style']);if(!_0x23a423[_0x91c9d(_0x5561b6._0x212908,0x150e)])continue;const _0x2d64de={..._0x1e8f7d,..._0x23a423};_0x98f083=_0x2d64de;}else _0x98f083=_0x1e8f7d;_0x463802=PolylineStyleConver['toCesiumVal'](_0x98f083);!_0x463802['material']&&(_0x463802[_0x91c9d(0x95c,0x9d6)]=Cesium__namespace['PolylineColorAppearance']['VERTEX_FORMAT']);const _0x1a7571=_0x98f083['clampToGround']?Cesium__namespace['GroundPolylineGeometry']:Cesium__namespace['PolylineGeometry'],_0x508b8c=_0x463802['color']??Cesium__namespace['Color'][_0x91c9d(0x7d0,0x10a1)]['withAlpha'](0.5),_0x189424=this[_0x3db5e1(_0x5561b6._0x20a47c,0x6a1)](_0x48bdcf);if(!_0x189424)return;for(let _0x344148=0x0,_0x3804b8=_0x189424['length'];_0x344148<_0x3804b8;_0x344148++){let _0x49d6f2=_0x189424[_0x344148];Cesium__namespace[_0x91c9d(0x1ea1,_0x5561b6._0x5719ca)](_0x48bdcf[_0x3db5e1(_0x5561b6._0x9b0617,-0x250)]['height'])&&(_0x49d6f2=setPositionsHeight(_0x49d6f2,_0x48bdcf['style'][_0x3db5e1(0x74e,0x107c)]));_0x49d6f2['length']>0x0&&(_0x49d6f2=_0x49d6f2[_0x3db5e1(0x982,_0x5561b6._0x302c2b)](_0x49d6f2[0x0]));const _0x5d98f4={..._0x463802};_0x5d98f4['positions']=_0x49d6f2;const _0x4feffb=new Cesium__namespace['GeometryInstance']({'id':this['createPickId'](_0x5501a3),'geometry':new _0x1a7571(_0x5d98f4),'attributes':this[_0x3db5e1(0xf9c,0x904)](_0x463802,{'color':Cesium__namespace[_0x91c9d(_0x5561b6._0x486ff5,0x1853)][_0x91c9d(0x899,0x897)](_0x508b8c)})});_0x283a99['push'](_0x4feffb);}}const _0x39f82f={...this['options']};_0x39f82f[_0x91c9d(0xa93,_0x5561b6._0x52db87)]=_0x283a99,_0x39f82f[_0x91c9d(_0x5561b6._0x36d156,_0x5561b6._0x555737)]=this[_0x3db5e1(0x10ef,0x69b)];const _0x352fc9=_0x39f82f;delete _0x352fc9['style'],delete _0x352fc9[_0x3db5e1(0x858,0xd33)];function _0x91c9d(_0x1b4219,_0xda26e6){return _0x2b6441(_0x1b4219,_0xda26e6-_0x57191f._0x280eef);}if(this[_0x3db5e1(_0x5561b6._0x44dbf1,0x9c7)](_0x1e8f7d,_0x463802)){const _0x808e45={..._0x463802};_0x352fc9['appearance']=new Cesium__namespace['PolylineColorAppearance'](_0x808e45);}else{const _0x50c858={..._0x463802};_0x352fc9[_0x91c9d(0x1f6e,0x184f)]=new Cesium__namespace['PolylineMaterialAppearance'](_0x50c858);}let _0x1d42c8;_0x463802[_0x3db5e1(0x18,0x932)]?(_0x1d42c8=this['groundPrimitiveCollection']['add'](new Cesium__namespace['GroundPolylinePrimitive'](_0x352fc9)),_0x1d42c8['_clampToGround']=!![]):_0x1d42c8=this['primitiveCollection']['add'](new Cesium__namespace['Primitive'](_0x352fc9));this['bindPickId'](_0x1d42c8);function _0x3db5e1(_0x1ac058,_0x4c3bcb){return _0x306755(_0x4c3bcb,_0x1ac058- -0x4a4);}return _0x1d42c8;}[_0x2b6441(0x214,0x71f)](_0x518eb8,_0x3ba5ad){const _0x26ba2c={_0x519c7a:0x550,_0x2c2b7b:0x599,_0x4fb2fd:0x100c,_0x2118b0:0x8d4,_0x1b807e:0x862,_0x1a0092:0xf2a,_0x45e131:0xa71},_0x410fb6={_0x57ba44:0x2e4};if(!_0x3ba5ad)return;if(!_0x518eb8||!_0x518eb8['text']||_0x518eb8['show']===![])return;let _0x550bb5=this['_getCenter'](_0x3ba5ad);if(_0x518eb8['position']){if(isString(_0x518eb8['position'])){const _0x298057=template(_0x518eb8['position'],_0x3ba5ad['attr'],!![]);_0x298057&&(_0x550bb5=LngLatPoint['parse'](_0x298057)[_0x5a9a47(_0x26ba2c._0x519c7a,0xdc8)]());}}function _0x42f998(_0x434bad,_0x3bdcec){return _0x2b6441(_0x3bdcec,_0x434bad-_0x410fb6._0x57ba44);}if(!_0x550bb5)return;if(Cesium__namespace['defined'](_0x518eb8[_0x5a9a47(0x758,0xbaf)])||Cesium__namespace['defined'](this[_0x42f998(_0x26ba2c._0x2c2b7b,0xdcf)]['height'])){const _0x488f9d=_0x518eb8[_0x5a9a47(0x758,_0x26ba2c._0x4fb2fd)]??this['style']['height'];_0x550bb5=setPositionsHeight(_0x550bb5,_0x488f9d);}Cesium__namespace[_0x5a9a47(0x1318,_0x26ba2c._0x2118b0)](this['style']['diffHeight'])&&(_0x550bb5=addPositionsHeight(_0x550bb5,this['style']['diffHeight']));_0x550bb5=this['_updatePositionsForHeight'](_0x550bb5,_0x518eb8);const _0x358301=LabelStyleConver['toCesiumVal'](_0x518eb8,{},_0x3ba5ad[_0x5a9a47(_0x26ba2c._0x1b807e,0x463)]);_0x358301[_0x5a9a47(0xd5d,0x16c1)]=LngLatPoint['toCartesian'](_0x550bb5),_0x358301['show']=this[_0x5a9a47(0x10f9,0x1b1c)];const _0x1358a8=this[_0x5a9a47(_0x26ba2c._0x1a0092,0x11ab)]['labelCollection'][_0x42f998(_0x26ba2c._0x45e131,0x689)](_0x358301);this['bindPickId'](_0x1358a8),this['_bindLabelAvailability'](_0x1358a8);function _0x5a9a47(_0x3f7490,_0x188750){return _0x306755(_0x188750,_0x3f7490- -0x49a);}return _0x1358a8;}['_highlight_mouseEventHandler'](_0x116419){const _0x4047d6={_0x3edd70:0x1418,_0x5731ce:0x1431,_0x1657f0:0x12e1};this[_0x12a111(0x13e5,0x11bf)]['closeHighlight']();function _0x3b7506(_0x4e311c,_0x35ce66){return _0x2b6441(_0x35ce66,_0x4e311c-0x59a);}function _0x12a111(_0x3276f6,_0x3db6b1){return _0x306755(_0x3276f6,_0x3db6b1- -0x60a);}const _0x56b924=_0x116419['pickedObject'];_0x56b924&&(this['_last_pickedObject']=_0x56b924,this[_0x12a111(0xfd5,0x11bf)][_0x3b7506(_0x4047d6._0x3edd70,_0x4047d6._0x5731ce)](this,this[_0x12a111(_0x4047d6._0x1657f0,0x118a)],_0x116419));}['openHighlight'](_0x135bb0,_0x1d10fc=!![],_0x20d9b1){const _0x29802b={_0x4a06f7:0xea3,_0x158e8e:0x585,_0x2668fa:0x603,_0x3845ac:0x18df,_0x3b8bf2:0x33f,_0xfa1501:0x13ad,_0x31dc9e:0xe7,_0x36a65c:0xb0,_0x2e7126:0x8ed},_0x6524cd={_0x11245d:0x14b};function _0x229ca9(_0x57ad7a,_0xc75602){return _0x306755(_0x57ad7a,_0xc75602- -0x5c2);}_0x1d10fc&&(this['_map'][_0x229ca9(_0x29802b._0x4a06f7,_0x29802b._0x158e8e)](),this['_map'][_0x50496e(_0x29802b._0x2668fa,0x2ba)]=this);function _0x50496e(_0x1a55ac,_0x3fc21b){return _0x306755(_0x3fc21b,_0x1a55ac-_0x6524cd._0x11245d);}Cesium__namespace['defined'](_0x20d9b1)&&(isNumber(_0x20d9b1)?this['_last_pickedObject']={'id':this['createPickId'](_0x20d9b1),'data':this[_0x229ca9(0xd17,0x69b)]['instances'][_0x20d9b1]||{}}:this['_last_pickedObject']=_0x20d9b1);const _0x59bfc8=_0x135bb0||this[_0x50496e(_0x29802b._0x3845ac,0x1ca1)];if(this['_last_pickedObject']&&_0x59bfc8){var _0x3bbab6;const _0x349d9c=this['_last_pickedObject']['id'],_0x4a95a1={...(_0x3bbab6=this[_0x50496e(0x6a5,-_0x29802b._0x3b8bf2)]['data'])===null||_0x3bbab6===void 0x0?void 0x0:_0x3bbab6['style'],..._0x59bfc8},_0x3b92bc=PolygonStyleConver[_0x50496e(0x1197,0xa8c)](_0x4a95a1);if(this['_primitive_outline']){const _0xda73ea=this[_0x229ca9(0x1c6f,_0x29802b._0xfa1501)](_0x349d9c,this[_0x229ca9(-0xd7,-_0x29802b._0x31dc9e)]);if(_0xda73ea){const _0x2fb905=this['_getOutlineStyle'](_0x3b92bc),_0x4f1622=PolylineStyleConver[_0x229ca9(0x6b0,0xa8a)](_0x2fb905);_0xda73ea[_0x229ca9(_0x29802b._0x36a65c,0x8ed)]=Cesium__namespace[_0x50496e(0x1a23,0x1eec)]['toValue'](_0x4f1622[_0x229ca9(0x4f1,_0x29802b._0x2e7126)]);}}const _0x50a920=this[_0x229ca9(0x133a,0x10ef)](_0x3b92bc,![]);if(_0x50a920){const _0x5aef4c=this['getGeometryInstanceAttributes'](_0x349d9c);_0x5aef4c&&(_0x5aef4c['color']=Cesium__namespace['ColorGeometryInstanceAttribute'][_0x229ca9(0xb98,0x13fe)](_0x50a920)),this['fire'](EventType['highlightOpen'],{},!![]);}}}[_0x2b6441(0xafd,0x5a6)](_0x3bd0fe){const _0x3b4529={_0x1472a4:0x5d,_0x32744c:0x1f3,_0x1053ff:0xe38,_0x4872be:0x1323,_0x1ddc96:0x12cc},_0x3eac69={_0x34b15a:0x555};function _0x4aa3af(_0x42c09d,_0x5ed9fd){return _0x2b6441(_0x5ed9fd,_0x42c09d-_0x3eac69._0x34b15a);}function _0x292516(_0x29b2c2,_0x56f954){return _0x306755(_0x29b2c2,_0x56f954- -0x4fd);}Cesium__namespace[_0x4aa3af(0x1766,0xdbb)](_0x3bd0fe)&&(isNumber(_0x3bd0fe)?this['_last_pickedObject']={'id':this['createPickId'](_0x3bd0fe),'data':this['options']['instances'][_0x3bd0fe]||{}}:this['_last_pickedObject']=_0x3bd0fe);if(this['_last_pickedObject']&&this[_0x292516(0xc2f,0xa4a)]){var _0x55bd8f;const _0xc943f5=PolygonStyleConver['toCesiumVal'](((_0x55bd8f=this[_0x292516(0x90e,_0x3b4529._0x1472a4)]['data'])===null||_0x55bd8f===void 0x0?void 0x0:_0x55bd8f['style'])||{}),_0x508d20=this[_0x4aa3af(0x50e,-_0x3b4529._0x32744c)]['id'];if(this[_0x292516(-0x488,-0x22)]){const _0x4b4484=this['getGeometryInstanceAttributes'](_0x508d20,this[_0x4aa3af(0x48f,0xf57)]);if(_0x4b4484){const _0x27f6ba=this['_getOutlineStyle'](_0xc943f5),_0x249563=PolylineStyleConver['toCesiumVal'](_0x27f6ba);_0x4b4484[_0x292516(0x8c8,0x9b2)]=Cesium__namespace[_0x4aa3af(0x188c,0x225b)]['toValue'](_0x249563['color']);}}const _0x14db19=this['_getColorByColorMaterial'](_0xc943f5,![]);if(_0x14db19){const _0x20215b=this['getGeometryInstanceAttributes'](_0x508d20);_0x20215b&&(_0x20215b['color']=Cesium__namespace['ColorGeometryInstanceAttribute']['toValue'](_0x14db19),this['fire'](EventType[_0x292516(_0x3b4529._0x1053ff,_0x3b4529._0x4872be)],{},!![]));}delete this['_last_pickedObject'];}this['_map']['isHighlighting'](this)&&this[_0x292516(0x1329,_0x3b4529._0x1ddc96)][_0x292516(0x1114,0x660)]();}['setStyle'](_0x35e7ce){const _0x8ba528={_0x3ffd9d:0x78f},_0x489710={_0xd871a2:0x547};function _0x3342e8(_0x5fa963,_0x48d2a2){return _0x2b6441(_0x48d2a2,_0x5fa963-_0x489710._0xd871a2);}function _0x583ba7(_0x1e94d9,_0x51e7d4){return _0x306755(_0x51e7d4,_0x1e94d9- -0x153);}if(!_0x35e7ce)return;const _0x12afb3=this['options']['instances']||[];for(let _0x5d300a=0x0;_0x5d300a<_0x12afb3['length'];_0x5d300a++){const _0x3c9bec=_0x12afb3[_0x5d300a];_0x3c9bec['style']&&(_0x3c9bec[_0x583ba7(0x703,0x11b)]=merge(_0x3c9bec['style'],_0x35e7ce));}return super[_0x3342e8(_0x8ba528._0x3ffd9d,0x6a1)](_0x35e7ce);}[_0x306755(0x496,0x4d4)](_0xbdffe6,_0x471bb4){const _0x2ff7b6={_0x4693f3:0x1c3f,_0x492f03:0x15f9,_0x1302bf:0x10ed,_0x259add:0x1752,_0x3ae481:0x1bf1},_0x97b872=this[_0x493ad7(_0x2ff7b6._0x4693f3,_0x2ff7b6._0x492f03)]();if(_0x97b872&&this['_map']){_0x471bb4&&(_0x97b872[_0x4faefd(0xdf7,_0x2ff7b6._0x1302bf)]=_0x471bb4);_0x97b872['graphic']=this,_0x97b872[_0x493ad7(0x606,0xa51)]=this[_0x4faefd(0x134d,0xa6a)];const _0x2a020e=this['options'][_0x493ad7(0x6d0,0xd95)][_0xbdffe6]||{};this['attr']=_0x2a020e['attr'];const _0x4ac266=this['_getCenter'](_0x2a020e);this[_0x4faefd(_0x2ff7b6._0x259add,_0x2ff7b6._0x3ae481)]['popup'][_0x493ad7(0x1332,0x10f7)](_0x4ac266,_0x97b872);}function _0x493ad7(_0x4f92fc,_0x102646){return _0x306755(_0x4f92fc,_0x102646-0x87);}function _0x4faefd(_0x5e5391,_0x1049c3){return _0x2b6441(_0x1049c3,_0x5e5391-0x52a);}return this;}[_0x2b6441(0x447,0xa8c)](_0x4e7ef0){const _0x2415bf={_0x313904:0xe37,_0x2d3c42:0x289},_0x3687b6={_0x3f8ee8:0x134},_0x2081d4={_0x1467f2:0x1e1};function _0x2cc346(_0x328854,_0x39fb61){return _0x2b6441(_0x39fb61,_0x328854-_0x2081d4._0x1467f2);}if(!_0x4e7ef0[_0x2cc346(0x327,0x2cb)]){if(_0x4e7ef0[_0x2cc346(_0x2415bf._0x313904,0x1377)])_0x4e7ef0['_center']=_0x4e7ef0['position'];else _0x4e7ef0['positions']&&(_0x4e7ef0['_center']=centerOfMass(_0x4e7ef0['positions']));}function _0x19361f(_0xf7fa40,_0x58b83e){return _0x306755(_0x58b83e,_0xf7fa40-_0x3687b6._0x3f8ee8);}return _0x4e7ef0[_0x19361f(0x81b,-_0x2415bf._0x2d3c42)];}['setOffsetHeight'](_0x8cd06e,_0x4688e1){const _0x198f73={_0x269068:0xcb3,_0x46a662:0x901,_0x84a362:0x2c0,_0xdc6eaa:0x288};function _0x32104f(_0x9995e3,_0x5495fb){return _0x2b6441(_0x9995e3,_0x5495fb-0x78);}if(!Cesium__namespace['defined'](this['style'][_0x358c9c(0x39b,_0x198f73._0x269068)])){const _0x5c3e2c={};_0x5c3e2c['offsetAttribute']=Cesium__namespace[_0x32104f(-0x2b,0x5dc)][_0x32104f(_0x198f73._0x46a662,0x10bc)],this[_0x32104f(-0x5ef,_0x198f73._0x84a362)](_0x5c3e2c);}function _0x358c9c(_0x5a7a87,_0xcee27e){return _0x2b6441(_0xcee27e,_0x5a7a87-0x43c);}Cesium__namespace['defined'](_0x4688e1)?this[_0x32104f(-_0x198f73._0xdc6eaa,0x66f)](_0x4688e1,_0x8cd06e):this['eachInstances']((_0x23de62,_0x223377)=>{this['_setOffsetHeight'](_0x223377,_0x8cd06e);});}[_0x306755(0xf33,0xb98)](_0x10a886,_0x296849){const _0x152af1={_0x3401c6:0x143c,_0x30671a:0x19ff,_0x5d1e1c:0x17fd},_0x19ea81={_0x1f797a:0x11a};function _0x68a0fa(_0x33ee14,_0x856c52){return _0x2b6441(_0x33ee14,_0x856c52-_0x19ea81._0x1f797a);}const _0x494ab4=this['instances'][_0x10a886];!Cesium__namespace['defined'](_0x296849)&&(_0x296849=_0x494ab4['style']['offsetHeight']);const _0x2a043c=this[_0x68a0fa(0xf59,0x14e8)](this[_0x68a0fa(0x830,0x4b4)](_0x10a886));function _0x4b85c6(_0x1d0ec2,_0x272afe){return _0x2b6441(_0x1d0ec2,_0x272afe-0x5e0);}if(_0x2a043c){const _0x145693=this['_getCenter'](_0x494ab4);if(!_0x145693)return;const _0x33376c=this['_getOffsetByHeight'](_0x296849,_0x145693);_0x2a043c[_0x4b85c6(0x10af,_0x152af1._0x3401c6)]=Cesium__namespace['OffsetGeometryInstanceAttribute'][_0x4b85c6(0x141b,_0x152af1._0x30671a)](_0x33376c,_0x2a043c[_0x68a0fa(_0x152af1._0x5d1e1c,0xf76)]);}}['toCartesianPositions'](_0x1e82ae,_0x58e772){const _0x12019e={_0x5ed44b:0x14,_0x5d4ca4:0x55b,_0x19dc4e:0x82f,_0x399b3a:0x7b9,_0x408486:0x529,_0x5c68ef:0xac7,_0x109616:0xba};if(!_0x1e82ae)return;const _0x146e51=[];return _0x1e82ae['forEach']((_0x507ec0,_0xbeaac7)=>{const _0x33df3b={_0x4c54cf:0x335},_0x38f106=LngLatPoint['parse'](_0x507ec0);if(!_0x38f106||!_0x38f106['valid']())return;function _0x4aa290(_0x520c28,_0x4f7b59){return _0x5bbe(_0x4f7b59- -0x13a,_0x520c28);}function _0x38b6f8(_0xbd9c2b,_0x57e6e8){return _0x5bbe(_0x57e6e8-_0x33df3b._0x4c54cf,_0xbd9c2b);}const _0x52501e=this[_0x38b6f8(-_0x12019e._0x5ed44b,0x874)](_0x58e772,_0xbeaac7);Cesium__namespace['defined'](_0x52501e)&&(_0x38f106[_0x4aa290(-_0x12019e._0x5d4ca4,0xba)]=_0x52501e);const _0x427877=this[_0x38b6f8(_0x12019e._0x19dc4e,_0x12019e._0x399b3a)](_0x58e772,_0xbeaac7);Cesium__namespace['defined'](_0x427877)&&(_0x38f106[_0x38b6f8(0x746,_0x12019e._0x408486)]=_0x38f106[_0x4aa290(_0x12019e._0x5c68ef,_0x12019e._0x109616)]+_0x427877),_0x146e51['push'](_0x38f106['toCartesian']());}),_0x146e51;}}class BasePointCombine extends BasePolyCombine{['_getModelMatrix'](_0xc4209,_0x4b82ba){const _0x5d8756={_0x47f134:0xad6,_0x39bf0c:0x1595,_0xe6fba4:0x605,_0x8b3e3f:0xbbc,_0x462dcd:0x8d2,_0x17565d:0x89a,_0x7efe95:0x6cd,_0x2a1099:0x1166},_0xaa0dd={_0xbd4802:0x374};if(_0xc4209[_0x1ba3fa(_0x5d8756._0x47f134,_0x5d8756._0x39bf0c)])return _0xc4209['modelMatrix'];const _0x2a6343=LngLatPoint[_0x1ba3fa(_0x5d8756._0xe6fba4,0x676)](_0xc4209[_0x1ba3fa(0xea1,0xe83)]);function _0x1ba3fa(_0x1ca857,_0x251868){return _0x306755(_0x1ca857,_0x251868- -_0xaa0dd._0xbd4802);}const _0xa356e4=Cesium__namespace[_0x2087de(0x14da,0x1f70)][_0x2087de(_0x5d8756._0x8b3e3f,_0x5d8756._0x462dcd)](_0x2a6343,Cesium__namespace['HeadingPitchRoll'][_0x2087de(_0x5d8756._0x17565d,0xa44)](_0x4b82ba['heading']||0x0,_0x4b82ba[_0x1ba3fa(0xb4c,0x831)]||0x0,_0x4b82ba['roll']||0x0),this[_0x1ba3fa(_0x5d8756._0x7efe95,_0x5d8756._0x2a1099)],this['fixedFrameTransform']);function _0x2087de(_0x51e4f0,_0x57f27b){return _0x2b6441(_0x57f27b,_0x51e4f0-0x37e);}return _0xa356e4;}[_0x306755(-0x2b1,0x4d4)](_0x3d2c63,_0x4f2156){const _0x2db2c5={_0x329df4:0x1066,_0x625c9:0x839,_0x3c9132:0x14b0},_0x13f875={_0x43ea90:0x635};function _0x20ece(_0x3dd596,_0x555164){return _0x306755(_0x3dd596,_0x555164- -_0x13f875._0x43ea90);}const _0x520dd1=this[_0x1ecc56(0x1276,_0x2db2c5._0x329df4)]();function _0x1ecc56(_0x5f5e9c,_0x53154c){return _0x306755(_0x53154c,_0x5f5e9c- -0x2fc);}if(_0x520dd1&&this['_map']){_0x4f2156&&(_0x520dd1[_0x20ece(0xeb6,_0x2db2c5._0x625c9)]=_0x4f2156);_0x520dd1['graphic']=this,_0x520dd1['layer']=this[_0x20ece(0x478,0xd8f)];const _0x320b56=this['instances'][_0x3d2c63]||{};this['attr']=_0x320b56['attr'],this[_0x1ecc56(0x14cd,0x1dff)]['popup'][_0x1ecc56(0xd74,0x1328)](_0x320b56[_0x20ece(_0x2db2c5._0x3c9132,0xbc2)],_0x520dd1);}return this;}}var FlatBillboardFS='#ifdef\x20GL_ES\x0aprecision\x20mediump\x20float;\x0a#endif\x0auniform\x20sampler2D\x20mars_image;\x0auniform\x20vec2\x20mars_distanceDisplayCondition;\x0auniform\x20vec3\x20mars_positionWC;\x0ain\x20vec3\x20v_worldPos;\x0ain\x20vec2\x20v_st;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20float\x20dis\x20=\x20distance(mars_positionWC,\x20v_worldPos);\x0a\x20\x20if(dis\x20<\x20mars_distanceDisplayCondition.x\x20||\x20dis\x20>\x20mars_distanceDisplayCondition.y)\x20{\x0a\x20\x20\x20\x20discard;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20vec4\x20colorMars3D\x20=\x20texture(mars_image,\x20v_st);\x0a\x20\x20\x20\x20colorMars3D.a\x20*=\x20globalAlpha;\x0a\x0a\x20\x20\x20\x20//\x20Fully\x20transparent\x20parts\x20of\x20the\x20billboard\x20are\x20not\x20pickable.\x0a\x20\x20\x20\x20#if\x20!defined(OPAQUE)\x20&&\x20!defined(TRANSLUCENT)\x0a\x20\x20\x20\x20if(colorMars3D.a\x20<\x200.005)\x20\x20\x20//\x20matches\x200/255\x20and\x201/255\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20//\x20The\x20billboard\x20is\x20rendered\x20twice.\x20The\x20opaque\x20pass\x20discards\x20translucent\x20fragments\x0a\x20\x20\x20\x20//\x20and\x20the\x20translucent\x20pass\x20discards\x20opaque\x20fragments.\x0a\x20\x20\x20\x20#ifdef\x20OPAQUE\x0a\x20\x20\x20\x20if(colorMars3D.a\x20<\x200.995)\x20\x20\x20//\x20matches\x20<\x20254/255\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#else\x0a\x20\x20\x20\x20if(colorMars3D.a\x20>=\x200.995)\x20\x20//\x20matches\x20254/255\x20and\x20255/255\x0a\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20#endif\x0a\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20out_FragColor\x20=\x20colorMars3D;\x0a\x0a\x20\x20}\x0a}\x0a',FlatBillboardVS='in\x20vec3\x20position3DHigh;\x0ain\x20vec3\x20position3DLow;\x0ain\x20vec3\x20color;\x0ain\x20vec2\x20st;\x0ain\x20float\x20batchId;\x0a\x0auniform\x20mat4\x20mars_orthographicMatrix;\x0auniform\x20mat4\x20mars_viewMatrix;\x0auniform\x20vec2\x20mars_resolution;\x0auniform\x20float\x20mars_pointSize;\x0aout\x20vec2\x20v_st;\x0aout\x20vec3\x20v_worldPos;\x0a\x0avec4\x20transform(mat4\x20m,\x20mat4\x20v,\x20vec3\x20coord)\x20{\x0a\x20\x20return\x20m\x20*\x20v\x20*\x20vec4(coord,\x201.0);\x0a}\x0avec2\x20project(vec4\x20device)\x20{\x0a\x20\x20vec3\x20device_normal\x20=\x20device.xyz\x20/\x20device.w;\x0a\x20\x20vec2\x20clip_pos\x20=\x20(device_normal\x20*\x200.5\x20+\x200.5).xy;\x0a\x20\x20return\x20clip_pos\x20*\x20mars_resolution;\x0a}\x0avec4\x20unproject(vec2\x20screen,\x20float\x20z,\x20float\x20w)\x20{\x0a\x20\x20vec2\x20clip_pos\x20=\x20screen\x20/\x20mars_resolution;\x0a\x20\x20vec2\x20device_normal\x20=\x20clip_pos\x20*\x202.0\x20-\x201.0;\x0a\x20\x20return\x20vec4(device_normal\x20*\x20w,\x20z,\x20w);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20v_st\x20=\x20st;\x0a\x20\x20vec3\x20currPMars3D\x20=\x20position3DHigh.xyz\x20+\x20position3DLow.xyz;\x0a\x20\x20v_worldPos\x20=\x20currPMars3D;\x0a\x20\x20vec4\x20eyeCurrP\x20=\x20transform(mars_orthographicMatrix,\x20mars_viewMatrix,\x20currPMars3D);\x0a\x20\x20vec2\x20winCurrP\x20=\x20project(eyeCurrP);\x0a\x20\x20vec3\x20dirEye\x20=\x20czm_viewRotation\x20*\x20color;\x0a\x20\x20dirEye\x20=\x20normalize(dirEye);\x0a\x0a\x20\x20vec2\x20newWinCurrP\x20=\x20winCurrP\x20+\x20dirEye.xy\x20*\x20mars_pointSize;\x0a\x20\x20gl_Position\x20=\x20unproject(newWinCurrP,\x20eyeCurrP.z,\x20eyeCurrP.w);\x0a\x20\x20gl_PointSize\x20=\x20mars_pointSize;\x0a}\x0a';const _0x58249f={};_0x58249f[_0x306755(0x1a6c,0x16e7)]=0x0,_0x58249f['width']=0x32;const DEF_STYLE$g=_0x58249f;class FlatBillboard extends BaseCombine{constructor(_0x492377={}){const _0x18d5f7={_0x281687:0x80f},_0x342d95={_0x2254a2:0x691};_0x492377['style']={...DEF_STYLE$g,..._0x492377['style']},super(_0x492377);function _0x3e4cbb(_0x273304,_0x1b01f8){return _0x2b6441(_0x273304,_0x1b01f8-_0x342d95._0x2254a2);}function _0x472e61(_0x265202,_0x176dcb){return _0x306755(_0x176dcb,_0x265202- -0xac);}this[_0x472e61(0x80f,0x959)]=_0x492377[_0x472e61(_0x18d5f7._0x281687,0x7b2)]??new Cesium__namespace['DistanceDisplayCondition'](0x0,0x4c4b40),this['_globalAlpha']=0x1;}get['billboardCollection'](){var _0x50fcd8;return(_0x50fcd8=this['_layer'])===null||_0x50fcd8===void 0x0?void 0x0:_0x50fcd8['billboardCollection'];}get['distanceDisplayCondition'](){const _0x4efb79={_0x568462:0x1e18,_0x5ca603:0x138f},_0x5d890b={_0x2da44f:0x264};function _0x2417a7(_0x458626,_0x356434){return _0x306755(_0x458626,_0x356434- -_0x5d890b._0x2da44f);}return this[_0x2417a7(_0x4efb79._0x568462,_0x4efb79._0x5ca603)];}set['distanceDisplayCondition'](_0x48637e){const _0x2a1414={_0x5b965a:0xfee,_0x322188:0x883},_0x3a701b={_0x27a8c:0x445};function _0x9e4df0(_0x1a9297,_0x20a4ed){return _0x306755(_0x1a9297,_0x20a4ed- -0x605);}function _0x3dd0f4(_0x5f18b3,_0x48183b){return _0x2b6441(_0x5f18b3,_0x48183b-_0x3a701b._0x27a8c);}this[_0x9e4df0(0x158b,_0x2a1414._0x5b965a)]=_0x48637e,this[_0x9e4df0(-0x142,0x10c)]=new Cesium__namespace[(_0x9e4df0(-_0x2a1414._0x322188,-0x119))](_0x48637e['near'],_0x48637e[_0x9e4df0(0xe0f,0x9e4)]);}['_addedHook'](_0x204537){const _0x29d43d={_0x5deafb:0xef7,_0x430f38:0x1365,_0x33b9b2:0xbac,_0x12106f:0xe51,_0x145ff2:0x1101,_0x3e1bca:0x121e,_0xf6a4a5:0xefd,_0x391c30:0xbac,_0x45e4f6:0x16ec};if(!this['show'])return;const _0x47cc7c=(this[_0x25dde1(0xda0,_0x29d43d._0x5deafb)][_0x25dde1(_0x29d43d._0x430f38,0x163d)]??0x1)*this[_0x2b53c7(0x1718,0x1712)]['viewer']['resolutionScale'];this['options']['instances']['length']>0x0&&this[_0x2b53c7(_0x29d43d._0x33b9b2,0x597)][_0x25dde1(_0x29d43d._0x12106f,0xc24)][0x0]['style'][_0x25dde1(0xd2e,_0x29d43d._0x145ff2)]?this['_pointSize']=_0x47cc7c*this['options']['instances'][0x0]['style']['width']:this[_0x2b53c7(_0x29d43d._0x3e1bca,_0x29d43d._0xf6a4a5)]=_0x47cc7c*this['options']['style']['width'];this['textures']={},this['textureDef']=new Cesium__namespace['Texture']({'context':this['_map']['scene']['context'],'width':0x1f4,'height':0x1f4});this[_0x2b53c7(_0x29d43d._0x391c30,0x15de)][_0x25dde1(_0x29d43d._0x12106f,0xeab)]&&this['redraw']();function _0x25dde1(_0x20876a,_0x58f356){return _0x306755(_0x58f356,_0x20876a-0x143);}function _0x2b53c7(_0x280bbb,_0x3c8134){return _0x306755(_0x3c8134,_0x280bbb- -0xb1);}this['_map']['on'](EventType[_0x25dde1(_0x29d43d._0x45e4f6,0xfc1)],this['_onMorphComplete'],this),this['primitiveCollection']['add'](this);}['_removedHook'](){const _0x5863e9={_0x2e0641:0x773},_0x22061c={_0x44b806:0x1f9};this[_0x8d740(0x185e,0x15d0)][_0x8d740(0xd3,_0x5863e9._0x2e0641)](EventType['morphComplete'],this['_onMorphComplete'],this);function _0xe7e842(_0x263cd0,_0x6cf785){return _0x306755(_0x263cd0,_0x6cf785- -0x5d7);}function _0x8d740(_0x1892a0,_0x4fa5c5){return _0x306755(_0x1892a0,_0x4fa5c5- -_0x22061c._0x44b806);}this['clear'](),this[_0xe7e842(0x1190,0xafb)]['destroy'](),delete this['textureDef'],this['_noDestroy']=!![],this['primitiveCollection']['remove'](this),this['_noDestroy']=![];}['clear'](){const _0x3fea08={_0x397b4c:0x1207},_0x4630d3={_0x405ec3:0xdc};function _0x4221f3(_0x3b2da6,_0x3a134a){return _0x306755(_0x3a134a,_0x3b2da6- -_0x4630d3._0x405ec3);}this['_removeCollectionBy2D'](),this[_0x4221f3(_0x3fea08._0x397b4c,0x1bf8)]();}['redraw'](){const _0x4d7ad1={_0x3041c1:0x169e},_0x13966e={_0x51166e:0x363},_0x4403b0={_0x1f46a3:0x624};if(!this['_map'])return;this['clear']();function _0x58277e(_0x58fe13,_0x1ddd1d){return _0x2b6441(_0x1ddd1d,_0x58fe13-_0x4403b0._0x1f46a3);}const _0x2689c7=this['instances'];function _0x2eff49(_0x2ce2f0,_0x214c21){return _0x306755(_0x2ce2f0,_0x214c21- -_0x13966e._0x51166e);}if(_0x2689c7)for(let _0xf430a8=0x0,_0x5421ba=_0x2689c7['length'];_0xf430a8<_0x5421ba;_0xf430a8++){const _0x520e6d=_0x2689c7[_0xf430a8];_0x520e6d['position']=LngLatPoint['toCartesian'](_0x520e6d['position']);}this['_map']['scene'][_0x58277e(_0x4d7ad1._0x3041c1,0x18e2)]===Cesium__namespace[_0x2eff49(0x994,0x683)]['SCENE3D']?this['_initCollectionBy3D']():this['_initCollectionBy2D']();}[_0x2b6441(0xc72,0xb4d)](_0xbe6976){this['redraw']();}['update'](_0x5671c6){const _0x33da7f={_0x216971:0x39e,_0x463aed:0x48c,_0x39607c:0x3aa,_0x30175c:0x514,_0x1616cb:0x1847},_0x593787={_0x4b570f:0x4d2};function _0x2e5e55(_0x17d5c3,_0x30cdb6){return _0x306755(_0x17d5c3,_0x30cdb6- -0x9);}if(!this[_0x2e5e55(_0x33da7f._0x216971,_0x33da7f._0x463aed)](_0x5671c6['time'])){this['_removeCollectionBy2D']();return;}function _0x165c5d(_0x10246a,_0x55c3fd){return _0x306755(_0x10246a,_0x55c3fd- -_0x593787._0x4b570f);}_0x5671c6[_0x2e5e55(0xef6,0x1612)]===Cesium__namespace[_0x165c5d(_0x33da7f._0x39607c,_0x33da7f._0x30175c)][_0x2e5e55(0x6fb,0x11c2)]?_0x5671c6['passes'][_0x2e5e55(0xf24,0x1638)]?this['_drawCommands']&&_0x5671c6['commandList']['push'](...this['_drawCommands']):this['_pickCommands']&&_0x5671c6['commandList']['push'](...this[_0x2e5e55(0x142e,_0x33da7f._0x1616cb)]):!this['billboardCollection']&&this[_0x165c5d(0x118f,0x773)]();}[_0x306755(0x331,0xc45)](){const _0x51aec4={_0x1fd9f9:0x10db,_0x587537:0x197,_0x12e5bb:0xc37,_0x412e3f:0x2bc},_0x11a1bd={_0x4281ae:0x81};function _0x594949(_0x3fa7d0,_0x3a80cc){return _0x2b6441(_0x3fa7d0,_0x3a80cc-0x61b);}const _0x94a7e=this['instances'];function _0x1fb105(_0x43b4e7,_0x2f329f){return _0x2b6441(_0x43b4e7,_0x2f329f-_0x11a1bd._0x4281ae);}if(!_0x94a7e)return;this['_billboard2DList']=[];for(let _0x135bc8=0x0,_0x156a6e=_0x94a7e[_0x1fb105(0x12b2,_0x51aec4._0x1fd9f9)];_0x135bc8<_0x156a6e;_0x135bc8++){const _0x11fb8a=_0x94a7e[_0x135bc8],_0x5b5a1c={...this['options']['style'],..._0x11fb8a[_0x594949(0x78e,0x8d0)]},_0x2bf42d=_0x5b5a1c,_0x2bfec6=this['billboardCollection']['add']({'id':this['createPickId'](_0x135bc8),'position':_0x11fb8a['position'],'image':_0x2bf42d[_0x1fb105(0x88c,_0x51aec4._0x587537)],'scale':0x1,'rotation':Cesium__namespace['Math']['toRadians'](_0x2bf42d[_0x594949(0xd6a,0x1761)]||0x0),'width':_0x2bf42d['width'],'height':_0x2bf42d['height']||_0x2bf42d['width']});this['bindPickId'](_0x2bfec6),this[_0x1fb105(_0x51aec4._0x12e5bb,_0x51aec4._0x412e3f)]['push'](_0x2bfec6);}}[_0x2b6441(0x69b,0xbfb)](){const _0x52560f={_0x3e514f:0x1656},_0x453d98={_0xb9c4e0:0x5b};if(!this['billboardCollection']||!this['_billboard2DList'])return;function _0x46a2d1(_0x5281b8,_0x91276a){return _0x306755(_0x5281b8,_0x91276a-_0x453d98._0xb9c4e0);}for(let _0x201e89=this['_billboard2DList'][_0x46a2d1(0x11e4,_0x52560f._0x3e514f)]-0x1;_0x201e89>=0x0;_0x201e89--){const _0x462d6d=this['_billboard2DList'][_0x201e89];this['billboardCollection']['remove'](_0x462d6d);}this['_billboard2DList']=[];}['_initCollectionBy3D'](){const _0x58e7bf={_0x123bc8:0xb7,_0x81b4c6:0x5c8},_0x33e2c0=this[_0x227506(-_0x58e7bf._0x123bc8,0x744)];if(!_0x33e2c0)return;const _0x469307={};for(let _0x45e7b4=0x0,_0xfd7161=_0x33e2c0[_0x227506(0x177a,0x1031)];_0x45e7b4<_0xfd7161;_0x45e7b4++){var _0x353449;const _0x5d6049=_0x33e2c0[_0x45e7b4];_0x5d6049['index']=_0x45e7b4;const _0x4abe91=(_0x353449=_0x5d6049['style'])===null||_0x353449===void 0x0?void 0x0:_0x353449[_0x227506(-_0x58e7bf._0x81b4c6,0xed)];if(!_0x4abe91)continue;!_0x469307[_0x4abe91]&&(_0x469307[_0x4abe91]=[]),_0x469307[_0x4abe91]['push'](_0x5d6049);}this['_clearDrawCommand']();const _0x11c13d=[];for(const _0x50071f in _0x469307){const _0x38a357=_0x469307[_0x50071f],_0x3e4fba=_0x50071f;this['prepareTexture'](_0x3e4fba);for(const _0x157f58 of _0x38a357){const _0x4d51a9=this['createDrawCommand'](_0x3e4fba,_0x157f58);_0x11c13d['push'](_0x4d51a9);}}function _0x227506(_0xc2efe1,_0x52d5fd){return _0x2b6441(_0xc2efe1,_0x52d5fd- -0x29);}function _0x239a54(_0x26d299,_0x215887){return _0x306755(_0x26d299,_0x215887-0x119);}this['_drawCommands']=_0x11c13d;}['_removeCollectionBy3D'](){const _0x1e5aaa={_0x297ab7:0x32d,_0x4a8e23:0x1b3};this[_0x4c2612(_0x1e5aaa._0x297ab7,-_0x1e5aaa._0x4a8e23)]();for(const _0x4d11e7 in this['textures']){this['textures'][_0x4d11e7]&&this['textures'][_0x4d11e7]['destroy']();}function _0x4c2612(_0x50b6a6,_0x4babae){return _0x2b6441(_0x4babae,_0x50b6a6-0x3a0);}this['textures']={};}['_clearDrawCommand'](){const _0xe2d707={_0x375b48:0x1273,_0x3a9ffa:0x164c,_0xb4a413:0x1621},_0x4741b3={_0x5609ee:0x48e},_0x3a45ef={_0x583f34:0x47f},_0x335d9d={_0x3433d9:0x731},_0x11322c={_0x27cb61:0x1741},_0x35714b={_0x48b3b3:0x655};function _0x7955e0(_0x4c75c2,_0x10167f){return _0x306755(_0x10167f,_0x4c75c2- -0x5dd);}function _0x592815(_0x3c09c4,_0x668477){return _0x306755(_0x3c09c4,_0x668477- -_0x35714b._0x48b3b3);}this['_drawCommands']&&this['_drawCommands']['length']>0x0&&(this[_0x7955e0(0x10db,0x896)]['forEach'](function(_0x274eb6){const _0xde021b={_0x2651d4:0x3ad};function _0x457abc(_0xee9559,_0x2d042b){return _0x7955e0(_0x2d042b-0x665,_0xee9559);}_0x274eb6['vertexArray']&&_0x274eb6['vertexArray'][_0x200aa7(0xd5f,0x16dd)]();function _0x200aa7(_0x14cb4a,_0x1a3c17){return _0x7955e0(_0x14cb4a-_0xde021b._0x2651d4,_0x1a3c17);}_0x274eb6[_0x200aa7(_0x11322c._0x27cb61,0x1520)]&&_0x274eb6[_0x200aa7(0x1741,0xd81)]['destroy']();}),delete this['_drawCommands']),this[_0x7955e0(_0xe2d707._0x375b48,_0xe2d707._0x3a9ffa)]&&this[_0x592815(_0xe2d707._0xb4a413,0x11fb)]['length']>0x0&&(this['_pickCommands'][_0x592815(0xea5,0x5eb)](function(_0x48cf1a){function _0x2236ff(_0x35dd7f,_0x5df70c){return _0x592815(_0x5df70c,_0x35dd7f-_0x335d9d._0x3433d9);}function _0x5e308f(_0x2a6ef9,_0x286a83){return _0x592815(_0x2a6ef9,_0x286a83-_0x3a45ef._0x583f34);}_0x48cf1a[_0x2236ff(0xff7,0xdd0)]&&_0x48cf1a['vertexArray'][_0x5e308f(_0x4741b3._0x5609ee,0xdb9)](),_0x48cf1a[_0x2236ff(0x1a4d,0x11f7)]&&_0x48cf1a['shaderProgram']['destroy']();}),delete this['_pickCommands']);}[_0x306755(0x18ef,0xfac)](_0x361f86){const _0x2b7d96={_0xbfe4ba:0x7fd,_0x47f3c0:0x424},_0x2034ce={_0x857e7b:0x260,_0xd49b6f:0x1383},_0x32f6d0={_0x74de5a:0x14e};function _0x1c1cbe(_0x4c352d,_0x57fd6d){return _0x2b6441(_0x57fd6d,_0x4c352d-0xb8);}const _0x131bb7=new Image();function _0x581746(_0x56f393,_0x409808){return _0x2b6441(_0x409808,_0x56f393-_0x32f6d0._0x74de5a);}_0x131bb7['crossOrigin']=_0x581746(_0x2b7d96._0xbfe4ba,0xe3b),_0x131bb7[_0x581746(0x401,_0x2b7d96._0x47f3c0)]=_0xc10e80=>{function _0x5f11bf(_0x4380da,_0x1c2e59){return _0x581746(_0x1c2e59-0x155,_0x4380da);}const _0x377712={};_0x377712['context']=this['_map']['scene']['context'],_0x377712[_0x25733a(_0x2034ce._0x857e7b,-0x4fe)]=_0x131bb7;const _0x409a2b=new Cesium__namespace[(_0x5f11bf(_0x2034ce._0xd49b6f,0x900))](_0x377712);function _0x25733a(_0x58b8e3,_0x4e6622){return _0x1c1cbe(_0x58b8e3- -0x6c,_0x4e6622);}this['textures'][_0x361f86]=_0x409a2b;},_0x131bb7['src']=_0x361f86;}[_0x2b6441(0xa71,0x11ff)](_0x5d24d9){const _0x3b7c1b={_0x5ef0e6:0x204f,_0x3e85d4:0x66,_0x44f667:0x495,_0x410a34:0x495,_0x6a86b4:0x495,_0x19b0ef:0x29,_0x1f24b7:0xc4d,_0x17d41b:0x495,_0x449c61:0x766,_0x273afd:0x311,_0x56f09a:0x495,_0x2f15c2:0x168,_0x37fba0:0x1826,_0x2c3521:0x31b,_0x4d93f7:0x1167,_0x4b1139:0x104e,_0xcd45cc:0x5c4,_0x252df3:0x9ee,_0x5b7fbc:0xaee,_0x4c7034:0x81d,_0x337fda:0x1022,_0xad20aa:0xfa5,_0x19e0c0:0x465,_0x9dd5b9:0x784,_0x5308b9:0x543,_0x5e8cd9:0x81d,_0x5a5f52:0x4ff,_0x3621b7:0x814},_0x2b2eae={_0x9b5605:0x204},_0x13f9b1={_0x10659d:0xcd};function _0x15080c(_0x7188fd,_0x4f85fa){return _0x306755(_0x7188fd,_0x4f85fa-_0x13f9b1._0x10659d);}const _0x56f355=[],_0xcf6c3d=[],_0xe4a03c=[],_0xc783aa=[],_0x4871e9=[];function _0xec1ad6(_0x2646eb,_0x5cf41b){return _0x306755(_0x5cf41b,_0x2646eb- -_0x2b2eae._0x9b5605);}for(let _0x427399=0x0,_0x5199de=_0x5d24d9[_0x15080c(_0x3b7c1b._0x5ef0e6,0x16c8)];_0x427399<_0x5199de;_0x427399++){const _0x45d973=_0x5d24d9[_0x427399],_0x35d9d3=_0x45d973['position'],_0x2260d0={...this['options']['style'],..._0x45d973['style']},_0xb291ce=_0x2260d0;_0xe4a03c['push'](_0x427399*0x4+0x0),_0xe4a03c['push'](_0x427399*0x4+0x2),_0xe4a03c['push'](_0x427399*0x4+0x1),_0xe4a03c['push'](_0x427399*0x4+0x0),_0xe4a03c[_0x15080c(_0x3b7c1b._0x3e85d4,0x766)](_0x427399*0x4+0x3),_0xe4a03c[_0xec1ad6(_0x3b7c1b._0x44f667,-0x30e)](_0x427399*0x4+0x2);const _0xdc4cc=new Float32Array(0x6);_0xdc4cc[0x0]=_0x35d9d3['x'],_0xdc4cc[0x1]=_0x35d9d3['x']-_0xdc4cc[0x0],_0xdc4cc[0x2]=_0x35d9d3['y'],_0xdc4cc[0x3]=_0x35d9d3['y']-_0xdc4cc[0x2],_0xdc4cc[0x4]=_0x35d9d3['z'],_0xdc4cc[0x5]=_0x35d9d3['z']-_0xdc4cc[0x4],_0x56f355[_0x15080c(0xbe0,0x766)](_0xdc4cc[0x0]),_0x56f355[_0xec1ad6(_0x3b7c1b._0x410a34,-0x164)](_0xdc4cc[0x2]),_0x56f355['push'](_0xdc4cc[0x4]),_0xcf6c3d[_0xec1ad6(_0x3b7c1b._0x6a86b4,-_0x3b7c1b._0x19b0ef)](_0xdc4cc[0x1]),_0xcf6c3d[_0x15080c(0x927,0x766)](_0xdc4cc[0x3]),_0xcf6c3d[_0xec1ad6(_0x3b7c1b._0x44f667,_0x3b7c1b._0x1f24b7)](_0xdc4cc[0x5]),_0x56f355['push'](_0xdc4cc[0x0]),_0x56f355['push'](_0xdc4cc[0x2]),_0x56f355['push'](_0xdc4cc[0x4]),_0xcf6c3d['push'](_0xdc4cc[0x1]),_0xcf6c3d[_0x15080c(0x273,0x766)](_0xdc4cc[0x3]),_0xcf6c3d['push'](_0xdc4cc[0x5]),_0x56f355[_0x15080c(-0x2a1,0x766)](_0xdc4cc[0x0]),_0x56f355['push'](_0xdc4cc[0x2]),_0x56f355['push'](_0xdc4cc[0x4]),_0xcf6c3d[_0xec1ad6(_0x3b7c1b._0x17d41b,0xd10)](_0xdc4cc[0x1]),_0xcf6c3d['push'](_0xdc4cc[0x3]),_0xcf6c3d[_0x15080c(0x697,_0x3b7c1b._0x449c61)](_0xdc4cc[0x5]),_0x56f355['push'](_0xdc4cc[0x0]),_0x56f355[_0xec1ad6(0x495,0xaec)](_0xdc4cc[0x2]),_0x56f355[_0x15080c(0x28a,0x766)](_0xdc4cc[0x4]),_0xcf6c3d['push'](_0xdc4cc[0x1]),_0xcf6c3d[_0x15080c(-_0x3b7c1b._0x273afd,_0x3b7c1b._0x449c61)](_0xdc4cc[0x3]),_0xcf6c3d['push'](_0xdc4cc[0x5]),_0xc783aa[_0xec1ad6(_0x3b7c1b._0x56f09a,_0x3b7c1b._0x2f15c2)](0x0,0x0),_0xc783aa['push'](0x0,0x1),_0xc783aa['push'](0x1,0x1),_0xc783aa['push'](0x1,0x0);const _0x279410=Cesium__namespace['Transforms'][_0x15080c(0x1220,_0x3b7c1b._0x37fba0)](_0x35d9d3),_0x43e101=_0xb291ce['angle']||0x0,_0x489f47=Cesium__namespace['Matrix3'][_0x15080c(-_0x3b7c1b._0x2c3521,0x62a)](Cesium__namespace[_0xec1ad6(_0x3b7c1b._0x4d93f7,_0x3b7c1b._0x4b1139)][_0x15080c(_0x3b7c1b._0xcd45cc,0xc99)](_0x43e101)),_0x4339d7=Cesium__namespace['Matrix4'][_0xec1ad6(0x559,-0x364)](_0x489f47),_0x9ed6ec=Cesium__namespace['Matrix4'][_0x15080c(0x8bb,0xff6)](_0x279410,_0x4339d7,new Cesium__namespace['Matrix4']()),_0x3820b7=0x1,_0x147821=(_0xb291ce[_0xec1ad6(_0x3b7c1b._0x252df3,0x312)]||_0xb291ce['width'])/_0xb291ce['width'],_0x90001a=new Cesium__namespace[(_0x15080c(0x12f,_0x3b7c1b._0x5b7fbc))](-_0x3820b7,-_0x147821,0x0);Cesium__namespace['Matrix4']['multiplyByPointAsVector'](_0x9ed6ec,_0x90001a,_0x90001a),Cesium__namespace[_0xec1ad6(_0x3b7c1b._0x4c7034,_0x3b7c1b._0x337fda)]['normalize'](_0x90001a,_0x90001a),_0x4871e9[_0x15080c(0x6ee,0x766)](_0x90001a['x'],_0x90001a['y'],_0x90001a['z']);const _0x3e2563=new Cesium__namespace[(_0x15080c(_0x3b7c1b._0xad20aa,0xaee))](-_0x3820b7,_0x147821,0x0);Cesium__namespace['Matrix4'][_0xec1ad6(0x72e,_0x3b7c1b._0x19e0c0)](_0x9ed6ec,_0x3e2563,_0x3e2563),Cesium__namespace['Cartesian3']['normalize'](_0x3e2563,_0x3e2563),_0x4871e9[_0xec1ad6(0x495,0x2de)](_0x3e2563['x'],_0x3e2563['y'],_0x3e2563['z']);const _0x466e69=new Cesium__namespace['Cartesian3'](_0x3820b7,_0x147821,0x0);Cesium__namespace['Matrix4']['multiplyByPointAsVector'](_0x9ed6ec,_0x466e69,_0x466e69),Cesium__namespace[_0x15080c(_0x3b7c1b._0x9dd5b9,0xaee)][_0xec1ad6(_0x3b7c1b._0x5308b9,0xa62)](_0x466e69,_0x466e69),_0x4871e9['push'](_0x466e69['x'],_0x466e69['y'],_0x466e69['z']);const _0x47fd57=new Cesium__namespace[(_0xec1ad6(0x81d,0x619))](_0x3820b7,-_0x147821,0x0);Cesium__namespace['Matrix4'][_0xec1ad6(0x72e,0x730)](_0x9ed6ec,_0x47fd57,_0x47fd57),Cesium__namespace[_0xec1ad6(_0x3b7c1b._0x5e8cd9,_0x3b7c1b._0x5a5f52)][_0x15080c(-0x20d,_0x3b7c1b._0x3621b7)](_0x47fd57,_0x47fd57),_0x4871e9['push'](_0x47fd57['x'],_0x47fd57['y'],_0x47fd57['z']);}return{'index':new Uint16Array(_0xe4a03c),'vertex_H':{'values':new Float32Array(_0x56f355),'componentDatatype':'DOUBLE','componentsPerAttribute':0x3},'vertex_L':{'values':new Float32Array(_0xcf6c3d),'componentDatatype':_0x15080c(0x1492,0x105e),'componentsPerAttribute':0x3},'uv':{'values':new Float32Array(_0xc783aa),'componentDatatype':'FLOAT','componentsPerAttribute':0x2},'color':{'values':new Float32Array(_0x4871e9),'componentDatatype':'FLOAT','componentsPerAttribute':0x3}};}[_0x306755(0x658,0x505)](_0x5742fe,_0x44fb54){const _0x57aaee={_0x39b134:0x5ea,_0x633db8:0x87e,_0x149c52:0x859,_0x14bfab:0x174,_0x2d4f20:0x573,_0x4e2f49:0xba4,_0x484112:0x1538,_0x36452c:0x619,_0x5649db:0xc18,_0x4bf55e:0xfee,_0x288c28:0x1cf8,_0x516f32:0x6a4,_0x2d96da:0x585,_0x5d38fc:0x424,_0x2d1d2e:0x4b3,_0x5f3ad0:0x705,_0x3db693:0x4e9,_0x82caec:0x47b,_0x34d1c8:0xd53,_0x537567:0xb06,_0x5cfda8:0x390,_0x58f0b8:0x1475,_0x846b2:0x1452,_0x389c48:0x3d5,_0x2073f8:0x198,_0x5afa72:0x1638,_0x53d03f:0x13a6,_0x435dbd:0x103d,_0x101f84:0x517,_0x3be99d:0x5cc,_0x318437:0x1569,_0x46760f:0x5e7,_0x537690:0xc04,_0x11ab0b:0x912,_0x324eca:0xad4,_0x10f3c7:0x3a9,_0x35c7eb:0xbc7,_0x1a5c50:0x1301,_0x3e1784:0x16fe,_0x37d065:0x1470,_0x296b81:0x15b5},_0x4afe23={_0x56fcea:0x1c2},_0x4ca0a3={_0x49a590:0x8d2},_0xc7c504={_0x19327e:0x30d,_0x59cfce:0x14f5},_0x25dc5e={_0x1152bb:0x462},_0x13f2c3=this['_map'][_0x4bd975(0x686,_0x57aaee._0x39b134)]['context'],_0x231590=this[_0x4bd975(_0x57aaee._0x633db8,_0x57aaee._0x149c52)]['translucent']??![],_0x87c21d=Cesium__namespace[_0x4bd975(_0x57aaee._0x14bfab,0x402)]['fromCache']({'depthTest':{'enabled':!![],'func':_0x231590?Cesium__namespace['WebGLConstants']['LEQUAL']:Cesium__namespace['WebGLConstants']['LESS']},'depthMask':_0x231590,'blending':Cesium__namespace['BlendingState']['ALPHA_BLEND']}),_0x2edc1d={};_0x2edc1d[_0x9e2a64(0xe53,_0x57aaee._0x2d4f20)]=0x0,_0x2edc1d['position3DLow']=0x1,_0x2edc1d['color']=0x2,_0x2edc1d['st']=0x3;const _0x206ed7=_0x2edc1d,_0x4bdaee={};_0x4bdaee['context']=_0x13f2c3,_0x4bdaee['vertexShaderSource']=FlatBillboardVS,_0x4bdaee[_0x4bd975(_0x57aaee._0x4e2f49,_0x57aaee._0x484112)]=FlatBillboardFS,_0x4bdaee[_0x4bd975(0xe8d,0x1216)]=_0x206ed7;const _0x47e924=Cesium__namespace['ShaderProgram']['fromCache'](_0x4bdaee),_0x38ff52=this['prepareVAO']([_0x44fb54]),_0x4ea07a=Cesium__namespace[_0x4bd975(_0x57aaee._0x36452c,_0x57aaee._0x5649db)]['createIndexBuffer']({'context':_0x13f2c3,'typedArray':_0x38ff52['index'],'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW'],'indexDatatype':Cesium__namespace[_0x4bd975(0xda4,_0x57aaee._0x4bf55e)]['UNSIGNED_SHORT']}),_0x80d476=new Cesium__namespace[(_0x9e2a64(0x13e9,_0x57aaee._0x288c28))]({'context':_0x13f2c3,'attributes':[{'index':0x0,'vertexBuffer':Cesium__namespace[_0x9e2a64(_0x57aaee._0x516f32,0x1031)]['createVertexBuffer']({'context':_0x13f2c3,'typedArray':_0x38ff52['vertex_H'][_0x4bd975(0x305,-_0x57aaee._0x2d96da)],'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW']}),'componentsPerAttribute':0x3},{'index':0x1,'vertexBuffer':Cesium__namespace['Buffer']['createVertexBuffer']({'context':_0x13f2c3,'typedArray':_0x38ff52[_0x4bd975(_0x57aaee._0x5d38fc,_0x57aaee._0x2d1d2e)][_0x4bd975(0x305,-_0x57aaee._0x5f3ad0)],'usage':Cesium__namespace[_0x4bd975(0x538,-_0x57aaee._0x3db693)][_0x4bd975(_0x57aaee._0x82caec,0x9ac)]}),'componentsPerAttribute':0x3},{'index':0x2,'vertexBuffer':Cesium__namespace['Buffer'][_0x9e2a64(_0x57aaee._0x34d1c8,0x168e)]({'context':_0x13f2c3,'typedArray':_0x38ff52['color'][_0x4bd975(0x305,_0x57aaee._0x537567)],'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW']}),'componentsPerAttribute':0x3},{'index':0x3,'vertexBuffer':Cesium__namespace['Buffer']['createVertexBuffer']({'context':_0x13f2c3,'typedArray':_0x38ff52['uv'][_0x9e2a64(_0x57aaee._0x5cfda8,-0x294)],'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW']}),'componentsPerAttribute':0x2}],'indexBuffer':_0x4ea07a}),_0x592e03=this[_0x9e2a64(_0x57aaee._0x58f0b8,_0x57aaee._0x846b2)]['scene']['camera'],_0x3bae87=_0x13f2c3[_0x9e2a64(_0x57aaee._0x389c48,-0x2e9)],_0x5f7a6f=_0x13f2c3[_0x4bd975(0x860,-0x246)],_0x5798d8=new Cesium__namespace[(_0x9e2a64(_0x57aaee._0x2073f8,0x6c8))](_0x3bae87,_0x5f7a6f),_0xf49721=Cesium__namespace['BoundingSphere'][_0x9e2a64(0x238,-0x47b)](_0x38ff52['vertex_H']['values']);_0xf49721['radius']=0x2710;const _0x42625a={};_0x42625a[_0x9e2a64(0xbc3,0xf7b)]=()=>{function _0x48f891(_0x131d42,_0x510336){return _0x4bd975(_0x131d42-_0x25dc5e._0x1152bb,_0x510336);}function _0x45b382(_0x24494b,_0x315511){return _0x9e2a64(_0x24494b-0x82,_0x315511);}if(_0x592e03['frustum']['_offCenterFrustum']){var _0x101b18;return(_0x101b18=_0x592e03['frustum'][_0x45b382(_0xc7c504._0x19327e,0x9c2)])===null||_0x101b18===void 0x0?void 0x0:_0x101b18['_perspectiveMatrix'];}else return _0x592e03['frustum'][_0x48f891(0xe48,_0xc7c504._0x59cfce)];},_0x42625a['mars_viewMatrix']=()=>{const _0x4b46eb={_0x280135:0x3b6};function _0xa3def5(_0x31746a,_0x2bc513){return _0x4bd975(_0x31746a-_0x4b46eb._0x280135,_0x2bc513);}return _0x592e03[_0xa3def5(_0x4ca0a3._0x49a590,0x69f)];},_0x42625a['mars_resolution']=()=>{return _0x5798d8;},_0x42625a['mars_pointSize']=()=>{return this['_pointSize'];},_0x42625a['mars_image']=()=>{return this['textures'][_0x5742fe]||this['textureDef'];},_0x42625a['mars_distanceDisplayCondition']=()=>{return this['_distanceDisplayConditionCartesian2'];},_0x42625a['mars_positionWC']=()=>{return _0x592e03['positionWC'];},_0x42625a['globalAlpha']=()=>{return this['_globalAlpha'];};const _0x1f287d={};_0x1f287d[_0x9e2a64(_0x57aaee._0x5afa72,0x20df)]=this,_0x1f287d[_0x4bd975(_0x57aaee._0x53d03f,_0x57aaee._0x435dbd)]=!![];const _0x45a1ff=new Cesium__namespace['DrawCommand']({'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'shaderProgram':_0x47e924,'vertexArray':_0x80d476,'modelMatrix':Cesium__namespace[_0x4bd975(0x793,_0x57aaee._0x101f84)][_0x4bd975(0xc87,_0x57aaee._0x3be99d)],'renderState':_0x87c21d,'boundingVolume':_0xf49721,'uniformMap':_0x42625a,'castShadows':![],'receiveShadows':![],'pass':_0x231590?Cesium__namespace[_0x9e2a64(0x1040,0x158e)]['TRANSLUCENT']:Cesium__namespace['Pass'][_0x9e2a64(0x1281,_0x57aaee._0x318437)],'pickOnly':!![],'pickCommand':new Cesium__namespace[(_0x4bd975(0x3e3,-0x28b))](_0x1f287d)});this['bindPickId'](_0x45a1ff),_0x45a1ff['pickId']=_0x13f2c3[_0x9e2a64(_0x57aaee._0x46760f,-0x115)]({'primitive':_0x45a1ff,'id':this['createPickId'](_0x44fb54[_0x9e2a64(_0x57aaee._0x537690,0xf4e)])});const _0x5bb9cc=new Cesium__namespace['DrawCommand']({'owner':_0x45a1ff,'primitiveType':Cesium__namespace[_0x4bd975(_0x57aaee._0x11ab0b,0x399)][_0x4bd975(_0x57aaee._0x324eca,_0x57aaee._0x10f3c7)],'pickOnly':!![]});_0x5bb9cc[_0x9e2a64(_0x57aaee._0x35c7eb,0x67b)]=_0x80d476;function _0x4bd975(_0x538709,_0x204879){return _0x2b6441(_0x204879,_0x538709-_0x4afe23._0x56fcea);}_0x5bb9cc[_0x4bd975(0x118,0x6f1)]=_0x87c21d;const _0x5d6997=Cesium__namespace[_0x4bd975(0xf4d,0x16ca)][_0x9e2a64(_0x57aaee._0x1a5c50,_0x57aaee._0x3e1784)]({'context':_0x13f2c3,'vertexShaderSource':FlatBillboardVS,'fragmentShaderSource':Cesium__namespace['ShaderSource']['createPickFragmentShaderSource'](FlatBillboardFS,'uniform'),'attributeLocations':_0x206ed7});_0x5bb9cc[_0x4bd975(0x1592,0x1cf0)]=_0x5d6997,_0x5bb9cc[_0x9e2a64(0x79f,0xb7f)]=_0x45a1ff[_0x4bd975(0x714,0xad0)],_0x5bb9cc['uniformMap']['czm_pickColor']=()=>{return _0x45a1ff['pickId']['color'];},_0x5bb9cc['pass']=_0x231590?Cesium__namespace[_0x9e2a64(0x1040,0x1aae)]['TRANSLUCENT']:Cesium__namespace['Pass'][_0x9e2a64(0x1281,_0x57aaee._0x37d065)],_0x5bb9cc['boundingVolume']=_0xf49721,_0x5bb9cc[_0x9e2a64(_0x57aaee._0x296b81,0x1760)]=Cesium__namespace['Matrix4']['IDENTITY'];!this[_0x4bd975(0x1471,0x1cd6)]&&(this['_pickCommands']=[]);function _0x9e2a64(_0x492fad,_0x306c76){return _0x2b6441(_0x306c76,_0x492fad-0x24d);}return this['_pickCommands']['push'](_0x5bb9cc),_0x45a1ff;}[_0x2b6441(0xd9e,0x134d)](_0x4e3560){const _0x16911b={_0x367056:0x83f};function _0x9154e6(_0x5d72ac,_0x2c78a3){return _0x2b6441(_0x2c78a3,_0x5d72ac-0x2d1);}this[_0x9154e6(0xefd,_0x16911b._0x367056)]=_0x4e3560;}}register$5('flatBillboard',FlatBillboard,!![]);class PlaneCombine extends BasePointCombine{['_conversionStyle'](_0x3d8fbe){function _0x86bc8a(_0x14f85c,_0xb0a271){return _0x2b6441(_0xb0a271,_0x14f85c-0x4a0);}return PlaneStyleConver[_0x86bc8a(0xf4b,0xc59)](_0x3d8fbe);}['_style2Json'](_0x402a0e,_0xc386ae){return PlaneStyleConver['toJSON'](_0x402a0e,_0xc386ae);}['_createGeometryInstanceItem'](_0x2c39b4,_0x35ed33,_0x57cb13){const _0x2d295b={_0x5adde9:0x37e,_0x45c288:0x25e,_0x26a554:0x1332},_0x46ad49=this[_0x420071(-_0x2d295b._0x5adde9,_0x2d295b._0x45c288)](_0x57cb13,_0x2c39b4);function _0x3bf807(_0x602d22,_0xc02297){return _0x2b6441(_0x602d22,_0xc02297-0x493);}function _0x420071(_0x48fab2,_0x308979){return _0x2b6441(_0x48fab2,_0x308979-0x335);}const _0x22e3c4=_0x35ed33?Cesium__namespace['PlaneOutlineGeometry']:Cesium__namespace['PlaneGeometry'],_0x313a8a=new Cesium__namespace['GeometryInstance']({'geometry':new _0x22e3c4(_0x2c39b4),'modelMatrix':_0x46ad49,'attributes':this[_0x3bf807(0x18c0,_0x2d295b._0x26a554)](_0x2c39b4)});return _0x313a8a;}['_getModelMatrix'](_0x31906f,_0x252698){const _0x5d10f3={_0x5a86a6:0x95b,_0x5b7bfe:0xd79,_0x620223:0xe98,_0x4cb741:0x6fb,_0x17b516:0xf2e,_0x388b96:0x413,_0x2e5bd3:0x53e,_0x151171:0x1712,_0x2eb28f:0x1309,_0x44d40f:0x274,_0x495242:0x274,_0x4b20ef:0x591},_0x21ff04={_0x21a1b5:0x53f};function _0x380042(_0x242faa,_0x48514b){return _0x2b6441(_0x242faa,_0x48514b-_0x21ff04._0x21a1b5);}var _0x2ef45e,_0x168ebf;function _0x2d4959(_0x171223,_0x2cc6a8){return _0x2b6441(_0x171223,_0x2cc6a8-0x11f);}if(_0x31906f['modelMatrix'])return _0x31906f['modelMatrix'];const _0x3161ad=super['_getModelMatrix'](_0x31906f,_0x252698);if(_0x252698['plane_normal']===Cesium__namespace['Cartesian3']['UNIT_X']){const _0x28b36c=Cesium__namespace[_0x380042(0x5f2,0xb10)][_0x380042(-0x125,0x6fb)](Cesium__namespace['Matrix3'][_0x2d4959(_0x5d10f3._0x5a86a6,_0x5d10f3._0x5b7bfe)](Cesium__namespace[_0x380042(0xae6,0x1309)]['toRadians'](0x5a)));Cesium__namespace['Matrix4']['multiply'](_0x3161ad,_0x28b36c,_0x3161ad);}else{if(_0x252698['plane_normal']===Cesium__namespace['Cartesian3']['UNIT_Y']){const _0x2e5591=Cesium__namespace[_0x380042(0xc4c,0xb10)][_0x380042(_0x5d10f3._0x620223,_0x5d10f3._0x4cb741)](Cesium__namespace[_0x2d4959(0x1131,_0x5d10f3._0x17b516)][_0x2d4959(-_0x5d10f3._0x388b96,_0x5d10f3._0x2e5bd3)](Cesium__namespace[_0x380042(_0x5d10f3._0x151171,_0x5d10f3._0x2eb28f)]['toRadians'](0x5a)));Cesium__namespace[_0x380042(0x1095,0xb10)]['multiply'](_0x3161ad,_0x2e5591,_0x3161ad);}}const _0x4f6bc4=Cesium__namespace['Matrix4']['fromScale'](new Cesium__namespace['Cartesian3'](((_0x2ef45e=_0x252698[_0x2d4959(0xc89,_0x5d10f3._0x44d40f)])===null||_0x2ef45e===void 0x0?void 0x0:_0x2ef45e['x'])??0x1,((_0x168ebf=_0x252698[_0x2d4959(-0x213,_0x5d10f3._0x495242)])===null||_0x168ebf===void 0x0?void 0x0:_0x168ebf['y'])??0x1,0x1));return Cesium__namespace[_0x380042(0xb3d,0xb10)][_0x380042(_0x5d10f3._0x4b20ef,0xec7)](_0x3161ad,_0x4f6bc4,_0x3161ad),_0x3161ad;}}register$5('planeC',PlaneCombine,!![]);class BoxCombine extends BasePointCombine{['_conversionStyle'](_0x186333){const _0x1580be={_0x5cef11:0x18b2};function _0x17f4ed(_0x4ded2c,_0x36774e){return _0x306755(_0x36774e,_0x4ded2c- -0x163);}return _0x186333['closed']=_0x186333['closed']??!![],BoxStyleConver[_0x17f4ed(0xee9,_0x1580be._0x5cef11)](_0x186333);}[_0x2b6441(0x824,0x36)](_0x5bbe29,_0x30aafd){return BoxStyleConver['toJSON'](_0x5bbe29,_0x30aafd);}['_createGeometryInstanceItem'](_0x5550ea,_0x291eee,_0x3412d3){const _0x598491={_0x55caca:0x7b8,_0x289ae0:0x130d,_0x351976:0x1545},_0x55e231=this['_getModelMatrix'](_0x3412d3,_0x5550ea);function _0x298c3f(_0x3c0e09,_0x40e688){return _0x306755(_0x3c0e09,_0x40e688- -0x277);}function _0x38381d(_0x2c018d,_0x18fb4b){return _0x2b6441(_0x2c018d,_0x18fb4b-0x18c);}const _0x2962c0=_0x291eee?Cesium__namespace[_0x38381d(0x123c,_0x598491._0x55caca)]:Cesium__namespace['BoxGeometry'],_0x33ee00=new Cesium__namespace[(_0x298c3f(_0x598491._0x289ae0,_0x598491._0x351976))]({'geometry':_0x2962c0['fromDimensions'](_0x5550ea),'modelMatrix':_0x55e231,'attributes':this['_createGeometryInstanceAttributes'](_0x5550ea)});return _0x33ee00;}}register$5(_0x2b6441(0xfa9,0xecb),BoxCombine,!![]);class CircleCombine extends BasePointCombine{constructor(_0x18e4ca={}){super(_0x18e4ca),this['_hasClampToGround']=!![];}['_conversionStyle'](_0x4265dc){return CircleStyleConver['toCesiumVal'](_0x4265dc);}[_0x2b6441(-0x749,0x36)](_0xf679e8,_0x19b11d){return CircleStyleConver['toJSON'](_0xf679e8,_0x19b11d);}['_createGeometryInstanceItem'](_0x572108,_0x2d4337,_0x2d6a43){const _0x5b1b4a={_0xa33757:0xdb0,_0x2d3013:0x3b4,_0x409e88:0x5d9,_0x3c0eb1:0x9d9,_0x1f9c73:0xc40},_0x5d039e={_0x2c0879:0x1d0},_0x598f79={_0x441d28:0x348};_0x2d6a43['position']=LngLatPoint[_0x2e127d(_0x5b1b4a._0xa33757,0x1600)](_0x2d6a43['position'])['toCartesian'](),_0x572108[_0x1ef28f(_0x5b1b4a._0x2d3013,0xdf7)]=_0x2d6a43['position'];function _0x1ef28f(_0x5d951b,_0x4bf0b6){return _0x306755(_0x4bf0b6,_0x5d951b- -_0x598f79._0x441d28);}function _0x2e127d(_0x210505,_0x3d3624){return _0x306755(_0x210505,_0x3d3624- -_0x5d039e._0x2c0879);}const _0x11de13=_0x2d4337?Cesium__namespace[_0x2e127d(_0x5b1b4a._0x409e88,_0x5b1b4a._0x3c0eb1)]:Cesium__namespace[_0x1ef28f(_0x5b1b4a._0x1f9c73,0x7d0)],_0x4f09d2=new Cesium__namespace['GeometryInstance']({'geometry':new _0x11de13(_0x572108),'attributes':this['_createGeometryInstanceAttributes'](_0x572108)});return _0x4f09d2;}[_0x2b6441(0xd8d,0x45a)](_0x51d444){const _0x107bd7={_0x2674f4:0x1711},_0xc8f59e={};function _0x38391a(_0x5a5ab4,_0x355dd3){return _0x306755(_0x5a5ab4,_0x355dd3- -0xfc);}_0xc8f59e['position']=_0x51d444[_0x38391a(_0x107bd7._0x2674f4,0x10fb)],_0xc8f59e['radius']=_0x51d444['style']['radius'],_0xc8f59e['granularity']=_0x51d444['style']['granularity'];const _0x4d519e=getEllipseOuterPositions(_0xc8f59e);return[_0x4d519e];}}register$5('circleC',CircleCombine,!![]);class CylinderCombine extends BasePointCombine{[_0x2b6441(0x85f,0xa04)](_0x363a4d){return _0x363a4d['closed']=_0x363a4d['closed']??!![],CylinderStyleConver['toCesiumVal'](_0x363a4d);}['_style2Json'](_0x1977ca,_0x15e2b0){return CylinderStyleConver['toJSON'](_0x1977ca,_0x15e2b0);}['_createGeometryInstanceItem'](_0x1dca53,_0x57ff9a,_0x1fe638){const _0x5c41f5={_0x432e3f:0xfca,_0x5a05d0:0x139e},_0x37348e={_0x55544a:0x3b6},_0x3c6232=this['_getModelMatrix'](_0x1fe638,_0x1dca53);(Cesium__namespace['defined'](_0x1dca53[_0x445b5b(0xb99,0x14a)])||Cesium__namespace[_0x445b5b(_0x5c41f5._0x432e3f,0x13fc)](_0x1dca53[_0x445b5b(0x6d0,0x8b9)]))&&(_0x1dca53['center']=this[_0x2bd9bc(_0x5c41f5._0x5a05d0,0xda1)](_0x1fe638));function _0x445b5b(_0x1f5b68,_0xcfc5cb){return _0x306755(_0x1f5b68,_0xcfc5cb- -_0x37348e._0x55544a);}function _0x2bd9bc(_0x306617,_0x2085ab){return _0x306755(_0x306617,_0x2085ab- -0x28c);}const _0x4f51c3=_0x57ff9a?Cesium__namespace['CylinderOutlineGeometry']:Cesium__namespace['CylinderGeometry'],_0x5a0c2d=new Cesium__namespace['GeometryInstance']({'geometry':new _0x4f51c3(_0x1dca53),'modelMatrix':_0x3c6232,'attributes':this['_createGeometryInstanceAttributes'](_0x1dca53)});return _0x5a0c2d;}}register$5('cylinderC',CylinderCombine,!![]);class FrustumCombine extends BasePointCombine{[_0x2b6441(0x9d1,0xa04)](_0x23728f){return _0x23728f['closed']=_0x23728f['closed']??!![],CylinderStyleConver['toCesiumVal'](_0x23728f);}['_style2Json'](_0x777fd2,_0x1e2daf){return CylinderStyleConver['toJSON'](_0x777fd2,_0x1e2daf);}['_createGeometryInstanceItem'](_0xbca616,_0x3ff052,_0x484e42){const _0x3a77d3={_0x242a7b:0xbca,_0x200ae6:0x14eb,_0x137d76:0x3f4,_0x4258b2:0x383,_0x3cc684:0x31c,_0x20dc40:0x270,_0x4fc083:0x1ee,_0x481539:0x10d0,_0x5b3069:0x167e,_0xc1b4b0:0x270,_0x30bc3d:0x1011,_0x2cda75:0x138d,_0x3a3583:0xcbf,_0x2eb49a:0xa1d};function _0x29afb4(_0x5c52ab,_0x492eed){return _0x306755(_0x5c52ab,_0x492eed- -0x35a);}const _0x3e3a5e=_0x484e42['position']=LngLatPoint['parse'](_0x484e42[_0x591b38(_0x3a77d3._0x242a7b,_0x3a77d3._0x200ae6)])[_0x29afb4(0xd9e,0x690)]();let _0x234685,_0xb2f6a4;if(_0x484e42['targetPositio']){const _0x2cddf3=LngLatPoint['parse'](_0x484e42['targetPosition'])['toCartesian']();_0x234685=Cesium__namespace[_0x591b38(_0x3a77d3._0x137d76,_0x3a77d3._0x4258b2)]['distance'](_0x3e3a5e,_0x2cddf3);const _0x562ec2=getHeadingPitchRollForLine(_0x3e3a5e,_0x2cddf3,!![]);_0xb2f6a4=Cesium__namespace[_0x29afb4(0x1c70,0x13a3)]['headingPitchRollQuaternion'](_0x3e3a5e,_0x562ec2,this['ellipsoid'],this[_0x29afb4(-_0x3a77d3._0x3cc684,_0x3a77d3._0x20dc40)]);}else{_0x234685=_0xbca616['length'];const _0xa58ccf=Cesium__namespace['HeadingPitchRoll']['fromDegrees'](_0xbca616[_0x29afb4(0x11f7,0xe77)]||0x0,_0xbca616[_0x29afb4(-_0x3a77d3._0x4fc083,0x84b)]||0x0,_0xbca616['roll']||0x0);_0xb2f6a4=Cesium__namespace[_0x591b38(_0x3a77d3._0x481539,_0x3a77d3._0x5b3069)]['headingPitchRollQuaternion'](_0x3e3a5e,_0xa58ccf,this['ellipsoid'],this[_0x29afb4(-0x412,_0x3a77d3._0xc1b4b0)]);}const _0x5c019f=new Cesium__namespace['PerspectiveFrustum']({'fov':Cesium__namespace[_0x29afb4(0x719,_0x3a77d3._0x30bc3d)]['toRadians'](_0xbca616[_0x29afb4(0x1717,_0x3a77d3._0x2cda75)]*0x2||0.01),'aspectRatio':_0xbca616['angle']/_0xbca616['angle2'],'near':0.01,'far':_0x234685}),_0x53707d=_0x3ff052?Cesium__namespace[_0x29afb4(0x535,0x18b)]:Cesium__namespace['FrustumGeometry'];function _0x591b38(_0x565a33,_0x1ab324){return _0x306755(_0x1ab324,_0x565a33- -0x62d);}const _0x99a817={..._0xbca616};_0x99a817[_0x591b38(0xf33,0x8d2)]=_0x3e3a5e,_0x99a817['orientation']=_0xb2f6a4,_0x99a817[_0x29afb4(_0x3a77d3._0x3a3583,_0x3a77d3._0x2eb49a)]=_0x5c019f;const _0x5ac691=new Cesium__namespace[(_0x29afb4(0x1579,0x1462))]({'geometry':new _0x53707d(_0x99a817),'attributes':this['_createGeometryInstanceAttributes'](_0xbca616)});return _0x5ac691;}}register$5('frustumC',FrustumCombine,!![]);class EllipsoidCombine extends BasePointCombine{[_0x306755(0x83a,0xfa5)](_0x1a00f3){return _0x1a00f3['closed']=_0x1a00f3['closed']??!![],EllipsoidStyleConver['toCesiumVal'](_0x1a00f3);}['_style2Json'](_0x454aaf,_0x583151){const _0x4d4d01={_0x26a504:0x55};function _0x36b2d8(_0x2ea269,_0x5b015b){return _0x2b6441(_0x5b015b,_0x2ea269- -0x96);}return EllipsoidStyleConver[_0x36b2d8(0x4d3,_0x4d4d01._0x26a504)](_0x454aaf,_0x583151);}['_createGeometryInstanceItem'](_0x57f2c5,_0x4d0bcf,_0x1bf399){const _0x844dff={_0x1da8a7:0x5ec,_0x5931c1:0xc58},_0x4a6375=this['_getModelMatrix'](_0x1bf399,_0x57f2c5),_0x2af5fe=_0x4d0bcf?Cesium__namespace[_0x564531(_0x844dff._0x1da8a7,_0x844dff._0x5931c1)]:Cesium__namespace['EllipsoidGeometry'];function _0x564531(_0x475c55,_0x3481ba){return _0x2b6441(_0x3481ba,_0x475c55-0x36d);}function _0x488717(_0xd0f8fc,_0x686692){return _0x2b6441(_0x686692,_0xd0f8fc-0x212);}const _0x368bc4=new Cesium__namespace[(_0x564531(0x1588,0xaf4))]({'geometry':new _0x2af5fe(_0x57f2c5),'modelMatrix':_0x4a6375,'attributes':this['_createGeometryInstanceAttributes'](_0x57f2c5)});return _0x368bc4;}}register$5('ellipsoidC',EllipsoidCombine,!![]);class PolylineCombine extends BasePolyCombine{constructor(_0x18483c={}){super(_0x18483c),this['_hasClampToGround']=!![];}['_conversionStyle'](_0x38bc92){return PolylineStyleConver['toCesiumVal'](_0x38bc92);}['_style2Json'](_0x4248a3,_0x4093fd){const _0x1ae322={_0x143338:0x961},_0xc829fd={_0x38ca77:0x3f8};function _0x415893(_0x541903,_0x2c9f2b){return _0x2b6441(_0x541903,_0x2c9f2b-_0xc829fd._0x38ca77);}return PolylineStyleConver[_0x415893(0x73a,_0x1ae322._0x143338)](_0x4248a3,_0x4093fd);}['_createGeometryInstanceItem'](_0x40a982,_0x45e8c4,_0x3622ea){const _0x3c4e48={_0x2e3234:0x128a,_0x2ea4db:0x161f,_0x35c6c5:0x8e7,_0x3d069c:0x6e1,_0x50f297:0xa1c,_0x361046:0x14a4,_0x5e9a9b:0x1238,_0xc1da50:0x1442};function _0x2d3613(_0x1b3dce,_0x49611e){return _0x2b6441(_0x1b3dce,_0x49611e-0x227);}function _0x1551bb(_0x364570,_0x1192e4){return _0x2b6441(_0x364570,_0x1192e4-0xac);}var _0x3bf8c2;if(((_0x3bf8c2=_0x3622ea[_0x2d3613(_0x3c4e48._0x2e3234,_0x3c4e48._0x2ea4db)])===null||_0x3bf8c2===void 0x0?void 0x0:_0x3bf8c2[_0x2d3613(_0x3c4e48._0x35c6c5,0x1281)])<0x2)return;_0x40a982['_isColorMaterial']&&(_0x40a982[_0x2d3613(0x964,_0x3c4e48._0x3d069c)]=Cesium__namespace[_0x1551bb(_0x3c4e48._0x50f297,0x11a7)]['VERTEX_FORMAT']);const _0x56bb0a=_0x3622ea[_0x2d3613(0x1e79,0x161f)]=this['toCartesianPositions'](_0x3622ea['positions'],_0x40a982);_0x40a982[_0x1551bb(0x1c3f,_0x3c4e48._0x361046)]=_0x56bb0a;const _0x30317a=_0x40a982[_0x2d3613(0x6d3,0x142)]?Cesium__namespace[_0x1551bb(0x1258,0x1402)]:Cesium__namespace[_0x1551bb(-0x1f9,-0x41)],_0x6b5742=new Cesium__namespace[(_0x2d3613(_0x3c4e48._0x5e9a9b,_0x3c4e48._0xc1da50))]({'geometry':new _0x30317a(_0x40a982),'attributes':this['_createGeometryInstanceAttributes'](_0x40a982)});return _0x6b5742;}['_createAppearance'](_0x5f5413,_0x237e69){const _0x105051={_0x2c166e:0x7b4},_0xed6929={_0x16f507:0x5a4};function _0x28b9c0(_0x234d3c,_0x1f07b0){return _0x306755(_0x1f07b0,_0x234d3c- -_0xed6929._0x16f507);}if(_0x5f5413[_0x28b9c0(_0x105051._0x2c166e,0x11ac)]){const _0x4a2db7={..._0x5f5413};return new Cesium__namespace['PolylineColorAppearance'](_0x4a2db7);}else{const _0x4e60ea={..._0x5f5413};return new Cesium__namespace['PolylineMaterialAppearance'](_0x4e60ea);}}}register$5(_0x2b6441(0x894,-0xab),PolylineCombine);class PolylineVolumeCombine extends BasePolyCombine{['_conversionStyle'](_0x4143f8){return _0x4143f8['closed']=_0x4143f8['closed']??!![],PolylineVolumeStyleConver['toCesiumVal'](_0x4143f8);}['_style2Json'](_0x4ae138,_0xdfeb0a){return PolylineVolumeStyleConver['toJSON'](_0x4ae138,_0xdfeb0a);}['_createGeometryInstanceItem'](_0x1ea461,_0x835bd,_0x339bf6){const _0x5914a6={_0x130400:0x18dd},_0x52dbc0=_0x339bf6['positions']=this['toCartesianPositions'](_0x339bf6['positions'],_0x1ea461),_0x3926b0=_0x835bd?Cesium__namespace['PolylineVolumeOutlineGeometry']:Cesium__namespace['PolylineVolumeGeometry'],_0x193c2b={..._0x1ea461};_0x193c2b['polylinePositions']=_0x52dbc0;function _0x126b34(_0x47df6d,_0x12db46){return _0x306755(_0x12db46,_0x47df6d- -0x42d);}_0x193c2b[_0x126b34(0xe7c,0x138b)]=_0x1ea461['shape'];const _0x46f941=new Cesium__namespace[(_0x524054(_0x5914a6._0x130400,0x1361))]({'geometry':new _0x3926b0(_0x193c2b),'attributes':this[_0x524054(0x100d,0xfe5)](_0x1ea461)});function _0x524054(_0x44a226,_0x165c16){return _0x2b6441(_0x44a226,_0x165c16-0x146);}return _0x46f941;}}register$5('polylineVolumeC',PolylineVolumeCombine);class CorridorCombine extends BasePolyCombine{constructor(_0x1fbc3a={}){const _0x6da025={_0x105b27:0x1560,_0x5bc150:0x130f};super(_0x1fbc3a);function _0x4952ec(_0x4c0a98,_0x55af70){return _0x2b6441(_0x4c0a98,_0x55af70-0x5b3);}this[_0x4952ec(_0x6da025._0x105b27,_0x6da025._0x5bc150)]=!![];}['_conversionStyle'](_0x2c1ecb){return CorridorStyleConver['toCesiumVal'](_0x2c1ecb);}[_0x2b6441(-0x92a,0x36)](_0x234bf2,_0x57e166){return CorridorStyleConver['toJSON'](_0x234bf2,_0x57e166);}[_0x306755(0x1693,0x1365)](_0x467c47,_0x2ad104,_0x344a6a){const _0x3b3e39={_0x43504c:0x13dd,_0x2bf313:0x1043};_0x344a6a['positions']=this['toCartesianPositions'](_0x344a6a[_0x339c1b(_0x3b3e39._0x43504c,0x15e6)],_0x467c47),_0x467c47['positions']=_0x344a6a[_0x339c1b(_0x3b3e39._0x2bf313,0x15e6)];function _0x339c1b(_0xece9ea,_0x2fcf9a){return _0x2b6441(_0xece9ea,_0x2fcf9a-0x1ee);}function _0x22ae63(_0x260cf1,_0x1976a0){return _0x306755(_0x1976a0,_0x260cf1- -0x1a0);}const _0x1391d3=_0x2ad104?Cesium__namespace['CorridorOutlineGeometry']:Cesium__namespace['CorridorGeometry'],_0x3e455d=new Cesium__namespace['GeometryInstance']({'geometry':new _0x1391d3(_0x467c47),'attributes':this['_createGeometryInstanceAttributes'](_0x467c47)});return _0x3e455d;}}register$5('corridorC',CorridorCombine);class WallCombine extends BasePolyCombine{['_conversionStyle'](_0xca25ea){return WallStyleConver['toCesiumVal'](_0xca25ea);}['_style2Json'](_0x273a25,_0x42589d){return WallStyleConver['toJSON'](_0x273a25,_0x42589d);}['_createGeometryInstanceItem'](_0x309568,_0xcb25a0,_0xa4eca0){const _0x928172={_0xfb8dd5:0x729,_0x50c6a6:0xf28,_0x2c61bb:0xc6c,_0x12dfb0:0x126d},_0x234fb9={_0x3233ec:0x102},_0x351fa8={_0x1f37b0:0x40},_0x12e9a8={_0x50dd63:0x159e,_0x5271aa:0x1530,_0x1f5d60:0xb18,_0x5064ca:0xca,_0x1b2388:0x474},_0xd4b49b={_0x2caa25:0x327};var _0x4749dc,_0x12acf4;if(((_0x4749dc=_0xa4eca0['positions'])===null||_0x4749dc===void 0x0?void 0x0:_0x4749dc['length'])<0x2)return;let _0x3dbe44=[],_0x57e7a7=[],_0x4ca699=[];_0xa4eca0[_0x31ec02(0x1dd9,0x1a9b)]['forEach']((_0x181b63,_0x16b40f)=>{const _0x1a89ff=LngLatPoint['parse'](_0x181b63);if(!_0x1a89ff||!_0x1a89ff[_0x395acc(0x110a,_0x12e9a8._0x50dd63)]())return;const _0x16500c=this[_0x108b7c(0xf46,0x58d)](_0x309568,_0x16b40f);Cesium__namespace[_0x108b7c(_0x12e9a8._0x5271aa,0x158d)](_0x16500c)&&(_0x1a89ff['alt']=_0x16500c);const _0x2415cf=this['getAddHeight'](_0x309568,_0x16b40f);function _0x108b7c(_0x361484,_0x4638e4){return _0x31ec02(_0x361484,_0x4638e4- -_0xd4b49b._0x2caa25);}Cesium__namespace['defined'](_0x2415cf)&&(_0x1a89ff['alt']=_0x1a89ff[_0x395acc(_0x12e9a8._0x1f5d60,_0x12e9a8._0x5064ca)]+_0x2415cf);const _0x451941=_0x1a89ff['alt'];_0x3dbe44[_0x108b7c(0x5b7,_0x12e9a8._0x1b2388)](_0x1a89ff['toCartesian']()),_0x57e7a7['push'](_0x451941);function _0x395acc(_0x8ed796,_0x1e0fb6){return _0x31ec02(_0x8ed796,_0x1e0fb6- -0x49f);}_0x4ca699['push'](_0x451941+Number(_0x309568['diffHeight']??0x64));});if(((_0x12acf4=_0x3dbe44)===null||_0x12acf4===void 0x0?void 0x0:_0x12acf4['length'])<0x2)return;_0x309568['closure']&&(_0x3dbe44=_0x3dbe44['concat'](_0x3dbe44[0x0]),_0x57e7a7=_0x57e7a7[_0x166742(0x95a,0x8c5)](_0x57e7a7[0x0]),_0x4ca699=_0x4ca699[_0x31ec02(_0x928172._0xfb8dd5,_0x928172._0x50c6a6)](_0x4ca699[0x0]));function _0x166742(_0x5c72d8,_0x4177b4){return _0x2b6441(_0x5c72d8,_0x4177b4-_0x351fa8._0x1f37b0);}const _0x6ffac8=_0xcb25a0?Cesium__namespace[_0x166742(-0x315,-0xa3)]:Cesium__namespace[_0x31ec02(0x149f,0x1a57)],_0x2e269b={..._0x309568};_0x2e269b[_0x166742(_0x928172._0x2c61bb,0x1438)]=_0x3dbe44,_0x2e269b[_0x31ec02(0x15d8,_0x928172._0x12dfb0)]=_0x4ca699,_0x2e269b[_0x31ec02(0x1707,0x14d2)]=_0x57e7a7;function _0x31ec02(_0x2f46c7,_0x429ccc){return _0x306755(_0x2f46c7,_0x429ccc-_0x234fb9._0x3233ec);}const _0x92adef=new Cesium__namespace['GeometryInstance']({'geometry':new _0x6ffac8(_0x2e269b),'attributes':this['_createGeometryInstanceAttributes'](_0x309568)});return _0x92adef;}}register$5('wallC',WallCombine);class PolygonCombine extends BasePolyCombine{constructor(_0x44341f={}){super(_0x44341f),this['_hasClampToGround']=!![];}['_conversionStyle'](_0x533777){const _0x4ccffc={_0x50855b:0x243};function _0x162f90(_0x113489,_0x52d45d){return _0x306755(_0x52d45d,_0x113489- -_0x4ccffc._0x50855b);}return PolygonStyleConver[_0x162f90(0xe09,0x15ae)](_0x533777);}['_style2Json'](_0x51af40,_0x5ae1d9){const _0x43ba2f={_0x1f5c36:0x686},_0x337715={_0x56aad3:0x484};function _0x3a316f(_0x4a7467,_0x21d322){return _0x306755(_0x21d322,_0x4a7467- -_0x337715._0x56aad3);}return PolygonStyleConver[_0x3a316f(_0x43ba2f._0x1f5c36,0x6de)](_0x51af40,_0x5ae1d9);}[_0x2b6441(0x832,0x10c8)](_0x223c3c,_0x4a3c89){const _0x916957={_0x4e6240:0x17ea,_0x279dfb:0x169b,_0x4fb1b1:0x6be};function _0x309ff8(_0x297c58,_0x3d31ec){return _0x306755(_0x297c58,_0x3d31ec-0xa0);}function _0x367299(_0xd6ea39,_0x52b175){return _0x306755(_0x52b175,_0xd6ea39- -0xec);}if(_0x223c3c[_0x309ff8(_0x916957._0x4e6240,_0x916957._0x279dfb)]>0x0&&Array['isArray'](_0x223c3c[0x0])&&_0x223c3c[0x0]['length']>0x0){const _0x29e6b2=_0x223c3c[0x0][0x0];if(Array['isArray'](_0x29e6b2)&&isNumber(_0x29e6b2[0x0]))return getPolygonHierarchy(_0x223c3c,_0x4a3c89['height']||_0x4a3c89[_0x309ff8(0xafa,0x150f)]||_0x4a3c89['addHeight']);else{if(_0x29e6b2 instanceof Cesium__namespace['Cartesian3']||_0x29e6b2 instanceof LngLatPoint)return getPolygonHierarchy2(_0x223c3c);}}const _0x3497b7=this[_0x309ff8(0xbda,_0x916957._0x4fb1b1)](_0x223c3c,_0x4a3c89);return new Cesium__namespace['PolygonHierarchy'](_0x3497b7);}['_createGeometryInstanceItem'](_0x36b2a6,_0xb57271,_0x52bf88){const _0x4971={_0x58ff36:0x18c3,_0x2699af:0x1052,_0x572f7d:0x822,_0x4a6dc2:0x151f,_0x1e786b:0x17d7,_0x3f8d0d:0x144e,_0x219208:0x1555,_0x95958d:0x196e},_0x38727f={_0x30b646:0x5a};function _0x446c5d(_0x3a0301,_0x22acd4){return _0x306755(_0x3a0301,_0x22acd4- -_0x38727f._0x30b646);}const _0x24a3e6=this['_getPolygonHierarchy'](_0x52bf88['positions'],_0x36b2a6);_0x52bf88['_hierarchy']=_0x24a3e6,_0x36b2a6[_0x3f65d6(_0x4971._0x58ff36,0x2080)]=_0x24a3e6;function _0x3f65d6(_0x2d3b35,_0x57e929){return _0x306755(_0x57e929,_0x2d3b35-0x25);}(Cesium__namespace['defined'](_0x36b2a6[_0x3f65d6(0x525,-0x46d)])||Cesium__namespace['defined'](_0x36b2a6['offsetHeight']))&&(_0x36b2a6['center']=this[_0x3f65d6(_0x4971._0x2699af,0x7bd)](_0x52bf88));let _0x5562c8;_0xb57271?_0x5562c8=Cesium__namespace['PolygonOutlineGeometry']:_0x36b2a6[_0x446c5d(_0x4971._0x572f7d,0x9f2)]&&!Cesium__namespace[_0x3f65d6(0x17d7,0x138a)](_0x36b2a6[_0x446c5d(0x1071,_0x4971._0x4a6dc2)])&&!Cesium__namespace[_0x3f65d6(_0x4971._0x1e786b,_0x4971._0x3f8d0d)](_0x36b2a6['offsetAttribute'])?_0x5562c8=Cesium__namespace[_0x3f65d6(0xc7e,_0x4971._0x219208)]:_0x5562c8=Cesium__namespace['PolygonGeometry'];const _0x3c459b=new Cesium__namespace[(_0x446c5d(_0x4971._0x95958d,0x1762))]({'geometry':new _0x5562c8(_0x36b2a6),'attributes':this['_createGeometryInstanceAttributes'](_0x36b2a6)});return _0x3c459b;}['_getPolylineOutlinePositions'](_0x437ba4){const _0x3c9b73={_0x5f5376:0xd9d,_0x526f16:0xc7b,_0x465184:0x1938};function _0x2dd4d9(_0x5d29d5,_0x493f4f){return _0x306755(_0x493f4f,_0x5d29d5- -0x61);}function _0x3fe563(_0x50f1d2,_0x33c6e6){return _0x306755(_0x50f1d2,_0x33c6e6- -0x64c);}if(_0x437ba4['_hierarchy'])return getHierarchyVal(_0x437ba4[_0x2dd4d9(_0x3c9b73._0x5f5376,_0x3c9b73._0x526f16)]);else{if(_0x437ba4['positions'])return getHierarchyVal(LngLatArray[_0x3fe563(-0x1a1,0x63f)](_0x437ba4[_0x2dd4d9(_0x3c9b73._0x465184,0x1c7b)]));}}['_getGeoJsonGeometry'](_0x5b9db7,_0xbd5bee){const _0x375f15={_0x3ecea0:0xa01},_0x1d1518={_0x71c8d:0x658};function _0x178ba4(_0x4e1192,_0x97a76f){return _0x2b6441(_0x97a76f,_0x4e1192-_0x1d1518._0x71c8d);}return{'type':_0x178ba4(0xa84,_0x375f15._0x3ecea0),'coordinates':[LngLatArray['toArray'](_0x5b9db7['positions'],_0xbd5bee===null||_0xbd5bee===void 0x0?void 0x0:_0xbd5bee['noAlt'])]};}}register$5(_0x2b6441(-0x8,0x95a),PolygonCombine);class WaterCombine extends PolygonCombine{constructor(_0x39c1e6={}){const _0x245ad4={_0x3886a9:0x146a},_0x5a3b7c={_0x429472:0x16d};super(_0x39c1e6);function _0x3d04c5(_0x47c1a7,_0x3d901f){return _0x306755(_0x3d901f,_0x47c1a7-_0x5a3b7c._0x429472);}this[_0x3d04c5(_0x245ad4._0x3886a9,0x18a8)]=!![];}[_0x306755(0x10d4,0x99e)](_0x309a46){const _0x318d0a={_0x158ef4:0x12bc,_0xa262ac:0xe6a,_0x3e3fed:0x13fe,_0x40ef86:0x131f,_0x1d5ac8:0x655,_0x69ac1c:0x122b,_0x26d282:0x7aa,_0x58add8:0x12f8,_0x274b8a:0xc6c,_0x31b5dd:0x106d,_0x4e9726:0xbba,_0x201326:0xf9f,_0x54071e:0x345,_0x145bb7:0x202};if(!this[_0x14b2d3(0x1476,_0x318d0a._0x158ef4)])return;const _0x5ae762=this['_conversionStyle'](_0x309a46);function _0x14b2d3(_0x1db12a,_0x140ea9){return _0x306755(_0x1db12a,_0x140ea9- -0x2d7);}_0x309a46['opacity']=_0x309a46['opacity']??0.8;const _0x586ab8={'geometryInstances':this['_createGeometryInstance'](_0x5ae762),'appearance':new Cesium__namespace[(_0x14b2d3(0x11df,_0x318d0a._0xa262ac))]({'aboveGround':![],'material':new Cesium__namespace['Material']({'fabric':{'type':_0x395301(0x167c,0xe9b),'uniforms':{'specularMap':_0x5ae762[_0x14b2d3(_0x318d0a._0x3e3fed,_0x318d0a._0x40ef86)]??Cesium__namespace[_0x14b2d3(0x4f8,0xc30)][_0x395301(_0x318d0a._0x1d5ac8,0x2e5)],'normalMap':_0x5ae762['normalMap']??Cesium__namespace['Material']['DefaultImageId'],'frequency':_0x5ae762[_0x395301(0x128c,0x106d)]??0x1f40,'animationSpeed':_0x5ae762['animationSpeed']??0.03,'amplitude':_0x5ae762['amplitude']??0x5,'specularIntensity':_0x309a46[_0x395301(0xe97,_0x318d0a._0x69ac1c)]??0.8,'baseWaterColor':getCesiumColor(_0x309a46[_0x395301(0x14a8,0x1c57)]??_0x395301(0x71a,0x9af))[_0x14b2d3(0x1fbb,0x165e)](_0x309a46[_0x395301(0x86e,0x885)]),'blendColor':getCesiumColor(_0x309a46['blendColor']??'#123e59')['withAlpha'](_0x309a46['opacity'])}}}),'fragmentShaderSource':WaterFS,'translucent':_0x309a46[_0x14b2d3(0x52a,0x872)]!==0x1}),'show':this['show']};_0x309a46['clampToGround']?(_0x586ab8['classificationType']=_0x309a46[_0x395301(0xac2,_0x318d0a._0x26d282)]??Cesium__namespace[_0x14b2d3(0x16ca,_0x318d0a._0x58add8)]['TERRAIN'],this[_0x395301(_0x318d0a._0x274b8a,_0x318d0a._0x31b5dd)]=this['groundPrimitiveCollection']['add'](new Cesium__namespace[(_0x14b2d3(0x1798,0x15e8))](_0x586ab8)),this['_primitive']['_clampToGround']=!![]):this['_primitive']=this['primitiveCollection']['add'](new Cesium__namespace['Primitive'](_0x586ab8));this['_primitive_outline']&&(this['_primitive_outline'][_0x395301(_0x318d0a._0x4e9726,_0x318d0a._0x201326)]?this['groundPrimitiveCollection']['remove'](this[_0x14b2d3(-_0x318d0a._0x54071e,0x204)]):this['primitiveCollection']['remove'](this['_primitive_outline']),delete this['_primitive_outline']);function _0x395301(_0x3160fc,_0x205d96){return _0x306755(_0x205d96,_0x3160fc- -0x2db);}if(_0x309a46[_0x14b2d3(0x12c4,0x1693)]){const _0x5a29ef=this['_getOutlineStyle'](_0x309a46);this[_0x14b2d3(-_0x318d0a._0x145bb7,0x204)]=this[_0x395301(0x1407,0xcf1)](_0x5a29ef);}}}register$5('waterC',WaterCombine);class RectangleCombine extends BasePolyCombine{constructor(_0x1e1fdb={}){const _0x3b72dc={_0x56edb2:0x1320},_0x3a2e4d={_0x3c94dc:0x5c4};super(_0x1e1fdb);function _0x21c9bd(_0xf43bf2,_0x4920e5){return _0x2b6441(_0xf43bf2,_0x4920e5-_0x3a2e4d._0x3c94dc);}this[_0x21c9bd(0x8e0,_0x3b72dc._0x56edb2)]=!![];}[_0x306755(0xc6f,0xfa5)](_0x21c17c){function _0x465c12(_0x2a952a,_0x132d5b){return _0x2b6441(_0x132d5b,_0x2a952a-0x50f);}return RectangleStyleConver[_0x465c12(0xfba,0x661)](_0x21c17c);}[_0x2b6441(0x5bc,0x36)](_0x5d3d31,_0xf33c1f){return RectangleStyleConver['toJSON'](_0x5d3d31,_0xf33c1f);}['_createGeometryInstanceItem'](_0x4f0bc9,_0x57caf4,_0x1dfce2){const _0x52582f={_0x487a21:0x167c,_0x11ed65:0x181d,_0x4781ae:0x1089,_0x3fd430:0x1a45,_0x2db8eb:0x1495,_0x56cf10:0x1900,_0x269283:0x18a1,_0x4020c5:0x111c,_0x24f771:0x18ab,_0x4705e6:0x211b},_0x2a2a01=_0x1dfce2['positions']=this['toCartesianPositions'](_0x1dfce2[_0xb3d82f(_0x52582f._0x487a21,0xff9)],_0x4f0bc9);_0x4f0bc9[_0x425e27(0x1508,_0x52582f._0x11ed65)]=Cesium__namespace['Rectangle']['fromCartesianArray'](_0x2a2a01);function _0x425e27(_0x14d01c,_0x590270){return _0x306755(_0x590270,_0x14d01c-0xef);}Cesium__namespace['defined'](_0x4f0bc9['rectangle'])&&(Cesium__namespace[_0x425e27(0x18a1,0x15de)](this['_rectangle'])?this[_0x425e27(0xb28,0x5fb)]=Cesium__namespace[_0x425e27(_0x52582f._0x4781ae,0xfff)][_0x425e27(_0x52582f._0x3fd430,0x196d)](_0x4f0bc9['rectangle'],this['_rectangle']):this['_rectangle']=_0x4f0bc9['rectangle']);function _0xb3d82f(_0x510f89,_0x498d56){return _0x2b6441(_0x498d56,_0x510f89-0x284);}(Cesium__namespace[_0xb3d82f(_0x52582f._0x2db8eb,_0x52582f._0x56cf10)](_0x4f0bc9['offsetAttribute'])||Cesium__namespace[_0x425e27(_0x52582f._0x269283,0x1177)](_0x4f0bc9['offsetHeight']))&&(_0x4f0bc9['center']=this[_0x425e27(_0x52582f._0x4020c5,0x1be3)](_0x1dfce2));const _0x5b9188=_0x57caf4?Cesium__namespace['RectangleOutlineGeometry']:Cesium__namespace[_0x425e27(0xb71,0x276)],_0x46e60b=new Cesium__namespace[(_0x425e27(_0x52582f._0x24f771,_0x52582f._0x4705e6))]({'geometry':new _0x5b9188(_0x4f0bc9),'attributes':this['_createGeometryInstanceAttributes'](_0x4f0bc9)});return _0x46e60b;}['_getPolylineOutlinePositions'](_0x12004a){const _0x49f49d={_0xe3faf0:0x10ec},_0x1a981d={_0x5a0644:0x8e},_0x3cfce6={_0x5a57c7:0x34};let _0x4f1df9;if(Cesium__namespace[_0x5efcb1(_0x49f49d._0xe3faf0,0x1245)](_0x12004a['style'][_0x5efcb1(0x5da,-0x30)]))_0x4f1df9=Cesium__namespace['Math']['toRadians'](_0x12004a[_0x4f6737(0x1056,0x7c8)]['rotationDegree']);else Cesium__namespace['defined'](_0x12004a['style']['rotation'])&&(_0x4f1df9=_0x12004a[_0x4f6737(0x1054,0x7c8)]['rotation']);function _0x5efcb1(_0x562710,_0x31d713){return _0x2b6441(_0x562710,_0x31d713-_0x3cfce6._0x5a57c7);}const _0x33a299=getRectangleOuterPositions({'rectangle':Cesium__namespace[_0x5efcb1(0xb2d,0xa2d)]['fromCartesianArray'](_0x12004a['positions']),'rotation':_0x4f1df9,'height':_0x12004a['style'][_0x5efcb1(-0x38b,0x685)]});function _0x4f6737(_0xa2220e,_0x3f2640){return _0x306755(_0xa2220e,_0x3f2640- -_0x1a981d._0x5a0644);}return[_0x33a299];}}register$5(_0x2b6441(0x2cc,0xc80),RectangleCombine);class EditDivGraphic extends EditBase{set['position'](_0x37dd9c){const _0x16fbe7={_0x12ec81:0x59a};function _0x4df5ce(_0x54a729,_0x3d5ffd){return _0x2b6441(_0x54a729,_0x3d5ffd-_0x16fbe7._0x12ec81);}this['_graphic'][_0x4df5ce(-0x2b7,0x601)]=_0x37dd9c;}get['position'](){function _0x18e786(_0x401514,_0x233a30){return _0x2b6441(_0x401514,_0x233a30-0x159);}return this[_0x18e786(0x186,0x19f)]['_position_draw'];}get[_0x306755(0x80d,0xffb)](){return this['_graphic']['_container'];}[_0x306755(0xf10,0xccd)](){const _0x55c576={_0x18b023:0x223,_0x2c8f39:0xe99,_0x2d4e81:0x121,_0x32c9e5:0xe85,_0x5983b7:0xbd8,_0x256360:0x53c,_0x472386:0x80,_0x52891c:0xf7,_0x46a27d:0x5c4,_0x22cf85:0x12d9,_0x480493:0x87d,_0x22514d:0xfe6,_0x15f7f0:0x106,_0x5330c4:0x9d5},_0x1c2f50={_0x128a8b:0x1a1c,_0x3a8883:0xacc,_0x8b4792:0x31},_0x3593fd={_0x2e4a67:0x4fd},_0x556cb4={_0x4c6fc4:0x604},_0x38aaf2={_0x4fcb7e:0x4f0};if(this['_enabled'])return this;this['_enabled']=!![],this[_0x4bc67e(0xa31,0xded)]['addEventListener']('mousemove',this[_0x5d0493(0xa3b,0xd12)]['bind'](this)),this['container']['addEventListener'](_0x5d0493(0x4df,_0x55c576._0x18b023),this['_onMouseOut'][_0x5d0493(0xf5f,_0x55c576._0x2c8f39)](this)),this[_0x5d0493(0xb0b,_0x55c576._0x2d4e81)]['addEventListener']('mousedown',this['_onMarkerDragStart'][_0x4bc67e(_0x55c576._0x32c9e5,_0x55c576._0x5983b7)](this));function _0x5d0493(_0xb9a03a,_0x3199f8){return _0x306755(_0x3199f8,_0xb9a03a- -_0x38aaf2._0x4fcb7e);}addClass(this['container'],this['_graphic'][_0x5d0493(0x366,0x918)][_0x5d0493(0x151,-0x220)]||_0x4bc67e(_0x55c576._0x256360,0x7cd)),this['_graphic']['_draw_tooltip']=this[_0x4bc67e(0x11ff,0xe89)]['getLangText']('_拖动对象后')+_0x4bc67e(0xc55,0x13fa)+this['_map']['getLangText'](_0x4bc67e(-_0x55c576._0x472386,0x298)),this['_graphic']['onDragEnd']=(_0x57fb7e,_0x51b4e4,_0x3e2aea)=>{this[_0x74d760(0x11cc,0x6fb)]['position']=_0x51b4e4;function _0x74d760(_0x3f7494,_0x5d5ab0){return _0x5d0493(_0x5d5ab0-_0x556cb4._0x4c6fc4,_0x3f7494);}function _0x58e938(_0xf051e,_0x54e600){return _0x4bc67e(_0xf051e-_0x3593fd._0x2e4a67,_0x54e600);}this[_0x58e938(0x12ab,_0x1c2f50._0x128a8b)]();const _0x49405e={};_0x49405e[_0x58e938(_0x1c2f50._0x3a8883,_0x1c2f50._0x8b4792)]=_0x3e2aea,_0x49405e['cartesian']=_0x51b4e4,this['fire'](EventType['editMovePoint'],_0x49405e);};(this['_graphic']['options']['hasEditContextMenu']??!![])&&(this[_0x5d0493(_0x55c576._0x52891c,-_0x55c576._0x46a27d)]['_draw_tooltip']+=_0x5d0493(0xd2f,0xda9)+this[_0x5d0493(_0x55c576._0x22cf85,0x1af3)][_0x5d0493(_0x55c576._0x480493,_0x55c576._0x22514d)]('_更多功能请右击'),this['_last_contextmenuConfig']=this[_0x4bc67e(0x1d,-_0x55c576._0x15f7f0)]['_contextmenuConfig'],this[_0x5d0493(0xf7,-_0x55c576._0x5330c4)]['bindContextMenu'](this['getDraggerContextMenu'](this['_graphic'])));this['fire'](EventType[_0x5d0493(0x133b,0xd7d)]);function _0x4bc67e(_0x2a5ca7,_0x4e98a3){return _0x306755(_0x4e98a3,_0x2a5ca7- -0x5ca);}return this;}['disable'](){const _0x5f3667={_0x1009eb:0xcd7,_0x68a484:0x1391,_0x4c8cac:0x571,_0x94d475:0x603,_0x2d810a:0x1299,_0x3e50cf:0x13b1,_0x31f15e:0x1cdc,_0x511b21:0x9ef,_0x22e2a2:0xaaf,_0x252dba:0xedb,_0x40a79c:0xdb1,_0x3134b3:0xea,_0x11f339:0x220};if(!this[_0x53e531(_0x5f3667._0x1009eb,_0x5f3667._0x68a484)])return this;this['_enabled']=![];function _0x53e531(_0x4140f6,_0x1d0275){return _0x306755(_0x1d0275,_0x4140f6- -0x76);}this['stopMoveMatrix'](),delete this[_0x53e531(_0x5f3667._0x4c8cac,_0x5f3667._0x94d475)][_0x312031(0x4ec,-0x3a)],delete this['_graphic']['_draw_tooltip'],this['_graphic']['unbindContextMenu']();this[_0x53e531(0xf0e,_0x5f3667._0x2d810a)]&&(this['_graphic']['_contextmenuConfig']=this['_last_contextmenuConfig'],delete this[_0x312031(0xb73,0xf3d)]);this['container'][_0x312031(0xf9c,_0x5f3667._0x3e50cf)]('mousemove',this['_onMouseMove']),this['container'][_0x53e531(0x1337,_0x5f3667._0x31f15e)]('mouseout',this[_0x53e531(0xd5b,_0x5f3667._0x511b21)]),this[_0x53e531(0xf85,_0x5f3667._0x22e2a2)]['removeEventListener'](_0x312031(0xd97,_0x5f3667._0x252dba),this[_0x53e531(_0x5f3667._0x40a79c,0x6a8)]),this['unbindEvent'](),removeClass(this['container'],this['_graphic']['style']['editClassName']||_0x53e531(0xa90,_0x5f3667._0x3134b3)),this[_0x312031(0x478,_0x5f3667._0x11f339)](EventType['editStop']);function _0x312031(_0x38a19d,_0x42d688){return _0x2b6441(_0x42d688,_0x38a19d-0x190);}return this;}['unbindEvent'](){const _0x391372={_0x19cf93:0xbd2,_0x4eeb74:0x106e,_0x1b357f:0x12a1};this['_mouseMoveHandle']&&document[_0x369635(_0x391372._0x19cf93,_0x391372._0x4eeb74)]('mousemove',this['_mouseMoveHandle'],![]);this[_0x2b1120(0x188b,0x12a1)]&&document['removeEventListener']('mouseup',this[_0x2b1120(0xb0e,_0x391372._0x1b357f)],![]);function _0x2b1120(_0x2178c0,_0x4bd053){return _0x2b6441(_0x2178c0,_0x4bd053-0x2d6);}function _0x369635(_0x1f82e0,_0x346c92){return _0x306755(_0x1f82e0,_0x346c92- -0x33f);}this['_map']['_setEditCursor'](![]);}['_onMouseMove'](_0x24f211){const _0x10eda8={_0x57a26d:0x6,_0x33def6:0x125f};function _0x1fde05(_0x2cbb48,_0x1619ca){return _0x2b6441(_0x2cbb48,_0x1619ca-0x305);}function _0x388ee5(_0x1e7f33,_0x375f4f){return _0x2b6441(_0x375f4f,_0x1e7f33-0x1b2);}if(this['_graphic']['_draw_tooltip']){const _0x5f4544=this['_graphic']['_getWindowPosition'](_0x24f211);this['_map']['openSmallTooltip'](_0x5f4544,this[_0x1fde05(_0x10eda8._0x57a26d,0x34b)][_0x388ee5(_0x10eda8._0x33def6,0x14df)]);}}['_onMouseOut'](_0x14125d){const _0x124982={_0x3ffbba:0x1675,_0x525cb5:0x624},_0x311ffc={_0x4d2516:0x5ec};function _0x4154c9(_0x568f8f,_0x31e64b){return _0x306755(_0x31e64b,_0x568f8f- -_0x311ffc._0x4d2516);}function _0xe74b2b(_0x51ac5e,_0x5510d9){return _0x306755(_0x5510d9,_0x51ac5e- -0x154);}this[_0xe74b2b(_0x124982._0x3ffbba,0xe80)][_0xe74b2b(0xe2b,_0x124982._0x525cb5)]();}[_0x306755(0x81f,0xe27)](_0x4347a3){const _0x1cc559={_0x260210:0x72,_0x33778b:0x1a85,_0x2f2140:0x1908,_0x391405:0xbcc,_0x411ea8:0xb38};if(!this['_enabled']||_0x4347a3[_0x46ff86(0x1abe,0x13c3)]!==0x1||this['_matrixMove'])return;_0x4347a3['preventDefault'](),this['_map'][_0x25b98f(-0x292,0x5ae)](!![]);const _0x20c3b2={};_0x20c3b2['mouseEvent']=_0x4347a3;function _0x46ff86(_0x53b25e,_0x54924b){return _0x2b6441(_0x53b25e,_0x54924b-0x152);}this[_0x25b98f(_0x1cc559._0x260210,0x96b)](EventType['editMouseDown'],_0x20c3b2),this['unbindEvent']();function _0x25b98f(_0x345794,_0x32887c){return _0x2b6441(_0x345794,_0x32887c-0x683);}!this['_mouseMoveHandle']&&(this[_0x25b98f(_0x1cc559._0x33778b,_0x1cc559._0x2f2140)]=_0x48134d=>{this['_onMarkerDrag'](_0x48134d);},this['_mouseUpHandle']=_0x1d1642=>{const _0x568734={_0x5f287f:0x11e};function _0x5d65af(_0x2a08fc,_0x4b290d){return _0x25b98f(_0x4b290d,_0x2a08fc- -_0x568734._0x5f287f);}this[_0x5d65af(0x64f,-0x26a)](_0x1d1642);}),document[_0x25b98f(0x1a3,_0x1cc559._0x391405)]('mousemove',this[_0x46ff86(_0x1cc559._0x411ea8,0x13d7)],![]),document['addEventListener']('mouseup',this['_mouseUpHandle'],![]);}['_onMarkerDrag'](_0xa46ad1){const _0x7e9506={_0x23ec05:0x4a6,_0x54cb67:0xb25,_0x7e0f97:0x331,_0x341519:0x1c1e,_0x1047fb:0x1513,_0x3db9d2:0x16b0,_0x3e7627:0xeb8,_0x5c098c:0x1545};if(!this[_0x5b3068(_0x7e9506._0x23ec05,_0x7e9506._0x54cb67)])return;_0xa46ad1['preventDefault']();const _0x17e083=this[_0x65e681(_0x7e9506._0x7e0f97,0xc04)][_0x65e681(0xe9a,0xdeb)](_0xa46ad1),_0x3bed9a=getCurrentMousePosition(this['_map']['scene'],_0x17e083);if(!_0x3bed9a)return;this['_graphic']['position']=_0x3bed9a,this[_0x65e681(0x1513,_0x7e9506._0x341519)]['openSmallTooltip'](_0x17e083,this[_0x65e681(_0x7e9506._0x1047fb,_0x7e9506._0x3db9d2)]['getLangText']('_释放后完成修改')),this['_graphic'][_0x65e681(0x1067,0x193b)](![]);function _0x5b3068(_0x26be0b,_0x165be3){return _0x306755(_0x26be0b,_0x165be3- -0x228);}const _0x3e8ddd={};_0x3e8ddd[_0x5b3068(0x4b1,0x971)]=_0xa46ad1,_0x3e8ddd[_0x65e681(_0x7e9506._0x3e7627,_0x7e9506._0x5c098c)]=_0x3bed9a;function _0x65e681(_0x46f1d6,_0x142ed7){return _0x306755(_0x142ed7,_0x46f1d6- -0x2b6);}_0x3e8ddd['windowPosition']=_0x17e083,this['fire'](EventType['editMouseMove'],_0x3e8ddd);}[_0x2b6441(0xa1a,0xea)](_0x17e421){const _0x1b013c={_0x15b915:0xa0c,_0x4400c5:0xbbd,_0x4d4407:0x548,_0x88b6fd:0xec8},_0x51bafa={_0x2ca30f:0x260};function _0x18ad49(_0x40b33e,_0x4bab46){return _0x2b6441(_0x40b33e,_0x4bab46-_0x51bafa._0x2ca30f);}if(!this[_0x18ad49(0x10e7,_0x1b013c._0x15b915)])return;_0x17e421[_0x18ad49(0x11d,_0x1b013c._0x4400c5)]();function _0x42e696(_0x495f02,_0x530612){return _0x306755(_0x530612,_0x495f02- -0x575);}this[_0x42e696(0x7d3,-0xf0)](),this['_map']['closeSmallTooltip'](),this[_0x18ad49(0x7a7,0x2a6)]['_updatePointerEvents'](this['_graphic']['hasBindEvent']());const _0x2e8bab=this['_graphic']['_getWindowPosition'](_0x17e421);this[_0x18ad49(0x56b,0x1037)](),this[_0x18ad49(0x368,_0x1b013c._0x4d4407)](EventType['editMovePoint'],{'mouseEvent':_0x17e421,'cartesian':this['_graphic'][_0x18ad49(_0x1b013c._0x88b6fd,0xeb6)],'windowPosition':_0x2e8bab});}[_0x306755(0x14e3,0x1a06)](){const _0x44b378={_0x33abd6:0x1b10};function _0xd4d0eb(_0x417fd6,_0xcae715){return _0x306755(_0x417fd6,_0xcae715-0x15e);}function _0x44eed(_0x36dafb,_0xd83ade){return _0x2b6441(_0x36dafb,_0xd83ade-0x2b);}super[_0xd4d0eb(_0x44b378._0x33abd6,0x1b64)](),this['_graphic']['_updatePointerEvents'](this[_0x44eed(0x390,0x71)][_0x44eed(0x8cb,0x238)]());}['startMoveMatrix'](_0x270822,_0x4063e8){const _0x9f4744={_0x39f1a0:0x6d4,_0xf4ea26:0xafd};super['startMoveMatrix'](_0x270822,_0x4063e8);function _0x3f57ee(_0x5c1fc0,_0x2ec77a){return _0x2b6441(_0x2ec77a,_0x5c1fc0-0x68e);}this[_0x3f57ee(_0x9f4744._0x39f1a0,_0x9f4744._0xf4ea26)]['_updatePointerEvents'](![]);}['_updateMatrixMovePosition'](_0x4cf906){const _0x239fb8={_0x4cc25d:0xcef,_0x331b4f:0x158f},_0x3d5070={_0x1aa591:0x99};function _0x3282a1(_0x21acec,_0x443696){return _0x2b6441(_0x21acec,_0x443696-_0x3d5070._0x1aa591);}function _0x501a42(_0x711ff4,_0x349394){return _0x306755(_0x711ff4,_0x349394- -0xfc);}if(!this['_matrixMove']||!_0x4cf906[_0x3282a1(0xe24,_0x239fb8._0x4cc25d)])return;this['_matrixMove'][_0x3282a1(_0x239fb8._0x331b4f,_0x239fb8._0x4cc25d)]=_0x4cf906[_0x501a42(0x1a58,0x10fb)];}}const isFirefox=window['navigator'][_0x306755(0xee9,0xd30)][_0x2b6441(-0xbb,-0xfa)]()[_0x2b6441(-0xa26,-0xc7)]('firefox')>=0x0;class DivGraphic extends BaseGraphic{constructor(_0xf6c7a2={}){const _0xd0c87b={_0x4f2d96:0x47,_0x2342d9:0x5ed,_0x28a370:0x1306,_0x1585df:0xd77,_0x21c36c:0x12d3,_0x44bfe2:0x144b,_0x432594:0x50a,_0x25eddd:0xd47,_0x21f618:0xed8},_0x1c866c={_0x5023ec:0x326};super(_0xf6c7a2),this['_hasEdit']=this['options'][_0x4ac958(0x562,0xeae)]??this[_0x368e7b(_0xd0c87b._0x4f2d96,0x530)]['hasEdit']??!![],this[_0x368e7b(0x923,_0xd0c87b._0x2342d9)]=this['options'][_0x368e7b(_0xd0c87b._0x28a370,_0xd0c87b._0x1585df)]??this['style']['depthTest']??!![];function _0x4ac958(_0x4e28d2,_0x4b852e){return _0x2b6441(_0x4b852e,_0x4e28d2-0x282);}this[_0x368e7b(0x84a,_0xd0c87b._0x21c36c)]=this['options']['hasCache']??this['style'][_0x368e7b(_0xd0c87b._0x44bfe2,0x10ad)]??!![],this['_hasZIndex']=this['options']['hasZIndex']??this['style'][_0x4ac958(_0xd0c87b._0x432594,_0xd0c87b._0x25eddd)]??![],this['options']['frameRate']=this['options']['frameRate']??0x1;function _0x368e7b(_0x125914,_0x21374f){return _0x306755(_0x125914,_0x21374f- -_0x1c866c._0x5023ec);}_0xf6c7a2['position']&&(this[_0x4ac958(_0xd0c87b._0x21f618,0x1433)]=_0xf6c7a2['position']);}get[_0x306755(0x1153,0x11f7)](){return this['_position'];}set['position'](_0x58fb20){const _0x2321f8={_0x39c877:0x1915,_0x51485c:0x27e,_0x48c659:0x7a7,_0x18deda:0x119a,_0x37a451:0x133c,_0x350fd2:0x1029,_0x307ca0:0x96d};var _0x4ac866;if(this['isDestroy'])return;if(this['setAjaxPostion'](_0x58fb20))return;function _0x3b2a59(_0x487dbe,_0x598daa){return _0x2b6441(_0x598daa,_0x487dbe-0x6e6);}this['_point']=LngLatPoint[_0x3b2a59(_0x2321f8._0x39c877,0x2138)](_0x58fb20);function _0x44852f(_0x2f356c,_0xfb44bf){return _0x306755(_0x2f356c,_0xfb44bf- -0x2f6);}if(this['_point']){const _0x41fca7=this['getSetHeight']();Cesium__namespace['defined'](_0x41fca7)&&(this[_0x3b2a59(0xbe2,0x15d5)]['alt']=_0x41fca7);const _0x1f8ef6=this['getAddHeight']();Cesium__namespace[_0x44852f(0xd01,0x14bc)](_0x1f8ef6)&&(this['_point']['alt']+=_0x1f8ef6);}this['_position']=(_0x4ac866=this[_0x44852f(-_0x2321f8._0x51485c,_0x2321f8._0x48c659)])===null||_0x4ac866===void 0x0?void 0x0:_0x4ac866['toCartesian'](),this['_testPointEntity']&&(this[_0x44852f(0x1507,_0x2321f8._0x18deda)][_0x3b2a59(_0x2321f8._0x37a451,0xed9)]=this['_position']),this[_0x3b2a59(0x158a,_0x2321f8._0x350fd2)](),this[_0x3b2a59(0x883,_0x2321f8._0x307ca0)]&&delete this['_getRectangle_cache'],this['fire'](EventType['updatePosition'],{'position':this[_0x3b2a59(0x1008,0x106e)]});}get[_0x306755(0x1358,0x1869)](){return this['_point'];}get['coordinate'](){return this['getCoordinate']();}get['center'](){return this['_position'];}get[_0x306755(0x52b,0x80a)](){return this['_position_show'];}get[_0x306755(0x1272,0x1999)](){const _0x4162fd=this['positionShow'];return _0x4162fd?[_0x4162fd]:null;}set['positions'](_0x3435f7){function _0x5a061c(_0xf727e9,_0x22d35b){return _0x306755(_0x22d35b,_0xf727e9- -0x2ce);}_0x3435f7&&_0x3435f7['length']>0x0&&(this[_0x5a061c(0xf29,0x9df)]=_0x3435f7[0x0]);}get['points'](){const _0x114738=this['point'];return _0x114738?[_0x114738]:null;}get[_0x2b6441(-0x35,0x670)](){const _0x4bb3c5=this['coordinate'];return _0x4bb3c5?[_0x4bb3c5]:null;}get[_0x306755(0x68d,0xd1a)](){return this['_testPointEntity']!=null;}set[_0x306755(0x13d7,0xd1a)](_0x31c5fb){const _0xf2821b={_0x21068a:0x141a,_0x41cc37:0x243,_0xb3ed5a:0xfb8,_0x374099:0x7d6,_0x9c0b0b:0x13,_0x2dd457:0x137,_0x286d07:0x5f1,_0x5d02ba:0x37e,_0x55130b:0xbf,_0x18086b:0x482,_0x4a4613:0xa6d};this[_0x556921(0xfb8,_0xf2821b._0x21068a)]&&(this['_layer'][_0x1b920b(0x482,-_0xf2821b._0x41cc37)]['entities']['remove'](this[_0x556921(_0xf2821b._0xb3ed5a,0x1906)]),delete this['_testPointEntity']);function _0x556921(_0x993447,_0x31580b){return _0x2b6441(_0x31580b,_0x993447-0xc9);}function _0x1b920b(_0x273931,_0x405b4e){return _0x306755(_0x405b4e,_0x273931- -0x5df);}if(_0x31c5fb){var _0x3ad614;this['options'][_0x1b920b(0x73b,_0xf2821b._0x374099)]={'name':_0x1b920b(-_0xf2821b._0x9c0b0b,0x218),'color':_0x1b920b(_0xf2821b._0x2dd457,0x8eb),'pixelSize':0xa,'outlineColor':_0x1b920b(_0xf2821b._0x286d07,0x1d3),'outlineWidth':0x2,'distanceDisplayCondition':this['style']['distanceDisplayCondition'],'scaleByDistance':this['style'][_0x1b920b(0x64f,0x51a)],'clampToGround':this[_0x556921(_0xf2821b._0x5d02ba,0x779)][_0x1b920b(-0x123,-_0xf2821b._0x55130b)],'heightReference':this[_0x556921(_0xf2821b._0x5d02ba,-0x1f)]['heightReference'],...this['options']['testPoint']},this['_testPointEntity']=this['_layer'][_0x1b920b(_0xf2821b._0x18086b,-0x4af)][_0x1b920b(0x689,0x63a)]['add']({'name':(_0x3ad614=this['options']['testPoint'])===null||_0x3ad614===void 0x0?void 0x0:_0x3ad614['name'],'position':this['position'],'point':PointStyleConver[_0x1b920b(_0xf2821b._0x4a4613,0x102e)](this['options']['testPoint'])});}}get['pointerEvents'](){function _0x39fa87(_0x869f6e,_0x7e0bfb){return _0x306755(_0x869f6e,_0x7e0bfb- -0xe);}return this['options'][_0x39fa87(0x45e,0xe55)];}set['pointerEvents'](_0x6c29c9){const _0x44c7d5={_0x2218fb:0x44d,_0x253173:0x12ff,_0x360536:0xe5b};function _0x53c94f(_0x4105c0,_0x23537e){return _0x306755(_0x23537e,_0x4105c0- -0x1e);}function _0x107938(_0x27712c,_0x1d36f8){return _0x2b6441(_0x27712c,_0x1d36f8-0x6cc);}this['options'][_0x53c94f(0xe45,_0x44c7d5._0x2218fb)]=_0x6c29c9,this[_0x53c94f(_0x44c7d5._0x253173,_0x44c7d5._0x360536)](_0x6c29c9);}get['isEditing'](){const _0x419c4e={_0x47ffb5:0x7f};function _0x35c162(_0x29dc5e,_0xbc3292){return _0x2b6441(_0x29dc5e,_0xbc3292-_0x419c4e._0x47ffb5);}return this[_0x35c162(0xcc9,0x949)];}get['EditClass'](){return EditDivGraphic;}get[_0x306755(0xd54,0x109d)](){const _0x591296={_0x20db4b:0x5b9};function _0x555b58(_0xb1e222,_0x2715b0){return _0x306755(_0x2715b0,_0xb1e222- -0x35a);}return this[_0x555b58(_0x591296._0x20db4b,0x325)];}set['depthTest'](_0x1d8002){const _0x3eda1f={_0x597036:0xd10,_0x574752:0x830};this['_depthTest']=_0x1d8002;function _0x1c9657(_0x52057e,_0x46d676){return _0x306755(_0x52057e,_0x46d676- -0x294);}delete this[_0x1c9657(_0x3eda1f._0x597036,_0x3eda1f._0x574752)];}get['clampToGround'](){return this['style']['clampToGround'];}set[_0x306755(0xc7f,0x4bc)](_0x4dd69b){this['style']['clampToGround']=_0x4dd69b,this['_calculateAsynSurfacePosition']();}get[_0x306755(0x1e7,0xa8a)](){const _0x16c3c6={_0x532c76:0xd1e,_0x23235c:0x1324},_0x2622d7={_0x4033cb:0x5ce};function _0x43799d(_0x2b79ac,_0x58e7f8){return _0x2b6441(_0x58e7f8,_0x2b79ac-_0x2622d7._0x4033cb);}function _0x3633d1(_0x20b6b0,_0x141149){return _0x2b6441(_0x141149,_0x20b6b0-0x574);}if(this['options']['parentContainer'])return this['options']['parentContainer'];return this[_0x43799d(0x13f1,_0x16c3c6._0x532c76)][_0x43799d(0x1028,_0x16c3c6._0x23235c)];}get['parentContainerId'](){var _0x4345eb;return(_0x4345eb=this['parentContainer'])===null||_0x4345eb===void 0x0?void 0x0:_0x4345eb['id'];}get['container'](){return this['_container'];}get['containerId'](){const _0x5e2df8={_0x4cc282:0x10bc};function _0x39d3e3(_0x17f41a,_0x197893){return _0x2b6441(_0x17f41a,_0x197893-0x651);}return this[_0x39d3e3(_0x5e2df8._0x4cc282,0x7f3)]['id'];}get[_0x2b6441(0x16b,0x9f6)](){const _0x57d83e={_0x176fac:0xae4,_0x5a81f8:0x779};function _0x20fb03(_0x266a09,_0x48eeb4){return _0x2b6441(_0x266a09,_0x48eeb4-0x81);}if(Cesium__namespace['defined'](this[_0xa37d0b(_0x57d83e._0x176fac,_0x57d83e._0x5a81f8)]['template']))return this['style'][_0xa37d0b(0xb7b,0xeba)];if(this[_0x20fb03(0xbc7,0x10da)])return this['_getDefaultTemplate']();function _0xa37d0b(_0x59c7cb,_0x4ab9b8){return _0x306755(_0x59c7cb,_0x4ab9b8- -0xdd);}return![];}set[_0x306755(0x8d5,0xf97)](_0x34dd62){this['style']['template']=_0x34dd62;}get['html'](){const _0x242e60={_0x2bd1f7:0x10a4,_0x349a41:0x16d5};function _0x2cfc8c(_0x401e3a,_0x3c8703){return _0x306755(_0x401e3a,_0x3c8703- -0x1bd);}return this['_container'][_0x2cfc8c(_0x242e60._0x2bd1f7,_0x242e60._0x349a41)];}set['html'](_0x12f9f2){const _0x1d4f5b={_0x68f7db:0x543},_0x2ae0e0={_0xd2c612:0x548,_0x1839bc:0x1b8a,_0x355835:0x8fa,_0x255cde:0x39a,_0x1be640:0xcea};function _0x4935d4(_0x52c284,_0x770f6c){return _0x2b6441(_0x52c284,_0x770f6c- -0x6c);}this['style']['html']=_0x12f9f2,this['_container']&&_0x12f9f2&&this['_setHtml'](_0x12f9f2)[_0x4935d4(_0x1d4f5b._0x68f7db,0xcf6)](_0x597b88=>{function _0x5b256f(_0x1e6e65,_0x55ddc2){return _0x4935d4(_0x55ddc2,_0x1e6e65-0x11e);}if(!_0x597b88)return;function _0x436600(_0x239361,_0x149892){return _0x4935d4(_0x239361,_0x149892-0x1fb);}this[_0x436600(_0x2ae0e0._0xd2c612,0x444)][_0x5b256f(0x10fa,0xdde)]&&this['addClass'](this['style'][_0x5b256f(0x10fa,_0x2ae0e0._0x1839bc)]),this[_0x436600(_0x2ae0e0._0x355835,0x8b0)]&&this['_appendHtmlHook'](),delete this['_camera_cache'],this[_0x5b256f(_0x2ae0e0._0x255cde,_0x2ae0e0._0x1be640)](EventType[_0x436600(0x1959,0x1478)]);});}async['_setHtml'](_0x187f28){const _0x1612c4={_0x3a0e0d:0xd35,_0x1d684b:0x901,_0xc8e76b:0x562,_0x3e69c9:0xa52,_0x44c2a9:0x104c,_0x1b2e72:0xfa0,_0x3e232c:0x7c5,_0x237904:0x4de,_0x502442:0x631,_0x5e33d6:0xd7f,_0x43da05:0xc6c,_0x177ac2:0x96b,_0x189f0c:0x1510,_0x140416:0x6b2,_0x342876:0x1035},_0x5a3826={_0x581ccf:0x8b};typeof _0x187f28===_0x19e7d5(0x5d9,0x8af)&&(_0x187f28=_0x187f28(this['eventTarget']));_0x187f28 instanceof Promise&&(_0x187f28=await _0x187f28,delete this['_camera_cache']);let _0x57c984=await this['getAjaxAttr']();_0x57c984 instanceof Promise&&(_0x57c984=await _0x57c984,delete this[_0xdfb352(0xa33,_0x1612c4._0x3a0e0d)]);if(!this[_0x19e7d5(0x535,0xa75)])return![];if(_0x187f28 instanceof Element||_0x187f28 instanceof HTMLDivElement)return empty(this[_0xdfb352(0x6b2,_0x1612c4._0x1d684b)]),_0x187f28['style'][_0xdfb352(_0x1612c4._0xc8e76b,_0x1612c4._0x3e69c9)]!==_0xdfb352(0x15b6,_0x1612c4._0x44c2a9)&&(_0x187f28['style'][_0xdfb352(0x562,0x3b)]='block'),this['_container'][_0xdfb352(_0x1612c4._0x1b2e72,0x1152)](_0x187f28),!![];function _0x19e7d5(_0x1b414a,_0x3df7a5){return _0x2b6441(_0x3df7a5,_0x1b414a- -_0x5a3826._0x581ccf);}const _0x19d2fd=this[_0xdfb352(_0x1612c4._0x3e232c,0xf40)]['templateEmptyStr']??!![];(_0x187f28==='all'||Array[_0x19e7d5(0x208,_0x1612c4._0x237904)](_0x187f28))&&(_0x187f28=getTemplateHtml({'template':_0x187f28,'attr':_0x57c984,'title':this[_0x19e7d5(_0x1612c4._0x502442,0x75b)][_0xdfb352(_0x1612c4._0x5e33d6,0x1779)],'showNull':this[_0x19e7d5(0x631,_0x1612c4._0x43da05)]['showNull'],'templateEmptyStr':_0x19d2fd}));function _0xdfb352(_0x5c59e4,_0x458e8d){return _0x306755(_0x458e8d,_0x5c59e4- -0x91);}if(isString(_0x187f28)){const _0x4b7d4e=this[_0x19e7d5(_0x1612c4._0x177ac2,0x140)];if(_0x4b7d4e){if(this['_updateTemplateContentHtml']&&this['_updateTemplateContentHtml'](template(_0x187f28,_0x57c984,_0x19d2fd)))return!![];_0x187f28=_0x4b7d4e['replace'](_0xdfb352(_0x1612c4._0x189f0c,0x1885),_0x187f28);}return this[_0xdfb352(_0x1612c4._0x140416,_0x1612c4._0x342876)][_0xdfb352(0x1801,0x12a6)]=template(_0x187f28,_0x57c984,_0x19d2fd),!![];}return![];}get[_0x306755(0xedc,0xd9a)](){var _0x52a54c;return(_0x52a54c=this['_container'])===null||_0x52a54c===void 0x0?void 0x0:_0x52a54c['offsetWidth'];}get['divHeight'](){var _0x43a80f;function _0x47e9d0(_0x1a687d,_0x27b96e){return _0x306755(_0x27b96e,_0x1a687d- -0x4ad);}return(_0x43a80f=this[_0x47e9d0(0x296,0x40)])===null||_0x43a80f===void 0x0?void 0x0:_0x43a80f['offsetHeight'];}get['eventTarget'](){return this;}[_0x306755(0x8c8,0x643)](_0x3777d5){const _0x3b6ba9={_0x3bdab7:0x1101,_0x3e1314:0xf63},_0x36a0ad={_0x1a4ca6:0xbd};if(!this['_container'])return;function _0x132bff(_0x4c2a00,_0x131c08){return _0x306755(_0x4c2a00,_0x131c08- -0x38f);}function _0x13e7f2(_0xf6506f,_0x17f356){return _0x306755(_0x17f356,_0xf6506f- -_0x36a0ad._0x1a4ca6);}_0x3777d5?(delete this['_camera_cache'],this['_container'][_0x13e7f2(0x799,0x860)]['display']='block'):this['hide'](),this[_0x132bff(0xbfa,_0x3b6ba9._0x3bdab7)]&&(this[_0x13e7f2(0x13d3,_0x3b6ba9._0x3e1314)][_0x13e7f2(0x14d6,0xd12)]=_0x3777d5);}['_updatePointerEvents'](_0x548fa6){const _0x2f9d37={_0x842784:0x8d3,_0xd43563:0x768,_0x8c21d7:0x3d8},_0x1e4c5e={_0x55332b:0x9e};function _0x241e45(_0x39743f,_0x5243b5){return _0x306755(_0x5243b5,_0x39743f-0x31);}function _0x31a4c0(_0x413a39,_0x1aa0ed){return _0x2b6441(_0x413a39,_0x1aa0ed- -_0x1e4c5e._0x55332b);}this['_container']&&(_0x548fa6?this[_0x31a4c0(0x75b,0x104)]['style'][_0x31a4c0(_0x2f9d37._0x842784,_0x2f9d37._0xd43563)]=_0x31a4c0(-0x14,_0x2f9d37._0x8c21d7):this['_container']['style']['pointer-events']='none');}[_0x306755(0x21aa,0x18ee)](_0x4010e5){const _0x2e8693={_0x142c89:0x17ff,_0x3a55bc:0x20d0,_0x2649c7:0xb8a,_0x5fa21e:0x233,_0x74a1bc:0xaa3,_0x18f68a:0x100b,_0xd36da3:0x108d};this['style'][_0x47c8dc(_0x2e8693._0x142c89,_0x2e8693._0x3a55bc)]=_0x4010e5;this['_container']&&(this['_container']['style'][_0x47c8dc(_0x2e8693._0x2649c7,_0x2e8693._0x5fa21e)]=_0x4010e5);function _0x47c8dc(_0x543539,_0x406806){return _0x306755(_0x406806,_0x543539-0x41);}function _0x28e2ed(_0x518457,_0x2550a8){return _0x2b6441(_0x518457,_0x2550a8-0xd2);}if(this[_0x28e2ed(_0x2e8693._0x74a1bc,0xfc1)]){const _0x2f2141={...this['options']['testPoint']};_0x2f2141[_0x28e2ed(_0x2e8693._0x18f68a,0x12ef)]=_0x4010e5,PointStyleConver[_0x47c8dc(_0x2e8693._0xd36da3,0xf1b)](_0x2f2141,this['_testPointEntity']['point'],!![]);}}['hasBindEvent'](){const _0x1a4adb={_0x52f24d:0x1449,_0x40ddfd:0xdd8,_0x2f1429:0xc17,_0x105ec7:0x1173,_0x3463e4:0xc91,_0xe2d259:0x19e0,_0x58f16e:0x7aa,_0x5de0dd:0x5ec,_0xd0206d:0x9cf},_0x40661f={_0x25360b:0x238};if(Cesium__namespace[_0x1ffcc4(0x1947,_0x1a4adb._0x52f24d)](this['options']['pointerEvents']))return this['options']['pointerEvents'];if(this['listens'](EventType[_0x27174a(_0x1a4adb._0x40ddfd,_0x1a4adb._0x2f1429)]))return!![];function _0x1ffcc4(_0x2c88b5,_0x250214){return _0x2b6441(_0x2c88b5,_0x250214-_0x40661f._0x25360b);}function _0x27174a(_0x1e2894,_0x22e378){return _0x2b6441(_0x22e378,_0x1e2894-0x311);}if(this['listens'](EventType['mouseOver']))return!![];if(this['listens'](EventType['mouseOut']))return!![];if(this[_0x1ffcc4(_0x1a4adb._0x105ec7,0x1111)](![]))return!![];if(this[_0x27174a(0x1224,_0x1a4adb._0x3463e4)](![]))return!![];if(this['_layer']){if(this[_0x27174a(0x1134,_0x1a4adb._0xe2d259)]['hasEdit']&&this['hasEdit'])return!![];if(this['_layer'][_0x1ffcc4(0x52f,_0x1a4adb._0x58f16e)](EventType[_0x27174a(_0x1a4adb._0x40ddfd,_0x1a4adb._0x5de0dd)]))return!![];if(this['_layer']['listens'](EventType['mouseOver']))return!![];if(this['_layer']['listens'](EventType['mouseOut']))return!![];}if(this[_0x27174a(0x11ea,_0x1a4adb._0xd0206d)](!![]))return!![];if(this['hasTooltip'](!![]))return!![];return![];}['_onEventHook'](){const _0x5dcb90={_0x83cc5b:0x8ce};function _0x333131(_0x5049e9,_0x508b53){return _0x306755(_0x5049e9,_0x508b53- -0x379);}this[_0x333131(_0x5dcb90._0x83cc5b,0xfa4)](this['hasBindEvent']());}['_mountedHook'](){const _0x43c666={_0x5d6578:0x1356,_0x5cea7e:0xc05,_0x413515:0x5ef,_0x161da5:0x75f,_0x2b3df3:0x41a,_0x4f90a6:0x643,_0x54ff1e:0x4dc,_0x47ab60:0x5ef,_0x1eeca3:0x19a,_0x38f3f8:0x8d3,_0x16c912:0x547},_0x20cfea={_0x24613b:0x267};DivGraphicStyleConver[_0x44f703(_0x43c666._0x5d6578,_0x43c666._0x5cea7e)](this[_0xe73226(_0x43c666._0x413515,_0x43c666._0x161da5)],this),this[_0xe73226(0x4dc,-0x5d)]=create$4(_0xe73226(0x61d,0xe1b),'mars3d-divGraphic\x20',this[_0x44f703(-_0x43c666._0x2b3df3,_0x43c666._0x4f90a6)]),this[_0xe73226(_0x43c666._0x54ff1e,-0x417)]['id']=this['id'],this['_container'][_0xe73226(_0x43c666._0x47ab60,_0x43c666._0x1eeca3)]['opacity']=this[_0x44f703(0x50,0x40f)]['globalAlpha'];this['style']['html']&&(this[_0x44f703(0x1013,0xbb3)]=this['style']['html']);function _0xe73226(_0x3fff09,_0x50ddf3){return _0x306755(_0x50ddf3,_0x3fff09- -_0x20cfea._0x24613b);}function _0x44f703(_0x51c04e,_0x5d457c){return _0x2b6441(_0x51c04e,_0x5d457c-0x15a);}this[_0x44f703(0xd6,0x816)][_0x44f703(0xe98,_0x43c666._0x38f3f8)]&&(this['testPoint']=this['options']['testPoint']),this['_updatePointerEvents'](this[_0xe73226(_0x43c666._0x16c912,0x740)]());}[_0x2b6441(0x588,0x3fd)](_0x2ca5b1){const _0x3c8030={_0x41f96f:0xaf8,_0x57acd0:0x1add,_0x548978:0xfe7,_0x2ab650:0xe33,_0x4860eb:0x11f5,_0x14df3f:0x18ca,_0xfade0c:0x1277,_0x52ec86:0xc66,_0x144ab3:0x14c3,_0x15597f:0x42d,_0x508037:0x6be,_0x1c1722:0x1ce2,_0x31fa8a:0x183d,_0x52fa23:0x1141,_0x163bcb:0x11c3},_0x4af6a2={_0x1714dd:0x13},_0x445969={_0x57104e:0x615};function _0x41e72f(_0xd59654,_0x188c49){return _0x2b6441(_0xd59654,_0x188c49-_0x445969._0x57104e);}this['hide'](),this[_0x54cc0d(0x7f0,0x2db)][_0x54cc0d(0xf0,0x682)](_0x41e72f(_0x3c8030._0x41f96f,0x10dc),this['_container_onClickHandler'][_0x41e72f(0x1e77,0x14c3)](this));function _0x54cc0d(_0x484154,_0x2488f5){return _0x306755(_0x484154,_0x2488f5- -0x468);}this['_container']['addEventListener']('mousedown',this[_0x54cc0d(_0x3c8030._0x57acd0,0x144e)][_0x54cc0d(0x17fe,_0x3c8030._0x548978)](this)),this[_0x41e72f(_0x3c8030._0x2ab650,0x7b7)]['addEventListener']('mousemove',this[_0x41e72f(_0x3c8030._0x4860eb,0xdfe)][_0x54cc0d(_0x3c8030._0x14df3f,0xfe7)](this)),this[_0x41e72f(_0x3c8030._0xfade0c,0x7b7)][_0x54cc0d(_0x3c8030._0x52ec86,0x682)](_0x41e72f(0xc16,0xa43),this['_container_onMouseoutHandler'][_0x41e72f(0x1ed6,_0x3c8030._0x144ab3)](this)),this['_calculateAsynSurfacePosition'](),this[_0x54cc0d(-_0x3c8030._0x15597f,0x1d5)](),this[_0x54cc0d(_0x3c8030._0x508037,0x1191)]&&setTimeout(()=>{function _0x53de23(_0x1c9272,_0x5223b1){return _0x41e72f(_0x1c9272,_0x5223b1- -_0x4af6a2._0x1714dd);}delete this[_0x53de23(0xe7c,0xb25)];},0xa),this[_0x41e72f(_0x3c8030._0x1c1722,_0x3c8030._0x31fa8a)]['on'](EventType[_0x54cc0d(0xebd,_0x3c8030._0x52fa23)],this[_0x54cc0d(_0x3c8030._0x163bcb,0x14cc)],this);}[_0x2b6441(0xc28,0x88a)](){const _0x4a5f23={_0x2a9f2d:0xed2,_0x24e3f5:0x120d,_0x1612ec:0x1355,_0x564353:0x466,_0x2ac05c:0x96f,_0x588faf:0xaad,_0x778dba:0x1348,_0xd86ae3:0x398,_0x10a5aa:0x2e2,_0x7e6f80:0x2cf};this[_0x5a73d4(0xfa5,0x177b)]();function _0x5cfa3a(_0x12bb3c,_0x4126de){return _0x306755(_0x12bb3c,_0x4126de- -0x474);}function _0x5a73d4(_0x2cf2f5,_0x1fd3fe){return _0x306755(_0x1fd3fe,_0x2cf2f5- -0x3ab);}this[_0x5a73d4(0xb74,_0x4a5f23._0x2a9f2d)](),this['_map']&&(this['_map']['off'](EventType[_0x5cfa3a(_0x4a5f23._0x24e3f5,0x1135)],this['_morphCompleteHandler'],this),this[_0x5cfa3a(0x958,_0x4a5f23._0x1612ec)][_0x5cfa3a(_0x4a5f23._0x564353,0x4f8)](EventType['terrainChange'],this['_onTerrainChangeHandler'],this)),this[_0x5a73d4(_0x4a5f23._0x2ac05c,_0x4a5f23._0x588faf)]=![],this['_container']&&(this[_0x5a73d4(0x398,0xaf0)]['removeEventListener'](_0x5a73d4(0xcbd,_0x4a5f23._0x778dba),this['_container_onClickHandler']),this[_0x5a73d4(_0x4a5f23._0xd86ae3,0xde5)][_0x5a73d4(0x1002,0x19e6)]('mousedown',this['_container_onMousedownHandler']),this[_0x5a73d4(0x398,_0x4a5f23._0x10a5aa)]['removeEventListener']('mousemove',this['_container_onMouseMoveHandler']),this[_0x5cfa3a(0x9e1,_0x4a5f23._0x7e6f80)][_0x5cfa3a(0x662,0xf39)]('mouseout',this['_container_onMouseoutHandler']),remove(this['_container']));}['redraw'](){this['enabledEvent']=![];function _0x5977f4(_0x34ebf1,_0x585dbe){return _0x2b6441(_0x585dbe,_0x34ebf1-0x464);}const _0x18b8f1=this['_layer'];this[_0x5977f4(0x7eb,0xd89)](),this['_onAdd'](_0x18b8f1),this['enabledEvent']=!![];}[_0x306755(0x1a62,0x1934)](_0x4ed831){setTimeout(()=>{this['isAdded']&&this['updateDivPosition']();},0x1e);}['_calculateAsynSurfacePosition'](){const _0x4f2ca3={_0x167cca:0xa83,_0x3f6873:0x8ce,_0x3acc8f:0xb5d,_0x78f0f:0x162d},_0x2c1617={_0x8c737:0x17cb,_0x49493d:0xcd1,_0x4f36d8:0x81f},_0x1fa060={_0x824b4b:0x40a};delete this['_camera_cache'],this['_hasAsynSurfacePosition']=![];function _0x1bf84a(_0x46d4a6,_0x261b64){return _0x306755(_0x46d4a6,_0x261b64- -0x15);}function _0x51c993(_0x21706e,_0x3c2478){return _0x2b6441(_0x3c2478,_0x21706e-_0x1fa060._0x824b4b);}const _0x528b7c=this[_0x51c993(0x1060,0x1174)];_0x528b7c instanceof Cesium__namespace['Cartesian3']&&(this['style']['clampToGround']||Cesium__namespace['defined'](this[_0x51c993(0x6bf,0xd45)][_0x51c993(_0x4f2ca3._0x167cca,0xe5f)])&&this['style']['heightReference']!==Cesium__namespace['HeightReference']['NONE'])&&(getSurfaceHeight(this['_map'][_0x51c993(_0x4f2ca3._0x3f6873,0xe08)],_0x528b7c,this['options'])['then'](_0x317601=>{function _0x21140d(_0x5e3854,_0x102a22){return _0x1bf84a(_0x102a22,_0x5e3854-0x2c);}if(this[_0x21140d(0x9f0,0x25f)])return;(this['style']['heightReference']===Cesium__namespace[_0x21140d(0x1692,_0x2c1617._0x8c737)]['RELATIVE_TO_GROUND']||this['style'][_0xf4a561(0x2fd,_0x2c1617._0x49493d)]===Cesium__namespace['HeightReference']['RELATIVE_TO_TERRAIN']||this['style'][_0x21140d(0xc31,_0x2c1617._0x4f36d8)]===Cesium__namespace[_0xf4a561(0x17e8,0x1732)]['RELATIVE_TO_3D_TILE'])&&(_0x317601['point']['alt']+=_0x317601[_0xf4a561(0x197c,0x10f9)]);this[_0x21140d(0x120e,0x1cc2)]=_0x317601['point'];function _0xf4a561(_0x3dc527,_0x3f7b00){return _0x1bf84a(_0x3dc527,_0x3f7b00-0xcc);}this[_0x21140d(0x62f,0x216)]=!![];}),this['_map'][_0x1bf84a(_0x4f2ca3._0x3acc8f,0x957)](EventType[_0x51c993(0x16fe,_0x4f2ca3._0x78f0f)],this[_0x1bf84a(0x7,0x8f2)],this),this['_map']['on'](EventType['terrainChange'],this['_onTerrainChangeHandler'],this));}['_onTerrainChangeHandler'](_0x42002e){const _0x437e24={_0x3bd47d:0xdfa,_0x46d3e5:0xc3b},_0x2cf963={_0x56a7df:0x11d};function _0x7a0d78(_0x1bcf25,_0x27b554){return _0x306755(_0x1bcf25,_0x27b554- -_0x2cf963._0x56a7df);}function _0x31dc7c(_0x1db711,_0x569b0f){return _0x306755(_0x1db711,_0x569b0f- -0x621);}this[_0x31dc7c(_0x437e24._0x3bd47d,0x11a8)]&&this[_0x31dc7c(0x7e4,_0x437e24._0x46d3e5)]();}['_updateStyleBaseHook'](_0x5a3722){const _0x3c977a={_0x1225e6:0x105,_0x3b00f4:0x6c4,_0x195ab9:0x42e,_0x34e450:0xb53},_0x35209d={_0x105c9d:0x1a6};DivGraphicStyleConver['toCesiumVal'](this[_0xa1a848(-_0x3c977a._0x1225e6,0x524)],this);function _0xa1a848(_0x22bf60,_0x48ded1){return _0x306755(_0x22bf60,_0x48ded1- -0x332);}(Cesium__namespace[_0x6b56df(0x13b7,0x1c42)](_0x5a3722[_0xa1a848(_0x3c977a._0x3b00f4,0x113d)])||Cesium__namespace['defined'](_0x5a3722[_0xa1a848(_0x3c977a._0x195ab9,_0x3c977a._0x34e450)]))&&(this[_0x6b56df(0xdfc,0xd0d)]=this[_0x6b56df(0x6a2,-0x386)]);Cesium__namespace[_0xa1a848(0x196a,0x1480)](_0x5a3722['clampToGround'])&&this['_calculateAsynSurfacePosition']();delete this['_camera_cache'];function _0x6b56df(_0x46bd94,_0x3cbfdc){return _0x2b6441(_0x3cbfdc,_0x46bd94-_0x35209d._0x105c9d);}return this['_updateDivPosition'](),this;}['updateDivPosition'](){const _0xc8426f={_0x4f138f:0x11c3},_0x20beeb={_0x1bdfcf:0x3c4};delete this[_0x3f71d5(0x8e7,_0xc8426f._0x4f138f)],this['_updateDivPosition']();function _0x3f71d5(_0x4ab423,_0x33639b){return _0x2b6441(_0x33639b,_0x4ab423-_0x20beeb._0x1bdfcf);}return this;}['_updateAvailabilityHook'](_0x4a7694){const _0x281920={_0xb23aac:0x405};function _0x197305(_0x57a187,_0x92cb49){return _0x306755(_0x92cb49,_0x57a187- -0x5f7);}function _0x22c2e8(_0x48a25c,_0x475bb0){return _0x2b6441(_0x475bb0,_0x48a25c-0xc4);}this['_testPointEntity']&&(this[_0x197305(0xe99,0xf01)][_0x197305(_0x281920._0xb23aac,-0x42d)]=_0x4a7694);}['update'](_0x35724b){const _0xe44713={_0xfdb82:0x3e9,_0x2c176d:0xf04,_0x4ffe7d:0xdae,_0x437a7b:0xbb4},_0x3f01e4={_0x332c9a:0x15b},_0x4ec66a={_0x43e354:0x1ce};if(!this['getRealShow'](_0x35724b['time'])){this[_0x33f52c(0x63a,_0xe44713._0xfdb82)]();return;}this['style'][_0x3621a7(_0xe44713._0x2c176d,0xc2c)]&&this['style']['html']&&(this['html']=this[_0x3621a7(_0xe44713._0x4ffe7d,0x483)][_0x33f52c(0xde2,_0xe44713._0x437a7b)]);function _0x3621a7(_0x32be49,_0x41d294){return _0x2b6441(_0x32be49,_0x41d294-_0x4ec66a._0x43e354);}this['_updateDivPosition']();function _0x33f52c(_0x54eb9e,_0x438dc8){return _0x2b6441(_0x54eb9e,_0x438dc8-_0x3f01e4._0x332c9a);}this[_0x3621a7(0x52e,0x4b6)](EventType['postRender'],{'container':this['container']},![]);}['_updateDivPosition'](){const _0x140120={_0x329540:0x460,_0x14ee58:0x20f7,_0x2e705a:0x1498,_0x1f9377:0xb77,_0x33f07b:0x11f5,_0x292baa:0xc56,_0x3a32de:0x124b,_0x19b34b:0xb75,_0x2c61f7:0x3ca,_0x5b173e:0x821,_0x42a414:0x181a,_0xeac14e:0x187a,_0x4ea4a1:0x2078,_0xa47013:0x367,_0x23808e:0xbf9,_0xe445c8:0x850,_0x3f588f:0x16cc,_0x4d6c9c:0xa97,_0x285ba9:0x1196,_0x40a6ef:0x1890,_0x2a8e7e:0x1f1e,_0x3b542c:0x7f4,_0x28938b:0xef3,_0x3a4919:0x6ec,_0x355caf:0x7fa,_0x1a424b:0x118d,_0x4c241c:0x907,_0x48064c:0x19c8,_0x59679a:0x3b2,_0x503c25:0x8f5,_0x46d78f:0x76,_0x2c375b:0x8f5,_0x4c4bd1:0x17ce,_0x18bef2:0x34f,_0x9cb481:0x880,_0xcce4ee:0xe38,_0x328ca5:0x10e7},_0x29d244={_0x754133:0xb1};var _0x25f15c;if(!this[_0x4d19be(0xc04,_0x140120._0x329540)]())return![];const _0x4f7fa5=this[_0x2b7d98(0x187a,_0x140120._0x14ee58)]['scene'],_0x271c33=this['_map']['camera'];let _0x440df6=getPositionValue(this['position'],(_0x25f15c=this['_map'])===null||_0x25f15c===void 0x0?void 0x0:_0x25f15c['clock'][_0x4d19be(_0x140120._0x2e705a,_0x140120._0x1f9377)]);if(!Cesium__namespace['defined'](_0x440df6))return this['hide'](),![];if(this['_hasCache']){const _0xc49990=_0x271c33[_0x4d19be(0xa2a,0xd77)],_0x5027f7={};_0x5027f7['x']=_0x440df6['x'],_0x5027f7['y']=_0x440df6['y'],_0x5027f7['z']=_0x440df6['z'],_0x5027f7['p1']=this['_map'][_0x2b7d98(0x10ac,0xc4f)]['clientWidth'],_0x5027f7['p2']=this[_0x4d19be(0x1c94,0x1794)]['container'][_0x2b7d98(0x143d,0x1e71)],_0x5027f7['p3']=_0xc49990['longitude'],_0x5027f7['p4']=_0xc49990[_0x2b7d98(0x1084,_0x140120._0x33f07b)],_0x5027f7['p5']=_0xc49990[_0x4d19be(0x9bc,0xbbd)],_0x5027f7['p6']=_0x271c33['heading'],_0x5027f7['p7']=_0x271c33[_0x2b7d98(_0x140120._0x292baa,_0x140120._0x3a32de)],_0x5027f7['p8']=_0x271c33['roll'];const _0x392dfa=_0x5027f7;if(this['_camera_cache']&&_0x392dfa['x']===this['_camera_cache']['x']&&_0x392dfa['y']===this['_camera_cache']['y']&&_0x392dfa['z']===this['_camera_cache']['z']&&_0x392dfa['p1']===this['_camera_cache']['p1']&&_0x392dfa['p2']===this['_camera_cache']['p2']&&_0x392dfa['p3']===this['_camera_cache']['p3']&&_0x392dfa['p4']===this[_0x4d19be(0x9b3,0xa8f)]['p4']&&_0x392dfa['p5']===this['_camera_cache']['p5']&&_0x392dfa['p6']===this['_camera_cache']['p6']&&_0x392dfa['p7']===this['_camera_cache']['p7']&&_0x392dfa['p8']===this[_0x2b7d98(_0x140120._0x19b34b,0x147f)]['p8'])return!![];this['_camera_cache']=_0x392dfa;}if(!this['_hasAsynSurfacePosition']){const _0x51b05f=this['style']['heightReference'];(this[_0x4d19be(_0x140120._0x2c61f7,_0x140120._0x5b173e)]['clampToGround']||Cesium__namespace[_0x4d19be(0x1637,0x177d)](_0x51b05f)&&_0x51b05f!==Cesium__namespace[_0x2b7d98(0x172c,_0x140120._0x42a414)]['NONE'])&&(_0x440df6=getSurfacePosition(this[_0x2b7d98(_0x140120._0xeac14e,_0x140120._0x4ea4a1)]['scene'],_0x440df6,this['style']));}this[_0x2b7d98(0x883,0xc52)]=_0x440df6;const _0x17f948=toWindowCoordinates$1(_0x4f7fa5,_0x440df6),_0x33dc65=this['distanceDisplayCondition'],_0x215cb4=this[_0x4d19be(_0x140120._0xa47013,_0x140120._0x23808e)];let _0x33ce1d=_0x271c33[_0x2b7d98(0xe5d,_0x140120._0xe445c8)]['height'];(this['_hasZIndex']||_0x33dc65||_0x215cb4)&&(_0x4f7fa5[_0x2b7d98(_0x140120._0x3f588f,0x1989)]===Cesium__namespace[_0x2b7d98(_0x140120._0x4d6c9c,0xeab)][_0x4d19be(0x1491,_0x140120._0x285ba9)]&&(_0x33ce1d=Cesium__namespace['Cartesian3']['distance'](_0x440df6,_0x271c33[_0x2b7d98(_0x140120._0x40a6ef,_0x140120._0x2a8e7e)])));if(!_0x17f948||_0x33dc65&&(_0x33dc65[_0x2b7d98(0x13a6,0x1401)]>_0x33ce1d||_0x33dc65['far']<_0x33ce1d))return this[_0x2b7d98(_0x140120._0x3b542c,0xde8)]['style']['display']===_0x4d19be(_0x140120._0x28938b,0x1612)&&this['hide'](),![];if(this['depthTest']&&_0x4f7fa5['mode']===Cesium__namespace['SceneMode']['SCENE3D']){const _0x2d8673=this[_0x2b7d98(0x998,0x107c)](_0x440df6);if(!_0x2d8673)return this['_container'][_0x4d19be(0xadb,0x821)]['display']==='block'&&this[_0x4d19be(_0x140120._0x3a4919,_0x140120._0x355caf)](),![];}this[_0x2b7d98(0x7f4,_0x140120._0x1a424b)][_0x2b7d98(_0x140120._0x4c241c,0x13)]['display']!==_0x2b7d98(0x16f8,_0x140120._0x48064c)&&(delete this['_camera_cache'],this['_container']['style'][_0x4d19be(_0x140120._0x59679a,0x5be)]='block');const _0xb475d1=this['_getDivOffset'](_0x17f948);let {width:_0x31a250,height:_0x3ab066,xOffset:_0x46ee8a,yOffset:_0x49c3c7}=_0xb475d1,_0x1d7eea=0x1;if(_0x215cb4){if(_0x33ce1d<=_0x215cb4['near'])_0x1d7eea=_0x215cb4['nearValue'];else _0x33ce1d>_0x215cb4['near']&&_0x33ce1d<_0x215cb4['far']?_0x1d7eea=_0x215cb4[_0x4d19be(0x6af,_0x140120._0x503c25)]+(_0x215cb4['farValue']-_0x215cb4[_0x4d19be(-_0x140120._0x46d78f,_0x140120._0x2c375b)])*(_0x33ce1d-_0x215cb4[_0x2b7d98(0x13a6,_0x140120._0x4c4bd1)])/(_0x215cb4['far']-_0x215cb4['near']):_0x1d7eea=_0x215cb4['farValue'];_0x46ee8a*=_0x1d7eea;}let _0xca0fdc=this['options']['zIndex']??'auto';this['_hasZIndex']&&(_0xca0fdc=Math['round'](0x98967f-_0x33ce1d),_0xca0fdc<=0x0&&(_0xca0fdc=0x98967f));const _0x4a57ef={};_0x4a57ef['position']=_0x440df6,_0x4a57ef[_0x2b7d98(0x6db,_0x140120._0x18bef2)]=_0x17f948,_0x4a57ef['distance']=_0x33ce1d,_0x4a57ef[_0x2b7d98(0xcc8,0x937)]=_0xca0fdc,_0x4a57ef['height']=_0x3ab066,_0x4a57ef['width']=_0x31a250,_0x4a57ef[_0x2b7d98(0xe65,0xb1f)]=_0x46ee8a,_0x4a57ef['yOffset']=_0x49c3c7,_0x4a57ef['x']=_0x17f948['x']+_0x46ee8a;function _0x4d19be(_0x5b8d2d,_0x207e9d){return _0x2b6441(_0x5b8d2d,_0x207e9d-0x56c);}_0x4a57ef['y']=_0x17f948['y']+_0x49c3c7,_0x4a57ef['scale']=_0x1d7eea;function _0x2b7d98(_0x60b2fc,_0x63a74a){return _0x306755(_0x63a74a,_0x60b2fc-_0x29d244._0x754133);}const _0x4b0fed=_0x4a57ef;this['_timeinfo']=_0x4b0fed;this['_updateDivPosition_Ex']&&this['_updateDivPosition_Ex'](_0x4b0fed);const _0x321755={};_0x321755['transform']=_0x2b7d98(_0x140120._0x9cb481,0x89e)+_0x4b0fed['x']+'px)\x20translateY('+_0x4b0fed['y']+_0x4d19be(_0x140120._0xcce4ee,_0x140120._0x328ca5)+_0x4b0fed[_0x4d19be(0xf60,0xc9f)]+')\x20',_0x321755['transform-origin']='left\x20bottom',_0x321755[_0x4d19be(0x11c1,0xb1f)]=_0x4b0fed[_0x2b7d98(0xcc8,0x15ee)],merge(this['_container']['style'],_0x321755),this['fire'](EventType['change'],_0x4b0fed,!![]);}[_0x306755(-0xb9,0x862)](_0x312de7){const _0x34ab15={_0x48d31b:0xd89,_0x1ca352:0xdf4,_0x2f61b8:0x54d,_0x45f5bf:0xf1,_0xee8811:0x4e6,_0x164b6b:0x337,_0x174353:0xabe,_0x1a9a48:0x9d8,_0x1108b7:0x711,_0x67b080:0x3db,_0x2612f8:0x31c,_0x7b0732:0x711,_0x58c718:0x939},_0x12a244={_0x4fe9bd:0x126},_0x2bcd35={_0x4fed27:0x45c},_0x19630e=this[_0x35e71c(0x368,_0x34ab15._0x48d31b)],_0x192b76=this['divWidth'];let _0x11895f=0x0,_0x1daf5f=0x0;switch(this['style']['horizontalOrigin']){case _0x35e71c(0x1134,_0x34ab15._0x1ca352):case Cesium__namespace['HorizontalOrigin']['CENTER']:_0x11895f=-_0x192b76/0x2;break;case _0xd7719f(0x70,_0x34ab15._0x2f61b8):case Cesium__namespace['HorizontalOrigin']['RIGHT']:_0x11895f=-_0x192b76;break;case'LEFT':case Cesium__namespace[_0xd7719f(0x345,_0x34ab15._0x45f5bf)]['LEFT']:default:_0x11895f=0x0;break;}switch(this['style']['verticalOrigin']){case _0x35e71c(0x835,_0x34ab15._0xee8811):case Cesium__namespace['VerticalOrigin']['TOP']:_0x1daf5f=0x0;break;case _0xd7719f(_0x34ab15._0x164b6b,_0x34ab15._0x174353):case Cesium__namespace[_0x35e71c(0x20c7,0x17b1)][_0x35e71c(_0x34ab15._0x1a9a48,0xdf4)]:_0x1daf5f=-_0x19630e/0x2;break;case'BOTTOM':case Cesium__namespace['VerticalOrigin']['BOTTOM']:default:_0x1daf5f=-_0x19630e;break;}this[_0x35e71c(0x231,_0x34ab15._0x1108b7)]['anchor']?(_0x11895f+=this[_0xd7719f(0x310,_0x34ab15._0x67b080)]['anchor'][0x0],_0x1daf5f+=this['style'][_0xd7719f(_0x34ab15._0x2612f8,0xa3b)][0x1]):(this['style'][_0x35e71c(0x127c,0xa63)]&&(_0x11895f+=this[_0x35e71c(0xb23,_0x34ab15._0x7b0732)][_0xd7719f(-0xf4,0x72d)]),this['style']['offsetY']&&(_0x1daf5f+=this['style']['offsetY']));function _0x35e71c(_0x320137,_0x113f39){return _0x2b6441(_0x320137,_0x113f39-_0x2bcd35._0x4fed27);}const _0x1660eb={};function _0xd7719f(_0xe2a0b1,_0x46f387){return _0x2b6441(_0xe2a0b1,_0x46f387-_0x12a244._0x4fe9bd);}return _0x1660eb['height']=_0x19630e,_0x1660eb['width']=_0x192b76,_0x1660eb[_0xd7719f(0x51f,_0x34ab15._0x58c718)]=_0x11895f,_0x1660eb['yOffset']=_0x1daf5f,_0x1660eb;}[_0x2b6441(0xbfd,0x34c)](_0x5985bb,_0x5ba461){const _0x42bbb6={_0x66e540:0xb13,_0x140f4c:0x3a0,_0x16545a:0x6de,_0x5a1098:0xa51};!Cesium__namespace['defined'](_0x5ba461)&&(_0x5ba461=new Cesium__namespace[(_0x54e822(_0x42bbb6._0x66e540,0xce6))]());function _0x52e9ea(_0x54f250,_0x4a8260){return _0x2b6441(_0x54f250,_0x4a8260-0x8d);}this['_timeinfo']&&(_0x5ba461['x']=_0x5985bb['x']+this['_timeinfo'][_0x54e822(0xb8f,0xb5a)],_0x5ba461['y']=_0x5985bb['y']+this[_0x52e9ea(_0x42bbb6._0x140f4c,0x6ac)]['yOffset'],_0x5ba461[_0x54e822(0x9c6,0xa2b)]=this['_timeinfo']['width'],_0x5ba461[_0x52e9ea(0x1b7,_0x42bbb6._0x16545a)]=this['_timeinfo'][_0x52e9ea(_0x42bbb6._0x5a1098,0x6de)]);function _0x54e822(_0x5f455d,_0x5c6cdd){return _0x2b6441(_0x5c6cdd,_0x5f455d-0x37c);}return _0x5ba461;}['hide'](){const _0x2d1a17={_0x5d4b84:0x3c4,_0x1924df:0x79e},_0x390c3f={_0x48f7af:0x4b4};function _0x38708e(_0x608838,_0x4c1535){return _0x306755(_0x608838,_0x4c1535- -_0x390c3f._0x48f7af);}function _0x5aec81(_0xb9aa72,_0x976d43){return _0x2b6441(_0x976d43,_0xb9aa72-0x1ec);}this[_0x38708e(-_0x2d1a17._0x5d4b84,0x28f)]['style']['display']=_0x38708e(0x8cb,_0x2d1a17._0x1924df),delete this['_camera_cache'];}[_0x2b6441(0x41c,0x8b5)](_0x43bcc1){const _0x243858={_0x408df2:0xf5};function _0x1617a3(_0x332d9a,_0x4feaf6){return _0x2b6441(_0x4feaf6,_0x332d9a-0x5e9);}function _0x1c8cf4(_0x13da9c,_0x159355){return _0x306755(_0x13da9c,_0x159355- -_0x243858._0x408df2);}return{'type':_0x1c8cf4(-0x101,0x60d),'coordinates':this['getCoordinate'](_0x43bcc1===null||_0x43bcc1===void 0x0?void 0x0:_0x43bcc1[_0x1c8cf4(0x37b,0xcfb)])};}['addDynamicPosition'](_0x13710f,_0x3954f4){const _0x192ef2={_0x1251fe:0x8aa,_0x350a2e:0xdc2,_0x1d9283:0x87c,_0x590cbb:0xb73,_0x2728b1:0xd98,_0x2e531f:0x355,_0x8ea83d:0xdc8,_0x31126c:0x1136,_0x24b866:0xa21,_0x2c9324:0x1321,_0x3fd925:0x16a2,_0x412d1c:0xe37,_0x3f5310:0x13bf,_0x3c92cc:0xaae,_0xe838b3:0x13f2};function _0x123e3f(_0x4354a0,_0x2b5160){return _0x2b6441(_0x4354a0,_0x2b5160-0x4b7);}var _0x4d914c,_0x4398ed;if(!this[_0x123e3f(0x515,_0x192ef2._0x1251fe)]){const _0xb9146c=new Cesium__namespace['SampledPositionProperty'](this['options'][_0x123e3f(0xbea,0x1344)],this['options'][_0x123e3f(0x57c,_0x192ef2._0x350a2e)]);_0xb9146c[_0x123e3f(0xfcc,_0x192ef2._0x1d9283)]=this['options']['forwardExtrapolationType']??Cesium__namespace['ExtrapolationType'][_0x14e4f7(0xc46,0x2bd)],_0xb9146c['backwardExtrapolationType']=this[_0x123e3f(0x7ec,_0x192ef2._0x590cbb)]['backwardExtrapolationType']??Cesium__namespace['ExtrapolationType'][_0x123e3f(0x176d,_0x192ef2._0x2728b1)],this[_0x14e4f7(0x5d8,_0x192ef2._0x2e531f)]=this['options'][_0x123e3f(0xcb8,0xf61)]||new Cesium__namespace[(_0x123e3f(0x1334,_0x192ef2._0x8ea83d))](_0xb9146c),this['property']=_0xb9146c,this['position']=_0xb9146c,this[_0x14e4f7(_0x192ef2._0x31126c,0xbc1)]=this[_0x14e4f7(_0x192ef2._0x24b866,_0x192ef2._0x2c9324)]['maxCacheCount']??0x32;}else this['property']!==this['position']&&(this['position']=this['property']);this['_removeDynamicPosition']();const _0x556bb5=((_0x4d914c=this['_map'])===null||_0x4d914c===void 0x0||(_0x4d914c=_0x4d914c[_0x123e3f(_0x192ef2._0x3fd925,0x12b0)])===null||_0x4d914c===void 0x0?void 0x0:_0x4d914c[_0x123e3f(_0x192ef2._0x412d1c,0xac2)])||Cesium__namespace['JulianDate']['now']();!_0x3954f4?_0x3954f4=_0x556bb5:_0x3954f4=getJulianDate$1(_0x3954f4,_0x556bb5);_0x13710f=LngLatPoint['parse'](_0x13710f);const _0x8b954a=(_0x4398ed=this['_sampledPositionProperty'])===null||_0x4398ed===void 0x0||(_0x4398ed=_0x4398ed['_property'])===null||_0x4398ed===void 0x0?void 0x0:_0x4398ed['_times'];if(this['options']['autoMiddleDynamicPosition']&&(_0x8b954a===null||_0x8b954a===void 0x0?void 0x0:_0x8b954a['length'])>0x0&&this['_position']){const _0x4710ec=_0x8b954a[_0x8b954a[_0x14e4f7(_0x192ef2._0x3f5310,0xcb0)]-0x1];if(Cesium__namespace['JulianDate'][_0x123e3f(0x750,0xe2e)](_0x556bb5,_0x4710ec)>0.3){let _0x2176a1=this['_position'];if(this['_lastDynamicPosition']){const _0x4b336a=0.01;_0x2176a1=getOnLinePointByLen(this[_0x14e4f7(0xc19,0x14b0)],this['_position'],_0x4b336a,!![]);}_0x2176a1=setPositionsHeight(_0x2176a1,_0x13710f[_0x123e3f(_0x192ef2._0x3c92cc,0x37d)]||0x0),this['_sampledPositionProperty']['addSample'](_0x556bb5,_0x2176a1);}}const _0x57a87d=_0x13710f['toCartesian']();function _0x14e4f7(_0x1d3fca,_0x2e216b){return _0x306755(_0x2e216b,_0x1d3fca- -0x23c);}return this['position'][_0x123e3f(_0x192ef2._0xe838b3,0xbce)](_0x3954f4,_0x57a87d),this;}['_removeDynamicPosition'](){const _0x451646={_0x64b440:0x13a1,_0x3ca50d:0x9c3,_0x5418e3:0x16a,_0x2b5da5:0x189f,_0x1ab5c9:0x180a,_0x1d4fc5:0x15b2,_0x169909:0xad7,_0x37706f:0x5de},_0x23f543={_0x27678b:0x414};var _0x1dfe2d;function _0x13b8df(_0x241fe3,_0x266dd2){return _0x2b6441(_0x241fe3,_0x266dd2-_0x23f543._0x27678b);}if(this[_0x15a2a7(_0x451646._0x64b440,0x1632)]<0x1)return;const _0x3a9635=(_0x1dfe2d=this[_0x15a2a7(_0x451646._0x3ca50d,_0x451646._0x5418e3)])===null||_0x1dfe2d===void 0x0||(_0x1dfe2d=_0x1dfe2d['_property'])===null||_0x1dfe2d===void 0x0?void 0x0:_0x1dfe2d[_0x15a2a7(0x113e,0x1630)];if(!_0x3a9635||_0x3a9635[_0x15a2a7(0x162a,0x19a3)]===0x0)return;const _0x5d70fa=_0x3a9635['length']-this[_0x15a2a7(0x13a1,_0x451646._0x2b5da5)]-0x1;function _0x15a2a7(_0x32a9d0,_0x305728){return _0x2b6441(_0x305728,_0x32a9d0-0x5d0);}if(_0x5d70fa>0x0){const _0x46e4b1={};_0x46e4b1['start']=_0x3a9635[0x0],_0x46e4b1[_0x15a2a7(_0x451646._0x1ab5c9,_0x451646._0x1d4fc5)]=_0x3a9635[_0x5d70fa],this[_0x15a2a7(0x9c3,0xb6f)][_0x15a2a7(_0x451646._0x169909,_0x451646._0x37706f)](new Cesium__namespace['TimeInterval'](_0x46e4b1));}}[_0x306755(0x16fb,0x19f2)](_0x5c03ec){const _0x4ff856={_0x219679:0x2331};function _0xdac0e(_0x4af265,_0x325db7){return _0x2b6441(_0x4af265,_0x325db7-0x627);}return this[_0xdac0e(_0x4ff856._0x219679,0x18ef)]?this['point']['toArray'](_0x5c03ec):[];}[_0x2b6441(0xcbb,0xe7e)](_0x5eb7d6,_0x147ba2=!![]){const _0x5d835c={_0x50d473:0xeef,_0x320dee:0x1470,_0x444fbc:0x139d};function _0x48c1ff(_0x265e17,_0x10d83d){return _0x306755(_0x10d83d,_0x265e17- -0x24c);}function _0x1ee423(_0x5edbd3,_0x4d1ba6){return _0x2b6441(_0x5edbd3,_0x4d1ba6-0x27d);}var _0x3c6ae8;_0x147ba2&&(this['_map'][_0x1ee423(0xe29,0x823)](),this[_0x1ee423(0x11b4,0x14a5)]['last_highlighGraphic']=this);this[_0x1ee423(0x1f72,0x1594)]=!![];const _0x321c5c=_0x5eb7d6||this['_highlightOptions']||((_0x3c6ae8=this['_layer'])===null||_0x3c6ae8===void 0x0?void 0x0:_0x3c6ae8[_0x1ee423(_0x5d835c._0x50d473,_0x5d835c._0x320dee)]);_0x321c5c&&_0x321c5c['className']&&(this['addClass'](_0x321c5c[_0x48c1ff(_0x5d835c._0x444fbc,0x1c02)]),this[_0x48c1ff(0x1548,0xe35)]=_0x321c5c,this['fire'](EventType['highlightOpen'],{},!![]));}[_0x306755(0x87d,0xb47)](){const _0x2d76c1={_0x479e06:0x425,_0x2be024:0xf47,_0x3c668d:0x489,_0x56553a:0xa89},_0x43e2dd={_0x3e87e4:0x119};function _0xd06839(_0x5bcc44,_0x3e8d88){return _0x2b6441(_0x5bcc44,_0x3e8d88-_0x43e2dd._0x3e87e4);}var _0x58a915;if(!this[_0x213d77(0xa6b,_0x2d76c1._0x479e06)]||!this['_highlight_state'])return;delete this[_0x213d77(0x17c2,_0x2d76c1._0x2be024)],this[_0x213d77(0x16d3,0x197e)][_0xd06839(_0x2d76c1._0x3c668d,0x6d5)]();function _0x213d77(_0x26fcec,_0x39464b){return _0x2b6441(_0x39464b,_0x26fcec-0x4ab);}(_0x58a915=this[_0xd06839(_0x2d76c1._0x56553a,0x130c)])!==null&&_0x58a915!==void 0x0&&_0x58a915['className']&&(this['removeClass'](this['_highlightOptions']['className']),this['fire'](EventType['highlightClose'],{},!![]));}['_getWindowPosition'](_0x4325f9){const _0x4cbf3a={_0x2947e3:0x1379,_0x50cdbf:0x13aa,_0x18792c:0x9c},_0x49bc71={_0x256078:0x151};function _0x1a6406(_0x55b457,_0x487ddb){return _0x306755(_0x55b457,_0x487ddb-0x7b);}if(isFirefox){const _0x32972a=this[_0x2e3aef(0x15c9,_0x4cbf3a._0x2947e3)]['container']['getBoundingClientRect']();return new Cesium__namespace['Cartesian2'](_0x4325f9['clientX']-_0x32972a[_0x1a6406(_0x4cbf3a._0x50cdbf,0x101f)],_0x4325f9['clientY']-_0x32972a['top']);}function _0x2e3aef(_0x3605c2,_0x14d5d9){return _0x2b6441(_0x3605c2,_0x14d5d9-_0x49bc71._0x256078);}return new Cesium__namespace[(_0x2e3aef(-0xa0,_0x4cbf3a._0x18792c))](_0x4325f9['layerX'],_0x4325f9[_0x2e3aef(0x771,0xcd9)]);}[_0x2b6441(-0x425,0x19b)](_0x1978b5){const _0x451c94={_0x467542:0x125c,_0x191e26:0xdfe,_0x4f8634:0x1921,_0x44065d:0xece,_0x55704a:0xece,_0x5556a1:0xf09};_0x1978b5[_0x557366(_0x451c94._0x467542,0x936)]&&_0x1978b5[_0x16ac2b(0xd10,0x163e)]();const _0xa7ea94=this['_getWindowPosition'](_0x1978b5);function _0x557366(_0x2a9377,_0x4b894d){return _0x2b6441(_0x2a9377,_0x4b894d-0xab);}const _0x15246a={};_0x15246a['mouseEvent']=_0x1978b5,_0x15246a[_0x16ac2b(0x1052,0xc53)]=this['positionShow'],_0x15246a['windowPosition']=_0xa7ea94,_0x15246a[_0x16ac2b(0x6d8,0x373)]=this,_0x15246a[_0x557366(_0x451c94._0x191e26,0x13fd)]=this,_0x15246a[_0x557366(0x80c,0x4d4)]=this[_0x557366(_0x451c94._0x4f8634,_0x451c94._0x44065d)];function _0x16ac2b(_0x36b8eb,_0x2f8b1d){return _0x2b6441(_0x2f8b1d,_0x36b8eb-0x485);}const _0x71d3ba=_0x15246a;return this['_layer']&&(this['_layer']['_graphic_drawing']||this[_0x557366(0x194d,_0x451c94._0x55704a)]['_hasEdit']&&this['hasEdit'])&&(_0x71d3ba['cartesian']=getCurrentMousePosition(this[_0x16ac2b(0x16ad,_0x451c94._0x5556a1)]['scene'],_0xa7ea94)),_0x71d3ba;}[_0x306755(0x199c,0x1501)](_0x509d8d){const _0x1c426d={_0x16609a:0x968,_0xeb639d:0x5bc,_0x45c010:0x2e0,_0x4dfff2:0x4d8,_0x2adf25:0xb65};if(this[_0x52c3ae(_0x1c426d._0x16609a,0x1412)])return;function _0x13d6eb(_0x26de99,_0x36950f){return _0x2b6441(_0x26de99,_0x36950f-0x145);}function _0x52c3ae(_0x19808b,_0x343678){return _0x306755(_0x343678,_0x19808b- -0x503);}const _0x2c494c=this[_0x13d6eb(-_0x1c426d._0xeb639d,_0x1c426d._0x45c010)](_0x509d8d);_0x2c494c['position']=_0x2c494c[_0x52c3ae(0x127,_0x1c426d._0x4dfff2)],this['fire'](EventType[_0x52c3ae(_0x1c426d._0x2adf25,0x1626)],_0x2c494c,!![]);}['_container_onMousedownHandler'](_0x388575){const _0x19e2f2={_0x113df2:0x1227,_0x5d8612:0x28f},_0x236ba8={_0x49c93e:0x550};function _0x3ac4ce(_0x5ad451,_0xa98c47){return _0x306755(_0xa98c47,_0x5ad451- -_0x236ba8._0x49c93e);}if(_0x388575[_0x359067(0xde2,_0x19e2f2._0x113df2)]!==0x2)return;const _0x33be0a=this['_getEventTarget'](_0x388575);function _0x359067(_0x4025f4,_0x4eeb49){return _0x306755(_0x4eeb49,_0x4025f4- -0xef);}_0x33be0a[_0x3ac4ce(0xca7,_0x19e2f2._0x5d8612)]=_0x33be0a[_0x359067(0x53b,0x456)],this['fire'](EventType[_0x3ac4ce(0x12b8,0xdba)],_0x33be0a,!![]);}['_container_onMouseMoveHandler'](_0x29e527){const _0x4a6482={_0x433463:0x169};function _0x5888be(_0x4e0084,_0x2e22f4){return _0x2b6441(_0x4e0084,_0x2e22f4- -0x32);}if(this['_enabledEdit'])return;this[_0x223103(0x1236,0x18cf)][_0x5888be(0xd67,0x5c6)]['clearMoveTargetDelay']();const _0x2a6bf1=this[_0x5888be(-0x778,_0x4a6482._0x433463)](_0x29e527);_0x2a6bf1['endPosition']=_0x2a6bf1[_0x223103(0xf4e,0x730)];function _0x223103(_0x3b46e9,_0x357c82){return _0x306755(_0x3b46e9,_0x357c82-0x106);}this['_map'][_0x223103(0x133e,0x98f)](EventType['mouseMove'],_0x2a6bf1),this['_map'][_0x223103(0x39e,0x98f)](EventType['mouseMoveTarget'],_0x2a6bf1),!this[_0x5888be(0x170a,0x1127)]&&this[_0x5888be(0xbcd,0x2b6)](EventType[_0x5888be(0xc59,0x202)],_0x2a6bf1,!![]),this['_hasMouseOver']=!![];}[_0x2b6441(0x14e5,0xe4a)](_0x38b6d9){if(this['_enabledEdit'])return;this['_hasMouseOver']=![];const _0x46825a=this['_getEventTarget'](_0x38b6d9);this['fire'](EventType['mouseOut'],_0x46825a,!![]);}['autoSurfaceHeight'](_0x550201){const _0x51eb8c={_0x19e18b:0x9fb},_0xc7fae4={_0x4d9bda:0x125c},_0x47efab={_0x540b92:0x262};function _0x4836cd(_0xdc2d8e,_0x389ed2){return _0x306755(_0xdc2d8e,_0x389ed2- -_0x47efab._0x540b92);}function _0x5970cc(_0x23e672,_0x14ddb3){return _0x2b6441(_0x23e672,_0x14ddb3-0x322);}return getSurfaceHeight(this[_0x4836cd(0x1e23,0x1567)]['scene'],this[_0x5970cc(0x11ff,0xf78)],_0x550201??this[_0x4836cd(0x454,_0x51eb8c._0x19e18b)])['then'](_0x35b904=>{const _0x660b28={_0xdd7c53:0xd3};function _0x58a789(_0x2856d8,_0x2690b){return _0x5970cc(_0x2856d8,_0x2690b- -_0x660b28._0xdd7c53);}function _0x1ea5e8(_0x62ff56,_0x40b5e3){return _0x4836cd(_0x40b5e3,_0x62ff56-0x2c7);}_0x35b904[_0x58a789(0x148b,0xea5)]&&(this[_0x1ea5e8(_0xc7fae4._0x4d9bda,0x1173)]=_0x35b904['position']);});}[_0x306755(-0x3d6,0x5d7)](_0x317ae3,_0x3fad7e){return DivGraphicStyleConver['toJSON'](_0x317ae3,_0x3fad7e,!![]);}[_0x2b6441(0xeaa,0x1342)](_0x4910ea){const _0x478952={_0x116f58:0x22a};function _0x53f35a(_0x45450a,_0x1fdcaf){return _0x2b6441(_0x45450a,_0x1fdcaf-_0x478952._0x116f58);}const _0xed8330=this[_0x53f35a(0x998,0x493)];if(!_0xed8330)return;const _0x498dc5=getRectangle([_0xed8330],_0x4910ea===null||_0x4910ea===void 0x0?void 0x0:_0x4910ea['isFormat']);return _0x498dc5;}['addClass'](_0x1fa06,_0x54e9e5){const _0x10bcfd={_0x3b36ef:0x1ef,_0x36a4a7:0x5eb,_0x444293:0x1e3b},_0x6c2c78={_0x30754d:0x8};var _0x1410bb;function _0x28225f(_0x2ba8fa,_0xf1a95){return _0x306755(_0x2ba8fa,_0xf1a95- -0x158);}function _0x1eb8e3(_0x3921d4,_0x2781c8){return _0x2b6441(_0x2781c8,_0x3921d4-_0x6c2c78._0x30754d);}if(((_0x1410bb=this[_0x28225f(-0x71,0x5eb)])===null||_0x1410bb===void 0x0||(_0x1410bb=_0x1410bb['children'])===null||_0x1410bb===void 0x0?void 0x0:_0x1410bb['length'])>0x0&&!_0x54e9e5)for(let _0x397825=0x0,_0x257f44=this[_0x28225f(-_0x10bcfd._0x3b36ef,_0x10bcfd._0x36a4a7)]['children'][_0x28225f(0x12cb,0x14a3)];_0x397825<_0x257f44;_0x397825++){const _0x5b1225=this['_container'][_0x28225f(_0x10bcfd._0x444293,0x13c3)][_0x397825];addClass(_0x5b1225,_0x1fa06);}else addClass(this['_container'],_0x1fa06);}[_0x306755(0x1304,0x1077)](_0x400c6e,_0xbb4c23){const _0x5ed555={_0x2011f4:0x12e,_0x121385:0xb18},_0x53f8b2={_0x43962e:0x324};var _0x5b6553;function _0x57510b(_0x44025f,_0x41c120){return _0x306755(_0x44025f,_0x41c120- -0x615);}function _0x4c64f9(_0x2116d4,_0x201979){return _0x2b6441(_0x201979,_0x2116d4-_0x53f8b2._0x43962e);}if(((_0x5b6553=this[_0x57510b(-0x62a,0x12e)])===null||_0x5b6553===void 0x0||(_0x5b6553=_0x5b6553['children'])===null||_0x5b6553===void 0x0?void 0x0:_0x5b6553['length'])>0x0&&!_0xbb4c23)for(let _0x11e664=0x0,_0x76d0ab=this[_0x57510b(-0x65b,_0x5ed555._0x2011f4)]['children']['length'];_0x11e664<_0x76d0ab;_0x11e664++){const _0x4ee983=this[_0x4c64f9(0x4c6,_0x5ed555._0x121385)][_0x4c64f9(0x129e,0x19c8)][_0x11e664];removeClass(_0x4ee983,_0x400c6e);}else removeClass(this['_container'],_0x400c6e);}['startDraw'](_0x219bfe){const _0x4c0ff5={_0x3575c4:0x1230,_0xd6fb37:0x11da,_0x475d48:0xaca,_0x3c0ce2:0x6da};if(this[_0xce378e(_0x4c0ff5._0x3575c4,0xa1f)])return this;this['_enabledDraw']=!![];_0x219bfe&&this[_0xce378e(_0x4c0ff5._0xd6fb37,_0x4c0ff5._0x475d48)](_0x219bfe);if(!this['_map'])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this[_0xce378e(0x17c2,0x1a1a)]['_setEditCursor'](!![]);function _0x33fb10(_0x38950b,_0x4dc5bd){return _0x2b6441(_0x4dc5bd,_0x38950b-0x4af);}this[_0x33fb10(0xbd8,0x144b)](![]);function _0xce378e(_0x570e64,_0xacdc17){return _0x306755(_0xacdc17,_0x570e64- -0x7);}this['_startDrawHook'](),this[_0x33fb10(0x797,_0x4c0ff5._0x3c0ce2)](EventType['drawStart'],{'drawType':this['type'],'graphic':this},!![]);}['stopDraw'](){const _0x1db98b={_0x4e3ff1:0x387,_0x17af58:0x3f8,_0x1da223:0x1226,_0x408349:0xd7e,_0x5d5ddc:0x114e,_0x3c5b1f:0x755,_0x386543:0x260,_0x212c9e:0x12aa};var _0x5ecbc3,_0x4fe4ed;if(!this['_enabledDraw'])return this;this['_stopDrawHook'](),this[_0x5d6364(0x12e4,0x1514)][_0x455f3b(_0x1db98b._0x4e3ff1,-_0x1db98b._0x17af58)](![]),this['enableControl'](!![]),this['_map']['closeSmallTooltip'](),this[_0x5d6364(0xd52,_0x1db98b._0x1da223)]=![];function _0x5d6364(_0x1c053b,_0x335216){return _0x306755(_0x335216,_0x1c053b- -0x4e5);}if(!this[_0x455f3b(_0x1db98b._0x408349,0x41d)])return this[_0x455f3b(0x877,0x1118)](!![]),undefined;function _0x455f3b(_0x4c521b,_0xa8764d){return _0x306755(_0xa8764d,_0x4c521b- -0x145);}this['fire'](EventType[_0x5d6364(0x109e,0x8e1)],{'drawType':this[_0x455f3b(0x151e,_0x1db98b._0x5d5ddc)],'graphic':this},!![]),(_0x5ecbc3=this['options'])!==null&&_0x5ecbc3!==void 0x0&&_0x5ecbc3['success']&&this[_0x5d6364(0x778,_0x1db98b._0x3c5b1f)][_0x5d6364(0xf1e,0x1549)](this),(_0x4fe4ed=this['options'])!==null&&_0x4fe4ed!==void 0x0&&(_0x4fe4ed=_0x4fe4ed['_promise'])!==null&&_0x4fe4ed!==void 0x0&&_0x4fe4ed[_0x5d6364(0xb5f,0x1ce)]&&this[_0x455f3b(0xb18,_0x1db98b._0x386543)]['_promise'][_0x5d6364(0xb5f,_0x1db98b._0x212c9e)](this);}['_startDrawHook'](){const _0x213f24={_0xaf64da:0x176c,_0x4b2a45:0x1de1,_0x2d6ed7:0xab9};this['_updatePointerEvents'](![]);function _0x2fe722(_0xb1f252,_0x39ff3e){return _0x2b6441(_0x39ff3e,_0xb1f252-0x544);}function _0x179f77(_0x5a3308,_0x56f45e){return _0x306755(_0x5a3308,_0x56f45e- -0x22);}this[_0x2fe722(_0x213f24._0xaf64da,_0x213f24._0x4b2a45)]['on'](EventType['mouseMove'],this['_onMouseMoveHandler_point'],this),this['_map']['on'](EventType[_0x2fe722(0x100b,0x185f)],this[_0x179f77(0x1336,_0x213f24._0x2d6ed7)],this);}['_stopDrawHook'](){const _0x5bf5ce={_0x15ca5c:0x594,_0x2e0018:0x73a,_0x1bd7ea:0xe9c,_0x52cf67:0xcfe},_0x3280af={_0x555e0d:0x481};this['_map'][_0x63ab30(-_0x5bf5ce._0x15ca5c,0x4eb)](EventType[_0x63ab30(_0x5bf5ce._0x2e0018,0x5e7)],this[_0x63ab30(0x7f2,0xda9)],this);function _0x1e6e58(_0x357b9b,_0x1cc0e6){return _0x2b6441(_0x357b9b,_0x1cc0e6-0xc4);}this['_map'][_0x1e6e58(-0x2b2,0x48f)](EventType[_0x1e6e58(0xa2d,0xb8b)],this['_onClickHandler_point'],this);function _0x63ab30(_0x1214df,_0x3c668f){return _0x306755(_0x1214df,_0x3c668f- -_0x3280af._0x555e0d);}this[_0x63ab30(0x1093,_0x5bf5ce._0x1bd7ea)](this[_0x1e6e58(_0x5bf5ce._0x52cf67,0x2d1)]());}[_0x2b6441(0xfb1,0xc89)](_0x4d0c16){const _0x1759eb={_0x4a670c:0xe62,_0x3227f6:0xd6b,_0x1d80e8:0x16e2,_0x30ad9f:0x5ec,_0x1e9053:0x12ce},_0x2d8b32={_0x906b2:0x20c},_0x5ed39e=_0x4d0c16['cartesian'];_0x5ed39e&&(this[_0x453f20(_0x1759eb._0x4a670c,_0x1759eb._0x3227f6)]=_0x5ed39e);this['_map']['openSmallTooltip'](_0x4d0c16[_0x41a7e6(_0x1759eb._0x1d80e8,0x146f)],this['_draw_tooltip']||this['_map']['getLangText']('_单击完成绘制'));function _0x453f20(_0xd891cb,_0xe6213e){return _0x2b6441(_0xe6213e,_0xd891cb-_0x2d8b32._0x906b2);}function _0x41a7e6(_0x271bfc,_0x56c237){return _0x2b6441(_0x271bfc,_0x56c237-0x1c6);}this[_0x41a7e6(-_0x1759eb._0x30ad9f,0x4ae)](EventType['drawMouseMove'],{..._0x4d0c16,'drawType':this[_0x453f20(_0x1759eb._0x1e9053,0x14df)],'graphic':this},!![]);}['_onClickHandler_point'](_0x27283f){const _0x39e5aa={_0x47917e:0x1715,_0x2b6c7e:0x1308},_0x1c459f={_0x2ca5df:0x48},_0x1d9a54=_0x27283f['cartesian'];_0x1d9a54&&(this[_0x6797b(_0x39e5aa._0x47917e,0xc97)]=_0x1d9a54);function _0x219f12(_0x43a620,_0x2a4806){return _0x306755(_0x43a620,_0x2a4806- -_0x1c459f._0x2ca5df);}function _0x6797b(_0xc9fb29,_0x1bd5d0){return _0x306755(_0xc9fb29,_0x1bd5d0- -0x560);}this[_0x219f12(0x147e,_0x39e5aa._0x2b6c7e)]();}['_setPositionsToCallback'](){}['_cancelPositionsCallback'](){}[_0x2b6441(0xf0,0x499)](){if(!this['_enabledDraw'])return this;if(this[_0x327029(0xdb9,0x31c)]['length']<this['_minPointNum'])return;this['updateAttrForDrawing'](![]);function _0x327029(_0x5ed0cc,_0x6eddd5){return _0x2b6441(_0x6eddd5,_0x5ed0cc- -0x27);}this['stopDraw']();}['updateAttrForDrawing'](_0x1e90d1){}['enableControl'](_0x4e84e7){const _0x7ed203={_0x2b2c2a:0xa71,_0x2ce42b:0x4da,_0x3f0067:0x1036,_0x492093:0xd9c};var _0x43e24c,_0xb38183;this['_map'][_0x14b7be(0x5d9,_0x7ed203._0x2b2c2a)]['enabledMoveTarget']=_0x4e84e7;function _0x49a8d0(_0x5138f6,_0x585205){return _0x306755(_0x5138f6,_0x585205- -0x29a);}(_0x43e24c=this['_map'])!==null&&_0x43e24c!==void 0x0&&_0x43e24c[_0x14b7be(_0x7ed203._0x2ce42b,0x86)]&&(this['_map'][_0x49a8d0(0x411,0x800)][_0x49a8d0(0x1a2c,_0x7ed203._0x3f0067)]=_0x4e84e7);function _0x14b7be(_0x1359df,_0x3f5cf8){return _0x306755(_0x3f5cf8,_0x1359df- -0x5c0);}(_0xb38183=this['_map'])!==null&&_0xb38183!==void 0x0&&_0xb38183['tooltip']&&(this[_0x14b7be(0x1209,0x1b65)][_0x14b7be(0x91e,_0x7ed203._0x492093)]['enabled']=_0x4e84e7);}['startEditing'](){const _0x5d5240={_0x540303:0x10f8,_0x474cdd:0x11a3,_0x43779a:0xe02,_0x27c47b:0x1128,_0x5d0547:0x18ad,_0x32d686:0xc8c,_0x1f913c:0xae6},_0x134087={_0x570414:0x1e7};if(this['_enabledEdit'])return this;this[_0x17b4f3(0x652,0xf00)]=!![];if(!this['_map'])throw new Error(_0x3d8e32(_0x5d5240._0x540303,0xa0b));this[_0x17b4f3(0xc74,0x16e3)]=this['_map'][_0x17b4f3(_0x5d5240._0x474cdd,_0x5d5240._0x43779a)](_0x17b4f3(_0x5d5240._0x27c47b,_0x5d5240._0x5d0547)),this['enableControl'](![]);!this['editing']&&(this['editing']=new this[(_0x3d8e32(_0x5d5240._0x32d686,0xbec))](this));function _0x17b4f3(_0xa90c81,_0x2c2b7f){return _0x2b6441(_0xa90c81,_0x2c2b7f-0x636);}function _0x3d8e32(_0x164100,_0x25b122){return _0x306755(_0x25b122,_0x164100- -_0x134087._0x570414);}this['editing'][_0x3d8e32(_0x5d5240._0x1f913c,0x11a3)]&&this['editing']['activate']();}[_0x306755(0x98a,0xf1f)](){const _0x8a84ce={_0x11aabb:0xffe,_0x493926:0x13e1,_0x4151e5:0x15e4,_0x24df2b:0xaf4};var _0x5ebb56;if(!this['_enabledEdit'])return this;(_0x5ebb56=this['editing'])!==null&&_0x5ebb56!==void 0x0&&_0x5ebb56[_0x20f96d(_0x8a84ce._0x11aabb,_0x8a84ce._0x493926)]&&this['editing'][_0x51b865(_0x8a84ce._0x4151e5,0x1005)]();this['enableControl'](!![]);function _0x51b865(_0x3635c6,_0x507d97){return _0x306755(_0x507d97,_0x3635c6-0x155);}function _0x20f96d(_0x374898,_0x466599){return _0x306755(_0x466599,_0x374898- -0x491);}this['_map']['closeSmallTooltip'](),this[_0x51b865(0xfc0,_0x8a84ce._0x24df2b)]=![];}}register$5('div',DivGraphic,!![]);const _0x50b1bb={};_0x50b1bb['font_size']=0xf,_0x50b1bb['font_family']='楷体',_0x50b1bb[_0x306755(0x1364,0xeaf)]=_0x2b6441(0x1251,0x10c3),_0x50b1bb[_0x2b6441(0x12f4,0xc0a)]='rgb(21,\x20209,\x20242)',_0x50b1bb['horizontalOrigin']=Cesium__namespace['HorizontalOrigin']['CENTER'],_0x50b1bb['verticalOrigin']=Cesium__namespace['VerticalOrigin']['CENTER'];const DEF_STYLE$f=_0x50b1bb;class DivBoderLabel extends DivGraphic{constructor(_0x66d744={}){const _0x3eb60d={_0x523bc0:0xe86,_0x2321b7:0xe67,_0x61bc79:0xe0a,_0x3b291a:0x862,_0x390912:0xf79,_0xe6db10:0x17c3},_0x5ad2c7={_0x554be0:0x16b};_0x66d744['style']={...DEF_STYLE$f,..._0x66d744['style']},_0x66d744['style'][_0x23e61e(0x1006,_0x3eb60d._0x523bc0)]=getHtmlByStyle$3(_0x66d744['style'],_0x66d744[_0x4c92e3(_0x3eb60d._0x2321b7,_0x3eb60d._0x61bc79)]),super(_0x66d744);function _0x4c92e3(_0x294efe,_0x37abb1){return _0x306755(_0x37abb1,_0x294efe-_0x5ad2c7._0x554be0);}const _0xd374fa=_0x66d744['style']['font_size'],_0xcf9285=_0x66d744['style']['width']||getStrLength(_0x66d744[_0x23e61e(_0x3eb60d._0x3b291a,0xc8e)][_0x4c92e3(0x1a78,0x17bc)])*_0xd374fa*0.6;function _0x23e61e(_0xb14c56,_0x4d6dd){return _0x306755(_0x4d6dd,_0xb14c56-0xc);}const _0x27c25d=_0x66d744['style']['height']||_0xd374fa*0x2;this['_divWidth']=_0xcf9285,this[_0x23e61e(_0x3eb60d._0x390912,_0x3eb60d._0xe6db10)]=_0x27c25d;}get['divWidth'](){function _0x36b4a9(_0x2f8dc2,_0x2ee3c9){return _0x306755(_0x2f8dc2,_0x2ee3c9- -0x255);}return this[_0x36b4a9(0xdf2,0x157c)];}get['divHeight'](){return this['_divHeight'];}[_0x306755(0x1399,0xedf)](_0x5d4e91){const _0x1b0ab2={_0x4b8d97:0x1580},_0x3a7d82={_0x327850:0x34d};function _0x30964a(_0x5c720a,_0x27a346){return _0x306755(_0x27a346,_0x5c720a- -0x13c);}_0x5d4e91['html']&&delete _0x5d4e91['html'];function _0x3ea2b2(_0x3ee78c,_0x4ebe90){return _0x2b6441(_0x3ee78c,_0x4ebe90-_0x3a7d82._0x327850);}return(Cesium__namespace['defined'](_0x5d4e91['color'])||Cesium__namespace['defined'](_0x5d4e91['boderColor'])||Cesium__namespace['defined'](_0x5d4e91[_0x3ea2b2(-0x3ed,0x394)])||Cesium__namespace[_0x3ea2b2(0x1c8c,0x155e)](_0x5d4e91[_0x3ea2b2(_0x1b0ab2._0x4b8d97,0xfb8)])||Cesium__namespace['defined'](_0x5d4e91['text']))&&(this['html']=getHtmlByStyle$3(this['style'],this[_0x30964a(0xbc0,0x400)])),super[_0x3ea2b2(0xe69,0xc8b)](_0x5d4e91),this;}}register$5(_0x2b6441(0x737,0x10eb),DivBoderLabel,!![]);function getHtmlByStyle$3(_0xc70b54,_0x241774){const _0x27ab16={_0x51c023:0x15ea,_0x326a02:0x162d,_0x39a979:0x41b,_0x2caeeb:0x1664,_0x3e9647:0x1751,_0x4682ad:0x4b8,_0x5f3bfe:0xdd8,_0x4f7c7d:0x1644},_0x2b4306=_0xc70b54['color'];function _0x564078(_0xdc941,_0x26ffbf){return _0x306755(_0x26ffbf,_0xdc941- -0x2e0);}const _0x5e2046=_0xc70b54['boderColor'];function _0x1377e6(_0x50c1c3,_0x2171a9){return _0x306755(_0x50c1c3,_0x2171a9- -0x2c9);}const _0x43e612=Cesium__namespace['Color'][_0x564078(_0x27ab16._0x51c023,0x11f5)](_0x5e2046)['withAlpha'](0.5)['toCssColorString'](),_0x44f035=_0xc70b54['font_size'],_0x3bab45=_0xc70b54['width']||getStrLength(_0xc70b54[_0x564078(_0x27ab16._0x326a02,0x1ae0)])*_0x44f035*0.6,_0x4740ef=_0xc70b54['height']||_0x44f035*0x2;return'\x0a\x20\x20<div\x20class=\x22mars3d-divBoderLabel\x22\x20style=\x22\x0a\x20\x20--text-font-size:\x20'+_0x44f035+_0x564078(0x971,_0x27ab16._0x39a979)+_0x3bab45+'px;\x0a\x20\x20--clip-width-1:\x20'+(_0x3bab45+_0x44f035)+'px;\x0a\x20\x20--clip-width-2:\x20'+(_0x3bab45+_0x44f035-0x2)+'px;\x0a\x20\x20--boder-height:\x20'+_0x4740ef+'px;\x0a\x20\x20--clip-height-1:\x20'+(_0x4740ef+0xa)+_0x564078(_0x27ab16._0x2caeeb,_0x27ab16._0x3e9647)+(_0x4740ef+0x8)+'px;\x0a\x20\x20--text-color:\x20'+_0x2b4306+_0x564078(0x524,-_0x27ab16._0x4682ad)+_0x5e2046+';\x0a\x20\x20--box-shadow-color:\x20'+_0x43e612+_0x564078(0x79d,0xd84)+_0xc70b54['font_family']+_0x564078(_0x27ab16._0x5f3bfe,0x79a)+template(_0xc70b54[_0x1377e6(0x1ea3,_0x27ab16._0x4f7c7d)],_0x241774,_0xc70b54[_0x1377e6(0x2158,0x16af)]??!![])+'</span>\x0a\x20\x20\x20\x20\x20</div>\x0a\x20\x20</div>\x20';}const _0x232def={};_0x232def['color']='#f33349',_0x232def[_0x306755(0x635,0xfa6)]=Cesium__namespace['HorizontalOrigin']['CENTER'],_0x232def[_0x306755(0xd20,0x1231)]=Cesium__namespace[_0x2b6441(0x11ce,0x1355)]['CENTER'];const DEF_STYLE$e=_0x232def;class DivLightPoint extends DivGraphic{constructor(_0x5e381b={}){const _0x3357b2={_0x4931ea:0x23f,_0x5278a7:0xbe4,_0x459b5b:0x6de},_0xde53ba={_0x79f386:0xb9};function _0x32e89d(_0x13cf3f,_0x24d80b){return _0x2b6441(_0x13cf3f,_0x24d80b-0x429);}_0x5e381b['style']={...DEF_STYLE$e,..._0x5e381b[_0x32e89d(-_0x3357b2._0x4931ea,0x6de)]};function _0x160830(_0x104c23,_0x331fe2){return _0x306755(_0x331fe2,_0x104c23- -_0xde53ba._0x79f386);}_0x5e381b['style']['html']=getHtmlByStyle$2(_0x5e381b[_0x32e89d(_0x3357b2._0x5278a7,_0x3357b2._0x459b5b)],_0x5e381b['attr']),super(_0x5e381b);}['_updateStyleBaseHook'](_0x5d0af2){const _0x9c9aca={_0x5df9ce:0x93f,_0x4d5c85:0x33c,_0x3dc72f:0x626,_0x3916f1:0x327,_0x319a17:0x84f};_0x5d0af2['html']&&delete _0x5d0af2['html'];(Cesium__namespace['defined'](_0x5d0af2[_0x35371f(_0x9c9aca._0x5df9ce,0x1150)])||Cesium__namespace[_0x78b3d1(0x1283,0x168b)](_0x5d0af2['size'])||Cesium__namespace['defined'](_0x5d0af2[_0x78b3d1(_0x9c9aca._0x4d5c85,_0x9c9aca._0x3dc72f)]))&&(this['html']=getHtmlByStyle$2(this[_0x78b3d1(_0x9c9aca._0x3916f1,_0x9c9aca._0x319a17)],this[_0x35371f(0x78c,0x6d4)]));function _0x35371f(_0x48c29e,_0x4d0933){return _0x306755(_0x4d0933,_0x48c29e- -0x570);}function _0x78b3d1(_0x494e46,_0x57967f){return _0x306755(_0x57967f,_0x494e46- -0x52f);}return super['_updateStyleBaseHook'](_0x5d0af2),this;}}register$5(_0x306755(0x13cb,0xb4b),DivLightPoint,!![]);function getHtmlByStyle$2(_0x2b37bb,_0x42482e){const _0x54a751={_0x16d5d2:0xcee,_0x653413:0xb1b,_0x2b051f:0xf92,_0xa49a02:0x1b02},_0x3beba5={_0x311b3c:0x501};function _0x2bd367(_0x2fb9aa,_0x15bc3c){return _0x306755(_0x2fb9aa,_0x15bc3c-0x4);}function _0x32d0a9(_0x56823e,_0x3565a4){return _0x306755(_0x56823e,_0x3565a4- -_0x3beba5._0x311b3c);}return'\x0a\x20\x20<div\x20class=\x22mars3d-animation-point\x22\x20style=\x22color:'+_0x2b37bb['color']+';width:\x20'+_0x2b37bb['size']+_0x2bd367(_0x54a751._0x16d5d2,0xfa6)+_0x2b37bb[_0x2bd367(0xc79,0x1123)]+'px;\x22>\x0a\x20\x20\x20\x20'+(_0x2b37bb['billboard']?'<img\x20src=\x22'+_0x2b37bb['billboard']['image']+_0x2bd367(_0x54a751._0x653413,_0x54a751._0x2b051f)+getTemplateTranslate(_0x2b37bb[_0x32d0a9(0x17fc,0x1240)])+'\x22\x20></div>':'')+'\x0a\x20\x20\x20\x20<p></p>\x0a\x20\x20\x20\x20'+(_0x2b37bb[_0x2bd367(0x2c8,0x86f)]?'<div\x20class=\x22mars3d-animation-point-lbl\x22\x20style=\x22color:'+(_0x2b37bb['label']['color']||_0x2b37bb['color'])+_0x2bd367(0x1310,0x10bc)+template(_0x2b37bb['label']['text'],_0x42482e,_0x2b37bb['label'][_0x32d0a9(_0x54a751._0xa49a02,0x1477)]??!![])+'</div>':'')+'\x0a\x20\x20</div>';}function getTemplateTranslate(_0x370af6){const _0x265796={_0x3f17a0:0x135,_0x131838:0x93c,_0x2a8410:0xb02,_0x240f4b:0x785,_0x1a680b:0x1b5,_0x5da5dd:0x112e,_0x25057c:0x146e,_0x50fb3c:0x11ff,_0x5c393b:0x720,_0x5a528d:0x18d6},_0x134767={_0x2d82f2:0x16a};let _0x4fd394,_0x4e3eca,_0x4e4439='';switch(_0x370af6['horizontalOrigin']){case'CENTER':case Cesium__namespace[_0x47a635(_0x265796._0x3f17a0,-_0x265796._0x131838)][_0x47a635(_0x265796._0x2a8410,_0x265796._0x240f4b)]:_0x4fd394='-50%',_0x4e4439+='left:50%;';break;case'RIGHT':case Cesium__namespace['HorizontalOrigin']['RIGHT']:_0x4fd394='-100%';break;case _0x47a635(0x9fd,0x10d6):case Cesium__namespace[_0x47a635(_0x265796._0x3f17a0,_0x265796._0x1a680b)][_0x198898(0x9ac,_0x265796._0x5da5dd)]:default:_0x4fd394='0';break;}switch(_0x370af6['verticalOrigin']){case _0x198898(0x1a3,0xf5):case Cesium__namespace['VerticalOrigin']['TOP']:_0x4e3eca='0';break;case _0x198898(0xab1,0x2a5):case Cesium__namespace[_0x198898(_0x265796._0x25057c,_0x265796._0x50fb3c)][_0x47a635(_0x265796._0x2a8410,0x774)]:_0x4e3eca='-50%';break;case'BOTTOM':case Cesium__namespace['VerticalOrigin']['BOTTOM']:default:_0x4e3eca='-100%';break;}function _0x198898(_0x140746,_0x5b700a){return _0x306755(_0x5b700a,_0x140746- -0x488);}_0x370af6['offsetX']&&(_0x4fd394=_0x370af6[_0x198898(_0x265796._0x5c393b,-0xe1)]+'px');function _0x47a635(_0x297b75,_0x597a20){return _0x2b6441(_0x597a20,_0x297b75-_0x134767._0x2d82f2);}return _0x370af6['offsetY']&&(_0x4e3eca=_0x370af6[_0x198898(0x1096,_0x265796._0x5a528d)]+'px'),'transform:translateX('+_0x4fd394+')\x20translateY('+_0x4e3eca+');'+_0x4e4439;}const _0x4fad9b={};_0x4fad9b['color']=_0x2b6441(0x15ad,0xed0),_0x4fad9b[_0x306755(0xa74,0x120c)]='楷体',_0x4fad9b[_0x306755(0x85f,0x5e8)]=0xf,_0x4fad9b[_0x2b6441(0xe00,0x75f)]=0x64,_0x4fad9b[_0x306755(0xc15,0xcfa)]=0xa,_0x4fad9b[_0x306755(0x19cc,0xfa6)]=Cesium__namespace[_0x2b6441(-0x133,-0x35)][_0x306755(0x14ce,0xf39)],_0x4fad9b['verticalOrigin']=Cesium__namespace['VerticalOrigin'][_0x2b6441(0x3d5,0x10d)];const DEF_STYLE$d=_0x4fad9b;class DivUpLabel extends DivGraphic{constructor(_0x1a0a72={}){const _0x88fab2={_0x110164:0x59d,_0xba657e:0xbb5};function _0xda4491(_0x44a41f,_0x5ed2bb){return _0x2b6441(_0x44a41f,_0x5ed2bb-0x2e8);}function _0x1fc959(_0x316060,_0x490cf5){return _0x2b6441(_0x490cf5,_0x316060-0x45a);}_0x1a0a72['style']={...DEF_STYLE$d,..._0x1a0a72['style']},_0x1a0a72[_0xda4491(0xaa2,_0x88fab2._0x110164)]['html']=getHtmlByStyle$1(_0x1a0a72['style'],_0x1a0a72[_0x1fc959(_0x88fab2._0xba657e,0xbde)]),super(_0x1a0a72);}[_0x2b6441(0xd54,0x93e)](_0x3cd35d){const _0x5f0f5c={_0x3812a0:0x1dd0,_0x55c228:0x679,_0x2be155:0x187f,_0x12ed17:0xb9b,_0x3f696b:0x3f7,_0x20b43b:0x756,_0x107459:0x12be,_0x3fdc48:0x958},_0x327c87={_0x7d482c:0x1fd};function _0x1be983(_0x160397,_0x37dd0c){return _0x2b6441(_0x160397,_0x37dd0c-_0x327c87._0x7d482c);}_0x3cd35d['html']&&delete _0x3cd35d['html'];(Cesium__namespace[_0x30981b(0x1353,_0x5f0f5c._0x3812a0)](_0x3cd35d[_0x30981b(0xa50,_0x5f0f5c._0x55c228)])||Cesium__namespace[_0x1be983(0x1129,0x140e)](_0x3cd35d['circleSize'])||Cesium__namespace['defined'](_0x3cd35d['font_size'])||Cesium__namespace[_0x1be983(0xb29,0x140e)](_0x3cd35d['font_family'])||Cesium__namespace[_0x1be983(_0x5f0f5c._0x2be155,0x140e)](_0x3cd35d['lineHeight'])||Cesium__namespace['defined'](_0x3cd35d['text']))&&(this[_0x30981b(_0x5f0f5c._0x12ed17,0xd42)]=getHtmlByStyle$1(this[_0x30981b(_0x5f0f5c._0x3f696b,_0x5f0f5c._0x20b43b)],this[_0x1be983(_0x5f0f5c._0x107459,_0x5f0f5c._0x3fdc48)]));super['_updateStyleBaseHook'](_0x3cd35d);function _0x30981b(_0x3a4e0d,_0xa399ed){return _0x306755(_0xa399ed,_0x3a4e0d- -0x45f);}return this;}}register$5(_0x2b6441(-0x391,0x6e7),DivUpLabel,!![]);function getHtmlByStyle$1(_0x372843,_0xe4a920){const _0x34c94e={_0x5d3bee:0x203,_0xe4e8f3:0x636,_0x2c6911:0x104a,_0x3dc473:0xdb1,_0x8b0605:0xce,_0x487a34:0xb96,_0x9e6f0a:0x1b65};function _0x4d9491(_0x57b2f6,_0x54ca86){return _0x306755(_0x57b2f6,_0x54ca86- -0x4cf);}const _0x383130=_0x372843['color'],_0x26d0d8=_0x372843['circleSize'];function _0x81ed2(_0x3e8b51,_0x36a234){return _0x306755(_0x36a234,_0x3e8b51- -0x1c2);}return _0x4d9491(_0x34c94e._0x5d3bee,0xb69)+_0x383130+_0x81ed2(_0x34c94e._0xe4e8f3,0xe40)+_0x372843[_0x81ed2(_0x34c94e._0x2c6911,0x1810)]+';font-size:\x20'+_0x372843['font_size']+_0x4d9491(0x83d,_0x34c94e._0x3dc473)+template(_0x372843[_0x81ed2(0x174b,0x16c3)],_0xe4a920,!![])+_0x4d9491(_0x34c94e._0x8b0605,_0x34c94e._0x487a34)+_0x372843['lineHeight']+_0x81ed2(0x102d,0x19e8)+_0x383130+';\x22></div>\x0a\x20\x20\x20\x20<div\x20style=\x22border-radius:\x2050%;\x0a\x20\x20\x20\x20\x20\x20\x20\x20width:\x20'+_0x26d0d8+'px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20height:\x20'+_0x26d0d8+'px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20margin-left:\x20calc(50%\x20-\x20'+_0x26d0d8/0x2+_0x81ed2(0x15c4,_0x34c94e._0x9e6f0a)+_0x383130+';\x22></div>\x0a\x20\x20</div>\x20';}const _0x100e86={};_0x100e86['horizontalOrigin']=Cesium__namespace['HorizontalOrigin']['CENTER'],_0x100e86[_0x306755(0x10a4,0x1231)]=Cesium__namespace['VerticalOrigin']['BOTTOM'];const DEF_STYLE$c=_0x100e86;class Popup extends DivGraphic{constructor(_0x554b8a={}){const _0xee84e9={_0x4e9aeb:0xdd5,_0x2c195d:0x4cd,_0x15c26e:0x723,_0x35be84:0x113f,_0x27ff5c:0x503,_0x5d11dd:0x5fd,_0x487efd:0xd4a},_0x12112b={_0x18600f:0x8ef,_0x2f764a:0x8c};_0x554b8a[_0x1a493d(_0xee84e9._0x4e9aeb,0x84b)]=_0x554b8a[_0x22e8b8(0x3e8,0xe36)]??![],_0x554b8a[_0x1a493d(_0xee84e9._0x2c195d,0x8fe)]=_0x554b8a['hasEdit']??![],_0x554b8a[_0x22e8b8(_0xee84e9._0x15c26e,0x1080)]=_0x554b8a[_0x22e8b8(0x85b,0x1080)]??!![];function _0x1a493d(_0x41db7f,_0xcf3c8b){return _0x2b6441(_0xcf3c8b,_0x41db7f-0x1ed);}_0x554b8a['animation']=_0x554b8a[_0x22e8b8(0x1615,_0xee84e9._0x35be84)]??!![];function _0x22e8b8(_0x363466,_0x4aab5e){return _0x306755(_0x363466,_0x4aab5e- -0x353);}_0x554b8a[_0x1a493d(0x863,-0x1fe)]=_0x554b8a['zIndex']??0x989680,_0x554b8a['style']={...DEF_STYLE$c,..._0x554b8a[_0x22e8b8(0x6c,_0xee84e9._0x27ff5c)]||{}},super(_0x554b8a),this['_depthTest']=this[_0x1a493d(0x8a9,0x832)][_0x1a493d(0xce9,0x14dd)]??this['style'][_0x22e8b8(_0xee84e9._0x5d11dd,_0xee84e9._0x487efd)]??![],this['once'](EventType['load'],()=>{const _0x455c8f={_0x58c215:0x2b7};function _0x45db63(_0x501b99,_0x2c0293){return _0x22e8b8(_0x2c0293,_0x501b99- -0xa2);}function _0x197e78(_0x59e627,_0x5e756){return _0x22e8b8(_0x5e756,_0x59e627-_0x455c8f._0x58c215);}this[_0x45db63(0xed8,_0x12112b._0x18600f)](),delete this[_0x45db63(0x6cf,-_0x12112b._0x2f764a)];});}get['target'](){const _0x8451bf={_0x3ef760:0xd13};var _0xbdfe1b;function _0x5c81aa(_0xe1b74,_0x4b6225){return _0x306755(_0x4b6225,_0xe1b74-0xb6);}return(_0xbdfe1b=this[_0x5c81aa(_0x8451bf._0x3ef760,0x13a1)])===null||_0xbdfe1b===void 0x0?void 0x0:_0xbdfe1b['target'];}get['eventTarget'](){const _0x45b485={_0x2eaaf0:0xa42,_0x2a989e:0x7ad,_0x1663b1:0x99e},_0xab7f44={_0x8bb15e:0x592};var _0x5d476a,_0x1c2c03;function _0x2757d9(_0x51482c,_0x798141){return _0x2b6441(_0x51482c,_0x798141-0x2aa);}if((_0x5d476a=this[_0x2757d9(0x13aa,0x966)])!==null&&_0x5d476a!==void 0x0&&_0x5d476a['event'])return this['options']['event'];function _0x312f95(_0x112ef0,_0x178244){return _0x306755(_0x178244,_0x112ef0- -_0xab7f44._0x8bb15e);}return(_0x1c2c03=this['options'])!==null&&_0x1c2c03!==void 0x0&&_0x1c2c03[_0x312f95(_0x45b485._0x2eaaf0,_0x45b485._0x2a989e)]?this['options'][_0x2757d9(_0x45b485._0x1663b1,0xcdd)]:this;}['_getDefaultTemplate'](){const _0xc1b1bb={_0x3f4ff3:0x630,_0x274b29:0x8b0,_0x18b380:0x29f,_0x31a51c:0x98a,_0x3fa262:0xe1c,_0x1a8d6d:0x892,_0xf1eedf:0x3cf},_0x3d2d4e={_0x53ebb0:0x5b7},_0x56902d={_0x3ae6d8:0x65b};let _0x46c43f;this['style']['closeButton']??!![]?_0x46c43f='<span\x20\x20class=\x22mars3d-popup-close-button\x20mars3d-popup-color\x20closeButton\x22\x20>×</span>':_0x46c43f='';function _0x1d7db7(_0x50e39e,_0x16af94){return _0x2b6441(_0x16af94,_0x50e39e-_0x56902d._0x3ae6d8);}let _0x897b2c='';this['style'][_0x1d7db7(0x1821,0x15dd)]&&(_0x897b2c+='max-width:\x20'+this['style']['maxWidth']+'px;');this[_0x1d7db7(0x910,_0xc1b1bb._0x3f4ff3)][_0x1d7db7(_0xc1b1bb._0x274b29,0x8e5)]&&(_0x897b2c+='min-width:\x20'+this['style'][_0x1d7db7(_0xc1b1bb._0x274b29,0x4fe)]+'px;');function _0x2be67b(_0x196cec,_0x56a8a6){return _0x306755(_0x56a8a6,_0x196cec- -_0x3d2d4e._0x53ebb0);}return this['style']['maxHeight']&&(_0x897b2c+='max-height:\x20'+this[_0x2be67b(_0xc1b1bb._0x18b380,_0xc1b1bb._0x31a51c)][_0x2be67b(0xd08,_0xc1b1bb._0x3fa262)]+_0x1d7db7(_0xc1b1bb._0x1a8d6d,0x1236)),'\x0a\x20\x20\x20\x20\x20\x20<div\x20class=\x22mars3d-popup\x20'+(!this[_0x2be67b(0x29f,_0xc1b1bb._0xf1eedf)]['timeRender']&&this['options']['animation']?'mars3d-popup-animation':'')+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x46c43f+_0x2be67b(0xa36,0x1389)+this['id']+'\x22\x20\x20class=\x22mars3d-popup-content\x20mars3d-popup-color\x22\x20style=\x22'+_0x897b2c+'\x22>{content}</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22mars3d-popup-tip-container\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22mars3d-popup-tip\x20mars3d-popup-background\x22></div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20</div>';}['_updateTemplateContentHtml'](_0x2d1fe1){const _0x5a4b35={_0x44d805:0x51f},_0x3b8ada=this['_container']['querySelector'](_0x2b4db0(-_0x5a4b35._0x44d805,0x39b)+this['id']);if(_0x3b8ada)return _0x3b8ada['innerHTML']=_0x2d1fe1,!![];function _0x2b4db0(_0x45c341,_0x521655){return _0x306755(_0x45c341,_0x521655- -0x478);}return![];}['_appendHtmlHook'](){const _0x479ba6={_0x2cf90b:0x798,_0x17450a:0xd1f},_0x22cbb3=this['_container']['querySelector']('.closeButton');_0x22cbb3&&_0x22cbb3['addEventListener']('click',_0x47c66d=>{const _0x53f19b={_0x3babae:0x6d},_0x5b24ac={_0x141bc2:0x42};function _0x364b0d(_0x5518f0,_0x2cd6de){return _0x5bbe(_0x2cd6de- -_0x5b24ac._0x141bc2,_0x5518f0);}function _0x1f567e(_0x580a95,_0x1f5b88){return _0x5bbe(_0x580a95- -_0x53f19b._0x3babae,_0x1f5b88);}this[_0x1f567e(0xcf4,_0x479ba6._0x2cf90b)]&&this['target']['closeHighlight']&&this[_0x364b0d(0x897,_0x479ba6._0x17450a)]['closeHighlight'](),this[_0x364b0d(-0x381,0x707)](!![]);});}['update'](_0x55e96a){if(!this[_0x371067(0x185c,0x18b9)])return;super['update'](_0x55e96a);function _0x371067(_0x56bc12,_0x1fd53d){return _0x2b6441(_0x1fd53d,_0x56bc12-0x634);}this['_fireTarget_render']();}[_0x306755(0x1c36,0x16b6)](_0x1aa9b8,_0x230fcf={},_0x21b322=!![]){const _0x2f1897={_0x53c1b3:0x143,_0x5a5627:0x90d,_0x4150c5:0x2de,_0x2c14ad:0xa89,_0x3506ca:0x9b9},_0x489075={_0x492b2a:0x2f};function _0x972446(_0x16be5f,_0x1f52d2){return _0x2b6441(_0x1f52d2,_0x16be5f-_0x489075._0x492b2a);}const _0x59dfe0=this['target']||this['_map'];function _0x3de3ae(_0x5a3b3d,_0x3e7e01){return _0x306755(_0x5a3b3d,_0x3e7e01- -0x561);}if(_0x59dfe0){if(this['options']['event'])for(const _0x5e259f in this['options']['event']){if(_0x5e259f==='options'||_0x5e259f==='content')continue;_0x230fcf[_0x5e259f]=this[_0x972446(0x6eb,_0x2f1897._0x53c1b3)][_0x3de3ae(0x80,_0x2f1897._0x5a5627)][_0x5e259f];}_0x230fcf['sourceTarget']=_0x59dfe0,_0x230fcf[_0x972446(0x78a,_0x2f1897._0x4150c5)]=this['attr'],_0x230fcf['container']=this[_0x972446(_0x2f1897._0x2c14ad,0x32a)],this[_0x972446(0x88a,0x1143)](_0x230fcf),_0x59dfe0[_0x3de3ae(_0x2f1897._0x3506ca,0x328)](_0x1aa9b8,_0x230fcf,_0x21b322);}}['_fireBindDataEx'](_0x7be491){function _0x589014(_0x5f5823,_0x263f1f){return _0x2b6441(_0x5f5823,_0x263f1f-0x6f2);}_0x7be491[_0x589014(0x8b2,0xbeb)]=this;}['_addedHook'](_0x5c5cac){const _0x854d2c={_0x1c89b9:0xc5d,_0x3ca9c9:0xaa7,_0x2c8e9b:0x1241},_0xac2ee7={_0x331870:0xb1e,_0x1d168a:0xec3,_0x60e027:0x9b2};super['_addedHook'](_0x5c5cac);function _0x57b8ee(_0x255ff7,_0x46c74f){return _0x306755(_0x46c74f,_0x255ff7- -0x377);}function _0x2c0dde(_0x45a8cc,_0x19339c){return _0x2b6441(_0x19339c,_0x45a8cc-0x589);}this['once'](EventType['change'],_0x47914f=>{function _0x11c916(_0x34050e,_0x181df8){return _0x5bbe(_0x181df8-0x32c,_0x34050e);}function _0x44d058(_0x558aa6,_0x4d0b78){return _0x5bbe(_0x558aa6- -0x166,_0x4d0b78);}if(this['options']['autoCenter']&&this['_map']){let _0x40e6ba=![];_0x47914f['y']<0x0&&(_0x40e6ba=!![]);_0x47914f['x']<0x0&&(_0x40e6ba=!![]);_0x47914f['x']>this['_map'][_0x11c916(0x4a6,_0xac2ee7._0x331870)]['canvas']['clientWidth']-_0x47914f[_0x44d058(0x812,0x766)]&&(_0x40e6ba=!![]);if(_0x40e6ba){const _0x33be77=_0x47914f[_0x44d058(0x812,_0xac2ee7._0x1d168a)]/0x2+_0x47914f['x'],_0x3693c4=_0x47914f[_0x11c916(_0xac2ee7._0x60e027,0xcab)]/0x2+_0x47914f['y'],_0x520e1c=new Cesium__namespace['Cartesian2'](_0x33be77,_0x3693c4),_0x9ddd32=getCurrentMouseTerrainPosition(this['_map'][_0x44d058(0x68c,-0x2e1)],_0x520e1c);this['_map'][_0x44d058(0xd64,0x1275)](_0x9ddd32);}}}),this[_0x57b8ee(_0x854d2c._0x1c89b9,0xb35)]&&this[_0x57b8ee(_0x854d2c._0x1c89b9,0x52f)]['on'](EventType['updatePosition'],this[_0x2c0dde(_0x854d2c._0x3ca9c9,_0x854d2c._0x2c8e9b)],this);}['_removedHook'](){const _0x3f8dad={_0x1c5be5:0xc57,_0x149130:0x490};this['target']&&this['target'][_0x1656cd(_0x3f8dad._0x1c5be5,0x3e2)](EventType[_0x1656cd(_0x3f8dad._0x149130,-0x2e)],this['_graphic_updatePosition'],this);function _0x1656cd(_0x2d122c,_0x34d560){return _0x2b6441(_0x2d122c,_0x34d560-0x17);}function _0x5896f9(_0x4c5916,_0x32f3b7){return _0x2b6441(_0x32f3b7,_0x4c5916-0x617);}this[_0x1656cd(0x1a5c,0x1341)](),super['_removedHook']();}['_graphic_updatePosition'](_0x403fda){const _0x64c6d7={_0x122ebe:0x1a0f};function _0x1e21df(_0x19145a,_0x51a72b){return _0x2b6441(_0x51a72b,_0x19145a-0x6bd);}var _0x1f6f7b;(_0x1f6f7b=_0x403fda['graphic'])!==null&&_0x1f6f7b!==void 0x0&&_0x1f6f7b['_getPopupPosition']&&(this['position']=_0x403fda[_0x1e21df(_0x64c6d7._0x122ebe,0x1bb6)]['_getPopupPosition']());}['_fireTarget_open'](){const _0x37bce7={_0x3b17eb:0x3b4},_0xa832={_0x117a50:0x49c};function _0x7d33dd(_0xf5f43e,_0x2e430e){return _0x2b6441(_0xf5f43e,_0x2e430e-_0xa832._0x117a50);}this['fireTarget'](EventType[_0x7d33dd(-0x281,_0x37bce7._0x3b17eb)]);}[_0x306755(0x12c6,0x18cb)](){this['fireTarget'](EventType['popupClose']);}['_fireTarget_render'](){const _0x1e683c={_0x12694a:0x9e9,_0x276ac1:0xcfe},_0xb59978={_0x419cf5:0x71};function _0x7ad8aa(_0x36de24,_0xa8ef04){return _0x306755(_0xa8ef04,_0x36de24- -0x2fd);}function _0x3c40f4(_0x5e7ca6,_0x32cb92){return _0x306755(_0x5e7ca6,_0x32cb92-_0xb59978._0x419cf5);}this['fireTarget'](EventType[_0x7ad8aa(0x4f6,_0x1e683c._0x12694a)],{'container':this[_0x7ad8aa(_0x1e683c._0x276ac1,0xdc9)]});}['_closeAllControl'](){}['_container_onClickHandler'](){}['_container_onMousedownHandler'](){}['_container_onMouseMoveHandler'](){}[_0x2b6441(0x70d,0xe4a)](){}['hasBindEvent'](){const _0x1301f6={_0x247041:0xa3,_0x537409:0x885};function _0x4593ba(_0x363d48,_0x694635){return _0x306755(_0x363d48,_0x694635- -0x5de);}return this['options'][_0x4593ba(-_0x1301f6._0x247041,_0x1301f6._0x537409)]??!![];}['_updateDivPosition_Ex'](_0x2d56b9){}}register$5('popup',Popup);class Tooltip extends Popup{['_getDefaultTemplate'](){const _0x2583cd={_0x1dce70:0x183f,_0x1fa99a:0x9e8},_0x5777de={_0x2d25ad:0x17c};function _0x558d01(_0x19b32b,_0x439765){return _0x2b6441(_0x439765,_0x19b32b-0x270);}function _0x5a6aa9(_0x5c34f5,_0x3f3ba1){return _0x306755(_0x5c34f5,_0x3f3ba1- -_0x5777de._0x2d25ad);}return _0x5a6aa9(0x218e,_0x2583cd._0x1dce70)+this['id']+_0x558d01(_0x2583cd._0x1fa99a,0xe6e);}['_appendHtmlHook'](){super['_appendHtmlHook'](),this['_containerTooltip']=this['_container']['querySelector']('#tooltip-'+this['id']);}[_0x2b6441(-0x7f8,-0x3)](_0x3c5e65){if(this['_containerTooltip'])return this[_0x55aae3(0x189c,0xf79)][_0x55aae3(0x198a,0x19fe)]=_0x3c5e65,!![];function _0x55aae3(_0xc66b15,_0x5ae872){return _0x306755(_0xc66b15,_0x5ae872-0x16c);}function _0x12b7ae(_0x3e3db1,_0x4b4bbe){return _0x2b6441(_0x3e3db1,_0x4b4bbe-0x6be);}return![];}['_fireBindDataEx'](_0x11e711){const _0x31afb3={_0x46628f:0x9d3,_0x14c2a7:0x7c7};function _0x3f0982(_0x10839a,_0x855bc9){return _0x2b6441(_0x855bc9,_0x10839a-0x96);}_0x11e711[_0x3f0982(_0x31afb3._0x46628f,_0x31afb3._0x14c2a7)]=this;}['_fireTarget_open'](){this['fireTarget'](EventType['tooltipOpen']);}[_0x306755(0x1490,0x18cb)](){function _0x32e45b(_0x2f3d96,_0x4888f3){return _0x306755(_0x4888f3,_0x2f3d96- -0x355);}this[_0x32e45b(0x1361,0x134f)](EventType['tooltipClose']);}['_fireTarget_render'](){const _0x217e08={_0x252a83:0x1646,_0x2cde42:0xb87};function _0x2ebf65(_0x4bd7bf,_0x49257a){return _0x2b6441(_0x4bd7bf,_0x49257a-0x12d);}this['fireTarget'](EventType['tooltipRender'],{'container':this[_0x2ebf65(_0x217e08._0x252a83,_0x217e08._0x2cde42)]});}[_0x2b6441(-0x719,0x2c1)](_0x1f8951){const _0x3f0e0d={_0x3adc91:0x5c2,_0x5c98b2:0x914,_0x24f1ce:0x5c2,_0x1fab2c:0x1444,_0x32d7bc:0x179e,_0x5973e1:0x1431,_0x2248ef:0x1993,_0x4fbffe:0x16c7,_0x201e94:0x13c3,_0x3081af:0xfd6,_0x226b6d:0x142d};if(Cesium__namespace['defined'](this['style']['template']))return super['_getDivOffset'](_0x1f8951);const _0x3b5be5=this['divHeight'],_0x3091ec=this['divWidth'];function _0x2662ad(_0x30c0f7,_0x1ca0d0){return _0x2b6441(_0x1ca0d0,_0x30c0f7-0x49f);}const _0x43b90c=0xa;let _0x24eefc=this[_0x536dd8(_0x3f0e0d._0x3adc91,0x1f2)][_0x536dd8(_0x3f0e0d._0x5c98b2,-0x9d)]??this['options']['offsetX']??0x0,_0x543564=this[_0x536dd8(_0x3f0e0d._0x24f1ce,0xb08)]['offsetY']??this[_0x2662ad(0xb5b,_0x3f0e0d._0x1fab2c)][_0x2662ad(0x141c,_0x3f0e0d._0x32d7bc)]??0x0,_0x385216=this['style'][_0x2662ad(0x1439,0x1979)];function _0x536dd8(_0x2e2106,_0x5efa12){return _0x306755(_0x5efa12,_0x2e2106- -0x294);}!Cesium__namespace['defined'](_0x385216)&&(_0x1f8951['y']<_0x3b5be5+_0x43b90c?_0x385216='bottom':_0x385216=_0x536dd8(_0x3f0e0d._0x5973e1,0xb1c),_0x1f8951['x']<_0x3091ec+_0x43b90c&&(_0x385216=_0x2662ad(0x142d,_0x3f0e0d._0x2248ef)),_0x1f8951['x']>this[_0x2662ad(_0x3f0e0d._0x4fbffe,_0x3f0e0d._0x201e94)]['scene']['canvas']['clientWidth']-_0x3091ec-_0x43b90c&&(_0x385216=_0x2662ad(0xea2,0x17eb)),this['_direction_last']&&removeClass(this['_containerTooltip'],'mars3d-tooltip-'+this[_0x2662ad(0x1565,_0x3f0e0d._0x3081af)]),this['_direction_last']=_0x385216,addClass(this['_containerTooltip'],_0x536dd8(0x874,0x87)+_0x385216));switch(_0x385216){case'center':_0x24eefc+=-_0x3091ec/0x2,_0x543564+=-_0x3b5be5/0x2;break;case _0x2662ad(_0x3f0e0d._0x226b6d,0x1213):_0x24eefc+=_0x43b90c,_0x543564+=-_0x3b5be5/0x2;break;case'left':_0x24eefc+=-_0x3091ec-_0x43b90c,_0x543564+=-_0x3b5be5/0x2;break;case'bottom':_0x24eefc+=-_0x3091ec/0x2,_0x543564+=_0x43b90c;break;case'top':default:_0x24eefc+=-_0x3091ec/0x2,_0x543564+=-_0x3b5be5-_0x43b90c;break;}const _0x10f528={};return _0x10f528['height']=_0x3b5be5,_0x10f528['width']=_0x3091ec,_0x10f528['xOffset']=_0x24eefc,_0x10f528['yOffset']=_0x543564,_0x10f528;}}register$5(_0x306755(0xd94,0xede),Tooltip);const _0x347b09={};_0x347b09['roll']=0x5a,_0x347b09['scale']=0x1;const DEF_STYLE$b=_0x347b09;class DivPlane extends DivGraphic{constructor(_0x5a27f7={}){const _0x36195d={_0x38d678:0xac8,_0x3db33f:0x4d4},_0x217391={_0x5814ff:0x382};function _0x43e23f(_0x46468d,_0x10c7b7){return _0x306755(_0x10c7b7,_0x46468d- -_0x217391._0x5814ff);}_0x5a27f7[_0x43e23f(0x4d4,_0x36195d._0x38d678)]={...DEF_STYLE$b,..._0x5a27f7[_0x43e23f(_0x36195d._0x3db33f,-0xc1)]};function _0x50eea7(_0x1751c1,_0x3886ac){return _0x2b6441(_0x1751c1,_0x3886ac- -0x9b);}super(_0x5a27f7);}get[_0x2b6441(0x98f,0xaaa)](){const _0x3204d1={_0x5bc2b0:0x119f};function _0x26256e(_0x1d85c2,_0x1c97d1){return _0x2b6441(_0x1d85c2,_0x1c97d1-0x6f5);}return this['_orientation']||this['options'][_0x26256e(0xc7a,_0x3204d1._0x5bc2b0)];}set['orientation'](_0x359afa){const _0x89ea={_0x1f41c4:0x732},_0x288c25={_0x24c1d8:0x4bf};function _0x125ab6(_0x276cdb,_0x11f127){return _0x2b6441(_0x276cdb,_0x11f127-_0x288c25._0x24c1d8);}this[_0x125ab6(0xfff,_0x89ea._0x1f41c4)]=_0x359afa;}get['isDynamicProperty'](){const _0x22d9fd={_0x442dd2:0x4e2,_0x538aa7:0xa7e};function _0x214a2b(_0x4d930d,_0x23a3c6){return _0x2b6441(_0x23a3c6,_0x4d930d- -0x2d);}if(this['property']||this['availability']||this[_0x214a2b(0x2ed,_0x22d9fd._0x442dd2)])return!![];function _0x1e89c7(_0x247c8,_0x1507b4){return _0x2b6441(_0x1507b4,_0x247c8-0x140);}const _0x322bb8=this['position'];if(_0x322bb8 instanceof Cesium__namespace[_0x214a2b(0x481,_0x22d9fd._0x538aa7)]||_0x322bb8 instanceof Cesium__namespace['SampledPositionProperty'])return!![];return![];}['_updateAvailabilityHook'](_0x53861a){super['_updateAvailabilityHook'](_0x53861a),!_0x53861a&&this['update'](this['_map']['scene']['_frameState']);}['_mountedHook'](){initParentContainer(this['_layer']),super['_mountedHook']();}[_0x306755(0x759,0x99e)](_0x4813fc){super['_addedHook'](_0x4813fc),this['_updateDivPosition']();}['_getDefaultTemplate'](){const _0x199926={_0x5cf5bf:0x329};function _0x29966b(_0xce7e06,_0x84d5f0){return _0x306755(_0x84d5f0,_0xce7e06- -0x154);}function _0x34959d(_0x5a1b8d,_0x108748){return _0x306755(_0x108748,_0x5a1b8d- -0x2c5);}return'<div\x20id=\x22divPlane-'+this['id']+_0x34959d(0x478,-0x4e6)+this[_0x29966b(0x405,_0x199926._0x5cf5bf)]()+';\x20\x22>{content}</div>';}[_0x306755(0xeca,0xedf)](_0x25d54c){const _0x3e9701={_0x330590:0x276},_0xdb9246={_0x45bd07:0x4aa};super['_updateStyleBaseHook'](_0x25d54c);function _0xbe6ec(_0x59bc93,_0x3edfb4){return _0x306755(_0x59bc93,_0x3edfb4- -_0xdb9246._0x45bd07);}function _0x415230(_0x9b4a5e,_0x2d55e8){return _0x306755(_0x2d55e8,_0x9b4a5e- -0x214);}if(Cesium__namespace['defined'](_0x25d54c['horizontalOrigin'])||Cesium__namespace['defined'](_0x25d54c['verticalOrigin'])){const _0x362839=this[_0xbe6ec(-0xb6,0x299)]['querySelector']('#divPlane-'+this['id']);_0x362839&&(_0x362839['style'][_0xbe6ec(-_0x3e9701._0x330590,0x329)]=this['_getTemplateTranslate']());}}['_getTemplateTranslate'](){const _0x1b3d72={_0x261975:0x673,_0x52b17a:0xf2f,_0x13769f:0xfe1,_0x4f1bc3:0x7f6,_0x5c567f:0x10ac,_0x26b567:0xa83,_0x1e40b8:0x389,_0x3b7163:0x673,_0x29daf5:0x12d9,_0x57c97d:0x199e,_0x58b488:0xd8b},_0x32f391={_0x10fe0d:0x3be},_0x560a5f={_0x39e931:0x649};let _0x89cf02,_0x3c88a7;switch(this[_0x2a4b90(0x669,_0x1b3d72._0x261975)]['horizontalOrigin']){case _0x3f2dbe(_0x1b3d72._0x52b17a,_0x1b3d72._0x13769f):case Cesium__namespace[_0x2a4b90(_0x1b3d72._0x4f1bc3,0x389)][_0x3f2dbe(0xc60,0xfe1)]:_0x89cf02=_0x3f2dbe(0x26e,0xb4e);break;case'RIGHT':case Cesium__namespace[_0x3f2dbe(_0x1b3d72._0x5c567f,0x614)][_0x2a4b90(0x12aa,0x7e5)]:_0x89cf02=_0x2a4b90(0x309,0x55f);break;case'LEFT':case Cesium__namespace[_0x2a4b90(_0x1b3d72._0x26b567,_0x1b3d72._0x1e40b8)]['LEFT']:default:_0x89cf02='0';break;}switch(this[_0x2a4b90(0x1a9,_0x1b3d72._0x3b7163)][_0x3f2dbe(0xb2d,_0x1b3d72._0x29daf5)]){case'TOP':case Cesium__namespace[_0x3f2dbe(0x234d,_0x1b3d72._0x57c97d)]['TOP']:_0x3c88a7='0';break;case _0x3f2dbe(0x17c4,0xfe1):case Cesium__namespace['VerticalOrigin']['CENTER']:_0x3c88a7='-50%';break;case'BOTTOM':case Cesium__namespace['VerticalOrigin']['BOTTOM']:default:_0x3c88a7='-100%';break;}function _0x3f2dbe(_0x5d5110,_0x15307a){return _0x2b6441(_0x5d5110,_0x15307a-_0x560a5f._0x39e931);}function _0x2a4b90(_0x1c0501,_0x17d6f6){return _0x2b6441(_0x1c0501,_0x17d6f6-_0x32f391._0x10fe0d);}return this['style']['offsetX']&&(_0x89cf02=this[_0x2a4b90(0xb3e,0x673)]['offsetX']+'px'),this[_0x3f2dbe(_0x1b3d72._0x58b488,0x8fe)]['offsetY']&&(_0x3c88a7=this[_0x3f2dbe(0x10b1,0x8fe)]['offsetY']+'px'),'translateX('+_0x89cf02+')\x20translateY('+_0x3c88a7+')';}[_0x306755(0x122b,0x1445)](){const _0x46fb42={_0x48082a:0x708,_0x49d7eb:0x38b,_0x51b264:0xb33,_0xb1f76f:0x124e,_0x5fc68f:0xd9e,_0x3bb32a:0x402,_0x3ea702:0x11ee,_0x2a9115:0xa54,_0x20f961:0x316,_0x318b17:0x564,_0x4c5b72:0x11a3,_0x485d56:0x66d,_0x57af7f:0x3b2,_0x4010f1:0x433,_0x2b3606:0x98c},_0x553c75={_0x234097:0x42d},_0x5b0d3e={_0xa1a0b7:0x4a4};function _0x6422b6(_0x418ce2,_0x4e56ac){return _0x306755(_0x4e56ac,_0x418ce2- -_0x5b0d3e._0xa1a0b7);}var _0x1869a1;if(!this['getRealShow']())return![];const _0x5798b1=this['_map']['scene'],_0x2276f2=this['_map']['camera'];let _0x1e4501=getPositionValue(this['position'],(_0x1869a1=this['_map'])===null||_0x1869a1===void 0x0?void 0x0:_0x1869a1[_0x6422b6(0xef6,0x7ca)][_0x6422b6(_0x46fb42._0x48082a,0xad8)]);if(!Cesium__namespace[_0x41adb8(0x1385,0xa30)](_0x1e4501))return this[_0x6422b6(_0x46fb42._0x49d7eb,-0x218)](),![];if(!this['_hasAsynSurfacePosition']){const _0x5a2894=this['style']['heightReference'];(this['style'][_0x41adb8(0x8f,_0x46fb42._0x51b264)]||Cesium__namespace['defined'](_0x5a2894)&&_0x5a2894!==Cesium__namespace[_0x41adb8(_0x46fb42._0xb1f76f,0x13d6)]['NONE'])&&(_0x1e4501=getSurfacePosition(this['_map'][_0x41adb8(0x638,0x378)],_0x1e4501,this['style']));}this['_position_show']=_0x1e4501;const _0x4faa14=this['distanceDisplayCondition'];let _0x147671=_0x2276f2['positionCartographic']['height'];function _0x41adb8(_0xe93366,_0x15eaf7){return _0x306755(_0x15eaf7,_0xe93366- -_0x553c75._0x234097);}(this[_0x6422b6(0x8d9,0x589)]||_0x4faa14)&&(_0x5798b1[_0x41adb8(0x11ee,0x17b8)]===Cesium__namespace['SceneMode'][_0x41adb8(_0x46fb42._0x5fc68f,0xba9)]&&(_0x147671=Cesium__namespace[_0x41adb8(0x5f4,0xfb4)]['distance'](_0x1e4501,_0x2276f2['positionWC'])));if(_0x4faa14&&(_0x4faa14['near']>_0x147671||_0x4faa14['far']<_0x147671))return this['_container'][_0x6422b6(0x3b2,-0x5de)]['display']==='block'&&this[_0x41adb8(_0x46fb42._0x3bb32a,0x168)](),![];if(this['depthTest']&&_0x5798b1[_0x41adb8(_0x46fb42._0x3ea702,0x18d0)]===Cesium__namespace['SceneMode']['SCENE3D']){const _0x4649e6=this[_0x41adb8(0x4ba,_0x46fb42._0x2a9115)](_0x1e4501);if(!_0x4649e6)return this[_0x41adb8(_0x46fb42._0x20f961,_0x46fb42._0x318b17)]['style'][_0x41adb8(0x1c6,0xab8)]===_0x6422b6(_0x46fb42._0x4c5b72,0xd3f)&&this[_0x41adb8(0x402,0x3c8)](),![];}this[_0x6422b6(0x29f,0xb56)][_0x41adb8(0x429,0xe4d)][_0x6422b6(0x14f,0xb55)]!=='block'&&(this['_container'][_0x41adb8(0x429,-0xa4)]['display']='block');const _0x1bf7a9=this[_0x41adb8(0x9d,_0x46fb42._0x485d56)](_0x1e4501,this['_orientation']);this[_0x6422b6(0x29f,-0x23)][_0x6422b6(_0x46fb42._0x57af7f,-_0x46fb42._0x4010f1)]['transform']=getObjectCSSMatrix(_0x1bf7a9);let _0x554dd3=this['options']['zIndex']??_0x41adb8(0x5b5,0x790);this[_0x6422b6(0x8d9,0xbd)]&&(_0x554dd3=Math[_0x6422b6(0xc8b,0xa9d)](0x98967f-_0x147671),_0x554dd3<=0x0&&(_0x554dd3=0x98967f)),this['_container'][_0x6422b6(0x3b2,_0x46fb42._0x2b3606)]['zIndex']=_0x554dd3;}[_0x2b6441(0x28f,-0xd7)](_0x50f5b5,_0x553dea){const _0x1bbee1={_0x5793b0:0xf99,_0x27d7b9:0x84c,_0x3db1a5:0x167e,_0x284d0f:0xba2,_0x55b04e:0xe94,_0x2e465e:0x8a1,_0xb840dc:0x17a8,_0x2b6d8b:0x10,_0x11ea93:0xa5a,_0x83bea9:0x13d1,_0x4908db:0xc6e},_0x5c3e38={_0x66269:0x597};if(!_0x50f5b5)return Cesium__namespace[_0x30611f(0x163c,0xb68)]['IDENTITY'];let _0x64d50c=Cesium__namespace['Math'][_0x9848a3(0xf55,0xa81)](this['style']['heading']||0x0),_0x39c848=Cesium__namespace[_0x9848a3(_0x1bbee1._0x5793b0,0x1220)]['toRadians'](this[_0x30611f(0x7b1,_0x1bbee1._0x27d7b9)]['pitch']||0x0),_0x236037=Cesium__namespace['Math']['toRadians'](this['style']['roll']||0x0);if(_0x553dea){if(_0x553dea['getValue']){var _0x508523;_0x553dea=_0x553dea['getValue']((_0x508523=this[_0x9848a3(0xe91,_0x1bbee1._0x3db1a5)])===null||_0x508523===void 0x0||(_0x508523=_0x508523['clock'])===null||_0x508523===void 0x0?void 0x0:_0x508523[_0x30611f(0x124d,_0x1bbee1._0x284d0f)]);}if(_0x553dea){const _0x1eeb3f=getHeadingPitchRollByOrientation(_0x50f5b5,_0x553dea);this[_0x30611f(_0x1bbee1._0x55b04e,_0x1bbee1._0x27d7b9)]['mergeOrientation']?(_0x64d50c+=_0x1eeb3f['heading'],_0x236037+=_0x1eeb3f[_0x9848a3(-0x19b,_0x1bbee1._0x2e465e)],_0x39c848+=_0x1eeb3f['pitch']):(!Cesium__namespace[_0x30611f(0xe5f,_0x1bbee1._0xb840dc)](this['style']['heading'])&&(_0x64d50c=_0x1eeb3f['heading']),!Cesium__namespace[_0x9848a3(0xef9,0x1667)](this[_0x30611f(0x12dc,0x84c)][_0x30611f(0x1424,0x9e2)])&&(_0x236037=_0x1eeb3f[_0x30611f(-_0x1bbee1._0x2b6d8b,0x9e2)]),!Cesium__namespace['defined'](this['style'][_0x9848a3(0x11ef,_0x1bbee1._0x11ea93)])&&(_0x39c848=_0x1eeb3f[_0x9848a3(0x43c,0xa5a)]));}}this[_0x30611f(0x1231,_0x1bbee1._0x83bea9)]=_0x64d50c,this['_pitch_reality']=_0x39c848,this['_roll_reality']=_0x236037;const _0x31ba17=Cesium__namespace['Transforms']['headingPitchRollToFixedFrame'](_0x50f5b5,new Cesium__namespace[(_0x30611f(_0x1bbee1._0x4908db,0x148e))](_0x64d50c,_0x39c848,_0x236037),Cesium__namespace[_0x30611f(0xf1f,0x121d)][_0x30611f(0xe3e,0x10ad)],this['options']['fixedFrameTransform']),_0x5254eb=this['style'][_0x9848a3(0x14dc,0xb89)];Cesium__namespace['defined'](_0x5254eb)&&_0x5254eb!==0x1&&Cesium__namespace['Matrix4']['multiplyByScale'](_0x31ba17,new Cesium__namespace['Cartesian3'](_0x5254eb,_0x5254eb,_0x5254eb),_0x31ba17);function _0x9848a3(_0x4d501a,_0x368370){return _0x306755(_0x4d501a,_0x368370- -0x14b);}function _0x30611f(_0x4ecd59,_0x8409c3){return _0x2b6441(_0x4ecd59,_0x8409c3-_0x5c3e38._0x66269);}return _0x31ba17;}['bindUpdateEvent'](){}get['parentContainer'](){const _0x506f8b={_0x50cbcc:0x587};function _0x341318(_0x4ffbd6,_0x5d3ca7){return _0x2b6441(_0x5d3ca7,_0x4ffbd6-0x4d6);}return this['_layer'][_0x341318(0xaf9,_0x506f8b._0x50cbcc)];}}register$5('divPlane',DivPlane,!![]);function initParentContainer(_0x16e726){const _0x30664b={_0x4543fe:0x4aa,_0x4cc66e:0x40f,_0x6aa622:0x9b5,_0x1f23c0:0xc4b,_0x117db5:0x602,_0x1353bd:0xa64,_0x2de84d:0x1337,_0x36732c:0x9cd,_0x1ebe88:0x1485,_0x2a3b5f:0x997,_0x52424b:0xc0f,_0x49bc2a:0x1b5,_0x1e6104:0x7ab,_0x1c1c9e:0x3e9,_0x4cefe7:0x1ec},_0x473a79={_0x18576c:0x34d},_0x41f9f0={_0x438bf6:0x100d,_0x3b214d:0x1225,_0x59239a:0x59c};function _0x206540(_0x3e73b8,_0x5bd8ce){return _0x2b6441(_0x3e73b8,_0x5bd8ce-0x1f5);}if(_0x16e726['_initDivPlane'])return;_0x16e726[_0x206540(0x1ac5,0x155a)]=!![];const _0x5ef47c=_0x16e726['_map']['camera'],_0x143669=_0x16e726['_map']['container'],_0x568d21=_0x16e726['container'];_0x568d21[_0x206540(-0x2b0,_0x30664b._0x4543fe)]['position']=_0x206540(_0x30664b._0x4cc66e,0x4cb),_0x568d21[_0x206540(_0x30664b._0x6aa622,0x4aa)]['top']='0',_0x568d21['style']['left']='0',_0x568d21[_0x206540(_0x30664b._0x1f23c0,0x4aa)]['width']='100%',_0x568d21['style'][_0x3c06c3(0x99e,0xfe9)]='100%',_0x568d21[_0x3c06c3(_0x30664b._0x117db5,0x67c)][_0x3c06c3(0xc0f,_0x30664b._0x1353bd)]='none',_0x568d21['style'][_0x206540(0x1a09,0x1477)]=_0x3c06c3(_0x30664b._0x2de84d,_0x30664b._0x36732c);const _0x1916d5=create$4('div',_0x206540(0xaeb,0x12b6),_0x568d21);_0x1916d5['style']['transformStyle']=_0x3c06c3(_0x30664b._0x1ebe88,0x192d),_0x1916d5['style'][_0x3c06c3(_0x30664b._0x2a3b5f,0x71e)]=_0x206540(0xdf1,0xa8a),_0x1916d5['style'][_0x3c06c3(0x99e,0xbf)]='100%',_0x1916d5['style'][_0x3c06c3(_0x30664b._0x52424b,_0x30664b._0x49bc2a)]='none',_0x16e726['_container_camera']=_0x1916d5;let _0x48f7e4;_0x16e726[_0x3c06c3(_0x30664b._0x1e6104,0x872)]=function(_0x299c5c){const _0xb2e239={_0x1b945d:0x1a1},_0x502a6b=_0x143669['clientHeight']/0x2,_0x3a3b6a=_0x143669[_0x305d72(0x1944,0x1507)]/0x2;function _0x305d72(_0x3bc945,_0x195dcc){return _0x3c06c3(_0x195dcc-_0xb2e239._0x1b945d,_0x3bc945);}const _0xe45d33=_0x5ef47c['frustum']['projectionMatrix'][0x5]*_0x502a6b+'px';function _0x4954a2(_0x40ca94,_0x12ce82){return _0x206540(_0x40ca94,_0x12ce82- -0x1ba);}_0x568d21['style']['perspective']=_0xe45d33;const _0x54ddd8=getCameraCSSMatrix(_0x5ef47c[_0x4954a2(0xdf1,_0x41f9f0._0x438bf6)]),_0x41d99f='translateZ('+_0xe45d33+')\x20'+_0x54ddd8+'\x20translate('+_0x3a3b6a+'px,'+_0x502a6b+_0x305d72(_0x41f9f0._0x3b214d,0x766);_0x48f7e4!==_0x41d99f&&(_0x1916d5[_0x4954a2(_0x41f9f0._0x59239a,0x2f0)]['transform']=_0x41d99f,_0x48f7e4=_0x41d99f),this['eachGraphic'](_0x128f10=>{_0x128f10['isDynamicProperty']&&_0x128f10['update'](_0x299c5c);});};function _0x3c06c3(_0x580332,_0xda2eb7){return _0x2b6441(_0xda2eb7,_0x580332-_0x473a79._0x18576c);}_0x16e726[_0x3c06c3(_0x30664b._0x1c1c9e,_0x30664b._0x4cefe7)]();}function getObjectCSSMatrix(_0x1bb09b){const _0x1abc1d={_0x1c41e8:0x28e,_0x4bcd41:0x3f2};function _0x51b9fc(_0x4c8435,_0x5bec3f){return _0x306755(_0x4c8435,_0x5bec3f- -0x3a0);}return _0x51b9fc(_0x1abc1d._0x1c41e8,_0x1abc1d._0x4bcd41)+formatNum(_0x1bb09b[0x0])+','+formatNum(_0x1bb09b[0x1])+','+formatNum(_0x1bb09b[0x2])+','+formatNum(_0x1bb09b[0x3])+','+formatNum(-_0x1bb09b[0x4])+','+formatNum(-_0x1bb09b[0x5])+','+formatNum(-_0x1bb09b[0x6])+','+formatNum(-_0x1bb09b[0x7])+','+formatNum(_0x1bb09b[0x8])+','+formatNum(_0x1bb09b[0x9])+','+formatNum(_0x1bb09b[0xa])+','+formatNum(_0x1bb09b[0xb])+','+formatNum(_0x1bb09b[0xc])+','+formatNum(_0x1bb09b[0xd])+','+formatNum(_0x1bb09b[0xe])+','+formatNum(_0x1bb09b[0xf])+')';}function getCameraCSSMatrix(_0x3a3320){return'matrix3d('+formatNum(_0x3a3320[0x0])+','+formatNum(-_0x3a3320[0x1])+','+formatNum(_0x3a3320[0x2])+','+formatNum(_0x3a3320[0x3])+','+formatNum(_0x3a3320[0x4])+','+formatNum(-_0x3a3320[0x5])+','+formatNum(_0x3a3320[0x6])+','+formatNum(_0x3a3320[0x7])+','+formatNum(_0x3a3320[0x8])+','+formatNum(-_0x3a3320[0x9])+','+formatNum(_0x3a3320[0xa])+','+formatNum(_0x3a3320[0xb])+','+formatNum(_0x3a3320[0xc])+','+formatNum(-_0x3a3320[0xd])+','+formatNum(_0x3a3320[0xe])+','+formatNum(_0x3a3320[0xf])+')';}function formatNum(_0x296854){return Math['abs'](_0x296854)<1e-10?0x0:_0x296854;}const _0x503a62={};_0x503a62[_0x2b6441(0x2f4,0xa05)]=Cesium__namespace[_0x2b6441(0x4d7,-0x35)][_0x306755(0xe40,0xf39)],_0x503a62[_0x2b6441(0x7eb,0xc90)]=Cesium__namespace['VerticalOrigin']['CENTER'];const DEF_STYLE$a=_0x503a62;class DivGif extends DivGraphic{constructor(_0x2b7b6e={}){const _0x36e225={_0x271435:0xada,_0x26a2be:0xc24,_0x547f6d:0x1567,_0x3703d8:0x337};_0x2b7b6e[_0xe4623(0x78c,_0x36e225._0x271435)]={...DEF_STYLE$a,..._0x2b7b6e[_0x3a2684(0x83d,_0x36e225._0x26a2be)]},_0x2b7b6e['style'][_0x3a2684(0xfe1,_0x36e225._0x547f6d)]=getHtmlByStyle(_0x2b7b6e[_0x3a2684(0x83d,_0x36e225._0x3703d8)]);function _0x3a2684(_0x5367ae,_0x21c3c0){return _0x2b6441(_0x21c3c0,_0x5367ae-0x588);}function _0xe4623(_0x4b0970,_0x5da9d3){return _0x306755(_0x5da9d3,_0x4b0970- -0xca);}super(_0x2b7b6e);}[_0x2b6441(0xc09,0x93e)](_0x1c9016){const _0x5ed736={_0xa16b35:0xda3};function _0x3f12d9(_0x2fcc5c,_0x5221d5){return _0x306755(_0x5221d5,_0x2fcc5c- -0x4ff);}_0x1c9016['html']&&delete _0x1c9016['html'];(Cesium__namespace['defined'](_0x1c9016[_0x3f02d0(0x460,0x53c)])||Cesium__namespace['defined'](_0x1c9016[_0x3f12d9(0x6ec,0xe2f)])||Cesium__namespace['defined'](_0x1c9016[_0x3f12d9(0x6f3,0x34c)]))&&(this[_0x3f02d0(_0x5ed736._0xa16b35,0x979)]=getHtmlByStyle(this['style']));function _0x3f02d0(_0x1c95af,_0x3ddf43){return _0x306755(_0x3ddf43,_0x1c95af- -0x257);}return super['_updateStyleBaseHook'](_0x1c9016),this;}}register$5(_0x306755(0x14fa,0x14fd),DivGif,!![]);function getHtmlByStyle(_0x4cea67){const _0x589ff6={_0x5372aa:0x211,_0x184263:0x1db,_0x3bb6b8:0xbc3,_0x282e2e:0xaa9,_0x2c929a:0x62b};function _0x53b409(_0x336fbd,_0x358a56){return _0x306755(_0x358a56,_0x336fbd- -0x5c7);}let _0x15422f='';_0x4cea67['width']&&(isNumber(_0x4cea67['width'])?_0x15422f+='width:'+_0x4cea67['width']+_0x53b409(_0x589ff6._0x5372aa,-_0x589ff6._0x184263):_0x15422f+=_0x53b409(_0x589ff6._0x3bb6b8,0x146f)+_0x4cea67['width']+';');function _0x5c78b8(_0x8ee504,_0x39363b){return _0x2b6441(_0x39363b,_0x8ee504-0x3e5);}return _0x4cea67[_0x53b409(0x62b,0xe5b)]&&(isNumber(_0x4cea67['height'])?_0x15422f+=_0x53b409(0x86b,_0x589ff6._0x282e2e)+_0x4cea67['height']+'px;':_0x15422f+=_0x53b409(0x86b,0x1160)+_0x4cea67[_0x53b409(_0x589ff6._0x2c929a,0x48c)]+';'),'<img\x20src=\x22'+_0x4cea67['image']+_0x5c78b8(0x1353,0x13df)+_0x15422f+'\x22>';}const DEF_STYLE$9={'startColor':Cesium__namespace['Color'][_0x306755(0xc2,0x839)]['withAlpha'](0.3),'endColor':Cesium__namespace['Color']['WHITE']['withAlpha'](0x0),'startScale':0x2,'endScale':0x4,'minimumParticleLife':0x3,'maximumParticleLife':0x6,'minimumSpeed':0x1,'maximumSpeed':0x2,'emissionRate':0x64};class ParticleSystem extends BasePointPrimitive{constructor(_0x3adf40={}){const _0x251ecb={_0x416c12:0x14,_0x5f207f:0x597,_0x1a5dd1:0x840,_0x50d149:0x1545,_0x3fc7cc:0x16b4},_0x404a3c={_0x3b9957:0x10b};_0x3adf40['style']={...DEF_STYLE$9,'emitter':new Cesium__namespace['CircleEmitter'](0x1),..._0x3adf40[_0x263007(_0x251ecb._0x416c12,0x415)]},super(_0x3adf40),this['emitterModelMatrix']=new Cesium__namespace[(_0x2385a5(_0x251ecb._0x5f207f,0xa67))](),this[_0x2385a5(0x7dd,_0x251ecb._0x1a5dd1)]=new Cesium__namespace[(_0x263007(0x22a,0x5e0))](),this[_0x2385a5(0xcd4,_0x251ecb._0x50d149)]=new Cesium__namespace['Quaternion']();function _0x263007(_0x34faa6,_0x57e2fd){return _0x306755(_0x34faa6,_0x57e2fd- -0x441);}function _0x2385a5(_0x44008d,_0x4af600){return _0x306755(_0x44008d,_0x4af600- -_0x404a3c._0x3b9957);}this[_0x2385a5(_0x251ecb._0x3fc7cc,0xfa5)]=new Cesium__namespace[(_0x263007(0x1686,0x1057))](),this['trs']=new Cesium__namespace[(_0x2385a5(0xdba,0xbb0))]();}get[_0x2b6441(0x797,0x58e)](){return this['_primitive'];}get['maxHeight'](){const _0x23a1ce={_0x5a6a6e:0x947},_0x49a9a1={_0x432439:0x14a},_0x489ecb={_0x980b93:0x3f};function _0x10175b(_0xfe5dfc,_0x378e09){return _0x2b6441(_0x378e09,_0xfe5dfc- -_0x489ecb._0x980b93);}function _0x1d98d3(_0x154328,_0x5f59c4){return _0x306755(_0x5f59c4,_0x154328-_0x49a9a1._0x432439);}return this[_0x10175b(0x276,0x726)][_0x1d98d3(0x1409,_0x23a1ce._0x5a6a6e)];}set['maxHeight'](_0x52532a){const _0x3a760b={_0x342316:0x389},_0x577a5c={_0x3872b5:0x4bd};function _0x3644d3(_0x276a6e,_0x2a55a2){return _0x2b6441(_0x2a55a2,_0x276a6e-_0x577a5c._0x3872b5);}this[_0x3644d3(0x772,_0x3a760b._0x342316)]['maxHeight']=_0x52532a;}get[_0x2b6441(-0x29f,0x3e7)](){const _0x4eafe7={_0x3cb4bf:0xf9,_0x599aa6:0x26c},_0x53159d={_0x4236a2:0x49};function _0x165aad(_0x280ab7,_0x291bfa){return _0x2b6441(_0x280ab7,_0x291bfa- -_0x53159d._0x4236a2);}return this[_0x165aad(-_0x4eafe7._0x3cb4bf,_0x4eafe7._0x599aa6)]['gravity']||0x0;}set[_0x2b6441(-0x2c6,0x3e7)](_0x411f0b){const _0x3c8c32={_0x1fafa4:0x335,_0x1bc494:0x31b};function _0xfe3579(_0x3d424e,_0x5f78aa){return _0x2b6441(_0x5f78aa,_0x3d424e- -0xb2);}this['style'][_0xfe3579(_0x3c8c32._0x1fafa4,-_0x3c8c32._0x1bc494)]=_0x411f0b;}get['transX'](){const _0x42463d={_0x1e050c:0x7f5},_0x44ef7d={_0x12c32d:0x61};function _0x475b40(_0x33aea2,_0x59c332){return _0x306755(_0x59c332,_0x33aea2- -_0x44ef7d._0x12c32d);}return this[_0x475b40(_0x42463d._0x1e050c,0xa57)]['transX']||0x0;}set['transX'](_0x51d73b){const _0x7d1dc2={_0x36397a:0x1c07,_0x107b7e:0x12fa},_0x554a79={_0x5e3f76:0xaf};function _0x360f5d(_0x2813a8,_0x1c0c09){return _0x306755(_0x2813a8,_0x1c0c09- -_0x554a79._0x5e3f76);}this['style'][_0x360f5d(_0x7d1dc2._0x36397a,_0x7d1dc2._0x107b7e)]=_0x51d73b;}get[_0x306755(0x9da,0xb4c)](){const _0x34e595={_0x42bb1e:0x4f6,_0x3aeb2a:0xe39},_0x59342d={_0x1d9a28:0x656};function _0x140c7c(_0x482729,_0x35cd46){return _0x2b6441(_0x482729,_0x35cd46-0x667);}function _0x2dd3be(_0x1b131e,_0x39ded6){return _0x306755(_0x39ded6,_0x1b131e- -_0x59342d._0x1d9a28);}return this[_0x140c7c(0x4cb,0x91c)][_0x2dd3be(_0x34e595._0x42bb1e,_0x34e595._0x3aeb2a)]||0x0;}set[_0x306755(0x867,0xb4c)](_0x274a7e){this['style']['transY']=_0x274a7e;}get['transZ'](){return this['style']['transZ']||0x0;}set['transZ'](_0x5b21c9){const _0x8908ef={_0x40fac7:0x155};function _0x3df7ed(_0x5d928a,_0x2e05da){return _0x306755(_0x2e05da,_0x5d928a-_0x8908ef._0x40fac7);}this['style'][_0x3df7ed(0x1195,0xbfb)]=_0x5b21c9;}get[_0x306755(0x142c,0x198d)](){const _0x251266={_0x30366c:0xcfd,_0x34c564:0x1449},_0x13f3f9={_0x176a50:0x87};function _0x51ba66(_0x3291d4,_0x1f3c00){return _0x306755(_0x3291d4,_0x1f3c00- -_0x13f3f9._0x176a50);}function _0x5ec2ca(_0x40f06f,_0x3278b7){return _0x2b6441(_0x40f06f,_0x3278b7-0x6d1);}return this[_0x5ec2ca(_0x251266._0x30366c,0x986)][_0x51ba66(_0x251266._0x34c564,0x1906)]||0x19;}set['particleSize'](_0x1dbebf){const _0x3cbfe1={_0xa6eb91:0x1a75,_0x3c32d2:0x102f},_0x24d8ea={_0x8f61f3:0x689};function _0x43e24f(_0x83e9a9,_0x2a4285){return _0x2b6441(_0x83e9a9,_0x2a4285-0x47f);}function _0x3e9c7e(_0x30c5b7,_0x16cc76){return _0x2b6441(_0x30c5b7,_0x16cc76-_0x24d8ea._0x8f61f3);}this[_0x3e9c7e(0xea2,0x93e)][_0x3e9c7e(0x1bb1,_0x3cbfe1._0xa6eb91)]=_0x1dbebf,this['_primitive']&&(this['_primitive']['minimumImageSize']['x']=_0x1dbebf,this['_primitive']['minimumImageSize']['y']=_0x1dbebf,this[_0x3e9c7e(0x1ae6,_0x3cbfe1._0x3c32d2)]['maximumImageSize']['x']=_0x1dbebf,this['_primitive']['maximumImageSize']['y']=_0x1dbebf);}get[_0x306755(0x1f0f,0x19af)](){return![];}['_addedHook'](_0x389577){const _0x396ce4={_0x39c5e7:0xfa0,_0x15c551:0xf25,_0x31061a:0xad1,_0xe5b224:0xf43,_0x401836:0xb50,_0x29e484:0x5e1,_0x2e3b7b:0xa8e,_0xd0d121:0x1109,_0x2c6a96:0x3be,_0x329231:0x28b},_0x252057={_0x551cb1:0x108b,_0x49e0c0:0x3b5,_0xca451d:0x6c7,_0x40f9f8:0x125f,_0x10a747:0xdf,_0x59702c:0x131,_0x570244:0x303,_0x1f55dd:0xa86,_0x36df72:0x3d,_0x55566f:0xa00,_0x3abd3c:0x303,_0x3bd312:0x12a3,_0x4fda2b:0x453,_0x37df9c:0x219,_0x3cc689:0x1065},_0x33c382={_0x37732d:0x494};function _0x3a8380(_0x4d05b4,_0xa441ec){return _0x2b6441(_0x4d05b4,_0xa441ec-_0x33c382._0x37732d);}function _0x364b76(_0x1bfa8f,_0x3f7acd){return _0x2b6441(_0x1bfa8f,_0x3f7acd-0x1fe);}if(!this['show'])return;const _0x685bd9=this['_map']['clock'][_0x364b76(0xba3,0x809)],_0x3178b2={'imageSize':new Cesium__namespace['Cartesian2'](this['particleSize'],this['particleSize']),'modelMatrix':this[_0x3a8380(0xdf8,0x5d3)](_0x685bd9),'emitterModelMatrix':this[_0x364b76(0xaa6,0xdbb)](_0x685bd9),...this['style'],'show':this[_0x3a8380(0x121a,0x1486)]};this[_0x364b76(0x62f,0x4b3)]['startColor']&&(_0x3178b2[_0x364b76(0xe8c,_0x396ce4._0x39c5e7)]=getCesiumColor(this['style'][_0x364b76(0x71c,0xfa0)]));this['style'][_0x364b76(0x1a1f,0x1275)]&&(_0x3178b2[_0x3a8380(0x1238,0x150b)]=getCesiumColor(this[_0x3a8380(_0x396ce4._0x15c551,0x749)]['endColor']));this[_0x364b76(0xb17,0xba4)]=new Cesium__namespace[(_0x364b76(0x2c6,0x833))](_0x3178b2),this['primitiveCollection']['add'](this['_primitive']);this['options'][_0x364b76(0xb75,0xe54)]&&((this[_0x364b76(_0x396ce4._0x31061a,0x8ba)][_0x364b76(0xfa7,0xe54)]instanceof Cesium__namespace['CallbackProperty']||this['options']['position']instanceof Cesium__namespace['SampledPositionProperty'])&&(this['_orientation']=this[_0x3a8380(_0x396ce4._0xe5b224,0xb50)]['orientation']||new Cesium__namespace[(_0x3a8380(0x1452,0xda5))](this[_0x3a8380(0xeb7,_0x396ce4._0x401836)][_0x364b76(_0x396ce4._0x29e484,0xe54)]),this[_0x3a8380(_0x396ce4._0x2e3b7b,0x887)]=this['options']['position']));this[_0x364b76(_0x396ce4._0xd0d121,0xe1a)](),this['_hasUpdate_modelMatrix']=isFunction(this[_0x364b76(_0x396ce4._0x2c6a96,0x8ba)][_0x364b76(0xbe7,0x1566)])||this['property'],this[_0x364b76(0x1273,0x11c1)]=isFunction(this[_0x3a8380(_0x396ce4._0x329231,0xb50)]['emitterModelMatrix'])||this['heading']||this['pitch']||this['roll']||this['transX']||this['transY']||this[_0x364b76(0x1330,0xc9d)];const _0x3aefd2=this['_primitive'][_0x3a8380(0x19b,0x8f2)],_0x549aa3=this;this['_primitive']['update']=function(_0x2b19ac){const _0x405d74={_0x33a268:0x1b0};function _0x235483(_0x16cbd3,_0x30a8dc){return _0x364b76(_0x30a8dc,_0x16cbd3- -0x60);}function _0x97fa06(_0x102a05,_0x193710){return _0x364b76(_0x102a05,_0x193710- -_0x405d74._0x33a268);}_0x549aa3[_0x97fa06(0x80,0x954)](_0x2b19ac);if(this[_0x97fa06(0x177c,0x1327)]){const _0x2524a5=Cesium__namespace['JulianDate']['secondsDifference'](_0x2b19ac['time'],this[_0x97fa06(_0x252057._0x551cb1,0x1327)]);_0x2524a5>0xa&&(this['_previousTime']=Cesium__namespace['JulianDate'][_0x97fa06(0x29,_0x252057._0x49e0c0)](_0x2b19ac[_0x235483(0xe22,_0x252057._0xca451d)],this['_previousTime']));}!Cesium__namespace[_0x97fa06(0x1635,_0x252057._0x40f9f8)](this[_0x97fa06(-0xa98,-_0x252057._0x10a747)])&&(this['_billboardCollection']=new Cesium__namespace['BillboardCollection']());if(this['_billboardCollection']&&!this['_billboardCollection'][_0x97fa06(0x6ea,-0x5)]&&(Cesium__namespace[_0x97fa06(0x19a1,0x125f)](_0x549aa3[_0x97fa06(-_0x252057._0x59702c,_0x252057._0x570244)][_0x97fa06(-_0x252057._0x1f55dd,_0x252057._0x36df72)])||Cesium__namespace[_0x97fa06(0x1853,_0x252057._0x40f9f8)](_0x549aa3[_0x97fa06(_0x252057._0x55566f,_0x252057._0x3abd3c)][_0x235483(0xa96,_0x252057._0x3bd312)]))){const _0x6e84fa={};_0x6e84fa[_0x97fa06(0x1231,0x946)]=_0x549aa3['style']['disableDepthTestDistance']??(_0x549aa3[_0x235483(_0x252057._0x4fda2b,-_0x252057._0x37df9c)][_0x97fa06(0x1f4,0x3d)]?0x0:Number[_0x97fa06(_0x252057._0x3cc689,0xdac)]),this['_billboardCollection']['defaultStyle']=_0x6e84fa;}_0x3aefd2['bind'](this)(_0x2b19ac);};}['_removedHook'](){const _0x8e2e12={_0xa7d3f0:0x16a0,_0x5ee557:0xd58};function _0x4e94a8(_0x48ce59,_0x5d0a0a){return _0x306755(_0x5d0a0a,_0x48ce59- -0x186);}if(!this['_map'])return;function _0x59689f(_0x412c26,_0x57d1b0){return _0x306755(_0x412c26,_0x57d1b0- -0x10f);}this[_0x59689f(_0x8e2e12._0xa7d3f0,0xc3a)][_0x4e94a8(0x836,_0x8e2e12._0x5ee557)](this['_primitive']);}[_0x306755(0x15e0,0xea7)](_0x4ffb81){const _0x15a52e={_0x502a86:0xdea,_0x1affc4:0xc8f,_0x4303f6:0x1377,_0x5f1433:0xe84,_0x32f937:0x16f5,_0x320dec:0x9d3,_0x269d5f:0xe47,_0x33ddf8:0xe7b,_0x3af0b4:0x96e},_0x34d0a1={_0x1b259b:0x2e9};if(!this['getRealShow'](_0x4ffb81[_0xe914bc(_0x15a52e._0x502a86,0x3f4)]))return;function _0xe914bc(_0x272be3,_0x246cde){return _0x2b6441(_0x246cde,_0x272be3-0x166);}this['property']&&(this['_position']=getPositionValue(this['property'],_0x4ffb81['time']));this['_hasUpdate_modelMatrix']&&(this['_primitive']['modelMatrix']=this['_computeModelMatrix'](_0x4ffb81[_0x30b3ae(0xd45,0xf6d)]));this['_hasUpdate_emitterModelMatrix']&&(this[_0x30b3ae(0xd16,_0x15a52e._0x1affc4)]['emitterModelMatrix']=this[_0xe914bc(0xd23,0x11da)](_0x4ffb81[_0xe914bc(_0x15a52e._0x502a86,0x17be)]));Cesium__namespace[_0xe914bc(_0x15a52e._0x4303f6,0x10bf)](this[_0xe914bc(_0x15a52e._0x5f1433,_0x15a52e._0x32f937)])&&_0x4ffb81['frameNumber']%0xa===0x0&&(this['_map'][_0x30b3ae(0x1493,0xd90)][_0x30b3ae(0xe74,0xaf4)]['height']<this[_0x30b3ae(_0x15a52e._0x320dec,0x1007)]?this[_0x30b3ae(_0x15a52e._0x269d5f,0xc8f)]['show']!==this['show']&&(this[_0xe914bc(0xb0c,0x64d)][_0x30b3ae(0x1d16,0x12db)]=this[_0xe914bc(0x1158,_0x15a52e._0x33ddf8)]):this['_primitive']['show']&&(this['_primitive'][_0x30b3ae(0x1284,0x12db)]=![]));function _0x30b3ae(_0x132464,_0x132301){return _0x2b6441(_0x132464,_0x132301-_0x34d0a1._0x1b259b);}this['_primitive'][_0xe914bc(_0x15a52e._0x3af0b4,0xce0)]&&this['fire']('complete');}['_computeModelMatrix'](_0x4bbfa8){const _0x2c2949={_0x45c786:0x7b2,_0x578a36:0x145e,_0x4753a2:0x16a6,_0xbca765:0xa18,_0x4ae102:0x9ad},_0x4f633b={_0x4b03a2:0xf6};function _0x49c7c4(_0x26a249,_0x499b22){return _0x2b6441(_0x499b22,_0x26a249-_0x4f633b._0x4b03a2);}function _0x1baf5a(_0xa6bbe4,_0x2a91d9){return _0x306755(_0x2a91d9,_0xa6bbe4- -0x181);}if(this['options']['modelMatrix'])return isFunction(this[_0x49c7c4(_0x2c2949._0x45c786,0x15e)][_0x49c7c4(_0x2c2949._0x578a36,_0x2c2949._0x4753a2)])?this['options']['modelMatrix'](_0x4bbfa8):this[_0x49c7c4(_0x2c2949._0x45c786,0x2b3)]['modelMatrix'];if(this['_position'])return this['fixedFrameTransform'](this[_0x49c7c4(_0x2c2949._0xbca765,_0x2c2949._0x4ae102)]);return new Cesium__namespace['Matrix4']();}['_computeEmitterModelMatrix'](_0x5ed1d4){const _0x36bb07={_0x46fdd4:0x142b,_0x2f2877:0xe58,_0x533b25:0x6b5,_0x2d137f:0xd1c,_0x4782c1:0xd8c,_0x6f351e:0x62e},_0x9999d={_0x338861:0x31a};if(this['options'][_0x541039(0x15f5,0xe58)])return isFunction(this['options'][_0x541039(_0x36bb07._0x46fdd4,_0x36bb07._0x2f2877)])?this['options']['emitterModelMatrix'](_0x5ed1d4):this[_0x541039(0xb2b,_0x36bb07._0x533b25)]['emitterModelMatrix'];const _0x464aca=this['heading'],_0x33c17d=this['pitch'];function _0x541039(_0x2b4136,_0x34cfc0){return _0x2b6441(_0x2b4136,_0x34cfc0- -0x7);}const _0x9fdbc5=this[_0x3f75e2(0xbdb,0x6d2)];this['hpr']=Cesium__namespace[_0x541039(0x195a,0xef0)]['fromDegrees'](_0x464aca,_0x33c17d,_0x9fdbc5,this[_0x3f75e2(0x11c0,0xd96)]),this['trs']['translation']=Cesium__namespace[_0x541039(_0x36bb07._0x2d137f,0x479)]['fromElements'](this['transX'],this['transY'],this[_0x3f75e2(0x7d8,0xd26)],this['translation']);function _0x3f75e2(_0x52aaba,_0x215be7){return _0x306755(_0x52aaba,_0x215be7- -_0x9999d._0x338861);}return this['trs']['rotation']=Cesium__namespace['Quaternion'][_0x3f75e2(_0x36bb07._0x4782c1,_0x36bb07._0x6f351e)](this['hpr'],this['rotation']),Cesium__namespace[_0x541039(0x73f,0x5ca)][_0x3f75e2(0x1ed8,0x146d)](this['trs'],this['emitterModelMatrix']),this['emitterModelMatrix'];}[_0x2b6441(0x671,0xc1c)](){const _0x4c2b82={_0x3eeb99:0xe98,_0x4a7614:0x960,_0x46b14b:0x22f,_0x2f0486:0x124d},_0x43b708={_0x2c0c04:0xa61,_0x198d94:0xb14,_0x3b2068:0x6a7,_0x4d399f:0x10e9,_0x362349:0x72a},_0x3ac081={_0x5d4ff8:0xb0},_0x51c745={_0x2db4d6:0x44f};function _0x209b4f(_0x4c200c,_0x52da8a){return _0x2b6441(_0x52da8a,_0x4c200c-0x67b);}if(this[_0x45d52e(0x84e,_0x4c2b82._0x3eeb99)]['updateCallback']){this['_primitive'][_0x45d52e(_0x4c2b82._0x4a7614,_0x4c2b82._0x46b14b)]=this['options'][_0x45d52e(0x960,_0x4c2b82._0x2f0486)];return;}function _0x45d52e(_0x2fabe9,_0x49c3f7){return _0x306755(_0x49c3f7,_0x2fabe9- -0x40f);}if(this['gravity']===0x0)this['_primitive']['updateCallback']=undefined;else{if(!this['_primitive'][_0x45d52e(0x960,0x4c3)]){const _0x559d09=this,_0x47700a=new Cesium__namespace['Cartesian3']();this[_0x45d52e(0xb38,0x23b)][_0x209b4f(0xe49,0x12af)]=function(_0x3177a2,_0x1fcf06){const _0x4e60ec=_0x3177a2['position'];function _0x41866a(_0x4ef44b,_0x68bcd2){return _0x45d52e(_0x4ef44b-_0x51c745._0x2db4d6,_0x68bcd2);}Cesium__namespace[_0x41866a(_0x43b708._0x2c0c04,0xd1c)]['normalize'](_0x4e60ec,_0x47700a);function _0x302c02(_0x52f64a,_0x40c3e3){return _0x45d52e(_0x40c3e3- -_0x3ac081._0x5d4ff8,_0x52f64a);}Cesium__namespace['Cartesian3'][_0x41866a(0x14e8,_0x43b708._0x198d94)](_0x47700a,_0x559d09['gravity']*_0x1fcf06,_0x47700a),_0x3177a2['velocity']=Cesium__namespace['Cartesian3']['add'](_0x3177a2[_0x41866a(_0x43b708._0x3b2068,_0x43b708._0x4d399f)],_0x47700a,_0x3177a2[_0x302c02(_0x43b708._0x362349,0x1a8)]);};}}}['_updateStyleHook'](_0x171877,_0x2c90e5){const _0xbc9fff={_0x473000:0x9e5,_0x630463:0xa4d,_0x4b08c2:0x1750,_0x5bdb31:0x1327,_0x3b2a70:0xd04,_0x4b9551:0xe03},_0x36ad8c={_0x1db05f:0x364},_0x2f5d0d={_0x27898a:0x4fa};function _0x1a76b1(_0x3e7eef,_0x109233){return _0x306755(_0x109233,_0x3e7eef- -_0x2f5d0d._0x27898a);}function _0x3a943c(_0x24373f,_0x318a9c){return _0x2b6441(_0x318a9c,_0x24373f-_0x36ad8c._0x1db05f);}if(this['_primitive']){if(_0x2c90e5['image']){this[_0x1a76b1(-0x61,-_0xbc9fff._0x473000)]();return;}for(const _0x3d8aaf in _0x2c90e5){this[_0x1a76b1(_0xbc9fff._0x630463,0x521)][_0x3d8aaf]=_0x2c90e5[_0x3d8aaf];}_0x2c90e5['particleSize']&&(this['particleSize']=_0x2c90e5[_0x3a943c(_0xbc9fff._0x4b08c2,0x1a9d)]),_0x2c90e5[_0x3a943c(0x74b,0xd77)]&&this['_bindUpdateCallback']();}this[_0x3a943c(_0xbc9fff._0x5bdb31,0x1d38)]=isFunction(this['options'][_0x3a943c(0x11c3,_0xbc9fff._0x3b2a70)])||this['heading']||this['pitch']||this['roll']||this['transX']||this[_0x1a76b1(0x652,0x8f1)]||this[_0x3a943c(_0xbc9fff._0x4b9551,0x4d0)];}['_getDrawEntityClass'](_0xd554f4,_0x18e08d){const _0x2a3d45={_0x571e1c:0x199e};function _0x159c7a(_0x3520ae,_0x5c9740){return _0x2b6441(_0x5c9740,_0x3520ae-0x5f0);}return this[_0x159c7a(_0x2a3d45._0x571e1c,0x18c0)](_0xd554f4,_0x18e08d);}}register$5('particleSystem',ParticleSystem,!![]);var ArcFrustumFS=_0x306755(0xc7e,0x9e5),ArcFrustumVS='in\x20vec4\x20aPosition;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20vec4(aPosition.xyz,\x201.0);\x0a}\x0a';const _0x1b1c7c={};_0x1b1c7c['color']=Cesium__namespace['Color']['WHITE'];const DEF_STYLE$8=_0x1b1c7c;class ArcFrustum extends BasePointPrimitive{constructor(_0x19c91c={}){const _0x99c25={_0x2e60e6:0xafb,_0x57a4f4:0x942,_0x111abc:0x506,_0xbf6e9b:0x8d7,_0x32713b:0xd95,_0x32bc3e:0x1219,_0x46339f:0x2a9},_0x455a13={_0x1383d7:0x15b};function _0x53a702(_0x46879c,_0x199d45){return _0x306755(_0x46879c,_0x199d45- -0x4cf);}_0x19c91c['style']={...DEF_STYLE$8,..._0x19c91c['style']},super(_0x19c91c);function _0x3c6269(_0x4ce823,_0x42c7d){return _0x306755(_0x4ce823,_0x42c7d- -_0x455a13._0x1383d7);}delete this['_position'],delete this[_0x3c6269(_0x99c25._0x2e60e6,_0x99c25._0x57a4f4)],this[_0x53a702(0x7f3,0x4a)]=new Cesium__namespace[(_0x3c6269(_0x99c25._0x111abc,_0x99c25._0xbf6e9b))](),this[_0x3c6269(_0x99c25._0x32713b,_0x99c25._0x32bc3e)]=getCesiumColor(this[_0x53a702(_0x99c25._0x46339f,0x387)][_0x53a702(0x8e8,0x9e0)]);}get['czmObject'](){return this;}get['color'](){return this['_color'];}set[_0x306755(0x7a4,0xeaf)](_0x1e022c){this['_color']=_0x1e022c;}get[_0x306755(0x1a70,0x16e7)](){const _0x24180a={_0x41627e:0x1544};function _0x5ed180(_0x2e8387,_0x341871){return _0x306755(_0x2e8387,_0x341871- -0x1a3);}return this['style'][_0x5ed180(0x1b68,_0x24180a._0x41627e)];}set['angle'](_0x40a1e6){this['style']['angle']=_0x40a1e6,this['destroyCommands']();}get['angle2'](){const _0x2aab2b={_0x25d928:0x7ca,_0x481325:0x667,_0x509c8a:0x7ca,_0x186bd7:0x620},_0x82a32e={_0x185855:0x4db};function _0x1685be(_0x365850,_0x2e62a7){return _0x306755(_0x2e62a7,_0x365850- -0x8c);}function _0x5d8743(_0x5d9302,_0x27cc34){return _0x2b6441(_0x5d9302,_0x27cc34-_0x82a32e._0x185855);}return this[_0x1685be(_0x2aab2b._0x25d928,_0x2aab2b._0x481325)]['angle2']??this[_0x1685be(_0x2aab2b._0x509c8a,_0x2aab2b._0x186bd7)]['angle'];}set['angle2'](_0x2e8054){const _0x1e1cfe={_0x1d97d1:0x1137};this[_0x41aa89(0x68c,_0x1e1cfe._0x1d97d1)]['angle2']=_0x2e8054;function _0x41aa89(_0xa74630,_0x4602ef){return _0x2b6441(_0x4602ef,_0xa74630-0x3d7);}this['destroyCommands']();}get[_0x2b6441(0xeee,0x1368)](){const _0xa97a2e={_0x53708c:0x116d,_0xc0d934:0x90c,_0x12013d:0x52a,_0x38ee88:0x1054,_0x2e2418:0xa7c,_0x244219:0x691,_0x2edadc:0x1b74,_0x46bbae:0x570,_0xc71df9:0xdba,_0x44c999:0x83c,_0x53239f:0x935},_0x23ea1d={_0x59c012:0x66};if(this['options']['modelMatrix'])return this['options']['modelMatrix'];const _0x2b04b5=this['position'],_0x2a498a=Cesium__namespace['HeadingPitchRoll'][_0x3b2e8c(0x2f4,0x582)](this['heading'],this['pitch'],this[_0x10d2a9(_0xa97a2e._0x53708c,_0xa97a2e._0xc0d934)]),_0x5423c4=new Cesium__namespace['Camera'](this['_map'][_0x3b2e8c(-0x310,_0xa97a2e._0x12013d)]);_0x5423c4['position']=_0x2b04b5,_0x5423c4['frustum'][_0x3b2e8c(0x16d6,_0xa97a2e._0x38ee88)]=Cesium__namespace[_0x3b2e8c(_0xa97a2e._0x2e2418,0xe30)][_0x3b2e8c(0x413,_0xa97a2e._0x244219)](this['angle']*0x2);function _0x3b2e8c(_0xdb1be6,_0x34538f){return _0x2b6441(_0xdb1be6,_0x34538f-_0x23ea1d._0x59c012);}_0x5423c4['frustum']['aspectRatio']=this[_0x10d2a9(_0xa97a2e._0x2edadc,0x1607)]/this['angle2'],_0x5423c4[_0x10d2a9(0x1193,0xc97)][_0x3b2e8c(_0xa97a2e._0x46bbae,_0xa97a2e._0xc71df9)]=0.01,_0x5423c4[_0x3b2e8c(0x22f,_0xa97a2e._0x44c999)]['far']=this[_0x10d2a9(0xf9a,0x776)]['distance'];const _0x3c6edd={};_0x3c6edd['heading']=_0x2a498a['heading'],_0x3c6edd[_0x3b2e8c(0xeef,0x66a)]=_0x2a498a['pitch'],_0x3c6edd['roll']=_0x2a498a[_0x3b2e8c(0x37,0x4b1)];const _0xbf38d={};_0xbf38d[_0x3b2e8c(0xe93,0xf96)]=_0x2b04b5,_0xbf38d['orientation']=_0x3c6edd;function _0x10d2a9(_0x4c3980,_0x31cee6){return _0x306755(_0x4c3980,_0x31cee6- -0xe0);}return _0x5423c4['setView'](_0xbf38d),_0x5423c4[_0x3b2e8c(_0xa97a2e._0x53239f,0x176)];}set['modelMatrix'](_0x2853c9){const _0x5493cc={_0x4dc8ac:0xf20},_0x3d5693={_0x411af8:0x155},_0x2240a8={_0x4a168c:0x564};function _0x566479(_0x21548a,_0x2d6da0){return _0x2b6441(_0x2d6da0,_0x21548a-_0x2240a8._0x4a168c);}this[_0x566479(0xc20,_0x5493cc._0x4dc8ac)][_0x25356f(0x1a5e,0x193e)]=_0x2853c9;function _0x25356f(_0x2c0fd8,_0x61fc){return _0x306755(_0x61fc,_0x2c0fd8-_0x3d5693._0x411af8);}this['destroyCommands']();}['updateModelMatrix'](){this['destroyCommands']();}['_addedHook'](_0x3c5342){if(!this['show'])return;function _0x283268(_0x96c77b,_0x5b3f61){return _0x2b6441(_0x96c77b,_0x5b3f61-0x414);}this[_0x283268(0x6ba,0xbbc)]['add'](this);}['_removedHook'](){function _0x16434a(_0x54ff16,_0x13e24f){return _0x2b6441(_0x13e24f,_0x54ff16-0x389);}this['primitiveCollection']['contains'](this)&&(this['_noDestroy']=!![],this['primitiveCollection']['remove'](this),this[_0x16434a(0xebd,0x176a)]=![]);}[_0x306755(0x11b6,0x9ff)](_0xbdbdf3){const _0x48eb41={_0x3051b1:0x1a5,_0x34999f:0xc56,_0x4ec7a6:0xca1,_0x22def0:0x15c6,_0x1cc407:0x170e};function _0x41ed76(_0x4f8112,_0x26fd8e){return _0x306755(_0x26fd8e,_0x4f8112- -0x403);}function _0x2371df(_0x258f90,_0x274ffc){return _0x2b6441(_0x258f90,_0x274ffc-0x2e4);}if(!this[_0x2371df(-_0x48eb41._0x3051b1,0x1d8)](_0xbdbdf3['time']))return;!Cesium__namespace['defined'](this[_0x41ed76(_0x48eb41._0x34999f,0x680)])&&(this['_command']=this[_0x2371df(_0x48eb41._0x4ec7a6,0x9c6)](_0xbdbdf3['context'])),_0xbdbdf3[_0x2371df(0x10e9,_0x48eb41._0x22def0)]['render']&&(Cesium__namespace[_0x41ed76(0x13af,_0x48eb41._0x1cc407)](this['_command'])&&_0xbdbdf3[_0x2371df(0x6e9,0xa83)][_0x41ed76(0x296,-0x783)](this['_command']));}['destroyCommands'](){const _0x5cd10f={_0x4bb57c:0xcc7,_0x1789f3:0x15b7,_0x4bd880:0xbd5,_0x875625:0x641,_0x5a4f2e:0xb61,_0x55629a:0xa61,_0x441aca:0xa53},_0x3b776c={_0x1cc6b8:0x392};function _0x27bdeb(_0x2cffe0,_0x33b874){return _0x306755(_0x2cffe0,_0x33b874- -_0x3b776c._0x1cc6b8);}function _0x549ae9(_0x38890a,_0x4646fa){return _0x2b6441(_0x4646fa,_0x38890a-0x1e7);}Cesium__namespace['defined'](this['_command'])&&(this[_0x27bdeb(0xd58,_0x5cd10f._0x4bb57c)][_0x549ae9(_0x5cd10f._0x1789f3,0x1b69)]&&this['_command']['shaderProgram'][_0x549ae9(_0x5cd10f._0x4bd880,_0x5cd10f._0x875625)](),this['_command'][_0x549ae9(_0x5cd10f._0x5a4f2e,_0x5cd10f._0x55629a)]&&this['_command']['vertexArray']['destroy'](),delete this[_0x27bdeb(_0x5cd10f._0x441aca,0xcc7)]);}['createCommand'](_0x2e4169){const _0x414e6c={_0x5277b7:0xb1d,_0x25e35e:0xee6,_0xbd4877:0xc1f,_0x5c823a:0x1b,_0xddb537:0xd1f,_0x185e65:0xcd2,_0x11a9e1:0x691,_0x519309:0xfef,_0x3117ef:0x997,_0x2e5537:0x67b,_0x33a14f:0xd43,_0x5212ea:0x4fa,_0x50195c:0xa39,_0x4903b5:0x7fc,_0x2d1f02:0x2480,_0x25e762:0x101e,_0x4726d0:0x68e,_0xc405d5:0xf48,_0x42eb00:0xa4d,_0x343959:0x43a,_0x25b9c4:0x52c,_0x219ed1:0xd1a,_0x29bcbd:0x695,_0x50c48a:0x181d,_0xb8c569:0x1cb,_0x5a447c:0x167e},_0x92383={_0xd259e6:0xe4c},_0x4ed429={_0x14432c:0x325};this[_0x21b307(_0x414e6c._0x5277b7,_0x414e6c._0x25e35e)]();const _0x497cf3=this[_0x21b307(0xb94,_0x414e6c._0xbd4877)](),_0x218204={};_0x218204[_0x17c48b(0xae0,_0x414e6c._0x5c823a)]=0x0;const _0x31ea8c=_0x218204,_0x6aaa30=Cesium__namespace['Buffer'][_0x21b307(_0x414e6c._0xddb537,_0x414e6c._0x185e65)]({'context':_0x2e4169,'typedArray':_0x497cf3[_0x17c48b(0xeea,0x10dc)],'usage':Cesium__namespace[_0x17c48b(0x940,_0x414e6c._0x11a9e1)][_0x17c48b(0x883,0xdaf)]}),_0x25572={};_0x25572['index']=_0x31ea8c['aPosition'],_0x25572[_0x21b307(0xf89,_0x414e6c._0x519309)]=_0x6aaa30;function _0x21b307(_0x12f29c,_0x1b8f0f){return _0x2b6441(_0x1b8f0f,_0x12f29c-0x219);}_0x25572['componentsPerAttribute']=0x3,_0x25572['componentDatatype']=Cesium__namespace['ComponentDatatype']['FLOAT'],_0x25572[_0x17c48b(0x17e1,0xfcb)]=0x0,_0x25572[_0x17c48b(0xe78,0xac9)]=0xc,_0x25572['normalize']=![];const _0x31afda=[_0x25572],_0x295586=Cesium__namespace['Buffer'][_0x21b307(0xced,_0x414e6c._0x3117ef)]({'context':_0x2e4169,'typedArray':_0x497cf3['indices'],'usage':Cesium__namespace[_0x21b307(0x58f,0x1c)]['STATIC_DRAW'],'indexDatatype':Cesium__namespace['IndexDatatype']['UNSIGNED_SHORT']}),_0x35a8b3={};_0x35a8b3[_0x17c48b(_0x414e6c._0x2e5537,0xfb3)]=_0x2e4169,_0x35a8b3['attributes']=_0x31afda,_0x35a8b3[_0x17c48b(0x12a8,0x17bf)]=_0x295586;const _0x586790=new Cesium__namespace['VertexArray'](_0x35a8b3),_0x27a039=this['modelMatrix'];function _0x17c48b(_0x25d660,_0x12d6e2){return _0x2b6441(_0x12d6e2,_0x25d660-0x5ca);}this['_boundingSphere']['radius']=this[_0x17c48b(0x87f,_0x414e6c._0x33a14f)]['distance'];this[_0x17c48b(0x1220,0x1c86)]?this[_0x17c48b(0x542,-_0x414e6c._0x5212ea)]['position']=this['position']:(Cesium__namespace['Cartesian3']['clone'](Cesium__namespace[_0x21b307(0x699,_0x414e6c._0x50195c)][_0x17c48b(0x599,0xc5b)],this[_0x21b307(0x191,0x7d9)]['center']),Cesium__namespace['BoundingSphere'][_0x17c48b(_0x414e6c._0x4903b5,-0x1c9)](this['_boundingSphere'],_0x27a039,this[_0x17c48b(0x542,0x539)]));const _0x58b67f={};_0x58b67f[_0x21b307(0x2ca,0x72)]=_0x2e4169,_0x58b67f[_0x17c48b(0x19fc,_0x414e6c._0x2d1f02)]=ArcFrustumVS,_0x58b67f['fragmentShaderSource']=ArcFrustumFS,_0x58b67f[_0x21b307(0xee4,_0x414e6c._0x25e762)]=_0x31ea8c;const _0x1e082c={};_0x1e082c[_0x21b307(0xf48,_0x414e6c._0x4726d0)]=!![];const _0x121b6e={};_0x121b6e[_0x21b307(_0x414e6c._0xc405d5,_0x414e6c._0x42eb00)]=!![];const _0x23e104={};_0x23e104['cull']=_0x1e082c,_0x23e104['depthTest']=_0x121b6e;const _0x95e662=new Cesium__namespace[(_0x21b307(_0x414e6c._0x343959,_0x414e6c._0x25b9c4))]({'primitiveType':Cesium__namespace[_0x17c48b(_0x414e6c._0x219ed1,0x946)][_0x21b307(_0x414e6c._0x29bcbd,-0x1e9)],'shaderProgram':Cesium__namespace[_0x17c48b(0x1355,_0x414e6c._0x50c48a)]['fromCache'](_0x58b67f),'vertexArray':_0x586790,'modelMatrix':_0x27a039,'boundingVolume':this['_boundingSphere'],'uniformMap':{'color':()=>{function _0x2afbfe(_0x17bbc5,_0x377b85){return _0x21b307(_0x17bbc5-_0x4ed429._0x14432c,_0x377b85);}return this[_0x2afbfe(_0x92383._0xd259e6,0x182b)];}},'pass':Cesium__namespace['Pass']['OPAQUE'],'owner':this,'cull':!![],'renderState':Cesium__namespace[_0x21b307(_0x414e6c._0xb8c569,0xb14)][_0x17c48b(_0x414e6c._0x5a447c,0x12cc)](_0x23e104)});return this['bindPickId'](_0x95e662),_0x95e662;}['createVertices'](){const _0x4b8bd5={_0x5f286a:0x8d0,_0x2d25c0:0x1414,_0x1f92f5:0x794,_0x18ad6c:0xb71,_0x4d6306:0x12ab,_0x30a9ec:0x15d7},_0x2881ec={_0x284067:0xa9},_0x2fccf6=this[_0x284b34(0x72d,0xdfb)]['distance'],_0x990bf9=0x14,_0x5ed355=(_0x990bf9+0x1)*(_0x990bf9+0x1)+0x1,_0x22597e=Cesium__namespace[_0x31a11a(0x1616,0x17be)]['createTypedArray'](Cesium__namespace['ComponentDatatype'][_0x284b34(0x1051,_0x4b8bd5._0x5f286a)],0x3*_0x5ed355);let _0x25135d=0x3;const _0x35343c=Cesium__namespace[_0x31a11a(_0x4b8bd5._0x2d25c0,0x14d4)]['toRadians'](this[_0x284b34(0x15be,0xe35)]*0x2),_0x310c1b=Cesium__namespace['Math']['toRadians'](this[_0x284b34(_0x4b8bd5._0x1f92f5,0x6a9)]*0x2);function _0x31a11a(_0x378641,_0x37538f){return _0x306755(_0x37538f,_0x378641-_0x2881ec._0x284067);}const _0x54809f=Math['tan'](0.5*_0x310c1b);function _0x284b34(_0x1e3f3b,_0x15b16e){return _0x306755(_0x15b16e,_0x1e3f3b- -0x129);}const _0x5188a=_0x2fccf6*_0x54809f,_0x220fd3=Math['PI']-0.5*_0x35343c;let _0x33e559=0x0,_0x1ac7d7=0x0;const _0x5d9f3e=_0x35343c/_0x990bf9;for(let _0x27a508=0x0;_0x27a508<_0x990bf9+0x1;_0x27a508++){_0x33e559=_0x220fd3+_0x27a508*_0x5d9f3e;const _0xfa3817=_0x5188a/(_0x2fccf6/Math['cos'](_0x33e559)),_0x14d026=Math['atan'](_0xfa3817),_0x4b6f51=-_0x14d026,_0x15ba64=0x2*_0x14d026/_0x990bf9;for(let _0xf5f081=0x0;_0xf5f081<_0x990bf9+0x1;_0xf5f081++){_0x1ac7d7=_0x4b6f51+_0xf5f081*_0x15ba64,_0x22597e[_0x25135d++]=_0x2fccf6*Math[_0x31a11a(0xd38,0x794)](_0x1ac7d7)*Math['sin'](_0x33e559),_0x22597e[_0x25135d++]=_0x2fccf6*Math[_0x31a11a(0x9e6,_0x4b8bd5._0x18ad6c)](_0x1ac7d7),_0x22597e[_0x25135d++]=_0x2fccf6*Math['cos'](_0x1ac7d7)*Math['cos'](_0x33e559);}}const _0x310e4a=0x2*(0x4+0x5*_0x990bf9+0x2*_0x990bf9*0x3),_0x2fdd40=Cesium__namespace[_0x284b34(0x1444,0x1eff)][_0x284b34(0x10d9,0x117e)](Cesium__namespace['ComponentDatatype']['UNSIGNED_SHORT'],_0x310e4a);let _0x2807eb=0x0;_0x2fdd40[_0x2807eb++]=0x0,_0x2fdd40[_0x2807eb++]=0x1,_0x2fdd40[_0x2807eb++]=0x0,_0x2fdd40[_0x2807eb++]=_0x990bf9+0x1,_0x2fdd40[_0x2807eb++]=0x0,_0x2fdd40[_0x2807eb++]=_0x990bf9*(_0x990bf9+0x1)+0x1,_0x2fdd40[_0x2807eb++]=0x0,_0x2fdd40[_0x2807eb++]=(_0x990bf9+0x1)*(_0x990bf9+0x1);for(let _0xd685da=0x0;_0xd685da<0x5;_0xd685da++){for(let _0x48a473=0x0;_0x48a473<_0x990bf9;_0x48a473++){_0x2fdd40[_0x2807eb++]=0x1+_0x48a473+0x5*(_0x990bf9+0x1)*_0xd685da,_0x2fdd40[_0x2807eb++]=0x1+(_0x48a473+0x1)+0x5*(_0x990bf9+0x1)*_0xd685da;}}for(let _0x151493=0x0;_0x151493<0x5;_0x151493++){for(let _0x3a553e=0x0;_0x3a553e<_0x990bf9;_0x3a553e++){_0x2fdd40[_0x2807eb++]=0x1+(_0x990bf9+0x1)*_0x3a553e+0x5*_0x151493,_0x2fdd40[_0x2807eb++]=0x1+(_0x990bf9+0x1)*(_0x3a553e+0x1)+0x5*_0x151493;}}const _0x598b66=_0x990bf9*_0x990bf9*0x3*0x2+0x3*_0x990bf9*0x4,_0xd74d8b=Cesium__namespace['ComponentDatatype'][_0x31a11a(_0x4b8bd5._0x4d6306,0x15e8)](Cesium__namespace['ComponentDatatype'][_0x31a11a(0x10d0,_0x4b8bd5._0x30a9ec)],_0x598b66),_0x1eedec=0x1;for(let _0x18cdd7=0x0;_0x18cdd7<_0x990bf9;_0x18cdd7++){for(let _0x321ed5=0x0;_0x321ed5<_0x990bf9;_0x321ed5++){_0xd74d8b[_0x2807eb++]=_0x1eedec+_0x18cdd7+_0x321ed5*(_0x990bf9+0x1),_0xd74d8b[_0x2807eb++]=_0x1eedec+_0x18cdd7+0x1+_0x321ed5*(_0x990bf9+0x1),_0xd74d8b[_0x2807eb++]=_0x1eedec+_0x18cdd7+(_0x321ed5+0x1)*(_0x990bf9+0x1),_0xd74d8b[_0x2807eb++]=_0x1eedec+_0x18cdd7+0x1+_0x321ed5*(_0x990bf9+0x1),_0xd74d8b[_0x2807eb++]=_0x1eedec+_0x18cdd7+0x1+(_0x321ed5+0x1)*(_0x990bf9+0x1),_0xd74d8b[_0x2807eb++]=_0x1eedec+_0x18cdd7+(_0x321ed5+0x1)*(_0x990bf9+0x1);}}for(let _0x4502c6=0x0;_0x4502c6<_0x990bf9;_0x4502c6++){_0xd74d8b[_0x2807eb++]=_0x4502c6+0x1+_0x1eedec,_0xd74d8b[_0x2807eb++]=_0x4502c6+_0x1eedec,_0xd74d8b[_0x2807eb++]=0x0,_0xd74d8b[_0x2807eb++]=0x0,_0xd74d8b[_0x2807eb++]=_0x4502c6+_0x990bf9*(_0x990bf9+0x1)+_0x1eedec,_0xd74d8b[_0x2807eb++]=_0x4502c6+0x1+_0x990bf9*(_0x990bf9+0x1)+_0x1eedec;}for(let _0x32e15b=0x0;_0x32e15b<_0x990bf9;_0x32e15b++){_0xd74d8b[_0x2807eb++]=0x0,_0xd74d8b[_0x2807eb++]=_0x32e15b*(_0x990bf9+0x1)+_0x1eedec,_0xd74d8b[_0x2807eb++]=(_0x32e15b+0x1)*(_0x990bf9+0x1)+_0x1eedec,_0xd74d8b[_0x2807eb++]=_0x990bf9+(_0x32e15b+0x1)*(_0x990bf9+0x1)+_0x1eedec,_0xd74d8b[_0x2807eb++]=_0x990bf9+_0x32e15b*(_0x990bf9+0x1)+_0x1eedec,_0xd74d8b[_0x2807eb++]=0x0;}const _0x18d985={};return _0x18d985['vertices']=_0x22597e,_0x18d985['indices']=_0x2fdd40,_0x18d985;}}register$5('arcFrustum',ArcFrustum,!![]);var TetrahedronFS='in\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0ain\x20vec2\x20v_st;\x0auniform\x20vec4\x20color;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x20\x20vec3\x20normalECMars3D\x20=\x20normalize(v_normalEC);\x0a\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20normalECMars3D\x20=\x20faceforward(normalECMars3D,\x20vec3(0.0,\x200.0,\x201.0),\x20-normalECMars3D);\x0a\x20\x20#endif\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.normalEC\x20=\x20normalECMars3D;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x20\x20materialInput.st\x20=\x20v_st;\x0a\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x0a\x20\x20material.alpha\x20=\x20(mix(0.1,\x201.0,\x20clamp((1.0\x20-\x20st.t)\x20*\x20color.a,\x200.0,\x201.0))\x20+\x20(1.0\x20-\x20sign(st.t\x20-\x20czm_frameNumber\x20*\x200.001))\x20*\x200.2\x20+\x200.4)\x20*\x20globalAlpha;\x0a\x20\x20material.diffuse\x20=\x20color.rgb;\x0a\x0a\x20\x20#ifdef\x20FLAT\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20#else\x0a\x20\x20out_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20#endif\x0a}\x0a',TetrahedronVS=_0x2b6441(-0x46a,0x2b2);const DEF_STYLE$7={'width':0x14,'height':0x1e,'color':new Cesium__namespace[(_0x306755(0x127c,0xf34))](0.8,0.8,0x0,0.8),'animation':!![],'moveHeight':0x1e,'moveDuration':0x2,'rotationAngle':0x1};class Tetrahedron extends BasePointPrimitive{constructor(_0x14e0d1={}){const _0x225635={_0x55af8c:0x771,_0x4b514c:0x658};function _0x51255d(_0x17c89a,_0x5efe2b){return _0x2b6441(_0x5efe2b,_0x17c89a-0x4bc);}_0x14e0d1[_0x51255d(_0x225635._0x55af8c,_0x225635._0x4b514c)]={...DEF_STYLE$7,..._0x14e0d1['style']},super(_0x14e0d1),this['_globalAlpha']=0x1;}get['czmObject'](){return this;}get[_0x2b6441(0x405,0x90e)](){return this['_color'];}set[_0x2b6441(0x277,0x90e)](_0x39a515){const _0x1b0a0c={_0x326b11:0x14e3},_0x55b46d={_0x543bc8:0x16f};function _0x14fb05(_0x6dcf4f,_0x3a7e6c){return _0x306755(_0x3a7e6c,_0x6dcf4f-_0x55b46d._0x543bc8);}this[_0x14fb05(_0x1b0a0c._0x326b11,0x11c0)]=getCesiumColor(_0x39a515);}get['modelMatrix'](){const _0x22856c={_0x669f7c:0xa09,_0x356b14:0x7b3,_0x528e01:0xea3,_0x2a9c06:0xd12,_0x18b0a5:0x276,_0x53d970:0x7cd,_0x5a6aaf:0x876,_0x41fcbd:0x81e},_0x2fba59={_0x181749:0x34d};if(this[_0x4a92c0(0x12e0,_0x22856c._0x669f7c)]['modelMatrix'])return this[_0x24c64d(_0x22856c._0x356b14,0x909)]['modelMatrix'];function _0x4a92c0(_0x565b22,_0x4de319){return _0x2b6441(_0x565b22,_0x4de319-_0x2fba59._0x181749);}if(!this[_0x24c64d(0x102d,_0x22856c._0x528e01)])return Cesium__namespace['Matrix4'][_0x24c64d(0xd4a,_0x22856c._0x2a9c06)];const _0x4ed5f1=this[_0x24c64d(0x3ab,_0x22856c._0x18b0a5)](this['position']),_0x4b7ff3=Cesium__namespace[_0x24c64d(0x8e9,0x81e)]['fromScale'](new Cesium__namespace[(_0x4a92c0(0xf68,_0x22856c._0x53d970))](this['style']['width'],this['style'][_0x24c64d(0x97c,0x897)],this['style']['height']));function _0x24c64d(_0x310913,_0x2618ad){return _0x2b6441(_0x310913,_0x2618ad-0x24d);}const _0x15a626=Cesium__namespace['Matrix4'][_0x24c64d(_0x22856c._0x5a6aaf,0xbd5)](_0x4ed5f1,_0x4b7ff3,new Cesium__namespace[(_0x24c64d(0x2bc,_0x22856c._0x41fcbd))]());return _0x15a626;}[_0x306755(0x134,0x99e)](_0x1326a0){if(!this['show']||!this['position'])return;this['_updateStyleHook'](_0x1326a0,_0x1326a0);function _0x367feb(_0x52331e,_0x5cf626){return _0x306755(_0x52331e,_0x5cf626- -0x3c5);}this['primitiveCollection'][_0x367feb(0xb63,0x969)](this);}['_removedHook'](){const _0x41f2c2={_0x10fa3b:0x160a,_0x36b5b5:0xd57,_0x2a4299:0x47},_0x1fa036={_0x3118f9:0x452};function _0x860e93(_0x85be95,_0x38f550){return _0x306755(_0x85be95,_0x38f550- -_0x1fa036._0x3118f9);}!this[_0xfca530(0x10e3,_0x41f2c2._0x10fa3b)]&&(this['stopDraw'](),this[_0xfca530(0xf2d,0x62d)]());this[_0xfca530(_0x41f2c2._0x36b5b5,0x466)]&&this[_0x860e93(_0x41f2c2._0x2a4299,0x8f7)]['contains'](this)&&(this[_0xfca530(0x10e3,0x6cf)]=!![],this['primitiveCollection']['remove'](this),this['_noDestroy']=![]);function _0xfca530(_0x117afb,_0x4c5df3){return _0x2b6441(_0x4c5df3,_0x117afb-0x5af);}delete this[_0x860e93(0x1ea6,0x13d8)];}[_0x2b6441(-0x134,0x3ca)](){const _0x3352da={_0x1356d0:0x14e2,_0x571daf:0x162f},_0x1c57ac={_0x20a926:0x2da};function _0x5e8106(_0x2101aa,_0xe102a9){return _0x2b6441(_0x2101aa,_0xe102a9-0x547);}this[_0x5e8106(_0x3352da._0x1356d0,0x17d0)]=this[_0x3359f1(0x1ac1,_0x3352da._0x571daf)];function _0x3359f1(_0x1340e4,_0x18f56f){return _0x306755(_0x1340e4,_0x18f56f- -_0x1c57ac._0x20a926);}this['_clearDrawCommand']();}[_0x306755(0x67c,0x105d)](_0x51f424,_0x3d48f7){const _0x178c60={_0x42ccc5:0x582,_0x5cdfc6:0x8f2,_0x116528:0x19f1,_0x24e8fe:0x1833,_0x1ea101:0x106},_0xbd0e2c={_0x1080a8:0x64d};function _0x1302b9(_0x502a38,_0x58afe5){return _0x2b6441(_0x502a38,_0x58afe5- -0x1c);}(_0x3d48f7[_0x46d545(_0x178c60._0x42ccc5,0x59e)]||_0x3d48f7['height'])&&this['_updatePositionsHook']();this[_0x1302b9(0x3e2,_0x178c60._0x5cdfc6)]=_0x51f424['color'],this['_rotationAngle']=Cesium__namespace['Math']['toRadians'](_0x51f424['rotationAngle']);function _0x46d545(_0x42f7b1,_0x25cdf3){return _0x306755(_0x42f7b1,_0x25cdf3- -_0xbd0e2c._0x1080a8);}this[_0x1302b9(_0x178c60._0x116528,0x1356)]=_0x51f424['moveHeight']/this['style']['height'],this[_0x46d545(_0x178c60._0x24e8fe,0x12c6)]!==0x0&&(this[_0x1302b9(-0x64a,-_0x178c60._0x1ea101)]=this['_moveMaxHeight']/(_0x51f424['moveDuration']*0x3c),this['_moveDistanceSum']=0x0);}[_0x306755(0x12e8,0x9ff)](_0x1c65ac){const _0x47f513={_0xd9bde5:0x72b,_0x5e173b:0x626,_0xba3b29:0x2ae,_0x299554:0xc8a,_0x1f0787:0x3f9,_0x52d891:0x6a1,_0x1f3369:0x2ae,_0x391d2f:0x6e2,_0x3d1996:0x73a,_0x14dcb1:0x1434,_0x43ec6f:0x1621,_0x415e78:0xb37};if(!this['getRealShow'](_0x1c65ac['time']))return;if(this['style']['animation']){if(this['_moveMaxHeight']!==0x0){this[_0x4eaa49(0x711,_0x47f513._0xd9bde5)]+=this[_0xee5a28(_0x47f513._0x5e173b,_0x47f513._0xba3b29)];(this[_0x4eaa49(0xaee,0x72b)]>=this[_0x4eaa49(_0x47f513._0x299554,0x14db)]||this[_0x4eaa49(0x5ed,_0x47f513._0xd9bde5)]<=0x0)&&(this['_moveDistanceStep']=-this[_0xee5a28(_0x47f513._0x1f0787,_0x47f513._0xba3b29)]);const _0x5dde7b=new Cesium__namespace[(_0x4eaa49(0x603,0x5e9))](0x0,0x0,this[_0xee5a28(-_0x47f513._0x52d891,_0x47f513._0x1f3369)]);Cesium__namespace['Matrix4']['multiplyByTranslation'](this['_modelMatrix'],_0x5dde7b,this['_modelMatrix']);}if(this['_rotationAngle']!==0x0){const _0x3bdb2a=Cesium__namespace[_0x4eaa49(_0x47f513._0x391d2f,_0x47f513._0x3d1996)]['fromRotationTranslation'](Cesium__namespace['Matrix3']['fromRotationZ'](this['_rotationAngle']));Cesium__namespace[_0x4eaa49(0x1125,0x73a)]['multiply'](this[_0xee5a28(_0x47f513._0x14dcb1,_0x47f513._0x43ec6f)],_0x3bdb2a,this['_modelMatrix']);}}function _0xee5a28(_0x452cf6,_0x204392){return _0x2b6441(_0x452cf6,_0x204392-0x398);}!Cesium__namespace['defined'](this['_drawCommand'])&&(this['_drawCommand']=this['createDrawCommand'](_0x1c65ac['context']));function _0x4eaa49(_0x54866c,_0x351a38){return _0x306755(_0x54866c,_0x351a38- -0x438);}_0x1c65ac['passes']['render']?Cesium__namespace['defined'](this['_drawCommand'])&&_0x1c65ac['commandList']['push'](this['_drawCommand']):Cesium__namespace['defined'](this['_pickCommand'])&&_0x1c65ac[_0xee5a28(0x850,_0x47f513._0x415e78)][_0xee5a28(0xaa3,0x490)](this['_pickCommand']);}['_clearDrawCommand'](){const _0xaef9fa={_0x98ab6d:0x1655,_0x4b7e00:0x13f7,_0x34ae4a:0x1655,_0x3ee213:0x1ae5,_0x4bcdf:0xceb,_0x16c457:0xcdf,_0x3cf11f:0x2185,_0x18d7e3:0x1741,_0x197846:0xd5f,_0x2414b2:0x131c,_0xc107f6:0x135b,_0x5daf3e:0x17e9,_0x3e4d2e:0x1914},_0x43eb04={_0x2d4bc3:0x371},_0x507e29={_0x45b448:0x5d};Cesium__namespace['defined'](this[_0x39d5a8(_0xaef9fa._0x98ab6d,_0xaef9fa._0x4b7e00)])&&(this[_0x39d5a8(_0xaef9fa._0x34ae4a,_0xaef9fa._0x3ee213)][_0x39d5a8(_0xaef9fa._0x4bcdf,_0xaef9fa._0x16c457)]&&this[_0x31b30c(_0xaef9fa._0x3cf11f,0x1828)]['vertexArray']['destroy'](),this['_drawCommand']['shaderProgram']&&this[_0x31b30c(0x12f9,0x1828)][_0x39d5a8(_0xaef9fa._0x18d7e3,0x12cf)][_0x39d5a8(_0xaef9fa._0x197846,0x178b)](),delete this['_drawCommand']);function _0x31b30c(_0x17011b,_0x337743){return _0x306755(_0x17011b,_0x337743- -_0x507e29._0x45b448);}function _0x39d5a8(_0x4821db,_0xac244e){return _0x2b6441(_0xac244e,_0x4821db-_0x43eb04._0x2d4bc3);}Cesium__namespace['defined'](this['_pickCommand'])&&(this['_pickCommand']['vertexArray']&&this['_pickCommand']['vertexArray']['destroy'](),this[_0x31b30c(_0xaef9fa._0x2414b2,_0xaef9fa._0xc107f6)]['shaderProgram']&&this['_pickCommand'][_0x31b30c(_0xaef9fa._0x5daf3e,_0xaef9fa._0x3e4d2e)]['destroy'](),delete this['_pickCommand']);}['createDrawCommand'](_0x2f7f20){const _0x7a7494={_0x44333c:0xd62,_0x1c112f:0x12f0,_0x3d812d:0x1484,_0x2975ae:0xd55,_0x56586b:0xccf,_0x33496f:0x8c5,_0x1771a4:0x198d,_0x4567e8:0x14f7,_0x4b82f7:0x1553,_0xc8402a:0xd23,_0x50295f:0xedf,_0x4278c2:0xc56,_0x40ae97:0x852},_0x4f28a4={_0x49218f:0x565},_0xea78a0={_0x2d5fe7:0x1e},_0x56481a={_0x48207b:0x163},_0x17409d=this[_0x138997(0x9b9,0x116d)]['translucent']??![],_0xbd48bf=this[_0x3e0a9a(0x81a,0x250)][_0x138997(_0x7a7494._0x44333c,0x7c8)]??!![],_0x2d92f3=Cesium__namespace['Appearance']['getDefaultRenderState'](_0x17409d,_0xbd48bf,this['options'][_0x138997(0x65a,-0x24e)]),_0x584deb=Cesium__namespace['RenderState'][_0x138997(0x17b8,0x11a8)](_0x2d92f3),_0xf7cf9b={};_0xf7cf9b[_0x3e0a9a(0x11bb,0xb58)]=0x0,_0xf7cf9b['textureCoordinates']=0x1;const _0x46e2cc=_0xf7cf9b;function _0x138997(_0x47d0e0,_0x21e649){return _0x306755(_0x21e649,_0x47d0e0-_0x56481a._0x48207b);}const _0x46e475={};_0x46e475['context']=_0x2f7f20,_0x46e475['vertexShaderSource']=TetrahedronVS,_0x46e475['fragmentShaderSource']=TetrahedronFS,_0x46e475['attributeLocations']=_0x46e2cc;const _0x449b3b=Cesium__namespace[_0x3e0a9a(_0x7a7494._0x1c112f,_0x7a7494._0x3d812d)]['fromCache'](_0x46e475),_0x51a93c=this['createVertexArray'](_0x2f7f20),_0x532f4d=new Cesium__namespace['BoundingSphere'](this['position'],Math['max'](this['style']['width'],this['style'][_0x138997(_0x7a7494._0x2975ae,0x14c0)])),_0x3ce7f8=new Cesium__namespace[(_0x3e0a9a(0x786,_0x7a7494._0x56586b))]({'primitiveType':Cesium__namespace[_0x138997(0xe54,_0x7a7494._0x33496f)]['TRIANGLES'],'shaderProgram':_0x449b3b,'vertexArray':_0x51a93c,'modelMatrix':this[_0x138997(_0x7a7494._0x1771a4,0x1e75)],'renderState':_0x584deb,'boundingVolume':_0x532f4d,'uniformMap':{'color':()=>{return this['color'];},'globalAlpha':()=>{function _0x1e97cc(_0xb6f97e,_0x33e971){return _0x138997(_0xb6f97e- -_0xea78a0._0x2d5fe7,_0x33e971);}return this[_0x1e97cc(0x1312,0x16d7)];}},'castShadows':![],'receiveShadows':![],'pass':Cesium__namespace[_0x138997(_0x7a7494._0x4567e8,0x15e8)][_0x3e0a9a(0x1857,_0x7a7494._0x4b82f7)],'owner':this,'pickOnly':!![],'pickCommand':new Cesium__namespace[(_0x3e0a9a(0x786,0xa33))]({'owner':this,'pickOnly':!![]})});this['bindPickId'](_0x3ce7f8),_0x3ce7f8['pickId']=_0x2f7f20[_0x138997(0xa9e,_0x7a7494._0xc8402a)]({'primitive':_0x3ce7f8,'id':this['id']});const _0x22db80=new Cesium__namespace['DrawCommand']({'owner':_0x3ce7f8,'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'pickOnly':!![]});_0x22db80[_0x3e0a9a(_0x7a7494._0x50295f,0x1725)]=_0x51a93c,_0x22db80['renderState']=_0x584deb;function _0x3e0a9a(_0x356747,_0x12bf3e){return _0x2b6441(_0x12bf3e,_0x356747-_0x4f28a4._0x49218f);}const _0x50b6fd=Cesium__namespace['ShaderProgram']['fromCache']({'context':_0x2f7f20,'vertexShaderSource':TetrahedronVS,'fragmentShaderSource':Cesium__namespace['ShaderSource'][_0x138997(0x1101,0x137a)](TetrahedronFS,'uniform'),'attributeLocations':_0x46e2cc});return _0x22db80['shaderProgram']=_0x50b6fd,_0x22db80[_0x138997(_0x7a7494._0x4278c2,_0x7a7494._0x40ae97)]=_0x3ce7f8['uniformMap'],_0x22db80['uniformMap']['czm_pickColor']=()=>{function _0x45e139(_0x4f67c4,_0x599e2a){return _0x138997(_0x4f67c4- -0x6a0,_0x599e2a);}return _0x3ce7f8['pickId'][_0x45e139(0x972,0x10ce)];},_0x22db80[_0x3e0a9a(0x66a,0xb35)]=Cesium__namespace['Pass'][_0x138997(0x19f6,0x1c55)],_0x22db80['boundingVolume']=_0x532f4d,_0x22db80['modelMatrix']=this[_0x3e0a9a(0x17ee,0x18d5)],this['_pickCommand']=_0x22db80,_0x3ce7f8;}['createVertexArray'](_0x10fb23){const _0x6d73cc={_0x4ddf4b:0x1b97,_0x10320d:0x156b,_0x254f09:0x1f43,_0x602320:0x1997},_0x1ebec5={_0x500425:0x5e9},_0x4b73d8={_0x2507a1:0x59f};function _0x247bd2(_0x568501,_0x590e52){return _0x2b6441(_0x568501,_0x590e52-_0x4b73d8._0x2507a1);}function _0x4894b0(_0xc9b02c,_0x5d8d4b){return _0x306755(_0x5d8d4b,_0xc9b02c- -_0x1ebec5._0x500425);}const _0x528662={};_0x528662['position']=0x0,_0x528662['textureCoordinates']=0x1;const _0x5ab6db=_0x528662,_0x5cf2c1=this['cereatePositionsAndIndice'](),_0x1ead9f=new Cesium__namespace[(_0x247bd2(0x2253,0x180f))]({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace[_0x247bd2(_0x6d73cc._0x4ddf4b,_0x6d73cc._0x10320d)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x5cf2c1[_0x247bd2(_0x6d73cc._0x254f09,_0x6d73cc._0x602320)]}),'textureCoordinates':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':_0x5cf2c1[_0x247bd2(0x1793,0xdff)]})},'indices':_0x5cf2c1['indices'],'primitiveType':Cesium__namespace['PrimitiveType']['TRIANGLES'],'boundingSphere':Cesium__namespace['BoundingSphere']['fromVertices'](_0x5cf2c1[_0x4894b0(0x13b0,0x1808)])}),_0x51a61c=Cesium__namespace['GeometryPipeline']['computeNormal'](_0x1ead9f),_0x1de044=Cesium__namespace[_0x247bd2(0x193b,0x173b)][_0x247bd2(0x1bcc,0x1770)]({'context':_0x10fb23,'geometry':_0x51a61c,'attributeLocations':_0x5ab6db,'bufferUsage':Cesium__namespace['BufferUsage']['STATIC_DRAW']});return _0x1de044;}['cereatePositionsAndIndice'](){const _0x2e8936={_0x45780f:0x1e94,_0x20b143:0x8ef},_0x19804e={_0x27d55d:0x1af},_0x28b733={_0x45f1de:0x8f},_0x51faea=new Float64Array(0x5*0x3);_0x51faea[0x0]=0x0,_0x51faea[0x1]=0x1,_0x51faea[0x2]=0x0,_0x51faea[0x3]=-0x1,_0x51faea[0x4]=0x0,_0x51faea[0x5]=0x0,_0x51faea[0x6]=0x0,_0x51faea[0x7]=-0x1,_0x51faea[0x8]=0x0;function _0x5caefa(_0x3ec854,_0x4d77d3){return _0x2b6441(_0x3ec854,_0x4d77d3-_0x28b733._0x45f1de);}_0x51faea[0x9]=0x1,_0x51faea[0xa]=0x0,_0x51faea[0xb]=0x0,_0x51faea[0xc]=0x0,_0x51faea[0xd]=0x0,_0x51faea[0xe]=-0x1;function _0x13703e(_0x34923e,_0x214e9b){return _0x306755(_0x34923e,_0x214e9b- -_0x19804e._0x27d55d);}const _0x4b3e4f=new Uint16Array(0x6*0x3);_0x4b3e4f[0x0]=0x4,_0x4b3e4f[0x1]=0x2,_0x4b3e4f[0x2]=0x3,_0x4b3e4f[0x3]=0x4,_0x4b3e4f[0x4]=0x3,_0x4b3e4f[0x5]=0x0,_0x4b3e4f[0x6]=0x4,_0x4b3e4f[0x7]=0x0,_0x4b3e4f[0x8]=0x1,_0x4b3e4f[0x9]=0x4,_0x4b3e4f[0xa]=0x1,_0x4b3e4f[0xb]=0x2,_0x4b3e4f[0xc]=0x1,_0x4b3e4f[0xd]=0x2,_0x4b3e4f[0xe]=0x3,_0x4b3e4f[0xf]=0x1,_0x4b3e4f[0x10]=0x3,_0x4b3e4f[0x11]=0x0;const _0x518d90=new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1,0.5,0.5]),_0x51a147={};return _0x51a147['indices']=_0x4b3e4f,_0x51a147[_0x5caefa(_0x2e8936._0x45780f,0x1487)]=_0x51faea,_0x51a147[_0x5caefa(0x449,_0x2e8936._0x20b143)]=_0x518d90,_0x51a147;}['setOpacity'](_0x3a1dba){this['_globalAlpha']=_0x3a1dba;}[_0x2b6441(0x11c2,0x13c5)](_0x4cc64a,_0x24d26f){function _0x58e854(_0x1259b1,_0xe35edc){return _0x2b6441(_0x1259b1,_0xe35edc-0x230);}return this[_0x58e854(0x1ab5,0x15de)](_0x4cc64a,_0x24d26f);}['_clusterShowHook'](_0x42126f){}}register$5('tetrahedron',Tetrahedron,!![]);var ViewShedFS='uniform\x20bool\x20mars3d_show;\x0auniform\x20float\x20mars3d_xAngle;\x0auniform\x20float\x20mars3d_yAngle;\x0auniform\x20float\x20mars3d_distance;\x0auniform\x20float\x20mars3d_opacity;\x0a\x0auniform\x20vec3\x20mars3d_visibleAreaColor;\x0auniform\x20vec3\x20mars3d_hiddenAreaColor;\x0a\x0auniform\x20sampler2D\x20shadowMap_texture;\x0auniform\x20mat4\x20shadowMap_matrix;\x0auniform\x20vec4\x20shadowMap_lightPositionEC;\x0auniform\x20vec4\x20shadowMap_lightDirectionEC;\x0auniform\x20vec3\x20shadowMap_lightUp;\x0auniform\x20vec3\x20shadowMap_lightDir;\x0auniform\x20vec3\x20shadowMap_lightRight;\x0auniform\x20vec4\x20shadowMap_texelSizeDepthBias;\x0auniform\x20vec4\x20shadowMap_normalOffsetScale;\x0a\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec4\x20toEye(in\x20vec2\x20uv,\x20in\x20float\x20depth)\x20{\x0a\x20\x20vec2\x20xy\x20=\x20vec2((uv.x\x20*\x202.0\x20-\x201.0),\x20(uv.y\x20*\x202.0\x20-\x201.0));\x0a\x20\x20vec4\x20posInCamera\x20=\x20czm_inverseProjection\x20*\x20vec4(xy,\x20depth,\x201.0);\x0a\x20\x20posInCamera\x20=\x20posInCamera\x20/\x20posInCamera.w;\x0a\x20\x20return\x20posInCamera;\x0a}\x0a\x0afloat\x20getDepthMars3D(in\x20vec4\x20depth)\x20{\x0a\x20\x20float\x20z_window\x20=\x20czm_unpackDepth(depth);\x0a\x20\x20z_window\x20=\x20czm_reverseLogDepth(z_window);\x0a\x20\x20float\x20n_range\x20=\x20czm_depthRange.near;\x0a\x20\x20float\x20f_range\x20=\x20czm_depthRange.far;\x0a\x20\x20return\x20(2.0\x20*\x20z_window\x20-\x20n_range\x20-\x20f_range)\x20/\x20(f_range\x20-\x20n_range);\x0a}\x0afloat\x20_czm_sampleShadowMap(sampler2D\x20shadowMap,\x20vec2\x20uv)\x20{\x0a\x20\x20return\x20texture(shadowMap,\x20uv).r;\x0a}\x0afloat\x20_czm_shadowDepthCompare(sampler2D\x20shadowMap,\x20vec2\x20uv,\x20float\x20depth)\x20{\x0a\x20\x20return\x20step(depth,\x20_czm_sampleShadowMap(shadowMap,\x20uv));\x0a}\x0afloat\x20_czm_shadowVisibility(sampler2D\x20shadowMap,\x20czm_shadowParameters\x20shadowParameters)\x20{\x0a\x20\x20float\x20depthBias\x20=\x20shadowParameters.depthBias;\x0a\x20\x20float\x20depth\x20=\x20shadowParameters.depth;\x0a\x20\x20float\x20nDotL\x20=\x20shadowParameters.nDotL;\x0a\x20\x20float\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0a\x20\x20float\x20darkness\x20=\x20shadowParameters.darkness;\x0a\x20\x20vec2\x20uv\x20=\x20shadowParameters.texCoords;\x0a\x20\x20depth\x20-=\x20depthBias;\x0a\x20\x20vec2\x20texelStepSize\x20=\x20shadowParameters.texelStepSize;\x0a\x20\x20float\x20radius\x20=\x201.0;\x0a\x20\x20float\x20dx0\x20=\x20-texelStepSize.x\x20*\x20radius;\x0a\x20\x20float\x20dy0\x20=\x20-texelStepSize.y\x20*\x20radius;\x0a\x20\x20float\x20dx1\x20=\x20texelStepSize.x\x20*\x20radius;\x0a\x20\x20float\x20dy1\x20=\x20texelStepSize.y\x20*\x20radius;\x0a\x20\x20float\x20visibility\x20=\x20(_czm_shadowDepthCompare(shadowMap,\x20uv,\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(0.0,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x20dy0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x200.0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x200.0),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx0,\x20dy1),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(0.0,\x20dy1),\x20depth)\x20+\x0a\x20\x20\x20\x20_czm_shadowDepthCompare(shadowMap,\x20uv\x20+\x20vec2(dx1,\x20dy1),\x20depth))\x20*\x20(1.0\x20/\x209.0);\x0a\x20\x20return\x20visibility;\x0a}\x0a\x0avec3\x20pointProjectOnPlane(in\x20vec3\x20planeNormal,\x20in\x20vec3\x20planeOrigin,\x20in\x20vec3\x20point)\x20{\x0a\x20\x20vec3\x20v01\x20=\x20point\x20-\x20planeOrigin;\x0a\x20\x20float\x20d\x20=\x20dot(planeNormal,\x20v01);\x0a\x20\x20return\x20(point\x20-\x20planeNormal\x20*\x20d);\x0a}\x0afloat\x20ptm(vec3\x20pt)\x20{\x0a\x20\x20return\x20sqrt(pt.x\x20*\x20pt.x\x20+\x20pt.y\x20*\x20pt.y\x20+\x20pt.z\x20*\x20pt.z);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20const\x20float\x20PI\x20=\x203.141592653589793;\x0a\x20\x20vec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20vec4\x20currD\x20=\x20texture(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20if(!mars3d_show\x20||\x20currD.r\x20>=\x201.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20float\x20depth\x20=\x20getDepthMars3D(currD);\x0a\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20vec3\x20normalEC\x20=\x20vec3(1.0);\x0a\x20\x20czm_shadowParameters\x20shadowParameters;\x0a\x20\x20shadowParameters.texelStepSize\x20=\x20shadowMap_texelSizeDepthBias.xy;\x0a\x20\x20shadowParameters.depthBias\x20=\x20shadowMap_texelSizeDepthBias.z;\x0a\x20\x20shadowParameters.normalShadingSmooth\x20=\x20shadowMap_texelSizeDepthBias.w;\x0a\x20\x20shadowParameters.darkness\x20=\x20shadowMap_normalOffsetScale.w;\x0a\x20\x20shadowParameters.depthBias\x20*=\x20max(depth\x20*\x200.01,\x201.0);\x0a\x0a\x20\x20vec3\x20directionEC\x20=\x20normalize(positionEC.xyz\x20-\x20shadowMap_lightPositionEC.xyz);\x0a\x20\x20float\x20nDotL\x20=\x20clamp(dot(normalEC,\x20-directionEC),\x200.0,\x201.0);\x0a\x20\x20vec4\x20shadowPosition\x20=\x20shadowMap_matrix\x20*\x20positionEC;\x0a\x20\x20shadowPosition\x20/=\x20shadowPosition.w;\x0a\x20\x20if(any(lessThan(shadowPosition.xyz,\x20vec3(0.0)))\x20||\x20any(greaterThan(shadowPosition.xyz,\x20vec3(1.0))))\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20//坐标与视点位置距离,大于最大距离则舍弃阴影效果\x0a\x20\x20vec4\x20lw\x20=\x20czm_inverseView\x20*\x20vec4(shadowMap_lightPositionEC.xyz,\x201.0);\x0a\x20\x20vec4\x20vw\x20=\x20czm_inverseView\x20*\x20vec4(positionEC.xyz,\x201.0);\x0a\x20\x20if(distance(lw.xyz,\x20vw.xyz)\x20>\x20mars3d_distance)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20//水平夹角限制\x0a\x20\x20vec3\x20ptOnSP\x20=\x20pointProjectOnPlane(shadowMap_lightUp,\x20lw.xyz,\x20vw.xyz);\x0a\x20\x20directionEC\x20=\x20ptOnSP\x20-\x20lw.xyz;\x0a\x20\x20float\x20directionECMO\x20=\x20ptm(directionEC.xyz);\x0a\x20\x20float\x20shadowMap_lightDirMO\x20=\x20ptm(shadowMap_lightDir.xyz);\x0a\x20\x20float\x20cosJJ\x20=\x20dot(directionEC,\x20shadowMap_lightDir)\x20/\x20(directionECMO\x20*\x20shadowMap_lightDirMO);\x0a\x20\x20float\x20degJJ\x20=\x20abs(acos(cosJJ)\x20*\x20(180.0\x20/\x20PI));\x0a\x20\x20if(degJJ\x20>\x20mars3d_xAngle)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20//垂直夹角限制\x0a\x20\x20vec3\x20ptOnCZ\x20=\x20pointProjectOnPlane(shadowMap_lightRight,\x20lw.xyz,\x20vw.xyz);\x0a\x20\x20vec3\x20dirOnCZ\x20=\x20ptOnCZ\x20-\x20lw.xyz;\x0a\x20\x20float\x20dirOnCZMO\x20=\x20ptm(dirOnCZ);\x0a\x20\x20float\x20cosJJCZ\x20=\x20dot(dirOnCZ,\x20shadowMap_lightDir)\x20/\x20(dirOnCZMO\x20*\x20shadowMap_lightDirMO);\x0a\x20\x20float\x20degJJCZ\x20=\x20abs(acos(cosJJCZ)\x20*\x20(180.0\x20/\x20PI));\x0a\x20\x20if(degJJCZ\x20>\x20mars3d_yAngle)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20shadowParameters.texCoords\x20=\x20shadowPosition.xy;\x0a\x20\x20shadowParameters.depth\x20=\x20shadowPosition.z;\x0a\x20\x20shadowParameters.nDotL\x20=\x20nDotL;\x0a\x20\x20float\x20visibility\x20=\x20_czm_shadowVisibility(shadowMap_texture,\x20shadowParameters);\x0a\x0a\x20\x20//可视域\x0a\x20\x20if(visibility\x20==\x201.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_visibleAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_hiddenAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}\x0a}\x0a';const _0x45c081={};_0x45c081['angle']=0x3c,_0x45c081['angle2']=0x2d,_0x45c081['distance']=0x3e8,_0x45c081['opacity']=0.6,_0x45c081[_0x306755(0xeec,0xe85)]=0x0,_0x45c081['showFrustum']=![];const DEF_STYLE$6=_0x45c081;class ViewShed extends BasePointPrimitive{constructor(_0x3ab26f={},_0x4a8f48=!![]){const _0x7ddb4e={_0x9f55bc:0x92,_0x596232:0xa45,_0x2e2880:0x47d,_0x1e7a9d:0x135f,_0x31eab1:0xa9c,_0x588f84:0x931,_0x59f878:0xe28};_0x4a8f48&&(_0x3ab26f[_0x59a138(_0x7ddb4e._0x9f55bc,0x4ed)]={...DEF_STYLE$6,..._0x3ab26f[_0x12ec9c(0x3be,_0x7ddb4e._0x596232)]});super(_0x3ab26f),this['_visibleAreaColor']=getCesiumColor(this[_0x12ec9c(0x3be,_0x7ddb4e._0x2e2880)][_0x12ec9c(_0x7ddb4e._0x1e7a9d,0x1c05)],new Cesium__namespace['Color'](0x0,0x1,0x0)),this['_hiddenAreaColor']=getCesiumColor(this['style']['hiddenAreaColor'],new Cesium__namespace[(_0x12ec9c(_0x7ddb4e._0x31eab1,_0x7ddb4e._0x588f84))](0x1,0x0,0x0));function _0x12ec9c(_0x79fb1a,_0x35d5a3){return _0x2b6441(_0x35d5a3,_0x79fb1a-0x109);}this['_hasTerrainShadows']=this['options'][_0x12ec9c(_0x7ddb4e._0x59f878,0x17f8)]??!![];function _0x59a138(_0x2f9a62,_0x44d503){return _0x2b6441(_0x2f9a62,_0x44d503-0x238);}this['_maximumDistance']=this['style'][_0x59a138(0x3db,0x6a0)]??0x1388;}get['czmObject'](){const _0x20eb80={_0x4ad838:0x12c0};function _0x54ff71(_0x496b37,_0x48932b){return _0x306755(_0x496b37,_0x48932b-0x23);}return this[_0x54ff71(0xe45,_0x20eb80._0x4ad838)];}get['angle'](){const _0x3b6fa4={_0x268915:0xd72};function _0x11ad99(_0x2c0c8d,_0x48abbe){return _0x306755(_0x2c0c8d,_0x48abbe-0xa8);}return this[_0x11ad99(_0x3b6fa4._0x268915,0x8fe)]['angle'];}set['angle'](_0x35f0f2){const _0x2c54b8={_0x16b74b:0x4e4};this[_0x1ccfa0(0xe23,0x372)]['angle']=_0x35f0f2;function _0x1ccfa0(_0x550549,_0x125baa){return _0x306755(_0x550549,_0x125baa- -_0x2c54b8._0x16b74b);}this['_updateDraw']();}get['angle2'](){function _0x1843d7(_0x30bc98,_0x2ee304){return _0x306755(_0x2ee304,_0x30bc98-0x62);}function _0x51b6c7(_0x469063,_0x5784ca){return _0x2b6441(_0x469063,_0x5784ca- -0xae);}return this['style']['angle2']??this[_0x51b6c7(0x9d1,0x207)][_0x1843d7(0x1749,0x1c72)];}set['angle2'](_0x3274b6){const _0x323e89={_0x41c851:0x1693};function _0x21cab9(_0x14845c,_0x11b7ef){return _0x2b6441(_0x14845c,_0x11b7ef-0x52b);}this[_0x21cab9(0x115d,0x7e0)][_0x3c418e(0xdb0,0x73a)]=_0x3274b6;function _0x3c418e(_0x3ef09e,_0xb47328){return _0x306755(_0x3ef09e,_0xb47328- -0x183);}this[_0x21cab9(0x1024,_0x323e89._0x41c851)]();}get['visibleAreaColor'](){return this['_visibleAreaColor'];}set['visibleAreaColor'](_0x39615c){this['_visibleAreaColor']=getCesiumColor(_0x39615c);}get['hiddenAreaColor'](){return this['_hiddenAreaColor'];}set[_0x2b6441(0x1e90,0x145a)](_0x598109){const _0x129659={_0x48a206:0xa75},_0x1a3ef1={_0x19d18d:0xd8};function _0x564c00(_0x29cdec,_0x4d6a9c){return _0x306755(_0x29cdec,_0x4d6a9c-_0x1a3ef1._0x19d18d);}this[_0x564c00(0x2db,_0x129659._0x48a206)]=getCesiumColor(_0x598109);}get['opacity'](){const _0x1556da={_0x24ad36:0x406,_0x3c457e:0x12a7};function _0x3ba8b1(_0x153f24,_0x2b210f){return _0x306755(_0x153f24,_0x2b210f- -0x158);}function _0x4759f1(_0x8aac4b,_0x5d5119){return _0x2b6441(_0x5d5119,_0x8aac4b-0x3ba);}return this[_0x4759f1(0x66f,-_0x1556da._0x24ad36)][_0x3ba8b1(_0x1556da._0x3c457e,0x9f1)];}set['opacity'](_0x369a6d){function _0x25553b(_0xe40ba5,_0x632433){return _0x306755(_0x632433,_0xe40ba5- -0xe);}this[_0x25553b(0x848,0x2d8)]['opacity']=_0x369a6d;}get[_0x2b6441(-0x755,0x2f7)](){const _0x5a0d0a={_0x24c730:0x7e1,_0x214e0d:0x823},_0x42bb06={_0x14f421:0x52c};function _0x2e004a(_0xcde12c,_0xd117b){return _0x2b6441(_0xd117b,_0xcde12c-_0x42bb06._0x14f421);}function _0x31f9c6(_0x35d1ed,_0x2f5d68){return _0x306755(_0x2f5d68,_0x35d1ed- -0x296);}return this[_0x2e004a(_0x5a0d0a._0x24c730,0x102c)][_0x2e004a(_0x5a0d0a._0x214e0d,0x86d)];}set['showFrustum'](_0x3bb6d1){function _0x3a54aa(_0x169c0e,_0x32dd83){return _0x306755(_0x169c0e,_0x32dd83-0xf0);}this['style'][_0x3a54aa(0xee6,0x988)]=_0x3bb6d1,this['_frustumPrimitive']['show']=_0x3bb6d1;}get[_0x2b6441(0x5b1,0x97c)](){return this['style']['distance'];}set['distance'](_0x47d12b){const _0x272952={_0x33423f:0xcb4,_0x1091cb:0xa3d};this['style'][_0x512fe1(_0x272952._0x33423f,_0x272952._0x1091cb)]=_0x47d12b;function _0x512fe1(_0x450158,_0x599270){return _0x2b6441(_0x599270,_0x450158-0x338);}this['_updateDraw']();}get['shadowMap'](){return this['_shadowMap'];}get[_0x306755(0x140d,0x1048)](){const _0x4dffb3={_0x549910:0xb27};function _0x2d7217(_0x123d63,_0x3da0a0){return _0x306755(_0x123d63,_0x3da0a0- -0x2f5);}var _0x5990f2;return(_0x5990f2=this['_shadowMap'])===null||_0x5990f2===void 0x0?void 0x0:_0x5990f2[_0x2d7217(0xb67,_0x4dffb3._0x549910)];}get[_0x306755(0x1079,0xcc8)](){const _0x19d10b={_0x3da2a9:0xf53,_0x5ec676:0x8cb};function _0x20b4bd(_0x27638e,_0x4b40d1){return _0x306755(_0x27638e,_0x4b40d1- -0x3fd);}return this['options'][_0x20b4bd(_0x19d10b._0x3da2a9,_0x19d10b._0x5ec676)];}set[_0x306755(0x1718,0xcc8)](_0x1ff6d5){const _0xe74d8c={_0x5bcc6c:0xa97,_0x24b869:0xf2a,_0x1d7226:0x141,_0x3218f4:0xf74,_0x436730:0x372,_0xe70daa:0xc43,_0x15351b:0x85b,_0x166829:0x89f,_0x58cb5c:0x1013,_0x3edd1b:0xec2,_0x37a865:0x961,_0x373471:0x105c,_0x4f0c1e:0x1e9,_0x26b6a8:0x9df};var _0xb8783f;this[_0x1679a1(0x73e,_0xe74d8c._0x5bcc6c)]['targetPosition']=_0x1ff6d5;function _0x2d839c(_0xdf3497,_0xa6c99b){return _0x306755(_0xa6c99b,_0xdf3497- -0x30f);}if(!this['_map'])return;const _0x4f9f48=this[_0x2d839c(0xee8,_0xe74d8c._0x24b869)];if(!_0x4f9f48)return;const _0x4c0fad=LngLatPoint['toCartesian'](_0x1ff6d5,(_0xb8783f=this['_map'])===null||_0xb8783f===void 0x0?void 0x0:_0xb8783f['currentTime']);this['distance']=Cesium__namespace[_0x2d839c(0x712,_0xe74d8c._0x1d7226)]['distance'](_0x4f9f48,_0x4c0fad);const _0xf1404=Cesium__namespace[_0x2d839c(0x712,_0xe74d8c._0x3218f4)][_0x2d839c(0x438,-_0xe74d8c._0x436730)](Cesium__namespace[_0x1679a1(_0xe74d8c._0xe70daa,_0xe74d8c._0x15351b)]['subtract'](_0x4c0fad,_0x4f9f48,new Cesium__namespace[(_0x1679a1(0x324,0x85b))]()),new Cesium__namespace['Cartesian3']()),_0x5b9c0f=Cesium__namespace['Cartesian3']['normalize'](_0x4f9f48,new Cesium__namespace['Cartesian3']()),_0x44c6f7=new Cesium__namespace['Camera'](this['_map'][_0x1679a1(0xcb7,_0xe74d8c._0x166829)]);_0x44c6f7['position']=_0x4f9f48,_0x44c6f7['direction']=_0xf1404;function _0x1679a1(_0xb9b923,_0x1350f6){return _0x2b6441(_0xb9b923,_0x1350f6-0x3db);}_0x44c6f7['up']=_0x5b9c0f,this[_0x1679a1(_0xe74d8c._0x58cb5c,0x690)][_0x2d839c(_0xe74d8c._0x3edd1b,0xb72)]=Cesium__namespace['Math']['toDegrees'](_0x44c6f7[_0x1679a1(0x1025,0x100b)])-0x5a,this[_0x2d839c(0x547,_0xe74d8c._0x37a865)]['pitch']=Cesium__namespace[_0x2d839c(_0xe74d8c._0x373471,0xf6e)][_0x2d839c(0xb09,_0xe74d8c._0x4f0c1e)](_0x44c6f7[_0x1679a1(0x64b,_0xe74d8c._0x26b6a8)]),this['_updateDraw']();}['_showHook'](){const _0x2802ff={_0x595a71:0xf66,_0x517712:0x153f,_0x564c0e:0xc46};function _0x500776(_0x4b33d8,_0x105d81){return _0x2b6441(_0x105d81,_0x4b33d8- -0x8c);}function _0x460199(_0x477395,_0x18d6a2){return _0x306755(_0x477395,_0x18d6a2- -0x1ca);}this[_0x500776(_0x2802ff._0x595a71,0x1006)]?this[_0x460199(0xaa1,_0x2802ff._0x517712)]():this[_0x500776(_0x2802ff._0x564c0e,0x10cb)]();}['_updatePositionsHook'](){this['_shadowMap']['_lightCamera']['position']=this['position'];function _0x1253f(_0x426cf9,_0x31a172){return _0x2b6441(_0x426cf9,_0x31a172- -0x10);}this['_frustumPrimitive']&&this['_createFrustumPrimitive'](this[_0x1253f(0x1bb3,0x127b)]['_lightCamera']);}['_mountedHook'](){const _0x29554a={_0x58b8d0:0xc3d,_0x1ea1ba:0x15a3,_0x1d7bb8:0x132c,_0x53055a:0x9da};function _0x5880c0(_0x4d0b04,_0x5cbdf2){return _0x2b6441(_0x4d0b04,_0x5cbdf2-0x516);}this['options'][_0x5880c0(0x1339,_0x29554a._0x58b8d0)]&&(this[_0x5880c0(_0x29554a._0x1ea1ba,0xc3d)]=this['options'][_0x3766dc(0x12be,0x95f)]);function _0x3766dc(_0x1619b1,_0x52b4ec){return _0x2b6441(_0x1619b1,_0x52b4ec-0x238);}this['_defaultColorTexture']=new Cesium__namespace['Texture']({'context':this['_map'][_0x5880c0(_0x29554a._0x1d7bb8,_0x29554a._0x53055a)]['context'],'source':{'width':0x1,'height':0x1,'arrayBufferView':new Uint8Array([0x0,0x0,0x0,0x0])},'flipY':![]});}['_addedHook'](_0x18d51b){const _0x26e486={_0x2cf6f6:0x1317,_0x3873e0:0x1124},_0x3b7bbf={_0x5cb032:0x5ad};function _0x1da149(_0xe9b25b,_0x126afb){return _0x2b6441(_0x126afb,_0xe9b25b-0x193);}this[_0x1da149(0xb2c,0x852)]&&(this[_0x1da149(0x13bb,0x1449)][_0x415194(0x10c8,_0x26e486._0x2cf6f6)]['terrainShadows']=Cesium__namespace['ShadowMode'][_0x415194(0x11c2,0xcc5)]);function _0x415194(_0x11a30d,_0x3516c4){return _0x2b6441(_0x11a30d,_0x3516c4-_0x3b7bbf._0x5cb032);}this['_updateDraw'](),this[_0x1da149(0x93b,_0x26e486._0x3873e0)]['add'](this);}['_removedHook'](){const _0x4a4e91={_0x4a1548:0x3f8,_0x5b1b3d:0x1889,_0x1c144b:0x5ba};this['stopDraw']();this[_0x59af55(0x1878,0xf4e)]&&(this['_map']['terrainShadows']=Cesium__namespace['ShadowMode']['DISABLED']);this['_clearDraw']();function _0x59af55(_0x4fea1e,_0x4d2772){return _0x2b6441(_0x4fea1e,_0x4d2772-0x5b5);}function _0x4b970f(_0x1701c2,_0x476d52){return _0x2b6441(_0x1701c2,_0x476d52-0x19f);}this[_0x59af55(_0x4a4e91._0x4a1548,0xd5d)]&&this['primitiveCollection']['contains'](this)&&(this[_0x59af55(_0x4a4e91._0x5b1b3d,0x10e9)]=!![],this['primitiveCollection'][_0x4b970f(0x50c,_0x4a4e91._0x1c144b)](this),this[_0x4b970f(0xa99,0xcd3)]=![]);}['bindUpdateEvent'](){}[_0x2b6441(0x12d8,0x954)](){}['updateModelMatrix'](){this['_updateDraw']();}['_updateDraw'](){const _0xad9567={_0x1fcd97:0x1b4,_0x522a5f:0xf8d,_0x129f44:0x12b7,_0x2d1a91:0x1a4f,_0x330bae:0x1558,_0xb45a31:0x132e,_0x2a3e63:0x1a7b,_0xba6fa2:0x142b,_0x6dacd0:0xae0,_0x4d7ea8:0x122c,_0x3a25ac:0x13b5,_0x2eb08f:0x1306,_0x5bc338:0xfc8,_0x329018:0x1d3b,_0x4e9e40:0xd9b,_0x53f494:0x1aaf,_0x12b796:0xb25,_0x587912:0x1795},_0x43fc6a={_0x57fd03:0x661};this[_0x81e1fe(0xadf,0x1333)]();if(!this[_0x81e1fe(_0xad9567._0x1fcd97,0x555)]())return;const _0x2ceda4=this[_0x81e1fe(_0xad9567._0x522a5f,_0xad9567._0x129f44)];if(!_0x2ceda4)return;const _0x13eac9=new Cesium__namespace[(_0x81e1fe(_0xad9567._0x2d1a91,_0xad9567._0x330bae))](Cesium__namespace['Math']['toRadians'](this[_0x81e1fe(_0xad9567._0xb45a31,0x1291)]+0x5a),Cesium__namespace['Math'][_0x48c2ac(0x8ab,0xbab)](this['pitch']),Cesium__namespace[_0x81e1fe(_0xad9567._0x2a3e63,_0xad9567._0xba6fa2)]['toRadians'](this['roll'])),_0xa58ef4=new Cesium__namespace[(_0x48c2ac(-0x468,0x4da))](this['_map']['scene']);_0xa58ef4['position']=_0x2ceda4,_0xa58ef4[_0x48c2ac(_0xad9567._0x6dacd0,0xd56)]['fov']=Cesium__namespace['Math']['toRadians'](this['angle']*0x2),_0xa58ef4['frustum']['aspectRatio']=this[_0x48c2ac(_0xad9567._0x4d7ea8,0x16c6)]/this['angle2'],_0xa58ef4['frustum'][_0x81e1fe(0x1d82,_0xad9567._0x3a25ac)]=0.01,_0xa58ef4['frustum'][_0x48c2ac(_0xad9567._0x2eb08f,_0xad9567._0x5bc338)]=this['distance'];const _0x8d1842={};_0x8d1842['heading']=_0x13eac9['heading'],_0x8d1842['pitch']=_0x13eac9['pitch'];function _0x81e1fe(_0x1aad56,_0x38ec32){return _0x2b6441(_0x1aad56,_0x38ec32-_0x43fc6a._0x57fd03);}_0x8d1842['roll']=_0x13eac9['roll'];const _0x53a042={};_0x53a042[_0x81e1fe(_0xad9567._0x329018,0x1591)]=_0x2ceda4,_0x53a042['orientation']=_0x8d1842;function _0x48c2ac(_0x42fe96,_0x3f5ddd){return _0x2b6441(_0x42fe96,_0x3f5ddd-0x580);}_0xa58ef4[_0x48c2ac(0xd83,0xec6)](_0x53a042),this[_0x81e1fe(0x13ad,_0xad9567._0x4e9e40)](_0xa58ef4),this['_shadowMap']=new Cesium__namespace['ShadowMap']({'lightCamera':_0xa58ef4,'context':this[_0x81e1fe(_0xad9567._0x53f494,0x1889)][_0x81e1fe(0xcea,_0xad9567._0x12b796)]['context'],'maximumDistance':this[_0x81e1fe(0x1a25,0xf6b)],'isSpotLight':!![],'cascadesEnabled':![],'enabled':![],'depthBiasStep':this['options'][_0x48c2ac(0x181b,_0xad9567._0x587912)]??0x1}),this[_0x81e1fe(0xe46,0x1330)]();}['_clearDraw'](){const _0x1fbb03={_0x2c6d17:0x1b47,_0x1cfa27:0x173e,_0x161c23:0x1035,_0xab1612:0x9da,_0x5c6c92:0x199f,_0x4d457b:0x128f,_0x539c19:0x171d,_0x53e45c:0x11ad},_0x43630f={_0x22c7f3:0x8b};if(!this[_0x526f3d(_0x1fbb03._0x2c6d17,_0x1fbb03._0x1cfa27)])return;this['_postProcessStage']&&(this[_0x526f3d(_0x1fbb03._0x161c23,_0x1fbb03._0x1cfa27)][_0x526f3d(0x4ac,_0x1fbb03._0xab1612)][_0x3204df(_0x1fbb03._0x5c6c92,0xfae)][_0x3204df(0x8a5,0x4c4)](this['_postProcessStage']),delete this['_postProcessStage']);function _0x526f3d(_0x25af70,_0x125393){return _0x306755(_0x25af70,_0x125393- -_0x43630f._0x22c7f3);}function _0x3204df(_0x50cd4b,_0x5579d3){return _0x2b6441(_0x50cd4b,_0x5579d3-0xa9);}this['_shadowMap']&&(this['_shadowMap']['destroy'](),delete this['_shadowMap']),this['_frustumPrimitive']&&(this[_0x526f3d(_0x1fbb03._0x4d457b,0x1339)][_0x526f3d(_0x1fbb03._0x539c19,0xcb8)](this['_frustumPrimitive'],!![]),delete this[_0x526f3d(0xd9d,_0x1fbb03._0x53e45c)]);}[_0x306755(0x110,0x9ff)](_0x46de6d){const _0x344a35={_0x45d717:0x3d1,_0xbbac0a:0x16a,_0x5a639f:0x5a1,_0x4f302e:0x1705,_0x414579:0x133b,_0xc3bc30:0x18cf,_0x47b78b:0x1156,_0x1f6b08:0x792,_0x270689:0x10f6,_0x21e7db:0x140a,_0xa02c38:0x11d9,_0x5caded:0x802,_0x5d3eed:0x9d2,_0x492f82:0x8a7,_0x3ddbb0:0x81a,_0x6958dc:0x1966};function _0x5dc589(_0x412cc1,_0x5ba620){return _0x306755(_0x5ba620,_0x412cc1- -0xc4);}if(!this[_0x5dc589(_0x344a35._0x45d717,-_0x344a35._0xbbac0a)](_0x46de6d['time'])){this['_postProcessStage']['enabled']=![];this['_frustumPrimitive']&&(this['_frustumPrimitive'][_0x5dc589(0x14cf,0x1b3e)]=![]);return;}const _0x27528a=this['style'][_0x3a3a59(_0x344a35._0x5a639f,0x9f5)];if(_0x27528a&&this[_0x5dc589(0x11d9,0x1932)]){let _0x4060c1;this[_0x5dc589(_0x344a35._0x4f302e,0x1c9b)][_0x3a3a59(_0x344a35._0x414579,0x1755)]===Cesium__namespace['SceneMode']['SCENE3D']?_0x4060c1=Cesium__namespace['Cartesian3']['distance'](this[_0x5dc589(0x1133,_0x344a35._0xc3bc30)],this['_map']['camera']['positionWC']):_0x4060c1=this['_map'][_0x3a3a59(0x82b,0x1182)][_0x5dc589(0xce8,0x126a)]['height'];const _0x21cadd=this[_0x5dc589(0x792,_0x344a35._0x47b78b)]['distanceDisplayCondition_near']??_0x27528a['near'],_0x5da188=this[_0x5dc589(_0x344a35._0x1f6b08,-0x29d)][_0x5dc589(0x1709,0x1599)]??_0x27528a['far'];if(_0x21cadd>_0x4060c1||_0x5da188<_0x4060c1){this['_postProcessStage']['enabled']=![];this['_frustumPrimitive']&&(this['_frustumPrimitive']['show']=![]);return;}this['_postProcessStage'][_0x3a3a59(_0x344a35._0x270689,_0x344a35._0x21e7db)]===![]&&(this[_0x5dc589(_0x344a35._0xa02c38,0x11a6)]['enabled']=!![]),this['_frustumPrimitive']&&this[_0x5dc589(0x1174,0x14ca)]['show']===![]&&(this['_frustumPrimitive']['show']=this[_0x3a3a59(_0x344a35._0x5caded,_0x344a35._0x5d3eed)]&&this['show']);}function _0x3a3a59(_0x25c6e4,_0x3f4c4e){return _0x2b6441(_0x25c6e4,_0x3f4c4e-0x6db);}this['property']&&this[_0x5dc589(_0x344a35._0x492f82,_0x344a35._0x3ddbb0)](),this[_0x3a3a59(0x117b,_0x344a35._0x6958dc)]&&_0x46de6d['shadowMaps'][_0x3a3a59(0x2e,0x7d3)](this['_shadowMap']);}[_0x306755(0xc3d,0xcdb)](_0x578184){const _0x433b42={_0x33403a:0x1090,_0x5b9ae5:0x1028,_0x76820:0x1180};this['_frustumPrimitive']&&this['_layer']['removeGraphic'](this['_frustumPrimitive'],!![]);const _0x4fdba6=this[_0xb13a48(_0x433b42._0x33403a,_0x433b42._0x5b9ae5)]+0x1;this['_frustumPrimitive']=new ArcFrustum({'modelMatrix':_0x578184['inverseViewMatrix'],'style':{'angle':this[_0x46142f(0x119a,0xdd8)],'angle2':this['angle2'],'distance':_0x4fdba6},'show':this['showFrustum']&&this['show'],'private':!![]});function _0x46142f(_0x3cd2e3,_0xabd00b){return _0x306755(_0xabd00b,_0x3cd2e3- -0x54d);}function _0xb13a48(_0x7b4ac3,_0x5058b2){return _0x2b6441(_0x5058b2,_0x7b4ac3-0x714);}this['_layer']['addGraphic'](this[_0x46142f(0xceb,_0x433b42._0x76820)]);}['_createPostProcessStage'](){const _0x38fb8b={_0x1a6fcf:0x7d7,_0x90b643:0x10b8,_0x4430a4:0x11fe,_0xa58d0a:0x1aba,_0x4352f4:0x17fb},_0x53a068={_0x17bcf8:0x498,_0x35c7af:0xe24,_0x75bee4:0x145d,_0x47db87:0x1148},_0xcc8b37={_0x19e05d:0x173},_0x5dde38={_0x446130:0x1561,_0xde4a3e:0x1264,_0x3a4211:0x16cb},_0x179c16={_0x269fb4:0xe7a},_0x3d16cb={_0x469859:0x34b},_0x58e227={_0x1a62da:0x29},_0x457896={_0x56d63e:0x2fb},_0x12d11b={_0x2db125:0x1f6f},_0x28cd46={_0xc09b82:0x1b8},_0x1815fb={_0x7860e9:0x12ae,_0x114a7e:0x167},_0x29bbdb={_0x18d271:0xb25},_0x4e49d5={_0x26acbf:0x156f,_0x3ffff4:0x199a},_0xff6502={_0x4d3254:0xf7a,_0x370db6:0xd30},_0xe49288={_0x3b7eb5:0x1d3},_0x2d6ad6={_0x305356:0x1787,_0x5a54fc:0x108c},_0x122e8f={_0x6cc94c:0x4ed},_0x3b1a38={_0x3904ad:0x1e5};function _0x4dc6b7(_0x46e85a,_0x5f2f24){return _0x306755(_0x46e85a,_0x5f2f24- -_0x3b1a38._0x3904ad);}this['_postProcessStage']&&(this['_map']['scene']['postProcessStages'][_0x4dc6b7(0xcfe,_0x38fb8b._0x1a6fcf)](this['_postProcessStage']),delete this[_0x4dc6b7(0xf77,_0x38fb8b._0x90b643)]);const _0x140de0=new Cesium__namespace['Cartesian2'](),_0x48923a=new Cesium__namespace['Cartesian4'](),_0x149af4=new Cesium__namespace[(_0x4dc6b7(0x17c9,_0x38fb8b._0x4430a4))](),_0x2c5f50=this['_shadowMap'][_0x4a400e(_0x38fb8b._0xa58d0a,0x136d)];this[_0x4dc6b7(0x171e,0x10b8)]=new Cesium__namespace['PostProcessStage']({'fragmentShader':ViewShedFS,'uniforms':{'mars3d_show':()=>{var _0x3b605d;function _0x51dff2(_0x55973d,_0x4c369f){return _0x4a400e(_0x55973d,_0x4c369f- -_0x122e8f._0x6cc94c);}return this[_0x51dff2(_0x2d6ad6._0x305356,_0x2d6ad6._0x5a54fc)]&&((_0x3b605d=this['_layer'])===null||_0x3b605d===void 0x0?void 0x0:_0x3b605d['show']);},'mars3d_opacity':()=>{return this['opacity'];},'mars3d_visibleAreaColor':()=>{return this['visibleAreaColor'];},'mars3d_hiddenAreaColor':()=>{return this['hiddenAreaColor'];},'mars3d_distance':()=>{function _0x5f0539(_0x176497,_0x443201){return _0x4a400e(_0x176497,_0x443201- -_0xe49288._0x3b7eb5);}return this[_0x5f0539(_0xff6502._0x4d3254,_0xff6502._0x370db6)];},'mars3d_xAngle':()=>{function _0x34f14d(_0x7cce67,_0x287c98){return _0x4dc6b7(_0x287c98,_0x7cce67-0x6d);}return this[_0x34f14d(_0x4e49d5._0x26acbf,_0x4e49d5._0x3ffff4)];},'mars3d_yAngle':()=>{function _0x2eaeb6(_0x463cb3,_0x2cd167){return _0x4dc6b7(_0x463cb3,_0x2cd167- -0x3a2);}return this[_0x2eaeb6(0x88b,0x336)];},'shadowMap_texture':()=>{function _0x337f1c(_0x598d11,_0x85d1c3){return _0x4dc6b7(_0x85d1c3,_0x598d11- -0x35c);}return this['_shadowMap'][_0x337f1c(0x149e,_0x29bbdb._0x18d271)]||this['_defaultColorTexture'];},'shadowMap_matrix':()=>{function _0x4b5c08(_0x2ed350,_0x463a7e){return _0x4a400e(_0x2ed350,_0x463a7e- -0x564);}function _0x111dd7(_0x1d7fe3,_0x1b74cd){return _0x4dc6b7(_0x1b74cd,_0x1d7fe3- -0x409);}return this[_0x4b5c08(0x19d7,_0x1815fb._0x7860e9)][_0x111dd7(_0x1815fb._0x114a7e,0x47d)];},'shadowMap_lightPositionEC':()=>{function _0x2a5993(_0x3cd86a,_0x118e9b){return _0x4a400e(_0x118e9b,_0x3cd86a- -_0x28cd46._0xc09b82);}return this[_0x2a5993(0x165a,_0x12d11b._0x2db125)]['_lightPositionEC'];},'shadowMap_lightDirectionEC':()=>{function _0x46d7cc(_0x5b5a1e,_0x59e5ba){return _0x4a400e(_0x5b5a1e,_0x59e5ba- -0x441);}function _0x1d25be(_0x5793eb,_0x470223){return _0x4a400e(_0x5793eb,_0x470223- -_0x457896._0x56d63e);}return this[_0x1d25be(0xac4,0x1517)][_0x46d7cc(0x1f5,_0x58e227._0x1a62da)];},'shadowMap_lightUp':()=>{return this['_shadowMap']['_lightCamera']['up'];},'shadowMap_lightDir':()=>{function _0x3e3e8d(_0x2bc536,_0x5b9ca1){return _0x4dc6b7(_0x5b9ca1,_0x2bc536-_0x3d16cb._0x469859);}function _0x1554e8(_0x1452fe,_0x2a0b0e){return _0x4a400e(_0x1452fe,_0x2a0b0e- -0x418);}return this['_shadowMap'][_0x1554e8(_0x179c16._0x269fb4,0x9ea)][_0x3e3e8d(0x16a1,0x17c1)];},'shadowMap_lightRight':()=>{function _0x413e4b(_0x2d2f83,_0x4cfcf6){return _0x4a400e(_0x4cfcf6,_0x2d2f83- -0x2b1);}function _0x93c608(_0x57af32,_0x1cf171){return _0x4dc6b7(_0x1cf171,_0x57af32-0x87);}return this[_0x413e4b(_0x5dde38._0x446130,0x1b40)]['_lightCamera'][_0x413e4b(_0x5dde38._0xde4a3e,_0x5dde38._0x3a4211)];},'shadowMap_texelSizeDepthBias':()=>{function _0x167677(_0x3ba0d8,_0x5db657){return _0x4dc6b7(_0x3ba0d8,_0x5db657- -_0xcc8b37._0x19e05d);}_0x140de0['x']=0x1/this['_shadowMap'][_0x167677(_0x53a068._0x17bcf8,0x623)]['x'];function _0x2fdab4(_0x3c9c76,_0x100352){return _0x4a400e(_0x100352,_0x3c9c76- -0xa5);}return _0x140de0['y']=0x1/this['_shadowMap']['_textureSize']['y'],Cesium__namespace['Cartesian4']['fromElements'](_0x140de0['x'],_0x140de0['y'],_0x2c5f50[_0x2fdab4(_0x53a068._0x35c7af,_0x53a068._0x75bee4)],_0x2c5f50[_0x167677(_0x53a068._0x47db87,0xd5b)],_0x48923a);},'shadowMap_normalOffsetScale':()=>{const _0x38b557={_0x34728c:0x27b};function _0x300338(_0x25414f,_0x17202d){return _0x4dc6b7(_0x25414f,_0x17202d- -_0x38b557._0x34728c);}function _0x5a1b30(_0x1638c1,_0xb215ee){return _0x4dc6b7(_0x1638c1,_0xb215ee-0x218);}return Cesium__namespace[_0x300338(0xda7,0xf83)]['fromElements'](_0x2c5f50['normalOffsetScale'],this['_shadowMap']['_distance'],this[_0x5a1b30(0x153d,0x185f)]['maximumDistance'],this['_shadowMap']['_darkness'],_0x149af4);}}});function _0x4a400e(_0x57c05a,_0x4d9b2b){return _0x2b6441(_0x57c05a,_0x4d9b2b-0x587);}this[_0x4dc6b7(_0x38fb8b._0x4352f4,0x15e4)]['scene']['postProcessStages']['add'](this['_postProcessStage']);}['_style2JsonBase'](_0x45280b,_0x4b217c){const _0xdfb559={_0x55ccc3:0x37,_0x5385de:0xa4b,_0xb6698f:0xd06,_0x23d46b:0xe49},_0x8b7170={_0x486c52:0x15a};function _0x3a3d61(_0xe6e3d7,_0x352246){return _0x306755(_0x352246,_0xe6e3d7- -_0x8b7170._0x486c52);}function _0x86d0f6(_0x368c12,_0x2db48f){return _0x306755(_0x2db48f,_0x368c12- -0x30f);}_0x45280b['heading']=formatNum$1(this['heading'],0x1),_0x45280b[_0x3a3d61(0xa4b,-_0xdfb559._0x55ccc3)]=formatNum$1(this[_0x3a3d61(_0xdfb559._0x5385de,_0xdfb559._0xb6698f)],0x1),_0x45280b[_0x86d0f6(0xc0e,0xa8c)]=formatNum$1(this[_0x3a3d61(0xdc3,_0xdfb559._0x23d46b)],0x2);const _0x45e5cb={};return _0x45e5cb['onlySimpleType']=!![],getAttrVal(_0x45280b,_0x45e5cb);}[_0x306755(0xc3a,0xee7)](){const _0xa5017e={_0x2af8c0:0x16f8,_0x5abca6:0xf3e,_0x609a13:0x1144,_0x5ae195:0x10a8,_0x62733f:0x1637,_0xeadc73:0xa34,_0x4e474a:0x18c5,_0x3bc066:0x1117},_0x451b7e={_0x1191f3:0xfc};function _0x8aa558(_0x18f735,_0x4c6415){return _0x306755(_0x18f735,_0x4c6415-_0x451b7e._0x1191f3);}if(!this['_map'])return;const _0x2fc20f=this[_0x8aa558(0xcaa,0x1144)];if(!_0x2fc20f)return;this[_0x3ed015(_0xa5017e._0x2af8c0,0x1d72)][_0x8aa558(0x199e,0x1144)]['position']=Cesium__namespace['clone'](this[_0x8aa558(0x14ea,0x12f3)]),this['_map'][_0x8aa558(_0xa5017e._0x5abca6,_0xa5017e._0x609a13)][_0x8aa558(_0xa5017e._0x5ae195,0x1637)]=Cesium__namespace['clone'](_0x2fc20f[_0x8aa558(0x1a0d,_0xa5017e._0x62733f)]);function _0x3ed015(_0x2e1213,_0x38ec6d){return _0x2b6441(_0x38ec6d,_0x2e1213-0x4d0);}this['_map'][_0x8aa558(_0xa5017e._0xeadc73,0x1144)]['right']=Cesium__namespace[_0x8aa558(0xb3a,0xa04)](_0x2fc20f['right']),this[_0x8aa558(0xe68,_0xa5017e._0x4e474a)]['camera']['up']=Cesium__namespace[_0x3ed015(0x837,_0xa5017e._0x3bc066)](_0x2fc20f['up']);}[_0x2b6441(0xbda,0x134d)](_0x248c12){const _0x1ec4a8={_0x5b72da:0xc4};function _0x5a610e(_0x30cd2e,_0x3e3d5a){return _0x306755(_0x30cd2e,_0x3e3d5a- -_0x1ec4a8._0x5b72da);}this[_0x5a610e(0x67a,0x792)]['opacity']=_0x248c12;}['startDraw'](_0x49f116){const _0x367ffc={_0x548631:0x11cc,_0x4ab4c6:0x334,_0x707bb1:0x6d6,_0x269c45:0x4d9,_0x120e55:0x2a9,_0x4b99a9:0x12a5},_0xc70893={_0x1a32b9:0x409};function _0x3bdb89(_0x450015,_0x4987c8){return _0x2b6441(_0x450015,_0x4987c8-_0xc70893._0x1a32b9);}if(this['_enabledDraw'])return this;this[_0xc6d0a5(_0x367ffc._0x548631,0xc57)]=!![];_0x49f116&&this['addTo'](_0x49f116);if(!this['_map'])throw new Error('绘制时_map不能为空,请将对象添加到图层,并且图层已添加到Map');this['_map'][_0x3bdb89(-0xe2,_0x367ffc._0x4ab4c6)](!![]),this['enableControl'](![]),this[_0x3bdb89(_0x367ffc._0x707bb1,_0x367ffc._0x269c45)]();function _0xc6d0a5(_0x7f2f65,_0x2e6276){return _0x306755(_0x7f2f65,_0x2e6276- -0x5e0);}this[_0xc6d0a5(-0x1d4,_0x367ffc._0x120e55)](EventType[_0x3bdb89(0x1641,_0x367ffc._0x4b99a9)],{'drawType':this['type'],'graphic':this},!![]);}[_0x2b6441(0xe4b,0xdaf)](){const _0x108366={_0x455bbb:0x3f0,_0x770080:0x15be,_0x28b1b1:0xbf1},_0x57fd47={_0x2c5b3e:0x9b};function _0x54d812(_0x30a8ef,_0x59e74f){return _0x2b6441(_0x30a8ef,_0x59e74f-0x4fc);}var _0x262504,_0x5379b1;function _0x180e2a(_0x386e9d,_0x4af1aa){return _0x2b6441(_0x386e9d,_0x4af1aa-_0x57fd47._0x2c5b3e);}if(!this['_enabledDraw'])return this;this[_0x180e2a(0xc81,_0x108366._0x455bbb)](),this[_0x180e2a(0xfe7,0x12c3)]['_setEditCursor'](![]),this[_0x180e2a(0x4d7,0x7c4)](!![]),this[_0x180e2a(0x1d12,0x12c3)]['closeSmallTooltip'](),this['_enabledDraw']=![];if(!this[_0x180e2a(0xcd1,0xcf1)]||!this['distance']){this['remove'](!![]);return;}this['fire'](EventType['drawCreated'],{'drawType':this[_0x54d812(0x1473,_0x108366._0x770080)],'graphic':this},!![]),(_0x262504=this['options'])!==null&&_0x262504!==void 0x0&&_0x262504['success']&&this['options'][_0x54d812(0x922,0x135e)](this),(_0x5379b1=this['options'])!==null&&_0x5379b1!==void 0x0&&(_0x5379b1=_0x5379b1['_promise'])!==null&&_0x5379b1!==void 0x0&&_0x5379b1[_0x54d812(0x133d,0xf9f)]&&this['options']['_promise'][_0x180e2a(_0x108366._0x28b1b1,0xb3e)](this);}['_startDrawHook'](){const _0x25fdbb={_0x407cc8:0x67d,_0x923154:0xea2},_0x36db5c={_0x5d39a4:0x13d};function _0x5d4916(_0x56ee4f,_0x3fd625){return _0x306755(_0x3fd625,_0x56ee4f- -_0x36db5c._0x5d39a4);}this['_map']['on'](EventType['click'],this['_onClickHandler'],this),this['_map']['on'](EventType['mouseMove'],this[_0x5d4916(_0x25fdbb._0x407cc8,_0x25fdbb._0x923154)],this);}[_0x306755(0x457,0x8f6)](){const _0x3d237d={_0x66f2f4:0x6b4},_0x205af3={_0x2c689f:0x2f8},_0x543b36={_0x504f16:0x1cc};this['_map'][_0x4e1587(0x7f7,0x7a0)](EventType['click'],this[_0x4e1587(0x13f3,0x1292)],this);function _0x4e1587(_0x13f9ee,_0x3fc9a3){return _0x306755(_0x13f9ee,_0x3fc9a3- -_0x543b36._0x504f16);}function _0x50bc88(_0x5b1238,_0x32548a){return _0x306755(_0x5b1238,_0x32548a- -_0x205af3._0x2c689f);}this['_map']['off'](EventType['mouseMove'],this[_0x4e1587(_0x3d237d._0x66f2f4,0x5ee)],this);}['_onClickHandler'](_0x437080){const _0x48825e={_0x2e51e6:0x929,_0x56dc8e:0xe88,_0x55a777:0xd75,_0x5e0a2f:0x10a7,_0x4e12ff:0x669,_0x55e383:0x407},_0xcc9907={_0x1f67ba:0x658};let _0x46a596=_0x437080['cartesian'];if(!_0x46a596)return;_0x437080={..._0x437080,'drawType':this[_0x222735(0x171a,0x1fd4)],'graphic':this};function _0x222735(_0x43d645,_0x4e40af){return _0x2b6441(_0x4e40af,_0x43d645-_0xcc9907._0x1f67ba);}this['fire'](EventType[_0x7a886d(_0x48825e._0x2e51e6,_0x48825e._0x56dc8e)],_0x437080,!![]);if(!this[_0x7a886d(0xd75,0x145e)]){this[_0x7a886d(_0x48825e._0x55a777,_0x48825e._0x5e0a2f)]=addPositionsHeight(_0x46a596,this[_0x222735(0x90d,0xc6)]['addHeight']);return;}const _0x2449b5=Cesium__namespace['Cartesian3'][_0x222735(0xfd4,0xa6f)](this['position'],_0x46a596);_0x2449b5>this['_maximumDistance']&&(_0x46a596=getOnLinePointByLen(this['position'],_0x46a596,this[_0x222735(0xf62,0xbc4)]));this[_0x222735(0xd7f,_0x48825e._0x4e12ff)]=_0x46a596,this['stopDraw']();function _0x7a886d(_0xa73839,_0x56a944){return _0x2b6441(_0x56a944,_0xa73839-0x11f);}this[_0x7a886d(_0x48825e._0x55e383,0x8b2)](EventType['drawCreated'],_0x437080);}[_0x306755(0xf62,0x7ba)](_0x3e9a32){const _0x147f53={_0x3e95db:0xb6,_0x291768:0xbb1,_0x21c1cd:0x12b3,_0x1912fa:0x1686,_0x10f2a8:0x1f9f,_0x43540a:0x18ce,_0x11471d:0xe13,_0x5ed552:0xf7a},_0x1cff89={_0x1865c7:0x45e};let _0x106eb0=_0x3e9a32['cartesian'];function _0x1a09ec(_0x3bac71,_0x1596cc){return _0x306755(_0x1596cc,_0x3bac71-0x84);}if(!_0x106eb0)return;function _0x3682bd(_0xbb3d85,_0x364d0b){return _0x2b6441(_0x364d0b,_0xbb3d85-_0x1cff89._0x1865c7);}const _0x44b194=this['position'];if(_0x44b194){const _0xec8e3=Cesium__namespace['Cartesian3']['distance'](_0x44b194,_0x106eb0);_0xec8e3>this['_maximumDistance']&&(_0x106eb0=getOnLinePointByLen(_0x44b194,_0x106eb0,this['_maximumDistance'])),this['targetPosition']=_0x106eb0,this[_0x1a09ec(0x90d,-_0x147f53._0x3e95db)](EventType[_0x3682bd(_0x147f53._0x291768,_0x147f53._0x21c1cd)],{..._0x3e9a32,'drawType':this['type'],'graphic':this},!![]),this[_0x3682bd(_0x147f53._0x1912fa,_0x147f53._0x10f2a8)]['openSmallTooltip'](_0x3e9a32[_0x1a09ec(_0x147f53._0x43540a,0x18ea)],this['_map']['getLangText']('_单击完成绘制'));}else this['_map'][_0x3682bd(_0x147f53._0x11471d,0xb80)](_0x3e9a32[_0x1a09ec(_0x147f53._0x43540a,_0x147f53._0x5ed552)],this[_0x1a09ec(0x184d,0x1ba8)]['getLangText'](_0x1a09ec(0x998,-0x47)));}}register$5('viewShed',ViewShed,!![]);var ViewVideoFS=_0x306755(0x8f2,0xb53);const DEF_STYLE$5={'angle':0x3c,'angle2':0x2d,'distance':0x3e8,'opacity':0x1,'showFrustum':![],'hiddenAreaColor':new Cesium__namespace[(_0x2b6441(0x10b5,0x993))](0x0,0x0,0x0,0.5),'flipx':![],'flipy':![]};class Video3D extends ViewShed{constructor(_0x5b428b={}){const _0x274b2d={_0x17312e:0xcc7},_0x462a2b={_0x2374ff:0x58};_0x5b428b['style']={...DEF_STYLE$5,..._0x5b428b['style']};function _0x2c1fd5(_0xbc8fbd,_0x3f2e59){return _0x2b6441(_0x3f2e59,_0xbc8fbd- -_0x462a2b._0x2374ff);}_0x5b428b[_0x2c1fd5(_0x274b2d._0x17312e,0x142d)]=![],super(_0x5b428b,![]);}get['container'](){const _0xc31953={_0x556957:0x1488,_0x5ae1a4:0xb0d},_0x9a285b={_0xaf9cd3:0x480};function _0x5c2915(_0x4d907d,_0xbf455a){return _0x306755(_0xbf455a,_0x4d907d- -_0x9a285b._0xaf9cd3);}return this[_0x5c2915(_0xc31953._0x556957,_0xc31953._0x5ae1a4)];}get['distance'](){const _0x5aec12={_0x3010a2:0xe77};function _0x5e9544(_0x16c19b,_0x46c056){return _0x306755(_0x46c056,_0x16c19b- -0x3c9);}return this[_0x5e9544(0x48d,_0x5aec12._0x3010a2)]['distance'];}set['distance'](_0x5a3453){const _0x182795={_0x5b28d4:0x1c5};this[_0x53ba00(0x47a,-0x356)]['distance']=_0x5a3453;function _0x53ba00(_0xb038a5,_0x1a6fb7){return _0x2b6441(_0x1a6fb7,_0xb038a5-_0x182795._0x5b28d4);}this['_updateDraw']();}get['flipx'](){return this['style']['flipx'];}set['flipx'](_0x21b888){this['style']['flipx']=_0x21b888;}get[_0x2b6441(0xe26,0x1392)](){const _0x8cdcb5={_0x31917f:0x1ca,_0x5841c7:0xa9a},_0x2cd5b7={_0x216482:0x3de};function _0x2332f9(_0x47e213,_0x34ca29){return _0x2b6441(_0x47e213,_0x34ca29-_0x2cd5b7._0x216482);}return this[_0x2332f9(_0x8cdcb5._0x31917f,_0x8cdcb5._0x5841c7)]['play']??!![];}set['play'](_0x5070be){const _0x25bad3={_0x1ecb86:0x1a27,_0x153cd7:0x1909,_0x3be15e:0x10d3,_0x14ea24:0x179b,_0x476c03:0x17c6,_0x1a7b95:0x9ed},_0x22074f={_0xea4b86:0x434};function _0x4ff231(_0x2e6860,_0xd99c0){return _0x2b6441(_0x2e6860,_0xd99c0-_0x22074f._0xea4b86);}this['options']['play']=_0x5070be=Boolean(_0x5070be);if(!this[_0x1fd4ff(0x2370,_0x25bad3._0x1ecb86)])return;function _0x1fd4ff(_0xcf96eb,_0x3a4668){return _0x2b6441(_0xcf96eb,_0x3a4668-0x6c0);}try{_0x5070be?(this['_videoSynchronizer']&&(this[_0x1fd4ff(0x22a6,_0x25bad3._0x153cd7)][_0x4ff231(0x181b,_0x25bad3._0x3be15e)]=this[_0x4ff231(0x2007,_0x25bad3._0x14ea24)]),this['_videoContainer'][_0x4ff231(0x21ba,_0x25bad3._0x476c03)]()):(this['_videoSynchronizer']&&(this['_videoSynchronizer']['element']=undefined),this['_videoContainer'][_0x1fd4ff(_0x25bad3._0x1a7b95,0x62b)]());}catch(_0x50a479){}}[_0x306755(0xf37,0x130c)](){const _0x522f0b={_0x3b42d1:0x3f1,_0x5ac780:0x470,_0x24141e:0x1364,_0x510567:0x600,_0x1fc83b:0x744,_0x46bd1e:0x18e,_0xdf55b8:0x1955,_0x164e24:0xec5,_0xf94a7d:0x141b,_0xa23a5f:0xa6b,_0x57a0ae:0x139b,_0xa01d85:0xe2d,_0x540d61:0xba1},_0xcfe909={_0x26512c:0x1513},_0x5e5668={_0x3e7217:0x13c};super[_0x3cc82b(0xa5d,0xea7)]();function _0x3cc82b(_0x3af09e,_0x47e7b4){return _0x2b6441(_0x3af09e,_0x47e7b4-_0x5e5668._0x3e7217);}const _0x2730f9=this[_0x3cc82b(0x4f2,_0x522f0b._0x3b42d1)]['maskImage'];if(_0x2730f9){const _0x3af9b6=new Image();_0x3af9b6['crossOrigin']='anonymous',_0x3af9b6['onload']=_0x255610=>{function _0x3b6bd9(_0x35e3fd,_0x249d76){return _0x335a00(_0x35e3fd-0x65,_0x249d76);}function _0x5e8a20(_0x4ee175,_0x54b0c7){return _0x3cc82b(_0x4ee175,_0x54b0c7- -0x15e);}this[_0x3b6bd9(0xc55,_0xcfe909._0x26512c)]=new Cesium__namespace['Texture']({'context':this['_map']['scene'][_0x5e8a20(-0x201,0x8f)],'source':_0x3af9b6});},_0x3af9b6['onerror']=_0x205dfc=>{logError('图片加载失败:'+_0x2730f9,_0x205dfc);},_0x3af9b6['src']=_0x2730f9;}else this[_0x3cc82b(_0x522f0b._0x5ac780,0xcf8)]=new Cesium__namespace[(_0x3cc82b(0x126b,0x799))]({'context':this[_0x3cc82b(0x1a5a,_0x522f0b._0x24141e)][_0x3cc82b(0x2d6,_0x522f0b._0x510567)]['context'],'source':{'width':0x1,'height':0x1,'arrayBufferView':new Uint8Array([0xff,0xff,0xff,0xff])},'flipY':![]});if(this['style'][_0x3cc82b(_0x522f0b._0x1fc83b,0xb96)])this['_videoContainer']=this['style']['container'];else this[_0x335a00(0x2e9,0x65d)]['url']&&(this[_0x335a00(0x139b,0x132f)]=createVideo(this['style']['url'],this[_0x3cc82b(-0x53d,0x3f1)][_0x335a00(0xe04,0x16f7)],'',document['body']),this[_0x335a00(0x139b,0xfb7)]['style'][_0x3cc82b(-0x71e,_0x522f0b._0x46bd1e)]=_0x3cc82b(0x1287,0x7ed),!this[_0x335a00(0x13c6,_0x522f0b._0xdf55b8)]&&this[_0x3cc82b(_0x522f0b._0x164e24,0x14a3)]['removeAttribute'](_0x3cc82b(_0x522f0b._0xf94a7d,_0x522f0b._0xa23a5f)),this['_hasRemoveElement']=!![]);function _0x335a00(_0x26fa90,_0x57dfe3){return _0x306755(_0x57dfe3,_0x26fa90- -0x56d);}this[_0x335a00(_0x522f0b._0x57a0ae,0x1904)]&&((this['options']['synchronizer']??!![])&&(this[_0x335a00(0x127d,0x1a47)]=new Cesium__namespace['VideoSynchronizer']({'clock':this['_map'][_0x335a00(_0x522f0b._0xa01d85,_0x522f0b._0x540d61)],'element':this[_0x335a00(_0x522f0b._0x57a0ae,0x1bed)]})),this['_map']['on'](EventType[_0x335a00(0xd33,0x3ac)],this['_onClockTickHandler'],this));}['_removedHook'](){const _0x2a2895={_0x3435f2:0x11c8,_0x176f57:0x1448,_0x1bc5aa:0xcf0,_0x11b80c:0x1566,_0x784582:0x1c9a,_0x543c39:0xaac,_0xf5836e:0x1830,_0x3628f6:0xe17};var _0x2d79b8;this[_0xe7531a(0x170c,0x16f1)][_0xe7531a(-0x191,0x894)](EventType[_0xe7531a(0x1a6f,_0x2a2895._0x3435f2)],this['_onClockTickHandler'],this);function _0xe7531a(_0x55826c,_0x5d71d0){return _0x306755(_0x55826c,_0x5d71d0- -0xd8);}this[_0x3ee549(_0x2a2895._0x176f57,0x148f)]&&(this[_0x3ee549(0x1448,0x116c)]['destroy'](),delete this['_videoSynchronizer']);function _0x3ee549(_0x342da9,_0x1beefd){return _0x2b6441(_0x1beefd,_0x342da9-0x1ff);}this[_0xe7531a(_0x2a2895._0x1bc5aa,0xe17)]&&(_0x2d79b8=this[_0x3ee549(_0x2a2895._0x11b80c,_0x2a2895._0x784582)])!==null&&_0x2d79b8!==void 0x0&&_0x2d79b8[_0xe7531a(-0xd,_0x2a2895._0x543c39)]&&(this[_0xe7531a(0x1a90,_0x2a2895._0xf5836e)]['parentNode']['removeChild'](this['_videoContainer']),delete this[_0xe7531a(0x107b,_0x2a2895._0x3628f6)],delete this['_videoContainer']),super[_0xe7531a(0x10e2,0xd53)]();}['_onClockTickHandler'](){const _0x115e77={_0x70f7af:0xff2,_0x4f44bb:0x16e0,_0x4c8d16:0x9ac,_0x2e3195:0x17ef,_0x4b1d42:0x1230,_0x3860e2:0x766,_0x2b256c:0xae5,_0x35a74a:0x16b0,_0x554549:0x641},_0x497a6b={_0x2c4e7b:0x119},_0x5e0a1d={_0x1781ca:0x8};try{this[_0x2e43fe(0x181a,_0x115e77._0x70f7af)]&&this[_0x10063f(_0x115e77._0x4f44bb,0x136f)]['paused']&&this['_videoContainer'][_0x10063f(_0x115e77._0x4c8d16,0x139a)]();}catch(_0x517383){}if(!this[_0x2e43fe(_0x115e77._0x2e3195,0xf6d)]||!this[_0x10063f(0x1360,_0x115e77._0x4b1d42)])return;this['_videoTexture']&&this[_0x10063f(_0x115e77._0x3860e2,0xaf6)][_0x10063f(0x14b,0x9f6)]();function _0x10063f(_0x2119bf,_0x1bd28a){return _0x2b6441(_0x2119bf,_0x1bd28a-_0x5e0a1d._0x1781ca);}function _0x2e43fe(_0x1ac82e,_0x25b5fb){return _0x306755(_0x25b5fb,_0x1ac82e- -_0x497a6b._0x2c4e7b);}this['_videoTexture']=new Cesium__namespace[(_0x2e43fe(_0x115e77._0x2b256c,0x656))]({'context':this[_0x2e43fe(_0x115e77._0x35a74a,0x1ed1)]['scene']['context'],'source':this['_videoContainer'],'pixelFormat':Cesium__namespace['PixelFormat'][_0x10063f(0x123d,0xba1)],'pixelDatatype':Cesium__namespace['PixelDatatype'][_0x2e43fe(0x7e5,_0x115e77._0x554549)]});}[_0x2b6441(0x15cf,0xcd2)](){const _0x2330c6={_0x1907c6:0x1d3c},_0xf1eccd={_0x3b7019:0x3b1};this[_0xbcfb2e(0x1389,0x132a)]&&(this['primitiveCollection']['remove'](this[_0xbcfb2e(0x1389,_0x2330c6._0x1907c6)]),delete this['_frustumPrimitive']);function _0x42666e(_0x46f2c4,_0x497166){return _0x2b6441(_0x46f2c4,_0x497166-_0xf1eccd._0x3b7019);}function _0xbcfb2e(_0x1f27cd,_0x599f0c){return _0x306755(_0x599f0c,_0x1f27cd-0x151);}super['_clearDraw']();}['_createFrustumPrimitive'](_0x2fb39b){const _0x363329={_0x1bd001:0x1014,_0x49e211:0x1911,_0x1e6d2f:0x1911,_0x1e229c:0x4f9,_0x4ef26c:0x12,_0x2c1e76:0xaf6,_0x1b947f:0x7cf,_0x4c7c20:0x392,_0x1bd450:0x157d,_0x2c8442:0x5bb,_0x21df83:0x317,_0x5c9136:0x81e,_0x516033:0x16f7,_0x2d968a:0x14f5,_0x2fd5ad:0x125b,_0x1212b4:0xe4e,_0x417858:0x129c,_0x2e4036:0x1151},_0x2c6b43=_0x2fb39b[_0x3190a8(0xecc,0x18c0)],_0x3f368b=_0x2fb39b[_0x3190a8(0x7b0,0x124d)];let _0x22f6b0=_0x2fb39b[_0x247e90(0x1026,0xdbd)];_0x22f6b0=Cesium__namespace['Cartesian3']['negate'](_0x22f6b0,new Cesium__namespace['Cartesian3']());function _0x247e90(_0x4b3772,_0x3153ea){return _0x2b6441(_0x3153ea,_0x4b3772-0x605);}const _0xbe96f6=new Cesium__namespace[(_0x3190a8(0x11cf,_0x363329._0x1bd001))]();Cesium__namespace['Matrix3'][_0x247e90(_0x363329._0x49e211,0x10cd)](_0xbe96f6,0x0,_0x22f6b0,_0xbe96f6),Cesium__namespace['Matrix3'][_0x247e90(_0x363329._0x1e6d2f,0x222e)](_0xbe96f6,0x1,_0x3f368b,_0xbe96f6),Cesium__namespace['Matrix3']['setColumn'](_0xbe96f6,0x2,_0x2c6b43,_0xbe96f6);const _0x5a8b5b=Cesium__namespace[_0x3190a8(_0x363329._0x1e229c,_0x363329._0x4ef26c)][_0x3190a8(0x2bf,_0x363329._0x2c1e76)](_0xbe96f6,new Cesium__namespace[(_0x3190a8(0x4f9,0xdc0))]());this[_0x247e90(0x129c,_0x363329._0x1b947f)]&&this['primitiveCollection'][_0x3190a8(0x7db,_0x363329._0x4c7c20)](this['_frustumPrimitive']);const _0x3f52a6={};_0x3f52a6['origin']=_0x2fb39b[_0x247e90(0x125b,_0x363329._0x1bd450)],_0x3f52a6['orientation']=_0x5a8b5b,_0x3f52a6['frustum']=_0x2fb39b['frustum'];function _0x3190a8(_0x4808d0,_0x3580b0){return _0x2b6441(_0x3580b0,_0x4808d0-0x3c0);}_0x3f52a6['_drawNearPlane']=!![];const _0x161eeb={};_0x161eeb[_0x3190a8(0x16fd,0x12aa)]=![],_0x161eeb[_0x3190a8(_0x363329._0x2c8442,_0x363329._0x21df83)]=!![],this['_frustumPrimitive']=new Cesium__namespace['Primitive']({'geometryInstances':new Cesium__namespace[(_0x247e90(0x1820,0x139d))]({'id':this['id'],'geometry':new Cesium__namespace['FrustumOutlineGeometry'](_0x3f52a6),'attributes':{'color':Cesium__namespace['ColorGeometryInstanceAttribute'][_0x3190a8(0x73b,0xc32)](Cesium__namespace['Color'][_0x247e90(0xabc,_0x363329._0x5c9136)])}}),'appearance':new Cesium__namespace[(_0x247e90(_0x363329._0x516033,0x1f14))](_0x161eeb),'asynchronous':![],'show':this['showFrustum']&&this[_0x247e90(0x15f7,0x1304)]}),this['primitiveCollection']['add'](this[_0x247e90(0x129c,_0x363329._0x2d968a)]),this[_0x3190a8(_0x363329._0x2fd5ad,_0x363329._0x1212b4)](this[_0x247e90(_0x363329._0x417858,_0x363329._0x2e4036)]);}[_0x2b6441(0x10d2,0xccf)](){const _0x232c98={_0x1ea733:0xcb9,_0x4d2449:0xb54,_0x2cf529:0x105f,_0x488fdd:0xf48,_0x13274e:0x5b0},_0x5f14eb={_0x1450f6:0x769},_0x5dfdb5={_0x5b7ef2:0xf2,_0x500f43:0x2c2,_0x2aa6bd:0xbf},_0x3eca89={_0x2d2fd4:0x10b2,_0x3e3c02:0x189c},_0x15570e={_0xb3f38d:0x172},_0x3cb075={_0x382bee:0x188},_0x12552a={_0x31e61d:0x14a8},_0x145799={_0xc0343a:0x655},_0x12ca74={_0x55259d:0x78},_0x247926={_0x5bb863:0x194b},_0x14cd6b={_0x46e017:0x161e,_0x2ffbdb:0x141c,_0x3541d1:0x982},_0x16051a={_0x47c98c:0xbcd,_0x499ebc:0x15c7},_0x4b773d={_0x3a9562:0x1509};this[_0x23be93(_0x232c98._0x1ea733,0x2de)]&&(this[_0x3534db(0x132e,_0x232c98._0x4d2449)]['scene'][_0x3534db(0x100b,_0x232c98._0x2cf529)]['remove'](this['_postProcessStage']),delete this['_postProcessStage']);const _0x211f28=new Cesium__namespace['Cartesian2']();function _0x23be93(_0x14bd5c,_0x4967f8){return _0x306755(_0x4967f8,_0x14bd5c- -0x5e4);}function _0x3534db(_0x27d627,_0x4f4eae){return _0x306755(_0x4f4eae,_0x27d627- -0x49b);}const _0x5b136c=new Cesium__namespace[(_0x3534db(_0x232c98._0x488fdd,_0x232c98._0x13274e))](),_0x58f921=new Cesium__namespace['Cartesian4'](),_0x1ac73e=this['_shadowMap']['_primitiveBias'];this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'fragmentShader':ViewVideoFS,'uniforms':{'mars3d_show':()=>{const _0x4b3ec6={_0x4a3135:0x729};var _0x12ee29;function _0x5d1fa(_0x3cf5c1,_0x5ec2a4){return _0x23be93(_0x5ec2a4-_0x4b3ec6._0x4a3135,_0x3cf5c1);}return this['show']&&((_0x12ee29=this[_0x5d1fa(0x15b0,_0x4b773d._0x3a9562)])===null||_0x12ee29===void 0x0?void 0x0:_0x12ee29['show']);},'mars3d_videoTexture':()=>{function _0x482658(_0x150c54,_0x5a67c0){return _0x3534db(_0x150c54- -0x27,_0x5a67c0);}if(!this['_videoTexture']||this['_videoTexture']['isDestroyed']())return this['_defaultColorTexture'];return this[_0x482658(_0x16051a._0x47c98c,_0x16051a._0x499ebc)];},'mars3d_maskTexture':()=>{return this['_maskTexture'];},'mars3d_opacity':()=>{return this['opacity'];},'mars3d_hiddenAreaColor':()=>{return this['hiddenAreaColor'];},'shadowMap_texture':()=>{function _0x2844e3(_0x255487,_0x32978d){return _0x3534db(_0x255487- -0x128,_0x32978d);}if(!this[_0x31434c(_0x14cd6b._0x46e017,0xec6)]||!this['_shadowMap']['_shadowMapTexture']||this['_shadowMap'][_0x2844e3(_0x14cd6b._0x2ffbdb,0xf28)][_0x31434c(_0x14cd6b._0x3541d1,0x957)]())return this[_0x2844e3(0x4ce,-0x1a8)];function _0x31434c(_0x44822f,_0x1c728f){return _0x3534db(_0x44822f-0x28d,_0x1c728f);}return this[_0x2844e3(0x1269,0xe5b)]['_shadowMapTexture'];},'shadowMap_matrix':()=>{function _0x1d7504(_0x3d9c66,_0x1fa9d2){return _0x23be93(_0x3d9c66-0x3d1,_0x1fa9d2);}return this[_0x1d7504(0x1619,0x1dfd)]['_shadowMapMatrix'];},'shadowMap_lightPositionEC':()=>{function _0xcaa581(_0x31cb4c,_0x1e50e2){return _0x3534db(_0x1e50e2-0x5ba,_0x31cb4c);}return this[_0xcaa581(0x1596,_0x247926._0x5bb863)]['_lightPositionEC'];},'shadowMap_texelSizeDepthBias':()=>{function _0xbbf95d(_0x5c6846,_0x2f134c){return _0x23be93(_0x2f134c-_0x12ca74._0x55259d,_0x5c6846);}_0x211f28['x']=0x1/this['_shadowMap']['_textureSize']['x'],_0x211f28['y']=0x1/this['_shadowMap'][_0x207c30(0x9ec,0x1245)]['y'];function _0x207c30(_0x1e884a,_0x1a0d80){return _0x23be93(_0x1e884a-_0x145799._0xc0343a,_0x1a0d80);}return Cesium__namespace['Cartesian4'][_0x207c30(0xab4,_0x12552a._0x31e61d)](_0x211f28['x'],_0x211f28['y'],_0x1ac73e[_0x207c30(0xf54,0xa57)],_0x1ac73e['normalShadingSmooth'],_0x5b136c);},'shadowMap_normalOffsetScale':()=>{function _0x1846b1(_0x3f7d04,_0x556739){return _0x3534db(_0x3f7d04-_0x3cb075._0x382bee,_0x556739);}function _0x1771c3(_0x3e9daa,_0x9dc9ed){return _0x3534db(_0x9dc9ed-_0x15570e._0xb3f38d,_0x3e9daa);}return Cesium__namespace['Cartesian4']['fromElements'](_0x1ac73e['normalOffsetScale'],this['_shadowMap'][_0x1846b1(0x10ec,0x15e0)],this['_shadowMap'][_0x1846b1(0x6f6,0x2b6)],this['_shadowMap'][_0x1846b1(_0x3eca89._0x2d2fd4,_0x3eca89._0x3e3c02)],_0x58f921);},'mars3d_flipx':()=>{const _0x5e6496={_0xa2d085:0xf9};function _0x230dc0(_0x2dfcd6,_0x2ed55f){return _0x3534db(_0x2ed55f- -_0x5e6496._0xa2d085,_0x2dfcd6);}function _0x313db9(_0x8d17fc,_0x4c0b3b){return _0x3534db(_0x4c0b3b-0x493,_0x8d17fc);}return this[_0x230dc0(_0x5dfdb5._0x5b7ef2,_0x5dfdb5._0x500f43)][_0x313db9(_0x5dfdb5._0x2aa6bd,0x66d)];},'mars3d_flipy':()=>{function _0x5f4a83(_0x2fb216,_0x2706e6){return _0x23be93(_0x2706e6- -0x22,_0x2fb216);}function _0x9dc803(_0x271437,_0x325bd1){return _0x23be93(_0x325bd1-0x4f7,_0x271437);}return this[_0x9dc803(0x85c,_0x5f14eb._0x1450f6)][_0x9dc803(-0x203,0x6de)];}}}),this['_map']['scene']['postProcessStages'][_0x23be93(0x74a,0x9e8)](this['_postProcessStage']);}}register$5(_0x2b6441(0xee3,0x1201),Video3D,!![]);let globeLastRoam;class Route extends BasePointPrimitive{constructor(_0x1bd4d4={}){const _0x1e7b37={_0x376288:0x1577,_0x29ef56:0xcf6,_0x293220:0xfa5,_0x93f272:0x17b4,_0x1b468b:0xda4,_0x46a30a:0xa0a,_0x284b44:0x1213,_0x668d1d:0xda4,_0x1d1606:0x5b9,_0x32ca3d:0xaad,_0x411ec6:0x135a,_0x47d296:0xce2,_0x421a00:0x47c,_0x46c7ea:0xda4},_0x3af04f={_0x45e0e9:0x6e8};super(_0x1bd4d4),this['options']['frameRate']=this['options']['frameRate']??0x1,this[_0x327af3(0x140b,0x1710)]=this['options']['maxCacheCount']??0x64,this[_0x30863d(0x1446,_0x1e7b37._0x376288)]=-0x1,this['_frameRateHeight']=this['options'][_0x30863d(0x1788,0x18b3)]??0x1e;function _0x327af3(_0x223bf2,_0x3b1d53){return _0x2b6441(_0x3b1d53,_0x223bf2-0x63a);}this['_zhStyle'](this[_0x327af3(_0x1e7b37._0x29ef56,0x8b2)]['style']),this['_child']={},this[_0x327af3(_0x1e7b37._0x293220,0x11a7)]=new Cesium__namespace['Cartesian3']();function _0x30863d(_0x493156,_0x59c9a3){return _0x2b6441(_0x493156,_0x59c9a3-_0x3af04f._0x45e0e9);}this['property']=this[_0x30863d(_0x1e7b37._0x93f272,_0x1e7b37._0x1b468b)][_0x30863d(_0x1e7b37._0x46a30a,0x133e)]||new Cesium__namespace[(_0x30863d(_0x1e7b37._0x284b44,0xa1a))](this[_0x327af3(0xcf6,0xac9)]['referenceFrame'],this[_0x30863d(0x1502,_0x1e7b37._0x668d1d)]['numberOfDerivatives']),this[_0x30863d(_0x1e7b37._0x1d1606,0xadb)]['forwardExtrapolationType']=this['options'][_0x30863d(0xfd8,_0x1e7b37._0x32ca3d)]??Cesium__namespace[_0x327af3(_0x1e7b37._0x411ec6,_0x1e7b37._0x47d296)]['HOLD'],this['property']['backwardExtrapolationType']=this['options']['backwardExtrapolationType']??Cesium__namespace['ExtrapolationType']['HOLD'],this[_0x327af3(0x8ad,_0x1e7b37._0x421a00)]=this[_0x30863d(0x1539,_0x1e7b37._0x46c7ea)]['orientation']||new Cesium__namespace['VelocityOrientationProperty'](this['property']),this['_readyPromise']=Cesium__namespace['defer']();}get[_0x306755(0x1336,0x86b)](){function _0x163814(_0x5b3732,_0x535e7c){return _0x306755(_0x5b3732,_0x535e7c-0x167);}return this[_0x163814(0x1865,0x143b)]['label'];}set['label'](_0x303601){const _0x46b9e6={_0x1c28b0:0x682,_0x1ca06d:0x3c3};function _0x41c5ee(_0x2e1df5,_0x41f058){return _0x306755(_0x2e1df5,_0x41f058- -0x4a8);}this['options']['label']=_0x303601,this['_initChildGraphic'](_0x41c5ee(-_0x46b9e6._0x1c28b0,_0x46b9e6._0x1ca06d),LabelPrimitive);}get['billboard'](){const _0x549b9c={_0x6f1784:0x4d6};function _0x594ed9(_0x44dc5e,_0x52623f){return _0x306755(_0x44dc5e,_0x52623f- -_0x549b9c._0x6f1784);}return this['_child'][_0x594ed9(0x1a30,0x126b)];}set['billboard'](_0x1bd109){this['options']['billboard']=_0x1bd109,this['_initChildGraphic']('billboard',BillboardPrimitive);}get['point'](){return this['_child']['point'];}set['point'](_0x307053){const _0x1a880f={_0x46c361:0x132d,_0x238c2b:0x1256},_0x19bb14={_0x28be80:0x72};function _0x48fed2(_0x33993a,_0x472675){return _0x2b6441(_0x472675,_0x33993a- -_0x19bb14._0x28be80);}function _0x47c7fa(_0x3e4e85,_0x4586f6){return _0x306755(_0x4586f6,_0x3e4e85-0x66);}this[_0x48fed2(0x64a,0xac8)]['point']=_0x307053,this[_0x48fed2(_0x1a880f._0x46c361,0x997)](_0x48fed2(_0x1a880f._0x238c2b,0xcde),PointPrimitive);}get['model'](){const _0x5993ea={_0x6aec6b:0x1c66};function _0x51c227(_0x361a53,_0x110b4e){return _0x2b6441(_0x110b4e,_0x361a53- -0x33);}return this['_child'][_0x51c227(0x1380,_0x5993ea._0x6aec6b)];}set['model'](_0x3d2034){const _0x3f9304={_0x35b59c:0x1246,_0x2f1359:0x1488,_0x3b8891:0x1ccd,_0x1a56dd:0x17e0};function _0x1737cd(_0x4ef5a4,_0x5ce722){return _0x2b6441(_0x5ce722,_0x4ef5a4-0xd5);}function _0x405248(_0xbfc3ce,_0x5469b4){return _0x2b6441(_0x5469b4,_0xbfc3ce-0x42d);}this[_0x1737cd(0x791,_0x3f9304._0x35b59c)][_0x1737cd(_0x3f9304._0x2f1359,_0x3f9304._0x3b8891)]=_0x3d2034,this[_0x1737cd(0x1474,0x1ddc)](_0x405248(_0x3f9304._0x1a56dd,0x21df),ModelPrimitive);}get['readyPromise'](){return this['_readyPromise']['promise'];}get['circle'](){function _0x1c7dac(_0x31c47e,_0x21ecef){return _0x306755(_0x21ecef,_0x31c47e- -0x1c9);}return this['_child'][_0x1c7dac(0xb53,0x1096)];}set['circle'](_0x2ea75f){this['options']['circle']=_0x2ea75f,this['_initChildGraphic']('circle',CircleEntity);}get[_0x306755(0x89f,0xfc7)](){const _0x16d961={_0x318b11:0x13ab};function _0xb53338(_0x1e9f4d,_0x416481){return _0x306755(_0x1e9f4d,_0x416481-0xd7);}return this[_0xb53338(0x12e6,_0x16d961._0x318b11)]['coneTrack'];}set[_0x2b6441(0x59d,0xa26)](_0x178224){const _0x379f23={_0x5f1bfa:0xcc9,_0x5aeaa9:0x19ac};function _0x4da48d(_0xf1b27b,_0x25fadc){return _0x306755(_0x25fadc,_0xf1b27b- -0x50);}function _0x545ac5(_0x4d5b29,_0x4b4194){return _0x306755(_0x4b4194,_0x4d5b29-0x6c);}this[_0x545ac5(_0x379f23._0x5f1bfa,0x349)]['coneTrack']=_0x178224,this[_0x545ac5(_0x379f23._0x5aeaa9,0x12c8)]('coneTrack',ConeTrack);}get[_0x2b6441(0xd89,0x844)](){const _0x3c20f0={_0x444f06:0xf7};function _0x52a963(_0x1613d7,_0x2fc2e8){return _0x306755(_0x2fc2e8,_0x1613d7- -_0x3c20f0._0x444f06);}return this['_child'][_0x52a963(0xcee,0xd7f)];}set[_0x306755(0x85d,0xde5)](_0x2778d8){const _0x491b94={_0x2b94e7:0x770,_0x8d5976:0xac0},_0x1c571e={_0x5d647f:0xb4};function _0x5ad0a0(_0x5989cb,_0x25b10f){return _0x2b6441(_0x5989cb,_0x25b10f-_0x1c571e._0x5d647f);}this[_0x5ad0a0(0xeaf,_0x491b94._0x2b94e7)]['path']=_0x2778d8;function _0x501eff(_0x3c49e0,_0x429243){return _0x2b6441(_0x429243,_0x3c49e0-0x27c);}this['_initChildGraphic'](_0x501eff(_0x491b94._0x8d5976,0x866),PathEntity);}get[_0x2b6441(0xcfe,0xf2a)](){function _0xb522b3(_0x4e9581,_0x26b9e9){return _0x2b6441(_0x26b9e9,_0x4e9581-0x50a);}return this[_0xb522b3(0x123d,0xbf5)]['polyline'];}set[_0x2b6441(0xa4e,0xf2a)](_0x291aaa){const _0x19cdc8={_0x5550a1:0x11ce};this['options']['polyline']=_0x291aaa;function _0x5721d1(_0x54e078,_0x48e240){return _0x2b6441(_0x48e240,_0x54e078-0x6bc);}function _0x49f3d5(_0x4a09ab,_0x5e3711){return _0x306755(_0x4a09ab,_0x5e3711- -0x2fd);}this[_0x5721d1(0x1a5b,0x2080)](_0x49f3d5(0x19fb,_0x19cdc8._0x5550a1),PolylineEntity);}get[_0x306755(0xde7,0x12f4)](){function _0x2ea79f(_0x1e5abb,_0x563544){return _0x306755(_0x563544,_0x1e5abb- -0x3c5);}return this[_0x2ea79f(0xf0f,0x160f)]['wall'];}set['wall'](_0x21e621){const _0x5663f6={_0x515f0b:0xcd8};function _0x25d4a4(_0x2a310a,_0x3f1758){return _0x2b6441(_0x2a310a,_0x3f1758-0x61c);}this[_0x25d4a4(0x2e9,_0x5663f6._0x515f0b)]['wall']=_0x21e621;function _0x8abd9f(_0x597c07,_0x405f11){return _0x306755(_0x597c07,_0x405f11- -0x564);}this[_0x8abd9f(0x1151,0x13dc)]('wall',WallEntity);}get['modelMatrix'](){function _0x1a8c78(_0x180c9c,_0x420035){return _0x306755(_0x420035,_0x180c9c- -0x62);}return this[_0x1a8c78(0x17c8,0xdcc)]?this['_modelMatrix']:this['_getModelMatrix'](this['_position'],this['_orientation_show']);}get['groundPosition'](){const _0x2eaa9f={_0x17aab1:0x1216},_0x1fbf85={_0x11aa1a:0x3fc};function _0x48dc61(_0x4bb986,_0x87b9cc){return _0x306755(_0x87b9cc,_0x4bb986- -0x282);}function _0x301420(_0x2d98b7,_0x40e493){return _0x306755(_0x2d98b7,_0x40e493- -_0x1fbf85._0x11aa1a);}return getRayEarthPosition(this[_0x301420(0x319,0xac7)],new Cesium__namespace[(_0x48dc61(_0x2eaa9f._0x17aab1,0xfe6))](this['_heading_reality'],this['_pitch_reality'],this['_roll_reality']),!![]);}get['alt'](){const _0x414477={_0x5c7fc6:0x88c};function _0x404fc6(_0x2d37ac,_0x1afa07){return _0x2b6441(_0x1afa07,_0x2d37ac-0x43e);}if(this['_clampToTilesetHeight'])return this['_clampToTilesetHeight'];if(this['_position']){const _0x31b2ef=Cesium__namespace['Cartographic'][_0x404fc6(_0x414477._0x5c7fc6,0x8e6)](this['_position']);return _0x31b2ef['height'];}return 0x0;}get[_0x2b6441(-0x354,-0xe5)](){const _0x394fcd={_0x36556a:0xb2d,_0x4f8ff6:0x1456,_0x19338c:0xafe,_0xe96fab:0x35d,_0x3e84da:0xb7e,_0x234733:0x70c,_0x1f75d5:0x1c0};var _0x5487ce,_0x37576d,_0x28535f,_0x17e57b;if((_0x5487ce=this['options']['model'])!==null&&_0x5487ce!==void 0x0&&_0x5487ce[_0x2b68f9(_0x394fcd._0x36556a,0x35d)])return!![];function _0x612a22(_0x75ed5e,_0x593aad){return _0x306755(_0x593aad,_0x75ed5e- -0x647);}if((_0x37576d=this['options']['point'])!==null&&_0x37576d!==void 0x0&&_0x37576d['clampToGround'])return!![];if((_0x28535f=this[_0x2b68f9(_0x394fcd._0x4f8ff6,_0x394fcd._0x19338c)]['billboard'])!==null&&_0x28535f!==void 0x0&&_0x28535f[_0x2b68f9(-0x27,_0x394fcd._0xe96fab)])return!![];if((_0x17e57b=this[_0x2b68f9(_0x394fcd._0x3e84da,0xafe)][_0x2b68f9(0x18b,_0x394fcd._0x234733)])!==null&&_0x17e57b!==void 0x0&&_0x17e57b[_0x2b68f9(-_0x394fcd._0x1f75d5,0x35d)])return!![];function _0x2b68f9(_0x1038cd,_0x2facb5){return _0x306755(_0x1038cd,_0x2facb5- -0x15f);}return![];}get[_0x306755(0xd7e,0xee8)](){const _0x4711a5={_0xe43298:0xfaf};var _0x2e1d9a;const _0x12ca4b=(_0x2e1d9a=this[_0x3ec5ed(0xa6c,_0x4711a5._0xe43298)])===null||_0x2e1d9a===void 0x0||(_0x2e1d9a=_0x2e1d9a['_property'])===null||_0x2e1d9a===void 0x0?void 0x0:_0x2e1d9a['_times'];function _0x3ec5ed(_0x35ee21,_0x437c52){return _0x2b6441(_0x437c52,_0x35ee21-0x679);}return _0x12ca4b['length']>0x0?_0x12ca4b[0x0]:null;}get['stopTime'](){const _0x1f2e67={_0x13b181:0x1ca4,_0x44ace9:0x1206,_0xed3377:0x1cd9};var _0x525245;function _0x3f1d25(_0x40bed0,_0x5084eb){return _0x2b6441(_0x40bed0,_0x5084eb-0x2b8);}const _0x2eca3f=(_0x525245=this['property'])===null||_0x525245===void 0x0||(_0x525245=_0x525245[_0x3f1d25(_0x1f2e67._0x13b181,_0x1f2e67._0x44ace9)])===null||_0x525245===void 0x0?void 0x0:_0x525245['_times'];function _0x1120e4(_0x41579f,_0x42ca30){return _0x2b6441(_0x41579f,_0x42ca30-0x330);}return _0x2eca3f['length']>0x0?_0x2eca3f[_0x2eca3f[_0x1120e4(_0x1f2e67._0xed3377,0x138a)]-0x1]:null;}get['currIndex'](){return this['_flyok_index'];}get['multiplier'](){const _0x2085ea={_0x39e84e:0x15b3};var _0x27614c;function _0x53feff(_0x350991,_0x3514ad){return _0x2b6441(_0x3514ad,_0x350991-0x263);}return(_0x27614c=this['_map'])===null||_0x27614c===void 0x0?void 0x0:_0x27614c[_0x53feff(0x105c,_0x2085ea._0x39e84e)]['multiplier'];}set['multiplier'](_0x5d2ccd){const _0x576f97={_0x523565:0x15cd},_0xe7e346={_0xd79d9b:0x130};function _0x3bb5eb(_0x535d26,_0x1a48c4){return _0x306755(_0x1a48c4,_0x535d26- -0x1fc);}function _0x16237c(_0x1805af,_0x421d0d){return _0x306755(_0x421d0d,_0x1805af- -_0xe7e346._0xd79d9b);}this[_0x16237c(0x1699,0x141a)]&&(this[_0x3bb5eb(_0x576f97._0x523565,0x204c)][_0x3bb5eb(0x119e,0xf82)]['multiplier']=_0x5d2ccd);}get['isPause'](){const _0x374179={_0x56d90e:0x3db};var _0x3495ba;function _0x3a10c7(_0x53b5e5,_0x407fb5){return _0x306755(_0x407fb5,_0x53b5e5- -_0x374179._0x56d90e);}function _0x58f89a(_0x3cfce1,_0x45fdd0){return _0x2b6441(_0x3cfce1,_0x45fdd0-0xb9);}return!((_0x3495ba=this[_0x58f89a(0x13e0,0x12e1)])!==null&&_0x3495ba!==void 0x0&&_0x3495ba[_0x58f89a(0xa5c,0xeb2)]['shouldAnimate']);}set['isPause'](_0x4f35ca){const _0x17fe2c={_0x12195f:0x969};function _0xd47ef6(_0x482e1e,_0x3f86af){return _0x2b6441(_0x482e1e,_0x3f86af- -0x81);}this['_map']&&(_0x4f35ca?this['pause']():this[_0xd47ef6(0xdd,_0x17fe2c._0x12195f)]());}get['objectsToExclude'](){const _0x173c18={_0x4ddd4a:0xdbd,_0x1f1e82:0xca4,_0x116e90:0x7d9},_0x1c8eb0={_0x828b7b:0x64c},_0x37d673={_0x15aa10:0x52f};if(this['options']['objectsToExclude'])return this[_0xd3aea0(_0x173c18._0x4ddd4a,0xe0f)]['objectsToExclude'];function _0xd3aea0(_0x5e2596,_0x24ca42){return _0x306755(_0x24ca42,_0x5e2596-0x160);}if(this['_objectsToExcludee'])return this[_0x1c37e2(_0x173c18._0x1f1e82,_0x173c18._0x116e90)];const _0x15674f=[];function _0x1c37e2(_0x5d7630,_0x1029b6){return _0x2b6441(_0x5d7630,_0x1029b6-_0x37d673._0x15aa10);}this['eachChildGraphic'](_0x20d530=>{function _0x2bfcdb(_0x429495,_0x2c4dec){return _0xd3aea0(_0x429495- -0x482,_0x2c4dec);}_0x20d530['czmObject']&&_0x15674f[_0x2bfcdb(0x377,-_0x1c8eb0._0x828b7b)](_0x20d530['czmObject']);});if(_0x15674f['length']>0x0)return _0x15674f;return undefined;}set['objectsToExclude'](_0x5a030c){const _0x46aabb={_0x1ca07c:0x1cf};function _0x5a5bb6(_0x5ce69f,_0x5498c8){return _0x2b6441(_0x5ce69f,_0x5498c8-0x147);}this[_0x5a5bb6(-_0x46aabb._0x1ca07c,0x3f1)]=_0x5a030c;}get['style'](){const _0x2d2e52={_0x5bbfb0:0x48e,_0x4b7fc6:0x110e,_0x2d20cc:0x17ab,_0x254e05:0x10b7,_0x253903:0x12ca,_0x438f3f:0x112d},_0x488627={_0x53b5d7:0x25b};if(!this['_style_clache']){const _0x48d090={};_0x48d090['onlySimpleType']=!![],this['_style_clache']=getAttrVal(this['options'],_0x48d090);}function _0x54766b(_0x596895,_0x333c96){return _0x2b6441(_0x596895,_0x333c96-0x4e3);}this['_splitOptionsToStyle'](this['_style_clache'],_0xeef8a7(0x18a7,0x16f9));function _0xeef8a7(_0x15759c,_0x2d7972){return _0x306755(_0x15759c,_0x2d7972- -_0x488627._0x53b5d7);}return this['_splitOptionsToStyle'](this['_style_clache'],'label'),this[_0x54766b(_0x2d2e52._0x5bbfb0,0x9ca)](this[_0xeef8a7(_0x2d2e52._0x4b7fc6,0x112d)],'billboard'),this['_splitOptionsToStyle'](this[_0xeef8a7(0x17ee,0x112d)],_0x54766b(0x181e,_0x2d2e52._0x2d20cc)),this['_splitOptionsToStyle'](this[_0xeef8a7(0x1385,0x112d)],'circle'),this['_splitOptionsToStyle'](this[_0x54766b(_0x2d2e52._0x254e05,_0x2d2e52._0x253903)],'cone'),this['_splitOptionsToStyle'](this['_style_clache'],'coneTrack'),this[_0xeef8a7(-0x125,0x82d)](this['_style_clache'],'polyline'),this['_splitOptionsToStyle'](this['_style_clache'],_0xeef8a7(0x112a,0x1099)),this['_splitOptionsToStyle'](this['_style_clache'],'path'),delete this[_0xeef8a7(0x18c8,_0x2d2e52._0x438f3f)]['_promise'],delete this['_style_clache']['style'],delete this['_style_clache']['attr'],this['_style_clache'];}set[_0x2b6441(0xad9,0x2b5)](_0x3fe55c){this['setStyle'](_0x3fe55c);}[_0x306755(0x75f,0x7e9)](_0x25fef3){const _0x32de4d={_0x50fe89:0x462},_0x15000c={_0xf74150:0x59c};if(!_0x25fef3)return;_0x25fef3={..._0x25fef3};function _0x2ce8fa(_0x444bc5,_0x43c27d){return _0x2b6441(_0x444bc5,_0x43c27d-_0x15000c._0xf74150);}function _0x1db680(_0x49dca4,_0x4fa2f5){return _0x2b6441(_0x49dca4,_0x4fa2f5-0x66);}return this[_0x1db680(_0x32de4d._0x50fe89,0xa80)](_0x25fef3),this['_setOptionsHook'](this[_0x2ce8fa(0x1354,0xc58)],_0x25fef3),this;}['openHighlight'](_0x3ccdae,_0x418367=!![]){const _0xdea9a2={_0x2b75e6:0xed1,_0x38d164:0xf35,_0x451b94:0xe36,_0x43eedb:0x14c0,_0x134cfa:0x2c1,_0x30453c:0x189d,_0x247732:0x13b2,_0x142906:0x10fb,_0x227b15:0x73b,_0x33a7ca:0x1428,_0x522190:0x1586,_0x3b4eaf:0xc33,_0x1bae6d:0x1558},_0x466b88={_0x16a4a1:0xa3};var _0x48c95c;_0x418367&&(this['_map'][_0x5d1b21(_0xdea9a2._0x2b75e6,0xaa4)](),this['_map'][_0x312788(0x802,-0xd6)]=this);this['_highlight_state']=!![];function _0x312788(_0x3ca2da,_0x2d6b2f){return _0x2b6441(_0x3ca2da,_0x2d6b2f-0x13);}function _0x5d1b21(_0x4f402b,_0x5280ef){return _0x306755(_0x4f402b,_0x5280ef- -_0x466b88._0x16a4a1);}const _0x134f40=_0x3ccdae||this['_highlightOptions']||((_0x48c95c=this[_0x312788(_0xdea9a2._0x38d164,_0xdea9a2._0x451b94)])===null||_0x48c95c===void 0x0?void 0x0:_0x48c95c['_highlightOptions']);if(_0x134f40){const _0x43f42f=[];for(const _0x2fd9be in _0x134f40){const _0x3efc5a=_0x134f40[_0x2fd9be];switch(_0x2fd9be){case _0x312788(_0xdea9a2._0x43eedb,0x10d5):break;case _0x5d1b21(_0xdea9a2._0x134cfa,0x7c8):this['_initChildGraphic']('label',LabelPrimitive,_0x3efc5a);break;case'billboard':this['_initChildGraphic']('billboard',BillboardPrimitive,_0x3efc5a);break;case'point':this[_0x5d1b21(0x14d1,_0xdea9a2._0x30453c)]('point',PointPrimitive,_0x3efc5a);break;case'model':this[_0x5d1b21(0x1922,0x189d)]('model',ModelPrimitive,_0x3efc5a);break;case'circle':this[_0x312788(0x1cde,_0xdea9a2._0x247732)]('circle',CircleEntity,_0x3efc5a);break;case _0x312788(_0xdea9a2._0x142906,0xa39):this['_initChildGraphic']('coneTrack',ConeTrack,_0x3efc5a);break;case _0x5d1b21(_0xdea9a2._0x227b15,0xd42):this['_initChildGraphic']('path',PathEntity,_0x3efc5a);break;case _0x5d1b21(0x1a65,_0xdea9a2._0x33a7ca):this['_initChildGraphic']('polyline',PolylineEntity,_0x3efc5a);break;case'wall':this[_0x5d1b21(_0xdea9a2._0x522190,0x189d)]('wall',WallEntity);break;}}_0x43f42f[_0x5d1b21(_0xdea9a2._0x3b4eaf,_0xdea9a2._0x1bae6d)]>0x0&&logWarn('openHighlight:原有options中不存在以下属性,关闭高亮时将无法恢复',_0x43f42f),this['_last_highlightOptions']=_0x134f40,this['fire'](EventType[_0x312788(0xd23,0x381)],{},!![]);}}[_0x2b6441(0x968,0x5a6)](){const _0x2567dc={_0x72e446:0x531};if(!this['isAdded']||!this['_highlight_state'])return;function _0x14411e(_0x213b6d,_0x21cdc7){return _0x306755(_0x213b6d,_0x21cdc7- -0x374);}function _0x1d8825(_0x44d471,_0x241f60){return _0x2b6441(_0x241f60,_0x44d471-_0x2567dc._0x72e446);}delete this['_highlight_state'],this['_setOptionsHook'](this[_0x14411e(0x656,0x8e9)],this['_last_highlightOptions']),delete this['_last_highlightOptions'],this['_map'][_0x14411e(-0x28d,0x7e9)](),this['fire'](EventType['highlightClose'],{},!![]);}['_initSampledPositionProperty'](){const _0x565f09={_0x538924:0xaf5,_0x1dae89:0x59c},_0x247ae2={_0x4cb5cd:0x4a0};this['_sampledPositionProperty']=this[_0x32cdc7(0x126b,_0x565f09._0x538924)];function _0x5cc1e5(_0x1aa9dd,_0x195278){return _0x306755(_0x195278,_0x1aa9dd- -_0x247ae2._0x4cb5cd);}function _0x32cdc7(_0x4fa461,_0x14cffa){return _0x306755(_0x4fa461,_0x14cffa-0x161);}this[_0x5cc1e5(0x19d,_0x565f09._0x1dae89)]();}['_mountedHook'](){const _0x7fed1a={_0x5cac51:0x19aa,_0x1a8684:0x1a2a,_0x90c050:0x235e,_0x141f50:0x1a99,_0x4d3969:0x2126,_0xddfe22:0x1a85},_0x40de3f={_0x596de3:0x19d};this[_0x3c5980(0x153c,0x10aa)](_0x51dee9(0x6a5,0x9b0),LabelPrimitive),this['_initChildGraphic'](_0x51dee9(0x16a1,0x1886),BillboardPrimitive),this[_0x51dee9(_0x7fed1a._0x5cac51,0x1a85)]('point',PointPrimitive),this[_0x51dee9(_0x7fed1a._0x1a8684,0x1a85)](_0x51dee9(_0x7fed1a._0x90c050,_0x7fed1a._0x141f50),ModelPrimitive),this['_initChildGraphic']('circle',CircleEntity),this['_initChildGraphic'](_0x51dee9(0x184e,0x110c),ConeTrack);function _0x51dee9(_0x6a7c79,_0x588da2){return _0x306755(_0x6a7c79,_0x588da2-0x145);}this[_0x3c5980(0x153c,0x13ef)]('path',PathEntity);function _0x3c5980(_0x37ea6e,_0x1587f3){return _0x2b6441(_0x1587f3,_0x37ea6e-_0x40de3f._0x596de3);}this['_initChildGraphic'](_0x3c5980(0x10c7,0x91e),PolylineEntity),this[_0x51dee9(_0x7fed1a._0x4d3969,_0x7fed1a._0xddfe22)]('wall',WallEntity);}[_0x306755(0xc13,0x99e)](_0x45ef4f){const _0x30c860={_0xfa643f:0xa30,_0x2bb0b2:0xbd7,_0x2f20cb:0xf22,_0x23a565:0x14d6,_0x3de58b:0x135f,_0x1bfec9:0x613,_0x464972:0x1024,_0x57e6e7:0x7cf,_0xf1e90b:0xcb9,_0x5056dc:0x19f5,_0x2e5c49:0xcb9,_0x5d5b8d:0x8d0,_0x2c790f:0x699,_0x5af08b:0x583};var _0x540d74;function _0x14487e(_0x54b48b,_0x380d7f){return _0x306755(_0x54b48b,_0x380d7f- -0x21e);}if(!this['show']){this[_0x228ebb(_0x30c860._0xfa643f,_0x30c860._0x2bb0b2)]=!![];return;}this['_addChildGraphic']();(_0x540d74=this['model'])!==null&&_0x540d74!==void 0x0&&_0x540d74[_0x228ebb(0x1439,_0x30c860._0x2f20cb)]&&this['model'][_0x228ebb(0xee9,0xf22)][_0x228ebb(_0x30c860._0x23a565,_0x30c860._0x3de58b)](()=>{this['_readyPromise']['resolve'](this);});function _0x228ebb(_0x412ab7,_0x15910c){return _0x306755(_0x412ab7,_0x15910c-0x5c);}this['options'][_0x14487e(_0x30c860._0x1bfec9,0xfd9)]&&this[_0x14487e(_0x30c860._0x464972,0x699)](this[_0x228ebb(0x9c4,0xcb9)]['position']);if(this[_0x228ebb(_0x30c860._0x57e6e7,_0x30c860._0xf1e90b)][_0x228ebb(0x1381,_0x30c860._0x5056dc)])for(let _0x3e221b=0x0;_0x3e221b<this[_0x228ebb(0x375,_0x30c860._0x2e5c49)]['positions'][_0x14487e(0x161f,0x13dd)];_0x3e221b++){const _0x34880a=this['options'][_0x14487e(0x1f90,0x177b)][_0x3e221b];this[_0x14487e(_0x30c860._0x5d5b8d,_0x30c860._0x2c790f)](_0x34880a,_0x34880a[_0x14487e(_0x30c860._0x5af08b,0x1007)]);}}[_0x306755(0x69c,0xe2b)](_0x1cdcc4){const _0x11cd1e={_0x4c8064:0x528};function _0x2fc0ba(_0x201c40,_0x22c3aa){return _0x2b6441(_0x201c40,_0x22c3aa-_0x11cd1e._0x4c8064);}this['_removeChildGraphic'](),super[_0x2fc0ba(0x13f8,0xdb2)](_0x1cdcc4);}[_0x306755(-0x3d1,0x497)](_0x124bf0){const _0xdc9d5b={_0x19a077:0xe83,_0x5c50b9:0x1669},_0x4adb4f={_0x44e62f:0x5f1};var _0x14d93e,_0x682194;const _0x231413=(_0x14d93e=this['property'])===null||_0x14d93e===void 0x0||(_0x14d93e=_0x14d93e['_property'])===null||_0x14d93e===void 0x0?void 0x0:_0x14d93e['_times'];function _0x46b6f8(_0x3ff52e,_0x111e95){return _0x2b6441(_0x3ff52e,_0x111e95-_0x4adb4f._0x44e62f);}const _0xbfcd17=(_0x682194=this['property'])===null||_0x682194===void 0x0||(_0x682194=_0x682194[_0xdbb5f9(0xad3,0xf7a)])===null||_0x682194===void 0x0?void 0x0:_0x682194[_0xdbb5f9(0x52d,0x521)];if(!_0x231413||_0x231413['length']===0x0)return;const _0x524b93=[];function _0xdbb5f9(_0x3bb06d,_0x346f75){return _0x306755(_0x3bb06d,_0x346f75- -0x575);}for(let _0x318579=0x0,_0x4ee9af=_0x231413['length'];_0x318579<_0x4ee9af;_0x318579++){const _0x3b0e55=LngLatPoint['fromCartesian'](new Cesium__namespace[(_0x46b6f8(0x130b,0xa71))](_0xbfcd17[_0x318579*0x3],_0xbfcd17[_0x318579*0x3+0x1],_0xbfcd17[_0x318579*0x3+0x2])),_0x400e37=Cesium__namespace[_0x46b6f8(0x1a88,0x1a41)][_0xdbb5f9(_0xdc9d5b._0x19a077,0x701)](_0x231413[_0x318579]);_0x524b93['push']({'lat':_0x3b0e55['lat'],'lng':_0x3b0e55['lng'],'alt':_0x3b0e55['alt'],'time':formatDate(_0x400e37,_0x46b6f8(0x125d,_0xdc9d5b._0x5c50b9))});}_0x124bf0['positions']=_0x524b93;}['_showHook'](_0x1c81ee){const _0x5bbb02={_0x29f5d1:0x764},_0x17c66d={_0xa8f5af:0x1038,_0x20c951:0x992},_0x347170={_0x3c64ed:0x5ed},_0x8d8b05={_0x29d2ca:0x2d8};function _0x33b0ed(_0x5ca239,_0x2ec909){return _0x2b6441(_0x5ca239,_0x2ec909-_0x8d8b05._0x29d2ca);}function _0x2097fb(_0x303200,_0x4ef927){return _0x306755(_0x4ef927,_0x303200- -_0x347170._0x3c64ed);}_0x1c81ee?(this[_0x2097fb(0x58e,_0x5bbb02._0x29f5d1)]&&(this['_addedHook'](this['style']),delete this['_has_addedHook']),this['eachChildGraphic'](_0xbba599=>{_0xbba599['show']=_0xbba599['_lastShow']??!![],delete _0xbba599['_lastShow'];})):this[_0x33b0ed(0x1af,0x581)](_0x4af861=>{function _0x493923(_0x823367,_0x595e35){return _0x33b0ed(_0x595e35,_0x823367- -0x292);}_0x4af861['_lastShow']=_0x4af861['show'],_0x4af861[_0x493923(_0x17c66d._0xa8f5af,_0x17c66d._0x20c951)]=![];});}[_0x306755(0x1da6,0x18d1)](_0x21bd75,_0x12ef99){const _0x356663={_0x34e95f:0x16e7,_0xd09176:0x4e2,_0x44b7b7:0x1272,_0x1893a1:0x1597,_0xda3fd3:0x1000,_0x183a7b:0xb2f,_0x221b77:0x638};function _0x1a8d76(_0x264a80,_0x32848f){return _0x2b6441(_0x32848f,_0x264a80-0x348);}var _0x29ad86;function _0x5531bf(_0x327f37,_0x438486){return _0x2b6441(_0x327f37,_0x438486-0x2ad);}this['_zhStyle'](_0x12ef99['style']);for(const _0x802357 in _0x12ef99){switch(_0x802357){case _0x1a8d76(0x612,0x670):this['_initChildGraphic']('label',LabelPrimitive);break;case'billboard':this['_initChildGraphic']('billboard',BillboardPrimitive);break;case'point':this['_initChildGraphic'](_0x5531bf(0x1523,0x1575),PointPrimitive);break;case'model':this['_initChildGraphic'](_0x1a8d76(0x16fb,0x19eb),ModelPrimitive);break;case'circle':this[_0x1a8d76(_0x356663._0x34e95f,0xda2)](_0x5531bf(_0x356663._0xd09176,0xa28),CircleEntity);break;case'coneTrack':this['_initChildGraphic']('coneTrack',ConeTrack);break;case _0x5531bf(0x46c,0xaf1):this[_0x5531bf(0x1211,0x164c)]('path',PathEntity);break;case _0x1a8d76(_0x356663._0x44b7b7,0xe1b):this['_initChildGraphic']('polyline',PolylineEntity);break;case _0x5531bf(0x159c,0x1000):this['_initChildGraphic'](_0x5531bf(_0x356663._0x1893a1,_0x356663._0xda3fd3),WallEntity);break;}}(_0x29ad86=this[_0x1a8d76(0xa04,_0x356663._0x183a7b)])!==null&&_0x29ad86!==void 0x0&&(_0x29ad86=_0x29ad86['polyline'])!==null&&_0x29ad86!==void 0x0&&_0x29ad86[_0x5531bf(_0x356663._0x221b77,0x24d)]&&(this['_child']['polyline'][_0x1a8d76(0x1740,0x1425)]=this['positions']);}['_splitOptionsToStyle'](_0x1c0b72,_0x27c504){const _0x58894d=_0x1c0b72[_0x27c504];if(_0x58894d){delete _0x1c0b72[_0x27c504];for(const _0x466750 in _0x58894d){_0x1c0b72[_0x27c504+'_'+_0x466750]=_0x58894d[_0x466750];}}}['_mergeStyleToOptions'](_0x347457,_0x444d02){const _0x25d917={_0x1297ea:0x1465},_0x5f4bf7={_0x3c5801:0x85},_0x58f909=_0x444d02+'_';function _0x2c1b44(_0x373925,_0x50269c){return _0x306755(_0x50269c,_0x373925- -0x196);}function _0x29dbf8(_0x37e8c5,_0x46f503){return _0x2b6441(_0x37e8c5,_0x46f503- -_0x5f4bf7._0x3c5801);}for(const _0x4196c7 in _0x347457){const _0x2f6600=_0x347457[_0x4196c7];_0x4196c7[_0x2c1b44(0x36b,-0x70f)](_0x58f909)&&(!_0x347457[_0x444d02]&&(_0x347457[_0x444d02]={}),_0x347457[_0x444d02][_0x4196c7['substring'](_0x58f909[_0x2c1b44(_0x25d917._0x1297ea,0xec4)])]=_0x2f6600,delete _0x347457[_0x4196c7]);}}['_zhStyle'](_0x6924d0){const _0xb61f5d={_0x1812ba:0x19c0,_0x3d73af:0x163e,_0x539fcd:0x19ae,_0x285497:0x1356,_0x4fe975:0x21a4};function _0x3aac44(_0x10ade5,_0x4e39ea){return _0x2b6441(_0x10ade5,_0x4e39ea-0x603);}if(!_0x6924d0||Object[_0xdd35d4(0xe9c,0x1363)](_0x6924d0)['length']===0x0)return;this['_mergeStyleToOptions'](_0x6924d0,'model'),this['_mergeStyleToOptions'](_0x6924d0,_0x3aac44(0xf43,0x8cd)),this['_mergeStyleToOptions'](_0x6924d0,'billboard'),this['_mergeStyleToOptions'](_0x6924d0,'point'),this[_0x3aac44(_0xb61f5d._0x1812ba,0x19ae)](_0x6924d0,'circle'),this['_mergeStyleToOptions'](_0x6924d0,'cone'),this['_mergeStyleToOptions'](_0x6924d0,'coneTrack'),this[_0x3aac44(_0xb61f5d._0x3d73af,_0xb61f5d._0x539fcd)](_0x6924d0,'polyline');function _0xdd35d4(_0x2b1c05,_0x13ded5){return _0x306755(_0x13ded5,_0x2b1c05- -0x24b);}this['_mergeStyleToOptions'](_0x6924d0,_0x3aac44(0x1693,_0xb61f5d._0x285497)),this[_0xdd35d4(0x1701,_0xb61f5d._0x4fe975)](_0x6924d0,'path');for(const _0x46952e in _0x6924d0){const _0x2657f6=_0x6924d0[_0x46952e];switch(_0x46952e){default:{isObject(_0x2657f6)?this[_0x3aac44(0x7ff,0xcbf)][_0x46952e]=merge(this['options'][_0x46952e],_0x2657f6):this['options'][_0x46952e]=_0x2657f6;break;}}}}['_initChildGraphic'](_0x30f821,_0x50b4d0,_0x281fed){const _0xe5f70c={_0x298c05:0x2db,_0x3128ba:0x9d1,_0x220a8a:0x1582,_0x251e7e:0x13b9,_0x62dece:0xee5,_0x2901a4:0x7da,_0x320793:0x11ea,_0xc3e609:0xc50,_0x2d7176:0xf2e,_0x50db4d:0xe51,_0x56ce9e:0xdc6,_0x53cf30:0x171f,_0xfd6d37:0x10fa,_0xe23809:0x348,_0x4e5404:0xc3,_0xbd5552:0x9d2,_0x5d288a:0x4b0,_0x18d46a:0xfbd,_0x22f587:0xde6,_0x5495dd:0x338,_0x1e947f:0x830,_0x38d2e3:0xf91,_0x25656e:0x111a},_0x1040fd={_0xa425b7:0x1071},_0x291890={_0x2ebbf2:0x483},_0x9cb8ee={_0x4c6b28:0x1429},_0x258605={_0x190fde:0x3f4},_0x5f13f8={_0x5e6cc3:0x4c5};let _0x3ddfdf=this[_0x3d1c61(0x74f,-0x1c2)][_0x30f821];function _0x3d1c61(_0x3311c2,_0x2ea10b){return _0x306755(_0x2ea10b,_0x3311c2- -0x50e);}let _0x3367c0=this[_0x3d1c61(0xdc6,0x452)][_0x30f821];function _0x4146b4(_0xd69d49,_0xff5475){return _0x306755(_0xd69d49,_0xff5475- -0x1da);}_0x281fed&&(_0x3ddfdf=merge(clone(_0x3ddfdf),_0x281fed));if(!_0x3ddfdf){_0x3367c0&&(_0x3367c0['remove'](!![]),delete this[_0x3d1c61(0xdc6,0x7ad)][_0x30f821]);return;}if(_0x3367c0)_0x3367c0[_0x3d1c61(_0xe5f70c._0x298c05,_0xe5f70c._0x3128ba)](_0x3ddfdf),_0x3367c0[_0x4146b4(_0xe5f70c._0x220a8a,_0xe5f70c._0x251e7e)]=_0x3ddfdf['show']??!![];else{_0x3367c0=new _0x50b4d0({'id':this['id']+'-'+_0x30f821,'style':clone(_0x3ddfdf,['show']),'attr':this['attr'],'private':!![],'eventParent':this,'show':_0x3ddfdf[_0x3d1c61(0x1085,_0xe5f70c._0x62dece)]??!![]}),_0x3367c0['removeEventParent'](this[_0x4146b4(_0xe5f70c._0x2901a4,_0xe5f70c._0x320793)]),_0x3367c0[_0x4146b4(_0xe5f70c._0xc3e609,0xdcf)](this),_0x3367c0['parent']=this;this['isAdded']&&this['_layer']['addGraphic'](_0x3367c0);_0x3367c0['czmObject']&&this[_0x3d1c61(_0xe5f70c._0x2d7176,_0xe5f70c._0x50db4d)](_0x3367c0['czmObject']);_0x3367c0['czmObjectEx']&&_0x3367c0['czmObjectEx']['forEach'](_0x5b37b9=>{const _0x2b9bc6={_0x579803:0x340};function _0x265367(_0x35fca9,_0x3b292b){return _0x4146b4(_0x35fca9,_0x3b292b- -_0x2b9bc6._0x579803);}this[_0x265367(_0x5f13f8._0x5e6cc3,0xf22)](_0x5b37b9);});this[_0x3d1c61(_0xe5f70c._0x56ce9e,0x1331)][_0x30f821]=_0x3367c0;switch(_0x30f821){case'billboard':{_0x3ddfdf[_0x4146b4(0x950,0xe69)]===!![]&&(this[_0x4146b4(_0xe5f70c._0x53cf30,_0xe5f70c._0xfd6d37)]['billboard'][_0x3d1c61(_0xe5f70c._0xe23809,-_0xe5f70c._0x4e5404)][_0x3d1c61(0xb35,0xd02)]=new Cesium__namespace['VelocityVectorProperty'](this['property'],!![]));break;}case'circle':{this[_0x4146b4(0x138c,0x10fa)][_0x3d1c61(0x80e,0x99d)]['position']=new Cesium__namespace['CallbackProperty'](_0x4094ae=>{return this['_position'];},![]);break;}case'coneTrack':{this[_0x4146b4(_0xe5f70c._0xbd5552,0x10fa)]['coneTrack']['position']=new Cesium__namespace[(_0x3d1c61(0x541,-_0xe5f70c._0x5d288a))](_0x525083=>{return this['_position'];},![]);break;}case'path':{this[_0x3d1c61(0xdc6,0x103c)]['path']['position']=this['property'];break;}case _0x3d1c61(0xfbd,0x15ac):{this['_polyline_positions']=[],this['_child'][_0x3d1c61(_0xe5f70c._0x18d46a,0x18b8)]['positions']=new Cesium__namespace['CallbackProperty'](_0x2bac19=>{return this['_polyline_positions'];},![]);break;}case _0x3d1c61(_0xe5f70c._0x22f587,_0xe5f70c._0x5495dd):{this['_wall_positions']=[],this[_0x3d1c61(0xdc6,0xb06)][_0x3d1c61(0xde6,_0xe5f70c._0x1e947f)][_0x4146b4(0x1ec2,0x17bf)]=new Cesium__namespace['CallbackProperty'](_0x3c459c=>{function _0xfc2c33(_0x43a100,_0xfe2c8d){return _0x3d1c61(_0x43a100-_0x258605._0x190fde,_0xfe2c8d);}return this[_0xfc2c33(_0x9cb8ee._0x4c6b28,0xa4e)];},![]),this['_wall_minimumHeights']=[],this[_0x4146b4(0xd2c,0x10fa)]['wall']['style']['minimumHeights']=new Cesium__namespace['CallbackProperty'](_0x18fb1e=>{function _0x6a9c44(_0x245ebb,_0x30be02){return _0x3d1c61(_0x30be02-_0x291890._0x2ebbf2,_0x245ebb);}return this[_0x6a9c44(_0x1040fd._0xa425b7,0xd01)];},![]),this['_wall_maximumHeights']=[],this['_child']['wall']['style'][_0x4146b4(0x10b2,_0xe5f70c._0x38d2e3)]=new Cesium__namespace['CallbackProperty'](_0x3841c1=>{return this['_wall_maximumHeights'];},![]),this[_0x4146b4(0x1a91,_0xe5f70c._0xfd6d37)][_0x4146b4(0x11a9,_0xe5f70c._0x25656e)][_0x4146b4(0x152,0x4be)]={};break;}}}}[_0x306755(0x726,0x8ee)](){const _0x227822={_0x472742:0x8d0},_0x5e7022={_0x201eff:0x112d,_0x237b13:0x4f4,_0x17f357:0x4ad},_0x1a004d={_0x480db0:0x18b},_0x5d0b91={_0x153aa1:0x422};function _0x181d92(_0x1a5f18,_0x56362d){return _0x306755(_0x56362d,_0x1a5f18- -_0x5d0b91._0x153aa1);}this[_0x181d92(0x428,_0x227822._0x472742)](_0x2a56af=>{this[_0x4221d6(0x141a,_0x5e7022._0x201eff)][_0x4221d6(0x394,0x332)](_0x2a56af);function _0xd96266(_0x2ed68b,_0x22e72e){return _0x181d92(_0x2ed68b-0x4e0,_0x22e72e);}function _0x4221d6(_0x399ca3,_0x411dd0){return _0x181d92(_0x411dd0-_0x1a004d._0x480db0,_0x399ca3);}_0x2a56af['czmObject']&&this['bindPickId'](_0x2a56af['czmObject']),_0x2a56af['czmObjectEx']&&_0x2a56af[_0xd96266(0xeee,_0x5e7022._0x237b13)][_0xd96266(0xcfe,_0x5e7022._0x17f357)](_0x34549c=>{this['bindPickId'](_0x34549c);});});}[_0x306755(0x54c,0x757)](){const _0x501337={_0x3933f4:0xab9};this['eachChildGraphic'](_0x43334b=>{function _0x3c0a62(_0x5ea7ac,_0x550a9e){return _0x5bbe(_0x5ea7ac-0x19a,_0x550a9e);}this[_0x3c0a62(0x12eb,_0x501337._0x3933f4)]['removeGraphic'](_0x43334b);});}['eachChildGraphic'](_0x2403bc,_0x5d69ca){const _0x181cda={_0x1a47e4:0x85d};if(!this['_child'])return;Object['keys'](this['_child'])[_0x476b4e(0xb61,_0x181cda._0x1a47e4)]((_0x1cbb5e,_0x587098)=>{_0x2403bc&&_0x2403bc['call'](_0x5d69ca||this,this['_child'][_0x1cbb5e],_0x587098);});function _0x476b4e(_0x685ec5,_0x50efc7){return _0x306755(_0x685ec5,_0x50efc7- -0x3e3);}return this;}['_updateAvailabilityHook'](_0x2ede57){const _0xea3ea8={_0xab6a9d:0xabb,_0x4a41bb:0x60f,_0x184a48:0x6d2,_0x37704e:0x1fb,_0x13b6b2:0xfaa,_0x3022ac:0x1682,_0x135a9d:0x47b},_0x4f57cf={_0x4e8350:0x277};function _0x565fed(_0x3d7a1a,_0x4d7ed8){return _0x2b6441(_0x4d7ed8,_0x3d7a1a-_0x4f57cf._0x4e8350);}var _0x1e4855;function _0x2915ca(_0x2d0093,_0x4d3f35){return _0x2b6441(_0x2d0093,_0x4d3f35-0x3e6);}(_0x1e4855=this[_0x2915ca(0x92f,0x1119)])!==null&&_0x1e4855!==void 0x0&&_0x1e4855[_0x565fed(_0xea3ea8._0xab6a9d,0x3a2)]&&(!this['_child'][_0x2915ca(0x38c,0xc2a)]['_availability_original']&&(this['_child'][_0x565fed(0xabb,0x6be)]['_availability_original']=this['_child'][_0x565fed(0xabb,_0xea3ea8._0x4a41bb)]['availability']),_0x2ede57?this['_child']['path'][_0x565fed(_0xea3ea8._0x184a48,-_0xea3ea8._0x37704e)]=_0x2ede57:this[_0x565fed(_0xea3ea8._0x13b6b2,_0xea3ea8._0x3022ac)][_0x2915ca(_0xea3ea8._0x135a9d,0xc2a)][_0x565fed(0x6d2,0x1036)]=this['_child']['path']['_availability_original']);}['_convertToReferenceFrame'](_0x15f64f,_0x2dabfc){const _0x3a957f={_0x5eb4e9:0x231,_0x11273d:0x1102,_0x259311:0x1080},_0x47d6cb={_0x2ff3c6:0x275};function _0x5ded8e(_0xbd7094,_0x3ffcd5){return _0x2b6441(_0x3ffcd5,_0xbd7094-_0x47d6cb._0x2ff3c6);}Cesium__namespace[_0xbb4991(0xb8d,0x898)]['convertToReferenceFrame'](_0x2dabfc,_0x15f64f,this[_0x5ded8e(0x668,_0x3a957f._0x5eb4e9)][_0x5ded8e(_0x3a957f._0x11273d,0x1548)],Cesium__namespace[_0x5ded8e(0x1025,_0x3a957f._0x259311)]['FIXED'],_0x15f64f);function _0xbb4991(_0x22fb74,_0x4867dc){return _0x306755(_0x22fb74,_0x4867dc- -0x5b5);}return this['_position'];}['update'](_0x59b136){const _0x9468bf={_0x2df927:0xb25,_0x39a8ac:0x1201,_0x2d07b8:0x1063,_0x4f9759:0x167d,_0xcd4afa:0x1373,_0x5dab80:0x194a,_0x491d90:0x120a,_0x4303e6:0x1452,_0x2d6dd7:0x14ae,_0x5aa2bf:0x1458,_0x213de8:0x6a8,_0x298278:0xa11,_0x1aa703:0x1004,_0x1281c9:0x3d2,_0xc6983b:0x909,_0x37a9b5:0x862,_0x186991:0x14c7,_0x3d5c05:0x658,_0x15a2ab:0xc7f,_0x52c5ce:0x11d0,_0x2f69ac:0x1172,_0x2b1bd0:0x1247};if(!this['getRealShow'](_0x59b136['time'])){this['_position']=undefined,this['_updatePosition']();return;}this['_position']=this[_0x1c0fab(_0x9468bf._0x2df927,_0x9468bf._0x39a8ac)](_0x59b136['time'],this[_0x1c0fab(0x14d8,0xf2e)]);if(!this['_position']){this[_0x1c0fab(_0x9468bf._0x2d07b8,0xe97)]?this['_updatePosition']():(this[_0x1c0fab(_0x9468bf._0x4f9759,0xff3)](),this[_0x162ef9(0x14b0,0x1272)](),this['_last_hasNull']=!![]);return;}this['_last_hasNull']=![];this[_0x162ef9(0x10b1,0x9bc)]['referenceFrame']===Cesium__namespace[_0x1c0fab(0x16c3,_0x9468bf._0xcd4afa)][_0x1c0fab(0x3df,0x877)]&&(this[_0x162ef9(0x20a6,_0x9468bf._0x5dab80)]=this['_position']['clone'](),this['_position']=this['_convertToReferenceFrame'](this['_position'],_0x59b136['time']));function _0x1c0fab(_0x3a6cde,_0x4dadaa){return _0x306755(_0x3a6cde,_0x4dadaa-0x22);}if(this[_0x162ef9(0x1023,0xc85)][_0x162ef9(_0x9468bf._0x491d90,0x17f7)]){this['_clampToTilesetFrame']++,this[_0x1c0fab(0xdf0,_0x9468bf._0x4303e6)]=this[_0x162ef9(_0x9468bf._0x2d6dd7,_0x9468bf._0x5aa2bf)]%this['_frameRateHeight'];const _0x58d678=Cesium__namespace[_0x1c0fab(_0x9468bf._0x213de8,0x92b)][_0x1c0fab(0x35,_0x9468bf._0x298278)](this['_position']),_0x3f9123={};_0x3f9123['x']=_0x58d678['latitude'],_0x3f9123['y']=_0x58d678['longitude'],_0x3f9123['z']=this['_map']['level'],_0x3f9123['m']=this[_0x1c0fab(0x183b,0x17eb)][_0x162ef9(0xd2a,0xa8d)]['primitives']['length'];const _0x353f08=_0x3f9123,_0x233595={};_0x233595[_0x1c0fab(0xc26,0x15a7)]=!![];const _0xe91566=!this[_0x1c0fab(0x1241,0x809)]||this['_clampToTilesetFrame']===0x0&&!(this['_last_cache']&&_0x353f08['x']===this['_last_cache']['x']&&_0x353f08['y']===this[_0x1c0fab(_0x9468bf._0x1aa703,0x162b)]['y']&&_0x353f08['z']===this['_last_cache']['z']&&_0x353f08['m']===this[_0x1c0fab(0x13fe,0x162b)]['m'])&&this[_0x1c0fab(_0x9468bf._0x1281c9,_0x9468bf._0xc6983b)](this['_position'],_0x233595);if(_0xe91566){let _0x5a39d9=getHeight(this['_map']['scene'],this['_position']);_0x5a39d9&&(Cesium__namespace['defined'](this['options'][_0x1c0fab(-0xb3,_0x9468bf._0x37a9b5)])&&_0x5a39d9<this[_0x162ef9(0x5c1,0xc85)]['minHeight']&&(_0x5a39d9=this['options'][_0x1c0fab(0x7f2,0x862)]),Cesium__namespace[_0x1c0fab(_0x9468bf._0x186991,0x17d4)](this[_0x162ef9(_0x9468bf._0x3d5c05,0xc85)]['maxHeight'])&&_0x5a39d9>this[_0x1c0fab(0x1f0,_0x9468bf._0x15a2ab)]['maxHeight']&&(_0x5a39d9=this['options'][_0x1c0fab(_0x9468bf._0x52c5ce,0x12e1)]),this['_clampToTilesetHeight']=_0x5a39d9),this['_last_cache']=_0x353f08;}this['_clampToTilesetHeight']&&(this['_position']=Cesium__namespace['Cartesian3'][_0x1c0fab(0x92c,0xbfd)](_0x58d678[_0x162ef9(0x1159,_0x9468bf._0x2f69ac)],_0x58d678[_0x162ef9(0xfdf,0xffb)],this['_clampToTilesetHeight']));}function _0x162ef9(_0x43f0b5,_0x2f9d0b){return _0x306755(_0x43f0b5,_0x2f9d0b-0x28);}this[_0x1c0fab(0x8a1,0x101b)]=this['_orientation']['getValue'](_0x59b136[_0x1c0fab(0xa3b,_0x9468bf._0x2b1bd0)]),this[_0x162ef9(0x19fa,0xff9)](),this['_updateCamera'](),this[_0x1c0fab(0x139b,0x126c)]();}['_clearShowPositions'](){const _0x38aa99={_0x28ab33:0x12e6},_0x4a2024={_0x2b098a:0x5b0};var _0x52fec1;this['_polyline_positions']=[],this['_wall_positions']=[],this['_wall_minimumHeights']=[],this['_wall_maximumHeights']=[];function _0x5d45dd(_0x2c5b5c,_0x3a501f){return _0x2b6441(_0x2c5b5c,_0x3a501f-_0x4a2024._0x2b098a);}function _0x3cf8b0(_0x5860a2,_0xef50e3){return _0x306755(_0xef50e3,_0x5860a2-0x12);}(_0x52fec1=this[_0x3cf8b0(_0x38aa99._0x28ab33,0x1688)])!==null&&_0x52fec1!==void 0x0&&_0x52fec1['path']&&(this['_child']['path'][_0x3cf8b0(0xa0e,0xc70)]=undefined);}[_0x306755(0xaba,0xfd1)](){const _0x2d0c18={_0x17421b:0x523,_0x47342a:0xd48,_0x5c786f:0x12bc,_0x4bc75d:0x16a9,_0x57315b:0x1592,_0x12c418:0x12bc,_0x1740d2:0x86d,_0xd7aefc:0x1553,_0x19a264:0x132c,_0x4ebacb:0x1573,_0x2134ac:0xe9,_0x4888ab:0xbf,_0x1e7757:0x167d,_0x225d95:0x1236,_0x413fd6:0x44d,_0x19e430:0x887,_0x6fd8bd:0x1573,_0x5ea7a3:0x18d5,_0x39fd63:0x441,_0x2adf05:0xb66,_0x54416c:0x10a3,_0x44516f:0x1814,_0x59b6c0:0x134f,_0x172557:0xa5c,_0x101e19:0x16ab,_0xffb978:0x811,_0x5d7907:0x9ab},_0x1326af={_0x454e30:0x2ca},_0x3cd03f={_0x30a191:0x3e1};var _0x28df27,_0x42b202,_0x2f75e3,_0x243d76,_0x490857,_0x3710c4,_0x639465;(_0x28df27=this['_child']['label'])!==null&&_0x28df27!==void 0x0&&_0x28df27[_0x5391(0x11b2,0x1b4d)]&&(this['_child']['label'][_0x5391(0xe16,_0x2d0c18._0x17421b)]=this[_0x5391(0xae2,_0x2d0c18._0x47342a)]);function _0x5391(_0x5e0dbd,_0x4285c2){return _0x306755(_0x4285c2,_0x5e0dbd- -_0x3cd03f._0x30a191);}function _0x1c7533(_0x229951,_0x591f36){return _0x2b6441(_0x591f36,_0x229951-_0x1326af._0x454e30);}(_0x42b202=this['_child']['billboard'])!==null&&_0x42b202!==void 0x0&&_0x42b202[_0x1c7533(_0x2d0c18._0x5c786f,0x18ee)]&&(this['_child']['billboard']['position']=this['_position']);(_0x2f75e3=this[_0x1c7533(0xffd,_0x2d0c18._0x4bc75d)][_0x1c7533(_0x2d0c18._0x57315b,0xbe0)])!==null&&_0x2f75e3!==void 0x0&&_0x2f75e3[_0x1c7533(_0x2d0c18._0x5c786f,0x1a9d)]&&(this['_child'][_0x1c7533(0x1592,0x15e8)]['position']=this['_position']);if((_0x243d76=this['_child'][_0x1c7533(0x167d,0x157d)])!==null&&_0x243d76!==void 0x0&&_0x243d76[_0x1c7533(_0x2d0c18._0x12c418,_0x2d0c18._0x1740d2)]){var _0xefd1bd;this[_0x1c7533(_0x2d0c18._0xd7aefc,0x1dfd)]=this[_0x5391(0xef3,_0x2d0c18._0x19a264)][_0x5391(_0x2d0c18._0x4ebacb,0x1017)][_0x5391(_0x2d0c18._0x2134ac,_0x2d0c18._0x4888ab)](this[_0x5391(0xae2,0x882)],this['_orientation_show']),this['_heading_reality']=this['_child'][_0x1c7533(_0x2d0c18._0x1e7757,0xc20)]['_heading_reality'],this['_pitch_reality']=this['_child']['model'][_0x5391(_0x2d0c18._0x225d95,0x829)],this['_roll_reality']=this['_child']['model'][_0x1c7533(_0x2d0c18._0x413fd6,-0x5c9)],this['_child']['model']['_position']=this[_0x1c7533(0xbec,_0x2d0c18._0x19e430)],this['_child'][_0x5391(_0x2d0c18._0x6fd8bd,_0x2d0c18._0x5ea7a3)]['_modelMatrix']=this[_0x1c7533(_0x2d0c18._0xd7aefc,0x1366)],(_0xefd1bd=this[_0x5391(0xef3,0xab4)]['model'])!==null&&_0xefd1bd!==void 0x0&&_0xefd1bd[_0x1c7533(0xc70,_0x2d0c18._0x39fd63)]&&(this['_child']['model'][_0x5391(_0x2d0c18._0x2adf05,0x26b)][_0x5391(0x1528,0xa9b)]=this['_modelMatrix']);}else this['_modelMatrix']=this[_0x1c7533(0x1f3,0x3ec)](this['_position'],this[_0x1c7533(0xd22,_0x2d0c18._0x54416c)]);let _0x2b5a3d=![];(_0x490857=this['_child']['polyline'])!==null&&_0x490857!==void 0x0&&_0x490857['show']&&!((_0x3710c4=this['options'][_0x1c7533(0x11f4,_0x2d0c18._0x44516f)])!==null&&_0x3710c4!==void 0x0&&_0x3710c4['showAll'])&&(this[_0x1c7533(_0x2d0c18._0x59b6c0,0x1a4d)]>=0x0&&this['_position']?(this[_0x5391(0x10e3,_0x2d0c18._0x172557)]=this['_getPositionsShow'](),_0x2b5a3d=!![]):this['_polyline_positions']=[]);if((_0x639465=this[_0x1c7533(0xffd,0xc4e)][_0x1c7533(0x101d,0x15c3)])!==null&&_0x639465!==void 0x0&&_0x639465['show']){if(this['_flyok_index']>=0x0&&this['_position']){!_0x2b5a3d&&(this['_polyline_positions']=this['_getPositionsShow']());const _0x2a1ed0=[],_0x196223=[],_0x434ea2=this['_polyline_positions'];for(let _0x59d9e5=0x0;_0x59d9e5<_0x434ea2[_0x1c7533(0x1324,_0x2d0c18._0x101e19)];_0x59d9e5++){const _0xd980da=_0x434ea2[_0x59d9e5],_0x5aae79=Cesium__namespace['Cartographic'][_0x1c7533(0x718,0xa6e)](_0xd980da);_0x196223['push'](_0x5aae79[_0x5391(_0x2d0c18._0xffb978,0x4ab)]);if(this['options']['wall']['surface']){var _0x733b65;const _0x3960f9={};_0x3960f9[_0x1c7533(0xbb9,0xa9c)]=!![],_0x434ea2[_0x59d9e5]['hbgd']=_0x434ea2[_0x59d9e5]['hbgd']??getHeight((_0x733b65=this['_map'])===null||_0x733b65===void 0x0?void 0x0:_0x733b65['scene'],_0x5aae79,_0x3960f9),_0x2a1ed0[_0x5391(0x2b8,-0x4ef)](_0x434ea2[_0x59d9e5]['hbgd']);}else _0x2a1ed0['push'](0x0);}this['_wall_positions']=_0x434ea2,this[_0x5391(_0x2d0c18._0x5d7907,0xb29)]=_0x2a1ed0,this[_0x5391(0x15c0,0x1ac0)]=_0x196223;}else this['_wall_positions']=[],this['_wall_minimumHeights']=[],this['_wall_maximumHeights']=[];}}['_getPositionsShow'](){const _0x34f401={_0x56ebf6:0x7a2,_0x1fd0b3:0x1252,_0x19cc69:0x1d15,_0xc6d076:0x8b4,_0x1db2ca:0x1064};var _0x3162f5,_0xd2238d;let _0x3a2f16=[];const _0x5a28b3=(_0x3162f5=this['property'])===null||_0x3162f5===void 0x0||(_0x3162f5=_0x3162f5['_property'])===null||_0x3162f5===void 0x0?void 0x0:_0x3162f5['_values'];for(let _0xd09575=0x0;_0xd09575<=this['_flyok_index'];_0xd09575++){const _0x18efb9=new Cesium__namespace['Cartesian3'](_0x5a28b3[_0xd09575*0x3],_0x5a28b3[_0xd09575*0x3+0x1],_0x5a28b3[_0xd09575*0x3+0x2]);if(_0xd09575>0x0){const _0x260266=Cesium__namespace['Cartesian3']['distance'](_0x3a2f16[_0x3a2f16['length']-0x1],_0x18efb9);if(_0x260266<0.01)continue;}_0x3a2f16[_0x27e643(0x2f0,-_0x34f401._0x56ebf6)](_0x18efb9);}function _0x27e643(_0x352ef4,_0x276944){return _0x306755(_0x276944,_0x352ef4- -0x3a9);}this[_0x27e643(0xb1a,0xc5d)]&&(_0x3a2f16[_0x27e643(_0x34f401._0x1fd0b3,_0x34f401._0x19cc69)]>0x0&&Cesium__namespace['Cartesian3']['distance'](_0x3a2f16[_0x3a2f16['length']-0x1],this[_0x48a609(0x9e,0xa5c)])>0.01&&_0x3a2f16['push'](this[_0x27e643(0xb1a,0x8ab)]));(_0xd2238d=this['options'])!==null&&_0xd2238d!==void 0x0&&(_0xd2238d=_0xd2238d['polyline'])!==null&&_0xd2238d!==void 0x0&&_0xd2238d[_0x27e643(0xdfc,0x1784)]&&_0x3a2f16['length']>0x0&&(_0x3a2f16=sliceByMaxDistance(_0x3a2f16,this[_0x27e643(_0x34f401._0xc6d076,0xd2e)][_0x48a609(0x1210,_0x34f401._0x1db2ca)]['maxDistance']),this['_maxCacheCount']>0x0&&(this['_maxCacheCount']=Math['max'](this['_maxCacheCount'],_0x3a2f16['length']*0x2)));function _0x48a609(_0x21cd0f,_0x124a63){return _0x2b6441(_0x21cd0f,_0x124a63-0x13a);}return _0x3a2f16;}['_updateCamera'](){const _0x5f1e50={_0xbc9ddf:0x93a,_0x3576de:0x69,_0x12f1fd:0x130e,_0x5051ca:0x1a70,_0x4648bc:0x1408,_0x279535:0x8b,_0x261a7a:0x794,_0xd73c23:0x223,_0x71d01d:0x52b,_0x538e25:0xe50,_0x1a0fd2:0x1213,_0x352ef1:0xe1a,_0x132357:0xd40,_0x1870d6:0x1270,_0x3c3a7f:0x1901,_0x30ba49:0x10e1,_0x338ec2:0x93a,_0x1c2b42:0x6df,_0x1ea00d:0x1290,_0x50c0ea:0x16d6,_0x31acec:0x34f,_0x28a1cc:0xb8d,_0x4922ae:0x1146,_0x2495c0:0x1d49,_0x12902c:0x14cf,_0x44274c:0xce2,_0x5dcca3:0xf65,_0x472f5f:0x155c},_0x2a5fef={_0x4558b5:0x323};if(!this[_0x484854(_0x5f1e50._0xbc9ddf,-_0x5f1e50._0x3576de)]['camera'])return;function _0x51957e(_0x2110e9,_0x2b8d29){return _0x2b6441(_0x2b8d29,_0x2110e9-0xe6);}function _0x484854(_0x125dbd,_0x3fb455){return _0x306755(_0x3fb455,_0x125dbd- -_0x2a5fef._0x4558b5);}switch(this['options']['camera']['type']){case'gs':{const _0x1eece0=this['trackedEntity'];this['_map']['clock']['shouldAnimate']&&this[_0x51957e(_0x5f1e50._0x12f1fd,_0x5f1e50._0x5051ca)][_0x484854(_0x5f1e50._0x4648bc,0x1877)]!==_0x1eece0&&(this['_map']['trackedEntity']=_0x1eece0,_0x1eece0[_0x51957e(_0x5f1e50._0x279535,_0x5f1e50._0x261a7a)]=!![]);_0x1eece0[_0x484854(_0x5f1e50._0xd73c23,_0x5f1e50._0x71d01d)]&&!this['_map'][_0x51957e(_0x5f1e50._0x538e25,_0x5f1e50._0x1a0fd2)]['_needTrackedEntityUpdate']&&(_0x1eece0['_needFlyToPoint']=![],this[_0x484854(_0x5f1e50._0x352ef1,_0x5f1e50._0x132357)](this[_0x484854(0x93a,0x483)]['camera']));break;}case'dy':{const _0x2d4eca=this[_0x51957e(_0x5f1e50._0x1870d6,_0x5f1e50._0x3c3a7f)];this['_map']['trackedEntity']!==_0x2d4eca&&(this['_map'][_0x51957e(0x1270,_0x5f1e50._0x30ba49)]=_0x2d4eca);let _0x25cfbc=this[_0x484854(_0x5f1e50._0x338ec2,_0x5f1e50._0x1c2b42)]['camera']['followedX']||0x0;const _0xff7695=this['options'][_0x51957e(0xb8d,_0x5f1e50._0x1ea00d)][_0x51957e(0xdcd,_0x5f1e50._0x50c0ea)]||0x0;_0x25cfbc===0x0&&_0xff7695===0x0&&(_0x25cfbc=0.1);let _0xfaf6f8;this['options']['camera']['offsetX']&&(_0xfaf6f8=_0xfaf6f8||{},_0xfaf6f8['x']=this['options']['camera'][_0x51957e(0x6ed,-_0x5f1e50._0x31acec)]);this['options']['camera']['offsetY']&&(_0xfaf6f8=_0xfaf6f8||{},_0xfaf6f8['y']=this['options'][_0x51957e(_0x5f1e50._0x28a1cc,0x718)]['offsetY']);this[_0x51957e(0x7a2,0xc6f)][_0x51957e(0xb8d,_0x5f1e50._0x4922ae)][_0x484854(0x123a,0x8b8)]&&(_0xfaf6f8=_0xfaf6f8||{},_0xfaf6f8['z']=this['options']['camera']['offsetZ']);this[_0x51957e(0x130e,_0x5f1e50._0x2495c0)][_0x484854(0x742,-0x154)][_0x51957e(0xb8d,_0x5f1e50._0x12902c)]['lookAtTransform'](this['computeModelMatrix'](_0xfaf6f8),new Cesium__namespace['Cartesian3'](-_0x25cfbc,0x0,_0xff7695));break;}case'sd':{const _0x30ea05=this[_0x51957e(0x1270,0x110e)];this['_map']['trackedEntity']!==_0x30ea05&&(this['_map']['trackedEntity']=_0x30ea05);this[_0x484854(0x14a6,_0x5f1e50._0x44274c)]['scene']['camera']['lookAtTransform'](this['computeModelMatrix'](),new Cesium__namespace['Cartesian3'](-0x1,0x0,this['options']['camera'][_0x484854(_0x5f1e50._0x5dcca3,0x132c)]));break;}default:{this['_trackedEntity']&&this['_map'][_0x484854(_0x5f1e50._0x4648bc,0x1118)]===this['_trackedEntity']&&(this[_0x51957e(0x130e,_0x5f1e50._0x472f5f)]['trackedEntity']=undefined);break;}}}[_0x2b6441(0x9e5,0xf3)](_0x407d1b){const _0xbc435f={_0x3b2586:0x77e,_0x2e9606:0x205b,_0xfbe59a:0x131,_0x189666:0x559,_0x465e18:0x11cf,_0x26b81a:0xd82};function _0xf2260(_0x293e5b,_0x408342){return _0x2b6441(_0x293e5b,_0x408342-0x54f);}!this['_matrix4']&&(this['_matrix4']=new Cesium__namespace[(_0xf2260(_0xbc435f._0x3b2586,0xb20))](),this['_matrix3Scratch']=new Cesium__namespace['Matrix3']());let _0x2a1679=this['_position'];if(!Cesium__namespace[_0xf2260(_0xbc435f._0x2e9606,0x1760)](_0x2a1679)||!this[_0x6e6ad4(0xa91,_0xbc435f._0xfbe59a)])return undefined;if(_0x407d1b){const _0x17a4bc=new Cesium__namespace['HeadingPitchRoll'](this['_heading'],this['_pitch'],this['_roll']);_0x2a1679=getPositionByHprAndOffset(_0x2a1679,new Cesium__namespace['Cartesian3'](_0x407d1b['x']||0x0,_0x407d1b['y']||0x0,_0x407d1b['z']||0x0),_0x17a4bc);}function _0x6e6ad4(_0x20cd6e,_0x4fb2d7){return _0x2b6441(_0x4fb2d7,_0x20cd6e-0x39);}return this['_matrix4']=Cesium__namespace['Matrix4']['fromRotationTranslation'](Cesium__namespace['Matrix3'][_0x6e6ad4(_0xbc435f._0x189666,0xb65)](this[_0xf2260(0x104f,0xfa7)],this[_0xf2260(_0xbc435f._0x465e18,0x14b7)]),_0x2a1679,this['_matrix4']),this[_0x6e6ad4(_0xbc435f._0x26b81a,0xde5)];}['_updateForEvent'](){const _0x785375={_0x5c7b72:0x962,_0x3c2a7d:0xaf2,_0x5f432d:0x962,_0x96f4d:0x1163,_0x3de68b:0x653,_0x4d8f3f:0xaa,_0x2c2728:0x100a,_0x51197e:0x1b67,_0x1fac98:0x1a73,_0x443c60:0x15f7,_0x54c348:0x328,_0x14cfb1:0x608,_0x55acb0:0x6c9},_0x26f66b=this[_0x2d42db(0x10c5,0x1105)];if(!Cesium__namespace['defined'](_0x26f66b))return;function _0x1f6fb8(_0x4ddaf7,_0x5e2383){return _0x306755(_0x4ddaf7,_0x5e2383-0x147);}this[_0x2d42db(_0x785375._0x5c7b72,_0x785375._0x3c2a7d)]&&!this[_0x2d42db(_0x785375._0x5f432d,0xae2)]['equals'](this[_0x1f6fb8(_0x785375._0x96f4d,0xf41)])&&(this[_0x2d42db(0x328,_0x785375._0x3de68b)](EventType[_0x2d42db(0x88d,0x158)],{'index':_0x26f66b,'counts':this['_counts'],'position':this['_position'],'orientation':this['_orientation_show']},!![]),this[_0x2d42db(0x899,-_0x785375._0x4d8f3f)]=this['_position']?this[_0x1f6fb8(0xc7c,_0x785375._0x2c2728)][_0x2d42db(0x3a7,0x565)]():undefined);function _0x2d42db(_0x11b285,_0x38b2e8){return _0x306755(_0x38b2e8,_0x11b285- -0x561);}if(_0x26f66b!==this[_0x2d42db(0x13cb,0x9f8)]){if(Cesium__namespace[_0x1f6fb8(0x2367,0x18f9)](this['_last_fireIndex'])&&this[_0x1f6fb8(_0x785375._0x51197e,_0x785375._0x1fac98)]+0x1!==_0x26f66b)while(++this[_0x1f6fb8(_0x785375._0x443c60,0x1a73)]<_0x26f66b){this[_0x2d42db(_0x785375._0x54c348,_0x785375._0x14cfb1)](EventType['endItem'],{'counts':this[_0x1f6fb8(0x1117,0x1607)],'index':this[_0x1f6fb8(0x1626,0x1a73)]});}this[_0x2d42db(0x328,_0x785375._0x55acb0)](EventType['endItem'],{'counts':this['_counts'],'index':_0x26f66b}),_0x26f66b===this['_counts']-0x1&&this['fire'](EventType['end']),this[_0x1f6fb8(0x16c4,0x1a73)]=_0x26f66b;}}[_0x306755(0x1b18,0x11df)](_0x521392,_0x26c9d1){const _0x168a3a={_0x29dde6:0x488,_0x3fadc6:0xfe3,_0x593638:0xb69,_0x5ca1a5:0xc75,_0x2a7082:0xb,_0x50dc64:0x111e,_0x827969:0x111a,_0x55f25d:0xdb5,_0x5c0905:0x116c,_0x45266a:0xcdf,_0x151345:0x10d5,_0x26d228:0x1529,_0x128ea9:0xa0c,_0x394689:0x976,_0x3214a6:0x7d7,_0x513ca6:0x5f1,_0x37be09:0x3ce,_0x4c2aad:0x98f,_0x40d434:0x94b,_0x6c90ec:0x645,_0x41b147:0x1117,_0x4a9580:0xca0,_0x280aed:0x421,_0x43c248:0x17a2,_0x3c38a6:0x18b5,_0x357bdc:0xddc,_0x23f1ab:0x1ced,_0x3b9be6:0x18b5,_0x4c6c3f:0x15fa,_0x2ea46e:0xd4d,_0x2706b9:0x111a,_0x5ee343:0x112b};var _0x341ee3;const _0x49b3fd=(_0x341ee3=this[_0xff8d60(_0x168a3a._0x29dde6,0x842)])===null||_0x341ee3===void 0x0?void 0x0:_0x341ee3[_0xff8d60(_0x168a3a._0x3fadc6,_0x168a3a._0x593638)],_0x1e75fb=_0x49b3fd===null||_0x49b3fd===void 0x0?void 0x0:_0x49b3fd['_times'],_0x55726a=_0x1e75fb[_0x1695f6(_0x168a3a._0x5ca1a5,0x14bf)];if(_0x55726a===0x0)return undefined;this['_counts']=_0x55726a;let _0x1e7d99;function _0x1695f6(_0x32e722,_0xf96f1c){return _0x306755(_0x32e722,_0xf96f1c- -0x13c);}const _0x209078=Cesium__namespace['Cartesian3'],_0x4e9c73=_0x49b3fd[_0x1695f6(-_0x168a3a._0x2a7082,0x95a)];this['_flyok_index']=Cesium__namespace[_0x1695f6(0x3e2,0x8d4)](_0x1e75fb,_0x521392,Cesium__namespace[_0x1695f6(_0x168a3a._0x50dc64,0x18b5)]['compare']);if(this['_flyok_index']<0x0){this['_flyok_index']=~this['_flyok_index'];if(this[_0xff8d60(0x111a,0x752)]===0x0){const _0xbbbf94=_0x1e75fb[this[_0xff8d60(_0x168a3a._0x827969,0x147c)]];_0x1e7d99=_0x49b3fd[_0x1695f6(_0x168a3a._0x55f25d,_0x168a3a._0x5c0905)];if(_0x49b3fd[_0xff8d60(0x67f,_0x168a3a._0x45266a)]===Cesium__namespace['ExtrapolationType'][_0x1695f6(0x1641,_0x168a3a._0x151345)]||_0x1e7d99!==0x0&&Cesium__namespace['JulianDate']['secondsDifference'](_0xbbbf94,_0x521392)>_0x1e7d99)return undefined;if(_0x49b3fd['_backwardExtrapolationType']===Cesium__namespace[_0xff8d60(0xdb5,0x1435)]['HOLD'])return _0x209078['unpack'](_0x4e9c73,0x0,_0x26c9d1);}if(this[_0xff8d60(0x111a,0x14b7)]>=_0x55726a){this[_0x1695f6(0x1367,0x14ea)]=_0x55726a-0x1;const _0x41d6bf=_0x1e75fb[this[_0xff8d60(0x111a,0xac6)]];_0x1e7d99=_0x49b3fd['_forwardExtrapolationDuration'];if(_0x49b3fd[_0xff8d60(0xfc3,_0x168a3a._0x26d228)]===Cesium__namespace['ExtrapolationType']['NONE']||_0x1e7d99!==0x0&&Cesium__namespace['JulianDate'][_0xff8d60(_0x168a3a._0x128ea9,0x3cf)](_0x521392,_0x41d6bf)>_0x1e7d99)return undefined;if(_0x49b3fd['_forwardExtrapolationType']===Cesium__namespace[_0xff8d60(0xdb5,0x103e)][_0xff8d60(_0x168a3a._0x394689,_0x168a3a._0x3214a6)])return this['_flyok_index']=_0x55726a-0x1,_0x209078['unpack'](_0x4e9c73,this['_flyok_index']*_0x209078[_0x1695f6(0x15ee,0x10ed)],_0x26c9d1);}const _0x558822=_0x49b3fd['_xTable'],_0x4eb856=_0x49b3fd[_0x1695f6(0x133b,0x1612)],_0x236e83=_0x49b3fd[_0xff8d60(_0x168a3a._0x513ca6,0x2f7)],_0x1f81a6=_0x49b3fd[_0xff8d60(0x567,-0xbf)],_0x2d3330=_0x49b3fd[_0xff8d60(_0x168a3a._0x37be09,_0x168a3a._0x4c2aad)];if(_0x49b3fd['_updateTableLength']){_0x49b3fd[_0xff8d60(0xc95,_0x168a3a._0x40d434)]=![];const _0x4911e9=Math['min'](_0x236e83['getRequiredDataPoints'](_0x49b3fd['_interpolationDegree'],_0x2d3330),_0x55726a);_0x4911e9!==_0x49b3fd['_numberOfPoints']&&(_0x49b3fd[_0xff8d60(0xae4,_0x168a3a._0x6c90ec)]=_0x4911e9,_0x558822[_0x1695f6(_0x168a3a._0x41b147,0x14bf)]=_0x4911e9,_0x4eb856['length']=_0x4911e9*_0x1f81a6);}const _0x3a3a0d=_0x49b3fd['_numberOfPoints']-0x1;if(_0x3a3a0d<0x1)return this['_flyok_index']=0x0,undefined;let _0x3c94ac=0x0,_0x5a536b=_0x55726a-0x1;const _0x334bd8=_0x5a536b-_0x3c94ac+0x1;if(_0x334bd8>=_0x3a3a0d+0x1){let _0x1e4bd=this['_flyok_index']-(_0x3a3a0d/0x2|0x0)-0x1;_0x1e4bd<_0x3c94ac&&(_0x1e4bd=_0x3c94ac);let _0x36a005=_0x1e4bd+_0x3a3a0d;_0x36a005>_0x5a536b&&(_0x36a005=_0x5a536b,_0x1e4bd=_0x36a005-_0x3a3a0d,_0x1e4bd<_0x3c94ac&&(_0x1e4bd=_0x3c94ac)),_0x3c94ac=_0x1e4bd,_0x5a536b=_0x36a005;}const _0x22519c=_0x5a536b-_0x3c94ac+0x1;for(let _0x5d6f9c=0x0;_0x5d6f9c<_0x22519c;++_0x5d6f9c){_0x558822[_0x5d6f9c]=Cesium__namespace['JulianDate']['secondsDifference'](_0x1e75fb[_0x3c94ac+_0x5d6f9c],_0x1e75fb[_0x5a536b]);}if(!Cesium__namespace['defined'](_0x209078[_0xff8d60(_0x168a3a._0x4a9580,_0x168a3a._0x280aed)])){let _0x3346cb=0x0;const _0x5e53e6=_0x49b3fd['_packedLength'];let _0x318782=_0x3c94ac*_0x5e53e6;const _0x1a40a5=(_0x5a536b+0x1)*_0x5e53e6;while(_0x318782<_0x1a40a5){_0x4eb856[_0x3346cb]=_0x4e9c73[_0x318782],_0x318782++,_0x3346cb++;}}else _0x209078['convertPackedArrayForInterpolation'](_0x4e9c73,_0x3c94ac,_0x5a536b,_0x4eb856);const _0x48384a=Cesium__namespace[_0x1695f6(_0x168a3a._0x43c248,_0x168a3a._0x3c38a6)][_0x1695f6(0x1090,_0x168a3a._0x357bdc)](_0x521392,_0x1e75fb[_0x5a536b]);let _0x239958;if(_0x2d3330===0x0||!Cesium__namespace['defined'](_0x236e83['interpolate']))_0x239958=_0x236e83['interpolateOrderZero'](_0x48384a,_0x558822,_0x4eb856,_0x1f81a6,_0x49b3fd['_interpolationResult']);else{const _0x15e6f8=Math[_0x1695f6(0xfb5,0x1716)](_0x1f81a6/(_0x2d3330+0x1));_0x239958=_0x236e83['interpolate'](_0x48384a,_0x558822,_0x4eb856,_0x15e6f8,_0x2d3330,_0x2d3330,_0x49b3fd['_interpolationResult']);}this['_flyok_index']=_0x3c94ac;for(let _0x2192cd=_0x3c94ac;_0x2192cd<=_0x5a536b;_0x2192cd++){const _0x227141=Cesium__namespace[_0x1695f6(_0x168a3a._0x23f1ab,_0x168a3a._0x3b9be6)]['compare'](_0x521392,_0x1e75fb[_0x2192cd]);if(_0x227141<=0x0){this[_0x1695f6(_0x168a3a._0x4c6c3f,0x14ea)]=_0x2192cd-0x1;break;}}if(!Cesium__namespace['defined'](_0x209078[_0xff8d60(_0x168a3a._0x2ea46e,0xe92)]))return _0x209078['unpack'](_0x239958,0x0,_0x26c9d1);return _0x209078['unpackInterpolationResult'](_0x239958,_0x4e9c73,_0x3c94ac,_0x5a536b,_0x26c9d1);}function _0xff8d60(_0x2f2080,_0x18ff86){return _0x306755(_0x18ff86,_0x2f2080- -0x50c);}return _0x209078['unpack'](_0x4e9c73,this[_0xff8d60(_0x168a3a._0x2706b9,_0x168a3a._0x5ee343)]*_0x49b3fd['_packedLength'],_0x26c9d1);}[_0x2b6441(0xbc9,0x12a7)](){const _0x19678c={_0x2985b6:0x183b,_0x198793:0x13d2,_0x330ba9:0x877},_0x4c803e={_0x837e31:0x11d};var _0x5e63ad;const _0x72230d=(_0x5e63ad=this['property'])===null||_0x5e63ad===void 0x0||(_0x5e63ad=_0x5e63ad[_0x1b68e3(_0x19678c._0x2985b6,_0x19678c._0x198793)])===null||_0x5e63ad===void 0x0?void 0x0:_0x5e63ad['_times'];if(!_0x72230d||_0x72230d['length']===0x0)return;function _0x1b68e3(_0x23f00c,_0x586741){return _0x306755(_0x23f00c,_0x586741- -_0x4c803e._0x837e31);}const _0x4a811f={};_0x4a811f[_0x1b68e3(0x47c,0xa3b)]=_0x72230d[0x0],_0x4a811f['stop']=_0x72230d[_0x72230d['length']-0x1];function _0x2b3214(_0x1407b1,_0x35f536){return _0x2b6441(_0x35f536,_0x1407b1- -0x8b);}this[_0x1b68e3(0x304,_0x19678c._0x330ba9)]['removeSamples'](new Cesium__namespace[(_0x2b3214(0x6ae,-0x398))](_0x4a811f));}[_0x2b6441(0x134e,0x1342)](_0x28f8a6){const _0x3837b8={_0x29e55b:0x61f,_0x2586af:0x183b,_0x5028ad:0x1286},_0x400722={_0x11dc56:0x375};function _0x35af2f(_0x2d4ba9,_0x583fe8){return _0x306755(_0x2d4ba9,_0x583fe8- -_0x400722._0x11dc56);}var _0x300b84,_0x39b0ba;function _0x3bd83b(_0x440d92,_0x125268){return _0x2b6441(_0x440d92,_0x125268-0x685);}const _0x3e6209=(_0x300b84=this[_0x35af2f(0x1035,_0x3837b8._0x29e55b)])===null||_0x300b84===void 0x0||(_0x300b84=_0x300b84[_0x3bd83b(0x1e99,0x15d3)])===null||_0x300b84===void 0x0?void 0x0:_0x300b84['_times'],_0x598a3c=(_0x39b0ba=this['property'])===null||_0x39b0ba===void 0x0||(_0x39b0ba=_0x39b0ba['_property'])===null||_0x39b0ba===void 0x0?void 0x0:_0x39b0ba['_values'];if(!_0x3e6209||_0x3e6209['length']===0x0)return;const _0x2625b1=[];for(let _0x405bf8=0x0,_0x16327a=_0x3e6209[_0x35af2f(_0x3837b8._0x2586af,_0x3837b8._0x5028ad)];_0x405bf8<_0x16327a;_0x405bf8++){_0x2625b1['push'](new Cesium__namespace['Cartesian3'](_0x598a3c[_0x405bf8*0x3],_0x598a3c[_0x405bf8*0x3+0x1],_0x598a3c[_0x405bf8*0x3+0x2]));}const _0x31d480=getRectangle(_0x2625b1,_0x28f8a6===null||_0x28f8a6===void 0x0?void 0x0:_0x28f8a6['isFormat']);return _0x31d480;}[_0x306755(0x1c02,0x144d)](_0x5c0f47){const _0x406bb6={_0xd4366b:0x1103,_0x1ba175:0xad4,_0x1f6e62:0x7bb,_0x230ec2:0x12e};var _0x5f805c,_0x2cdf22;const _0x45d528=(_0x5f805c=this['property'])===null||_0x5f805c===void 0x0||(_0x5f805c=_0x5f805c['_property'])===null||_0x5f805c===void 0x0?void 0x0:_0x5f805c[_0x33c548(0xe87,0xbc0)],_0x4cafc5=(_0x2cdf22=this[_0x33c548(0x70c,_0x406bb6._0xd4366b)])===null||_0x2cdf22===void 0x0||(_0x2cdf22=_0x2cdf22[_0x33c548(0x1267,0x162d)])===null||_0x2cdf22===void 0x0?void 0x0:_0x2cdf22['_values'];if(!_0x45d528||_0x45d528[_0x33c548(0x1373,_0x406bb6._0x1ba175)]===0x0)return[];function _0x33c548(_0x4749ec,_0x3d3f1d){return _0x306755(_0x3d3f1d,_0x4749ec- -0x288);}const _0x22913a=[];function _0xf3130d(_0x58e606,_0x581a17){return _0x306755(_0x581a17,_0x58e606-0xe);}for(let _0x3a77a1=0x0,_0x448cca=_0x45d528['length'];_0x3a77a1<_0x448cca;_0x3a77a1++){const _0xa40bdd=LngLatPoint['fromCartesian'](new Cesium__namespace[(_0xf3130d(0xa2f,0x240))](_0x4cafc5[_0x3a77a1*0x3],_0x4cafc5[_0x3a77a1*0x3+0x1],_0x4cafc5[_0x3a77a1*0x3+0x2])),_0x2457e1=_0xa40bdd[_0xf3130d(_0x406bb6._0x1f6e62,-_0x406bb6._0x230ec2)](_0x5c0f47);_0x2457e1['push'](Cesium__namespace['JulianDate']['toDate'](_0x45d528[_0x3a77a1])['getTime']()),_0x22913a['push'](_0x2457e1);}return _0x22913a;}['flyToPoint'](_0x12268c={}){const _0xef2ee7={_0x21e8ad:0xa4d,_0x5cfd02:0xd5b,_0x18af22:0xcd6},_0x20469a={_0x498faf:0x12b},_0x187425={_0x82c9f7:0x4fb};if(!this['_map'])return;const _0x2c98fe=this[_0x43a25f(_0xef2ee7._0x21e8ad,0x22f)];function _0x442d65(_0xe88128,_0x231391){return _0x306755(_0x231391,_0xe88128- -_0x187425._0x82c9f7);}if(!_0x2c98fe)return;let _0x1a03fe;if(Cesium__namespace['defined'](_0x12268c['heading'])){var _0x588f02;_0x1a03fe=_0x12268c[_0x43a25f(_0xef2ee7._0x5cfd02,0x156f)]+Cesium__namespace['Math']['toDegrees'](((_0x588f02=this['hpr'])===null||_0x588f02===void 0x0?void 0x0:_0x588f02[_0x442d65(_0xef2ee7._0x18af22,0x1398)])||0x0);}function _0x43a25f(_0x336dcd,_0x328166){return _0x2b6441(_0x328166,_0x336dcd-_0x20469a._0x498faf);}const _0x18fa0e={..._0x12268c};_0x18fa0e['heading']=_0x1a03fe,this['_map']['flyToPoint'](_0x2c98fe,_0x18fa0e);}static['clearLastCamera'](){const _0x36ea2d={_0x18fd33:0x9c5,_0x114270:0x13cb};var _0x1e268c;function _0x324e06(_0x2cec04,_0x57b1b3){return _0x306755(_0x2cec04,_0x57b1b3- -0x298);}(_0x1e268c=globeLastRoam)!==null&&_0x1e268c!==void 0x0&&(_0x1e268c=_0x1e268c[_0x324e06(0xe10,_0x36ea2d._0x18fd33)])!==null&&_0x1e268c!==void 0x0&&(_0x1e268c=_0x1e268c['camera'])!==null&&_0x1e268c!==void 0x0&&_0x1e268c['type']&&(globeLastRoam['options']['camera'][_0x324e06(0x1495,_0x36ea2d._0x114270)]='');function _0x273413(_0x58f348,_0x4eadc0){return _0x306755(_0x58f348,_0x4eadc0-0x27);}globeLastRoam=null;}['setCameraOptions'](_0x5f0f9e){const _0x34d319={_0x542da4:0x14da,_0x279545:0x15e1,_0x4e1698:0x1f57},_0x4467c7={_0x11ae9e:0x189};function _0x4cae54(_0x1d5f5c,_0x156c01){return _0x306755(_0x156c01,_0x1d5f5c- -0x82);}function _0x3b2234(_0x3b8ea1,_0x73abbc){return _0x306755(_0x3b8ea1,_0x73abbc- -_0x4467c7._0x11ae9e);}var _0x1f0c2f;Route['clearLastCamera']();if(this['options']['camera'])this['options']['camera']=merge(this['options']['camera'],_0x5f0f9e);else{if(_0x5f0f9e)this[_0x3b2234(0x10be,0xad4)]['camera']=_0x5f0f9e;else{const _0x17d261={};_0x17d261['type']='',this['options']['camera']=_0x17d261;}}((_0x1f0c2f=this[_0x3b2234(0x5db,0xad4)]['camera'])===null||_0x1f0c2f===void 0x0?void 0x0:_0x1f0c2f[_0x3b2234(0x161d,_0x34d319._0x542da4)])!==''&&(globeLastRoam=this);if(_0x5f0f9e&&_0x5f0f9e[_0x4cae54(_0x34d319._0x279545,_0x34d319._0x4e1698)]==='gs'&&_0x5f0f9e['radius']){const _0x2fc163={..._0x5f0f9e};_0x2fc163['duration']=0x0,this['flyToPoint'](_0x2fc163);}}['autoSurfaceHeight'](){logWarn('Route\x20类不支持autoSurfaceHeight方法\x20!');}[_0x2b6441(-0xa8d,-0x95)](){const _0x42046c={_0xcbe766:0xff6,_0x5e404f:0x1146,_0x38b80a:0x151d,_0x105305:0x80e,_0xbe111:0xb16,_0x3fcc23:0x20b9},_0x1955fd={_0x212614:0x2f5};function _0x7029e5(_0x930955,_0x3207a9){return _0x2b6441(_0x930955,_0x3207a9-_0x1955fd._0x212614);}function _0x44b057(_0x27376a,_0x44c471){return _0x306755(_0x44c471,_0x27376a- -0xf0);}this[_0x44b057(0x16d9,_0x42046c._0xcbe766)]&&(this[_0x7029e5(_0x42046c._0x5e404f,_0x42046c._0x38b80a)]['clock'][_0x7029e5(0x104f,0xa9a)]=![],this[_0x44b057(0xcd2,0x5c4)]&&this[_0x44b057(0x16d9,0x1ea4)]['trackedEntity']===this[_0x7029e5(_0x42046c._0x105305,_0x42046c._0xbe111)]&&(this[_0x44b057(0x16d9,_0x42046c._0x3fcc23)]['trackedEntity']=undefined));}[_0x306755(0x104b,0xf8b)](){this['_map']&&(this['_map']['clock']['shouldAnimate']=!![]);}['_getPopupPosition'](){if(this['options']['clampToTileset'])return!this['_popupPosition']&&(this['_popupPosition']=new Cesium__namespace['CallbackProperty'](_0x438f3e=>{return this['_position'];},![])),this['_popupPosition'];return this['property'];}[_0x2b6441(0xa5,0x2e8)](_0x2fd50a,_0xb92d48={},_0x27b4c2){return _0xb92d48['graphic']=this,super['fire'](_0x2fd50a,_0xb92d48,_0x27b4c2);}[_0x2b6441(0x12e4,0x9ee)](_0x4820cc){const _0x1509e4={_0xed2365:0xe5b};this['eachChildGraphic'](_0x1aff26=>{function _0x4ad4d9(_0x416690,_0x228e1c){return _0x5bbe(_0x416690- -0x129,_0x228e1c);}_0x1aff26[_0x4ad4d9(0xbf3,_0x1509e4._0xed2365)](_0x4820cc);}),super['destroy'](_0x4820cc);}}register$5(_0x306755(0x1fa5,0x19e2),Route,!![]);class FixedRoute extends Route{constructor(_0x54cdd2={}){function _0x2cab41(_0x1dfd4f,_0x37879e){return _0x306755(_0x1dfd4f,_0x37879e- -0x46f);}super(_0x54cdd2),this['options']['showStop']=this[_0x1e71c9(0xa52,0xb1e)]['showStop']??!![];function _0x1e71c9(_0x1b35a6,_0x34f30c){return _0x2b6441(_0x1b35a6,_0x34f30c-0x462);}this[_0x1e71c9(0x6d1,0xb1e)]['updateClock']=this['options']['updateClock']??!![];}get['startTime'](){return this['_startTime'];}get['stopTime'](){return this['_stopTime'];}get['points'](){return this['_points'];}set[_0x2b6441(0x1103,0x13f2)](_0xd69df7){this['positions']=_0xd69df7;}get['positions'](){const _0x2746a9={_0x533b76:0x95c},_0x427861={_0x422a0a:0x61e};function _0x2e9abd(_0x3722b3,_0x360537){return _0x2b6441(_0x360537,_0x3722b3-_0x427861._0x422a0a);}return this[_0x2e9abd(0xb5c,0xda5)]['map'](_0x25d8a1=>{function _0x1369c2(_0xe5a377,_0x50fa56){return _0x2e9abd(_0xe5a377- -0x49a,_0x50fa56);}return _0x25d8a1[_0x1369c2(0xaa6,_0x2746a9._0x533b76)];});}set['positions'](_0x50a374){const _0x23f19b={_0x6a22aa:0xb72,_0x4fd69d:0x1296,_0x392792:0x924,_0x102a1c:0x1b51,_0x20ac16:0x123e,_0x85cf03:0xe9f,_0x5e220e:0x327,_0x1c1c8f:0xd34,_0xb3c6f2:0x30b,_0x798dc1:0xd67,_0x35e993:0x14d,_0x312bd3:0x595,_0x3952b4:0xcb1,_0x2c021f:0x18f,_0x5c58ab:0xe7,_0x2dcfb9:0xbcd,_0x506443:0x6b8,_0x1b648c:0xd7f,_0x367262:0xbe3,_0x2f6954:0x1075,_0x4a647f:0x662,_0x4cb8dd:0x683,_0x638743:0x17b,_0xb28c01:0x706,_0x3dae56:0x15a1,_0x103ae8:0x5d1,_0x64cebe:0x46f,_0x5994da:0x96b,_0x3ee9fc:0x15b7,_0x33002d:0x1161,_0x15d899:0x1a3c,_0x338a89:0x1707,_0x54e212:0xcf8,_0x47a7ec:0xfa2,_0x51b8b0:0x966,_0x26c3ba:0xef7,_0x36758e:0x1247,_0x5b9540:0x644,_0x1d6d62:0x976,_0x2044b4:0xdb9,_0x40cb2c:0x345,_0x1dc420:0x61a,_0x4a1e15:0x12a3,_0x4516b4:0x12a5,_0x1018dd:0xc76,_0x34659e:0x1cb,_0x2a54dc:0x1b,_0x3eb170:0x993,_0x4516a9:0x653,_0x57a369:0x6ab,_0x53751e:0x31b,_0x4cbd5b:0x3e2,_0x2f21e0:0xe4d,_0x3b2b8e:0xcdc,_0x477b6a:0x88b,_0xac3aaa:0xb87,_0x34f7c9:0x10cc,_0x2be2a1:0x7ac,_0x579b0c:0x7b5,_0x250e9f:0xe77,_0xcd7b8a:0x6ab,_0x485bba:0xe34,_0x2a42a6:0x1046,_0x191420:0x173c,_0xc2a45f:0x1067,_0x1b3457:0xce0,_0xee8c3f:0x400},_0x181e72={_0x2f421d:0x52d,_0x42a596:0xa1c,_0x126a3f:0x16,_0x33373f:0x913,_0x2ef397:0x6c0,_0x4d32cf:0x5a4,_0x46f058:0x1208,_0x38debd:0x8cf,_0x17e241:0x2ac,_0x515292:0xa13,_0x7e8392:0x1677,_0x2e4a68:0x9ec},_0x36e835={_0x5b4910:0xa},_0x357bd5={_0x3f003e:0x5b2};if(!this['_map']||!_0x50a374||!Array['isArray'](_0x50a374)||_0x50a374['length']===0x0)return;function _0x4bd919(_0x18725c,_0x426a0d){return _0x306755(_0x18725c,_0x426a0d- -_0x357bd5._0x3f003e);}const _0x5a8fd9=LngLatArray[_0x224fc1(0x1681,0xeba)](_0x50a374);this[_0x4bd919(_0x23f19b._0x6a22aa,_0x23f19b._0x4fd69d)]();let _0x1aedb3=this[_0x4bd919(_0x23f19b._0x392792,0x1217)][_0x224fc1(_0x23f19b._0x102a1c,_0x23f19b._0x20ac16)]['currentTime'];if(this['options']['startTime'])_0x1aedb3=getJulianDate$1(this[_0x4bd919(0x75a,0x6ab)]['startTime'],_0x1aedb3);else{if(this['options']['timeField']){const _0x8ec371=_0x5a8fd9[0x0][this[_0x224fc1(_0x23f19b._0x85cf03,0xb01)]['timeField']];_0x8ec371&&(_0x1aedb3=Cesium__namespace['JulianDate']['fromDate'](new Date(_0x8ec371)));}}const _0x24db35=this['options']['speed'],_0x5540e5=_0x24db35&&Array['isArray'](_0x24db35),_0x557bcc=0x64;function _0x5e962f(_0x21b384,_0xaf171d){if(_0xaf171d['speed'])return _0xaf171d['speed'];if(_0xaf171d['_speed'])return _0xaf171d['_speed'];if(_0x5540e5)return(_0x24db35[_0x21b384]||_0x557bcc)/3.6;return(_0x24db35||_0x557bcc)/3.6;}const _0x23ea6c=this['options']['offsetHeight']??0x0;let _0xac4014=0x0,_0x220546=0x0,_0x133dd7,_0x2dce4c;const _0x24bbc8=[];let _0x1fc649=![];const _0x43a29e=0.001,_0x3423dd=(_0x3c174b,_0x5c6f36)=>{for(let _0x17b292=_0x3c174b-0x1;_0x17b292>=0x0;_0x17b292--){const _0x1ba3f3=_0x5a8fd9[_0x17b292];if(this['clampToGround']){const _0x3e3375={};_0x3e3375[_0x273b2a(_0x181e72._0x2f421d,0xa13)]=!![],_0x1ba3f3[_0x273b2a(-_0x181e72._0x42a596,-_0x181e72._0x126a3f)]=getHeight(this['_map'][_0x31f0ed(0x282,_0x181e72._0x33373f)],_0x1ba3f3,_0x3e3375);}const _0x25852a=_0x1ba3f3['_position']||Cesium__namespace[_0x273b2a(_0x181e72._0x2ef397,_0x181e72._0x4d32cf)]['fromDegrees'](_0x1ba3f3[_0x31f0ed(_0x181e72._0x46f058,0x8ac)],_0x1ba3f3['lat'],_0x1ba3f3['alt']+_0x23ea6c);_0x1ba3f3['_position']=_0x25852a;const _0x4f8c5e=Cesium__namespace[_0x31f0ed(0x7e1,_0x181e72._0x38debd)]['distance'](_0x5c6f36,_0x25852a);if(_0x4f8c5e!==0x0)return getOnLinePointByLen(_0x25852a,_0x5c6f36,_0x43a29e,!![]);}function _0x31f0ed(_0x4c9090,_0x1dc5ae){return _0x224fc1(_0x4c9090,_0x1dc5ae-_0x36e835._0x5b4910);}function _0x273b2a(_0x19f90e,_0x3d38d9){return _0x224fc1(_0x19f90e,_0x3d38d9- -0x321);}for(let _0x3dfd38=_0x3c174b-0x1,_0x15c662=_0x5a8fd9[_0x31f0ed(0x1b49,0x14a9)];_0x3dfd38<_0x15c662;_0x3dfd38++){const _0x4fedfd=_0x5a8fd9[_0x3dfd38];if(this['clampToGround']){const _0x4816b9={};_0x4816b9[_0x273b2a(_0x181e72._0x17e241,_0x181e72._0x515292)]=!![],_0x4fedfd['alt']=getHeight(this[_0x31f0ed(0x11e0,_0x181e72._0x7e8392)]['scene'],_0x4fedfd,_0x4816b9);}const _0xa1f85d=_0x4fedfd[_0x31f0ed(0x1453,0xd71)]||Cesium__namespace['Cartesian3']['fromDegrees'](_0x4fedfd['lng'],_0x4fedfd['lat'],_0x4fedfd[_0x273b2a(_0x181e72._0x2e4a68,-0x16)]+_0x23ea6c);_0x4fedfd['_position']=_0xa1f85d;const _0x545e46=Cesium__namespace['Cartesian3']['distance'](_0x5c6f36,_0xa1f85d);if(_0x545e46!==0x0)return getOnLinePointByLen(_0x5c6f36,_0xa1f85d,_0x43a29e,![]);}return null;};function _0x224fc1(_0x32d19e,_0x4c63fa){return _0x2b6441(_0x32d19e,_0x4c63fa-0x445);}this['_pauseTimeCounts']=0x0;for(let _0xeefb28=0x0,_0x52764b=_0x5a8fd9[_0x224fc1(0x13e4,0x149f)];_0xeefb28<_0x52764b;_0xeefb28++){let _0x56d243=_0x5a8fd9[_0xeefb28];if(this['clampToGround']){const _0x256ef2={};_0x256ef2[_0x224fc1(_0x23f19b._0x5e220e,_0x23f19b._0x1c1c8f)]=!![],_0x56d243[_0x224fc1(-0x70c,_0x23f19b._0xb3c6f2)]=getHeight(this['_map']['scene'],_0x56d243,_0x256ef2);}if(_0x56d243['_pausePoint'])continue;let _0x3b03cc=_0x56d243[_0x224fc1(0xd88,_0x23f19b._0x798dc1)]||Cesium__namespace['Cartesian3'][_0x4bd919(_0x23f19b._0x35e993,0x50b)](_0x56d243[_0x224fc1(_0x23f19b._0x312bd3,0x8a2)],_0x56d243['lat'],_0x56d243['alt']+_0x23ea6c);if(_0xeefb28===0x0){_0x2dce4c=_0x1aedb3[_0x4bd919(-0x5d0,0x356)](),this['property']['addSample'](_0x2dce4c,_0x3b03cc),_0x56d243[_0x224fc1(0x1389,0xd67)]=_0x3b03cc,_0x56d243['_time']=_0x2dce4c,_0x56d243['_distance']=_0x220546,_0x56d243['_second']=_0xac4014,_0x56d243[_0x224fc1(_0x23f19b._0x3952b4,0x88b)]=0x0,_0x56d243['_index']=_0xeefb28,_0x24bbc8[_0x4bd919(_0x23f19b._0x2c021f,_0x23f19b._0x5c58ab)](_0x56d243);if(Cesium__namespace[_0x224fc1(_0x23f19b._0x2dcfb9,0x1656)](_0x56d243['heading'])){this[_0x224fc1(0x97e,_0x23f19b._0x506443)]=new Cesium__namespace['SampledProperty'](Cesium__namespace[_0x224fc1(0x654,0x57e)]),_0x1fc649=!![];const _0x4e1291=new Cesium__namespace['HeadingPitchRoll'](Cesium__namespace[_0x224fc1(_0x23f19b._0x1b648c,0x120f)]['toRadians'](_0x56d243[_0x224fc1(_0x23f19b._0x367262,_0x23f19b._0x2f6954)]||0x0),Cesium__namespace['Math'][_0x4bd919(0xf4f,0x61a)](_0x56d243[_0x224fc1(_0x23f19b._0x4a647f,0xa49)]||0x0),Cesium__namespace[_0x4bd919(_0x23f19b._0x4cb8dd,0xdb9)]['toRadians'](_0x56d243[_0x224fc1(0x122d,0x890)]||0x0));this['_orientation'][_0x4bd919(_0x23f19b._0x638743,_0x23f19b._0xb28c01)](_0x2dce4c,Cesium__namespace[_0x224fc1(0x1e82,_0x23f19b._0x3dae56)]['headingPitchRollQuaternion'](_0x3b03cc,_0x4e1291,this['ellipsoid'],this[_0x4bd919(0x64b,0x18)]));}}else{let _0x1e3b0f=Cesium__namespace[_0x4bd919(_0x23f19b._0x103ae8,_0x23f19b._0x64cebe)][_0x4bd919(0x102b,_0x23f19b._0x5994da)](_0x3b03cc,_0x133dd7);if(_0x1e3b0f===0x0){_0x1e3b0f=_0x43a29e,_0x3b03cc=_0x3423dd(_0xeefb28,_0x3b03cc);if(!_0x3b03cc)continue;}let _0x1f094f,_0xbaa3ff;if(this['options'][_0x224fc1(0x1ebc,_0x23f19b._0x3ee9fc)]&&_0x56d243[this['options'][_0x4bd919(0x1189,_0x23f19b._0x33002d)]]){const _0x56b5fb=new Date(_0x56d243[this['options']['timeField']]),_0x2901be=Cesium__namespace[_0x4bd919(_0x23f19b._0x15d899,0x143f)][_0x224fc1(_0x23f19b._0x338a89,_0x23f19b._0x54e212)](_0x56b5fb);_0x1f094f=Cesium__namespace['JulianDate'][_0x4bd919(_0x23f19b._0x47a7ec,_0x23f19b._0x51b8b0)](_0x2901be,_0x2dce4c)||0.0001,_0x2dce4c=_0x2901be,_0xbaa3ff=_0x1e3b0f/_0x1f094f,_0xac4014+=_0x1f094f;}else _0xbaa3ff=_0x5e962f(_0xeefb28-0x1,_0x56d243),_0x1f094f=_0x1e3b0f/_0xbaa3ff,_0x1f094f<0.0001&&(_0x1f094f=0.0001),_0xac4014+=_0x1f094f,_0x2dce4c=Cesium__namespace['JulianDate'][_0x4bd919(_0x23f19b._0x26c3ba,_0x23f19b._0x36758e)](_0x1aedb3,_0xac4014,new Cesium__namespace['JulianDate']());_0x220546+=_0x1e3b0f,this[_0x224fc1(_0x23f19b._0x5b9540,0x838)]['addSample'](_0x2dce4c,_0x3b03cc);if(_0x1fc649){const _0x469509=new Cesium__namespace[(_0x224fc1(_0x23f19b._0x1d6d62,0x133c))](Cesium__namespace[_0x4bd919(0x1355,_0x23f19b._0x2044b4)][_0x224fc1(_0x23f19b._0x40cb2c,0xa70)](_0x56d243['heading']||0x0),Cesium__namespace['Math'][_0x224fc1(0x656,0xa70)](_0x56d243['pitch']||0x0),Cesium__namespace[_0x4bd919(0x17f1,0xdb9)][_0x4bd919(0x10c,_0x23f19b._0x1dc420)](_0x56d243['roll']||0x0));this['_orientation']['addSample'](_0x2dce4c,Cesium__namespace['Transforms']['headingPitchRollQuaternion'](_0x3b03cc,_0x469509,this['ellipsoid'],this['fixedFrameTransform']));}_0x56d243['_position']=_0x3b03cc,_0x56d243[_0x224fc1(0xac,0x7b5)]=_0x2dce4c,_0x56d243[_0x224fc1(0x1a58,_0x23f19b._0x4a1e15)]=_0x220546,_0x56d243['_second']=_0xac4014,_0x56d243['_speed']=_0xbaa3ff,_0x56d243[_0x4bd919(_0x23f19b._0x4516b4,_0x23f19b._0x1018dd)]=_0xeefb28,_0x24bbc8[_0x224fc1(_0x23f19b._0x34659e,0x53d)](_0x56d243);if(this['options']['pauseTime']){const _0x2c4df1=_0x3423dd(_0xeefb28,_0x3b03cc);if(!_0x2c4df1)continue;let _0x140485;typeof this['options'][_0x224fc1(_0x23f19b._0x2a54dc,0x9d6)]===_0x4bd919(_0x23f19b._0x3eb170,_0x23f19b._0x4516a9)?_0x140485=this[_0x224fc1(0xf25,0xb01)]['pauseTime'](_0xeefb28,_0x2c4df1):_0x140485=this[_0x4bd919(0x9c,_0x23f19b._0x57a369)][_0x224fc1(_0x23f19b._0x53751e,0x9d6)],_0x140485>0x0&&(_0xac4014+=_0x140485,_0x2dce4c=Cesium__namespace['JulianDate']['addSeconds'](_0x1aedb3,_0xac4014,new Cesium__namespace['JulianDate']()),this[_0x4bd919(0xd77,_0x23f19b._0x4cbd5b)]['addSample'](_0x2dce4c,_0x2c4df1),_0x220546+=_0x43a29e,_0x56d243=clone(_0x56d243),_0x56d243['_pausePoint']=!![],_0x56d243['_position']=_0x2c4df1,_0x56d243['_time']=_0x2dce4c,_0x56d243[_0x4bd919(0xe0e,_0x23f19b._0x2f21e0)]=_0x220546,_0x56d243[_0x224fc1(0x170c,_0x23f19b._0x3b2b8e)]=_0xac4014,_0x56d243[_0x224fc1(0x936,_0x23f19b._0x477b6a)]=0x0,_0x56d243[_0x224fc1(_0x23f19b._0xac3aaa,_0x23f19b._0x34f7c9)]=_0xeefb28,_0x24bbc8['push'](_0x56d243),this['_pauseTimeCounts']++);}}_0x133dd7=_0x3b03cc;}this['_points']=_0x24bbc8,this['_startTime']=_0x1aedb3,this['_stopTime']=_0x2dce4c[_0x224fc1(0x4d0,_0x23f19b._0x2be2a1)](),this[_0x4bd919(0xe40,0x7de)]=_0xac4014,this['distance_all']=_0x220546;this['options']['interpolation']&&this['property'][_0x224fc1(_0x23f19b._0x579b0c,0xc02)]({'interpolationDegree':this['options'][_0x4bd919(0x16ea,0x133a)]??0x2,'interpolationAlgorithm':this['options']['interpolationAlgorithm']??Cesium__namespace['HermitePolynomialApproximation']});if(this[_0x4bd919(_0x23f19b._0x250e9f,_0x23f19b._0xcd7b8a)][_0x224fc1(_0x23f19b._0x485bba,_0x23f19b._0x2a42a6)]&&!this[_0x224fc1(_0x23f19b._0x191420,_0x23f19b._0xc2a45f)]){var _0x3139fd;this[_0x224fc1(0x174,0x3e7)](),(_0x3139fd=this['options'])!==null&&_0x3139fd!==void 0x0&&(_0x3139fd=_0x3139fd[_0x4bd919(0x610,0xf19)])!==null&&_0x3139fd!==void 0x0&&_0x3139fd['showAll']&&(this['_child'][_0x4bd919(_0x23f19b._0x1b3457,0xf19)][_0x4bd919(0x15d7,0x13e7)]=this['positions']);}this['fire'](EventType[_0x224fc1(0x972,_0x23f19b._0xee8c3f)],{'position':this['property']});}get['isStart'](){const _0x5182b9={_0x3e5db8:0x402,_0x346777:0x1c4};function _0x4d80ce(_0x1302fe,_0x1879b7){return _0x306755(_0x1302fe,_0x1879b7- -0x5ef);}return this[_0x4d80ce(_0x5182b9._0x3e5db8,_0x5182b9._0x346777)];}get['info'](){return this['_timeinfo'];}['_addedHook'](_0x350a1b){const _0x2d5bf2={_0x3ba844:0x1242,_0x7814d5:0x2054,_0x570c4a:0x158e,_0x347472:0x94f,_0x10a674:0x1422},_0x298b6b={_0x256b66:0x3c6},_0x159b59={_0xf51c:0x2a};function _0x468691(_0x3092b9,_0x40bf71){return _0x2b6441(_0x40bf71,_0x3092b9-_0x159b59._0xf51c);}var _0x115d09;if(!this[_0x39739e(0x182e,0x11cd)]){this[_0x39739e(_0x2d5bf2._0x3ba844,0x7b5)]=!![];return;}this['_addChildGraphic']();(_0x115d09=this[_0x39739e(_0x2d5bf2._0x7814d5,_0x2d5bf2._0x570c4a)])!==null&&_0x115d09!==void 0x0&&_0x115d09[_0x468691(_0x2d5bf2._0x347472,-0x47)]&&this['model']['readyPromise']['then'](()=>{this['_readyPromise']['resolve'](this);});this[_0x468691(_0x2d5bf2._0x10a674,0x148d)]=this['options']['positions'];function _0x39739e(_0x446cea,_0x405293){return _0x306755(_0x446cea,_0x405293- -_0x298b6b._0x256b66);}this['_clearShowPositions']();}[_0x2b6441(0x1652,0x1330)](_0x3d67e6,_0x250ddc){const _0x3c528a={_0xb37efd:0x48f,_0x49f9d2:0x197d},_0xc65468={_0x24efcc:0x38d},_0x4feb5e={_0x3b321f:0x1c};function _0x20b260(_0x2b292e,_0x475965){return _0x306755(_0x475965,_0x2b292e- -_0x4feb5e._0x3b321f);}function _0x1241dc(_0x10b356,_0x2ebd98){return _0x2b6441(_0x10b356,_0x2ebd98-_0xc65468._0x24efcc);}for(const _0x4a75dc in _0x250ddc){switch(_0x4a75dc){case _0x20b260(0xe5e,0xf8d):case'startTime':this[_0x20b260(0x197d,0x2011)]=this[_0x20b260(0xc41,_0x3c528a._0xb37efd)][_0x20b260(_0x3c528a._0x49f9d2,0x161f)];break;default:super['_setOptionsHook'](_0x3d67e6,_0x250ddc);break;}}}[_0x2b6441(0x98d,0x5b7)](){const _0x24b909={_0xc4d8b1:0x165d,_0x3ee198:0x18bf,_0x1a75b1:0x73e,_0x538996:0x1428,_0x85ec31:0x9fe},_0x30615a={_0x3f7f98:0xf34,_0x2a44ac:0xd6e},_0x2d2386={_0xbe3284:0x1ca},_0x170e25={_0x5e660e:0x67},_0x95ca12={_0x584bfd:0x697};var _0x3df254;if(!this[_0x8ae4b2(_0x24b909._0xc4d8b1,0x18bf)]||this['_isStart'])return;if(!Cesium__namespace['defined'](this[_0x8ae4b2(0xa1e,0xbd5)])||this['_points'][_0x484cb6(0x111c,0xff3)]===0x0){logError('没有坐标数据,漫游路线启动失败',this['_points']);return;}function _0x8ae4b2(_0x4b2a05,_0x6c29c4){return _0x2b6441(_0x4b2a05,_0x6c29c4-_0x95ca12._0x584bfd);}this['_isStart']=!![],this['positions']=this['_points'];function _0x484cb6(_0x19ca7d,_0x29cb8a){return _0x2b6441(_0x19ca7d,_0x29cb8a- -_0x170e25._0x5e660e);}(_0x3df254=this['_child']['model'])!==null&&_0x3df254!==void 0x0&&_0x3df254['show']&&this['options']['updateClock']?(this[_0x8ae4b2(0xfb4,_0x24b909._0x3ee198)]['clock'][_0x484cb6(0x92e,_0x24b909._0x1a75b1)]=![],this['_map'][_0x8ae4b2(0x1e5b,0x1490)][_0x484cb6(0x822,0x5a4)]=this['startTime'][_0x8ae4b2(_0x24b909._0x538996,_0x24b909._0x85ec31)](),this[_0x484cb6(0x1199,0xccc)]['model']['readyPromise'][_0x484cb6(0x1449,0xcfb)](()=>{function _0x12301d(_0x5358ac,_0x1106c6){return _0x8ae4b2(_0x1106c6,_0x5358ac- -_0x2d2386._0xbe3284);}this[_0x12301d(_0x30615a._0x3f7f98,_0x30615a._0x2a44ac)]();})):this[_0x8ae4b2(0x1207,0x10fe)]();}['_start'](){const _0x1d8df7={_0x53cd1a:0x1823,_0x126dec:0x130f,_0x9c657b:0x755,_0x26edab:0xf59,_0x519255:0x6b4,_0x38f951:0x19fa,_0x1079cb:0xd81,_0x33232a:0x1616,_0x5cb83d:0x570,_0x488899:0x8ad,_0x462edc:0xcc8,_0x29d8c9:0x11e7,_0x2631ad:0xcc1,_0x1d0393:0x755,_0x4c43c6:0xb30,_0x3f8b9d:0x6a2,_0x906407:0x110e,_0x15320c:0x5bb,_0xe72e18:0xb27,_0x1ca375:0x448},_0x370a8c={_0x33c1fa:0x1b3},_0x9a7221={_0x4f305c:0x441};var _0x1207d5;this['options'][_0x36c3ca(_0x1d8df7._0x53cd1a,_0x1d8df7._0x126dec)]&&(this['_map']['clock']['shouldAnimate']=!![],this['_map']['clock']['currentTime']=this[_0x137b82(0xaa7,0x4aa)][_0x36c3ca(0x7a8,_0x1d8df7._0x9c657b)](),!this['options']['clockLoop']&&this['options']['clockRange']&&(this[_0x36c3ca(0x1d2e,0x16ed)]=this['_map'][_0x137b82(_0x1d8df7._0x26edab,0x10da)]['clockRange'],this[_0x36c3ca(_0x1d8df7._0x519255,0x59e)]=this[_0x36c3ca(_0x1d8df7._0x38f951,0x1616)]['clock']['startTime'],this['_bak_stopTime']=this[_0x36c3ca(_0x1d8df7._0x1079cb,_0x1d8df7._0x33232a)][_0x36c3ca(0x139a,0x11e7)][_0x137b82(_0x1d8df7._0x5cb83d,0x6c7)],this['_map']['clock']['clockRange']=this['options'][_0x137b82(_0x1d8df7._0x488899,0x1277)]??Cesium__namespace['ClockRange']['LOOP_STOP'],this['_map'][_0x137b82(0xf59,_0x1d8df7._0x462edc)]['startTime']=this['startTime']['clone'](),this['_map'][_0x36c3ca(0x17c7,_0x1d8df7._0x29d8c9)]['stopTime']=this['stopTime'][_0x36c3ca(_0x1d8df7._0x2631ad,_0x1d8df7._0x1d0393)](),this['_map'][_0x137b82(_0x1d8df7._0x4c43c6,0x200)]['timeline']&&this['_map']['control']['timeline'][_0x137b82(_0x1d8df7._0x3f8b9d,-0x203)](this['startTime'],this['stopTime'])));if((_0x1207d5=this[_0x36c3ca(0x1009,0x1121)]['path'])!==null&&_0x1207d5!==void 0x0&&_0x1207d5['entity']){var _0x312c5e;let _0x2611ab=this['_stopTime'];((_0x312c5e=this['property'])===null||_0x312c5e===void 0x0?void 0x0:_0x312c5e['forwardExtrapolationType'])===Cesium__namespace[_0x36c3ca(0xc32,_0x1d8df7._0x906407)]['HOLD']&&(_0x2611ab=Cesium__namespace[_0x36c3ca(0x197e,0x183e)]['addDays'](_0x2611ab,0x16d,new Cesium__namespace['JulianDate']())),this['_child']['path'][_0x137b82(_0x1d8df7._0x15320c,-0x4e0)]=new Cesium__namespace[(_0x137b82(0x208,0xa))]([new Cesium__namespace[(_0x36c3ca(0xbad,_0x1d8df7._0xe72e18))]({'start':this['_startTime'],'stop':_0x2611ab})]);}delete this[_0x36c3ca(0xa8a,0xe0c)];function _0x137b82(_0x2a37a3,_0x3eef0f){return _0x306755(_0x3eef0f,_0x2a37a3- -_0x9a7221._0x4f305c);}this[_0x137b82(_0x1d8df7._0x1ca375,0x16f)](EventType[_0x137b82(0x717,0x317)]);function _0x36c3ca(_0x3feda9,_0x41dcf3){return _0x306755(_0x3feda9,_0x41dcf3- -_0x370a8c._0x33c1fa);}this[_0x36c3ca(0x53,0x48a)]();}[_0x2b6441(0xefb,0x123a)](){const _0x1325c7={_0x5b22c3:0x15a2,_0x451803:0x1577,_0x11a1f9:0x47b,_0x5ce76d:0xb70,_0x17bbc2:0x4e7,_0x424a23:0x99f};function _0x561365(_0x1983e8,_0x52ea18){return _0x2b6441(_0x1983e8,_0x52ea18-0x34f);}function _0xddc41(_0x9a22e3,_0x17d8ef){return _0x2b6441(_0x17d8ef,_0x9a22e3- -0x91);}if(!this['_isStart']||!this['_map'])return;this[_0x561365(_0x1325c7._0x5b22c3,_0x1325c7._0x451803)]['trackedEntity']=undefined,this['unbindUpdateEvent'](),this[_0x561365(_0x1325c7._0x11a1f9,0xa0b)][_0xddc41(_0x1325c7._0x5ce76d,_0x1325c7._0x17bbc2)]?this['backToFirst']():(this['_position']=undefined,this[_0xddc41(_0x1325c7._0x424a23,0x145f)]()),this[_0xddc41(0x1102,0x145c)](),this[_0x561365(-0x7a,0x561)]=![],this['_fireEndEevnt'](),this['fire'](EventType['updatePosition'],{'position':this['_position']});}[_0x2b6441(0xe03,0x40f)](){const _0x27f9bf={_0x442e9a:0x251};function _0xaa1916(_0x2ac0fc,_0x4bed24){return _0x306755(_0x2ac0fc,_0x4bed24- -_0x27f9bf._0x442e9a);}if(this[_0xaa1916(0x168e,0xd6e)])return;clearTimeout(this['_timeDebounce']),this['_timeDebounce']=setTimeout(()=>{this['fire'](EventType['end']),this['_isFireEndEvent']=!![];},0xc8);}['backToFirst'](){const _0x3ce554={_0x4c13e1:0xfea,_0x31f8fa:0x93b},_0x1ecb6e={_0x3a77d2:0x147};this['_flyok_index']=0x0,this[_0x1141e8(_0x3ce554._0x4c13e1,0x1633)]=this['_points'][0x0]['_position'];function _0x4dc896(_0x2cc7e3,_0x569249){return _0x306755(_0x569249,_0x2cc7e3-_0x1ecb6e._0x3a77d2);}this['_orientation_show']=this[_0x1141e8(_0x3ce554._0x31f8fa,0x57e)]['getValue'](this[_0x4dc896(0x102f,0xdba)]),this['_updatePosition']();function _0x1141e8(_0x2d0546,_0x2793d7){return _0x306755(_0x2793d7,_0x2d0546-0x127);}this['_updateForEvent'](![]);}[_0x2b6441(0x8c5,0xca9)](_0x358940=!![]){const _0x59ec34={_0x31d04f:0xc85,_0x407b6c:0xfd1,_0x333422:0xcea,_0x49964f:0x84b,_0x5aecc6:0xd38,_0x52e646:0xd1f,_0x5353cc:0xb3a,_0x484378:0x1103,_0xfe62b5:0x882,_0x22c765:0x11f6,_0x3e4296:0x42a,_0x33f7df:0xa08,_0x204865:0x125b,_0xe2d3e7:0x15d8,_0x322d34:0xa1c,_0x13fe3c:0xfdc,_0x34903f:0x11f5,_0x5353a2:0x23,_0x214267:0x1c81,_0x2508ee:0x229,_0x22ad1d:0x517,_0x49e052:0xc33,_0x4f6070:0x1473,_0x3966ae:0xe2a,_0x5d6641:0x1788,_0x3c1adb:0xd76,_0xeb59ef:0xa41,_0x7758df:0xd44,_0x22c2c4:0x1355,_0x5ea3dc:0x1389,_0x11f122:0xcb0,_0x12e47c:0x1912,_0x360be9:0x154c,_0x441c17:0x184d,_0x2c21bf:0x4a5,_0x1cddf5:0x1637},_0x15e24f={_0x451ab0:0x6ba};if(!this[_0x281e8d(0xbf8,_0x59ec34._0x31d04f)])return;let _0x23655b=this['_flyok_index'];const _0x57a623=this['_points'][this['_points']['length']-0x1];function _0x4af5d8(_0x4ec4fa,_0x42a3b2){return _0x2b6441(_0x4ec4fa,_0x42a3b2-0x3fd);}const _0x559c11=this[_0x4af5d8(_0x59ec34._0x407b6c,0x93b)][_0x23655b];if(!_0x559c11)return;let _0x548da3=this['_counts']??this['_points']['length'];this['_pauseTimeCounts']>0x0&&(_0x23655b=_0x559c11[_0x281e8d(0x1341,0x1da5)],_0x548da3-=this[_0x4af5d8(_0x59ec34._0x333422,0x3fd)]);const _0x4efc49=LngLatPoint[_0x4af5d8(0x82f,_0x59ec34._0x49964f)](this[_0x4af5d8(_0x59ec34._0x5aecc6,_0x59ec34._0x52e646)]);let _0x572dda=_0x559c11['_distance']+(this[_0x281e8d(0xfdc,0x1591)]?Cesium__namespace[_0x281e8d(_0x59ec34._0x5353cc,0x9b6)]['distance'](this['_position'],_0x559c11['_position']):0x0);_0x572dda>_0x57a623[_0x4af5d8(_0x59ec34._0x484378,0x125b)]&&(_0x572dda=_0x57a623[_0x4af5d8(0x133d,0x125b)]);let _0x4c9b0a=0x0;_0x572dda>0x0&&(_0x4c9b0a=Cesium__namespace['JulianDate']['secondsDifference'](this[_0x281e8d(0x18e2,0x1d0b)][_0x4af5d8(_0x59ec34._0xfe62b5,_0x59ec34._0x22c765)][_0x4af5d8(_0x59ec34._0x3e4296,_0x59ec34._0x33f7df)],this['startTime']),_0x4c9b0a>_0x57a623[_0x281e8d(0xf51,0xabe)]&&(_0x4c9b0a=_0x57a623['_second']));function _0x281e8d(_0x46db33,_0x55a496){return _0x2b6441(_0x55a496,_0x46db33-_0x15e24f._0x451ab0);}this['_timeinfo']={'index':_0x23655b,'counts':_0x548da3,'point':_0x4efc49,'position':this['_position'],'orientation':this[_0x281e8d(0x1112,0x1448)],'second':_0x4c9b0a,'second_all':_0x57a623['_second'],'distance':_0x572dda,'distance_all':_0x57a623[_0x4af5d8(0x17ea,_0x59ec34._0x204865)],'speed':_0x559c11[_0x4af5d8(0x638,0x843)]};Cesium__namespace['defined'](_0x559c11['_index_original'])&&(this[_0x4af5d8(0xc06,0xa1c)]['index_original']=_0x559c11['_index_original']);if(!_0x358940)return;this['_position']&&!this['_position'][_0x4af5d8(0x8fd,0xe11)](this[_0x4af5d8(_0x59ec34._0xe2d3e7,0xc56)])&&(this['fire'](EventType['change'],this[_0x4af5d8(0xf0c,_0x59ec34._0x322d34)],!![]),this[_0x4af5d8(0xeb6,0xc56)]=this[_0x4af5d8(0x55c,_0x59ec34._0x52e646)]?this[_0x281e8d(_0x59ec34._0x13fe3c,_0x59ec34._0x34903f)][_0x4af5d8(-_0x59ec34._0x5353a2,0x764)]():undefined);if(_0x23655b!==this['_last_fireIndex']){if(Cesium__namespace['defined'](this['_last_fireIndex'])&&this['_last_fireIndex']+0x1!==_0x23655b)while(++this['_last_fireIndex']<_0x23655b){this['fire'](EventType[_0x4af5d8(0x1253,0x11b6)],{'counts':_0x548da3,'index':this['_last_fireIndex'],'point':this['_points'][this[_0x4af5d8(_0x59ec34._0x214267,0x1788)]]});}const _0x58ad72={};_0x58ad72[_0x4af5d8(-_0x59ec34._0x2508ee,_0x59ec34._0x22ad1d)]=_0x548da3,_0x58ad72[_0x4af5d8(_0x59ec34._0x49e052,0xdb4)]=_0x23655b,_0x58ad72['point']=_0x559c11,this['fire'](EventType[_0x281e8d(_0x59ec34._0x4f6070,0xc45)],_0x58ad72),_0x23655b>=this['_counts']-0x1&&this[_0x4af5d8(0x757,0x80c)](),this[_0x4af5d8(_0x59ec34._0x3966ae,_0x59ec34._0x5d6641)]=_0x23655b;}if(_0x4c9b0a>=_0x57a623[_0x4af5d8(0x1437,0xc94)]&&this['options']){if(this[_0x4af5d8(0xa46,0xab9)]['clockLoop']&&!this[_0x281e8d(_0x59ec34._0x3c1adb,_0x59ec34._0xeb59ef)]['clockRange']){this['unbindUpdateEvent']();if(this['options']['startTime'])delete this['options'][_0x4af5d8(0x3d7,_0x59ec34._0x7758df)];else{if(this[_0x281e8d(0xd76,0xf3a)][_0x4af5d8(0xc56,0x156f)]){const _0x620d13=this['_points'][0x0][this[_0x4af5d8(0x46b,0xab9)][_0x281e8d(0x182c,_0x59ec34._0x22c2c4)]];if(_0x620d13){const _0x3559e4=Cesium__namespace['JulianDate'][_0x4af5d8(0x5aa,0xcb0)](new Date(_0x620d13)),_0x245219=Cesium__namespace[_0x4af5d8(_0x59ec34._0x5ea3dc,0x184d)]['secondsDifference'](this['_map'][_0x4af5d8(0x1ba5,0x11f6)]['currentTime'],_0x3559e4);for(let _0x1dc377=0x0;_0x1dc377<this[_0x4af5d8(0xe66,0x93b)][_0x4af5d8(0xd24,0x1457)];_0x1dc377++){const _0x5ad3c7=Cesium__namespace['JulianDate'][_0x4af5d8(0x3eb,_0x59ec34._0x11f122)](new Date(this['_points'][_0x1dc377][this['options'][_0x4af5d8(0x1b56,0x156f)]]));this['_points'][_0x1dc377][this['options'][_0x4af5d8(0x1a02,0x156f)]]=Cesium__namespace['JulianDate']['toDate'](Cesium__namespace['JulianDate'][_0x281e8d(_0x59ec34._0x12e47c,0x1d2b)](_0x5ad3c7,_0x245219,new Cesium__namespace['JulianDate']()));}}}}this['positions']=this['_points'];if(this['_child']['path']){var _0x3a2d95;let _0x424037=this['_stopTime'];((_0x3a2d95=this[_0x4af5d8(0x1135,0x7f0)])===null||_0x3a2d95===void 0x0?void 0x0:_0x3a2d95['forwardExtrapolationType'])===Cesium__namespace[_0x4af5d8(_0x59ec34._0x360be9,0x111d)][_0x4af5d8(0xeeb,0xcde)]&&(_0x424037=Cesium__namespace['JulianDate'][_0x4af5d8(0x1ac6,0x15de)](_0x424037,0x16d,new Cesium__namespace[(_0x4af5d8(0xfd4,_0x59ec34._0x441c17))]())),this['_child']['path'][_0x4af5d8(0x6cf,0x858)]=new Cesium__namespace[(_0x4af5d8(-0x1d3,_0x59ec34._0x2c21bf))]([new Cesium__namespace['TimeInterval']({'start':this['_startTime'],'stop':_0x424037})]);}this['bindUpdateEvent']();return;}this['options']['autoStop']&&this[_0x4af5d8(0xf7f,_0x59ec34._0x1cddf5)]();}}[_0x2b6441(0x1055,0xd37)](_0x1937de={}){const _0x472b75={_0x4b0359:0x658},_0x1c9651={_0x3cefc4:0x12b2},_0x486f9b={_0x2b133d:0xc13},_0x333cbc={_0x3a306f:0x300},_0x1381d3={_0x220434:0x487},_0x888b4b=this[_0x1da179(_0x472b75._0x4b0359,-0x345)];let _0x2e45b5=0x0;const _0x1ef158=[],_0x4b2b4a=[];function _0x1da179(_0x7f18b3,_0x55fccd){return _0x306755(_0x55fccd,_0x7f18b3- -_0x1381d3._0x220434);}const _0x468bb8=[],_0x4f6cf9=[],_0x4610ed=[];return new Promise((_0x48d900,_0x521c99)=>{const _0x4ef842={_0x16ac4b:0x1b92,_0x8e77c1:0x7d0,_0x4971f6:0x1549,_0x357c1a:0x1c5d,_0x5b2afb:0xa59,_0x2d92e1:0x5e7,_0x3f8866:0xca3},_0x291f67={_0x444c4d:0xd5};function _0xd81e3b(_0x142087,_0x473be3){return _0x1da179(_0x473be3-_0x333cbc._0x3a306f,_0x142087);}const _0x681e06=[];function _0x5bb2f2(_0x2b4e5f,_0x16c802){return _0x1da179(_0x16c802- -0x1b8,_0x2b4e5f);}_0x888b4b[_0xd81e3b(0x8f5,0xab9)](_0x18590f=>{_0x681e06['push'](_0x18590f['_position']);}),computeStepSurfaceLine({'objectsToExclude':this['_layer'][_0x5bb2f2(0xc7c,_0x1c9651._0x3cefc4)],..._0x1937de,'scene':this['_map']['scene'],'positions':_0x681e06,'endItem':(_0xbe8f70,_0x17644b,_0x1a21be)=>{const _0xcf9bf1={_0x571825:0x2be};function _0x16cb86(_0x419ae9,_0x5dd5f2){return _0xd81e3b(_0x5dd5f2,_0x419ae9-_0xcf9bf1._0x571825);}var _0x523d52,_0x335dcc;if(!this[_0x16cb86(0x1900,_0x4ef842._0x16ac4b)])return;if(_0x17644b)_0x4610ed[_0x16cb86(_0x4ef842._0x8e77c1,0xfec)](_0x888b4b[_0x1a21be]);else for(let _0x3475e0=0x0;_0x3475e0<_0xbe8f70[_0x391279(0x1361,_0x4ef842._0x4971f6)];_0x3475e0++){const _0xd13ecc=LngLatPoint['fromCartesian'](_0xbe8f70[_0x3475e0]);_0xd13ecc['_speed']=_0x888b4b[_0x1a21be+0x1]['_speed'],_0xd13ecc[_0x16cb86(0x148c,_0x4ef842._0x357c1a)]=_0x1a21be,_0x4610ed[_0x391279(_0x4ef842._0x5b2afb,_0x4ef842._0x2d92e1)](_0xd13ecc);}const _0x5c3ecb=((_0x523d52=_0x888b4b[_0x1a21be])===null||_0x523d52===void 0x0?void 0x0:_0x523d52['alt'])||0x0,_0x4734ca=((_0x335dcc=_0x888b4b[_0x1a21be+0x1])===null||_0x335dcc===void 0x0?void 0x0:_0x335dcc['alt'])||0x0,_0x4268c1=(_0x4734ca-_0x5c3ecb)/_0xbe8f70['length'];function _0x391279(_0x56879b,_0x5b06b8){return _0xd81e3b(_0x56879b,_0x5b06b8-_0x291f67._0x444c4d);}for(let _0x30d121=0x0;_0x30d121<_0xbe8f70['length'];_0x30d121++){_0x30d121!==0x0&&(_0x2e45b5+=Cesium__namespace['Cartesian3'][_0x16cb86(0x1054,0x5cd)](_0xbe8f70[_0x30d121],_0xbe8f70[_0x30d121-0x1]));_0x1ef158['push'](Number(_0x2e45b5['toFixed'](0x1)));const _0x551146=LngLatPoint['fromCartesian'](_0xbe8f70[_0x30d121]);_0x4f6cf9['push'](_0x551146);const _0x4ea170=_0x17644b?0x0:_0x551146[_0x16cb86(0x59e,0xa6)];_0x4b2b4a['push'](_0x4ea170);const _0x5ccb97=Number((_0x5c3ecb+_0x4268c1*_0x30d121)['toFixed'](0x1));_0x468bb8[_0x391279(_0x4ef842._0x3f8866,0x5e7)](_0x5ccb97);}},'end':()=>{const _0x434368={_0x14f552:0x260};if(!this['_map'])return;const _0x2d6d4c={};_0x2d6d4c['arrLength']=_0x1ef158,_0x2d6d4c['arrFxgd']=_0x468bb8;function _0x4b66c6(_0x492819,_0x529261){return _0x5bb2f2(_0x529261,_0x492819-0x1a7);}_0x2d6d4c[_0x2ee3cf(0x335,_0x486f9b._0x2b133d)]=_0x4b2b4a,_0x2d6d4c['arrPoint']=_0x4f6cf9,this[_0x4b66c6(0xb3a,0xe95)]=_0x2d6d4c;function _0x2ee3cf(_0xda7abf,_0x49d68d){return _0x5bb2f2(_0xda7abf,_0x49d68d-_0x434368._0x14f552);}this['positions']=_0x4610ed,_0x48d900(_0x4610ed);}});});}['getTerrainHeight'](_0x362957={}){const _0x54fb79={_0x204589:0x6f3},_0x5f1b52={_0x13432c:0xff},_0x2c078c=this['_points'];return new Promise((_0x8cf9e3,_0x37fc8f)=>{const _0x1e56cc={_0x5eb32d:0x17e,_0x373904:0x6cc,_0x333dfb:0x1784,_0x376724:0x43c,_0x5cba63:0x938,_0x59f2e3:0x72d,_0x39d851:0x17e,_0x1b6216:0x1a85};if(this['_terrainHeight']){_0x8cf9e3(this['_terrainHeight']);return;}this['_getTerrainHeight_ing']=!![];let _0x240b78=0x0;function _0x4dfbfb(_0xa8c370,_0x3c4acd){return _0x5bbe(_0x3c4acd- -_0x5f1b52._0x13432c,_0xa8c370);}const _0x466cf6=[],_0x1a6afa=[],_0x409a81=[],_0x587f52=[];computeStepSurfaceLine({'objectsToExclude':this['_layer']['objectsToExclude'],..._0x362957,'exact':!![],'scene':this['_map'][_0x4dfbfb(0xd5b,_0x54fb79._0x204589)],'positions':_0x2c078c,'endItem':(_0x594a17,_0xe25907,_0x5aeb89)=>{function _0x5a749c(_0x22d1b1,_0x2a1c58){return _0x4dfbfb(_0x22d1b1,_0x2a1c58-0x435);}const _0xc224cf=_0x2c078c[_0x5aeb89][_0x3fce9d(-_0x1e56cc._0x5eb32d,-_0x1e56cc._0x373904)],_0x14fa9b=_0x2c078c[_0x5aeb89+0x1]['alt'],_0x14f4bd=(_0x14fa9b-_0xc224cf)/_0x594a17['length'];function _0x3fce9d(_0x304244,_0xe9c890){return _0x4dfbfb(_0xe9c890,_0x304244- -0x273);}for(let _0x113450=0x0;_0x113450<_0x594a17[_0x5a749c(_0x1e56cc._0x333dfb,0x16be)];_0x113450++){_0x113450!==0x0&&(_0x240b78+=Cesium__namespace[_0x3fce9d(_0x1e56cc._0x376724,0x5e0)][_0x3fce9d(_0x1e56cc._0x5cba63,0x287)](_0x594a17[_0x113450],_0x594a17[_0x113450-0x1]));_0x466cf6[_0x5a749c(0xc1b,0x75c)](Number(_0x240b78['toFixed'](0x1)));const _0x3b955f=LngLatPoint['fromCartesian'](_0x594a17[_0x113450]);_0x587f52[_0x3fce9d(0xb4,-_0x1e56cc._0x59f2e3)](_0x3b955f);const _0x2e09cc=_0xe25907?0x0:_0x3b955f[_0x3fce9d(-_0x1e56cc._0x39d851,0x3f2)];_0x1a6afa['push'](_0x2e09cc);const _0x45a7f6=Number((_0xc224cf+_0x14f4bd*_0x113450)[_0x5a749c(0x18c3,_0x1e56cc._0x1b6216)](0x1));_0x409a81['push'](_0x45a7f6);}},'end':()=>{const _0x1fb352={_0x9c768f:0x106};function _0x3865b3(_0x3a4714,_0x51ff15){return _0x4dfbfb(_0x3a4714,_0x51ff15-0x27c);}function _0x4b0061(_0x10cc0e,_0x288fe2){return _0x4dfbfb(_0x288fe2,_0x10cc0e- -_0x1fb352._0x9c768f);}this[_0x3865b3(0x12c2,0xaa7)]=![];const _0x5c8069={};_0x5c8069[_0x3865b3(0xd00,0x639)]=_0x466cf6,_0x5c8069['arrFxgd']=_0x409a81,_0x5c8069['arrHbgd']=_0x1a6afa,_0x5c8069['arrPoint']=_0x587f52,this['_terrainHeight']=_0x5c8069,_0x8cf9e3(this['_terrainHeight']);}});});}['_getPopupPosition'](){const _0x153b73={_0x561817:0x460,_0x50a5c8:0x336,_0xefbacd:0x727,_0x2b0006:0x985},_0x11234a={_0x27949b:0x4d9};if(this['isStart']&&!this['options']['clampToTileset'])return this[_0x878bf0(0x2ca,_0x153b73._0x561817)];function _0x2a69b4(_0x46a886,_0x4d4ffb){return _0x2b6441(_0x4d4ffb,_0x46a886-_0x11234a._0x27949b);}function _0x878bf0(_0x329136,_0x3b4c15){return _0x2b6441(_0x329136,_0x3b4c15-0x6d);}return!this[_0x2a69b4(0xdf1,_0x153b73._0x50a5c8)]&&(this[_0x878bf0(_0x153b73._0xefbacd,_0x153b73._0x2b0006)]=new Cesium__namespace['CallbackProperty'](_0x2fcd2e=>{function _0x387b8b(_0x2cd60c,_0x2fe073){return _0x2a69b4(_0x2cd60c- -0x194,_0x2fe073);}return this[_0x387b8b(0xc67,0xfba)];},![])),this['_popupPosition'];}}register$5('fixedRoute',FixedRoute,!![]);var MultipleLightShader=_0x2b6441(0x1243,0x785),MultipleLightNoShadowShader=_0x2b6441(0xb92,0x10e9);const _0x2f5d61={};_0x2f5d61[_0x2b6441(0x87f,0x90e)]=Cesium__namespace['Color'][_0x2b6441(0xb78,0x4bc)],_0x2f5d61['intensity']=0xa,_0x2f5d61[_0x306755(-0x1a2,0x6c6)]=0x3e8;const DEF_STYLE$4=_0x2f5d61;class PointLight extends BasePointPrimitive{constructor(_0x5e6851={},_0x173690=!![]){const _0xe4bbee={_0x3fba04:0x1204,_0x53ca6c:0x102d};_0x173690&&(_0x5e6851['style']={...DEF_STYLE$4,..._0x5e6851['style']||{}});function _0x1467e8(_0x471391,_0x2e4305){return _0x2b6441(_0x471391,_0x2e4305-0x2ed);}super(_0x5e6851);function _0x3de028(_0x4d3da2,_0x29f8d7){return _0x306755(_0x4d3da2,_0x29f8d7-0xf9);}this['_light_type']=0x1,this[_0x1467e8(0xcde,0x10c0)]=getCesiumColor(this['style']['color'],Cesium__namespace[_0x3de028(_0xe4bbee._0x3fba04,_0xe4bbee._0x53ca6c)]['WHITE']);}get['czmObject'](){const _0x2a42b7={_0x14ae28:0x18bf},_0xc4dd40={_0x455af4:0x1d5};function _0x36435a(_0x4f254c,_0x478f10){return _0x306755(_0x4f254c,_0x478f10- -_0xc4dd40._0x455af4);}return this[_0x36435a(_0x2a42b7._0x14ae28,0xf94)];}get['hasOpacity'](){return![];}get['lights'](){var _0x55200b;return(_0x55200b=this['_layer'])===null||_0x55200b===void 0x0?void 0x0:_0x55200b['lights'];}get['intensity'](){return this['style']['intensity'];}set['intensity'](_0x346518){this['style']['intensity']=_0x346518;}get['color'](){const _0x2e3caa={_0xa8b29e:0x149f};function _0x2050b0(_0x3bd6fe,_0x251075){return _0x306755(_0x3bd6fe,_0x251075-0x12b);}return this[_0x2050b0(0x152e,_0x2e3caa._0xa8b29e)];}set['color'](_0x5298e7){this['_color']=getCesiumColor(_0x5298e7,Cesium__namespace['Color']['WHITE']);}get['shadowMap'](){const _0x5baa4f={_0x232add:0x12b7},_0x584efe={_0x3eb706:0x575};function _0x4f5af8(_0x520ba7,_0xeef9cd){return _0x306755(_0xeef9cd,_0x520ba7- -_0x584efe._0x3eb706);}return this[_0x4f5af8(_0x5baa4f._0x232add,0xd3b)];}get['camera'](){return this['_camera'];}[_0x306755(0x48b,0x96b)](){const _0x3a864a={_0x5770b0:0xe5},_0x39ceb3={_0x775846:0x38b};function _0x1ac8ad(_0x42d978,_0x253843){return _0x306755(_0x253843,_0x42d978- -0x612);}let _0x49ced4=this['_position'];function _0x1d654e(_0x1207fb,_0x2c39e9){return _0x306755(_0x2c39e9,_0x1207fb- -_0x39ceb3._0x775846);}if(this['_camera']&&_0x49ced4){const _0x4ef77f=this[_0x1ac8ad(_0x3a864a._0x5770b0,-0x9d4)]();Cesium__namespace['defined'](_0x4ef77f)&&(_0x49ced4=addPositionsHeight(_0x49ced4,_0x4ef77f)),this[_0x1ac8ad(0xb57,0x335)]['position']=_0x49ced4,this['_camera']['up']=Cesium__namespace['Cartesian3']['normalize'](_0x49ced4,new Cesium__namespace['Cartesian3']());}}[_0x306755(0xbe,0x99e)](_0x440293){const _0x31cb02={_0x201fdd:0x106c,_0x2f8f82:0x48c,_0x4ff933:0x2bb,_0x1c1c5d:0xe49},_0x2f41e0={_0x31f26f:0x126};function _0x4a122d(_0xee3143,_0x1b5704){return _0x2b6441(_0x1b5704,_0xee3143-0xf3);}function _0x2d3693(_0x296650,_0x22bd3b){return _0x2b6441(_0x22bd3b,_0x296650-0x117);}this['_shadowMap']=this[_0x2d3693(_0x31cb02._0x201fdd,0x1447)](),this['_position']&&this['_updatePositionsHook'](),this[_0x4a122d(0x89b,_0x31cb02._0x2f8f82)]['add'](this),this[_0x4a122d(0xc75,_0x31cb02._0x4ff933)]['set'](this['id'],this),this['lights']['_showHook']=()=>{function _0x12fc72(_0x2663a2,_0x1c287b){return _0x4a122d(_0x1c287b- -_0x2f41e0._0x31f26f,_0x2663a2);}this[_0x12fc72(0x1b12,0x1135)]();},this[_0x4a122d(0x125b,_0x31cb02._0x1c1c5d)]();}['_createShadowMap'](){const _0x4469e5={_0x4ed8d1:0x1045,_0x429066:0x16a5,_0xb80534:0xc5c,_0x338a3d:0xae0,_0x393cb8:0x1163,_0x3f4ec2:0x8d1,_0x7a1d90:0xc41};function _0x250967(_0x558166,_0x492687){return _0x2b6441(_0x558166,_0x492687-0x61c);}this['_shadowMap']&&(this['_shadowMap']['destroy'](),delete this['_shadowMap']);function _0x341089(_0x596df6,_0x1bfa86){return _0x306755(_0x1bfa86,_0x596df6- -0x124);}this[_0x341089(_0x4469e5._0x4ed8d1,0x190c)]=new Cesium__namespace['Camera'](this[_0x341089(_0x4469e5._0x429066,_0x4469e5._0xb80534)][_0x250967(0x12b7,_0x4469e5._0x338a3d)]);const _0x41fbc3={};return _0x41fbc3['lightCamera']=this['_camera'],_0x41fbc3[_0x341089(0xc8a,_0x4469e5._0x393cb8)]=![],_0x41fbc3['darkness']=0x1,_0x41fbc3['isPointLight']=!![],_0x41fbc3['isSpotLight']=![],_0x41fbc3['cascadesEnabled']=![],_0x41fbc3[_0x341089(0x52e,0xb26)]=this['_map'][_0x250967(0xd5e,0xae0)]['context'],_0x41fbc3[_0x341089(0x9a4,0x132a)]=this[_0x250967(0xc0a,_0x4469e5._0x3f4ec2)]['radius'],_0x41fbc3[_0x341089(_0x4469e5._0x7a1d90,0x1473)]=![],_0x41fbc3['depthBiasStep']=this['options']['depthBiasStep']??0x1,new Cesium__namespace['ShadowMap'](_0x41fbc3);}[_0x306755(0x1778,0xe2b)](){const _0x2271b1={_0x301e19:0x126c,_0x217a18:0x11ed,_0x3f1792:0x3fc,_0x404c46:0xb23,_0x30e1c9:0x10b9,_0x57b0b2:0x19cc,_0x266888:0xc3d,_0x342496:0x169f},_0x211589={_0x3900cd:0x537};this[_0x543900(_0x2271b1._0x301e19,_0x2271b1._0x217a18)]&&(this['_shadowMap']['destroy'](),delete this['_shadowMap']);function _0x543900(_0x24b58f,_0xb14b7e){return _0x306755(_0xb14b7e,_0x24b58f- -0x5c0);}this['primitiveCollection']&&this['primitiveCollection']['contains'](this)&&(this['_noDestroy']=!![],this[_0x543900(0x789,0xbfd)][_0x543900(_0x2271b1._0x3f1792,_0x2271b1._0x404c46)](this),this['_noDestroy']=![]);function _0x53ed44(_0x510fa7,_0x4e023d){return _0x2b6441(_0x4e023d,_0x510fa7-_0x211589._0x3900cd);}this[_0x53ed44(_0x2271b1._0x30e1c9,_0x2271b1._0x57b0b2)][_0x53ed44(0x952,_0x2271b1._0x266888)](this['id']),this[_0x53ed44(_0x2271b1._0x342496,0xbd9)]();}['update'](_0x3cc738){const _0x7e2a4e=this['getAvailabilityShow'](_0x3cc738['time']);function _0x5bc146(_0x46064e,_0x409568){return _0x2b6441(_0x409568,_0x46064e-0x59a);}(this['_lastShow']??!![])!==_0x7e2a4e&&(this['_availability_show']=_0x7e2a4e,this['_lastShow']=_0x7e2a4e,this['_updateDraw']()),this['_shadowMap']&&_0x3cc738['shadowMaps'][_0x5bc146(0x692,-0x239)](this['_shadowMap']);}['_updateStyleHook'](_0x451dc2,_0xf286e1){const _0x1cbd32={_0x4d0032:0xcad,_0x28e996:0x75a,_0x475cf5:0x18bd,_0x13c837:0xeff,_0x3be69a:0x8fc,_0x51cd90:0x99f,_0xc379b3:0x597,_0x175e74:0x9bb};function _0x3d2766(_0x4e959e,_0x821c8d){return _0x306755(_0x4e959e,_0x821c8d- -0x524);}Cesium__namespace['defined'](_0xf286e1['color'])&&(this['_color']=getCesiumColor(_0xf286e1['color'],Cesium__namespace['Color']['WHITE']));(Cesium__namespace['defined'](_0xf286e1['addHeight'])||Cesium__namespace['defined'](_0xf286e1[_0x3d2766(0x415,_0x1cbd32._0x4d0032)])||Cesium__namespace['defined'](_0xf286e1['pitch'])||Cesium__namespace[_0x3d2766(0x14a0,0x128e)](_0xf286e1[_0x3d2766(_0x1cbd32._0x28e996,0x4c8)]))&&this['_updatePositionsHook']();function _0x2bb6af(_0x595051,_0x5979f3){return _0x306755(_0x595051,_0x5979f3-0x50);}Cesium__namespace[_0x2bb6af(_0x1cbd32._0x475cf5,0x1802)](_0xf286e1[_0x2bb6af(_0x1cbd32._0x13c837,0x716)])&&this['_shadowMap']&&(this['_shadowMap']=this['_createShadowMap'](),this[_0x3d2766(_0x1cbd32._0x3be69a,_0x1cbd32._0x51cd90)]&&this[_0x2bb6af(_0x1cbd32._0xc379b3,_0x1cbd32._0x175e74)]());}[_0x2b6441(0x671,0xcd2)](){const _0x3051c1={_0x381db4:0x1b64,_0x5c3842:0x12a0};function _0x102509(_0x36bedc,_0x344888){return _0x2b6441(_0x36bedc,_0x344888-0x78);}this[_0x102509(_0x3051c1._0x381db4,_0x3051c1._0x5c3842)]&&clearAllLights(this['_map'],this['lights']);}[_0x306755(0x1587,0x1709)](){if(!this['_map']||!this['_position'])return;const _0x5572bf=this['lights'];clearAllLights(this['_map'],_0x5572bf),_0x5572bf['show']&&_0x5572bf['length']>0x0&&drawAllLights(this['_map'],_0x5572bf);}[_0x2b6441(0x19f2,0x13c5)](_0x634853,_0x29421a){const _0x4947bf={_0x5c394c:0x1898,_0x4cbad7:0x15d3};function _0x3a8d34(_0x38b338,_0x63b905){return _0x2b6441(_0x38b338,_0x63b905-0x225);}return this[_0x3a8d34(_0x4947bf._0x5c394c,_0x4947bf._0x4cbad7)](_0x634853,_0x29421a);}}register$5('pointLight',PointLight,!![]);function drawAllLights(_0x156110,_0x36630c){const _0x47f661={_0x52fa3d:0xa7f,_0x345d6f:0x12c8,_0x30257b:0xbb,_0x426dea:0x6b5},_0x35d3d4={_0x56a1d9:0x5de},_0x591a6b=[],_0x52f72f=_0x36630c['splitArr'](0xe);function _0x16b75f(_0x36dce5,_0x3e22d4){return _0x306755(_0x36dce5,_0x3e22d4- -0x188);}for(let _0xa52463=0x0,_0x12cee4=_0x52f72f['length'];_0xa52463<_0x12cee4;_0xa52463++){const _0x3d67b5=getPostProcessStage$1(_0x52f72f[_0xa52463],_0x156110[_0x16b75f(_0x47f661._0x52fa3d,_0x47f661._0x345d6f)]);_0x3d67b5&&(_0x156110['scene']['postProcessStages']['add'](_0x3d67b5),_0x591a6b[_0x43ce8a(0x987,_0x47f661._0x30257b)](_0x3d67b5));}function _0x43ce8a(_0x98747d,_0x5f59cf){return _0x306755(_0x98747d,_0x5f59cf- -_0x35d3d4._0x56a1d9);}_0x36630c[_0x43ce8a(_0x47f661._0x426dea,0x107a)]=_0x591a6b;}function clearAllLights(_0x56cbd3,_0x15a8f0){const _0x1f2a79={_0x8cec52:0x5ea};function _0x46539b(_0xfb36b6,_0x221b41){return _0x306755(_0x221b41,_0xfb36b6- -_0x1f2a79._0x8cec52);}const _0x3a4f3d=_0x15a8f0['_postProcessStages'];function _0x2aafde(_0x502de7,_0x463bde){return _0x2b6441(_0x502de7,_0x463bde-0x5f1);}if(_0x3a4f3d){for(let _0x3351d5=0x0,_0x5b3bdd=_0x3a4f3d[_0x46539b(0x1011,0x75e)];_0x3351d5<_0x5b3bdd;_0x3351d5++){_0x56cbd3['scene']['postProcessStages']['remove'](_0x3a4f3d[_0x3351d5]);}delete _0x15a8f0[_0x46539b(0x106e,0x11af)];}}function getPostProcessStage$1(_0x469bfd,_0x1bdce6=!![]){const _0x28e21e={_0x5b082b:0xf51,_0x352497:0x155,_0x24c34d:0xb5b,_0x5a8520:0xdbd,_0x265e54:0xc91,_0x8066f8:0x365,_0x47c904:0x72d};let _0xd75a80,_0x62d1d3,_0x24e8e5,_0x3d1706,_0x185dae,_0x991a1d;function _0x21369b(_0x4fbb46,_0x19d2f7){return _0x2b6441(_0x4fbb46,_0x19d2f7-0x47);}let _0x4674c6;function _0x2cf404(_0x2531e6,_0x1c2200){return _0x2b6441(_0x2531e6,_0x1c2200-0x2a9);}let _0x189e61,_0x185cf0,_0x4e71fc,_0x11febe,_0x13ead4;function _0x5fa7d0(){const _0x57e3ed={_0x576631:0x130d,_0x37f105:0x3a0,_0x1e98b3:0x350,_0xbee510:0xd1e,_0x2f1495:0xef5,_0x3492c2:0x103e,_0x2d9db0:0xa10,_0x15527d:0xf7e,_0x1b7910:0x581,_0x50c447:0x98c,_0x135608:0xd92,_0x1c9ad0:0x541,_0x19ece6:0x350};_0x24e8e5=[],_0x3d1706=[],_0x185dae=[],_0x991a1d=[],_0x4674c6=[],_0x189e61=[],_0x185cf0=[],_0x4e71fc=[],_0x11febe=[],_0x13ead4=[],_0x469bfd['forEach'](function(_0x592f68){const _0x546038={_0x280235:0xd6},_0x9ab7a3=_0x592f68[_0x193206(0x10e3,_0x57e3ed._0x576631)];function _0x5b5144(_0x569305,_0x1d22f6){return _0x5bbe(_0x569305-0x308,_0x1d22f6);}if(!_0x9ab7a3||!_0x592f68['position']||_0x592f68['_availability_show']===![])return;_0x13ead4[_0x193206(_0x57e3ed._0x37f105,_0x57e3ed._0x1e98b3)](_0x592f68),_0x3d1706['push'](_0x592f68['intensity']);function _0x193206(_0x3c7e84,_0x1f4f45){return _0x5bbe(_0x1f4f45- -_0x546038._0x280235,_0x3c7e84);}_0x185dae['push'](_0x592f68['color']),_0x24e8e5['push'](_0x9ab7a3[_0x5b5144(_0x57e3ed._0xbee510,0x13ca)]),_0x991a1d['push'](_0x9ab7a3['_shadowMapMatrix']);const _0x38cf53=_0x9ab7a3['_isPointLight']?_0x9ab7a3['_pointBias']:_0x9ab7a3[_0x193206(_0x57e3ed._0x2f1495,_0x57e3ed._0x3492c2)];_0x4674c6['push'](Cesium__namespace[_0x5b5144(0x1478,0x1e57)]['fromElements'](0x1/_0x9ab7a3[_0x5b5144(_0x57e3ed._0x2d9db0,_0x57e3ed._0x15527d)]['x'],0x1/_0x9ab7a3['_textureSize']['y'],_0x38cf53['depthBias'],_0x38cf53['normalShadingSmooth'])),_0x189e61['push'](new Cesium__namespace[(_0x5b5144(_0x57e3ed._0x1b7910,0xebd))](_0x9ab7a3['_darkness'],_0x592f68['_light_type'])),_0x592f68['_light_type']===0x2?(_0x185cf0['push'](_0x9ab7a3['_lightDirectionEC']),_0x4e71fc['push'](Math['cos'](Cesium__namespace['Math']['toRadians'](_0x592f68['outerCone']))),_0x11febe['push'](Math['cos'](Cesium__namespace[_0x193206(0x629,0x1022)]['toRadians'](_0x592f68['innerCone'])))):(_0x185cf0[_0x5b5144(0x72e,_0x57e3ed._0x50c447)](Cesium__namespace['Cartesian3']['ZERO']),_0x4e71fc[_0x193206(_0x57e3ed._0x135608,_0x57e3ed._0x1e98b3)](0x0),_0x11febe[_0x193206(-_0x57e3ed._0x1c9ad0,_0x57e3ed._0x19ece6)](0x0));});}_0x5fa7d0();if(_0x13ead4[_0x2cf404(_0x28e21e._0x5b082b,0x1303)]===0x0)return;if(_0x1bdce6){_0xd75a80={'lightPositionEC':()=>{return _0x5fa7d0(),_0x24e8e5;},'intensity':()=>{return _0x3d1706;},'lightColor':()=>{return _0x185dae;},'shadowMapMatrix':()=>{return _0x991a1d;},'shadowMapTexelSizeDepthBiasAndNormalShadingSmooth':()=>{return _0x4674c6;},'shadowMapDarknessType':()=>{return _0x189e61;},'direction':()=>{return _0x185cf0;},'outerConeCos':()=>{return _0x4e71fc;},'innerConeCos':()=>{return _0x11febe;}};const {uniformShader:_0x5d21c0,shadowVisibilityShader:_0xa8d6ec}=getLightShadowMaps(_0x13ead4,_0xd75a80);_0x62d1d3=MultipleLightShader[_0x21369b(_0x28e21e._0x352497,_0x28e21e._0x24c34d)]('Mars3D_LightNumValue',_0x13ead4['length']),_0x62d1d3=_0x62d1d3[_0x21369b(0x643,0xb5b)]('Mars3D_LightShadowMapsShader',_0x5d21c0),_0x62d1d3=_0x62d1d3['replace']('Mars3D_ShadowVisibilityShader',_0xa8d6ec);}else _0xd75a80={'lightPositionEC':()=>{return _0x5fa7d0(),_0x24e8e5;},'intensity':()=>{return _0x3d1706;},'lightColor':()=>{return _0x185dae;},'shadowMapDarknessType':()=>{return _0x189e61;},'direction':()=>{return _0x185cf0;},'outerConeCos':()=>{return _0x4e71fc;},'innerConeCos':()=>{return _0x11febe;}},_0x62d1d3=MultipleLightNoShadowShader[_0x2cf404(0x16e6,_0x28e21e._0x5a8520)](_0x21369b(_0x28e21e._0x265e54,0x1465),_0x13ead4['length']);const _0x170de0=new Cesium__namespace['PostProcessStage']({'sampleMode':Cesium__namespace[_0x21369b(_0x28e21e._0x8066f8,_0x28e21e._0x47c904)]['NEAREST'],'fragmentShader':_0x62d1d3,'uniforms':_0xd75a80});return _0x170de0;}function getLightShadowMaps(_0x1b16e0,_0x44c303){const _0x3afa5a={_0x5200fe:0x543,_0x3a16e1:0x585},_0x5e3889={_0x26a186:0x928,_0x36c1f2:0x645,_0x332418:0xce9};let _0xada1ca='',_0x1f2119='';_0x1b16e0['forEach']((_0x3cd4f2,_0x4f7487)=>{const _0x511488={_0x5d2c57:0x1388},_0x47ea04={_0x5d7265:0x2d1},_0x1929e2={_0x2f399a:0x37c};function _0x5277a1(_0x258505,_0x4e4b4f){return _0x5bbe(_0x258505-_0x1929e2._0x2f399a,_0x4e4b4f);}function _0x4670a0(_0x169e82,_0x196dcd){return _0x5bbe(_0x169e82- -_0x47ea04._0x5d7265,_0x196dcd);}switch(_0x3cd4f2[_0x4670a0(0x2cc,_0x5e3889._0x26a186)]){case 0x1:_0xada1ca+='uniform\x20samplerCube\x20lightShadowMapCube'+_0x4f7487+';\x0a',_0x1f2119+='totalColor\x20+=\x20getPointLightTotalColorMars3D(normalEC,\x20positionEC,\x20'+_0x4f7487+',\x20lightShadowMapCube'+_0x4f7487+_0x5277a1(_0x5e3889._0x36c1f2,0xdf),_0x44c303[_0x5277a1(0xb17,0x754)+_0x4f7487]=()=>{function _0x106317(_0x3be417,_0x276eb8){return _0x5277a1(_0x276eb8- -0xdc,_0x3be417);}return _0x3cd4f2['shadowMap'][_0x106317(0x235b,0x1a0c)];};break;case 0x2:_0xada1ca+='uniform\x20sampler2D\x20lightShadowMap2D'+_0x4f7487+';\x0a',_0x1f2119+='totalColor\x20+=\x20getSpotLightTotalColorMars3D(normalEC,\x20positionEC,\x20'+_0x4f7487+_0x5277a1(0x993,_0x5e3889._0x332418)+_0x4f7487+_0x5277a1(0x645,-0x69),_0x44c303['lightShadowMap2D'+_0x4f7487]=()=>{const _0x46a17a={_0x10fa15:0x16};function _0x5d834f(_0x1288e0,_0x164547){return _0x5277a1(_0x1288e0-_0x46a17a._0x10fa15,_0x164547);}return _0x3cd4f2['shadowMap'][_0x5d834f(0x1afe,_0x511488._0x5d2c57)];};break;}});const _0x267149={};_0x267149['uniformShader']=_0xada1ca;function _0x4ab93a(_0x4397cf,_0x4ffebc){return _0x306755(_0x4397cf,_0x4ffebc-0xef);}return _0x267149[_0x4ab93a(-_0x3afa5a._0x5200fe,_0x3afa5a._0x3a16e1)]=_0x1f2119,_0x267149;}const _0x4b219f={};_0x4b219f[_0x306755(0x13cb,0xeaf)]=Cesium__namespace[_0x306755(0x14cc,0xf34)][_0x2b6441(0xf17,0x4bc)],_0x4b219f['intensity']=0xa,_0x4b219f[_0x306755(-0x1ac,0x6c6)]=0x3e8,_0x4b219f['innerCone']=0xa,_0x4b219f[_0x306755(0x1514,0x1483)]=0x2d;const DEF_STYLE$3=_0x4b219f;class SpotLight extends PointLight{constructor(_0x55b64={},_0x21b643=!![]){const _0x36fcf1={_0x363df2:0x37a,_0x3553c1:0xa5};_0x21b643&&(_0x55b64['style']={...DEF_STYLE$3,..._0x55b64[_0x20b7d6(_0x36fcf1._0x363df2,-_0x36fcf1._0x3553c1)]||{}});super(_0x55b64);function _0x20b7d6(_0x3a7d51,_0x29ab74){return _0x2b6441(_0x29ab74,_0x3a7d51-0xc5);}this['_light_type']=0x2;}get['outerCone'](){return this['style']['outerCone'];}set['outerCone'](_0x4bdb73){this['style']['outerCone']=_0x4bdb73,this['_camera']['frustum']['fov']=Cesium__namespace['Math']['toRadians'](this['style']['outerCone']*0x2),this['_camera']['frustum']['far']=this['range'];}get['innerCone'](){return this['style']['innerCone'];}set[_0x306755(0x1198,0x17a1)](_0xcff6ee){this['style']['innerCone']=_0xcff6ee;}[_0x306755(0xc70,0x96b)](){const _0x28ca5b={_0xa6ad0f:0xefd,_0x4f5bbb:0x982,_0x3fed1d:0xd28,_0x1e8ff0:0xaf7,_0x376e50:0xc5,_0x1ec2b2:0xa26,_0x2a3c66:0xa2c,_0x56c188:0x5ab,_0xe09a30:0x8ef};let _0x4802d9=this[_0x80b3e1(_0x28ca5b._0xa6ad0f,_0x28ca5b._0x4f5bbb)];function _0x3caedb(_0x5d2da8,_0x81529c){return _0x306755(_0x5d2da8,_0x81529c- -0x441);}function _0x80b3e1(_0x1ffb05,_0x4417cf){return _0x2b6441(_0x4417cf,_0x1ffb05-0x5db);}if(this['_camera']&&_0x4802d9){const _0x15a13d=this['getAddHeight']();Cesium__namespace['defined'](_0x15a13d)&&(_0x4802d9=addPositionsHeight(_0x4802d9,_0x15a13d));this[_0x3caedb(0x9a0,_0x28ca5b._0x3fed1d)]['position']=_0x4802d9;const _0x3f4d99=Cesium__namespace[_0x3caedb(0x1288,0x1057)][_0x80b3e1(_0x28ca5b._0x1e8ff0,_0x28ca5b._0x376e50)](this['heading']+0x5a,this['pitch'],this[_0x80b3e1(_0x28ca5b._0x1ec2b2,0xd54)]),_0x1c4a0e={};_0x1c4a0e[_0x80b3e1(0x120b,_0x28ca5b._0x2a3c66)]=_0x3f4d99['heading'],_0x1c4a0e['pitch']=_0x3f4d99['pitch'],_0x1c4a0e['roll']=_0x3f4d99[_0x3caedb(-0x1fc,_0x28ca5b._0x56c188)];const _0x5ca0d3={};_0x5ca0d3[_0x3caedb(0x1272,0x1090)]=_0x4802d9,_0x5ca0d3[_0x3caedb(_0x28ca5b._0xe09a30,0xc0a)]=_0x1c4a0e,this['_camera']['setView'](_0x5ca0d3);}}[_0x306755(0x1932,0x14f6)](){const _0x9cce38={_0x5b9e5f:0x694,_0x12fc30:0x517,_0x2febdc:0xd5b,_0x5e9578:0xc1b,_0x102870:0xb74,_0x39b392:0x7b6,_0x19d681:0xda7,_0x2a4c33:0x161a,_0x9ff082:0xa9b,_0x5833cf:0x143a,_0x35777d:0x308,_0xc12f65:0x222,_0x3dbe86:0x941,_0x1181fc:0x9c5,_0x3b9134:0x5e0,_0x48e8ba:0x57a,_0x57f2c2:0x97c,_0x2af763:0x70f,_0x237bf4:0xeb,_0x3d5127:0xa70,_0x159f18:0x14bf};this['_camera']=new Cesium__namespace[(_0x4c2e13(_0x9cce38._0x5b9e5f,0x112))](this['_map'][_0x20ccf5(_0x9cce38._0x12fc30,_0x9cce38._0x2febdc)]),this[_0x20ccf5(_0x9cce38._0x5e9578,_0x9cce38._0x102870)]['frustum']['aspectRatio']=0x1,this[_0x4c2e13(0x1179,0xd80)]['frustum']['fov']=Cesium__namespace['Math'][_0x20ccf5(0x67e,_0x9cce38._0x39b392)](this['style']['outerCone']*0x2),this['_camera']['frustum'][_0x20ccf5(_0x9cce38._0x19d681,_0x9cce38._0x2a4c33)]=0.1,this[_0x4c2e13(0x7c4,0xd80)]['frustum'][_0x20ccf5(_0x9cce38._0x9ff082,_0x9cce38._0x5833cf)]=this[_0x20ccf5(_0x9cce38._0x35777d,-_0x9cce38._0xc12f65)]['radius'];const _0x54563c={};_0x54563c[_0x20ccf5(0x956,_0x9cce38._0x3dbe86)]=this[_0x4c2e13(0x17d4,0xd80)],_0x54563c[_0x4c2e13(0x119f,_0x9cce38._0x1181fc)]=![],_0x54563c[_0x4c2e13(0x1364,0xfa2)]=0x1;function _0x4c2e13(_0x8d2315,_0x231b15){return _0x306755(_0x8d2315,_0x231b15- -0x3e9);}_0x54563c['isPointLight']=![],_0x54563c['isSpotLight']=!![];function _0x20ccf5(_0x184046,_0x1677f3){return _0x306755(_0x1677f3,_0x184046- -0x54e);}return _0x54563c[_0x20ccf5(0x2ed,-_0x9cce38._0x3b9134)]=![],_0x54563c['context']=this['_map']['scene']['context'],_0x54563c[_0x20ccf5(_0x9cce38._0x48e8ba,0x9af)]=this['style']['radius'],_0x54563c[_0x4c2e13(0x131c,_0x9cce38._0x57f2c2)]=![],_0x54563c['depthBiasStep']=this[_0x20ccf5(_0x9cce38._0x2af763,_0x9cce38._0x237bf4)]['depthBiasStep']??0x1,new Cesium__namespace[(_0x4c2e13(_0x9cce38._0x3d5127,_0x9cce38._0x159f18))](_0x54563c);}}register$5(_0x306755(0xcbb,0x10c6),SpotLight,!![]);var VolumeCloudFS=_0x306755(0x1223,0xc8a),VolumeCloudVS='in\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec3\x20vOrigin;\x0aout\x20vec3\x20vDirection;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vOrigin\x20=\x20czm_encodedCameraPositionMCHigh\x20+\x20czm_encodedCameraPositionMCLow;\x0a\x20\x20vDirection\x20=\x20position\x20-\x20vOrigin;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20vec4(position,\x201.0);\x0a}\x0a';class VolumeCloud extends BasePrimitive{constructor(_0x30fc91={}){const _0x5ee523={_0x1c0274:0x1f49,_0x43adb9:0x1dba,_0x59dcd9:0x1582,_0x1ad934:0xa26,_0x11268d:0xb9f,_0x3083a3:0xc28,_0x260260:0x14db},_0x16e9c6={_0x2ae30c:0x237};super(_0x30fc91),this[_0x5af84f(0x16fb,_0x5ee523._0x1c0274)]=this['options'][_0x10b209(_0x5ee523._0x43adb9,_0x5ee523._0x59dcd9)]??0x41/0xff,this['detail']=this[_0x10b209(0x984,_0x5ee523._0x1ad934)]['detail']??0x3e8,this['xCut']=this[_0x5af84f(_0x5ee523._0x11268d,0x598)][_0x10b209(_0x5ee523._0x3083a3,0xd46)]??-0.5,this[_0x5af84f(_0x5ee523._0x260260,0xe40)]=this['options']['yCut']??-0.5;function _0x5af84f(_0x374c9d,_0x524235){return _0x306755(_0x524235,_0x374c9d- -0xbe);}function _0x10b209(_0x30f8fd,_0xeec9db){return _0x306755(_0x30f8fd,_0xeec9db- -_0x16e9c6._0x2ae30c);}this['zCut']=this['options']['zCut']??0.5;}get['czmObject'](){return this['_shadowMap'];}['updateData'](_0xb5c7b1){const _0x40ab4d={_0x1f93bb:0x17ad,_0x272aca:0x1abc,_0x4a7020:0xc4c,_0x2f5de8:0x1478,_0x55f1e3:0xd6f,_0x1acfbc:0xe2d,_0x52060c:0xa9a,_0x2db611:0x7a1,_0x5c62a8:0x13bc,_0x598ac9:0xa1f};this[_0x349c9e(_0x40ab4d._0x1f93bb,_0x40ab4d._0x272aca)]&&(this['texture3D'][_0x5d9af1(_0x40ab4d._0x4a7020,0x5d7)](),delete this[_0x5d9af1(_0x40ab4d._0x2f5de8,_0x40ab4d._0x55f1e3)]);for(let _0x836605=0x0,_0x5ac873=_0xb5c7b1['values'][_0x349c9e(0x15ed,_0x40ab4d._0x1acfbc)];_0x836605<_0x5ac873;_0x836605++){_0xb5c7b1['values'][_0x836605]=Math[_0x349c9e(0x1453,0xefc)](_0xb5c7b1['values'][_0x836605]);}function _0x349c9e(_0x5d1b8f,_0x4889eb){return _0x2b6441(_0x4889eb,_0x5d1b8f-0x593);}function _0x5d9af1(_0xfc8f42,_0x4b0ffa){return _0x306755(_0x4b0ffa,_0xfc8f42- -0x343);}this['texture3D']=new Texture3({'context':this['_map'][_0x349c9e(0xa57,_0x40ab4d._0x52060c)]['context'],'source':{'width':_0xb5c7b1['rows'],'height':_0xb5c7b1[_0x5d9af1(_0x40ab4d._0x2db611,0x51d)],'depth':_0xb5c7b1[_0x349c9e(0x1380,_0x40ab4d._0x5c62a8)],'arrayBufferView':new Uint8Array(_0xb5c7b1['values'])},'pixelFormat':Cesium__namespace[_0x349c9e(0x10f9,0xe23)][_0x349c9e(_0x40ab4d._0x598ac9,0xb53)],'pixelDatatype':Cesium__namespace['PixelDatatype']['UNSIGNED_BYTE']});}[_0x2b6441(0x95b,0xd6b)](){const _0x153e81={_0x2c1837:0x156e,_0x1b8c46:0x1306,_0x5d6696:0x3da,_0x551e7d:0xe09,_0xef57fb:0xf5a,_0x54b7a9:0xbd0,_0x44e764:0xde7,_0x3cd1ad:0xcb7,_0x2fe1df:0x8cb,_0x2241c8:0x100f,_0x5e3da7:0x94b,_0x37eaa4:0x358,_0x5048e1:0xa91,_0x2da5e2:0xaae,_0x1f5b62:0xe2d,_0x9bcdda:0xaa5,_0x5d81cd:0x1947,_0x1d613a:0x2cd,_0x868195:0xe2d,_0x36a9a6:0x1401,_0x3cd25a:0x9cd,_0x63b8b1:0x131c,_0x5ab4ab:0xb66,_0x40ba4c:0xc5d,_0x3957a2:0xf9b,_0x3c964a:0x1836,_0x5676bc:0xdeb,_0x5bdb67:0x4d1,_0x84736c:0x971,_0x4ed371:0x75a,_0x3da389:0x1288,_0x549e12:0x988,_0x574f7d:0x485,_0x7fa7e3:0x7a7,_0x55f0d5:0xaf5},_0x579e62={_0x2c6cee:0x1af},_0x10916e=this['options'][_0x4170d3(0x1243,_0x153e81._0x2c1837)];this[_0x364d3c(0x1387,_0x153e81._0x1b8c46)]=new Texture3({'context':this['_map']['scene']['context'],'source':{'width':_0x10916e[_0x4170d3(_0x153e81._0x5d6696,_0x153e81._0x551e7d)],'height':_0x10916e['cols'],'depth':_0x10916e[_0x364d3c(_0x153e81._0xef57fb,_0x153e81._0x54b7a9)],'arrayBufferView':new Uint8Array(_0x10916e['values'])},'pixelFormat':Cesium__namespace['PixelFormat']['ALPHA'],'pixelDatatype':Cesium__namespace['PixelDatatype']['UNSIGNED_BYTE']});const _0x1b1b22=this['options'][_0x4170d3(0x9d6,0x102c)]||[_0x364d3c(0x106d,0xa7a),'rgb(170,36,250)','rgba(212,142,254,0.13)',_0x364d3c(0xe34,_0x153e81._0x44e764),_0x364d3c(_0x153e81._0x3cd1ad,0x96c),_0x364d3c(_0x153e81._0x2fe1df,0xa37),_0x4170d3(_0x153e81._0x2241c8,0x13fd),'rgba(200,200,2,0.08)','rgba(252,244,100,0.07)','rgba(16,146,26,0.06)',_0x4170d3(0xde4,_0x153e81._0x5e3da7),'rgba(166,252,168,0.04)',_0x364d3c(_0x153e81._0x37eaa4,0x5ad),'rgba(122,114,238,0.02)','rgba(192,192,254,0.01)'],_0x433863=[];_0x1b1b22[_0x4170d3(_0x153e81._0x5048e1,0x13a0)](_0x156dad=>{function _0xb67bee(_0x2651b7,_0x11d3f1){return _0x4170d3(_0x11d3f1-0x5c,_0x2651b7);}_0x433863[_0xb67bee(-0x98,0x546)](getCesiumColor(_0x156dad));}),this['colors']=_0x433863,this['steps']=this[_0x4170d3(_0x153e81._0x2da5e2,0x59b)]['steps'];if(!this[_0x364d3c(_0x153e81._0x1f5b62,_0x153e81._0x9bcdda)]||this[_0x4170d3(0x10b2,_0x153e81._0x5d81cd)]['length']===0x0){let _0x501a08=Number['MAX_VALUE'],_0x1377d9=Number[_0x4170d3(_0x153e81._0x1d613a,0xc0f)];_0x10916e['values'][_0x4170d3(0xa91,0x1310)](_0xaae5fd=>{_0x501a08=Math['min'](_0xaae5fd,_0x501a08),_0x1377d9=Math['max'](_0xaae5fd,_0x1377d9);});const _0x4b852b=_0x1b1b22['length']-0x1,_0x1a0c49=(_0x1377d9-_0x501a08)/_0x4b852b;this[_0x4170d3(0x10b2,0x782)]=[];for(let _0x4b7b3f=0x0;_0x4b7b3f<_0x4b852b;_0x4b7b3f++){this['steps']['push'](_0x501a08+_0x4b7b3f*_0x1a0c49);}this[_0x364d3c(_0x153e81._0x868195,_0x153e81._0x36a9a6)][0x0]=0x0;}const _0x2fde80=Cesium__namespace['Cartographic']['fromDegrees'](_0x10916e[_0x364d3c(0x849,-0x16e)],_0x10916e['ymin'],_0x10916e['zmin']);function _0x364d3c(_0x19200e,_0x3a04e2){return _0x306755(_0x3a04e2,_0x19200e- -0x434);}const _0x44fa46=Cesium__namespace['Cartographic']['fromDegrees'](_0x10916e['xmax'],_0x10916e[_0x4170d3(_0x153e81._0x3cd25a,_0x153e81._0x63b8b1)],_0x10916e['zmax']),_0x556018=Cesium__namespace[_0x364d3c(_0x153e81._0x5ab4ab,_0x153e81._0x40ba4c)]['fromRadians'](_0x2fde80[_0x4170d3(_0x153e81._0x3957a2,0x17c5)],_0x2fde80[_0x4170d3(0xe24,_0x153e81._0x3c964a)],_0x44fa46[_0x4170d3(0xf9b,0x1807)],_0x44fa46['latitude']);this['_rectangle']=_0x556018;const _0x40abd7=Cesium__namespace[_0x4170d3(_0x153e81._0x5676bc,_0x153e81._0x5bdb67)]['center'](_0x556018),_0x1cc9f7=Cesium__namespace[_0x364d3c(0x4d5,-0x94)][_0x364d3c(0x5b6,0x128)](Cesium__namespace[_0x364d3c(0xb66,0xf90)][_0x364d3c(_0x153e81._0x84736c,0x1215)](_0x556018)),_0x582b77=Cesium__namespace[_0x4170d3(_0x153e81._0x4ed371,0xaf)]['toCartesian'](Cesium__namespace[_0x4170d3(0xdeb,_0x153e81._0x3da389)][_0x4170d3(0x6b7,-0x84)](_0x556018)),_0xa34aad=Cesium__namespace[_0x364d3c(0x4d5,_0x153e81._0x549e12)][_0x364d3c(0x5b6,_0x153e81._0x574f7d)](Cesium__namespace['Rectangle']['southeast'](_0x556018)),_0xb30a4d=Cesium__namespace['Cartesian3']['distance'](_0x1cc9f7,_0x582b77),_0x238535=Cesium__namespace['Cartesian3'][_0x4170d3(0xd6e,0x1413)](_0x1cc9f7,_0xa34aad),_0x1eca88=(_0x44fa46['height']+_0x2fde80['height'])/0x2,_0x110506=Cesium__namespace[_0x364d3c(0x5ed,0xcf4)][_0x364d3c(_0x153e81._0x7fa7e3,0xcfd)](_0x40abd7['longitude'],_0x40abd7['latitude'],_0x1eca88);let _0x5d799a=_0xb30a4d>_0x238535?_0xb30a4d:_0x238535;function _0x4170d3(_0x3a7c5c,_0x340b44){return _0x306755(_0x340b44,_0x3a7c5c- -_0x579e62._0x2c6cee);}_0x5d799a=_0x5d799a>_0x1eca88?_0x5d799a:_0x1eca88;const _0x1e1fc8=Cesium__namespace['Transforms'][_0x364d3c(0x1325,0xabb)](_0x110506),_0x2d863f=Cesium__namespace['Matrix4']['fromScale'](new Cesium__namespace['Cartesian3'](_0xb30a4d,_0x238535,_0x1eca88*0x2));this['boundingSphere']=new Cesium__namespace['BoundingSphere'](_0x110506,_0x5d799a),this['_modelMatrix']=Cesium__namespace['Matrix4'][_0x364d3c(_0x153e81._0x55f0d5,0x10e9)](_0x1e1fc8,_0x2d863f,_0x1e1fc8);}[_0x2b6441(-0x367,0x3fd)](_0x5cba2b){const _0x41467b={_0x3ca602:0x130e,_0x14748a:0xa5d},_0x12d37f={_0x5e598b:0x2d1};function _0x2f3dde(_0x514541,_0x33f0cb){return _0x306755(_0x514541,_0x33f0cb- -_0x12d37f._0x5e598b);}this['primitiveCollection'][_0x2f3dde(_0x41467b._0x3ca602,_0x41467b._0x14748a)](this);}['_removedHook'](){const _0x438fd9={_0x566988:0x82d,_0x4182ff:0x2cc,_0x503c29:0xfb7,_0x4531c0:0x7c4,_0x20ed8d:0xecd,_0x4f0d3c:0x129f,_0x4efa13:0x150d,_0x140032:0x931,_0x335fff:0x57},_0x36fecb={_0x15c61d:0x85},_0x26fa86={_0x478ba7:0x585};function _0x5a7b76(_0x2fd17d,_0x420371){return _0x306755(_0x2fd17d,_0x420371- -_0x26fa86._0x478ba7);}function _0x1ed5c5(_0x4889db,_0x51d297){return _0x2b6441(_0x51d297,_0x4889db-_0x36fecb._0x15c61d);}this[_0x1ed5c5(_0x438fd9._0x566988,0x288)][_0x1ed5c5(_0x438fd9._0x4182ff,-0xa4)](this)&&(this['_noDestroy']=!![],this[_0x5a7b76(_0x438fd9._0x503c29,_0x438fd9._0x4531c0)]['remove'](this),this[_0x5a7b76(_0x438fd9._0x20ed8d,0xb50)]=![]),this[_0x1ed5c5(_0x438fd9._0x4f0d3c,_0x438fd9._0x4efa13)]&&(this['texture3D']['destroy'](),delete this[_0x5a7b76(_0x438fd9._0x140032,0x1236)]),this[_0x5a7b76(0x676,-_0x438fd9._0x335fff)]();}['update'](_0x422a1b){const _0x445bd1={_0x55cb35:0x1db,_0x467be2:0x2ae};function _0x1954c6(_0x46f1ba,_0x374aec){return _0x306755(_0x46f1ba,_0x374aec- -0x1e7);}function _0x138c23(_0x4bd5de,_0x566308){return _0x2b6441(_0x566308,_0x4bd5de-0x133);}if(!this[_0x1954c6(_0x445bd1._0x55cb35,_0x445bd1._0x467be2)](_0x422a1b[_0x138c23(0xdb7,0xae8)]))return;!this['_drawCommands']&&this['createDrawCommand'](_0x422a1b['context']),_0x422a1b['commandList'][_0x138c23(0x22b,0x427)](this['_drawCommands']);}[_0x306755(0x295,0x505)](_0x2a4026){const _0x27c551={_0x1568a7:0x151,_0x37251e:0x1ad3,_0x4ed42e:0x3d0,_0x5d533e:0x897,_0x2bf78d:0x1840,_0x47db06:0x1723,_0x5ee346:0x15a3,_0x431f3f:0xa1f},_0x44117a={_0x3eb0ec:0x4ca},_0x1edb05={_0x138559:0xd4e,_0x4e1b8d:0x79a},_0x33a93c={_0x63b530:0xce};function _0x1ebdbd(_0x53d2bb,_0x147542){return _0x306755(_0x53d2bb,_0x147542-_0x33a93c._0x63b530);}this[_0x1ebdbd(_0x27c551._0x1568a7,0x5fc)]();const _0x24412b=Cesium__namespace['BoxGeometry']['createGeometry'](Cesium__namespace['BoxGeometry']['fromDimensions']({'vertexFormat':Cesium__namespace[_0x1ebdbd(0x1782,_0x27c551._0x37251e)]['POSITION_AND_ST'],'dimensions':new Cesium__namespace['Cartesian3'](0x1,0x1,0x1)})),_0x466c86={};_0x466c86['enabled']=!![];const _0x1e367c={};_0x1e367c['enabled']=![];const _0x53d286={};_0x53d286[_0x1ebdbd(0x1061,0x116b)]=_0x466c86,_0x53d286[_0xd33351(-0x695,_0x27c551._0x4ed42e)]=_0x1e367c;const _0x185366=Cesium__namespace['RenderState']['fromCache'](_0x53d286);function _0xd33351(_0x5d759a,_0x51393d){return _0x2b6441(_0x5d759a,_0x51393d-0x416);}const _0x549b5b=Cesium__namespace['GeometryPipeline'][_0xd33351(0xcbd,_0x27c551._0x5d533e)](_0x24412b),_0x3207ee={};_0x3207ee['context']=_0x2a4026,_0x3207ee['geometry']=_0x24412b,_0x3207ee['attributes']=_0x549b5b;const _0xded29c=Cesium__namespace[_0xd33351(0xd6f,0x15b2)][_0x1ebdbd(0x1965,_0x27c551._0x2bf78d)](_0x3207ee),_0x550466=Cesium__namespace['ShaderProgram'][_0x1ebdbd(0x2026,_0x27c551._0x47db06)]({'boundingSphere':_0x24412b['boundingSphere'],'context':_0x2a4026,'vertexShaderSource':VolumeCloudVS,'fragmentShaderSource':VolumeCloudFS['replaceAll'](_0xd33351(_0x27c551._0x5ee346,0xdc4),this['colors']['length']),'attributeLocations':_0x549b5b});this['_drawCommands']=new Cesium__namespace['DrawCommand']({'boundingVolume':this[_0x1ebdbd(0xf65,_0x27c551._0x431f3f)],'modelMatrix':this['_modelMatrix'],'pass':Cesium__namespace[_0x1ebdbd(0x10e3,0x1462)][_0xd33351(0xcb9,0x1708)],'shaderProgram':_0x550466,'renderState':_0x185366,'vertexArray':_0xded29c,'uniformMap':{'map':()=>{return this['texture3D'];},'threshold':()=>{return this['threshold'];},'detail':()=>{return this['detail'];},'xCut':()=>{function _0x4a3214(_0x494418,_0x46f83b){return _0x1ebdbd(_0x46f83b,_0x494418- -0x2fd);}return this[_0x4a3214(_0x1edb05._0x138559,_0x1edb05._0x4e1b8d)];},'yCut':()=>{return this['yCut'];},'zCut':()=>{function _0x2940a8(_0x439b06,_0x20ee72){return _0xd33351(_0x20ee72,_0x439b06- -_0x44117a._0x3eb0ec);}return this[_0x2940a8(0x1013,0xf16)];},'colors':()=>{return this['colors'];},'colorsKey':()=>{return this['steps'];}}});}[_0x2b6441(-0x67,-0x73)](){const _0x355063={_0x22052c:0x404},_0x116898={_0x5a913f:0xab},_0x3bf33d={_0x4d107a:0x290};function _0x17d077(_0x40a0fa,_0x26d62f){return _0x306755(_0x26d62f,_0x40a0fa- -_0x3bf33d._0x4d107a);}function _0x3d21d4(_0x517c2c,_0x501ff0){return _0x306755(_0x501ff0,_0x517c2c- -_0x116898._0x5a913f);}this['_drawCommands']&&(this['_drawCommands']['vertexArray']&&this[_0x17d077(0x1428,0x1195)]['vertexArray'][_0x17d077(0xcff,_0x355063._0x22052c)](),this['_drawCommands']['shaderProgram']&&this['_drawCommands']['shaderProgram']['destroy'](),delete this[_0x3d21d4(0x160d,0x16c2)]);}}register$5('volumeCloud',VolumeCloud,!![]);var MultipleVisibilityShader='\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0a\x0auniform\x20float\x20mars3d_opacity;\x0auniform\x20vec3\x20mars3d_visibleAreaColor;\x0auniform\x20vec3\x20mars3d_hiddenAreaColor;\x0a\x0a\x0aconst\x20int\x20LightNum\x20=\x20LightNumVlaue;\x0auniform\x20vec4\x20lightPositionEC[LightNum];\x0auniform\x20mat4\x20shadowMapMatrix[LightNum];\x0auniform\x20vec4\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[LightNum];\x0auniform\x20vec2\x20shadowMapDarknessType[LightNum];\x0auniform\x20float\x20mars3d_distance[LightNum];\x0a\x0a\x0aLightShadowMapsShader\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec3\x20getEyeCoordinate3FromWindowCoordinate(vec2\x20fragCoord,\x20float\x20logDepthOrDepth)\x20{\x0a\x20\x20vec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(fragCoord,\x20logDepthOrDepth);\x0a\x20\x20return\x20eyeCoordinate.xyz\x20/\x20eyeCoordinate.w;\x0a}\x0a\x0avec3\x20vectorFromOffset(vec4\x20eyeCoordinate,\x20vec2\x20positiveOffset)\x20{\x0a\x20\x20vec2\x20glFragCoordXY\x20=\x20v_textureCoordinates.xy\x20*\x20czm_viewport.zw;\x0a\x20\x20float\x20upOrRightLogDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20(glFragCoordXY\x20+\x20positiveOffset)\x20/\x20czm_viewport.zw));\x0a\x20\x20float\x20downOrLeftLogDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20(glFragCoordXY\x20-\x20positiveOffset)\x20/\x20czm_viewport.zw));\x0a\x0a\x20\x20bvec2\x20upOrRightInBounds\x20=\x20lessThan(glFragCoordXY\x20+\x20positiveOffset,\x20czm_viewport.zw);\x0a\x20\x20float\x20useUpOrRight\x20=\x20float(upOrRightLogDepth\x20>\x200.0\x20&&\x20upOrRightInBounds.x\x20&&\x20upOrRightInBounds.y);\x0a\x20\x20float\x20useDownOrLeft\x20=\x20float(useUpOrRight\x20==\x200.0);\x0a\x20\x20vec3\x20upOrRightEC\x20=\x20getEyeCoordinate3FromWindowCoordinate(glFragCoordXY\x20+\x20positiveOffset,\x20upOrRightLogDepth);\x0a\x20\x20vec3\x20downOrLeftEC\x20=\x20getEyeCoordinate3FromWindowCoordinate(glFragCoordXY\x20-\x20positiveOffset,\x20downOrLeftLogDepth);\x0a\x20\x20return\x20(upOrRightEC\x20-\x20(eyeCoordinate.xyz\x20/\x20eyeCoordinate.w))\x20*\x20useUpOrRight\x20+\x20((eyeCoordinate.xyz\x20/\x20eyeCoordinate.w)\x20-\x20downOrLeftEC)\x20*\x20useDownOrLeft;\x0a}\x0a\x0astruct\x20mars3d_shadowParameters\x0a{\x0a\x20\x20\x20\x20vec3\x20texCoordsCube;\x0a\x20\x20\x20\x20vec2\x20texCoords;\x0a\x20\x20\x20\x20float\x20depthBias;\x0a\x20\x20\x20\x20float\x20depth;\x0a\x20\x20\x20\x20float\x20nDotL;\x0a\x20\x20\x20\x20vec2\x20texelStepSize;\x0a\x20\x20\x20\x20float\x20normalShadingSmooth;\x0a\x20\x20\x20\x20float\x20darkness;\x0a};\x0a\x0afloat\x20shadowVisibilityCube(samplerCube\x20shadowMap,\x20mars3d_shadowParameters\x20shadowParameters){\x0a\x20\x20\x20\x20float\x20depthBias\x20=\x20shadowParameters.depthBias;\x0a\x20\x20\x20\x20float\x20depth\x20=\x20shadowParameters.depth;\x0a\x20\x20\x20\x20float\x20nDotL\x20=\x20shadowParameters.nDotL;\x0a\x20\x20\x20\x20float\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0a\x20\x20\x20\x20float\x20darkness\x20=\x20shadowParameters.darkness;\x0a\x20\x20\x20\x20vec3\x20uvw\x20=\x20shadowParameters.texCoordsCube;\x0a\x0a\x20\x20\x20\x20depth\x20-=\x20depthBias;\x0a\x20\x20\x20\x20return\x20czm_shadowDepthCompare(shadowMap,\x20uvw,\x20depth);\x0a}\x0afloat\x20shadowVisibility2D(sampler2D\x20shadowMap,\x20mars3d_shadowParameters\x20shadowParameters)\x0a{\x0a\x20\x20\x20\x20float\x20depthBias\x20=\x20shadowParameters.depthBias;\x0a\x20\x20\x20\x20float\x20depth\x20=\x20shadowParameters.depth;\x0a\x20\x20\x20\x20float\x20nDotL\x20=\x20shadowParameters.nDotL;\x0a\x20\x20\x20\x20float\x20normalShadingSmooth\x20=\x20shadowParameters.normalShadingSmooth;\x0a\x20\x20\x20\x20float\x20darkness\x20=\x20shadowParameters.darkness;\x0a\x20\x20\x20\x20vec2\x20uv\x20=\x20shadowParameters.texCoords;\x0a\x0a\x20\x20\x20\x20depth\x20-=\x20depthBias;\x0a\x20\x20\x20\x20return\x20czm_shadowDepthCompare(shadowMap,\x20uv,\x20depth);\x0a}\x0a\x0aint\x20getPointVisibility(vec3\x20normalEC,\x20vec3\x20positionEC,\x20int\x20i,\x20samplerCube\x20lightShadowMapCube){\x0a\x20\x20vec4\x20lightPEC\x20=\x20lightPositionEC[i];\x0a\x20\x20vec2\x20shadowMapDT\x20=\x20shadowMapDarknessType[i];\x0a\x20\x20vec3\x20pointToLightEC\x20=\x20positionEC\x20-\x20lightPEC.xyz;\x0a\x20\x20float\x20pointToLightECLength\x20=\x20length(pointToLightEC);\x0a\x20\x20vec3\x20l\x20=\x20normalize(pointToLightEC);\x0a\x20\x20float\x20NdotL\x20=\x20clamp(dot(-normalEC,\x20l),\x200.0,\x201.0);\x0a\x0a\x20\x20float\x20visibility\x20=\x200.0;\x0a\x20\x20float\x20radius\x20=\x20lightPEC.w;\x0a\x20\x20float\x20type\x20=\x20shadowMapDT.y;\x0a\x0a\x20\x20if(pointToLightECLength\x20<=\x20radius){\x0a\x20\x20\x20\x20vec4\x20shadowMapTSDBANSS\x20=\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[i];\x0a\x0a\x20\x20\x20\x20mars3d_shadowParameters\x20shadowParameters;\x0a\x20\x20\x20\x20shadowParameters.texelStepSize\x20=\x20shadowMapTSDBANSS.xy;\x0a\x20\x20\x20\x20shadowParameters.depthBias\x20=\x20shadowMapTSDBANSS.z;\x0a\x20\x20\x20\x20shadowParameters.normalShadingSmooth\x20=\x20shadowMapTSDBANSS.w;\x0a\x20\x20\x20\x20shadowParameters.darkness\x20=\x20shadowMapDT.x;\x0a\x20\x20\x20\x20shadowParameters.depth\x20=\x20pointToLightECLength\x20/\x20radius;\x0a\x20\x20\x20\x20shadowParameters.nDotL\x20=\x20NdotL;\x0a\x20\x20\x20\x20shadowParameters.texCoordsCube\x20=\x20czm_inverseViewRotation\x20*\x20l;\x0a\x20\x20\x20\x20visibility\x20=\x20shadowVisibilityCube(lightShadowMapCube,\x20shadowParameters);\x0a\x20\x20\x20\x20if(visibility\x20==\x201.0){\x0a\x20\x20\x20\x20\x20\x20return\x200;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20return\x201;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20return\x202;\x0a\x20\x20}\x0a}\x0a\x0aint\x20getFrustumVisibility(vec3\x20normalEC,\x20vec3\x20positionEC,\x20int\x20i,\x20sampler2D\x20lightShadowMap2D){\x0a\x20\x20vec4\x20lightPEC\x20=\x20lightPositionEC[i];\x0a\x20\x20vec2\x20shadowMapDT\x20=\x20shadowMapDarknessType[i];\x0a\x20\x20vec3\x20pointToLightEC\x20=\x20positionEC\x20-\x20lightPEC.xyz;\x0a\x20\x20vec3\x20l\x20=\x20normalize(pointToLightEC);\x0a\x20\x20float\x20NdotL\x20=\x20clamp(dot(-normalEC,\x20l),\x200.0,\x201.0);\x0a\x0a\x20\x20float\x20visibility\x20=\x200.0;\x0a\x20\x20float\x20type\x20=\x20shadowMapDT.y;\x0a\x0a\x20\x20vec4\x20shadowPosition\x20=\x20shadowMapMatrix[i]\x20*\x20vec4(positionEC,\x201.0);\x0a\x20\x20shadowPosition\x20/=\x20shadowPosition.w;\x0a\x20\x20if\x20(any(lessThan(shadowPosition.xyz,\x20vec3(0.0)))\x20||\x20any(greaterThan(shadowPosition.xyz,\x20vec3(1.0))))\x20{\x0a\x20\x20\x20\x20return\x202;\x0a\x20\x20}\x0a\x0a\x20\x20//坐标与视点位置距离,大于最大距离则舍弃阴影效果\x0a\x20\x20vec4\x20lw\x20=\x20czm_inverseView\x20*\x20vec4(lightPEC.xyz,\x201.0);\x0a\x20\x20vec4\x20vw\x20=\x20czm_inverseView\x20*\x20vec4(positionEC.xyz,\x201.0);\x0a\x20\x20float\x20one_distance\x20=\x20mars3d_distance[i];\x0a\x20\x20if(distance(lw.xyz,\x20vw.xyz)\x20>\x20one_distance)\x20{\x0a\x20\x20\x20\x20return\x202;\x0a\x20\x20}\x0a\x0a\x0a\x20\x20vec4\x20shadowMapTSDBANSS\x20=\x20shadowMapTexelSizeDepthBiasAndNormalShadingSmooth[i];\x0a\x20\x20mars3d_shadowParameters\x20shadowParameters;\x0a\x20\x20shadowParameters.texelStepSize\x20=\x20shadowMapTSDBANSS.xy;\x0a\x20\x20shadowParameters.depthBias\x20=\x20shadowMapTSDBANSS.z;\x0a\x20\x20shadowParameters.normalShadingSmooth\x20=\x20shadowMapTSDBANSS.w;\x0a\x20\x20shadowParameters.darkness\x20=\x20shadowMapDT.x;\x0a\x20\x20shadowParameters.texCoords\x20=\x20shadowPosition.xy;\x0a\x20\x20shadowParameters.depth\x20=\x20shadowPosition.z;\x0a\x20\x20shadowParameters.nDotL\x20=\x20NdotL;\x0a\x0a\x20\x20visibility\x20=\x20shadowVisibility2D(lightShadowMap2D,\x20shadowParameters);\x0a\x20\x20if(visibility\x20==\x201.0){\x0a\x20\x20\x20\x20return\x200;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20return\x201;\x0a\x20\x20}\x0a\x0a}\x0a\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20float\x20logDepthOrDepth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20v_textureCoordinates));\x0a\x20\x20if(logDepthOrDepth\x20>=\x201.0){\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x0a\x20\x20vec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(v_textureCoordinates.xy\x20*\x20czm_viewport.zw,\x20logDepthOrDepth);\x0a\x20\x20vec3\x20downUp\x20=\x20vectorFromOffset(eyeCoordinate,\x20vec2(0.0,\x201.0));\x0a\x20\x20vec3\x20leftRight\x20=\x20vectorFromOffset(eyeCoordinate,\x20vec2(1.0,\x200.0));\x0a\x20\x20vec3\x20normalEC\x20=\x20normalize(cross(leftRight,\x20downUp));\x0a\x20\x20vec3\x20positionEC\x20=\x20eyeCoordinate.xyz\x20/\x20eyeCoordinate.w;\x0a\x0a\x20\x20int\x20visibility\x20=\x200;\x0a\x20\x20int\x20inside\x20=\x200;\x0a\x0a\x20\x20ShadowVisibilityShader\x0a\x0a\x20\x20if(visibility\x20>\x200){\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_visibleAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}\x20else\x20if(inside\x20>\x200)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20mix(color,\x20vec4(mars3d_hiddenAreaColor,\x201.0),\x20mars3d_opacity);\x0a\x20\x20}else{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20}\x0a}\x0a';const _0x26609f={};_0x26609f[_0x2b6441(0x8a6,0x125)]=0x1,_0x26609f['opacity']=0.6,_0x26609f['showFrustum']=![];const DEF_STYLE$2=_0x26609f;class PointVisibility extends BasePointPrimitive{constructor(_0x360e3d={},_0x3576e9=!![]){const _0x396840={_0x40ea5a:0xb23,_0x48cf27:0xeaa,_0x4ddd1f:0xc8c,_0x6ac77e:0x751,_0x4fd460:0x2205,_0x29e457:0x122d,_0x11a8b8:0x885,_0x5d7ce2:0x38,_0x3d66b0:0x7c6};function _0x10585b(_0x111fd2,_0x3c6a2e){return _0x2b6441(_0x111fd2,_0x3c6a2e-0x511);}_0x3576e9&&(_0x360e3d['style']={...DEF_STYLE$2,..._0x360e3d['style']||{}});super(_0x360e3d),this['_visibility_type']=0x1,this[_0x10585b(_0x396840._0x40ea5a,_0x396840._0x48cf27)]=this[_0x336b89(0x172c,_0x396840._0x4ddd1f)]['terrain']??!![];function _0x336b89(_0x2272c3,_0x344de4){return _0x306755(_0x2272c3,_0x344de4-0x2f);}this[_0x336b89(_0x396840._0x6ac77e,0xeda)]=this['style']['maximumDistance']??0x1388,this[_0x10585b(_0x396840._0x4fd460,0x1767)]=this[_0x336b89(_0x396840._0x29e457,_0x396840._0x11a8b8)]['visibleAreaColor']??new Cesium__namespace['Color'](0x0,0x1,0x0),this['hiddenAreaColor']=this[_0x10585b(_0x396840._0x5d7ce2,_0x396840._0x3d66b0)]['hiddenAreaColor']??new Cesium__namespace['Color'](0x1,0x0,0x0);}get['czmObject'](){function _0x1b65a5(_0x32cdbc,_0x1a1ad2){return _0x2b6441(_0x1a1ad2,_0x32cdbc-0x191);}return this[_0x1b65a5(0xd59,0xf01)];}get['hasOpacity'](){return![];}get[_0x306755(0x250,0x8f4)](){const _0x159629={_0x5cb430:0xf54},_0x46615d={_0x59dcb1:0x131};var _0x3d95c0;function _0x478133(_0x27400a,_0x3e6917){return _0x2b6441(_0x3e6917,_0x27400a-_0x46615d._0x59dcb1);}return(_0x3d95c0=this[_0x478133(_0x159629._0x5cb430,0x134b)])===null||_0x3d95c0===void 0x0?void 0x0:_0x3d95c0['visibilitys'];}get['opacity'](){var _0x3148db;return(_0x3148db=this['style'])===null||_0x3148db===void 0x0?void 0x0:_0x3148db['opacity'];}set['opacity'](_0x53f1c9){const _0x517fe6={_0x51af83:0x68},_0x4786a9={_0x4419f9:0x625};function _0x3cb1b9(_0x5b34db,_0x13ee39){return _0x306755(_0x5b34db,_0x13ee39- -_0x4786a9._0x4419f9);}this['style'][_0x3cb1b9(_0x517fe6._0x51af83,0x524)]=_0x53f1c9;}get['visibleAreaColor'](){return this['_visibleAreaColor'];}set[_0x306755(0x1165,0x17f7)](_0x3f1fbc){function _0x13692c(_0x166d43,_0x1061dc){return _0x2b6441(_0x166d43,_0x1061dc-0x20e);}this[_0x13692c(0x98b,0x566)]=getCesiumColor(_0x3f1fbc);}get['hiddenAreaColor'](){return this['_hiddenAreaColor'];}set['hiddenAreaColor'](_0x52af9f){const _0x20307f={_0x2bc601:0x7ae};function _0x390266(_0x396501,_0x209431){return _0x306755(_0x209431,_0x396501- -0x1ef);}this[_0x390266(_0x20307f._0x2bc601,0x120b)]=getCesiumColor(_0x52af9f);}get['shadowMap'](){const _0x2ce084={_0x458128:0x129a,_0x3eb1d5:0xab5},_0x2ff206={_0x21d25a:0x592};function _0x10a3f5(_0x46e4e8,_0x59ca23){return _0x306755(_0x59ca23,_0x46e4e8- -_0x2ff206._0x21d25a);}return this[_0x10a3f5(_0x2ce084._0x458128,_0x2ce084._0x3eb1d5)];}get[_0x306755(0x1706,0x1048)](){return this['_camera'];}['_updatePositionsHook'](){const _0x28d54f={_0x5d61ed:0x1d1,_0x56e2b8:0x2ed},_0x52c940={_0x447187:0x265},_0x358f68={_0xdf6a12:0x36d};function _0xd1c3b3(_0x3975a0,_0x44d280){return _0x306755(_0x44d280,_0x3975a0- -_0x358f68._0xdf6a12);}let _0x525572=this[_0x1ddf69(0xb87,_0x28d54f._0x5d61ed)];function _0x1ddf69(_0x9e63b1,_0x214251){return _0x2b6441(_0x214251,_0x9e63b1-_0x52c940._0x447187);}if(this[_0xd1c3b3(0xdfc,0x108b)]&&_0x525572){const _0x732123=this['getAddHeight']();Cesium__namespace['defined'](_0x732123)&&(_0x525572=addPositionsHeight(_0x525572,_0x732123)),this['_camera']['position']=_0x525572,this['_camera']['up']=Cesium__namespace['Cartesian3']['normalize'](_0x525572,new Cesium__namespace[(_0x1ddf69(0x6e5,-_0x28d54f._0x56e2b8))]());}}[_0x2b6441(0x987,0x3fd)](_0x5c0685){const _0x260920={_0x1847ae:0x1500,_0x458e9b:0x109f,_0x18f797:0x6e2,_0x134cc2:0x87a,_0x41a44b:0x123e,_0x6dc18e:0x83a,_0x1e6629:0x14cf},_0xc455dc={_0x2202c6:0x289},_0x41076c={_0x2f20e3:0xba};this[_0x355fe6(0xe80,0x10b5)]&&(this['_map']['viewer'][_0x2f64ef(_0x260920._0x1847ae,_0x260920._0x458e9b)]=Cesium__namespace['ShadowMode']['ENABLED']);function _0x355fe6(_0x4cc14a,_0x30277a){return _0x306755(_0x30277a,_0x4cc14a- -_0x41076c._0x2f20e3);}this['_shadowMap']=this['_createShadowMap']();this['_position']&&this[_0x2f64ef(_0x260920._0x18f797,0xafe)]();this[_0x355fe6(0xc8f,0xabe)][_0x355fe6(0xc74,_0x260920._0x134cc2)](this);function _0x2f64ef(_0x38d0dc,_0x3a1994){return _0x306755(_0x3a1994,_0x38d0dc- -_0xc455dc._0x2202c6);}this['visibilitys'][_0x355fe6(0x778,_0x260920._0x41a44b)](this['id'],this),this[_0x355fe6(_0x260920._0x6dc18e,0x1179)]['_showHook']=()=>{this['_updateDraw']();},this[_0x355fe6(0x164f,_0x260920._0x1e6629)](),this['_updateOutlineFrustum']();}['_createShadowMap'](){const _0x35c05f={_0x1fafe3:0x116,_0x183880:0x8cf,_0x464fb6:0x213,_0xaae100:0x61f};function _0x2b0039(_0x50c0a5,_0x1dc91f){return _0x2b6441(_0x50c0a5,_0x1dc91f- -0x9d);}this['_shadowMap']&&(this['_shadowMap']['destroy'](),delete this['_shadowMap']);this['_camera']=new Cesium__namespace['Camera'](this['_map']['scene']);const _0x1aa2b3={};_0x1aa2b3['lightCamera']=this['_camera'],_0x1aa2b3['enable']=![];function _0x540810(_0x491e8c,_0xbcd02d){return _0x306755(_0x491e8c,_0xbcd02d- -0x196);}return _0x1aa2b3['darkness']=0x1,_0x1aa2b3[_0x540810(0x1165,0x1610)]=!![],_0x1aa2b3['isSpotLight']=![],_0x1aa2b3['cascadesEnabled']=![],_0x1aa2b3[_0x2b0039(-_0x35c05f._0x1fafe3,0x14)]=this['_map'][_0x540810(0x45f,_0x35c05f._0x183880)]['context'],_0x1aa2b3['pointLightRadius']=this['style']['radius'],_0x1aa2b3['fromLightSource']=![],_0x1aa2b3['depthBiasStep']=this[_0x2b0039(-_0x35c05f._0x464fb6,_0x35c05f._0xaae100)]['depthBiasStep']??0xa,new Cesium__namespace['ShadowMap'](_0x1aa2b3);}['_removedHook'](){const _0x5c5e0a={_0x38056c:0x12f0,_0x3c4ed6:0x144e,_0x258afd:0xc94,_0x19cf79:0x154d,_0xe6c1c8:0x10ea,_0x278dd2:0xa92,_0x1f9279:0xfbc,_0x2e2f51:0x101c};function _0x589629(_0x1b98f6,_0x4065d7){return _0x2b6441(_0x1b98f6,_0x4065d7-0x322);}this['_hasTerrainShadows']&&(this[_0xa9829e(0x13eb,_0x5c5e0a._0x38056c)]['terrainShadows']=Cesium__namespace['ShadowMode'][_0x589629(0x12e0,0x154b)]);this['_shadowMap']&&(this[_0xa9829e(_0x5c5e0a._0x3c4ed6,0xaaf)][_0x589629(_0x5c5e0a._0x258afd,0xd10)](),delete this[_0x589629(0x1a04,0x15ad)]);this[_0xa9829e(_0x5c5e0a._0x19cf79,0x17c3)]&&(this['_layer']['removeGraphic'](this['_outlineFrustumGraphic'],!![]),delete this['_outlineFrustumGraphic']);this['_outlineFrustum']&&(this['_layer']['primitiveCollection'][_0xa9829e(0x5de,0x7a3)](this[_0xa9829e(_0x5c5e0a._0xe6c1c8,_0x5c5e0a._0x278dd2)]),delete this['_outlineFrustum']);this[_0x589629(_0x5c5e0a._0x1f9279,0xaca)]&&this[_0x589629(0x5da,0xaca)]['contains'](this)&&(this['_noDestroy']=!![],this[_0x589629(_0x5c5e0a._0x2e2f51,0xaca)]['remove'](this),this['_noDestroy']=![]);function _0xa9829e(_0x544317,_0x2a6c84){return _0x306755(_0x2a6c84,_0x544317- -0x3de);}this['visibilitys']['remove'](this['id']),this[_0x589629(0x1808,0x148a)]();}[_0x2b6441(0xe91,0x45e)](_0x2c8f27){const _0x34148d={_0x5e71a1:0x1c1c},_0x5e0cac={_0x3541c3:0xb0};function _0x2d98f6(_0x553b9e,_0x5e7ba3){return _0x2b6441(_0x5e7ba3,_0x553b9e-0x610);}function _0x5db76a(_0x20213b,_0x2185d2){return _0x306755(_0x2185d2,_0x20213b-_0x5e0cac._0x3541c3);}if(this['availability']&&!this['getAvailabilityShow'](_0x2c8f27['time']))return;this['_shadowMap']&&_0x2c8f27['shadowMaps'][_0x2d98f6(0x708,0xe4a)](this[_0x2d98f6(0x189b,_0x34148d._0x5e71a1)]);}[_0x306755(0x6b4,0x105d)](_0x54602d,_0x2e722a){const _0x501bba={_0x3f49d3:0x129a,_0x446e02:0x1653,_0x3b871e:0x739,_0x1c1264:0x5bc,_0x54b332:0x22b7,_0x26e592:0x189c,_0x2a5ba4:0x146e,_0x399a7d:0x548,_0x4922a3:0x1988,_0x527c4d:0x152a};Cesium__namespace[_0x3d32c8(_0x501bba._0x3f49d3,_0x501bba._0x446e02)](_0x2e722a[_0x3d32c8(0x793,_0x501bba._0x3b871e)])&&this[_0x3d32c8(0x687,_0x501bba._0x1c1264)]();(Cesium__namespace['defined'](_0x2e722a[_0x1b2432(0x145f,0x1658)])||Cesium__namespace['defined'](_0x2e722a['angle2']))&&this['_updateDraw']();Cesium__namespace['defined'](_0x2e722a[_0x1b2432(0x1773,0xf8e)])&&(this[_0x3d32c8(0x213e,0x189c)]=_0x2e722a[_0x3d32c8(_0x501bba._0x54b332,_0x501bba._0x26e592)]);function _0x1b2432(_0x4a3475,_0x5cf80b){return _0x2b6441(_0x5cf80b,_0x4a3475-0x319);}Cesium__namespace['defined'](_0x2e722a['visibleAreaColor'])&&(this['visibleAreaColor']=_0x2e722a['visibleAreaColor']);function _0x3d32c8(_0x8b636,_0x573292){return _0x2b6441(_0x8b636,_0x573292-0x442);}(Cesium__namespace[_0x3d32c8(_0x501bba._0x2a5ba4,_0x501bba._0x446e02)](_0x2e722a[_0x1b2432(0xbfd,_0x501bba._0x399a7d)])||Cesium__namespace[_0x3d32c8(_0x501bba._0x4922a3,0x1653)](_0x2e722a['heading'])||Cesium__namespace[_0x1b2432(_0x501bba._0x527c4d,0x1ade)](_0x2e722a[_0x3d32c8(0x345,0xa46)])||Cesium__namespace['defined'](_0x2e722a['roll']))&&this['_updatePositionsHook'](),Cesium__namespace['defined'](_0x2e722a['radius'])&&this['_shadowMap']&&(this['_shadowMap']=this['_createShadowMap'](),this['_position']&&this['_updatePositionsHook'](),this[_0x1b2432(0x493,0xc1a)]());}['_clearDraw'](){const _0x12844a={_0x564a03:0xfbd};function _0x5e5755(_0xffc3d4,_0x2f8e6f){return _0x2b6441(_0xffc3d4,_0x2f8e6f- -0x2f);}if(!this['_map'])return;function _0x455e6f(_0x4d6972,_0x5afa02){return _0x2b6441(_0x4d6972,_0x5afa02-0x3f);}clearAllVisibility(this[_0x455e6f(_0x12844a._0x564a03,0x1267)],this[_0x5e5755(0x911,0x324)]);}['_updateDraw'](){const _0x1a4f8c={_0x2f0fe3:0x500,_0x2b29ae:0x1124,_0x52e70b:0x13d5,_0x1515e8:0x11f4},_0x15872f={_0x14c209:0x3f4},_0xd36e4b={_0x53c09c:0x2c};function _0x46984b(_0x597ec2,_0x39dea4){return _0x2b6441(_0x39dea4,_0x597ec2-_0xd36e4b._0x53c09c);}if(!this['_map'])return;function _0x555dce(_0x4e7a89,_0x2099d9){return _0x306755(_0x4e7a89,_0x2099d9- -_0x15872f._0x14c209);}const _0x5a735d=this[_0x555dce(0xfcd,_0x1a4f8c._0x2f0fe3)];clearAllVisibility(this[_0x555dce(_0x1a4f8c._0x2b29ae,_0x1a4f8c._0x52e70b)],_0x5a735d),_0x5a735d['show']&&_0x5a735d['length']>0x0&&drawAllVisibility(this[_0x46984b(0x1254,_0x1a4f8c._0x1515e8)],_0x5a735d);}[_0x2b6441(0x819,0x17a)](){const _0x1e06a4={_0x44e40c:0x14e4,_0x5af9ed:0x1477,_0xa7ccc6:0x3e4,_0x89b594:0x169b,_0x26e4bb:0x63a,_0x32aecf:0x404,_0x5d3013:0xf50,_0x436e9c:0x77b,_0x3f130d:0xd36,_0x276bee:0xc77};function _0x334802(_0x2b6976,_0x4b1eb5){return _0x306755(_0x4b1eb5,_0x2b6976-0x1c);}this[_0x334802(_0x1e06a4._0x44e40c,0x1c3b)]&&(this['_layer'][_0x173f1d(0xa67,0x1093)]['remove'](this['_outlineFrustum']),delete this['_outlineFrustum']);if(!this[_0x173f1d(0xf15,0x1317)]||!this['style']['showFrustum'])return;const _0xdbc365=Cesium__namespace['Transforms'][_0x173f1d(_0x1e06a4._0x5af9ed,0x1b7f)](this[_0x334802(0x1213,0x8bd)]),_0x38df63={};_0x38df63['radius']=this['style'][_0x173f1d(_0x1e06a4._0xa7ccc6,0xce8)];const _0x49da09=new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace[(_0x173f1d(0xe16,_0x1e06a4._0x89b594))](_0x38df63),'modelMatrix':_0xdbc365,'attributes':{'color':Cesium__namespace['ColorGeometryInstanceAttribute'][_0x173f1d(_0x1e06a4._0x26e4bb,_0x1e06a4._0x32aecf)](Cesium__namespace[_0x334802(_0x1e06a4._0x5d3013,0xda4)][_0x173f1d(_0x1e06a4._0x436e9c,0xd71)])}}),_0x563be8={};_0x563be8['lineWidth']=0x1;const _0x2dcc98={};_0x2dcc98[_0x334802(0x7b8,_0x1e06a4._0x3f130d)]=!![],_0x2dcc98['renderState']=_0x563be8;function _0x173f1d(_0x1e10bd,_0x1b162b){return _0x2b6441(_0x1b162b,_0x1e10bd-0x2bf);}this['_outlineFrustum']=this['_layer']['primitiveCollection'][_0x173f1d(0xa4c,_0x1e06a4._0x276bee)](new Cesium__namespace['Primitive']({'geometryInstances':_0x49da09,'asynchronous':![],'appearance':new Cesium__namespace['PerInstanceColorAppearance'](_0x2dcc98)}));}[_0x306755(0x17ca,0x1384)](_0x53026e){const _0x3dfc0c={_0x3ad3e3:0xf0f,_0x597e90:0x669,_0x367684:0xe45,_0xc7adfa:0x561},_0x5bd043={_0x57805e:0x328};function _0x49cb1a(_0x3a709b,_0xec2896){return _0x306755(_0xec2896,_0x3a709b- -_0x5bd043._0x57805e);}if(this['_enabledDraw'])return this;function _0x5342af(_0x2bb9b9,_0x22b354){return _0x306755(_0x22b354,_0x2bb9b9- -0x512);}this[_0x49cb1a(_0x3dfc0c._0x3ad3e3,0x1903)]=!![];_0x53026e&&this[_0x5342af(0xccf,_0x3dfc0c._0x597e90)](_0x53026e);if(!this['_map'])throw new Error(_0x5342af(_0x3dfc0c._0x367684,0x1779));this['_map']['_setEditCursor'](!![]),this['enableControl'](![]),this['_startDrawHook'](),this[_0x49cb1a(_0x3dfc0c._0xc7adfa,-0x4cb)](EventType['drawStart'],{'drawType':this['type'],'graphic':this},!![]);}['stopDraw'](){const _0x74f43b={_0x149eee:0x1664,_0x8f7731:0x751,_0x164893:0x6f1,_0x160e72:0x264,_0x19a270:0xd15,_0x235971:0x159b,_0x1fc7ea:0x6ba};var _0x5c4da9,_0x552e14;if(!this['_enabledDraw'])return this;this['_stopDrawHook'](),this[_0x465ea1(0x1202,_0x74f43b._0x149eee)]['_setEditCursor'](![]);function _0x3c247a(_0x4635b5,_0x4b6d7a){return _0x306755(_0x4635b5,_0x4b6d7a- -0x5a3);}this['enableControl'](!![]),this['_map']['closeSmallTooltip'](),this['_enabledDraw']=![];if(!this['position']||!this[_0x465ea1(_0x74f43b._0x8f7731,_0x74f43b._0x164893)][_0x465ea1(-0x302,0x561)]){this['remove'](!![]);return;}this['fire'](EventType['drawCreated'],{'drawType':this['type'],'graphic':this},!![]);(_0x5c4da9=this[_0x465ea1(_0x74f43b._0x160e72,0xaf8)])!==null&&_0x5c4da9!==void 0x0&&_0x5c4da9['success']&&this[_0x3c247a(_0x74f43b._0x19a270,0x6ba)][_0x465ea1(_0x74f43b._0x235971,0x129e)](this);function _0x465ea1(_0x293159,_0x3c580d){return _0x2b6441(_0x293159,_0x3c580d-0x43c);}(_0x552e14=this['options'])!==null&&_0x552e14!==void 0x0&&(_0x552e14=_0x552e14['_promise'])!==null&&_0x552e14!==void 0x0&&_0x552e14['resolve']&&this[_0x3c247a(0xc21,_0x74f43b._0x1fc7ea)][_0x3c247a(0x1de,0x124)]['resolve'](this);}[_0x2b6441(0xa7b,0xd0)](){const _0x458b65={_0x358323:0xdac};function _0x1644f2(_0x44b8ab,_0x2b9ba2){return _0x306755(_0x2b9ba2,_0x44b8ab- -0x36f);}this['_map']['on'](EventType[_0xe05e4b(0x389,_0x458b65._0x358323)],this[_0x1644f2(0x10ef,0xb1e)],this);function _0xe05e4b(_0x5bde9c,_0x517976){return _0x306755(_0x5bde9c,_0x517976- -0x2bc);}this['_map']['on'](EventType[_0x1644f2(0x6f9,0x2d0)],this['_onMouseMoveHandler'],this);}['_stopDrawHook'](){const _0x25bba4={_0x91a60:0x1162,_0x481e48:0x233,_0x498b1c:0x597};function _0x92780f(_0x56da4d,_0x3f563e){return _0x2b6441(_0x3f563e,_0x56da4d-0x6c);}this['_map'][_0x92780f(0x437,0xdae)](EventType[_0x527f9d(0x119e,_0x25bba4._0x91a60)],this[_0x92780f(0xf29,0x11dd)],this);function _0x527f9d(_0x221891,_0x62a077){return _0x306755(_0x221891,_0x62a077-0xfa);}this['_map'][_0x92780f(0x437,-_0x25bba4._0x481e48)](EventType['mouseMove'],this[_0x92780f(0x285,-_0x25bba4._0x498b1c)],this);}[_0x2b6441(0xdff,0xebd)](_0x552602){const _0x534baa={_0x5a2d38:0x14bb,_0x5c6001:0x104f,_0x40dde1:0x114c,_0x463172:0x6e,_0x238ee0:0x59f,_0x5417ce:0x1ac4},_0x3e41e8=_0x552602['cartesian'];if(!_0x3e41e8)return;function _0x5cfb96(_0x552a24,_0x4ddae6){return _0x306755(_0x4ddae6,_0x552a24- -0x1a8);}function _0x2f237c(_0x2ba77d,_0x5a86f4){return _0x306755(_0x5a86f4,_0x2ba77d- -0x45b);}_0x552602={..._0x552602,'drawType':this[_0x5cfb96(_0x534baa._0x5a2d38,0xd8a)],'graphic':this},this['fire'](EventType['drawAddPoint'],_0x552602,!![]);if(!this[_0x5cfb96(_0x534baa._0x5c6001,_0x534baa._0x40dde1)]){this['position']=_0x3e41e8;return;}this[_0x2f237c(_0x534baa._0x463172,_0x534baa._0x238ee0)](_0x3e41e8),this[_0x5cfb96(0x11a8,_0x534baa._0x5417ce)](),this['fire'](EventType['drawCreated'],_0x552602);}[_0x2b6441(0x4f8,0x219)](_0xfd4a19){const _0x1dcf62={_0x47dfca:0x115d,_0x5eec47:0x833,_0xab7050:0x41a,_0x134cd4:0x13ce,_0x44c9c1:0x14d0,_0x1e182f:0x4a5},_0x205265={_0x1a21cc:0x132},_0x407bbb=_0xfd4a19[_0x3316c1(0xd73,_0x1dcf62._0x47dfca)];function _0x3316c1(_0x6399ae,_0xfc22d7){return _0x306755(_0xfc22d7,_0x6399ae- -0x3fb);}if(!_0x407bbb)return;const _0x421b02=this['position'];function _0x40a368(_0x31c2cf,_0x32e287){return _0x2b6441(_0x31c2cf,_0x32e287-_0x205265._0x1a21cc);}_0x421b02?(this['_updateMouseDraw'](_0x407bbb),this[_0x40a368(_0x1dcf62._0x5eec47,_0x1dcf62._0xab7050)](EventType['drawMouseMove'],{..._0xfd4a19,'drawType':this['type'],'graphic':this},!![]),this['_map']['openSmallTooltip'](_0xfd4a19[_0x3316c1(0x144f,0x1566)],this['_map']['getLangText']('_单击完成绘制'))):this[_0x3316c1(_0x1dcf62._0x134cd4,_0x1dcf62._0x44c9c1)]['openSmallTooltip'](_0xfd4a19[_0x40a368(0x17d6,0x13db)],this[_0x40a368(0x178d,0x135a)]['getLangText'](_0x40a368(0xebc,_0x1dcf62._0x1e182f)));}['_updateMouseDraw'](_0x4f1ebd){const _0x166d27={_0x49c118:0x1558,_0x210a72:0x1f48,_0x455d2d:0x1852},_0x19b640={_0x254a8c:0x26},_0x44ec5a={_0x157e0b:0x3be};this[_0x4fd9fc(0xf52,0x87c)]['radius']=Cesium__namespace['Cartesian3']['distance'](this[_0xa4359c(0xe39,_0x166d27._0x49c118)],_0x4f1ebd);function _0xa4359c(_0x25e171,_0x48d34c){return _0x306755(_0x48d34c,_0x25e171- -_0x44ec5a._0x157e0b);}this[_0x4fd9fc(_0x166d27._0x210a72,_0x166d27._0x455d2d)]=this[_0xa4359c(0x1138,0xf4c)]();function _0x4fd9fc(_0x57c014,_0x2b94a0){return _0x306755(_0x57c014,_0x2b94a0-_0x19b640._0x254a8c);}this[_0xa4359c(0xb05,0xf53)]&&this[_0x4fd9fc(0xf14,0x991)]();}}register$5('pointVisibility',PointVisibility,!![]);function drawAllVisibility(_0x57d407,_0x43ba22){const _0xeb42a6={_0x3b4717:0x1bac,_0x30bff2:0x1ce,_0x290b66:0x6d9,_0x236e92:0x118d,_0x3748a2:0x158d},_0x572fc0=[];function _0x1c4396(_0x1ab5eb,_0x46deb4){return _0x2b6441(_0x46deb4,_0x1ab5eb-0xd6);}function _0x4e88ac(_0x28ef17,_0x3cef29){return _0x306755(_0x28ef17,_0x3cef29- -0x21);}const _0x1b92fb=_0x43ba22[_0x4e88ac(_0xeb42a6._0x3b4717,0x1967)](0xe);for(let _0x48379f=0x0,_0x5d1796=_0x1b92fb['length'];_0x48379f<_0x5d1796;_0x48379f++){const _0x57d7c8=getPostProcessStage(_0x1b92fb[_0x48379f]);_0x57d7c8&&(_0x57d407['scene']['postProcessStages']['add'](_0x57d7c8),_0x572fc0[_0x1c4396(_0xeb42a6._0x30bff2,_0xeb42a6._0x290b66)](_0x57d7c8));}_0x43ba22[_0x1c4396(_0xeb42a6._0x236e92,_0xeb42a6._0x3748a2)]=_0x572fc0;}function clearAllVisibility(_0x233bbb,_0x201c4a){const _0x2ec8ee={_0x1b63dc:0xf79,_0x465725:0x58b},_0x2eac37={_0x48a315:0x16c};function _0x32d2f6(_0x36003b,_0x2a4cc3){return _0x306755(_0x36003b,_0x2a4cc3-_0x2eac37._0x48a315);}const _0x505e04=_0x201c4a['_postProcessStages'];function _0x2ecedb(_0x32e149,_0x24ce16){return _0x306755(_0x24ce16,_0x32e149- -0x52d);}if(_0x505e04){for(let _0x1fb165=0x0,_0x34a258=_0x505e04['length'];_0x1fb165<_0x34a258;_0x1fb165++){_0x233bbb[_0x2ecedb(0x538,-0x249)][_0x2ecedb(_0x2ec8ee._0x1b63dc,_0x2ec8ee._0x465725)]['remove'](_0x505e04[_0x1fb165]);}delete _0x201c4a[_0x32d2f6(0x223e,0x17c4)];}}function getPostProcessStage(_0x1f39e6){const _0x1f83cf={_0x2c3024:0x11e9,_0x57b7ec:0xe01,_0x162c15:0x165a,_0x5baaf5:0x131,_0xac8271:0x1114,_0x20a165:0x1798},_0x556409={_0x45bf55:0x600},_0x288f52={_0x17311a:0xcbe,_0x29e461:0x1240},_0x575a87={_0xa05bb0:0x616};if(_0x1f39e6[_0x1fac3f(0x165a,_0x1f83cf._0x2c3024)]===0x0)return;let _0x38548a;function _0x4651b9(_0x4f445c,_0x108f69){return _0x2b6441(_0x108f69,_0x4f445c-0x247);}let _0x2f02,_0x11d5a7,_0x443052,_0x40343c,_0x5c296e;function _0x39de75(){const _0x57b32b={_0x1fcfcc:0x1c58,_0x112c69:0x16e8,_0x560d4f:0x1e6f,_0x895e45:0x18b2,_0x2bb18f:0x9f6,_0x1ec012:0x110,_0x86a402:0xad0,_0x104248:0x884,_0xe0a25d:0x151a};_0x38548a=[],_0x2f02=[],_0x11d5a7=[],_0x443052=[],_0x40343c=[],_0x5c296e=[],_0x1f39e6['forEach'](function(_0x3e2107){const _0x5ece50=_0x3e2107[_0x2aa3a6(0x1847,0x122a)];if(!_0x5ece50||_0x3e2107[_0x1387ad(_0x57b32b._0x1fcfcc,_0x57b32b._0x112c69)]===![])return;_0x5c296e['push'](_0x3e2107),_0x38548a['push'](_0x5ece50['_lightPositionEC']);function _0x1387ad(_0x379442,_0x134120){return _0x5bbe(_0x134120-0x3c8,_0x379442);}_0x2f02['push'](_0x5ece50['_shadowMapMatrix']);function _0x2aa3a6(_0x32706d,_0x2b4042){return _0x5bbe(_0x2b4042- -0x1b9,_0x32706d);}const _0x590c03=_0x5ece50['_isPointVisibility']?_0x5ece50[_0x1387ad(_0x57b32b._0x560d4f,_0x57b32b._0x895e45)]:_0x5ece50['_primitiveBias'];_0x11d5a7['push'](Cesium__namespace[_0x2aa3a6(_0x57b32b._0x2bb18f,0xfb7)][_0x1387ad(0x1396,0xb98)](0x1/_0x5ece50['_textureSize']['x'],0x1/_0x5ece50[_0x1387ad(_0x57b32b._0x1ec012,_0x57b32b._0x86a402)]['y'],_0x590c03[_0x1387ad(_0x57b32b._0x104248,0x1038)],_0x590c03['normalShadingSmooth'])),_0x443052['push'](new Cesium__namespace[(_0x1387ad(-0x28,0x641))](_0x5ece50[_0x1387ad(0x133c,_0x57b32b._0xe0a25d)],_0x3e2107[_0x2aa3a6(0x1534,0xb95)])),_0x40343c['push'](_0x3e2107['style']['radius']);});}_0x39de75();if(_0x5c296e['length']===0x0)return;const _0x1975ce=_0x5c296e[0x0],_0x5131f1={'lightPositionEC':()=>{return _0x39de75(),_0x38548a;},'shadowMapMatrix':()=>{return _0x2f02;},'shadowMapTexelSizeDepthBiasAndNormalShadingSmooth':()=>{return _0x11d5a7;},'shadowMapDarknessType':()=>{return _0x443052;},'mars3d_distance':()=>{return _0x40343c;},'mars3d_opacity':()=>{return _0x1975ce['opacity'];},'mars3d_visibleAreaColor':()=>{function _0xe06f3b(_0x1b2bab,_0x1f05c4){return _0x1fac3f(_0x1f05c4- -_0x575a87._0xa05bb0,_0x1b2bab);}return _0x1975ce[_0xe06f3b(_0x288f52._0x17311a,_0x288f52._0x29e461)];},'mars3d_hiddenAreaColor':()=>{return _0x1975ce['hiddenAreaColor'];}},{uniformShader:_0x418483,shadowVisibilityShader:_0x379069}=getVisibilityShadowMaps(_0x5c296e,_0x5131f1);let _0x68af45=MultipleVisibilityShader['replace'](_0x1fac3f(_0x1f83cf._0x57b7ec,0x1075),_0x5c296e[_0x1fac3f(_0x1f83cf._0x162c15,0x139c)]);function _0x1fac3f(_0x3f2200,_0x3402e5){return _0x2b6441(_0x3402e5,_0x3f2200-_0x556409._0x45bf55);}_0x68af45=_0x68af45['replace'](_0x4651b9(_0x1f83cf._0x5baaf5,0xa8a),_0x418483),_0x68af45=_0x68af45[_0x1fac3f(_0x1f83cf._0xac8271,_0x1f83cf._0x20a165)]('ShadowVisibilityShader',_0x379069);const _0x2dd601=new Cesium__namespace[(_0x1fac3f(0x91f,0x250))]({'sampleMode':Cesium__namespace[_0x1fac3f(0xce6,0x7d8)]['NEAREST'],'fragmentShader':_0x68af45,'uniforms':_0x5131f1});return _0x2dd601;}function getVisibilityShadowMaps(_0x24909b,_0x1426a9){const _0x1eee82={_0x3d18d4:0x268},_0x56874b={_0x50e072:0x537,_0x3c0b03:0x1f2b,_0x59e23b:0x576,_0x5a4158:0x86d,_0x27bd91:0x70c,_0x2f6552:0x23d},_0x3c57aa={_0x42b83f:0x17e3},_0x59ae5c={_0x365c2f:0x16e};let _0x1afe92='';function _0x2f20b0(_0x2308e7,_0x4e2c56){return _0x2b6441(_0x4e2c56,_0x2308e7-0x19f);}function _0x22245b(_0x437eac,_0x3fe853){return _0x2b6441(_0x3fe853,_0x437eac-0x2ac);}let _0x156e2f='';_0x24909b['forEach']((_0x352be1,_0x2a1228)=>{function _0x5f9f74(_0x51009f,_0x85b0f6){return _0x5bbe(_0x51009f- -_0x59ae5c._0x365c2f,_0x85b0f6);}function _0x1c402b(_0x2c43b5,_0x43fe49){return _0x5bbe(_0x43fe49-0x321,_0x2c43b5);}switch(_0x352be1['_visibility_type']){case 0x1:_0x1afe92+='uniform\x20samplerCube\x20lightShadowMapCube'+_0x2a1228+';\x0a',_0x156e2f+=_0x1c402b(0xcee,_0x56874b._0x50e072)+_0x2a1228+_0x5f9f74(0x523,0xc4b)+_0x2a1228+',\x20lightShadowMapCube'+_0x2a1228+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(pointLightVisibility'+_0x2a1228+_0x5f9f74(0x149f,_0x56874b._0x3c0b03)+_0x2a1228+'\x20==\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20visibility\x20+=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20',_0x1426a9['lightShadowMapCube'+_0x2a1228]=()=>{return _0x352be1['shadowMap']['_shadowMapTexture'];};break;case 0x2:_0x1afe92+='uniform\x20sampler2D\x20lightShadowMap2D'+_0x2a1228+';\x0a',_0x156e2f+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20int\x20frustumVisibility'+_0x2a1228+_0x5f9f74(_0x56874b._0x59e23b,0x2b7)+_0x2a1228+',\x20lightShadowMap2D'+_0x2a1228+');\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(frustumVisibility'+_0x2a1228+'\x20==\x201)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20inside\x20+=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x20else\x20if\x20(frustumVisibility'+_0x2a1228+_0x5f9f74(0x11f9,_0x56874b._0x5a4158),_0x1426a9[_0x5f9f74(_0x56874b._0x27bd91,-_0x56874b._0x2f6552)+_0x2a1228]=()=>{const _0x1a7604={_0x2afcf8:0x46e};function _0x4c5f5a(_0xe2f75f,_0x20d1d2){return _0x1c402b(_0x20d1d2,_0xe2f75f- -_0x1a7604._0x2afcf8);}return _0x352be1['shadowMap'][_0x4c5f5a(0x161f,_0x3c57aa._0x42b83f)];};break;}});const _0x33a9e9={};return _0x33a9e9[_0x22245b(0xa7d,0x80a)]=_0x1afe92,_0x33a9e9[_0x2f20b0(0x94,-_0x1eee82._0x3d18d4)]=_0x156e2f,_0x33a9e9;}const _0x834a81={};_0x834a81[_0x2b6441(0xff5,0x1146)]=0x3c,_0x834a81[_0x2b6441(0xb41,0x31c)]=0x2d,_0x834a81['radius']=0x1,_0x834a81['opacity']=0.6,_0x834a81['showFrustum']=![];const DEF_STYLE$1=_0x834a81;class ConeVisibility extends PointVisibility{constructor(_0x476567={},_0x5afe95=!![]){const _0x13640c={_0x21b13f:0x187},_0x317af3={_0x15741d:0x7a};_0x5afe95&&(_0x476567['style']={...DEF_STYLE$1,..._0x476567[_0x2f9ec1(_0x13640c._0x21b13f,0x7dc)]||{}});super(_0x476567);function _0x2f9ec1(_0x173ae1,_0x157bff){return _0x306755(_0x173ae1,_0x157bff- -_0x317af3._0x15741d);}this['_visibility_type']=0x2;}get[_0x306755(0x1772,0x16e7)](){return this['style']['angle'];}set[_0x306755(0x1318,0x16e7)](_0x2e270e){const _0x21b311={_0x5ecf92:0x13fa,_0x2f3dad:0x16bd};function _0x5ee18d(_0x1de48f,_0x1eb22e){return _0x2b6441(_0x1eb22e,_0x1de48f-0x2b4);}this['style'][_0x5ee18d(_0x21b311._0x5ecf92,_0x21b311._0x2f3dad)]=_0x2e270e,this['_updateDraw']();}get[_0x2b6441(0x49c,0x31c)](){const _0x2332ad={_0x1abafc:0x514,_0x495456:0x1122},_0x34ef35={_0x4bd9ec:0x58d},_0x29e058={_0x1c4e3c:0x342};function _0x1dc895(_0x53083f,_0x15ef03){return _0x306755(_0x53083f,_0x15ef03- -_0x29e058._0x1c4e3c);}function _0x289d02(_0x35c813,_0x29b95d){return _0x2b6441(_0x35c813,_0x29b95d-_0x34ef35._0x4bd9ec);}return this[_0x1dc895(0xb8c,_0x2332ad._0x1abafc)]['angle2']??this['style'][_0x289d02(_0x2332ad._0x495456,0x16d3)];}set['angle2'](_0x393675){this[_0x429534(0xe90,0x960)]['angle2']=_0x393675;function _0x429534(_0xfd640d,_0x500ef1){return _0x2b6441(_0xfd640d,_0x500ef1-0x6ab);}this['_updateDraw']();}get['targetPosition'](){return this['options']['targetPosition'];}set['targetPosition'](_0x32c02e){const _0x11cca4={_0x43e924:0x708,_0x48255b:0x1141,_0x4f009c:0x1bb2,_0x2d316a:0xfe0,_0x10ec6b:0x813,_0x166dab:0x95d,_0x652bdc:0x1fe,_0x3045ee:0xdab,_0xf24918:0x1151,_0x34accb:0x82a,_0x20eb5b:0x143b};var _0x373f58;this['options'][_0x390b63(_0x11cca4._0x43e924,_0x11cca4._0x48255b)]=_0x32c02e;if(!this[_0x390b63(0x1209,_0x11cca4._0x4f009c)])return;const _0xa48751=this['position'];if(!_0xa48751)return;function _0x509444(_0x567325,_0x27c4d1){return _0x306755(_0x27c4d1,_0x567325- -0x141);}function _0x390b63(_0x3839cc,_0x845403){return _0x2b6441(_0x845403,_0x3839cc- -0x1f);}const _0x2c4c03=LngLatPoint['toCartesian'](_0x32c02e,(_0x373f58=this['_map'])===null||_0x373f58===void 0x0?void 0x0:_0x373f58[_0x390b63(0x5ec,_0x11cca4._0x2d316a)]);this['style'][_0x509444(0x585,_0x11cca4._0x10ec6b)]=Cesium__namespace['Cartesian3'][_0x390b63(_0x11cca4._0x166dab,0x1057)](_0xa48751,_0x2c4c03);const _0x33c8e4=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0x2c4c03,_0xa48751,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']()),_0x15dcfb=Cesium__namespace['Cartesian3']['normalize'](_0xa48751,new Cesium__namespace['Cartesian3']()),_0x3138d1=new Cesium__namespace[(_0x509444(0x3ba,0x25c))](this['_map'][_0x509444(0x924,0x85e)]);_0x3138d1['position']=_0xa48751,_0x3138d1[_0x509444(0x13fa,0x133f)]=_0x33c8e4,_0x3138d1['up']=_0x15dcfb,this['style'][_0x390b63(0xc11,_0x11cca4._0x652bdc)]=Cesium__namespace[_0x390b63(_0x11cca4._0x3045ee,0x7b9)][_0x509444(0xcd7,_0x11cca4._0xf24918)](_0x3138d1['heading'])-0x5a,this['style'][_0x390b63(0x5e5,0x9c0)]=Cesium__namespace['Math'][_0x509444(0xcd7,0x140b)](_0x3138d1['pitch']),this[_0x390b63(0x126c,0xa60)]=this['_createShadowMap'](),this['_position']&&this[_0x509444(_0x11cca4._0x34accb,0xa7f)](),this[_0x509444(0x15c8,_0x11cca4._0x20eb5b)]();}[_0x306755(0x18c6,0x130c)](){function _0x2fe5a2(_0x13fc2a,_0x53cf14){return _0x2b6441(_0x13fc2a,_0x53cf14-0x1d0);}this[_0x2fe5a2(0xffb,0x88c)]['targetPosition']&&(this['targetPosition']=this['options']['targetPosition']),super['_mountedHook']();}[_0x2b6441(0xd71,0x3ca)](){const _0x2d1805={_0x43e21d:0x1782,_0x41429d:0x155a,_0x87e35a:0x974,_0x2b5635:0x14d9,_0x326de2:0x1808,_0x2c94c2:0x27e,_0x450e35:0x5a5,_0x48b42a:0x997,_0xe15126:0x86a,_0x4c15a8:0xf79},_0x1e8ab8={_0x3e4c4b:0x349},_0x3322f9={_0xf0dc76:0x20e};function _0x356e0c(_0x5025bb,_0x25f091){return _0x306755(_0x25f091,_0x5025bb- -_0x3322f9._0xf0dc76);}function _0x3cd2af(_0x2dcd5a,_0x492208){return _0x2b6441(_0x2dcd5a,_0x492208-_0x1e8ab8._0x3e4c4b);}let _0x1d139d=this['_position'];if(this['_camera']&&_0x1d139d){const _0x498ae8=this['getAddHeight']();Cesium__namespace[_0x3cd2af(_0x2d1805._0x43e21d,_0x2d1805._0x41429d)](_0x498ae8)&&(_0x1d139d=addPositionsHeight(_0x1d139d,_0x498ae8));this[_0x3cd2af(0x15e6,0xf11)]['position']=_0x1d139d,this['_camera'][_0x356e0c(0xb69,0xb8a)]['fov']=Cesium__namespace['Math'][_0x3cd2af(0x252,_0x2d1805._0x87e35a)](this[_0x356e0c(_0x2d1805._0x2b5635,_0x2d1805._0x326de2)]*0x2),this['_camera'][_0x356e0c(0xb69,0x40f)]['aspectRatio']=this['angle']/this['angle2'],this['_camera']['frustum']['far']=this[_0x356e0c(0x648,-_0x2d1805._0x2c94c2)][_0x356e0c(0x4b8,0x452)];const _0xf9ce23=Cesium__namespace['HeadingPitchRoll']['fromDegrees'](this[_0x3cd2af(_0x2d1805._0x450e35,0xf79)]+0x5a,this[_0x356e0c(_0x2d1805._0x48b42a,_0x2d1805._0xe15126)],this['roll']),_0x208046={};_0x208046['heading']=_0xf9ce23[_0x3cd2af(0x12f6,_0x2d1805._0x4c15a8)],_0x208046['pitch']=_0xf9ce23['pitch'],_0x208046['roll']=_0xf9ce23[_0x356e0c(0x7de,0x6a8)];const _0x194f72={};_0x194f72[_0x3cd2af(0x13f1,0x1279)]=_0x1d139d,_0x194f72['orientation']=_0x208046,this[_0x356e0c(0xf5b,0x1745)]['setView'](_0x194f72);}}['_createShadowMap'](){const _0x375921={_0x595c41:0x1161,_0x27f69c:0x5a7,_0x1f8d94:0x3ff,_0x497bd6:0xd62,_0x1f90fb:0xd7d,_0x4f3cbf:0x1af5,_0x20afbd:0x1196,_0xa0c783:0xb2b,_0x108e34:0x4cb,_0x19f01d:0x6be,_0x5d510e:0x41,_0x1b9509:0x16ca,_0x198d39:0x17c1},_0x259551={_0x1c167f:0x8};function _0x194803(_0x2cb3ce,_0x510972){return _0x306755(_0x2cb3ce,_0x510972- -_0x259551._0x1c167f);}this[_0x194803(0x79f,_0x375921._0x595c41)]=new Cesium__namespace['Camera'](this['_map'][_0xa69145(0xf,_0x375921._0x27f69c)]),this[_0xa69145(0x159f,0xcab)]['frustum'][_0xa69145(-0x59a,0x359)]=this['angle']/this[_0xa69145(0xca2,_0x375921._0x1f8d94)],this['_camera'][_0x194803(_0x375921._0x497bd6,0xd6f)][_0xa69145(_0x375921._0x1f90fb,0x10d1)]=Cesium__namespace['Math']['toRadians'](this[_0xa69145(_0x375921._0x4f3cbf,0x1229)]*0x2),this['_camera'][_0xa69145(_0x375921._0x20afbd,0x8b9)][_0xa69145(0x641,0xe37)]=0.01,this['_camera']['frustum'][_0xa69145(0x44a,_0x375921._0xa0c783)]=this['style'][_0x194803(_0x375921._0x108e34,_0x375921._0x19f01d)];const _0x1938d5={};function _0xa69145(_0xb01176,_0x2de41a){return _0x306755(_0xb01176,_0x2de41a- -0x4be);}return _0x1938d5['lightCamera']=this['_camera'],_0x1938d5['enable']=![],_0x1938d5['darkness']=0x1,_0x1938d5['isPointLight']=![],_0x1938d5[_0xa69145(0xfb9,0x1161)]=!![],_0x1938d5[_0xa69145(-0x687,0x37d)]=![],_0x1938d5[_0xa69145(-_0x375921._0x5d510e,0x194)]=this[_0x194803(_0x375921._0x1b9509,_0x375921._0x198d39)]['scene']['context'],_0x1938d5['pointLightRadius']=this['style']['radius'],_0x1938d5['fromLightSource']=![],_0x1938d5['depthBiasStep']=this[_0x194803(0x4d4,0xc55)]['depthBiasStep']??0xa,new Cesium__namespace[(_0x194803(0x151a,0x18a0))](_0x1938d5);}['_updateOutlineFrustum'](){const _0x2d58c2={_0x434985:0x995,_0x4cf5a0:0x1315,_0x380a0b:0x537,_0x2a17df:0x15f4,_0x7d66e8:0x74f,_0xb1dc99:0x405,_0x4324fc:0x11c,_0x521eaa:0xc4},_0x2c34b9={_0x8b3c7e:0x505};this['_outlineFrustumGraphic']&&(this[_0x4536f6(_0x2d58c2._0x434985,0xebf)]['removeGraphic'](this[_0xae0b50(_0x2d58c2._0x4cf5a0,0xa20)],!![]),delete this['_outlineFrustumGraphic']);if(!this['position']||!this['style'][_0xae0b50(0x282,_0x2d58c2._0x380a0b)])return;function _0xae0b50(_0x333820,_0x29ccfd){return _0x306755(_0x29ccfd,_0x333820- -0x616);}this[_0xae0b50(0x1315,0x11fd)]=new ArcFrustum({'modelMatrix':this[_0xae0b50(0xb53,_0x2d58c2._0x2a17df)]['inverseViewMatrix'],'style':{'angle':this['angle'],'angle2':this['angle2'],'distance':this['style']['radius']+0x1},'show':this['style'][_0x4536f6(_0x2d58c2._0x7d66e8,0x393)]&&this['show'],'private':!![]});function _0x4536f6(_0x46bbcb,_0x3c7131){return _0x306755(_0x46bbcb,_0x3c7131- -_0x2c34b9._0x8b3c7e);}this[_0x4536f6(_0x2d58c2._0xb1dc99,0xebf)][_0x4536f6(_0x2d58c2._0x4324fc,_0x2d58c2._0x521eaa)](this['_outlineFrustumGraphic']);}[_0x306755(-0x59d,0x4c9)](_0x48f194){const _0x29bb73={_0x36d660:0x4db},_0x718977={_0xc7e77b:0x1e4},_0xc4919f=Cesium__namespace[_0xcc489b(0x664,0x4bf)][_0xf63bd3(0xde7,0xe57)](this['position'],_0x48f194);function _0xcc489b(_0x13b785,_0x17fa63){return _0x2b6441(_0x17fa63,_0x13b785-_0x718977._0xc7e77b);}_0xc4919f>this['_maximumDistance']&&(_0x48f194=getOnLinePointByLen(this['position'],_0x48f194,this[_0xf63bd3(0x16d1,0xde5)]));function _0xf63bd3(_0x40cb2f,_0x591a0c){return _0x2b6441(_0x40cb2f,_0x591a0c-_0x29bb73._0x36d660);}this['targetPosition']=_0x48f194,this['_shadowMap']=this['_createShadowMap'](),this[_0xf63bd3(0xd4e,0xdfd)]&&this[_0xf63bd3(0xae1,0x8a5)]();}}register$5('coneVisibility',ConeVisibility,!![]);class SkylineBody extends PolygonPrimitive{get['position'](){const _0x3015d0={_0x3add10:0x12};if(this['_position'])return this['_position'];function _0x2a1ebb(_0x1dbed0,_0x1f814a){return _0x306755(_0x1dbed0,_0x1f814a-_0x3015d0._0x3add10);}if(this['property']){var _0x1ef903;return this['property']['getValue']((_0x1ef903=this[_0x2a1ebb(0x2281,0x17db)])===null||_0x1ef903===void 0x0||(_0x1ef903=_0x1ef903['clock'])===null||_0x1ef903===void 0x0?void 0x0:_0x1ef903['currentTime']);}}set['position'](_0x9c046a){const _0x235d61={_0x41be96:0xf6f,_0x3ecb74:0xddc,_0x205e75:0x1727,_0x42f705:0x7ea,_0x34980b:0x426,_0x12c86f:0x3d2,_0x1c5eff:0x10c0};var _0x3e133e;if(this['_forPositionProperty'](_0x9c046a))return this[_0x2d17ef(_0x235d61._0x41be96,0x17ff)];this['_point']=LngLatPoint[_0x2d17ef(0x187c,_0x235d61._0x3ecb74)](_0x9c046a);function _0x261691(_0x393235,_0x586951){return _0x2b6441(_0x393235,_0x586951-0x6bb);}this[_0x261691(_0x235d61._0x205e75,0xfdd)]=(_0x3e133e=this['_point'])===null||_0x3e133e===void 0x0?void 0x0:_0x3e133e[_0x261691(0x11f6,0xb04)]();this[_0x261691(0x194,0x858)]&&delete this[_0x2d17ef(_0x235d61._0x42f705,_0x235d61._0x34980b)];function _0x2d17ef(_0x9cc349,_0x5246bf){return _0x306755(_0x5246bf,_0x9cc349-0xac);}this[_0x261691(_0x235d61._0x12c86f,0x9a3)](EventType[_0x261691(_0x235d61._0x1c5eff,0x676)],{'position':this['_position']});}['_addedHook'](_0xa2a861){const _0x22dfca={_0x147949:0x0,_0x20d5e5:0x1278},_0x30c03e={_0x4b4332:0x53f},_0x125a77={_0x390db0:0xf0};function _0x2aef28(_0x5887cb,_0x19e62d){return _0x2b6441(_0x19e62d,_0x5887cb-_0x125a77._0x390db0);}this[_0x49faba(-0x30d,0x317)]['extrudedHeight']=this[_0x2aef28(0x3a5,_0x22dfca._0x147949)]['extrudedHeight']??0x0;function _0x49faba(_0x49dc1b,_0xf0f292){return _0x306755(_0x49dc1b,_0xf0f292- -_0x30c03e._0x4b4332);}return this['_positions']=this[_0x2aef28(0x1545,_0x22dfca._0x20d5e5)](),super['_addedHook'](_0xa2a861);}[_0x306755(0x1e9a,0x19f6)](){const _0x2acb8d={_0x21aadd:0x1ca8,_0x3df2fb:0x1a31,_0x9daa62:0x5d0};function _0xc8e0c2(_0x431948,_0x125bb4){return _0x2b6441(_0x125bb4,_0x431948-0x673);}function _0x10a8a1(_0x589887,_0x49ebc3){return _0x2b6441(_0x589887,_0x49ebc3-0x4d8);}const _0x212933=this['options']['splitNum']??0x200,_0x5aa1f8={};_0x5aa1f8['scene']=this[_0x10a8a1(_0x2acb8d._0x21aadd,0x1700)]['scene'],_0x5aa1f8['splitNum']=_0x212933;const _0x4f5ba2=getRayIntersectingPositions$1(_0x5aa1f8),_0x239254=this['position']??this['_map']['scene'][_0x10a8a1(_0x2acb8d._0x3df2fb,0xf7f)]['position'],_0x794bfe=[_0x239254];for(let _0x3c5345=_0x212933-0x1;_0x3c5345>=0x0;_0x3c5345--){for(let _0x1d6f90=_0x212933-0x1;_0x1d6f90>=0x0;_0x1d6f90--){const _0x47fa87=_0x4f5ba2[_0x3c5345][_0x1d6f90];if(_0x47fa87){_0x794bfe[_0x10a8a1(-0x3a3,0x5d0)](_0x47fa87);break;}}}return _0x794bfe[_0x10a8a1(0x7df,_0x2acb8d._0x9daa62)](_0x239254),_0x794bfe;}}register$5(_0x306755(0x9b3,0x906),SkylineBody);var ViewDomeMaterial=_0x306755(0x2333,0x18f4),ViewDomeVS=_0x2b6441(0x2c9,0x1ab),ViewDomeFS='in\x20vec3\x20v_positionEC;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20v_positionEC;\x0a\x20\x20czm_material\x20material\x20=\x20czm_getMaterial(materialInput);\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha\x20*\x20globalAlpha);\x0a}\x0a';function _0x2fb9(){const _0x129ab7=['CgXHEq','x21VCNbOq29TCgXLDgviyw5KBgvY','D2L0AefSCgHH','y2fTzxjHtw92zvn0yxj0','zNjVBunHCNrVz3jHCgHPyW','DxbKyxrLvgLHBMrPDhu','BM9FB2zM','vgfZA+wnLEs4QUwVUEIXOEwiM+w7UUwKSEI0Pq','DMfSAwq','Ahr0Chm6lY9Zzxj2AwnLCY5HCMnNAxnVBMXPBMuUy29Tl0fYy0DjuY9Yzxn0l3nLCNzPy2vZl1DVCMXKx0LTywDLCNKVtwfWu2vYDMvY','z29gAxjZDa','r3jPze1HDgvYAwfSuhjVCgvYDhK','x2fUz2XL','x2LUAxrdAgLSzeDYyxbOAwm','CgLJA0LK','B2zMC2v0v2LKDgG','z3vUDw5Nx3nLz2fYyq','ChG7cIaGls1JBgLWlwHLAwDODc0YoIa','C2LUz2fT','Bwf4Aw11BvnPEMvz','z2v0qMLZzwn0B3joB3jTywXZ','zgvIDwDNzxjuAwXLsw5MBW','x21HCev4','x2PHA2fYDge','zMeGzMeTCNnZ','x21LCMDLu3r5BgvuB09WDgLVBNm','x29Utw91C2vnB3zLtwfWsgfUzgXLCG','v2LKz2v0CY9jBwfNzxmVvgvYCMfPBLbYB3zPzgvYCY9dzxnPDw1xB3jSzfrLCNjHAw4UCg5N','x2DLDerYyxDqB2LUDevUDgL0EunSyxnZ','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXnYaRAZ0XicT4xZa9mJa1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','CMvZB2X1DgLVBNm','x21HDgvYAwfSx2nVBg9Yx2fSCgHH','AgvSBwvYDa','Bw9KzwW','v2fSBeDLB21LDhj5','Dw5PB24','v2f0zxi','y2vZAxvTlwjHC2vmyxLLCLbPy2TLCI1JyxrLz29YEvrPDgXL','rgvSzxrL','z2fWq29SB3i','x2DLDefKzhjLC3nFAw5N','x2LUAxrcEvbVC2L0Aw9U','C2HVD1vW','z2vVy29Kzxi','C3rYB2TLlxDPzhrO','Bgf0q29SDw1U','Bwf0zxjPywW','r2vVC3rHDgLVBMfYEv9tyxrLBgXPDgu','BwfWrxG','ywXSy291BNq','BwvYy2f0B3jZmMnHCNrLC2LHBNm','x2DLDerYyxDfBNrPDhLdBgfZCW','x2fKzfbPDeDYyxbOAwm','x2rPCLn0zxa','v2fSBfbYAw1PDgL2zq','B3v0BgLUzq','y2fYDg9NCMfWAgLJtgLTAxrszwn0yw5NBgu','yM91BMrPBMDtCgHLCMvuAwXL','CgL4zwXpzMzZzxq','x3rVt25LsNnVBG','z2v0r2vVBwv0CNLjBNn0yw5Jzuf0DhjPyNv0zxm','x2nYzwf0zuvUDgL0Eq','C2HHzgvYuhjVz3jHBq','C3rVCef1Dg9gB3j3yxjK','BxbYDhm','y3vYDMu','x2HPzgvgzwf0DxjLCW','Dg90ywXbCMvH','yxjLyv9VCMLNAw5HBa','DgvTCgXHDgvfBxb0Evn0CG','x21HEfjHBMDLtgvUz3rO','y2HPBgroB2rLCW','C2HVD0rVBwvmAw5LCW','zxzYC3rtuW','z2v0sgvHzgLUz1bPDgnOuM9SBezVCKXPBMu','x2DLDev2zw50qNLuExbL','B25tDgfYDa','AgrY','r0vpq0nt','iZu1zMyZmW','twvYy2f0B3i','DgLSzxnszw5KzxjLza','x3bHCMvUDa','DMvJ','x29YAwDPBG','C3bSAxrbCNi','tgf0Axr1zguGB2yGzMfSC2uGB3jPz2LU','x3PLyw4','E3H9','B3DUzxi','CgfYDgLJBgvtAxPL','Bw9KzwXvCef4Axm','y2fYDg9NCMfWAgLJvg9dyxj0zxnPyw4','x3vWzgf0zuf2ywLSywjPBgL0EuHVB2S','tgLUzvrOCMvLrgfZAe1HDgvYAwfSuhjVCgvYDhK','ug9SEwXPBMvwB2X1BwvfBNrPDhK','Cg9PBNrZ','ug9PBNrdBg91za','zxHPDez1BgXZy3jLzw4','x2LUAxrqCMfYBxncEuXHEwvYx01HC2S','ywPHEa','x3jLBw92zufYzwfiB29R','Cg9ZAxrPB25Z','y3jZ','AwnVBG','BxvSDgLWBhLuCMfUC2zVCM1HDgLVBG','cIaGicaGidXIDxr0B24GAwq9iMj0BI1JBg9JA0fUAw1HDguTC3rHCNqIignSyxnZpsjTyxjZm2qTy2XVy2TbBMLTyxrLlwj0BIiGDgL0Bgu9iG','C2HVD1nRAxj0CW','x3vUyMLUzev2zw50','zgvMyxvSDfzPC3vHBgL6zxjZq2fSBgjHy2S','x3DHBgXFBwf4Aw11BuHLAwDODhm','z2v0rgvYAxzLzfnOywrLCLbYB2DYyw0','CMvXDwvZDeLTywDL','DgvTCgXHDgvwywX1zxm','q29UzvrYywnR','Dg9WuMfKAxvZ','zwrPDeHLAwDODa','zgfZAfbVD2vY','BgfTyMrHma','zw50Axr5','5ywZ6zET5AsN5Rcu5RIY5P+t','qKXvrq','x+wfS+MxREEoR+E7LEMJNUIHJa','xZb4nwu1nJjJ','AgfZt3bHy2L0Eq','x+INKUw6PG','y2LYy2XLug9PBNrZxZi','EuHHBgzbBMDSzq','x2XHEwvYCW','z2v0r3jHCgHPy3ncEuf0Dhi','DgHPy2TUzxnZ','x3bVAw50rxG','Bw92zuXLzNq','vu5qqunlx0zmsvbFwv9xrujhta','AtnZtM9Kzq','vgLSzxnLDeXHEwvY','pgrPDIbPzd0IDg9VBhrPCc0','C3rHy2Tqyxj0AxrPB25Z','vMLLD1nOzwq','rvbtrZO5mda5mtm','twfYCZnex0XPz2H0tNvTvMfSDwu','Dg9wywX1zq','pc9SywjLBd4','Dg9gAxHLza','AxnnyxjZt25SAw5L','x21HCf9TB3vZzu1VDMu','y29TCg9Uzw50rgf0yxr5Cgu','CMvZCg9UC2vuExbL','BgLUzu9MzNnLDa','ywrKq29UDhjVBa','x+wnLEwhU+wINUwkOoEcUq','BgfZDfbHCMfTzxrLCNm','z2v0qxjYB3DizwfKug9PBNrZ','zwXSAxbZzu5HBwu','Ahr0Chm6lY9TyxbVBMXPBMv7C30UyMrPBwCUy29Tl3rPBguVp3f0pxz0AwXLjNG9E3H9jNK9E3L9jNO9E3P9jNn0EwXLCZ0','Fsa9pt0N','CxvLCNLqB2X5z29U','t0jmsve','C2HHzgu','x2f4AxnsB3rHDgLVBG','DMvYDgv4u2HHzgvYu291CMnL','vKvdmW','z2v0q2LYy2XLq2vUDgvYt2zuAhjLzvbVAw50CW','rM9NrwzMzwn0wwvZ','rvbtrZq0ota','x25VCM1HBgL6zq','ruXmsvbtt0Le','B2zMC2v0tgfIzwW','EwvSBg93','z2vVBwv0CNLtDgf0zq','zgvMyxvSDeXHEwvY','x3nLDenHBwvYyvzPzxDmAxn0sxrLBq','x3nOywrVD01HCfrLEhr1CMu','ignVBxbHC3mTAw5UzxiTywn0AxzL','z2v0q29TChv0zwrtDhLSzq','CM91Dgu','x+wfS+MxREwCSow9OG','ug9SEwXPBMvbCNjVD01HDgvYAwfSuhjVCgvYDhK','Bg9UBgf0CZjJyxj0zxnPyw5Z','ufjpsKnsuW','AgfZugL4zwXpzMzZzxq','x2rLzMf1BhruzxjYywLUuhjVDMLKzxi','x3nLy3rVCLnLz21LBNrmAw5LvKe','zMXVB2rcEu1HDgvYAwfS','uefsveLbta','zNjVBuzYyw1LyNvMzMvY','v2fSA2LUzW','x21HCf9TB3vZzurVD25iyw5KBgvY','x2DYyw51BgfYAxr5','C2fTCgXLsgvPz2H0','sNvSAwfUrgf0zq','z2v0q29VCMrPBMf0zq','BMvJA1DPzhrOrMfJDg9Y','zg90','B25HyM9YDa','x2DLDfbVC2L0Aw9UCW','Dv9TyxjZm2rFy2XPCf9PBNzLCNnLtwf0CML4','rvbtrZO0ndKZ','BgfIzwXtDhLSzunVBNzLCG','q3rYBefUzenSAwnRrhjHzW','AgLKzgvUqxjLyunVBg9Y','ltqWmYW2odqSnde','CMfUz2u','z2vVy2vUDa','C3rYB2TL','CMvSB2fK','CxvLCNLtzwXLy3rVCKfSBa','BgLUzxm','x21HEgLTDw1mzxzLBa','CMvZCg9UC2vuzxH0','vMvYDgv4rM9YBwf0','C3rVCe1VDMvnyxrYAxG','Aw5UzxjsywrPAv96','x3rHCMDLDfbVC2L0Aw9U','x2LK','x2DYyxrPy3vSzvbYB3zPzgvY','Bg9N','y29SB3jbBhbOyuj5rgLZDgfUy2u','Bg9JyxrPB25cyxi','ywX0','B3bLBLrVB2X0Axa','Cg9SEwDVBLn0EwXLq29UDMvY','rvbtrZO0ntqY','AgvPz2H0vg9AB29T','5PI+56s65lIj6kEs572r','qxHPCW','tw91C2veB3DUvMLLDW','r09pr0Xf','yMLUzfbVChvW','y2fUy2vSqw5PBwf0Aw9UrNjHBwu','k3bYB2O9Bg9Uz2XHDcaRzwXSChm9r1jtodaGk25Vx2rLzNm','r2vVy2vUDa','x2jPBgXIB2fYzenVBgXLy3rPB24','DgLSzvbYB3zPzgvY','zwfJAfrOAw5N','BwfNBMLMAwnHDgLVBKzPBhrLCG','y29UC3rYywLUzwrbEgLZ','x3vWzgf0zuvKAxreCMfNz2vYCW','ywXSx2rPC3rHBMnL','rKLmtf9btKrFt1vuteLorq','tuLox1zbtfvf','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIihn0yw5KywXVBMu9iM5ViJ8+cJXZDMCGD2LKDgG9iJe2mNb4iIbOzwLNAhq9iJe2mNb4iIb2Awv3qM94psiWidaGmtyYide2mIiGDMvYC2LVBJ0Ims4XiIb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIihHTBg5ZoNHSAw5RpsjODhrWoI8VD3D3lNCZlM9YzY8XotK5l3HSAw5RiJ4kicaGidX0AxrSzt4KDgL0BguKpc90AxrSzt4kicaGidXKzxnJpM1HCNmZzc5JBJWVzgvZyZ4kicaGidXKzwzZpJWVzgvMCZ4kicaGidXNigLKpsjqywDLlteIihn0CM9Rzt0IBM9UzsiGC3rYB2TLlxDPzhrOpsiXiIbMAwXSlxj1Bgu9iMv2zw5VzgqIpGOGicaGicaGidXNigLKpsjJB21WyxnZlw91DgvYiIbMAwXSlxj1Bgu9iM5VBNPLCM8IpGOGicaGicaGicaGica8Cgf0AcbKpsjnodaUodqXmdu0ncWXnJeUnJGYmta5iemZnI4Xotm3nZmXlde2ms42odiXmdKGmcWXmJuUndG4mZm2idaSodaUodqXmdu0ncbdmcWZnI4Xotm3nZmXidm2lJe5mZC3mZeSmca4mc44ndeWntq0ldaGqZeYns40odGZmZySmcaXnJeUnJGYmta5ldm2lJe5mZC3mZeGmtyXlJy4mJeWosW4mc44ndeWntq0iemXnJeUnJGYmta5ldeYns40odGZmZyGmti1lJq4odmZnIWXnJeUnJGYmta5idGWlJG0mta1ndqSmtyXlJy4mJeWosbAie04ms4Xodm2mdeXldeZnc42mJa5mdKGqZeXmc42otyYmteSmtm0lJyYmdKWosaXmZqUnJiWota5ldeXmc42otyYmteGmtm0lJyYmdKWosW4ms4Xodm2mdeXiemXmZqUnJiWota5lduXlJy3mdK5mtyGmteWlJy5nJiXmsWYnY43ndyYotqXidGXlJe4mZyWmteSmJCUnZq2mJK0msbdnteUnJCWotKXnIWYnY43ndyYotqXidi3lJC0nJi5ndeSnteUnJCWotKXnIaYnY43ndyYotqXldGXlJe4mZyWmteGqZi3lJC0nJi5ndeSmteWlJy5nJiXmsa1ms42nZa5ote2ldeZnc42mJa5mdKGodeUmtGZnJaXmsWXmZqUnJiWota5ifOIigLKpsjpDMfSlteWoci+pc9WyxrOpGOGicaGicaGicaGica8y2LYy2XLigLKpsjpDMfSltC0iIbMAwXSpsiJrKzgrKzgiIbJEd0Imti5lJq5mZy4mYiGy3K9iJeYnY45ntiWotiIihi9iJeUntqXntKXndCIpJWVy2LYy2XLpGOGicaGicaGicaGica8y2LYy2XLigLKpsjpDMfSltC0lunVChKTmYiGzMLSBd0Ii0zgrKzgrIiGy3G9iJeYos40otm2odmIign5psiZns40nty2mdm4iIbYpsiXlJu0mtu5mtq3iJ48l2nPCMnSzt4kicaGicaGicaGicaGpgnPCMnSzsbPzd0It3zHBc03nc1dB3b5ltuIigzPBgW9iIngrKzgrKyIign4psiZmc44mZe4mJK0iIbJEt0Imti3lJK1mJa5mIiGCJ0Ims41nde1ote0nYi+pc9JAxjJBgu+cIaGicaGicaGicaGidXJAxjJBguGAwq9iK92ywWTnZqTq29WEs00iIbMAwXSpsiJrKzgrKzgiIbJEd0ImZaUodmXodi5nciGy3K9iJm1lJq1nJyWmZGIihi9iJeUntqXntKXndCIpJWVy2LYy2XLpGOGicaGicaGicaGica8Cg9SEwDVBIbPzd0ItIiGzMLSBd0Ii0zgrKzgrIiGCg9PBNrZpsi4nc45mZe4mdCYidiZlJeYmZG3mJeGodqUotmXoda3mIaXmY4XmZiXmZyYidGYlJu2mJmZoduGmtmUmtmYmtm2mIa4mI41nJiZmZG1ide5lJi5odq2ndyGnZCUotuXody2ideZlJeZmJeZnJiGnZuUnZeWodyYnsaXmY4XmZiXmZyYidC1lJCXmdG2mJuGmJmUmtiZodCYmsa3oc4Wotq2mduZidiZlJeYmZG3mJeGnZGUmdK0nJa1mYaXnI45nZe4mtC2idGYlJy5mdGWmZCGmJmUmtiZodCYmsi+pc9WB2X5z29UpGOGicaGicaGicaGica8Cg9SEwDVBIbPzd0ItgLUzsiGzMLSBd0Ii0zgrKzgrIiGCg9PBNrZpsiXndmUmZy4mda3idGYlJeWotm0nZyGmtuYlJyXnZu1nsa4mI4XmdKZndC2ide1mI42mtC1ntuGodeUmJK5mZq3nIaXndmUmZy4mda3idGXlJi5otm0nZyIpJWVCg9SEwDVBJ4kicaGicaGicaGicaGphbVBhLNB24GAwq9iKXPBMuTq29WEs04iIbMAwXSpsiJrKzgrKzgiIbWB2LUDhm9iJKUmJq5ntq4odqGodiUmta5mZq3nIaXoc40otKWotC2idGYlJeWotm0nZyGmtGUndK5mdK3nIa4ms4YotKZndC2idKUmJq5ntq4odqGodeUmJK5mZq3nIi+pc9WB2X5z29UpGOGicaGicaGicaGica8Cg9SEwDVBIbPzd0ItgLUzsiGzMLSBd0Ii0zgrKzgrIiGCg9PBNrZpsi4ms4YotKZndC2ide0mY4ZnJGWmdCGodeUmJK5mZq3nIaXntiUnJe3ntu1idGYlJeWotm0nZyGmtuYlJyXnZu1nsa4mI4XmdKZndC2ide0mY4ZnJGWmdCIpJWVCg9SEwDVBJ4kicaGicaGica8l2C+cIaGica8l2C+cJWVC3zNpGO','uY1kvfnlicHgzxjYBYK','x2DYyxbOAwnmyxLLCL9Szwz0vxa','qMXVB21fzMzLy3roBW','uKvbrfK','DhjLzq','zhjPBgXqAwnR','x2XPz2H0rgLYzwn0Aw9Urum','6AUy5BQM5BEU','ChjVAJruCMfUCW','sw1Hz2uYtwf0zxjPywXqCM9Wzxj0Eq','AgvHzgLUz1bPDgnOuM9SBff1yxrLCM5PB24','cIaGicaGicaGAw50ihbVAw50tgLNAhrwAxnPyMLSAxr5','x2nHCNrVz3jHCgHPyW','tgLNAhrtAgfKB3DnyxbZu2HHzgvY','x2HHC0nOyw5NzurLChrOvgvZDefNywLUC3ruzxjYywLU','y2XVC2vcDg4','x2DLDev4y2X1zgvKu3r5Bgu','cI8VifbLCM11Dgf0Aw9UihbVBhLUB21PywW6icGZnhHEmIaRihGPig1VzcaYodKkDMvJmYbFy3PTx3bLCM11DguYodKODMvJmYb4ksb7cIaGCMv0DxjUig1VzcGOmZqUmcaQihGGkYaXlJaPicOGEcWGmJG5lJaPoWP9cGP2zwmYign6Bv9JzwXSDwXHCIH2zwmYifaPihSkicaJzgvMAw5LieSGmc4Xndi4ntCXndi4ntCGlY8Gms83cIaGi2rLzMLUzsblBYaWlJqYodu3mtqYodu3msaVlYaZlZCkicaJzgvMAw5LigPPDhrLCIaXlJaGlY8GtgvZCYbNAxzLCYbTB3jLihjLz3vSyxiGCgf0DgvYBGOGihzLyZiGugKGpsbTB2qOzMXVB3iOucKSidi4os4WktSkicb2zwmYifbMid0GzNjHy3qOucK7cIaGDMvJmYbVAsa9ihzLyZmOlteUmcWGmc4WlcaXlJaPoWOGihzLyZmGB2yGpsb2zwmZkc0WlJuSidaUnsWGms41ktSkicb2zwmZihb4id0Gx2n6Bv9WzxjTDxrLmJG5kfbPlNGGkYbVAsK7cIaGDMvJmYbWid0Gx2n6Bv9WzxjTDxrLmJG5khb4lNGGkYbqAs55icSGB2KPoYaVlYbWmteSihaXmIWGCdeZcIaGDMvJmYbVEca9igzYywn0khaGkIblksaTieTVoWOGihzLyZmGB3KGpsbTB2qOzMXVB3iOCcaQieSPlca3lJaPicOGsYaTieTVoWOGihzLyZmGzhGGpsbqzI54icSGmc41icSGAML0DgvYicOGB3G7cIaGDMvJmYbKEsa9ifbMlNKGlsbVzIaRigPPDhrLCIaQig95oWOGihzLyZmGzdeGpsbKEcaQigr4icSGzhKGkIbKEtSGlY8GzdeXlcbKmtiGyw5KigqXmYWGC3f1yxjLzaOGihaGpsbFy3PTx3bLCM11DguYodKOChGUEsaRifbPlNKGkYbVAsK7ic8VihaYmsWGCdiYlcbWmJmkicbVEca9igzYywn0khaGkIblksaTieTVoWOGig95id0GBw9KkgzSB29YkhaGkIblksWGnY4WksaQieSGlsblBZSkicbKEca9ifbMlNGGlsaWlJuGkYbQAxr0zxiGkIbVEdSkicbKEsa9ifbMlNKGlsbVzIaRigPPDhrLCIaQig95oWOGihzLyZmGzdiGpsbKEcaQigr4icSGzhKGkIbKEtSGlY8GzdiXlcbKmJiGyw5KigqYmYWGC3f1yxjLzaOGihaGpsbFy3PTx3bLCM11DguYodKOChGUEIaRifbPlNKGkYbVAsK7ic8VihaZmsWGCdmYlcbWmZmkicbVEca9igzYywn0khaGkIblksaTieTVoWOGig95id0GBw9KkgzSB29YkhaGkIblksWGnY4WksaQieSGlsblBZSkicbKEca9ifbMlNGGlsaXlJuGkYbQAxr0zxiGkIbVEdSkicbKEsa9ifbMlNKGlsbVzIaRigPPDhrLCIaQig95oWOGihzLyZmGzdmGpsbKEcaQigr4icSGzhKGkIbKEtSGlY8GzdmXlcbKmZiGyw5KigqZmYWGC3f1yxjLzaOGicaGlY8Gu29YDcbVDxqGDgHLihr3BYbZBwfSBgvZDcbKAxn0yw5JzxmGkeyXlcbgmIKkicb2zwmZigqXysa9ig1PBIHKmsWGzdiPoWOGigqYid0GBwf4kgqXlcbKmIK7ic8Vifn3yxaGDg8GA2vLCcbJyw5KAwrHDgvZigzVCIbgmGOGigqYid0GBwLUkgqYlcbKmYK7ic8Vig5LAxrOzxiGrJeGBM9YieyYigfYzsbUB3CGAw4GzdmkicbKmsa9ig1PBIHKmweSigqYktSGlY8GrJeGAxmGBM93igLUigqXcIaGzdiGpsbTyxGOzdfHlcbKmIK7ic8Vifn3yxaGDg8GA2vLCcbJyw5KAwrHDgvZigzVCIbgmGOGigqXlNH5id0GkgqXlNGGpcbKms55ksa/igqXlNH5idOGzdeUExG7ic8Vifn3yxaGAwyGC21HBgXLCGOGigqXlNH6id0GkgqXlNGGpcbKms56ksa/igqXlNH6idOGzdeUENG7ic8VieyXigLZigLUigqXlNGkicbKms55EIa9ig1PBIHKms55EIWGzdiUExOPoYaVlYbgmIbPCYbUB3CGBM90igLUigqYlNL6cIaGzdeUEsa9ig1PBIHKms55lcbKms56ktSGlY8GBM9YigLUicbKms56cIaGzdeUEsa9ig1PBIHKms55lcbKmI54ktSGlY8GrJiGAxmGAw4GzdeUEsWGD2uNCMuGzg9Uzs4kicbYzxr1CM4GC3fYDcHKms54EsK7cN0k','BgfZDfrPBgvZv2fPDgLUz0zVCKnOAwXKCMvU','x21HCev4DgvUDfbVC2L0Aw9UCW','ugfUvMLLDW','zNnJAhi2mg0','zw5Krgf0zq','z2v0uMvHBfnOB3C','C2HHzg93vMLZAwjPBgL0EvnOywrLCG','x2DLDePZB25qB3nPDgLVBNm','x2XPBwL0r2XVyMu','CMvKCMf3','ywDL','y2fUy2vS','lY9KyxrHlM1HCNmZzc5JBI9PBwCVDgv4DhvYzxmVD2f0zxjoB3jTywXZlMPWzW','x2vSBgLWC29Pza','t3bLCMe','x2nHy2HLx2rHDge','zNjVBvjVDgf0Aw9Utwf0CML4','x2nVBg9Yq29TBwfUzhm','Aw5UzxjsywrPAv94','ywnVCW','CMvMBgvJDg9YvMLLD01HDhjPEa','CgL4zwXsyxrPBW','l3f1zxj5','Dg9mB3DLCKnHC2u','rhjHD0rVD25kC29U','CMDIysGYntuSidi1nsWGmJu1lcaWlJaP','x21Lyxn1CMvK','C3bSAwnL','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXmsaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','x2jVDw5KAw5Nu3bOzxjLv0m','zwfJAeLUC3rHBMnLCW','pc9KAxy+cIaGicaGicaGicaGicaGicaGica8zgL2ihrPDgXLpslLPkFLNlaYmdaW5z2q5QchiJ48BgfIzwW+','C2vTAu1PBM9YqxHPCW','x19PBML0vxbKyxrLrM9YqxzHAwXHyMLSAxr5','zM9YBwf0rgf0zq','x21LBNvpyMO','ug9SEwXPBMvhzw9TzxrYEq','q2vUDhjHBf9nzxjPzgLHBG','Bwf4Aw11BvrLCNjHAw5mzxzLBa','x21VDMveAxn0yw5Jzvn0zxa','BgfZDf9OAwDOBgLNAeDYyxbOAwm','Cg9WDxbpCgvU','s0rcDxnO','tKvbuKvtva','y2XHBxbuB0DYB3vUza','x2nVBxb1DgvKu2nHBLbSyw5Ltw9KzwXnyxrYAxG','v2fSBe91DgXPBMvhzw9TzxrYEq','BgvMDfvW','cIaGDM9PzcbTywLUkcKGEWOGicaGy3PTx3zLCNrLEfbPy2TFBwfPBIGPoWOGicaGz2XFug9PBNrtAxPLid0Gms4WoWOGih0kica','CgLUy2HfBMq','B2jQzwn0Awq','i0zgotC0mG','C2LSAg91zxr0zvnPEMu','CMfPC2vfDMvUDa','zhvYyxrPB24','Dv9ZAg93sw50zxjZzwn0Aw9U','Dg9eyxrHvvjm','x3vWzgf0zu1VDxnLrhjHDW','x2DLDe1VzgvStwf0CML4','y29UDgv4De1LBNvpCgvU','x3nLDevKAxrdDxjZB3i','AhvL','vgLSzxnLDejVDw5KAw5NvM9SDw1LwwvZ','C2v0sgvHzgLUzW','y3jLyxrLuMvJDgfUz2XLuhjPBwL0AxzL','x21HDgvYAwfSq2fJAgu','y3jLyxrLu2HHzgvY','ug9SEwDVBKHPzxjHCMnOEq','B3bLBLbVChvW','C2HVD0zPBgXcB3G','yxbWBhK','peLUDgvYC2vJDhm+cIaGicaGicaGicaGicaGicaGicaGica8uhjVCgvYDhLoyw1LpG','y2LYy3vSyxjFy2XVBMvFDg9Wug9PBNrZ','rKLe','Aw5KzxHpzG','x3bYAw1PDgL2zv9VDxrSAw5L','vgLTzwXPBMu','x+wfS+MxREs6RUw6PG','x3rPBgvZzxq','qMLSBgjVyxjKq29SBgvJDgLVBG','Aw1N','x3vWzgf0zuvKAxreCMfNz2vYug9ZAxrPB25izwLNAhq','y29SDw1U','vu5jvf9A','x3n0yxj0rwrPDgLUz0HVB2S','rNj1C3r1Bu91DgXPBMvhzw9TzxrYEq','x2XHC3rFC2HHzg93CW','x3rVt25Lq2vZAxvTvMfSx1bVBhK','CgXHBMvFBM9YBwfS','rMLYC3rqzxjZCgvJDgL2zq','x21LCMDLug9ZDgLVBG','x2XHEwvYsw1N','q2fYDgvZAwfUmG','C291DgHLyxn0q2HPBgq','x3nOB3DeCMf3tw91C2vnB3zLu21HBgXuB29SDgLW','z2v0qxr0CMLIDxrL','BwLSBa','CMvZAxPL','rvbtrZO0ntq0','Aw5UzxjsywrPAq','CMDIysGXndaSidiZmcWGntaSidaUmYK','ugfYywXSzwXVz3jHBvbYAw1PDgL2zq','Cg9SEwXPBMvd','CMvUzgvYu3rHDgu','x3jLywroB2rL','BxvSDgLWBhLcEvbVAw50','DxbWzxjmB25NAxr1zgu','q2fTzxjH','x3nLDfPjBMrLEa','tw9ZywLJrwzMzwn0','x2DYyxbOAwnFCM90yxrLx3O','z2vVAwruAwXLzfrLCNjHAw5qCM92AwrLCG','B2zMC2v0qxr0CMLIDxrL','C3rHCNrZv2L0Aa','EK9MzNnLDa','rvbtrZO0ntm4','CgfKzgLUzW','y3jLyxrLrhjHD0nVBw1HBMq','x2nHBwvYyu1VDMvtDgfYDeHHBMrSzxi','x2vUDgL0AwvZvg9wAxn1ywXPEMu','vw5KzxjNCM91BMroBW','x2fSBfbHz2u','sw50zxjZzwn0Aw9UvgvZDhm','x2LTywDLCNLmyxLLCG','Cgf1C2u','D2zZoG','y2fWywjPBgL0AwvZ','ywXWAgfqB3DLCG','z2v0sw1Hz2veyxrH','ru5hsu5frvjjtKDduLm','y29UDMvYDeXmmK1d','x2XHBMC','wfPFvfjbtLnmqvrjt04','z2v0uMvXDwvZDa','twvHC3vYzufYzwe','zNjVBvbVC2L0Aw9UCW','z2v0twLSBgLZzwnVBMrZ','x2jVDw5KAw5Nu3bOzxjL','ExL5Es1nts1Kza','twLK','pc9mAxrLCMfSpGOGicaGicaGicaGica8l1bYB3bLCNr5sxnfCxvHBfrVpIa','Cg9ZAxrPB25ZtMv3','zNjHz21LBNrtAgfKzxjuzxH0','x2DS','BMf2AwDHDgLVBKHLBhbcDxr0B24','z2v0vgLTzq','Bw92zurLBgf5','qxnZzxrZl1rLEhr1CMvZl05HDhvYywXfyxj0AeLj','yxjJx3O','zMvHDhvYzvrVr3jHCgHPyW','x3rPBgvqCM92AwrLCG','x21HCNnpChrPB25Z','vevyvfvsrv8Zra','Dw5PzM9YBsbIB29SihvFBwfYCZnKx2zSyxrFzw5HyMXLzdSkDw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFzMXHDf90zxH0DxjLoWP1BMLMB3jTig1HDdqGDv9TyxjZm2rFzMXHDf9TyxrYAxG7cNvUAwzVCM0GBwf0ncb1x21HCNmZzf9MBgf0x2LUDMvYC2vnyxrYAxG7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXHDf9Yyw5Nzu51BwjLCJSkDw5PzM9YBsbMBg9HDcb1x21HCNmZzf9MBgf0x21HEfjHBMDLtgvUz3rOoWOkDMvJncbYzxn0B3jLug9PBNrFBwfYCZnKx2zSyxqODMvJncbWB2LUDcKGEWOGihzLyZmGB3v0Cg9PBNqGpsbWB2LUDc54ExOGkIbWB2LUDc53oWOGihjLDhvYBIb1x21HCNmZzf9MBgf0x2LUDMvYC2vnyxrYAxGGkIb2zwm0kg91DhbVAw50lcaXlJaPoWP9cGP2zwm0igDLDfjLz2LVBNnFBwfYCZnKx2zSyxqOzMXVyxqGEcWGzMXVyxqGEsKGEWOGigzSB2f0ihuGpsaOEcaRidaUnsKGlYaODv9TyxjZm2rFzMXHDf9TyxHsyw5NzuXLBMD0AcaRideUmcK7cIaGzMXVyxqGDIa9icH5icSGmc41ksaVihvFBwfYCZnKx2zSyxrFCMfUz2voDw1Izxi7cIaGDMvJncbWB2LUDca9ihrLEhr1CMuODv9TyxjZm2rFzMXHDf90zxH0DxjLlcb2zwmYkhuSihyPktSkicbYzxr1CM4GCg9PBNq7cN0kcMzSB2f0igLUuMvJDgfUz2XLx21HCNmZzf9MBgf0khzLyZqGDgv4DfbVAw50ksb7cIaGzM9YkgzSB2f0igGGpsaWlJa7igGGpcb1x21HCNmZzf9MBgf0x3jHBMDLtNvTyMvYoYbOicS9ideUmcKGEWOGicaGzMXVyxqGy3vYCMvUDeXLBMD0Aca9igDLDfjLz2LVBNnFBwfYCZnKx2zSyxqOmc4WlcbOks54oWOGicaGzMXVyxqGy291BNrLCIa9idaUmdSkicaGigzVCIHMBg9HDcb3id0Gmc4WoYb3idWGy3vYCMvUDeXLBMD0AdSGDYaRpsaXlJaPihSkicaGicaGzMXVyxqGBMv4DeLUzgv4id0GDYaRideUmdSkicaGicaGBMv4DeLUzgv4id0GBMv4DeLUzgv4id49ign1CNjLBNrmzw5NDgGGpYaWlJaGoIbUzxH0sw5KzxG7cIaGicaGihzLyZqGCdeGpsbYzxn0B3jLug9PBNrFBwfYCZnKx2zSyxqOz2v0uMvNAw9UC19TyxjZm2rFzMXHDcH3icSGms4WlcbOksK7cIaGicaGihzLyZqGCdiGpsbYzxn0B3jLug9PBNrFBwfYCZnKx2zSyxqOz2v0uMvNAw9UC19TyxjZm2rFzMXHDcHUzxH0sw5KzxGGkYaXlJaSigGPktSkcIaGicaGigzSB2f0ihaXEca9ihaXlNG7cIaGicaGigzSB2f0ihaXEsa9ihaXlNK7cIaGicaGigzSB2f0ihaYEca9ihaYlNG7cIaGicaGigzSB2f0ihaYEsa9ihaYlNK7cIaGicaGigzSB2f0ihrLEhrqB2LUDhGGpsb0zxH0ug9PBNqUEdSkicaGicaGzMXVyxqGDgv4DfbVAw50Esa9ihrLEhrqB2LUDc55oWOkicaGicaGAwyOCdf4ice9ihaYEcaMjIb0zxH0ug9PBNr4id4GBwLUkhaXEcWGCdj4ksaMjIb0zxH0ug9PBNr4idW9ig1HEcHWmxGSihaYEcKGjIyGDgv4DfbVAw50Esa8psbTyxGOCdf5lcbWmNKPksb7cIaGicaGicaGzMXVyxqGEgLUDgvYCYa9icGODgv4DfbVAw50EcaTihaXEcKGkIaOCdj5ic0GCdf5ksKGlYaOCdj4ic0GCdf4ksaRihaXEtSkicaGicaGicbPzIHWmxKGpt0GCdj5ihX8ihrLEhrqB2LUDhKGpd0GEgLUDgvYCYKGEWOGicaGicaGicaGy291BNrLCIaRpsaXlJa7cIaGicaGicaGFqOGicaGicb9cIaGicb9cIaGicbPzIGOBw9KkgnVDw50zxiSidiUmcKGit0Gmc4WksKGEWOGicaGicbYzxr1CM4GAdSkicaGih0kicb9cIaGCMv0DxjUidK5otK5lJa7cN0kcNzVAwqGDMvYDgv4twfPBIHwzxj0zxHjBNb1Dcb2C0LUChv0lcbPBM91DcbJEM1FBw9KzwXwzxj0zxHpDxrWDxqGDNnpDxrWDxqPihSkicbPzIH1x21HCNmZzf9MBgf0x2vUywjSzwqPihSkicaGihzLyZmGCg9ZAxrPB25nqYa9ihzZsw5WDxqUyxr0CMLIDxrLCY5WB3nPDgLVBK1doWOkicaGihzLyZqGDgvZDfbVC2L0Aw9Uid0GDv9TyxjZm2rFzMXHDf9PBNzLCNnLtwf0CML4icOGy3PTx21VzgvSicOGDMvJncHWB3nPDgLVBK1dlcaXlJaPoWOGicaGzMXVyxqGCMvJDgfUz2XLsw5KzxGGpsbPBLjLy3rHBMDSzv9TyxjZm2rFzMXHDcH0zxn0ug9ZAxrPB24PoWOGicaGAwyOCMvJDgfUz2XLsw5KzxGGit0GotK5otKUmcKGEWOGicaGicbMBg9HDcbTB2rLBerHDhvTsgvPz2H0id0Gz2v0uMvNAw9UC19TyxjZm2rFzMXHDcGWlJaSihjLy3rHBMDSzuLUzgv4ks55oWOGicaGicb0zxn0ug9ZAxrPB24UEIa9ig1VzgvSrgf0Dw1izwLNAhqGkYb0zxn0ug9ZAxrPB24UEIaQidaUmdaWntSkicaGicaGDNnpDxrWDxqUCg9ZAxrPB25nqYa9icHJEM1FAw52zxjZzu1VzgvSicOGDv9TyxjZm2rFzMXHDf9TyxrYAxGGkIb0zxn0ug9ZAxrPB24PlNH5EJSkicaGih0kcIaGFqP9cG','x3rPBgvZzxrnyxrYAxG','DxbKyxrLrw52AxjVBM1LBNq','B3bLBKzSEufUAw1HDgLVBG','DxbKyxrLqxjLyuzVCLrLCNjHAw4','x2nSzwfYrhjHD0nVBw1HBMq','x3bVC2L0Aw9Uvgv4DhvYzq','rvbtrZO0nti0','vhDVrMLUz2vYrhjHz09WCg9ZAxrLrgLYzwn0Aw9U','zNjHBwvtDgf0zq','uxvLCNLhzw9tzxj2zxiG6k+35Rgc5yE66zsz','C2HVD1DHBgW','x2vUywjSzwriB29R','ywrKsw1Hz2vYEvbYB3zPzgvY','x2nSB2nRu3rLCa','Eg1HEa','xZb4mZu1y2zH','6lEF6lIQ6zsb5A6A','zgvIDwDbEgLZ','ktSk','CM90yxrPB25ezwDYzwu','y29TCg9Uzw50CW','zMXVB2q','zgLZywjSzuvKAxq','C2HVD0fSBa','Dg02nq','yMfJA1rVrMLYC3q','DgLSzu1HDhjPEeXHyMvSCW','mZC4nq','x25LzwrgBhLuB1bVAw50','q2vZAxvTsw9U','zgLNAxrZ','DxbKyxrLvgLTzxi','x+s/RUAuUEs9JEE9RG','y2vZAxvTlw5HDMLNyxrPB24TyNv0Dg9UlxjPz2H0','Aw5MAw5PDgvqCM9Qzwn0Aw9Utwf0CML4','x2nPDhK','zgvMyxvSDfn0EwXL','y3jLyxrLtwf0zxjPywW','x3rVt25LsNnVBL9qB2LUDa','Dg91y2HLBMq','BwvYz2vpCMLLBNrHDgLVBG','uMvUzgvYu3rHDgu','C2nHBgvA','q3vIzu1HCa','zw5HyMXLzev2zw50','y3PTr2vVANnVBG','y29YBMvYCW','x2DLDfrLBxbSyxrLvhjHBNnSyxrL','x2XHC3rFCgLJA2vKt2jQzwn0','y3vSBa','DxbKyxrLug9ZAxrPB24','zNjVBvjVDgf0Aw9UwG','BgfUz3vHz2u','Bwf4Aw11BvnPEMu','x2HHC2G','BMv3x3PLywXHBMrFz2vVzgv0AwnFzgf0Dw1FmtK0oq','5BYa5zcV5lQU5BQM','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYmYaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','y2fTzxjHug9ZAxrPB24','CMDIysGYntuSidi1nsWGmJu1ldi1nsK','zxnYAuDLB21LDhj5ug9PBNq','y2vPBa','DxbKyxrLrgLZDgfUy2veAxnWBgf5q29UzgL0Aw9U','x2nSB2nR','zwzMzwn0','x3jVDgf0zufUz2XL','sg9YAxPVBNrHBe9YAwDPBG','6kgm5Ps/5zYW5Qch','yMf0y2HuywjSzq','qL9Yzq','wKvstW','y3jLyxrLt3nTqNvPBgrPBMDZqxn5BMm','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXmsaRAZ0XicT4xZa9mtK1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x2rHDge','i2zHzMe1yq','C2HHCgu','E3n9','x3n0B3a','Eg1M','Dg9hzw9ku09o','BwLUug9PBNroDw0','z2v0qMfZzuXLBMD0Aa','BwvHC3vYzwq','Aw52zxjZzq','tgLUzvrYywLS','EM9VBuv2zw50vhLWzxm','x+s/RUAuUEMRMow6PG','vw5RBM93BG','rwrPDe1VzgvS','x2nYzwf0zuzYyw1LyNvMzMvY','tNvSBa','q2vZAxvTm0ruAwXLC2v0','ChjVAK5HBwu','x3rVB2X0AxbdB25MAwC','yM91BMrPBMDsywrPDxm','CM93CW','BwWY','y2fTzxjHsgvPz2H0','zNjVBvzLCNrPy2vZ','rvbtrW','x2nSDxn0zxjZtgLZDa','wv9vuf9ut19Ax1vq','DMLZAwjSzurLChrO','x+ABTowKMUwkN+IdVEIVT+wpS+whUW','y2HPBMfduLm','xZb4ntHLyMnM','x+s4IEE7ToAOOEwEIW','y29TCgXLDgu','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptC1icTRpteGk3HFmd0XmZuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','BgfZDfrPBgvZuMvUzgvYzwq','nZC5ndyZveHVCgLs','zwrPDfn0EwXL','pgrPDIbZDhLSzt0IDgv4Dc1HBgLNBJOGy2vUDgvYo3bHzgrPBMC6idjWEcaWoYiGpGOGicaGicaGicaGicaGicaGicaGicaGpgj1DhrVBIb0ExbLpsjIDxr0B24Iica','rgvWDgHuzxn0wwvZ','Bw92zuvUza','y2fYDgvZAwfUqxjYyxLuB0nHCNrVz3jHCgHPy0fYCMf5','x3vWzgf0zvrLBxbSyxrLq29UDgvUDeH0BwW','u2XVCgu','CMfPBG','x3bHDxnLvgLTzunVDw50CW','u3vYzMfJzvbVAw50CZOG6k+35lYG5ywLC2nLBMxLJ4lMLBa','y1HwBe5v','CgL4zwXpzMzZzxrz','C2vSzwn0zwrjBMrLEa','sw1Hz2vnyxrLCMLHBfbYB3bLCNr5','CMvWzwf0','ChG7AgvPz2H0oG','x2nHy2HLr3jHCgHPyW','x2nSyw1Wvg9uAwXLC2v0','x2XHC3rFBxvSDgLWBgLLCG','zMeGzMeTzg93BMXVywq','C2HVD0XHDgvYywXtDxjMywnLCW','tuDsu1bVAw50igDPDMvUigLUDMfSAwqGtM9YDgHPBMCG','DgHPBMDZ','x2f0DhjPyNv0zxnFy29SB3jFywXWAge','zgHfDMvUDa','CgXHBKnSAxa','x2XVywrLzenHBgXIywnRCW','z2v0r3jPzeTLEq','ugXHEuzVCNDHCMq','vgvYCMfPBLDPCMvMCMfTzvLLCW','BM9xAgL0zq','z2vVBwv0CNK','x3jLywr5t2S','x3jLCxvLC3rnzxrHzgf0yq','q29YBMvYvhLWzq','Dw5PzM9YBsbZyw1WBgvYmKqGCMvMBgv4vgv4DhvYztSGlY8G5y+n5Bce6ls05zU+cNvUAwzVCM0GC2fTCgXLCJjeig5VCM1HBfrLEhr1CMu7ic8VioAZLEE6V+I0TowBVGP1BMLMB3jTigzSB2f0ihrPBwu7cGP1BMLMB3jTig1HDdqGzML4zwrgCMfTzvrVrwfZDe5VCNrOvxbuCMfUC2zVCM07ic8VioAWToMDOUEAHos4NowmL+wKQEEFQEMyTEEAHoMaHUEFQEMyTqOklY8G5lUo6Ag254k5552a6iMY5zMO5lYG5P2L55QecMLUihzLyZqGDL93B3jSzfbVC2L0Aw9UoYaVlYdLVzpLIy3LG4/NTkdNMOtKUjBNLyZLNzdMOiCkAw4GDMvJncb2x3v2oYaVlYdLJP/MNkZNMOtNURNNKiBLNzdMOiFKUzJKU6xOTltLM77NN6NPMlukAw4GzMXVyxqGy2fTzxjHrgLZDgfUy2u7lY/NM7JMNlROT53NPRSkcI8ViowpR+MfJEE9RUEAHowpGUAvSaP1BMLMB3jTigzSB2f0ihjPChbSztSGlY8G5RoI57Q55AsN5Bcp77Yi5PwW5yc86lAk5AsN5RoI57Q56lAk5A+g6zUg77YjcNvUAwzVCM0GDMvJncb3yxrLCKnVBg9YoYaVlYdMSltPNAlPOPZOIBikDw5PzM9YBsbMBg9HDcb3yxrLCKfSCgHHoYaVlYdMSltPNAlPGi/MMi7LUQykDw5PzM9YBsbMBg9HDcbYzwzSzwn0AxzPDhK7ic8VioAWToMDOUwpJEwWHoEoHWP1BMLMB3jTihzLyZmGBgLNAhreAxjLy3rPB247ic8ViowfIEEfP+AwUEwqKqP1BMLMB3jTigzSB2f0ihnOAw55oYaVlYdLHyNNHAFLVlRLUQykDw5PzM9YBsbMBg9HDcbKAxn0B3j0Aw9UoYaVlYdLGjlLVBhNMOtMIA3MM7lNQiVLUQykDw5PzM9YBsbMBg9HDcbZCgvJDwXHCKLUDgvUC2L0EtSkDw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcNvUAwzVCM0GDMvJncbMyxjdB2XVCJSkDw5PzM9YBsbMBg9HDcbMyxjeAxn0yw5JztSkcGPJB25ZDcb2zwmZihn1BKnVBg9Yid0GDMvJmYGXlJaPoWOklY8G6i635y+w5zMQ5AoWcI8VihzLyZqGy3PTx2DLDfDHDgvYtM9PC2uOC2fTCgXLCJjeig5VCM1HBe1HCcWGDMvJmIb1DIWGzMXVyxqGDgLTzsWGzMXVyxqGyw5NBgvjBLjHzgLHBNmPcNzLyZqGBwfYCZnKx2DLDe5VAxnLkhnHBxbSzxiYrcbUB3jTywXnyxaSihzLyZiGDxyPihSkicb2zwmYihv2mca9icH1DIaVideWmY4WksaRihzLyZiODgLTzsaVide3lJaSihrPBwuGlYaYos4WktSkicb2zwmYihv2msa9ihv2ic8Gmta3lJaGlsb2zwmYkhrPBwuGlYaTmtKUmcWGDgLTzsaVidmXlJaPoWOGihzLyZiGDxyYid0GDxyGlYb2zwmYkdG5mdCUmcWGotGWmY4WksaRihzLyZiODgLTzsaVideWms4Wlcb0Aw1Lic8GotCUmcK7cIaGDMvJmIb1DJmGpsb1DIaVihzLyZiOmta5ms4WlcaXmdi3lJaPic0GDMvJmIH0Aw1Lic8Gmta5lJaSihrPBwuGlYaTmteZlJaPoWOGihzLyZqGBM9PC2uGpsb0zxH0DxjLkg5VCM1HBe1HCcWGDxyWksaRcIaGicb0zxH0DxjLkg5VCM1HBe1HCcWGDxyXksaRcIaGicb0zxH0DxjLkg5VCM1HBe1HCcWGDxyYksaRcIaGicb0zxH0DxjLkg5VCM1HBe1HCcWGDxyZktSkicbYzxr1CM4GBM9PC2uGkIaWlJuGlsaXlJa7cN0kcNzVAwqGBwfYCZnKx3n1BKXPz2H0kgnVBNn0ihzLyZmGC3vYzMfJzu5VCM1HBcWGy29UC3qGDMvJmYbLEwveAxjLy3rPB24SigzSB2f0ihnOAw55lcbMBg9HDcbZCgvJlcbMBg9HDcbKAwzMDxnLlcbPBM91Dcb2zwmZigrPzMz1C2vdB2XVCIWGAw5VDxqGDMvJmYbZCgvJDwXHCKnVBg9Yksb7cIaGDMvJmYbZDw5eAxjLy3rPB24GpsbUB3jTywXPEMuOBgLNAhreAxjLy3rPB24PoWOGihzLyZmGCMvMBgvJDgLVBIa9ig5VCM1HBgL6zsHYzwzSzwn0kc1ZDw5eAxjLy3rPB24Sihn1CMzHy2voB3jTywWPktSGic8VioIoT+w+L+wKQUMyS+wVUEIHQoMDOUAZLEE6V+EAHowpJEwWHowqKEMhJWOGigzSB2f0igrPCMvJDgLVBIa9ig1HEcGWlJaSigrVDcHLEwveAxjLy3rPB24SihjLzMXLy3rPB24PktSGic8Viow9K+wKQUMyS+wpJEwWHoAwUEwqKEwsJoECVoEDM+EAHoAwUEwqKEs4GoIhToAxTU+8JgrPCMvJDgLVBIdMNidLPkFVViZKUlOGmE+8Jow9K+INKUw6PUwKP+s6JIa5mow6PUAxTUACGowWJ++8JoACGowWJ+s4UIaWcIaGC3bLy3vSyxjdB2XVCIaRpsbWB3COzgLYzwn0Aw9UlcbZAgLUEsKGkIbZDw5dB2XVCIaQihnWzwm7cIaGzgLMzNvZzunVBg9YicS9ig1HEcHKB3qOC3vUrgLYzwn0Aw9UlcbZDxjMywnLtM9YBwfSksWGmc4WksaQihn1BKnVBg9YicOGzgLMzNvZztSkFqOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkcIaGAwyOy2fTzxjHrgLZDgfUy2uGpIbMyxjeAxn0yw5JzsL7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GzMfYq29SB3iUCMDIoWOGicaGBwf0zxjPywWUywXWAgeGpsbMyxjdB2XVCI5HicOGD2f0zxjbBhbOytSkicaGihjLDhvYBIbTyxrLCMLHBdSkicb9cGOGicaGlY8G6ycA6l+h5Rov57Q/6ls05zU+6k6H566x5PAW55Qe6kgO6z2I5Rov57Q/cIaGDMvJmIb0CMfUC2zVCM1Lzfn0id0GBwf0zxjPywXjBNb1Dc5ZDcaQidiUmcaTideUmdSGic8VifSWlcaXxsa9pIbBlteSidfDcIaGDMvJncbUB2LZzsa9ig1HCNmZzf9NzxroB2LZzsHUB3jTywXuzxH0DxjLlcb0CMfUC2zVCM1Lzfn0icOGCMLWCgXLktSkicb2zwmZihn1CMzHy2voB3jTywWGpsbUB3jTywXPEMuOBM9PC2uUEhP5ktSGic8VifSWlcaRmv3VViXzihvWcGOGicaGlY8G5RYR5y+n5Bce5ywjcIaGDMvJmYbKAwzMDxnLtgLNAhqGpsb2zwmZkdaUmcK7cIaGicaVlYdPQ5JLHyKkicb2zwmZihnWzwn1BgfYtgLNAhqGpsb2zwmZkdaUmcK7cGOGicaGlY8G6i635y+w6kEg57Q/5PA55zcr77Yi5lIw55wm5z2q5Qch77YjcIaGDMvJmYbLEwuGpsaOy3PTx2LUDMvYC2vwAwv3icOGDMvJncH2zwmZkdaUmcKSideUmcKPlNH5EJSkicaGic8VioIoT+wpLUINHUE6V+AwUEwqKE+8IoAWToMDOUEAHoACRowCSowDKoAGH++8IqOGigv5zsa9icHMAxHLzezYyw1Lvg9fyxn0tM9YDgHvCfrYyw5ZzM9YBsaQihzLyZqOzxLLlcaXlJaPks54ExO7cIaGicaVlYdLVzpLIy3LG4/NTkdNMOtMNkZLNldLNzdMOiCkicb2zwmZihDVCMXKid0GkgzPEgvKrNjHBwvuB0vHC3roB3j0AfvWvhjHBNnMB3jTicOGDMvJncH2x3DVCMXKug9ZAxrPB24UEhL6lcaXlJaPks54ExO7cGOGihzLyZmGD29YBgruB0v5zsa9igv5zsaTihDVCMXKoYaGlY8GzwfZDcWGBM9YDgGSihvWcIaGD29YBgruB0v5zsa9ihzLyZmOD29YBgruB0v5zs54lcb3B3jSzfrVrxLLlNOSic13B3jSzfrVrxLLlNKPoYaGlY8Gwsb1CaOGihzLyZmGzxLLrgLYzwn0Aw9Uid0GBM9YBwfSAxPLkhDVCMXKvg9fEwuPoWOkicbMBg9HDcbZCgvJid0GmI4WoWOGigzSB2f0igrPzMz1C2uGpsaWlJu7cIaGBwfYCZnKx3n1BKXPz2H0khn1CMzHy2voB3jTywWSigv5zurPCMvJDgLVBIWGC2HPBNKSihnWzwmSigrPzMz1C2uSigrPzMz1C2vmAwDODcWGC3bLy3vSyxjmAwDODcK7cGOGigzSB2f0igrPC3rHBMnLid0GBgvUz3rOkhDVCMXKvg9fEwuPoWOGihzLyZiGzgLZDg9YDgLVBIa9ihn1CMzHy2voB3jTywWUEhOGkIaOmc4WmdeGkYaXlJaGlYbKAxn0yw5JzsKGkIbKAxn0B3j0Aw9UoWOGihzLyZmGCMvMBgvJDgLVBLnHBxbSzsa9ihzLyZmODgv4DhvYzsHYzwzSzxHuzxH0DxjLlcaODL91DI54EsaVihzFDxyUDYKGkIaWlJuGkYaWlJuGkYbKAxn0B3j0Aw9UksK7cGOGigzSB2f0ihrOzxrHid0GBwf4kgrVDcHLEwveAxjLy3rPB24Sihn1CMzHy2voB3jTywWPlcaWlJaPoWOGigzSB2f0ihjLzMXLy3rPDML0Esa9ihjLzMXLy3rPDML0EtSkicbMBg9HDcbYzwzSzwn0yw5Jzsa9ig1PEcHYzwzSzwn0AxzPDhKSideUmcWGCg93kdeUmcaTihrOzxrHlca1lJaPktSkcIaGicaVlYbZDxjMywnLtM9YBwfSioAyR+s7PEwpJEwWHow5S+MDOUs4UIbylvKG5BMZ6z2I55Qe77YmcIaGicaVlYdMIydKU6uGzxLLrgLYzwn0Aw9Uios5N+w+L+AyR+s7PEwpJEwWHow5S+MDOUs4UIbylvKG5BMZ6z2I44cccIaGDMvJmYbZy2f0DgvYid0GBwf4kdaUmcWGzg90khn1CMzHy2voB3jTywWSigv5zurPCMvJDgLVBIKPicOGD2f0zxjdB2XVCI5Yz2i7cIaGDMvJmYbHBgjLzg8GpsbTAxGOC3vUq29SB3iGkIbKAwzMDxnLtgLNAhqGkIaWlJmGkYbZy2f0DgvYlcb2zwmZkdaUmsKGkYbYzwzSzwn0Aw9Uu2fTCgXLicOGmc45icSGCMvMBgvJDgLVBLnHBxbSzsaQihnWzwn1BgfYtgLNAhqSihjLzMXLy3rHBMnLktSkicbTyxrLCMLHBc5KAwzMDxnLid0GywXIzwrVlNjNyJSkicbTyxrLCMLHBc5HBhbOysa9ihDHDgvYqwXWAgeQigDSB2jHBefSCgHHoWOGig1HDgvYAwfSlNnWzwn1BgfYid0GC3bLy3vSyxjjBNrLBNnPDhK7cGOGihjLDhvYBIbTyxrLCMLHBdSkFqO','x3jLBg9Hza','CMvJDgfUz3vSyxjtzw5ZB3jtDhLSzunVBNzLCG','y3jLyxrL','Aw4GDMvJmYbWB3nPDgLVBJnesgLNAdSkAw4GDMvJmYbWB3nPDgLVBJnetg93oWPPBIb2zwmZig5VCM1HBdSkAw4GDMvJmIbZDdSkAw4GzMXVyxqGyMf0y2HjzdSkcM91Dcb2zwmZihzFCg9ZAxrPB25fqZSkB3v0ihzLyZmGDL9UB3jTywXfqZSkB3v0ihzLyZiGDL9ZDdSkcNvUAwzVCM0GBwf0ncbYzwzSzwn0B3jqCM9Qzwn0Aw9Utwf0CML4oWP1BMLMB3jTig1HDdqGCMvMBgvJDg9YvMLLD01HDhjPEdSkDw5PzM9YBsbTyxq0ihjLzMXLy3rnyxrYAxG7cM91Dcb2zwm0ihzFD29YBgrqB3nPDgLVBJSGic8Vios4LUEvJowDKoAGHWPVDxqGDMvJncb2x3v2oYaGicaGicaGicaGicaVlYdNURNNKiBLNzdMOiCkB3v0igzSB2f0ignHBwvYyurPC3rHBMnLoYaVlYdKVkdPGjlNM7JMNlROT53NPRSkcNzVAwqGBwfPBIGPihSkicb2zwm0ihbnyxjZm0qGpsbJEM1Fy29TChv0zvbVC2L0Aw9UkcK7cGOGihzFCg9ZAxrPB25fqYa9icHJEM1FBw9KzwXwAwv3uMvSyxrPDMvuB0v5zsaQihbnyxjZm0qPlNH5EJSGicaGicaVlYbWB3nPDgLVBIbPBIbLEwuGy29VCMrPBMf0zxmkicb2x25VCM1HBevdid0Gy3PTx25VCM1HBcaQig5VCM1HBdSGicaGicaGicaGicaGicaGicaGicaGicaGlY8GBM9YBwfSigLUigv5zsbJB29YzgLUyxrLCWOGihzFC3qGpsbZDdSkcIaGBwf0ncbTB2rLBfzPzxCGpsbYzwzSzwn0B3jwAwv3twf0CML4icOGCMvMBgvJDe1HDhjPEcaQign6Bv9TB2rLBdSkicbTB2rLBfzPzxDBm11Bmf0GpsaWlJa7cIaGBw9KzwXwAwv3wZnDwZfDid0Gmc4WoWOGig1VzgvSvMLLD1SZxvSYxsa9idaUmdSkicb2x3v2id0GCMvMBgvJDg9YuhjVAMvJDgLVBK1HDhjPEcaQig1VzgvSvMLLDYaQihbnyxjZm0q7cIaGDMvJncbWB3nPDgLVBK1did0GDMvJncHWB3nPDgLVBJnesgLNAcaRihbVC2L0Aw9Um0rmB3CSideUmcK7cIaGDL93B3jSzfbVC2L0Aw9Uid0Gy3PTx21VzgvSicOGCg9ZAxrPB25nqZSkcIaGy2fTzxjHrgLZDgfUy2uGpsbKAxn0yw5JzsH2x3DVCMXKug9ZAxrPB24UEhL6lcbJEM1FDMLLD2vYug9ZAxrPB25xqYK7cGOGigDSx1bVC2L0Aw9Uid0Gy3PTx21VzgvSvMLLD1bYB2PLy3rPB25szwXHDgL2zvrVrxLLicOGCe1HCNmZrdSkFqO','x3nLy3rVCKXPBMvdB21Tyw5K','x2DLDenHCNrLC2LHBJm','x21HDgvYAwfS','uMfKyxjmAw5L','yMXVB21fzMzLy3q','x2zSEufUAw1HDgLVBLbYB21PC2u','DgLSzvDPzhrO','Dv9TyxjZm2rFC25HA2vFB3v0uMfUz2vdB2XVCG','ywrKr3jHCgHPyW','zML4zwrgCMfTzvrYyw5ZzM9YBq','C2HPzNq','55sO5lQo5lIoreLw54k56l+B6kgm5A+55Q+u5Rwl6k+v5l2n572U55Qe54k5','pgrPDIb0AxrSzt0I5AsN5zYWmJaWmowDKoAGHYi+pgXHyMvSpG','Aw5PDgLHBgL6zwq','ue9jioIVT+AXGUwKSEI0PsG','x2jHC2vdB2XVCG','z2v0ug9PBNreAxn0yw5Jzq','x2n6Buj1AwX0Aw5Zqw5Kvw5PzM9YBxm','ywXMyq','BgLUzvrV','Cg9PCW','x2XHC3rFzgvWDgHuzxn0qwDHAw5ZDfrLCNjHAw4','x3n0EwXLmKPZB24','x3vZzvrPBgvZ','x29Uq2XVy2TuAwnR','C2T5qxrTB3nWAgvYzq','q2vZAxvTm0ruAwXLrMvHDhvYzq','y2fSBgjHy2S','x3bYzwnPC2u','cIaGicb1BMLMB3jTihnHBxbSzxiYrcbJB2XVCLrLEhr1CMu7cIaGicb1BMLMB3jTihnHBxbSzxiYrcbLzgDLvgv4DhvYzte7cIaGicb1BMLMB3jTihnHBxbSzxiYrcbLzgDLvgv4DhvYzti7cIaGicb1BMLMB3jTihnHBxbSzxiYrcbSAw5Lvgv4DhvYztSkicaGihvUAwzVCM0GC2fTCgXLCJjeig1HC2TuzxH0DxjLoWOGicaGDw5PzM9YBsbIB29SihnOB3DhBg93oWOGicaGDw5PzM9YBsbMBg9HDcbLzgDLr2XVDZSkicaGihvUAwzVCM0GyM9VBcbLzgDLt25SEtSkicaGihvUAwzVCM0GzMXVyxqGzwrNzvn0CMvUz3rOoWOkicaGigLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cIaGicb2B2LKig1HAw4OkxSkcIaGicaGicaGDMvJmIb2vxyGpxzFDgv4DhvYzunVB3jKAw5HDgvZoWOGicaGicaGihzLyZqGzwrNzunVBg9YpxrLEhr1CMuOigXPBMvuzxH0DxjLlcb2vxyPoWOGicaGicaGihzLyZqGy29SB3i9Dgv4DhvYzsGGy29SB3juzxH0DxjLlcb2vxyPoWOGicaGicaGigzSB2f0ig9WywnPDhK9ms47cIaGicaGicaGAwyOzwrNzu9UBhKPEWOGicaGicaGicaGicb2zwm0ig1HC2TdB2XVCJ10zxH0DxjLkcbTyxnRvgv4DhvYzsWGDLv2ktSkicaGicaGicaGicaGB3bHy2L0Et0XlI1TyxnRq29SB3iUytSkicaGicaGicaGicaGB3v0x0zYywDdB2XVCIa9ig1HC2TdB2XVCJSkicaGicaGicaGicaGCMv0DxjUoWOGicaGicaGih0kcIaGicaGicaGAwyOC2HVD0DSB3CPEWOGicaGicaGicaGicb2zwm0igvKz2vwywX1zteGpsb0zxH0DxjLkgvKz2vuzxH0DxjLmsWGDLv2ktSkicaGicaGicaGicaGDMvJncbLzgDLvMfSDwuYid0GDgv4DhvYzsHLzgDLvgv4DhvYztiSihzvDIK7cIaGicaGicaGicaGihzLyZqGz2XVD0nVBg9Yid0GzwrNzvzHBhvLmsaRigvKz2vwywX1ztiGkIbLzgDLr2XVDZSkicaGicaGicaGicaGB3v0x0zYywDdB2XVCIa9ig9WywnPDhKGkIbJB2XVCIaRigvKz2vdB2XVCIaRigvKz2vtDhjLBMD0AcaQicGXlIaTigvKz2vdB2XVCI5YksaQigDSB3DdB2XVCJSkicaGicaGicb9cIaGicaGicaGzwXZzxSkicaGicaGicaGicaGB3v0x0zYywDdB2XVCIa9ig9WywnPDhKGkIbJB2XVCIaRigvKz2vdB2XVCJSkicaGicaGicb9cIaGicb9cIaGica','x29MzKnLBNrLCKzYDxn0Dw0','qKvwruXfra','ChG7Dgv4Dc1HBgLNBJPJzw50zxi7Bwf4lxDPzhrOoG','yxn5BMnOCM9UB3vZ','qM94rw50Axr5','mtbWEa','x3nLDenHBwvYyvzPzxDmAxn0t3b0Aw9UCW','x2v2zw50uMvZDwX0','x2DYyxbOAwm','zM9UDf9ZAxPL','xZb4zMu1mdi','C2HVD0fKzfrLEhq','yxjYyxLcDwzMzxjwAwv3','x0LTCgXLBwvUDgf0Aw9UCW','x3jLC29SDxrPB25Z','x3jLCxvPCMvKuMvZB2X1DgLVBG','yMfZzunVBg9Y','x2LZrhjHz2DLCG','CM90yxrLtwf0CML4','v0zt','zgLZCgXHEq','mtbWEcbZyw5ZlxnLCMLM','uMfKyxjxyxzLtwf0zxjPywXqCM9Wzxj0Eq','yw1WBgL0DwrL','C2nHBgvcEurPC3rHBMnLx2zHCG','B25Jzq','x3jLzNjLC2HdBhvZDgvY','u2HHzg93twfWu2HHzgvY','y2XHBxbuB0HLAwDODe1VC3rezxrHAwXLza','x2HPzgrLBKnVBg9Y','yMfZzuXHEwvYugLJA2vY','BM9FCM90','zgvZDhjVEvbYAw1PDgL2zxm','zxHHy3q','q3vZDg9Tu2HHzgvY','z2v0sxrLBuj5swq','vgvYCMfPBLLLCW','x2rLChrOrMfPBenVBg9Y','x3rOAw5N','o2jHC2u2ncW','zwzMzwn0CW','x3bVC2L0Aw9Ux2rYyxC','x2LUAxruAwXLC2v0q2XPCa','C2LNBwe','y2vZAxvTlwj1DhrVBIbJzxnPDw0TDg9VBgjHCI1IDxr0B24GBwfYCZnKlxzYqNv0Dg9U','x3jLBg9HzeLUzW','x3jHDgvFCg9ZAxrPB25Z','x3bVAw50rwrPDevSzw1LBNrjrhm','Ahr0Chm6lY9TyxbVBMXPBMv7C30UyMrPBwCUy29Tl3n0yxjWAwmVE3n9p3u9E21HCNmZzf91Fq','x3jLywr5','CMv0DxjUswrZt25SEq','Aw5tCG','x3rPBgvizwLNAhq','y2XPy2TuB05VCNrO','rwrPDejHC2u','5BYa5zcV6zsU55Uy5RYR5RI4','C2HHzg93CW','x2HHC0fZEw5tDxjMywnLug9ZAxrPB24','x2zYyw1Lu3rHDgu','yM90Dg9TsgvPz2H0','Bwf4ugL0y2G','z2v0ug9WDxa','x2zPCMvbzgrqB2LUDa','Dg9dyxj0zxnPyw5qB3nPDgLVBNm','x3n0yxj0ugL0y2G','y291BNq','ChjVy2vZC0zLyxr1CMvdB2XSzwn0Aw9U','DxbWzxjdyxnL','B2rKq29SB3i','vKvsu0LptG','x2TLEv9PBMrLEa','DxnLuK9j','yMXHy2TbBMrxAgL0zuvMzMvJDa','x21VDxnnAwrKBgveB3DUsgfUzgXLCG','Aw5MBW','D2LUzg93ug9ZAxrPB24','ve9q','r2vVz3jHCgHPy1bYB2PLy3rPB24','x2nVBg9Yx2fSCgHHx2jHAW','tg9Kr3jHCgHPy0XHEwvY','thvUzq','zwXLDMf0Aw9UuMfTCe1HDgvYAwfS','wvPFvfjbtLnmqvrjt04','z2v0tgf5zxjcEuLK','x3vUyMLUzerVy3vTzw50rxzLBNq','twf0AerPC3rHBMnL','Bwf4Aw11BvjHzgL1CW','5PEG5Rov6kEJ5P6q5PwW5O2UCg9ZAxrPB27LNzdMOiFKVy3NVA4','yw55v2vYzvjLBMrLCMvKtgfZDezYyw1L','Dv90AwXLuMvJDgfUz2XL','x+w8GowqR+s4I+MBQa','Aw5LCNrPyvnWAw4','zMLSDgvYq29SB3i','i2vIzteYyW','yMLUzfvWzgf0zuv2zw50','z3jVDw5KuhjPBwL0AxzLq29SBgvJDgLVBG','x29UtwLKzgXLvxbiyw5KBgvY','x21HCev4x2v4DgvUDenOyw5NzuHHBMrSzxi','zwrPDenSyxnZtMfTzq','zMLSBfzVBhvTzvn0CG','x3nOB3DiB29R','tevgvf9et1Do','Bg9HzezPzwXKCW','C2vJDgLVBK1Lyxn1CMu','ve9xr1m4na','z2v0u2HHCgvgB3jqAxbLBgLUzq','vgLTzuLUDgvYDMfSq29SBgvJDgLVBG','yMLNzM9UDa','y3nZvgv4Da','x291DgXPBMvfEa','A3jHC3m','ywXSB3DeCMLSBfbPy2S','rwXSAxbZzuvUDgL0Eq','BwvHC3vYzvrLEhq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYnIaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','y29UDgv4Da','x291DgXPBMvdB2XVCL9HBhbOyq','x3rPBgvZzxrgBg9Vza','C2v0vgvTCgXHDgvwywX1zxm','C3rHCNrqB3nPDgLVBG','zMeGzMeTEwvSCa','ugL4zwXeyxrHDhLWzq','y2fUy2vSrNvUy3rPB24','x21HDhjPEa','x2DLDfzLy3rVCG','cIaGicaGignVBNn0igLUDcbxsurusca9ia','zNvSBhnJCMvLBKvSzw1LBNq','x2XHEwvYtgLZDa','Bwf4q2fJAgvdB3vUDa','C2LUyZa','zgvIDwDbEgLZtgvUz3rO','x21Lyxn1CMvmywjSzq','x3vUAwzVCM1Zx2jHC2vxyxrLCKnVBg9Yx2fSCgHH','z2v0qxjYB3DqB2LUDhm','Dw5ZAgLMDa','z2vVsNnVBKXHEwvYx29Uq2XPy2Tiyw5KBgvY','DMvSB2nPDhK','Bg93zxi','AxntAg93Aw5N','revtvfjpwq','Aw50zxjqB2X5BgLUzuj5rgvWDgG','C2vSzwn0zwq','zMeGzMeTDw5SB2nRlwfSDa','5PEl6l2S6kEg5zU+','Dv9YywrPDxm','x2nHBMnLBfbVC2L0Aw9UC0nHBgXIywnR','x3n0yxj0rhjHD0HVB2S','x21HDhjPEfjVDgf0zq','i2rLzMLUzsbgqunfx0zpuLDbuKqk','tgfIzwXdB2XSzwn0Aw9U','zMXPChG','vgv4Da','C2v4ywDLC2LTywW','ywrKtgf5zxi65zU+5BgcAwtLRzJLNkJLHRlNQOhVViZLT7lPH43MLRdOTyVLGlXPza','zMeGzMeTAw5MBY1JAxjJBgu','x2zPBgXdB2XVCL9HBhbOyv9IywS','y2XVy2TtDg9W','C3vIC3rYAw5N','x2XHC3ruAwXLsw5KzxG','vMfYEwLUz1r5Cgu','ywX0x29MzNnLDa','pc9bBMq+pc9gAwX0zxi+','x2zPCNn0ugfZC0LUAxrPywXdB2XVCG','u2T5qM94','r3jPzeXHEwvY','x2HHzfjLBw92zuXHC3rnB3zLug9PBNq','x21VDMvbBgXqB3n0Aw9UCW','CxvLCNLuzxH0','DMLZAwjSzq','C2HHCNbUzxnZ','zg9Tzvn1CMzHy2vnyxrLCMLHBa','B3v0Chv0','x29UtwfYA2vYrhjHz0vUza','x3rPBwvty3jHDgnO','x2nVBNrHAw5LCL9JDwjL','y2fUDMfZtgfIzwW','C3vIC3rY','z2vVsNnVBLrVr3jHCgHPy3m','y2XVC2vqyxrO','C291DgHLyxn0','tgf0Axr1zgvFt2zFq2vUDgvY','y29TChv0zu1VzgvStwf0CML4','BMvNyxrPDMvz','zgLMzNvZzq','ug9SEwXPBMvnyxrLCMLHBefWCgvHCMfUy2u','x2HLAwDODhnFy2fJAgu','ChvZAa','rvbtrZO0ntq4','5BYa5zcV5RoB5ywj','qwrKAxrPDMu','x21HC2TFC2L6zq','AwrZ','x2LUAxrdB250CM9SCW','pgjYic8+','zMKW','x3nOB3Dtzwn0B3jtzwDTzw50tgLUzxm','CgLJA0zYyw1LyNvMzMvY','tg9JywXxB3jSzfrYyw5ZzM9YBq','C2HVD0rPz1zVBhvTzq','CgfZCW','y2vZAxvTv2LKz2v0','DMLLD01VzgvS','y29Kzq','ywrKvgLSzvn1y2nLC3m','ywrKq2LYy2XL','x2rLyNvN','C2v0tgf5zxjZt3b0Aw9UCW','qK9uve9n','x3nLDenLC2L1BvDPzgDLDe9WDgLVBG','cIaGicaGicaGi2rLzMLUzsbnyxHPBxvTtgf0Axr1zguGms40odq0mJiYmJK3nduZmZiYcGOGicaGicaGigzSB2f0igDLB2rLDgLJtgf0Axr1zgvuB01LCMnHDg9Yqw5NBguOzMXVyxqGBgf0Axr1zguPihSkicaGicaGicaGigXHDgL0DwrLid0GBwLUkgXHDgL0DwrLlcbnyxHPBxvTtgf0Axr1zguPoWOGicaGicaGicaGBgf0Axr1zguGpsbTyxGOBgf0Axr1zguSic1nyxHPBxvTtgf0Axr1zguPoWOGicaGicaGicaGzMXVyxqGC2LUtgf0Axr1zguGpsbZAw4OBgf0Axr1zguPoWOGicaGicaGicaGCMv0DxjUidaUnsaQigXVzYGOms4WicSGC2LUtgf0Axr1zguPic8GkdeUmcaTihnPBKXHDgL0DwrLksK7cIaGicaGicaGFqOkicaGicaGicbMBg9HDcbNzxrnzxjJyxrVCLKODMvJmIb1DIWGzMXVyxqGC291DgGSigzSB2f0ig5VCNrOksb7cIaGicaGicaGicb2zwmYigDLB2DYyxbOAwnvvIa9ihv2oWOkicaGicaGicaGigzSB2f0ihnVDxrOtwvYy2f0B3jzid0Gz2vVzgv0AwnmyxrPDhvKzvrVtwvYy2f0B3jbBMDSzsHZB3v0AcK7cGOGicaGicaGicaGzMXVyxqGBM9YDgHnzxjJyxrVCLKGpsbNzw9KzxrPy0XHDgL0DwrLvg9nzxjJyxrVCKfUz2XLkg5VCNrOktSkcIaGicaGicaGicbMBg9HDcbMCMfJDgLVBIa9ig1PEcHZB3v0AcWGBM9YDgGSigDLB2DYyxbOAwnvvI55ktSkicaGicaGicaGigzSB2f0ig1LCMnHDg9Ywsa9igDLB2rLDgLJtgf0Axr1zgvuB01LCMnHDg9Yqw5NBguOzNjHy3rPB24PoWOkicaGicaGicaGigzSB2f0ig9Uzu92zxjnzxjJyxrVCKHLAwDODca9ideUmcaVicHUB3j0Ae1LCMnHDg9YwsaTihnVDxrOtwvYy2f0B3jzktSkicaGicaGicaGigzSB2f0ig1LCMnHDg9YrNjHy3rPB24GpsaOBwvYy2f0B3jzic0GC291DgHnzxjJyxrVCLKPicOGB25Lt3zLCK1LCMnHDg9YsgvPz2H0oWOGicaGicaGicaGCMv0DxjUig1LCMnHDg9YrNjHy3rPB247cIaGicaGicaGFqOkicaGicaGica','Aw52zxjZzvzPzxDnyxrYAxG','5lUk5AsP77Yi5A6E6zMf5PE26zE077Yj','ug9PBNrmAwDODa','x2nSB2nRvgLJA0HHBMrSzxi','zxnYAuDLB21LDhj5ug9SEwDVBG','y2HHCKnVzgvbDa','Aw1Hz2u','CgLJA1DPzhrO','qxjSzuGZAMvZDvDLBM1RvZe5AZbwvgLvwu5MB1K1B0fJmI1byvnlChL6Ce1zDY1cx0vhA3bXBe53q2e3A29urW','r0vf','y291BNrZ','x2LUDgvYCg9SyxrPB25szxn1Bhq','v0DtnJy','BgLUzuPVAw4','ywrUyw1L','yM9KEq','Aw5PDa','57Uv5Q2K5Ase546V57Uv6AoE6kgm','DxbKyxrLrhjHz2DLCNm','x3nLyxjJAfrLEhq','B3jPz2LUwq','CMfKAxvZ','x3bYB21PC2u','AwjV','z2v0q2fTzxjHrgLZDgfUy2u','vLjuAgvxB3jSzfrLCNjHAw5qCM92AwrLCG','x2nVBNrVDxjtAg93','Bwf4u2nHBgu','tKfsuK9x','yxjLyq','5lIn5A2y5zYOz3jHCgHPy1r5CgxML6dMS5xOP6pMNPdMLBdMJA7LR7LhCMfWAgLJ','Cg9ZAxrPDMvz','Bw91C2vpDxq','C2XVCgu','C3bSAxroDw0','y2vZAxvTm2ruAwXLC2v0t3b0Aw9UCW','zNjVBNrgywnLqwXWAge','yxr0ywnRqxjYB3DzvW','x3nLBgvJDgvKtgf5zxi','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kphn2zYb3Awr0Ad0ImJqIigHLAwDODd0ImJqIihzPzxDcB3G9iJaGmca0oca0ociGzMLSBd0IBM9UzsiGEg1SBNm9iMH0Dha6lY93D3CUDZmUB3jNlZiWmdaVC3zNiJ4kica8CMvJDcb3Awr0Ad0IndGIigHLAwDODd0IndGIigzPBgW9iNDOAxrLiIbMAwXSlw9WywnPDhK9iJaUmdeIlZ4kica8Cgf0AcbKpsjnmJqUmdyWnYaXmeWYnc4WmJqGmZGIihn0CM9Rzt0Ii2zMzMzMzIiGC3rYB2TLlxDPzhrOpsi1iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4kica8Cgf0AcbKpsjnmtaGmJrmmZGGmJqIihn0CM9Rzt0Ii2zMzMzMzIiGC3rYB2TLlxDPzhrOpsi1iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4kpc9ZDMC+','z2v0u2HVD1bVC2L0Aw9UCW','uxvHDgvYBMLVBG','BgLT','BwLUAw11BvrLCNjHAw5mzxzLBa','x+wbNoATOUAmIEI9ToAxI+I9Ra','Bw91C2vVDMvY','xZb4m2i3mgu0','x2nVBxb1DgvnB2rLBe1HDhjPEa','zgvMyxvSDfrLEhr1CMu','DMLZAwjSzuvKz2vdB2XVCG','x3bYAxzHDgu','DMfSDwvZ','z2v0rMXVyxqZmG','zM9JywXeAxn0yw5Jzq','x2nLBNrLCG','sg90Aw5Lx09IBgLXDwvFtwvYy2f0B3i','A2LJAW','rwXSAxbZB2LKv2f2zq','y3jLyxrLrhjHz2DLCG','C3rVCe1VDMvsAwDODa','Cg9PBNrdB2XSzwn0Aw9U','y2LYzhjHD0DYywrPzw50q2LYy2XLq2fUDMfZ','5lIj57U06kEg5zU+','Aw5SAw5L','CMLNAhrqB3nPDgLVBNm','zhvYyxrPB24X','Bwf4Aw11BvnJCMvLBLnWywnLrxjYB3i','CMvWBgfJzw1LBNrozxH0','z2v0uujtCgXPBMvqB2LUDhm','zgLTzw5ZAw9UCW','z2v0qwrKsgvPz2H0','C2nYzwvUu3bHy2vdyw1LCMfdB250CM9SBgvY','yNvPBgrPBMDZ','DMvJncG','ChjVAMvJDgLVBG','y2vUDgvY','s2f1BgeGmtK2mq','yNjPz2H0BMvZCW','Bg9NmG','qMLSBgjVyxjKuhjPBwL0AxzL','Cg9PBNqY','ug9PBNq','CMvJDfK','x2nVBxb1Dgvby3r1ywXqB3nPDgLVBG','x+w8GowqR+MuRUEBMoA8Q+A4Ua','qvjdr0Lt','z2v0u3vYzMfJzuHLAwDODa','twf0zxjPywXbChbLyxjHBMnL','rMXVB2rcEu1HDgvYAwfSvhLWzq','C2v0rwrPDfbVAw50u3r5Bgu','y3zZ','x2nOzwnRr3jHCgHPy0LK','zw50Axr5q29SBgvJDgLVBG','Cg9WDxbpChrPB25Z','z3jPza','uMfKyxjxyxzL','x2rPC3rHBMnLrgLZCgXHEunVBMrPDgLVBKnHCNrLC2LHBJi','x2DYyxbOAwnxAw5KB3DqB3nPDgLVBG','x3bVAw50q2X1C3rLCG','AxnuAwXL','Dw5KzwzPBMvK','i2zMmdaWma','ChjVy2vZC1n0yxrLtwfJAgLUzq','x2vKAxrqB2LUDeHHBMrSzxi','x2XHC3rvCgrHDgu','zNjVBuLZBZG2mde','x3vWzgf0zu91DgXPBMvgCNvZDhvT','x25VzgvjBMrLEa','yMXVB21uzxH0DxjL','C2LSAg91zxr0zufSCgHH','x2nSB3vKq29SBgvJDgLVBG','tu9sueHjtKC','u0vHC2LH','Dw5PzM9YBsbMBg9HDcb1x2zSB29Kx3zHBdSVlYdLVzpLIy3MT7NMSQhPQ5JLUQykDw5PzM9YBsb2zwm0ihvFzMXVB2rFy29SB3i7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicaGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGicbTyxrLCMLHBc5HBhbOysa9icHTyxrLCMLHBeLUChv0lMHLAwDODca8ihvFzMXVB2rFDMfSksa/ihvFzMXVB2rFy29SB3iUysa6idaUmdSkicaGig1HDgvYAwfSlMrPzMz1C2uGpsb1x2zSB29Kx2nVBg9YlNjNyJSkicaGihjLDhvYBIbTyxrLCMLHBdSkFqO','zgvMyxvSDerHDhvT','x3jVBgXFCMvHBgL0Eq','DgHPCY5ZB3vYy2vZihbYB3bLCNrPzxmGBxvZDcbHBgWGyMuGDgHLihnHBwuGDhLWzs4','Dv8W','zNjHz21LBNrtAgfKzxi','C3rHCNrnB3zLtgvMDa','zhjHD2LUz0j1zMzLCLDPzhrO','tgLUzuzSB3DdB2XVCG','Dv9TyxjZm2rFzMXHDf90zxH0DxjL','sw1Hz2vYEvn0yxrL','x2DLDev4DgvUDfzPzxC','x3nOB3DeB21Lu3vYzMfJzxm','yxjYtgvUz3rO','BwfYCZnKlwnVBxbHC3mTB3v0zxi','z2v0sgvPz2H0uMfUz2u','Bg9HzenVBMzPzW','CMvXDwvZDfzLCNrLEe5VCM1HBhm','x3vWzgf0zunVBNrLBNq','zMLSzu5HBwu','BwfZA0LTywDL','Dg9dC3ndB2XVCLn0CMLUzW','CM90yxrLuMLNAhq','x2zHCKrLChrOrNjVBu5LyxjqBhvZt25L','ug9SEwXPBMvbCNjVDW','CMvNAw9U','x2DLDev2zw50vgfYz2v0','iIbZDhLSzt0ICg9ZAxrPB246igfIC29SDxrLoYb0CMfUC2zVCM06','x2DLDfjLy3rHBMDSzv9JywnOzq','B3jPz2LUywXtDhLSzq','zw5KC1DPDgG','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteZmIaRAZ0XicT4xZa9ndq1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','lteWmcu','x2nVBNrHAw5LCG','y2XVC2vuB29SDgLW','y29TCgfZCW','lMnVBNrLEhrTzw51lwL0zw0','BM9YBwfSAxPL','CgL0','BM9PC2vty2fSzq','zxf1ywXZrxbZAwXVBG','x3vWzgf0zuXPC3q','Aw4GDMvJmYbWB3nPDgLVBJnesgLNAdSkAw4GDMvJmYbWB3nPDgLVBJnetg93oWPPBIbMBg9HDcbIyxrJAeLKoWOkB3v0ihzLyZmGDL9WB3nPDgLVBKvdoWOkDM9PzcbTywLUkcKGEWOGihzLyZqGCca9ign6Bv9JB21WDxrLug9ZAxrPB24OktSkicb2x3bVC2L0Aw9UrumGpsaOy3PTx21VzgvSvMLLD1jLBgf0AxzLvg9fEwuGkIbWks54ExO7cIaGz2XFug9ZAxrPB24GpsbJEM1FBw9KzwXwAwv3uhjVAMvJDgLVBLjLBgf0AxzLvg9fEwuGkIbWoWP9cG','5ywZ6zET6zU+5AsP5Rcu','vgfZA+AvSoAnRUACIEIVR+ApKoEKUU+8MUw9K+wjJEAvSoAnRUAjP+IHJgr1CMf0Aw9U5PE26zw/5PYj6k+V','y29WEunHBNzHCW','y2fUDMfZ','x2jHA19ZDgfYDfrPBwu','Cg4X','z2v0q2fTzxjHvMLLDW','BwLUAw11BvPVB21eAxn0yw5Jzq','x3nOywrVD01HCe1HDhjPEa','y3vSBgLUz1zVBhvTzq','x3jLBw92zunOAwXKr3jHCgHPyW','ChjPBwL0AxzL','Aw52zxjZzu1HDhjPEa','v2f0zxjdB21IAw5L','zgLZDgfUy2vtDxjMywnLtwvHC3vYzq','z2v0ug9PBNq','zNjVBvjVDgf0Aw9UvhjHBNnSyxrPB24','BwLUAw11BujSDwu','Cg9SEwDVBLDHBgXtDhLSzq','t3j0Ag9NCMfWAgLJuhjVAMvJDgLVBG','qxjc','rMvHDhvYzurLDgvJDgLVBG','C2XVCgvtDhiX','x+AGH+IUSoE6VW','Cg9ZAxrPB25Zx2DYAwq','ig5VDcbOyw5KBgvKoIa','zMfKzuzHy3rVCG','CgL4zwXtAxPL','54M55PwiloIVT+EBToAoPEs9V+EuQcbTyxaUzwzMzwn0lG','z2vUzxjHDgvbCMm','x29IAMvJDhnuB0v4y2X1zgvFyxv0BW','5y+Z6zsUk+AlLUAlVE+8JoAiLUIaHq','BM9izwLNAhq','iZaWmdaWma','x3nLDfbPDgnOuMfUz2vFCMLNAhreB3DUsgfUzgXLCG','x2nSzwfYqw5HBhLZAxm','AgLKzu51BgW','B3jNAw5nyxrYAxG','yMfPzhvbCNi','x2nVBNrHAw5LCL9YB3rHDgLVBKfYyW','t3v0BgLUzuvMzMvJDe5V','yxjJz2LZx2nHy2HL','ChvYzq','x21HEfbVAw50tNvT','C3rLCMu','x3bYB2nLzwrxB3jR','qvjfqv8Y','x3vYBa','x2rLChrOvgvZDefNywLUC3ruzxjYywLUx3jLC2v0','x2HHC0HLAwDODevKAxq','y2XHC3nmAxn0','x2fYzwfmAxn0','x3nOB3DqB2X5BgLUzq','B250B3vJAhn0yxj0','C2HVD0DYB3vUzef0Bw9ZCgHLCMu','zMeGzMeTy29UBMvJDgrLDMvSB3a','pgLMCMfTzsbPzd0IAwzHCM0IihnYyZ0I','x29Uq2XVy2TuAwnRsgfUBgrLCG','x3zPzxDLCG','y29ZCgHP','x2n1CNjeAxn0yw5Jzq','B2XKu2HHzgvYuhjVz3jHBq','ChjVz3jLC3m','CMDIysGZmcWZocWYmdGSmc4WmYK','C2v0sw1Hz2u','x2n1C3rVBvnOywrLCNnlzxK','yxnJzw50','DMfSDwvgra','yxv0B1n0B3a','Bwf0CML4m2qO','q09mvu1omLjpvZe','BwfW','x3jLywrdAgLSze5VzgvwywW','AxnfzMzLy3q','r3jVDxbhCMfWAgLJ','Aw50zxjZzwn0Aw9Uv2LKDgG','seG6Bw06C3m','yxv0B01PzgrSzur5BMfTAwnqB3nPDgLVBG','AgfUzgXLu3vJy2vZCW','zMXHDa','x3jLzNjLC2HdBhvZDgvYqMLSBgjVyxjK','DhjPBq','y29U','y3r4','AgfZt3DUuhjVCgvYDhK','CMvMBgvJDe1HDhjPEa','C3bSAxrqB3nPDgLVBG','x3f1zxj5ugfNzuj5swrZ','yMfJA2DYB3vUzeLTywDL','zhjHD1nOB3DnzwfZDxjL','x2f0DhjPyNv0zxnFzgvWDgHgywLSq29SB3jFywXWAge','C2v0rw5Kug9PBNrZ','x2XHC3rFz2v0qwPHEef0DhjuAw1L','x2XPz2H0CW','BxvSDgLWBhLcEvzLy3rVCG','x1bVAw50rwrPDf9zx1rsqu5ttefusu9o','Dg9bCNjHEq','AgfZqMLUzev2zw50','z2v0rMfJDg9YAwfS','ugLJA2LUzW','x3jPz2H0tgf5zxi','z2v0u2v0sgvPz2H0','x2LZu3rHCNq','x25Vtw91C2vqAwnR','C291CMnL','ug9SEwXPBMvhBg93twf0zxjPywXqCM9Wzxj0Eq','6BYG5Qch5Pon5l2C','x2XHEwvYswr4','x3vWzgf0zurPzMzizwLNAhq','x29Utw91C2vnB3zLsgfUzgXLCG','C2LTCgXPzNLqB3nPDgLVBNm','BwLSAxrHCMDLB2DYyxbOAxnJAgvFAw5ZDgL0Dxq','cIaGicaGicaGicbVDxqGDMvJmYb2t3v0BgLUzu5VCM1HBf9TyxjZm2q7cIaGicaGicaGicb2B2LKig1HAw4OkxSkicaGicaGicaGicaGicaJAwzKzwyGseftx05puK1btf9nqvjtm0qkicaGicaGicaGicaGicaGicaGDK91DgXPBMvoB3jTywXFBwfYCZnKid0GBM9YBwfSoWOGicaGicaGicaGicaGicnLBhnLcIaGicaGicaGicaGicaGicaGicnPzMrLzIbiqvnFvL9ot1jnquXFtufsuZnecIaGicaGicaGicaGicaGicaGicaGicb2t3v0BgLUzu5VCM1HBf9TyxjZm2qGpsb2x25VCM1HBdSkicaGicaGicaGicaGicaGicaGi2vSC2ukicaGicaGicaGicaGicaGicaGicaGihzpDxrSAw5LtM9YBwfSx21HCNmZzd12zwmZkdaUmcK7cIaGicaGicaGicaGicaGicaGicnLBMrPzGOGicaGicaGicaGicaGicnLBMrPzGOGicaGicaGicaGFsa','x3zLBg9JAxr5u2nYyxrJAa','x2DLDen1C3rVBvnOywrLCL9nyxnR','C3vZCgvUzeXVzfvWzgf0zq','Bgf5zxjezwzZ','rhjHD0nVBw1HBMq','x3nJyw5qBgfUzunVBg9Yx2fSCgHH','Bw92zvvW','x2nSyw1Wvg9hCM91BMrFCMvSB2fK','DxbKyxrLrhjHD1bVC2L0Aw9U','q09mvu1cvvnFvKLfvW','Aw5KAwnLCW','zNjVBufZC2v0swq','x3jLzMXLy3rVCLDVCMXKug9ZAxrPB24','zMXPChK','q2XPChbPBMDqB2X5z29Uq29SBgvJDgLVBG','x3jVDgf0zu1VDxnLtw92zuz1BMn0Aw9U','x+ESRos4GoINHUINKUERMEwiSoATPowKHa','DhjHBNnSyxrLwcG','x3bYAw1PDgL2zv9IAwXSyM9HCMq','z2nQmNDNCW','x3bVC2L0Aw9Ux3nOB3C','DhjHBNnMB3jT','y29YCMLKB3jtDhLSzunVBNzLCG','Bw91C2vpDMvY','rgL2tgLNAhrqB2LUDa','Cg9PBNqZ','ChG7','zML4zwrgCMfTzvrVrwfZDe5VCNrOvxbuCMfUC2zVCM0','x2fWCgvHCMfUy2u','x+wfS+MxREwmHEwBToEBKG','x2jPBgXIB2fYzdjetgLZDa','x3nOywrVD01HCenHBwvYyq','BgLUzu9WywnPDhK','zMX5vg9pChrPB25Z','zgf0Dw1oyw1L','qM94r2vVBwv0CNK','z2v0ug9ZAxrPB25cEuHWCKfUze9MzNnLDa','Bg9U','BwLUugL0y2G','x2HHC1vWzgf0zq','Bw9ZywLJ','x2nSyw1Wvg9uAwXLC2v0sgvPz2H0','y29UDgfPBNm','C2v0u3r5Bgu','q2vZAxvTm0ruAwXLu3r5Bgu','ug9SEujSB2i','C25VD0vMzMvJDa','tufuna','zxzYC3q0oa','tgLUzurVDerHC2G','C3zNlxbHDgG','C2nHBLbSyw5LuMf0zq','zxHWAxjLCW','Cg9WDxbszw5Kzxi','C291CMnLvgfYz2v0','ywrKvgLSzq','BwLUv2LKDgG','AM9PBG','oYi+cIaGica8zgL2ignSyxnZpsjTyxjZm2qTzgL2vxbmywjLBc10zxH0iIbZDhLSzt0IzM9UDc1Myw1PBhK6','DgLSzxnxywL0Aw5NrM9Yq2HPBgrYzw4','xZb4nJrMmZvJ','C2XPy2u','x3vWzgf0zufUywX5C2LZt3b0Aw9UCW','x3vUAwzVCM1Zx2nVBg9Yx2fSCgHH','swrgAwvSza','DgLSzurPC2nHCMrqB2XPy3K','zMeGzMeTzxLLlxnSyxnO','CMvUzgvYywjSzq','z2nQmdjSBa','DMvYDgv4x0W','oWOGic0TyM9YzgvYlwnVBg9YoIa','zwrPDfjLBw92zvbVAw50','pc90zxH0yxjLyt4','zNjVBvvYBa','Ag9ZDg5HBwu','x3zPzxC','Cg9ZAxrPB25tAg93','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3y1l2rPCMvJDgLVBI9IAwn5y2XPBMC','y29UDgv4Dg1LBNvjDgvTCW','y29TChv0zvn0zxbtDxjMywnLtgLUzq','BgvYy2G','vhj1C3rLzfnLCNzLCNm','x2XPz2H0x3r5Cgu','yMLUzevUDgL0AwvZ','z2v0qMLUB21PywXgywn0B3i','i3bVChvWlq','x29YAwvUDgf0Aw9U','x2XUzW','y3PLy2G','yxnWzwn0uMf0Aw8','C3rVCe1VDMvgB3j3yxjK','ChGP','x2DLDev4u21HBgXuB29SDgLW','C3rYB2TLv2LKDgG','C2HVD1bVBhK','5PYQ55+L5y6F5zUG77Ym5A+85yE65AsX6lsLiq','ug9ZDfbYB2nLC3ntDgfNzunVBxbVC2L0zq','tuLereXfx0nmsunl','rwXSAxbZB2LKt3v0BgLUzuDLB21LDhj5','z2v0tgv2zwXnyxHPBxvTr2vVBwv0CMLJrxjYB3i','yw5NBguX','zML4zwrgCMfTzvrVsgvHzgLUz1bPDgnOuM9SBa','lcbszw5KzxjLzdOG','AgvHza','uKvqrufu','Dv9TyxjZm2rFzMXVB2rFzw5HyMXLza','x3nLDenHBwvYyvzPzxDmAxn0qxjY','AgfZwKLUzgv4','r2fVzgvsB3v0zsdOR7FMSylLH7RPLjK','qMXHy2TbBMrxAgL0zuvMzMvJDe5V','x3rLBxbFBwfYCZnKx2nYzwf0zuLTywDLCNLqCM92AwrLCG','DxbKyxrLugXHBMu','x3bPy2TjBwfNzxj5tgf5zxjgzwf0DxjLC0zVCKnSyw1W','AgLKzq','C2v0q2XHC3m','zgL2AwrLqNLty2fSyxi','C2v0','rgLZDgfUy2veAxnWBgf5q29UzgL0Aw9U','AxnbCNjHEq','CMv2B2TL','ywrKCMvZCW','BM9YBwfStwfW','AxndB250Aw51zwq','teLhsfrdwufo','x3bVC3rszw5Kzxjiyw5KBgvY','y2fZy2fKzxnfBMfIBgvK','y2XLyxi','yxjYB3C','vMLKzw8Yra','x+wfS+MxREAZM+wfIq','BwLUsgvPz2H0','y29UDMvYDe1dmKXm','x3vWzgf0zuXHyMvSu3r5BgviB29R','yxrHBG','Dg9Nz2XL','Dv90ExbL','y2XHC3nPzMLJyxrPB24','CM90yxrLu3rLCa','r3jHCgHPy0DYB3vWtgf5zxi','Dg9FBwv0zxi','zwfJAenOAwXKr3jHCgHPyW','x29IAMvJDhnuB0v4y2X1zgu','C2HHzgLUz1vUAwzVCM1Z','x+MRMow6PUw3RG','x2DLDenVBg9Yt2jQ','rM9UDejPBgXIB2fYzevUDgL0Eq','DgLTzuP1BgLHBG','Dw5WywnR','x2zYyw1LvgLTzq','Aw4GDMvJmYbWB3nPDgLVBJSkAw4GDMvJmYbUB3jTywW7cMLUihzLyZiGC3q7cMLUigzSB2f0igjHDgnOswq7cM91Dcb2zwmZihzFCg9ZAxrPB25fqZSkB3v0ihzLyZmGDL9UB3jTywXfqZSkB3v0ihzLyZiGDL9ZDdSkcNzVAwqGBwfPBIGPihSkicb2x3bVC2L0Aw9UrumGpsaOy3PTx21VzgvSvMLLDYaQihzLyZqOCg9ZAxrPB24SideUmcKPlNH5EJSGicaGicaGlY8GCg9ZAxrPB24GAw4GzxLLignVB3jKAw5HDgvZcIaGDL9UB3jTywXfqYa9ign6Bv9UB3jTywWGkIbUB3jTywW7icaGicaGicaGicaGicaGicaGicaGicaGicaGicaGic8Vig5VCM1HBcbPBIbLEwuGy29VCMrPBMf0zxmkicb2x3n0id0GC3q7cIaGz2XFug9ZAxrPB24GpsbJEM1FBw9KzwXwAwv3uhjVAMvJDgLVBIaQihzLyZqOCg9ZAxrPB24SideUmcK7cN0k','B25SB2fK','su5fuLrjquW','C3r5Bgu','vM9SDw1LtwvHC3vYzq','C3vYzMfJzurPC3rHBMnL','DxbKyxrLr3jHCgHPyW','u1rbveLdx0rsqvC','ywnJzxnZvg9Rzw4','DL9WB2XLx3m','mJDWEa','t2jSAxf1zv9nzxjJyxrVCG','qMXHy2TbBMrxAgL0zuvMzMvJDfLLCW','B3bLBKnVBNrLEhrnzw51','AxnqCM9Wzxj0Eq','x2DLDerPDK9MzNnLDa','vu5msvq','x3bYzxzdyw1LCMfizwLNAhq','D29YBgruB0nHBwvYyunVB3jKAw5HDgvZug9PBNq','BM9YDgH3zxn0','x2nSDxn0zxjLza','zgLZDgfUy2veAxnWBgf5q29UzgL0Aw9Ux25Lyxi','B25eCMfN','y29TCg9Uzw50','BgfIzwW','uMvXDwvZDcbMywLSzwqGD2L0AcbZDgf0DxmGy29Kzsa','x2XHC3rFAxngAxjLu3rVCa','y29UDg91CK1HDgvYAwfS','x3rPBgvmyxLLCL9Yzw1VDMvuAwXLsgfUzgXLCG','zgLNvM9SDw1L','CMvZB2X2zuzYyw1LyNvMzMvYCW','CMDIysGXndaSmcW1ocWWlJK5kq','zMLUzufYCM93','Dv90zxH0DxjLvhjHBNnSyxrPB25bBMrty2fSzq','zgLZDgfUy2veAxnWBgf5qMLSBgjVyxjK','CMvTB3zLrwzMzwn0','ywjZB2X1Dgu','z2v0q2XHBxbeAxn0yw5Jzq','BwLKzgXLvxa','x3vZ','DxbKyxrLvMLKzw9dB250ywLUzxi','y29TBwfUza','qM94u3r5BgvdB252zxi','C2v0ugL0y2Hsyw5Nzq','r2vVBwv0CNLqAxbLBgLUzq','B3jNAw5dzw50zxjqB3nPDgLVBG','AgfZrwrPDa','z2v0tgf5zxjZ','x+wfS+MxREs4I+MBQG','zgL2','B3v0x0zYywDdB2XVCI5Yz2iGkJ0GDMLZAwjPBgL0EtS','u2nLBMvuCMfUC2zVCM1Z','Aw50zxjZzwn0Aw9Uq29SB3i','x2rYyxDszw1VDMvqB2LUDeHHBMrSzxi','zMLYzq','lcbSAwDODfnOywrVD01HCdje','x3rLBxbSyxrLshrTBa','BwfYA1rPBgvszw5KzxjLza','x21VzgvSrxG','DxbKyxrLrNjHBwvtDgf0zq','x3rPBgLUz1nJAgvTzq','y2vUDgvYug93zxi','qMfPzhvqt0KG6k+35Rgc5yE66zsz','x2nVBNrVDxjtCgfJAw5N','BMfTzq','revqveHFq09nue9oru5u','ChjVAMvJDgLVBK1HDhjPEa','AgfZvxbKyxrL','cNvUAwzVCM0GyM9VBcb1x3nOB3DjBNrLCNnLy3rPB247cNvUAwzVCM0GyM9VBcb1x3nOB3DuAhjVDwDOrwXSAxbZB2LKoWOkDw5PzM9YBsbMBg9HDcb1x3jHzgL1CZSkDw5PzM9YBsbMBg9HDcb1x3HiywXMqw5NBgu7cNvUAwzVCM0GzMXVyxqGDv95sgfSzKfUz2XLoWP1BMLMB3jTigzSB2f0ihvFBM9YBwfSrgLYzwn0Aw9UoWP1BMLMB3jTihzLyZqGDv9JB2XVCJSkcMLUihzLyZmGDL9WB3nPDgLVBJSkAw4GDMvJmYb2x3bVC2L0Aw9Uv0m7cMLUihzLyZmGDL9WB3nPDgLVBKvdoWPPBIb2zwmZihzFBM9YBwfSrum7cGP2zwm0igDLDenVBg9YkgzSB2f0ihnLBNnVCLjHzgL1CYWGDMvJmYbWB2LUDevdksb7cIaGy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DdSkcIaGDMvJmYbWB2LUDe1did0Gkgn6Bv9PBNzLCNnLtw9KzwXwAwv3icOGDMvJncHWB2LUDevdlcaXlJaPks54ExO7cIaGBwf0zxjPywXjBNb1Dc5ZDca9ihnLBNnVCJjKvgv4DhvYzunVB3jKAw5HDgvZkhnLBNnVCLjHzgL1CYWGCg9PBNrnqYK7cIaGBwf0zxjPywXjBNb1Dc5ZDhiGpsbWB2LUDe1dic8GC2vUC29YuMfKAxvZoWOkicb2zwmZihbVC2L0Aw9Uvg9fEwvfqYa9ic12x3bVC2L0Aw9Urum7cIaGBwf0zxjPywXjBNb1Dc5WB3nPDgLVBLrVrxLLrumGpsbWB3nPDgLVBLrVrxLLrum7cGOGihzLyZmGBM9YBwfSrumGpsbUB3jTywXPEMuODL9UB3jTywXfqYK7cIaGBwf0zxjPywXjBNb1Dc5UB3jTywXfqYa9ihvFBM9YBwfSrgLYzwn0Aw9UicOGBM9YBwfSrum7cGOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkcIaGBwf0zxjPywWUzgLMzNvZzsa9ihvFy29SB3iUCMDIoWOGig1HDgvYAwfSlMfSCgHHid0GDv9JB2XVCI5HoWOGicaGlY8Gy3PTx2XPz2H0rgLYzwn0Aw9UrupLNkHJzxnPDw0XlJy25BYa5AEl5yQG5ywL55QecIaGCMv0DxjUig1PEcHJEM1FCgHVBMCOBM9YBwfSAxPLkhbVC2L0Aw9Uvg9fEwvfqYKSig1HDgvYAwfSlcbJEM1FBgLNAhreAxjLy3rPB25fqYKSihzLyZqOBwf0zxjPywWUzgLMzNvZzsWGBwf0zxjPywWUywXWAgePlcaWlJqPoWOkFqOkyM9VBcbPC09UqM91BMrHCNKOzMXVyxqGDMfSDwuSigzSB2f0igvWC2LSB24PihSkicbMBg9HDcb3Awr0Aca9igDLDeLUDgvYC2vJDgLVBLDPzhrOkcK7cIaGzMXVyxqGDg9SzxjHBMnLid0GD2LKDgGGkIbLChnPBg9UoWOkicbMBg9HDcbKzwX0ysa9ig1HEcHHyNmOzezKEcH2ywX1zsKPlcbHyNmOzezKEsH2ywX1zsKPktSkicbMBg9HDcbWAxHLBhmGpsb3Awr0AcaQigrLBhrHoWOGigzSB2f0ihrLBxaGpsbHyNmODMfSDwuPoWOGihjLDhvYBIb0zw1WidWGDg9SzxjHBMnLicyMihrLBxaGpcbWAxHLBhmGFhWGkgrLBhrHidWGmtaUmcaQihrVBgvYyw5JzsaMjIb0zw1Wic0GzgvSDgeGpcb0B2XLCMfUy2uGjIyGDgvTCca8ihbPEgvSCYK7cN0kcNzLyZqGC2HHzguOyM9VBcbPC09UqM91BMrHCNKPihSkicbPzIH1x3nOB3DjBNrLCNnLy3rPB24GjIyGAxnpBKjVDw5Kyxj5ksb7cIaGicbYzxr1CM4Gz2v0sw50zxjZzwn0Aw9Uq29SB3iOktSkicb9cIaGCMv0DxjUigDLDenVBg9YkhvFCMfKAxvZlcb2x3bVC2L0Aw9UrumPoWP9cGPMBg9HDcbLBgXPChnVAwrtDxjMywnLrNvUy3rPB24ODMvJmYbWB2LUDcKGEWOGihzLyZmGC2nHBgvKid0Gy3PTx2vSBgLWC29PzeLUDMvYC2vsywrPAsaQihbVAw50oWOGihjLDhvYBIbKB3qOC2nHBgvKlcbZy2fSzwqPic0Gms4WoWP9cGP2B2LKig1HAw4Oksb7cIaGDMvJmYbZzw5ZB3jwzxj0zxHxqYa9ign6Bv9TB2rLBfSZxs54ExO7icaGicaGlY8GkdaUmcWGmc4WlcaWlJaPigLUig1VzgvSignVB3jKAw5HDgvZcGOGigzSB2f0ihbVC2L0Aw9Uwca9ihzFCg9ZAxrPB24UEdSkicbMBg9HDcbWB3nPDgLVBLKGpsb2x3bVC2L0Aw9UlNK7cIaGzMXVyxqGCg9ZAxrPB25Aid0GDL9WB3nPDgLVBI56oWOkicb2zwmZihPeAxiGpsb2zwmZkdaUmcWGmc4WlcaXlJaPoWOGihzLyZmGBgLUzvGGpsb2zwmZkhbVC2L0Aw9UwcWGmcWGCg9ZAxrPB25AktSkicb2zwmZigXPBMvzid0GDMvJmYGWlcbWB3nPDgLVBLKSihbVC2L0Aw9UwIK7cIaGzMXVyxqGCMvZwca9igrVDcHUB3jTywXPEMuOBgLUzvGPlcb6rgLYktSkicbPzIHYzxnyidWGy29ZkhvFEeHHBgzbBMDSzsKGlsaWlJaWmdePihSkicaGigrPC2nHCMq7cIaGFqOGigzSB2f0ihjLC1KGpsbKB3qOBM9YBwfSAxPLkgXPBMvzksWGEKrPCIK7cIaGAwyOCMvZwsa8ignVCYH1x3LiywXMqw5NBguPic0Gmc4WmdaXksb7cIaGicbKAxnJyxjKoWOGih0kcIaGzMXVyxqGzwXSAxbZB2LKvMfSDwuGpsbLBgXPChnVAwrtDxjMywnLrNvUy3rPB24ODL9WB3nPDgLVBLDdktSkcIaGAwyOixvFC2HVD1rOCM91z2HfBgXPChnVAwqPihSkicaGigLMkgvSBgLWC29PzfzHBhvLidWGmc4Wksb7cIaGicaGigrPC2nHCMq7cIaGicb9cIaGicbPzIHPBLnLBNnVCLnOywrVDYHZzw5ZB3jwzxj0zxHxqYWGDL9WB3nPDgLVBLDdksKGEWOGicaGicbKAxnJyxjKoWOGicaGFqOGih0kicbIB29SigLZt25fBgXPChnVAwqGpsbPC09UqM91BMrHCNKOzwXSAxbZB2LKvMfSDwuSign6Bv9LChnPBg9UmYK7cIaGB3v0x0zYywDdB2XVCIa9ihnOywrLkgLZt25fBgXPChnVAwqPoWP9cG','C2HVD0zYDxn0Dw0','AgLNAer5BMfTAwnsyw5Nzq','5OUw5OU96lcd5Pw05zUB5zgO5PA55zcr6kEs77Ym5y+m5yE75zUE5Q2J5yYx','D2zZ6k+35Rgcz2v0twv0ywrHDghLH7RPLjK','zM9UDa','zw1WDhK','y2vZAxvTlwjHC2vmyxLLCLbPy2TLCI1Zzwn0Aw9UvgL0Bgu','sefmrL9gte9bva','x2XHDa','z2v0qMv6AwvYug9PBNrZ','Ahr0Chm6lY93zwjZDdb7C30UAxmUyxv0B25HDMKUy29Tl2fWCg1HChrPBgu/Ed17Eh0MEt17Ex0MEJ17EN0MBgfUzZ16Af9JBIzZAxPLpteMC2nHBgu9mszZDhLSzt04','qMfZzvbVBhLqCMLTAxrPDMu','tw92zvr5Cgu','zgvMCW','BNvT','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMzSB2f0ig1HCNnZDgvWCgLUzYHMBg9HDcb0ksb7cIaGAwyODca8idaUkqOGicaGCMv0DxjUic0XlIaRihbVDYGXlIaRihqSidiUktSkicbLBhnLcIaGicbYzxr1CM4Gms4GlsbWB3COms4Glsb0lcaYlIK7cN0kcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIb2vxyGpsbTyxrLCMLHBeLUChv0lNn0oWOGihzLyZiGDxyGpsaYlIaQihzvDI54EsaTihzLyZiOms4SideUktSkcIaGDxyGkJ0GmI4WoWOGihzLyZqGy29SB3jnyxjZm0qGpsb2zwm0kdaUktSkicb1DIa9ig5VCM1HBgL6zsH1DIKGkIbSzw5NDgGODxyPoWOkicbMBg9HDcb0Aw1Lid0Gy3PTx2zYyw1LtNvTyMvYic8GC3bLzwq7cIaGzM9YkgzSB2f0igKGpsaWlJa7igKGpcaXmI4WoYbPkZ0XlJaPihSkicaGigzSB2f0ihqGpsb0Aw1LicSGAsaQidmUmtqXntKYic8GmtiUicOGkduUicSGms4GkIbTyxjZC3rLChbPBMCOC2LUkhrPBwuGkIaZlIKPktSkicaGihzLyZiGCca9ihzLyZiOy29ZkhqPlcbZAw4ODcKPoWOGicaGCcaQpsbJB3mODgLTzsaRigKGkIaZlJe0mtu5mIaQignVCYH0Aw1Lic8Goc4PktSkicaGihzLyZmGy29Sid0Gy29ZkhzLyZmOmcWGmsWGltePicOGmY4Xnde1otiGkIaYlIaVidmUicSGmY4Xnde5mJuGkIaODgLTzsaVidiUicSGAsaViduUksKGkIaWlJuGkYaWlJu7cIaGicbJB2XVCK1HCNmZrcaRpsb2zwm0kdaUmduGlYbSzw5NDgGODxyGlsbWicOGmc45ksaQignVBcWGms4WktSkicb9cIaGy29SB3jnyxjZm0qUEhL6id0GCg93kgnVBg9YtwfYCZnelNH5EIWGDMvJmYGZlIKPoWOGignVBg9YtwfYCZnelNCGpsaXlJa7cGOGihzLyZqGyMfZzunVBg9Yid0GDMvJncHJB2XVCK1HCNmZrc5Yz2iGkYbJB2XVCI5Yz2iGkIaYlJaSignVBg9YtwfYCZnelNiGkIaWlJiPoWOGig1HDgvYAwfSlMfSCgHHid0GyMfZzunVBg9YlMeGkIbNBg9IywXbBhbOytSkicbTyxrLCMLHBc5KAwzMDxnLid0GyMfZzunVBg9YlNjNyJSkcIaGCMv0DxjUig1HDgvYAwfSoWP9cG','Bg9UzZa','DM9SDw1LtwvHC3vYzq','z2XVyMfStxnN','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIihn0yw5KywXVBMu9iM5ViJ8+cJXZDMCGD2LKDgG9iJe3ChGIigHLAwDODd0ImtDWEciGDMLLD0jVEd0ImcaWide3ide3iIb2zxjZAw9UpsiXlJeIihHTBg5ZpsjODhrWoI8VD3D3lNCZlM9YzY8YmdaWl3n2zYiGEg1SBNm6EgXPBMS9iMH0Dha6lY93D3CUDZmUB3jNlZe5otKVEgXPBMSIpGOGicaGphrPDgXLpIr0AxrSzsq8l3rPDgXLpGOGicaGpgrLC2m+BwfYCZnKlMnUpc9KzxnJpGOGicaGpgrLzNm+pc9KzwzZpGOGicaGpgCGAwq9iLbHz2uTmsiGC3rYB2TLpsjUB25LiIbZDhjVA2uTD2LKDgG9iJeIigzPBgWTCNvSzt0IzxzLBM9Kzci+cIaGicaGicaGpgCGAwq9iMnVBxbHC3mTAw5UzxiIigzPBgWTCNvSzt0IBM9UEMvYBYi+cIaGicaGicaGicaGidXWyxrOigq9iK04lJuSmtyUnsbdnc4Wode3mJiSmtyUnsaWlJuSmtiUote4mJC4idaUnsW4lJuGqZaUnsW0lJa4mtCYmIa0lJa4mtCYmIWWlJuGoc41ldaUnsbdmtiUote4mJC4ldaUnsaXnI41ldqUmdGXnZiYide2lJuSoc41iemXnI41ldeYlJKXodi3ocaXmI45mtGYnZGSmtyUnsa4lJuSmtyUnsbAie04lJuSmtuUnsbdmtiUmZy1otKZmIWXns41ide1lJuSmtiUmZy1otKZmIaXns41ldGUnsbdmtuUnsW0lJyZndaWnJC1ideYlJm2ntK5mZiSms41idGUnsWXlJuGqZqUnJm0mda2nZuSms41ideUnsW0lJyZndaWnJC1ideUnsW4lJuGqZeUnsWXmI4ZnJu5otmYidqUnJm0mda2nZuSmtuUnsa4lJuSmtuUnsbAiIbPzd0It3zHBc05nIi+pc9WyxrOpGOGicaGicaGicaGica8Cgf0AcbKpsjnos45mJu5otGZnsW3lJa5mdy2odmYiemXmI43mtiYodCYldKUodC2otu3mtiGmtqUmZCWotm4ocWXmI41nduYmJi4ideZlJq0otC0nZeSmtmUndy2nde0nsbdmtiUnti4ntu1nsWXnc4ZodC2mdyXidKUodyWmJG5nZKSmtiUnZi4otu0nsa3lJa3ndaWmsW5lJK0mJy2nty4iem0lJi4nZCXmJiSnY4XntyZnZy4ocaYlJyYota2mdu1ldqUndG4mteXmtKGmY41ntaYntiYmsWZlJu2nJKXotuZiem0lJq3mtq0mZG2ldiUnJq1nZi3odGGnY4XmZK3mdK1nsW0lJmWndm3otuYidKUoti1otK4mZuSnY4Wota2nJGZmIbAie05lJiXodG5mtu3ldCUnZK3nZC1msbdnI45mJGZnJq1ocW1lJuWnZi0odeXidqUntiWnZu3nJKSnc4Wmta2mJC2msa0lJi1nZm1odK5ldqUmJC0mdi2mZeGqZmUotKZotyWmJKSnc41mZC0mJuWmsa1lJq5mdu4mdC4ldyUotq1mdmXosa3lJC4mteWnZC4ldKUmJm1ntu4osbdmtaUmdCXnJm0ocWXms41mJyWodu5ideYlJq3oti0mtCSmtmUmdiYnZa2ncaXmI43ndi2nda0ldeYlJC1otmWnZCGqZeZlJaWnJaZoteSmtiUndK1ota5ideXlJuWotqXodySmtaUmdG4mZaYmsa5lJiXodG5mtu3ldCUnZK3nZC1msbAiIbPzd0It3zHBc05nI1dB3b5ltiIpJWVCgf0Ad4kicaGicaGicaGicaGphbHDgGGzd0IttKUoti1otK4mZuSos45ndi2nJu2ocbdnY4XmZK3mdK1nsWXmI43mJG5ntq1idqUndCXndqZodySmtqUmZG3nJa2msaZlJu1mdi1mJiXldeZlJq2nJqXnduGqZiUnJi5mdyWntuSmtiUntq1mJiYoca0lJi4nZCXmJiSos44nZy5ntCXmIa3lJa3ndaWmsW3lJa5mdy2odmYiem5lJG2mdi4otC5ldqUmZa0mZC5ntiGmtiUnti4ntu1nsWYlJy0ntCYnZG4ideZlJq0otC0nZeSmY41nJy5mtK1mYbdmtqUmZCWotm4ocW0lJq4odeXmte5ideYlJCXmJi4nZiSnY4XntyZnZy4oca5lJKYntK5odm1ldKUotqYnJy1nJGGwIbnos4YmtG4ote1nYW5lJiZntu1odKGqZeXlJuWotqXodySnI45nduWmZe5ideZlJaWnJaZoteSnc41mZC0mJuWmsaXmI43ndi2nda0ldqUmJC0mdi2mZeGqZeYlJq3oti0mtCSnc4Wmta2mJC2msaXmc4WnZe2mZq4lduUnta3mJq4mteGnY43odeXmdC3ocW3lJC5nZC3nteGqZuUndKWntGWnZGSmtaUmdG4mZaYmsaZlJK5mZK2mdi5ldeYlJq5ntKWosa0lJi1nZm1odK5ldeYlJC1otmWnZCGqZqUntiWnZu3nJKSmtmUmdiYnZa2nca2lJKYodm2ndu4ldeXlJuYnJa4ntKGos4YmtG4ote1nYW5lJiZntu1odKGwIiGAwq9iK92ywWTotyTq29WEs0ZiJ48l3bHDgG+cIaGicaGicaGicaGidXWyxrOigq9iK0Xns4Xndy0ndy2ldeUmtq2ndq2nIbmmtqUmZq1mZm2ncWXlJK0nZu1nJG0ieWXmY45nJa4nJKYldiUmZmYmdi0mdeGtde0lJy2nZK3nIWZlJaZoteZmdC3ieWXns4Wnti0ndmXldiUnJu0nJyZnJiGtde1lJG1mZu1mZqSms44ntm1ntm0ieWXns4Xndy0ndy2ldeUmtq2ndq2nIbAie0YlJi5nZyWmde0ldeZlJK5nti5mYbmms44ntmXmtKWmIWXnc40mZK3nZqYieWXlJaWndmXmsWXns4YodG1odiYieWXlJCXmtqXnZC2lde1lJK5nty4osbmmI41nJaYmJu4msWXns4Xndy4odeGtdmUmda0nZa2otGSmtqUnZaYmZK5ocbmmI4YotC2mdaXncWXmY45otuYotmGwIiGAwq9iKXPBMuIpJWVCgf0Ad4kicaGicaGicaGicaGpgnPCMnSzsbPzd0It3zHBc00mZiIign4psiXnIiGy3K9iJeIihi9iJeIpJWVy2LYy2XLpGOGicaGicaGicaGica8y2LYy2XLigLKpsjpDMfSltqZmI1dB3b5iIbJEd0ImsiGy3K9iJe2iIbYpsiXiJ48l2nPCMnSzt4kicaGicaGica8l2C+cIaGica8l2C+cJWVC3zNpGO','x3nHBxbSzwrqB3nPDgLVBLbYB3bLCNr5','Aw1Hz2vpChrZq29UDMvY','z3jHCgHPy19WyxjLBNq','x3nLDeLUChv0qwn0Aw9U','B25czwzVCMvdCMvHDgu','qMXLBMrPBMDtDgf0zq','Aw5KAwnL','Bg5Nq29SDw1U','ndq5ode3nvHst2XAva','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptK5icTRpteGk3HFmd0XnZuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','z2v0sw5nyxbdAgLSzhm','ywrKrhLUyw1Py1bVC2L0Aw9U','x2zSAxbz','ChjPBwL0AxzLCW','EM9VBu91Da','zgLZDgfUy2veAxnWBgf5q29UzgL0Aw9U','rw5JB2rLzenHCNrLC2LHBJm','yw5NBguY','zMvHDhvYzxm','vevyvfvsrv9nquDFrKLmvevs','ug9ZDfbYB2nLC3ntDgfNzq','5BgE5OcN57g75z6l5BEY5A2y5zYO','57o757UF5Qoa5Rwl5yIW5OkO5l2/55sO55Qe5Rwp6kEi5zMO5lIn5PsV5OYbv2vIr0ZLIP/OG70','x21VDMvtDgvW','yNjPz2H0BMvZC0vMzMvJDa','ug9SEwDVBK91DgXPBMvhzw9TzxrYEq','D2TPza','zgfZAeXLBMD0Aa','x2XHC3rnC1nHBxbSzvrPBwu','vZDuA25tB0fxuI9Js21VkW','x3n1BMXPz2H0','uxvHzhrYzwvpy2nSDwrLCNm','BwfWqM91BMq','twfW','q29TBwfUza','y29UCW','rNjHBwvIDwzMzxi','sg91z2G','u25VD0nVDMvYrwzMzwn0','u2fTCgXLzfbVC2L0Aw9UuhjVCgvYDhK','x3rLCNjHAw5qCM92AwrLCKLUzgv4','x+wBVUs4IUMhJ+EULW','BM9YDgG','ChjLBg9HzefUy2vZDg9YCW','C2fTCgXLCG','ug9SEwXPBMvwB2X1BwvqCMLTAxrPDMu','x2LUChv0t3jKzxi','Bg9Hze9R','wL9uuKfou0XbveLptG','tw92zuHLAwDODa','DgLWCW','uMvJDgfUz2XLr2vVBwv0CNLmAwjYyxj5','z2v0ug9PBNrcEufUz2XLqw5KtgvU','x2rLzMf1BhrFDgLSDev2zw50vhLWzxm','zg93BMXVywrcyxnLnJrjBwfNzq','z2vVsNnVBKXHEwvYx29Utg9HzeHHBMrSzxi','y2XPChbPBMDqBgfUzxm','E2nYC3H9','qMvZC2vSide4ndeGke5HBwLIAweP','AxnjBLzPzxC','z2v0r3jHCgHPy3ncEvn0EwXL','AgLKzgvUrwrNzunVBg9Y','rvbtrZO0ntiZ','x2LZuM90yxrLu3rHCNq','z2v0q0DduZiWmdbfufnhqNLmBMC','z2v0qM91BMrPBMDcB3G','x2fKzenOAwXKr3jHCgHPyW','zMeGzMeTz2XVyMu','yw5NBgvnzwfZDxjL','sw1Hz2u','x3zPC2LIBgvdB2XVCG','B1bYB2O','DMLZAwjPBgL0Exm','Cg9ZAxrPB25Zx29YAwDPBMfS','x3n0B3beCMf3sg9VAW','C3rsB3rHDgLVBKrLz3jLzq','x3jLBw92zuXHEwvYu2HVD25mAxn0zw5LCG','x3zPC2LIBgvbCMvHq29SB3i','zgv0ywLSx3vYBa','x3zPzxDnyxrYAxG','zMeGzMeTDhjLBgXV','B25eCMfNrw5K','vu5tsuDorurFqLLurq','DxbKyxrLt3jPzw50yxrPB24','vgvYCMfPBLn0yxrL','BwfYCZnKlwrPC3rHBMnLlwXLz2vUzca','x2DLDeL0zw1iDg1S','Dv9TyxjZm2rFC25HA2vFBwf4sgvPz2H0','id0Gz2v0ug9PBNrwAxnPyMLSAxr5kg5VCM1HBevdlcbWB3nPDgLVBKvdlca','rNvSBhnJCMvLBG','C2T5BgLUzujVzhK','x29UvgvYCMfPBKnOyw5NzuHHBMrSzxi','y2XVBMu','q2fYDg9NCMfWAgLJ','C2nVCgu','Dg9pyMPLy3q','x2nHBMnLBe1VDMvuBW','Dv9TyxjZm2rFzMXVB2rFCMfKAxvZ','x3nJzw5LrxzLBNq','AgLNAgXPz2H0t3bLBG','lNbUzW','x3rPBwu','x2nYzwf0zunLC2L1BtnevgLSzxnLDa','x2rLChrOvgvZDa','x+wnLEwhU+w8GowNI+E7MowiTG','zNjVBuDSDgzbC3LUyW','CMLNAhrmyxLLCG','qNvMzMvYvxnHz2u','tgfTyMvYDf9dB25MB3jTywXFq29UAwnFmvnq','q3PTBeXHEwvY','z2v0tMv4DeXHEwvYswq','BgLZDa','zNjVBunVBg9Y','x3bPEgvSuMfUz2u','x+s4H+ERI+AwUEEXSW','Bg9JywXuB1DVCMXK','x2rYyxDfBMrfDMvUDfr5Cgu','5zU+5Bgc6k6+572U5lQg6iYd5zU0oG','vZDTofDqzgnvu2TmDKnRELDrl2nlq294Eg1VkW','B25KyMXJBgLJAW','x2DLDfrPBgvfDMvUDfbHCMfTCW','D2f0zxjdB2XVCG','zMfYvMfSDwu','DxbKyxrLt2zMC2v0','x29UuMvTB3zL','AgLNAa','BMvHCLzHBhvL','y3jLyxrLr3vPza','D2HVBgveAxn0yw5Jzq','ChjLuMvUzgvY','BM9FDw9MzG','zMX5sg9Tzq','rgvMyxvSDeLTywDLswq','x3bPy2Tjzhm','BxvSDgLWBhLcEvbVAw50qxnwzwn0B3i','C2XPy2vZ','5BYa5zcV5zYW5B2I','x21ZrNjHBwvdB3vUDa','AwnVBLbHzgrPBMC','x2zPEgvKtgLNAhq','Dv9TyxjZm2rFy2XPCf9Yyw5Nzu51BwjLCG','ug9SEwXPBMvdB21IAw5L','x3vWzgf0zu91DgXPBMvtDhLSzq','y3jLyxrLugLJA0LK','x2XHC3rFBwf0zxjPywW','C2LU','Bgf0','zNjVBvbSyw5L','y2GXotaZ','B25Lug9PBNq','x29UtwfWx3DOzwvS','Bwf0y2G','BgfZDe1HEerLChrO','CMvHzhK','x2nYzwf0zvzPzgvVuhjPBwL0AxzL','EhPXAa','zNjVBuHLywrPBMDqAxrJAfjVBgW','BgLUzurHC2G','zw5K','DhjHBNnSyxrPB24','C291CMnLCW','uKve','yvnRvuu4B3Dxus9KvMqXrhnmCgrkAhK','Bgf0ma','uKvorevsruq','yM91BMrPBMDtCgHLCMu','B3v0BgLUzu9WywnPDhK','x3rVsNnVBKv4','zg93BKDYyxbOAwm','Bgf0zxjHBfn1CMzHy2vnyxrLCMLHBa','BM93','id0Gz2v0rNj1C3r1BvzPC2LIAwXPDhKOBM9YBwfSrumSihbVC2L0Aw9UrumSia','tMv0D29YAYbfCNjVCG','x2jVDhrVBvbYAw1PDgL2zq','ug9SEvv0AwWGyNvMzMvYoUE8K+wgSUwiHUAEKow8GUw4Ua','mZaW','DMvYDgLJywXfEgfNz2vYyxrPB25szwXHDgL2zuHLAwDODa','Axnszxn0B3jLug9ZAxrPB25Z','x2XHC3rFy2XPy2TuAw1L','y2vZAxvTlwj1DhrVBIbJzxnPDw0TDg9VBgjHCI1IDxr0B24GBwfYm2qTDg9VBej1DhrVBIa','x3nOB3DeAwDcB3G','Dv90zxH0DxjLqwXWAge','C2HVD1bSyw5L','z2v0u2HVCNrLC3rqyxrO','u2HHzg93tM8','x29UtwfWx21PzgrSzunSAwnR','zM9YD2fYzev4DhjHCg9SyxrPB25uExbL','ywXLCNq','i2zMzMyWma','x3vWzgf0zufUz2XLqw5Kt3bHy2L0Eq','x3rLBxbSyxrLvMfSDwvZ','x3vWzgf0zvbVC2L0Aw9UC0HVB2S','B2zM','DMLLDW','ru5mqvjhrq','CxvLCNLfEhrLBNq','iZu0nMe1mW','CMvTB3zLvgHPBMC','BwfYCZnKlwHPzgveAxy','yxrHBJi','B3bLBKHPz2HSAwDODo+8MUwoN+ACIxn0EwXL5lIT5lIn5A2y5zYO5lUL5lIl5BgE5OcN77Ym5ywZ6zET6AUy5lQU5PE25Bcg5PEG5Rov5OgI5Asn','Dw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFzMXVB2rFDgv4DhvYztSkDw5PzM9YBsbTyxq0ihvFBwfYCZnKx2zSB29Kx2LUDMvYC2vnyxrYAxG7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFCMfUz2voDw1Izxi7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFBwf4uMfUz2vmzw5NDgG7cGP1BMLMB3jTigjVB2WGDv9TyxjZm2rFzMXVB2rFzw5HyMXLzdSkDw5PzM9YBsb2zwm0ihvFBwfYCZnKx2zSB29Kx2nVBg9YoWP1BMLMB3jTigjVB2WGDv9TyxjZm2rFzMXVB2rFzMXVB2rbBgW7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFy3vYCMvUDgHLAwDODdSkDw5PzM9YBsbMBg9HDcb1x21HCNmZzf9MBg9Vzf9TAw5FAgvPz2H0oWP1BMLMB3jTigjVB2WGDv9TyxjZm2rFzMXVB2rFBgLTAxrnAw47cGP2zwm0ihjLC3rVCMvqB2LUDf9TyxjZm2rFzMXVB2qODMvJncbWB2LUDcKGEWOGihzLyZmGB3v0Cg9PBNqGpsbWB2LUDc54ExOGkIbWB2LUDc53oWOGihjLDhvYBIb1x21HCNmZzf9MBg9Vzf9PBNzLCNnLtwf0CML4icOGDMvJncHVDxrWB2LUDcWGms4WktSkFqOkDMvJncbNzxrszwDPB25Zx21HCNmZzf9MBg9VzcHMBg9HDcb4lcbMBg9HDcb5ksb7cIaGzMXVyxqGDsa9icH4icSGmc41ksaVicH1x21HCNmZzf9MBg9Vzf9TyxHsyw5NzuXLBMD0AcaRideUmcK7cIaGzMXVyxqGDIa9icH5icSGmc41ksaVihvFBwfYCZnKx2zSB29Kx3jHBMDLtNvTyMvYoWOGihzLyZqGCg9PBNqGpsb0zxH0DxjLkhvFBwfYCZnKx2zSB29Kx3rLEhr1CMuSihzLyZiODsWGDIKPoWOGihjLDhvYBIbWB2LUDdSkFqOkyM9VBcbPBLjLy3rHBMDSzv9TyxjZm2rFzMXVB2qODMvJncb0zxH0ug9PBNqPihSkicbMB3iOzMXVyxqGAca9idaUmdSGAca8ihvFBwfYCZnKx2zSB29Kx3jHBMDLtNvTyMvYoYbOicS9ideUmcKGEWOGicaGzMXVyxqGy3vYCMvUDeXLBMD0Aca9igDLDfjLz2LVBNnFBwfYCZnKx2zSB29KkdaUmcWGAcKUEdSkicaGigzSB2f0ignVDw50zxiGpsaWlJa7cIaGicbMB3iOzMXVyxqGDYa9idaUmdSGDYa8ign1CNjLBNrmzw5NDgG7ihCGkZ0Gms4Wksb7cIaGicaGigzSB2f0ig5LEhrjBMrLEca9ihCGkYaXlJa7cIaGicaGig5LEhrjBMrLEca9ig5LEhrjBMrLEca+psbJDxjYzw50tgvUz3rOid8Gmc4WidOGBMv4DeLUzgv4oWOGicaGicb2zwm0ihaXid0GCMvZDg9YzvbVAw50x21HCNmZzf9MBg9VzcHNzxrszwDPB25Zx21HCNmZzf9MBg9VzcH3icSGms4WlcbOksK7cIaGicaGihzLyZqGCdiGpsbYzxn0B3jLug9PBNrFBwfYCZnKx2zSB29KkgDLDfjLz2LVBNnFBwfYCZnKx2zSB29Kkg5LEhrjBMrLEcaRideUmcWGAcKPoWOkicaGicaGzMXVyxqGCdf4id0GCdeUEdSkicaGicaGzMXVyxqGCdf5id0GCdeUEtSkicaGicaGzMXVyxqGCdj4id0GCdiUEdSkicaGicaGzMXVyxqGCdj5id0GCdiUEtSkicaGicaGzMXVyxqGDgv4DfbVAw50Eca9ihrLEhrqB2LUDc54oWOGicaGicbMBg9HDcb0zxH0ug9PBNr5id0GDgv4DfbVAw50lNK7cGOGicaGicbPzIHWmxGGit0GCdj4icyMihrLEhrqB2LUDhGGpIbTAw4OCdf4lcbWmNGPicyMihrLEhrqB2LUDhGGpd0GBwf4khaXEcWGCdj4ksaMjIb0zxH0ug9PBNr5idW9ig1HEcHWmxKSihaYEsKPihSkicaGicaGicbMBg9HDcb4Aw50zxjZid0GkcH0zxH0ug9PBNr4ic0GCdf4ksaQicHWmNKGlsbWmxKPksaVicHWmNGGlsbWmxGPicSGCdf5oWOGicaGicaGigLMkhaXEsa9psbWmNKGFhWGDgv4DfbVAw50Esa8psb4Aw50zxjZksb7cIaGicaGicaGicbJB3vUDgvYicS9ideUmdSkicaGicaGicb9cIaGicaGih0kicaGih0kicaGigLMkcHTB2qOy291BNrLCIWGmI4WksaHpsaWlJaPksb7cIaGicaGihjLDhvYBIb0CNvLoWOGicaGFqOGih0kicbYzxr1CM4GzMfSC2u7cN0kcNzVAwqGzNjHz21LBNrnywLUkezYywDTzw50sw5WDxqGzNnjBNb1DcWGAw5VDxqGy3PTx21VzgvStwf0zxjPywWGBwf0zxjPywWPihSkicb2zwmZihbVC2L0Aw9UtumGpsbMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25nqZSkicb2zwm0ihrLC3rqB3nPDgLVBIa9ihvFBwfYCZnKx2zSB29Kx2LUDMvYC2vnyxrYAxGGkIbJEM1FBw9KzwWGkIb2zwm0khbVC2L0Aw9UtumSideUmcK7cIaGAwyODv9TyxjZm2rFzMXVB2rFzw5HyMXLzcaMjIaODv9TyxjZm2rFzMXVB2rFzMXVB2rbBgWGFhWGAw5szwn0yw5NBgvFBwfYCZnKx2zSB29KkhrLC3rqB3nPDgLVBIKPksb7cIaGicbMBg9HDcbOzwLNAhqGpsb0zxn0ug9ZAxrPB24UEJSkcIaGicbPzIHOzwLNAhqGpd0GDv9TyxjZm2rFzMXVB2rFy3vYCMvUDgHLAwDODcaMjIaOixvFBwfYCZnKx2zSB29Kx2XPBwL0twLUihX8ihvFBwfYCZnKx2zSB29Kx21PBL9OzwLNAhqGpd0GAgvPz2H0ksKGEWOGicaGicbTyxrLCMLHBc5KAwzMDxnLid0GBwL4kg1HDgvYAwfSlMrPzMz1C2uSihvFBwfYCZnKx2zSB29Kx2nVBg9YlNjNyIWGDv9TyxjZm2rFzMXVB2rFy29SB3iUysK7cIaGicb9cIaGFqP9cG','z2v0q2fJAgvpCKfKza','C3LTyMLHBM9Z','BMvJA0fUz2XL','vevyvfvsrta','x3bVC2L0Aw9UC19SAw5Lx3G','x3rLEhr1CMvtAxPL','zMLSBfzVBhvTzu5HBwu','CgL4zwXpzMzZzxrty2fSzuj5rgLZDgfUy2vFzMfYvMfSDwu','A2v5v29Yza','x3n0B3bqCM9WywDHDgLVBG','zwXSAxbZB2LKu3r5BgvdB252zxi','z2v0ug9ZAxrPB25cEurPCMvJDgLVBKfUzeXLBG','tuLereXfx0rsquC','x21LDgfKyxrHrxjYB3i','x+ERI+AwUEEXSW','x2nHy2HLr3jPza','Bw96sw1Hz2vtBw9VDgHPBMDfBMfIBgvK','z2v0qNLbDhrY','z3jHDML0Eq','D2HLzwW','r3jLzwTFr2vVzgv0AwnFuMvMzxjLBMnLx1n5C3rLBv8XotG3','C3rHDgu','AgvHzefUz2XL','i0qZm0i3ra','C3bOzxjL','ywz0zxjszw5Kzxi','BwfYC09WDgLVBNm','DxbxqW','zxzH','x3jHBMDLtNvTyMvY','ChjVCgvYDhK','D2vIz2W','x2LZtgvMDerVD24','ENmZy08ZCgnpu29my2e','Bg5Ntgf0vg9qB2LUDa','B25eB3DUBg9HzfbYB2DYzxnZ','Cg9PBNrpDxrSAw5L','y2XPCa','AgfSzKzSB2f0Aw5Nug9PBNruzxH0DxjL','x2HPzgrLBKfYzwfdB2XVCG','x2fKzgvKsg9VAW','x291DgXPBMvdB2XVCL9HBhbOyv9IywS','x29SzfbPy2TqCMLTAxrPDMu','x2fKzenSDxn0zxjjDgvT','56YS5lIa6kEg6kEs56Uz5yIW5Q2K5Ase','x+s/RUAuUEMvV+w6PG','qMfPzhvqt0K','vZyWufC1rMnkog9fv085ENq4B0HxuMHKvKnVtuqZna','C3bHDgLHBfjLzMvYzw5Jzq','AgfZm2r0AwXLCW','zNvUrgvIB3vUy2u','C2nHBLbSyw5L','z2XVD1bVD2vY','x3nLDenHBwvYyu9WDgLVBG','r2vVsNnVBKXHEwvY77YA5RkH5PYj5lYG5ywLihvYBcdMIjyGzgf0ysdLJ4lMLBaS6k+356gU6k6K5PIV5zcM5PYj6k+V44cc','x21VDxnLrxzLBNq','Bwf4Aw11BufSCgHH','x2XHC3rFCgLJA2vK','x2zPCMvfBMrfzxzUDa','C3rVCfrPBwu','ug9SEwDVBKDLB21LDhj5','zM9NqNLeAxn0yw5Jzv9Myxi','x2DYyxbOAwnFzwrPDgLUzW','C2HVD0zPBgXwB2X1Bwu','x3jVDgf0zuHWCG','x2nSyxnZtMfTzq','x21VDxnLrg93BG','x3vWzgf0zuv4t3bHy2L0Eq','Aw1Hz2vcB3r0B20','zMfJDg9Y','CMvTB3zL','zMXVD0DSB3C','Bw92zurVD24','yMfZzu9WDhndB252zxi','zNjVBvjVDgf0Aw9Uwq','D2vIz2XLCNjVCG','Dw5PzM9YBsb2zwm0ihvFy29SB3i7cNvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGigzSB2f0ihrPBwuGpsbMCMfJDcHJEM1FzNjHBwvoDw1IzxiGlYa5mc4PoWOGihzLyZiGBMv3x3n0id0GzNjHy3qOC3qGlsb2zwmYkhrPBwuSihrPBwuPktSkicb2zwm0ignVBg9Yid0GDgv4DhvYzsHPBwfNzsWGBMv3x3n0ktSkcIaGDMvJmYbKAwzMDxnLtwfYCZneid0Gy29SB3iUCMDIoWOGigzSB2f0igfSCgHHtwfYCZneid0Gy29SB3iUytSkicbKAwzMDxnLtwfYCZneicO9ihvFy29SB3iUCMDIoWOGigfSCgHHtwfYCZneicO9ihvFy29SB3iUytSkicbHBhbOyu1HCNmZrcaQpsb1x2nVBg9YlMe7cIaGBwf0zxjPywWUzgLMzNvZzsa9igrPzMz1C2vnyxjZm0q7cIaGBwf0zxjPywWUywXWAgeGpsbHBhbOyu1HCNmZrcaQihbVDYGXlIaTihn0lNqSihvFy29SB3iUysKGkIbNBg9IywXbBhbOytSkicbYzxr1CM4GBwf0zxjPywW7cN0k','y3jLyxrLuhjPBwL0AxzL','x3jLy3rHBMD1BgfYu2vUC29YtwfYCW','jM5IC3a7jM5IC3a7jM5IC3a7jM5IC3a7','y2HLy2TeyxrH','ChjPBwL0AxzLvhLWzq','uKLhsfq','x21HEeHLAwDODa','Bgf5zxi','yMvNAw5qyxrO','BMvNyxrPDMvA','ug9SEwDVBG','qxnWzwn0q29SB3jdB250B3vY','Bw91C2vVDxq','CMvZB2X1DgLVBLnJywXL','y2L0Ev90ExbL','C3rYAw5N','B25SEvbPy2TuzxjYywLUug9ZAxrPB24','zg93BMXVywq','txvSDgLqB2X5z29U','yw5NBgvezwnPBwfS','zNjVBu1LCMnHDg9Y','x2rYywDNzxjnB3zL','Axnezxn0CM95','yMfPzhu','x2HHC0XVywq','Dgv4DefSAwDU','rgLZDgfUy2vmzwDLBMq','x2nVBg9Yx2fSCgHH','zw5HyMXLtgLNAhrPBMC','rvbtrZO0ndKX','x2jPBMrgDw4','yxv0BW','CgLJA0LTywDLCNLmyxLLCKzLyxr1CMvZ','icbSAwTLicCL','Dw5PzM9YBsb2zwm0ignVBg9YoWOkDM9PzcbTywLUkcKGEWOGig91Df9gCMfNq29SB3iGpsbJB2XVCJSkFqO','u2nLBMvnB2rL','x3nWzwvK','x2DVsgLZDg9YEvzPzxC','sw1Hz2vYEq','Dg9dyxj0zxnPyw4','x3jVDgf0zvn0zxa','CM9SBa','x3jVDgf0zv9VBLbYzvjLBMrLCKHHBMrSzxi','C3rLCa','zNjVBunHCNrLC2LHBG','yM91BMrPBMDwB2X1BwvtB3vYy2vuAwXL','vu5tsuDorurFu0HpuLq','x2DSB2jLtw91C2viyw5KBgvY','zxaY','x2DLDfbVChvWug9ZAxrPB24','iZeYm2u1oq','zMeGzMeTA2v5yM9HCMqTBW','CgXHy2vOB2XKzxi','qNvMzMvY','z2v0rgvYAxzLzfjLC291CMnL','AxnmB2nHBgHVC3q','x2DLDfbVBhLSAw5Lt3v0BgLUzvbVC2L0Aw9UCW','yxzHAwXHyMLSAxr5','y29YBMvYvhLWzq','Bg5N','DxbKyxrL','C3rsB3rHDgLVBG','Aw1Hz2veAxnWBgf5','CMfUzg9T','q2LYy2XLv2f2zq','CMvXDwvZDez1BgXZy3jLzw4','x2LZug9PBNq','y2XYAZGWAwDU','C2HVD0rVBwvtDxjMywnLCW','B2zMC2v0tgvMDa','Bwf4Aw11BurPC3rHBMnL','rgv2zwXVCgvYrxjYB3i','ywrKvgLSzuvYCM9Y','C2HVD1nLy3rVCKXPBMvZ','z3jHCgHPy0LKCW','BgLNAhrtAgfKB3DnyxbdDwjL','vevyvfvsruq','yMLUyxj5u2vHCMnO','zgvMAw5LuhjVCgvYDhK','57YP5Ps+6kEg5zU+','pc9KAxy+cIaGicaGicaGicaGicaGica8l2rPDJ4','A2DPBw5dBZbxue9cyvnVwgTdA0fxuJLw','x3nLDenSB2nRt3b0Aw9U','x2DLDe91DgXPBMvqB3nPDgLVBNm','ywXS','x3nLBgvJDgvKugXHBMu','x25VugLJA0vUDgL0Eq','x29YyML0q3vYC29Yt3bHy2L0Eq','z2v0ugLJA2vK','zwXLDMf0Aw9U','teLorvm','x25VvxbKyxrLrwrPDgLUzW','x21PBMLTDw1dBhvZDgvYu2L6zq','zgLMzKHLAwDODa','q2fYDgvZAwfUmW','y3jLyxrLqxr0CMLIDxrLtg9JyxrPB25Z','z2v0qMfZzw1HChm','qMfZzuXHEwvYugLJA2vY','xZb4zdi4ntvM','y3vZDg9Tu2HHzgvY','BwfYA1n0yxj0t2zszw5KzxjgCMfTzq','x3n0yxrLqwXS','ywrKr3jHCgHPyZRMLBdMJA5PzowTMowCQowgSUEQGE+8Jow3SUMhJEAwSoI1I+waVgLK','x21HEfrPBgvmzxzLBa','C291DgG','wL9vuf9ut19zx1vq','quXqsee','q2vZAxvTm0ruAwXLugfZC1n0yxrL','y29TChv0zvzVBhvTzq','r3vUDw5NifnLz2fYysbkywTHCNrH','zw50Axr5q29SBgvJDgLVBIbPCYbYzxf1AxjLzc4','qM91BMrPBMDtCgHLCMu','q2LYy2XLrw50Axr5','rMvHDhvYzq','x2nVBNrHAw5LCLvS','mtu2','yMXHy2TbBMrxAgL0zq','teLorufs','x3jLy3rHBMDSzq','zw5KrhjHDW','C2HVD1bVAw50sgvPz2H0tgfIzwW','Dw5IAw5Kq29UDgv4De1LBNu','z2v0r3jHCgHPy3ncEuLKCW','z2v0r3jPzfbVAw50CW','x+s/RUAuUEwUVEw6PG','ywXSq291BNq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptKZicTRpteGk3HFmd0ZmtuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','y3vSDhvYzq','zNjVBuvSzw1LBNrZ','x3n0yxrLt2TjBMrLEa','z2v0twf0zxjPywW','BMf2AwDHDgLVBKLUC3rYDwn0Aw9UC0LUAxrPywXSEvzPC2LIBgu','Dv9ZAgfKB3Dnyxbuu0rcqu5tuW','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0ihnWzwvKoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicbMBg9HDcb0Aw1Lid0GzNjHy3qOy3PTx2zYyw1LtNvTyMvYicOGC3bLzwqGlYaXmdaWlJaPoWOGigzSB2f0igfSCgHHtwfYCZneid0GywjZkhnTB290Ahn0zxaOmc41lcaXlIWGzNjHy3qOlxn0lNqGlsb0Aw1LksKPoWOGigfSCgHHtwfYCZneicS9ic4XoWOGig1HDgvYAwfSlMfSCgHHid0GywXWAgfnyxjZm0qGkIbNBg9IywXbBhbOytSkicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3iUCMDIoWOGihjLDhvYBIbTyxrLCMLHBdSkFqO','zw5HyMXLugLJA0zLyxr1CMvZ','DgLSzvHzvg9szwn0yw5NBgu','y2XPCe91DfnPzgu','CgvYug9ZAxrPB25izwLNAhq','x2nHy2HLx25KyxrHx2TLExm','vw5PDMvYC2fSifrYyw5ZDMvYC2uGtwvYy2f0B3iGu3LZDgvT','q2fSBgjHy2TqCM9Wzxj0Eq','z2v0sw50mZi','zxjYB3jfDMvUDa','BgvHzfrPBwu','z2v0rMXVyxq2na','ywrKqxn5BMm','x3jHDgvFDg90ywW','zwrPDgLUz0DYAwq','tMv3ifPLywXHBMqGr2vVzgv0AwmGrgf0Dw0GmtK0oq','qvPvuKu','uM90yxrLug9PBNrtDgfYDa','x21HCf9JBg9JA1n0B3buAwnRsgfUzgXLCG','DMvYDgv4rM9YBwf0','B3v0zxjive1m','v0Hjveu','yMfZzu1HDgvYAwfSq29UDMvY','qxjJr0LtvgLSzwrfBgv2yxrPB25uzxjYywLUuhjVDMLKzxi','x3nPBgHVDwv0DgvdB2XVCL9HBhbOyv9IywS','zgf0yvnVDxjJzq','CMvHzhLqCM9TAxnLioAxOoAZLEEBKEwqRo+8JoIVPEwVUEIXOEs4JEwTMowCQhbYAw1PDgL2zEwVUEIXOEAiLNjLywr55BgE5OcN','5A2y5zYOAwtPH43LPi3NMOtLM77LSylPHy3NVA7VViZOR7FMJPlMN6uH','nMToBeT1AG','C2nLBMu','vevyvfvsrv9xuKfqx1m','x2nYzwf0zuDYyxbOAwnZ','Bw91C2vnB3zL','zw5HyMXLze1VDMvuyxjNzxq','Cg9ZDfbYB2nLC3ntDgfNzq','zhjHD0LTywDL','CM90yxrLq2fTzxjH','tuvssvq','56Ab5Q2I57Yw6l6r','ChjVDMLUy2u','yMfJA2DYB3vUza','vgLSDgvKx1bLCNnWzwn0AxzL','DgvZDa','x3bHy2TLzeLUDgvYCg9SyxrPB25mzw5NDgG','qwXIzxjZ','DM9PzcbTywLUkcL7Fq','x3nLDefQyxHqB3n0Aw9Ux1rPBwu','sgvHzgLUz1bPDgnOuMfUz2u','x2f1Dg9TyxrPy2fSBhLuCMfJA0rHDgftB3vYy2vdBg9JA3m','x3rPBgvmyxLLCL9HzgruAwXLsgfUzgXLCG','zw50Axr5r3jHCgHPyW','wf9uuKfou0XbveLptG','x2TLExm','oYi+cIaGicaGpgrPDIbJBgfZCZ0IBwfYCZnKlwrPDKjVzgvYtgfIzwWTyM9KzxiIpGOGicaGicaGphnWyw4Gy2XHC3m9iM1HCNmZzc1KAxzcB2rLCKXHyMvSlxrLEhqIihn0EwXLpsjMB250lwzHBwLSEtO','BwLUAwzPy2f0Aw9UrMLSDgvY','x2fJDgL2yxrLv29YAW','t3v0BgLUzuvMzMvJDfLLCW','x3vWzgf0zurVBuLUBMvYshrTBa','uMvJDgfUz2XLr2vVBwv0CNK','ru1qvfLFt0jkrunu','vgr0sw1Hz2vYEvbYB3zPzgvY','x2HHC1rLCNjHAw4','x2r1CMf0Aw9U','x2f2ywLSywjPBgL0Eq','x3nWBgL0t3b0Aw9UC1rVu3r5Bgu','oWOGicaGicb1BMLMB3jTihnHBxbSzxiYrcbPBwfNzv8WoWOGicaGicb1BMLMB3jTihnHBxbSzxiYrcbYB2LvvJa7cIaGicaGihvUAwzVCM0GyM9VBcb1C2vst0K7cIaGicaGihvUAwzVCM0GyM9VBcbYzxzLCNnLuK9joWOGicaGicb1BMLMB3jTigzSB2f0ig9WywnPDhK7cIaGicaGihvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGOGicaGicaVlYdOJRFLJ5BMJiFLRPRNMOtNLlfvvUwDKoAGH+wUMUs5IEEAHhbVAEI+UEEvJoEcUqOGicaGicb2zwmYigDLDfjpsxv2khnHBxbSzxiYrcbYB2KSigLUDcbPBMrLEcL7cIaGicaGicaGDMvJmIbWB2L1DIa9ihrLEhr1CMuOCM9Plcb2zwmYkcHMBg9HDcHPBMrLEcKGkYaWlJuPic8GzMXVyxqOv0LeveGPlcaWksKUEhK7cIaGicaGicaGCMv0DxjUihbVAxv2oWOGicaGicb9cGOGicaGicaVlYdLIktMLQ1vvUwDKoAGH+wCQos4JEwCQoImG+wBTowgHqOGicaGicbIB29SigLZsw5ZAwrLkhzLyZiGDxySihnHBxbSzxiYrcbYB2KPEWOGicaGicaGicaGyM9VBcbPzKLUC2LKzsa9igzHBhnLoWOGicaGicaGicaGzMXVyxqGDsa9ihv2lNG7cIaGicaGicaGicbMBg9HDcb2id0GDxyUEtSkicaGicaGicaGihzLyZiGC1aGpsbNzxrst0L1DIHYB2KSidaPoWOGicaGicaGicaGzM9YicHPBNqGAsa9ida7igKGpcaXmdaWmda7igKRkYL7cIaGicaGicaGicaGicaGAwyOAsa+psbxsuruscKGyNjLywS7cIaGicaGicaGicaGicaGAw50ig5LEhrjBMrLEca9igKGkYaXoWOGicaGicaGicaGicaGig5LEhrjBMrLEca9ig5LEhrjBMrLEca9psbxsurusca/idaGoIbUzxH0sw5KzxG7cIaGicaGicaGicaGicaGDMvJmIbLuca9igDLDfjpsxv2khjVAsWGBMv4DeLUzgv4ktSkicaGicaGicaGicaGicbPzIGOC1aUEca9psb1icyMihnqlNKGpt0GDIKGFhWGkgvqlNGGpt0GDsaMjIbLuc55id09ihyPkxSkicaGicaGicaGicaGicaGicaGCMv0DxjUihrYDwu7cIaGicaGicaGicaGicaGFsbLBhnLigLMkcHZuc55idWGDIaMjIbLuc55id49ihyPihX8icHZuc55id49ihyGjIyGzvaUEsa8ihyPksb7cIaGicaGicaGicaGicaGicaGigzSB2f0ihGGpsbZuc54icSGkhyGlsbZuc55ksaQicHLuc54ic0GC1aUEcKGlYaOzvaUEsaTihnqlNKPoWOGicaGicaGicaGicaGicaGicbPzIH4id09ihuPEWOGicaGicaGicaGicaGicaGicaGihjLDhvYBIb0CNvLoWOGicaGicaGicaGicaGicaGicb9igvSC2uGAwyOEca+ihuPihSkicaGicaGicaGicaGicaGicaGicbPzKLUC2LKzsa9icfPzKLUC2LKztSkicaGicaGicaGicaGicaGicaGFqOGicaGicaGicaGicaGih0kicaGicaGicaGicaGC1aGpsbLudSkicaGicaGicaGih0kicaGicaGicaGihjLDhvYBIbPzKLUC2LKztSkicaGicaGFqOkicaGicaGy3PTx21HDgvYAwfSigDLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPEWOGicaGicaGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGicaGicaGDMvJmIb1DIa9ig1HDgvYAwfSsw5WDxqUC3q7cIaGicaGicaGDMvJncbPBwfNzunVBg9Yid0GDgv4DhvYzsHPBwfNzv8Wlcb1DIK7cIaGicaGicaGBwf0zxjPywWUzgLMzNvZzsa9igLTywDLq29SB3iUCMDIoWOGicaGicaGig1HDgvYAwfSlMfSCgHHid0GAw1Hz2vdB2XVCI5HicOGB3bHy2L0EsaQigDSB2jHBefSCgHHoWOGicaGicaGihjLDhvYBIbTyxrLCMLHBdSkicaGicaGFqOkicaGicaGy3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGicaGicaGAwyODxnLuK9jkxSkicaGicaGicaGihzLyZiGDxyGpsbTyxrLCMLHBeLUChv0lNn0oWOGicaGicaGicaGyM9VBcbPBNnPzguGpsbPC0LUC2LKzsH1DIWGCM9PvvyWktSkicaGicaGicaGigLMkgLUC2LKzsaHpsbYzxzLCNnLuK9jksb7cIaGicaGicaGicaGihjLDhvYBIbNzxrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicaGicaGicaGih0GzwXZzsb7cIaGicaGicaGicaGigrPC2nHCMq7cIaGicaGicaGicb9cIaGicaGicaGFsbLBhnLihSkicaGicaGicaGihjLDhvYBIbNzxrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicaGicaGicb9cIaGicaGih0kicaGicaG','CgfYzw50q29UDgfPBMvY','CgfYzw50','EM9UzuXLDhrLCG','ugXHBMvtDhLSzunVBNzLCG','B25SB2fKzw5K','uxvHzhrYzwvuAwXLtg9Hzfn0yxrL','tMfo','x2rLzMf1BhrdB2XVCLrLEhr1CMu','5Q2J5zYO6k6H566x5l2t56EV','x2HLAwDODf9VCMLNAw5HBa','CgLK','ug9SEwXPBMvbCNjVD1r5Cgu','x3zHBhvLCW','x2fYCKXHEwvYswr4','tM10Afve','mtaWmda','Cg9WDxa','v2vItwvYy2f0B3jqCM9Qzwn0Aw9U','Dv9PBNrLCNnLy3rPB25dB2XVCG','x3bVAw50','zM9UDenVBg9Y','CMvJDgfUz2XLu3r5BgvdB252zxi','AxbHza','zwfJAeDYyxbOAwm','qxjJr2LZv2zZtgf5zxi','AxndBhvZDgvY','yM90Dg9TuMfKAxvZ','Dv9TyxjZm2rFzMXHDf9Yyw5Nzu51BwjLCG','ltuWjq','Bw91C2vvCa','CMvTB3zLu2fTCgXLCW','DgfPBfDPzhrOrMfJDg9Y','y2fYDgHHz2u','t2zMC2v0r2vVBwv0CNLjBNn0yw5Jzuf0DhjPyNv0zq','x3nJyw5LugXHBMvysgfSzKfUz2XL','x3rLEhr1CMu','DxbizwLNAhq','x2LUAxrqCMfYBxncEuXHEwvY','x21VDxnnAwrKBgvvCeHHBMrSzxi','wL9uuKfou0XbveLptL9dt0XpuG','ihrYAwvKoIaN','cIaGicaGicaGDw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWOGicaGicaGihvUAwzVCM0GzMXVyxqGDgHYzxnOB2XKoWOGicaGicaGihvUAwzVCM0GzMXVyxqGC21VB3rOv2LKDgG7cGOGicaGicaGigLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cIaGicaGicaGDM9PzcbTywLUkcKGEWOGicaGicaGicaGDMvJncbTyxjZDgv4zwWGpsb0zxH0DxjLkcbJB2XVCLrLEhr1CMuSihzFDgv4DhvYzunVB3jKAw5HDgvZicK7cGOGicaGicaGicaGi2LMzgvMienAtv9truXfq1rfrf9grufuvvjfcIaGicaGicaGicaGigLMicGHy3PTx3nLBgvJDgvKkcKPihSkicaGicaGicaGicaGicaGig1HCNn0zxHLBca9ihzLyZqOmc4PoWOGicaGicaGicaGicb9cIaGicaGicaGicaJzw5KAwykcIaGicaGicaGicb2zwmZigX1BweGpsb2zwmZkcaWlJi5osWGmc41odCSidaUmte0icK7cIaGicaGicaGicbMBg9HDcbTyxjZDIa9igrVDcGGBwfYC3rLEgvSlNH5EIWGBhvTysaPoWOGicaGicaGicaGzMXVyxqGywXWAgeGpsbZBw9VDgHZDgvWkhrOCMvZAg9SzcWGDgHYzxnOB2XKicSGC21VB3rOv2LKDgGSig1HCNn2ktSkcIaGicaGicaGicb2zwm0ig91Dhb1DenVBg9Yid0GDMvJncGWlJaSmc4WldaUmcWWlJaPoWOGicaGicaGicaGB3v0x0zYywDdB2XVCIa9ig1PEcGGB3v0Chv0q29SB3iSig1HCNn0zxHLBcWGywXWAgeGktSkicaGicaGicb9','BgLUzvrLEhr1CMu','x2rVBwvmAw5Lq29TBwfUza','x3vWzgf0zuLTywDLx2rLBgf5','yvbVC2L0Aw9U','yMLUzeHPz2HSAwDODa','D2DZmMjK','x3jLzMXLy3rVCLzPzxDnyxrYAxG','sgvYBwfUBNnRB2DLBa','B25dCMvHDgvhCMfWAgLJ','zNjVBurLz3jLzxm','x3rPBwvuAwTFu25HA2vbBMLTyxrPB24','x2DYyxbOAwnFDxbKyxrLug9ZAxrPB24','zMLSBfrLEhq','zNjVBvf1yxrLCM5PB24','AxndB21IAw5L','x2nVBNrHAw5LCL9VDxrLCG','x2nHBwvYyv9JywnOzq','5ygC5Q2I6lcd5Pw05Q+u5l6l','CMvWBgfJzu1HAw4','cIaGicaJzgvMAw5Lie1bwf9squrjvvmG','Cg9PBNrmAwDODfjHzgL1CW','CgfNzq','xZb4mMmZnta4','y29TChv0zu9WDgLVBNm','y29SB3jdB3jYzwn0Aw9U','q29UC3rHBNrqB3nPDgLVBLbYB3bLCNr5','z2v0u2HHCgvgB3jdAxjJBgu','BM9qAwnRrw50Axr5','B25dDxn0B21dyw52yxm','Aw9Uvg9Rzw4','x3bYB2PLy3rPB25qAwnRzxi','qvbmna','x3bVC2L0Aw9UCW','rKfjteve','x2HLAwDODerYywDNzxjZ','r2vVBwv0CNLbDhrYAwj1Dgu','x3DRAwq','CMvWB3j0u3vJy2vZCW','AxnVC1rYAwfUz2XL','x29Uq2XPy2Tiyw5KBgvYx3bVAw50','x2DLDeTLExDVCMrZ','Cgf0Afn0EwXLq29UDMvY','DgvYx2q','x3bVAw50CW','C3DHBgXVD1rHAwXgywn0B3i','ntaL','x+AAGUwbNa','EM9VBvrV','y29SCW','zNjVBu1huLm','5ywZ6zET5lIj6kEs572r','x29MzG','ChjVEhK','x2XLzNrmyxLLCG','ywrKrxzLBNrmAxn0zw5LCG','tufyx1zbtfvf','Ahr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMC','BgLNAhrtAgfKB3DnyxaYra','AgfZq29UDgv4De1LBNu','x2nVBg9YsgLKzgvU','rgL2qMLSBgjVyxjKuhjPBwL0AxzL','BwLKzgXL','x3jVAvvw','Dw5PzM9YBu1HCa','x3bPy2Tjzff1ywXPzMLLCG','x3vWzgf0zurVBuf0DhjPyNv0zuj5rxzLBNq','x2fYCLrHC2TjDgvT','C3vIzg9TywLUCW','zMLSBenVBg9Y','ug90C2rHBsbsyxvLBMjLCMCGmtK1mcbesero','zgLZDgfUy2vmzwDLBMq','tg9N','uhjPBwL0AxzL','x2LUDgvYCg9SyxrPB25bBgDVCML0Ag0','x21ty2fSzq','x2fSDa','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTihzLyZqGz2fWq29SB3i7cNvUAwzVCM0GzMXVyxqGzgfZAeXLBMD0AdSkDw5PzM9YBsbMBg9HDcbKyxnOugf0DgvYBJSkAw4GzMXVyxqGDL9WB2X5BgLUzufUz2XLoWOky29UC3qGzMXVyxqGBwfZA0XLBMD0Aca9ide2lJa7cGPTyxqYihjVDgf0zsHMBg9HDcbYywqPihSkicbMBg9HDcbJid0Gy29ZkhjHzcK7cIaGzMXVyxqGCYa9ihnPBIHYywqPoWOGihjLDhvYBIbTyxqYkgmSihmSic1ZlcbJktSkFqOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkcIaGDMvJmIbWB3mGpsbYB3rHDguODL9WB2X5BgLUzufUz2XLksaQigDSx0zYywDdB29Yzc54EtSkcIaGzMXVyxqGzgfZAfbVC2L0Aw9Uid0GzNjHy3qOCg9ZlNGGlYaOzgfZAeXLBMD0AcaQign6Bv9WAxHLBfjHDgLVksK7cIaGzMXVyxqGBwfZA0LUzgv4id0GzMXVB3iOzgfZAfbVC2L0Aw9UicOGBwfZA0XLBMD0AcK7cIaGzMXVyxqGBwfZA1rLC3qGpsbMBg9VCIHKyxnOugf0DgvYBIaVihbVDYGYlJaSig1HC2TjBMrLEcKPoWOkicb2zwm0ignVBg9YtwfYCZneid0Gkg1VzcHTyxnRvgvZDcWGmI4Wksa8ideUmcKGpYbNyxbdB2XVCIa6ignVBg9YoWOGigLMkgnVBg9YtwfYCZnelMeGpcaWlJaWnsKGEWOGicaGzMXVyxqGzgfZAfbVC2L0Aw9UmIa9igzYywn0khbVCY54ic8GkgrHC2Hmzw5NDgGGkIaWlJi1icOGy3PTx3bPEgvSuMf0Aw8PktSkicaGigzSB2f0ig1HC2TjBMrLEdiGpsbMBg9VCIHKyxnOug9ZAxrPB24YicOGBwfZA0XLBMD0AcK7cIaGicbMBg9HDcbTyxnRvgvZDdiGpsbMBg9VCIHKyxnOugf0DgvYBIaVihbVDYGYlJaSig1HC2TjBMrLEdiPktSkicaGignVBg9YtwfYCZneid0Gkg1VzcHTyxnRvgvZDdiSidiUmcKGpcaXlJaPid8Gz2fWq29SB3iGoIbJB2XVCJSkicaGigLMkgnVBg9YtwfYCZnelMeGpcaWlJaWnsKGEWOGicaGicbKAxnJyxjKoWOGicaGFqOGih0kcIaGy29SB3jnyxjZm0qGpsbJEM1Fz2fTBwfdB3jYzwn0kgnVBg9YtwfYCZnektSkicbTyxrLCMLHBc5LBwLZC2LVBIa9ignVBg9YtwfYCZnelNjNyJSkicbTyxrLCMLHBc5HBhbOysa9ignVBg9YtwfYCZnelMe7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','Aw4GDMvJmYb2x3bVC2L0Aw9Utum7cMLUihzLyZmGDL9WB3nPDgLVBKvdoWPPBIb2zwmYihzFC3q7cGP2B2LKig1HAw4Oksb7cIaGy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DdSkcIaGDMvJmYbUB3jTywXfqYa9ig5VCM1HBgL6zsHJEM1FBM9YBwfSm0qGkIbJEM1Fz2vVzgv0AwntDxjMywnLtM9YBwfSkhzFCg9ZAxrPB25nqYWGDMvJmYGWlJaPlcb2zwmZkdeUmcKPktSkicaGicnPzMrLzIbgqunfx0zpuLDbuKqkicbUB3jTywXfqYa9igzHy2vMB3j3yxjKkg5VCM1HBevdlcb2zwmZkdaUmcWGmc4WlcaXlJaPlcaTBM9YBwfSrumPoWOGicaGi2vUzgLMcGOGig1HDgvYAwfSsw5WDxqUCYa9ihzFC3qUCZSkicbTyxrLCMLHBeLUChv0lNn0id0GDL9ZDdSkicbTyxrLCMLHBeLUChv0lNn0CIa9ihzLyZmODL9ZDcWGmc4WktSkcIaGicaVlYbdB252zxj0ihrHBMDLBNqGC3bHy2uGBwf0zxjPywWGBM9YBwfSihrVigv5zsbZCgfJzsbnqvjtm0qkicbTyxrLCMLHBeLUChv0lM5VCM1HBevdid0GBM9YBwfSrum7cIaGBwf0zxjPywXjBNb1Dc50yw5Nzw50vg9fEwvnyxrYAxGGpsbJEM1FzwfZDe5VCNrOvxbuB0v5zunVB3jKAw5HDgvZkhzFCg9ZAxrPB25nqYWGBwf0zxjPywXjBNb1Dc5UB3jTywXfqYK7cGOGicaGlY8Gq29UDMvYDcb2Awv3ihzLy3rVCIb0BYb3B3jSzcbZCgfJzqOGihzLyZmGCg9ZAxrPB25uB0v5zuvdid0GlxzFCg9ZAxrPB25fqZSkicbTyxrLCMLHBeLUChv0lNbVC2L0Aw9Uvg9fEwvfqYa9ihbVC2L0Aw9Uvg9fEwvfqZSkcIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicaGicnPzMrLzIbgtefucIaGB3v0x0zYywDdB2XVCIa9ihzLyZqOBwf0zxjPywWUzgLMzNvZzsaRig1HDgvYAwfSlMvTAxnZAw9UlcbTyxrLCMLHBc5HBhbOysK7cIaGicaJzwXZzqOGig91Df9gCMfNq29SB3iGpsbJEM1FCgHVBMCOBM9YBwfSAxPLkhbVC2L0Aw9Uvg9fEwvfqYKSig1HDgvYAwfSlcbJEM1FBgLNAhreAxjLy3rPB25fqYK7cIaGicaJzw5KAwykFqO','Dw5PDa','y2X1C3rLCKvUywjSzwq','C2LUx3bOAq','r2vVBwv0CNLpzMzZzxrbDhrYAwj1Dgu','BwfYCZnKlwrPDKDYyxbOAwmTzwrPDa','su5u','BwfYCZnKlxrVB2X0AxaT','zM9YBwf0tNvT','Dg9ku09o','z2v0vgvTCfbVAw50na','x+w8GowqR+wKP+AWLoA4SUAFKW','r0vprensuW','zMXPCf9HEgLZ','AgLKzgvUq29SB3i','AgfZtgf5zxi','x2DLDfDLBgXeyxrH','ug9SEwXPBMvwB2X1Bwvhzw9TzxrYEuXPyNjHCNK','BgLZDgvUCW','CgLJAW','x3vWzgf0zvnJyw5qBgfUzq','C2nHBLbSyw5Llq','ufjpsKvdveveq1jt','BwLUAw11BunSB2nRrgvNCMvL','B3bLBLnTywXSvg9VBhrPCej5twLUug9PBNroDw0','y3jLzgL0q29UDgfPBMvY','y29UDg91CK1HDgvYAwfSlMfSCgHHid09idaUmca/ihnSB3bLuMfTCe1HDgvYAwfSlMrPzMz1C2uGoIbJB250B3vYtwf0zxjPywWUzgLMzNvZzq','zMLSztO','B25SEvnPBxbSzvr5Cgu','ywn0AxzLqw5PBwf0Aw9UCW','x3zPC2LIBgvdEM1pyMPLy3q','y29Zx3aXmG','AgfZv2fYBG','tw9KzwXqCMLTAxrPDMu','uKHvtui','x2rYyxDmyxLLCG','x2LTywDLCNLdywnOzq','CMvXDwvZDa','q19Yzq','vg9Rzw4','Bxr5Cgu','xZje','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3yZl3bSywnLl3rLEhq','Aw9U','C2v0v2HLCMu','tLDmouq','y3PTt2jQzwn0','rgL2qM9KzxjmywjLBa','x3rPBgvZvg9szw5Kzxi','Cgf1C2vuAw1L','DxbKyxrLu2vSzwn0zwruzxjYywLUvMLLD01VzgvS','z2v0q2XHC3m','y2XPzw50wq','CMvNAxn0zxjqCM9Wzxj0EunSyxnZ','C2fTCgXLCJje','C2HHzgvYuhjVz3jHBuLK','CgLJA0LKCW','x2XHyMvSq29SBgvJDgLVBG','x2nYzwf0zvbPDa','x3jLBw92zu1Lyxn1CMvmywjLBefUzev4','DxbKyxrLr2fVzgu','zMeGzMeTC3vUlw8','CgfYzw50rwXLBwvUDa','zgLYu3rLCa','Bwf4u3bHBG','t2vrkq','zgf0Dw1FCgfYyw1Z','y29UDgvUDa','CM90yxrL','yMfJA2DYB3vUzfbHzgrPBMC','y2XVC2viAwDOBgLNAhq','sw52zxjZzsbNCMLKihnOAwz0igL0zxjHDgLVBIbMywLSzwqSihbYzxn1BwfIBhKGyxqGz3jPzcbLzgDLlIaGvxnPBMCGzMLYC3qGyxbWCM94Aw1HDgLVBI4','B3bHy2L0Eq','x2nSDxn0zxjeyxrH','zgL2tgLNAhrqB2LUDa','DhjHBNnz','z2v0qwrKCMvZCW','B3v0Chv0rM9YBwf0','x21LDgfKyxrHrMfPBhvYzq','x21HCf9Jyw1LCMfdAgfUz2vK','x3nJyw5vBMLMB3jTCW','ChjVCgvYDgLLCW','Dw5PzM9YBsbIB29Sig1HCNmZzf9ZAg93oWP1BMLMB3jTigzSB2f0ig1HCNmZzf9VCgfJAxr5oWOkDw5PzM9YBsbZyw1WBgvYmKqGBwfYCZnKx3zPzgvVvgv4DhvYztSkDw5PzM9YBsbZyw1WBgvYmKqGBwfYCZnKx21HC2TuzxH0DxjLoWP1BMLMB3jTihzLyZqGBwfYCZnKx2HPzgrLBKfYzwfdB2XVCJSkcNvUAwzVCM0GC2fTCgXLCJjeihnOywrVD01HCf90zxH0DxjLoWP1BMLMB3jTig1HDdqGC2HHzg93twfWx21HDhjPEdSkDw5PzM9YBsb2zwm0ihnOywrVD01HCf9SAwDODfbVC2L0Aw9Urum7cNvUAwzVCM0GDMvJncbZAgfKB3DnyxbFDgv4zwXtAxPLrgvWDgHcAwfZoWP1BMLMB3jTihzLyZqGC2HHzg93twfWx25VCM1HBe9MzNnLDfnJywXLoWP1BMLMB3jTigjVB2WGBwfYCZnKx2zSAxb4oWP1BMLMB3jTigjVB2WGBwfYCZnKx2zSAxb5oWOkDw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTihnHBxbSzxiYrcbKzxb0AfrLEhr1CMu7cMLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cGP2zwm0ihrVrxLLkgLUihzLyZiGDxySigLUigzSB2f0igrLChrOksb7cIaGDMvJmIb4Esa9ihzLyZiOkhv2lNGGkIaYlJaGlsaXlJaPlcaODxyUEsaQidiUmcaTideUmcKPoWOGihzLyZqGCg9Zsw5dyw1LCMeGpsbJEM1FAw52zxjZzvbYB2PLy3rPB24GkIb2zwm0khH5lcbKzxb0AcWGms4WktSkicbWB3njBKnHBwvYysa9ihbVC0LUq2fTzxjHic8GCg9Zsw5dyw1LCMeUDZSkicbYzxr1CM4GCg9Zsw5dyw1LCMe7cN0kcMzSB2f0igDLDerLChrOtwfYCZnekgLUihzLyZqGzgvWDgGPihSkicbMBg9HDcb6x3DPBMrVDYa9ign6Bv91BNbHy2Tezxb0AcHKzxb0AcK7cIaGEL93Aw5KB3CGpsbJEM1FCMv2zxjZzuXVz0rLChrOkhPFD2LUzg93ktSkicbMBg9HDcbUx3jHBMDLid0Gy3PTx2rLChrOuMfUz2uUBMvHCJSkicbMBg9HDcbMx3jHBMDLid0Gy3PTx2rLChrOuMfUz2uUzMfYoWOGihjLDhvYBIaOmI4WicOGEL93Aw5KB3CGlsbUx3jHBMDLic0GzL9Yyw5NzsKGlYaOzL9Yyw5NzsaTig5FCMfUz2uPoWP9cMzSB2f0if9JEM1FC2fTCgXLu2HHzg93twfWkhnHBxbSzxiYrcbZAgfKB3DnyxaSihzLyZiGDxyPihSkicbYzxr1CM4GDgv4DhvYzsHZAgfKB3DnyxaSihv2ks5YoWP9cMzSB2f0if9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnHBxbSzxiYrcbZAgfKB3DnyxaSihzLyZiGDxySigzSB2f0igrLChrOksb7cIaGCMv0DxjUihn0zxaOzgvWDgGSif9JEM1FC2fTCgXLu2HHzg93twfWkhnOywrVD01HCcWGDxyPktSkFqPMBg9HDcbFy3PTx3nOywrVD1zPC2LIAwXPDhKOC2fTCgXLCJjeihnOywrVD01HCcWGy3PTx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCYKGEWOGigzSB2f0igrLChrOqMLHCYa9ihnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZoWOGigzSB2f0igrLChrOid0GC2HHzg93ugfYyw1LDgvYCY5Kzxb0AdSkicbMBg9HDcbUrg90tca9ihnOywrVD1bHCMfTzxrLCNmUBKrVDeW7cIaGzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290Aca9ihnOywrVD1bHCMfTzxrLCNmUBM9YBwfSu2HHzgLUz1nTB290AdSkicbMBg9HDcbKyxjRBMvZCYa9ihnOywrVD1bHCMfTzxrLCNmUzgfYA25LC3m7cIaGDMvJmIb1DIa9ihnOywrVD1bHCMfTzxrLCNmUDgv4q29VCMrZoWOGigrLChrOic09igrLChrOqMLHCZSkicb2zwmYihrLEgvSu3rLCfnPEMuGpsbZAgfKB3DqyxjHBwv0zxjZlNrLEgvSu3rLCfnPEMu7cIaGzMXVyxqGCMfKAxvZid0Gms4WoWOGigzSB2f0igr4mca9ic10zxHLBfn0zxbtAxPLlNGGkIbYywrPDxm7cIaGzMXVyxqGzhKWid0GlxrLEgvSu3rLCfnPEMuUEsaQihjHzgL1CZSkicbMBg9HDcbKEdeGpsb0zxHLBfn0zxbtAxPLlNGGkIbYywrPDxm7cIaGzMXVyxqGzhKXid0GDgv4zwXtDgvWu2L6zs55icOGCMfKAxvZoWOGigzSB2f0ihzPC2LIAwXPDhKGpsaOx2n6Bv9ZAgfKB3Dezxb0AenVBxbHCMuOC2HHzg93twfWlcb1DIWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4mcWGzhKWksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkdaUmcWGzhKWksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4msWGzhKWksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4mcWGmc4WksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4msWGmc4WksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4mcWGzhKXksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkdaUmcWGzhKXksWGzgvWDgGPicSkicaGif9JEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxyGkYb2zwmYkgr4msWGzhKXksWGzgvWDgGPksaQicGXlJaGlYa5lJaPoWOGihjLDhvYBIb2AxnPyMLSAxr5oWP9cGP2zwmZihbVAw50uhjVAMvJDe9UugXHBMuOAw4GDMvJmYbWBgfUzu5VCM1HBcWGAw4GDMvJmYbWBgfUzu9YAwDPBIWGAw4GDMvJmYbWB2LUDcKGEWOGihzLyZmGDJaXid0GCg9PBNqGlsbWBgfUzu9YAwDPBJSkicbMBg9HDcbKid0Gzg90khbSyw5LtM9YBwfSlcb2mdePoWOGihjLDhvYBIaOCg9PBNqGlsbWBgfUzu5VCM1HBcaQigqPoWP9cMzSB2f0ihb0BsH2zwmZihb0ksb7cIaGCMv0DxjUihnXCNqOChqUEcaQihb0lNGGkYbWDc55icOGChqUEsaRihb0lNOGkIbWDc56ktSkFqOkDM9PzcbTywLUkcKGEWOGignVBNn0igzSB2f0ifbjid0GmY4Xnde1oti2ntm1odK3otm7cIaGDMvJncbJB2XVCIa9ihrLEhr1CMuOy29SB3juzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYK7cIaGDMvJncbJDxjYrca9ihrLEhr1CMuOzgvWDgHuzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYK7cIaGAwyOiw1HCNmZzf9ZAg93ihX8ign1CNjelNiGpJ0Gms4Wksb7cIaGicbVDxrFrNjHz0nVBg9Yid0Gy29SB3i7cIaGicbYzxr1CM47cIaGFqOGigzSB2f0igrLChrOid0Gz2v0rgvWDgHnyxjZm0qOy3vYCKqPoWOGihzLyZqGCg9ZAxrPB25fqYa9ihrVrxLLkhzFDgv4DhvYzunVB3jKAw5HDgvZlcbKzxb0AcK7cIaGDMvJmYbUB3jTywXfqYa9ihzLyZmOms4WktSkicbJEM1FC2HHzg93ugfYyw1LDgvYCYbZAgfKB3DqyxjHBwv0zxjZoWOGihnOywrVD1bHCMfTzxrLCNmUDgv4zwXtDgvWu2L6zsa9ihnOywrVD01HCf90zxHLBfnPEMvezxb0AejPyxmUEhK7cIaGC2HHzg93ugfYyw1LDgvYCY5Kzxb0AejPyxmGpsbZAgfKB3DnyxbFDgv4zwXtAxPLrgvWDgHcAwfZlNO7cIaGC2HHzg93ugfYyw1LDgvYCY5UB3jTywXtAgfKAw5Nu21VB3rOid0GC2HHzg93twfWx3rLEgvSu2L6zurLChrOqMLHCY53oWOGihnOywrVD1bHCMfTzxrLCNmUzgfYA25LC3mGpsbZAgfKB3DnyxbFBM9YBwfSt2zMC2v0u2nHBguUDZSkicbZAgfKB3DqyxjHBwv0zxjZlMrLChrOqMLHCYaQpsbTyxGOzgvWDgGGkIaWlJaXlcaXlJaPoWOkicb2zwmZigrPCMvJDgLVBKvdid0GBM9YBwfSAxPLkhbVC2L0Aw9UrumUEhL6ic0GC2HHzg93twfWx2XPz2H0ug9ZAxrPB25fqY54ExOPoWOGigzSB2f0ig5eB3rmid0Gy2XHBxaOzg90kg5VCM1HBevdlcaTzgLYzwn0Aw9UrumPlcaWlJaSideUmcK7cIaGDMvJncbZAgfKB3DqB3nPDgLVBIa9ihnOywrVD01HCf9TyxrYAxGGkIbWB3nPDgLVBKvdoWOGihnOywrVD1bVC2L0Aw9Uic89ihnOywrVD1bVC2L0Aw9UlNC7cIaGAwyOyw55kgXLC3nuAgfUkhnOywrVD1bVC2L0Aw9UlNH5EIWGDMvJmYGWlJaPksKGFhWGyw55kgDYzwf0zxjuAgfUkhnOywrVD1bVC2L0Aw9UlNH5EIWGDMvJmYGXlJaPksKPihSkicaGig91Df9gCMfNq29SB3iGpsbJB2XVCJSkicaGihjLDhvYBJSkicb9cGOGihnOywrVD1bHCMfTzxrLCNmUDgv4q29VCMrZid0GC2HHzg93ug9ZAxrPB24UEhK7cIaGC2HHzg93ugfYyw1LDgvYCY5Kzxb0Aca9ihnOywrVD1bVC2L0Aw9UlNO7cIaGC2HHzg93ugfYyw1LDgvYCY5Urg90tca9ig5eB3rmoWOGigzSB2f0ihzPC2LIAwXPDhKGpsbFy3PTx3nOywrVD1zPC2LIAwXPDhKOC2HHzg93twfWx3rLEhr1CMuSihnOywrVD1bHCMfTzxrLCNmPoWOkicaVl+INHUMIKEAkLEwWHaOGigLMkhzPC2LIAwXPDhKGpt0Gms4Wksb7cIaGicbPzIHTyxjZm2rFzMXPChGPEWOGicaGicbZAgfKB3DqB3nPDgLVBI54id0GC2HHzg93ug9ZAxrPB24UEcaRicGWlJuGlsbZAgfKB3DqB3nPDgLVBI54ksaQidiUmdSkicaGih0kicaGigLMkg1HCNmZzf9MBgLWEsL7cIaGicaGihnOywrVD1bVC2L0Aw9UlNKGpsbZAgfKB3DqB3nPDgLVBI55icSGkdaUnsaTihnOywrVD1bVC2L0Aw9UlNKPicOGmI4WoWOGicaGFqOkicaGihzLyZqGDMLKzw9dB2XVCIa9ihrLEhr1CMuOBwfYCZnKx3zPzgvVvgv4DhvYzsWGC2HHzg93ug9ZAxrPB24UEhKPoWOGicaGDMvJncbTyxnRq29SB3iGpsb0zxH0DxjLkg1HCNmZzf9TyxnRvgv4DhvYzsWGC2HHzg93ug9ZAxrPB24UEhKPoWOGicaGDMLKzw9dB2XVCIaQpsbTyxnRq29SB3i7cIaGicbVDxrFrNjHz0nVBg9Yid0GBwL4kgnVBg9Ylcb2zwm0khzPzgvVq29SB3iUEhL6lcaXlJaPlcbTyxjZm2rFB3bHy2L0EsaQihzPzgvVq29SB3iUysK7cIaGFsbLBhnLihSkicaGigLMkgfICYHZAgfKB3DqB3nPDgLVBI56ic0Gmc4Wksa8idaUmdePihSkicaGicaGCMv0DxjUoWOGicaGFqOGicaGB3v0x0zYywDdB2XVCIa9ihzLyZqOBwL4kgnVBg9YlNjNyIWGBwfYCZnKx2HPzgrLBKfYzwfdB2XVCI5Yz2iSig1HCNmZzf9OAwrKzw5bCMvHq29SB3iUysKSig1HCNmZzf9OAwrKzw5bCMvHq29SB3iUysK7cIaGFqP9cG','EI1PBMrLEa','B3bHCxvLrNj1C3r1Bu5LyxjpzMzZzxq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteWmIaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','x21HCNnFDhLWzq','C3rHCNq','zhjHD0nVBw1HBMq','DxbKyxrLqxr0CG','x2nVBNrHAw5LCLrPBwvbBgW','C2vJB25K','x2nSzwfYtgfZDeHPz2HSAwDODa','z2v0tw9UDgG','D3bYza','5OUw5yQO6k+L54k55zco','AxnbzgrLza','z2v0rgLZDgfUy2u','x21VDMveAxn0yw5Jzvn1Bq','CMvTB3zLrxzLBNrqyxjLBNq','z2v0rMvHDhvYzuLUzM9gB3jTyxq','r1jtide5odaOsvvhrYWGmtK4mcK','kfXZFcqP','yMPdB2XVCG','x2nYzwf0zuLTywDLCNLqCM92AwrLCG','zMLSBejVEenVBg9Y','DMLZAwjPBgL0Eq','zxnYAvnWyxrPywXszwXjBNrLCNnLy3rZ','r2v0rMvHDhvYzuLUzM8','y2HLy2TiyxncCMvHAW','DgLSzxnLDa','sufvmJaWma','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXnYaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','twf0CML4na','CMfKAxvZx2C','ug9SEwDVBLbYAw1PDgL2zq','CMDIysGYntuSmJu1ldi1nsWWlJuP','vgvYCMfPBLbYB3zPzgvY','x2fYCKrHDge','Bw9KzwXq','x2nVBxbHC3nszwn0yw5NBgu','xZb4mtmXnteY','x2HHC19HzgrLzeHVB2S','Ew1HEa','x3nJzw5Lt3b0Aw9U','ANnVBKrHDge','x2rLzMLUAxrPB25dAgfUz2vK','Bwf0zxjPywXuExbL','rwrPDfbVBhLNB25hCMLK','z2v0sw5Uzxjive1m','z2v0tgf5CNnuCMvL','CgfYzw50tM9Kzq','y29SB3jZ','x2HHC1jLC2v0rw5HyMXLtgLNAhrPBMC','cIGR','Bw91C2veB3DU','ug9PBNrdBg91zdnevgLSzunVBNrLBNq','z2v0q2vUDgvY','x2jHy2T3yxjKrxH0CMfWB2XHDgLVBLr5Cgu','x3nVDxjJzxmZ','yxPP','zgf0Dw0','zw5HyMXLrgvIDwDpDxrWDxq','Axnezxn0CM95zwq','yxjYtgf5zxi','x2HHC1jPz2H0vgLSDa','zMXPy2TLCKvUDgL0Eq','zMLSDgvYtgf5zxi','zw5HyMXLvgLSDa','z2v0qxjYB3DqB2LUDhm65O+s5yc85yE66zsz','5RE55RkH5yIg5P6q','x3nLDe9MzNnLDeHLAwDODa','Bw91C2vfDMvUDa','BgjSqwrKrNvU','x2LUAxrfzMzLy3q','x2XHC3rtzwXLy3rPB25gCMfTzu51BwjLCG','x2DLDfrLCNjHAw5izwLNAhrFAw5N','u3rYAxbLtwf0zxjPywXqCM9Wzxj0Eq','y3PTBa','DgLSDev2zw50vhLWzxm','vgv4DhvYzvDYyxa','Dw5PCxvLs2v5','Bg9VA0f0','C2LUx3bV','CgL0y2G','B3j0Ag8','x21HEgLTDw1izwLNAhrZ','B2zMC2v0wa','q2LYy2XLt3v0BgLUzuDLB21LDhj5','C3rYB2TLu3r5Bgu','x2XHC3rtzwXLy3rPB25szxn1BhrgCMfTzq','y3vYCMvUDfrPBwu','ywrKq2HPBgrZvg9nyxa','q2HLy2TLCMjVyxjKtwf0zxjPywXqCM9Wzxj0Eq','Bw92zvn0zxa','x19WCM90B19F','s3jHC3nVDNnREsWGmtK0mG','CZq1','q0XbtvbFve9Fr1jpvu5e','zwfJAfrPBgvZzxrmyxLLCG','Dw5PzM9YBsbZyw1WBgvYmKqGAw1Hz2u7cNvUAwzVCM0GzMXVyxqGB3bHy2L0EtSkDw5PzM9YBsbMBg9HDcbYB3rHDgLVBJSkDw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWP1BMLMB3jTigjVB2WGzMXPChG7cNvUAwzVCM0GyM9VBcbMBgLWEtSkDw5PzM9YBsbIB29Sig5Vv2HPDgu7cGP1BMLMB3jTigjVB2WGAgfZtwfZAZSkDw5PzM9YBsbZyw1WBgvYmKqGBwfZA0LTywDLoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihn0id0GzNjHy3qOCMvWzwf0icOGBwf0zxjPywXjBNb1Dc5ZDcK7cIaGAwyOzMXPChGPihSkicaGihn0lNGGpsbZDc54icSGkdaUnsaTihn0lNGPicOGmI4WoWOGih0kicbPzIHMBgLWEsKGEWOGicaGC3qUEsa9ihn0lNKGkYaOmc41ic0GC3qUEsKGkIaYlJa7cIaGFqOkicbPzIHYB3rHDgLVBIaHpsaWlJaPihSkicaGigzSB2f0ihjVDca9ihjHzgLHBNmOCM90yxrPB24PoWOGicaGBwf0mIbTid0GBwf0mIHJB3mOCM90ksWGlxnPBIHYB3qPlcbZAw4OCM90ksWGy29ZkhjVDcKPoWOGicaGC3qGpsbTicOGC3q7cIaGFqOkicb2zwm0igLTywDLtwfYCZneoWOGigLMkhnWzwvKice9idaUmcKkicaGigLTywDLtwfYCZneid0GDgv4DhvYzsHPBwfNzsWGDMvJmIHMCMfJDcHZDc5ZicSGy3PTx2zYyw1LtNvTyMvYicOGC3bLzwqGlYaXmdaWlJaPlcbMCMfJDcHZDc50ksKPoWOGigvSC2ukicaGigLTywDLtwfYCZneid0GDgv4DhvYzsHPBwfNzsWGC3qPoWOkicbPzIHUB1DOAxrLicyMigLTywDLtwfYCZnelNjNyIa9psb2zwmZkdeUmcKPihSkicaGigrPC2nHCMq7cIaGFqOkicbPzIHOyxnnyxnRksb7cIaGicb2zwm0ig1HC2TdB2XVCIa9ihrLEhr1CMuOBwfZA0LTywDLlcbZDcK7cIaGicbPBwfNzu1HCNmZrcaQpsbTyxnRq29SB3i7cIaGFqOkicbTyxrLCMLHBc5HBhbOysa9igLTywDLtwfYCZnelMeGkIbVCgfJAxr5icOGy29SB3iUysaQigDSB2jHBefSCgHHoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbPBwfNzu1HCNmZrc5Yz2iGkIbJB2XVCI5Yz2i7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','zwrNzu9UBhK','x3n0yxj0sNvSAwfU','y2HHBMDLtw91C2vnB2rLBa','zMeGzMeTC2vUzc1V','B25SEvnLBgy','BxnjBwfNzvnTB290AgLUz0vUywjSzwq','x2nHBwvYyu1VDMvfBMriyw5KBgvY','DxbKyxrLsxrLBq','A2v5yM9HCMrsB2fT','DxjS','x3rPBwvPBMzV','x3vWzgf0zvrLCNjHAw5qCM92AwrLCG','z2v0vgHPBMDcEuLK','zhLUyw1Py1jPDMvY','x2nVBNrHAw5LCL9Jyw1LCMe','C3LTyM9S','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteWnsaRAZ0XicT4xZa9mtG1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','zxzLBNruExbL','ChjVAJq','zw5JB2rLCK9WDgLVBNm','6k+36l6t5ywL5ywZ6zsU5A2xlI4U','ywrKuMLUzW','Dg9sywrPyw5Z','qM94t3v0BgLUzuDLB21LDhj5','zM9NqNLeAxn0yw5Jzq','57Q15z2q5Qch','i2zMzMzMzG','CMvTB3zLsxrLBq','Dv9TyxjZm2rFzMXVB2rFDgv4DhvYzq','x3vWzgf0zu1HDhjPEfjVDgf0zvbVC2L0Aw9U','x3f1ywr0CMvL','CMvTB3zLtwfWq2HPBgrZ','ugfYDgLJBgvtExn0zw0','x2LTywDL','x2XHC3rFC3rVCfrPBwu','sw1Hz2vuExbL','zNjVBvn0CMLUzW','zNjVBvjHzgLHBNm','x+wnIUw+Ha','AxnYywvS','z2f0AgvYAw5NugXHy2u','x2nVBNrYB2W','x2DLB2nVzgvY','iIbPBIbUDw1IzxiGEwv0lcbPBMrLEca','z2v0tM9YBwfS','x+wiOoMzPoA1I+MhJW','wfLA','yMXHy2S','z2v0sgvPz2H0uMvMzxjLBMnL','AxneCMf3Aw5N','zgvMAw5LCW','x2XPBwL0twLU','CMDIysGWlde4mYWYmZKSidaUnsK','D2LKDgG','z2vL','yxjJz2LZ','x29WDgLVBNncyxnLBwfWC0XPC3q','zg9JDw1LBNqUz2v0rwXLBwvUDej5swqO','x3bVC2L0Aw9UC19ZAg93','BgfIzwXdB2XSzwn0Aw9U','AgvPz2H0','pgrPDJ7LJlRLN5/VVjO','i3r4Dc1JBg9JA0fUAw1HDguTC3bLzwq','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0ihnWzwvKoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDcaQidiUmcaTideUmdSkicbMBg9HDcb0id0Gy3PTx2zYyw1LtNvTyMvYicOGC3bLzwqGlYaXmdaWlJa7cIaGDMvJmYbJB2XnyxjZm0qGpsb2zwmZkdaUmcK7cIaGDMvJmIbWid0GDMvJmIHZAw4ODcKSignVCYH0ksK7cIaGzMXVyxqGzca9igXLBMD0AcHZDcaTigrVDcHWlcbZDcKGkIbWktSkicbPzIHKB3qOC3qSihaPidWGmc4PihSkicaGigqGpsbSzw5NDgGOC3qPoWOGih0kcIaGy29StwfYCZneid0GlJaWnIaVigqGkIbJB2XVCI5Yz2i7cGOGigLMkgrPC3rHBMnLkhn0lcb2zwmYkdaPksa+idaUotKPihSkicaGignVBe1HCNmZrca9ignVBg9YlNjNyJSkicb9cGOGig1HDgvYAwfSlMfSCgHHid0GCg93kgXLBMD0AcHJB2XnyxjZm0qPlcaYlJaPicOGz2XVyMfSqwXWAge7cIaGBwf0zxjPywWUzgLMzNvZzsa9ignVBe1HCNmZrcaQidmUmdSkicbYzxr1CM4GBwf0zxjPywW7cN0k','CgLJA0HLAwDODa','y29UDg91CLvUAwzVCM1Z','rvbtrZO0ntiY','rgLTzw5ZAw9UCW','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIbZDca9ig1HDgvYAwfSsw5WDxqUC3q7cIaGDMvJmIbJzw50zxiGpsbZDcaTihzLyZiOmc41lcaWlJuPoWOGigzSB2f0ihrPBwuGpsaTy3PTx2zYyw1LtNvTyMvYicOGmY4Xnde1oti2ic8GmtGWlJSVl+AjQ+ApJ+MaN+w6PJhLUQykicbMBg9HDcbZAw5FDca9ihnPBIH0Aw1LktSkicbMBg9HDcbJB3nFDca9ignVCYH0Aw1LktSkicb2zwmYignLBNrLCL9YB3rHDguGpsb2zwmYkgnLBNrLCI5ZicOGy29Zx3qGlsbJzw50zxiUDcaQihnPBL90icSGmc41lcbJzw50zxiUCYaQihnPBL90icSGy2vUDgvYlNqGkIbJB3nFDcaRidaUnsK7cIaGDMvJncbJB2XVCIa9ihrLEhr1CMuOAw1Hz2uSignLBNrLCL9YB3rHDguPoWOGihzLyZmGDenVBg9Yid0Gy29SB3iUCMDIicOGDv9JB2XVCI5Yz2i7cIaGDenVBg9YicO9ihvFy29SB3iUytSkicbTyxrLCMLHBc5KAwzMDxnLid0GDenVBg9YoWOGigzSB2f0igXLBMD0Ae1HCNmZrca9idiUic0GBgvUz3rOkgnLBNrLCIKGlYaWlJu7cIaGBwf0zxjPywWUywXWAgeGpsbJB2XVCI5HicOGCg93kgXLBMD0Ae1HCNmZrcWGmc41ksaQigDSB2jHBefSCgHHoY8Vy29SB3iUCIa9idaG5OIwmqOGihjLDhvYBIbTyxrLCMLHBdSkFqO','ufjpsKvdveLptG','BNmW','CMv0DxjUr2vVBwv0CNK','vgv4DhvYzq','y2XVC2vK','CxvLDwvszxbYB2PLy3rPB25dB21Tyw5KCW','zNjVBunOyxjdB2rL','CgfYC2veB20','x3jLy3rHBMDSzv9KCMf3','x29Utw91C2vnB3zLrhjHz2DLCKHHBMrSzxi','zNvUy3rPB24','x21VDxnLq2XPy2Tiyw5KBgvY','y2vZAxvTlwjHC2vmyxLLCLbPy2TLCI1PDgvTtgfIzwW','AgfZq2HPBgruAgLUzW','x3vUyMLUzez1BG','kcK7iaO','B3v0BgLUzvDPzhrO','sg90Aw5Lx09IBgLXDwvFtwvYy2f0B3jFqxPPBxv0Af9oyxr1CMfSx09YAwDPBG','x29Uq2fTzxjHq2HHBMDLzev2zw50vgHYB3r0Bgu','m2r0AwXLx2zLyxr1CMvF','AxntDg9Wsw5JBhvKzwq','x3rVq2vZAxvTvMfSrw5K','y29VCMrPBMf0zxm','CMvXDwvZDfjLBMrLCG','C2LKzxneyxnOtgvUz3rO','zM9YrwfJAeXVywrLzfrPBgu','C2LTCgXPzNK','C2HVD1jLC3vSDa','EKLUzgv4','z2v0q29UDgv4De1LBNu','rwzMzwn0vxrPBa','AgvPz2H0uMvMzxjLBMnL','x2DLDfrHCMDLDerPC3rHBMnLrgLZCgXHEunVBMrPDgLVBG','twLKzgXLq2XPy2TeCMfN','DgvYCMfPBKXVywrtDwnJzxnZ','q2fTzxjHsw5MBW','z2v0twLUsgvPz2H0','q2XPChbPBMDqBgfUzq','B25uAwnR','rxf1AwrPC3rHBNqGq3LSAw5KCMLJywWGkfbSyxrLienHCNjLkq','DxbKyxrLu2vSzwn0zwrjBwfNzxj5vMLLD01VzgvS','x3jLBw92zuXHyMvS','CMv0x2nVB3jKDhLWzq','AgfZq2HPBgrhCMfWAgLJ','zMX5vg8','Bwf0zxjPywXZ','y29UDgv4Dg1LBNuTAwnVBG','q2vZAxvT','z2v0vMfSDwvpCKrLzMf1Bhq','DMvYDgLJywXfEgfNz2vYyxrPB24','q3LSAw5KzxjqCMLTAxrPDMu','C2nHBgvcEurPC3rHBMnL','y2fUy2vSrMXPz2H0','yxv0B0DYB3vW','yw5NBgvczxr3zwvU','tgfTyMvYDcbdB25PyYbdB25MB3jTywWGkdjtucK','x21VzgvSvxbbEgLZ','x3n0zxbZ','lw1HCNmZzc1JB250zxH0BwvUDs11Ba','Dgv4DhvYzxnszw5KzxjLza','zw5HyMXLwM9VBq','Dv9TyxjZm2rFy29SB3jJB3jYzwn0Aw9Ux2jYAwDODg5LC3m','BgfT','x2HHBMrSzxi','zxHLy3v0zq','zwrPDfr5Cgu','DhLWzwrbCNjHEq','ufjpsKnt','zhjHD2LUz0j1zMzLCKHLAwDODa','zM9YrwfJAa','qMfZzuDYyxbOAwm65lI65lQg6yg/5ywn5BYc5BI46zEU6Aky77Ym6k+35Bcg5zU+5Bgc5RE75yQG5yIWtwfW5lIk5yAn6l+B6kgm5RE75yQG55+I6yEp5PwW5O2U55Qe5Pon5l2C77Yb','twLSBgvYx0n5BgLUzhjPy2fS','q2XPCfr5Cgu','icaGia','x2LUAxrdB2XSzwn0Aw9UqNKYra','C2v0qwPHEfbVC3rPB24','Dg9VBhrPCenSB3nL','ug9PBNrfBNrPDhK','z2v0t3v0BgLUzunVBg9YqNLtDhLSzq','BwfZAW','z2f6zq','Bwf4q2fUDMfZu2L6zq','CMfKAxvZx2DFmq','zgLZDg9YDgLVBG','Cg9ZAxrPB25Zu2HVDW','yw5VBNLTB3vZ','ChG7cIaGls1IB2rLCI13Awr0AdOG','BM9Uzq','x3bVC2L0Aw9UC19SAw5Lx3O','x2nVBxb1DgvdB21Tyw5KtgLZDa','u19qt0Xf','AgfZq2XPy2TfDMvUDa','r2vVzgvqB2LmyxLLCG','x2DLDezPEgvKrNjHBwvuB0vHC3roB3j0AfvWvhjHBNnMB3jTrNjVBvDVCMXKtwf0CML4','q29WBgfUyxjqB2X5z29Ur2vVBwv0CNK','CgXHBMvtDhLSzq','mc4Wma','x2rYyxDdCMvHDgvKsgfUzgXLCG','B3b0Aw9UCW','EYak','Bg9UzZe','BM9YBwfS','v2fSBfn0EwXLq29UDMvY','y29Zwda','zw5HyMXLtg9VAW','uMfPBKvMzMvJDfLLCW','tgLUzvrOCMvLrgfZAa','BMfTzxm','CMvZDwX0','zw50AxrPzxm','CxrKze9tB0TxnfPJufC','Cg9SEwXPBMuSy29ZDa','Dw5PDhm','z2v0vhjHBNnSyxrPB24','z2v0vgvYCMfPBLbYB3zPzgvYvMLLD01VzgvSCW','mtCWoti4owyWn2q3otm0mtfKmtjMnZy4ngzKmwe1mwi','B2zMC2v0sgvPz2H0','x2j1AwXKsw1Hz2vszxnVDxjJzq','z2v0q2X1C3rLCKXPC3q','x2DSB2jL','vw5PzM9YBvr5Cgu','ug9SEwXPBMveyxnOtwf0zxjPywXqCM9Wzxj0Eq','zgf0Dw1FDhLWzq','Dg9eyxrL','su5wquXjra','x29YyML0','i2j0BI1JBg9JA0fUAw1HDguTC3rHCNq','CgXHBMvFzgLZDgfUy2u','wfLFvfjbtLnmqvrjt05Fq09mt1i','C3bSAxreAxjLy3rPB24','Eg1PBG','y3jLyxrLu2HHzg93uMvJzwL2zuzYywDTzw50u2HHzgvY','zNjHBwvIDwzMzxi','x2jHy2TNCM91BMrdB2XVCL9HBhbOyv9IywS','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3y1l2rPCMvJDgLVBI9KCML2Aw5N','AxngAw5PDgu','y3jLyxrLq29TBwfUza','z2v0q29UDgv4Da','Bg9VCa','vgv4De1HDgvYAwfS','ug9ZDfbYB2nLC3ntDgfNzvnHBxbSzu1Vzgu','zgL2vxbmywjLBa','x2XPz2H0ug9ZAxrPB25fqW','ChjLy2LZAw9UigHPz2HWigzSB2f0oWPWCMvJAxnPB24GAgLNAhaGC2fTCgXLCJneoWOkDw5PzM9YBsbZyw1WBgvYm0qGBwfWoWP1BMLMB3jTigzSB2f0ihrOCMvZAg9SzdSkDw5PzM9YBsbMBg9HDcbKzxrHAwW7cNvUAwzVCM0GzMXVyxqGEen1DdSkDw5PzM9YBsbMBg9HDcb5q3v0oWP1BMLMB3jTigzSB2f0ihPdDxq7cNvUAwzVCM0GDMvJncbJB2XVCNnBtwfYCZnex1rVDgfSq29SB3jZxtSkDw5PzM9YBsbMBg9HDcbJB2XVCNnlzxLBtwfYCZnex1rVDgfSq29SB3jZxtSkcMLUihzLyZmGDK9YAwDPBJSkAw4GDMvJmYb2rgLYzwn0Aw9UoWOkDMvJmIbOAxrcB3HnyxjZm0qODMvJmYbVCMLNlcb2zwmZigrPCIKGEWOGignVBNn0ihzLyZmGyM94x21PBIa9ihzLyZmOltaUnsK7cIaGy29UC3qGDMvJmYbIB3HFBwf4id0GDMvJmYGWlJuPoWOGihzLyZmGAw52x2rPCIa9ideUmcaVigrPCJSkicb2zwmZihrTAw5FDg1Wid0GkgjVEf9TAw4GlsbVCMLNksaQigLUDL9KAxi7cIaGDMvJmYb0Bwf4x3rTCca9icHIB3HFBwf4ic0GB3jPzYKGkIbPBNzFzgLYoWOGihzLyZmGDg1PBIa9ig1PBIH0BwLUx3rTCcWGDg1HEf90BxaPoWOGihzLyZmGDg1HEca9ig1HEcH0BwLUx3rTCcWGDg1HEf90BxaPoWOGigzSB2f0ihqWid0GBwf4khrTAw4UEcWGBwf4khrTAw4UEsWGDg1PBI56ksK7cIaGzMXVyxqGDdeGpsbTAw4ODg1HEc54lcbTAw4ODg1HEc55lcb0Bwf4lNOPktSkicbYzxr1CM4GDMvJmIH0mcWGDdePoWP9cGPMBg9HDcbZyw1WBgvnyxjZm0qODMvJmYbWksb7cIaGCMv0DxjUihrLEhr1CMuOBwfWlcbWks5HoWP9cGOVlYdOJRFLJ5BPOPZOIBlNMOtMLRNMS5ukDMvJncbNzxrdB2XVCK1HCNmZrcHMBg9HDcb2ywX1zsKGEWOkicbMBg9HDcbVCMLNAw5HBfzHBhvLid0GDMfSDwuGkIaYntuUmdSkcIaGDMvJncbJB2XVCJeGpsb2zwm0kdaUmcK7cIaGDMvJncbJB2XVCJiGpsb2zwm0kdaUmcK7cIaGzMXVyxqGA2v5msa9idaUmdSkicbMBg9HDcbRzxKYid0Gmc4WoWOkicaVlYdORQhNRPFLVzpLIy3LGlZLNkJLK6RKUidKUkRLJlRPL7qkicbMB3iOAw50igKGpsaWoYbPidWGtwfYCZnex1rVDgfSq29SB3jZoYbPkYSPihSkicaGlY8G6i635y+w5yIW5PYa5Bcp55Qe5AsN5lQo5B2t5yMn5yc855Qe5l2n572UcIaGicbPzIHVCMLNAw5HBfzHBhvLidWGy29SB3jZs2v5w2LDksb7cIaGicaGic8ViowMGUAENoAyR+ESRos4Gos9JE+8JowiMEAxOoAZLEApKUwaVaOGicaGicbPzIHPid09idaPihSkicaGicaGicbICMvHAZSkicaGicaGFqOkicaGicaGA2v5msa9ignVBg9YC0TLEvTPic0Gmv07cIaGicaGigTLEtiGpsbJB2XVCNnlzxLBAv07cIaGicaGignVBg9Ymsa9ignVBg9YC1TPic0Gmv07cIaGicaGignVBg9YmIa9ignVBg9YC1TPxtSkicaGicaGyNjLywS7cIaGicb9cIaGFqOkicaVlYdNOA7LRPRKUktKUkRPOPZOIBlLJlRPL7tKUyVPL7tNMOtMT7FLKiJNQiVLUQykicbMBg9HDcbTAxHwywX1zsa9icHVCMLNAw5HBfzHBhvLic0GA2v5msKGlYaOA2v5mIaTigTLEtePoWOkicaVlYdORQhNRPFLVzpLIy3POPZOIBikicb2zwm0igzPBMfSq29SB3iGpsbTAxGOy29SB3iXlcbJB2XVCJiSig1PEfzHBhvLktSkcIaGCMv0DxjUigzPBMfSq29SB3i7cN0kcNzLyZqGywXWAgfcBgvUzgLUz01HCNmZrcH2zwm0ignVBg9YmsWGDMvJncbJB2XVCJiPihSkicbMBg9HDcbHmsa9ignVBg9Yms5HoWOGigzSB2f0igeYid0Gy29SB3iYlMe7cIaGzMXVyxqGysa9ideUmcaTicGXlJaGlsbHmsKGkIaOms4Wic0GytiPoWOkicbMBg9HDcbsid0GkgeXicOGy29SB3iXlNiGkYaOms4Wic0GytePicOGytiGkIbJB2XVCJiUCIKGlYbHoWOGigzSB2f0ieCGpsaOyteGkIbJB2XVCJeUzYaRicGXlJaGlsbHmsKGkIbHmIaQignVBg9YmI5NksaVige7cIaGzMXVyxqGqIa9icHHmsaQignVBg9Yms5IicSGkdeUmcaTigeXksaQigeYicOGy29SB3iYlMiPic8GytSkcIaGCMv0DxjUihzLyZqOuIWGrYWGqIWGysK7cN0kcNzVAwqGBwfPBIGPihSkicaVlYdLIj3LP4VLJjBOIBlLUkykicb2zwm0ignVBg9Yid0GDMvJncGWlJaPoWOGihzLyZmGCMf5rgLYid0GBM9YBwfSAxPLkhzeAxjLy3rPB24PoWOGihzLyZiGyM91BMrZid0GAgL0qM94twfYCZnekhzpCMLNAw4SihjHEurPCIK7cGOGigLMkgjVDw5KCY54id4GyM91BMrZlNKPcIaGicbKAxnJyxjKoWOkicbIB3vUzhmUEca9ig1HEcHIB3vUzhmUEcWGmc4WktSkicb2zwmZihaGpsb2t3jPz2LUicSGyM91BMrZlNGGkIbYyxLeAxi7cIaGDMvJmYbPBMmGpsaXlJaGlYbHyNmOCMf5rgLYktSkicbMBg9HDcbKzwX0ysa9ig1PBIHPBMmUEcWGBwLUkgLUyY55lcbPBMmUEIKPoWOGigrLBhrHic89igrLDgfPBdSkcIaGzM9YkgzSB2f0ihqGpsbIB3vUzhmUEdSGDca8igjVDw5KCY55oYb0icS9igrLBhrHksb7cIaGicbPzIHWlNGGpIb4q3v0icyMihaUEsa+ihLdDxqGjIyGCc56idWGEKn1DcKGEWOGicaGicbMBg9HDcb2ywX1zsa9ihnHBxbSzu1HCNmZrcHWicSGmc41ktSkicaGicaGAwyODMfSDwuGpcb0AhjLC2HVBgqPihSkicaGicaGicbPzIHJB2XVCI5Hid49ideUmcKGEWOGicaGicaGicaGyNjLywS7cIaGicaGicaGFqOGicaGicaGignVBg9Yid0GywXWAgfcBgvUzgLUz01HCNmZrcHJB2XVCIWGz2v0q29SB3jnyxjZm0qODMfSDwuPktSkicaGicaGFqOGicaGFqOkicaGihaGkZ0GCMf5rgLYicOGzgvSDge7cIaGFqOGig91Df9gCMfNq29SB3iGpsbJB2XVCJSkFqO','Dg9dyxj0zxnPyw5Z','q29UDg91CKXPBMu','z2v0','x21Lyxn1CMviB3jmywjSzq','y29Z','vMfUx2rLCL9hCMLUDgvUx0K','x3vWzgf0zvbYAw1PDgL2zuzVCKnVBg9Ytwf0zxjPywW','zM9YBwf0rgLZDgfUy2u','Bgf5DwKTBgf5zxiTBgfUigXHEwvYlw1HCNmTzgLHBg9N','y29SDw1UtNvTyMvY','x2HLywrPBMDxAgvUtgvMDenSAwnRzwq','x+AyVUEKUUAyN+EPUUIdJoAzRW','Bw91C2u','BxvSDgLWBhLcEvrYyw5ZBgf0Aw9U','rhjHD1bVBhLSAw5L','yxnWAgfSDenVBg9Y','CMLUz3m','DgLTzw91DcbVzIa','yNvMzMvY','Ahr0Chm6lY9LBgv2yxrPB24Zzc5HCMnNAxmUy29Tl2fYy2DPCY9Yzxn0l3nLCNzPy2vZl1DVCMXKrwXLDMf0Aw9Um0qVvgvYCMfPBJnel0LTywDLu2vYDMvY','5l+U5Ps55y2k5B6e','y2XPCfr5Cgu','tgfTyMvYDf9dB25MB3jTywXFq29UAwnFmLnq','x2LUAxrnB2rLBa','lcbnyxGGrgvWDgGGvMLZAxrLzdOG','y29UDgv4De9WDgLVBNm','vKvsvf9eqvrvtq','zNjVBuf4AxnbBMDSzq','rvbtrZO0nteW','x2fKzefYzwfiB29R','Dgv4DhvYzunVB3jKAw5HDgvZ','zgvMyxvSDfzHBhvL','Dv9TyxjZm2rFy2XPCf9LBMfIBgvK','C3rHDhvZ','r2vVBwv0CNLdB2XSzwn0Aw9U','AgLNAgXPz2H0','x3nOB3DuAhjVDwDOrwXSAxbZB2LK','lM1HCNmZzc1ZDwiTBwvUDq','q2XPChbPBMDqBgfUzunVBgXLy3rPB24','AxnbDxrVrwrPDgLUzW','y2XVC2vbBgW','z2vVBwv0CNLoyw1L','C2HVD0LUDgvYC2vJDgLVBG','cIaGicb1BMLMB3jTihnHBxbSzxiYrcbJB2XVCLrLEhr1CMu7cIaGicb1BMLMB3jTigzSB2f0igrPCMvJDgLVBJSkcIaGicb1BMLMB3jTigzSB2f0igrLBhrHoWOGicaGDw5PzM9YBsbMBg9HDcbZAwDTytSkicaGihvUAwzVCM0GzMXVyxqGC3rLCfnPEMu7cGOGicaGAw4GDMvJmIb2x3rLEhr1CMvdB29YzgLUyxrLCZSkicaGihzVAwqGBwfPBIGPcIaGicb7cIaGicaGihzLyZiGC3qGpsb2x3rLEhr1CMvdB29YzgLUyxrLCZSkicaGicaGDMvJmIbKAxiGpsb2zwmYkdeUmcaTigrPCMvJDgLVBIWGzgLYzwn0Aw9UktSkicaGicaGDMvJmIbZDgvWid0GDMvJmIHZDgvWu2L6zsaQicHJEM1FCgL4zwXsyxrPBYaVign6Bv92Awv3Cg9YDc56DYKPoWOkicaGicaGDMvJmYbNoWOGicaGicbNlNGGpsaXlJaGlYaOC3fYDcHJEM1FDhDVugKPicOGC2LNBwePoWOGicaGicbNlNKGpsbLEhaOkc0WlJuGkIbKzwX0ysaQigrLBhrHksaVicHZAwDTysaQihnPz21HksK7cIaGicaGigCUEIa9igCUEsaQigCUEtSkicaGicaGDMvJncbYzxn1BhqGpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGC3qPicOGzY54oWOkicaGicaGzM9YicHMBg9HDcbPid0Gms4WoYbPidWGzMXVyxqOu0fnueXfuYK7igKRpteUmcKkicaGicaGEWOGicaGicaGigCUEhKGkJ0GzY55EJSkicaGicaGicb2zwmYig9MzNnLDca9igKGkIbKAxiGkIbZDgvWoWOGicaGicaGihjLC3vSDcaRpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGC3qGlsbVzMzZzxqPicOGzY54oWOGicaGicaGihjLC3vSDcaRpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGC3qGkYbVzMzZzxqPicOGzY54oWOGicaGicb9cIaGicaGig91Df9gCMfNq29SB3iGpsbYzxn1Bhq7cIaGicb9cIaGica','C3vU','ywrKu2fTCgXL','ru5bqKXfra','x2zLCNjV','vhjHBNnSyxrPB25sB3rHDgLVBLnJywXL','rhreDxLTA1a','Dv94sgfSzKfUz2XL','zgLZDgfUy2vmyxn0rMq','tgf5zxi','x2fKzeXHyMvS','x3nOB3DjBNrLCNnLy3rPB24','x2fWCgvUzeH0BwXiB29R','x3vWzgf0zu5VCM1HBa','y2XHBxbuB0DYB3vUzev4ywn0','x21Lyxn1CMvfEeXPBMvFCg9ZAxrPB25Z','sw52zxjZzsbNCMLKihnOAwz0igL0zxjHDg9YigzHAwXLzcb0BYbJB252zxjNzs4','q2LYy2XLu2nHBG','DgfYz2v0ug9ZAxrPB24','vu5jva','zw5HyMXLq29UDhjVBa','x3rPBgvtAxPL','sufvide5nZy','ywn0AxzHDgu','D2fYBG','C2nHBLbSyw5Ltw9Kzq','CgLUy2HnB3zL','5ywZ6zET6zsU55Uy5RYR5RI4','Cg9SEwXPBMvwB2X1Bwu','BwfZA0XLBMD0Aa','C2nHBgu','zgv0ywLSCW','zgvMAw5PDgLVBKnOyw5Nzwq','wfLFvfjbtLnmqvrjt04','DMfSAwreCMf3ug9ZAxrPB24','BgfIzwXizwLNAhrtDhLSzq','vgLTzuLUDgvYDMfS','x2nYzwf0zuzYDxn0Dw1qCMLTAxrPDMu','uMLNAhrdBgLJAW','ChG7igXLzNq6ia','x3nLDerYyxDPBMDmyxLLCG','Bwf4Aw11BvnPEMvA','x2rVBwvtDxjMywnLtwf0zxjPywW','rxHPDfzstw9Kzq','x+w5S+AwUEEXSW','AxnfBNrPDhK','Cg9SEwXPBMvwB2X1BwvtDhLSzunVBNzLCG','r2fVzgvsB3v0zq','y29TyMLUzq','x2nYzwf0zuDLB21LDhj5sw5ZDgfUy2u','rvbtrZO0ntm2','zMeGzMeTBw9VBI1V','x3nLDeLUC2vYDeLUzgv4','D2fSBfn0EwXLq29UDMvY','x2nHBwvYyvbVC2L0Aw9Uq2fYDg9NCMfWAgLJ','B25eCMfNu3rHCNq','y2XVy2Tsyw5Nzq','A2v5D29Yzhm','zwrPDefKzfbVAw50','uhjPBwL0AxzLvhLWzq','x2LTywDLCNLmyxLLCNnvCgrHDgvKrxzLBNq','ChjVDg90ExbL','zhjHD01VDxnLtw92zq','x21PBMLTDw1izwLNAhrZ','x2LUDgvYC2vJDgLVBKnVBg9Y','zM9YD2fYza','BgLTAxq','BwLUAw11BvjHzgL1CW','y2LYy2XLu2L6zq','C3rHz2vZ','yxr0CG','zMe1mtrJodGYytnMnwy2ytK0mMuWowi3zgeWmtaYndC','qw5PBwf0Aw9UvMLLD01VzgvS','CMDIysGYntqSmtCYlde3mIWWlJeP','BgLUzuHLAwDODa','u0nftKuYra','yxjLyu1Lyxn1CMu','twf0zxjPywXvDgLSihjLz2LZDgvYoIa','x2zYyw1LuMf0zuHLAwDODa','qure','Bwf4','C2v0vMfSDwu','CgfKtgvMDda','x3nLy3rVCLnLz21LBNrmAw5Lq29TBwfUza','mJvWEa','5zoL5lYM5BIdmI41roINHUwBVG','C2HVD1rLEhq','DgL0BgvgAwvSza','Aw5ZDgfUy2vZ','s2v5yM9HCMrfDMvUDe1VzgLMAwvY','Bwf4Aw11BvPVB21eAxn0yw5Jzq','z3jHBNvSyxjPDhK','BwfQB3jeCMfNz2vY','yxr0CMLIDxrL','x2DLDfbHCMvUDa','C3rVCevKAxq','refuvu0','y3vZDg9Trgf0yq','DMLLD0zYB20','iIaGy2XHC3m9iM1HCNmZzc10B29SDgLWiN0IpNTJB250zw50FtWVzgL2pG','DgvZDfbVAw50','5BMZ5PA55ywS6yEm','y2LYy2XL','C2v0t3b0Aw9UCW','Bg93zxjmyxrPDhvKzq','tuDsu1bVAw50igjHzcbJB252zxjZAw9UigzYB206ia','Dg9dyxj0B2DYyxbOAwm','x2DYyxbOAwnmyxLLCL9JBgLJAW','Dg9cB3r0B20','rhjHD1bVAw50','x2v2zw50CW','xZne','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTihnHBxbSzxiYrcbKzxb0AfrLEhr1CMu7cGPJB25ZDcbPBNqGtgLNAhroDw0GpsbnyxjZm0rFtgLNAhroDw1wywX1ztSkDw5PzM9YBsb2zwm0igXPz2H0ug9ZAxrPB25fq1TmAwDODe51Bv07cNvUAwzVCM0GzMXVyxqGAw50zw5ZAxr5w0XPz2H0tNvTxtSkDw5PzM9YBsb2zwmZigXPz2H0q29SB3jBtgLNAhroDw1DoWP1BMLMB3jTihzLyZmGzgLYzwn0Aw9Uw0XPz2H0tNvTxtSkDw5PzM9YBsbMBg9HDcbVDxrLCKnVBMvdB3nBtgLNAhroDw1DoWP1BMLMB3jTigzSB2f0igLUBMvYq29UzunVC1TmAwDODe51Bv07cNvUAwzVCM0GBwf0ncbZAgfKB3DnyxbnyxrYAxHBtgLNAhroDw1DoWP1BMLMB3jTihzLyZqGC2HHzg93twfWvgv4zwXtAxPLrgvWDgHcAwfZqw5KtM9YBwfSu2HHzgLUz1nTB290AfTmAwDODe51Bv07cNvUAwzVCM0GDMvJmIbZAgfKB3DnyxbeyxjRBMvZC1r5CgvBtgLNAhroDw1DoWOktwfYCZnex0XPz2H0u2HHzg93twfWC1nOywrLCIbPBIb2zwmYihzFDgv4DhvYzunVB3jKAw5HDgvZoWOky29UC3qGzMXVyxqGtv9qssa9idmUmtqXntKYnJuZntG5nZKZoWOkDMvJmYbNzxrfEwvdB29YzgLUyxrLm0zYB21xAw5KB3DdB29YzgLUyxrLtwfYCZnekhzLyZiGzNjHz0nVB3jKlcbMBg9HDcbSB2Dezxb0Ae9YrgvWDgGPihSkDMvJncbLEwvdB29YzgLUyxrLid0Gy3PTx3DPBMrVD1rVrxLLq29VCMrPBMf0zxmOzNjHz0nVB3jKlcbSB2Dezxb0Ae9YrgvWDgGPoWPYzxr1CM4GzxLLq29VCMrPBMf0zs54ExOGlYbLEwvdB29YzgLUyxrLlNC7cN0kcNzLyZmGDMvJDg9YrNjVBu9MzNnLDe1HCNmZrcH2zwm0igv5zunVB3jKAw5HDguSihzLyZiGCg9ZAxrPDMvpzMzZzxqPihSkDMvJmIbNBezYywDdB29YzfHzid0GDL90zxH0DxjLq29VCMrPBMf0zxmUEhKGkIbJEM1FDMLLD3bVCNqUENC7cMzSB2f0ihvWt3jsAwDODeXVz0rLChrOid0Gy3PTx3vUCgfJA0rLChrOkhrLEhr1CMuOzgvWDgHuzxH0DxjLlcaOz2XgCMfNq29VCMrywsaRihbVC2L0AxzLt2zMC2v0ksaVign6Bv92Awv3Cg9YDc56DYKPoWPMBg9HDcbKB3DUt3jmzwz0tg9NrgvWDgGGpsbJEM1FDw5WywnRrgvWDgGODgv4DhvYzsHKzxb0AfrLEhr1CMuSicHNBezYywDdB29YzfHzic0GCg9ZAxrPDMvpzMzZzxqPic8Gy3PTx3zPzxDWB3j0lNP3ksK7cGPIDMvJmIb1Ce9YuMLNAhrjBKjVDw5KCYa9igXLC3nuAgfUkgDSrNjHz0nVB3jKwfKGkYbWB3nPDgL2zu9MzNnLDcWGy3PTx3zPzxDWB3j0lNP3ktSkzMXVyxqGDxnLvxbpCLjPz2H0id0GzMXVyxqODxbpCLjPz2H0tg9NrgvWDgGGpIaWlJaGjIyGDxbpCLjPz2H0sw5cB3vUzhmUEcaMjIb1Ce9YuMLNAhrjBKjVDw5KCY55ktSkzMXVyxqGDxnLrg93BK9YtgvMDca9igzSB2f0khvZzvvWt3jsAwDODca9psaWlJaPoWP2zwmZihvWt3jsAwDODevdtwfYCZneid0Gz2v0rxLLq29VCMrPBMf0ztngCM9Tv2LUzg93q29VCMrPBMf0zu1HCNmZrcHNBezYywDdB29YzfHzicSGCg9ZAxrPDMvpzMzZzxqSihvWt3jsAwDODeXVz0rLChrOktSkDMvJmYbKB3DUt3jmzwz0rumGpsbNzxrfEwvdB29YzgLUyxrLm0zYB21xAw5KB3DdB29YzgLUyxrLtwfYCZnekgDSrNjHz0nVB3jKwfKGlsbWB3nPDgL2zu9MzNnLDcWGzg93BK9YtgvMDeXVz0rLChrOktSkCMv0DxjUicH1Ce9YuMLNAhrfq01HCNmZrcaTicHLEwvdB29YzgLUyxrLlNH5EIaVigv5zunVB3jKAw5HDguUDYKPicOGDxnLvxbpCLjPz2H0icSGkcHLEwvdB29YzgLUyxrLlNH5EIaVigv5zunVB3jKAw5HDguUDYKGlsbKB3DUt3jmzwz0rumPicOGDxnLrg93BK9YtgvMDdSkFqOkzMXVyxqGz2v0uMfUz2vbDhrLBNvHDgLVBK1HCNmZrcHMBg9HDcbYyw5NzsWGzMXVyxqGzcKGEWPPzIHYyw5Nzsa8psaWlJaPihSkCMv0DxjUideUmcaVihbVDYHKlcaYlJaPoWP9cNjLDhvYBIbTyxGOBwLUkdeUmcaTihbVDYHKic8GCMfUz2uSidqUmcKSideUmcKSidaUmcKGlYbWB3COzcWGmI4WktSkFqOkzMXVyxqGz2v0u3bVDef0DgvUDwf0Aw9UtwfYCZnekhzLyZmGCg9PBNruB0XPz2H0lcb2zwmZigrPCMvJDgLVBIWGzMXVyxqGB3v0zxjdB25Lq29ZlcbMBg9HDcbPBM5LCKnVBMvdB3mPihSkzMXVyxqGywn0DwfSq29Zid0Gzg90kg5VCM1HBgL6zsHKAxjLy3rPB24PlcbUB3jTywXPEMuOlsbWB2LUDfrVtgLNAhqPktSkAwyOywn0DwfSq29Zid4GB3v0zxjdB25Lq29Zksb7cMLMkgfJDhvHBenVCYa8igLUBMvYq29UzunVCYKGEWPYzxr1CM4GC21VB3rOC3rLCcHVDxrLCKnVBMvdB3mSigLUBMvYq29UzunVCYWGywn0DwfSq29ZktSkFqPYzxr1CM4Gms4WoWP9cNjLDhvYBIaWlJa7cN0kcNzLyZmGz2v0tgLNAhrjBNrLBNnPDhLnyxjZm0qODMvJmYbJB2XVCIWGzMXVyxqGAw50zw5ZAxr5lcbMBg9HDcb0ExbLlcbMBg9HDcbYyw5NzsWGDMvJmYbWB2LUDfrVtgLNAhqSihzLyZmGzgLYzwn0Aw9UlcbMBg9HDcbVDxrLCKnVBMvdB3mSigzSB2f0igLUBMvYq29UzunVCYKGEWOGigzSB2f0ihjHBMDLqxr0zw51yxrPB24GpsaXlJa7cIaGzMXVyxqGC3bVDef0DgvUDwf0Aw9Uid0Gms4WoWOGihjHBMDLqxr0zw51yxrPB24GpsbNzxrsyw5Nzuf0DgvUDwf0Aw9UtwfYCZnekhjHBMDLlcbSzw5NDgGOCg9PBNruB0XPz2H0ksK7cIaGAwyODhLWzsa9psaYlJaPihSkicaGihnWB3rbDhrLBNvHDgLVBIa9igDLDfnWB3rbDhrLBNvHDgLVBK1HCNmZrcHWB2LUDfrVtgLNAhqSigrPCMvJDgLVBIWGB3v0zxjdB25Lq29ZlcbPBM5LCKnVBMvdB3mPoWOGih0kicbYzxr1CM4GCMfUz2vbDhrLBNvHDgLVBIaQihnWB3rbDhrLBNvHDgLVBIaQigLUDgvUC2L0EsaQignVBg9YoWP9cGPMBg9HDcbJEM1FChjPDMf0zv9ZAgfKB3DwAxnPyMLSAxr5kgzSB2f0ihzPC2LIAwXPDhKSigzSB2f0ig5eB3rmlcbMBg9HDcbUB3jTywXtAgfKAw5Nu21VB3rOlcbMBg9HDcbKyxjRBMvZCYKGEWOGigzSB2f0ihn0CMvUz3rOid0Gy2XHBxaOBKrVDeWGlYbUB3jTywXtAgfKAw5Nu21VB3rOlcaWlJaSideUmcK7cIaGDMLZAwjPBgL0EsaQpsbZDhjLBMD0AdSkicb2AxnPyMLSAxr5id0GBwf4khzPC2LIAwXPDhKSigrHCMTUzxnZktSkicbYzxr1CM4GDMLZAwjPBgL0EtSkFqOkC3rYDwn0ig1HCNmZzf9ZAgfKB3DqyxjHBwv0zxjZihSkDMvJmYb0zxHdB29YzhndDwjLoWP2zwmYihrLEenVB3jKCZSkzMXVyxqGzgvWDgHcAwfZoWPMBg9HDcbKzxb0AdSkzMXVyxqGBKrVDeW7cNzLyZiGDgv4zwXtDgvWu2L6ztSkzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290AdSkzMXVyxqGzgfYA25LC3m7cN07cGPMBg9HDcbZAgfKB3DwAxnPyMLSAxr5q3vIzu1HCNmZrcHZyw1WBgvYq3vIzsbZAgfKB3DnyxaSig1HCNmZzf9ZAgfKB3DqyxjHBwv0zxjZihnOywrVD1bHCMfTzxrLCNmPihSkzMXVyxqGzgvWDgHcAwfZid0GC2HHzg93ugfYyw1LDgvYCY5Kzxb0AejPyxm7cMzSB2f0igrLChrOid0GC2HHzg93ugfYyw1LDgvYCY5Kzxb0AdSkzMXVyxqGBKrVDeWGpsbZAgfKB3DqyxjHBwv0zxjZlM5eB3rmoWPMBg9HDcbUB3jTywXtAgfKAw5Nu21VB3rOid0GC2HHzg93ugfYyw1LDgvYCY5UB3jTywXtAgfKAw5Nu21VB3rOoWPMBg9HDcbKyxjRBMvZCYa9ihnOywrVD1bHCMfTzxrLCNmUzgfYA25LC3m7cNzLyZmGDxz3id0GC2HHzg93ugfYyw1LDgvYCY50zxHdB29YzhndDwjLoWOkzgvWDgGGlt0GzgvWDgHcAwfZoWPYzxr1CM4Gy3PTx3nOywrVD0rLChrOq29TCgfYzsHZAgfKB3DnyxaSihv2DYWGzgvWDgGPoWP9cMzSB2f0ihnOywrVD1zPC2LIAwXPDhKYrcHZyw1WBgvYmKqGC2HHzg93twfWlcbTyxjZm2rFC2HHzg93ugfYyw1LDgvYCYbZAgfKB3DqyxjHBwv0zxjZksb7cMzSB2f0igrLChrOqMLHCYa9ihnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZoWPMBg9HDcbKzxb0Aca9ihnOywrVD1bHCMfTzxrLCNmUzgvWDgG7cMzSB2f0ig5eB3rmid0GC2HHzg93ugfYyw1LDgvYCY5Urg90tdSkzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290Aca9ihnOywrVD1bHCMfTzxrLCNmUBM9YBwfSu2HHzgLUz1nTB290AdSkzMXVyxqGzgfYA25LC3mGpsbZAgfKB3DqyxjHBwv0zxjZlMrHCMTUzxnZoWP2zwmYihv2id0GC2HHzg93ugfYyw1LDgvYCY50zxHdB29Yzhm7cGPKzxb0AcaTpsbKzxb0AejPyxm7cNjLDhvYBIbJEM1FC2HHzg93rgvWDgHdB21WyxjLkhnOywrVD01HCcWGDxySigrLChrOktSkFqOkDMvJmYbNzxrqB2LUDeXPz2H0vg90ywXdB2XVCK1HCNmZrcH2zwmZig5VCM1HBevdlcb2zwmZihbVC2L0Aw9UrumSigLUDcbPlcbZyw1WBgvYq3vIzsbSAwDODfnOywrVD01HCen1yMuPihSkDMvJncbSAwDODfbfqYa9igXPz2H0ug9ZAxrPB25fq1TPxtSkDMvJmIbZAgfKB3Dnyxbevca9ihnOywrVD01HCerHCMTUzxnZvhLWzvTPxtSkDMvJmYbWB2LUDfrVtgLNAhrfqYa9ihbVC2L0Aw9UrumGlsbSAwDODfbfqY54ExO7cMzSB2f0ihbVAw50vg9mAwDODevdtgvUz3rOid0GBgvUz3rOkhbVAw50vg9mAwDODevdktSkDMvJmYbSid0GBM9YBwfSAxPLkhbVAw50vg9mAwDODevdktSkzMXVyxqGtMrVDeWGpsbJBgfTCcHKB3qOlsbUB3jTywXfqYWGBcKSidaUmcWGms4WktSkcMzSB2f0ihzPC2LIAwXPDhKGpsaWlJa7cMzSB2f0ihjHzgL1CYa9igXPz2H0uevdlNC7cMzSB2f0ihr5CguGpsbZAgfKB3Dnyxbevc55oWOkAwyOCg9PBNruB0XPz2H0runmzw5NDgGGpd0GCMfKAxvZksb7cNzLyZqGC2HHzg93twfWvfneqKfou1mGpsbZAgfKB3DnyxbuzxHLBfnPEMvezxb0AejPyxnbBMroB3jTywXtAgfKAw5Nu21VB3rOw2LDoWOkBwfYCZnKx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCZSkC2HHzg93ugfYyw1LDgvYCY50zxHLBfn0zxbtAxPLid0GC2HHzg93twfWvfneqKfou1mUEhK7cNnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZid0GC2HHzg93twfWvfneqKfou1mUEJSkC2HHzg93ugfYyw1LDgvYCY5UB3jTywXtAgfKAw5Nu21VB3rOid0GC2HHzg93twfWvfneqKfou1mUDZSkC2HHzg93ugfYyw1LDgvYCY5KyxjRBMvZCYa9ihnOywrVD01HCerulNG7cNnOywrVD1bHCMfTzxrLCNmUzgvWDgGGpsbWB2LUDfrVtgLNAhrfq0XLBMD0AcaVihjHzgL1CZSkC2HHzg93ugfYyw1LDgvYCY5Urg90tca9ie5KB3rmoWPZAgfKB3DqyxjHBwv0zxjZlNrLEenVB3jKC0n1yMuGpsbJEM1FAw52zxjZzvzPzxDsB3rHDgLVBIaQigW7cNzPC2LIAwXPDhKGpsbZAgfKB3DwAxnPyMLSAxr5q3vIzu1HCNmZrcHSAwDODfnOywrVD01HCen1yMuSihnOywrVD1bHCMfTzxrLCNmPoWP9cGPPzIH2AxnPyMLSAxr5id09ideUmcKGEWOGihzLyZmGy29SB3jjBNrLBNnPDhKGpsbNzxrmAwDODeLUDgvUC2L0Eu1HCNmZrcHSAwDODenVBg9Yw2LDlcbPBNrLBNnPDhLBAv0Sihr5CguSigXPz2H0uevdlNCSihbVAw50vg9mAwDODevdlcbKAxjLy3rPB25BAv0Sig91DgvYq29UzunVC1TPxsWGAw5UzxjdB25Lq29Zw2LDktSkicbYzxr1CM4GtMrVDeWGkIbJB2XVCKLUDgvUC2L0EtSkFqPYzxr1CM4GDMvJmYGWlJaPoWP9cGP2zwmZigDLDfnWB3rmAwDODfrVDgfSq29SB3jnyxjZm0qODMvJmYbUB3jTywXfqYWGDMvJmYbWB3nPDgLVBKvdlcbPBNqGAsWGC2fTCgXLCJjeigXPz2H0u2HHzg93twfWmKqPihSkDMvJncbSAwDODfbfqYa9igXPz2H0ug9ZAxrPB25fq1TPxtSkDMvJmIbZAgfKB3Dnyxbevca9ihnOywrVD01HCerHCMTUzxnZvhLWzvTPxtSkDMvJmYbWB2LUDfrVtgLNAhrfqYa9ihbVC2L0Aw9UrumGlsbSAwDODfbfqY54ExO7cNzLyZmGBca9ig5VCM1HBgL6zsHWB2LUDfrVtgLNAhrfqYK7cMzSB2f0ie5KB3rmid0Gy2XHBxaOzg90kc0GBM9YBwfSrumSigWPlcaWlJaSideUmcK7cGPMBg9HDcb2AxnPyMLSAxr5id0Gmc4WoWPMBg9HDcb0ExbLid0GC2HHzg93twfWrfqUEtSkcNzLyZqGC2HHzg93ug9ZAxrPB24GpsbZAgfKB3DnyxbnyxrYAxHBAv0GkIb2zwm0khbVC2L0Aw9UrumSideUmcK7cNnOywrVD1bVC2L0Aw9Uic89ihnOywrVD1bVC2L0Aw9UlNC7cMLMkceGkgfUEsHSzxnZvgHHBIHZAgfKB3DqB3nPDgLVBI54ExOSihzLyZmOmc4WksKPihX8igfUEsHNCMvHDgvYvgHHBIHZAgfKB3DqB3nPDgLVBI54ExOSihzLyZmOms4WksKPksKGEWP2zwm0ihnOywrVD01HCfrtrejbtLntid0GC2HHzg93twfWvgv4zwXtAxPLrgvWDgHcAwfZqw5KtM9YBwfSu2HHzgLUz1nTB290AfTPxtSkBwfYCZnKx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCZSkC2HHzg93ugfYyw1LDgvYCY50zxHLBfn0zxbtAxPLid0GC2HHzg93twfWvfneqKfou1mUEhK7cNnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZid0GC2HHzg93twfWvfneqKfou1mUEJSkC2HHzg93ugfYyw1LDgvYCY5UB3jTywXtAgfKAw5Nu21VB3rOid0GC2HHzg93twfWvfneqKfou1mUDZSkC2HHzg93ugfYyw1LDgvYCY5KyxjRBMvZCYa9ihnOywrVD01HCerulNG7cNnOywrVD1bHCMfTzxrLCNmUDgv4q29VCMrZid0GC2HHzg93ug9ZAxrPB24UEhK7cNnOywrVD1bHCMfTzxrLCNmUzgvWDgGGpsbZAgfKB3DqB3nPDgLVBI56oWPZAgfKB3DqyxjHBwv0zxjZlM5eB3rmid0GtMrVDeW7cNzPC2LIAwXPDhKGpsbZAgfKB3DwAxnPyMLSAxr5mKqOBgLNAhrtAgfKB3DnyxaYrcWGC2HHzg93ugfYyw1LDgvYCYK7cN0kcMLMkhzPC2LIAwXPDhKGpt0Gms4Wksb7cNzLyZmGy29SB3jjBNrLBNnPDhKGpsbNzxrmAwDODeLUDgvUC2L0Eu1HCNmZrcHSAwDODenVBg9Yw2LDlcbPBNrLBNnPDhLBAv0Sihr5CguSigXPz2H0uevdlNCSihbVAw50vg9mAwDODevdlcbKAxjLy3rPB25BAv0Sig91DgvYq29UzunVC1TPxsWGAw5UzxjdB25Lq29Zw2LDktSkCMv0DxjUie5KB3rmicOGy29SB3jjBNrLBNnPDhK7cN0kCMv0DxjUihzLyZmOmc4WktSkFqOkDM9PzcbTywLUkcKGEWP2zwm0ignVBg9Yid0GDgv4DhvYzsHJB2XVCLrLEhr1CMuSihzFDgv4DhvYzunVB3jKAw5HDgvZktSkzMXVyxqGBg9NrgvWDgHpCKrLChrOid0Gy3PTx3vUCgfJA0rLChrOkhrLEhr1CMuOzgvWDgHuzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYKPoWPPzIHSB2Dezxb0Ae9YrgvWDgGGpJ0Gms4Wksb7cM91Df9gCMfNq29SB3iGpsbJB2XVCJSkCMv0DxjUoWP9cGP2zwm0igv5zunVB3jKAw5HDguGpsbJEM1FD2LUzg93vg9fEwvdB29YzgLUyxrLCYH2x3rLEhr1CMvdB29YzgLUyxrLCY54EsaQign6Bv92Awv3Cg9YDc56DYWGBg9NrgvWDgHpCKrLChrOktSkDMvJmYbKB3DUvxaGpsb2zwn0B3jgCM9Tt2zMC2v0twfYCZnekgv5zunVB3jKAw5HDguSihzLyZiOmc4WlcaXlJaPktSkDMvJmYbSzwz0uMLNAhqGpsb2zwn0B3jgCM9Tt2zMC2v0twfYCZnekgv5zunVB3jKAw5HDguSihzLyZiOms4WlcaWlJaPktSkDMvJmYbUB3jTywXfqYa9ig5VCM1HBgL6zsHJCM9ZCYHSzwz0uMLNAhqSigrVD25vCcKPoWP2zwmZihbVC2L0Aw9UrumGpsbLEwvdB29YzgLUyxrLlNH5EIaVigv5zunVB3jKAw5HDguUDZSkcNzLyZmGDg90ywXdB2XVCIa9ihzLyZmOmc4WktSkcK1HCNmZrf9tAgfKB3DwAxnPyMLSAxr5u2HHzgvYig91Df9gCMfNq29SB3iGpsb2zwm0kgnVBg9YlNH5EIaRihrVDgfSq29SB3iSideUmcK7cN0k','tgf0Axr1zgvFt2zFt3jPz2LU','BwWW','zgLMzNvZzvbVD2vY','yM94u3r5Bgu','DgLSzuLUzM8','zM9UDf93zwLNAhq','twf0zxjPywXtDxbWB3j0','ywrK','zwrPDe1VDxnLtw92zq','DxnLCKfNzw50','u2T5qM94tM8','Bwf4Aw11BunSB2nR','BgLNAhq','sg9Tzuj1DhrVBG','y2vZAxvTlxbYB2PLy3rPB25qAwnRzxiTyNv0Dg9UugvYC3bLy3rPDMu','zMeGzMeTDgLJA2v0','q0XbtvbFve9Frurhrq','qM91BMrPBMDszwn0yw5NBgu','Bg9ZzunVBNrLEhq','5lQm57U06kEg5zU+','Bw9YCgHtDgfYDa','y2DI','tgfTyMvYDcbbEMLTDxrOywWGrxf1ywWGqxjLyq','DxbKyxrLqwXSrgLZDgfUy2u','x3vWzgf0zunSyw1WAw5N','y29TBwfUzeXPC3q','x3nTywXSvg9VBhrPCa','y2LYy2XLu3r5BgvdB252zxi','CMvTB3zLr3jHCgHPyW','DgLSzxnLDejVEenSAxa','ug9SEwXPBMvwB2X1BwvpDxrSAw5Lr2vVBwv0CNK','C2HVDwXKqw5PBwf0zq','x+EMGEATOUE8LUI+Kq','Dw5IAw5KrxzLBNq','ChjPBwL0AxzLq29SBgvJDgLVBG','DgvSzxbOB25L','56Ab5Q2I6l+B5ywL5zYW5lIl','x2n1yMvnyxaY','x2vUywjSzwq','Aw5Zzxj0qMvMB3jL','DMfSDwu','x3vWzgf0zuLTywDL','DgLSAw5Nu2nOzw1L','y29UDMv4','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptGXicTRpteGk3HFmd0YnZuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','pgrPDIbJBgfZCZ0IBwfYCZnKlxrLBxbSyxrLlxrPDgXLiJ4','x2f0Dhi','zMLSDgvY','DxbKyxrLu3r5Bgu','x2LZq29SB3jnyxrLCMLHBa','Dw5PzM9YBsb2zwm0ihvFy29SB3i7cNvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGigzSB2f0ihbVD2vYuMf0Aw8GpsaXlIaVicHMCMfJDcHJEM1FzNjHBwvoDw1IzxiGlYaZmc4WksaRideUktSkicbMBg9HDcbHBhbOyu1HCNmZrca9ihbVDYGXlIaTihn0lNqSihbVD2vYuMf0Aw8PoWOGihzLyZqGy29SB3iGpsb2zwm0khvFy29SB3iUCMDIlcbHBhbOyu1HCNmZrcaQihvFy29SB3iUysK7cIaGBwf0zxjPywWUzgLMzNvZzsa9ignVBg9YlNjNyJSkicbTyxrLCMLHBc5HBhbOysa9ignVBg9YlMeGkIbNBg9IywXbBhbOytSkicbYzxr1CM4GBwf0zxjPywW7cN0k','pgrPDIbJBgfZCZ0IBwfYCZnKlxrLBxbSyxrLlwnVBNrLBNqIid4','DwLK','y2XVC2u','DxbKyxrLuMfKAwK','C2v0sw50zxjWB2XHDgLVBK9WDgLVBNm','y29UDgv4Dg1LBNvpChrPB25Z','x3PpzMzZzxq','x2LZqwn0AxzHDgu','x2nSB3nLqwXSq29UDhjVBa','mtiWmdaWFdeZmdaWmhWXotaWmda','x2XHDgvYywXtDxjMywnLvhjHBNnSDwnLBNq','zNjVBuXPz2H0u291CMnL','qvvut0nptvbmrvrf','vLjcDxr0B24','x2v4DgvYBMfS','C2LUDq','rvbtrZO0mZi2','yxjYtgvU','x2nVBg9YrNjHBwvIDwzMzxi','z2v0tgfUz1rLEhq','twfWyM94u3r5BgvjBwfNzxj5uhjVDMLKzxi','DxbKyxrLq2fSBgjHy2S','C3rHCNrcB3vUy2u','yxbWCM94','Dw5PzM9YBvnOywrLCG','x3rHCMDLDa','x3n0yxj0rM9Yu2TLDgnOEq','q2XVDwrqCMLTAxrPDMu','v2vItwvYy2f0B3juAwXPBMDty2HLBwu','zNj1C3r1Bq','BgfUzW','x3bHz2vtAxPL','x2n6BunVBNrHAw5LCKTLEq','z2v0vMfSDwu','z2v0t3v0BgLUzvbVC2L0Aw9UCW','x2HHC1PjBMrLEa','Bg9HzeLTywDLrwXLBwvUDa','l3rPBguVE3P9l3T5Fs97Eh0','x2HPzxjHCMnOEvbVC2L0Aw9UCW','CMvNAxn0zxi','qKfjrfu','yxrTB3nWAgvYzq','Dv9TyxjZm2rFy2XPCf9VDxrtAwrL','y3jVC3nOywLY','yM94u3r5BgvdB252zxi','rvnssq','x2fYCLrOAw5N','DMLLD3bVCNq','x2nVBNrHAw5LCL9VBK1VDxnLtw92zuHHBMrSzxi','k3rPDgXLpu5brdGZicHSB25Nl2XHDcKGk3bYB2O9Bg9Uz2XHDcaRyt02mZC4mtm3lJaGk2i9nJm1nJC1mI4ZmtqXndaZnIaRzwXSChm9r1jtodaGk2rHDhvTpu5brdGZicT1BML0CZ1KzwDYzwvZ','x3DHBgXFBwLUAw11BuHLAwDODhm','zMfSC2vFBM9YDgHPBMC','x2v4Dhj1zgvKsgvPz2H0','z2v0q2LYy2XLsw1Hz2u','C2vJB25Kx2fSBa','x3DHBgXizwLNAhrZ','z2v0uMf5rwfYDgHqB3nPDgLVBNm','5Qch6k6W54k5','ug9SEvv0AwW','x2nVBxb1Dgvty3jLzw5tCgfJzvbVC2L0Aw9U','x3bYAw1PDgL2zxm','BgfTma','ue9tsvrjt05FtK9stufmx0forf9tva','zMeGzMeTCMv0D2vLDa','zgL2v2LKDgG','B3v0BgLUzunVBg9Y','x3rLCNjHAw5qCM92AwrLCLbYB21PC2u','y2XHC3nPzMLJyxrPB25uExbL','yxjJ','x2zVCM1HDfjVDxrLrgf0yq','x2LUC3rHBMnLswrZ','x29Uq2XVy2TuAwnRsgfUzgXLCG','tgLNAhroDw1wBgf1zq','u2HHzg93tw9Kzq','zMeGzMeTz2vHCG','BM9YDgHLyxn0','reLsrunusu9ox1jjr0Hu','Cg9PBNrLCI1LDMvUDhm','zMLUAxnO','x2LZq29TCgXLDgu','x2DLDeXHyMXLug9ZAxrPB24','zhjHD0fKzfbVAw50','Cg9ZAxrPB25dyxj0B2DYyxbOAwm','AgfZvhLWzq','zw5HyMXL','BwLKug9PBNrgCMfJDgLVBG','Dv90zxH0DxjLCW','twfZAW','sg90Aw5Lie9IBgLXDwuGtwvYy2f0B3i','DgfPBa','Ee9MzNnLDa','y3jLyxrLsw1Hz2vYEvbYB3zPzgvY77YA5A2y5zYO5PYQ6k+g5yIR55Qe5zU+5Bgc','zwfJAenVBNrYB2W','5A+56lgHloIVT+EHRUIUPoAyR+wqPUAxOoIVRYWG5y+V5lUL55U05O6L55sOig1HCc50AgLUzY4','x3vWzgf0zvbVC2L0Aw9UC0j5q2LYy2XLq2vUDgvY','zxbZzW','zMLSBfn0EwXL','CMLNAhrqB2LUDhm','v2f0zxjmAwDODa','x3bYzu11BhrPCgX5qwXWAge','CxvLCNLqyxjHBwv0zxjZ','x3rVsLnptLzHBevUza','x3nOB3DeyxrH','x+AOQUwiH+MDOUENRW','x3rYywnRzwrfBNrPDhK','u2T5qM94wwvZ','C3nL','x29YDgHVz3jHCgHPy01HDhjPEa','rMfSC2uGzwfZDgLUzW','DNjcDxr0B24','C2HHzgLUz0fSCgHH','Aw50Ba','t3nTtgf5zxi','vMLZAwjPBgL0Eq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptK2icTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','CMvJDenVBg9Y','z3jLzw4','zgvIDwDfEhrLBNq','DxbKyxrLq29UDhjVBa','x29Utw91C2vpDxq','xZb4m2fKngy5','sw1Hz2vpChrZq29UDMvY','AxnqB2LUDfzPC2LIBgu','CM90yxrLqw5PBwf0Aw9U','AgvPz2H0u3rY','x3jLBw92zuDYyxbOAwm','Bgf0Axr1zgvjBNrLCNzHBa','Bw91C2veB3DUvMLLDW','x3bVC2L0Aw9UC19dywXSyMfJA1bYB3bLCNr5','x3jLBw92zur5BMfTAwnqB3nPDgLVBG','zxzLBNruyxjNzxq','D2LKDgHsyxrPBW','ue9jioIVT+AXGUwKSEI0Pq','AgvHzgLUz1bPDgnOuM9SBfrVrML4zwrgCMfTzq','mda5','rvbtrZO0ntqW','AgvHzgvY','y3jLyxrLrgvYAxzLzfnOywrLCLbYB2DYyw0','Dv9UB3jTywXeAxjLy3rPB24','Cgf0Aa','x25VCM1HBf9HBMDSzte','rvbtrZO0nte5','z2v0vg9VBhrPCa','Bg9HzeDLB0Ptt0466k+356gU6k6KANnVBUAwH+s7TUAGVow8J+ATO+EHRIe','x+w8GowqR+AxPEEfP+MyTow9Sq','pc9IDxr0B24+cIaGicaGicaGicaGicaGicaGidWVzgL2pG','C2v0q3vYC29Y','CMfKAxvZBgLTAxq','y2HHBMDL','x2rYyxDFAg9Szxm','BM9bBhq','Bg9Uz2L0DwrLu2HPzNq','BwfYA2vYlwnVBg9Y','Bw9VBG','yM9YzgvY','twfWyM94tgf5zxi','x2zPCMLUz0nVDw50','rM9YBwf0tgvUz3rO','zxHWsw1Hz2u','q2LYy2XLv2f2zu1HDgvYAwfSuhjVCgvYDhK','x2XHC3rFzMLYzvbVC2L0Aw9U','CMvTB3zLqwXS','x2zPCMvcAw5Krgf0yuv4','DMvJncGXlJaP','x2HPzxjHCMnOEq','tgLNAhrdB25L','CgLJAZnevgLSzxnLDa','C3rZ','tgLUzurHC2HbCNjVDW','B25JB250zxH0BwvUDq','tMv3ieLUDgvYBMf0Aw9UywWGmtK2nW','x3LiywXMqw5NBgu','z2v0sw50zxjZzwn0ug9PBNq','x1bVAw50rwrPDf9Ax1rsqu5ttefusu9o','x2fKzenHBwvYyvzPzxC','z2v0ug9ZAxrPB25cEu9Yz2LUtwf0CML4','x+wiOoMzPoIVPEEcUq','r29Vz2XLsw1Hz2vYEvbYB3zPzgvY','ywrKsxrLBq','x2nVBNrHAw5LCLrVB2X0Axa','x1bLCNnWzwn0AxzLrNj1C3r1Bv9JBg9Uzv9VBgq','x+AlLUAlVEIWG+AvTowBM+wrQoAwUEwqKEINKG','DgL0Bgu','B3jPzw50yxrPB25tAg93','C3rHCNrbBMDSzq','z2v0rw50Axr5qxr0CG','D29Yza','Bgf5zxjtAg93BK9YsgLKzgvU','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkDw5PzM9YBsbIB29Sigf4AxnzoWP1BMLMB3jTigjVB2WGBwL4DdSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIbZDca9ihjLCgvHDcaQig1HDgvYAwfSsw5WDxqUC3q7cGOGihzLyZqGAw1Hz2vnyxjZm0q7cIaGAwyOC3bLzwqGit0Gmc4Wksb7cIaGicbMBg9HDcbJDxjYvgLTztSkicaGigLMkhrPBwuGpcaWlJaPihSkicaGicaGy3vYCLrPBwuGpsbZCgvLzcaQign6Bv9MCMfTzu51BwjLCIaVideWmdaUmdSkicaGih0GzwXZzsb7cIaGicaGign1CNjuAw1Lid0GDgLTztSkicaGih0kicaGigLTywDLtwfYCZneid0GDgv4DhvYzsHPBwfNzsWGDMvJmIHMCMfJDcGOyxHPC1KGpYbZDc50idOGC3qUCYKGlsbJDxjYvgLTzsKSihn0lNqPktSkicb9igvSC2uGEWOGicaGAw1Hz2vnyxjZm0qGpsb0zxH0DxjLkgLTywDLlcbZDcK7cIaGFqOkicbPzIHJB2XVCI5Hid09idaUmcKGEWOGicaGAwyOAw1Hz2vnyxjZm0qUCMDIid09ihzLyZmOms4WksKGEWOGicaGicbKAxnJyxjKoWOGicaGFqOGih0kcIaGAwyOAgfZsw1Hz2uYksb7cIaGic8V5A2y5zYO6iom5PMV5zU+54MhcIaGicb2zwm0igLTywDLqKCGpsb0zxH0DxjLkgLTywDLmIWGC3qPoWOGicaGAwyOAw1Hz2vcrY5Hice9idaUmcKGEWOGicaGicbPzIHJB2XVCJiUCMDIid09ihzLyZmOms4WksKGEWOGicaGicaGig1HDgvYAwfSlMfSCgHHid0GAw1Hz2vcrY5HicOGz2XVyMfSqwXWAge7cIaGicaGicaGBwf0zxjPywWUzgLMzNvZzsa9igLTywDLqKCUCMDIoWOGicaGicb9igvSC2uGEWOGicaGicaGig1HDgvYAwfSlMfSCgHHid0GAw1Hz2vcrY5HicOGy29SB3iYlMeGkIbNBg9IywXbBhbOytSkicaGicaGicbPzIHTAxH0kqOGicaGicaGicaGBwf0zxjPywWUzgLMzNvZzsa9ig1HEcHPBwfNzujhlNjNyIaQignVBg9YmI5Yz2iGkIbTyxrLCMLHBc5HBhbOysaQidmUmcWGAw1Hz2vcrY5Yz2iGkIbJB2XVCJiUCMDIktSkicaGicaGicbLBhnLcIaGicaGicaGicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3iYlNjNyJSkicaGicaGFqOGicaGicbYzxr1CM4GBwf0zxjPywW7cIaGicb9cIaGFqOkicaVl+s4U+wBVUEjHWOGigLMkgnVBg9YlNjNyIa9psb2zwmZkdeUmcKPihSkicaGig1HDgvYAwfSlMfSCgHHid0GAw1Hz2vnyxjZm0qUysaQigDSB2jHBefSCgHHoWOGicaGBwf0zxjPywWUzgLMzNvZzsa9igLTywDLtwfYCZnelNjNyJSkicb9igvSC2uGEWOGicaGBwf0zxjPywWUywXWAgeGpsbPBwfNzu1HCNmZrc5HicOGy29SB3iUysaQigDSB2jHBefSCgHHoWOGicaGAwyOBwL4DcKkicaGicaGBwf0zxjPywWUzgLMzNvZzsa9ig1HEcHPBwfNzu1HCNmZrc5Yz2iGkIbJB2XVCI5Yz2iGkIbTyxrLCMLHBc5HBhbOysaQidmUmcWGAw1Hz2vnyxjZm0qUCMDIicOGy29SB3iUCMDIktSkicaGigvSC2ukicaGicaGBwf0zxjPywWUzgLMzNvZzsa9ignVBg9YlNjNyJSkicb9cGOGigLMkgjNq29SB3iUysa+idaUmcaMjIbTyxrLCMLHBc5HBhbOysa9psaWlJaPihSkicaGig1HDgvYAwfSlMfSCgHHid0GyMDdB2XVCI5HicOGz2XVyMfSqwXWAge7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GyMDdB2XVCI5Yz2i7cIaGFqOkicbYzxr1CM4GBwf0zxjPywW7cN0k','z2XVyMvuCMfUC2X1y2vUy3LgCMfTzwj1zMzLCG','Dg9ezwDYzwvZ','Cg9ZAxrPDMvy','D2zZ6k+35Rgc5yE66zsz','zxHJBhvKzwrlzxLZ','x2XPz2H0q2fTzxjH','y29VCMrFDhLWzq','DgLHBMrPDhvbCNi','DM9SDw1L','y29TChv0zvnJCMvLBLnWywnLug9ZAxrPB24','zgvZy3jPChrPB24','BgLUzvDPzhrO','z2v0rxH0zw50','BwLU','x2n6BunVBNrYB2XlzxK','y29Uy2f0','x29UtwfYA2vYrhjHz1n0yxj0','C3rHCNrdB21WDxrL','rMfPBgvKihrVigrLDgvJDcbUywrNCMLKigvUzgLHBI1UzxnZlcbKzwzHDwX0Aw5NihrVigXPDhrSzs1LBMrPyw4','y29ZBgf0ma','x3jLBw92zwriB29R','C3rVCfbYB3bHz2f0Aw9U','Dw5IAw5Kug9WDxa','DxbhCMfWAgLJ','x2LUAxrmyxLLCG','y3PTt2jQzwn0rxG','CM5InZi','AgvPz2H0oG','CgfNzvnPEMu','tevgva','CgfZC1n0yxrL','mtaWjq','z2v0sgvHzgLUz1bPDgnOuM9SBa','x3nLy29Uza','u3bSAxreAxjLy3rPB24','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptKZicTRpteGk3HFmd0XnJuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','Bg9HzgLUz0rLC2nLBMrHBNrmAw1PDa','D2vICMq','BNvTyMvY','x3nOB3DxywXS','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYosaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','su5jveLbteLAruq','56M66zE06lED56A7','rNvSBfnJCMvLBG','x3bVC2L0Aw9UC19JAxjJBgvFEa','CxvLCNLuExbL','vMLKzw8Zra','vMvSB2nPDhLwzwn0B3jqCM9Wzxj0Eq','Bg9HzejLzM9Yzq','pgXPignSyxnZpsjSAw5LiJ48l2XPpG','quzbrKfg','Cg9SEwXPBMvtDhLSzunVBNzLCG','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptGXicTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','DgLSzvHzvg9oyxrPDMvszwn0yw5NBgu','ug9ZAxrPB25qCM9Wzxj0Eq','wv9vuf9ut19yx1vq','C3rYAwrLsw5cExrLCW','rvbtrZO0ntiW','D2DZ','y29TChv0zvrPBgvmB2fKuhjPB3jPDhK','x3bVC2L0Aw9UC19JAxjJBgvFEq','zNjVBurHDgu','x2XHC3reEw5HBwLJug9ZAxrPB24','x2DLDeDLB0PZB25hzw9TzxrYEq','rvbtrZO0ndK4','z2v0t3jPzw50yxrPB24','x3bVC2L0Aw9UC1DHBgW','yMv6AwvYu3bSAw5L','q2fTzxjHrxzLBNruExbL','r2XVyMu','y3vYC29Y','qMLSBgjVyxjK','uKfesufou19qrvjFrevhuKvf','yMLUzfrLEhr1CMu','yNvPBgrnB2r1BgvvCMW','CMvTB3zLq29UDhjVBa','Cg9PBNrLCKv2zw50CW','uKvgsu5fra','vgr0ue9jioIVT+AXGUwhUUMuMq','x2vUDgL0Eq','yM9YzgvYt3bHy2L0Eq','tg9Uz2L0DwrLx09Mx0nLBNrLCG','rgvIDwDnB2rLBe1HDhjPEfbYAw1PDgL2zq','z2v0vxjSq29TCg9Uzw50','x2vUywjSzwrfzgL0','C2HVD1nJyw5qBgfUzq','x3jVDgf0zq','zxzLBNq','vgv4DhvYzu1PBMLMAwnHDgLVBKzPBhrLCG','qxjJvhLWzq','q09mvu1omvjpvZa','DgHLx2DLB20','rwrPDenSyxnZ','y29Zz2fT','x2XHC3rFAgfZtNvSBa','x3bVChvWtwDY','CMfPBKvMzMvJDa','C2HVD051BgW','z2v0u2XVCgvdB250B3vYtwf0zxjPywW','C3bLzwq','x2nVBNzLBNrnyxjZt3b0Aw9UCW','CgfYyw1LDgvYCW','zNj1C3r1BunVBw1HBMrZtgLZDa','zgvNCMvLCW','rgLNAxrHBezSB3C','DgLTzxrPAW','y2XVC2vwDxj2zq','se9mra','y3vYCMvUDe9IAMvJDa','x3rPBgvZvg9szw5KzxjcEvrLEhr1CMvdB3vUDa','ywrKsgvPz2H0','DgfU','tgf0Axr1zgvFB2zFy2vUDgvY','x3vWzgf0zvn0EwXLqNLfzgL0','x29U','x3bPy2TPBMC','zM9NrwzMzwn0','C3rYB2TLq29SB3i','zgvWDgG','DhLWzu5HBwu','qNjPz2H0BMvZC0vMzMvJDfLLCW','B3jPz2LUywW','y29ZyJe','DgfIsw5KzxG','Ew1PBG','Bwf4Aw11BunSB2nRrgvNCMvL','x2nSyw1Wvg9hCM91BMq','vgvYCMfPBLbYB3zPzgvYvg9VBhrPCa','DgvYCMfPBLbYB3zPzgvY','Aw5Zzxj0sw5KzxG','zgLZywjSzurLChrOvgvZDerPC3rHBMnL','BwLKzgXLrg93BG','tgLUzvn0CMLUzW','twvHC3vYzurPC3rHBMnL','zgfYA0nVBg9Y','5BYa5zcV5PEL54wN6zI05B2X','Aw5MAw5PDhLFzgLZDa','tu9vu0vFtu9wrq','zhjHD1nOB3C','zMvYCM8','Cg9ZAxrPB25uB1rPBgvywq','BgLNAhrdyw1LCMe','zgvZDhjVEunVBw1HBMrZ','zgvWDgHnyxnR','x3vWzgf0zq','zgvSyxK','Cg9PBNrtDhLSzunVBNzLCG','Bg9UBgf0','x21HEgLTDw1eAxn0yw5Jzq','BNvTyMvYt2zezxjPDMf0AxzLCW','uMfPBKvMzMvJDe5V','Ahr0CdOVl2L0CY5TyxaUyMfPzhuUy29ToJGWmdiVDhjHzMzPyY9uCMfMzMLJvgLSzvnLCNzPy2u/Ed17Eh0MEt17Ex0MBgv2zwW9E3P9jNrPBwu9','y29SB3i','x3bVC2L0Aw9UC19SAw5Lx3K','quXqsefFqKXftKq','vMvSB2nPDhLpCMLLBNrHDgLVBLbYB3bLCNr5','vfjjqu5htevt','Dw5PzM9YBsbZyw1WBgvYq3vIzsb1x2n1yMvnyxa7cNvUAwzVCM0GC2fTCgXLCKn1yMuGDv9JDwjLtwfWmJSkDw5PzM9YBsbZyw1WBgvYq3vIzsb1x2n1yMvnyxaZoWP1BMLMB3jTigzSB2f0ihvFC2vSzwn0oWPPBIb2zwmZihzFDgv4q29VCMq7cGP2B2LKig1HAw4Oksb7cIaGDMvJncbMCMfNq29SB3i7cIaGAwyODv9ZzwXLy3qGpd0Gmc4Wksb7cIaGicb2zwm0ignVBg9Yid0Gy3PTx3rLEhr1CMvdDwjLkhvFy3vIzu1HCcWGBM9YBwfSAxPLkhzFDgv4q29VCMqPktSkicaGigzYywDdB2XVCIa9ihzLyZqOy3PTx2DHBw1Hq29YCMvJDcHJB2XVCIKUCMDIlcbJEM1FBw9YCgHuAw1LktSkicb9igvSC2uGAwyODv9ZzwXLy3qGpIaWlJaGjIyGDv9ZzwXLy3qGpd0Gms4Wksb7cIaGicaVlZaUmowiSdeUmaOGicaGDMvJncbJB2XVCIa9ign6Bv90zxH0DxjLq3vIzsH1x2n1yMvnyxaSig5VCM1HBgL6zsH2x3rLEenVB3jKksK7cIaGicbJB2XVCIa9ihzLyZqOy3PTx2DHBw1Hq29YCMvJDcHJB2XVCIKUCMDIlcbJEM1FBw9YCgHuAw1LktSkicaGihzLyZqGy29SB3jnyxjZm0qGpsbJEM1FDgv4DhvYzun1yMuODv9JDwjLtwfWmIWGBM9YBwfSAxPLkhzFDgv4q29VCMqPktSkicaGignVBg9YtwfYCZneid0GDMvJncHJEM1Fz2fTBwfdB3jYzwn0kgnVBg9YtwfYCZneks5Yz2iSign6Bv9TB3jWAfrPBwuPoWOGicaGzNjHz0nVBg9Yid0GBwL4kgnVBg9YlcbJB2XVCK1HCNmZrcWGDv9ZzwXLy3qPoWOGih0GzwXZzsb7cIaGicaVlZ49ms4WcIaGicb2zwm0ignVBg9Yid0Gy3PTx3rLEhr1CMvdDwjLkhvFy3vIzu1HCdiSig5VCM1HBgL6zsH2x3rLEenVB3jKksK7cIaGicbJB2XVCIa9ihzLyZqOy3PTx2DHBw1Hq29YCMvJDcHJB2XVCIKUCMDIlcbJEM1FBw9YCgHuAw1LktSkicaGihzLyZqGy29SB3jnyxjZm0qGpsbJEM1FDgv4DhvYzun1yMuODv9JDwjLtwfWmYWGBM9YBwfSAxPLkhzFDgv4q29VCMqPktSkicaGignVBg9YtwfYCZneid0GDMvJncHJEM1Fz2fTBwfdB3jYzwn0kgnVBg9YtwfYCZneks5Yz2iSign6Bv9TB3jWAfrPBwuPoWOGicaGzNjHz0nVBg9Yid0GBwL4kgnVBg9YlcbJB2XVCK1HCNmZrcWGDv9ZzwXLy3qGlsaXlJaPoWOGih0kicbVDxrFrNjHz0nVBg9Yid0GzNjHz0nVBg9YoWP9cG','z2v0rwXLBwvUDhncEvrHz05HBwu','yw5JAg9Y','CM90yxrLug9PBNq','Dg9uB3a','x3bVChvWug9ZAxrPB24','yM9SzcaYnxb4iefYAwfS','x+wnLEwhU+wUJoAiKoE7MowiTG','Ahr0CdOVl2fWAxTZFs5TyxaUyMrPBwCUy29Tl2n1C3rVBwLTywDLl3rPBgu/jNG9E3H9jNK9E3L9jNO9E3P9jNnJywXLpteMy3vZDg9TAwq9','q3vIzvzPzxC','C2v0qMfZzw1HChnpChrPB25Z','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkDw5PzM9YBsb2zwm0ignVBg9YoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicbTyxrLCMLHBc5KAwzMDxnLid0Gms41icOGy29SB3iUCMDIoWOkicbMBg9HDcbJDxjYvgLTzu1HCNmZrdSkicbPzIH0Aw1LidWGmc4Wksb7cIaGicbJDxjYvgLTzu1HCNmZrca9ihnWzwvKicOGy3PTx2zYyw1LtNvTyMvYic8GmtaWmc4WoWOGih0GzwXZzsb7cIaGicbJDxjYvgLTzu1HCNmZrca9ihrPBwu7cIaGFqOkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicbMBg9HDcbKAxmGpsbKAxn0yw5JzsHZDcWGDMvJmIGWlJuSidaUnsKPoWOkicbPzIHJB3vUDca9psaXlJaPihSkicaGigLMkgn1CNjuAw1LtwfYCZneid09idaUmcKGEWOGicaGicbTyxrLCMLHBc5HBhbOysa9ignVBg9YlMeGkIbKAxmGkIbNBg9IywXbBhbOytSkicaGih0GzwXZzsb7cIaGicaGigzSB2f0ihbLCIa9igzYywn0kgn1CNjuAw1LtwfYCZnektSkicaGicaGAwyOzgLZid4GCgvYicOGmc41ksb7cIaGicaGicaGzgLZy2fYzdSkicaGicaGFsbLBhnLihSkicaGicaGicbTyxrLCMLHBc5HBhbOysa9ignVBg9YlMeGkIaOzgLZic8GCgvYic8GmI4WksaQigDSB2jHBefSCgHHoWOGicaGicb9cIaGicb9cIaGFsbLBhnLihSkicaGihzLyZmGC3rYid0GBwf0zxjPywXjBNb1Dc5ZDhi7cIaGicbPzIHHyNmOC3rYlNOPid4Gmc4WmdePihSkicaGicaGzgLZy2fYzdSkicaGih0kicaGigLMkgrPCYa+idaUnsKGEWOGicaGicbKAxnJyxjKoWOGicaGFsbLBhnLihSkicaGicaGzMXVyxqGCgvYrgLZid0Gmc41ic8Gy291BNq7cIaGicaGigzSB2f0igrPC051BtSkicaGicaGzMXVyxqGyMWGpsaWlJa7cIaGicaGigzVCIHMBg9HDcbPid0Gmc4WoYbPidW9idK5lJa7igKGkZ0Gms4Wksb7cIaGicaGicaGAwyOAsa8psbJB3vUDcKGEWOGicaGicaGicaGzgLZtNvTid0GCgvYrgLZicOGAsaTigrPCYaRigzYywn0kgn1CNjuAw1LtwfYCZneksaVignVDw50oWOGicaGicaGicaGAwyOzgLZtNvTid4Gmc4Wksb7cIaGicaGicaGicaGigLMkgrPC051Bsa8ihbLCKrPCYKGEWOGicaGicaGicaGicaGigjSid0Gms4Wic0GzgLZtNvTic8GCgvYrgLZoWOGicaGicaGicaGicb9igvSC2uGAwyOzgLZtNvTic0GCgvYrgLZidWGCgvYrgLZksb7cIaGicaGicaGicaGicaGyMWGpsaXlJaGlsbHyNmOms4Wic0GzgLZtNvTic8GCgvYrgLZktSkicaGicaGicaGicaGFqOGicaGicaGicaGicbTyxrLCMLHBc5HBhbOysa9ihbVDYHIBcWGkdeUmcaRideWlJaGkIaOms4Wic0Gz3jHzgLLBNqPksKGkIbJB2XVCI5HicOGz2XVyMfSqwXWAge7cIaGicaGicaGicb9cIaGicaGicaGFqOGicaGicb9cIaGicb9cIaGFqOGihjLDhvYBIbTyxrLCMLHBdSkFqO','CMvWzwf0wa','DMvYDgLJzxm','CgfYyw1Z','x3bVC2L0Aw9U','zM9YBwf0rgf0yq','Dgv4DhvYzvDLyK1LCMnHDg9Y','CMvHzhLqCM9TAxnL','twLWBwfWsgLUDa','C2nHBgvcEurPC3rHBMnLx25LyxjwywX1zq','x2XHEwvYt3jKzxjdAgfUz2vK','CMDIkde2idiZocaYmJaP','x3jVDgf0zuzYyw1L','tMvHCKzHCLnJywXHCG','x2LTywDLCNLmyxLLCNm','zgL2sgvPz2H0','B25dAgfUz2u','yxv0B3bSyxK','yNv0Dg9U','Bwf4Aw11BuXLDMvS','vgLSzxnLDfDPCMvMCMfTzu5V','x3n1CMzHy2u','rM9YBwf0qwX0tgvUz3rO','BgvYCa','x+s/RUAuUEE8QEAuVUAVLos+IW','z2v0uhjVCgvYDhLoyw1LCW','x3HiywXMqw5NBgu','BwfYCZnKlwXVy2f0Aw9UyMfYig5VlxbYAw50ia','ug9SEwXPBMvhBg93vhLWzq','A2v5Dxa','yMfZzw1HCa','Dg9VBhrPCa','x3vWzgf0zvn0EwXLqMfZzuHVB2S','xZb4ntmYzte5','ueLFt1zfuL9uv08','rgvNCMvL','zgvWDgHcAwfZ','zMeGzMeTBwvKAxvT','lti2mY4WldyUmcW0mZeUma','x21HDhjPEe1VDMu','C2v0vMLLDW','C3rHCNruAw1L','ve9qx1jpvefurq','vgLSzu1HDhjPEa','x2nYzwf0zuKZu0rHDgfqCM92AwrLCG','Bgf0mG','uMvJDgfUz2XLq29TyMLUzq','x3nLy3rVCKzYB250q29TBwfUza','x2HHC1jLBw92zuvSzw1LBNq','CMf0zxHW','AgLNAgXPz2H0rw5HyMXLza','Dg9VBej1DhrVBG','x3bYAw1PDgL2zti','yxjYyxLszw1VDMveDxbSAwnHDgvZ','Dw5IAw5KvxbKyxrLrxzLBNq','x2XHC3rFCgXHBMvhCMfWAgLJCW','y2vZAxvTlw5HDMLNyxrPB24TAgvSCc1KzxrHAwXZ','Ag9YAxPVBNrHBa','DxbKyxrLtw9KzwXnyxrYAxG','z2v0uMvXDwLYzwreyxrHug9PBNrZ','Cg9SEwDVBKm','vgfZAW','x2nYzwrPDa','ChjLDMvUDerLzMf1Bhq','Bw92zvzHCG','CgL4zwXpzMzZzxrty2fSzuj5rgLZDgfUy2vFBMvHCG','EM9Uzu51BwjLCG','CMfKAxvZx2XPBwL0','DgvTCa','x+wVVowhUUAwH+s7TG','zMX5vg9fEhrLBNq','q29UzvrYywnRuhjPBwL0AxzL','twf0zxjPywW','5QIQ5z2q5Qch','C2vSzwn0zwrmyxLLCG','x3nREwjVEe1HDhjPEdm','z29oB3C','x3bVC2L0Aw9Ux3jLC3vSDa','kf58jIK','Bw91C2v1Ca','zgf0ys5TyxjZm2qUy24','zw50Axr5qw5NBgu','BNvTyMvYt2zmzxzLBfPLCM9uAwXLC1G','rvbtsuXptJy','zxHW','CMDIysGWldaSmJu1ldaUmIK','y29Zx3bV','AgfZuMv2B2TL','BwfYC19VCNrOB2DYyxbOAwnnyxrYAxG','C2vJB25KC0rPzMzLCMvUy2u','6k+L5yQF6io96zYa6kAb5BYv5ywLBwfYCZnK5l+U5Ps554Miq2vZAxvT5BQtkg1HCNmZzc1JzxnPDw3LUPmP5OMn5PsV5OYbiq','y2f0y2G','DMvYDgv4qxjYyxK','y3jLyxrLvMvYDgLJzxm','zgLZDgfUy2u','y3vZDg9TuhjVAMvJDgLVBK1HDhjPEa','C3rVCevKAxrPBMC','u2nYzwvUu3bHy2vfDMvUDeHHBMrSzxi','CMf5rwXSAxbZB2LK','DMvYDgv4qwrZB3jWDgLVBG','ChjLBg9HzfnPyMXPBMDZ','zMv0y2HytuW','q09mvu1omLjpvZa','z2v0uMfUz2u','BwvYz2u','Cg9SEwDVBG','BxvSDgLWBhK','Dw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFzMXVB2rFDgv4DhvYztSkDw5PzM9YBsbTyxq0ihvFBwfYCZnKx2zSB29Kx2LUDMvYC2vnyxrYAxG7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFCMfKAxvZoWOkDw5PzM9YBsbIB29SihvFBwfYCZnKx2zSB29Kx2vUywjSzwq7cNvUAwzVCM0GDMvJncb1x21HCNmZzf9MBg9Vzf9JB2XVCJSkDw5PzM9YBsbIB29SihvFBwfYCZnKx2zSB29Kx2zSB29KqwXSoWP1BMLMB3jTigzSB2f0ihvFBwfYCZnKx2zSB29Kx2n1CNjLBNrOzwLNAhq7cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFzMXVB2rFBwLUx2HLAwDODdSkDw5PzM9YBsbIB29SihvFBwfYCZnKx2zSB29Kx2XPBwL0twLUoWOkDM9PzcbMCMfNBwvUDe1HAw4OrNjHz21LBNrjBNb1DcbMC0LUChv0lcbPBM91DcbJEM1FBw9KzwXnyxrLCMLHBcbTyxrLCMLHBcKGEWOGihzLyZmGCg9ZAxrPB25nqYa9igzZsw5WDxqUyxr0CMLIDxrLCY5WB3nPDgLVBK1doWOGihzLyZqGCg9ZAxrPB24Gpsb1x21HCNmZzf9MBg9Vzf9PBNzLCNnLtwf0CML4icOGy3PTx21VzgvSicOGDMvJncHWB3nPDgLVBK1dlcaXlJaPoWOkicbPzIH1x21HCNmZzf9MBg9Vzf9LBMfIBgvKksb7cIaGicb2zwm0ignVBg9Yid0GDgv4DhvYzsH1x21HCNmZzf9MBg9Vzf90zxH0DxjLlcaOCg9ZAxrPB24UEhKGkYb1x21HCNmZzf9MBg9Vzf9YywrPDxmPic8GDv9TyxjZm2rFzMXVB2rFCMfKAxvZic8GmI4WktSkicaGigLMkhvFBwfYCZnKx2zSB29Kx2zSB29KqwXSihX8ignVBg9YlNiGpIaWlJaPihSkicaGicaGzMXVyxqGAgvPz2H0id0GCg9ZAxrPB24UEJSkicaGicaGAwyOAgvPz2H0idW9ihvFBwfYCZnKx2zSB29Kx2n1CNjLBNrOzwLNAhqGjIyGkcf1x21HCNmZzf9MBg9Vzf9SAw1PDe1PBIb8Fcb1x21HCNmZzf9MBg9Vzf9TAw5FAgvPz2H0idW9igHLAwDODcKPihSkicaGicaGicbTyxrLCMLHBc5KAwzMDxnLid0GBwL4kg1HDgvYAwfSlMrPzMz1C2uSihvFBwfYCZnKx2zSB29Kx2nVBg9YlNjNyIWGDv9TyxjZm2rFzMXVB2rFy29SB3iUysK7cIaGicaGih0kcIaGicb9cIaGFqP9cG','x29Utw91C2vnB3zL','57Yw6l6r5PE2x21HCos4JEIdVEs4UUEPUIZOR7FLSiBLR7NOSAhMT7VLIQdLIlbnyxa','DMLLD3m','vu5jvf9y','y29UDhjVBhm','CgXHBMvtDhLSzunVBNzLCG','iIb2ywX1zt0I','i3r4Dc1JBg9JA0fUAw1HDguTywXS','zgLTzw5ZAw9UC196','q29SB3i','C2LKzxnxAwr0AfjHDgLV','z2v0rwXLBwvUDhncEunSyxnZtMfTzq','zNjHBwvoDw1Izxi','y2XLyxjnB3zLvgfYz2v0rgvSyxK','q0vovevs','x2HHC1rLCNjHAw5tAgfKB3DZ','CgfYzw50q29UDgfPBMvYswq','Bw9KzwXuB1DVCMXK','D2LSBfjLywrgCMvXDwvUDgX5','y29TChv0zvrPBgvwAxnPyMLSAxr5','r2v0rMvHDhvYzq','C3rHBMrHCMrFCgfYywXSzwXFmq','su5urvjtrunusu5h','x+MDOUENRW','ntmWChG','BwLKBMLNAhq','u2HHzg93wwvZ','r2f1C3mGs3j1z2vY','x3bYAw1PDgL2zq','Dv90zxH0DxjLvxnLv2vItwvYy2f0B3ju','CgHPyZa','C2nLBMvgCMfTzwj1zMzLCG','x3zPCNr1ywXdyw1LCMe','ANnVBG','x+AmLUAwUEs9K+ENRW','zM9N','twfYCZnex1rVDgfSq29SB3jZ','q194','q29TBs4GzgvZifbVAwrZigv0ie1LC3vYzxmGmtC5oq','y29UDgv4De1LBNu','CMvJDgfUz2XLtM9YDgHLyxn0sw5nzxrLCNm','y29UDhjHC3q','rvbtrZO0ntuZ','B3bLBLnTywXSvg9VBhrPCa','CMvMzxjLCG','Aw5KzxG','CgfYzw50u2vSzwn0zwq','x2n6BunVBNrYBa','5BYa5zcV5lIl6zUQ','y2X1C3rLCKL0zw1dAgfUz2u','x+s9JEE9RUs/OEAbRW','Bg9Hzen1yMvnyxa','Ag9Szxm','v210C0XHEwvY','x3nLDenVBg9Yu3r5BgvjDgvT','C3rYzwv0DMLLDW','x3rHCMDLDfbVAw50','x2vUDgL0Ev9VDxrSAw5LCW','x3bSyw5Lt3b0Aw9UCW','z2v0ugLJA1jHEq','zgjSq2XPy2S','Dg91y2HJyw5JzwW','BwLUEa','x3DHBgXfBNrPDhK','x29YyML0sxnmB29R','z2v0qxzHAwXHyMLSAxr5u2HVDW','x2rPDKHLAwDODa','AgfZtwLKug9PBNq','vKvsvevyx0zpuK1bva','zMX5vg9qB3nPDgLVBNm','y29UDhjVBa','x+E8QEwWJW','x2HHC0vKAxq','x2nYzwf0zujVDhrVBvn1CMzHy2u','zgvMyxvSDefJy2vZC1rVA2vU','y3vZDg9TvgfNCW','C2v0sw5WDxrby3rPB24','5OYj6l205BMZ56E7','x+AGH+IUSoEcUq','zMeGzMeTzgfZAgjVyxjK','v0DtnW','iZi3ndDfma','Een1Da','CgHP','y2XVC2vtBwfSBfrVB2X0Axa','Bg9Nv2fYBG','tw91C2u','z2v0t3v0BgLUzq','zNjHz21LBNrtAgfKzxjtB3vYy2u','x2XHC3rFy29UDgv4Dg1LBNvdB25MAwC','CM9Tzq','zNjVBunHCNrLC2LHBJm','yM91BMrPBMDwB2X1Bwu','q2LYy2XLr2vVBwv0CNK','CgfNzv9ZAxPL','y2fTzxjHtw92zuvUza','ChjVy2vLza','DxbKyxrLvM9SDw1L','5ywZ6zET5yYf5zU055Us','iIbZDhLSzt0ICg9ZAxrPB246igfIC29SDxrLoW','zgvZDhjVEq','x2nHBwvYyvjLzMvYzw5JzuzYyw1Lt3jPz2LUq2fYDg9NCMfWAgLJ','re9vqKXf','ywrKqxjLyq','CMDIysGWldiZncWWldaUmduP','y3PTx3nUB2LZzq','x2rLzMf1BhrFEM9VBuv2zw50vhLWzxm','te9dquXFq1m','DgvTCgXHDgu','vKvsvensuW','u2nYzwvUu3bHy2vfDMvUDfr5Cgu','uMvJDgfUz2XL','x3bYB3bLCNr5tMfTzxm','CMDIysGYntuSidi1nsWGmJu1lcaWlJiP','x3bSyw5Lqw5NBgu','y3jLyxrLugLJA0zYywDTzw50u2HHzgvYu291CMnL','ywrKtwf0zxjPywW','AgvHzfDPzhrOrMfJDg9Y','C2fTCgXLvgvYCMfPBK1VC3rezxrHAwXLza','ChG7AgvPz2H0oIa','ywnJDxjHy3K','BgvMDa','x2nVBNzLCNnPB25tDhLSzq','Ag9YAxPVBNrHBe9YAwDPBG','B3jPz2LUywXszxn1Bhq','y29SB3jpChrZq29UDMvY','ywrKrxzLBNrqyxjLBNq','ywrKq29SB3jtDg9W','ug9SEwXPBMvdB2XSzwn0Aw9U','ChjLCgfYzvrLEhr1CMu','x29UqwrK','x2LUAxrcEu1HCNmZra','z2v0vgLTzxn0yw1W','qvjfqv8X','x2DLDezSywDgB3jlzxLdB2rL','x+AmIEI9Tow5S+ENUW','CM9PCW','y2fYDgvZAwfUvg9dyxj0B2DYyxbOAwm','zxf1ywXZ','zgf0Dw1dB2rL','x3nTywXStwfW','mtu2nZiWsuDjr3jo','BwLUAw11BuHLAwDODa','y2XLyxjeCMf3Aw5N','x3POu3r5Bgu','AgfZqwjZ','Aw1Hz2vYEvbYB3zPzgvY','x21LDgfKyxrHu3vJy2vZCW','x2LZrMLYzuvUzev2zw50','zM9YBwf0ug9ZAxrPB24','x3zPC2LIAwXPDhLFDhLWzq','CMLNAhrxqW','DxbKyxrLugfZCW','z2v0r3jHCgHPyW','x2XHC3rFy2XPy2TqB3nPDgLVBLG','uhjVAG','y29UzvrYywnR','DgLSzxnmB2fKzwq','Bw91C2vnB3zLvgfYz2v0','x2DYyxbOAwnFCM90yxrLx3K','DgvY','DLP2A0ftA2XxuxzI','BwfYCZnKlwnVBxbHC3mTCM90yxrPB24TyxjJ','x3bVC2L0Aw9UC19MAxjZDa','ioAVLos+I+wWUG','uxvLCNLbCMntzxj2zxiG6k+35Rgc5yE66zsz','x3vWzgf0zvbVC2L0Aw9U','x3rLCNjHAw5izwLNAhq','Bgf0Axr1zgu','DgfYz2v0','BwLKCg9PBNq','yM9NB3rH','qMLSBgjVyxjKrw50Axr5','AxnjBM5LCG','Cg9SEq','zgvIDwDfEhrLBNrfBNrPDhK','C2v0q2fTzxjHvMLLD0XPC3q','y29TChv0zvbVC2L0Aw9U','ChjLDLn0ywDLrxHLy3v0zq','sgvPz2H0vhjPyw5NBgvnzwfZDxjL','tgLUzuzSB3DnyxrLCMLHBfbYB3bLCNr5','rhjHD0vKAxrzzxm','BMfKz3jPza','x2HHC0nOyw5NzuvUywjSzuLUChv0CW','zMfYrgLZDgfUy2u','B25SEvbPy2TnB2rLBfbVC2L0Aw9U','BM9nyxrYAxHnB3zLwG','BgLZyM9U','x2jPBMrdB250CM9S','DNnJywXL','zMfY','CgLUy2HtDgfYDa','6kEs5BQM6lcd5Pw05BQv6yoO5zYg','AgfZrhjHD0rLBfbVAw50','cIaGicaGicaGpgrPDIbJBgfZCZ0IBwfYCZnKlxbVChvWlwnVBNrLBNqTD3jHChbLCIbTyxjZm2qTCg9WDxaTyMfJA2DYB3vUzci+cIaGicaGicaGica8zgL2igLKpsjWB3b1Cc0','5BYa5zcV5OU+5y+w6AUy5lQU','Dv9TyxjZm2rFy29SB3jJB3jYzwn0Aw9Ux2nVBNrYyxn0','x251BwjLCK9Mug9PBNrZ','tevgvf9st1rbveu','yxjYsgjNza','CMvJDgfUz3vSyxjtzw5ZB3i','C3rY','y29Zx3aXna','yMLUzerYywDNzxjZ','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptGXicTRpteGk3HFmd0XnduWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','x3nJyw5sywrPywXdB21Tyw5K','x29YAwvUDgf0Aw9Ux3nOB3C','AhrTBa','y29UDgfPBMvY','5A+85yE65PAh5lU2','x2nSyw1Wvg9hCM91BMrFBgfZDa','ugXLC3nPCYaXode3icHgCMfUy2uP','DgLTzvjLBMrLCG','x29YyML0tw91C2vnB3zLrNvUy3rPB24','zgLZDgfUy2viB3jtDhi','ChjVAMvJDa','x+s/RUAuUEwnIUw+Ha','rwrPDef0Dhi','Aw5MB2nVzgu','usPWma','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0ihnWzwvKoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicbMBg9HDcb0Aw1Lid0GzNjHy3qOy3PTx2zYyw1LtNvTyMvYicOGC3bLzwqGlYaXmdaWlJaPoWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGigzSB2f0ihnJywXHCK1HCNmZrca9ihnTB290Ahn0zxaOmc4WlcaXlJaSihrPBwuPoWOGig1HDgvYAwfSlMrPzMz1C2uGpsbJB2XVCI5Yz2iGkIbZy2fSyxjnyxjZm0q7cIaGBwf0zxjPywWUywXWAgeGpsbJB2XVCI5HicOGC2nHBgfYtwfYCZneicOGz2XVyMfSqwXWAge7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','x3n0yxj0','C2XPy2vcEu1HEerPC3rHBMnL','x3bYAw1PDgL2ztm','x3jVDgf0zuLUAxrPywXdDxjZB3jbBMDSzq','zgvIDwDbEgLZuhjPBwL0AxzL','C2HHzgvYq2fJAgu','zMXHz3m','uMvJDgfUz2XLuhjPBwL0AxzL','x3nJyw5qBgfUzvjHDgu','x3nOB3DeB21LtgLUzxm','sg90Aw5Lx09IBgLXDwvFtwvYy2f0B3jFqxPPBxv0Af9dzw50zxi','Bgf0mq','nJG2mdrmtwHmwxO','rMvHDhvYzunVBgXLy3rPB24','Dg9qB2LUDhm','y3jLyxrLr2vVBwv0CNK','C2v0DgLTzq','sw1Hz2vYEuXHEwvYq29SBgvJDgLVBG','x3bVC2L0Aw9Ux3n0zxbZ','Dv9SAw5Lq29SB3i','x3rPBwvuAwS','x2nSAwnRvgLSzuDYyxbOAwm','x3bVC2L0Aw9Uv0m','v0DtidCY','x+w8GowqR+wCSow9OG','x3bVC2L0Aw9Uu2nYyxrJAa','ywrKsw5Uzxi','CgL4zwXpzMzZzxrty2fSzuj5rgLZDgfUy2vFBMvHCLzHBhvL','qxbWzwfYyw5Jzq','z2v0vgLSzunYzwrPDhm','x2DLDe91DgXPBMvtDhLSzq','u0HpuLq','yxv0B1bVAxn0Aw9U','z2v0q3vYCMvUDe1VDxnLug9ZAxrPB246ihnJzw5LlNbPy2SG5OU+5y+w5PE25BYc5BI4','yMfJA3DHCMrfEhrYyxbVBgf0Aw9UvhLWzq','C3rHBMrHCMrFCgfYywXSzwXFmG','6lcd5Pw05Q+u5l6l','x2DLDenLBNrLCG','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3yZl2DLB2nVzguVCMvNzw8','rw50Axr5','Aw4GDMvJmYb2x3bVC2L0Aw9Urum7cMLUihzLyZmGDL9UB3jTywXfqZSkAw4GDMvJmIb2x3n0oWOkDM9PzcbTywLUkcKGEWOGig91Df9gCMfNq29SB3iGpsb4Af9NzxrnyxrLCMLHBcH2x3n0ktSkFqO','yxbWzw5Kq2HPBgq','AxnoDwXS','C3r5BgvpChrPB25Z','x21HCf9LEhrLBNrdAgfUz2viyw5KBgvY','yxv0B21HDgLJywXSEvrYywnRrgf0yvnVDxjJzunSB2nRCW','zwrNzvDPzhrO','x2nHC2nHzgvnyxrYAwnLCW','cIaGpgrPDIbJBgfZCZ0IBwfYCZnKlwrPDLvWtgfIzwWIihn0EwXLpsjJB2XVCJOG','BwLUB3jeCMfNz2vY','x3jLywr5uhjVBwLZzq','Aw5UzxjsywrPAv95','x3vWzgf0zunSCG','B2nJBhvKzxjZ','tw92zufSBa','CMvJDgLMAwvKx2DYAwrFyw5NBgu','DhjHBNnA','5y+m5OYh5zcr5yAf5OIw5zcr5Asw5RUr5yQO','AgvPz2H0x29YAwDPBMfS','ywXPz25Lzef4Axm','CMvZB2X2zq','x3nJB3bLCW','B3b0Aw9UCYbYzxf1AxjLCYbHihnVDxjJzsbMAwvSzcb0BYbJCMvHDguGyw4GAw5PDgLHBgL6zwqGDgv4DhvYzsbVCIb3Awr0AcbVCIbOzwLNAhqGyw5KigrLChrOigzPzwXKCYb0BYbJCMvHDguGysbIBgfUAYb0zxH0DxjLlG','vgLSDfzPzxC','y2fTzxjH','C2LUyJe','C2T5qM94','B3jPzw50yxrPB24','Dg9dzxnPDw1wywW','x2nYzwf0zun6BunVBNrHAw5LCG','Bw92zvjPz2H0','y2XVC2vdB250zxH0twvUDq','x2DLDe9MzNnLDej5sgvPz2H0','x+wCSow9OUACJEwkOq','z2v0vgHPBMC','x29Utw91C2vnB3zLrxzLBNq','x2nYzwf0zvrLEhr1CMu','zgf0yvnVDxjJzxm','Bg9JywXgCMfTzvrVrML4zwrgCMfTzuDLBMvYyxrVCG','q0Xbtvbfra','B25fywnOrMvHDhvYzq','x2nVBw1HBMq','x2DYyxbOAwnFBw92zv94','C2HVD0jVEa','x3rPBgvZsw52ywXPzgf0zwq','x3vWzgf0zvn0EwXLsg9VAW','rxH0zw5KzwrFvhjHBNn2zxjZzv9nzxjJyxrVCG','yMfJA2DYB3vUzfr5Cgu','rgLZDgfUy2veAxnWBgf5q29UzgL0Aw9Ur2vVBwv0CNLjBNn0yw5Jzuf0DhjPyNv0zq','x3nW','uMvWBgfJzvvYBa','q0DduZiWmdbFr0TFq01FnG','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYmcaRAZ0XicT4xZa9nda1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','pc9KAxy+cIaGica8zgL2ignSyxnZpsjTyxjZm2qTzgL2vxbmywjLBc1SAw5LiIaGC3r5Bgu9iGOGicaGicaGigHLAwDODdOG','surftLrjvfK','Bg93','y2XPy2S','x3jLywrdAgLSze5Vzgu','z2vVANnVBG','x2LUDMvYC2vnyxrYAxG','u1birvjpsuq','x+MDOUs4IG','Dv9MBg9Vzf92ywW','zNjVBunHCNrLC2LHBKfYCMf5','B3bLBG','BM9dzw50zxi','x2rYyxDbzgrqB2LUDeHHBMrSzxi','zgLZywjSzvrOAxngCMfTzq','x2vUywjSzwrfzgL0r3jPza','y3jLyxrLsw5KzxHcDwzMzxi','x2fKzgvKqMfZzuHVB2S','CMvTB3zLq2XHC3m','x29Yz2LUq2vUDgvYug9PBNq','z2v0rgf0zq','zMXVB2rbBgW','x3jVDgf0zurPCMvJDgLVBG','CMv2zxjZzq','x2nYzwf0zuLJB24','z2v0r3jHCgHPy3m','AwnVBKnSCW','x2LUAxrnzwfZDxjLtgfIBgu','z2v0rxH0zw5ZAw9U','ug9ZDfbYB2nLC3ntDgfNzuXPyNjHCNK','yMfJA2DYB3vUze9WywnPDhK','zNjVBuLVBKfZC2v0swq','x3vWzgf0zurVBuf0DhjPyNv0zq','v09cy1y4A3vQBw9HDKPsze5dB2DZm1jKvxzx','z2v0qwXSug9ZAxrPB25Z','BwfZA1rLEhr1CMu','zNjVBufYCMf5','x3rPA1jLBMrLCG','CMvQzwn0','zgvWDgHuzxH0DxjL','x3nVDxjJzxm','DxbKyxrLug9ZAxrPB25ZsgvPz2H0qNLbDhrY','x3zPzgvVvgv4DhvYzq','CMvHzfbPEgvSCW','Bwv0yuTLEq','x3rVq2vZAxvTvMfSqMvMB3jL','Bwf0zxjPywXFyMfR','x2n1CNjLBNrfEhrLBNq','C2HPBNK','z2v0rw50Axr5ug9ZAxrPB25Z','cIaGicbPBIb2zwmYihzFDgv4DhvYzunVB3jKAw5HDgvZoWOGicaGDw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWOGicaGDw5PzM9YBsb2zwmYignVBg9Yvgv4DhvYzurPBwvUC2LVBNm7cIaGicb1BMLMB3jTihzLyZiGzgLYzwn0Aw9UoWOGicaGDw5PzM9YBsbMBg9HDcbRzxjUzwXsywrPDxm7cGOGicaGzMXVyxqGz2f1C3nPyw5qzgyOAw4GzMXVyxqGEcWGAw4GzMXVyxqGC2LNBwePihSkicaGicaGicbYzxr1CM4Gmc4ZotG5ncaQigv4CcGGltaUnsaQihGGkIb4lYGGC2LNBweGkIbZAwDTysKPl3nPz21HoWOGicaGFqOGicaGDM9PzcbTywLUkcKGEWOGicaGicaGihzLyZiGDLv2pxzFDgv4DhvYzunVB3jKAw5HDgvZoWOGicaGicaGihzLyZiGAw52u2L6zsa9ideUmcaVignVBg9Yvgv4DhvYzurPBwvUC2LVBNm7cIaGicaGicaGzMXVyxqGD2vPz2H0u3vTid0Gz2f1C3nPyw5qzgyOmc4WlcbRzxjUzwXsywrPDxmPoWOGicaGicaGihzLyZqGzgLMzNvZzvn1Bsa9ihrLEhr1CMuOignVBg9Yvgv4DhvYzsWGDLv2ksaQihDLAwDODfn1BtSkicaGicaGicb2zwmYigrLBhrHid0GzgLYzwn0Aw9UicOGAw52u2L6zsaQigTLCM5LBfjHzgL1CY9MBg9HDcHnqvHFuKfesvvtktSkicaGicaGicb2zwmYihv2t2zMC2v0id0GzgvSDge7cIaGicaGicaGzM9YkcbPBNqGAsa9ide7igKGpd0Gtufyx1jbreLvuZSGAsaRkYaPihSkicaGicaGicaGicaGzMXVyxqGDYa9igDHDxnZAwfUugrMkhv2t2zMC2v0lNGSigTLCM5LBfjHzgL1CYK7cIaGicaGicaGicaGihzLyZqGC2fTCgXLmsa9ihrLEhr1CMuOignVBg9Yvgv4DhvYzsWGDLv2icSGDxzpzMzZzxqPoWOGicaGicaGicaGicb2zwm0ihnHBxbSztiGpsb0zxH0DxjLkcbJB2XVCLrLEhr1CMuSihzvDIaTihv2t2zMC2v0ktSkicaGicaGicaGicaGzgLMzNvZzvn1BsaRpsaOkhnHBxbSzteGkYbZyw1WBguYksaQihCPoWOGicaGicaGicaGicb3zwLNAhrtDw0GkZ0GkdiUmcaQihCPoWOGicaGicaGicaGicb1DK9MzNnLDcaRpsbKzwX0ytSkicaGicaGicb9cIaGicaGicaGB3v0x0zYywDdB2XVCIa9igrPzMz1C2vtDw0VD2vPz2H0u3vToWOGicaGFq','CMvNAxn0zxjuzxjYywLUuhjVDMLKzxi','yMfZzw1HChm','qJnetq','x3vWzgf0zurPC3rHBMnLrgLZCgXHEunVBMrPDgLVBKj5rwrPDa','pc9KAxy+cIaGicaGicaGicaGicaGicaGicaGia','zgvWDgHuzxn0','tgLNAhrPBMDnB2rLBa','x2nYzwf0zurPDKDYyxbOAwm','CM9PvvyW','ywXSugfNzq','CMvJDfG','zgvWDgHgywLS','x3vWzgf0zu9IAMvJDef2ywLSywjPBgL0Eq','Bw92zuzVCNDHCMq','EKf4Axm','y3jLyxrLvMvYDgv4qNvMzMvY','DxbKyxrLqwXS','rwrPDfzPzgvVmKq','zgvZDhjVEurYywDNzxjZ','zwfJAeXHEwvY','CMvZDg9Yzq','zgLYzwn0Aw9Uv0m','CMDIysGYndeSidiXmsWGodCSia','BMLNAhrwAxnPB24','AhbY','twvYy2f0B3jFqxv4AwXPyxj5x1nWAgvYzq','x+wfS+MxREMBVUwKQEAWLa','BM9YBwfSu2HHzgLUz1nTB290Aa','BwfYCZnKlw1VDxnLzg93BNzPzxCTC2HVDW','CMvWBgfJzq','vg9KyxLszwfSvgLTzq','v0Dtodq','oYi+','x3n0yxj0tw91C2vqB3nPDgLVBG','Cg9PBNretq','Aw5SAw5LlwjSB2nR','Bwv0Ag9K','EM9Uzq','r2XVyMvtDxjMywnLvgLSzvbYB3zPzgvY','AgvHzgvYCW','mt0X','DgLSzxnwAxnPDgvK','twvHC3vYzuHLAwDODa','ug9SEvv0AwWGDhvYzI5IDwzMzxi657Yt5yAY5yIg5P6q5BYc5BI4ia','C3r5BgvpChq','5Qch6k6W5zYg','C3bVDeXPz2H0','zgvMAw5LuhjVCgvYDgLLCW','x2DYyxbOAwnFBw92zv96','x2zYDxn0Dw1qBgfUzxm','yMLKAxjLy3rPB25HBa','wKvst19ut0XfuKfoq0u','D2DZodruB1DPBMrVD0nVB3jKAw5HDgvZ','x3vWzgf0zvbYAw1PDgL2zu9WywnPDhK','DgLSDa','C2v0tgfUz1rLEhq','DhLWzxm','x+AyVUEKUUs4IEINKUE9Kq','Dgv4DhvYzurLzG','r0vprevusunduLm','x3f1ywr0CMvLuhjPBwL0AxzL','x25VrgvZDhjVEq','x3zLCNrLEezVCM1HDa','yM9YzgvYv2LKDgG','rwXSAxbZB2LKvgvYCMfPBLbYB3zPzgvY','y3jLyxrLvgv4DhvYzq','C2nHBgvy','Aw1Hz2vYEuXHEwvYCW','y25KzxnJ','z2XVD0nVBg9Y','DgHPBMC','x+wfS+MxREA3SEw6PUEBKEA1IW','ntC3lJmYnIW5mc4XmJKSndyZlJKXosW1lJeZnYWXlJq3ncW1lJi5nYWYlJqYmZi','zM9YBwf0qxjLyq','ug9SEwXPBMvpDxrSAw5Ltwf0zxjPywXqCM9Wzxj0Eq','x3zHBhvL','tgLUzunYB3nZ','y3PTx3nLBgvJDgvKswruzxH0DxjL','x3bYAw1PDgL2zv9WB2LUDa','A2v5CW','BgvMDfbVC2L0Aw9UCW','zw5HyMXLsw5WDxrZ','x2LUAxruAwXLC2v0q2XPChbPBMDqB2X5z29UCW','CMDIysGYntqSmtaWldKYldaUmteP','AgfZq2XVC3vYzq','rhjHDW','x29Utw9YCgHdB21WBgv0zq','zMvHDhvYzuLUzgv4','q29UDhjVBa','Bwf4kgnVBNrVDxjnyxrLCMLHBc5HBhbOysWGC2XVCgvsyw1Wtwf0zxjPywWUywXWAgeP','CMf0Aw8','DxbKyxrLtwf0zxjPywW','zgLNvM9SDw1Lu3rY','C2nHBLbSyw5Lq29SB3i','Bwf4rgvWDgHwAxnPDgvK','AgfUzgXLrxjYB3i','u3bOzxjLt3v0BgLUzuDLB21LDhj5','EMGTq04','C2HVD1nLy3rVCLnLz21LBNrmAw5LCW','x2fYCKDYyxbOAwm','phn2zW','Dv9TyxjZm2rFC25HA2vFDgv4DhvYzq','x3rLCNjHAw5qCM92AwrLCG','zNjVBvrYyw5ZBgf0Aw9U','zgLZDgfUy2vFB3jPz2LUywW','x2LUAxrnzxrOB2q','CMvZCg9UC2u','y3jVC3m','z2v0uMvXDwvZDej5tMfTzq','Aw1Nx2u','y2fTzxjHx2nOyw5Nzwriyw5KBgvY','ugL4zwXgB3jTyxq','txvSDgLmAw5Lu3rYAw5N','BMv3x3PLywXHBMrFmtK0oq','DhjPBvrPBgvZ','CgL4zwXtDg9YzwK','BNPTzW','Bg9HzePtt04','C2vTAu1HAM9YqxHPCW','x3rPBwvZ','tMLNAhrwAxnPB25fzMzLy3q','AMf2yxnJCMLWDa','C3rYB2TLvgv4Dej5u3bHy2LUzW','yxr0CMLIDxrLCW','x3bVChvWq29UzMLN','C2LUx3aXmG','wf9vuf9ut19Ax1vq','CxvHzhrYzwu','zwfZDa','y2XVC2vpBKnSAwnR','Bw92zur1CMf0Aw9U','Dg9tDhjPBMC','ChGPihnJywXLka','u3rHDgu','C3vIDhjHy3q','C2L6zq','5lIj57U05QIH5z6l','rgf0yvnVDxjJzurPC3bSyxK','CM90yxrPB25FEa','BgLNAhrZ','Aw1Nx2q','t0jkrunusuq','wuvmte9x','yMXLBMrPBMC','x29YyML0tw91C2vvCez1BMn0Aw9U','Bgf5zxjz','x2n1CNjLBNrjBMrLEa','BMvNyxrL','x3nOywrPBMDuExbL','x2vUywjSzwrfDMvUDa','x2v2zw50','CM91BMq','rwXLDMf0Aw9Uq29UDg91CG','B3v0BgLUzuvMzMvJDa','mte3mhn3u0vqEa','x29Utgf5zxjbzgrLza','C3rYB2TLvhLWzq','q29YCMLKB3jhzw9TzxrYEq','x2XHyMvStgLZDa','pc9qCM9Wzxj0Eu5HBwu+cIaGicaGicaGicaGicaGica8tgL0zxjHBd4','x2XHC3rFC3vJy2vZCW','x25VCM1HBa','uKDcqq','z3jHzgLLBNq','x29Utgf5zxjszw1VDMvK','zMX5vg9qB2LUDa','Bwf4qwXWAge','Aw5JBhvKzuTLExm','BwfYCZnKlw1VDxnLzg93BNzPzxCG','rwXSAxbZB2LKu3vYzMfJzufWCgvHCMfUy2u','rvbtrZO0ntmZ','qMvKDwfYyw0','tM9YBwfSifnWAgvYzsaOCJ02mZCWotK3kq','DgfYz2v0vhLWzq','BxvSDgLWBgLLCG','y2HHBMDLqMfZzw1HCa','x2zPBhrLCLbYB3bHz2f0zuv2zw50','Ag90ug9PBNrjra','Bg9Uz2L0DwrL','x2nYzwf0zvjLy3rHBMDSzuDLB21LDhj5','yxnZzxrjza','5P+L55Yl5Q2K5Ase5z2q5Qch','zgf0ys1PBMrLEa','x3vUyMLUzevKAxrfDMvUDa','x2DLDfDPBMrVD1bVC2L0Aw9U','BgLNAhrdB25L','z2v0twf4sgvPz2H0','u3vIDgL0BgvZ5PwW5O2U5PYj6k+V5O+q56s677YA5yMn5lIa5P2H5PwW5O2UC3rVCoE7K+ADN+AxTUMxTd7LVzpLIy3MLBdMJA5ZDgfYDow8GowNI+AxTUMxTa','nZaSmtGSmtm0lduX','ywz0zxjjDgvT','C3vYzMfJzuHLAwDODa','x2nVBNrHAw5LCL9PBM5LCG','Dg9VBgjHCG','rxzLBNq','y29TChv0zvzPC2LIAwXPDhK','x2DLDenVBMzPzW','CMvTB3zLq2HPBgq','x21HC2TuzxH0DxjL','x2nVBxb1DgvfBwL0DgvYtw9KzwXnyxrYAxG','DgLTzwXPBMu','x2HKCG','CMvWzwf0x3G','o3K9','BwfRzuXHyMvS','x2LZt25SEuLUtwfW','yMqYD2DZ','ueLoq0HFru5e','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteZnsaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','z2v0vgLSzurHDgfbDMfPBgfIBgu','x2nHBwvYyq','zw50Axr5CW','Bwf4Aw11BuHLAwDODhm','uKLhsfrFuK9uqvrf','z2v0twf0CML4mW','y2fYDgvZAwfU','x3vWzgf0zu91DgXPBMvuB0nHBgXIywnR','BwfYCZnKlxn1yNrPDgXLCYa','Bw1M','C3bLy3vSyxjjBNrLBNnPDhK','Aw50zxjqB2X5z29Ut2jQ','ue9tsvrjt05Ft05mwq','x2HPz2HSAwDODevUywjSzwq','zMeGzMeTC3rHCI1OywXMlwz1BgW','CMvHzenOyxjPy3rLCG','x21HCf9WCMvszw5Kzxjiyw5KBgvY','r29Vz2XLrwfYDgHfBNrLCNbYAxnLsw1Hz2vYEvbYB3zPzgvY','rKXpqvq','C2vSzwn0','u2fTCgXLCG','uKvnt1zfra','y3jZEq','BMLNAhrwAxnPB25fzMzLy3q','x+w9K+wjJEINHUINKUs/OEAbRW','AxnbBMLTyxrL','Aw52zxj0q29SB3i','sw5KzxHeyxrHDhLWzq','x3jHzgL1CW','t3jPzw50zwrcB3vUzgLUz0jVEa','nZG5ztu1ogjLnZyYzMy4mZiZotjHmdm5m2zKoge0zJe','qMfZzunVBNrYB2W','uMf5','zxzLBNrqyxjLBNq','D2LKDgG6','C2nHBgvcEurPC3rHBMnLx25Lyxi','x3bPy2TpzMzZy3jLzw5wAwv3','x2nVBNrLEhq','x21VDMvby3rPDMu','x+wCUUAzR+whUUwBVG','zgfZAfbHDhrLCM4','C3rVCfnUywTLqw5PBwf0Aw9U','x2LZu3rHCNrsyxrL','x29UrxzLBNriB29R','AxnnB3zLAw5N','ywrKtgf5zxi','z2v0qxjYB3DcB2r5ug9PBNrZ','yw5KCM9Pza','x+AGH+IUSowCHG','rgL2qMLSBgjVyxjKrw50Axr5','B3zLCNjPzgvnAw1LvhLWzq','ChjVEhKTyxv0Ag9YAxPHDgLVBG','x3jLBw92zunVBgXLy3rPB25cEtje','zMeGzMeTDgLUDa','C3rVCfjHDgu','zM9UDf9ZDhLSzq','C3vIDgL0BgvZ','x3vWzgf0zvrHyMXLtgvUz3rO','C2HVD1n0B3a','C2HPzNrlzxK','B2jQzwn0CW','Bwf4rgLZDgfUy2u','CMvMBgv4vgv4DhvYzq','Cg9ZAxrPB24ZreHPz2G','Bw91C2vKB3DU','ywrKug9PBNrizwLNAhrmywjLBa','Aw5PDgvK','yM9KzxjdB2XVCG','y29UDMvYDfbHy2TLzefYCMf5rM9Ysw50zxjWB2XHDgLVBG','rhjHD1bVBhLNB24','kgv2zw50kq','x3vWzgf0zurVBuj5vgfNtMfTzq','CMvTB3zLt25tDg9W','x2nVBg9Yvgv4DhvYzq','x2vYCM9YrxzLBNq','x2f0DhjPyNv0zuXVy2f0Aw9UCW','y3jLyxrLuhjVCgvYDhLezxnJCMLWDg9Y','C2v0uxvLCNLqyxjHBwv0zxjZ','x+w8GowqR+AlVUwpLUMRMos6RG','y2fSBa','CMvWzwf0wq','Bg9HzgLUz0LTywDLCNK','zxHWzxjPBwvUDgfSlxDLyMDS','v2fSBenVBwjPBMu','twfYm0qG','x2jPBMrvCgrHDgvdywXSyMfJAW','CMDIysGXndaSmtqWldaSmc4WosK','EM9VBq','DgvYCMfPBLbSyw5dBgLW','rhjHD0vKAxroBW','iIaGlZ4','AxntDgfYDa','zxHJBhvKzwrkC29Us2v5CW','EMvYB1rVvhDVugK','y2fUy2vSuMvXDwvZDa','x+wfS+MxREAxPEEfP+MyTow9Sq','AgfZsgvPz2H0rwrPDa','AgfZvgHPBMC','x2DYyxbOAwnFzhjHz2DLCL9PBMC','u0nftKuZra','5ywZ6zET5PIF56M66iom5PMV','x2DSB2jHBefSCgHH','uhjPBwL0AxzLq29SBgvJDgLVBG','DgLSzs8','x3rPBgvmyxLLCG','AgvHzgLUzW','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteZmIaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','x3nOB3DgAwXSqM94','cIaGicaGicaGicaGidXZCgfUicbJBgfZCZ0Iy29UDgv4Dg1LBNuTyxjYB3CIid4kicaGicaGicaGicaGica8C3zNihDPzhrOpsiYmciGAgvPz2H0psiYmciGDMLLD0jVEd0ImcaWidq4idq4iIbMAwXSpsjUB25LiIb4BwXUCZ0IAhr0CdOVl3D3DY53mY5VCMCVmJaWmc9ZDMCIpJXYzwn0ihDPzhrOpsi0ociGAgvPz2H0psi0ociGzMLSBd0ID2HPDguIigzPBgWTB3bHy2L0Et0Imc4WmsiVpJXWyxrOigq9iK0YmcaXmKWZmIaYneWYmcaZnLyXmLOIigzPBgW9iInMzMzMzMyIihn0CM9Rzt0Ii2zMzMzMzIiGC3rYB2TLlxDPzhrOpsi0iIbZDhjVA2uTBgLUzwPVAw49iNjVDw5KiI8+pc9ZDMC+cIaGicaGicaGicaGidWVC3bHBJ4Gia','x21VDxnLtw92zuHHBMrSzxi','x3bYB3H5','yM94ua','x2rYyxDnB3vZzu1VDMviyw5KBgvY','x+wBVUs4IUAGH+IUSa','y2fJAgvuAw1L','ug9SEuDYyxnZ','zwrPDe1VDMvqB2LUDa','x3nOywrPBMDbBhbOyq','C2nHBgvz','z2v0uhjVCgvYDhLwywX1zq','y2jN','ywrKvg8','x3rVt25Lq2vZAxvTvMfS','x2LUAxruAwXLC2v0rMXVB2q','x2LZtw91C2vmzwz0qNv0Dg9UuhjLC3nLza','x3rVB2X0Axbnz3i','y29UDgv4Dg1LBNu','y3LSAw5KzxjtDhLSzunVBNzLCG','vg9VBhrPCa','x3bYAw1PDgL2zv9IB3HZ','C2v0q2fTzxjHvMLLDW','z2v0ugLJA0rLChrO','x3r5Cgu','x2nHBgn1Bgf0zvrLEhr1CMvuCMfUC2XHDgLVBKfUzfnJywXL','B3v0rhvYyxrPB24','ChG7cIaGicaGicaGyMfJA2DYB3vUzc1JB2XVCJOG','te9dquXFrefuvu0','x2nVBxbVC2L0zxm','ywXSqxjLuMvUzgvYywjSzq','z2v0uMvZDwX0','x+AFPEECI+w9K+wjJEINHUINKG','zwrNzvn0CMvUz3rO','CxvLCNLdAxjJBgu','Cg9ZAxrPB24','oWOGicaGicbPzIaOAxrLBs50ExbLid09psaIz3jVDxaIksb7cIaGicaGicaGy29UC3qGyxjYvMvJid0Gw10kicaGicaGicbMB3iGkgXLDcbPBMrLEca9ida7igLUzgv4idWGAxrLBs5SyxLLCNmUBgvUz3rOoYbPBMrLEcSRksb7cIaGicaGicaGicbJB25ZDcbPDgvTmIa9igL0zw0UBgf5zxjZw2LUzgv4xqOGicaGicaGicaGAwyGkgL0zw0UDgvTCgXHDgvwywX1zxmPihSkicaGicaGicaGicaGAxrLBtiUDgvTCgXHDgvwywX1zxmGpsbPDgvTlNrLBxbSyxrLvMfSDwvZcIaGicaGicaGicb9cIaGicaGicaGicbJB25ZDcb0zw1Wid0GD2LUzg93lL90zw1Wx21HCNmZzf9JCMvHDgvjBwfNzxj5uhjVDMLKzxiOAxrLBtiPcIaGicaGicaGicbPzIaODgvTCca9psbUDwXSksb7cIaGicaGicaGicaGignVBNrPBNvLcIaGicaGicaGicb9cIaGicaGicaGicbHCNjwzwmUChvZAcH0zw1WkqOGicaGicaGih0kicaGicaGicbYzxr1CM4GyxjYvMvJcIaGicaGih0GzwXZzsb7cIaGicaGicaGCMv0DxjUihDPBMrVDY5FDgvTCf9TyxjZm2rFy3jLyxrLsw1Hz2vYEvbYB3zPzgvYkgL0zw0PcIaGicaGih0kicaGih0','5PI+56s65yYf5zU055Us','Bg9VA1jPz2H0','zNjVBvjVDgf0Aw9Uwa','t2jQzwn0ignVBNzLCNrLzcbPBIbUB24TC3rHBMrHCMqGy3jZic0G','x2nVBNrHAw5LCJi','DM9SDw1LrgvWDgHnzwfZDxjL','z3jHzgf0Aw9UCW','yMfZzuHLAwDODa','z2v0qxzHAwXHyMLSAxr5sNnVBG','y3jLyxrLvhLWzwrbCNjHEq','CM9VDa','qMfZzu1HDgvYAwfSuhjVCgvYDhK','x3bPy2TjBwfNzxj5tgf5zxjgzwf0DxjLCW','y2L0Ew5HBwu','x2XVywrFzgf0yq','z2v0q2fWywjPBgL0AwvZ','vevsuKfjtG','D2fSyMvJAW','rg91yMXLu2LKzwrqBgfUzq','zM9UDf9Myw1PBhK','tgfIzwW','C2HVD0fYzwe','wfPFvfjbtLnmqvrjt05Fq09mt1i','B3v0BgLUzvbVC2L0Aw9UCW','tK9orq','x29YyML0rNjHBwu','CgL4zwXpzMzZzxrFB3jPz2LUywW','B25uAw1LBgLUzvnJCNvIzNvUy3rPB24','C2HHzgvYu291CMnL','rMLUzufYCM93wvC','x3vUAwzVCM1Zx2jSzw5Kq29SB3jFywXWAge','x+AxOoAZLEwiOoMzPos4JEIdVEwWKEs6JUACGowWJ+EcUEAvSa','B2zMC2nYzwvU','Dw5PzM9YBxm','DhjHBNnSDwnLBMn5','vg1Ztgf5zxi','x3rPBgvszxbSywnLBwvUDff1zxvL','DgLSzwLUzM8','pgjYlZ4','x2DYB3vUzfbYAw1PDgL2zunVBgXLy3rPB24','CMvJDgfUz2XLqW','C2nHBguZza','zNjHBwvsyxrL','y2vZAxvTlwj1DhrVBIbJzxnPDw0TDg9VBgjHCI1IDxr0B24','DgLTzq','BxvSDgLWBhLcEu1HDhjPEdm','rwXSAxbZB2LK','x2LUzgv4','CgfJA2vKtgvUz3rO','x29Utw91C2vnB3zLsgfUzgXLCL9WB2LUDa','zMfICMLJ','BgLUzunVBg9Y','DhjHBNnWyxjLBNq','x2HHC0vKAxrty2fSzq','C3rVCfjVDgf0zu1HDhjPEa','cIaGicaGignVBg9Yid0GC2fTCgXLqw5KqMXLBMqO','DMvYDgLJywXpCMLNAw4','C3rHCNrgBgLJA2vY','x21VDxnxAgvLBeHHBMrSzxi','x2DLDfrHCMDLDeLUzM8','C25VDW','x2fYCKXHEwvY','x2vUywjSzwreCMf3','x2zYDxn0Dw1qCMLTAxrPDMu','x2nVBg9YCW','yxnPBG','zxHWB3j0','y29ZCM90','x21VDMvezwXHEvrPAW','v0HfruW','y2XPCfrHCMDLDa','zwXLBwvUDa','BxvSDgLWBhLcEvvUAwzVCM1ty2fSzq','AsnJta','q29YCMLKB3jtDhLSzunVBNzLCG','qMfZzvn0EwXLq29UDMvY','x+wCUUAzR+IUVUE9RG','Dv9TyxjZm2rFzMXVB2rFzMXVB2rbBgW','q2vUDhjHBf9qyxjHBgXLBa','Aw1Hz2vYEuXHEwvY','rvbtrZO0nta0','x3vWzgf0zuzVCKv2zw50','yNvZAw5Lrgf0yq','x21HCf9JBgLJAW','z2v0tM9uzxjYywLUuhjVDMLKzxi','x2DYyxbOAwnnB2rLBa','B3v0BgLUzvn0EwXL','x2XHC3rFCg9ZAxrPB24','tw91C2vxAgvLBfnJCM9SBa','x2DLDfnJywXLCgXHDgvszwn0yw5NBgu','C2nHBgvWBgf0zq','x2LUDgvYC2vJDgLVBLDPzhrO','C21HBgXuB29SDgLW','x3bPy2TLzeLK','vhjHy2TLzevUDgL0EvLLCW','C3rHCG','Dw5WywnRsw50zxjWB2XHDgLVBLjLC3vSDa','AgfZqwXWAgfdAgfUBMvS','rvbtsuXptJC','x2nHBgn1Bgf0zufZEw5tDxjMywnLug9ZAxrPB24','AgfZtw92zuvKAxq','CMvZDwX0CW','x3bYAw1PDgL2zunVBgXLy3rPB24','vgvYCMfPBKXHEwvY','C3rLChm','x+AvTos9K+w5S+ENUW','zgvSDge','y2fYDg9mAxn0','CgL4zwXgB3jTyxq','cInPzMrLzIbdwK1Fu0vmrunururFrKvbvfvsrqPPBIbMBg9HDcbTzv9PC1nLBgvJDgvKoWPIB29Sign6Bv9ZzwXLy3rLzcGPEWOGicaGyM9VBcbPC1nLBgvJDgvKpsbTzv9PC1nLBgvJDgvKpJaUmdaWmdaWmtSkicaGigLMkcfPC1nLBgvJDgvKkxSkicaGicaGicbPC1nLBgvJDgvKpsbJEM1FC2vSzwn0zwqO','ENr5Cgu','CMDIysGYmZGSmIW0ocWWlJeYkq','C25VD0nVDMvY','x3rPBgvmB2fKuhjVz3jLC3nfDMvUDa','x2rYyxDezwXfDMvUDfr5Cgu','yxr0CMLIDxrLtg9JyxrPB25Z','icWG56YB5y2H5Bcu77YA','x25HDMLNyxrPB25izwXWqNv0Dg9U','sefmrL9qsq','x2nYzwf0zvbVC3rqCM9JzxnZu3rHz2u','zgLNqM94q29SB3i','iowpIUs7PEs4IUEjIoACRa','x2nSzwfYrhjHDW','BgLJzw5ZzvvYBa','5B6U6l2V6zUf6BUr','yMvNAw5gCMfTzq','y3rYBeTLEq','x3jLzMXLy3rnyxrYAxG','zgvIDwDxAxjLzNjHBwu','sw1Hz2uY','x2vSzw1LBNq','ywXSrgLZDgfUy2u','x3vWzgf0zuHLAwDODa','rvbtrZO0nta3','Aw5KzxHcDwzMzxi','ChG7iJ4','y3LSAw5Kzxi','cGOGicaGicaGia','BwLUAw11BunVBMvezwDYzwu','AxngB3jTyxq','k3rPDgXLpvDhuYa4ncaVifbZzxvKBY1nzxjJyxrVCIaRChjVAJ1TzxjJicTHptyZnZGXmZCGk2i9nJm3odeZnYaRBgf0x3rZptaUmcaRBg9UxZa9mc4WicT4xZa9mc4WicT5xZa9mcaRAZ0XlJaGk3vUAxrZpw0Gk25HzgDYAwrZpubUDwXSicTUB19KzwzZ','txvSDgLWBgvtA3LcB3G','qMvZC2vSide4nde','zM9SBg93zwrA','y3jLyxrLtMLNAhrwAxnPB25tDgfNzq','zwfJAevMzMvJDa','x2nYzwf0zun6BunVBNrYB2W','C2HVD0vSC2vbCMvH','CMvJDeHLAwDODa','zxnYAuDLB21LDhj5rw52zwXVCgu','Bw9YCgHuB0nVBhvTyNvZvMLLDW','x3bSyw5Lqw5NBgvsywrPyw5Z','lcbdDwXSzwq6ia','x2DLDeXHDgvSEvzHBhvL','q29UDgv4DeXPBwL0CW','twf0zxjPywXvDgLS','lMfJDgL2zq','x3n0yxj0sgvHzgLUzW','rvbtrZO0ntq1','AxnfzgL0Aw5N','A2v5','zhjHD1jLBw92zvbVAw50','Bwv0yurHDge','rM9NrwzMzwn0tM8','x3bVC3rqCM9JzxnZu3rHz2u','ChjVAMvJDgLVBLbPy2TLCG','z3jPzeXPC3q','y2XVy2TuAwnR','CgXHBMu','yw5HBhLZAxnpChrPB25Z','D2vSBerHDge','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTigzSB2f0igjYAwDODg5LC3m7cGPPBIb2zwmYihzFDgv4DhvYzunVB3jKAw5HDgvZoWOkDM9PzcbTywLUkhzVAwqPcNSkicaGihzLyZqGy29SB3iGpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGicaGDMvJmYb0yxjNzxqGpsb2zwmZkdaUmcK7cIaGicbVDxrFrNjHz0nVBg9Yid0GDMvJncHTAxGODgfYz2v0lcbJB2XVCI5Yz2iSigjYAwDODg5LC3mPlcbJB2XVCI5HktSkFqO','y29UDgv4De1LBNvdBgLJAW','BM9bCNjHEq','uKLhsfrFrfjbrW','x2jHy2T3yxjKrxH0CMfWB2XHDgLVBKr1CMf0Aw9U','C2HHCgvqB3nPDgLVBNm','v01tigDLDe1LDgfKyxrH6k+35Rgc5yE66zsz','BwfZA0rLChrOvgv4DhvYzq','CMLUz0nHBNzHCW','z2v0u3vYzMfJzvbVC2L0Aw9U','Dg9qCMLTAxrPDMu','vu5jvf9z','r0vprevtsum','x3bYAw1PDgL2ztq','iJ4kicaGicaGicaGicaGicaGicaGica8ysbOCMvMpsjQyxzHC2nYAxb0oNzVAwqOmcKIpG','sg90Aw5Lx09IBgLXDwvFtwvYy2f0B3jFvhDVx1bVAw50x05HDhvYywXFt3jPz2LU','x3vWzgf0zu1HDhjPEe1VDMvqB3nPDgLVBG','C2LUBgf0ma','q0vtsvvnxZnex1rjteu','yw5KCMfL','x2LTz0rHDge','Bwf0zxjPywXpChrPB25Z','v01uuYbhzxrdyxbHyMLSAxrPzxpOR7FMSylLH7RPLjK','B2zMC2v0vg9W','x29Us2v5vxa','y29TChv0zvbVC2L0Aw9UCW','CgLJA0zLyxr1CMvZ','Bwf4sgvPz2H0','DgvYCMfPBG','rxH0CMfWB2XHDgLVBLr5Cgu','r1jfru4','twvHC3vYzq','vw5PzM9YBvn0yxrL','x2nVBxb1DgvKtw9KzwXnyxrYAxG','s21Srgf0yvnVDxjJzq','B3v0BgLUzunVB3jKAw5HDgvZ','6k+35BYv5ywLig1HCNmZzc1JzxnPDw0G5BQt','yNvMzMvYvxnHz2u','zMeGzMeTy2fTzxjHlxjLDhjV','C291CMnLCZm','twfYC0fYCMf5igL0zw0UzgvZDhjVEsdLVilLUlG','x2zPCMvuyxjNzxrFB3bLBG','x2XHC3rnB3vZzu92zxjjDgvT','x3bVAw50u2L6zq','zw5HyMXLza','y2fTzxjHq2HHBMDLza','zMLSBfrLEhrcEvnWywnPBMC','x2rHDgfqCM92AwrLCG','x2nOAwXK','yxjJx3G','x2v4DgvUDa','DhjHBNnMB3jTv2LUzg93vg9eCMf3Aw5NqNvMzMvY','yxv0B1n1CMzHy2vizwLNAhq','x21HC2TFCMfKAxvZ','x3nLDev4DgvUDa','x+wfS+MxREM7KEEzVq','x+ATO+wCQoIUOEEUL+s9K+ENRW','C2f0DxjHDgLVBG','x+w8GowqR+A3SEw6PUEBKEA1IW','57Yw6l6r5PE2x21HCos4JEIdVEs4UUEPUIZOR7FLSiBLR7NOSAhMT7VLIQdLIldLM77LSylVViZLUBBKUjtLM77LSylLT7lMT7VLIQdLIlbnyxa','ywrKt3v0zxi','yxjLyu5HBwu','x2HPz2HSAwDODefSBa','x3jLBw92zunVBgXLy3rPB25cEtne','r2vVy29Kzxi','rgvWDgHuzxn0tM8','z3r1','vgvYCMfPBK5V','yMXVB20','y2L0Ev9SAw1PDa','x21HDhjPEdq','x2DLB0PZB25myxLLCG','C3rHCNrsB3rHDgvnyxrYAxG','sw50zxjZzwn0','zwrNzvrLEhr1CMuY','x3vZzvjpsq','zNjVBvbVAw50CW','CgLWzwXPBMu','rhLUyw1Py1jPDMvY','x2nYzwf0zu9l','D2fSBa','BMvHCG','CM9Hzf9Uyw1L','x2nYzwf0zufWCgvHCMfUy2u','ywXPz24','DxrN','x29Wzw5cEu1VDxnLrxzLBNq','y29SB3iY','x3jLC2v0q29UDgv4De1LBNu','x2HHC0nSyw1Wvg9hCM91BMq','yxzVAwrWB2X5z29UCW','ue9tsvrjvKvFsu5gsu5jvfK','z2v0r3jHCgHPy0j5swq','y3vYCMvUDfrHCMDLDa','r1jtidy3keLvr0CGmtK2nYK','DgHLBG','E3P9','6kEM5Pg45OMl5yQ/','x3rOAw5NtgLZDa','C3vIzg9TywLUsxrLBq','q29SB3juExbL','x3rVt25LsNnVBL9qB2X5','zNjVBvvUAwzVCM1ty2fSzq','DMLLD2vY','x21VDw50zwriB29R','x+AuVUwKPW','C2vYDMLJzq','ywn0AxzL','ywXNB3jPDgHTvxrPBa','DMvYDgv4qNvMzMvY','CMfKAxvZx3a','y2fZCW','r2vVz3jHCgHPy1rPBgLUz1nJAgvTzq','Bg9VAW','zwrNzunVBg9Y','B25Lx21PBNvZx2zFC3f1yxjLza','yMDdB2XVCG','x29UuMLNAhrdBgLJA0HHBMrSzxi','z2v0t3b0Aw9UCW','DgvYCMfPBLbYB3zPzgvYvMLLD01VzgvSCW','x2fYCMf5','x3vWzgf0zvbVAw50zxjfDMvUDhm','x2nVBNrLEhrTzw51twDY','y3jLyxrLvgvYCMfPBLbYB3zPzgvY','rwrPDen5BgLUzgvY','x2zYDxn0Dw1gyxi','x2LUAxrmyxLLCNm','re9orq','x2DYyxbOAwnFzhjHD2LUzW','yNj1C2HmAw5L','z2v0u3vYzMfJzvrLCNjHAw5izwLNAhq','x2n1CNjLBNruAw1L','CMfKkq','x1bVAw50rwrPDf9ywv9uuKfou0XbveLptG','zwrNzuDSB3C','z2fTBwe','u2HHzgvYuhjVz3jHBq','Bgf0rgvJAw1HBa','z2vVBwv0CNLuExbL','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMzSB2f0ihrPBwuGpsaWlJa7cM1HDdiGBtiGpsbTyxqYkdaUodaSidaUnJaSic0WlJyWlcaWlJGWktSkcM1HDdiGBwfYCZnKx21HA2vTkgLUigzSB2f0ihrOzxrHksb7cIaGzMXVyxqGyYa9ignVCYH0Agv0ysK7cIaGzMXVyxqGCYa9ihnPBIH0Agv0ysK7cIaGCMv0DxjUig1HDdiOyYWGlxmSihmSigmPoWP9cGPMBg9HDcbUB2LZzsHPBIb2zwmYihGPihSkicbYzxr1CM4GDgv4DhvYzsHZCgvJDwXHCK1HCcWGEcaQic4WmsKUEdSkFqOkzMXVyxqGBwfYCZnKx2zIBsHPBIb2zwmYihaPihSkicbMBg9HDcb6id0GmI47cIaGzMXVyxqGCNOGpsaWlJSkicbMB3iOzMXVyxqGAsa9ideUoYbPidWGnY47igKRkYKGEWOGicaGCNOGkZ0GywjZkcHUB2LZzsHWksaTidaUnsKGkIaYlIKGlYb6oWOGicaGEIa9ihOGkIaYlJSkicaGihaGpsbWicOGmI47cIaGicbWicO9ig0YoWOGih0kicbYzxr1CM4GCNO7cN0kcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIb2vxyGpsbTyxrLCMLHBeLUChv0lNn0oWOGihrPBwuGpsbJEM1FzNjHBwvoDw1IzxiGlYaYmdaUmdSkicb2zwmYihaGpsaYlIaQihzvDI54EsaTihzLyZiOms4SideUktSkicb2zwmYigjWid0GCdSkcIaGi2LMBMrLzIbdru5urvjfraOGihaGkZ0Gns47cIaGCcaQpsaZmc47cIaGi2vUzgLMcIaGzMXVyxqGCMiGpsbTyxjZm2rFzMjTkhaGkIaUnsaRihrPBwuGkIaUmtCPicOGlJe7cIaGCMiGpsbZCxj0khjIktSkicaJAwzUzgvMienftLrfuKvecIaGCcaQpsbTyxjZm2rFBwfRzw0OCMiGkIaUmIaRigf0yw4OCc55lcbWlNGPicOGms4PoWOGicnLBhnLcIaGCcaQpsbTyxjZm2rFBwfRzw0OCMiGkIaUmIaRigf0yw4OCc55lcbWlNGPicOGmI4PoWOGicnLBMrPzGOkicaGic8Vy29SB3jPBMCkicbMBg9HDcbYEIa9ig1HCNmZzf9MyM0OCcaQic45ic0GDgLTzsaQic43ktSkicbYEIaQpsbKB3qOyNaGkIa1lIWGyNaPicSGlJu7cIaGCNOGkJ0GC2LUkhaUEcaQic41icSGDgLTzsaQidqUksaQideUntSkicb2zwmZignVBca9ihzLyZmOlJa0lcaWlJa3lcaWlJq1ksaVicGUmsaTihj6ktSkicb2zwm0igzYywDdB2XVCIa9ihzLyZqOC3fYDcHHyNmOy29SksKSideUmcK7cIaGBwf0zxjPywWUywXWAgeGpsbMCMfNq29SB3iUysaQigfSCgHHicOGz2XVyMfSqwXWAge7cIaGBwf0zxjPywWUzgLMzNvZzsa9igzYywDdB2XVCI5Yz2iGkIaUntSkcIaGicaVlYbJzxnPDw0kicbMBg9HDcbMCMvXDwvUy3KGpsaYmdaWlJa7cIaGzMXVyxqGyw1WBgL0DwrLid0GmtaUmdSkicbMBg9HDcbMywrLrMfJDg9Yid0Gms4WoWOGihzLyZqGBwfWq29SB3iGpsb0zxH0DxjLkg5VCM1HBe1HCcWGBwf0zxjPywXjBNb1Dc5ZDcK7cIaGzMXVyxqGC3bLy3vSyxjnyxbwywX1zsa9ihrLEhr1CMuOBM9YBwfStwfWlcbTyxrLCMLHBeLUChv0lNn0ks5YoWOGihnWzwn1BgfYtwfWvMfSDwuGpsaXlJa7cGOGigzSB2f0igzHzguGpsbTyxGOms4WlcaOBgvUz3rOkg1HDgvYAwfSsw5WDxqUCg9ZAxrPB25uB0v5zuvdksaVideWmdaWmdaWmdaWlJaPicOGzNjLCxvLBMn5icOGzMfKzuzHy3rVCIK7cIaGDMvJncbUB2LZzsa9ign6Bv9NzxrxyxrLCK5VAxnLkg5VCM1HBe1HCcWGBwf0zxjPywXjBNb1Dc5ZDcaQigzYzxf1zw5JEsWGDgLTzsWGmc4WktSkicb2zwmZig5VCM1HBfrHBMDLBNrtCgfJzsa9ig5VAxnLlNH5EIaQihzLyZmOms4WlcaXlJaSicGXlJaGlYbHBxbSAxr1zguPktSkicbUB3jTywXuyw5Nzw50u3bHy2uUEhKGlZ0GzMfKztSkicbUB3jTywXuyw5Nzw50u3bHy2uGpsbTAxGODMvJmYGWlJaSidaUmcWGntaUmcKSig5VCM1HBfrHBMDLBNrtCgfJzsWGC3bLy3vSyxjnyxbwywX1zsK7cIaGBM9YBwfSvgfUz2vUDfnWywnLid0GBM9YBwfSAxPLkg5VCM1HBfrHBMDLBNrtCgfJzsK7cGOGigzSB2f0ig1HCNmZzfbLCNr1CMjHDgLVBLjHDgLVid0Gy2XHBxaOzg90kg5VCM1HBfrHBMDLBNrtCgfJzsWGDMvJmYGWlJaSidaUmcWGmc4XksKSidaUmcWGms4WktSkicbTyxrLCMLHBc5KAwzMDxnLicS9icGWlJeGkIbTyxjZm2rqzxj0DxjIyxrPB25syxrPBYK7cIaGBwf0zxjPywWUBM9YBwfSid0GBM9YBwfSAxPLkg1HDgvYAwfSsw5WDxqUDgfUz2vUDfrVrxLLtwf0CML4icOGBM9YBwfSvgfUz2vUDfnWywnLktSkicbTyxrLCMLHBc5ZCgvJDwXHCIa9idaUntSkicbTyxrLCMLHBc5ZAgLUAw5LC3mGpsaXmc4WoWOkicbYzxr1CM4GBwf0zxjPywW7cN0k','uMfZC2fKAxjHBG','Aw52zxjZzvrYyw5ZzM9YBwf0Aw9U','y2fTzxjHvxa','D2LYzwzYyw1L','x2z4t25Lug9PBNq','Dgv4DgfYzwe','t25LrMLUz2vYrhjHzW','zw5KvxbKyxrL','vu5mt0feruq','y2HVCMrmzw5NDgG','BwfNBML0DwrL','Aw1Hz2uY','Dg90ywW','q0DduZiWmdbFr0TFq01FmW','ChjLy2LZzq','z2v0qxjYyxLsyw5KB21pBMu','y2L0EwXPBwL0','y2XVy2TFB25uAwnRsgfUzgXLCG','CMvTB3zLvgLSzq','C3rHCNrdB2XVCG','C3bHy2LUzW','yxjYsurt','Dw5PzM9YBsbIB29SihvFBwfYCZnKx2zSyxrFzw5HyMXLzdSkDw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFzMXHDf90zxH0DxjLoYaVlYdOJipLM7qkDw5PzM9YBsbMBg9HDcb1x21HCNmZzf9MBgf0x3jHzgL1CZSGlY8G6iYd5zU055Qe6zw/5BQMcNvUAwzVCM0GBwf0ncb1x21HCNmZzf9MBgf0x21HDhjPEdSGlY8G5lIC5yYx5AsPcNvUAwzVCM0GBwf0ncb1x21HCNmZzf9MBgf0x2LUDMvYC2vnyxrYAxG7ic8Vios4NowmL+wKQEEAHoMaHGP1BMLMB3jTigzSB2f0ihvFBwfYCZnKx2zSyxrFBg9JywXAoYaVlYdLN7RLH4BPQ5JLUQBVViJKUjZLJjFLPkNLNzdMOiFNS7VKUiVNMOtPQ5JLUQBVViKkcNzVAwqGDMvYDgv4twfPBIHwzxj0zxHjBNb1Dcb2C0LUChv0lcbPBM91DcbJEM1FBw9KzwXwzxj0zxHpDxrWDxqGDNnpDxrWDxqPihSkicbPzIH1x21HCNmZzf9MBgf0x2vUywjSzwqPihSkicaGihzLyZqGCg9ZAxrPB24Gpsb1x21HCNmZzf9MBgf0x2LUDMvYC2vnyxrYAxGGkIbJEM1FBw9KzwWGkIb2zwm0khzZsw5WDxqUyxr0CMLIDxrLCY5WB3nPDgLVBK1dlcaXlJaPoWOGicaGDMvJncbJB2XVCIa9ihrLEhr1CMuODv9TyxjZm2rFzMXHDf90zxH0DxjLlcaOCg9ZAxrPB24UEhKGkYb1x21HCNmZzf9MBgf0x3jHzgL1CYKGlYb1x21HCNmZzf9MBgf0x3jHzgL1CYaVidiUmcK7cIaGicbPzIHJB2XVCI5Yid4Gmc4Wksb7cIaGicaGihbVC2L0Aw9UlNOGpsb1x21HCNmZzf9MBgf0x2XVy2fSwJSkicaGicaGDNnpDxrWDxqUCg9ZAxrPB25nqYa9icHJEM1FAw52zxjZzu1VzgvSicOGDv9TyxjZm2rFzMXHDf9TyxrYAxGGkIbWB3nPDgLVBIKUEhL6oWOGicaGFqOGih0kFqO','z2vVBwv0CNLjBNn0yw5Jzxm','zwXSChm','BwLUAw11BufSCgHH','x2jPBMrfEfr5Cgu','Dg9qBMC','uhjVAMvJDgLVBLbPy2TLCG','DxbKyxrLqxr0CKzVCKrYyxDPBMC','x3rPBgveAxnJyxjKug9SAwn5','yM9VBgvHBG','C3rVCerYyxC','uMvMzxjLBMnLrNjHBwu','x3jLBw92zwrczwzVCMviB29R','ug9SEufZCgHHBhq','Cgf0Ahm','x2LUzgv4x29YAwDPBMfS','x2nHBgn1Bgf0zun6BuHLAwDODa','57Uy5yI25PE2x21HCos4JEIdVEs4UUEPUIZOR7FLSiBLR7NOSAhMT7VLIQdLIldLM77LSylVViZLUBBKUjtLM77LSylLT7lMT7VLIQdLIlbnyxa','rwXSAxbZB2LKywXpy2nSDwrLCG','ug9SEwDVBLn0EwXLq29UDMvY','zw5KsxrLBq','x3rVB2XIyxi','zg9TDg9PBwfNzq','x2zYyw1LyNvMzMvY','yMjVEa','EM95','mti3lJaUmc4X','C2LUCgGW','C2v0ugXHBMvZ','rgLYzwn0Aw9UywXmAwDODa','C3rYAw5NAwz5','x2nYzwf0zuDLB21LDhj5sw5ZDgfUy2vjDgvT','zgvM','y29VCMrPBMf0zq','x3bYB2PLy3rPB24','Aw1Hz2vYCW','zgLTzw5ZAw9UC194','twf0Aa','x2DYyxbOAwnmAxn0','x29UtgvMDfvWsgfUzgXLCG','x29Utw91C2veB3DUrxzLBNq','DxbKyxrLqwXStM9YBwfS','C291DgH3zxn0','zMLSzvr5Cgu','x21HEenHy2HLq291BNq','rMLZy2HLCIaXoty4','x2nVBg9Y','C2v0swnVBG','wvPFvfjbtLnmqvrjt05Fq09mt1i','CMDIysGYntuSidi1nsWGmJu1lcaXlJaP','x2vKAxrqB3nPDgLVBNniB29R','vevyvfvsrv9xuKfqx1i','yxjLyvn1CMzHy2vnzwfZDxjL','x3jHBMrVBq','vgLSzvnLBgvJDgLVBLjLC3vSDa','CMvK','x29UuhjLuMvUzgvYsgfUzgXLCG','x+wiHUMsNW','x29Utw91C2vvCev2zw50','x3bVC2L0Aw9UC19KCMf3','x29WDgLVBNnmyxLLCNnmAxn0','x+IWG+AvToAVLos+IW','C3rHCNreCMf3','x2rPCMvJDgLVBG','x2fKzeHLAwDODenHBgXIywnRCW','x3bYAw1PDgL2zujPyxm','x3n0EwXLx2nSywnOzq','AtnZ','CM9Pvvy','zgfYA25LC3m','y2XPzw50sgvPz2H0','z2v0qw5NBgvpzLrOCMvLug9PBNrZ','AgvPz2H0CW','zMLLBgrZ','igfUzcbjtLrfuLnfq1rticG','r2fVzgvjBwfNzxj5uhjVDMLKzxi','CMvUzgvYugfZCW','B2XKx2rLChrOvgvZDefNywLUC3ruzxjYywLU','ugfZCW','z2v0q29UDhjVBa','q3LSAw5KzxjfBNrPDhK','x3bVC2L0Aw9UC19NCMLK','x3nPzgvszxm','y3jLyxrLtgf5zxi','y2XVy2S','AgvHzeHLAwDODezHy3rVCG','uM9Hza','5y2v5OYh5OUw5yQO','r3jVDxbuAgLUzW','rxzLCMvZDcaOu2fIywGGjIbtyxjHD2fRkq','z2v0vgHPCMrqB2LUDa','x2XHyMvSrxG','B3v0uMfUz2vdB2XVCG','CMvWBgfJzunHy2HL','xZb4mMiYzwmZ','Cg9WDxbdBg9Zzq','BwfYm2qTDg9VBej1DhrVBG','zMX5qw5PBwf0Aw9UuhjVBwLZzq','x2XHC3rFyxzHAwXHyMLSAxr5u2HVDW','DhjHBNny','zgLZDgfUy2vnzwfZDxjL','C21VB3rOv2LKDgG','zgLZDgfUy2vtDhi','CMvTB3zLrxzLBNrmAxn0zw5LCG','CMDIysGYntuSmJu1ldi1nsWWkq','qMfZzuXHEwvY','twf0CML4mW','CgLJA1bVC2L0Aw9U','phnWyw4GC3r5Bgu9iMnVBg9YoIbYzwq7iJ7NUQlOIBi8l3nWyw4+ioAyRYby6l20pgjYlZ4kicaGicaGicaGicaGicaGicaGphnWyw4GC3r5Bgu9iMnVBg9YoIbNCMvLBJSIpUE7V+IjSJWVC3bHBJ4G5PIVifNOVBq8yNiVpGOGicaGicaGicaGicaGicaGica8C3bHBIbZDhLSzt0Iy29SB3i6igjSDwu7iJ7OK53OIBi8l3nWyw4+ioAyRYbA6l20','CMvJDfDPzhrO','z2XVyMvizwLNAhq','x3vWzgf0zunVBNrYB2Xiyw5KBgvY','x2rYyxDbzgrfDMvUDfr5Cgu','ywLYEq','x3bPy2TdB21Tyw5K','AwrLBNrPDhK','z2v0twLKCg9PBNq','ywn0AxzHDgvnB3vZzu91Da','yw5PBwf0Aw9Uu3bLzwq','qKqWoq','zgLZDgfUy2veAxnWBgf5ug9PBNq','CxmX','zxjYB3i','x3n0yxrL','z2vVy29Kzxjtzxj2AwnLCW','pUw9K+wjJxn0yxj05BYa5AEl5PE26zE0','x2XHEwvY','x2rHCMTUzxnZ','vgvYCMfPBKzSyxq','zM9YBwf0DgvKx2fKzhjLC3m','x2nYzwf0zvrLEhr1CMvFtwfZAW','uMvWBgfJzu1HCNmZrfvYBa','vMLLD2vY','yxHPCW','Aw5PDgLHBgL6zvrLCNjHAw5izwLNAhrZ','AgvHzfrHAwXgywn0B3i','BwLUAw11BvDPzhrO','x2zYDxn0Dw0','BwLUAw11BuHLAwDODhm','z3jHCgHPy3m','DgfPBfjPz2H0','AgfZq2fJAgu','y2vZAxvTlxzYqNv0Dg9U','x2rHDgftB3vYy2u','x3jLBw92zvbPDa','AxnjBLb1C2G','Cg9PBNrq','DxbKyxrLtwf0CML4','A2v5q29Kzq','x2HLywrPBMDFCMvHBgL0Eq','BgLUzunVDw50','B2XKuhjPBwL0AxzLvhLWzq','x2nYzwf0zuXHyMvS','zgLZvgvYCMfPBLnJywXL','DxbKyxrLu3rHDhvZ','x3jVDgf0zuf1Dg9tDg9Wqw5NBgu','t3rOzxi','q2fYDgvZAwfUna','x3n1yMrVBwfPBNm','x3bVC2L0Aw9UC19JAxjJBgvFEG','x2rLzMf1BhrwAwv3','x+AaU+MvVW','z2v0r3jHCgHPy0j5qxr0CG','x3nLBgvJDgvK','x3bVAw50vhLWzq','x2nVBNrHAw5LCL9VBK1VDxnLB3v0sgfUzgXLCG','rML4zwrsB3v0zq','y3PT','ChjLDLn0ywDLvxbKyxrL','yM90Dg9T','r1jtnJC','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWPPBIb2zwmYihzFDgv4DhvYzunVB3jKAw5HDgvZoWOkDw5PzM9YBsbMBg9HDcb1x2jYAwDODg5LC3m7cNvUAwzVCM0GzMXVyxqGDv9JB250CMfZDdSkDw5PzM9YBsbMBg9HDcb1x3nHDhvYyxrPB247cNvUAwzVCM0GzMXVyxqGDv9ODwu7cGP2B2LKig1HAw4Oksb7cIaGDMvJncbJB2XVCIa9ihrLEhr1CMuOy29SB3juzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYK7cIaGy29SB3iUCMDIid0GBwL4khzLyZmOmc4WksWGy29SB3iUCMDIlcb1x2jYAwDODg5LC3mPoWOGignVBg9YlNjNyIa9ig1PEcH2zwmZkdaUnsKSignVBg9YlNjNyIWGDv9JB250CMfZDcK7cIaGy29SB3iUCMDIid0Gy3PTx2H1zsHJB2XVCI5Yz2iSihvFAhvLktSkicbJB2XVCI5Yz2iGpsbJEM1FC2f0DxjHDgLVBIHJB2XVCI5Yz2iSihvFC2f0DxjHDgLVBIK7cIaGB3v0x0zYywDdB2XVCIa9ignVBg9YoWP9cG','zgf0yq','x2n1CNjLBNrizwLNAhq','x2HLAwDODa','qMXHy2TbBMrxAgL0zuvMzMvJDa','Dw5PzM9YBsbZyw1WBgvYmKqGDv9TyxjZm2rFC25HA2vFDgv4DhvYztSGlY8G6iYd5zU0cNvUAwzVCM0GzMXVyxqGDv9TyxjZm2rFC25HA2vFDgLTztSkDw5PzM9YBsbIB29SihvFBwfYCZnKx3nUywTLx3nOB3DbBgW7cGPJB25ZDcbMBg9HDcbqsv9TyxjZm2rFC25HA2uGpsaZlJe0mtu5mJy1mZu4otC5mZSkcI8VioIUOEEUL+s4Gos4QUMAJ+ACUUwnLEs9JEwqKEMhJWPMBg9HDcbYyw5KB21FBwfYCZnKx3nUywTLkhzLyZmGC2nHBguSigzSB2f0ihnLzwqPihSkicbYzxr1CM4GzNjHy3qOC2LUkgrVDcH2zwmZkgn6Bv92Awv3Cg9YDc56DYWGmc41ksaRihnLzwqSihnJywXLksKGkIa0mZC1oc41nduZicSGC2vLzcK7cN0kDMvJmYb1BMLMB3jTBhLsyw5KB21eAxjLy3rPB25FBwfYCZnKx3nUywTLkgzSB2f0ihnLzwqPihSkicbMBg9HDcb1id0GCMfUzg9Tx21HCNmZzf9ZBMfRzsH2zwmZkdeYlJK4otGSidC4lJiZmYWGmtuXlJCXodiPlcbZzwvKktSkicbMBg9HDcb2id0GCMfUzg9Tx21HCNmZzf9ZBMfRzsH2zwmZkdyZlJCYnJqSideWlJG3mYWGnJiZlJy3mZyPlcbZzwvKktSkicbMBg9HDcb6id0Gms4Wic0GmI4WicOGDtSkicbMBg9HDcbYid0GC3fYDcGXlJaGlsb6icOGEIK7cIaGzMXVyxqGyw5NBguGpsa2lJi4mZe4ntmWnZe3otu4nIaQihy7cIaGCMv0DxjUihzLyZmOCIaQignVCYHHBMDSzsKSihiGkIbZAw4Oyw5NBguPlcb6ktSkFqOklY8G6i635y+w6ls05zU+55Qe5l+H5OgVcNzLyZqGz2v0uMvNAw9UC19TyxjZm2rFC25HA2uOAw50ihGSigLUDcb5ksb7cIaGzMXVyxqGDsa9icHMBg9HDcH4ksaRidaUnsKGlYbMBg9HDcH1x21HCNmZzf9ZBMfRzv9Yyw5NzuXLBMD0AcK7cIaGzMXVyxqGDIa9icHMBg9HDcH5ksaRidaUnsK7cIaGDMvJncbWB2LUDca9ihrLEhr1CMuODv9TyxjZm2rFC25HA2vFDgv4DhvYzsWGDMvJmIH1lcb2ksK7cIaGCMv0DxjUihzLyZqOCg9PBNqUEhL6icOGCg9PBNqUDYWGms4WktSkFqOklY8G5yIK5PAT5QIH5z6l5z2q5Qch54k55zYO5lIn5zYO6iYd5zU05yAfcMjVB2WGAw5szwn0yw5NBgvFBwfYCZnKx3nUywTLkhzLyZqGDgvZDfbVAw50ksb7cIaGzMXVyxqGy291BNrLCIa9idaUmdSkicbMBg9HDcb4Aw50zxjZid0Gmc4WoWOGigzVCIHPBNqGDYa9ida7ihCGpcaXmdaWmda7ihCRkYKGEWOGicaGAwyODYa+psb1x21HCNmZzf9ZBMfRzv9Yyw5NzuXLBMD0AcKkicaGicaGyNjLywS7cIaGicbPBNqGBMv4DeLUzgv4id0GDYaRide7cIaGicbUzxH0sw5KzxGGpsbUzxH0sw5KzxGGpt0GDv9TyxjZm2rFC25HA2vFCMfUz2vmzw5NDgGGpYaWidOGBMv4DeLUzgv4oWOkicaGic8VioIoT+wpLUEcUEs9JEs/OEAbRWOGicaGDMvJncbWmsa9igDLDfjLz2LVBNnFBwfYCZnKx3nUywTLkhCSidaPoWOGicaGDMvJncbWmIa9igDLDfjLz2LVBNnFBwfYCZnKx3nUywTLkg5LEhrjBMrLEcWGmcK7cGOGicaGCdeGpsb1x21HCNmZzf9ZBMfRzv9PBNzLCNnLugXHBMvnyxrYAxGGkIbWmtSkicaGihaYid0GDv9TyxjZm2rFC25HA2vFAw52zxjZzvbSyw5Ltwf0CML4icOGCdi7cGOGicaGDMvJncb0zxn0ug9PBNrqqYa9ihvFBwfYCZnKx3nUywTLx2LUDMvYC2vqBgfUzu1HDhjPEcaQihrLC3rqB2LUDdSkcIaGicbMBg9HDcbWmxGGpsbWms54oWOGicaGzMXVyxqGCdf5id0GCdeUEtSkicaGigzSB2f0ihaYEca9ihaYlNG7cIaGicbMBg9HDcbWmNKGpsbWmI55oWOGicaGzMXVyxqGDgvZDfbVAw50uen4id0GDgvZDfbVAw50uemUEdSkicaGigzSB2f0ihrLC3rqB2LUDfbdEsa9ihrLC3rqB2LUDfbdlNK7cGOGicaGAwyODgvZDfbVAw50uen4id4GBwLUkhaXEcWGCdj4ksaMjIb0zxn0ug9PBNrqq3GGpd0GBwf4khaXEcWGCdj4ksKGEWOGicaGicbPzIH0zxn0ug9PBNrqq3KGpd0GBwf4khaXEsWGCdj5ksKGEWOGicaGicaGigLMkhaXEcaHpsbWmNGPihSkicaGicaGicaGihHPBNrLCNmGpsaOkhrLC3rqB2LUDfbdEcaTihaXEcKGkIaOCdj5ic0GCdf5ksKGlYaOCdj4ic0GCdf4ksaRihaXEtSkicaGicaGicaGigLMkhaXEsa9psbWmNKGFhWGDgvZDfbVAw50uen5idW9ihHPBNrLCNmPihSkicaGicaGicaGicaGy291BNrLCIaRpsaXlJa7cIaGicaGicaGicb9cIaGicaGicaGFqOGicaGicb9cIaGicb9cIaGFqOGihjLDhvYBIbTB2qOy291BNrLCIWGmI4WksaHpsaWlJa7cN0kcNzVAwqGDMvYDgv4twfPBIHwzxj0zxHjBNb1Dcb2C0LUChv0lcbPBM91DcbJEM1FBw9KzwXwzxj0zxHpDxrWDxqGDNnpDxrWDxqPihSkicb2zwmZihbVC2L0Aw9UtumGpsb2C0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25nqZSkicb2zwm0ihbVC2L0Aw9Uv0mGpsbJEM1FBw9KzwWGkIb2zwm0khbVC2L0Aw9UtumSideUmcK7cGOGigLMkhvFBwfYCZnKx3nUywTLx3nOB3DbBgWGFhWGAw5szwn0yw5NBgvFBwfYCZnKx3nUywTLkhbVC2L0Aw9Uv0mPksb7cIaGicb2x2LUuMfUz2uGpsaXlJa7ic8Vios8OoMaKUMHTUEcUEwCQoImG+wBTowgHqOGicaGzMXVyxqGAgvPz2H0id0Gzg90khvFBwfYCZnKx3nUywTLx3bSyw5LtM9YBwfSlcbWB3nPDgLVBLDdlNH5EIKGkYb1x21HCNmZzf9ZBMfRzv9WBgfUzurPC3rHBMnLoWOkicaGigLMkgHLAwDODca8idaUmcKGEWOGicaGicbOzwLNAhqGpsaWlJa7lY8G5l2o5lQo5BMZ6z2I6iYd5zU055Qe5lIn5PMd5yQOcIaGicb9cGOGicaGzMXVyxqGBgvYCca9igHLAwDODcaVihvFBwfYCZnKx3nUywTLx21HEeHLAwDODdSkcIaGicbMBg9HDcbWzxiGpsbMCMfJDcH1x21HCNmZzf9ZBMfRzv90Aw1LktSkcIaGicaVlYdMOlNMJA5Mzwf0DxjLswtORQhNRPFKUidKUkRPMO/MNlRLJzxKVy3LKjhPH48kicaGigLUDcbMzwf0DxjLswqGpsb2C0LUChv0lMzLyxr1CMvjzhmUzMvHDhvYzuLKxZa7cIaGicb2zwmZihjHBMrVBurPCMvJDgLVBIa9ihvUAwzVCM1SEvjHBMrVBurPCMvJDgLVBL9TyxjZm2rFC25HA2uOzMXVyxqOzMvHDhvYzuLKksK7cIaGicaVlYdLIkNNLkJLJ4NKUzJORQhNRPFKUi7LUBpPNAlMS5xNUR/LNOlNM7tNMOtKUidKUkRLKjhPH48kicaGihzLyZmGBw92zvzLy3rVCIa9ignYB3nZkhjHBMrVBurPCMvJDgLVBIWGDv9TyxjZm2rFC25HA2vFCgXHBMvoB3jTywWPoWOGicaGBw92zvzLy3rVCIa9ig5VCM1HBgL6zsHTB3zLvMvJDg9YktSkcIaGicaVlYdLGy/NP7VPOBBNGRKkicaGihzLyZmGBMv3ug9ZAxrPB25xqYa9ihbVC2L0Aw9Uv0mUEhL6icSGBw92zvzLy3rVCIaQihzLyZmOBgvYCcaQihvFBwfYCZnKx3nUywTLx21HEerPC3rHBMnLicOGC2LUkhbLCIaQidiUmcaQifbjx21HCNmZzf9ZBMfRzsKPoWOkicaGihzZt3v0Chv0lNbVC2L0Aw9UtumGpsaOy3PTx2LUDMvYC2vnB2rLBcaQihzLyZqOBMv3ug9ZAxrPB25xqYWGms4WksKUEhL6oWOGih0GzwXZzsb7cIaGicb2x2LUuMfUz2uGpsaWlJa7ic8Vios8OoMaKUMHTUEcUEs4JEwCQoImG+wBTowgHqOGih0kFqO','D2vIA2L0sw1Hz2vtBw9VDgHPBMDfBMfIBgvK','x3nOB3C','rwXSAxbZB2LKvgvYCMfPBLbYB3zPzgvYvg9VBhrPCa','x2nSAwnRsgfUzgXLCG','x2fYCM93tgvUz3rO','CMvZzxrwywX1zq','B2zMC2v0','qKfdsW','x2rPC3rHBMnL','zw1PDhrLCK1VzgvStwf0CML4','zhjHz2DLCNm','y2fYDg9NCMfWAgLJqxjYyxLuB0nHCNrLC2LHBKfYCMf5','C3vJy2vZCW','Dg9ku09ooUE8UUwWKEwDKoAGH+s/OEAbRW','zM9NqNLeAxn0yw5Jzv9UzwfYvMfSDwu','lY9Zzxj2zxiUBwfYCZnKlMnUl3bYB3H5lW','Dv9TyxjZm2rFy2XPCf90zxH0DxjL','AM9Iu2nOzwr1BgvY','x2vMzMvJDa','x2fKzeDYyxbOAwm','q3LSAw5KzxjxyxzL','y2fJAgvnyxjZt3b0Aw9UCW','6k+356gU6k6K6AUy5BQM5PIV6z2E6zU25PwW5yc877Yb','C2v0q3PTBfrPBwu','y29UzMLNDxjLrgvZy3jPChrPB25gCM9TuhjVCgvYDgLLCW','zNj1C3r1BvDPzhrO','x2nYzwf0zvrPBgvjBwfNzxj5u2TLBgv0B25Z','z2v0vgfPBfbVAw50CW','zgvYAxzLzenVBw1HBMrZ','o3O9','zMfYq29SB3i','6k+356gU6k6K5y+c5PwW56YM5zci6kEe5yIz77YA5PwW57Ue6zw/5BQM5AsN5lQomE+8JowUVEMRMos4JEIdVEs4UJdVVie','cInKzwzPBMuGq1Pnx1nftevdvevex0zfqvrvuKukDw5PzM9YBsbZyw1WBgvYmKqGy3PTx3nLBgvJDgvKswruzxH0DxjLoWP1BMLMB3jTigzSB2f0ign6Bv9ZzwXLy3rLzeLKvgv4DhvYzvn0zxa7cNvUAwzVCM0GzMXVyxqGy3PTx3nLBgvJDgvKswruzxH0DxjLv2LKDgG7cGPIB29Sign6Bv9ZzwXLy3rLzcH2zwm0igLKksb7cIaGyM9VBcbZzwXLy3rLzca9igzHBhnLoWOGigzVCIHPBNqGAsa9ida7igKGpcaXmdi0mdaWoYbPkYSPihSkicaGihzLyZqGC2vSzwn0zwrjzca9ihrLEhr1CMuOy3PTx3nLBgvJDgvKswruzxH0DxjLlcb2zwmYkcHMBg9HDcHPksaRidaUnsKGkIbJEM1FC2vSzwn0zwrjzfrLEhr1CMvtDgvWlcaWlJuPktSkicaGigLMkgfSBcHLCxvHBcHPzcWGC2vSzwn0zwrjzcKPksb7cIaGicaGihjLDhvYBIb0CNvLoWOGicaGFqOGicaGAwyOzMXVyxqOAsKGpIbJEM1FC2vSzwn0zwrjzfrLEhr1CMvxAwr0AcKkicaGicaGyNjLywS7cIaGFqOGihjLDhvYBIbMywXZztSkFqOk','CgfKzgLUzZOG','CMvJDgfUz2XL','s3jVDMfR','ug9PBNruCMfUCW','x21HC2TFy2fUDMfZ','CMvNzw9JB2rL','s3DLBW','B3bLBKHPz2HSAwDODa','y2XLyxjszwn0','mtq1mZHcD0DdAeW','x2f1Dg9tDhLSzq','BwfUzgf0B3j5','C2v0vMLZAwjSzq','C3rHCNrjDgvT','DxbKyxrLqMLUzW','x3jLBw92zuXHC3rnB3zLug9PBNq','CMvWzwf0x3K','BgfLyq','rvbtrZO0nti1','yxzHAwXHyMLSAxr5rw5HyMXLza','tf0LmG','rvbtrZO','CMvMzxjLBMnLrNjHBwu','Aw1Hz2vYEq','x2nSyw1Wvg9uAwXLC2v0rNjHBwu','x2f2ywLSywjPBgL0EuvUywjSzwq','x3nOB3DmyxrLCMfSu3vYzMfJzxm','x21HEfzHBa','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXncaRAZ0XicT4xZa9ntaWmdaWicT5xZa9mcaRzwXSChm9r1jtodaGk3vUAxrZpw0Gk25Vx2rLzNm','x29Utgf5zxjtAg93BK9YsgLKzgvU','DgHPCY5YywrPDxmGBxvZDcbIzsbNCMvHDgvYihrOyw4GB3iGzxf1ywWGDg8GEMvYBY4','DhjHBNnSyxrL','C2v0tgf5zxjtCgXPDerPCMvJDgLVBG','x3jVB3q','x29YyML0tgfZDfrPBwvZDgfTCa','rvbtrZm4ntC','yMLUzfbPy2Tjza','zhjHD1n0yxj0','ug9SEwXPBMvwB2X1BwvtDhLSzunVBNzLCG','ChjLvxbKyxrL','x2nYzwf0zuDLB21LDhj5sw5ZDgfUy2vbDhrYAwj1DgvZ','q0DduZiWmdbFr0TFwM9Uzv82','C2nYAxb0','C25HA2vbBMLTyxrPB25eDxjHDgLVBG','ru5hq1jt','x3vWzgf0zurPDLbVC2L0Aw9U','zNjVBvbYB3zPzgvYqxn5BMm','DxbKyxrLt3v0BgLUzxneAxn0yw5JzurPC3bSyxLdB25KAxrPB24','B250Aw1LB3v0','C3jJ','cIaGicaGihvUAwzVCM0GC2fTCgXLCJjeignVBg9Yvgv4DhvYztSkicaGicaGDw5PzM9YBsbZyw1WBgvYmKqGyMXVB21uzxH0DxjLoWOGicaGicb1BMLMB3jTigzSB2f0ihjHDgLVoWOGicaGicb1BMLMB3jTihzLyZqGy29SB3i7cIaGicaGigLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cIaGicaGihzVAwqGBwfPBIH2B2LKkqOGicaGicb7cIaGicaGicaGDMvJncbJB2XVCJeGpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGicaGicaGihzLyZqGyMXVB20Gpsb0zxH0DxjLkgjSB29Tvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGicaGicaGigjSB29TicO9ignVBg9YidSkicaGicaGicaJAwzKzwyGq1Pnx1nftevdvevex0zfqvrvuKukicaGicaGicaGigLMicHJEM1FC2vSzwn0zwqOksKGEWOGicaGicaGicaGicbIBg9VBsaQpsbYyxrPBZSkicaGicaGicaGih0kicaGicaGicaJzw5KAwykicaGicaGicbVDxrFrNjHz0nVBg9Yid0GyMXVB20GkYbJB2XVCJe7cIaGicaGih0','qKXbq0S','Dv9TyxjZm2rFzMXVB2rFAw52zxjZzu1HDhjPEa','z2v0q29VCMrPBMf0zxm','BwfWq2HPBMfduLm','yMLUza','AgfZu2HHzg93','DMLKzw9xAwr0Aa','ywrJB2rL','C2HVD1nREujVEa','x2XHEwvYx3nOB3Diyw5KBgvY','5y+m5OYh5OYj55U45zcm5PA55zcr5OUw5yQO','CxvLCNLtzwXLy3rVCG','zw5HyMXLuM90yxrL','x2rLyNvNqxHPCW','z2vVBwv0CMLLCW','x29Uzu92zxjmB2CYrMfYrgvWDgHgCM9TtMvHCLbSDxnpBMu','x3n0yxq','y3jLyxrLrwXLBwvUDa','yMLUzfrVB2X0Axa','x29Uq2XPy2Tiyw5KBgvY','ChjVAMvJDgLVBNm','i0zgrKyWma','ywjZ','x+wfS+MxREs4IEINKUE9Kq','CMfKktSkicaGicaGlxDLyMTPDc10CMfUC2zVCM0GoIbYB3rHDguOlq','Bw92zvrV','rvbtrZO0ndKY','B3jPz2LUywXdB2XVCG','ioAOOEwEI+s4REw/G+s9JEE9RJO','BgLNAhrdB2XVCG','tgLUzuzSAwnRzxi','v01t','Bw91C2vTB3zL','yM94qW','6lEV5B6e6kEe5yIsioIVT+AXGUwKSEI0PsG','laOGicaGicaGihvFDgv4DhvYzvrYyw5ZBgf0Aw9Uqw5Ku2nHBgu','C2v0sgvPz2H0','Bwf4kgnVBNrVDxjnyxrLCMLHBc5HBhbOysWGzwXLDMf0Aw9UuMfTCe1HDgvYAwfSlMfSCgHHkq','D2HPDgu','iZaWzMyWma','tw9KzwXfBNrPDhK','rgLNAxrHBezSB3DnyxrLCMLHBfbYB3bLCNr5','z2v0uhjVCgvYDhK','x3vWzgf0zuHWCG','q2fTzxjHsgLZDg9YEq','Cgf1C2vdyw1LCMfwAwv3tgLZDa','x29UtwLKzgXLrg93BKHHBMrSzxi','AgfZug9WDxa','u2nLBMvnB2rLugLJA2vY','x2LZqMfZzuXHEwvY','y2vZAxvTlxnJzw5Ltw9KzvbPy2TLCI1KCM9Wrg93BI1Py29U','twf0zxjPywXqCM9Wzxj0Eq','x3rPBgvxAwr0Aa','zxrTzxjJ','zM9YBwf0vgLTzvn0CG','x+I1T+EcUq','B3v0zxjdB25L','A2v5zg93BG','qg51BgW','yMLUzW','x3DHDgvYugXHBMu','y29SB3jFyMfR','reLsrunusu9ox0zpuLDbuKq','x3bVAw5ZDa','x2DSB2jLvhjHBNnSDwnLBMn5u3rHDgu','Cg9PBNrpDxrSAw5Lv2LKDgG','BM9YDgHPBMC','x2XHC3rqAwnRvgfYz2v0','zgLZywjSzq','x3rLC3rqB2LUDevUDgL0Eq','zMXVyxruB0j5Dgu','yw5PBwf0Aw9U','CM90yxrLwcG','yxrOzw5Z','Cg5HBwu','x2HHBMrSzu1VDxnLrg93BG','BgvMDerVD24','sgvHzgLUz1bPDgnOuM9SBa','x2jPBMriAwvYyxjJAhK','x3jLBw92zuvKAxrPBMDfBNrPDhK','lNn2zW','u25VD0vMzMvJDe5V','ntuZnJj5ueHOAfa','uMvZB3vYy2u','wv9uuKfou0XbveLptG','DMvYC2LVBG','CMDIkdaSmcWWldaP','z2v0u2XVCgu','x2LUAxruAwXLC2v0q29SB3jdB3jYzwn0Aw9U','C2HVD01VB24','zgLTzw5ZAw9UC195','Cg9ZDfbYB2nLC3ntDgfNzxm','B25vCgXVywrqCM9NCMvZCW','BxvSDgLWBhLcEvnJywXHCG','rwrPDfjVDgf0Aw9U','CMvTB3zLqNLgAwX0zxi','x+E6TEwDKoAGHW','x2zVCLbVC2L0Aw9UuhjVCgvYDhK','x+AWTow5S+I3NEEMUW','rLvmta','CgLJA0zLyxr1CMvZvxjS','x2vUywjSzwrnB3zLvgfYz2v0','x3nLDfbPDgnOuMfUz2vFy2fTzxjHq2HHBMDLzeHHBMrSzxi','Ahr0CdOVl2fWAs50AwfUzgL0Ds5NB3yUy24VDJiVC2vHCMnO','y3jLzgL0','AgfZvg9VBhrPCa','x3rVsLnptL9fEa','zMeGzMeTC291BMrJBg91za','Dgv4DhvYzunVB3jKAw5HDgvszwn0yw5NBgu','y2vUDgvYt2znyxnZ','CgL0rw50Axr5','C2HHA2u','lY9KyxrHlM1HCNmZzc5JBI90zxjYywLU','zNjVBu1LDgfKyxrH','B25fBMq','zMLUzerHDgfgB3jjBNrLCNzHBenVBNrHAw5PBMDeyxrL','BwLUAw11BuXLDMvS','x2nVDw50CW','x29UuMLNAhrvCeHHBMrSzxi','DxbKyxrLq2XVy2S','x2nSAxbuExbL','x3bVBhLSAw5Lx3bVC2L0Aw9UCW','zNjVBurPBwvUC2LVBNm','u2HHzgvYu291CMnL','zMeGzMeTBwLUDxm','x291DgXPBMvgCNvZDhvT','pezPBhrLCIb4BwXUCZ0IAhr0CdOVl3D3DY5VCgvUz2LZlM5LDc9Vz2mIihHTBg5ZoMDTBd0IAhr0CdOVl3D3DY5VCgvUz2LZlM5LDc9NBwWIpJXbBMq+','q29SB3jnyxrLCMLHBfbYB3bLCNr5','Cg9SEwXPBMu','DxbKyxrLqw5KrxHLy3v0zunVBw1HBMrZ','CMfKAwLFEG','DxbKyxrLr3jPzfbVC2L0Aw9UCW','x2zVCNDHCMrfEhrYyxbVBgf0Aw9UvhLWzq','C2HVD0rPz0jVEa','zgvZDgLUyxrPB24','rgLZy2fYze1PC3nPBMDuAwXLsw1Hz2vqB2XPy3K','C2HVD091DgXPBMvpBMX5','x3rPBgvmB2fKuxvLDwviAwDO','z3jHDgLJDwXL','BwfKCMLK','x3zPC2LIAwXPDhLZ','mhb4','x2nVBNrYB2XmAxn0','zwXSAxbZB2LK','rMXHDejPBgXIB2fYza','Dw5PzM9YBsb2zwm0igv2zw5dB2XVCJSkDw5PzM9YBsb2zwm0ig9KzenVBg9YoWP1BMLMB3jTigzSB2f0igzYzxf1zw5JEtSkDw5PzM9YBsb2zwmYig5VAxnLu2nHBgu7cNvUAwzVCM0GzMXVyxqGz3jHAw5gCMvXDwvUy3K7cNvUAwzVCM0GzMXVyxqGz2XVyMfSqwXWAge7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicaVl0jHC2vKig9UihDVB2qGC2HHzgvYigzYB20Gt3bLBKDmifnOywrPBMCGtgfUz3vHz2uGkdnYzcbLzgL0Aw9UksbWzY4Gndu1cIaGDMvJmIbZDca9ig1HDgvYAwfSsw5WDxqUC3q7cGOGihzLyZiGBM9PC2v2zwm7cIaGBM9PC2v2zwmUEca9ign6Bv9ZBM9PC2uOC3qGkIbUB2LZzvnJywXLlNGPoWOGig5VAxnLDMvJlNKGpsbJEM1FC25VAxnLkhn0icOGBM9PC2vty2fSzs55ktSkcIaGDMvJmIbSB2nHDgLVBIa9ihn0icSGBM9PC2v2zwm7cIaGzMXVyxqGzgLZDca9ihnXCNqOBg9JyxrPB24UEcaQigXVy2f0Aw9UlNGGkYbSB2nHDgLVBI55icOGBg9JyxrPB24UEsK7cIaGzgLZDcaQpsbMCMvXDwvUy3K7cGOGigzSB2f0ihiGpsbMCMfJDcHKAxn0icSGBM9PC2v2zwnBmf0GkYbUB2LZzxzLy1SXxsKGkIaYlJa7cIaGAwyOCIa+ideUmcKkicaGihiGpsaYlJaGlsbYoWOkicb2zwm0ignVBg9YtwfYCZneid0GBwL4kgv2zw5dB2XVCIWGB2rKq29SB3iSihiPoWOkicaVl3n0CMvHA3mkicbYid0GywjZkgn6Bv9ZBM9PC2uODMvJmIHZDc54icOGz3jHAw5gCMvXDwvUy3KSihn0lNKGkIbNCMfPBKzYzxf1zw5JEsaQidaUmdiPksKGkIaWlJi7cIaGy29SB3jnyxjZm0qUCMDIicS9igv2zw5dB2XVCI5Yz2iGkIbYoWOkicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3jnyxjZm0qUCMDIoWOGig1HDgvYAwfSlMfSCgHHid0Gy29SB3jnyxjZm0qUysaQigDSB2jHBefSCgHHoWOkicbYzxr1CM4GBwf0zxjPywW7cN0k','Aw5MB0jVEa','ChjVDMLKzxi','x3bVAw50q29SBgvJDgLVBG','q1vmtevex0jvvf9oruveruq','zMeGzMeTBwfWlw1HCMTLCG','zwrPDe1VDxnLrg93BG','z2v0twv0ywrHDge','Bgf5zxjjza','q29VCMrPBMf0zxm','z2v0tgf5zxi','z2v0q2vZAxvTq29SB3i','su9o','Dw5IAw5Kvg9VBhrPCa','x21HCf9JBgLJA0HHBMrSzxi','BgLNAhreAxjLy3rPB24','tgf0tg9Uz0jVDw5KAw5NqM94','zMeGzMeTzxLL','x2rYyxDhCMLK','x3bYB3bLCNr5','z2XVyMu','BNPNzdq5','yxjLyvn0CG','y2vZAxvTlwz1BgXZy3jLzw5cDxr0B24','Aw1Nx3O','zgvMyxvSDa','x2nYzwf0zvnOywrVD01HCa','C2XVCgvsyw1Wtwf0zxjPywW','CM90yxrPB25FEG','x2LUAxrtyw1WBgvKug9ZAxrPB25qCM9Wzxj0Eq','y2XVDwrtDhLSzunVBNzLCG','i2v4DgvUC2LVBIbhtf9prvnFC3rHBMrHCMrFzgvYAxzHDgL2zxmGoIbLBMfIBgukDw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTihnHBxbSzxiYrcbKzxb0AfrLEhr1CMu7cNvUAwzVCM0GzMXVyxqGywXWAge7cMLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cGP2zwm0ihrVrxLLkgLUihzLyZiGDxySigLUigzSB2f0igrLChrOksb7cIaGDMvJmIb4Esa9ihzLyZiOkhv2lNGGkIaYlJaGlsaXlJaPlcaODxyUEsaQidiUmcaTideUmcKPoWOGihzLyZqGCg9Zsw5dyw1LCMeGpsbJEM1FAw52zxjZzvbYB2PLy3rPB24GkIb2zwm0khH5lcbKzxb0AcWGms4WktSkicbWB3njBKnHBwvYysa9ihbVC0LUq2fTzxjHic8GCg9Zsw5dyw1LCMeUDZSkicbYzxr1CM4GCg9Zsw5dyw1LCMe7cN0kzMXVyxqGz2v0rgvWDgHnyxjZm0qOAw4GDMvJncbKzxb0AcKGEWOGigzSB2f0ihPFD2LUzg93id0Gy3PTx3vUCgfJA0rLChrOkgrLChrOktSkicb6x3DPBMrVDYa9ign6Bv9YzxzLCNnLtg9NrgvWDgGOEL93Aw5KB3CPoWOGigzSB2f0ig5FCMfUz2uGpsbJEM1FzgvWDgHsyw5Nzs5UzwfYoWOGigzSB2f0igzFCMfUz2uGpsbJEM1FzgvWDgHsyw5Nzs5Myxi7cIaGCMv0DxjUicGYlJaGkIb6x3DPBMrVDYaTig5FCMfUz2uGlsbMx3jHBMDLksaVicHMx3jHBMDLic0GBL9Yyw5NzsK7cN0kcNzVAwqGBwfPBIGPihSkicb2zwm0ignVBg9Yid0GDgv4DhvYzsHJB2XVCLrLEhr1CMuSihzFDgv4DhvYzunVB3jKAw5HDgvZktSkicb2zwm0ign1CNjeid0GDgv4DhvYzsHKzxb0AfrLEhr1CMuSihzFDgv4DhvYzunVB3jKAw5HDgvZktSkicbPzIHJDxjYrc5Yid49ideUmcKGEWOGicaGB3v0x0zYywDdB2XVCIa9ignVBg9YoWOGicaGCMv0DxjUoWOGih0kicbMBg9HDcbKzxb0Aca9igDLDerLChrOtwfYCZnekgn1CNjektSkicb2zwm0ihbVC2L0Aw9UrumGpsb0B0v5zsH2x3rLEhr1CMvdB29YzgLUyxrLCYWGzgvWDgGPoWOGihzLyZmGzhGGpsbKrMr4khbVC2L0Aw9UrumUEhL6ktSkicb2zwmZigr5id0GzezKEsHWB3nPDgLVBKvdlNH5EIK7cIaGDMvJmYbUB3iGpsbUB3jTywXPEMuOy3jVC3mOzhGSigr5ksK7cGOGihzLyZqGCg9ZAxrPB25xqYa9ig5VCM1HBgL6zsHJEM1FAw52zxjZzvzPzxCGkIbWB3nPDgLVBKvdktSkicb2zwmZig5VCM1HBfDdid0GBM9YBwfSAxPLkgn6Bv9PBNzLCNnLvMLLD1jVDgf0Aw9UicOGBM9YktSkicbMBg9HDcbKB3roDw1xqYa9igrVDcHWB3nPDgLVBLDdlNH5EIWGBM9YBwfSv0mPoWOGigLMkgrVDe51BvDdidW9idaUmIKGEWOGicaGB3v0x0zYywDdB2XVCIa9ig1PEcHJB2XVCIWGDMvJncGXlJaPlcbHBhbOysaQidaUmIK7cIaGicbYzxr1CM47cIaGFqOGig91Df9gCMfNq29SB3iGpsbTAxGOy29SB3iSihzLyZqOms4WksWGzg90tNvTv0mGkIbHBhbOysK7cN0k','y2XVDwq','zgL2r2LM','Bg9JywXtDg9YywDL','jMXHyMvSpq','C2v0ugL0y2G','x2nVBNrHAw5LCL9VBKnSAwnRsgfUzgXLCG','Bg9Nsw5MBW','zwrPDfbSyw5L','x3bYAw1PDgL2zv9SywjLBa','yxv0B1n0B3bbBMDSzq','CMLNAhrvCa','x2DLDfrLCNjHAw5pChrPB25Z','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteWocaRAZ0XicT4xZa9mZy1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x21HDhjPEdnty3jHDgnO','C3rVCevKAxrPBMDhCMLK','Dv9TyxjZm2rFzMXVB2rFy3vYCMvUDgHLAwDODa','Aw1Hz2vYEvbYB3zPzgvYvMLLD01VzgvSCW','DxbSAwz0','Dw5KzxjNCM91BMrdB2XVCG','iIbZDhLSzt0I','Dw5PzM9YBq','CMvJDgfUz2XLua','Cg9W','y2L0EunVzgu','x3rVB2X0Axbjza','tgLUzvrYywLStwf0zxjPywXqCM9Wzxj0Eq','x2nYCW','CMvHzhLjBwfNzxj5','x2DLDfzHBhvL','reLsrunusu9ox0XfrLq','ue9tsvrjt05Fqu5ex1nu','y2HPBgrYzw4','zgL2r3jHCgHPy1n0EwXLq29UDMvY','5y2v5yE75AkE5yQG54k5','B2zMC2v0wq','x2XHC3rtzwXLy3rPB25szxn1Bhq','zMLSBfzVBhvTzq','x2rYywDNzxjFAw5KzxG','x2HHC0zy','ywrKCMvZC0nVBxbVBMvUDa','x3vWzgf0zu1VDMvbBgXiB29R','x3zYqNv0Dg9U','x2zVCM1HDfbpsurHDge','z3jVDxa','zgvZDhjVEu9IAMvJDa','x2DYyxbOAwnFBw92zv95','zgvWDgHuzxn0t2XK','x+wpS+whU+IpNownLEwiOoMzPa','x3bVC2L0Aw9UC19ZDgvWCW','C291DgH3zxn0q2HPBgq','veLmrv9hru9ku09o','CMLNAhq','x2P6BuHLAwDODa','tevgvf9vua','wL9vuf9ut19yx1vq','BxnN','AxnmB2fKAw5N','uL9b','zMLYC3rqzxjZB25sB2fT','AxntDgfYDeLUy2X1zgvK','x3DYyxbWzxi','x2rPz0jVEenVBg9Y','BNvTyMvYt2zmzxzLBfPLCM9uAwXLC1K','zgLYzwn0Aw9U','seG6Bw06C3mGuW','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptK5icTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x2nHCNrVz3jHCgHPy3m','C3fYDa','Bwf4ug9PBNroDw0','AxnjBLbVBhK','x2vKAxrPBMDFzw50Axr5','x3DHBgXFCg9ZAxrPB25Z','B3jKzxjjBMrLCgvUzgvUDfrYyw5ZBhvJzw5JEq','B3nT','q3vYCMvUDfrPBwvoB3rjBLjHBMDL','u25VD0vMzMvJDfLLCW','BwfYCZnKlwnVBxbHC3mTAw5Uzxi','x2jPBMrfzgL0rxzLBNq','yxnWzwn0uMfTCe1HDgvYAwfS','x291DgXPBMvqB3nPDgLVBNm','x2D1Awq','x3nJyw5qBgfUzuzYB250q29TBwfUza','rvbtrZOZodu3','sw9Ur2vVy29Kzxjtzxj2AwnL','x3bVAw50tgLNAhrsywrPDxm','jNnJywXLCJ0YjNvKDd0MzNjVBt1QC2fWAtjFma','AxbOB25L','BMvNyxrPDMvy','B3nNyL8Xotm2','x21VDxnLug9ZAxrPB24','C3r5BgvuExbL','Bg9JyxrPB25eyxrH','C25HA2vbBMLTyxrPB25ezwXHEq','vhDVrMLUz2vYrhjHz1nHBwveAxjLy3rPB24','BwLUAw11BunSB2nR','Bw91C2vFzg93BG','CMfKAwLFEa','B2zMC2v0wG','57Yw6l6r5PA55zcr','x2rVBwvcywnRq29TBwfUza','B3jPz2LU','Dg93z3m4na','x2fYCLbHCNrnzwfZDxjLtgfIBgu','ueLdsW','x2HHC1vWzgf0zv9LBwL0DgvYtw9KzwXnyxrYAxG','DgfYz2v0rNjHBwvsyxrL','rxzLCMvZDcaXotq4','zNjLCxvLBMn5','zMeGzMeTyNvPBgrPBMCTBW','x+wkOoI9VEAOOEwEI+s4Rq','zMv0y2HkC29U','z2v0ugLJA1rHCMDLDa','x21VDxnLvxbiyw5KBgu','q29TCg9Uzw50rgf0yxr5Cgu','CMfKAxvZx3aY','BwvYy2f0B3juB0XUz0XHDa','x2nVCNjPzg9YrxG','ywrKqwXS','z2v0ug9WDxbdB25MAwC','DMLLD01HDhjPEa','yxjJvhLWzq','rwrPDfbVBhLNB24','Bw92zvn0yxj0','B25SEvzLCNrLEfbVC2L0Aw9U','y2XVy2TwAwv3tw9KzwW','zxH0CNvKzwrizwLNAhq','Ahr0Chm6lY9Yzxn0yxbPlMfTyxaUy29Tl3yZl2fZC2LZDgfUDc9PBNb1DhrPChm','r3jVDw5Ku2T5qM94','ywXSvgLSzxnmB2fKzwq','Bwf4Aw11BunVBMvezwDYzwu','CxvLCNLhCMLKrgf0yq','x2zYB250rMfJzvjt','y3jLyxrLr3jHCgHPyW','x3vWzgf0zuvUDgL0Eu9WywnPDhK','tM9YDgHFqw1LCMLJyw5Frgf0Dw1FmtKYnW','zhjHD0nYzwf0zwq','x21HEfbPDgnO','Aw5xAw5KB3C','Dg9Rzw4','yM90Dg9Tug9ZAxrPB25Z','qMfZzvrPBgvmyxLLCG','y29UDg91CLnOB3C','x25VCM1HBf9HBMDSzti','AgLKzgvU','x3nLBgvJDgvKswruzxH0DxjL','BgfZDe1HEerLChrOvMLZAxrLza','x2v2zw50ugfYzw50CW','zM92','Axnby3rPDMf0zq','x2XHC3rFChjLvxbKyxrLvgLTzq','Bw9SBa','C2HVDW','CgzHy3q','q2XHC3nPzMLJyxrPB25qCMLTAxrPDMu','Bwf4Aw11BvnPEMvy','lteZmY42mYWTmtu3lJuSlte1oc42mG','x+wfRoMHTW','Eun1Da','CMvZCg9UC2vvuKW','vhLWzq','z2fVzgu','zM9YBwf0','r0vpr0nt','ywXWAge','BwfYC0P6D1n0EwXL','E2nVBNrLBNr9','B3v0x0zYywDdB2XVCI5Yz2iGpsbVDxrFrNjHz0nVBg9YlNjNyJS','BgfZDfrPBgvZq3vSBgvK','zwfZAw5NrNvUy3rPB24Z','C2HVD1rOCM91z2HfBgXPChnVAwq','x2jPBMreB2n1BwvUDev2zw50','x2LUAxruAwXLC2v0ugXHBKnSAxa','rw1WDhLuAwXLtgf5zxi','Bw9YCgHdB21WBgv0zq','x21HCev4x3rPBwvuAwS','x2nVBNrHAw5LCKj0BLn0yxj0','ChjLugfZC2vZvxbKyxrL','rKLuvevex0nt','Bw9KzwXtDhLSzunVBNzLCG','x2XHC3rFy2XVy2Tsyw5Nzq','Dw5PzM9YBvXZp3zLyZrCCZ8','CMfUzg9Tq29SB3i','rvbtrZO0nta2','x3rPBgvmB2fKuxvLDwvmB3C','zwfZDgLUzW','B2jQzwn0','x2fSBg93rhjPBgXqAwnR','twfWu3bSAxq','tMfTzq','zgvWDgHgywLSt3bHy2L0Eq','y2XPzw50v2LKDgG','ywz0zxjXDw90zq','Bg9JyxrPB24','Cg9ZDfvWzgf0zq','r2fVzgvqt0KG6k+35Rgc5yE66zsz','6k+35Rgc5yE66zsz','x21Lyxn1CMvfEeXPBMu','BwfYCZnKlwnVBxbHC3m','z3jHCgHPy0XHEwvY','rMXVB2rcEuDYyxbOAwm','x3vWzgf0zurYywDNzxjZvgLTzvrPAW','ChG7B3zLCMzSB3C6AgLKzgvUo21HCMDPBJOWoYiGC2nYB2XSAw5NpsjUBYiGzNjHBwvIB3jKzxi9iJaIid48l2LMCMfTzt4','CgvYy2vUDgfNzunOyw5Nzwq','x2n1yMvnyxa','5zU+5lIk5Qch6k6W','D3jHCfq','x3bVBhLSAw5Lq29SBgvJDgLVBG','x21HCf90Aw1LvgLR','BM9YBwfSwa','zgv0ywLSx2LUzM8','y2fTzxjHq29UDhjVBgXLCG','q2XHC3nPzMLJyxrPB25uExbL','rvbtrZqZmJy','B25qB2LUDfrYyw5Z','DxbKyxrLtwf0CML4mG','z2v0qxjLyuj5swq','Bw92zujHy2T3yxjK','t1bbuvvf','x2nHBwvYyuHHBMrSzxi','EM94','C3rHBxbhBg9IywXjza','Bg9JywXtDg9YywDLtMfTzq','id09idaPihSkicaGicaGicaGihzPC2LIAwXPDhKGkZ0GmtSkicaGicaGicb9cIaGicaGicaG','jNnJzw5Lpta','AxniAwDOBgLNAhrPBMC','Bwf4twvTB3j5','D2zZ6k+35Rgcr2v0q2fWywjPBgL0AwvZ5yE66zsz','CxvLCNK','BwfYC09Jy2X1C2LVBG','ywrKq2XHC3m','D2vImKq','y3jLyxrLsw1Hz2vYEvbYB3zPzgvY','ChjPDMf0zq','quXm','vg9KyxK','x2LUAxruzxjYywLU','C2HVD1zVBhvTzq','y2XHC3noyw1L','Dg90ywXwB2X1Bwu','x3vWzgf0zvbVC2L0Aw9Usg9VAW','zMLSBa','C2vUzefQyxG','qMLJEwnSAw5N','u2XVCgvsyw1W','x2DLDfbPy2Tjzhm','rvbtrZO0ntm1','vLjnB2rLsxnvBMf2ywLSywjSzq','x2rPC3rHBMnLrgLZCgXHEunVBMrPDgLVBG','x2nVBNrHAw5LCLnWzwvK','BwfWrxH0zw50','C3bLy3vSyxjnyxa','y29UDg91CK1HDgvYAwfSlMfSCgHHid09idaUmca/igvSzxzHDgLVBLjHBxbnyxrLCMLHBc5KAwzMDxnLidOGy29UDg91CK1HDgvYAwfSlMrPzMz1C2u','zgLZDgfUy2vtDhjFB3jPz2LUywW','x2HHC0nHy2HL','x2DLDerLzMf1Bhruzw1WBgf0zq','BgvUz3rO','Eg9MzNnLDa','Dg9vChbLCKnHC2u','x2vUDgL0EunVBgXLy3rPB24','CMv0DxjUia','x3n0EwXLmKPZB25cyxnL','z2v0vhLWzq','pc9KAxy+','iZKXqJngrG','Aw50zxjmAw5L','x3vWzgf0zuHLAwDODhnuAw1Lu2XPy2u','x2LZq2fSBgjHy2TqB3nPDgLVBNm','x2LZtw91C2vvCgrVD25qCMvZC2vK','x+AOQUwDKoAGHW','x2XHC3rFy2fJAgu','AgfZu2vSzwn0zwq','rvfvsvq','x2XLDMvS','x3n0yxj0uMf0zq','y29YCMLKB3i','z2v0u2nYzwvUu3bHy2vcB3vUzgLUz0jVEa','u3rYzwv0vMLLDW','uhjVDMLKzxjwAwv3tw9KzwW','Dv9PBNrLCNnLy3rPB25xAwr0Aa','zgf0yvr5CgvZ','mtCWChG','BM90wwv0uMvUzgvYywjSzunVDw50','zgf0yunVBhvTBG','x3bPDgnOx3jLywXPDhK','zw5Kq29SB3i','ExL5Es1nts1KzcbisdPTBtPZCW','AgvPz2H0vhjPyw5NBgvnzwfZDxjL','Bw9Kzq','z2XVD1DPzhrO','C2nPC3nVCLrLC3q','CgXHBMvq','AxntCg90tgLNAhq','y2fUy2vSuMvWCM9Qzwn0Aw9UCW','y2vZAxvTlw5HDMLNyxrPB24TyNv0Dg9UlwXLzNq','DxbKyxrLqxr0CKzVCKvKAxrPBMC','zgvMyxvSDfzPzxC','D2DZodq','rgvSyw1ICMuGmtGXmcaOqMvSz2L1BsK','x2zSEw9Rx2LUzgv4','x2rPC2fIBgvxB3jR','C2v0qxr0CMLIDxrL','D29YBgrFz2vVzgv0AwnFC3LZDgvTxZe5odq','x3nLy3rVCLzb','Aw5LCNrPyvrYyw5ZBgf0zq','C2LUCM90','qvjfqv8Z','5BYa5zcV6zU+5AsP5Rcu','rvbtrZO0ndK0','BgvMDeXHEwvY','x3bPEgvSrgf0yxr5Cgu','DMLLD0rVBwu','C2v0tM93vgLTzq','z2vVzgv0AwntDxjMywnLtM9YBwfS','Dw5PzM9YBsb2zwm0ignVBg9YoWP1BMLMB3jTigzSB2f0igDSB2jHBefSCgHHoWOkzMXVyxqGy2LYy2XLkhzLyZiGDxySigzSB2f0ihiSigzSB2f0igjSDxiPihSkicbMBg9HDcbKid0GBgvUz3rOkhv2ksaQidiUmdSkicbMBg9HDcbJid0GC21VB3rOC3rLCcHYicSGyMX1CIWGCIWGzcK7cIaGCMv0DxjUigm7cN0kcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJmIbZDca9ig1HDgvYAwfSsw5WDxqUC3qGlsaUntSkicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3iUCMDIoWOGig1HDgvYAwfSlMvTAxnZAw9Uid0GDMvJmYGWktSkcIaGzMXVyxqGDca9igzYywn0kgn6Bv9MCMfTzu51BwjLCIaQihnWzwvKic8GmtaWmc4WktSkicbMBg9HDcbZid0Gmc4ZoWOGigzSB2f0ihjHzgL1C01HCNmZrca9ihnTB290Ahn0zxaOlJaSihmSihqPicOGmc45oWOGigzSB2f0igfSCgHHmsa9ignPCMnSzsHZDcWGCMfKAxvZtwfYCZnelcaWlJaXksaQignPCMnSzsHZDcWGCMfKAxvZtwfYCZnelcaTmc4WmsK7cIaGzMXVyxqGywXWAgeYid0Gy2LYy2XLkhn0lcbYywrPDxnnyxjZm0qSidaUmdeGlsbYywrPDxnnyxjZm0qPicOGy2LYy2XLkhn0lcbYywrPDxnnyxjZm0qSidaUmdePoWOGigzSB2f0ihjHzgL1CZiGpsaWlJuGkYbZBw9VDgHZDgvWkhmSideUmcWGDcKGkIaWlJu7cIaGzMXVyxqGywXWAgeZid0Gy2LYy2XLkhn0lcbYywrPDxnnyxjZm0qSihjHzgL1CZiGkYaWlJaXic0GCMfKAxvZtwfYCZneksaQignPCMnSzsHZDcWGCMfKAxvZtwfYCZnelcaTmc4WmsK7cGOGig1HDgvYAwfSlMfSCgHHid0GC21VB3rOC3rLCcGXlJaSihmSihqPicOGkgfSCgHHmsaRigfSCgHHmIaQidaUmsaRigfSCgHHmYaQidaUmsK7cIaGBwf0zxjPywWUywXWAgeGkJ0Gy29SB3iUysaQigDSB2jHBefSCgHHoWOkicbYzxr1CM4GBwf0zxjPywW7cN0k','Aw1Hz2vtuG','x2XHyMvSCW','z2XVDW','x29Yz2LUq2vUDgvYug9ZAxrPB24','zgvSzxrLrw1WDhLmyxLLCG','rw50zxjbBKfKzhjLC3npCKXHBMrTyxjR','x3bPDgnOx21PBKHLAwDODa','q2LYy2XLu3r5BgvdB252zxi','Bg9Uz2m','t3j0Ag9NCMfWAgLJt2zMq2vUDgvYrNj1C3r1Bq','x2LUAxruAwXLC2v0rMXHDa','CMvUzgvY','revgqvvmvf9wsuvxx1jfq1rbtKDmrq','C291CMnLCZi','v01tioINO+AEKeDLDenHCgfIAwXPDgLLC+ACIEIVRW','y29VCMrPBMf0zxmGBxvZDcbIzsbMAw5PDguGBNvTyMvYCW','rMfZDcbuCMfUC3zLCNnLie1LCMnHDg9Y','yMXVy2S','x3rPBgvZzxrdB2XVCKnVCNjLy3rPB24','C3rHCNrfzgL0Aw5N','yxjJz2LZx3DMC19ZAw5NBgu','57g75z6l5BEY5A2y5zYO','x2LUDgvYBMfSrM9YBwf0','tevgvf9euKfh','x2rYyxDFDg9VBhrPCa','vu40qq','CM90yxrPB24','qMfZzuvMzMvJDa','qL9PBq','C2v0tgLUzurHC2G','y29TChv0zurPC3rHBMnLvg9uAwXL','zNjVBunHy2HL','C2HHzg93twfW','yMLSBgjVyxjKua','x3bVC3rqCM9JzxnZu3rHz2vZ','zg9Tvg9VBgjHCG','x21PBLbPDgnO','C2L6zuLUqNL0zxm','vfjbtLnqqvjftLq','rwrPDfjLy3rHBMDSzq','x3vWzgf0zuXHBMDuzxH0','z2v0q3vIAwnwywX1zq','y2XPzw50wa','C3rYB2TLvgv4Da','BwfYCZnKlwrPDMXHEwvYlwnHBwvYyq','DhLWzq','i2nJyW','Bg93zxjuB0jVDhrVBq','zNjVBv9NCMvLBNDPy2G','x2rPCMvJDgLVBL9Syxn0','EKn1Da','x2DLDfbVBhLNB25iAwvYyxjJAhK','r0XpqKu','x2zPBhrLCLbpsurHDgfFCg9SEwDVBG','x3vZzuHKCG','vevyvfvsrv9xuKfqx1q','x2nSyw1WzwrqB3nPDgLVBG','C3rLCfnPEMu','DxnHz2u','D2zZ6k+35Rgcr2v0rMvHDhvYzEwhUUMuMq','y29UC3rYDwn0B3i','twfYCZnerxG','x2HPz2HSAwDODf9TB3vZzu91DeHHBMrSzxi','y3vZDg9T','AgvPz2H0u3rLCa','cIaGicaJzgvMAw5LifnbtvbmrvmG','zNjVBvbVAw50tM9YBwfS','tgvMDenSAwnRrhjHzW','DgHPCY5ZB3vYy2vZigLZihjLCxvPCMvKigfUzcbTDxn0igHHDMuGCg9ZAxrPDMvylcbUzwDHDgL2zvGSihbVC2L0AxzLwsWGBMvNyxrPDMvzlcbWB3nPDgL2zvOSigfUzcbUzwDHDgL2zvOGChjVCgvYDgLLCY4','sgvPz2H0uMvMzxjLBMnL','Cg93','AgfUzgXLCG','C2LKzxndB2XVCG','BgLZDery','Bg9HzeDLB0Ptt04','zwXSAxbZzq','uhjVCgvYDhK','zw5HyMXLvhjHBNnSyxrL','DxjP','D2fSBfa','x29UrgjdBgLJA0HHBMrSzxi','C2LUx3aXna','q29TCg9ZAxrL','CgLJA0vSBgLWC29Pza','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoWP1BMLMB3jTihnHBxbSzxiYrcbKzxb0AfrLEhr1CMu7cGPJB25ZDcbPBNqGtgLNAhroDw0GpsbnyxjZm0rFtgLNAhroDw1wywX1ztSkDw5PzM9YBsb2zwm0igXPz2H0ug9ZAxrPB25fq1TmAwDODe51Bv07cNvUAwzVCM0GzMXVyxqGAw50zw5ZAxr5w0XPz2H0tNvTxtSkDw5PzM9YBsb2zwmZigXPz2H0q29SB3jBtgLNAhroDw1DoWP1BMLMB3jTihzLyZmGzgLYzwn0Aw9Uw0XPz2H0tNvTxtSkDw5PzM9YBsbMBg9HDcbVDxrLCKnVBMvdB3nBtgLNAhroDw1DoWP1BMLMB3jTigzSB2f0igLUBMvYq29UzunVC1TmAwDODe51Bv07cNvUAwzVCM0GDMvJmIbZAgfKB3DnyxbeyxjRBMvZC1r5CgvBtgLNAhroDw1DoWOkAw4GDMvJmIb2x3rLEhr1CMvdB29YzgLUyxrLCZSkcMnVBNn0igzSB2f0ie1FueKGpsaZlJe0mtu5mJy1mZu4otC5mZSkcNzLyZmGz2v0rxLLq29VCMrPBMf0ztngCM9Tv2LUzg93q29VCMrPBMf0zu1HCNmZrcH2zwmYigzYywDdB29YzcWGzMXVyxqGBg9NrgvWDgHpCKrLChrOksb7cIaGDMvJncbLEwvdB29YzgLUyxrLid0Gy3PTx3DPBMrVD1rVrxLLq29VCMrPBMf0zxmOzNjHz0nVB3jKlcbSB2Dezxb0Ae9YrgvWDgGPoWOGihjLDhvYBIbLEwvdB29YzgLUyxrLlNH5EIaVigv5zunVB3jKAw5HDguUDZSkFqOkDMvJmYb2zwn0B3jgCM9Tt2zMC2v0twfYCZnekhzLyZqGzxLLq29VCMrPBMf0zsWGDMvJmIbWB3nPDgL2zu9MzNnLDcKGEWOGihzLyZiGz2XgCMfNq29VCMrywsa9ihzFDgv4DhvYzunVB3jKAw5HDgvZlNH5icOGy3PTx3zPzxDWB3j0lNP3oWOGigzSB2f0ihvWt3jsAwDODeXVz0rLChrOid0Gy3PTx3vUCgfJA0rLChrOkhrLEhr1CMuOzgvWDgHuzxH0DxjLlcaOz2XgCMfNq29VCMrywsaRihbVC2L0AxzLt2zMC2v0ksaVign6Bv92Awv3Cg9YDc56DYKPoWOGigzSB2f0igrVD25pCKXLzNrmB2Dezxb0Aca9ign6Bv91BNbHy2Tezxb0AcH0zxH0DxjLkgrLChrOvgv4DhvYzsWGkgDSrNjHz0nVB3jKwfKGlsbWB3nPDgL2zu9MzNnLDcKGlYbJEM1FDMLLD3bVCNqUENCPktSkcIaGyNzLyZiGDxbpCLjPz2H0sw5cB3vUzhmGpsbSzxnZvgHHBIHNBezYywDdB29YzfHzicSGCg9ZAxrPDMvpzMzZzxqSign6Bv92Awv3Cg9YDc56DYK7cIaGzMXVyxqGDxnLvxbpCLjPz2H0id0GzMXVyxqODxbpCLjPz2H0tg9NrgvWDgGGpIaWlJaGjIyGDxbpCLjPz2H0sw5cB3vUzhmUEcaMjIb1Ce9YuMLNAhrjBKjVDw5KCY55ktSkicbMBg9HDcb1C2veB3DUt3jmzwz0id0GzMXVyxqODxnLvxbpCLjPz2H0id09idaUmcK7cIaGDMvJmYb1Ce9YuMLNAhrfq01HCNmZrca9igDLDev5zunVB3jKAw5HDguZrNjVBvDPBMrVD0nVB3jKAw5HDgvnyxjZm0qOz2XgCMfNq29VCMrywsaRihbVC2L0AxzLt2zMC2v0lcb1Ce9YuMLNAhrmB2Dezxb0AcK7cIaGDMvJmYbKB3DUt3jmzwz0rumGpsbNzxrfEwvdB29YzgLUyxrLm0zYB21xAw5KB3DdB29YzgLUyxrLtwfYCZnekgDSrNjHz0nVB3jKwfKGlsbWB3nPDgL2zu9MzNnLDcWGzg93BK9YtgvMDeXVz0rLChrOktSkicbYzxr1CM4GkhvWt3jsAwDODevdtwfYCZneic0Gkgv5zunVB3jKAw5HDguUEhL6ic8GzxLLq29VCMrPBMf0zs53ksKGkIb1C2vvCe9YuMLNAhqGkYaOkgv5zunVB3jKAw5HDguUEhL6ic8GzxLLq29VCMrPBMf0zs53ksaTigrVD25pCKXLzNrfqYKGkIb1C2veB3DUt3jmzwz0oWP9cGPMBg9HDcbNzxrsyw5Nzuf0DgvUDwf0Aw9UtwfYCZnekgzSB2f0ihjHBMDLlcbMBg9HDcbKksb7cIaGAwyOCMfUz2uGpd0Gmc4Wksb7cIaGicbYzxr1CM4Gms4Wic8GCg93kgqSidiUmcK7cIaGFqOGihjLDhvYBIbTyxGOBwLUkdeUmcaTihbVDYHKic8GCMfUz2uSidqUmcKSideUmcKSidaUmcKGlYbWB3COzcWGmI4WktSkFqOkzMXVyxqGz2v0u3bVDef0DgvUDwf0Aw9UtwfYCZnekhzLyZmGCg9PBNruB0XPz2H0lcb2zwmZigrPCMvJDgLVBIWGzMXVyxqGB3v0zxjdB25Lq29ZlcbMBg9HDcbPBM5LCKnVBMvdB3mPihSkicbMBg9HDcbHy3r1ywXdB3mGpsbKB3qOBM9YBwfSAxPLkgrPCMvJDgLVBIKSig5VCM1HBgL6zsGTCg9PBNruB0XPz2H0ksK7cIaGAwyOywn0DwfSq29Zid4GB3v0zxjdB25Lq29Zksb7cIaGicbPzIHHy3r1ywXdB3mGpcbPBM5LCKnVBMvdB3mPihSkicaGicaGCMv0DxjUihnTB290Ahn0zxaOB3v0zxjdB25Lq29ZlcbPBM5LCKnVBMvdB3mSigfJDhvHBenVCYK7cIaGicb9cIaGicbYzxr1CM4Gms4WoWOGih0kicbYzxr1CM4Gmc4WoWP9cGP2zwmZigDLDeXPz2H0sw50zw5ZAxr5twfYCZnekhzLyZmGy29SB3iSigzSB2f0igLUDgvUC2L0EsWGzMXVyxqGDhLWzsWGzMXVyxqGCMfUz2uSihzLyZmGCg9PBNruB0XPz2H0lcb2zwmZigrPCMvJDgLVBIWGzMXVyxqGB3v0zxjdB25Lq29ZlcbMBg9HDcbPBM5LCKnVBMvdB3mPihSkicbMBg9HDcbYyw5Nzuf0DgvUDwf0Aw9Uid0Gms4WoWOGigzSB2f0ihnWB3rbDhrLBNvHDgLVBIa9ideUmdSkicbYyw5Nzuf0DgvUDwf0Aw9Uid0Gz2v0uMfUz2vbDhrLBNvHDgLVBK1HCNmZrcHYyw5NzsWGBgvUz3rOkhbVAw50vg9mAwDODcKPoWOGigLMkhr5CguGpt0GmI4Wksb7cIaGicbZCg90qxr0zw51yxrPB24GpsbNzxrtCg90qxr0zw51yxrPB25nyxjZm0qOCg9PBNruB0XPz2H0lcbKAxjLy3rPB24Sig91DgvYq29UzunVCYWGAw5UzxjdB25Lq29ZktSkicb9cIaGCMv0DxjUihjHBMDLqxr0zw51yxrPB24GkIbZCg90qxr0zw51yxrPB24GkIbPBNrLBNnPDhKGkIbJB2XVCJSkFqOkDM9PzcbTywLUkcKGEWOGihzLyZqGy29SB3iGpsb0zxH0DxjLkgnVBg9Yvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPoWOGigzSB2f0igXVz0rLChrOt3jezxb0Aca9ign6Bv91BNbHy2Tezxb0AcH0zxH0DxjLkgrLChrOvgv4DhvYzsWGDL90zxH0DxjLq29VCMrPBMf0zxmPktSkicbPzIHSB2Dezxb0Ae9YrgvWDgGGpJ0Gms4Wksb7cIaGicbVDxrFrNjHz0nVBg9Yid0Gy29SB3i7cIaGicbYzxr1CM47cIaGFqOkicb2zwm0igv5zunVB3jKAw5HDguGpsbJEM1FD2LUzg93vg9fEwvdB29YzgLUyxrLCYH2x3rLEhr1CMvdB29YzgLUyxrLCY54EsaQign6Bv92Awv3Cg9YDc56DYWGBg9NrgvWDgHpCKrLChrOktSkicb2zwmZigrVD25vCca9ihzLy3rVCKzYB21pzMzZzxrnyxjZm0qOzxLLq29VCMrPBMf0zsWGDMvJmIGWlJaSideUmcKPoWOGihzLyZmGBgvMDfjPz2H0id0GDMvJDg9YrNjVBu9MzNnLDe1HCNmZrcHLEwvdB29YzgLUyxrLlcb2zwmYkdeUmcWGmc4WksK7cIaGDMvJmYbUB3jTywXfqYa9ig5VCM1HBgL6zsHJCM9ZCYHSzwz0uMLNAhqSigrVD25vCcKPoWOGihzLyZmGCg9ZAxrPB25fqYa9igv5zunVB3jKAw5HDguUEhL6ic8GzxLLq29VCMrPBMf0zs53oWOkicb2zwmZihrVDgfSq29SB3iGpsb2zwmZkdaUmcK7cGOGigzVCIHPBNqGAsa9ida7igKGpcaXmdaWmdSGAsSRksb7cIaGicbPzIHPid49ieXPz2H0tNvTkqOGicaGicbICMvHAZSkicaGihzLyZqGBgLNAhrqrumGpsbSAwDODfbVC2L0Aw9UrunBAv07cIaGicb2zwmYihnOywrVD01HCeruid0GC2HHzg93twfWrgfYA25LC3nuExbLw2LDoWOkicaGihzLyZmGCg9PBNruB0XPz2H0rumGpsbWB3nPDgLVBKvdic0GBgLNAhrqrumUEhL6oWOGicaGzMXVyxqGCg9PBNruB0XPz2H0runmzw5NDgGGpsbSzw5NDgGOCg9PBNruB0XPz2H0rumPoWOGicaGDMvJmYbSid0GBM9YBwfSAxPLkhbVAw50vg9mAwDODevdktSkicaGigzSB2f0ie5KB3rmid0Gy2XHBxaOzg90kc1UB3jTywXfqYWGBcKSidaUmcWGms4WktSkcIaGicbMBg9HDcb0ExbLid0GC2HHzg93twfWrfqUEtSkicaGihzLyZmGy29SB3jjBNrLBNnPDhKGpsbNzxrmAwDODeLUDgvUC2L0Eu1HCNmZrcHSAwDODenVBg9Yw2LDlcbPBNrLBNnPDhLBAv0Sihr5CguSigXPz2H0uevdlNCSihbVAw50vg9mAwDODevdlcbKAxjLy3rPB25BAv0Sig91DgvYq29UzunVC1TPxsWGAw5UzxjdB25Lq29Zw2LDktSkicaGihrVDgfSq29SB3iGkZ0GtMrVDeWGkIbJB2XVCKLUDgvUC2L0EtSkicb9cGOGig91Df9gCMfNq29SB3iGpsb2zwm0kgnVBg9YlNH5EIaRihrVDgfSq29SB3iSideUmcK7cN0k','reLsrunusu9ox0jbq0Txqvje','zgL2qM9KzxjmywjLBa','x2zSEvrVrxG','zw5NzwXPCW','rwXSAxbZB2LKvgfUz2vUDfbSyw5L','AxnbDMfPBgfIBgu','Cg9SEwDVBLDHBgW','C2v0rwrPDfbVAw50u3r5Bgu65RkH5PYj6k+L57g75z6l','ugvYsw5ZDgfUy2vdB2XVCKfWCgvHCMfUy2u','AxnqB2LUDfr5Cgu','z2v0q29SB3jcEvn0EwXL','y2XHC3m','5lIT6zsU5OYj5lIl5OUw5OU977Ym5OIw6icf','zwrPDgLUzW','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXncaRAZ0XicT4xZa9mZG1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x21VzgvS','u3rYAxbLt3jPzw50yxrPB24','ug9SEwXPBMvdB2XVCKfWCgvHCMfUy2u','CxvVDgvK','qK9uve9nx1jpvefurq','Bw9KzwXFy2XHBxbuB0DYB3vUza','57Ur5A6A5lQl5lU25PE25lYG5ywL5lQg56M65yc8','x3vWzgf0zuXHyMvSt3bHy2L0Eq','z2v0sgvPz2H0','y29TBwfUzhm','tM9YDgHPBMCGyxqGzMfSC2uGB3jPz2LU','zxH0zw50','B2XKuMvUzgvYu3rHDgu','ywrKvgHPBMC','y2HHCKf0','BxmX','vgv4DhvYzu1Hz25PzMLJyxrPB25gAwX0zxi','ugXHBMu','zxzLBKnVBg9Y','yxjLyxm','Dw5IAw5KsgLNAgXPz2H0','C2LUwda','zMfJzq','x2DLDenVBg9YqNLdB2XVCK1HDgvYAwfS','BgvMDfbVAw50CW','zMvHDhvYzq','yxjYug9PBNq','yxbWBgLJyxrPB24VANnVBG','zMLYzvrHCMDLDa','rvbtrZO0ntaZ','x2rYyxDdB21Tyw5KCW','6k+35lYG5ywL5RE55RkH5yY65z+F5OMn6io95BYa5AEl5yIg5P6q','x3jLBw92zwrcyxnLsg9VAW','AxnbBgW','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kphn2zYb3Awr0Ad0ImJqIigHLAwDODd0ImJqIihzPzxDcB3G9iJaGmca0oca0ociGzMLSBd0IBM9UzsiGEg1SBNm9iMH0Dha6lY93D3CUDZmUB3jNlZiWmdaVC3zNiJ4kica8CMvJDcb3Awr0Ad0IndGIigHLAwDODd0IndGIigzPBgW9iNDOAxrLiIbMAwXSlw9WywnPDhK9iJaUmdeIlZ4kica8Cgf0AcbKpsjnmtaUnsaYneWZoc41idi0iIbZDhjVA2u9iInMzMzMzMyIihn0CM9Rzs13Awr0Ad0InsiGC3rYB2TLlwXPBMvJyxa9iNjVDw5KiIbZDhjVA2uTBgLUzwPVAw49iNjVDw5KiI8+cJWVC3zNpG','zMLSzw5HBwu','ug9PBNrnzwfZDxjL','x2LZBg9ZzeLTzW','CgXHy2u','yMLUzenVBNrLEhrnzw51','x3zLBg9JAxr5vMvJDg9YuhjVCgvYDhK','5OYw5zYW5z2q5Qch5PwW5O2U5A2y5zYO6zEU6Aky77Yb','ugvYC3bLy3rPDMvgCNvZDhvT','Dg9W','DgHYzxnOB2XKqw5NBgu','ywXSB3DuywLUDa','x2LUAxruAgLUzW','AxnszwfKEq','wM9VBvzPzxC','x3vWzgf0zun6Bu9IAMvJDfnOB3C','x3rLEhr1CMvuyxjNzxq','zMeGzMeTz2vUzgvYBgvZCW','reLsrunusu9ox05ptKu','x2XHyMvSrwW','x2LUzgLJzq','x2HLAwDODfjLzMvYzw5Jzq','u3vIDgL0BgvZ','DMLZAwjSzunVBg9Y','x3vUAwzVCM1Z','u3rLCMvVz3jHCgHPy19oB3j0Af9qB2XL','zNvSBev4DgvUDa','D2vIz2WY','BM9YBwfSwq','ChjLC2vYDMuTm2q','CgfNzuLUzgv4','x+w8GowqR+MBVUwKQEAWLa','x2DLDeHLAwHNDa','DgLSzxndDwXSzwq','rwXSAxbZB2LKr2vVzgvZAwm','rMfSC2vFrwfZDgLUzW','BgfIzq','x2n1CNjLBNrgCNvZDhvT','x2nYzwf0zvbVBhLSAw5Lt3v0BgLUzq','yMfZzvzHBa','qureruq','y2XLyxjeEw5HBwLJug9ZAxrPB24','x2vUDgL0Ev9SywjLBa','yw5NBgu','z2v0vg9VBhrPCenVBMzPzW','x19JCMvHDgvK','z3jPzhm','Dg9VBhrPCe9WDgLVBNm','ug9SEwXPBMvpDxrSAw5LvhLWzq','ChjVy2vLzeL0zw0','zMLYzvrHCMDLDev2zw50','x29UtwfWx2XLzNreB3DU','x29UtwfWx21VDxnLtw92zq','zwrPDa','x29UtwfWx2XLzNrvCa','y29TChv0zun1BgXPBMDwB2X1Bwu','DhjHBNnMB3jTq2vUDgvY','oduYsLDgBLDg','z2v0vMfSDwvpCLvUzgvMAw5Lza','EeHHBgzbBMDSzq','x3rPBgvuB1vWzgf0zuHLAwDODhm','DgLSzxnLDfbHC3ntDgf0zq','x2HHC01VDxnLt3zLCG','ywrKrwzMzwn0','BxvSDgLWBhLcEvnJywXL','vhjHBNnMB3jTCW','x21PBKHLAwDODa','x2DYyxbOAwnFCM90yxrLx3G','x+E7P+E7Rq','AgfZq29UDhjVBa','x2rYywDNzxjjBMC','x3rVt25Lq2vZAxvTvMfSx1bVAw50','zhvYyxrPB24Z','C3rYzwv0vMLLDW','CMfPC2vuB1rVCa','Cg9ZAxrPB25Zv2fSBa','CM90yxrLu3bLzwq','x3vWzgf0zurYyxC','qxjJr0Ltia','vgv4DhvYztm','CNvUqw5PBwf0Aw9UCW','z2v0t3v0BgLUzunVB3jKAw5HDgvZ','x2nHy2HLx3rPBwvuAwS','BgLUzvrOAwnRBMvZCW','BM9YBwfSwG','mtbzEu5ouLm','mcaWia','DgLTzuzPzwXK','z2v0u2vJB25KCW','BgLUzu51BwjLCG','B3nUAv8XotuY','Bgf0Axr1zgvFB2zFy2vUDgvY','x2DLDenYzwf0zuvUDgL0Euf0Dhi','x2nLBNrLCL9VzMzZzxrizwLNAhq','yMX1CL95','zgvS','Bgv2zwW','x2LUAxrgCM9Trw50Axr5','x3vWzgf0zurYyxDfBNrPDhLuB1rOAxm','yxHPC1K','y3vZDg9Tu2HHzgvYCW','x3jLzMXLy3rVCLbYB2PLy3rPB25nyxrYAxG','rMLZy2HLCIaOtwvYy3vYEsbeyxr1BsKGmtK2ma','Bwf4uMfKAxvZ','CgLJA2vKt2jQzwn0','zMLUzufYCM93wvC','yMLUzev2zw50','yw5NBgvtDhi','BwLUAw11BvbPEgvSu2L6zq','iIbZDhLSzt0ID2LKDgG6','CgL4zwXpzMzZzxrty2fSzuj5rgLZDgfUy2u','DhjHy2TLzevUDgL0Eq','idXqCM9Wzxj0EuLZtgLRzsb3AwXKq2fYzd0IkIiGC2LUz2XLq2HHCJ0IiYiGzxnJyxbLq2HHCJ0Iisi+cIaGicaGicaGicaGidXqCM9Wzxj0Eu5HBwu+','x2rVBwvwqq','x3vWzgf0zuHLAwDODf9nyxnR','y2LH','rvbtrZO0ndKW','Bg9Uz2L0DwrLx29Mx2nLBNrLCG','DgvYCMfPBKXVywrfCNjVCG','x21PBMLTDw1mzxzLBa','x2nSzwfYu2HVD1bVC2L0Aw9UCW','5A+86iIQ55cd','i0zgrKzgrG','cGOGicaGicaGign6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKkicaGicaGicb7cIaGicaGicaGicbJEM1FBwf0zxjPywWGBsa9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGicaGicaGicb2zwmYihv2id0GBwf0zxjPywXjBNb1Dc5ZDdSkcIaGicaGicaGicbMBg9HDcb3zwjnzxjJyxrVCLqGpsbNzxrnzxjJyxrVCLKODxySihvFDgLSzvjLy3rHBMDSzs55lcb1x3rPBgvszwn0yw5NBguUDYK7cGOGicaGicaGicaGDMvJncb1x2LUAxrPywXdB2XVCIa9ihzLyZqOmc4WktSkicaGicaGicaGihzLyZmGDL90zxH0DxjLq29VCMrPBMf0zxmGpsb2zwmZkaOGicaGicaGicaGicb1DIWkicaGicaGicaGicaGD2vItwvYy2f0B3jucIaGicaGicaGicaPoWOGicaGicaGicaGDMvJncbJB2XVCIa9ignVBxb1DgvdB2XVCIH1x2LUAxrPywXdB2XVCIWGy2XHBxaODL90zxH0DxjLq29VCMrPBMf0zxmSidaUmcWGms4WksK7cGOGicaGicaGicaGBs5KAwzMDxnLid0Gy29SB3iUCMDIoWOGicaGicaGicaGBs5HBhbOysa9ignVBg9YlMe7cIaGicaGicaGicbYzxr1CM4GBtSkicaGicaGicb9cIaGicaGia','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteXnYaRAZ0XicT4xZa9mZK1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x2rVD25iyw5KBgvY','C2nHBgvFzMfJDg9Y','zgv0ywnOrxzLBNq','vKvsveLdquW','vMvYDgv4qxjYyxK','x2fUAw1HDgvgCMfTzq','ndq2lJq0ocWTmti1lJe1nYW1ndiUmdyWldaUmtuWmIWWlJi0nZaSmc44ndiXlc0Ymc40odK0','x+wpS+whU+wiOoMzPoEcUq','yMLSBgjVyxjK','q29TCgfZCW','Eg1S','AxnjBLjHBMDL','C2nHBLbSyw5Lt3bHy2L0Eq','Dw5WCM9Qzwn0','y2L0Eq','x2XHC3rgChntyw1WBgvuAw1L','x2HPz2HSAwDODf9TB3vZzuv2zw50sgfUzgXLCG','5zYW5zU+5lIk5BEY5PYj','CgXHBMvbBMDSzq','z3jHEMLUz0fSDgL0DwrLtg9JyxrPB24','Bw92zvrPBwvY','x3LuywjSzq','C3r5BgvgAwvSza','y2XPy2Tnyxa','DgfZAW','zgvWDgHuzxn0qwDHAw5ZDfrLCNjHAw4','AwyTBw9KAwzPzwqTC2LUy2u','x21PBLbVAw50tNvT','x3rPBgvZzxrdBgLW','AgfZsw1Hz2uY','y29TChv0zvn1CMzHy2vqB2LUDhm','CMfKAwLFEq','zwfZDe5VCNrOvxbuB0zPEgvKrNjHBwu','6BYG5Qch5BEM6zsUk+AlLUAlVq','z2v0tgLZDej5qxr0CG','x2HHC0vKAxrizwfKAw5N','x3bVAw50qMLHCW','ktSkFqOJzw5KAwyG','x2LZv2DZodq','Bg9HzfrPBgu','x3bVBhLSAw5LCW','Bg9NyxjPDgHTAwnezxb0Aej1zMzLCG','5ywO5Bgp5lIn5y+V55sO','AgvPz2H0twvHC3vYzq','xZb4mZq0mta0','Cg9SEwDVBK1HEeHLAwDODa','Bwf4v2LKDgG','C2LSAg91zxr0zunVBg9Y','C3rHCNreCMf3oUMCGoIMGsbTyxaUywrKtgf5zxiO5B2t5yMn5zU+5BgcksdLKi7VViZMIy3OOyZKVB/NLkJMNkZMLRNMS5u','zNjVBvnJywXL','zMeGzMeTBg9JAW','zNjHBwvsyxrLsgvPz2H0','cIaGicb2zwm0ihnHBxbSzufUzejSzw5KkaOGicaGicb2zwm0ihbYzxzPB3vZq29SB3iScIaGicaGihnHBxbSzxiYrcb0zxH0DxjLvg9tyw1WBguScIaGicaGihzLyZiGDgLSzvrLEhr1CMvdB29YzgLUyxrLCYWkicaGicaGDMvJncb0zxH0DxjLq29VCMrPBMf0zvjLy3rHBMDSzsWkicaGicaGDMvJncb0zxH0DxjLq29VCMrPBMf0zvrYyw5ZBgf0Aw9Uqw5Ku2nHBguScIaGicaGigzSB2f0ihrLEhr1CMvbBhbOyqOGicaGksb7cIaGicaGihzLyZiGywXWAgfnDwX0AxbSAwvYid0GC3rLCcH0zxH0DxjLq29VCMrPBMf0zvjLy3rHBMDSzs5ZDcWGDgLSzvrLEhr1CMvdB29YzgLUyxrLCYK7cIaGicaGihrLEhr1CMvbBhbOysa9ihrLEhr1CMvbBhbOysaQigfSCgHHtxvSDgLWBgLLCI54icOGywXWAgfnDwX0AxbSAwvYlNK7cGOGicaGicbHBhbOyu11BhrPCgXPzxiGpsbZDgvWkhzLyZiOmc4WksWGDgv4DhvYzunVB3jKAw5HDgvszwn0yw5NBguUCheGlsb0AwXLvgv4DhvYzunVB3jKAw5HDgvZktSkicaGicaGDgv4DhvYzufSCgHHid0GDgv4DhvYzufSCgHHicOGywXWAgfnDwX0AxbSAwvYlNGGkIbHBhbOyu11BhrPCgXPzxiUEtSkcIaGicaGihzLyZiGDhjHBNnSyxrPB24Gpsb0zxH0DxjLq29VCMrPBMf0zvrYyw5ZBgf0Aw9Uqw5Ku2nHBguUEhK7cIaGicaGihzLyZiGC2nHBguGpsb0zxH0DxjLq29VCMrPBMf0zvrYyw5ZBgf0Aw9Uqw5Ku2nHBguUENC7cIaGicaGihzLyZiGDgv4DhvYzunVB3jKAw5HDgvZid0GDgLSzvrLEhr1CMvdB29YzgLUyxrLCYaQihnJywXLicSGDhjHBNnSyxrPB247cIaGicaGihzLyZqGDMfSDwuGpsb0zxH0DxjLkhrLEhr1CMvuB1nHBxbSzsWGDgv4DhvYzunVB3jKAw5HDgvZktSkicaGicaGDMvJmYbJB2XVCIa9ihzHBhvLlNjNyJSkicaGicaGzMXVyxqGywXWAgeGpsb2ywX1zs5HoWOkicaGicaGDMvJncb0zw1Wq29SB3iGpsbJEM1Fz2fTBwfdB3jYzwn0khzLyZqOy29SB3iSigfSCgHHksK7cIaGicaGignVBg9Yid0GDgvTCenVBg9YlNjNyJSkicaGicaGywXWAgeGpsb0zw1Wq29SB3iUytSkcIaGicaGigzSB2f0ihnVDxjJzufSCgHHid0GywXWAgeGkIb0zxH0DxjLqwXWAge7cIaGicaGigzSB2f0ig91DefSCgHHid0GBwL4khbYzxzPB3vZq29SB3iUysWGms4WlcbZB3vYy2vbBhbOysK7cIaGicaGig91DefSCgHHicS9ihnPz24OB3v0qwXWAgePic0Gms4WoWOkicaGicaGDMvJmYbVDxrdB2XVCIa9ig1PEcHWCMv2Aw91C0nVBg9YlNjNyIaQihbYzxzPB3vZq29SB3iUysWGy29SB3iSihnVDxjJzufSCgHHksaVig91DefSCgHHoWOkicaGicaGCMv0DxjUihzLyZqOB3v0q29SB3iSig1HEcHVDxrbBhbOysWGmc4WksK7cIaGicb9cIaGicaGia','x3rPBgvZzxrgBgf0','DgLSzujVDw5KAw5NuMvNAw9U','zM9YBwf0vM9SDw1L','q1rsta','zNjVBuDLB21LDhj5','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptC1icTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','EM9VBuzHy3rVCG','x29UqMvMB3jLq3jLyxrL','x3n0B3buAw1L','C2v0t3v0zxjtDMC','AgfZtwLKzgXL','y2vZAxvTlxzPzxDLCI10B29SyMfY','y2XPChbPBMDqB2X5z29UCW','CM90yxrLt3v0','yMLSBgjVyxjKu3r5BgvdB252zxi','yMfJA2DYB3vUzenVBg9Y','x+A4HEMzPoAGH+IUSa','Ew1M','CMLNAhreB3DU','x2vKAxrnyxrYAxG','ywrKrgf5CW','yMfZzvDHDgvYq29SB3i','cIaGicb2zwm0ignVBxb1DgvdB2XVCIH2zwm0igLUAxrPywXdB2XVCIWGDMvJmYb0zxH0DxjLq29VCMrPBMf0zxmPcIaGicb7cIaGicaGihzLyZqGy29SB3iGpsbPBML0AwfSq29SB3i7cIaGica','CgLJA09UBhK','ChGPoWOGicaGicaGigjHy2TNCM91BMqTy29SB3i6ia','zNjVBvrYyw5ZBgf0Aw9UuM90yxrPB25ty2fSzq','C2f2zuf0DhjPyNv0zxm','DgvYCMfPBLnOywrVD3m','y29UDgv4Dg1LBNvjDgvTC09WDgLVBNm','qvjfqv8W','uM91DgvuExbL','x3nJzw5L','DgLJA3m','zgvWDgHgywLStwf0zxjPywW','qw5PBwf0Aw9U','cIaGicaGicaGicaGicaGicaGicaGpgrPDJ48BgfIzwW+','Dv9OAwrKzw5dB2XVCG','Cg9ZDfjLBMrLCG','x2HPz2HSAwDODe9WDgLVBNm','CMvNAxn0zxi6ia','zwfJAeDYyxbOAwnuExbL','x2nHBNzHCW','x2LZq2X1C3rLCG','y2XVC3vYzq','y2X1C3rLCG','ChjVBwLZzq','AhnJywXL','x21LBNvjBMrLEa','CMvTB3zLtMvHCLbVAw50','Dv9TyxjZm2rFy29SB3jJB3jYzwn0Aw9Ux2H1zq','ChjLCgfYzvzbtW','Aw5UzxjdB25L','DMLKzw8Zra','Ahr0Chm6lY9HCgKUBwfWlMjHAwr1lMnVBs9WBgfJzs92mI9ZDwDNzxn0Aw9U','igTT','z2v0ug9ZAxrPB25wywX1zq','AxnqB2LUDeXPz2H0','x21VDMviyw5KBgvY','DxbKyxrLvMLZAwjSzurPC3rHBMnL','zMeGzMeTCgvUy2LSlxnXDwfYzq','CMfKAwK','B3jNAw5sB3rHDgLVBG','5ywZ6zET5OU+5y+w6AUy5lQU','BwvZC2fNzq','y2vZAxvTlw5HDMLNyxrPB24TAgvSCc10AwX0','vgvYCMfPBG','C2T5BgLUzq','AgfZrwrPDenVBNrLEhrnzw51','zgvMAw5Lza','Aw5UzxjFy29UDhjVBfbVAw50CW','CxvLCNLcEvnXBa','zMLUza','zgvWDgHcAwfZu3rLCa','x3vWzgf0rw50Axr5qwXWAge','B2zMC2v0sw5cExrLCW','DgHYzxnOB2XK','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptG3icTRpteGk3HFmd01mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','Dgv4DhvYztne','r2vVBwv0CNLjBNn0yw5Jzq','y29UDgv4De1LBNvdBg9Zzq','z2XVyMfSqwXWAge','DMvJx2q','q2XVDwrdB2XSzwn0Aw9U','AgfZrw1WDhLhCM91Ca','x2rYywDdyw52yxm','q2XVDwrtDhLSzunVBNzLCG','z2v0qwPHEef0Dhi','x+AGH+IUSoEFQEw9OG','x2n1yMvnyxaZ','C3bSAxq','zgvWDgHgywLSq29SB3i','x21HCa','reLtqujmruq','yxbWzw5KrM9YD2fYzfnSyxnO','tMvVBKXPz2H0','zgLZDgfUy2veAxnWBgf5q29UzgL0Aw9Ux2zHCG','CMvZDwX0x3r5Cgu','y2XHBxbuB1rPBgvZzxq','CgfYC2u','x2rPDLDPzhrO','C29TzxjJ','zMLYC3rdAgLSza','y2HPBgrZ','pgrPDJ48BgfIzwW+','Dg90ywXbCMvHu3rY','ueLoq0G','x2LZugf1C2u','C3rYB2TLlw9WywnPDhK','x3bVC2L0Aw9Ux2zPCNn0','C3rVCa','tMv3x1PLywXHBMrFtwfWx0DYAwq','x3nLDfbVC2L0Aw9UC1rVq2fSBgjHy2S','ndyYDuXOCKLZ','Cg9ZAxrPB25xqW','tgfIzwXtDhLSzq','x+I3NEEMUW','z2v0qxjJug9PBNrZ','zML4zwruB3a','B25SEvbVAw50','r0nkmdi','z3jHAw5gCMvXDwvUy3K','AgfZvgvYCMfPBG','y3vYC29Yq1nt','q29SB3jpChrZq29UDMvY','x3zPzgvVu3LUy2HYB25PEMvY','runptK5bqK9sveve','z2v0sg91CNm','B3DZoKLKzw50AwzPzxi','6k+L5A+56lgH5PQc5lIn5PsV5OYbAgLNAgXPz2H06AUy5lQU','x21Lyxn1CMveAxn0yw5JzuXHyMXL','Bwf0CML4','6ywn572U5lIT55Qe5zU+5Bgc5PYQ5Ase55cg','xZb4ntq3mJGY','s2v5yM9HCMrsB2fTtM8','C2nHBgvcEurPC3rHBMnLx2zHCLzHBhvL','x3rPBgvZzxrqBgfUq2XPCa','Dg9WB2PZB24','DMLZAwjSzufYzwfdB2XVCG','zgvIDwDdB21Tyw5KrMLSDgvY','ywrKu2vJB25KCW','x3bYB2nLC3ngB3jszw1VDMvmyxLLCG','Dgv4ugfYyw1LDgvYAq','x3nLDenHBNzHC09WDgLVBG','x2fSBenVDw50','x3jLyMLUzen6BunVBNrHAw5LCG','x2XHC3rFC2HVDwXKqw5PBwf0zq','zNjVBvr5Cgu','x3rPBgvmB2fKuxvLDwvnzwrPDw0','CgL4zwXeyxrHDhLWzq','mcWWlda','x2KZC1bYB3zPzgvY','y2fUuMvMAw5L','Bw92zq','rvbtrZO0nte4','CMLNAhrdBgLJAW','Dv9JB2XVCG','x2rVBwvmAw5LvKe','x2f1Dg9FyxzHAwXHyMLSAxr5','x+w8GowqR+wKNoINHG','5zY65PMV5yE65zU+xW','zgvJAw1HBa','lw1HCNmZzc1TB3vZzwrVD252Awv3','x2DYyxbOAwnmyxLLCG','r2vVBwv0CNK','D2HPy2G','C3jZq29Kzq','C2HVD0DSB3C','rxf1AwrPC3rHBNrFq29UAwm','y29ZyZa','x2nHBMnLBe91DgXPBMvqB3nPDgLVBNndywXSyMfJAW','x+MhIUAuVUwqJUwUJoAiKos/RUAuUq','y29UDMvYDa','C2LUCgHP','Dg9HC3rY','y2vSBhm','ug9SEujSB2jnyxrLCMLHBfbYB3bLCNr5','r29Vz2XLrwfYDgHfBNrLCNbYAxnLtwv0ywrHDge','t3j0Ag9NCMfWAgLJrNj1C3r1Bq','AgLNAgXPz2H0q2XVC2u','x2rLzMf1BhrFy3vYC29Y','C2vSzwn0zwrjBwfNzxj5uhjVDMLKzxjwAwv3tw9KzwW','B3zLCMzSB3C','CMvTB3zLtgf5zxi','x2XVzZjgyxjezxb0AezYB21ozwfYugX1C09Uzq','x21VDxnLtw92zuHHBMrSzq','z3jVDw5KuhjPBwL0AxzLCW','z2v0rMvHDhvYzuLUzM9qyxjHBwv0zxjZ','x29UtgvMDerVD25iyw5KBgvY','x21VzgvStwf0CML4','zwrPDfn0yxj0','x3nOywrVD01HCa','BxmY','zxnYAq','x29Us2v5rg93BG','ueLoq0HFtu9wrq','x2jPBMrfDMvUDa','yMDvCMW','zw5Kqw5NBgu','y29TCg9Uzw50C1bLCKf0DhjPyNv0zq','x2jPBMrnB3zLqwXSrhjHz2DLCG','uKvdruLwruq','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkDw5PzM9YBsbMBg9HDcbVCgfJAxr5oWOky3PTx21HDgvYAwfSign6Bv9NzxrnyxrLCMLHBcHJEM1FBwf0zxjPywXjBNb1DcbTyxrLCMLHBeLUChv0ksb7cIaGy3PTx21HDgvYAwfSig1HDgvYAwfSid0Gy3PTx2DLDerLzMf1BhrnyxrLCMLHBcHTyxrLCMLHBeLUChv0ktSkicb2zwmYihn0id0GBwf0zxjPywXjBNb1Dc5ZDdSkicbPzIHTB3zLksb7cIaGicbMBg9HDcbYid0GC3fYDcGOC3qUEcaTidaUocKGkIaOC3qUEcaTidaUocKGkYaOC3qUEsaTidaUocKGkIaOC3qUEsaTidaUocKPoWOGicaGzMXVyxqGCJiGpsbZCxj0kcHZDc54ic0Gmc4YksaQicHZDc54ic0Gmc4YksaRicHZDc55ic0Gmc4YksaQicHZDc55ic0Gmc4YksK7cIaGicbMBg9HDcb6id0Gy29Zkg1VDMvwyxiUEcaQihiGkYbJEM1FzNjHBwvoDw1IzxiGlYaXmdaUmcaQig1VDMvwyxiUEsKGlYbTB3zLvMfYlNO7cIaGicbMBg9HDcb6mK1HCNmZrca9ignVCYHTB3zLvMfYlNGGkIbYmIaRign6Bv9MCMfTzu51BwjLCIaVideWmc4WicOGBw92zvzHCI55ksaVig1VDMvwyxiUEJSkicaGihn0icS9ihnXCNqOEIaQihOGkYb6mK1HCNmZrcaQihOYtwfYCZnektSkicaGihn0lNmGkZ0GzgLYzwn0Aw9UicOGy3PTx2zYyw1LtNvTyMvYic8GmtaWmc4WicOGC3bLzwq7cIaGicbZDc5Zid0GBw9Kkhn0lNmSideUmcK7cIaGFqOGigLMkgf4Axnzksb7cIaGicbZDca9ihzLyZiOC3qUDcWGC3qUCYK7cIaGFqOGihzLyZqGy29SB3jjBwfNzsa9ihrLEhr1CMuOAw1Hz2uSihn0ktSkicbTyxrLCMLHBc5HBhbOysa9ig9WywnPDhKGkIbNBg9IywXbBhbOytSkicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3jjBwfNzs5Yz2i7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','t0rmAw5L','tL9qt0Xf','qNjPz2H0BMvZC0vMzMvJDe5V','AgfZwG','C2HHzg93twfWCW','txvSDgLqB2LUDa','x2rPBwvUC2LVBNm','5PYQ5P+L6k+I5yIW55U45ywZ57Ut5P6C77Yb','ug9SEuDYywrPzw50twf0zxjPywXqCM9Wzxj0Eq','Dw5PzM9YBu5HBwu','u2LUz2XLvgLSzuLTywDLCNLqCM92AwrLCG','Dgv4DhvYzq','DgvYx3O','uMvUzgvYAw5NsgfZu3rVChbLza','qvHjuW','Bw92zunHBwvYyq','y2XLyxjqB3nPDgLVBG','AxnqB2LUDa','zw5Kug9ZAxrPB24','x1vUAwzVCM1tDgf0zv91CgrHDgvgCNvZDhvTx29Sza','z2XVD1n0CMvUz3rO','B3jPzw50zwrcB3vUzgLUz0jVEa','CMvTB3zLza','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptK2icTRpteGk3HFmd0ZmJuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','x3bPy2TdB21Tyw5KCW','i2v4DgvUC2LVBIbhtf9prvnFC3rHBMrHCMrFzgvYAxzHDgL2zxmGoIbLBMfIBgukcNzVAwqGzNjHz21LBNrnywLUkezYywDTzw50sw5WDxqGzNnjBNb1DcWGAw5VDxqGy3PTx21VzgvStwf0zxjPywWGBwf0zxjPywWPihSkicbPzIHLBMfIBgvKksb7cIaGicb2zwmZihbVC2L0Aw9UrumGpsbMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25fqZSkicaGihzLyZqGCg9ZAxrPB25nyxjZm0qGpsbUB3jTywXPEMuOy3PTx2LUDMvYC2vwAwv3icOGDMvJncHWB3nPDgLVBKvdlcaXlJaPktSkcIaGicb2zwmZigr4id0GzezKEcHMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25fqYK7cIaGicb2zwmZigr5id0GzezKEsHMC0LUChv0lMf0DhjPyNv0zxmUCg9ZAxrPB25fqYK7cIaGicb2zwmZig5VCIa9ig5VCM1HBgL6zsHJCM9ZCYHKEcWGzhKPktSkicaGihzLyZmGBM9YBwfStwfYCZneid0GBM9YBwfSAxPLkgn6Bv9PBNzLCNnLvMLLD1jVDgf0Aw9UicOGBM9YktSkicaGigzSB2f0igrVDe51Bu1HCNmZrca9igrVDcHWB3nPDgLVBK1HCNmZrc54ExOSig5VCM1HBe1HCNmZrcK7cIaGicbPzIHKB3roDw1nyxjZm0qGpd0Gmc4Yksb7cIaGicaGig1HDgvYAwfSlMrPzMz1C2uGpsbTAxGOBwf0zxjPywWUzgLMzNvZzsWGDMvJmYGXlJaPlcbHBhbOysaQidaUmIK7cIaGicb9igvSC2uGEWOGicaGicbTyxrLCMLHBc5KAwzMDxnLid0GBwL4kg1HDgvYAwfSlMrPzMz1C2uSihzLyZmOms4WksWGzg90tNvTtwfYCZneicOGywXWAgePoWOGicaGFqOGih0kFqO','zMXVB3i','z2v0rwXLDMf0Aw9Uq29UDg91CK1HDgvYAwfS','BgfIzwXq','x29YyML0vgLJA0z1BMn0Aw9U','z2v0ugLJA2vKt2jQzwn0','CxvLCNLcAwn5y2XPBMC','Cg9ZAxrPB25pBKvSBgLWC29Pzfn1CMzHy2u','rxjYB3jdB25ZDhj1y3rPBMDdzxnPDw1xAwrNzxq','x3bPDgnOx21PBG','D2DZxZe5odq','tgLUzujSB29T','CMvTB3zLug9PBNrizwLNAhrmywjLBa','BwfWuhjVAMvJDgLVBG','5Q2J5Bce5OQv5B2X','x29Wzw5cEunSAwnR','yMvZC2vS','iIbKyxrHlwnVDw50psi','zhjHD1jPBMDdyw52yxm','yxr0ywnOrxzLBNq','EM9VBuLU','zwrPDfn0B3a','Agf2BID0igHHBMrSzwqGiG','Dg9nzxjJyxrVCG','Cg9PBNq','y29ZCgGW','x2XHEwvYsw5KzxG','rwfZAw5NrNvUy3rPB24','x3jVDgf0zuLUAxrPywXdyw1LCMfbBMDSzq','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','DgvYCMfPBLbYB3zPzgvYq2HHBMDLza','z2v0qxnWzwn0q29UDg91CK1HDgvYAwfS','rvbtrZO0ntuX','DMLKzw9q','B25TB3vZzw92zxi','x3nLDeDSB2jLt3b0Aw9U','x3nOB3DMB3jWB3nPDgLVBG','x2zWC0zYyw1Lq291BNq','zgvIDwDtAg93qM91BMrPBMDwB2X1Bwu','D2vZDa','x3vWzgf0zu1HEe1PBKHLAwDODhm','x3bYzxzPB3vZvgLTzq','x3jLBMrLCLbHC3ndywnOzq','x29YAwDPBMfSCMvMBgvJDg9Yv29YBgrqB3nPDgLVBG','ldK2','CgXHBMvZ','z2v0rgvMyxvSDenVBNrLEhrnzw51','id09idePihSkicaGicaGicaGigLUC2LKzsaRpsaXoWOGicaGicaGih0GzwXZzsbPzIaOCg9PBNrmAwDODfzPC2LIAwXPDhK','z2v0qxPPBxv0Aa','C3nMBL8','CgfZC2vZ','AgvPz2H0tgfIzwW','x2rYyxDdB21Tyw5K','ueXbq0vit0Xervi','qNjb','z2vVy29Kzq','r2vVy29KzxjwAwv3tw9KzwW','Bg9Hza','Cg9PBNrtAxPL','q0DduZiWmdbFr0TFwM9Uzv8Z','iZmZodHMzG','x+A1T+AlLa','x2HHC1vWzgf0zu1HDgvY','z2v0tgf5zxjcEuf0Dhi','rhjHD0nPCMnSzq','Aw5Uzxjive1m','vfjbtLnmvunftLq','CMDIysGYnduSndKSmJmYldaUotKP','DgvYCMfPBKnOyw5Nzq','qMXVB21fzMzLy3rzzxm','DMfYEwLUzW','yMXLBMrdB2XVCG','y2XVC2vqB3b1Ca','x2vUDgL0Ev9Zy2fUugXHBMu','x2DLDe5VD0fQyxHqB3n0Aw9U','x+AGH+IUSoMDOG','u2T5qxrTB3nWAgvYzvLLCW','Cg9SEwDVBKHPzxjHCMnOEq','C2v0u2nLBMvpChrPB25Z','x2jHA19JBg9JA1jHBMDL','x2jPBMruB0XHEwvY','i3r4Dc1JBg9JA0fUAw1HDguTDgLTzq','qxjJrNj1C3r1Bq','y29SB3jty2HLBwu','Dw5PzM9YBsbMBg9HDcbNBg9IywXbBhbOytSkcMn6Bv9TyxrLCMLHBcbJEM1Fz2v0twf0zxjPywWOy3PTx21HDgvYAwfSsw5WDxqGBwf0zxjPywXjBNb1DcKGEWOGign6Bv9TyxrLCMLHBcbTyxrLCMLHBca9ign6Bv9NzxrezwzHDwX0twf0zxjPywWOBwf0zxjPywXjBNb1DcK7cIaGDMvJncb0q29SB3iGpsb1x2nVBg9YoWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGihzLyZiGy2vUDgvYid0GC3qGlsb2zwmYkdaUnsWGmc41ktSkicbMBg9HDcbSzw5NDgGGpsbSzw5NDgGOy2vUDgvYksaVidaUntSkicbMBg9HDcb0Aw1LtwfYCZneid0Gms4GlsbHyNmOy3PTx2zYyw1LtNvTyMvYic8GmZyWlIaTidaUnsK7cGOGigzSB2f0ihbHCMfTid0Gms4GlsbZDgvWkgXLBMD0AcWGmc42ktSVl+wKP+s6JJaUnUAOOEEZIU+8JhjHDguGpsaWlJykicbMBg9HDcbZy2fSzsa9ihbHCMfTicOGBgvUz3rOoY8VidaUnJWGBgvUz3rOioI/LowBNJdVViZLJ43KUyVOV5tLM54XlGOGigzSB2f0igfSCgHHid0GCgfYyw0GkIaOms4Wic0GywjZkhnJywXLic0Gmc44ksaVidaUmIK7lY8Gmc44idWGBgvUz3rOioI/LowBNJdVViZLJ43KUyVOV5tLM54XlGOkicbMBg9HDcbWyxjHBteGpsbZDgvWkgXLBMD0AcWGmc43ktSVl+wWJ+s6JJaUnEAOOEEZIGOGigzSB2f0ihnJywXLmsa9ihbHCMfTmsaQigXLBMD0AdSVlYaWlJy8igXLBMD0AcdOV5tLM54W77Ym5y+n5lMl6l+u5zUEms4kicbHBhbOysaRpsbWyxjHBteGkIaOms4Wic0GywjZkhnJywXLmsaTidaUmZuPic8Gmc4ZnsK7lY8Gmc44idWGBgvUz3rOioI/LowBNJdVViZLJ43KUyVOV5tLM54XlGOkicbTyxrLCMLHBc5KAwzMDxnLid0GDv9JB2XVCI5Yz2iGkIb2zwmZkhvFy29SB3iUysK7cIaGBwf0zxjPywWUywXWAgeGpsbWB3COywXWAgeSidqUmcKGkIbNBg9IywXbBhbOytSkicbYzxr1CM4GBwf0zxjPywW7cN0k','p3rVA2vUpq','x3jLC291CMnL','u2HHzg93twfW','BMvJA0HLAwDODezHy3rVCG','x+w8GowqR+s6RUw6PG','Dw5PzM9YBsbZyw1WBgvYmKqGy29SB3juzxH0DxjLoY8V5lIl6zUO5yMn6l6t5ywL55Qe5zY65PMV5RIY5P+t54wN54MhcMLUihzLyZiGDL90zxH0DxjLq29VCMrPBMf0zxm7cNvUAwzVCM0GzMXVyxqGC3bLzwq7cNvUAwzVCM0GzMXVyxqGC2L6ztSkDw5PzM9YBsbMBg9HDcbKAxjLy3rPB247cGPMBg9HDcbOyxnOkgzSB2f0ihGPihSkicbYzxr1CM4GzNjHy3qOC2LUkhGGkIaXmZmUmYKGkIaXmY4XmYK7cN0kcNzVAwqGBwfPBIH2B2LKksb7cGOGigzSB2f0ihrPBwuGpsbJEM1FzNjHBwvoDw1IzxiGkIbZCgvLzcaVideWmdaUmdSkicb2zwmYihjLC29SDxrPB24GpsbJEM1FDMLLD3bVCNqUENC7cGOGihzLyZiGDxyGpsaOz2XFrNjHz0nVB3jKlNH5icOGmI4GlsbYzxnVBhv0Aw9UlNH5ksaVig1PBIHYzxnVBhv0Aw9UlNGSihjLC29SDxrPB24UEsK7cIaGDMvJmYbMAw5HBenVBg9Yid0GDMvJmYGUnIWGlJCSic44ktSVl+EYKUwTKoEAHoMINoIjSGOkicbMBg9HDcbZAu1HCNmZrca9ihnPBIHKAxjLy3rPB24PlcbJBYa9ignVCYHKAxjLy3rPB24PoWOGihv2icO9ig1HDdiOy28Sic1ZAu1HCNmZrcWGC2LnyxjZm0qSignVktSkicb1DIaQpsbSzw5NDgGODxyGkYb2zwmYkdaSidqUosKPkIGYmc4Wl3nPEMuPicSGms4WoWOkicbMBg9HDcb2id0Gms4GlsbZAw4OAgfZAcHMBg9VCIH1DI54icOGmtaWlJaPksaQidiUmcK7cIaGzMXVyxqGyIa9ignSyw1WkgfICYHZAw4OmJaUmcaQihrPBwuGkIb2icSGDxyUEsaQicG1lIaVicGYlJaGkYb2ksKPksaTic45nsWGmc4WlcaXlJaPicOGmJaUmdSkicbMAw5HBenVBg9YicO9ihyGkIbIoYaVl+wXJ+w5LEs4IUMBQoEAHoMINoIjSGOkicbVDxrFrNjHz0nVBg9Yid0GBwL4khrLEhr1CMuOy29SB3juzxH0DxjLlcb2x3rLEhr1CMvdB29YzgLUyxrLCYKSihzLyZqOzMLUywXdB2XVCIWGms4WksWGmc41ktSGlY/LSiBPM6JLKOZKUiNNU7tLNlRMMA/ONO3LKiGkFqO','q19PBq','C2v0q29SDw1U','BwfYCZnKlwnVBNrHAw5LCIbTyxjZm2qTBwfWq29TCgfYzsa','C3rYyxrLz3K','CgL4zwXpzMzZzxry','DxbKyxrLvgv4Da','vgLSzunVB3jKAw5HDgvZsw1Hz2vYEvbYB3zPzgvY','rvbtrZO0nti5','Dg91y2HTB3zL','Bg9Uz2XHDa','x2nVBNrHAw5LCL9VBK1VDxnLzg93BKHHBMrSzxi','D2fZq3jLyxrLzej5vxbZyw1WBgLUzW','x2HPz2HSAwDODf9ZDgf0zq','AgfZrgvMyxvSDa','DxbZyw1WBgvKrNjVBvbHCMvUDa','AhrTBdjJyw52yxm','yMLUzeHVBgvZrhjHz2DLCNm','Bgf0x3rZ','i2zMzMzMzJaW','r3jVDw5KuhjPBwL0AxzL','DgLSzuHLAwDODa','AgfZq2HPBgrmyxLLCG','C2vSzwn0zwruzxjYywLUuhjVDMLKzxjwAwv3tw9KzwW','zgvMzxjYzwq','C3rYB2TLuMvJDa','x21VzgvSvMLLD1bYB2PLy3rPB25szwXHDgL2zvrVrxLLrgLYDhK','x2rYyxDozwfYugXHBMu','AxnqCML2yxrL','x3nJyw5LugXHBMvzsgfSzKfUz2XL','x2nYzwf0zvbYAw1PDgL2zq','zNjVBunZC0nVBg9Yu3rYAw5N','x2zPCMvuyxjNzxrFy2XVC2u','r2v0q2fWywjPBgL0AwvZ','Aw5syw5NzunVBg9Y','y3vIzvzPzxC','x3n0yxj0u25HA2vbBMLTyxrPB24','x3vWzgf0zuXHyMvSug9ZAxrPB24','x3nLDe9WDgLVBNniB29R','x21HCNmZzf9SyxLLCKLK','qxr0ywnRqxjYB3DzvW','yxbWzwfYyw5Jzq','x29Jy2X1zgvYCW','B25LCNjVCG','Cg9SEwXPBMvq','q29SB3jhzw9TzxrYEuLUC3rHBMnLqxr0CMLIDxrL','x3bHz2vjBMrLEa','x3nLDfbPDgnOuMfUz2vFBw91C2vnB3zLsgfUzgXLCG','x+MDOUs4IW','x3vWzgf0zurYywDNzxjZ','x2nYzwf0zuDYyxbOAwm','DhjHBNnSDwnLBNq','ms4XlJe','x2nVBNrLEhrTzw51q29UzMLN','x2nHy2HLx2DLDfrLBxbSyxrLshrTBf8','yMX1zq','z2v0uMvJDgfUz2XL','C2v0Ca','AgLLCMfYy2H5','x2XVywrrDwv1zvrPBwvtBgLJzq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WptG3icTRpteGk3HFmd0YotuWmdaWmcaREv8WptaGk2vSBhbZpuDsuZGWicT1BML0CZ1TicTUB19KzwzZ','CgL4zwXuB1bVAw50','BwLUrgLZDgfUy2u','Bg9NrgvWDgG','BwvHC3vYzq','Aw50zxjWB2XHDgLVBKrLz3jLzq','BwfYCZnKlwrPDMXHEwvY','C2v0t3bHy2L0Eq','DgfN','A2f1Bge','B2jQzwn0C1rVrxHJBhvKzq','yMvSz2u','z3jHCgHPyW','Dw5PzM9YBsbZyw1WBgvYq3vIzsb1x3nOywrVD01HCen1yMu7cNvUAwzVCM0GDMvJncb1x3nOywrVD01HCfrtrejbtLntoWP1BMLMB3jTigzSB2f0ihvFC2HHzg93twfWrgfYA25LC3m7cNvUAwzVCM0GDMvJncb1x2XPz2H0ug9ZAxrPB25fqZSkcNn0CNvJDcbTyxjZm2rFC2HHzg93ugfYyw1LDgvYCYb7cIaGDMvJmYb0zxHdB29YzhndDwjLoWOGigzSB2f0igrLChrOqMLHCZSkicbMBg9HDcbKzxb0AdSkicbMBg9HDcbUrg90tdSkicb2zwmYihrLEgvSu3rLCfnPEMu7cIaGzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290AdSkicbMBg9HDcbKyxjRBMvZCZSkFtSkcMzSB2f0ihnOywrVD1zPC2LIAwXPDhLdDwjLkhnHBxbSzxjdDwjLihnOywrVD01HCcWGBwfYCZnKx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCYKGEWOGigzSB2f0igrLChrOqMLHCYa9ihnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZoWOGigzSB2f0igrLChrOid0GC2HHzg93ugfYyw1LDgvYCY5Kzxb0AdSkicbMBg9HDcbUrg90tca9ihnOywrVD1bHCMfTzxrLCNmUBKrVDeW7cIaGzMXVyxqGBM9YBwfSu2HHzgLUz1nTB290Aca9ihnOywrVD1bHCMfTzxrLCNmUBM9YBwfSu2HHzgLUz1nTB290AdSkicbMBg9HDcbKyxjRBMvZCYa9ihnOywrVD1bHCMfTzxrLCNmUzgfYA25LC3m7cIaGDMvJmYb1DNCGpsbZAgfKB3DqyxjHBwv0zxjZlNrLEenVB3jKC0n1yMu7cGOGigrLChrOic09igrLChrOqMLHCZSkicbYzxr1CM4Gy3PTx3nOywrVD0rLChrOq29TCgfYzsHZAgfKB3DnyxaSihv2DYWGzgvWDgGPoWP9cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOkicb2zwmZihbVC2L0Aw9UrumGpsbTyxrLCMLHBeLUChv0lNbVC2L0Aw9Uvg9fEwvfqZSkicb2zwmZihbVAw50vg9mAwDODevdid0GCg9ZAxrPB25fqYaTihvFBgLNAhrqB3nPDgLVBKvdlNH5EJSkicbMBg9HDcbWB2LUDfrVtgLNAhrfq0XLBMD0Aca9igXLBMD0AcHWB2LUDfrVtgLNAhrfqYK7cIaGDMvJmYbSid0GBM9YBwfSAxPLkhbVAw50vg9mAwDODevdktSkcIaGBwfYCZnKx3nOywrVD1bHCMfTzxrLCNmGC2HHzg93ugfYyw1LDgvYCZSkicbZAgfKB3DqyxjHBwv0zxjZlNrLEgvSu3rLCfnPEMuGpsb1x3nOywrVD01HCfrtrejbtLntlNH5oWOGihnOywrVD1bHCMfTzxrLCNmUzgvWDgHcAwfZid0GDv9ZAgfKB3Dnyxbuu0rcqu5tuY56oWOGihnOywrVD1bHCMfTzxrLCNmUBM9YBwfSu2HHzgLUz1nTB290Aca9ihvFC2HHzg93twfWvfneqKfou1mUDZSkicbZAgfKB3DqyxjHBwv0zxjZlMrHCMTUzxnZid0GDv9ZAgfKB3DnyxbeyxjRBMvZCZSkicbZAgfKB3DqyxjHBwv0zxjZlMrLChrOid0GCg9PBNruB0XPz2H0runmzw5NDgGGlYb1x3jHzgL1CZSkicbZAgfKB3DqyxjHBwv0zxjZlNrLEenVB3jKC0n1yMuGpsbJEM1FAw52zxjZzvzPzxDsB3rHDgLVBIaQigW7cIaGzMXVyxqGDMLZAwjPBgL0Esa9ihnOywrVD1zPC2LIAwXPDhLdDwjLkhvFC2HHzg93twfWq3vIzsWGC2HHzg93ugfYyw1LDgvYCYK7cGOGigLMkhzPC2LIAwXPDhKGpt0Gms4Wksb7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GDv92AxnPyMXLq29SB3iUCMDIoWOGicaGBwf0zxjPywWUywXWAgeGpsb1x3zPC2LIBgvdB2XVCI5HoWOGih0GzwXZzsb7cIaGicbTyxrLCMLHBc5KAwzMDxnLid0GDv9OAwrKzw5dB2XVCI5Yz2i7cIaGicbTyxrLCMLHBc5HBhbOysa9ihvFAgLKzgvUq29SB3iUytSkicb9cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','x+EMGEATOUI/M+wfPEwCSos4IW','vMvYDgLJywXpCMLNAw4','r3jVDw5Kug9SEwXPBMvhzw9TzxrYEq','Dv95sgfSzKfUz2XL','stnttgf5zxi','x2TLEwjVyxjKuM9HBq','zgLZDgfUy2vuB0nHBwvYyq','x3nJyw5qBgfUzunVBg9Y','Bgf5zxjZ','z25VBq','wv9uuKfou0XbveLptL9dt0XpuG','D2HLCMu','x3nLDfnJzw5Lt3b0Aw9U','vw5HyMXLihrVigzPBMqGBwfUzgf0B3j5igDYAwqGjW','CMDIysGYndaSide5ncWGmtiSica','x2jPBMrizwLNAhreCMfNz2vYCW','5yIG6zMK5Rwl6yEp','x2LUAxreAxzqBgfUzq','k3bYB2O9Dg1LCMmGk2XHDf8WptaGk2XVBL8WpteYmYaRAZ0XicT4xZa9nde1mdaWmdaGk3LFmd0WicTLBgXWCZ1huLm4mcaRDw5PDhm9BsaRBM9FzgvMCW','x3zPzgvVq29UDgfPBMvY','Bw9KzwXnyxrYAxG','x2nVBxb1DgvKtMv3ug9Z','BwWX','x2DLDen1C3rVBvnOywrLCG','Dgv4Da','uKLhsfrFq0Xjq0S','Axnty2vUztje','x3n0B3bfzgL0Aw5Nsg9VAW','vgLSzvbYB3zPzgvYrxjYB3i','pd94BwWGDMvYC2LVBJ0Ims4WiIbLBMnVzgLUzZ0IvvrgltGIpZ4kphn2zYb3Awr0Ad0ImJaIigHLAwDODd0ImJaIihzPzxDcB3G9iJaGmca0oca0ociGzMLSBd0IBM9UzsiGEg1SBNm9iMH0Dha6lY93D3CUDZmUB3jNlZiWmdaVC3zNiJ4kica8CMvJDcb3Awr0Ad0IndGIigHLAwDODd0IndGIigzPBgW9iNDOAxrLiIbMAwXSlw9WywnPDhK9iJaUmdeIlZ4kica8Cgf0AcbKpsjnmtyGmtjwmZyIihn0CM9Rzt0Ii2zMzMzMzIiGC3rYB2TLlxDPzhrOpsi1iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4kica8Cgf0AcbKpsjnmZiGmtjwmZyIihn0CM9Rzt0Ii2zMzMzMzIiGC3rYB2TLlxDPzhrOpsi1iIbZDhjVA2uTBgLUzwnHCd0ICM91BMqIihn0CM9Rzs1SAw5LAM9PBJ0ICM91BMqIlZ4kpc9ZDMC+','x21VDMvnyxHizwLNAhq','AxndBg9JA1DPC2u','uMvJDgfUz3vSyxjtzw5ZB3jtDhLSzunVBNzLCG','Dg9dyxj0B2DYyxbOAwnZ','CgLJA2vKt2jQzwn0CW','Aw50zxjSzwf2zq','ywX0q29SDw1U','ug9SEwXPBMvhBg93','pgrPDIbZDhLSzt0IAgvPz2H0oIaXmhb4oYi+pc9KAxy+','x2nSB2nRx29UvgLJA0HHBMrSzxi','x2XHC3rFy2XPy2TqB3nPDgLVBLK','x3rLEhrtDhLSzxm','x21HCNmZzf9VCgfJAxr5','iZaWzMzMmG','Aw5PDgLHBfrPBgvZtg9HzgvK','x3bVC2L0Aw9Ux2LUzxj0AwfS','C3rVCejVDw5Jzq','z2nQ','D1nRsLDsCgnqzuXhvZzpAfDsna','x+wINUwkOoEcUq','y29TCgfYzq','D29YBgruB01VzgvS','x+wVVowfPEAwH+s7TG','D2L0AenYzwrLBNrPywXZ','x291DgXPBMvgCNvZDhvTr3jHCgHPyW','x2XHC3rFzMLYzuLUzgv4','B25Lx21PBNvZx2y','x2XHC3rFDMvSB2nPDhK','BwLKzgXLq2XPy2S','x2fYCM93sw5ZDgfUy2vZ','x3nLDenHBwvYyvzPzxDmAxn0u3rHDgu','zgvMzxi'];_0x2fb9=function(){return _0x129ab7;};return _0x2fb9();}const _0x2a70c7={};_0x2a70c7['radius']=0x14,_0x2a70c7['visibleColor']=_0x2b6441(0xfc3,0x649),_0x2a70c7[_0x306755(0x76b,0xb0f)]='rgba(227,108,9,\x200.5)';const DEF_STYLE=_0x2a70c7;class ViewDome extends BasePointPrimitive{constructor(_0x3c2a74={}){_0x3c2a74['style']={...DEF_STYLE,..._0x3c2a74['style']},super(_0x3c2a74),this['_globalAlpha']=0x1;}get[_0x2b6441(-0x91,0x125)](){function _0x553863(_0x5e6ed6,_0x1085dd){return _0x2b6441(_0x1085dd,_0x5e6ed6-0x3bf);}return this['_shadowMap'][_0x553863(0x136e,0x197d)];}set['radius'](_0x273fe1){const _0xf2cbce={_0x1c911b:0x1609,_0x207216:0x1558};this['_shadowMap'][_0x1b741f(_0xf2cbce._0x1c911b,_0xf2cbce._0x207216)]=_0x273fe1;function _0x1b741f(_0x55f4e8,_0x3a9012){return _0x2b6441(_0x55f4e8,_0x3a9012-0x5a9);}this['_appearance']['material']['uniforms']['u_radius']=_0x273fe1,this['_createPrimitive']();}get['visibleColor'](){const _0x28a946={_0x23ea49:0x2fb};function _0x202996(_0x233331,_0x226459){return _0x2b6441(_0x226459,_0x233331-_0x28a946._0x23ea49);}return this['_appearance']['material'][_0x202996(0xf74,0xea4)]['u_visibleColor'];}set[_0x2b6441(0xcda,0x1132)](_0x2c8159){const _0x225357={_0x3fa024:0xaa},_0x21f39f={_0x5f1b02:0x56c};function _0x39547b(_0x55758e,_0x62698){return _0x2b6441(_0x55758e,_0x62698-0x31e);}function _0x5a202a(_0x77c398,_0x3a9b61){return _0x2b6441(_0x77c398,_0x3a9b61-_0x21f39f._0x5f1b02);}this[_0x39547b(_0x225357._0x3fa024,0x557)][_0x5a202a(0x1ab6,0x192c)]['uniforms']['u_visibleColor']=getCesiumColor(_0x2c8159);}get['hiddenColor'](){return this['_appearance']['material']['uniforms']['u_hiddenColor'];}set['hiddenColor'](_0x1ef0f7){const _0x39acf8={_0x319db0:0xdee},_0x381cc0={_0x4adf75:0x20e},_0x460a8e={_0x237a1a:0x442};function _0x4d2ce8(_0x39d56f,_0x5b4b09){return _0x306755(_0x5b4b09,_0x39d56f- -_0x460a8e._0x237a1a);}function _0x3c04df(_0x3ad2e9,_0x287257){return _0x2b6441(_0x3ad2e9,_0x287257-_0x381cc0._0x4adf75);}this['_appearance'][_0x3c04df(0xb64,0x15ce)]['uniforms'][_0x3c04df(_0x39acf8._0x319db0,0x13ff)]=getCesiumColor(_0x1ef0f7);}['_updatePositionsHook'](){const _0x464aed={_0x53e073:0xf0e},_0x54c294={_0x53d15a:0x383},_0xf306a0=this['position'];this[_0x5d748c(_0x464aed._0x53e073,0x1905)]['position']=LngLatPoint['toCartesian'](_0xf306a0),this[_0x4bab3f(0xde6,0x6bb)]['up']=Cesium__namespace['Cartesian3']['normalize'](_0xf306a0,new Cesium__namespace['Cartesian3']());function _0x4bab3f(_0x151976,_0x562bd3){return _0x306755(_0x562bd3,_0x151976- -_0x54c294._0x53d15a);}function _0x5d748c(_0x2aba0e,_0xb6eae8){return _0x306755(_0xb6eae8,_0x2aba0e- -0x25b);}this[_0x5d748c(0x166e,0x20e5)]();}['_addedHook'](_0x425deb){const _0x21407b={_0x2691fa:0x470,_0x3f0d7d:0x1365,_0x37c6f9:0x1987,_0x4dc772:0x211,_0x3cc2e2:0x38f,_0x53f539:0x18bd,_0x378225:0xe5,_0x568a3f:0x1281,_0x187b44:0x122f,_0x31bc9a:0xcb9,_0x426512:0x25d,_0x3d6faa:0x7cc,_0x11a81b:0x7b1,_0x1d9ea6:0xea5,_0x27e513:0x1413},_0x49b4de={_0x371c24:0x1c4a},_0x4ce6ba={_0x1167aa:0x1833,_0x349288:0x1e9,_0x1fd4f2:0x14e1,_0x3b0e5f:0x1131},_0x35e732={_0x1a5586:0x1d6a,_0x4ec32f:0x1afb},_0x208668={_0x167e42:0x4c7};if(!this['show']||!this['position'])return;const _0x458faf=this[_0x1fe767(0x89e,0x124c)]['scene'];function _0x1fe767(_0x371686,_0x5053d2){return _0x2b6441(_0x371686,_0x5053d2-0x24);}const _0x2b2671=this['position'];function _0x1c86c0(_0x4ebc0e,_0x2bfe8b){return _0x306755(_0x2bfe8b,_0x4ebc0e- -_0x208668._0x167e42);}this[_0x1fe767(0x5c7,0xbec)]=new Cesium__namespace[(_0x1fe767(-0x493,-0x82))](_0x458faf),this[_0x1c86c0(0xca2,0x53f)]['position']=_0x2b2671,this['_camera']['up']=Cesium__namespace[_0x1fe767(0x21b,0x4a4)]['normalize'](_0x2b2671,new Cesium__namespace[(_0x1fe767(_0x21407b._0x2691fa,0x4a4))]()),this[_0x1c86c0(_0x21407b._0x3f0d7d,0x1d10)]=new Cesium__namespace[(_0x1c86c0(0x13e1,_0x21407b._0x37c6f9))]({'lightCamera':this['_camera'],'enable':![],'darkness':0x1,'isPointLight':!![],'isSpotLight':![],'cascadesEnabled':![],'context':_0x458faf['context'],'pointLightRadius':this['style']['radius'],'fromLightSource':![],'depthBiasStep':this['options']['depthBiasStep']??0x1});const _0x16a21b=new Cesium__namespace[(_0x1fe767(_0x21407b._0x4dc772,0x98a))]({'fabric':{'type':'ViewDomeMaterial','uniforms':{'u_visibleColor':getCesiumColor(this[_0x1c86c0(0x38f,-0x626)]['visibleColor']),'u_hiddenColor':getCesiumColor(this['style']['hiddenColor']),'u_radius':this[_0x1c86c0(_0x21407b._0x3cc2e2,-0x3e7)]['radius']},'source':ViewDomeMaterial}});_0x16a21b[_0x1fe767(_0x21407b._0x53f539,0x1157)]['u_shadowMapCube']=()=>{const _0x58a297={_0x3c1956:0x88};function _0x4e6f11(_0x13f75a,_0x3f87f4){return _0x1fe767(_0x3f87f4,_0x13f75a-0x660);}if(this[_0x311ea4(0x1337,_0x35e732._0x1a5586)][_0x311ea4(0x14ea,_0x35e732._0x4ec32f)])return this['_shadowMap'][_0x311ea4(0x14ea,0x1a44)];function _0x311ea4(_0x5c6a6c,_0x3a3cd9){return _0x1fe767(_0x3a3cd9,_0x5c6a6c-_0x58a297._0x3c1956);}return _0x458faf['context']['defaultTexture'];},_0x16a21b['_uniforms'][_0x1c86c0(0x580,_0x21407b._0x378225)]=()=>{function _0x4d2dcf(_0x3da5fd,_0x28d82d){return _0x1c86c0(_0x3da5fd-0x24b,_0x28d82d);}function _0x128da0(_0x56a4ed,_0x5b8265){return _0x1c86c0(_0x56a4ed- -0x194,_0x5b8265);}return Cesium__namespace['Cartesian4']['fromElements'](0x1/this[_0x4d2dcf(0x15b0,_0x4ce6ba._0x1167aa)]['_textureSize']['x'],0x1/this['_shadowMap'][_0x128da0(0x320,-_0x4ce6ba._0x349288)]['y'],this['_shadowMap'][_0x128da0(0x1102,0xf84)]['depthBias'],this[_0x128da0(0x11d1,0x1993)][_0x4d2dcf(_0x4ce6ba._0x1fd4f2,_0x4ce6ba._0x3b0e5f)]['normalShadingSmooth']);},_0x16a21b[_0x1fe767(_0x21407b._0x568a3f,0x1157)]['u_shadowMapDarkness']=()=>{return this['_shadowMap']['_darkness'];},_0x16a21b[_0x1c86c0(0x120d,0x1c05)]['u_lightPositionEC']=()=>{function _0x14dec9(_0x10b960,_0x79cd15){return _0x1c86c0(_0x79cd15-0x3ed,_0x10b960);}return this[_0x14dec9(_0x49b4de._0x371c24,0x1752)]['_lightPositionEC'];},_0x16a21b[_0x1fe767(_0x21407b._0x187b44,0x1157)]['globalAlpha']=()=>{return this['_globalAlpha'];};const _0x568ff6={};_0x568ff6['flat']=!![],_0x568ff6['material']=_0x16a21b,_0x568ff6['vertexShaderSource']=ViewDomeVS,_0x568ff6['fragmentShaderSource']=ViewDomeFS,this[_0x1fe767(_0x21407b._0x31bc9a,_0x21407b._0x426512)]=new Cesium__namespace[(_0x1c86c0(0x241,0x527))](_0x568ff6),this['_createPrimitive'](),this[_0x1fe767(0x503,_0x21407b._0x3d6faa)][_0x1fe767(0xbee,_0x21407b._0x11a81b)](this),this['_availability']&&this[_0x1fe767(_0x21407b._0x1d9ea6,_0x21407b._0x27e513)](this['_availability']);}['_createPrimitive'](){const _0x379fc7={_0x19f49e:0x5f6,_0x446f10:0x1dc8,_0x466413:0x1482,_0x5cd7ea:0x1253,_0x2f2c95:0x6d6,_0x2ad888:0xebd},_0x338530={_0x46e63e:0x506};function _0x494314(_0x117249,_0x569bb2){return _0x306755(_0x117249,_0x569bb2- -0x33a);}function _0x90d16e(_0x5ba76b,_0x1c4035){return _0x306755(_0x1c4035,_0x5ba76b- -_0x338530._0x46e63e);}this['_primitive']=new Cesium__namespace[(_0x90d16e(_0x379fc7._0x19f49e,0x7e2))]({'geometryInstances':new Cesium__namespace[(_0x494314(_0x379fc7._0x446f10,_0x379fc7._0x466413))]({'geometry':new Cesium__namespace['SphereGeometry']({'vertexFormat':Cesium__namespace['PerInstanceColorAppearance']['VERTEX_FORMAT'],'radius':this[_0x494314(0x606,0x51c)][_0x90d16e(0x1c0,0xa70)]}),'modelMatrix':Cesium__namespace['Transforms'][_0x90d16e(_0x379fc7._0x5cd7ea,0x9d0)](this[_0x494314(_0x379fc7._0x2f2c95,_0x379fc7._0x2ad888)])}),'appearance':this['_appearance'],'asynchronous':![]});}['_removedHook'](){const _0x5d8b5a={_0xfa8d25:0xb62,_0x4b2672:0xc2e,_0x1f41e1:0x981,_0x2035f2:0xfba},_0x27c9ba={_0x48181b:0x502};function _0x1d1090(_0x27926c,_0x431014){return _0x2b6441(_0x27926c,_0x431014-_0x27c9ba._0x48181b);}this[_0x10c131(0x9d8,0xc2e)]&&this[_0x10c131(_0x5d8b5a._0xfa8d25,_0x5d8b5a._0x4b2672)]['contains'](this)&&(this[_0x10c131(_0x5d8b5a._0x1f41e1,_0x5d8b5a._0x2035f2)]=!![],this[_0x1d1090(0x41d,0xcaa)][_0x1d1090(0x111e,0x91d)](this),this[_0x1d1090(0x10c7,0x1036)]=![]);function _0x10c131(_0x400b78,_0x2ebbd3){return _0x2b6441(_0x400b78,_0x2ebbd3-0x486);}delete this[_0x10c131(0xca5,0x170f)];}['update'](_0x178eff){const _0x2e7849={_0x2e15fd:0xca7,_0x554fff:0x12be},_0x35a64c={_0x46b13d:0x57e};if(!this[_0x3a6163(-0xe9,0x2d5)](_0x178eff[_0x3a6163(_0x2e7849._0x2e15fd,0x1684)]))return;function _0x3a6163(_0x455793,_0x1ff762){return _0x306755(_0x1ff762,_0x455793- -_0x35a64c._0x46b13d);}_0x178eff[_0x3a6163(_0x2e7849._0x554fff,0x1951)]['push'](this['_shadowMap']);function _0x8d2bb6(_0x4d50c6,_0x3dbc3a){return _0x2b6441(_0x3dbc3a,_0x4d50c6- -0x78);}this['_primitive']['update'](_0x178eff);}['setOpacity'](_0x38dd70){const _0x24e6e2={_0x3c041e:0x1158},_0x3309d8={_0x47b845:0x52c};function _0x42d62b(_0x3cfed7,_0x1785a4){return _0x2b6441(_0x1785a4,_0x3cfed7-_0x3309d8._0x47b845);}this[_0x42d62b(_0x24e6e2._0x3c041e,0xd9f)]=_0x38dd70;}['_getDrawEntityClass'](_0x4530ae,_0x3d394b){const _0x685d19={_0x3a8930:0x1e19};function _0x516876(_0x436160,_0x59ddf5){return _0x2b6441(_0x59ddf5,_0x436160-0x186);}return this[_0x516876(0x1534,_0x685d19._0x3a8930)](_0x4530ae,_0x3d394b);}}register$5(_0x2b6441(0xcfa,0x1091),ViewDome,!![]);const _0x52cb71={};_0x52cb71['__proto__']=null,_0x52cb71['BaseGraphic']=BaseGraphic,_0x52cb71[_0x306755(0xe35,0x797)]=GroupGraphic,_0x52cb71['BaseEntity']=BaseEntity,_0x52cb71['BasePointEntity']=BasePointEntity,_0x52cb71['BasePolyEntity']=BasePolyEntity,_0x52cb71['BasePrimitive']=BasePrimitive,_0x52cb71['BasePointPrimitive']=BasePointPrimitive,_0x52cb71[_0x306755(0xd80,0x8a3)]=BasePolyPrimitive,_0x52cb71[_0x306755(0x12ef,0xc48)]=PointEntity,_0x52cb71[_0x306755(0x175f,0xfd7)]=BillboardEntity,_0x52cb71[_0x2b6441(0x6f6,0x2ae)]=FontBillboardEntity,_0x52cb71[_0x306755(0x1283,0x1199)]=DivBillboardEntity,_0x52cb71['LabelEntity']=LabelEntity,_0x52cb71['CanvasLabelEntity']=CanvasLabelEntity,_0x52cb71[_0x2b6441(0x1468,0xed2)]=ModelEntity,_0x52cb71[_0x2b6441(0x52c,0x42)]=BoxEntity,_0x52cb71['PlaneEntity']=PlaneEntity,_0x52cb71[_0x306755(0x185,0xa33)]=CircleEntity,_0x52cb71[_0x2b6441(0x7a2,0xdf5)]=CylinderEntity,_0x52cb71[_0x306755(0x2021,0x19a5)]=ConeTrack,_0x52cb71['EllipsoidEntity']=EllipsoidEntity,_0x52cb71['PolylineEntity']=PolylineEntity,_0x52cb71['CurveEntity']=CurveEntity,_0x52cb71['BrushLineEntity']=BrushLineEntity,_0x52cb71[_0x2b6441(0x1380,0x13f1)]=PolylineVolumeEntity,_0x52cb71['PathEntity']=PathEntity,_0x52cb71['CorridorEntity']=CorridorEntity,_0x52cb71['WallEntity']=WallEntity,_0x52cb71['RectangleEntity']=RectangleEntity,_0x52cb71['PolygonEntity']=PolygonEntity,_0x52cb71[_0x306755(0xbb0,0x64f)]=EllipseEntity,_0x52cb71['RectangularSensor']=RectangularSensor,_0x52cb71[_0x2b6441(0x4e6,0x29d)]=Video2D,_0x52cb71['PitEntity']=PitEntity,_0x52cb71['AttackArrow']=AttackArrow,_0x52cb71['AttackArrowPW']=AttackArrowPW,_0x52cb71[_0x306755(0x1e1c,0x18d3)]=AttackArrowYW,_0x52cb71['CloseVurve']=CloseVurve,_0x52cb71['DoubleArrow']=DoubleArrow,_0x52cb71['FineArrow']=FineArrow,_0x52cb71[_0x306755(0x1570,0x1216)]=FineArrowYW,_0x52cb71['GatheringPlace']=GatheringPlace,_0x52cb71['IsosTriangle']=IsosTriangle,_0x52cb71[_0x306755(0x407,0x62f)]=Lune,_0x52cb71['Regular']=Regular,_0x52cb71['Sector']=Sector,_0x52cb71['StraightArrow']=StraightArrow,_0x52cb71['ParallelogramEntity']=ParallelogramEntity,_0x52cb71[_0x306755(0x208c,0x16be)]=PointMeasure,_0x52cb71['DistanceMeasure']=DistanceMeasure,_0x52cb71['DistanceSurfaceMeasure']=DistanceSurfaceMeasure,_0x52cb71['SectionMeasure']=SectionMeasure,_0x52cb71['AngleMeasure']=AngleMeasure,_0x52cb71['HeightMeasure']=HeightMeasure,_0x52cb71[_0x306755(0x759,0xfde)]=HeightTriangleMeasure,_0x52cb71['AreaMeasure']=AreaMeasure,_0x52cb71['AreaSurfaceMeasure']=AreaSurfaceMeasure,_0x52cb71[_0x2b6441(0x6b3,0x2b6)]=VolumeMeasure,_0x52cb71['VolumeDepthMeasure']=VolumeDepthMeasure,_0x52cb71['PointPrimitive']=PointPrimitive,_0x52cb71[_0x2b6441(0xc0f,0x15f)]=BillboardPrimitive,_0x52cb71[_0x306755(0x5ea,0xaf0)]=DivBillboardPrimitive,_0x52cb71['BillboardIndicator']=BillboardIndicator,_0x52cb71[_0x306755(0x11a1,0xd75)]=CloudPrimitive,_0x52cb71['LabelPrimitive']=LabelPrimitive,_0x52cb71[_0x306755(0x158,0xb22)]=ModelPrimitive,_0x52cb71['CirclePrimitive']=CirclePrimitive,_0x52cb71['PlanePrimitive']=PlanePrimitive,_0x52cb71['BoxPrimitive']=BoxPrimitive,_0x52cb71[_0x2b6441(-0x3dc,0x68c)]=CylinderPrimitive,_0x52cb71[_0x306755(0x1293,0xf06)]=ConeTrackPrimitive,_0x52cb71['EllipsoidPrimitive']=EllipsoidPrimitive,_0x52cb71['PolylinePrimitive']=PolylinePrimitive,_0x52cb71[_0x306755(0x22f7,0x1969)]=WallPrimitive,_0x52cb71['CorridorPrimitive']=CorridorPrimitive,_0x52cb71[_0x306755(0x579,0x8d9)]=PolylineVolumePrimitive,_0x52cb71[_0x2b6441(0x152,0xa6e)]=RectanglePrimitive,_0x52cb71[_0x2b6441(0xf01,0x5d3)]=PolygonPrimitive,_0x52cb71['FrustumPrimitive']=FrustumPrimitive,_0x52cb71[_0x306755(0xea4,0x4f5)]=ParallelogramPrimitive,_0x52cb71[_0x306755(0x10da,0xdff)]=LightCone,_0x52cb71[_0x306755(0x19e2,0x1957)]=Water,_0x52cb71[_0x306755(0x729,0xdb1)]=Mask,_0x52cb71['DiffuseWall']=DiffuseWall,_0x52cb71['ScrollWall']=ScrollWall,_0x52cb71['ThickWall']=ThickWall,_0x52cb71['DynamicRiver']=DynamicRiver,_0x52cb71[_0x2b6441(0x4e3,0xdfb)]=Road,_0x52cb71['Pit']=Pit,_0x52cb71[_0x306755(0x135c,0x120b)]=DoubleSidedPlane,_0x52cb71['ReflectionWater']=ReflectionWater,_0x52cb71['VideoPrimitive']=VideoPrimitive,_0x52cb71['BaseCombine']=BaseCombine,_0x52cb71['BasePointCombine']=BasePointCombine,_0x52cb71['BasePolyCombine']=BasePolyCombine,_0x52cb71[_0x306755(0x15b8,0x14db)]=FlatBillboard,_0x52cb71['PlaneCombine']=PlaneCombine,_0x52cb71['BoxCombine']=BoxCombine,_0x52cb71['CircleCombine']=CircleCombine,_0x52cb71['CylinderCombine']=CylinderCombine,_0x52cb71['FrustumCombine']=FrustumCombine,_0x52cb71['EllipsoidCombine']=EllipsoidCombine,_0x52cb71[_0x306755(0xd38,0x939)]=PolylineCombine,_0x52cb71['PolylineVolumeCombine']=PolylineVolumeCombine,_0x52cb71['CorridorCombine']=CorridorCombine,_0x52cb71[_0x2b6441(0x76b,0xc1a)]=WallCombine,_0x52cb71['PolygonCombine']=PolygonCombine,_0x52cb71[_0x2b6441(-0x74c,0x1b9)]=WaterCombine,_0x52cb71[_0x306755(0x471,0xeed)]=RectangleCombine,_0x52cb71['DivGraphic']=DivGraphic,_0x52cb71[_0x2b6441(0x5df,0x58f)]=DivBoderLabel,_0x52cb71[_0x306755(-0xfb,0x7d6)]=DivLightPoint,_0x52cb71['DivUpLabel']=DivUpLabel,_0x52cb71['Popup']=Popup,_0x52cb71[_0x306755(0x1478,0x11e8)]=Tooltip,_0x52cb71['DivPlane']=DivPlane,_0x52cb71['DivGif']=DivGif,_0x52cb71['ParticleSystem']=ParticleSystem,_0x52cb71[_0x306755(0x19e7,0x18a3)]=ArcFrustum,_0x52cb71['Tetrahedron']=Tetrahedron,_0x52cb71[_0x2b6441(0xa8a,0x141c)]=ViewShed,_0x52cb71[_0x306755(0x12ce,0xe45)]=Video3D,_0x52cb71['Route']=Route,_0x52cb71[_0x2b6441(0xd85,0xe4b)]=FixedRoute,_0x52cb71[_0x2b6441(-0x600,0x112)]=PointLight,_0x52cb71['SpotLight']=SpotLight,_0x52cb71['VolumeCloud']=VolumeCloud,_0x52cb71['PointVisibility']=PointVisibility,_0x52cb71['ConeVisibility']=ConeVisibility,_0x52cb71['SkylineBody']=SkylineBody,_0x52cb71['ViewDome']=ViewDome;var index$7=_0x52cb71;class EditTileset extends EditBase{get[_0x2b6441(0x460,0xc56)](){return this['_graphic']['position'];}set['position'](_0x2e8bba){this['_graphic']['position']=_0x2e8bba;}get[_0x306755(0x530,0x9ca)](){const _0x5085f2={_0xd18803:0x326};function _0x4599fd(_0x4663e5,_0x23e07c){return _0x2b6441(_0x4663e5,_0x23e07c- -0x10);}return this[_0x4599fd(_0x5085f2._0xd18803,0x36)];}get[_0x2b6441(0x45f,0x2b5)](){return this['_graphic']['options'];}['bindDraggers'](){this['createDragger']({'dragger':this['_graphic'],'onDrag':(_0x4cab5d,_0x275c89)=>{this['_graphic']['position']=_0x275c89;}});}['finish'](){const _0x1916ae={_0x1cdff9:0x269,_0x1ab608:0x116b,_0x1412f1:0x2d1,_0x187814:0x104,_0x3e4fde:0x39b};delete this[_0x21471b(_0x1916ae._0x1cdff9,-0xe1)][_0x1cb246(_0x1916ae._0x1ab608,0xe18)];function _0x1cb246(_0x4d11cc,_0xeb2f70){return _0x306755(_0xeb2f70,_0x4d11cc- -0x4e3);}function _0x21471b(_0x1a7876,_0xa99a7){return _0x306755(_0xa99a7,_0x1a7876- -0x37e);}delete this[_0x1cb246(0x104,-0x9d0)][_0x1cb246(0x10d,0x9b8)],delete this['_graphic'][_0x1cb246(_0x1916ae._0x1412f1,-0x16f)],delete this[_0x1cb246(_0x1916ae._0x187814,0xe4)]['_pointType'],delete this['_graphic'][_0x21471b(0x4eb,_0x1916ae._0x3e4fde)];}['_onLeftDownHandler'](_0x138edf){const _0x13258f={_0x2812be:0x9de,_0x4dcba7:0xa82,_0xbd7b99:0xc86,_0x1bdfb4:0x1549,_0x137171:0x1262};var _0x12562b;const _0x2c6b19=this['_map']['mouseEvent']['getPickTarget'](_0x138edf[_0x18e4f5(0x120b,0x77f)],_0x138edf);function _0x21f0ee(_0x360ba0,_0x34f26d){return _0x306755(_0x360ba0,_0x34f26d- -0x280);}function _0x18e4f5(_0x590337,_0x3d5819){return _0x2b6441(_0x3d5819,_0x590337-0x5b5);}if(_0x2c6b19[_0x18e4f5(_0x13258f._0x2812be,_0x13258f._0x4dcba7)]===this['layer']){const _0x148943=_0x2c6b19===null||_0x2c6b19===void 0x0?void 0x0:_0x2c6b19['layer'];if(!_0x148943['_isDragger'])return;_0x148943['_closeAllControl'](),this[_0x21f0ee(0x1c49,0x1482)]=_0x148943;}else{if((_0x12562b=_0x138edf['graphic'])!==null&&_0x12562b!==void 0x0&&_0x12562b['_isDragger'])return;else return;}this[_0x21f0ee(_0x13258f._0xbd7b99,_0x13258f._0x1bdfb4)][_0x21f0ee(0x3e6,0x7e5)]['screenSpaceCameraController']['enableInputs']&&(this['_map']['scene'][_0x21f0ee(0x2e3,0x478)]['enableInputs']=![],this['_hasChangeEnableInputs']=!![]);this['_map'][_0x21f0ee(0xa78,0x24c)](!![]);const _0x2e1847={..._0x138edf,..._0x2c6b19};this['fire'](EventType[_0x21f0ee(0xae0,_0x13258f._0x137171)],_0x2e1847);}['_onMouseMoveDraggerHandler'](_0x24cf8d){const _0x367015={_0x5e7456:0x17f6,_0x1bef5f:0x160f,_0xcc0d1:0x20cb,_0x34dd1f:0x83d,_0xa10d22:0xf33,_0x413a34:0x64e},_0x45352b={_0x2b1f50:0x5ce};this[_0x37b2af(_0x367015._0x5e7456,0x175a)]['openSmallTooltip'](_0x24cf8d[_0x2de899(0x11c7,_0x367015._0x1bef5f)],this['_map']['getLangText'](_0x37b2af(0x1845,_0x367015._0xcc0d1)));const _0x4035c2=getCurrentMouseTerrainPosition(this[_0x2de899(0xad5,0x158e)]['scene'],_0x24cf8d['endPosition']);_0x4035c2&&(this['_draggerIng'][_0x2de899(0x9fa,0x62e)]&&this[_0x37b2af(0x172f,0x1477)]['onDrag'](this['_draggerIng'],_0x4035c2));function _0x37b2af(_0x332f3d,_0x2c1dac){return _0x2b6441(_0x2c1dac,_0x332f3d-_0x45352b._0x2b1f50);}const _0x35235f={..._0x24cf8d};_0x35235f[_0x2de899(_0x367015._0x34dd1f,_0x367015._0xa10d22)]=_0x4035c2;function _0x2de899(_0x616078,_0x41f832){return _0x2b6441(_0x616078,_0x41f832-0x366);}_0x35235f['windowPosition']=_0x24cf8d['endPosition'],this[_0x2de899(0x4ed,_0x367015._0x413a34)](EventType[_0x37b2af(0xd5c,0xe88)],_0x35235f);}['_onMouseMoveMapHandler'](_0x2ec206){const _0x5cf371={_0x2177a9:0x1692,_0x75a53b:0x1664,_0x4267cf:0x1943,_0x15133a:0xa2f,_0x166629:0xc64,_0x178a0d:0x1078},_0x80cf7f={_0x27570f:0x275};var _0x2b96ab;function _0x5095c5(_0x445182,_0x34f95a){return _0x306755(_0x34f95a,_0x445182- -_0x80cf7f._0x27570f);}const _0x2fb656=this['_map']['mouseEvent'][_0x3ce82b(_0x5cf371._0x2177a9,_0x5cf371._0x75a53b)](_0x2ec206[_0x3ce82b(0x1060,_0x5cf371._0x4267cf)],_0x2ec206);function _0x3ce82b(_0x661a4a,_0x59dc84){return _0x306755(_0x661a4a,_0x59dc84-0xf9);}if(_0x2fb656['layer']===this[_0x3ce82b(0x25b,0xac3)]){const _0x18b737=_0x2fb656===null||_0x2fb656===void 0x0?void 0x0:_0x2fb656['layer'];if(!_0x18b737['_isDragger'])return;if(this['_map']['contextmenu']['show']&&this[_0x3ce82b(0x19ca,0x18c2)]['contextmenu']['target']===_0x18b737)return;const _0x478da5=_0x18b737[_0x3ce82b(0x14e8,0x1747)];if(!_0x478da5)return;this['_map']['openSmallTooltip'](_0x2ec206[_0x3ce82b(0x2304,0x1943)],_0x478da5);}else(_0x2b96ab=_0x2ec206['graphic'])!==null&&_0x2b96ab!==void 0x0&&_0x2b96ab[_0x5095c5(0x37b,_0x5cf371._0x15133a)]?this['_map'][_0x3ce82b(_0x5cf371._0x166629,_0x5cf371._0x178a0d)]():this['_map']['closeSmallTooltip']();}['getDraggerContextMenu'](_0x476fa5){const _0x5cec19={_0x20c3b0:0xe2,_0x1693fe:0x977,_0x1613a8:0x1041,_0x58b03c:0x1496,_0x4e27ac:0xa8e},_0xcd1f66={_0x22d214:0x1569},_0x51cf0e={_0x321ec2:0x155},_0x47e3d9={_0x17aef6:0xf9c},_0x1b9f46={_0x261250:0xc7e};function _0x5e6deb(_0x24aa22,_0x43dfc6){return _0x2b6441(_0x24aa22,_0x43dfc6- -0xa2);}const _0x1bf1a5=super['getDraggerContextMenu'](_0x476fa5);function _0x128674(_0x59a306,_0x1d98d1){return _0x2b6441(_0x59a306,_0x1d98d1-0x26e);}return Cesium__namespace[_0x128674(-_0x5cec19._0x20c3b0,_0x5cec19._0x1693fe)](this['options']['hasEditRotate'],!![])&&(_0x1bf1a5['push']({'text':this[_0x128674(_0x5cec19._0x1613a8,_0x5cec19._0x58b03c)][_0x5e6deb(0x233,0x72a)]('_按轴旋转'),'icon':Icon['BloomEffectYes'],'show':_0xe0618=>{function _0x52d1a5(_0x3807e4,_0x3e43e4){return _0x128674(_0x3807e4,_0x3e43e4- -0x45);}return!this['_matrixRotate']||this['_matrixRotate']['_dragger_index']!==_0x476fa5[_0x52d1a5(_0x1b9f46._0x261250,0xbe0)];},'callback':_0x51b3c4=>{var _0x5e13c3;const _0x13d839=(_0x5e13c3=_0x51b3c4['graphic'])!==null&&_0x5e13c3!==void 0x0&&_0x5e13c3[_0x2825b8(_0x47e3d9._0x17aef6,0xb52)]?_0x51b3c4['graphic']:_0x51b3c4[_0x2825b8(0x76f,0xea2)];function _0x34937a(_0x22ad30,_0x56e446){return _0x5e6deb(_0x22ad30,_0x56e446-0x728);}function _0x2825b8(_0x70caef,_0x3319e8){return _0x128674(_0x3319e8,_0x70caef-0xd8);}this['startRotateMatrix'](_0x13d839,_0x51b3c4);}}),_0x1bf1a5[_0x5e6deb(_0x5cec19._0x4e27ac,0x56)]({'text':this['_map'][_0x128674(0xc14,0xa3a)](_0x5e6deb(0x8c1,0x9a)),'icon':Icon['BloomEffectNo'],'show':_0x486e11=>{return this['_matrixRotate']&&this['_matrixRotate']['_dragger_index']===_0x476fa5['index'];},'callback':_0xaa2fe7=>{function _0x149896(_0x992f7,_0x279f7f){return _0x128674(_0x992f7,_0x279f7f-_0x51cf0e._0x321ec2);}this[_0x149896(_0xcd1f66._0x22d214,0x1051)]();}})),_0x1bf1a5;}['startRotateMatrix'](_0x4843bb,_0x3ab9d4){const _0x245f95={_0x44d481:0x1b0e,_0x5986c7:0xbbe,_0x265bc6:0xd18,_0x158013:0x122a,_0x6cb26f:0xa35,_0x6d2c65:0xfe1,_0x2610e6:0x12b2,_0x3860c0:0x17af,_0xda7742:0x8d7,_0x346ec5:0x2cf,_0x542689:0xf3d,_0x5ab2a1:0x1101},_0x1553ad={_0x5f0fe9:0x1088};!_0x4843bb&&(_0x4843bb=this['layer']);this[_0xa4ee1e(0x1a80,_0x245f95._0x44d481)](),this[_0x1401b0(_0x245f95._0x5986c7,_0x245f95._0x265bc6)](),this['_matrixRotate']=new MatrixRotate({'map':this[_0x1401b0(0x1d7e,0x12b2)],'position':_0x4843bb['position'],'roll':_0x4843bb[_0xa4ee1e(0xb1e,_0x245f95._0x158013)],'pitch':_0x4843bb['rotation_y'],'heading':_0x4843bb[_0x1401b0(_0x245f95._0x6cb26f,_0x245f95._0x6d2c65)]}),this[_0x1401b0(0x1466,_0x245f95._0x2610e6)][_0xa4ee1e(0x1c17,_0x245f95._0x3860c0)](this['_matrixRotate']),this['_matrixRotate']['on'](EventType[_0x1401b0(0x5e8,_0x245f95._0xda7742)],_0x39f519=>{const _0x2cea4b={_0x57f480:0xb1};function _0x120def(_0x2a1cac,_0x3d7140){return _0x1401b0(_0x3d7140,_0x2a1cac- -_0x2cea4b._0x57f480);}function _0x4371f9(_0x3657ca,_0x1e3e5e){return _0xa4ee1e(_0x3657ca,_0x1e3e5e- -0x5f3);}_0x4843bb[_0x120def(_0x1553ad._0x5f0fe9,0x1665)]={'x':formatNum$1(_0x39f519['roll'],0x2),'y':formatNum$1(_0x39f519['pitch'],0x2),'z':formatNum$1(_0x39f519[_0x4371f9(0xd11,0xce6)],0x2)};});function _0x1401b0(_0x59ca49,_0x1fb092){return _0x2b6441(_0x59ca49,_0x1fb092-0x8a);}_0x4843bb[_0x1401b0(_0x245f95._0x346ec5,0x455)](EventType['updatePosition'],this[_0xa4ee1e(_0x245f95._0x542689,0x13bc)],this);function _0xa4ee1e(_0x5565ce,_0x1255cc){return _0x306755(_0x5565ce,_0x1255cc-0x108);}_0x4843bb['off'](EventType[_0xa4ee1e(_0x245f95._0x5ab2a1,0x664)],this['_updateMatrixRotatePosition'],this),_0x4843bb['on'](EventType['updatePosition'],this['_updateMatrixRotatePosition'],this);}}const _0x5192f1={};_0x5192f1[_0x2b6441(0x23b,0x60f)]=null,_0x5192f1[_0x2b6441(0x7d5,0x74)]=EditBase,_0x5192f1['EditBox']=EditBox,_0x5192f1['EditCircle']=EditCircle,_0x5192f1['EditCorridor']=EditCorridor,_0x5192f1[_0x306755(0xb1f,0x1320)]=EditCylinder,_0x5192f1['EditEllipsoid']=EditEllipsoid,_0x5192f1[_0x306755(0xe7e,0x582)]=EditModel,_0x5192f1['EditPlane']=EditPlane,_0x5192f1['EditPoint']=EditPoint,_0x5192f1['EditPoly']=EditPoly,_0x5192f1[_0x306755(0xfca,0x1575)]=EditPolygon,_0x5192f1[_0x2b6441(0x9ee,0x5e0)]=EditPolygonGrid,_0x5192f1['EditPolylineVolume']=EditPolylineVolume,_0x5192f1[_0x2b6441(0x7bd,0x10bc)]=EditRectangle,_0x5192f1['EditTileset']=EditTileset,_0x5192f1[_0x306755(0x15a5,0x10a9)]=EditVideo2D,_0x5192f1['EditWall']=EditWall,_0x5192f1['EditDivGraphic']=EditDivGraphic;var index$6=_0x5192f1;class XyzImageryProvider extends Cesium__namespace['UrlTemplateImageryProvider']{constructor(_0x5bfd96={}){const _0x5c6255={_0x2e8582:0xe95,_0x12d1ee:0x673,_0x5e3e40:0xd43,_0x479f79:0x976,_0x118db0:0xb7c,_0x487d12:0x159e};_0x5bfd96['customTags']=_0x5bfd96['customTags']||{},_0x5bfd96['customTags']['host']=function(_0x4e42b0,_0x347ef6,_0xfa6bf0,_0x359830){return location['host'];},_0x5bfd96['customTags']['hostname']=function(_0x3ba3dd,_0x22bf95,_0x2fd018,_0xd2b7ec){return location['hostname'];},_0x5bfd96['customTags']['z4490']=function(_0x4b07c3,_0x367d15,_0x578db9,_0x2b8573){return _0x2b8573+0x1;};!_0x5bfd96[_0x5b8760(0x18b9,0x2335)]||_0x5bfd96['crs']===CRS['EPSG3857']?(_0x5bfd96[_0x5b8760(_0x5c6255._0x2e8582,0xb66)][_0x5b8760(0xbf3,_0x5c6255._0x12d1ee)]=function(_0x47db66,_0x204a8e,_0x1adc51,_0x46e4d7){return scales_EPSG3857[_0x46e4d7];},_0x5bfd96[_0x3b4618(0x52f,0x976)]['origin']=function(_0x1f177e,_0x357fc5,_0x460ca1,_0x33f511){return'{\x22x\x22:-20037508.342789248,\x22y\x22:20037508.342789095}';}):(_0x5bfd96[_0x3b4618(_0x5c6255._0x5e3e40,_0x5c6255._0x479f79)]['scale']=function(_0x45b2ce,_0x471525,_0x184879,_0x2e56dd){return scales_EPSG4326[_0x2e56dd];},_0x5bfd96['customTags'][_0x5b8760(0x147f,0x1285)]=function(_0x3dffb3,_0x111c2f,_0x43a5ea,_0x2a55d6){return'{\x22x\x22:-180,\x22y\x22:90}';});function _0x3b4618(_0x4770f9,_0x33454f){return _0x306755(_0x4770f9,_0x33454f- -0x600);}super(_0x5bfd96);function _0x5b8760(_0x2bda3e,_0x3a6562){return _0x2b6441(_0x3a6562,_0x2bda3e-0x4c0);}this[_0x5b8760(_0x5c6255._0x118db0,_0x5c6255._0x487d12)]=_0x5bfd96;}}const scales_EPSG4326=[3.38032714321e-9,6.76065428641e-9,1.352130857282e-8,2.704261714564e-8,5.408523429128e-8,1.0817046858257e-7,2.1634093716514e-7,4.3268187433028e-7,8.6536374866056e-7,0.00000173072749732112,0.00000346145499464224,0.00000692290998928448,0.000013845819978568952,0.000027691639957137904,0.00005538327991427581,0.00011076655982855162,0.00022153311965710323,0.00044306623931420646,0.0008861324786284129,0.0017722649572568258,0.0035445299145136517,0.007089059829027303],scales_EPSG3857=[1.6901635716e-9,3.38032714321e-9,6.76065428641e-9,1.352130857282e-8,2.704261714564e-8,5.408523429128e-8,1.0817046858257e-7,2.1634093716514e-7,4.3268187433028e-7,8.6536374866056e-7,0.00000173072749732112,0.00000346145499464224,0.00000692290998928448,0.000013845819978568952,0.000027691639957137904,0.00005538327991427581,0.00011076655982855162,0.00022153311965710323,0.00044306623931420646,0.0008861324786284129,0.0017722649572568258,0.0035445299145136517,0.007089059829027303];class TdtImageryProvider extends Cesium__namespace['WebMapTileServiceImageryProvider']{constructor(_0x414f01={}){const _0x348c85={_0x28e798:0x1bd,_0x2fdb31:0x867,_0x21da52:0x672,_0x34e600:0xaa6,_0x100528:0x551,_0x53e900:0x127d,_0x50c963:0x1bb2,_0x478fcf:0x4cf,_0xc13182:0x1ad,_0x3320c6:0x70d,_0x4a738b:0x21e,_0x2724e1:0x410,_0x533b0a:0x579,_0x51e49b:0xd67,_0x1f1fc3:0x1364,_0x283448:0xb9a,_0x2b4c55:0x2cc,_0x126850:0x20b,_0x157c84:0xb7a,_0x2a73bf:0x13b3,_0x4ef7c0:0x11dc,_0x1fcba0:0x742},_0xc44d5f={_0x185f0c:0x249};function _0x2ec4dd(_0x28adbd,_0x3297e2){return _0x2b6441(_0x28adbd,_0x3297e2-_0xc44d5f._0x185f0c);}const _0x4d0acc=_0x414f01[_0x2ec4dd(-_0x348c85._0x28e798,_0x348c85._0x2fdb31)]||'https://t{s}.tianditu.gov.cn/';let _0x50c06a,_0x2cb95c=0x12;switch(_0x414f01[_0x2ec4dd(0x4ee,_0x348c85._0x21da52)]){case _0x2ec4dd(_0x348c85._0x34e600,0x1467):_0x50c06a='vec';break;case'vec_z':_0x50c06a='cva';break;case'vec_e':_0x50c06a=_0x52df72(0x477,_0x348c85._0x100528);break;case _0x52df72(0xc09,_0x348c85._0x53e900):_0x50c06a='img';break;case'img_z':_0x50c06a=_0x52df72(0x1214,0x131c);break;case _0x52df72(0xbea,0x3de):_0x50c06a='eia';break;case _0x2ec4dd(0xae3,0x786):_0x50c06a='ter',_0x2cb95c=0xe;break;case _0x2ec4dd(_0x348c85._0x50c963,0x14ec):_0x50c06a='cta',_0x2cb95c=0xe;break;case _0x52df72(0x42c,-_0x348c85._0x478fcf):case _0x52df72(_0x348c85._0xc13182,-0x2a):_0x50c06a='ibo',_0x2cb95c=0xa;break;default:_0x50c06a='vec';break;}function _0x52df72(_0x1eef43,_0x530441){return _0x306755(_0x530441,_0x1eef43- -0x51b);}(_0x414f01['key']==null||_0x414f01['key'][_0x2ec4dd(0x1489,0x12a3)]===0x0)&&(_0x414f01['key']=tiandituArr);const _0x535813=getArrayRandomOne(_0x414f01[_0x2ec4dd(0xa7f,0xf41)]);let _0x2da00a;!_0x414f01['crs']||_0x414f01['crs']===CRS[_0x2ec4dd(0x1416,0x10e3)]?(_0x2da00a=_0x4d0acc+_0x50c06a+'_w/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={TileMatrix}&layer='+_0x50c06a+'&style={style}&tilerow={TileRow}&tilecol={TileCol}&tilematrixset={TileMatrixSet}&format=tiles&tk='+_0x535813,(_0x414f01['proxy']||_0x414f01['headers']||_0x414f01['queryParameters'])&&(_0x2da00a=getUrlResource({'url':_0x2da00a['replace'](_0x2ec4dd(_0x348c85._0x3320c6,_0x348c85._0x4a738b),'0'),'proxy':_0x414f01['proxy'],'headers':_0x414f01['headers'],'queryParameters':_0x414f01['queryParameters']})),_0x414f01={'subdomains':['0','1','2','3','4','5','6','7'],'maximumLevel':_0x414f01['maximumLevel']??_0x2cb95c,'tilingScheme':new Cesium__namespace['WebMercatorTilingScheme'](),'style':_0x52df72(0xfda,0xd60),'format':'tiles','tileMatrixSetID':'w','tileMatrixLabels':[...Array(0x14)['keys']()][_0x52df72(0x279,_0x348c85._0x2724e1)](_0x4144ed=>_0x4144ed['toString']()),..._0x414f01,'url':_0x2da00a,'layer':_0x50c06a}):(_0x2da00a=_0x4d0acc+_0x50c06a+'_c/wmts?service=WMTS&version=1.0.0&request=GetTile&tilematrix={TileMatrix}&layer='+_0x50c06a+'&style={style}&tilerow={TileRow}&tilecol={TileCol}&tilematrixset={TileMatrixSet}&format=tiles&tk='+_0x535813,_0x2cb95c=0x11,(_0x414f01[_0x2ec4dd(_0x348c85._0x533b0a,0x790)]||_0x414f01[_0x2ec4dd(0x12ea,_0x348c85._0x51e49b)]||_0x414f01[_0x2ec4dd(_0x348c85._0x1f1fc3,0xa66)])&&(_0x2da00a=getUrlResource({'url':_0x2da00a[_0x52df72(_0x348c85._0x283448,0x1345)]('{s}','0'),'proxy':_0x414f01[_0x2ec4dd(-_0x348c85._0x2b4c55,0x790)],'headers':_0x414f01['headers'],'queryParameters':_0x414f01['queryParameters']})),_0x414f01={'subdomains':['0','1','2','3','4','5','6','7'],'maximumLevel':_0x414f01[_0x2ec4dd(_0x348c85._0x126850,_0x348c85._0x157c84)]??_0x2cb95c,'tilingScheme':new Cesium__namespace[(_0x52df72(0xdf9,_0x348c85._0x2a73bf))](),'style':_0x2ec4dd(_0x348c85._0x4ef7c0,0x119d),'format':'tiles','tileMatrixSetID':'c','tileMatrixLabels':[...Array(0x14)['keys']()]['map'](_0x4329ef=>(_0x4329ef+0x1)['toString']()),..._0x414f01,'url':_0x2da00a,'layer':_0x50c06a}),super(_0x414f01),this[_0x52df72(_0x348c85._0x1fcba0,-0x1e6)]=_0x414f01;}}class GaodeImageryProvider extends XyzImageryProvider{constructor(_0x45f5fd={}){const _0x3cd458={_0x379592:0xc36,_0x2d5563:0x979,_0x59f7ce:0xc5b,_0x1745c9:0x12b8};let _0x428d29;switch(_0x45f5fd[_0x49a98d(0xc65,0x400)]){case'vec':_0x428d29='https://'+(_0x45f5fd[_0x5be9bf(0x110d,0x721)]?_0x5be9bf(0xe37,_0x3cd458._0x379592):_0x49a98d(0x115e,0x872))+'0{s}.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}';break;case'img_d':_0x428d29='https://webst0{s}.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}';break;case'img_z':_0x428d29=_0x5be9bf(0x1154,_0x3cd458._0x2d5563);break;case _0x49a98d(0x107c,_0x3cd458._0x59f7ce):{const _0x304142=new Date()['getTime']();_0x428d29='https://tm.amap.com/trafficengine/mapabc/traffictile?v=1.0&t=1&x={x}&y={y}&z={z}&&t='+_0x304142;break;}default:_0x428d29=_0x45f5fd['url'];break;}(_0x45f5fd[_0x5be9bf(0x2a6,0xbbf)]||_0x45f5fd['headers']||_0x45f5fd['queryParameters'])&&(_0x428d29=getUrlResource({'url':_0x428d29[_0x5be9bf(_0x3cd458._0x1745c9,0x118c)]('{s}','1'),'proxy':_0x45f5fd[_0x49a98d(0xc49,0x51e)],'headers':_0x45f5fd['headers'],'queryParameters':_0x45f5fd['queryParameters']}));const _0x1b9845={'subdomains':['1','2','3','4'],'maximumLevel':0x12,..._0x45f5fd};_0x1b9845[_0x49a98d(0xd99,0x5f5)]=_0x428d29;function _0x5be9bf(_0x531437,_0x549d9d){return _0x306755(_0x531437,_0x549d9d-0xd7);}function _0x49a98d(_0xc9a7c4,_0x8825e5){return _0x2b6441(_0xc9a7c4,_0x8825e5- -0x29);}super(_0x1b9845);}}const EARTH_RADIUS=6370996.81,MC_BAND=[12890594.86,8362377.87,0x554fed,3481989.83,1678043.12,0x0],LL_BAND=[0x4b,0x3c,0x2d,0x1e,0xf,0x0],MC2LL=[[1.410526172116255e-8,0.00000898305509648872,-1.9939833816331,200.9824383106796,-187.2403703815547,91.6087516669843,-23.38765649603339,2.57121317296198,-0.03801003308653,17337981.2],[-7.435856389565537e-9,0.000008983055097726239,-0.78625201886289,96.32687599759846,-1.85204757529826,-59.36935905485877,47.40033549296737,-16.50741931063887,2.28786674699375,10260144.86],[-3.030883460898826e-8,0.00000898305509983578,0.30071316287616,59.74293618442277,7.357984074871,-25.38371002664745,13.45380521110908,-3.29883767235584,0.32710905363475,6856817.37],[-1.981981304930552e-8,0.000008983055099779535,0.03278182852591,40.31678527705744,0.65659298677277,-4.44255534477492,0.85341911805263,0.12923347998204,-0.04625736007561,4482777.06],[3.09191371068437e-9,0.000008983055096812155,0.00006995724062,23.10934304144901,-0.00023663490511,-0.6321817810242,-0.00663494467273,0.03430082397953,-0.00466043876332,2555164.4],[2.890871144776878e-9,0.000008983055095805407,-3.068298e-8,7.47137025468032,-0.00000353937994,-0.02145144861037,-0.00001234426596,0.00010322952773,-0.00000323890364,826088.5]],LL2MC=[[-0.0015702102444,111320.7020616939,0x60e374c3105a3,-0x24bb4115e2e164,0x5cc55543bb0ae8,-0x7ce070193f3784,0x5e7ca61ddf8150,-0x261a578d8b24d0,0x665d60f3742ca,82.5],[0.0008277824516172526,111320.7020463578,647795574.6671607,-4082003173.641316,10774905663.51142,-15171875531.51559,12053065338.62167,-5124939663.577472,913311935.9512032,67.5],[0.00337398766765,111320.7020202162,4481351.045890365,-23393751.19931662,79682215.47186455,-115964993.2797253,97236711.15602145,-43661946.33752821,8477230.501135234,52.5],[0.00220636496208,111320.7020209128,51751.86112841131,3796837.749470245,992013.7397791013,-1221952.21711287,1340652.697009075,-620943.6990984312,144416.9293806241,37.5],[-0.0003441963504368392,111320.7020576856,278.2353980772752,2485758.690035394,6070.750963243378,54821.18345352118,9540.606633304236,-2710.55326746645,1405.483844121726,22.5],[-0.0003218135878613132,111320.7020701615,0.00369383431289,823725.6402795718,0.46104986909093,2351.343141331292,1.58060784298199,8.77738589078284,0.37238884252424,7.45]];class BaiduMercatorProjection{constructor(){this['isWgs84']=![];}['getDistanceByMC'](_0x357796,_0x184fc8){function _0x424026(_0x49135b,_0x1c38c6){return _0x2b6441(_0x1c38c6,_0x49135b-0x537);}if(!_0x357796||!_0x184fc8)return 0x0;function _0x3c582d(_0x29e71e,_0x4dc633){return _0x306755(_0x4dc633,_0x29e71e- -0x22a);}_0x357796=this[_0x3c582d(0x617,-0x19e)](_0x357796);if(!_0x357796)return 0x0;const _0x5af4d5=this['toRadians'](_0x357796['lng']),_0x74e416=this[_0x3c582d(0x9a2,0x8fb)](_0x357796['lat']);_0x184fc8=this['convertMC2LL'](_0x184fc8);if(!_0x184fc8)return 0x0;const _0x5eaecf=this['toRadians'](_0x184fc8['lng']),_0x50b622=this[_0x3c582d(0x9a2,0x651)](_0x184fc8[_0x3c582d(0x714,0x46a)]);return this['getDistance'](_0x5af4d5,_0x5eaecf,_0x74e416,_0x50b622);}['getDistanceByLL'](_0x5b7e0c,_0x3dc589){const _0x4dee54={_0x363f0c:0x107b,_0x4ff186:0xa93,_0x169c5a:0xb53,_0x34f756:0xc5a,_0x3f904d:0xc06,_0x50d3dd:0x9cc,_0x5354e2:0xf00,_0x21b99f:0x962};if(!_0x5b7e0c||!_0x3dc589)return 0x0;_0x5b7e0c['lng']=this['getLoop'](_0x5b7e0c[_0xb74faf(0xb53,0x887)],-0xb4,0xb4),_0x5b7e0c['lat']=this[_0xb74faf(_0x4dee54._0x363f0c,0x176a)](_0x5b7e0c[_0xb74faf(_0x4dee54._0x4ff186,0x11b3)],-0x4a,0x4a),_0x3dc589['lng']=this['getLoop'](_0x3dc589['lng'],-0xb4,0xb4),_0x3dc589['lat']=this['getRange'](_0x3dc589['lat'],-0x4a,0x4a);function _0x2aa570(_0x9f52cf,_0x4f9dc2){return _0x306755(_0x4f9dc2,_0x9f52cf- -0x200);}const _0x463cfd=this['toRadians'](_0x5b7e0c[_0xb74faf(_0x4dee54._0x169c5a,_0x4dee54._0x34f756)]),_0x305e98=this['toRadians'](_0x5b7e0c[_0xb74faf(0xa93,0x599)]),_0x1ffe50=this[_0x2aa570(0x9cc,_0x4dee54._0x3f904d)](_0x3dc589['lng']),_0x170076=this[_0x2aa570(_0x4dee54._0x50d3dd,_0x4dee54._0x5354e2)](_0x3dc589['lat']);function _0xb74faf(_0x367f59,_0x86adcb){return _0x306755(_0x86adcb,_0x367f59-0x155);}return this[_0x2aa570(_0x4dee54._0x21b99f,0x11e2)](_0x463cfd,_0x1ffe50,_0x305e98,_0x170076);}['convertMC2LL'](_0x1e4b93){const _0x299ded={_0x1ad380:0x237,_0x26136c:0x10ef,_0x32997c:0x10cc,_0x59a985:0x1000,_0x1d0087:0x503,_0x55e24e:0xa62,_0x28673d:0x1b03},_0x3554b4={_0x2782f8:0x19c};if(!_0x1e4b93){const _0xc3a78={};return _0xc3a78['lng']=0x0,_0xc3a78['lat']=0x0,_0xc3a78;}function _0x47e3d8(_0x397186,_0x199a28){return _0x306755(_0x397186,_0x199a28- -_0x3554b4._0x2782f8);}let _0x319b8a={};if(this['isWgs84']){_0x319b8a[_0x10f925(_0x299ded._0x1ad380,0x669)]=_0x1e4b93['lng']/20037508.34*0xb4;const _0x46f70e=_0x1e4b93['lat']/20037508.34*0xb4;return _0x319b8a['lat']=0xb4/Math['PI']*(0x2*Math['atan'](Math['exp'](_0x46f70e*Math['PI']/0xb4))-Math['PI']/0x2),{'lng':_0x319b8a[_0x47e3d8(0x6c2,0x862)]['toFixed'](LngLatPoint[_0x10f925(0x858,0xa62)]),'lat':_0x319b8a[_0x47e3d8(_0x299ded._0x26136c,0x7a2)]['toFixed'](LngLatPoint['FormatLength'])};}function _0x10f925(_0x4e8211,_0x2a7860){return _0x306755(_0x4e8211,_0x2a7860- -0x395);}const _0x1f5fb={'lng':Math[_0x47e3d8(0x84d,0x12c5)](_0x1e4b93['lng']),'lat':Math[_0x10f925(0x19a1,_0x299ded._0x32997c)](_0x1e4b93['lat'])};let _0x508dfc;for(let _0x12ceff=0x0;_0x12ceff<MC_BAND['length'];_0x12ceff++){if(_0x1f5fb[_0x10f925(-0x61,0x5a9)]>=MC_BAND[_0x12ceff]){_0x508dfc=MC2LL[_0x12ceff];break;}}return _0x319b8a=this['convertor'](_0x1e4b93,_0x508dfc),{'lng':_0x319b8a['lng'][_0x47e3d8(_0x299ded._0x59a985,0x1826)](LngLatPoint[_0x10f925(_0x299ded._0x1d0087,_0x299ded._0x55e24e)]),'lat':_0x319b8a['lat'][_0x47e3d8(_0x299ded._0x28673d,0x1826)](LngLatPoint['FormatLength'])};}['convertLL2MC'](_0x1569cf){const _0x5283ca={_0x3f3bbd:0x401,_0x1a7633:0x7c,_0x47bcbf:0x199,_0x48be30:0x7a0,_0xc47aeb:0x7e8,_0x76d2c9:0x6e0,_0x3daf08:0xa3b,_0x2a4e5f:0x341,_0x3d148e:0x1890};function _0xc3b97(_0x461db3,_0x57d465){return _0x2b6441(_0x57d465,_0x461db3-0x343);}if(!_0x1569cf){const _0x26b2a5={};return _0x26b2a5['lng']=0x0,_0x26b2a5['lat']=0x0,_0x26b2a5;}if(_0x1569cf['lng']>0xb4||_0x1569cf[_0x438ab4(0xd75,_0x5283ca._0x3f3bbd)]<-0xb4||_0x1569cf['lat']>0x5a||_0x1569cf['lat']<-0x5a)return _0x1569cf;if(this['isWgs84']){const _0x194613={},_0x25ddb7=0x615299;_0x194613['lng']=_0x1569cf['lng']*Math['PI']/0xb4*_0x25ddb7;const _0xd629b9=_0x1569cf[_0x438ab4(-_0x5283ca._0x1a7633,0x341)]*Math['PI']/0xb4;return _0x194613['lat']=_0x25ddb7/0x2*Math[_0x438ab4(-0xabc,-_0x5283ca._0x47bcbf)]((0x1+Math[_0xc3b97(0x6df,0x2e4)](_0xd629b9))/(0x1-Math['sin'](_0xd629b9))),{'lng':parseFloat(_0x194613['lng']['toFixed'](0x2)),'lat':parseFloat(_0x194613[_0x438ab4(0xb8,0x341)]['toFixed'](0x2))};}_0x1569cf[_0xc3b97(_0x5283ca._0x48be30,_0x5283ca._0xc47aeb)]=this['getLoop'](_0x1569cf['lng'],-0xb4,0xb4),_0x1569cf[_0xc3b97(_0x5283ca._0x76d2c9,0x5d3)]=this['getRange'](_0x1569cf['lat'],-0x4a,0x4a);const _0x28fbe9={};function _0x438ab4(_0x203bbb,_0x19d6f5){return _0x2b6441(_0x203bbb,_0x19d6f5- -0x5c);}_0x28fbe9[_0x438ab4(_0x5283ca._0x3daf08,0x401)]=_0x1569cf['lng'],_0x28fbe9['lat']=_0x1569cf[_0x438ab4(0x740,_0x5283ca._0x2a4e5f)];const _0x8ef00e=_0x28fbe9;let _0x17aaf2;for(let _0x321d8a=0x0;_0x321d8a<LL_BAND[_0xc3b97(0x139d,0x1c69)];_0x321d8a++){if(_0x8ef00e['lat']>=LL_BAND[_0x321d8a]){_0x17aaf2=LL2MC[_0x321d8a];break;}}if(!_0x17aaf2)for(let _0xaa3a0c=0x0;_0xaa3a0c<LL_BAND['length'];_0xaa3a0c++){if(_0x8ef00e[_0xc3b97(0x6e0,0x51e)]<=-LL_BAND[_0xaa3a0c]){_0x17aaf2=LL2MC[_0xaa3a0c];break;}}const _0x532391=this['convertor'](_0x1569cf,_0x17aaf2);return{'lng':parseFloat(_0x532391[_0x438ab4(0x747,0x401)][_0xc3b97(0x1764,_0x5283ca._0x3d148e)](0x2)),'lat':parseFloat(_0x532391['lat']['toFixed'](0x2))};}['convertor'](_0x308c65,_0x418670){const _0x52f274={_0x21792f:0x96e,_0x308a7f:0x6},_0x3ac410={_0x378d96:0x90};if(!_0x308c65||!_0x418670){const _0x39ad6d={};return _0x39ad6d['lng']=0x0,_0x39ad6d[_0x444a37(0xd38,0x385)]=0x0,_0x39ad6d;}let _0x55fd3a=_0x418670[0x0]+_0x418670[0x1]*Math['abs'](_0x308c65[_0x57255f(_0x52f274._0x21792f,_0x52f274._0x308a7f)]);function _0x57255f(_0x154848,_0x4514d1){return _0x306755(_0x4514d1,_0x154848- -_0x3ac410._0x378d96);}const _0x6ebf54=Math['abs'](_0x308c65['lat'])/_0x418670[0x9];let _0x4c2e49=_0x418670[0x2]+_0x418670[0x3]*_0x6ebf54+_0x418670[0x4]*_0x6ebf54*_0x6ebf54+_0x418670[0x5]*_0x6ebf54*_0x6ebf54*_0x6ebf54+_0x418670[0x6]*_0x6ebf54*_0x6ebf54*_0x6ebf54*_0x6ebf54+_0x418670[0x7]*_0x6ebf54*_0x6ebf54*_0x6ebf54*_0x6ebf54*_0x6ebf54+_0x418670[0x8]*_0x6ebf54*_0x6ebf54*_0x6ebf54*_0x6ebf54*_0x6ebf54*_0x6ebf54;function _0x444a37(_0x39ad4c,_0x4372d8){return _0x306755(_0x39ad4c,_0x4372d8- -0x5b9);}_0x55fd3a*=_0x308c65['lng']<0x0?-0x1:0x1,_0x4c2e49*=_0x308c65['lat']<0x0?-0x1:0x1;const _0x541f95={};return _0x541f95['lng']=_0x55fd3a,_0x541f95['lat']=_0x4c2e49,_0x541f95;}['getDistance'](_0x464dc1,_0x286dc5,_0x43f787,_0x10f333){const _0xcc2b82={_0x2e6234:0x592,_0x1a625a:0xa3a,_0x4be3ef:0x71d};function _0x2dff75(_0x149bff,_0x58bb71){return _0x306755(_0x149bff,_0x58bb71-0xfd);}function _0x412102(_0xbf2d06,_0x56e7ed){return _0x306755(_0x56e7ed,_0xbf2d06- -0x572);}return EARTH_RADIUS*Math['acos'](Math[_0x2dff75(_0xcc2b82._0x2e6234,_0xcc2b82._0x1a625a)](_0x43f787)*Math['sin'](_0x10f333)+Math[_0x412102(_0xcc2b82._0x4be3ef,-0x69)](_0x43f787)*Math['cos'](_0x10f333)*Math['cos'](_0x286dc5-_0x464dc1));}['toRadians'](_0x9f638d){return Math['PI']*_0x9f638d/0xb4;}[_0x2b6441(-0x14d,0x877)](_0x4bbe28){return 0xb4*_0x4bbe28/Math['PI'];}['getRange'](_0x13ab30,_0x293f97,_0xb96505){const _0x28387f={_0x2c8587:0x946},_0xedb24e={_0x9a1112:0x3c0};_0x293f97!=null&&(_0x13ab30=Math[_0x249dd1(_0x28387f._0x2c8587,0xcad)](_0x13ab30,_0x293f97));function _0x249dd1(_0x1b66b1,_0x4485aa){return _0x306755(_0x4485aa,_0x1b66b1- -_0xedb24e._0x9a1112);}return _0xb96505!=null&&(_0x13ab30=Math['min'](_0x13ab30,_0xb96505)),_0x13ab30;}['getLoop'](_0x265734,_0x24ec04,_0x36ee4f){while(_0x265734>_0x36ee4f){_0x265734-=_0x36ee4f-_0x24ec04;}while(_0x265734<_0x24ec04){_0x265734+=_0x36ee4f-_0x24ec04;}return _0x265734;}['lngLatToMercator'](_0x45396f){const _0x432e14={_0x5a7e20:0xb1,_0x517843:0xac6};function _0x2cb60d(_0xaf85f1,_0x487cf5){return _0x306755(_0x487cf5,_0xaf85f1- -0x5c3);}return this[_0x2cb60d(-_0x432e14._0x5a7e20,-_0x432e14._0x517843)](_0x45396f);}['lngLatToPoint'](_0x4e626a){const _0x26cf18={_0x7d99f3:0x455},_0x4d470a=this['convertLL2MC'](_0x4e626a),_0x32bb0a={};_0x32bb0a['x']=_0x4d470a[_0x4b34fc(0xc06,0x5a9)],_0x32bb0a['y']=_0x4d470a['lat'];function _0x4b34fc(_0x2ccb77,_0x1605e5){return _0x306755(_0x2ccb77,_0x1605e5- -_0x26cf18._0x7d99f3);}return _0x32bb0a;}[_0x306755(0x171b,0x156f)](_0x51af26){const _0x5f2db2={_0x45b2a9:0x4cd,_0x2ee832:0x90c},_0x5cc949={_0x51c881:0x22d};function _0x1f9a4e(_0x45cc4d,_0x527596){return _0x2b6441(_0x527596,_0x45cc4d-_0x5cc949._0x51c881);}return this[_0x1f9a4e(_0x5f2db2._0x45b2a9,_0x5f2db2._0x2ee832)](_0x51af26);}['pointToLngLat'](_0x494d80){const _0x565c3d={_0x5d43f2:0x62c},_0x1b7092={};_0x1b7092[_0x191295(0x705,0xa89)]=_0x494d80['x'];function _0x191295(_0x4f07f5,_0x5c68f7){return _0x2b6441(_0x4f07f5,_0x5c68f7-_0x565c3d._0x5d43f2);}_0x1b7092['lat']=_0x494d80['y'];const _0x41b5fd=_0x1b7092;return this['convertMC2LL'](_0x41b5fd);}['pointToPixel'](_0x138e3f,_0x132b3d,_0x70fd7b,_0x5ea954){const _0x49e592={_0x4c22bd:0x230,_0x2f1b0e:0x13d2},_0x866fdb={_0x46f157:0x37f},_0x45eb4d={_0x3fd91d:0xe};if(!_0x138e3f){const _0x21d4c3={};return _0x21d4c3['x']=0x0,_0x21d4c3['y']=0x0,_0x21d4c3;}_0x138e3f=this['lngLatToMercator'](_0x138e3f);function _0x803a4c(_0x274707,_0x4f765f){return _0x306755(_0x4f765f,_0x274707- -_0x45eb4d._0x3fd91d);}const _0x1963dc=this['getZoomUnits'](_0x132b3d),_0x255e6d=Math['round']((_0x138e3f[_0x2aff2d(0xd5f,0x67f)]-_0x70fd7b[_0x2aff2d(_0x49e592._0x4c22bd,0x67f)])/_0x1963dc+_0x5ea954['width']/0x2),_0xb46672=Math['round']((_0x70fd7b['lat']-_0x138e3f[_0x803a4c(0x930,_0x49e592._0x2f1b0e)])/_0x1963dc+_0x5ea954['height']/0x2),_0x11ea8c={};_0x11ea8c['x']=_0x255e6d,_0x11ea8c['y']=_0xb46672;function _0x2aff2d(_0x5cd422,_0x274fbb){return _0x306755(_0x5cd422,_0x274fbb- -_0x866fdb._0x46f157);}return _0x11ea8c;}[_0x2b6441(0xc72,0x1347)](_0x3463cb,_0x52cea9,_0x549650,_0x32e821){const _0x5a09ed={_0x1aa55d:0x680,_0x353223:0x8dc,_0x206531:0x851,_0x5841b4:0x13c7,_0x52ea4d:0x13c2},_0x472aaf={_0x2d361a:0xab};function _0x23ee56(_0x48fcff,_0x523301){return _0x2b6441(_0x48fcff,_0x523301-0x3f4);}if(!_0x3463cb){const _0x373610={};return _0x373610['lng']=0x0,_0x373610[_0xa02133(_0x5a09ed._0x1aa55d,0x9e9)]=0x0,_0x373610;}const _0x1300a2=this['getZoomUnits'](_0x52cea9);function _0xa02133(_0x5494a8,_0x36b8b2){return _0x306755(_0x5494a8,_0x36b8b2-_0x472aaf._0x2d361a);}const _0x501d19=_0x549650['lng']+_0x1300a2*(_0x3463cb['x']-_0x32e821['width']/0x2),_0x52c2a1=_0x549650['lat']-_0x1300a2*(_0x3463cb['y']-_0x32e821['height']/0x2),_0x3c6a12={};_0x3c6a12[_0x23ee56(_0x5a09ed._0x353223,_0x5a09ed._0x206531)]=_0x501d19,_0x3c6a12['lat']=_0x52c2a1;const _0x16ae33=_0x3c6a12;return this[_0x23ee56(_0x5a09ed._0x5841b4,_0x5a09ed._0x52ea4d)](_0x16ae33);}['getZoomUnits'](_0x210068){return Math['pow'](0x2,0x12-_0x210068);}}class BaiduMercatorTilingScheme extends Cesium__namespace['WebMercatorTilingScheme']{constructor(_0x5904ae){const _0x349e44={_0xbe5fde:0xfb4,_0x213041:0x1d76},_0x2f8b00={_0x10369b:0x11d9},_0x4ddb4f={_0xdd9ec2:0x10b7,_0x223aaf:0xce6,_0x27f735:0x604,_0x57aeff:0xcf2,_0x3dbf95:0x866,_0x449ca5:0x3ba},_0x3e02f1={_0x353e63:0x92};function _0x48d8c7(_0x15284e,_0x15df1d){return _0x306755(_0x15df1d,_0x15284e- -0x103);}super(_0x5904ae);function _0x1aeb65(_0x34d829,_0x3e864d){return _0x2b6441(_0x34d829,_0x3e864d-0x5a0);}const _0x5605c4=_0x5904ae[_0x48d8c7(0x134b,0x1a1b)]||ChinaCRS[_0x48d8c7(_0x349e44._0xbe5fde,0x138b)],_0x3e4641=ChinaCRS[_0x48d8c7(0xc7f,0x456)],_0x38e89c=getTransFun(_0x5605c4,_0x3e4641),_0x4efb83=getTransFun(_0x3e4641,_0x5605c4),_0x3306b7=new BaiduMercatorProjection();this['_projection']['project']=function(_0x1fa473,_0x15db2d){_0x15db2d=[Cesium__namespace['Math']['toDegrees'](_0x1fa473[_0x51928b(_0x4ddb4f._0xdd9ec2,0x1932)]),Cesium__namespace['Math'][_0x58c769(0x1271,_0x4ddb4f._0x223aaf)](_0x1fa473['latitude'])];_0x38e89c&&(_0x15db2d=_0x38e89c(_0x15db2d));_0x15db2d[0x0]=Math['min'](_0x15db2d[0x0],0xb4),_0x15db2d[0x0]=Math['max'](_0x15db2d[0x0],-0xb4),_0x15db2d[0x1]=Math[_0x58c769(_0x4ddb4f._0x27f735,_0x4ddb4f._0x57aeff)](_0x15db2d[0x1],85.05112877980659),_0x15db2d[0x1]=Math[_0x51928b(0xc73,0x1001)](_0x15db2d[0x1],-85.05112877980659),_0x15db2d=_0x3306b7[_0x58c769(0xe10,_0x4ddb4f._0x3dbf95)]({'lng':_0x15db2d[0x0],'lat':_0x15db2d[0x1]});function _0x58c769(_0xa61794,_0x36e7e9){return _0x1aeb65(_0xa61794,_0x36e7e9- -0x131);}function _0x51928b(_0x16a8d5,_0x2c3516){return _0x1aeb65(_0x2c3516,_0x16a8d5- -_0x3e02f1._0x353e63);}return new Cesium__namespace[(_0x58c769(-0x4ae,_0x4ddb4f._0x449ca5))](_0x15db2d['x'],_0x15db2d['y']);},this[_0x1aeb65(_0x349e44._0x213041,0x1367)]['unproject']=function(_0x2d7944,_0x5a593c){const _0x4ec4d6={};_0x4ec4d6[_0x263842(0x86c,0xb2f)]=_0x2d7944['x'];function _0x263842(_0x4992d8,_0x51ccd0){return _0x1aeb65(_0x51ccd0,_0x4992d8- -0x191);}_0x4ec4d6['lat']=_0x2d7944['y'];function _0x2794e5(_0x12191e,_0x3e8c4c){return _0x1aeb65(_0x12191e,_0x3e8c4c- -0x3fa);}return _0x5a593c=_0x3306b7['mercatorToLngLat'](_0x4ec4d6),_0x5a593c=[_0x5a593c['lng'],_0x5a593c['lat']],_0x4efb83&&(_0x5a593c=_0x4efb83(_0x5a593c)),new Cesium__namespace['Cartographic'](Cesium__namespace[_0x263842(_0x2f8b00._0x10369b,0xe8c)][_0x2794e5(0x67e,0x7d1)](_0x5a593c[0x0]),Cesium__namespace[_0x2794e5(0x1450,0xf70)]['toRadians'](_0x5a593c[0x1]));},this['resolutions']=_0x5904ae['resolutions']||[];}[_0x306755(0x10d9,0xe4c)](_0x54a54f,_0x170026,_0x50e016,_0x546165){const _0x2dd0bd=this['resolutions'][_0x50e016],_0x17f568=_0x54a54f*_0x2dd0bd,_0xe0184b=(_0x54a54f+0x1)*_0x2dd0bd,_0x186e15=((_0x170026=-_0x170026)+0x1)*_0x2dd0bd,_0x11558f=_0x170026*_0x2dd0bd;if(!Cesium__namespace['defined'](_0x546165))return new Cesium__namespace[(_0x4d5cb5(0x5fe,0x944))](_0x17f568,_0x11558f,_0xe0184b,_0x186e15);_0x546165['west']=_0x17f568,_0x546165['south']=_0x11558f,_0x546165['east']=_0xe0184b;function _0x4d5cb5(_0x42c45b,_0x35bdbc){return _0x2b6441(_0x42c45b,_0x35bdbc- -0xb5);}return _0x546165['north']=_0x186e15,_0x546165;}[_0x2b6441(0x56e,0x902)](_0x38d571,_0xfa6a09,_0x3b3073){const _0xd556c8={_0x3f0c6e:0xbc8,_0x13f634:0x17f0,_0x3e98ec:0x1517,_0x1a8b10:0x1e53,_0x1bb966:0x1418,_0x8eda40:0x1933,_0x4c9e4f:0x1378},_0x4ce804={_0x48e78e:0x167},_0x168b31=this['_rectangle'];if(!Cesium__namespace['Rectangle'][_0x41376d(0x3ae,0x3b1)](_0x168b31,_0x38d571))return undefined;const _0x68aa81=this['_projection'],_0x2fd1b7=_0x68aa81[_0x41376d(_0xd556c8._0x3f0c6e,0x80f)](_0x38d571);if(!Cesium__namespace[_0x1a6680(0x16f8,_0xd556c8._0x13f634)](_0x2fd1b7))return undefined;const _0x1b052e=this[_0x41376d(_0xd556c8._0x3e98ec,_0xd556c8._0x1a8b10)][_0xfa6a09];function _0x41376d(_0x2d87b,_0x41f7ba){return _0x2b6441(_0x41f7ba,_0x2d87b-_0x4ce804._0x48e78e);}const _0x34521e=Math['floor'](_0x2fd1b7['x']/_0x1b052e),_0x5ac3c0=-Math[_0x41376d(_0xd556c8._0x1bb966,_0xd556c8._0x8eda40)](_0x2fd1b7['y']/_0x1b052e);function _0x1a6680(_0x4cf685,_0xaa3fb8){return _0x2b6441(_0xaa3fb8,_0x4cf685-0x4e7);}if(!Cesium__namespace[_0x41376d(_0xd556c8._0x4c9e4f,0x1906)](_0x3b3073))return new Cesium__namespace[(_0x41376d(0xb2,0x842))](_0x34521e,_0x5ac3c0);return _0x3b3073['x']=_0x34521e,_0x3b3073['y']=_0x5ac3c0,_0x3b3073;}}class BaiduImageryProvider{constructor(_0x575b12={}){const _0x491c25={_0x235a1c:0x2a0,_0x505ee4:0x10bd,_0x463767:0x9b4,_0x109b94:0xf27,_0x3ecda1:0x120d,_0x31b406:0x13f7,_0x2306fa:0xdac,_0x37294f:0x7be,_0x148a96:0x51f,_0x1249da:0x7be,_0x5b8d9b:0x5ee,_0x59c903:0xe24,_0x4cb01e:0x141b,_0x1572b8:0x7c2,_0x159b0a:0xb27,_0x4846f:0x893,_0x282591:0xd91,_0x1010e6:0xc3e,_0x1b0c61:0x347,_0x1534bb:0x57b,_0x4bd1d2:0x173d,_0x1b61f4:0x120a,_0x859da1:0xad6,_0x56e166:0xfc8,_0x55acf7:0xa9a,_0x330765:0xd9b},_0x48dd67={_0x579050:0x98},_0x52b101={_0x1d533b:0x1bbb},_0x1c8506={_0x3be7eb:0x473};let _0x19c887;switch(_0x575b12['layer']){case'vec':_0x19c887=_0x5a29f8(0x1b14,0x1f2b)+(_0x575b12[_0x5a29f8(0x791,_0x491c25._0x235a1c)]?'ph':'pl')+_0x5a29f8(0x1698,0x1b8b);break;case'img_d':_0x19c887=_0x5a29f8(0x756,0xae4),_0x575b12['customTags']=_0x575b12['customTags']||{},_0x575b12[_0x5a29f8(_0x491c25._0x505ee4,_0x491c25._0x463767)]['mars3d_u']=(_0x1ab638,_0x41e886,_0x339419,_0x54e95e)=>{function _0x5bd199(_0x3d242e,_0x417d3a){return _0x5a29f8(_0x417d3a- -0x3b,_0x3d242e);}function _0x4aa3d3(_0x4257f1,_0x235725){return _0x1d4234(_0x235725,_0x4257f1- -_0x1c8506._0x3be7eb);}return'x='+_0x41e886+_0x5bd199(_0x52b101._0x1d533b,0x126e)+-_0x339419+_0x4aa3d3(0xf09,0x1648)+_0x54e95e+';v=009;type=sate';},_0x575b12['queryParameters']={..._0x575b12['queryParameters'],'qt':'satepc','app':'webearth2','udt':'20210830','fm':'46','v':_0x5a29f8(_0x491c25._0x109b94,_0x491c25._0x3ecda1)};break;case _0x1d4234(_0x491c25._0x31b406,0x145c):_0x19c887='http://online{s}.map.bdimg.com/tile/?qt=vtile&x={x}&y={y}&z={z}&styles='+(_0x575b12['bigfont']?'sh':'sl')+'&v=020';break;case _0x1d4234(0x17e9,0x15dd):_0x575b12[_0x1d4234(_0x491c25._0x2306fa,_0x491c25._0x37294f)]=_0x575b12[_0x1d4234(_0x491c25._0x148a96,_0x491c25._0x1249da)]||_0x5a29f8(0x108b,_0x491c25._0x5b8d9b),_0x19c887=_0x1d4234(0xc0e,_0x491c25._0x59c903)+_0x575b12['style'];break;case'time':_0x19c887=_0x1d4234(0xf69,0xe16)+new Date()['getTime']()+_0x1d4234(_0x491c25._0x4cb01e,0x1467)+(_0x575b12['label']||_0x5a29f8(0x1729,0x15e7))+'&v=017';break;case _0x1d4234(0xe82,0xeca):_0x19c887='https://gss{s}.bdstatic.com/5LUZemja_QUU8t7mm9GUKT-xh_/tile/?udt=20150114&qt=vtile&styles=pl&x={x}&y={y}&z={z}';break;default:_0x19c887=_0x575b12[_0x1d4234(_0x491c25._0x1572b8,_0x491c25._0x159b0a)];break;}this['options']=_0x575b12;const _0x56160f={..._0x575b12};_0x56160f['url']=_0x19c887,this['_resource']=getUrlResource(_0x56160f);function _0x1d4234(_0x3bea01,_0x34db3a){return _0x306755(_0x3bea01,_0x34db3a- -_0x48dd67._0x579050);}this['_tags']=Cesium__namespace[_0x1d4234(_0x491c25._0x4846f,0xc4e)](tags,this[_0x5a29f8(0xda4,_0x491c25._0x282591)]['customTags']),this['_subdomains']=_0x575b12[_0x5a29f8(_0x491c25._0x1010e6,0x281)]??['0','1','2','3'],this['_tileWidth']=0x100,this[_0x1d4234(-_0x491c25._0x1b0c61,_0x491c25._0x1534bb)]=0x100,this[_0x1d4234(_0x491c25._0x4bd1d2,0x196b)]=_0x575b12['maximumLevel']??0x12;const _0x2a18cd=[];for(let _0x3c7fb4=0x0;_0x3c7fb4<0x13;_0x3c7fb4++){_0x2a18cd[_0x3c7fb4]=0x100*Math['pow'](0x2,0x12-_0x3c7fb4);}this[_0x1d4234(_0x491c25._0x1b61f4,0x7f7)]=new BaiduMercatorTilingScheme({'resolutions':_0x2a18cd,'rectangleSouthwestInMeters':new Cesium__namespace[(_0x1d4234(0x98f,0x454))](-20037726.37,-12474104.17),'rectangleNortheastInMeters':new Cesium__namespace[(_0x1d4234(_0x491c25._0x859da1,0x454))](20037726.37,12474104.17),'mapChinaCRS':_0x575b12[_0x1d4234(_0x491c25._0x56e166,0x13b6)]}),this[_0x5a29f8(0xb80,0x747)]=this[_0x1d4234(_0x491c25._0x55acf7,0x7f7)][_0x1d4234(_0x491c25._0x330765,0x1381)],this['_readyPromise']=Cesium__namespace['defer'](),this[_0x5a29f8(0x12f9,0x1ad7)]=new Cesium__namespace['Event'](),this[_0x5a29f8(0x757,0x109a)]=!![];function _0x5a29f8(_0x51e2a1,_0x247118){return _0x306755(_0x247118,_0x51e2a1-0x147);}this[_0x5a29f8(0x1181,0x1c15)]['resolve'](!![]);}get['url'](){var _0x47b305;function _0x1b893d(_0x3d8c58,_0x13297a){return _0x2b6441(_0x3d8c58,_0x13297a-0x217);}return(_0x47b305=this[_0x1b893d(0x16dd,0x151d)])===null||_0x47b305===void 0x0?void 0x0:_0x47b305['url'];}get[_0x2b6441(-0x9cc,0x26)](){return this['_tileWidth'];}get['tileHeight'](){return this['_tileHeight'];}get[_0x2b6441(0x57,0x931)](){const _0x46dd8d={_0x55327a:0x1f38};function _0x1f1906(_0x23d1a7,_0x51ef45){return _0x2b6441(_0x51ef45,_0x23d1a7-0x3b2);}return this[_0x1f1906(0x1814,_0x46dd8d._0x55327a)];}get['minimumLevel'](){return 0x0;}get[_0x306755(0xb62,0xd51)](){return this['_tilingScheme'];}get['rectangle'](){const _0x5e5e15={_0x4d66b2:0x202};function _0x38040e(_0xff5881,_0x13aa7a){return _0x306755(_0xff5881,_0x13aa7a- -0x54e);}return this[_0x38040e(_0x5e5e15._0x4d66b2,0x4eb)];}get['ready'](){return this['_ready'];}get['readyPromise'](){const _0x50ffd1={_0x310946:0xc49},_0x414cae={_0x4bec8f:0x8b};function _0x593b9f(_0xbe45c4,_0x5b537c){return _0x2b6441(_0x5b537c,_0xbe45c4-_0x414cae._0x4bec8f);}return this[_0x593b9f(0xb24,_0x50ffd1._0x310946)]['promise'];}get['errorEvent'](){const _0x22d630={_0x5df663:0x1054};function _0x5c5449(_0xd483d4,_0x50d82b){return _0x2b6441(_0x50d82b,_0xd483d4-0x443);}return this[_0x5c5449(_0x22d630._0x5df663,0xc85)];}get['credit'](){return this['_credit'];}get['hasAlphaChannel'](){return!![];}[_0x2b6441(0x14c2,0xa84)](_0x199b0f,_0x377569,_0x26a78c){return undefined;}[_0x2b6441(0x13d4,0x1402)](_0x3f2a0a,_0x1f7884,_0x22b271,_0xd18fa5){const _0x45a6f6={_0x2d31ed:0x622,_0x20b0bf:0x9fd},_0x5bc318=this['_resource'],_0x16fe0c=_0x5bc318['getUrlComponent'](!![]),_0x3332f1=this['_tags'],_0x29921d={},_0xb076f8=_0x16fe0c[_0x124868(0x8e0,0xfe3)](templateRegex);function _0x4cad7f(_0x3e18ac,_0x4cda5d){return _0x2b6441(_0x3e18ac,_0x4cda5d-0x478);}Cesium__namespace['defined'](_0xb076f8)&&_0xb076f8['forEach'](_0xb81de1=>{const _0xf225a2=_0xb81de1['substring'](0x1,_0xb81de1['length']-0x1);Cesium__namespace['defined'](_0x3332f1[_0xf225a2])&&(_0x29921d[_0xf225a2]=_0x3332f1[_0xf225a2](this,_0x3f2a0a,_0x1f7884,_0x22b271));});const _0x398653={};_0x398653[_0x4cad7f(_0x45a6f6._0x2d31ed,_0x45a6f6._0x20b0bf)]=_0xd18fa5,_0x398653['templateValues']=_0x29921d;const _0x292336={};_0x292336['preferImageBitmap']=!![],_0x292336['flipY']=!![];function _0x124868(_0x1b7f31,_0x250c4a){return _0x2b6441(_0x250c4a,_0x1b7f31-0x53e);}return _0x5bc318['getDerivedResource'](_0x398653)['fetchImage'](_0x292336);}}const templateRegex=/{[^}]+}/g,_0x167dd2={};_0x167dd2['x']=xTag,_0x167dd2['y']=yTag,_0x167dd2['reverseY']=reverseYTag,_0x167dd2['z']=zTag,_0x167dd2['s']=sTag;const tags=_0x167dd2;function xTag(_0x277f82,_0x227139,_0x119e03,_0x141690){return _0x227139;}function yTag(_0x9609cb,_0x572c86,_0x6bf01a,_0x3c12bf){return-_0x6bf01a;}function reverseYTag(_0x35a9fd,_0x21c68f,_0x1242e2,_0x5a9067){const _0x39dd3f=_0x35a9fd['tilingScheme']['getNumberOfYTilesAtLevel'](_0x5a9067)-_0x1242e2-0x1;return _0x39dd3f;}function zTag(_0xa2ceda,_0x464e17,_0x54799d,_0x16fdb9){return _0x16fdb9;}function sTag(_0x77a989,_0x3e2f94,_0x11c088,_0x34b455){const _0x5405ca={_0x1a496f:0x10cb},_0x34152d={_0x5a493e:0x71},_0x37f35c=(_0x3e2f94+_0x11c088+_0x34b455)%_0x77a989[_0x504a17(0x10cd,0x142e)][_0x1a956d(_0x5405ca._0x1a496f,0x12d8)];function _0x504a17(_0x396bb8,_0xaa0e3a){return _0x306755(_0xaa0e3a,_0x396bb8- -0x317);}function _0x1a956d(_0xa0b5af,_0x28372b){return _0x2b6441(_0x28372b,_0xa0b5af-_0x34152d._0x5a493e);}return _0x77a989['_subdomains'][_0x37f35c];}class TencentImageryProvider extends XyzImageryProvider{constructor(_0x428d93={}){const _0x5798d4={_0xead6ce:0x8a5,_0x36339c:0x1466,_0x11b271:0x108a,_0xf31572:0x1004,_0x4d6ede:0x34a,_0x217ab0:0x755,_0x3ce29a:0x157b,_0x39ef52:0x1238};switch(_0x428d93['layer']){case _0x1e1216(0x162d,0x15e3):_0x428d93[_0x445f71(_0x5798d4._0xead6ce,0x755)]='https://rt{s}.map.gtimg.com/tile?z={z}&x={x}&y={reverseY}&styleid=1&scene=0';break;case'img_d':_0x428d93['url']='https://p{s}.map.gtimg.com/sateTiles/{z}/{sx}/{sy}/{x}_{reverseY}.jpg?version=400';const _0x48f344={};_0x48f344['sx']=(_0x5e3c00,_0x58b3ae,_0x98c4d5,_0x5c9fe7)=>{return _0x58b3ae>>0x4;},_0x48f344['sy']=(_0x4364b9,_0x315828,_0x5ddf45,_0xd67d7d)=>{return(0x1<<_0xd67d7d)-_0x5ddf45>>0x4;},_0x428d93['customTags']=_0x48f344;break;case _0x445f71(_0x5798d4._0x36339c,_0x5798d4._0x11b271):_0x428d93[_0x445f71(0xd63,0x755)]='https://rt{s}.map.gtimg.com/tile?z={z}&x={x}&y={reverseY}&styleid=2&scene=0';break;case _0x1e1216(_0x5798d4._0xf31572,0x12d2):_0x428d93['style']=_0x428d93['style']||'4',_0x428d93[_0x445f71(_0x5798d4._0x4d6ede,_0x5798d4._0x217ab0)]='https://rt{s}.map.gtimg.com/tile?z={z}&x={x}&y={reverseY}&styleid='+_0x428d93['style']+_0x1e1216(_0x5798d4._0x3ce29a,_0x5798d4._0x39ef52);break;}function _0x1e1216(_0x42bf40,_0x2c1123){return _0x2b6441(_0x42bf40,_0x2c1123-0x1fe);}_0x428d93['subdomains']=_0x428d93['subdomains']??['0','1','2'];function _0x445f71(_0xf9317d,_0x810f1e){return _0x2b6441(_0xf9317d,_0x810f1e-0x137);}super(_0x428d93);}}class GoogleImageryProvider extends XyzImageryProvider{constructor(_0x438031={}){const _0x27e6c7={_0x10b3d9:0xa96,_0x56aa27:0xb8a,_0x222d79:0xb64,_0x767a1b:0xe85};function _0x5f02c5(_0x41c56e,_0x283e65){return _0x306755(_0x283e65,_0x41c56e- -0x535);}let _0x30b1ac;switch(_0x438031['layer']){case'img_d':_0x30b1ac='https://gac-geo.googlecnapps.club/maps/vt?lyrs=s&gl=CN&x={x}&y={y}&z={z}';break;case'img_z':_0x30b1ac='https://gac-geo.googlecnapps.club/maps/vt?lyrs=h&gl=CN&x={x}&y={y}&z={z}';break;case'vec':_0x30b1ac='https://gac-geo.googlecnapps.club/maps/vt?lyrs=m&x={x}&y={y}&z={z}';break;case _0x5f02c5(_0x27e6c7._0x10b3d9,0xe72):_0x30b1ac='https://gac-geo.googlecnapps.club/maps/vt?lyrs=t@131,r&gl=CN&x={x}&y={y}&z={z}';break;default:_0x30b1ac=_0x438031['url'];break;}(_0x438031['proxy']||_0x438031[_0x5f02c5(_0x27e6c7._0x56aa27,0xade)]||_0x438031[_0x5f02c5(0x889,_0x27e6c7._0x222d79)])&&(_0x30b1ac=getUrlResource({'url':_0x30b1ac['replace']('{s}','1'),'proxy':_0x438031['proxy'],'headers':_0x438031['headers'],'queryParameters':_0x438031[_0x5f02c5(0x889,_0x27e6c7._0x767a1b)]}));function _0x48dc93(_0xe05f0a,_0x36653f){return _0x2b6441(_0x36653f,_0xe05f0a-0x10);}const _0x598a1f={'subdomains':['1','2','3'],'maximumLevel':0x14,..._0x438031};_0x598a1f['url']=_0x30b1ac,super(_0x598a1f);}}class OsmImageryProvider extends XyzImageryProvider{constructor(_0xdaf2de={}){const _0x480754={_0x2c51bd:0x4af},_0x5f5a42={_0x1d50cd:0x14e},_0x1e3122={_0x546136:0x639};let _0x10b254='https://tile.openstreetmap.org/{z}/{x}/{y}.png';(_0xdaf2de['proxy']||_0xdaf2de[_0x1d7627(0xa86,0x1177)]||_0xdaf2de['queryParameters'])&&(_0x10b254=getUrlResource({'url':_0x10b254,'proxy':_0xdaf2de[_0x1d7627(_0x480754._0x2c51bd,0x6e4)],'headers':_0xdaf2de[_0x69d9fd(0x76f,0xc6c)],'queryParameters':_0xdaf2de['queryParameters']}));const _0x400350={'maximumLevel':0x12,..._0xdaf2de};function _0x1d7627(_0xa30113,_0x15062b){return _0x306755(_0x15062b,_0xa30113- -_0x1e3122._0x546136);}_0x400350['url']=_0x10b254;function _0x69d9fd(_0x2ff370,_0x4401b6){return _0x2b6441(_0x2ff370,_0x4401b6-_0x5f5a42._0x1d50cd);}super(_0x400350);}}class EmptyImageryProvider extends Cesium__namespace[_0x2b6441(0x19bb,0x1311)]{constructor(_0x4bb506={}){const _0x41c35f={_0xc6fbc5:0x1733,_0x37bf3b:0xe77,_0x972a56:0x1038,_0x1a8d75:0x7be,_0x12beb8:0x3cb};super(_0x4bb506),this['options']=_0x4bb506,this['_minimumLevel']=_0x4bb506[_0x5e063a(_0x41c35f._0xc6fbc5,_0x41c35f._0x37bf3b)]??0x0,this['_maximumLevel']=_0x4bb506[_0x25011c(_0x41c35f._0x972a56,0x14ee)];function _0x25011c(_0x59f7fa,_0x3ffca2){return _0x306755(_0x3ffca2,_0x59f7fa-0x166);}function _0x5e063a(_0x18437e,_0x571b35){return _0x306755(_0x18437e,_0x571b35- -0x648);}this['_tilingScheme']=_0x4bb506['tilingScheme']??new Cesium__namespace[(_0x5e063a(0x309,0xccc))]({'ellipsoid':_0x4bb506['ellipsoid']});_0x4bb506['rectangle']?this['_rectangle']=Cesium__namespace['Rectangle']['intersection'](_0x4bb506[_0x25011c(0x157f,0x166c)],this[_0x5e063a(_0x41c35f._0x1a8d75,0x247)]['rectangle']):this['_rectangle']=this[_0x5e063a(_0x41c35f._0x12beb8,0x247)][_0x25011c(0x157f,0x190c)];this['options']=_0x4bb506;const _0x10583c=document['createElement']('canvas');_0x10583c['width']=0x100,_0x10583c['height']=0x100,this['_canvas']=_0x10583c;}['requestImage'](_0xa210b,_0x5d8469,_0xe566b5){const _0x254ac3={_0xa553bd:0x15a5,_0x236d2e:0xd72,_0x40d697:0xec4,_0x2d17be:0x1cb5,_0x1efc2a:0x69f,_0x56b93b:0x203,_0xf4dda:0xea8,_0x5d66c3:0x1c8},_0x2dd53f={_0x4796b5:0x361};return new Promise((_0x4ecdcc,_0x2627c5)=>{const _0x44ab16={_0x4d5f67:0x286},_0x5c604b=this['_canvas'],_0x453972={};function _0x3ec73d(_0x5cbfa0,_0x5a1638){return _0x5bbe(_0x5cbfa0- -_0x44ab16._0x4d5f67,_0x5a1638);}function _0x3aa3be(_0x5c62cc,_0x2ca6cb){return _0x5bbe(_0x2ca6cb-_0x2dd53f._0x4796b5,_0x5c62cc);}_0x453972[_0x3aa3be(0x120c,0x102b)]=!![];const _0x312a87=_0x5c604b[_0x3aa3be(_0x254ac3._0xa553bd,_0x254ac3._0x236d2e)]('2d',_0x453972);_0x312a87['clearRect'](0x0,0x0,_0x5c604b['width'],_0x5c604b['height']);if(_0xe566b5<this[_0x3aa3be(_0x254ac3._0x40d697,0x1821)]||Cesium__namespace['defined'](this['_maximumLevel'])&&_0xe566b5>this[_0x3ec73d(0x150a,_0x254ac3._0x2d17be)])return _0x4ecdcc(_0x5c604b);if(this[_0x3aa3be(0x1304,0xd4b)][_0x3aa3be(0x20e1,0x1a36)]){_0x312a87[_0x3aa3be(0xa0c,0xc98)]='#ffff00',_0x312a87['lineWidth']=0x2,_0x312a87[_0x3ec73d(0x13cb,0x97f)](0x1,0x1,0xff,0xff);const _0x15b90d='L'+_0xe566b5+'X'+_0xa210b+'Y'+_0x5d8469;_0x312a87['font']=_0x3aa3be(_0x254ac3._0x1efc2a,0xfa8),_0x312a87['textAlign']=_0x3ec73d(_0x254ac3._0x56b93b,-0x5b1),_0x312a87[_0x3aa3be(0x170c,_0x254ac3._0xf4dda)]='black',_0x312a87['fillText'](_0x15b90d,0x7f,0x7f),_0x312a87['fillStyle']='#ffff00',_0x312a87[_0x3ec73d(0x5c7,_0x254ac3._0x5d66c3)](_0x15b90d,0x7c,0x7c),_0x312a87[_0x3aa3be(0x12f8,0x119a)]();}_0x4ecdcc(_0x5c604b);});}}const _0x5b5100={};_0x5b5100[_0x306755(0x105f,0xbb0)]=null,_0x5b5100['XyzImageryProvider']=XyzImageryProvider,_0x5b5100[_0x306755(0x42,0xa84)]=TdtImageryProvider,_0x5b5100[_0x2b6441(0x1368,0xdf0)]=GaodeImageryProvider,_0x5b5100['BaiduImageryProvider']=BaiduImageryProvider,_0x5b5100['TencentImageryProvider']=TencentImageryProvider,_0x5b5100[_0x306755(0x3b1,0xe0b)]=GoogleImageryProvider,_0x5b5100['OsmImageryProvider']=OsmImageryProvider,_0x5b5100['EmptyImageryProvider']=EmptyImageryProvider;var index$5=_0x5b5100;class GroupLayer extends BaseGraphicLayer{constructor(_0x2015c2={}){super(_0x2015c2);function _0x2bad78(_0x4d74f8,_0x23a84e){return _0x306755(_0x23a84e,_0x4d74f8- -0xf4);}this[_0x2bad78(0x1142,0x858)]=[];}get['layer'](){const _0x398779={_0x2fa5fb:0x2b0};function _0x43771c(_0x394eca,_0xf0439f){return _0x2b6441(_0x394eca,_0xf0439f-_0x398779._0x2fa5fb);}return this[_0x43771c(0x875,0xf45)];}get[_0x306755(0x1cd,0xb91)](){return this['_arrLayer'];}get['hasEmptyGroup'](){const _0x179b34={_0x34d561:0x91};function _0x4a1033(_0x180e77,_0x3520c9){return _0x2b6441(_0x3520c9,_0x180e77- -_0x179b34._0x34d561);}return this[_0x4a1033(0xfc9,0x1397)]===0x0;}get[_0x306755(0x1739,0x18c1)](){function _0x5af96e(_0x5a74f2,_0x59f3d8){return _0x306755(_0x59f3d8,_0x5a74f2- -0x327);}return this[_0x5af96e(0x12d4,0x88f)]>0x0;}get['length'](){const _0x474810={_0x18cb1b:0x1868,_0x61e178:0x16cf,_0x33943e:0x90d,_0xd08851:0x60f};var _0x12cde2;function _0x5236a2(_0x4d1356,_0x446f9c){return _0x306755(_0x446f9c,_0x4d1356- -0x17c);}function _0x2726bd(_0x4fe694,_0xf7b0a2){return _0x2b6441(_0x4fe694,_0xf7b0a2- -0xad);}if(((_0x12cde2=this['options'])===null||_0x12cde2===void 0x0||(_0x12cde2=_0x12cde2[_0x2726bd(_0x474810._0x18cb1b,0x12af)])===null||_0x12cde2===void 0x0?void 0x0:_0x12cde2[_0x5236a2(0x147f,_0x474810._0x61e178)])>0x0)return this[_0x2726bd(_0x474810._0x33943e,_0x474810._0xd08851)]['layers'][_0x5236a2(0x147f,0xe4b)];else{var _0x3995a7;return((_0x3995a7=this['_arrLayer'])===null||_0x3995a7===void 0x0?void 0x0:_0x3995a7['length'])||0x0;}}get['hasOpacity'](){const _0x3125ec={_0x3f8cc9:0x151e},_0x3f38ec={_0x1dd54a:0x491};function _0x3a4612(_0x2ecce3,_0x1eace9){return _0x306755(_0x1eace9,_0x2ecce3- -_0x3f38ec._0x1dd54a);}if(Cesium__namespace['defined'](this['options'][_0x3a4612(_0x3125ec._0x3f8cc9,0xad4)]))return this['options']['hasOpacity'];if(this['_arrLayer']['length']===0x0)return![];return this['_arrLayer'][0x0]['hasOpacity'];}get['hasZIndex'](){const _0x531556={_0x5cb5f6:0x3e9};function _0x24449f(_0x3899ee,_0x410906){return _0x2b6441(_0x3899ee,_0x410906-0x161);}if(this['_arrLayer'][_0x37edb6(0x15ea,0x1057)]===0x0)return![];function _0x37edb6(_0x389f4c,_0x50dfe7){return _0x306755(_0x50dfe7,_0x389f4c- -0x11);}return this['_arrLayer'][0x0][_0x24449f(-0x182,_0x531556._0x5cb5f6)];}get['zIndex'](){const _0x103212={_0x49029c:0x220},_0x50a783={_0xde8503:0xa1};function _0x34d553(_0x1ba908,_0x10e2b6){return _0x2b6441(_0x1ba908,_0x10e2b6-_0x50a783._0xde8503);}return this[_0x34d553(-_0x103212._0x49029c,0x75d)]['zIndex'];}set[_0x2b6441(0x96e,0x676)](_0x445373){const _0x5cb97e={_0x426634:0xb1e,_0x5742c9:0x2f4},_0x3646d4={_0x4d646f:0x13f};function _0x42a405(_0x307e56,_0x187566){return _0x306755(_0x307e56,_0x187566- -0x60f);}this[_0x5cf597(_0x5cb97e._0x426634,_0x5cb97e._0x5742c9)]['zIndex']=_0x445373;function _0x5cf597(_0x50ea5b,_0x1147f9){return _0x306755(_0x1147f9,_0x50ea5b- -_0x3646d4._0x4d646f);}for(let _0x5230b3=this['_arrLayer']['length']-0x1;_0x5230b3>=0x0;_0x5230b3--){const _0x69ab89=this[_0x42a405(0x14b2,0xc27)][_0x5230b3];_0x69ab89[_0x5cf597(0x6ea,0xe6b)]&&!_0x69ab89['zIndex']&&(_0x69ab89['zIndex']=_0x445373);}}[_0x306755(0x10c5,0x643)](_0x24e938){const _0x47b426={_0x510e7c:0xfc1},_0x378041={_0x3e9427:0x35f};this['eachLayer'](_0x44d7ce=>{function _0x4eba0b(_0xea3982,_0x376ddc){return _0x5bbe(_0x376ddc- -_0x378041._0x3e9427,_0xea3982);}_0x44d7ce[_0x4eba0b(0xbf0,_0x47b426._0x510e7c)]=_0x24e938;},this);}[_0x306755(0x1520,0x130c)](){const _0x1d0d5c={_0x3267dc:0xc1a,_0x269e0f:0x103c,_0x515a7c:0x1d75,_0x298b94:0x1b14},_0x845ea4={_0x108e51:0x56f};function _0x13bbe0(_0x2417f4,_0x489cd3){return _0x306755(_0x2417f4,_0x489cd3-0x170);}super['_mountedHook']();function _0x373849(_0x4f57dc,_0x372d55){return _0x306755(_0x4f57dc,_0x372d55- -_0x845ea4._0x108e51);}const _0x2b6c62=this[_0x13bbe0(0x142e,0xdcd)][_0x373849(0xd53,0x138e)];if(_0x2b6c62&&_0x2b6c62['length']>0x0)for(let _0x48de5d=0x0;_0x48de5d<_0x2b6c62[_0x13bbe0(0x1d6d,0x176b)];_0x48de5d++){const _0x177588=_0x2b6c62[_0x48de5d];if(_0x177588 instanceof BaseLayer)_0x177588[_0x373849(0x790,_0x1d0d5c._0x3267dc)]=this,this['addLayer'](_0x177588);else{_0x177588[_0x373849(_0x1d0d5c._0x269e0f,0xc1a)]=this,_0x177588['private']=this['isPrivate'];const _0x3c36c3=create$3(_0x177588,this[_0x13bbe0(_0x1d0d5c._0x515a7c,_0x1d0d5c._0x298b94)]);_0x3c36c3&&this['addLayer'](_0x3c36c3);}}}['_addedHook'](){const _0x589976={_0x1731d0:0xab3,_0x4e2f09:0x874,_0x38124d:0x2cd},_0x3b4b1f={_0x39638c:0x57},_0x2b4a0e={_0x598191:0x1a3},_0x5b9ae4=[];function _0x41612d(_0x1a405a,_0x2894c0){return _0x306755(_0x2894c0,_0x1a405a- -_0x2b4a0e._0x598191);}function _0x2e1f68(_0x5d4a10,_0x35af16){return _0x2b6441(_0x5d4a10,_0x35af16- -_0x3b4b1f._0x39638c);}this[_0x2e1f68(0x3b5,_0x589976._0x1731d0)](_0xf58d4b=>{_0xf58d4b[_0x370077(0xf29,0x108a)]=this,this['_map']['addLayer'](_0xf58d4b);function _0x1c7f0e(_0x52214d,_0xc347c1){return _0x2e1f68(_0x52214d,_0xc347c1-0x67b);}function _0x370077(_0x662be9,_0x2c01e5){return _0x2e1f68(_0x662be9,_0x2c01e5-0x4f9);}_0x5b9ae4[_0x1c7f0e(0x6f7,0x71c)](_0xf58d4b['readyPromise']);},this),Promise[_0x41612d(_0x589976._0x4e2f09,_0x589976._0x38124d)](_0x5b9ae4)['then'](_0x2e5c57=>{this['_readyPromise']['resolve'](this);});}[_0x2b6441(0xa66,0x88a)](){this['removeMapChilds']();}['addChildsToMap'](){const _0x2d3d50={_0x380cf1:0xad8};this['eachLayer'](_0x9f47e0=>{const _0x46f4a5={_0x16f3fe:0x1dd};function _0x4e353f(_0x4d2652,_0x34e58d){return _0x5bbe(_0x34e58d- -_0x46f4a5._0x16f3fe,_0x4d2652);}this['_map'][_0x4e353f(_0x2d3d50._0x380cf1,0xd45)](_0x9f47e0);},this);}[_0x2b6441(0xe64,0x634)](){const _0x252b39={_0x580936:0x223c,_0x19e0c2:0x192c},_0x5c14cf={_0x563d80:0x3d6};this['eachLayer'](_0x30357a=>{function _0x2ff73d(_0x3a487c,_0x3767c2){return _0x5bbe(_0x3767c2-_0x5c14cf._0x563d80,_0x3a487c);}function _0x531471(_0x435d30,_0x59d37f){return _0x5bbe(_0x59d37f- -0x4b,_0x435d30);}this[_0x2ff73d(_0x252b39._0x580936,_0x252b39._0x19e0c2)][_0x531471(0xf78,0x1566)](_0x30357a);},this);}['addLayer'](_0x58d48f){const _0x5a399e={_0x4dc317:0x6da,_0x403882:0x23d,_0x50adb6:0x911,_0x5f38ad:0x112,_0x4c25cc:0x783,_0x2fb5bf:0x51f,_0xdc8c6f:0x1d24,_0x5f5354:0x133f};_0x58d48f['parent']&&(_0x58d48f[_0x1583e6(0x895,_0x5a399e._0x4dc317)](_0x58d48f[_0x3b6ea(_0x5a399e._0x403882,_0x5a399e._0x50adb6)]),_0x58d48f['parent']=null);_0x58d48f['pid']=this['id'];function _0x3b6ea(_0x48b696,_0x12e96a){return _0x2b6441(_0x48b696,_0x12e96a-0x427);}_0x58d48f['parent']=this;function _0x1583e6(_0x471053,_0x14f89a){return _0x2b6441(_0x471053,_0x14f89a-0x117);}return _0x58d48f[_0x3b6ea(_0x5a399e._0x5f38ad,0xae3)][_0x1583e6(_0x5a399e._0x4c25cc,0xcff)]=this,this['_arrLayer'][_0x3b6ea(-0xb7,_0x5a399e._0x2fb5bf)](_0x58d48f),this['isAdded']&&!_0x58d48f['isAdded']?this['_map'][_0x3b6ea(0x1732,0x101b)](_0x58d48f):(_0x58d48f['removeEventParent'](this[_0x1583e6(_0x5a399e._0xdc8c6f,_0x5a399e._0x5f5354)]),_0x58d48f['addEventParent'](this)),this;}['removeLayer'](_0x4cc530){const _0x431b2d={_0x1e694b:0x17c1,_0x3ec085:0x12e7};function _0x38ee8d(_0x5cf963,_0x194a3e){return _0x306755(_0x194a3e,_0x5cf963- -0x1a8);}_0x4cc530[_0x38ee8d(0x8e3,0x337)]=null;function _0x86c19f(_0x31a6f2,_0x1046a1){return _0x2b6441(_0x1046a1,_0x31a6f2-0x599);}return _0x4cc530['removeEventParent'](this),removeArrayItem(this[_0x38ee8d(0x108e,0x11c2)],_0x4cc530),this['_map']&&_0x4cc530[_0x38ee8d(0x9b9,0x41a)]&&this[_0x86c19f(_0x431b2d._0x1e694b,_0x431b2d._0x3ec085)]['removeLayer'](_0x4cc530),this;}['removeAllLayer'](){const _0x4718f1={_0x559be7:0x1302,_0x56a5e4:0xe69};for(let _0x1639e0=this['_arrLayer'][_0xf64050(_0x4718f1._0x559be7,0xfd3)]-0x1;_0x1639e0>=0x0;_0x1639e0--){const _0x2944f9=this['_arrLayer'][_0x1639e0];this[_0xf64050(_0x4718f1._0x56a5e4,0x11fc)](_0x2944f9);}function _0xf64050(_0xcfd1a9,_0x4d94c4){return _0x2b6441(_0xcfd1a9,_0x4d94c4- -0x87);}function _0x5e5fda(_0x2a7164,_0x48d4a4){return _0x2b6441(_0x2a7164,_0x48d4a4- -0x7d);}this['_arrLayer']=[];}['eachLayer'](_0x56fe53,_0x4c218c){const _0x12bacc={_0x30c512:0x599},_0x40505d={_0x34bf23:0xcfa};if(!this[_0x1b19e2(0x10c3,0x1282)])return;this[_0xfb6818(0xa5d,0x122e)]['forEach'](_0x3ed748=>{function _0x2bbabc(_0x3be3d9,_0x4c3769){return _0x1b19e2(_0x3be3d9,_0x4c3769- -0x509);}_0x56fe53[_0x2bbabc(0x6b9,_0x40505d._0x34bf23)](_0x4c218c,_0x3ed748);});function _0xfb6818(_0x3efba5,_0x3c31fa){return _0x2b6441(_0x3efba5,_0x3c31fa-_0x12bacc._0x30c512);}function _0x1b19e2(_0x2e161b,_0x326a74){return _0x306755(_0x2e161b,_0x326a74-0x4c);}return this;}[_0x2b6441(-0xc7,0x2e1)](){return this['_arrLayer'];}['getInMapChilds'](){const _0x449b76=this['_arrLayer']||[];return this['_map']['eachLayer'](_0x301ee9=>{if(_0x301ee9['pid']!==this['id'])return;if(this['_arrLayer']['indexOf'](_0x301ee9)!==-0x1)return;_0x449b76['push'](_0x301ee9);},this),_0x449b76;}[_0x306755(-0x160,0x632)](_0x3cca0c){const _0x5edbc7={_0x45fd07:0x18aa},_0xb82d88={_0x44331c:0x571};function _0x498a37(_0x110236,_0x43974f){return _0x2b6441(_0x43974f,_0x110236-0x185);}function _0x747f5b(_0x56b9aa,_0x427aee){return _0x2b6441(_0x427aee,_0x56b9aa-_0xb82d88._0x44331c);}const _0x24e990=this['_arrLayer'];if(!this['_arrLayer']||this['_arrLayer'][_0x498a37(0x11df,0x130a)]===0x0)return;for(let _0x56dbd1=0x0,_0x8855c9=_0x24e990[_0x498a37(0x11df,_0x5edbc7._0x45fd07)];_0x56dbd1<_0x8855c9;_0x56dbd1++){const _0x5f4773=_0x24e990[_0x56dbd1];if(_0x5f4773['id']===_0x3cca0c)return _0x5f4773;}return undefined;}['getLayer'](_0x3cfd80){const _0x2ae81f={_0x35c974:0x484,_0x161e90:0x17ec};function _0x377413(_0x4c23b3,_0x38c636){return _0x306755(_0x38c636,_0x4c23b3- -0x45d);}if(!this['_arrLayer']||this['_arrLayer']['length']===0x0)return undefined;for(let _0x4b29bf=0x0;_0x4b29bf<this[_0x377413(0xdd9,_0x2ae81f._0x35c974)]['length'];_0x4b29bf++){const _0x467510=this[_0x5d0d6d(0xe23,_0x2ae81f._0x161e90)][_0x4b29bf];if(_0x467510['name']===_0x3cfd80||_0x467510['id']===_0x3cfd80)return _0x467510;}function _0x5d0d6d(_0xaa4d2f,_0x30442b){return _0x306755(_0x30442b,_0xaa4d2f- -0x413);}return undefined;}[_0x2b6441(0xb6e,0x56f)](_0x37f2ba,_0x420a0e){function _0xb68812(_0x34f8f6,_0x3ed925){return _0x2b6441(_0x3ed925,_0x34f8f6-0x4bc);}for(let _0x24a427=0x0;_0x24a427<this['_arrLayer'][_0xb68812(0x1516,0x1dc8)];_0x24a427++){const _0x2a1b9b=this['_arrLayer'][_0x24a427];if(_0x420a0e&&_0x2a1b9b===_0x420a0e)continue;if(_0x2a1b9b['name']===_0x37f2ba||_0x2a1b9b['id']===_0x37f2ba)return!![];}return![];}['_toJsonEx'](_0x6cfc80){const _0x9a39e9={_0x37b625:0xd52},_0x2a7c3a={_0x5d8424:0x282,_0x5f163b:0xc07},_0x26cf84={_0x148731:0xda},_0x478ea4=[];function _0x574bad(_0x42c974,_0x306084){return _0x306755(_0x42c974,_0x306084-_0x26cf84._0x148731);}this[_0x574bad(_0x9a39e9._0x37b625,0x1185)](_0x38da6d=>{const _0x4176ef=_0x38da6d[_0x1f5053(0x810,_0x2a7c3a._0x5d8424)]();function _0x1b5beb(_0x3888e0,_0x30ccdd){return _0x574bad(_0x3888e0,_0x30ccdd-0x99);}delete _0x4176ef[_0x1b5beb(0xc73,_0x2a7c3a._0x5f163b)];function _0x1f5053(_0x3e517c,_0x200e55){return _0x574bad(_0x200e55,_0x3e517c- -0x3d4);}delete _0x4176ef['id'],delete _0x4176ef['zIndex'],delete _0x4176ef['private'],_0x478ea4['push'](_0x4176ef);},this),_0x478ea4['length']>0x0&&(_0x6cfc80['layers']=_0x478ea4);}[_0x2b6441(0xd8a,0x1342)](_0x3894a9){const _0x3ff68b={_0x1bffd1:0x1887,_0x56ed96:0x12c9};let _0x3ee91a;const _0x54fb09=this['getInMapChilds']();_0x54fb09[_0x5e440d(0xb84,0xaab)](_0x3bfc65=>{if(!_0x3bfc65[_0x5bb130(_0x3ff68b._0x1bffd1,_0x3ff68b._0x56ed96)])return;const _0x1d45e4=_0x3bfc65[_0x5bb130(0xa4b,0x12c9)]();if(!Cesium__namespace['defined'](_0x1d45e4))return;function _0x5bb130(_0x3fa212,_0x5bd2ae){return _0x5e440d(_0x3fa212,_0x5bd2ae- -0x485);}function _0x1f0ef0(_0x8d0edf,_0x153f8c){return _0x5e440d(_0x8d0edf,_0x153f8c-0x1bd);}_0x3ee91a?_0x3ee91a=Cesium__namespace['Rectangle']['union'](_0x1d45e4,_0x3ee91a):_0x3ee91a=_0x1d45e4;},this);function _0x5e440d(_0x4a56f3,_0x1396f0){return _0x306755(_0x4a56f3,_0x1396f0- -0x195);}return _0x3894a9?formatRectangle(_0x3ee91a):_0x3ee91a;}['setOpacity'](_0x4afc50){const _0x34f86c={_0xe9105e:0xb9b};function _0x1d4a4a(_0x1bda68,_0x19d365){return _0x2b6441(_0x1bda68,_0x19d365-0x91);}this[_0x1d4a4a(0xf3a,_0x34f86c._0xe9105e)](_0x3a4914=>{_0x3a4914['opacity']=_0x4afc50;},this);}['toTop'](){const _0x3e1370={_0x2f2849:0xdd9,_0x7afb8e:0xc6e};this['eachLayer'](_0x40206f=>{function _0x3de728(_0x120564,_0x5d19b5){return _0x5bbe(_0x120564-0x194,_0x5d19b5);}_0x40206f[_0x3de728(_0x3e1370._0x2f2849,_0x3e1370._0x7afb8e)]();},this);}[_0x2b6441(0xa6f,0x781)](){const _0xf2469d={_0xfeba1c:0xd75};function _0x35972c(_0x4bea17,_0x1be565){return _0x306755(_0x1be565,_0x4bea17-0x53);}const _0xaedc47=this['_arrLayer'];for(let _0x32333a=_0xaedc47['length']-0x1;_0x32333a>=0x0;_0x32333a--){const _0x1da256=_0xaedc47[_0x32333a];_0x1da256[_0x35972c(_0xf2469d._0xfeba1c,0xc8a)]();}}[_0x306755(0x1718,0x1a00)](){const _0xd92329=this['_arrLayer'];for(let _0x464272=_0xd92329['length']-0x1;_0x464272>=0x0;_0x464272--){const _0x5ea7a6=_0xd92329[_0x464272];_0x5ea7a6['reload']?_0x5ea7a6['reload']():(this['removeLayer'](_0x5ea7a6),this['addLayer'](_0x5ea7a6));}}['destroy'](_0x1ba05c){const _0x5bd7cc={_0xd3f734:0x14c2},_0x4d30f8={_0x459f77:0x638};this['eachLayer'](_0x5a10c3=>{const _0x547ca9={_0x35d21e:0x381};function _0x4ddaaf(_0x2de5d7,_0x5b0990){return _0x5bbe(_0x5b0990-_0x547ca9._0x35d21e,_0x2de5d7);}_0x5a10c3!==null&&_0x5a10c3!==void 0x0&&_0x5a10c3[_0x4ddaaf(0x1b44,0x109d)]&&_0x5a10c3['destroy'](_0x1ba05c);},this);function _0x3ddf74(_0x37e827,_0x37e0e6){return _0x2b6441(_0x37e0e6,_0x37e827-_0x4d30f8._0x459f77);}super[_0x3ddf74(0x1026,_0x5bd7cc._0xd3f734)](_0x1ba05c);}}register$3(_0x2b6441(0x10b3,0xf86),GroupLayer);class BaseTileLayer extends BaseLayer{constructor(_0x3ff33e={}){super(_0x3ff33e),this['_setRectangleByOptions'](_0x3ff33e);function _0x365fea(_0x2bfa60,_0x1334fa){return _0x306755(_0x2bfa60,_0x1334fa- -0x440);}this[_0x365fea(0x34e,0x2d4)]=!![];}get[_0x306755(0x13f7,0x9ca)](){const _0x4a36e7={_0x58ee70:0xad4},_0x39d281={_0x46cd5c:0x4d};function _0x1a092e(_0x24cf14,_0x377697){return _0x306755(_0x377697,_0x24cf14-_0x39d281._0x46cd5c);}return this[_0x1a092e(0x558,_0x4a36e7._0x58ee70)];}get['imageryProvider'](){const _0x1a311c={_0x28ed22:0x462,_0x4e7ea9:0x17c};function _0x132e3d(_0x439061,_0x1ba741){return _0x2b6441(_0x439061,_0x1ba741-0x212);}var _0x2a1619;return(_0x2a1619=this[_0x132e3d(-_0x1a311c._0x28ed22,_0x1a311c._0x4e7ea9)])===null||_0x2a1619===void 0x0?void 0x0:_0x2a1619['imageryProvider'];}get['crs'](){return this['options']['crs']||CRS['EPSG3857'];}get[_0x306755(0x1c2a,0x159f)](){const _0x37bc9c={_0x23775c:0x2ac};function _0xe9d83a(_0x2342f1,_0x2de141){return _0x2b6441(_0x2de141,_0x2342f1-_0x37bc9c._0x23775c);}return this[_0xe9d83a(0x854,0x104b)];}set['alpha'](_0x205151){this['opacity']=_0x205151;}get['brightness'](){var _0xd44c9;return this['options']['brightness']||((_0xd44c9=this['_imageryLayer'])===null||_0xd44c9===void 0x0?void 0x0:_0xd44c9['brightness']);}set['brightness'](_0x4c6f17){this['options']['brightness']=_0x4c6f17;if(this['_imageryLayer']==null)return;this['_imageryLayer']['brightness']=_0x4c6f17;}get[_0x2b6441(0x2aa,0x9b3)](){var _0x19162f;function _0x9e26dc(_0x59016f,_0x228746){return _0x306755(_0x228746,_0x59016f-0xae);}return this['options'][_0x9e26dc(0x1002,0x1602)]||((_0x19162f=this['_imageryLayer'])===null||_0x19162f===void 0x0?void 0x0:_0x19162f['contrast']);}set[_0x306755(0x71f,0xf54)](_0x2f99b9){const _0x260e71={_0xfc6350:0x5dd,_0x535e4f:0xf66},_0x26adbd={_0x4c0a9c:0x12},_0x72477d={_0x409254:0x175};function _0x3a2123(_0x24147a,_0x34de04){return _0x2b6441(_0x34de04,_0x24147a-_0x72477d._0x409254);}this['options'][_0x3a2123(0xb28,_0x260e71._0xfc6350)]=_0x2f99b9;function _0x21de9c(_0x1b5fd8,_0x56058b){return _0x306755(_0x56058b,_0x1b5fd8-_0x26adbd._0x4c0a9c);}if(this['_imageryLayer']==null)return;this['_imageryLayer'][_0x21de9c(_0x260e71._0x535e4f,0x132a)]=_0x2f99b9;}get['hue'](){const _0x35c68e={_0x2ae379:0x128};var _0x1264b7;function _0x42187e(_0x459f1f,_0x3ab524){return _0x2b6441(_0x3ab524,_0x459f1f-_0x35c68e._0x2ae379);}return this['options']['hue']||((_0x1264b7=this['_imageryLayer'])===null||_0x1264b7===void 0x0?void 0x0:_0x1264b7[_0x42187e(0x54,-0x802)]);}set[_0x306755(-0x52,0x4cd)](_0x35cd6c){const _0x57fb72={_0x5b3571:0x5},_0x51a7a9={_0x12844f:0x16d};this['options']['hue']=_0x35cd6c;if(this[_0x4f1c2d(_0x57fb72._0x5b3571,0x39e)]==null)return;function _0x4f1c2d(_0x125eb4,_0x304a88){return _0x306755(_0x125eb4,_0x304a88- -_0x51a7a9._0x12844f);}this['_imageryLayer']['hue']=_0x35cd6c;}get['saturation'](){const _0x5be00c={_0x2b419a:0x117b,_0x36f65f:0x16b9,_0x41a81a:0x146};var _0x4ddc40;function _0x27858f(_0x139472,_0x286ec1){return _0x2b6441(_0x139472,_0x286ec1- -0xb0);}function _0x375d1f(_0x2ee8b8,_0x37c72f){return _0x306755(_0x37c72f,_0x2ee8b8- -0x162);}return this['options'][_0x375d1f(_0x5be00c._0x2b419a,_0x5be00c._0x36f65f)]||((_0x4ddc40=this[_0x27858f(0x635,-_0x5be00c._0x41a81a)])===null||_0x4ddc40===void 0x0?void 0x0:_0x4ddc40[_0x27858f(0x168a,0xc8c)]);}set[_0x306755(0x126c,0x12dd)](_0x183d05){const _0xed74a0={_0x4091b2:0xcd3},_0x477138={_0x3c42c8:0x76},_0x35dd19={_0x246923:0x46d};function _0x312f2d(_0x16276e,_0x5c5e4d){return _0x2b6441(_0x5c5e4d,_0x16276e-_0x35dd19._0x246923);}function _0x1690b9(_0x472d94,_0x387f31){return _0x306755(_0x472d94,_0x387f31-_0x477138._0x3c42c8);}this[_0x1690b9(0x1104,_0xed74a0._0x4091b2)]['saturation']=_0x183d05;if(this['_imageryLayer']==null)return;this[_0x312f2d(0x3d7,0x6e0)]['saturation']=_0x183d05;}get['gamma'](){const _0x16eb41={_0x24c82f:0x1b3,_0x3d63bb:0x12a4},_0x4c54fa={_0xc3c67a:0x358};function _0x286ba8(_0x12f9c6,_0x584c2b){return _0x2b6441(_0x584c2b,_0x12f9c6-0x15e);}var _0x1a2ffd;function _0x39734d(_0xcaa8bc,_0x26ee33){return _0x306755(_0xcaa8bc,_0x26ee33- -_0x4c54fa._0xc3c67a);}return this['options']['gamma']||((_0x1a2ffd=this[_0x39734d(0x212,_0x16eb41._0x24c82f)])===null||_0x1a2ffd===void 0x0?void 0x0:_0x1a2ffd[_0x286ba8(0xee8,_0x16eb41._0x3d63bb)]);}set['gamma'](_0x382dca){const _0x3d2e16={_0x314ad9:0x84d},_0x15aa36={_0xba6f0:0x75};this['options']['gamma']=_0x382dca;if(this[_0x304679(_0x3d2e16._0x314ad9,0x580)]==null)return;function _0x304679(_0x4e39cc,_0x595e38){return _0x306755(_0x4e39cc,_0x595e38-_0x15aa36._0xba6f0);}this['_imageryLayer']['gamma']=_0x382dca;}get[_0x2b6441(0xdbd,0x6db)](){return this['options']['splitDirection'];}set[_0x306755(0x2c7,0xc7c)](_0x267f2d){const _0x5d9c07={_0x1c8b2f:0x6ad,_0x3628fc:0xafb,_0x45af18:0x905,_0x16833c:0x200},_0x31b99d={_0x371453:0x181};function _0x156e2e(_0x3aef11,_0xb0098){return _0x306755(_0xb0098,_0x3aef11- -0x5b0);}this[_0x156e2e(_0x5d9c07._0x1c8b2f,0xf7c)][_0x4fc515(_0x5d9c07._0x3628fc,_0x5d9c07._0x45af18)]=_0x267f2d;function _0x4fc515(_0x634b71,_0x5c9ba0){return _0x306755(_0x5c9ba0,_0x634b71- -_0x31b99d._0x371453);}this['_imageryLayer']&&(this[_0x4fc515(0x38a,-_0x5d9c07._0x16833c)][_0x156e2e(0x6cc,-0x10c)]=_0x267f2d);}get[_0x2b6441(-0x2d3,0x288)](){return!![];}get['zIndex'](){const _0xc808ca={_0x41d23b:0x13c};function _0x469578(_0x3b85cb,_0x4bdc8a){return _0x306755(_0x4bdc8a,_0x3b85cb- -_0xc808ca._0x41d23b);}return this[_0x469578(0xb21,0x229)]['zIndex'];}set['zIndex'](_0x10be5a){const _0x9cb814={_0x28d11b:0xb3d,_0x50a876:0x1001};function _0x34bab8(_0x12f6e1,_0x4a06ac){return _0x306755(_0x12f6e1,_0x4a06ac- -0x62);}this['options'][_0x44c9ac(0xb00,_0x9cb814._0x28d11b)]=_0x10be5a;if(this['_imageryLayer']==null||_0x10be5a==null)return;this[_0x34bab8(0x16de,0x1767)]['imageryLayers'][_0x34bab8(0x186a,0x16a4)](this['_imageryLayer']);function _0x44c9ac(_0x270f3b,_0x2f5e8a){return _0x2b6441(_0x270f3b,_0x2f5e8a-0x4c7);}const _0x3551cf=this['_map'][_0x44c9ac(0x1148,_0x9cb814._0x50a876)][_0x34bab8(0x1da7,0x1951)];for(let _0x5cc3ef=_0x3551cf[_0x44c9ac(0x1bd2,0x1521)]-0x1;_0x5cc3ef>=0x0;_0x5cc3ef--){const _0x11d56c=_0x3551cf[_0x5cc3ef];if(_0x11d56c===this['_imageryLayer'])continue;const _0xa2e990=_0x11d56c['_mars3d_config'];Cesium__namespace['defined'](_0xa2e990===null||_0xa2e990===void 0x0?void 0x0:_0xa2e990['zIndex'])&&(_0x10be5a<_0xa2e990['zIndex']&&this['_map']['imageryLayers'][_0x44c9ac(0xce7,0x58e)](this[_0x34bab8(-0x170,0x4a9)]));}}get[_0x2b6441(0x340,0xd66)](){const _0x5be195={_0x22c2ff:0x4de,_0xf7e2ed:0x12a5};let _0x35a2f9=this['options']['subdomains'];function _0x484779(_0x4d8641,_0x3faeab){return _0x2b6441(_0x3faeab,_0x4d8641-0x46c);}if(!_0x35a2f9||_0x35a2f9['length']===0x0)return;isString(_0x35a2f9)&&(_0x35a2f9=_0x35a2f9['split'](''));function _0x1bdc81(_0x12f583,_0x3e7398){return _0x2b6441(_0x3e7398,_0x12f583-0x24b);}if(!Array[_0x1bdc81(_0x5be195._0x22c2ff,0x785)](_0x35a2f9)||_0x35a2f9[_0x1bdc81(_0x5be195._0xf7e2ed,0x1887)]===0x0)return;return getArrayRandomOne(_0x35a2f9);}get['rectangle'](){const _0x2f289d={_0x442daa:0x609,_0x2b757b:0x64,_0x476e01:0x10e3,_0x7f50c0:0xf40},_0x2f0f92={_0x37a713:0xc8};function _0x24e17f(_0x2c6fe9,_0xf90d4a){return _0x2b6441(_0x2c6fe9,_0xf90d4a-_0x2f0f92._0x37a713);}function _0x5844bc(_0x32b526,_0x3d151d){return _0x2b6441(_0x32b526,_0x3d151d-0xfa);}var _0x419b8e;if(this['_rectangle'])return this['_rectangle'];else return(_0x419b8e=this[_0x5844bc(-_0x2f289d._0x442daa,_0x2f289d._0x2b757b)])!==null&&_0x419b8e!==void 0x0&&(_0x419b8e=_0x419b8e['imageryProvider'])!==null&&_0x419b8e!==void 0x0&&_0x419b8e[_0x24e17f(_0x2f289d._0x476e01,_0x2f289d._0x7f50c0)]?this['_imageryLayer']['imageryProvider']['rectangle']:null;}set['rectangle'](_0x489d52){const _0x4e8b80={_0x21d212:0x17,_0x2b7107:0x870,_0x3aa8c2:0xaa,_0x266b59:0xf99},_0x184bb1={_0x1127ac:0x14};function _0xeffe38(_0x31a742,_0x258c4a){return _0x2b6441(_0x31a742,_0x258c4a- -_0x184bb1._0x1127ac);}function _0x55d3d4(_0x579362,_0x3506fd){return _0x2b6441(_0x579362,_0x3506fd-0xad);}if(_0x489d52){if(_0x489d52 instanceof Cesium__namespace['Rectangle']){var _0x2c7dd0;this[_0xeffe38(0x9e9,0x484)]=_0x489d52,this['options']['rectangle']=formatRectangle(this['_rectangle']),(_0x2c7dd0=this[_0x55d3d4(0xa4c,_0x4e8b80._0x21d212)])!==null&&_0x2c7dd0!==void 0x0&&(_0x2c7dd0=_0x2c7dd0['imageryProvider'])!==null&&_0x2c7dd0!==void 0x0&&_0x2c7dd0['rectangle']&&(this[_0xeffe38(-_0x4e8b80._0x2b7107,-_0x4e8b80._0x3aa8c2)]['imageryProvider']['_rectangle']=this[_0x55d3d4(_0x4e8b80._0x266b59,0x545)]);}}else this['_rectangle']=undefined,delete this['options'][_0xeffe38(0x3b6,0xe64)],this['reload']();}['_setRectangleByOptions'](_0x39dbbb){const _0x3f244d={_0x3e3d2a:0x146b,_0x3bfb20:0xc36,_0x3fafb8:0x138b,_0x243622:0xb2f,_0x9712d0:0xcd5,_0x5e7403:0x10b5,_0x1216a9:0xfa4,_0x57a74d:0x8a3,_0x19f10e:0x146b,_0x17c15a:0x144e,_0x54f8a3:0x737,_0x267f47:0xffa,_0x3e8be4:0x164d,_0x494714:0xffa},_0x269fa9={_0x27da5b:0x5f3};function _0x5909b5(_0x3a1a6e,_0x542d52){return _0x2b6441(_0x542d52,_0x3a1a6e-0x23d);}function _0x414eac(_0x80e169,_0x5d8df7){return _0x2b6441(_0x80e169,_0x5d8df7-_0x269fa9._0x27da5b);}if(Cesium__namespace['defined'](_0x39dbbb['rectangle'])){if(Cesium__namespace['defined'](_0x39dbbb['rectangle'][_0x414eac(0xd26,0xccf)])&&Cesium__namespace['defined'](_0x39dbbb[_0x414eac(0x1c4e,_0x3f244d._0x3e3d2a)][_0x5909b5(0x1d4,0x292)])&&Cesium__namespace['defined'](_0x39dbbb[_0x414eac(0x156c,0x146b)]['ymin'])&&Cesium__namespace['defined'](_0x39dbbb[_0x414eac(0x1803,0x146b)]['ymax']))this['_rectangle']=Cesium__namespace[_0x5909b5(_0x3f244d._0x3bfb20,0xf77)][_0x414eac(_0x3f244d._0x3fafb8,0xb0f)](_0x39dbbb['rectangle']['xmin'],_0x39dbbb['rectangle'][_0x5909b5(_0x3f244d._0x243622,_0x3f244d._0x9712d0)],_0x39dbbb[_0x5909b5(_0x3f244d._0x5e7403,_0x3f244d._0x1216a9)]['xmax'],_0x39dbbb['rectangle']['ymax']);else _0x39dbbb['rectangle']instanceof Cesium__namespace[_0x5909b5(0xc36,_0x3f244d._0x57a74d)]?this['_rectangle']=_0x39dbbb[_0x414eac(0x1959,_0x3f244d._0x19f10e)]:delete _0x39dbbb['rectangle'];}else Cesium__namespace[_0x5909b5(_0x3f244d._0x17c15a,0xd65)](_0x39dbbb[_0x5909b5(0xffa,_0x3f244d._0x54f8a3)])&&_0x39dbbb['bbox']['length']&&_0x39dbbb[_0x5909b5(_0x3f244d._0x267f47,0x908)][_0x414eac(0x14f3,_0x3f244d._0x3e8be4)]===0x4?this['_rectangle']=Cesium__namespace['Rectangle']['fromDegrees'](_0x39dbbb[_0x5909b5(_0x3f244d._0x494714,0x1a79)][0x0],_0x39dbbb['bbox'][0x1],_0x39dbbb[_0x5909b5(0xffa,0xc7d)][0x2],_0x39dbbb['bbox'][0x3]):this[_0x5909b5(0x6d5,0xcbc)]=undefined;}[_0x306755(0x1ef7,0x18d1)](_0x38c9b4,_0x100a21){function _0x51404c(_0xcdfac6,_0x1a355f){return _0x2b6441(_0xcdfac6,_0x1a355f-0xaf);}this['_setRectangleByOptions'](_0x38c9b4),this[_0x51404c(0x1158,0x150e)]();}async['_createImageryProvider'](_0x33f97e){return new Cesium__namespace['UrlTemplateImageryProvider'](_0x33f97e);}[_0x306755(0x1341,0x99e)](){const _0x2e998c={_0x4b4e3c:0x79d,_0x53d414:0x9e4,_0x1644ce:0x9ae,_0x4dda95:0xafc,_0x2312eb:0x11a8,_0x596c7b:0xf59,_0x3db18d:0x4b,_0x4caf92:0x18cf,_0x4ddbf6:0x130f,_0x1c5795:0x1d4f,_0x782659:0x1309,_0x3ec06c:0xc1b,_0x4601d9:0x508,_0x22c224:0x17af,_0x396ef3:0x60a,_0x11d108:0xa05,_0x326155:0xbc2},_0x1a7699={_0x214f7d:0x723,_0x1a4d60:0x2df,_0x409d3d:0x144a},_0x25a223={_0xd470bb:0xe15,_0x314599:0x771,_0x12b83b:0x945,_0x5e4a8e:0x12d1},_0x37c86b={_0x15dda0:0x88a,_0x29e10c:0xfe1},_0x3ca9e9={_0xfd22d5:0x426},_0x214590={_0xb89d76:0x17e},_0x469034={_0x28a4d1:0xa57},_0x4f0b6a={_0x1b60a3:0x111},_0x3452d9={_0x4e5bf9:0x431},_0x237db0={_0x22f8ac:0x5b7};var _0x34a432;this[_0x40c0e9(0xd55,_0x2e998c._0x4b4e3c)][_0x40c0e9(_0x2e998c._0x53d414,0x7ee)]&&(this[_0x22b659(0xad9,0xc5a)]['enablePickFeatures']=!![]);const _0x1c789f=this[_0x40c0e9(_0x2e998c._0x1644ce,0x6a9)]({...this['options'],'rectangle':this[_0x22b659(0x1976,0x1416)],'mapChinaCRS':this[_0x40c0e9(_0x2e998c._0x4dda95,0x1309)]['chinaCRS']});if(!Cesium__namespace['defined'](_0x1c789f))return;const _0x3ea755=this['options'],_0x455c6b={'show':this['show'],'alpha':this[_0x22b659(_0x2e998c._0x2312eb,0xb46)],..._0x3ea755,'rectangle':this[_0x40c0e9(0xaac,_0x2e998c._0x596c7b)],'marsOptions':{'onAddTile':_0x1fe8a8=>{function _0x239828(_0x47e857,_0x1c0f37){return _0x22b659(_0x47e857,_0x1c0f37- -_0x237db0._0x22f8ac);}function _0x4ad97b(_0x125b4c,_0xcbe6ed){return _0x22b659(_0xcbe6ed,_0x125b4c- -_0x3452d9._0x4e5bf9);}const _0x477f86=this[_0x239828(-_0x4f0b6a._0x1b60a3,0x36a)](_0x1fe8a8);this['fire'](EventType[_0x4ad97b(0x3c1,-0x409)],_0x477f86);},'onAddTileSuccess':_0x188c16=>{const _0x47762a=this[_0x709263(_0x469034._0x28a4d1,0x9bf)](_0x188c16);function _0x709263(_0x15da08,_0x3639e8){return _0x40c0e9(_0x3639e8,_0x15da08-0x5f3);}this['fire'](EventType['addTileSuccess'],_0x47762a);},'onAddTileError':_0x28728e=>{const _0x1e0516=this[_0x2bcd63(0x1293,_0x37c86b._0x15dda0)](_0x28728e);function _0x56d5c7(_0x578981,_0x193a0f){return _0x40c0e9(_0x578981,_0x193a0f-_0x214590._0xb89d76);}function _0x2bcd63(_0x522d5f,_0x2270a3){return _0x40c0e9(_0x522d5f,_0x2270a3-_0x3ca9e9._0xfd22d5);}this['fire'](EventType[_0x2bcd63(_0x37c86b._0x29e10c,0x971)],_0x1e0516);},'onRemoveTile':_0x586d6c=>{function _0x261c17(_0x4f3638,_0x179e48){return _0x22b659(_0x4f3638,_0x179e48- -0x6e);}function _0x140a43(_0x1f603d,_0x25321a){return _0x22b659(_0x25321a,_0x1f603d- -0x16b);}const _0x1e286f=this[_0x261c17(_0x25a223._0xd470bb,0x8b3)](_0x586d6c);this[_0x140a43(0x71b,_0x25a223._0x314599)](EventType[_0x261c17(_0x25a223._0x12b83b,_0x25a223._0x5e4a8e)],_0x1e286f);}}};this[_0x40c0e9(0x5d6,0x4b)]=Cesium__namespace['ImageryLayer']['fromProviderAsync'](_0x1c789f,_0x455c6b),this[_0x40c0e9(0x8f5,_0x2e998c._0x3db18d)][_0x22b659(0x19d8,_0x2e998c._0x4caf92)]=this['id'];function _0x22b659(_0x2c6592,_0x2f48b0){return _0x2b6441(_0x2c6592,_0x2f48b0-0x59e);}this[_0x40c0e9(0x266,0x4b)]['_mars3d_config']=this['options'];this[_0x40c0e9(0xc21,0x79d)][_0x40c0e9(0x1218,_0x2e998c._0x4ddbf6)]&&this['_map']['imageryLayersForClamp']&&_0x455c6b['crs']!==CRS[_0x40c0e9(0xda2,0xf7b)]?(this['_imageryLayer']['_clampToTileset']=!![],this[_0x40c0e9(_0x2e998c._0x1c5795,_0x2e998c._0x782659)]['imageryLayersForClamp']['add'](this['_imageryLayer'])):this['_map'][_0x40c0e9(0x8fc,_0x2e998c._0x3ec06c)]['add'](this[_0x22b659(0x370,_0x2e998c._0x4601d9)]);Cesium__namespace[_0x22b659(0x1b25,_0x2e998c._0x22c224)](this['options']['zIndex'])&&(this['zIndex']=this['options'][_0x22b659(_0x2e998c._0x396ef3,0xc14)]);function _0x40c0e9(_0xa079c0,_0x18cec0){return _0x306755(_0xa079c0,_0x18cec0- -0x4c0);}if(this[_0x40c0e9(_0x2e998c._0x11d108,_0x2e998c._0x4b4e3c)]['highlight'])this['options']['enablePickFeatures']=!![],this['bindHighlight'](this['options']['highlight']);else(_0x34a432=this[_0x40c0e9(0xd0c,_0x2e998c._0x4b4e3c)]['symbol'])!==null&&_0x34a432!==void 0x0&&(_0x34a432=_0x34a432[_0x22b659(0x11d1,0x1030)])!==null&&_0x34a432!==void 0x0&&_0x34a432['highlight']&&this['bindHighlight'](this['options'][_0x22b659(0x6b2,_0x2e998c._0x326155)][_0x40c0e9(0xdbf,0xb73)]['highlight']);_0x1c789f[_0x40c0e9(0x13f5,0xe43)](()=>{function _0x441048(_0x2aacfe,_0x5cfb4e){return _0x22b659(_0x5cfb4e,_0x2aacfe- -0x2b3);}function _0x1d0663(_0x57d9d9,_0x3901fb){return _0x40c0e9(_0x57d9d9,_0x3901fb-0x80);}if(this[_0x441048(_0x1a7699._0x214f7d,-_0x1a7699._0x1a4d60)]||!this[_0x441048(0x1513,0xc3d)])return;this['_readyPromise']['resolve'](this),this['fire'](EventType[_0x1d0663(0x1acc,_0x1a7699._0x409d3d)],{},!![]);});}['_getTileEventParams'](_0x54cca7){const _0x17cbeb={_0x5ea0db:0x1691,_0x4c5a38:0x1c1d};function _0x2f66fe(_0x190093,_0xbaa972){return _0x2b6441(_0xbaa972,_0x190093-0x516);}return{'x':_0x54cca7['x'],'y':_0x54cca7['y'],'level':_0x54cca7[_0x2f66fe(_0x17cbeb._0x5ea0db,_0x17cbeb._0x4c5a38)],'extent':formatRectangle(_0x54cca7['rectangle'])};}[_0x2b6441(0x690,0x88a)](){const _0x53cbca={_0x408d44:0x1756,_0x163b24:0x54f,_0x3bef95:0x1f95,_0x3d7d06:0x1173,_0x133631:0x945,_0x42d258:0x50c,_0x51ca38:0xb6,_0x5cecf7:0x13f},_0x13306a={_0x12520f:0x64a},_0x37d94e={_0x287d58:0xa8};function _0x54d279(_0x58c509,_0x112617){return _0x306755(_0x112617,_0x58c509-_0x37d94e._0x287d58);}function _0x9d44f2(_0x23efb5,_0x1cbc65){return _0x306755(_0x1cbc65,_0x23efb5- -_0x13306a._0x12520f);}this[_0x54d279(_0x53cbca._0x408d44,0x218b)]();if(this['_imageryLayer']){var _0x372381;this[_0x54d279(0x5b3,_0x53cbca._0x163b24)][_0x54d279(0x1524,_0x53cbca._0x3bef95)]=![],(_0x372381=this['_imageryLayer'][_0x54d279(0x1065,_0x53cbca._0x3d7d06)])!==null&&_0x372381!==void 0x0&&_0x372381['destroy']&&this['_imageryLayer']['imageryProvider'][_0x9d44f2(_0x53cbca._0x133631,_0x53cbca._0x42d258)](),this['_imageryLayer'][_0x54d279(0x652,-_0x53cbca._0x51ca38)]?this[_0x54d279(0x1871,0x208e)]['imageryLayersForClamp'][_0x54d279(0xa64,0x12b6)](this['_imageryLayer']):this[_0x54d279(0x1871,0x21ae)]['imageryLayers']['remove'](this['_imageryLayer'],!![]),delete this[_0x9d44f2(-_0x53cbca._0x5cecf7,-0x708)];}}[_0x306755(0x1279,0x1a00)](){const _0x33915c={_0x4b9e2f:0x776},_0x36c9e6={_0x1a6dbf:0x654,_0x199d19:0xb91,_0x2e5f73:0xbbf,_0x21eaf4:0xbab,_0x283128:0x6f9},_0x1c17a3={_0x116724:0x1cc};function _0x5bcb45(_0x3286e9,_0x5d0e28){return _0x306755(_0x3286e9,_0x5d0e28- -0x16e);}this['readyPromise'][_0x5bcb45(_0x33915c._0x4b9e2f,0x1195)](()=>{const _0x11a08a={_0x539add:0x465},_0x388ac7=this['options'][_0x1669a3(_0x36c9e6._0x1a6dbf,_0x36c9e6._0x199d19)]??![];function _0x1669a3(_0x3a4d49,_0x4be38a){return _0x5bcb45(_0x4be38a,_0x3a4d49- -_0x11a08a._0x539add);}this['_imageryLayer']&&this['_removedHook']();function _0x2d17ad(_0x1bb60c,_0x3a8e95){return _0x5bcb45(_0x1bb60c,_0x3a8e95-_0x1c17a3._0x116724);}this[_0x2d17ad(0x568,_0x36c9e6._0x2e5f73)]&&(this[_0x1669a3(0x68a,_0x36c9e6._0x21eaf4)][_0x1669a3(0x654,_0x36c9e6._0x283128)]=![],this['once'](EventType['load'],()=>{this['options']['flyTo']=_0x388ac7;}),this['_addedHook']());});}['setOpacity'](_0x40155c){const _0x407e57={_0x1e3b6f:0x541};function _0x130342(_0xc81aff,_0x57ae83){return _0x2b6441(_0x57ae83,_0xc81aff-0x5d7);}function _0x536375(_0x56e4b4,_0x66b6a9){return _0x2b6441(_0x66b6a9,_0x56e4b4-0x452);}this[_0x130342(_0x407e57._0x1e3b6f,-0x394)]&&(this['_imageryLayer'][_0x130342(0x15d5,0x10cb)]=_0x40155c);}['toTop'](){const _0x4cab59={_0x41c4d9:0x1d6c,_0x56bcf0:0x1760,_0x1f7553:0x565};function _0x1276c2(_0x5aebdd,_0x4122da){return _0x2b6441(_0x4122da,_0x5aebdd-0x249);}function _0x3c1820(_0x402482,_0x38c5bd){return _0x2b6441(_0x402482,_0x38c5bd-0x5fb);}if(this['_map'])return this['_map']['imageryLayers'][_0x3c1820(_0x4cab59._0x41c4d9,_0x4cab59._0x56bcf0)](this[_0x3c1820(-0x497,_0x4cab59._0x1f7553)]);}[_0x2b6441(0x222,0x781)](){const _0x5a5c2e={_0x166b53:0x166c,_0x20e261:0x1f6a,_0xc385bf:0x190b},_0x59d660={_0x5ab597:0x15d};function _0x1720c1(_0x4e792a,_0x1c9d1f){return _0x306755(_0x4e792a,_0x1c9d1f- -0x122);}function _0x21cb09(_0x2671d5,_0x2b9042){return _0x306755(_0x2b9042,_0x2671d5- -_0x59d660._0x5ab597);}if(this[_0x21cb09(_0x5a5c2e._0x166b53,_0x5a5c2e._0x20e261)])return this[_0x1720c1(_0x5a5c2e._0xc385bf,0x16a7)]['imageryLayers']['lowerToBottom'](this[_0x21cb09(0x3ae,0x520)]);}async['_flyToEx'](_0x4179c2){const _0x108969={_0xf7a748:0xf81,_0x155d9e:0x1986,_0x78c02d:0x45a,_0x2a2b5a:0x14ed,_0x1049af:0x8b3,_0x361727:0xafc},_0x185dc8={_0x551ece:0x12b};function _0x322c3a(_0x359668,_0x48314e){return _0x306755(_0x359668,_0x48314e- -_0x185dc8._0x551ece);}function _0x114dc3(_0x251605,_0x56ea73){return _0x2b6441(_0x251605,_0x56ea73-0x56d);}const _0x16d2bd=this['rectangle'];if(Cesium__namespace['defined'](_0x16d2bd)&&_0x16d2bd[_0x322c3a(0xd02,0xe8a)]&&!_0x16d2bd[_0x114dc3(0x984,_0x108969._0xf7a748)](Cesium__namespace[_0x114dc3(_0x108969._0x155d9e,0xf66)][_0x322c3a(_0x108969._0x78c02d,0x9c0)])&&_0x16d2bd[_0x322c3a(_0x108969._0x2a2b5a,0x174d)]>0x0&&_0x16d2bd['south']>0x0&&_0x16d2bd['east']>0x0&&_0x16d2bd['north']>0x0){const _0x575483={..._0x4179c2};return _0x575483['destination']=_0x16d2bd,this[_0x322c3a(0x1b6c,0x169e)]['camera'][_0x322c3a(_0x108969._0x1049af,_0x108969._0x361727)](_0x575483);}}['bindHighlight'](_0x290aa9){const _0x488dab={_0x34a967:0x64d};this['unbindHighlight'](),this[_0x44d1d1(0x799,0x1147)]=_0x290aa9;function _0x44d1d1(_0xc48548,_0x3e4a32){return _0x306755(_0xc48548,_0x3e4a32- -_0x488dab._0x34a967);}this['on'](EventType['click'],this['_highlight_mouseEventHandler'],this);}['unbindHighlight'](){const _0x1283b5={_0x5aeca3:0x9d8,_0x102e62:0x1625,_0x46b713:0x173b},_0x3f90cd={_0x2910b5:0x432};function _0xf93cf4(_0x5b03ee,_0x501509){return _0x306755(_0x5b03ee,_0x501509-0x1);}function _0x370ed2(_0x4ef37d,_0x5d783b){return _0x2b6441(_0x5d783b,_0x4ef37d-_0x3f90cd._0x2910b5);}this['_highlightOptions']&&(this[_0x370ed2(0x7fd,-0x140)](EventType['click'],this['_highlight_mouseEventHandler'],this),this['_map']['isHighlighting'](this)&&this['_map'][_0x370ed2(_0x1283b5._0x5aeca3,0x158)](),this[_0x370ed2(_0x1283b5._0x102e62,_0x1283b5._0x46b713)]=null);}['_highlight_mouseEventHandler'](_0x1bae21){const _0x6db6a6={_0x30fb05:0x902,_0x3785ef:0x12cd,_0x403d78:0x101f,_0x33c380:0x1417,_0x4a9b71:0x1503};this[_0x40a6e9(0x1584,0x18e6)][_0x40a6e9(_0x6db6a6._0x30fb05,_0x6db6a6._0x3785ef)]();function _0x608b9b(_0x3e3b9c,_0x1d7954){return _0x306755(_0x1d7954,_0x3e3b9c- -0x3b2);}const _0x48ca5a=_0x1bae21[_0x608b9b(_0x6db6a6._0x403d78,0xd96)];function _0x40a6e9(_0x56931f,_0x27be5d){return _0x2b6441(_0x27be5d,_0x56931f-0x35c);}_0x48ca5a&&(this['_last_graphicsOptions']=_0x48ca5a,this[_0x608b9b(_0x6db6a6._0x33c380,_0x6db6a6._0x4a9b71)][_0x608b9b(0x106d,0x10bb)](this,this['_highlightOptions'],_0x1bae21));}[_0x306755(0x19ea,0x1674)](_0x3c798f){this['_map']['closeHighlight']();}[_0x2b6441(0xc2e,0xe7e)](_0x3296de,_0x4be7d9=!![]){const _0x55881f={_0x5a70d3:0x1995,_0x28dcd5:0x1821,_0x12a12e:0x1453,_0x33c376:0x510,_0x3495e8:0x1558,_0x975e6a:0xac5,_0x428237:0xedd,_0x146d36:0x311,_0x30bff8:0x1558},_0x214f9b={_0x1e128b:0x58};function _0x2d2370(_0x59d01d,_0x5de2fe){return _0x306755(_0x5de2fe,_0x59d01d- -0x2b8);}_0x4be7d9&&(this[_0x4c7241(_0x55881f._0x5a70d3,_0x55881f._0x28dcd5)]['closeHighlight'](),this[_0x4c7241(_0x55881f._0x12a12e,0x1821)][_0x4c7241(0xd00,_0x55881f._0x33c376)]=this);const _0x5b8457=_0x3296de||this['_highlightOptions'];function _0x4c7241(_0x483864,_0x131057){return _0x306755(_0x483864,_0x131057-_0x214f9b._0x1e128b);}if(this['_last_graphicsOptions']&&_0x5b8457){if(!this['_graphicLayer']){const _0x50276b={};_0x50276b['name']='高亮对象图层',_0x50276b['private']=!![],this[_0x2d2370(_0x55881f._0x3495e8,_0x55881f._0x975e6a)]=new GraphicLayer(_0x50276b),this['_map'][_0x2d2370(_0x55881f._0x428237,0x17e0)](this['_graphicLayer']);}this['_graphicLayer'][_0x2d2370(_0x55881f._0x146d36,-0x5bd)](this['_last_graphicsOptions']),_0x5b8457[_0x4c7241(0x38e,0xc7f)]&&this[_0x2d2370(_0x55881f._0x30bff8,0xb50)]['flyTo'](),this['fire'](EventType[_0x2d2370(0x657,-0xa5)],{},!![]);}}[_0x2b6441(-0x4de,0x5a6)](){const _0x5aadf9={_0x1bf63a:0x2042,_0x3bb630:0x2162,_0x21044a:0x1608};if(!this[_0x5f1294(0x183c,_0x5aadf9._0x1bf63a)]||!this[_0x2d776d(_0x5aadf9._0x3bb630,0x17b4)][_0x5f1294(_0x5aadf9._0x21044a,0x1f0d)](this))return;function _0x2d776d(_0x22eb0a,_0x561a44){return _0x306755(_0x22eb0a,_0x561a44- -0x15);}this['_graphicLayer']['clear'](),this['_map']['_clearLastHighlight']();function _0x5f1294(_0x449b0a,_0x38b20b){return _0x306755(_0x38b20b,_0x449b0a-0x2c);}this['fire'](EventType['highlightClose'],{},!![]);}}class TerrainLayer extends BaseLayer{['_showHook'](_0x40375c){const _0x312d7b={_0x2c0e72:0xce6};function _0x2605d2(_0x7f894e,_0x306395){return _0x2b6441(_0x306395,_0x7f894e-0x45c);}_0x40375c?this['_addedHook']():this[_0x2605d2(_0x312d7b._0x2c0e72,0x7ef)]();}['_mountedHook'](){function _0x5b1a77(_0x349ca9,_0x428750){return _0x306755(_0x428750,_0x349ca9- -0x57e);}this[_0x5b1a77(0x81e,0xc39)]=createTerrainProvider(this['_getTerrainOptions']());}['_getTerrainOptions'](){const _0x34453a={_0xe917a6:0x17b4,_0x47a348:0xa6d,_0x401874:0x8ee},_0x441722={_0x3d3c81:0x626};function _0xf08af4(_0x1a1588,_0x4175e1){return _0x306755(_0x4175e1,_0x1a1588- -0x1f0);}function _0xc86195(_0x5a94fa,_0x3d8486){return _0x306755(_0x5a94fa,_0x3d8486- -_0x441722._0x3d3c81);}if(this['options'][_0xf08af4(0x10d0,0x80f)]){const _0x277420={'templateValues':this[_0xf08af4(_0x34453a._0xe917a6,0x1dec)],...this[_0xf08af4(_0x34453a._0x47a348,_0x34453a._0x401874)]['terrain']};return _0x277420;}else{const _0xbf2f92={'templateValues':this['templateValues'],...this['options']};return _0xbf2f92[_0xf08af4(0x1473,0xa19)]=this['options']['terrainType']??'xyz',_0xbf2f92;}}['_addedHook'](){this['show']&&this['_updateTerrainProvider']();}['_removedHook'](){const _0x230e92={_0x170b99:0xd22},_0x5b57b1={_0x291290:0x175};function _0x2032a3(_0x31ff8a,_0x1fc322){return _0x306755(_0x1fc322,_0x31ff8a- -_0x5b57b1._0x291290);}this['_map'][_0x2032a3(_0x230e92._0x170b99,0x580)]=getNoTerrainProvider();}['_setOptionsHook'](_0x5b7f49,_0x373e22){this['_terrainProviderPromise']=createTerrainProvider(this['_getTerrainOptions']()),this['_updateTerrainProvider']();}[_0x2b6441(0xb07,0x620)](){const _0x1fcdc9={_0x205ff2:0xc01,_0x59d9dc:0x97c,_0x5d898a:0x138f},_0x33ecd4={_0x2c9d19:0x181},_0x415172={_0x42734a:0x19a0},_0x1e5d97={_0x2ed8fd:0xad};this[_0x2fde3c(_0x1fcdc9._0x205ff2,_0x1fcdc9._0x59d9dc)]['then'](_0xcceac5=>{const _0xe65144={_0x5aaf62:0x27d};function _0x11184a(_0x2f8c67,_0x361dbe){return _0x2fde3c(_0x361dbe,_0x2f8c67- -_0x1e5d97._0x2ed8fd);}function _0x496d1e(_0x1e9e25,_0x20827c){return _0x2fde3c(_0x1e9e25,_0x20827c-_0xe65144._0x5aaf62);}this[_0x496d1e(0x6f8,0xe97)]['resolve'](this),this['fire'](EventType['load'],{'terrain':this[_0x11184a(0x12fc,_0x415172._0x42734a)]['terrainProvider']});});function _0x4890d1(_0x45b981,_0x54480b){return _0x306755(_0x54480b,_0x45b981- -0x2f2);}function _0x2fde3c(_0x175d7c,_0x25ffc6){return _0x2b6441(_0x175d7c,_0x25ffc6-_0x33ecd4._0x2c9d19);}this['_map'][_0x2fde3c(0x1015,0xa77)]=this[_0x2fde3c(_0x1fcdc9._0x5d898a,0x97c)];}}register$3(_0x2b6441(0x9c0,0xd1f),TerrainLayer);class ArcGisCacheLayer extends BaseTileLayer{async[_0x306755(0x11b0,0xb69)](_0x2cac01){return await createImageryProvider$i(_0x2cac01);}}async function createImageryProvider$i(_0x223318){const _0x301531={_0x254534:0x5bc,_0x5d1ac8:0xb0d,_0x2e23f1:0x1eea,_0x550726:0xd01,_0x5df1eb:0xc0b,_0xd8742f:0xf4c,_0x408ddd:0xf6a,_0x31501f:0xf63},_0xfeb409={_0xd4da05:0x17eb};_0x223318[_0xb428b4(_0x301531._0x254534,_0x301531._0x5d1ac8)]=_0x223318['url']['replace'](_0x4f7df5(_0x301531._0x2e23f1,0x1620),'C{arc_x}')['replace']('{y}','R{arc_y}')['replace'](_0xb428b4(_0x301531._0x550726,0x25b),'L{arc_z}');const _0x50639d=_0x223318[_0xb428b4(0x1f,-0x391)];_0x223318[_0x4f7df5(0x16a2,_0x301531._0x5df1eb)]=_0x223318['customTags']||{},_0x223318['customTags'][_0x4f7df5(_0x301531._0xd8742f,_0x301531._0x408ddd)]=function(_0x2eae8b,_0x22720d,_0x197f4c,_0x3b8b7b){return _0x50639d?padLeft0(_0x22720d['toString'](0x10),0x8)['toUpperCase']():padLeft0(_0x22720d['toString'](0x10),0x8);},_0x223318['customTags']['arc_y']=function(_0x47a1bd,_0x400b4d,_0x112ecd,_0x264237){return _0x50639d?padLeft0(_0x112ecd['toString'](0x10),0x8)['toUpperCase']():padLeft0(_0x112ecd['toString'](0x10),0x8);},_0x223318['customTags'][_0xb428b4(-0xdf,-0x565)]=function(_0x5a52f7,_0x2e3f62,_0x4c9068,_0x1b9acc){const _0x144e6b={_0x247e87:0x160};function _0x1121ba(_0x3babc2,_0x5260da){return _0x4f7df5(_0x3babc2,_0x5260da- -_0x144e6b._0x247e87);}function _0x32a84f(_0x42853f,_0x4d681d){return _0xb428b4(_0x4d681d-0x3bd,_0x42853f);}return _0x50639d?padLeft0(_0x1b9acc[_0x1121ba(0x89d,0xc50)](),0x2)['toUpperCase']():padLeft0(_0x1b9acc[_0x32a84f(0x190d,0xed5)](),0x2);},_0x223318[_0x4f7df5(_0x301531._0x31501f,_0x301531._0x5df1eb)]['arc_z4490']=function(_0x5c19ab,_0xb80499,_0x1e3336,_0x20c0d5){function _0x43001c(_0x221d6e,_0x32d3d1){return _0x4f7df5(_0x32d3d1,_0x221d6e-0x223);}return _0x50639d?padLeft0((_0x20c0d5+0x1)['toString'](),0x2)[_0x43001c(0x14b5,_0xfeb409._0xd4da05)]():padLeft0((_0x20c0d5+0x1)['toString'](),0x2);};function _0xb428b4(_0x53569d,_0x38582b){return _0x2b6441(_0x38582b,_0x53569d- -0x62);}_0x223318=converOptions(_0x223318);function _0x4f7df5(_0x41855e,_0x1c2584){return _0x2b6441(_0x41855e,_0x1c2584-0x236);}return new XyzImageryProvider(_0x223318);}ArcGisCacheLayer[_0x2b6441(0x19f4,0x1042)]=createImageryProvider$i;const layerType$j=_0x2b6441(0x5d1,0x1d5);register$3(layerType$j,ArcGisCacheLayer),registerImageryProvider(layerType$j,createImageryProvider$i);class ArcGisTileLayer extends BaseTileLayer{async['_createImageryProvider'](_0x28f4d8){return await createImageryProvider$h(_0x28f4d8);}}async function createImageryProvider$h(_0x45c51a){const _0x39e276={_0x52e803:0xb93,_0x5b42c9:0xd53,_0x1110de:0x1639},_0x37a72b={_0x132a2e:0x60},_0x5943f5={_0x5f385d:0x575};function _0xabadff(_0x3615ba,_0x1f886d){return _0x2b6441(_0x1f886d,_0x3615ba-_0x5943f5._0x5f385d);}_0x45c51a=converOptions(_0x45c51a);function _0xb89899(_0x362091,_0x31506a){return _0x306755(_0x31506a,_0x362091-_0x37a72b._0x132a2e);}if(isString(_0x45c51a[_0xb89899(0xc1f,0x5a5)]))_0x45c51a['url']=_0x45c51a['url']+'/tile/{z}/{y}/{x}',Cesium__namespace['defined'](_0x45c51a['token'])&&(_0x45c51a[_0xabadff(_0x39e276._0x52e803,0xc15)]+='?token='+_0x45c51a['token']);else _0x45c51a[_0xb89899(0xc1f,0x135e)]instanceof Cesium__namespace[_0xabadff(0x1472,0x1a73)]&&(_0x45c51a['url']['url']=_0x45c51a[_0xb89899(0xc1f,0x554)]['url']+_0xabadff(_0x39e276._0x5b42c9,0xe61),Cesium__namespace['defined'](_0x45c51a['token'])&&(_0x45c51a['url']['url']+=_0xabadff(0x187a,_0x39e276._0x1110de)+_0x45c51a['token']));return new XyzImageryProvider(_0x45c51a);}ArcGisTileLayer['createImageryProvider']=createImageryProvider$h;const layerType$i='arcgis_tile';register$3(layerType$i,ArcGisTileLayer),registerImageryProvider(layerType$i,createImageryProvider$h);class ArcGisImageryProvider{constructor(_0x104ef8={}){const _0x3307fd={_0x441e43:0x1707,_0x210137:0x102c,_0x235345:0x16ee,_0x1919a9:0x11b4,_0xb99b8d:0x1782,_0x4c1ddc:0x6e6,_0x2dc259:0x1a52,_0x5b6804:0x42d,_0x52bf34:0x677,_0x4992c5:0x1ea,_0x55e196:0x1c98,_0x272f6f:0x54c,_0xdb2546:0xb2e,_0x346565:0x1560},_0x768dc={_0x22203c:0x4dd};this['options']=_0x104ef8;const _0x5aa4d9=Cesium__namespace['Resource']['createIfNeeded'](_0x104ef8['url']);_0x5aa4d9[_0x1f1dce(_0x3307fd._0x441e43,_0x3307fd._0x210137)]();if(Cesium__namespace[_0x1f1dce(_0x3307fd._0x235345,0x11ef)](_0x104ef8[_0x18eb74(0x15f8,_0x3307fd._0x1919a9)])){const _0x119f62={};_0x119f62[_0x1f1dce(0x14c2,0x1ddc)]=_0x104ef8[_0x18eb74(_0x3307fd._0xb99b8d,_0x3307fd._0x1919a9)],_0x5aa4d9[_0x18eb74(_0x3307fd._0x4c1ddc,0xde3)](_0x119f62);}this[_0x18eb74(_0x3307fd._0x2dc259,0x14d5)]=_0x5aa4d9,this['_tileDiscardPolicy']=_0x104ef8[_0x18eb74(-0x3c9,_0x3307fd._0x5b6804)],this['_tileWidth']=_0x104ef8[_0x1f1dce(0x503,-0x3b1)]??0x100,this['_tileHeight']=_0x104ef8['tileHeight']??0x100,this['_maximumLevel']=_0x104ef8['maximumLevel'],this['_maxTileLevel']=_0x104ef8['maxTileLevel'],this['_crs']=_0x104ef8['crs'],this['enablePickFeatures']=_0x104ef8[_0x18eb74(0xf19,_0x3307fd._0x52bf34)]??!![],this[_0x1f1dce(0x514,_0x3307fd._0x4992c5)]=_0x104ef8['usePreCachedTilesIfAvailable']??!![],this['_initTilingSchemeByCrs'](_0x104ef8[_0x1f1dce(0x18d6,_0x3307fd._0x55e196)]||CRS['EPSG4326']),this['_errorEvent']=new Cesium__namespace['Event'](),this[_0x1f1dce(_0x3307fd._0x272f6f,_0x3307fd._0xdb2546)]=![],this['_readyPromise']=Cesium__namespace[_0x18eb74(0x153b,_0x3307fd._0x346565)]();function _0x1f1dce(_0x4621fe,_0x54f1d7){return _0x2b6441(_0x54f1d7,_0x4621fe-_0x768dc._0x22203c);}function _0x18eb74(_0x3f6405,_0x23dca1){return _0x306755(_0x3f6405,_0x23dca1- -0x3d2);}this['_requestMetadata']();}get['url'](){const _0x1604c4={_0x26f515:0x3aa},_0x10f703={_0xb38d95:0x1cf};function _0x1a1527(_0x5ef34b,_0x37d12d){return _0x2b6441(_0x37d12d,_0x5ef34b-_0x10f703._0xb38d95);}return this['_resource'][_0x1a1527(_0x1604c4._0x26f515,0xbb5)];}get[_0x306755(0x1f9e,0x1586)](){const _0x5147b={_0x651dad:0xe05},_0x4f0163={_0x5d965f:0x2f8};function _0x1fd734(_0x3dceee,_0x5c2ea5){return _0x306755(_0x5c2ea5,_0x3dceee-0x47);}function _0x319472(_0x51362b,_0x2b1285){return _0x306755(_0x2b1285,_0x51362b- -_0x4f0163._0x5d965f);}return this[_0x319472(0x15af,0x1b5b)][_0x1fd734(_0x5147b._0x651dad,0x1549)][_0x319472(0x128e,0x13fa)];}get['proxy'](){const _0x39cedc={_0x20508d:0x18a7,_0x4c278b:0x20b7},_0x50604a={_0x57e829:0x5a1};function _0x711a80(_0x2c0853,_0x4198c4){return _0x2b6441(_0x4198c4,_0x2c0853-_0x50604a._0x57e829);}return this[_0x711a80(_0x39cedc._0x20508d,_0x39cedc._0x4c278b)]['proxy'];}get[_0x306755(0x22a,0x5c7)](){return this['_tileWidth'];}get[_0x2b6441(0x1346,0x131f)](){return this['_tileHeight'];}get['maximumLevel'](){const _0x3f9395={_0x10bff7:0x1c};function _0x3cbaa4(_0x55f686,_0x4ea44a){return _0x2b6441(_0x4ea44a,_0x55f686- -_0x3f9395._0x10bff7);}return this[_0x3cbaa4(0x1446,0x1bdc)];}get['minimumLevel'](){return 0x0;}get['tilingScheme'](){return this['_tilingScheme'];}get[_0x306755(0xd81,0x1419)](){function _0x50f6d9(_0x490943,_0x25d683){return _0x2b6441(_0x25d683,_0x490943-0x649);}return this[_0x50f6d9(0xae1,0x851)];}get[_0x306755(-0x233,0x7ff)](){const _0x5a27cf={_0x19c519:0x1242},_0x38ebce={_0x54ca41:0x69};function _0x1e1e3e(_0x24eb64,_0x33959c){return _0x2b6441(_0x33959c,_0x24eb64- -_0x38ebce._0x54ca41);}return this[_0x1e1e3e(0xd44,_0x5a27cf._0x19c519)];}get['errorEvent'](){const _0x20b8ae={_0x1c5316:0x1265},_0x63b328={_0x43c9d0:0xb3};function _0x38e5da(_0xbea82d,_0x26fefd){return _0x306755(_0xbea82d,_0x26fefd-_0x63b328._0x43c9d0);}return this[_0x38e5da(0xf5e,_0x20b8ae._0x1c5316)];}get['ready'](){return this['_ready'];}get[_0x2b6441(0x20b,0x925)](){const _0x53b49c={_0x5d904c:0x1245,_0x342485:0x920};function _0x2fc7a3(_0x138446,_0x2f80a9){return _0x306755(_0x138446,_0x2f80a9- -0x2e7);}function _0x175b7f(_0x14aa90,_0x3b5272){return _0x2b6441(_0x14aa90,_0x3b5272-0x73);}return this[_0x2fc7a3(_0x53b49c._0x5d904c,0xd53)][_0x175b7f(_0x53b49c._0x342485,0x126d)];}get['credit'](){const _0x2ae14a={_0x303163:0xcd7};function _0x523067(_0x485b9b,_0x4ff0f9){return _0x306755(_0x485b9b,_0x4ff0f9- -0x226);}return this[_0x523067(0x821,_0x2ae14a._0x303163)];}get['usingPrecachedTiles'](){const _0x37b8fd={_0xaf4247:0x5df};function _0x1c13d3(_0x4afe17,_0x22ce6f){return _0x306755(_0x4afe17,_0x22ce6f- -_0x37b8fd._0xaf4247);}return this[_0x1c13d3(0x96e,-0x7)];}get[_0x2b6441(0x1380,0xcb9)](){return!![];}get['layers'](){const _0x591471={_0x3a95f1:0x1b2c};function _0x5f18c1(_0x3b3608,_0x5af2bb){return _0x2b6441(_0x5af2bb,_0x3b3608-0x555);}return this['options'][_0x5f18c1(0x18b1,_0x591471._0x3a95f1)];}get['layerDefs'](){return this['options']['layerDefs'];}['_initTilingSchemeByCrs'](_0x4f7f84){const _0x5e04be={_0x20b465:0x781,_0x44f9b5:0xc07,_0xd5d077:0x92b,_0x2ebd3a:0xfcc,_0x6a885d:0xfb7,_0x4578fe:0x1a75,_0x18dd99:0x1206,_0x24e500:0x1078,_0x557fe6:0x27b,_0x25727e:0x1b7e,_0x5c8381:0x130b},_0x3a1e76={_0x49e207:0x10e};function _0x46f40d(_0x4eb939,_0x501b9e){return _0x306755(_0x4eb939,_0x501b9e- -_0x3a1e76._0x49e207);}function _0x140abd(_0x3f70d3,_0x3bec83){return _0x306755(_0x3bec83,_0x3f70d3- -0x462);}if(_0x4f7f84===CRS['EPSG3857'])return this[_0x46f40d(0x505,_0x5e04be._0x20b465)]=this['options']['tilingScheme']||new Cesium__namespace['WebMercatorTilingScheme']({'ellipsoid':this['options']['ellipsoid']}),this[_0x46f40d(_0x5e04be._0x44f9b5,_0x5e04be._0xd5d077)]=this[_0x140abd(0x7fb,_0x5e04be._0x2ebd3a)][_0x140abd(_0x5e04be._0x6a885d,0xfb1)]??this['_tilingScheme']['rectangle'],!![];else return _0x4f7f84===CRS['EPSG4326']||_0x4f7f84===CRS['EPSG4490']?(this['_tilingScheme']=this['options'][_0x46f40d(0x723,0xc43)]||new Cesium__namespace[(_0x46f40d(_0x5e04be._0x4578fe,_0x5e04be._0x18dd99))]({'ellipsoid':this['options'][_0x140abd(_0x5e04be._0x24e500,0x1ae4)]}),this[_0x46f40d(_0x5e04be._0x557fe6,0x92b)]=this['options'][_0x46f40d(_0x5e04be._0x25727e,_0x5e04be._0x5c8381)]??this['_tilingScheme']['rectangle'],!![]):![];}['_requestMetadata'](){const _0x354047={_0x53c7d8:0x1125},_0x1f1515={_0x4dcb14:0xc0b,_0x5d3da4:0xb85},_0x4aef8f={_0x32435b:0x1d5},_0x158f7b={_0x42a8c0:0x3c3},_0x34e480={};function _0x143fbb(_0x62b69,_0x553902){return _0x2b6441(_0x553902,_0x62b69-_0x158f7b._0x42a8c0);}_0x34e480['f']='json';const _0x246532={};function _0x458379(_0x103286,_0x19e20f){return _0x2b6441(_0x19e20f,_0x103286-0x3fb);}_0x246532['queryParameters']=_0x34e480;const _0x4c9717=this['_resource']['getDerivedResource'](_0x246532);_0x4c9717['fetchJsonp']()[_0x143fbb(_0x354047._0x53c7d8,0x179d)](_0x15020c=>{function _0x4a25c1(_0x35b31d,_0x1daffd){return _0x143fbb(_0x35b31d- -_0x4aef8f._0x32435b,_0x1daffd);}this[_0x4a25c1(_0x1f1515._0x4dcb14,_0x1f1515._0x5d3da4)](_0x15020c);})[_0x143fbb(0xd3c,0x1152)](_0x258c1f=>{function _0xf481fb(_0x3dc690,_0x417f87){return _0x458379(_0x417f87- -0xa,_0x3dc690);}this[_0xf481fb(0xd9b,0x99f)](_0x258c1f);});}[_0x2b6441(0x486,0xa1d)](_0x42f4f3){const _0x28037f={_0x409549:0xf9,_0x56535b:0x556,_0x5544b2:0x5e8,_0xae2078:0xb2c,_0x5297a5:0x1a1a,_0x12c63d:0x1f08,_0x3f4755:0x9bd,_0x36f9b0:0x8dd,_0x310588:0xa0d,_0x147486:0x5ef,_0x301b9b:0x118e,_0x185dba:0xcb8,_0x1e700c:0x2461,_0x24cbd1:0xc07,_0x403a3f:0xaee,_0x215328:0x11af,_0x129b18:0x90e,_0xe4b6e2:0xb8d,_0x5cb6ec:0x1c2,_0x2704bb:0xb21,_0x5cb8d2:0x215a,_0x54eddd:0x1959},_0x6782ea={_0x2ff2ac:0x17};this[_0x233b8e(-_0x28037f._0x409549,_0x28037f._0x56535b)]=_0x42f4f3;if(!Cesium__namespace[_0xad3f8c(0x17c9,0x21a8)](_0x42f4f3[_0xad3f8c(0xd42,0xcad)])||this[_0xad3f8c(0xc74,_0x28037f._0x5544b2)]['usePreCachedTilesIfAvailable']===![]){this['_useTiles']=![];if(!this[_0x233b8e(0x1148,0xca5)]['crs']){var _0x4fe065;this['_crs']=getCRSByWkid((_0x4fe065=_0x42f4f3['spatialReference'])===null||_0x4fe065===void 0x0?void 0x0:_0x4fe065['wkid']),this['_initTilingSchemeByCrs'](this[_0xad3f8c(0x152d,0x13af)]);}}else{this[_0x233b8e(0x826,0x620)]=!![];const _0xc8c819=_0x42f4f3['tileInfo'];this[_0xad3f8c(0x1496,0x11d8)]=_0xc8c819[_0x233b8e(0xbef,0x5d1)],this['_tileHeight']=_0xc8c819[_0x233b8e(0x3fc,_0x28037f._0xae2078)];!this[_0xad3f8c(_0x28037f._0x5297a5,_0x28037f._0x12c63d)]&&(this[_0x233b8e(0x1ef5,0x1a4b)]=_0xc8c819['lods']['length']-0x1);if(!this['options'][_0x233b8e(0x240f,0x19e2)]){var _0x28ea47;this['_crs']=getCRSByWkid((_0x28ea47=_0xc8c819[_0xad3f8c(_0x28037f._0x3f4755,0xbe3)])===null||_0x28ea47===void 0x0?void 0x0:_0x28ea47[_0xad3f8c(_0x28037f._0x36f9b0,0x12b1)]),this[_0x233b8e(_0x28037f._0x310588,0x620)]=this['_initTilingSchemeByCrs'](this['_crs']);}this[_0xad3f8c(_0x28037f._0x147486,0x571)]&&!Cesium__namespace['defined'](this[_0x233b8e(0x11af,0x1396)])&&(this['_tileDiscardPolicy']=new Cesium__namespace[(_0xad3f8c(0x14e9,_0x28037f._0x301b9b))]({'missingImageUrl':this[_0x233b8e(0x1568,_0x28037f._0x185dba)](0x0,0x0,this[_0x233b8e(_0x28037f._0x1e700c,0x1a4b)])[_0x233b8e(0xf6c,_0x28037f._0x24cbd1)],'pixelsToCheck':[new Cesium__namespace['Cartesian2'](0x0,0x0),new Cesium__namespace['Cartesian2'](0xc8,0x14),new Cesium__namespace[(_0x233b8e(_0x28037f._0x403a3f,0x534))](0x14,0xc8),new Cesium__namespace[(_0xad3f8c(0x503,-0x571))](0x50,0x6e),new Cesium__namespace['Cartesian2'](0xa0,0x82)],'disableCheckIfAllPixelsAreTransparent':!![]}));}const _0x575971=_0x42f4f3[_0x233b8e(_0x28037f._0x215328,0x171e)]||_0x42f4f3[_0x233b8e(0x14da,0x16ed)];if(!this['options']['rectangle']&&_0x575971){var _0x3a2795;let _0x2bfddc=this['_crs'];_0x575971!==null&&_0x575971!==void 0x0&&(_0x3a2795=_0x575971['spatialReference'])!==null&&_0x3a2795!==void 0x0&&_0x3a2795[_0x233b8e(0xf71,_0x28037f._0x129b18)]&&(_0x2bfddc=getCRSByWkid(_0x575971['spatialReference'][_0x233b8e(-0x4e,0x90e)])),this[_0xad3f8c(0x12f1,0x1305)](_0x575971['xmin'],_0x575971['ymin'],_0x575971['xmax'],_0x575971[_0xad3f8c(0xb93,_0x28037f._0xe4b6e2)],_0x2bfddc);}this[_0xad3f8c(0x627,0x32)]=!![],this['_readyPromise']['resolve'](!![]);function _0xad3f8c(_0x285d8e,_0x1049c6){return _0x306755(_0x1049c6,_0x285d8e-_0x6782ea._0x2ff2ac);}function _0x233b8e(_0x17fbb1,_0x4072a5){return _0x306755(_0x17fbb1,_0x4072a5-0x48);}if(Cesium__namespace['TileProviderError'][_0x233b8e(_0x28037f._0x5cb6ec,_0x28037f._0x2704bb)])Cesium__namespace['TileProviderError']['reportSuccess'](this[_0x233b8e(0x12e4,0x9cb)]);else Cesium__namespace['TileProviderError']['handleSuccess']&&Cesium__namespace[_0x233b8e(_0x28037f._0x5cb8d2,_0x28037f._0x54eddd)][_0xad3f8c(0x7b2,0xa9d)](this['_metadataError']);}[_0x2b6441(0x74e,0xd39)](_0x2db53a,_0x5a952d,_0xa03c18,_0x5d46e8,_0x4dae60){const _0x4b76cc={_0x1a3034:0x1674,_0x394c43:0xca6,_0x139410:0x5be,_0x54f7be:0x95b,_0x536d56:0x1273},_0x23a1f3={_0x599c15:0x432},_0x3064c2={_0x460921:0x23e};if(_0x4dae60&&_0x4dae60!==CRS['EPSG4326']&&_0x4dae60!==CRS[_0x36e230(_0x4b76cc._0x1a3034,0x1613)]){const _0x30b9e=proj4Trans([_0x2db53a,_0x5a952d],_0x4dae60),_0x5521f0=proj4Trans([_0xa03c18,_0x5d46e8],_0x4dae60);_0x2db53a=_0x30b9e[0x0],_0x5a952d=_0x30b9e[0x1],_0xa03c18=_0x5521f0[0x0],_0x5d46e8=_0x5521f0[0x1];}if(isNaN(_0x2db53a)||isNaN(_0xa03c18)||isNaN(_0x5a952d)||isNaN(_0x5d46e8)||_0x2db53a<-0xb3||_0xa03c18>0xb3||_0x5a952d<-0x55||_0x5d46e8>0x55)return;function _0x36e230(_0x79197f,_0x2eedfd){return _0x2b6441(_0x2eedfd,_0x79197f-_0x3064c2._0x460921);}const _0x3e73fc={};_0x3e73fc['xmin']=_0x2db53a,_0x3e73fc['ymin']=_0x5a952d,_0x3e73fc[_0x36e230(0x1d5,0x98f)]=_0xa03c18;function _0x525d20(_0x4456f9,_0x126c00){return _0x306755(_0x4456f9,_0x126c00- -_0x23a1f3._0x599c15);}_0x3e73fc[_0x36e230(0x819,-0x5b)]=_0x5d46e8,this[_0x36e230(0x8fa,0x940)][_0x525d20(_0x4b76cc._0x394c43,0x1273)]=_0x3e73fc,this['_rectangle']=Cesium__namespace['Rectangle']['fromDegrees'](_0x2db53a,_0x5a952d,_0xa03c18,_0x5d46e8),logInfo(this['options']['name']+_0x36e230(_0x4b76cc._0x139410,_0x4b76cc._0x54f7be),this,this['options'][_0x525d20(0x17ba,_0x4b76cc._0x536d56)]);}[_0x306755(0x1331,0xb4f)](_0x42a56e){const _0xb05595={_0x57d571:0x17bb,_0x1c0088:0xf22,_0x4c1d0a:0x1258,_0x33c3d7:0xdb4,_0x214524:0x1085,_0x5ab13e:0x11ec},_0x388b4c={_0x2a4575:0x156};var _0x4b598e;const _0x5703e1='An\x20error\x20occurred\x20while\x20accessing\x20'+this['_resource']['url']+'.';if(Cesium__namespace['TileProviderError']['reportError'])this['_metadataError']=Cesium__namespace[_0x537e76(_0xb05595._0x57d571,_0xb05595._0x1c0088)]['reportError'](this['_metadataError'],this,this['_errorEvent'],_0x5703e1,undefined,undefined,undefined,this[_0x52499d(0x6ad,0x71b)]);else Cesium__namespace[_0x537e76(0x17bb,0x1c4c)]['handleError']&&(this['_metadataError']=Cesium__namespace['TileProviderError'][_0x52499d(0x19d9,_0xb05595._0x4c1d0a)](this[_0x537e76(0x82d,0x405)],this,this[_0x537e76(0x105c,_0xb05595._0x33c3d7)],_0x5703e1,undefined,undefined,undefined,this['_requestMetadata']));function _0x52499d(_0x2a946a,_0x380f0d){return _0x306755(_0x2a946a,_0x380f0d-0x161);}function _0x537e76(_0x1f02cc,_0xb3688a){return _0x306755(_0xb3688a,_0x1f02cc- -_0x388b4c._0x2a4575);}(_0x4b598e=this['_readyPromise'])!==null&&_0x4b598e!==void 0x0&&_0x4b598e[_0x52499d(_0xb05595._0x214524,_0xb05595._0x5ab13e)]&&this['_readyPromise']['reject'](new Cesium__namespace['RuntimeError'](_0x5703e1));}[_0x306755(0x1203,0x1025)](_0x252ac5,_0x54421b,_0x150c2e){return undefined;}[_0x2b6441(0xf0c,0x1402)](_0x59803b,_0x13ea7f,_0x99becf,_0x491018){return Cesium__namespace['ImageryProvider']['loadImage'](this,this['_buildImageResource'](_0x59803b,_0x13ea7f,_0x99becf,_0x491018));}[_0x2b6441(0x421,0x6cf)](_0x92adce,_0x68a20f,_0x106384,_0x47e75f){const _0x56d763={_0x588cef:0x779,_0x3de11d:0xef,_0x2d901e:0x1337,_0x10872d:0x541,_0x3edecf:0x1997,_0x52a7a1:0x14ee,_0x5cb276:0x6d6,_0x140c02:0x237,_0x477a1d:0xce6,_0x444683:0xe2a,_0x492010:0xb1a,_0x26544d:0xd90,_0x5eeec8:0x66e,_0x46c764:0x883,_0x3fc0e0:0x449,_0x3f2bcb:0x63d,_0xbf1481:0x19ce,_0x5a8e81:0x13be};function _0x215039(_0x19e4dd,_0x3110fa){return _0x2b6441(_0x19e4dd,_0x3110fa-0xb8);}let _0x3fd08a=this[_0x215039(-_0x56d763._0x588cef,_0x56d763._0x3de11d)];function _0x1ddc0f(_0x3badc7,_0x5e0c31){return _0x2b6441(_0x3badc7,_0x5e0c31-0x595);}_0x3fd08a&&Cesium__namespace[_0x215039(_0x56d763._0x2d901e,0x12c9)](this[_0x215039(-0x213,_0x56d763._0x10872d)])&&(_0x3fd08a=_0x106384<this['_maxTileLevel']);if(_0x3fd08a){this['_crs']===CRS[_0x215039(_0x56d763._0x3edecf,_0x56d763._0x52a7a1)]&&(_0x106384=_0x106384+0x1);const _0x17c003={};return _0x17c003[_0x215039(0xff4,_0x56d763._0x5cb276)]=_0x215039(_0x56d763._0x140c02,_0x56d763._0x477a1d)+_0x106384+'/'+_0x68a20f+'/'+_0x92adce,_0x17c003[_0x1ddc0f(_0x56d763._0x444683,_0x56d763._0x492010)]=_0x47e75f,this[_0x1ddc0f(0x228f,0x189b)]['getDerivedResource'](_0x17c003);}else{const _0x4660b9=this['_tilingScheme']['tileXYToNativeRectangle'](_0x92adce,_0x68a20f,_0x106384),_0x438186=_0x4660b9['west']+','+_0x4660b9[_0x215039(_0x56d763._0x26544d,0x542)]+','+_0x4660b9['east']+','+_0x4660b9['north'],_0x5eefe5={};_0x5eefe5[_0x1ddc0f(0x1c5d,0x1352)]=_0x438186,_0x5eefe5['size']=this['_tileWidth']+','+this['_tileHeight'],_0x5eefe5[_0x215039(0x1727,0x10b4)]='png32',_0x5eefe5['transparent']=!![],_0x5eefe5['f']='image';const _0x53d9eb=_0x5eefe5;this[_0x1ddc0f(_0x56d763._0x5eeec8,_0x56d763._0x46c764)]['projection']instanceof Cesium__namespace['GeographicProjection']?(_0x53d9eb['bboxSR']=this[_0x1ddc0f(0xe29,0xacc)]||0x10e6,_0x53d9eb[_0x1ddc0f(0x19d0,0x162a)]=this['_wkid']||0x10e6):(_0x53d9eb['bboxSR']=this[_0x215039(0x4f4,0x5ef)]||0xf11,_0x53d9eb['imageSR']=this['_wkid']||0xf11);this['layers']&&(_0x53d9eb['layers']='show:'+this['layers']);this[_0x215039(0xa06,0x2d8)]&&(_0x53d9eb['layerDefs']=this['layerDefs']);const _0x21f3a7={};return _0x21f3a7[_0x1ddc0f(0x26d,0xbb3)]=_0x1ddc0f(0x173c,0x122f),_0x21f3a7[_0x215039(_0x56d763._0x3fc0e0,_0x56d763._0x3f2bcb)]=_0x47e75f,_0x21f3a7['queryParameters']=_0x53d9eb,this[_0x215039(_0x56d763._0xbf1481,_0x56d763._0x5a8e81)]['getDerivedResource'](_0x21f3a7);}}[_0x2b6441(0xc80,0xd1d)](_0x1a452f,_0x3a6e34,_0x282ec1,_0x3e8e15,_0x13738c){const _0x447e59={_0xcbcfa1:0x4f7,_0x55a474:0x6fd,_0xfc110d:0xb2b,_0x3cfb47:0x14ff,_0x2fbd52:0x637,_0x47acfe:0x474,_0xa24446:0x220,_0x3f8282:0x693,_0x167042:0x100e,_0xf05309:0x1550,_0x407fd6:0x194e,_0x2f3336:0x1b4c,_0x45283b:0xe8f,_0x3c5c4f:0x162b,_0x33557c:0x1127},_0x37f005={_0xbc64a2:0xd64};if(!this['enablePickFeatures'])return undefined;const _0x241647=this[_0x1a6e09(_0x447e59._0xcbcfa1,0x28a)][_0x1a6e09(0xab4,0xeae)](_0x1a452f,_0x3a6e34,_0x282ec1);let _0x3ea993;function _0x190d06(_0x34c723,_0x583b61){return _0x306755(_0x583b61,_0x34c723-0xd1);}let _0x4eb230,_0x34df56;if(this['_tilingScheme']['projection']instanceof Cesium__namespace[_0x190d06(_0x447e59._0x55a474,0xf31)])_0x3ea993=Cesium__namespace['Math']['toDegrees'](_0x3e8e15),_0x4eb230=Cesium__namespace[_0x1a6e09(0xfd3,0xb13)]['toDegrees'](_0x13738c),_0x34df56='4326';else{const _0x351ea6=this['_tilingScheme']['projection'][_0x1a6e09(0xc6a,0x1125)](new Cesium__namespace[(_0x190d06(0x9da,0x9c0))](_0x3e8e15,_0x13738c,0x0));_0x3ea993=_0x351ea6['x'],_0x4eb230=_0x351ea6['y'],_0x34df56='3857';}let _0x1e8641=_0x1a6e09(0x2ef,_0x447e59._0xfc110d);Cesium__namespace['defined'](this['layers'])&&(_0x1e8641+=':'+this[_0x190d06(0x19ce,_0x447e59._0x3cfb47)]);const _0x2bd3c2={};_0x2bd3c2['f']='json',_0x2bd3c2['tolerance']=0x2,_0x2bd3c2['geometryType']=_0x190d06(_0x447e59._0x2fbd52,_0x447e59._0x47acfe),_0x2bd3c2[_0x1a6e09(_0x447e59._0xa24446,-0x1bc)]=_0x3ea993+','+_0x4eb230,_0x2bd3c2[_0x1a6e09(0x125d,0x172d)]=_0x241647['west']+','+_0x241647[_0x1a6e09(_0x447e59._0x3f8282,0xe39)]+','+_0x241647['east']+','+_0x241647[_0x1a6e09(0x53e,-0x589)],_0x2bd3c2[_0x1a6e09(0x669,_0x447e59._0x167042)]=this[_0x190d06(_0x447e59._0xf05309,0x189d)]+','+this['_tileHeight']+_0x190d06(_0x447e59._0x407fd6,0xf90),_0x2bd3c2['sr']=_0x34df56,_0x2bd3c2[_0x190d06(0x19ce,_0x447e59._0x2f3336)]=_0x1e8641;const _0x22528e=_0x2bd3c2;function _0x1a6e09(_0x4db6e6,_0x325f9b){return _0x306755(_0x325f9b,_0x4db6e6- -0x398);}Cesium__namespace['defined'](this['layerDefs'])&&(_0x22528e['layerDefs']=this[_0x190d06(0x892,-0x14a)]);const _0x33b63d={};_0x33b63d['url']='identify',_0x33b63d[_0x190d06(_0x447e59._0x45283b,_0x447e59._0x3c5c4f)]=_0x22528e;const _0x42b761=this[_0x190d06(0x1978,0x1ac2)][_0x1a6e09(0x661,_0x447e59._0x33557c)](_0x33b63d);return _0x42b761[_0x1a6e09(0x11d2,0x1a89)]()['then'](function(_0x13243b){const _0x596ede={_0x19b6c4:0x335},_0x5154c2=[];function _0x2511e7(_0x14d42a,_0x464620){return _0x1a6e09(_0x14d42a-_0x596ede._0x19b6c4,_0x464620);}const _0x3fbac8=_0x13243b['results'];function _0x518b9c(_0x292f53,_0x538187){return _0x1a6e09(_0x292f53-0x3ad,_0x538187);}if(!Cesium__namespace['defined'](_0x3fbac8))return _0x5154c2;const _0x44472e='EPSG:'+_0x34df56;for(let _0x2442ce=0x0;_0x2442ce<_0x3fbac8['length'];++_0x2442ce){const _0x2c6918=_0x3fbac8[_0x2442ce],_0x70c4b3=new Cesium__namespace['ImageryLayerFeatureInfo']();_0x70c4b3['data']=_0x2c6918,_0x70c4b3['crs']=_0x44472e,_0x70c4b3['name']=_0x2c6918[_0x518b9c(_0x37f005._0xbc64a2,0x388)],_0x70c4b3['properties']=_0x2c6918['attributes'],_0x70c4b3['configureDescriptionFromProperties'](_0x2c6918[_0x518b9c(0x1128,0x1166)]),_0x5154c2['push'](_0x70c4b3);}return _0x5154c2;});}}function getCRSByWkid(_0xe321cd){const _0x2f2794={_0x1cd3f7:0x1573,_0xd19cf1:0x101b,_0x4fa030:0x145a,_0x1dda41:0xeb0},_0x63ec7={_0x3b3af2:0x24};function _0x255ea9(_0x4a2ada,_0x4a8e9e){return _0x2b6441(_0x4a2ada,_0x4a8e9e- -0x14);}function _0x4e16e2(_0xa2d720,_0x58e116){return _0x2b6441(_0x58e116,_0xa2d720-_0x63ec7._0x3b3af2);}switch(_0xe321cd){case 0x10e6:case 0x10bb:return CRS[_0x255ea9(_0x2f2794._0x1cd3f7,_0x2f2794._0xd19cf1)];case 0x118a:return CRS[_0x4e16e2(_0x2f2794._0x4fa030,0x1ee2)];case 0x18ed4:case 0xdbf31:case 0xf11:return CRS['EPSG3857'];default:return isNumber(_0xe321cd)?_0x4e16e2(_0x2f2794._0x1dda41,0xe21)+_0xe321cd:undefined;}}class ArcGisLayer extends BaseTileLayer{get[_0x2b6441(0x126e,0x13f9)](){const _0x5c6dc3={_0x27518a:0xaa0,_0x4df361:0x171d};var _0x15f705;function _0x4a7647(_0x1fac08,_0x2fb769){return _0x2b6441(_0x2fb769,_0x1fac08-0x50d);}function _0x877714(_0xbf34a1,_0x2a2fec){return _0x306755(_0x2a2fec,_0xbf34a1- -0x183);}return((_0x15f705=this['imageryProvider'])===null||_0x15f705===void 0x0?void 0x0:_0x15f705['_crs'])||this[_0x4a7647(0xbc9,_0x5c6dc3._0x27518a)][_0x877714(0x1817,_0x5c6dc3._0x4df361)]||CRS['EPSG4326'];}get[_0x306755(0x550,0x50e)](){const _0x5f10b={_0x174e5c:0x1923};function _0x57a60d(_0x33781b,_0x24785a){return _0x2b6441(_0x24785a,_0x33781b-0x528);}var _0x33d36b;return(_0x33d36b=this[_0x57a60d(0xf44,_0x5f10b._0x174e5c)])===null||_0x33d36b===void 0x0?void 0x0:_0x33d36b['capabilities'];}async['_createImageryProvider'](_0x5af028){return await createImageryProvider$g(_0x5af028);}[_0x2b6441(0x155b,0xed9)](){if(this['_popupConfig'])return!![];return![];}['bindPopup'](_0x7bae11,_0x22f42e){const _0x38f090={_0x3e132c:0xbc7};this['_popupConfig']={'content':_0x7bae11,'options':_0x22f42e,'layer':this};function _0x270372(_0x18e9a3,_0x30845f){return _0x2b6441(_0x18e9a3,_0x30845f-0x181);}return this[_0x270372(0x1656,_0x38f090._0x3e132c)](),this;}[_0x2b6441(0x51b,0x88c)](){return this['closePopup'](),this['_popupConfig']=null,this;}['closePopup'](){const _0x885ccc={_0x3123db:0x1547};var _0x5a3d22;function _0x41f53a(_0x654d1a,_0x3bcff0){return _0x306755(_0x3bcff0,_0x654d1a- -0x282);}return(_0x5a3d22=this['_map'])!==null&&_0x5a3d22!==void 0x0&&_0x5a3d22['popup']&&this['hasPopup']()&&this[_0x41f53a(_0x885ccc._0x3123db,0x14ac)]['popup']['close'](null,this),this;}}async function createImageryProvider$g(_0x27e99b){const _0x5f1c16={_0x4f080f:0x474,_0x118ab9:0x1bec,_0x998874:0x18d0,_0x14918f:0x669,_0x4763cc:0x474,_0x35d6a7:0x1430,_0x2df6cc:0xf5e,_0x49c6f6:0xbce,_0x3f059f:0x7c1},_0x43b0da={_0x218fd6:0x556};function _0x46ff0b(_0x2e52fd,_0x4f1148){return _0x2b6441(_0x2e52fd,_0x4f1148-0x6bf);}if(Cesium__namespace['defined'](_0x27e99b[_0x171836(0xbd0,_0x5f1c16._0x4f080f)])&&!Cesium__namespace[_0x46ff0b(_0x5f1c16._0x118ab9,_0x5f1c16._0x998874)](_0x27e99b[_0x171836(0xb48,_0x5f1c16._0x14918f)]))switch(_0x27e99b[_0x171836(0x7be,_0x5f1c16._0x4763cc)]){case _0x171836(0x1a26,_0x5f1c16._0x35d6a7):_0x27e99b[_0x46ff0b(0xc99,0xcdd)]='https://services.arcgisonline.com/ArcGIS/rest/services/World_Street_Map/MapServer';break;case _0x171836(_0x5f1c16._0x2df6cc,_0x5f1c16._0x49c6f6):_0x27e99b[_0x171836(0x45e,0x669)]=_0x46ff0b(0x117b,0x1a5a);break;}function _0x171836(_0x241f5c,_0x30cc97){return _0x306755(_0x241f5c,_0x30cc97- -_0x43b0da._0x218fd6);}_0x27e99b=converOptions(_0x27e99b);if(_0x27e99b['czm'])return await Cesium__namespace['ArcGisMapServerImageryProvider']['fromUrl'](_0x27e99b['url'],_0x27e99b);else{const _0x192e1b=new ArcGisImageryProvider(_0x27e99b);return await _0x192e1b[_0x46ff0b(_0x5f1c16._0x3f059f,0xfe4)],_0x192e1b;}}ArcGisLayer['createImageryProvider']=createImageryProvider$g;const layerType$h='arcgis';register$3(layerType$h,ArcGisLayer),registerImageryProvider(layerType$h,createImageryProvider$g);class BaiduLayer extends BaseTileLayer{async[_0x2b6441(0xac8,0x5c8)](_0x14d27d){return await createImageryProvider$f(_0x14d27d);}}async function createImageryProvider$f(_0x30d4df){return _0x30d4df=converOptions(_0x30d4df),new BaiduImageryProvider(_0x30d4df);}BaiduLayer['createImageryProvider']=createImageryProvider$f;const layerType$g=_0x2b6441(-0x587,0x439);register$3(layerType$g,BaiduLayer),registerImageryProvider(layerType$g,createImageryProvider$f);class BingLayer extends BaseTileLayer{async[_0x2b6441(0x31a,0x5c8)](_0x5cf385){return await createImageryProvider$e(_0x5cf385);}}async function createImageryProvider$e(_0x313751){const _0x2dc295={_0x584a85:0x135b,_0xff9ecd:0xadb,_0x1e0f43:0x3ac,_0x115ef9:0x669,_0x4488cc:0x177},_0x49b595={_0x28d62f:0x61e},_0x5acc31=_0x313751[_0x3c1243(_0x2dc295._0x584a85,_0x2dc295._0xff9ecd)]??'https://dev.virtualearth.net';_0x313751[_0x2735a4(0x424,0xebe)]=_0x313751['culture']??'zh-Hans',_0x313751[_0x3c1243(0x13b5,0x11b5)]=_0x313751['key']??bing,_0x313751[_0x2735a4(_0x2dc295._0x1e0f43,-_0x2dc295._0x115ef9)]=_0x313751['layer']??Cesium__namespace['BingMapsStyle']['Aerial'],_0x313751=converOptions(_0x313751);function _0x3c1243(_0x59923d,_0x194f85){return _0x306755(_0x59923d,_0x194f85- -0xe4);}const _0x4b9f16={'mapStyle':_0x313751['layer'],..._0x313751};function _0x2735a4(_0x421736,_0x573f9c){return _0x306755(_0x573f9c,_0x421736- -_0x49b595._0x28d62f);}return await Cesium__namespace['BingMapsImageryProvider'][_0x2735a4(0x1e9,-_0x2dc295._0x4488cc)](_0x5acc31,_0x4b9f16);}BingLayer[_0x306755(0x15f3,0x15e3)]=createImageryProvider$e;const layerType$f=_0x306755(0x1a59,0x1486);register$3(layerType$f,BingLayer),registerImageryProvider(layerType$f,createImageryProvider$e);class GaodeLayer extends BaseTileLayer{async[_0x306755(0x984,0xb69)](_0x356b5a){return await createImageryProvider$d(_0x356b5a);}}async function createImageryProvider$d(_0x23489f){const _0x4b64b3={_0x3df14d:0x9bb,_0x38d313:0x86,_0x54cf4a:0x6f6,_0x463f44:0x1980};_0x23489f[_0x4e8a2d(_0x4b64b3._0x3df14d,0x448)]=_0x23489f[_0xcd7561(-_0x4b64b3._0x38d313,-_0x4b64b3._0x54cf4a)]||ChinaCRS[_0x4e8a2d(_0x4b64b3._0x463f44,0x169b)];function _0xcd7561(_0x1ee57b,_0xa8e029){return _0x306755(_0xa8e029,_0x1ee57b- -0x618);}_0x23489f=converOptions(_0x23489f);function _0x4e8a2d(_0x163a71,_0x2dd7e9){return _0x306755(_0x163a71,_0x2dd7e9- -0x14a);}return new GaodeImageryProvider(_0x23489f);}GaodeLayer['createImageryProvider']=createImageryProvider$d;const layerType$e='gaode';register$3(layerType$e,GaodeLayer),registerImageryProvider(layerType$e,createImageryProvider$d);class GeeLayer extends BaseTileLayer{async['_createImageryProvider'](_0x55933a){return await createImageryProvider$c(_0x55933a);}}async function createImageryProvider$c(_0x34136c){const _0x4c32f5={_0x18d8dd:0xb54,_0x4c60d6:0x11f7,_0x1d9f2f:0x925,_0x454534:0x1358},_0x182ed5={_0x3ee4ff:0xb0};_0x34136c=converOptions(_0x34136c);const _0x56b92b=await Cesium__namespace['GoogleEarthEnterpriseMetadata'][_0x4c8694(_0x4c32f5._0x18d8dd,0x6a3)](_0x34136c[_0x1d37ac(0xc6f,0xa68)]);function _0x1d37ac(_0x26c97e,_0x3c076c){return _0x306755(_0x3c076c,_0x26c97e-_0x182ed5._0x3ee4ff);}function _0x4c8694(_0x5b3e77,_0x2988c6){return _0x306755(_0x5b3e77,_0x2988c6- -0x164);}return new Cesium__namespace[(_0x4c8694(_0x4c32f5._0x4c60d6,0x1015))][(_0x4c8694(_0x4c32f5._0x1d9f2f,_0x4c32f5._0x454534))](_0x56b92b,_0x34136c);}GeeLayer[_0x306755(0x19e2,0x15e3)]=createImageryProvider$c;const layerType$d=_0x2b6441(-0x137,0x64b);register$3(layerType$d,GeeLayer),registerImageryProvider(layerType$d,createImageryProvider$c);class GoogleLayer extends BaseTileLayer{async[_0x2b6441(0x519,0x5c8)](_0x53b645){return await createImageryProvider$b(_0x53b645);}}async function createImageryProvider$b(_0x3fae23){const _0x56d79e={_0xefbda3:0xc0b};_0x3fae23[_0x5b02f2(_0x56d79e._0xefbda3,0x21d)]=_0x3fae23['chinaCRS']||ChinaCRS['GCJ02'];function _0x5b02f2(_0xc06b5a,_0x15d965){return _0x2b6441(_0xc06b5a,_0x15d965-0x22c);}return _0x3fae23=converOptions(_0x3fae23),new GoogleImageryProvider(_0x3fae23);}GoogleLayer['createImageryProvider']=createImageryProvider$b;const layerType$c='google';register$3(layerType$c,GoogleLayer),registerImageryProvider(layerType$c,createImageryProvider$b);class ImageLayer extends BaseTileLayer{get['url'](){const _0x77ed32={_0x5cbf57:0x99c},_0xc5208a={_0x3760e8:0x2c1};function _0x452878(_0x921459,_0x434af3){return _0x306755(_0x434af3,_0x921459- -_0xc5208a._0x3760e8);}return this[_0x452878(_0x77ed32._0x5cbf57,0x11fb)]['url'];}set['url'](_0x21ba25){const _0x4f22b1={_0x301eb2:0x1519},_0x367f61={_0x56093a:0x4e7};function _0x13f8b5(_0x6c356f,_0x42f17c){return _0x2b6441(_0x42f17c,_0x6c356f-0x3db);}this[_0x2b8ae3(0x776,0xe64)]['url']=_0x21ba25;function _0x2b8ae3(_0x4e5d69,_0x1bf089){return _0x306755(_0x1bf089,_0x4e5d69- -_0x367f61._0x56093a);}this[_0x2b8ae3(_0x4f22b1._0x301eb2,0x1ca7)]();}get['image'](){const _0x554be6={_0x220cfb:0x9fb};var _0xcd16e5;function _0x25ce10(_0xc8d4a9,_0x3b30c4){return _0x306755(_0xc8d4a9,_0x3b30c4- -0x37);}return(_0xcd16e5=this['imageryProvider'])===null||_0xcd16e5===void 0x0?void 0x0:_0xcd16e5[_0x25ce10(_0x554be6._0x220cfb,0xba0)];}async[_0x306755(0xdf1,0xb69)](_0x597ffb){return await createImageryProvider$a(_0x597ffb);}}async function createImageryProvider$a(_0x29b2c7){const _0x48c4cd={_0x5692fd:0x1f5b,_0x511ce8:0x13a6,_0x25a599:0x1076,_0x550ca1:0x7fc,_0x595bc1:0x3df,_0x3f9511:0xfb8,_0xbd3809:0x890,_0x506763:0x1a08},_0x2fd94c={_0x16febe:0x494},_0x51a3ce={_0x43eafa:0x606};if(!_0x29b2c7['url'])return null;_0x29b2c7=converOptions(_0x29b2c7);const _0x3097a9=new Cesium__namespace[(_0x665a9e(_0x48c4cd._0x5692fd,0x1735))](_0x29b2c7);function _0x586eeb(_0x951324,_0x58b332){return _0x2b6441(_0x58b332,_0x951324-_0x51a3ce._0x43eafa);}function _0x665a9e(_0x9061d6,_0x5bae99){return _0x2b6441(_0x9061d6,_0x5bae99-_0x2fd94c._0x16febe);}if(_0x29b2c7[_0x586eeb(0x19ff,0x11f4)]===CRS[_0x665a9e(0x1767,0x132e)]){let _0x248aa8,_0x694bca;if(_0x29b2c7['rectangle']){const _0x320701=LngLatPoint['fromCartographic'](new Cesium__namespace[(_0x586eeb(0x96e,_0x48c4cd._0x511ce8))](_0x29b2c7[_0x586eeb(0x147e,0x1a0d)][_0x586eeb(0x18dd,0x1fc6)],_0x29b2c7['rectangle']['south']))['toMercator'](),_0x2aa760=LngLatPoint[_0x586eeb(0x199c,0x15b9)](new Cesium__namespace[(_0x665a9e(_0x48c4cd._0x25a599,_0x48c4cd._0x550ca1))](_0x29b2c7['rectangle'][_0x665a9e(0xf09,0x100b)],_0x29b2c7['rectangle']['north']))['toMercator']();_0x248aa8=new Cesium__namespace[(_0x665a9e(0x82f,_0x48c4cd._0x595bc1))](_0x320701[0x0],_0x320701[0x1]),_0x694bca=new Cesium__namespace['Cartesian2'](_0x2aa760[0x0],_0x2aa760[0x1]);}const _0x5b9428={};_0x5b9428['numberOfLevelZeroTilesX']=_0x29b2c7['numberOfLevelZeroTilesX']||0x1,_0x5b9428['numberOfLevelZeroTilesY']=_0x29b2c7['numberOfLevelZeroTilesY']||0x1,_0x5b9428['rectangleSouthwestInMeters']=_0x248aa8,_0x5b9428[_0x586eeb(_0x48c4cd._0x3f9511,_0x48c4cd._0xbd3809)]=_0x694bca,_0x3097a9['_tilingScheme']=new Cesium__namespace['WebMercatorTilingScheme'](_0x5b9428);}return await _0x3097a9[_0x586eeb(_0x48c4cd._0x506763,0x1d8f)](),_0x3097a9;}ImageLayer['createImageryProvider']=createImageryProvider$a;const layerType$b='image';register$3(layerType$b,ImageLayer),registerImageryProvider(layerType$b,createImageryProvider$a);class MapboxLayer extends BaseTileLayer{async['_createImageryProvider'](_0x3d0098){return await createImageryProvider$9(_0x3d0098);}}async function createImageryProvider$9(_0x1db33c){const _0x43c30d={_0x14e84e:0x989,_0x5595a4:0xbf3,_0x7d1d5e:0x1350},_0x3b4736={_0xca9ed6:0x338,_0x4a3a8e:0xdf8},_0x200a54={_0x1b0029:0x321};_0x1db33c[_0x2e5eef(_0x43c30d._0x14e84e,0x13bc)]=_0x1db33c['url']??'https://api.mapbox.com/styles/v1',_0x1db33c['username']=_0x1db33c['username']??'marsgis',_0x1db33c[_0x3309f7(_0x43c30d._0x5595a4,0x6dc)]=_0x1db33c[_0x2e5eef(_0x43c30d._0x7d1d5e,0x1996)]??_0x1db33c['accessToken']??mapbox,_0x1db33c['scaleFactor']=_0x1db33c['scaleFactor']?!![]:undefined,_0x1db33c=converOptions(_0x1db33c);const _0x2e70d4=new Cesium__namespace[(_0x2e5eef(0xb38,0x23b))](_0x1db33c);function _0x2e5eef(_0x5ca58c,_0x32e532){return _0x2b6441(_0x32e532,_0x5ca58c-0x36b);}function _0x3309f7(_0x3eb6a7,_0x6df64c){return _0x306755(_0x3eb6a7,_0x6df64c- -0x17f);}return Promise[_0x2e5eef(0xe0e,0xa88)](_0x1db33c)['then'](function(_0x1522ed){function _0x550b05(_0x3e6cf4,_0x5795b7){return _0x2e5eef(_0x3e6cf4- -_0x200a54._0x1b0029,_0x5795b7);}_0x1db33c['tilingScheme']&&(_0x2e70d4['_imageryProvider'][_0x550b05(_0x3b4736._0xca9ed6,_0x3b4736._0x4a3a8e)]=_0x1db33c['tilingScheme']);}),_0x2e70d4;}MapboxLayer[_0x306755(0x15d4,0x15e3)]=createImageryProvider$9;const layerType$a='mapbox';register$3(layerType$a,MapboxLayer),registerImageryProvider(layerType$a,createImageryProvider$9);class OsmLayer extends BaseTileLayer{async['_createImageryProvider'](_0x703191){return await createImageryProvider$8(_0x703191);}}async function createImageryProvider$8(_0x57b1dd){return _0x57b1dd=converOptions(_0x57b1dd),new OsmImageryProvider(_0x57b1dd);}OsmLayer['createImageryProvider']=createImageryProvider$8;const layerType$9=_0x306755(0xe88,0x1545);register$3(layerType$9,OsmLayer),registerImageryProvider(layerType$9,createImageryProvider$8);class TdtLayer extends BaseTileLayer{async['_createImageryProvider'](_0x26d9b6){return await createImageryProvider$7(_0x26d9b6);}}async function createImageryProvider$7(_0x5e18cd){const _0x2db676={_0x17201b:0x91,_0x4d50e1:0x80};_0x5e18cd['chinaCRS']=_0x5e18cd[_0x677b10(-_0x2db676._0x17201b,_0x2db676._0x4d50e1)]||ChinaCRS['WGS84'];function _0x677b10(_0x1dc3a3,_0x11d8fa){return _0x306755(_0x11d8fa,_0x1dc3a3- -0x623);}return _0x5e18cd=converOptions(_0x5e18cd),new TdtImageryProvider(_0x5e18cd);}TdtLayer['createImageryProvider']=createImageryProvider$7;const layerType$8='tdt';register$3(layerType$8,TdtLayer),registerImageryProvider(layerType$8,createImageryProvider$7);class TencentLayer extends BaseTileLayer{async['_createImageryProvider'](_0x382211){return await createImageryProvider$6(_0x382211);}}async function createImageryProvider$6(_0x22a74b){const _0x5d7d0e={_0x1174d5:0x191};_0x22a74b[_0x7d3e67(-0x5d0,0x401)]=_0x22a74b['chinaCRS']||ChinaCRS['GCJ02'],_0x22a74b=converOptions(_0x22a74b);function _0x7d3e67(_0x15de9b,_0x1e6632){return _0x306755(_0x15de9b,_0x1e6632- -_0x5d7d0e._0x1174d5);}return new TencentImageryProvider(_0x22a74b);}TencentLayer['createImageryProvider']=createImageryProvider$6;const layerType$7='tencent';register$3(layerType$7,TencentLayer),registerImageryProvider(layerType$7,createImageryProvider$6);class TmsLayer extends BaseTileLayer{async[_0x2b6441(0x73c,0x5c8)](_0x51bd9f){return await createImageryProvider$5(_0x51bd9f);}}async function createImageryProvider$5(_0x25c633){const _0x31ce5c={_0x87cb81:0x868},_0x57e699={_0x518e14:0x4a3},_0x24d176={_0x4869e5:0x24a};function _0x38b8ed(_0x4b4eee,_0x264582){return _0x2b6441(_0x4b4eee,_0x264582-_0x24d176._0x4869e5);}_0x25c633=converOptions(_0x25c633);function _0x5ecf61(_0x3a98b7,_0x57a05d){return _0x2b6441(_0x3a98b7,_0x57a05d-_0x57e699._0x518e14);}return!_0x25c633[_0x5ecf61(0x397,0xac1)]&&(_0x25c633['url']=Cesium__namespace['buildModuleUrl']('Assets/Textures/NaturalEarthII')),await Cesium__namespace['TileMapServiceImageryProvider']['fromUrl'](_0x25c633[_0x38b8ed(0x529,_0x31ce5c._0x87cb81)],_0x25c633);}TmsLayer[_0x2b6441(0xb2e,0x1042)]=createImageryProvider$5;const layerType$6='tms';register$3(layerType$6,TmsLayer),registerImageryProvider(layerType$6,createImageryProvider$5);class WmsLayer extends BaseTileLayer{['_addedHook'](){const _0x4eacd9={_0x3c7967:0xa05};function _0xb9afaa(_0x125f68,_0x4a85f7){return _0x2b6441(_0x125f68,_0x4a85f7-0x1f7);}function _0x47d1fe(_0x8fa4e7,_0x54603a){return _0x306755(_0x54603a,_0x8fa4e7- -0x258);}this[_0x47d1fe(_0x4eacd9._0x3c7967,0x981)]['getCapabilities']??!![]?this['getMetadata']()[_0x47d1fe(0x10ab,0xf73)](()=>{this['isAdded']&&super['_addedHook']();}):super['_addedHook']();}async[_0x2b6441(0xfbc,0x5c8)](_0x174cab){return await createImageryProvider$4(_0x174cab);}[_0x306755(0x1004,0x14e3)](){const _0x50c439={_0x11b8d7:0x8e,_0xa8b39d:0x735,_0x32eb69:0x13a4,_0x1471a9:0x11,_0x5cb491:0x12b9,_0x18547f:0x37e,_0x158c1a:0x14b5,_0x5a1222:0x999,_0x50f6a4:0x1408},_0x4e9205={_0x26fd3b:0x125b,_0x2bae75:0x125,_0x2a0a54:0x2f9};return new Promise((_0x561437,_0x46a8a1)=>{const _0x3efa6d={_0x33585f:0x727},_0x5ae6d7={_0x558a06:0x13f},_0xb38f65={_0xe774f6:0x2b5},_0x225b5e={_0x4b0133:0x329};if(this[_0x42df03(-0xc8,-_0x50c439._0x11b8d7)]){_0x561437(this['capabilities']);return;}const _0x3a62c3={'version':'1.3.0',...this[_0xac9bb9(0x1a1,_0x50c439._0xa8b39d)]['parameters']};_0x3a62c3[_0x42df03(0xb58,0xd72)]=_0xac9bb9(0xb61,0xf42),_0x3a62c3['request']=_0xac9bb9(0x10de,_0x50c439._0x32eb69);function _0x42df03(_0x269c98,_0x5ac009){return _0x5bbe(_0x5ac009- -_0x225b5e._0x4b0133,_0x269c98);}const _0x4f208a=_0x3a62c3;function _0xac9bb9(_0x206f33,_0x16227d){return _0x5bbe(_0x16227d- -_0xb38f65._0xe774f6,_0x206f33);}let _0x4beaeb=this['options'][_0xac9bb9(_0x50c439._0x1471a9,0x697)];this[_0xac9bb9(_0x50c439._0x5cb491,0x147c)]&&(_0x4beaeb=template(_0x4beaeb,this['templateValues']));const _0x1c3413={...this['options']};_0x1c3413[_0xac9bb9(-_0x50c439._0x18547f,0x697)]=_0x4beaeb,_0x1c3413[_0x42df03(_0x50c439._0x158c1a,_0x50c439._0x50f6a4)]={...this['templateValues']},_0x1c3413[_0x42df03(_0x50c439._0x5a1222,0x822)]=_0x4f208a,_0x1c3413[_0xac9bb9(-0x389,0x5c0)]=this['_proxy'],_0x1c3413[_0x42df03(_0x50c439._0x158c1a,_0x50c439._0x50f6a4)]['s']=this['subdomainItem'],Cesium__namespace['Resource'][_0xac9bb9(0x1333,0x9fc)](_0x1c3413)['then'](_0x5f4479=>{const _0x16360d={_0x42127f:0xc};if(this['isDestroy'])return;if(_0x5f4479){this['capabilities']=_0x5f4479;try{this['_initByMetaData'](_0x5f4479);}catch(_0xfe9ad2){logInfo(_0xc7fa40(_0x4e9205._0x26fd3b,0x7ee),_0xfe9ad2);}}_0x561437(_0x5f4479);function _0xc7fa40(_0x23ec93,_0x4b9d6f){return _0xac9bb9(_0x4b9d6f,_0x23ec93-_0x5ae6d7._0x558a06);}const _0x3f6d1d={};_0x3f6d1d[_0xc7fa40(_0x4e9205._0x2bae75,0x3c1)]=_0x5f4479;function _0xbb0892(_0x1706eb,_0x1378f9){return _0x42df03(_0x1706eb,_0x1378f9-_0x16360d._0x42127f);}this[_0xbb0892(0xd23,_0x4e9205._0x2a0a54)](EventType[_0xc7fa40(0x349,0x3d1)],_0x3f6d1d);})['catch'](_0x2a5299=>{const _0x374e83={_0x26bee8:0x1ab};logInfo(_0x228076(0xf2d,_0x3efa6d._0x33585f),_0x2a5299);function _0x228076(_0x2714f7,_0x251790){return _0xac9bb9(_0x251790,_0x2714f7-_0x374e83._0x26bee8);}_0x561437(_0x2a5299);});});}['_initByMetaData'](_0xf1a8cc){const _0x5d7376={_0x259d59:0x1a42,_0x68ef4b:0x6fc,_0x4b6477:0xb7,_0xcc201:0xf28,_0x1d4908:0x69a,_0x5f4f2c:0x38f,_0x182cc9:0x21b},_0x272e23={_0x287942:0x22};let _0x2cdffc=this['options']['layers'];_0x2cdffc['indexOf'](':')!==-0x1&&(_0x2cdffc=_0x2cdffc['split'](':')[0x1]);const _0x4732de=this[_0x439e24(0x10bd,_0x5d7376._0x259d59)](_0xf1a8cc,_0xb64599(_0x5d7376._0x68ef4b,_0x5d7376._0x4b6477));function _0xb64599(_0x204660,_0x155afc){return _0x2b6441(_0x155afc,_0x204660- -_0x272e23._0x287942);}function _0x439e24(_0x292142,_0x1d54ca){return _0x306755(_0x1d54ca,_0x292142-0x54);}if(!_0x4732de)return;const _0x440012=this[_0x439e24(0x54c,0x3cf)](_0x4732de,'Layer');if(!_0x440012)return;for(let _0x16c1f2=0x0,_0x131403=_0x440012['length'];_0x16c1f2<_0x131403;_0x16c1f2++){const _0x49fa6b=_0x440012[_0x16c1f2],_0x586a44=this['_readChildNodeVal'](_0x49fa6b,_0xb64599(0xff5,_0x5d7376._0xcc201)),_0x356bdc=this[_0x439e24(0x7e9,-0x2dd)](_0x49fa6b,'Title');if(_0x586a44===_0x2cdffc||_0x356bdc===_0x2cdffc){const _0x573185=this['_readChildNodeVal'](_0x49fa6b,'CRS');!this[_0xb64599(_0x5d7376._0x1d4908,_0x5d7376._0x5f4f2c)][_0x439e24(0x19ee,0x20f8)]&&_0x573185&&(this[_0xb64599(_0x5d7376._0x1d4908,0xd94)][_0x439e24(0x19ee,0x20b2)]=_0x573185);const _0x53f913=this['_readChildNode'](_0x49fa6b,'BoundingBox');if(!this['options']['rectangle']&&_0x53f913){const _0xe9da10=Number(_0x53f913[_0xb64599(-0xd4,_0x5d7376._0x182cc9)]('minx')),_0x49977d=Number(_0x53f913['getAttribute']('maxx')),_0x3826f0=Number(_0x53f913['getAttribute']('miny')),_0xb9a3d1=Number(_0x53f913['getAttribute']('maxy'));this['_setExtent'](_0xe9da10,_0x3826f0,_0x49977d,_0xb9a3d1);}break;}}}['_readNode'](_0x22c5db,_0x508a77){const _0x48f703={_0x186da9:0x1f12};if(!_0x22c5db)return null;let _0x5f4274=_0x22c5db['getElementsByTagName'](_0x508a77);(!_0x5f4274||_0x5f4274[_0x5b4f33(_0x48f703._0x186da9,0x1551)]===0x0)&&(_0x5f4274=_0x22c5db['getElementsByTagName']('wms:'+_0x508a77));function _0x5b4f33(_0x5ce3cf,_0x334cf0){return _0x306755(_0x5ce3cf,_0x334cf0- -0xaa);}return _0x5f4274;}['_readChildNode'](_0x411679,_0x331dd1){if(!_0x411679)return null;function _0x315d25(_0x40ccd6,_0x574350){return _0x2b6441(_0x574350,_0x40ccd6-0x518);}const _0x3c819c=this['_readNode'](_0x411679,_0x331dd1);return _0x3c819c[_0x315d25(0x1572,0xb73)]>0x0?_0x3c819c[0x0]:null;}['_readChildNodeVal'](_0x2cb6df,_0x7af071){const _0x4766d3={_0x54fb3e:0x835};var _0x4d0fc1,_0x1524b4;function _0x70e57e(_0x394dff,_0x1628e1){return _0x2b6441(_0x1628e1,_0x394dff-0x254);}if(!_0x2cb6df)return null;let _0x39ed24=this['_readChildNode'](_0x2cb6df,_0x7af071);!_0x39ed24&&(_0x39ed24=this['_readChildNode'](_0x2cb6df,'wms:'+_0x7af071));if((_0x4d0fc1=_0x39ed24)!==null&&_0x4d0fc1!==void 0x0&&_0x4d0fc1['innerHTML'])return _0x39ed24['innerHTML'];else return(_0x1524b4=_0x39ed24)!==null&&_0x1524b4!==void 0x0&&_0x1524b4[_0x70e57e(_0x4766d3._0x54fb3e,0x18)]?_0x39ed24['getInnerHTML']():null;}['hasPopup'](){if(this['_popupConfig'])return!![];return![];}[_0x306755(0xf2c,0x470)](_0x4e480b,_0x592b20){function _0x8bd4(_0x2e5e45,_0x355bf7){return _0x2b6441(_0x2e5e45,_0x355bf7-0x1b1);}this[_0x177936(0x1429,0x10e7)]={'content':_0x4e480b,'options':_0x592b20,'layer':this};function _0x177936(_0x58d4d8,_0xf3dcc6){return _0x306755(_0x58d4d8,_0xf3dcc6- -0x2d);}return this[_0x8bd4(0x129c,0xbf7)](),this;}['unbindPopup'](){return this['closePopup'](),this['_popupConfig']=null,this;}[_0x2b6441(0x18e8,0x12f8)](){const _0x3ac352={_0x35a5bd:0x52b,_0x5d2f58:0xf0b},_0x40e182={_0x1f3b5c:0x1be},_0x53e8ff={_0x11d7ae:0x56f};function _0x41d92b(_0x2e55f0,_0x24e436){return _0x306755(_0x2e55f0,_0x24e436- -_0x53e8ff._0x11d7ae);}var _0x58f9df;(_0x58f9df=this[_0x4a69cb(0x14a1,0x160b)])!==null&&_0x58f9df!==void 0x0&&_0x58f9df[_0x41d92b(-0x30d,_0x3ac352._0x35a5bd)]&&this[_0x41d92b(0xa38,_0x3ac352._0x5d2f58)]()&&this['_map'][_0x41d92b(0x4fe,0x52b)]['close'](null,this);function _0x4a69cb(_0x59d1cb,_0x59af31){return _0x306755(_0x59d1cb,_0x59af31- -_0x40e182._0x1f3b5c);}return this;}}async function createImageryProvider$4(_0x1ecd82){return _0x1ecd82=converOptions(_0x1ecd82),new Cesium__namespace['WebMapServiceImageryProvider'](_0x1ecd82);}WmsLayer['createImageryProvider']=createImageryProvider$4;const layerType$5='wms';register$3(layerType$5,WmsLayer),registerImageryProvider(layerType$5,createImageryProvider$4);class WmtsLayer extends BaseTileLayer{[_0x306755(0x100b,0x99e)](){const _0x2cb04d={_0x8796b2:0x92c,_0x2a6586:0xf85},_0x287dea={_0x5af3cf:0x653},_0x3b7b61={_0x1f9afb:0x213},_0x5cb1ca={_0x2dcb20:0x43};function _0x25529d(_0x1383d0,_0x580934){return _0x2b6441(_0x1383d0,_0x580934-_0x5cb1ca._0x2dcb20);}this['options']['getCapabilities']??!![]?this[_0x25529d(_0x2cb04d._0x8796b2,_0x2cb04d._0x2a6586)]()['then'](()=>{function _0x418835(_0x3d924b,_0x15f268){return _0x25529d(_0x15f268,_0x3d924b-0x19c);}function _0xa0e3a3(_0x1350b7,_0x2a0803){return _0x25529d(_0x1350b7,_0x2a0803-_0x3b7b61._0x1f9afb);}this[_0xa0e3a3(-0x95,0x816)]&&super[_0xa0e3a3(0x50d,_0x287dea._0x5af3cf)]();}):super['_addedHook']();}async['_createImageryProvider'](_0x46519e){const _0xa2744d={_0x1683c1:0x1688},_0x3315b1={_0x7c6abd:0xd6};_0x46519e['style']=_0x46519e['style']||'';const _0x3c3654=await createImageryProvider$3(_0x46519e);function _0x32c509(_0x1a2874,_0x268a51){return _0x306755(_0x268a51,_0x1a2874- -_0x3315b1._0x7c6abd);}function _0x5abfb5(_0x3cb4aa,_0x14f091){return _0x306755(_0x14f091,_0x3cb4aa- -0x389);}if(_0x46519e[_0x32c509(0x11e8,0xf0e)])_0x3c3654[_0x5abfb5(0xf35,_0xa2744d._0x1683c1)]=_0x46519e['pickFeatures'];else _0x46519e['pickFeaturesUrl']&&(_0x3c3654['pickFeatures']=(_0x4974c1,_0x231177,_0x2e7ac5,_0x558d24,_0x2a707e)=>{return this['pickFeatures'](_0x4974c1,_0x231177,_0x2e7ac5,_0x558d24,_0x2a707e);});return _0x3c3654;}[_0x2b6441(0x5fc,0xd1d)](_0x26884e,_0x538fd2,_0xc895c4,_0x44eaf1,_0x1ae9d4){const _0x336149={_0x1f58fc:0x7fa,_0x289d30:0x4d0,_0x98cf04:0x79e,_0x31b0d7:0x298,_0x26ac8c:0x13fa,_0x292be5:0xf08,_0x3baf46:0xf58,_0x46207f:0xca7,_0x1e6d01:0x10da,_0x411703:0x12b1,_0x53e72:0x82a,_0x281590:0x7fa,_0x235500:0xdcf,_0x1bc903:0x1968,_0x49bdd2:0x171c,_0x44b620:0xca5,_0x5d7035:0x78d,_0x410951:0x2a4,_0x5c3e11:0x1392,_0x44a7c7:0xd9d,_0x5602e8:0x285,_0x1286a5:0xc28,_0x17a359:0x3ae,_0x3cc724:0x20af},_0x2b8b1b={_0x1d9849:0x616,_0x37a6ee:0xfe8,_0x4b3b41:0x3e9,_0xc17d3c:0x64b,_0x50a492:0xf08,_0x1b56a1:0x53f,_0x29d8fb:0x16eb,_0x2af0b6:0x5b,_0x18ea75:0x11c0,_0x302b44:0xb6,_0x117fdd:0x130,_0x1a94c6:0x2f6},_0x226478={_0x39f372:0xa4},_0x1c9eec={_0x3e38a2:0x647,_0x301d81:0x64a,_0x407f91:0x55c},_0x5f5a7c={_0x35b198:0x6e1};if(!this[_0x43423d(0x680,_0x336149._0x1f58fc)][_0x43423d(_0x336149._0x289d30,0x5e6)])return undefined;const _0x3454a8=this['imageryProvider'],_0x200648=new Cesium__namespace['Cartesian3'](),_0x523afa=_0x3454a8['tilingScheme'][_0x43423d(-_0x336149._0x98cf04,_0x336149._0x31b0d7)];if(_0x523afa instanceof Cesium__namespace['GeographicProjection'])_0x200648['x']=Cesium__namespace['Math'][_0x37fc70(0x19b1,0xf58)](_0x44eaf1),_0x200648['y']=Cesium__namespace[_0x43423d(_0x336149._0x26ac8c,_0x336149._0x292be5)][_0x37fc70(0x755,_0x336149._0x3baf46)](_0x1ae9d4);else{const _0x31739a=new Cesium__namespace['Cartographic']();_0x31739a['longitude']=_0x44eaf1,_0x31739a['latitude']=_0x1ae9d4,_0x523afa[_0x37fc70(_0x336149._0x46207f,0x1142)](_0x31739a,_0x200648);}const _0x17f006=new Cesium__namespace['Cartesian2'](),_0x117c7c=_0x3454a8['tilingScheme']['tileXYToNativeRectangle'](_0x26884e,_0x538fd2,_0xc895c4,new Cesium__namespace[(_0x37fc70(0xc41,_0x336149._0x1e6d01))]());function _0x37fc70(_0x4318fa,_0x3c0a7e){return _0x2b6441(_0x4318fa,_0x3c0a7e-_0x5f5a7c._0x35b198);}_0x17f006['x']=_0x3454a8[_0x37fc70(0x7,0x707)]*(_0x200648['x']-_0x117c7c['west'])/_0x117c7c['width']|0x0,_0x17f006['y']=_0x3454a8[_0x43423d(_0x336149._0x411703,0x145d)]*(_0x117c7c['north']-_0x200648['y'])/_0x117c7c['height']|0x0;const _0x3ad99c={'info_format':_0x43423d(0x1239,0x1252),'version':_0x37fc70(0x1017,0x1a1f),'service':_0x43423d(0x978,0x1007),'request':_0x43423d(0x17d,0x70a),'layers':this[_0x43423d(_0x336149._0x53e72,_0x336149._0x281590)]['layer'],'query_layers':this['options'][_0x37fc70(0xe2a,0xb0a)],'srs':this[_0x43423d(_0x336149._0x235500,0x7fa)]['crs']??(_0x523afa instanceof Cesium__namespace['WebMercatorProjection']?'EPSG:3857':'EPSG:4326'),...this[_0x43423d(0x840,_0x336149._0x281590)][_0x37fc70(0x15b9,_0x336149._0x1bc903)]||{}};_0x3ad99c['bbox']=_0x117c7c[_0x43423d(0xfa0,0x1415)]+','+_0x117c7c['south']+','+_0x117c7c['east']+','+_0x117c7c['north'],_0x3ad99c['width']=_0x3454a8['tileWidth'];function _0x43423d(_0x5b3a1a,_0x50065d){return _0x2b6441(_0x5b3a1a,_0x50065d-0x13e);}_0x3ad99c[_0x43423d(-0x1a7,0x78f)]=_0x3454a8['tileHeight'],_0x3ad99c['x']=_0x17f006['x'],_0x3ad99c['y']=_0x17f006['y'];const _0x2abdae=_0x3ad99c;if(this['options'][_0x37fc70(_0x336149._0x49bdd2,_0x336149._0x44b620)]===_0x37fc70(0x1590,0x1883)){const _0x3453f6=new Cesium__namespace['GetFeatureInfoFormat']('xml','text/xml'),_0x470191={...this['options']};return _0x470191['url']=this['options']['pickFeaturesUrl'],_0x470191['queryParameters']=_0x2abdae,_0x470191[_0x37fc70(_0x336149._0x5d7035,0xc28)]=this['_proxy'],Cesium__namespace['Resource'][_0x43423d(_0x336149._0x410951,0xac1)](_0x470191)['then'](_0x24542d=>{const _0x2d3164={_0x38cb3a:0x193};if(this['isDestroy'])return;function _0x1e9c27(_0x3a03b2,_0x393ab2){return _0x43423d(_0x393ab2,_0x3a03b2-0x459);}const _0x3cfb9c=_0x3453f6['callback'](_0x24542d);function _0x376a2e(_0x593980,_0x25cd25){return _0x43423d(_0x593980,_0x25cd25- -_0x2d3164._0x38cb3a);}for(let _0x387c3d=0x0;_0x387c3d<_0x3cfb9c['length'];_0x387c3d++){const _0x56065d=_0x3cfb9c[_0x387c3d],_0x302979=this[_0x376a2e(_0x1c9eec._0x3e38a2,0xa73)](_0x56065d['data'],'FeatureInfoResponse');if(!_0x302979)continue;const _0x48f0c7=this[_0x376a2e(0x11db,0xa73)](_0x302979,'fields');if(!_0x48f0c7)continue;const _0x240228={},_0x10b964=_0x48f0c7['getAttributeNames']();_0x10b964[_0x376a2e(-0x483,_0x1c9eec._0x301d81)](_0x20fb1d=>{_0x240228[_0x20fb1d]=_0x48f0c7['getAttribute'](_0x20fb1d);}),_0x56065d[_0x376a2e(0x93b,_0x1c9eec._0x407f91)]=_0x240228;}return _0x3cfb9c;});}else{const _0x18a85e={...this[_0x37fc70(_0x336149._0x5c3e11,_0x336149._0x44a7c7)]};return _0x18a85e['url']=this['options'][_0x43423d(0x153d,0x104c)],_0x18a85e[_0x43423d(0x9a4,0x95b)]=_0x2abdae,_0x18a85e[_0x37fc70(_0x336149._0x5602e8,_0x336149._0x1286a5)]=this[_0x43423d(_0x336149._0x17a359,0xd73)],Cesium__namespace[_0x37fc70(_0x336149._0x3cc724,0x15de)]['fetchJson'](_0x18a85e)['then'](_0x1c12ff=>{if(this[_0x267580(_0x2b8b1b._0x1d9849,0x3c6)])return;const _0x330773=[],_0x273cf2=_0x1c12ff['features'];for(let _0x583123=0x0;_0x583123<_0x273cf2[_0x267580(0x14a3,_0x2b8b1b._0x37a6ee)];++_0x583123){const _0x4ddebd=_0x273cf2[_0x583123],_0x42242a=new Cesium__namespace['ImageryLayerFeatureInfo']();_0x42242a[_0x37c9f7(0xc6d,0xeeb)]=_0x4ddebd,_0x42242a[_0x267580(-0x378,0x53f)]=_0x4ddebd[_0x37c9f7(_0x2b8b1b._0x4b3b41,_0x2b8b1b._0xc17d3c)],_0x42242a['configureNameFromProperties'](_0x4ddebd['properties']),_0x42242a[_0x37c9f7(0x1249,_0x2b8b1b._0x50a492)](_0x4ddebd[_0x267580(-0x2bf,_0x2b8b1b._0x1b56a1)]);if(Cesium__namespace[_0x37c9f7(_0x2b8b1b._0x29d8fb,0x12ab)](_0x4ddebd['geometry'])&&_0x4ddebd[_0x267580(0x105,-_0x2b8b1b._0x2af0b6)][_0x37c9f7(_0x2b8b1b._0x18ea75,0x115c)]===_0x267580(_0x2b8b1b._0x302b44,0xef)){const _0x5d2563=_0x4ddebd['geometry']['coordinates'][0x0],_0x1add15=_0x4ddebd['geometry'][_0x267580(_0x2b8b1b._0x117fdd,0x5fe)][0x1];_0x42242a['position']=Cesium__namespace[_0x267580(0x8cd,_0x2b8b1b._0x1a94c6)]['fromDegrees'](_0x5d2563,_0x1add15);}_0x330773['push'](_0x42242a);}function _0x267580(_0x111082,_0x4a71ab){return _0x43423d(_0x111082,_0x4a71ab- -0x1b0);}function _0x37c9f7(_0x4baa0e,_0x119f60){return _0x43423d(_0x4baa0e,_0x119f60- -_0x226478._0x39f372);}return _0x330773;});}}['getMetadata'](){const _0x59f983={_0x24278f:0x5e,_0x4292e0:0x642,_0x4b9f96:0x1cbe,_0x48967a:0xb35,_0x271b36:0xe22},_0x54dd99={_0x358779:0xf7,_0x44dd75:0x881,_0x3deb1d:0x472,_0x1d44f7:0x31b,_0x56daf7:0x89},_0x3d7f22={_0x57fd90:0x277};return new Promise((_0x36ccf4,_0x376136)=>{const _0x1d0980={_0x3c13af:0x3a8};if(this['capabilities']){_0x36ccf4(this['capabilities']);return;}const _0x498488={'version':'1.0.0',...this['options'][_0x4fc087(0x47a,0x861)]};_0x498488['service']='WMTS';function _0x4fc087(_0x3e204f,_0x376309){return _0x5bbe(_0x376309- -_0x1d0980._0x3c13af,_0x3e204f);}_0x498488[_0x2c519c(0x63c,_0x59f983._0x24278f)]=_0x4fc087(0xa0c,0x12b1);function _0x2c519c(_0x2c75df,_0x30228e){return _0x5bbe(_0x2c75df- -_0x3d7f22._0x57fd90,_0x30228e);}const _0x2c86c6=_0x498488,_0x3e512f={...this[_0x4fc087(0x90f,_0x59f983._0x4292e0)]};_0x3e512f[_0x2c519c(0x14ba,_0x59f983._0x4b9f96)]={...this[_0x4fc087(_0x59f983._0x48967a,0x1389)]},_0x3e512f[_0x2c519c(0x8d4,0x5ba)]=_0x2c86c6,_0x3e512f[_0x4fc087(_0x59f983._0x271b36,0x4cd)]=this[_0x4fc087(0xbf9,0xbbb)],_0x3e512f[_0x2c519c(0x14ba,_0x59f983._0x4b9f96)]['s']=this['subdomainItem'],Cesium__namespace['Resource']['fetchXML'](_0x3e512f)['then'](_0x5d49e1=>{if(this['isDestroy'])return;if(_0x5d49e1){this[_0x2cb2a3(_0x54dd99._0x358779,-_0x54dd99._0x44dd75)]=_0x5d49e1;try{this['_initByMetaData'](_0x5d49e1);}catch(_0x248293){logInfo('解析GetCapabilities出错',_0x248293);}}function _0x2cb2a3(_0x55101b,_0x13f3e7){return _0x4fc087(_0x13f3e7,_0x55101b-0x204);}_0x36ccf4(_0x5d49e1);function _0x7bf72(_0x29838d,_0x26ee17){return _0x4fc087(_0x26ee17,_0x29838d-0x47d);}const _0x2d1e15={};_0x2d1e15['capabilities']=_0x5d49e1,this[_0x2cb2a3(_0x54dd99._0x3deb1d,0x469)](EventType[_0x2cb2a3(_0x54dd99._0x1d44f7,_0x54dd99._0x56daf7)],_0x2d1e15);})['catch'](_0x1ba277=>{function _0x46ea80(_0x51722e,_0x174e9b){return _0x4fc087(_0x174e9b,_0x51722e-0xcb);}logInfo(_0x46ea80(0xd6a,0x12fb),_0x1ba277),_0x36ccf4(_0x1ba277);});});}['_initByMetaData'](_0x469cc9){const _0x1b8c8d={_0x104314:0x141b,_0x4fff67:0x145f,_0x464726:0xd19,_0x344042:0xd7f,_0x599711:0x780,_0x5d52e3:0xb6c,_0x4dab45:0x168a,_0x51b44b:0x190f,_0x324783:0x12e3,_0x9f2793:0xd7f,_0x497e81:0x676,_0xb29424:0x1c5,_0x4c0890:0x1051,_0x1c85d7:0x5b5,_0x12095f:0xd2d,_0x366bd6:0xcd5,_0x332773:0xa7d,_0x175feb:0x28,_0x1b3979:0xe90,_0x7991be:0x100c,_0x4f07f3:0xef4,_0x2e9238:0x666,_0x3c7337:0xc62},_0x2df274={_0x341740:0x122},_0x23d085=this['_readChildNode'](_0x469cc9,'Contents');if(!_0x23d085)return;function _0x585c24(_0x369b80,_0x44cd09){return _0x306755(_0x44cd09,_0x369b80-_0x2df274._0x341740);}const _0x589ad2=this['_readNode'](_0x23d085,'Layer');if(!_0x589ad2)return;function _0x5c5784(_0x31abb3,_0x53d535){return _0x2b6441(_0x53d535,_0x31abb3-0x3c1);}let _0x2b1c38;for(let _0x571bec=0x0,_0x882347=_0x589ad2[_0x5c5784(_0x1b8c8d._0x104314,_0x1b8c8d._0x4fff67)];_0x571bec<_0x882347;_0x571bec++){const _0x2cfcc3=_0x589ad2[_0x571bec],_0x1f37bf=this[_0x5c5784(0x5b5,-0x4f9)](_0x2cfcc3,_0x5c5784(0x160d,_0x1b8c8d._0x464726));if(_0x1f37bf===this['options']['layer']){_0x2b1c38=_0x2cfcc3;break;}}if(!_0x2b1c38){let _0x2c21e7=this[_0x585c24(_0x1b8c8d._0x344042,_0x1b8c8d._0x599711)]['layer'];_0x2c21e7[_0x585c24(0x5fc,_0x1b8c8d._0x5d52e3)](':')!==-0x1&&(_0x2c21e7=_0x2c21e7['substr'](_0x2c21e7['indexOf'](':')+0x1));for(let _0x35c57a=0x0,_0x320811=_0x589ad2[_0x5c5784(_0x1b8c8d._0x104314,_0x1b8c8d._0x4dab45)];_0x35c57a<_0x320811;_0x35c57a++){const _0x33cb04=_0x589ad2[_0x35c57a],_0x23f195=this['_readChildNodeVal'](_0x33cb04,_0x585c24(_0x1b8c8d._0x51b44b,_0x1b8c8d._0x324783));if(_0x23f195===_0x2c21e7){_0x2b1c38=_0x33cb04;break;}}}if(_0x2b1c38){const _0x215f81=this['_readChildNode'](_0x2b1c38,'ows:WGS84BoundingBox');if(!this['options']['rectangle']&&_0x215f81){let _0x314090=this['_readChildNodeVal'](_0x215f81,'ows:LowerCorner'),_0x50aa02=this['_readChildNodeVal'](_0x215f81,'ows:UpperCorner');if(_0x314090&&_0x50aa02){_0x314090=_0x314090['split']('\x20'),_0x50aa02=_0x50aa02['split']('\x20');const _0x1373e3=Number(_0x314090[0x0]),_0x3f1d59=Number(_0x50aa02[0x0]),_0x3022d8=Number(_0x314090[0x1]),_0x2dfe09=Number(_0x50aa02[0x1]);this['_setExtent'](_0x1373e3,_0x3022d8,_0x3f1d59,_0x2dfe09);}}!Cesium__namespace['defined'](this[_0x585c24(_0x1b8c8d._0x9f2793,0xfe9)][_0x5c5784(_0x1b8c8d._0x497e81,_0x1b8c8d._0xb29424)])&&(this['options'][_0x585c24(0x978,_0x1b8c8d._0x4c0890)]=this[_0x5c5784(_0x1b8c8d._0x1c85d7,0xd6)](this['_readChildNode'](_0x2b1c38,'Style'),_0x5c5784(0x160d,_0x1b8c8d._0x12095f)));const _0x307d45=_0x2b1c38[_0x5c5784(_0x1b8c8d._0x366bd6,0xd6e)]('TileMatrixSetLink');for(let _0x29f97c=0x0,_0x4e4c41=_0x307d45['length'];_0x29f97c<_0x4e4c41;_0x29f97c++){const _0x3d4ebd=_0x307d45[_0x29f97c],_0x4dd5a1=this[_0x585c24(0x8b7,0x10b3)](_0x3d4ebd,'TileMatrixSet');!Cesium__namespace[_0x5c5784(0x15d2,0x1296)](this[_0x5c5784(_0x1b8c8d._0x332773,0xb5)]['tileMatrixSetID'])&&(this['options']['tileMatrixSetID']=_0x4dd5a1);if(_0x4dd5a1===this['options']['tileMatrixSetID']){if(!this['options'][_0x585c24(0x666,_0x1b8c8d._0x175feb)]){const _0x3038d2=this[_0x585c24(0x118b,0xae2)](_0x3d4ebd,'TileMatrixSetLimits');if(_0x3038d2){const _0x28ad77=_0x3038d2['getElementsByTagName']('TileMatrixLimits'),_0x3880f0=[];for(let _0x496e39=0x0,_0x43b3d0=_0x28ad77['length'];_0x496e39<_0x43b3d0;_0x496e39++){const _0x10e920=this[_0x5c5784(0x5b5,_0x1b8c8d._0x1b3979)](_0x28ad77[_0x496e39],_0x585c24(_0x1b8c8d._0x7991be,0x77a));_0x3880f0['push'](_0x10e920);}this[_0x585c24(0xd7f,_0x1b8c8d._0x4f07f3)][_0x585c24(_0x1b8c8d._0x2e9238,_0x1b8c8d._0x3c7337)]=_0x3880f0;}}break;}}}}['_readNode'](_0x3fc80f,_0x57c776){const _0x39a01a={_0x9b8a0:0x1380},_0x298284={_0x3b597f:0x326};function _0x329da3(_0x56b152,_0x56ab7c){return _0x2b6441(_0x56ab7c,_0x56b152-_0x298284._0x3b597f);}if(!_0x3fc80f)return null;let _0x542414=_0x3fc80f['getElementsByTagName'](_0x57c776);return(!_0x542414||_0x542414[_0x329da3(_0x39a01a._0x9b8a0,0x19b1)]===0x0)&&(_0x542414=_0x3fc80f['getElementsByTagName']('wmts:'+_0x57c776)),_0x542414;}['_readChildNode'](_0x7d49a6,_0x126346){const _0x4ab279={_0x13c78b:0x650},_0x3ecb1d={_0x1955a1:0x2a3};if(!_0x7d49a6)return null;const _0x5a5d9f=this[_0x4b9046(-_0x4ab279._0x13c78b,0x1fa)](_0x7d49a6,_0x126346);function _0x4b9046(_0xc982bf,_0x11efc8){return _0x2b6441(_0xc982bf,_0x11efc8-_0x3ecb1d._0x1955a1);}return _0x5a5d9f['length']>0x0?_0x5a5d9f[0x0]:null;}[_0x2b6441(0x97c,0x1f4)](_0x4f0cab,_0x57eeec){const _0x1550f9={_0x175878:0xc9,_0x16b325:0x1b23,_0x5710f1:0x639,_0x2562cf:0xaf8},_0x3b6cfe={_0x3c9008:0x6f8};var _0x2cc72d,_0x4875a4;if(!_0x4f0cab)return null;let _0x25e363=this['_readChildNode'](_0x4f0cab,_0x57eeec);function _0x3dcf92(_0x3dafc7,_0x448b9b){return _0x2b6441(_0x448b9b,_0x3dafc7-_0x3b6cfe._0x3c9008);}!_0x25e363&&(_0x25e363=this[_0x30ed04(0xb20,_0x1550f9._0x175878)](_0x4f0cab,'wmts:'+_0x57eeec));function _0x30ed04(_0x2627c7,_0x39364a){return _0x2b6441(_0x39364a,_0x2627c7-0x58);}if((_0x2cc72d=_0x25e363)!==null&&_0x2cc72d!==void 0x0&&_0x2cc72d['innerHTML'])return _0x25e363[_0x30ed04(0x1349,_0x1550f9._0x16b325)];else return(_0x4875a4=_0x25e363)!==null&&_0x4875a4!==void 0x0&&_0x4875a4[_0x30ed04(_0x1550f9._0x5710f1,_0x1550f9._0x2562cf)]?_0x25e363['getInnerHTML']():null;}}async function createImageryProvider$3(_0x340a78){const _0xe0e69b={_0x1fc09b:0xa3f,_0x544d63:0xbb7,_0x268c22:0x264},_0x2e7a8f={_0x34bca0:0x1a4};_0x340a78=converOptions(_0x340a78);_0x340a78['tileMatrixSet']&&!_0x340a78['tileMatrixSetID']&&(_0x340a78['tileMatrixSetID']=_0x340a78['tileMatrixSet']);_0x340a78['tileMatrixBefore']&&!_0x340a78[_0x23503b(-0x6a2,0x14)]&&(_0x340a78['tileMatrixLabels']=[...Array(0x15)[_0x23503b(_0xe0e69b._0x1fc09b,_0xe0e69b._0x544d63)]()]['map'](_0x4e9ec9=>_0x340a78['tileMatrixBefore']+_0x4e9ec9));_0x340a78['crs']===CRS['EPSG4490']&&(_0x340a78[_0x2da1c4(0x3e,0x147)]=[...Array(0x15)[_0x23503b(0xe55,0xbb7)]()][_0x23503b(0x7b5,_0xe0e69b._0x268c22)](_0x2fad75=>(_0x2fad75+0x1)['toString']()));function _0x23503b(_0x405962,_0x48ccab){return _0x2b6441(_0x405962,_0x48ccab-0x71);}function _0x2da1c4(_0x5b909c,_0x16ad95){return _0x2b6441(_0x5b909c,_0x16ad95-_0x2e7a8f._0x34bca0);}return new Cesium__namespace['WebMapTileServiceImageryProvider'](_0x340a78);}WmtsLayer[_0x306755(0x1c19,0x15e3)]=createImageryProvider$3;const layerType$4='wmts';register$3(layerType$4,WmtsLayer),registerImageryProvider(layerType$4,createImageryProvider$3);class XyzLayer extends BaseTileLayer{async['_createImageryProvider'](_0x7b5671){return await createImageryProvider$2(_0x7b5671);}}async function createImageryProvider$2(_0x4ceaad){const _0x80f311={_0x452d81:0x10a1};_0x4ceaad=converOptions(_0x4ceaad);function _0x26fde8(_0x42f054,_0x5a6215){return _0x306755(_0x42f054,_0x5a6215- -0xab);}if(Cesium__namespace[_0x3a12c2(0x19c3,0x16fa)](_0x4ceaad[_0x26fde8(0xffb,_0x80f311._0x452d81)]))return await Cesium__namespace['IonImageryProvider']['fromAssetId'](_0x4ceaad['assetId'],{'accessToken':_0x4ceaad[_0x26fde8(0x0,0xa26)]??_0x4ceaad['accessToken'],'server':_0x4ceaad['ionServer']});function _0x3a12c2(_0x2f09f8,_0x110924){return _0x2b6441(_0x2f09f8,_0x110924-0x4e9);}return _0x4ceaad[_0x26fde8(0x8d8,0x4e7)]===ChinaCRS['BAIDU']?new BaiduImageryProvider(_0x4ceaad):new XyzImageryProvider(_0x4ceaad);}XyzLayer[_0x2b6441(0xdea,0x1042)]=createImageryProvider$2;const layerType$3='xyz';register$3(layerType$3,XyzLayer),registerImageryProvider(layerType$3,createImageryProvider$2);class GridLayer extends BaseTileLayer{async['_createImageryProvider'](_0x24ae5){return await createImageryProvider$1(_0x24ae5);}}async function createImageryProvider$1(_0x57ac4a){const _0x590acb={_0x3d2414:0x8de,_0x588537:0x1507,_0xcc62ff:0x1292,_0x432734:0x877};_0x57ac4a[_0x1f3ab0(0x1707,0x18b0)]=_0x57ac4a['cells']??0x2,_0x57ac4a[_0x4e58c3(0x877,0x8b0)]=Cesium__namespace['Color']['fromCssColorString'](_0x57ac4a[_0x1f3ab0(0xd9a,_0x590acb._0x3d2414)]??'rgba(255,255,255,1)'),_0x57ac4a[_0x1f3ab0(_0x590acb._0x588537,0x1606)]=_0x57ac4a['glowWidth']??0x3;function _0x4e58c3(_0x1116fe,_0x29e394){return _0x306755(_0x29e394,_0x1116fe- -0x638);}_0x57ac4a['glowColor']?_0x57ac4a['glowColor']=Cesium__namespace['Color'][_0x4e58c3(_0x590acb._0xcc62ff,0x150a)](_0x57ac4a[_0x1f3ab0(0xfc8,0x16ea)]):_0x57ac4a['glowColor']=_0x57ac4a[_0x4e58c3(_0x590acb._0x432734,0x652)]['withAlpha'](0.3);function _0x1f3ab0(_0x259c06,_0x1eb738){return _0x306755(_0x1eb738,_0x259c06- -0x115);}return _0x57ac4a['backgroundColor']=Cesium__namespace[_0x4e58c3(0x8fc,-0x2e)]['fromCssColorString'](_0x57ac4a['backgroundColor']??'rgba(0,0,0,0)'),_0x57ac4a=converOptions(_0x57ac4a),new Cesium__namespace['GridImageryProvider'](_0x57ac4a);}GridLayer['createImageryProvider']=createImageryProvider$1;const layerType$2=_0x306755(0x2f5,0x70f);register$3(layerType$2,GridLayer),registerImageryProvider(layerType$2,createImageryProvider$1);class TileInfoLayer extends BaseTileLayer{async[_0x306755(0x12fb,0xb69)](_0x575a3b){return await createImageryProvider(_0x575a3b);}}async function createImageryProvider(_0x237f24){const _0x2cb605={_0x38eb30:0x1a0b,_0x13ba88:0xf38},_0x44f701={_0x21cc34:0x141};function _0x3e73fb(_0x11d13e,_0x48158b){return _0x306755(_0x48158b,_0x11d13e-_0x44f701._0x21cc34);}function _0x1118ce(_0x2ae091,_0x47bc17){return _0x2b6441(_0x2ae091,_0x47bc17-0x62a);}return _0x237f24['color']=Cesium__namespace['Color'][_0x3e73fb(_0x2cb605._0x38eb30,0x1911)](_0x237f24[_0x1118ce(0x1423,_0x2cb605._0x13ba88)]||'rgba(255,0,0,1)'),_0x237f24=converOptions(_0x237f24),new Cesium__namespace['TileCoordinatesImageryProvider'](_0x237f24);}TileInfoLayer[_0x2b6441(0x10ec,0x1042)]=createImageryProvider;const layerType$1=_0x2b6441(0x48d,0xc7d);register$3(layerType$1,TileInfoLayer),registerImageryProvider(layerType$1,createImageryProvider);class EmptyTileLayer extends BaseTileLayer{constructor(_0x2ffa86={}){const _0x5256a6={_0xb98082:0xff7};super(_0x2ffa86),this[_0x118e3f(0x16d6,_0x5256a6._0xb98082)]=_0x2ffa86['minimumLevel']??0x0;function _0x118e3f(_0xc13f1,_0x955234){return _0x306755(_0x955234,_0xc13f1- -0x5d);}this['_maximumLevel']=_0x2ffa86['maximumLevel'];}async[_0x2b6441(0xbab,0x5c8)](_0x5251ba){return _0x5251ba=converOptions(_0x5251ba),_0x5251ba['minimumTerrainLevel']=this['_minimumLevel'],_0x5251ba['maximumTerrainLevel']=this['_maximumLevel'],new EmptyImageryProvider(_0x5251ba);}['_setOptionsHook'](_0x262c61,_0x4a0249){const _0x3784a6={_0x517098:0x11};this['_minimumLevel']=this['options']['minimumLevel']??0x0,this['_maximumLevel']=this['options']['maximumLevel'];function _0x2eed36(_0x1a4816,_0x4740d3){return _0x2b6441(_0x1a4816,_0x4740d3-0x582);}this['options']['minimumTerrainLevel']=this['_minimumLevel'];function _0x2d81b8(_0x5d665c,_0x455589){return _0x306755(_0x5d665c,_0x455589- -_0x3784a6._0x517098);}this['options'][_0x2eed36(-0x6e,0x497)]=this[_0x2d81b8(0xf1f,0x19f2)],super[_0x2d81b8(0x195c,0x18c0)](_0x262c61,_0x4a0249);}['isInRange'](_0x260653){const _0x59b220={_0x21bb90:0xdc5};function _0x245680(_0x35c8b0,_0x4dc226){return _0x2b6441(_0x4dc226,_0x35c8b0-0x29d);}return _0x260653<this[_0x245680(0x142f,_0x59b220._0x21bb90)]||Cesium__namespace['defined'](this['_maximumLevel'])&&_0x260653>=this['_maximumLevel']?![]:!![];}['isAllOutRange'](_0xcda27b){const _0xc7f317=this['_map']['level'];return _0xc7f317<this['_minimumLevel']||Cesium__namespace['defined'](this['_maximumLevel'])&&_0xcda27b>=this['_maximumLevel'];}}const layerType=_0x306755(0x5ea,0x89d);register$3(layerType,EmptyTileLayer);function config2Entity(_0x45d3b3,_0x2ac313,_0x5a7485){for(let _0x515277=_0x45d3b3['length']-0x1;_0x515277>=0x0;_0x515277--){const _0x21cd1c=_0x45d3b3[_0x515277],_0x44e406=_0x2ac313['symbol'];_0x44e406&&(typeof _0x44e406===_0xc33702(-0xe6,0x5ae)?_0x44e406(_0x21cd1c,_0x21cd1c['_attr']):setConfigSymbol(_0x21cd1c,_0x2ac313,_0x5a7485));}function _0xc33702(_0x4571d7,_0x16e8d0){return _0x2b6441(_0x4571d7,_0x16e8d0- -0xb6);}return _0x45d3b3;}function getStyleBySymbolConfig(_0x434518,_0x396c88,_0x12d777){const _0x5984ae={_0x18f6d1:0x10b2},_0x574959={_0x41ed37:0x7f};function _0x83cf62(_0x107235,_0x3dbe6e){return _0x306755(_0x3dbe6e,_0x107235-_0x574959._0x41ed37);}let _0x32bad3=_0x434518[_0x83cf62(_0x5984ae._0x18f6d1,0x75f)];function _0x36d8e0(_0x5169b9,_0x459cb8){return _0x306755(_0x459cb8,_0x5169b9-0x48);}if(_0x434518[_0x83cf62(0x17ce,0x1ced)]&&_0x396c88){const _0x37a57c=_0x396c88[_0x434518['styleField']],_0x50ff9d=_0x434518['styleFieldOptions'][_0x37a57c];_0x50ff9d!=null&&(_0x32bad3=clone(_0x32bad3),_0x32bad3={..._0x32bad3,..._0x50ff9d});}if(typeof _0x434518[_0x83cf62(0x65b,0x10ae)]===_0x83cf62(0xc84,0x7c5)){_0x32bad3=clone(_0x32bad3);const _0x5182a5=_0x434518['callback'](_0x396c88,_0x12d777,_0x32bad3);_0x5182a5&&(_0x32bad3={..._0x32bad3,..._0x5182a5});}return _0x32bad3=_0x32bad3||{},_0x32bad3;}function setConfigSymbol(_0x54a518,_0xebd05e,_0x5c13d7){const _0x20eb4c={_0x162a81:0x136e,_0x8125a3:0x1308,_0x25f2d2:0xbdc,_0x405da0:0x122d,_0x517eec:0x19ea,_0x518c6b:0xe3a,_0x2eae9a:0xe6a,_0x56c98a:0x41c,_0x1d56c7:0x130f,_0x3d0f5d:0x882,_0xf840bd:0x108a,_0x4400ea:0x120e,_0xe78897:0x882,_0x4b8d77:0x11ab,_0x46ef20:0x1414,_0x338969:0x1892,_0x22e1c5:0x688,_0xc0732:0xf3f,_0x271084:0x10fa,_0x392795:0x663,_0x8e1d09:0x1b46,_0x40bbef:0x14e2,_0x28e533:0xb91,_0x2d2883:0xaeb,_0x444114:0x1122,_0xcaedd8:0x1063,_0xa55506:0xb2b,_0x521ec5:0x13b8,_0x66420a:0x983,_0x45ddee:0xce0,_0x28b4af:0x116f,_0x5e603b:0xc31,_0x48f602:0xe55,_0x372efe:0x15fb,_0x42ccd5:0x131e,_0x3701a2:0x1692,_0xe3259:0x1758,_0x165f09:0xfb7,_0x110ce5:0x196b,_0xc3d067:0x1d81,_0x57e1c3:0x1880,_0x3c2027:0x18e9,_0x37a590:0x172a,_0x40d94d:0x1164,_0x1f2581:0x852},_0x8cb6dd={_0x5ead6f:0x6b9},_0x1ed0d3={_0x32991f:0xc92,_0x21b194:0x16f3,_0x2eb160:0x1ac7},_0x49a7ab={_0x5bc026:0x54,_0x5c1d70:0xae2},_0xb5a5bb={_0x4c46a7:0x6f4},_0x53c154={_0x337b97:0x5b8},_0x32192a=_0x54a518[_0x2a81eb(_0x20eb4c._0x162a81,0xd6c)];function _0x2a81eb(_0x4a7b5d,_0x2f1a1e){return _0x2b6441(_0x4a7b5d,_0x2f1a1e-_0x53c154._0x337b97);}const _0xc2cb4f=_0x54a518['entityCollection'],_0x302b4e=getStyleBySymbolConfig(_0xebd05e[_0x2a81eb(_0x20eb4c._0x8125a3,_0x20eb4c._0x25f2d2)],_0x32192a,_0x54a518);function _0x19a849(_0x3e1ac9,_0x5abae7,_0x2d28b8){if(_0x5abae7['text']==='')return null;Cesium__namespace['defined'](_0x5abae7['height'])&&(_0x3e1ac9=setPositionsHeight(_0x3e1ac9,_0x5abae7[_0x1cf1c2(0x616,_0x49a7ab._0x5bc026)]));const _0x3b279a={};_0x3b279a['position']=_0x3e1ac9,_0x3b279a['label']=_0x5abae7,_0x3b279a[_0x34b3b0(0x65a,0xb09)]=_0x2d28b8;function _0x34b3b0(_0x348dee,_0x4f8a0a){return _0x2a81eb(_0x348dee,_0x4f8a0a- -0x263);}const _0x155201=_0xc2cb4f[_0x34b3b0(0x136d,_0x49a7ab._0x5c1d70)](_0x3b279a);function _0x1cf1c2(_0x1ad6f0,_0x51cd1c){return _0x10d252(_0x1ad6f0- -_0xb5a5bb._0x4c46a7,_0x51cd1c);}return _0x155201;}_0x5c13d7=_0x5c13d7||_0x19a849;if(_0x54a518['polyline']){PolylineStyleConver[_0x2a81eb(0xad5,0x1063)](_0x302b4e,_0x54a518['polyline'],!![]);if(_0x302b4e['corridor']){const _0x3e46ba={'color':_0x302b4e[_0x2a81eb(0x12f2,0xec6)],'opacity':_0x302b4e['opacity'],..._0x302b4e['corridor']},_0x1a0c6c=_0x3e46ba;isString(_0x302b4e[_0x2a81eb(0x17bc,0x1625)][_0x10d252(0xd03,0x1446)])&&(_0x1a0c6c[_0x2a81eb(_0x20eb4c._0x405da0,0xc02)]=template(_0x302b4e[_0x2a81eb(0xba2,0x1625)]['width'],_0x32192a));if(_0x54a518['_corridorEx'])CorridorStyleConver['toCesiumVal'](_0x1a0c6c,_0x54a518['_corridorEx']['corridor'],!![]);else{const _0x1334a2=CorridorStyleConver['toCesiumVal'](_0x1a0c6c,{},!![]),_0x396c0b=getCesiumValue(_0x54a518['polyline']['positions']);_0x54a518[_0x10d252(0xbec,0x13e1)]=_0x396c0b,_0x1334a2['positions']=_0x396c0b;const _0x467ec0={};_0x467ec0[_0x10d252(0x1726,0x13bb)]=_0x1334a2,_0x467ec0['_attr']=_0x32192a;const _0x172ecf=_0xc2cb4f['add'](_0x467ec0);_0x172ecf[_0x10d252(_0x20eb4c._0x517eec,0x223a)]=_0xebd05e['id'],_0x54a518[_0x2a81eb(_0x20eb4c._0x518c6b,0x1587)]=_0x172ecf;}}if(_0x302b4e[_0x2a81eb(0xd69,0x882)]&&_0x302b4e['label']['text']){if(_0x54a518['_labelEx'])LabelStyleConver['toCesiumVal'](_0x302b4e['label'],_0x54a518[_0x2a81eb(_0x20eb4c._0x2eae9a,0x13b8)][_0x2a81eb(_0x20eb4c._0x56c98a,0x882)],_0x32192a);else{const _0x49d0c2=getCesiumValue(_0x54a518[_0x2a81eb(0xfc6,0x14e2)]['positions']);let _0x43382b=_0x49d0c2[Math['floor'](_0x49d0c2['length']/0x2)];if(_0x302b4e['label']['position']){if(_0x302b4e[_0x2a81eb(0x7b5,0x882)][_0x10d252(_0x20eb4c._0x1d56c7,0x9f9)]==='center')_0x43382b=centerOfMass(_0x49d0c2,_0x302b4e[_0x2a81eb(0x6f3,_0x20eb4c._0x3d0f5d)][_0x2a81eb(0xec1,0xc09)]);else isNumber(_0x302b4e[_0x10d252(0x983,_0x20eb4c._0xf840bd)][_0x2a81eb(0x1a65,_0x20eb4c._0x4400ea)])&&(_0x43382b=_0x49d0c2[_0x302b4e[_0x2a81eb(0x10d2,_0x20eb4c._0xe78897)][_0x10d252(0x130f,_0x20eb4c._0x4b8d77)]]);}const _0x4d0c5e=LabelStyleConver['toCesiumVal'](_0x302b4e[_0x10d252(0x983,_0x20eb4c._0x46ef20)],{},_0x32192a);_0x4d0c5e['heightReference']=_0x4d0c5e['heightReference']??Cesium__namespace['HeightReference']['CLAMP_TO_GROUND'];const _0x248ec6=_0x5c13d7(_0x43382b,_0x4d0c5e,_0x32192a);_0x248ec6&&(_0x248ec6['_mars3d_layerId']=_0xebd05e['id']),_0x54a518['_labelEx']=_0x248ec6;}}}if(_0x54a518['polygon']){var _0x1553db;PolygonStyleConver[_0x10d252(0x1164,_0x20eb4c._0x338969)](_0x302b4e,_0x54a518[_0x10d252(0x1040,0xc64)],!![]);if(_0x302b4e['outline']&&(_0x302b4e['outlineWidth']>0x1||((_0x1553db=_0x302b4e['outlineStyle'])===null||_0x1553db===void 0x0?void 0x0:_0x1553db['width'])>0x1)){_0x54a518[_0x2a81eb(_0x20eb4c._0x22e1c5,_0x20eb4c._0xc0732)]['outline']=![];const _0x217588={..._0x302b4e,'outline':![],'color':_0x302b4e[_0x2a81eb(_0x20eb4c._0x271084,0xdb2)],'width':_0x302b4e['outlineWidth'],'opacity':_0x302b4e['outlineOpacity'],..._0x302b4e['outlineStyle']},_0x1ea6bc=_0x217588;if(_0x54a518['_outlineEx'])for(let _0xe26c1a=0x0,_0x45dabd=_0x54a518[_0x2a81eb(0x10f4,_0x20eb4c._0x392795)]['length'];_0xe26c1a<_0x45dabd;_0xe26c1a++){PolylineStyleConver[_0x10d252(0x1164,_0x20eb4c._0x8e1d09)](_0x1ea6bc,_0x54a518['_outlineEx'][_0xe26c1a][_0x2a81eb(0x1728,_0x20eb4c._0x40bbef)],!![]);}else{const _0x1adf55=getAllPositions(_0x54a518);_0x54a518[_0x2a81eb(_0x20eb4c._0x28e533,_0x20eb4c._0x2d2883)]=_0x1adf55[0x0],_0x54a518['_outlineEx']=[];for(let _0x5b8b2f=0x0,_0x5ad093=_0x1adf55['length'];_0x5b8b2f<_0x5ad093;_0x5b8b2f++){const _0x16dc3c=PolylineStyleConver[_0x2a81eb(_0x20eb4c._0x444114,_0x20eb4c._0xcaedd8)](_0x1ea6bc,{},!![]);_0x16dc3c['positions']=_0x1adf55[_0x5b8b2f];const _0x2782b7={};_0x2782b7['polyline']=_0x16dc3c,_0x2782b7[_0x2a81eb(0x1561,0xd6c)]=_0x32192a;const _0xf04b3=_0xc2cb4f['add'](_0x2782b7);_0xf04b3['_mars3d_layerId']=_0xebd05e['id'],_0x54a518[_0x2a81eb(0x109e,0x663)][_0x2a81eb(_0x20eb4c._0xa55506,0x6b0)](_0xf04b3);}}}if(_0x302b4e['label']&&_0x302b4e['label']['text']){if(_0x54a518['_labelEx'])LabelStyleConver['toCesiumVal'](_0x302b4e[_0x2a81eb(0x947,0x882)],_0x54a518[_0x2a81eb(0x1c27,_0x20eb4c._0x521ec5)][_0x10d252(_0x20eb4c._0x66420a,0x919)],_0x32192a);else{const _0x100f0f=centerOfMass(getPositions(_0x54a518),_0x302b4e['label']['height']),_0x19c323=LabelStyleConver[_0x10d252(0x1164,_0x20eb4c._0x45ddee)](_0x302b4e['label'],{},_0x32192a);_0x19c323['heightReference']=_0x19c323[_0x10d252(0xd32,0xe3d)]??Cesium__namespace[_0x10d252(0x1793,0xf0d)]['CLAMP_TO_GROUND'];const _0x4404f9=_0x5c13d7(_0x100f0f,_0x19c323,_0x32192a);_0x4404f9&&(_0x4404f9['_mars3d_layerId']=_0xebd05e['id']),_0x54a518['_labelEx']=_0x4404f9;}}}_0x54a518['label']?(_0x302b4e['label']=_0x302b4e['label']||_0x302b4e||{},!Cesium__namespace[_0x10d252(0x18ca,_0x20eb4c._0x28b4af)](_0x302b4e['label']['clampToGround'])&&!Cesium__namespace['defined'](_0x302b4e['label']['heightReference'])&&(_0x302b4e['label'][_0x2a81eb(0x1392,_0x20eb4c._0x5e603b)]=_0x302b4e[_0x2a81eb(0x1050,0x882)]['heightReference']??Cesium__namespace[_0x10d252(0x1793,_0x20eb4c._0x48f602)][_0x10d252(0xccb,0x1567)]),LabelStyleConver[_0x2a81eb(_0x20eb4c._0x372efe,_0x20eb4c._0xcaedd8)](_0x302b4e[_0x10d252(0x983,0x20b)],_0x54a518['label'],_0x32192a)):_0x302b4e[_0x2a81eb(-0x84,0x882)]&&typeof _0x302b4e['label']==='function'&&_0x302b4e[_0x2a81eb(0xc45,0x882)](_0x54a518,_0x32192a,function(_0xbc8d40,_0x4256be){function _0x5e64c8(_0x386ae8,_0x3fac07){return _0x2a81eb(_0x386ae8,_0x3fac07-0x61);}const _0x5877b9=LabelStyleConver['toCesiumVal'](_0x4256be,{},_0x32192a);function _0x475079(_0x3d3c3b,_0x10613b){return _0x10d252(_0x10613b- -0x27b,_0x3d3c3b);}_0x5877b9[_0x475079(0x844,0xab7)]=(_0x5877b9[_0x5e64c8(0x113c,_0x1ed0d3._0x32991f)],Cesium__namespace[_0x5e64c8(0x161c,_0x1ed0d3._0x21b194)]['CLAMP_TO_GROUND']);const _0x3ec166=_0x5c13d7(_0xbc8d40,_0x5877b9,_0x32192a);_0x3ec166&&(_0x3ec166[_0x5e64c8(_0x1ed0d3._0x2eb160,0x194a)]=_0xebd05e['id']);});function _0x10d252(_0x476d54,_0x29d9c0){return _0x2b6441(_0x29d9c0,_0x476d54-_0x8cb6dd._0x5ead6f);}if(_0x54a518['billboard']){!Cesium__namespace['defined'](_0x302b4e['clampToGround'])&&!Cesium__namespace['defined'](_0x302b4e['heightReference'])&&(_0x302b4e['heightReference']=_0x302b4e[_0x2a81eb(_0x20eb4c._0x42ccd5,0xc31)]??Cesium__namespace[_0x2a81eb(0x19a1,_0x20eb4c._0x3701a2)]['CLAMP_TO_GROUND']);_0x302b4e['image']=template(_0x302b4e['image'],_0x32192a),BillboardStyleConver['toCesiumVal'](_0x302b4e,_0x54a518[_0x2a81eb(0x1683,_0x20eb4c._0xe3259)],!![]);if(_0x302b4e['model']){if(_0x54a518[_0x2a81eb(_0x20eb4c._0x165f09,0x8a4)])ModelStyleConver['toCesiumVal'](_0x302b4e['model'],_0x54a518['_modelEx']['model'],!![]);else{const _0x37b6f6=ModelStyleConver['toCesiumVal'](_0x302b4e['model'],!![]);_0x37b6f6[_0x2a81eb(0x52a,0xc31)]=(_0x37b6f6[_0x2a81eb(0x4b4,0xc31)],Cesium__namespace['HeightReference'][_0x2a81eb(0x3ea,0xbca)]);const _0x1b99b1={};_0x1b99b1[_0x10d252(0x130f,0x15ab)]=_0x54a518[_0x10d252(_0x20eb4c._0x1d56c7,0x137b)],_0x1b99b1[_0x2a81eb(0x1370,_0x20eb4c._0x110ce5)]=_0x37b6f6,_0x1b99b1['_attr']=_0x32192a;const _0x2b026e=_0xc2cb4f['add'](_0x1b99b1);_0x2b026e['_mars3d_layerId']=_0xebd05e['id'],_0x54a518['_modelEx']=_0x2b026e;}}if(_0x302b4e[_0x2a81eb(_0x20eb4c._0xc3d067,_0x20eb4c._0x57e1c3)]){if(_0x54a518['_pointEx'])PointStyleConver['toCesiumVal'](_0x302b4e['point'],_0x54a518[_0x10d252(0x1ace,0x214f)]['point'],!![]);else{const _0x4a0dd7=PointStyleConver['toCesiumVal'](_0x302b4e['point'],{},!![]);_0x4a0dd7['heightReference']=_0x4a0dd7[_0x2a81eb(0xe98,0xc31)]??Cesium__namespace[_0x2a81eb(_0x20eb4c._0x3c2027,0x1692)]['CLAMP_TO_GROUND'];const _0x2b3fc6={};_0x2b3fc6['position']=_0x54a518['position'],_0x2b3fc6['point']=_0x4a0dd7,_0x2b3fc6['_attr']=_0x32192a;const _0xa9b4a4=_0xc2cb4f['add'](_0x2b3fc6);_0xa9b4a4[_0x2a81eb(0x1bae,0x18e9)]=_0xebd05e['id'],_0x54a518['_pointEx']=_0xa9b4a4;}}if(_0x302b4e['label']&&_0x302b4e['label']['text']&&!_0x54a518['label']){if(_0x54a518[_0x2a81eb(_0x20eb4c._0x37a590,0x13b8)])LabelStyleConver['toCesiumVal'](_0x302b4e[_0x10d252(0x983,0x42e)],_0x54a518['_labelEx']['label'],_0x32192a);else{const _0x1d9c83=_0x54a518['position'],_0x1b5884=LabelStyleConver[_0x10d252(_0x20eb4c._0x40d94d,_0x20eb4c._0x1f2581)](_0x302b4e['label'],{},_0x32192a);_0x1b5884['heightReference']=_0x1b5884['heightReference']??Cesium__namespace['HeightReference'][_0x10d252(0xccb,0x124a)];const _0x5f0157=_0x5c13d7(_0x1d9c83,_0x1b5884,_0x32192a);_0x5f0157&&(_0x5f0157['_mars3d_layerId']=_0xebd05e['id']),_0x54a518['_labelEx']=_0x5f0157;}}}_0x54a518['styleOpt']=_0x302b4e;}class CzmGeoJsonLayer extends BaseGraphicLayer{constructor(_0x53f7e1={}){super(_0x53f7e1),this['_setOptionsHook'](_0x53f7e1,_0x53f7e1);}get['layer'](){return this['_dataSource'];}get[_0x306755(0x12bf,0xc68)](){const _0x4185ba={_0x523bfe:0xdc1},_0xce28c7={_0x9c0dd8:0x614};function _0x4ad66e(_0x28c291,_0x8ae479){return _0x306755(_0x8ae479,_0x28c291- -_0xce28c7._0x9c0dd8);}function _0x16c7c9(_0x521334,_0xa0b610){return _0x306755(_0xa0b610,_0x521334- -0x3a5);}return this[_0x16c7c9(0x1030,0x1740)]?this[_0x4ad66e(_0x4185ba._0x523bfe,0x591)]['entities']:null;}get['labelCollection'](){const _0x10cf10={_0x4274a6:0xa9e,_0x2a6cc9:0x72c,_0x55306f:0xfa1,_0x42c90b:0x166f,_0x5dca33:0x163f},_0x5a4c8a={_0x13738f:0x505};function _0x30b8b0(_0xf5f5e3,_0x3f36e8){return _0x2b6441(_0x3f36e8,_0xf5f5e3-_0x5a4c8a._0x13738f);}!this[_0x30b8b0(_0x10cf10._0x4274a6,_0x10cf10._0x2a6cc9)]&&(this[_0x30b8b0(0xa9e,0xf16)]=new Cesium__namespace[(_0x43128c(0x44d,0x51a))]({'scene':this[_0x43128c(_0x10cf10._0x55306f,_0x10cf10._0x42c90b)]['scene']}),this['_state']===State['ADDED']&&this[_0x43128c(_0x10cf10._0x5dca33,0x166f)]['scene']['primitives']['add'](this['_labelCollection']));function _0x43128c(_0x4e918f,_0x30357e){return _0x306755(_0x4e918f,_0x30357e- -0x15a);}return this['_labelCollection'];}get['hasZIndex'](){return!![];}get[_0x306755(0x2ed,0xc17)](){const _0x42e1dc={_0x34d15d:0x667},_0x4d5f22={_0x30a43f:0x589};function _0x1448df(_0x4a847c,_0x4feb45){return _0x306755(_0x4a847c,_0x4feb45- -0xa6);}function _0x88f45e(_0x3f11b2,_0xe7b80a){return _0x306755(_0xe7b80a,_0x3f11b2- -_0x4d5f22._0x30a43f);}return this[_0x1448df(0x129f,0xbb7)][_0x1448df(_0x42e1dc._0x34d15d,0xb71)];}set['zIndex'](_0x8fef19){const _0x2d3611={_0x14d236:0xeb3,_0x101ea1:0x100b,_0x54ec4c:0xed2,_0x3938a7:0x665,_0xad40e9:0x711,_0x1d2ce8:0x2065,_0x33ba3e:0x1646,_0x3b6723:0x12c3},_0x3e17a7={_0x2f4289:0x3ca},_0x4bc1cd={_0x500cb8:0x183};this['options']['zIndex']=_0x8fef19;if(this[_0xd8a8d4(_0x2d3611._0x14d236,_0x2d3611._0x101ea1)]==null||_0x8fef19==null)return;if(!this['_map'][_0x1fc402(0xffe,_0x2d3611._0x54ec4c)][_0x1fc402(0xbaa,_0x2d3611._0x3938a7)](this['_dataSource']))return;function _0x1fc402(_0x504258,_0x51dd9f){return _0x306755(_0x504258,_0x51dd9f- -_0x4bc1cd._0x500cb8);}this['_dataSource'][_0x1fc402(0x771,0xa94)]=_0x8fef19,this['_map'][_0x1fc402(_0x2d3611._0xad40e9,0xed2)]['raiseToTop'](this['_dataSource']);function _0xd8a8d4(_0x26150b,_0x2af014){return _0x306755(_0x26150b,_0x2af014- -_0x3e17a7._0x2f4289);}const _0x2e852a=this['_map'][_0x1fc402(0xf88,_0x2d3611._0x54ec4c)];for(let _0x59215b=_0x2e852a['length']-0x1;_0x59215b>=0x0;_0x59215b--){const _0x443938=_0x2e852a['get'](_0x59215b);if(_0x443938===this['_dataSource'])continue;Cesium__namespace['defined'](_0x443938['zIndex'])&&_0x8fef19<_0x443938[_0x1fc402(0x81,0xa94)]&&this[_0x1fc402(_0x2d3611._0x1d2ce8,_0x2d3611._0x33ba3e)]['dataSources']['lower'](this[_0xd8a8d4(_0x2d3611._0x3b6723,0x100b)]);}}get[_0x306755(-0x231,0x4bc)](){const _0x2b1acc={_0x3541a8:0x899,_0x3ba8a2:0x10b4,_0x3dcf06:0x829,_0x1c643b:0xbc6,_0x3ebb15:0x21c},_0x21571f={_0x3cf0c8:0x301};if(this['options'][_0x26ab0b(-_0x2b1acc._0x3541a8,0x88)])return!![];function _0x571a88(_0x502ffa,_0x1ff811){return _0x2b6441(_0x1ff811,_0x502ffa-_0x21571f._0x3cf0c8);}function _0x26ab0b(_0xa046f7,_0xaa9db5){return _0x2b6441(_0xa046f7,_0xaa9db5-0x16d);}if(this['options']['symbol']&&this[_0x26ab0b(_0x2b1acc._0x3ba8a2,_0x2b1acc._0x3dcf06)][_0x26ab0b(_0x2b1acc._0x1c643b,0x791)]['styleOptions']&&this['options']['symbol'][_0x26ab0b(0x1098,0xbff)][_0x571a88(_0x2b1acc._0x3ebb15,-0x70c)])return!![];return![];}['_setOptionsHook'](_0x24c91c,_0x12193d){const _0x520b9d={_0x3a000e:0x976,_0x3ea6e6:0x783,_0x374f7b:0xb6d,_0x23bced:0xc60,_0x434175:0xeb2,_0x396f93:0xa02,_0x43237a:0x7bf,_0x22ada8:0x8d3,_0x3416ca:0xa11,_0x293552:0x12e9,_0x2f34c6:0x14e7},_0x19d954={_0x39a993:0x352};function _0x567911(_0x139307,_0x268f53){return _0x2b6441(_0x139307,_0x268f53-_0x19d954._0x39a993);}var _0x45d029;super['_setOptionsHook'](_0x24c91c,_0x12193d);function _0x5e3e29(_0x1587d6,_0x92d6ba){return _0x2b6441(_0x1587d6,_0x92d6ba-0x217);}Cesium__namespace['defined'](_0x12193d[_0x567911(0x1358,_0x520b9d._0x3a000e)])&&this['updateStyle'](_0x12193d['symbol']);if((_0x45d029=this[_0x5e3e29(0x4a1,0x8d3)][_0x5e3e29(-0x1d9,0x83b)])!==null&&_0x45d029!==void 0x0&&_0x45d029[_0x567911(0x74a,0xde4)]){const _0x489283=this['options'][_0x567911(_0x520b9d._0x3ea6e6,0x976)]['styleOptions'];Cesium__namespace['defined'](_0x489283['clampToGround'])&&(this['options'][_0x567911(_0x520b9d._0x374f7b,0x26d)]=_0x489283['clampToGround']);if(Cesium__namespace['defined'](_0x489283[_0x567911(0x14cd,_0x520b9d._0x23bced)])){const _0x207871=Cesium__namespace[_0x567911(_0x520b9d._0x434175,0xce5)]['fromCssColorString'](_0x489283['color']??_0x567911(0x1607,0x1211))[_0x567911(0x1b34,0x16e6)](Number(_0x489283[_0x5e3e29(_0x520b9d._0x396f93,_0x520b9d._0x43237a)]??0.5));this[_0x5e3e29(0x1036,_0x520b9d._0x22ada8)]['fill']=_0x207871;}if(Cesium__namespace['defined'](_0x489283[_0x5e3e29(0x1495,_0x520b9d._0x3416ca)])){const _0x2fdd89=Cesium__namespace['Color'][_0x5e3e29(0x183c,0x1540)](_0x489283['outlineColor']??_0x489283['color']??_0x567911(_0x520b9d._0x293552,_0x520b9d._0x2f34c6))['withAlpha'](_0x489283['outlineOpacity']??(_0x489283[_0x567911(0x11e0,0x8fa)],0x1));this['options']['stroke']=_0x2fdd89;}Cesium__namespace['defined'](_0x489283['outlineWidth'])&&(this['options'][_0x567911(0x1d,0x5cc)]=_0x489283['outlineWidth']);}}['_showHook'](_0x428556){const _0x4e8139={_0x4c666f:0x4b};super['_showHook'](_0x428556);function _0xfe7db9(_0x22594e,_0x57531d){return _0x2b6441(_0x57531d,_0x22594e- -_0x4e8139._0x4c666f);}this['_labelCollection']&&(this[_0xfe7db9(0x54e,0xc38)]['show']=_0x428556);}[_0x306755(0x11b1,0x130c)](){const _0xc6c2b8={_0x178c1b:0x11e5};super['_mountedHook']();function _0x4db6d7(_0x2b393b,_0x11d51d){return _0x2b6441(_0x2b393b,_0x11d51d-0x91);}this[_0x4db6d7(_0xc6c2b8._0x178c1b,0x137a)]();}['_addedHook'](){const _0x1e9fba={_0x438812:0x1415,_0x4652ba:0x12d6,_0x30fd30:0x1095,_0x164784:0x6bd,_0x15fa06:0x9b0};super[_0xf1807b(0x9d8,0xb3)]();function _0xf1807b(_0x5d3ddc,_0x1725e9){return _0x2b6441(_0x1725e9,_0x5d3ddc-0x5db);}this[_0xa9a6e7(_0x1e9fba._0x438812,_0x1e9fba._0x4652ba)]&&this['_map'][_0xa9a6e7(_0x1e9fba._0x30fd30,_0x1e9fba._0x164784)]['add'](this['_dataSource']);function _0xa9a6e7(_0x1fc5c2,_0x38c5d3){return _0x306755(_0x38c5d3,_0x1fc5c2-0x40);}this[_0xf1807b(0xb74,0x1077)]&&this[_0xa9a6e7(0x1809,0x1ba7)]['scene'][_0xf1807b(0x8f3,0x11aa)][_0xf1807b(0xd68,0x33e)](this[_0xf1807b(0xb74,_0x1e9fba._0x15fa06)]);}[_0x306755(0x8ed,0xe2b)](){const _0x553346={_0x1ffede:0xb7b,_0x230295:0x9ee};super['_removedHook']();function _0x42721a(_0x2e4374,_0x787952){return _0x2b6441(_0x2e4374,_0x787952-0x5e2);}this[_0x42721a(0x805,_0x553346._0x1ffede)]&&(this[_0x42721a(0x18a2,0x180a)]['scene']['primitives'][_0x45bfb5(0x4d8,0xc78)](this[_0x45bfb5(0x656,-0x3e7)]),this['_labelCollection']=null);function _0x45bfb5(_0xec98ef,_0x102b14){return _0x306755(_0x102b14,_0xec98ef- -0x4e4);}this['_dataSource']&&this['_map']['dataSources'][_0x45bfb5(0x4d8,_0x553346._0x230295)](this['_dataSource']);}['load'](_0x571007){const _0x2e1677={_0x36f154:0x12,_0x1e86c7:0xfc9,_0x59e7e8:0x1129,_0x42cc0f:0xf73},_0x4cc7b4={_0x2333ff:0x1adf,_0x421ff5:0x1195,_0x5a60a4:0x1a9d},_0x4c2165={_0x537237:0x33a},_0x281410={_0x1f57ef:0x47f};_0x571007&&((_0x571007[_0x3c154d(0x502,_0x2e1677._0x36f154)]??!![])&&(delete this['options']['url'],delete this['options']['data']),this['clear'](),this['options']={...this['options'],..._0x571007});function _0x4a9722(_0xcb5f41,_0x3289ad){return _0x306755(_0xcb5f41,_0x3289ad- -_0x281410._0x1f57ef);}function _0x3c154d(_0x250348,_0x1859d9){return _0x306755(_0x1859d9,_0x250348- -_0x4c2165._0x537237);}if(this['options']['url']){const _0x3f7bc3={...this['options']};_0x3f7bc3['proxy']=this['_proxy'],fetchJson(_0x3f7bc3)[_0x3c154d(_0x2e1677._0x1e86c7,_0x2e1677._0x59e7e8)](_0xa6e23d=>{if(!this[_0x560d8b(0x17bc,0x19f0)]||!this['isAdded'])return;function _0x560d8b(_0x4fa739,_0x1bbc4b){return _0x4a9722(_0x1bbc4b,_0x4fa739-0x472);}this['_load_data'](_0xa6e23d);})['catch'](_0x275ec0=>{var _0x134b61;function _0x62980b(_0x33bbe7,_0x62423a){return _0x4a9722(_0x62423a,_0x33bbe7- -0x1bc);}logError('fetchJson出错了',_0x275ec0);function _0x336d70(_0x57698e,_0x52751b){return _0x4a9722(_0x57698e,_0x52751b-0x5da);}(_0x134b61=this[_0x336d70(_0x4cc7b4._0x2333ff,_0x4cc7b4._0x421ff5)])!==null&&_0x134b61!==void 0x0&&_0x134b61[_0x336d70(_0x4cc7b4._0x5a60a4,0x11e6)]&&this['_readyPromise']['reject'](_0x275ec0);});}else this['options'][_0x3c154d(0x10b8,0x13ba)]?this['_load_data'](this['options'][_0x4a9722(0x1885,_0x2e1677._0x42cc0f)]):_0x571007&&logWarn('CzmGeoJsonLayer:没有传入\x20url\x20或\x20data\x20参数,请确认是否有误。');return this;}['_load_data'](_0x3cc2d5){const _0x3cef47={_0x4faf0c:0x141a},_0x54efc3={_0x2a8841:0x183};function _0x467a9d(_0x4416ed,_0x2390b0){return _0x306755(_0x2390b0,_0x4416ed- -_0x54efc3._0x2a8841);}this['options'][_0x467a9d(_0x3cef47._0x4faf0c,0x11ed)]&&(_0x3cc2d5=this['options']['format'](_0x3cc2d5));const _0x1ff7f9=Cesium__namespace['GeoJsonDataSource']['load'](_0x3cc2d5,this['options']);_0x1ff7f9['then'](_0x4fb58b=>{this['showResult'](_0x4fb58b);});}[_0x306755(0x76e,0xc16)](_0x283845){const _0x16ea2e={_0x90e29a:0xddc,_0x52857b:0x678,_0x23d92d:0x1015,_0x49fd64:0x4,_0x48f852:0x6,_0x21ce4f:0xfca,_0x370377:0x19e6,_0x23c4cd:0xa55,_0xde7d5c:0x1971,_0x357739:0x1982},_0x21ac8e={_0x2a7819:0x44},_0xae40cf={_0x3aabf3:0xf8};this[_0x45b194(0xdf0,0x1321)]&&(this[_0x1669e4(0xfb8,0x18c1)]['dataSources']['remove'](this['_dataSource']),delete this['_dataSource']);function _0x1669e4(_0x3c521a,_0x447ba1){return _0x306755(_0x3c521a,_0x447ba1-_0xae40cf._0x3aabf3);}if(!_0x283845||this[_0x45b194(_0x16ea2e._0x90e29a,0x11b7)]===State[_0x1669e4(0xb73,0x1275)])return;_0x283845['show']=this['show'],this['_map']['dataSources'][_0x1669e4(0x58f,0xe26)](_0x283845),this['_dataSource']=_0x283845;this[_0x45b194(_0x16ea2e._0x52857b,0x4bd)][_0x1669e4(_0x16ea2e._0x23d92d,0xd0f)]&&(this['zIndex']=this['options']['zIndex']);const _0x281ca1=_0x283845[_0x45b194(0x683,_0x16ea2e._0x49fd64)][_0x1669e4(_0x16ea2e._0x48f852,0x7dc)];function _0x45b194(_0x5b712f,_0x2007fd){return _0x2b6441(_0x2007fd,_0x5b712f- -_0x21ac8e._0x2a7819);}const _0x439729=this['bindEntities'](_0x281ca1);this['opacity']!==0x1&&this[_0x1669e4(_0x16ea2e._0x21ce4f,_0x16ea2e._0x370377)](this['opacity']);this[_0x45b194(_0x16ea2e._0x23c4cd,0x355)]['resolve'](this);const _0xd3cee7={};_0xd3cee7['dataSource']=_0x283845,_0xd3cee7[_0x1669e4(0x1720,0xd60)]=_0x281ca1,_0xd3cee7['list']=_0x439729,this['fire'](EventType[_0x1669e4(_0x16ea2e._0xde7d5c,_0x16ea2e._0x357739)],_0xd3cee7);}[_0x306755(0x568,0x811)](_0xf43951){const _0x59789a={_0x43160c:0x1522,_0x346c0f:0x74e,_0x4549cb:0x53,_0x1e8203:0xd12},_0x8b1d8e={_0x2c22de:0x138},_0x35fded=[];function _0x58c204(_0x5d15e4,_0x531538){return _0x306755(_0x531538,_0x5d15e4-0xb5);}for(let _0x96f455=0x0,_0x53c6d8=_0xf43951[_0x58c204(0x16b0,_0x59789a._0x43160c)];_0x96f455<_0x53c6d8;_0x96f455++){const _0x3d9546=_0xf43951[_0x96f455];_0x3d9546['_mars3d_layerId']=this['id'];const _0x5a5460=this['getEntityAttr'](_0x3d9546);_0x3d9546['_attr']=_0x5a5460||{};const _0xe89f08={};_0xe89f08['czmObject']=_0x3d9546,_0xe89f08['attr']=_0x5a5460,this[_0x3f5842(-0x4fe,0x420)](EventType['addGraphic'],_0xe89f08);const _0x3613fb={..._0x5a5460};_0x3613fb[_0x58c204(0xf1b,0x672)]=_0x3d9546,_0x35fded[_0x58c204(_0x59789a._0x346c0f,-_0x59789a._0x4549cb)](_0x3613fb);}this[_0x58c204(_0x59789a._0x1e8203,0x1052)]['id']=this['id'],config2Entity(_0xf43951,this['options'],(_0x1785e5,_0x506112,_0x164fc0)=>{return this['lblAddFun'](_0x1785e5,_0x506112,_0x164fc0);});function _0x3f5842(_0x572ee7,_0x20d06f){return _0x2b6441(_0x572ee7,_0x20d06f-_0x8b1d8e._0x2c22de);}return _0x35fded;}['getEntityById'](_0x3497aa){const _0x52d795={_0xe78b14:0x603,_0x36b996:0x25f,_0x13948c:0x26c,_0x158f67:0xc23},_0x343437={_0x326bcc:0x46f};function _0x2def19(_0x30f9e7,_0x52da5a){return _0x2b6441(_0x30f9e7,_0x52da5a-_0x343437._0x326bcc);}const _0x5d131d=this['_dataSource']['entities'][_0x13b3b4(_0x52d795._0xe78b14,_0x52d795._0x36b996)];function _0x13b3b4(_0x1d87ff,_0x4d84ab){return _0x2b6441(_0x4d84ab,_0x1d87ff-0x4c0);}for(let _0xab5d7c=0x0,_0x6c9268=_0x5d131d['length'];_0xab5d7c<_0x6c9268;_0xab5d7c++){var _0x3725ac;const _0x27c6c1=_0x5d131d[_0xab5d7c];if(_0x27c6c1['id']===_0x3497aa||((_0x3725ac=_0x27c6c1[_0x2def19(_0x52d795._0x13948c,_0x52d795._0x158f67)])===null||_0x3725ac===void 0x0?void 0x0:_0x3725ac['id'])===_0x3497aa)return _0x27c6c1;}}[_0x2b6441(0x5da,0x7b6)](_0x227369){const _0x4d15e8={_0x1e9112:0x1346,_0x6b1b3e:0x4ee,_0x5258b8:0xea,_0x26b57d:0x118e},_0x5e9f43={_0x9ff9c5:0x641},_0x2da018={_0xc5dc93:0x363};if(!this['_dataSource'])return;function _0x3d7443(_0x2210ae,_0x483aa4){return _0x306755(_0x2210ae,_0x483aa4- -0x54a);}_0x227369&&(this['options']['symbol']={...this['options'][_0x1b59e7(0x9cf,_0x4d15e8._0x1e9112)],..._0x227369});function _0x1b59e7(_0x521713,_0x3d23c8){return _0x2b6441(_0x3d23c8,_0x521713-0x3ab);}const _0x4598a4=this['_dataSource']['entities'][_0x1b59e7(_0x4d15e8._0x6b1b3e,_0x4d15e8._0x5258b8)];return this[_0x1b59e7(0xa67,_0x4d15e8._0x26b57d)]['id']=this['id'],config2Entity(_0x4598a4,this['options'],(_0xb0241b,_0x490ae4,_0x192ffb)=>{function _0x4383c9(_0x4f7e12,_0x39fff0){return _0x1b59e7(_0x4f7e12- -_0x2da018._0xc5dc93,_0x39fff0);}return this[_0x4383c9(_0x5e9f43._0x9ff9c5,0x2a5)](_0xb0241b,_0x490ae4,_0x192ffb);}),this;}['lblAddFun'](_0x4533ed,_0x31eb33,_0xfa7e49){const _0x7ad769={_0x49a372:0x6e2};if(_0x31eb33['text']==='')return null;Cesium__namespace['defined'](_0x31eb33['height'])&&(_0x4533ed=setPositionsHeight(_0x4533ed,_0x31eb33['height']));!this['labelCollection']&&(this[_0x2985ce(0x620,0x58d)]=new Cesium__namespace['LabelCollection']({'scene':this[_0x2985ce(0xd3a,0x15f5)][_0x287d1f(0x9fb,_0x7ad769._0x49a372)]}),this['viewer']['scene'][_0x287d1f(0xb57,0x536)]['add'](this['labelCollection']));function _0x287d1f(_0x91c30b,_0x4f0902){return _0x2b6441(_0x91c30b,_0x4f0902-0x21e);}_0x31eb33['position']=getPositionValue(_0x4533ed);const _0x5ef513=this['labelCollection']['add'](_0x31eb33);function _0x2985ce(_0x1231b8,_0x587a76){return _0x306755(_0x587a76,_0x1231b8- -0x5d1);}return _0x5ef513['properties']=_0xfa7e49,_0x5ef513['_mars3d_layerId']=this['id'],_0x5ef513;}['setOpacity'](_0x31a016){const _0x5be231={_0x19e78e:0x10cd,_0x2900b9:0xbfa,_0x2b32b0:0x1349,_0x204cb0:0x18f3,_0x1c07a7:0xe41,_0x57fe9a:0x1749,_0x3b7142:0x1005,_0x18a203:0xf8c,_0x4121c0:0xa81,_0x2806cd:0x1e63,_0x5a4c60:0x142b,_0x5d9a7b:0x166b,_0xc32147:0x1218,_0x2d0d72:0x18c7,_0x50c325:0x1011,_0x10c810:0x6f7,_0x26ae59:0x1056,_0x3361a5:0x1056,_0x160f08:0x11e8,_0x37c69b:0xe77,_0x586737:0xe78},_0x230f54={_0x21547c:0x67e};this['options']['opacity']=_0x31a016;if(!this['_dataSource'])return;function _0x12c068(_0x4e85f6,_0x47c91d){return _0x306755(_0x4e85f6,_0x47c91d- -0x6e);}const _0x9f852a=this['_dataSource'][_0x12c068(_0x5be231._0x19e78e,_0x5be231._0x2900b9)]['values'];function _0x694fe4(_0x4739a7,_0x108f6d){return _0x2b6441(_0x108f6d,_0x4739a7-_0x230f54._0x21547c);}for(let _0x15d79b=0x0,_0x7b728=_0x9f852a[_0x12c068(_0x5be231._0x2b32b0,0x158d)];_0x15d79b<_0x7b728;_0x15d79b++){const _0x17e24=_0x9f852a[_0x15d79b];_0x17e24['polygon']&&_0x17e24[_0x694fe4(0x1005,0x1775)]['material']&&_0x17e24[_0x694fe4(0x1005,0x1a69)][_0x12c068(0xecb,_0x5be231._0x204cb0)][_0x12c068(0x90c,_0x5be231._0x1c07a7)]&&(this[_0x12c068(0x2077,_0x5be231._0x57fe9a)](_0x17e24[_0x694fe4(_0x5be231._0x3b7142,0xb32)]['material'][_0x694fe4(_0x5be231._0x18a203,_0x5be231._0x4121c0)],_0x31a016),_0x17e24['polygon']['outlineColor']&&this[_0x12c068(0x1324,0x1749)](_0x17e24['polygon'][_0x12c068(0x109d,0xd2d)],_0x31a016));_0x17e24['polyline']&&_0x17e24[_0x694fe4(0x15a8,_0x5be231._0x2806cd)]['material']&&_0x17e24['polyline']['material'][_0x12c068(_0x5be231._0x5a4c60,_0x5be231._0x1c07a7)]&&this['_updatEntityAlpha'](_0x17e24[_0x694fe4(0x15a8,_0x5be231._0x5d9a7b)]['material']['color'],_0x31a016);_0x17e24[_0x12c068(_0x5be231._0xc32147,0x16d3)]&&(_0x17e24['billboard']['color']=Cesium__namespace['Color'][_0x12c068(0x6b2,0x9ef)][_0x12c068(0x1242,_0x5be231._0x2d0d72)](_0x31a016));_0x17e24['model']&&(_0x17e24[_0x12c068(0x1660,0x18e6)]['color']=Cesium__namespace[_0x694fe4(_0x5be231._0x50c325,0x1200)][_0x12c068(0x1d6,0x9ef)]['withAlpha'](_0x31a016));if(_0x17e24['label']){let _0x3e51ce=_0x31a016;_0x17e24['styleOpt']&&_0x17e24[_0x12c068(_0x5be231._0x10c810,_0x5be231._0x26ae59)]['label']&&_0x17e24[_0x12c068(0xbe9,_0x5be231._0x3361a5)][_0x12c068(_0x5be231._0x160f08,0x7fd)]['opacity']&&(_0x3e51ce=_0x17e24['styleOpt']['label']['opacity']),_0x17e24['label']['fillColor']&&this['_updatEntityAlpha'](_0x17e24['label'][_0x694fe4(0xbd5,_0x5be231._0x37c69b)],_0x3e51ce),_0x17e24['label'][_0x694fe4(_0x5be231._0x586737,0xc14)]&&this['_updatEntityAlpha'](_0x17e24['label']['outlineColor'],_0x3e51ce),_0x17e24['label']['backgroundColor']&&this['_updatEntityAlpha'](_0x17e24[_0x694fe4(0x948,0x1346)]['backgroundColor'],_0x3e51ce);}}}['_updatEntityAlpha'](_0x426589,_0x461710){const _0x4b653d={_0x105f01:0x130c,_0x27ac2c:0xb1e,_0x41e225:0xac7,_0x1f1dc1:0x164};if(!_0x426589)return;let _0x5e7f2b=getCesiumValue(_0x426589,Cesium__namespace['Color'],this['_map'][_0x14009a(_0x4b653d._0x105f01,0xcb8)][_0x14009a(_0x4b653d._0x27ac2c,_0x4b653d._0x41e225)]);if(!_0x5e7f2b||!_0x5e7f2b['withAlpha'])return _0x426589;_0x5e7f2b=_0x5e7f2b['withAlpha'](_0x461710);function _0x8c22aa(_0x3fb0f6,_0xef3a4d){return _0x2b6441(_0x3fb0f6,_0xef3a4d-0x1c2);}function _0x14009a(_0x36d2c2,_0x1f0638){return _0x2b6441(_0x1f0638,_0x36d2c2-0x513);}_0x426589[_0x8c22aa(-_0x4b653d._0x1f1dc1,0x928)](_0x5e7f2b);}['getEntityAttr'](_0x49e4aa){const _0x216f60={_0x48d8cf:0x563};function _0x1cec1c(_0x199f7f,_0x29af8c){return _0x2b6441(_0x199f7f,_0x29af8c- -0x4e);}return getAttrVal(_0x49e4aa[_0x1cec1c(-0x14d,_0x216f60._0x48d8cf)]);}['clear'](){const _0x5833a1={_0x52f8ba:0x7ee,_0x50bb6a:0xe78,_0x4ab467:0x91c,_0x513698:0x9bc,_0x5d6d89:0x13da,_0x265887:0xa16,_0x268860:0x917};function _0x19258c(_0x5b2764,_0x146648){return _0x306755(_0x146648,_0x5b2764- -0x43f);}this['_labelCollection']&&this[_0x6a2cca(_0x5833a1._0x52f8ba,0xc14)][_0x19258c(0x9bc,_0x5833a1._0x50bb6a)]();this['_dataSource']&&this['_dataSource'][_0x6a2cca(_0x5833a1._0x4ab467,0x640)][_0x19258c(_0x5833a1._0x513698,_0x5833a1._0x5d6d89)]();this[_0x6a2cca(_0x5833a1._0x265887,_0x5833a1._0x268860)]();function _0x6a2cca(_0x131d66,_0xdcd5b5){return _0x306755(_0xdcd5b5,_0x131d66- -0x34c);}return this;}['process'](_0x25e299,_0xfbd5ec){const _0x3c2f4f={_0x4d9070:0x94f},_0x1e007e={_0x59dd03:0x531};function _0x302931(_0x30ae9a,_0x9f0e7b){return _0x306755(_0x30ae9a,_0x9f0e7b-0x89);}return this[_0x302931(0xe65,0xf4f)]['then'](_0x3fcdc9=>{const _0x33b40a={_0x4b46db:0x46c},_0x23c3de=this['_dataSource']['process'](_0x25e299,_0xfbd5ec);function _0x26976b(_0x138784,_0x29627a){return _0x302931(_0x29627a,_0x138784- -_0x1e007e._0x59dd03);}return _0x23c3de[_0x26976b(0xe5b,_0x3c2f4f._0x4d9070)](_0x242099=>{const _0x45ed47=_0x242099[_0x2a45a7(0x1d2,0x7c4)][_0x4571c1(0x6a8,0x288)],_0x389819=this['bindEntities'](_0x45ed47);function _0x2a45a7(_0x575eee,_0x2bb7a3){return _0x26976b(_0x2bb7a3-0x4,_0x575eee);}const _0x19a53c={};_0x19a53c['entities']=_0x45ed47,_0x19a53c['list']=_0x389819;function _0x4571c1(_0x5d0517,_0x1d568f){return _0x26976b(_0x5d0517-_0x33b40a._0x4b46db,_0x1d568f);}return _0x19a53c;});});}[_0x2b6441(0x13de,0x1342)](_0x3d425b){const _0x2bd4c6={_0x1a0c82:0x935,_0x3c581f:0x16c5,_0x2222a5:0xc75,_0x1af1dd:0xee1,_0x4e7630:0xd34,_0x434a14:0x91d,_0x5e99ea:0xf86,_0x49d106:0xab8,_0x514567:0x595,_0x8ffad1:0x1895,_0x1a005c:0xd11,_0x1db0cb:0x123,_0xa3b6c8:0x1d6,_0x1c34e3:0x13cb},_0xc4185={_0x50c26e:0x104},_0x30491b={_0x21e870:0x4c3};function _0x48e6be(_0x2fda44,_0x4bd29c){return _0x306755(_0x2fda44,_0x4bd29c- -_0x30491b._0x21e870);}if(!this['_dataSource']&&!this[_0x48e6be(0x771,0x576)])return;function _0x12c803(_0x4b175e,_0x4f7322){return _0x306755(_0x4f7322,_0x4b175e- -_0xc4185._0x50c26e);}if(!this[_0x12c803(_0x2bd4c6._0x1a0c82,0x4c0)]){const _0x4bd346=[],_0x1007e9=this['_dataSource']['entities']['values'];for(let _0x3ef8c9=0x0,_0x35a427=_0x1007e9['length'];_0x3ef8c9<_0x35a427;_0x3ef8c9++){var _0x1d4b46,_0x2c79ff;const _0x5dffcd=_0x1007e9[_0x3ef8c9];if(_0x5dffcd['position']){var _0x58552a;const _0x4dfacf=getPositionValue(_0x5dffcd[_0x12c803(0x10f3,0xbed)],this[_0x12c803(_0x2bd4c6._0x3c581f,_0x2bd4c6._0x2222a5)]['clock']['currentTime']);if(_0x4dfacf)_0x4bd346['push'](_0x4dfacf);else{if((_0x58552a=_0x5dffcd[_0x48e6be(_0x2bd4c6._0x1af1dd,_0x2bd4c6._0x4e7630)])!==null&&_0x58552a!==void 0x0&&(_0x58552a=_0x58552a['_property'])!==null&&_0x58552a!==void 0x0&&_0x58552a['_values']){const _0x57bb16=Cesium__namespace[_0x12c803(_0x2bd4c6._0x434a14,_0x2bd4c6._0x5e99ea)]['unpackArray'](_0x5dffcd['position']['_property'][_0x48e6be(_0x2bd4c6._0x49d106,0x5d3)]);_0x4bd346[_0x12c803(_0x2bd4c6._0x514567,0x10e)](..._0x57bb16);}}}else{if(_0x5dffcd['_positions'])_0x4bd346['push'](_0x5dffcd[_0x48e6be(0xc47,0x611)]);else{if((_0x1d4b46=_0x5dffcd['polyline'])!==null&&_0x1d4b46!==void 0x0&&_0x1d4b46[_0x12c803(_0x2bd4c6._0x8ffad1,0x17cb)]){const _0x2fc048=getCesiumValue(_0x5dffcd['polyline']['positions'],Array,this[_0x12c803(0x16c5,0x11ea)][_0x12c803(0x1296,_0x2bd4c6._0x1a005c)]['currentTime']);_0x2fc048&&_0x4bd346[_0x48e6be(_0x2bd4c6._0x1db0cb,_0x2bd4c6._0xa3b6c8)](..._0x2fc048);}else{if((_0x2c79ff=_0x5dffcd[_0x12c803(0xe24,0x867)])!==null&&_0x2c79ff!==void 0x0&&_0x2c79ff['hierarchy']){let _0xc08421=getCesiumValue(_0x5dffcd['polygon'][_0x48e6be(0x1a38,0x1422)],Cesium__namespace[_0x48e6be(-0xdc,0x10)],this['_map'][_0x48e6be(_0x2bd4c6._0x1c34e3,0xed7)]['currentTime']);_0xc08421&&_0xc08421 instanceof Cesium__namespace['PolygonHierarchy']&&(_0xc08421=_0xc08421[_0x48e6be(0x1d68,0x14d6)]),_0xc08421&&_0x4bd346['push'](..._0xc08421);}}}}}_0x4bd346['length']>0x0&&(this[_0x48e6be(0x6c7,0x576)]=getRectangle(_0x4bd346));}return _0x3d425b!==null&&_0x3d425b!==void 0x0&&_0x3d425b[_0x48e6be(0xc4b,0xdc1)]&&this['_rectangle']?formatRectangle(this['_rectangle']):this['_rectangle'];}async['_flyToEx'](_0x43b730){const _0x5efc1d={_0xca3d8:0x168b,_0x50e0dd:0x1fbd,_0xa5ff3a:0x1571,_0x234011:0xcad},_0xae9a0b=this['_extent']||this[_0x579f73(0x1a3d,_0x5efc1d._0xca3d8)]&&this['getRectangle']();function _0x579f73(_0x2b099e,_0x37ff84){return _0x2b6441(_0x2b099e,_0x37ff84-0x349);}function _0x48b040(_0x442e70,_0x4c33b7){return _0x306755(_0x442e70,_0x4c33b7- -0x5fb);}if(_0xae9a0b)return this[_0x579f73(_0x5efc1d._0x50e0dd,_0x5efc1d._0xa5ff3a)][_0x579f73(0xa8b,_0x5efc1d._0x234011)](_0xae9a0b,_0x43b730);else this[_0x48b040(0x11a2,0xdda)]&&this['_map'][_0x579f73(0x441,0x9cf)](this[_0x48b040(0x42e,0xdda)]);}}register$3(_0x2b6441(-0x3f1,-0x4a),CzmGeoJsonLayer);class KmlLayer extends CzmGeoJsonLayer{['load'](_0xbf98a5={}){const _0x3a78d7={_0x29f24c:0xd36,_0x37855b:0x372,_0x5b64a2:0xb3e,_0x5d9d7e:0x979,_0x2bacda:0x1963,_0x3b52dc:0x2262,_0x574d84:0x14cb,_0x37bcab:0xf41,_0x3722a1:0xc,_0x1b6bf2:0xef};function _0x56ae3d(_0x260a2a,_0x525fa4){return _0x306755(_0x260a2a,_0x525fa4- -0x4b1);}this[_0x21e5a5(_0x3a78d7._0x29f24c,0x11e9)]={...this['options'],..._0xbf98a5};let _0x3d8cb5;if(this['options'][_0x21e5a5(0xc98,_0x3a78d7._0x37855b)]){const _0x376525=getUrlResource(this['options'],this['templateValues']),_0x25f734={};_0x25f734['camera']=this['_map'][_0x21e5a5(_0x3a78d7._0x5b64a2,0xcd0)][_0x56ae3d(0x1db,0xb97)],_0x25f734['canvas']=this['_map']['scene']['canvas'],_0x25f734['clampToGround']=this['options'][_0x21e5a5(0x595,0xab6)],_0x3d8cb5=Cesium__namespace[_0x56ae3d(_0x3a78d7._0x5d9d7e,0xe15)][_0x21e5a5(_0x3a78d7._0x2bacda,_0x3a78d7._0x3b52dc)](_0x376525,_0x25f734);}else this['options'][_0x21e5a5(_0x3a78d7._0x574d84,0xfd4)]&&(_0x3d8cb5=Cesium__namespace['KmlDataSource']['load'](this['options'][_0x56ae3d(0x1117,_0x3a78d7._0x37bcab)],{'camera':this['_map'][_0x56ae3d(-_0x3a78d7._0x3722a1,0x5b4)]['camera'],'canvas':this['_map'][_0x21e5a5(_0x3a78d7._0x5b64a2,0x5ad)]['canvas'],'clampToGround':this['options'][_0x56ae3d(_0x3a78d7._0x1b6bf2,0xb)]}),logError('KmlLayer:请必须传入\x20url\x20或\x20data\x20参数'));function _0x21e5a5(_0x2546d0,_0x9601a7){return _0x306755(_0x9601a7,_0x2546d0-0xd9);}_0x3d8cb5['then'](_0x5f148c=>{this['showResult'](_0x5f148c);});}[_0x2b6441(0x978,0x872)](_0x57dfe4){const _0x4ce3d0={_0x6946c2:0x26c,_0x1d44a2:0x334,_0x5d1253:0x2ed,_0x5dc2c4:0x7f0,_0x15003e:0x15ed,_0x1cfe1a:0xef7},_0x5df5f4={_0x4e53aa:0x55f},_0x499df1={};_0x499df1[_0x1f598d(-_0x4ce3d0._0x6946c2,_0x4ce3d0._0x1d44a2)]=_0x57dfe4['name'];function _0x1f598d(_0x2fd136,_0x9b60e3){return _0x306755(_0x2fd136,_0x9b60e3- -_0x5df5f4._0x4e53aa);}function _0x3dd064(_0x317a99,_0x4fd3b3){return _0x2b6441(_0x317a99,_0x4fd3b3-0x677);}_0x499df1[_0x3dd064(0x4a4,0xef7)]=_0x57dfe4['description'];let _0x29a50c=_0x499df1;const _0x5d4cd0=_0x57dfe4['_kml']['extendedData'];for(const _0x4085d3 in _0x5d4cd0){_0x29a50c[_0x4085d3]=_0x5d4cd0[_0x4085d3][_0x1f598d(_0x4ce3d0._0x5d1253,_0x4ce3d0._0x5dc2c4)];}return _0x29a50c=getAttrVal(_0x29a50c),_0x29a50c['description']&&(_0x29a50c[_0x3dd064(_0x4ce3d0._0x15003e,_0x4ce3d0._0x1cfe1a)]=_0x29a50c[_0x3dd064(0x1548,0xef7)]['replace'](/<div[^>]+>/g,'')),_0x29a50c;}}register$3('kml',KmlLayer);class CzmlLayer extends CzmGeoJsonLayer{[_0x306755(0x98f,0x643)](_0x599f81){const _0x29e8a4={_0x32be6e:0x646};function _0x5b19c7(_0x25026a,_0x9ed964){return _0x2b6441(_0x9ed964,_0x25026a-0x5a4);}function _0x511664(_0x27cbdc,_0x30d5bb){return _0x306755(_0x30d5bb,_0x27cbdc- -0x292);}super[_0x5b19c7(_0x29e8a4._0x32be6e,0x8e0)](_0x599f81),(this['options']['updateClock']??!![])&&(_0x599f81?this['setCzmlTime']():this[_0x511664(0x13a1,0x15f2)]());}[_0x2b6441(0x5c9,0xe6d)](){const _0x57f692={_0x445272:0x1448,_0x3ca2c0:0x17b7,_0x2e584c:0x183c,_0x56ef93:0x1731,_0x2b2345:0xde0,_0x475e1f:0x120f,_0x52d3da:0x15d2,_0x1232ae:0xe1b,_0x222040:0x3f7,_0x11a968:0x956},_0x2205ac={_0x1fd4f5:0x614};function _0xdde8dc(_0x15de47,_0x5769a3){return _0x2b6441(_0x15de47,_0x5769a3- -0x19);}var _0x3ee0a1;function _0x207ec9(_0x31cb76,_0x31b151){return _0x2b6441(_0x31b151,_0x31cb76-_0x2205ac._0x1fd4f5);}(_0x3ee0a1=this[_0x207ec9(_0x57f692._0x445272,_0x57f692._0x3ca2c0)])!==null&&_0x3ee0a1!==void 0x0&&_0x3ee0a1['clock']&&(this[_0x207ec9(_0x57f692._0x2e584c,_0x57f692._0x56ef93)]['clock']['clockRange']=this['_dataSource'][_0xdde8dc(0x1467,_0x57f692._0x2b2345)][_0x207ec9(0xd61,0x1465)],this[_0xdde8dc(0x12bb,_0x57f692._0x475e1f)]['clock']['multiplier']=this['_dataSource'][_0xdde8dc(_0x57f692._0x52d3da,_0x57f692._0x2b2345)]['multiplier'],this['_map'][_0xdde8dc(0x1319,_0x57f692._0x2b2345)]['startTime']=this[_0xdde8dc(0x396,_0x57f692._0x1232ae)][_0x207ec9(0x140d,0x18cf)]['startTime'],this['_map'][_0x207ec9(0x140d,0xad0)][_0xdde8dc(0x405,_0x57f692._0x222040)]=this['_dataSource']['clock'][_0xdde8dc(0xa6f,0x3f7)],this['_map'][_0x207ec9(0x140d,0xe28)][_0xdde8dc(_0x57f692._0x11a968,0x5f2)]=this['_dataSource'][_0x207ec9(0x140d,0xd5f)][_0x207ec9(0xf5b,0x1051)]);}[_0x306755(0x1ef6,0x1633)](){const _0x58c7c3={_0x5c6cba:0x14ad,_0x351aa7:0x16fe,_0x1d462d:0x16d5};this['_map']['clock']['clockRange']=Cesium__namespace['ClockRange']['UNBOUNDED'];function _0x399e4f(_0x21b280,_0x3bf474){return _0x2b6441(_0x21b280,_0x3bf474-0x10);}this[_0xaa29f4(_0x58c7c3._0x5c6cba,_0x58c7c3._0x351aa7)][_0xaa29f4(0x107e,0x12ba)]['multiplier']=0x1;const _0x1b7db7=Cesium__namespace[_0xaa29f4(_0x58c7c3._0x1d462d,0x1e3f)]['fromDate'](new Date());this['_map']['clock']['startTime']=_0x1b7db7['clone'](),this['_map']['clock']['stopTime']=Cesium__namespace['JulianDate']['addDays'](_0x1b7db7,0x1,new Cesium__namespace['JulianDate']());function _0xaa29f4(_0x355721,_0x3501b4){return _0x2b6441(_0x3501b4,_0x355721-0x285);}this['_map']['clock']['currentTime']=_0x1b7db7['clone']();}['_removedHook'](){super['_removedHook'](),(this['options']['updateClock']??!![])&&this['setNowTime']();}['load'](_0x4dea39={}){const _0x448f7f={_0x536416:0xad,_0x5094c1:0x94f,_0x1da950:0x47b,_0x26b5ae:0x1a5e,_0x267701:0xde3,_0x22028:0x157c,_0x474043:0x7bc},_0x2e432e={_0x560fa3:0x69a};function _0x5c7ce7(_0x57f25f,_0x10b00e){return _0x2b6441(_0x57f25f,_0x10b00e-_0x2e432e._0x560fa3);}function _0x2a872c(_0x10e54b,_0x481bef){return _0x2b6441(_0x10e54b,_0x481bef-0x293);}this[_0x2a872c(-_0x448f7f._0x536416,_0x448f7f._0x5094c1)]={...this[_0x2a872c(_0x448f7f._0x1da950,0x94f)],..._0x4dea39};let _0x339ac5;if(this['options']['url']){const _0x12bfad=getUrlResource(this['options'],this[_0x2a872c(0x12e3,0x1696)]);_0x339ac5=Cesium__namespace['CzmlDataSource'][_0x5c7ce7(_0x448f7f._0x26b5ae,0x1983)](_0x12bfad,this['options']);}else this[_0x2a872c(_0x448f7f._0x267701,0x94f)]['data']?_0x339ac5=Cesium__namespace['CzmlDataSource'][_0x2a872c(0x14ff,_0x448f7f._0x22028)](this[_0x2a872c(0x305,0x94f)][_0x2a872c(_0x448f7f._0x474043,0x10e4)],this['options']):logError('CzmlLayer:请必须传入\x20url\x20或\x20data\x20参数');_0x339ac5['then'](_0x2a5a12=>{function _0x31387e(_0x3b670e,_0x1796ef){return _0x2a872c(_0x1796ef,_0x3b670e-0x1e);}this[_0x31387e(0x926,0x128c)](_0x2a5a12);});}['getEntityAttr'](_0x1b2534){const _0x19e335={_0x1a81f3:0xd83};function _0x5e9de0(_0x285812,_0x35d8ca){return _0x2b6441(_0x35d8ca,_0x285812-0x38b);}function _0xa26004(_0x131c3c,_0x23aa40){return _0x306755(_0x23aa40,_0x131c3c- -0x9e);}if(_0x1b2534['properties'])return getAttrVal(_0x1b2534[_0xa26004(0xab4,0x623)]);if(_0x1b2534['description'])return{'description':getCesiumValue(_0x1b2534[_0xa26004(_0x19e335._0x1a81f3,0x106d)])};}}register$3(_0x306755(0x55f,0xb9f),CzmlLayer);class GraphicGroupLayer extends GroupLayer{get[_0x2b6441(0xa08,0x2e0)](){return this['_hasEdit'];}set['hasEdit'](_0x463c4e){const _0x4f6731={_0x284c4e:0x148e,_0x4ffe8e:0x2fb,_0x81faff:0x9d7,_0x4330fe:0x36e,_0x1d08dc:0x2f9};function _0x304f00(_0x1feef2,_0x4d230c){return _0x306755(_0x1feef2,_0x4d230c- -0x3de);}this[_0x45b807(0xb97,_0x4f6731._0x284c4e)]=_0x463c4e;function _0x45b807(_0x259bc8,_0x12ef2a){return _0x306755(_0x12ef2a,_0x259bc8- -0x3dc);}this[_0x45b807(_0x4f6731._0x4ffe8e,_0x4f6731._0x81faff)]&&(_0x463c4e?this[_0x304f00(-_0x4f6731._0x4330fe,_0x4f6731._0x1d08dc)]['activateEdit']():this['_selectedLayer']['disableEdit']());}get['isAutoEditing'](){const _0x55723b={_0x4f20c5:0x15ae};function _0x2fefe4(_0x337ac2,_0x4fd74c){return _0x306755(_0x4fd74c,_0x337ac2- -0x9d);}return this[_0x2fefe4(0xbc0,_0x55723b._0x4f20c5)]['isAutoEditing'];}set['isAutoEditing'](_0x196394){const _0x54328b={_0x545e04:0xb12},_0x19109f={_0x1b31fb:0x599};function _0x56a9bf(_0x34c7fe,_0x340bf1){return _0x306755(_0x340bf1,_0x34c7fe- -0x5d8);}this[_0x56a9bf(0x685,0xfbf)]['isAutoEditing']=_0x196394;function _0x40e6db(_0x3737e6,_0x473c3c){return _0x306755(_0x473c3c,_0x3737e6- -_0x19109f._0x1b31fb);}this[_0x40e6db(_0x54328b._0x545e04,0x1327)](_0x50b834=>{_0x50b834['isAutoEditing']=_0x196394;},this);}get['selectedLayer'](){const _0x3aaa7a={_0x6cdbd6:0x47c};function _0x497eab(_0xb3b38f,_0x22d3d1){return _0x306755(_0xb3b38f,_0x22d3d1- -0x25b);}return this[_0x497eab(0x832,_0x3aaa7a._0x6cdbd6)];}set['selectedLayer'](_0x35b1f8){const _0x336c8e={_0x86482e:0x4ae,_0x1542d1:0x15f1,_0x4c7c47:0x4ae,_0x1bcd26:0xff5};function _0x4eb4a9(_0x539ef3,_0xa38c96){return _0x306755(_0x539ef3,_0xa38c96- -0x229);}this[_0x4eb4a9(0x1e0,_0x336c8e._0x86482e)]&&(delete this['_selectedLayer'][_0x375efe(_0x336c8e._0x1542d1,0xebd)],this['_selectedLayer'][_0x4eb4a9(0x5f5,0x317)]());!(_0x35b1f8 instanceof GraphicLayer)&&(_0x35b1f8=this['getLayer'](_0x35b1f8));function _0x375efe(_0x161e8f,_0x4d039b){return _0x2b6441(_0x4d039b,_0x161e8f-0x602);}this[_0x4eb4a9(0x5ef,0x4ae)]=_0x35b1f8,this[_0x4eb4a9(-0x1dc,_0x336c8e._0x4c7c47)]&&(this['_selectedLayer'][_0x4eb4a9(_0x336c8e._0x1bcd26,0x1367)]=!![],this['_hasEdit']&&this['_selectedLayer']['activateEdit']());}['isActivate'](_0xad5a2){return _0xad5a2['isActivate'];}['_mountedHook'](){const _0x446cba={_0x5a7e60:0x1148,_0x14df3c:0xe08},_0x44dc22={_0x527492:0x1cf};function _0x5c4141(_0x22b621,_0x52bfe6){return _0x306755(_0x22b621,_0x52bfe6-0xde);}super[_0x11d475(0x113d,0xeb7)]();function _0x11d475(_0xb324dd,_0x2babd8){return _0x306755(_0x2babd8,_0xb324dd- -_0x44dc22._0x527492);}this['options'][_0x5c4141(0x1b98,_0x446cba._0x5a7e60)]&&this['loadGeoJSON'](this[_0x11d475(0xa8e,_0x446cba._0x14df3c)][_0x11d475(0xe9b,0xcb5)]);}[_0x306755(0x104e,0x99e)](){super['_addedHook'](),this['_processForRemoveLayer']();}['_getOrCreateLayer'](_0x406f69){const _0x2271d3={_0xeef0d3:0x11ef,_0x4a6e04:0x10be,_0x45caea:0x14bb},_0x8f3f70={_0x9abef6:0x466};function _0x4e37a6(_0x9053ce,_0x4429c6){return _0x2b6441(_0x4429c6,_0x9053ce-0x2aa);}function _0x4f5dcb(_0x5d0e36,_0x2dc151){return _0x306755(_0x2dc151,_0x5d0e36- -_0x8f3f70._0x9abef6);}if(!_0x406f69)return this[_0x4e37a6(0xc12,0x16be)];if(isObject(_0x406f69)){const _0x222383=this[_0x4e37a6(_0x2271d3._0xeef0d3,_0x2271d3._0x4a6e04)](_0x406f69['name']);if(_0x222383)return Cesium__namespace[_0x4e37a6(_0x2271d3._0x45caea,0x1f62)](_0x406f69['id'])&&(_0x222383['id']=_0x406f69['id']),Cesium__namespace['defined'](_0x406f69['show'])&&(_0x222383[_0x4f5dcb(0x112d,0xc15)]=_0x406f69[_0x4e37a6(0x129c,0xc90)]),_0x222383;}else{const _0x511bbb=this['getLayer'](_0x406f69);if(_0x511bbb)return _0x511bbb;}return this['createLayer'](_0x406f69);}['createLayer'](_0x4e768f){const _0xba0c5f={_0x47c622:0x93d,_0x4dd3ca:0x1376,_0x3ffb43:0x14ac,_0x2665eb:0xca7,_0x4c56d2:0x916},_0x214de6={_0x3512c4:0x524},_0x1d9757=clone(this['options'],['id','pid','geojson',_0x218362(0x11d5,_0xba0c5f._0x47c622)]);function _0x247cab(_0x42e19d,_0x1cd38a){return _0x2b6441(_0x42e19d,_0x1cd38a-_0x214de6._0x3512c4);}_0x1d9757['pid']=this['id'];isObject(_0x4e768f)?(_0x1d9757['name']=_0x4e768f['name'],Cesium__namespace['defined'](_0x4e768f['id'])&&(_0x1d9757['id']=_0x4e768f['id']),Cesium__namespace['defined'](_0x4e768f[_0x218362(_0xba0c5f._0x4dd3ca,0xe18)])&&(_0x1d9757['show']=_0x4e768f['show'])):_0x1d9757['name']=_0x4e768f;const _0x3e8a81=new GraphicLayer(_0x1d9757);if(this['_events']){const _0x184fcd={...this[_0x247cab(_0xba0c5f._0x3ffb43,_0xba0c5f._0x2665eb)]};_0x3e8a81['_events']=_0x184fcd;}this['_map'][_0x247cab(_0xba0c5f._0x4c56d2,0x1118)](_0x3e8a81),this['addLayer'](_0x3e8a81);function _0x218362(_0x3d3002,_0x800116){return _0x2b6441(_0x800116,_0x3d3002-0x384);}return _0x3e8a81;}['deleteLayer'](_0xa69d55){const _0x42282c={_0x43ab59:0xa26,_0xcdef75:0xc15},_0x5d8dbb={_0x180008:0x315},_0x55fc56={_0x221f10:0x4e3};function _0x331779(_0x4a6217,_0x1df88a){return _0x306755(_0x4a6217,_0x1df88a- -_0x55fc56._0x221f10);}function _0xc511c9(_0x4afeab,_0x509794){return _0x2b6441(_0x4afeab,_0x509794-_0x5d8dbb._0x180008);}let _0x464b9e;return _0xa69d55 instanceof GraphicLayer?_0x464b9e=_0xa69d55:_0x464b9e=this['getLayer'](_0xa69d55),_0x464b9e?(this['selectedLayer']===_0x464b9e&&(this[_0x331779(0x1134,_0x42282c._0x43ab59)]=null),removeArrayItem(this[_0xc511c9(_0x42282c._0xcdef75,0xfaa)],_0x464b9e),this['_map']['removeLayer'](_0x464b9e,!![]),this['_processForRemoveLayer'](),!![]):![];}[_0x306755(0x1ac0,0x163a)](){const _0x43978b={_0x5a648f:0xc6c,_0x573e43:0x16f7,_0x93ec8b:0x1286},_0x2516a5={_0x144b25:0xfc};function _0x2a4688(_0x1af4c4,_0x4fe611){return _0x306755(_0x1af4c4,_0x4fe611-_0x2516a5._0x144b25);}for(let _0x4a15a0=this[_0x16ced7(0xec1,_0x43978b._0x5a648f)][_0x2a4688(0x1389,_0x43978b._0x573e43)]-0x1;_0x4a15a0>=0x0;_0x4a15a0--){const _0x47d98=this['_arrLayer'][_0x4a15a0];_0x47d98[_0x16ced7(_0x43978b._0x93ec8b,0x1cfe)]===0x0&&(this['selectedLayer']===_0x47d98&&(this['selectedLayer']=null),this['_arrLayer'][_0x2a4688(0x40b,0x5a7)](_0x4a15a0,0x1),this['_map'][_0x2a4688(0x18b3,0x1920)](_0x47d98,!![]));}this['_processForRemoveLayer']();function _0x16ced7(_0x25cecd,_0x46211a){return _0x2b6441(_0x46211a,_0x25cecd-0x22c);}return this;}[_0x306755(0x1582,0x17fa)](){const _0x15ba17={_0x3347ad:0x2075,_0x632129:0x172a,_0x2c1791:0x17d9,_0x6904b9:0xc40,_0x2a8813:0x1db0},_0x250d37={_0x19aac2:0x2d8},_0x17bf13={_0x4e987b:0x39d};function _0x196188(_0x5d0410,_0xab0979){return _0x2b6441(_0xab0979,_0x5d0410-_0x17bf13._0x4e987b);}function _0x14b37e(_0x2a3c1,_0x15e44c){return _0x2b6441(_0x15e44c,_0x2a3c1-_0x250d37._0x19aac2);}this['_arrLayer']['length']===0x0&&this['options'][_0x196188(0x17d9,_0x15ba17._0x3347ad)]&&(this['selectedLayer']=this[_0x196188(0x1195,_0x15ba17._0x632129)](this['options'][_0x196188(_0x15ba17._0x2c1791,0x1855)])),this[_0x14b37e(_0x15ba17._0x6904b9,0x1ee)]==null&&this['_arrLayer'][_0x14b37e(0x1332,_0x15ba17._0x2a8813)]>0x0&&(this['selectedLayer']=this[_0x14b37e(0xf6d,0x569)][0x0]);}['moveToLayer'](_0x4dc84a,_0x58371d){!(_0x58371d instanceof GraphicLayer)&&(_0x58371d=this['getLayer'](_0x58371d)),_0x4dc84a['remove'](),_0x58371d['addGraphic'](_0x4dc84a);}['getGraphics'](){const _0x16e77a=[];return this['eachGraphic'](_0x597d7a=>{if(_0x597d7a['isPrivate'])return;_0x16e77a['push'](_0x597d7a);},this),_0x16e77a;}['getGraphicById'](_0x28fdb0){if(!_0x28fdb0)return undefined;for(let _0x48399d=this['_arrLayer'][_0x2d9d5d(0x1489,0x14dc)]-0x1;_0x48399d>=0x0;_0x48399d--){const _0x3400bc=this['_arrLayer'][_0x48399d],_0x38d0f3=_0x3400bc['getGraphicById'](_0x28fdb0);if(_0x38d0f3)return _0x38d0f3;}function _0x2d9d5d(_0x3ad98a,_0x4c4ddc){return _0x306755(_0x4c4ddc,_0x3ad98a- -0x172);}return undefined;}['eachGraphic'](_0x3212a7,_0x16d6e4){const _0x5e39d0={_0x18c905:0x951};return this['eachLayer'](_0x3d747e=>{function _0x4aaf26(_0x227327,_0x18a30a){return _0x5bbe(_0x18a30a-0x123,_0x227327);}_0x3d747e[_0x4aaf26(0x4c0,_0x5e39d0._0x18c905)](_0x3212a7,_0x16d6e4);},this),this;}[_0x306755(-0x157,0x83c)](_0x248392=!![]){this['eachLayer'](_0x57ff85=>{_0x57ff85['clear'](_0x248392);},this);}['toGeoJSON'](_0xbb3e75){const _0x128a97={_0x204aa3:0x2e,_0x47ea87:0x2ad,_0x3d234f:0x6d1,_0x40d2d0:0xa2f},_0x23768e={_0x55b543:0x45};_0xbb3e75!==null&&_0xbb3e75!==void 0x0&&_0xbb3e75[_0x1d5f9d(0x72f,_0x128a97._0x204aa3)]&&this[_0x1d5f9d(0xd6a,0xab0)]();const _0x1d91f3=[],_0x471f08=[];this['eachLayer'](_0x2ff69d=>{const _0x25c9d3={_0x3bafaa:0x3f6,_0x274bca:0xaa,_0xd5e4f4:0x3b1,_0x438836:0xa63},_0x667c19={};_0x667c19['id']=_0x2ff69d['id'],_0x667c19['name']=_0x2ff69d['name'],_0x667c19['show']=_0x2ff69d['show'],_0x471f08['push'](_0x667c19),_0x2ff69d['eachGraphic'](_0x3b3ed8=>{if(_0x3b3ed8['isPrivate'])return;const _0x441ea0=_0x3b3ed8[_0x2ccd55(_0x25c9d3._0x3bafaa,0x97)](_0xbb3e75);function _0xb020fe(_0x1d2797,_0x5335f2){return _0x5bbe(_0x1d2797-0x19,_0x5335f2);}function _0x2ccd55(_0x7cfdd2,_0x57d8e2){return _0x5bbe(_0x57d8e2- -0x26f,_0x7cfdd2);}_0x441ea0['properties']['_layer']=_0x2ff69d[_0x2ccd55(-_0x25c9d3._0x274bca,_0x25c9d3._0xd5e4f4)],_0x1d91f3[_0x2ccd55(_0x25c9d3._0x438836,0x1b7)](_0x441ea0);},this);},this);function _0x25b7a8(_0x1be1df,_0x4c4c50){return _0x2b6441(_0x4c4c50,_0x1be1df-0x11a);}const _0x326ad8={};_0x326ad8['id']=this['id'],_0x326ad8[_0x25b7a8(0x40c,0x3c6)]=this[_0x1d5f9d(_0x128a97._0x47ea87,-_0x128a97._0x3d234f)],_0x326ad8['layers']=_0x471f08,_0x326ad8['selected']=this['selectedLayer']['id'];const _0x4e09b5={};_0x4e09b5['type']=_0x1d5f9d(_0x128a97._0x40d2d0,0xbce),_0x4e09b5['layer']=_0x326ad8,_0x4e09b5['features']=_0x1d91f3;function _0x1d5f9d(_0x4dea7c,_0x45b693){return _0x2b6441(_0x45b693,_0x4dea7c- -_0x23768e._0x55b543);}return _0x4e09b5;}[_0x306755(0x2150,0x1680)](_0x569aa8,_0x591c19={}){const _0x5574bf={_0x36a25e:0x5b6,_0x54b516:0x2dc,_0x218f72:0x2fc,_0x4c318f:0x48a,_0x3eab88:0x83,_0x567ac5:0xf2f,_0x43f34f:0x41d,_0xca5579:0x413,_0x377b55:0x1197,_0x5cf4d1:0xe84,_0x31439e:0x6d1,_0x30484d:0x103d,_0x5ea64a:0x122,_0x27e8d7:0xf8c};try{isString(_0x569aa8)&&(_0x569aa8=JSON['parse'](_0x569aa8));}catch(_0x3a92f8){alert(_0x3a92f8[_0x4572d0(_0x5574bf._0x36a25e,_0x5574bf._0x54b516)]+':\x20'+_0x3a92f8['message']+'\x20\x0a请确认json文件格式正确!!!');return;}_0x591c19['clear']&&this[_0x57f494(_0x5574bf._0x218f72,0x773)](!![]);let _0x925951;if(_0x591c19[_0x57f494(_0x5574bf._0x4c318f,-_0x5574bf._0x3eab88)])_0x925951=this[_0x4572d0(0x93a,_0x5574bf._0x567ac5)](_0x591c19[_0x4572d0(_0x5574bf._0x43f34f,_0x5574bf._0xca5579)]);else{var _0x34b446;const _0x5a435c={},_0x3cdca0=(_0x34b446=_0x569aa8)===null||_0x34b446===void 0x0||(_0x34b446=_0x34b446[_0x4572d0(-0x96,0x413)])===null||_0x34b446===void 0x0?void 0x0:_0x34b446[_0x4572d0(0xf76,0x1346)];if(_0x3cdca0){var _0x43379d;for(let _0x1edb88=0x0;_0x1edb88<_0x3cdca0[_0x57f494(0x10bb,_0x5574bf._0x377b55)];_0x1edb88++){const _0x184748=this['_getOrCreateLayer'](_0x3cdca0[_0x1edb88]);_0x5a435c[_0x184748['id']]=_0x184748;}if((_0x43379d=_0x569aa8)!==null&&_0x43379d!==void 0x0&&(_0x43379d=_0x43379d[_0x4572d0(-0xb,0x413)])!==null&&_0x43379d!==void 0x0&&_0x43379d['selected']){var _0x1e1e8c;const _0x552118=_0x5a435c[(_0x1e1e8c=_0x569aa8)===null||_0x1e1e8c===void 0x0||(_0x1e1e8c=_0x1e1e8c[_0x57f494(0x48a,0xb29)])===null||_0x1e1e8c===void 0x0?void 0x0:_0x1e1e8c['selected']];_0x552118&&(this['selectedLayer']=_0x552118);}}}const _0x5f36ed=getGeoJsonFeatures(_0x569aa8);let _0x52eda4=[];for(let _0x472ad7=0x0,_0x321086=_0x5f36ed[_0x57f494(0x10bb,0xcf3)];_0x472ad7<_0x321086;_0x472ad7++){const _0x334bc4=_0x5f36ed[_0x472ad7];let _0x1681d9;if(_0x925951)_0x1681d9=_0x925951;else{var _0x2577e7;const _0x3f2625=_0x334bc4===null||_0x334bc4===void 0x0||(_0x2577e7=_0x334bc4['properties'])===null||_0x2577e7===void 0x0?void 0x0:_0x2577e7[_0x57f494(_0x5574bf._0x5cf4d1,_0x5574bf._0x31439e)];_0x1681d9=_0x3f2625?this[_0x4572d0(_0x5574bf._0x30484d,0xf2f)](_0x3f2625):null,!_0x1681d9&&(_0x1681d9=this['selectedLayer']);}const _0x222a10={..._0x591c19};_0x222a10[_0x57f494(0x2fc,_0x5574bf._0x5ea64a)]=![],_0x222a10['flyTo']=![];const _0x38f4c2=_0x1681d9[_0x57f494(0x1140,_0x5574bf._0x27e8d7)](_0x334bc4,_0x222a10);_0x52eda4=_0x52eda4['concat'](_0x38f4c2);}_0x591c19['flyTo']&&this['_map']['flyToGraphic'](_0x52eda4);function _0x4572d0(_0x42974a,_0x4ec4c4){return _0x306755(_0x42974a,_0x4ec4c4- -0x5b7);}function _0x57f494(_0x479a9f,_0x1fe748){return _0x306755(_0x1fe748,_0x479a9f- -0x540);}return _0x52eda4;}[_0x306755(0x477,0x953)](_0x732b4f){const _0x32bede={_0x197c17:0xf82},_0x27f185={_0x1f4b71:0x442};function _0x48d0bd(_0x4f375d,_0x7738dd){return _0x2b6441(_0x4f375d,_0x7738dd-_0x27f185._0x1f4b71);}_0x732b4f[_0x48d0bd(_0x32bede._0x197c17,0xf0b)]=this['toGeoJSON']();}[_0x306755(0x20d7,0x18e3)](_0x20b863){const _0x2982b2={_0x5322b2:0x14ab,_0x4507b8:0x151e},_0x29f12e={_0x5985aa:0x75};let _0x4bc232;return this['eachGraphic'](_0x27ddac=>{function _0x1062d0(_0xcb3704,_0x1f97ed){return _0x5bbe(_0xcb3704- -0x1c5,_0x1f97ed);}if(_0x27ddac['isPrivate'])return;if(!_0x27ddac[_0x1062d0(_0x2982b2._0x5322b2,0x1a9f)])return;const _0x4d1da7=_0x27ddac['getRectangle']();function _0x41329e(_0x4c9bd8,_0x5869c7){return _0x5bbe(_0x5869c7-_0x29f12e._0x5985aa,_0x4c9bd8);}if(!Cesium__namespace['defined'](_0x4d1da7))return;_0x4bc232?_0x4bc232=Cesium__namespace['Rectangle'][_0x1062d0(_0x2982b2._0x4507b8,0x1c69)](_0x4d1da7,_0x4bc232):_0x4bc232=_0x4d1da7;},this),_0x20b863?formatRectangle(_0x4bc232):_0x4bc232;}[_0x2b6441(0xe33,0xde3)](_0x5f3dfa){const _0x41f772={_0x4f83f7:0x133d};function _0x33cd0d(_0x38c024,_0x4299fc){return _0x2b6441(_0x4299fc,_0x38c024-0x11);}return this['_selectedLayer'][_0x33cd0d(0xdf4,_0x41f772._0x4f83f7)](_0x5f3dfa);}['stopDraw'](){return this['_selectedLayer']['stopDraw']();}['activateEdit'](){return this['_selectedLayer']['activateEdit']();}[_0x2b6441(-0x70e,-0x61)](){const _0x38967a={_0x3e57f1:0x7bd},_0x20c170={_0xc704e5:0x599};function _0x233fb5(_0x285588,_0x272557){return _0x2b6441(_0x285588,_0x272557-0x687);}function _0x48a795(_0x49be08,_0x65bdb9){return _0x2b6441(_0x49be08,_0x65bdb9-_0x20c170._0xc704e5);}return this[_0x233fb5(0xa8c,_0x38967a._0x3e57f1)][_0x233fb5(0x10c8,0x626)]();}}register$3('graphicGroup',GraphicGroupLayer);class GeoJsonLayer extends GraphicLayer{[_0x306755(-0x27d,0x643)](_0x5232ad){const _0x2594fc={_0x39bd58:0xa8f,_0x574c4b:0x7f},_0x462abe={_0x375dcf:0xb4};function _0x558aec(_0xe2463c,_0x2d782c){return _0x306755(_0x2d782c,_0xe2463c- -0x88);}function _0x3e4114(_0x2a8ac9,_0x15e2ea){return _0x306755(_0x15e2ea,_0x2a8ac9-_0x462abe._0x375dcf);}super['_showHook'](_0x5232ad),_0x5232ad&&this[_0x3e4114(_0x2594fc._0x39bd58,_0x2594fc._0x574c4b)]&&(this[_0x3e4114(0xa8f,0x12c5)]=![],this['load']());}[_0x306755(0x40e,0x99e)](){const _0x1ae013={_0x95fb7d:0xedb,_0x3cd33d:0x15a2};super['_addedHook']();function _0x18bace(_0x68ec26,_0x187118){return _0x306755(_0x68ec26,_0x187118-0x94);}function _0x14d063(_0xaa4145,_0x2e3463){return _0x2b6441(_0xaa4145,_0x2e3463-0x2b9);}this['show']?this[_0x14d063(_0x1ae013._0x95fb7d,_0x1ae013._0x3cd33d)]():this[_0x14d063(0xe35,0x6f3)]=!![];}['_removedHook'](){const _0x2af967={_0x4212ee:0xc99};function _0x388ffb(_0x17bd2c,_0xbb7951){return _0x2b6441(_0xbb7951,_0x17bd2c-0x257);}super[_0x4ddcd1(0xe6c,_0x2af967._0x4212ee)]();function _0x4ddcd1(_0x4e199a,_0x1f0c05){return _0x2b6441(_0x1f0c05,_0x4e199a-0x5e2);}this[_0x388ffb(0x4f2,0x709)]();}[_0x2b6441(0x1364,0x12e9)](_0x43558e){const _0x42e606={_0x3871a5:0xc7f,_0x36c8a7:0xcf9,_0x4df0ff:0x8fc,_0x2f06e8:0xdea,_0x466f39:0x1296,_0x491350:0xcc8,_0x7e6fe4:0xda0,_0x11efe2:0x14c7,_0x50eb47:0xd1d},_0x357dfb={_0x5e4846:0xfb7},_0x1261c0={_0x217aa8:0x319},_0x24c57c={_0x4299b7:0x1249};_0x43558e&&(Cesium__namespace['defaultValue'](_0x43558e['clear'],!![])&&(delete this['options'][_0xeda46f(0x965,_0x42e606._0x3871a5)],delete this[_0x3d06a1(0xb27,0x45e)]['data']),this[_0xeda46f(_0x42e606._0x36c8a7,_0x42e606._0x4df0ff)](),this['options']={...this[_0xeda46f(_0x42e606._0x2f06e8,0xd1d)],..._0x43558e});function _0xeda46f(_0x4c633c,_0x4725a1){return _0x306755(_0x4c633c,_0x4725a1-0xc0);}function _0x3d06a1(_0x335760,_0x18382a){return _0x306755(_0x18382a,_0x335760- -0x136);}if(this['options'][_0xeda46f(0x16cb,0xc7f)]){const _0x37a7bb={...this['options']};_0x37a7bb[_0x3d06a1(0x9b2,0xe77)]=this[_0xeda46f(0x1c7f,_0x42e606._0x466f39)],sendAjax(_0x37a7bb)[_0x3d06a1(0x11cd,0xf9b)](_0x4af429=>{function _0x343f60(_0x5ded03,_0x584dec){return _0x3d06a1(_0x584dec-0x12c,_0x5ded03);}this[_0x343f60(_0x24c57c._0x4299b7,0x11fd)](_0x4af429);})[_0xeda46f(_0x42e606._0x491350,0xfda)](_0x5b3487=>{const _0x56e8e4={_0x31a4a4:0xb3};var _0x33d656;function _0x104bfc(_0xcd602c,_0x143599){return _0x3d06a1(_0xcd602c- -_0x1261c0._0x217aa8,_0x143599);}logError('fetchJson出错了',_0x5b3487);function _0x269a86(_0x560a0e,_0x1de109){return _0x3d06a1(_0x560a0e-_0x56e8e4._0x31a4a4,_0x1de109);}(_0x33d656=this['_readyPromise'])!==null&&_0x33d656!==void 0x0&&_0x33d656['reject']&&this[_0x269a86(_0x357dfb._0x5e4846,0x1258)][_0x269a86(0x1008,0xb81)](_0x5b3487);});}else this[_0x3d06a1(0xb27,_0x42e606._0x7e6fe4)]['data']?this['_load_data'](this[_0xeda46f(_0x42e606._0x11efe2,_0x42e606._0x50eb47)]['data']):_0x43558e&&logWarn('GeoJsonLayer:没有传入\x20url\x20或\x20data\x20参数,请确认是否有误。');}['_load_data'](_0x3d97b7){const _0x56c50f={_0x26074a:0x1477,_0x1440df:0x144f,_0x30c1d5:0xe4b},_0x304ff8={_0x25beb6:0x370};if(!this['_map']||this[_0x17ba48(0x7a8,0x9a3)])return;this['options']['format']&&(_0x3d97b7=this[_0x17ba48(0xa2c,_0x56c50f._0x26074a)]['format'](_0x3d97b7));_0x3d97b7=this['_formatForMask'](_0x3d97b7);function _0x5d81c7(_0x133d00,_0x468e42){return _0x2b6441(_0x133d00,_0x468e42-0x3a8);}function _0x17ba48(_0x5ad75c,_0x590d77){return _0x2b6441(_0x590d77,_0x5ad75c-_0x304ff8._0x25beb6);}const _0x5c8104=this[_0x17ba48(_0x56c50f._0x1440df,0x10e3)](_0x3d97b7,{'clear':!![],'enabledEvent':![],'toPrimitive':this['options']['toPrimitive']}),_0xa60b72=[];_0x5c8104['forEach'](_0x41bc8f=>{if(!_0x41bc8f)return;const _0x3cccf1={..._0x41bc8f['attr']};_0x3cccf1['graphic']=_0x41bc8f,_0xa60b72['push'](_0x3cccf1);});const _0x5156ff={};_0x5156ff['geojson']=_0x3d97b7,_0x5156ff['list']=_0xa60b72,_0x5156ff[_0x17ba48(0x11a0,0x1bd0)]=_0x5c8104,this[_0x5d81c7(0x4a0,0x690)](EventType['load'],_0x5156ff),this['_readyPromise'][_0x5d81c7(0x189d,_0x56c50f._0x30c1d5)](this);}['_formatForMask'](_0x4c44a7){const _0x548717={_0x4e6453:0x1040,_0x22abe6:0xd6a,_0x26d90a:0x1243,_0x131126:0x13db,_0x1e750b:0x83,_0x18ce72:0x1443,_0x2f05c3:0x1553,_0x4299e2:0xd6d,_0x53dd9d:0x479,_0x183701:0x7e,_0x19317c:0xb01,_0x220e6a:0x222,_0x1208e4:0x4a8,_0x300d21:0x17a,_0x2eae4a:0xa4d,_0x22834a:0x44,_0x527248:0x4a8,_0x44be6d:0xd1f,_0x498e76:0xe33,_0x26563a:0x398,_0x2c9a1b:0xde9,_0x417e9f:0x447},_0x50b00a=this['options']['mask'];function _0x3ef94d(_0x4c46fd,_0x3c86d0){return _0x2b6441(_0x4c46fd,_0x3c86d0-0x491);}if(!_0x50b00a)return _0x4c44a7;if(!_0x4c44a7['features']||_0x4c44a7['features'][_0x3ef94d(_0x548717._0x4e6453,0x14eb)]===0x0)return _0x4c44a7;_0x4c44a7=clone(_0x4c44a7),_0x4c44a7['features'][_0x3ef94d(_0x548717._0x22abe6,0x39b)](0x1,_0x4c44a7['features'][_0x2156d5(_0x548717._0x26d90a,_0x548717._0x131126)]-0x1),this['_extent']=getExtentByGeoJSON(_0x4c44a7);const _0x56a7c4=_0x4c44a7['features'][0x0];_0x56a7c4['properties']=_0x56a7c4[_0x3ef94d(-_0x548717._0x1e750b,0xa42)]||{},_0x56a7c4['properties'][_0x2156d5(0xa36,_0x548717._0x18ce72)]='mask';if(_0x56a7c4['geometry'][_0x3ef94d(0xb1c,_0x548717._0x2f05c3)]===_0x2156d5(_0x548717._0x4299e2,0x7ad));else{if(_0x56a7c4['geometry'][_0x3ef94d(0xd06,0x1553)]==='MultiPolygon'){const _0x40d629=[];for(let _0x527f1b=0x0,_0x28db8a=_0x56a7c4['geometry'][_0x3ef94d(0x230,0xb01)]['length'];_0x527f1b<_0x28db8a;_0x527f1b++){const _0x43616b=_0x56a7c4[_0x3ef94d(0x841,0x4a8)]['coordinates'][_0x527f1b];_0x43616b['length']>0x0&&_0x40d629[_0x2156d5(0x6d3,_0x548717._0x53dd9d)](_0x43616b[0x0]);}const _0x55f899={};_0x55f899['type']=_0x2156d5(0xa81,0x7ad),_0x55f899[_0x3ef94d(_0x548717._0x183701,_0x548717._0x19317c)]=[_0x40d629],_0x56a7c4[_0x3ef94d(-_0x548717._0x220e6a,_0x548717._0x1208e4)]=_0x55f899;}else{if(_0x56a7c4[_0x3ef94d(_0x548717._0x300d21,0x4a8)]['type']===_0x2156d5(_0x548717._0x2eae4a,0xa8d)){const _0x2c0516=[];for(let _0x52c25c=0x0,_0x1b8cac=_0x56a7c4[_0x3ef94d(-_0x548717._0x22834a,_0x548717._0x527248)][_0x3ef94d(_0x548717._0x44be6d,0x1349)]['length'];_0x52c25c<_0x1b8cac;_0x52c25c++){const _0x48652a=_0x56a7c4[_0x2156d5(_0x548717._0x498e76,_0x548717._0x26563a)]['geometries'][_0x52c25c]['coordinates'];_0x48652a['length']>0x0&&_0x2c0516['push'](_0x48652a[0x0]);}const _0x511f98={};_0x511f98[_0x3ef94d(_0x548717._0x2c9a1b,0x1553)]='Polygon',_0x511f98[_0x3ef94d(_0x548717._0x417e9f,0xb01)]=[_0x2c0516],_0x56a7c4['geometry']=_0x511f98;}}}function _0x2156d5(_0x408b72,_0x520f97){return _0x306755(_0x408b72,_0x520f97- -0x220);}return _0x4c44a7;}[_0x306755(0xa4e,0x953)](_0x16a61d){}[_0x306755(0x1b77,0x18d1)](_0x257559,_0x303ad0){const _0x52545b={_0x3dbd0a:0x129d,_0x529c9d:0x12b4,_0x1f3c9d:0x1903},_0x3235c5={_0x587d45:0x7d4,_0x46bfda:0xfe0},_0x592f2e={_0x3a40e5:0x2f},_0x894c47={_0x1a51ad:0x79};var _0x595d98;function _0x375b16(_0x408f0c,_0x594c36){return _0x306755(_0x594c36,_0x408f0c-_0x894c47._0x1a51ad);}super['_setOptionsHook'](_0x257559,_0x303ad0);function _0x26c104(_0x330cf9,_0x14375b){return _0x306755(_0x330cf9,_0x14375b- -0x4ab);}if(!this[_0x375b16(0x1842,0x1a33)])return;_0x303ad0['symbol']&&!((_0x595d98=_0x303ad0[_0x375b16(0xc3e,_0x52545b._0x3dbd0a)])!==null&&_0x595d98!==void 0x0&&_0x595d98[_0x375b16(0x16dc,_0x52545b._0x529c9d)])?this['eachGraphic'](_0x3bf45c=>{const _0x435f58=getSymbolStyle(_0x257559[_0x266fb1(0xdc8,0xba8)],_0x3bf45c['attr']);function _0x21e7cf(_0x2e3f53,_0x269698){return _0x26c104(_0x269698,_0x2e3f53- -_0x592f2e._0x3a40e5);}function _0x266fb1(_0x3c0250,_0x52ece3){return _0x26c104(_0x3c0250,_0x52ece3-0x48e);}delete _0x435f58[_0x21e7cf(_0x3235c5._0x587d45,_0x3235c5._0x46bfda)],_0x3bf45c['style']=_0x435f58;}):(this['clear'](),this[_0x375b16(_0x52545b._0x1f3c9d,0x1a3b)]());}}register$3('geojson',GeoJsonLayer);class ModelLayer extends GraphicLayer{get['scaleplate'](){return this['_layerImg'];}['_mountedHook'](){const _0x11693b={_0x218780:0x393,_0x148071:0xb4a,_0x22ec25:0x89f,_0x4f8f08:0x604,_0x44aabc:0x7ba};super[_0xcd0fc4(0x16a4,0xf4e)]();function _0x35b9ce(_0xc60de,_0x2907fc){return _0x306755(_0xc60de,_0x2907fc- -0x4ba);}function _0xcd0fc4(_0x55f392,_0x4a2db6){return _0x306755(_0x55f392,_0x4a2db6- -0x3be);}this['options'][_0xcd0fc4(_0x11693b._0x218780,0x498)]&&(this[_0x35b9ce(0x456,0xd94)]=this['addGraphic']({...this[_0xcd0fc4(_0x11693b._0x148071,_0x11693b._0x22ec25)],'type':this['graphicType']??_0xcd0fc4(_0x11693b._0x4f8f08,_0x11693b._0x44aabc)}));}['_showHook'](_0x352ffb){const _0x4675ac={_0xf75f8e:0x572};function _0x558f36(_0x121bd8,_0x38ec1a){return _0x306755(_0x38ec1a,_0x121bd8- -_0x4675ac._0xf75f8e);}super['_showHook'](_0x352ffb);function _0x259a63(_0xa65b92,_0xcfc027){return _0x306755(_0xa65b92,_0xcfc027-0x144);}this[_0x259a63(0x612,0x62f)]&&(this[_0x558f36(-0x87,0xdc)]['show']=_0x352ffb);}[_0x306755(0xc1d,0x99e)](){const _0x488221={_0x31e6fb:0x7fa,_0x195f6f:0x14d5,_0x495e9c:0x9bd,_0x2160c4:0x1383,_0x3a4c30:0x13e0,_0x2f5674:0x127};function _0xb6869b(_0x1ed954,_0x47e425){return _0x306755(_0x1ed954,_0x47e425- -0x1a4);}function _0x4d0e12(_0x5d65bf,_0x250731){return _0x2b6441(_0x250731,_0x5d65bf- -0x71);}super[_0xb6869b(0xc4c,_0x488221._0x31e6fb)](),this['options'][_0xb6869b(_0x488221._0x195f6f,0x10af)]&&(this['_layerImg']=new ImageLayer({'name':this['name']+_0x4d0e12(_0x488221._0x495e9c,-0xb),'rectangle':this[_0xb6869b(_0x488221._0x2160c4,0x10ae)](),'zIndex':0x3e7,...this['options']['scaleplate'],'private':!![]}),this[_0xb6869b(_0x488221._0x3a4c30,0x1625)]['addLayer'](this[_0x4d0e12(-_0x488221._0x2f5674,-0x90b)]));}['_removedHook'](){const _0x108da8={_0x5af99c:0x5ce,_0x566fe2:0x1256,_0x4a37f1:0x195c},_0x24c0a8={_0x4330e8:0x2a1},_0x2bfa8f={_0x4e44f6:0x2e};function _0x258ca1(_0x4e37b5,_0x13e3bd){return _0x2b6441(_0x13e3bd,_0x4e37b5-_0x2bfa8f._0x4e44f6);}this['clear']();function _0x3fbd35(_0x502414,_0x4bf6fd){return _0x2b6441(_0x502414,_0x4bf6fd-_0x24c0a8._0x4330e8);}this[_0x3fbd35(_0x108da8._0x5af99c,0x1eb)]&&(this[_0x258ca1(_0x108da8._0x566fe2,_0x108da8._0x4a37f1)]['removeLayer'](this['_layerImg']),delete this['_layerImg']);}['_setOptionsHook'](_0x3c71ec,_0x4f3e21){const _0x2a97b9={_0x5d1e89:0xaad,_0x3dcd56:0x106a,_0x6c6a75:0xb66,_0x185f73:0x498,_0x410a1a:0x112c,_0xc6e45f:0x6fc,_0x39f35e:0xba9,_0x2edf31:0x467};function _0x275048(_0x20f39b,_0x1aaea4){return _0x306755(_0x20f39b,_0x1aaea4- -0x4f6);}super['_setOptionsHook'](_0x3c71ec,_0x4f3e21);(_0x4f3e21['position']||_0x4f3e21[_0x275048(_0x2a97b9._0x5d1e89,0x360)]||_0x4f3e21[_0x37f1d7(_0x2a97b9._0x3dcd56,_0x2a97b9._0x6c6a75)])&&this['_graphicModel']&&this['_graphicModel']['setOptions'](_0x4f3e21);function _0x37f1d7(_0x8c7232,_0x253b42){return _0x2b6441(_0x8c7232,_0x253b42-0x40b);}_0x4f3e21['scaleplate']&&this['_layerImg']&&((_0x4f3e21['scaleplate']['width']||_0x4f3e21[_0x275048(_0x2a97b9._0x185f73,0xd5d)][_0x275048(_0x2a97b9._0x410a1a,_0x2a97b9._0xc6e45f)])&&(_0x4f3e21[_0x275048(_0x2a97b9._0x39f35e,0xf23)]=this[_0x275048(0x1274,0xd5c)]()),this[_0x37f1d7(_0x2a97b9._0x2edf31,0x355)][_0x275048(0x89d,0x827)](_0x4f3e21[_0x275048(0x35e,0xd5d)]));}[_0x306755(0x18e8,0x1252)](){const _0x4cd17f={_0x90474a:0xba8,_0x3e6f29:0xdd5,_0xaa7807:0xcc2,_0x3d229a:0x1460,_0x3d50e1:0x12cd,_0x44f87b:0xb28,_0x3cbc02:0x10a7,_0x4305b0:0x10d8,_0x27d50a:0x1344};let _0x38187c=this[_0x249d3d(0xab1,_0x4cd17f._0x90474a)][_0x480c19(_0x4cd17f._0x3e6f29,_0x4cd17f._0xaa7807)][_0x480c19(0x3cf,0x65a)]??0x64,_0x5f59f5=this['options'][_0x480c19(_0x4cd17f._0x3d229a,0xcc2)]['height']??_0x38187c??0x64;function _0x480c19(_0x5d037f,_0xcd2337){return _0x306755(_0x5d037f,_0xcd2337- -0x591);}this['options'][_0x480c19(_0x4cd17f._0x3d50e1,_0x4cd17f._0xaa7807)][_0x249d3d(_0x4cd17f._0x44f87b,0x1f6)]&&(_0x38187c*=this['options'][_0x249d3d(_0x4cd17f._0x3cbc02,0xf56)]['scale'],_0x5f59f5*=this[_0x249d3d(0xab1,0x629)]['scaleplate']['scale']);const _0x51116c={};_0x51116c['center']=this['options']['position'],_0x51116c[_0x249d3d(0xa3f,0x1412)]=_0x38187c;function _0x249d3d(_0x17195e,_0x514407){return _0x2b6441(_0x514407,_0x17195e-0x3f5);}_0x51116c['height']=_0x5f59f5;const _0x5815af={};return _0x5815af[_0x249d3d(_0x4cd17f._0x4305b0,_0x4cd17f._0x27d50a)]=!![],getRectangle(getRectPositionsByCenter(_0x51116c),_0x5815af);}[_0x2b6441(0x5b4,0x3b2)](_0x3dd2f4){}}register$3('model',ModelLayer);class BusineDataLayer extends GraphicLayer{['_showHook'](_0x6409fd){super['_showHook'](_0x6409fd),_0x6409fd&&this['_hasLoad']&&(this['_hasLoad']=![],this['load']());}['_addedHook'](){const _0x418e08={_0x3c83e6:0x1832},_0x300c29={_0x18fce2:0x3da};super['_addedHook']();function _0x17de4e(_0x2519ef,_0x20e678){return _0x306755(_0x20e678,_0x2519ef- -_0x300c29._0x18fce2);}this[_0x17de4e(0x11b9,_0x418e08._0x3c83e6)]?this['load']():this['_hasLoad']=!![];}['_removedHook'](){const _0x3f2386={_0x122324:0x7ab};super['_removedHook']();function _0x2976fb(_0x41419f,_0x506511){return _0x306755(_0x41419f,_0x506511- -0x91);}this[_0x2976fb(0x2eb,_0x3f2386._0x122324)]();}[_0x2b6441(0xc07,0x12e9)](_0x5f2cfd){const _0xc2752e={_0x1fed08:0x67c,_0x129143:0x864,_0x155cc3:0x1158,_0x1cb629:0x7c3,_0x48f3fa:0x36f,_0xfe3723:0xe0e,_0x23aca9:0xdee,_0x5a8038:0x5b3},_0x3a485b={_0x4b9d59:0x186a,_0x188b80:0x11d7};function _0x392ba5(_0x175cc1,_0x4af1bb){return _0x2b6441(_0x175cc1,_0x4af1bb-0x1a8);}_0x5f2cfd&&(Cesium__namespace[_0x526b28(0x2e7,_0xc2752e._0x1fed08)](_0x5f2cfd[_0x526b28(0x808,0x20e)],!![])&&(delete this[_0x392ba5(0xac9,_0xc2752e._0x129143)]['url'],delete this[_0x392ba5(0x976,0x864)][_0x392ba5(_0xc2752e._0x155cc3,0xff9)]),this['clear'](),this[_0x392ba5(-0x15f,_0xc2752e._0x129143)]={...this[_0x392ba5(_0xc2752e._0x1cb629,0x864)],..._0x5f2cfd});function _0x526b28(_0x1922ca,_0xf4e171){return _0x2b6441(_0x1922ca,_0xf4e171- -0x8d);}if(this['options']['url']){const _0x2e7885={...this[_0x526b28(_0xc2752e._0x48f3fa,0x62f)]};_0x2e7885['proxy']=this[_0x526b28(0x14a6,0xba8)],fetchJson(_0x2e7885)['then'](_0x591028=>{if(!this['_map']||!this['isAdded'])return;this['_load_data'](_0x591028);})['catch'](_0x253f7d=>{var _0x2b5d6e;function _0x2fe3d6(_0x4edcca,_0x19cc47){return _0x526b28(_0x4edcca,_0x19cc47-0x77a);}logError('fetchJson出错了',_0x253f7d);function _0x5dc2f1(_0x240cd6,_0x45576c){return _0x526b28(_0x240cd6,_0x45576c-0x73b);}(_0x2b5d6e=this['_readyPromise'])!==null&&_0x2b5d6e!==void 0x0&&_0x2b5d6e[_0x2fe3d6(0x720,0x11d7)]&&this['_readyPromise'][_0x2fe3d6(_0x3a485b._0x4b9d59,_0x3a485b._0x188b80)](_0x253f7d);});}else this['options']['data']?this[_0x392ba5(0xbd5,_0xc2752e._0xfe3723)](this[_0x392ba5(0x2fe,_0xc2752e._0x129143)][_0x392ba5(0x1897,0xff9)]):_0x5f2cfd&&logWarn(_0x392ba5(_0xc2752e._0x23aca9,_0xc2752e._0x5a8038));}['_load_data'](_0x536b16){const _0x1051c8={_0x547075:0x1e64,_0x328cd4:0x9ae,_0x3b73f0:0x1662,_0x1279e8:0x18fc,_0x12bdda:0x116f,_0x6b1266:0x14d,_0x1842c1:0x5e8,_0x395392:0x942,_0x594cdb:0xfa3,_0x79dc0:0xee2,_0x3d0456:0x988,_0x48cf95:0x100b,_0x33cc73:0x1f80,_0x1d8f55:0x3f5,_0x59ce34:0x1243,_0x1898f5:0x8ff,_0x2c8f72:0x113,_0x130062:0x12c1,_0x2347c1:0x14ed,_0x175236:0xb9f,_0x1a31f5:0xe27,_0x2cceb4:0x19e5,_0x2e8e8e:0x18c6,_0x50d5ac:0x1341,_0x1798e6:0x9a3};if(this['options'][_0x4a7fa5(0x1662,_0x1051c8._0x547075)]){const _0x1a7884=this[_0xda367a(_0x1051c8._0x328cd4,0x605)][_0x4a7fa5(_0x1051c8._0x3b73f0,_0x1051c8._0x1279e8)][_0xda367a(0x8d6,_0x1051c8._0x12bdda)]('.');_0x1a7884[_0xda367a(-_0x1051c8._0x6b1266,_0x1051c8._0x1842c1)](_0x1fd076=>{_0x536b16=_0x536b16[_0x1fd076];});}function _0xda367a(_0x410efa,_0x3f7f1a){return _0x2b6441(_0x410efa,_0x3f7f1a- -0xb7);}this['options']['formatData']&&(_0x536b16=this['options']['formatData'](_0x536b16));function _0x4a7fa5(_0x370d6a,_0x2b71ba){return _0x2b6441(_0x2b71ba,_0x370d6a-0x5ed);}const _0x36bb3b=[];for(let _0x2c7f56=0x0,_0x4c9da7=_0x536b16[_0xda367a(_0x1051c8._0x395392,_0x1051c8._0x594cdb)];_0x2c7f56<_0x4c9da7;_0x2c7f56++){const _0x2fe841=_0x536b16[_0x2c7f56];let _0x26a601={};if(_0x2fe841['style']){const _0x159ff7={..._0x2fe841['style']};_0x26a601=_0x159ff7;}const _0x4a3dd9=this['options']['symbol'];let _0xeea647=_0x2fe841[_0x4a7fa5(0x16af,_0x1051c8._0x79dc0)]&&hasType(_0x2fe841[_0xda367a(_0x1051c8._0x3d0456,_0x1051c8._0x48cf95)])?_0x2fe841['type']:_0x4a7fa5(0x18b5,_0x1051c8._0x33cc73);if(_0x4a3dd9){if(isFunction(_0x4a3dd9))_0x26a601=_0x4a3dd9(_0x2fe841,_0x26a601)||_0x26a601,_0x26a601['type']&&(_0xeea647=_0x26a601['type']);else{_0xeea647=_0x4a3dd9['type']||_0xeea647;const _0x519bd9=getSymbolStyle(_0x4a3dd9,_0x2fe841||{});_0x4a3dd9['merge']?_0x26a601={..._0x519bd9,..._0x26a601}:_0x26a601=_0x519bd9;}}if(!hasType(_0xeea647)){logError(_0xda367a(-_0x1051c8._0x1d8f55,0x77),_0x2fe841);continue;}const _0x1fed2e={};_0x1fed2e['type']=_0xeea647,_0x1fed2e[_0x4a7fa5(0x8a2,0xfe0)]=_0x26a601,_0x1fed2e['attr']=_0x2fe841;const _0x2a5a59=_0x1fed2e;if(isPointType(_0xeea647)){if(_0x2fe841[_0x4a7fa5(_0x1051c8._0x59ce34,0x10a8)])_0x2a5a59['position']=_0x2fe841['position'];else{if(this[_0x4a7fa5(0xca9,0x4e8)]['formatPosition'])_0x2a5a59['position']=this['options']['formatPosition'](_0x2fe841,_0x2a5a59);else{if(this['options'][_0xda367a(0x14d8,0x1308)]||this['options']['lngColumn']){const _0x46c8c7=_0x2fe841[this['options'][_0x4a7fa5(0x19ac,0x212c)]||'lat'],_0xad7919=_0x2fe841[this[_0xda367a(-0x278,0x605)][_0x4a7fa5(_0x1051c8._0x1898f5,_0x1051c8._0x2c8f72)]||_0x4a7fa5(0xa4a,0x20b)],_0x2af157=_0x2fe841[this['options'][_0xda367a(0xa89,_0x1051c8._0x130062)]||'alt']||0x0;_0x2a5a59[_0xda367a(_0x1051c8._0x2347c1,_0x1051c8._0x175236)]=[_0xad7919,_0x46c8c7,_0x2af157];}else _0x2fe841['lat']&&_0x2fe841['lng']&&(_0x2a5a59['position']=[_0x2fe841[_0xda367a(0x7cf,0x3a6)],_0x2fe841['lat'],_0x2fe841['alt']||0x0]);}}if(!_0x2a5a59['position']){logError(_0x4a7fa5(0x682,0xa93),_0x2fe841);continue;}}else{if(_0x2fe841[_0xda367a(_0x1051c8._0x1a31f5,0x1341)])_0x2a5a59[_0x4a7fa5(_0x1051c8._0x2cceb4,_0x1051c8._0x2e8e8e)]=_0x2fe841[_0x4a7fa5(0x19e5,0x1b37)];else this[_0x4a7fa5(0xca9,0xaae)]['formatPosition']&&(_0x2a5a59[_0xda367a(0x13d1,_0x1051c8._0x50d5ac)]=this[_0xda367a(0x2ec,0x605)][_0xda367a(0x546,0x968)](_0x2fe841,_0x2a5a59));if(!_0x2a5a59['positions']){logError('无法解析数据positions坐标位置',_0x2fe841);continue;}}_0x36bb3b['push'](_0x2a5a59);}const _0x562fb5={};_0x562fb5['enabledEvent']=![];const _0x500dae=this['_addGraphicByArrOptions'](_0x36bb3b,_0x562fb5),_0x29d8bf=[];_0x500dae['forEach'](_0x4c96d8=>{const _0xe06576={..._0x4c96d8['attr']};_0xe06576['graphic']=_0x4c96d8,_0x29d8bf['push'](_0xe06576);});const _0x1b2a4={};_0x1b2a4[_0x4a7fa5(0xbca,0x125e)]=_0x536b16,_0x1b2a4[_0x4a7fa5(0x967,0x13ff)]=_0x29d8bf,_0x1b2a4[_0x4a7fa5(0x141d,0x1162)]=_0x500dae,this['fire'](EventType[_0xda367a(_0x1051c8._0x1798e6,0x1232)],_0x1b2a4),this['_readyPromise']['resolve'](this);}[_0x2b6441(0xe39,0x3b2)](_0x653488){}[_0x2b6441(0x1036,0x1330)](_0x4def7c,_0xbce556){const _0x288575={_0x189451:0x183e,_0xa9d7a3:0xdd7,_0x47d270:0x45f,_0x2094f8:0x800,_0x5aa784:0x12b9},_0x4121b5={_0x3d8c81:0xbff},_0x380e4f={_0x51d2f9:0x75};var _0x5bb11a;function _0x4e5406(_0x57157f,_0xd249dd){return _0x306755(_0xd249dd,_0x57157f- -0x642);}function _0x2903bd(_0x19ac27,_0x4c8c1e){return _0x306755(_0x4c8c1e,_0x19ac27-_0x380e4f._0x51d2f9);}super['_setOptionsHook'](_0x4def7c,_0xbce556);if(!this[_0x2903bd(_0x288575._0x189451,_0x288575._0xa9d7a3)])return;_0xbce556['symbol']&&!((_0x5bb11a=_0xbce556['symbol'])!==null&&_0x5bb11a!==void 0x0&&_0x5bb11a['type'])?this[_0x4e5406(_0x288575._0x47d270,_0x288575._0x2094f8)](_0x209cce=>{function _0x19c49b(_0x500eec,_0x4f7116){return _0x2903bd(_0x500eec- -0x354,_0x4f7116);}const _0x565dac=getSymbolStyle(_0x4def7c['symbol'],_0x209cce[_0x19c49b(0xa1d,_0x4121b5._0x3d8c81)]);_0x209cce['style']=_0x565dac;}):(this[_0x2903bd(0x8b1,_0x288575._0x5aa784)](),this['load']());}}register$3(_0x306755(0x17f8,0x124b),BusineDataLayer);var JzwStyleFS='void\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20vec4\x20position\x20=\x20czm_inverseModelView\x20*\x20vec4(fsInput.attributes.positionEC,1);\x20//\x20位置\x0a\x0a\x20\x20//\x20注意shader中写浮点数是,一定要带小数点,否则会报错,比如0需要写成0.0,1要写成1.0\x0a\x20\x20float\x20_baseHeight\x20=\x20u_mars3d_jzw_baseHeight;\x20//\x20物体的基础高度,需要修改成一个合适的建筑基础高度\x0a\x20\x20float\x20_heightRange\x20=\x20u_mars3d_jzw_heightRange;\x20//\x20高亮的范围(_baseHeight\x20~\x20_baseHeight\x20+\x20_heightRange)\x0a\x20\x20float\x20_glowRange\x20=\x20u_mars3d_jzw_glowRange;\x20//\x20光环的移动范围(高度)\x0a\x0a\x20\x20//\x20建筑基础色\x0a\x20\x20//vec4\x20diffuse\x20=\x20vec4(0.2,\x20\x200.5,\x201.0,\x201.0);\x20//\x20固定颜色\x0a\x20\x20vec4\x20diffuse\x20=\x20vec4(material.diffuse,\x20material.alpha);\x20//\x20颜色\x0a\x0a\x20\x20float\x20modelHeight\x20=\x20position.z;\x0a\x20\x20if(u_mars3d_jzw_upAxis\x20==\x201)\x20{\x0a\x20\x20\x20\x20modelHeight\x20=\x20position.y;\x0a\x20\x20}\x20else\x20if(u_mars3d_jzw_upAxis\x20==\x200){\x0a\x20\x20\x20\x20modelHeight\x20=\x20position.x;\x0a\x20\x20}\x0a\x0a\x20\x20float\x20mars_height\x20=\x20modelHeight\x20-\x20_baseHeight;\x0a\x20\x20diffuse\x20*=\x20vec4(vec3(mars_height\x20/\x20_heightRange),\x201.0);\x20\x20//\x20渐变\x0a\x0a\x20\x20//\x20动态光环\x0a\x20\x20float\x20time\x20=\x20fract(czm_frameNumber\x20/\x20360.0);\x0a\x20\x20time\x20=\x20abs(time\x20-\x200.5)\x20*\x202.0;\x0a\x20\x20float\x20diff\x20=\x20step(0.005,\x20abs(\x20clamp(mars_height\x20/\x20_glowRange,\x200.0,\x201.0)\x20-\x20time));\x0a\x0a\x20\x20material.diffuse\x20=\x20vec3(diffuse.rgb\x20+\x20diffuse.rgb\x20*\x20(1.0\x20-\x20diff))\x20;\x0a}\x0a';class TilesetEditBase extends BaseThing{constructor(_0x58ae5a={}){const _0x2fb8a6={_0x2f0172:0x7ff,_0x2a8f2e:0x3b1},_0x3d1054={_0x38e2d3:0x5e2};function _0x59da4e(_0x12e88f,_0x1b1b14){return _0x306755(_0x12e88f,_0x1b1b14- -_0x3d1054._0x38e2d3);}super(_0x58ae5a),!isMars3DCesium&&logError('该功能需要引入mars3d修改版Cesium库(mars3d-cesium库)才支持!',this),this[_0x59da4e(_0x2fb8a6._0x2f0172,_0x2fb8a6._0x2a8f2e)]=0x0,this['_maxRangeLength']=0x0,this['_areaList']=[],this['_precise']=_0x58ae5a['precise']??!![];}get['list'](){return this['_areaList'];}get['tileset'](){const _0x5edb47={_0x497f41:0xdbf},_0x4ce45f={_0x5a84bb:0x3cb};var _0x5b2d01;function _0x4ad27e(_0xa68cb3,_0x4fa4bf){return _0x306755(_0xa68cb3,_0x4fa4bf- -_0x4ce45f._0x5a84bb);}return(_0x5b2d01=this[_0x4ad27e(_0x5edb47._0x497f41,0xff9)])===null||_0x5b2d01===void 0x0?void 0x0:_0x5b2d01['tileset'];}get[_0x306755(0x102d,0x9ca)](){return this['_layer'];}set['layer'](_0x39373b){const _0x371406={_0x4ecda2:0xd9f,_0x4384db:0x3ff,_0x4d1d77:0x3d8,_0x1b256f:0x1aa,_0x2178aa:0x2a2,_0x5841c2:0x1236,_0x56421c:0x1207,_0x2b32eb:0x2b,_0x5b0871:0xdbf,_0x4094b9:0x7e9,_0x374425:0x49d,_0x2c7238:0xee9,_0x30d3fc:0x525,_0x42a2cb:0x17c},_0x113344={_0x57af1e:0x568};this['_layer']=_0x39373b,_0x39373b['readyPromise']['then'](_0x2d11d3=>{const _0x1edad9={_0x2de036:0x2df},_0x4213e7={_0x4f12d5:0x375},_0x5b7dbd=_0x39373b[_0x4a5f7d(_0x371406._0x4ecda2,_0x371406._0x4384db)][_0x4a5f7d(-_0x371406._0x4d1d77,_0x371406._0x1b256f)];this[_0x150e8b(-_0x371406._0x2178aa,0x75c)]=Cesium__namespace['Transforms'][_0x4a5f7d(_0x371406._0x5841c2,_0x371406._0x56421c)](_0x5b7dbd),this['_inverseMatrix']=Cesium__namespace['Matrix4'][_0x4a5f7d(-0x20,_0x371406._0x2b32eb)](this['_matrix'],new Cesium__namespace['Matrix4']()),this[_0x150e8b(_0x371406._0x5b0871,_0x371406._0x4094b9)]=Cesium__namespace['Cartographic'][_0x4a5f7d(0xe5f,_0x371406._0x374425)](_0x5b7dbd);this['_precise']?this['_initPrarmsByLayer'](_0x39373b):this['_initPrarmsByLayer_Mask'](_0x39373b);function _0x150e8b(_0x2fd53e,_0x26c428){return _0x5bbe(_0x26c428-_0x4213e7._0x4f12d5,_0x2fd53e);}function _0x4a5f7d(_0x15a4c5,_0x5ab8c8){return _0x5bbe(_0x5ab8c8- -_0x1edad9._0x2de036,_0x15a4c5);}this['_initTileset'](_0x39373b[_0x4a5f7d(-0x330,0x61d)]),this[_0x4a5f7d(0xb97,0x70b)]['area']&&this[_0x150e8b(_0x371406._0x2c7238,0xd5f)][_0x4a5f7d(-_0x371406._0x30d3fc,_0x371406._0x42a2cb)]['forEach'](_0x51ed56=>{const _0x29014a={_0x51b985:0x31a};function _0x472dba(_0x317cda,_0x4cf3a3){return _0x4a5f7d(_0x317cda,_0x4cf3a3-0x4be);}function _0x165226(_0x3dd17e,_0x48857b){return _0x4a5f7d(_0x48857b,_0x3dd17e-_0x29014a._0x51b985);}this[_0x165226(0xd5a,_0x113344._0x57af1e)](_0x51ed56[_0x165226(0x1761,0x1478)],_0x51ed56);});});}get['editHeight'](){const _0x3d591d={_0x2670af:0xc67,_0x23e021:0x1333,_0x4d8f32:0xc67},_0x233118={_0x44b933:0xa};function _0x4f4964(_0x10d361,_0x22ba5c){return _0x306755(_0x10d361,_0x22ba5c- -0x2bd);}var _0x3e3f25;const _0x59840d=this['layer'];function _0x19c8ff(_0x1d804b,_0x394ba0){return _0x306755(_0x394ba0,_0x1d804b-_0x233118._0x44b933);}if(_0x59840d!==null&&_0x59840d!==void 0x0&&(_0x3e3f25=_0x59840d[_0x19c8ff(_0x3d591d._0x2670af,_0x3d591d._0x23e021)])!==null&&_0x3e3f25!==void 0x0&&_0x3e3f25[_0x4f4964(0x1f85,0x16ea)])return _0x59840d['options']['editHeight'];if(this['options']['editHeight'])return this[_0x19c8ff(_0x3d591d._0x4d8f32,0xf0e)]['editHeight'];return 0x0;}get[_0x306755(0xc45,0x15fb)](){const _0x4ac94a={_0x4ffda4:0xa02};function _0x319a94(_0x2990c9,_0x245560){return _0x2b6441(_0x245560,_0x2990c9-0x40f);}if(this[_0x319a94(0x5ee,_0x4ac94a._0x4ffda4)]){var _0x17e854;return(_0x17e854=this['_areaList'])===null||_0x17e854===void 0x0?void 0x0:_0x17e854['length'];}else return 0x0;}[_0x2b6441(0xd6e,0x3fd)](){const _0xf5ff60={_0x16f684:0x6c1},_0x4af6fe={_0x27bc9b:0x5},_0x2dbe5c={_0xdf97cd:0x199};function _0x92fb55(_0x1051a4,_0xf9a9cf){return _0x2b6441(_0xf9a9cf,_0x1051a4-_0x2dbe5c._0xdf97cd);}function _0x404309(_0xd406ba,_0x4fedd6){return _0x2b6441(_0xd406ba,_0x4fedd6-_0x4af6fe._0x27bc9b);}this[_0x404309(0x6b8,_0xf5ff60._0x16f684)]['layer']&&(this[_0x404309(-0x176,0x42e)]=this['options']['layer']);}[_0x306755(0x1175,0xe2b)](){const _0x1b31b2={_0x38795f:0xf1f},_0x6c4499={_0x3c7c40:0x20},_0x34489d={_0x2a626c:0xb4};function _0x594413(_0x16ed0a,_0x44db05){return _0x2b6441(_0x16ed0a,_0x44db05-_0x34489d._0x2a626c);}this[_0x158b33(0x85c,0x101c)]();function _0x158b33(_0x3f38eb,_0xa1cb7d){return _0x306755(_0xa1cb7d,_0x3f38eb-_0x6c4499._0x3c7c40);}this['cacheMarsOptions']&&(this['cacheMarsOptions'](),delete this[_0x594413(0xc45,_0x1b31b2._0x38795f)]);}['clear'](){const _0x3dd01d={_0x43f547:0x72d,_0x42145e:0x6db,_0x3fd5e8:0x1bdc,_0x17efb7:0x7f5,_0x3ebc2c:0x7f5},_0x1ad3fb={_0x3613f5:0x54e};this[_0x50ee1f(0x851,_0x3dd01d._0x43f547)]=[],this[_0x30985a(0xe85,_0x3dd01d._0x42145e)]=0x0,this[_0x30985a(_0x3dd01d._0x3fd5e8,0x16c1)]=0x0;function _0x30985a(_0x513840,_0x80eb88){return _0x306755(_0x513840,_0x80eb88- -0x2b8);}function _0x50ee1f(_0x1cc258,_0x2923fe){return _0x2b6441(_0x1cc258,_0x2923fe-_0x1ad3fb._0x3613f5);}Cesium__namespace['defined'](this['_texture'])&&(this[_0x30985a(0xeab,_0x3dd01d._0x17efb7)]['destroy'](),this[_0x30985a(0x341,_0x3dd01d._0x3ebc2c)]=undefined);}[_0x306755(0xd3f,0xf92)](_0x49275c,_0x28daae={}){const _0x29582c={_0x1bd62e:0x12aa,_0x1b8d90:0xf27,_0x16b200:0x821,_0x3d0ea1:0x8ee},_0x38a9de={_0x35a745:0x351};if(!_0x49275c||_0x49275c[_0x428d77(0x191a,_0x29582c._0x1bd62e)]<0x3)return;_0x28daae['simplify']&&(_0x49275c=simplifyPositions(_0x49275c,_0x28daae['simplify']));_0x49275c=LngLatArray[_0x4d26c4(0x978,0x9b0)](_0x49275c),this['_maxRangeLength']=Math['max'](this['_maxRangeLength'],_0x49275c['length']);const _0xb75318=[];function _0x4d26c4(_0x3d6d5b,_0x26fd45){return _0x2b6441(_0x3d6d5b,_0x26fd45-0x2c6);}for(let _0x333675=0x0;_0x333675<_0x49275c[_0x4d26c4(0x11c2,0x1320)];_0x333675++){_0xb75318['push'](Cesium__namespace[_0x428d77(_0x29582c._0x1b8d90,_0x29582c._0x16b200)]['multiplyByPoint'](this['_inverseMatrix'],_0x49275c[_0x333675],new Cesium__namespace[(_0x428d77(-0x251,0x6d0))]()));}const _0x5e4615={'id':_0x28daae['id']??getGlobalId(),'show':!![],'height':_0x28daae[_0x4d26c4(0x12ff,0x917)]||0x0,'positions':_0x49275c,'positions_model':_0xb75318};this['_areaList']['push'](_0x5e4615),this[_0x4d26c4(_0x29582c._0x3d0ea1,0x50a)]=!![];const _0x68720e={};function _0x428d77(_0x35743e,_0x126d4b){return _0x306755(_0x35743e,_0x126d4b- -_0x38a9de._0x35a745);}return _0x68720e['area']=_0x5e4615,this[_0x428d77(0xfa8,0x538)](EventType['addItem'],_0x68720e),_0x5e4615;}['getAreaById'](_0x239e24){for(let _0xc6f908=0x0;_0xc6f908<this[_0x498556(0x71f,-0x38)]['length'];_0xc6f908++){const _0x2f8f49=this['_areaList'][_0xc6f908];if(_0x2f8f49['id']===_0x239e24)return _0x2f8f49;}function _0x498556(_0x24da63,_0x47aa4e){return _0x2b6441(_0x47aa4e,_0x24da63-0x540);}return null;}['hideArea'](_0x6bd444){const _0x33270f={_0x5ee3ea:0xf8b,_0x43e8ec:0x6a3},_0xf5dac0=this['getAreaById'](_0x6bd444);function _0x166f37(_0xc8e187,_0x2cd6da){return _0x2b6441(_0xc8e187,_0x2cd6da-0x45f);}_0xf5dac0&&(_0xf5dac0['show']=![],this[_0x166f37(_0x33270f._0x5ee3ea,_0x33270f._0x43e8ec)]=!![]);}[_0x306755(0x1b8b,0x120e)](_0x2991d2){function _0x3b4658(_0x858435,_0x15c963){return _0x306755(_0x858435,_0x15c963- -0x3af);}const _0x48408f=this['getAreaById'](_0x2991d2);_0x48408f&&(_0x48408f['show']=!![],this[_0x3b4658(0x14d,0x436)]=!![]);}['removeArea'](_0x5be244){const _0x2fe23f={_0x3ff6c2:0x17d8,_0x32e6e3:0x13e4},_0x501186={_0x3e1c2a:0x3b2};!isObject(_0x5be244)&&(_0x5be244=this[_0x3588e4(_0x2fe23f._0x3ff6c2,_0x2fe23f._0x32e6e3)](_0x5be244));if(!_0x5be244)return;function _0x3588e4(_0x584cdf,_0x5c14bc){return _0x2b6441(_0x584cdf,_0x5c14bc-_0x501186._0x3e1c2a);}removeArrayItem(this['_areaList'],_0x5be244),this['_hasUpdate']=!![];function _0x379ea9(_0x322ad1,_0x12ffb5){return _0x306755(_0x322ad1,_0x12ffb5- -0x30a);}const _0x63c5d={};_0x63c5d[_0x3588e4(0x4c3,0x4df)]=_0x5be244,this[_0x3588e4(0x1062,0x69a)](EventType['removeItem'],_0x63c5d);}['_initTileset'](_0x3c414){const _0x35c887={_0x3db7a:0xf9,_0x43791f:0x2b3},_0xa44d58={_0x460163:0x3fa,_0x5a8da0:0x3a6},_0x11aa47={_0x3b605f:0xf97},_0x1b2aca={_0x5f0060:0x4db};function _0x465d31(_0x32998c,_0x39d8ba){return _0x2b6441(_0x32998c,_0x39d8ba-0x6bb);}var _0x597a60;function _0x163101(_0x4f7442,_0x46908f){return _0x306755(_0x4f7442,_0x46908f- -_0x1b2aca._0x5f0060);}const _0x44f0e9=_0x3c414[_0x163101(0x2ec,0x524)],_0x2e9e0=this;_0x3c414['update']=function(_0x9e94ba){_0x2e9e0[_0x3ea25f(0xa52,0x32d)]&&_0x2e9e0['_update'](_0x9e94ba);function _0x2f9742(_0x38631e,_0x3378ef){return _0x163101(_0x38631e,_0x3378ef-0x304);}function _0x3ea25f(_0x193765,_0x251528){return _0x163101(_0x193765,_0x251528-0x23);}_0x44f0e9[_0x3ea25f(0x15d2,_0x11aa47._0x3b605f)](this)(_0x9e94ba);};let _0x40a436;this['_precise']?_0x40a436=this['_getCustomShader']():_0x40a436=this['_getCustomShader_Mask']();if(_0x40a436&&(_0x597a60=Cesium__namespace['Mars3DEx'])!==null&&_0x597a60!==void 0x0&&_0x597a60['getCacheOrAdd']){const _0x48869d=Cesium__namespace['Mars3DEx']['getCacheOrAdd'](this['layer']['_marsOptions']['customShaders']);_0x48869d[this[_0x163101(-_0x35c887._0x3db7a,_0x35c887._0x43791f)]]=_0x40a436,this['cacheMarsOptions']=function(){_0x3c414[_0xfa35(_0xa44d58._0x460163,-_0xa44d58._0x5a8da0)]=_0x44f0e9;function _0xfa35(_0xc39146,_0x291999){return _0x163101(_0x291999,_0xc39146- -0x12a);}delete _0x48869d[_0x2e9e0['_customShadersKey']];};}}['_update'](_0x203872){const _0x449c7b={_0x5eb287:0x386,_0x53a763:0x37c,_0x53dca7:0xff5,_0x46af64:0x90c,_0x5ac40b:0xe4a,_0x4153fd:0xa42,_0x2290ec:0x49b,_0x257b7f:0x834},_0x310bc7={_0x3b1889:0x612};Cesium__namespace['defined'](this[_0x4c51ae(0xeb2,0x90c)])&&(this['_texture'][_0x4c51ae(_0x449c7b._0x5eb287,0xdee)](),this['_texture']=undefined);this[_0x5f2a58(0x1737,0x1367)]=0x0;function _0x4c51ae(_0x1027e5,_0x5f3e0e){return _0x2b6441(_0x1027e5,_0x5f3e0e-0x400);}this['_rangeNumber']=this[_0x4c51ae(-_0x449c7b._0x53a763,0x5df)]['length'];if(this[_0x5f2a58(0xbf4,0x381)]===0x0)return;this['_precise']?this[_0x4c51ae(_0x449c7b._0x53dca7,_0x449c7b._0x46af64)]=this[_0x5f2a58(_0x449c7b._0x5ac40b,_0x449c7b._0x4153fd)]():this[_0x5f2a58(0xbdb,_0x449c7b._0x2290ec)]=this['_createTexture_Mask']();function _0x5f2a58(_0x3116b7,_0x2ab42b){return _0x306755(_0x3116b7,_0x2ab42b- -_0x310bc7._0x3b1889);}this[_0x4c51ae(_0x449c7b._0x257b7f,0x644)]=![];}['toJSON'](){const _0x3b83b1={_0x4c7798:0x467,_0x313ae5:0x65},_0xd6cce7={_0x4dfe87:0x1a0},_0x2f4cff={_0x1b89c1:0x177},_0x29a11f=clone(this[_0x290344(0x85c,0xf9b)],['layer','eventParent']);_0x29a11f[_0x290344(0x2cd,_0x3b83b1._0x4c7798)]=[],this[_0x323cd6(0x60e,0xbbb)][_0x290344(0x83f,_0x3b83b1._0x313ae5)](_0x21d625=>{function _0x3578bc(_0x1b470f,_0x48cd2f){return _0x290344(_0x48cd2f- -0x121,_0x1b470f);}_0x29a11f['area'][_0x3578bc(-0x805,_0x2f4cff._0x1b89c1)]({..._0x21d625,'positions':LngLatArray['toArray'](_0x21d625['positions'])});});function _0x290344(_0x4815a4,_0x1f34d3){return _0x2b6441(_0x1f34d3,_0x4815a4-_0xd6cce7._0x4dfe87);}function _0x323cd6(_0x4b9029,_0x24dc4f){return _0x2b6441(_0x24dc4f,_0x4b9029-0x42f);}return _0x29a11f;}[_0x306755(0xa1e,0xaaf)](_0x513e2b){}['_createTexture'](){const _0x4f0bf9={_0x58fb65:0x1737,_0x5378ef:0x15b9,_0x432e01:0x151b,_0x15b7df:0xf38,_0x4de9ba:0x95f,_0x2ba2b5:0x1468},_0x832936={_0x2a1593:0x1282,_0x228b4c:0x27a,_0x2e8440:0x3b5},_0x55fe2b={_0x58bcd3:0x1226,_0x145209:0x1c88,_0x393e7d:0x172b};function _0x5a4837(_0x3c3583,_0x16a73c){return _0x2b6441(_0x16a73c,_0x3c3583-0x391);}let _0x26a2ff=0x0;this['_rangeNumber']=0x0,this['_areaList']['forEach'](_0x1c04cf=>{function _0x4bbca3(_0x24fcce,_0x95d216){return _0x5bbe(_0x95d216-0x3a3,_0x24fcce);}if(!_0x1c04cf['show'])return;this[_0x4bbca3(_0x55fe2b._0x58bcd3,0xac3)]++;function _0x5cc8c8(_0x1863a6,_0x3251d2){return _0x5bbe(_0x3251d2-0x87,_0x1863a6);}_0x26a2ff<_0x1c04cf['positions'][_0x4bbca3(_0x55fe2b._0x145209,_0x55fe2b._0x393e7d)]&&(_0x26a2ff=_0x1c04cf[_0x5cc8c8(0x2111,0x17ad)]['length']);}),this[_0xa6c466(0x1a7e,_0x4f0bf9._0x58fb65)]=_0x26a2ff;if(this['_rangeNumber']===0x0)return;const _0xe0c49f=[];this['_areaList']['forEach']((_0x1a5f10,_0x4b336c)=>{const _0x376973={_0x36040e:0xc65,_0x434104:0x2c7,_0xaa55a7:0x6bd,_0x435866:0x2dd,_0x2f228b:0x219},_0xac7ac={_0x4216f3:0x43},_0xf14e6f={_0x4d65df:0xa2};if(!_0x1a5f10[_0x120249(0x12af,0x1826)])return;const _0x317830=_0x1a5f10[_0x1a6d8f(0x1665,0x1620)],_0x19deca=_0x317830[_0x1a6d8f(0x17a3,_0x832936._0x2a1593)],_0x41c8b2=Cesium__namespace['Cartesian3']['fromRadians'](this['_center']['longitude'],this['_center'][_0x1a6d8f(0x54e,0xc5a)],this['_center'][_0x120249(0x90e,0x679)]+_0x1a5f10['height']+this['editHeight']),_0x15e742=Cesium__namespace['Matrix4'][_0x120249(0x215,-_0x832936._0x228b4c)](this[_0x1a6d8f(0x360,0xcf2)],_0x41c8b2,_0x41c8b2);_0xe0c49f['push'](_0x19deca),_0xe0c49f['push'](_0x15e742['z']);function _0x120249(_0x27d525,_0x14517c){return _0xa6c466(_0x14517c,_0x27d525- -_0xf14e6f._0x4d65df);}_0xe0c49f['push'](0x0),_0xe0c49f[_0x120249(0x3b5,0x596)](0x0);function _0x1a6d8f(_0x9ed65a,_0x4f80b1){return _0xa6c466(_0x9ed65a,_0x4f80b1- -0x137);}_0x317830['forEach'](_0x2bb57c=>{function _0x166c3b(_0xe51871,_0x3efaba){return _0x1a6d8f(_0xe51871,_0x3efaba- -_0xac7ac._0x4216f3);}const _0x53638b=_0x2bb57c;function _0x35d7ef(_0x102b77,_0x50b7f9){return _0x1a6d8f(_0x50b7f9,_0x102b77- -0x107);}const _0x59ba2e=Cesium__namespace[_0x35d7ef(0x5a1,_0x376973._0x36040e)][_0x35d7ef(_0x376973._0x434104,-0x6c)](_0x53638b,new Cesium__namespace[(_0x35d7ef(0x5a1,_0x376973._0xaa55a7))]());_0xe0c49f['push'](_0x59ba2e['x']),_0xe0c49f[_0x166c3b(0x29b,0x2dd)](_0x59ba2e['y']),_0xe0c49f[_0x166c3b(-0x25a,_0x376973._0x435866)](_0x59ba2e['z']),_0xe0c49f[_0x35d7ef(_0x376973._0x2f228b,-0x5f9)](_0x53638b['x']/_0x59ba2e['x']);});if(_0x19deca<_0x26a2ff)for(let _0x194b23=0x0;_0x194b23<_0x26a2ff-_0x19deca;_0x194b23++){_0xe0c49f['push'](0x0),_0xe0c49f[_0x1a6d8f(0x61d,0x320)](0x0),_0xe0c49f['push'](0x0),_0xe0c49f[_0x120249(_0x832936._0x2e8440,0x111)](0x0);}});function _0xa6c466(_0x28cc26,_0x53a34b){return _0x2b6441(_0x28cc26,_0x53a34b-0x35f);}return new Cesium__namespace['Texture']({'context':this[_0x5a4837(_0x4f0bf9._0x5378ef,_0x4f0bf9._0x432e01)]['scene']['_context'],'pixelFormat':Cesium__namespace['PixelFormat']['RGBA'],'pixelDatatype':Cesium__namespace['PixelDatatype'][_0xa6c466(0x5a6,_0x4f0bf9._0x15b7df)],'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap'][_0x5a4837(0xb27,0xf46)],'wrapT':Cesium__namespace[_0xa6c466(0x7b5,_0x4f0bf9._0x4de9ba)]['CLAMP_TO_EDGE'],'minificationFilter':Cesium__namespace['TextureMinificationFilter'][_0xa6c466(0x798,0x279)],'magnificationFilter':Cesium__namespace[_0xa6c466(0x17ad,_0x4f0bf9._0x2ba2b5)][_0xa6c466(-0x165,0x279)]}),'flipY':![],'source':{'width':_0x26a2ff+0x1,'height':this['_rangeNumber'],'arrayBufferView':new Float32Array(_0xe0c49f)}});}[_0x2b6441(0x183b,0x136b)](){return null;}[_0x306755(0x1ea7,0x1996)](_0x598b74){const _0xc536ee={_0x479a9d:0x12f,_0x154013:0x555,_0x5802ed:0x846,_0x56a4f1:0xe59,_0x8e96e1:0x7ec,_0x544175:0x74f,_0x2b0dab:0x1215,_0x9615b3:0xf80},_0xaac797={_0x1079bd:0x105};function _0x59ec1e(_0x17c9da,_0x432747){return _0x2b6441(_0x432747,_0x17c9da-_0xaac797._0x1079bd);}var _0x5f5b49;this[_0x59ec1e(0xe3d,0x541)]=Math['round'](((_0x5f5b49=_0x598b74['boundingSphere'])===null||_0x5f5b49===void 0x0?void 0x0:_0x5f5b49['radius'])??0x800),this[_0x5ee053(-_0xc536ee._0x479a9d,0x297)]=caculateCanvasSize(this['_mask_radius']*0x2,this['options'][_0x5ee053(_0xc536ee._0x154013,_0xc536ee._0x5802ed)]),this['_mask_canvas']=document['createElement'](_0x5ee053(-0x313,0x34a)),this['_mask_canvas']['style']['backgroundColor']='#000000';function _0x5ee053(_0x32a0a7,_0x329aa2){return _0x2b6441(_0x32a0a7,_0x329aa2-0x19b);}this[_0x59ec1e(0xf80,0xcdc)]['width']=this[_0x59ec1e(0x201,0x7ee)][_0x5ee053(0x37c,0x7e5)],this['_mask_canvas']['height']=this['_mask_size'][_0x5ee053(_0xc536ee._0x56a4f1,_0xc536ee._0x8e96e1)],this['_mask_canvas']['style']['width']=this['_mask_size'][_0x59ec1e(_0xc536ee._0x544175,_0xc536ee._0x2b0dab)]+'px',this[_0x59ec1e(_0xc536ee._0x9615b3,0x7db)][_0x5ee053(0xc3b,0x450)]['height']=this['_mask_size']['height']+'px';}[_0x306755(0x1c0a,0x13c8)](){const _0xbd0d75={_0x6a176e:0xd15,_0x59031d:0x905,_0x56b7b7:0x1063,_0x18c632:0xe0e,_0x25802c:0xb5b},_0x565be3={_0x434018:0x37f},_0x42a5ed={_0x9375f9:0x143e,_0x58f5ed:0x1ecc,_0x47f3b8:0x72a},_0x1c3f45={_0x2ce264:0x702},_0x1f0e5b=this[_0x3e2366(0x109d,_0xbd0d75._0x6a176e)][_0x3e2366(_0xbd0d75._0x59031d,0x1140)]('2d');_0x1f0e5b[_0x56eea4(0xe74,_0xbd0d75._0x56b7b7)](0x0,0x0,this['_mask_size']['width'],this['_mask_size']['height']);let _0x7929d1=0x0;function _0x56eea4(_0x5ef61d,_0x3e71fa){return _0x306755(_0x3e71fa,_0x5ef61d- -0x5ac);}this['_areaList']['forEach'](_0x45480c=>{if(!_0x45480c['show'])return;_0x7929d1++;const _0x2b40b6=_0x45480c['positions_model'];_0x1f0e5b['beginPath']();const _0x31280b=_0x2b40b6[0x0],_0x249570=localPointToCanvasPoint(_0x31280b,this['_mask_size']);_0x1f0e5b[_0x434070(_0x42a5ed._0x9375f9,_0x42a5ed._0x58f5ed)](_0x249570['x'],_0x249570['y']);for(let _0x2ae296=0x1;_0x2ae296<_0x2b40b6['length'];_0x2ae296++){const _0x55b752=localPointToCanvasPoint(_0x2b40b6[_0x2ae296],this['_mask_size']);_0x1f0e5b[_0x4b69bb(0x95f,_0x42a5ed._0x47f3b8)](_0x55b752['x'],_0x55b752['y']);}_0x1f0e5b['closePath']();function _0x434070(_0x3b610a,_0x13104e){return _0x3e2366(_0x3b610a-0x359,_0x13104e);}function _0x4b69bb(_0x50d14b,_0x5eaf76){return _0x56eea4(_0x5eaf76-_0x1c3f45._0x2ce264,_0x50d14b);}_0x1f0e5b['fillStyle']='#ff0000',_0x1f0e5b['fill']();});if(_0x7929d1===0x0)return;const _0x17c4b5=new Cesium__namespace['Texture']({'context':this[_0x56eea4(0x121d,0x19c7)]['scene'][_0x3e2366(_0xbd0d75._0x18c632,0x763)],'pixelFormat':Cesium__namespace[_0x56eea4(_0xbd0d75._0x25802c,0xbe3)]['RGBA'],'pixelDatatype':Cesium__namespace[_0x56eea4(0xac,0x5b3)]['FLOAT'],'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap']['CLAMP_TO_EDGE'],'wrapT':Cesium__namespace['TextureWrap'][_0x3e2366(0x9b8,0x35d)],'minificationFilter':Cesium__namespace['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter']['NEAREST']}),'flipY':!![],'source':this['_mask_canvas']});_0x17c4b5['type']=_0x3e2366(0x7b8,-0x1b7);function _0x3e2366(_0x4636cc,_0x4ffd66){return _0x306755(_0x4ffd66,_0x4636cc- -_0x565be3._0x434018);}return _0x17c4b5;}[_0x2b6441(0x713,0x21e)](){return null;}}function caculateCanvasSize(_0x4fd93b,_0xc3e295=0x1000){const _0x201f0a={_0x2903af:0x544},_0x5ea3e5={_0x1aac1a:0x34};let _0x311641=0x1;function _0x51cf39(_0x2e247e,_0x9687f8){return _0x2b6441(_0x9687f8,_0x2e247e-0x1c1);}const _0x160241=0x200;if(_0x4fd93b>_0xc3e295)_0x311641=_0x4fd93b/_0xc3e295;else _0x4fd93b<_0x160241&&(_0x311641=_0x4fd93b/_0x160241);const _0x4cef2c={};_0x4cef2c[_0x5977df(0x44e,_0x201f0a._0x2903af)]=_0x311641;function _0x5977df(_0x2c31c6,_0x3c212a){return _0x2b6441(_0x3c212a,_0x2c31c6-_0x5ea3e5._0x1aac1a);}return _0x4cef2c['width']=_0x4fd93b/_0x311641,_0x4cef2c[_0x5977df(0x685,0xca2)]=_0x4fd93b/_0x311641,_0x4cef2c;}function localPointToCanvasPoint(_0x1ff1c8,_0x10d799){const _0x386e36={_0x37c0e2:0x118e},_0x2b6dfb={_0x8b119:0xc},_0x331328={};_0x331328['x']=undefined,_0x331328['y']=undefined;const _0x2003a5=_0x331328;function _0x1bacf3(_0x338746,_0x4c8f95){return _0x2b6441(_0x338746,_0x4c8f95-_0x2b6dfb._0x8b119);}_0x2003a5['x']=Math[_0x4c8771(0x8dc,0x110d)](_0x1ff1c8['x']/_0x10d799[_0x1bacf3(0x7c1,0x426)])+_0x10d799['width']/0x2;function _0x4c8771(_0x31ae9d,_0x45467){return _0x306755(_0x31ae9d,_0x45467- -0x22);}return _0x2003a5['y']=_0x10d799['height']-(Math[_0x1bacf3(_0x386e36._0x37c0e2,0xb9a)](_0x1ff1c8['y']/_0x10d799['factor'])+_0x10d799['height']/0x2),_0x2003a5;}var TilesetClipFS='uniform\x20bool\x20u_mars3d_clip_enabled;\x0auniform\x20bool\x20u_mars3d_clip_outSide;\x0auniform\x20sampler2D\x20u_mars3d_clip_texture;\x0auniform\x20mat4\x20u_mars3d_clip_inverseMatrix;\x0auniform\x20float\x20u_mars3d_clip_rangeNumber;\x0auniform\x20float\x20u_mars3d_clip_maxRangeLength;\x0a\x0avec4\x20restorePoint_mars3d_clip(vec4\x20point)\x20{\x0a\x20\x20vec3\x20outpoint\x20=\x20point.xyz\x20*\x20point.w;\x0a\x20\x20return\x20u_mars3d_clip_inverseMatrix\x20*\x20vec4(outpoint,\x201.0);\x0a}\x0a\x0avec4\x20getRegions_mars3d_clip(int\x20x,\x20int\x20y)\x20{\x0a\x20\x20float\x20u\x20=\x20(float(x)\x20+\x200.5)\x20/\x20(u_mars3d_clip_maxRangeLength\x20+\x201.0);\x0a\x20\x20float\x20v\x20=\x20(float(y)\x20+\x200.5)\x20/\x20u_mars3d_clip_rangeNumber;\x0a\x20\x20vec4\x20point\x20=\x20texture(u_mars3d_clip_texture,\x20vec2(u,\x20v));\x0a\x20\x20return\x20point;\x0a}\x0a\x0abool\x20inRectangle_mars3d_clip(vec4\x20textPoint)\x20{\x0a\x20\x20int\x20rangeNumber\x20=\x20int(u_mars3d_clip_rangeNumber);\x0a\x20\x20int\x20step\x20=\x201;\x0a\x20\x20for(int\x20h\x20=\x200;\x20h\x20<\x20rangeNumber;\x20h\x20+=\x20step)\x20{\x0a\x20\x20\x20\x20int\x20currentLength\x20=\x20int(getRegions_mars3d_clip(0,\x20h).x);\x0a\x20\x20\x20\x20int\x20counter\x20=\x200;\x0a\x0a\x20\x20\x20\x20for(int\x20w\x20=\x200;\x20w\x20<\x20currentLength;\x20w\x20+=\x20step)\x20{\x0a\x20\x20\x20\x20\x20\x20int\x20nextIndex\x20=\x20w\x20+\x20step;\x0a\x20\x20\x20\x20\x20\x20nextIndex\x20=\x20nextIndex\x20>=\x20currentLength\x20?\x200\x20:\x20nextIndex;\x0a\x0a\x20\x20\x20\x20\x20\x20vec4\x20p1\x20=\x20restorePoint_mars3d_clip(getRegions_mars3d_clip(w\x20+\x20step,\x20h));\x0a\x20\x20\x20\x20\x20\x20vec4\x20p2\x20=\x20restorePoint_mars3d_clip(getRegions_mars3d_clip(nextIndex\x20+\x20step,\x20h));\x0a\x0a\x20\x20\x20\x20\x20\x20float\x20p1x\x20=\x20p1.x;\x0a\x20\x20\x20\x20\x20\x20float\x20p1y\x20=\x20p1.y;\x0a\x20\x20\x20\x20\x20\x20float\x20p2x\x20=\x20p2.x;\x0a\x20\x20\x20\x20\x20\x20float\x20p2y\x20=\x20p2.y;\x0a\x20\x20\x20\x20\x20\x20float\x20textPointx\x20=\x20textPoint.x;\x0a\x20\x20\x20\x20\x20\x20float\x20textPointy\x20=\x20textPoint.y;\x0a\x0a\x20\x20\x20\x20\x20\x20if(p1x\x20!=\x20p2x\x20&&\x20textPointx\x20>\x20min(p1x,\x20p2x)\x20&&\x20textPointx\x20<=\x20max(p1x,\x20p2x)\x20&&\x20textPointy\x20<=\x20max(p1y,\x20p2y))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20xinters\x20=\x20((textPointx\x20-\x20p1x)\x20*\x20(p2y\x20-\x20p1y))\x20/\x20(p2x\x20-\x20p1x)\x20+\x20p1y;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(p1y\x20==\x20p2y\x20||\x20textPointy\x20<=\x20xinters)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20counter\x20+=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20if((mod(float(counter),\x202.0)\x20!=\x200.0))\x20{\x0a\x20\x20\x20\x20\x20\x20return\x20true;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20return\x20false;\x0a}\x0a\x0avoid\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20if(u_mars3d_clip_enabled)\x20{\x0a\x20\x20\x20\x20vec3\x20positionMC\x20=\x20fsInput.attributes.positionMC;\x0a\x20\x20\x20\x20vec4\x20testPosition\x20=\x20u_mars3d_clip_inverseMatrix\x20*\x20czm_model\x20*\x20vec4(positionMC,\x201.0);\x0a\x20\x20\x20\x20if(u_mars3d_clip_outSide)\x20{\x0a\x20\x20\x20\x20\x20\x20if(!inRectangle_mars3d_clip(testPosition))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if(inRectangle_mars3d_clip(testPosition))\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a}\x0a',TilesetClipMaskFS='uniform\x20bool\x20u_mars3d_clip_enabled;\x0auniform\x20bool\x20u_mars3d_clip_outSide;\x0auniform\x20sampler2D\x20u_mars3d_clip_texture;\x0auniform\x20mat4\x20u_mars3d_clip_inverseMatrix;\x0auniform\x20float\x20u_mars3d_clip_radius;\x0a\x0avoid\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20if(u_mars3d_clip_enabled)\x20{\x0a\x20\x20\x20\x20vec3\x20positionWC\x20=\x20fsInput.attributes.positionWC;\x0a\x20\x20\x20\x20vec4\x20position\x20=\x20u_mars3d_clip_inverseMatrix\x20*\x20vec4(positionWC,\x201.0);\x0a\x20\x20\x20\x20vec4\x20color\x20=\x20texture(u_mars3d_clip_texture,\x20(position.xy\x20+\x20u_mars3d_clip_radius)\x20/\x20u_mars3d_clip_radius\x20/\x202.0);\x0a\x0a\x20\x20\x20\x20if(u_mars3d_clip_outSide)\x20{\x0a\x20\x20\x20\x20\x20\x20if(color.r\x20<=\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20if(color.r\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a}\x0a';class TilesetClip extends TilesetEditBase{constructor(_0x14b128={}){const _0xf86702={_0x315dd8:0x116},_0x26a66f={_0xd568eb:0x2ca};_0x14b128['czm']=_0x14b128['czm']??_0x14b128[_0x147655(0xf8e,0x1124)]??!![],super(_0x14b128);function _0x147655(_0x2a1a50,_0x3d833f){return _0x2b6441(_0x2a1a50,_0x3d833f-0x387);}function _0x56dcd5(_0x1ffe96,_0x35eb7e){return _0x306755(_0x35eb7e,_0x1ffe96- -_0x26a66f._0xd568eb);}this[_0x147655(_0xf86702._0x315dd8,0x574)]='clip';}get[_0x2b6441(0x87f,0x4aa)](){const _0x5da3ad={_0x22b497:0x447};var _0x5225d1;function _0x4946b2(_0x5a8d2f,_0x36fdbe){return _0x2b6441(_0x5a8d2f,_0x36fdbe-_0x5da3ad._0x22b497);}return(_0x5225d1=this[_0x4946b2(0x7ba,0xb03)])===null||_0x5225d1===void 0x0?void 0x0:_0x5225d1['clipOutSide'];}set[_0x306755(0x1346,0xa4b)](_0x50ffeb){const _0x3fcc94={_0x5b6065:0xc11,_0x978483:0xa17};function _0x3f67a6(_0xeea3b,_0x1fee6d){return _0x306755(_0xeea3b,_0x1fee6d-0x6b);}function _0x5608a4(_0x21840a,_0x526327){return _0x2b6441(_0x21840a,_0x526327-0x555);}this[_0x5608a4(0x14e9,_0x3fcc94._0x5b6065)][_0x5608a4(_0x3fcc94._0x978483,0x9ff)]=_0x50ffeb;}['_getCustomShader'](){const _0x402518={_0x588ad4:0xe90,_0x31063c:0x1b4c,_0x515ff2:0x1a82,_0x3ead7b:0x88c,_0x576f90:0x603,_0x2f8593:0xc48,_0x25df0d:0xe2e,_0x1546c0:0xaa2},_0x2486d3={_0x43c2dc:0x1315,_0x4e2f65:0x1fd1,_0x34dbc7:0x7c4},_0x3261d6={_0x43ad9b:0x420};if(this[_0x1ba7cb(0xdb2,0x14b3)]['czm']){this[_0x1ba7cb(0x123f,0x15f3)]();return;}const _0x20114a={};_0x20114a['fragmentShaderText']=TilesetClipFS;const _0x54ed25=new Cesium__namespace[(_0x1ba7cb(0x756,0x117f))](_0x20114a);function _0x1ba7cb(_0x5c959b,_0x4eafb4){return _0x306755(_0x4eafb4,_0x5c959b-0x155);}const _0x3bfa2a=this['_map']['scene']['_context'][_0x1c9f17(0xdbf,0x3ac)];_0x54ed25['uniformMap'][_0x1ba7cb(0x155c,_0x402518._0x588ad4)]=()=>{function _0x820ea0(_0xeb2b98,_0x45e760){return _0x1c9f17(_0xeb2b98,_0x45e760-0x447);}function _0x331062(_0x4c7e9e,_0x430d65){return _0x1ba7cb(_0x430d65- -0x443,_0x4c7e9e);}return Cesium__namespace[_0x820ea0(0x1575,0x18c4)](this[_0x820ea0(_0x3261d6._0x43ad9b,0xbbf)])?this['_texture']:_0x3bfa2a;},_0x54ed25['uniformMap'][_0x1ba7cb(_0x402518._0x31063c,_0x402518._0x515ff2)]=()=>{return this['_inverseMatrix'];},_0x54ed25['uniformMap'][_0x1c9f17(_0x402518._0x3ead7b,_0x402518._0x576f90)]=()=>{return this['_rangeNumber'];},_0x54ed25[_0x1c9f17(-0x2af,0x7be)]['u_mars3d_clip_maxRangeLength']=()=>{return this['_maxRangeLength'];},_0x54ed25[_0x1ba7cb(_0x402518._0x2f8593,0x15e6)][_0x1c9f17(_0x402518._0x25df0d,0xa4f)]=()=>{return Boolean(this['clipOutSide']);},_0x54ed25[_0x1ba7cb(0xc48,_0x402518._0x1546c0)][_0x1c9f17(0x12c8,0x976)]=()=>{function _0x1afedc(_0x4e66d4,_0x3ea317){return _0x1c9f17(_0x3ea317,_0x4e66d4-0x7e);}function _0x3b5339(_0x1a396a,_0x3f5f41){return _0x1ba7cb(_0x1a396a- -0x110,_0x3f5f41);}return this['isAdded']&&this[_0x3b5339(_0x2486d3._0x43c2dc,0x8f6)]&&Cesium__namespace[_0x3b5339(0x17f7,_0x2486d3._0x4e2f65)](this[_0x3b5339(0xaf2,_0x2486d3._0x34dbc7)]);};function _0x1c9f17(_0x2b1435,_0x2d6250){return _0x2b6441(_0x2b1435,_0x2d6250-0x26c);}return _0x54ed25;}[_0x2b6441(-0x307,0x21e)](){const _0x35e472={_0x272d00:0x202,_0x1304b6:0xb86,_0x5b419e:0x9d},_0x10dbea={_0x37951d:0x10f9},_0x1f1961={_0x394491:0x111f,_0x23ffe0:0x1214};if(this[_0x575cce(-_0x35e472._0x272d00,0x816)]['czm']){this[_0x356d35(_0x35e472._0x1304b6,0x15c5)]();return;}const _0x6a9464={};function _0x575cce(_0xfc22ea,_0x230b7a){return _0x306755(_0xfc22ea,_0x230b7a- -0x447);}_0x6a9464['fragmentShaderText']=TilesetClipMaskFS;const _0x10e2ab=new Cesium__namespace[(_0x356d35(_0x35e472._0x5b419e,0x526))](_0x6a9464),_0x136838=this[_0x575cce(0x170b,0x1382)]['scene']['_context']['defaultTexture'];_0x10e2ab['uniformMap'][_0x356d35(0xea3,0x44e)]=()=>{const _0x5cdfcd={_0x303f24:0x28f};function _0x5d4d9f(_0x349775,_0x20eeee){return _0x356d35(_0x349775- -0x61,_0x20eeee);}function _0x1758ad(_0x596974,_0x4651e2){return _0x575cce(_0x596974,_0x4651e2-_0x5cdfcd._0x303f24);}return Cesium__namespace[_0x5d4d9f(0x11ed,0x13f9)](this['_texture'])?this[_0x5d4d9f(0x4e8,0xd34)]:_0x136838;},_0x10e2ab['uniformMap']['u_mars3d_clip_inverseMatrix']=()=>{function _0x4be1fa(_0x3124f2,_0x28cee4){return _0x356d35(_0x3124f2-0x1e2,_0x28cee4);}return this[_0x4be1fa(0xce9,0x14b8)];},_0x10e2ab['uniformMap']['u_mars3d_clip_radius']=()=>{function _0x245383(_0x598c5f,_0x5815fc){return _0x575cce(_0x5815fc,_0x598c5f-0x28d);}return this[_0x245383(_0x1f1961._0x394491,_0x1f1961._0x23ffe0)];},_0x10e2ab['uniformMap']['u_mars3d_clip_outSide']=()=>{function _0x18da8d(_0x48da61,_0x55efca){return _0x575cce(_0x48da61,_0x55efca-0x222);}return Boolean(this[_0x18da8d(0xcac,0x826)]);};function _0x356d35(_0xf824a3,_0x5e8029){return _0x306755(_0x5e8029,_0xf824a3- -0x564);}return _0x10e2ab['uniformMap'][_0x356d35(0x747,-0xf1)]=()=>{function _0x5020cd(_0x49673b,_0x45884c){return _0x356d35(_0x45884c-0x162,_0x49673b);}return this['isAdded']&&this[_0x5020cd(_0x10dbea._0x37951d,0xece)]&&Cesium__namespace['defined'](this['_texture']);},_0x10e2ab;}['_initTilesetClippingPolygons'](){const _0x18d3d7={_0xdd0442:0xe00,_0x368496:0x14a7};function _0x20264b(_0x52ac0a,_0x577517){return _0x2b6441(_0x577517,_0x52ac0a-0x2f0);}function _0xc938b9(_0x3889a1,_0x73c730){return _0x306755(_0x3889a1,_0x73c730- -0x368);}this['tileset'][_0xc938b9(_0x18d3d7._0xdd0442,0x1412)]=new Cesium__namespace['ClippingPolygonCollection']({'polygons':[],'inverse':this[_0xc938b9(0xa8c,0x6e3)],'enabled':this[_0x20264b(0x101f,_0x18d3d7._0x368496)]});}['_update'](_0x431d88){const _0x15628b={_0x4ea834:0xec6,_0x57a991:0x648,_0x46ea8e:0x259,_0x2e4400:0x43d},_0xaaa942={_0x3b4b96:0x1805},_0x44ad59={_0x21f72a:0x393},_0x1a6a05={_0x4c812c:0x7a};function _0x3d41bb(_0x3cebde,_0x498107){return _0x2b6441(_0x498107,_0x3cebde-0x7a);}if(!this[_0x34075e(0x809,0x736)][_0x34075e(0x478,_0x15628b._0x4ea834)]){super['_update'](_0x431d88);return;}function _0x34075e(_0x3aa082,_0x1eba77){return _0x2b6441(_0x3aa082,_0x1eba77-_0x1a6a05._0x4c812c);}this[_0x3d41bb(_0x15628b._0x57a991,0x86d)]['clippingPolygons'][_0x34075e(0x1bf,0x8d4)](),this[_0x3d41bb(_0x15628b._0x46ea8e,_0x15628b._0x2e4400)]['forEach']((_0x378c65,_0x3ca983)=>{const _0x2bbc03={_0x1c064c:0x2a0};if(!_0x378c65[_0x24b93e(0x130c,0xeb0)])return;const _0x55c4d4={};_0x55c4d4[_0x189b2a(_0xaaa942._0x3b4b96,0x1188)]=_0x378c65['positions'];function _0x24b93e(_0xa24038,_0x136260){return _0x3d41bb(_0xa24038-_0x2bbc03._0x1c064c,_0x136260);}function _0x189b2a(_0x2a3e87,_0x3e9d46){return _0x34075e(_0x3e9d46,_0x2a3e87-_0x44ad59._0x21f72a);}this['tileset']['clippingPolygons']['add'](new Cesium__namespace['ClippingPolygon'](_0x55c4d4));}),this[_0x3d41bb(0x2be,0x41)]=![];}['clear'](){const _0xabdf19={_0xc255da:0x475},_0x263c02={_0x50a971:0x88};var _0x5c3f6a;super['clear']();function _0x4be8e0(_0x14c7ae,_0x54c65e){return _0x306755(_0x54c65e,_0x14c7ae-_0x263c02._0x50a971);}function _0x11b587(_0x241210,_0x35effc){return _0x2b6441(_0x241210,_0x35effc-_0xabdf19._0xc255da);}this['options']['czm']&&(_0x5c3f6a=this['tileset'])!==null&&_0x5c3f6a!==void 0x0&&_0x5c3f6a['clippingPolygons']&&this[_0x4be8e0(0xbf7,0x108e)][_0x11b587(0x1bad,0x164e)]['removeAll']();}['_enabledHook'](_0x5920c2){const _0x58ff03={_0x27ee6c:0xca4},_0x2bdd04={_0x376240:0x62c};function _0x20b7e6(_0x495065,_0x277e62){return _0x306755(_0x277e62,_0x495065- -_0x2bdd04._0x376240);}function _0x56c7e1(_0x23a372,_0x250ec1){return _0x306755(_0x250ec1,_0x23a372- -0x278);}var _0x4f6ee4;this['options']['czm']&&(_0x4f6ee4=this['tileset'])!==null&&_0x4f6ee4!==void 0x0&&_0x4f6ee4['clippingPolygons']&&(this[_0x20b7e6(0x543,0x15e)]['clippingPolygons'][_0x20b7e6(_0x58ff03._0x27ee6c,0x12fb)]=_0x5920c2);}}var TilesetFlatVS=_0x306755(0xe00,0x529),TilesetFlatMaskVS=_0x2b6441(0x89d,0xda5);class TilesetFlat extends TilesetEditBase{constructor(_0x445e2c={}){const _0x1dce15={_0x5e1491:0x463};super(_0x445e2c);function _0x1d0fa0(_0x916c48,_0x2e6c3a){return _0x306755(_0x2e6c3a,_0x916c48- -_0x1dce15._0x5e1491);}this['_customShadersKey']=_0x1d0fa0(0x339,0x5a2);}['_getCustomShader'](){const _0x9f9b61={_0x4131c8:0x175e,_0x23cc08:0x809,_0x4ca777:0xe22},_0x3e94f8={_0x3748f0:0x536},_0x4b167a={_0x5b2cf1:0x121e,_0x501a4e:0x1a56,_0x676990:0x1272,_0x5f0ee6:0x1718},_0x5cb834={_0x1cbd26:0x4f6},_0x5110f7={};_0x5110f7['vertexShaderText']=TilesetFlatVS;const _0x5f3025=new Cesium__namespace['CustomShader'](_0x5110f7),_0x3ff497=this[_0xca7088(_0x9f9b61._0x4131c8,0x1474)]['scene']['_context'][_0x2c42ab(0x9de,_0x9f9b61._0x23cc08)];function _0x2c42ab(_0x3cf466,_0x2b7b88){return _0x306755(_0x3cf466,_0x2b7b88-0x128);}_0x5f3025['uniformMap'][_0x2c42ab(0x26,0x853)]=()=>{return Cesium__namespace['defined'](this['_texture'])?this['_texture']:_0x3ff497;},_0x5f3025['uniformMap']['u_mars3d_flat_matrix']=()=>{return this['_matrix'];},_0x5f3025[_0xca7088(0xa88,0xa27)]['u_mars3d_flat_inverseMatrix']=()=>{function _0x2b7af0(_0x19076e,_0x41dcd8){return _0xca7088(_0x19076e- -_0x5cb834._0x1cbd26,_0x41dcd8);}return this[_0x2b7af0(0xb0a,0x4b7)];},_0x5f3025['uniformMap'][_0xca7088(0xa3a,_0x9f9b61._0x4ca777)]=()=>{return this['_rangeNumber'];},_0x5f3025['uniformMap']['u_mars3d_flat_maxRangeLength']=()=>{return this['_maxRangeLength'];},_0x5f3025['uniformMap']['u_mars3d_flat_enabled']=()=>{function _0x5d0d22(_0x358203,_0x557bff){return _0xca7088(_0x557bff-0xd,_0x358203);}function _0x245e24(_0x3730fd,_0x514a02){return _0xca7088(_0x514a02- -0x7a,_0x3730fd);}return this[_0x245e24(_0x4b167a._0x5b2cf1,0xa7c)]&&this[_0x5d0d22(_0x4b167a._0x501a4e,_0x4b167a._0x676990)]&&Cesium__namespace[_0x245e24(_0x4b167a._0x5f0ee6,0x16cd)](this['_texture']);};function _0xca7088(_0x305757,_0x325607){return _0x2b6441(_0x325607,_0x305757-_0x3e94f8._0x3748f0);}return _0x5f3025;}[_0x306755(0x7e9,0x7bf)](){const _0x22d5f9={_0x50acfd:0x2bc,_0x2d8fd5:0x58,_0x3c3b88:0x65f,_0x458977:0x6ca},_0x461ece={_0x9ecb38:0x429},_0x196630={_0x2bb214:0x1e03,_0x3c4a1f:0x13e6},_0x16411a={_0x268ddc:0x111c},_0x4fe65d={};_0x4fe65d['vertexShaderText']=TilesetFlatMaskVS;const _0x5eff44=new Cesium__namespace[(_0x41c9a3(_0x22d5f9._0x50acfd,_0x22d5f9._0x2d8fd5))](_0x4fe65d),_0x77b4ad=this['_map']['scene']['_context']['defaultTexture'];_0x5eff44['uniformMap'][_0x41c9a3(0x3e6,-_0x22d5f9._0x3c3b88)]=()=>{return Cesium__namespace['defined'](this['_texture'])?this['_texture']:_0x77b4ad;},_0x5eff44[_0x41c9a3(0x7ae,0xe3)]['u_mars3d_flat_matrix']=()=>{return this['_matrix'];};function _0x41c9a3(_0x1ad49d,_0x366bfb){return _0x2b6441(_0x366bfb,_0x1ad49d-0x25c);}_0x5eff44['uniformMap']['u_mars3d_flat_inverseMatrix']=()=>{const _0x13e974={_0x3f0d51:0x3f6};function _0x366e18(_0x439995,_0x1255a7){return _0x41c9a3(_0x439995-_0x13e974._0x3f0d51,_0x1255a7);}return this[_0x366e18(_0x16411a._0x268ddc,0x1141)];},_0x5eff44[_0x227e98(-0x251,0x6ca)]['u_mars3d_flat_radius']=()=>{return this['_mask_radius'];},_0x5eff44['uniformMap']['u_mars3d_flat_localZ']=()=>{return this['_mask_localZ'];},_0x5eff44[_0x227e98(0x3f7,_0x22d5f9._0x458977)]['u_mars3d_flat_enabled']=()=>{const _0x5d136f={_0x128dcd:0x223};function _0x102d99(_0x4c9f8b,_0x40a334){return _0x41c9a3(_0x4c9f8b-_0x5d136f._0x128dcd,_0x40a334);}function _0x89222a(_0x48481f,_0x326d38){return _0x227e98(_0x48481f,_0x326d38-0x53f);}return this['isAdded']&&this[_0x89222a(_0x196630._0x2bb214,_0x196630._0x3c4a1f)]&&Cesium__namespace[_0x89222a(0xe59,0x18c8)](this['_texture']);};function _0x227e98(_0x152034,_0x935553){return _0x306755(_0x152034,_0x935553- -_0x461ece._0x9ecb38);}return _0x5eff44;}['addArea'](_0x56fafb,_0x2fdf2a={}){const _0x46cd6b={_0x5d9005:0x658,_0xabd25f:0xef0},_0x2dc0d0={_0x2c1703:0x317};function _0x49fbc5(_0x3ee67c,_0x333465){return _0x2b6441(_0x333465,_0x3ee67c-_0x2dc0d0._0x2c1703);}!this['_precise']&&this['_updateHeight_Mask'](_0x2fdf2a[_0x2fe8c1(_0x46cd6b._0x5d9005,-0x3f6)]||0x0);function _0x2fe8c1(_0x494b2e,_0xd44f38){return _0x2b6441(_0xd44f38,_0x494b2e-0x7);}return super[_0x49fbc5(0xd08,_0x46cd6b._0xabd25f)](_0x56fafb,_0x2fdf2a);}['updateHeight'](_0x4d9970,_0xa29124){const _0x2aa0f8={_0xe90971:0x2d3,_0x18e6ec:0x785,_0x4dd75b:0xf03},_0x139dcb={_0x32c3bd:0x5a6};function _0x6f2b74(_0x1aed49,_0x10ae8d){return _0x2b6441(_0x1aed49,_0x10ae8d-_0x139dcb._0x32c3bd);}function _0x34a007(_0x30a33c,_0x1e20a4){return _0x306755(_0x30a33c,_0x1e20a4- -0x526);}if(this[_0x34a007(-_0x2aa0f8._0xe90971,0xb7)]){if(Cesium__namespace['defined'](_0xa29124)){const _0x43be9b=this['getAreaById'](_0xa29124);_0x43be9b&&(_0x43be9b[_0x6f2b74(0xbeb,0xbf7)]=_0x4d9970,this['_hasUpdate']=!![]);}else{for(let _0x2fe05d=0x0;_0x2fe05d<this['_areaList']['length'];_0x2fe05d++){const _0x1a1321=this[_0x6f2b74(0x2c9,_0x2aa0f8._0x18e6ec)][_0x2fe05d];_0x1a1321['height']=_0x4d9970;}this[_0x6f2b74(-0xa9,0x7ea)]=!![];}}else this[_0x34a007(_0x2aa0f8._0x4dd75b,0x1208)](_0x4d9970);}['_updateHeight_Mask'](_0x2f3747){const _0x30d99c={_0x1b13ba:0x3a9,_0x59832a:0xceb,_0x7ffb48:0x1aa0,_0xa911f2:0x2082,_0x57b29a:0x129e},_0x2d009a={_0xc7d633:0x69a},_0x59c4de=Cesium__namespace['Cartesian3']['fromRadians'](this[_0x5bc324(0x7e0,_0x30d99c._0x1b13ba)]['longitude'],this['_center']['latitude'],this['_center'][_0x5bc324(_0x30d99c._0x59832a,0xaee)]+_0x2f3747+this[_0x5bc324(_0x30d99c._0x7ffb48,_0x30d99c._0xa911f2)]);function _0x5edfe6(_0x5e463c,_0x14cc85){return _0x306755(_0x5e463c,_0x14cc85- -0x253);}function _0x5bc324(_0x128f33,_0x5e2221){return _0x2b6441(_0x5e2221,_0x128f33-_0x2d009a._0xc7d633);}const _0x1d007d=Cesium__namespace[_0x5bc324(0xc6b,_0x30d99c._0x57b29a)][_0x5edfe6(0x1e6,0x2a6)](this[_0x5edfe6(0x87e,0xe18)],_0x59c4de,_0x59c4de);this['_mask_localZ']=_0x1d007d['z'];}}var TilesetFloodFS=_0x306755(0x12a2,0x975),TilesetFloodMaskFS=_0x306755(0x517,0xf2a);class TilesetFlood extends TilesetEditBase{constructor(_0x24193d={}){const _0x3822cf={_0x53bed6:0x7fb,_0x20b37e:0xb44,_0x18e2f0:0x5ac,_0x21bccb:0x1243},_0x5180f2={_0x2c76e2:0x60e};function _0x2efcd3(_0x1e1390,_0x22c4e3){return _0x306755(_0x22c4e3,_0x1e1390- -0x4ed);}function _0x5b2fce(_0x49ff53,_0x874972){return _0x2b6441(_0x49ff53,_0x874972-_0x5180f2._0x2c76e2);}super(_0x24193d),this[_0x5b2fce(0xf62,_0x3822cf._0x53bed6)]=_0x5b2fce(_0x3822cf._0x20b37e,_0x3822cf._0x18e2f0),this['options']['speed']=this['options']['speed']??0x5,this['color']=this['options']['color']||new Cesium__namespace[(_0x2efcd3(0xa47,_0x3822cf._0x21bccb))](0.15,0.7,0.95,0.5),this['_limitMin']=this[_0x5b2fce(0x12d7,0xcca)]['limitMin']??![];}get['speed'](){return this['options']['speed'];}set[_0x2b6441(0x1359,0x8d9)](_0x278f6d){this['options']['speed']=_0x278f6d;}get[_0x2b6441(0x10f0,0xad9)](){const _0x139b54={_0x1ab55b:0xe53},_0x158c7b={_0x6c786d:0x49c};function _0x34d891(_0xed1c05,_0x264945){return _0x306755(_0x264945,_0xed1c05- -_0x158c7b._0x6c786d);}return this['options'][_0x34d891(0xbde,_0x139b54._0x1ab55b)]??![];}set['floodAll'](_0x6572c2){this['options']['floodAll']=_0x6572c2;}get['height'](){const _0x126a86={_0x12bb46:0x163};function _0x114496(_0x3c6957,_0x30177c){return _0x306755(_0x30177c,_0x3c6957-_0x126a86._0x12bb46);}return this[_0x114496(0xdc0,0x8db)]['height'];}set['height'](_0x3af093){const _0x4fe412={_0x43787e:0xa66,_0x29b5ad:0x1c34},_0x4b4525={_0x1d3d10:0x254};function _0x52d141(_0x81b8c6,_0x199da3){return _0x306755(_0x81b8c6,_0x199da3-0x71);}this['options']['height']=_0x3af093;function _0x3de833(_0x15262b,_0x496aa0){return _0x2b6441(_0x15262b,_0x496aa0-_0x4b4525._0x1d3d10);}this[_0x3de833(_0x4fe412._0x43787e,0x10a6)]=_0x3af093+this[_0x3de833(_0x4fe412._0x29b5ad,0x165a)];}get['color'](){return this['_color'];}set['color'](_0x5da85d){this['_color']=getCesiumColor(_0x5da85d,new Cesium__namespace['Color'](0.15,0.7,0.95,0.5));}[_0x306755(0xa41,0xb58)](){const _0x1bf6d3={_0x3c9dda:0x19cb,_0x36de86:0xf9c},_0x3cc35d={_0x59b410:0x495};function _0x3033e7(_0xb061bf,_0x3310b3){return _0x2b6441(_0x3310b3,_0xb061bf-_0x3cc35d._0x59b410);}function _0x464f73(_0xe04c9b,_0x523d9d){return _0x306755(_0x523d9d,_0xe04c9b-0x24);}this['stop'](),Cesium__namespace['defined'](this['options'][_0x464f73(0x864,0x134)])?(this['_minHeight']=this['options']['minHeight']+this[_0x464f73(_0x1bf6d3._0x3c9dda,0x15ad)],this[_0x464f73(0xc16,0x4ed)]=this[_0x464f73(0xc81,0x1704)]['minHeight']):(this['_minHeight']=-0x270f,this['height']=0x0),this['isStart']=!![],this['fire'](EventType[_0x464f73(0xb7c,_0x1bf6d3._0x36de86)]),this['_map']['on'](EventType['clockTick'],this['_onClockTickHandler'],this);}['_onClockTickHandler'](_0x32ae38){const _0x1f8e24={_0x269a18:0x6bc,_0xf3cc25:0x105b,_0x6c43d6:0xccc,_0x33dda7:0x624,_0x8fe06b:0x207,_0xc32fc2:0x26d,_0x4367b3:0x6db},_0x40b7eb={_0x242a43:0x639},_0x5b2301={_0x245b81:0x3f3};function _0x143076(_0x3d8333,_0x475c81){return _0x2b6441(_0x3d8333,_0x475c81-_0x5b2301._0x245b81);}this[_0x143076(_0x1f8e24._0x269a18,0xa44)]+=this[_0x143076(_0x1f8e24._0xf3cc25,_0x1f8e24._0x6c43d6)]/0x32;if(this['height']>this['options']['maxHeight']){this['height']=this[_0x48bdfe(0xa3,_0x1f8e24._0x33dda7)]['maxHeight'],this[_0x143076(0x12ca,0x162d)]();return;}if(this[_0x48bdfe(-0x35d,0x5b9)]<this['options'][_0x48bdfe(0x13f,_0x1f8e24._0x8fe06b)]){this['height']=this[_0x48bdfe(-_0x1f8e24._0xc32fc2,0x624)][_0x48bdfe(0xa4e,_0x1f8e24._0x8fe06b)],this['stop']();return;}function _0x48bdfe(_0x2d1f83,_0x5b0233){return _0x306755(_0x2d1f83,_0x5b0233- -_0x40b7eb._0x242a43);}this[_0x143076(0xbc6,_0x1f8e24._0x4367b3)](EventType[_0x48bdfe(0x60a,0x7b5)],{'height':this['height']});}['stop'](){const _0x6a69cc={_0x41cd95:0x18cf,_0x303bd9:0xf39};function _0x2db991(_0x3fd44f,_0x3020c1){return _0x2b6441(_0x3020c1,_0x3fd44f- -0x27);}if(!this['isStart'])return;this['_map']['off'](EventType[_0x36fd54(0x644,0x1016)],this['_onClockTickHandler'],this);function _0x36fd54(_0x3ca45a,_0x1cce0d){return _0x306755(_0x3ca45a,_0x1cce0d- -0x28a);}this[_0x36fd54(_0x6a69cc._0x41cd95,_0x6a69cc._0x303bd9)]=![],this['fire'](EventType[_0x2db991(0x382,0x445)]);}['restart'](){this['start']();}[_0x306755(0x937,0x83c)](){const _0x12a6de={_0x106440:0x12a5,_0x3e1c99:0x1714,_0x2ed414:0x14c2};function _0x3124e5(_0x4e4e51,_0x479e84){return _0x2b6441(_0x479e84,_0x4e4e51-0x6b);}this[_0x3124e5(_0x12a6de._0x106440,_0x12a6de._0x3e1c99)](),super['clear']();function _0x45c503(_0x5d7b34,_0x58fe1e){return _0x2b6441(_0x58fe1e,_0x5d7b34-0x67d);}delete this[_0x45c503(0x17da,_0x12a6de._0x2ed414)],delete this['_currentHeight'];}[_0x306755(0xfde,0x190c)](){const _0x221bc3={_0x11e8a9:0x671,_0x5d1d5e:0x89,_0x4ab6ca:0x7bc,_0x12068b:0x7bc,_0x2454a8:0x994,_0x316f90:0x6ff},_0xa0a2a3={_0x2e06dd:0xcd5},_0x5eaf71={_0x4e95df:0x4ab},_0x44a002={_0x3b50fc:0xc04},_0x2f3c9c={_0x432db4:0xfb9},_0x2552c4={_0x187dd4:0x54e},_0x4b3122={_0x572566:0x3f4},_0x121c34={_0x2e01ae:0x41b},_0x14a411={_0x171202:0x1363,_0x10c95e:0x1348,_0x6dd37e:0xded,_0x3353fd:0x8b4},_0x2f0aef={};_0x2f0aef[_0x560d44(0x1e7,-0x863)]=TilesetFloodFS;const _0x35959c=new Cesium__namespace['CustomShader'](_0x2f0aef),_0x5ccd1e=this[_0x2c214a(0xb3e,0x13d5)][_0x2c214a(0xd7e,_0x221bc3._0x11e8a9)]['_context'][_0x2c214a(-0x296,0x2ed)];_0x35959c['uniformMap'][_0x560d44(0x89b,_0x221bc3._0x5d1d5e)]=()=>{function _0x31b9b4(_0x37f521,_0x393f64){return _0x560d44(_0x393f64-0x13e,_0x37f521);}function _0x5aa55d(_0x13b12c,_0x202972){return _0x560d44(_0x202972- -0x133,_0x13b12c);}return Cesium__namespace[_0x5aa55d(_0x14a411._0x171202,_0x14a411._0x10c95e)](this[_0x31b9b4(0x102e,0x8b4)])?this[_0x31b9b4(_0x14a411._0x6dd37e,_0x14a411._0x3353fd)]:_0x5ccd1e;},_0x35959c['uniformMap'][_0x2c214a(0x5ec,0x1058)]=()=>{return this['_inverseMatrix'];},_0x35959c[_0x2c214a(0x730,0x6ff)]['u_mars3d_flood_rangeNumber']=()=>{const _0x1762ce={_0x36747e:0x184};function _0x3d4b3f(_0x4c718b,_0x5241be){return _0x2c214a(_0x5241be,_0x4c718b- -_0x1762ce._0x36747e);}return this[_0x3d4b3f(_0x121c34._0x2e01ae,0x28f)];},_0x35959c['uniformMap']['u_mars3d_flood_maxRangeLength']=()=>{return this['_maxRangeLength'];};function _0x560d44(_0x31b165,_0xb5a137){return _0x2b6441(_0xb5a137,_0x31b165-0x26a);}function _0x2c214a(_0x11faed,_0x275412){return _0x306755(_0x11faed,_0x275412- -_0x4b3122._0x572566);}return _0x35959c['uniformMap']['u_mars3d_flood_floodAll']=()=>{return this['floodAll'];},_0x35959c[_0x560d44(_0x221bc3._0x4ab6ca,0xe77)]['u_mars3d_flood_color']=()=>{function _0x7769d3(_0x4579b6,_0x2cb08b){return _0x2c214a(_0x2cb08b,_0x4579b6-0x1aa);}return this[_0x7769d3(0xc65,_0x2552c4._0x187dd4)];},_0x35959c[_0x560d44(_0x221bc3._0x12068b,0x1067)][_0x560d44(0x11d4,0x1b92)]=()=>{const _0xe7b361={_0x57ab49:0x46};function _0x2cfb3c(_0x5aad82,_0x2bc1a3){return _0x2c214a(_0x2bc1a3,_0x5aad82- -_0xe7b361._0x57ab49);}return this[_0x2cfb3c(_0x2f3c9c._0x432db4,0xbed)];},_0x35959c[_0x2c214a(-0x2b8,0x6ff)]['u_mars3d_flood_min_height']=()=>{return this['_minHeight'];},_0x35959c[_0x560d44(0x7bc,0x38a)]['u_mars3d_flood_limitMin']=()=>{function _0x1d0d9c(_0x4180cf,_0x141410){return _0x560d44(_0x4180cf-0x352,_0x141410);}return this[_0x1d0d9c(_0x44a002._0x3b50fc,0xde6)];},_0x35959c['uniformMap']['u_mars3d_flood_enabled']=()=>{function _0x1bd047(_0x41de74,_0x240912){return _0x560d44(_0x240912-0x3d6,_0x41de74);}function _0x3465f0(_0x4a5bd2,_0x15838b){return _0x560d44(_0x4a5bd2-_0x5eaf71._0x4e95df,_0x15838b);}return this[_0x3465f0(_0xa0a2a3._0x2e06dd,0x91a)]&&this[_0x1bd047(0x1c78,0x136f)]&&Cesium__namespace['defined'](this[_0x3465f0(0x1567,0x142f)]);},this['uniformMap']=_0x35959c[_0x2c214a(_0x221bc3._0x2454a8,_0x221bc3._0x316f90)],_0x35959c;}['_getCustomShader_Mask'](){const _0x374128={_0xf18d87:0x1372,_0x17649c:0xfa3,_0x323caf:0x9c5,_0x5a608d:0x4ab,_0x2a457b:0x4a9,_0x53f668:0x68f},_0x5fd912={_0x4fd190:0x15ac,_0x2ce736:0x1772},_0x58500b={_0x1636fc:0xf11},_0x51e803={_0x2ca77a:0x6da},_0x3f9ccb={_0x106ea3:0x7b},_0x1bea27={_0x132c50:0xcc2},_0x4e634f={_0x239ea5:0x4e9},_0x10c584={_0x39f937:0x78a,_0x5a4629:0xc5},_0x50d672={};_0x50d672['fragmentShaderText']=TilesetFloodMaskFS;const _0x4c15a6=new Cesium__namespace[(_0x4dc125(-0x689,0x19d))](_0x50d672),_0x180b6e=this['_map'][_0x4f7440(0x937,0x11d7)][_0x4f7440(0x105f,_0x374128._0xf18d87)]['defaultTexture'];_0x4c15a6['uniformMap']['u_mars3d_flood_texture']=()=>{const _0x4be168={_0x4d03dc:0x141};function _0x1c8ede(_0x4f0913,_0x5092e4){return _0x4dc125(_0x5092e4,_0x4f0913-_0x4be168._0x4d03dc);}return Cesium__namespace['defined'](this[_0x1c8ede(_0x10c584._0x39f937,_0x10c584._0x5a4629)])?this['_texture']:_0x180b6e;},_0x4c15a6[_0x4dc125(_0x374128._0x17649c,0x68f)]['u_mars3d_flood_inverseMatrix']=()=>{return this['_inverseMatrix'];},_0x4c15a6[_0x4f7440(_0x374128._0x323caf,0x40b)][_0x4dc125(_0x374128._0x5a608d,_0x374128._0x2a457b)]=()=>{function _0x38ff94(_0x4a6b69,_0x52affc){return _0x4f7440(_0x52affc- -_0x4e634f._0x239ea5,_0x4a6b69);}return this[_0x38ff94(0x38a,_0x1bea27._0x132c50)];};function _0x4f7440(_0x1986a1,_0x4308cd){return _0x306755(_0x4308cd,_0x1986a1- -0x12e);}function _0x4dc125(_0x4a9b98,_0x343dc1){return _0x306755(_0x4a9b98,_0x343dc1- -0x464);}return _0x4c15a6['uniformMap'][_0x4dc125(0xb36,0xde2)]=()=>{return this['floodAll'];},_0x4c15a6['uniformMap']['u_mars3d_flood_color']=()=>{function _0x806736(_0xa3cfa7,_0x3aeada){return _0x4f7440(_0xa3cfa7-_0x3f9ccb._0x106ea3,_0x3aeada);}return this[_0x806736(0xdfc,_0x51e803._0x2ca77a)];},_0x4c15a6['uniformMap']['u_mars3d_flood_currentheight']=()=>{function _0x211f57(_0x2fa827,_0x5f3879){return _0x4dc125(_0x2fa827,_0x5f3879-0x104);}return this[_0x211f57(0x1453,0x1093)];},_0x4c15a6[_0x4dc125(-0x361,_0x374128._0x53f668)]['u_mars3d_flood_min_height']=()=>{function _0x5e3547(_0x267ffc,_0x563e05){return _0x4dc125(_0x267ffc,_0x563e05-0x467);}return this[_0x5e3547(_0x58500b._0x1636fc,0x1701)];},_0x4c15a6['uniformMap']['u_mars3d_flood_limitMin']=()=>{function _0x262783(_0x2a6ebb,_0x3eb373){return _0x4f7440(_0x2a6ebb-0x104,_0x3eb373);}return this[_0x262783(0xbbf,0xbf1)];},_0x4c15a6['uniformMap'][_0x4dc125(0xd2b,0x3c3)]=()=>{function _0x232427(_0x50f617,_0x362481){return _0x4dc125(_0x50f617,_0x362481-0x424);}return this['isAdded']&&this['enabled']&&Cesium__namespace[_0x232427(_0x5fd912._0x4fd190,_0x5fd912._0x2ce736)](this['_currentHeight']);},this['uniformMap']=_0x4c15a6['uniformMap'],_0x4c15a6;}}class TilesetPlanClip extends BaseThing{get[_0x2b6441(0x154d,0xc9e)](){return this['_tileset'];}set[_0x306755(0x7f5,0x123f)](_0x2b636d){const _0x45b7e8={_0x4e03a5:0x147,_0x5e69fa:0x924};this['_tileset']=_0x2b636d;function _0x2d0ad7(_0xbd3a08,_0x16fbc6){return _0x306755(_0xbd3a08,_0x16fbc6- -0x104);}this['_inverseMatrix']=null;function _0x578ced(_0x493c89,_0x5b43d2){return _0x306755(_0x493c89,_0x5b43d2- -0x2fb);}Cesium__namespace[_0x2d0ad7(0xfb9,0x16ae)](this[_0x2d0ad7(0xed6,0xb59)]['positions'])&&(this['positions']=this[_0x2d0ad7(_0x45b7e8._0x4e03a5,0xb59)]['positions']),Cesium__namespace['defined'](this['options'][_0x2d0ad7(_0x45b7e8._0x5e69fa,0xb9c)])&&(this['clipType']=this['options'][_0x578ced(0x196,0x9a5)]),Cesium__namespace['defined'](this['options'][_0x578ced(0x7ee,0xc22)])&&(this[_0x2d0ad7(0xdf1,0xe19)]=this['options']['distance']);}get[_0x2b6441(-0x51d,0x429)](){return this['_layer'];}set['layer'](_0x2fbca4){const _0xbfccff={_0x35b3e0:0x1114},_0x240732={_0x26d93b:0x97e,_0x1d4d17:0x102b},_0x39a44b={_0x4fa25a:0x29d},_0x1be26d={_0x446bc1:0x476};this['_layer']=_0x2fbca4;function _0x590868(_0x12379,_0x4e03bb){return _0x2b6441(_0x12379,_0x4e03bb-_0x1be26d._0x446bc1);}_0x2fbca4['loadOk']?this[_0x590868(0x1417,_0xbfccff._0x35b3e0)]=_0x2fbca4['tileset']:_0x2fbca4['on'](EventType['load'],_0x530ed2=>{const _0x13d23d={_0x29f4d1:0xc6};function _0xce403b(_0x22cf9c,_0x1882e1){return _0x590868(_0x1882e1,_0x22cf9c-_0x39a44b._0x4fa25a);}function _0x2a56b6(_0x41aefd,_0x21d1b6){return _0x590868(_0x21d1b6,_0x41aefd- -_0x13d23d._0x29f4d1);}this[_0xce403b(0x13b1,0x12a3)]=_0x2fbca4[_0x2a56b6(_0x240732._0x26d93b,_0x240732._0x1d4d17)];});}get['planes'](){const _0x13d01b={_0x56e80f:0x7dc},_0x7315c1={_0x4abb0a:0x108};function _0x43f701(_0x56e745,_0x5c09b9){return _0x306755(_0x5c09b9,_0x56e745- -_0x7315c1._0x4abb0a);}return this[_0x43f701(_0x13d01b._0x56e80f,-0x108)];}get['polygons'](){return this['clippingPolygons'];}get[_0x306755(0x4a1,0x759)](){const _0x3dfa02={_0x5bc5ea:0xc06,_0x3113d0:0x7ab,_0xffb78c:0x1d6,_0x4eeb95:0x575,_0xca20a7:0x1d,_0x535daa:0x993,_0x387bca:0x439,_0x35e74f:0x575,_0x5435cc:0xbc2};function _0x29d495(_0x483de6,_0x106850){return _0x306755(_0x483de6,_0x106850- -0x2c3);}if(!this['_inverseMatrix']){let _0x3bb3fb;const _0x51d895=this['_tileset'][_0x1de177(_0x3dfa02._0x5bc5ea,_0x3dfa02._0x3113d0)][_0x1de177(_0x3dfa02._0xffb78c,0x2a4)];_0x51d895&&_0x51d895[_0x29d495(0x15eb,0xcf2)](Cesium__namespace[_0x1de177(_0x3dfa02._0x4eeb95,-_0x3dfa02._0xca20a7)]['IDENTITY'])||!_0x51d895?_0x3bb3fb=Cesium__namespace['Transforms'][_0x1de177(0x115c,0x88b)](this['_tileset']['boundingSphere'][_0x29d495(_0x3dfa02._0x535daa,_0x3dfa02._0x387bca)]):_0x3bb3fb=Cesium__namespace[_0x29d495(0x8e8,0x8af)][_0x1de177(0xa8c,0x14f9)](this['_tileset']['root']['transform']),this['_inverseMatrix']=Cesium__namespace[_0x1de177(_0x3dfa02._0x4eeb95,0x24f)][_0x1de177(0xd34,0x9d5)](_0x3bb3fb,new Cesium__namespace[(_0x1de177(_0x3dfa02._0x35e74f,_0x3dfa02._0x5435cc))]());}function _0x1de177(_0x41f799,_0x39d53e){return _0x2b6441(_0x39d53e,_0x41f799- -0x5c);}return this[_0x1de177(0xa6e,0x110c)];}get[_0x2b6441(-0x4a5,0x15b)](){const _0x322265={_0x1e2f9d:0xac6,_0x1b6a2b:0xf54,_0x3441fc:0x121f,_0x3c0910:0x979,_0x3dfa54:0x10f4},_0x4b753e={_0xcc5717:0x131};function _0x3f71d7(_0x1c437f,_0x52b6c0){return _0x2b6441(_0x1c437f,_0x52b6c0-_0x4b753e._0xcc5717);}if(this[_0x3f71d7(0xf0c,0xf54)])return this[_0x3f71d7(_0x322265._0x1e2f9d,_0x322265._0x1b6a2b)][_0x43f023(_0x322265._0x3441fc,0xf51)];function _0x43f023(_0x330135,_0x13cdf7){return _0x306755(_0x13cdf7,_0x330135-0x28);}return this[_0x43f023(0x506,-0x1e2)][_0x43f023(_0x322265._0x3c0910,_0x322265._0x3dfa54)]['center'];}get['distance'](){const _0x509ed0={_0x3f813f:0xecc,_0x3cdb94:0x100b},_0xac902a={_0x29584e:0x1ad};function _0x3cb871(_0x9c7ad0,_0x8847b2){return _0x2b6441(_0x9c7ad0,_0x8847b2-_0xac902a._0x29584e);}return this[_0x3cb871(_0x509ed0._0x3f813f,_0x509ed0._0x3cdb94)];}set['distance'](_0x4fc383){const _0x294a33={_0x18c587:0x488,_0x527945:0x11a1,_0x583955:0x1051,_0x57b66e:0x66e},_0xd6b314={_0x3d613a:0x9},_0x400ef8={_0x1e3176:0x45c};this['_distance']=_0x4fc383;function _0x349576(_0x3ed6ba,_0x28ed6f){return _0x306755(_0x3ed6ba,_0x28ed6f- -_0x400ef8._0x1e3176);}function _0x3ff093(_0x3454f3,_0x4cfe54){return _0x2b6441(_0x4cfe54,_0x3454f3- -_0xd6b314._0x3d613a);}if(this['clippingPlanes']&&this['clippingPlanes'][_0x3ff093(0x1051,0xddf)]>0x0){const _0x1cc2d6=this[_0x349576(-0x13d,_0x294a33._0x18c587)][_0x3ff093(0x6e3,_0x294a33._0x527945)](this['clippingPlanes'][_0x3ff093(_0x294a33._0x583955,_0x294a33._0x57b66e)]-0x1);_0x1cc2d6['distance']=_0x4fc383;}}get['angle1'](){return this['_normal_angle1']||0x0;}set[_0x2b6441(-0x5c8,0x281)](_0x109beb){const _0x3ac072={_0x4f1d9d:0x9a8,_0x280d86:0x594,_0x5337f6:0xcc0,_0x1774a2:0x105b,_0x24c4a7:0x11bd},_0x45ab81={_0x2fba98:0x43e},_0x2f1d43={_0x6b6346:0x5d4};this[_0x15c17d(_0x3ac072._0x4f1d9d,_0x3ac072._0x280d86)]=_0x109beb;function _0x195791(_0x5c71dd,_0x46c41e){return _0x2b6441(_0x46c41e,_0x5c71dd-_0x2f1d43._0x6b6346);}function _0x15c17d(_0x5eede8,_0x3c54c0){return _0x306755(_0x3c54c0,_0x5eede8- -_0x45ab81._0x2fba98);}if(this['clippingPlanes']&&this['clippingPlanes']['length']>0x0){const _0x1a4113=this[_0x15c17d(0x4a6,0x460)][_0x195791(_0x3ac072._0x5337f6,_0x3ac072._0x1774a2)](this['clippingPlanes'][_0x15c17d(_0x3ac072._0x24c4a7,0x122b)]-0x1);this['_updateNormal'](_0x1a4113,_0x109beb,this[_0x195791(0x8f0,0xcd2)]);}}get['angle2'](){return this['_normal_angle2']||0x0;}set['angle2'](_0x5d6581){const _0x501106={_0x1099e2:0xb7b},_0x463c0d={_0x29e22e:0x259};this[_0x111aa9(0x166c,0x1331)]=_0x5d6581;function _0xbd92b3(_0x496f96,_0x169e63){return _0x2b6441(_0x169e63,_0x496f96-0x1b);}function _0x111aa9(_0x567bef,_0xdc319e){return _0x306755(_0x567bef,_0xdc319e- -_0x463c0d._0x29e22e);}if(this['clippingPlanes']&&this['clippingPlanes']['length']>0x0){const _0x5bcf77=this[_0xbd92b3(0x35e,0xb20)]['get'](this['clippingPlanes']['length']-0x1);this['_updateNormal'](_0x5bcf77,this[_0xbd92b3(0x29c,_0x501106._0x1099e2)],_0x5d6581);}}get['normalZ'](){return this['_normalZ']||0x0;}set['normalZ'](_0x2d61e5){const _0x254cd6={_0x12cfa9:0xc41,_0x23127b:0x8c0,_0x5d236e:0x7b3},_0x509e77={_0x4e3670:0x57d},_0x53b2c4={_0x27a0db:0x40c};this['_normalZ']=_0x2d61e5;function _0xd6f37a(_0x3bb3af,_0x3c948a){return _0x2b6441(_0x3bb3af,_0x3c948a-_0x53b2c4._0x27a0db);}function _0x422d79(_0x4f77d1,_0x4f1ea3){return _0x2b6441(_0x4f1ea3,_0x4f77d1-_0x509e77._0x4e3670);}if(this['clippingPlanes']&&this['clippingPlanes'][_0x422d79(0x15d7,_0x254cd6._0x12cfa9)]>0x0){const _0x246760=this[_0x422d79(_0x254cd6._0x23127b,0xc02)]['get'](this[_0x422d79(0x8c0,_0x254cd6._0x5d236e)]['length']-0x1);_0x246760['normal']['z']=_0x2d61e5;}}get['clipType'](){return this['_clipType'];}set['clipType'](_0x3fba80){const _0x3b0cb4={_0x360b22:0x470,_0x23afc2:0x28c,_0x4fe515:0xe10,_0x28eff1:0xf61,_0x25d188:0xfab},_0x57178f={_0xcd138:0x215};this[_0x2694bc(0xf12,0x160c)]=_0x3fba80;function _0x2694bc(_0xcc7c96,_0xed4886){return _0x306755(_0xed4886,_0xcc7c96- -0x5b1);}let _0x3205f0;function _0x3fd70a(_0x3319da,_0x20ca67){return _0x2b6441(_0x20ca67,_0x3319da-_0x57178f._0xcd138);}switch(_0x3fba80){case ClipType['Z']:_0x3205f0=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,0x0,0x1),0x1)];break;case ClipType['ZR']:_0x3205f0=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace[(_0x2694bc(_0x3b0cb4._0x360b22,-_0x3b0cb4._0x23afc2))](0x0,0x0,-0x1),0x1)];break;case ClipType['X']:_0x3205f0=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x1,0x0,0x0),0x1)];break;case ClipType['XR']:_0x3205f0=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace[(_0x2694bc(0x470,_0x3b0cb4._0x4fe515))](-0x1,0x0,0x0),0x1)];break;case ClipType['Y']:_0x3205f0=[new Cesium__namespace[(_0x3fd70a(0x894,_0x3b0cb4._0x28eff1))](new Cesium__namespace[(_0x2694bc(0x470,0x593))](0x0,0x1,0x0),0x1)];break;case ClipType['YR']:_0x3205f0=[new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,-0x1,0x0),0x1)];break;}this[_0x3fd70a(0xfd6,_0x3b0cb4._0x25d188)](_0x3205f0);}get['positions'](){const _0xdba0d7={_0x3a1603:0x21d};function _0x40fb13(_0x249247,_0x5a7989){return _0x306755(_0x249247,_0x5a7989- -0x44d);}return this[_0x40fb13(_0xdba0d7._0x3a1603,0x687)];}set['positions'](_0x523c62){this['_positions']=LngLatArray['toCartesians'](_0x523c62),this['_setPositions'](this['_positions']);}get[_0x306755(0x4a3,0xa4b)](){const _0x37af7c={_0x2d46ef:0x242};function _0x495399(_0x444c1f,_0x274c59){return _0x306755(_0x444c1f,_0x274c59- -_0x37af7c._0x2d46ef);}return this['options'][_0x495399(-0x1ee,0x809)];}set[_0x2b6441(0x245,0x4aa)](_0x240848){const _0x51188b={_0x3bd929:0xc00,_0x2a4753:0xff5,_0x22f226:0x176c};function _0x33e53c(_0x5bf46f,_0x18c420){return _0x2b6441(_0x18c420,_0x5bf46f-0x3ff);}function _0x517561(_0x1dc04c,_0x1d676f){return _0x2b6441(_0x1d676f,_0x1dc04c-0x544);}this[_0x517561(_0x51188b._0x3bd929,_0x51188b._0x2a4753)]['clipOutSide']=_0x240848,this[_0x517561(_0x51188b._0x22f226,0x1524)]&&this[_0x33e53c(0x932,-0x6)]&&this['_setPositions'](this[_0x517561(0xa77,0x1135)]);}[_0x2b6441(0x1213,0xd6b)](){const _0x14641c={_0x20c402:0x72c,_0x40a44d:0x1f0,_0x1e252f:0x177c,_0x4bb670:0xfbe,_0x48588e:0x718,_0x8506f4:0x138,_0x674227:0x1f7},_0x304968={_0x53a79c:0x70},_0x1b0c1a={_0x1da7ba:0x1849,_0x4b9b5e:0xc4d,_0x5ef718:0xc04};this['options']['showPlane']&&(this['_graphicLayer']=new GraphicLayer({...this['options'],'private':!![]}),this[_0x30fac4(_0x14641c._0x20c402,-_0x14641c._0x40a44d)][_0x51aabf(_0x14641c._0x1e252f,_0x14641c._0x4bb670)]&&this['_graphicLayer']['bindContextMenu']([{'text':this[_0x30fac4(0x1298,0xa22)]['getLangText']('_删除'),'icon':Icon['Delete'],'callback':_0x3072fd=>{const _0x377296=_0x3072fd['graphic'];if(!_0x377296)return;this[_0x31ef70(_0x1b0c1a._0x1da7ba,0x1569)][_0x2c4ae2(_0x1b0c1a._0x4b9b5e,0x609)](_0x377296);function _0x2c4ae2(_0x1d58ba,_0x2ffd43){return _0x51aabf(_0x2ffd43,_0x1d58ba-0x44f);}function _0x31ef70(_0x500c2d,_0x6cc9b5){return _0x30fac4(_0x6cc9b5-0x28a,_0x500c2d);}this[_0x31ef70(_0x1b0c1a._0x5ef718,0x5e2)](EventType['remove'],_0x3072fd);}}]));function _0x51aabf(_0x34a61c,_0x3410f2){return _0x2b6441(_0x34a61c,_0x3410f2-0x5c);}function _0x30fac4(_0x3b1fde,_0x530529){return _0x2b6441(_0x530529,_0x3b1fde-_0x304968._0x53a79c);}if(this[_0x51aabf(-0x395,_0x14641c._0x48588e)][_0x30fac4(0x499,-_0x14641c._0x8506f4)])this[_0x30fac4(0x499,_0x14641c._0x674227)]=this['options']['layer'];else this['options']['tileset']&&(this[_0x51aabf(0x108c,0xcfa)]=this['options']['tileset']);}['_map_click'](_0x215c68){const _0x4ca64c={_0x3d5c7b:0x1cf,_0x5bace5:0x1a27,_0xce65eb:0x15f2},_0x4278c8={_0x7dbc83:0x667},_0x3e06cf={_0x678838:0x5b};function _0x284906(_0xa6f537,_0x986172){return _0x2b6441(_0xa6f537,_0x986172-_0x3e06cf._0x678838);}function _0x24bb14(_0x16bfc8,_0x331ce0){return _0x2b6441(_0x331ce0,_0x16bfc8-_0x4278c8._0x7dbc83);}this[_0x284906(_0x4ca64c._0x3d5c7b,0x9b0)]&&(this['_last_planeGraphics']['hasEdit']=![],this[_0x284906(0x87b,0x9b0)][_0x24bb14(_0x4ca64c._0x5bace5,_0x4ca64c._0xce65eb)]['color']=this['_last_planeGraphics']['material']['color_bak'],delete this['_last_planeGraphics']),this['_graphicLayer_leftUp'](_0x215c68);}[_0x2b6441(-0x143,0x780)](_0x1ee867){const _0x10ef35={_0x370f0f:0x153f,_0x5223ea:0x5d8,_0x198302:0x16b8,_0x21d86d:0xc3c},_0x41d18a={_0x31aaaa:0x2a9};function _0x4ee8cf(_0x112200,_0x36610c){return _0x306755(_0x112200,_0x36610c- -_0x41d18a._0x31aaaa);}var _0x10fc2a;function _0x1b2e71(_0x47db67,_0x8cb020){return _0x2b6441(_0x47db67,_0x8cb020-0x32e);}const _0x11ba92=(_0x10fc2a=_0x1ee867['graphic'])===null||_0x10fc2a===void 0x0||(_0x10fc2a=_0x10fc2a['entity'])===null||_0x10fc2a===void 0x0?void 0x0:_0x10fc2a['plane'];Cesium__namespace[_0x1b2e71(0xda5,_0x10ef35._0x370f0f)](_0x11ba92)&&(this['_map_click'](),_0x11ba92['hasEdit']=!_0x11ba92[_0x4ee8cf(0xd93,_0x10ef35._0x5223ea)],_0x11ba92['material']['color_bak']=_0x11ba92['material']['color'],_0x11ba92[_0x4ee8cf(0x14da,_0x10ef35._0x198302)][_0x1b2e71(0x1592,_0x10ef35._0x21d86d)]=_0x1ee867[_0x4ee8cf(0xef9,0x164a)]['style']['editColor'],_0x11ba92['hasEdit']&&(this['_last_planeGraphics']=_0x11ba92),_0x1ee867['stopPropagation']());}['_graphicLayer_leftDown'](_0x5c55b2){const _0x515ed0={_0x1f14a2:0xfcd,_0x7fc2da:0x1885,_0x33c7a5:0xc3,_0x2d3fa4:0x544},_0x52f7ed={_0x3238ba:0x635},_0x3d9a17={_0x1e8dff:0x11f};var _0x3c46ba;function _0x138abc(_0x39c18b,_0x26bbba){return _0x306755(_0x39c18b,_0x26bbba-_0x3d9a17._0x1e8dff);}const _0x490671=(_0x3c46ba=_0x5c55b2['graphic'])===null||_0x3c46ba===void 0x0||(_0x3c46ba=_0x3c46ba['entity'])===null||_0x3c46ba===void 0x0?void 0x0:_0x3c46ba[_0x138abc(0x19d8,0x13c0)];function _0x44d6c2(_0x1b6d12,_0x133cbb){return _0x306755(_0x133cbb,_0x1b6d12- -_0x52f7ed._0x3238ba);}Cesium__namespace[_0x138abc(_0x515ed0._0x1f14a2,0x18d1)](_0x490671)&&_0x490671['hasEdit']&&(this['_selectedPlane']=_0x490671[_0x138abc(_0x515ed0._0x7fc2da,0x13c0)]['getValue'](),this['_map']['scene'][_0x44d6c2(_0x515ed0._0x33c7a5,0x815)]['enableInputs']&&(this['_map']['scene'][_0x44d6c2(0xc3,-_0x515ed0._0x2d3fa4)]['enableInputs']=![],this['_hasChangeEnableInputs']=!![]));}[_0x306755(0x575,0x47f)](_0x405f68){const _0x413c63={_0x4f1d4c:0x1e30,_0x4ab778:0x1466,_0xd16c8:0x105f,_0x7198e0:0x1720,_0x3bbe7e:0xde7,_0x2feeb8:0x64f,_0x3789fc:0xd30},_0x1fba76={_0x894bf:0x4c8};function _0x5f4bc5(_0x3b3f19,_0x3bc45a){return _0x306755(_0x3bc45a,_0x3b3f19- -_0x1fba76._0x894bf);}function _0x43b5e8(_0x47c973,_0x608d1c){return _0x306755(_0x47c973,_0x608d1c- -0xa9);}Cesium__namespace[_0x43b5e8(_0x413c63._0x4f1d4c,0x1709)](this['_selectedPlane'])&&(delete this['_selectedPlane'],this[_0x5f4bc5(0xb1a,_0x413c63._0x4ab778)]&&(this[_0x43b5e8(_0x413c63._0xd16c8,_0x413c63._0x7198e0)][_0x5f4bc5(0x59d,_0x413c63._0x3bbe7e)][_0x43b5e8(-0xea,_0x413c63._0x2feeb8)][_0x5f4bc5(0xc21,0x898)]=!![],delete this[_0x5f4bc5(0xb1a,_0x413c63._0x3789fc)]));}['_map_mouseMove'](_0xc8d433){const _0x2e4866={_0x4f7ae1:0x388,_0x23b649:0x43e,_0x185951:0x41a,_0x540cdb:0x11ef,_0x287a02:0x13ca,_0x5a77eb:0x1279};function _0x4a6905(_0x3f57b2,_0x241e17){return _0x306755(_0x241e17,_0x3f57b2- -0x5da);}function _0x17b06c(_0x506b07,_0xeb277c){return _0x2b6441(_0x506b07,_0xeb277c-0x199);}if(Cesium__namespace[_0x4a6905(0x11d8,0xb24)](this[_0x17b06c(0xcc2,0x610)])){const _0x51f11d=_0xc8d433['startPosition']['x']-_0xc8d433['endPosition']['x'],_0x24e209=_0xc8d433[_0x17b06c(0xbc0,0x24e)]['y']-_0xc8d433['endPosition']['y'],_0x3507e7=(_0x51f11d+_0x24e209)/0x2;this[_0x17b06c(0x402,0x610)][_0x17b06c(_0x2e4866._0x4f7ae1,0xb15)]=(this[_0x4a6905(_0x2e4866._0x23b649,0xa17)][_0x17b06c(_0x2e4866._0x185951,0xb15)]||0x0)+_0x3507e7,this[_0x4a6905(_0x2e4866._0x540cdb,_0x2e4866._0x287a02)][_0x4a6905(0x97c,_0x2e4866._0x5a77eb)](_0xc8d433['endPosition'],this['_map']['getLangText']('_释放后完成修改'));}else this['_map']['closeSmallTooltip']();}[_0x2b6441(0x715,0x3fd)](){const _0x29429f={_0x90a84b:0x123a,_0x12a3a5:0x99d,_0xd9e0c1:0x123a,_0x4df838:0x15c2,_0x43e82b:0x11f3,_0xbbede6:0xa73,_0x236119:0xec6,_0x2298d9:0x52c,_0x3745de:0x72c,_0x17f67f:0x77d,_0xa320ed:0x176,_0x5deb34:0x729,_0x3175de:0xb67,_0x12df96:0x492,_0x3e37f1:0x5af,_0x1ce56d:0x194c,_0xfb1d71:0x6ca,_0x2acba6:0x735,_0x18e455:0xb86,_0x4fe56f:0x687,_0x21ce09:0xc24};function _0x3b88be(_0x54cdfc,_0x3a1da0){return _0x306755(_0x3a1da0,_0x54cdfc- -0x5f5);}function _0x261241(_0x5d636f,_0x264335){return _0x306755(_0x5d636f,_0x264335- -0x5d6);}this[_0x261241(0xe0c,_0x29429f._0x90a84b)]&&(this['_map']['addLayer'](this[_0x261241(_0x29429f._0x12a3a5,_0x29429f._0xd9e0c1)]),this[_0x3b88be(0x668,0x85)]['editPlane']&&(this[_0x261241(_0x29429f._0x4df838,_0x29429f._0x43e82b)]['on'](EventType[_0x3b88be(_0x29429f._0xbbede6,_0x29429f._0x236119)],this['_map_click'],this),this[_0x261241(0xb32,0x123a)]['on'](EventType[_0x3b88be(0xa73,_0x29429f._0x2298d9)],this[_0x3b88be(_0x29429f._0x3745de,_0x29429f._0x17f67f)],this),this[_0x3b88be(0x121b,0x1488)]['on'](EventType['leftDown'],this['_graphicLayer_leftDown'],this),this['_graphicLayer']['on'](EventType['leftUp'],this[_0x3b88be(-_0x29429f._0xa320ed,_0x29429f._0x5deb34)],this),this[_0x3b88be(0x11d4,0x13f9)]['on'](EventType[_0x261241(_0x29429f._0x3175de,_0x29429f._0x12df96)],this['_map_mouseMove'],this))),this['clipTarget']&&(Cesium__namespace['defined'](this[_0x261241(_0x29429f._0x3e37f1,0x687)][_0x261241(_0x29429f._0x1ce56d,0x13c3)])&&(this['positions']=this['options']['positions']),Cesium__namespace['defined'](this['options']['clipType'])&&(this[_0x261241(0x8c1,_0x29429f._0xfb1d71)]=this['options'][_0x261241(_0x29429f._0x2acba6,0x6ca)]),Cesium__namespace['defined'](this[_0x261241(_0x29429f._0x18e455,_0x29429f._0x4fe56f)]['distance'])&&(this[_0x261241(_0x29429f._0x21ce09,0x947)]=this[_0x3b88be(0x668,-0x123)]['distance']));}[_0x2b6441(0x2a1,0x88a)](){const _0xbfc50a={_0x58100c:0x15db,_0x33b0d3:0x1324,_0x1b88a5:0x2120,_0x39c967:0x150,_0x432dd5:0x18e8,_0x9951c3:0x2137,_0x4a0a2d:0x2d,_0x5d437d:0x1a9c,_0x1dea87:0x1495};this[_0x372024(0x25b,0x3ea)]();function _0x372024(_0xe9e1eb,_0x265a75){return _0x306755(_0xe9e1eb,_0x265a75- -0x452);}function _0x58c4a4(_0x13d53b,_0xf09ee8){return _0x306755(_0xf09ee8,_0x13d53b-0xd8);}this[_0x372024(0x11fd,0x13be)]&&(this['options'][_0x58c4a4(_0xbfc50a._0x58100c,0x2081)]&&(this['_map'][_0x58c4a4(0xa44,0xe52)](EventType['click'],this[_0x58c4a4(_0xbfc50a._0x33b0d3,0x19da)],this),this[_0x58c4a4(0x18e8,_0xbfc50a._0x1b88a5)][_0x58c4a4(0xa44,0xdec)](EventType[_0x58c4a4(0x1140,0x139d)],this[_0x372024(_0xbfc50a._0x39c967,0x8cf)],this),this['_graphicLayer']['off'](EventType['leftDown'],this['_graphicLayer_leftDown'],this),this[_0x58c4a4(_0xbfc50a._0x432dd5,_0xbfc50a._0x9951c3)][_0x372024(0xd8d,0x51a)](EventType['leftUp'],this[_0x372024(-0xb0,_0xbfc50a._0x4a0a2d)],this),this['_map']['off'](EventType['mouseMove'],this[_0x58c4a4(_0xbfc50a._0x5d437d,_0xbfc50a._0x1dea87)],this)),this['_map']['removeLayer'](this['_graphicLayer']));}['_setPositions'](_0x57d05a){const _0xfb75b4={_0x4fd3c9:0x1a79,_0x5982a5:0x179f,_0xb09a8f:0x899},_0x34543f={_0x4f8a87:0xcd};function _0x2429b7(_0x9a1ebf,_0x12f890){return _0x306755(_0x12f890,_0x9a1ebf-0xe0);}if(_0x57d05a['length']<0x2)return;function _0x46a3f4(_0x50c7a1,_0x3070ce){return _0x306755(_0x50c7a1,_0x3070ce-_0x34543f._0x4f8a87);}if(_0x57d05a['length']===0x2){const _0x2492ec=this['_createPlaneByLine'](_0x57d05a[0x0],_0x57d05a[0x1]);_0x2492ec&&this['setPlanes']([_0x2492ec]);}else{const _0x575e1b={};_0x575e1b[_0x2429b7(_0xfb75b4._0x4fd3c9,_0xfb75b4._0x5982a5)]=_0x57d05a;const _0x450f01=new Cesium__namespace[(_0x46a3f4(0x133,_0xfb75b4._0xb09a8f))]({'polygons':[new Cesium__namespace['ClippingPolygon'](_0x575e1b)],'inverse':this['clipOutSide'],'enabled':!![]});this['clippingPolygons']=_0x450f01,this['clipTarget']&&(this['clipTarget'][_0x2429b7(0x185a,0x223e)]=_0x450f01);}}['_createPlaneByLine'](_0x43dbbb,_0x3612be){const _0x261935={_0x4ae1c5:0x19ee,_0x5a9471:0x330,_0x5d8c70:0x711};if(Cesium__namespace[_0x3efc1a(0x4f8,-0x435)]['distance'](_0x43dbbb,_0x3612be)<0.1)return null;function _0x3efc1a(_0x2a7ba1,_0x4f9dae){return _0x306755(_0x4f9dae,_0x2a7ba1- -0x529);}const _0x1e4b33=this['inverseMatrix'],_0x53d9a8=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x1e4b33,_0x43dbbb,new Cesium__namespace['Cartesian3']()),_0x354316=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x1e4b33,_0x3612be,new Cesium__namespace['Cartesian3']());function _0xbfde4c(_0x48279d,_0x32b591){return _0x2b6441(_0x48279d,_0x32b591-0x56b);}const _0x51791a=new Cesium__namespace['Cartesian3'](0x0,0x0,0xa),_0x39858f=Cesium__namespace['Cartesian3'][_0xbfde4c(_0x261935._0x4ae1c5,0x10e8)](_0x354316,_0x53d9a8,new Cesium__namespace['Cartesian3']());let _0x5b264e=Cesium__namespace['Cartesian3']['cross'](_0x39858f,_0x51791a,new Cesium__namespace['Cartesian3']());_0x5b264e=Cesium__namespace['Cartesian3'][_0xbfde4c(_0x261935._0x5a9471,_0x261935._0x5d8c70)](_0x5b264e,_0x5b264e);const _0x3f700d=Cesium__namespace['Plane'][_0x3efc1a(0x114f,0x743)](_0x53d9a8,_0x5b264e);return Cesium__namespace['ClippingPlane'][_0xbfde4c(0x10f6,0x909)](_0x3f700d);}[_0x2b6441(0x111f,0xdc1)](_0x3452ce){const _0x10121a={_0x4a5a81:0x6ca,_0x280d56:0xb0a,_0x45bba3:0x718,_0x509fd3:0xcfa,_0x2da57e:0x40c,_0x17cb6d:0x1014,_0x36569c:0xfb,_0xecf1c8:0x6f7,_0x258730:0x16ba,_0x581de5:0xb0d,_0x418ff7:0x9ef,_0x5204bb:0x597},_0x2fe2d1={_0x4b7025:0x5c};function _0xaada1d(_0x1455f4,_0x554457){return _0x306755(_0x554457,_0x1455f4- -0x5e7);}if(!_0x3452ce)return;const _0x16b4ae=new Cesium__namespace[(_0xaada1d(_0x10121a._0x4a5a81,0x521))]({'planes':_0x3452ce,'edgeWidth':this[_0xdc9cbd(_0x10121a._0x280d56,_0x10121a._0x45bba3)]['edgeWidth']??0x0,'edgeColor':this['options'][_0xaada1d(0xd2f,0x1651)]??Cesium__namespace['Color']['WHITE'],'unionClippingRegions':this['clipOutSide']??![]});this['clippingPlanes']=_0x16b4ae;this[_0xdc9cbd(0xa0b,_0x10121a._0x509fd3)]&&(this['clipTarget']['clippingPlanes']=_0x16b4ae);function _0xdc9cbd(_0x415c0d,_0x3db085){return _0x2b6441(_0x415c0d,_0x3db085-_0x2fe2d1._0x4b7025);}if(this['options']['showPlane']){this['_graphicLayer']['clear']();const _0x58834a=this[_0xaada1d(-0x109,-0x6e7)][_0xdc9cbd(0xeca,_0x10121a._0x2da57e)][_0xdc9cbd(0x384,0x181)];for(let _0x3c53a4=0x0;_0x3c53a4<_0x16b4ae[_0xaada1d(_0x10121a._0x17cb6d,0x1ad7)];++_0x3c53a4){var _0xe04b2f;const _0x4de51c=_0x16b4ae['get'](_0x3c53a4),_0x99ae57=new PlaneEntity({'position':this['center'],'style':{'heading':0x168-(((_0xe04b2f=this['_layer'])===null||_0xe04b2f===void 0x0?void 0x0:_0xe04b2f[_0xaada1d(0xf11,0x11c1)])??0x0),'dimensions':new Cesium__namespace[(_0xaada1d(-_0x10121a._0x36569c,-_0x10121a._0xecf1c8))](_0x58834a,_0x58834a),'color':Cesium__namespace['Color']['WHITE'][_0xaada1d(0x134e,_0x10121a._0x258730)](0.2),'editColor':Cesium__namespace['Color'][_0xdc9cbd(0xe8d,0x518)][_0xdc9cbd(_0x10121a._0x581de5,0x13f0)](0.5),'outline':!![],'outlineColor':Cesium__namespace[_0xdc9cbd(0x116a,_0x10121a._0x418ff7)]['WHITE'],...this[_0xdc9cbd(0x1c6,0x718)][_0xaada1d(0x673,_0x10121a._0x5204bb)],'plane':new Cesium__namespace['CallbackProperty'](createPlaneUpdateFunction(_0x4de51c),![])}});this['_graphicLayer'][_0xdc9cbd(-0x9ac,0x84)](_0x99ae57);}}}['clear'](){const _0x2e2569={_0x16660a:0x16f2,_0x45a448:0x11cf,_0x267fdf:0xf66,_0x1b613d:0xb7f,_0xaf4e31:0xff7,_0x769b4c:0xd25,_0x44e698:0xb22,_0x42abe9:0x36e,_0x297036:0xc94},_0xbbb32b={_0xaad5a7:0x2d9};this['_graphicLayer']&&this[_0x268d89(0x1537,_0x2e2569._0x16660a)][_0x268d89(0x563,0xf91)]();delete this['_normalZ'],delete this['_normal_angle1'],delete this['_normal_angle2'];function _0x374aa9(_0x4d421a,_0x33e236){return _0x306755(_0x33e236,_0x4d421a- -0x5ab);}delete this['_positions'],this['options']['clipOutSide']=![];function _0x268d89(_0x565b79,_0xc83d09){return _0x306755(_0xc83d09,_0x565b79- -_0xbbb32b._0xaad5a7);}this['clippingPlanes']&&delete this[_0x268d89(0x60b,0x194)],this['clippingPolygons']&&delete this[_0x374aa9(_0x2e2569._0x45a448,0x1147)],this[_0x268d89(_0x2e2569._0x267fdf,0x81e)]&&(this['clipTarget'][_0x374aa9(0x339,_0x2e2569._0x1b613d)]&&(this[_0x374aa9(0xc94,0xab6)]['clippingPlanes'][_0x268d89(0xff7,0x1577)]&&(this[_0x268d89(0xf66,0x711)]['clippingPlanes'][_0x268d89(_0x2e2569._0xaf4e31,0xd2d)]=![],this['clipTarget'][_0x268d89(0x60b,0xa8c)]['removeAll']()),this[_0x268d89(0xf66,0x53f)]['clippingPlanes']=undefined),this['clipTarget']['clippingPolygons']&&(this['clipTarget']['clippingPolygons'][_0x374aa9(_0x2e2569._0x769b4c,0x1191)]&&(this[_0x268d89(0xf66,0xec1)][_0x374aa9(_0x2e2569._0x45a448,0x1c34)]['enabled']=![],this['clipTarget'][_0x374aa9(0x11cf,0x1c61)][_0x268d89(_0x2e2569._0x44e698,_0x2e2569._0x42abe9)]()),this[_0x374aa9(_0x2e2569._0x297036,0x16d8)][_0x268d89(0x14a1,0xe0c)]=undefined));}[_0x2b6441(0xd41,0x79d)](_0x2b88ff){const _0x258af9={_0x494fc5:0x9fc,_0x51f05b:0xbc3,_0x495c0a:0x13b1},_0x314938={_0x4b361d:0x538};function _0x428c93(_0x167fd6,_0x173429){return _0x306755(_0x167fd6,_0x173429- -_0x314938._0x4b361d);}function _0x1b3bcc(_0xc41ae5,_0x430c3c){return _0x306755(_0x430c3c,_0xc41ae5-0x118);}if(this['clippingPlanes']==null)return;for(let _0xf26e0c=0x0;_0xf26e0c<this['clippingPlanes']['length'];_0xf26e0c++){const _0x2f3379=this[_0x1b3bcc(_0x258af9._0x494fc5,_0x258af9._0x51f05b)]['get'](_0xf26e0c);_0x2f3379[_0x428c93(_0x258af9._0x495c0a,0x9e5)]=_0x2b88ff;}}[_0x306755(0x1250,0x136f)](_0x484b8d,_0x2e35a4){const _0x552f22={_0x38479e:0xda8,_0x3b534a:0xb66},_0x453193={_0x259028:0xe5};if(this['clippingPlanes']==null)return;function _0x3690fa(_0x1cd672,_0x29686f){return _0x306755(_0x29686f,_0x1cd672-_0x453193._0x259028);}for(let _0x2970e8=0x0;_0x2970e8<this['clippingPlanes']['length'];_0x2970e8++){const _0x1794f2=this['clippingPlanes']['get'](_0x2970e8);this[_0x3690fa(_0x552f22._0x38479e,_0x552f22._0x3b534a)](_0x1794f2,_0x484b8d,_0x2e35a4);}}['_updateNormal'](_0x255709,_0x57cec6,_0x1c41e7){const _0x3783b5={_0x7b2780:0xa33,_0x366851:0x1074,_0xd51a24:0x960,_0x1e4189:0x1053},_0x168904=Cesium__namespace['Math']['toRadians'](_0x57cec6),_0x280562=Cesium__namespace['Math'][_0x8af581(_0x3783b5._0x7b2780,_0x3783b5._0x366851)](_0x1c41e7);function _0x8af581(_0x83a0f,_0xb11fd){return _0x2b6441(_0xb11fd,_0x83a0f-0x408);}const _0x558e77=Math[_0x8af581(0x7a4,_0x3783b5._0xd51a24)](_0x168904)*Math[_0x8af581(0xaf6,0x1278)](_0x280562),_0x51b18f=Math[_0x1e2451(_0x3783b5._0x1e4189,0x728)](_0x168904)*Math['sin'](_0x280562),_0x1f9bf5=Math['cos'](_0x168904);_0x255709['normal']['x']=_0x558e77;function _0x1e2451(_0x8a7ac9,_0x107245){return _0x2b6441(_0x8a7ac9,_0x107245-0x38c);}_0x255709['normal']['y']=_0x51b18f,_0x255709['normal']['z']=_0x1f9bf5;}[_0x306755(0x848,0xb0a)](){const _0x1c6730={_0xb3e37a:0x6fa,_0x2c90c7:0xb58,_0x3ce220:0x693,_0x2277d1:0x1368,_0x55c2ed:0x17c,_0x27b2ae:0x1b8b},_0x3d884f=clone(this['options'],[_0x41f5c5(0x399,-_0x1c6730._0xb3e37a),_0x41f5c5(_0x1c6730._0x2c90c7,_0x1c6730._0x3ce220)]);this['_positions']&&(_0x3d884f[_0x41f5c5(_0x1c6730._0x2277d1,0x160b)]=LngLatArray[_0x41f5c5(_0x1c6730._0x55c2ed,0xd1)](this[_0x2c2853(0x1448,_0x1c6730._0x27b2ae)]));function _0x41f5c5(_0x6c486c,_0x1034c2){return _0x306755(_0x1034c2,_0x6c486c- -0x631);}function _0x2c2853(_0x46ef3d,_0x52d044){return _0x2b6441(_0x52d044,_0x46ef3d-0x50);}return _0x3d884f;}}function createPlaneUpdateFunction(_0x2d0832){return function(){return _0x2d0832;};}var TilesetColorCorrectionFS='uniform\x20bool\x20u_mars3d_colorcorrection_enabled;\x0auniform\x20float\x20u_mars3d_colorcorrection_brightness;\x0auniform\x20float\x20u_mars3d_colorcorrection_contrast;\x0auniform\x20float\x20u_mars3d_colorcorrection_saturation;\x0auniform\x20float\x20u_mars3d_colorcorrection_hue;\x0a\x0avoid\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20if(u_mars3d_colorcorrection_enabled)\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20mix(vec3(0.0),\x20material.diffuse,\x20u_mars3d_colorcorrection_brightness);\x0a\x20\x20\x20\x20material.diffuse\x20=\x20mix(vec3(0.5),\x20material.diffuse,\x20u_mars3d_colorcorrection_contrast);\x0a\x20\x20\x20\x20material.diffuse\x20=\x20czm_hue(material.diffuse,\x20u_mars3d_colorcorrection_hue);\x0a\x20\x20\x20\x20material.diffuse\x20=\x20czm_saturation(material.diffuse,\x20u_mars3d_colorcorrection_saturation);\x0a\x20\x20}\x0a}\x0a';const _0x22e09a={};_0x22e09a['brightness']=0x1,_0x22e09a[_0x306755(0xc23,0xf54)]=0x1,_0x22e09a[_0x2b6441(-0x1a7,-0xd4)]=0x0,_0x22e09a['saturation']=0x1;const DEF_OPTIONS$2=_0x22e09a;class TilesetColorCorrection extends BaseThing{constructor(_0x1f11af={}){const _0x226655={_0x1509bb:0xb0f};_0x1f11af={...DEF_OPTIONS$2,..._0x1f11af},super(_0x1f11af);function _0x6f8b5e(_0x5cb058,_0x1809ea){return _0x306755(_0x1809ea,_0x5cb058- -0x40a);}!isMars3DCesium&&logError(_0x6f8b5e(_0x226655._0x1509bb,0xd38),this);}get[_0x306755(0x97c,0x9ca)](){return this['_layer'];}set['layer'](_0x40c073){const _0x1c9f02={_0x1d8a6f:0xdb};this['_layer']=_0x40c073,_0x40c073['readyPromise']['then'](_0x1ab309=>{const _0x57329d={_0x10396b:0x1dc};function _0x10fb62(_0x1f0b1,_0x304eee){return _0x5bbe(_0x1f0b1- -_0x57329d._0x10396b,_0x304eee);}this[_0x10fb62(0x9e0,-_0x1c9f02._0x1d8a6f)]();});}get['brightness'](){return this['options']['brightness'];}set['brightness'](_0x3543db){const _0x2abe78={_0xe86d46:0x36c,_0x59520a:0x2d9},_0xb37e24={_0x33d904:0x392};function _0x5e38c2(_0x1ad3e3,_0x4ac545){return _0x306755(_0x4ac545,_0x1ad3e3- -_0xb37e24._0x33d904);}this['options'][_0x5e38c2(_0x2abe78._0xe86d46,-_0x2abe78._0x59520a)]=_0x3543db;}get[_0x2b6441(0xf64,0x9b3)](){return this['options']['contrast'];}set['contrast'](_0x3de997){this['options']['contrast']=_0x3de997;}get[_0x306755(0x5eb,0x4cd)](){return this['options']['hue'];}set['hue'](_0x14ef3f){this['options']['hue']=_0x14ef3f;}get['saturation'](){const _0x409656={_0x25554d:0x772};function _0x146f28(_0x2b80c8,_0x5dc08b){return _0x306755(_0x2b80c8,_0x5dc08b- -0x4eb);}return this[_0x146f28(0x5b2,_0x409656._0x25554d)]['saturation'];}set['saturation'](_0x3170ee){const _0xe234e8={_0x4a7f04:0x768,_0x1737dc:0xa26};function _0x1958e9(_0x39a11c,_0x41d2b3){return _0x2b6441(_0x41d2b3,_0x39a11c-0xac);}this[_0x1958e9(_0xe234e8._0x4a7f04,_0xe234e8._0x1737dc)]['saturation']=_0x3170ee;}[_0x2b6441(0x91d,0x3fd)](){const _0x2efb9e={_0x38fd34:0x874,_0x514ad9:0x5e1};function _0x558ba1(_0x41b443,_0x3b4087){return _0x2b6441(_0x41b443,_0x3b4087-0x6e);}function _0x1ff430(_0xa806d9,_0x795897){return _0x306755(_0x795897,_0xa806d9- -0x3e9);}this[_0x1ff430(_0x2efb9e._0x38fd34,0xfef)]['layer']&&(this[_0x1ff430(_0x2efb9e._0x514ad9,0x9af)]=this['options'][_0x1ff430(0x5e1,0x202)]);}['_removedHook'](){const _0x3a09d6={_0x416b72:0x18c1,_0x156be3:0x1c8a,_0x1c7e22:0x12f1},_0x1e3572={_0x493588:0x14c};function _0x25c88b(_0x5d7f31,_0x528e6d){return _0x306755(_0x5d7f31,_0x528e6d-_0x1e3572._0x493588);}function _0x52dfe2(_0x49e6c7,_0x510050){return _0x306755(_0x49e6c7,_0x510050- -0x11b);}this[_0x25c88b(_0x3a09d6._0x416b72,0x1558)]&&this[_0x52dfe2(_0x3a09d6._0x156be3,_0x3a09d6._0x1c7e22)]();}['_initLayer'](){const _0xc0d7de={_0x2e12ab:0x8a8},_0xfd0de9={_0x228258:0x47f};function _0x5af02f(_0x171898,_0x79374d){return _0x2b6441(_0x171898,_0x79374d-_0xfd0de9._0x228258);}var _0x52de5c;const _0x3e2827=this['_getCustomShader']();function _0x48fa20(_0x17352a,_0x48b42b){return _0x306755(_0x17352a,_0x48b42b-0xf8);}if((_0x52de5c=Cesium__namespace['Mars3DEx'])!==null&&_0x52de5c!==void 0x0&&_0x52de5c['getCacheOrAdd']){const _0x17c007=Cesium__namespace[_0x5af02f(0x1e41,0x1551)]['getCacheOrAdd'](this[_0x5af02f(0x8d5,_0xc0d7de._0x2e12ab)]['_marsOptions'][_0x48fa20(0x11f8,0x1818)]);_0x17c007['colorCorrection']=_0x3e2827,this['cacheMarsOptions']=function(){delete _0x17c007['colorcorrection'];};}}[_0x306755(0x1e98,0x190c)](){const _0x5570f4={_0x42731f:0x240,_0x38a2bd:0xb70,_0x308af0:0x327,_0x3a5d6d:0x134d,_0x319256:0xf16},_0x2fb0be={_0x10d942:0x31,_0x5314b0:0x85},_0x4a37cb={_0x3f221b:0x14f},_0x54cebb={_0x424153:0x136},_0x164f0f=new Cesium__namespace['CustomShader']({'lightingModel':Cesium__namespace['LightingModel'][_0x5ae812(0x411,-0x37f)],'fragmentShaderText':TilesetColorCorrectionFS});function _0x2c3c08(_0x5af7b9,_0x556d80){return _0x2b6441(_0x556d80,_0x5af7b9-_0x54cebb._0x424153);}function _0x5ae812(_0xd92c26,_0x77edf8){return _0x2b6441(_0x77edf8,_0xd92c26-_0x4a37cb._0x3f221b);}return _0x164f0f['uniformMap']['u_mars3d_colorcorrection_enabled']=()=>{function _0x124612(_0x326650,_0x2bdb69){return _0x5ae812(_0x326650-0x152,_0x2bdb69);}return this[_0x124612(0xfd0,0x1872)];},_0x164f0f[_0x5ae812(0x6a1,_0x5570f4._0x42731f)][_0x5ae812(0x7e6,_0x5570f4._0x38a2bd)]=()=>{return this['brightness'];},_0x164f0f['uniformMap'][_0x5ae812(0xb9d,0xc0c)]=()=>{return this['contrast'];},_0x164f0f[_0x5ae812(0x6a1,_0x5570f4._0x308af0)][_0x5ae812(_0x5570f4._0x3a5d6d,_0x5570f4._0x319256)]=()=>{function _0x2aced1(_0x5e4191,_0x24c73c){return _0x2c3c08(_0x24c73c- -0xe7,_0x5e4191);}return this[_0x2aced1(-_0x2fb0be._0x10d942,-_0x2fb0be._0x5314b0)];},_0x164f0f['uniformMap']['u_mars3d_colorcorrection_saturation']=()=>{return this['saturation'];},this['_uniforms']=_0x164f0f['uniforms'],_0x164f0f;}}register(_0x2b6441(0xf88,0x52b),TilesetColorCorrection,![]);class TilesetLayer extends BaseGraphicLayer{constructor(_0x388fe5={}){const _0x360216={_0x44c152:0x1782},_0x22ddbb={_0x3044ac:0x29},_0x4dd4ef={_0x55ea0d:0x47d};super(_0x388fe5);const _0x530326={};_0x530326['x']=0x0,_0x530326['y']=0x0;function _0x136a70(_0x2deac2,_0xfa0952){return _0x306755(_0xfa0952,_0x2deac2- -_0x4dd4ef._0x55ea0d);}_0x530326['z']=0x0,this[_0x4e9979(0x115c,_0x360216._0x44c152)]=_0x530326;function _0x4e9979(_0x228c6c,_0x266902){return _0x306755(_0x228c6c,_0x266902- -_0x22ddbb._0x3044ac);}this['_orginCenterPoint']=new LngLatPoint(),this[_0x4e9979(0x1479,0xf4a)]=_0x388fe5['hasEdit']??!![],this['_marsOptions']={};}get['layer'](){return this['_tileset'];}get[_0x306755(0x167,0xb6f)](){return this['_tileset'];}get['modelMatrix'](){const _0xe11dbc={_0x284061:0x8be,_0x26fe6c:0x13c8,_0x508aff:0xb59};function _0x5511fb(_0x2a8696,_0x297026){return _0x306755(_0x297026,_0x2a8696- -0x5e8);}if(!this['loadOk'])return Cesium__namespace['Matrix4']['ZERO'];!this['_tilesetMatrix']&&(this['transform']?this[_0x5511fb(-0xbe,_0xe11dbc._0x284061)]=this['_tileset']['root']['transform']:this[_0x5511fb(-0xbe,-0x7cf)]=Cesium__namespace['Transforms'][_0x5511fb(0x1171,_0xe11dbc._0x26fe6c)](this[_0x1866c6(-_0xe11dbc._0x508aff,-0xf5)]['boundingSphere']['center']));function _0x1866c6(_0x5d090b,_0x144519){return _0x306755(_0x5d090b,_0x144519- -0x5d3);}return this['_tilesetMatrix'];}get[_0x2b6441(0x28a,0x1b8)](){const _0x32bbc7={_0x3a8ae8:0xd29},_0x2d41fc={_0x496380:0x5c7};if(!this[_0x485754(0x901,0x266)])return Cesium__namespace[_0x485754(0xb98,0x112a)][_0x485754(0x596,-0x107)];function _0x19c91b(_0x3b16cd,_0x20820a){return _0x306755(_0x3b16cd,_0x20820a- -0x342);}!this[_0x19c91b(0x481,_0x32bbc7._0x3a8ae8)]&&(this['_inverseMatrix']=Cesium__namespace['Matrix4'][_0x19c91b(0x2fd,0x23b)](this['modelMatrix'],new Cesium__namespace['Matrix4']()));function _0x485754(_0x36e449,_0x424871){return _0x2b6441(_0x424871,_0x36e449-_0x2d41fc._0x496380);}return this[_0x485754(0x1091,0x90a)];}get['highlight'](){const _0x53daff={_0x43d75a:0xb1d},_0x224a0a={_0x3b181c:0x369};function _0x311b2d(_0x298868,_0xcfa8b8){return _0x306755(_0xcfa8b8,_0x298868- -_0x224a0a._0x3b181c);}return this[_0x311b2d(0x8f4,_0x53daff._0x43d75a)]['highlight'];}set[_0x2b6441(0x8a2,0x70d)](_0x2e9093){this['options']['highlight']=_0x2e9093,_0x2e9093?this['bindHighlight'](this['options']['highlight']):this['unbindHighlight']();}get[_0x306755(0x163a,0x15a0)](){return this['options']['marsJzwStyle'];}set['marsJzwStyle'](_0x228a8f){function _0x204df6(_0x242071,_0x1cdcd3){return _0x2b6441(_0x242071,_0x1cdcd3-0x131);}this['options']['marsJzwStyle']=_0x228a8f,_0x228a8f?this[_0x204df6(0x1279,0x1590)]():this['_conventMarsOptions']();}get['style'](){const _0x1d96e4={_0x31c46b:0x1377};function _0xe50f69(_0x44b844,_0x32d9ea){return _0x306755(_0x44b844,_0x32d9ea-0x79);}return this[_0xe50f69(_0x1d96e4._0x31c46b,0xcd6)]['style'];}set[_0x306755(0x6bc,0x856)](_0x4ad098){const _0xb09bd1={_0x2ccee5:0x680,_0x5972ca:0x7da,_0x6e8f24:0x308,_0x368992:0x3e2},_0xe1a4b9={_0x532009:0xc7f,_0x3750b6:0x800},_0x2b4886={_0x15b1ec:0x1d6};function _0x8c0932(_0x48dcf9,_0x419abb){return _0x306755(_0x419abb,_0x48dcf9- -0x408);}this[_0x1f01e4(0xa87,0x1509)][_0x1f01e4(_0xb09bd1._0x2ccee5,_0xb09bd1._0x5972ca)]=_0x4ad098;function _0x1f01e4(_0x145524,_0x4913c6){return _0x306755(_0x4913c6,_0x145524- -_0x2b4886._0x15b1ec);}if(this[_0x1f01e4(_0xb09bd1._0x6e8f24,-0x435)]){if(_0x4ad098 instanceof Cesium__namespace['Cesium3DTileStyle'])this['_tileset']['style']=_0x4ad098;else typeof _0x4ad098==='function'?this['_tileset']['style']=new Cesium__namespace[(_0x8c0932(0x3e2,0x26c))]({'color':{'evaluateColor':function(_0x32bafe,_0x21260c){function _0x15bf9f(_0x1d7876,_0x658dec){return _0x1f01e4(_0x658dec-0xce,_0x1d7876);}const _0x266daa=_0x4ad098(_0x32bafe);return _0x266daa?Cesium__namespace['Color'][_0x15bf9f(_0xe1a4b9._0x532009,_0xe1a4b9._0x3750b6)](Cesium__namespace['Color']['fromCssColorString'](_0x266daa),_0x21260c):_0x21260c;}}}):this['_tileset']['style']=new Cesium__namespace[(_0x8c0932(_0xb09bd1._0x368992,-0x2a7))](_0x4ad098);}}get[_0x306755(0x64a,0xa26)](){function _0x5d9c5a(_0x15343f,_0x1aefcd){return _0x2b6441(_0x1aefcd,_0x15343f- -0x92);}return this[_0x5d9c5a(0x62a,0xb17)]['customShader'];}set[_0x306755(0xe9,0xa26)](_0xc1a5bd){const _0x14ba68={_0x23d9cf:0x670,_0x415081:0x6b1,_0x2f3616:0x8fb,_0xf8a636:0x9fb,_0x1bbdb6:0xce};function _0x36cb20(_0x20b599,_0x3c079f){return _0x2b6441(_0x20b599,_0x3c079f-0x547);}function _0x178e1b(_0xab1ce3,_0x1b8a19){return _0x2b6441(_0xab1ce3,_0x1b8a19- -0xb);}this[_0x178e1b(_0x14ba68._0x23d9cf,_0x14ba68._0x415081)][_0x178e1b(_0x14ba68._0x2f3616,0x47a)]=_0xc1a5bd,this[_0x178e1b(-_0x14ba68._0xf8a636,-_0x14ba68._0x1bbdb6)]&&(this['_tileset']['customShader']=_0xc1a5bd);}get['splitDirection'](){return this['options']['splitDirection'];}set[_0x2b6441(0xdf1,0x6db)](_0x2aaaca){const _0x48cb5e={_0x45332c:0xd1b};function _0x503f2d(_0x3802c7,_0x214a5a){return _0x2b6441(_0x214a5a,_0x3802c7-0x65f);}this[_0x503f2d(_0x48cb5e._0x45332c,0xe7f)]['splitDirection']=_0x2aaaca,this['_tileset']&&(this['_tileset']['splitDirection']=_0x2aaaca);}get['orginCenterPoint'](){return this['_orginCenterPoint'];}get[_0x2b6441(-0x246,0x2df)](){return this['_orginCenterPosition'];}get['position'](){const _0x28c974={_0xb3487a:0xb1};function _0x50392b(_0x34a518,_0x2e65f6){return _0x2b6441(_0x2e65f6,_0x34a518- -0x95);}return this[_0x50392b(_0x28c974._0xb3487a,0x2ac)]['toCartesian']();}set['position'](_0x4f3280){this['center']=_0x4f3280;}get['center'](){return this['_center'];}set['center'](_0xf96f66){const _0x1da01b={_0x27ad8a:0x19af,_0xd88e6a:0x1339};function _0x441166(_0xeef2be,_0x343bd0){return _0x306755(_0xeef2be,_0x343bd0- -0x497);}this['_center']=LngLatPoint[_0x441166(_0x1da01b._0x27ad8a,_0x1da01b._0xd88e6a)](_0xf96f66),this['updateMatrix']();}get['height'](){const _0x46dbe0={_0x10b06c:0x30};function _0x214600(_0x4c633a,_0x16c5f4){return _0x306755(_0x16c5f4,_0x4c633a- -0x497);}return this[_0x214600(-_0x46dbe0._0x10b06c,0xf7)];}set[_0x2b6441(0x734,0x651)](_0x5c9f4b){this['alt']=_0x5c9f4b;}get['alt'](){const _0x59c409={_0x597f39:0x612},_0x30f08f={_0x246a4f:0x9};function _0x41c488(_0x2d2215,_0x18a881){return _0x2b6441(_0x2d2215,_0x18a881- -0x82);}function _0x52f5e7(_0x4c7560,_0x4828e1){return _0x2b6441(_0x4828e1,_0x4c7560- -_0x30f08f._0x246a4f);}if(this[_0x52f5e7(0x152,0x242)])return this[_0x52f5e7(0x152,_0x59c409._0x597f39)][_0x52f5e7(-0x143,-0x63a)];}set[_0x306755(0xd7b,0x467)](_0x1acb70){const _0x3ffe5b={_0x55e037:0x3cd};if(!this['_tileset'])return;function _0x197db9(_0x48e9c4,_0x4bbb26){return _0x306755(_0x48e9c4,_0x4bbb26- -0x572);}this['center']['alt']=_0x1acb70,this[_0x197db9(_0x3ffe5b._0x55e037,0xe67)]();}get['boundingSphere'](){const _0x256255={_0x2bee58:0x403},_0x5e6efd={_0x151f25:0x4c6};var _0x53e437;function _0x305d26(_0xb7e5,_0x44e70a){return _0x2b6441(_0xb7e5,_0x44e70a-_0x5e6efd._0x151f25);}return(_0x53e437=this[_0x305d26(0xba0,_0x256255._0x2bee58)])===null||_0x53e437===void 0x0?void 0x0:_0x53e437['boundingSphere'];}get['modelUpAxis'](){const _0x45e647={_0x30108e:0xcfd,_0x58bdd9:0x128a,_0x481832:0x33a};var _0x24e899;function _0x2e4600(_0x2f6048,_0x285375){return _0x306755(_0x285375,_0x2f6048-0xa0);}function _0x1d7153(_0x400da0,_0x4a8e91){return _0x2b6441(_0x400da0,_0x4a8e91-0x3fd);}if(Cesium__namespace[_0x2e4600(0x1852,0x16d6)](this[_0x2e4600(_0x45e647._0x30108e,0x611)][_0x1d7153(0x1bc8,0x17ea)]))return this[_0x2e4600(_0x45e647._0x30108e,0x9fa)]['modelUpAxis'];if(Cesium__namespace['defined']((_0x24e899=this['_tileset'])===null||_0x24e899===void 0x0?void 0x0:_0x24e899[_0x2e4600(0xcd3,_0x45e647._0x58bdd9)])){var _0x3f4d50;return(_0x3f4d50=this[_0x1d7153(0x3ca,_0x45e647._0x481832)])===null||_0x3f4d50===void 0x0?void 0x0:_0x3f4d50['_modelUpAxis'];}return undefined;}get[_0x306755(0xed8,0x1650)](){const _0x2c436b={_0x130e38:0x155a,_0x20df7b:0x18f,_0x1ffa45:0x183c};if(this[_0x7cb0b9(_0x2c436b._0x130e38,0xaf6)]['rotation'])return this[_0x377af1(_0x2c436b._0x20df7b,0x7c3)]['rotation'];function _0x7cb0b9(_0xdf73f2,_0x4fbcd3){return _0x306755(_0xdf73f2,_0x4fbcd3- -0x167);}function _0x377af1(_0x2cb669,_0x3ce9db){return _0x2b6441(_0x2cb669,_0x3ce9db-0x107);}return this[_0x377af1(_0x2c436b._0x1ffa45,0x1311)];}set[_0x2b6441(0x10e3,0x10af)](_0x360fa6){function _0x50edaf(_0x5c9706,_0x186947){return _0x306755(_0x5c9706,_0x186947- -0x170);}this['options'][_0x50edaf(0x1260,0x14e0)]=_0x360fa6,this['updateMatrix']();}get[_0x306755(0x195d,0x1122)](){const _0x490518={_0x9b6eba:0x18d2,_0x522473:0x195a};function _0x1cf0b8(_0x295464,_0x4dd698){return _0x306755(_0x4dd698,_0x295464-0x120);}if(this['options']['rotation']&&Cesium__namespace[_0x1cf0b8(_0x490518._0x9b6eba,_0x490518._0x522473)](this['options']['rotation']['x']))return this[_0x351e4c(0xce0,0xee1)]['rotation']['x'];function _0x351e4c(_0x146722,_0x548925){return _0x306755(_0x548925,_0x146722-0x83);}return this[_0x1cf0b8(0x18cb,0x19e3)]['x'];}set[_0x2b6441(0x153c,0xb81)](_0x671629){const _0x4f352b={_0x507728:0x1821};function _0x179946(_0x4db12d,_0x10404a){return _0x2b6441(_0x10404a,_0x4db12d-0x4fd);}function _0x1fe778(_0x101e7b,_0x4c4f20){return _0x2b6441(_0x4c4f20,_0x101e7b-0x33);}this['options']['rotation']=this['options'][_0x179946(0x15ac,0x1d82)]||{},this['options'][_0x1fe778(0x10e2,_0x4f352b._0x507728)]['x']=_0x671629,this['updateMatrix']();}get['rotation_y'](){const _0x1cdc68={_0x4a53f5:0x1cb7,_0x1683ee:0x13d4},_0x63e7df={_0x32ff0c:0x118};function _0x594cc6(_0x23c7f9,_0x378e80){return _0x306755(_0x23c7f9,_0x378e80- -_0x63e7df._0x32ff0c);}function _0x221fcd(_0x1730f6,_0xccf451){return _0x2b6441(_0x1730f6,_0xccf451-0x5b5);}if(this['options']['rotation']&&Cesium__namespace['defined'](this['options'][_0x594cc6(_0x1cdc68._0x4a53f5,0x1538)]['y']))return this['options']['rotation']['y'];return this[_0x594cc6(_0x1cdc68._0x1683ee,0x1693)]['y'];}set['rotation_y'](_0x38d5b2){const _0x9acfec={_0x3d0346:0xa9f},_0x11c593={_0x267f62:0x15a};this['options'][_0x1cb086(0x17aa,0x1d2e)]=this[_0x37d899(_0x9acfec._0x3d0346,0x877)]['rotation']||{};function _0x1cb086(_0x16770f,_0x105cb4){return _0x306755(_0x105cb4,_0x16770f-_0x11c593._0x267f62);}this['options']['rotation']['y']=_0x38d5b2;function _0x37d899(_0x11b0df,_0x4662ae){return _0x306755(_0x4662ae,_0x11b0df- -0x1be);}this['updateMatrix']();}get['rotation_z'](){const _0x2949e0={_0x3a80ad:0x242,_0x5ccd10:0x16db,_0x5d5db8:0x184c,_0x2c0280:0x11e1,_0x2505ac:0x118c},_0x6fb729={_0x3702b5:0x5ca};function _0x27ae48(_0x490f63,_0x4afbca){return _0x306755(_0x4afbca,_0x490f63- -_0x6fb729._0x3702b5);}if(this[_0x27ae48(0x693,-_0x2949e0._0x3a80ad)][_0x435d19(_0x2949e0._0x5ccd10,0x17b2)]&&Cesium__namespace['defined'](this['options']['rotation']['z']))return this[_0x435d19(_0x2949e0._0x5d5db8,0xdbf)]['rotation']['z'];function _0x435d19(_0x55275c,_0x1954b5){return _0x306755(_0x55275c,_0x1954b5-0x162);}return this[_0x27ae48(_0x2949e0._0x2c0280,_0x2949e0._0x2505ac)]['z'];}set['rotation_z'](_0x1b2a2d){const _0x12bed5={_0x4ac764:0x15a3,_0x4b1729:0x1b2d},_0x2e1d44={_0x7625af:0x4f4};function _0x2ad5df(_0x24401a,_0x1838d9){return _0x2b6441(_0x24401a,_0x1838d9-_0x2e1d44._0x7625af);}function _0x4c4dd6(_0x2742b8,_0x2a13f4){return _0x2b6441(_0x2742b8,_0x2a13f4-0x4e4);}this['options']['rotation']=this['options'][_0x2ad5df(0x1a93,_0x12bed5._0x4ac764)]||{},this['options']['rotation']['z']=_0x1b2a2d,this[_0x4c4dd6(_0x12bed5._0x4b1729,0x131c)]();}get['axis'](){const _0x5c1255={_0x2da8dd:0x609,_0x430060:0xded};function _0xa3f8a2(_0x4ffc63,_0x57fda4){return _0x306755(_0x4ffc63,_0x57fda4- -0x5de);}return this['options'][_0xa3f8a2(_0x5c1255._0x2da8dd,_0x5c1255._0x430060)]||'';}set['axis'](_0xd2aec1){function _0x304afb(_0x56aea8,_0x2d4bb9){return _0x2b6441(_0x2d4bb9,_0x56aea8-0x6b1);}this['options'][_0x304afb(0x14db,0xd46)]=_0xd2aec1,this['updateMatrix']();}get[_0x306755(0x21d,0xcd4)](){return this['options']['scale']||0x1;}set[_0x2b6441(0x787,0x733)](_0x433174){this['options'][_0x2c89e4(0xaeb,0x2b9)]=_0x433174;function _0x2c89e4(_0x4d469c,_0x1df0d3){return _0x306755(_0x1df0d3,_0x4d469c- -0x1e9);}this['updateMatrix']();}get['scaleX'](){function _0x355bb3(_0x84cb0e,_0x2cf505){return _0x306755(_0x84cb0e,_0x2cf505- -0x481);}return this[_0x355bb3(0x8ad,0x7dc)]['scaleX']||0x1;}set[_0x306755(0xad9,0x10da)](_0x3891e9){const _0x2f79f9={_0x3a0e69:0x1076},_0x26b77b={_0x21716b:0x616};function _0x59f87f(_0x59ed08,_0x155fa1){return _0x2b6441(_0x155fa1,_0x59ed08-0x11d);}function _0x1f37d8(_0x565e55,_0x218d65){return _0x2b6441(_0x218d65,_0x565e55-_0x26b77b._0x21716b);}this[_0x1f37d8(0xcd2,_0x2f79f9._0x3a0e69)][_0x1f37d8(0x114f,0x1be9)]=_0x3891e9,this['updateMatrix']();}get['scaleY'](){return this['options']['scaleY']||0x1;}set['scaleY'](_0x47b0cb){this['options']['scaleY']=_0x47b0cb,this['updateMatrix']();}get['scaleZ'](){const _0xa4a1b8={_0x16d051:0x5,_0x392e95:0x9ed};function _0x2151c2(_0xb2fa19,_0x1d38c7){return _0x306755(_0x1d38c7,_0xb2fa19- -0x54f);}return this['options'][_0x2151c2(_0xa4a1b8._0x16d051,_0xa4a1b8._0x392e95)]||0x1;}set[_0x306755(0x4a,0x554)](_0x58b286){const _0x24d760={_0x1cb5a0:0x389};this['options'][_0x346940(0x681,0x1085)]=_0x58b286;function _0x407d02(_0x5d7f45,_0x46aa21){return _0x2b6441(_0x46aa21,_0x5d7f45-_0x24d760._0x1cb5a0);}function _0x346940(_0x150baa,_0x9a820e){return _0x2b6441(_0x9a820e,_0x150baa-0x6ce);}this[_0x407d02(0x11c1,0x1876)]();}get['allowDrillPick'](){const _0x32a73c={_0x2228a2:0x2ef};function _0x388d11(_0x1d9a12,_0x38df03){return _0x2b6441(_0x38df03,_0x1d9a12-0x706);}function _0x1b1719(_0x35086b,_0x5c4c5f){return _0x306755(_0x5c4c5f,_0x35086b- -0x35f);}const _0x18d2c7=this[_0x388d11(0xdc2,0x1553)][_0x1b1719(_0x32a73c._0x2228a2,0x7f4)];if(isString(_0x18d2c7)){if(_0x18d2c7===_0x1b1719(0x1240,0x19cb))return function(_0x249354){const _0x4b3cdd={_0x53cbc3:0xc9};var _0x1006c0;const _0xc2f00c=_0x249354===null||_0x249354===void 0x0||(_0x1006c0=_0x249354[_0x170a47(0x17c0,0x19fd)])===null||_0x1006c0===void 0x0||(_0x1006c0=_0x1006c0['color'])===null||_0x1006c0===void 0x0?void 0x0:_0x1006c0['alpha'];if(Cesium__namespace['defined'](_0xc2f00c)&&_0xc2f00c!==0x1)return!![];function _0x170a47(_0x29c27f,_0x1d42f7){return _0x388d11(_0x29c27f- -_0x4b3cdd._0x53cbc3,_0x1d42f7);}return![];};else{if(_0x18d2c7==='true')return!![];else{if(_0x18d2c7==='false')return![];}}}return _0x18d2c7;}set['allowDrillPick'](_0x58ffa6){const _0x1c80b1={_0x2b3061:0x595};function _0x1f53e6(_0x43b0ef,_0x1b275a){return _0x2b6441(_0x1b275a,_0x43b0ef-0x4e8);}this['options'][_0x1f53e6(_0x1c80b1._0x2b3061,-0x185)]=_0x58ffa6;}get['planClip'](){const _0x42bf18={_0x389d4e:0x117d};this[_0x29e3d4(0x16a0,_0x42bf18._0x389d4e)]&&!this['_tilesetPlanClip']&&this['_initTilesetPlanClip']();function _0x29e3d4(_0x2f3b48,_0x571cce){return _0x306755(_0x2f3b48,_0x571cce- -0x64c);}return this['_tilesetPlanClip'];}['_initTilesetPlanClip'](){const _0x233fc8={_0x15b778:0x1daf,_0x1ea43d:0xe18,_0x556f22:0xa88},_0x49bf14={_0x1b932e:0x464},_0x4a751c={_0x7a1b8:0x514};this['_tilesetPlanClip']&&this[_0x3fea48(0x16b8,_0x233fc8._0x15b778)]['destroy']();function _0x28049f(_0x1166f7,_0x26e2e9){return _0x2b6441(_0x1166f7,_0x26e2e9-_0x4a751c._0x7a1b8);}this[_0x3fea48(0x16b8,_0x233fc8._0x1ea43d)]=new TilesetPlanClip({...this[_0x3fea48(0xb20,_0x233fc8._0x556f22)]['planClip'],'layer':this});function _0x3fea48(_0x41220e,_0x3e494a){return _0x2b6441(_0x3e494a,_0x41220e-_0x49bf14._0x1b932e);}this['_map']['addThing'](this['_tilesetPlanClip']);}get['colorCorrection'](){const _0x58ca7a={_0x20efde:0x9ae},_0x17872e={_0x3a7590:0xa1};function _0x1cdb4c(_0x516a9a,_0x3cbdb2){return _0x306755(_0x3cbdb2,_0x516a9a- -0x4e5);}this[_0x177906(0x15b6,0x186a)]&&!this['_tilesetColorCorrection']&&this[_0x1cdb4c(0xfbe,_0x58ca7a._0x20efde)]();function _0x177906(_0x3bf768,_0x4a9207){return _0x306755(_0x3bf768,_0x4a9207-_0x17872e._0x3a7590);}return this[_0x177906(0x1f4f,0x16e9)];}['_initTilesetColorCorrection'](){const _0x1cca8d={_0x3987a2:0x1482,_0x2e0ebf:0xd51},_0x2b92f5={_0x389af2:0x4d};function _0x176582(_0x20d972,_0x5ad290){return _0x306755(_0x5ad290,_0x20d972-_0x2b92f5._0x389af2);}function _0x5e6ce8(_0x31a95d,_0x414623){return _0x2b6441(_0x31a95d,_0x414623-0x28e);}this[_0x176582(0x1695,_0x1cca8d._0x3987a2)]&&this['_tilesetColorCorrection']['destroy'](),this['_tilesetColorCorrection']=new TilesetColorCorrection({...this[_0x176582(0xcaa,_0x1cca8d._0x2e0ebf)][_0x5e6ce8(0x3f2,0x7b9)],'layer':this}),this['_map']['addThing'](this['_tilesetColorCorrection']);}get['hasEdit'](){return this['_hasEdit']&&this['transform'];}set[_0x306755(0x118c,0x881)](_0xdcd6dd){this['_hasEdit']=_0xdcd6dd;}get[_0x306755(0x245,0x99b)](){const _0x2135e2={_0x2c0978:0x2c4},_0x156e16={_0x1eac33:0x4c8};this['_map']&&!this['_tilesetClip']&&this[_0x8c2550(-_0x2135e2._0x2c0978,0x141)]();function _0x8c2550(_0x267515,_0x3ab53f){return _0x306755(_0x267515,_0x3ab53f- -_0x156e16._0x1eac33);}return this['_tilesetClip'];}[_0x306755(0xc09,0x609)](){const _0x2c80eb={_0x313b0b:0x1517,_0x3ac905:0xae9,_0x2ba60b:0x31b,_0x1176e3:0x827,_0x5829d8:0x1533,_0x1ef6e6:0x10f1},_0x469907={_0x512369:0x174};function _0x49568a(_0x40d223,_0x43a1cc){return _0x306755(_0x43a1cc,_0x40d223- -_0x469907._0x512369);}function _0x2d558e(_0x2f275e,_0x5aea39){return _0x306755(_0x5aea39,_0x2f275e- -0x23e);}this['_tilesetClip']&&this['_tilesetClip']['destroy'](),this[_0x2d558e(_0x2c80eb._0x313b0b,0x1094)]=new TilesetClip({...this[_0x49568a(_0x2c80eb._0x3ac905,_0x2c80eb._0x2ba60b)][_0x49568a(_0x2c80eb._0x1176e3,0x47b)],'layer':this}),this[_0x49568a(0x1655,0xff6)][_0x49568a(_0x2c80eb._0x5829d8,_0x2c80eb._0x1ef6e6)](this['_tilesetClip']);}get['flat'](){const _0x3f3a31={_0x5ecdd5:0x11dd,_0x1c8b4e:0xe7d},_0x451815={_0x3ef13c:0x591};this['_map']&&!this['_tilesetFlat']&&this['_initTilesetFlat']();function _0x3dfe25(_0x5ed0df,_0x4df1d6){return _0x306755(_0x4df1d6,_0x5ed0df- -_0x451815._0x3ef13c);}return this[_0x3dfe25(_0x3f3a31._0x5ecdd5,_0x3f3a31._0x1c8b4e)];}[_0x306755(0x2084,0x1640)](){const _0x1bb24c={_0x5ef07b:0xed4},_0x4d9f72={_0x59274a:0x2d};this['_tilesetFlat']&&this['_tilesetFlat']['destroy']();this['_tilesetFlat']=new TilesetFlat({...this['options']['flat'],'layer':this});function _0x5cc384(_0x1e993e,_0x3b616b){return _0x2b6441(_0x3b616b,_0x1e993e- -_0x4d9f72._0x59274a);}this['_map'][_0x5cc384(0x10d9,_0x1bb24c._0x5ef07b)](this['_tilesetFlat']);}get['flood'](){const _0x4d187d={_0x54c87a:0x232d,_0x20377b:0x133f},_0x1800bc={_0x2c14cf:0x6fd},_0x5d2f44={_0x5f2922:0x19};this[_0x39700d(0x1925,_0x4d187d._0x54c87a)]&&!this['_tilesetFlood']&&this[_0x39700d(_0x4d187d._0x20377b,0x1858)]();function _0x159f07(_0x407885,_0x28e856){return _0x306755(_0x28e856,_0x407885- -_0x5d2f44._0x5f2922);}function _0x39700d(_0x33df91,_0x5e3622){return _0x2b6441(_0x5e3622,_0x33df91-_0x1800bc._0x2c14cf);}return this['_tilesetFlood'];}[_0x2b6441(0xb24,0xc42)](){const _0x8c4072={_0x358311:0x35,_0x30c622:0xbd,_0x14e9c3:0x48d};this[_0xbd02d4(-0x30d,_0x8c4072._0x358311)]&&this['_tilesetFlood']['destroy']();function _0xbd02d4(_0x4dde9f,_0x5769f2){return _0x306755(_0x4dde9f,_0x5769f2- -0x61f);}function _0x165474(_0x14cf85,_0x3531db){return _0x2b6441(_0x14cf85,_0x3531db-0x3da);}this[_0xbd02d4(-_0x8c4072._0x30c622,0x35)]=new TilesetFlood({...this[_0x165474(0x72f,0xa96)]['flood'],'layer':this}),this[_0xbd02d4(0x18e2,0x11aa)]['addThing'](this[_0x165474(-0x7a,_0x8c4072._0x14e9c3)]);}get['isEditing'](){return this['_enabledEdit'];}async['_createCesium3DTileset'](){const _0x8cb6a1={_0x31b83a:0x62d,_0x3bddd5:0x15c1,_0x3c5ec6:0x277,_0x5aeaa3:0xd16,_0x48e882:0x1334,_0x4eb3ce:0xeb7,_0x49edd9:0x4a1,_0x128b77:0x7d9,_0x19b05f:0xe2,_0x5999c4:0x155,_0x3a946d:0x18d6,_0x11fe1e:0xab};if(this[_0x396e6d(0x578,_0x8cb6a1._0x31b83a)][_0x396771(0xc28,_0x8cb6a1._0x3bddd5)])return this['options']['tileset'];const _0x4af77c={'cacheBytes':0x40000000,'maximumCacheOverflowBytes':0x80000000,...this['options']};_0x4af77c['marsOptions']=this[_0x396771(0x5e0,_0x8cb6a1._0x3c5ec6)];const _0xddffe8=_0x4af77c;function _0x396e6d(_0x55c408,_0x5d0689){return _0x2b6441(_0x55c408,_0x5d0689- -0x8f);}function _0x396771(_0x55e890,_0x4b230d){return _0x306755(_0x4b230d,_0x55e890-0xb9);}Cesium__namespace[_0x396e6d(0xc42,0x1182)](this['options']['maxMemory'])&&(!Cesium__namespace['defined'](this[_0x396e6d(0xa28,0x62d)]['cacheBytes'])&&(_0xddffe8['cacheBytes']=this['options'][_0x396e6d(0x15a9,0xfad)]*0x400*0x400),!Cesium__namespace[_0x396771(0x186b,0x19aa)](this['options']['maximumCacheOverflowBytes'])&&(_0xddffe8['maximumCacheOverflowBytes']=_0xddffe8['cacheBytes']*1.5));if(this[_0x396771(_0x8cb6a1._0x5aeaa3,_0x8cb6a1._0x48e882)]['assetId']){if(this['options'][_0x396e6d(_0x8cb6a1._0x4eb3ce,_0x8cb6a1._0x49edd9)]||this[_0x396e6d(0x5d5,0x62d)]['ionServer']){const _0x122b8a=await Cesium__namespace['IonResource'][_0x396e6d(_0x8cb6a1._0x128b77,0x199)](this['options']['assetId'],{'accessToken':this['options']['ionToken']??this['options'][_0x396e6d(-_0x8cb6a1._0x19b05f,0x22b)],'server':this[_0x396e6d(-_0x8cb6a1._0x5999c4,0x62d)]['ionServer']});return await Cesium__namespace[_0x396e6d(-0x334,-0xab)]['fromUrl'](_0x122b8a,_0xddffe8);}return await Cesium__namespace['Cesium3DTileset'][_0x396771(0x113d,_0x8cb6a1._0x3a946d)](this['options']['assetId'],_0xddffe8);}else{const _0xd3cd24=getUrlResource(this['options'],this['templateValues']);return await Cesium__namespace[_0x396e6d(0x5b2,-_0x8cb6a1._0x11fe1e)]['fromUrl'](_0xd3cd24,_0xddffe8);}}['_addedHook'](){const _0x372cc5={_0x2218d7:0x37f,_0x1509d0:0x9ee,_0x143a6d:0x52d,_0x26b077:0xab0,_0x13d521:0x8f8,_0x5e48b:0x2d0,_0x3b2ad1:0x5ad,_0x559077:0x4c5,_0x417849:0x7ee,_0x1a7cb1:0x45c,_0x245ffe:0x486,_0x6aece5:0x1123,_0xd596f8:0x1664,_0x4f1048:0x9ee,_0x221f2b:0x1234,_0x334771:0xcab},_0x23b469={_0x9ee5c3:0xf6},_0x1e3aa4={_0x25edbc:0x1ed,_0x102acf:0xa5f,_0x841dfd:0x1076,_0x39608a:0xf37};var _0x14ad5b,_0x27ec6b,_0x38e8aa,_0x49c1ae,_0x18b372,_0x82f8ae,_0x2aa568,_0x55ef28;this[_0x367022(0x66c,-_0x372cc5._0x2218d7)]=![],super[_0x8444f0(0x7f1,0x63)](),this['_conventMarsOptions']();(((_0x14ad5b=this[_0x367022(_0x372cc5._0x1509d0,0x359)]['flat'])===null||_0x14ad5b===void 0x0||(_0x14ad5b=_0x14ad5b[_0x8444f0(0x521,0x274)])===null||_0x14ad5b===void 0x0?void 0x0:_0x14ad5b[_0x367022(0x138c,0x9d5)])>0x0||(_0x27ec6b=this['options'][_0x367022(_0x372cc5._0x143a6d,0x2a2)])!==null&&_0x27ec6b!==void 0x0&&_0x27ec6b['enabled'])&&this['_initTilesetFlat']();function _0x367022(_0x1296b9,_0x1d1265){return _0x306755(_0x1d1265,_0x1296b9- -0x26f);}(((_0x38e8aa=this[_0x8444f0(_0x372cc5._0x26b077,_0x372cc5._0x13d521)]['flood'])===null||_0x38e8aa===void 0x0||(_0x38e8aa=_0x38e8aa['area'])===null||_0x38e8aa===void 0x0?void 0x0:_0x38e8aa['length'])>0x0||(_0x49c1ae=this['options'][_0x367022(_0x372cc5._0x5e48b,-_0x372cc5._0x3b2ad1)])!==null&&_0x49c1ae!==void 0x0&&_0x49c1ae['enabled'])&&this['_initTilesetFlood']();(((_0x18b372=this['options']['clip'])===null||_0x18b372===void 0x0||(_0x18b372=_0x18b372[_0x367022(0x45f,_0x372cc5._0x559077)])===null||_0x18b372===void 0x0?void 0x0:_0x18b372['length'])>0x0||(_0x82f8ae=this['options'][_0x8444f0(_0x372cc5._0x417849,0x1223)])!==null&&_0x82f8ae!==void 0x0&&_0x82f8ae['enabled'])&&this[_0x8444f0(_0x372cc5._0x1a7cb1,_0x372cc5._0x245ffe)]();function _0x8444f0(_0x468e28,_0x10a7cf){return _0x306755(_0x10a7cf,_0x468e28- -0x1ad);}(((_0x2aa568=this['options']['planClip'])===null||_0x2aa568===void 0x0||(_0x2aa568=_0x2aa568['positions'])===null||_0x2aa568===void 0x0?void 0x0:_0x2aa568['length'])>0x0||(_0x55ef28=this['options']['planClip'])!==null&&_0x55ef28!==void 0x0&&_0x55ef28[_0x8444f0(_0x372cc5._0x6aece5,_0x372cc5._0xd596f8)])&&this[_0x367022(0x1338,0xe2c)](),this[_0x367022(_0x372cc5._0x4f1048,0x11a)]['colorCorrection']&&this[_0x367022(_0x372cc5._0x221f2b,0x1ba5)](),this['_createCesium3DTileset']()[_0x8444f0(0x1156,0x969)](_0x1d005e=>{if(this['isDestroy']||!this['_map'])return;const _0x27ea6b={};function _0x62707a(_0x2172f2,_0x598bc3){return _0x8444f0(_0x2172f2-0xa0,_0x598bc3);}function _0x364f31(_0x36d8f0,_0x276ee3){return _0x367022(_0x36d8f0- -0x67,_0x276ee3);}_0x27ea6b['tileset']=_0x1d005e,this[_0x364f31(0x5b3,-_0x1e3aa4._0x25edbc)](EventType['loadBefore'],_0x27ea6b),this[_0x364f31(0x9cc,_0x1e3aa4._0x102acf)](_0x1d005e),this['loadOk']=!![],this[_0x364f31(0xd64,_0x1e3aa4._0x841dfd)][_0x62707a(_0x1e3aa4._0x39608a,0x1470)](this);const _0x51d8c3={};_0x51d8c3['tileset']=_0x1d005e,this['fire'](EventType['load'],_0x51d8c3);})[_0x367022(_0x372cc5._0x334771,0xf63)](_0x3561cd=>{function _0x49aa16(_0x1230b0,_0x1cf5d0){return _0x8444f0(_0x1230b0-_0x23b469._0x9ee5c3,_0x1cf5d0);}this[_0x49aa16(0xf83,0x1a26)]['reject'](_0x3561cd);});}['_removedHook'](){const _0x147c8c={_0x3a9990:0x591,_0x3dae2b:0xa24,_0x3e160b:0xc44,_0x5d3f5c:0x1858,_0x263d78:0x1347,_0x2f539c:0x10bc,_0x354b16:0x1fce,_0x52556f:0x13ce,_0x46cc9c:0x140d,_0x4d793c:0x1381,_0x1f4c45:0xbeb,_0x130e65:0xb18,_0x379fae:0x103},_0x5e218c={_0x4260fe:0x17a};this[_0x4baa75(_0x147c8c._0x3a9990,0x3f8)]&&(this['_tileset']['show']=![]);function _0x25337f(_0x551384,_0x59f3a6){return _0x2b6441(_0x59f3a6,_0x551384-_0x5e218c._0x4260fe);}this['_tilesetClip']&&(this['_map'][_0x4baa75(_0x147c8c._0x3dae2b,_0x147c8c._0x3e160b)](this['_tilesetClip'],!![]),delete this[_0x25337f(0x132e,_0x147c8c._0x5d3f5c)]);this['_tilesetFlat']&&(this['_map']['removeThing'](this[_0x25337f(_0x147c8c._0x263d78,0xf68)],!![]),delete this['_tilesetFlat']);this['_tilesetFlood']&&(this['_map'][_0x4baa75(_0x147c8c._0x3dae2b,0x10e9)](this['_tilesetFlood'],!![]),delete this[_0x4baa75(0x707,_0x147c8c._0x2f539c)]);this['_tilesetPlanClip']&&(this[_0x4baa75(0x187c,_0x147c8c._0x354b16)][_0x25337f(0x54a,0xb05)](this[_0x25337f(_0x147c8c._0x52556f,0x18f7)],!![]),delete this['_tilesetPlanClip']);function _0x4baa75(_0x3a983a,_0x2df854){return _0x306755(_0x2df854,_0x3a983a-0xb3);}this['_tilesetColorCorrection']&&(this['_map'][_0x25337f(0x54a,-0x13f)](this['_tilesetColorCorrection'],!![]),delete this['_tilesetColorCorrection']),super[_0x4baa75(0xede,_0x147c8c._0x46cc9c)](),Cesium__namespace['defined'](this['options'][_0x25337f(0x13a6,0x1132)])&&this['_map']['off'](EventType['cameraChanged'],this[_0x25337f(_0x147c8c._0x4d793c,_0x147c8c._0x1f4c45)],this),this['_tileset']&&(this[_0x4baa75(0x187c,0x1cf6)][_0x4baa75(_0x147c8c._0x130e65,_0x147c8c._0x379fae)]['primitives']['remove'](this['_tileset']),delete this['_tileset']);}['reload'](){const _0x4b7439={_0x37de91:0x626,_0x2bf9f5:0x15f5,_0x2dc816:0xc31,_0x529458:0x572,_0x523684:0xc67,_0x2af6a9:0xb,_0x307d99:0x1894,_0x15fc67:0x533},_0x2338bf={_0x45027c:0x81d},_0x4a14b1={_0x199d88:0x5ab};function _0xca43dd(_0x3cc628,_0x5e7da7){return _0x2b6441(_0x5e7da7,_0x3cc628-0x136);}function _0x3b3f2a(_0x48f617,_0x49d505){return _0x2b6441(_0x48f617,_0x49d505-_0x4a14b1._0x199d88);}this[_0xca43dd(0xbcf,_0x4b7439._0x37de91)]=Cesium__namespace['defer']();const _0x221074=this['options'][_0x3b3f2a(_0x4b7439._0x2bf9f5,_0x4b7439._0x2dc816)]??![];this['_removedHook'](),this['isAdded']&&(this[_0x3b3f2a(_0x4b7439._0x529458,_0x4b7439._0x523684)]['flyTo']=![],this[_0xca43dd(0x18d,_0x4b7439._0x2af6a9)](EventType[_0x3b3f2a(0x2334,_0x4b7439._0x307d99)],()=>{const _0x1b8737={_0xcb7010:0x214};function _0x24aa69(_0x4010a1,_0x19b99b){return _0x3b3f2a(_0x4010a1,_0x19b99b- -_0x1b8737._0xcb7010);}this[_0x24aa69(_0x2338bf._0x45027c,0xa53)]['flyTo']=_0x221074;}),this[_0xca43dd(_0x4b7439._0x15fc67,0x12e)]());}['_mergePostion'](_0x45d7b2){const _0x4d1408={_0x2588bf:0x5b9,_0x6c3088:0x3c6,_0x5d6ae4:0x1a3e,_0x1aeedc:0x652,_0x4d027f:0x17c,_0x3f0697:0x20d8,_0x48e12c:0x404,_0x47a15b:0xcfb,_0x2672d7:0xc96,_0x204a40:0x481},_0x2171a3={_0x33c689:0x27b},_0x55f38d={_0x3c9b3e:0x95};function _0x2de005(_0x294302,_0x1139a9){return _0x306755(_0x294302,_0x1139a9- -_0x55f38d._0x3c9b3e);}function _0x4e0cff(_0x272601,_0x1537f5){return _0x306755(_0x1537f5,_0x272601- -_0x2171a3._0x33c689);}_0x45d7b2&&((Array[_0x4e0cff(_0x4d1408._0x2588bf,_0x4d1408._0x6c3088)](_0x45d7b2)||isString(_0x45d7b2))&&(_0x45d7b2=LngLatPoint[_0x2de005(_0x4d1408._0x5d6ae4,0x173b)](_0x45d7b2)),!this['_center']&&(this[_0x2de005(-0x40d,_0x4d1408._0x1aeedc)]=new LngLatPoint()),Cesium__namespace['defined'](_0x45d7b2[_0x4e0cff(0x6c3,0xb64)])&&(this['center']['lat']=_0x45d7b2[_0x4e0cff(0x6c3,-_0x4d1408._0x4d027f)]),Cesium__namespace['defined'](_0x45d7b2['lng'])&&(this['center']['lng']=_0x45d7b2['lng']),Cesium__namespace[_0x2de005(_0x4d1408._0x3f0697,0x171d)](_0x45d7b2[_0x4e0cff(_0x4d1408._0x48e12c,-0x4ac)])&&(this[_0x4e0cff(0x481,0x7ce)]['alt']=this['_orginCenterPoint']['alt']+_0x45d7b2[_0x2de005(_0x4d1408._0x47a15b,0x5ea)]),Cesium__namespace[_0x4e0cff(0x1537,_0x4d1408._0x2672d7)](_0x45d7b2['alt'])&&(this[_0x4e0cff(_0x4d1408._0x204a40,0x478)]['alt']=_0x45d7b2['alt']));}[_0x306755(0x18d0,0x18d1)](_0x3276c4,_0x5a053d){const _0x50ad47={_0x4efbd:0x415,_0x304882:0x1c6,_0x3f004e:0xf6e,_0xe738a1:0x5ce,_0x3eac3a:0xebb,_0x372cff:0xfea,_0x1e8ab7:0x1b1a,_0x3cccbe:0x6a6,_0x1205a3:0xcd2},_0x144483={_0x566511:0x598},_0xf96f50={_0x43fef0:0x6bb};if(!this['_tileset'])return;function _0x19e763(_0x167a4d,_0x1ce12){return _0x2b6441(_0x1ce12,_0x167a4d-_0xf96f50._0x43fef0);}function _0x257ae0(_0x46b86a,_0x3ec4e7){return _0x306755(_0x3ec4e7,_0x46b86a- -_0x144483._0x566511);}let _0xa7e5e0,_0x4393e7;for(const _0x44b41f in _0x5a053d){const _0x3f5a18=_0x3276c4[_0x44b41f];switch(_0x44b41f){case'highlight':{var _0x20881b,_0x357237;(_0x20881b=this['_last_picked'])!==null&&_0x20881b!==void 0x0&&_0x20881b['event']&&!((_0x357237=_0x5a053d['highlight'])!==null&&_0x357237!==void 0x0&&_0x357237['type'])?this[_0x19e763(0x1863,0x1fbf)](this['_last_picked']['event']):super['_setOptionsHook'](_0x3276c4,_0x5a053d);break;}case _0x257ae0(0x627,-_0x50ad47._0x4efbd):{var _0x2d739d;((_0x2d739d=this['_tileset'])===null||_0x2d739d===void 0x0?void 0x0:_0x2d739d[_0x257ae0(0x1e4,-_0x50ad47._0x304882)])!==_0x5a053d['url']&&(_0xa7e5e0=!![]);break;}case'classificationType':case'chinaCRS':case'flat':case _0x19e763(0x659,_0x50ad47._0x3f004e):case _0x257ae0(0x403,_0x50ad47._0xe738a1):case'planClip':{_0xa7e5e0=!![];break;}case _0x19e763(0xbe6,_0x50ad47._0x3eac3a):{this[_0x257ae0(0x10b0,0xa84)]?this['colorCorrection'][_0x257ae0(0x785,0xb41)](_0x3f5a18):_0xa7e5e0=!![];break;}case _0x257ae0(0xc5f,0xa66):case'rotation':case _0x257ae0(0x73c,_0x50ad47._0x372cff):case _0x19e763(0x11f4,0x1a2b):case'scaleY':case'scaleZ':case'axis':_0x4393e7=!![];break;case'opacity':case'style':case'marsJzwStyle':case'customShader':this[_0x44b41f]=_0x3f5a18;break;default:{try{this['tileset'][_0x44b41f]=_0x3f5a18;}catch(_0x4981ef){_0xa7e5e0=!![];}break;}}if(_0xa7e5e0){this[_0x19e763(_0x50ad47._0x1e8ab7,0x1168)]();return;}}_0x4393e7&&(this['_mergePostion'](this[_0x257ae0(0x6c5,_0x50ad47._0x3cccbe)]['position']),this[_0x19e763(0x14f3,_0x50ad47._0x1205a3)]());}['_initModel'](_0x1f6b4a){const _0x3616cd={_0x101263:0x17f,_0x37b5a4:0x971,_0x5f2b49:0x7ad,_0x228681:0x15c2,_0x576047:0x10b8,_0x23a709:0x39d,_0xbdde75:0xb07,_0x1ed51a:0x413,_0xf65828:0x4,_0x467280:0x1acd,_0x46bdd9:0x10da,_0x34d423:0x51,_0xc65509:0x416,_0x52a216:0x4d2,_0x52d10c:0x474,_0x40d087:0x90d,_0x6a4ede:0x1231,_0x2a14c0:0x85a,_0x3a877e:0xfc9,_0x39741f:0x690,_0x1b7404:0x5a9,_0x529e98:0x813,_0x1488ce:0x1767,_0x1613b1:0xe2f,_0x1cfdbf:0xeca,_0x4cbc2e:0x1c6,_0x1d4a6e:0x6b0,_0x1c8242:0xdc2,_0x552778:0xe1c,_0x41eb44:0x7ba,_0x118048:0x17e,_0x5c270b:0x1108,_0x1c190f:0x8fe,_0x4272fd:0xa89,_0x42652a:0x97,_0x4f92fb:0xd8d,_0x3900f9:0x6dc,_0x5eded4:0x152c,_0x5747b3:0x1395,_0x5dd5d3:0x1231,_0x95390a:0xaff,_0x2505fd:0x513},_0x5f21bf={_0x907e1:0x242},_0x5e0605={_0x4d2215:0x20},_0xb31ee={_0x193257:0x364},_0x194fc8={_0x207926:0x7e,_0x5520cf:0x107a};var _0x25397d;this[_0x37dcee(0x5ee,_0x3616cd._0x101263)]=_0x1f6b4a,this['_tileset']['name']=this['name'],this[_0x37dcee(0xaec,_0x3616cd._0x101263)]['show']=this[_0x39f3e3(0x1012,_0x3616cd._0x37b5a4)],this['_tileset']['_mars3d_layerId']=this['id'];!this['options']['tileset']&&this['_map'][_0x39f3e3(0x4e4,0xeda)]['primitives'][_0x39f3e3(_0x3616cd._0x5f2b49,0xc57)](this['_tileset']);this['_tileset'][_0x37dcee(0x1e6a,_0x3616cd._0x228681)]['addEventListener'](_0x3c2e1f=>{function _0x29f8df(_0x3571e1,_0x41bcaa){return _0x37dcee(_0x3571e1,_0x41bcaa- -0x259);}function _0x369ca5(_0x161c65,_0xfd2a9b){return _0x39f3e3(_0xfd2a9b- -0xca,_0x161c65);}this[_0x369ca5(_0x194fc8._0x207926,0x23e)](EventType[_0x29f8df(_0x194fc8._0x5520cf,0x1369)],_0x3c2e1f);}),this['_tileset']['allTilesLoaded']['addEventListener'](_0x448946=>{const _0x350c5a={_0x220297:0x5c};function _0x18a801(_0x1889c9,_0x4dcdb4){return _0x39f3e3(_0x4dcdb4-_0x350c5a._0x220297,_0x1889c9);}this[_0x18a801(0x7ce,_0xb31ee._0x193257)](EventType['allTilesLoaded'],_0x448946);}),this[_0x39f3e3(_0x3616cd._0x576047,0xf83)]=Cesium__namespace[_0x39f3e3(0x387,-0xf9)](this['_tileset']['boundingSphere'][_0x37dcee(0xd8b,_0x3616cd._0x23a709)]);function _0x39f3e3(_0x467cc6,_0x4bde3c){return _0x2b6441(_0x4bde3c,_0x467cc6-_0x5e0605._0x4d2215);}const _0x4c5d0c=(_0x25397d=this['_tileset'][_0x37dcee(0x184f,0xea4)])===null||_0x25397d===void 0x0?void 0x0:_0x25397d['transform'];this['transform']=this['options']['transform']??Boolean(_0x4c5d0c&&!_0x4c5d0c[_0x39f3e3(0xa34,_0x3616cd._0xbdde75)](Cesium__namespace['Matrix4']['IDENTITY']));if(this[_0x37dcee(0x169,0x474)]){this[_0x37dcee(0x26d,_0x3616cd._0x1ed51a)]=Cesium__namespace['Matrix4'][_0x39f3e3(-_0x3616cd._0xf65828,0x2c6)](Cesium__namespace['Matrix4']['fromArray'](this['_tileset'][_0x37dcee(_0x3616cd._0x467280,_0x3616cd._0x46bdd9)][_0x39f3e3(0x252,-_0x3616cd._0x34d423)]),new Cesium__namespace['Matrix4']());const _0x1e02b0=Cesium__namespace[_0x39f3e3(0x5f1,_0x3616cd._0xc65509)][_0x39f3e3(0xb08,0x941)](this[_0x39f3e3(-0xa3,-_0x3616cd._0x52a216)]['_root'][_0x37dcee(-0x8f,_0x3616cd._0x52d10c)]),_0xa70991=Cesium__namespace['Matrix4'][_0x37dcee(0xa11,_0x3616cd._0x40d087)](_0x1e02b0,new Cesium__namespace[(_0x37dcee(0x9de,0x6c2))]());if(Cesium__namespace[_0x39f3e3(_0x3616cd._0x6a4ede,_0x3616cd._0x2a14c0)](_0xa70991)&&Cesium__namespace['Cartographic'][_0x37dcee(_0x3616cd._0x3a877e,_0x3616cd._0x39741f)](_0xa70991)){this[_0x39f3e3(0x10b8,0x601)]=_0xa70991;const _0xe3c64c=Cesium__namespace[_0x37dcee(_0x3616cd._0x1b7404,_0x3616cd._0x529e98)][_0x37dcee(0x1077,0xe0e)](_0x1e02b0,new Cesium__namespace['Matrix3']()),_0x418acb=Cesium__namespace['Matrix4']['getMatrix3'](Cesium__namespace['Transforms'][_0x39f3e3(0x11d8,_0x3616cd._0x1488ce)](_0xa70991),new Cesium__namespace['Matrix3']()),_0x14f12e=Cesium__namespace['Matrix3']['getColumn'](_0x418acb,0x0,new Cesium__namespace['Cartesian3']()),_0x413ee6=Cesium__namespace[_0x39f3e3(_0x3616cd._0x1613b1,0x4bd)]['getColumn'](_0x418acb,0x1,new Cesium__namespace['Cartesian3']()),_0x134a78=Cesium__namespace[_0x37dcee(0x1272,0x1051)]['getColumn'](_0x418acb,0x2,new Cesium__namespace['Cartesian3']());let _0x166f85=Cesium__namespace['Matrix3']['getColumn'](_0xe3c64c,0x0,new Cesium__namespace[(_0x39f3e3(0x4a0,-0x112))]());_0x166f85=Cesium__namespace['Cartesian3']['cross'](_0x166f85,_0x134a78,_0x166f85),_0x166f85=Cesium__namespace['Cartesian3'][_0x39f3e3(0xb82,_0x3616cd._0x1cfdbf)](_0x134a78,_0x166f85,_0x166f85),_0x166f85=Cesium__namespace['Cartesian3'][_0x39f3e3(_0x3616cd._0x4cbc2e,0xa97)](_0x166f85,_0x166f85);let _0x5de01c=Cesium__namespace['Cartesian3'][_0x39f3e3(_0x3616cd._0x1d4a6e,0x23)](_0x14f12e,_0x166f85);const _0x5f161d=Cesium__namespace['Cartesian3']['angleBetween'](_0x413ee6,_0x166f85);_0x5f161d>Math['PI']*0.5&&(_0x5de01c=0x2*Math['PI']-_0x5de01c),this['orginRotation']={'x':0x0,'y':0x0,'z':Number(Cesium__namespace[_0x39f3e3(0xdea,_0x3616cd._0x1c8242)][_0x37dcee(_0x3616cd._0x552778,0xab9)](_0x5de01c)['toFixed'](0x1))};}else this['transform']=![];}this[_0x39f3e3(0xaf7,_0x3616cd._0x41eb44)]=LngLatPoint['fromCartesian'](this['_orginCenterPosition']),logInfo((this[_0x39f3e3(0x312,_0x3616cd._0x118048)]||'TilesetLayer')+_0x37dcee(0xb86,_0x3616cd._0x5c270b)+this['_orginCenterPoint']['toString']());function _0x37dcee(_0x40de61,_0x146595){return _0x2b6441(_0x40de61,_0x146595-_0x5f21bf._0x907e1);}Cesium__namespace['defined'](this['options']['style'])&&(this['style']=this[_0x37dcee(0xd4,_0x3616cd._0x1c190f)]['style']);this['setOpacity'](this['opacity']),this[_0x39f3e3(0x166,0x78b)]=this[_0x39f3e3(0xaf7,_0x3616cd._0x4272fd)]['clone'](),this[_0x39f3e3(-_0x3616cd._0x42652a,0x466)](this[_0x37dcee(0x69d,_0x3616cd._0x1c190f)][_0x39f3e3(0xc76,_0x3616cd._0x4f92fb)]);if(this[_0x39f3e3(_0x3616cd._0x3900f9,0xe98)]['chinaCRS']){const _0x3e1fc3=this[_0x37dcee(_0x3616cd._0x5eded4,_0x3616cd._0x5747b3)](this['center']);this['_mergePostion'](_0x3e1fc3);}this[_0x39f3e3(0x130e,0xa7e)]()&&this[_0x39f3e3(0xe58,0x132e)](),Cesium__namespace[_0x39f3e3(_0x3616cd._0x5dd5d3,_0x3616cd._0x95390a)](this['options']['distanceDisplayCondition_far'])&&this['bindVisibleDistance'](),this[_0x39f3e3(0x6dc,_0x3616cd._0x2505fd)]['clampToGround']&&this['clampToGround']();}['getHeight'](_0x579dfd){const _0x222ec6=LngLatPoint['toCartographic'](_0x579dfd);function _0x1862c9(_0x2195b4,_0x5a8910){return _0x2b6441(_0x2195b4,_0x5a8910-0x5fe);}function _0x20dcab(_0x3d6b86,_0x492e2b){return _0x2b6441(_0x492e2b,_0x3d6b86-0x4a9);}return this[_0x20dcab(0x3e6,0xcec)][_0x1862c9(0x12ab,0x16ff)](_0x222ec6,this['_map']['scene'])??_0x222ec6[_0x20dcab(0xafa,0x1005)];}[_0x306755(0x4d,0x4bc)](_0xcd9371=0x1){const _0x27693c={_0xe52ca1:0x818,_0x3f6c33:0x22e},_0x1388f6={_0x1d0794:0x1410,_0x386afc:0x1b10,_0x3d2a88:0x708,_0x4df3b0:0x850};function _0xf9a946(_0x2d3971,_0x4d9ebb){return _0x306755(_0x4d9ebb,_0x2d3971- -0x24d);}function _0x3fb69e(_0x33a645,_0x3c8920){return _0x306755(_0x3c8920,_0x33a645-0x73);}this['_map']&&this['_map']['hasTerrain']?getSurfaceTerrainHeight(this['_map'][_0xf9a946(_0x27693c._0xe52ca1,0xdd)],this['_orginCenterPosition'])['then'](_0x3fdc07=>{function _0x1da69a(_0x1d907f,_0xd7797c){return _0xf9a946(_0x1d907f- -0x155,_0xd7797c);}function _0x330c01(_0x4091da,_0x2890ec){return _0xf9a946(_0x4091da-0x17d,_0x2890ec);}Cesium__namespace[_0x1da69a(_0x1388f6._0x1d0794,_0x1388f6._0x386afc)](_0x3fdc07[_0x330c01(0xb22,_0x1388f6._0x3d2a88)])&&(this[_0x1da69a(0xc5,0x889)]=_0x3fdc07[_0x1da69a(_0x1388f6._0x4df3b0,-0x126)]-this['_orginCenterPoint'][_0x330c01(0x397,0xb22)]+_0xcd9371);}):this['alt']=-this['_orginCenterPoint'][_0xf9a946(0x21a,-_0x27693c._0x3f6c33)]+_0xcd9371;}['_hasUpdateMater'](){const _0x241422={_0xe78b98:0xf51,_0x4e75bf:0xc90,_0x110a41:0xbdf,_0x4e809a:0x10a0,_0x51c97b:0x357,_0x4a5d44:0xbf9},_0x14d2a7={_0x44e400:0x64};if(!this['center'][_0x31577a(0xb47,_0x241422._0xe78b98)](this[_0x31577a(_0x241422._0x4e75bf,0x1014)]))return!![];if(this['options'][_0x31577a(0x17cd,0x15ec)])return!![];function _0x31577a(_0x280756,_0x233a0b){return _0x306755(_0x280756,_0x233a0b- -_0x14d2a7._0x44e400);}function _0x3e07a0(_0x2d06f0,_0x31e8c5){return _0x306755(_0x2d06f0,_0x31e8c5- -0x7e);}if(Cesium__namespace['defined'](this['options']['scale'])&&this[_0x3e07a0(0x1352,_0x241422._0x110a41)]['scale']!==0x1)return!![];if(Cesium__namespace['defined'](this[_0x3e07a0(0x10a9,0xbdf)]['scaleX'])||Cesium__namespace[_0x31577a(_0x241422._0x4e809a,0x174e)](this[_0x31577a(_0x241422._0x51c97b,_0x241422._0x4a5d44)]['scaleY'])||Cesium__namespace['defined'](this['options']['scaleZ']))return!![];if(Cesium__namespace['defined'](this['options']['axis']))return!![];return![];}['updateMatrix'](){const _0x31fed={_0x208e8c:0xf05,_0x40f4cc:0x1079,_0x4da42a:0xc50,_0x32305d:0x916,_0x19ddda:0xd94,_0x204b19:0x157e,_0x4608fd:0x5f5,_0x292966:0x424,_0x5b528c:0x130c,_0x2b6ab1:0x4b9,_0x2029f6:0x1ef,_0x5aa103:0xace,_0xaedb44:0x12f2,_0x3deb49:0x114d,_0xc007b2:0x870,_0x297bf1:0xbb9,_0x3f35da:0xbb9,_0x3f8a63:0x82e,_0x5117ae:0xc30,_0x5d068b:0xa4a,_0x41bf36:0x1fa5,_0x2beb53:0x436,_0x47381b:0x455,_0x120b3c:0xe3a,_0x5dd7f7:0x148e,_0x41cce9:0x877,_0x160fd5:0x124d,_0x5cf15b:0x686,_0x134565:0x2ed,_0x422731:0x429,_0x342fc7:0x72f,_0x399b40:0xc20},_0x30cc10={_0x467dcb:0x4fd},_0x589a0c={_0x3fd344:0x5d7};if(!this['_tileset'])return undefined;if(this['options'][_0x448b06(0xe02,0xd07)]){const _0x510e91=this['options']['updateMatrix'](this['position'],this);return this['_tileset'][_0x472a1b(0x1865,0x15d6)]=_0x510e91,_0x510e91;}function _0x448b06(_0x1460d7,_0x2bb569){return _0x306755(_0x2bb569,_0x1460d7- -_0x589a0c._0x3fd344);}if(!this[_0x472a1b(0x72f,_0x31fed._0x208e8c)])return this['updateMatrix2']();let _0x30a115=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this['position']);if(this['options'][_0x448b06(_0x31fed._0x40f4cc,_0x31fed._0x4da42a)]){const _0x342a16=Cesium__namespace['Matrix3']['fromRotationX'](Cesium__namespace[_0x448b06(0xd94,0x4f3)]['toRadians'](this[_0x472a1b(0x107e,_0x31fed._0x32305d)])),_0x4208eb=Cesium__namespace['Matrix3']['fromRotationY'](Cesium__namespace[_0x448b06(_0x31fed._0x19ddda,_0x31fed._0x204b19)][_0x448b06(_0x31fed._0x4608fd,-_0x31fed._0x292966)](this['rotation_y'])),_0x3e8d69=Cesium__namespace[_0x472a1b(_0x31fed._0x5b528c,0x1c97)][_0x472a1b(_0x31fed._0x2b6ab1,0xe13)](Cesium__namespace['Math']['toRadians'](0x168-this['rotation_z'])),_0x54ad7a=Cesium__namespace['Matrix4'][_0x472a1b(0x6b9,_0x31fed._0x2029f6)](_0x342a16),_0x4dafcf=Cesium__namespace['Matrix4']['fromRotationTranslation'](_0x4208eb),_0x1a562c=Cesium__namespace[_0x472a1b(0xace,0xa7d)]['fromRotationTranslation'](_0x3e8d69);Cesium__namespace[_0x472a1b(_0x31fed._0x5aa103,_0x31fed._0xaedb44)]['multiply'](_0x30a115,_0x54ad7a,_0x30a115),Cesium__namespace['Matrix4']['multiply'](_0x30a115,_0x4dafcf,_0x30a115),Cesium__namespace['Matrix4']['multiply'](_0x30a115,_0x1a562c,_0x30a115);}function _0x472a1b(_0xde0c46,_0x1fd34f){return _0x2b6441(_0x1fd34f,_0xde0c46-_0x30cc10._0x467dcb);}if(Cesium__namespace['defined'](this[_0x448b06(0x686,0xc55)]['scaleX'])||Cesium__namespace['defined'](this['options'][_0x472a1b(0x113a,0x1b68)])||Cesium__namespace[_0x448b06(0x11db,0xc6d)](this['options']['scaleZ']))Cesium__namespace['Matrix4'][_0x472a1b(0x1658,0x120b)](_0x30a115,new Cesium__namespace[(_0x472a1b(0x97d,0xa03))](this['options'][_0x472a1b(0x1036,_0x31fed._0x3deb49)]??0x1,this['options'][_0x448b06(0xc07,_0x31fed._0xc007b2)]??0x1,this['options']['scaleZ']??0x1),_0x30a115);else Cesium__namespace['defined'](this[_0x472a1b(_0x31fed._0x297bf1,0xb03)]['scale'])&&this[_0x472a1b(_0x31fed._0x3f35da,0xbc7)][_0x448b06(0x6fd,_0x31fed._0x3f8a63)]!==0x1&&Cesium__namespace['Matrix4'][_0x472a1b(0x119d,0xf62)](_0x30a115,this[_0x448b06(0x686,-0x1a8)][_0x472a1b(_0x31fed._0x5117ae,0x185)],_0x30a115);if(Cesium__namespace['defined'](this['options']['axis'])){let _0x154243;if(isString(this[_0x472a1b(0xbb9,_0x31fed._0x5d068b)][_0x448b06(0xdf4,0xc2a)]))switch(this['options']['axis'][_0x472a1b(0x1559,_0x31fed._0x41bf36)]()){case _0x448b06(-0x48,_0x31fed._0x2beb53):_0x154243=Cesium__namespace['Axis'][_0x472a1b(0x4eb,-0x40b)];break;case'Z_UP_TO_Y_UP':_0x154243=Cesium__namespace['Axis'][_0x448b06(_0x31fed._0x47381b,0xc28)];break;case _0x448b06(0xb3f,0x11d1):_0x154243=Cesium__namespace[_0x472a1b(0x3c9,_0x31fed._0x120b3c)]['X_UP_TO_Z_UP'];break;case'Z_UP_TO_X_UP':_0x154243=Cesium__namespace['Axis'][_0x472a1b(_0x31fed._0x5dd7f7,0x1372)];break;case'X_UP_TO_Y_UP':_0x154243=Cesium__namespace['Axis']['X_UP_TO_Y_UP'];break;case _0x448b06(_0x31fed._0x41cce9,0x1268):_0x154243=Cesium__namespace['Axis'][_0x448b06(0x877,_0x31fed._0x160fd5)];break;}else this['options'][_0x472a1b(0x1327,0x1430)]instanceof Cesium__namespace['Axis']&&(_0x154243=this[_0x448b06(_0x31fed._0x5cf15b,_0x31fed._0x134565)]['axis']);_0x154243&&(_0x30a115=Cesium__namespace['Matrix4'][_0x448b06(0x13c5,0x1779)](_0x30a115,_0x154243,_0x30a115));}return this[_0x448b06(-0xf9,-_0x31fed._0x422731)][_0x448b06(0xe62,0x1638)][_0x472a1b(_0x31fed._0x342fc7,0x79d)]=_0x30a115,this['fire'](EventType[_0x448b06(-0x7b,-0x4dc)],{'position':this[_0x448b06(_0x31fed._0x399b40,0x116d)]}),_0x30a115;}[_0x2b6441(0x73e,0x1031)](){const _0x3d4dd9={_0x84774f:0x109d,_0xfa70e0:0x1c95,_0x3e606c:0x10a6,_0x11cc2a:0x83b,_0x5e4a45:0xe94,_0x16642e:0xd63,_0x481f91:0x2010,_0x384efe:0x156d,_0xe09fc3:0x883},_0x47ce4e={_0xc12484:0x151};if(!this['_tileset']||!this['_tileset'][_0x4f69f4(0xb6d,_0x3d4dd9._0x84774f)])return;const _0x2afb9b=this[_0x263269(0x14e8,_0x3d4dd9._0xfa70e0)],_0x4abb6f=this[_0x263269(_0x3d4dd9._0x3e606c,0x164f)],_0x124e09=Cesium__namespace[_0x263269(0x8d0,0x107c)]['subtract'](_0x4abb6f,_0x2afb9b,new Cesium__namespace[(_0x263269(0x8d0,_0x3d4dd9._0x11cc2a))]()),_0x1e5313=Cesium__namespace[_0x4f69f4(0x8ff,0x7d6)][_0x4f69f4(_0x3d4dd9._0x5e4a45,_0x3d4dd9._0x16642e)](_0x124e09);this['_tileset'][_0x4f69f4(_0x3d4dd9._0x481f91,_0x3d4dd9._0x384efe)]=_0x1e5313,this[_0x4f69f4(_0x3d4dd9._0xe09fc3,0x4ed)](EventType['updatePosition'],{'position':this['position']});function _0x4f69f4(_0x48aec3,_0x388197){return _0x306755(_0x48aec3,_0x388197- -0x39c);}function _0x263269(_0x50685d,_0x3174b6){return _0x306755(_0x3174b6,_0x50685d- -_0x47ce4e._0xc12484);}return _0x1e5313;}[_0x306755(0x869,0xe09)](_0x574eef){const _0x323e54={_0x39b1aa:0x920},_0x4e5093={_0x2fb158:0x45f},_0x486a1c={_0xe163a2:0x252};function _0xcb5f2e(_0x5b1bad,_0x2ed277){return _0x306755(_0x5b1bad,_0x2ed277- -_0x486a1c._0xe163a2);}if(this['orginMatrix']){const _0xcc4cef=Cesium__namespace[_0xcb5f2e(0xa4c,_0x323e54._0x39b1aa)]['multiply'](this['_tileset']['_root']['transform'],this[_0x85e520(0x630,0x952)],new Cesium__namespace[(_0xcb5f2e(0x747,0x920))]());return Cesium__namespace['Matrix4'][_0x85e520(0x3b7,0x68e)](_0xcc4cef,_0x574eef,new Cesium__namespace['Cartesian3']());}function _0x85e520(_0x2a89a6,_0x35cde4){return _0x2b6441(_0x35cde4,_0x2a89a6-_0x4e5093._0x2fb158);}return _0x574eef;}[_0x306755(0x13dd,0x18ee)](_0x30524c){const _0x25f8ba={_0x4eb80d:0x64c,_0x4459ef:0x64c,_0x4821d2:0x64c,_0x29bc97:0x53c,_0x179f9d:0x133},_0x38fdfd={_0x111ebd:0x172};function _0x1cd61b(_0x2e4644,_0x2e2a08){return _0x2b6441(_0x2e4644,_0x2e2a08- -0x70);}function _0x465cbd(_0x5b7447,_0x23fdcc){return _0x306755(_0x5b7447,_0x23fdcc-_0x38fdfd._0x111ebd);}if(this[_0x1cd61b(0x218,_0x25f8ba._0x4eb80d)]['onSetOpacity'])this[_0x1cd61b(-0x1b2,_0x25f8ba._0x4459ef)]['onSetOpacity'](_0x30524c);else{if(this['_tileset']){var _0x528916;this[_0x1cd61b(-0x3d7,_0x25f8ba._0x4821d2)]['opacity']=_0x30524c;if(this['opacity']!==0x1){const _0x3309ad={};_0x3309ad['color']='color()\x20*vec4(1,1,1,'+_0x30524c+')',this['_tileset']['style']=new Cesium__namespace['Cesium3DTileStyle'](_0x3309ad),this['_tileset']['style'][_0x1cd61b(0x1b4e,0x130e)]=!![];}else(_0x528916=this[_0x1cd61b(-_0x25f8ba._0x29bc97,-_0x25f8ba._0x179f9d)])!==null&&_0x528916!==void 0x0&&(_0x528916=_0x528916['style'])!==null&&_0x528916!==void 0x0&&_0x528916['_mars3d_opacity']&&(this[_0x465cbd(-0x329,0x650)]['style']=undefined);}}}async['_flyToEx'](_0x464c6e){const _0x202f3e={_0x181954:0xec,_0x28e7c8:0x1005,_0x878bcd:0x1a4a,_0x239747:0x1240,_0x9083e3:0xd09,_0x75f8fe:0x3f9};function _0x4c4318(_0x2b5a13,_0x2c1448){return _0x306755(_0x2b5a13,_0x2c1448- -0x589);}var _0x4a4d56;function _0x2a40c2(_0xd0860e,_0x28c59a){return _0x2b6441(_0xd0860e,_0x28c59a-0x16d);}if((_0x4a4d56=this[_0x2a40c2(_0x202f3e._0x181954,0xaa)])!==null&&_0x4a4d56!==void 0x0&&_0x4a4d56[_0x2a40c2(0x1525,_0x202f3e._0x28e7c8)])return this[_0x4c4318(_0x202f3e._0x878bcd,_0x202f3e._0x239747)][_0x2a40c2(0xdc3,_0x202f3e._0x9083e3)](this['_tileset'][_0x2a40c2(_0x202f3e._0x75f8fe,0x51d)]['center'],{'radius':this['_tileset']['boundingSphere'][_0x2a40c2(0x813,0x292)]*0x2,'maxPitch':-0x2d,..._0x464c6e});}['_toJsonEx'](_0x264524){const _0x23a3c0={_0x585330:0x48d,_0x30b155:0xc75,_0x533975:0x4bd,_0x196db5:0x17f2,_0x26ddfe:0x17f2,_0x43fa35:0xb07,_0x253a66:0x1fa0,_0x35c427:0x1752,_0x4804a2:0x17d3,_0x3d320d:0x206,_0x4b9610:0x1645,_0x48fef6:0xac9,_0x22c21a:0x486,_0x24fe9b:0x452,_0x8e6e72:0x5b0,_0x3d04a0:0x10e4,_0x29266c:0x13c8,_0x4ae016:0x1bf6,_0x346d06:0x1472,_0x1eb3d4:0x1202,_0xb0e930:0x1b1f,_0x42a2f7:0x164d,_0x305fc2:0x15b7},_0x40b0e4={_0x40c24b:0x59e};if(!this['_tileset']||!this[_0x2aced(0x2f7,_0x23a3c0._0x585330)])return;_0x264524['position']=this['center'][_0x2aced(_0x23a3c0._0x30b155,_0x23a3c0._0x533975)]();this[_0x1db9c0(0x1522,_0x23a3c0._0x196db5)]&&(_0x264524[_0x2aced(-0x35,0x164)]=this[_0x1db9c0(0x1c53,_0x23a3c0._0x26ddfe)][_0x1db9c0(0x40,_0x23a3c0._0x43fa35)]());function _0x2aced(_0x340578,_0x1cb258){return _0x2b6441(_0x340578,_0x1cb258-0x153);}this[_0x1db9c0(_0x23a3c0._0x253a66,_0x23a3c0._0x35c427)]&&(_0x264524['clip']=this[_0x2aced(_0x23a3c0._0x4804a2,0x1307)]['toJSON']());this[_0x2aced(0xbbe,0x1320)]&&(_0x264524['flat']=this['_tilesetFlat']['toJSON']());this[_0x2aced(-0x817,_0x23a3c0._0x3d320d)]&&(_0x264524['flood']=this['_tilesetFlood'][_0x1db9c0(0xc97,0xb07)]());this[_0x1db9c0(0x1591,_0x23a3c0._0x4b9610)]&&(_0x264524[_0x1db9c0(0x105d,_0x23a3c0._0x48fef6)]=this['_tilesetColorCorrection'][_0x2aced(0x609,0x6bc)]());this['center']['lat']===this['orginCenterPoint']['lat']&&delete _0x264524['position']['lat'];this['center'][_0x2aced(-_0x23a3c0._0x22c21a,0x5b0)]===this['orginCenterPoint']['lng']&&delete _0x264524['position'][_0x2aced(_0x23a3c0._0x24fe9b,_0x23a3c0._0x8e6e72)];this['center'][_0x1db9c0(0x535,0x464)]===this['orginCenterPoint']['alt']&&delete _0x264524['position']['alt'];Object[_0x1db9c0(0x1315,_0x23a3c0._0x3d04a0)](_0x264524['position'])['length']===0x0&&delete _0x264524['position'];_0x264524['maximumScreenSpaceError']===0x10&&delete _0x264524['maximumScreenSpaceError'];_0x264524['scale']===0x1&&delete _0x264524['scale'];(_0x264524['axis']===''||!_0x264524['axis'])&&delete _0x264524[_0x1db9c0(0x130e,_0x23a3c0._0x29266c)];function _0x1db9c0(_0x21efa7,_0x57434b){return _0x2b6441(_0x21efa7,_0x57434b-_0x40b0e4._0x40c24b);}!_0x264524['proxy']&&delete _0x264524['proxy'],_0x264524['rotation']&&((_0x264524[_0x1db9c0(0x1756,0x164d)]['x']===0x0||_0x264524['rotation']['x']===0x168)&&delete _0x264524[_0x2aced(_0x23a3c0._0x4ae016,0x1202)]['x'],(_0x264524[_0x2aced(_0x23a3c0._0x346d06,_0x23a3c0._0x1eb3d4)]['y']===0x0||_0x264524[_0x2aced(0x1809,0x1202)]['y']===0x168)&&delete _0x264524['rotation']['y'],(_0x264524['rotation']['z']===0x0||_0x264524[_0x1db9c0(_0x23a3c0._0xb0e930,_0x23a3c0._0x42a2f7)]['z']===0x168)&&delete _0x264524[_0x1db9c0(_0x23a3c0._0x305fc2,0x164d)]['z'],Object['keys'](_0x264524['rotation'])['length']===0x0&&delete _0x264524['rotation']);}[_0x2b6441(0x17a7,0x1153)](_0x4098fa){const _0x143e4c={_0x5f3c85:0x166,_0x19f144:0x111};if(!_0x4098fa)return![];const _0x542469=this['_map'][_0x5497e(_0x143e4c._0x5f3c85,0x128)],_0x4ec3ba=this[_0x5497e(0x11fe,0x7f3)]['chinaCRS'],_0x10f36f=getTransFun(_0x4ec3ba,_0x542469);if(!_0x10f36f)return![];const _0x5b6e66=_0x10f36f([_0x4098fa['lng'],_0x4098fa['lat']]),_0x29736f={};_0x29736f['lng']=_0x5b6e66[0x0];function _0x5497e(_0x153344,_0x235c5a){return _0x306755(_0x153344,_0x235c5a- -0x46a);}_0x29736f['lat']=_0x5b6e66[0x1],_0x29736f[_0x1a24aa(-0x885,_0x143e4c._0x19f144)]=_0x4098fa['alt'];function _0x1a24aa(_0xd94134,_0x31bb83){return _0x2b6441(_0xd94134,_0x31bb83-0x24b);}return _0x29736f;}['bindVisibleDistance'](){this['_map']['on'](EventType['cameraChanged'],this['updateVisibleDistance'],this);}['updateVisibleDistance'](){const _0x461eef={_0x565560:0x7a7,_0x2c9966:0xd65,_0x5e78a6:0x483,_0x165faf:0x64,_0x4265ad:0xf1e,_0x48d57e:0xce1},_0x28eb5b={_0x19e3ec:0x84},_0xd5a86c={_0x52f3c7:0x59e};if(!this[_0x282730(0xe5a,0x15ba)]||!this['_tileset']||!this[_0x282730(0x33d,_0x461eef._0x565560)])return;function _0x282730(_0x5b8fa4,_0x37b1bc){return _0x306755(_0x37b1bc,_0x5b8fa4- -_0xd5a86c._0x52f3c7);}if(this['_map']['scene']['mode']!==Cesium__namespace[_0x282730(0x448,_0x461eef._0x2c9966)]['SCENE3D'])return;const _0x28b7b2=Cesium__namespace[_0x282730(_0x461eef._0x5e78a6,-_0x461eef._0x165faf)]['distance'](this['position'],this['_map']['camera']['positionWC']);function _0x30f451(_0xa5e6eb,_0x50606e){return _0x306755(_0x50606e,_0xa5e6eb-_0x28eb5b._0x19e3ec);}this['_tileset'][_0x30f451(0x1617,_0x461eef._0x4265ad)]=_0x28b7b2<this[_0x30f451(_0x461eef._0x48d57e,0x1723)][_0x282730(0x122f,0x18e6)];}['_highlight_mouseEventHandler'](_0xd64607){const _0x50f5c1={_0x2734f7:0x555,_0x12f45c:0x1b33,_0x2d6b3f:0x11d9,_0x4dc79c:0x12bd,_0x4990d7:0x87c},_0x35b6f4={_0x15d60b:0x5f2};this['_map'][_0x194600(-0x570,_0x50f5c1._0x2734f7)]();function _0x3a8e19(_0x344fc5,_0x3feec0){return _0x2b6441(_0x344fc5,_0x3feec0-0x56);}const _0x3be64b=_0xd64607[_0x3a8e19(_0x50f5c1._0x12f45c,_0x50f5c1._0x2d6b3f)];function _0x194600(_0x1bf01f,_0x2b1230){return _0x306755(_0x1bf01f,_0x2b1230- -_0x35b6f4._0x15d60b);}if(_0x3be64b||this['_highlightOptions']['all']){if(isFunction(this['_highlightOptions']['filter'])){if(this['_highlightOptions']['filter'](_0xd64607)===![])return;}const _0x21fd1f=this['allowDrillPick'];if(isFunction(_0x21fd1f)){if(_0x21fd1f(_0xd64607)===!![])return;}const _0x5f16ff={};_0x5f16ff[_0x3a8e19(_0x50f5c1._0x4dc79c,0x1168)]=_0x3be64b,_0x5f16ff[_0x194600(-0x1e,_0x50f5c1._0x4990d7)]=_0xd64607,this['_last_picked']=_0x5f16ff,this['_map']['openHighlight'](this,this['_highlightOptions'],_0xd64607);}}[_0x2b6441(0x55f,0xe7e)](_0x4770a5,_0x54fd64=!![],_0x4fc0f6){const _0x397379={_0x2f7586:0xf4b,_0x149d0e:0x1a,_0x5106f5:0x90c,_0x1f210b:0x16f1,_0x4e8c55:0xaff,_0x10da27:0x1493,_0x10db5f:0x12a8,_0x1898eb:0xe0c,_0x399574:0xcdb,_0xb81e76:0x90c,_0x3183f7:0xf7b,_0x170d70:0x1a25,_0x3bd601:0x43b,_0x413141:0x7b3,_0x4897c8:0x90c},_0x2cb027={_0x4cac77:0x2d},_0x37a18f={_0x43741d:0x4fe};_0x54fd64&&this[_0x3884f7(0x1726,0x1d76)]&&(this['_map'][_0x3884f7(0xaa4,_0x397379._0x2f7586)](),this['_map'][_0x4473fd(0x4e5,-_0x397379._0x149d0e)]=this);this['_last_picked']=this[_0x3884f7(_0x397379._0x5106f5,0x7fe)]||{'event':{'layer':this}};_0x4fc0f6&&(this['_last_picked']['feature']=_0x4fc0f6);function _0x3884f7(_0x162eae,_0x1c0ec4){return _0x2b6441(_0x1c0ec4,_0x162eae-_0x37a18f._0x43741d);}function _0x4473fd(_0x322c9c,_0x48538a){return _0x306755(_0x48538a,_0x322c9c-_0x2cb027._0x4cac77);}const _0x33f069=_0x4770a5||this[_0x3884f7(_0x397379._0x1f210b,0x181f)];if(_0x33f069){var _0x4fa340,_0x3d3dae;if((_0x4fa340=this['_last_picked'])!==null&&_0x4fa340!==void 0x0&&_0x4fa340['feature']&&!_0x33f069[_0x4473fd(0xa44,0x507)]&&!_0x33f069[_0x3884f7(_0x397379._0x4e8c55,0x4e5)]){var _0x1656ea;const _0x2d97a4=this['_last_picked']['feature'];if(_0x2d97a4!==null&&_0x2d97a4!==void 0x0&&_0x2d97a4['color']&&_0x33f069['color']){this['_last_picked'][_0x4473fd(_0x397379._0x10da27,0xd6b)]=_0x2d97a4[_0x4473fd(0xedc,_0x397379._0x10db5f)]['clone']();if(isFunction(_0x33f069['color'])){var _0x3fa72a;_0x2d97a4[_0x4473fd(0xedc,0x5f9)]=getCesiumColor(_0x33f069[_0x3884f7(_0x397379._0x1898eb,_0x397379._0x399574)]((_0x3fa72a=this[_0x3884f7(_0x397379._0xb81e76,0xd0e)])===null||_0x3fa72a===void 0x0?void 0x0:_0x3fa72a[_0x4473fd(0xe9b,0xfe8)]));}else _0x2d97a4['color']=getColorByStyle(_0x33f069);}_0x2d97a4!==null&&_0x2d97a4!==void 0x0&&(_0x1656ea=_0x2d97a4[_0x3884f7(0xaa1,0x99f)])!==null&&_0x1656ea!==void 0x0&&_0x1656ea['_model']&&_0x33f069['model']&&(this[_0x3884f7(0x90c,0x19c)][_0x4473fd(0x76c,0x49f)]=ModelStyleConver['toJSON'](_0x2d97a4['content'][_0x4473fd(0x16c7,0x1809)]),ModelStyleConver['toCesiumVal'](_0x33f069['model'],_0x2d97a4[_0x3884f7(0xaa1,0x5a8)]['_model'],![]));}else{const _0x7a92b7=Cesium__namespace[_0x3884f7(0xe91,0x11dd)]['fromCssColorString'](_0x33f069['color'])['toCssColorString']();if(_0x33f069['uniqueKey']){const _0x28f25b=this[_0x3884f7(_0x397379._0x5106f5,0x12c5)]['feature'][_0x4473fd(0x14a2,_0x397379._0x3183f7)](_0x33f069['uniqueKey']),_0x3386f8={};_0x3386f8['conditions']=[['${'+_0x33f069[_0x3884f7(0xaff,0x98f)]+_0x4473fd(0x19fb,_0x397379._0x170d70)+_0x28f25b+'\x27',_0x7a92b7]];const _0xd497f4={};_0xd497f4[_0x3884f7(0xe0c,0x50d)]=_0x3386f8,this[_0x3884f7(0x43b,-0x1e7)]['style']=new Cesium__namespace['Cesium3DTileStyle'](_0xd497f4);}else{const _0x8091b5={};_0x8091b5['conditions']=[['true',_0x7a92b7]];const _0x19fe8d={};_0x19fe8d[_0x4473fd(0xedc,0x4e1)]=_0x8091b5,this[_0x3884f7(_0x397379._0x3bd601,0xc20)][_0x3884f7(_0x397379._0x413141,-0x30d)]=new Cesium__namespace['Cesium3DTileStyle'](_0x19fe8d);}this['_highlightAll']=!![];}this[_0x3884f7(0x7e6,0x5e1)](EventType['highlightOpen'],(_0x3d3dae=this[_0x3884f7(_0x397379._0x4897c8,0xd11)])===null||_0x3d3dae===void 0x0?void 0x0:_0x3d3dae['event'],!![]);}}['closeHighlight'](){const _0x54947a={_0xb3e9a7:0x650,_0x2e7562:0xcaa,_0x59ef24:0xa50,_0x3d73c1:0x16eb,_0x177b2b:0xdcc,_0x3ef185:0x10d,_0x9f2f0e:0x107,_0x2252ad:0xab0};var _0x3c2469,_0x39fbf5;if(!this['_last_picked'])return;function _0x591c97(_0x2b793b,_0x22d229){return _0x306755(_0x22d229,_0x2b793b-0x38);}if(this[_0x2a692c(_0x54947a._0xb3e9a7,_0x54947a._0x2e7562)])this[_0x591c97(0x131a,0xb99)]=![],this[_0x2a692c(-_0x54947a._0x59ef24,-0x15a)][_0x591c97(0x88e,0xe12)]=this['style'];else{if((_0x3c2469=this['_last_picked'])!==null&&_0x3c2469!==void 0x0&&_0x3c2469[_0x591c97(_0x54947a._0x3d73c1,0x1ce3)]){var _0x4375b7;const _0xdd0f3b=this['_last_picked']['feature'];this[_0x2a692c(_0x54947a._0x177b2b,0x377)]['originalColor']&&(_0xdd0f3b['color']=this['_last_picked']['originalColor']),_0xdd0f3b!==null&&_0xdd0f3b!==void 0x0&&(_0x4375b7=_0xdd0f3b['content'])!==null&&_0x4375b7!==void 0x0&&_0x4375b7['_model']&&this['_last_picked'][_0x2a692c(-_0x54947a._0x3ef185,_0x54947a._0x9f2f0e)]&&ModelStyleConver[_0x591c97(0x1084,0x17f7)](this[_0x2a692c(0x60d,0x377)][_0x2a692c(0x602,_0x54947a._0x9f2f0e)],_0xdd0f3b['content'][_0x591c97(0x16d2,0xd7a)],![]);}}this['_map']['_clearLastHighlight']();function _0x2a692c(_0x1c68ef,_0x9c979d){return _0x2b6441(_0x1c68ef,_0x9c979d- -0x97);}this['fire'](EventType[_0x2a692c(_0x54947a._0x2252ad,0x11e8)],(_0x39fbf5=this['_last_picked'])===null||_0x39fbf5===void 0x0?void 0x0:_0x39fbf5['event'],!![]),delete this['_last_picked'];}[_0x306755(0x1318,0x147a)](){if(this['_popupConfig'])return!![];return![];}['bindPopup'](_0x12be53,_0x5b28c3){return this['_popupConfig']={'content':_0x12be53,'options':_0x5b28c3,'layer':this},this['_bindControl'](),this;}['unbindPopup'](){const _0x427414={_0x5a15a4:0xc53,_0x26f0d6:0x1095},_0x317bf9={_0x35aee9:0x7f};this['closePopup'](),this[_0x426cae(_0x427414._0x5a15a4,_0x427414._0x26f0d6)]=null;function _0x426cae(_0x1469d9,_0x8845c8){return _0x306755(_0x1469d9,_0x8845c8- -_0x317bf9._0x35aee9);}return this;}[_0x306755(0x16e8,0x1899)](){const _0x42184e={_0x5c8c8c:0x1344,_0x2b4a5d:0x169f},_0x6cf1dc={_0x170f43:0x12a};function _0x5b3079(_0xdd40be,_0x4551ff){return _0x306755(_0xdd40be,_0x4551ff- -_0x6cf1dc._0x170f43);}function _0x3e7f39(_0x44981f,_0x504dfe){return _0x2b6441(_0x44981f,_0x504dfe-0x126);}var _0x3881fc;return(_0x3881fc=this['_map'])!==null&&_0x3881fc!==void 0x0&&_0x3881fc['popup']&&this[_0x3e7f39(0xa65,0xfff)]()&&this[_0x5b3079(_0x42184e._0x5c8c8c,_0x42184e._0x2b4a5d)][_0x3e7f39(0xdb5,0x61f)]['close'](null,this),this;}['_conventMarsOptions'](){const _0x4b4a0b={_0x4f7d79:0x1bad,_0x24efa8:0xfaa,_0x295568:0x95,_0x28fe71:0x16a1,_0x30fcab:0xb40,_0x5a6889:0xc78,_0x2f2ef0:0x14d9,_0x5cc48c:0x1f9c,_0x4b8790:0x355,_0x318d8a:0x771,_0x371a38:0x177c},_0x5e77f0={_0x2eb580:0x9f};var _0x5b19d6;if(!((_0x5b19d6=Cesium__namespace['Mars3DEx'])!==null&&_0x5b19d6!==void 0x0&&_0x5b19d6['getCacheOrAdd']))return;this['_marsOptions']['customShaders']=this['_map']['index']+'_'+this['id'];function _0x29e7f1(_0x4ff4bd,_0xd4c8b4){return _0x306755(_0xd4c8b4,_0x4ff4bd- -0xc7);}const _0x1bc6d7=Cesium__namespace[_0x29e7f1(0x15ac,_0x4b4a0b._0x4f7d79)]['getCacheOrAdd'](this['_marsOptions'][_0x29e7f1(0x1659,_0x4b4a0b._0x24efa8)]);function _0x4604ba(_0x328133,_0x59d687){return _0x2b6441(_0x328133,_0x59d687-_0x5e77f0._0x2eb580);}this['marsJzwStyle']?_0x1bc6d7[_0x4604ba(0x1779,0x109e)]=new Cesium__namespace['CustomShader']({'lightingModel':Cesium__namespace[_0x29e7f1(0xfd7,0x15ec)]['UNLIT'],'uniforms':{'u_mars3d_jzw_upAxis':{'type':Cesium__namespace['UniformType']['INT'],'value':this['options']['editUpAxis']??Cesium__namespace[_0x4604ba(0x30b,-_0x4b4a0b._0x295568)]['Z']},'u_mars3d_jzw_baseHeight':{'type':Cesium__namespace['UniformType']['FLOAT'],'value':this['marsJzwStyle'][_0x29e7f1(0x1139,_0x4b4a0b._0x28fe71)]??0x0},'u_mars3d_jzw_heightRange':{'type':Cesium__namespace['UniformType'][_0x4604ba(_0x4b4a0b._0x30fcab,_0x4b4a0b._0x5a6889)],'value':this[_0x29e7f1(_0x4b4a0b._0x2f2ef0,_0x4b4a0b._0x5cc48c)]['heightRange']??0x118},'u_mars3d_jzw_glowRange':{'type':Cesium__namespace[_0x4604ba(-_0x4b4a0b._0x4b8790,_0x4b4a0b._0x318d8a)][_0x4604ba(0x427,0xc78)],'value':this[_0x29e7f1(0x14d9,0x112f)]['glowRange']??0x12c}},'fragmentShaderText':isString(this[_0x29e7f1(0x14d9,0xdb5)])?this[_0x4604ba(_0x4b4a0b._0x371a38,0x109e)]:JzwStyleFS}):delete _0x1bc6d7['marsJzwStyle'];}['startEditing'](){const _0x574619={_0x1f53a3:0x735,_0x217896:0x1757,_0x5b2421:0xdce,_0x1dc6ce:0xc7c,_0x689da1:0x846,_0x1f13b0:0xb27,_0x2890f7:0xe19,_0x57974b:0x830,_0x2c12ad:0x1c6c,_0x2accf9:0xfb2,_0x3994be:0x13e8},_0x15604={_0x2bb0df:0x52f};function _0x36d2d0(_0x5ddc2c,_0x3c5cbb){return _0x306755(_0x3c5cbb,_0x5ddc2c- -0x2b0);}if(this[_0x1c2d8d(0xdf9,0x636)]||!this[_0x1c2d8d(0x80f,_0x574619._0x1f53a3)])return this;this['_enabledEdit']=!![];if(!this[_0x1c2d8d(_0x574619._0x217896,_0x574619._0x5b2421)])throw new Error(_0x36d2d0(_0x574619._0x1dc6ce,_0x574619._0x689da1));this['_map'][_0x1c2d8d(_0x574619._0x1f13b0,_0x574619._0x2890f7)][_0x1c2d8d(0xa5d,_0x574619._0x57974b)]=this[_0x36d2d0(0xbb6,0x10d5)],this[_0x36d2d0(0x1519,_0x574619._0x2c12ad)][_0x36d2d0(0x8e9,_0x574619._0x2accf9)]['enabledMoveTarget']=![];function _0x1c2d8d(_0x27dab0,_0xa07c42){return _0x2b6441(_0xa07c42,_0x27dab0-_0x15604._0x2bb0df);}!this[_0x36d2d0(_0x574619._0x3994be,0xb1b)]&&(this[_0x1c2d8d(0x1626,0x1092)]=new EditTileset(this)),this['editing'][_0x1c2d8d(0xc5b,0x16af)]&&this['editing'][_0x1c2d8d(0xc5b,0x1238)]();}['stopEditing'](){const _0x309318={_0x4eb1ea:0xdf9,_0x2529b1:0xce2,_0x4f77e8:0x149a,_0xbbb375:0x1668,_0x4e8f0e:0x5eb,_0x371077:0xfd7,_0x1f31a8:0x9ed},_0x580ce7={_0x51a772:0x32f};var _0x98dae9;if(!this[_0x3ff249(_0x309318._0x4eb1ea,0x9ed)])return this;(_0x98dae9=this[_0x3ff249(0xd07,0x121a)])!==null&&_0x98dae9!==void 0x0&&_0x98dae9['disable']&&this['editing']['disable']();function _0x3ff249(_0x4ab8b0,_0x3443ad){return _0x306755(_0x4ab8b0,_0x3443ad- -0x47e);}function _0x560007(_0x12a0ec,_0x4b63ce){return _0x306755(_0x12a0ec,_0x4b63ce- -_0x580ce7._0x51a772);}this[_0x3ff249(_0x309318._0x2529b1,0x134b)]&&(this['_map']['closeSmallTooltip'](),this[_0x560007(0x15c5,_0x309318._0x4f77e8)]['mouseEvent'][_0x3ff249(0x142,0x651)]=null,this[_0x560007(_0x309318._0xbbb375,0x149a)]['mouseEvent'][_0x3ff249(0x82,_0x309318._0x4e8f0e)]=!![]),this[_0x3ff249(_0x309318._0x371077,_0x309318._0x1f31a8)]=![];}}register$3('tileset',TilesetLayer),register$3('3dtiles',TilesetLayer);class OsmBuildingsLayer extends TilesetLayer{async[_0x306755(0x4b1,0x912)](){const _0x3a8926={_0x2c5158:0x412},_0x3abc1b={_0x4f1746:0x15f};function _0xf7aaa7(_0x2f8eed,_0x58d51f){return _0x306755(_0x2f8eed,_0x58d51f- -_0x3abc1b._0x4f1746);}const _0x4da291=await Cesium__namespace[_0xf7aaa7(-0x348,_0x3a8926._0x2c5158)](this['options']);return _0x4da291;}}register$3('osmBuildings',OsmBuildingsLayer);class I3SLayer extends BaseGraphicLayer{constructor(_0x298476={}){super(_0x298476),this['_marsOptions']={};}get[_0x306755(0x3c6,0x9ca)](){return this['_i3sProvider'];}get[_0x306755(0x1cd0,0x15a0)](){return this['options']['marsJzwStyle'];}set['marsJzwStyle'](_0x286ec0){const _0xc99327={_0x1bd9ae:0x770},_0x9b83f9={_0x1de1a8:0xaa};function _0x3b7244(_0x35364c,_0x1650d4){return _0x306755(_0x1650d4,_0x35364c-_0x9b83f9._0x1de1a8);}this[_0x3b7244(0xd07,_0xc99327._0x1bd9ae)]['marsJzwStyle']=_0x286ec0,this['_conventMarsOptions']();}get[_0x306755(0x1db2,0x198e)](){const _0x10f70c={_0x5e09ad:0x1928,_0x4600d7:0x1841,_0x19cb67:0x18d6,_0x208569:0x11be};function _0x574e56(_0x2684f3,_0x35eabd){return _0x2b6441(_0x2684f3,_0x35eabd-0x42f);}const _0x2f2c59=this[_0x44f1b5(_0x10f70c._0x5e09ad,0x1160)][_0x574e56(0x14f1,_0x10f70c._0x4600d7)];for(let _0x441eae=0x0;_0x441eae<_0x2f2c59['length'];_0x441eae++){const _0x51d22a=_0x2f2c59[_0x441eae]['_tileset'];if(Cesium__namespace[_0x44f1b5(_0x10f70c._0x19cb67,_0x10f70c._0x208569)](_0x51d22a))return _0x51d22a===null||_0x51d22a===void 0x0?void 0x0:_0x51d22a['_modelUpAxis'];}function _0x44f1b5(_0x2265d8,_0x434aba){return _0x2b6441(_0x434aba,_0x2265d8-0x6c5);}return undefined;}[_0x306755(0x732,0xbb4)](_0x468828,_0x5a36db){const _0x5b9e84={_0x438568:0x165a,_0x51ebf8:0xf7a},_0x398b99={_0x2c82b2:0x23d};if(!this[_0x3bc94e(0x14ab,0x1010)])return;const _0x5eee9e=this['_i3sProvider'][_0x3bc94e(_0x5b9e84._0x438568,0xdd6)];for(let _0x1c7ae0=0x0;_0x1c7ae0<_0x5eee9e['length'];_0x1c7ae0++){const _0x13113e=_0x5eee9e[_0x1c7ae0]['_layer'];Cesium__namespace['defined'](_0x13113e)&&_0x468828[_0x3691db(0x10ba,_0x5b9e84._0x51ebf8)](_0x5a36db,_0x13113e);}function _0x3bc94e(_0x371573,_0x18a7f9){return _0x2b6441(_0x18a7f9,_0x371573-0x248);}function _0x3691db(_0x4fe284,_0x124212){return _0x306755(_0x4fe284,_0x124212- -_0x398b99._0x2c82b2);}return this;}async['_createI3SDataProvider'](){const _0x5c35e5={_0x329a73:0x43a,_0x23e0c2:0x2ca,_0x172f3b:0x5ab,_0x3665ad:0xa6e,_0x451da1:0xc6c,_0x3bf4b9:0x3f1,_0x15d028:0xf33,_0x215a63:0x17f},_0x215b89={_0x41dca2:0x4b4},_0x3e4065={_0x4070d4:0xf};let _0x5ab711;function _0x3ea0d1(_0x3d4433,_0x387976){return _0x306755(_0x3d4433,_0x387976-_0x3e4065._0x4070d4);}this['options'][_0x3ea0d1(-_0x5c35e5._0x329a73,0x50e)]&&(this['options'][_0x386ac1(0x4b,-_0x5c35e5._0x23e0c2)]instanceof Cesium__namespace[_0x386ac1(_0x5c35e5._0x172f3b,0xac3)]?_0x5ab711=this['options']['geoidTiledTerrainProvider']:_0x5ab711=await Cesium__namespace[_0x3ea0d1(0x506,_0x5c35e5._0x3665ad)]['fromUrl'](this[_0x3ea0d1(0x737,_0x5c35e5._0x451da1)][_0x386ac1(0x4b,0x259)]['url'],this['options'][_0x386ac1(0x4b,-_0x5c35e5._0x3bf4b9)]));this['_marsOptions'][_0x3ea0d1(0x10ff,0x18e1)]=this['id'];const _0x3cd2ff={...this['options']};_0x3cd2ff['geoidTiledTerrainProvider']=_0x5ab711;function _0x386ac1(_0x32baa5,_0x2f1e88){return _0x306755(_0x2f1e88,_0x32baa5- -_0x215b89._0x41dca2);}_0x3cd2ff[_0x3ea0d1(_0x5c35e5._0x15d028,0x6e3)]={...this['options']},_0x3cd2ff[_0x3ea0d1(_0x5c35e5._0x15d028,0x6e3)][_0x386ac1(0x4dc,-_0x5c35e5._0x215a63)]=this[_0x3ea0d1(0x5db,0x536)];const _0x47e8f7=_0x3cd2ff;delete _0x47e8f7['url'];const _0x5c54a6=getUrlResource(this['options'],this['templateValues']),_0xbc5617=await Cesium__namespace['I3SDataProvider']['fromUrl'](_0x5c54a6,_0x47e8f7);return _0xbc5617;}['_addedHook'](){const _0x3c029c={_0x67830f:0xae8,_0x19b7d4:0x18cb},_0x2ef2b4={_0x527fc6:0x901,_0x131edb:0xd03,_0x1296ae:0x16d3,_0x5da54d:0x7d3,_0x4a37bf:0x13e,_0x4b5ad3:0x17b9,_0x4dabed:0x17b9,_0x32fac0:0x1f4f,_0x5910f5:0x16b4},_0x1ba62d={_0x373a39:0x252};function _0x4c3496(_0x82fe0d,_0x14946b){return _0x2b6441(_0x82fe0d,_0x14946b-0x6eb);}this['loadOk']=![],super[_0x4c3496(0x18,_0x3c029c._0x67830f)]();function _0x127886(_0x581d9b,_0x559ffe){return _0x2b6441(_0x559ffe,_0x581d9b-0x6c5);}this['_conventMarsOptions'](),this[_0x4c3496(_0x3c029c._0x19b7d4,0x1035)]()['then'](_0x609779=>{if(this[_0x9e2e90(0x895,0x126c)])return;const _0x5b6ad3={};_0x5b6ad3[_0x9e2e90(0x139a,_0x2ef2b4._0x527fc6)]=_0x609779,this['fire'](EventType[_0x9e2e90(_0x2ef2b4._0x131edb,_0x2ef2b4._0x1296ae)],_0x5b6ad3),this['_initModel'](_0x609779),this[_0x5d79d8(_0x2ef2b4._0x5da54d,_0x2ef2b4._0x4a37bf)]=!![];function _0x5d79d8(_0x8323c,_0x5e3943){return _0x4c3496(_0x5e3943,_0x8323c- -_0x1ba62d._0x373a39);}this[_0x9e2e90(0xef6,_0x2ef2b4._0x4b5ad3)][_0x5d79d8(0xf3c,0x1064)](this);function _0x9e2e90(_0x14c28d,_0x4b61a5){return _0x127886(_0x14c28d- -0x268,_0x4b61a5);}const _0x51313e={};_0x51313e['provider']=_0x609779,_0x51313e[_0x9e2e90(_0x2ef2b4._0x4dabed,_0x2ef2b4._0x32fac0)]=_0x609779[_0x9e2e90(0x186f,_0x2ef2b4._0x5910f5)],this[_0x5d79d8(0x781,0x908)](EventType[_0x9e2e90(0x1746,0xd18)],_0x51313e);});}[_0x2b6441(0x807,0x88a)](){const _0x4e6cba={_0x423f2f:0x13ab,_0x289483:0x10d4,_0xb6d2ad:0x8a2,_0x36fb89:0xc2f,_0x34a3aa:0x19cd,_0x17a603:0x12ad},_0x3f0c6d={_0x548d5e:0x1c3};super['_removedHook']();function _0x3cb30b(_0x1343f0,_0x31fd17){return _0x306755(_0x31fd17,_0x1343f0- -_0x3f0c6d._0x548d5e);}function _0x3fe9f4(_0x47acad,_0x355811){return _0x2b6441(_0x47acad,_0x355811-0x4a);}if(this['_i3sProvider']){const _0x5107ff=this['_i3sProvider']['_layers'];for(let _0x29e3db=0x0;_0x29e3db<_0x5107ff[_0x3cb30b(0x1438,_0x4e6cba._0x423f2f)];_0x29e3db++){const _0x1aacec=_0x5107ff[_0x29e3db][_0x3fe9f4(_0x4e6cba._0x289483,0xe6d)];_0x1aacec['_onRemove'](),delete _0x5107ff[_0x29e3db]['_layer'];}this['_map'][_0x3cb30b(_0x4e6cba._0xb6d2ad,_0x4e6cba._0x36fb89)]['primitives'][_0x3fe9f4(0x2df,0x465)](this[_0x3fe9f4(0x1c20,0x12ad)]),delete this[_0x3fe9f4(_0x4e6cba._0x34a3aa,_0x4e6cba._0x17a603)];}}['reload'](){const _0x42bea0={_0x305aee:0x9dc};function _0x411917(_0x734457,_0x3030b0){return _0x306755(_0x734457,_0x3030b0- -0x44f);}this[_0x411917(0x459,_0x42bea0._0x305aee)](),this['_addedHook']();}['_initModel'](_0x3c3789){const _0x86aa8a={_0x4c55cd:0x1ca2,_0x992bce:0x11b7,_0x3b3e73:0x1293,_0x3ae254:0xefa,_0x57bee1:0x1662,_0x281de0:0x1239,_0xb7630:0xaa9,_0x3588bc:0xfdb,_0x21511f:0x474},_0x15fadc={_0xab95d9:0x43},_0x170d37={_0x424dfd:0x9d};this[_0x1f6047(_0x86aa8a._0x4c55cd,0x17c1)]=_0x3c3789,this['_i3sProvider'][_0x1f6047(0x1cd5,0x188f)]=this['id'];function _0x21bab9(_0x698801,_0x4c510c){return _0x306755(_0x4c510c,_0x698801- -_0x170d37._0x424dfd);}this['_i3sProvider']['show']=this[_0x1f6047(_0x86aa8a._0x992bce,0x1550)],this[_0x1f6047(0xcfa,0x1786)]['scene']['primitives']['add'](this['_i3sProvider']);const _0x59ede5=this['_i3sProvider']['_layers'];function _0x1f6047(_0x366739,_0xe0aeb6){return _0x306755(_0x366739,_0xe0aeb6- -_0x15fadc._0xab95d9);}for(let _0x1622f4=0x0;_0x1622f4<_0x59ede5['length'];_0x1622f4++){const _0x9c0c2e=_0x59ede5[_0x1622f4][_0x21bab9(0x441,0x866)],_0x3781df={...this['options']};_0x3781df['tileset']=_0x9c0c2e,_0x3781df['eventParent']=this,_0x3781df[_0x1f6047(0xdb0,0x15a1)]=!![];const _0x1e0e64=new TilesetLayer(_0x3781df);_0x1e0e64['_onAdd'](this['_map']),_0x59ede5[_0x1622f4]['_layer']=_0x1e0e64;}this[_0x1f6047(0x1a1c,_0x86aa8a._0x3b3e73)]=this[_0x1f6047(0x1ce1,0x17c1)][_0x1f6047(_0x86aa8a._0x3ae254,_0x86aa8a._0x57bee1)],this['_orginCenterPoint']=LngLatPoint['fromCartographic'](Cesium__namespace['Rectangle']['center'](this[_0x21bab9(_0x86aa8a._0x281de0,_0x86aa8a._0xb7630)])),this['_orginCenterPosition']=this[_0x21bab9(_0x86aa8a._0x3588bc,0x1201)]['toCartesian'](),this[_0x21bab9(0x64a,-_0x86aa8a._0x21511f)]=this['_orginCenterPoint'][_0x21bab9(0x86b,0xb33)]();}async['_flyToEx'](_0x3fd8db){const _0xbffe7f={_0x229781:0x140d};function _0x4b5346(_0x4c26c6,_0x47b2c0){return _0x2b6441(_0x4c26c6,_0x47b2c0-0x684);}function _0x480742(_0x49ad66,_0x58972d){return _0x2b6441(_0x49ad66,_0x58972d-0x5b1);}if(this['_center']){const _0x532130={'maxPitch':-0x2d,..._0x3fd8db};return this[_0x480742(_0xbffe7f._0x229781,0x17d9)][_0x480742(0x1a57,0x114d)](this['_center'],_0x532130);}}[_0x306755(0x150b,0xe7b)](){const _0x11358c={_0x408e08:0x1638,_0x5dade4:0x1ad3,_0x3af8c4:0x827,_0x18d717:0x10c7,_0x1fcd66:0xacc,_0x196d46:0x74c,_0x222f98:0x310,_0x5e23ce:0x1443};function _0x4dbe6e(_0x4d8a14,_0x3c8c48){return _0x306755(_0x4d8a14,_0x3c8c48- -0x3b);}var _0x3bfc19;function _0x34deba(_0x3c5d7c,_0x5a8976){return _0x2b6441(_0x3c5d7c,_0x5a8976-0x444);}if(!((_0x3bfc19=Cesium__namespace['Mars3DEx'])!==null&&_0x3bfc19!==void 0x0&&_0x3bfc19['getCacheOrAdd']))return;this['_marsOptions'][_0x34deba(0x1816,0x15c3)]=this['_map']['index']+'_'+this['id'];const _0x4cadd2=Cesium__namespace[_0x4dbe6e(0x1954,_0x11358c._0x408e08)]['getCacheOrAdd'](this['_marsOptions']['customShaders']);this['marsJzwStyle']?_0x4cadd2[_0x34deba(_0x11358c._0x5dade4,0x1443)]=new Cesium__namespace[(_0x4dbe6e(0x86f,0x5c6))]({'lightingModel':Cesium__namespace[_0x34deba(_0x11358c._0x3af8c4,0xf41)]['UNLIT'],'uniforms':{'u_mars3d_jzw_upAxis':{'type':Cesium__namespace['UniformType'][_0x4dbe6e(_0x11358c._0x18d717,_0x11358c._0x1fcd66)],'value':this['options']['editUpAxis']??Cesium__namespace[_0x34deba(_0x11358c._0x196d46,_0x11358c._0x222f98)]['Z']}},'fragmentShaderText':isString(this['marsJzwStyle'])?this[_0x34deba(0x9fb,_0x11358c._0x5e23ce)]:JzwStyleFS}):delete _0x4cadd2[_0x34deba(0x1655,0x1443)];}}register$3(_0x306755(0x19c7,0x1389),I3SLayer);class GraticuleProvider{constructor(_0x4f1f6c={}){const _0x8ca54b={_0x2362cf:0xbc9,_0x1ab9ae:0xaad,_0x4e74c6:0x622,_0xe4d7e9:0x6f,_0x4b4283:0x1538,_0x16635b:0x1893,_0x481a00:0x1522,_0x5ee635:0x16e9,_0x266eba:0xff3,_0x32df63:0xa06,_0xbc027c:0x12a9,_0xa92361:0x15a1},_0x213de4={_0x3ec9ed:0x5e9},_0x2c764f={_0x35f0cc:0x1ec};function _0x4b905f(_0x3e1863,_0xe0ca96){return _0x306755(_0xe0ca96,_0x3e1863- -_0x2c764f._0x35f0cc);}this['options']=_0x4f1f6c,this[_0x7c5b58(0x8d7,0x7b6)]=_0x4f1f6c['tilingScheme']||new Cesium__namespace['GeographicTilingScheme'](),this['_tileWidth']=_0x4f1f6c['tileWidth']||0x100,this['_tileHeight']=_0x4f1f6c['tileHeight']||0x100,this['_sexagesimal']=_0x4f1f6c[_0x7c5b58(0x6bf,_0x8ca54b._0x2362cf)]||![],this['_scene']=_0x4f1f6c[_0x7c5b58(_0x8ca54b._0x1ab9ae,_0x8ca54b._0x4e74c6)],this[_0x4b905f(0x2b1,_0x8ca54b._0xe4d7e9)]=this['_scene'][_0x7c5b58(_0x8ca54b._0x4b4283,_0x8ca54b._0x16635b)][_0x7c5b58(_0x8ca54b._0x481a00,0x1f8c)];function _0x7c5b58(_0x508744,_0x3120dc){return _0x2b6441(_0x3120dc,_0x508744-_0x213de4._0x3ec9ed);}this['_labels']=new Cesium__namespace['LabelCollection'](),this[_0x4b905f(0x15a1,_0x8ca54b._0x5ee635)]['primitives']['add'](this['_labels']),this['_polylines']=new Cesium__namespace[(_0x7c5b58(_0x8ca54b._0x266eba,0xfba))](),this['_scene']['primitives']['add'](this[_0x4b905f(0x1575,0x1f0e)]);const _0x3cd7e7=document['createElement']('canvas');_0x3cd7e7[_0x4b905f(0x9ff,0x6c3)]=0x100,_0x3cd7e7[_0x4b905f(_0x8ca54b._0x32df63,0x4be)]=0x100,this[_0x7c5b58(0x17df,0xd34)]=_0x3cd7e7,this['steps']=_0x4f1f6c[_0x7c5b58(_0x8ca54b._0xbc027c,0x1b1e)]||[0.05,0.1,0.2,0.5,0x1,0x2,0x5,0xa];const _0x11fffd=this;this['_scene']['camera']['moveEnd']['addEventListener'](function(){function _0x472549(_0x328d43,_0x33fa6a){return _0x4b905f(_0x33fa6a-0x208,_0x328d43);}if(!_0x11fffd['_show'])return;_0x11fffd['_polylines']['removeAll'](),_0x11fffd[_0x472549(0x108f,0x1653)]['removeAll']();function _0x2aaa6f(_0x1b2f39,_0x2b5673){return _0x4b905f(_0x1b2f39- -0x3e6,_0x2b5673);}_0x11fffd['_currentExtent']=null,_0x11fffd['_drawGrid'](_0x11fffd[_0x472549(-0xbe,0x749)]());}),this[_0x4b905f(_0x8ca54b._0xa92361,0x1364)]['imageryLayers']['addImageryProvider'](this),this['_ready']=!![];}get['url'](){return undefined;}get[_0x306755(0x3f8,0xae8)](){return undefined;}get['tileWidth'](){return this['_tileWidth'];}get['tileHeight'](){return this['_tileHeight'];}get[_0x2b6441(0x74,0x931)](){return 0x12;}get['minimumLevel'](){return 0x0;}get[_0x306755(0xc73,0xd51)](){return this['_tilingScheme'];}get['rectangle'](){const _0x37cf7d={_0x490b97:0x633};function _0x5e8fb7(_0x2d3310,_0x1c62f1){return _0x306755(_0x1c62f1,_0x2d3310- -_0x37cf7d._0x490b97);}return this[_0x5e8fb7(0x25c,0xa9f)]['rectangle'];}get['tileDiscardPolicy'](){return undefined;}get['errorEvent'](){function _0x2574b2(_0x2e9cc2,_0x42a5a7){return _0x306755(_0x2e9cc2,_0x42a5a7- -0x192);}return this[_0x2574b2(0xd5a,0x1020)];}get['ready'](){function _0x100148(_0x104a58,_0x2fd753){return _0x306755(_0x2fd753,_0x104a58-0xba);}return this[_0x100148(0x6ca,0x522)];}get[_0x2b6441(0xf81,0xf12)](){return this['_credit'];}get['hasAlphaChannel'](){return!![];}get['steps'](){return this['_steps'];}set[_0x306755(0xfbb,0x1261)](_0x458ce4){const _0x5f3d04={_0x3d6383:0xc71},_0x4e8dcd={_0x2261fd:0x5de},_0x2e980a={_0x2e55f5:0xc5e};this[_0x20a251(_0x5f3d04._0x3d6383,0x15a3)]=[],_0x458ce4['forEach'](_0x50547e=>{function _0x5a2548(_0x5323c4,_0x2633dc){return _0x20a251(_0x2633dc-0x55,_0x5323c4);}this['_steps']['push'](Cesium__namespace['Math'][_0x5a2548(0xebb,_0x2e980a._0x2e55f5)](_0x50547e));}),this['_polylines']['removeAll'](),this['_labels']['removeAll']();function _0x20a251(_0xb6fd63,_0x1ba688){return _0x2b6441(_0x1ba688,_0xb6fd63-_0x4e8dcd._0x2261fd);}this['_currentExtent']=null,this['_drawGrid'](this['_getExtentView']());}['makeLabel'](_0xed8d96,_0x285619,_0x588459,_0x12d748){const _0x5591fc={_0xe4b690:0x5c,_0x2184ac:0x6f6,_0x207f4e:0xcd,_0x4bf1b9:0xe32,_0x593a44:0x927,_0x5cdb67:0x4ea,_0xb701fe:0x14fa};function _0x403b79(_0x352716,_0x2f4923){return _0x306755(_0x2f4923,_0x352716- -0x41f);}const _0xf3996f=LabelStyleConver['toCesiumVal']({'style':Cesium__namespace[_0x403b79(0x13c1,0x163e)][_0x403b79(_0x5591fc._0xe4b690,-_0x5591fc._0x2184ac)],'fillColor':Cesium__namespace['Color']['AZURE'],'outlineColor':Cesium__namespace['Color']['BLACK'],'outlineWidth':0x2,'pixelOffset':_0x12d748?new Cesium__namespace[(_0x403b79(_0x5591fc._0x207f4e,0x12d))](0x5,0xf):new Cesium__namespace['Cartesian2'](0x5,-0x1e),'eyeOffset':Cesium__namespace['Cartesian3']['ZERO'],'horizontalOrigin':Cesium__namespace['HorizontalOrigin'][_0x403b79(0xa15,-0x2c)],'verticalOrigin':Cesium__namespace[_0x5035d0(_0x5591fc._0x4bf1b9,0x165b)][_0x403b79(0x28f,-0x1ff)],'scale':0x1,...this['options']['labelStyle']});_0xf3996f[_0x403b79(0xdd8,_0x5591fc._0x593a44)]=this[_0x403b79(0x7e,-0x24d)]['cartographicToCartesian'](new Cesium__namespace[(_0x403b79(_0x5591fc._0x5cdb67,0xc42))](_0xed8d96,_0x285619,0xa)),_0xf3996f[_0x403b79(0x14ee,_0x5591fc._0xb701fe)]=_0x588459;function _0x5035d0(_0x5b7217,_0x1e4ee4){return _0x2b6441(_0x5b7217,_0x1e4ee4-0x306);}this['_labels']['add'](_0xf3996f);}['_drawGrid'](_0x3f4a93){const _0x4e41bc={_0x59e746:0xffc,_0x50b5bc:0x1477,_0x5845fa:0x1856,_0xee388b:0x1d02,_0x3c3a0b:0x16f0,_0x2f0210:0x1e8d,_0xf72899:0x15ba,_0x4933a5:0x65c,_0x22517d:0xf7b,_0x461232:0x17e0,_0x511330:0x9e1,_0x2ef697:0x630,_0x5158e2:0x4eb,_0x479c3c:0xdf3,_0x13ce86:0x52a,_0x6962ce:0x1519,_0x2cc180:0xb5a,_0x4e5595:0x115,_0x5c73ee:0xb5a,_0x173e0e:0x13ee,_0x484f04:0x16c9,_0x19bba0:0xf0d,_0x1d18ea:0x1312,_0x506d34:0x1258,_0x8218bb:0xfa7,_0x1d340c:0x2039,_0x3f7001:0x192a,_0x1b192f:0xaef,_0xa1f74d:0xe23};if(this[_0x4ca64d(0x79f,_0x4e41bc._0x59e746)]&&this['_currentExtent'][_0x3d5261(0x10aa,_0x4e41bc._0x50b5bc)](_0x3f4a93))return;this['_currentExtent']=_0x3f4a93,this[_0x3d5261(_0x4e41bc._0x5845fa,_0x4e41bc._0xee388b)]['removeAll'](),this['_labels']['removeAll']();let _0x2199e4,_0x5dd49f=this['steps'][0x0];for(_0x2199e4=0x0;_0x2199e4<this[_0x3d5261(0x1356,0xf56)][_0x3d5261(_0x4e41bc._0x3c3a0b,_0x4e41bc._0x2f0210)]&&_0x5dd49f<_0x3f4a93['width']/0xa;_0x2199e4++){_0x5dd49f=this['steps'][_0x2199e4];}let _0xa43557=this[_0x4ca64d(_0x4e41bc._0xf72899,0x11c9)][0x0];for(_0x2199e4=0x0;_0x2199e4<this['steps'][_0x3d5261(0x16f0,0x17c3)]&&_0xa43557<_0x3f4a93['height']/0xa;_0x2199e4++){_0xa43557=this[_0x3d5261(0x1356,0x1058)][_0x2199e4];}let _0x73b6d0=(_0x3f4a93[_0x3d5261(0x196d,0xeba)]<0x0?Math[_0x3d5261(_0x4e41bc._0x4933a5,0x185)](_0x3f4a93['west']/_0x5dd49f):Math[_0x4ca64d(_0x4e41bc._0x22517d,0x17ba)](_0x3f4a93[_0x4ca64d(0x1207,_0x4e41bc._0x461232)]/_0x5dd49f))*_0x5dd49f,_0x1d3be6=(_0x3f4a93['south']<0x0?Math['ceil'](_0x3f4a93[_0x4ca64d(0xd96,0x993)]/_0xa43557):Math['floor'](_0x3f4a93['south']/_0xa43557))*_0xa43557,_0x3302ce=(_0x3f4a93[_0x3d5261(0x120d,_0x4e41bc._0x511330)]<0x0?Math[_0x4ca64d(0xf24,0x4cf)](_0x3f4a93['east']/_0xa43557):Math['floor'](_0x3f4a93['east']/_0xa43557))*_0xa43557,_0x5c2d49=(_0x3f4a93[_0x3d5261(0x9cb,0x2af)]<0x0?Math['ceil'](_0x3f4a93['north']/_0x5dd49f):Math['floor'](_0x3f4a93['north']/_0x5dd49f))*_0x5dd49f;_0x73b6d0=Math['max'](_0x73b6d0-0x2*_0x5dd49f,-Math['PI']),_0x3302ce=Math['min'](_0x3302ce+0x2*_0x5dd49f,Math['PI']),_0x1d3be6=Math['max'](_0x1d3be6-0x2*_0xa43557,-Math['PI']/0x2),_0x5c2d49=Math[_0x3d5261(0xf19,_0x4e41bc._0x2ef697)](_0x5c2d49+0x2*_0x5dd49f,Math['PI']/0x2);_0x73b6d0>_0x3302ce&&(_0x3302ce+=Math['PI']*0x2);function _0x3d5261(_0x2a6936,_0x4a9cca){return _0x2b6441(_0x4a9cca,_0x2a6936-0x696);}let _0x39f574,_0x3f4a98;const _0x9c13ad=Cesium__namespace['Math'][_0x3d5261(0xcc1,_0x4e41bc._0x5158e2)](0x1),_0x12146e={};_0x12146e['width']=0x1;function _0x4ca64d(_0x1819d7,_0x4c7346){return _0x306755(_0x1819d7,_0x4c7346- -0x98);}const _0x36414d=PolylineStyleConver[_0x4ca64d(0x60c,0xfb4)](this['options']['lineStyle']||{},_0x12146e),_0x5e65c4=_0x5dd49f*0.01,_0x538129=_0x1d3be6+Math['floor']((_0x5c2d49-_0x1d3be6)/_0xa43557/0x2)*_0xa43557;for(_0x3f4a98=_0x73b6d0;_0x3f4a98<_0x3302ce;_0x3f4a98+=_0x5dd49f){const _0x245e0d=[];for(_0x39f574=_0x1d3be6;_0x39f574<_0x5c2d49;_0x39f574+=_0x9c13ad){_0x245e0d['push'](this[_0x4ca64d(_0x4e41bc._0x479c3c,_0x4e41bc._0x13ce86)](_0x3f4a98,_0x39f574,_0x36414d[_0x4ca64d(_0x4e41bc._0x6962ce,_0x4e41bc._0x2cc180)]));}_0x245e0d['push'](this['_getCartesian3'](_0x3f4a98,_0x5c2d49,_0x36414d[_0x4ca64d(_0x4e41bc._0x4e5595,_0x4e41bc._0x5c73ee)]));const _0x19a9e0={..._0x36414d};_0x19a9e0['positions']=_0x245e0d,this[_0x4ca64d(_0x4e41bc._0x173e0e,_0x4e41bc._0x484f04)]['add'](_0x19a9e0);let _0x4ee096=Cesium__namespace['Math'][_0x3d5261(_0x4e41bc._0x19bba0,_0x4e41bc._0x1d18ea)](_0x3f4a98);_0x4ee096>0xb4&&(_0x4ee096=_0x4ee096-0x168),_0x4ee096!==-0xb4&&this[_0x3d5261(_0x4e41bc._0x506d34,_0x4e41bc._0x8218bb)](_0x3f4a98+_0x5e65c4,_0x538129,this['_sexagesimal']?this['_decToSex'](_0x4ee096):_0x4ee096[_0x4ca64d(_0x4e41bc._0x1d340c,_0x4e41bc._0x3f7001)](gridPrecision(_0x5dd49f)),![]);}const _0x246cf6=_0x73b6d0+Math['floor']((_0x3302ce-_0x73b6d0)/_0x5dd49f/0x2)*_0x5dd49f;for(_0x39f574=_0x1d3be6;_0x39f574<_0x5c2d49;_0x39f574+=_0xa43557){const _0x23829b=[];for(_0x3f4a98=_0x73b6d0;_0x3f4a98<_0x3302ce;_0x3f4a98+=_0x9c13ad){_0x23829b[_0x3d5261(0x78e,_0x4e41bc._0x1b192f)](this[_0x4ca64d(0xcd4,0x52a)](_0x3f4a98,_0x39f574,_0x36414d['height']));}_0x23829b['push'](this['_getCartesian3'](_0x3302ce,_0x39f574,_0x36414d['height']));const _0x51d5d={..._0x36414d};_0x51d5d['positions']=_0x23829b,this['_polylines'][_0x3d5261(_0x4e41bc._0xa1f74d,0xaad)](_0x51d5d);const _0x32a788=Cesium__namespace['Math']['toDegrees'](_0x39f574);this['makeLabel'](_0x246cf6,_0x39f574,this['_sexagesimal']?this['_decToSex'](_0x32a788):_0x32a788['toFixed'](gridPrecision(_0xa43557)),!![]);}}['requestImage'](_0x4f2949,_0x2a8199,_0x27850b){const _0x28b50d={_0x2f47d0:0xe8e,_0x51f719:0x746,_0x57456b:0x1d2},_0x2b2928={_0x20d802:0x2f7};return new Promise((_0x563d47,_0x2511cf)=>{function _0x8d6d17(_0x273f0c,_0x572592){return _0x5bbe(_0x273f0c- -0x73,_0x572592);}this[_0x3d5aa1(_0x28b50d._0x2f47d0,_0x28b50d._0x51f719)]&&this['_drawGrid'](this[_0x8d6d17(0x447,-_0x28b50d._0x57456b)]());function _0x3d5aa1(_0x46d8cf,_0xac53d4){return _0x5bbe(_0x46d8cf- -_0x2b2928._0x20d802,_0xac53d4);}_0x563d47(this['_canvas']);});}['_getCartesian3'](_0x4406e9,_0x48513a,_0x58afab=0xa){if(_0x58afab==='auto'){const _0x416d19=new Cesium__namespace['Cartographic'](_0x4406e9,_0x48513a,0x0);_0x58afab=this['_scene']['globe']['getHeight'](_0x416d19),_0x58afab<0x0&&(_0x58afab=0x0);}function _0x3862a9(_0x4ab6d0,_0x35374){return _0x2b6441(_0x35374,_0x4ab6d0-0xee);}return Cesium__namespace[_0x3862a9(0x56e,0xa0f)]['fromRadians'](_0x4406e9,_0x48513a,_0x58afab);}['setVisible'](_0x3a848c){const _0x4021a6={_0x1ab96f:0xfcf,_0x2b4f99:0xd6f},_0x597c4d={_0x238c20:0x475},_0xf84162={_0x2180fb:0x35b};function _0x448cda(_0x3a0310,_0x14313f){return _0x306755(_0x14313f,_0x3a0310- -_0xf84162._0x2180fb);}function _0x197dce(_0x32e15a,_0x580d8d){return _0x306755(_0x580d8d,_0x32e15a- -_0x597c4d._0x238c20);}this['_show']=_0x3a848c,!_0x3a848c?(this['_polylines']['removeAll'](),this[_0x448cda(0x12dc,_0x4021a6._0x1ab96f)]['removeAll']()):(this['_currentExtent']=null,this[_0x197dce(0x1079,_0x4021a6._0x2b4f99)](this['_getExtentView']()));}['isVisible'](){return this['_show'];}['_decToSex'](_0x4242cc){const _0x18567d={_0x5d4372:0x110f};let _0x1a8e0b=Math['floor'](_0x4242cc);function _0x3f476d(_0x52380a,_0x154ceb){return _0x306755(_0x52380a,_0x154ceb- -0x80);}function _0x25b1e9(_0x3f07c8,_0x5919dd){return _0x2b6441(_0x5919dd,_0x3f07c8-0x4f8);}let _0x3300c7=((Math['abs'](_0x4242cc)-_0x1a8e0b)*0x3c)[_0x25b1e9(0x1919,_0x18567d._0x5d4372)](0x2);return _0x3300c7==='60.00'&&(_0x1a8e0b+=0x1,_0x3300c7=_0x3f476d(0x25a,0xbdb)),[_0x1a8e0b,':',_0x3300c7][_0x3f476d(0xc4,0x777)]('');}['_getExtentView'](){const _0x209a6b={_0x4201f4:0xb19,_0x3fd7f9:0x92,_0x5a42c2:0xc02,_0x174890:0x115a,_0x29ee12:0x92,_0x51cecd:0x174,_0x4a17e7:0xd42,_0x30c385:0x7c,_0xe92d3f:0x92},_0x28a1d8={_0x5a4b03:0x72};function _0x10969d(_0x40194d,_0x20fcfa){return _0x2b6441(_0x40194d,_0x20fcfa-_0x28a1d8._0x5a4b03);}const _0x25352c=this['_scene'][_0x10969d(0x481,_0x209a6b._0x4201f4)],_0x3d870a=this['_scene']['canvas'];if(_0x25352c['positionCartographic']['height']>0x989680)return Cesium__namespace['Rectangle']['MAX_VALUE'];const _0x7c688a=[_0x25352c['pickEllipsoid'](new Cesium__namespace['Cartesian2'](0x0,0x0),this[_0x10969d(-0x785,-_0x209a6b._0x3fd7f9)]),_0x25352c[_0x10969d(_0x209a6b._0x5a42c2,_0x209a6b._0x174890)](new Cesium__namespace['Cartesian2'](_0x3d870a['width'],0x0),this[_0x10969d(0x26,-_0x209a6b._0x29ee12)]),_0x25352c['pickEllipsoid'](new Cesium__namespace['Cartesian2'](0x0,_0x3d870a[_0x10969d(-_0x209a6b._0x51cecd,0x6c3)]),this['_ellipsoid']),_0x25352c['pickEllipsoid'](new Cesium__namespace['Cartesian2'](_0x3d870a[_0x4e58ef(_0x209a6b._0x4a17e7,0xca6)],_0x3d870a['height']),this[_0x10969d(-_0x209a6b._0x30c385,-_0x209a6b._0xe92d3f)])];for(let _0x1e5bf2=0x0;_0x1e5bf2<0x4;_0x1e5bf2++){if(_0x7c688a[_0x1e5bf2]===undefined)return Cesium__namespace['Rectangle'][_0x10969d(-0x95,0x5bc)];}function _0x4e58ef(_0x24376e,_0x3ec258){return _0x306755(_0x3ec258,_0x24376e-0x157);}return Cesium__namespace['Rectangle']['fromCartographicArray'](this['_ellipsoid']['cartesianArrayToCartographicArray'](_0x7c688a));}}function gridPrecision(_0xd6ef2e){if(_0xd6ef2e<0.01)return 0x2;if(_0xd6ef2e<0.1)return 0x1;if(_0xd6ef2e<0x1)return 0x0;return 0x0;}class GraticuleLayer extends BaseLayer{get[_0x306755(0x1042,0x9ca)](){return this['_graticuleProvider'];}get[_0x2b6441(0xf0e,0xcc0)](){const _0x436a8a={_0x57b51d:0x1337},_0x1b6aad={_0x3966b8:0xd6};function _0x56b099(_0x2c55d1,_0x5abc4f){return _0x306755(_0x5abc4f,_0x2c55d1-_0x1b6aad._0x3966b8);}var _0x83b163;return(_0x83b163=this['_graticuleProvider'])===null||_0x83b163===void 0x0?void 0x0:_0x83b163[_0x56b099(_0x436a8a._0x57b51d,0x1a21)];}set[_0x2b6441(0x575,0xcc0)](_0x102094){const _0xed3c47={_0x27b7e3:0xea0};function _0x3abe4e(_0x3d197d,_0x854d9a){return _0x306755(_0x854d9a,_0x3d197d- -0x3c1);}this['_graticuleProvider'][_0x3abe4e(_0xed3c47._0x27b7e3,0x1183)]=_0x102094;}[_0x2b6441(0x942,0xa2)](_0x58defc){const _0x84e780={_0x597365:0x146d,_0x3178a5:0x1987};function _0x4755c2(_0x33474a,_0xf74860){return _0x2b6441(_0xf74860,_0x33474a- -0xa9);}function _0x1dcf25(_0x44a2f8,_0x3e2259){return _0x2b6441(_0x3e2259,_0x44a2f8-0x51e);}this[_0x1dcf25(0x1987,_0x84e780._0x597365)]&&this[_0x1dcf25(_0x84e780._0x3178a5,0x143f)]['setVisible'](_0x58defc);}['_setOptionsHook'](_0x36648f,_0x1bd721){_0x1bd721['steps']&&(this['_graticuleProvider']['steps']=_0x1bd721['steps']);}[_0x306755(0xfee,0x130c)](){function _0x1e95cc(_0x6d1ff4,_0x1462a8){return _0x306755(_0x6d1ff4,_0x1462a8-0x15);}this['_graticuleProvider']=new GraticuleProvider({'scene':this['_map']['scene'],...this[_0x1e95cc(0xa29,0xc72)]});}[_0x306755(0x10ea,0x99e)](){const _0x1d379e={_0x558407:0x8e1,_0x30e918:0xedb};function _0x3f146c(_0x3b1704,_0x1ac39d){return _0x2b6441(_0x3b1704,_0x1ac39d-0x58);}this['_graticuleProvider'][_0x3f146c(_0x1d379e._0x558407,_0x1d379e._0x30e918)](this['show']);}['_removedHook'](){const _0x42ac16={_0x4808c9:0x1c3e};function _0x3a937b(_0x3e258b,_0x117513){return _0x2b6441(_0x3e258b,_0x117513-0x44c);}function _0x239738(_0x4f221f,_0x3e1f31){return _0x306755(_0x4f221f,_0x3e1f31- -0x5f);}this[_0x239738(0x1367,0x19ab)][_0x239738(_0x42ac16._0x4808c9,0x13c5)](![]);}}register$3(_0x2b6441(0x1354,0xf34),GraticuleLayer);class LodGraphicLayer extends GraphicLayer{constructor(_0x5cb50c={}){const _0x2b3857={_0x322c2e:0xd81,_0x57e0c2:0x10f4,_0x259504:0x997,_0x2a69df:0x25b,_0x5cfac8:0xd26,_0x3ae7eb:0x1024,_0x1da2fe:0x6ff},_0x494fdb={_0x51e29c:0x124},_0x3eddb9={_0x40d409:0x1419,_0x3a7f5d:0x1eb1,_0x1c5850:0x71d},_0x143935={_0x3c0a41:0x253};super(_0x5cb50c);function _0x27debc(_0x1f600c,_0x4d343e){return _0x2b6441(_0x1f600c,_0x4d343e-_0x143935._0x3c0a41);}!isMars3DCesium&&logError(_0x27debc(0x158c,0xbcb),this);this[_0x27debc(0xe49,0x90f)]['IdField']=this[_0x4eccfd(_0x2b3857._0x322c2e,_0x2b3857._0x57e0c2)]['IdField']||'id';this[_0x27debc(_0x2b3857._0x259504,0x90f)]['debuggerTileInfo']&&this['bindPopup'](function(_0x203444){const _0x58c054={_0x33286f:0x18c},_0x5e049b={_0x2252e8:0x46c};function _0x2caa05(_0x518c4a,_0x1bfec5){return _0x27debc(_0x518c4a,_0x1bfec5-_0x5e049b._0x2252e8);}var _0x2eeff8;const _0x49a8db=(_0x203444===null||_0x203444===void 0x0||(_0x2eeff8=_0x203444[_0x4a09d0(_0x3eddb9._0x40d409,_0x3eddb9._0x3a7f5d)])===null||_0x2eeff8===void 0x0?void 0x0:_0x2eeff8['gridList'])||[];function _0x4a09d0(_0x56095c,_0x8e2686){return _0x27debc(_0x8e2686,_0x56095c- -_0x58c054._0x33286f);}return _0x49a8db[_0x4a09d0(0x31d,-_0x3eddb9._0x1c5850)]('<br/>');});this['_cacheGrid']={};function _0x4eccfd(_0x37b015,_0xd3cdba){return _0x306755(_0xd3cdba,_0x37b015-_0x494fdb._0x51e29c);}this[_0x27debc(-0x539,_0x2b3857._0x2a69df)]={},this[_0x27debc(_0x2b3857._0x5cfac8,_0x2b3857._0x3ae7eb)]=this['options']['maxCacheCount']??0x3e8,this['_cache_data']={},this[_0x27debc(0x169,_0x2b3857._0x1da2fe)]={};}get[_0x2b6441(0xd73,0xf93)](){const _0x2c3029={_0x48aadc:0x107c,_0x65f6af:0x849,_0x50cfe0:0x109a},_0x51f692={_0x481047:0x6db},_0x47a6bd={_0x2094cf:0x320};for(const _0x5c76c7 in this[_0x2ca7c2(_0x2c3029._0x48aadc,0x665)]){const _0x20a219=this['_cacheGrid'][_0x5c76c7];if(!_0x20a219||!_0x20a219[_0x3a7b31(_0x2c3029._0x65f6af,_0x2c3029._0x50cfe0)])continue;if(_0x20a219['isLoading'])return!![];}function _0x2ca7c2(_0x287811,_0x478478){return _0x306755(_0x287811,_0x478478- -_0x47a6bd._0x2094cf);}function _0x3a7b31(_0x40e3c1,_0x191621){return _0x2b6441(_0x191621,_0x40e3c1-_0x51f692._0x481047);}return![];}['_showHook'](_0x2f021c){const _0x4bf262={_0x41e69b:0x1427};function _0x3ddfd5(_0x117450,_0x21d516){return _0x306755(_0x117450,_0x21d516- -0x16c);}super['_showHook'](_0x2f021c);function _0x25af68(_0x34de61,_0x599b6c){return _0x2b6441(_0x34de61,_0x599b6c-0x2bb);}this['_tileLayer']&&(this[_0x3ddfd5(0x1a0e,0x1064)][_0x3ddfd5(0x13ea,_0x4bf262._0x41e69b)]=_0x2f021c);}['_mountedHook'](){const _0x1e04f9={_0x5550fe:0xf6e,_0x56e0b3:0x196c,_0x22f8d4:0x526};super[_0x28b809(_0x1e04f9._0x5550fe,_0x1e04f9._0x56e0b3)]();function _0x2fdaf6(_0x571b20,_0x1f02d7){return _0x2b6441(_0x571b20,_0x1f02d7-0x2a);}const _0x2b42d5={...this['options']};_0x2b42d5['private']=!![];function _0x28b809(_0x3e89fb,_0x4ffa94){return _0x306755(_0x4ffa94,_0x3e89fb- -0x39e);}const _0x6caafe=_0x2b42d5;delete _0x6caafe['id'],delete _0x6caafe[_0x2fdaf6(_0x1e04f9._0x22f8d4,0x31c)],delete _0x6caafe['url'],delete _0x6caafe[_0x2fdaf6(0xec9,0x10ec)],this['_tileLayer']=new EmptyTileLayer(_0x6caafe);}['_addedHook'](){const _0x48dfcd={_0x3f1a50:0x920,_0x489b44:0x8aa,_0x3fcab6:0xca2,_0xefc615:0xd8b,_0x2b9301:0x180c},_0x2a18c4={_0x19346e:0xcee},_0x13a046={_0x12f818:0x7c};function _0x5a042e(_0x4606ea,_0x12fa41){return _0x2b6441(_0x12fa41,_0x4606ea-_0x13a046._0x12f818);}super[_0x148c4e(-0x33,_0x48dfcd._0x3f1a50)](),this['_tileLayer']['on'](EventType['addTile'],this[_0x148c4e(_0x48dfcd._0x489b44,0x9fb)],this),this['_tileLayer']['on'](EventType[_0x5a042e(0xe1d,_0x48dfcd._0x3fcab6)],this[_0x148c4e(0x31b,0x7f1)],this);function _0x148c4e(_0x48226e,_0x4fb3ae){return _0x306755(_0x48226e,_0x4fb3ae- -0x7e);}this[_0x148c4e(0x5a3,0xfbc)]['resolve'](this),this['fire'](EventType[_0x148c4e(_0x48dfcd._0xefc615,_0x48dfcd._0x2b9301)],{},!![]),this['_map']['readyPromise']['then'](()=>{var _0x3cf276;function _0x23ec57(_0x2c1df1,_0x15fda){return _0x148c4e(_0x2c1df1,_0x15fda- -0x5b);}this['isAdded']&&!((_0x3cf276=this['_tileLayer'])!==null&&_0x3cf276!==void 0x0&&_0x3cf276[_0x23ec57(_0x2a18c4._0x19346e,0xa88)])&&this['_map']['addLayer'](this['_tileLayer']);});}['_removedHook'](){const _0x3425a7={_0x3e30ec:0x675,_0x2cbb19:0x1f9};super['_removedHook'](),this['_tileLayer'][_0x565635(0xa65,_0x3425a7._0x3e30ec)](EventType[_0x2419c0(0x7f4,0x11e0)],this['_tileLayer_addTileHandler'],this),this['_tileLayer'][_0x2419c0(0x96b,0x112c)](EventType['removeTile'],this[_0x2419c0(0x86e,-_0x3425a7._0x2cbb19)],this);function _0x565635(_0x82e3d,_0x5e38a1){return _0x306755(_0x5e38a1,_0x82e3d-0xf9);}function _0x2419c0(_0x3319d2,_0x1baafe){return _0x306755(_0x1baafe,_0x3319d2- -0x1);}this['_map']['removeLayer'](this[_0x2419c0(0x11cf,0xbe8)]),this[_0x565635(0x935,0xb2e)]();}[_0x306755(0x4c6,0x5b4)](_0x26e73d){const _0x30e360={_0x146d8e:0x128f},_0x24542a={_0x404dbc:0x114};function _0x45d275(_0x2dd186,_0x28ca77){return _0x2b6441(_0x2dd186,_0x28ca77-_0x24542a._0x404dbc);}return _0x26e73d[_0x45d275(0x1c77,_0x30e360._0x146d8e)]+'_x'+_0x26e73d['x']+'_y'+_0x26e73d['y'];}[_0x2b6441(0xf75,0x5cd)](_0x254323){const _0x5158c0={_0x112673:0x17f};if(!this[_0x451e97(0x1171,0x129c)]||!this['_cacheGrid'][_0x254323])return!![];function _0x451e97(_0x5ca2bf,_0x193016){return _0x2b6441(_0x193016,_0x5ca2bf-_0x5158c0._0x112673);}return![];}['_tileLayer_addTileHandler'](_0x2554f7){const _0x3b80bb={_0x293dfa:0x1843,_0x459609:0x1f4a,_0x322a3b:0xb24,_0xeec876:0xd16},_0x1c267e={_0x50ab86:0x71e,_0x4e3e66:0xf57};if(!this['_tileLayer'][_0x178bad(_0x3b80bb._0x293dfa,_0x3b80bb._0x459609)](_0x2554f7['level']))return;const _0x34b99e=this['getGridKey'](_0x2554f7);function _0x43c614(_0x225ab9,_0x16016a){return _0x306755(_0x225ab9,_0x16016a- -0xaa);}_0x2554f7[_0x43c614(0x14e0,0x11ef)]=_0x34b99e;if(this['_cache_ndata_keys'][_0x34b99e])return;const _0x17e7c4={};function _0x178bad(_0x266165,_0x40ac31){return _0x306755(_0x40ac31,_0x266165-0xff);}_0x17e7c4['grid']=_0x2554f7,_0x17e7c4['isLoading']=!![],this['_cacheGrid'][_0x34b99e]=_0x17e7c4,this['_maxCacheCount']>0x0&&this['_cache_data'][_0x34b99e]?this[_0x43c614(_0x3b80bb._0x322a3b,_0x3b80bb._0xeec876)](this['_cache_data'][_0x34b99e]):this['queryGridData'](_0x2554f7)['then'](_0x1c3eec=>{function _0x20bb0d(_0x22bcdd,_0x22b9a0){return _0x43c614(_0x22bcdd,_0x22b9a0- -0x592);}this[_0x20bb0d(_0x1c267e._0x50ab86,_0x1c267e._0x4e3e66)]&&this['_showData'](_0x1c3eec);});}['_getItemDataId'](_0x2985ac){const _0x3fabff={_0x515e62:0x11e};if(_0x2985ac['id'])return _0x2985ac['id'];_0x2985ac[_0x1d3b65(0x11e4,0x1bc2)]==='Feature'&&(_0x2985ac=_0x2985ac['properties']);function _0x1d3b65(_0x47fa4f,_0x4034c7){return _0x2b6441(_0x4034c7,_0x47fa4f-0x122);}if(_0x2985ac[this['options'][_0x1d3b65(0x37f,0xe0d)]])return _0x2985ac[this['options'][_0x1d3b65(0x37f,_0x3fabff._0x515e62)]];function _0x54ccae(_0x10ebf0,_0x31634f){return _0x306755(_0x31634f,_0x10ebf0- -0x92);}return null;}['_showData'](_0xfab6f0){const _0x5d59d5={_0x1a9c53:0xe38,_0x28e277:0x9b,_0x8ee4f8:0xab2,_0x3a9edf:0x1a1f,_0xba5046:0x153f,_0x116209:0x1e37,_0x9fdd73:0x14c4,_0x45a719:0x48f,_0x13b773:0x5dd,_0x142629:0x37b},_0x33bb2b=_0xfab6f0['list'],_0x45ecca=_0xfab6f0['key'];if(_0x33bb2b['length']===0x0)this['_cache_ndata_keys'][_0x45ecca]=!![];else this['_maxCacheCount']>0x0&&(this['_cache_data'][_0x45ecca]=_0xfab6f0,Object[_0x3d3967(0x129a,0x102b)](this['_cache_data'])['length']>this[_0x31cf76(0x786,_0x5d59d5._0x1a9c53)]&&(this[_0x31cf76(-0x686,-_0x5d59d5._0x28e277)]={}));if(this[_0x3d3967(0x4d8,_0x5d59d5._0x8ee4f8)][_0x45ecca])return;const _0x456a79=[],_0x360bc4=[];for(let _0xfe59fb=0x0,_0x49fc94=_0x33bb2b[_0x3d3967(_0x5d59d5._0x3a9edf,_0x5d59d5._0xba5046)];_0xfe59fb<_0x49fc94;_0xfe59fb++){const _0x4005d8=_0x33bb2b[_0xfe59fb],_0x591f2c=this['_getItemDataId'](_0x4005d8);!_0x591f2c&&logWarn('LodGraphicLayer:\x20数据的ID识别失败',_0x4005d8);const _0x4eea04=this['_cacheGraphic'][_0x591f2c];if(_0x4eea04)_0x4eea04['gridList']['push'](_0x45ecca),this['updateGraphic'](_0x4eea04,_0x4005d8);else{const _0x5a2a24=this[_0x3d3967(_0x5d59d5._0x116209,_0x5d59d5._0x9fdd73)](_0xfab6f0,_0x4005d8);if(!_0x5a2a24)continue;_0x5a2a24['gridList']=[_0x45ecca],this['_cacheGraphic'][_0x591f2c]=_0x5a2a24,_0x360bc4[_0x3d3967(-_0x5d59d5._0x45a719,_0x5d59d5._0x13b773)](_0x5a2a24);}_0x456a79['push'](_0x591f2c);}this[_0x3d3967(0xcf7,0x8c9)][_0x45ecca]=this['_cacheGrid'][_0x45ecca]||{};function _0x31cf76(_0x4a193d,_0x107bcf){return _0x2b6441(_0x4a193d,_0x107bcf-0x67);}function _0x3d3967(_0xc2851d,_0x596cd3){return _0x306755(_0xc2851d,_0x596cd3- -0xbc);}this['_cacheGrid'][_0x45ecca]['ids']=_0x456a79,this['_cacheGrid'][_0x45ecca]['isLoading']=![];if(_0x456a79[_0x3d3967(0xa7c,_0x5d59d5._0xba5046)]>0x0){const _0x346a7b={};_0x346a7b[_0x3d3967(-_0x5d59d5._0x142629,0x5e2)]=_0x456a79,_0x346a7b['graphics']=_0x360bc4,this['fire'](EventType['update'],_0x346a7b);}}[_0x2b6441(0x690,0x2ce)](_0x144caf){const _0x1ffa91={_0x3892ea:0x18,_0xa5cd08:0x254,_0x17e693:0x5d5,_0x357276:0x254,_0xbb5139:0x126d,_0x4161c1:0xda,_0xd12561:0xc15},_0x4b951e={_0x3ce178:0xe6};function _0x1225b0(_0x32a536,_0x1a5abf){return _0x306755(_0x1a5abf,_0x32a536- -0x20a);}if(this['_tileLayer']['isAllOutRange'](_0x144caf['level'])){this['clear']();return;}const _0x4e3dca=this['getGridKey'](_0x144caf),_0x41c658=this[_0x1225b0(0x77b,_0x1ffa91._0x3892ea)][_0x4e3dca];function _0x5d3664(_0x19423c,_0x5490b9){return _0x2b6441(_0x19423c,_0x5490b9-_0x4b951e._0x3ce178);}if(_0x41c658){var _0x259bc4;(_0x259bc4=_0x41c658[_0x5d3664(0xcbe,_0x1ffa91._0xa5cd08)])!==null&&_0x259bc4!==void 0x0&&_0x259bc4[_0x1225b0(0x169d,0x1c26)]&&(_0x41c658[_0x5d3664(-_0x1ffa91._0x17e693,_0x1ffa91._0x357276)][_0x5d3664(_0x1ffa91._0xbb5139,0x13ec)]['cancelRequest'](),delete _0x41c658['grid']['_resource']);if(_0x41c658[_0x1225b0(0x494,-0x1bc)])for(let _0x47d28d=0x0;_0x47d28d<_0x41c658['ids'][_0x1225b0(0x13f1,0x12a6)];_0x47d28d++){const _0x53d03=_0x41c658[_0x5d3664(_0x1ffa91._0x4161c1,0x1e3)][_0x47d28d],_0x152e97=this['_cacheGraphic'][_0x53d03];if(!_0x152e97)continue;removeArrayItem(_0x152e97['gridList'],_0x4e3dca),_0x152e97[_0x5d3664(_0x1ffa91._0xd12561,0xde4)]['length']===0x0&&(this['removeGraphic'](_0x152e97),delete this[_0x5d3664(-0x87,0xee)][_0x53d03]);}delete this[_0x1225b0(0x77b,0xde8)][_0x4e3dca];}}['queryGridData'](_0x55a977){const _0x4bfb49={_0x122450:0xcc2,_0x333fd7:0x6d1,_0x2f5272:0x1180};function _0x1d1865(_0x12bbfb,_0x5eb422){return _0x2b6441(_0x12bbfb,_0x5eb422-0xbe);}function _0x1b9e6e(_0x3554d6,_0x19f0e9){return _0x2b6441(_0x3554d6,_0x19f0e9-0x1a3);}if(this['options'][_0x1b9e6e(_0x4bfb49._0x122450,0x1180)])return this[_0x1d1865(-0x195,0x77a)][_0x1b9e6e(_0x4bfb49._0x333fd7,_0x4bfb49._0x2f5272)](_0x55a977);}['createGraphic'](_0x344987,_0x5ce768){const _0x2012b3={_0xfd753f:0x1385,_0x1cc307:0x197e},_0x396417={_0x52176d:0x65f};function _0x112f3d(_0x1b6ecc,_0x23adaa){return _0x2b6441(_0x23adaa,_0x1b6ecc-_0x396417._0x52176d);}function _0x39ae57(_0x54cd12,_0x557293){return _0x2b6441(_0x54cd12,_0x557293-0x48f);}if(this[_0x39ae57(_0x2012b3._0xfd753f,0xb4b)][_0x112f3d(0x163e,_0x2012b3._0x1cc307)])return this['options']['createGraphic'](_0x344987,_0x5ce768);return null;}['updateGraphic'](_0x11f86b,_0xa845ac){const _0x4a56ba={_0x525916:0x386};function _0xa38806(_0x127919,_0x5679f4){return _0x306755(_0x127919,_0x5679f4- -0x4d3);}function _0x3b20cf(_0x58bc59,_0x1b2054){return _0x2b6441(_0x1b2054,_0x58bc59-0x10);}this['options'][_0xa38806(0x480,_0x4a56ba._0x525916)]&&this['options'][_0xa38806(0x8c5,0x386)](_0x11f86b,_0xa845ac);}[_0x306755(-0x26b,0x83c)](_0x35a8b5){const _0x5ea62a={_0x512e43:0x99a,_0x38b966:0x26e,_0x28fc41:0x403,_0x2f7bd0:0x403,_0x3773d5:0x195e,_0x3725e5:0xeba,_0x49a83b:0xad0,_0x158063:0x54f,_0x10bc4f:0xa62},_0x384aeb={_0x267187:0x5b6},_0x1a93c3={_0x2ab1a9:0x30c};function _0x279314(_0x4fc9b8,_0x225f0b){return _0x306755(_0x4fc9b8,_0x225f0b- -_0x1a93c3._0x2ab1a9);}super['clear'](_0x35a8b5),this['_cacheGraphic']={};for(const _0x43da9c in this[_0x46a038(0x30e,_0x5ea62a._0x512e43)]){var _0x39e750;const _0x42363f=this['_cacheGrid'][_0x43da9c];(_0x39e750=_0x42363f[_0x279314(-_0x5ea62a._0x38b966,_0x5ea62a._0x28fc41)])!==null&&_0x39e750!==void 0x0&&_0x39e750['_resource']&&_0x42363f[_0x279314(0x40f,_0x5ea62a._0x2f7bd0)]['_resource'][_0x279314(_0x5ea62a._0x3773d5,_0x5ea62a._0x3725e5)]();}this['_cacheGrid']={};function _0x46a038(_0x20a7ff,_0x410edc){return _0x2b6441(_0x20a7ff,_0x410edc-_0x384aeb._0x267187);}this[_0x279314(_0x5ea62a._0x49a83b,0x193)]={},this[_0x46a038(_0x5ea62a._0x158063,_0x5ea62a._0x10bc4f)]={};}['reload'](){const _0xb5dbd3={_0x2b8202:0x3dd};function _0x39dffa(_0x420842,_0x3d2d93){return _0x2b6441(_0x3d2d93,_0x420842-_0xb5dbd3._0x2b8202);}this['clear'](!![]),this['_tileLayer']&&this['_tileLayer'][_0x39dffa(0x183c,0x2262)]();}[_0x306755(0x20a5,0x18d1)](_0x16cc2c,_0x4dc24b){const _0x52020={_0x213818:0x133c,_0x59279c:0x149b,_0x49efee:0x11a5,_0x4a6fca:0x432,_0x37add2:0x45d,_0x1f5c76:0x147,_0x110198:0xd9a};super[_0x597e6d(_0x52020._0x213818,_0x52020._0x59279c)](_0x16cc2c,_0x4dc24b);function _0x597e6d(_0x18ae67,_0x1a139e){return _0x2b6441(_0x18ae67,_0x1a139e-0x16b);}function _0x2a836e(_0x34ecf3,_0x40c3e7){return _0x2b6441(_0x34ecf3,_0x40c3e7-0x6a);}this['clear'](!![]);if(this['_tileLayer']){const _0x2f6d8a={..._0x4dc24b};_0x2f6d8a[_0x2a836e(_0x52020._0x49efee,0x10ad)]=!![];const _0x4fc80c=_0x2f6d8a;delete _0x4fc80c['id'],delete _0x4fc80c[_0x597e6d(-_0x52020._0x4a6fca,_0x52020._0x37add2)],delete _0x4fc80c[_0x597e6d(_0x52020._0x1f5c76,0x789)],delete _0x4fc80c['type'],this[_0x597e6d(0x5a7,_0x52020._0x110198)]['setOptions'](_0x4fc80c);}}['_toJsonEx'](_0x180a57){}}register$3('lodGraphic',LodGraphicLayer);class GeodePoiLayer extends LodGraphicLayer{constructor(_0x27b41b={}){const _0xbea32b={_0xb8d5de:0x15cb,_0x3d2b76:0x328,_0x371594:0xcde,_0x49f00f:0xdb4},_0x3dd6c5={_0x5a7fb6:0x1138,_0x5036bb:0xa04,_0x118073:0x67d,_0x2a7185:0x12a6,_0x26ac5a:0x1302,_0x571cb5:0x1474},_0x435138={_0x4eb1c3:0x95},_0x53c62a={_0x79c6ce:0x34a};super(_0x27b41b),this['_key_index']=0x0;function _0x1eb6bb(_0x296205,_0x3da356){return _0x2b6441(_0x296205,_0x3da356-_0x53c62a._0x79c6ce);}_0x27b41b[_0x1372f1(0xd8d,_0xbea32b._0xb8d5de)]?this['_keys']=Array[_0x1372f1(_0xbea32b._0x3d2b76,_0xbea32b._0x371594)](_0x27b41b['key'])?_0x27b41b['key']:[_0x27b41b['key']]:this[_0x1eb6bb(_0xbea32b._0x49f00f,0x825)]=gaodeArr;function _0x1372f1(_0x262c92,_0xae37f1){return _0x2b6441(_0xae37f1,_0x262c92-_0x435138._0x4eb1c3);}const _0x41285e={};_0x41285e[_0x1eb6bb(0xdd7,0x12c7)]=-0xa,this['bindPopup'](function(_0x39eb2a){var _0x5312c6;function _0x4154ba(_0x375709,_0x32dc80){return _0x1eb6bb(_0x32dc80,_0x375709-0x68);}const _0x2a4cc4=_0x39eb2a===null||_0x39eb2a===void 0x0||(_0x5312c6=_0x39eb2a[_0x40e2c1(_0x3dd6c5._0x5a7fb6,0x19ef)])===null||_0x5312c6===void 0x0?void 0x0:_0x5312c6[_0x40e2c1(0x567,0xdf8)];function _0x40e2c1(_0x3c88b2,_0x172305){return _0x1eb6bb(_0x3c88b2,_0x172305-0x353);}if(!_0x2a4cc4)return;const _0x457b5d='<div>名称:'+_0x2a4cc4['name']+'</div>'+'<div>地址:'+_0x2a4cc4['address']+'</div>'+_0x4154ba(_0x3dd6c5._0x5036bb,_0x3dd6c5._0x118073)+_0x2a4cc4[_0x4154ba(_0x3dd6c5._0x2a7185,0x176d)]+_0x2a4cc4[_0x40e2c1(0x1410,_0x3dd6c5._0x26ac5a)]+_0x2a4cc4['adname']+'</div>'+'<div>类别:'+_0x2a4cc4[_0x4154ba(_0x3dd6c5._0x571cb5,0xcde)]+'</div>';return _0x457b5d;},_0x41285e);}get['key'](){const _0x278fe1={_0x40170a:0x1d2},_0x1d2809={_0x33b64e:0x453},_0x477c90=this[_0x314457(0xb70,_0x278fe1._0x40170a)]++%this['_keys']['length'];function _0x314457(_0x308808,_0x109e20){return _0x306755(_0x308808,_0x109e20- -_0x1d2809._0x33b64e);}return this['_keys'][_0x477c90];}[_0x306755(0x120d,0x157e)](_0x241b8b){const _0x2be7e6={_0x24a4a:0x8ec,_0x503151:0x319,_0x192319:0x680,_0x27ed6f:0x9ff,_0x5329aa:0x1256},_0x19f5c9={_0x15accc:0x178b,_0xddda15:0xf07},_0x428d7={_0x1f2f2e:0x401},_0x928fd5=wgs2gcj([_0x241b8b['extent']['xmin'],_0x241b8b['extent'][_0x4344b4(0x80b,0x6a3)]]);function _0x4344b4(_0x382266,_0x2726b1){return _0x2b6441(_0x2726b1,_0x382266-0x230);}const _0x23b956=wgs2gcj([_0x241b8b['extent']['xmax'],_0x241b8b['extent']['ymin']]);function _0x56fea2(_0x1ae9d,_0x33caec){return _0x2b6441(_0x33caec,_0x1ae9d-_0x428d7._0x1f2f2e);}const _0x5cfab0=_0x928fd5[0x0]+','+_0x928fd5[0x1]+'|'+_0x23b956[0x0]+','+_0x23b956[0x1],_0x4d5c7d=this[_0x4344b4(_0x2be7e6._0x24a4a,0x6a5)]['filter']||{};return _0x4d5c7d[_0x4344b4(_0x2be7e6._0x503151,-_0x2be7e6._0x192319)]='json',_0x4d5c7d['key']=this['key'],_0x4d5c7d[_0x4344b4(0xbb7,_0x2be7e6._0x27ed6f)]=_0x5cfab0,!_0x4d5c7d[_0x56fea2(0x125d,_0x2be7e6._0x5329aa)]&&(_0x4d5c7d['offset']=0x19),!_0x4d5c7d['types']&&(_0x4d5c7d['types']='120000|130000|190000'),new Promise((_0x42e8f3,_0x411e37)=>{const _0x5ea751={'url':'https://restapi.amap.com/v3/place/polygon',...this['options']};function _0x5ec2c9(_0x50cc48,_0x3ba3a9){return _0x56fea2(_0x3ba3a9- -0x25c,_0x50cc48);}_0x5ea751['queryParameters']=_0x4d5c7d,_0x5ea751['proxy']=this['_proxy'],fetchJson(_0x5ea751)[_0x5ec2c9(_0x19f5c9._0x15accc,_0x19f5c9._0xddda15)](_0x1f6bd5=>{if(_0x1f6bd5[_0x73e7ef(0x12d4,0xa73)]!=='10000'){logError(_0x73e7ef(0x12c2,0x84c),_0x1f6bd5),_0x241b8b['list']=[],_0x42e8f3(_0x241b8b);return;}function _0x56cb6b(_0x4f0617,_0x221c21){return _0x5ec2c9(_0x221c21,_0x4f0617-0x279);}_0x241b8b['list']=_0x1f6bd5['pois'];function _0x73e7ef(_0x15960d,_0x26ba32){return _0x5ec2c9(_0x15960d,_0x26ba32- -0x196);}_0x42e8f3(_0x241b8b);});});}['createGraphic'](_0x44afa9,_0x165f7e){const _0x382be6={_0x5a55f0:0x6eb,_0x3c5048:0xadd,_0x1e8cca:0x1150,_0x5f32c6:0x1077,_0xa2be2a:0x5b2,_0xf90dbf:0xd1d,_0xeca430:0x1451,_0x5a26b6:0xadd,_0x418ea7:0x793,_0x28dc1d:0x822,_0x5e19a7:0x10e8,_0x361172:0xff3,_0x4c6bdd:0xb7c,_0x5068d7:0xd1b};function _0x108b7e(_0x37f845,_0x2bd8c5){return _0x306755(_0x2bd8c5,_0x37f845- -0x180);}var _0x53cba3;let _0x13098a=_0x165f7e['location'][_0x108b7e(0x1647,0xf84)](',');_0x13098a=gcj2wgs(_0x13098a);const _0x4caf31=getSymbolStyle(this[_0x108b7e(0xadd,0x175)][_0x1fbd27(_0x382be6._0x5a55f0,0xd1c)],_0x165f7e);_0x4caf31['clampToGround']=_0x4caf31['clampToGround']??!![];let _0x3678e9;function _0x1fbd27(_0x315bfe,_0x2a717a){return _0x306755(_0x2a717a,_0x315bfe- -0x4da);}if((_0x53cba3=this[_0x108b7e(_0x382be6._0x3c5048,0x125f)][_0x1fbd27(0x12c0,0xb7d)])!==null&&_0x53cba3!==void 0x0&&_0x53cba3[_0x108b7e(_0x382be6._0x1e8cca,0xf3a)]){if(_0x4caf31['image']){const _0x2e9382={};_0x2e9382[_0x108b7e(_0x382be6._0x5f32c6,0xa03)]=[_0x13098a[0x0],_0x13098a[0x1],this['options'][_0x108b7e(0xa72,_0x382be6._0xa2be2a)]||0x0],_0x2e9382['style']=_0x4caf31,_0x2e9382['attr']=_0x165f7e,_0x3678e9=new BillboardEntity(_0x2e9382);}else{const _0x174f36={};_0x174f36[_0x1fbd27(_0x382be6._0xf90dbf,_0x382be6._0xeca430)]=[_0x13098a[0x0],_0x13098a[0x1],this[_0x108b7e(_0x382be6._0x5a26b6,_0x382be6._0x418ea7)]['height']||0x0],_0x174f36['style']=_0x4caf31,_0x174f36[_0x1fbd27(_0x382be6._0x28dc1d,_0x382be6._0x5e19a7)]=_0x165f7e,_0x3678e9=new PointEntity(_0x174f36);}}else{if(_0x4caf31[_0x1fbd27(0x1dd,-0x8c4)]){const _0x535e1c={};_0x535e1c[_0x1fbd27(0xd1d,_0x382be6._0x361172)]=[_0x13098a[0x0],_0x13098a[0x1],this['options']['height']||0x0],_0x535e1c['style']=_0x4caf31,_0x535e1c['attr']=_0x165f7e,_0x3678e9=new BillboardPrimitive(_0x535e1c);}else{const _0x2684c7={};_0x2684c7[_0x108b7e(0x1077,0x1745)]=[_0x13098a[0x0],_0x13098a[0x1],this['options'][_0x1fbd27(0x718,-0x34e)]||0x0],_0x2684c7['style']=_0x4caf31,_0x2684c7[_0x108b7e(_0x382be6._0x4c6bdd,_0x382be6._0x5068d7)]=_0x165f7e,_0x3678e9=new PointPrimitive(_0x2684c7);}}return this['addGraphic'](_0x3678e9),_0x3678e9;}}register$3('gaodePOI',GeodePoiLayer);class WfsLayer extends LodGraphicLayer{[_0x2b6441(0xa30,0xd6b)](){const _0xbb2326={_0x5f17dc:0x681,_0x51a00b:0xda7,_0x5aaf90:0xdf4,_0x3c5893:0x11c9,_0x438c64:0xbd5},_0x15e223={_0x3ec705:0x633};function _0x2a493f(_0x5c8d4d,_0x258a35){return _0x2b6441(_0x258a35,_0x5c8d4d-0x6eb);}this['options'][_0x1fb0e2(_0xbb2326._0x5f17dc,-0x25e)]=this[_0x2a493f(_0xbb2326._0x51a00b,0x7de)]['geometryName']||_0x2a493f(0xfbc,0xd20),super[_0x1fb0e2(0xcd9,0xa10)]();function _0x1fb0e2(_0x42d67b,_0x3abb20){return _0x306755(_0x3abb20,_0x42d67b- -_0x15e223._0x3ec705);}Cesium__namespace[_0x2a493f(_0xbb2326._0x5aaf90,_0xbb2326._0x3c5893)](this['options'][_0x1fb0e2(_0xbb2326._0x438c64,0x13fc)],!![])&&this['getMetadata']();}['getMetadata'](){const _0x5d745d={_0x302135:0xa6f,_0x1e7a83:0x4ca,_0x3a4768:0xa60,_0x1bf692:0xb35,_0x3cc704:0x20,_0x338891:0x1376,_0x10dadc:0x1a71,_0x1e9679:0x1609},_0x5e6901={_0x1dcaeb:0x152b},_0xd61eea={_0x417418:0x479},_0x40bb05={'version':'1.0.0',...this['options'][_0x2a2d7b(_0x5d745d._0x302135,0x14e3)]};_0x40bb05['service']=_0x1b3bc7(_0x5d745d._0x1e7a83,_0x5d745d._0x3a4768),_0x40bb05['request']='GetCapabilities';function _0x2a2d7b(_0x1dc975,_0xe15377){return _0x306755(_0xe15377,_0x1dc975- -0x40d);}const _0x4558a0=_0x40bb05;let _0x3859a1=this[_0x1b3bc7(_0x5d745d._0x1bf692,0xfe5)]['url'];function _0x1b3bc7(_0x27e1f4,_0x1a3dce){return _0x2b6441(_0x1a3dce,_0x27e1f4-_0xd61eea._0x417418);}this['templateValues']&&(_0x3859a1=template(_0x3859a1,this['templateValues']));const _0x2ba5d0={...this['options']};_0x2ba5d0[_0x1b3bc7(0xa97,0x1180)]=_0x3859a1,_0x2ba5d0[_0x2a2d7b(0x9b1,-_0x5d745d._0x3cc704)]=_0x4558a0,_0x2ba5d0['proxy']=this['_proxy'],Cesium__namespace[_0x1b3bc7(_0x5d745d._0x338891,_0x5d745d._0x10dadc)]['fetchXML'](_0x2ba5d0)[_0x1b3bc7(0x11db,0xd85)](_0x4fae47=>{if(!_0x4fae47||this['isDestroy'])return;this['capabilities']=_0x4fae47;try{this['_initByMetaData'](_0x4fae47);}catch(_0x5ba6d0){logInfo('解析GetCapabilities出错',_0x5ba6d0);}function _0x1cbc41(_0x365457,_0x515003){return _0x1b3bc7(_0x515003- -0x324,_0x365457);}const _0x3522d1={};_0x3522d1[_0x1cbc41(0x848,0xc2)]=_0x4fae47,this['fire'](EventType['loadConfig'],_0x3522d1);})[_0x1b3bc7(0xdf2,_0x5d745d._0x1e9679)](_0x264c8b=>{function _0x1422be(_0x351144,_0x5ef59e){return _0x2a2d7b(_0x351144-0x35a,_0x5ef59e);}_0x264c8b&&logInfo(_0x1422be(_0x5e6901._0x1dcaeb,0x1915),_0x264c8b);});}['_initByMetaData'](_0x352d20){const _0x4488ed={_0x30ec62:0x1bed,_0x2b2d4b:0x175e,_0x14ced4:0xeb,_0x1f635a:0x188b,_0x1e5a88:0x164f,_0x1d5901:0x370},_0x16b2fa={_0x1affe7:0x13d},_0x9bcf67=this['_readChildNode'](_0x352d20,'FeatureTypeList');function _0x29afba(_0x5b1914,_0x423027){return _0x2b6441(_0x5b1914,_0x423027-0x704);}function _0x45dda8(_0x22e2b4,_0xaffcae){return _0x306755(_0xaffcae,_0x22e2b4- -_0x16b2fa._0x1affe7);}if(!_0x9bcf67)return;const _0x2a4e43=this['_readNode'](_0x9bcf67,'FeatureType');if(!_0x2a4e43)return;for(let _0x5b7f72=0x0,_0x4f40f8=_0x2a4e43[_0x29afba(_0x4488ed._0x30ec62,_0x4488ed._0x2b2d4b)];_0x5b7f72<_0x4f40f8;_0x5b7f72++){const _0x21c217=_0x2a4e43[_0x5b7f72],_0x2c3fba=this[_0x45dda8(0x658,_0x4488ed._0x14ced4)](_0x21c217,'Name');if(_0x2c3fba===this['options']['layer']){const _0x22f3e8=this['_readChildNodeVal'](_0x21c217,'SRS');!this['options'][_0x29afba(_0x4488ed._0x1f635a,0x1afd)]&&_0x22f3e8&&(this['options']['crs']=_0x22f3e8);const _0x1cddb5=this['_readChildNode'](_0x21c217,_0x29afba(0x1a97,_0x4488ed._0x1e5a88));if(!this[_0x45dda8(0xb20,0x68b)][_0x45dda8(0x12dc,0x1cd4)]&&_0x1cddb5){const _0x3ed3ae=Number(_0x1cddb5['getAttribute']('minx')),_0x406fca=Number(_0x1cddb5[_0x29afba(-_0x4488ed._0x1d5901,0x652)]('miny')),_0x12b824=Number(_0x1cddb5['getAttribute']('maxx')),_0x6891fa=Number(_0x1cddb5['getAttribute']('maxy'));this['_setExtent'](_0x3ed3ae,_0x406fca,_0x12b824,_0x6891fa),this['options'][_0x45dda8(0xaea,0x185)]&&this['flyTo']();}break;}}}[_0x2b6441(-0x6eb,-0xa9)](_0x257bdf,_0x236375){const _0x30ee47={_0x2a5d51:0x1f50},_0x50fb41={_0xc43f05:0x180},_0x49a8cc={_0x1218a2:0xd};function _0x5a9629(_0x2f5b5e,_0x214f42){return _0x306755(_0x2f5b5e,_0x214f42- -_0x49a8cc._0x1218a2);}if(!_0x257bdf)return null;let _0x326d3c=_0x257bdf['getElementsByTagName'](_0x236375);(!_0x326d3c||_0x326d3c[_0x5a9629(_0x30ee47._0x2a5d51,0x15ee)]===0x0)&&(_0x326d3c=_0x257bdf['getElementsByTagName'](_0x53b45d(0xec,0x2af)+_0x236375));function _0x53b45d(_0x41ca55,_0x2360e5){return _0x2b6441(_0x2360e5,_0x41ca55-_0x50fb41._0xc43f05);}return _0x326d3c;}[_0x2b6441(0x116b,0xac8)](_0x17b28f,_0x295530){const _0x4e1dd0={_0x543ff6:0x519,_0x3afa78:0x1667};function _0x28a66a(_0x3c98d1,_0x22d249){return _0x2b6441(_0x3c98d1,_0x22d249-0x5c2);}if(!_0x17b28f)return null;const _0x43e18a=this[_0x28a66a(0xd7f,_0x4e1dd0._0x543ff6)](_0x17b28f,_0x295530);function _0x42f077(_0x591001,_0x50862d){return _0x306755(_0x591001,_0x50862d- -0x63f);}return _0x43e18a[_0x42f077(_0x4e1dd0._0x3afa78,0xfbc)]>0x0?_0x43e18a[0x0]:null;}['_readChildNodeVal'](_0x30eec2,_0x154485){const _0x57d5ff={_0x4a7383:0x1105,_0x240805:0x86c,_0x4655a6:0x427};var _0x2f3296,_0x1f3897;if(!_0x30eec2)return null;function _0x52741d(_0x4d54a7,_0x49ac19){return _0x2b6441(_0x4d54a7,_0x49ac19-0x4bb);}let _0x5cc55b=this['_readChildNode'](_0x30eec2,_0x154485);!_0x5cc55b&&(_0x5cc55b=this[_0x52741d(_0x57d5ff._0x4a7383,0xf83)](_0x30eec2,_0x52741d(_0x57d5ff._0x240805,_0x57d5ff._0x4655a6)+_0x154485));function _0x382533(_0x39ea4e,_0x2a760a){return _0x306755(_0x2a760a,_0x39ea4e- -0x647);}if((_0x2f3296=_0x5cc55b)!==null&&_0x2f3296!==void 0x0&&_0x2f3296[_0x52741d(0xf20,0x17ac)])return _0x5cc55b['innerHTML'];else return(_0x1f3897=_0x5cc55b)!==null&&_0x1f3897!==void 0x0&&_0x1f3897[_0x52741d(0x98b,0xa9c)]?_0x5cc55b['getInnerHTML']():null;}[_0x306755(0xec1,0x157e)](_0x59d8ff){const _0x358677={_0x5298a8:0x350,_0x2c5f27:0x142d,_0xeafb32:0x1138,_0xeeb654:0x5b,_0x52a98e:0x926,_0x1361b3:0x8e7,_0x49f2bc:0x9fc,_0x59f850:0x4d9,_0x33eeeb:0x1222,_0x14b941:0xabc,_0x4f03c6:0x1db9,_0x5a0bb2:0x142d,_0x5e12f3:0xe05},_0x1913e5={_0x2b302c:0xde5},_0xef8414={_0x5802bb:0x483};let _0x1779c4;if(this[_0x215b43(_0x358677._0x5298a8,0x6f0)]['crs']!==CRS['EPSG4326']&&this['options'][_0x215b43(0x1434,_0x358677._0x2c5f27)]!==CRS['EPSG4490']){const _0x324efe=proj4Trans([_0x59d8ff[_0x215b43(0x17ce,_0x358677._0xeafb32)]['xmin'],_0x59d8ff['extent'][_0x215b43(-_0x358677._0xeeb654,_0x358677._0x52a98e)]],_0x24727e(0xb21,_0x358677._0x1361b3),this[_0x24727e(0xa8d,0x7da)]['crs']),_0xa1e8a3=proj4Trans([_0x59d8ff['extent']['xmax'],_0x59d8ff[_0x24727e(0x149c,0x1222)][_0x24727e(_0x358677._0x49f2bc,0x6f9)]],'EPSG:4326',this[_0x215b43(_0x358677._0x59f850,0x6f0)][_0x215b43(0xe6c,0x142d)]);_0x1779c4=_0x324efe[0x0]+','+_0x324efe[0x1]+','+_0xa1e8a3[0x0]+','+_0xa1e8a3[0x1];}else _0x1779c4=_0x59d8ff[_0x215b43(0x188c,0x1138)]['xmin']+','+_0x59d8ff['extent']['ymin']+','+_0x59d8ff[_0x24727e(0x1c78,_0x358677._0x33eeeb)]['xmax']+','+_0x59d8ff['extent'][_0x24727e(0xa25,0x6f9)];const _0x3ce20c={};_0x3ce20c['service']=_0x215b43(-0x872,0x85),_0x3ce20c['request']=_0x24727e(0x1189,_0x358677._0x14b941),_0x3ce20c['typeName']=this['options']['layer']||this['options']['typeName'],_0x3ce20c['version']='1.0.0',_0x3ce20c['outputFormat']='application/json',_0x3ce20c['srsName']=this['options'][_0x215b43(_0x358677._0x4f03c6,_0x358677._0x5a0bb2)]||'EPSG:4326';function _0x215b43(_0x412f02,_0x47f73d){return _0x2b6441(_0x412f02,_0x47f73d-0x34);}_0x3ce20c[_0x24727e(0xb3b,0xedb)]=_0x1779c4;function _0x24727e(_0x2c1100,_0x1e01c3){return _0x306755(_0x2c1100,_0x1e01c3- -_0xef8414._0x5802bb);}const _0x2c5d61=_0x3ce20c;if(Cesium__namespace['defined'](this['options']['parameters']))for(const _0xfe2b27 in this['options']['parameters']){_0xfe2b27['toLowerCase']()==='cql_filter'?(delete _0x2c5d61['bbox'],_0x2c5d61[_0xfe2b27]=this['options']['parameters'][_0xfe2b27]+'\x20and\x20BBOX('+this['options']['geometryName']+',\x20'+_0x1779c4+')'):_0x2c5d61[_0xfe2b27]=this['options']['parameters'][_0xfe2b27];}let _0x44b6b8=this['options']['url'];return this['templateValues']&&(_0x44b6b8=template(_0x44b6b8,this[_0x24727e(_0x358677._0x5e12f3,0x1521)])),new Promise((_0x189285,_0x3117ca)=>{const _0x579034={_0x1a5a60:0x1ab4},_0x4db89d={_0x503022:0x3ed},_0x5883c2={_0xf41c03:0x1b5};function _0x53d9e8(_0x40ba84,_0x169026){return _0x24727e(_0x169026,_0x40ba84-0x5ba);}const _0x4d902c={...this['options']};_0x4d902c['url']=_0x44b6b8,_0x4d902c['queryParameters']=_0x2c5d61;function _0x2408e0(_0x4c178c,_0x27389d){return _0x215b43(_0x27389d,_0x4c178c-0x35a);}_0x4d902c['proxy']=this['_proxy'];const _0x1008ab=new Cesium__namespace[(_0x2408e0(0x128b,0x1420))](_0x4d902c);_0x59d8ff['_resource']=_0x1008ab,_0x1008ab[_0x2408e0(0x1357,_0x1913e5._0x2b302c)]()['then'](_0x3221e4=>{delete _0x59d8ff[_0x3f1226(0x14df,0x1477)],_0x59d8ff['list']=[];if(!this['_show']||!this['_cacheGrid'][_0x59d8ff['key']]){_0x189285(_0x59d8ff);return;}function _0x3f1226(_0x1b4321,_0x1a605f){return _0x2408e0(_0x1b4321- -_0x5883c2._0xf41c03,_0x1a605f);}if(_0x3221e4===undefined||_0x3221e4==null){_0x189285(_0x59d8ff);return;}_0x3221e4[_0x3f1226(0x129b,0x157d)]===_0x12b59c(0xabd,_0x4db89d._0x503022)&&(_0x3221e4={'type':'FeatureCollection','features':[_0x3221e4]});_0x59d8ff['list']=_0x3221e4['features'];function _0x12b59c(_0x3950ef,_0x8b27ce){return _0x53d9e8(_0x3950ef- -0xae,_0x8b27ce);}_0x189285(_0x59d8ff);})['catch'](_0x29ec78=>{function _0x54712c(_0x1a47b7,_0x2f44d2){return _0x53d9e8(_0x2f44d2- -0x1a7,_0x1a47b7);}_0x29ec78&&logError(_0x54712c(_0x579034._0x1a5a60,0x1601),_0x29ec78);});});}[_0x2b6441(0x1966,0xfdf)](_0x74cbe7,_0x1402ec){const _0x1686b9={_0x4b21c0:0x1150,_0xc6e173:0x1774},_0x478c44={_0x3d4621:0x695};function _0x9c25a9(_0x382bc1,_0x4088ea){return _0x2b6441(_0x382bc1,_0x4088ea-_0x478c44._0x3d4621);}const _0x361f84={};_0x361f84['clear']=![],_0x361f84[_0x54f3ad(_0x1686b9._0x4b21c0,0xd19)]=![];const _0x4d907c=this[_0x9c25a9(0x139a,_0x1686b9._0xc6e173)](_0x1402ec,_0x361f84);function _0x54f3ad(_0x4af86e,_0x4025c7){return _0x306755(_0x4af86e,_0x4025c7-0xf2);}return(_0x4d907c===null||_0x4d907c===void 0x0?void 0x0:_0x4d907c['length'])>0x0?_0x4d907c[0x0]:null;}}register$3('wfs',WfsLayer);class ArcGisWfsLayer extends LodGraphicLayer{['_mountedHook'](){const _0x24a388={_0x118b0e:0xd47},_0x108dbe={_0x2eb6bf:0x264};super[_0x48cdd0(_0x24a388._0x118b0e,0xc39)]();function _0x48cdd0(_0x3058b3,_0x4022d7){return _0x2b6441(_0x4022d7,_0x3058b3- -0x24);}function _0x453805(_0x2050c2,_0x162362){return _0x306755(_0x162362,_0x2050c2- -_0x108dbe._0x2eb6bf);}this[_0x453805(0x127f,0x1a79)]();}[_0x2b6441(0x10b3,0xf42)](){const _0x35261a={_0x2cfa96:0xad0,_0x239fd2:0x989,_0x587f1c:0x1770,_0x574b07:0x1183,_0x497d85:0x95b,_0x581b9e:0xb4f},_0x23664c={_0x4f7c8b:0x4fd},_0x53e093={_0x3b14d5:0x466},_0x4ce73c={_0x36a5ca:0x113c,_0x567512:0x67f},_0x5db6e0={_0x23ae74:0x669};let _0x197528=this[_0x188164(_0x35261a._0x2cfa96,0x137c)]['url'];this['options']['layers']&&this[_0x188164(_0x35261a._0x2cfa96,0x416)]['layers']['length']>0x0&&(_0x197528+='/'+this[_0x923431(0xd25,_0x35261a._0x239fd2)][_0x188164(_0x35261a._0x587f1c,_0x35261a._0x574b07)][0x0]);const _0x2577b3={};_0x2577b3['f']='json';const _0x52b8bf=_0x2577b3;this['options']['token']&&(_0x52b8bf['token']=this['options']['token']);const _0x349707={...this['options']};function _0x923431(_0x1f10cf,_0x3c3777){return _0x2b6441(_0x3c3777,_0x1f10cf-_0x5db6e0._0x23ae74);}function _0x188164(_0x1ba73d,_0x1e710c){return _0x306755(_0x1e710c,_0x1ba73d- -0x18d);}_0x349707['url']=_0x197528,_0x349707['queryParameters']=_0x52b8bf,_0x349707[_0x188164(_0x35261a._0x497d85,_0x35261a._0x581b9e)]=this['_proxy'],sendAjax(_0x349707)['then'](_0x14e462=>{function _0x451c10(_0x53e6e5,_0x52be7b){return _0x923431(_0x52be7b- -0x2d2,_0x53e6e5);}if(!_0x14e462||this['isDestroy'])return;this['_initByMetaData'](_0x14e462),this[_0x451c10(_0x4ce73c._0x36a5ca,_0x4ce73c._0x567512)](EventType['loadConfig'],_0x14e462);})['catch'](_0x4ce73e=>{function _0x304c99(_0x252ad3,_0x391afb){return _0x923431(_0x252ad3- -_0x53e093._0x3b14d5,_0x391afb);}_0x4ce73e&&logInfo(_0x304c99(_0x23664c._0x4f7c8b,0x22c),_0x4ce73e);});}['_initByMetaData'](_0x7b973b){const _0x379669={_0x412284:0x1cd7,_0x2ee8e9:0x13ef,_0x52c786:0x610,_0x319c30:0xd43,_0x44d299:0x5a5,_0x1ff96d:0xe45};function _0x180009(_0x561821,_0x526552){return _0x306755(_0x526552,_0x561821-0xe6);}this['metaData']=_0x7b973b;const _0x4f5412=_0x7b973b['fullExtent']||_0x7b973b[_0x23352c(_0x379669._0x412284,_0x379669._0x2ee8e9)];function _0x23352c(_0x2cc3ff,_0x50b287){return _0x306755(_0x2cc3ff,_0x50b287- -0x2b6);}if(!this['options']['rectangle']&&_0x4f5412){var _0x1feea7;const _0x32c560=(_0x4f5412===null||_0x4f5412===void 0x0||(_0x1feea7=_0x4f5412['spatialReference'])===null||_0x1feea7===void 0x0?void 0x0:_0x1feea7['wkid'])||this['options'][_0x23352c(-0x33c,_0x379669._0x52c786)];_0x32c560&&(!this['options']['wkid']&&(this[_0x180009(_0x379669._0x319c30,0x1408)]['wkid']=_0x32c560));if(this['options']['wkid']){const _0x3ba2a3=_0x180009(0x1513,0x131e)+this['options'][_0x23352c(_0x379669._0x44d299,0x610)];this[_0x180009(0x13c0,_0x379669._0x1ff96d)](_0x4f5412[_0x23352c(0xbd4,0x9c7)],_0x4f5412[_0x23352c(0x78a,0xbdd)],_0x4f5412['xmax'],_0x4f5412['ymax'],_0x3ba2a3),this['options']['flyTo']&&this['flyTo']();}}}['queryGridData'](_0x5648b5){const _0x4f8daf={_0x3f52f4:0xa1e,_0x8cce35:0xec1,_0xcd94d8:0x1a1b,_0x4afe5d:0x443,_0x1863a8:0x571,_0xd3b2b9:0xe7e,_0x5cee3c:0x282,_0x178574:0xc54,_0x2c14d3:0x1af,_0x4da0a3:0x891,_0x113d41:0x6bb,_0xa19bf6:0x1615,_0x665936:0xe81,_0x2acba1:0x1910,_0x306620:0xa1e},_0x40d70e={_0x2d55a7:0x731,_0x42960f:0xef3},_0x2cf2f1={_0x629b25:0x17dc,_0x1ea8db:0x1385,_0x49a4cc:0x147d,_0x28383d:0x1760,_0x3021cf:0x1352};let _0x59946a=this[_0x4418e3(_0x4f8daf._0x3f52f4,0x147a)]['url'];function _0x4418e3(_0x4ae67e,_0x381334){return _0x2b6441(_0x381334,_0x4ae67e-0x362);}function _0x2cf4fb(_0x2bc117,_0x10a300){return _0x2b6441(_0x2bc117,_0x10a300-0x2b6);}this[_0x4418e3(0xa1e,0x1312)][_0x2cf4fb(_0x4f8daf._0x8cce35,0x1612)]&&this['options']['layers'][_0x4418e3(0x13bc,_0x4f8daf._0xcd94d8)]>0x0&&(_0x59946a+='/'+this['options']['layers'][0x0]);const _0x49f85c={};_0x49f85c[_0x4418e3(0x687,_0x4f8daf._0x4afe5d)]=0x10e6;const _0x67c2bb={};_0x67c2bb[_0x2cf4fb(_0x4f8daf._0x1863a8,0x992)]=_0x5648b5[_0x4418e3(0x1466,_0x4f8daf._0xd3b2b9)][_0x2cf4fb(_0x4f8daf._0x5cee3c,0x992)],_0x67c2bb[_0x4418e3(_0x4f8daf._0x178574,0x136a)]=_0x5648b5[_0x2cf4fb(0x104f,0x13ba)]['ymin'],_0x67c2bb[_0x2cf4fb(_0x4f8daf._0x2c14d3,0x24d)]=_0x5648b5['extent']['xmax'],_0x67c2bb[_0x2cf4fb(0x48b,_0x4f8daf._0x4da0a3)]=_0x5648b5['extent']['ymax'],_0x67c2bb[_0x2cf4fb(0x32e,_0x4f8daf._0x113d41)]=_0x49f85c;const _0x2b96a5={'f':this[_0x2cf4fb(0xd1d,0x972)]['f']||_0x2cf4fb(0x5af,0xc61),'inSr':0x10e6,'outSR':0x10e6,'outFields':'*','returnGeometry':!![],'where':this[_0x4418e3(0xa1e,0x1418)][_0x2cf4fb(0x13f9,_0x4f8daf._0xa19bf6)]||_0x4418e3(_0x4f8daf._0x665936,_0x4f8daf._0x2acba1),'geometry':JSON['stringify'](_0x67c2bb),'geometryType':'esriGeometryEnvelope','spatialRel':_0x4418e3(0x92d,-0x110)};return this['options']['token']&&(_0x2b96a5['token']=this[_0x4418e3(_0x4f8daf._0x306620,0x8b4)][_0x4418e3(0x1347,0x12f5)]),new Promise((_0x2555cf,_0x166c9e)=>{const _0x337efd={...this['options']};_0x337efd[_0x1522f7(0x107f,0xc97)]=_0x59946a+_0x4579fa(0x47f,0x6);function _0x1522f7(_0x10e5f3,_0x43f36a){return _0x2cf4fb(_0x10e5f3,_0x43f36a-0x3c3);}_0x337efd['queryParameters']=_0x2b96a5,_0x337efd['proxy']=this[_0x4579fa(0x11af,_0x40d70e._0x2d55a7)];function _0x4579fa(_0x3f89ed,_0x51295b){return _0x4418e3(_0x3f89ed-0x218,_0x51295b);}const _0x21bb69=new Cesium__namespace['Resource'](_0x337efd);_0x5648b5['_resource']=_0x21bb69,_0x21bb69['fetchJson']()['then'](_0x879ac=>{const _0x4267fa={_0x116e0a:0x1e7};delete _0x5648b5[_0x140277(0x1699,_0x2cf2f1._0x629b25)],_0x5648b5['list']=[];if(!this[_0x140277(_0x2cf2f1._0x1ea8db,_0x2cf2f1._0x49a4cc)]||!this[_0x15c6b2(0x14c9,0xa82)][_0x5648b5[_0x15c6b2(0x1c89,0x1396)]]){_0x2555cf(_0x5648b5);return;}if(_0x879ac===undefined||_0x879ac==null){_0x2555cf(_0x5648b5);return;}function _0x140277(_0x17c959,_0x13e6d4){return _0x4579fa(_0x17c959- -_0x4267fa._0x116e0a,_0x13e6d4);}let _0x406a25=arcgisToGeoJSON$1(_0x879ac);function _0x15c6b2(_0x3a40ec,_0x2ee29e){return _0x1522f7(_0x3a40ec,_0x2ee29e-0x25);}_0x406a25[_0x15c6b2(0x1149,_0x2cf2f1._0x28383d)]==='Feature'&&(_0x406a25={'type':'FeatureCollection','features':[_0x406a25]}),_0x5648b5[_0x15c6b2(_0x2cf2f1._0x3021cf,0xa18)]=_0x406a25['features'],_0x2555cf(_0x5648b5);})[_0x4579fa(_0x40d70e._0x42960f,0x133e)](_0x2398a8=>{function _0x1c6cb2(_0x6b00b4,_0x5b9f9a){return _0x1522f7(_0x6b00b4,_0x5b9f9a- -0x6d2);}_0x2398a8&&logError(_0x1c6cb2(0x1a2,0x820),_0x2398a8);});});}['_getItemDataId'](_0x435725){const _0x2155e2={_0x1dee8a:0x12ad,_0x1d2b9b:0x1235,_0xbd3ac0:0x8b4,_0x27f5d7:0x242,_0x48d95a:0xc9d,_0x271dae:0x17e3,_0x14f018:0xe6d},_0x4e7ad8={_0x343db8:0x173},_0x2e1712={_0x208c60:0x280};function _0x384ae6(_0x1f08e4,_0x2e4dde){return _0x306755(_0x1f08e4,_0x2e4dde- -_0x2e1712._0x208c60);}var _0x2d172e;if(_0x435725['id'])return _0x435725['id'];_0x435725[_0x220ace(_0x2155e2._0x1dee8a,_0x2155e2._0x1d2b9b)]==='Feature'&&(_0x435725=_0x435725['properties']);if(_0x435725[this['options']['IdField']])return _0x435725[this['options'][_0x220ace(-0x435,0x3d0)]];function _0x220ace(_0x57b51c,_0x54c59f){return _0x2b6441(_0x57b51c,_0x54c59f-_0x4e7ad8._0x343db8);}if(_0x435725[_0x220ace(_0x2155e2._0xbd3ac0,0xcf7)])return _0x435725[_0x220ace(0x10e0,0xcf7)];if(_0x435725[_0x384ae6(0x546,_0x2155e2._0x27f5d7)])return _0x435725['objectid'];if(((_0x2d172e=this['metaData'])===null||_0x2d172e===void 0x0||(_0x2d172e=_0x2d172e[_0x384ae6(_0x2155e2._0x48d95a,0x110f)])===null||_0x2d172e===void 0x0?void 0x0:_0x2d172e['length'])>0x0){const _0x310f92=this[_0x220ace(_0x2155e2._0x271dae,_0x2155e2._0x14f018)]['fields'][0x0]['name'];if(_0x435725[_0x310f92])return _0x435725[_0x310f92];}return null;}['createGraphic'](_0x6ebde4,_0x2122fe){const _0x3a31b3={_0x5402e2:0x13c4,_0x43c807:0xaef,_0x11710d:0x143f},_0x5bb898={_0x46f008:0x670},_0x3a1c08={_0x554d44:0x3e5};function _0x50a2bc(_0x617a5,_0x3b698d){return _0x2b6441(_0x3b698d,_0x617a5-_0x3a1c08._0x554d44);}if(this['options'][_0x50a2bc(_0x3a31b3._0x5402e2,0x103e)])return this[_0x50a2bc(0xaa1,_0x3a31b3._0x43c807)]['createGraphic'](_0x6ebde4,_0x2122fe);const _0x3198e2={};_0x3198e2['clear']=![],_0x3198e2['flyTo']=![];const _0x52c2f3=this['loadGeoJSON'](_0x2122fe,_0x3198e2);function _0xf91bbb(_0x4a9739,_0x49e53b){return _0x2b6441(_0x4a9739,_0x49e53b-_0x5bb898._0x46f008);}return(_0x52c2f3===null||_0x52c2f3===void 0x0?void 0x0:_0x52c2f3[_0x50a2bc(_0x3a31b3._0x11710d,0x1509)])>0x0?_0x52c2f3[0x0]:null;}[_0x2b6441(0xc46,0x58c)](_0x306e70){function _0x407af0(_0x23d6b9,_0x15dd3c){return _0x2b6441(_0x15dd3c,_0x23d6b9-0x551);}this['options']['where']=_0x306e70,this[_0x407af0(0x19b0,0x1b9f)]();}}register$3('arcgis_wfs',ArcGisWfsLayer);class ArcGisWfsSingleLayer extends GeoJsonLayer{[_0x306755(0xe7d,0x188a)](_0x41b8f2={}){const _0x52e96a={_0x28f49f:0x1a4c,_0x4de2f8:0x761,_0xca6218:0x4f7,_0x3c1a0f:0x1559,_0x350032:0x178c,_0x4a4ccc:0x14e6,_0x5b0832:0xe2f,_0x385127:0xb73},_0x3f8f0d={_0x596438:0xb97,_0x4ed709:0x1191},_0x325deb={_0x46de6f:0xe40};this['options']={...this['options'],..._0x41b8f2};let _0xa09d33=this['options']['url'];this['options'][_0x121459(0x1a4c,0x10a7)]&&this['options'][_0x121459(0x1a4c,0x13b6)]['length']>0x0&&(_0xa09d33+='/'+this['options'][_0x121459(_0x52e96a._0x28f49f,0x1749)][0x0]);function _0x121459(_0x546110,_0x2d1d19){return _0x2b6441(_0x2d1d19,_0x546110-0x6f0);}function _0x54c247(_0x5c1542,_0x2b1901){return _0x2b6441(_0x5c1542,_0x2b1901-0x1fa);}const _0x11612e={};_0x11612e['f']='json',_0x11612e[_0x121459(_0x52e96a._0x4de2f8,_0x52e96a._0xca6218)]=0x10e6,_0x11612e['outSR']=0x10e6,_0x11612e['outFields']='*',_0x11612e[_0x121459(0xd4c,0x151b)]=!![],_0x11612e[_0x54c247(0x1629,0x1559)]=this['options'][_0x54c247(0x1d4e,_0x52e96a._0x3c1a0f)]||'1=1';const _0x579cbb=_0x11612e;this['options'][_0x54c247(_0x52e96a._0x350032,0x11df)]&&(_0x579cbb['token']=this[_0x121459(0xdac,0x3c3)][_0x54c247(0x15aa,0x11df)]);const _0x1b06f0={...this['options']};_0x1b06f0['url']=_0xa09d33+'/query',_0x1b06f0[_0x54c247(0xc6,0xa17)]=_0x579cbb,_0x1b06f0['proxy']=this[_0x54c247(_0x52e96a._0x4a4ccc,_0x52e96a._0x5b0832)],fetchJson(_0x1b06f0)['then'](_0x180d92=>{if(!_0x180d92){this['_readyPromise']['resolve'](this),this['fire'](EventType['load']);return;}function _0x33df31(_0x3efaf6,_0x6501d8){return _0x121459(_0x3efaf6- -0x516,_0x6501d8);}const _0x27d1ab=arcgisToGeoJSON$1(_0x180d92);this[_0x33df31(_0x325deb._0x46de6f,0xa9a)](_0x27d1ab);})[_0x54c247(0xd5b,_0x52e96a._0x385127)](_0x3e34d8=>{function _0x50f5d0(_0x5b35af,_0x20a702){return _0x54c247(_0x20a702,_0x5b35af-0x124);}logError(_0x50f5d0(_0x3f8f0d._0x596438,_0x3f8f0d._0x4ed709),_0x3e34d8);});}[_0x306755(0x187,0xb2d)](_0x49eb6c){const _0x363706={_0x409029:0x1694};function _0x3be725(_0x4a8b41,_0x36faad){return _0x306755(_0x4a8b41,_0x36faad- -0x4ae);}const _0x39e00c={};_0x39e00c['where']=_0x49eb6c,this[_0x3be725(_0x363706._0x409029,0x13dc)](_0x39e00c);}}register$3(_0x306755(0x1443,0x164a),ArcGisWfsSingleLayer);const _0x2d6b9d={};_0x2d6b9d['__proto__']=null,_0x2d6b9d[_0x2b6441(0x1854,0xe0e)]=BaseLayer,_0x2d6b9d['GroupLayer']=GroupLayer,_0x2d6b9d[_0x2b6441(0x1a41,0xfe7)]=BaseTileLayer,_0x2d6b9d['BaseGraphicLayer']=BaseGraphicLayer,_0x2d6b9d[_0x2b6441(0x1026,0xcbf)]=TerrainLayer,_0x2d6b9d['ArcGisCacheLayer']=ArcGisCacheLayer,_0x2d6b9d['ArcGisTileLayer']=ArcGisTileLayer,_0x2d6b9d['ArcGisLayer']=ArcGisLayer,_0x2d6b9d['BaiduLayer']=BaiduLayer,_0x2d6b9d['BingLayer']=BingLayer,_0x2d6b9d['GaodeLayer']=GaodeLayer,_0x2d6b9d['GeeLayer']=GeeLayer,_0x2d6b9d['GoogleLayer']=GoogleLayer,_0x2d6b9d['ImageLayer']=ImageLayer,_0x2d6b9d[_0x2b6441(0xe8f,0x854)]=MapboxLayer,_0x2d6b9d[_0x306755(0x73d,0xdca)]=OsmLayer,_0x2d6b9d['TdtLayer']=TdtLayer,_0x2d6b9d['TencentLayer']=TencentLayer,_0x2d6b9d[_0x2b6441(0xc8a,0xc7b)]=TmsLayer,_0x2d6b9d['WmsLayer']=WmsLayer,_0x2d6b9d[_0x2b6441(0xf54,0x9bf)]=WmtsLayer,_0x2d6b9d['XyzLayer']=XyzLayer,_0x2d6b9d[_0x2b6441(0xa8f,0xe2)]=GridLayer,_0x2d6b9d['TileInfoLayer']=TileInfoLayer,_0x2d6b9d[_0x306755(0xc2f,0x15a8)]=EmptyTileLayer,_0x2d6b9d['CzmGeoJsonLayer']=CzmGeoJsonLayer,_0x2d6b9d['KmlLayer']=KmlLayer,_0x2d6b9d[_0x306755(0x753,0x919)]=CzmlLayer,_0x2d6b9d['GraphicLayer']=GraphicLayer,_0x2d6b9d[_0x306755(0xdea,0x848)]=GraphicGroupLayer,_0x2d6b9d['GeoJsonLayer']=GeoJsonLayer,_0x2d6b9d['ModelLayer']=ModelLayer,_0x2d6b9d['BusineDataLayer']=BusineDataLayer,_0x2d6b9d[_0x306755(0x1ce7,0x19ba)]=TilesetLayer,_0x2d6b9d['OsmBuildingsLayer']=OsmBuildingsLayer,_0x2d6b9d[_0x306755(0x1ce7,0x18f9)]=I3SLayer,_0x2d6b9d['GraticuleLayer']=GraticuleLayer,_0x2d6b9d[_0x2b6441(-0x74a,0x8d)]=LodGraphicLayer,_0x2d6b9d[_0x306755(0x1441,0xc57)]=GeodePoiLayer,_0x2d6b9d['WfsLayer']=WfsLayer,_0x2d6b9d[_0x306755(0x511,0xaa2)]=ArcGisWfsLayer,_0x2d6b9d['ArcGisWfsSingleLayer']=ArcGisWfsSingleLayer,_0x2d6b9d[_0x306755(0x1744,0xd81)]=register$3,_0x2d6b9d['create']=create$3,_0x2d6b9d['createTerrainProvider']=createTerrainProvider,_0x2d6b9d['createImageryProvider']=createImageryProvider$j;var index$4=_0x2d6b9d;class Underground extends BaseThing{get[_0x2b6441(0x888,0xc7a)](){const _0x4069d3={_0x311120:0x3b6,_0x365a9c:0x5c9,_0x203b2f:0x1118,_0x249c30:0xe73,_0x1178fd:0xd7f},_0x4ade13={_0x35063c:0x4b0};function _0x29e49b(_0x386d5f,_0x57e0bc){return _0x306755(_0x386d5f,_0x57e0bc- -_0x4ade13._0x35063c);}function _0x389467(_0x1a02f0,_0x51cad9){return _0x306755(_0x1a02f0,_0x51cad9- -0x49c);}return this['_map'][_0x389467(_0x4069d3._0x311120,_0x4069d3._0x365a9c)][_0x389467(_0x4069d3._0x203b2f,0x1054)][_0x389467(_0x4069d3._0x249c30,_0x4069d3._0x1178fd)];}get[_0x2b6441(0x120a,0xffe)](){return this['_alpha'];}set['alpha'](_0x29fd93){const _0x42be6c={_0x14cef4:0xe7b,_0x6425c:0x335,_0x232a77:0x4b};function _0x47f8b6(_0x1e14a3,_0x5cdb4b){return _0x2b6441(_0x1e14a3,_0x5cdb4b-0x2a7);}this['_alpha']=_0x29fd93;if(!this[_0x656db(0x1429,0x9eb)])return;function _0x656db(_0x50a77c,_0x498893){return _0x2b6441(_0x498893,_0x50a77c-0x201);}this[_0x656db(_0x42be6c._0x14cef4,0x631)][_0x656db(_0x42be6c._0x6425c,-_0x42be6c._0x232a77)]=this['_alpha'];}get[_0x306755(0xd7a,0xeaf)](){const _0x2caa0e={_0x469798:0x3b7};function _0x381f02(_0x410d36,_0xad0136){return _0x2b6441(_0x410d36,_0xad0136-_0x2caa0e._0x469798);}return this['_map']['scene']['globe'][_0x381f02(0x107b,0x1324)];}set['color'](_0x35ad6c){this['_map']['scene']['globe']['undergroundColor']=_0x35ad6c;}get[_0x2b6441(-0xa00,-0x13c)](){const _0x3d48e8={_0x1618a2:0x8fa,_0x5a06cc:0x276};function _0x5c4a71(_0x226412,_0x315e89){return _0x306755(_0x315e89,_0x226412- -0x16b);}return this['_map'][_0x5c4a71(_0x3d48e8._0x1618a2,_0x3d48e8._0x5a06cc)]['globe']['undergroundColorAlphaByDistance'];}set[_0x306755(0xc2d,0x465)](_0x1978a7){function _0x2d24b3(_0x5572e9,_0x2a6cd9){return _0x2b6441(_0x5572e9,_0x2a6cd9-0x523);}this['_map']['scene'][_0x2d24b3(0x1745,0x1472)]['undergroundColorAlphaByDistance']=_0x1978a7;}[_0x306755(-0x49c,0x535)](_0x11aebc){const _0x5c52ac={_0x101c51:0x8f2,_0x485b11:0x943,_0x28c2c8:0x178},_0x2218b6={_0x5f1411:0x21};if(!this[_0x4bc7c9(_0x5c52ac._0x101c51,0x1249)])return;this['_map']['scene']['globe']['depthTestAgainstTerrain']=_0x11aebc?!![]:this[_0x4bc7c9(0xa2e,0xfaa)];function _0x260874(_0x314f49,_0x44be1b){return _0x306755(_0x314f49,_0x44be1b- -0x1e3);}function _0x4bc7c9(_0x139449,_0x2d2201){return _0x2b6441(_0x139449,_0x2d2201-_0x2218b6._0x5f1411);}this['_map']['scene'][_0x4bc7c9(-_0x5c52ac._0x485b11,_0x5c52ac._0x28c2c8)]['enableCollisionDetection']=!_0x11aebc,this['translucency'][_0x260874(0x61d,0x10ed)]=_0x11aebc;}['_mountedHook'](){const _0xa5779a={_0x13d131:0x316,_0x3cd00b:0x52f},_0x58b99a={_0xcce29c:0x1a6};this[_0x4d0126(0x1199,0x195d)][_0x2eddd9(_0xa5779a._0x13d131,_0xa5779a._0x3cd00b)]=0x1,this['translucency']['backFaceAlpha']=0x0;function _0x2eddd9(_0xb7dbce,_0x4fd05a){return _0x306755(_0xb7dbce,_0x4fd05a- -_0x58b99a._0xcce29c);}function _0x4d0126(_0x381c6e,_0x488411){return _0x306755(_0x488411,_0x381c6e- -0x82);}this['alpha']=this['options']['alpha']??0.5,this['color']=this['options']['color']??Cesium__namespace['Color']['BLACK'];}['_addedHook'](){const _0x2ec8f3={_0x30fb5f:0x7a6},_0x3b73e1={_0x24cc36:0x632};this[_0x173df6(0x126b,0x14ee)]=Cesium__namespace['clone'](this['_map'][_0x173df6(_0x2ec8f3._0x30fb5f,-0xa6)]['globe']['depthTestAgainstTerrain']);function _0x173df6(_0x4be17b,_0x3f0724){return _0x306755(_0x3f0724,_0x4be17b- -0x2bf);}function _0x3968c2(_0x27ba23,_0x277178){return _0x2b6441(_0x27ba23,_0x277178-_0x3b73e1._0x24cc36);}this['_enabledHook'](this['enabled']);}[_0x306755(0x16f7,0xe2b)](){this['_map']['scene']['globe']['depthTestAgainstTerrain']=this['depthTestOld'],this['_enabledHook'](![]);}}register('underground',Underground);class Sightline extends BaseThing{constructor(_0x2a59db={}){const _0x144d15={_0x332c73:0x7fa},_0x3024b9={_0x130595:0x4ef};function _0x3b0e32(_0x114249,_0x19a722){return _0x2b6441(_0x114249,_0x19a722- -0x73);}function _0x205f11(_0x46ac5b,_0x2dd303){return _0x2b6441(_0x46ac5b,_0x2dd303-_0x3024b9._0x130595);}super(_0x2a59db),this[_0x3b0e32(-0x408,0x2de)]=_0x2a59db['visibleColor']??new Cesium__namespace['Color'](0x0,0x1,0x0,0.5),this['_hiddenColor']=_0x2a59db['hiddenColor']??new Cesium__namespace[(_0x205f11(_0x144d15._0x332c73,0xe82))](0x1,0x0,0x0,0.5),this['_depthFailColor']=_0x2a59db['depthFailColor'],this['lines']=[];}get['visibleColor'](){return this['_visibleColor'];}set['visibleColor'](_0x2563fb){const _0x5d0d9d={_0x1f328c:0x108f};function _0x1e603f(_0x1e01b0,_0x17cef2){return _0x2b6441(_0x1e01b0,_0x17cef2-0x6b8);}this[_0x1e603f(_0x5d0d9d._0x1f328c,0xa09)]=_0x2563fb;}get[_0x306755(0x14d4,0xb0f)](){function _0x59ec41(_0x3f2bc5,_0x15df3b){return _0x306755(_0x15df3b,_0x3f2bc5-0x162);}return this[_0x59ec41(0x75e,0xf5a)];}set['hiddenColor'](_0x114591){this['_hiddenColor']=_0x114591;}get['depthFailColor'](){function _0x4907bf(_0x5bdf6b,_0x37f971){return _0x306755(_0x5bdf6b,_0x37f971- -0x39d);}return this[_0x4907bf(0x16b,0x267)];}set[_0x306755(0xd59,0x17c8)](_0xb6f472){const _0x144640={_0x2598f7:0x32a,_0x5ca70a:0x4c4},_0x567648={_0x2692de:0x461};function _0x502fbb(_0x5eacd4,_0x19fb49){return _0x2b6441(_0x5eacd4,_0x19fb49-_0x567648._0x2692de);}this[_0x502fbb(_0x144640._0x2598f7,_0x144640._0x5ca70a)]=_0xb6f472;}[_0x306755(0x1cc4,0x130c)](){}['_addedHook'](){}['_removedHook'](){}[_0x2b6441(0xbd9,0x78d)](_0x445690,_0x393fad,_0x36e547={}){const _0x14910e={_0xfb25a7:0x162f,_0x60f985:0x9db,_0x5a5d71:0x1cf2,_0x4c5de5:0x1854,_0x242835:0x16c8,_0x5c7fd8:0xc2f,_0x619d71:0x997,_0x698d6d:0xd24,_0x387b37:0x1287,_0x308d50:0x183d,_0x388dd7:0x183d,_0x3509ab:0x6a2,_0x3f0a84:0xfa8,_0x8c8d78:0xe93,_0x281cd0:0x7ff,_0x2dc21c:0x9d5,_0x3f3dcb:0x1095,_0x4fdf78:0x1309},_0x2bdf66={_0x19e87d:0x8a};_0x36e547['offsetHeight']&&(_0x445690=addPositionsHeight(_0x445690,_0x36e547['offsetHeight']));this['fire'](EventType['start']);!this[_0x433031(_0x14910e._0xfb25a7,0x1854)][_0x150ba7(0x1416,_0x14910e._0x60f985)]['globe'][_0x150ba7(0x11ff,0x16c8)]&&(this[_0x433031(_0x14910e._0x5a5d71,_0x14910e._0x4c5de5)]['scene']['globe'][_0x150ba7(0x13a5,_0x14910e._0x242835)]=!![],this['old_depthTestAgainstTerrain']=this[_0x433031(0x1d33,0x1854)]['scene']['globe']['depthTestAgainstTerrain']);this['_map']['scene']['requestRender']();const _0x15e0d1=Cesium__namespace['Cartesian3']['normalize'](Cesium__namespace[_0x150ba7(_0x14910e._0x5c7fd8,_0x14910e._0x619d71)]['subtract'](_0x393fad,_0x445690,new Cesium__namespace['Cartesian3']()),new Cesium__namespace[(_0x433031(0x4e7,0xaac))]()),_0x1db60a=new Cesium__namespace[(_0x150ba7(0xbf1,0x10fe))](_0x445690,_0x15e0d1),_0x50c8a8=_0x36e547['objectsToExclude']??[];function _0x433031(_0x2effe5,_0x104995){return _0x2b6441(_0x2effe5,_0x104995-0x62c);}_0x50c8a8[_0x433031(0x421,0x724)](...this['lines']);const _0x55360d=this[_0x150ba7(0x1b7f,0x173f)][_0x150ba7(_0x14910e._0x698d6d,_0x14910e._0x60f985)]['drillPickFromRay'](_0x1db60a,0x2,_0x50c8a8,_0x36e547['width']);if(Cesium__namespace[_0x433031(_0x14910e._0x387b37,_0x14910e._0x308d50)](_0x55360d)&&_0x55360d['length']>0x0&&Cesium__namespace['defined'](_0x55360d[0x0])&&Cesium__namespace[_0x433031(0x16b3,_0x14910e._0x388dd7)](_0x55360d[0x0][_0x150ba7(0x17ac,0x116d)])){const _0x4e9760=_0x55360d[0x0]['position'],_0x3c6249=Cesium__namespace['Cartesian3'][_0x433031(_0x14910e._0x3509ab,_0x14910e._0x3f0a84)](_0x445690,_0x393fad),_0x2e9d5c=Cesium__namespace['Cartesian3'][_0x150ba7(0x88d,_0x14910e._0x8c8d78)](_0x445690,_0x4e9760);if(_0x2e9d5c<_0x3c6249){const _0x16c45d=this['_showPolyline'](_0x445690,_0x393fad,_0x4e9760),_0x1f0eeb={};_0x1f0eeb['block']=!![],_0x1f0eeb['position']=_0x4e9760,_0x1f0eeb[_0x150ba7(0x1f7d,0x1920)]=_0x16c45d;const _0x58a47d=_0x1f0eeb;return this[_0x150ba7(0xbd2,_0x14910e._0x281cd0)](EventType[_0x433031(0x27e,_0x14910e._0x2dc21c)],_0x58a47d),_0x58a47d;}}function _0x150ba7(_0x66f6b1,_0xa682f4){return _0x306755(_0x66f6b1,_0xa682f4- -_0x2bdf66._0x19e87d);}const _0x78c5ad=this['_showPolyline'](_0x445690,_0x393fad),_0x456dbe={};_0x456dbe['block']=![],_0x456dbe['entity']=_0x78c5ad;const _0x324d89=_0x456dbe;return Cesium__namespace[_0x150ba7(_0x14910e._0x3f3dcb,0x1728)](this[_0x150ba7(0x13eb,_0x14910e._0x4fdf78)])&&(this['_map'][_0x150ba7(0x829,_0x14910e._0x60f985)][_0x433031(0x17b1,0x157b)][_0x150ba7(0x11b0,_0x14910e._0x242835)]=this['old_depthTestAgainstTerrain'],delete this['old_depthTestAgainstTerrain']),this['fire'](EventType[_0x433031(0x7bc,0x9d5)],_0x324d89),_0x324d89;}[_0x2b6441(0x86c,0x4b3)](_0x5b9f7b,_0x138a41,_0x46b048={}){const _0x2c56c7={_0x370a5f:0x939,_0x130611:0xb3},_0x59b504={_0x1fc721:0x19fc,_0x164a53:0xfee,_0x4d0768:0x1431},_0x17e544={_0x4cf6d3:0x232};function _0x37ec7e(_0x2ee594,_0x347f49){return _0x306755(_0x347f49,_0x2ee594- -0x336);}function _0x43d7e5(_0x4c7dc0,_0x446031){return _0x2b6441(_0x4c7dc0,_0x446031-0x289);}_0x46b048['offsetHeight']&&(_0x5b9f7b=addPositionsHeight(_0x5b9f7b,_0x46b048[_0x37ec7e(_0x2c56c7._0x370a5f,0xb38)]));const _0x31ac29={};_0x31ac29[_0x37ec7e(0x39d,_0x2c56c7._0x130611)]=_0x46b048['splitNum']||0x32,_0x31ac29['minDistance']=_0x46b048['minDistance'];const _0x4fad66=interLine([_0x5b9f7b,_0x138a41],_0x31ac29);return this['fire'](EventType['start']),new Promise((_0x4cd99e,_0x525546)=>{const _0x187bac={_0x3c8934:0x521,_0x287aee:0x6d,_0x5afac2:0x4a1,_0x290bec:0x105b},_0x283492={};function _0x566367(_0x5a3deb,_0x53d421){return _0x37ec7e(_0x5a3deb- -0x1c6,_0x53d421);}_0x283492[_0x566367(0x298,0xd32)]=this[_0x47784b(_0x59b504._0x1fc721,0x1261)],_0x283492[_0x47784b(_0x59b504._0x164a53,_0x59b504._0x4d0768)]=_0x4fad66;function _0x47784b(_0x15ca10,_0x486159){return _0x37ec7e(_0x486159- -_0x17e544._0x4cf6d3,_0x15ca10);}computeSurfacePoints(_0x283492)['then'](_0x409c80=>{const _0x1b2306={_0x4ec701:0x180};if(!_0x409c80['noHeight'])for(let _0x4ab14e=0x0;_0x4ab14e<_0x4fad66['length'];_0x4ab14e++){const _0x4fa284=_0x4fad66[_0x4ab14e],_0x36fec5=Cesium__namespace['Cartographic']['fromCartesian'](_0x4fa284)['height'],_0x1ca7bd=Cesium__namespace[_0x4f198e(_0x187bac._0x3c8934,0xd50)]['fromCartesian'](_0x409c80['positions'][_0x4ab14e])[_0x3e47ef(-0x320,0x6f6)];if(_0x36fec5<=_0x1ca7bd){const _0x587b90=this[_0x4f198e(0x399,-_0x187bac._0x287aee)](_0x5b9f7b,_0x138a41,_0x4fa284),_0xb04bd2={};_0xb04bd2[_0x3e47ef(0xda2,0x114b)]=!![],_0xb04bd2['position']=_0x4fa284,_0xb04bd2['entity']=_0x587b90;const _0x2d5d0d=_0xb04bd2;this[_0x4f198e(_0x187bac._0x5afac2,0x9f4)](EventType[_0x3e47ef(0xca6,0x44e)],_0x2d5d0d),_0x4cd99e(_0x2d5d0d);return;}}function _0x3e47ef(_0x12a9c0,_0x161026){return _0x47784b(_0x12a9c0,_0x161026-0x6c);}const _0x21173f=this['_showPolyline'](_0x5b9f7b,_0x138a41),_0x7aafc0={};function _0x4f198e(_0xa41928,_0x2f79d0){return _0x47784b(_0x2f79d0,_0xa41928-_0x1b2306._0x4ec701);}_0x7aafc0['block']=![],_0x7aafc0[_0x3e47ef(_0x187bac._0x290bec,0x14ae)]=_0x21173f;const _0x11303b=_0x7aafc0;this[_0x3e47ef(0x564,0x38d)](EventType[_0x4f198e(0x562,-0x3cf)],_0x11303b),_0x4cd99e(_0x11303b);});});}['_showPolyline'](_0x2e378b,_0x4342d5,_0xdcb658){const _0x27c950={_0xcf5777:0x1aa3,_0x444de6:0x19d5,_0x6fadf4:0x73a,_0xfd6d0c:0x6f,_0x1fcbd0:0xadf,_0x2f6ce9:0x475,_0x14c125:0x6a5},_0x4b2355={_0x293e73:0x51};function _0x59f79a(_0x3a1981,_0x13ae70){return _0x2b6441(_0x13ae70,_0x3a1981-0x642);}function _0x3d402d(_0x265ec7,_0x1a7958){return _0x2b6441(_0x1a7958,_0x265ec7-_0x4b2355._0x293e73);}if(_0xdcb658){const _0x379dad=this['_map']['entities'][_0x3d402d(0x7de,-0x1fc)](new Cesium__namespace['Entity']({'polyline':{'positions':[_0x2e378b,_0xdcb658],'width':0x2,'material':this[_0x59f79a(0x993,0x285)],'depthFailMaterial':this[_0x59f79a(0x6a5,0x20d)]}}));this[_0x59f79a(_0x27c950._0xcf5777,_0x27c950._0x444de6)][_0x59f79a(_0x27c950._0x6fadf4,-_0x27c950._0xfd6d0c)](_0x379dad);const _0xbf5aa=this['_map']['entities']['add'](new Cesium__namespace[(_0x3d402d(_0x27c950._0x1fcbd0,0x116f))]({'polyline':{'positions':[_0xdcb658,_0x4342d5],'width':0x2,'material':this[_0x3d402d(0xac,-0x14a)],'depthFailMaterial':this['_depthFailColor']}}));return this['lines']['push'](_0xbf5aa),[_0x379dad,_0xbf5aa];}else{const _0x3febfa=this['_map'][_0x59f79a(0xd09,0x1444)]['add'](new Cesium__namespace[(_0x3d402d(0xadf,_0x27c950._0x2f6ce9))]({'polyline':{'positions':[_0x2e378b,_0x4342d5],'width':0x2,'material':this[_0x59f79a(0x993,0x9e9)],'depthFailMaterial':this[_0x59f79a(_0x27c950._0x14c125,-0x326)]}}));return this['lines']['push'](_0x3febfa),[_0x3febfa];}}['clear'](){const _0x550431={_0x11d9ad:0x8d5,_0x397529:0xfb0},_0x5cf0e4={_0x34e2fa:0xe7};function _0x39de0e(_0x46bd0c,_0x535a17){return _0x306755(_0x535a17,_0x46bd0c- -_0x5cf0e4._0x34e2fa);}function _0x175d8b(_0x5e7803,_0x59776f){return _0x306755(_0x59776f,_0x5e7803-0xf8);}for(let _0x1400a1=0x0,_0x26455d=this['lines']['length'];_0x1400a1<_0x26455d;_0x1400a1++){this['_map'][_0x175d8b(0xd60,0x10e2)][_0x39de0e(_0x550431._0x11d9ad,_0x550431._0x397529)](this['lines'][_0x1400a1]);}this['lines']=[];}}register('sightline',Sightline);var fragmentShaderSource='#extension\x20GL_OES_standard_derivatives\x20:\x20enable\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0auniform\x20float\x20lineWidth;\x0auniform\x20float\x20height;\x0auniform\x20bvec3\x20strokeType;\x0auniform\x20vec3\x20tjxColor;\x0auniform\x20vec3\x20bjColor;\x0auniform\x20vec3\x20cameraPos;\x0auniform\x20float\x20mbDis;\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec4\x20toEye(in\x20vec2\x20uv,\x20in\x20float\x20depth)\x20{\x0a\x20\x20vec2\x20xy\x20=\x20vec2((uv.x\x20*\x202.0\x20-\x201.0),\x20(uv.y\x20*\x202.0\x20-\x201.0));\x0a\x20\x20vec4\x20posInCamera\x20=\x20czm_inverseProjection\x20*\x20vec4(xy,\x20depth,\x201.0);\x0a\x20\x20posInCamera\x20=\x20posInCamera\x20/\x20posInCamera.w;\x0a\x20\x20return\x20posInCamera;\x0a}\x0afloat\x20getDepthMars3D(in\x20vec4\x20depth)\x20{\x0a\x20\x20float\x20z_window\x20=\x20czm_unpackDepth(depth);\x0a\x20\x20z_window\x20=\x20czm_reverseLogDepth(z_window);\x0a\x20\x20float\x20n_range\x20=\x20czm_depthRange.near;\x0a\x20\x20float\x20f_range\x20=\x20czm_depthRange.far;\x0a\x20\x20return\x20(2.0\x20*\x20z_window\x20-\x20n_range\x20-\x20f_range)\x20/\x20(f_range\x20-\x20n_range);\x0a}\x0abool\x20isTJX(vec2\x20uv,\x20float\x20lw)\x20{\x0a\x20\x20vec2\x20pixelSize\x20=\x20lw\x20/\x20czm_viewport.zw;\x0a\x20\x20float\x20dx0\x20=\x20-pixelSize.x;\x0a\x20\x20float\x20dy0\x20=\x20-pixelSize.y;\x0a\x20\x20float\x20dx1\x20=\x20pixelSize.x;\x0a\x20\x20float\x20dy1\x20=\x20pixelSize.y;\x0a\x0a\x20\x20vec2\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x20dy0);\x0a\x20\x20vec4\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20float\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(0.0,\x20dy0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x20dy0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x200.0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x200.0);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx0,\x20dy1);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(0.0,\x20dy1);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20currUV\x20=\x20uv\x20+\x20vec2(dx1,\x20dy1);\x0a\x20\x20currDepth\x20=\x20texture(depthTexture,\x20currUV);\x0a\x20\x20depth\x20=\x20getDepthMars3D(currDepth);\x0a\x20\x20if(depth\x20>=\x201.0)\x0a\x20\x20\x20\x20return\x20true;\x0a\x0a\x20\x20return\x20false;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20color\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20if(height\x20>\x2014102.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20vec4\x20currD\x20=\x20texture(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20if(currD.r\x20>=\x201.0)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20return;\x0a\x20\x20}\x0a\x20\x20float\x20depth\x20=\x20getDepthMars3D(currD);\x0a\x20\x20vec4\x20positionEC\x20=\x20toEye(v_textureCoordinates,\x20depth);\x0a\x20\x20vec3\x20dx\x20=\x20dFdx(positionEC.xyz);\x0a\x20\x20vec3\x20dy\x20=\x20dFdy(positionEC.xyz);\x0a\x20\x20vec3\x20normal\x20=\x20normalize(cross(dx,\x20dy));\x0a\x0a\x20\x20if(strokeType.y\x20||\x20strokeType.z)\x20{\x0a\x20\x20\x20\x20vec4\x20wp\x20=\x20czm_inverseView\x20*\x20positionEC;\x0a\x20\x20\x20\x20if(distance(wp.xyz,\x20cameraPos)\x20>\x20mbDis)\x20{\x0a\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20color;\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20float\x20dotNum\x20=\x20abs(dot(normal,\x20normalize(positionEC.xyz)));\x0a\x20\x20\x20\x20\x20\x20if(dotNum\x20<\x200.05)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(bjColor,\x201.0);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20if(strokeType.x\x20||\x20strokeType.z)\x20{\x0a\x20\x20\x20\x20bool\x20tjx\x20=\x20isTJX(v_textureCoordinates,\x20lineWidth);\x0a\x20\x20\x20\x20if(tjx)\x20{\x0a\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(tjxColor,\x201.0);\x0a\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20out_FragColor\x20=\x20color;\x0a}\x0a';class Skyline extends BaseThing{constructor(_0x528cde={}){const _0x1f0522={_0x4b29b4:0xbd0,_0x28f880:0x149e};function _0x32fdea(_0x5868db,_0x42ea5f){return _0x2b6441(_0x42ea5f,_0x5868db-0x586);}super(_0x528cde),this['color']=_0x528cde['color']??new Cesium__namespace['Color'](0x1,0x0,0x0),this[_0x32fdea(_0x1f0522._0x4b29b4,0x154f)]=_0x528cde[_0x52452b(_0x1f0522._0x28f880,0xaee)]??0x2,this[_0x52452b(0x160b,0x1037)]=_0x528cde['strokeType']??new Cesium__namespace['Cartesian3'](!![],![],![]);function _0x52452b(_0x466f32,_0x5d2f9a){return _0x2b6441(_0x466f32,_0x5d2f9a-0x4a4);}this[_0x52452b(0x768,0xa6b)]=_0x528cde['bjColor']??new Cesium__namespace[(_0x32fdea(0xf19,0xe57))](0x0,0x0,0x1),this['distance']=_0x528cde['distance']??0x1f4;}[_0x2b6441(-0xa,-0x6c)](_0x1e58e7){_0x1e58e7?!this['postProcessStage']&&this['_addedHook']():this['postProcessStage']&&this['_removedHook']();}['_addedHook'](){const _0x5dbeca={_0x31b7bd:0x1075},_0x5e98f0={_0x48bdeb:0x2b0},_0x1cba56={_0x35e61a:0xb28,_0x15cba5:0x157a};function _0x30fd72(_0xbc5936,_0x29d434){return _0x306755(_0xbc5936,_0x29d434- -0x17d);}const _0x528c9d=this['_map'][_0x30fd72(0x8cf,0xecb)];this['postProcessStage']=new Cesium__namespace['PostProcessStage']({'fragmentShader':fragmentShaderSource,'uniforms':{'height':()=>{return _0x528c9d['positionCartographic']['height'];},'lineWidth':()=>{function _0x3a19d3(_0x415ab6,_0x4ed0a5){return _0x30fd72(_0x4ed0a5,_0x415ab6-0xba);}return this[_0x3a19d3(_0x1cba56._0x35e61a,_0x1cba56._0x15cba5)];},'strokeType':()=>{function _0x2d93f5(_0x5b4176,_0x3e027f){return _0x30fd72(_0x5b4176,_0x3e027f-_0x5e98f0._0x48bdeb);}return this[_0x2d93f5(0x93a,0x1267)];},'tjxColor':()=>{function _0x574ece(_0x2dc7e8,_0x167c4a){return _0x30fd72(_0x167c4a,_0x2dc7e8- -0x1bf);}return this[_0x574ece(0xb73,0x15a7)];},'bjColor':()=>{return this['bjColor'];},'cameraPos':()=>{return _0x528c9d['position'];},'mbDis':()=>{return this['distance'];}}});function _0x508230(_0x3365a9,_0xf861a1){return _0x306755(_0xf861a1,_0x3365a9- -0x431);}this['_map']['scene'][_0x508230(_0x5dbeca._0x31b7bd,0x1ada)]['add'](this['postProcessStage']);}[_0x2b6441(-0xc2,0x88a)](){const _0x41cb51={_0x11d509:0x132c,_0x26d88f:0x499,_0x24676c:0x6f8};function _0x2548f8(_0x33a384,_0x306bc1){return _0x2b6441(_0x33a384,_0x306bc1-0x104);}function _0x599737(_0x33350a,_0xc37329){return _0x306755(_0x33350a,_0xc37329- -0x372);}this['postProcessStage']&&(this[_0x2548f8(0x19bf,_0x41cb51._0x11d509)]['scene']['postProcessStages']['remove'](this[_0x599737(_0x41cb51._0x26d88f,_0x41cb51._0x24676c)]),this['postProcessStage']['destroy'](),delete this['postProcessStage']);}}register(_0x306755(0x1f59,0x17b0),Skyline);var ShadowRateFS='precision\x20highp\x20float;\x0auniform\x20sampler2D\x20u_positionTexture;\x0auniform\x20sampler2D\x20shadowMap_texture;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec4\x20getPositionECMars3D(vec2\x20uv)\x20{\x0a\x20\x20vec4\x20positionEC\x20=\x20texture(u_positionTexture,\x20uv);\x0a\x20\x20return\x20vec4(positionEC.xyz,\x201.0);\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec2\x20uv\x20=\x20v_textureCoordinates;\x0a\x20\x20float\x20maxDepth\x20=\x20shadowMap_cascadeSplits[1].w;\x0a\x20\x20vec4\x20positionEC\x20=\x20getPositionECMars3D(uv);\x0a\x20\x20vec3\x20normalEC\x20=\x20vec3(1.0);\x0a\x20\x20float\x20depth\x20=\x20-positionEC.z;\x0a\x0a\x20\x20if(depth\x20>\x20maxDepth)\x20{\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(0.0);\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20vec4\x20weights\x20=\x20czm_cascadeWeights(depth);\x0a\x20\x20\x20\x20vec4\x20shadowPosition\x20=\x20czm_cascadeMatrix(weights)\x20*\x20positionEC;\x0a\x20\x20\x20\x20float\x20deptha\x20=\x20czm_unpackDepth(texture(shadowMap_texture,\x20shadowPosition.xy));\x0a\x20\x20\x20\x20out_FragColor\x20=\x20vec4(step(shadowPosition.z,\x20deptha),\x200.0,\x201.0,\x202.0);\x0a\x20\x20//\x20out_FragColor\x20=\x20vec4(uv,\x201.0,\x202.0);\x0a\x20\x20}\x0a}\x0a',ShadowRateVS='in\x20vec4\x20position;\x0ain\x20vec2\x20textureCoordinates;\x0aout\x20vec2\x20v_textureCoordinates;\x0avoid\x20main()\x20{\x0a\x20\x20gl_Position\x20=\x20position;\x0a\x20\x20v_textureCoordinates\x20=\x20textureCoordinates;\x0a}\x0a';const texturePositions=new Float32Array([-0x1,-0x1,0x1,-0x1,0x1,0x1,-0x1,0x1]),textureUVs=new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1]),textureIndices=new Uint16Array([0x0,0x1,0x2,0x0,0x2,0x3]);function createTextureVA(_0x338c01){const _0x467dea={_0x4c1285:0x452,_0x2e22e0:0x34b,_0x12049c:0xbec,_0x16e34a:0x859,_0x5d8026:0xcfa,_0x1534a0:0x150e,_0x3ef7e1:0x10a,_0x2ef160:0x192a,_0x19350c:0x14b6,_0x1cf149:0xd70},_0x2c132a={_0x1e851d:0x92},_0x22bfea=Cesium__namespace['Buffer']['createVertexBuffer']({'context':_0x338c01,'typedArray':texturePositions,'usage':Cesium__namespace['BufferUsage'][_0x26b177(-_0x467dea._0x4c1285,_0x467dea._0x2e22e0)]}),_0x4822fa=Cesium__namespace['Buffer']['createVertexBuffer']({'context':_0x338c01,'typedArray':textureUVs,'usage':Cesium__namespace['BufferUsage']['STATIC_DRAW']}),_0x56570a=Cesium__namespace['Buffer'][_0x47e735(_0x467dea._0x12049c,0x4e7)]({'context':_0x338c01,'typedArray':textureIndices,'usage':Cesium__namespace[_0x47e735(0x48e,_0x467dea._0x16e34a)]['STATIC_DRAW'],'indexDatatype':Cesium__namespace[_0x47e735(_0x467dea._0x5d8026,_0x467dea._0x1534a0)][_0x26b177(_0x467dea._0x3ef7e1,0x4e2)]}),_0x25fe24={};_0x25fe24[_0x26b177(0x11cd,0xa49)]=0x0,_0x25fe24['vertexBuffer']=_0x22bfea,_0x25fe24[_0x47e735(0x13ab,_0x467dea._0x2ef160)]=0x2,_0x25fe24['componentDatatype']=Cesium__namespace['ComponentDatatype']['FLOAT'];const _0x465b75={};_0x465b75['index']=0x1,_0x465b75[_0x47e735(0xe88,0x7a3)]=_0x4822fa,_0x465b75['componentsPerAttribute']=0x2;function _0x47e735(_0x331add,_0x2f686d){return _0x2b6441(_0x2f686d,_0x331add-0x118);}_0x465b75[_0x26b177(0xfb1,_0x467dea._0x19350c)]=Cesium__namespace['ComponentDatatype']['FLOAT'];const _0x6686bf=[_0x25fe24,_0x465b75],_0x22aa4e={};_0x22aa4e['context']=_0x338c01,_0x22aa4e['attributes']=_0x6686bf,_0x22aa4e[_0x26b177(0x14bc,_0x467dea._0x1cf149)]=_0x56570a;function _0x26b177(_0x4a4e69,_0x19d955){return _0x2b6441(_0x4a4e69,_0x19d955-_0x2c132a._0x1e851d);}return new Cesium__namespace['VertexArray'](_0x22aa4e);}function createFramebuffer(_0x4dfd75,_0x40e7dc){const _0x1105bc={};return _0x1105bc['context']=_0x4dfd75,_0x1105bc['colorTextures']=[_0x40e7dc],_0x1105bc['destroyAttachments']=![],new Cesium__namespace['Framebuffer'](_0x1105bc);}function computeTextureResolution(_0x3393c2){const _0x12520d={_0x364e4d:0xc97,_0x488fb5:0x695},_0x472af0={_0x46acc1:0x18d},_0x233257=Cesium__namespace[_0x256695(0x13c1,0xa20)]['maximumTextureSize'],_0x35235c=Math[_0x214979(0xffa,_0x12520d._0x364e4d)](_0x3393c2,_0x233257);function _0x214979(_0x532622,_0x4ea557){return _0x306755(_0x532622,_0x4ea557- -_0x472af0._0x46acc1);}const _0x1f7797=Math[_0x256695(_0x12520d._0x488fb5,0x934)](_0x3393c2/_0x35235c);function _0x256695(_0x1e865e,_0x433b46){return _0x306755(_0x433b46,_0x1e865e-0x12e);}const _0x89d13={};return _0x89d13['x']=_0x35235c,_0x89d13['y']=_0x1f7797,_0x89d13;}function completionBuffer(_0x1baf97,_0x5c7f79){const _0x1acf86={_0x10e8d1:0x6b2},_0x1176d7={_0x5caa1c:0xa7},_0x1250a8=_0x5c7f79['x']*_0x5c7f79['y'],_0x263bbe=_0x1baf97['length']/0x4;function _0x2b737e(_0x23f83e,_0x93ef93){return _0x2b6441(_0x23f83e,_0x93ef93-_0x1176d7._0x5caa1c);}for(let _0x213d5b=_0x263bbe;_0x213d5b<_0x1250a8;_0x213d5b++){_0x1baf97[_0x2b737e(-_0x1acf86._0x10e8d1,0x19f)](0x0),_0x1baf97['push'](0x0),_0x1baf97['push'](0x0),_0x1baf97['push'](0x0);}}class ShadowRateDrawCommand{constructor(_0x5da342,_0x40fc7e){const _0x3e3ee7={_0x473dfe:0x1129,_0x545df0:0xb54,_0x3e8d3e:0xb7f,_0x52c661:0x14,_0x22e52c:0x802,_0x35312c:0xe1,_0x4ada3b:0x7e,_0x4442c9:0xae8,_0x308ecd:0x896,_0x40cef4:0x141,_0x322b1a:0x1943,_0x57f4ff:0x57f},_0x1fa6a2={_0x36fc2c:0x22e,_0x1964cb:0x83d,_0x430bea:0xce2,_0x5b4c87:0x10f4},_0x3d69a1={_0x3a62f8:0xbd4},_0x49d9d3={_0x2d76f0:0x511},_0x5ed59c={_0x4cfd3e:0x39};this[_0x5ae132(_0x3e3ee7._0x473dfe,_0x3e3ee7._0x545df0)]=new Cesium__namespace[(_0x5ae132(0xe40,_0x3e3ee7._0x3e8d3e))](),this['_scene']=_0x5da342,this['_positions']=_0x40fc7e,this['_stat']=![];const _0x6d81ac=_0x40fc7e[_0x5ae132(0xd16,0x1021)];this[_0xb758a(0xfd,0xdd)]=computeTextureResolution(_0x6d81ac);const _0x33b289=new Cesium__namespace[(_0xb758a(-0x393,0x6ed))]({'context':_0x5da342['context'],'source':{'arrayBufferView':new Float32Array(this[_0x5ae132(-0x729,_0x3e3ee7._0x52c661)]['x']*this['_requiredResolution']['y']*0x4),'width':this[_0x5ae132(-_0x3e3ee7._0x22e52c,0x14)]['x'],'height':this[_0x5ae132(0xa01,0x14)]['y']},'pixelDatatype':Cesium__namespace[_0x5ae132(_0x3e3ee7._0x35312c,_0x3e3ee7._0x4ada3b)]['FLOAT'],'pixelFormat':Cesium__namespace[_0x5ae132(_0x3e3ee7._0x4442c9,0xb2d)]['RGBA'],'flipY':![]}),_0x43c17d=createTextureVA(_0x5da342['context']),_0x11d081={};_0x11d081['position']=0x0;function _0x5ae132(_0x61fc8e,_0x25b45f){return _0x2b6441(_0x61fc8e,_0x25b45f- -_0x5ed59c._0x4cfd3e);}_0x11d081[_0x5ae132(_0x3e3ee7._0x308ecd,0x6cf)]=0x1;function _0xb758a(_0x522625,_0x1076ce){return _0x306755(_0x522625,_0x1076ce- -_0x49d9d3._0x2d76f0);}const _0x12ce90={};_0x12ce90[_0xb758a(-0x935,_0x3e3ee7._0x40cef4)]=_0x5da342['context'],_0x12ce90['vertexShaderSource']=ShadowRateVS,_0x12ce90['fragmentShaderSource']=ShadowRateFS,_0x12ce90['attributeLocations']=_0x11d081;const _0x380525=Cesium__namespace[_0x5ae132(0x883,0xd52)][_0x5ae132(_0x3e3ee7._0x322b1a,0x107b)](_0x12ce90);this[_0x5ae132(0x267,_0x3e3ee7._0x57f4ff)]=new Cesium__namespace['ComputeCommand']({'vertexArray':_0x43c17d,'shaderProgram':_0x380525,'outputTexture':_0x33b289,'uniformMap':{'shadowMap_cascadeSplits':()=>{return _0x5da342['shadowMap']['_cascadeSplits'];},'shadowMap_cascadeMatrices':()=>{function _0x55efa6(_0x36ad1f,_0x49bcc0){return _0x5ae132(_0x36ad1f,_0x49bcc0-0x177);}return _0x5da342['shadowMap'][_0x55efa6(0x16e,_0x3d69a1._0x3a62f8)];},'shadowMap_texture':()=>{return _0x5da342['shadowMap']['_shadowMapTexture'];},'u_positionTexture':()=>{return this['_positionTexture'];}},'persists':!![],'owner':this,'postExecute':_0x5a9bba=>{const _0x10fa9e={_0x325959:0x356},_0x17e3d3=createFramebuffer(_0x5da342[_0x5bdf09(0xd78,0x2a4)],_0x5a9bba),_0x53a3b8={};_0x53a3b8['framebuffer']=_0x17e3d3;function _0x4711ec(_0x1b19f1,_0x437580){return _0x5ae132(_0x437580,_0x1b19f1-_0x10fa9e._0x325959);}_0x53a3b8[_0x5bdf09(-_0x1fa6a2._0x36fc2c,_0x1fa6a2._0x1964cb)]=this['_requiredResolution']['x'],_0x53a3b8['height']=this['_requiredResolution']['y'];function _0x5bdf09(_0x20924e,_0x2a3b90){return _0xb758a(_0x20924e,_0x2a3b90-0x163);}const _0x53245a=_0x5da342['context'][_0x5bdf09(0xac9,_0x1fa6a2._0x430bea)](_0x53a3b8);this[_0x4711ec(0xeaa,_0x1fa6a2._0x5b4c87)]['raiseEvent'](_0x53245a['slice'](0x0,_0x6d81ac*0x4));}});}get[_0x2b6441(0x12d4,0x8cd)](){return this['_event'];}['start'](){const _0x2635ed={_0x1ee99e:0xb65,_0x2c4a59:0xadd,_0x21229d:0x4f2,_0x33eda3:0x2d4},_0x9c0ca9={_0x2bcead:0x564},_0x418700={_0x162835:0x632},_0x3a7904=this['_scene']['camera']['viewMatrix'],_0x171706=this[_0x245124(_0x2635ed._0x1ee99e,0xcdc)]['map'](_0x42e638=>Cesium__namespace[_0x54d546(0x29a,0xb35)]['multiplyByPoint'](_0x3a7904,_0x42e638,new Cesium__namespace[(_0x54d546(0x10c8,0x9e4))]())),_0x165fc1=[];_0x171706['forEach'](_0x210208=>{_0x165fc1['push'](_0x210208['x']),_0x165fc1['push'](_0x210208['y']),_0x165fc1['push'](_0x210208['z']),_0x165fc1['push'](0x0);});function _0x245124(_0x143017,_0x3b9d1d){return _0x2b6441(_0x3b9d1d,_0x143017-_0x418700._0x162835);}function _0x54d546(_0x494545,_0x5d4673){return _0x2b6441(_0x494545,_0x5d4673-_0x9c0ca9._0x2bcead);}this[_0x245124(0x5c0,0xe7)]&&this[_0x54d546(_0x2635ed._0x2c4a59,_0x2635ed._0x21229d)]['destroy'](),completionBuffer(_0x165fc1,this['_requiredResolution']),this[_0x245124(0x5c0,0xaa2)]=new Cesium__namespace[(_0x54d546(0x5ad,0xbc1))]({'context':this['_scene']['context'],'source':{'width':this['_requiredResolution']['x'],'height':this['_requiredResolution']['y'],'arrayBufferView':new Float32Array(_0x165fc1)},'pixelDatatype':Cesium__namespace[_0x54d546(-_0x2635ed._0x33eda3,0x61b)]['FLOAT'],'flipY':![]}),this[_0x54d546(0xdf7,0x141e)]=!![];}[_0x306755(0x71,0x9ff)](_0x1bb4c7){const _0x34dfb0={_0x16b8d1:0x289},_0x2387ef={_0x299011:0x191};function _0x3084db(_0x96f5cd,_0x46ae3b){return _0x2b6441(_0x46ae3b,_0x96f5cd-_0x2387ef._0x299011);}if(!this['drawCommand'])return;this['_stat']&&(_0x1bb4c7['commandList'][_0x3084db(_0x34dfb0._0x16b8d1,0x5ee)](this['drawCommand']),this['_stat']=![]);}[_0x2b6441(0x7b0,0x5ef)](){return![];}['destroy'](){const _0x3df478={_0x140ca8:0x74f,_0x2b31c9:0xca9};function _0x4d8505(_0x62fc4d,_0x46bb64){return _0x2b6441(_0x62fc4d,_0x46bb64-0xe);}this['_positionTexture']&&this[_0x4d8505(0x198,-0x64)][_0x218fcb(_0x3df478._0x140ca8,_0x3df478._0x2b31c9)]();function _0x218fcb(_0x143689,_0x486e50){return _0x306755(_0x143689,_0x486e50- -0x2e6);}Cesium__namespace[_0x4d8505(0xdbc,0xf95)](this);}}class Shadows extends BaseThing{get['shadowMap'](){return this['_map']['scene']['shadowMap'];}get[_0x2b6441(0x360,0xc84)](){const _0x4f9462={_0x531ba7:0x908,_0x12150e:0x164a},_0x1e48bc={_0x282dbc:0x192},_0x2daad7=this['_map']['clock'][_0x30013e(_0x4f9462._0x531ba7,0x805)];function _0x2528c4(_0x2a2684,_0xc3c778){return _0x306755(_0x2a2684,_0xc3c778- -_0x1e48bc._0x282dbc);}function _0x30013e(_0x1c15f9,_0x4d2470){return _0x306755(_0x1c15f9,_0x4d2470- -0x3a7);}return Cesium__namespace[_0x30013e(0x17d4,_0x4f9462._0x12150e)]['toDate'](_0x2daad7);}set['time'](_0x258df9){const _0xd21f13={_0x12b8c8:0x3f0};this['_map']['clock'][_0x4fb812(0x9fb,0xbb9)]=Cesium__namespace['JulianDate']['fromDate'](_0x258df9);function _0x4fb812(_0x264831,_0x148968){return _0x2b6441(_0x148968,_0x264831-_0xd21f13._0x12b8c8);}function _0xe1f848(_0x5285fa,_0x118b41){return _0x306755(_0x118b41,_0x5285fa- -0x550);}this[_0xe1f848(0x128b,0x1a6f)]();}get[_0x306755(0x1aa4,0x11c3)](){const _0x342e5b={_0x19b9a5:0x11ea};function _0x3b22d2(_0xcf89a3,_0x466cb1){return _0x306755(_0x466cb1,_0xcf89a3-0x163);}return this['_map'][_0x3b22d2(0x14fd,_0x342e5b._0x19b9a5)]['shouldAnimate'];}get['multiplier'](){return this['options']['multiplier']??0x640;}set['multiplier'](_0x40a7dd){function _0x3cb194(_0x3aaefb,_0x3e7b36){return _0x2b6441(_0x3aaefb,_0x3e7b36-0x1c);}function _0x18cab6(_0x5d606d,_0x376e79){return _0x306755(_0x5d606d,_0x376e79- -0x591);}this['options'][_0x3cb194(0x197,0xbc1)]=_0x40a7dd,this[_0x3cb194(0x9e6,0x1244)]&&(this['_map']['clock']['multiplier']=_0x40a7dd);}['_enabledHook'](_0x5dccdf){const _0x1b1dcf={_0x5e49fd:0x8ee,_0x29bb96:0x1e3,_0x5d54ec:0xed7,_0x26507f:0x116f,_0x531c99:0x1a41,_0x4a1afa:0x822,_0x11e35d:0x11af,_0x3a3609:0xcf1,_0x78214c:0x271,_0x313a10:0x789,_0x88c1ac:0xd5d},_0x50744a={_0x2a5965:0x16d};if(!this[_0x3126e9(0x11af,0x13ec)])return;this[_0x3126e9(0x11af,_0x1b1dcf._0x5e49fd)]['viewer'][_0x1ea61f(-0x5e9,_0x1b1dcf._0x29bb96)]=_0x5dccdf;function _0x1ea61f(_0x4a1dcc,_0x7e12dd){return _0x2b6441(_0x4a1dcc,_0x7e12dd-_0x50744a._0x2a5965);}function _0x3126e9(_0x51ab02,_0x466a3a){return _0x2b6441(_0x466a3a,_0x51ab02- -0x79);}(this[_0x3126e9(0x643,-0x359)]['terrain']??!![])&&(_0x5dccdf?this['_map'][_0x1ea61f(0x7a0,_0x1b1dcf._0x5d54ec)]['terrainShadows']=this['options'][_0x3126e9(_0x1b1dcf._0x26507f,_0x1b1dcf._0x531c99)]??Cesium__namespace[_0x3126e9(0x789,0xa27)][_0x3126e9(0x69f,_0x1b1dcf._0x4a1afa)]:this[_0x3126e9(_0x1b1dcf._0x11e35d,0x8ea)][_0x3126e9(_0x1b1dcf._0x3a3609,_0x1b1dcf._0x78214c)]['terrainShadows']=Cesium__namespace[_0x3126e9(_0x1b1dcf._0x313a10,0x666)]['DISABLED']),(this['options']['lighting']??!![])&&(this[_0x3126e9(0x11af,_0x1b1dcf._0x88c1ac)][_0x3126e9(0x44b,0x182)]['globe']['enableLighting']=_0x5dccdf);}[_0x2b6441(0x406,0xd6b)](){}[_0x306755(0xd55,0x99e)](){const _0x25fe6c={_0x10829c:0xac8,_0xc8c9e3:0x18ab,_0x6a64b2:0xf1a,_0x50c7c9:0x1484,_0x2e545f:0x1305,_0x2d6774:0xfd4,_0x338a3c:0xf7a,_0x317da4:0xba3,_0x3505de:0x6a8,_0x481fe7:0x9dc,_0x1ae029:0x1f7,_0x585296:0xf6b,_0x141571:0x1236,_0x28b7e7:0xd30,_0x3a7e70:0xef5,_0x39e5ad:0xe28,_0x4f15aa:0x15f3,_0x52fb3b:0xc37,_0x800f1b:0x1fef,_0x44c3d0:0x1310},_0x57bdd7={_0x185ab6:0xe2};function _0x28bec6(_0x286154,_0x2a1a9a){return _0x306755(_0x2a1a9a,_0x286154- -0x420);}this['_last_startTime']=this['_map']['clock'][_0x28bec6(_0x25fe6c._0x10829c,0x44c)],this['_last_stopTime']=this[_0x5f4be6(_0x25fe6c._0xc8c9e3,_0x25fe6c._0x6a64b2)][_0x5f4be6(0x147c,_0x25fe6c._0x50c7c9)][_0x5f4be6(0xa93,0xd6c)],this[_0x28bec6(0x13df,_0x25fe6c._0x2e545f)]=this[_0x28bec6(0x13a9,0xb45)]['clock'][_0x5f4be6(0xe28,_0x25fe6c._0x2d6774)],this[_0x5f4be6(0x1691,0x196f)]=this['_map'][_0x28bec6(_0x25fe6c._0x338a3c,_0x25fe6c._0x317da4)][_0x28bec6(0x8ce,0x3f0)],this['_last_multiplier']=this['_map'][_0x28bec6(0xf7a,_0x25fe6c._0x3505de)]['multiplier'],this[_0x28bec6(0xc6,_0x25fe6c._0x481fe7)]=this[_0x28bec6(0x13a9,0x9bc)]['viewer'][_0x28bec6(_0x25fe6c._0x1ae029,-0x1c0)],this['_enabledHook'](this[_0x28bec6(0xeb0,0xc4b)]);Cesium__namespace['defined'](this['options'][_0x28bec6(_0x25fe6c._0x585296,0x6c7)])&&(this[_0x28bec6(_0x25fe6c._0x141571,0x1822)][_0x28bec6(0xf6b,_0x25fe6c._0x28b7e7)]=this['options'][_0x5f4be6(0x146d,_0x25fe6c._0x3a7e70)]);this['_map']['clock'][_0x5f4be6(_0x25fe6c._0x39e5ad,0x3c6)]=![],this['_map']['clock']['clockRange']=this['options'][_0x5f4be6(0xdd0,_0x25fe6c._0x4f15aa)]??Cesium__namespace['ClockRange'][_0x28bec6(_0x25fe6c._0x52fb3b,0x15a8)],this[_0x5f4be6(0x18ab,_0x25fe6c._0x800f1b)]['clock'][_0x5f4be6(0x1228,_0x25fe6c._0x44c3d0)]=this[_0x28bec6(0xd26,0x1312)];function _0x5f4be6(_0x5d5675,_0x5df6ff){return _0x306755(_0x5df6ff,_0x5d5675-_0x57bdd7._0x185ab6);}this['options']['time']&&(this['time']=this['options'][_0x5f4be6(0x1307,0xf8e)]),this['_map']['on'](EventType['clockTick'],this['_onClockTickHanlder'],this);}[_0x306755(0xe1d,0xe2b)](){const _0x432764={_0x4ba115:0x6c1,_0x4bc6c7:0x8f0,_0x3f2164:0x33b,_0x4d97bc:0x1165,_0x1f98a6:0xd66,_0x22df55:0xca1,_0x4a4f21:0x187d,_0x32880c:0x338},_0xaa768d={_0x5ca40e:0xb4};this[_0x5afe82(_0x432764._0x4ba115,_0x432764._0x4bc6c7)](),this['_enabledHook'](![]),this['_map'][_0x4ef36c(0x6b3,0xcd7)]['shadows']=this['_last_shadows'];function _0x4ef36c(_0x42f863,_0x2e788a){return _0x306755(_0x42f863,_0x2e788a- -0x634);}this['_map']['clock'][_0x4ef36c(-_0x432764._0x3f2164,0x6ba)]=this['_last_clockRange'],this['_map'][_0x4ef36c(_0x432764._0x4d97bc,_0x432764._0x1f98a6)][_0x4ef36c(0x40d,0xb12)]=this[_0x5afe82(_0x432764._0x22df55,0x65f)];function _0x5afe82(_0x52956b,_0x4cafc1){return _0x306755(_0x52956b,_0x4cafc1-_0xaa768d._0x5ca40e);}this[_0x5afe82(0x12f3,_0x432764._0x4a4f21)]['clock']['shouldAnimate']=this['_last_shouldAnimate'],this['_map'][_0x4ef36c(0x9ca,_0x432764._0x32880c)](EventType['clockTick'],this['_onClockTickHanlder'],this);}[_0x2b6441(0xa74,0x1e5)](_0x52fbc4){const _0x21f4d2={_0x4122d0:0x8b5,_0x3258ab:0xe0},_0x58e57={_0x237b59:0x491};function _0x46f676(_0x12f837,_0x5e2f83){return _0x306755(_0x12f837,_0x5e2f83- -0x37d);}if(!this['_map']||!this[_0x46f676(0xf5a,0x144c)]['clock'][_0x5e113c(_0x21f4d2._0x4122d0,-_0x21f4d2._0x3258ab)])return;function _0x5e113c(_0x24b1b8,_0x57dda6){return _0x306755(_0x57dda6,_0x24b1b8- -_0x58e57._0x237b59);}this[_0x46f676(0xeec,0x50c)](EventType['change'],_0x52fbc4);}['start'](_0x4d33bc,_0x5c03a7,_0x23708a){const _0x37083a={_0x38a1db:0x1d08,_0x1c51cb:0x18a9,_0x128b44:0x1162},_0x56b213={_0x1d46cb:0x5ee},_0x23496d={_0x2f14fd:0x681};function _0x353b4d(_0x2f8b58,_0x577a33){return _0x2b6441(_0x577a33,_0x2f8b58-_0x23496d._0x2f14fd);}if(!this[_0x47c41f(0x1816,0x1f18)])return;function _0x47c41f(_0x5168cf,_0x368e48){return _0x2b6441(_0x368e48,_0x5168cf-_0x56b213._0x1d46cb);}if(!_0x4d33bc||!_0x5c03a7||_0x4d33bc>=_0x5c03a7)return;this['_enabledHook'](this[_0x47c41f(0x131d,_0x37083a._0x38a1db)]),this[_0x353b4d(_0x37083a._0x1c51cb,0x1ad1)]['clock']['startTime']=Cesium__namespace['JulianDate']['fromDate'](_0x4d33bc),this['_map']['clock'][_0x353b4d(0xc8c,0xec8)]=Cesium__namespace['JulianDate']['fromDate'](_0x23708a||_0x4d33bc),this['_map']['clock']['stopTime']=Cesium__namespace['JulianDate']['fromDate'](_0x5c03a7),this['_map'][_0x47c41f(0x13e7,_0x37083a._0x128b44)]['shouldAnimate']=!![];}['pause'](){function _0x6f13ef(_0x1e86dc,_0x246698){return _0x2b6441(_0x246698,_0x1e86dc- -0x81);}this['_map']&&(this[_0x6f13ef(0x11a7,0x17f9)]['clock']['shouldAnimate']=![]);}[_0x2b6441(0x2bd,0x9ea)](){this['_map']&&(this['_map']['clock']['shouldAnimate']=!![]);}['stop'](){const _0x3cb3ab={_0x2e7c62:0x1039},_0x48a194={_0x3539a9:0x240};function _0x4fd5bf(_0x3b6ffb,_0x4a1339){return _0x2b6441(_0x3b6ffb,_0x4a1339-_0x48a194._0x3539a9);}function _0x482565(_0x1d0697,_0x2913f8){return _0x306755(_0x2913f8,_0x1d0697-0x93);}this['_map']&&(this[_0x482565(0x185c,0x2049)][_0x4fd5bf(0xf65,_0x3cb3ab._0x2e7c62)][_0x4fd5bf(0xc3e,0x9e5)]=![]);}['clear'](){const _0x4bf3bc={_0x3a91fa:0x1aaf,_0x2e7ba7:0x12bf,_0x963dfc:0x14df,_0xf1559d:0x6ce,_0x71a92d:0x1767},_0x279b2f={_0x36ac30:0x50a};this['stop'](),this['currentTime']=new Date();function _0x170ca2(_0x5c1ccc,_0xc24663){return _0x306755(_0x5c1ccc,_0xc24663- -_0x279b2f._0x36ac30);}this[_0x170ca2(_0x4bf3bc._0x3a91fa,_0x4bf3bc._0x2e7ba7)]['clock']['startTime']=this['_last_startTime'];function _0x4b4ce9(_0x1fb8d6,_0x480f81){return _0x306755(_0x1fb8d6,_0x480f81- -0x2ea);}this[_0x4b4ce9(0x1528,_0x4bf3bc._0x963dfc)]['clock']['stopTime']=this[_0x170ca2(0xdbc,_0x4bf3bc._0xf1559d)],this['_rate_total']=0x0,delete this['_rate_positions'],this[_0x170ca2(_0x4bf3bc._0x71a92d,0xc94)]();}['startRate'](_0x2cdceb){const _0x4b9a6b={_0x3456df:0x426,_0x46e4f3:0x1b3a,_0x149aa9:0x426,_0x3b0ac7:0x905,_0x53ead8:0x826,_0x32e958:0xe4},_0xd1775a={_0x35ce51:0x1456},_0x3c13ed={_0x4a4144:0x3af},_0x55a9a2={_0x19ace6:0xc0b,_0x58e11e:0x63e,_0xdfb501:0x10d};return new Promise((_0xc7f506,_0x258f43)=>{const _0x23dc30={_0x1cdb79:0xe00,_0x2a97c9:0x371,_0x4751d6:0x1246};this[_0x4e318f(0xd84,0xfac)]();function _0x4e318f(_0x40cf21,_0x55d288){return _0x5bbe(_0x40cf21- -0x1a7,_0x55d288);}this['_isStartRate']=!![];if(!this['_map']||!_0x2cdceb['positions']||_0x2cdceb['positions']['length']===0x0)return _0xc7f506();if(!_0x2cdceb['startDate']||!_0x2cdceb[_0x485ed0(-0xb87,-0x18e)]||_0x2cdceb['startDate']>=_0x2cdceb['endDate'])return _0xc7f506();this['_promise_resolve']=_0xc7f506;const _0x8ed71b=getGridPointsByPoly(_0x2cdceb['positions'],_0x2cdceb[_0x4e318f(0x5d4,-0x3b1)],_0x2cdceb[_0x4e318f(_0x4b9a6b._0x3456df,0xcd6)]),_0x962264=[];if(Cesium__namespace['defined'](_0x2cdceb['minHeight'])&&Cesium__namespace[_0x485ed0(_0x4b9a6b._0x46e4f3,0x1190)](_0x2cdceb['maxHeight'])&&_0x2cdceb['minHeight']!==_0x2cdceb['maxHeight'])for(let _0xb6e814=_0x2cdceb[_0x4e318f(_0x4b9a6b._0x149aa9,0xb26)];_0xb6e814<_0x2cdceb['maxHeight'];_0xb6e814+=_0x2cdceb[_0x4e318f(0x5d4,_0x4b9a6b._0x3b0ac7)]){_0x8ed71b[_0x4e318f(_0x4b9a6b._0x53ead8,0x1048)](_0x379445=>{function _0x2ad191(_0x3f5a95,_0x4594b9){return _0x485ed0(_0x4594b9,_0x3f5a95-0x3f5);}function _0x15bf23(_0x3f9150,_0x4d5940){return _0x4e318f(_0x3f9150-0x11a,_0x4d5940);}const _0x1f0691=Cesium__namespace['Cartesian3']['fromDegrees'](_0x379445['lng'],_0x379445['lat'],_0xb6e814);_0x1f0691[_0x15bf23(0x6fe,_0x55a9a2._0x19ace6)]=_0x379445['lng'],_0x1f0691[_0x15bf23(_0x55a9a2._0x58e11e,-_0x55a9a2._0xdfb501)]=_0x379445['lat'],_0x1f0691['alt']=_0xb6e814,_0x1f0691['total']=0x0,_0x962264[_0x2ad191(0x46c,0xa81)](_0x1f0691);});}else _0x8ed71b[_0x4e318f(_0x4b9a6b._0x53ead8,_0x4b9a6b._0x32e958)](_0x522eec=>{function _0x55f1f2(_0x33a260,_0x35f60a){return _0x485ed0(_0x33a260,_0x35f60a-0x52c);}function _0x4fd183(_0xe72e0d,_0x50a2ce){return _0x4e318f(_0x50a2ce-0x148,_0xe72e0d);}const _0x36eb13=Cesium__namespace['Cartesian3']['fromDegrees'](_0x522eec['lng'],_0x522eec[_0x55f1f2(0xaf6,0x848)],_0x522eec[_0x55f1f2(_0x23dc30._0x1cdb79,_0x23dc30._0x2a97c9)]);_0x36eb13['lng']=_0x522eec['lng'],_0x36eb13['lat']=_0x522eec['lat'],_0x36eb13['alt']=_0x522eec['alt'],_0x36eb13[_0x55f1f2(0xb58,_0x23dc30._0x4751d6)]=0x0,_0x962264['push'](_0x36eb13);});function _0x485ed0(_0x235d69,_0x26141e){return _0x5bbe(_0x26141e- -_0x3c13ed._0x4a4144,_0x235d69);}this['_rate_positions']=_0x962264,setTimeout(()=>{function _0x3cca4d(_0x2949f6,_0x6e1b1e){return _0x4e318f(_0x2949f6-0x263,_0x6e1b1e);}this[_0x3cca4d(_0xd1775a._0x35ce51,0x1f0d)](_0x2cdceb);},0x50);});}['_startRate'](_0x1b9dc5){const _0x163541={_0x334455:0x1a61,_0x55218d:0x1866,_0x30c3ce:0x177e,_0x3440f7:0xa13,_0x4c0e5c:0xa8c,_0x37a35a:0x16c2,_0x2a6472:0x11a1},_0x2ca35e={_0x51d5e2:0xd22,_0x7031ff:0x671,_0x5686d7:0x14b6,_0x30b987:0x5ae,_0x1cf1c0:0x175b,_0x6a8aba:0x6d0,_0x47b82e:0x51f},_0x439679={_0x74964f:0x36e},_0x480472={_0x2a8d3f:0x107},_0x12053a={_0x340fc8:0x1630,_0xe4197b:0xe8a,_0x349de7:0x3d7},_0x42054e={_0x5adf78:0xea},_0x45f447={_0x3494ac:0xc3};this[_0x1f73bd(0x1f14,0x14bd)]=new ShadowRateDrawCommand(this[_0x3b2dba(_0x163541._0x334455,0x16c2)]['scene'],this[_0x1f73bd(-0x252,0x245)]),this['_map']['scene']['primitives'][_0x3b2dba(0x54b,0xc27)](this[_0x3b2dba(_0x163541._0x55218d,_0x163541._0x30c3ce)]),this[_0x3b2dba(0x166b,_0x163541._0x30c3ce)]['event']['addEventListener'](_0x2fba10=>{function _0x69c4e2(_0x431a67,_0x7bb962){return _0x1f73bd(_0x431a67,_0x7bb962-_0x45f447._0x3494ac);}const _0x19a07a=_0x2fba10['length'];let _0x1c4a89=0x0;for(let _0x56b0fa=0x0;_0x56b0fa<_0x19a07a;_0x56b0fa+=0x4){this['_rate_positions'][_0x1c4a89][_0x1795a7(_0x12053a._0x340fc8,_0x12053a._0xe4197b)]+=_0x2fba10[_0x56b0fa],_0x1c4a89+=0x1;}function _0x1795a7(_0x3a9429,_0x399b5f){return _0x1f73bd(_0x3a9429,_0x399b5f- -_0x42054e._0x5adf78);}this[_0x1795a7(-0x680,_0x12053a._0x349de7)](EventType['change']);});function _0x1f73bd(_0x295d2b,_0x2d1186){return _0x306755(_0x295d2b,_0x2d1186- -0x3c8);}this['_enabledHook'](this['enabled']);const _0x338957=Cesium__namespace['JulianDate']['fromDate'](_0x1b9dc5['startDate']),_0x7f7b13=Cesium__namespace['JulianDate'][_0x1f73bd(_0x163541._0x3440f7,_0x163541._0x4c0e5c)](_0x1b9dc5['endDate']);this['_map'][_0x1f73bd(0x654,0xfd2)][_0x3b2dba(0xb78,0xde1)]=_0x338957,this['_map']['clock']['currentTime']=_0x338957['clone'](),this[_0x3b2dba(0x1ace,_0x163541._0x37a35a)]['clock']['stopTime']=_0x7f7b13,this['_map']['clock'][_0x1f73bd(0xe25,0x97e)]=![],this['_rate_total']=0x0,this['fire'](EventType[_0x3b2dba(_0x163541._0x2a6472,0xa51)]);const _0x18b4a0=Cesium__namespace['JulianDate']['secondsDifference'](_0x7f7b13,_0x338957)/0x64;function _0x3b2dba(_0x8bad27,_0x43fcf5){return _0x306755(_0x8bad27,_0x43fcf5- -_0x480472._0x2a8d3f);}this['_timeTik']=setInterval(()=>{this['_map']['clock'][_0x1357c5(_0x2ca35e._0x51d5e2,_0x2ca35e._0x7031ff)]=Cesium__namespace[_0x1357c5(0x1760,_0x2ca35e._0x5686d7)][_0x4eaca9(0x179f,0x17c9)](this['_map'][_0x1357c5(_0x2ca35e._0x30b987,0xe5f)][_0x1357c5(0xb0e,0x671)],_0x18b4a0,this['_map'][_0x4eaca9(0x1340,0x885)]['currentTime']);function _0x4eaca9(_0x497697,_0x319eb4){return _0x1f73bd(_0x319eb4,_0x497697-_0x439679._0x74964f);}function _0x1357c5(_0x4183a6,_0x1883f3){return _0x3b2dba(_0x4183a6,_0x1883f3- -0x434);}this['_rate_total']++,this['_drawCommand']['start'](),Cesium__namespace[_0x1357c5(0x1567,0x14b6)][_0x4eaca9(0xebe,0x63c)](this[_0x4eaca9(0x176f,_0x2ca35e._0x1cf1c0)]['clock'][_0x1357c5(_0x2ca35e._0x6a8aba,0x671)],this['_map']['clock']['stopTime'])>=0x0&&this[_0x1357c5(0x971,_0x2ca35e._0x47b82e)]();},_0x1b9dc5['time']??0x1e);}['_map_clockStopTickHandler'](){const _0x4df29b={_0x1bf70b:0x4ac,_0x5025e3:0x1356},_0x5e4e3b={_0x1118d0:0x440};function _0x2cc0df(_0x47282c,_0x27a639){return _0x2b6441(_0x47282c,_0x27a639-_0x5e4e3b._0x1118d0);}this['stopRate']();for(let _0x24da50=0x0,_0x5d7ce1=this['_rate_positions']['length'];_0x24da50<_0x5d7ce1;_0x24da50++){this['_rate_positions'][_0x24da50]['rate']=0x1-this[_0x2cc0df(0xde0,_0x4df29b._0x1bf70b)][_0x24da50]['total']/this['_rate_total'];}function _0x2ff36c(_0xbbe60a,_0x1e0afc){return _0x2b6441(_0xbbe60a,_0x1e0afc-0x364);}const _0x5b4afd={};_0x5b4afd[_0x2cc0df(0xd31,0x11db)]=this[_0x2cc0df(0xdea,0x8f4)],_0x5b4afd[_0x2ff36c(0x11ce,0x175c)]=this['_rate_positions'];const _0x4529da=_0x5b4afd;this['_promise_resolve']&&(this['_promise_resolve'](_0x4529da),delete this['_promise_resolve']),this['fire'](EventType[_0x2cc0df(_0x4df29b._0x5025e3,0x167a)],_0x4529da);}['stopRate'](){const _0x1266e7={_0x2910f5:0x1205,_0x275c68:0x1615,_0x341b40:0x270,_0x31e899:0x12bc,_0x12f31f:0x18c4,_0x5c8213:0x1a3,_0x21bcf2:0x9c6},_0x3b5130={_0x1f4c12:0x28};if(!this[_0x581a23(_0x1266e7._0x2910f5,0xbc9)])return;function _0x717d64(_0x5ff3,_0x5cc063){return _0x306755(_0x5cc063,_0x5ff3- -0x649);}this['_timeTik']&&(clearInterval(this['_timeTik']),delete this['_timeTik']);this['_drawCommand']&&(this[_0x581a23(_0x1266e7._0x275c68,0x1200)]['scene'][_0x717d64(_0x1266e7._0x341b40,-0x82a)]['remove'](this[_0x581a23(0x1ba9,_0x1266e7._0x31e899)]),this[_0x717d64(0x123c,_0x1266e7._0x12f31f)][_0x581a23(_0x1266e7._0x5c8213,_0x1266e7._0x21bcf2)](),delete this['_drawCommand']);function _0x581a23(_0x1855ff,_0x3b76e6){return _0x2b6441(_0x1855ff,_0x3b76e6- -_0x3b5130._0x1f4c12);}this[_0x581a23(0x1335,0xbc9)]=![],this['fire'](EventType['end']);}}register(_0x2b6441(-0x8c2,0x76),Shadows);class Measure extends BaseThing{get[_0x2b6441(0x1a89,0x1021)](){return this['_graphicLayer'];}get['graphics'](){var _0xfea67e;return(_0xfea67e=this['_graphicLayer'])===null||_0xfea67e===void 0x0?void 0x0:_0xfea67e['graphics'];}get[_0x2b6441(0x10b,0x646)](){var _0x3d15f3;return(_0x3d15f3=this['_graphicLayer'])===null||_0x3d15f3===void 0x0?void 0x0:_0x3d15f3['isDrawing'];}get[_0x2b6441(0xd22,0xcf7)](){const _0x4f0b10={_0xb901fd:0x139e},_0x56c10f={_0x488a6d:0x6a7};var _0x235eb2;function _0x170a0a(_0x2f04bb,_0x28d626){return _0x2b6441(_0x2f04bb,_0x28d626-_0x56c10f._0x488a6d);}function _0x4cf004(_0x44582a,_0x2ddb79){return _0x306755(_0x2ddb79,_0x44582a- -0x600);}return(_0x235eb2=this[_0x170a0a(0x1f1b,0x1916)])===null||_0x235eb2===void 0x0?void 0x0:_0x235eb2[_0x170a0a(0xfc7,_0x4f0b10._0xb901fd)];}get['hasMeasure'](){const _0x2f7ca0={_0x5ba393:0x1d06,_0x5c5e99:0x1557};function _0x8c3d2d(_0x1eecf9,_0x6ef4ef){return _0x306755(_0x1eecf9,_0x6ef4ef- -0xa4);}function _0x2899df(_0x5c0201,_0x774ffe){return _0x306755(_0x5c0201,_0x774ffe- -0x1a0);}return this[_0x8c3d2d(0x1088,0x176c)][_0x8c3d2d(_0x2f7ca0._0x5ba393,_0x2f7ca0._0x5c5e99)]>0x0;}['_enabledHook'](_0x53b110){}['_setOptionsHook'](_0x478557,_0x218479){const _0x33ec2f={_0x109f2f:0x157a,_0x210916:0x13c2,_0x35782e:0x1e53};function _0x303647(_0x3e7238,_0x345780){return _0x2b6441(_0x3e7238,_0x345780-0x685);}function _0x1f2810(_0x58f935,_0x28ca5a){return _0x306755(_0x28ca5a,_0x58f935- -0x44e);}this[_0x1f2810(0x13c2,_0x33ec2f._0x109f2f)]&&this[_0x1f2810(_0x33ec2f._0x210916,_0x33ec2f._0x35782e)]['setOptions'](_0x218479);}[_0x2b6441(0xce1,0xd6b)](){const _0x43b97e={_0x44d11d:0x803,_0x7e85cf:0xd9c,_0x238a2b:0x194f,_0x563293:0x14b1,_0x1c3ebf:0x168c},_0x394386={_0x1ff675:0x11ea,_0x41012a:0x1548,_0xa01d55:0x71d,_0x1dc201:0xe6a},_0x3ce04d={_0x11b7a7:0x5f1},_0x39bf57={_0x2b6c9e:0xb2a,_0x3627ec:0xcce},_0x4e4b44={_0x27fc86:0x54};function _0x9a7087(_0x29ab1a,_0x14fda8){return _0x2b6441(_0x29ab1a,_0x14fda8-0x56c);}this['_graphicLayer']=new GraphicLayer({'hasEdit':!![],'eventParent':this,'isContinued':this['options'][_0x9a7087(0x723,_0x43b97e._0x44d11d)],'isAutoEditing':!this[_0x36bf0b(0xd33,_0x43b97e._0x7e85cf)]['isContinued'],...this['options'],'private':!![]});function _0x36bf0b(_0x27365b,_0x40fa4e){return _0x306755(_0x27365b,_0x40fa4e-0x13f);}this[_0x36bf0b(0x1fde,_0x43b97e._0x238a2b)]['hasEdit']&&this['_graphicLayer'][_0x9a7087(_0x43b97e._0x563293,_0x43b97e._0x1c3ebf)]([{'text':()=>{function _0x255c9a(_0x13fb22,_0x480e1c){return _0x36bf0b(_0x480e1c,_0x13fb22- -_0x4e4b44._0x27fc86);}function _0x5081fd(_0x2a8fdf,_0x2a65e0){return _0x36bf0b(_0x2a65e0,_0x2a8fdf- -0x382);}return this[_0x255c9a(0x18b4,0x17ac)][_0x5081fd(_0x39bf57._0x2b6c9e,0xea6)](_0x255c9a(_0x39bf57._0x3627ec,0x1617));},'icon':Icon['Delete'],'show':_0x1cbb62=>{const _0x218dae=_0x1cbb62['graphic'];return _0x218dae!==null&&_0x218dae!==void 0x0&&_0x218dae['inProgress']&&!_0x218dae['editing']||_0x218dae['options']['hasEdit']===![]||_0x218dae['options']['hasEditContextMenu']===![]?![]:!![];},'callback':_0x4860af=>{const _0x11dbcd={_0x503696:0x1bc},_0x3b48c5=_0x4860af['graphic'];function _0x2eb328(_0x33d5dc,_0x286293){return _0x9a7087(_0x286293,_0x33d5dc- -_0x3ce04d._0x11b7a7);}if(!_0x3b48c5)return;const _0x2beef8=_0x3b48c5['parent'];function _0x176202(_0x2296da,_0x39a99d){return _0x9a7087(_0x39a99d,_0x2296da- -_0x11dbcd._0x503696);}this[_0x2eb328(_0x394386._0x1ff675,_0x394386._0x41012a)][_0x2eb328(_0x394386._0xa01d55,_0x394386._0x1dc201)](_0x3b48c5),_0x2beef8&&this['_graphicLayer'][_0x2eb328(0x71d,0xba7)](_0x2beef8);}}]);}['_addedHook'](){this['_map']['addLayer'](this['_graphicLayer']);}[_0x306755(0x159c,0xe2b)](){const _0x55f37f={_0x10b7cd:0x1a17,_0x44e0d0:0x1333},_0xeaebe7={_0x2721e9:0xc4};function _0x124eed(_0x2c182a,_0x4ab49b){return _0x2b6441(_0x2c182a,_0x4ab49b-_0xeaebe7._0x2721e9);}this['_map']['removeLayer'](this[_0x124eed(_0x55f37f._0x10b7cd,_0x55f37f._0x44e0d0)]);}['distance'](_0x4f636c={}){const _0x495ac1={_0x5db6dd:0x19fa,_0x25e91c:0x171e},_0x22def6={_0x27ce9b:0x65c};this[_0x1c0ead(_0x495ac1._0x5db6dd,0x1290)]();function _0x478cb3(_0x5e8837,_0x247f31){return _0x2b6441(_0x247f31,_0x5e8837-_0x22def6._0x27ce9b);}_0x4f636c[_0x478cb3(_0x495ac1._0x25e91c,0x16d2)]='distanceMeasure';function _0x1c0ead(_0x426530,_0x44919c){return _0x2b6441(_0x426530,_0x44919c-0x4e1);}return this['_graphicLayer']['startDraw'](_0x4f636c);}['distanceSurface'](_0x26102c={}){const _0x1c9823={_0x39e41d:0x83b,_0x5156bd:0x16cf,_0x2a3c5a:0x7c7},_0x40dd81={_0x5b0f1e:0x6c},_0x21f71e={_0x4c49c7:0x53};function _0x34e14e(_0x1df8fc,_0x2b992a){return _0x306755(_0x1df8fc,_0x2b992a- -_0x21f71e._0x4c49c7);}this[_0x34e14e(_0x1c9823._0x39e41d,0x12fd)]();function _0x4df6fa(_0x3869af,_0xbd126f){return _0x306755(_0x3869af,_0xbd126f-_0x40dd81._0x5b0f1e);}return _0x26102c[_0x4df6fa(0x16be,_0x1c9823._0x5156bd)]=_0x4df6fa(0xdea,_0x1c9823._0x2a3c5a),this['_graphicLayer']['startDraw'](_0x26102c);}['section'](_0x2dfe99={}){const _0xa61d85={_0x41465e:0x6ff},_0x206803={_0x3b77be:0x65a};this['stopDraw']();function _0x56cb3f(_0x40273c,_0x377635){return _0x2b6441(_0x40273c,_0x377635-_0x206803._0x3b77be);}_0x2dfe99['type']=_0x56cb3f(0x133,_0xa61d85._0x41465e);function _0x1bdd34(_0x1cda12,_0x3b3e80){return _0x2b6441(_0x1cda12,_0x3b3e80-0x55a);}return this['_graphicLayer'][_0x1bdd34(0x16e6,0x133d)](_0x2dfe99);}['area'](_0xb2618={}){const _0x204a00={_0x34c4e5:0xe04},_0x36fb52={_0xfe1562:0x22d};function _0xd064ee(_0x5f25bc,_0x21e646){return _0x2b6441(_0x21e646,_0x5f25bc-_0x36fb52._0xfe1562);}this[_0xd064ee(0xfdc,0x111b)]();function _0x36a278(_0x52e9ff,_0x4cc82a){return _0x2b6441(_0x4cc82a,_0x52e9ff-0x60f);}return _0xb2618['type']=_0xd064ee(0x98e,_0x204a00._0x34c4e5),this[_0x36a278(0x187e,0x1645)]['startDraw'](_0xb2618);}['areaSurface'](_0x2b8631={}){const _0x6604a6={_0x28458b:0x1247},_0x5ba2d7={_0xca9685:0x6a7};this['stopDraw'](),_0x2b8631['type']=_0x3ea5c5(_0x6604a6._0x28458b,0x1239);function _0x3ea5c5(_0x2289ee,_0x7479bc){return _0x2b6441(_0x7479bc,_0x2289ee-0x46e);}function _0x3f077c(_0x397176,_0x3b349d){return _0x2b6441(_0x397176,_0x3b349d-_0x5ba2d7._0xca9685);}return this['_graphicLayer'][_0x3f077c(0x162a,0x148a)](_0x2b8631);}[_0x306755(0xe44,0xe1f)](_0x3617aa={}){this['stopDraw'](),_0x3617aa['type']=_0x3617aa['depth']?_0xba4d00(0xe7d,0x52c):'volumeMeasure';function _0xba4d00(_0x53f8d7,_0x2e1caf){return _0x306755(_0x2e1caf,_0x53f8d7- -0x381);}return this['_graphicLayer']['startDraw'](_0x3617aa);}['height'](_0x63a7c={}){const _0x54181a={_0x56644b:0x19e3};function _0xe37c3f(_0x5e2e63,_0x12a439){return _0x306755(_0x12a439,_0x5e2e63- -0x155);}this['stopDraw'](),_0x63a7c['type']=_0xe37c3f(0x160f,_0x54181a._0x56644b);function _0x2e2b46(_0x232d24,_0x10e85f){return _0x2b6441(_0x232d24,_0x10e85f- -0x55);}return this[_0x2e2b46(0x10b5,0x121a)][_0xe37c3f(0x122f,0x1759)](_0x63a7c);}['heightTriangle'](_0x44b7ae={}){const _0x917c1a={_0x25bb98:0xbc9};this['stopDraw']();function _0x423885(_0xd22465,_0x345f00){return _0x2b6441(_0x345f00,_0xd22465-0x19);}_0x44b7ae[_0x423885(0x10db,0x6f2)]=_0x423885(0x1092,_0x917c1a._0x25bb98);function _0x5e6317(_0x4332ff,_0xf037e0){return _0x306755(_0x4332ff,_0xf037e0- -0x41);}return this['_graphicLayer']['startDraw'](_0x44b7ae);}['angle'](_0x4bfcc8={}){const _0x2d2624={_0x1c37aa:0x8de};this['stopDraw']();function _0x384912(_0x25507e,_0x4dd0a7){return _0x306755(_0x25507e,_0x4dd0a7- -0x9f);}_0x4bfcc8['type']=_0x384912(_0x2d2624._0x1c37aa,0x851);function _0x2c4949(_0x2329df,_0x8e0292){return _0x306755(_0x8e0292,_0x2329df- -0x239);}return this[_0x2c4949(0x15d7,0x2004)]['startDraw'](_0x4bfcc8);}['point'](_0x407d09={}){const _0x442e69={_0x5bb607:0x164a},_0x5d1c73={_0x1ae834:0x588};this['stopDraw']();function _0x166afd(_0x21a7e1,_0xf11fc0){return _0x2b6441(_0x21a7e1,_0xf11fc0-_0x5d1c73._0x1ae834);}return _0x407d09[_0x166afd(0x17cd,_0x442e69._0x5bb607)]='pointMeasure',this['_graphicLayer']['startDraw'](_0x407d09);}['stopDraw'](){function _0x1e1b40(_0x4366fc,_0x466529){return _0x306755(_0x4366fc,_0x466529- -0x441);}return this[_0x1e1b40(0xf24,0x13cf)]['stopDraw']();}[_0x2b6441(0x37a,0xa19)](){const _0x47b831={_0x1a340e:0xa3c,_0x53f2b7:0x1ef};function _0xa8988a(_0xc5fc1b,_0x5e55a1){return _0x2b6441(_0x5e55a1,_0xc5fc1b-0x23);}return this['_graphicLayer'][_0xa8988a(_0x47b831._0x1a340e,_0x47b831._0x53f2b7)]();}['endDraw'](){function _0x4fe12d(_0x38f77c,_0x55ee3c){return _0x306755(_0x55ee3c,_0x38f77c-0x4e);}return this['_graphicLayer'][_0x4fe12d(0xa88,0x13e0)]();}['clear'](){const _0x25baa0={_0x480e23:0x1777},_0x26579a={_0x306d03:0x99};function _0x56afe1(_0x51f7ce,_0x2760d4){return _0x306755(_0x2760d4,_0x51f7ce- -_0x26579a._0x306d03);}return this[_0x56afe1(_0x25baa0._0x480e23,0x1485)]['clear']();}['updateUnit'](_0x4dcc7e){const _0x3c0844={_0x2f9bf6:0x9eb,_0x44b4dd:0x234},_0x4fce2b={_0x346d66:0xd74};function _0x261718(_0x47a877,_0x5e6aa1){return _0x306755(_0x5e6aa1,_0x47a877- -0xb6);}this['_graphicLayer'][_0x261718(_0x3c0844._0x2f9bf6,_0x3c0844._0x44b4dd)](_0x3d477d=>{_0x3d477d['options']['unit']=_0x4dcc7e;function _0x38bc2c(_0xd9e9da,_0x213c41){return _0x261718(_0x213c41-0x11e,_0xd9e9da);}_0x3d477d[_0x38bc2c(0xd77,_0x4fce2b._0x346d66)]&&_0x3d477d['showText'](_0x4dcc7e);});}['destroy'](_0x33efed){this['_graphicLayer']['destroy'](_0x33efed),super['destroy'](_0x33efed);}}register('measure',Measure,![]);class FloodByGraphic extends BaseThing{get[_0x306755(0x1a90,0x1999)](){const _0xc06772={_0x1b92cb:0x541};function _0x554ed5(_0x406bf6,_0x4daa22){return _0x2b6441(_0x4daa22,_0x406bf6-_0xc06772._0x1b92cb);}return this[_0x554ed5(0xbfd,0x808)]['positions'];}set[_0x2b6441(0xc7f,0x13f8)](_0x10469f){const _0x1321e7={_0x20ef84:0x15d,_0x218ef5:0x11c7,_0x48554c:0x99a,_0x18a6f1:0x4dc,_0x121ddf:0x6e4,_0x336bcc:0x14ef,_0x447eac:0xf2b},_0x11eac4={_0x32f484:0x171b,_0x364cf0:0x247,_0x421d0f:0xbc3,_0x4c26e9:0x4a2,_0x35f423:0x55a},_0x69eb7c={_0x58c08d:0x6b};function _0x1789ca(_0xbfce6b,_0x48b524){return _0x306755(_0xbfce6b,_0x48b524-_0x69eb7c._0x58c08d);}function _0x2a352f(_0x59e560,_0x39e7d2){return _0x2b6441(_0x39e7d2,_0x59e560-0x2de);}this[_0x2a352f(0x99a,_0x1321e7._0x20ef84)]['positions']=_0x10469f;if(_0x10469f){const _0x5cbc0f=[],_0x77ba03=[];_0x10469f['forEach'](_0x1ef571=>{const _0x4a6b17={_0x36e484:0xa3},_0x45c576=LngLatPoint['parse'](_0x1ef571);if(!_0x45c576||!_0x45c576[_0x7cac8e(_0x11eac4._0x32f484,0x161f)]())return;_0x45c576['_alt_bak']=_0x45c576[_0x7cac8e(_0x11eac4._0x364cf0,0x2b4)];function _0x7cac8e(_0xfc5589,_0x4ff4c8){return _0x2a352f(_0xfc5589-_0x4a6b17._0x36e484,_0x4ff4c8);}_0x77ba03[_0x17a37b(0x151,0x1bf)](_0x45c576);function _0x17a37b(_0x3fa129,_0x4694e5){return _0x2a352f(_0x3fa129- -0x285,_0x4694e5);}_0x5cbc0f[_0x7cac8e(0x479,_0x11eac4._0x421d0f)](_0x45c576[_0x17a37b(_0x11eac4._0x4c26e9,-_0x11eac4._0x35f423)](!![]));}),this[_0x2a352f(_0x1321e7._0x218ef5,0xe60)]=_0x77ba03,this[_0x2a352f(0xabd,0x1ad)]=_0x5cbc0f;if(this['_map']){const _0x1cacb3=this[_0x2a352f(_0x1321e7._0x48554c,_0x1321e7._0x18a6f1)][_0x2a352f(_0x1321e7._0x121ddf,0x390)]??Cesium__namespace[_0x2a352f(_0x1321e7._0x336bcc,0xe08)](this['_map'][_0x1789ca(0xa47,0xe6b)](_0x5cbc0f));!_0x1cacb3&&(!Cesium__namespace['defined'](this['_last_depthTestAgainstTerrain'])&&(this['_last_depthTestAgainstTerrain']=this['_map']['scene']['globe'][_0x1789ca(_0x1321e7._0x447eac,0x17bd)]),this[_0x1789ca(0x1134,0x1834)][_0x1789ca(0x8f0,0xad0)][_0x2a352f(0x122d,0xd3c)]['depthTestAgainstTerrain']=!![]);}}else this['_hierarchyPositions']=null;}get['height'](){const _0x49b2ad={_0x5dd95e:0x1eb},_0x5e38d7={_0x2adb0e:0x607};function _0x405635(_0xf2f9bd,_0x13504e){return _0x2b6441(_0xf2f9bd,_0x13504e-_0x5e38d7._0x2adb0e);}function _0x2fda5f(_0x5bf200,_0x5d93c1){return _0x2b6441(_0x5d93c1,_0x5bf200- -0x1a);}return this['_extrudedHeight']??this[_0x405635(0x78e,0xcc3)][_0x2fda5f(0x285,-_0x49b2ad._0x5dd95e)];}set['height'](_0x17161f){const _0x3207dd={_0x5bddf8:0xbbc,_0x56b363:0x7ca,_0x53f78f:0x16df,_0x519c05:0x13e9,_0x57c2e4:0x12d2,_0x2ec1c3:0xf0c},_0x251f17={_0xe32c9f:0x23};function _0x42ab5e(_0x1c142e,_0xbc94e8){return _0x2b6441(_0xbc94e8,_0x1c142e-0x500);}this['_extrudedHeight']=_0x17161f;if(this[_0x42ab5e(_0x3207dd._0x5bddf8,_0x3207dd._0x56b363)]['perPositionHeight']){!this['_poinst']&&this['options'][_0x832f1e(0x141b,_0x3207dd._0x53f78f)]&&(this['positions']=this[_0x832f1e(0x6df,0x43d)]['positions']);if(this[_0x42ab5e(_0x3207dd._0x519c05,_0x3207dd._0x57c2e4)]){const _0x4fa192=[];this[_0x832f1e(_0x3207dd._0x2ec1c3,0x1478)][_0x832f1e(0x6c2,-0x108)](_0x56fc3f=>{const _0x2856e3=LngLatPoint[_0x13a818(0x13ba,0x12c3)](_0x56fc3f);if(!_0x2856e3||!_0x2856e3['valid']())return;function _0x13a818(_0x116629,_0x299330){return _0x832f1e(_0x299330-0x71,_0x116629);}function _0x4dec62(_0x167f1a,_0x34bb4c){return _0x42ab5e(_0x34bb4c-0xad,_0x167f1a);}_0x2856e3['alt']=_0x2856e3['_alt_bak']+_0x17161f,_0x4fa192[_0x13a818(0x73d,0x18c)](_0x2856e3['toCartesian'](!![]));}),this['_hierarchyPositions']=_0x4fa192;}}function _0x832f1e(_0x4683d2,_0x478236){return _0x2b6441(_0x478236,_0x4683d2-_0x251f17._0xe32c9f);}this['fire'](EventType['change'],{'height':this['_extrudedHeight']});}get[_0x2b6441(0xaa5,0x8d9)](){const _0x4af086={_0x1b1da5:0x8d0,_0x1a248d:0x1181},_0x133ac5={_0x24bb72:0x9};function _0x4f3a3f(_0x3d9229,_0x2ade39){return _0x2b6441(_0x2ade39,_0x3d9229- -_0x133ac5._0x24bb72);}return this['options'][_0x4f3a3f(_0x4af086._0x1b1da5,_0x4af086._0x1a248d)];}set['speed'](_0x4ebe22){function _0x45f725(_0xff71b0,_0x2f17ef){return _0x306755(_0x2f17ef,_0xff71b0-0x61);}this['options'][_0x45f725(0xedb,0x1165)]=_0x4ebe22;}['_mountedHook'](){const _0x420453={_0x22a202:0x6e8,_0x3c83f6:0xa15,_0x218ce0:0x5a0,_0x74414b:0x420,_0xbef9ef:0xd30,_0x2c4e5e:0x1288},_0x4176a1={_0x10be83:0x12ae},_0x3ef714={_0x3e534d:0xf2},_0x47628e={};_0x47628e['name']=_0x6dac5(_0x420453._0x22a202,0xeea);function _0x30cffe(_0x5d22fb,_0x57d856){return _0x2b6441(_0x57d856,_0x5d22fb-0x56a);}_0x47628e['private']=!![],this['graphicLayer']=new GraphicLayer(_0x47628e),this[_0x6dac5(0x8df,0x135f)]=0x0;const _0x1025ec=new Cesium__namespace['PolygonHierarchy'](),_0x51bc7f={'color':'#007be6','opacity':0.5,'outline':![],...this[_0x30cffe(0xc26,0x13bb)]['style']};_0x51bc7f[_0x30cffe(_0x420453._0x3c83f6,0x176)]=!![];const _0x55ca13=_0x51bc7f;function _0x6dac5(_0x42f7a3,_0x2cc880){return _0x2b6441(_0x2cc880,_0x42f7a3-_0x3ef714._0x3e534d);}!this[_0x6dac5(0x7ae,0xbc5)]['perPositionHeight']&&(_0x55ca13[_0x6dac5(0x743,0x715)]=this['_extrudedHeight'],_0x55ca13['extrudedHeight']=new Cesium__namespace[(_0x6dac5(_0x420453._0x218ce0,-_0x420453._0x74414b))](_0x21d084=>{const _0x310330={_0x4c7de4:0xe4};function _0x33a52c(_0x1cedc3,_0x1b6e81){return _0x6dac5(_0x1cedc3- -_0x310330._0x4c7de4,_0x1b6e81);}return this[_0x33a52c(0x7fb,_0x4176a1._0x10be83)];},![]));const _0x1d6177=new PolygonEntity({'positions':new Cesium__namespace['CallbackProperty'](_0x23d0b6=>{function _0x3afe7c(_0xb69fac,_0x2cfd0d){return _0x30cffe(_0x2cfd0d- -0x68,_0xb69fac);}if(!this[_0xab03e0(0x4a2,0x93b)])return null;_0x1025ec[_0x3afe7c(0xe5a,0x18fa)]=this['_hierarchyPositions'];function _0xab03e0(_0x589397,_0x48d2fa){return _0x6dac5(_0x48d2fa-0x6a,_0x589397);}return _0x1025ec;},![]),'style':_0x55ca13,'allowDrillPick':!![]});this['graphic']=_0x1d6177,Cesium__namespace['defined'](this['options']['minHeight'])&&Cesium__namespace['defined'](this[_0x30cffe(0xc26,_0x420453._0xbef9ef)][_0x30cffe(_0x420453._0x2c4e5e,0x1821)])&&Cesium__namespace['defined'](this[_0x6dac5(0x7ae,0x792)]['positions'])&&this['setOptions']();}[_0x306755(0x1109,0x99e)](){const _0x2071dc={_0x26d706:0xdc8};function _0x22a9f9(_0x4ba91e,_0x183332){return _0x306755(_0x183332,_0x4ba91e- -0x3cd);}this['_map'][_0x22a9f9(_0x2071dc._0x26d706,0xaa0)](this['graphicLayer']),this['graphicLayer']['addGraphic'](this['graphic']);}['_removedHook'](){const _0x4f519f={_0x189708:0x1643,_0x434ce0:0x7d4},_0x1376d2={_0x1cb38e:0x539};function _0x2cb486(_0x312ed8,_0x388565){return _0x2b6441(_0x312ed8,_0x388565-0x235);}function _0x40f13e(_0x2d94fb,_0x590a7f){return _0x2b6441(_0x590a7f,_0x2d94fb-_0x1376d2._0x1cb38e);}this['_map'][_0x2cb486(_0x4f519f._0x189708,0x14b8)](this['graphicLayer']),this[_0x40f13e(_0x4f519f._0x434ce0,-0x166)]();}['setOptions'](_0x232ccd){const _0x5d355c={_0x1fa0c8:0x85f,_0x55907d:0x713,_0x15fb90:0xcad,_0x5c1445:0x1671};_0x232ccd&&(this['options']={...this['options'],..._0x232ccd});this['stop']();let _0x4a67fa=this[_0x4926d3(_0x5d355c._0x1fa0c8,0x64b)]['minHeight'],_0x2b7784=this[_0x220404(0x43b,_0x5d355c._0x55907d)][_0x4926d3(0x1f7,_0x5d355c._0x15fb90)];if(!Cesium__namespace['defined'](_0x4a67fa)){logError('minHeight\x20请传入有效数值!',_0x4a67fa);return;}if(!Cesium__namespace['defined'](_0x2b7784)){logError('maxHeight\x20请传入有效数值!',_0x2b7784);return;}if(_0x4a67fa>_0x2b7784){const _0x37aa6c=_0x4a67fa;_0x4a67fa=_0x2b7784,_0x2b7784=_0x37aa6c;}function _0x220404(_0x3cc601,_0x5ad629){return _0x306755(_0x3cc601,_0x5ad629- -0x54a);}this['_extrudedHeight']=_0x4a67fa,this[_0x220404(0x490,0x47f)]=_0x2b7784,this[_0x4926d3(_0x5d355c._0x5c1445,0x1387)]=this['options']['positions'];function _0x4926d3(_0x25353b,_0x1e62ef){return _0x306755(_0x25353b,_0x1e62ef- -0x612);}return this;}['start'](){const _0x25081c={_0xed3e0d:0xb8a},_0x1e0518={_0x4271c8:0x7ea,_0x40ced8:0x38e},_0x177a43={_0x46d2d1:0x109};if(!this['_hierarchyPositions']){logError(_0x43e4e9(0x1221,0x15d3));return;}this[_0x43e4e9(0x1343,0x11b0)]();function _0x43e4e9(_0x53b947,_0x4dcbb1){return _0x2b6441(_0x4dcbb1,_0x53b947-_0x177a43._0x46d2d1);}this[_0x43e4e9(0xd2b,_0x25081c._0xed3e0d)]=!![],this[_0x2f0798(0x8ef,0x65b)](EventType['start']);function _0x2f0798(_0x1a7305,_0x5c82ed){return _0x2b6441(_0x1a7305,_0x5c82ed-0x373);}this['_timeTik']=setInterval(()=>{const _0x14b782={_0x420411:0x40d};if(this['_extrudedHeight']>=this[_0x42f871(_0x1e0518._0x4271c8,_0x1e0518._0x40ced8)]){this['stop']();return;}function _0x569abe(_0x249f04,_0x3c7a28){return _0x2f0798(_0x3c7a28,_0x249f04- -0x24);}const _0x2e5b5b=this['_extrudedHeight']+this['speed'];function _0x42f871(_0x4e8a62,_0x5c136a){return _0x2f0798(_0x4e8a62,_0x5c136a- -_0x14b782._0x420411);}_0x2e5b5b>this['_maxHeight']?this[_0x42f871(0x632,0x5b7)]=this['_maxHeight']:this['height']=_0x2e5b5b;},0x64);}['stop'](){const _0x3658c0={_0xa60504:0xb2a,_0x2cafef:0x1032,_0x424a6a:0x51d,_0x19edd2:0x341},_0x5becfe={_0x159c16:0x609};function _0x45b1f4(_0x470fe9,_0x5cefd5){return _0x2b6441(_0x470fe9,_0x5cefd5-0x410);}function _0x2211c1(_0x70843d,_0x1a530a){return _0x306755(_0x1a530a,_0x70843d- -_0x5becfe._0x159c16);}if(!this['isStart'])return;this['_timeTik']&&(clearInterval(this['_timeTik']),delete this['_timeTik']),this[_0x45b1f4(_0x3658c0._0xa60504,_0x3658c0._0x2cafef)]=![],this[_0x45b1f4(_0x3658c0._0x424a6a,0x6f8)](EventType[_0x2211c1(_0x3658c0._0x19edd2,0x4d)]);}['restart'](){this['setOptions'](),this['start']();}['clear'](){const _0x405400={_0x5eb153:0x438,_0x3d9cb7:0x1a36,_0x2d976b:0x169d},_0x310193={_0xc88831:0x1da};this[_0x408801(0x17bf,0x1189)]=null;this[_0x408801(0x3fc,_0x405400._0x5eb153)]!=null&&(this[_0x1087d2(0x1c08,0x156a)]['scene'][_0x1087d2(_0x405400._0x3d9cb7,0x1291)][_0x1087d2(_0x405400._0x2d976b,0x14f3)]=this['_last_depthTestAgainstTerrain'],delete this['_last_depthTestAgainstTerrain']);function _0x1087d2(_0xf5e990,_0x53a75e){return _0x2b6441(_0xf5e990,_0x53a75e-0x342);}function _0x408801(_0x3cfb66,_0x4dbad9){return _0x306755(_0x4dbad9,_0x3cfb66- -_0x310193._0xc88831);}this[_0x408801(0x1601,0xb3f)]();}['destroy'](_0x1ed61c){const _0x1b78d9={_0x28d14c:0x14cf},_0x23a7d9={_0x3cb16f:0x397};this['graphicLayer']&&this['graphicLayer'][_0x5a0b9f(0xbf8,_0x1b78d9._0x28d14c)](_0x1ed61c);function _0x5a0b9f(_0xdbc87d,_0x5ea727){return _0x306755(_0x5ea727,_0xdbc87d- -_0x23a7d9._0x3cb16f);}super['destroy'](_0x1ed61c);}}register('floodByGraphic',FloodByGraphic,![]);class Slope extends BaseThing{constructor(_0x1bfeda={}){const _0x6192ce={_0x325403:0x870,_0x10e411:0x97a,_0x19d5e4:0x1edb,_0x2ae74d:0x55a,_0x4aea28:0x374,_0x61c085:0xcb6,_0x433ac1:0x883,_0x567be9:0xc3f,_0x4e909f:0x81f};super(_0x1bfeda),this['options']['arrow']=this[_0x550c8b(0x97a,_0x6192ce._0x325403)]['arrow']||{};function _0x550c8b(_0x25dc24,_0x446437){return _0x306755(_0x446437,_0x25dc24- -0x2e3);}function _0x3ab65d(_0x2b5ddf,_0x12384c){return _0x2b6441(_0x12384c,_0x2b5ddf-0x583);}this[_0x550c8b(_0x6192ce._0x10e411,0xa88)]['arrow'][_0x3ab65d(0x1575,_0x6192ce._0x19d5e4)]=this['options'][_0x550c8b(0x55a,-0x17f)][_0x550c8b(0x12b0,0x168b)]??!![],this[_0x3ab65d(0xc3f,0xe5e)]['arrow']['color']=this['options'][_0x550c8b(_0x6192ce._0x2ae74d,0x6b7)]['color']??Cesium__namespace['Color']['YELLOW'],this['options']['arrow']['width']=this['options']['arrow']['width']??0xf,this['options'][_0x550c8b(0x55a,_0x6192ce._0x4aea28)][_0x3ab65d(_0x6192ce._0x61c085,_0x6192ce._0x433ac1)]=this[_0x3ab65d(_0x6192ce._0x567be9,0xc96)][_0x3ab65d(_0x6192ce._0x4e909f,0xcc4)][_0x3ab65d(0xcb6,0xce7)]??0.3;}['_mountedHook'](){const _0x35aa24={_0x33eb05:0x1a39,_0x371c14:0x1276,_0x3fe8c0:0xfc4};this['graphicLayer']=new GraphicLayer({'name':'坡度坡向','tooltip':function(_0x495e2a){function _0x259cd3(_0x43decb,_0x4c2620){return _0x5bbe(_0x43decb-0x34,_0x4c2620);}var _0xbf9215;const _0x6bab60=(_0xbf9215=_0x495e2a[_0x3837af(_0x35aa24._0x33eb05,_0x35aa24._0x371c14)])===null||_0xbf9215===void 0x0?void 0x0:_0xbf9215[_0x259cd3(0xabd,_0x35aa24._0x3fe8c0)];function _0x3837af(_0x5b1291,_0x2b8e83){return _0x5bbe(_0x5b1291-0x3b9,_0x2b8e83);}if(!_0x6bab60)return;return'坡度:\x20'+_0x6bab60['slopeStr1']+'\x20\x20('+_0x6bab60['slopeStr2']+')<br\x20/>坡向:\x20'+_0x6bab60['direction']+'°';},...this['options'],'private':!![]});}[_0x306755(0x1266,0x99e)](){const _0x7b0b92={_0x205ff9:0xa59};this['_map']['addLayer'](this['graphicLayer']);function _0x3cd778(_0x33154a,_0x1812b4){return _0x2b6441(_0x33154a,_0x1812b4-0x39d);}function _0xb3a65f(_0x17eb0c,_0x5a9a78){return _0x306755(_0x5a9a78,_0x17eb0c- -0x63e);}this['options'][_0xb3a65f(0x135b,0x1df8)]&&this['options']['positions']['length']>0x0&&this[_0x3cd778(0xb7e,0xb2a)](this[_0x3cd778(0xaf7,_0x7b0b92._0x205ff9)]['positions'],this['options']);}[_0x2b6441(0x8ff,0x88a)](){const _0x3cc0c2={_0x4c9d27:0x1608,_0x11c067:0xa99},_0x368f7c={_0x1d4a31:0x3e0},_0xae523e={_0x39b554:0x6ae};function _0x5afb78(_0x4eba48,_0x2d6dc6){return _0x2b6441(_0x2d6dc6,_0x4eba48-_0xae523e._0x39b554);}function _0xa4423a(_0x65435f,_0x1a46cd){return _0x2b6441(_0x1a46cd,_0x65435f-_0x368f7c._0x1d4a31);}this[_0xa4423a(_0x3cc0c2._0x4c9d27,0x1655)]['removeLayer'](this['graphicLayer']),this[_0x5afb78(0x949,_0x3cc0c2._0x11c067)]();}['add'](_0x3bdc7b,_0x1fb9c4={}){const _0x18b8db={_0x8f3838:0x17c4,_0x13cf2f:0x613,_0x289fc3:0xac,_0x464617:0xa85,_0x186f6f:0x199,_0x2a356f:0x182c,_0x1eeeb2:0x10c1,_0x3fdaf5:0x159c,_0x364a8f:0x1242},_0x5587c0={_0x44cc0f:0x189,_0x509fde:0xf08,_0x42c905:0x577,_0x4bf0d8:0x81e,_0x60b6e6:0xbaf,_0x3abed5:0x572,_0xace484:0x290,_0x542625:0x6d2},_0x1bdf57={_0x433ba3:0x1e4},_0x4364c9={_0x245e10:0x47},_0x21f004={_0x10fc4c:0x53a},_0xb80b2c={_0x16657a:0x4af};function _0x5c6e77(_0x16e3bc,_0x2a393b){return _0x2b6441(_0x2a393b,_0x16e3bc-_0xb80b2c._0x16657a);}if(!_0x3bdc7b||_0x3bdc7b['length']<0x1)return;function _0x38cbb0(_0x1a0ab0,_0x4711c8){return _0x306755(_0x1a0ab0,_0x4711c8- -_0x21f004._0x10fc4c);}_0x3bdc7b=LngLatArray['toCartesians'](_0x3bdc7b);const _0x59b640={};_0x59b640[_0x5c6e77(0x18a7,_0x18b8db._0x8f3838)]=_0x3bdc7b,this[_0x38cbb0(-_0x18b8db._0x13cf2f,_0x18b8db._0x289fc3)]=_0x59b640,this['_stateOkIndex']=0x0,this['_arrowInstances']=[],this[_0x5c6e77(_0x18b8db._0x464617,0xe8)]=[];const _0x2fc6fd=_0x1fb9c4['splitNum']??0x8;if(_0x3bdc7b['length']>0x2&&_0x2fc6fd>0x1){const _0x437c3a={};_0x437c3a['scene']=this[_0x38cbb0(0xcb7,0x128f)]['scene'],_0x437c3a[_0x38cbb0(0xc40,0x145f)]=_0x3bdc7b,_0x437c3a['has3dtiles']=![],_0x437c3a['onlyPoint']=!![],_0x437c3a[_0x38cbb0(0x6ab,_0x18b8db._0x186f6f)]=_0x2fc6fd,interPolygon(_0x437c3a)[_0x5c6e77(0x1211,0x13a7)](_0x175dd4=>{this[_0xef54f6(_0x5587c0._0x44cc0f,0x76a)]['arrow']['length']?this[_0xef54f6(0x188a,_0x5587c0._0x509fde)]=this['options'][_0x333b88(0x4e7,-0x173)]['length']:this[_0xef54f6(0x17bb,_0x5587c0._0x509fde)]=Cesium__namespace['Math']['chordLength'](_0x175dd4[_0xef54f6(_0x5587c0._0x42c905,_0x5587c0._0x4bf0d8)],this[_0xef54f6(0xcae,0x12d6)][_0xef54f6(_0x5587c0._0x60b6e6,_0x5587c0._0x3abed5)]['globe']['ellipsoid'][_0x333b88(0x2df,-0x672)])*this[_0xef54f6(0xa24,0x76a)]['arrow']['scale'];function _0xef54f6(_0x4f8bbf,_0x3e83a5){return _0x38cbb0(_0x4f8bbf,_0x3e83a5-_0x4364c9._0x245e10);}this[_0x333b88(0x290,0x3c)]['maxHeight']=_0x175dd4['maxHeight'];function _0x333b88(_0x52f313,_0x56f93a){return _0x38cbb0(_0x56f93a,_0x52f313-_0x1bdf57._0x433ba3);}this[_0x333b88(_0x5587c0._0xace484,-0x13)][_0xef54f6(0xcd1,0x34d)]=_0x175dd4[_0x333b88(0x4ea,0x9f5)],_0x3bdc7b=[];for(let _0x22c683=0x0;_0x22c683<_0x175dd4['list']['length'];_0x22c683++){_0x3bdc7b[_0xef54f6(-0x674,0x1a6)](_0x175dd4['list'][_0x22c683]['pointDM']);}this[_0x333b88(_0x5587c0._0x542625,0xeeb)]=_0x3bdc7b[_0x333b88(0x12a5,0x1661)];for(let _0x224952=0x0;_0x224952<this[_0xef54f6(0x166,0x535)];_0x224952++){this['_fxOnePoint'](_0x3bdc7b[_0x224952],_0x1fb9c4);}});}else{this['_arrowLength']=this['options']['arrow'][_0x38cbb0(_0x18b8db._0x2a356f,_0x18b8db._0x1eeeb2)]??0x28,this[_0x38cbb0(0x26e,0x4ee)]=_0x3bdc7b[_0x38cbb0(_0x18b8db._0x3fdaf5,0x10c1)];for(let _0x4ac64b=0x0;_0x4ac64b<this['_stateAll'];_0x4ac64b++){this[_0x5c6e77(_0x18b8db._0x364a8f,0x15a8)](_0x3bdc7b[_0x4ac64b],_0x1fb9c4);}}}[_0x2b6441(0xd55,0xd93)](_0x4d189b,_0x500135){const _0x524252={_0x411366:0x362,_0x4ec33b:0x442,_0x154c80:0x39c,_0x30c636:0xcda,_0x2359cd:0x12d9,_0x5a008c:0x167e},_0x1e222d={_0x1373e8:0x1197,_0x3bec81:0x1207},_0x30d2b6={_0x1f3dc6:0x32e};if(!_0x4d189b)return;function _0x5dedc3(_0x20726b,_0x35d33b){return _0x306755(_0x20726b,_0x35d33b- -0x284);}const _0x358459={};_0x358459['position']=_0x4d189b,_0x358459['radius']=_0x500135[_0x5dedc3(_0x524252._0x411366,_0x524252._0x4ec33b)]??0x2,_0x358459['count']=_0x500135[_0x5dedc3(0x64c,_0x524252._0x154c80)]??0x4;function _0x139588(_0x1f9ef3,_0x1a5d8){return _0x2b6441(_0x1f9ef3,_0x1a5d8-_0x30d2b6._0x1f3dc6);}const _0x322b1b=getEllipseOuterPositions(_0x358459);_0x322b1b['push'](_0x4d189b);const _0x198385=this['_map'][_0x139588(0xa5d,0x7f2)][_0x5dedc3(_0x524252._0x30c636,0x126c)]['ellipsoid'],_0x5f0ada={};_0x5f0ada['scene']=this['_map']['scene'],_0x5f0ada['positions']=_0x322b1b,_0x5f0ada[_0x139588(0x991,0x734)]=_0x500135[_0x139588(0xd63,0x734)],_0x5f0ada[_0x139588(_0x524252._0x2359cd,_0x524252._0x5a008c)]=_0x500135['objectsToExclude'],_0x5f0ada['exact']=_0x500135['exact'],computeSurfacePoints(_0x5f0ada)['then'](_0x38d7c3=>{const _0x32cbdc={_0xbe90e9:0x87};if(this['_stateAll']===0x0)return;_0x38d7c3['noHeight']&&logWarn('未获取到高度值,贴地高度计算存在误差');const _0x13bbce=_0x198385['cartesianArrayToCartographicArray'](_0x38d7c3['positions']),_0x27d88b=_0x13bbce['pop']();let _0x5e0d5a=0x0,_0x4580c3=_0x13bbce[0x0][_0x4224ed(0x13fd,0x957)],_0x272ade=0x0,_0x348915=_0x13bbce[0x0]['height'];for(let _0x27555d=0x1;_0x27555d<_0x13bbce['length']-0x1;_0x27555d++){const _0x3bd288=_0x13bbce[_0x27555d];_0x3bd288['height']>_0x4580c3&&(_0x4580c3=_0x3bd288['height'],_0x5e0d5a=_0x27555d),_0x3bd288['height']<_0x348915&&(_0x348915=_0x3bd288['height'],_0x272ade=_0x27555d);}const _0x145ee7=_0x13bbce[_0x5e0d5a],_0x4e4cc6=_0x13bbce[_0x272ade];function _0x4ed553(_0x1b72d6,_0x260b31){return _0x5dedc3(_0x1b72d6,_0x260b31- -_0x32cbdc._0xbe90e9);}const _0x279aca=this[_0x4ed553(0xf44,_0x1e222d._0x1373e8)](_0x27d88b,_0x145ee7),_0x131d39=this[_0x4224ed(0xf79,_0x1e222d._0x3bec81)](_0x27d88b,_0x4e4cc6);function _0x4224ed(_0x4be85f,_0x2e41c3){return _0x139588(_0x4be85f,_0x2e41c3- -0x28);}_0x279aca>_0x131d39?this['_fxOnePointOk'](_0x4d189b,_0x27d88b,_0x145ee7,_0x279aca):this['_fxOnePointOk'](_0x4d189b,_0x27d88b,_0x4e4cc6,_0x131d39);});}['_fxOnePointOk'](_0x44781d,_0x580b20,_0x2aaa95,_0x32fa91){const _0x4b0b8c={_0x4d747c:0x4b1,_0x53983c:0x987,_0x43c8c0:0x1150,_0x33087e:0x1146,_0x227747:0x7e0,_0x165c52:0x741,_0x39c1a1:0x14d8,_0x52f24c:0xfd3,_0x35337b:0xb14,_0x496ee5:0x1091,_0x7e5b9e:0x4b,_0x595bf5:0x1cdd,_0x4600a0:0x9e1,_0x14c3e6:0xa03,_0x52e41c:0x1242,_0x54eac9:0x8e7,_0x33c9ea:0xbff},_0x3cff03={_0x36e893:0x63},_0x572a96={_0xbcc811:0x57f},_0x357290=Cesium__namespace['Cartographic']['toCartesian'](_0x580b20);function _0x54bbaa(_0x300278,_0x4f002b){return _0x2b6441(_0x300278,_0x4f002b-_0x572a96._0xbcc811);}let _0x29d641=Cesium__namespace[_0x54bbaa(_0x4b0b8c._0x4d747c,0x8e7)][_0x1bfd63(_0x4b0b8c._0x53983c,_0x4b0b8c._0x43c8c0)](_0x2aaa95);_0x29d641=getOnLinePointByLen(_0x357290,_0x29d641,this[_0x1bfd63(0x1398,_0x4b0b8c._0x33087e)]);let _0x2f3a62;_0x580b20['height']>_0x2aaa95['height']?_0x2f3a62=[_0x357290,_0x29d641]:_0x2f3a62=[_0x29d641,_0x357290];const _0x58dadf=getAngle(_0x2f3a62[0x0],_0x2f3a62[0x1],!![]);let _0x2649d6=Math[_0x1bfd63(_0x4b0b8c._0x227747,0xfa3)](_0x32fa91)*0xb4/Math['PI'];_0x2649d6=Number(_0x2649d6['toFixed'](0x2));const _0xd2420b=_0x2649d6+'°',_0x754663=(_0x32fa91*0x64)['toFixed'](0x2)+'%',_0xa2134={};function _0x1bfd63(_0x39c2c0,_0x320c76){return _0x306755(_0x320c76,_0x39c2c0- -_0x3cff03._0x36e893);}_0xa2134[_0x54bbaa(0x10da,0x11d5)]=_0x44781d,_0xa2134['slope']=_0x2649d6,_0xa2134[_0x54bbaa(0x118f,_0x4b0b8c._0x165c52)]=_0xd2420b,_0xa2134['slopeStr2']=_0x754663,_0xa2134[_0x1bfd63(_0x4b0b8c._0x39c1a1,_0x4b0b8c._0x52f24c)]=_0x58dadf;const _0x45b17d=_0xa2134;!this['_arrData']&&(this['_arrData']=[]);this[_0x1bfd63(_0x4b0b8c._0x35337b,_0x4b0b8c._0x496ee5)][_0x1bfd63(0x636,-_0x4b0b8c._0x7e5b9e)](_0x45b17d),this['fire'](EventType[_0x54bbaa(0xc01,0x1338)],{'data':_0x45b17d,'index':this[_0x1bfd63(0x9e1,0x6fa)]});if(this['options']['arrow'][_0x54bbaa(_0x4b0b8c._0x595bf5,0x1571)]){const _0x141e38={};_0x141e38[_0x54bbaa(0x1c6e,0x1977)]=_0x2f3a62,_0x141e38['attr']=_0x45b17d,this['_arrowInstances']['push'](_0x141e38);}this[_0x1bfd63(_0x4b0b8c._0x4600a0,_0x4b0b8c._0x14c3e6)]++;if(this['_stateOkIndex']>=this[_0x1bfd63(0x9c5,0x23f)]){if(this['options']['arrow']['show']&&this['_arrowInstances']['length']>0x0){const _0x28c2d7={};_0x28c2d7['instances']=this[_0x1bfd63(0x18cd,_0x4b0b8c._0x52e41c)],_0x28c2d7['style']={'materialType':PolylineArrow,...this['options'][_0x54bbaa(0x110a,0x81b)]};const _0x277972=new PolylineCombine(_0x28c2d7);this['graphicLayer'][_0x54bbaa(0xf84,0x5a7)](_0x277972);}this['fire'](EventType[_0x1bfd63(_0x4b0b8c._0x54eac9,_0x4b0b8c._0x33c9ea)],{...this['_eventResult'],'data':this['_arrData']});}}['getSlope'](_0x260cdd,_0x5d6915){const _0x48641={_0x391503:0x1e76,_0x5e22f8:0xb87,_0x23c076:0xd28,_0x29c717:0xb16,_0x1a149e:0x6f5,_0x5103de:0x5e5,_0x324587:0x1862},_0x36e896={_0x1c8f91:0x3ac};function _0x19bae4(_0x1a96d5,_0x2898dc){return _0x2b6441(_0x2898dc,_0x1a96d5-_0x36e896._0x1c8f91);}if(!_0x260cdd||!_0x5d6915)return;function _0x5268cd(_0x45d360,_0x7eeab2){return _0x306755(_0x45d360,_0x7eeab2- -0x6b);}const _0x2ce75b=Math[_0x5268cd(_0x48641._0x391503,0x13f6)](_0x260cdd[_0x5268cd(0x999,_0x48641._0x5e22f8)]-_0x5d6915[_0x19bae4(0x9fd,0xc43)]),_0x10fb6d=Cesium__namespace['Cartesian3'][_0x19bae4(_0x48641._0x23c076,_0x48641._0x29c717)](Cesium__namespace['Cartographic'][_0x19bae4(0x7f5,_0x48641._0x1a149e)](_0x260cdd),Cesium__namespace[_0x19bae4(0x82c,_0x48641._0x5103de)]['fromRadians'](_0x5d6915['longitude'],_0x5d6915[_0x19bae4(0xdde,_0x48641._0x324587)],_0x260cdd['height'])),_0x1c29a5=_0x2ce75b/_0x10fb6d;return _0x1c29a5;}['clear'](){const _0x57fc9c={_0xe684e4:0x13d6,_0xa55dc6:0x94e},_0x36cf06={_0x133edb:0x378};this['graphicLayer'][_0xecc8c(0x103c,0x889)]();function _0xecc8c(_0x3401ff,_0x38d2ae){return _0x2b6441(_0x3401ff,_0x38d2ae-0x5ee);}this['_arrowInstances']=[],this[_0x2a3a55(_0x57fc9c._0xe684e4,_0x57fc9c._0xa55dc6)]=[],this[_0xecc8c(0x8cd,0xa75)]=0x0;function _0x2a3a55(_0x4d3e33,_0x174f33){return _0x2b6441(_0x4d3e33,_0x174f33-_0x36cf06._0x133edb);}this['_stateOkIndex']=0x0;}static['getSlope'](_0xe0a71f){const _0x2f8e11={_0xb7c435:0x155e,_0x18f29f:0xbc9,_0x1cf8d6:0x954};return new Promise((_0x5cd657,_0x3ce0f6)=>{const _0x50afa5={_0x7b470d:0x39e},_0x4ca1ac={};_0x4ca1ac[_0x395349(_0x2f8e11._0xb7c435,_0x2f8e11._0x18f29f)]=![];const _0x48dea0={};_0x48dea0['show']=![];function _0x395349(_0x34903c,_0x4ebb00){return _0x5bbe(_0x34903c-0x23e,_0x4ebb00);}function _0x5b8a3f(_0x5ee488,_0x2305ae){return _0x5bbe(_0x5ee488-_0x50afa5._0x7b470d,_0x2305ae);}const _0x1e0c48={};_0x1e0c48['point']=_0x4ca1ac,_0x1e0c48['arrow']=_0x48dea0;const _0x2d5d3c=new Slope(_0x1e0c48);_0x2d5d3c['addTo'](_0xe0a71f['map']),_0xe0a71f[_0x395349(0x1325,_0x2f8e11._0x1cf8d6)]&&_0x2d5d3c['on'](EventType['endItem'],_0xe0a71f[_0x5b8a3f(0x1485,0x1961)]),_0x2d5d3c['on'](EventType[_0x5b8a3f(0xa75,0xec6)],_0x34acfc=>{_0x2d5d3c['destroy'](),_0x5cd657(_0x34acfc);}),_0x2d5d3c['add'](_0xe0a71f['positions'],_0xe0a71f);});}}register(_0x2b6441(0x2c2,0x131),Slope,![]);class TerrainPlanClip extends BaseThing{get['positions'](){const _0x504623={_0x533ab5:0x7f1};function _0x50fcbe(_0x5becaa,_0x1cc917){return _0x2b6441(_0x1cc917,_0x5becaa- -0x24);}return this[_0x50fcbe(0x50f,_0x504623._0x533ab5)];}set[_0x306755(0x1622,0x1999)](_0x4ee9b5){const _0x2abf2a={_0x5095b2:0x11ed,_0x2b0bbe:0x12b5,_0xb9ccda:0x722,_0x79bd2a:0x25e,_0x25f2ee:0xf48,_0x21dfc4:0xc95,_0x53a5f4:0x10e2,_0x51ed36:0x8ab,_0x191396:0xd7d},_0x416044={_0x3ba1c3:0x1ef};this['clear']();if(!_0x4ee9b5||_0x4ee9b5[_0x4d4244(0x12e7,_0x2abf2a._0x5095b2)]<0x2){logError(_0x4d4244(0xa3a,_0x2abf2a._0x2b0bbe),_0x4ee9b5);return;}this[_0x117a91(_0x2abf2a._0xb9ccda,_0x2abf2a._0x79bd2a)]=LngLatArray['toCartesians'](_0x4ee9b5);function _0x4d4244(_0x43ede7,_0x1bd366){return _0x2b6441(_0x43ede7,_0x1bd366-0x193);}function _0x117a91(_0x50b8c5,_0x18b381){return _0x2b6441(_0x18b381,_0x50b8c5-_0x416044._0x3ba1c3);}this['_positions']['length']===0x2?this['setLine'](this['_positions']):(this[_0x117a91(0x1417,_0x2abf2a._0x25f2ee)]['scene'][_0x4d4244(_0x2abf2a._0x21dfc4,_0x2abf2a._0x53a5f4)][_0x4d4244(0x157e,0x136c)]=new Cesium__namespace['ClippingPolygonCollection']({'polygons':[new Cesium__namespace['ClippingPolygon']({'positions':this['_positions']})],'inverse':this['clipOutSide'],'enabled':!![]}),this['options']['image']&&Cesium__namespace['defined'](this[_0x117a91(_0x2abf2a._0x51ed36,0x886)][_0x117a91(0x66e,_0x2abf2a._0x191396)])&&this['_addAreaHook'](this['_positions']));}async['_addAreaHook'](_0x5c8e04){const _0x9f0aae={_0x3d6dc5:0x1083,_0x53d1a4:0x56f,_0xd77f46:0x21b,_0x2aea58:0x8a6,_0x17da65:0x20,_0x43670b:0xf8e,_0x21e897:0x8a2,_0x7acbbd:0x767,_0x55a216:0xc7c,_0x356584:0x1df4},_0x5e7d9e={_0x3cac49:0xab},_0x1eba20={_0x3b2964:0x709};function _0x2260c4(_0x5e6e5a,_0x180a0b){return _0x2b6441(_0x5e6e5a,_0x180a0b-_0x1eba20._0x3b2964);}await this[_0x2260c4(0x16e9,0x1931)]['readyPromise'];this['_map']['scene']['_terrainProviderPromise']&&await this[_0x2cc4cc(0x12d3,_0x9f0aae._0x3d6dc5)][_0x2cc4cc(_0x9f0aae._0x53d1a4,-_0x9f0aae._0xd77f46)][_0x2cc4cc(_0x9f0aae._0x2aea58,_0x9f0aae._0x17da65)];const _0x129c13=await computeSurfaceLine({'map':this['_map'],'positions':_0x5c8e04[_0x2260c4(0xd98,_0x9f0aae._0x43670b)](_0x5c8e04[0x0]),'has3dtiles':![],'exact':this[_0x2cc4cc(0x767,_0x9f0aae._0x21e897)]['exact'],'splitNum':this[_0x2cc4cc(_0x9f0aae._0x7acbbd,_0x9f0aae._0x55a216)]['splitNum']??0x1e});function _0x2cc4cc(_0x499393,_0x3ff31d){return _0x2b6441(_0x3ff31d,_0x499393-_0x5e7d9e._0x3cac49);}this[_0x2260c4(_0x9f0aae._0x356584,0x1acf)](_0x5c8e04,_0x129c13['positions']);}['_addPitGraphic'](_0x54a955,_0x5290b0){const _0x26272b={_0x1ea8e7:0xad3,_0x2b6562:0x810,_0x31c934:0xfe8,_0x54e271:0x17af,_0x432ead:0x1400,_0x775035:0x14d6,_0x3a90fc:0x739,_0x27102e:0xf31,_0x54c85c:0xd63,_0x16517e:0x14f8,_0x46e07f:0x1c1c,_0x2f9897:0x1a9f},_0x2a132d={_0x3806c2:0x154},_0x44eba3=[];let _0xd41a76=Number['MAX_VALUE'];function _0x5d25b8(_0x2b7757,_0x2d81de){return _0x2b6441(_0x2d81de,_0x2b7757-_0x2a132d._0x3806c2);}for(let _0x178463=0x0,_0x92aa36=_0x5290b0['length'];_0x178463<_0x92aa36;_0x178463++){const _0x2b3cc6=Cesium__namespace[_0x5d25b8(0x4bc,0x943)]['fromCartesian'](_0x5290b0[_0x178463]);_0xd41a76=Math[_0x2e93eb(_0x26272b._0x1ea8e7,0xf2a)](_0xd41a76,_0x2b3cc6['height']),_0x44eba3['push'](_0x2b3cc6['height']);}const _0x4f7280=_0xd41a76-this[_0x5d25b8(_0x26272b._0x2b6562,_0x26272b._0x31c934)][_0x5d25b8(0x5d3,0xfdf)],_0x3f7c45=Array(_0x5290b0['length'])['fill'](_0x4f7280);function _0x2e93eb(_0x5d92d2,_0x50af0c){return _0x306755(_0x5d92d2,_0x50af0c-0x106);}const _0x2fd73b={};_0x2fd73b['height']=_0x4f7280,_0x2fd73b[_0x2e93eb(0x6de,0x946)]=_0xd41a76,_0x2fd73b[_0x5d25b8(0x12ba,_0x26272b._0x54e271)]=_0x5290b0,_0x2fd73b[_0x2e93eb(_0x26272b._0x432ead,_0x26272b._0x775035)]=_0x3f7c45,_0x2fd73b['maximumHeights']=_0x44eba3;const _0x50b71e={};_0x50b71e[_0x2e93eb(_0x26272b._0x3a90fc,0x95c)]=this[_0x2e93eb(_0x26272b._0x27102e,_0x26272b._0x54c85c)],_0x50b71e[_0x2e93eb(_0x26272b._0x16517e,0x14f8)]=_0x2fd73b,_0x50b71e[_0x2e93eb(_0x26272b._0x46e07f,_0x26272b._0x2f9897)]=_0x54a955;const _0x3eb834=new PitEntity(_0x50b71e);this['_graphicLayer']['addGraphic'](_0x3eb834);}get[_0x306755(0x1284,0xa20)](){return this['options']['diffHeight'];}set[_0x306755(0xea0,0xa20)](_0xacc6f7){const _0x31eb26={_0x231ffd:0xe39},_0x488cd9={_0x17ff63:0x4fb};this[_0x11e481(0x832,0x762)][_0x42f293(0xb15,_0x31eb26._0x231ffd)]=_0xacc6f7;function _0x11e481(_0x5d6b81,_0x177e66){return _0x306755(_0x5d6b81,_0x177e66- -_0x488cd9._0x17ff63);}function _0x42f293(_0x1f6d3b,_0x38d48a){return _0x306755(_0x38d48a,_0x1f6d3b-0xf5);}this['_graphicLayer']&&this['_graphicLayer']['eachGraphic'](_0x3b1290=>{function _0x83a315(_0x1ab674,_0x4df379){return _0x42f293(_0x1ab674- -0xf8,_0x4df379);}_0x3b1290[_0x83a315(0xa1d,0x1143)]=_0xacc6f7;});}get[_0x306755(0x3a,0xa4b)](){function _0x4a49b0(_0x216a0e,_0x204300){return _0x2b6441(_0x216a0e,_0x204300-0x6fb);}return this[_0x4a49b0(0x1362,0xdb7)]['clipOutSide'];}set[_0x306755(0x1aa,0xa4b)](_0x4f41ff){const _0xe4aa4={_0x3acf23:0xb49,_0x36cd82:0x1390,_0x2a4ec2:0x951,_0x5c76ac:0x1344,_0x1088e0:0x1c6},_0x2f87de={_0xe66895:0x32e};function _0x5d8342(_0x203128,_0x886504){return _0x306755(_0x886504,_0x203128- -0x114);}function _0x574143(_0x2cfb6b,_0x29c2cd){return _0x2b6441(_0x29c2cd,_0x2cfb6b-_0x2f87de._0xe66895);}this[_0x5d8342(_0xe4aa4._0x3acf23,0xf43)]['clipOutSide']=_0x4f41ff,this[_0x574143(0x1556,_0xe4aa4._0x36cd82)]['scene']['globe']['clippingPolygons']&&(this[_0x5d8342(0x16b5,0x1abe)][_0x5d8342(_0xe4aa4._0x2a4ec2,_0xe4aa4._0x5c76ac)]['globe']['clippingPolygons'][_0x5d8342(0x469,_0xe4aa4._0x1088e0)]=_0x4f41ff);}['_enabledHook'](_0x2a91e){const _0x684c37={_0x500644:0x1170,_0x48f0e5:0x7e0,_0x472159:0x1390,_0x58dfea:0x155e,_0x38598e:0x133e,_0x44ef46:0x13d8,_0x10b083:0x1601},_0x3eef55={_0x3b2fcc:0x6e};this[_0x2bb21c(0x1391,_0x684c37._0x500644)][_0x2bb21c(0x62d,0xa1f)]['globe'][_0x2bb21c(0x4ac,_0x684c37._0x48f0e5)]&&(this['_map'][_0x2bb21c(0x62d,0xbf8)]['globe'][_0x2bb21c(0x4ac,0xbe0)]['enabled']=_0x2a91e);function _0x2bb21c(_0x99d134,_0x46eadd){return _0x306755(_0x46eadd,_0x99d134- -0x438);}this['_map']['scene']['globe'][_0x2bb21c(0x1342,0x1c1f)]&&(this[_0x227fb3(0x1837,_0x684c37._0x472159)]['scene'][_0x227fb3(_0x684c37._0x58dfea,0x14ab)]['clippingPolygons'][_0x227fb3(_0x684c37._0x38598e,0x8a1)]=_0x2a91e);function _0x227fb3(_0x33436a,_0x308271){return _0x306755(_0x308271,_0x33436a-_0x3eef55._0x3b2fcc);}this[_0x2bb21c(_0x684c37._0x44ef46,0x1876)]&&(this['_graphicLayer'][_0x227fb3(_0x684c37._0x10b083,0x1ba6)]=_0x2a91e);}[_0x2b6441(0x726,0x3fd)](){const _0x127509={_0x19fed8:0x200c,_0x4c76b6:0x18e3,_0x23587d:0xb82,_0x470382:0x8e4,_0x2c7aef:0x1520},_0x449914={_0x51d366:0x11a};function _0x548e81(_0x4d8866,_0x32a639){return _0x306755(_0x4d8866,_0x32a639-_0x449914._0x51d366);}this['_graphicLayer']=new GraphicLayer({...this['options'],'private':!![]}),this[_0x548e81(_0x127509._0x19fed8,_0x127509._0x4c76b6)][_0x548e81(0xb87,0x12af)](this['_graphicLayer']);function _0x5c114(_0x4281c6,_0x26aee2){return _0x2b6441(_0x26aee2,_0x4281c6-0x4c6);}this[_0x5c114(0xb82,0xa08)]['positions']&&this[_0x5c114(_0x127509._0x23587d,_0x127509._0x470382)]['positions'][_0x5c114(_0x127509._0x2c7aef,0x173d)]>0x0&&(this['positions']=this['options']['positions']);}[_0x306755(0x14fc,0xe2b)](){const _0x23c038={_0x19e24b:0xdfb,_0x12b3db:0x17bc},_0x5aceca={_0x370280:0xd5},_0x988e4d={_0x5a0158:0x54};this['clear']();function _0x38f634(_0x574c47,_0xdcddd2){return _0x306755(_0x574c47,_0xdcddd2- -_0x988e4d._0x5a0158);}function _0x39efd2(_0x552f06,_0x6b6085){return _0x306755(_0x6b6085,_0x552f06- -_0x5aceca._0x370280);}this['_graphicLayer']&&(this[_0x38f634(_0x23c038._0x19e24b,0x1775)]['removeLayer'](this[_0x38f634(0x1186,_0x23c038._0x12b3db)],!![]),delete this['_graphicLayer']);}['setLine'](_0x1faef4){const _0x4e4193={_0x2104d1:0xc66,_0x25618a:0x398,_0x469b1c:0x9c3,_0x51067a:0x40,_0x354321:0x144d,_0x563e03:0x14f9,_0x2df16a:0x103f,_0x5458c0:0xcf7,_0x2644ec:0x6cf},_0x479c1c={_0x36ff4a:0x37c},_0xc69f5d=this['_createPlaneByLine'](_0x1faef4[0x1],_0x1faef4[0x0]);if(!_0xc69f5d)return;function _0x302335(_0x555fe8,_0x1a2cee){return _0x306755(_0x555fe8,_0x1a2cee-0x9);}if(this['options']['image']&&Cesium__namespace[_0x302335(0x20a4,0x17bb)](this['options']['diffHeight'])){const _0x5682ee={'repeatX':0xc8,...this[_0x302335(0x1579,_0x4e4193._0x2104d1)]};_0x5682ee[_0x302335(_0x4e4193._0x25618a,_0x4e4193._0x469b1c)]=![];const _0x46af4c=new PitEntity({'style':_0x5682ee,'positions':[getOnLinePointByLen(_0x1faef4[0x1],_0x1faef4[0x0],0x2710,!![]),getOnLinePointByLen(_0x1faef4[0x0],_0x1faef4[0x1],0x2710,!![])]});this['_graphicLayer'][_0x49f042(-_0x4e4193._0x51067a,0x24d)](_0x46af4c);}function _0x49f042(_0x41d8af,_0xc501c7){return _0x306755(_0x41d8af,_0xc501c7- -_0x479c1c._0x36ff4a);}this[_0x49f042(0x14b3,_0x4e4193._0x354321)]['scene'][_0x302335(0xebe,_0x4e4193._0x563e03)]['clippingPlanes']=new Cesium__namespace['ClippingPlaneCollection']({'planes':[_0xc69f5d],'edgeWidth':this['options'][_0x302335(0xca5,_0x4e4193._0x2df16a)]??0x1,'edgeColor':this[_0x49f042(_0x4e4193._0x5458c0,0x8e1)]['edgeColor']??Cesium__namespace[_0x49f042(0x98c,0xbb8)]['WHITE'],'unionClippingRegions':this[_0x49f042(0xb31,_0x4e4193._0x2644ec)],'enabled':!![]});}['_createPlaneByLine'](_0x3283b7,_0x11cd49){const _0x413f88={_0x3e0f06:0xed2,_0x4a4587:0xf6d,_0x53466a:0x5cb,_0x414f82:0xec7,_0x37747d:0x637,_0x295b17:0x95,_0x44c268:0xd47,_0x234328:0x569},_0x295088={_0x2b90d7:0x68};if(Cesium__namespace['Cartesian3']['distance'](_0x3283b7,_0x11cd49)<0.1)return null;function _0x41de98(_0x4684f8,_0x142117){return _0x2b6441(_0x142117,_0x4684f8-0x14b);}const _0x89851c=Cesium__namespace['Cartesian3'][_0x4fc393(_0x413f88._0x3e0f06,_0x413f88._0x4a4587)](_0x3283b7,_0x11cd49,new Cesium__namespace[(_0x41de98(0x5cb,0xcc8))]()),_0x58a6b4=Cesium__namespace['Cartesian3']['normalize'](_0x89851c,new Cesium__namespace[(_0x41de98(_0x413f88._0x53466a,_0x413f88._0x414f82))]());let _0x33d12e=Cesium__namespace[_0x4fc393(_0x413f88._0x37747d,0x9b9)]['subtract'](_0x3283b7,_0x89851c,new Cesium__namespace[(_0x41de98(_0x413f88._0x53466a,-_0x413f88._0x295b17))]());_0x33d12e=Cesium__namespace['Cartesian3'][_0x41de98(0x2f1,0x405)](_0x33d12e,_0x33d12e);let _0x2b0caa=Cesium__namespace['Cartesian3']['cross'](_0x33d12e,_0x58a6b4,new Cesium__namespace[(_0x4fc393(0x91,0x9b9))]());_0x2b0caa=Cesium__namespace[_0x4fc393(_0x413f88._0x44c268,0x9b9)]['normalize'](_0x2b0caa,_0x2b0caa);const _0x537c34=new Cesium__namespace[(_0x4fc393(0x1e6f,0x1643))](_0x2b0caa,0x0),_0x31b8fe=Cesium__namespace['Plane'][_0x4fc393(0x1ea,_0x413f88._0x234328)](_0x537c34,_0x89851c);function _0x4fc393(_0x2b1e91,_0x2aa994){return _0x306755(_0x2b1e91,_0x2aa994- -_0x295088._0x2b90d7);}return new Cesium__namespace['ClippingPlane'](_0x2b0caa,_0x31b8fe);}['clear'](){const _0x5b2043={_0x249d5d:0x1583,_0x1b4b77:0x6ae,_0x387082:0x5f6,_0x840815:0x14e0,_0x233e51:0x553,_0x2ca720:0x544,_0xb5c9ba:0xf3f,_0x210041:0xb06,_0x2c2089:0x12aa,_0x3102b1:0x12b7,_0x5a86c0:0xfde,_0x5cc2a3:0x17d1,_0xf92f54:0x1c76,_0x155101:0xff,_0x1f28be:0x1268,_0x5b2303:0x1309},_0x55fc68={_0x1e838c:0x35b};var _0x5460df,_0x3cc096;this['_positions']=null;if(!this[_0x2d65c9(0x1384,_0x5b2043._0x249d5d)])return;this['_graphicLayer']&&this['_graphicLayer'][_0x2d65c9(_0x5b2043._0x1b4b77,_0x5b2043._0x387082)]();(_0x5460df=this[_0x5d9331(0x12b7,_0x5b2043._0x840815)][_0x5d9331(_0x5b2043._0x233e51,_0x5b2043._0x2ca720)]['globe'])!==null&&_0x5460df!==void 0x0&&_0x5460df[_0x5d9331(0x3d2,0x24d)]&&(this['_map'][_0x2d65c9(_0x5b2043._0xb5c9ba,0x81f)][_0x2d65c9(_0x5b2043._0x210041,_0x5b2043._0x2c2089)]['clippingPlanes'][_0x2d65c9(0x16cb,0x108a)]&&(this['_map']['scene']['globe']['clippingPlanes']['enabled']=![]),this[_0x5d9331(_0x5b2043._0x3102b1,0x1bd6)]['scene'][_0x5d9331(_0x5b2043._0x5a86c0,_0x5b2043._0x5cc2a3)][_0x5d9331(0x3d2,-0x702)]=undefined);function _0x5d9331(_0x405b45,_0x2d510f){return _0x2b6441(_0x2d510f,_0x405b45-0x8f);}function _0x2d65c9(_0x105075,_0x4b7337){return _0x2b6441(_0x105075,_0x4b7337-_0x55fc68._0x1e838c);}(_0x3cc096=this['_map']['scene'][_0x2d65c9(_0x5b2043._0xf92f54,_0x5b2043._0x2c2089)])!==null&&_0x3cc096!==void 0x0&&_0x3cc096['clippingPolygons']&&(this['_map'][_0x2d65c9(_0x5b2043._0x155101,0x81f)]['globe'][_0x5d9331(_0x5b2043._0x1f28be,0x1cad)]['enabled']&&(this['_map']['scene']['globe']['clippingPolygons']['enabled']=![],this['_map']['scene']['globe']['clippingPolygons'][_0x2d65c9(_0x5b2043._0x5b2303,0xbb5)]()),this['_map']['scene'][_0x2d65c9(0xc29,_0x5b2043._0x2c2089)]['clippingPolygons']=undefined);}}register(_0x306755(0x151f,0x11c0),TerrainPlanClip);class TerrainEditBase extends BaseThing{constructor(_0x17fddd={}){const _0x5c124d={_0x5911c9:0xa6c},_0x325ae0={_0x2789c7:0x8e};super(_0x17fddd);function _0x183993(_0x1190f2,_0x5d0ac7){return _0x2b6441(_0x1190f2,_0x5d0ac7-_0x325ae0._0x2789c7);}!isMars3DCesium&&logError(_0x183993(_0x5c124d._0x5911c9,0xa06),this),this['_areaList']=[];}get['list'](){const _0x57b5f9={_0x5d0bb6:0x2fe};function _0x3d7a11(_0x47fd9f,_0x4e7638){return _0x306755(_0x47fd9f,_0x4e7638- -0x548);}return this[_0x3d7a11(-_0x57b5f9._0x5d0bb6,0x238)];}get['length'](){const _0x3b1140={_0xffea64:0x2ef};function _0x1a5825(_0x592cc7,_0x5b8d48){return _0x2b6441(_0x592cc7,_0x5b8d48-0x46b);}function _0x167988(_0x4565f8,_0x323e1b){return _0x2b6441(_0x4565f8,_0x323e1b-0x110);}if(this[_0x167988(0x3ce,_0x3b1140._0xffea64)]){var _0x5d4ebf;return(_0x5d4ebf=this['_areaList'])===null||_0x5d4ebf===void 0x0?void 0x0:_0x5d4ebf[_0x1a5825(0x1890,0x14c5)];}else return 0x0;}get[_0x306755(0x1023,0x1999)](){const _0x55709c={_0x14ed22:0x3ae},_0x2afd4c={_0x2cad34:0xc1};function _0x11806e(_0x4a2c83,_0x199d3e){return _0x2b6441(_0x4a2c83,_0x199d3e-_0x2afd4c._0x2cad34);}return this['length']>0x0?this[_0x11806e(-_0x55709c._0x14ed22,0x2a0)][0x0]['positions']:null;}set['positions'](_0x468fed){this['clear'](),this['addArea'](_0x468fed);}[_0x306755(-0x27e,0x535)](_0x118ec1){this['analysisOptions']['enabled']=_0x118ec1;}[_0x2b6441(-0x4af,0x3fd)](){const _0x3c6f59={_0x383a64:0x583,_0x55a966:0xb12,_0x3c0629:0x11fa,_0x2cd58a:0x956},_0x3f7b26={_0x3457ed:0x14b};if(this['options']['area'])this['options'][_0x3b218c(_0x3c6f59._0x383a64,0x1f7)][_0x284741(0x114f,0x9af)](_0x58714b=>{this['addArea'](_0x58714b['positions'],_0x58714b);});else this[_0x3b218c(_0x3c6f59._0x55a966,_0x3c6f59._0x3c0629)]['positions']&&this[_0x3b218c(0xe47,_0x3c6f59._0x2cd58a)](this['options']['positions']);function _0x284741(_0x1999b4,_0x2ac0e6){return _0x2b6441(_0x1999b4,_0x2ac0e6-0x310);}function _0x3b218c(_0x106835,_0x18fe97){return _0x306755(_0x18fe97,_0x106835- -_0x3f7b26._0x3457ed);}this[_0x3b218c(0x1157,0xd20)]['enabled']=this['enabled'];}['_removedHook'](){this[_0xcd7e27(0x78e,0x3c7)]();function _0xcd7e27(_0x456809,_0x528835){return _0x306755(_0x528835,_0x456809- -0xae);}this['analysisOptions']['enabled']=![];}[_0x2b6441(0x65e,0x29b)](){const _0x4acccb={_0x26d955:0x8fc},_0x381ec5={_0x353206:0x33c};function _0x30a30f(_0x358563,_0x5a16d7){return _0x306755(_0x358563,_0x5a16d7- -_0x381ec5._0x353206);}this[_0x30a30f(_0x4acccb._0x26d955,0x444)]=[],this['_clearAnalysis']();}[_0x2b6441(0x1284,0x1032)](_0x50308b){const _0x2f7fce={_0x176d9d:0x431};for(let _0x3dee5a=0x0;_0x3dee5a<this[_0x4c396a(-0x11b,_0x2f7fce._0x176d9d)]['length'];_0x3dee5a++){const _0x5b6cce=this['_areaList'][_0x3dee5a];if(_0x5b6cce['id']===_0x50308b)return _0x5b6cce;}function _0x4c396a(_0x1f4a99,_0x310238){return _0x306755(_0x1f4a99,_0x310238- -0x34f);}return null;}['hideArea'](_0x425282){const _0x49a961={_0x419560:0xbe3,_0xb33703:0x10e8,_0x33c0d5:0xcb8},_0x5a7aa7={_0x1d2c9c:0xcb},_0x428a4e={_0xb3d711:0x4ab};function _0x303706(_0x1e8dba,_0xde144a){return _0x306755(_0xde144a,_0x1e8dba- -_0x428a4e._0xb3d711);}const _0x2bc04d=this['getAreaById'](_0x425282);function _0x221a42(_0x138df9,_0x29315d){return _0x2b6441(_0x138df9,_0x29315d-_0x5a7aa7._0x1d2c9c);}_0x2bc04d&&(_0x2bc04d[_0x303706(0x10e8,_0x49a961._0x419560)]=![],_0x2bc04d['downGraphic']&&(_0x2bc04d['downGraphic'][_0x303706(_0x49a961._0xb33703,0x1a87)]=![]),_0x2bc04d['upGraphic']&&(_0x2bc04d[_0x221a42(0xe06,0x958)]['show']=![]),this[_0x303706(0x9fc,_0x49a961._0x33c0d5)]());}['showArea'](_0x5b381d){const _0x4c9304={_0x2f13b4:0x8af,_0x5321e0:0x79a,_0x2f6558:0x10ae,_0x300d3b:0x848,_0x45d106:0x163},_0x51bad7={_0x338aa4:0x1ba},_0x55a568={_0x58e802:0x5d4};function _0x5a7c52(_0x432b5f,_0x1e7747){return _0x306755(_0x432b5f,_0x1e7747- -_0x55a568._0x58e802);}function _0xacb094(_0xb73160,_0x408d45){return _0x306755(_0x408d45,_0xb73160- -_0x51bad7._0x338aa4);}const _0x58974f=this['getAreaById'](_0x5b381d);_0x58974f&&(_0x58974f[_0xacb094(0x13d9,0x16b0)]=!![],_0x58974f[_0x5a7c52(_0x4c9304._0x2f13b4,0x380)]&&(_0x58974f[_0xacb094(_0x4c9304._0x5321e0,_0x4c9304._0x2f6558)][_0x5a7c52(_0x4c9304._0x300d3b,0xfbf)]=!![]),_0x58974f['upGraphic']&&(_0x58974f['upGraphic']['show']=!![]),this[_0x5a7c52(-_0x4c9304._0x45d106,0x8d3)]());}['_removeAreaHook'](_0xb37674){}['removeArea'](_0x48d97d){const _0x525419={_0x2410fb:0x138c,_0x21f687:0xc60},_0x5f4ce0={_0x28ccaf:0x4b7};!isObject(_0x48d97d)&&(_0x48d97d=this[_0x5f0a20(0x1c56,_0x525419._0x2410fb)](_0x48d97d));if(!_0x48d97d)return;function _0x5f0a20(_0x187f2b,_0x3d0a35){return _0x2b6441(_0x187f2b,_0x3d0a35-0x35a);}this['_removeAreaHook'](_0x48d97d);function _0x5efba5(_0x134248,_0x4ebd1){return _0x306755(_0x4ebd1,_0x134248- -_0x5f4ce0._0x28ccaf);}removeArrayItem(this['_areaList'],_0x48d97d),this[_0x5f0a20(0xeba,_0x525419._0x21f687)]();const _0x43f5a2={};_0x43f5a2['area']=_0x48d97d,this['fire'](EventType['removeItem'],_0x43f5a2);}[_0x2b6441(0x6d4,0x707)](_0x1d7c60,_0x30c89a){}[_0x2b6441(0x63b,0x9f1)](_0x20a3f7,_0x23969d={}){const _0x7095b3={_0x52a654:0xe96,_0x326176:0x2a3,_0x5db27d:0x730,_0x4441f5:0xa16},_0x5d0e93={_0x2efd01:0x1ab};if(!_0x20a3f7||_0x20a3f7['length']===0x0)return;function _0x5d5c22(_0x402b9b,_0x1b8511){return _0x2b6441(_0x1b8511,_0x402b9b-_0x5d0e93._0x2efd01);}_0x23969d['simplify']&&(_0x20a3f7=simplifyPositions(_0x20a3f7,_0x23969d['simplify']));_0x20a3f7=LngLatArray['toCartesians'](_0x20a3f7);const _0x3528d2=LngLatArray[_0x45dd16(_0x7095b3._0x52a654,0x14ec)](_0x20a3f7),_0x13df60=Cesium__namespace[_0x45dd16(0x14af,0xb70)]['fromCartographicArray'](_0x3528d2),_0x591d7f={'original':_0x23969d,'show':!![],'id':_0x23969d['id']??getGlobalId(),..._0x23969d,'positions':_0x20a3f7,'_cartographics':_0x3528d2,'_rectangle':_0x13df60};this['_areaList'][_0x5d5c22(_0x7095b3._0x326176,_0x7095b3._0x5db27d)](_0x591d7f),this['_addAreaHook'](_0x591d7f,_0x23969d),this['_update']();const _0x268bd2={};_0x268bd2['area']=_0x591d7f,this[_0x5d5c22(0x493,0xb5c)](EventType[_0x5d5c22(_0x7095b3._0x4441f5,0x437)],_0x268bd2);function _0x45dd16(_0x439ac3,_0x438167){return _0x2b6441(_0x439ac3,_0x438167-0x177);}return _0x591d7f;}['_clearAnalysis'](){this['analysisOptions']['clear'](),this['analysisOptions']['enabled']=this['enabled'];}['_update'](){const _0x31d70b={_0xdd972b:0x116b,_0x256de3:0x854,_0x156528:0x18b3},_0x2a6e09={_0x4f9384:0xeb5,_0x1b040c:0x21d4,_0x5b322b:0x1ae3},_0x2363c6={_0x2e2963:0x536},_0x22ad20={_0x247f58:0x1b5};function _0x2c5c03(_0x5efd96,_0x41d165){return _0x2b6441(_0x5efd96,_0x41d165-_0x22ad20._0x247f58);}const _0x422cce=[];function _0x2531b8(_0x40dc9b,_0x41adb6){return _0x306755(_0x40dc9b,_0x41adb6- -0x5a0);}this['_areaList'][_0x2c5c03(_0x31d70b._0xdd972b,_0x31d70b._0x256de3)](_0x3444cf=>{if(!_0x3444cf[_0x120073(_0x2a6e09._0x4f9384,0x104d)]||!_0x3444cf[_0x138cfe(_0x2a6e09._0x1b040c,_0x2a6e09._0x5b322b)])return;function _0x120073(_0x38761b,_0x2924ff){return _0x2c5c03(_0x38761b,_0x2924ff- -0x15a);}function _0x138cfe(_0x3c558a,_0x56ee91){return _0x2c5c03(_0x3c558a,_0x56ee91-_0x2363c6._0x2e2963);}_0x422cce[_0x120073(0x76f,0x153)](_0x3444cf);}),_0x422cce[_0x2531b8(_0x31d70b._0x156528,0x105b)]>0x0?this['_updateAnalysisOptions'](_0x422cce):this['_clearAnalysis'](),this['analysisOptions']['hasUpdate']=!![];}['_updateAnalysisOptions'](_0xc71c1f){const _0x38b400={_0x2a06e3:0x169},_0x415e64={_0x3d8194:0x7f3,_0xfaab15:0xc21,_0x8369f3:0x19b7,_0x5d1c44:0x251c},_0x3e8c43={_0x36eb80:0x28c};let _0x4bafc6;function _0x4f271d(_0x22e9e0,_0x998964){return _0x2b6441(_0x22e9e0,_0x998964-0x46f);}const _0xcfe72c=[];_0xc71c1f[_0x4f271d(_0x38b400._0x2a06e3,0xb0e)](_0x536247=>{function _0xdf6cf3(_0x202abb,_0x3d983b){return _0x4f271d(_0x3d983b,_0x202abb- -0x65);}function _0x8c14be(_0x584638,_0x5f2cc2){return _0x4f271d(_0x5f2cc2,_0x584638-_0x3e8c43._0x36eb80);}_0xcfe72c[_0x8c14be(_0x415e64._0x3d8194,_0x415e64._0xfaab15)](_0x536247[_0xdf6cf3(0x13a7,0x191b)]),Cesium__namespace['defined'](_0x4bafc6)?_0x4bafc6=Cesium__namespace[_0x8c14be(0x10f4,_0x415e64._0x8369f3)][_0x8c14be(0x1ab0,_0x415e64._0x5d1c44)](_0x4bafc6,_0x536247['_rectangle']):_0x4bafc6=_0x536247['_rectangle'];}),this['analysisOptions']['rectangle']=_0x4bafc6,this['analysisOptions']['areas']=_0xcfe72c;}[_0x2b6441(0x645,0x569)](){const _0x476d46={_0x48f037:0x3f6},_0x5e54c8={_0x18e139:0xd78},_0x54cf2d={_0x2607ef:0x1e8},_0x3cae08=clone(this[_0x540a8d(0x220,0x8d3)],['layer','eventParent']);_0x3cae08['area']=[];function _0x1a2847(_0x9ecb94,_0x545a90){return _0x2b6441(_0x9ecb94,_0x545a90-_0x54cf2d._0x2607ef);}function _0x540a8d(_0x214e19,_0x82852c){return _0x306755(_0x214e19,_0x82852c- -0x38a);}return this[_0x540a8d(0x70d,_0x476d46._0x48f037)]['forEach'](_0x6c83b0=>{const _0x3a9dfd={_0x4d3248:0x159};function _0x1f0a56(_0x59d0e1,_0x2b9ecb){return _0x540a8d(_0x2b9ecb,_0x59d0e1- -_0x3a9dfd._0x4d3248);}function _0x38d36c(_0x515fdd,_0x2736d6){return _0x540a8d(_0x2736d6,_0x515fdd- -0x131);}_0x3cae08[_0x38d36c(0x213,0x423)][_0x38d36c(0x1de,0x6b0)]({..._0x6c83b0['original'],'positions':LngLatArray['toArray'](_0x6c83b0[_0x38d36c(0x14de,_0x5e54c8._0x18e139)])});}),_0x3cae08;}}var GlobeFlodByMaterial=_0x2b6441(0x8f9,0x181);const FloodByMaterialType='FlodByMaterial';class FloodByMaterial extends TerrainEditBase{get[_0x306755(0x1540,0x12a2)](){const _0x41e496={_0x5da672:0xaa6,_0x344468:0x1db},_0x804fb={_0x5c2555:0x364};function _0x5df18d(_0x257214,_0x3c79ab){return _0x306755(_0x257214,_0x3c79ab- -_0x804fb._0x5c2555);}function _0x13f5b5(_0x233c78,_0x89bda){return _0x2b6441(_0x233c78,_0x89bda-0x587);}var _0x8b8a89;return(_0x8b8a89=this[_0x13f5b5(0x1a63,0x17af)])===null||_0x8b8a89===void 0x0||(_0x8b8a89=_0x8b8a89['scene'])===null||_0x8b8a89===void 0x0||(_0x8b8a89=_0x8b8a89['globe'])===null||_0x8b8a89===void 0x0||(_0x8b8a89=_0x8b8a89['_surface'])===null||_0x8b8a89===void 0x0||(_0x8b8a89=_0x8b8a89['tileProvider'])===null||_0x8b8a89===void 0x0||(_0x8b8a89=_0x8b8a89['marsOptions'])===null||_0x8b8a89===void 0x0?void 0x0:_0x8b8a89[_0x5df18d(_0x41e496._0x5da672,_0x41e496._0x344468)];}get['height'](){function _0x548035(_0xa9c2b0,_0x1473c9){return _0x2b6441(_0xa9c2b0,_0x1473c9-0x652);}return this['_height']??this[_0x548035(0x1feb,0x17af)]??0x0;}set[_0x2b6441(-0x32,0x651)](_0x22dbb0){const _0x1a984e={_0x366815:0xbfe,_0x4ed927:0x45e,_0xb667aa:0x1710,_0x4dbc5a:0xc9,_0x195ba4:0xccd},_0x4a02f5={_0x1d237d:0x66};var _0x5896a4;this['_height']=_0x22dbb0;function _0x450fcd(_0x4c3777,_0xad29e5){return _0x2b6441(_0x4c3777,_0xad29e5- -_0x4a02f5._0x1d237d);}function _0x5ad538(_0x5841c6,_0x4decca){return _0x2b6441(_0x4decca,_0x5841c6- -0x2);}((_0x5896a4=this['_map'][_0x450fcd(_0x1a984e._0x366815,_0x1a984e._0x4ed927)]['globe']['material'])===null||_0x5896a4===void 0x0?void 0x0:_0x5896a4[_0x5ad538(0x10c0,_0x1a984e._0xb667aa)])===FloodByMaterialType&&(this['_map'][_0x450fcd(_0x1a984e._0x4dbc5a,_0x1a984e._0x4ed927)]['globe']['material']['uniforms'][_0x450fcd(_0x1a984e._0x195ba4,0xa67)]=_0x22dbb0);}get['speed'](){const _0x77d00d={_0x49e609:0xa25,_0x42986d:0x128a};function _0x2559c7(_0x294508,_0x13d18b){return _0x2b6441(_0x13d18b,_0x294508-0x369);}return this[_0x2559c7(_0x77d00d._0x49e609,_0x77d00d._0x42986d)]['speed']||0x1;}set['speed'](_0x3a9eb2){const _0x11785d={_0x114218:0x523};function _0x4efe9e(_0x58bac6,_0x1bd5ad){return _0x2b6441(_0x58bac6,_0x1bd5ad-_0x11785d._0x114218);}this['options'][_0x4efe9e(0xff6,0xdfc)]=Number(_0x3a9eb2);}get['color'](){return this['_color'];}set[_0x306755(0xd7c,0xeaf)](_0x797630){const _0x1ff46e={_0x4ab182:0x1074,_0x4a2897:0xede,_0x496e29:0xe08,_0x53ec3d:0xb36},_0x5b48f9={_0xfc580:0x38};var _0x28d482;this[_0x1fab9d(_0x1ff46e._0x4ab182,_0x1ff46e._0x4a2897)]=getCesiumColor(_0x797630);function _0x1fab9d(_0xa047f6,_0x23e385){return _0x2b6441(_0x23e385,_0xa047f6-0x2a1);}function _0x2fe34d(_0x2cb5ca,_0x3b2866){return _0x2b6441(_0x2cb5ca,_0x3b2866-_0x5b48f9._0xfc580);}((_0x28d482=this[_0x2fe34d(0xcd4,0x1260)]['scene'][_0x2fe34d(_0x1ff46e._0x496e29,0xf87)]['material'])===null||_0x28d482===void 0x0?void 0x0:_0x28d482['type'])===FloodByMaterialType&&(this[_0x1fab9d(0x14c9,0x17f2)]['scene']['globe']['material']['uniforms']['u_flood_color']=this[_0x1fab9d(0x1074,_0x1ff46e._0x53ec3d)]);}get['showElseArea'](){var _0x5a8113;return!((_0x5a8113=this['analysisOptions'])!==null&&_0x5a8113!==void 0x0&&_0x5a8113['onlySelf']);}set['showElseArea'](_0x291251){this['analysisOptions']['onlySelf']=!_0x291251;}[_0x306755(0xdb8,0x99e)](){const _0x2e0b08={_0x401d00:0x1437,_0x473cfb:0xc61,_0x5f160d:0x1728},_0xaa6bca={_0x4d4597:0x50c};function _0x5255d1(_0x38b69f,_0x1f4436){return _0x2b6441(_0x1f4436,_0x38b69f-_0xaa6bca._0x4d4597);}this['_map']['scene'][_0x5255d1(0x145b,_0x2e0b08._0x401d00)]['material']=Cesium__namespace[_0x2dbb53(_0x2e0b08._0x473cfb,0x145e)]['fromType'](FloodByMaterialType),this['color']=this['options']['color']??new Cesium__namespace[(_0x2dbb53(0xc8e,_0x2e0b08._0x5f160d))](0.15,0.7,0.95,0.5),this['showElseArea']=this['options']['showElseArea']??!![];function _0x2dbb53(_0x3d3ee4,_0x45417d){return _0x2b6441(_0x45417d,_0x3d3ee4-0x2fb);}super['_addedHook']();}['setOptions'](_0x51f26c){const _0x2c6f66={_0x2160f1:0x731,_0x388729:0xc91,_0x397fd6:0xbff,_0x3c9d26:0x9db,_0x4abd46:0x12d4,_0x5039ee:0x5a0},_0x33fa58={_0xc1c585:0x30d};_0x51f26c&&(this['options']={...this['options'],..._0x51f26c});function _0x438b07(_0x3fea2a,_0x312e6b){return _0x2b6441(_0x3fea2a,_0x312e6b-_0x33fa58._0xc1c585);}this['stop']();let _0x213aa8=this[_0x3a78c2(_0x2c6f66._0x2160f1,_0x2c6f66._0x388729)][_0x438b07(0x85e,0x5ac)],_0x145d9f=this[_0x3a78c2(0x731,0xe23)]['maxHeight'];if(!Cesium__namespace[_0x3a78c2(0x1286,0x1a6c)](_0x213aa8)){logError('minHeight\x20请传入有效数值!',_0x213aa8);return;}if(!Cesium__namespace[_0x3a78c2(0x1286,_0x2c6f66._0x397fd6)](_0x145d9f)){logError('maxHeight\x20请传入有效数值!',_0x145d9f);return;}if(_0x213aa8>_0x145d9f){const _0x26b6f7=_0x213aa8;_0x213aa8=_0x145d9f,_0x145d9f=_0x26b6f7;}this['_minHeight']=_0x213aa8,this['_maxHeight']=_0x145d9f,this['height']=_0x213aa8,this[_0x438b07(0x1e9b,0x1535)]['scene']['globe']['material']=Cesium__namespace[_0x3a78c2(_0x2c6f66._0x3c9d26,-0x4d)][_0x3a78c2(_0x2c6f66._0x4abd46,0x9d5)](FloodByMaterialType,{'u_flood_val':this['height'],'u_flood_color':this[_0x438b07(_0x2c6f66._0x5039ee,0xc1b)]});function _0x3a78c2(_0x4d9fcd,_0x4b1460){return _0x2b6441(_0x4b1460,_0x4d9fcd-0x75);}return this;}[_0x306755(0x2a3,0x535)](_0x406123){const _0x170d0a={_0xa1b06f:0x15a3,_0x4d44ae:0x15da,_0x373b75:0x9d6,_0x3fdb98:0x15ad,_0x34a109:0x4fe,_0x3be06a:0x18ce,_0x2bbd43:0x1447,_0x566f40:0x83f,_0x2ee20e:0xd7f,_0xc209dd:0x1807},_0x15ad4c={_0x2c9a51:0x37b};var _0x1e9702;function _0x5feff9(_0x5f1db6,_0x87bf52){return _0x306755(_0x5f1db6,_0x87bf52- -0x21c);}super['_enabledHook'](_0x406123);function _0x28a2fd(_0x4607fb,_0x4ebef1){return _0x2b6441(_0x4607fb,_0x4ebef1-_0x15ad4c._0x2c9a51);}if(_0x406123)this[_0x28a2fd(0xffa,_0x170d0a._0xa1b06f)]['scene']['globe'][_0x28a2fd(0x1116,0x173b)]=Cesium__namespace[_0x5feff9(0x866,0xceb)][_0x28a2fd(0x16ab,_0x170d0a._0x4d44ae)](FloodByMaterialType,{'u_flood_val':this[_0x5feff9(0x132a,_0x170d0a._0x373b75)],'u_flood_color':this['color']});else((_0x1e9702=this[_0x5feff9(0x1339,_0x170d0a._0x3fdb98)][_0x5feff9(_0x170d0a._0x34a109,0x849)][_0x28a2fd(0x8de,0x12ca)]['material'])===null||_0x1e9702===void 0x0?void 0x0:_0x1e9702[_0x5feff9(_0x170d0a._0x3be06a,_0x170d0a._0x2bbd43)])===FloodByMaterialType&&(this['_map'][_0x28a2fd(0xd78,_0x170d0a._0x566f40)][_0x28a2fd(_0x170d0a._0x2ee20e,0x12ca)][_0x5feff9(_0x170d0a._0xc209dd,0x1745)]=null);}['start'](){const _0x8edeae={_0x521a05:0x17be,_0x482358:0x1366,_0x886b98:0x2f9,_0x1d42b1:0xbfb,_0x253daa:0x1946},_0x1c5ea6={_0x6d7596:0x12c};this[_0x1ba464(_0x8edeae._0x521a05,_0x8edeae._0x482358)]();function _0xc6d629(_0x2f5d7a,_0x1c8365){return _0x306755(_0x2f5d7a,_0x1c8365-0xa3);}function _0x1ba464(_0x404852,_0x23743c){return _0x2b6441(_0x404852,_0x23743c-_0x1c5ea6._0x6d7596);}this['isStart']=!![],this[_0x1ba464(-0x13a,0x414)](EventType[_0xc6d629(_0x8edeae._0x886b98,_0x8edeae._0x1d42b1)]),this[_0x1ba464(_0x8edeae._0x253daa,0x1354)]['on'](EventType['clockTick'],this['_onClockTickHandler'],this);}['_onClockTickHandler'](_0x4c1283){const _0x55bb5a={_0x457fc1:0x8ba,_0x1a7d15:0xb1,_0x36333e:0x67d,_0x184142:0x9f,_0x2257bf:0x67d,_0x166d86:0x108};function _0x19a7d9(_0x5bb26c,_0x5022e8){return _0x306755(_0x5bb26c,_0x5022e8- -0x275);}this['height']+=this['speed']/0x32;if(this[_0x19a7d9(_0x55bb5a._0x457fc1,0x97d)]>this[_0x19a7d9(-_0x55bb5a._0x1a7d15,0x754)]){this[_0x22d05(_0x55bb5a._0x36333e,0x5c8)]=this[_0x22d05(0x454,_0x55bb5a._0x184142)],this['stop']();return;}if(this[_0x22d05(_0x55bb5a._0x2257bf,0x109)]<this['_minHeight']){this['height']=this[_0x19a7d9(0x15b5,0x1489)],this['stop']();return;}function _0x22d05(_0x411c08,_0x1e1737){return _0x306755(_0x1e1737,_0x411c08- -0x575);}this[_0x22d05(0x314,-0x31b)](EventType[_0x22d05(0x879,_0x55bb5a._0x166d86)],{'height':this[_0x19a7d9(0xe56,0x97d)]});}['stop'](){const _0x4fb499={_0x3c0d4b:0x1087,_0x539fc0:0xf7d,_0x1707ff:0xb5b};if(!this[_0x196cce(_0x4fb499._0x3c0d4b,_0x4fb499._0x539fc0)])return;this['_map']['off'](EventType['clockTick'],this[_0x196cce(0x12bc,_0x4fb499._0x1707ff)],this);function _0x196cce(_0x50dd3d,_0x3bcdb3){return _0x2b6441(_0x50dd3d,_0x3bcdb3-0x35b);}this['isStart']=![];function _0x4a3c07(_0xce2897,_0x2c07dd){return _0x306755(_0xce2897,_0x2c07dd-0x13d);}this[_0x196cce(0x58a,0x643)](EventType['end']);}['restart'](){const _0x46abc5={_0x310483:0x7f};this[_0x57cc08(0xa11,0x6fd)]();function _0x57cc08(_0x403337,_0x5a7b12){return _0x2b6441(_0x403337,_0x5a7b12- -_0x46abc5._0x310483);}this['start']();}[_0x306755(0xace,0x83c)](){const _0x1fedc2={_0x102174:0x1187,_0x43f2ff:0x99d};var _0x17f71b;this['stop']();function _0x5558f3(_0x17cf17,_0x38e194){return _0x2b6441(_0x17cf17,_0x38e194-0x375);}((_0x17f71b=this['_map']['scene']['globe']['material'])===null||_0x17f71b===void 0x0?void 0x0:_0x17f71b[_0x5558f3(_0x1fedc2._0x102174,0x1437)])===FloodByMaterialType&&(this['_map'][_0x16b0b1(0x70d,-0x95)][_0x5558f3(0xb3d,0x12c4)]['material']=null);function _0x16b0b1(_0x4ad9a5,_0x53d468){return _0x2b6441(_0x53d468,_0x4ad9a5-0x249);}super[_0x16b0b1(0x4e4,_0x1fedc2._0x43f2ff)]();}}register(_0x306755(0x23ed,0x19ea),FloodByMaterial),Cesium__namespace['Material'][_0x306755(-0x6b,0x709)]=FloodByMaterialType,Cesium__namespace['Material']['_materialCache']['addMaterial'](FloodByMaterialType,{'fabric':{'type':FloodByMaterialType,'uniforms':{'u_flood_color':new Cesium__namespace[(_0x306755(0x124c,0xf34))](0.15,0.7,0.95,0.5),'u_flood_val':0x0},'source':GlobeFlodByMaterial},'translucent':!![]});class ContourLine extends TerrainEditBase{constructor(_0x30b4a8={}){const _0x3111ac={_0x4ce9fa:0xc14,_0x5ebe57:0x9e2,_0x3bfaa2:0x1268,_0x3710b7:0xc44,_0x5858a4:0x76b,_0x5292a3:0x31f,_0x3306dd:0x612,_0x46f356:0x3f5,_0x32b707:0x13de,_0x3629fa:0x6a9},_0x34170c={_0x38793b:0x283},_0x662306={_0x5e1827:0x281};function _0x3e2125(_0x12fb52,_0x424b0c){return _0x2b6441(_0x424b0c,_0x12fb52-_0x662306._0x5e1827);}super(_0x30b4a8),this[_0x3e2125(0x3ab,0x486)]=_0x30b4a8[_0x15355c(0xd3f,0x1306)]??!![],this['_contourSpacing']=_0x30b4a8['spacing']??0x64,this['_contourWidth']=_0x30b4a8['width']??1.5,this['_contourColor']=getCesiumColor(_0x30b4a8['color'],Cesium__namespace[_0x3e2125(_0x3111ac._0x4ce9fa,_0x3111ac._0x5ebe57)][_0x3e2125(0x62d,0xa08)]),this[_0x15355c(_0x3111ac._0x3bfaa2,0xea9)]=_0x30b4a8['shadingType']??_0x3e2125(0x932,_0x3111ac._0x3710b7);function _0x15355c(_0x24068e,_0x296518){return _0x306755(_0x24068e,_0x296518- -_0x34170c._0x38793b);}this['_shadingAlpha']=_0x30b4a8[_0x3e2125(0xaa8,0xaf5)]??0.6;const _0xec68db={};_0xec68db[_0x15355c(0x2a,_0x3111ac._0x5858a4)]=[0x0,0.045,0.1,0.15,0.37,0.54,0x1],_0xec68db[_0x15355c(_0x3111ac._0x5292a3,0xc2c)]=['#000000',_0x15355c(0x10c8,0xcf9),_0x3e2125(0x66d,_0x3111ac._0x3306dd),'#D33038','#FF9742',_0x15355c(-0x257,0x240),'#ffd700'];const _0xbd38bf={};_0xbd38bf['step']=[0x0,0.2,0.4,0.6,0.8,0.9,0x1],_0xbd38bf['color']=['#000000','#2747E0','#D33B7D','#D33038','#FF9742','#FF9742','#ffd700'],this['colorScheme']=_0x30b4a8['colorScheme']||{'elevation':_0xec68db,'slope':{'step':[0x0,0.29,0.5,Math['sqrt'](0x2)/0x2,0.87,0.91,0x1],'color':['#000000','#2747E0',_0x15355c(0x434,0x70a),'#D33038',_0x15355c(_0x3111ac._0x46f356,0x240),_0x3e2125(0x1a3,0x8da),'#ffd700']},'aspect':_0xbd38bf},this[_0x3e2125(_0x3111ac._0x32b707,0x1c49)]=_0x30b4a8['minHeight']??-0x19e,this[_0x3e2125(_0x3111ac._0x3629fa,0xb5d)]=_0x30b4a8[_0x3e2125(0xf9f,0x177e)]??0x2249;}get[_0x2b6441(0x483,0xd01)](){var _0x2f6e77;return(_0x2f6e77=this['_map'])===null||_0x2f6e77===void 0x0||(_0x2f6e77=_0x2f6e77['scene'])===null||_0x2f6e77===void 0x0||(_0x2f6e77=_0x2f6e77['globe'])===null||_0x2f6e77===void 0x0||(_0x2f6e77=_0x2f6e77['_surface'])===null||_0x2f6e77===void 0x0||(_0x2f6e77=_0x2f6e77['tileProvider'])===null||_0x2f6e77===void 0x0||(_0x2f6e77=_0x2f6e77['marsOptions'])===null||_0x2f6e77===void 0x0?void 0x0:_0x2f6e77['flood'];}get[_0x2b6441(0xda4,0xfe8)](){const _0x1ef469={_0x1167fb:0x738};function _0x21cc8d(_0x51c3c2,_0x2c369d){return _0x2b6441(_0x2c369d,_0x51c3c2-0x88);}return this[_0x21cc8d(0x1b2,_0x1ef469._0x1167fb)];}set[_0x2b6441(0x907,0xfe8)](_0x160dc3){const _0x1fe964={_0x41daa5:0x356,_0x5f03cc:0xbeb};function _0x28b5b2(_0x561a35,_0x2d4ef1){return _0x306755(_0x561a35,_0x2d4ef1-0xc3);}function _0x7bb2d(_0x2395e7,_0x226931){return _0x2b6441(_0x226931,_0x2395e7-0x22c);}this[_0x7bb2d(_0x1fe964._0x41daa5,0x1c3)]=_0x160dc3,this[_0x7bb2d(0xd7e,_0x1fe964._0x5f03cc)]();}get['shadingType'](){return this['_shadingType'];}set['shadingType'](_0x46b511){this['_shadingType']=_0x46b511,this['updateMaterial']();}get['shadingAlpha'](){const _0x50af63={_0xe4497c:0x594};function _0x4d4bd1(_0x23f140,_0x517f3e){return _0x2b6441(_0x517f3e,_0x23f140-0x347);}return this[_0x4d4bd1(0xf83,_0x50af63._0xe4497c)];}set['shadingAlpha'](_0x57b0bf){this['_shadingAlpha']=_0x57b0bf,this['updateMaterial']();}get[_0x2b6441(0x125,0x64a)](){return this['_contourWidth'];}set[_0x2b6441(0x54b,0x64a)](_0x1cbf2e){const _0x3e4565={_0x6c4f04:0x7a6},_0x568d91={_0x472195:0x150};function _0x5ae3f1(_0x7351fa,_0xd314fe){return _0x2b6441(_0xd314fe,_0x7351fa-_0x568d91._0x472195);}this['_contourWidth']=_0x1cbf2e,this[_0x5ae3f1(_0x3e4565._0x6c4f04,-0x7e)]&&(this['contourUniforms']['width']=_0x1cbf2e);}get['spacing'](){return this['_contourSpacing'];}set['spacing'](_0x336fd4){const _0x542543={_0x1de290:0xb40};function _0x85a1a8(_0x2294e7,_0x1d7c71){return _0x306755(_0x2294e7,_0x1d7c71-0xc1);}this['_contourSpacing']=_0x336fd4,this['contourUniforms']&&(this['contourUniforms'][_0x85a1a8(_0x542543._0x1de290,0x1405)]=_0x336fd4);}get['color'](){return this['_contourColor'];}set[_0x2b6441(0x1170,0x90e)](_0x322cbf){this['_contourColor']=getCesiumColor(_0x322cbf),this['contourUniforms']&&(this['contourUniforms']['color']=_0x322cbf);}get[_0x2b6441(-0x197,0x29f)](){return this['_minHeight'];}set['minHeight'](_0x4b83c6){const _0x302dfc={_0x2a9b74:0x17a4,_0x705543:0x10ce};function _0x479b9f(_0x552496,_0x4b79e7){return _0x2b6441(_0x552496,_0x4b79e7- -0x8f);}this[_0x479b9f(_0x302dfc._0x2a9b74,_0x302dfc._0x705543)]=_0x4b83c6,this['shadingUniforms']&&(this['shadingUniforms']['minimumHeight']=_0x4b83c6);}get['maxHeight'](){return this['_maxHeight'];}set[_0x306755(0x133a,0x12bf)](_0x351477){const _0xf1dad2={_0x1e645f:0x50d},_0x3e22e2={_0xa7d687:0x33f};this['_maxHeight']=_0x351477;function _0x4f81a9(_0x2a3cb2,_0x38decb){return _0x306755(_0x38decb,_0x2a3cb2- -_0x3e22e2._0xa7d687);}this[_0x4f81a9(_0xf1dad2._0x1e645f,-0x1)]&&(this['shadingUniforms']['maximumHeight']=_0x351477);}get['showElseArea'](){var _0x33823c;return!((_0x33823c=this['analysisOptions'])!==null&&_0x33823c!==void 0x0&&_0x33823c['onlySelf']);}set[_0x306755(0x86d,0x128c)](_0x564f52){this['analysisOptions']['onlySelf']=!_0x564f52;}[_0x2b6441(0x638,-0x6c)](_0x5d4585){super['_enabledHook'](_0x5d4585),this['updateMaterial']();}['_clearAnalysis'](){const _0x3e18bd={_0x2bb6f5:0xf3},_0x51bcf3={_0x43a6e2:0x19a};super['_clearAnalysis']();function _0x6c2a69(_0x182269,_0x4fa27e){return _0x2b6441(_0x4fa27e,_0x182269-_0x51bcf3._0x43a6e2);}this['contourUniforms']=null;function _0x49062d(_0x3d7f2a,_0x4457a0){return _0x2b6441(_0x4457a0,_0x3d7f2a-0x20d);}this[_0x49062d(0x4b8,0x1f1)]=null,this['_map'][_0x49062d(0x6d1,_0x3e18bd._0x2bb6f5)]['globe']['material']=undefined;}['_addedHook'](){const _0x13e05b={_0x371a84:0x17ec},_0x1d72b2={_0x61f784:0x402};function _0x2b062b(_0x3dac6b,_0x167a3e){return _0x306755(_0x3dac6b,_0x167a3e- -0x175);}this['_last_material']=this[_0xe47055(0x1471,0x13c7)]['scene']['globe'][_0x2b062b(0x159a,_0x13e05b._0x371a84)];function _0xe47055(_0x3f86db,_0x3c43cb){return _0x306755(_0x3f86db,_0x3c43cb- -_0x1d72b2._0x61f784);}super[_0xe47055(-0x3bc,0x59c)]();}['_removedHook'](){const _0x2e463d={_0x4bfb95:0x16a4,_0x2dda28:0x1dab,_0x5f13e4:0x67f,_0x5e0dbb:0xe26,_0x94607:0x8ef,_0x716430:0x229};super['_removedHook'](),this['_map']['scene']['globe'][_0x2229cc(_0x2e463d._0x4bfb95,_0x2e463d._0x2dda28)]=this[_0x2229cc(_0x2e463d._0x5f13e4,-0x1f4)],delete this['_last_material'];function _0x2229cc(_0x1d1e98,_0x541757){return _0x306755(_0x541757,_0x1d1e98- -0x2bd);}function _0x54c012(_0x1be912,_0x23f150){return _0x306755(_0x1be912,_0x23f150- -0x2a7);}this[_0x54c012(_0x2e463d._0x5e0dbb,0x8df)]&&(this['_map']['scene']['globe']['enableLighting']=![],this['_map']['clock'][_0x2229cc(_0x2e463d._0x94607,_0x2e463d._0x716430)]=Cesium__namespace['JulianDate']['now'](),delete this['_hasResetEnableLighting']);}['_addAreaHook'](){this['updateMaterial']();}['_updateAnalysisOptions'](_0x1180a7){this['_map']['scene']['globe']['material']===undefined&&this['updateMaterial'](),super['_updateAnalysisOptions'](_0x1180a7);}[_0x2b6441(0xfe2,0xb52)](){const _0x1b2777={_0x514dfa:0x11a7,_0x33a241:0x120a,_0x4a32a7:0x81f,_0x4267c8:0x1ca1,_0x5f1115:0x1684,_0x36423e:0xe58,_0x381b45:0x76f,_0x25a854:0xcf6,_0x5b491a:0xd61,_0x44d389:0xc07,_0x3b6905:0xb98,_0x396f24:0x17d0,_0x2ace81:0x129e,_0x34a456:0x1229,_0x43ae0e:0x17df,_0xb80bc3:0xda4,_0x352fee:0x11f9,_0x382fb8:0x994,_0x45223e:0x5ac,_0x5dd9af:0x467,_0x159577:0x14cf,_0xf061fd:0xdf1,_0x261f4d:0x103c,_0xe2dfee:0x19b0,_0x6d854f:0xa44,_0x563e90:0x393,_0x14832a:0xaea,_0x4ce14c:0x1310},_0x4e505f={_0x51f70c:0x580},_0x536ddf={_0x10980e:0xe8};let _0x4f2d02,_0x33fe78,_0x527cd9;const _0x15605e=this[_0x38c726(0xc73,_0x1b2777._0x514dfa)];if(this['contourShow']){if(_0x15605e===_0x3f1bf2(0x13ec,0x9fb))_0x4f2d02=this[_0x3f1bf2(_0x1b2777._0x33a241,0x1832)](),_0x527cd9=_0x4f2d02[_0x3f1bf2(0xc3e,0xc07)][_0x38c726(0x177,0xa7b)]['uniforms'],_0x527cd9['minimumHeight']=this[_0x3f1bf2(0x9f3,_0x1b2777._0x4a32a7)],_0x527cd9['maximumHeight']=this['maxHeight'],_0x33fe78=_0x4f2d02['materials']['contourMaterial'][_0x3f1bf2(_0x1b2777._0x4267c8,0x11f9)];else{if(_0x15605e==='slope')_0x4f2d02=this[_0x3f1bf2(_0x1b2777._0x5f1115,_0x1b2777._0x36423e)](),_0x527cd9=_0x4f2d02['materials'][_0x3f1bf2(0x14e9,0x14d6)]['uniforms'],_0x33fe78=_0x4f2d02[_0x38c726(_0x1b2777._0x381b45,_0x1b2777._0x25a854)]['contourMaterial'][_0x38c726(_0x1b2777._0x5b491a,0xfa8)];else _0x15605e==='aspect'?(_0x4f2d02=this[_0x38c726(0x13b7,0xf9b)](),_0x527cd9=_0x4f2d02[_0x3f1bf2(0x14f3,_0x1b2777._0x44d389)]['aspectRampMaterial'][_0x38c726(0xd61,0x1725)],_0x33fe78=_0x4f2d02[_0x3f1bf2(0x354,_0x1b2777._0x44d389)][_0x3f1bf2(_0x1b2777._0x3b6905,0x84d)][_0x38c726(_0x1b2777._0x5b491a,_0x1b2777._0x396f24)]):(_0x4f2d02=Cesium__namespace[_0x3f1bf2(_0x1b2777._0x2ace81,0xee6)][_0x3f1bf2(_0x1b2777._0x34a456,_0x1b2777._0x43ae0e)]('ElevationContour'),_0x33fe78=_0x4f2d02['uniforms']);}_0x33fe78['width']=this['_contourWidth'],_0x33fe78[_0x3f1bf2(_0x1b2777._0xb80bc3,0x1323)]=this[_0x38c726(0x3d9,0xc7d)],_0x33fe78['color']=this['_contourColor'];}else{if(_0x15605e==='elevation')_0x4f2d02=Cesium__namespace['Material']['fromType']('ElevationRamp'),_0x527cd9=_0x4f2d02[_0x3f1bf2(0x1a78,_0x1b2777._0x352fee)],_0x527cd9[_0x3f1bf2(0x154e,0xf98)]=this['minHeight'],_0x527cd9['maximumHeight']=this['maxHeight'];else{if(_0x15605e===_0x38c726(0x219,_0x1b2777._0x382fb8))_0x4f2d02=Cesium__namespace[_0x38c726(0xa4e,0x14f6)][_0x38c726(0x1347,0x89d)](_0x3f1bf2(0x1555,0x15ce)),_0x527cd9=_0x4f2d02[_0x3f1bf2(0xb2c,0x11f9)];else _0x15605e==='aspect'&&(_0x4f2d02=Cesium__namespace['Material']['fromType']('AspectRamp'),_0x527cd9=_0x4f2d02['uniforms']);}}function _0x38c726(_0x3a3101,_0x4a6873){return _0x2b6441(_0x4a6873,_0x3a3101-_0x536ddf._0x10980e);}function _0x3f1bf2(_0x396c7d,_0x394693){return _0x2b6441(_0x396c7d,_0x394693-_0x4e505f._0x51f70c);}_0x15605e!=='none'&&_0x527cd9&&(_0x527cd9['image']=this['getColorRamp'](_0x15605e));if(_0x15605e==='slope'||_0x15605e==='aspect'){if(!this[_0x3f1bf2(0x2080,0x17a8)][_0x38c726(_0x1b2777._0x45223e,_0x1b2777._0x5dd9af)][_0x3f1bf2(0x161e,_0x1b2777._0x159577)]['enableLighting']){this[_0x38c726(0x1310,0x1789)]['scene']['globe']['enableLighting']=!![];const _0xcf21c1=new Date();_0xcf21c1['setHours'](0xa),this[_0x38c726(0x1310,_0x1b2777._0xf061fd)]['clock']['currentTime']=Cesium__namespace[_0x3f1bf2(_0x1b2777._0x261f4d,0x19d0)]['fromDate'](new Date(_0xcf21c1)),this[_0x3f1bf2(0x835,0xb65)]=!![];}}else this[_0x38c726(0x6cd,-0x20c)]&&(this[_0x38c726(0x1310,_0x1b2777._0xe2dfee)][_0x3f1bf2(0xd48,_0x1b2777._0x6d854f)]['globe'][_0x38c726(0x526,0x260)]=![],this[_0x38c726(0x1310,0x16cb)][_0x38c726(0xee1,0x84e)]['currentTime']=Cesium__namespace['JulianDate'][_0x3f1bf2(0xdbe,0x935)](),delete this['_hasResetEnableLighting']);this['contourUniforms']=_0x33fe78,this[_0x38c726(_0x1b2777._0x563e90,_0x1b2777._0x14832a)]=_0x527cd9,this[_0x38c726(_0x1b2777._0x4ce14c,0x19a2)]['scene'][_0x3f1bf2(0xc4a,0x14cf)]['material']=_0x4f2d02;}['getColorRamp'](_0x561680){const _0x5e65bb={_0x4b59b3:0x1397,_0x578ee8:0xe6e,_0x4da5c9:0x174d,_0xcf167b:0x1dd9,_0x240e2e:0x14a4};var _0x328f3b;function _0x42a110(_0x1a005b,_0x417be4){return _0x2b6441(_0x417be4,_0x1a005b-0x44a);}const _0x19fab5=document['createElement'](_0x252f2f(0x644,-0x3d9));_0x19fab5[_0x252f2f(0xadf,_0x5e65bb._0x4b59b3)]=0x64;function _0x252f2f(_0x483182,_0x37661b){return _0x2b6441(_0x37661b,_0x483182-0x495);}_0x19fab5['height']=0x1;const _0x498a8c={};_0x498a8c['willReadFrequently']=!![];const _0x1394fc=_0x19fab5['getContext']('2d',_0x498a8c);_0x1394fc['globalAlpha']=this[_0x252f2f(0xcbc,_0x5e65bb._0x578ee8)];const _0x3dd7be=_0x1394fc['createLinearGradient'](0x0,0x0,0x64,0x0),_0x5c20e0=this[_0x42a110(_0x5e65bb._0x4da5c9,_0x5e65bb._0xcf167b)][_0x561680];if((_0x5c20e0===null||_0x5c20e0===void 0x0||(_0x328f3b=_0x5c20e0[_0x252f2f(0x8e2,0x1178)])===null||_0x328f3b===void 0x0?void 0x0:_0x328f3b['length'])>0x0)for(let _0xf60083=0x0,_0x584d61=_0x5c20e0['step'][_0x42a110(_0x5e65bb._0x240e2e,0xbfd)];_0xf60083<_0x584d61;_0xf60083++){_0x3dd7be['addColorStop'](_0x5c20e0['step'][_0xf60083],_0x5c20e0['color'][_0xf60083]);}return _0x1394fc['fillStyle']=_0x3dd7be,_0x1394fc['fillRect'](0x0,0x0,0x64,0x1),_0x19fab5;}[_0x306755(0x177f,0x1853)](){const _0x47cfb1={_0x4b275f:0x1940,_0x518332:0x1143,_0x425b03:0x1336,_0x575d42:0xa3b,_0x2c54aa:0x1302},_0x4464bc={};_0x4464bc[_0xc7954d(0xcae,0x1336)]=_0x3de8b0(0x14b2,0xb7d);const _0x3f8756={};_0x3f8756[_0x3de8b0(0x1623,0x10b0)]='ElevationRamp';const _0x25bdee={};_0x25bdee['contourMaterial']=_0x4464bc,_0x25bdee['elevationRampMaterial']=_0x3f8756;const _0x208e09={};_0x208e09['diffuse']=_0xc7954d(_0x47cfb1._0x4b275f,0x12ca),_0x208e09['alpha']=_0xc7954d(0xe10,_0x47cfb1._0x518332);const _0x5583f4={};_0x5583f4[_0xc7954d(0x1719,_0x47cfb1._0x425b03)]='ElevationColorContour',_0x5583f4[_0x3de8b0(_0x47cfb1._0x575d42,0x675)]=_0x25bdee;function _0xc7954d(_0x208f37,_0xc91d13){return _0x2b6441(_0x208f37,_0xc91d13-0x274);}_0x5583f4['components']=_0x208e09;const _0x5c216b={};_0x5c216b['fabric']=_0x5583f4;function _0x3de8b0(_0x58692d,_0x185e26){return _0x306755(_0x58692d,_0x185e26- -0x5b3);}return _0x5c216b[_0x3de8b0(_0x47cfb1._0x2c54aa,0x132b)]=![],new Cesium__namespace['Material'](_0x5c216b);}['getSlopeContourMaterial'](){const _0x339435={_0x38e1e8:0x12bd,_0x539182:0x6cd,_0x443113:0x786,_0x16c222:0xb48},_0x5b6d5f={};function _0x2bea25(_0x15d9a4,_0x510717){return _0x306755(_0x15d9a4,_0x510717- -0x395);}_0x5b6d5f['type']='ElevationContour';const _0x5679ac={};_0x5679ac[_0x22dc5b(0x11e1,_0x339435._0x38e1e8)]=_0x2bea25(0x153d,0x125a);const _0x23528c={};_0x23528c[_0x2bea25(-0x306,0x4d9)]=_0x5b6d5f,_0x23528c[_0x2bea25(0x1029,0x1162)]=_0x5679ac;const _0x3ec317={};function _0x22dc5b(_0x2d2488,_0x1f7d2d){return _0x2b6441(_0x2d2488,_0x1f7d2d-0x1fb);}_0x3ec317[_0x2bea25(_0x339435._0x539182,0x301)]=_0x2bea25(-0x161,_0x339435._0x443113),_0x3ec317[_0x2bea25(0x11d0,0x120a)]=_0x22dc5b(0x975,0xd4b);const _0x5f084b={};_0x5f084b['type']='SlopeColorContour',_0x5f084b['materials']=_0x23528c,_0x5f084b[_0x22dc5b(-0x82b,0x198)]=_0x3ec317;const _0x447d4b={};return _0x447d4b[_0x2bea25(0x10c4,0xe96)]=_0x5f084b,_0x447d4b['translucent']=![],new Cesium__namespace[(_0x22dc5b(_0x339435._0x16c222,0xb61))](_0x447d4b);}[_0x2b6441(0x12e8,0x12cf)](){const _0x55ba4d={_0x4b19b6:0xa1e,_0x19d4a9:0xcbd},_0x4cec08={_0x3b5f41:0x33},_0x1493a8={};_0x1493a8['type']='ElevationContour';const _0x49134c={};_0x49134c['type']='AspectRamp';const _0x547f62={};_0x547f62['contourMaterial']=_0x1493a8,_0x547f62[_0x6ac9e1(0x14e5,0xf13)]=_0x49134c;const _0x4d60b9={};_0x4d60b9['diffuse']='contourMaterial.alpha\x20==\x200.0\x20?\x20aspectRampMaterial.diffuse\x20:\x20contourMaterial.diffuse',_0x4d60b9['alpha']='max(contourMaterial.alpha,\x20aspectRampMaterial.alpha)';const _0x274c78={};_0x274c78['type']=_0x572dc5(_0x55ba4d._0x4b19b6,0x460),_0x274c78['materials']=_0x547f62,_0x274c78['components']=_0x4d60b9;const _0x14a4b1={};_0x14a4b1[_0x572dc5(0x230,_0x55ba4d._0x19d4a9)]=_0x274c78,_0x14a4b1[_0x572dc5(0x9e6,0x1370)]=![];function _0x572dc5(_0x38d342,_0x47def0){return _0x2b6441(_0x38d342,_0x47def0-_0x4cec08._0x3b5f41);}function _0x6ac9e1(_0x4c4a7d,_0x23a8b7){return _0x306755(_0x4c4a7d,_0x23a8b7- -0x637);}return new Cesium__namespace['Material'](_0x14a4b1);}}register('contourLine',ContourLine);class TerrainFlat extends TerrainEditBase{get['analysisOptions'](){const _0x145854={_0x132730:0xc48};var _0x8f7e46;function _0xf0d46a(_0xa05cef,_0x21adfe){return _0x306755(_0x21adfe,_0xa05cef- -0x28c);}return(_0x8f7e46=this['_map'])===null||_0x8f7e46===void 0x0||(_0x8f7e46=_0x8f7e46['scene'])===null||_0x8f7e46===void 0x0||(_0x8f7e46=_0x8f7e46['globe'])===null||_0x8f7e46===void 0x0||(_0x8f7e46=_0x8f7e46[_0xf0d46a(_0x145854._0x132730,0x21c)])===null||_0x8f7e46===void 0x0||(_0x8f7e46=_0x8f7e46['tileProvider'])===null||_0x8f7e46===void 0x0||(_0x8f7e46=_0x8f7e46['marsOptions'])===null||_0x8f7e46===void 0x0?void 0x0:_0x8f7e46['flat'];}['_enabledHook'](_0x45f0d5){this['analysisOptions']['enabled']=_0x45f0d5;}['_removedHook'](){const _0x1506f3={_0x1d4ead:0xd81};function _0x18fc9f(_0x18abcf,_0x47da03){return _0x2b6441(_0x18abcf,_0x47da03-0x5d4);}this['clear'](),this[_0x18fc9f(_0x1506f3._0x1d4ead,0x12d5)]['enabled']=![];}['_updateAnalysisOptions'](_0x383b27){const _0x1e0269={_0x2a53f0:0xe82,_0x34aa46:0xf57},_0x27a5a7={_0x3a8604:0xf00,_0xd11485:0x1991,_0x22ddb0:0x99f,_0x279692:0xb5e,_0x56326c:0xa42},_0x20a377={_0x3a1de4:0x220};let _0x15517d;const _0x21db75=[],_0x3ff053=[];function _0x528475(_0x43bc0f,_0x317132){return _0x306755(_0x317132,_0x43bc0f- -_0x20a377._0x3a1de4);}const _0x1829d1=[];_0x383b27[_0x1632db(0x5be,0x820)](_0x3389a8=>{const _0x52d268={_0x3a2325:0x128d,_0x5ecdac:0xc02},_0x492a70={_0x56cf57:0x545};function _0x4d2721(_0x20d9bd,_0x30e42c){return _0x1632db(_0x30e42c,_0x20d9bd-_0x492a70._0x56cf57);}const _0x36eb84=_0x3389a8['_cartographics'];function _0x3fad12(_0x1d5b27,_0x4ad0d9){return _0x1632db(_0x4ad0d9,_0x1d5b27-0x386);}_0x3ff053['push'](_0x36eb84),_0x3389a8['_rectangle']['_flatHeight']=_0x3389a8[_0x4d2721(0xd17,0xe3d)]||0x0,_0x1829d1['push'](_0x3389a8['_rectangle']);let _0xd349d4=_0x36eb84[0x0]['height'];_0x36eb84['forEach'](_0x183ecc=>{const _0x3b8711={_0x4861d7:0x115};function _0x2f9df5(_0x10e087,_0x31e26c){return _0x4d2721(_0x31e26c- -_0x3b8711._0x4861d7,_0x10e087);}_0xd349d4=Math['min'](_0xd349d4,_0x183ecc[_0x2f9df5(_0x52d268._0x3a2325,_0x52d268._0x5ecdac)]);}),_0x21db75['push'](_0xd349d4-(_0x3389a8['height']||0x0)),Cesium__namespace['defined'](_0x15517d)?_0x15517d=Cesium__namespace[_0x3fad12(_0x27a5a7._0x3a8604,_0x27a5a7._0xd11485)]['union'](_0x15517d,_0x3389a8[_0x3fad12(_0x27a5a7._0x22ddb0,0x178)]):_0x15517d=_0x3389a8[_0x4d2721(_0x27a5a7._0x279692,_0x27a5a7._0x56326c)];}),this[_0x1632db(0x171a,_0x1e0269._0x2a53f0)]['heights']=_0x21db75,this['analysisOptions'][_0x528475(0x11f9,_0x1e0269._0x34aa46)]=_0x15517d;function _0x1632db(_0x2944bc,_0x43e7ba){return _0x2b6441(_0x2944bc,_0x43e7ba-0x181);}this['analysisOptions']['rectangles']=_0x1829d1,this['analysisOptions'][_0x528475(0x148d,0x1a27)]=_0x3ff053;}}register('terrainFlat',TerrainFlat);class TerrainUplift extends TerrainEditBase{get['analysisOptions'](){var _0xb9101d;function _0x258f9b(_0x31464a,_0x532b71){return _0x2b6441(_0x31464a,_0x532b71-0x4a5);}return(_0xb9101d=this['_map'])===null||_0xb9101d===void 0x0||(_0xb9101d=_0xb9101d[_0x258f9b(0x1026,0x969)])===null||_0xb9101d===void 0x0||(_0xb9101d=_0xb9101d['globe'])===null||_0xb9101d===void 0x0||(_0xb9101d=_0xb9101d['_surface'])===null||_0xb9101d===void 0x0||(_0xb9101d=_0xb9101d['tileProvider'])===null||_0xb9101d===void 0x0||(_0xb9101d=_0xb9101d['marsOptions'])===null||_0xb9101d===void 0x0?void 0x0:_0xb9101d['uplift'];}get[_0x2b6441(0x186f,0x13bc)](){var _0x54a94d;return(_0x54a94d=this['analysisOptions'])===null||_0x54a94d===void 0x0?void 0x0:_0x54a94d['showUp'];}set['showUp'](_0x198f75){const _0x1e9fdc={_0x25ef31:0x109d};function _0x51f3b5(_0x4faf2d,_0x28539d){return _0x2b6441(_0x4faf2d,_0x28539d-0x39c);}this[_0x51f3b5(0x10db,_0x1e9fdc._0x25ef31)]['showUp']=_0x198f75;}get['upHeight'](){function _0x2dec57(_0x124d85,_0x5b06b7){return _0x2b6441(_0x5b06b7,_0x124d85-0x66);}return this['options'][_0x2dec57(0x573,-0x37c)]??0x0;}set['upHeight'](_0x36297c){const _0x46de42={_0x173a67:0x684,_0x22f630:0x2e2,_0x2536cd:0x1847,_0x280fee:0x79a,_0x253e3:0x41a,_0x4e068a:0x10f3};this['options']['upHeight']=_0x36297c;function _0x1219d3(_0x5c212c,_0x56f4a1){return _0x2b6441(_0x56f4a1,_0x5c212c-0x5e1);}function _0x2ab70f(_0x1bd967,_0x33d669){return _0x2b6441(_0x33d669,_0x1bd967-0x4a5);}if(this[_0x2ab70f(_0x46de42._0x173a67,_0x46de42._0x22f630)][_0x1219d3(0x163b,_0x46de42._0x2536cd)]>0x0){this['analysisOptions']['height']=_0x36297c,this[_0x2ab70f(0x11a6,0xc35)][_0x2ab70f(_0x46de42._0x280fee,_0x46de42._0x253e3)]=!![];for(let _0x36ae1c=0x0;_0x36ae1c<this[_0x2ab70f(0x684,_0x46de42._0x4e068a)]['length'];_0x36ae1c++){const _0x4f1e7f=this[_0x2ab70f(0x684,0x4c5)][_0x36ae1c];_0x4f1e7f['upGraphic']&&_0x4f1e7f['upGraphic']['setUpHeight'](_0x36297c);}}}['_enabledHook'](_0x39bde7){const _0x5f2119={_0x450880:0xeae,_0x3650a1:0x1bd4},_0x409f46={_0x5cd7e8:0x422},_0x49d959={_0x3e77ea:0x14a};this['analysisOptions'][_0x3ef7e5(0x1190,_0x5f2119._0x450880)]=_0x39bde7;function _0x8df283(_0x598251,_0x36008f){return _0x306755(_0x598251,_0x36008f- -_0x49d959._0x3e77ea);}function _0x3ef7e5(_0x1fd9c3,_0x36eb62){return _0x306755(_0x1fd9c3,_0x36eb62- -_0x409f46._0x5cd7e8);}this['_graphicLayer']&&(this[_0x8df283(_0x5f2119._0x3650a1,0x16c6)]['show']=_0x39bde7);}['_addedHook'](){const _0x5db9d5={_0x160b16:0xeb,_0x550dad:0x89e,_0x299edd:0xa65,_0x1cd5eb:0x8bd,_0x3fe73d:0x60f,_0x7c4452:0x1c02,_0x27fe50:0x15aa,_0x5d50ff:0x1803},_0x1d8118={_0x3761b1:0x3f9},_0x3df8d0={_0x5e5e77:0x1c7};this['_map'][_0x21c89b(-_0x5db9d5._0x160b16,_0x5db9d5._0x550dad)]['verticalExaggeration']===0x1&&(this['_map'][_0x21c89b(0xcd5,0x89e)][_0x21c89b(0xfcf,_0x5db9d5._0x299edd)]=1.001);!this['_map'][_0x313ea6(_0x5db9d5._0x1cd5eb,_0x5db9d5._0x3fe73d)][_0x313ea6(0x1348,_0x5db9d5._0x7c4452)]['depthTestAgainstTerrain']&&(this['_map']['scene'][_0x21c89b(0x11c8,0x1329)][_0x313ea6(_0x5db9d5._0x27fe50,_0x5db9d5._0x5d50ff)]=!![],this['_hasChangeDepthTestAgainstTerrain']=!![]);function _0x21c89b(_0x131338,_0x42bb11){return _0x306755(_0x131338,_0x42bb11- -_0x3df8d0._0x5e5e77);}function _0x313ea6(_0x2e02f2,_0x5c9361){return _0x2b6441(_0x5c9361,_0x2e02f2-_0x1d8118._0x3761b1);}this['_graphicLayer']=new GraphicLayer({...this['options'],'private':!![]}),this[_0x21c89b(0x20cc,0x1602)]['addLayer'](this['_graphicLayer']),super['_addedHook']();}['_removedHook'](){this['clear'](),this[_0x13e51c(0x13d5,0xfde)][_0x13e51c(0xba1,0x100c)]=![];function _0x12e23d(_0x75b551,_0x2fd051){return _0x2b6441(_0x75b551,_0x2fd051-0x1ef);}this['_map']['removeLayer'](this['_graphicLayer'],!![]);function _0x13e51c(_0x565377,_0x171d8e){return _0x306755(_0x565377,_0x171d8e- -0x2c4);}delete this['_graphicLayer'],this['_hasChangeDepthTestAgainstTerrain']&&(this['_map']['scene']['globe']['depthTestAgainstTerrain']=![],this['_hasChangeDepthTestAgainstTerrain']=![]);}['clear'](){const _0x136fc0={_0xe001c2:0x20c},_0x44119c={_0x30678b:0x630};function _0x59579e(_0x52a48a,_0x3820e6){return _0x2b6441(_0x3820e6,_0x52a48a- -0xb4);}super[_0x59579e(0x1e7,0xb45)]();function _0x3ffc7f(_0x5be0cc,_0x3d199d){return _0x306755(_0x3d199d,_0x5be0cc- -_0x44119c._0x30678b);}this['_graphicLayer'][_0x3ffc7f(_0x136fc0._0xe001c2,0xb98)]();}async['_addAreaHook'](_0x4ea596,_0xdbf84d){const _0x4b7255={_0x45e3e3:0x92a,_0x161803:0x1695,_0x3e456f:0x9bd,_0x408ab0:0xa69,_0x5bba84:0xb57,_0x4da8d9:0x1478};_0xdbf84d={...this[_0x35899d(_0x4b7255._0x45e3e3,-0x71)],..._0xdbf84d};function _0x35899d(_0x4e6add,_0x3b9960){return _0x2b6441(_0x3b9960,_0x4e6add-0x26e);}function _0x46407b(_0x59edd6,_0x537407){return _0x2b6441(_0x537407,_0x59edd6-0x693);}if(_0xdbf84d['image']&&Cesium__namespace[_0x35899d(0x147f,0xedb)](_0xdbf84d[_0x35899d(0x6ed,0x86d)])){await this[_0x46407b(0x18bb,_0x4b7255._0x161803)][_0x46407b(0xfb8,_0x4b7255._0x3e456f)];this['_map']['scene'][_0x35899d(_0x4b7255._0x408ab0,0x8da)]&&await this['_map'][_0x46407b(_0x4b7255._0x5bba84,_0x4b7255._0x4da8d9)]['_terrainProviderPromise'];const _0xb021d6=await computeSurfaceLine({'map':this['_map'],'positions':_0x4ea596['positions']['concat'](_0x4ea596['positions'][0x0]),'has3dtiles':![],'exact':_0xdbf84d[_0x46407b(0x6f2,0x47)],'splitNum':_0xdbf84d[_0x46407b(0x7c5,0x11a6)]??0x1e});_0x4ea596['positionsNew']=_0xb021d6['positions'],this[_0x46407b(0x1a59,0x23bd)](_0x4ea596,_0xdbf84d);}}[_0x2b6441(0xd39,0x13c6)](_0x377a9b,_0x9e7d9a){const _0x364060={_0xffb984:0x1062,_0xcbf30e:0x5ca,_0x2d5f1d:0xd57,_0x495383:0x25d,_0x6f53ed:0x195,_0x1f9464:0x98f,_0x2adb4d:0x2cf,_0x56667c:0x7ae,_0x2f5f11:0x17b2,_0x94ddfc:0xf08,_0x5441b3:0x3e3,_0x44a815:0x3a1,_0x13e8c0:0x366,_0x335d47:0x53d,_0x4fdc0f:0x2da,_0x5d24a6:0x16fa,_0x302928:0xc82,_0xde53eb:0xbfa,_0x2db364:0xba1,_0x66523a:0x1205,_0x1229c1:0x73d,_0x54fdc3:0xbcb},_0x2a1078={_0x1be2f5:0x263};if(!this[_0x526a7b(_0x364060._0xffb984,0x11a6)](_0x377a9b['id']))return;const _0x31f6cd=_0x377a9b[_0x18481f(-_0x364060._0xcbf30e,0x2ba)],_0x20123c=[];let _0x52e962=Number[_0x526a7b(0x57a,_0x364060._0x2d5f1d)];for(let _0x2b0955=0x0,_0x4a9d94=_0x31f6cd['length'];_0x2b0955<_0x4a9d94;_0x2b0955++){const _0x693361=Cesium__namespace['Cartographic'][_0x18481f(-_0x364060._0x495383,0x78c)](_0x31f6cd[_0x2b0955]);_0x52e962=Math[_0x526a7b(0x8b3,0x5fa)](_0x52e962,_0x693361['height']),_0x20123c['push'](_0x693361[_0x18481f(0x800,0x98f)]);}const _0x19a64d=_0x52e962-_0x9e7d9a['diffHeight'],_0x208c83=Array(_0x31f6cd['length'])[_0x526a7b(0x107b,0x1005)](_0x19a64d);_0x377a9b['minHeight']=_0x52e962,_0x377a9b[_0x526a7b(0x4af,_0x364060._0x6f53ed)]=_0x9e7d9a['diffHeight'];const _0x504539={};_0x504539[_0x18481f(0x7d4,_0x364060._0x1f9464)]=_0x19a64d,_0x504539[_0x526a7b(_0x364060._0x2adb4d,_0x364060._0x56667c)]=_0x52e962;function _0x526a7b(_0x272dd4,_0x38e48a){return _0x2b6441(_0x38e48a,_0x272dd4-0x30);}_0x504539[_0x526a7b(0x1196,_0x364060._0x2f5f11)]=_0x31f6cd,_0x504539['minimumHeights']=_0x208c83,_0x504539[_0x18481f(0x57f,_0x364060._0x94ddfc)]=_0x20123c,_0x377a9b[_0x526a7b(_0x364060._0x5441b3,_0x364060._0x44a815)]=new PitEntity({'style':_0x9e7d9a,'data':_0x504539,'positions':_0x377a9b['positions']}),this['_graphicLayer'][_0x18481f(0xaa7,_0x364060._0x13e8c0)](_0x377a9b['downGraphic']);const _0x4f82c8=this[_0x526a7b(_0x364060._0x335d47,-_0x364060._0x4fdc0f)];function _0x18481f(_0x5a7272,_0x37c634){return _0x306755(_0x5a7272,_0x37c634- -_0x2a1078._0x1be2f5);}if(this[_0x18481f(0xd2e,_0x364060._0x5d24a6)]&&_0x4f82c8!==0x0){const _0x117f97={};_0x117f97[_0x526a7b(0x681,_0x364060._0x302928)]=_0x19a64d,_0x117f97[_0x18481f(0xd5d,0x5dd)]=_0x52e962,_0x117f97['positionsWall']=_0x31f6cd,_0x117f97['minimumHeights']=_0x208c83,_0x117f97[_0x526a7b(_0x364060._0xde53eb,_0x364060._0x2db364)]=_0x20123c,_0x377a9b[_0x526a7b(0x8bd,_0x364060._0x66523a)]=new PitEntity({'style':_0x9e7d9a,'data':_0x117f97,'positions':_0x377a9b[_0x526a7b(0x1428,0x1ea3)]}),this['_graphicLayer']['addGraphic'](_0x377a9b[_0x18481f(_0x364060._0x1229c1,_0x364060._0x54fdc3)]),_0x377a9b[_0x18481f(0x318,0xbcb)]['setUpHeight'](_0x4f82c8);}}['_removeAreaHook'](_0x469313){const _0x8b13de={_0x2e6aa9:0xad6,_0x2552f8:0xb71,_0x42c6c0:0x141b},_0x2ce173={_0xefc746:0x249},_0x54e7f5={_0x1f8877:0x1d2};function _0x398f18(_0x3afc49,_0x1a8c35){return _0x306755(_0x1a8c35,_0x3afc49- -_0x54e7f5._0x1f8877);}function _0x214ecb(_0x52bf9f,_0x199285){return _0x2b6441(_0x52bf9f,_0x199285-_0x2ce173._0xefc746);}_0x469313!==null&&_0x469313!==void 0x0&&_0x469313[_0x214ecb(0x733,0x5fc)]&&(this['_graphicLayer']['removeGraphic'](_0x469313['downGraphic'],!![]),delete _0x469313['downGraphic']),_0x469313!==null&&_0x469313!==void 0x0&&_0x469313[_0x214ecb(0x40c,_0x8b13de._0x2e6aa9)]&&(this[_0x398f18(0x163e,0x1a6c)][_0x398f18(_0x8b13de._0x2552f8,_0x8b13de._0x42c6c0)](_0x469313['upGraphic'],!![]),delete _0x469313[_0x214ecb(0xd22,0xad6)]);}[_0x306755(0x5e0,0x7fc)](_0x5ee9f8){const _0x3481f8={_0xf1a47e:0xcb1,_0x3f690c:0x835},_0x1b0bcd={_0x505008:0xea,_0x4d92ee:0xf0f,_0x22664a:0x8de};let _0x3ab3d3;const _0x1e3d20=[],_0x2ed64e=[];_0x5ee9f8['forEach'](_0x2a298c=>{_0x1e3d20[_0x303eaa(0x18d,-0x489)](_0x2a298c[_0x303eaa(0x1032,0x198d)]);function _0x303eaa(_0x1cc975,_0x5136f7){return _0x5bbe(_0x1cc975- -0x299,_0x5136f7);}function _0x5ec251(_0xa3f3,_0x1eb3c4){return _0x5bbe(_0xa3f3-0x118,_0x1eb3c4);}_0x2ed64e['push'](_0x2a298c[_0x303eaa(0x52d,-_0x1b0bcd._0x505008)]),Cesium__namespace['defined'](_0x3ab3d3)?_0x3ab3d3=Cesium__namespace['Rectangle']['union'](_0x3ab3d3,_0x2a298c[_0x303eaa(0x52d,_0x1b0bcd._0x4d92ee)]):_0x3ab3d3=_0x2a298c[_0x5ec251(_0x1b0bcd._0x22664a,0x4d4)];});function _0x27a8f3(_0x22f41f,_0x4f2a59){return _0x306755(_0x22f41f,_0x4f2a59- -0x279);}this['analysisOptions']['height']=this[_0x27a8f3(_0x3481f8._0xf1a47e,_0x3481f8._0x3f690c)],this['analysisOptions']['rectangle']=_0x3ab3d3,this['analysisOptions']['rectangles']=_0x2ed64e,this['analysisOptions']['areas']=_0x1e3d20;}['movingAnimation'](_0x32238b,_0x56dee0,_0x53a7b9=0x5){const _0x6bdb14={_0x18aef9:0x523,_0x18872a:0x1f7a,_0x48885e:0x94c,_0x2bd03d:0x764,_0x3b4082:0x1d8},_0x31ae07={_0x507cae:0x7d5,_0x199487:0x103f,_0x49c541:0xc4b,_0x46add3:0x1a0c,_0xedfc68:0xb03},_0x145e54={_0x2767b6:0x11e6,_0x57a194:0x1817,_0x128b18:0x1986},_0x490ddf={_0x56ce53:0x12f},_0x382123={_0x358dd2:0x5ae};this['_clockTickHandler']&&(this[_0x57a9c7(0x17d6,0x13aa)]['off'](EventType['clockTick'],this['_clockTickHandler'],this),delete this['_clockTickHandler']);if(this[_0x4cc17e(-_0x6bdb14._0x18aef9,0x2a4)][_0x57a9c7(0x1608,_0x6bdb14._0x18872a)]===0x0)return;!Cesium__namespace['defined'](_0x32238b)&&(_0x32238b=0x0);function _0x4cc17e(_0x4b7e6c,_0xa8792c){return _0x2b6441(_0x4b7e6c,_0xa8792c-0xc5);}!Cesium__namespace['defined'](_0x56dee0)&&(_0x56dee0=this[_0x57a9c7(0xabb,0x1587)]);function _0x57a9c7(_0x9080d1,_0x253285){return _0x2b6441(_0x253285,_0x9080d1-_0x382123._0x358dd2);}const _0x25e1d6=0x14,_0x13140d=(_0x56dee0-_0x32238b)/(_0x53a7b9*_0x25e1d6),_0x154d08=_0x13140d<0x0;let _0xb2cad8=_0x32238b;this['_areaList'][_0x4cc17e(_0x6bdb14._0x48885e,_0x6bdb14._0x2bd03d)](_0x5c5a4c=>{const _0x28c944={_0x3e0ca9:0x28e};function _0x4e167c(_0x9db008,_0xcc6a13){return _0x57a9c7(_0xcc6a13- -_0x28c944._0x3e0ca9,_0x9db008);}function _0x5eadf4(_0x33a2b9,_0x3d9f23){return _0x4cc17e(_0x3d9f23,_0x33a2b9-_0x490ddf._0x56ce53);}_0x5c5a4c[_0x5eadf4(_0x145e54._0x2767b6,_0x145e54._0x57a194)]&&_0x5c5a4c['upGraphic']&&_0x5c5a4c['upGraphic'][_0x4e167c(_0x145e54._0x128b18,0x155c)]();}),this[_0x4cc17e(0x6e5,_0x6bdb14._0x3b4082)]=function(){const _0xfb72ce={_0x2d26cd:0xf1d,_0xb6438d:0x192c};function _0x32e8a5(_0x2025de,_0x5ed43a){return _0x57a9c7(_0x2025de- -0x2,_0x5ed43a);}if(this[_0x12ed14(_0x31ae07._0x507cae,_0x31ae07._0x199487)]['length']===0x0||!this['_map'])return;!_0x154d08&&_0xb2cad8<=_0x56dee0||_0x154d08&&_0xb2cad8>=_0x56dee0?(this['analysisOptions'][_0x12ed14(0xc47,0xa38)]=_0xb2cad8,this['_areaList'][_0x32e8a5(_0x31ae07._0x49c541,0xf3a)](_0x4a19c9=>{function _0x311b19(_0x4c6449,_0x1f0026){return _0x12ed14(_0x4c6449-0x9a,_0x1f0026);}function _0x1e9da5(_0x128d18,_0x41e5d9){return _0x32e8a5(_0x128d18-0xfb,_0x41e5d9);}_0x4a19c9[_0x1e9da5(0x1699,0x1a9f)]&&_0x4a19c9[_0x311b19(_0xfb72ce._0x2d26cd,_0xfb72ce._0xb6438d)]&&_0x4a19c9['upGraphic']['setUpHeight'](_0xb2cad8);})):(this['_clockTickHandler']&&(this[_0x32e8a5(0x17d4,_0x31ae07._0x46add3)]['off'](EventType['clockTick'],this['_clockTickHandler'],this),delete this['_clockTickHandler']),this[_0x12ed14(_0x31ae07._0xedfc68,0x10d9)]=_0xb2cad8);function _0x12ed14(_0x170a9e,_0x26ac1d){return _0x57a9c7(_0x170a9e-0x48,_0x26ac1d);}_0xb2cad8+=_0x13140d;},this['_map']['on'](EventType[_0x4cc17e(0xdf7,0xdc4)],this['_clockTickHandler'],this);}}register('terrainUplift',TerrainUplift);class TerrainClip extends TerrainEditBase{constructor(_0x37b91c={}){const _0x43c661={_0x4da3cb:0x12ae};function _0x572f0d(_0x293301,_0x35d573){return _0x306755(_0x293301,_0x35d573- -0x13f);}_0x37b91c[_0x572f0d(0xec0,_0x43c661._0x4da3cb)]=_0x37b91c['czm']??!![],super(_0x37b91c);}get[_0x306755(0x1595,0x12a2)](){const _0x4760d3={_0x56662f:0xdbb,_0x465b3b:0x58f,_0x55b26e:0x61},_0xd806c8={_0x3ee49a:0x48a};function _0x4e2190(_0x1eca00,_0x23b5de){return _0x306755(_0x1eca00,_0x23b5de- -0x4d6);}function _0x405b3(_0x1abbca,_0x57bf12){return _0x306755(_0x57bf12,_0x1abbca- -_0xd806c8._0x3ee49a);}if(this['options']['czm']){var _0x5e744d;return(_0x5e744d=this[_0x405b3(0x133f,_0x4760d3._0x56662f)])===null||_0x5e744d===void 0x0||(_0x5e744d=_0x5e744d[_0x4e2190(-0x293,_0x4760d3._0x465b3b)])===null||_0x5e744d===void 0x0||(_0x5e744d=_0x5e744d['globe'])===null||_0x5e744d===void 0x0?void 0x0:_0x5e744d[_0x405b3(0x12f0,0x15dc)];}else{var _0x639d6d;return(_0x639d6d=this['_map'])===null||_0x639d6d===void 0x0||(_0x639d6d=_0x639d6d['scene'])===null||_0x639d6d===void 0x0||(_0x639d6d=_0x639d6d['globe'])===null||_0x639d6d===void 0x0||(_0x639d6d=_0x639d6d['_surface'])===null||_0x639d6d===void 0x0||(_0x639d6d=_0x639d6d[_0x4e2190(-0x43f,-_0x4760d3._0x55b26e)])===null||_0x639d6d===void 0x0||(_0x639d6d=_0x639d6d['marsOptions'])===null||_0x639d6d===void 0x0?void 0x0:_0x639d6d['clip'];}}get[_0x2b6441(-0x2e7,0x4aa)](){function _0x50a0c5(_0x15a463,_0x1d4610){return _0x306755(_0x15a463,_0x1d4610- -0x2c3);}function _0x61b307(_0x2c4884,_0x5727b2){return _0x2b6441(_0x5727b2,_0x2c4884-0x33f);}return this[_0x61b307(0x9fb,-0x5)][_0x61b307(0x7e9,0x74c)];}set['clipOutSide'](_0xb79f7b){const _0x3caff0={_0x21fc55:0x8fc,_0x4f85e1:0xf41},_0x5e0067={_0xf8e693:0x6a0};function _0x238978(_0x56d738,_0x5ed43e){return _0x2b6441(_0x5ed43e,_0x56d738-_0x5e0067._0xf8e693);}function _0x4826d3(_0x12c2f0,_0x359dfd){return _0x2b6441(_0x12c2f0,_0x359dfd-0x240);}this['options']['clipOutSide']=_0xb79f7b,this[_0x4826d3(0x78,_0x3caff0._0x21fc55)]['czm']?this['length']>0x0&&(this[_0x4826d3(0x8f1,_0x3caff0._0x4f85e1)][_0x4826d3(0xab9,0x21c)]=_0xb79f7b):this['analysisOptions']['onlySelf']=_0xb79f7b;}get['diffHeight'](){return this['options']['diffHeight'];}set[_0x2b6441(-0x529,0x47f)](_0x3dbd52){const _0x19b8d5={_0x4f3812:0x796},_0x239209={_0x3882d9:0xb29,_0x337e59:0x14e2};function _0x3bc3ba(_0x37a397,_0x4e348e){return _0x2b6441(_0x4e348e,_0x37a397-0x1a8);}this['options'][_0x3bc3ba(0x627,_0x19b8d5._0x4f3812)]=_0x3dbd52,this['_graphicLayer']&&this['_graphicLayer']['eachGraphic'](_0xd7c8de=>{const _0xe37735={_0x13bcc7:0x502};function _0x1188e6(_0x50e1e1,_0x2094e8){return _0x3bc3ba(_0x50e1e1-_0xe37735._0x13bcc7,_0x2094e8);}_0xd7c8de[_0x1188e6(_0x239209._0x3882d9,_0x239209._0x337e59)]=_0x3dbd52;});}['_enabledHook'](_0x32ab68){const _0x1154b0={_0x47e313:0x17e5,_0x46ecb1:0x14c9};function _0x512561(_0x3e770f,_0x347f5a){return _0x2b6441(_0x347f5a,_0x3e770f-0x603);}this[_0x512561(0x1304,0x1623)][_0x512561(0x1332,_0x1154b0._0x47e313)]=_0x32ab68;function _0x171735(_0xe7ec9b,_0x65f28a){return _0x2b6441(_0xe7ec9b,_0x65f28a-0x4d7);}this['_graphicLayer']&&(this['_graphicLayer'][_0x171735(0xe33,_0x1154b0._0x46ecb1)]=_0x32ab68);}['_addedHook'](){const _0x973083={_0x5575ab:0x973,_0x1daf84:0x11d5,_0x2d316d:0xfb5,_0x2ac6fc:0x195a,_0x2aefc6:0x14ae,_0x1bc1eb:0x2e6,_0xedc11d:0x14ea,_0xd9b5b3:0x13dd,_0x1f144f:0x19f0,_0x5261ae:0x1437,_0x66e900:0x118f,_0x4440b6:0x93},_0x229e44={_0x2eae6c:0x59b},_0x4ad1f8={_0x5dbba7:0x286};this[_0x1e0151(0x545,0x942)]['czm']&&(this['_map']['scene'][_0x1e0151(_0x973083._0x5575ab,_0x973083._0x1daf84)]['clippingPolygons']=new Cesium__namespace[(_0x8dee81(0x7c6,-0x66))]({'polygons':[],'inverse':this['clipOutSide'],'enabled':this[_0x1e0151(0x573,_0x973083._0x2d316d)]}));function _0x1e0151(_0x1bfa92,_0x5ea3c1){return _0x2b6441(_0x1bfa92,_0x5ea3c1-_0x4ad1f8._0x5dbba7);}!this[_0x1e0151(_0x973083._0x2ac6fc,_0x973083._0x2aefc6)][_0x1e0151(_0x973083._0x1bc1eb,0x74a)][_0x8dee81(_0x973083._0xedc11d,_0x973083._0xd9b5b3)][_0x1e0151(_0x973083._0x1f144f,_0x973083._0x5261ae)]&&(this['_map'][_0x1e0151(0xd08,0x74a)][_0x1e0151(0xe6a,0x11d5)]['depthTestAgainstTerrain']=!![],this['_hasChangeDepthTestAgainstTerrain']=!![]);this['_graphicLayer']=new GraphicLayer({...this['options'],'private':!![]}),this['_map'][_0x8dee81(_0x973083._0x66e900,0x13db)](this['_graphicLayer']),this['clipOutSide']=this[_0x1e0151(_0x973083._0x4440b6,0x942)]['clipOutSide']??![];function _0x8dee81(_0x50f76b,_0x4800e5){return _0x2b6441(_0x4800e5,_0x50f76b-_0x229e44._0x2eae6c);}super['_addedHook']();}['_removedHook'](){const _0x20c5dd={_0x455e28:0x1530,_0x50e92e:0xa96,_0x169c2e:0x1999},_0x29ded7={_0x129f67:0x2ee};this['clear'](),this['analysisOptions'][_0x275d6d(0x1037,0xe6c)]=![],this[_0x275d6d(_0x20c5dd._0x455e28,0x13c8)]['removeLayer'](this['_graphicLayer'],!![]);function _0x275d6d(_0xcd5f4d,_0x2e4c08){return _0x306755(_0x2e4c08,_0xcd5f4d- -0x299);}delete this['_graphicLayer'];function _0xb2aa7d(_0x6e0917,_0x474bbd){return _0x306755(_0x474bbd,_0x6e0917- -_0x29ded7._0x129f67);}this[_0xb2aa7d(0x19e,_0x20c5dd._0x50e92e)]&&(this[_0x275d6d(0x1530,_0x20c5dd._0x169c2e)]['scene'][_0xb2aa7d(0x1202,0xfd7)]['depthTestAgainstTerrain']=![],this['_hasChangeDepthTestAgainstTerrain']=![]);}['clear'](){super['clear'](),this['_graphicLayer']['clear']();}[_0x306755(0xedf,0x770)](){const _0x17190f={_0x5a1135:0x1a0b,_0x1ea513:0xa4b},_0x5c1b1e={_0x512305:0x1ca};function _0x1b1fdf(_0x5c0f16,_0x90825f){return _0x306755(_0x5c0f16,_0x90825f- -0xef);}function _0x1690b2(_0xff4d10,_0x32544f){return _0x2b6441(_0x32544f,_0xff4d10-_0x5c1b1e._0x512305);}this['options'][_0x1690b2(0x1016,_0x17190f._0x5a1135)]?(this['analysisOptions']['removeAll'](),this['analysisOptions']['enabled']=this['enabled'],this['analysisOptions'][_0x1690b2(0x1a6,-0x87e)]&&(this[_0x1b1fdf(0x1a4b,0x11b3)][_0x1b1fdf(_0x17190f._0x1ea513,0x48e)]=![])):super[_0x1b1fdf(-0x428,0x681)]();}['_updateAnalysisOptions'](_0x441d99){const _0x457f59={_0x2e6e30:0xd95,_0x229ad3:0xc4a,_0x1dd348:0xda0,_0x4fb687:0x5e8,_0x5ad87b:0xdb,_0x2f5c11:0x1a7,_0x4e758d:0x3f3,_0x41096e:0xc1},_0x150b02={_0x2590e8:0xd43,_0x1ad83a:0x1052},_0x5eaf20={_0x38ce8d:0x638};function _0x5d2d26(_0x3da9f7,_0xf39f3){return _0x306755(_0xf39f3,_0x3da9f7- -_0x5eaf20._0x38ce8d);}function _0x22849e(_0x36ac2b,_0x5cf531){return _0x306755(_0x5cf531,_0x36ac2b- -0x658);}this['options'][_0x22849e(_0x457f59._0x2e6e30,0xaf8)]?(this[_0x22849e(_0x457f59._0x229ad3,_0x457f59._0x1dd348)]['removeAll'](),_0x441d99[_0x22849e(_0x457f59._0x4fb687,0x623)](_0x306ace=>{const _0x178dfe={_0x4edf43:0x66d};function _0x299478(_0x1a7dfc,_0x25c790){return _0x22849e(_0x1a7dfc-_0x178dfe._0x4edf43,_0x25c790);}const _0x2a6432={};_0x2a6432['positions']=_0x306ace['positions'],this['analysisOptions'][_0x299478(_0x150b02._0x2590e8,_0x150b02._0x1ad83a)](new Cesium__namespace['ClippingPolygon'](_0x2a6432));}),this[_0x5d2d26(0x413,0x123)]&&!this[_0x22849e(0xc4a,0xdeb)][_0x22849e(-_0x457f59._0x5ad87b,_0x457f59._0x2f5c11)]&&(this['analysisOptions']['inverse']=this[_0x22849e(_0x457f59._0x4e758d,0x737)])):super[_0x22849e(0x1a4,-_0x457f59._0x41096e)](_0x441d99);}async['_addAreaHook'](_0x302031,_0x2c223c){const _0x2eeced={_0x526163:0x980,_0x2fb373:0x519,_0x3ec1aa:0xc09,_0x51b4fb:0x14ec,_0x4d1364:0x12b3,_0x213780:0x1763,_0xfc21a8:0xf2b,_0x3e2d8d:0x216,_0x42dd12:0x168a};_0x2c223c={...this[_0x43b562(_0x2eeced._0x526163,_0x2eeced._0x2fb373)],..._0x2c223c};function _0x43b562(_0x50330f,_0x2a7cc5){return _0x306755(_0x2a7cc5,_0x50330f- -0x2dd);}function _0x2b4d45(_0x1e145f,_0x5d0bc6){return _0x2b6441(_0x1e145f,_0x5d0bc6-0x5f0);}if(_0x2c223c['image']&&Cesium__namespace[_0x43b562(0x14d5,0x126c)](_0x2c223c['diffHeight'])){await this['_map'][_0x2b4d45(_0x2eeced._0x3ec1aa,0xf15)];this[_0x43b562(_0x2eeced._0x51b4fb,0x13a6)]['scene']['_terrainProviderPromise']&&await this[_0x43b562(0x14ec,_0x2eeced._0x4d1364)][_0x43b562(0x788,0x671)]['_terrainProviderPromise'];const _0x36227f=await computeSurfaceLine({'map':this['_map'],'positions':_0x302031[_0x2b4d45(0x1540,0x19e8)][_0x2b4d45(0x14b8,0xe75)](_0x302031[_0x2b4d45(_0x2eeced._0x213780,0x19e8)][0x0]),'has3dtiles':![],'exact':_0x2c223c[_0x2b4d45(_0x2eeced._0xfc21a8,0x64f)],'splitNum':_0x2c223c[_0x43b562(0x3f6,-_0x2eeced._0x3e2d8d)]??0x1e});_0x302031['positionsNew']=_0x36227f['positions'],this[_0x43b562(_0x2eeced._0x42dd12,0x1609)](_0x302031,_0x2c223c);}}['_addPitGraphic'](_0xf7425d,_0x185d23){const _0x5b372c={_0x1d63f9:0x13e0,_0x5d5829:0x100b,_0x201121:0x886,_0x607550:0x2390,_0x5405e5:0x18cb,_0x51acf3:0x11d5};if(!this['getAreaById'](_0xf7425d['id']))return;function _0xdafd72(_0x363336,_0x4ec446){return _0x306755(_0x363336,_0x4ec446- -0xce);}const _0x5b7b8a=_0xf7425d['positionsNew'],_0x1cf83d=[];let _0x143360=Number['MAX_VALUE'];for(let _0x21c545=0x0,_0x5a44d9=_0x5b7b8a[_0x336a09(_0x5b372c._0x1d63f9,0x149b)];_0x21c545<_0x5a44d9;_0x21c545++){const _0xa86e6f=Cesium__namespace['Cartographic']['fromCartesian'](_0x5b7b8a[_0x21c545]);_0x143360=Math['min'](_0x143360,_0xa86e6f['height']),_0x1cf83d['push'](_0xa86e6f['height']);}const _0xff29ab=_0x143360-_0x185d23['diffHeight'];function _0x336a09(_0x335202,_0x41d29e){return _0x306755(_0x335202,_0x41d29e- -0x160);}const _0x20f2bc=Array(_0x5b7b8a[_0xdafd72(0x1a5d,0x152d)])[_0xdafd72(0xc4b,0x151e)](_0xff29ab);_0xf7425d['minHeight']=_0x143360,_0xf7425d[_0xdafd72(0x7b0,0x952)]=_0x185d23['diffHeight'],this['_removeAreaHook'](_0xf7425d);const _0x313b6b={};_0x313b6b['height']=_0xff29ab,_0x313b6b['minHeight']=_0x143360,_0x313b6b['positionsWall']=_0x5b7b8a,_0x313b6b['minimumHeights']=_0x20f2bc,_0x313b6b[_0x336a09(0x1306,_0x5b372c._0x5d5829)]=_0x1cf83d,_0xf7425d[_0xdafd72(0xc21,_0x5b372c._0x201121)]=new PitEntity({'style':_0x185d23,'data':_0x313b6b,'positions':_0xf7425d[_0xdafd72(_0x5b372c._0x607550,_0x5b372c._0x5405e5)]}),this['_graphicLayer']['addGraphic'](_0xf7425d[_0xdafd72(_0x5b372c._0x51acf3,0x886)]);}[_0x2b6441(0xf00,0x13f7)](_0x326dcb){function _0x32cfb3(_0x386d13,_0x130c5d){return _0x306755(_0x130c5d,_0x386d13- -0x4c3);}_0x326dcb!==null&&_0x326dcb!==void 0x0&&_0x326dcb['downGraphic']&&(this['_graphicLayer']['removeGraphic'](_0x326dcb['downGraphic'],!![]),delete _0x326dcb[_0x32cfb3(0x491,0x6a4)]);}}register('terrainClip',TerrainClip);class LimitHeight extends BaseThing{get[_0x2b6441(0x843,0x429)](){return this['_layer'];}get[_0x306755(0x20de,0x1999)](){return this['options']['positions'];}set['positions'](_0x104f72){const _0x428791={_0xbc85c1:0x476},_0x37433f={_0x113d14:0x638};function _0xc2bc85(_0x6b6e58,_0x5aa58e){return _0x306755(_0x6b6e58,_0x5aa58e- -_0x37433f._0x113d14);}this[_0x5aa6dc(0x7e7,0x7a3)]['positions']=_0x104f72;function _0x5aa6dc(_0x503e7c,_0x34c625){return _0x306755(_0x34c625,_0x503e7c- -_0x428791._0xbc85c1);}this[_0xc2bc85(0xe80,0x12a5)]();}get['height'](){const _0x5595af={_0x1fc0a5:0xc90};function _0x1a9be0(_0x4ffbbc,_0x2bc79e){return _0x2b6441(_0x2bc79e,_0x4ffbbc-0x5d4);}return this[_0x1a9be0(_0x5595af._0x1fc0a5,0x1034)]['height']||0x0;}set[_0x306755(0x78e,0xbf2)](_0x5ec09d){function _0x2282f8(_0x3428be,_0x1998c7){return _0x306755(_0x1998c7,_0x3428be- -0x1cb);}this['options'][_0x2282f8(0xa27,0x91e)]=_0x5ec09d,this['_createGraphic']();}get['diffHeight'](){const _0x4779dc={_0x3429c7:0x13e,_0x21a62a:0x8d8};function _0x3d5406(_0xbe202c,_0x2c0d08){return _0x2b6441(_0xbe202c,_0x2c0d08-0x21c);}return this[_0x3d5406(-_0x4779dc._0x3429c7,_0x4779dc._0x21a62a)]['diffHeight']??0x3e8;}set['diffHeight'](_0x244f63){const _0x5bf6fe={_0x3ca5cd:0x711,_0x34b934:0x85c,_0x27a871:0x61f};function _0x50cd15(_0x3d0828,_0x5d7350){return _0x2b6441(_0x3d0828,_0x5d7350-0x1a0);}function _0x31947b(_0x1b5c0f,_0x2991e3){return _0x2b6441(_0x1b5c0f,_0x2991e3-0x470);}this[_0x50cd15(_0x5bf6fe._0x3ca5cd,_0x5bf6fe._0x34b934)][_0x50cd15(-0x2db,_0x5bf6fe._0x27a871)]=_0x244f63,this[_0x50cd15(0x105a,0x14dc)]();}get['bottomHeight'](){const _0x44106c={_0x2c832b:0xadd};function _0x1f05bb(_0x53b31e,_0x56a42d){return _0x306755(_0x56a42d,_0x53b31e- -0x5f3);}return this[_0x1f05bb(0x66a,_0x44106c._0x2c832b)]['bottomHeight']||0x0;}set['bottomHeight'](_0x539a61){function _0x2acff4(_0x24a543,_0x4acc40){return _0x2b6441(_0x24a543,_0x4acc40-0x4);}this[_0x2acff4(-0x37f,0x6c0)]['bottomHeight']=_0x539a61,this['_createGraphic']();}['_mountedHook'](){const _0x27097c={};function _0x56b9bd(_0x4004bd,_0x57bae4){return _0x2b6441(_0x57bae4,_0x4004bd-0x527);}_0x27097c[_0x56b9bd(0x156a,0x171a)]=!![],this['_layer']=new GraphicLayer(_0x27097c);}[_0x2b6441(-0x5f8,0x3fd)](){const _0x5762a0={_0x1196b0:0xd43,_0x150aaf:0x1838,_0x22afb0:0x807},_0x28de9c={_0x39185a:0x456};function _0x3c175c(_0x131e6a,_0x55c779){return _0x306755(_0x55c779,_0x131e6a- -_0x28de9c._0x39185a);}this['_map']['addLayer'](this[_0x165b2c(0xf91,0x134c)]);function _0x165b2c(_0xad6e3b,_0x56242d){return _0x2b6441(_0xad6e3b,_0x56242d-0x529);}this[_0x165b2c(_0x5762a0._0x1196b0,0xbe5)][_0x3c175c(0x1543,0x1906)]&&(this[_0x3c175c(0x1543,_0x5762a0._0x150aaf)]=this[_0x3c175c(_0x5762a0._0x22afb0,0xbb2)][_0x165b2c(0x14c9,0x1921)]);}['_removedHook'](){const _0x3d8491={_0x1a8597:0x17c9},_0x465550={_0x44b428:0x36c};function _0x23da41(_0x5c5123,_0x1f5ac6){return _0x306755(_0x5c5123,_0x1f5ac6- -_0x465550._0x44b428);}this['_graphic']&&(this[_0x180749(0xe66,_0x3d8491._0x1a8597)]['removeGraphic'](this[_0x23da41(0x962,0x27b)]),delete this['_graphic']);function _0x180749(_0x5b7bbd,_0x5c769c){return _0x306755(_0x5c769c,_0x5b7bbd- -0x55e);}this[_0x23da41(0xc02,0x145d)]['removeLayer'](this['_layer']);}[_0x306755(0x21d4,0x18dd)](){const _0x4091a9={_0xa23cde:0x7b7,_0x4533f3:0x5b,_0x4aab22:0x7b1,_0x1c4c93:0xadd,_0x33220a:0x140d,_0x8c52e8:0xb1,_0x1a69aa:0x14ed,_0x521b72:0x8cd,_0x4444de:0x746,_0x370831:0xe84,_0x30c30c:0xe0a,_0x4607ac:0x14e4},_0x42abdb={_0x57d74b:0x4ac};function _0x5c7e5f(_0xf7607a,_0x5ca7f3){return _0x2b6441(_0xf7607a,_0x5ca7f3-0x15);}this['_graphic']&&(this['_layer'][_0x5c7e5f(0x618,_0x4091a9._0xa23cde)](this[_0x5c7e5f(0x8e0,_0x4091a9._0x4533f3)]),delete this['_graphic']);function _0x27fd3e(_0x3b3606,_0x34b5f6){return _0x306755(_0x3b3606,_0x34b5f6- -_0x42abdb._0x57d74b);}if(!this[_0x27fd3e(0x199,_0x4091a9._0x4aab22)][_0x5c7e5f(_0x4091a9._0x1c4c93,_0x4091a9._0x33220a)])return;const _0xbfce23=LngLatArray[_0x5c7e5f(-_0x4091a9._0x8c52e8,0x6ff)](this[_0x5c7e5f(0xb8c,0x6d1)][_0x27fd3e(0x1983,_0x4091a9._0x1a69aa)]);this[_0x5c7e5f(-0x235,0x5b)]=new PolygonPrimitive({'positions':_0xbfce23,'style':{...this['options'],'height':this[_0x5c7e5f(-_0x4091a9._0x521b72,0x8e)]+this[_0x27fd3e(0x10e4,_0x4091a9._0x4444de)],'diffHeight':this['diffHeight'],'perPositionHeight':![],'classification':!![],'classificationType':Cesium__namespace[_0x27fd3e(_0x4091a9._0x370831,0x1123)][_0x27fd3e(0xbd0,_0x4091a9._0x30c30c)]},'asynchronous':![]}),this[_0x5c7e5f(_0x4091a9._0x4607ac,0xe38)]['addGraphic'](this['_graphic']);}['clear'](){this['options']['positions']=null,this['_graphic']&&(this['_layer']['removeGraphic'](this['_graphic']),delete this['_graphic']);}}register('limitHeight',LimitHeight);class ModelPlanClip extends TilesetPlanClip{get['clipTarget'](){const _0x59ef2a={_0x55a64f:0x315};function _0x4751fc(_0xaef984,_0xd786fe){return _0x2b6441(_0xaef984,_0xd786fe-_0x59ef2a._0x55a64f);}return this[_0x4751fc(0xe26,0x140e)];}set[_0x306755(0x1ba6,0x123f)](_0x3b7501){const _0x1ba55e={_0x22a034:0x1189,_0x4c01ba:0xc0b},_0x435404={_0x1788c2:0x90};function _0x2e5d4e(_0x19669f,_0x556e11){return _0x2b6441(_0x556e11,_0x19669f-_0x435404._0x1788c2);}this[_0x2e5d4e(_0x1ba55e._0x22a034,_0x1ba55e._0x4c01ba)]=_0x3b7501,this['_inverseMatrix']=null,this['clippingPlanes']&&(this['_model']['clippingPlanes']=this['clippingPlanes']);}get['graphic'](){return this['_graphic'];}set[_0x306755(0x14f8,0x18f3)](_0x4268f9){const _0x22347b={_0x195bb4:0x275,_0x68da66:0xb40},_0x5702d6={_0x3a47a8:0x111,_0x3e5f24:0x15a1},_0x16b06b={_0x26028f:0x16},_0x5b8bb2={_0x5ea069:0x50};function _0x453905(_0x4fdaa4,_0x1ceafb){return _0x2b6441(_0x4fdaa4,_0x1ceafb- -_0x5b8bb2._0x5ea069);}if(_0x4268f9['readyPromise']){_0x4268f9['readyPromise']['then'](_0x4d739c=>{function _0x50f82a(_0x55d576,_0xe53960){return _0x5bbe(_0xe53960-0x16,_0x55d576);}function _0x458cdf(_0x4be85e,_0x526e86){return _0x5bbe(_0x4be85e- -_0x16b06b._0x26028f,_0x526e86);}this[_0x458cdf(0x1411,0x1392)]=_0x4268f9[_0x458cdf(0x4cf,_0x5702d6._0x3a47a8)],this[_0x458cdf(_0x5702d6._0x3e5f24,0xc7a)]=_0x4268f9['modelMatrix'];});return;}function _0x5d09e2(_0x1768dd,_0x294676){return _0x306755(_0x1768dd,_0x294676- -0x20b);}this['_graphic']=_0x4268f9;if(_0x4268f9[_0x5d09e2(0x1f45,0x179f)])this['_model']=_0x4268f9['entity']['model'],this[_0x453905(0x7c7,0x1239)]=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](getPositionValue(_0x4268f9[_0x453905(0x134a,0xc06)]));else{if(_0x4268f9 instanceof Cesium__namespace['Entity'])this[_0x453905(0x936,0x10a9)]=_0x4268f9['model'],this['_modelMatrix']=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](getPositionValue(_0x4268f9[_0x5d09e2(0xb1f,0xfec)]));else{if(_0x4268f9[_0x5d09e2(-_0x22347b._0x195bb4,0x54d)])this['_model']=_0x4268f9[_0x453905(0x587,0x167)],this['_modelMatrix']=_0x4268f9['modelMatrix'];else _0x4268f9 instanceof Cesium__namespace['Model']&&(this['_model']=_0x4268f9,this['_modelMatrix']=_0x4268f9[_0x453905(_0x22347b._0x68da66,0x1318)]);}}}get['inverseMatrix'](){const _0x5d129={_0x2e60dc:0x17e};function _0x501062(_0x33de7c,_0xd342bf){return _0x2b6441(_0xd342bf,_0x33de7c-_0x5d129._0x2e60dc);}return!this['_inverseMatrix']&&this['_modelMatrix']&&(this['_inverseMatrix']=Cesium__namespace['Matrix4']['inverseTransformation'](this['_modelMatrix'],new Cesium__namespace['Matrix4']())),this[_0x501062(0xc48,0xc02)];}['_mountedHook'](){const _0xc9dc2f={_0x2a8825:0xbd0,_0x3e3ea2:0x11cc,_0x2fd851:0x1866},_0x2a9fc6={_0x2ce3da:0x514},_0x4cfd8b={_0x3cebcb:0x5b};function _0x3e9e43(_0x31ac82,_0xe4241f){return _0x2b6441(_0x31ac82,_0xe4241f-_0x4cfd8b._0x3cebcb);}function _0x3b1598(_0x38c6ee,_0x549e4d){return _0x2b6441(_0x549e4d,_0x38c6ee-_0x2a9fc6._0x2ce3da);}this[_0x3b1598(_0xc9dc2f._0x2a8825,_0xc9dc2f._0x3e3ea2)]['graphic']&&(this[_0x3b1598(_0xc9dc2f._0x2fd851,0x21ac)]=this['options']['graphic']);}}ModelPlanClip[_0x306755(0x12ba,0x159b)]=ClipType,register('modelPlanClip',ModelPlanClip,![]);class TilesetBoxClip extends BaseThing{get[_0x306755(0x18bb,0x123f)](){return this['_tileset'];}set['clipTarget'](_0x206209){const _0x3b7838={_0x5d0a48:0xc25,_0x5398aa:0x8ad},_0x39d690={_0x50ba4d:0x38};function _0x3d76f1(_0x5d9be7,_0x2aae16){return _0x306755(_0x2aae16,_0x5d9be7- -_0x39d690._0x50ba4d);}this['_tileset']=_0x206209,this['_inverseMatrix']=null,Cesium__namespace['defined'](this[_0x3d76f1(_0x3b7838._0x5d0a48,_0x3b7838._0x5398aa)]['position'])&&(this['position']=this['options']['position']);}get[_0x2b6441(0x470,0x429)](){return this['_layer'];}set['layer'](_0x20fcfc){const _0x17e77d={_0x3e4853:0x12da,_0x53972d:0x1198,_0x3468c5:0x415,_0x49c475:0xac8},_0x4e06f4={_0x4fb535:0x1156},_0x52ad1c={_0x41c23c:0x4fa};function _0x168b40(_0x19e205,_0x13838e){return _0x306755(_0x13838e,_0x19e205- -0x256);}this['_layer']=_0x20fcfc;function _0x40fe96(_0x2b3bb6,_0x2c8811){return _0x2b6441(_0x2b3bb6,_0x2c8811-_0x52ad1c._0x41c23c);}_0x20fcfc['loadOk']?this[_0x40fe96(_0x17e77d._0x3e4853,_0x17e77d._0x53972d)]=_0x20fcfc[_0x40fe96(_0x17e77d._0x3468c5,_0x17e77d._0x49c475)]:_0x20fcfc['on'](EventType['load'],_0x321264=>{const _0x485797={_0x29ec00:0x16d};function _0x42b1b0(_0x351de2,_0x9e9729){return _0x168b40(_0x351de2-_0x485797._0x29ec00,_0x9e9729);}this[_0x42b1b0(_0x4e06f4._0x4fb535,0x140d)]=_0x20fcfc['tileset'];});}get[_0x306755(0x16dc,0x187e)](){return this['clippingPlanes'];}get[_0x2b6441(-0x8fe,0x1b8)](){const _0x4c47e5={_0x572cad:0x717,_0x23d741:0xc7d,_0x490cd1:0x4a4,_0x13a490:0x6c5,_0x49580c:0x16bf,_0x34311a:0x1275};function _0x48899b(_0x4f0354,_0x5b575e){return _0x2b6441(_0x4f0354,_0x5b575e-0x4e5);}if(!this['_inverseMatrix']){let _0x44dc95;const _0x436d1a=this['_tileset']['root'][_0x48899b(0xf1d,_0x4c47e5._0x572cad)];_0x436d1a&&_0x436d1a['equals'](Cesium__namespace[_0xa899(_0x4c47e5._0x23d741,0x6c5)][_0xa899(0x25c,0xbb9)])||!_0x436d1a?_0x44dc95=Cesium__namespace['Transforms'][_0xa899(0x18eb,0x12ac)](this['_tileset'][_0xa899(0x1f,_0x4c47e5._0x490cd1)]['center']):_0x44dc95=Cesium__namespace['Matrix4']['fromArray'](this[_0xa899(0x6cd,0x31)]['root']['transform']),this['_inverseMatrix']=Cesium__namespace[_0xa899(0xc78,_0x4c47e5._0x13a490)][_0x48899b(_0x4c47e5._0x49580c,_0x4c47e5._0x34311a)](_0x44dc95,new Cesium__namespace['Matrix4']());}function _0xa899(_0x589677,_0x4dfee){return _0x2b6441(_0x589677,_0x4dfee-0xf4);}return this[_0xa899(0xf75,0xbbe)];}get['center'](){const _0x5b7d00={_0x41b330:0x137b,_0x50a71c:0x192b,_0x22e186:0x42},_0x7f75a0={_0x2c22a7:0x5c2},_0x1a1937={_0x25d2ba:0x49};function _0x7be54f(_0x3b0b25,_0x5db4b7){return _0x306755(_0x5db4b7,_0x3b0b25- -_0x1a1937._0x25d2ba);}if(this[_0x7be54f(_0x5b7d00._0x41b330,_0x5b7d00._0x50a71c)])return this['_layer']['position'];function _0x3a7cbe(_0x2e1d2c,_0x289bad){return _0x306755(_0x289bad,_0x2e1d2c- -_0x7f75a0._0x2c22a7);}return this[_0x3a7cbe(-0xe4,_0x5b7d00._0x22e186)]['boundingSphere']['center'];}get['position'](){function _0x24a2f9(_0xc33062,_0x3f304b){return _0x2b6441(_0x3f304b,_0xc33062-0x435);}return this[_0x24a2f9(0xd57,0xb09)];}set['position'](_0x7b8bb5){this['_position']=LngLatPoint['toCartesian'](_0x7b8bb5),this['redraw']();}get['dimensions'](){const _0x1d1226={_0x26232c:0x4c1},_0x1d5448={_0x14ccd0:0x82};function _0x599f96(_0x4f5eb0,_0x19cd5f){return _0x2b6441(_0x4f5eb0,_0x19cd5f- -_0x1d5448._0x14ccd0);}return this['options'][_0x599f96(-_0x1d1226._0x26232c,0xd3)];}set[_0x306755(0x744,0x6f6)](_0x4a2526){this['options']['dimensions']=_0x4a2526,this['redraw']();}get[_0x306755(0x746,0x105b)](){const _0x31693d={_0x557e78:0xb06},_0x46c50e={_0x2f56e0:0x4c};function _0x4e7b04(_0x3578e7,_0xa25f79){return _0x2b6441(_0x3578e7,_0xa25f79-_0x46c50e._0x2f56e0);}return this['options'][_0x4e7b04(0xe67,_0x31693d._0x557e78)];}set['showBox'](_0x35d7ac){const _0x1586c0={_0x5019e7:0x1610,_0x3ced98:0xb8a,_0x558ffb:0x123c},_0x7138c8={_0x16e4c6:0x4ce};this['options']['showBox']=_0x35d7ac;function _0x256e2b(_0x38abbf,_0x3f7b5b){return _0x2b6441(_0x38abbf,_0x3f7b5b-_0x7138c8._0x16e4c6);}this['options']['showBox']?(!this['_graphicLayer']&&(this['_graphicLayer']=new GraphicLayer({...this[_0x256e2b(_0x1586c0._0x5019e7,_0x1586c0._0x3ced98)],'private':!![]})),this['_graphicLayer']['show']=!![]):this['_graphicLayer']&&(this['_graphicLayer'][_0x269a34(_0x1586c0._0x558ffb,0x1338)]=![]);function _0x269a34(_0x3dc54b,_0x4b5499){return _0x306755(_0x4b5499,_0x3dc54b- -0x357);}this[_0x256e2b(0x4e6,0x3c6)]();}['_mountedHook'](){const _0x2cadff={_0x5e72e4:0x84b,_0x23d00d:0x607,_0x420636:0x607};this[_0x1a93b5(0x8b9,_0x2cadff._0x5e72e4)]['showBox']&&(this['_graphicLayer']=new GraphicLayer({...this['options'],'private':!![]}));function _0x164072(_0x40442b,_0x4f17f4){return _0x306755(_0x40442b,_0x4f17f4- -0x3c3);}function _0x1a93b5(_0x5a653c,_0x548ac9){return _0x306755(_0x5a653c,_0x548ac9- -0x412);}if(this[_0x164072(0x111a,0x89a)][_0x164072(0x10c4,_0x2cadff._0x23d00d)])this['layer']=this['options'][_0x164072(-0x148,_0x2cadff._0x420636)];else this['options']['tileset']&&(this['clipTarget']=this['options']['tileset']);}['_addedHook'](){const _0x502497={_0x85a573:0xef2,_0x2929ca:0xf54},_0x159011={_0x1b6f8e:0x262},_0x5dcb81={_0x19e3df:0x2a3};function _0x51a7c6(_0x1573e9,_0x33efb5){return _0x306755(_0x33efb5,_0x1573e9- -_0x5dcb81._0x19e3df);}this['_graphicLayer']&&this[_0x2152bc(0x148a,0xe66)][_0x51a7c6(_0x502497._0x85a573,0x979)](this['_graphicLayer']);function _0x2152bc(_0x466602,_0x4f0963){return _0x2b6441(_0x4f0963,_0x466602-_0x159011._0x1b6f8e);}this[_0x2152bc(0xf00,0xc47)]&&(Cesium__namespace['defined'](this['options']['position'])&&(this[_0x51a7c6(_0x502497._0x2929ca,0x716)]=this[_0x2152bc(0x91e,0xf4b)]['position']));}['_removedHook'](){const _0x5d0b01={_0x1cd4b7:0x20f,_0x3c4913:0xe76,_0x5f27cf:0x1656},_0x1fd6ac={_0x375d3c:0x42e};function _0x56a19b(_0x5edefc,_0x4860ff){return _0x2b6441(_0x4860ff,_0x5edefc-0x60e);}this[_0x56a19b(0x8a9,-_0x5d0b01._0x1cd4b7)]();function _0x4782f7(_0x4bb2b5,_0x355999){return _0x2b6441(_0x355999,_0x4bb2b5-_0x1fd6ac._0x375d3c);}this[_0x56a19b(0x187d,_0x5d0b01._0x3c4913)]&&this[_0x4782f7(_0x5d0b01._0x5f27cf,0x1630)]['removeLayer'](this[_0x56a19b(0x187d,0x1d25)]);}['redraw'](){const _0x3c7798={_0x2e9440:0xc8b,_0x5ba255:0x18a,_0x244a3f:0x181,_0x27f099:0x116,_0x47f1e0:0x683,_0x2b443e:0x190,_0x431ecb:0x77b,_0x2f75f9:0x713,_0x30c1c2:0x2e6,_0x58dd7d:0xaef,_0xed4af9:0x4b5,_0x21a3d0:0x578,_0x2ef407:0xc91,_0x1ae656:0x1bb,_0x2e2bd0:0x7b4,_0x49d097:0x4df,_0x343a4d:0x177,_0x1f4ebc:0xb24,_0xc050eb:0x141d,_0x5175f4:0x8ba,_0x42b922:0x881},_0x97c936={_0x2d14dd:0x56c};if(!this[_0x3fffa7(_0x3c7798._0x2e9440,0x10f7)]||!this[_0x3fffa7(_0x3c7798._0x5ba255,_0x3c7798._0x244a3f)])return;function _0x3fffa7(_0x18c5e5,_0x54fa5b){return _0x306755(_0x54fa5b,_0x18c5e5- -_0x97c936._0x2d14dd);}const _0x75c88a=this[_0x186bdf(-_0x3c7798._0x27f099,0x24d)]['x']/0x2,_0x3bbee3=this['dimensions']['y']/0x2,_0x5de7c5=this[_0x186bdf(-_0x3c7798._0x47f1e0,0x24d)]['z']/0x2,_0x215c6a=this['inverseMatrix'],_0x20f9d3=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x215c6a,this[_0x3fffa7(_0x3c7798._0x2b443e,-0x484)],new Cesium__namespace['Cartesian3']());function _0x186bdf(_0x3d7c8d,_0x15e0a7){return _0x306755(_0x3d7c8d,_0x15e0a7- -0x4a9);}const _0x413c3c=Cesium__namespace[_0x186bdf(-0x36a,0x6c9)]['multiplyByPoint'](_0x215c6a,this[_0x186bdf(_0x3c7798._0x431ecb,0xd4e)],new Cesium__namespace[(_0x3fffa7(0x4b5,_0x3c7798._0x2f75f9))]()),_0x12b76a=_0x20f9d3['x']-_0x413c3c['x'],_0x459ac3=_0x20f9d3['y']-_0x413c3c['y'],_0x147f51=_0x20f9d3['z']-_0x413c3c['z'],_0x545981=this[_0x3fffa7(0x6f1,-_0x3c7798._0x30c1c2)]['clipOutSide']?0x1:-0x1,_0x39bddf=[new Cesium__namespace[(_0x3fffa7(0x6b4,_0x3c7798._0x58dd7d))](new Cesium__namespace[(_0x3fffa7(_0x3c7798._0xed4af9,0x38f))](0x0,0x0,0x1),_0x545981*_0x5de7c5+_0x147f51),new Cesium__namespace[(_0x186bdf(-0x26e,0x777))](new Cesium__namespace[(_0x186bdf(-0x4b6,_0x3c7798._0x21a3d0))](0x0,0x0,-0x1),_0x545981*_0x5de7c5-_0x147f51),new Cesium__namespace[(_0x186bdf(_0x3c7798._0x2ef407,0x777))](new Cesium__namespace[(_0x186bdf(-_0x3c7798._0x1ae656,_0x3c7798._0x21a3d0))](0x1,0x0,0x0),_0x545981*_0x75c88a+_0x12b76a),new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](-0x1,0x0,0x0),_0x545981*_0x75c88a-_0x12b76a),new Cesium__namespace[(_0x186bdf(0xab5,0x777))](new Cesium__namespace[(_0x186bdf(0x16f,0x578))](0x0,0x1,0x0),_0x545981*_0x3bbee3+_0x459ac3),new Cesium__namespace['ClippingPlane'](new Cesium__namespace['Cartesian3'](0x0,-0x1,0x0),_0x545981*_0x3bbee3-_0x459ac3)],_0x2ded8c=new Cesium__namespace['ClippingPlaneCollection']({'planes':_0x39bddf,'edgeWidth':this['options'][_0x3fffa7(0xaca,0x157e)]??0x0,'edgeColor':this['options']['edgeColor']??Cesium__namespace['Color']['WHITE'],'unionClippingRegions':this[_0x186bdf(0xbd4,_0x3c7798._0x2e2bd0)][_0x3fffa7(_0x3c7798._0x49d097,-0x436)]??![]});this['clippingPlanes']=_0x2ded8c;this[_0x3fffa7(0xcd3,0x9aa)]&&(this[_0x3fffa7(0xcd3,0x412)]['clippingPlanes']=_0x2ded8c);if(this['options'][_0x186bdf(_0x3c7798._0x343a4d,0xbb2)]){this['_graphicLayer'][_0x186bdf(_0x3c7798._0x1f4ebc,0x393)]();const _0x212365=new BoxEntity({'position':this['position'],'style':{'dimensions':this['options']['dimensions'],'color':Cesium__namespace['Color'][_0x3fffa7(0x4f1,-0x2e2)][_0x186bdf(_0x3c7798._0xc050eb,0x148c)](0.2),...this['options'][_0x186bdf(_0x3c7798._0x5175f4,_0x3c7798._0x42b922)]}});this['_graphicLayer']['addGraphic'](_0x212365);}}['clear'](){const _0x60dc1c={_0x346f61:0x1d16,_0x14f554:0x10cc,_0x264bdf:0x1814,_0x91e7d6:0x771},_0x23a845={_0x47310a:0x42e};var _0x5dba8e;function _0x5afc36(_0x740b16,_0xdfafbf){return _0x2b6441(_0x740b16,_0xdfafbf-_0x23a845._0x47310a);}this['_graphicLayer']&&this[_0x5afc36(_0x60dc1c._0x346f61,0x169d)]['clear']();function _0x3fefd2(_0x127b8b,_0x235446){return _0x2b6441(_0x235446,_0x127b8b-0x20b);}this['clippingPlanes']&&delete this['clippingPlanes'],(_0x5dba8e=this['clipTarget'])!==null&&_0x5dba8e!==void 0x0&&(_0x5dba8e=_0x5dba8e['clippingPlanes'])!==null&&_0x5dba8e!==void 0x0&&_0x5dba8e['enabled']&&(this[_0x5afc36(0x19fc,_0x60dc1c._0x14f554)]['clippingPlanes']['enabled']=![]),this[_0x5afc36(_0x60dc1c._0x264bdf,0x10cc)][_0x5afc36(-0x125,_0x60dc1c._0x91e7d6)]=undefined;}}register(_0x306755(0xc57,0xd44),TilesetBoxClip,![]);var TilesetShakeVS=_0x306755(0x169f,0x13f6),TilesetShakeFS='void\x20fragmentMain(FragmentInput\x20fsInput,\x20inout\x20czm_modelMaterial\x20material)\x20{\x0a\x20\x20if(v_inRange\x20>\x200.0)\x20{\x0a\x20\x20\x20\x20if(u_mars3d_snake_inRangeColor.a\x20!=\x200.0)\x0a\x20\x20\x20\x20\x20\x20material.diffuse\x20=\x20mix(material.diffuse,\x20u_mars3d_snake_inRangeColor.rgb,\x20u_mars3d_snake_inRangeColor.a);\x0a\x20\x20}\x20else\x20if(u_mars3d_snake_outRangeColor.a\x20!=\x200.0)\x20{\x0a\x20\x20\x20\x20material.diffuse\x20=\x20mix(material.diffuse,\x20u_mars3d_snake_outRangeColor.rgb,\x20u_mars3d_snake_outRangeColor.a);\x0a\x20\x20}\x0a}\x0a';const _0x571a28={};_0x571a28['maxDistance']=0xa,_0x571a28[_0x2b6441(0x5fb,-0xdb)]=0x3e8,_0x571a28['maxHeight']=0x78,_0x571a28[_0x2b6441(0x1c3c,0x132c)]='rgba(255,0,0,0.5)',_0x571a28[_0x2b6441(0x10ff,0xe01)]='rgba(0,0,0,0)';const DEF_OPTIONS$1=_0x571a28;class TilesetShake extends BaseThing{constructor(_0x473f34={}){_0x473f34={...DEF_OPTIONS$1,..._0x473f34},super(_0x473f34),!isMars3DCesium&&logError('该功能需要引入mars3d修改版Cesium库(mars3d-cesium库)才支持!',this);}get[_0x2b6441(-0x4b5,0x429)](){return this['_layer'];}set[_0x306755(0xa1f,0x9ca)](_0x52846f){const _0x2f5668={_0x341c35:0x1741},_0x50f1fd={_0x352252:0xb33,_0x29ba03:0x26c},_0x4151c4={_0x34f148:0x4d1},_0x4dd51e={_0xb616d6:0x2e3},_0x1af2f4={_0x3bb1df:0x5e2};this[_0x86246(0x10e1,0x11ee)]=_0x52846f;function _0x43e8ae(_0x1def46,_0x4a4994){return _0x2b6441(_0x4a4994,_0x1def46-_0x1af2f4._0x3bb1df);}function _0x86246(_0x3a111c,_0x29971a){return _0x306755(_0x29971a,_0x3a111c- -_0x4dd51e._0xb616d6);}_0x52846f['readyPromise'][_0x86246(0x1020,_0x2f5668._0x341c35)](_0x5d44e4=>{this['_center']=_0x52846f[_0x470499(_0x50f1fd._0x352252,_0x50f1fd._0x29ba03)][_0x470499(0x274,0x890)]();function _0x8a2922(_0x3a35c9,_0x341fdc){return _0x43e8ae(_0x3a35c9- -0x31b,_0x341fdc);}function _0x470499(_0x245f43,_0x384d8f){return _0x43e8ae(_0x384d8f- -_0x4151c4._0x34f148,_0x245f43);}this[_0x470499(0xbc9,0x99f)]();});}get[_0x2b6441(0x13a2,0x13f8)](){const _0x33a8f0={_0x4cb4d0:0xa4c};function _0x1d5cd3(_0x286141,_0x4e4be2){return _0x306755(_0x286141,_0x4e4be2- -0x211);}return this[_0x1d5cd3(0x5c9,_0x33a8f0._0x4cb4d0)]['positions'];}set[_0x2b6441(0x948,0x13f8)](_0xd4872){const _0xf56fb1={_0x31df79:0x4a2},_0x43bc00={_0x139360:0x514};var _0x16f25f;function _0x4464b0(_0x542d90,_0xc48f55){return _0x306755(_0xc48f55,_0x542d90- -_0x43bc00._0x139360);}this['options']['positions']=_0xd4872,this[_0x4464b0(0x599,-_0xf56fb1._0x31df79)]=this['_getTexture'](),this['_uniforms']['u_mars3d_snake_rangeLength']['value']=((_0x16f25f=this['_texture'])===null||_0x16f25f===void 0x0?void 0x0:_0x16f25f['width'])||0x1;}get['maxDistance'](){return this['options']['maxDistance'];}set['maxDistance'](_0x484e66){const _0x4d8838={_0x4bc727:0x4dc},_0x132a2f={_0x4922f0:0x2c};function _0x2465ce(_0x592ea2,_0x297c18){return _0x306755(_0x592ea2,_0x297c18- -_0x132a2f._0x4922f0);}this[_0x2465ce(_0x4d8838._0x4bc727,0xc31)]['maxDistance']=_0x484e66,this['_uniforms']['u_mars3d_snake_maxDistance']['value']=_0x484e66;}get[_0x306755(-0x334,0x4c6)](){return this['options']['duration'];}set['duration'](_0x813c12){function _0x7a79ee(_0x2f6bdc,_0x35aec8){return _0x306755(_0x2f6bdc,_0x35aec8- -0x165);}this[_0x7a79ee(0x1153,0xaf8)]['duration']=_0x813c12;}get[_0x2b6441(0x5c6,0xd1e)](){const _0x1d4ab5={_0x4f5542:0x8f9,_0x4a854a:0x3e4};function _0x2d40b4(_0x3ac9fe,_0x5c4caf){return _0x2b6441(_0x5c4caf,_0x3ac9fe-0x399);}function _0xffe3a1(_0x567d33,_0x2089cb){return _0x2b6441(_0x2089cb,_0x567d33-0x23d);}return this[_0xffe3a1(_0x1d4ab5._0x4f5542,_0x1d4ab5._0x4a854a)][_0x2d40b4(0x10b7,0x128e)];}set['maxHeight'](_0x279361){const _0x2d1d84={_0x211c91:0x1cbc,_0x578644:0xe88,_0x3ba0a4:0xc8d};function _0x2f5ea3(_0x77f603,_0x1db0ed){return _0x2b6441(_0x77f603,_0x1db0ed-0x4df);}function _0x384ffe(_0x425116,_0x40c577){return _0x2b6441(_0x425116,_0x40c577-0x68c);}this['options'][_0x384ffe(0x1653,0x13aa)]=_0x279361,this[_0x2f5ea3(_0x2d1d84._0x211c91,0x1612)][_0x384ffe(_0x2d1d84._0x578644,0x9ee)][_0x2f5ea3(0x11df,_0x2d1d84._0x3ba0a4)]=_0x279361;}get['inRangeColor'](){return this['options']['inRangeColor'];}set['inRangeColor'](_0xe38354){const _0x581707={_0x22e4b3:0x1711,_0xa20627:0x86e},_0x177019={_0x1215a7:0xc0};function _0x128fa7(_0x238d0c,_0x14efe6){return _0x2b6441(_0x238d0c,_0x14efe6-0x5db);}this['options'][_0x128fa7(_0x581707._0x22e4b3,0x1907)]=_0xe38354;function _0x224a3e(_0x460e15,_0x16e1b5){return _0x2b6441(_0x460e15,_0x16e1b5-_0x177019._0x1215a7);}this['_uniforms']['u_mars3d_snake_inRangeColor'][_0x224a3e(0xa0f,_0x581707._0xa20627)]=getCesiumColor(_0xe38354);}get[_0x306755(0x1b72,0x13a2)](){return this['options']['outRangeColor'];}set['outRangeColor'](_0x5b91ae){const _0x4dde79={_0xe40198:0x7ca,_0xc45ecb:0x9ea},_0x46025a={_0xd0477c:0x515},_0x1eb898={_0x11d166:0x365};function _0x5582dc(_0x3ebfb5,_0x21d63e){return _0x306755(_0x3ebfb5,_0x21d63e- -_0x1eb898._0x11d166);}this['options']['outRangeColor']=_0x5b91ae;function _0x5829a1(_0x28c508,_0x2dbe8f){return _0x306755(_0x28c508,_0x2dbe8f- -_0x46025a._0xd0477c);}this['_uniforms'][_0x5829a1(0x300,0xb3)][_0x5582dc(_0x4dde79._0xe40198,_0x4dde79._0xc45ecb)]=getCesiumColor(_0x5b91ae);}['_addedHook'](){const _0x1323ae={_0x58c585:0x69e};this['_texture']=this['_getTexture']();function _0x159b7e(_0x58c492,_0x5577ac){return _0x306755(_0x5577ac,_0x58c492- -0x372);}this['options']['layer']&&(this['layer']=this[_0x159b7e(0x8eb,_0x1323ae._0x58c585)]['layer']);}[_0x306755(0x16b6,0xe2b)](){const _0xa2ff7f={_0x32486f:0xc4d,_0x46a40d:0xb21,_0xf87a29:0xbca,_0x162cb4:0x899,_0x31307b:0xf9e};function _0x3b3a81(_0x8e0287,_0x1fdf7e){return _0x2b6441(_0x1fdf7e,_0x8e0287- -0xa9);}Cesium__namespace['defined'](this[_0x3b3a81(0x463,_0xa2ff7f._0x32486f)])&&(this['_texture'][_0x55c149(_0xa2ff7f._0x46a40d,_0xa2ff7f._0xf87a29)](),this[_0x55c149(0x63f,_0xa2ff7f._0x162cb4)]=undefined);function _0x55c149(_0x48c038,_0x51f968){return _0x2b6441(_0x51f968,_0x48c038-0x133);}this['cacheMarsOptions']&&this[_0x55c149(_0xa2ff7f._0x31307b,0x56f)]();}[_0x306755(0x567,0xe2f)](){const _0xbca775={_0x5547ec:0x12b8,_0x2a4c05:0x1694,_0x19fa35:0x61d,_0x17a072:0x699},_0x3b50be={_0x4bdaae:0x15c5,_0x474147:0xe69};function _0x53d80a(_0x2fe648,_0x405e4a){return _0x306755(_0x2fe648,_0x405e4a-0x21);}function _0x487c34(_0x135fd1,_0x4917ff){return _0x2b6441(_0x4917ff,_0x135fd1-0x270);}var _0x510da8;const _0x7b1861=this[_0x487c34(0x15db,_0xbca775._0x5547ec)]();if((_0x510da8=Cesium__namespace['Mars3DEx'])!==null&&_0x510da8!==void 0x0&&_0x510da8['getCacheOrAdd']){const _0x4f7abb=Cesium__namespace[_0x53d80a(0x110a,_0xbca775._0x2a4c05)][_0x53d80a(_0xbca775._0x19fa35,0x997)](this[_0x487c34(_0xbca775._0x17a072,0xe93)]['_marsOptions']['customShaders']);_0x4f7abb['shake']=_0x7b1861,this['cacheMarsOptions']=function(){function _0x3e5ff5(_0x2ee802,_0x3bf1e5){return _0x487c34(_0x2ee802-0x43c,_0x3bf1e5);}delete _0x4f7abb[_0x3e5ff5(_0x3b50be._0x4bdaae,_0x3b50be._0x474147)];};}}[_0x2b6441(0x148e,0x136b)](){const _0x4a605c={_0x17b7d2:0x8d3,_0x29ead5:0x1273,_0x555f25:0x10f1,_0x3a9033:0x175d,_0x1c3c8c:0x1370,_0x598aac:0x1a8f,_0x34dca0:0xeb1,_0x20b2bb:0xd89,_0x2b6e1f:0x1eb,_0x4c7ef7:0x12e8,_0x20be93:0xd89,_0x4ae88c:0x2f9,_0x2440ce:0x376,_0x33f661:0x18b,_0x535af6:0x96b,_0x26b8b3:0x104c,_0x1aaf4d:0x16cc,_0x1092a0:0x958,_0x46d9f4:0xe72,_0x5521be:0xd24,_0x57303c:0xcc3,_0x37e3a6:0x1354,_0x59cae4:0x7eb,_0x43f378:0x12d7,_0x2f1712:0x18f2,_0x3018c3:0xb8e,_0x471bc6:0xdf5,_0x355066:0x120e},_0x3ca797={_0x185f1e:0x322,_0x5ac266:0x31b},_0x52e93c={_0x3581ef:0x2d4},_0x31d493={_0x20e298:0x308},_0x29426c={_0x4cbf7d:0x8ca,_0x41b880:0x7dc},_0x5b82db={_0x5e845d:0x6ca};var _0x4480f6;const _0x42bb20=Cesium__namespace['Cartesian3'][_0x1cd6de(_0x4a605c._0x17b7d2,0x9be)](this['_center'][_0x3ed3f2(0x12f9,_0x4a605c._0x29ead5)],this['_center']['latitude'],0x28),_0x78a97d=Cesium__namespace['Ellipsoid']['WGS84'][_0x3ed3f2(_0x4a605c._0x555f25,_0x4a605c._0x3a9033)](_0x42bb20),_0x49ac56=Cesium__namespace['Plane'][_0x1cd6de(_0x4a605c._0x1c3c8c,_0x4a605c._0x598aac)](_0x42bb20,_0x78a97d),_0x14433c=new Cesium__namespace['Cartesian3'](0x0,0x1,0x0);function _0x3ed3f2(_0x1a301c,_0x3eb020){return _0x2b6441(_0x1a301c,_0x3eb020-_0x5b82db._0x5e845d);}Cesium__namespace['Cartesian3']['cross'](_0x14433c,_0x49ac56['normal'],_0x14433c),Cesium__namespace[_0x1cd6de(0x719,0xf69)]['normalize'](_0x14433c,_0x14433c);const _0x4b2780=Cesium__namespace[_0x3ed3f2(0x67c,0xb4a)]['cross'](_0x49ac56[_0x3ed3f2(_0x4a605c._0x34dca0,_0x4a605c._0x20b2bb)],_0x14433c,new Cesium__namespace[(_0x1cd6de(0x719,_0x4a605c._0x2b6e1f))]());Cesium__namespace[_0x3ed3f2(0xde4,0xb4a)]['normalize'](_0x4b2780,_0x4b2780);const _0x1e198a=new Cesium__namespace[(_0x1cd6de(0x86a,_0x4a605c._0x4c7ef7))](_0x14433c['x'],_0x4b2780['x'],_0x49ac56['normal']['x'],_0x42bb20['x'],_0x14433c['y'],_0x4b2780['y'],_0x49ac56['normal']['y'],_0x42bb20['y'],_0x14433c['z'],_0x4b2780['z'],_0x49ac56[_0x3ed3f2(0x13c0,_0x4a605c._0x20be93)]['z'],_0x42bb20['z'],0x0,0x0,0x0,0x1),_0x203548=Cesium__namespace[_0x1cd6de(0x86a,0xf8)]['inverse'](_0x1e198a,_0x1e198a),_0x1d17f9=new Cesium__namespace[(_0x1cd6de(_0x4a605c._0x4ae88c,-0x3f8))]({'varyings':{'v_inRange':Cesium__namespace[_0x1cd6de(_0x4a605c._0x2440ce,-_0x4a605c._0x33f661)]['FLOAT']},'uniforms':{'u_mars3d_snake_planeNormal':{'type':Cesium__namespace[_0x1cd6de(_0x4a605c._0x535af6,_0x4a605c._0x26b8b3)][_0x1cd6de(_0x4a605c._0x1aaf4d,0x1fa8)],'value':_0x49ac56[_0x1cd6de(_0x4a605c._0x1092a0,0x949)]},'u_mars3d_snake_planeDistance':{'type':Cesium__namespace['UniformType']['FLOAT'],'value':_0x49ac56['distance']},'u_mars3d_snake_maxHeight':{'type':Cesium__namespace['UniformType']['FLOAT'],'value':this['options']['maxHeight']},'u_mars3d_snake_maxDistance':{'type':Cesium__namespace['UniformType'][_0x1cd6de(_0x4a605c._0x46d9f4,_0x4a605c._0x5521be)],'value':this[_0x1cd6de(0x955,0x5b7)]['maxDistance']},'u_mars3d_snake_inversePlaneMatrix':{'type':Cesium__namespace['UniformType'][_0x1cd6de(0x4e5,0xf43)],'value':_0x203548},'u_mars3d_snake_rangeLength':{'type':Cesium__namespace[_0x1cd6de(0x96b,0x137d)][_0x3ed3f2(0x9ab,0xc30)],'value':((_0x4480f6=this['_texture'])===null||_0x4480f6===void 0x0?void 0x0:_0x4480f6[_0x1cd6de(0x8e3,_0x4a605c._0x57303c)])||0x1},'u_mars3d_snake_inRangeColor':{'type':Cesium__namespace['UniformType']['VEC4'],'value':Cesium__namespace['Color'][_0x3ed3f2(0xd98,0xa76)]['withAlpha'](0.5)},'u_mars3d_snake_outRangeColor':{'type':Cesium__namespace['UniformType']['VEC4'],'value':Cesium__namespace['Color'][_0x1cd6de(_0x4a605c._0x37e3a6,0x1703)]}},'fragmentShaderText':TilesetShakeFS,'vertexShaderText':TilesetShakeVS});_0x1d17f9[_0x1cd6de(_0x4a605c._0x59cae4,0x1bd)]['u_mars3d_snake_showAll']=()=>{function _0x7013a6(_0x3f77d1,_0x299d89){return _0x3ed3f2(_0x3f77d1,_0x299d89- -0x3fa);}return!this[_0x7013a6(_0x29426c._0x4cbf7d,_0x29426c._0x41b880)];};const _0x1f04b9=this[_0x3ed3f2(_0x4a605c._0x43f378,_0x4a605c._0x2f1712)][_0x3ed3f2(0x61c,_0x4a605c._0x3018c3)]['_context']['defaultTexture'];_0x1d17f9['uniformMap'][_0x1cd6de(_0x4a605c._0x471bc6,_0x4a605c._0x355066)]=()=>{return this['_texture']||_0x1f04b9;};function _0x1cd6de(_0x347140,_0x7e38bf){return _0x306755(_0x7e38bf,_0x347140- -_0x31d493._0x20e298);}return _0x1d17f9['uniformMap']['u_mars3d_snake_time']=()=>{function _0x1d6231(_0x309632,_0x4a4e03){return _0x3ed3f2(_0x309632,_0x4a4e03- -_0x52e93c._0x3581ef);}return performance['now']()/this['options'][_0x1d6231(_0x3ca797._0x185f1e,_0x3ca797._0x5ac266)];},this[_0x1cd6de(0x13cc,0x1e7d)]=_0x1d17f9[_0x3ed3f2(0xed9,0x1343)],_0x1d17f9;}['_getTexture'](){const _0x281bab={_0x49e546:0xc17,_0x4599e8:0x1428,_0x15f264:0x71a,_0x8478e6:0x16f5,_0x4254ed:0x12c7,_0x172704:0xbcf,_0x3145c7:0xa19,_0x2eaa39:0x1271,_0xa46420:0xcd1,_0x5ec564:0x7c6,_0x20426c:0xfd9,_0xfd18ce:0x396,_0x4b754b:0xb6,_0x33f386:0x256},_0x2f5d2c={_0x1a9bc7:0x86d,_0x211740:0x1},_0x103582={_0x1cd81a:0x6da};Cesium__namespace[_0x23819e(0x1c3b,0x191c)](this['_texture'])&&(this[_0x23819e(0x414,_0x281bab._0x49e546)]['destroy'](),this[_0x23819e(0xb23,_0x281bab._0x49e546)]=undefined);if(!this['options'][_0x1e3ef7(0x1a1d,_0x281bab._0x4599e8)]||this['options']['positions']['length']<0x3)return null;const _0x2b36ac=LngLatArray[_0x1e3ef7(0x7ec,_0x281bab._0x15f264)](this[_0x23819e(0x13cb,0xdc7)]['positions']);function _0x23819e(_0x43d137,_0x5bdec3){return _0x2b6441(_0x43d137,_0x5bdec3-0x70b);}const _0x3e721c=[];_0x2b36ac[_0x1e3ef7(0x5a0,0x6cf)](_0x11da30=>{const _0x30fefc=Cesium__namespace[_0x189280(_0x2f5d2c._0x1a9bc7,-_0x2f5d2c._0x211740)]['normalize'](_0x11da30,new Cesium__namespace['Cartesian3']());_0x3e721c[_0x5dedf3(0x802,0xc44)](_0x30fefc['x']),_0x3e721c['push'](_0x30fefc['y']),_0x3e721c['push'](_0x30fefc['z']);function _0x5dedf3(_0x413ac3,_0x5a2094){return _0x1e3ef7(_0x5a2094,_0x413ac3-_0x103582._0x1cd81a);}function _0x189280(_0x265637,_0x90cbbd){return _0x23819e(_0x90cbbd,_0x265637- -0x31e);}_0x3e721c[_0x189280(0x4e5,0x46f)](_0x11da30['x']/_0x30fefc['x']);});function _0x1e3ef7(_0x22e83d,_0x26b4bf){return _0x2b6441(_0x22e83d,_0x26b4bf-0x30);}const _0x18550e=new Cesium__namespace[(_0x23819e(_0x281bab._0x8478e6,0xd68))]({'context':this['_map'][_0x23819e(_0x281bab._0x4254ed,_0x281bab._0x172704)]['_context'],'pixelFormat':Cesium__namespace[_0x23819e(_0x281bab._0x3145c7,_0x281bab._0x2eaa39)]['RGBA'],'pixelDatatype':Cesium__namespace['PixelDatatype']['FLOAT'],'sampler':new Cesium__namespace['Sampler']({'wrapS':Cesium__namespace['TextureWrap'][_0x1e3ef7(_0x281bab._0xa46420,_0x281bab._0x5ec564)],'wrapT':Cesium__namespace['TextureWrap'][_0x23819e(0xc25,0xea1)],'minificationFilter':Cesium__namespace[_0x23819e(0x1321,_0x281bab._0x20426c)][_0x1e3ef7(_0x281bab._0xfd18ce,-_0x281bab._0x4b754b)],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter'][_0x1e3ef7(_0x281bab._0x33f386,-0xb6)]}),'flipY':![],'source':{'width':_0x2b36ac['length'],'height':0x1,'arrayBufferView':new Float32Array(_0x3e721c)}});return _0x18550e;}}register('tilesetShake',TilesetShake,![]);let scratchCurrentDirection=new Cesium__namespace[(_0x2b6441(0x18e,0x480))](),scratchDeltaPosition=new Cesium__namespace[(_0x306755(0x92,0xa21))](),scratchNextPosition=new Cesium__namespace[(_0x2b6441(0x7ff,0x480))](),scratchTerrainConsideredNextPosition=new Cesium__namespace['Cartesian3'](),scratchNextCartographic=new Cesium__namespace['Cartographic']();const _0x4d13a4={};_0x4d13a4[_0x306755(0x1076,0x16ce)]=0x0,_0x4d13a4['DIRECTION_FORWARD']=0x1,_0x4d13a4[_0x2b6441(0x13da,0x10ea)]=0x2,_0x4d13a4['DIRECTION_LEFT']=0x3,_0x4d13a4[_0x2b6441(-0xed,0x805)]=0x4;const RoamType=_0x4d13a4;class FirstPersonRoam extends BaseThing{constructor(_0x45f27a={}){const _0x52cee3={_0x4eb30b:0x16b1,_0x3f96be:0x14d9,_0x1697e7:0xfd2,_0x1009b2:0x6a7,_0x2fd556:0x5c4},_0x28341f={_0x58b1cc:0x372};super(_0x45f27a);function _0x4b91f5(_0x22c097,_0x9886fc){return _0x306755(_0x22c097,_0x9886fc- -0x57);}function _0x3f6616(_0x25355e,_0x5b2fe8){return _0x2b6441(_0x5b2fe8,_0x25355e-_0x28341f._0x58b1cc);}this['speed']=this['options']['speed']??1.5,this[_0x4b91f5(0x15f3,_0x52cee3._0x4eb30b)]=this['options'][_0x3f6616(_0x52cee3._0x3f96be,_0x52cee3._0x1697e7)]??-0x5,this['height']=this['options']['height']??0xa,this[_0x4b91f5(_0x52cee3._0x1009b2,_0x52cee3._0x2fd556)]=this[_0x4b91f5(0x15cb,0xc06)][_0x3f6616(0x3ec,0x21a)]??0x58;}[_0x2b6441(0x3fb,-0x6c)](_0x48dfd7){const _0x488bf8={_0x4a7de6:0xf98},_0x20cb15={_0x2a6af9:0x4f7};function _0x231c20(_0x458c89,_0x69dd10){return _0x306755(_0x69dd10,_0x458c89- -_0x20cb15._0x2a6af9);}_0x48dfd7?this['activate']():this[_0x231c20(_0x488bf8._0x4a7de6,0x75a)]();}['_mountedHook'](){}[_0x306755(0xe83,0x99e)](){const _0x741d6e={_0xcda9fa:0x1aaf,_0x5c1e43:0x1548,_0x2dcf3d:0xc50,_0x4e3bff:0x7d4,_0xb52311:0x173c,_0x306ce6:0xefb,_0x229d1e:0x1372,_0x1b1270:0x1548},_0x466b29={_0x11c261:0x281};this['enabled']&&this['activate']();function _0x1b5d2a(_0x13bece,_0x4d81ba){return _0x306755(_0x4d81ba,_0x13bece- -_0x466b29._0x11c261);}this[_0x4ebba3(0x187f,0x1a2d)]['on'](EventType['leftDown'],this['_onLeftDownHandler'],this),this['_map']['on'](EventType['leftUp'],this[_0x4ebba3(0x1423,_0x741d6e._0xcda9fa)],this),this[_0x1b5d2a(_0x741d6e._0x5c1e43,_0x741d6e._0x2dcf3d)]['on'](EventType['mouseMove'],this[_0x1b5d2a(0x539,_0x741d6e._0x4e3bff)],this),this['_map']['on'](EventType[_0x1b5d2a(0xce6,0x1591)],this[_0x4ebba3(_0x741d6e._0xb52311,0x15a6)],this),this['_map']['on'](EventType['keydown'],this['_onKeyDown'],this),this['_map']['on'](EventType[_0x1b5d2a(0xc5b,_0x741d6e._0x306ce6)],this[_0x4ebba3(_0x741d6e._0x229d1e,0x184c)],this);function _0x4ebba3(_0x493844,_0x42c672){return _0x306755(_0x42c672,_0x493844-0xb6);}this[_0x1b5d2a(_0x741d6e._0x1b1270,0xd0f)]['on'](EventType['clockTick'],this['_onClockTick'],this);}['_removedHook'](){const _0x71250a={_0x400cbf:0x17b0,_0x735007:0x1809,_0x43e5e9:0x4ff,_0x35fb2c:0x804,_0x3564a1:0xd74,_0x39a163:0x1519,_0x75388d:0x1154,_0x177d8f:0xbc6,_0x5f2dde:0x10be};this['disable'](),this[_0x44918a(_0x71250a._0x400cbf,_0x71250a._0x735007)]['off'](EventType['leftDown'],this['_onLeftDownHandler'],this),this['_map']['off'](EventType[_0x44918a(0xd74,_0x71250a._0x43e5e9)],this['_onLeftUpHandler'],this),this['_map']['off'](EventType['mouseMove'],this['_onMouseMoveHandler'],this),this['_map'][_0x60f972(_0x71250a._0x35fb2c,0xf54)](EventType['dblClick'],this[_0x44918a(0x14aa,0x16c6)],this),this['_map']['off'](EventType['keydown'],this['_onKeyDown'],this),this['_map']['off'](EventType[_0x60f972(_0x71250a._0x3564a1,_0x71250a._0x39a163)],this[_0x60f972(_0x71250a._0x75388d,_0x71250a._0x177d8f)],this),this['_map']['off'](EventType['clockTick'],this[_0x44918a(_0x71250a._0x5f2dde,0x619)],this),scratchCurrentDirection=new Cesium__namespace['Cartesian3'](),scratchDeltaPosition=new Cesium__namespace['Cartesian3'](),scratchNextPosition=new Cesium__namespace['Cartesian3'](),scratchTerrainConsideredNextPosition=new Cesium__namespace['Cartesian3']();function _0x44918a(_0x56cdd5,_0xae08c5){return _0x306755(_0x56cdd5,_0xae08c5-0x40);}function _0x60f972(_0x2efbca,_0x5b3b83){return _0x306755(_0x5b3b83,_0x2efbca- -0x168);}scratchNextCartographic=new Cesium__namespace['Cartographic']();}[_0x306755(0x215a,0x1829)](_0x1ca165){const _0x328320={_0x281139:0xbd0,_0xec2c49:0x1480},_0xbff474={_0x437e62:0xb8},_0x3c17e9={_0x4e6fc6:0xf};if(!this[_0x5e43c1(0x13b5,0xd3e)])return;function _0x5e43c1(_0x2f0ef3,_0x26fe32){return _0x2b6441(_0x2f0ef3,_0x26fe32-_0x3c17e9._0x4e6fc6);}function _0x5529c0(_0x55dd9f,_0x35853f){return _0x2b6441(_0x35853f,_0x55dd9f-_0xbff474._0x437e62);}this['_looking']=!![],this[_0x5529c0(_0x328320._0x281139,0x25d)]=Cesium__namespace['Cartesian3']['clone'](_0x1ca165['position']),this['_mousePosition']=this[_0x5529c0(0xbd0,_0x328320._0xec2c49)];}['_onDbClickHandler'](_0x4532fd){const _0xfb8df0={_0x26d748:0xd25,_0x48f3ce:0xbe7};if(!this['enabled'])return;this['_looking']=!![],this['_startMousePosition']=Cesium__namespace['Cartesian3']['clone'](_0x4532fd[_0x50cc3a(_0xfb8df0._0x26d748,0x91c)]);function _0x2e3fb2(_0x24b104,_0x1bf456){return _0x2b6441(_0x24b104,_0x1bf456-0xac);}function _0x50cc3a(_0x47d0ef,_0xf695fa){return _0x2b6441(_0xf695fa,_0x47d0ef-0xcf);}this[_0x2e3fb2(0x1728,0x1060)]=this[_0x50cc3a(_0xfb8df0._0x48f3ce,0xbb5)];}[_0x306755(0x137f,0x136d)](_0x4226f4){this['_looking']=![];}[_0x2b6441(-0x177,0x219)](_0x51baf5){this['_mousePosition']=_0x51baf5['endPosition'];}['_onKeyDown'](_0x1877de){const _0x26872c={_0x3a6bde:0xdc9,_0x5d53ea:0x589,_0x4a8e67:0x671,_0x25a522:0xa6b,_0x3b8d48:0x1e83,_0x557b0b:0x24f};function _0x5e0e9a(_0x27123e,_0x1770bd){return _0x306755(_0x1770bd,_0x27123e- -0x45);}if(!this['enabled'])return;const _0x220ef0=_0x1877de[_0x1e944a(_0x26872c._0x3a6bde,0xec7)];this['_direction']=RoamType[_0x5e0e9a(0x1689,0x1421)];function _0x1e944a(_0x2180ef,_0x21e0df){return _0x306755(_0x2180ef,_0x21e0df- -0x513);}switch(_0x220ef0){case'W'[_0x5e0e9a(0x671,_0x26872c._0x5d53ea)](0x0):this['_direction']=RoamType['DIRECTION_FORWARD'];break;case'S'[_0x5e0e9a(_0x26872c._0x4a8e67,_0x26872c._0x25a522)](0x0):this['_direction']=RoamType[_0x5e0e9a(0x1646,_0x26872c._0x3b8d48)];break;case'D'['charCodeAt'](0x0):this['_direction']=RoamType['DIRECTION_RIGHT'];break;case'A'[_0x1e944a(-_0x26872c._0x557b0b,0x1a3)](0x0):this['_direction']=RoamType['DIRECTION_LEFT'];break;}}['_onKeyUp'](){if(!this['enabled'])return;this['_direction']=RoamType['DIRECTION_NONE'];}['_onClockTick'](_0x3a35d7){const _0x8de6b={_0x3b4b92:0x2,_0x25780f:0xf3e,_0x2b1327:0xf50,_0x1df927:0x4e8,_0x17eb55:0x1521,_0xf8e192:0x136b,_0x5eb4e2:0x4a6,_0x2999df:0x5ad,_0x13528d:0xff6,_0xeb8b8e:0x110a,_0x620321:0x86d,_0x80c476:0x13cf,_0x4f63f1:0x1ce,_0x3966f1:0x17af,_0x2da2df:0xc98};if(!this['enabled'])return;const _0x42bcec=_0x3a35d7[_0x197d76(0x275,-_0x8de6b._0x3b4b92)];this['_looking']&&this['_changeHeadingPitch'](_0x42bcec);if(this['_direction']===RoamType['DIRECTION_NONE'])return;const _0x1734d5=this[_0x197d76(_0x8de6b._0x25780f,0x941)]*_0x42bcec;if(this['_direction']===RoamType[_0x197d76(0x793,_0x8de6b._0x2b1327)])Cesium__namespace[_0x197d76(0x888,_0x8de6b._0x1df927)]['multiplyByScalar'](this['_map']['camera'][_0x4203b0(_0x8de6b._0x17eb55,0x1a92)],0x1,scratchCurrentDirection);else{if(this[_0x4203b0(_0x8de6b._0xf8e192,0xb75)]===RoamType['DIRECTION_BACKWARD'])Cesium__namespace[_0x197d76(_0x8de6b._0x5eb4e2,0x4e8)]['multiplyByScalar'](this['_map']['camera'][_0x197d76(0xc5f,0x1002)],-0x1,scratchCurrentDirection);else{if(this['_direction']===RoamType[_0x197d76(0xb7a,0xfe0)])Cesium__namespace[_0x197d76(0xcb5,0x4e8)][_0x197d76(0xf7a,0xf6f)](this['_map']['camera'][_0x197d76(_0x8de6b._0x2999df,_0x8de6b._0x13528d)],-0x1,scratchCurrentDirection);else this['_direction']===RoamType[_0x197d76(_0x8de6b._0xeb8b8e,_0x8de6b._0x620321)]&&Cesium__namespace['Cartesian3']['multiplyByScalar'](this['_map']['camera']['right'],0x1,scratchCurrentDirection);}}Cesium__namespace['Cartesian3']['multiplyByScalar'](scratchCurrentDirection,_0x1734d5,scratchDeltaPosition);const _0x91b17e=this['_map'][_0x197d76(_0x8de6b._0x80c476,0xb0f)]['position'];function _0x197d76(_0x2bf441,_0x3dfd6a){return _0x2b6441(_0x2bf441,_0x3dfd6a-0x68);}Cesium__namespace[_0x197d76(_0x8de6b._0x4f63f1,_0x8de6b._0x1df927)]['add'](_0x91b17e,scratchDeltaPosition,scratchNextPosition);const _0x5cc376=this['_map']['scene']['globe'],_0xf4cc28=_0x5cc376['ellipsoid'];_0xf4cc28[_0x197d76(0x1214,0xa7b)](scratchNextPosition,scratchNextCartographic);const _0x382d68=getHeight(this[_0x4203b0(0x17af,0x1847)]['scene'],scratchNextCartographic);if(_0x382d68===undefined)return;scratchNextCartographic['height']=_0x382d68+this['height'],_0xf4cc28['cartographicToCartesian'](scratchNextCartographic,scratchTerrainConsideredNextPosition);function _0x4203b0(_0x4bcfa5,_0x5c9ebb){return _0x306755(_0x5c9ebb,_0x4bcfa5- -0x1a);}this[_0x4203b0(_0x8de6b._0x3966f1,0xf82)]['camera']['setView']({'destination':scratchTerrainConsideredNextPosition,'orientation':new Cesium__namespace['HeadingPitchRoll'](this['_map']['camera'][_0x197d76(0x12e0,_0x8de6b._0x2da2df)],this[_0x4203b0(0x17af,0x16ee)]['camera'][_0x197d76(0xfad,0x66c)],this['_map']['camera']['roll']),'endTransform':Cesium__namespace[_0x4203b0(0xb58,0x5c7)]['IDENTITY']});}['_changeHeadingPitch'](_0x8fd1d5){const _0x3f5b8e={_0x7bec5:0x14dc,_0x569f11:0x11ee,_0x1cbb0a:0x1239,_0xb7d40b:0xc34,_0x23e6fe:0xd9d,_0x4a3a2b:0x1b80,_0x222969:0x1034,_0x3842b5:0x1335,_0x3d5be4:0x16d2,_0x30affe:0x1bb4,_0x1ce091:0x5e5,_0x479e5d:0x16f1,_0x3047e7:0xb96,_0x5065f1:0x9b6},_0x33aaf7={_0xa495ce:0x285},_0x427749=this['_map']['canvas'][_0xc20ace(0x1584,_0x3f5b8e._0x7bec5)],_0x5889cb=this['_map']['canvas']['clientHeight'];function _0x5824de(_0x1cc7be,_0x1e9b85){return _0x2b6441(_0x1cc7be,_0x1e9b85-_0x33aaf7._0xa495ce);}const _0x59b6c6=(this[_0x5824de(_0x3f5b8e._0x569f11,_0x3f5b8e._0x1cbb0a)]['x']-this[_0x5824de(_0x3f5b8e._0xb7d40b,_0x3f5b8e._0x23e6fe)]['x'])/_0x427749,_0x2ad889=-(this[_0x5824de(_0x3f5b8e._0x4a3a2b,0x1239)]['y']-this[_0x5824de(_0x3f5b8e._0x222969,0xd9d)]['y'])/_0x5889cb,_0x3bb59e=Cesium__namespace[_0xc20ace(_0x3f5b8e._0x3842b5,0x1676)]['toDegrees'](this['_map']['camera']['heading']),_0x479b9b=_0x59b6c6*this[_0xc20ace(_0x3f5b8e._0x3d5be4,_0x3f5b8e._0x30affe)],_0x5b4aaf=_0x3bb59e+_0x479b9b,_0x112a1f=Cesium__namespace['Math'][_0x5824de(0xe4e,0xafc)](this['_map'][_0x5824de(0xb61,0xd2c)]['pitch']),_0x355fe7=_0x2ad889*this[_0xc20ace(0x16d2,0x1bc3)];let _0x4001cd=_0x112a1f+_0x355fe7;function _0xc20ace(_0x45ad67,_0xdda994){return _0x306755(_0xdda994,_0x45ad67- -0x36);}_0x4001cd>this['maxPitch']*0x2&&_0x4001cd<0x168-this[_0xc20ace(_0x3f5b8e._0x1ce091,-0x222)]?_0x4001cd=0x168-this['maxPitch']:_0x4001cd>this['maxPitch']&&_0x4001cd<0x168-this[_0x5824de(0xb51,0x2ff)]&&(_0x4001cd=this['maxPitch']),this['_map'][_0xc20ace(0x1012,_0x3f5b8e._0x479e5d)]['setView']({'orientation':{'heading':Cesium__namespace['Math']['toRadians'](_0x5b4aaf),'pitch':Cesium__namespace[_0xc20ace(0x1335,0x154e)][_0xc20ace(_0x3f5b8e._0x3047e7,0x1163)](_0x4001cd),'roll':this['_map']['camera'][_0xc20ace(_0x3f5b8e._0x5065f1,0x9f7)]}});}['_enableScreenSpaceCameraController'](_0xe4b188){const _0xe0685d={_0x2118e0:0x57a},_0x34700c=this['_map']['scene'];_0x34700c['screenSpaceCameraController']['enableRotate']=_0xe4b188,_0x34700c['screenSpaceCameraController']['enableTranslate']=_0xe4b188,_0x34700c['screenSpaceCameraController'][_0x2515a2(0x13fa,0xc10)]=_0xe4b188;function _0x2ce365(_0x52be76,_0x302e8a){return _0x2b6441(_0x302e8a,_0x52be76-0x6fa);}_0x34700c['screenSpaceCameraController'][_0x2ce365(0xcee,0x4a1)]=_0xe4b188;function _0x2515a2(_0x7b9b1,_0x222f74){return _0x2b6441(_0x7b9b1,_0x222f74-_0xe0685d._0x2118e0);}_0x34700c['screenSpaceCameraController']['enableLook']=_0xe4b188;}['activate'](){const _0x38118f={_0x354c04:0x1143,_0x78d497:0x1418,_0x506e11:0x1264,_0x273289:0x1707,_0x2142fa:0x6f3},_0x13c94f={_0x440a78:0x4df};this['_enabled']=!![],this['_enableScreenSpaceCameraController'](![]);const _0x5c4d71=this['_map']['camera'][_0x426bf5(0x14eb,0x1135)],_0x2fb7b7=new Cesium__namespace['Cartographic'](),_0x5a99c4=this['_map']['scene']['globe'];_0x5a99c4[_0x426bf5(_0x38118f._0x354c04,_0x38118f._0x78d497)]['cartesianToCartographic'](_0x5c4d71,_0x2fb7b7);const _0x4838d3=getHeight(this[_0x426bf5(_0x38118f._0x506e11,_0x38118f._0x273289)]['scene'],_0x2fb7b7);if(_0x4838d3===undefined)return![];_0x2fb7b7['height']=_0x4838d3+this['height'];const _0x42567d=new Cesium__namespace['Cartesian3']();function _0x426bf5(_0x3bee1e,_0x2480a8){return _0x2b6441(_0x3bee1e,_0x2480a8-_0x13c94f._0x440a78);}_0x5a99c4[_0x426bf5(0xf5a,0x1418)]['cartographicToCartesian'](_0x2fb7b7,_0x42567d);const _0x3aba32=this['_map']['camera']['heading'];this['_heading']=_0x3aba32;function _0x3b19d4(_0x5dfb2,_0x237cb1){return _0x306755(_0x5dfb2,_0x237cb1- -0x4cb);}return this['_map']['camera'][_0x3b19d4(_0x38118f._0x2142fa,0x75c)]({'destination':_0x42567d,'orientation':{'heading':_0x3aba32,'pitch':Cesium__namespace['Math']['toRadians'](0x0),'roll':0x0}}),!![];}['disable'](){this['_enabled']=![],this['_enableScreenSpaceCameraController'](!![]);}['startAutoForward'](){!this['enabled']&&this['activate'](),this['_direction']=RoamType['DIRECTION_FORWARD'];}[_0x306755(0x136c,0x1972)](){this['_direction']=RoamType['DIRECTION_NONE'];}}register(_0x2b6441(0xf37,0xf95),FirstPersonRoam);class RotatePoint extends BaseThing{constructor(_0x2160ac={}){super(_0x2160ac),this['_setOptionsHook']();}get['isStart'](){const _0x4d71aa={_0x1f6899:0x456,_0xad25a1:0x672};function _0x471c49(_0x44c0b0,_0x267b41){return _0x306755(_0x267b41,_0x44c0b0- -0x35d);}return this[_0x471c49(_0x4d71aa._0x1f6899,_0x4d71aa._0xad25a1)];}[_0x306755(0xd6e,0x535)](_0x32f11b){const _0x2bf0cc={_0x42c437:0x75e};function _0xa18c26(_0x7f3204,_0x42995c){return _0x306755(_0x42995c,_0x7f3204- -0x5e1);}_0x32f11b?this[_0xa18c26(0x577,_0x2bf0cc._0x42c437)]():this['stop']();}['_setOptionsHook'](){const _0x2a1422={_0x1ef7cd:0x10f4,_0x59d47f:0x43e,_0x29f86e:0x94f,_0xc868f9:0x1880,_0x8a7a25:0x1522,_0x4f25ab:0x705},_0xac8690={_0x3cb05b:0x293},_0x52ab29={_0x4a506f:0x2e8};function _0x269744(_0x50a117,_0x59275e){return _0x2b6441(_0x50a117,_0x59275e-_0x52ab29._0x4a506f);}this[_0x452011(0x70d,0x1077)]=this[_0x269744(_0x2a1422._0x1ef7cd,0x9a4)]['direction']?0x1:-0x1,this['_angle']=0x168/(0x3c*(this[_0x452011(_0x2a1422._0x59d47f,_0x2a1422._0x29f86e)]['time']||0x3c)),this['_autoStopAngle']=this['options']['autoStopAngle'];function _0x452011(_0x5d1da8,_0x183ec9){return _0x2b6441(_0x5d1da8,_0x183ec9-_0xac8690._0x3cb05b);}this[_0x452011(0x581,0x4a5)]&&(this[_0x269744(_0x2a1422._0xc868f9,_0x2a1422._0x8a7a25)](),this[_0x269744(_0x2a1422._0x4f25ab,0x89f)]());}['_addedHook'](){const _0xba6ee={_0x90ca4e:0x11c6};this[_0x50c1d5(0x157f,_0xba6ee._0x90ca4e)]['on'](EventType[_0xccf4d1(0x935,0x2c)],this[_0x50c1d5(0x1572,0x13eb)],this),this[_0xccf4d1(0x1576,0x1d1c)]['on'](EventType['mouseUp'],this['_map_mouseUpHandler'],this);function _0x50c1d5(_0x24bf04,_0x1c8d5f){return _0x2b6441(_0x24bf04,_0x1c8d5f- -0x62);}function _0xccf4d1(_0x3b4605,_0x4a75e5){return _0x306755(_0x4a75e5,_0x3b4605- -0x253);}this[_0xccf4d1(0x765,0x55a)]=![];}[_0x306755(0x150d,0x19ee)](_0x5aa107){this['_mouseDown']=!![];}['_map_mouseUpHandler'](_0x54951f){const _0xbcb6ad={_0x44125d:0xc7e,_0x57541e:0x40b,_0x1beb3b:0x1b10,_0x32c77d:0x1272,_0x5f599e:0xbb2,_0x25fa8f:0x2048,_0x340828:0x1200};this['_mouseDown']=![];const _0x2c6cfa=this['_map']['getCenter']();if(!_0x2c6cfa||_0x2c6cfa['alt']>0x7a120)return;function _0x255274(_0x342b36,_0x176f58){return _0x2b6441(_0x342b36,_0x176f58- -0x3e);}function _0x3e0ccc(_0x1a8491,_0x2cf2bf){return _0x306755(_0x1a8491,_0x2cf2bf-0xd);}this['_tikRender']=0x0,this['_center']=_0x2c6cfa[_0x255274(_0xbcb6ad._0x44125d,_0xbcb6ad._0x57541e)](),this['_startHeading']=this['_map'][_0x3e0ccc(_0xbcb6ad._0x1beb3b,0x1055)][_0x255274(0x403,0xbf2)],this['_startPitch']=this['_map']['camera'][_0x3e0ccc(_0xbcb6ad._0x32c77d,_0xbcb6ad._0x5f599e)],this['_distance']=Cesium__namespace['Cartesian3']['distance'](this[_0x3e0ccc(-0x30e,0x6f4)],this[_0x3e0ccc(_0xbcb6ad._0x25fa8f,0x17d6)]['camera'][_0x255274(0x1288,_0xbcb6ad._0x340828)]);}['_removedHook'](){const _0x1cf7e8={_0x1bf007:0x1d};this['_map']['off'](EventType['mouseDown'],this['_map_mouseDownHandler'],this);function _0x5088b5(_0x14f4d3,_0x34f2ea){return _0x2b6441(_0x34f2ea,_0x14f4d3-0x715);}this[_0x5088b5(0x193d,0xfe2)]['off'](EventType[_0x5b20db(0x2fa,0xac4)],this['_map_mouseUpHandler'],this);function _0x5b20db(_0x340a61,_0x3e7660){return _0x306755(_0x340a61,_0x3e7660-_0x1cf7e8._0x1bf007);}this[_0x5b20db(0x1bb2,0x17f8)]();}[_0x306755(0x10e,0xb58)](_0x152835){const _0x13f550={_0x1f7e9e:0x7f7,_0x1f2382:0xa65,_0xed86ae:0x13ac,_0x5d25b7:0x7a6,_0x119695:0xd1c,_0x115c6d:0xfdc,_0x265db2:0x11a5,_0x209786:0x189e,_0x4edbb5:0x19fb,_0xa86a96:0x1215,_0x3114e1:0xd5b,_0x2371ac:0xf1d,_0x47b6f4:0x8cd,_0x5d13ca:0x1888,_0x46964a:0x1347,_0x225870:0xf71},_0x5c38b6={_0x52526b:0x14c5,_0x1802d4:0xd84},_0xab6d4c={_0x14c9e9:0x44};this[_0x5b6b24(_0x13f550._0x1f7e9e,-0x17e)]&&this['stop']();function _0x4f7996(_0x123acd,_0x4f86df){return _0x306755(_0x4f86df,_0x123acd-0xbf);}this['_isStart']=!![];const _0x1e6fed=this['_map']['getCenter'](!![]);if(!_0x152835)this['_center']=_0x1e6fed;else _0x152835 instanceof Cesium__namespace[_0x5b6b24(_0x13f550._0x1f2382,_0x13f550._0xed86ae)]?this['_center']=_0x152835:this[_0x4f7996(_0x13f550._0x5d25b7,0x50a)]=LngLatPoint[_0x4f7996(0x188f,0x16ba)](_0x152835)['toCartesian']();this[_0x4f7996(0x14be,0x1885)]=this[_0x4f7996(_0x13f550._0x119695,0xffd)][_0x5b6b24(0xf61,0x1017)]||Cesium__namespace['Cartesian3'][_0x4f7996(_0x13f550._0x115c6d,0xc02)](this[_0x4f7996(0x7a6,_0x13f550._0x265db2)],this[_0x4f7996(0x1888,0x1823)]['camera'][_0x4f7996(_0x13f550._0x209786,0x12a3)]),this['_startHeading']=this['_map'][_0x4f7996(0x1107,_0x13f550._0x4edbb5)][_0x5b6b24(_0x13f550._0xa86a96,_0x13f550._0x3114e1)],this['_startPitch']=this['_map'][_0x5b6b24(0x108c,_0x13f550._0x2371ac)]['pitch'];let _0x51af2f=0x2;_0x1e6fed&&Cesium__namespace[_0x4f7996(0xae0,0xedd)]['distance'](_0x1e6fed,this['_center'])<this['_distance']*0.01&&(_0x51af2f=0x0);function _0x5b6b24(_0x1b3935,_0x5d4581){return _0x306755(_0x5d4581,_0x1b3935-_0xab6d4c._0x14c9e9);}this[_0x5b6b24(_0x13f550._0x47b6f4,0x11d4)](EventType[_0x5b6b24(0xb9c,0xf28)]),this[_0x4f7996(_0x13f550._0x5d13ca,_0x13f550._0x46964a)]['flyToPoint'](this[_0x5b6b24(0x72b,_0x13f550._0x225870)],{'radius':this['_distance'],'duration':_0x51af2f,'complete':_0x16d585=>{function _0x6b4f2f(_0x4997f7,_0x1c2ed1){return _0x5b6b24(_0x1c2ed1- -0x63e,_0x4997f7);}this['_isStart']=!![];function _0x2d7c3d(_0x326b79,_0x45d7df){return _0x4f7996(_0x326b79- -0x6f5,_0x45d7df);}this[_0x6b4f2f(0x201,0xa90)]=0x0,this['_map']['on'](EventType[_0x6b4f2f(0xd0e,0x333)],this[_0x6b4f2f(_0x5c38b6._0x52526b,_0x5c38b6._0x1802d4)],this),this['_onPreRenderHandler']();}});}['_onPreRenderHandler'](_0x2482c6){const _0x55a504={_0x3a6d6e:0x11de,_0x14e251:0xe41,_0x35b724:0x10a6,_0x3cb295:0x14d9,_0x344c02:0x191d,_0x12a1ef:0x1243,_0x5e6e08:0x14e,_0xbfd34b:0x318,_0x2e7ece:0x1734,_0xb9a9ed:0x1518,_0x42b4c2:0xb13,_0x1045bf:0xd59,_0x1fde7e:0x1755},_0x1de7e7={_0x4af8cf:0x50c};if(this['_mouseDown'])return;this[_0x2e116c(0x1bce,_0x55a504._0x3a6d6e)]++;const _0x1cf4bd=this['_tikRender']*this[_0x7597b6(0x18aa,_0x55a504._0x14e251)];this['_autoStopAngle']&&_0x1cf4bd>=this['_autoStopAngle']&&this['stop']();const _0x55b9ce=Cesium__namespace[_0x7597b6(0x12d6,0xf8a)][_0x7597b6(0xb37,0x43f)](_0x1cf4bd*this[_0x2e116c(_0x55a504._0x35b724,_0x55a504._0x3cb295)])+this['_startHeading'];function _0x7597b6(_0xf1a064,_0x4db711){return _0x2b6441(_0x4db711,_0xf1a064-_0x1de7e7._0x4af8cf);}this[_0x2e116c(0x17d9,_0x55a504._0x344c02)][_0x2e116c(_0x55a504._0x12a1ef,0xbb9)]['camera']['setView']({'destination':this[_0x2e116c(-_0x55a504._0x5e6e08,0x83b)],'orientation':{'heading':_0x55b9ce,'pitch':this[_0x7597b6(0x58a,-_0x55a504._0xbfd34b)]}});function _0x2e116c(_0x3ccac5,_0x386a80){return _0x2b6441(_0x3ccac5,_0x386a80-0x6f5);}this[_0x7597b6(_0x55a504._0x2e7ece,_0x55a504._0xb9a9ed)]['scene'][_0x7597b6(0xfb3,_0x55a504._0x42b4c2)]['moveBackward'](this['_distance']),this[_0x2e116c(0x687,0x9dd)](EventType[_0x7597b6(_0x55a504._0x1045bf,_0x55a504._0x1fde7e)]);}[_0x2b6441(0x1c89,0x123a)](){if(!this['_isStart'])return;this['_isStart']=![],this['_map']['off'](EventType['preRender'],this['_onPreRenderHandler'],this),this['fire'](EventType['stop']);}}register('rotatePoint',RotatePoint);const MAX_PITCH_IN_DEGREE=0x58;class StreetView extends BaseThing{constructor(_0x1c88c0={}){const _0xf418dd={_0x197ae7:0x11b8,_0x1d19dd:0x1be4,_0x299d54:0x173c,_0x326d68:0x1497},_0x108957={_0x266721:0x51};super(_0x1c88c0);function _0x3426cd(_0xb3d732,_0x1c0dda){return _0x306755(_0x1c0dda,_0xb3d732-0xc6);}this['rotateSpeed']=_0x1c88c0[_0x1001b4(_0xf418dd._0x197ae7,_0xf418dd._0x1d19dd)]??0x1e,this[_0x3426cd(_0xf418dd._0x299d54,_0xf418dd._0x326d68)]=_0x1c88c0[_0x3426cd(0x173c,0xe26)]??0.2;function _0x1001b4(_0x4a3f79,_0x142b86){return _0x2b6441(_0x142b86,_0x4a3f79-_0x108957._0x266721);}this[_0x1001b4(0x65f,0xe7)]=_0x1c88c0['moveStep']??0.1;}['_enabledHook'](_0xe8410d){const _0x38ff7c={_0x1e2cbb:0xd90,_0x6a540a:0x1533,_0x9359b1:0xcff,_0x10e3e9:0x9a9,_0x27db4a:0x77,_0xeee43a:0x77a,_0x152a21:0xbe,_0x44a03c:0x2e9,_0xda8973:0x6d5,_0x5e5452:0x1dfa,_0x3fbdf4:0x1137,_0x2db280:0x154,_0x426dec:0x90a,_0x237487:0xe54,_0x5a3852:0x6fa};function _0x4412d0(_0x1f832a,_0x15108a){return _0x2b6441(_0x1f832a,_0x15108a-0x30b);}this[_0x4412d0(_0x38ff7c._0x1e2cbb,_0x38ff7c._0x6a540a)]['mouseZoom']&&(this[_0x4412d0(0xd45,0x1533)]['mouseZoom']['enabled']=!_0xe8410d);function _0xc9b892(_0xd09779,_0x27bd27){return _0x306755(_0xd09779,_0x27bd27- -0x63a);}if(_0xe8410d){this[_0x4412d0(0x1459,_0x38ff7c._0x9359b1)]=this['_map']['scene'][_0xc9b892(-_0x38ff7c._0x10e3e9,0xbe)][_0x4412d0(-0x20c,0x2e9)],this['_default_tiltEventTypes']=this['_map']['scene'][_0xc9b892(_0x38ff7c._0x27db4a,0xbe)]['tiltEventTypes'],this['_map']['scene'][_0xc9b892(-_0x38ff7c._0xeee43a,_0x38ff7c._0x152a21)][_0x4412d0(-0x5d3,_0x38ff7c._0x44a03c)]=[Cesium__namespace['CameraEventType']['WHEEL'],Cesium__namespace['CameraEventType']['PINCH'],{'eventType':Cesium__namespace['CameraEventType']['RIGHT_DRAG'],'modifier':Cesium__namespace[_0xc9b892(0x688,_0x38ff7c._0xda8973)][_0x4412d0(_0x38ff7c._0x5e5452,0x14db)]}];const _0x50c966={};_0x50c966['eventType']=Cesium__namespace[_0xc9b892(0xbf,0x821)]['MIDDLE_DRAG'],_0x50c966['modifier']=Cesium__namespace['KeyboardEventModifier'][_0xc9b892(0xa4f,_0x38ff7c._0x3fbdf4)],this['_map']['scene']['screenSpaceCameraController'][_0x4412d0(-_0x38ff7c._0x2db280,_0x38ff7c._0x426dec)]=[_0x50c966];}else this['_default_zoomEventTypes']&&(this[_0xc9b892(0xb8b,0x118f)]['scene']['screenSpaceCameraController']['zoomEventTypes']=this['_default_zoomEventTypes'],delete this['_default_zoomEventTypes']),this['_default_tiltEventTypes']&&(this[_0xc9b892(0x10be,0x118f)][_0xc9b892(_0x38ff7c._0x237487,0x42b)]['screenSpaceCameraController']['tiltEventTypes']=this['_default_tiltEventTypes'],delete this[_0xc9b892(_0x38ff7c._0x5a3852,0x2a7)]);}['_mountedHook'](){}[_0x306755(0xd4d,0x99e)](){const _0x3d44ed={_0x5279e1:0x13e6,_0xf6594c:0xc88,_0x47268b:0x1138,_0x107a32:0x1f50,_0x5234a9:0x16b1,_0x533993:0x1877,_0x25a9b1:0x1524,_0x1240db:0x197f,_0x537599:0xfd5,_0x295b1a:0x852,_0x4a474f:0x171e,_0x41edfd:0xe31,_0xc7ac3c:0x1251,_0x5b2944:0x74c,_0x38b86d:0x2155},_0x6b187e={_0x4dbdf8:0x604},_0x209c4c={_0x36a07f:0xa7};function _0x17d978(_0x3a0afe,_0x4f3422){return _0x2b6441(_0x3a0afe,_0x4f3422- -_0x209c4c._0x36a07f);}function _0x5ea2d9(_0x2f5e0d,_0xa9b312){return _0x2b6441(_0x2f5e0d,_0xa9b312-_0x6b187e._0x4dbdf8);}this['_enabledHook'](this[_0x17d978(_0x3d44ed._0x5279e1,_0x3d44ed._0xf6594c)]),this[_0x17d978(0x1c33,0x1181)]['on'](EventType[_0x17d978(0x16bb,_0x3d44ed._0x47268b)],this['_onRightDownHandler'],this),this[_0x5ea2d9(_0x3d44ed._0x107a32,0x182c)]['on'](EventType[_0x5ea2d9(0x1233,0xacb)],this['_onMouseMove'],this),this[_0x5ea2d9(_0x3d44ed._0x5234a9,0x182c)]['on'](EventType['rightUp'],this[_0x5ea2d9(_0x3d44ed._0x533993,_0x3d44ed._0x25a9b1)],this),this[_0x17d978(_0x3d44ed._0x1240db,0x1181)]['on'](EventType[_0x17d978(_0x3d44ed._0x537599,_0x3d44ed._0x295b1a)],this[_0x17d978(_0x3d44ed._0x4a474f,_0x3d44ed._0x41edfd)],this),this[_0x17d978(_0x3d44ed._0xc7ac3c,0x1181)]['on'](EventType['middleUp'],this[_0x17d978(-_0x3d44ed._0x5b2944,-0x9)],this),this['_map']['on'](EventType[_0x17d978(0xf00,0xa20)],this[_0x5ea2d9(0xf5b,0x14c1)],this),this['_map']['on'](EventType['dblClick'],this[_0x5ea2d9(_0x3d44ed._0x38b86d,0x16e9)],this),this[_0x5ea2d9(0x1db5,0x182c)]['on'](EventType['rightClick'],this['_onRightClickHandler'],this);}['_removedHook'](){const _0x55b26c={_0x36f849:0x1635,_0xf14d00:0x14d,_0x4a7004:0xdb,_0x5671bf:0x132e,_0x5483a3:0xa3d,_0x34e5a5:0x77d,_0x363407:0x1587,_0x366219:0xd50,_0xb1ec4:0x10cd,_0x5373d6:0x826};function _0x494d2b(_0x56b223,_0x276145){return _0x2b6441(_0x276145,_0x56b223-0x3a2);}this['_enabledHook'](![]),this['_map']['off'](EventType[_0x21c8c3(0x177e,_0x55b26c._0x36f849)],this['_onRightDownHandler'],this),this[_0x494d2b(0x15ca,0x1a76)][_0x21c8c3(-_0x55b26c._0xf14d00,0x821)](EventType[_0x494d2b(0x869,_0x55b26c._0x4a7004)],this[_0x494d2b(0xd2c,0x273)],this);function _0x21c8c3(_0x301db9,_0x5d872f){return _0x2b6441(_0x301db9,_0x5d872f-0x456);}this['_map'][_0x21c8c3(0xe3b,0x821)](EventType['rightUp'],this['_onRightUpHandler'],this),this['_map'][_0x21c8c3(0x211,0x821)](EventType[_0x494d2b(0xc9b,0x4c9)],this[_0x21c8c3(0x18b7,_0x55b26c._0x5671bf)],this),this['_map']['off'](EventType['middleUp'],this['_onMiddleUpHandler'],this),this['_map']['off'](EventType[_0x494d2b(0xe69,_0x55b26c._0x5483a3)],this['_onClickHandler'],this),this[_0x21c8c3(0x12db,0x167e)][_0x494d2b(0x76d,_0x55b26c._0x34e5a5)](EventType[_0x21c8c3(0xdf1,0xe1c)],this['_onDbClickHandler'],this),this['_map'][_0x21c8c3(0x72b,0x821)](EventType[_0x21c8c3(_0x55b26c._0x363407,0x16bd)],this['_onRightClickHandler'],this),this['rotatePoint']&&(this[_0x494d2b(0x15ca,_0x55b26c._0x366219)][_0x21c8c3(_0x55b26c._0xb1ec4,_0x55b26c._0x5373d6)](this['rotatePoint'],!![]),delete this[_0x494d2b(0xcb8,0x16f6)]);}['_onRightDownHandler'](_0x4ce7df){const _0x16dce9={_0x55be73:0xaef,_0x563722:0x7b,_0x412033:0x1123,_0xa8e7c1:0xe2f,_0xca3a21:0xbd4,_0x139ff5:0x1c1};if(!this['enabled'])return;this[_0xaf2c55(_0x16dce9._0x55be73,0x741)]&&this[_0xaf2c55(0xaef,_0x16dce9._0x563722)][_0xaf2c55(0x1413,0x138a)]();function _0x2754fa(_0x56cecb,_0x185489){return _0x306755(_0x56cecb,_0x185489- -0xc1);}this[_0x2754fa(0x18ed,_0x16dce9._0x412033)]=!![],this['_mousePosition']=this['_startMousePosition']=Cesium__namespace[_0xaf2c55(0x659,-0xfb)]['clone'](_0x4ce7df[_0xaf2c55(_0x16dce9._0xa8e7c1,0x1420)]);function _0xaf2c55(_0x53d3a9,_0xd1ef8a){return _0x2b6441(_0xd1ef8a,_0x53d3a9-0x1d9);}this[_0x2754fa(0x1603,_0x16dce9._0xca3a21)]=Cesium__namespace['Math'][_0xaf2c55(0xa50,_0x16dce9._0x139ff5)](this['_map'][_0x2754fa(0x11c3,0xf87)]['heading']),this['_pitchWhenLeftClicked']=Cesium__namespace['Math'][_0x2754fa(0x377,0xd57)](this['_map']['camera']['pitch']);}['_onMouseMove'](_0x48b23d){const _0x497271={_0xe44aed:0x976,_0x507817:0x1964,_0x2963f4:0xcdb,_0x55c2bf:0x13a9,_0x2561b5:0x1188,_0x2a152a:0x11d3,_0x216166:0x17a1,_0x32b9e7:0x1485,_0x23329a:0x1485,_0x48fc20:0xd0e,_0x3fdc2d:0x751,_0x18cf90:0x1774,_0x475b68:0x10cb,_0x5cdfe8:0x86a},_0x4971d4={_0x33a7d2:0x6bb};if(!this[_0x2ca8dd(_0x497271._0xe44aed,0x10cc)])return;function _0x2ca8dd(_0x2d3946,_0x5824cb){return _0x306755(_0x2d3946,_0x5824cb- -0x204);}this['_mousePosition']=_0x48b23d[_0x5b5e75(0x23d7,_0x497271._0x507817)];function _0x5b5e75(_0x575dfe,_0xb15250){return _0x2b6441(_0x575dfe,_0xb15250-_0x4971d4._0x33a7d2);}if(this['_isMouseLeftButtonPressed']){const _0x50420a=this['_map'][_0x2ca8dd(_0x497271._0x2963f4,0x54c)]['clientWidth'],_0xddd2f7=this['_map']['canvas'][_0x2ca8dd(_0x497271._0x55c2bf,_0x497271._0x2561b5)],_0x50cd84=(this['_mousePosition']['x']-this[_0x5b5e75(0x18e4,0x11d3)]['x'])/_0x50420a,_0x5e3ffc=-(this['_mousePosition']['y']-this[_0x5b5e75(0x173a,_0x497271._0x2a152a)]['y'])/_0xddd2f7;if(Cesium__namespace[_0x5b5e75(0x13c5,0x1485)]['equalsEpsilon'](_0x50cd84,0x0,Cesium__namespace[_0x5b5e75(_0x497271._0x216166,_0x497271._0x32b9e7)]['EPSILON6'])&&Cesium__namespace[_0x5b5e75(0xeb9,_0x497271._0x32b9e7)]['equalsEpsilon'](_0x5e3ffc,0x0,Cesium__namespace[_0x5b5e75(0xa84,_0x497271._0x23329a)][_0x2ca8dd(0x3be,_0x497271._0x48fc20)]))return;const _0x43e5b0=_0x50cd84*this['rotateSpeed'],_0x5dee07=this['_headingWhenLeftClicked']+_0x43e5b0,_0x210acd=_0x5e3ffc*this['rotateSpeed'];let _0x25fe1b=this['_pitchWhenLeftClicked']+_0x210acd;_0x25fe1b>MAX_PITCH_IN_DEGREE*0x2&&_0x25fe1b<0x168-MAX_PITCH_IN_DEGREE?_0x25fe1b=0x168-MAX_PITCH_IN_DEGREE:_0x25fe1b>MAX_PITCH_IN_DEGREE&&_0x25fe1b<0x168-MAX_PITCH_IN_DEGREE&&(_0x25fe1b=MAX_PITCH_IN_DEGREE),this[_0x2ca8dd(0x1982,0x15c5)]['camera']['setView']({'orientation':{'heading':Cesium__namespace['Math']['toRadians'](_0x5dee07),'pitch':Cesium__namespace[_0x5b5e75(0x14a4,0x1485)][_0x5b5e75(_0x497271._0x3fdc2d,0xce6)](_0x25fe1b),'roll':this['_map'][_0x2ca8dd(_0x497271._0x18cf90,0xe44)]['roll']}});}else{if(this[_0x2ca8dd(_0x497271._0x475b68,0x1403)]){const _0x57d63d=-(this[_0x5b5e75(0x2118,0x166f)]['y']-this[_0x2ca8dd(0x15a5,0xeb5)]['y'])/this['_map'][_0x5b5e75(0x339,_0x497271._0x5cdfe8)]['clientHeight'],_0x5874fe=this['_map']['camera']['positionCartographic']['height']*this['heightStep'];this[_0x2ca8dd(0x1c32,0x15c5)]['camera']['moveDown'](_0x57d63d*_0x5874fe);}}}['_onRightUpHandler'](_0x2a78b0){const _0x4680c2={_0x3af727:0xb0};function _0x3df5cf(_0x1eeb38,_0x449a78){return _0x2b6441(_0x449a78,_0x1eeb38- -_0x4680c2._0x3af727);}this[_0x3df5cf(0xb93,0x13dc)]=![];}[_0x2b6441(0x5ca,0xed8)](_0x250b04){const _0x4f8867={_0x2ce9a5:0xebc,_0x33482d:0x8af};if(!this['enabled'])return;this[_0x10ba5b(0xcba,0x107d)]&&this['rotatePoint']['stop']();function _0x231fe4(_0x97c437,_0x2ba44e){return _0x2b6441(_0x97c437,_0x2ba44e-0x33e);}function _0x10ba5b(_0x385bfa,_0xe79c64){return _0x2b6441(_0xe79c64,_0x385bfa-0x3a4);}this['_isMouseUpdownPressed']=!![],this[_0x10ba5b(_0x4f8867._0x2ce9a5,0x16c5)]=Cesium__namespace['Cartesian3'][_0x10ba5b(0x70b,_0x4f8867._0x33482d)](_0x250b04['position']),this[_0x10ba5b(0x1358,0xfea)]=this['_startMousePosition'];}['_onMiddleUpHandler'](_0x33c654){const _0x10e10d={_0x3bc52a:0xdbb};function _0x4e09e5(_0x55d20e,_0x197e8a){return _0x306755(_0x197e8a,_0x55d20e- -0x5dd);}this[_0x4e09e5(0x102a,_0x10e10d._0x3bc52a)]=![];}['_onClickHandler'](_0x194128){const _0x1b0234={_0x58a806:0x133a};if(!this['enabled'])return;function _0x41090e(_0x1124a6,_0x1ba81a){return _0x306755(_0x1124a6,_0x1ba81a- -0x1fb);}this[_0x41090e(_0x1b0234._0x58a806,0xcbc)]&&this['rotatePoint']['stop']();}[_0x306755(0x1488,0x1686)](_0x328c6e){const _0x24d0b0={_0x346b9f:0xafc,_0x5d51e0:0x7ca,_0x1d5d64:0x1098,_0x3c2144:0x185e,_0x4ae6af:0x152e,_0x4a0def:0x15e8,_0xb50d4e:0xe87,_0x36c753:0xca5},_0x1e7d91={_0x1c089a:0x306},_0x596c69={_0x3761c4:0x95};if(!this[_0x46e4ac(0xbf5,0x1035)])return;function _0x225ea0(_0x3bf929,_0x34d936){return _0x306755(_0x3bf929,_0x34d936-_0x596c69._0x3761c4);}this[_0x46e4ac(0xada,0xc1c)]&&this[_0x225ea0(0x9da,0xf4c)][_0x225ea0(0x1400,0x1870)]();function _0x46e4ac(_0x27629e,_0x590bb7){return _0x2b6441(_0x27629e,_0x590bb7-_0x1e7d91._0x1c089a);}const _0x2e15f4=getCurrentMousePosition(this['_map'][_0x46e4ac(_0x24d0b0._0x346b9f,_0x24d0b0._0x5d51e0)],_0x328c6e['position']);if(_0x2e15f4){const _0x3ec3ee=Cesium__namespace[_0x46e4ac(0x68f,0x786)]['distance'](_0x2e15f4,this[_0x225ea0(_0x24d0b0._0x1d5d64,_0x24d0b0._0x3c2144)]['camera']['positionWC'])*this[_0x225ea0(0x882,0xc44)];this[_0x46e4ac(0x19dc,_0x24d0b0._0x4ae6af)]['flyToPoint'](_0x2e15f4,{'radius':_0x3ec3ee,'maximumHeight':this[_0x225ea0(_0x24d0b0._0x4a0def,0x185e)]['camera'][_0x225ea0(_0x24d0b0._0xb50d4e,0xe41)]['height'],'duration':this['options'][_0x225ea0(_0x24d0b0._0x36c753,0x11af)]});}}['_onRightClickHandler'](_0x3c3a54){const _0x460000={_0x6a9e8d:0x1385,_0x4ec095:0x11fc,_0x3997f5:0x1078,_0x5c716a:0x11af,_0x216dab:0x6fe,_0x1c31bb:0xb3b,_0x40d85f:0xb3b,_0x3614eb:0x830,_0x1066ca:0xa68,_0x29eaa:0x1229};if(!this[_0x3da084(0x1430,0x187a)])return;function _0x3da084(_0x2d102c,_0x1c2c55){return _0x2b6441(_0x1c2c55,_0x2d102c-0x701);}function _0x51f0ff(_0x298fc8,_0x3e3b92){return _0x306755(_0x298fc8,_0x3e3b92- -0x37c);}if(this[_0x3da084(_0x460000._0x6a9e8d,_0x460000._0x4ec095)]){const _0x59abcd=Cesium__namespace['JulianDate'][_0x3da084(_0x460000._0x3997f5,0x905)](this['_map']['clock']['currentTime'],this['time']);_0x59abcd<0.5&&(this['_map'][_0x3da084(_0x460000._0x5c716a,0xfe9)](),!this['rotatePoint']&&(this[_0x51f0ff(_0x460000._0x216dab,_0x460000._0x1c31bb)]=new RotatePoint(this['options']['rotatePoint']),this['_map']['addThing'](this['rotatePoint'])),this[_0x51f0ff(0x112f,_0x460000._0x40d85f)]['start'](_0x3c3a54['cartesian']));}this['time']=this[_0x51f0ff(0x1ce7,0x144d)]['clock'][_0x51f0ff(-0x2f,_0x460000._0x3614eb)][_0x3da084(_0x460000._0x1066ca,_0x460000._0x29eaa)]();}}register(_0x306755(0x1e2f,0x1705),StreetView);class CameraHistory extends BaseThing{constructor(_0x3a3f42={}){const _0x35d781={_0x1a4647:0x744};super(_0x3a3f42),this['step']=0x0;function _0x20edbd(_0x153dd7,_0x2afe20){return _0x306755(_0x2afe20,_0x153dd7-0xe5);}this['views']=[],this[_0x20edbd(_0x35d781._0x1a4647,0x6c2)]=this['options']['maxCacheCount']??0x63;}get[_0x306755(0xe81,0xdcf)](){function _0x404e83(_0x183047,_0x58b821){return _0x306755(_0x58b821,_0x183047-0x1);}return this[_0x404e83(0xc5e,0x10e9)]['limit']&&this['options']['limit']['debugExtent'];}set[_0x306755(0xbc7,0xdcf)](_0x189e5f){const _0x5f17d7={_0x4d7648:0x7ce,_0x27afa5:0x1153,_0x2470d2:0x73e,_0x22c5f0:0xe10,_0x34e7ec:0x8a1,_0x286b5b:0x1016,_0x484527:0xa0a};if(!this['options']['limit'])return;this['options'][_0x1b9c96(0x244,_0x5f17d7._0x4d7648)]['debugExtent']=_0x189e5f;function _0xfec080(_0xcfd0b4,_0x153ecb){return _0x306755(_0xcfd0b4,_0x153ecb-0xe2);}function _0x1b9c96(_0xf3e1f7,_0x4f999b){return _0x2b6441(_0xf3e1f7,_0x4f999b-0x77);}if(!this[_0x1b9c96(0x13d9,0xab0)]){const _0x4305dd=this['options']['limit']['radius'],_0x2010a3=this[_0xfec080(0x14b1,0xd3f)]['limit']['position'];this['debugExtentEntity']=this['_map'][_0x1b9c96(_0x5f17d7._0x27afa5,_0x5f17d7._0x2470d2)][_0xfec080(0x1240,_0x5f17d7._0x22c5f0)]({'name':'限定的范围','position':_0x2010a3,'ellipsoid':{'radii':new Cesium__namespace['Cartesian3'](_0x4305dd,_0x4305dd,_0x4305dd),'maximumCone':Cesium__namespace['Math']['PI_OVER_TWO'],'slicePartitions':0x2d,'stackPartitions':0x2d,'material':new Cesium__namespace[(_0xfec080(_0x5f17d7._0x34e7ec,_0x5f17d7._0x286b5b))](0x0,0x1,0x1,0x0),'outline':!![],'outlineColor':new Cesium__namespace[(_0x1b9c96(0xc44,_0x5f17d7._0x484527))](0x0,0x1,0x1,0x1)}});}this['debugExtentEntity']['show']=_0x189e5f;}[_0x2b6441(0x126c,0xd6b)](){const _0x398b34={_0x14bb4e:0x899,_0x5be336:0x8ce,_0x517be3:0x970,_0x5bed6f:0x6,_0x3b69e3:0xcac,_0x5c201f:0x905};this['options'][_0x37018e(_0x398b34._0x14bb4e,_0x398b34._0x5be336)]&&this['options'][_0x24bd35(0xaf6,0xce3)][_0x37018e(_0x398b34._0x517be3,_0x398b34._0x5bed6f)]&&(this[_0x37018e(_0x398b34._0x517be3,_0x398b34._0x3b69e3)]=this[_0x37018e(0x7fe,_0x398b34._0x5c201f)]['limit'][_0x37018e(0x970,0xe46)]);function _0x37018e(_0x3f2e2c,_0x1f6de2){return _0x306755(_0x1f6de2,_0x3f2e2c- -0x45f);}function _0x24bd35(_0x13680a,_0x2c6c91){return _0x306755(_0x2c6c91,_0x13680a- -0x202);}this['isInPush']=!![],this['_limitGlobe']();}[_0x306755(0x4a,0x99e)](){const _0x5f355a={_0x4f0768:0x1585},_0x4bffd3={_0x40ccb1:0x244};this[_0x5a587f(_0x5f355a._0x4f0768,0x1cb4)]['on'](EventType['cameraMoveStart'],this[_0x2e5d84(0x291,0x271)],this),this['_map']['on'](EventType['cameraMoveEnd'],this['_cameraMoveEndHandler'],this);function _0x5a587f(_0x2922b9,_0x4f16ee){return _0x306755(_0x4f16ee,_0x2922b9- -_0x4bffd3._0x40ccb1);}function _0x2e5d84(_0x48a818,_0x339c2a){return _0x306755(_0x339c2a,_0x48a818- -0x275);}this[_0x2e5d84(0x1554,0x14ce)]['on'](EventType['cameraChanged'],this['_limitGlobe'],this);}['_removedHook'](){const _0x537e27={_0x6813d6:0x1fc,_0x9ba66f:0x1997,_0x43806f:0x1211,_0x4d36ad:0x3b4,_0x481ac2:0x1ed,_0x5c71ac:0x10e4,_0x111a76:0x57f,_0x523d75:0x22b,_0x53950c:0xa22},_0x3051b9={_0x412fcb:0x17},_0x11b532={_0x222450:0x43d};function _0x1e430e(_0x4aaf99,_0x4e2ccc){return _0x306755(_0x4aaf99,_0x4e2ccc- -_0x11b532._0x222450);}function _0x7efcd5(_0x2b090e,_0x1e8e7b){return _0x2b6441(_0x2b090e,_0x1e8e7b- -_0x3051b9._0x412fcb);}this['_map'][_0x1e430e(-0x2a,0x52f)](EventType['cameraMoveStart'],this[_0x1e430e(_0x537e27._0x6813d6,0xc9)],this),this[_0x7efcd5(_0x537e27._0x9ba66f,_0x537e27._0x43806f)]['off'](EventType['cameraMoveEnd'],this[_0x1e430e(0x3ac,0x77f)],this),this['_map'][_0x7efcd5(0xd8a,_0x537e27._0x4d36ad)](EventType['cameraChanged'],this[_0x1e430e(-0x5a0,0x5b)],this),this['views']=[],this[_0x1e430e(_0x537e27._0x481ac2,0xb9d)]&&(this[_0x1e430e(_0x537e27._0x5c71ac,0x138c)][_0x7efcd5(-0x12a,0x6b0)][_0x1e430e(0xe27,_0x537e27._0x111a76)](this['debugExtentEntity']),delete this[_0x7efcd5(_0x537e27._0x523d75,_0x537e27._0x53950c)]);}['_cameraMoveStartHandler'](){const _0x2b683e={_0x35a0c2:0x422};function _0x40b3b6(_0x273876,_0x5e8ce2){return _0x306755(_0x5e8ce2,_0x273876- -_0x2b683e._0x35a0c2);}this['_map']&&(this[_0x40b3b6(0xfb5,0xb9b)]=!![]);}['_cameraMoveEndHandler'](){const _0x581f17={_0xcd3065:0xd26},_0x5df24a={_0x202ba4:0x354};if(!this['isInPush'])return;function _0x26fff3(_0x417b16,_0x51e9e8){return _0x306755(_0x51e9e8,_0x417b16- -_0x5df24a._0x202ba4);}this[_0x26fff3(0xab4,_0x581f17._0xcd3065)]();}['_limitGlobe'](){const _0x56bde0={_0x5d2c4d:0xc2a,_0x23c986:0x17b9,_0x467890:0x794,_0x30c361:0x8eb,_0x16264e:0x10d0,_0x4837c9:0xf4d,_0x2ed871:0x16ce},_0x29fbac={_0x10bb8d:0x1140};if(!this['options']['limit']||!this['isInPush'])return;const _0x2404ef=this['options']['limit']['position'],_0x373c94=this[_0x6418f0(_0x56bde0._0x5d2c4d,0xb62)][_0x3732d0(0x945,-0x6c)][_0x6418f0(0xab7,0x5cb)];let _0x3c85a9;if(this[_0x6418f0(_0x56bde0._0x23c986,0x16ce)]['scene']['mode']===Cesium__namespace[_0x6418f0(_0x56bde0._0x467890,_0x56bde0._0x30c361)][_0x6418f0(0x165a,_0x56bde0._0x16264e)])_0x3c85a9=Cesium__namespace['Cartesian3']['distance'](_0x2404ef,this['_map'][_0x6418f0(0x48b,0xf4d)]['positionWC']);else{const _0x2dec26=_0x373c94*0x2;if(this['_map'][_0x6418f0(0x1130,_0x56bde0._0x4837c9)]['positionCartographic']['height']>_0x2dec26)_0x3c85a9=_0x2dec26;else{const _0x38cb01=this['_map']['getCenter'](!![]);_0x3c85a9=Cesium__namespace['Cartesian3']['distance'](_0x2404ef,_0x38cb01);}}if(_0x3c85a9<=_0x373c94){this['lastCameraView']=this[_0x3732d0(0x1416,0xa11)]['getCameraView']();return;}function _0x3732d0(_0x5081b8,_0x308218){return _0x306755(_0x308218,_0x5081b8- -0x3b3);}function _0x6418f0(_0x4e813c,_0x4017ca){return _0x2b6441(_0x4e813c,_0x4017ca-0x4a6);}this[_0x6418f0(0x8ab,0x12dc)]=![],this['lastCameraView']?this[_0x6418f0(0x1385,_0x56bde0._0x2ed871)]['setCameraView'](this['lastCameraView'],{'duration':0.5,'complete':()=>{const _0x1db204={_0x320348:0x19c};function _0x145c76(_0x5c27e2,_0x5ee435){return _0x6418f0(_0x5ee435,_0x5c27e2- -_0x1db204._0x320348);}this[_0x145c76(_0x29fbac._0x10bb8d,0xa67)]=!![];}}):this['_map']['flyToPoint'](_0x2404ef,{'radius':_0x373c94*0.6,'duration':0.5,'complete':()=>{this['isInPush']=!![];}});}['_addCameraView'](){const _0xa4f22d={_0x536387:0x1d6,_0xd74ea6:0x615,_0x379229:0x34c,_0x4cf52e:0xca6,_0xbf014f:0x93b,_0x4421cd:0x124d};function _0x2d7714(_0x228185,_0x151cb6){return _0x2b6441(_0x228185,_0x151cb6-0x1f3);}const _0x227d83=this['_map']['getCameraView']();this[_0x2d7714(_0xa4f22d._0x536387,0xb7f)]['push'](_0x227d83);function _0x669e55(_0x204f4b,_0x4f30dc){return _0x2b6441(_0x4f30dc,_0x204f4b-0x70b);}this[_0x2d7714(0x5d7,0xb7f)][_0x669e55(0x1765,0x13d9)]>this['maxCacheCount']&&this[_0x669e55(0x1097,0x68e)][_0x669e55(_0xa4f22d._0xd74ea6,-_0xa4f22d._0x379229)](0x0,0x1),this[_0x669e55(0xb58,_0xa4f22d._0x4cf52e)]=this[_0x669e55(0x1097,_0xa4f22d._0xbf014f)][_0x2d7714(0x1946,_0xa4f22d._0x4421cd)]-0x1,this['fire'](EventType['change'],{'index':this['step'],'count':this[_0x669e55(0x1097,0x14cb)]['length']});}[_0x306755(0x14f,0x9e8)](){const _0x1b6943={_0x473863:0x12df,_0x21bdcd:0x10cc},_0x574a1e={_0x5080e5:0x1357,_0x4ff4bc:0x43e,_0x148105:0x74a,_0x44380a:0x97c,_0x3043aa:0x8db,_0x4a0ac5:0xabb,_0x8d24e5:0xb12},_0x348715={_0x488430:0x4ea},_0x532027={_0x30f391:0x2e1};function _0x52833f(_0x17881a,_0x581313){return _0x306755(_0x17881a,_0x581313- -_0x532027._0x30f391);}this[_0x366165(0x15c1,_0x1b6943._0x473863)]['camera']['moveStart']['removeEventListener'](this['_cameraMoveStartHandler'],this),this['_map']['camera']['moveEnd'][_0x52833f(0xe55,_0x1b6943._0x21bdcd)](this['_cameraMoveEndHandler'],this);function _0x366165(_0x3bc6dc,_0x179594){return _0x306755(_0x3bc6dc,_0x179594- -_0x348715._0x488430);}this['isInPush']=![],this['_map']['setCameraView'](this['views'][this['step']],{'complete':()=>{const _0x399e07={_0xd5200:0x23f};function _0x31fa69(_0x1dcb5b,_0x145c14){return _0x52833f(_0x145c14,_0x1dcb5b- -_0x399e07._0xd5200);}function _0x1157d9(_0x55201b,_0x313e83){return _0x52833f(_0x313e83,_0x55201b- -0x191);}this[_0x1157d9(_0x574a1e._0x5080e5,0xcf9)]['camera']['moveStart'][_0x31fa69(0x5ca,-_0x574a1e._0x4ff4bc)](this['_cameraMoveStartHandler'],this),this['_map']['camera']['moveEnd']['addEventListener'](this[_0x1157d9(_0x574a1e._0x148105,0x1166)],this),this['fire'](EventType[_0x1157d9(_0x574a1e._0x44380a,_0x574a1e._0x3043aa)],{'index':this['step'],'count':this[_0x1157d9(_0x574a1e._0x4a0ac5,_0x574a1e._0x8d24e5)]['length']});}});}['goNext'](){return this['step']>=this['views']['length']-0x1?![]:(this['step']++,this['_goHistoryView'](),!![]);}['goLast'](){const _0x41befa={_0x12cf06:0x17f};function _0x9b76a3(_0x192826,_0x1fc849){return _0x2b6441(_0x1fc849,_0x192826-0x401);}function _0x4483f9(_0x5339ec,_0x142ac1){return _0x2b6441(_0x142ac1,_0x5339ec- -0x92);}return this['step']<=0x0?![]:(this[_0x9b76a3(0x84e,0x4f0)]--,this[_0x4483f9(0x3b5,-_0x41befa._0x12cf06)](),!![]);}[_0x306755(0x124f,0xf0b)](){const _0x533fe6={_0x214dcd:0x1380},_0x46d48e={_0x5db9b8:0x343};function _0x3c502f(_0x23dee0,_0x1522ff){return _0x2b6441(_0x23dee0,_0x1522ff-_0x46d48e._0x5db9b8);}function _0x3ca276(_0x362c4d,_0x281e2c){return _0x306755(_0x362c4d,_0x281e2c-0x62);}return this[_0x3c502f(0x36d,0x790)]===this['views']['length']-0x1?![]:(this['step']=this['views'][_0x3ca276(_0x533fe6._0x214dcd,0x165d)]-0x1,this['_goHistoryView'](),!![]);}[_0x306755(0x1d64,0x193d)](){function _0x487a56(_0x4aa55e,_0x4c0ddb){return _0x306755(_0x4c0ddb,_0x4aa55e- -0x21);}return this[_0x487a56(0x9cd,0xa65)]<=0x0?![]:(this['step']=0x0,this['_goHistoryView'](),!![]);}}register('cameraHistory',CameraHistory);class RotateOut extends BaseThing{constructor(_0xd41453={}){const _0x2398ce={_0x118cd3:0x4c1,_0xf2d58b:0xf0d},_0x46a99f={_0x2c4a75:0x5f1},_0x3f7890={_0x4a8289:0x5f8};function _0x3ef14a(_0x3b1452,_0x42899f){return _0x306755(_0x42899f,_0x3b1452- -_0x3f7890._0x4a8289);}super(_0xd41453),this['_angle']=0x168/(0x3c*this['options']['time']||0x3c),this[_0x358156(0xd94,0xd8a)]=this['options'][_0x358156(0xf4a,_0x2398ce._0x118cd3)]?-0x1:0x1;function _0x358156(_0xf6afcb,_0xb0d93b){return _0x306755(_0xb0d93b,_0xf6afcb- -_0x46a99f._0x2c4a75);}this['_autoStopAngle']=this['options'][_0x3ef14a(_0x2398ce._0xf2d58b,0x465)];}get['isStart'](){return this['_isStart'];}['_enabledHook'](_0x1c586d){const _0x144e22={_0x24495b:0x112};function _0x347d0b(_0xc80090,_0x2cff40){return _0x306755(_0x2cff40,_0xc80090-_0x144e22._0x24495b);}_0x1c586d?this[_0x347d0b(0xc6a,0xf05)]():this['stop']();}['_mountedHook'](){}[_0x2b6441(-0x671,0x3fd)](){}[_0x306755(0xf56,0xe2b)](){this['stop']();}[_0x306755(0x10e2,0xb58)](){const _0x393458={_0x2a48ac:0x699,_0x135d86:0x10b7,_0x3f1985:0x16af,_0x1a8369:0x1c01,_0x35a7b8:0xa8b},_0x388fbe={_0x1cd0e2:0x42};this['_isStart']&&this['stop']();function _0x2015a8(_0x4c1f0f,_0x28359c){return _0x2b6441(_0x28359c,_0x4c1f0f-_0x388fbe._0x1cd0e2);}function _0x101014(_0x3cb2b2,_0x15e61d){return _0x306755(_0x15e61d,_0x3cb2b2- -0x11a);}this[_0x101014(_0x393458._0x2a48ac,0xea1)]=!![],this[_0x2015a8(0xb2b,0x7a6)]=0x0,this['_startHeading']=this['_map'][_0x2015a8(0xae9,0x1105)][_0x101014(_0x393458._0x135d86,0xe15)],this['_startPitch']=this[_0x101014(_0x393458._0x3f1985,_0x393458._0x1a8369)]['camera'][_0x101014(_0x393458._0x35a7b8,0x4a4)],this[_0x101014(0x16af,0xdae)]['on'](EventType[_0x2015a8(0x3ce,0x139)],this['_onPreRenderHandler'],this),this['fire'](EventType['start']);}['_onPreRenderHandler'](_0x52f5ce){const _0x2d8fbf={_0x1aa956:0xf05,_0x78bab0:0x113c,_0x3a758f:0x18a1,_0x14edd5:0xec6};this[_0x5a469e(_0x2d8fbf._0x1aa956,0x1162)]++;const _0x430d5b=this['_tikRender']*this['_angle'];function _0x14abde(_0x424760,_0x575dc2){return _0x306755(_0x424760,_0x575dc2- -0x15a);}this['_autoStopAngle']&&_0x430d5b>=this['_autoStopAngle']&&this[_0x14abde(0xd30,0x1681)]();const _0x52cf5b=Cesium__namespace['Math'][_0x5a469e(0x129e,0xca4)](_0x430d5b*this['_direction'])+this[_0x14abde(0xb0a,_0x2d8fbf._0x78bab0)];this[_0x5a469e(_0x2d8fbf._0x3a758f,0x18a1)]['scene']['camera']['setView']({'orientation':{'heading':_0x52cf5b,'pitch':this['_startPitch']}});function _0x5a469e(_0x3584d1,_0x3bf9a3){return _0x2b6441(_0x3584d1,_0x3bf9a3-0x679);}this['fire'](EventType[_0x5a469e(0xbe5,_0x2d8fbf._0x14edd5)]);}['stop'](){const _0x56b169={_0x433cdd:0xa0a,_0x1f36f6:0x294};function _0x4a7224(_0x55e04a,_0x4bc870){return _0x306755(_0x55e04a,_0x4bc870- -0x5f5);}if(!this['_isStart'])return;this['_isStart']=![];function _0x35a97f(_0x27a4f1,_0x2b8d77){return _0x306755(_0x27a4f1,_0x2b8d77- -0x5c7);}this['_map']['off'](EventType['preRender'],this['_onPreRenderHandler'],this),this[_0x4a7224(_0x56b169._0x433cdd,_0x56b169._0x1f36f6)](EventType[_0x35a97f(0x154c,0x1214)]);}}register(_0x306755(0x121b,0x177b),RotateOut);const PointEditElementColors={'X_TRANSLATION_COLOR':Cesium__namespace['Color']['RED']['withAlpha'](0.6),'Y_TRANSLATION_COLOR':Cesium__namespace['Color']['GREEN']['withAlpha'](0.6),'Z_TRANSLATION_COLOR':Cesium__namespace['Color']['BLUE']['withAlpha'](0.6),'XY_TRANSLATION_COLOR':Cesium__namespace['Color'][_0x306755(0x1571,0x19ac)][_0x2b6441(0x17c0,0x1394)](0.6),'YZ_TRANSLATION_COLOR':Cesium__namespace['Color'][_0x2b6441(0x84a,0x3ac)]['withAlpha'](0.6),'XZ_TRANSLATION_COLOR':Cesium__namespace['Color']['GREEN'][_0x2b6441(0xfe9,0x1394)](0.6)},HighlightColor=Cesium__namespace['Color']['YELLOW'];class MatrixMove2 extends BaseThing{constructor(_0x2eb80d={}){const _0x2a4d52={_0x44482b:0x4c4,_0x226b3f:0x5e3,_0x27555f:0x182f,_0xf63f03:0x12fe,_0xc1c388:0xb07,_0x53ba59:0x1078};super(_0x2eb80d),this[_0x15727a(-_0x2a4d52._0x44482b,_0x2a4d52._0x226b3f)]={'X_TRANSLATION':this['id']+'_PointEdit_X_TRANSLATION','Y_TRANSLATION':this['id']+_0x16b5b8(0xb5d,0x88e),'Z_TRANSLATION':this['id']+_0x15727a(0xe6b,0xddc),'XY_TRANSLATION':this['id']+_0x15727a(_0x2a4d52._0x27555f,_0x2a4d52._0xf63f03),'YZ_TRANSLATION':this['id']+'_PointEdit_YZ_TRANSLATION','XZ_TRANSLATION':this['id']+'_PointEdit_XZ_TRANSLATION'};const _0xf22653={};_0xf22653['X_TRANSLATION']=!![],_0xf22653['Y_TRANSLATION']=!![],_0xf22653['Z_TRANSLATION']=!![],_0xf22653['XY_TRANSLATION']=!![],_0xf22653[_0x15727a(-0x328,0x4e9)]=!![],_0xf22653[_0x16b5b8(_0x2a4d52._0xc1c388,0x713)]=!![],this[_0x15727a(0x2355,0x194a)]=_0xf22653;function _0x16b5b8(_0x158ae5,_0x5bef2a){return _0x306755(_0x158ae5,_0x5bef2a-0xe2);}this['_radius']=Cesium__namespace['defaultValue'](_0x2eb80d['radius'],0x64),this['_editMatrix']=new Cesium__namespace['Matrix4'](),this['_isLeftDown']=![];function _0x15727a(_0x27903d,_0x1b79e8){return _0x2b6441(_0x27903d,_0x1b79e8-0x576);}this[_0x16b5b8(0x8ab,0x1338)]='',this['_oldPickedId']='',this[_0x16b5b8(0x984,0xa82)]=undefined,_0x2eb80d['position']&&(this[_0x16b5b8(0x10cd,0x12d9)]=_0x2eb80d[_0x15727a(_0x2a4d52._0x53ba59,0x11cc)]);}get['position'](){return this['_position'];}set['position'](_0x33f512){const _0x5fc254={_0x485bf2:0x1675,_0x50ca1e:0xeca},_0xc9b3be={_0x421a3f:0x22a};function _0x346771(_0x2f877c,_0x7b758a){return _0x2b6441(_0x7b758a,_0x2f877c-_0xc9b3be._0x421a3f);}this['_position']=LngLatPoint['toCartesian'](_0x33f512);function _0x43b049(_0x315129,_0x56450c){return _0x2b6441(_0x56450c,_0x315129-0x495);}this[_0x43b049(_0x5fc254._0x485bf2,0x14d0)]=Cesium__namespace['Matrix4'][_0x346771(_0x5fc254._0x50ca1e,0x54b)](Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](this['_position']),this['_radius'],this['_editMatrix']),this['_createGraphics']();}get['radius'](){return this['_radius'];}set[_0x306755(0xa85,0x6c6)](_0x597802){const _0x4623ab={_0x37ce66:0x13fb,_0x308eaa:0xb9d,_0x48e54f:0x1116,_0x4ee841:0x116d,_0x28d8bd:0x1195};this[_0x804a41(_0x4623ab._0x37ce66,_0x4623ab._0x308eaa)]=_0x597802,this['_editMatrix']=Cesium__namespace['Matrix4']['multiplyByUniformScale'](Cesium__namespace[_0x804a41(0x17ad,_0x4623ab._0x48e54f)][_0x31fe2a(_0x4623ab._0x4ee841,0x1138)](this['_position']),this['_radius'],this[_0x31fe2a(_0x4623ab._0x28d8bd,0xdfd)]);function _0x31fe2a(_0x1d7f37,_0x4aa2f9){return _0x306755(_0x4aa2f9,_0x1d7f37- -0x5ec);}function _0x804a41(_0x225f4e,_0x4ea246){return _0x306755(_0x225f4e,_0x4ea246- -0x5e7);}this['_createGraphics']();}get['isMoveing'](){const _0x2bf00a={_0x381c00:0x129f};if(!this['_map'])return![];function _0x5317b5(_0x33c1c1,_0x4ac35f){return _0x2b6441(_0x4ac35f,_0x33c1c1-0x560);}return this[_0x5317b5(0xfa1,_0x2bf00a._0x381c00)];}[_0x2b6441(0x65c,-0x6c)](_0x25720b){this['_drawLayer']['show']=_0x25720b,_0x25720b?this['_bindEvent']():this['_unbindEvent']();}['_mountedHook'](){const _0x44f68a={_0x58e35b:0x16dd,_0x52f07b:0xc50,_0x19ae6c:0x35f,_0xbbd22e:0x16bf},_0x3495a0={_0x4f28cc:0x12c};function _0x42349f(_0x162519,_0x1ef3fd){return _0x306755(_0x162519,_0x1ef3fd-_0x3495a0._0x4f28cc);}this[_0x42349f(_0x44f68a._0x58e35b,_0x44f68a._0x52f07b)]=new Cesium__namespace['PrimitiveCollection']();function _0x3aca38(_0x249836,_0x444d61){return _0x2b6441(_0x444d61,_0x249836-0x172);}this[_0x3aca38(0x6f5,-_0x44f68a._0x19ae6c)][_0x42349f(0x15c2,_0x44f68a._0xbbd22e)]=this['show']??!![];}['_addedHook'](){const _0x29fcdf={_0x353243:0x203};this['_map'][_0x334555(0x940,0xcd0)][_0x334555(0x794,0x6ff)]['add'](this[_0x334555(0x9ff,0x974)]),this['_createGraphics']();function _0x334555(_0x44f999,_0x445544){return _0x306755(_0x445544,_0x44f999- -0x125);}function _0x1e428a(_0x395d9f,_0x2d9ed8){return _0x2b6441(_0x395d9f,_0x2d9ed8-_0x29fcdf._0x353243);}this['_bindEvent']();}['_removedHook'](){const _0x2d0ffd={_0x33254e:0xffa};function _0x2ae4bb(_0x2cee38,_0x5f2824){return _0x2b6441(_0x5f2824,_0x2cee38-0x1e3);}this['_unbindEvent']();function _0x2a8313(_0x1df32b,_0x562067){return _0x2b6441(_0x1df32b,_0x562067-0x3f0);}this['_drawLayer'][_0x2a8313(0x16c4,0xc4a)](),this[_0x2a8313(0xd39,0x1618)]['scene']['primitives']['remove'](this[_0x2ae4bb(0x766,_0x2d0ffd._0x33254e)]);}['_createGraphics'](){const _0x355936={_0x320baa:0x218,_0x4fad6d:0xbb,_0x5b04a7:0x7d9,_0x197cf9:0x17f7,_0x30beea:0x21b8,_0x5e8efd:0x357,_0x11368b:0x2b0,_0x4e25de:0xf00,_0x4dc07a:0x15cd,_0x3ad854:0x75e,_0x121522:0x6cb,_0x4f8287:0x9e3,_0x8e14df:0x490,_0x3823f9:0x463,_0x18d649:0xdd7,_0x3e3139:0xf3d,_0x29bf93:0x1091};function _0x5567ef(_0x3c77b3,_0x858cea){return _0x306755(_0x858cea,_0x3c77b3- -0x59f);}if(!this[_0x104e84(0x9a6,0xbff)])return;this[_0x5567ef(0x585,_0x355936._0x320baa)]['removeAll']();if(!this['_position'])return;const _0x113b85=Cesium__namespace['Matrix4']['clone'](this['_editMatrix']);this['_hideFeatures']['X_TRANSLATION']&&this['_drawLayer'][_0x5567ef(0x78f,-_0x355936._0x4fad6d)](createPolylinePrimitive({'positions':[Cesium__namespace[_0x104e84(0x8a3,0xbc7)][_0x104e84(0x3f2,_0x355936._0x5b04a7)],Cesium__namespace['Cartesian3']['UNIT_X']],'modelMatrix':_0x113b85,'id':this['_pointEditElementIDs']['X_TRANSLATION'],'color':PointEditElementColors['X_TRANSLATION_COLOR']}));function _0x104e84(_0xe6c76f,_0xf34642){return _0x306755(_0xf34642,_0xe6c76f- -0x17e);}this[_0x104e84(_0x355936._0x197cf9,_0x355936._0x30beea)]['Y_TRANSLATION']&&this[_0x5567ef(0x585,-_0x355936._0x5e8efd)]['add'](createPolylinePrimitive({'positions':[Cesium__namespace['Cartesian3'][_0x5567ef(-0x2f,_0x355936._0x11368b)],Cesium__namespace['Cartesian3']['UNIT_Y']],'modelMatrix':_0x113b85,'id':this[_0x5567ef(0x6f,0x389)][_0x5567ef(_0x355936._0x4e25de,_0x355936._0x4dc07a)],'color':PointEditElementColors['Y_TRANSLATION_COLOR']})),this['_hideFeatures'][_0x104e84(_0x355936._0x3ad854,_0x355936._0x121522)]&&this['_drawLayer'][_0x5567ef(0x78f,0x979)](createPolylinePrimitive({'positions':[Cesium__namespace['Cartesian3']['ZERO'],Cesium__namespace['Cartesian3']['UNIT_Z']],'modelMatrix':_0x113b85,'id':this['_pointEditElementIDs']['Z_TRANSLATION'],'color':PointEditElementColors['Z_TRANSLATION_COLOR']})),this['_hideFeatures'][_0x5567ef(0x738,0x858)]&&this[_0x104e84(0x9a6,0x123)]['add'](createPlanePrimitive({'positions':[0.1,0.1,0x0,0.1,0.3,0x0,0.3,0.3,0x0,0.3,0.1,0x0],'normals':[0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1],'modelMatrix':_0x113b85,'id':this[_0x5567ef(0x6f,-0xb9)]['XY_TRANSLATION'],'color':PointEditElementColors[_0x5567ef(0x6dc,_0x355936._0x4f8287)]})),this['_hideFeatures'][_0x104e84(0x4b3,0xf1a)]&&this['_drawLayer']['add'](createPlanePrimitive({'positions':[0x0,0.1,0.1,0x0,0.1,0.3,0x0,0.3,0.3,0x0,0.3,0.1],'normals':[0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0],'modelMatrix':_0x113b85,'id':this[_0x104e84(_0x355936._0x8e14df,-_0x355936._0x3823f9)]['YZ_TRANSLATION'],'color':PointEditElementColors[_0x5567ef(_0x355936._0x18d649,_0x355936._0x3e3139)]})),this['_hideFeatures']['XZ_TRANSLATION']&&this['_drawLayer']['add'](createPlanePrimitive({'positions':[0.1,0x0,0.1,0.1,0x0,0.3,0.3,0x0,0.3,0.3,0x0,0.1],'normals':[0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0,0x0,0x1,0x0],'modelMatrix':_0x113b85,'id':this[_0x5567ef(0x6f,0x471)]['XZ_TRANSLATION'],'color':PointEditElementColors[_0x104e84(_0x355936._0x29bf93,0xe83)]}));}[_0x306755(0xf5c,0x1831)](){const _0x2ab8ee={_0x1ad388:0xc3d,_0x51409f:0xf7a,_0x386281:0x16f4,_0x426077:0xc3d,_0x79b794:0x9b4},_0x5cb765={_0x4ab2e9:0x346,_0x8e0398:0x426,_0x40d2cc:0x629,_0x575753:0x14e1,_0x5b1aea:0x341,_0xcb65f0:0xcdc,_0xaebacf:0xedf,_0x31da45:0x79a,_0x4a4438:0x103a,_0x4c50fd:0xe85,_0x7c2aff:0x150e,_0x12a662:0x12d0,_0x58aa36:0x2df,_0x4301f6:0x227,_0x2adaea:0xe12,_0x3a14ef:0x143b,_0x3e9f82:0x14f9,_0x48ba91:0x297,_0x1b989e:0xcde,_0xd6de76:0x949,_0x425cfb:0xea3,_0x42b7d0:0x85d,_0x3b5e2e:0xb71},_0x4bea70={_0x75edb6:0x57d},_0x4d8db4={_0xa08370:0x9eb,_0x39a763:0xf00},_0x155c56={_0x15b60f:0x359},_0x3fa501={_0x25d7ad:0x41b},_0x385dc5={_0x57206f:0x1146,_0x28fd5a:0xb0e,_0x345785:0x123d},_0x242be1={_0x3eb018:0x3};function _0x56b318(_0x24d6dc,_0x59df47){return _0x306755(_0x59df47,_0x24d6dc-_0x242be1._0x3eb018);}this['_unbindEvent'](),this['_handler']=new Cesium__namespace['ScreenSpaceEventHandler'](this['_map'][_0x269da9(0xb50,0x335)]),this[_0x56b318(_0x2ab8ee._0x1ad388,0xf2e)]['setInputAction'](_0x1a8660=>{const _0x38d96c=drillPickTransformHelperComponent(this['_map'][_0x5f287a(_0x385dc5._0x57206f,_0x385dc5._0x28fd5a)],_0x1a8660['position'],this[_0x2a4b92(0x344,0xd2e)]);function _0x2a4b92(_0x520334,_0x37f780){return _0x269da9(_0x37f780,_0x520334-0x151);}function _0x5f287a(_0x52fa08,_0x20d68d){return _0x269da9(_0x52fa08,_0x20d68d-0x4c4);}_0x38d96c&&(this[_0x2a4b92(0x14ff,0x1898)][_0x2a4b92(0x79b,_0x385dc5._0x345785)]['screenSpaceCameraController'][_0x2a4b92(0xe1f,0x5b7)]=![],this['_isLeftDown']=!![],this['_pickedId']=_0x38d96c['id']);},Cesium__namespace['ScreenSpaceEventType']['LEFT_DOWN']);function _0x269da9(_0x32900c,_0x118b0d){return _0x306755(_0x32900c,_0x118b0d- -_0x3fa501._0x25d7ad);}this['_handler'][_0x56b318(_0x2ab8ee._0x51409f,_0x2ab8ee._0x386281)](()=>{function _0x4af8a3(_0x44d706,_0x2286b5){return _0x56b318(_0x44d706- -_0x155c56._0x15b60f,_0x2286b5);}this['_map']['scene']['screenSpaceCameraController'][_0x4f6176(_0x4d8db4._0xa08370,0xe68)]=!![];function _0x4f6176(_0x1582aa,_0x2148b2){return _0x56b318(_0x2148b2- -0x284,_0x1582aa);}this['_isLeftDown']=![],this[_0x4af8a3(_0x4d8db4._0x39a763,0x13a3)]='',Cesium__namespace['defined'](this['_oldPickedId'])&&this['_oldPickedId']!==''&&(setPointEditElementColorsForId(this['_oldPickedId'],getPointEditElementColorsForId(this['_oldPickedId'],this['_pointEditElementIDs']),this['_pointEditElementIDs']),this['_oldPickedId']='',this['_createGraphics']());},Cesium__namespace[_0x269da9(0x12d,0xb7e)][_0x56b318(0x1534,0x1a62)]),this[_0x56b318(_0x2ab8ee._0x426077,0x45f)][_0x56b318(_0x2ab8ee._0x51409f,_0x2ab8ee._0x79b794)](_0x61ce0d=>{const _0x35c9da={_0x4a5e0a:0xa4};let _0x49744a=![];function _0x1931fe(_0xba60da,_0x1de9e7){return _0x56b318(_0x1de9e7- -_0x4bea70._0x75edb6,_0xba60da);}function _0x5330de(_0x32915d,_0x4d76c3){return _0x269da9(_0x4d76c3,_0x32915d-_0x35c9da._0x4a5e0a);}if(Cesium__namespace['defined'](this[_0x1931fe(_0x5cb765._0x4ab2e9,_0x5cb765._0x8e0398)])){var _0x11e0e4;const _0x5bc920=(_0x11e0e4=this[_0x5330de(_0x5cb765._0x40d2cc,-0x167)])===null||_0x11e0e4===void 0x0?void 0x0:_0x11e0e4[_0x5330de(0xa29,0xe64)];if(_0x5bc920&&_0x5bc920[0x0]){const _0x5e4858=this['_oldPickPrimitive']['appearance'][_0x1931fe(_0x5cb765._0x575753,0x13e7)]['uniforms'];_0x5e4858['color']=getPointEditElementColorsForId(_0x5bc920[0x0],this['_pointEditElementIDs']),this[_0x1931fe(_0x5cb765._0x5b1aea,_0x5cb765._0x8e0398)]=undefined;}}if(this[_0x5330de(0x61f,0xbb)]){Cesium__namespace['defined'](this[_0x1931fe(0xec7,_0x5cb765._0xcb65f0)])&&this['_pickedId']!==''&&(setPointEditElementColorsForId(this[_0x5330de(_0x5cb765._0xaebacf,0xfb6)],HighlightColor,this['_pointEditElementIDs']),this['_oldPickedId']=this[_0x5330de(_0x5cb765._0xaebacf,0xed0)],_0x49744a=!![]);const _0x5acb1d=this[_0x1931fe(_0x5cb765._0x31da45,0x124f)]['scene'];let _0x127fdb=_0x5acb1d[_0x5330de(_0x5cb765._0x4a4438,_0x5cb765._0x4c50fd)](_0x61ce0d[_0x1931fe(0xa16,0xdc)]),_0x111ec1=_0x5acb1d[_0x5330de(_0x5cb765._0x4a4438,_0x5cb765._0x7c2aff)](_0x61ce0d[_0x1931fe(0x1b27,_0x5cb765._0x12a662)]);const _0x4781fb=new Cesium__namespace['Cartesian2']();!Cesium__namespace[_0x1931fe(0x8e0,0x1238)](_0x127fdb)&&(_0x4781fb['x']=_0x61ce0d[_0x5330de(_0x5cb765._0x58aa36,-_0x5cb765._0x4301f6)]['x'],_0x4781fb['y']=_0x5acb1d['canvas'][_0x1931fe(0x77f,_0x5cb765._0x2adaea)]-_0x61ce0d['startPosition']['y'],_0x127fdb=getWorldPositionFromWindowPosition(_0x5acb1d,_0x4781fb));!Cesium__namespace['defined'](_0x111ec1)&&(_0x4781fb['x']=_0x61ce0d['endPosition']['x'],_0x4781fb['y']=_0x5acb1d['canvas']['clientHeight']-_0x61ce0d['endPosition']['y'],_0x111ec1=getWorldPositionFromWindowPosition(_0x5acb1d,_0x4781fb));if(Cesium__namespace['defined'](_0x127fdb)&&Cesium__namespace[_0x5330de(_0x5cb765._0x3a14ef,_0x5cb765._0x3e9f82)](_0x111ec1)){const _0x3572cd=getChangeMatrixByMovingMouse(this,_0x127fdb,_0x111ec1,this[_0x5330de(_0x5cb765._0x48ba91,-0x58)]);Cesium__namespace['defined'](_0x3572cd)&&(this[_0x5330de(0x140a,0x1eca)]=Cesium__namespace['Matrix4']['multiply'](this['_editMatrix'],_0x3572cd,new Cesium__namespace[(_0x1931fe(0x970,0x5f8))]()),this[_0x1931fe(_0x5cb765._0x1b989e,_0x5cb765._0xd6de76)]=Cesium__namespace['Matrix4']['getTranslation'](this[_0x1931fe(0x11d0,0x1207)],this['_position']),this['onChange']({'position':this['_position']}),_0x49744a=!![]);}_0x49744a&&this['_createGraphics']();}else{const _0x5c2df6=drillPickTransformHelperComponent(this['_map']['scene'],_0x61ce0d[_0x1931fe(0xb67,_0x5cb765._0x12a662)],this['_pointEditElementIDs']);if(_0x5c2df6){const _0x3c3a65=_0x5c2df6['primitive']['appearance']['material'][_0x5330de(_0x5cb765._0x425cfb,_0x5cb765._0x42b7d0)];_0x3c3a65['color']=HighlightColor,this[_0x5330de(0x629,-0xff)]=_0x5c2df6[_0x1931fe(_0x5cb765._0x3b5e2e,0x1de)];}}},Cesium__namespace['ScreenSpaceEventType']['MOUSE_MOVE']);}['_unbindEvent'](){const _0x440877={_0x26d3c4:0xad},_0x4f904d={_0x4a2415:0xd7};function _0x573082(_0x1f1e2a,_0x3dd55d){return _0x2b6441(_0x1f1e2a,_0x3dd55d-_0x4f904d._0x4a2415);}function _0x281d87(_0x32940e,_0xeb4d16){return _0x2b6441(_0x32940e,_0xeb4d16- -_0x440877._0x26d3c4);}this['_handler']&&(this[_0x281d87(0x225,0x5ec)][_0x281d87(0x12e0,0x941)](),delete this['_handler']);}['onChange'](_0x5407c5){const _0x151336={_0x3415b0:0xc39};this['options'][_0x44b1d7(0xabc,_0x151336._0x3415b0)]&&this[_0x44b1d7(0x7e2,0x9c7)]['onChange'](_0x5407c5);function _0x2aa8ac(_0x51814a,_0x72ed75){return _0x306755(_0x72ed75,_0x51814a-0xe1);}function _0x44b1d7(_0x40ebbb,_0x116aff){return _0x2b6441(_0x40ebbb,_0x116aff-0x30b);}this['fire'](EventType[_0x44b1d7(0x117e,0xb58)],_0x5407c5,!![]);}}function createPolylinePrimitive(_0x57a838){const _0x1b2c78={_0x42f039:0x6e0,_0x1444c3:0x1585,_0xe5e9db:0xf89,_0x1f6cf3:0xb7e,_0x424c10:0x1805,_0x4a0d3e:0x3f5,_0x1f15f8:0x5b4},_0xdde373={_0x4c98cc:0x82},_0x2c51a9={_0x3d6873:0x5ea},{positions:_0x363543,modelMatrix:_0x3280ad,color:_0x4fdfe3,id:_0x3b5636}=_0x57a838,_0x4666a6={};_0x4666a6['color']=_0x4fdfe3;function _0x574b40(_0x2a8b51,_0x578eb4){return _0x2b6441(_0x2a8b51,_0x578eb4-_0x2c51a9._0x3d6873);}function _0x336d69(_0x22e2f9,_0x155507){return _0x306755(_0x22e2f9,_0x155507-_0xdde373._0x4c98cc);}const _0x3619fb=new Cesium__namespace[(_0x574b40(0x538,_0x1b2c78._0x42f039))]({'material':Cesium__namespace['Material']['fromType'](Cesium__namespace[_0x336d69(_0x1b2c78._0x1444c3,_0x1b2c78._0xe5e9db)]['PolylineArrowType'],_0x4666a6)});return new Cesium__namespace[(_0x336d69(0xff0,_0x1b2c78._0x1f6cf3))]({'geometryInstances':new Cesium__namespace[(_0x574b40(0x1aec,_0x1b2c78._0x424c10))]({'geometry':new Cesium__namespace[(_0x336d69(-_0x1b2c78._0x4a0d3e,0x536))]({'positions':_0x363543,'width':0xf,'vertexFormat':Cesium__namespace[_0x336d69(_0x1b2c78._0x1f15f8,0x719)]['VERTEX_FORMAT'],'arcType':Cesium__namespace[_0x574b40(0x11e3,0xeb9)]['NONE']}),'modelMatrix':_0x3280ad,'id':_0x3b5636}),'appearance':_0x3619fb,'depthFailAppearance':_0x3619fb,'asynchronous':![]});}function createPlanePrimitive(_0xdbd919){const _0x5e352e={_0xb63160:0x5f4,_0x4f83b7:0xf85,_0x45786a:0x1b09,_0x58f1be:0xffc,_0x1856e7:0x642,_0x9a33bc:0x9c8,_0x3c569d:0xd9f,_0x5cd4a1:0xd5a},_0x194868={_0x158230:0x30},{positions:_0xea34d8,modelMatrix:_0x1146d7,normals:_0x3955e1,color:_0xca7de8,id:_0x365578}=_0xdbd919,_0x2b2565={};_0x2b2565[_0xf0729a(0x2,0x93e)]=_0xca7de8;function _0xf0729a(_0x5a705b,_0x1f6fb3){return _0x2b6441(_0x5a705b,_0x1f6fb3-_0x194868._0x158230);}function _0x13b604(_0x19f2dd,_0x5476d7){return _0x306755(_0x5476d7,_0x19f2dd- -0x114);}const _0xadd888=new Cesium__namespace[(_0x13b604(_0x5e352e._0xb63160,_0x5e352e._0x4f83b7))]({'closed':![],'flat':!![],'materialSupport':Cesium__namespace['MaterialAppearance']['MaterialSupport']['BASIC'],'material':Cesium__namespace['Material']['fromType'](Cesium__namespace['Material'][_0xf0729a(0x1237,0xd97)],_0x2b2565)});return new Cesium__namespace['Primitive']({'geometryInstances':new Cesium__namespace[(_0x13b604(0x16a8,_0x5e352e._0x45786a))]({'geometry':new Cesium__namespace['Geometry']({'attributes':{'position':new Cesium__namespace['GeometryAttribute']({'componentDatatype':Cesium__namespace['ComponentDatatype'][_0xf0729a(0x6a,0xa20)],'componentsPerAttribute':0x3,'values':new Float64Array(_0xea34d8)}),'normal':new Cesium__namespace[(_0x13b604(0x9c3,0x6ce))]({'componentDatatype':Cesium__namespace[_0xf0729a(0x5f9,_0x5e352e._0x58f1be)][_0x13b604(0x1066,_0x5e352e._0x1856e7)],'componentsPerAttribute':0x3,'values':new Float32Array(_0x3955e1)})},'indices':new Uint16Array([0x0,0x1,0x2,0x0,0x2,0x3]),'primitiveType':Cesium__namespace[_0x13b604(0xbdd,_0x5e352e._0x9a33bc)][_0x13b604(_0x5e352e._0x3c569d,_0x5e352e._0x5cd4a1)],'boundingSphere':Cesium__namespace['BoundingSphere']['fromVertices'](_0xea34d8)}),'modelMatrix':_0x1146d7,'id':_0x365578}),'appearance':_0xadd888,'depthFailAppearance':_0xadd888,'asynchronous':![]});}function isTransformHelperComponent(_0x22e45e,_0x18f447){for(const _0x461922 in _0x18f447){if(Object['hasOwnProperty']['call'](_0x18f447,_0x461922)){const _0xefc49=_0x18f447[_0x461922];if(_0x22e45e===_0xefc49)return!![];}}return![];}function getWorldPositionFromWindowPosition(_0x353941,_0x2dc9f4){const _0x167cbb={_0x42d8db:0x4be},_0x38fa92=0.1,_0x7f7804=Cesium__namespace['SceneTransforms'][_0x30d0ee(_0x167cbb._0x42d8db,0xdcb)](_0x353941,_0x2dc9f4,new Cesium__namespace['Cartesian2']());function _0x30d0ee(_0x4a667f,_0x34b7d5){return _0x2b6441(_0x4a667f,_0x34b7d5-0x95);}return Cesium__namespace['SceneTransforms']['drawingBufferToWorldCoordinates'](_0x353941,_0x7f7804,_0x38fa92);}function getChangeMatrixByMovingMouse(_0x44ee1b,_0x314194,_0x2925f3,_0x2f8ee8){const _0x1d6990={_0x44b2a1:0x1409,_0x14606f:0x411,_0x135dce:0x661,_0x158bb5:0x79b,_0x1d7583:0xdc8,_0x38b477:0x1b4,_0x391d3d:0x2d,_0xba5810:0x374,_0x1a6558:0x4a8,_0x26e7a0:0xe4f,_0x15be18:0x108f,_0x165ada:0xa27,_0x5609b0:0xeef,_0x5ed1a3:0x120,_0x5c7f1b:0xb0b,_0x1c5b7f:0x413,_0x477658:0x428,_0xaf02cd:0x877},_0x1b7ae6={_0x53d8c4:0x460},_0x31a244=_0x44ee1b['_pickedId'],_0x40d941=Cesium__namespace['Matrix4'][_0x5eae22(-0x4e6,0x4a8)](_0x44ee1b[_0x5eae22(0xf08,0x1321)]),_0x179433=Cesium__namespace[_0x5eae22(0x26b,0x712)]['inverse'](_0x40d941,new Cesium__namespace['Matrix4']());function _0xc60422(_0x2ee3e3,_0xfe19ae){return _0x306755(_0x2ee3e3,_0xfe19ae- -0x3c0);}const _0x2d61fa=_0x44ee1b[_0xc60422(0x1b7e,_0x1d6990._0x44b2a1)]['camera']['positionWC'],_0x5dc6b0=Cesium__namespace['Matrix4']['multiplyByPoint'](_0x179433,_0x2d61fa,new Cesium__namespace['Cartesian3']());Cesium__namespace[_0xc60422(-_0x1d6990._0x14606f,_0x1d6990._0x135dce)]['normalize'](_0x5dc6b0,_0x5dc6b0);const _0x102d4d=Cesium__namespace['Cartesian3'][_0xc60422(0x1519,0xd5e)](_0x314194,_0x2d61fa,new Cesium__namespace['Cartesian3']());function _0x5eae22(_0x295355,_0x31a602){return _0x306755(_0x295355,_0x31a602- -_0x1b7ae6._0x53d8c4);}const _0x324d59=Cesium__namespace['Cartesian3']['subtract'](_0x2925f3,_0x2d61fa,new Cesium__namespace[(_0x5eae22(-0xe3,0x5c1))]()),_0x3933e2=new Cesium__namespace[(_0xc60422(0x13a4,0xdc8))](_0x2d61fa,_0x102d4d),_0x110053=new Cesium__namespace[(_0xc60422(_0x1d6990._0x158bb5,_0x1d6990._0x1d7583))](_0x2d61fa,_0x324d59),_0x39988c=new Cesium__namespace[(_0x5eae22(0x16f,0x5c1))]();if(_0x31a244===_0x2f8ee8['XY_TRANSLATION'])Cesium__namespace[_0xc60422(0x50b,_0x1d6990._0x135dce)]['clone'](Cesium__namespace['Cartesian3'][_0xc60422(_0x1d6990._0x38b477,0x123)],_0x39988c);else{if(_0x31a244===_0x2f8ee8['YZ_TRANSLATION'])Cesium__namespace[_0x5eae22(_0x1d6990._0x391d3d,0x5c1)][_0x5eae22(0xb6d,0x4a8)](Cesium__namespace['Cartesian3']['UNIT_X'],_0x39988c);else{if(_0x31a244===_0x2f8ee8[_0xc60422(-_0x1d6990._0xba5810,0x154)])Cesium__namespace['Cartesian3'][_0x5eae22(0x7c0,_0x1d6990._0x1a6558)](Cesium__namespace['Cartesian3'][_0x5eae22(0x1274,_0x1d6990._0x26e7a0)],_0x39988c);else{if(_0x31a244===_0x2f8ee8['X_TRANSLATION']||_0x31a244===_0x2f8ee8[_0xc60422(_0x1d6990._0x15be18,0x10df)]||_0x31a244===_0x2f8ee8['Z_TRANSLATION']){let _0x4af5f9=Cesium__namespace['Cartesian3'][_0x5eae22(-0x1d0,0x110)];if(_0x31a244===_0x2f8ee8['X_TRANSLATION'])_0x4af5f9=Cesium__namespace['Cartesian3']['UNIT_X'];else{if(_0x31a244===_0x2f8ee8['Y_TRANSLATION'])_0x4af5f9=Cesium__namespace[_0xc60422(_0x1d6990._0x165ada,0x661)][_0xc60422(0x539,_0x1d6990._0x5609b0)];else _0x31a244===_0x2f8ee8['Z_TRANSLATION']&&(_0x4af5f9=Cesium__namespace['Cartesian3']['UNIT_Z']);}const _0x5135c4=new Cesium__namespace[(_0x5eae22(0x639,0x5c1))]();Cesium__namespace['Cartesian3']['cross'](_0x5dc6b0,_0x4af5f9,_0x5135c4),Cesium__namespace['Cartesian3']['cross'](_0x4af5f9,_0x5135c4,_0x39988c),Cesium__namespace['Cartesian3'][_0x5eae22(_0x1d6990._0x5ed1a3,0x2e7)](_0x39988c,_0x39988c);}}}}const _0x3e3948=new Cesium__namespace['Plane'](_0x39988c,0x0);Cesium__namespace['Plane'][_0xc60422(_0x1d6990._0x5c7f1b,_0x1d6990._0x1c5b7f)](_0x3e3948,_0x40d941,_0x3e3948);const _0x173a0e=Cesium__namespace[_0xc60422(-0x7cf,0x14a)]['rayPlane'](_0x3933e2,_0x3e3948),_0x41dca6=Cesium__namespace['IntersectionTests']['rayPlane'](_0x110053,_0x3e3948);if(!Cesium__namespace[_0x5eae22(0x1b7b,0x1352)](_0x173a0e)||!Cesium__namespace['defined'](_0x41dca6))return undefined;const _0x306f79=Cesium__namespace['Matrix4'][_0x5eae22(-_0x1d6990._0x477658,0x99)](_0x179433,_0x173a0e,new Cesium__namespace['Cartesian3']()),_0x179cf2=Cesium__namespace['Matrix4'][_0xc60422(0x6e6,0x139)](_0x179433,_0x41dca6,new Cesium__namespace['Cartesian3']()),_0x47e145=new Cesium__namespace['Cartesian3']();Cesium__namespace[_0xc60422(0xdbf,_0x1d6990._0x135dce)][_0xc60422(0x12db,0xd5e)](_0x179cf2,_0x306f79,_0x47e145);if(_0x31a244===_0x2f8ee8['X_TRANSLATION'])_0x47e145['y']=0x0,_0x47e145['z']=0x0;else{if(_0x31a244===_0x2f8ee8['Y_TRANSLATION'])_0x47e145['x']=0x0,_0x47e145['z']=0x0;else{if(_0x31a244===_0x2f8ee8['Z_TRANSLATION'])_0x47e145['x']=0x0,_0x47e145['y']=0x0;else{if(_0x31a244===_0x2f8ee8[_0x5eae22(0xfe,_0x1d6990._0xaf02cd)])_0x47e145['z']=0x0;else{if(_0x31a244===_0x2f8ee8['YZ_TRANSLATION'])_0x47e145['x']=0x0;else _0x31a244===_0x2f8ee8['XZ_TRANSLATION']&&(_0x47e145['y']=0x0);}}}}return Cesium__namespace[_0xc60422(0x853,0x7b2)]['fromTranslation'](_0x47e145,new Cesium__namespace['Matrix4']());}function setPointEditElementColorsForId(_0x44adec,_0x176ccb,_0x5ec4a3){const _0x4a9fcf={_0x450f87:0xed3,_0x3b9dd0:0xebb,_0x4c5caf:0xb3f,_0x2074d3:0x3b5},_0x3d487a={_0x35797a:0x5d3};function _0x410c23(_0x2e085d,_0x745836){return _0x2b6441(_0x745836,_0x2e085d-_0x3d487a._0x35797a);}function _0x2946d5(_0x25a64f,_0x23a539){return _0x2b6441(_0x23a539,_0x25a64f-0x62f);}switch(_0x44adec){case _0x5ec4a3[_0x410c23(0xaad,_0x4a9fcf._0x450f87)]:PointEditElementColors['X_TRANSLATION_COLOR']=_0x176ccb;break;case _0x5ec4a3[_0x2946d5(0x152d,0x1870)]:PointEditElementColors[_0x2946d5(0x198d,_0x4a9fcf._0x3b9dd0)]=_0x176ccb;break;case _0x5ec4a3[_0x2946d5(0x96a,0x2ab)]:PointEditElementColors[_0x2946d5(_0x4a9fcf._0x4c5caf,0x673)]=_0x176ccb;break;case _0x5ec4a3[_0x2946d5(0x5a2,-_0x4a9fcf._0x2074d3)]:PointEditElementColors['XZ_TRANSLATION_COLOR']=_0x176ccb;break;case _0x5ec4a3['XY_TRANSLATION']:PointEditElementColors['XY_TRANSLATION_COLOR']=_0x176ccb;break;case _0x5ec4a3['YZ_TRANSLATION']:PointEditElementColors[_0x2946d5(0x1404,0x1ae5)]=_0x176ccb;break;}}function getPointEditElementColorsForId(_0x1348d5,_0x187516){const _0x233ebf={_0x2542b2:0xbb6,_0x12583a:0x62c,_0x290fae:0x263,_0x41b6e1:0xa17,_0x145e1f:0x12ca};let _0x23512e;function _0x4eb35d(_0x186468,_0x4cc90c){return _0x2b6441(_0x4cc90c,_0x186468- -0x43);}switch(_0x1348d5){case _0x187516[_0x1b4c57(0xfef,_0x233ebf._0x2542b2)]:case _0x187516[_0x1b4c57(-0x199,0x76c)]:_0x23512e=Cesium__namespace['Color']['RED']['withAlpha'](0.6);break;case _0x187516['Y_TRANSLATION']:case _0x187516['XZ_TRANSLATION']:_0x23512e=Cesium__namespace['Color'][_0x4eb35d(0xcde,_0x233ebf._0x12583a)]['withAlpha'](0.6);break;case _0x187516[_0x1b4c57(_0x233ebf._0x290fae,_0x233ebf._0x41b6e1)]:case _0x187516[_0x1b4c57(_0x233ebf._0x145e1f,0xe12)]:_0x23512e=Cesium__namespace[_0x1b4c57(0x6aa,0x106f)]['BLUE']['withAlpha'](0.6);break;}function _0x1b4c57(_0x338578,_0x2fff72){return _0x2b6441(_0x338578,_0x2fff72-0x6dc);}return _0x23512e;}function drillPickTransformHelperComponent(_0x44dc9c,_0x180544,_0x446434){const _0x5bf43e=_0x44dc9c['drillPick'](_0x180544),_0x3b93db=_0x5bf43e['length'];let _0x63318e;for(let _0x158c58=0x0;_0x158c58<_0x3b93db;_0x158c58++){const _0x3f855b=_0x5bf43e[_0x158c58];if(_0x3f855b&&_0x3f855b['id']&&isTransformHelperComponent(_0x3f855b['id'],_0x446434)){_0x63318e=_0x3f855b;break;}}return _0x63318e;}const TaskItemClass={};class Task extends BaseThing{get['currentTime'](){return this['_currentTime'];}get['currentIndex'](){const _0x37dfb1={_0x4590ea:0x540};function _0x307504(_0x321e46,_0x4e8ece){return _0x2b6441(_0x321e46,_0x4e8ece-0x30e);}return this[_0x307504(_0x37dfb1._0x4590ea,0xe97)];}get[_0x306755(0xc9a,0x620)](){const _0x3283be={_0x1359a7:0xff6};function _0x23a8eb(_0x497321,_0x2c620e){return _0x306755(_0x2c620e,_0x497321-0xd4);}var _0x5c9a63;return(_0x5c9a63=this[_0x23a8eb(0xbca,_0x3283be._0x1359a7)])===null||_0x5c9a63===void 0x0?void 0x0:_0x5c9a63['length'];}get[_0x2b6441(-0x2d9,-0xdb)](){const _0x8ab3bb={_0x108280:0xe41},_0x9ef8f8={_0x4992b3:0x687};var _0x39373e;const _0x4368ee=(_0x39373e=this[_0x41d57f(_0x8ab3bb._0x108280,0x593)])===null||_0x39373e===void 0x0?void 0x0:_0x39373e['length'];if(_0x4368ee===0x0)return 0x0;function _0x3ea5d3(_0x574f86,_0x16cd4d){return _0x2b6441(_0x574f86,_0x16cd4d-_0x9ef8f8._0x4992b3);}function _0x41d57f(_0x2ba92c,_0x249e57){return _0x2b6441(_0x2ba92c,_0x249e57-0x3e);}return this['_arrTaskItem'][_0x4368ee-0x1][_0x41d57f(0x1b9b,0x1278)];}get['list'](){const _0x425547={_0x576671:0x8ef};function _0x34ffbc(_0x52fe85,_0x32fd22){return _0x306755(_0x32fd22,_0x52fe85- -0x2c);}return this['options'][_0x34ffbc(_0x425547._0x576671,0xeec)];}set['list'](_0xd0b46d){const _0x159bae={_0x5a7dae:0x2c};function _0x4e5592(_0x180894,_0x1bfc7c){return _0x306755(_0x180894,_0x1bfc7c-_0x159bae._0x5a7dae);}function _0x5f4114(_0x91c42d,_0x5adad9){return _0x306755(_0x5adad9,_0x91c42d- -0x49b);}this[_0x4e5592(0x1279,0xc89)]['list']=_0xd0b46d,this[_0x4e5592(0x19e,0x777)]();}get['listDX'](){const _0x4412ee={_0x317684:0x8e4,_0x54f278:0x8c6};function _0x469bc5(_0x2be4b7,_0x2d90a9){return _0x306755(_0x2be4b7,_0x2d90a9- -0x230);}return this[_0x469bc5(_0x4412ee._0x317684,_0x4412ee._0x54f278)];}['_mountedHook'](){this['_updateList']();}[_0x2b6441(0x1dec,0x1330)](_0x1946a0,_0xabe21f){const _0x4e0810={_0x7e45f2:0xa30,_0x36ffaf:0xadb},_0x29c7fd={_0x2900ea:0x118};function _0x62751b(_0x20ef8c,_0x4e2b39){return _0x306755(_0x20ef8c,_0x4e2b39- -_0x29c7fd._0x2900ea);}function _0xb3276c(_0x32b937,_0x48ff23){return _0x306755(_0x48ff23,_0x32b937-0x115);}_0xabe21f[_0xb3276c(_0x4e0810._0x7e45f2,0x76a)]&&this[_0xb3276c(0x860,_0x4e0810._0x36ffaf)]();}[_0x306755(0x56f,0x602)](_0x59cf23){for(let _0x2e842a=0x0;_0x2e842a<this['_arrTaskItem']['length'];_0x2e842a++){const _0x1aadaa=this['_arrTaskItem'][_0x2e842a];if(_0x1aadaa['id']===_0x59cf23)return _0x1aadaa;}return null;}[_0x2b6441(0x4b3,0x86b)](_0x1cfd00){const _0x5b4504={_0x5c07d6:0x772},_0x18db1b={_0x47e7bb:0x59};this['options']['list']['push'](_0x1cfd00);function _0x3d5a88(_0x492a29,_0x557ccf){return _0x306755(_0x557ccf,_0x492a29-_0x18db1b._0x47e7bb);}function _0x3caf1b(_0x3a45b9,_0x4b6ea0){return _0x2b6441(_0x4b6ea0,_0x3a45b9-0x21d);}return this['_updateList'](),this[_0x3caf1b(0x772,0xc7b)][this[_0x3caf1b(_0x5b4504._0x5c07d6,0x171)][_0x3d5a88(0x1654,0xc35)]-0x1];}['updateItem'](_0x450c85){const _0x4a1bb5={_0x2a66dd:0xf7d,_0xcb228d:0xb15};let _0x404983;function _0x40b02b(_0x456ae8,_0x126f4e){return _0x2b6441(_0x126f4e,_0x456ae8-0x25a);}for(let _0x18ed30=0x0;_0x18ed30<this['_arrTaskItem'][_0x40b02b(0x12b4,_0x4a1bb5._0x2a66dd)];_0x18ed30++){const _0x158467=this['_arrTaskItem'][_0x18ed30];_0x450c85['id']===_0x158467['id']&&(this[_0x648446(_0x4a1bb5._0xcb228d,0x6c2)]['list'][_0x18ed30]=_0x450c85,_0x404983=_0x18ed30);}this['_updateList']();function _0x648446(_0x4d6105,_0x794659){return _0x306755(_0x4d6105,_0x794659- -0x59b);}return this['_arrTaskItem'][_0x404983];}[_0x306755(0x1d3,0xbd1)](_0x4caea6){const _0x12ed59={_0x186dc4:0xc8d,_0x5bd941:0xfa7,_0x2885c2:0x5b},_0x2e4c55={_0x4c2303:0x151};function _0x32dda5(_0x475c25,_0x105885){return _0x2b6441(_0x475c25,_0x105885-0x48);}function _0x1be124(_0x24d989,_0xbd8dfc){return _0x2b6441(_0x24d989,_0xbd8dfc-_0x2e4c55._0x4c2303);}for(let _0x46a033=0x0;_0x46a033<this[_0x32dda5(_0x12ed59._0x186dc4,0x59d)][_0x32dda5(_0x12ed59._0x5bd941,0x10a2)];_0x46a033++){const _0xc9bfe4=this['_arrTaskItem'][_0x46a033];if(_0xc9bfe4['id']===_0x4caea6)return this['options']['list'][_0x1be124(0x6de,_0x12ed59._0x2885c2)](_0x46a033,0x1),this['_arrTaskItem']['splice'](_0x46a033,0x1),!![];}}['_updateList'](){const _0x124605={_0x2005e0:0x12b9,_0x4c6f46:0xb66,_0x1f7218:0x91,_0x525667:0x6bb,_0x30810a:0x4a9,_0x58cdbb:0xd9,_0x4bfb58:0xd37,_0x1bdc1f:0x40c,_0x3b78f2:0x91,_0x32c445:0xe55,_0x4fbb5b:0x1487,_0x104705:0x1171,_0x2177a4:0x1e6a},_0x1b0261=[];function _0x541e1b(_0x1490fb,_0x5be5a2){return _0x306755(_0x1490fb,_0x5be5a2- -0x4e6);}const _0x6006c5=this['options']['list'];function _0x3e7e9b(_0x359016,_0x40485a){return _0x2b6441(_0x40485a,_0x359016-0x25f);}if(_0x6006c5)for(let _0x414271=0x0;_0x414271<_0x6006c5[_0x3e7e9b(0x12b9,0xd25)];_0x414271++){const _0xb69ba1={'id':_0x6006c5[_0x414271]['id']??getGlobalId(),'index':_0x414271,..._0x6006c5[_0x414271]};let _0x27a443;_0x1b0261[_0x3e7e9b(_0x124605._0x2005e0,0x14db)]>0x0&&(_0x27a443=_0x1b0261[_0x1b0261['length']-0x1],!Cesium__namespace['defined'](_0xb69ba1['start'])&&(Cesium__namespace['defined'](_0xb69ba1[_0x3e7e9b(_0x124605._0x4c6f46,0x170)])?_0xb69ba1['start']=_0x27a443[_0x541e1b(-0x28b,_0x124605._0x1f7218)]+_0xb69ba1[_0x541e1b(_0x124605._0x525667,0x9c2)]:_0xb69ba1['start']=_0x27a443[_0x541e1b(0x168,0x91)]+0x1));const _0x2a684c=Task[_0x541e1b(_0x124605._0x30810a,_0x124605._0x58cdbb)](_0xb69ba1['type'],_0xb69ba1);if(!_0x2a684c){logWarn(_0x3e7e9b(0x15f8,_0x124605._0x4bfb58),_0xb69ba1);continue;}_0x2a684c['_duration']<0x1&&logWarn(_0x3e7e9b(_0x124605._0x1bdc1f,-0xde),_0x2a684c),_0x27a443&&_0x27a443['_stop']>_0x2a684c[_0x3e7e9b(0xcc6,0xa04)]&&logWarn('Task数据有误提示:前一条stop结束时间'+_0x27a443[_0x541e1b(0x39b,_0x124605._0x3b78f2)]+_0x3e7e9b(0x1081,_0x124605._0x32c445)+_0x2a684c['_start'],_0x27a443,_0x2a684c),_0x2a684c[_0x3e7e9b(_0x124605._0x4fbb5b,_0x124605._0x104705)]=this['_map'],_0x2a684c[_0x541e1b(_0x124605._0x2177a4,0x149f)]=this,_0x1b0261['push'](_0x2a684c);}this['_arrTaskItem']=_0x1b0261;}[_0x2b6441(0x510,0x3fd)](){const _0x3873a0={_0xc5dcae:0x1449},_0x117a2f={_0x4a59c4:0xce},_0x3fd1a3={_0x2bf4d1:0xf6a},_0x4a6e26={_0xdd6fe1:0x21d};this['_timeTik']=setInterval(()=>{function _0x250ef9(_0x490028,_0x5dd953){return _0x5bbe(_0x5dd953- -_0x4a6e26._0xdd6fe1,_0x490028);}this['isAdded']&&this[_0x250ef9(_0x3fd1a3._0x2bf4d1,0x148c)]();},0x1f4);function _0xa10118(_0x30dc8b,_0x12c459){return _0x2b6441(_0x30dc8b,_0x12c459-_0x117a2f._0x4a59c4);}this[_0xa10118(0x18b1,_0x3873a0._0xc5dcae)]();}['_removedHook'](){const _0x3af6fb={_0x45ec1f:0x12af,_0x2a4b1b:0xc25,_0x444fb0:0xe8d},_0xaa1958={_0x351ecc:0x3f7},_0xe8b820={_0x155801:0x412};function _0xa81e28(_0x13aec7,_0x32c6d1){return _0x2b6441(_0x13aec7,_0x32c6d1-_0xe8b820._0x155801);}function _0xc2c2a6(_0x54f6fd,_0x447a39){return _0x306755(_0x54f6fd,_0x447a39- -_0xaa1958._0x351ecc);}this['_timeTik']&&(clearInterval(this[_0xc2c2a6(_0x3af6fb._0x45ec1f,_0x3af6fb._0x2a4b1b)]),this[_0xa81e28(0x1246,_0x3af6fb._0x444fb0)]=null);}[_0x306755(0x14bc,0x191c)](){const _0x1eff46={_0x3e0212:0x921,_0xb728d8:0x12dc,_0x3b743b:0x15ed,_0x536641:0x1010},_0x4ced22={_0x790997:0xf8};var _0x2a0abd;if(!this['enabled']||this['_arrTaskItem']['length']===0x0)return;if(((_0x2a0abd=this[_0x19f06b(0x13c5,_0x1eff46._0x3e0212)])===null||_0x2a0abd===void 0x0?void 0x0:_0x2a0abd['availabilityEnabled'])===![])return;function _0x468550(_0x55ef0c,_0x148420){return _0x306755(_0x148420,_0x55ef0c-_0x4ced22._0x790997);}const _0x55d243=this[_0x468550(0x18c1,_0x1eff46._0xb728d8)][_0x19f06b(0xf96,0x191b)];this['_currentTime']=Cesium__namespace[_0x19f06b(_0x1eff46._0x3b743b,0x1c06)][_0x468550(_0x1eff46._0x536641,0x1ad5)](_0x55d243['currentTime'],_0x55d243['startTime']);function _0x19f06b(_0xb77283,_0x2c0619){return _0x306755(_0x2c0619,_0xb77283- -0x404);}for(let _0x3e4a44=0x0;_0x3e4a44<this['_arrTaskItem']['length'];_0x3e4a44++){const _0x27ae3c=this['_arrTaskItem'][_0x3e4a44];if(_0x55d243['shouldAnimate']){const _0x5900ed=_0x27ae3c[_0x468550(0xaf7,0x109)](this['_currentTime']);_0x5900ed&&(this[_0x19f06b(0xd26,0x1177)]=_0x27ae3c['index']);}else _0x27ae3c['pause']();}}static[_0x306755(0x13a5,0xd81)](_0x1d92c2,_0x438456){const _0x1ab481={_0x1c45db:0xe3a,_0x509185:0x1598,_0x14d820:0x1bfc},_0x5d6dac={_0x59b702:0x2ef},_0x44e0cd={_0x2b311a:0x4d6};TaskItemClass[_0x1d92c2]&&logError('register:\x20'+_0x1d92c2+'类型已存在',_0x438456);TaskItemClass[_0x1d92c2]=_0x438456,_0x438456[_0x36a1df(_0x1ab481._0x1c45db,_0x1ab481._0x509185)]=_0x1d92c2;function _0x36a1df(_0x2e3476,_0x1de6ed){return _0x2b6441(_0x2e3476,_0x1de6ed-_0x44e0cd._0x2b311a);}function _0x598e20(_0x348373,_0x567c8a){return _0x306755(_0x567c8a,_0x348373- -_0x5d6dac._0x59b702);}_0x438456[_0x36a1df(0x11c3,0xc28)][_0x36a1df(_0x1ab481._0x14d820,0x1598)]=_0x1d92c2;}static[_0x306755(0x90d,0xb34)](_0x2ea614){return TaskItemClass[_0x2ea614];}static['create'](_0x1052fe,_0x283526){const _0x441ec3=Task['getClass'](_0x1052fe);if(_0x441ec3){const _0x35b207=new _0x441ec3(_0x283526);return _0x35b207;}else logWarn('配置中的TaskItem对象未处理',_0x1052fe,_0x283526);}}register('task',Task,!![]);const _0x290a0b={};_0x290a0b['__proto__']=null,_0x290a0b['BaseThing']=BaseThing,_0x290a0b['Underground']=Underground,_0x290a0b['Sightline']=Sightline,_0x290a0b['Skyline']=Skyline,_0x290a0b['Shadows']=Shadows,_0x290a0b[_0x306755(0x147c,0x12c3)]=Measure,_0x290a0b[_0x2b6441(0x1087,0x1022)]=FloodByGraphic,_0x290a0b[_0x306755(0x9db,0x59f)]=Slope,_0x290a0b['TerrainPlanClip']=TerrainPlanClip,_0x290a0b['FloodByMaterial']=FloodByMaterial,_0x290a0b[_0x306755(0xe76,0xc8c)]=ContourLine,_0x290a0b[_0x2b6441(0x6eb,0xe25)]=TerrainFlat,_0x290a0b['TerrainUplift']=TerrainUplift,_0x290a0b['TerrainClip']=TerrainClip,_0x290a0b['LimitHeight']=LimitHeight,_0x290a0b['TilesetPlanClip']=TilesetPlanClip,_0x290a0b['ModelPlanClip']=ModelPlanClip,_0x290a0b['TilesetBoxClip']=TilesetBoxClip,_0x290a0b['TilesetClip']=TilesetClip,_0x290a0b['TilesetFlood']=TilesetFlood,_0x290a0b['TilesetFlat']=TilesetFlat,_0x290a0b['TilesetShake']=TilesetShake,_0x290a0b['TilesetColorCorrection']=TilesetColorCorrection,_0x290a0b['FirstPersonRoam']=FirstPersonRoam,_0x290a0b[_0x306755(0x1ac7,0x1610)]=StreetView,_0x290a0b[_0x306755(0x10c3,0x1477)]=CameraHistory,_0x290a0b['RotatePoint']=RotatePoint,_0x290a0b['RotateOut']=RotateOut,_0x290a0b['MatrixMove']=MatrixMove,_0x290a0b['MatrixRotate']=MatrixRotate,_0x290a0b['MatrixMove2']=MatrixMove2,_0x290a0b[_0x2b6441(0xc0a,0x95b)]=Task;var index$3=_0x290a0b;class BaseEffect extends BaseThing{get['isEffect'](){return!![];}get['target'](){return this['_postProcessStage'];}get['uniforms'](){const _0x42ed58={_0xca2480:0x287};function _0x263cfa(_0x5e4028,_0x3b3b2f){return _0x306755(_0x3b3b2f,_0x5e4028- -_0x42ed58._0xca2480);}var _0xf9f06a;return(_0xf9f06a=this['_postProcessStage'])===null||_0xf9f06a===void 0x0?void 0x0:_0xf9f06a[_0x263cfa(0xf93,0x13b2)];}['addTo'](_0x46a973){function _0x595419(_0x32ad59,_0x188825){return _0x306755(_0x32ad59,_0x188825- -0x5be);}return _0x46a973&&_0x46a973[_0x595419(0x7d7,0x113d)]&&_0x46a973['addEffect'](this),this;}[_0x2b6441(0xa97,0x41b)](_0x186b93){function _0x2edd9d(_0x4ee7f4,_0x5b2d41){return _0x2b6441(_0x4ee7f4,_0x5b2d41-0x507);}this['_map']&&this[_0x2edd9d(0xee6,0x172f)]['removeEffect'](this,_0x186b93);}[_0x306755(0xe66,0x535)](_0x1613c2){const _0x2de358={_0x1c7746:0x139b},_0x3c37a1={_0x150f66:0x69f};function _0x54fa69(_0x34761c,_0x1a6333){return _0x2b6441(_0x1a6333,_0x34761c-_0x3c37a1._0x150f66);}this['_postProcessStage']&&(this[_0x54fa69(_0x2de358._0x1c7746,0xa0c)]['enabled']=_0x1613c2);}[_0x306755(0x200c,0x18d1)](_0x23713f,_0x4116bb){for(const _0x313436 in _0x4116bb){this[_0x313436]=_0x4116bb[_0x313436];}}['_addedBaseHook'](){const _0xe1a3ce={_0x7ae428:0xc91,_0x461e59:0xe67,_0x3f07a4:0x55f},_0x46f260={_0x48a072:0x63f};!this['_postProcessStage']&&this['_mountedHook']();function _0xe6ff47(_0x37caa3,_0x106d2e){return _0x306755(_0x37caa3,_0x106d2e- -_0x46f260._0x48a072);}this['_enabledHook'](this[_0xe6ff47(0x6e3,_0xe1a3ce._0x7ae428)]);function _0x464a26(_0x132d7a,_0x23589e){return _0x2b6441(_0x132d7a,_0x23589e-0x95);}this[_0x464a26(0xc13,0xd91)]&&(this['_map']['scene'][_0xe6ff47(0x3a7,_0xe1a3ce._0x461e59)]['add'](this['_postProcessStage']),this['options'][_0x464a26(_0xe1a3ce._0x3f07a4,0x4f0)]&&(this[_0xe6ff47(0x431,0x3bd)]=this['options']['availability']));}[_0x306755(0x1a3c,0x16ba)](){const _0x2f276c={_0x1572a5:0x4cd,_0x2386f9:0x40e,_0x45285c:0xe94,_0x812639:0x13f6,_0x21e9c7:0x1120,_0x5556ba:0x1235},_0xda094e={_0x5e203d:0x539};function _0x1bca75(_0x5db253,_0x310895){return _0x2b6441(_0x310895,_0x5db253-_0xda094e._0x5e203d);}function _0x40f31b(_0x26eefb,_0x3c9744){return _0x306755(_0x26eefb,_0x3c9744- -0x17d);}this[_0x1bca75(_0x2f276c._0x1572a5,-_0x2f276c._0x2386f9)](![]),this['_postProcessStage']&&(this['_map']['scene']['postProcessStages'][_0x40f31b(_0x2f276c._0x45285c,0x83f)](this[_0x40f31b(_0x2f276c._0x812639,_0x2f276c._0x21e9c7)]),this['_postProcessStage']['isDestroyed']()&&delete this[_0x1bca75(_0x2f276c._0x5556ba,0xca7)]);}['fire'](_0x5c9cb7,_0x3a6641={},_0xa4650f){const _0x3ee43d={_0x2242d4:0xc61};!_0x3a6641[_0x32907e(0x614,_0x3ee43d._0x2242d4)]&&(_0x3a6641['effect']=this);function _0x32907e(_0x2e5ce6,_0x1bd471){return _0x306755(_0x1bd471,_0x2e5ce6-0xaa);}return super['fire'](_0x5c9cb7,_0x3a6641,_0xa4650f);}[_0x2b6441(0x1389,0x104f)](_0x1151c5){const _0x5cb21f={_0x4cf7cd:0x896,_0x104614:0xb45,_0x4d5590:0x9f4,_0x2f86f5:0x1464,_0x502b41:0x17b5,_0x2afbb4:0xa7d,_0x3ed599:0xe51};let _0x58bc0e=[];return _0x1151c5['forEach'](_0x3f5cbc=>{_0x3f5cbc[_0x35eb07(0x2f,0x9a3)]&&(_0x3f5cbc=_0x3f5cbc['czmObject']);function _0x47ce47(_0x2f1417,_0x5b233a){return _0x5bbe(_0x2f1417- -0x1bf,_0x5b233a);}function _0x35eb07(_0x1dce5d,_0x4339cc){return _0x5bbe(_0x4339cc-0xe7,_0x1dce5d);}if(_0x3f5cbc['_pickIds'])_0x58bc0e=_0x58bc0e['concat'](this[_0x47ce47(0x11be,_0x5cb21f._0x4cf7cd)](_0x3f5cbc['_pickIds']));else{if(_0x3f5cbc[_0x47ce47(0x150f,_0x5cb21f._0x104614)])_0x58bc0e=_0x58bc0e[_0x47ce47(_0x5cb21f._0x4d5590,0x82d)](this[_0x35eb07(0x11ab,_0x5cb21f._0x2f86f5)]([_0x3f5cbc[_0x35eb07(0x1408,_0x5cb21f._0x502b41)]]));else{!_0x3f5cbc['color']&&(_0x3f5cbc[_0x47ce47(_0x5cb21f._0x2afbb4,0xa65)]=Cesium__namespace['Color'][_0x47ce47(0x62b,_0x5cb21f._0x3ed599)]);const _0x2fa1c1={};_0x2fa1c1['pickId']=_0x3f5cbc,_0x58bc0e[_0x47ce47(0x267,0x802)](_0x2fa1c1);}}}),_0x58bc0e;}get[_0x306755(0x728,0x9fc)](){var _0x20f84b;return(_0x20f84b=this['options'])===null||_0x20f84b===void 0x0?void 0x0:_0x20f84b['availability'];}set['availability'](_0x418038){const _0x1c639f={_0x576259:0xbc2,_0x3c1ed7:0xa44,_0x4225bb:0xb93};var _0xd7a758;function _0x32b73e(_0x12d0f3,_0x31c47c){return _0x2b6441(_0x31c47c,_0x12d0f3-0x6dc);}function _0x5a49d8(_0x57a271,_0x959aa3){return _0x2b6441(_0x57a271,_0x959aa3-0x20c);}this[_0x32b73e(_0x1c639f._0x576259,0xc93)]=getAvailability(_0x418038,(_0xd7a758=this['_map'])===null||_0xd7a758===void 0x0||(_0xd7a758=_0xd7a758['clock'])===null||_0xd7a758===void 0x0?void 0x0:_0xd7a758[_0x32b73e(0x1023,_0x1c639f._0x3c1ed7)]),this[_0x32b73e(0xd98,_0x1c639f._0x4225bb)]['availability']=getAvailabilityJson(Array['isArray'](_0x418038)?_0x418038:this['_availability']),this['_updateAvailabilityHook']();}['getAvailabilityJson'](){var _0x1f82da;function _0x4bc452(_0x5e7661,_0x55ce69){return _0x306755(_0x55ce69,_0x5e7661- -0x556);}return getAvailabilityJson(this['_availability'],!![],(_0x1f82da=this['_map'])===null||_0x1f82da===void 0x0||(_0x1f82da=_0x1f82da[_0x4bc452(0xe44,0x8fa)])===null||_0x1f82da===void 0x0?void 0x0:_0x1f82da['startTime']);}['getAvailabilityShow'](_0xb17d67){const _0x7359df={_0x489cad:0x152f},_0x481b30={_0x1e7506:0x104};var _0x1ce784;function _0x29bc55(_0x3f4df5,_0x55c29f){return _0x306755(_0x55c29f,_0x3f4df5-_0x481b30._0x1e7506);}if(((_0x1ce784=this['_map'])===null||_0x1ce784===void 0x0?void 0x0:_0x1ce784[_0x29bc55(_0x7359df._0x489cad,0xe07)])===![])return!![];function _0x52751a(_0x3ec664,_0xe2d548){return _0x306755(_0x3ec664,_0xe2d548- -0x3ef);}return this[_0x29bc55(0xb8b,0x125d)]&&_0xb17d67?this['_availability'][_0x29bc55(0x15c2,0x205c)](_0xb17d67)??![]:!![];}['_updateAvailabilityHook'](){const _0x5b28f0={_0x3e973f:0x1028,_0x3282f2:0x5bc},_0x42e445={_0x27bb95:0x13a0},_0x5c1bd9={_0x30d041:0x10b},_0x1ff211=this[_0x4f9d03(0x668,_0x5b28f0._0x3e973f)];if(!_0x1ff211||_0x1ff211[_0x4f9d03(-_0x5b28f0._0x3282f2,0x23c)])return;const _0x4096bb=this;function _0x40dd66(_0x3f222c,_0x13b284){return _0x306755(_0x13b284,_0x3f222c-_0x5c1bd9._0x30d041);}const _0x310a10=_0x1ff211['update'];function _0x4f9d03(_0x74d10a,_0x2c66c5){return _0x2b6441(_0x74d10a,_0x2c66c5-0x32c);}_0x1ff211['update']=function(_0x54bb2c,_0x19dced){function _0x127c3b(_0xdc14ae,_0x597a45){return _0x40dd66(_0x597a45- -0x5a0,_0xdc14ae);}function _0x3e8307(_0x2c5309,_0x299f6d){return _0x40dd66(_0x299f6d- -0x534,_0x2c5309);}return this['enabled']=_0x4096bb['getAvailabilityShow'](_0x4096bb[_0x3e8307(0x1b7c,_0x42e445._0x27bb95)]['clock']['currentTime'])&&_0x4096bb['enabled'],_0x310a10[_0x3e8307(0x13c8,0x1026)](this)(_0x54bb2c,_0x19dced);},_0x1ff211['__initUpdateForAvailability']=!![];}}var FogFS='float\x20getDistance(sampler2D\x20depthTexture,\x20vec2\x20texCoords)\x20{\x0a\x20\x20float\x20depth\x20=\x20czm_unpackDepth(texture(depthTexture,\x20texCoords));\x0a\x20\x20if(depth\x20==\x200.0)\x20{\x0a\x20\x20\x20\x20return\x20czm_infinity;\x0a\x20\x20}\x0a\x20\x20vec4\x20eyeCoordinate\x20=\x20czm_windowToEyeCoordinates(gl_FragCoord.xy,\x20depth);\x0a\x20\x20return\x20-eyeCoordinate.z\x20/\x20eyeCoordinate.w;\x0a}\x0afloat\x20interpolateByDistanceMars3D(vec4\x20nearFarScalar,\x20float\x20distance)\x20{\x0a\x20\x20float\x20startDistance\x20=\x20nearFarScalar.x;\x0a\x20\x20float\x20startValue\x20=\x20nearFarScalar.y;\x0a\x20\x20float\x20endDistance\x20=\x20nearFarScalar.z;\x0a\x20\x20float\x20endValue\x20=\x20nearFarScalar.w;\x0a\x20\x20float\x20t\x20=\x20clamp((distance\x20-\x20startDistance)\x20/\x20(endDistance\x20-\x20startDistance),\x200.0,\x201.0);\x0a\x20\x20return\x20mix(startValue,\x20endValue,\x20t);\x0a}\x0avec4\x20alphaBlend(vec4\x20sourceColor,\x20vec4\x20destinationColor)\x20{\x0a\x20\x20return\x20sourceColor\x20*\x20vec4(sourceColor.aaa,\x201.0)\x20+\x20destinationColor\x20*\x20(1.0\x20-\x20sourceColor.a);\x0a}\x0auniform\x20sampler2D\x20colorTexture;\x0auniform\x20sampler2D\x20depthTexture;\x0auniform\x20vec4\x20fogByDistance;\x0auniform\x20vec4\x20fogColor;\x0ain\x20vec2\x20v_textureCoordinates;\x0avoid\x20main(void)\x20{\x0a\x20\x20float\x20distance\x20=\x20getDistance(depthTexture,\x20v_textureCoordinates);\x0a\x20\x20vec4\x20sceneColor\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20float\x20blendAmount\x20=\x20interpolateByDistanceMars3D(fogByDistance,\x20distance);\x0a\x20\x20vec4\x20finalFogColor\x20=\x20vec4(fogColor.rgb,\x20fogColor.a\x20*\x20blendAmount);\x0a\x20\x20out_FragColor\x20=\x20alphaBlend(finalFogColor,\x20sceneColor);\x0a}\x0a';class FogEffect extends BaseEffect{constructor(_0x226a56={}){const _0x18347f={_0x55d938:0x866};super(_0x226a56),this['fogByDistance']=_0x226a56['fogByDistance']??new Cesium__namespace['Cartesian4'](0xa,0x0,0x3e8,0.9);function _0x55cba1(_0x599d49,_0x465b08){return _0x306755(_0x465b08,_0x599d49- -0x649);}this['color']=getCesiumColor(_0x226a56[_0x55cba1(_0x18347f._0x55d938,0xad0)],Cesium__namespace['Color']['WHITE']),this['maxHeight']=_0x226a56['maxHeight']??0x2328,this['_setOptionsHook'](_0x226a56);}[_0x306755(0x1551,0x18d1)](_0x67d257,_0x169692){const _0x797558={_0x102951:0xab2,_0x28e388:0x4ac,_0x46275c:0x71a,_0x178938:0x532,_0x584a29:0x9fa,_0x219564:0x4ff,_0x25a8d9:0x2001,_0x79efce:0x17cd,_0x570f99:0x12d2,_0x52aad3:0x1505},_0x558a8d={_0x5a3e06:0x1b};Cesium__namespace[_0x5d3a5a(0x1d36,0x17cd)](_0x67d257['fogByDistance_near'])&&(this['fogByDistance']['x']=_0x67d257['fogByDistance_near']);function _0x3c0694(_0x2fd843,_0x496d82){return _0x306755(_0x2fd843,_0x496d82- -0x4b4);}Cesium__namespace['defined'](_0x67d257[_0x3c0694(_0x797558._0x102951,0xf51)])&&(this[_0x3c0694(_0x797558._0x28e388,_0x797558._0x46275c)]['y']=_0x67d257[_0x3c0694(_0x797558._0x178938,0xf51)]);Cesium__namespace['defined'](_0x67d257[_0x5d3a5a(_0x797558._0x584a29,0x9ce)])&&(this['fogByDistance']['z']=_0x67d257[_0x3c0694(0x75c,_0x797558._0x219564)]);function _0x5d3a5a(_0x27a8bb,_0x34dcf4){return _0x306755(_0x27a8bb,_0x34dcf4-_0x558a8d._0x5a3e06);}Cesium__namespace[_0x5d3a5a(_0x797558._0x25a8d9,_0x797558._0x79efce)](_0x67d257['fogByDistance_farValue'])&&(this['fogByDistance']['w']=_0x67d257['fogByDistance_farValue']),Cesium__namespace['defined'](_0x169692===null||_0x169692===void 0x0?void 0x0:_0x169692['color'])&&(this[_0x3c0694(_0x797558._0x570f99,0x9fb)]=getCesiumColor(_0x67d257['color'],Cesium__namespace[_0x3c0694(_0x797558._0x52aad3,0xa80)]['WHITE'])),this['maxHeight']=_0x67d257[_0x5d3a5a(0x1ac8,0x12da)]??0x2328;}[_0x2b6441(0x715,0xd6b)](){function _0x5f360b(_0x237d45,_0x172ae4){return _0x306755(_0x237d45,_0x172ae4- -0x1de);}this['_postProcessStage']=new Cesium__namespace[(_0x5f360b(0xc2,0x6e2))]({'name':this['_id'],'fragmentShader':FogFS,'uniforms':{'fogByDistance':()=>{return this['fogByDistance'];},'fogColor':()=>{return this['color'];}},'enabled':this['enabled']});}[_0x306755(0x6e1,0x99e)](){this['_map']['camera']['percentageChanged']=0.01,this['_map']['on'](EventType['cameraChanged'],this['camera_changedHandler'],this);}[_0x306755(0x7ae,0xe2b)](){this['_map']['off'](EventType['cameraChanged'],this['camera_changedHandler'],this);}[_0x306755(0x10c5,0x1106)](_0x329415){const _0x495872={_0x28d395:0x1ab1,_0x22ce14:0xe25},_0x8c3014={_0x2ab130:0x5c};function _0x15b319(_0x5137c6,_0x4cea43){return _0x2b6441(_0x4cea43,_0x5137c6- -_0x8c3014._0x2ab130);}function _0x49ab67(_0x1667c3,_0x5ef2d1){return _0x2b6441(_0x1667c3,_0x5ef2d1-0xf6);}this[_0x15b319(0x11cc,_0x495872._0x28d395)][_0x49ab67(0xa6c,0xb9d)]['positionCartographic']['height']<this['maxHeight']?this['_postProcessStage']['enabled']=this[_0x49ab67(0x444,_0x495872._0x22ce14)]:this['_postProcessStage']['enabled']=![];}}register$1(_0x2b6441(0x3b1,0x9ad),FogEffect);var RainShader=_0x2b6441(0x919,0x130a);class RainEffect extends BaseEffect{constructor(_0x43fcce={}){super(_0x43fcce),this['maxHeight']=_0x43fcce['maxHeight']??0x2328;}get[_0x2b6441(0xf38,0x8d9)](){const _0x5331b6={_0x284a57:0x1336};var _0x285937;function _0x1ee15a(_0x481d59,_0xd0ac0){return _0x2b6441(_0x481d59,_0xd0ac0-0x6bd);}return(_0x285937=this['_postProcessStage'])===null||_0x285937===void 0x0?void 0x0:_0x285937[_0x1ee15a(0x1ba7,_0x5331b6._0x284a57)]['speed'];}set['speed'](_0x1498fe){const _0x23285f={_0xba6605:0xc07,_0x402c7e:0x20},_0x2c3466={_0x2fdcd8:0x5a1},_0x28bb00={_0x465940:0x72};function _0x4a05d4(_0x5863f8,_0x3b7817){return _0x2b6441(_0x3b7817,_0x5863f8- -_0x28bb00._0x465940);}function _0x5eb925(_0x546c56,_0x102d6a){return _0x306755(_0x102d6a,_0x546c56- -_0x2c3466._0x2fdcd8);}this['_postProcessStage']&&(this['_postProcessStage'][_0x4a05d4(_0x23285f._0xba6605,0x45c)][_0x5eb925(0x8d9,-_0x23285f._0x402c7e)]=_0x1498fe);}get['size'](){var _0x396d22;return(_0x396d22=this['_postProcessStage'])===null||_0x396d22===void 0x0?void 0x0:_0x396d22['uniforms']['size'];}set['size'](_0xd9bcf1){const _0x1465f6={_0x50b12e:0xfab,_0x406e5e:0x3ca},_0x3fb0ee={_0x25ee67:0x2af};function _0x3d1ae0(_0x51f8c5,_0x3a5a45){return _0x306755(_0x3a5a45,_0x51f8c5- -0x159);}function _0x2d8a6c(_0x2c27df,_0x99859c){return _0x2b6441(_0x2c27df,_0x99859c-_0x3fb0ee._0x25ee67);}this[_0x2d8a6c(0x586,_0x1465f6._0x50b12e)]&&(this[_0x3d1ae0(0x1144,0xba7)]['uniforms'][_0x2d8a6c(_0x1465f6._0x406e5e,0xe2d)]=_0xd9bcf1);}get[_0x306755(0x1f86,0x153b)](){const _0x3cc8d8={_0x1da6dc:0xf9f},_0x54dff3={_0x3243c8:0x59c};function _0x347cdf(_0x434ea6,_0x202e91){return _0x306755(_0x434ea6,_0x202e91- -_0x54dff3._0x3243c8);}var _0x37128c;return(_0x37128c=this['_postProcessStage'])===null||_0x37128c===void 0x0?void 0x0:_0x37128c['uniforms'][_0x347cdf(0x102a,_0x3cc8d8._0x1da6dc)];}set['direction'](_0xbf0040){function _0x581765(_0x382bbb,_0x527818){return _0x2b6441(_0x382bbb,_0x527818-0x176);}this['_postProcessStage']&&(this[_0x581765(0x16a9,0xe72)]['uniforms']['direction']=Cesium__namespace['Math']['toRadians'](_0xbf0040));}['_mountedHook'](){const _0x3dc771={_0x530b33:0xf62,_0x1d0530:0x9fb},_0xcf893c={_0x113e23:0x198},_0x47bb2b={_0x21709b:0x389};function _0x2c7452(_0x59c61b,_0x2cf772){return _0x306755(_0x59c61b,_0x2cf772- -_0x47bb2b._0x21709b);}function _0x2b9091(_0x42464e,_0x680707){return _0x2b6441(_0x42464e,_0x680707-_0xcf893c._0x113e23);}this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'fragmentShader':RainShader,'uniforms':{'speed':this['options']['speed']??0xa,'size':this['options']['size']??0x14,'direction':Cesium__namespace[_0x2b9091(0xf49,_0x3dc771._0x530b33)]['toRadians'](this[_0x2b9091(_0x3dc771._0x1d0530,0x854)]['direction']??-0x1e)},'enabled':this['enabled']});}[_0x2b6441(0x6fc,0x3fd)](){const _0x5c93be={_0x4fbcfe:0x192b,_0x317bfb:0x14a0,_0x3dd419:0x11aa},_0x4d43b4={_0x2ba57b:0x162};function _0x3de7c0(_0x148b8f,_0x2c6d7d){return _0x306755(_0x148b8f,_0x2c6d7d-_0x4d43b4._0x2ba57b);}function _0x4b6a52(_0x4078b5,_0x17d2a1){return _0x2b6441(_0x17d2a1,_0x4078b5-0x609);}this['maxHeight']>0x0&&(this[_0x3de7c0(0x183d,_0x5c93be._0x4fbcfe)][_0x3de7c0(_0x5c93be._0x317bfb,_0x5c93be._0x3dd419)]['percentageChanged']=0.01,this['_map']['on'](EventType['cameraChanged'],this['camera_changedHandler'],this));}['_removedHook'](){function _0x479a83(_0x49bad5,_0x1dcda6){return _0x2b6441(_0x49bad5,_0x1dcda6-0xd2);}this['_map']['off'](EventType['cameraChanged'],this[_0x479a83(0x571,0xc37)],this);}['camera_changedHandler'](_0x792a0f){const _0x1ceda0={_0x54542c:0xf0f,_0x599b6b:0x1400};function _0x57b9e2(_0x51493a,_0x2d0717){return _0x306755(_0x51493a,_0x2d0717- -0x2bf);}function _0x43309f(_0x3ed3c2,_0x1929ff){return _0x2b6441(_0x1929ff,_0x3ed3c2-0x704);}this['_map'][_0x43309f(0x11ab,0xbe0)][_0x43309f(_0x1ceda0._0x54542c,0x17c2)]['height']<this['maxHeight']?this['_postProcessStage']&&(this['_postProcessStage'][_0x57b9e2(0x13d9,0x1011)]=this[_0x43309f(0x1433,0x1048)]):this[_0x43309f(_0x1ceda0._0x599b6b,0xc73)]&&(this['_postProcessStage']['enabled']=![]);}}register$1(_0x2b6441(-0x4b3,-0x1),RainEffect);var SnowShader='uniform\x20sampler2D\x20colorTexture;\x20//输入的场景渲染照片\x0ain\x20vec2\x20v_textureCoordinates;\x0auniform\x20float\x20speed;\x0auniform\x20float\x20scale;\x0a\x0afloat\x20snow(vec2\x20uv,\x20float\x20thisScale)\x20{\x0a\x20\x20float\x20time\x20=\x20czm_frameNumber\x20*\x20speed\x20/\x201000.0;\x0a\x20\x20float\x20wMars3D\x20=\x20smoothstep(1.0,\x200.0,\x20-uv.y\x20*\x20(thisScale\x20/\x2010.0));\x0a\x20\x20if(wMars3D\x20<\x200.1)\x0a\x20\x20\x20\x20return\x200.0;\x0a\x20\x20uv\x20+=\x20time\x20/\x20thisScale;\x0a\x20\x20uv.y\x20+=\x20time\x20*\x202.0\x20/\x20thisScale;\x0a\x20\x20uv.x\x20+=\x20sin(uv.y\x20+\x20time\x20*\x200.5)\x20/\x20thisScale;\x0a\x20\x20uv\x20*=\x20thisScale;\x0a\x0a\x20\x20vec2\x20s\x20=\x20floor(uv),\x20f\x20=\x20fract(uv),\x20p;\x0a\x20\x20float\x20k\x20=\x203.0,\x20d;\x0a\x20\x20p\x20=\x200.5\x20+\x200.35\x20*\x20sin(11.0\x20*\x20fract(sin((s\x20+\x20p\x20+\x20thisScale)\x20*\x20mat2(7,\x203,\x206,\x205))\x20*\x205.0))\x20-\x20f;\x0a\x20\x20d\x20=\x20length(p);\x0a\x20\x20k\x20=\x20min(d,\x20k);\x0a\x20\x20k\x20=\x20smoothstep(0.0,\x20k,\x20sin(f.x\x20+\x20f.y)\x20*\x200.01);\x0a\x20\x20return\x20k\x20*\x20wMars3D;\x0a}\x0a\x0avoid\x20main(void)\x20{\x0a\x20\x20vec2\x20resolution\x20=\x20czm_viewport.zw;\x0a\x20\x20vec2\x20uv\x20=\x20(gl_FragCoord.xy\x20*\x202.\x20-\x20resolution.xy)\x20/\x20min(resolution.x,\x20resolution.y);\x0a\x0a\x20\x20float\x20c\x20=\x200.0;\x0a\x20\x20float\x20step\x20=\x201.0/(scale*0.1);\x0a\x20\x20for(float\x20i\x20=\x201.0;\x20i\x20<\x2012.0;\x20i\x20+=\x201.0)\x20{\x0a\x20\x20\x20\x20c\x20+=\x20snow(uv,\x20i*step);\x0a\x20\x20}\x0a\x20\x20vec3\x20finalColor\x20=\x20vec3(c);\x20//屏幕上雪的颜色\x0a\x0a\x20\x20out_FragColor\x20=\x20mix(texture(colorTexture,\x20v_textureCoordinates),\x20vec4(finalColor,\x201.0),\x200.5);\x20\x20//将雪和三维场景融合\x0a\x0a}\x0a';class SnowEffect extends BaseEffect{constructor(_0xe0cc2={}){super(_0xe0cc2);function _0x4d9cd9(_0xd5dc9e,_0xa3aa20){return _0x306755(_0xd5dc9e,_0xa3aa20- -0x37f);}this[_0x4d9cd9(0xb75,0xf40)]=_0xe0cc2['maxHeight']??0x2328;}get[_0x2b6441(0x102f,0x8d9)](){const _0x3e85ac={_0x1b625a:0x78c},_0x5f49bf={_0x1896a4:0x52f};function _0x478e20(_0x47a7f8,_0x41fe77){return _0x306755(_0x41fe77,_0x47a7f8- -_0x5f49bf._0x1896a4);}var _0x438237;function _0x15803b(_0x123524,_0x5991e8){return _0x306755(_0x5991e8,_0x123524- -0x13f);}return(_0x438237=this[_0x15803b(0x115e,_0x3e85ac._0x1b625a)])===null||_0x438237===void 0x0?void 0x0:_0x438237[_0x478e20(0xceb,0x15ef)]['speed'];}set['speed'](_0x3f0276){const _0x7d327d={_0x1581a7:0x1262},_0x45d3b4={_0x2875f7:0x3b};function _0x397edd(_0x56a478,_0x56161c){return _0x2b6441(_0x56161c,_0x56a478-0xde);}function _0xe2dc71(_0x426fc3,_0x542b76){return _0x306755(_0x426fc3,_0x542b76- -_0x45d3b4._0x2875f7);}this[_0xe2dc71(0xee0,_0x7d327d._0x1581a7)]&&(this[_0xe2dc71(0x1b7d,0x1262)]['uniforms'][_0xe2dc71(0x1732,0xe3f)]=_0x3f0276);}get['scale'](){var _0x5e22eb;return(_0x5e22eb=this['_postProcessStage'])===null||_0x5e22eb===void 0x0?void 0x0:_0x5e22eb['uniforms']['scale'];}set[_0x2b6441(0x1d2,0x733)](_0xe9080e){this['_postProcessStage']&&(this['_postProcessStage']['uniforms']['scale']=_0xe9080e);}['_mountedHook'](){const _0xb1cdab={_0x219efa:0x846,_0x2ca75c:0x465,_0x397d83:0xd07,_0x5d4281:0x9e2};function _0xadd837(_0x19dfaa,_0x6b414b){return _0x2b6441(_0x19dfaa,_0x6b414b-0x64b);}function _0x1d69ad(_0x278844,_0x382d36){return _0x2b6441(_0x382d36,_0x278844-0x2f);}this[_0x1d69ad(0xd2b,_0xb1cdab._0x219efa)]=new Cesium__namespace['PostProcessStage']({'fragmentShader':SnowShader,'uniforms':{'speed':this[_0xadd837(_0xb1cdab._0x2ca75c,_0xb1cdab._0x397d83)]['speed']??0xa,'scale':this[_0x1d69ad(0x6eb,0x870)][_0x1d69ad(0x762,_0xb1cdab._0x5d4281)]??0xa},'enabled':this['enabled']});}['_addedHook'](){const _0x5961d0={_0x42ea93:0xd3a,_0x48dcd3:0xcc2,_0x27f72a:0x1a08,_0x7cd3a3:0x1141},_0x456209={_0x1af6cc:0x411};function _0x49429b(_0x3910ba,_0x273cf6){return _0x2b6441(_0x3910ba,_0x273cf6-_0x456209._0x1af6cc);}function _0x3efede(_0x80343,_0x2eb326){return _0x2b6441(_0x2eb326,_0x80343-0x293);}this['maxHeight']>0x0&&(this['_map'][_0x3efede(_0x5961d0._0x42ea93,_0x5961d0._0x48dcd3)]['percentageChanged']=0.01,this['_map']['on'](EventType[_0x49429b(_0x5961d0._0x27f72a,_0x5961d0._0x7cd3a3)],this['camera_changedHandler'],this));}['_removedHook'](){const _0x443842={_0x285372:0x118c,_0x4ef638:0xe1f};function _0x20cb3b(_0x426d9d,_0x4e0bf9){return _0x306755(_0x426d9d,_0x4e0bf9- -0x529);}function _0x276cee(_0x313055,_0x3e3487){return _0x306755(_0x313055,_0x3e3487- -0x2d0);}this[_0x276cee(_0x443842._0x285372,0x14f9)]['off'](EventType[_0x20cb3b(0x4f1,0xda8)],this[_0x20cb3b(_0x443842._0x4ef638,0xbdd)],this);}[_0x2b6441(0x9da,0xb65)](_0x179fe3){const _0x9b0728={_0x3a1331:0x1c5d,_0x2f00fd:0x105c,_0x59b66e:0xe6b},_0x3d9183={_0xb693b6:0x19};function _0x37c869(_0x20ca79,_0x54f9d8){return _0x306755(_0x20ca79,_0x54f9d8- -0x465);}function _0x840af3(_0x57f3b2,_0x2ed7b3){return _0x306755(_0x2ed7b3,_0x57f3b2- -_0x3d9183._0xb693b6);}this['_map'][_0x840af3(0x102f,0x19c8)]['positionCartographic']['height']<this[_0x840af3(0x12a6,_0x9b0728._0x3a1331)]?this['_postProcessStage']&&(this['_postProcessStage'][_0x37c869(_0x9b0728._0x2f00fd,0xe6b)]=this[_0x840af3(0x12b7,0x1d6a)]):this['_postProcessStage']&&(this['_postProcessStage'][_0x37c869(0x1867,_0x9b0728._0x59b66e)]=![]);}}register$1(_0x2b6441(0x1168,0xc94),SnowEffect);var SnowCoverFS=_0x2b6441(0x55c,0xf5a),CustomSnowCoverFS=_0x306755(0x211c,0x1851);class SnowCoverEffect extends BaseEffect{constructor(_0x44d67e={}){const _0x55095a={_0x535f07:0x114a};super(_0x44d67e);function _0x4c8aec(_0x5388bb,_0x12095c){return _0x306755(_0x12095c,_0x5388bb-0x2a);}this[_0x4c8aec(0x12e9,_0x55095a._0x535f07)]=_0x44d67e['maxHeight']??0x2328;}get['alpha'](){const _0x2d472d={_0x16f5d3:0xcf3,_0x147fd7:0xc70,_0xc67c64:0x9f0,_0x3bfd33:0x1982,_0x14d71a:0x1479,_0x17d480:0x17ba,_0x6864b1:0x1344},_0x45a244={_0xae9740:0x346};function _0x415142(_0x1d6e86,_0x46e491){return _0x2b6441(_0x46e491,_0x1d6e86- -0x9);}function _0x314f73(_0x2b455b,_0x40b6bd){return _0x2b6441(_0x40b6bd,_0x2b455b-_0x45a244._0xae9740);}if(this[_0x415142(_0x2d472d._0x16f5d3,0x129a)]){var _0x484fc5;return(_0x484fc5=this['_postProcessStage'])===null||_0x484fc5===void 0x0||(_0x484fc5=_0x484fc5[_0x415142(_0x2d472d._0x147fd7,_0x2d472d._0xc67c64)])===null||_0x484fc5===void 0x0?void 0x0:_0x484fc5['alpha'];}if(this[_0x314f73(0x1479,_0x2d472d._0x3bfd33)]){var _0x56c024;return(_0x56c024=this[_0x314f73(_0x2d472d._0x14d71a,_0x2d472d._0x17d480)])===null||_0x56c024===void 0x0?void 0x0:_0x56c024[_0x314f73(_0x2d472d._0x6864b1,0x1a34)]['value'];}}set[_0x306755(0xf87,0x159f)](_0x15c123){const _0x40d41c={_0x5c661b:0x1794},_0x146ab2={_0x117ee2:0xc0};this['_postProcessStage']&&(this['_postProcessStage']['uniforms']['alpha']=_0x15c123);function _0x1a126b(_0x50aeb5,_0x30b402){return _0x306755(_0x30b402,_0x50aeb5-_0x146ab2._0x117ee2);}this[_0x1a126b(_0x40d41c._0x5c661b,0xe6d)]&&(this['_uniforms']['alpha']['value']=_0x15c123);}['_enabledHook'](_0x2b0176){const _0x3259c3={_0x1e3642:0xf61,_0x27f3ad:0xc32,_0x21e48f:0x1fa2},_0x2a7c4c={_0x235dc5:0x265};function _0xc0c837(_0x5edb89,_0x1d8136){return _0x2b6441(_0x5edb89,_0x1d8136-_0x2a7c4c._0x235dc5);}this[_0xc0c837(0x11fb,_0x3259c3._0x1e3642)]&&(this['_postProcessStage'][_0x5b5374(0x1bc2,0x1416)]=_0x2b0176);function _0x5b5374(_0x581483,_0x316463){return _0x2b6441(_0x581483,_0x316463-0x6e7);}this[_0xc0c837(_0x3259c3._0x27f3ad,0x1398)]&&(this[_0x5b5374(_0x3259c3._0x21e48f,0x181a)][_0xc0c837(0x1357,0xf94)]['value']=_0x2b0176);}[_0x2b6441(0xb84,0xd6b)](){const _0x4837e1={_0x5e6ab7:0x1563,_0x418ecb:0x1ca5,_0xbd261e:0xb65};function _0x559dd5(_0x1db65c,_0x55afa8){return _0x2b6441(_0x55afa8,_0x1db65c-0x78);}function _0x38a3bd(_0x37424f,_0x27dc3){return _0x2b6441(_0x27dc3,_0x37424f-0xfb);}this[_0x559dd5(0x734,0x9db)][_0x38a3bd(0x524,0x9e2)]?this[_0x559dd5(0x1378,0x1268)](this['options']['layer']):this['_postProcessStage']=new Cesium__namespace['PostProcessStage']({'name':this[_0x38a3bd(_0x4837e1._0x5e6ab7,_0x4837e1._0x418ecb)],'fragmentShader':SnowCoverFS,'uniforms':{'alpha':this['options'][_0x38a3bd(0x10f9,0xf94)]??0x1},'enabled':this[_0x559dd5(0xda7,_0x4837e1._0xbd261e)]});}['_addedHook'](){const _0x528271={_0x3cac9f:0x122c,_0x4c6315:0x1250,_0x53ae60:0xdbf,_0x27ad41:0x1871};function _0x31878c(_0x4efa86,_0xd23f28){return _0x2b6441(_0x4efa86,_0xd23f28-0x4c7);}function _0x4b4537(_0x489faa,_0x220f4f){return _0x2b6441(_0x220f4f,_0x489faa-0x4);}this['maxHeight']>0x0&&(this[_0x4b4537(_0x528271._0x3cac9f,_0x528271._0x4c6315)]['camera']['percentageChanged']=0.01,this[_0x31878c(_0x528271._0x53ae60,0x16ef)]['on'](EventType[_0x31878c(_0x528271._0x27ad41,0x11f7)],this['camera_changedHandler'],this));}['_removedHook'](){this['_map']['off'](EventType['cameraChanged'],this['camera_changedHandler'],this);}[_0x306755(0xd2b,0x1106)](_0x2f707f){const _0x20244c={_0x5f1ddc:0xc4a,_0x360b06:0xc4a,_0x43422b:0x1289};function _0x286855(_0x40cfac,_0x2f4afe){return _0x306755(_0x2f4afe,_0x40cfac- -0x653);}function _0x1a31be(_0x3912cf,_0x528766){return _0x306755(_0x3912cf,_0x528766-0x6e);}this['_map']['camera']['positionCartographic']['height']<this[_0x1a31be(0x1560,0x132d)]?(this['_postProcessStage']&&(this['_postProcessStage']['enabled']=this[_0x1a31be(0x154a,0x133e)]),this['_uniforms']&&(this['_uniforms'][_0x286855(0xc7d,0x8e1)][_0x286855(0x6fc,0x1061)]=this['enabled'])):(this[_0x286855(_0x20244c._0x5f1ddc,0x67e)]&&(this[_0x286855(_0x20244c._0x360b06,_0x20244c._0x43422b)]['enabled']=![]),this['_uniforms']&&(this[_0x1a31be(0x1454,0x1742)]['enabled']['value']=![]));}['_bindToLayer'](_0x400241){const _0x4366e3={_0x1dfeeb:0x12a4,_0x20075e:0xc8f,_0x2a9a3d:0xea0,_0x675078:0x11a6,_0x290e53:0x11fc,_0x26bbe2:0x546,_0x58bcf0:0xf2f,_0x3c2102:0x823},_0x41f3c2={_0x1451ce:0x477};var _0x399666;if(this[_0x39359c(_0x4366e3._0x1dfeeb,_0x4366e3._0x20075e)]){this['_uniforms'][_0x39359c(_0x4366e3._0x2a9a3d,0x17f1)][_0x4e4494(0x8d8,_0x4366e3._0x675078)]=this['enabled'];return;}if(!((_0x399666=Cesium__namespace['Mars3DEx'])!==null&&_0x399666!==void 0x0&&_0x399666['getCacheOrAdd']))return;const _0x4e8bfa=new Cesium__namespace['CustomShader']({'lightingModel':Cesium__namespace['LightingModel']['UNLIT'],'uniforms':{'alpha':{'value':0x1,'type':Cesium__namespace[_0x4e4494(0x7fc,-0xfb)]['FLOAT']},'enabled':{'value':this['enabled'],'type':Cesium__namespace['UniformType']['BOOL']}},'fragmentShaderText':CustomSnowCoverFS}),_0x4afebf=Cesium__namespace[_0x4e4494(_0x4366e3._0x290e53,0xfbb)][_0x39359c(_0x4366e3._0x26bbe2,_0x4366e3._0x58bcf0)](_0x400241['_marsOptions']['customShaders']);function _0x4e4494(_0xd89e6f,_0x3775d8){return _0x306755(_0x3775d8,_0xd89e6f- -_0x41f3c2._0x1451ce);}_0x4afebf[_0x39359c(0xe39,_0x4366e3._0x3c2102)]=_0x4e8bfa;function _0x39359c(_0x4372b5,_0x348de0){return _0x2b6441(_0x348de0,_0x4372b5-0x171);}this['_uniforms']=_0x4e8bfa[_0x39359c(0xdea,0xcd5)];}}register$1('snowCover',SnowCoverEffect);class NightVisionEffect extends BaseEffect{[_0x306755(0xd8b,0x130c)](){const _0x591f83={_0x2be01c:0x973,_0x1a6335:0xd29,_0x2ac87e:0x701},_0x138dce={_0xbebd02:0x2d};function _0x55e6c4(_0x4f24ad,_0x548969){return _0x306755(_0x548969,_0x4f24ad- -0x4e8);}function _0x211014(_0x1fcb7b,_0x23a47e){return _0x2b6441(_0x1fcb7b,_0x23a47e-_0x138dce._0xbebd02);}this[_0x211014(_0x591f83._0x2be01c,_0x591f83._0x1a6335)]=Cesium__namespace[_0x211014(_0x591f83._0x2ac87e,0xb0e)][_0x211014(0x10f4,0xd15)]();}}register$1(_0x306755(0xcff,0x10af),NightVisionEffect);class BloomEffect extends BaseEffect{get['contrast'](){const _0xbf1ec5={_0x251088:0xec3,_0x4967ef:0x907},_0x2ded72={_0x49d917:0x4a};function _0x619ef0(_0xe40fbe,_0x122cba){return _0x306755(_0x122cba,_0xe40fbe- -0x357);}function _0x5141c0(_0x544256,_0x2343b4){return _0x306755(_0x544256,_0x2343b4- -_0x2ded72._0x49d917);}var _0x355e37;return(_0x355e37=this['_postProcessStage'])===null||_0x355e37===void 0x0?void 0x0:_0x355e37[_0x619ef0(_0xbf1ec5._0x251088,0x1703)][_0x5141c0(_0xbf1ec5._0x4967ef,0xf0a)];}set[_0x2b6441(0x2a1,0x9b3)](_0x2a5f51){const _0x3475d8={_0x3f0c46:0x113e,_0x49503d:0x90b};function _0x484bdd(_0x5b4fbb,_0x2485b0){return _0x2b6441(_0x2485b0,_0x5b4fbb-0x442);}function _0x4ca096(_0x105471,_0xc11dec){return _0x306755(_0xc11dec,_0x105471- -0xf0);}this['_postProcessStage']&&(this[_0x484bdd(_0x3475d8._0x3f0c46,_0x3475d8._0x49503d)]['uniforms'][_0x4ca096(0xe64,0x149e)]=_0x2a5f51);}get[_0x306755(0x834,0x6fe)](){const _0x38e22f={_0x1d888f:0x879,_0x4b331a:0x61a,_0xfda809:0x29c},_0x1d8348={_0x43580f:0x1c4},_0x400377={_0x44ab44:0xe4};var _0x559f6a;function _0x2dc718(_0x524b4f,_0x28cd4b){return _0x306755(_0x28cd4b,_0x524b4f- -_0x400377._0x44ab44);}function _0x50c664(_0x28abec,_0x111069){return _0x2b6441(_0x28abec,_0x111069-_0x1d8348._0x43580f);}return(_0x559f6a=this['_postProcessStage'])===null||_0x559f6a===void 0x0?void 0x0:_0x559f6a[_0x2dc718(0x1136,_0x38e22f._0x1d888f)][_0x2dc718(_0x38e22f._0x4b331a,-_0x38e22f._0xfda809)];}set['brightness'](_0x13047d){this['_postProcessStage']&&(this['_postProcessStage']['uniforms']['brightness']=_0x13047d);}get['delta'](){var _0x5da7b7;return(_0x5da7b7=this['_postProcessStage'])===null||_0x5da7b7===void 0x0?void 0x0:_0x5da7b7['uniforms']['delta'];}set[_0x2b6441(0x284,0xcc2)](_0x1a370c){const _0x3b9ddb={_0x1424b2:0x11b9},_0x376d9f={_0x55fb6a:0xf0},_0x3db576={_0x3d66f3:0x93};function _0x1123dd(_0x3a0295,_0xcf87c){return _0x2b6441(_0x3a0295,_0xcf87c-_0x3db576._0x3d66f3);}function _0x26341a(_0x2da439,_0x529531){return _0x306755(_0x2da439,_0x529531- -_0x376d9f._0x55fb6a);}this['_postProcessStage']&&(this[_0x1123dd(_0x3b9ddb._0x1424b2,0xd8f)]['uniforms'][_0x26341a(0x824,0x1173)]=_0x1a370c);}get[_0x306755(0xfbc,0x60a)](){const _0x4418a8={_0x153a1a:0x1f4};var _0x5a4bab;function _0x3ea87b(_0x21eb38,_0x7680f4){return _0x2b6441(_0x21eb38,_0x7680f4-_0x4418a8._0x153a1a);}return(_0x5a4bab=this[_0x3ea87b(0x195a,0xef0)])===null||_0x5a4bab===void 0x0?void 0x0:_0x5a4bab['uniforms']['sigma'];}set['sigma'](_0x3c7c9f){this['_postProcessStage']&&(this['_postProcessStage']['uniforms']['sigma']=_0x3c7c9f);}get['stepSize'](){var _0x509904;return(_0x509904=this['_postProcessStage'])===null||_0x509904===void 0x0?void 0x0:_0x509904['uniforms']['stepSize'];}set['stepSize'](_0x22ad46){const _0x37da57={_0x5274cc:0x181c,_0x31eda3:0xfee,_0x1cbc36:0x12bf};function _0x17ea02(_0x423aa4,_0x41bfa7){return _0x2b6441(_0x41bfa7,_0x423aa4-0x375);}function _0x35d9a4(_0x5a08f6,_0x2c23be){return _0x2b6441(_0x5a08f6,_0x2c23be-0x537);}this[_0x17ea02(0x1071,_0x37da57._0x5274cc)]&&(this[_0x17ea02(0x1071,0x196b)][_0x17ea02(_0x37da57._0x31eda3,0xb5d)][_0x17ea02(0x1443,_0x37da57._0x1cbc36)]=_0x22ad46);}['_mountedHook'](){const _0x2c85ea={_0x4d7b08:0x1a2c,_0x2a6f8c:0x156e,_0x492dd0:0x167f,_0x5ef8fe:0x11e3},_0x289a6c={_0x4b98db:0x68};this['_postProcessStage']=this['_map']['scene'][_0x23c055(_0x2c85ea._0x4d7b08,0x1528)][_0x173ea4(0x1280,0x9d4)],this['_postProcessStage']['uniforms']['glowOnly']=![],this['_postProcessStage']['uniforms']['contrast']=this['options'][_0x173ea4(0xeec,_0x2c85ea._0x2a6f8c)]??0x80;function _0x23c055(_0x5c06b7,_0x57d132){return _0x2b6441(_0x5c06b7,_0x57d132-0x623);}this['_postProcessStage'][_0x23c055(_0x2c85ea._0x492dd0,0x129c)][_0x173ea4(0x696,0x10db)]=this['options']['brightness']??-0.3;function _0x173ea4(_0x2ae338,_0x585264){return _0x306755(_0x585264,_0x2ae338- -_0x289a6c._0x4b98db);}this['_postProcessStage']['uniforms']['delta']=this['options']['delta']??0x1,this['_postProcessStage'][_0x23c055(_0x2c85ea._0x5ef8fe,0x129c)]['sigma']=this['options']['sigma']??3.78,this['_postProcessStage']['uniforms']['stepSize']=this['options']['stepSize']??0x5;}[_0x306755(0xc09,0x1076)](_0x41ab35){const _0x32a694={_0x2568c1:0x1409,_0x55ad55:0x143c},_0x1a318c={_0x97786f:0x265};function _0xdcfe43(_0xe36631,_0x38f1e4){return _0x2b6441(_0xe36631,_0x38f1e4-0x70d);}function _0x59041e(_0xfe1294,_0x45db60){return _0x306755(_0xfe1294,_0x45db60- -_0x1a318c._0x97786f);}this[_0xdcfe43(0x1ca3,_0x32a694._0x2568c1)][_0xdcfe43(0x1b56,_0x32a694._0x55ad55)]=this['enabled'];}[_0x306755(0xc65,0x16ba)](){const _0x3fb1de={_0x312ada:0x1274};function _0x4ace76(_0x3463f7,_0x59f2fd){return _0x2b6441(_0x59f2fd,_0x3463f7-0x545);}this['_postProcessStage'][_0x4ace76(_0x3fb1de._0x312ada,0x18b0)]=![];}}register$1('bloom',BloomEffect);var Brightness=_0x2b6441(0x8e5,0xd03);class BrightnessEffect extends BaseEffect{get[_0x306755(0xa55,0x6fe)](){const _0x18dfdb={_0x44970f:0x1151};var _0x4f45ff;function _0x32bfa8(_0x2f46cb,_0x44b762){return _0x306755(_0x2f46cb,_0x44b762-0x42);}function _0x1b20d6(_0x23c579,_0x386787){return _0x306755(_0x386787,_0x23c579- -0xc9);}return(_0x4f45ff=this[_0x1b20d6(0x11d4,0x1ae6)])===null||_0x4f45ff===void 0x0?void 0x0:_0x4f45ff[_0x1b20d6(_0x18dfdb._0x44970f,0xcb5)]['brightness'];}set['brightness'](_0x51a195){const _0x54eb98={_0x2ec0ae:0x13e7,_0x4d8235:0x3d7},_0x5ed904={_0x5a6826:0x327};function _0x487edd(_0xeb8fdf,_0x3033b7){return _0x306755(_0x3033b7,_0xeb8fdf- -_0x5ed904._0x5a6826);}function _0x2bd275(_0x2001f0,_0x7f5634){return _0x306755(_0x2001f0,_0x7f5634- -0x612);}this[_0x2bd275(_0x54eb98._0x2ec0ae,0xc8b)]&&(this['_postProcessStage'][_0x487edd(0xef3,0xa1a)][_0x487edd(_0x54eb98._0x4d8235,0xa78)]=_0x51a195);}[_0x2b6441(0xa07,0xd6b)](){const _0x5e3778={_0x20ad77:0x137e,_0x45aeca:0x9a1,_0x3d83ba:0x7bd,_0x25d23e:0x7df},_0x27b34e={_0x45d890:0x4a0};function _0xad7623(_0x3cdc37,_0x3e868e){return _0x306755(_0x3e868e,_0x3cdc37- -_0x27b34e._0x45d890);}function _0x66a28b(_0x42a146,_0x3fcd79){return _0x306755(_0x42a146,_0x3fcd79-0xe1);}this[_0x66a28b(0x12f1,_0x5e3778._0x20ad77)]=new Cesium__namespace[(_0x66a28b(0x1350,_0x5e3778._0x45aeca))]({'name':'czm_brightness','fragmentShader':Brightness,'uniforms':{'brightness':this[_0xad7623(_0x5e3778._0x3d83ba,0x5ef)][_0x66a28b(0x942,_0x5e3778._0x25d23e)]??0x2}});}}register$1(_0x2b6441(0x66,0x15d),BrightnessEffect);class BlackAndWhiteEffect extends BaseEffect{get[_0x2b6441(0x11d4,0xc5e)](){const _0x3f45de={_0x24f944:0x1184},_0x2d7e80={_0x1680ce:0x526};function _0xa509a8(_0x1cd30c,_0x5e57e6){return _0x2b6441(_0x1cd30c,_0x5e57e6-_0x2d7e80._0x1680ce);}var _0xf094c7;return(_0xf094c7=this['_postProcessStage'])===null||_0xf094c7===void 0x0?void 0x0:_0xf094c7['uniforms'][_0xa509a8(0xec4,_0x3f45de._0x24f944)];}set[_0x306755(0x15c8,0x11ff)](_0x261a7d){const _0x28360b={_0x4139a8:0x947};function _0x390f9d(_0x5319e6,_0x4c4828){return _0x2b6441(_0x4c4828,_0x5319e6-0x5a1);}this['_postProcessStage']&&(this['_postProcessStage'][_0x390f9d(0x121a,_0x28360b._0x4139a8)]['gradations']=_0x261a7d);}[_0x306755(0xf3d,0x130c)](){const _0x5da4b6={_0x2470f8:0x1802,_0x22c123:0x145d,_0x4487d2:0x1703},_0x538cda={_0x5da9ca:0x15b};this[_0x330e2f(_0x5da4b6._0x2470f8,0x13f8)]=Cesium__namespace['PostProcessStageLibrary']['createBlackAndWhiteStage']();function _0x45ba8b(_0x3d5f4b,_0x3148a1){return _0x2b6441(_0x3d5f4b,_0x3148a1-0x703);}function _0x330e2f(_0xc628f2,_0xe82009){return _0x306755(_0xc628f2,_0xe82009-_0x538cda._0x5da9ca);}this['_postProcessStage'][_0x330e2f(0xdb8,0x1375)][_0x330e2f(_0x5da4b6._0x22c123,0x135a)]=this['options'][_0x45ba8b(_0x5da4b6._0x4487d2,0x1361)]??0x4;}}register$1(_0x306755(0x6ff,0xa37),BlackAndWhiteEffect);var MosaicShader='uniform\x20sampler2D\x20colorTexture;\x0ain\x20vec2\x20v_textureCoordinates;\x0aconst\x20int\x20KERNEL_WIDTH\x20=\x2016;\x0a\x0avoid\x20main(void)\x20{\x0a\x20\x20vec2\x20step\x20=\x201.0\x20/\x20czm_viewport.zw;\x0a\x20\x20vec2\x20integralPosMars3D\x20=\x20v_textureCoordinates\x20-\x20mod(v_textureCoordinates,\x208.0\x20*\x20step);\x0a\x20\x20vec3\x20averageValue\x20=\x20vec3(0.0);\x0a\x20\x20for(int\x20i\x20=\x200;\x20i\x20<\x20KERNEL_WIDTH;\x20i++)\x20{\x0a\x20\x20\x20\x20for(int\x20j\x20=\x200;\x20j\x20<\x20KERNEL_WIDTH;\x20j++)\x20{\x0a\x20\x20\x20\x20\x20\x20averageValue\x20+=\x20texture(colorTexture,\x20integralPosMars3D\x20+\x20step\x20*\x20vec2(i,\x20j)).rgb;\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x0a\x20\x20averageValue\x20/=\x20float(KERNEL_WIDTH\x20*\x20KERNEL_WIDTH);\x0a\x20\x20out_FragColor\x20=\x20vec4(averageValue,\x201.0);\x0a}\x0a';class MosaicEffect extends BaseEffect{[_0x2b6441(0x1524,0xd6b)](){const _0x57fd1c={_0x235121:0x1c0d,_0x4dc222:0x1443},_0x4c25e3={_0x363bd9:0xa6};function _0x3662c0(_0x27c5c2,_0x3dfe12){return _0x2b6441(_0x27c5c2,_0x3dfe12-_0x4c25e3._0x363bd9);}function _0x313608(_0x5f1a62,_0x10a0d3){return _0x306755(_0x5f1a62,_0x10a0d3-0x173);}this[_0x313608(0xd3a,0x1410)]=new Cesium__namespace['PostProcessStage']({'fragmentShader':MosaicShader,'enabled':this[_0x313608(_0x57fd1c._0x235121,_0x57fd1c._0x4dc222)]});}}register$1(_0x2b6441(-0x57c,0x245),MosaicEffect);class DepthOfFieldEffect extends BaseEffect{get['focalDistance'](){const _0x3250db={_0x366af1:0x1042};function _0x256a83(_0x4382fd,_0x26c057){return _0x2b6441(_0x26c057,_0x4382fd-0x3c9);}var _0x3288fc;return(_0x3288fc=this['_postProcessStage'])===null||_0x3288fc===void 0x0?void 0x0:_0x3288fc[_0x256a83(_0x3250db._0x366af1,0x8fa)]['focalDistance'];}set[_0x306755(0xaf0,0x6e6)](_0xdf37ee){const _0x43f8df={_0x190c9f:0x67};function _0x4bf42e(_0x5b1272,_0xb38bc1){return _0x306755(_0x5b1272,_0xb38bc1-_0x43f8df._0x190c9f);}this['_postProcessStage']&&(this['_postProcessStage'][_0x4bf42e(0x1785,0x1281)]['focalDistance']=_0xdf37ee);}get[_0x306755(0xb4e,0x1263)](){const _0x2b0d4e={_0x482fb0:0xe63,_0x117ea9:0x1357};var _0x5aab43;function _0x22b950(_0x3a9191,_0x3bc57b){return _0x306755(_0x3bc57b,_0x3a9191- -0x3b7);}return(_0x5aab43=this['_postProcessStage'])===null||_0x5aab43===void 0x0?void 0x0:_0x5aab43[_0x22b950(_0x2b0d4e._0x482fb0,_0x2b0d4e._0x117ea9)]['delta'];}set['delta'](_0x177590){const _0xb9f416={_0x22baf3:0xd1c};function _0x56865c(_0x1b3e92,_0x5c4609){return _0x306755(_0x1b3e92,_0x5c4609- -0x4fe);}this['_postProcessStage']&&(this['_postProcessStage'][_0x56865c(0xbe7,_0xb9f416._0x22baf3)]['delta']=_0x177590);}get['sigma'](){var _0x1ec895;function _0x24e555(_0xf16b0b,_0x114c10){return _0x2b6441(_0x114c10,_0xf16b0b-0x3e3);}function _0x5e938e(_0x1590c5,_0x2ae499){return _0x2b6441(_0x2ae499,_0x1590c5-0x60b);}return(_0x1ec895=this['_postProcessStage'])===null||_0x1ec895===void 0x0?void 0x0:_0x1ec895[_0x5e938e(0x1284,0xe4e)][_0x24e555(0x44c,-0x549)];}set[_0x2b6441(0x4b,0x69)](_0x205b44){const _0xc7f78b={_0x496b44:0x1870},_0xf64aaa={_0x11b34b:0xc7},_0x3f748a={_0x12c0d8:0x8d};function _0x689bc5(_0x448657,_0x2c45eb){return _0x306755(_0x448657,_0x2c45eb- -_0x3f748a._0x12c0d8);}function _0x3a5c6d(_0x1cf42e,_0x328bed){return _0x2b6441(_0x1cf42e,_0x328bed-_0xf64aaa._0x11b34b);}this['_postProcessStage']&&(this['_postProcessStage'][_0x689bc5(_0xc7f78b._0x496b44,0x118d)][_0x689bc5(0xdd6,0x57d)]=_0x205b44);}get['stepSize'](){var _0x41f9d1;return(_0x41f9d1=this['_postProcessStage'])===null||_0x41f9d1===void 0x0?void 0x0:_0x41f9d1['uniforms']['stepSize'];}set['stepSize'](_0x2a0a7a){const _0x15f056={_0x1b8c01:0xc53};function _0x71e97d(_0x994110,_0x2b559e){return _0x2b6441(_0x2b559e,_0x994110- -0x6b);}this['_postProcessStage']&&(this['_postProcessStage']['uniforms'][_0x71e97d(0x1063,_0x15f056._0x1b8c01)]=_0x2a0a7a);}['_mountedHook'](){const _0x450a29={_0x366fa9:0x1219,_0x22933e:0x5c3,_0x15b05f:0x8d,_0xa1a02f:0x4b0,_0x1e81e7:0xfb2,_0x55e946:0x102d,_0x4d6c96:0x17a3,_0x5e85b3:0x3d4,_0x2e81b0:0x433};function _0x274f4f(_0x4bcff1,_0x4c22ac){return _0x306755(_0x4bcff1,_0x4c22ac- -0x561);}this[_0x274f4f(_0x450a29._0x366fa9,0xd3c)]=Cesium__namespace['PostProcessStageLibrary']['createDepthOfFieldStage'](),this[_0x274f4f(_0x450a29._0x22933e,0xd3c)]['uniforms']['focalDistance']=this['options'][_0x339a17(_0x450a29._0x15b05f,_0x450a29._0xa1a02f)]??0x57,this['_postProcessStage']['uniforms'][_0x339a17(_0x450a29._0x1e81e7,_0x450a29._0x55e946)]=this['options']['delta']??0x1,this['_postProcessStage'][_0x339a17(_0x450a29._0x4d6c96,0xfe4)]['sigma']=this['options'][_0x339a17(0xc9c,_0x450a29._0x5e85b3)]??3.78;function _0x339a17(_0x5d4b81,_0x1b6c47){return _0x306755(_0x5d4b81,_0x1b6c47- -0x236);}this[_0x274f4f(_0x450a29._0x2e81b0,0xd3c)]['uniforms']['stepSize']=this['options'][_0x339a17(0x1a14,0x1439)]??2.46;}}register$1('depthOfField',DepthOfFieldEffect);const packing_glsl='\x0avec3\x20packNormalToRGB(const\x20in\x20vec3\x20normal)\x20{\x0a\x20\x20return\x20normalize(normal)\x20*\x200.5\x20+\x200.5;\x0a}\x0a\x0avec3\x20unpackRGBToNormal(const\x20in\x20vec3\x20rgb)\x20{\x0a\x20\x20return\x202.0\x20*\x20rgb.xyz\x20-\x201.0;\x0a}\x0a\x0aconst\x20float\x20PackUpscale\x20=\x20256.\x20/\x20255.;\x0aconst\x20float\x20UnpackDownscale\x20=\x20255.\x20/\x20256.;\x0a\x0aconst\x20vec3\x20PackFactors\x20=\x20vec3(256.\x20*\x20256.\x20*\x20256.,\x20256.\x20*\x20256.,\x20256.);\x0aconst\x20vec4\x20UnpackFactors\x20=\x20UnpackDownscale\x20/\x20vec4(PackFactors,\x201.);\x0a\x0aconst\x20float\x20ShiftRight8\x20=\x201.\x20/\x20256.;\x0a\x0avec4\x20packDepthToRGBA(const\x20in\x20float\x20v)\x20{\x0a\x20\x20vec4\x20r\x20=\x20vec4(fract(v\x20*\x20PackFactors),\x20v);\x0a\x20\x20r.yzw\x20-=\x20r.xyz\x20*\x20ShiftRight8;\x0a\x20\x20return\x20r\x20*\x20PackUpscale;\x0a}\x0a\x0afloat\x20unpackRGBAToDepth(const\x20in\x20vec4\x20v)\x20{\x0a\x20\x20return\x20dot(v,\x20UnpackFactors);\x0a}\x0a\x0avec4\x20pack2HalfToRGBA(vec2\x20v)\x20{\x0a\x20\x20vec4\x20r\x20=\x20vec4(v.x,\x20fract(v.x\x20*\x20255.0),\x20v.y,\x20fract(v.y\x20*\x20255.0));\x0a\x20\x20return\x20vec4(r.x\x20-\x20r.y\x20/\x20255.0,\x20r.y,\x20r.z\x20-\x20r.w\x20/\x20255.0,\x20r.w);\x0a}\x0avec2\x20unpackRGBATo2Half(vec4\x20v)\x20{\x0a\x20\x20return\x20vec2(v.x\x20+\x20(v.y\x20/\x20255.0),\x20v.z\x20+\x20(v.w\x20/\x20255.0));\x0a}\x0a\x0afloat\x20viewZToOrthographicDepth(const\x20in\x20float\x20viewZ,\x20const\x20in\x20float\x20near,\x20const\x20in\x20float\x20far)\x20{\x0a\x20\x20return\x20(viewZ\x20+\x20near)\x20/\x20(near\x20-\x20far);\x0a}\x0afloat\x20orthographicDepthToViewZ(const\x20in\x20float\x20linearClipZ,\x20const\x20in\x20float\x20near,\x20const\x20in\x20float\x20far)\x20{\x0a\x20\x20return\x20linearClipZ\x20*\x20(near\x20-\x20far)\x20-\x20near;\x0a}\x0a\x0afloat\x20viewZToPerspectiveDepth(const\x20in\x20float\x20viewZ,\x20const\x20in\x20float\x20near,\x20const\x20in\x20float\x20far)\x20{\x0a\x20\x20return\x20((near\x20+\x20viewZ)\x20*\x20far)\x20/\x20((far\x20-\x20near)\x20*\x20viewZ);\x0a}\x0afloat\x20perspectiveDepthToViewZ(const\x20in\x20float\x20invClipZ,\x20const\x20in\x20float\x20near,\x20const\x20in\x20float\x20far)\x20{\x0a\x20\x20return\x20(near\x20*\x20far)\x20/\x20((far\x20-\x20near)\x20*\x20invClipZ\x20-\x20far);\x0a}\x0a',cmz_selected_glsl=_0x2b6441(0xa60,0xe76);function CesiumRenderPass(_0x2be718){const _0x42dfe7={_0xe0e397:0x201,_0x1e1427:0x9f2,_0x43ea8a:0x854,_0x414eaa:0x314,_0x1473c5:0xf11},_0x384751={_0x6249c2:0xe41,_0x309df4:0xe6d,_0x49f43d:0x1075},_0x27a239={_0x1af1c5:0xd03,_0x51f8c0:0x80c},_0x152d41={_0x4f157f:0x4},_0x3fc0be={_0x339389:0xec4,_0x576260:0x11ca},_0x2de764={_0x2dd94f:0x26d},_0x9ab461={_0x43413d:0x103},_0x4052e4={_0xac9932:0xb56,_0x290516:0x16ed},_0x268651={_0xc600ce:0xd47,_0x1c3066:0x1d1,_0x137e61:0x453,_0x356b59:0xb48,_0xbca3c2:0x2b6,_0xa4aaf8:0x605,_0x11efa5:0x9d0,_0x3350ca:0x7dc,_0xd05a97:0x68f,_0x54f386:0xe7a,_0x43b956:0xf77,_0x3b0b9d:0x2f4,_0x53042f:0x6cb},_0x1941d6={_0x39fcf2:0x319},_0x27a951={_0x1374a4:0x180e,_0x3e5ac4:0x15a6,_0x1e80dc:0x14d0,_0x4e01fe:0xa32,_0x2e47d0:0x1497,_0x5d1cc7:0x16a3,_0x53b9c3:0x1138},_0xd8c761={_0x45e048:0x1424,_0x4f087f:0x1d5c,_0x37a8e0:0x1266,_0x3b0061:0x15e1,_0x299a78:0x2d8},_0x3c12f0={_0x4e7828:0x15b9},_0x6f2e05={_0x1a97c6:0x1210,_0x2162f2:0xd9},_0x1080c1={_0x1c8e90:0x93e,_0x17e293:0x46f,_0x108521:0x1856,_0x4e5836:0x1269,_0x39aa96:0x20bb,_0x330505:0x98e,_0x587b6b:0x928,_0x57dc19:0x1438,_0x2299a6:0x1797,_0x875544:0x1ec0,_0x5980f8:0x34d,_0x5cc89d:0x949},_0x895f4c={_0xd00248:0x2069,_0xb58503:0x1f7e,_0x4cc319:0xb8a,_0x1c3314:0x884,_0xa2b3d8:0x1010,_0x4af322:0xc01},_0x3b7458={_0xb95ab3:0x1a68,_0x4a1825:0x104e,_0x5b396f:0x1a9e,_0x26f31f:0x107e,_0xee165d:0xad3,_0x365569:0xd51,_0x3075cd:0xacc,_0x1dfdce:0x405,_0x5a91e8:0xd5e,_0xbf0b5:0x867,_0x130c87:0x7b5,_0x375b45:0xda0,_0x458a1a:0xe26,_0x299ba4:0x1f35,_0x41d4fc:0x9d,_0xa2b3e2:0x5a0,_0x4e1faa:0x3f2,_0x11e822:0x1159,_0x3aadcd:0x532,_0x423d81:0x634,_0xf6eec3:0x5a0,_0x56312d:0xe7e,_0x433c1a:0xb40,_0x316ecd:0x3f8,_0x4c0e22:0xd0f,_0x5e0913:0x30d,_0x1d09a1:0x10d8,_0x241ac8:0x4a3},_0x159c2a={_0x3a266f:0x368},_0x40c37c={_0x36ecb2:0x1b6};let {name:_0x283451,vertexShader:_0x10ab10,fragmentShader:_0x187e36,uniforms:_0x2a6512,renderStateProcess:_0x3f2cb6,beforeUpdate:_0x1d62a6,renderType:_0x3e0020,textureScale:_0x39ee3b,pixelFormat:_0x100f65,pixelDatatype:_0x49d6f4,sampler:_0x429796,shaderRedefine:_0x4e871f,overrideViewport:_0x4b2962}=_0x2be718;this['_selectedIdTexture']=null;const _0x1bbfb8='renderPass_'+_0x283451['replace'](/[\.\\\/\-]/g,'_'),_0x4f59cc='czm_non_'+_0x1bbfb8+'_main',_0x42e1e3='czm_'+_0x1bbfb8+'_main',_0x2be688='_cache_'+_0x1bbfb8,_0x1bb373=_0x1bbfb8+_0x1319ab(-_0x42dfe7._0xe0e397,0x5ee);let _0x27f7c7=null,_0x12fe65=null,_0xe2a488=null;function _0x30b576(_0x1bf11d,_0x18dbbe){return _0x306755(_0x1bf11d,_0x18dbbe- -_0x40c37c._0x36ecb2);}let _0x5ed45b=null,_0x56dc6d;const _0x5b005b=this,_0x197ba6=new Cesium__namespace['ClearCommand']({'color':Cesium__namespace['Color']['TRANSPARENT'],'depth':0x1});let _0x40190d=new Cesium__namespace['BoundingRectangle']();_0x4b2962&&Cesium__namespace['BoundingRectangle']['clone'](_0x4b2962,_0x40190d);_0x4e871f=_0x4e871f||'add',_0x3e0020=_0x3e0020||'all',_0x39ee3b=_0x39ee3b||0x1;if(_0x39ee3b<0x0||_0x39ee3b>0x8)throw new Cesium__namespace[(_0x30b576(_0x42dfe7._0x1e1427,_0x42dfe7._0x43ea8a))]('CesiumRenderPass:textureScale必须大于0小于等于8');function _0x53be57(_0x4367cd,_0x3be26e,_0x3e7a5a,_0x1d7d83){const _0x3f2333={_0x2032b1:0x281};let _0x3b92a4=_0x4367cd['shaderCache'][_0x4a5482(0x135a,_0x3b7458._0xb95ab3)](_0x3be26e,_0x1bbfb8);function _0x2d82ae(_0x23cd4a,_0x503fc2){return _0x30b576(_0x503fc2,_0x23cd4a-_0x3f2333._0x2032b1);}if(!Cesium__namespace['defined'](_0x3b92a4)){const _0x4cf007=_0x3be26e[_0x2d82ae(0x127e,0x118f)];let _0x3a5c2e=_0x3be26e[_0x2d82ae(_0x3b7458._0x4a1825,0xc8d)],_0x444b25=_0x3be26e[_0x2d82ae(_0x3b7458._0x5b396f,0x2140)];const _0x2ad56a=_0x3be26e['_vertexShaderText'];let _0x5bb99f=_0x3a5c2e['sources'],_0x1cb7e9=_0x5bb99f['length'],_0x928c7=!!_0x5ed45b&&_0x580a2f();if(!Cesium__namespace['defined'](_0x3e7a5a))_0x3e7a5a='vec4(1.0)';else Object[_0x2d82ae(0xdbe,_0x3b7458._0x26f31f)][_0x4a5482(_0x3b7458._0xee165d,_0x3b7458._0x365569)]['call'](_0x3e7a5a)==='[object\x20Object]'&&(_0x3e7a5a[_0x2d82ae(0xf7a,_0x3b7458._0x3075cd)]?_0x3e7a5a=_0x2d82ae(0x7c5,_0x3b7458._0x1dfdce)+Cesium__namespace['Color']['floatToByte'](_0x3e7a5a['color'][_0x2d82ae(0x1448,_0x3b7458._0x5a91e8)])+',\x20'+Cesium__namespace[_0x4a5482(0x8ec,0x113)]['floatToByte'](_0x3e7a5a[_0x4a5482(_0x3b7458._0xbf0b5,0x4a5)]['green'])+',\x20'+Cesium__namespace[_0x4a5482(0x8ec,0x22b)]['floatToByte'](_0x3e7a5a['color']['blue'])+',\x20'+Cesium__namespace['Color']['floatToByte'](_0x3e7a5a['color']['alpha'])+')':_0x3e7a5a=_0x4a5482(_0x3b7458._0x130c87,0xa2c));let _0x396fac=cmz_selected_glsl;const _0x5341d7=/texture\s?\(\s?model_pickTexture\s?,\s?selectedFeature.st\s?\)/['test'](_0x3e7a5a);_0x1d7d83===_0x4a5482(0x124f,_0x3b7458._0x375b45)&&!_0x5341d7?_0x396fac+=_0x4a5482(0xc1e,_0x3b7458._0x458a1a)+_0x3e7a5a+');\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20return\x20isSelected;\x0a}\x0a#endif\x20':_0x396fac+='\x0a#ifdef\x20CZM_SELECTED_FEATURE\x0abool\x20czm_selected(){\x0a\x20\x20\x20\x20return\x20czm_selected('+_0x3e7a5a+_0x2d82ae(0x1829,_0x3b7458._0x299ba4);const _0x3510a3=cmz_selected_glsl+('\x0a#ifdef\x20CZM_SELECTED_FEATURE\x0aout\x20float\x20me_isSelected;\x0abool\x20czm_selected(){\x0a\x20\x20\x20\x20return\x20czm_selected('+_0x3e7a5a+');\x0a}\x0a#endif\x20\x20');let _0x521f29=![],_0x2cecb0=![];if(/in\s?vec3\s?normal\s?;/['test'](_0x2ad56a)||/\n\s?vec3\s?normal\s?;/['test'](_0x2ad56a))_0x521f29=!![];else/out\s?vec3\s?v_normal\s?;/[_0x4a5482(0x42a,0x13f)](_0x2ad56a)&&(_0x2cecb0=!![]);if(_0x187e36){let _0x2feeb3=![];for(let _0x30987e=0x0;_0x30987e<_0x1cb7e9;++_0x30987e){if(/vec4\s?packDepthToRGBA\s?\(/[_0x2d82ae(0xb3d,0xbdb)](_0x5bb99f[_0x30987e])){_0x2feeb3=!![];break;}}const _0x3c4ed8=(_0x2feeb3?'':packing_glsl)+(_0x928c7?_0x396fac:'')+Cesium__namespace['ShaderSource'][_0x4a5482(0x47e,-0xd2)](_0x187e36,_0x42e1e3)+'void\x20main()\x20\x0a'+'{\x20\x0a'+(_0x4e871f!==_0x4a5482(0xa6d,_0x3b7458._0x41d4fc)?'\x20\x20\x20\x20'+_0x4f59cc+'();\x20\x0a':'')+('\x20\x20\x20\x20'+_0x42e1e3+'();\x20\x0a')+'}\x20\x0a',_0x1d670a=new Array(_0x1cb7e9+0x1);for(let _0x501aae=0x0;_0x501aae<_0x1cb7e9;++_0x501aae){_0x1d670a[_0x501aae]=Cesium__namespace[_0x4a5482(0xe7e,0xc20)]['replaceMain'](_0x5bb99f[_0x501aae],_0x4f59cc);}_0x1d670a[_0x1cb7e9]=_0x3c4ed8;if(_0x521f29)_0x3a5c2e[_0x4a5482(_0x3b7458._0xa2b3e2,_0x3b7458._0x4e1faa)]['push']('HAS_NORMAL_MARS3D');else _0x2cecb0&&_0x3a5c2e['defines'][_0x2d82ae(0x764,_0x3b7458._0x11e822)]('HAS_V_NORMAL_MARS3D');_0x3a5c2e=new Cesium__namespace['ShaderSource']({'sources':_0x1d670a,'defines':_0x3a5c2e[_0x4a5482(0x5a0,-_0x3b7458._0x3aadcd)]});}if(_0x10ab10||_0x187e36){_0x5bb99f=_0x444b25[_0x4a5482(0x304,-_0x3b7458._0x423d81)],_0x1cb7e9=_0x5bb99f['length'];let _0x5d6006=![];for(let _0x579e71=0x0;_0x579e71<_0x1cb7e9;++_0x579e71){if(/vec4\s?packDepthToRGBA\s?\(/['test'](_0x5bb99f[_0x579e71])){_0x5d6006=!![];break;}}_0x928c7=_0x928c7&&_0x1d7d83==='varying'&&!_0x5341d7;if(_0x521f29)_0x444b25['defines']['push']('HAS_NORMAL_MARS3D');else _0x2cecb0&&_0x444b25[_0x4a5482(_0x3b7458._0xf6eec3,0x558)]['push']('HAS_V_NORMAL_MARS3D');const _0x45c785=(_0x5d6006?'':packing_glsl)+(_0x928c7?_0x3510a3:'')+Cesium__namespace[_0x4a5482(_0x3b7458._0x56312d,0x1848)]['replaceMain'](_0x10ab10||_0x2d82ae(_0x3b7458._0x433c1a,_0x3b7458._0x316ecd),_0x42e1e3)+'void\x20main()\x20\x0a'+_0x4a5482(0x616,0xa95)+(_0x4e871f!==_0x2d82ae(0x1180,0x1766)?'\x20\x20\x20\x20'+_0x4f59cc+_0x2d82ae(0xcd5,0x30a):'')+(_0x928c7?'\x20me_isSelected\x20=\x200.0;\x0a\x20#ifdef\x20CZM_SELECTED_FEATURE\x0a\x20\x20\x20me_isSelected=czm_selected()?1.0:0.0;\x0a\x20#endif\x0a':'')+(_0x2d82ae(_0x3b7458._0x4c0e22,_0x3b7458._0x5e0913)+_0x42e1e3+'();\x20\x0a')+'}\x20\x0a',_0x31d812=new Array(_0x1cb7e9+0x1);for(let _0x33beae=0x0;_0x33beae<_0x1cb7e9;++_0x33beae){_0x31d812[_0x33beae]=Cesium__namespace['ShaderSource']['replaceMain'](_0x5bb99f[_0x33beae],_0x4f59cc);}_0x31d812[_0x1cb7e9]=_0x45c785,_0x444b25=new Cesium__namespace['ShaderSource']({'sources':_0x31d812,'defines':_0x444b25[_0x2d82ae(0xcb3,0x251)]});}const _0x49d9f6={};_0x49d9f6[_0x2d82ae(0x1a9e,0x21da)]=_0x444b25,_0x49d9f6['fragmentShaderSource']=_0x3a5c2e,_0x49d9f6['attributeLocations']=_0x4cf007,_0x3b92a4=_0x4367cd[_0x2d82ae(_0x3b7458._0x1d09a1,0xd55)][_0x4a5482(0x79b,_0x3b7458._0x241ac8)](_0x3be26e,_0x1bbfb8,_0x49d9f6);}function _0x4a5482(_0x503b2c,_0x434179){return _0x1319ab(_0x434179,_0x503b2c- -_0x159c2a._0x3a266f);}return _0x3b92a4;}function _0x35a6ca(_0x1ab981,_0x47ebab){const _0x538f19={_0x120d0e:0x400};_0x1ab981[_0xef2528(0x1800,0x1267)]=_0x1ab981['_renderPassCache']||{},_0x1ab981['_renderPassCache'][_0x2be688]=_0x1ab981[_0xef2528(0x1800,_0x895f4c._0xd00248)][_0x2be688]||{};const _0x216c88=_0x1ab981[_0xef2528(0x1800,_0x895f4c._0xb58503)][_0x2be688];function _0x43f928(_0x1b8451,_0x2ad1a6){return _0x30b576(_0x1b8451,_0x2ad1a6- -_0x538f19._0x120d0e);}let _0x361a48=_0x216c88[_0x47ebab['id']];if(!Cesium__namespace['defined'](_0x361a48)){const _0x210a9f=Cesium__namespace['RenderState']['getState'](_0x47ebab);typeof _0x3f2cb6===_0xef2528(_0x895f4c._0x4cc319,_0x895f4c._0x1c3314)&&_0x3f2cb6[_0x43f928(_0x895f4c._0xa2b3d8,_0x895f4c._0x4af322)](_0x5b005b,_0x210a9f),_0x361a48=Cesium__namespace['RenderState']['fromCache'](_0x210a9f),_0x216c88[_0x47ebab['id']]=_0x361a48;}function _0xef2528(_0x143930,_0x3e76c2){return _0x1319ab(_0x3e76c2,_0x143930-0x265);}return _0x361a48;}function _0x4727d9(_0x7762f1,_0x42dcf5,_0x2578f9){const _0x368b83={_0x5739ca:0x196},_0xd0ad84=_0x7762f1,_0x18aa96=_0x42dcf5[_0x58761c(_0x1080c1._0x1c8e90,_0x1080c1._0x17e293)];let _0x263cdf=_0x7762f1[_0x58761c(_0x1080c1._0x108521,_0x1080c1._0x4e5836)];if(!Cesium__namespace['defined'](_0x263cdf))return;_0x18aa96['useLogDepth']&&Cesium__namespace['defined'](_0x263cdf['logDepth'])&&(_0x7762f1=_0x263cdf['logDepth'][_0x58761c(0xa5e,0x6d2)]);_0x263cdf=_0x7762f1['derivedCommands'];let _0x40dfe6=_0x263cdf['renderPass'];!Cesium__namespace[_0x4d1af4(_0x1080c1._0x39aa96,0x1668)](_0x263cdf['renderPass'])&&(_0x40dfe6=_0x263cdf['renderPass']={});let _0x464570,_0xb96111;function _0x4d1af4(_0x52e298,_0x20a127){return _0x1319ab(_0x52e298,_0x20a127-_0x368b83._0x5739ca);}Cesium__namespace['defined'](_0x40dfe6[_0x1bb373])&&(_0x464570=_0x40dfe6[_0x1bb373]['shaderProgram'],_0xb96111=_0x40dfe6[_0x1bb373]['renderState']);_0x40dfe6[_0x1bb373]=Cesium__namespace['DrawCommand']['shallowClone'](_0x7762f1,_0x40dfe6[_0x1bb373]);if(!Cesium__namespace['defined'](_0x464570)||_0x40dfe6[_0x58761c(0xff6,_0x1080c1._0x330505)]!==_0x7762f1['shaderProgram']['id']){const _0x18906=_0x7762f1[_0x4d1af4(0x15a1,0x1827)],_0x24e8ee=_0xd0ad84['_pickIdQualifier']=new RegExp(_0x58761c(0x1d7d,0x1406)+_0x7762f1['pickId'],'g')[_0x4d1af4(0x1149,_0x1080c1._0x587b6b)](_0x18906['_fragmentShaderText'])?'uniform':_0x58761c(0xfdc,0x16ed);_0x40dfe6[_0x1bb373]['shaderProgram']=_0x53be57(_0x2578f9,_0x18906,_0x7762f1[_0x58761c(_0x1080c1._0x57dc19,_0x1080c1._0x2299a6)],_0x24e8ee),_0x40dfe6[_0x1bb373][_0x58761c(0x7da,0x34d)]=_0x35a6ca(_0x42dcf5,_0x7762f1['renderState']),_0x40dfe6['shaderProgramId']=_0x7762f1[_0x58761c(_0x1080c1._0x875544,0x17c7)]['id'];}else _0x40dfe6[_0x1bb373]['shaderProgram']=_0x464570,_0x40dfe6[_0x1bb373][_0x58761c(0x7da,_0x1080c1._0x5980f8)]=_0xb96111;function _0x58761c(_0x59d79e,_0x5f282e){return _0x1319ab(_0x59d79e,_0x5f282e-0x136);}const _0x4222cb=_0x40dfe6[_0x1bb373][_0x58761c(0xa91,_0x1080c1._0x5cc89d)];_0x1307ac(_0x4222cb);}function _0x38a4be(_0x2a54c8){return function(){const _0xb00228=_0x2a6512[_0x2a54c8];if(typeof _0xb00228==='function')return _0xb00228();return _0xb00228;};}function _0x3d690a(_0x2b7274,_0x34146e){const _0x427e39={_0x4d86bc:0x4};return function(){const _0x2b46b8=_0x2b7274[_0x34146e]();function _0x336aeb(_0x2612ec,_0x2c6c35){return _0x5bbe(_0x2c6c35- -_0x427e39._0x4d86bc,_0x2612ec);}function _0x8b72f7(_0x31134b,_0x18e464){return _0x5bbe(_0x18e464-0x119,_0x31134b);}if(Cesium__namespace[_0x336aeb(_0x6f2e05._0x1a97c6,0x153b)](_0x2b46b8))return _0x2b46b8[_0x336aeb(_0x6f2e05._0x2162f2,0x47f)];return undefined;};}function _0x1307ac(_0x301bc4){const _0x238d80={_0x192058:0xfb8};function _0x3d5e1d(_0x13060f,_0x5b65e6){return _0x30b576(_0x13060f,_0x5b65e6-0x2d1);}if(_0x301bc4[_0x226b75(_0xd8c761._0x45e048,_0xd8c761._0x4f087f)])return;_0x301bc4[_0x226b75(0xe20,_0xd8c761._0x37a8e0)]=function(){function _0x3d9ef6(_0x3d67de,_0x407675){return _0x3d5e1d(_0x3d67de,_0x407675- -0x63b);}return _0x5ed45b[_0x3d9ef6(_0x238d80._0x192058,0x106c)];};function _0x226b75(_0xd6c76c,_0x3b5b4a){return _0x1319ab(_0x3b5b4a,_0xd6c76c-0x1b);}_0x301bc4['czm_selectedIdTextureWidth']=function(){var _0xd339f;return((_0xd339f=_0x5ed45b['_selectedIdTexture'])===null||_0xd339f===void 0x0?void 0x0:_0xd339f['width'])??0x0;},_0x301bc4['czm_selectedIdTextureStep']=function(){var _0x46964f;function _0x1473b9(_0x1a803b,_0x57b6b5){return _0x226b75(_0x57b6b5-0x41f,_0x1a803b);}function _0x3d922c(_0x29e990,_0xcd5ae2){return _0x226b75(_0xcd5ae2-0x2f2,_0x29e990);}return(_0x46964f=_0x5ed45b[_0x3d922c(0xb5e,_0x3c12f0._0x4e7828)])!==null&&_0x46964f!==void 0x0&&_0x46964f['width']?0x1/_0x5ed45b[_0x3d922c(0x12d4,0x15b9)]['width']:-0x1;};if(!_0x2a6512)return;_0x301bc4[_0x226b75(0x1424,_0xd8c761._0x3b0061)]=!![];for(const _0x1f4a37 in _0x2a6512){if(_0x2a6512['hasOwnProperty'](_0x1f4a37)){typeof _0x2a6512[_0x1f4a37]!=='function'?_0x301bc4[_0x1f4a37]=_0x38a4be(_0x1f4a37):_0x301bc4[_0x1f4a37]=_0x2a6512[_0x1f4a37];const _0x211b8e=_0x301bc4[_0x1f4a37]();(typeof _0x211b8e==='string'||_0x211b8e instanceof Cesium__namespace['Texture']||_0x211b8e instanceof HTMLImageElement||_0x211b8e instanceof HTMLCanvasElement||_0x211b8e instanceof HTMLVideoElement)&&(_0x301bc4[_0x1f4a37+_0x226b75(0x934,_0xd8c761._0x299a78)]=_0x3d690a(_0x301bc4,_0x1f4a37));}}}function _0x1df182(_0x16836b){const _0x29dd4e={_0x30e444:0x28b},_0x42c57f=_0x16836b['_view'],_0x1c02d7=_0x42c57f['frustumCommandsList'];function _0x17c318(_0x46ad71,_0x48d571){return _0x1319ab(_0x46ad71,_0x48d571-_0x29dd4e._0x30e444);}function _0x3c6a6e(_0x5cda27,_0x5e6232){return _0x1319ab(_0x5e6232,_0x5cda27-0x10d);}const _0x55b393=_0x1c02d7[_0x17c318(_0x27a951._0x1374a4,_0x27a951._0x3e5ac4)];let _0x5eab05,_0xca92eb,_0x384202;for(let _0x2522d2=0x0;_0x2522d2<_0x55b393;++_0x2522d2){const _0x37d7af=_0x55b393-_0x2522d2-0x1,_0x47a9a4=_0x1c02d7[_0x37d7af];for(_0xca92eb=0x0;_0xca92eb<_0x47a9a4['commands']['length'];_0xca92eb++){const _0x2f27e4=_0x47a9a4[_0x3c6a6e(_0x27a951._0x1e80dc,_0x27a951._0x4e01fe)][_0xca92eb];_0x384202=_0x47a9a4[_0x17c318(0xee4,0x773)][_0xca92eb];if(_0x5ed45b&&_0xca92eb===Cesium__namespace[_0x17c318(0x89b,0x133f)][_0x3c6a6e(_0x27a951._0x2e47d0,0xdec)])continue;for(_0x5eab05=0x0;_0x5eab05<_0x384202;++_0x5eab05){const _0x46a443=_0x2f27e4[_0x5eab05];_0x4727d9(_0x46a443,_0x16836b,_0x16836b[_0x17c318(_0x27a951._0x5d1cc7,_0x27a951._0x53b9c3)]);}}}}function _0x86a622(){function _0x361f35(_0x20af9f,_0xa4a739){return _0x30b576(_0x20af9f,_0xa4a739- -0x21e);}_0x12fe65&&(_0x12fe65['destroy'](),_0x27f7c7[_0x361f35(0x11e2,0xbbb)](),_0x27f7c7=undefined,_0x12fe65=undefined),_0xe2a488&&(_0xe2a488['destroy'](),_0xe2a488=undefined);}function _0x11a71f(_0x262660,_0x710706,_0x2a064d,_0x4588dd){const _0x2d241b=_0x710706[_0xb541ed(0x47,0x9e6)],_0x43436f=_0x710706['height'];if(_0x12fe65&&_0x12fe65['width']===_0x2d241b&&_0x12fe65['height']===_0x43436f&&_0x2a064d===_0x56dc6d)return;_0x56dc6d=_0x2a064d,_0x86a622();function _0x18e674(_0x10b594,_0x2947d7){return _0x1319ab(_0x2947d7,_0x10b594- -_0x1941d6._0x39fcf2);}_0x12fe65=new Cesium__namespace['Texture']({'context':_0x262660,'width':_0x2d241b,'height':_0x43436f,'pixelFormat':_0x100f65??Cesium__namespace[_0xb541ed(_0x268651._0xc600ce,0xf02)][_0xb541ed(0xe2f,0xf35)],'pixelDatatype':_0x49d6f4??Cesium__namespace[_0xb541ed(-_0x268651._0x1c3066,_0x268651._0x137e61)]['FLOAT'],'sampler':_0x429796??Cesium__namespace['Sampler'][_0xb541ed(_0x268651._0x356b59,_0x268651._0xbca3c2)]}),_0xe2a488=new Cesium__namespace[(_0x18e674(_0x268651._0xa4aaf8,_0x268651._0x11efa5))]({'context':_0x262660,'width':_0x2d241b,'height':_0x43436f,'pixelFormat':Cesium__namespace['PixelFormat'][_0xb541ed(_0x268651._0x3350ca,_0x268651._0xd05a97)],'pixelDatatype':Cesium__namespace['PixelDatatype']['UNSIGNED_SHORT'],'sampler':Cesium__namespace[_0xb541ed(_0x268651._0x54f386,_0x268651._0x43b956)]['NEAREST']});const _0x3756d9={};_0x3756d9['colorTextures']=[_0x12fe65],_0x3756d9['context']=_0x262660,_0x3756d9['destroyAttachments']=![];function _0xb541ed(_0x3d0dcf,_0x8f9c7f){return _0x30b576(_0x3d0dcf,_0x8f9c7f- -0x4f);}_0x3756d9[_0x18e674(0xa93,_0x268651._0x3b0b9d)]=_0xe2a488,_0x27f7c7=new Cesium__namespace[(_0xb541ed(-0x3d8,_0x268651._0x53042f))](_0x3756d9);}function _0x4c7547(_0x110680){_0x40190d=Cesium__namespace['BoundingRectangle'][_0x4e0c11(0x60c,0x5f2)](_0x110680['viewport'],_0x40190d);const _0x361b36=Object['assign']({},_0x110680['passState']);function _0x4e0c11(_0x5ab47e,_0x5315c5){return _0x1319ab(_0x5ab47e,_0x5315c5- -0x36);}return _0x361b36['viewport']=_0x40190d,_0x361b36;}function _0x1319ab(_0xdc3fbf,_0x928bad){return _0x306755(_0xdc3fbf,_0x928bad- -0x2e0);}function _0x27387e(_0x3e802f,_0x5dfc02){const _0x3447c1={_0x22ebe7:0x2b6};function _0x147d3a(_0x2034e7,_0x3c67cd){return _0x1319ab(_0x2034e7,_0x3c67cd-0x231);}const _0x27aa19=_0x3e802f['_us']['_frameState'],_0x57b5f5=_0x27aa19['camera'],_0x3cc40d=_0x57b5f5[_0xb8dbbd(0x1763,0x184f)],_0x2093f2=_0x3cc40d['_view'];function _0xb8dbbd(_0x5c366a,_0xab1d36){return _0x1319ab(_0xab1d36,_0x5c366a-_0x3447c1._0x22ebe7);}try{if(!_0x10ab10&&!_0x187e36){const _0x3dc00f=_0x4c7547(_0x2093f2);typeof _0x1d62a6===_0x147d3a(0x959,_0x4052e4._0xac9932)&&_0x1d62a6['call'](_0x5b005b,_0x3cc40d,_0x5dfc02),_0x11a71f(_0x3e802f,_0x40190d,_0x3cc40d[_0xb8dbbd(0x1956,_0x4052e4._0x290516)],_0x2093f2[_0xb8dbbd(0xf20,0x14bd)]),executeDerivedCommandList(_0x3e802f,_0x27f7c7,_0x3dc00f);}else{const _0x41085=_0x4c7547(_0x2093f2);typeof _0x1d62a6==='function'&&_0x1d62a6['call'](_0x5b005b,_0x3cc40d,_0x5dfc02),_0x11a71f(_0x3e802f,_0x40190d,_0x3cc40d['hdr'],_0x2093f2['sceneFramebuffer']),_0x1df182(_0x3cc40d),executeDerivedCommandList(_0x3e802f,_0x27f7c7,_0x41085,_0xb8dbbd(0x1368,0xc3d),_0x1bb373,_0x3e0020==='all'||!_0x5ed45b||!_0x5ed45b['_selectedIdTexture']?null:_0x4d95b0);}}catch(_0x4f4dbd){}}function _0x580a2f(){function _0x3087fa(_0x322355,_0x143706){return _0x1319ab(_0x322355,_0x143706- -0x1d0);}if(!_0x5ed45b)return;const _0x1d79ad=_0x5ed45b[_0x3087fa(0x528,0x1bc)]||_0x5ed45b['parentSelected'];if(_0x1d79ad['length'])return _0x1d79ad;}function _0x4d95b0(_0xd2c9b7,_0x44de66){function _0x213885(_0x25288b,_0x5750af){return _0x1319ab(_0x5750af,_0x25288b- -_0x9ab461._0x43413d);}const _0x508ae3=_0x5ed45b&&(_0x5ed45b[_0x393f34(0x5f9,_0x3fc0be._0x339389)]||_0x5ed45b[_0x213885(0xb76,0x440)]);if(!_0x5ed45b||!_0x508ae3||!_0x508ae3['length'])return![];if(!_0xd2c9b7[_0x393f34(0x18ce,0xfb6)]||_0xd2c9b7[_0x213885(0x711,-0x14f)]!=='uniform')return!![];let _0x59c407=!![];const _0x303d27=_0xd2c9b7['owner'];function _0x393f34(_0x5b5b3f,_0x4b6ab0){return _0x1319ab(_0x4b6ab0,_0x5b5b3f-_0x2de764._0x2dd94f);}const _0x51092e=_0x3e0020==='selected';if(_0x303d27&&_0x303d27['isObject3D']){for(let _0x4a14d5=0x0;_0x4a14d5<_0x508ae3['length'];_0x4a14d5++){const _0x397209=_0x508ae3[_0x4a14d5];if(_0x397209===_0x303d27)return _0x51092e;}return!_0x51092e;}const _0x347aab=_0xd2c9b7['uniformMap'];if(_0x347aab[_0xd2c9b7['pickId']]){const _0x170c2=_0x347aab[_0xd2c9b7[_0x213885(0x155e,0xcfb)]]();_0x59c407=!_0x51092e;for(let _0xea47b9=0x0;_0xea47b9<_0x508ae3['length'];_0xea47b9++){const _0x2e23be=_0x508ae3[_0xea47b9],_0x4881f9=_0x2e23be['pickId']?[_0x2e23be['pickId']]:_0x2e23be[_0x213885(0x756,_0x3fc0be._0x576260)]||_0x2e23be['_pickIds'];for(let _0x300171=0x0;_0x300171<_0x4881f9[_0x393f34(0x1588,0x18df)];_0x300171++){const _0x53eaea=_0x4881f9[_0x300171];if(_0x53eaea['color']===_0x170c2||Cesium__namespace['Color']['equals'](_0x53eaea[_0x213885(0xacc,0xe8d)],_0x170c2))return _0x51092e;}}}return _0x59c407;}function _0x400f52(_0x4e93d5){const _0xdf03a2={_0x2a77e1:0x349};function _0x26dcd9(_0x2b8690,_0x24ae31){return _0x1319ab(_0x2b8690,_0x24ae31- -_0x152d41._0x4f157f);}function _0x1ab4d3(_0x4b6b43,_0x451302){return _0x1319ab(_0x4b6b43,_0x451302- -_0xdf03a2._0x2a77e1);}if(_0x27f7c7){const _0x3b058f=_0x4e93d5[_0x1ab4d3(_0x27a239._0x1af1c5,0x251)]['_frameState'][_0x1ab4d3(0xc8e,0xa1f)]['_scene'][_0x26dcd9(0x9f6,0x525)];_0x197ba6['framebuffer']=_0x27f7c7,_0x197ba6['execute'](_0x4e93d5,_0x3b058f[_0x1ab4d3(0x979,_0x27a239._0x51f8c0)]),_0x197ba6['framebuffer']=undefined;}}function _0x3eb3a9(_0x41830f){const _0x3fef84={_0x18433d:0x691},_0x50dad0={_0x42fd02:0x2cd};_0x5ed45b&&_0x5b005b['prevStageUpdate']&&(_0x5ed45b['update']=_0x5b005b['prevStageUpdate'],_0x5b005b[_0x59e39d(_0x384751._0x6249c2,0x118d)]=null,_0x5b005b[_0x59e39d(0xa30,_0x384751._0x309df4)]=null);_0x5ed45b=_0x41830f;function _0x324b38(_0x66645e,_0x542300){return _0x30b576(_0x542300,_0x66645e-0x32a);}if(!_0x5ed45b)return;function _0x59e39d(_0x3d1436,_0x114276){return _0x1319ab(_0x114276,_0x3d1436- -_0x50dad0._0x42fd02);}const _0x35dc95=_0x5ed45b[_0x324b38(0xb73,_0x384751._0x49f43d)];_0x5b005b['prevStageUpdate']=_0x35dc95,_0x5ed45b['update']=function(_0x24fbe3,_0x5cc51e){function _0x5c380b(_0x89c74d,_0x562162){return _0x59e39d(_0x89c74d-_0x3fef84._0x18433d,_0x562162);}_0x400f52(_0x24fbe3),_0x35dc95['call'](_0x5ed45b,_0x24fbe3,_0x5cc51e);if(!_0x5ed45b[_0x5c380b(0x13b4,0x16e0)])return;if(!_0x10ab10&&!_0x187e36)_0x27387e(_0x24fbe3,_0x5cc51e);else{const _0x5dd2bc=_0x5ed45b['selected']||_0x5ed45b['parentSelected'];_0x5dd2bc&&_0x5dd2bc['length']&&_0x27387e(_0x24fbe3,_0x5cc51e);}};}this[_0x30b576(_0x42dfe7._0x414eaa,0x849)]=_0x27387e,this[_0x1319ab(0x849,0x55c)]=_0x400f52;const _0x4f1b05={};_0x4f1b05[_0x1319ab(0xdbd,0x9ad)]=function(){return _0x12fe65;};const _0x40ac47={};_0x40ac47['get']=function(){return _0xe2a488;},Object[_0x30b576(0x1105,_0x42dfe7._0x1473c5)](this,{'texture':_0x4f1b05,'depthTexture':_0x40ac47,'stage':{'get'(){return _0x5ed45b;},'set'(_0x26175c){_0x5ed45b!==_0x26175c&&_0x3eb3a9(_0x26175c);}}});}let scratchPerspectiveFrustum,scratchPerspectiveOffCenterFrustum,scratchOrthographicFrustum,scratchOrthographicOffCenterFrustum;function executeDerivedCommand(_0x3c98ac,_0x51a23e,_0x585891,_0x4f5fba,_0x457d37,_0x4f4b86){const _0x551927={_0xecd19f:0x6cf,_0x1c663d:0x5e5,_0x985fdd:0x13af,_0x31148f:0x932,_0x29fc58:0x1398,_0x5c9f5b:0xbd7},_0x68860b=Cesium__namespace['defined'],_0x4c11aa=_0x4f5fba[_0x3f3a64(_0x551927._0xecd19f,_0x551927._0x1c663d)];function _0x3f3a64(_0x4d53bc,_0x36b69a){return _0x2b6441(_0x36b69a,_0x4d53bc-0x657);}let _0x181d71=_0x3c98ac[_0x5f8586(_0x551927._0x985fdd,0x1907)];if(!_0x68860b(_0x181d71))return;function _0x5f8586(_0x491943,_0x46b1a5){return _0x2b6441(_0x46b1a5,_0x491943-0x53d);}_0x4c11aa['useLogDepth']&&_0x68860b(_0x181d71['logDepth'])&&(_0x3c98ac=_0x181d71['logDepth'][_0x3f3a64(_0x551927._0x31148f,-0xb6)]),_0x181d71=_0x3c98ac[_0x3f3a64(0x14c9,_0x551927._0x29fc58)],_0x68860b(_0x181d71[_0x51a23e])&&(_0x3c98ac=_0x181d71[_0x51a23e][_0x585891],_0x3c98ac[_0x5f8586(_0x551927._0x5c9f5b,0xdbf)](_0x457d37,_0x4f4b86));}function executeDerivedCommandList(_0x5b6ef1,_0x3f9d01,_0x18d757,_0x5a2910,_0x333ab2,_0x52e949){const _0x2751d7={_0x167bf9:0x12c3,_0x1bf5ed:0x118,_0x48fca9:0x10b3,_0x5c3d44:0x99f,_0x16edcb:0x943,_0x4b2c6f:0x231,_0x1e2cd9:0x174,_0x204f81:0xbf1,_0x2acc77:0x47a,_0x12a337:0x6e1,_0x2513cb:0x16de,_0x382d4f:0x1050,_0x32ffe2:0x170b,_0x4d4ba9:0xede,_0x390dc2:0xdc6,_0x5a0759:0x11fd,_0x50cd24:0xffe,_0x33fcc6:0x19e7,_0x25c1be:0xd3d,_0x338403:0x803,_0x255eaf:0x1cd,_0x56b519:0x1027},{Pass:_0x8b5c25,defined:_0x29aab6,PerspectiveFrustum:_0x50318d,PerspectiveOffCenterFrustum:_0x1dd448,OrthographicFrustum:_0xcabe08,OrthographicOffCenterFrustum:_0x3c48eb}=Cesium__namespace;scratchPerspectiveFrustum=scratchPerspectiveFrustum||new _0x50318d();function _0x902783(_0x179e4c,_0x21e301){return _0x2b6441(_0x179e4c,_0x21e301-0x1c9);}function _0x1cc090(_0x483477,_0x5d5218){return _0x306755(_0x5d5218,_0x483477-0x3b);}scratchPerspectiveOffCenterFrustum=scratchPerspectiveOffCenterFrustum||new _0x1dd448(),scratchOrthographicFrustum=scratchOrthographicFrustum||new _0xcabe08(),scratchOrthographicOffCenterFrustum=scratchOrthographicOffCenterFrustum||new _0x3c48eb();const _0x17acd1=_0x5b6ef1[_0x1cc090(0x8b5,_0x2751d7._0x167bf9)],_0x492611=_0x17acd1['_frameState'],_0x2da8ec=_0x492611['camera'],_0x3f41f0=_0x2da8ec['_scene'],_0x18e4a3=_0x3f41f0[_0x1cc090(0x844,_0x2751d7._0x1bf5ed)],_0xa77780=_0x18e4a3['frustumCommandsList'],_0x5a4d99=_0xa77780['length'],_0x4ffbd3=_0x3f41f0[_0x902783(0x6ec,_0x2751d7._0x48fca9)],_0x3929e5=_0x4ffbd3[_0x902783(0x1b93,0x1506)],_0x9c5f94=_0x3f41f0['_view'][_0x902783(0x11fb,0xa3f)];let _0x198438;if(_0x29aab6(_0x2da8ec['frustum']['fov']))_0x198438=_0x2da8ec[_0x902783(0xcf4,_0x2751d7._0x5c3d44)][_0x1cc090(_0x2751d7._0x16edcb,-0x6f)](scratchPerspectiveFrustum);else{if(_0x29aab6(_0x2da8ec['frustum'][_0x902783(-_0x2751d7._0x4b2c6f,_0x2751d7._0x1e2cd9)]))_0x198438=_0x2da8ec['frustum']['clone'](scratchPerspectiveOffCenterFrustum);else _0x29aab6(_0x2da8ec['frustum'][_0x1cc090(0xc26,_0x2751d7._0x204f81)])?_0x198438=_0x2da8ec[_0x902783(0x430,0x99f)]['clone'](scratchOrthographicFrustum):_0x198438=_0x2da8ec['frustum'][_0x902783(-_0x2751d7._0x2acc77,0x530)](scratchOrthographicOffCenterFrustum);}function _0x204ca8(_0x483f64,_0x129dec,_0x79638e,_0x1cd7f8){const _0x3efe0a=_0x52e949?_0x52e949(_0x483f64,_0x129dec):!![];if(_0x3efe0a)try{_0x5a2910&&_0x333ab2?executeDerivedCommand(_0x483f64,_0x5a2910,_0x333ab2,_0x129dec,_0x79638e,_0x1cd7f8):_0x483f64['execute'](_0x79638e,_0x1cd7f8);}catch(_0xd3258b){}}let _0x33df37,_0x2bca9b,_0x7b4aaa;for(let _0x5363a0=0x0;_0x5363a0<_0x5a4d99;++_0x5363a0){const _0x4fae5d=_0x5a4d99-_0x5363a0-0x1,_0xd5c578=_0xa77780[_0x4fae5d],_0x43201e=_0x18d757['framebuffer'];_0x18d757['framebuffer']=_0x3f9d01,_0x198438['near']=_0x4fae5d!==0x0?_0xd5c578['near']*_0x3f41f0['opaqueFrustumNearOffset']:_0xd5c578[_0x902783(_0x2751d7._0x12a337,0xf1d)],_0x198438['far']=_0xd5c578[_0x1cc090(0x1024,0x9dd)],_0x17acd1['updateFrustum'](_0x198438),_0x17acd1['updatePass'](_0x8b5c25['GLOBE']),_0x7b4aaa=_0xd5c578[_0x1cc090(_0x2751d7._0x2513cb,0x2103)][_0x8b5c25['GLOBE']],_0x2bca9b=_0xd5c578['indices'][_0x8b5c25[_0x1cc090(0x16a5,_0x2751d7._0x382d4f)]];if(_0x3929e5)_0x4ffbd3['executeGlobeCommands'](_0xd5c578,_0x204ca8,_0x9c5f94,_0x3f41f0,_0x18d757);else for(_0x33df37=0x0;_0x33df37<_0x2bca9b;++_0x33df37){_0x204ca8(_0x7b4aaa[_0x33df37],_0x3f41f0,_0x5b6ef1,_0x18d757);}_0x17acd1[_0x902783(0x1294,0xbeb)](_0x8b5c25['CESIUM_3D_TILE']),_0x7b4aaa=_0xd5c578['commands'][_0x8b5c25[_0x902783(_0x2751d7._0x32ffe2,_0x2751d7._0x4d4ba9)]],_0x2bca9b=_0xd5c578['indices'][_0x8b5c25['CESIUM_3D_TILE']];for(_0x33df37=0x0;_0x33df37<_0x2bca9b;++_0x33df37){_0x204ca8(_0x7b4aaa[_0x33df37],_0x3f41f0,_0x5b6ef1,_0x18d757);}_0x17acd1[_0x1cc090(0xffe,_0x2751d7._0x390dc2)](_0x8b5c25[_0x902783(0x77c,0x11fd)]),_0x7b4aaa=_0xd5c578['commands'][_0x8b5c25[_0x902783(0xe4c,_0x2751d7._0x5a0759)]],_0x2bca9b=_0xd5c578['indices'][_0x8b5c25['OPAQUE']];for(_0x33df37=0x0;_0x33df37<_0x2bca9b;++_0x33df37){_0x204ca8(_0x7b4aaa[_0x33df37],_0x3f41f0,_0x5b6ef1,_0x18d757);}_0x17acd1[_0x1cc090(_0x2751d7._0x50cd24,_0x2751d7._0x33fcc6)](_0x8b5c25[_0x902783(_0x2751d7._0x25c1be,0x14bb)]),_0x7b4aaa=_0xd5c578['commands'][_0x8b5c25['TRANSLUCENT']],_0x2bca9b=_0xd5c578[_0x1cc090(_0x2751d7._0x338403,_0x2751d7._0x255eaf)][_0x8b5c25[_0x902783(_0x2751d7._0x56b519,0x14bb)]];for(_0x33df37=0x0;_0x33df37<_0x2bca9b;++_0x33df37){_0x204ca8(_0x7b4aaa[_0x33df37],_0x3f41f0,_0x5b6ef1,_0x18d757);}_0x18d757['framebuffer']=_0x43201e;}}class OutlineEffect extends BaseEffect{constructor(_0x1679c2={}){const _0x1a44b1={_0x1e6d38:0x1a26};function _0x32b886(_0x348ec4,_0x1b6f25){return _0x306755(_0x348ec4,_0x1b6f25-0x155);}super(_0x1679c2),this[_0x32b886(0x1e30,_0x1a44b1._0x1e6d38)](_0x1679c2);}get['selected'](){const _0x21d91d={_0x2ac723:0xbe8,_0x59ee4f:0x4ef},_0xfe5711={_0x50c43b:0x650};function _0x23a84a(_0x5dff7c,_0x39c53b){return _0x2b6441(_0x5dff7c,_0x39c53b-_0xfe5711._0x50c43b);}function _0x2120ec(_0x3d51f3,_0x48fff3){return _0x306755(_0x48fff3,_0x3d51f3- -0x3d1);}var _0x4943f3;return(_0x4943f3=this[_0x2120ec(0xecc,_0x21d91d._0x2ac723)])===null||_0x4943f3===void 0x0?void 0x0:_0x4943f3[_0x23a84a(_0x21d91d._0x59ee4f,0x71b)];}set['selected'](_0x1018f2){const _0x3c5979={_0x4114c9:0x269,_0x313eea:0x1211,_0x4b665c:0x1394},_0x4505a3={_0x13c736:0x8c};function _0x495b67(_0x1d19f0,_0x783f07){return _0x2b6441(_0x1d19f0,_0x783f07- -0x2a);}let _0x18bc86=[];_0x1018f2&&(!Array[_0x495b67(0x8de,_0x3c5979._0x4114c9)](_0x1018f2)?_0x18bc86=this['_getPickIds']([_0x1018f2]):_0x18bc86=this['_getPickIds'](_0x1018f2));function _0x254bee(_0x39ae56,_0x29bb67){return _0x306755(_0x29bb67,_0x39ae56- -_0x4505a3._0x13c736);}this[_0x254bee(_0x3c5979._0x313eea,0xd9a)]&&(this['_postProcessStage']['selected']=_0x18bc86,this['_postProcessStage']['enabled']=this[_0x254bee(0x1244,_0x3c5979._0x4b665c)]&&this['selected'][_0x495b67(0x16ac,0x1030)]>0x0);}get[_0x2b6441(-0x1a0,0x64a)](){const _0x2a0d65={_0x37fcf8:0x924},_0x5f10e7={_0x887d4:0x2c7};function _0xfcc4b7(_0x55dd44,_0x26162c){return _0x306755(_0x26162c,_0x55dd44- -_0x5f10e7._0x887d4);}return this['options'][_0xfcc4b7(_0x2a0d65._0x37fcf8,0x69c)];}set[_0x306755(0x134c,0xbeb)](_0x1844f1){const _0x51e2e5={_0x18a259:0xa4b};function _0x1fb64f(_0x2e3241,_0x2ae07){return _0x306755(_0x2ae07,_0x2e3241- -0x212);}this[_0x1fb64f(_0x51e2e5._0x18a259,0x11b5)]['width']=_0x1844f1;}get['color'](){function _0x35f9a9(_0x164bbe,_0x4625ff){return _0x306755(_0x4625ff,_0x164bbe-0x106);}return this[_0x35f9a9(0x147a,0x1f39)];}set['color'](_0x20cd21){const _0x25392b={_0x13e0a7:0xbf4};function _0xc00093(_0x316d16,_0x224da4){return _0x306755(_0x316d16,_0x224da4-0x105);}this['_color']=getCesiumColor(_0x20cd21),this['_useSingleColor']=!this['_colorHidden']||this['_color']['equals'](this[_0xc00093(0x1339,_0x25392b._0x13e0a7)]);}get['colorHidden'](){const _0x4a86fb={_0x108776:0xb76},_0x19ea00={_0x47a9c1:0x30c};function _0x31be0a(_0x52d9c8,_0x5e4d28){return _0x306755(_0x5e4d28,_0x52d9c8- -_0x19ea00._0x47a9c1);}return Cesium__namespace['defined'](this['_colorHidden'])?this['_colorHidden']:this[_0x31be0a(0x1068,_0x4a86fb._0x108776)];}set['colorHidden'](_0x3c60da){const _0x39d2a3={_0x38b0ae:0xc37,_0x453e7b:0x1d15,_0x2f96a8:0x14cf},_0x2b68e0={_0x4f4bdb:0x8a},_0x388a83={_0x942e8c:0x15b};this[_0x118321(0x5d8,_0x39d2a3._0x38b0ae)]=getCesiumColor(_0x3c60da);function _0x58e204(_0x24e76b,_0x381093){return _0x306755(_0x24e76b,_0x381093-_0x388a83._0x942e8c);}function _0x118321(_0x20678f,_0x4ce3db){return _0x2b6441(_0x4ce3db,_0x20678f-_0x2b68e0._0x4f4bdb);}this['_useSingleColor']=!this[_0x118321(0x5d8,0xdad)]||this[_0x58e204(_0x39d2a3._0x453e7b,_0x39d2a3._0x2f96a8)]['equals'](this['_colorHidden']);}get['showPlane'](){const _0x42289c={_0x2fd1f1:0xf71},_0x14c6eb={_0x59c976:0x72};function _0xa7124e(_0x4296e6,_0x59adf6){return _0x306755(_0x59adf6,_0x4296e6- -_0x14c6eb._0x59c976);}return this[_0xa7124e(0xbeb,_0x42289c._0x2fd1f1)]['showPlane'];}set[_0x306755(0x3e8,0x962)](_0x1e6ecc){this['options']['showPlane']=_0x1e6ecc;}get['planeAngle'](){const _0x2e12b7={_0x247dc8:0xc89,_0x21001e:0xbbb},_0x5acc0b={_0x509918:0x3e2};function _0x3a993f(_0x186d21,_0x153f16){return _0x306755(_0x186d21,_0x153f16- -_0x5acc0b._0x509918);}return this[_0x3a993f(_0x2e12b7._0x247dc8,_0x2e12b7._0x21001e)];}set[_0x306755(0x151c,0x174b)](_0x19ef71){const _0x4f799b={_0xc31091:0xedd};function _0x5a475e(_0x456a06,_0x44975a){return _0x2b6441(_0x456a06,_0x44975a-0x4e1);}function _0x1776df(_0x2f14de,_0x4eff6d){return _0x306755(_0x4eff6d,_0x2f14de- -0x3e8);}this[_0x5a475e(0x7fb,_0x4f799b._0xc31091)]=_0x19ef71,this[_0x5a475e(0x117b,0x11d0)]=Cesium__namespace['Math']['toRadians'](_0x19ef71);}get[_0x306755(0x1677,0x1638)](){const _0x478026={_0x282319:0x1812};function _0x541ee6(_0x4fcd5b,_0x516a58){return _0x2b6441(_0x516a58,_0x4fcd5b-0x594);}return this['options'][_0x541ee6(0x162b,_0x478026._0x282319)];}set['glow'](_0x2f8388){this['options']['glow']=_0x2f8388;}get['glowPower'](){function _0x2c4caf(_0xe43e52,_0x5b6965){return _0x306755(_0xe43e52,_0x5b6965-0x58);}return this['options'][_0x2c4caf(0xccd,0xa02)];}set['glowPower'](_0x4ed79c){const _0x9fde76={_0x125191:0x7ba,_0x54a6ea:0xc9f},_0x172979={_0x37966f:0x1f0};function _0x52145a(_0x299800,_0x155094){return _0x306755(_0x155094,_0x299800- -_0x172979._0x37966f);}this['options'][_0x52145a(_0x9fde76._0x125191,_0x9fde76._0x54a6ea)]=_0x4ed79c;}get['glowStrength'](){const _0x5c31a8={_0x535d79:0x991,_0x2b5065:0x162a};function _0x9f3327(_0x2f6cf1,_0x58963e){return _0x306755(_0x2f6cf1,_0x58963e- -0x2cc);}function _0xb75ed7(_0x2d513a,_0x3bf1dc){return _0x306755(_0x3bf1dc,_0x2d513a- -0x222);}return this[_0x9f3327(-0x54,_0x5c31a8._0x535d79)][_0xb75ed7(_0x5c31a8._0x2b5065,0x1365)];}set['glowStrength'](_0x508f2e){this['options']['glowStrength']=_0x508f2e;}[_0x2b6441(0xe0,-0x6c)](_0x39abcb){const _0x15a71b={_0x1afa64:0x1de2},_0x380d7e={_0x427274:0x1bc},_0x25c2db={_0x347e29:0x1};function _0x53e002(_0x2870ae,_0x457d49){return _0x306755(_0x2870ae,_0x457d49- -_0x25c2db._0x347e29);}function _0xdec2f7(_0x2d7523,_0x5dfcb4){return _0x2b6441(_0x2d7523,_0x5dfcb4-_0x380d7e._0x427274);}this[_0x53e002(0x1ac2,0x129c)]&&(this['_postProcessStage']['enabled']=_0x39abcb&&this['selected'][_0x53e002(_0x15a71b._0x1afa64,0x15fa)]>0x0);}[_0x2b6441(0xc2c,0x1330)](_0x159425,_0x19d784){const _0x341002={_0x2a56bc:0x175};function _0x2be6cb(_0x21acff,_0x11e08f){return _0x306755(_0x11e08f,_0x21acff- -0x516);}function _0x7e404e(_0x5c0bef,_0x570546){return _0x306755(_0x570546,_0x5c0bef-_0x341002._0x2a56bc);}this['eventType']=_0x159425['eventType']??EventType['click'],this['width']=_0x159425[_0x2be6cb(0x6d5,0x11f)]??0x6,this['color']=getCesiumColor(_0x159425['color'],Cesium__namespace['Color']['WHITE']),this['colorHidden']=_0x159425['colorHidden'],this['showPlane']=_0x159425['showPlane']??![],this['planeAngle']=_0x159425['planeAngle']??0xa,this['glow']=_0x159425['glow']??![],this['glowPower']=_0x159425[_0x2be6cb(0x494,0xca2)]??0x1,this['glowStrength']=_0x159425['glowStrength']??0x3,this['onlySelected']=_0x159425['onlySelected']??![];}['_mountedHook'](){const _0x227cc6={_0x4a45e6:0x15d6,_0x36afe0:0x7a6,_0x24d95f:0x34a,_0xa8416f:0x6e0,_0x4b1fe9:0xbfe,_0x199db5:0x14b7,_0x16869b:0xe82,_0x39025f:0xf92,_0x207b17:0x666,_0x3220f2:0x923,_0x4b31f7:0x72c,_0x30057f:0x62a,_0x13a8ac:0x359,_0x204b76:0x4fb,_0x3e4d26:0x409,_0x414eb5:0x304,_0x4d21f7:0xb1b,_0x54186d:0x8a0,_0x4ee24e:0x124a},_0xbd748d={_0x54a727:0x293,_0x182be7:0xb1f,_0x135db9:0x6ee,_0x487284:0x11e,_0x1b78ca:0x25,_0x1c70fa:0x848,_0x11e3c0:0x293,_0xd5a760:0x3fd,_0x4a7a48:0x1fb8,_0x313379:0x182a,_0x4e2e4f:0x1127,_0x38c651:0xe46,_0x1d07bf:0x617,_0x6e4c5:0x3ac,_0x352c84:0x48f,_0x56a5b4:0x34a,_0x2722f0:0xaa6,_0x37e327:0xb28},_0x18eb8c={_0x3b839a:0x10f4},_0x532006={_0x524759:0xdf9,_0x9cf77b:0x81a},_0xe7ec01={_0x4a935c:0x1594},_0x586a61={_0x1c2d05:0x1bd2},_0xcdf484={_0x42c478:0x18b1},_0x50740c={_0x1d41de:0x70c},_0x2208a6=this['name']||this[_0x1e272e(_0x227cc6._0x4a45e6,0x11d9)]||'',_0x2a6ac7=new CesiumRenderPass({'name':_0x2208a6+'Pass','vertexShader':_0x1e272e(_0x227cc6._0x36afe0,0x333),'fragmentShader':'\x0a\x20\x20\x20\x20\x20\x20\x20\x20in\x20vec3\x20vOutlineNormal_mars3d;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#ifdef\x20CZM_SELECTED_FEATURE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(!czm_selected())discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20#endif\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(length(vOutlineNormal_mars3d)>0.0)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor=vec4(\x20vOutlineNormal_mars3d\x20,out_FragColor.a);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}','sampler':new Cesium__namespace['Sampler']({'minificationFilter':Cesium__namespace[_0x203a4c(0xad7,0x7d7)]['LINEAR'],'magnificationFilter':Cesium__namespace['TextureMagnificationFilter']['LINEAR']})}),_0x10f6b0={};_0x10f6b0[_0x203a4c(0x873,0xe63)]=()=>{function _0x39eefa(_0xe128a6,_0x1d4318){return _0x1e272e(_0x1d4318,_0xe128a6- -0x55);}return this[_0x39eefa(_0x50740c._0x1d41de,-0x13)];},_0x10f6b0['devicePixelRatio']=devicePixelRatio,_0x10f6b0[_0x1e272e(0x1383,0x123c)]=()=>{return this['_planeAngleRadians'];};function _0x203a4c(_0x20717e,_0xff10df){return _0x306755(_0xff10df,_0x20717e- -0x398);}_0x10f6b0['useSingleColor']=()=>{return this['_useSingleColor'];},_0x10f6b0['showOutlineOnly']=()=>{return!this['showPlane'];},_0x10f6b0[_0x203a4c(_0x227cc6._0x24d95f,_0x227cc6._0xa8416f)]=()=>{return this['color'];},_0x10f6b0['hiddenEdgeColor']=()=>{return this['colorHidden'];};function _0x1e272e(_0x5c9d7d,_0x367f6f){return _0x306755(_0x5c9d7d,_0x367f6f- -0x48a);}_0x10f6b0[_0x1e272e(0x95b,_0x227cc6._0x4b1fe9)]=()=>{return _0x2a6ac7['texture'];},_0x10f6b0[_0x1e272e(_0x227cc6._0x199db5,0xe21)]=()=>{return _0x2a6ac7['depthTexture'];};const _0x686279={};_0x686279['name']=_0x2208a6+'Mask',_0x686279[_0x203a4c(_0x227cc6._0x16869b,0x1591)]=_0x10f6b0,_0x686279['fragmentShader']='\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20uniform\x20vec2\x20colorTextureDimensions;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20depthTexture;\x0a\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20maskTexture;\x0a\x20\x20\x20\x20uniform\x20sampler2D\x20maskDepthTexture;\x0a\x20\x20\x20\x20uniform\x20float\x20thresholdAngle;\x0a\x20\x20\x20\x20uniform\x20bool\x20showOutlineOnly;\x0a\x0a\x20\x20\x20\x20uniform\x20float\x20outlineWidth;\x0a\x20\x20\x20\x20uniform\x20float\x20devicePixelRatio;\x0a\x20\x20\x20\x20uniform\x20vec3\x20visibleEdgeColor;\x0a\x20\x20\x20\x20uniform\x20vec3\x20hiddenEdgeColor;\x0a\x20\x20\x20\x20uniform\x20bool\x20useSingleColor;\x0a\x0a\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x0a\x20\x20\x20\x20float\x20lengthSq(vec3\x20v){\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20v.x\x20*\x20v.x\x20+\x20v.y\x20*\x20v.y\x20+\x20v.z\x20*\x20v.z;\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20float\x20normal_angleTo(vec3\x20a,vec3\x20b){\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20denominator\x20=\x20\x20sqrt(\x20\x20lengthSq(a)\x20*\x20lengthSq(b)\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20(\x20denominator\x20==\x200.\x20)\x20return\x20czm_pi\x20/\x202.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20theta\x20=\x20dot(a,\x20b\x20)\x20/\x20denominator;\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20clamp,\x20to\x20handle\x20numerical\x20problems\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20\x20acos(\x20\x20clamp(\x20theta,\x20-\x201.,\x201.\x20)\x20);\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20compareNormal(vec4\x20n1,vec4\x20n2){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if(\x20\x20abs\x20(\x20\x20normal_angleTo(\x20n1.xyz\x20,\x20n2.xyz\x20)\x20)\x20<\x20thresholdAngle\x20){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x201.;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20float\x20compareDepth(const\x20in\x20vec2\x20uv){\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20maskDepth\x20=\x20czm_readDepth(\x20maskDepthTexture,\x20uv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20nonDepth\x20=\x20czm_readDepth(\x20depthTexture,\x20uv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20return\x20maskDepth>nonDepth?1.:0.;\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20void\x20main(){\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20vUv=v_textureCoordinates;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20//\x20vec4\x20color\x20=\x20texture(\x20colorTexture,\x20vUv);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20maskColor\x20=\x20texture(\x20maskTexture,\x20vUv);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(\x20maskColor.a\x20<\x200.0001){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20out_FragColor\x20=color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20discard;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec2\x20invSize\x20=\x20outlineWidth\x20/\x20colorTextureDimensions;\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20uvOffset\x20=\x20vec4(1.0,\x200.0,\x200.0,\x201.0)\x20*\x20vec4(invSize,\x20invSize);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c1\x20=\x20texture(\x20maskTexture,\x20vUv\x20+\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c2\x20=\x20texture(\x20maskTexture,\x20vUv\x20-\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c3\x20=\x20texture(\x20maskTexture,\x20vUv\x20+\x20uvOffset.yw);\x0a\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20c4\x20=\x20texture(\x20maskTexture,\x20vUv\x20-\x20uvOffset.yw);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20float\x20d;\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(showOutlineOnly){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff1\x20=\x20(c1.a\x20-\x20c2.a)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff2\x20=\x20(c3.a\x20-\x20c4.a)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d\x20=\x20length(\x20vec2(diff1,\x20diff2)\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff1\x20=\x20compareNormal(c1,c2)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20diff2\x20=\x20compareNormal(c3,c4)*0.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20d\x20=\x20length(\x20vec2(diff1,\x20diff2)\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20if(useSingleColor==false){\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp1\x20=\x20compareDepth(\x20vUv\x20+\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp2\x20=\x20compareDepth(\x20vUv\x20-\x20uvOffset.xy);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp3\x20=\x20compareDepth(\x20vUv\x20+\x20uvOffset.yw);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20dp4\x20=\x20compareDepth(\x20vUv\x20-\x20uvOffset.yw);\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20a1\x20=\x20min(dp1,\x20dp2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20a2\x20=\x20min(dp3,\x20dp4);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20visibilityFactor\x20=\x20min(a1,\x20a2);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20edgeColor\x20=\x201.0\x20-\x20visibilityFactor\x20>\x200.001\x20?\x20visibleEdgeColor\x20:\x20hiddenEdgeColor;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20out_FragColor\x20=color+\x20vec4(\x20edgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(\x20edgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}else{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20out_FragColor\x20=color+\x20vec4(\x20visibleEdgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20\x20vec4(\x20visibleEdgeColor\x20,\x201.\x20)\x20*\x20vec4(d);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x20\x20\x20\x20';const _0xf33e41=new Cesium__namespace['PostProcessStage'](_0x686279);_0x2a6ac7['stage']=_0xf33e41;const _0x13692e=createBlurStage(_0x2208a6+'Blur1',0x4,0x1,0.75),_0xb70818=createBlurStage(_0x2208a6+'Blur2',0x4,0x4,0.5),_0x4474ba={};_0x4474ba['name']=_0x2208a6+'BlurComposite',_0x4474ba['stages']=[_0xf33e41,_0x13692e,_0xb70818],_0x4474ba['inputPreviousStageTexture']=!![];const _0x5a5180=new Cesium__namespace['PostProcessStageComposite'](_0x4474ba),_0x5999af={};_0x5999af['showGlow']=()=>{return this['glow'];},_0x5999af[_0x203a4c(_0x227cc6._0x39025f,_0x227cc6._0x207b17)]=()=>{return this['glowPower'];},_0x5999af[_0x203a4c(0xe5d,_0x227cc6._0x3220f2)]=()=>{function _0x21e234(_0x4735f9,_0x3f3538){return _0x203a4c(_0x3f3538-0x3fd,_0x4735f9);}return this[_0x21e234(0x2189,_0xcdf484._0x42c478)];},_0x5999af[_0x1e272e(0x3e8,_0x227cc6._0x4b31f7)]=()=>{return this['onlySelected'];},_0x5999af['maskTexture']=()=>{function _0x6e0b96(_0x268dfc,_0x552fd8){return _0x1e272e(_0x268dfc,_0x552fd8-0x16c);}return _0x2a6ac7[_0x6e0b96(_0x586a61._0x1c2d05,0x1525)];},_0x5999af[_0x1e272e(0xbbf,_0x227cc6._0x30057f)]=_0xf33e41[_0x1e272e(_0x227cc6._0x13a8ac,0x409)],_0x5999af['edgeTexture1']=_0x13692e[_0x203a4c(_0x227cc6._0x204b76,0x519)],_0x5999af[_0x203a4c(0xf56,0xa81)]=_0x5a5180[_0x1e272e(0x929,_0x227cc6._0x3e4d26)];const _0x134987={};_0x134987['name']=_0x2208a6+_0x203a4c(_0x227cc6._0x414eb5,0x3b9),_0x134987['uniforms']=_0x5999af,_0x134987['fragmentShader']=_0x1e272e(_0x227cc6._0x4d21f7,0x154);const _0x3e73cb=new Cesium__namespace['PostProcessStage'](_0x134987),_0xa959f0={};_0xa959f0['name']=_0x2208a6+_0x1e272e(_0x227cc6._0x54186d,0x11fe),_0xa959f0['stages']=[_0x5a5180,_0x3e73cb],_0xa959f0['inputPreviousStageTexture']=![];const _0x1c43cc=new Cesium__namespace[(_0x1e272e(0x807,0x394))](_0xa959f0),_0x40c013=this;function _0x3675b5(_0x40b56){const _0x40e45f={_0x3542be:0x131},_0x37a620={_0x35b764:0x19a8},_0x20d9b7={_0x2a4633:0xe3},_0x24dca2={};_0x24dca2['get']=function(){function _0xe33db8(_0x4c7ceb,_0x514795){return _0x5bbe(_0x514795- -0x3d4,_0x4c7ceb);}return _0x40c013[_0xe33db8(_0xe7ec01._0x4a935c,0xff1)];},_0x24dca2['set']=function(_0x3c3bc2){_0x40c013['glow']=_0x3c3bc2;};function _0x480f1a(_0x4953b0,_0x5f3ceb){return _0x1e272e(_0x5f3ceb,_0x4953b0- -0x115);}const _0x42895b={};_0x42895b['get']=function(){function _0x56fb82(_0x121e50,_0x1297b1){return _0x5bbe(_0x1297b1-_0x20d9b7._0x2a4633,_0x121e50);}return _0x40c013[_0x56fb82(_0x532006._0x524759,_0x532006._0x9cf77b)];},_0x42895b['set']=function(_0x44d482){_0x40c013['glowPower']=_0x44d482;};const _0x338de0={};_0x338de0['get']=function(){return _0x40c013['glowStrength'];},_0x338de0['set']=function(_0x2cf8de){function _0x53ea1e(_0x4a2896,_0x2a3ca9){return _0x5bbe(_0x2a3ca9-0x3cf,_0x4a2896);}_0x40c013[_0x53ea1e(0x1451,_0x37a620._0x35b764)]=_0x2cf8de;};const _0x5f2f73={};_0x5f2f73['get']=function(){const _0x2aadd8={_0x4400a0:0xd7};function _0x4a136d(_0x25e987,_0x107ce1){return _0x5bbe(_0x107ce1-_0x2aadd8._0x4400a0,_0x25e987);}return _0x40c013[_0x4a136d(0x1137,_0x18eb8c._0x3b839a)];},_0x5f2f73['set']=function(_0x493230){_0x40c013['_planeAngleRadians']=_0x493230;};const _0x51af5b={};_0x51af5b[_0x78b9db(0x116c,0xca3)]=function(){function _0x19e417(_0x340bc2,_0x4912f4){return _0x78b9db(_0x4912f4,_0x340bc2-_0x40e45f._0x3542be);}return!_0x40c013[_0x19e417(0xaa9,0x1ad)];},_0x51af5b[_0x480f1a(_0xbd748d._0x54a727,_0xbd748d._0x182be7)]=function(_0x31d666){function _0x394dc8(_0x7be626,_0x5e679f){return _0x78b9db(_0x5e679f,_0x7be626-0x12d);}_0x40c013[_0x394dc8(0xaa5,0x8ec)]=!_0x31d666;};const _0x516755={};_0x516755['get']=function(){return _0x40c013['onlySelected'];},_0x516755['set']=function(_0x48100f){_0x40c013['onlySelected']=_0x48100f;};const _0x32e984={};_0x32e984[_0x480f1a(_0xbd748d._0x135db9,0x4fb)]=function(){return _0x40c013['_useSingleColor'];};const _0x5083a6={};_0x5083a6[_0x480f1a(0x6ee,-_0xbd748d._0x487284)]=function(){return _0x40c013['width'];},_0x5083a6[_0x78b9db(_0xbd748d._0x1b78ca,_0xbd748d._0x1c70fa)]=function(_0x259972){_0x40c013['width']=_0x259972;};const _0xccd262={};_0xccd262[_0x480f1a(0x6ee,0xa7d)]=function(){return _0x40c013['color'];},_0xccd262['set']=function(_0x3bcd21){_0x40c013['color']=_0x3bcd21;};const _0x5b02f7={};_0x5b02f7[_0x480f1a(_0xbd748d._0x135db9,0x337)]=function(){return _0x40c013['colorHidden'];},_0x5b02f7[_0x480f1a(_0xbd748d._0x11e3c0,-_0xbd748d._0xd5a760)]=function(_0x4cdc87){_0x40c013['colorHidden']=_0x4cdc87;};const _0x4e1637={};function _0x78b9db(_0x3dbd90,_0x3f8d9f){return _0x1e272e(_0x3dbd90,_0x3f8d9f-0x4a0);}_0x4e1637[_0x78b9db(_0xbd748d._0x4a7a48,_0xbd748d._0x313379)]=_0x24dca2,_0x4e1637['edgeGlow']=_0x42895b,_0x4e1637['edgeStrength']=_0x338de0,_0x4e1637[_0x480f1a(_0xbd748d._0x4e2e4f,_0xbd748d._0x38c651)]=_0x5f2f73,_0x4e1637[_0x78b9db(0xb7e,0x14e9)]=_0x51af5b,_0x4e1637[_0x480f1a(_0xbd748d._0x1d07bf,-_0xbd748d._0x6e4c5)]=_0x516755,_0x4e1637['useSingleColor']=_0x32e984,_0x4e1637[_0x78b9db(_0xbd748d._0x352c84,0xc21)]=_0x5083a6,_0x4e1637[_0x480f1a(0x143,-0x560)]=_0xccd262,_0x4e1637[_0x480f1a(_0xbd748d._0x56a5b4,_0xbd748d._0x2722f0)]=_0x5b02f7,Object[_0x480f1a(_0xbd748d._0x37e327,0x127f)](_0x40b56,_0x4e1637);}_0x3675b5(_0x1c43cc),_0x1c43cc['_uniforms']=_0x1c43cc['_uniforms']||{},_0x3675b5(_0x1c43cc[_0x1e272e(0x125e,_0x227cc6._0x4ee24e)]),_0x1c43cc[_0x1e272e(-0x6e,0x1e2)]=[],_0x1c43cc['enabled']=![],this['_postProcessStage']=_0x1c43cc;}[_0x2b6441(0x32e,0x3fd)](){this['eventType']&&this['_map']['on'](this['eventType'],this['_map_clickHandler'],this);}['_removedHook'](){const _0x151c8f={_0x2667e5:0xc6};function _0x23396b(_0x47d623,_0x41e84e){return _0x306755(_0x41e84e,_0x47d623-_0x151c8f._0x2667e5);}this['eventType']&&this['_map']['off'](this['eventType'],this[_0x23396b(0x15b0,0x14cf)],this);}[_0x306755(0x17ec,0x14ea)](_0x5599a9){const _0x3c024c={_0x5026b9:0x17c4,_0x5a68cf:0x121d,_0x3f0743:0xcb2,_0x11efdd:0x17c6,_0x30bffd:0x1cae,_0x160118:0x1091,_0x18af14:0x9e9,_0x476643:0x87f},_0x512d53={_0x3f7d61:0x3de},_0x33df28=this['options'][_0x9088ba(_0x3c024c._0x5026b9,0x20d9)];function _0xd5dbf3(_0x1d8a14,_0x53821e){return _0x306755(_0x53821e,_0x1d8a14- -_0x512d53._0x3f7d61);}if(_0x33df28)for(let _0x2e583b=0x0,_0x4d8b68=_0x33df28[_0xd5dbf3(_0x3c024c._0x5a68cf,_0x3c024c._0x3f0743)];_0x2e583b<_0x4d8b68;_0x2e583b++){const _0x527ab0=_0x33df28[_0x2e583b];if(_0x5599a9[_0x9088ba(_0x3c024c._0x11efdd,_0x3c024c._0x30bffd)]===_0x527ab0||_0x5599a9['layer']===_0x527ab0)return;}function _0x9088ba(_0x484bde,_0x27777a){return _0x306755(_0x27777a,_0x484bde- -0x12d);}const _0x525c6a=this['_map'][_0x9088ba(0xa6c,_0x3c024c._0x160118)][_0xd5dbf3(0x63d,_0x3c024c._0x18af14)](_0x5599a9);if(!_0x525c6a&&this[_0xd5dbf3(_0x3c024c._0x476643,-0x67)]['closeOnClick']===![])return;this['selected']=_0x525c6a;}}register$1('outline',OutlineEffect);function createBlurStage(_0x34a180,_0x4cc497,_0x56e032,_0x53a600){const _0x862f55={_0x56b6c7:0x83e,_0xb42314:0xc6d,_0x24423d:0x637,_0x1e524f:0xf66,_0x48f921:0x94,_0x477526:0x34d},_0x491fc2={_0x4ac46b:0x318},_0x24050e={_0x2bdd11:0x541};function _0x51392a(_0xc52eff,_0x348b0d){return _0x306755(_0xc52eff,_0x348b0d- -_0x24050e._0x2bdd11);}function _0x3c8a0a(_0x25f4b5,_0x35df53){return _0x2b6441(_0x35df53,_0x25f4b5-_0x491fc2._0x4ac46b);}const _0x1e0d6f={};_0x1e0d6f['fragmentShader']=_0x3c8a0a(_0x862f55._0x56b6c7,_0x862f55._0xb42314)+_0x4cc497+_0x51392a(0x11a,0xb56);const _0x20d237=_0x1e0d6f,_0x21151b=new Cesium__namespace[(_0x3c8a0a(_0x862f55._0x24423d,0xbf0))]({'name':_0x34a180+'_x_direction','fragmentShader':_0x20d237['fragmentShader'],'textureScale':_0x53a600,'forcePowerOfTwo':!![],'uniforms':{'kernelRadius':_0x56e032,'direction':new Cesium__namespace['Cartesian2'](0x1,0x0)},'sampleMode':Cesium__namespace[_0x51392a(_0x862f55._0x1e524f,0x746)]['LINEAR']}),_0x3876bf=new Cesium__namespace[(_0x51392a(-0x562,0x37f))]({'name':_0x34a180+'_y_direction','fragmentShader':_0x20d237['fragmentShader'],'textureScale':_0x53a600,'forcePowerOfTwo':!![],'uniforms':{'kernelRadius':_0x56e032,'direction':new Cesium__namespace[(_0x3c8a0a(0x263,_0x862f55._0x48f921))](0x0,0x1)},'sampleMode':Cesium__namespace['PostProcessStageSampleMode'][_0x51392a(0x5f5,0x4f7)]}),_0x568f03={};_0x568f03[_0x51392a(-_0x862f55._0x477526,0x352)]=_0x34a180,_0x568f03['stages']=[_0x21151b,_0x3876bf],_0x568f03['inputPreviousStageTexture']=!![];const _0x520898=new Cesium__namespace['PostProcessStageComposite'](_0x568f03);return _0x520898;}class BloomTargetEffect extends BaseEffect{constructor(_0x522b55={}){const _0x530d6f={_0x2f1629:0x642},_0x585cd7={_0x5c739e:0x570};_0x522b55={'contrast':0x80,'brightness':-0.3,'blurSamples':0x20,'delta':0x1,'sigma':3.78,'stepSize':0x5,'ratio':0x2,'threshold':0x0,'smoothWidth':0.01,..._0x522b55};function _0x28b353(_0x27fc43,_0x3034af){return _0x306755(_0x27fc43,_0x3034af- -_0x585cd7._0x5c739e);}super(_0x522b55);function _0x5a1b98(_0x4f937d,_0x16555a){return _0x2b6441(_0x4f937d,_0x16555a-0x1c);}this['color']=_0x522b55['color'],this[_0x5a1b98(0x30a,_0x530d6f._0x2f1629)]=_0x522b55[_0x28b353(-0x25e,0x657)]??EventType[_0x5a1b98(0xedb,0xae3)];}get['color'](){return this['_color'];}set['color'](_0x223116){const _0x2597f6={_0x3ee442:0x644},_0x52960f={_0x69bad1:0x59e};function _0x4e2347(_0x16f51b,_0x446690){return _0x2b6441(_0x446690,_0x16f51b-_0x52960f._0x69bad1);}this['_color']=getCesiumColor(_0x223116,Cesium__namespace['Color'][_0x4e2347(0xa5a,_0x2597f6._0x3ee442)]);}get[_0x2b6441(0x42f,0x9b3)](){return this['options']['contrast'];}set[_0x2b6441(-0x60,0x9b3)](_0x1fd1e0){const _0x49b3d8={_0x17db27:0x6c5};function _0x42af41(_0x246025,_0x422932){return _0x306755(_0x246025,_0x422932- -0x133);}this[_0x42af41(_0x49b3d8._0x17db27,0xb2a)]['contrast']=_0x1fd1e0;}get[_0x2b6441(0x55e,0x15d)](){return this['options']['brightness'];}set['brightness'](_0x6f8831){const _0xb316d3={_0x5d0d00:0xab3};function _0x266c4b(_0x4b8a19,_0xad2df2){return _0x306755(_0xad2df2,_0x4b8a19- -0x1aa);}this[_0x266c4b(_0xb316d3._0x5d0d00,0xac5)]['brightness']=_0x6f8831;}get['blurSamples'](){return this['options']['blurSamples'];}set['blurSamples'](_0x536f66){function _0x32c937(_0x5cf2dc,_0x11b02f){return _0x2b6441(_0x5cf2dc,_0x11b02f- -0x70);}this[_0x32c937(-0x37,0x64c)]['blurSamples']=_0x536f66;}get[_0x306755(0xeb1,0x1263)](){const _0x2b1d8b={_0x3ad511:0x1ac};function _0x387056(_0x4139e9,_0x4da235){return _0x2b6441(_0x4da235,_0x4139e9-_0x2b1d8b._0x3ad511);}return this['options'][_0x387056(0xe6e,0x444)];}set['delta'](_0x192365){this['options']['delta']=_0x192365;}get[_0x306755(0xe6b,0x60a)](){function _0xb88c28(_0x14ee8b,_0x9a4bff){return _0x2b6441(_0x14ee8b,_0x9a4bff-0x5d6);}return this['options'][_0xb88c28(0x8c6,0x63f)];}set['sigma'](_0x41f531){const _0x189bdd={_0xb36471:0x4a7};function _0x573d09(_0x45a2bc,_0x2aa86b){return _0x2b6441(_0x2aa86b,_0x45a2bc-0x4c6);}function _0x20cf19(_0x3e6128,_0x11d5df){return _0x306755(_0x3e6128,_0x11d5df- -_0x189bdd._0xb36471);}this[_0x573d09(0xb82,0xb34)][_0x573d09(0x52f,0xdb7)]=_0x41f531;}get[_0x306755(0x1245,0x166f)](){const _0x309ffe={_0x39e964:0x931},_0x30bea8={_0x39fad9:0x32c};function _0x51c32b(_0x5179d4,_0x4ac315){return _0x306755(_0x5179d4,_0x4ac315- -_0x30bea8._0x39fad9);}return this[_0x51c32b(0x1383,_0x309ffe._0x39e964)]['stepSize'];}set['stepSize'](_0x5a1c82){this['options']['stepSize']=_0x5a1c82;}get['ratio'](){return this['options']['ratio'];}set['ratio'](_0x56ccf3){this['options']['ratio']=_0x56ccf3;}get[_0x306755(0x19eb,0x17b9)](){const _0x359cf2={_0x56299d:0x1467};function _0x44c88a(_0x18c8f9,_0x445dd5){return _0x306755(_0x18c8f9,_0x445dd5- -0x352);}return this['options'][_0x44c88a(0xda6,_0x359cf2._0x56299d)];}set['threshold'](_0x44a1a7){this['options']['threshold']=_0x44a1a7;}get[_0x306755(0xc17,0x13ab)](){return this['options']['smoothWidth'];}set[_0x306755(0xc9a,0x13ab)](_0x406aa3){const _0x42552d={_0x533104:0xe0d},_0x1b1b81={_0x4bd01b:0x605};function _0x372ee2(_0x442bd2,_0x4d6a00){return _0x2b6441(_0x4d6a00,_0x442bd2-_0x1b1b81._0x4bd01b);}this['options'][_0x372ee2(0x140f,_0x42552d._0x533104)]=_0x406aa3;}get[_0x2b6441(-0x44f,0xcb)](){const _0xdc1e56={_0x406085:0xea5},_0x33c3c8={_0x4402e8:0x1a9};function _0x37c332(_0xbdf0f8,_0x4d6879){return _0x2b6441(_0xbdf0f8,_0x4d6879-_0x33c3c8._0x4402e8);}var _0x3bce7a;return(_0x3bce7a=this[_0x37c332(0x818,_0xdc1e56._0x406085)])===null||_0x3bce7a===void 0x0?void 0x0:_0x3bce7a['selected'];}set[_0x2b6441(0xa89,0xcb)](_0x42709a){const _0x2e7fd5={_0x208477:0x1052,_0x2ebfa4:0x1052,_0x41a24f:0x1565,_0x4c65c3:0xe12},_0x1fc8bd={_0x49d02b:0x3},_0x40386a={_0x2596c7:0x288};let _0x59c18f=[];_0x42709a&&(!Array['isArray'](_0x42709a)?_0x59c18f=this[_0x3763b3(0xa18,_0x2e7fd5._0x208477)]([_0x42709a]):_0x59c18f=this[_0x3763b3(0x9ff,_0x2e7fd5._0x2ebfa4)](_0x42709a));function _0x510e8e(_0x5b064b,_0x448627){return _0x2b6441(_0x448627,_0x5b064b-_0x40386a._0x2596c7);}function _0x3763b3(_0x10931c,_0x6dd94f){return _0x2b6441(_0x10931c,_0x6dd94f-_0x1fc8bd._0x49d02b);}this['_postProcessStage']&&(this['_postProcessStage']['selected']=_0x59c18f,this[_0x510e8e(0xf84,_0x2e7fd5._0x41a24f)]['enabled']=this[_0x3763b3(_0x2e7fd5._0x4c65c3,0xd32)]&&this['selected']['length']>0x0);}['_enabledHook'](_0x42eacb){const _0x4dd1f2={_0x20c40f:0x17d8};function _0x19709b(_0x96c784,_0x5cfa97){return _0x306755(_0x5cfa97,_0x96c784- -0x398);}this['_postProcessStage']&&(this['_postProcessStage']['enabled']=_0x42eacb&&this['selected'][_0x19709b(0x1263,_0x4dd1f2._0x20c40f)]>0x0);}[_0x306755(0xd18,0x130c)](){const _0x31b41d={_0xbeba0:0x1b4b,_0xea58bd:0x806,_0x4ca875:0xeb7,_0x51a2e9:0x14b6,_0x20ddbb:0xaf5,_0x381ca2:0x7d9,_0x1d0a89:0x1660,_0x3cbe25:0x65d,_0x5765f2:0xc41,_0x4f5181:0xe19,_0x21b4a9:0xbd3,_0xc5a0f2:0x6a2,_0xa84947:0x7d9,_0x56ce49:0x1662,_0x4bc04c:0x66d,_0x84207e:0x1d23,_0x23b65b:0x1059,_0x5db75c:0x3f7},_0x4634d2={_0xfc74a:0x606},_0x577c2c={_0x2761c1:0xba},_0x4b2c97={_0x3690c4:0x3e0},_0x5a37a5={_0x35520e:0x1483},_0x2d9a2b={_0x2fca0e:0x23b,_0x21b085:0x14b},_0x6d8a3d={_0x4d11e3:0x1452},_0x4072f4={_0x32dee2:0x65},_0x104a5f={_0x33b048:0x3e4},_0x5cb3b4={};_0x5cb3b4['name']=this['name']+'high',_0x5cb3b4['fragmentShader']=_0x58493c(0x902,0x8f2),_0x5cb3b4['uniforms']={},_0x5cb3b4['uniforms']['smoothWidth']=()=>{return this['smoothWidth'];},_0x5cb3b4['uniforms'][_0x5d8e7f(0x16ff,_0x31b41d._0xbeba0)]=()=>{return this['threshold'];};const _0x2047c6=new Cesium__namespace[(_0x5d8e7f(_0x31b41d._0xea58bd,0xb74))](_0x5cb3b4),_0x49c1aa=_0x58493c(_0x31b41d._0x4ca875,_0x31b41d._0x51a2e9)+this['options']['blurSamples']+_0x58493c(0x10d5,_0x31b41d._0x20ddbb),_0x28361c=new Cesium__namespace['PostProcessStage']({'name':this[_0x58493c(0x190,0x6d2)]+'blur_x','fragmentShader':_0x49c1aa,'uniforms':{'delta':()=>{return this['delta'];},'sigma':()=>{function _0x39d8ac(_0x559565,_0x59a0db){return _0x58493c(_0x559565,_0x59a0db- -_0x104a5f._0x33b048);}return this[_0x39d8ac(-0x915,_0x4072f4._0x32dee2)];},'stepSize':()=>{const _0x582aeb={_0x2fe50c:0x163};function _0x5d582e(_0x18ca35,_0x5b5051){return _0x5d8e7f(_0x18ca35- -_0x582aeb._0x2fe50c,_0x5b5051);}return this[_0x5d582e(_0x6d8a3d._0x4d11e3,0x19ef)];},'direction':0x0},'sampleMode':Cesium__namespace['PostProcessStageSampleMode']['LINEAR']}),_0x561fd2=new Cesium__namespace['PostProcessStage']({'name':this[_0x5d8e7f(_0x31b41d._0x381ca2,0x7f8)]+_0x5d8e7f(_0x31b41d._0x1d0a89,0x19b9),'fragmentShader':_0x49c1aa,'uniforms':{'delta':()=>{return this['delta'];},'sigma':()=>{const _0x3c7e6c={_0x687386:0x405};function _0x2851dc(_0x30d7e1,_0x1b1b42){return _0x5d8e7f(_0x1b1b42- -_0x3c7e6c._0x687386,_0x30d7e1);}return this[_0x2851dc(-_0x2d9a2b._0x2fca0e,_0x2d9a2b._0x21b085)];},'stepSize':()=>{function _0x288d77(_0x15ae0e,_0x556ab2){return _0x58493c(_0x556ab2,_0x15ae0e-0x2fb);}return this[_0x288d77(0x17a9,_0x5a37a5._0x35520e)];},'direction':0x1},'sampleMode':Cesium__namespace['PostProcessStageSampleMode']['LINEAR']}),_0xb0506c={};_0xb0506c['name']=this['name']+'blur',_0xb0506c['stages']=[_0x28361c,_0x561fd2];const _0x1ba4dd=new Cesium__namespace[(_0x58493c(-0x326,_0x31b41d._0x3cbe25))](_0xb0506c),_0x10452a={};_0x10452a['name']=this['name']+'_blur_comp',_0x10452a[_0x5d8e7f(_0x31b41d._0x5765f2,0xee2)]=[_0x2047c6,_0x1ba4dd],_0x10452a['inputPreviousStageTexture']=!![];const _0x474bd3=new Cesium__namespace['PostProcessStageComposite'](_0x10452a),_0x4ea336={};function _0x58493c(_0x697657,_0x4c477b){return _0x2b6441(_0x697657,_0x4c477b-_0x4b2c97._0x3690c4);}_0x4ea336[_0x5d8e7f(0x7d9,0x8c6)]=this['name']+'contrast_bias',_0x4ea336['fragmentShader']='\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20sampler2D\x20colorTexture;\x0a\x20\x20\x20\x20\x20\x20\x20\x20in\x20vec2\x20v_textureCoordinates;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20contrast;\x0a\x20\x20\x20\x20\x20\x20\x20\x20uniform\x20float\x20brightness;\x0a\x20\x20\x20\x20\x20\x20\x20\x20void\x20main(void)\x0a\x20\x20\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec4\x20texture1\x20=\x20texture(colorTexture,\x20v_textureCoordinates);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20vec3\x20sceneColor\x20=\x20texture1.rgb;\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor\x20=\x20czm_RGBToHSB(sceneColor);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor.z\x20+=\x20brightness;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor\x20=\x20czm_HSBToRGB(sceneColor);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20float\x20factor\x20=\x20(259.0\x20*\x20(contrast\x20+\x20255.0))\x20/\x20(255.0\x20*\x20(259.0\x20-\x20contrast));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20sceneColor\x20=\x20factor\x20*\x20(sceneColor\x20-\x20vec3(0.5))\x20+\x20vec3(0.5);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20vec4(sceneColor,\x20texture1.a);\x0a\x20\x20\x20\x20\x20\x20\x20\x20}',_0x4ea336[_0x58493c(_0x31b41d._0x4f5181,0x1059)]={},_0x4ea336[_0x58493c(_0x31b41d._0x4f5181,0x1059)]['contrast']=()=>{return this['contrast'];},_0x4ea336[_0x58493c(_0x31b41d._0x4f5181,0x1059)][_0x5d8e7f(0x644,_0x31b41d._0x21b4a9)]=()=>{return this['brightness'];};const _0x1abb0b=new Cesium__namespace[(_0x58493c(_0x31b41d._0xc5a0f2,0x6ff))](_0x4ea336),_0x122ca5={};_0x122ca5['name']=this[_0x5d8e7f(_0x31b41d._0xa84947,0xd08)]+'contrast_bias_blur',_0x122ca5[_0x5d8e7f(_0x31b41d._0x5765f2,_0x31b41d._0x56ce49)]=[_0x1abb0b,_0x474bd3];const _0x3e4e3e=new Cesium__namespace['PostProcessStageComposite'](_0x122ca5),_0x263c23={};_0x263c23[_0x5d8e7f(0x7d9,0xede)]=this[_0x58493c(0xad2,0x6d2)]+'generate_composite';function _0x5d8e7f(_0x52b007,_0x223fb3){return _0x306755(_0x223fb3,_0x52b007- -_0x577c2c._0x2761c1);}_0x263c23[_0x5d8e7f(_0x31b41d._0x4bc04c,0x34d)]=_0x5d8e7f(0x1390,_0x31b41d._0x84207e),_0x263c23[_0x58493c(0x14e8,_0x31b41d._0x23b65b)]={},_0x263c23[_0x58493c(0x14e8,_0x31b41d._0x23b65b)][_0x58493c(_0x31b41d._0x5db75c,0x55c)]=_0x3e4e3e['name'],_0x263c23[_0x58493c(0x14e8,_0x31b41d._0x23b65b)]['ratio']=()=>{function _0x5069ab(_0x1e305d,_0xbbf3fa){return _0x5d8e7f(_0xbbf3fa- -0xad,_0x1e305d);}return this[_0x5069ab(0x1906,0xf8b)];},_0x263c23[_0x58493c(0x14e8,_0x31b41d._0x23b65b)]['color']=()=>{const _0x34cb45={_0xb4fa86:0x36e};function _0x34c91c(_0x9ff778,_0xa9a0e7){return _0x58493c(_0x9ff778,_0xa9a0e7- -_0x34cb45._0xb4fa86);}return this[_0x34c91c(_0x4634d2._0xfc74a,0x980)];};const _0x26fae0=new Cesium__namespace['PostProcessStage'](_0x263c23);this['_postProcessStage']=new Cesium__namespace[(_0x5d8e7f(0x764,-0x157))]({'name':this['name'],'stages':[_0x3e4e3e,_0x26fae0],'inputPreviousStageTexture':![]}),this['_postProcessStage'][_0x58493c(0x9b1,0x4ab)]=[];}['_addedHook'](){this['eventType']&&this['_map']['on'](this['eventType'],this['_map_clickHandler'],this);}[_0x306755(0x1098,0xe2b)](){const _0x564d29={_0x56d65d:0x6cb,_0x2cf509:0x12a2,_0x542edc:0x1249},_0x335659={_0x344e4b:0x300};function _0x4a7691(_0x2a047e,_0x388de9){return _0x2b6441(_0x2a047e,_0x388de9-0x22f);}function _0x208410(_0x3f8d32,_0x50bc58){return _0x2b6441(_0x50bc58,_0x3f8d32-_0x335659._0x344e4b);}this['eventType']&&this['_map'][_0x208410(_0x564d29._0x56d65d,0xb8e)](this[_0x208410(0x926,_0x564d29._0x2cf509)],this[_0x208410(_0x564d29._0x542edc,0x7de)],this);}[_0x306755(0x1f5f,0x14ea)](_0x370083){const _0x27ad10={_0x3df951:0x1da2,_0x3cb13b:0x5d1,_0x16a07f:0xc08,_0x4ef483:0x20dc},_0x4781f4={_0xd296c3:0x1a8},_0x394f5a={_0x17bbcb:0x126},_0x3c85ca=this['options']['objectsToExclude'];if(_0x3c85ca)for(let _0x7fae66=0x0,_0x1f3966=_0x3c85ca['length'];_0x7fae66<_0x1f3966;_0x7fae66++){const _0x5298b5=_0x3c85ca[_0x7fae66];if(_0x370083[_0x438956(_0x27ad10._0x3df951,0x1a19)]===_0x5298b5||_0x370083[_0x10c042(_0x27ad10._0x3cb13b,_0x27ad10._0x16a07f)]===_0x5298b5)return;}function _0x438956(_0x21cbfc,_0x2e7f01){return _0x306755(_0x21cbfc,_0x2e7f01-_0x394f5a._0x17bbcb);}const _0x3bdd67=this[_0x438956(_0x27ad10._0x4ef483,0x18ef)]['mouseEvent']['getPicked'](_0x370083);function _0x10c042(_0x5f5af1,_0x9b0a59){return _0x2b6441(_0x9b0a59,_0x5f5af1-_0x4781f4._0xd296c3);}this['selected']=_0x3bdd67;}}register$1('bloomTarget',BloomTargetEffect);var ColorCorrectionShader=_0x306755(0x174d,0x13f1);class ColorCorrectionEffect extends BaseEffect{constructor(_0x36a9c8={}){_0x36a9c8={'brightness':0x1,'contrast':0x1,'hue':0x0,'saturation':0x1,..._0x36a9c8},super(_0x36a9c8);}get['brightness'](){const _0x396749={_0x2c9ef0:0x872,_0x47bde0:0x281};function _0x18510a(_0x4693b9,_0x5797a7){return _0x2b6441(_0x4693b9,_0x5797a7-0x1b6);}function _0x45925d(_0x30f75b,_0x5550ae){return _0x2b6441(_0x30f75b,_0x5550ae-0x124);}return this[_0x18510a(0x1111,_0x396749._0x2c9ef0)][_0x45925d(0x399,_0x396749._0x47bde0)];}set['brightness'](_0x4f872a){this['options']['brightness']=_0x4f872a;}get[_0x2b6441(-0xb4,0x9b3)](){return this['options']['contrast'];}set['contrast'](_0x2bcf86){const _0x10b2ae={_0x59c328:0xee6};function _0x11f44e(_0x342998,_0x122d9f){return _0x2b6441(_0x122d9f,_0x342998-0x99);}this['options'][_0x11f44e(0xa4c,_0x10b2ae._0x59c328)]=_0x2bcf86;}get['hue'](){const _0x27f238={_0x27c999:0x16,_0x17f440:0x31c},_0x3cc629={_0x30f300:0x3f0};function _0x4074f4(_0x35c8f2,_0x3a4fa0){return _0x306755(_0x3a4fa0,_0x35c8f2- -0x428);}function _0x4a8623(_0x9c7c2,_0x2dcc66){return _0x2b6441(_0x2dcc66,_0x9c7c2-_0x3cc629._0x30f300);}return this[_0x4074f4(0x835,_0x27f238._0x27c999)][_0x4a8623(_0x27f238._0x17f440,-0x701)];}set[_0x2b6441(-0x2c6,-0xd4)](_0x2a6266){const _0x197eb8={_0x443c59:0x6e8};function _0x575f4e(_0x5817de,_0x24bdb5){return _0x306755(_0x5817de,_0x24bdb5- -0x4d);}function _0x332ca1(_0x22532f,_0x8a7da){return _0x306755(_0x22532f,_0x8a7da- -0x1c7);}this[_0x575f4e(0xb5a,0xc10)][_0x332ca1(_0x197eb8._0x443c59,0x306)]=_0x2a6266;}get['saturation'](){const _0x3cd4f5={_0x4a83ff:0x80};function _0x417ef5(_0x5795e4,_0x437f63){return _0x2b6441(_0x437f63,_0x5795e4-_0x3cd4f5._0x4a83ff);}return this[_0x417ef5(0x73c,0x65e)]['saturation'];}set['saturation'](_0x4cadfb){const _0x24f1f5={_0xe55d28:0xc22,_0x57d8ae:0x51a},_0x40a9cf={_0x1349ab:0x3b};function _0xada796(_0x38278b,_0x3e6b56){return _0x306755(_0x3e6b56,_0x38278b- -_0x40a9cf._0x1349ab);}this[_0xada796(_0x24f1f5._0xe55d28,_0x24f1f5._0x57d8ae)]['saturation']=_0x4cadfb;}[_0x306755(0xef9,0x130c)](){const _0x115304={_0x334aed:0x935};function _0x3e0404(_0x2ff872,_0xd989fd){return _0x306755(_0xd989fd,_0x2ff872- -0x50c);}this['_postProcessStage']=new Cesium__namespace[(_0x3e0404(0x3b4,0x428))]({'fragmentShader':ColorCorrectionShader,'uniforms':{'u_brightness':()=>{const _0x45dcfa={_0x331cf3:0x89};function _0x397d94(_0x2d921d,_0x434d7d){return _0x3e0404(_0x2d921d-_0x45dcfa._0x331cf3,_0x434d7d);}return this[_0x397d94(0x27b,_0x115304._0x334aed)];},'u_contrast':()=>{function _0x4e9c32(_0x319396,_0xde178){return _0x3e0404(_0x319396- -0x13a,_0xde178);}return this[_0x4e9c32(0x90e,0x44)];},'u_hue':()=>{return this['hue'];},'u_saturation':()=>{return this['saturation'];}},'enabled':this['enabled']});}}register$1('colorCorrection',ColorCorrectionEffect);const _0x10ed1c={};_0x10ed1c['__proto__']=null,_0x10ed1c[_0x306755(0x1598,0x1651)]=BaseEffect,_0x10ed1c['FogEffect']=FogEffect,_0x10ed1c['RainEffect']=RainEffect,_0x10ed1c['SnowEffect']=SnowEffect,_0x10ed1c[_0x306755(0x1dc,0x8d2)]=SnowCoverEffect,_0x10ed1c[_0x2b6441(0x10be,0xb6f)]=NightVisionEffect,_0x10ed1c['BloomEffect']=BloomEffect,_0x10ed1c['BrightnessEffect']=BrightnessEffect,_0x10ed1c[_0x306755(0x18bc,0x13f5)]=BlackAndWhiteEffect,_0x10ed1c[_0x2b6441(-0x3bd,-0xa4)]=MosaicEffect,_0x10ed1c['DepthOfFieldEffect']=DepthOfFieldEffect,_0x10ed1c['OutlineEffect']=OutlineEffect,_0x10ed1c['BloomTargetEffect']=BloomTargetEffect,_0x10ed1c['ColorCorrectionEffect']=ColorCorrectionEffect;var index$2=_0x10ed1c;class BaseControl extends BaseThing{constructor(_0x11934c={}){const _0x3f5969={_0x363cc0:0x81e},_0x2b25e9={_0xbb76d2:0x1ad};function _0x7b69fa(_0x308226,_0x27db8a){return _0x2b6441(_0x27db8a,_0x308226-_0x2b25e9._0xbb76d2);}function _0xcaea33(_0x55dc20,_0x45364c){return _0x2b6441(_0x55dc20,_0x45364c- -0x50);}super(_0x11934c),this[_0xcaea33(0x1678,0xe07)]=_0x11934c['show']??!![],this[_0xcaea33(0x170,0x3c6)]=_0x11934c[_0x7b69fa(0x11f5,_0x3f5969._0x363cc0)]??'';}get['show'](){function _0x4d1725(_0x5b9780,_0x2788ea){return _0x2b6441(_0x2788ea,_0x5b9780-0x716);}return this[_0x4d1725(0x156d,0xe66)];}set['show'](_0x5189ee){const _0x568e75={_0x38788b:0x22,_0x3b7d02:0x9ab,_0x2e976d:0x632,_0x26a35a:0xc1a},_0x5807d3={_0x39baac:0x37d};if(this['_show']===_0x5189ee)return;function _0x4ea4d3(_0x6d919a,_0x5e00b4){return _0x306755(_0x5e00b4,_0x6d919a- -0x38);}this['_show']=_0x5189ee;function _0x1efda3(_0x390de2,_0x1c6a5e){return _0x2b6441(_0x390de2,_0x1c6a5e-_0x5807d3._0x39baac);}this[_0x1efda3(_0x568e75._0x38788b,0x51f)]&&(this['_container'][_0x1efda3(_0x568e75._0x3b7d02,_0x568e75._0x2e976d)][_0x1efda3(0x714,0x3cf)]=_0x5189ee?'block':_0x4ea4d3(_0x568e75._0x26a35a,0xfaf)),this['_showHook']&&this['_showHook'](_0x5189ee),this['_map']['fire'](EventType[_0x4ea4d3(0xd98,0x1550)],{'control':this});}get[_0x2b6441(0xf5a,0x10c2)](){const _0x145c32={_0x54301d:0x1049};function _0x309b45(_0x3d2899,_0x32273e){return _0x306755(_0x32273e,_0x3d2899- -0x1a3);}return this[_0x309b45(_0x145c32._0x54301d,0x1134)];}get['container'](){return this['_container'];}get['parentContainer'](){function _0x13a2d2(_0x187adc,_0x3a5442){return _0x306755(_0x3a5442,_0x187adc-0xc9);}var _0x5b6468;if(this['options']['parentContainer'])return this[_0x13a2d2(0xd26,0xdd3)]['parentContainer'];return(_0x5b6468=this['_map'])===null||_0x5b6468===void 0x0?void 0x0:_0x5b6468['container'];}get[_0x306755(0x1670,0xf3b)](){var _0x41a479;return(_0x41a479=this['parentContainer'])===null||_0x41a479===void 0x0?void 0x0:_0x41a479['id'];}['_enabledHook'](_0x266171){const _0x10da35={_0x412483:0x4c3,_0x38c092:0xa9d,_0x14c71b:0x79a},_0x49652d={_0x4032c0:0xbc};this['_container']&&(this[_0xdc53a1(-0xbe,_0x10da35._0x412483)][_0x3ca647(_0x10da35._0x38c092,_0x10da35._0x14c71b)]['display']=_0x266171?'block':'none');function _0xdc53a1(_0x599f60,_0x32ccf3){return _0x2b6441(_0x599f60,_0x32ccf3-0x321);}function _0x3ca647(_0xeefd7c,_0x458173){return _0x306755(_0xeefd7c,_0x458173- -_0x49652d._0x4032c0);}this['isAdded']&&this['_showHook']&&this['_showHook'](_0x266171);}['setOptions'](_0x2290b3){const _0x12aff2={_0x46f292:0x934,_0x4d9642:0x1b31,_0x4c790e:0x23c7},_0x1991ae={_0x41e6ee:0x2fa};if(isBoolean(_0x2290b3))return;function _0xd2501a(_0x5d5e36,_0x30273c){return _0x306755(_0x5d5e36,_0x30273c- -_0x1991ae._0x41e6ee);}this[_0xd2501a(_0x12aff2._0x46f292,0x963)]=merge(this['options'],_0x2290b3),this[_0x16d4a4(_0x12aff2._0x4d9642,_0x12aff2._0x4c790e)]();function _0x16d4a4(_0x155742,_0x215f18){return _0x306755(_0x215f18,_0x155742-0x131);}return this;}[_0x2b6441(0x1027,0x145f)](){const _0x2a3455={_0x456df7:0x17be,_0x1df858:0x52e,_0x4f2335:0xc36};function _0x5c6dcf(_0x4dabf9,_0x539a1){return _0x306755(_0x539a1,_0x4dabf9- -0x4c3);}function _0x281fbc(_0xe30a1c,_0x554dab){return _0x306755(_0x554dab,_0xe30a1c- -0xb);}const _0x3d5ce9=this[_0x281fbc(_0x2a3455._0x456df7,0x1921)];_0x3d5ce9&&(this['_reloadIng']=!![],this[_0x281fbc(0x91d,_0x2a3455._0x1df858)](),delete this['_container'],this['_onAdd'](_0x3d5ce9),delete this[_0x281fbc(0x601,_0x2a3455._0x4f2335)]);}['addTo'](_0x3934a9){const _0x272e70={_0x5582c9:0xfb6,_0x37578c:0x1083};_0x3934a9&&_0x3934a9[_0x43fe75(_0x272e70._0x5582c9,0x13fa)]&&_0x3934a9[_0x147322(0x1b25,_0x272e70._0x37578c)](this);function _0x43fe75(_0x39fbb1,_0x1a38fd){return _0x306755(_0x39fbb1,_0x1a38fd- -0x5ce);}function _0x147322(_0x1c2cde,_0x101196){return _0x2b6441(_0x101196,_0x1c2cde-0x6fe);}return this;}[_0x306755(0x1291,0x9bc)](_0x5c9194){const _0x826b51={_0x44713f:0x117b},_0xf2ede0={_0x129792:0x64e};function _0x408e0e(_0x3af023,_0x3a441d){return _0x306755(_0x3a441d,_0x3af023- -_0xf2ede0._0x129792);}this['_map']&&this[_0x408e0e(_0x826b51._0x44713f,0xcfc)]['removeControl'](this,_0x5c9194);}['_onAdd'](_0x34adb5){const _0x42ef2f={_0x2d1c1b:0x202,_0x2f5147:0x63c,_0x34ce5b:0x11b4,_0x3a322b:0x588,_0x5c58e3:0xf2a,_0x390615:0x751};if(this[_0x3b7736(-_0x42ef2f._0x2d1c1b,_0x42ef2f._0x2f5147)]||this['_state']===State['ADD'])return;function _0x3b7736(_0x93531b,_0x120414){return _0x306755(_0x93531b,_0x120414- -0x525);}this['_state']=State['ADD'],this['_map']=_0x34adb5;this['_container']?!this['_container']['parentNode']&&this['_addChildContainer'](this['_container']):(this['_mountedHook']&&this['_mountedHook'](),this[_0x1afdd7(0x588,0x5bb)]&&this['_addChildContainer'](this['_container']));this[_0x1afdd7(0x7e3,_0x42ef2f._0x34ce5b)]&&this['_addedHook']();this['_container']&&this[_0x1afdd7(_0x42ef2f._0x3a322b,0xc73)]['addEventListener']('click',this['_container_onClickHandler'][_0x3b7736(0x18a3,_0x42ef2f._0x5c58e3)](this));function _0x1afdd7(_0x140fb6,_0x5845d8){return _0x306755(_0x5845d8,_0x140fb6- -0x1bb);}this[_0x1afdd7(0x1206,_0x42ef2f._0x390615)]=State['ADDED'];}['_addChildContainer'](_0x20a32d){const _0x59f0ed={_0x263a1d:0x80f,_0xb1c3e:0xe66,_0xf6b706:0x1864,_0x132b89:0xa6e,_0x4b7556:0xd08,_0x2ae5d6:0x974,_0x18a5f5:0x169c,_0x313660:0x102b,_0x1f4742:0xd75,_0x4c436e:0x1125,_0x1dd760:0xfb0,_0x1d617b:0x2166,_0x4ff6ac:0x12cc,_0x4ad98b:0xd75,_0x4fe0d6:0x13df,_0x1dbcc3:0xa6e,_0x29c958:0x29},_0x148ea3={_0x55abcd:0x118};function _0x24bfa5(_0x1a3f12,_0x3f471e){return _0x306755(_0x1a3f12,_0x3f471e-_0x148ea3._0x55abcd);}if(this[_0x42cc01(0xb47,_0x59f0ed._0x263a1d)][_0x24bfa5(0xe45,_0x59f0ed._0xb1c3e)]){var _0x2ea5b3;let _0x45176c=this['options']['insertBefore'];if(isString(_0x45176c)){const _0x5341f3=this['parentContainer'][_0x42cc01(_0x59f0ed._0xf6b706,0x118a)];for(let _0x21be2a=0x0;_0x21be2a<_0x5341f3[_0x42cc01(0x14e5,0x1790)];_0x21be2a++){const _0x413665=_0x5341f3[_0x21be2a];_0x413665['id']===_0x45176c&&(_0x45176c=_0x413665);}}if((_0x2ea5b3=_0x45176c)!==null&&_0x2ea5b3!==void 0x0&&_0x2ea5b3[_0x42cc01(_0x59f0ed._0x132b89,_0x59f0ed._0x4b7556)]){this[_0x42cc01(_0x59f0ed._0x2ae5d6,0x1101)]['insertBefore'](_0x20a32d,_0x45176c);return;}}if(Cesium__namespace[_0x42cc01(_0x59f0ed._0x18a5f5,_0x59f0ed._0x313660)](this[_0x24bfa5(0x793,_0x59f0ed._0x1f4742)][_0x24bfa5(_0x59f0ed._0x4c436e,_0x59f0ed._0x1dd760)])){const _0x32f87d=this['parentContainer'][_0x24bfa5(_0x59f0ed._0x1d617b,0x1a92)];_0x32f87d['length']<this['options'][_0x42cc01(0xd82,0x17c8)]&&(this[_0x24bfa5(_0x59f0ed._0x4ff6ac,_0x59f0ed._0x4ad98b)]['insertIndex']=0x0);const _0x1c46bc=_0x32f87d[this['options'][_0x24bfa5(_0x59f0ed._0x4fe0d6,_0x59f0ed._0x1dd760)]];if(_0x1c46bc!==null&&_0x1c46bc!==void 0x0&&_0x1c46bc[_0x42cc01(_0x59f0ed._0x1dbcc3,_0x59f0ed._0x29c958)]){this['parentContainer']['insertBefore'](_0x20a32d,_0x1c46bc);return;}}function _0x42cc01(_0x1616be,_0x2c263c){return _0x306755(_0x2c263c,_0x1616be- -0x116);}this['parentContainer']['appendChild'](_0x20a32d);}['_onRemove'](){const _0x3066cf={_0x54737c:0x160f};function _0xeccb84(_0xa79965,_0x51c11a){return _0x306755(_0x51c11a,_0xa79965- -0x4f1);}if(this[_0xeccb84(0xed0,0xc57)]!==State['ADDED'])return;if(!this[_0xeccb84(0x12d8,0xdeb)])return;this['_removedBeforeHook']&&this[_0xeccb84(0xe61,0x14f1)]();this['_container']&&this[_0x219c71(0x4b9,0x470)]['parentNode']&&(this[_0xeccb84(0x252,0xbfa)]['removeEventListener'](_0xeccb84(0xb77,_0x3066cf._0x54737c),this['_container_onClickHandler']),this['_container']['parentNode']['removeChild'](this[_0x219c71(0x4b9,0xc63)]));function _0x219c71(_0x3f53b0,_0x6b626b){return _0x2b6441(_0x6b626b,_0x3f53b0-0x317);}this[_0xeccb84(0x93a,0x82c)]&&this['_removedHook'](),this['_map']=null,this['_state']=State['REMOVED'];}['_mountedHook'](){}['_addedHook'](){}[_0x306755(0x1726,0xe2b)](){}['_container_onClickHandler'](_0x101451){const _0x2a8f79={_0x55aaea:0x1798,_0x284b8c:0xbe5,_0xaf9162:0x811,_0x1d43da:0xbe2,_0x2c28e8:0xc3f},_0xebe1ca={_0x2323fe:0x529};if(!this[_0x1cf9cf(0x1255,_0x2a8f79._0x55aaea)])return;this[_0x40de96(0xe1d,_0x2a8f79._0x284b8c)]['click']&&this['options']['click'](_0x101451,this[_0x40de96(0x50c,0xbe5)]);function _0x40de96(_0x3da472,_0x3e94b1){return _0x2b6441(_0x3da472,_0x3e94b1-_0xebe1ca._0x2323fe);}function _0x1cf9cf(_0x29e7a7,_0x2ed93c){return _0x2b6441(_0x2ed93c,_0x29e7a7-0x526);}this[_0x40de96(0x11e6,_0x2a8f79._0xaf9162)](EventType['click'],{...this[_0x1cf9cf(_0x2a8f79._0x1d43da,_0x2a8f79._0x2c28e8)],'mouseEvent':_0x101451});}['setStyle'](_0x1f8d30){const _0x326209={_0x49be01:0x66e,_0x5c95d3:0x24f};this['_container']&&merge(this[_0x383490(_0x326209._0x49be01,0x829)][_0x1db638(_0x326209._0x5c95d3,0x3f)],_0x1f8d30);function _0x1db638(_0x1c7247,_0x3d4a44){return _0x2b6441(_0x3d4a44,_0x1c7247- -0x66);}function _0x383490(_0x3bc83f,_0x38c73e){return _0x306755(_0x3bc83f,_0x38c73e-0xe6);}return this;}['_getPositionCssText'](_0x1a5b1e){const _0x369216={_0xd98fba:0xce5,_0x3bd2f6:0x174d,_0x3af8e4:0xedd,_0x172121:0x127d,_0x28b84e:0x1712,_0x5942fb:0x513,_0x3d624f:0x1477,_0x3f18e4:0x1170,_0x5dae9d:0xd10,_0x5c8366:0x11e0,_0x586231:0x1b69,_0x4f1f62:0x827,_0x286320:0xaaf,_0x559043:0x815,_0x347fed:0xb5c},_0x131359={_0x456073:0x159},_0x116cb3={};function _0x342ad4(_0x8e210a,_0x380e77){return _0x2b6441(_0x380e77,_0x8e210a-_0x131359._0x456073);}if(Cesium__namespace['defined'](this[_0x17d71e(_0x369216._0xd98fba,0xd4b)]['top'])&&this['options'][_0x17d71e(_0x369216._0x3bd2f6,0x1367)]!=='')_0x116cb3['top']=this[_0x17d71e(0xce5,_0x369216._0x3af8e4)][_0x342ad4(_0x369216._0x172121,_0x369216._0x28b84e)];else{if(Cesium__namespace['defined'](this['options'][_0x342ad4(0xfa7,_0x369216._0x5942fb)])&&this[_0x17d71e(_0x369216._0xd98fba,0xa2b)]['bottom']!==''){_0x116cb3['bottom']=this['options']['bottom'];if(_0x116cb3[_0x17d71e(_0x369216._0x3d624f,_0x369216._0x3f18e4)]===_0x342ad4(_0x369216._0x5dae9d,0x1673)){const _0x15344f=this['_map'][_0x17d71e(_0x369216._0x5c8366,_0x369216._0x586231)];if(_0x15344f){const _0x522cfe=_0x15344f[_0x342ad4(_0x369216._0x4f1f62,0x11f4)]+0x28;_0x116cb3[_0x17d71e(_0x369216._0x3d624f,0x18b9)]=_0x522cfe+'px',this[_0x342ad4(0x1211,0x14c5)]=_0x15344f;}}}}if(Cesium__namespace['defined'](this['options']['left'])&&this[_0x342ad4(0x815,_0x369216._0x286320)]['left']!=='')_0x116cb3['left']=this[_0x342ad4(_0x369216._0x559043,0xd33)][_0x342ad4(_0x369216._0x347fed,0x558)];else Cesium__namespace['defined'](this['options']['right'])&&this['options']['right']!==''&&(_0x116cb3['right']=this[_0x342ad4(0x815,0x786)]['right']);function _0x17d71e(_0x358a22,_0x54f7b4){return _0x306755(_0x54f7b4,_0x358a22-0x88);}let _0x14c9de='';for(const _0x41eb33 in _0x116cb3){_0x14c9de+=_0x41eb33+':\x20'+_0x116cb3[_0x41eb33]+';';}return _0x14c9de||_0x1a5b1e;}[_0x2b6441(0xf7e,0xadc)](_0x5dc00a,_0x438826,_0x331b49='',_0x5f09f0=![]){const _0x155dda={_0x11cde4:0x716,_0xf90f7b:0x179a,_0x162ad7:0x2ea,_0x56e62e:0x25,_0x3ad1b5:0xf3e,_0x49f69c:0xf75,_0x2491d9:0xba,_0x3dec7c:0x609};if(!_0x5dc00a)return'';function _0x1e5f01(_0x3d5910,_0x5e62ae){return _0x2b6441(_0x3d5910,_0x5e62ae-0x6ca);}!_0x438826&&(_0x438826=create$4(_0x54a830(-_0x155dda._0x11cde4,0x35e)));_0x5f09f0&&empty(_0x438826);function _0x54a830(_0x414245,_0xbb82d7){return _0x2b6441(_0x414245,_0xbb82d7-0x7b);}_0x5dc00a=trim(_0x5dc00a);if(_0x5dc00a['startsWith']('<?xml')||_0x5dc00a['startsWith'](_0x1e5f01(_0x155dda._0xf90f7b,0x1225)))_0x438826['appendChild'](parseDom(_0x5dc00a,!![],_0x331b49));else{if(_0x5dc00a[_0x54a830(_0x155dda._0x162ad7,-_0x155dda._0x56e62e)]('data:image')||_0x5dc00a['endsWith'](_0x54a830(_0x155dda._0x3ad1b5,_0x155dda._0x49f69c))||_0x5dc00a['endsWith']('.png')||_0x5dc00a['endsWith']('.jpg')){const _0x3543f5=create$4(_0x1e5f01(_0x155dda._0x2491d9,_0x155dda._0x3dec7c),_0x331b49,_0x438826);_0x3543f5['setAttribute']('src',_0x5dc00a);}else create$4('i',_0x331b49+'\x20'+_0x5dc00a,_0x438826);}return _0x438826['innerHTML'];}['fire'](_0x55a798,_0x3f4356={},_0x1edd9f){const _0x565f1={_0xc9ca8b:0x961,_0x44a5da:0x961},_0x199e2b={_0x30431d:0x275};!_0x3f4356[_0x5d25c2(0x54d,_0x565f1._0xc9ca8b)]&&(_0x3f4356[_0x5d25c2(0x77,_0x565f1._0x44a5da)]=this);function _0x96fb48(_0x403ddc,_0x3324fa){return _0x306755(_0x403ddc,_0x3324fa- -_0x199e2b._0x30431d);}function _0x5d25c2(_0x394d13,_0x3ef0bc){return _0x2b6441(_0x394d13,_0x3ef0bc- -0x6f);}return super['fire'](_0x55a798,_0x3f4356,_0x1edd9f);}['getLangText'](_0x179756){const _0x31f780={_0x5066d4:0x1dfb};function _0x49ef1c(_0x452b51,_0x45d461){return _0x2b6441(_0x452b51,_0x45d461-0x43f);}return this[_0x49ef1c(_0x31f780._0x5066d4,0x1667)]?this['_map']['getLangText'](_0x179756):_0x179756;}['_toJsonEx'](_0x4c7bb9){const _0x306149={_0x3e4311:0x104a};function _0x50f856(_0x567f27,_0x9e19e9){return _0x306755(_0x567f27,_0x9e19e9- -0x286);}this['show']===![]&&(_0x4c7bb9[_0x50f856(0xe82,_0x306149._0x3e4311)]=![]);}['destroy'](_0x31fc07){this['enabled']=![],super['destroy'](_0x31fc07);}}class BaseCzmControl extends BaseControl{get[_0x2b6441(0x60a,0xd6a)](){return this['_map']['viewer'];}['_mountedHook'](){const _0x5040c8={_0xcaf4ed:0x160d,_0x2a907f:0x119a},_0x56c800={_0x2bd878:0x1ea};function _0xc15749(_0x3fe1c4,_0x196963){return _0x2b6441(_0x3fe1c4,_0x196963-0x430);}const _0x3e5d19=this['_map'][_0xc15749(_0x5040c8._0xcaf4ed,_0x5040c8._0x2a907f)][this['_czmControlKey']];function _0x224264(_0x16b5cd,_0x6ff766){return _0x2b6441(_0x6ff766,_0x16b5cd-_0x56c800._0x2bd878);}if(_0x3e5d19){if(this['_rebindCzmContainer'])try{this['_rebindCzmContainer'](_0x3e5d19[this[_0xc15749(0x1014,0xc09)]]),delete this['_rebindCzmContainer'];}catch(_0x528fed){}}else this['_container']=this['_createCzmContainer'](),this['options']['style']&&this[_0x224264(0x432,0x3f)](this['options'][_0x224264(0x49f,0x19)]);}[_0x2b6441(0x36d,0x3fd)](){const _0x3b928b={_0xcb6603:0x840,_0xfe6332:0x6d9,_0x24d921:0xdf2,_0x4d0340:0x20,_0x339bdc:0x8fd,_0x2a63a3:0x12b8,_0x1411da:0x653,_0x594e2d:0x15c3,_0x53b9e6:0x1555,_0x4d5793:0xda6},_0x4529c9={_0x1bf31b:0x4af},_0x155d8c={_0x174b51:0x60};let _0x401979=this[_0x4660d9(0x119b,0x16d7)][_0x4660d9(_0x3b928b._0xcb6603,0x1219)][this[_0x18fcbf(0xe85,_0x3b928b._0xfe6332)]];!_0x401979&&(_0x401979=this[_0x4660d9(_0x3b928b._0x24d921,0x1199)](this['_container']));this['_czmContrl']=_0x401979,this[_0x18fcbf(0x7a3,-_0x3b928b._0x4d0340)]=_0x401979[this['_czmContainerKey']],this[_0x18fcbf(0x7a3,_0x3b928b._0x339bdc)]['id']=this[_0x18fcbf(0x16c3,_0x3b928b._0x2a63a3)],this['_container']['style'][_0x18fcbf(_0x3b928b._0x1411da,-0x321)]=this[_0x4660d9(0x1962,0x14a1)]&&this['enabled']?_0x4660d9(_0x3b928b._0x594e2d,_0x3b928b._0x53b9e6):'none';function _0x18fcbf(_0x5e361d,_0x4a45c3){return _0x306755(_0x4a45c3,_0x5e361d-_0x155d8c._0x174b51);}this['_updateLangText']&&this['_updateLangText']();function _0x4660d9(_0x33d2f5,_0x1d6599){return _0x2b6441(_0x33d2f5,_0x1d6599-_0x4529c9._0x1bf31b);}this['options'][_0x4660d9(0x1765,_0x3b928b._0x4d5793)]&&this[_0x4660d9(0xc8b,0xbf8)](this['options']['insertIndex']);}['_removedBeforeHook'](){const _0xccdfa2={_0x213107:0xc4f,_0x4ffe10:0xae5,_0x4899e0:0x1329};function _0x27198e(_0x421519,_0xf05297){return _0x306755(_0xf05297,_0x421519- -0x340);}function _0x56c285(_0x274acd,_0x28c2e7){return _0x306755(_0x274acd,_0x28c2e7-0x5c);}if(this['options']['destroyCzm']??!![]){try{this['_czmContrl'][_0x27198e(_0xccdfa2._0x213107,0x33a)]();}catch(_0xe5a1c){}delete this['_map']['viewer'][this[_0x27198e(_0xccdfa2._0x4ffe10,0x987)]],delete this['_czmContrl'];}else this['_container'][_0x27198e(0x516,0x6ea)][_0x56c285(0xdcb,0x64f)]=_0x56c285(_0xccdfa2._0x4899e0,0xcae);}['_setInsertIndex'](_0x11899d=0x0){const _0x5c73b5={_0x2c9ca1:0xbf6},_0x419b74={_0x2ecbc2:0x4ee},_0x43c136=this['parentContainer']['childNodes'];_0x43c136[_0x1de6d8(0x1612,0x110d)]<_0x11899d&&(_0x11899d=0x0);function _0x1de6d8(_0x37fd40,_0x4280e7){return _0x306755(_0x37fd40,_0x4280e7- -_0x419b74._0x2ecbc2);}this['parentContainer'][_0x41cd60(0x642,_0x5c73b5._0x2c9ca1)](this[_0x1de6d8(0x43a,0x255)]);function _0x41cd60(_0x363725,_0x369713){return _0x306755(_0x363725,_0x369713- -0x566);}this['parentContainer']['insertBefore'](this['_container'],_0x43c136[_0x11899d]);}['_rebindCzmContainer'](_0x3f7238){}[_0x2b6441(0xd45,0xaac)](){return null;}['_createCzmControl'](){return null;}[_0x306755(0xaee,0xa81)](_0x46d632,_0x48c960,_0x62428){const _0x3accb8={_0xfc3058:0x1933};function _0x38512e(_0x47b4f9,_0x31c104){return _0x2b6441(_0x47b4f9,_0x31c104-0x63e);}const _0x238805=_0x46d632['getElementsByClassName'](_0x62428);for(let _0x16a683=0x0;_0x16a683<_0x238805[_0x38512e(_0x3accb8._0xfc3058,0x1698)];_0x16a683++){const _0x4dae23=_0x238805[_0x16a683]['innerHTML'];_0x48c960[_0x4dae23]&&(_0x238805[_0x16a683]['innerHTML']=_0x48c960[_0x4dae23]);}}[_0x2b6441(0x523,0xc0e)](_0x1abcee,_0x181093,_0x57cad4){const _0x207f49={_0x1a5fab:0x1507,_0x49ead4:0xe12},_0x5d853d=_0x1abcee['getElementsByTagName'](_0x57cad4);function _0x56371c(_0xa4b9ff,_0x9c32e2){return _0x306755(_0x9c32e2,_0xa4b9ff- -0xf4);}for(let _0x54c12c=0x0;_0x54c12c<_0x5d853d[_0x56371c(_0x207f49._0x1a5fab,_0x207f49._0x49ead4)];_0x54c12c++){const _0x5d5b20=_0x5d853d[_0x54c12c]['innerHTML'];_0x181093[_0x5d5b20]&&(_0x5d853d[_0x54c12c]['innerHTML']=_0x181093[_0x5d5b20]);}}['_updateDomAttribute'](_0x2067f1,_0x386ea9,_0x2102ba,_0x3e6cdd){!_0x2067f1&&(_0x2067f1=document);const _0x3b6e0f=_0x2067f1['getElementsByClassName'](_0x2102ba);for(let _0x3757be=0x0;_0x3757be<_0x3b6e0f['length'];_0x3757be++){const _0xb64ed2=_0x3b6e0f[_0x3757be]['getAttribute'](_0x3e6cdd);_0x386ea9[_0xb64ed2]&&_0x3b6e0f[_0x3757be]['setAttribute'](_0x3e6cdd,_0x386ea9[_0xb64ed2]);}}['_updateDomAttributeByEvent'](_0x31eb0d,_0x261b2a,_0x1595c8,_0xcf44fb,_0x3dfe23){const _0x423711={_0x22df7a:0x1497};function _0x4b4f08(_0x4eea6b,_0x43b63f){return _0x306755(_0x43b63f,_0x4eea6b- -0x2cd);}const _0x4390b6=_0x31eb0d['getElementsByClassName'](_0x1595c8);if(_0x4390b6['length']>0x0)for(let _0x49d105=0x0;_0x49d105<_0x4390b6[_0x4b4f08(0x132e,_0x423711._0x22df7a)];_0x49d105++){_0x4390b6[_0x49d105][_0x3dfe23]=function(_0x169f53){const _0x4e9c66=_0x169f53['currentTarget']['getAttribute'](_0xcf44fb);_0x261b2a[_0x4e9c66]&&_0x169f53['currentTarget']['setAttribute'](_0xcf44fb,_0x261b2a[_0x4e9c66]);};}}}class Animation extends BaseCzmControl{constructor(_0x2a1fd6={}){const _0xc375e2={_0x4f1c75:0xcc7},_0x1bdbf6={_0x2b4cea:0xb3};super(_0x2a1fd6),this['_czmControlKey']='_animation';function _0x31578c(_0x211a36,_0x345268){return _0x306755(_0x345268,_0x211a36- -_0x1bdbf6._0x2b4cea);}this[_0x31578c(_0xc375e2._0x4f1c75,0x1137)]='_container';}['_createCzmContainer'](){const _0x3d43bc={_0x59a924:0x85};function _0x7deb8f(_0x2a4a32,_0x55884b){return _0x306755(_0x55884b,_0x2a4a32- -_0x3d43bc._0x59a924);}return create$4(_0x7deb8f(0x7ff,-0xd9),'cesium-viewer-animationContainer');}['_createCzmControl'](){const _0x2baf5b={_0x519892:0x956,_0x27d2e3:0x956,_0x2fc9c8:0x131c,_0xa8ce25:0x9f7,_0x42cfec:0x7d5,_0x56acf7:0xf6d,_0x2fec09:0x111f},_0x586827={_0x21a93c:0x18e9,_0x49d8ff:0x1e27},_0x1df243={_0x31ccfa:0xac6},_0x1f747d={_0x295141:0x165},_0x32a10b={_0x19938b:0x307};function _0x39d178(_0x4bf63b,_0x315b13){return _0x306755(_0x315b13,_0x4bf63b- -_0x32a10b._0x19938b);}function _0x44acb6(_0x3d0cc8,_0x134065){return _0x306755(_0x3d0cc8,_0x134065- -_0x1f747d._0x295141);}return Cesium__namespace['AnimationViewModel']['defaultTicks']=this[_0x39d178(_0x2baf5b._0x519892,0x368)][_0x44acb6(0x19b8,0x1629)]||[0.1,0.25,0.5,0x1,0x2,0x5,0xa,0xf,0x1e,0x3c,0x78,0x12c,0x258,0x384,0x708,0xe10],(this[_0x39d178(_0x2baf5b._0x27d2e3,0x13be)][_0x44acb6(0xd2c,_0x2baf5b._0x2fc9c8)]??!![])&&(Cesium__namespace[_0x39d178(_0x2baf5b._0xa8ce25,_0x2baf5b._0x42cfec)]['defaultDateFormatter']=function(_0x60c1cf,_0xe32935){const _0x580625=Cesium__namespace[_0x123109(0x1529,_0x1df243._0x31ccfa)]['toDate'](_0x60c1cf);function _0x123109(_0x7886b8,_0x3a90a3){return _0x39d178(_0x7886b8- -0x1c1,_0x3a90a3);}return formatDate(_0x580625,'yyyy-MM-dd');},Cesium__namespace[_0x39d178(0x9f7,_0x2baf5b._0x56acf7)]['defaultTimeFormatter']=function(_0x39c008,_0x100e14){function _0x354b1c(_0xe18809,_0x1a5dce){return _0x39d178(_0xe18809-0x1ff,_0x1a5dce);}const _0x1b7ec0=Cesium__namespace[_0x354b1c(_0x586827._0x21a93c,_0x586827._0x49d8ff)]['toDate'](_0x39c008);return formatDate(_0x1b7ec0,'HH:mm:ss');}),new Cesium__namespace[(_0x44acb6(_0x2baf5b._0x2fec09,0x162b))](this['_container'],new Cesium__namespace['AnimationViewModel'](this['viewer'][_0x39d178(0x1271,0xbe1)]));}['_updateLangText'](){const _0x3f5d2a={_0x142fee:0x18b0,_0x33280e:0x1d93,_0x120781:0x16cd,_0xeadcd3:0x14aa,_0x10496c:0x162d,_0xf701ec:0xb5c,_0x11198d:0xe1f},_0x257b31={_0x33f0e6:0x688},_0x88de0f=this[_0x5025c0(_0x3f5d2a._0x142fee,_0x3f5d2a._0x33280e)]['container'];let _0x4c0d3d=_0x88de0f['getElementsByClassName']('cesium-viewer-animationContainer');function _0x5025c0(_0x100088,_0x3e49f3){return _0x2b6441(_0x3e49f3,_0x100088-_0x257b31._0x33f0e6);}function _0x546e97(_0x4c2207,_0x4a5677){return _0x2b6441(_0x4c2207,_0x4a5677-0x5b0);}if(_0x4c0d3d[_0x5025c0(0x16e2,0x1fbd)]>0x0){_0x4c0d3d=_0x4c0d3d[0x0];const _0x169956={'Today':this['getLangText'](_0x5025c0(_0x3f5d2a._0x120781,0x1fdd)),'Today\x20(real-time)':this['getLangText']('TodayRealTime'),'Pause':this['getLangText']('Pause'),'Play\x20Reverse':this[_0x546e97(_0x3f5d2a._0xeadcd3,0xd7c)]('PlayReverse'),'Play\x20Forward':this['getLangText']('PlayForward'),'Current\x20time\x20not\x20in\x20range':this['getLangText'](_0x5025c0(_0x3f5d2a._0x10496c,0x1061))};this['_updateDomByTagName'](_0x4c0d3d,_0x169956,_0x546e97(_0x3f5d2a._0xf701ec,_0x3f5d2a._0x11198d));}setTimeout(()=>{this['isAdded']&&this['_showHook'](!![]);},0x3e8);}[_0x306755(0x4b2,0x643)](_0x1847e4){const _0x2d6a8b={_0x23a1be:0xdeb,_0x2f0558:0xbbd,_0x3397d9:0x904,_0x3b5a76:0xaf3,_0x255db1:0x338,_0x560dd0:0x1318,_0x38fac4:0xe8f,_0x13ce11:0x7ac,_0x1b388d:0x101f,_0x4ee69e:0x553,_0xa5f06c:0xf40},_0x29ad1c={_0x59cd4b:0x4b1};function _0x290a2a(_0x6589bd,_0x36878e){return _0x306755(_0x6589bd,_0x36878e- -0xa0);}var _0x1cc659,_0x15f45d;const _0x323223=this[_0x311dbb(0x1318,_0x2d6a8b._0x23a1be)]['control']['timeline'],_0x5d7c80=_0x323223===null||_0x323223===void 0x0?void 0x0:_0x323223['container'];_0x5d7c80&&!Cesium__namespace[_0x311dbb(0x1301,0xecc)]((_0x1cc659=_0x323223[_0x290a2a(0x2fb,_0x2d6a8b._0x2f0558)])===null||_0x1cc659===void 0x0||(_0x1cc659=_0x1cc659['style'])===null||_0x1cc659===void 0x0?void 0x0:_0x1cc659['left'])&&(_0x5d7c80[_0x290a2a(_0x2d6a8b._0x3397d9,0x7b6)][_0x311dbb(_0x2d6a8b._0x3b5a76,_0x2d6a8b._0x255db1)]=_0x1847e4?this['_container']['offsetWidth']+0x1+'px':'0',_0x323223['resize']());function _0x311dbb(_0x1e787d,_0x42222b){return _0x306755(_0x42222b,_0x1e787d- -_0x29ad1c._0x59cd4b);}const _0x3ad1db=(_0x15f45d=this[_0x311dbb(_0x2d6a8b._0x560dd0,0x15f3)][_0x290a2a(0x7f3,_0x2d6a8b._0x38fac4)])===null||_0x15f45d===void 0x0?void 0x0:_0x15f45d['distanceLegend'];if(_0x3ad1db&&!Cesium__namespace['defined'](_0x3ad1db[_0x311dbb(_0x2d6a8b._0x13ce11,_0x2d6a8b._0x1b388d)]['bottom'])){const _0x37d720=_0x1847e4||_0x5d7c80&&_0x5d7c80['style'][_0x290a2a(0x532,_0x2d6a8b._0x4ee69e)]!==_0x290a2a(_0x2d6a8b._0xa5f06c,0xbb2),_0x112b11={};_0x112b11['bottom']=_0x37d720?_0x290a2a(0x11c8,0x7bd):'2px',_0x3ad1db[_0x290a2a(0x608,0x749)](_0x112b11);}}}register$2('animation',Animation);class BaseLayerPicker extends BaseCzmControl{constructor(_0x3ca954={}){const _0x1a65c2={_0x55ce3c:0xa90},_0x513103={_0x69d698:0x20c};super(_0x3ca954);function _0x45d10f(_0x46a3b6,_0x4f22e8){return _0x2b6441(_0x46a3b6,_0x4f22e8-0x378);}this[_0x10f697(_0x1a65c2._0x55ce3c,0x7e8)]='_baseLayerPicker',this['_czmContainerKey']='_element';function _0x10f697(_0x31a09b,_0x177810){return _0x2b6441(_0x177810,_0x31a09b-_0x513103._0x69d698);}this[_0x10f697(0x8c8,0xfd1)]['insertIndex']=this['options']['insertIndex']??0x1;}get[_0x2b6441(-0x250,0x4e9)](){const _0x4e9483={_0x4e04af:0x13d};if(this[_0x3bcff4(0x1220,0x8c5)][_0x3bcff4(0x733,0x6f2)])return this['options'][_0x3bcff4(0xd57,0x6f2)];function _0x3bcff4(_0x1298bd,_0x1f9557){return _0x2b6441(_0x1298bd,_0x1f9557-0x209);}function _0x81c45(_0x37b4f2,_0x5efdf8){return _0x306755(_0x37b4f2,_0x5efdf8-_0x4e9483._0x4e04af);}return this['_map']['toolbar'];}['_createCzmControl'](){const _0x5207c5={_0x173f80:0x1dfd,_0xe4defe:0x1231,_0x470199:0x654,_0x45da8b:0x879,_0x4cd32c:0xe63,_0x267cee:0x419,_0x19d659:0xb47,_0x2d9fc5:0x11c0,_0x5c0b81:0x139b,_0x4eb96c:0x1608,_0x44119d:0x749,_0x2e1537:0x6a1,_0xb9f823:0xd12,_0x4d0600:0x1907,_0x2f6221:0x18c5,_0xe6aff4:0xd59,_0x498305:0x1bc1,_0x47c540:0x13bc,_0x2c6076:0x2335,_0x2c3ea1:0x1006,_0x15da82:0xb20,_0x809067:0x194c},_0x120b47={_0x3198d7:0xfc},_0x2b6e83={_0x3c5c47:0x609};var _0x2db26d;const _0xac7419=this[_0x198a67(_0x5207c5._0x173f80,0x18c5)]['options'][_0x198a67(_0x5207c5._0xe4defe,0x106d)]||{},_0xfcb117=this[_0x27beff(_0x5207c5._0x470199,-0x404)],_0x32108c={};_0x32108c['map']=this['_map'],_0x32108c['globe']=this[_0x27beff(0x11c0,0x131d)]['scene'][_0x198a67(0x1e77,0x15ec)],_0x32108c[_0x27beff(0xf03,_0x5207c5._0x45da8b)]=_0xfcb117[_0x27beff(0xf03,0x560)]||_0xac7419['imageryProviderViewModels'];function _0x27beff(_0x34a0dc,_0x58e4cd){return _0x306755(_0x58e4cd,_0x34a0dc- -_0x2b6e83._0x3c5c47);}_0x32108c[_0x27beff(0x1219,0xe16)]=_0xfcb117['selectedImageryProviderViewModel']||_0xac7419['selectedImageryProviderViewModel'],_0x32108c['terrainProviderViewModels']=_0xfcb117['terrainProviderViewModels']||_0xac7419[_0x27beff(0xd12,0x5e3)];function _0x198a67(_0x43fcbc,_0x202bcb){return _0x306755(_0x43fcbc,_0x202bcb-_0x120b47._0x3198d7);}_0x32108c[_0x198a67(0x163a,0x19be)]=_0xfcb117[_0x198a67(0x2176,0x19be)]||_0xac7419[_0x27beff(0x12b9,_0x5207c5._0x4cd32c)];const _0x13a001=_0x32108c;if(!_0x13a001[_0x27beff(0xf03,0x15d5)]&&((_0x2db26d=this[_0x27beff(0x11c0,0x19aa)][_0x27beff(0x654,-_0x5207c5._0x267cee)]['basemaps'])===null||_0x2db26d===void 0x0?void 0x0:_0x2db26d[_0x27beff(0xff2,_0x5207c5._0x19d659)])>0x0){const _0x1639b8=getImageryProviderViewModels(this[_0x27beff(_0x5207c5._0x2d9fc5,0x113a)]['options']['basemaps'],this['_map']['options'][_0x27beff(_0x5207c5._0x5c0b81,0x171b)]);_0x13a001['imageryProviderViewModels']=_0x1639b8[_0x198a67(0x1a0f,_0x5207c5._0x4eb96c)],_0x1639b8['selectedIndex']!==-0x1&&(_0x13a001['selectedImageryProviderViewModel']=_0x1639b8['imageryProviderViewModels'][_0x1639b8[_0x198a67(_0x5207c5._0x44119d,_0x5207c5._0x2e1537)]]);}if(!_0x13a001[_0x27beff(_0x5207c5._0xb9f823,0x5cd)]){var _0x18d5d3;_0x13a001['terrainProviderViewModels']=getTerrainProviderViewModels(this[_0x198a67(_0x5207c5._0x4d0600,_0x5207c5._0x2f6221)]['_getTerrainOptions'](),this['getLangText']['bind'](this)),_0x13a001['selectedTerrainProviderViewModel']=_0x13a001[_0x27beff(0xd12,0x8ca)][(_0x18d5d3=this[_0x27beff(0x11c0,0x1760)][_0x198a67(0x6e3,_0x5207c5._0xe6aff4)][_0x198a67(_0x5207c5._0x498305,_0x5207c5._0x47c540)])!==null&&_0x18d5d3!==void 0x0&&_0x18d5d3['show']?0x1:0x0];}this[_0x27beff(0x3,-0x5d2)]&&(delete _0x13a001[_0x198a67(_0x5207c5._0x2c6076,0x191e)],delete _0x13a001[_0x198a67(0x22f1,0x19be)]);const _0x2d73a8=new Cesium__namespace[(_0x198a67(_0x5207c5._0x2c3ea1,_0x5207c5._0x15da82))](this[_0x27beff(0x11c0,0xf96)][_0x198a67(_0x5207c5._0x809067,0x1254)],_0x13a001);return _0x2d73a8;}[_0x2b6441(0x12e6,0x10bd)](){const _0x43145c={_0xedec25:0xaad,_0x19aa27:0x1436,_0x3324e9:0x50,_0x1472e4:0x4af,_0x8cdf74:0x1461,_0x4b16a9:0x1eb9,_0x9096a8:0xe91,_0x2549b6:0x710,_0x5def55:0x11dc,_0xf79215:0xa21,_0x3a6fd4:0x9b9},_0x5e44c6={_0x39d092:0xcde,_0x807b1f:0x15de},_0x233767={_0x4c82f4:0x1c6},_0x41297e={_0x2e79c9:0x3ef},_0x20becd=this[_0x574afb(0x12d2,0xcf2)][_0x574afb(0xb04,_0x43145c._0xedec25)];function _0x574afb(_0x46463c,_0x498dd2){return _0x306755(_0x498dd2,_0x46463c- -0x4f7);}let _0x120971=_0x20becd[_0x2241bd(0xb47,0x4e4)]('cesium-baseLayerPicker-dropDown');function _0x2241bd(_0x3af3af,_0x46526e){return _0x306755(_0x46526e,_0x3af3af- -_0x41297e._0x2e79c9);}if(_0x120971[_0x2241bd(0x120c,_0x43145c._0x19aa27)]>0x0){_0x120971=_0x120971[0x0];const _0x438a59={'Imagery':this['getLangText'](_0x574afb(0x4f2,-0x3c1)),'Cesium\x20ion':this['getLangText'](_0x574afb(_0x43145c._0x3324e9,0x7c7)),'Other':this['getLangText']('Other'),'Terrain':this['getLangText']('Terrain'),'WGS84\x20Ellipsoid':this[_0x2241bd(0x97e,0xa3)]('EllipsoidTerrainProvider'),'WGS84\x20standard\x20ellipsoid,\x20also\x20known\x20as\x20EPSG:4326':this['getLangText'](_0x574afb(0xf02,0xca8)),'Cesium\x20World\x20Terrain':this[_0x574afb(0x876,0x1c5)]('TerrainProvider'),'High-resolution\x20global\x20terrain\x20tileset\x20curated\x20from\x20several\x20datasources\x20and\x20hosted\x20by\x20Cesium\x20ion':this['getLangText']('TerrainProviderTooltip')};this['_updateDomInnerHtml'](_0x120971,_0x438a59,_0x2241bd(_0x43145c._0x1472e4,0xb58)),this['_updateDomInnerHtml'](_0x120971,_0x438a59,_0x574afb(_0x43145c._0x8cdf74,_0x43145c._0x4b16a9)),this[_0x2241bd(0x692,_0x43145c._0x9096a8)](_0x120971,_0x438a59,_0x574afb(_0x43145c._0x2549b6,_0x43145c._0x5def55)),this[_0x2241bd(0xc96,0x77a)](_0x120971,_0x438a59,'cesium-baseLayerPicker-item',_0x2241bd(_0x43145c._0xf79215,0x2e1));const _0x4639bf=_0x20becd[_0x574afb(0xa3f,_0x43145c._0x3a6fd4)]('cesium-baseLayerPicker-selected');_0x4639bf['length']>0x0&&(_0x4639bf[0x0]['parentElement']['onmouseover']=function(_0x3789d7){function _0xe7c2d1(_0x48a023,_0x436dc3){return _0x2241bd(_0x48a023- -0x234,_0x436dc3);}const _0x482a68=_0x3789d7['currentTarget']['getAttribute']('title')??'',_0x3ded2c=_0x482a68['split']('\x0a');function _0xd42e3c(_0x2b5867,_0x502381){return _0x574afb(_0x502381-_0x233767._0x4c82f4,_0x2b5867);}const _0x4a590e=_0x3ded2c[0x0]??'';let _0x4d8a7e=_0x3ded2c[0x1]??'';(!_0x4d8a7e||_0x4d8a7e===_0xd42e3c(0x7d8,0x3e4))&&(_0x4d8a7e='');let _0x2429de='',_0x30c3bc='';_0x438a59[_0x4a590e]?_0x2429de+=_0x438a59[_0x4a590e]:_0x2429de+=_0x4a590e,_0x438a59[_0x4a590e]?_0x30c3bc+=_0x438a59[_0x4d8a7e]:_0x30c3bc+=_0x4d8a7e,_0x3789d7[_0xe7c2d1(_0x5e44c6._0x39d092,_0x5e44c6._0x807b1f)]['setAttribute']('title',_0x2429de+'\x0a'+_0x30c3bc);});}}[_0x2b6441(-0x2d8,0x682)](_0x3abbb1){const _0x2a07c9={_0x580afe:0x36,_0x622ee2:0x384,_0x411799:0x173c,_0x1d4f78:0x1033},_0x1a0d18={_0x55d7e2:0x5a3};function _0x47749a(_0xcd0a3e,_0x12cbf4){return _0x306755(_0xcd0a3e,_0x12cbf4- -_0x1a0d18._0x55d7e2);}var _0x146f2e,_0x301c20;const _0x28393f=(_0x146f2e=this[_0x47749a(_0x2a07c9._0x580afe,0x9b7)])===null||_0x146f2e===void 0x0?void 0x0:_0x146f2e['viewModel'];function _0x22ebe2(_0x1e05f7,_0x50dffd){return _0x306755(_0x1e05f7,_0x50dffd- -0x4d9);}if(!_0x3abbb1||!_0x28393f[_0x22ebe2(_0x2a07c9._0x622ee2,0x74a)])return;const _0x45d078=(_0x301c20=_0x28393f['selectedImagery'])===null||_0x301c20===void 0x0?void 0x0:_0x301c20[_0x22ebe2(-0x36a,0x4b7)];if((_0x45d078===null||_0x45d078===void 0x0?void 0x0:_0x45d078[_0x47749a(0xf55,0xf41)])===_0x3abbb1)return;for(let _0x30b529=0x0;_0x30b529<_0x28393f[_0x22ebe2(_0x2a07c9._0x411799,_0x2a07c9._0x1d4f78)]['length'];_0x30b529++){var _0x31bf50;const _0x535188=_0x28393f[_0x22ebe2(0x1030,_0x2a07c9._0x1d4f78)][_0x30b529];if(((_0x31bf50=_0x535188[_0x47749a(-0x4b6,0x3ed)])===null||_0x31bf50===void 0x0?void 0x0:_0x31bf50[_0x22ebe2(0xfe2,0x100b)])===_0x3abbb1){_0x28393f[_0x47749a(0xef2,0x680)](_0x535188);break;}}}['updateSelectedTerrainViewModel'](){const _0x3605dc={_0x249870:0x830,_0x9f49b4:0xb55,_0x11a5e9:0xe09,_0x5c1f49:0x5a8,_0x5eb9f0:0xdf,_0x897356:0x101b,_0x208ad2:0x87d,_0x3b6004:0x4e6},_0x552e99={_0x569154:0x342};function _0x5b42f5(_0x5a4247,_0x3639cb){return _0x306755(_0x5a4247,_0x3639cb- -_0x552e99._0x569154);}var _0x2da0c1,_0x16e2bb,_0x11f834;const _0x49a2e0=(_0x2da0c1=this['_map'])===null||_0x2da0c1===void 0x0||(_0x2da0c1=_0x2da0c1[_0x5b42f5(_0x3605dc._0x249870,_0x3605dc._0x9f49b4)])===null||_0x2da0c1===void 0x0?void 0x0:_0x2da0c1['marsOptions'];function _0xe20d35(_0x2c9faa,_0xdaa375){return _0x306755(_0xdaa375,_0x2c9faa- -0x3e8);}if(!_0x49a2e0)return;const _0x5168de=(_0x16e2bb=this['_czmContrl'])===null||_0x16e2bb===void 0x0?void 0x0:_0x16e2bb[_0xe20d35(0x2c0,0x24c)];if(!_0x5168de[_0x5b42f5(0xdae,0x8e1)])return;const _0x4f422b=(_0x11f834=_0x5168de['selectedTerrain'])===null||_0x11f834===void 0x0?void 0x0:_0x11f834['marsOptions'];if(_0x4f422b&&_0x4f422b['type']===_0x49a2e0['type']&&_0x4f422b['url']===_0x49a2e0['url'])return;for(let _0x513999=0x0;_0x513999<_0x5168de[_0x5b42f5(0x1223,0xfd9)][_0xe20d35(0x1213,_0x3605dc._0x11a5e9)];_0x513999++){const _0xd9cf6f=_0x5168de['terrainProviderViewModels'][_0x513999];if(!_0xd9cf6f['marsOptions'])continue;if(_0xd9cf6f['marsOptions'][_0xe20d35(0x127b,0x10bb)]===_0x49a2e0['type']&&_0xd9cf6f[_0xe20d35(_0x3605dc._0x5c1f49,-_0x3605dc._0x5eb9f0)][_0x5b42f5(_0x3605dc._0x897356,_0x3605dc._0x208ad2)]===_0x49a2e0['url']){_0x5168de[_0xe20d35(0x74b,_0x3605dc._0x3b6004)](_0xd9cf6f);break;}}}['reload'](){const _0x1ce704={_0x5d68f9:0x162d,_0x17dcd3:0xb7d},_0x37c32e={_0x37fc83:0x9c};function _0x18af47(_0x4eea5d,_0x450f6d){return _0x306755(_0x4eea5d,_0x450f6d-_0x37c32e._0x37fc83);}function _0x489d1e(_0x5a65c5,_0x2f114d){return _0x2b6441(_0x2f114d,_0x5a65c5-0x241);}super['reload']();if(this['_map']){var _0x13dc16;this[_0x18af47(_0x1ce704._0x5d68f9,0xcbf)]((_0x13dc16=this['_map'][_0x489d1e(_0x1ce704._0x17dcd3,0x11ea)])===null||_0x13dc16===void 0x0?void 0x0:_0x13dc16['id']),this['updateSelectedTerrainViewModel']();}}}register$2('baseLayerPicker',BaseLayerPicker);class FullscreenButton extends BaseCzmControl{constructor(_0x263dda={}){const _0x8ff154={_0x421911:0x6ef};function _0x22ccf3(_0x46f81c,_0x407deb){return _0x306755(_0x407deb,_0x46f81c- -0xc7);}super(_0x263dda),this['_czmControlKey']='_fullscreenButton',this['_czmContainerKey']=_0x22ccf3(0x67c,_0x8ff154._0x421911);}get['parentContainer'](){const _0x37cfd5={_0x46b974:0x18d0},_0x486b55={_0x4e4ab2:0x19};function _0x290b46(_0x54cb50,_0x357b25){return _0x306755(_0x357b25,_0x54cb50-_0x486b55._0x4e4ab2);}function _0x17c761(_0x2b3885,_0x5309c1){return _0x306755(_0x2b3885,_0x5309c1- -0x5ce);}if(this['options']['parentContainer'])return this[_0x17c761(0xe99,0x68f)]['parentContainer'];return this['_map'][_0x290b46(0x1171,_0x37cfd5._0x46b974)];}['_createCzmContainer'](){const _0x4d9e52={_0x245bd:0x10e0};function _0x388c6e(_0x360e60,_0x34dda9){return _0x306755(_0x34dda9,_0x360e60-0x25);}const _0x2b3a2c=create$4('div','cesium-button\x20cesium-toolbar-button');_0x2b3a2c[_0x388c6e(0x87b,0x4c6)]['display']=_0x388c6e(_0x4d9e52._0x245bd,0x15ba);function _0x51ab2e(_0x7ab67a,_0x3d5767){return _0x306755(_0x3d5767,_0x7ab67a- -0x256);}return _0x2b3a2c;}['_createCzmControl'](){const _0x299253={_0xb260cd:0x9cc,_0x296d00:0x5c,_0xd2d17:0x7d0},_0x5403bf={_0x29fa86:0x74};var _0x145be8;function _0x3ea747(_0x3c1459,_0x474c7a){return _0x2b6441(_0x474c7a,_0x3c1459-0x310);}function _0x42a62c(_0x27e2f0,_0x41b5ac){return _0x306755(_0x41b5ac,_0x27e2f0- -_0x5403bf._0x29fa86);}const _0x17472b=this[_0x3ea747(_0x299253._0xb260cd,0x664)][_0x42a62c(0x5e9,0x627)]||((_0x145be8=this[_0x42a62c(0x1755,0x1b27)][_0x3ea747(0x9cc,0x49f)]['control'])===null||_0x145be8===void 0x0?void 0x0:_0x145be8[_0x3ea747(0x3cc,-_0x299253._0x296d00)]);return new Cesium__namespace['FullscreenButton'](this[_0x42a62c(0x6cf,_0x299253._0xd2d17)],_0x17472b);}[_0x306755(0x21ee,0x17fe)](_0x5818f5){const _0x335e65={_0x2f35b1:0xd8d,_0x14e5d1:0x1155,_0x4cef6a:0x542,_0x1b8274:0xab5,_0x514845:0x3ca,_0xbe473:0x451,_0x413233:0x1469,_0x45a7d9:0x17f},_0x2bce23={_0x275230:0x4d2},_0x149b7f={_0x1fe835:0x314};var _0x5f06f5;removeClass(_0x5818f5,'cesium-viewer-fullscreenContainer'),addClass(_0x5818f5,_0x167842(_0x335e65._0x2f35b1,_0x335e65._0x14e5d1)),_0x5818f5[_0x5882d6(0xfd8,_0x335e65._0x4cef6a)]['display']='inline-block';function _0x5882d6(_0x448675,_0x1cfd76){return _0x306755(_0x448675,_0x1cfd76- -_0x149b7f._0x1fe835);}_0x5818f5[_0x167842(0xd81,_0x335e65._0x1b8274)]['removeChild'](_0x5818f5);function _0x167842(_0x421c90,_0x340de5){return _0x2b6441(_0x421c90,_0x340de5-_0x2bce23._0x275230);}const _0x52a3dc=(_0x5f06f5=this['viewer'][_0x167842(-_0x335e65._0x514845,_0x335e65._0xbe473)])===null||_0x5f06f5===void 0x0?void 0x0:_0x5f06f5[_0x167842(0x1edc,_0x335e65._0x413233)];_0x52a3dc?this['parentContainer']['insertBefore'](_0x5818f5,_0x52a3dc):this[_0x5882d6(-_0x335e65._0x45a7d9,0x776)]['appendChild'](_0x5818f5);}[_0x2b6441(0xe41,0x10bd)](){const _0x1da968={_0x28815d:0xbf1,_0x3d284e:0x18af,_0x3e45f0:0x14af,_0x4de5cb:0x109,_0x347a08:0x132e,_0x2bfe69:0xb4f,_0x303652:0x1487,_0x4fb58d:0x1807};if(this[_0x5ad3f8(0xf78,_0x1da968._0x28815d)][_0x1450db(0x237d,_0x1da968._0x3d284e)]){const _0x81af6=this['_container'][_0x5ad3f8(0xff6,_0x1da968._0x3e45f0)][0x0];addClass(_0x81af6,'mar3d-toolButton'),this[_0x5ad3f8(0x1abe,0x1011)](this[_0x1450db(_0x1da968._0x4de5cb,0xb71)][_0x1450db(_0x1da968._0x347a08,0x18af)],_0x81af6,'',!![]);}const _0x1b2906=this['_map']['container'],_0x2bc4a7={'Full\x20screen':this['getLangText'](_0x1450db(0xab3,0xd56)),'Exit\x20full\x20screen':this[_0x1450db(_0x1da968._0x2bfe69,0xc81)]('ExitFullScreen'),'Full\x20screen\x20unavailable':this['getLangText']('FullScreenUnavailable')};function _0x1450db(_0x574f61,_0x123cc7){return _0x306755(_0x574f61,_0x123cc7- -0xec);}function _0x5ad3f8(_0x4113e2,_0x53f9bf){return _0x2b6441(_0x4113e2,_0x53f9bf-0x535);}this[_0x1450db(0xb7e,0xa09)](_0x1b2906,_0x2bc4a7,_0x5ad3f8(0x109b,_0x1da968._0x303652),'title',_0x5ad3f8(0x175d,_0x1da968._0x4fb58d));}}register$2('fullscreenButton',FullscreenButton);class GaodePOIGeocoder{constructor(_0x1d3a5f={}){const _0x347a03={_0x494f61:0xed2,_0x20453e:0x6b5},_0x19a787={_0x1eebc2:0x360},_0x13e629={_0x469772:0x3c7};function _0xe7f3b9(_0x50324a,_0x5869f6){return _0x306755(_0x5869f6,_0x50324a- -_0x13e629._0x469772);}function _0x429625(_0xe69250,_0xee7b16){return _0x2b6441(_0xe69250,_0xee7b16-_0x19a787._0x1eebc2);}this['options']=_0x1d3a5f,_0x1d3a5f[_0xe7f3b9(_0x347a03._0x494f61,0x791)]?this['_keys']=Array['isArray'](_0x1d3a5f['key'])?_0x1d3a5f[_0xe7f3b9(0xed2,0x14ab)]:[_0x1d3a5f[_0x429625(0x1380,0x1058)]]:this[_0xe7f3b9(_0x347a03._0x20453e,-0x2f)]=gaodeArr;}['getArrayRandomOne'](){const _0x4f4e9b={_0x1b1f00:0x4c8,_0x806503:0x5ee},_0x54b9d7={_0x1517ee:0x13};function _0x5234ec(_0x1e06c6,_0x41d1d4){return _0x2b6441(_0x41d1d4,_0x1e06c6- -_0x54b9d7._0x1517ee);}const _0x4526ae=this[_0x5234ec(_0x4f4e9b._0x1b1f00,_0x4f4e9b._0x806503)],_0x19bfa7=Math[_0x5234ec(0x129e,0x1549)](Math['random']()*_0x4526ae['length']+0x1)-0x1;function _0x4d044a(_0x1f54a4,_0x4dc53e){return _0x2b6441(_0x4dc53e,_0x1f54a4-0x6bc);}return _0x4526ae[_0x19bfa7];}[_0x2b6441(0xc73,0x12e7)](_0xcf0602,_0xb2a29){const _0x1767fd={_0x2dec93:0x1141,_0x1e02df:0xca3,_0xf4f4a6:0xcf8,_0x3cba54:0xebc,_0x56f563:0x1696},_0x2b6d91={_0x32b23b:0x6bb,_0x401598:0x10a2,_0x412890:0x1270,_0x32619b:0x10a2,_0x1420f0:0x66f,_0x2390ef:0x672,_0x117395:0xe49,_0x45778e:0x122a,_0x4d7abf:0x1014,_0x3b7a41:0x831},_0x3d655b={_0x3ec54f:0x18cf,_0x478056:0x1dba,_0x782c1f:0xbc5},_0x436ce2={_0x1ace7c:0x6e},_0xb9df63={_0x15b46e:0x3a3};var _0x16b477;((_0x16b477=_0xcf0602)===null||_0x16b477===void 0x0?void 0x0:_0x16b477['length'])>0x0&&_0xcf0602[_0x213c46(0x185,0x6d2)]('(not\x20found)')&&(_0xcf0602=_0xcf0602['substr'](0x0,_0xcf0602['length']-0xb)['trim']());const _0x2e630b=this[_0x183b1f(_0x1767fd._0x2dec93,0x12f3)](),_0x4a6861={'count':0x14,'key':_0x2e630b,'keywords':_0xcf0602,'types':'110000|120000|130000|140000|180000|190000',...this['options'][_0x183b1f(0xc7e,0x140b)]};function _0x183b1f(_0x10dd0f,_0x39ed5e){return _0x2b6441(_0x39ed5e,_0x10dd0f-_0xb9df63._0x15b46e);}const _0x4a9f0e=new Cesium__namespace['Resource']({'url':_0xb2a29===Cesium__namespace['GeocodeType'][_0x213c46(_0x1767fd._0x1e02df,_0x1767fd._0xf4f4a6)]?_0x183b1f(0x137c,_0x1767fd._0x3cba54):'https://restapi.amap.com/v3/place/text','queryParameters':_0x4a6861}),_0x10ee36=this;function _0x213c46(_0x1bd544,_0x4216b4){return _0x306755(_0x1bd544,_0x4216b4- -_0x436ce2._0x1ace7c);}return _0x4a9f0e['fetchJson']()[_0x183b1f(0x1105,_0x1767fd._0x56f563)](function(_0x182299){const _0x3ff40d={_0x33adb7:0x6b};if(_0x182299[_0x3edec8(_0x2b6d91._0x32b23b,_0x2b6d91._0x401598)]!=='10000')return logError('请求失败('+_0x182299[_0x3edec8(_0x2b6d91._0x412890,_0x2b6d91._0x32619b)]+'):'+_0x182299['info']),[];if(_0x182299[_0x3edec8(_0x2b6d91._0x1420f0,_0x2b6d91._0x2390ef)]['length']===0x0)return logInfo('未查询到“'+_0xcf0602+'”相关数据!'),[];function _0x41068e(_0x5a05f6,_0x3fae2e){return _0x213c46(_0x5a05f6,_0x3fae2e- -0x10d);}let _0x34c718=0xbb8;_0x10ee36['map'][_0x3edec8(0x12df,0x10e5)][_0x3edec8(0x79e,_0x2b6d91._0x117395)][_0x41068e(_0x2b6d91._0x45778e,0xa77)]<_0x34c718&&(_0x34c718=_0x10ee36['map']['camera']['positionCartographic']['height']);function _0x3edec8(_0x3299e2,_0x385d3a){return _0x183b1f(_0x385d3a-0x29b,_0x3299e2);}return _0x182299['pois'][_0x3edec8(_0x2b6d91._0x4d7abf,_0x2b6d91._0x3b7a41)](function(_0x3cc48d){const _0x1c5353={_0x367ee2:0x421};let _0x493468=_0x3cc48d['location'][_0xbac244(_0x3d655b._0x3ec54f,_0x3d655b._0x478056)](',');function _0xbac244(_0x5cf655,_0x4afa0a){return _0x3edec8(_0x4afa0a,_0x5cf655-_0x3ff40d._0x33adb7);}function _0x2677f7(_0x36b0a8,_0x777eb7){return _0x41068e(_0x36b0a8,_0x777eb7- -_0x1c5353._0x367ee2);}return _0x493468=gcj2wgs(_0x493468),{'displayName':_0x3cc48d['name'],'destination':Cesium__namespace['Cartesian3'][_0xbac244(_0x3d655b._0x782c1f,0x129c)](_0x493468[0x0],_0x493468[0x1],_0x34c718)};});});}}class Geocoder extends BaseCzmControl{constructor(_0x3d0319={}){const _0x24d125={_0xfcaa7e:0x11ff,_0x3065eb:0xc97,_0x589d10:0xd2d},_0x36aa7b={_0x331191:0x3b1};isString(_0x3d0319)&&(_0x3d0319={'service':_0x3d0319});super(_0x3d0319);function _0x160a52(_0xbc3249,_0x700c46){return _0x306755(_0xbc3249,_0x700c46- -_0x36aa7b._0x331191);}this[_0x2d8b4a(_0x24d125._0xfcaa7e,_0x24d125._0x3065eb)]=_0x2d8b4a(_0x24d125._0x589d10,0xa52);function _0x2d8b4a(_0x345349,_0x4f5ca8){return _0x306755(_0x345349,_0x4f5ca8- -0x18e);}this['_czmContainerKey']='_form';}get['parentContainer'](){const _0x214386={_0x1bf02f:0x687,_0x3fcbf5:0xe81,_0x31b0a0:0x4b4,_0x4a8fc3:0x60c,_0x2661a4:0x1ad0};if(this[_0x4ee85e(_0x214386._0x1bf02f,_0x214386._0x3fcbf5)]['parentContainer'])return this['options'][_0x4ee85e(_0x214386._0x31b0a0,_0x214386._0x4a8fc3)];function _0x2dbf9a(_0x432184,_0x2b9fa7){return _0x2b6441(_0x432184,_0x2b9fa7- -0x6a);}function _0x4ee85e(_0x511727,_0x492d78){return _0x306755(_0x492d78,_0x511727- -0x5d6);}return this[_0x2dbf9a(_0x214386._0x2661a4,0x11be)]['toolbar'];}[_0x306755(0x91f,0x104d)](){const _0x115d86=create$4('div','cesium-viewer-geocoderContainer');return _0x115d86['id']=this['type'],_0x115d86;}['_createCzmControl'](){const _0x2401d9={_0x2b7eb0:0xba7,_0x5b70c7:0x964,_0x5e3e1b:0x10fe,_0x4bbfcd:0xfae,_0x45847f:0x138c,_0x440347:0x16e,_0x309b06:0xa4d,_0x4da008:0x584,_0x5c1855:0x133f,_0x3bf4a3:0x35a,_0x57c7d7:0x533,_0x20cb94:0xfdb,_0x2b42ce:0x1765};let _0x48aa7c=this[_0x3cc350(0xa96,_0x2401d9._0x2b7eb0)][_0x19f8e6(_0x2401d9._0x5b70c7,_0x2401d9._0x5e3e1b)];if(!Cesium__namespace[_0x19f8e6(0x1ee5,0x15a2)](_0x48aa7c)||_0x48aa7c===_0x19f8e6(_0x2401d9._0x4bbfcd,_0x2401d9._0x45847f)){const _0x5bda71=new GaodePOIGeocoder(this[_0x19f8e6(_0x2401d9._0x440347,_0x2401d9._0x309b06)]);_0x5bda71[_0x19f8e6(0x801,_0x2401d9._0x4da008)]=this['_map'],_0x48aa7c=[_0x5bda71];}else{if(_0x48aa7c==='ion'){_0x48aa7c=undefined;const _0x48111e={};_0x48111e['scene']=this[_0x3cc350(0x1602,0x1fa1)]['scene'],_0x48aa7c=[new Cesium__namespace[(_0x19f8e6(0x18b0,_0x2401d9._0x5c1855))](_0x48111e)];}}const _0x1a3d01={};_0x1a3d01['container']=this[_0x19f8e6(-_0x2401d9._0x3bf4a3,_0x2401d9._0x57c7d7)],_0x1a3d01[_0x19f8e6(_0x2401d9._0x20cb94,0x11b2)]=_0x48aa7c;function _0x19f8e6(_0x4a341f,_0x1b5117){return _0x306755(_0x4a341f,_0x1b5117- -0x210);}function _0x3cc350(_0x2ab14a,_0x523b34){return _0x306755(_0x523b34,_0x2ab14a- -0x1c7);}return _0x1a3d01[_0x3cc350(0x89e,0x814)]=this['_map']['scene'],new Cesium__namespace[(_0x19f8e6(_0x2401d9._0x2b42ce,0x10d4))](_0x1a3d01);}[_0x306755(0x1de1,0x165e)](){const _0x5ea9b5={_0x17847f:0x17cf},_0x50a242=this[_0xf02b17(_0x5ea9b5._0x17847f,0x128d)]['container'];function _0x319d24(_0x89197c,_0x38231){return _0x2b6441(_0x89197c,_0x38231-0x1eb);}function _0xf02b17(_0x1ead73,_0x4b1d5f){return _0x306755(_0x4b1d5f,_0x1ead73-0x6);}const _0x2d473b={'Enter\x20an\x20address\x20or\x20landmark...':this['getLangText']('EnterAnAddressOrLandmark'),'Searching...':this['getLangText']('Searching')};this['_updateDomAttribute'](_0x50a242,_0x2d473b,'cesium-geocoder-input',_0x319d24(0x1017,0x641));}[_0x306755(0xc52,0x1352)](){const _0x48d068={_0x4646fd:0x15d9},_0x3797ab={_0x523f97:0x22};function _0x27bcee(_0x4e5bee,_0x35572d){return _0x306755(_0x35572d,_0x4e5bee- -_0x3797ab._0x523f97);}super['_removedBeforeHook']();const _0x4bd35b=this['_map']['container']['getElementsByClassName']('cesium-viewer-geocoderContainer');_0x4bd35b[_0x27bcee(_0x48d068._0x4646fd,0x12c2)]>0x0&&(this['_container']=_0x4bd35b[0x0]);}}register$2('geocoder',Geocoder);const _updateSearchSuggestions_old=Cesium__namespace[_0x306755(0x1f27,0x1889)]['_updateSearchSuggestions'];Cesium__namespace[_0x306755(0x1878,0x1889)]['_updateSearchSuggestions']=function(_0x573457){const _0x4ef1f1={_0x38277f:0x333},_0x36c226={_0x563051:0x27},_0x408b71=_0x573457['_searchText'];function _0x4779c7(_0x7aacb6,_0x292382){return _0x306755(_0x7aacb6,_0x292382- -0x310);}function _0xa64576(_0x40bc5d,_0x27994f){return _0x306755(_0x27994f,_0x40bc5d-_0x36c226._0x563051);}return(_0x408b71===null||_0x408b71===void 0x0?void 0x0:_0x408b71['length'])>0x0&&_0x408b71['endsWith']('(not\x20found)')&&(_0x573457[_0x4779c7(_0x4ef1f1._0x38277f,0x3b4)]=_0x408b71['substr'](0x0,_0x408b71[_0xa64576(0x1622,0x1ec1)]-0xb)['trim']()),_updateSearchSuggestions_old(_0x573457);};class HomeButton extends BaseCzmControl{constructor(_0x3efbb1={}){const _0x1b801f={_0x3bf689:0x18a7,_0x232131:0xe11,_0x45ef76:0x55c};super(_0x3efbb1),this['_czmControlKey']='_homeButton';function _0x4e2220(_0x5a97d3,_0x2a087e){return _0x2b6441(_0x2a087e,_0x5a97d3-0x51a);}this['_czmContainerKey']=_0x152658(0x1094,_0x1b801f._0x3bf689);function _0x152658(_0x32bea1,_0x198051){return _0x2b6441(_0x198051,_0x32bea1-0x3ba);}this['options'][_0x4e2220(_0x1b801f._0x232131,_0x1b801f._0x45ef76)]=this['options']['insertIndex']??0x0;}get['parentContainer'](){const _0xdbe3d5={_0xa39662:0x994,_0x3af1e3:0xc2e},_0x41c5e3={_0xdbf825:0x587},_0x20dd54={_0x584efd:0x572};function _0x16aed1(_0x43af04,_0x74967c){return _0x2b6441(_0x74967c,_0x43af04-_0x20dd54._0x584efd);}if(this[_0x16aed1(0xc2e,_0xdbe3d5._0xa39662)]['parentContainer'])return this[_0x16aed1(_0xdbe3d5._0x3af1e3,0xac8)]['parentContainer'];function _0x32061c(_0x3d5c30,_0x54418b){return _0x2b6441(_0x3d5c30,_0x54418b-_0x41c5e3._0xdbf825);}return this[_0x16aed1(0x179a,0x1150)]['toolbar'];}['_createCzmControl'](){function _0x2a920d(_0x20a235,_0x220e50){return _0x2b6441(_0x20a235,_0x220e50-0x13d);}return new Cesium__namespace[(_0x2a920d(0x58b,0x8d0))](this['_map']['toolbar'],this['_map']['scene']);}['_updateLangText'](){const _0x22691a={_0x3ec420:0x5d3,_0x1e7a4f:0x147e,_0x545c75:0xb75,_0x5139e8:0xbff,_0x1ce014:0xca0},_0x1a13dd={_0x54efd9:0x11b};function _0x532a79(_0x5d08bf,_0x40469f){return _0x2b6441(_0x40469f,_0x5d08bf-_0x1a13dd._0x54efd9);}function _0x5b5853(_0x4e492d,_0x10caff){return _0x2b6441(_0x10caff,_0x4e492d-0x431);}this['options']['icon']&&(addClass(this[_0x5b5853(_0x22691a._0x3ec420,0x34)],_0x5b5853(0x1236,_0x22691a._0x1e7a4f)),this['_createIcon'](this['options']['icon'],this['_container'],'',!![]));const _0xf3cd9f=this['_map'][_0x532a79(_0x22691a._0x545c75,0x14ec)];this[_0x532a79(_0x22691a._0x5139e8,0x3f8)](_0xf3cd9f,{'View\x20Home':this['options'][_0x5b5853(_0x22691a._0x1ce014,0xb77)]??this['getLangText']('ViewHome')},'cesium-home-button',_0x5b5853(0xca0,0x50c));}['_addedHook'](){const _0x5dfbcf={_0x4a042e:0x345,_0x372b4c:0xca1},_0x10d7e6={_0x266e6c:0x14d8},_0x3e0e86={_0x57b19a:0xa0};function _0x7660e4(_0xccfa6,_0x519387){return _0x306755(_0x519387,_0xccfa6- -0x363);}super['_addedHook']();function _0x57733d(_0x256492,_0x14dc47){return _0x2b6441(_0x256492,_0x14dc47- -_0x3e0e86._0x57b19a);}this[_0x57733d(0xdfd,0x919)][_0x7660e4(_0x5dfbcf._0x4a042e,_0x5dfbcf._0x372b4c)][_0x57733d(0xbf2,0x23b)]['beforeExecute'][_0x7660e4(0x787,0x8cb)](_0x2b313b=>{const _0x41ef9e={_0x2be927:0x216};function _0x3926a0(_0x2c271b,_0x379d91){return _0x7660e4(_0x379d91-_0x41ef9e._0x2be927,_0x2c271b);}function _0xecce0(_0x473d48,_0x34d8ab){return _0x7660e4(_0x34d8ab- -0x15a,_0x473d48);}_0x2b313b['cancel']=!![],!this['options'][_0x3926a0(0x189d,0xf1b)]&&this[_0x3926a0(_0x10d7e6._0x266e6c,0x167c)][_0x3926a0(0xccd,0x7e2)]();});}}register$2('homeButton',HomeButton);class NavigationHelpButton extends BaseCzmControl{constructor(_0x500ebc={}){const _0x4a87ad={_0x20bf3d:0x9e1},_0x2b091f={_0x126e88:0x518},_0x1adb3d={_0xf25329:0x2c6};function _0x4f6781(_0x5e7a75,_0x4560b8){return _0x306755(_0x4560b8,_0x5e7a75- -_0x1adb3d._0xf25329);}super(_0x500ebc),this['options']['localStorageName']=this['options'][_0x4f6781(0x1313,0x18bf)]??'cesium-hasSeenNavHelp',this[_0x4f6781(0xb5f,0x360)]=_0x57859d(_0x4a87ad._0x20bf3d,0x11e5);function _0x57859d(_0x3b3f80,_0x261da2){return _0x2b6441(_0x3b3f80,_0x261da2-_0x2b091f._0x126e88);}this[_0x57859d(0x828,0xcf1)]='_wrapper';}get[_0x2b6441(-0x24d,0x4e9)](){const _0x4dc9df={_0x19e7b1:0x1668},_0x122874={_0x17db31:0x440};function _0x4c348b(_0xae538d,_0x14c33b){return _0x2b6441(_0x14c33b,_0xae538d-_0x122874._0x17db31);}if(this['options']['parentContainer'])return this['options']['parentContainer'];return this[_0x4c348b(_0x4dc9df._0x19e7b1,0x10e8)]['toolbar'];}['_createCzmControl'](){const _0x3ee4cf={_0x51f1c0:0x68c,_0x1778c6:0x1369,_0x357ef1:0x1933,_0x8ed795:0xf76,_0x39d779:0x1144},_0x4e6693={_0x32671f:0x35f};var _0x4eba3e;let _0x296e92=this['options']['firstOpen']??((_0x4eba3e=this['_map']['options'][_0xeeeb76(0xc12,0xf33)])===null||_0x4eba3e===void 0x0?void 0x0:_0x4eba3e[_0x1419cd(0x1134,_0x3ee4cf._0x51f1c0)])??!![];try{if(Cesium__namespace[_0x1419cd(_0x3ee4cf._0x1778c6,0x13f8)](window['localStorage'])){const _0x4aa2cb=window['localStorage']['getItem'](this['options'][_0x1419cd(_0x3ee4cf._0x357ef1,0x121f)]);Cesium__namespace['defined'](_0x4aa2cb)&&Boolean(_0x4aa2cb)?_0x296e92=![]:window[_0x1419cd(_0x3ee4cf._0x8ed795,_0x3ee4cf._0x39d779)]['setItem'](this['options']['localStorageName'],'true');}}catch(_0x90dbe5){}const _0x44b82f={};function _0x1419cd(_0x3456f8,_0x3f8a9c){return _0x306755(_0x3456f8,_0x3f8a9c- -0x3ba);}_0x44b82f['container']=this['_map']['toolbar'];function _0xeeeb76(_0x206463,_0x28533c){return _0x306755(_0x28533c,_0x206463- -_0x4e6693._0x32671f);}return _0x44b82f['instructionsInitiallyVisible']=_0x296e92,new Cesium__namespace['NavigationHelpButton'](_0x44b82f);}[_0x306755(0x2067,0x165e)](){const _0xf2ab66={_0x28d8cf:0x618,_0x56aa57:0x110d,_0x41653f:0xa02,_0x2d993a:0x16ff,_0x465069:0x159f,_0x5d971a:0x590,_0x275f59:0x95f,_0x5b6657:0x9b1,_0x30f57:0xbb1,_0x126dfa:0x738,_0x7f4da6:0xc42,_0x94405f:0x107d,_0x28d783:0x1126,_0x3bb1cc:0xae3,_0x30e167:0x573,_0x1d8087:0x5e6,_0x5e238a:0xb28,_0x163fbd:0x64e,_0x446fef:0xa85,_0x3849e3:0x614,_0x595ded:0x11c6},_0x4a1242={_0x4876f3:0x193},_0x2a741f={_0x514713:0x12b};if(this['options']['icon']){const _0x335e13=this[_0x1078ec(0x7ab,_0xf2ab66._0x28d8cf)][_0x2d4502(0x1613,_0xf2ab66._0x56aa57)][0x0];addClass(_0x335e13,'mar3d-toolButton'),this['_createIcon'](this['options']['icon'],_0x335e13,'',!![]);}const _0x9f1490=this['_map'][_0x1078ec(0x13f7,0xed0)];this[_0x1078ec(0x148e,0xf5a)](_0x9f1490,{'Navigation\x20Instructions':this[_0x2d4502(-0xad,0x95f)]('NavigationInstructions')},'cesium-navigation-help-button',_0x2d4502(0xcd6,_0xf2ab66._0x41653f));const _0x42f2db={'Mouse':this[_0x2d4502(0x3d4,0x95f)]('Mouse'),'Touch':this['getLangText']('Touch'),'Pan\x20view':this['getLangText']('PanView'),'Left\x20click\x20+\x20drag':this['getLangText'](_0x1078ec(0x1434,0x154e)),'Zoom\x20view':this['getLangText'](_0x1078ec(_0xf2ab66._0x2d993a,_0xf2ab66._0x465069)),'Right\x20click\x20+\x20drag,\x20or':this[_0x2d4502(_0xf2ab66._0x5d971a,_0xf2ab66._0x275f59)](_0x1078ec(_0xf2ab66._0x5b6657,_0xf2ab66._0x30f57)),'Mouse\x20wheel\x20scroll':this[_0x1078ec(_0xf2ab66._0x126dfa,_0xf2ab66._0x7f4da6)](_0x1078ec(_0xf2ab66._0x94405f,_0xf2ab66._0x28d783)),'Rotate\x20view':this['getLangText']('RotateView'),'Middle\x20click\x20+\x20drag,\x20or':this['getLangText']('MiddleClickDrag'),'CTRL\x20+\x20Left/Right\x20click\x20+\x20drag':this['getLangText'](_0x1078ec(0x116b,0x18cf)),'One\x20finger\x20drag':this['getLangText'](_0x1078ec(_0xf2ab66._0x3bb1cc,0x120b)),'Two\x20finger\x20pinch':this[_0x1078ec(0x1699,0xc42)]('TwoFingerPinch'),'Tilt\x20view':this[_0x1078ec(_0xf2ab66._0x30e167,_0xf2ab66._0x7f4da6)]('TiltView'),'Two\x20finger\x20drag,\x20same\x20direction':this['getLangText'](_0x2d4502(0x12f8,0x114b)),'Two\x20finger\x20drag,\x20opposite\x20direction':this['getLangText'](_0x1078ec(0xfb,0x406))};let _0x41bd49=_0x9f1490[_0x2d4502(_0xf2ab66._0x1d8087,_0xf2ab66._0x5e238a)](_0x1078ec(0xe2d,0x14f6));_0x41bd49['length']>0x0&&(_0x41bd49=_0x41bd49[0x0],_0x42f2db[_0x41bd49['textContent']]&&(_0x41bd49['innerHTML']=_0x41bd49['children'][0x0][_0x2d4502(0x1ce,_0xf2ab66._0x163fbd)]+_0x42f2db[_0x41bd49['textContent']]));function _0x1078ec(_0x1d16b6,_0x3b5ba8){return _0x306755(_0x1d16b6,_0x3b5ba8- -_0x2a741f._0x514713);}let _0x3e2e6f=_0x9f1490[_0x2d4502(_0xf2ab66._0x446fef,0xb28)](_0x1078ec(0x3b7,0x420));_0x3e2e6f['length']>0x0&&(_0x3e2e6f=_0x3e2e6f[0x0],_0x42f2db[_0x3e2e6f['textContent']]&&(_0x3e2e6f['innerHTML']=_0x3e2e6f[_0x2d4502(0xe5a,0x110d)][0x0]['outerHTML']+_0x42f2db[_0x3e2e6f['textContent']]));function _0x2d4502(_0x4f9154,_0xa28f98){return _0x2b6441(_0x4f9154,_0xa28f98-_0x4a1242._0x4876f3);}this[_0x1078ec(0x34e,0x956)](_0x9f1490,_0x42f2db,'cesium-navigation-help-pan'),this['_updateDomInnerHtml'](_0x9f1490,_0x42f2db,_0x1078ec(0x72e,0xdcc)),this[_0x1078ec(_0xf2ab66._0x3849e3,0x956)](_0x9f1490,_0x42f2db,'cesium-navigation-help-zoom'),this['_updateDomInnerHtml'](_0x9f1490,_0x42f2db,'cesium-navigation-help-rotate'),this['_updateDomInnerHtml'](_0x9f1490,_0x42f2db,_0x1078ec(_0xf2ab66._0x595ded,0x1683));}}register$2('navigationHelpButton',NavigationHelpButton);class ProjectionPicker extends BaseCzmControl{constructor(_0x17bf9a={}){const _0xa7fc56={_0x51884c:0xd3a,_0x25ae5c:0xae,_0x5c96d1:0x491,_0x587774:0x144d},_0x3fc3db={_0x1aa811:0xeb};super(_0x17bf9a),this[_0x5234e7(0x2d7,_0xa7fc56._0x51884c)]=_0x1c3e4f(_0xa7fc56._0x25ae5c,_0xa7fc56._0x5c96d1);function _0x1c3e4f(_0x3b0260,_0x28ff53){return _0x306755(_0x3b0260,_0x28ff53- -0x641);}function _0x5234e7(_0x49fbda,_0x4de891){return _0x306755(_0x49fbda,_0x4de891- -_0x3fc3db._0x1aa811);}this[_0x5234e7(0xf8d,0xc8f)]=_0x5234e7(0x13ed,_0xa7fc56._0x587774);}get['parentContainer'](){const _0x29349e={_0x28a6ca:0x808},_0x47200c={_0x33252e:0x31f};function _0x4ac16c(_0x2b47c8,_0x5beaef){return _0x2b6441(_0x5beaef,_0x2b47c8-_0x47200c._0x33252e);}if(this[_0x575e20(0x322,0xa10)]['parentContainer'])return this['options'][_0x4ac16c(_0x29349e._0x28a6ca,0x14f)];function _0x575e20(_0x31ba8b,_0x42751f){return _0x2b6441(_0x31ba8b,_0x42751f-0x354);}return this['_map']['toolbar'];}[_0x2b6441(0xc28,0xcea)](){const _0x531d94={_0x19c04b:0x1896};function _0x5e689c(_0x4d53b3,_0x4d1f2d){return _0x306755(_0x4d1f2d,_0x4d53b3-0xcd);}function _0x45420b(_0x573848,_0x34df89){return _0x2b6441(_0x34df89,_0x573848-0x47a);}return new Cesium__namespace['ProjectionPicker'](this[_0x5e689c(_0x531d94._0x19c04b,0x1aad)][_0x45420b(0x1031,0xd72)],this['_map'][_0x5e689c(0xb32,0x958)]);}['_updateLangText'](){const _0x49ba42={_0x431c4d:0x1149,_0x31af92:0x11d3},_0x5ba882={_0x435a76:0x6ef},_0x407d92=this[_0x454575(0x1e33,0x188c)][_0x33dd35(_0x49ba42._0x431c4d,0x129c)];function _0x454575(_0x61f01a,_0x1884da){return _0x306755(_0x61f01a,_0x1884da-0xc3);}function _0x33dd35(_0x4e8b6b,_0x499592){return _0x2b6441(_0x499592,_0x4e8b6b-_0x5ba882._0x435a76);}const _0x3fdc60={'Perspective\x20Projection':this['getLangText']('PerspectiveProjection'),'Orthographic\x20Projection':this['getLangText']('OrthographicProjection')};this[_0x33dd35(_0x49ba42._0x31af92,0x18e2)](_0x407d92,_0x3fdc60,_0x454575(0x1194,0xdf8),'title'),this['_updateDomAttribute'](_0x407d92,_0x3fdc60,'cesium-projectionPicker-dropDown-icon','title');}}register$2(_0x2b6441(0x852,0xcfd),ProjectionPicker);class SceneModePicker extends BaseCzmControl{constructor(_0x1f899d={}){const _0x26257a={_0x39589f:0x655};super(_0x1f899d),this['_czmControlKey']='_sceneModePicker';function _0xe0f7c9(_0x60ba85,_0x882755){return _0x2b6441(_0x60ba85,_0x882755-0x26c);}this[_0xe0f7c9(_0x26257a._0x39589f,0xa45)]='_wrapper';}get['parentContainer'](){const _0x3299b8={_0x46961c:0x672};function _0x3685c0(_0x483adc,_0x5f3afd){return _0x2b6441(_0x5f3afd,_0x483adc-0x50);}if(this['options'][_0x57ec9e(_0x3299b8._0x46961c,0xbaa)])return this[_0x57ec9e(0xda7,0xd7d)]['parentContainer'];function _0x57ec9e(_0x4c8f98,_0x116ffd){return _0x306755(_0x4c8f98,_0x116ffd-0x120);}return this[_0x57ec9e(0x201a,0x18e9)]['toolbar'];}['_createCzmControl'](){return new Cesium__namespace['SceneModePicker'](this['_map']['toolbar'],this['_map']['scene']);}[_0x2b6441(0x8cb,0x10bd)](){const _0x34f6f4={_0x59a515:0xdb3,_0x6e33b6:0xac0,_0x41d4b2:0x1e72,_0x499727:0x101b,_0x1318bb:0x1541,_0x3f4613:0x1413};function _0x219e8a(_0x2d32d9,_0x2099d1){return _0x2b6441(_0x2d32d9,_0x2099d1-0x5dd);}const _0x2bcd18=this['_map'][_0x219e8a(_0x34f6f4._0x59a515,0x1037)],_0x50136f={'2D':this['getLangText'](_0x568095(_0x34f6f4._0x6e33b6,0xcd2)),'3D':this[_0x219e8a(0x7c8,0xda9)](_0x568095(0xcbb,0xd9d)),'Columbus\x20View':this['getLangText']('ColumbusView')};function _0x568095(_0x3e77ef,_0x1dee42){return _0x2b6441(_0x1dee42,_0x3e77ef-0x537);}this['_updateDomAttributeByEvent'](_0x2bcd18,_0x50136f,'cesium-sceneModePicker-button3D','title',_0x219e8a(_0x34f6f4._0x41d4b2,0x18af)),this[_0x568095(_0x34f6f4._0x499727,_0x34f6f4._0x1318bb)](_0x2bcd18,_0x50136f,_0x568095(_0x34f6f4._0x3f4613,0x11fe),'title');}['_addedHook'](){const _0x355d5b={_0x1305b4:0x93d,_0x5cc58b:0x104e},_0x153033={_0x35cb49:0x2f8};function _0x214121(_0x314b90,_0x14dbf0){return _0x306755(_0x314b90,_0x14dbf0- -_0x153033._0x35cb49);}super['_addedHook']();function _0x315d6f(_0x4052ac,_0x5a3037){return _0x306755(_0x5a3037,_0x4052ac- -0x61d);}this[_0x315d6f(_0x355d5b._0x1305b4,_0x355d5b._0x5cc58b)]['viewModel']['duration']=this[_0x214121(0x11cc,0x965)]['duration']??0x0;}}register$2('sceneModePicker',SceneModePicker);class Timeline extends BaseCzmControl{constructor(_0xcdccc4={}){super(_0xcdccc4),this['_czmControlKey']='_timeline',this['_czmContainerKey']='container';}['_createCzmContainer'](){const _0x44a820={_0x326821:0x1727},_0x132482={_0x2a6ce9:0xfc};function _0xe58b03(_0x280b9a,_0x4281d4){return _0x2b6441(_0x4281d4,_0x280b9a-0x66b);}const _0x592f31=create$4('div','cesium-viewer-timelineContainer');function _0xa1e60(_0x112ced,_0x57888a){return _0x2b6441(_0x112ced,_0x57888a-_0x132482._0x2a6ce9);}return _0x592f31['style'][_0xe58b03(0x106e,_0x44a820._0x326821)]='0',_0x592f31['style'][_0xe58b03(0x15f9,0x1954)]='0',_0x592f31;}['_createCzmControl'](){const _0x27c64c={_0x4d23a4:0xfa4,_0x4a3a14:0x164f,_0xbd11f4:0xe6c,_0x3bcd80:0x4f8},_0x5ceab7={_0x30e6f2:0x32},_0x11a34a={_0x399014:0x18f},_0x404fb7={_0x3b1c86:0x22b4,_0x10a650:0x183c,_0x4d1558:0xac1,_0xf70cc3:0xf84,_0x3fdaa2:0x5e4,_0x10c322:0xa5d,_0x29511b:0x94},_0x326edb=this;function _0x5c6223(_0x5791b8,_0x56e0a7){return _0x2b6441(_0x56e0a7,_0x5791b8-0x536);}if(!this['options']['format']||this[_0x5ca5e8(0x1478,0xc8f)][_0x5c6223(0x1532,_0x27c64c._0x4d23a4)]==='simplify')Cesium__namespace[_0x5c6223(0x471,0x400)]['prototype']['makeLabel']=function(_0xeacbdb){const _0x3b340e=Cesium__namespace[_0x277a2c(_0x404fb7._0x3b1c86,0x183c)]['toDate'](this[_0x24d77d(0xcef,0x609)]),_0x2cfe0e=Cesium__namespace[_0x277a2c(0xe9f,_0x404fb7._0x10a650)][_0x24d77d(0x68b,0x6c8)](this['_endJulian']),_0x2551de=_0x2cfe0e['getFullYear']()-_0x3b340e['getFullYear'](),_0x4f0459=_0x2cfe0e[_0x277a2c(0x119c,0x9a9)]()-_0x3b340e[_0x24d77d(0x80b,0x5b0)](),_0x3bbc1c=_0x2cfe0e['getDate']()-_0x3b340e[_0x277a2c(0x459,0xec4)](),_0x4ae156=_0x2cfe0e[_0x24d77d(0xd78,0x123e)]()-_0x3b340e['getHours']();function _0x24d77d(_0x539a88,_0x3ce938){return _0x5c6223(_0x3ce938- -0x543,_0x539a88);}const _0x39db91=_0x2cfe0e['getMinutes']()-_0x3b340e['getMinutes'](),_0x4c4729=_0x2cfe0e['getSeconds']()-_0x3b340e[_0x24d77d(0x85f,0x1166)](),_0x10af77=Cesium__namespace[_0x277a2c(0x116c,0x183c)][_0x277a2c(0x1308,_0x404fb7._0x4d1558)](_0xeacbdb);if(_0x2551de===0x0){if(_0x4f0459===0x0&&_0x3bbc1c<0xa){if(_0x3bbc1c===0x0){if(_0x4ae156===0x0){if(_0x39db91===0x0&&_0x4c4729<0xa){if(_0x4c4729===0x0)return formatDate(_0x10af77,'S');return formatDate(_0x10af77,_0x277a2c(_0x404fb7._0xf70cc3,0x1387));}return formatDate(_0x10af77,_0x277a2c(-0x4a9,_0x404fb7._0x3fdaa2));}return formatDate(_0x10af77,'HH:mm:ss');}return formatDate(_0x10af77,'MM-dd\x20HH:mm');}return formatDate(_0x10af77,'MM-dd');}function _0x277a2c(_0x4be3a2,_0x51ad16){return _0x5c6223(_0x51ad16- -0x14a,_0x4be3a2);}return formatDate(_0x10af77,_0x24d77d(-_0x404fb7._0x10c322,-_0x404fb7._0x29511b));};else this[_0x5ca5e8(_0x27c64c._0x4a3a14,0xc8f)][_0x5c6223(0x1532,0xccc)]===_0x5ca5e8(_0x27c64c._0xbd11f4,_0x27c64c._0x3bcd80)&&(Cesium__namespace['Timeline']['prototype']['makeLabel']=function(_0x4265b6){const _0x531f20={_0x22445e:0x501};function _0x26a719(_0x37bc50,_0xba292d){return _0x5c6223(_0x37bc50- -_0x531f20._0x22445e,_0xba292d);}const _0x1282b2=Cesium__namespace[_0x26a719(0x1485,0x11c4)]['secondsDifference'](_0x4265b6,this[_0x2d627e(0x6e5,_0x11a34a._0x399014)]);function _0x2d627e(_0x121c12,_0x45b279){return _0x5ca5e8(_0x45b279,_0x121c12- -0x504);}return formatTime(_0x1282b2,{'digits':0x1,'getLangText':_0x326edb['getLangText']['bind'](_0x326edb)});});function _0x5ca5e8(_0x569821,_0x12d2d0){return _0x306755(_0x569821,_0x12d2d0-_0x5ceab7._0x30e6f2);}return new Cesium__namespace['Timeline'](this['_container'],this['_map']['clock']);}['_addedHook'](){const _0x2c6f26={_0x5c67ea:0xbe1,_0x2acd36:0x152,_0x14cfc:0xce5,_0xe36a50:0xede},_0x1681cd={_0x1e3f04:0x207};super['_addedHook']();function _0x31524b(_0x3f71db,_0x450868){return _0x2b6441(_0x3f71db,_0x450868-0x525);}function _0x3a86d7(_0x4d745b,_0x1bcbc5){return _0x306755(_0x4d745b,_0x1bcbc5- -0x56d);}const _0x5e869d=this[_0x31524b(0x226,_0x2c6f26._0x5c67ea)]['zoom']??!![],_0x1e7448=this['_czmContrl']['zoomFrom'];this['_czmContrl']['zoomFrom']=function(_0x4e60fa){const _0x37c15f={_0x44b8bb:0x1fb};function _0x4460e0(_0x3efaad,_0x12ba32){return _0x31524b(_0x12ba32,_0x3efaad- -_0x37c15f._0x44b8bb);}if(!_0x5e869d)return;return _0x1e7448[_0x4460e0(0x11d8,0x151d)](this)(_0x4e60fa);};const _0x1d64a5=(this['options'][_0x3a86d7(_0x2c6f26._0x2acd36,0x5d4)]??0x1)*0xa,_0x2cc1a0=this[_0x31524b(_0x2c6f26._0x14cfc,_0x2c6f26._0xe36a50)]['zoomTo'];this['_czmContrl']['zoomTo']=function(_0x2e7f69,_0xd60301){function _0x33f9e9(_0x88bf0b,_0x33cd8c){return _0x31524b(_0x33cd8c,_0x88bf0b- -0x2d8);}function _0x5138ff(_0x2e472d,_0x2b0ada){return _0x31524b(_0x2e472d,_0x2b0ada- -_0x1681cd._0x1e3f04);}const _0x3c270b=Cesium__namespace[_0x33f9e9(0x169d,0x170c)][_0x33f9e9(0xbc4,0x3fd)](_0xd60301,_0x2e7f69);if(_0x3c270b>_0x1d64a5)return _0x2cc1a0['bind'](this)(_0x2e7f69,_0xd60301);},this[_0x31524b(0xde4,0xede)]['addEventListener'](_0x31524b(0x13fb,0xf9c),this['onTimelineScrubfunction'],![]),this['zoomTo'](this['_map']['clock'][_0x3a86d7(-0xfd,0x97b)],this['_map']['clock'][_0x3a86d7(-0x4cc,0x444)]);}[_0x2b6441(0x925,0xc73)](_0x3d2b7b){const _0x102662={_0x5d08f3:0x5f4},_0x3fd752={_0x4ab0e7:0x345},_0x28efc0=_0x3d2b7b['clock'];function _0x4daaac(_0x158df0,_0x19f82c){return _0x2b6441(_0x19f82c,_0x158df0-_0x3fd752._0x4ab0e7);}_0x28efc0['currentTime']=_0x3d2b7b[_0x4daaac(_0x102662._0x5d08f3,-0x371)],_0x28efc0['shouldAnimate']=![];}[_0x2b6441(0xc66,0x542)](_0x5563f6,_0x3d680d){clearTimeout(this['_timeTik']),this['_timeTik']=setTimeout(()=>{this['isAdded']&&this['_czmContrl']['zoomTo'](_0x5563f6,_0x3d680d);},0x258);}['resize'](){const _0x5da1f6={_0x29d9ad:0x5cd};function _0x26a429(_0x135690,_0x382eb3){return _0x306755(_0x382eb3,_0x135690- -0x2b5);}function _0x10f66d(_0x6ca99d,_0x15936c){return _0x306755(_0x15936c,_0x6ca99d- -0x4e7);}this[_0x10f66d(0xa73,0x13e0)][_0x26a429(0x23c,_0x5da1f6._0x29d9ad)]();}['_removedBeforeHook'](){const _0x1eca8a={_0x2e0328:0xd84,_0x4fd25b:0xb73},_0x10e0e5={_0x2c77df:0x1ba};this[_0x441e4e(_0x1eca8a._0x2e0328,_0x1eca8a._0x4fd25b)]['removeEventListener']('settime',this['onTimelineScrubfunction'],![]);function _0x441e4e(_0x2dfd5c,_0x3338dc){return _0x2b6441(_0x2dfd5c,_0x3338dc-_0x10e0e5._0x2c77df);}super['_removedBeforeHook']();}[_0x2b6441(0x84b,0x125d)](_0x41edc1){const _0x7a0679={_0x69e144:0x332,_0x39105d:0x100b};function _0x18e6ea(_0x12b75c,_0x347fd3){return _0x2b6441(_0x12b75c,_0x347fd3-0x3fa);}function _0x36355a(_0x2ba685,_0x2c2525){return _0x2b6441(_0x2c2525,_0x2ba685-0x7d);}_0x41edc1[_0x36355a(_0x7a0679._0x69e144,-0x23a)][_0x36355a(_0x7a0679._0x39105d,0xbd3)]=_0x36355a(0xfb4,0xf90);}}register$2(_0x306755(0x1a26,0x115f),Timeline);class VRButton extends BaseCzmControl{constructor(_0x5d0685={}){const _0x51640d={_0x3cbecd:0x81b,_0x3edb35:0xe96,_0x14e05a:0x861},_0x3e66de={_0x50d886:0x6bd},_0xcb924d={_0x2f49b9:0x60a};super(_0x5d0685),this[_0x18fac3(0x9d1,_0x51640d._0x3cbecd)]=_0x18fac3(0xd5a,0xf1b);function _0x18fac3(_0x66d22f,_0x226ec5){return _0x306755(_0x66d22f,_0x226ec5- -_0xcb924d._0x2f49b9);}function _0xdbadfc(_0x3a7e3f,_0x177edf){return _0x2b6441(_0x177edf,_0x3a7e3f-_0x3e66de._0x50d886);}this[_0xdbadfc(_0x51640d._0x3edb35,_0x51640d._0x14e05a)]=_0xdbadfc(0x85f,0x1052);}get[_0x306755(0x201,0xa8a)](){const _0x51740c={_0x4505e4:0x1d6},_0x13febb={_0x5851eb:0x28e},_0x3059e8={_0x19b5ee:0x3be};function _0x24ee38(_0x7b938b,_0x50e7f2){return _0x306755(_0x50e7f2,_0x7b938b- -_0x3059e8._0x19b5ee);}function _0x409fc3(_0x247480,_0x3075e7){return _0x306755(_0x247480,_0x3075e7- -_0x13febb._0x5851eb);}if(this['options'][_0x409fc3(-_0x51740c._0x4505e4,0x7fc)])return this[_0x409fc3(0x80f,0x9cf)]['parentContainer'];return this['_map'][_0x24ee38(0xd9a,0xd68)];}['_createCzmContainer'](){const _0x21c125={_0x5ab81d:0x16a};function _0x1790ff(_0x1b9bf9,_0xfb9c98){return _0x306755(_0x1b9bf9,_0xfb9c98- -_0x21c125._0x5ab81d);}return create$4('div',_0x1790ff(0x844,0x4a1));}['_createCzmControl'](){const _0x494e2c={_0x519a42:0x943,_0x420d58:0xe1e,_0x284ec8:0x352,_0x416bf2:0xbc1,_0x508b24:0x9c3},_0xba3093={_0x581187:0x1fd};var _0x2f3899;function _0x16a31b(_0x1e6a9f,_0x31e361){return _0x2b6441(_0x31e361,_0x1e6a9f-0x44e);}function _0xb17c47(_0x20b927,_0x20cd95){return _0x2b6441(_0x20b927,_0x20cd95-_0xba3093._0x581187);}const _0xb80abe=this[_0xb17c47(_0x494e2c._0x519a42,0x8b9)]['fullscreenElement']||((_0x2f3899=this['_map']['options'][_0x16a31b(_0x494e2c._0x420d58,_0x494e2c._0x284ec8)])===null||_0x2f3899===void 0x0?void 0x0:_0x2f3899['fullscreenElement']);return new Cesium__namespace[(_0xb17c47(_0x494e2c._0x416bf2,_0x494e2c._0x508b24))](this[_0x16a31b(0x5f0,0xe8d)],this['_map']['scene'],_0xb80abe);}[_0x306755(0x1bb7,0x17fe)](_0xf42f72){const _0x4ca357={_0x42204f:0x8c1,_0x295894:0xf76,_0x271630:0xe26,_0x2728a1:0x14ef,_0x266fd4:0x4c8};var _0x85bc63;function _0x3d1b37(_0x285efb,_0x4cabf8){return _0x306755(_0x4cabf8,_0x285efb- -0x5c2);}function _0x5d22f9(_0x112a28,_0x135596){return _0x306755(_0x135596,_0x112a28-0xd8);}removeClass(_0xf42f72,'cesium-viewer-vrContainer'),addClass(_0xf42f72,'cesium-button\x20cesium-toolbar-button\x20mars3d-vrButton'),_0xf42f72[_0x3d1b37(0x5c2,0x641)]['removeChild'](_0xf42f72);const _0x592621=(_0x85bc63=this['viewer'][_0x3d1b37(-0xa2,-_0x4ca357._0x42204f)])===null||_0x85bc63===void 0x0?void 0x0:_0x85bc63[_0x3d1b37(_0x4ca357._0x295894,0x19f1)];_0x592621?this[_0x5d22f9(0xb62,0x318)][_0x5d22f9(_0x4ca357._0x271630,_0x4ca357._0x2728a1)](_0xf42f72,_0x592621):this[_0x3d1b37(_0x4ca357._0x266fd4,-0x335)][_0x3d1b37(0xa6f,0xc1d)](_0xf42f72);}[_0x306755(0xd3e,0x165e)](){const _0x5bd55f={_0x187cbf:0x5c1,_0x59042b:0xd98};function _0x40b374(_0x2b554c,_0x4c6a0c){return _0x2b6441(_0x2b554c,_0x4c6a0c-0x6d);}const _0x22f9d4=this['_map'][_0x40b374(0xbc1,0xac7)],_0x8cb5b8={'Enter\x20VR\x20mode':this['getLangText']('EnterVRMode'),'Exit\x20VR\x20mode':this['getLangText'](_0x40b374(0x1208,0x7ad)),'VR\x20mode\x20is\x20unavailable':this['getLangText'](_0x439052(0x1407,0x16e5))};function _0x439052(_0x589abd,_0x591325){return _0x306755(_0x591325,_0x589abd- -0x1eb);}this[_0x40b374(0xe6f,_0x5bd55f._0x187cbf)](_0x22f9d4,_0x8cb5b8,_0x439052(0x11e9,_0x5bd55f._0x59042b),'title',_0x40b374(0xf1b,0x133f));}}register$2('vrButton',VRButton);class LocationBar extends BaseControl{constructor(_0x4cd965={}){const _0xa53722={_0x19c09d:0x6d0};function _0x1063b3(_0x2f990e,_0x539396){return _0x306755(_0x539396,_0x2f990e- -0x295);}function _0x535c5c(_0x1e1f75,_0x3a8e03){return _0x2b6441(_0x1e1f75,_0x3a8e03-_0xa53722._0x19c09d);}super(_0x4cd965),this[_0x1063b3(0x9c8,0x694)]['cacheTime']=this['options'][_0x1063b3(0xf45,0x55a)]??0x32,this['locationData']={};}['_mountedHook'](){const _0x671441={_0xeed1a6:0x13dd,_0x43452f:0x4e5,_0x2c2f0d:0x214b,_0x268e72:0x3d7,_0x24f1ae:0x17f7,_0x480f5e:0x6d1,_0x55f4eb:0xcd6,_0x366369:0xfa7,_0x48359e:0x750,_0x403c30:0x2f8,_0x3202fa:0xb0f,_0xdb4b6:0xeea,_0x1e9c22:0x866,_0x520691:0x6ce,_0x4b3e5e:0xf58,_0x1c32e8:0x1266},_0x4ac9e6={_0x3581ea:0x5b1};Cesium__namespace[_0x2dc49c(0x1226,_0x671441._0xeed1a6)](this['options']['template'])?Array['isArray'](this['options']['template'])?this[_0x2dc49c(0xa0b,0xcf6)]=this['options'][_0x219032(0xfa7,_0x671441._0x43452f)][this[_0x2dc49c(0x123d,0x11ac)][_0x2dc49c(0x7ec,0xab6)]]:this['template']=this['options']['template']:this['template']='<div>经度:{lng}</div>\x20<div>纬度:{lat}</div><div>海拔:{alt}米</div>\x20<div\x20class=\x27hide700\x27>层级:{level}</div><div>方向:{heading}°</div>\x20<div>俯仰角:{pitch}°</div><div\x20class=\x27hide700\x27>视高:{cameraHeight}米</div><div>{fps}\x20FPS</div><div>{ms}\x20MS</div>';function _0x2dc49c(_0x745733,_0x152879){return _0x2b6441(_0x152879,_0x745733-0x15);}if(Cesium__namespace[_0x219032(0x17c2,_0x671441._0x2c2f0d)](this['options']['crs'])){if(isString(this[_0x2dc49c(0x6d1,-_0x671441._0x268e72)][_0x219032(0x19aa,_0x671441._0x24f1ae)]))this['_crs']=this[_0x2dc49c(_0x671441._0x480f5e,_0x671441._0x55f4eb)]['crs'];else this['options']['crs']&&(this['_crs']=CRS['CGCS2000_GK_Zone_3']);}else isString(this[_0x219032(_0x671441._0x366369,0xe0f)])&&this['template']['indexOf'](_0x2dc49c(0x359,-_0x671441._0x48359e))!==-0x1&&(this['_crs']=CRS[_0x2dc49c(0x1300,0xeeb)]);this['_container']=create$4(_0x2dc49c(_0x671441._0x403c30,_0x671441._0x3202fa),_0x219032(_0x671441._0xdb4b6,0x18a5)+this[_0x2dc49c(0x42b,0x5d5)]),this['_containerCon']=create$4('div','mars3d-locationbar-content',this['_container']);this[_0x2dc49c(0x6d1,0xf61)]['style']?this['setStyle'](this['options'][_0x219032(_0x671441._0x1e9c22,_0x671441._0x520691)]):(this['_autoStyle']=!![],this['_updateControlHandler']());this[_0x219032(0x1758,0x100b)]=Cesium__namespace['getTimestamp'](),this[_0x2dc49c(0x33c,0xaf)]=Cesium__namespace['getTimestamp']();function _0x219032(_0x575cbe,_0x1c4e84){return _0x2b6441(_0x1c4e84,_0x575cbe-_0x4ac9e6._0x3581ea);}this[_0x2dc49c(0x12ea,_0x671441._0x4b3e5e)]=0x0,this[_0x2dc49c(0x3a9,0xa8e)]=0x0,this['locationData']['fps']='',this[_0x2dc49c(0xfcb,_0x671441._0x1c32e8)]['ms']='';}['_addedHook'](){const _0x4f92fa={_0x4a88ba:0xc57,_0x1dc1cb:0x1399,_0x171385:0xc1e,_0x8d3e79:0x16a5,_0x4f2ac8:0x1212,_0x3d5635:0xa28,_0x47a5a4:0x2be,_0x32651f:0x38c},_0xea5f18={_0x2fd69c:0x191};this[_0x184e13(0x1a8f,0x1638)]['on'](EventType['preRender'],this['_map_preRenderHandler'],this);function _0x297a3b(_0x37990c,_0x573357){return _0x306755(_0x37990c,_0x573357- -0x5b7);}this[_0x184e13(_0x4f92fa._0x4a88ba,0x1638)]['on'](EventType['mouseMove'],this[_0x297a3b(_0x4f92fa._0x1dc1cb,_0x4f92fa._0x171385)],this);function _0x184e13(_0x3f6997,_0x15ffd4){return _0x306755(_0x3f6997,_0x15ffd4- -_0xea5f18._0x2fd69c);}this['_map']['on'](EventType['cameraMoveEnd'],this['_cameraHandler'],this),this[_0x297a3b(_0x4f92fa._0x8d3e79,_0x4f92fa._0x4f2ac8)]['on'](EventType['addControl'],this['_updateControlHandler'],this),this[_0x297a3b(_0x4f92fa._0x3d5635,_0x4f92fa._0x4f2ac8)]['on'](EventType[_0x297a3b(_0x4f92fa._0x47a5a4,0x819)],this[_0x297a3b(_0x4f92fa._0x32651f,0xdfe)],this),this['_cameraHandler']();}['_removedHook'](){const _0x4d8208={_0x24361c:0x1282,_0x27ae30:0x1d56,_0x1afaae:0xc11,_0x56f46d:0xa96,_0x144c84:0x1466,_0x2a1fac:0x1824,_0x2fb9a7:0x11cd};function _0xc768e(_0x272094,_0x2b54c8){return _0x306755(_0x2b54c8,_0x272094- -0x379);}this[_0x43c2f1(_0x4d8208._0x24361c,0x1824)]['off'](EventType['preRender'],this['_map_preRenderHandler'],this),this[_0x43c2f1(_0x4d8208._0x27ae30,0x1824)]['off'](EventType['mouseMove'],this['_mouseMoveHandler'],this),this['_map']['off'](EventType[_0xc768e(_0x4d8208._0x1afaae,_0x4d8208._0x56f46d)],this['_cameraHandler'],this),this[_0x43c2f1(_0x4d8208._0x144c84,_0x4d8208._0x2a1fac)]['off'](EventType['addControl'],this['_updateControlHandler'],this);function _0x43c2f1(_0x34ab1c,_0x56bebb){return _0x2b6441(_0x34ab1c,_0x56bebb-0x5fc);}this['_map'][_0x43c2f1(0xfd,0x9c7)](EventType[_0xc768e(0xa57,_0x4d8208._0x2fb9a7)],this['_updateControlHandler'],this);}[_0x306755(0x114c,0x15d6)](){const _0x10bcda={_0x16fc7e:0x96b,_0x188266:0xcee};function _0x1f4703(_0x57c9d3,_0x2ba86a){return _0x2b6441(_0x57c9d3,_0x2ba86a-0x21f);}function _0x214806(_0x16bd7a,_0x43ac16){return _0x2b6441(_0x43ac16,_0x16bd7a-0x681);}if(!this['enabled'])return;const _0x589832=this[_0x1f4703(0x179f,0x1447)]['getCenter']();_0x589832&&this[_0x214806(_0x10bcda._0x16fc7e,_0x10bcda._0x188266)](_0x589832);}[_0x2b6441(0x1063,0xc34)](_0x3a79eb){const _0x2823af={_0xe01276:0x181c},_0x201962={_0x4a990f:0x10c5,_0x571671:0xc0a,_0x39d77f:0x204},_0x21f1c9={_0x5b9105:0x59f};function _0x3896cf(_0x58bfca,_0x3f153e){return _0x2b6441(_0x3f153e,_0x58bfca-_0x21f1c9._0x5b9105);}this['moveTimer']&&(clearTimeout(this[_0x1d6335(0x181c,0x19a7)]),delete this['moveTimer']);function _0x1d6335(_0x20dc97,_0x35699a){return _0x306755(_0x35699a,_0x20dc97-0xcf);}this[_0x1d6335(_0x2823af._0xe01276,0x1bd8)]=setTimeout(()=>{function _0x24671a(_0x577fc4,_0x33e340){return _0x1d6335(_0x577fc4- -0x633,_0x33e340);}delete this['moveTimer'];if(!this[_0x4aedb0(_0x201962._0x4a990f,0xf8d)])return;const _0x402e27=_0x3a79eb[_0x24671a(_0x201962._0x571671,_0x201962._0x39d77f)];function _0x4aedb0(_0x49d40e,_0x4648c3){return _0x3896cf(_0x4648c3- -0x341,_0x49d40e);}_0x402e27&&this['_templateHtml'](LngLatPoint[_0x4aedb0(0x818,0x6ac)](_0x402e27));},this[_0x1d6335(0xd2c,0x169c)][_0x1d6335(0x12a9,0x193b)]);}['_templateHtml'](_0x1e312a){const _0x2b5825={_0x51ef51:0xe52,_0x411b72:0xce3,_0x238370:0x87e,_0x1db207:0x4e2,_0x251c29:0xabd,_0x35c961:0xd4f,_0x3bbd34:0x1098,_0xbaaaa7:0xc30,_0x15981c:0x1108,_0x5bccc5:0x84f,_0x100d95:0xc79,_0x3a91d3:0x13b1,_0x4d9e5e:0x15aa,_0x914a88:0x1700,_0x275a86:0x148e,_0x2cadaf:0x1700,_0x42c285:0xf15,_0x1b82c6:0x935,_0x55a2ef:0xf9f,_0x202f7f:0x113f,_0x556caa:0x1806,_0x3f4a02:0x113f,_0x23bffc:0xd66,_0x4caf18:0x12f,_0x25d3d7:0x845,_0x5994c2:0xdfb,_0x3b9500:0x13fb,_0x10953c:0xece,_0x4fa256:0xc2b,_0x28e7cf:0x147a,_0x504ecb:0x9d6},_0x1e26b8={_0x6e1266:0x418};this[_0x372f4f(0x148e,0x19ea)]['cameraHeight']=this['_map'][_0x372f4f(0xf7f,_0x2b5825._0x51ef51)][_0x372f4f(_0x2b5825._0x411b72,_0x2b5825._0x238370)][_0x1b11f8(_0x2b5825._0x1db207,0x7da)]['toFixed'](LngLatPoint[_0x1b11f8(0xae,_0x2b5825._0x251c29)]);function _0x1b11f8(_0x3de346,_0x12c497){return _0x306755(_0x3de346,_0x12c497- -_0x1e26b8._0x6e1266);}this['locationData']['heading']=Cesium__namespace['Math'][_0x372f4f(_0x2b5825._0x35c961,0x4ae)](this['_map'][_0x1b11f8(_0x2b5825._0x3bbd34,_0x2b5825._0xbaaaa7)][_0x372f4f(_0x2b5825._0x15981c,0x1803)])['toFixed'](0x0),this['locationData'][_0x372f4f(0xadc,0xec0)]=Cesium__namespace[_0x372f4f(0x12a2,_0x2b5825._0x5bccc5)]['toDegrees'](this[_0x1b11f8(_0x2b5825._0x100d95,_0x2b5825._0x3a91d3)]['camera']['pitch'])[_0x1b11f8(0xd17,_0x2b5825._0x4d9e5e)](0x0),this['locationData']['level']=this[_0x372f4f(_0x2b5825._0x914a88,0x20ee)]['level'],this[_0x372f4f(_0x2b5825._0x275a86,0xab3)][_0x1b11f8(0x90c,0x4f)]=formatNum$1(this[_0x372f4f(_0x2b5825._0x2cadaf,0x101d)]['getRealAlt'](_0x1e312a['alt']),LngLatPoint['FormatAltLength']);const _0x106a93=this['options'][_0x1b11f8(0x78c,_0x2b5825._0x42c285)]??LngLatPoint[_0x1b11f8(0x77,0x9df)];this['locationData'][_0x372f4f(_0x2b5825._0x1b82c6,0xb1d)]=_0x1e312a[_0x372f4f(0x935,0x9b3)]['toFixed'](_0x106a93),this[_0x1b11f8(_0x2b5825._0x55a2ef,_0x2b5825._0x202f7f)][_0x1b11f8(0xc86,0x526)]=_0x1e312a['lat']['toFixed'](_0x106a93);if(this[_0x372f4f(0x144d,0x1498)]){const _0xb4a752=this['options']['crsDecimal']??0x1,_0xf617ca=proj4Trans([_0x1e312a['lng'],_0x1e312a['lat']],'EPSG:4326',this['_crs']);_0xf617ca[0x0]===_0x1e312a['lng']?this[_0x1b11f8(0x178b,_0x2b5825._0x202f7f)]['crsx']='':this[_0x1b11f8(_0x2b5825._0x556caa,_0x2b5825._0x3f4a02)]['crsx']=_0xf617ca[0x0]['toFixed'](_0xb4a752),_0xf617ca[0x1]===_0x1e312a['lat']?this['locationData'][_0x1b11f8(0x76a,_0x2b5825._0x23bffc)]='':this['locationData']['crsy']=_0xf617ca[0x1]['toFixed'](_0xb4a752);}let _0x340cd3;typeof this['template']==='function'?_0x340cd3=this['template'](this['locationData']):(this[_0x1b11f8(_0x2b5825._0x4caf18,_0x2b5825._0x25d3d7)]['formatData']&&(this[_0x372f4f(_0x2b5825._0x275a86,0x171c)]=this['options'][_0x372f4f(_0x2b5825._0x5994c2,0x799)](this[_0x1b11f8(_0x2b5825._0x3b9500,0x113f)])),_0x340cd3=template(this[_0x372f4f(_0x2b5825._0x10953c,0x1326)],this['locationData']));function _0x372f4f(_0x2c550e,_0x28cd07){return _0x2b6441(_0x28cd07,_0x2c550e-0x4d8);}this['_containerCon'][_0x1b11f8(_0x2b5825._0x4fa256,_0x2b5825._0x28e7cf)]=_0x340cd3,this['fire'](EventType[_0x1b11f8(0x7a2,_0x2b5825._0x504ecb)]);}['_updateControlHandler'](_0xd68210){const _0x162bf2={_0x44de87:0x134e,_0x26a6fc:0x185d,_0x1664f0:0x1486,_0x531448:0x1726,_0xb1062d:0x13be,_0x519452:0x151e,_0x43e8d3:0xdf2,_0x1bd437:0x40f,_0x497a26:0x1540,_0x53178d:0xc36,_0x2b5ab9:0x18f},_0x34b4d0={_0x4f196e:0x1c7},_0x357542={_0x1a376f:0xd4};function _0x47deb6(_0x4d4d6a,_0x4f7a2d){return _0x306755(_0x4f7a2d,_0x4d4d6a- -_0x357542._0x1a376f);}var _0x4d90b6,_0x32a1ca;function _0x5e39bd(_0x3df3e3,_0x14f648){return _0x2b6441(_0x3df3e3,_0x14f648-_0x34b4d0._0x4f196e);}if(this[_0x47deb6(_0x162bf2._0x44de87,_0x162bf2._0x26a6fc)]&&(!_0xd68210||((_0x4d90b6=_0xd68210[_0x47deb6(0xe9d,_0x162bf2._0x1664f0)])===null||_0x4d90b6===void 0x0?void 0x0:_0x4d90b6[_0x47deb6(0x158f,_0x162bf2._0x531448)])===_0x47deb6(_0x162bf2._0xb1062d,_0x162bf2._0x519452)||((_0x32a1ca=_0xd68210['control'])===null||_0x32a1ca===void 0x0?void 0x0:_0x32a1ca['type'])===_0x5e39bd(0x326,0xd85))){var _0x308350,_0x5e9367;this[_0x5e39bd(_0x162bf2._0x43e8d3,_0x162bf2._0x1bd437)]({'left':(_0x308350=this['_map']['control']['animation'])!==null&&_0x308350!==void 0x0&&_0x308350['show']?_0x47deb6(_0x162bf2._0x497a26,0x2010):'0','right':'0','bottom':(_0x5e9367=this['_map']['control']['timeline'])!==null&&_0x5e9367!==void 0x0&&_0x5e9367['show']?_0x47deb6(_0x162bf2._0x53178d,_0x162bf2._0x2b5ab9):'0'});}}[_0x306755(0xaa3,0x1178)](_0x3a8fd8){const _0x262032={_0x502c28:0x9cc},_0x572483=Cesium__namespace['getTimestamp']();this['_fpsFrameCount']++;function _0x1c3e4b(_0x5a7353,_0x75cb46){return _0x2b6441(_0x75cb46,_0x5a7353-0x5a1);}const _0x2d18f7=_0x572483-this[_0x449850(0x2127,0x17df)];_0x2d18f7>0x3e8&&(this['locationData']['fps']=this['_fpsFrameCount']*0x3e8/_0x2d18f7|0x0,this['_lastFpsSampleTime']=_0x572483,this['_fpsFrameCount']=0x0);this['_msFrameCount']++;function _0x449850(_0x4e6ee5,_0x1a3c3a){return _0x306755(_0x4e6ee5,_0x1a3c3a-0x97);}const _0x34a030=_0x572483-this[_0x1c3e4b(0x8c8,0x471)];_0x34a030>0xc8&&(this['locationData']['ms']=(_0x34a030/this[_0x449850(0x9d8,_0x262032._0x502c28)])['toFixed'](0x2),this['_lastMsSampleTime']=_0x572483,this['_msFrameCount']=0x0);}}register$2(_0x2b6441(0x154,-0x13b),LocationBar);class MouseDownView extends BaseControl{['_mountedHook'](){const _0x69475e={_0x37b6d8:0x14a2,_0x296cbc:0x521,_0x4c9494:0x1d35,_0x45aef5:0x521},_0x1bf91d={_0x315bee:0x222};this[_0x3f7207(0x490,-0x2a5)]=create$4(_0x3f7207(0x5d1,0x66f),_0x3f7207(0xe8d,_0x69475e._0x37b6d8)+this['_className']);function _0x820021(_0x1b547a,_0x51141b){return _0x306755(_0x51141b,_0x1b547a- -_0x1bf91d._0x315bee);}function _0x3f7207(_0xb43442,_0x268148){return _0x2b6441(_0x268148,_0xb43442-0x2ee);}this[_0x820021(_0x69475e._0x296cbc,0x108)]['id']=this['parentContainerId']+_0x3f7207(0x155c,_0x69475e._0x4c9494),create$4('div','mars3d-mousedownview-img',this[_0x820021(_0x69475e._0x45aef5,0xabc)]);}[_0x2b6441(0x3f,0x617)](){this['isAdded']&&(this['_removedHook'](),this['_addedHook']());}['_addedHook'](){const _0xcc7961={_0x31c4df:0x1912,_0x26699c:0x12ed,_0x59aaee:0x937,_0x1fc297:0x1989,_0x246ec6:0x1912,_0x5414b5:0xce8,_0x538aa8:0xbf9,_0x40ebb6:0xbf9};function _0x235ab(_0x577f56,_0x134b5e){return _0x306755(_0x577f56,_0x134b5e-0x149);}if(!isPCBroswer())return;this[_0x235ab(0x1dcb,_0xcc7961._0x31c4df)]['on'](EventType[_0x529d7d(0xa43,0x73)],this[_0x529d7d(_0xcc7961._0x26699c,_0xcc7961._0x59aaee)],this);this['_map']['_hasRightTilt']?(this[_0x235ab(_0xcc7961._0x1fc297,_0xcc7961._0x246ec6)]['on'](EventType['rightDown'],this[_0x235ab(0x3be,0x771)],this),this[_0x529d7d(0x1883,0x150b)]['on'](EventType['rightUp'],this[_0x235ab(_0xcc7961._0x5414b5,_0xcc7961._0x538aa8)],this)):(this['_map']['on'](EventType['middleDown'],this['_mousMiddleDownHandler'],this),this['_map']['on'](EventType['middleUp'],this[_0x235ab(0x11ed,_0xcc7961._0x40ebb6)],this));function _0x529d7d(_0x3cb9d5,_0x15b110){return _0x2b6441(_0x15b110,_0x3cb9d5-0x65b);}this['_mousMiddleUpHandler']();}[_0x2b6441(0x30f,0x88a)](){const _0xd794db={_0xdc0e82:0x9d3,_0x13ee0e:0x2279,_0x15f1cd:0x68,_0x49f49e:0x150,_0x403e5e:0xab7,_0x310512:0xa6f,_0x1a4a68:0x12a},_0x3fac1c={_0x42e821:0x1bf};function _0x60ae2e(_0x36ebab,_0x368894){return _0x306755(_0x368894,_0x36ebab- -_0x3fac1c._0x42e821);}if(!isPCBroswer())return;this['_map']['off'](EventType[_0x26fb8f(0x990,0x10bd)],this['_mousWheelHandler'],this);this['_map'][_0x60ae2e(_0xd794db._0xdc0e82,0x13b5)]?(this[_0x60ae2e(0x160a,0x1a36)]['off'](EventType['rightDown'],this['_mousMiddleDownHandler'],this),this['_map']['off'](EventType['rightUp'],this[_0x60ae2e(0x8f1,0xa7)],this)):(this[_0x26fb8f(0x17d0,_0xd794db._0x13ee0e)][_0x26fb8f(0x973,_0xd794db._0x15f1cd)](EventType['middleDown'],this['_mousMiddleDownHandler'],this),this['_map'][_0x26fb8f(0x973,_0xd794db._0x49f49e)](EventType['middleUp'],this[_0x26fb8f(_0xd794db._0x403e5e,0x151)],this));function _0x26fb8f(_0x259ce9,_0x4f5621){return _0x2b6441(_0x4f5621,_0x259ce9-0x5a8);}this[_0x26fb8f(0x17d0,0x1572)][_0x60ae2e(0x7ad,0x102b)](EventType[_0x26fb8f(_0xd794db._0x310512,_0xd794db._0x1a4a68)],this['_mouseMoveHandler'],this),clearTimeout(this['timetik']);}[_0x306755(0x1613,0x1233)](_0x1416a6){const _0x58605f={_0x1d61d7:0xb5d,_0x29008a:0x136e},_0x403d63={_0x425b7e:0x423};if(!this[_0x4dfbc6(_0x58605f._0x1d61d7,_0x58605f._0x29008a)])return;function _0x4dfbc6(_0x5d918d,_0x320ace){return _0x306755(_0x5d918d,_0x320ace-0x9e);}addClass(this[_0xc6a9ba(0x9ab,0x291)],'mars3d-mousedownview-show');function _0xc6a9ba(_0x33c694,_0x25a03a){return _0x2b6441(_0x33c694,_0x25a03a-0xef);}clearTimeout(this[_0xc6a9ba(0x3b9,0x9ce)]),this['timetik']=setTimeout(()=>{function _0x12ac33(_0x37bd63,_0x56499d){return _0x4dfbc6(_0x37bd63,_0x56499d-0xce);}removeClass(this[_0x12ac33(_0x403d63._0x425b7e,0x8af)],'mars3d-mousedownview-show');},0xc8);}['_mousMiddleDownHandler'](_0x4d2be9){const _0x2d5c8b={_0x51aec2:0xd42,_0x579cb2:0x156a},_0x81894a={_0x177a62:0xac};if(!this[_0x4daacb(0x942,0xddb)])return;const _0x2acd57=_0x4d2be9['cartesian'];if(!_0x2acd57)return;if(this['_map']['camera']['positionCartographic']['height']>this['_map'][_0x4daacb(_0x2d5c8b._0x51aec2,0x570)]['screenSpaceCameraController']['minimumCollisionTerrainHeight'])return;this['_map']['off'](EventType['mouseMove'],this[_0x2f91ba(0x109b,_0x2d5c8b._0x579cb2)],this),clearTimeout(this['timetik']),this[_0x2f91ba(0x609,0x1f)]['style']['top']=_0x4d2be9['windowPosition']['y']+'px';function _0x2f91ba(_0xab210d,_0xb5f3ba){return _0x306755(_0xb5f3ba,_0xab210d- -0x13a);}function _0x4daacb(_0x3b461f,_0x5839d8){return _0x2b6441(_0x3b461f,_0x5839d8-_0x81894a._0x177a62);}this['_container']['style']['left']=_0x4d2be9['windowPosition']['x']+'px',addClass(this['_container'],'mars3d-mousedownview-show');}[_0x306755(0xa57,0xab0)](_0x2b3739){const _0x18cd6e={_0x342c5d:0x2ca,_0x1610de:0x1212,_0x49cda6:0xdbc};function _0x4dbe34(_0x560542,_0x5d1c15){return _0x2b6441(_0x560542,_0x5d1c15-0x6ff);}removeClass(this[_0x4dbe34(_0x18cd6e._0x342c5d,0x8a1)],_0x4dbe34(0xba2,_0x18cd6e._0x1610de));function _0x396534(_0x555602,_0x2e13dc){return _0x2b6441(_0x2e13dc,_0x555602-0x188);}this['_map']['on'](EventType['mouseMove'],this[_0x396534(_0x18cd6e._0x49cda6,0xb08)],this);}[_0x306755(0x1c97,0x11d5)](_0x3edc66){const _0x7ecbcf={_0x4b7bff:0xd0c},_0x274c9d={_0x2308c7:0x298};this['_container']['style'][_0x3cd53c(0x142d,0x1811)]=_0x3edc66['endPosition']['y']+'px';function _0x3cd53c(_0x2b3515,_0x334c1b){return _0x306755(_0x334c1b,_0x2b3515- -_0x274c9d._0x2308c7);}function _0x2b4a24(_0x1f0145,_0x5aadea){return _0x2b6441(_0x1f0145,_0x5aadea-0x15c);}this['_container'][_0x3cd53c(0x5be,0x1068)][_0x3cd53c(_0x7ecbcf._0x4b7bff,0x79c)]=_0x3edc66['endPosition']['x']+'px';}}register$2('mouseDownView',MouseDownView);const icon$7=_0x306755(0x6ce,0x6d8),icon$6=_0x2b6441(0x72c,0x111b);class Zoom extends BaseControl{get['parentContainer'](){const _0xac99e8={_0x5345ef:0xddc},_0x933215={_0x3b6b10:0x103};function _0x17547e(_0x1b183b,_0xf49ae8){return _0x306755(_0x1b183b,_0xf49ae8- -0x2a4);}function _0x147dee(_0x25fdd8,_0x41a91c){return _0x2b6441(_0x41a91c,_0x25fdd8-_0x933215._0x3b6b10);}if(this['options']['parentContainer'])return this[_0x147dee(0x7bf,_0xac99e8._0x5345ef)]['parentContainer'];return this['_map']?this['_map']['toolbar']:document[_0x17547e(0x13b3,0xc92)](_0x17547e(0x12bd,0x14d5))[0x0];}['_showHook'](_0x31842b){this['_container2']&&(this['_container2']['style']['display']=_0x31842b?'block':'none');}[_0x306755(0x18e8,0x130c)](){const _0x19c919={_0x3facb0:0x651,_0x321dab:0x764,_0x24785b:0xfc9,_0x210597:0x66e,_0x27bb83:0x1216,_0x4a0ac4:0xd1e,_0x2f93b4:0xa9f,_0x267f84:0x110b,_0xc86b6f:0xa96,_0x2454ad:0xc7b,_0x4fc350:0xf76,_0x15c8ad:0xb12},_0x71623d={_0x5c30b4:0x133f,_0x578e0e:0x839,_0x3ef395:0x1cc},_0xf3fd14={_0x57af62:0xf2};this[_0x2ca9da(_0x19c919._0x3facb0,0x73)]=create$4('div','cesium-button\x20cesium-toolbar-button\x20mar3d-toolButton\x20'+this['_className']),this['_container']['id']=this['type'];function _0x2ca9da(_0x21558a,_0x1dcb0f){return _0x306755(_0x1dcb0f,_0x21558a- -_0xf3fd14._0x57af62);}function _0x8e5827(_0x120c2c,_0x368db7){return _0x2b6441(_0x120c2c,_0x368db7- -0x28);}this['_container'][_0x2ca9da(_0x19c919._0x321dab,0xe48)][_0x2ca9da(0x501,0xee1)]=_0x2ca9da(_0x19c919._0x24785b,0x106c),this[_0x8e5827(_0x19c919._0x210597,0x17a)][_0x2ca9da(0x1536,_0x19c919._0x27bb83)](_0x2ca9da(_0x19c919._0x4a0ac4,0xdf0),this['getLangText']('_缩小')),this['_createIcon'](this['options']['zoomOutIcon']||icon$6,this['_container']),this['_container']['addEventListener'](_0x8e5827(0x1553,_0x19c919._0x2f93b4),_0x4d5d44=>{if(!this['enabled'])return;function _0xb0da8c(_0x4cf447,_0x2d818c){return _0x8e5827(_0x2d818c,_0x4cf447-0x1a5);}function _0x7d2212(_0x202d43,_0x2b8ba3){return _0x2ca9da(_0x202d43- -0x398,_0x2b8ba3);}this[_0x7d2212(_0x71623d._0x5c30b4,0xc5a)]['zoomOut'](this[_0xb0da8c(_0x71623d._0x578e0e,-_0x71623d._0x3ef395)]['relativeAmount']);}),this['_container2']=create$4('div','cesium-button\x20cesium-toolbar-button\x20mar3d-toolButton\x20'+this[_0x2ca9da(0x8c5,0xf82)]),this['_container2']['style']['display']='inline-block',this[_0x2ca9da(_0x19c919._0x267f84,0x15ac)]['setAttribute'](_0x2ca9da(_0x19c919._0x4a0ac4,_0x19c919._0xc86b6f),this[_0x2ca9da(_0x19c919._0x2454ad,0xe19)]('_放大')),this['_createIcon'](this['options']['zoomInIcon']||icon$7,this['_container2']),this[_0x2ca9da(0x110b,0xdea)]['addEventListener'](_0x2ca9da(_0x19c919._0x4fc350,_0x19c919._0x15c8ad),_0x334af8=>{if(!this['enabled'])return;this['_map']['zoomIn'](this['options']['relativeAmount']);});}['_addedHook'](){const _0x1b71b8={_0x3108a6:0x161e},_0x2a4660={_0x3bec84:0x43c};function _0x32b6df(_0x59207c,_0x53265d){return _0x2b6441(_0x53265d,_0x59207c-_0x2a4660._0x3bec84);}this['parentContainer'][_0x32b6df(0xbe9,_0x1b71b8._0x3108a6)](this['_container2'],this['_container']);}['_removedHook'](){function _0x37acda(_0x1a48ee,_0x2fd191){return _0x306755(_0x1a48ee,_0x2fd191-0x8);}this['parentContainer']['removeChild'](this[_0x37acda(0x162a,0x1205)]);}[_0x306755(0xc6c,0x165e)](){const _0xe9a142={_0x228841:0xe3a,_0xbbb086:0x3d0,_0x469308:0xd11,_0x1d5538:0xb0c},_0x265fdf={_0x5b1db1:0x261};function _0x5ad4ae(_0x565ee6,_0xef67b8){return _0x306755(_0x565ee6,_0xef67b8- -_0x265fdf._0x5b1db1);}this['_container']&&this['_container']['setAttribute'](_0x5ad4ae(_0xe9a142._0x228841,0xbaf),this['getLangText'](_0x5ad4ae(_0xe9a142._0xbbb086,_0xe9a142._0x469308)));function _0x58fee8(_0x1982a1,_0x126b9f){return _0x2b6441(_0x126b9f,_0x1982a1-0x4d2);}this['_container2']&&this['_container2']['setAttribute']('title',this[_0x5ad4ae(0x8fc,_0xe9a142._0x1d5538)](_0x58fee8(0x123e,0x10f3)));}}register$2(_0x306755(0x1818,0x11bf),Zoom);class ToolButton extends BaseControl{constructor(_0x4b939c={}){const _0x1854d8={_0x7fbe2a:0x3c3};super(_0x4b939c);function _0x524450(_0x213c97,_0x53a056){return _0x306755(_0x53a056,_0x213c97- -_0x1854d8._0x7fbe2a);}this['_type']=_0x524450(0xb2f,0x47f)+getGlobalId();}get[_0x306755(0xf97,0xa8a)](){const _0x2a7bef={_0x457a52:0xb81,_0x2cd323:0x10b7,_0x1b2328:0x9ae};function _0x4f08d6(_0x1a59ad,_0x4e2bf4){return _0x2b6441(_0x1a59ad,_0x4e2bf4-0x59a);}if(this['options']['parentContainer'])return this[_0x14cb34(_0x2a7bef._0x457a52,_0x2a7bef._0x2cd323)][_0x14cb34(_0x2a7bef._0x1b2328,0xb5b)];function _0x14cb34(_0xf24c46,_0x40f3d5){return _0x2b6441(_0x40f3d5,_0xf24c46-0x4c5);}return this['_map']?this['_map']['toolbar']:document['getElementsByClassName']('cesium-viewer-toolbar')[0x0];}['_mountedHook'](){const _0xa30af1={_0x8e79cb:0xdaf,_0x2d2868:0x823,_0x515217:0x8fe,_0x4b2731:0xa7a,_0x1eafa3:0x1090,_0x15d857:0xa89,_0x3fd695:0x76d,_0x5c2436:0x177},_0x163148={_0x53e936:0x111e,_0x20bab9:0xbe7,_0x4e25ec:0xbe7,_0x198c07:0x2a0},_0x1dbe17={_0x34f838:0x17f3,_0x26be73:0x12f0,_0x48c08d:0xc61};let _0x17b447=this['options'][_0x2501da(_0xa30af1._0x8e79cb,0x1131)];isFunction(_0x17b447)&&(_0x17b447=_0x17b447(this));this['_container']=create$4(_0x2501da(_0xa30af1._0x2d2868,-0x234),_0x2501da(_0xa30af1._0x515217,0x571)+this['_className']),this[_0xa095d8(0x2a5,0x76d)]['id']=this['id'],this[_0x2501da(0x6e2,_0xa30af1._0x4b2731)]['style']['display']='inline-block',this['_container'][_0x2501da(0x15c7,0xc0f)]('title',_0x17b447||''),this['_createIcon'](this['options']['icon'],this['_container']);let _0x3bfc75;function _0xa095d8(_0x3a40c8,_0x1d019c){return _0x306755(_0x3a40c8,_0x1d019c-0x2a);}function _0x2501da(_0x5bf533,_0xdba222){return _0x306755(_0xdba222,_0x5bf533- -0x61);}this[_0x2501da(0x6e2,_0xa30af1._0x1eafa3)][_0x2501da(_0xa30af1._0x15d857,0xd44)]('mouseover',_0x4f29fa=>{if(!this[_0x1ccc7a(_0x1dbe17._0x34f838,_0x1dbe17._0x26be73)])return;function _0x1ccc7a(_0x2be7c4,_0x4b73b8){return _0xa095d8(_0x2be7c4,_0x4b73b8- -0xa);}if(_0x3bfc75===this['id'])return;_0x3bfc75=this['id'];this[_0x2a3d2c(_0x1dbe17._0x48c08d,0x1604)]['mouseOver']&&this[_0x2a3d2c(0xc61,0x141b)]['mouseOver'](this['options']);function _0x2a3d2c(_0x2070c7,_0x18760a){return _0xa095d8(_0x18760a,_0x2070c7- -0x26);}this['fire'](EventType['mouseOver'],{...this['options']});}),this[_0xa095d8(0xe32,_0xa30af1._0x3fd695)][_0xa095d8(_0xa30af1._0x5c2436,0xb14)]('mouseout',_0x3c2b5c=>{_0x3bfc75=null;if(!this[_0x9b29a9(_0x163148._0x53e936,0x1a33)])return;function _0x9b29a9(_0x3f9645,_0x53b1c1){return _0x2501da(_0x3f9645- -0x151,_0x53b1c1);}this['options']['mouseOut']&&this[_0x29436c(_0x163148._0x20bab9,0x1f8)]['mouseOut'](this[_0x29436c(_0x163148._0x4e25ec,0x4a1)]);function _0x29436c(_0x42122c,_0x662b8b){return _0x2501da(_0x42122c- -0x15,_0x662b8b);}this[_0x29436c(0x813,-_0x163148._0x198c07)](EventType['mouseOut'],{...this['options']});});}[_0x2b6441(0x440,0xdd4)](_0x4d1f1c){this['options']['icon']=_0x4d1f1c,empty(this['_container']),this['_createIcon'](_0x4d1f1c,this['_container']);}}register$2(_0x306755(0x569,0xef2),ToolButton);const icon$5=_0x306755(-0x22d,0x47d),icon$4=_0x306755(0xd3b,0x8ab),icon$3='<?xml\x20version=\x221.0\x22\x20encoding=\x22UTF-8\x22\x20standalone=\x22no\x22?>\x0a<svg\x20width=\x2253px\x22\x20height=\x2253px\x22\x20viewBox=\x220\x200\x2053\x2053\x22\x20version=\x221.1\x22\x20xmlns=\x22http://www.w3.org/2000/svg\x22\x20xmlns:xlink=\x22http://www.w3.org/1999/xlink\x22\x20xmlns:sketch=\x22http://www.bohemiancoding.com/sketch/ns\x22>\x0a\x20\x20\x20\x20<title>$title$\x0a\x20\x20\x20\x20mars3d.cn\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20
\x0a\x20\x20\x20\x20
\x0a\x0a';class Compass extends BaseControl{constructor(_0x358f99={}){const _0xb44982={_0x2b0b94:0xbfb,_0x40c1a9:0x1382,_0x45f197:0x2064},_0x358f58={_0x3ac25d:0x8a};function _0x5ef067(_0x1f34fb,_0x32b1a7){return _0x2b6441(_0x32b1a7,_0x1f34fb-0x288);}super(_0x358f99),this['_orbitCursorAngle']=0x0,this[_0x5ef067(0x701,0x50d)]=0x0,this[_0x5e6d9d(_0xb44982._0x2b0b94,0x13b0)]=0x0,this['_pitch_max']=Cesium__namespace['Math']['toRadians'](_0x358f99[_0x5ef067(0x302,-0x5c9)]??0x0),this['_pitch_min']=Cesium__namespace['Math']['toRadians'](_0x358f99[_0x5ef067(0x4cb,0xe5d)]??-0x5a);function _0x5e6d9d(_0x1c5db1,_0x427ae9){return _0x306755(_0x1c5db1,_0x427ae9- -_0x358f58._0x3ac25d);}this['options']['rotation']=this[_0x5e6d9d(_0xb44982._0x40c1a9,0xbd3)][_0x5e6d9d(_0xb44982._0x45f197,0x15c6)]??!![];}['_mountedHook'](){const _0x3beb4d={_0x3d0912:0x869,_0x45381d:0x11df,_0x4cd0e0:0x1497,_0xc4ed14:0x593,_0x133c0d:0xee3,_0x6cc804:0x112a,_0x5d278e:0x549,_0x423cdb:0xc1f,_0x2a3f48:0x1009,_0x140d28:0xac0,_0x3cda77:0xe7f,_0x24420e:0x6b9,_0x693b08:0x926,_0x55dc96:0x1a6,_0x2a737b:0x786,_0x392f05:0x8fb,_0x22c2e0:0xd27,_0x210ffb:0x477},_0xef0752={_0x432ec9:0x1381,_0x2de858:0xde4,_0x5b57d3:0x8d0},_0x2664fe={_0x73459a:0xd0d,_0x2c31b9:0xfb},_0x48e17e={_0x7ac50e:0x150b},_0x333444={_0x263efb:0x404};this[_0x5314ea(0x5f5,0x65e)]=create$4('div',this[_0x5314ea(_0x3beb4d._0x3d0912,0x294)]||_0x5314ea(0x1473,0x18a8)),this['_container']['style']['cssText']=this['_getPositionCssText']('top:\x2010px;right:\x2010px;');const _0x3961e6=this[_0x5314ea(0xb0f,0x10cb)]['outerSvg']||icon$5[_0x5314ea(0xf67,_0x3beb4d._0x45381d)]('$title$',this[_0x5314ea(0xc1f,0x10ec)](_0x5314ea(0xcc1,_0x3beb4d._0x4cd0e0)));function _0x1f70be(_0x4f3312,_0xf0cb5b){return _0x2b6441(_0x4f3312,_0xf0cb5b-_0x333444._0x263efb);}this['_container_outer']=parseDom(_0x3961e6,!![],_0x1f70be(0xb4a,_0x3beb4d._0xc4ed14)),this[_0x5314ea(0x5f5,0xb5b)][_0x5314ea(_0x3beb4d._0x133c0d,_0x3beb4d._0x6cc804)](this['_container_outer']);const _0x50e152=this['options']['innerSvg']||icon$4[_0x1f70be(_0x3beb4d._0x5d278e,0xf18)]('$title$',this[_0x5314ea(_0x3beb4d._0x423cdb,0x9e8)]('_拖拽调整俯仰角'));this[_0x5314ea(_0x3beb4d._0x2a3f48,0x18a0)]=parseDom(_0x50e152,!![],_0x1f70be(0x140e,0x13ab));function _0x5314ea(_0xe31d84,_0x1c788e){return _0x306755(_0x1c788e,_0xe31d84- -0x14e);}this['_container'][_0x5314ea(0xee3,0x5cb)](this['_container_inner']);if(this[_0x1f70be(0xad9,_0x3beb4d._0x140d28)]['rotation']){const _0x8abeed=this['options']['rotationArcSvg']||icon$3['replace']('$title$',this[_0x5314ea(0xc1f,0xe80)]('_导航球'));this['_container_rotationArc']=parseDom(_0x8abeed,!![],_0x5314ea(_0x3beb4d._0x3cda77,0x1785)),this['_container']['appendChild'](this[_0x5314ea(0x626,0x93a)]),this['_container_rotationArc'][_0x1f70be(0x394,_0x3beb4d._0x24420e)]['visibility']='hidden';}isPCBroswer()?(this['_container']['onmousedown']=_0x51131a=>{this['_handleMouseDown'](_0x51131a);},(this['options']['clickToNorth']??!![])&&(this[_0x1f70be(0x5c6,_0x3beb4d._0x693b08)][_0x1f70be(_0x3beb4d._0x55dc96,_0x3beb4d._0x2a737b)]=_0x3f1ad3=>{const _0x1efbfb={_0x662b24:0x6a},_0xe0ba88={_0x7b3a0d:0xd4};function _0x20afa7(_0x5347fe,_0x4c7632){return _0x1f70be(_0x4c7632,_0x5347fe- -_0xe0ba88._0x7b3a0d);}function _0x4e1280(_0x56f14c,_0x2e652d){return _0x1f70be(_0x2e652d,_0x56f14c- -_0x1efbfb._0x662b24);}this[_0x20afa7(0x1558,0xfb4)][_0x4e1280(0x2c8,-0x65d)](0x0);}),this[_0x5314ea(0x1009,_0x3beb4d._0x392f05)]['ondblclick']=_0x2b30e6=>{function _0x48912e(_0x39846c,_0x137157){return _0x1f70be(_0x137157,_0x39846c- -0x266);}this['_map'][_0x48912e(0x52c,0x4da)]();}):(this[_0x5314ea(0x5f5,_0x3beb4d._0x22c2e0)][_0x1f70be(0x5e3,0x5e5)]=_0x5debed=>{const _0x56ef72={_0x4401f6:0x212};function _0x5582db(_0x486823,_0x3a36f6){return _0x1f70be(_0x3a36f6,_0x486823-_0x56ef72._0x4401f6);}this[_0x5582db(_0x48e17e._0x7ac50e,0x1d06)](_0x5debed);},(this[_0x1f70be(0x95b,_0x3beb4d._0x140d28)][_0x1f70be(0x88c,_0x3beb4d._0x210ffb)]??!![])&&(this[_0x1f70be(0x1359,0x926)]['onclick']=_0x448dda=>{function _0x4f72a7(_0x18157e,_0xf0a347){return _0x1f70be(_0xf0a347,_0x18157e- -0x237);}function _0xe2589(_0x2b1dc4,_0x2a3e03){return _0x1f70be(_0x2b1dc4,_0x2a3e03- -0x10);}this[_0xe2589(_0x2664fe._0x73459a,0x161c)][_0x4f72a7(_0x2664fe._0x2c31b9,0x37c)](0x0);}),this['_container_inner']['onclick']=_0x1e2d6a=>{function _0x57cab2(_0x39cc64,_0x7da73b){return _0x1f70be(_0x39cc64,_0x7da73b-0x13e);}function _0x5476f5(_0x2ccbf5,_0x92673e){return _0x1f70be(_0x92673e,_0x2ccbf5- -0x2ab);}this[_0x5476f5(_0xef0752._0x432ec9,0xf02)][_0x57cab2(_0xef0752._0x2de858,_0xef0752._0x5b57d3)]();});}[_0x306755(0xfdf,0x1777)](_0x49f83d){const _0xb153a9={_0x37732c:0xa5,_0x48bc34:0x7b7},_0x3d00ce={_0x27e7a4:0x30c};function _0x468421(_0x38d47b,_0x2b83c6){return _0x306755(_0x38d47b,_0x2b83c6- -_0x3d00ce._0x27e7a4);}this[_0x468421(_0xb153a9._0x37732c,_0xb153a9._0x48bc34)]['innerHTML']=_0x49f83d;}['setInnerSvg'](_0x1eaa78){this['_container_inner']['innerHTML']=_0x1eaa78;}['setRotationSvg'](_0x11221e){const _0x25c2af={_0x51c482:0x74a};function _0x52c5ed(_0x1d25d8,_0x44fe04){return _0x306755(_0x44fe04,_0x1d25d8- -0x2a);}function _0x372959(_0x11c399,_0x57a74f){return _0x306755(_0x11c399,_0x57a74f-0x123);}this[_0x52c5ed(_0x25c2af._0x51c482,-0x1aa)][_0x52c5ed(0x1868,0x15f0)]=_0x11221e;}[_0x2b6441(0x378,0x3fd)](){const _0x539d0a={_0x249cd0:0x16eb,_0x4b4f57:0x14bb},_0x1331d6={_0x3b1143:0xde};this['_map']['on'](EventType[_0xdf3a61(0xb17,0x1286)],this[_0xdf3a61(0x260,0x32d)],this),this[_0x382263(0x1f1c,_0x539d0a._0x249cd0)]['on'](EventType[_0xdf3a61(0xed7,_0x539d0a._0x4b4f57)],this['_updateControlHandler'],this);function _0x382263(_0x584188,_0xf26dc2){return _0x306755(_0x584188,_0xf26dc2- -_0x1331d6._0x3b1143);}function _0xdf3a61(_0x9156d9,_0x39e2a0){return _0x306755(_0x9156d9,_0x39e2a0- -0x50d);}this['_map']['on'](EventType['updateControl'],this['_updateControlHandler'],this);}[_0x306755(0x123f,0xe2b)](){const _0x28c711={_0x259514:0xa61,_0x4fed60:0x2a1,_0x59b7c6:0x1633,_0x3b1e1b:0x1c49};function _0x31f93f(_0x59e532,_0x116f61){return _0x2b6441(_0x116f61,_0x59e532-0x40b);}this['_map'][_0x51745c(_0x28c711._0x259514,0x851)](EventType['postRender'],this[_0x31f93f(0x6a4,-_0x28c711._0x4fed60)],this);function _0x51745c(_0x2b9530,_0x5f521d){return _0x2b6441(_0x5f521d,_0x2b9530-0x696);}this[_0x31f93f(_0x28c711._0x59b7c6,_0x28c711._0x3b1e1b)][_0x51745c(0xa61,0x80b)](EventType['addControl'],this['_updateControlHandler'],this),this['_map']['off'](EventType['updateControl'],this['_updateControlHandler'],this);}[_0x306755(0x1b39,0x13b5)](){const _0x3a10b7={_0x42ee04:0x385};function _0x390865(_0x147345,_0x6f21c){return _0x2b6441(_0x147345,_0x6f21c-0x1e3);}function _0x1c28af(_0x409653,_0x2b06f7){return _0x306755(_0x2b06f7,_0x409653- -0x34e);}if(this[_0x1c28af(0x130b,0x8c5)]){const _0x1a7718=this['domToolbar']['offsetHeight']+0x28;this[_0x390865(0x866,_0x3a10b7._0x42ee04)]['style'][_0x390865(0x1681,0x1031)]=_0x1a7718+'px';}}[_0x2b6441(0xcbe,0x299)](){const _0xa8ec33={_0x1b93dc:0x100c},_0x352895={_0x40118f:0x59b},_0x28c44f=this['_map']['camera']['heading'];function _0x20457e(_0x488659,_0x5b23cf){return _0x2b6441(_0x488659,_0x5b23cf-_0x352895._0x40118f);}this['_container_outer']&&(this['_container_outer']['style']['cssText']='\x0a\x20\x20\x20\x20\x20\x20transform\x20:\x20rotate(-'+_0x28c44f+_0x20457e(_0xa8ec33._0x1b93dc,0x145d)+_0x28c44f+'rad);\x0a\x20\x20\x20\x20\x20\x20');}['_handleMouseDown'](_0x4749d4){const _0x48d3e0={_0x85a60f:0x3dc,_0xfa85a1:0x2b5,_0x34713e:0x13ae,_0x6cfef1:0x79c,_0x271530:0x1af,_0x7e85a4:0x16a,_0xebbbb3:0x599,_0x10d922:0xd0a,_0xab690:0xf7,_0x50f481:0xf1a},_0x51c187=this[_0x91c43f(0x2317,0x1876)]['scene'];if(_0x51c187['mode']===Cesium__namespace[_0x5a46b4(0x53a,-_0x48d3e0._0x85a60f)][_0x91c43f(0xce6,0x7cd)])return!![];function _0x5a46b4(_0x473e99,_0x2bbc7f){return _0x306755(_0x2bbc7f,_0x473e99- -0x4ac);}function _0x91c43f(_0x4976e8,_0x6369d5){return _0x2b6441(_0x4976e8,_0x6369d5-0x64e);}this[_0x5a46b4(0x6cd,-_0x48d3e0._0xfa85a1)]=_0x4749d4[_0x91c43f(0x99a,_0x48d3e0._0x34713e)]['getBoundingClientRect']();const _0x3d4db8=this['_compassRectangle'][_0x91c43f(_0x48d3e0._0x6cfef1,0xc98)]/0x2,_0x827079=this[_0x5a46b4(_0x48d3e0._0x271530,-0x86d)](_0x4749d4),_0x3e8846=Cesium__namespace[_0x91c43f(-_0x48d3e0._0x7e85a4,_0x48d3e0._0xebbbb3)]['magnitude'](_0x827079)/_0x3d4db8;if(this[_0x91c43f(0x68f,_0x48d3e0._0x10d922)][_0x91c43f(0x14e8,0x16fd)]&&_0x3e8846<0x32/0x91)this[_0x5a46b4(0x7cc,-_0x48d3e0._0xab690)](_0x827079);else{if(_0x3e8846<0x1)this[_0x91c43f(0x830,_0x48d3e0._0x50f481)](_0x827079);else return!![];}}['_getCameraFocus'](_0x448b2f){const _0x51ce4b={_0x5ebc7a:0x7f7,_0x264169:0xe39,_0x362de8:0xbca,_0x12c5d6:0xb51,_0x5b8266:0x11f6,_0x58e5a2:0xa9,_0x3306f0:0xf5e,_0xcc36cc:0xc46,_0x2da696:0x1361,_0x333df1:0x8ea,_0x4a1af4:0x7bc,_0x157b43:0xe2c,_0x1bacb1:0x119d,_0x520515:0xd2e,_0x24435c:0x6a6},_0x314927={_0x4de38d:0x123};function _0x586bdd(_0x4a2c1e,_0x223cb6){return _0x2b6441(_0x223cb6,_0x4a2c1e-0x377);}let _0x14bc27=new Cesium__namespace[(_0x586bdd(_0x51ce4b._0x5ebc7a,-0x1b))]();const _0x4d7d09=this['_map']['scene'],_0x13daeb=_0x4d7d09[_0x2ee38f(_0x51ce4b._0x264169,_0x51ce4b._0x362de8)];function _0x2ee38f(_0x4eb63a,_0x45a9ce){return _0x2b6441(_0x4eb63a,_0x45a9ce-_0x314927._0x4de38d);}if(_0x4d7d09['mode']===Cesium__namespace['SceneMode']['MORPHING'])return undefined;if(this['_map']['trackedEntity'])_0x14bc27=this['_map']['trackedEntity']['position'][_0x586bdd(_0x51ce4b._0x12c5d6,_0x51ce4b._0x5b8266)](this['_map']['clock'][_0x2ee38f(_0x51ce4b._0x58e5a2,0x72e)]);else{const _0x177099=new Cesium__namespace[(_0x586bdd(_0x51ce4b._0x3306f0,_0x51ce4b._0xcc36cc))]();_0x177099['origin']=_0x13daeb[_0x2ee38f(0x1264,_0x51ce4b._0x2da696)],_0x177099['direction']=_0x13daeb[_0x586bdd(0xe83,0x1355)],_0x14bc27=_0x4d7d09['globe'][_0x586bdd(_0x51ce4b._0x333df1,0x13b3)](_0x177099,_0x4d7d09);}if(!_0x14bc27)return undefined;if(_0x4d7d09['mode']===Cesium__namespace[_0x586bdd(_0x51ce4b._0x4a1af4,_0x51ce4b._0x157b43)]['SCENE2D']||_0x4d7d09[_0x2ee38f(0x160b,_0x51ce4b._0x1bacb1)]===Cesium__namespace['SceneMode'][_0x586bdd(0x59d,_0x51ce4b._0x520515)]){_0x14bc27=_0x13daeb[_0x586bdd(0x63b,0xa6e)](_0x14bc27);const _0x2e4577=new Cesium__namespace['Cartographic']();_0x448b2f&&(_0x14bc27=_0x4d7d09['globe']['ellipsoid']['cartographicToCartesian'](_0x4d7d09['mapProjection']['unproject'](_0x14bc27,_0x2e4577)));}else!_0x448b2f&&(_0x14bc27=_0x13daeb[_0x2ee38f(_0x51ce4b._0x24435c,0x3e7)](_0x14bc27));return _0x14bc27;}[_0x306755(0x157b,0xc78)](_0x23732d){const _0x2c732d={_0x6aae28:0x1582,_0x297813:0x9cb,_0x188d95:0xca3,_0x1f6dac:0x1668,_0x801090:0xb7a,_0x4afa38:0xe1a,_0x362d9a:0x2c1,_0x221f4a:0x7e4,_0x3c01b3:0x116d,_0x5ba7b6:0x11bb,_0x3a618c:0x17ae,_0x16d3e3:0x11f7,_0x30f0d3:0x1b1b,_0x11376e:0x14d5,_0x31df49:0x16e2,_0x12c03f:0x1dfd,_0x3471fb:0x15e7,_0x5db919:0xf50,_0x2a62ae:0xf8d,_0x500091:0x2e5,_0x823268:0x1fe0,_0x1c8edb:0x162f,_0xd1a4c6:0x17ae,_0x56a34e:0x15d9,_0x13e469:0x762},_0x4c47c1={_0x5ec0ce:0x586},_0x4ba86f=this['_map']['scene'],_0x5a6fcd=_0x4ba86f['screenSpaceCameraController'],_0x3cc82f=_0x4ba86f['camera'];if(_0x4ba86f[_0x220629(0x1600,_0x2c732d._0x6aae28)]===Cesium__namespace[_0x220629(_0x2c732d._0x297813,0x2d0)]['MORPHING']||!_0x5a6fcd[_0x220629(0x10ce,_0x2c732d._0x188d95)])return;switch(_0x4ba86f[_0x446c10(0x1125,0x126a)]){case Cesium__namespace[_0x446c10(0xb3e,0x635)]['SCENE2D']:if(!_0x5a6fcd[_0x220629(_0x2c732d._0x1f6dac,0x1b3a)])return;break;case Cesium__namespace[_0x446c10(0x110,0x635)]['COLUMBUS_VIEW']:if(_0x5a6fcd[_0x446c10(0x1dc,0x8b2)])break;if(!_0x5a6fcd[_0x220629(0x1668,0x18d0)]||!_0x5a6fcd[_0x220629(_0x2c732d._0x801090,0x7ba)])return;break;case Cesium__namespace['SceneMode'][_0x446c10(0xd43,_0x2c732d._0x4afa38)]:default:if(_0x5a6fcd['enableLook'])break;if(!_0x5a6fcd[_0x446c10(_0x2c732d._0x362d9a,_0x2c732d._0x221f4a)]||!_0x5a6fcd['enableRotate'])return;break;}this[_0x446c10(-0x703,0x282)](),this['_mouseMoveHandle']=_0x5535f6=>{function _0x3b7916(_0x4fb9d2,_0x3e4151){return _0x220629(_0x3e4151- -0x504,_0x4fb9d2);}this[_0x3b7916(0xab8,0xae1)](_0x5535f6);},this[_0x446c10(_0x2c732d._0x3c01b3,_0x2c732d._0x5ba7b6)]=()=>{this['_orbitMouseUpFunction']();},this['_orbitLastTimestamp']=Cesium__namespace['getTimestamp']();if(this[_0x220629(_0x2c732d._0x3a618c,0xcde)]['trackedEntity'])this['_orbitFrame']=undefined,this['_orbitIsLook']=![];else{const _0x37ccf5=this['_getCameraFocus'](!![]);!_0x37ccf5?(this[_0x220629(_0x2c732d._0x16d3e3,_0x2c732d._0x30f0d3)]=Cesium__namespace[_0x446c10(0x1647,0x134c)]['eastNorthUpToFixedFrame'](_0x3cc82f['positionWC'],_0x4ba86f[_0x220629(_0x2c732d._0x11376e,0x154d)]['ellipsoid']),this['_orbitIsLook']=!![]):(this['_orbitFrame']=Cesium__namespace[_0x220629(_0x2c732d._0x31df49,_0x2c732d._0x12c03f)]['eastNorthUpToFixedFrame'](_0x37ccf5,_0x4ba86f[_0x220629(0x14d5,_0x2c732d._0x3471fb)]['ellipsoid']),this[_0x220629(_0x2c732d._0x5db919,_0x2c732d._0x2a62ae)]=![]);}this['_container_rotationArc'][_0x446c10(_0x2c732d._0x500091,0x4a5)]['visibility']='visible';function _0x220629(_0x6ce126,_0x1b7dbb){return _0x2b6441(_0x1b7dbb,_0x6ce126-_0x4c47c1._0x5ec0ce);}this[_0x220629(0x113c,0xbc7)]['className']+=_0x446c10(_0x2c732d._0x823268,_0x2c732d._0x1c8edb);function _0x446c10(_0x27dab4,_0x1066c6){return _0x306755(_0x27dab4,_0x1066c6- -0x3b1);}this['_bindDocumentEvent'](),this[_0x220629(_0x2c732d._0xd1a4c6,_0x2c732d._0x56a34e)]['on'](EventType[_0x220629(0x1285,0x1c88)],this[_0x220629(0x183a,0xe05)],this),this['_updateAngleAndOpacity'](_0x23732d,this['_compassRectangle'][_0x220629(0xbd0,_0x2c732d._0x13e469)]);}['_orbitTickFunction'](_0x15b280){const _0x3bc879={_0x421b15:0x16d0,_0x8d7188:0x1412,_0x1bfb2d:0x96c,_0x1896dd:0x167,_0x58abac:0xeb6,_0x277418:0x657,_0x58acec:0xf4a,_0x4c842d:0xf64,_0x3b008d:0x657,_0x961d00:0x368,_0x2aaf16:0xa79,_0x323305:0xc1a,_0xc48d82:0x562,_0x42851a:0x3ba,_0x537bb3:0x1338,_0x42dc69:0xcc4,_0x137321:0x170d,_0x299578:0x29f,_0x3f5f19:0x13ef,_0x4fefe2:0xf91,_0x41e131:0x1177,_0x3c7ee2:0x928,_0x3ee08b:0xeec},_0x1bf79d={_0x7b1858:0x54e},_0x3600a9=this[_0x37463f(_0x3bc879._0x421b15,_0x3bc879._0x8d7188)][_0x37463f(_0x3bc879._0x1bfb2d,_0x3bc879._0x1896dd)],_0x4c3354=this['_map']['camera'],_0x5bb4f8=Cesium__namespace[_0x37463f(_0x3bc879._0x58abac,_0x3bc879._0x277418)](),_0x34df38=_0x5bb4f8-this['_orbitLastTimestamp'],_0x18f758=(this[_0x37463f(0x921,_0x3bc879._0x58acec)]-0.5)*2.5/0x3e8,_0xb4aa20=_0x34df38*_0x18f758,_0x1b9169=this['_orbitCursorAngle']+Cesium__namespace['Math']['PI_OVER_TWO'],_0x5309be=Math['cos'](_0x1b9169)*_0xb4aa20,_0x9ea997=Math['sin'](_0x1b9169)*_0xb4aa20;function _0x11c6c5(_0x9cb68e,_0x5258f2){return _0x306755(_0x9cb68e,_0x5258f2- -_0x1bf79d._0x7b1858);}if(_0x9ea997>0x0&&_0x4c3354[_0x11c6c5(_0x3bc879._0x4c842d,_0x3bc879._0x3b008d)]>this['_pitch_max']||_0x9ea997<0x0&&_0x4c3354[_0x11c6c5(_0x3bc879._0x961d00,0x657)]{function _0x74e5ca(_0x483afb,_0x34fa11){return _0x4aae54(_0x483afb,_0x34fa11- -0x364);}this[_0x74e5ca(0xcec,_0x2ec97c._0x3c396e)](_0x5c3710);},this['_mouseUpHandle']=()=>{function _0x1628c7(_0x3e2687,_0x484249){return _0x3cd0d1(_0x484249,_0x3e2687-0x39d);}this[_0x1628c7(0x4aa,0xf14)]();},this['_rotateInitialCursorAngle']=Math[_0x4aae54(0x124,0xa8b)](-_0x5016d1['y'],_0x5016d1['x']);if(this['_map'][_0x4aae54(0x15d9,0x1843)])this['_rotateFrame']=undefined;else{const _0x2dd26e=this['_getCameraFocus'](!![]);!_0x2dd26e||_0x57141b[_0x3cd0d1(_0x3678c4._0x50b535,_0x3678c4._0x5b8b7e)]===Cesium__namespace[_0x4aae54(0x3a7,_0x3678c4._0x5ae7c8)]['COLUMBUS_VIEW']&&!_0x31682f[_0x4aae54(0xa9a,_0x3678c4._0x4aca42)]&&!_0x31682f[_0x4aae54(0x1ce2,_0x3678c4._0x375248)]?this[_0x3cd0d1(0xd83,_0x3678c4._0xe880d8)]=Cesium__namespace['Transforms'][_0x4aae54(_0x3678c4._0xcb4c28,_0x3678c4._0x34fe93)](_0x444865[_0x4aae54(0x11ac,_0x3678c4._0x40391)],_0x57141b['globe']['ellipsoid']):this['_rotateFrame']=Cesium__namespace['Transforms']['eastNorthUpToFixedFrame'](_0x2dd26e,_0x57141b['globe']['ellipsoid']);}let _0x5ce10d;this['_rotateFrame']&&(_0x5ce10d=Cesium__namespace[_0x4aae54(_0x3678c4._0x5d50b2,_0x3678c4._0x34df4c)]['clone'](_0x444865['transform']),_0x444865['lookAtTransform'](this['_rotateFrame']));function _0x4aae54(_0x43edc5,_0x2aff78){return _0x2b6441(_0x43edc5,_0x2aff78-0x6b9);}this[_0x4aae54(0x22d8,0x1985)]=-_0x444865['heading'],this['_rotateFrame']&&_0x5ce10d&&_0x444865['lookAtTransform'](_0x5ce10d),this['_bindDocumentEvent']();}[_0x306755(0x14a3,0x15a6)](){const _0x1cf895={_0x426e25:0x1035,_0x1c5d63:0x15c1,_0x535644:0x1746,_0x345913:0x197c,_0x115254:0x1064,_0x50e61c:0x1267,_0x35628c:0xb1e},_0x34bc42={_0x1d2605:0x157};function _0x51bce6(_0xc92533,_0x2e50c4){return _0x2b6441(_0xc92533,_0x2e50c4-_0x34bc42._0x1d2605);}this['_mouseMoveHandle']&&(document[_0x51bce6(_0x1cf895._0x426e25,0x6a0)](_0x3d7cc5(_0x1cf895._0x1c5d63,_0x1cf895._0x535644),this['_mouseMoveHandle'],![]),document[_0x51bce6(-0x2c7,0x6a0)]('touchmove',this[_0x3d7cc5(_0x1cf895._0x345913,0x2264)],![]));function _0x3d7cc5(_0x2fd203,_0x70cbe2){return _0x306755(_0x70cbe2,_0x2fd203-0x156);}this['_mouseUpHandle']&&(document['addEventListener'](_0x3d7cc5(_0x1cf895._0x115254,_0x1cf895._0x50e61c),this['_mouseUpHandle'],![]),document['addEventListener'](_0x51bce6(0xcd,0x107),this['_mouseUpHandle'],![]),document['addEventListener'](_0x51bce6(0x12fe,_0x1cf895._0x35628c),this['_mouseUpHandle'],![]));}['_unbindDocumentEvent'](){const _0x4d7707={_0x1104f5:0x1b18,_0x59c5ce:0x15a9,_0x2c35b9:0x1966,_0x1bb862:0x14be,_0x9ed49e:0x18ad,_0x597d02:0x1130,_0x728b87:0x791,_0x45c761:0x2d4,_0x1d3637:0xc00,_0x13aacb:0xb28},_0x3a928d={_0x4462de:0x368};function _0x427656(_0x196055,_0x2f85fa){return _0x306755(_0x196055,_0x2f85fa- -0x27d);}this[_0x427656(_0x4d7707._0x1104f5,_0x4d7707._0x59c5ce)]&&(document['removeEventListener']('mousemove',this['_mouseMoveHandle'],![]),document['removeEventListener'](_0xcd5cb7(0x154c,_0x4d7707._0x2c35b9),this[_0xcd5cb7(_0x4d7707._0x1bb862,_0x4d7707._0x9ed49e)],![]),this['_mouseMoveHandle']=undefined);function _0xcd5cb7(_0x565049,_0x210b51){return _0x306755(_0x210b51,_0x565049- -_0x3a928d._0x4462de);}this['_mouseUpHandle']&&(document['removeEventListener']('mouseup',this['_mouseUpHandle'],![]),document[_0x427656(0x13f0,_0x4d7707._0x597d02)](_0x427656(-_0x4d7707._0x728b87,_0x4d7707._0x45c761),this['_mouseUpHandle'],![]),document['removeEventListener'](_0xcd5cb7(_0x4d7707._0x1d3637,_0x4d7707._0x13aacb),this['_mouseUpHandle'],![]),this['_mouseUpHandle']=undefined);}[_0x2b6441(0xb3e,0x22c)](_0x1a47ce){const _0x215418={_0x356998:0x15b,_0x174601:0xe39},_0x4efb78={_0xaa5bd3:0x574},_0x14595b=this['_map'][_0x4ddb85(0xbe8,0x1409)],_0xafbb9f=this[_0x4ddb85(0x1fb,0x934)](_0x1a47ce),_0x322a87=Math[_0x4ddb85(0x513,-0x598)](-_0xafbb9f['y'],_0xafbb9f['x']);function _0x4ddb85(_0x55f835,_0x430893){return _0x2b6441(_0x430893,_0x55f835-0x141);}const _0x18504e=_0x322a87-this[_0x4ddb85(0xbab,0xe42)],_0x4e8119=Cesium__namespace['Math']['zeroToTwoPi'](this['_rotateInitialCameraAngle']-_0x18504e);let _0x3a6203;this['_rotateFrame']&&(_0x3a6203=Cesium__namespace['Matrix4']['clone'](_0x14595b[_0x4ddb85(0x373,0x72a)]),_0x14595b['lookAtTransform'](this['_rotateFrame']));const _0x585113=-_0x14595b['heading'];function _0x17f1c0(_0xee6ac3,_0x4cb880){return _0x2b6441(_0xee6ac3,_0x4cb880-_0x4efb78._0xaa5bd3);}_0x14595b[_0x17f1c0(_0x215418._0x356998,0x70b)](_0x4e8119-_0x585113),this[_0x17f1c0(_0x215418._0x174601,0xe9e)]&&_0x3a6203&&_0x14595b['lookAtTransform'](_0x3a6203);}['_getVector'](_0x17326c){const _0x1a96a6={_0x184a54:0xc66,_0x5b0b23:0x82,_0x483107:0x9a4,_0x9ffd81:0x3c7,_0x48b832:0x3a9};var _0x4607cb;const _0x521b58=this['_compassRectangle'];function _0x41ffb3(_0x33f60f,_0x2acc23){return _0x306755(_0x33f60f,_0x2acc23- -0x191);}const _0x449dc9=new Cesium__namespace['Cartesian2']((_0x521b58[_0x41ffb3(_0x1a96a6._0x184a54,0x139e)]-_0x521b58[_0x3bf508(0xe7f,0xe70)])/0x2,(_0x521b58['bottom']-_0x521b58['top'])/0x2);let _0x4d99d6=_0x17326c['clientX'],_0x5ea2b8=_0x17326c[_0x3bf508(0xa10,_0x1a96a6._0x5b0b23)];((_0x4607cb=_0x17326c['touches'])===null||_0x4607cb===void 0x0?void 0x0:_0x4607cb['length'])>0x0&&(_0x4d99d6=_0x17326c['touches'][0x0][_0x41ffb3(0x16ba,0x14cf)],_0x5ea2b8=_0x17326c['touches'][0x0][_0x41ffb3(0xda3,_0x1a96a6._0x483107)]);const _0xb96077=new Cesium__namespace['Cartesian2'](_0x4d99d6-_0x521b58['left'],_0x5ea2b8-_0x521b58['top']);function _0x3bf508(_0x269e4c,_0x3a38a2){return _0x306755(_0x3a38a2,_0x269e4c- -0x125);}const _0x195a6f=new Cesium__namespace[(_0x41ffb3(-0x61b,0x35b))]();return Cesium__namespace[_0x3bf508(_0x1a96a6._0x9ffd81,-_0x1a96a6._0x48b832)][_0x41ffb3(0x1a58,0xf8d)](_0xb96077,_0x449dc9,_0x195a6f),_0x195a6f;}}register$2(_0x306755(-0x278,0x745),Compass);class CubeView extends BaseControl{[_0x306755(0x1501,0x130c)](){const _0x15cbcc={_0x176f35:0x1534,_0x28b1cb:0x5a6,_0x220cf3:0x62},_0x1c760e={_0x1cc8e2:0x243},_0x28876a={_0xb68a6:0x404};this['_container']=create$4(_0x4c568e(0x526,-0x4fe),'mars3d-cubeview\x20'+this['_className']);function _0x32a95c(_0x1f6a58,_0x413ac1){return _0x2b6441(_0x413ac1,_0x1f6a58-_0x28876a._0xb68a6);}this['_container'][_0x4c568e(_0x15cbcc._0x176f35,0x1093)]='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20顶\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20西\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20南\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20东\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20北\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20底\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20',this[_0x32a95c(_0x15cbcc._0x28b1cb,_0x15cbcc._0x220cf3)]['style']['cssText']=this['_getPositionCssText']('top:\x2010px;right:\x2010px;');function _0x4c568e(_0x93f64f,_0x54c95f){return _0x2b6441(_0x54c95f,_0x93f64f-_0x1c760e._0x1cc8e2);}this['_container_cube']=this['_container']['querySelector']('.mars3d-cubeview-cube');}['_addedHook'](){const _0x27335d={_0x49b492:0x1a};function _0x4b4480(_0x294e85,_0x546904){return _0x2b6441(_0x294e85,_0x546904-0x2a9);}this['_map']['on'](EventType['postRender'],this[_0x4b4480(-_0x27335d._0x49b492,0x542)],this);}[_0x306755(0x654,0xe2b)](){const _0x6a9aca={_0x2c55b1:0x314},_0x18fed7={_0x46fe3c:0x5};function _0x996bf1(_0x15ea52,_0x98f08){return _0x2b6441(_0x98f08,_0x15ea52- -_0x18fed7._0x46fe3c);}function _0x1c4238(_0x51c2f6,_0x475412){return _0x306755(_0x475412,_0x51c2f6- -0x658);}this[_0x996bf1(0x1223,0x11e3)][_0x1c4238(_0x6a9aca._0x2c55b1,-0x3f4)](EventType['postRender'],this['_postRenderHandler'],this);}['_postRenderHandler'](){const _0x58456c={_0x364e56:0x1fce,_0x2c95fa:0x1754,_0x13b522:0x361,_0x3d108c:0x84c,_0x53c0b9:0x9c8,_0x6bf7fe:0xbf6};function _0x308032(_0x35201c,_0x34b7c8){return _0x2b6441(_0x34b7c8,_0x35201c-0x713);}function _0x355a38(_0x248e33,_0x47ab15){return _0x2b6441(_0x248e33,_0x47ab15-0x52c);}const _0x529d4c=this[_0x355a38(_0x58456c._0x364e56,_0x58456c._0x2c95fa)][_0x355a38(_0x58456c._0x13b522,0x9f0)][_0x355a38(_0x58456c._0x3d108c,0xfd3)];this[_0x355a38(-0x269,0x618)][_0x308032(_0x58456c._0x53c0b9,0x9fc)]['transform']=_0x308032(0x1605,0xe39)+_0x529d4c['pitch']+'rad)\x20rotateY('+_0x529d4c[_0x355a38(0x1470,0x115c)]+_0x308032(0x149a,_0x58456c._0x6bf7fe);}}register$2(_0x306755(0x22b7,0x18ce),CubeView);const geodesic=new Cesium__namespace['EllipsoidGeodesic'](),BASE=[0x1,0x2,0x3,0x5],DIS=[...BASE,...BASE['map'](_0x45dc20=>_0x45dc20*0xa),...BASE['map'](_0x33b540=>_0x33b540*0x64),...BASE['map'](_0x190587=>_0x190587*0x3e8),...BASE[_0x2b6441(0x251,0x1f3)](_0x844e26=>_0x844e26*0x2710),...BASE['map'](_0x41b4bf=>_0x41b4bf*0x186a0),...BASE['map'](_0xefe6d9=>_0xefe6d9*0xf4240)];class DistanceLegend extends BaseControl{get['distance'](){return this['_currDistance'];}['_mountedHook'](){const _0xc0ffd4={_0x24f0c6:0x1721,_0x10f965:0xa47,_0x3b4541:0x198},_0x39bf07={_0x53d966:0x4f9};var _0x379da4;this['_container']=create$4('div',_0x18425e(0x3d7,-0x3e3)+this['_className']),this['_container'][_0x18425e(0x32c,0x590)][_0x44ca79(0x3be,0x5a3)]=this['_getPositionCssText']('left:\x20120px;\x20bottom:\x20'+((_0x379da4=this[_0x44ca79(0x1864,_0xc0ffd4._0x24f0c6)][_0x18425e(_0xc0ffd4._0x10f965,0xc67)]['timeline'])!==null&&_0x379da4!==void 0x0&&_0x379da4['show']?'27':'2')+_0x18425e(0x2ae,-0x26e));function _0x18425e(_0x34f24b,_0x3f6f36){return _0x306755(_0x3f6f36,_0x34f24b- -0x52a);}function _0x44ca79(_0x194cd7,_0x197292){return _0x2b6441(_0x194cd7,_0x197292-_0x39bf07._0x53d966);}this['_labelEl']=create$4(_0x44ca79(0x362,0x7dc),'legend-label',this['_container']),this['_scaleBarEl']=create$4(_0x18425e(0x35a,0xe24),'legend-scale-bar',this['_container']),this['_container'][_0x18425e(0x32c,-_0xc0ffd4._0x3b4541)]['visibility']='hidden',this['_lastUpdate']=Cesium__namespace['getTimestamp']();}['_addedHook'](){const _0x24c695={_0x376e82:0x11dd},_0x214509={_0x50e6a5:0x4f7};function _0x241351(_0x2d2ec4,_0x4b88e9){return _0x2b6441(_0x2d2ec4,_0x4b88e9-_0x214509._0x50e6a5);}this['_map']['on'](EventType[_0x241351(_0x24c695._0x376e82,0x16e9)],this['_updateContent'],this);}['_removedHook'](){const _0x2f9005={_0x4ebada:0x7f1};function _0x10bd42(_0x49b923,_0x33f894){return _0x306755(_0x33f894,_0x49b923-0xbd);}function _0x38cb19(_0x4bf6f0,_0x561ce5){return _0x2b6441(_0x561ce5,_0x4bf6f0-0x2b8);}this[_0x38cb19(0x14e0,0x1f21)][_0x38cb19(0x683,0x8bc)](EventType['postRender'],this[_0x10bd42(_0x2f9005._0x4ebada,-0xc1)],this);}[_0x2b6441(-0x5a0,0x193)](_0x39719a,_0x1f5a3c){const _0x192e7c={_0x12458c:0xadb,_0x266ad0:0x27c,_0x4f305b:0x40e,_0x32a7ec:0x5ea,_0x15d6e9:0x15ee,_0x36ac90:0x954,_0x511089:0x1c48,_0x505f94:0x2b5,_0x50119f:0x825,_0x3d9e5d:0xa5d,_0x127dd0:0x18a2,_0x4907ad:0xb2e},_0x32ace1={_0x2340cd:0x69f},_0x2c0628={_0x1a40d9:0x4d4},_0x758aa3=Cesium__namespace[_0x4d2589(_0x192e7c._0x12458c,0x533)]();if(_0x758aa3=0x0;--_0x753fcb){if(DIS[_0x753fcb]/_0x16dd03<_0xdd37b4){_0x272706=DIS[_0x753fcb];break;}}if(_0x272706){if(this['_currDistance']!==_0x272706){this[_0x4d2589(_0x192e7c._0x505f94,_0x192e7c._0x50119f)]=_0x272706;const _0x2dfc2f={};_0x2dfc2f[_0x4d2589(0xa49,0xff6)]=_0x272706,this[_0xba5d92(0x456,0x987)](EventType['change'],_0x2dfc2f);}this['_container'][_0x4d2589(0x382,_0x192e7c._0x3d9e5d)]['visibility']='visible',this[_0x4d2589(0x11fb,0x83e)]['innerHTML']=_0x272706>=0x3e8?_0x272706/0x3e8+_0xba5d92(0x2375,_0x192e7c._0x127dd0):_0x272706+'\x20m';const _0x20eac6=_0x272706/_0x16dd03|0x0;this['_scaleBarEl']['style']['cssText']='width:\x20'+_0x20eac6+_0xba5d92(0xffd,0xddb)+(0x7d-_0x20eac6)/0x2+_0xba5d92(_0x192e7c._0x4907ad,0x8d6);}}}register$2('distanceLegend',DistanceLegend);const icon$2='\x0a\x0a\x20\x20\x20\x20\x0a\x0a';class MapSplit extends BaseControl{get['type'](){return'mapSplit';}get['leftLayer'](){return this['_leftLayer'];}set['leftLayer'](_0x5ede26){const _0x3c6392={_0x6bd67f:0x9b,_0x57882c:0x8c4},_0x3ca591={_0x13abeb:0xaf6},_0x51cf76={_0x32a8e8:0x493},_0x3c15ad={_0x4b4052:0x501};this['_leftLayer']&&(this['_leftLayer']['forEach'](_0x44a051=>{_0x44a051['_hasRemoveByMapSplit']&&_0x44a051['remove']();}),this['_leftLayer']=null);function _0x5456fd(_0x3a9570,_0x22094e){return _0x2b6441(_0x22094e,_0x3a9570-0x225);}function _0x37967c(_0x353be6,_0x5b8bae){return _0x306755(_0x353be6,_0x5b8bae- -_0x3c15ad._0x4b4052);}_0x5ede26&&(!Array[_0x37967c(0x59d,0x333)](_0x5ede26)&&(_0x5ede26=[_0x5ede26]),this[_0x37967c(-_0x3c6392._0x6bd67f,0x5e8)]=[],_0x5ede26[_0x5456fd(_0x3c6392._0x57882c,0xef5)](_0x3ba99b=>{_0x3ba99b=this['setLayerSplitDirection'](_0x3ba99b,Cesium__namespace[_0x1243cb(_0x3ca591._0x13abeb,0x12c8)][_0x1d8b7c(0xbfe,0xf4b)]);function _0x1d8b7c(_0x5d9663,_0x351ee4){return _0x5456fd(_0x351ee4-_0x51cf76._0x32a8e8,_0x5d9663);}function _0x1243cb(_0x1f0b11,_0x429774){return _0x5456fd(_0x1f0b11-0x39,_0x429774);}this['_leftLayer'][_0x1d8b7c(-0x303,0x7b0)](_0x3ba99b);}));}get['rightLayer'](){return this['_rightLayer'];}set['rightLayer'](_0x425f1d){const _0x163901={_0x208fb1:0x240,_0xcc0fa3:0xbad,_0x267579:0x977,_0x4314a0:0xcc2,_0x1b7b65:0x6cf},_0x365548={_0x2b4086:0x116e},_0x23a1ed={_0x213bbf:0x9df},_0x1f8003={_0xb512e9:0x30};function _0x3b25a7(_0x20c9c1,_0xed4455){return _0x2b6441(_0xed4455,_0x20c9c1-_0x1f8003._0xb512e9);}this[_0x3b25a7(_0x163901._0x208fb1,0xb3b)]&&(this[_0x3b25a7(_0x163901._0x208fb1,_0x163901._0xcc0fa3)][_0x3b25a7(0x6cf,_0x163901._0x267579)](_0x27c8dd=>{function _0x237c58(_0x57c738,_0x492bbc){return _0x3b25a7(_0x57c738-0x50,_0x492bbc);}_0x27c8dd['_hasRemoveByMapSplit']&&_0x27c8dd[_0x237c58(0x49b,_0x23a1ed._0x213bbf)]();}),this[_0x3b25a7(_0x163901._0x208fb1,0x52f)]=null);function _0x52cf25(_0x3866fb,_0x5bb052){return _0x306755(_0x3866fb,_0x5bb052- -0x324);}_0x425f1d&&(!Array[_0x52cf25(0xa5c,0x510)](_0x425f1d)&&(_0x425f1d=[_0x425f1d]),this[_0x3b25a7(0x240,_0x163901._0x4314a0)]=[],_0x425f1d[_0x3b25a7(_0x163901._0x1b7b65,0x1195)](_0x4bc416=>{_0x4bc416=this[_0x386f73(_0x365548._0x2b4086,0xae8)](_0x4bc416,Cesium__namespace[_0x386f73(0xb6f,0x6e7)]['RIGHT']);function _0x37a4e0(_0x40fb35,_0x56694f){return _0x3b25a7(_0x56694f-0x31e,_0x40fb35);}function _0x386f73(_0x2e93c,_0x4444b4){return _0x52cf25(_0x4444b4,_0x2e93c-0x5a);}this['_rightLayer']['push'](_0x4bc416);}));}['_mountedHook'](){const _0xa60bbc={_0x5585f9:0x34e,_0x1e7626:0x3ac,_0x38c146:0x46a,_0x3505a3:0xc54,_0x1a2f70:0xd9d,_0x517af6:0x939,_0x5a7107:0xe30},_0x3792ed={_0x1d26cd:0xc1f},_0x1e06d9={_0x21bee4:0x23c},_0x1bc610={_0x143ab5:0x1da},_0x353c0b={_0x24692a:0x14fc};this['_container']=create$4('div','mars3d-slider\x20'+this['_className']);const _0xaf9b6b=parseDom(icon$2,!![],'slider-splitter');function _0x48b93e(_0x5c90fc,_0x50cff3){return _0x2b6441(_0x5c90fc,_0x50cff3-0x45a);}this['_container'][_0x48b93e(0x1292,0xeea)](_0xaf9b6b);const _0x580760=new Cesium__namespace[(_0x48b93e(0xd02,0xdd9))](_0xaf9b6b);_0x580760[_0x190819(_0xa60bbc._0x5585f9,0xd9d)](_0x254e0b=>{function _0x58319d(_0x255eb3,_0x4d679c){return _0x190819(_0x4d679c,_0x255eb3-0x20b);}this[_0x58319d(0x11bf,_0x353c0b._0x24692a)]=!![];},Cesium__namespace['ScreenSpaceEventType'][_0x190819(-_0xa60bbc._0x1e7626,_0xa60bbc._0x38c146)]),_0x580760['setInputAction'](_0x11abdf=>{this['_moveActive']=!![];},Cesium__namespace['ScreenSpaceEventType']['PINCH_START']),_0x580760['setInputAction'](_0x3a415a=>{const _0x13f791={_0x428485:0x245};function _0x3aeed4(_0x140c4d,_0x271d55){return _0x48b93e(_0x140c4d,_0x271d55- -_0x13f791._0x428485);}this[_0x3aeed4(0x14b1,0x141b)](_0x3a415a);},Cesium__namespace['ScreenSpaceEventType']['MOUSE_MOVE']);function _0x190819(_0x169319,_0x13a4e3){return _0x306755(_0x169319,_0x13a4e3- -_0x1bc610._0x143ab5);}_0x580760[_0x190819(_0xa60bbc._0x3505a3,_0xa60bbc._0x1a2f70)](_0x23f723=>{this['_moveHandler'](_0x23f723);},Cesium__namespace['ScreenSpaceEventType']['PINCH_MOVE']),_0x580760[_0x190819(_0xa60bbc._0x517af6,0xd9d)](()=>{function _0x36ae90(_0x7af4a9,_0x1de2cc){return _0x48b93e(_0x1de2cc,_0x7af4a9- -_0x1e06d9._0x21bee4);}this[_0x36ae90(0xe0b,_0x3792ed._0x1d26cd)]=![];},Cesium__namespace[_0x190819(0xb57,0xdbf)]['LEFT_UP']),_0x580760[_0x48b93e(0x3c2,_0xa60bbc._0x5a7107)](()=>{this['_moveActive']=![];},Cesium__namespace[_0x48b93e(0x405,0xe52)]['PINCH_END']);}[_0x306755(-0x385,0x643)](_0x16c3a2){const _0x434b37={_0x266c62:0xaaf,_0x1594cf:0x1417,_0xc87b5:0xf16},_0x3f4b49={_0x2a46bb:0x588},_0x3ed14c={_0x3f5338:0xeb};function _0x4c7e48(_0x44b3,_0x35ec0d){return _0x306755(_0x44b3,_0x35ec0d-_0x3ed14c._0x3f5338);}function _0x15db94(_0x45665b,_0x4c322e){return _0x2b6441(_0x45665b,_0x4c322e-_0x3f4b49._0x2a46bb);}_0x16c3a2?this[_0x15db94(0x4b6,0x985)]():(this['options']['leftLayer']=this['leftLayer'],this[_0x15db94(0x1212,0xc44)]['rightLayer']=this[_0x15db94(_0x434b37._0x266c62,0x8fd)],this[_0x4c7e48(_0x434b37._0x1594cf,_0x434b37._0xc87b5)]());}[_0x2b6441(0x830,0x3fd)](){const _0x39d776={_0x385c3e:0x5cc,_0x42683e:0xc8f,_0x59ecad:0x3a6,_0x47c021:0x973,_0x214617:0x53b,_0xb4893b:0x958,_0x9c1e93:0x111,_0x163d2f:0xbfe,_0x698c2f:0x13d9,_0x51868d:0xd7a,_0x175974:0x1571,_0x2f7814:0xd4b,_0x3cc1cc:0x636,_0x4272c0:0xa33},_0x44cc39={_0x286190:0xa0};if(!this[_0x243046(_0x39d776._0x385c3e,_0x39d776._0x42683e)]){this[_0x39ae6b(0x311,0x860)][_0x39ae6b(_0x39d776._0x59ecad,_0x39d776._0x47c021)]['display']='none';return;}function _0x39ae6b(_0x1d338e,_0x178c7b){return _0x2b6441(_0x1d338e,_0x178c7b-0x6be);}this['_map'][_0x39ae6b(0x796,0xb82)][_0x39ae6b(_0x39d776._0x214617,0x8c0)]=0.5,this[_0x39ae6b(_0x39d776._0xb4893b,0x860)][_0x39ae6b(-_0x39d776._0x9c1e93,_0x39d776._0x47c021)]['left']=_0x39ae6b(0x1511,_0x39d776._0x163d2f);function _0x243046(_0x3c0322,_0x1017ac){return _0x2b6441(_0x3c0322,_0x1017ac- -_0x44cc39._0x286190);}this['_moveHandler'](),this[_0x39ae6b(_0x39d776._0x698c2f,_0x39d776._0x51868d)][_0x243046(0x805,0xfef)]&&(this[_0x243046(_0x39d776._0x175974,0xfef)]=this[_0x39ae6b(_0x39d776._0x2f7814,0xd7a)]['leftLayer']),this['options'][_0x39ae6b(_0x39d776._0x3cc1cc,_0x39d776._0x4272c0)]&&(this[_0x39ae6b(0x148a,0xa33)]=this['options']['rightLayer']);}[_0x2b6441(0xb1e,0x88a)](){const _0x1c895b={_0xcaab4d:0x5f8,_0x4b8c4b:0x1f},_0x2bf021={_0x2c49dc:0x1ab};function _0xef0c31(_0x2d2e0f,_0x139c30){return _0x306755(_0x139c30,_0x2d2e0f- -_0x2bf021._0x2c49dc);}this['_map']['scene'][_0xef0c31(_0x1c895b._0xcaab4d,_0x1c895b._0x4b8c4b)]=0x0,this['leftLayer']=null,this['rightLayer']=null;}[_0x2b6441(0x17a0,0x1206)](_0x58167b){const _0x3139f7={_0x58c68a:0x35e,_0x39516d:0x97d,_0x2794e9:0x90a,_0x3fbef8:0x13ab,_0x4e1d3e:0x25a,_0x472e5e:0x20c,_0x4bca55:0x225,_0x2d3af1:0x2f2};if(!this['_moveActive']||!this[_0x1a06a4(0xd87,_0x3139f7._0x58c68a)])return;let _0x57f960=0x0;_0x58167b[_0x1a06a4(0xcae,0x152b)]&&(_0x57f960=_0x58167b['position']['x']);_0x58167b['endPosition']&&(_0x57f960=_0x58167b['endPosition']['x']);const _0x27cef9=(this['_container'][_0x5721d7(0x322,0x471)]-0xf+_0x57f960)/this[_0x1a06a4(0x1fa,-0x1fc)][_0x1a06a4(0x5f6,_0x3139f7._0x39516d)][_0x5721d7(_0x3139f7._0x2794e9,_0x3139f7._0x3fbef8)];function _0x1a06a4(_0x2dfa0c,_0x532139){return _0x306755(_0x532139,_0x2dfa0c- -0x549);}if(_0x27cef9<0x0||_0x27cef9>0x1)return;this[_0x5721d7(0x8c4,0x1ac)]['style'][_0x1a06a4(0xa5b,0xee5)]=0x64*_0x27cef9+'%',this['_map'][_0x1a06a4(0x51c,0x569)][_0x1a06a4(_0x3139f7._0x4e1d3e,0x1ef)]=_0x27cef9;const _0x1fb632={};_0x1fb632[_0x5721d7(-0x29f,_0x3139f7._0x472e5e)]=_0x27cef9;function _0x5721d7(_0x4ad319,_0x1c6e48){return _0x306755(_0x4ad319,_0x1c6e48- -0x597);}this[_0x5721d7(_0x3139f7._0x4bca55,_0x3139f7._0x2d3af1)](EventType['mouseMove'],_0x1fb632);}[_0x2b6441(0x17f6,0xe97)](_0x30bade,_0xc9bb79){const _0x22cc0b={_0x12c12a:0xbee,_0xfe2c1c:0xeaa,_0x11051d:0xd45,_0x174de4:0x15e6,_0x352da9:0x16ea,_0x780eba:0x109b},_0x1c056d={_0xfbc773:0xd53};!_0x30bade[_0x1c541c(0x1353,_0x22cc0b._0x12c12a)]&&this[_0x5a8f86(_0x22cc0b._0xfe2c1c,0x1561)]&&(_0x30bade['type']&&!_0x30bade[_0x5a8f86(0xbad,_0x22cc0b._0x11051d)]&&(_0x30bade=create$3(_0x30bade)),this[_0x1c541c(_0x22cc0b._0x174de4,0x1856)]['addLayer'](_0x30bade),_0x30bade['_hasRemoveByMapSplit']=!![]);_0x30bade[_0x5a8f86(0x22b,0xa14)]=_0xc9bb79;function _0x5a8f86(_0x4a0672,_0x47b1aa){return _0x2b6441(_0x4a0672,_0x47b1aa-0x339);}function _0x1c541c(_0x12cf1b,_0x15cd89){return _0x306755(_0x12cf1b,_0x15cd89-0x8d);}return _0x30bade['readyPromise'][_0x5a8f86(_0x22cc0b._0x352da9,_0x22cc0b._0x780eba)](_0x3727f6=>{_0x3727f6[_0x256778(0xe49,_0x1c056d._0xfbc773)]&&_0x3727f6[_0x256778(0xac9,_0x1c056d._0xfbc773)]();function _0x57cf87(_0x4be702,_0x2ce614){return _0x5a8f86(_0x2ce614,_0x4be702- -0x21d);}function _0x256778(_0x16f3d4,_0x32b7ec){return _0x1c541c(_0x16f3d4,_0x32b7ec- -0x1f2);}if(_0x3727f6[_0x256778(0x2108,0x175c)])for(let _0x17cb93=0x0;_0x17cb93<_0x3727f6['arrLayer']['length'];_0x17cb93++){_0x3727f6['arrLayer'][_0x17cb93]['splitDirection']=_0xc9bb79;}else _0x3727f6[_0x57cf87(0x7f7,0x20e)]=_0xc9bb79;}),_0x30bade;}}register$2('mapSplit',MapSplit);class SceneEvent{constructor(_0x52b378){const _0x381be7={_0x234c49:0xc39,_0x1a5888:0x12fa},_0x2f864e={_0x2c2833:0x40f};this['_map']=_0x52b378;function _0x179063(_0x2047da,_0x3b78c3){return _0x306755(_0x3b78c3,_0x2047da- -0xa0);}this[_0x179063(0x10c9,0xe24)]=_0x52b378[_0x3cbff8(0x14c3,_0x381be7._0x234c49)];function _0x3cbff8(_0x4874e9,_0x40d771){return _0x306755(_0x4874e9,_0x40d771- -_0x2f864e._0x2c2833);}this[_0x179063(0x16ed,0x1e32)]=_0x52b378['scene'],this['_globe']=_0x52b378['scene']['globe'],this['_clock']=_0x52b378[_0x179063(_0x381be7._0x1a5888,0x1bfa)];}['_getEventByType'](_0x44230d){const _0xcc6dfe={_0x1e2860:0x114a,_0x4c7dec:0x3c6,_0x3dba5e:0x10e5,_0x2e074c:0x1709,_0x4b41f8:0x2093,_0x196bbf:0x173e,_0x4a5616:0x13bd,_0x3bf29b:0x48f,_0x511d49:0x20,_0x1708d5:0x1895,_0x475605:0x1820,_0x298c78:0xc23},_0x5b3649={_0x4d1d30:0x1ec},_0x306253={_0x36a2be:0x552};function _0x43ae8a(_0x5a40f4,_0x4e94d3){return _0x2b6441(_0x5a40f4,_0x4e94d3-_0x306253._0x36a2be);}function _0x2f2176(_0x55e77a,_0x1ce773){return _0x306755(_0x1ce773,_0x55e77a- -_0x5b3649._0x4d1d30);}switch(_0x44230d){case EventType[_0x43ae8a(0xf69,0x18e7)]:return this['_camera'][_0x2f2176(0x138a,0x12c4)];case EventType['cameraMoveEnd']:return this[_0x43ae8a(_0xcc6dfe._0x1e2860,0x111a)][_0x2f2176(0x3b0,_0xcc6dfe._0x4c7dec)];case EventType[_0x2f2176(_0xcc6dfe._0x3dba5e,0xe03)]:return this['_camera']['changed'];case EventType['preUpdate']:return this[_0x2f2176(0x15a1,0x15f6)][_0x2f2176(0x1253,_0xcc6dfe._0x2e074c)];case EventType['postUpdate']:return this[_0x43ae8a(_0xcc6dfe._0x4b41f8,_0xcc6dfe._0x196bbf)]['postUpdate'];case EventType[_0x43ae8a(0x271,0x8de)]:return this['_scene']['preRender'];case EventType['postRender']:return this['_scene']['postRender'];case EventType['renderError']:return this['_scene']['renderError'];case EventType[_0x43ae8a(0xa35,0xcec)]:return this['_scene']['morphStart'];case EventType[_0x2f2176(_0xcc6dfe._0x4a5616,0x1457)]:return this['_scene']['morphComplete'];case EventType['clockTick']:return this[_0x43ae8a(-0x55,0x51a)][_0x43ae8a(0x3e2,0xbd2)];case EventType[_0x2f2176(_0xcc6dfe._0x3bf29b,0xb78)]:return this[_0x2f2176(0x37d,_0xcc6dfe._0x511d49)]['onStop'];case EventType['terrainChange']:return this['_globe'][_0x43ae8a(_0xcc6dfe._0x1708d5,_0xcc6dfe._0x475605)];case EventType['tileLoadProgress']:return this[_0x43ae8a(0x1138,_0xcc6dfe._0x298c78)]['tileLoadProgressEvent'];default:return null;}}[_0x2b6441(0x644,0x80c)](_0x33c92a){const _0x297636=this['_getEventByType'](_0x33c92a);return Boolean(_0x297636);}['on'](_0x26ba33,_0x4b51bb,_0xee9327){if(!_0x4b51bb)return;const _0x1ab0ac=this['_getEventByType'](_0x26ba33);if(!_0x1ab0ac)return;return _0x1ab0ac['addEventListener'](_0x4b51bb,_0xee9327||this);}[_0x306755(0xed7,0x96c)](_0x32c430,_0x4150f0,_0x5d0ccb){const _0x202c2a={_0x4f1706:0x1455},_0x41bf81=this['_getEventByType'](_0x32c430);if(!_0x41bf81)return;function _0x34d634(_0x2c6bb8,_0x5e3c29){return _0x306755(_0x5e3c29,_0x2c6bb8-0xa8);}return _0x41bf81[_0x34d634(_0x202c2a._0x4f1706,0x197b)](_0x4150f0,_0x5d0ccb||this);}[_0x306755(0x9a4,0xb13)](_0x4b8ca3){const _0x39723c={_0x2dfb10:0x1206};function _0x574c7e(_0x44c103,_0x1a5ac3){return _0x2b6441(_0x44c103,_0x1a5ac3- -0x22);}const _0xb4f5ca=this[_0x574c7e(0x1086,0x13bb)](_0x4b8ca3);function _0x3fe76a(_0x1342ff,_0x2376dc){return _0x306755(_0x1342ff,_0x2376dc-0x40);}if(!_0xb4f5ca||_0xb4f5ca['numberOfListeners']===0x0)return![];for(let _0x23d34c=0x0;_0x23d34c<_0xb4f5ca['_scopes']['length'];_0x23d34c++){const _0x76e858=_0xb4f5ca[_0x574c7e(0xb25,0xa82)][_0x23d34c];if(_0x76e858===this[_0x574c7e(0xb5e,_0x39723c._0x2dfb10)])return!![];}return![];}}const _0x390d50={};_0x390d50['enabledMoveTarget']=!![],_0x390d50['moveDelay']=0x1e,_0x390d50['pickWidth']=0x4,_0x390d50['pickHeight']=0x4,_0x390d50['pickLimit']=0x9;const DEF_OPTIONS=_0x390d50;class MouseEvent{constructor(_0x45df32,_0x5f156d={}){const _0x21fac8={_0x30f961:0x6bd,_0x2e3ad5:0xa65,_0xa4976e:0x8b9,_0x4ad846:0xdc2,_0x2d8b84:0x229},_0xb17a73={_0x471b74:0x706},_0x1b2c59={_0x3f7a9b:0x4d7};_0x5f156d={...DEF_OPTIONS,..._0x5f156d};function _0x21fefe(_0x6ef44a,_0x17a088){return _0x2b6441(_0x17a088,_0x6ef44a-_0x1b2c59._0x3f7a9b);}this['_map']=_0x45df32,this[_0x21fefe(_0x21fac8._0x30f961,_0x21fac8._0x2e3ad5)]=_0x45df32['viewer'],this[_0x34045f(_0x21fac8._0xa4976e,_0x21fac8._0x4ad846)]=_0x5f156d,this['moveDelay']=_0x5f156d[_0x34045f(-_0x21fac8._0x2d8b84,0x687)],this[_0x34045f(0x148f,0x1615)]=_0x5f156d['enabledMoveTarget'];function _0x34045f(_0x390d8c,_0xc374e8){return _0x2b6441(_0x390d8c,_0xc374e8-_0xb17a73._0x471b74);}this[_0x34045f(0xcfa,0x154e)]=undefined,this['_setInputAction']();}get[_0x306755(0x1084,0xa69)](){return this['_enabledMoveTarget'];}set[_0x306755(0x114b,0xa69)](_0x5e06b2){const _0x2c0fa1={_0x5e6b02:0xbd3};this['_enabledMoveTarget']=_0x5e06b2;function _0x383684(_0x8e72a2,_0x51ae60){return _0x2b6441(_0x51ae60,_0x8e72a2-0x23c);}this[_0x383684(_0x2c0fa1._0x5e6b02,0xce3)]();}get['noPickEntity'](){const _0x4f20ba={_0x5e9411:0x347};function _0x57afa2(_0x566147,_0x55af6d){return _0x2b6441(_0x55af6d,_0x566147-_0x4f20ba._0x5e9411);}return this[_0x57afa2(0x7bf,-0x2ac)];}set['noPickEntity'](_0x3c5158){this['_noPickEntity']=_0x3c5158;}[_0x2b6441(0x1222,0x77c)](_0x24d4c6){const _0xa263de={_0x3ad867:0x101d},_0x15acfd={_0x59391d:0x5de};function _0xe70991(_0x4974b9,_0x360096){return _0x306755(_0x360096,_0x4974b9- -_0x15acfd._0x59391d);}if(!_0x24d4c6||Object['keys'](_0x24d4c6)[_0xe70991(_0xa263de._0x3ad867,0x148f)]===0x0)return this;return this['options']=merge(this['options'],_0x24d4c6),this['moveDelay']=this['options']['moveDelay'],this['_enabledMoveTarget']=this['options']['enabledMoveTarget'],this;}['clearMoveTargetDelay'](){const _0x1a2898={_0x13a265:0xbef};function _0x5cdc1f(_0x422b16,_0x580d01){return _0x306755(_0x422b16,_0x580d01- -0x64e);}this[_0x5cdc1f(0xd09,_0x1a2898._0x13a265)]&&(clearTimeout(this['_moveDelayTik']),this['_moveDelayTik']=null);}[_0x2b6441(0xd8e,0x30e)](){const _0x234a27={_0x49a981:0xd7d,_0xa9a053:0x19c7,_0x33e1ff:0x1e97,_0x1e5239:0x17c7,_0x18ef97:0x110a,_0x1a5903:0xfb8,_0x4b3505:0x651,_0x3bc074:0x1356,_0x5ee42f:0x1025,_0x51dc14:0x10e8,_0x2eb8af:0x10b1,_0x3f2343:0x1a7f,_0x58b61e:0x1d32,_0x11cb73:0x1a1f,_0x31c65c:0x1cae,_0x3db72c:0xdfb,_0x1342fa:0x10e8,_0x5216e8:0xca5,_0x89d84:0xb43,_0x2fb6f4:0x17ee,_0x50847e:0x9bb,_0x283e1f:0x110a,_0x560620:0x8c1,_0xc2a1c0:0x944,_0x531d46:0x7f6,_0x43d63b:0x10d,_0x1d72ca:0x15c0,_0x3fdfea:0x240b,_0x11a820:0xf42,_0x17d798:0x1941},_0x38448f={_0x3472c9:0x983},_0x44b617={_0x49906c:0x77},_0x25ea77={_0x53e24c:0x458,_0x221c55:0x5ee},_0x4ffe04={_0x2a5131:0x70b},_0x209261={_0x4de2cc:0x710},_0xf5bf0e={_0x53bf30:0x4ec},_0x67ed6={_0x4a26e9:0x3ad,_0x13c962:0x11a7,_0x738592:0x113b,_0x5b4840:0xe0a,_0x284f9a:0x543},_0x326e1c={_0xbc763a:0x1957},_0x499263={_0x34f59f:0x37},_0x50ed50={_0xc0262e:0xe5c,_0x34d9a4:0xb18,_0x50b84a:0x17ec,_0x22aa3d:0x1318},_0x2a24cf={_0x24feb7:0x21b},_0x35ab83={_0x22fa7b:0xdfb},_0x35d1e5={_0x317438:0x770};this['handler']=new Cesium__namespace['ScreenSpaceEventHandler'](this[_0x20c80d(0xcbc,0x8f8)][_0x44a3d9(0x868,0x1223)]),this['handler']['setInputAction'](_0x86d567=>{function _0x5e93e9(_0x2981e5,_0x3e2283){return _0x20c80d(_0x2981e5,_0x3e2283- -_0x35d1e5._0x317438);}this[_0x5e93e9(0x1806,_0x35ab83._0x22fa7b)](_0x86d567);},Cesium__namespace[_0x20c80d(0x10e9,0x110a)]['LEFT_CLICK']),this['handler'][_0x44a3d9(0x108f,0x7be)](_0x237e44=>{this['_globeMouseHandler'](_0x237e44,EventType['dblClick']);},Cesium__namespace['ScreenSpaceEventType']['LEFT_DOUBLE_CLICK']),this['handler']['setInputAction'](_0x2f5e5d=>{this['_globeMouseHandler'](_0x2f5e5d,[EventType['leftDown'],EventType['mouseDown']]);},Cesium__namespace[_0x44a3d9(0x10b1,_0x234a27._0x49a981)]['LEFT_DOWN']),this[_0x20c80d(_0x234a27._0xa9a053,0x17ee)]['setInputAction'](_0x450fd5=>{function _0x1a0cfe(_0x54cb4a,_0x373aa0){return _0x20c80d(_0x373aa0,_0x54cb4a- -0x594);}this[_0x1a0cfe(0x5cf,0x72f)](_0x450fd5,[EventType['leftUp'],EventType['mouseUp']]);},Cesium__namespace['ScreenSpaceEventType'][_0x44a3d9(0x1649,_0x234a27._0x33e1ff)]),this[_0x20c80d(0xef8,0x17ee)]['setInputAction'](_0x2f8b0b=>{const _0x2928d9={_0x39969f:0x748,_0x21ae8b:0xa90};function _0x56480d(_0x11cd02,_0x2c6ef4){return _0x20c80d(_0x11cd02,_0x2c6ef4- -0x622);}const _0x553aeb=_0x2f8b0b[_0x56480d(0x1523,0x1399)];_0x2f8b0b['windowPosition']=_0x553aeb;const _0x305926=this;Object['defineProperty'](_0x2f8b0b,_0xe00ca6(0x10c4,_0x50ed50._0xc0262e),{'configurable':!![],'get'(){function _0x39e5be(_0x1edb07,_0x403304){return _0x56480d(_0x403304,_0x1edb07-0x41e);}function _0xa892b5(_0xaab308,_0xdc4472){return _0xe00ca6(_0xaab308-0x6b,_0xdc4472);}return this['_cartesian']||getCurrentMousePosition(_0x305926[_0xa892b5(_0x2928d9._0x39969f,0x9b6)]['scene'],_0x553aeb,_0x305926[_0xa892b5(_0x2928d9._0x21ae8b,0x701)]);},'set'(_0x430ce3){this['_cartesian']=_0x430ce3;}}),_0x2f8b0b['cloneProperty']=!![];this[_0xe00ca6(0x9bf,_0x50ed50._0x34d9a4)]&&(this['clearMoveTargetDelay'](),this['moveDelay']>0x0?this['_moveDelayTik']=setTimeout(_0x33d13b=>{this['_moveDelayTik']=null,this['_mouseMoveHandler'](_0x2f8b0b);},this['moveDelay']):this['_mouseMoveHandler'](_0x2f8b0b));function _0xe00ca6(_0x5bb9b6,_0x5bb2aa){return _0x20c80d(_0x5bb2aa,_0x5bb9b6- -_0x2a24cf._0x24feb7);}this[_0x56480d(_0x50ed50._0x50b84a,_0x50ed50._0x22aa3d)]['fire'](EventType['mouseMove'],_0x2f8b0b);},Cesium__namespace[_0x20c80d(_0x234a27._0x1e5239,_0x234a27._0x18ef97)][_0x44a3d9(_0x234a27._0x1a5903,_0x234a27._0x4b3505)]),this['handler']['setInputAction'](_0x11a22e=>{this['_map']['fire'](EventType['wheel'],_0x11a22e);},Cesium__namespace['ScreenSpaceEventType'][_0x44a3d9(_0x234a27._0x3bc074,0x12c6)]),this['handler'][_0x20c80d(_0x234a27._0x5ee42f,_0x234a27._0x51dc14)](_0x5389d4=>{function _0x9ef88a(_0x179c98,_0x8d4a46){return _0x44a3d9(_0x8d4a46-_0x499263._0x34f59f,_0x179c98);}this['_globeMouseHandler'](_0x5389d4,EventType[_0x9ef88a(0x193c,_0x326e1c._0xbc763a)]);},Cesium__namespace[_0x44a3d9(_0x234a27._0x2eb8af,0xea1)][_0x20c80d(0x1a8a,_0x234a27._0x3f2343)]);function _0x44a3d9(_0x347571,_0x24889d){return _0x2b6441(_0x24889d,_0x347571-0x6b9);}this[_0x20c80d(_0x234a27._0x58b61e,0x17ee)][_0x44a3d9(0x108f,0xd06)](_0x51b831=>{const _0x607055={_0x6127ef:0x2b1},_0x524728={_0x4ea786:0x7b6};function _0x35d48a(_0x56a7dc,_0x45aa03){return _0x20c80d(_0x56a7dc,_0x45aa03- -_0x524728._0x4ea786);}function _0x572c0e(_0xa0aa83,_0x2ac42a){return _0x44a3d9(_0x2ac42a- -_0x607055._0x6127ef,_0xa0aa83);}this[_0x35d48a(0x842,_0x67ed6._0x4a26e9)](_0x51b831,[EventType[_0x35d48a(_0x67ed6._0x13c962,_0x67ed6._0x738592)],EventType[_0x35d48a(_0x67ed6._0x5b4840,_0x67ed6._0x284f9a)]]);},Cesium__namespace['ScreenSpaceEventType']['RIGHT_DOWN']),this['handler'][_0x44a3d9(0x108f,_0x234a27._0x11cb73)](_0x57d6ef=>{function _0x3adff5(_0x49f056,_0x5be283){return _0x20c80d(_0x49f056,_0x5be283- -0x72c);}this['_globeMouseHandler'](_0x57d6ef,[EventType['rightUp'],EventType[_0x3adff5(0x8bf,_0xf5bf0e._0x53bf30)]]);},Cesium__namespace[_0x20c80d(0xf1d,0x110a)]['RIGHT_UP']),this[_0x20c80d(_0x234a27._0x31c65c,0x17ee)][_0x20c80d(0x1960,_0x234a27._0x51dc14)](_0x281e90=>{function _0x351f2b(_0x20c88e,_0x5b0048){return _0x44a3d9(_0x5b0048- -0x58d,_0x20c88e);}this['_globeMouseHandler'](_0x281e90,EventType[_0x351f2b(0xd16,0x14ba)]);},Cesium__namespace[_0x44a3d9(0x10b1,0xc9d)][_0x44a3d9(0x937,_0x234a27._0x3db72c)]),this['handler']['setInputAction'](_0x56cc88=>{function _0x28c084(_0x5e6175,_0x52bc06){return _0x44a3d9(_0x5e6175- -0x560,_0x52bc06);}this['_globeMouseHandler'](_0x56cc88,[EventType[_0x28c084(0xa52,0x298)],EventType['mouseDown']]);},Cesium__namespace['ScreenSpaceEventType']['MIDDLE_DOWN']),this['handler'][_0x20c80d(0x10dc,_0x234a27._0x1342fa)](_0x2c8e23=>{function _0x2f9452(_0x1c9553,_0x610673){return _0x44a3d9(_0x610673- -0x4af,_0x1c9553);}this['_globeMouseHandler'](_0x2c8e23,[EventType['middleUp'],EventType[_0x2f9452(0xa46,_0x209261._0x4de2cc)]]);},Cesium__namespace['ScreenSpaceEventType']['MIDDLE_UP']),this['handler']['setInputAction'](_0xc74b40=>{this['_globeMouseHandler'](_0xc74b40,EventType['pinchStart']);},Cesium__namespace[_0x44a3d9(0x10b1,_0x234a27._0x5216e8)]['PINCH_START']);function _0x20c80d(_0x1c5ee1,_0x39abb4){return _0x306755(_0x1c5ee1,_0x39abb4-0x171);}this['handler']['setInputAction'](_0x1669c8=>{function _0x49ba33(_0x2a08b5,_0xe56f81){return _0x44a3d9(_0x2a08b5- -0x622,_0xe56f81);}function _0xfef02a(_0x5cfa78,_0x2a6418){return _0x20c80d(_0x2a6418,_0x5cfa78- -_0x4ffe04._0x2a5131);}this[_0xfef02a(_0x25ea77._0x53e24c,_0x25ea77._0x221c55)](_0x1669c8,EventType[_0x49ba33(-0x49,-0x800)]);},Cesium__namespace['ScreenSpaceEventType'][_0x20c80d(_0x234a27._0x89d84,0x12d7)]),this[_0x20c80d(0x1a42,_0x234a27._0x2fb6f4)]['setInputAction'](_0x2c41a8=>{function _0x3c8083(_0x525d39,_0x28c985){return _0x20c80d(_0x525d39,_0x28c985- -_0x44b617._0x49906c);}this['_map'][_0x3c8083(0xefe,_0x38448f._0x3472c9)](EventType['pinchMove'],_0x2c41a8);},Cesium__namespace[_0x20c80d(_0x234a27._0x50847e,_0x234a27._0x283e1f)][_0x44a3d9(0x1948,0x1309)]),this['_map']['canvas']['addEventListener']('keydown',this['_onKeyDown']['bind'](this)),this['_map'][_0x20c80d(0xb5d,_0x234a27._0x560620)]['addEventListener'](_0x20c80d(_0x234a27._0xc2a1c0,0x104d),this['_onKeyUp']['bind'](this)),this[_0x44a3d9(0x18e1,0x20b9)]['canvas']['addEventListener'](_0x44a3d9(_0x234a27._0x531d46,-_0x234a27._0x43d63b),this['_onMouseOver'][_0x20c80d(0x1436,_0x234a27._0x1d72ca)](this)),this[_0x20c80d(_0x234a27._0x3fdfea,0x193a)][_0x44a3d9(0x868,0x3b4)]['addEventListener']('mouseout',this[_0x20c80d(0x52a,_0x234a27._0x11a820)][_0x20c80d(_0x234a27._0x17d798,0x15c0)](this));}['_onMouseOver'](_0x10e440){const _0x27326e={};_0x27326e['mouseEvent']=_0x10e440,this['_map']['fire'](EventType['mouseOver'],_0x27326e);}['_onMouseOut'](_0x125a6f){const _0x25c0d8={_0x4d9aea:0x90d,_0x550554:0x7dc,_0x5140b2:0x24},_0x416826={_0x473cc3:0x84},_0x1fc6c2={};_0x1fc6c2[_0xd76e0a(0xca4,0x609)]=_0x125a6f;function _0xd76e0a(_0x690c0f,_0x426627){return _0x306755(_0x426627,_0x690c0f-0x10b);}function _0x5341e0(_0x3d8e65,_0x349234){return _0x306755(_0x3d8e65,_0x349234-_0x416826._0x473cc3);}this['_map'][_0x5341e0(0x4b8,_0x25c0d8._0x4d9aea)](EventType[_0xd76e0a(_0x25c0d8._0x550554,_0x25c0d8._0x5140b2)],_0x1fc6c2);}['_onKeyDown'](_0x12aae4){const _0x1d5386={_0x41fa44:0xfa5,_0x27f76d:0x105a,_0x4eee6b:0x16be,_0x13b0c9:0x1041,_0x24a1d8:0x138a,_0x2ffca7:0x171b},_0x38924a={_0x491e45:0x2cf},_0x3c9994={};_0x3c9994['mouseEvent']=_0x12aae4;function _0x5c7b84(_0xb2fed6,_0x3d0c34){return _0x2b6441(_0x3d0c34,_0xb2fed6-_0x38924a._0x491e45);}function _0x52d0b9(_0x100af8,_0x296bf0){return _0x2b6441(_0x100af8,_0x296bf0-0x551);}_0x3c9994[_0x5c7b84(_0x1d5386._0x41fa44,_0x1d5386._0x27f76d)]=_0x12aae4[_0x5c7b84(_0x1d5386._0x41fa44,0x109a)],_0x3c9994['altKey']=_0x12aae4['altKey'],_0x3c9994[_0x52d0b9(_0x1d5386._0x4eee6b,_0x1d5386._0x13b0c9)]=_0x12aae4['metaKey'],_0x3c9994['shiftKey']=_0x12aae4['shiftKey'],_0x3c9994[_0x52d0b9(0xddd,0x659)]=_0x12aae4['code'],_0x3c9994['key']=_0x12aae4['key'],_0x3c9994[_0x52d0b9(0x18f6,_0x1d5386._0x24a1d8)]=_0x12aae4[_0x52d0b9(0xa33,0x138a)],this['_map']['fire'](EventType[_0x52d0b9(_0x1d5386._0x2ffca7,0x1434)],_0x3c9994);}['_onKeyUp'](_0x375c9e){const _0x21cc3e={_0x582a6b:0xd7f,_0x13c276:0x597,_0x30daca:0x13c3},_0x2f304={_0x10f564:0x76},_0xf2d355={};_0xf2d355['mouseEvent']=_0x375c9e,_0xf2d355['ctrlKey']=_0x375c9e['ctrlKey'],_0xf2d355['altKey']=_0x375c9e['altKey'];function _0x1cafbc(_0x369ebc,_0x2abb81){return _0x2b6441(_0x2abb81,_0x369ebc- -_0x2f304._0x10f564);}_0xf2d355[_0x1cafbc(0xa7a,0xa9f)]=_0x375c9e['metaKey'],_0xf2d355[_0x1cafbc(0xb8c,0x11b)]=_0x375c9e[_0xf4e6eb(_0x21cc3e._0x582a6b,0x3cb)];function _0xf4e6eb(_0x21dda0,_0x2c7cac){return _0x306755(_0x2c7cac,_0x21dda0- -0x424);}_0xf2d355['code']=_0x375c9e[_0x1cafbc(0x92,-_0x21cc3e._0x13c276)],_0xf2d355['key']=_0x375c9e['key'],_0xf2d355['keyCode']=_0x375c9e[_0x1cafbc(0xdc3,_0x21cc3e._0x30daca)],this['_map']['fire'](EventType['keyup'],_0xf2d355);}['getPickTarget'](_0x5cd349,_0x5cce74){const _0x4a5781={_0x45a319:0xbd0,_0x4ffbb6:0xa1a,_0x1f1838:0xd61,_0x117625:0x245,_0x1bf5a3:0x95e,_0x380006:0x163,_0x2e1dcf:0x1898,_0x4a0999:0x1994,_0x50caa4:0x232,_0x11ae46:0xbd0,_0x542c11:0xd5};if(_0x5cce74!==null&&_0x5cce74!==void 0x0&&_0x5cce74['graphic'])return _0x5cce74;function _0x12c0a5(_0x161bfb,_0x19023c){return _0x306755(_0x161bfb,_0x19023c- -0x555);}let _0x55fab3;try{_0x55fab3=this['_viewer'][_0x4e3282(0x6a2,_0x4a5781._0x45a319)]['pick'](_0x5cd349,this['options'][_0x12c0a5(_0x4a5781._0x4ffbb6,0x163)],this['options'][_0x4e3282(0xe49,_0x4a5781._0x1f1838)]);}catch(_0x4e00b3){}let _0x379783=this[_0x4e3282(0x1caa,0x139f)](_0x55fab3,_0x5cd349);if(_0x55fab3&&this[_0x12c0a5(0x189d,0x1061)](_0x379783)){const _0x40fc4e=this['_viewer']['scene'][_0x4e3282(-_0x4a5781._0x117625,0x5ee)](_0x5cd349,this['options']['pickLimit'],this['options'][_0x12c0a5(-_0x4a5781._0x1bf5a3,_0x4a5781._0x380006)],this[_0x4e3282(_0x4a5781._0x2e1dcf,0xdc8)]['pickHeight']),_0x2ff7c0=[];if(_0x40fc4e&&_0x40fc4e[_0x4e3282(_0x4a5781._0x4a0999,0x1766)]>0x0)for(let _0xe37683=0x0,_0x2dcb42=_0x40fc4e['length'];_0xe37683<_0x2dcb42;_0xe37683++){const _0x44f7ca=_0x40fc4e[_0xe37683];if(_0x55fab3===_0x44f7ca){var _0x5d5de2;_0x2ff7c0['push']((_0x5d5de2=_0x379783)===null||_0x5d5de2===void 0x0?void 0x0:_0x5d5de2['graphic']);continue;}const _0x2d4a87=this[_0x12c0a5(0x1318,0xcdf)](_0x44f7ca,_0x5cd349);_0x2ff7c0['push'](_0x2d4a87===null||_0x2d4a87===void 0x0?void 0x0:_0x2d4a87['graphic']);if(this['_allowDrillPick'](_0x2d4a87)&&_0xe37683!==_0x2dcb42-0x1)continue;else{_0x379783=_0x2d4a87,_0x379783[_0x12c0a5(0xa5b,0x13c2)]=_0x40fc4e,_0x379783['graphics']=_0x2ff7c0;break;}}}let _0x1f4836=_0x5cce74===null||_0x5cce74===void 0x0?void 0x0:_0x5cce74['cartesian'];!_0x1f4836&&(_0x1f4836=getCurrentMousePosition(this[_0x12c0a5(0x5b5,_0x4a5781._0x50caa4)][_0x4e3282(0x10e9,_0x4a5781._0x11ae46)],_0x5cd349,this['noPickEntity']));function _0x4e3282(_0x59325c,_0x3f64bf){return _0x2b6441(_0x59325c,_0x3f64bf-0x70c);}const _0xe3399={..._0x5cce74,..._0x379783};_0xe3399[_0x12c0a5(0x15bc,0xc19)]=_0x1f4836,_0xe3399[_0x12c0a5(-0x3d3,_0x4a5781._0x542c11)]=_0x5cd349;const _0x15e869=_0xe3399;return _0x15e869;}['_allowDrillPick'](_0x1af1ea){const _0x2dcbc7={_0x307b65:0x13e8,_0x45196b:0xb57,_0x560479:0x143},_0xde8e67={_0x2092b4:0x96},_0x56bc08={_0x27aea1:0x215};var _0x28dc34,_0x1a82c4;let _0x4ce2ac=(_0x28dc34=_0x1af1ea[_0x2918b0(0x11d5,_0x2dcbc7._0x307b65)])===null||_0x28dc34===void 0x0?void 0x0:_0x28dc34[_0x2918b0(_0x2dcbc7._0x45196b,_0x2dcbc7._0x560479)];if(_0x4ce2ac)return isFunction(_0x4ce2ac)?_0x4ce2ac(_0x1af1ea):!![];function _0x207e1d(_0x15b0e6,_0x365b86){return _0x306755(_0x15b0e6,_0x365b86- -_0x56bc08._0x27aea1);}_0x4ce2ac=(_0x1a82c4=_0x1af1ea['layer'])===null||_0x1a82c4===void 0x0?void 0x0:_0x1a82c4['allowDrillPick'];function _0x2918b0(_0x578127,_0x557aa6){return _0x2b6441(_0x578127,_0x557aa6-_0xde8e67._0x2092b4);}if(_0x4ce2ac)return isFunction(_0x4ce2ac)?_0x4ce2ac(_0x1af1ea):!![];return![];}['_getTargetInfo'](_0xb218d2,_0x4a1382){const _0x1a0a48={_0x4e7eac:0x1df7,_0x2ddfd3:0x13c2,_0x5a1221:0x15d2,_0x883b07:0x107a,_0x3c0c0f:0x11eb,_0x499d9b:0x12f8,_0x12984d:0x81e,_0x1c63e9:0x5ce,_0x955bb9:0x754,_0x103018:0x1f2c,_0x49a1fc:0x15a4,_0x3de3e3:0x15a,_0x3d32d1:0x15a5,_0x5aaefc:0x828,_0x3ee919:0x397,_0xa1b017:0x14ac,_0xbe30e9:0x14be,_0x433bba:0x12d7,_0x593fcb:0x127d,_0x4e7280:0xa52,_0xb5b402:0x75a},_0x54d696={_0x4f44d2:0x1314,_0x2d5f59:0x8ba,_0x560089:0x534,_0x5bcfde:0x3d3,_0x4b07d0:0x3eb,_0x2649c8:0xa89,_0x333477:0xf20},_0x188fed={_0x6da736:0x1cb};var _0x123aa2;if(!Cesium__namespace[_0x12b2e5(_0x1a0a48._0x4e7eac,_0x1a0a48._0x2ddfd3)](_0xb218d2))return{};const _0x19102c=_0x4a1382['x'][_0x12b2e5(0x140b,_0x1a0a48._0x5a1221)](0x1)+'_'+_0x4a1382['y']['toFixed'](0x1);if(this['_lastPickTarget']&&_0x4a1382&&this[_0x1a63f6(_0x1a0a48._0x883b07,_0x1a0a48._0x3c0c0f)]['key']===_0x19102c)return this['_lastPickTarget'];let _0x48024e;function _0x12b2e5(_0x3c2cea,_0x282d9c){return _0x306755(_0x3c2cea,_0x282d9c- -0x3f0);}let _0x98165b,_0xbb5c3d,_0x178ae0;if(Cesium__namespace['defined'](_0xb218d2['id'])&&_0xb218d2['id']instanceof Cesium__namespace[_0x12b2e5(_0x1a0a48._0x499d9b,0xc3f)])_0x48024e=_0xb218d2['id'],_0x178ae0=_0x48024e['id'];else{if(_0xb218d2 instanceof Cesium__namespace['Cesium3DTileFeature']){_0x48024e=_0xb218d2,_0x178ae0=_0x12b2e5(0x28a,_0x1a0a48._0x12984d)+_0xb218d2['_batchId'];const _0x58bdfd=_0xb218d2[_0x1a63f6(0x75b,0xdbf)];_0x98165b=this['_map']['getLayerById'](_0x58bdfd[_0x12b2e5(0xc4b,0x14e2)]),_0xbb5c3d={'attr':get3DTileFeatureAttr(_0xb218d2),'feature':_0xb218d2};}else{if(_0xb218d2['content']&&_0xb218d2[_0x12b2e5(_0x1a0a48._0x1c63e9,_0x1a0a48._0x955bb9)]instanceof(Cesium__namespace['PointCloud3DTileContent']||Cesium__namespace[_0x12b2e5(_0x1a0a48._0x103018,_0x1a0a48._0x49a1fc)])){var _0x38fb05;_0x48024e=_0xb218d2['content'],_0x178ae0='3dtile_pnts_'+((_0x38fb05=_0xb218d2['content'])===null||_0x38fb05===void 0x0||(_0x38fb05=_0x38fb05['_pickId'])===null||_0x38fb05===void 0x0?void 0x0:_0x38fb05[_0x1a63f6(0xe85,0x9b7)])||0x0;const _0x552d9b=_0xb218d2['primitive'];_0x98165b=this['_map']['getLayerById'](_0x552d9b['_mars3d_layerId']);if(_0xb218d2[_0x1a63f6(_0x1a0a48._0x3de3e3,0xbab)]);}else{if((_0x123aa2=_0xb218d2['content'])!==null&&_0x123aa2!==void 0x0&&(_0x123aa2=_0x123aa2['tile'])!==null&&_0x123aa2!==void 0x0&&_0x123aa2[_0x1a63f6(_0x1a0a48._0x3d32d1,0x1a1b)]){const _0x201f76=_0xb218d2[_0x12b2e5(_0x1a0a48._0x5aaefc,_0x1a0a48._0x955bb9)]['tile'][_0x1a63f6(0x15a5,0x1ef8)],_0x505a01=this[_0x12b2e5(-0x291,_0x1a0a48._0x3ee919)]['scene']['pickPosition'](_0x4a1382);_0x505a01&&(_0xbb5c3d={'attr':_0x201f76[_0x12b2e5(0xca9,0x255)]()['then'](function(){return _0x201f76['getFieldsForPickedPosition'](_0x505a01);}),'feature':_0x201f76}),_0x48024e=_0x201f76,_0x178ae0='i3s_'+_0x201f76[_0x12b2e5(-0x221,0x32c)]||0x0,_0x98165b=this['_map']['getLayerById'](_0x201f76[_0x12b2e5(_0x1a0a48._0xa1b017,0xee3)][_0x1a63f6(_0x1a0a48._0xbe30e9,0x155d)]);}else Cesium__namespace['defined'](_0xb218d2['primitive'])?(_0x48024e=_0xb218d2['primitive'],_0x178ae0=_0xb218d2['id']):logInfo('getPickTarget:拾取到了对象,请确认是否要做处理',_0xb218d2);}}}if(_0x48024e){_0x98165b=_0x98165b||this[_0x12b2e5(_0x1a0a48._0x433bba,0x13d9)]['getLayerById'](_0x48024e['_mars3d_layerId']);if(_0x98165b&&_0x98165b['getGraphicById']){_0xbb5c3d=_0xbb5c3d||_0x98165b['getGraphicById'](_0x48024e['_mars3d_graphicId']);if(_0xbb5c3d){_0x178ae0=_0xbb5c3d['id'];if(_0xbb5c3d[_0x12b2e5(_0x1a0a48._0x593fcb,0x1466)]){const _0x2bb48c=_0xb218d2['id']||_0xb218d2['instanceId'];if(_0x2bb48c){var _0x22f2d8;_0x178ae0=_0x2bb48c,_0xb218d2['data']=_0xbb5c3d['getPickedObject'](_0x2bb48c),_0xbb5c3d['attr']=(_0x22f2d8=_0xb218d2[_0x1a63f6(0xfde,0x8df)])===null||_0x22f2d8===void 0x0?void 0x0:_0x22f2d8[_0x1a63f6(0x8e8,0x8a7)];}}}else{var _0x296510;(_0x296510=_0x48024e)!==null&&_0x296510!==void 0x0&&_0x296510[_0x12b2e5(_0x1a0a48._0x4e7280,_0x1a0a48._0xb5b402)]&&(_0xbb5c3d=_0x48024e[_0x12b2e5(0x563,_0x1a0a48._0xb5b402)]);}}}function _0x1a63f6(_0x371105,_0x3d6cae){return _0x2b6441(_0x3d6cae,_0x371105-0x18d);}const _0x172555={'id':_0x178ae0,'pickedObject':_0xb218d2,'sourceTarget':_0x48024e,'czmObject':_0x48024e,'layer':_0x98165b,'graphic':_0xbb5c3d,'hasClickEvent':function(){if(this[_0xd77bb2(_0x54d696._0x4f44d2,_0x54d696._0x2d5f59)]){if(isFunction(this['graphic'][_0x5a5cb8(-0x68,0x78b)])&&this[_0x5a5cb8(0xd21,0x156b)][_0xd77bb2(_0x54d696._0x560089,-_0x54d696._0x5bcfde)](EventType['click']))return!![];if(isFunction(this[_0x5a5cb8(0x10e4,0x156b)]['hasPopup'])&&_0xbb5c3d[_0xd77bb2(0xe9b,0xe45)]())return!![];}if(this['layer']){var _0x4ec95e;if(isFunction(this[_0xd77bb2(_0x54d696._0x4b07d0,-0x1ce)]['listens'])&&this['layer']['listens'](EventType[_0xd77bb2(_0x54d696._0x2649c8,_0x54d696._0x333477)]))return!![];if(isFunction(this['layer']['hasPopup'])&&(_0x4ec95e=_0x98165b)!==null&&_0x4ec95e!==void 0x0&&_0x4ec95e[_0xd77bb2(0xe9b,0xace)]())return!![];}function _0x5a5cb8(_0x30e41f,_0x1d82bd){return _0x1a63f6(_0x1d82bd-0x8c,_0x30e41f);}function _0xd77bb2(_0x5a32e0,_0x3e3f59){return _0x1a63f6(_0x5a32e0- -_0x188fed._0x6da736,_0x3e3f59);}return![];}};return this['_lastPickTarget']=_0x172555,_0x172555;}['getPicked'](_0x3912fb){const _0x2ce696={_0x3406ee:0x1381,_0x381cd5:0x715,_0x1233b0:0x1118,_0x5d67b0:0x195,_0x1e8593:0xbee,_0x909ae1:0x7a1,_0xe6b805:0xbeb,_0x5e653:0x1657};if(!_0x3912fb||!_0x3912fb[_0x40c897(0x112e,_0x2ce696._0x3406ee)])return undefined;function _0x40c897(_0x5ac88e,_0x4ed2f1){return _0x306755(_0x5ac88e,_0x4ed2f1- -0x3a3);}function _0x2b03c5(_0x5238c0,_0x108fa2){return _0x306755(_0x108fa2,_0x5238c0- -0x43);}const _0x3202b0=_0x3912fb['pickedObject'],_0x2ae349=_0x3912fb['czmObject'];if(_0x2ae349 instanceof Cesium__namespace['Entity']){const _0x31de5d=_0x3202b0['primitive']['_pickIds'];if((_0x31de5d===null||_0x31de5d===void 0x0?void 0x0:_0x31de5d['length'])>0x0){const _0x1cae0f=_0x31de5d[_0x40c897(0x1975,0x1412)](_0x45a036=>{return _0x45a036['object']===_0x3202b0;});return _0x1cae0f;}}else{if(_0x2ae349 instanceof Cesium__namespace['Cesium3DTileFeature']){if(_0x3202b0['pickId'])return _0x3202b0['pickId'];}else{if(_0x3202b0[_0x40c897(0x42f,0x7a1)]&&_0x3202b0['content']instanceof(Cesium__namespace['PointCloud3DTileContent']||Cesium__namespace['PointCloud'])){var _0x31855e;return(_0x31855e=_0x3202b0[_0x2b03c5(0xb01,0x7c3)])===null||_0x31855e===void 0x0?void 0x0:_0x31855e['_pickId'];}else{var _0x44fb04;if(_0x3202b0['primitive'][_0x40c897(0x1880,0x159e)])return _0x3202b0['primitive']['pickId'];if(_0x3202b0[_0x2b03c5(_0x2ce696._0x381cd5,_0x2ce696._0x1233b0)][_0x40c897(0xe06,0x58e)])return _0x3202b0[_0x2b03c5(0x715,_0x2ce696._0x5d67b0)][_0x40c897(_0x2ce696._0x1e8593,0x58e)];if((_0x44fb04=_0x3202b0[_0x40c897(0x52c,_0x2ce696._0x909ae1)])!==null&&_0x44fb04!==void 0x0&&(_0x44fb04=_0x44fb04['_model'])!==null&&_0x44fb04!==void 0x0&&_0x44fb04['_pickIds']){var _0x23db84;return(_0x23db84=_0x3202b0[_0x2b03c5(0xb01,_0x2ce696._0xe6b805)])===null||_0x23db84===void 0x0||(_0x23db84=_0x23db84[_0x2b03c5(_0x2ce696._0x5e653,0x1f67)])===null||_0x23db84===void 0x0?void 0x0:_0x23db84['_pickIds'];}}}}return undefined;}['pickImageryLayerFeatures'](_0x47aeae,_0x3f4020){const _0x1ffe68={_0x307902:0xfa0,_0x5467c5:0xd7a},_0x536d0b=LngLatPoint['toCartesian'](_0x47aeae);function _0x561806(_0x13135c,_0x1a4b79){return _0x2b6441(_0x13135c,_0x1a4b79-0x1ad);}const _0x36acd3=toWindowCoordinates$1(this['_viewer']['scene'],_0x536d0b);if(_0x3f4020){const _0xbd335f={};return _0xbd335f['cartesian']=_0x536d0b,this['_pickImageryLayerFeatures'](_0x36acd3,_0xbd335f);}else{const _0x567a54={};return _0x567a54[_0x561806(_0x1ffe68._0x307902,_0x1ffe68._0x5467c5)]=_0x536d0b,this['_pickImageryLayerFeaturesForClamp'](_0x36acd3,_0x567a54);}}['_pickImageryLayerFeatures'](_0x275e70,_0xf2f981){const _0x462e46={_0x31d83b:0xa2},_0x17e00e={_0x17f69e:0x5c},_0x4ec8b2=this[_0x406a52(-0x9d,0x242)]['scene'];function _0x406a52(_0x2ba9a8,_0x149310){return _0x2b6441(_0x2ba9a8,_0x149310-_0x17e00e._0x17f69e);}function _0x324ec7(_0xc7361,_0x10b8d0){return _0x2b6441(_0x10b8d0,_0xc7361-0xb5);}const _0x98e34e=_0x4ec8b2['camera'][_0x324ec7(0xa7a,_0x462e46._0x31d83b)](_0x275e70),_0x312275=_0x4ec8b2['imageryLayers'][_0x324ec7(0x4f7,0xa5)](_0x98e34e,_0x4ec8b2,!![]);return _0x312275&&_0x312275['then']?_0x312275['then'](_0xc0160b=>{function _0x252d6e(_0x28d74a,_0x2cddf0){return _0x324ec7(_0x28d74a-0x21b,_0x2cddf0);}function _0x51b83f(_0x4e6a54,_0x29556e){return _0x406a52(_0x29556e,_0x4e6a54-0x311);}return this[_0x252d6e(0xd4c,0xaa9)](_0xc0160b,_0x275e70,_0xf2f981===null||_0xf2f981===void 0x0?void 0x0:_0xf2f981[_0x252d6e(0xe9d,0xbf9)]);}):Promise['resolve']();}['_pickImageryLayerFeaturesForClamp'](_0x10a7fc,_0x10185d){const _0x31aebe={_0x56294b:0x1d2c,_0xe68ef4:0x157a,_0xed592b:0x1362,_0x483d6a:0xbdd},_0x4afffc={_0x168133:0x103c};function _0x17c1d4(_0x50151a,_0x191b7e){return _0x306755(_0x191b7e,_0x50151a- -0x2d5);}const _0x54b922=this['_viewer']['scene'];function _0x2bc293(_0x578d02,_0x5bceec){return _0x306755(_0x578d02,_0x5bceec- -0x467);}if(this[_0x2bc293(_0x31aebe._0x56294b,0x1362)]['_quadtreePrimitive']){const _0x3405fc=this[_0x2bc293(_0x31aebe._0xe68ef4,_0x31aebe._0xed592b)][_0x2bc293(0x101c,0xc6d)][_0x17c1d4(0xfe9,0xa73)](_0x54b922,_0x10a7fc);if(_0x3405fc&&_0x3405fc['then'])return _0x3405fc['then'](_0x570d5f=>{function _0x566505(_0x5296d8,_0x56a61b){return _0x17c1d4(_0x5296d8-0x2f4,_0x56a61b);}return this[_0x566505(_0x4afffc._0x168133,0x1aae)](_0x570d5f,_0x10a7fc,_0x10185d===null||_0x10185d===void 0x0?void 0x0:_0x10185d['cartesian']);});}return Promise[_0x2bc293(0x1509,_0x31aebe._0x483d6a)]();}[_0x2b6441(0x1511,0xa7c)](_0x51da80,_0x15b9be,_0x2a5e32){const _0x36ab27={_0x638817:0x1186,_0x54b293:0x1435,_0x5e526a:0x1382,_0xcba558:0x191a,_0xdf1cce:0x176c,_0x350209:0x15ca,_0x51ce04:0x1260,_0x2ab3b8:0x6ed,_0x1985ee:0x62e,_0x451921:0x1f38,_0x482782:0xde2,_0x6ef16d:0xc84,_0x12e1c8:0x4dc,_0x46cd1c:0x21ce,_0x5c3395:0x15ce,_0x1eba25:0xe1f,_0x2ca1ea:0x1b43,_0x31d287:0x1b0b,_0x6b38d4:0x1b8d,_0x5eb901:0x17d4,_0x6e9eff:0x729,_0x3c450d:0x3f7,_0x1371ae:0x193a,_0x51d677:0x1fc8,_0x26bc1d:0x1213},_0x589297={_0x5bd38d:0x3db};var _0x7d6752,_0x1f3b43,_0x1ce515;if(!Cesium__namespace[_0x4ad038(_0x36ab27._0x638817,0x15ec)](_0x51da80)||_0x51da80['length']===0x0)return;for(let _0x3a1fa8=_0x51da80[_0x4ad038(0x1a46,_0x36ab27._0x54b293)]-0x1;_0x3a1fa8>=0x0;_0x3a1fa8--){const _0x5b4d0e=_0x51da80[_0x3a1fa8],_0x42ef26=_0x5b4d0e['imageryLayer']['splitDirection'];if(_0x42ef26!==Cesium__namespace[_0x4ad038(0x680,0xc73)][_0x5b685d(_0x36ab27._0x5e526a,0xe18)]){const _0x4169b3=this[_0x4ad038(0x1459,0x1603)][_0x4ad038(0x97c,0x89f)]['splitPosition']*this[_0x5b685d(0x193a,_0x36ab27._0xcba558)]['scene']['canvas']['clientWidth'];(_0x42ef26===Cesium__namespace['SplitDirection']['LEFT']&&_0x15b9be['x']>_0x4169b3||_0x42ef26===Cesium__namespace[_0x4ad038(0x4e1,0xc73)][_0x4ad038(0xaff,0x802)]&&_0x15b9be['x']<_0x4169b3)&&_0x51da80['splice'](_0x3a1fa8,0x1);}}if(_0x51da80[_0x5b685d(_0x36ab27._0xdf1cce,0x1216)]===0x0)return;let _0x4416f9=_0x51da80[0x0];const _0x360c25=_0x4416f9[_0x4ad038(0xdb7,0x1082)],_0x2e5989=this[_0x5b685d(0x193a,_0x36ab27._0x350209)]['getLayerById'](_0x360c25[_0x5b685d(0x1a43,0x22c6)]);function _0x5b685d(_0x460e53,_0x29bdb0){return _0x2b6441(_0x29bdb0,_0x460e53-0x712);}if(_0x2e5989&&(_0x7d6752=_0x2e5989['options'])!==null&&_0x7d6752!==void 0x0&&_0x7d6752[_0x5b685d(_0x36ab27._0x51ce04,0x1cfd)]){var _0xa1424e;const _0x4eda10=_0x2e5989['options']['featureIndex'];if(((_0xa1424e=_0x2e5989['options'])===null||_0xa1424e===void 0x0?void 0x0:_0xa1424e['featureIndex'])==='end')_0x4416f9=_0x51da80[_0x51da80['length']-0x1];else{if(isNumber(_0x4eda10))_0x4416f9=_0x51da80[_0x4eda10]||_0x4416f9;else isFunction(_0x4eda10)&&(_0x4416f9=_0x4eda10(_0x51da80)||_0x4416f9);}}const _0x40910e={};_0x40910e[_0x4ad038(_0x36ab27._0x2ab3b8,_0x36ab27._0x1985ee)]=_0x360c25,_0x40910e['layer']=_0x2e5989,_0x40910e['features']=_0x51da80,_0x40910e['attr']=_0x4416f9['properties']||((_0x1f3b43=_0x4416f9[_0x5b685d(0x1563,_0x36ab27._0x451921)])===null||_0x1f3b43===void 0x0?void 0x0:_0x1f3b43[_0x4ad038(_0x36ab27._0x482782,0x98c)]),_0x40910e['cartesian']=_0x2a5e32,_0x40910e['windowPosition']=_0x15b9be;const _0x376b56=_0x40910e;if(_0x4416f9[_0x5b685d(0x1563,0xd81)]&&_0x2e5989&&(_0x2e5989[_0x5b685d(0x1905,0xe9f)]||(_0x1ce515=_0x2e5989['options'])!==null&&_0x1ce515!==void 0x0&&_0x1ce515['highlight']||_0x2e5989[_0x5b685d(_0x36ab27._0x6ef16d,0x4d3)](EventType['click']))){if(_0x2e5989['options']['featureToGraphic']){const _0x59c816=_0x2e5989['options'][_0x5b685d(0x696,0x1025)](_0x4416f9,_0x376b56);if(_0x59c816){var _0x19fd02;Array[_0x4ad038(0x101e,0x66e)](_0x59c816)?(_0x376b56['graphic']=_0x59c816[_0x4ad038(0x140c,_0x36ab27._0x54b293)]>0x0?_0x59c816[0x0]:null,_0x376b56['graphics']=_0x59c816):(_0x376b56[_0x4ad038(0x214c,0x172d)]=_0x59c816,_0x376b56['graphics']=[_0x59c816]),(_0x19fd02=_0x376b56['graphic'])!==null&&_0x19fd02!==void 0x0&&_0x19fd02[_0x4ad038(_0x36ab27._0x12e1c8,0xb36)]&&(_0x376b56[_0x5b685d(0xe6d,0xfcf)]=_0x376b56['graphic']['attr']);}}else{const _0x234bc7=_0x2e5989['options']['hasToGraphic']??0x1388;let _0x1759d6=!![];if(isBoolean(_0x234bc7))_0x1759d6=_0x234bc7;else{if(isNumber(_0x234bc7)){var _0x122610;const _0x25f3bf=JSON['stringify'](((_0x122610=_0x4416f9['data'])===null||_0x122610===void 0x0?void 0x0:_0x122610['geometry'])||{})[_0x5b685d(_0x36ab27._0xdf1cce,_0x36ab27._0x46cd1c)];_0x1759d6=_0x25f3bf<_0x234bc7;}else isFunction(_0x234bc7)&&(_0x1759d6=_0x234bc7(_0x4416f9));}if(_0x1759d6){var _0x13c2df;const _0x223f25=_0x2e5989[_0x4ad038(0x1dc3,_0x36ab27._0x5c3395)]||(_0x2e5989===null||_0x2e5989===void 0x0||(_0x13c2df=_0x2e5989['options'])===null||_0x13c2df===void 0x0?void 0x0:_0x13c2df[_0x5b685d(_0x36ab27._0x1eba25,0xd49)]),_0x1e63f5=geoJsonToGraphics(_0x4416f9[_0x5b685d(0x1563,_0x36ab27._0x2ca1ea)],{'type':_0x223f25===null||_0x223f25===void 0x0?void 0x0:_0x223f25['type'],'crs':(_0x223f25===null||_0x223f25===void 0x0?void 0x0:_0x223f25[_0x5b685d(_0x36ab27._0x31d287,_0x36ab27._0x6b38d4)])||_0x4416f9[_0x4ad038(0x1be9,_0x36ab27._0x5eb901)]||(_0x2e5989===null||_0x2e5989===void 0x0?void 0x0:_0x2e5989[_0x5b685d(0x1b0b,0x17e4)]),'style':_0x223f25});_0x376b56['graphic']=_0x1e63f5['length']>0x0?_0x1e63f5[0x0]:null,_0x376b56['graphics']=_0x1e63f5;}else{var _0x4a1a4c;logInfo('_clickTileGraphic:\x20当前数据太大,避免卡顿未进行解析,如需展示矢量对象,请在图层配置加\x20hasToGraphic:true\x20参数\x20',_0x2e5989===null||_0x2e5989===void 0x0?void 0x0:_0x2e5989['options'],(_0x4a1a4c=_0x4416f9['data'])===null||_0x4a1a4c===void 0x0?void 0x0:_0x4a1a4c[_0x5b685d(_0x36ab27._0x6e9eff,_0x36ab27._0x3c450d)]);}}}_0x2e5989&&_0x2e5989[_0x5b685d(0x9fa,-0x84)](EventType['click'],_0x376b56,![]);this[_0x5b685d(_0x36ab27._0x1371ae,_0x36ab27._0x51d677)][_0x5b685d(0x9fa,_0x36ab27._0x26bc1d)](EventType['clickTileGraphic'],_0x376b56);function _0x4ad038(_0x369b29,_0x4d082a){return _0x2b6441(_0x369b29,_0x4d082a-_0x589297._0x5bd38d);}return _0x376b56;}[_0x2b6441(0xeba,0xe59)](_0x565d07){const _0x11dff4={_0x1bdb89:0x10ad,_0x1112d8:0x168a,_0x78f637:0xe2e,_0x460434:0x10e8,_0xb9029c:0x19b7,_0x797299:0x20b3,_0x5ea99f:0xb79},_0x48cc60={_0x21853d:0x621},_0x183107={_0x451389:0x13f};if(!_0x565d07||!_0x565d07['position'])return![];function _0x563a9f(_0x5e3cc5,_0x48d320){return _0x306755(_0x48d320,_0x5e3cc5- -_0x183107._0x451389);}const _0x48a895=_0x565d07[_0x563a9f(0x10b8,0xb79)],_0x4868d1=this[_0x563a9f(0x142c,0x1e0b)](_0x48a895,_0x565d07);function _0x4e1d23(_0x49eb7b,_0x174da2){return _0x2b6441(_0x174da2,_0x49eb7b-_0x48cc60._0x21853d);}!this['_map'][_0x563a9f(0x149d,_0x11dff4._0x1bdb89)](_0x4868d1[_0x563a9f(0x17b4,0x1d0d)]||_0x4868d1['layer'])&&this[_0x563a9f(_0x11dff4._0x1112d8,_0x11dff4._0x78f637)]['closeHighlight']();if(_0x4868d1[_0x563a9f(0x6b5,0x9d9)]){var _0x1ecf86;this['fireTargetEvent'](EventType[_0x4e1d23(_0x11dff4._0x460434,_0x11dff4._0xb9029c)],_0x4868d1),this['_map'][_0x563a9f(0x74a,0x163)](EventType['clickGraphic'],_0x4868d1),(_0x1ecf86=_0x4868d1['layer'])!==null&&_0x1ecf86!==void 0x0&&_0x1ecf86['allowDrillPick']&&this['_pickImageryLayerFeatures'](_0x48a895,_0x4868d1),this[_0x4e1d23(0x8ae,0xf51)](_0x48a895,_0x4868d1);}else this['_map']['fire'](EventType['click'],_0x4868d1),this[_0x4e1d23(0x1849,_0x11dff4._0x797299)][_0x563a9f(0x74a,_0x11dff4._0x5ea99f)](EventType[_0x4e1d23(0x17d0,0x1acb)],_0x4868d1),this[_0x4e1d23(0x1285,0x137f)](_0x48a895,_0x4868d1),this[_0x4e1d23(0x8ae,0xf3)](_0x48a895,_0x4868d1);}['_mouseMoveHandler'](_0xbb21a3){const _0x15848d={_0x203b4b:0x79e,_0x3127b6:0x103c},_0x30141c={_0x2bccf2:0x73};if(!_0xbb21a3||!_0xbb21a3['endPosition'])return![];const _0x4019b2=_0xbb21a3['endPosition'];function _0x22ab10(_0x1612da,_0x366f51){return _0x306755(_0x1612da,_0x366f51-_0x30141c._0x2bccf2);}function _0x2525f9(_0x98c5a2,_0x7398cc){return _0x306755(_0x98c5a2,_0x7398cc- -0xeb);}const _0x19a883=this[_0x2525f9(0x1e23,0x1480)](_0x4019b2,_0xbb21a3),_0x35810b=_0x19a883['sourceTarget'];_0x35810b&&!_0x35810b['noMouseMove']?this['activateMouseOver'](_0x19a883):this['activateMouseOut']();const _0xe52a96={'czmObject':_0x35810b,..._0xbb21a3,..._0x19a883};this['_map'][_0x2525f9(0x481,_0x15848d._0x203b4b)](EventType[_0x22ab10(0xd86,_0x15848d._0x3127b6)],_0xe52a96);}['activateMouseOver'](_0x2f2581){const _0x5a31e0={_0x27ad44:0xab4,_0x185db3:0x1337,_0x42db9f:0x6b4,_0x5b080d:0x81,_0xf51ef0:0x831},_0x4c8a52={_0x45eb5a:0x1a2};function _0x3a9963(_0xedb3ac,_0x4f757c){return _0x306755(_0xedb3ac,_0x4f757c- -_0x4c8a52._0x45eb5a);}if(this['_lastMouseOverItem']&&_0x2f2581['id']&&_0x2f2581['id']===this['_lastMouseOverItem']['id'])return;this['activateMouseOut']();function _0xa0664f(_0x19f43e,_0x24f82f){return _0x306755(_0x24f82f,_0x19f43e- -0x155);}if(_0x2f2581[_0x3a9963(0xb0e,_0x5a31e0._0x27ad44)]&&_0x2f2581[_0x3a9963(_0x5a31e0._0x185db3,0xab4)]()){var _0x515023;let _0x4369a4='pointer';(_0x515023=_0x2f2581[_0xa0664f(0x179e,0x17a7)])!==null&&_0x515023!==void 0x0&&(_0x515023=_0x515023['style'])!==null&&_0x515023!==void 0x0&&_0x515023[_0xa0664f(0x1693,0x1b00)]&&(_0x4369a4=_0x2f2581['graphic'][_0x3a9963(0x17,_0x5a31e0._0x42db9f)]['cursorCSS']),this['_map'][_0x3a9963(0x1544,0xe59)]['style'][_0xa0664f(0xd08,0xd05)]=_0x4369a4;}this[_0xa0664f(0x1599,0x1f84)](EventType[_0xa0664f(0x680,-_0x5a31e0._0x5b080d)],_0x2f2581),this[_0x3a9963(_0x5a31e0._0xf51ef0,0x112c)]=_0x2f2581;}[_0x306755(0x1965,0x13bb)](){const _0x48728d={_0x22b7e4:0x46};if(this['_lastMouseOverItem']==null)return;this['_map']['_setEditCursor'](![]);function _0x6a51b1(_0x35d694,_0x8183bb){return _0x2b6441(_0x35d694,_0x8183bb-_0x48728d._0x22b7e4);}this['fireTargetEvent'](EventType[_0x6a51b1(0x1ca,0x176)],this['_lastMouseOverItem']),this['_lastMouseOverItem']=null;}['_globeMouseHandler'](_0x11b706,_0x4c89c6){const _0x23cc83={_0x314a4c:0x101b,_0x2f9963:0xee2,_0x367f5f:0xafb,_0x1b075a:0x50a,_0x58d76b:0x59f,_0x26e441:0xb22},_0x1d5651={_0x36588a:0x1dc},_0x2c6bf3={_0x551219:0x2ea};if(!_0x11b706||!_0x11b706[_0x5c4cca(0xf0d,0x13b1)])return![];function _0x5c4cca(_0x21ddc3,_0x50f48e){return _0x306755(_0x50f48e,_0x21ddc3- -_0x2c6bf3._0x551219);}function _0x40accc(_0x468edc,_0x277d22){return _0x306755(_0x468edc,_0x277d22- -_0x1d5651._0x36588a);}const _0x4e3ac9=_0x11b706[_0x40accc(0xf74,_0x23cc83._0x314a4c)],_0x4befa8=this[_0x5c4cca(0x1281,_0x23cc83._0x2f9963)](_0x4e3ac9,_0x11b706);Array[_0x5c4cca(0x54a,_0x23cc83._0x367f5f)](_0x4c89c6)?_0x4c89c6['forEach'](_0x5bee9b=>{const _0x452a7c={_0x243f30:0x313},_0x9fdd4c={_0x1a93af:0x2cf};function _0x18896a(_0x6fb9c0,_0x3826de){return _0x40accc(_0x3826de,_0x6fb9c0- -_0x9fdd4c._0x1a93af);}function _0x39d62d(_0x17fcdd,_0x262776){return _0x40accc(_0x262776,_0x17fcdd- -_0x452a7c._0x243f30);}_0x4befa8[_0x39d62d(0x305,0xa24)]?this[_0x18896a(0x1243,0x1d01)](_0x5bee9b,_0x4befa8):this[_0x18896a(0x131e,0x8ff)]['fire'](_0x5bee9b,_0x4befa8);}):_0x4befa8[_0x5c4cca(_0x23cc83._0x1b075a,0xf1e)]?this['fireTargetEvent'](_0x4c89c6,_0x4befa8):this['_map'][_0x5c4cca(_0x23cc83._0x58d76b,_0x23cc83._0x26e441)](_0x4c89c6,_0x4befa8);}['fireTargetEvent'](_0x123b1f,_0x27389b){const _0x4eb105={_0x17950b:0x932,_0x50e7db:0x16cd},_0x2a9ded={_0x17b426:0xa9};var _0x2ee5bb,_0xa9acea,_0x1de8ff;const _0x3de299=_0x27389b['sourceTarget'][_0x123b1f];_0x3de299&&typeof _0x3de299==='function'&&_0x3de299(_0x27389b);function _0x1aeda1(_0x403e54,_0x2a1667){return _0x306755(_0x403e54,_0x2a1667-_0x2a9ded._0x17b426);}function _0x562d8d(_0x72f747,_0x1fa784){return _0x2b6441(_0x72f747,_0x1fa784-0x16e);}(_0x2ee5bb=_0x27389b['czmObject'][_0x562d8d(0xc59,0x9a9)])===null||_0x2ee5bb===void 0x0||_0x2ee5bb[_0x1aeda1(-0x18,_0x4eb105._0x17950b)](_0x123b1f,_0x27389b);if((_0xa9acea=_0x27389b['graphic'])!==null&&_0xa9acea!==void 0x0&&_0xa9acea['fire'])_0x27389b['graphic'][_0x1aeda1(0xda,0x932)](_0x123b1f,_0x27389b,!![]);else(_0x1de8ff=_0x27389b[_0x1aeda1(0xb02,0xa73)])!==null&&_0x1de8ff!==void 0x0&&_0x1de8ff['fire']?_0x27389b['layer']['fire'](_0x123b1f,_0x27389b,!![]):this[_0x562d8d(_0x4eb105._0x50e7db,0x1396)]['fire'](_0x123b1f,_0x27389b);}[_0x2b6441(0x570,0x9ee)](){const _0x59cb04={_0x122255:0x1af4,_0x53010b:0x148e,_0x408338:0x15da,_0x44538:0x1295,_0x2bcef5:0x13f5,_0x43aad6:0x114b,_0x5458a8:0xaa2},_0x36876a={_0x20227d:0x1ef},_0x46597c={_0x4d2eab:0x43a};!this[_0x3daab9(_0x59cb04._0x122255,0x13d6)]&&(this[_0x5c5f31(0x13f8,0x15da)][_0x3daab9(0x1d2a,0x13ea)](this[_0x3daab9(0xa60,0x13d6)],!![]),delete this['_graphicLayer']);this['handler']['destroy']();function _0x3daab9(_0x34b69a,_0x519c44){return _0x306755(_0x34b69a,_0x519c44- -_0x46597c._0x4d2eab);}delete this[_0x5c5f31(0x1c72,_0x59cb04._0x53010b)],this[_0x5c5f31(0x1424,_0x59cb04._0x408338)]['canvas']['removeEventListener'](_0x5c5f31(0xdd1,_0x59cb04._0x44538),this[_0x3daab9(0x9f5,_0x59cb04._0x2bcef5)]);function _0x5c5f31(_0x3a52f8,_0x920873){return _0x306755(_0x3a52f8,_0x920873- -_0x36876a._0x20227d);}this['_map'][_0x3daab9(0xd05,0x316)]['removeEventListener'](_0x3daab9(_0x59cb04._0x43aad6,_0x59cb04._0x5458a8),this[_0x3daab9(0x1933,0xe82)]);}}new Cesium__namespace[(_0x2b6441(-0x5ab,0x368))]();const rayScratch=new Cesium__namespace[(_0x2b6441(0x38f,0xbe7))](),cartesian3Scratch=new Cesium__namespace[(_0x306755(0x1351,0xa21))]();class ZoomNavigation{constructor(_0x46213b){const _0xc0e9f6={_0x1a6817:0xb4b};function _0x923b65(_0x2386cf,_0x358802){return _0x2b6441(_0x2386cf,_0x358802-0xc3);}this[_0x923b65(_0xc0e9f6._0x1a6817,0xe2d)]=_0x46213b;}['zoomIn'](_0x57be90=0x2,_0x2f3ee6){return _0x57be90=0x1/_0x57be90,this['zoom'](_0x57be90,_0x2f3ee6);}[_0x306755(0x685,0x8ba)](_0x47da96=0x2,_0xd45af3){return this['zoom'](_0x47da96,_0xd45af3);}[_0x306755(0xf86,0x11bf)](_0x4c9d5f,_0x5dae5a){const _0x1b9a9b={_0xf182ef:0xd6e,_0x31c298:0x103,_0x38494e:0x922,_0x5a7eac:0x886,_0x190136:0x104c,_0x2dc1af:0x387,_0x47cb69:0x690,_0x50d2e1:0x9bb,_0x164684:0x1fe0,_0x40e4b8:0x14b5,_0x20336b:0x124f,_0x1d351a:0x9bb,_0x19ef90:0x99e,_0x2e8376:0xc15,_0x1e0dd3:0xad2,_0x3d4106:0x1289,_0x2b78a6:0xf44,_0x353a96:0x1a90,_0x3b247c:0x97b,_0x5f0d59:0xce8,_0x5072bf:0x1742,_0x20dea6:0x1416,_0x5a8876:0x1786,_0x3f8d0b:0x12d2,_0x1ee93b:0x121f,_0x90efc9:0x19dd,_0x2633a4:0x11a0,_0x4c17f0:0xcca,_0x10ee10:0x123b,_0x45a58a:0xef5,_0x30405e:0x113a,_0x3e8a9b:0x320,_0x32356a:0xfa8},_0x13ddf9=this['viewer']['scene'];function _0xfea8dc(_0x3168d5,_0x3004fc){return _0x2b6441(_0x3168d5,_0x3004fc-0x4dd);}const _0x3e4773=_0x13ddf9[_0x594a92(0x7f9,_0x1b9a9b._0xf182ef)];function _0x594a92(_0x595018,_0x232069){return _0x2b6441(_0x232069,_0x595018-0x6a2);}if(!_0x5dae5a&&(!_0x3e4773['enableInputs']||!_0x3e4773['enableZoom']))return![];const _0x4cce97=_0x13ddf9['camera'];let _0x3049e3;switch(_0x13ddf9['mode']){case Cesium__namespace['SceneMode'][_0x594a92(0x8c8,-_0x1b9a9b._0x31c298)]:case Cesium__namespace[_0xfea8dc(0x126e,_0x1b9a9b._0x38494e)]['MORPHING']:case Cesium__namespace[_0x594a92(0xae7,_0x1b9a9b._0x5a7eac)]['SCENE2D']:{const _0x4b5cd3=_0x4cce97['positionCartographic'][_0xfea8dc(0x4f6,0xb2e)]*(0x1-_0x4c9d5f);_0x4cce97[_0xfea8dc(_0x1b9a9b._0x190136,0x17a1)](_0x4b5cd3);const _0x5d76b3=_0x3e4773[_0xfea8dc(-_0x1b9a9b._0x2dc1af,_0x1b9a9b._0x47cb69)],_0x26c92a=_0x3e4773['maximumZoomDistance'],_0x4fd521=_0x4cce97['positionCartographic']['height'];if(_0x4fd521<_0x5d76b3)return _0x4cce97[_0x594a92(_0x1b9a9b._0x50d2e1,0x917)](_0x4b5cd3),![];if(_0x4fd521<_0x3e4773['_minimumCollisionTerrainHeight']){const _0x2708c7=_0x3e4773[_0xfea8dc(_0x1b9a9b._0x164684,0x16c9)][_0x594a92(_0x1b9a9b._0x40e4b8,_0x1b9a9b._0x20336b)];if(Cesium__namespace['defined'](_0x2708c7)&&_0x4fd521<=_0x2708c7+_0x5d76b3)return _0x4cce97['zoomOut'](_0x4b5cd3),![];}if(_0x26c92a&&_0x4fd521>_0x26c92a)return _0x4cce97[_0x594a92(_0x1b9a9b._0x1d351a,_0x1b9a9b._0x19ef90)](_0x4b5cd3),![];return!![];}default:{let _0x12bdd0;Cesium__namespace['defined'](this['viewer']['trackedEntity'])?_0x12bdd0=new Cesium__namespace['Cartesian3']():(rayScratch['origin']=_0x4cce97['positionWC'],rayScratch['direction']=_0x4cce97['directionWC'],_0x12bdd0=_0x13ddf9['globe'][_0x594a92(_0x1b9a9b._0x2e8376,0x631)](rayScratch,_0x13ddf9,new Cesium__namespace[(_0xfea8dc(0x56c,0x95d))]()),Cesium__namespace['defined'](_0x12bdd0)&&(_0x12bdd0=_0x4cce97[_0xfea8dc(_0x1b9a9b._0x1e0dd3,0x7a1)](_0x12bdd0,_0x12bdd0)));if(!Cesium__namespace['defined'](_0x12bdd0)){const _0x10f717=new Cesium__namespace[(_0x594a92(_0x1b9a9b._0x3d4106,_0x1b9a9b._0x2b78a6))](_0x4cce97[_0x594a92(0x966,0xa91)](_0x13ddf9['globe']['ellipsoid'][_0x594a92(_0x1b9a9b._0x353a96,0x2418)](_0x4cce97[_0xfea8dc(_0x1b9a9b._0x3b247c,_0x1b9a9b._0x5f0d59)])),_0x4cce97['directionWC']);_0x12bdd0=Cesium__namespace['IntersectionTests'][_0x594a92(0x184d,_0x1b9a9b._0x5072bf)](_0x10f717,_0x13ddf9['globe'][_0xfea8dc(0x1800,_0x1b9a9b._0x20dea6)]);if(!Cesium__namespace[_0xfea8dc(_0x1b9a9b._0x5a8876,0x16ee)](_0x12bdd0))return![];const _0x46a28a={};_0x46a28a[_0xfea8dc(0x72a,0x110d)]=_0x4cce97[_0x594a92(_0x1b9a9b._0x3f8d0b,0x1b6c)],_0x46a28a['pitch']=_0x4cce97['pitch'],_0x46a28a['roll']=_0x4cce97['roll'],_0x3049e3=_0x46a28a;}else{const _0x4bd254={};_0x4bd254[_0xfea8dc(0xc39,0x1477)]=_0x4cce97['direction'],_0x4bd254['up']=_0x4cce97['up'],_0x3049e3=_0x4bd254;}const _0x14ebbf=Cesium__namespace['Cartesian3'][_0x594a92(_0x1b9a9b._0x1ee93b,_0x1b9a9b._0x90efc9)](_0x4cce97[_0x594a92(0x12f8,_0x1b9a9b._0x2633a4)],_0x12bdd0,cartesian3Scratch),_0xfd41d5=Cesium__namespace['Cartesian3'][_0x594a92(0x15a9,0xfc6)](_0x14ebbf,_0x4c9d5f,_0x14ebbf),_0x82c755=Cesium__namespace['Cartesian3'][_0xfea8dc(_0x1b9a9b._0x4c17f0,0xc6a)](_0x12bdd0,_0xfd41d5,_0x12bdd0);if(!Cesium__namespace['defined'](_0x82c755))return![];const _0xad620d=_0x3e4773[_0x594a92(0x855,_0x1b9a9b._0x10ee10)],_0xde52db=_0x3e4773[_0x594a92(0xe11,_0x1b9a9b._0x45a58a)],_0x49d0ba=Cesium__namespace[_0xfea8dc(_0x1b9a9b._0x30405e,0x845)][_0xfea8dc(0x515,0x92b)](_0x82c755)[_0x594a92(0xcf3,0x7bd)];if(_0x49d0ba<_0xad620d)return![];if(_0x49d0ba<_0x3e4773['_minimumCollisionTerrainHeight']){const _0x1a2f56=_0x3e4773[_0xfea8dc(0x19eb,0x16c9)][_0xfea8dc(0xfb6,0x12f0)];if(Cesium__namespace['defined'](_0x1a2f56)&&_0x49d0ba<=_0x1a2f56+_0xad620d)return![];}if(_0xde52db&&_0x49d0ba>_0xde52db)return![];if(Cesium__namespace['defined'](this['viewer'][_0x594a92(0x182c,0x1e1a)])||_0x13ddf9['mode']===Cesium__namespace[_0x594a92(0xae7,0x49)][_0xfea8dc(-_0x1b9a9b._0x3e8a9b,0x703)])_0x4cce97['position']=_0x82c755;else{const _0x2586cf={};_0x2586cf['destination']=_0x82c755,_0x2586cf['orientation']=_0x3049e3,_0x2586cf['duration']=0.5,_0x2586cf[_0x594a92(0x191a,_0x1b9a9b._0x32356a)]=![],_0x4cce97['flyTo'](_0x2586cf);}return!![];}}}}class SceneOption{constructor(_0x18d8dc){const _0x2c5935={_0x59d4d7:0xcfe},_0x3e2379={_0x3a55dd:0x290};this[_0x3c1074(0x1a3f,0x14b8)]=_0x18d8dc;function _0x383ef2(_0x307444,_0x41be2c){return _0x2b6441(_0x307444,_0x41be2c-0x6c8);}this[_0x3c1074(0x941,0x476)]=_0x18d8dc[_0x383ef2(_0x2c5935._0x59d4d7,0x1432)],this[_0x383ef2(0x1586,0xd84)]={};function _0x3c1074(_0x41ac8f,_0x144e80){return _0x2b6441(_0x41ac8f,_0x144e80-_0x3e2379._0x3a55dd);}this['_init']();}['_init'](){const _0x4f4cdc={_0x582d0e:0x13a4,_0x4dee86:0xe7a,_0x377f60:0xb40,_0x153b0e:0x387,_0xf3ecf3:0x3bd},_0x3b1f4d={_0x2ed623:0xe8},_0x320b33={_0x17a07f:0x2ea};this['_viewer']['cesiumWidget'][_0x1670bd(0xa32,_0x4f4cdc._0x582d0e)]['style']['display']=_0x43228a(0xa99,0x968);function _0x43228a(_0xd58b69,_0x483731){return _0x306755(_0xd58b69,_0x483731- -_0x320b33._0x17a07f);}this['_viewer'][_0x43228a(0xb73,0x77b)]['screenSpaceCameraController']['maximumZoomDistance']=0x2faf080;function _0x1670bd(_0x1cf5b7,_0x347cf1){return _0x306755(_0x347cf1,_0x1cf5b7- -_0x3b1f4d._0x2ed623);}this['_viewer']['scene'][_0x43228a(0x1224,0x1493)]=Cesium__namespace['Color'][_0x43228a(_0x4f4cdc._0x4dee86,0x1372)];if(Cesium__namespace[_0x1670bd(0x67a,_0x4f4cdc._0x377f60)]['supportsImageRenderingPixelated']()){let _0x41d55c=window['devicePixelRatio'];while(_0x41d55c>=0x2){_0x41d55c*=0.8;}_0x41d55c<0x1&&(_0x41d55c=0x1),this['_viewer'][_0x43228a(_0x4f4cdc._0x153b0e,_0x4f4cdc._0xf3ecf3)]['resolutionScale']=_0x41d55c;}}['setOptions'](_0x4f040d,_0x4509ee){const _0x516d52={_0x28f86e:0x2c1,_0x2d7be0:0xb9c,_0x18f8ce:0x15bb,_0x3dbe48:0x24e9,_0x22f5f7:0x1a4e,_0x14056e:0x980,_0x2f8f6d:0x17b3};_0x4f040d=_0x4f040d||{},_0x4509ee=_0x4509ee||{},this[_0x2c4a16(_0x516d52._0x28f86e,_0x516d52._0x2d7be0)]=_0x4f040d;function _0x3f4255(_0x39e2bd,_0x121353){return _0x306755(_0x39e2bd,_0x121353-0x14d);}this['_setViewerOption'](_0x4f040d,_0x4509ee);function _0x2c4a16(_0x380e12,_0x487e67){return _0x2b6441(_0x380e12,_0x487e67-0x4e0);}return this[_0x3f4255(0xe56,0x7fc)](_0x4f040d,_0x4509ee),this[_0x3f4255(_0x516d52._0x18f8ce,0x1949)](_0x4f040d,_0x4509ee),this[_0x3f4255(_0x516d52._0x3dbe48,_0x516d52._0x22f5f7)](_0x4f040d,_0x4509ee),_0x4509ee[_0x2c4a16(_0x516d52._0x14056e,0x142f)]&&this[_0x2c4a16(0xd5c,_0x516d52._0x2f8f6d)](_0x4f040d[_0x3f4255(0xe95,0x163d)],_0x4509ee['globe']),_0x4509ee['cameraController']&&this[_0x3f4255(0xece,0xaf8)](_0x4f040d[_0x2c4a16(0x1c02,0x150d)],_0x4509ee['cameraController']),_0x4509ee['clock']&&this['_setClockOption'](_0x4f040d,_0x4509ee[_0x2c4a16(0x1a2e,0x12d9)]),this;}['_setViewerOption'](_0x357940,_0x22275f){const _0x2c389d={_0x238f8f:0xba2,_0x2bfe79:0x5f9,_0x10fbc8:0x232,_0x2eb0be:0x80f,_0x3be839:0x529,_0x47249c:0x12df,_0x2e4f13:0xb8b};if(_0x22275f['center']){const _0xe0aed9={};_0xe0aed9[_0x1ac12c(0x1c,0xce)]=0x0,this['_map'][_0x1ac12c(0xd40,0xdd4)](_0x357940['center'],_0xe0aed9);}else{if(_0x22275f[_0x1ac12c(0x11fb,_0x2c389d._0x238f8f)]){const _0xaf84a1={};_0xaf84a1['duration']=0x0,this['_map'][_0x437808(0xd1a,0xb20)](_0x357940['extent'],_0xaf84a1);}}this[_0x437808(0x258,0x3a2)][_0x437808(-_0x2c389d._0x2bfe79,_0x2c389d._0x10fbc8)]=_0x357940['shadows']??![];(_0x357940['removeDblClick']??!![])&&this[_0x437808(0xada,0x3a2)]['screenSpaceEventHandler']['removeInputAction'](Cesium__namespace['ScreenSpaceEventType']['LEFT_DOUBLE_CLICK']);function _0x1ac12c(_0xf48ebd,_0x558f8c){return _0x306755(_0x558f8c,_0xf48ebd- -0x4aa);}function _0x437808(_0x12d8c7,_0x16a71c){return _0x306755(_0x12d8c7,_0x16a71c- -0x3e5);}Cesium__namespace['defined'](_0x22275f['terrainShadows'])&&(isBoolean(_0x22275f['terrainShadows'])?this['_viewer']['terrainShadows']=_0x22275f['terrainShadows']?Cesium__namespace['ShadowMode'][_0x1ac12c(_0x2c389d._0x2eb0be,_0x2c389d._0x3be839)]:Cesium__namespace['ShadowMode'][_0x437808(0x1514,0x13e5)]:this['_viewer'][_0x1ac12c(_0x2c389d._0x47249c,0x165c)]=_0x22275f['terrainShadows']),Cesium__namespace[_0x437808(0xc15,0x13cd)](_0x22275f[_0x1ac12c(_0x2c389d._0x2e4f13,0x1066)])&&(this['_viewer'][_0x1ac12c(0x5ce,-0x261)]=_0x22275f[_0x1ac12c(0xb8b,0x66b)]);}[_0x2b6441(-0x5b4,0x10e)](_0x2a59c7,_0x3fecd1){const _0xadfdaa={_0x4edac4:0xed8,_0x20e360:0x1888},_0x1ac92b={_0x2c68e5:0x268},_0x1a70ec={_0x3e9e91:0x33a},_0x30b8bc=this['_viewer']['cesiumWidget'];_0x3fecd1[_0x54f231(_0xadfdaa._0x4edac4,0x696)]&&(_0x30b8bc['resolutionScale']=_0x3fecd1['resolutionScale']);function _0x54f231(_0x8f79af,_0x57c4c3){return _0x306755(_0x8f79af,_0x57c4c3- -_0x1a70ec._0x3e9e91);}function _0x4a4bdb(_0x504801,_0x394604){return _0x306755(_0x394604,_0x504801- -_0x1ac92b._0x2c68e5);}Cesium__namespace[_0x4a4bdb(0x154a,0x13ec)](_0x3fecd1['targetFrameRate'])&&(_0x30b8bc['targetFrameRate']=_0x3fecd1[_0x4a4bdb(0x12fd,0x1651)]),Cesium__namespace[_0x54f231(_0xadfdaa._0x20e360,0x1478)](_0x3fecd1['useBrowserRecommendedResolution'])&&(_0x30b8bc['useBrowserRecommendedResolution']=_0x3fecd1['useBrowserRecommendedResolution']);}[_0x306755(0x1c1f,0x17fc)](_0x134128,_0x34a517){const _0x2af619={_0x3b0474:0x872},_0x5d2073={_0x44d3c2:0xf3},_0x5cec8b=this['_viewer'][_0x40e15c(0x130,-0x558)];function _0x40e15c(_0x2617f3,_0x491c24){return _0x2b6441(_0x491c24,_0x2617f3- -0x7f);}function _0x4c1ffd(_0x5d7514,_0x3aa3a2){return _0x306755(_0x3aa3a2,_0x5d7514-_0x5d2073._0x44d3c2);}_0x5cec8b[_0x4c1ffd(0x171b,0x19fe)]('tabindex',_0x134128[_0x40e15c(_0x2af619._0x3b0474,0x2a2)]??0x0),_0x5cec8b['onclick']=_0x3a4a01=>{_0x5cec8b['focus']();};}[_0x306755(0x21c7,0x1901)](_0x30a8c0,_0x5bda97){const _0x59e182={_0x1554a0:0x9e4,_0x304e48:0xd2e,_0x27b5c9:0x6dd,_0x21ff45:0x1562,_0x12b72a:0x1314,_0x580001:0xacb,_0x54a81a:0xdcb,_0xfc70cb:0x1ca5,_0x853a1c:0x11d4,_0x4d5a2c:0x2b2,_0x5f5c1f:0xa6c,_0xf34059:0xccf,_0x7ceeab:0xa5b,_0x5ee7ff:0x1227,_0x35f640:0x61a,_0x30c39f:0xc75,_0xac45a6:0xd37,_0x5ce8d1:0x1087,_0x3c171:0x14fe,_0x79c17a:0x137d,_0x308aca:0x126d,_0x28c7d4:0xd37,_0x4f705b:0x52e,_0x9d296f:0x1125,_0x3b1739:0x121c,_0x535c51:0xf67,_0x4f7059:0x6be,_0x14dcc3:0x1902},_0x40c6ea={_0x5d3396:0x12f0,_0x56c4d0:0xfa4,_0x502bcf:0x58a},_0x65402d={_0x2e01bb:0x24},_0x573e3c=this['_viewer'][_0xbdbf2a(0x1130,0x7e6)];function _0xbdbf2a(_0x21f960,_0x265d34){return _0x306755(_0x21f960,_0x265d34- -0x27f);}Cesium__namespace['defined'](_0x5bda97[_0x25f9b3(_0x59e182._0x1554a0,0x143a)])&&(_0x573e3c['logarithmicDepthBuffer']=_0x30a8c0['logarithmicDepthBuffer']);Cesium__namespace['defined'](_0x5bda97['verticalExaggeration'])&&(_0x573e3c[_0x25f9b3(_0x59e182._0x304e48,0x904)]=_0x5bda97['verticalExaggeration']);Cesium__namespace['defined'](_0x5bda97[_0xbdbf2a(-0x3c7,_0x59e182._0x27b5c9)])&&(_0x573e3c[_0xbdbf2a(-0x1a7,0x6dd)]=_0x5bda97['verticalExaggerationRelativeHeight']);_0x573e3c['sun']&&Cesium__namespace['defined'](_0x5bda97['showSun'])&&(_0x573e3c['sun'][_0xbdbf2a(_0x59e182._0x21ff45,_0x59e182._0x12b72a)]=_0x5bda97['showSun']);_0x573e3c[_0x25f9b3(0x644,_0x59e182._0x580001)]&&Cesium__namespace[_0xbdbf2a(0x1b4e,0x1533)](_0x5bda97[_0x25f9b3(0x18e0,0x117c)])&&(_0x573e3c['moon']['show']=_0x5bda97['showMoon']);_0x5bda97['skyBox']&&(_0x573e3c[_0xbdbf2a(0x3fb,_0x59e182._0x54a81a)]=getSkyBoxObject(_0x30a8c0['skyBox']));_0x573e3c[_0xbdbf2a(0x1558,0xdcb)]&&Cesium__namespace['defined'](_0x5bda97[_0xbdbf2a(_0x59e182._0xfc70cb,0x11d4)])&&(_0x573e3c['skyBox']['show']=_0x30a8c0[_0xbdbf2a(0xf4a,_0x59e182._0x853a1c)]);_0x573e3c[_0xbdbf2a(0x415,0x35b)]&&Cesium__namespace['defined'](_0x5bda97['showSkyAtmosphere'])&&(_0x573e3c[_0x25f9b3(-0x29b,_0x59e182._0x4d5a2c)]['show']=_0x30a8c0['showSkyAtmosphere']);_0x573e3c['fog']['enabled']=_0x30a8c0[_0xbdbf2a(_0x59e182._0x5f5c1f,_0x59e182._0xf34059)]??!![];_0x5bda97['atmosphere']&&merge(_0x573e3c[_0x25f9b3(0x7f3,_0x59e182._0x7ceeab)],_0x30a8c0['atmosphere']);_0x573e3c[_0xbdbf2a(0x16a3,_0x59e182._0x5ee7ff)]['fxaa']['enabled']=_0x30a8c0['fxaa']??!![],_0x573e3c['highDynamicRange']=_0x30a8c0[_0xbdbf2a(0xaeb,_0x59e182._0x35f640)]??![];function _0x3508a9(){_0x573e3c['sun'][_0x4dcbd7(0xdbf,_0x40c6ea._0x5d3396)]=![],_0x573e3c['moon']['show']=![],_0x573e3c['skyBox']['show']=![];function _0x5cab78(_0x588c73,_0x257655){return _0xbdbf2a(_0x588c73,_0x257655- -0x2f3);}function _0x4dcbd7(_0x31281d,_0x4cfb09){return _0xbdbf2a(_0x31281d,_0x4cfb09- -_0x65402d._0x2e01bb);}_0x573e3c['skyAtmosphere'][_0x5cab78(_0x40c6ea._0x56c4d0,0x1021)]=![],_0x573e3c[_0x4dcbd7(_0x40c6ea._0x502bcf,0xcab)]['enabled']=![];}function _0x25f9b3(_0x2cfbbe,_0x4c3be5){return _0x2b6441(_0x2cfbbe,_0x4c3be5-0x279);}_0x30a8c0['backgroundColor']&&(_0x573e3c[_0x25f9b3(_0x59e182._0x30c39f,_0x59e182._0xac45a6)]==='color'||!Cesium__namespace['defined'](_0x573e3c['backgroundType']))&&(_0x573e3c[_0xbdbf2a(_0x59e182._0x5ce8d1,_0x59e182._0x3c171)]=Cesium__namespace[_0xbdbf2a(_0x59e182._0x79c17a,0xcb5)]['fromCssColorString'](_0x30a8c0[_0x25f9b3(0xd0d,0x1455)]),_0x573e3c[_0x25f9b3(_0x59e182._0x308aca,_0x59e182._0x28c7d4)]==='color'&&_0x3508a9());if(_0x30a8c0['backgroundImage']&&(_0x573e3c['backgroundType']===_0xbdbf2a(0x1f9,0x438)||!Cesium__namespace['defined'](_0x573e3c['backgroundType']))){const _0x500b9a=this['_viewer']['container'];_0x500b9a['style']['backgroundImage']=_0x30a8c0[_0x25f9b3(0xd17,0x47d)],_0x500b9a[_0x25f9b3(0x426,_0x59e182._0x4f705b)]['backgroundRepeat']='no-repeat',_0x500b9a['style']['backgroundSize']='100%\x20100%',(_0x30a8c0['backgroundImage']!=='none'||_0x573e3c['backgroundType']===_0xbdbf2a(-0x213,0x438))&&_0x3508a9();}Cesium__namespace['defined'](_0x30a8c0['orderIndependentTranslucency'])&&(_0x573e3c['_useOIT']=_0x30a8c0[_0x25f9b3(_0x59e182._0x9d296f,_0x59e182._0x3b1739)]);switch(_0x30a8c0['sceneMode']){case Cesium__namespace['SceneMode']['SCENE2D']:_0x573e3c['morphTo2D'](0x0);break;case Cesium__namespace['SceneMode']['COLUMBUS_VIEW']:_0x573e3c[_0x25f9b3(0x73d,_0x59e182._0x535c51)](0x0);break;case Cesium__namespace[_0x25f9b3(-0x272,_0x59e182._0x4f7059)][_0xbdbf2a(_0x59e182._0x14dcc3,0xf4c)]:_0x573e3c['morphTo3D'](0x0);break;}}['_setGlobeOption'](_0x35d422,_0x5a25e6){const _0x5a3321={_0x17b54e:0x143a,_0x425f5c:0xfbb,_0x2d73bc:0x8e5},_0x82bb30={_0xa4ea97:0x4eb};function _0x482fd1(_0x29e4dd,_0x33aa16){return _0x2b6441(_0x33aa16,_0x29e4dd-0x36b);}function _0x38e2d1(_0x322245,_0x89adfc){return _0x2b6441(_0x89adfc,_0x322245-_0x82bb30._0xa4ea97);}merge(this['_viewer']['scene'][_0x38e2d1(_0x5a3321._0x17b54e,_0x5a3321._0x425f5c)],{..._0x5a25e6,'show':_0x35d422['show']??!![],'baseColor':Cesium__namespace[_0x38e2d1(0xe7e,0x7da)]['fromCssColorString'](_0x35d422[_0x38e2d1(0x539,_0x5a3321._0x2d73bc)]||_0x38e2d1(0x8ba,0x4a2))});}[_0x306755(0x33,0x9ab)](_0x1d19be,_0x1e2014){const _0x99b0b={_0x28cf36:0xfc2,_0x11366d:0x690,_0x54c1ea:0x16a,_0x1cb50e:0x836,_0x11e46c:0xf51,_0x4af53b:0x6e1},_0x27c0da={_0x2125d4:0xf7};function _0x43d376(_0x7f4241,_0x1145fb){return _0x306755(_0x7f4241,_0x1145fb- -0x22f);}const _0x3f3745={..._0x1e2014};_0x3f3745['_zoomFactor']=_0x1d19be[_0x56f16e(_0x99b0b._0x28cf36,0x167d)]||0x3,merge(this[_0x56f16e(0x9fc,_0x99b0b._0x11366d)][_0x43d376(-_0x99b0b._0x54c1ea,_0x99b0b._0x1cb50e)]['screenSpaceCameraController'],_0x3f3745);function _0x56f16e(_0x30611e,_0x361af6){return _0x306755(_0x30611e,_0x361af6- -_0x27c0da._0x2125d4);}return _0x1e2014[_0x56f16e(-0x20,0x381)]===![]&&(this['_viewer'][_0x56f16e(0x10e5,_0x99b0b._0x11e46c)][_0x43d376(_0x99b0b._0x4af53b,0x249)]=undefined),this;}[_0x2b6441(0xd58,0x474)](_0x1b1abb,_0x2b1a75){const _0x375f99={_0x1ee5a8:0x91a,_0x19c747:0xabc,_0x53f227:0xa60,_0x5959a5:0x10f1,_0xf9343:0x780,_0xbdfc32:0x780,_0x2379e9:0xb8d,_0x3c12b4:0x17c,_0x4ccda6:0x838,_0x4d686f:0x11d5,_0x32aa20:0x8c2,_0x3952ad:0x827},_0x274d80={_0x20d712:0x567},_0x271160=this[_0x963abd(0xb,0x74d)][_0x2bffb9(0x791,0xf6e)];_0x271160['shouldAnimate']=_0x1b1abb[_0x2bffb9(0x7d3,_0x375f99._0x1ee5a8)]??this['options'][_0x2bffb9(0x7b4,0x91a)]??!![];_0x2b1a75[_0x2bffb9(0x2,_0x375f99._0x19c747)]&&(_0x271160['startTime']=getJulianDate(_0x2b1a75['startTime']),_0x271160['currentTime']=_0x271160[_0x2bffb9(_0x375f99._0x53f227,_0x375f99._0x19c747)]);_0x2b1a75[_0x963abd(_0x375f99._0x5959a5,0x977)]&&(_0x271160['stopTime']=getJulianDate(_0x2b1a75['stopTime']));_0x2b1a75[_0x2bffb9(0x233,_0x375f99._0xf9343)]&&(_0x271160[_0x2bffb9(0xa64,_0x375f99._0xbdfc32)]=getJulianDate(_0x2b1a75[_0x2bffb9(_0x375f99._0x2379e9,0x780)]),!_0x1b1abb[_0x2bffb9(_0x375f99._0x3c12b4,0xabc)]&&(_0x271160['startTime']=_0x271160[_0x2bffb9(0x3fa,0x780)][_0x2bffb9(_0x375f99._0x4ccda6,0x4dc)]()),!_0x1b1abb['stopTime']&&(_0x271160['stopTime']=Cesium__namespace['JulianDate']['addDays'](_0x271160['currentTime'],0x1,new Cesium__namespace[(_0x963abd(0x1bde,0x19b7))]())));_0x2b1a75[_0x963abd(_0x375f99._0x4d686f,0x110c)]&&(_0x271160['multiplier']=_0x2b1a75['multiplier']);Cesium__namespace[_0x963abd(0x1994,0x1778)](_0x2b1a75[_0x2bffb9(0xcea,_0x375f99._0x32aa20)])&&(_0x271160[_0x963abd(_0x375f99._0x3952ad,0xcb4)]=_0x2b1a75[_0x2bffb9(0xe6d,0x8c2)]);function _0x2bffb9(_0x4e3426,_0x262dba){return _0x2b6441(_0x4e3426,_0x262dba-0x175);}function _0x963abd(_0x58138d,_0xe8db2c){return _0x2b6441(_0x58138d,_0xe8db2c-_0x274d80._0x20d712);}return this;}}function initBeforeCreateDefaultValue(_0x573957){const _0x560754={_0x3bccdd:0x1532,_0x4fdcd9:0x11ca},_0x50b9d1={_0x5311de:0x205},_0x528602={_0x1f9e46:0x129};var _0x3c9ab1;function _0x4a4bf0(_0x562468,_0x5a64e3){return _0x2b6441(_0x562468,_0x5a64e3-_0x528602._0x1f9e46);}function _0x3bbce7(_0x26e33d,_0x15a26f){return _0x2b6441(_0x15a26f,_0x26e33d-_0x50b9d1._0x5311de);}Cesium__namespace['Ion']['defaultAccessToken']=(_0x573957===null||_0x573957===void 0x0||(_0x3c9ab1=_0x573957['scene'])===null||_0x3c9ab1===void 0x0?void 0x0:_0x3c9ab1['ionToken'])||ion,Cesium__namespace['Camera'][_0x4a4bf0(_0x560754._0x3bccdd,_0x560754._0x4fdcd9)]=Cesium__namespace['Rectangle'][_0x3bbce7(0x721,0x11a3)](89.5,20.4,110.4,61.2),Cesium__namespace['RequestScheduler']['maximumRequests']=0x64,Cesium__namespace['RequestScheduler']['maximumRequestsPerServer']=0x14;}function getSkyBoxObject(_0x372be9){const _0x57efa6={_0x28e4b3:0x1280,_0x82a9eb:0x19e5},_0x4b33d1={_0x3ff82:0x3dc};if(!_0x372be9||_0x372be9 instanceof Cesium__namespace[_0x111741(-0x5b5,0x2a6)]||_0x372be9 instanceof GroundSkyBox||_0x372be9 instanceof MultipleSkyBox)return _0x372be9;function _0x111741(_0x26af21,_0x1bff73){return _0x306755(_0x26af21,_0x1bff73- -_0x4b33d1._0x3ff82);}function _0x2adbbb(_0x227cc0,_0x428f7a){return _0x2b6441(_0x428f7a,_0x227cc0-0x2a6);}switch(_0x372be9[_0x111741(0x11cf,0x1287)]){case'ground':case _0x2adbbb(_0x57efa6._0x28e4b3,_0x57efa6._0x82a9eb):return new GroundSkyBox(_0x372be9);case'multiple':case'MultipleSkyBox':return new MultipleSkyBox(_0x372be9);case'default':return new Cesium__namespace['SkyBox']({'sources':{'positiveX':getDefaultSkyBoxUrl('px'),'negativeX':getDefaultSkyBoxUrl('mx'),'positiveY':getDefaultSkyBoxUrl('py'),'negativeY':getDefaultSkyBoxUrl('my'),'positiveZ':getDefaultSkyBoxUrl('pz'),'negativeZ':getDefaultSkyBoxUrl('mz')}});default:return new Cesium__namespace[(_0x2adbbb(0x387,-0xbe))](_0x372be9);}}function getDefaultSkyBoxUrl(_0x5b1400){return Cesium__namespace['buildModuleUrl']('Assets/Textures/SkyBox/tycho2t3_80_'+_0x5b1400+'.jpg');}function getJulianDate(_0x3fb2b7){return isString(_0x3fb2b7)?_0x3fb2b7['indexOf']('Z')===-0x1?Cesium__namespace['JulianDate']['fromDate'](new Date(_0x3fb2b7)):Cesium__namespace['JulianDate']['fromIso8601'](_0x3fb2b7):_0x3fb2b7;}function getCameraView(_0xb57ae5,_0x3c925f){const _0xcadaa6={_0x2b32d8:0x10f0,_0x70b5cf:0xe6b,_0x327980:0x896,_0x5a9d78:0x191c,_0x413719:0x12a7,_0x3f8216:0x17e2,_0xce1f36:0xf75,_0x4b9c36:0x181c,_0x13ffef:0x89d,_0x47b7fd:0xdb5,_0x20249d:0xd02,_0x5238bc:0x1c9,_0x4f576a:0x4bf},_0x118cd6={_0x3cedcf:0x439},_0x10d14e=_0xb57ae5['positionCartographic'];function _0x64fe95(_0x566188,_0x444191){return _0x2b6441(_0x566188,_0x444191-_0x118cd6._0x3cedcf);}const _0x3c37cd={};_0x3c37cd['lat']=formatNum$1(Cesium__namespace[_0x64fe95(0x1945,0x1203)]['toDegrees'](_0x10d14e[_0x64fe95(_0xcadaa6._0x2b32d8,_0xcadaa6._0x70b5cf)]),LngLatPoint['FormatLength']);function _0x193d83(_0x540bff,_0x333671){return _0x306755(_0x540bff,_0x333671-0x15d);}return _0x3c37cd[_0x64fe95(0x1212,_0xcadaa6._0x327980)]=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0x10d14e[_0x193d83(_0xcadaa6._0x5a9d78,_0xcadaa6._0x413719)]),LngLatPoint['FormatLength']),(_0x3c925f===null||_0x3c925f===void 0x0?void 0x0:_0x3c925f[_0x64fe95(0x13bf,0xaad)])??!![]?(_0x3c37cd[_0x193d83(0x35f,0x5c4)]=formatNum$1(_0x10d14e['height'],0x1),_0x3c37cd['heading']=formatNum$1(Cesium__namespace['Math'][_0x193d83(_0xcadaa6._0x3f8216,_0xcadaa6._0xce1f36)](_0xb57ae5['heading']||0x0)%0x168,0x1),_0x3c37cd['pitch']=formatNum$1(Cesium__namespace[_0x64fe95(_0xcadaa6._0x4b9c36,0x1203)][_0x64fe95(_0xcadaa6._0x13ffef,0xcb0)](_0xb57ae5[_0x193d83(_0xcadaa6._0x47b7fd,_0xcadaa6._0x20249d)]||0x0)%0x168,0x1)):(_0x3c37cd['alt']=formatNum$1(_0x10d14e[_0x64fe95(_0xcadaa6._0x5238bc,0xa8a)],LngLatPoint['FormatAltLength']),_0x3c37cd['heading']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0xb57ae5[_0x64fe95(0xf41,0x1069)]||0x0)%0x168,0x2),_0x3c37cd['pitch']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0xb57ae5[_0x64fe95(_0xcadaa6._0x4f576a,0xa3d)]||0x0)%0x168,0x2),_0x3c37cd['roll']=formatNum$1(Cesium__namespace['Math']['toDegrees'](_0xb57ae5[_0x193d83(0xe57,0xb49)]||0x0)%0x168,0x2)),_0x3c37cd;}function expImage(_0x216e7e,_0x33cea2={}){const _0x2d0455={_0x479442:0x15ce,_0xcb8f85:0x731,_0x59df4f:0xbf,_0x40af65:0x72a,_0x24fe77:0x171d,_0x1a29ae:0x1918,_0x5019a7:0x1778,_0x5ce0b0:0x1653},_0x1416e4={_0x3ec3c1:0x99b,_0x36711c:0xf06,_0x12c896:0x994,_0x270adb:0x1205,_0x3ef495:0x101e,_0x315f45:0xce6,_0x2f1600:0x30c,_0x28df5d:0x994,_0x3ac438:0xc57,_0x3e941e:0xc78,_0x452254:0x176c,_0xb10f1c:0x19b1,_0x1f219f:0x99b,_0xb37004:0x461,_0x1fd235:0x1022};return new Promise((_0x3bd5e4,_0xae9421)=>{const _0x3ca4a6={_0x42b5cf:0x1de},_0x3d8464={_0xf5723e:0x24e};_0x33cea2[_0x45203e(0x513,0xea4)]=_0x33cea2['download']??!![],_0x33cea2['type']=_0x33cea2['type']??'image/jpeg';function _0x45203e(_0x3600aa,_0x2ee54b){return _0x5bbe(_0x3600aa- -_0x3d8464._0xf5723e,_0x2ee54b);}!_0x216e7e['scene']['requestRenderMode']&&_0x216e7e['render']();const _0x3e50b4=_0x216e7e[_0x42f3b6(0x6bb,-0x402)]['toDataURL'](_0x33cea2[_0x42f3b6(_0x2d0455._0x479442,0x1a3c)],_0x33cea2['encoderOptions']??0x1);function _0x42f3b6(_0x11ba1d,_0x333d84){return _0x5bbe(_0x11ba1d-_0x3ca4a6._0x42b5cf,_0x333d84);}const _0x54b2c3=_0x216e7e['canvas'][_0x45203e(_0x2d0455._0xcb8f85,-_0x2d0455._0x59df4f)],_0x27ea92=_0x216e7e['canvas'][_0x45203e(_0x2d0455._0x40af65,0xb89)];if(Cesium__namespace[_0x42f3b6(_0x2d0455._0x24fe77,0x16ee)](_0x33cea2['width'])||Cesium__namespace[_0x42f3b6(_0x2d0455._0x24fe77,_0x2d0455._0x1a29ae)](_0x33cea2['height'])){const _0x4eedbd=new Image();_0x4eedbd['onload']=function(){let _0x27e848,_0x38cb4d;if(Cesium__namespace['defined'](_0x33cea2['width'])&&!Cesium__namespace[_0x3c386d(0x1861,0x15fd)](_0x33cea2[_0x43f164(_0x1416e4._0x3ec3c1,0xe0d)]))_0x27e848=_0x33cea2['width'],_0x38cb4d=Math['round'](_0x27e848*_0x54b2c3/_0x27ea92);else{if(Cesium__namespace['defined'](_0x33cea2['height'])&&!Cesium__namespace[_0x3c386d(0x1861,_0x1416e4._0x36711c)](_0x33cea2['width']))_0x38cb4d=_0x33cea2['height'],_0x27e848=Math['round'](_0x38cb4d*_0x27ea92/_0x54b2c3);else{const _0x3c11df=_0x33cea2[_0x43f164(_0x1416e4._0x12c896,0x860)]/_0x27ea92,_0x2331c8=_0x33cea2['height']/_0x54b2c3;_0x3c11df>_0x2331c8?(_0x27e848=_0x33cea2['width'],_0x38cb4d=Math['round'](_0x27e848*_0x54b2c3/_0x27ea92)):(_0x38cb4d=_0x33cea2[_0x3c386d(0xca1,0x1335)],_0x27e848=Math['round'](_0x38cb4d*_0x27ea92/_0x54b2c3));}}const _0x4bd1d9=document[_0x43f164(_0x1416e4._0x270adb,_0x1416e4._0x3ef495)]('canvas');_0x4bd1d9[_0x43f164(0x994,0x11f4)]=_0x33cea2['width']||_0x27e848,_0x4bd1d9['height']=_0x33cea2[_0x43f164(0x99b,0xc5c)]||_0x38cb4d;function _0x3c386d(_0x52d0c7,_0x2eba29){return _0x42f3b6(_0x52d0c7-0x144,_0x2eba29);}const _0x5d0e18={};_0x5d0e18[_0x43f164(_0x1416e4._0x315f45,0x952)]=!![];const _0x15ce7c=_0x4bd1d9[_0x3c386d(0xd33,_0x1416e4._0x2f1600)]('2d',_0x5d0e18),_0x50261c=(_0x4bd1d9[_0x43f164(_0x1416e4._0x28df5d,_0x1416e4._0x3ac438)]-_0x27e848)/0x2,_0x465591=(_0x4bd1d9['height']-_0x38cb4d)/0x2;function _0x43f164(_0x51469c,_0x5abc30){return _0x45203e(_0x51469c-0x26a,_0x5abc30);}_0x15ce7c['drawImage'](_0x4eedbd,_0x50261c,_0x465591,_0x27e848,_0x38cb4d);const _0x364b1e=_0x4bd1d9['toDataURL'](_0x33cea2['type'],_0x33cea2[_0x3c386d(_0x1416e4._0x3e941e,0x15b6)]??0x1);!_0x33cea2['filename']&&(_0x33cea2[_0x3c386d(_0x1416e4._0x452254,_0x1416e4._0xb10f1c)]=_0x43f164(0x15b6,0x1d14)+_0x4bd1d9['width']+'x'+_0x4bd1d9[_0x43f164(_0x1416e4._0x1f219f,0x352)]);if(_0x33cea2['download']){let _0x4fa3bf=_0x33cea2[_0x3c386d(0x176c,0x12b6)];_0x33cea2[_0x3c386d(0x1712,0x1431)]==='image/jpeg'&&(_0x4fa3bf=_0x4fa3bf+'.jpg'),downloadBase64Image(_0x4fa3bf,_0x364b1e);}const _0x56aade={};_0x56aade['image']=_0x364b1e,_0x56aade[_0x3c386d(0xc9a,_0x1416e4._0xb37004)]=_0x4bd1d9['width'],_0x56aade[_0x43f164(_0x1416e4._0x1f219f,_0x1416e4._0x1fd235)]=_0x4bd1d9['height'];const _0x3af040=_0x56aade;_0x3bd5e4(_0x3af040);},_0x4eedbd['src']=_0x3e50b4;}else{!_0x33cea2['filename']&&(_0x33cea2['filename']=_0x42f3b6(_0x2d0455._0x5019a7,0x1f48)+_0x27ea92+'x'+_0x54b2c3);_0x33cea2['download']&&downloadBase64Image(_0x33cea2[_0x45203e(0x11fc,_0x2d0455._0x5ce0b0)],_0x3e50b4);const _0x1eb9f7={};_0x1eb9f7['image']=_0x3e50b4,_0x1eb9f7['width']=_0x27ea92,_0x1eb9f7['height']=_0x54b2c3;const _0x1507a4=_0x1eb9f7;_0x33cea2['callback']&&_0x33cea2['callback'](_0x1507a4),_0x3bd5e4(_0x1507a4);}});}class PopupMgr extends BaseControl{constructor(_0x75ab62={}){super(_0x75ab62),this['_depthTest']=_0x75ab62['depthTest']??!![];}get['depthTest'](){return this['_depthTest'];}set['depthTest'](_0x34c1e9){const _0x19e56f={_0x2a06b8:0x5af};function _0x537833(_0x3181a7,_0x350fee){return _0x306755(_0x3181a7,_0x350fee- -_0x19e56f._0x2a06b8);}this[_0x537833(0xd7c,0x364)]=_0x34c1e9;}get[_0x306755(0x55,0x9ca)](){return this['_layer'];}[_0x306755(0x1ae6,0x130c)](){const _0x3f35f2={_0x3a07ba:0xaf7,_0x4cbb59:0x818},_0x4a3f60={_0x5c4407:0x247};function _0x16d36d(_0x4672a8,_0x20c707){return _0x2b6441(_0x4672a8,_0x20c707-0x57);}this['_layer']=new GraphicLayer({'private':!![],'eventParent':this});function _0x2f4339(_0x44fb4a,_0x5ee73e){return _0x306755(_0x44fb4a,_0x5ee73e- -_0x4a3f60._0x5c4407);}this[_0x16d36d(_0x3f35f2._0x3a07ba,0xe7a)][_0x16d36d(0x25f,_0x3f35f2._0x4cbb59)]=function(){};}['_enabledHook'](_0x17896f){this['_layer']['show']=_0x17896f;}['_addedHook'](){const _0x3269de={_0x4563ff:0xe3c,_0x2be741:0x125b,_0x2f9627:0x1d56,_0x34377b:0x15f0},_0x225937={_0x24ba1e:0x241},_0x371731={_0x505a03:0x438};function _0x39fc09(_0x2c66e5,_0x33b314){return _0x2b6441(_0x2c66e5,_0x33b314-_0x371731._0x505a03);}this['_map'][_0x39fc09(0x11c4,0x102c)](this[_0x39fc09(_0x3269de._0x4563ff,_0x3269de._0x2be741)]);function _0x4ca8fc(_0x22ed49,_0x5a7c23){return _0x306755(_0x22ed49,_0x5a7c23- -_0x225937._0x24ba1e);}this[_0x4ca8fc(_0x3269de._0x2f9627,_0x3269de._0x34377b)]();}['_removedHook'](){function _0x263d61(_0x117567,_0x3ac385){return _0x2b6441(_0x3ac385,_0x117567-0x711);}this['_unbindEvent'](),this['_map'][_0x263d61(0x1994,0xf30)](this['_layer']);}['_bindEvent'](){const _0x1220cf={_0x145403:0x1428},_0x1019bd={_0x21a8a:0x2e1};function _0x248849(_0x10c7f9,_0x235879){return _0x2b6441(_0x10c7f9,_0x235879-_0x1019bd._0x21a8a);}this['_map']['on'](EventType[_0x2950c7(_0x1220cf._0x145403,0xb2f)],this['_mouseClickHandler'],this);function _0x2950c7(_0x296005,_0x5bc928){return _0x306755(_0x296005,_0x5bc928- -0x539);}this['_map']['on'](EventType['clickTileGraphic'],this[_0x248849(0xa0e,0x946)],this);}[_0x306755(0x1280,0x199f)](){const _0x3d7ba3={_0xf33966:0x1533,_0x3db4d9:0x9ac,_0x5d9128:0x970,_0x29ef01:0x169};this[_0x1a0941(_0x3d7ba3._0xf33966,0x1394)][_0x249b2f(_0x3d7ba3._0x3db4d9,0xf97)](EventType['click'],this['_mouseClickHandler'],this);function _0x1a0941(_0x8e3916,_0x5bbcc7){return _0x306755(_0x5bbcc7,_0x8e3916- -0x296);}function _0x249b2f(_0x20af18,_0x1a8a62){return _0x2b6441(_0x1a8a62,_0x20af18-0x5e1);}this['_map']['off'](EventType['clickTileGraphic'],this[_0x1a0941(_0x3d7ba3._0x5d9128,_0x3d7ba3._0x29ef01)],this);}[_0x2b6441(0xf2e,0x665)](_0x28ece9){const _0x28e31f={_0x37bfbb:0x1a1e,_0x53c8e5:0x1446,_0x4f298d:0x1747,_0xdfcffd:0x12bf,_0x124de9:0x84c};var _0x288c13,_0x137c3f;function _0x2539d4(_0x262dd4,_0x18c373){return _0x2b6441(_0x18c373,_0x262dd4-0x6cc);}function _0x5355ec(_0x36bc26,_0x34cc62){return _0x306755(_0x34cc62,_0x36bc26-0x14c);}if(!this['enabled'])return;if(this[_0x2539d4(0x1425,0x18f5)](_0x28ece9['czmObject'],_0x28ece9))return;if(this['_openByMouseEvent'](_0x28ece9[_0x2539d4(_0x28e31f._0x37bfbb,0x23c0)],_0x28ece9))return;if(this[_0x5355ec(_0x28e31f._0x53c8e5,0x1ca9)]((_0x288c13=_0x28ece9[_0x5355ec(0x1a3f,0x189d)])===null||_0x288c13===void 0x0?void 0x0:_0x288c13['parent'],_0x28ece9))return;if(this['_openByMouseEvent'](_0x28ece9['layer'],_0x28ece9))return;if(this['_openByMouseEvent']((_0x137c3f=_0x28ece9['layer'])===null||_0x137c3f===void 0x0?void 0x0:_0x137c3f['parent'],_0x28ece9))return;const _0x7c50ec=this['_layer']['getGraphics']();for(let _0x2ff164=0x0,_0x9bb418=_0x7c50ec[_0x5355ec(_0x28e31f._0x4f298d,_0x28e31f._0xdfcffd)];_0x2ff164<_0x9bb418;_0x2ff164++){const _0x2e7929=_0x7c50ec[_0x2ff164];_0x2e7929['options']['closeOnClick']!==![]&&_0x2e7929[_0x2539d4(0xae7,_0x28e31f._0x124de9)](!![]);}}[_0x306755(0x109b,0x115b)](_0x489d88){const _0x31ca42={_0x232242:0xed4},_0x440df2={_0x2ce7fa:0x37c};function _0x4fe79f(_0x470d13,_0x4df9b9){return _0x306755(_0x4df9b9,_0x470d13- -_0x440df2._0x2ce7fa);}return _0x489d88['_popupConfig']||_0x489d88[_0x4fe79f(0x11f6,_0x31ca42._0x232242)]&&_0x489d88['getPopupConfig']();}['_openByMouseEvent'](_0x26ac65,_0x210cd1){const _0x126b91={_0x5558b0:0x15a6,_0x33f301:0x4f7,_0x2abf3f:0x87,_0x158408:0x427,_0x37bc42:0x42b,_0x298fb4:0x10a0,_0x33d16d:0x132e},_0x31b2a6={_0x97b47e:0xc};var _0x1bcc2b;if(!_0x26ac65)return![];function _0x2f542b(_0x48c732,_0x4c9be){return _0x2b6441(_0x4c9be,_0x48c732-_0x31b2a6._0x97b47e);}let _0x1ab36e=this['_getConfig'](_0x26ac65);function _0x31e02a(_0x46f1c4,_0x1bc0c5){return _0x2b6441(_0x46f1c4,_0x1bc0c5-0x254);}if(_0x1ab36e===![])return!![];if(!_0x1ab36e)return![];const _0x331936=_0x210cd1===null||_0x210cd1===void 0x0?void 0x0:_0x210cd1[_0x31e02a(0x1662,_0x126b91._0x5558b0)];if(((_0x1bcc2b=_0x1ab36e['options'])===null||_0x1bcc2b===void 0x0?void 0x0:_0x1bcc2b[_0x31e02a(0x47a,_0x126b91._0x33f301)])===!![]){const _0x5360dd=this[_0x2f542b(_0x126b91._0x2abf3f,0x7f9)](_0x331936);if(_0x5360dd)return _0x5360dd[_0x2f542b(_0x126b91._0x158408,0xc64)](!![]),!![];}if(_0x331936){const _0x5ac71f=this[_0x2f542b(0x87,-0x1a8)](_0x331936);if(_0x5ac71f&&!_0x331936[_0x31e02a(0x425,0x9c1)])return _0x5ac71f[_0x31e02a(_0x126b91._0x37bc42,0x9af)]=_0x331936['attr'],!isGraphicPostion(_0x331936)&&(_0x5ac71f[_0x31e02a(_0x126b91._0x298fb4,0xeaa)]=_0x210cd1[_0x2f542b(0xbd9,0x953)]),!![];}return _0x1ab36e={..._0x1ab36e,..._0x210cd1,'heightReference':Cesium__namespace[_0x31e02a(0xad2,_0x126b91._0x33d16d)]['NONE']},this[_0x2f542b(0xadb,0xeb9)](_0x210cd1['cartesian'],_0x1ab36e),!![];}['close'](_0x1d3614,_0x18ce59){const _0x1e2a83={_0x2dab1b:0xdc1,_0x12d807:0x74e,_0x1258a6:0x166e,_0x3d9908:0x166d,_0x5627aa:0x1376,_0x5b9c95:0x137c,_0xfffcfa:0x737,_0xd82d0e:0x1485,_0x3c5fa6:0x113f},_0x26c9f7={_0x1294f1:0x31c};if(!this['_layer'])return;function _0x48da41(_0x4bce70,_0x4f4ccd){return _0x2b6441(_0x4f4ccd,_0x4bce70-_0x26c9f7._0x1294f1);}if(_0x1d3614){const _0x20378a=this['_layer']['getGraphics']();for(let _0x37623d=0x0,_0x2325c8=_0x20378a['length'];_0x37623d<_0x2325c8;_0x37623d++){var _0x463ab1,_0x4c6c81;const _0x3ac885=_0x20378a[_0x37623d];if((_0x463ab1=_0x3ac885['options'])!==null&&_0x463ab1!==void 0x0&&_0x463ab1['checkData']){var _0x395f48;_0x3ac885['options'][_0x31e37b(0x919,0x1397)]((_0x395f48=_0x3ac885['options'])===null||_0x395f48===void 0x0?void 0x0:_0x395f48[_0x31e37b(0xc4f,0x118e)],_0x1d3614)&&_0x3ac885['remove'](!![]);}else _0x1d3614===((_0x4c6c81=_0x3ac885['options'])===null||_0x4c6c81===void 0x0||(_0x4c6c81=_0x4c6c81[_0x31e37b(_0x1e2a83._0x2dab1b,_0x1e2a83._0x12d807)])===null||_0x4c6c81===void 0x0?void 0x0:_0x4c6c81[_0x48da41(_0x1e2a83._0x1258a6,_0x1e2a83._0x3d9908)])&&_0x3ac885['remove'](!![]);}return;}if(_0x18ce59){const _0x2d1224=this['_layer']['getGraphics']();for(let _0x3f3e0c=0x0,_0x32bf99=_0x2d1224[_0x48da41(_0x1e2a83._0x5627aa,_0x1e2a83._0x5b9c95)];_0x3f3e0c<_0x32bf99;_0x3f3e0c++){var _0x4d310f,_0x4eaa2d;const _0x4f85d9=_0x2d1224[_0x3f3e0c];if((_0x4d310f=_0x4f85d9['options'])!==null&&_0x4d310f!==void 0x0&&_0x4d310f[_0x31e37b(0x919,0xbae)]){var _0x13d9b3;_0x4f85d9['options']['checkData']((_0x13d9b3=_0x4f85d9['options'])===null||_0x13d9b3===void 0x0?void 0x0:_0x13d9b3['attr'],_0x18ce59)&&_0x4f85d9[_0x48da41(_0x1e2a83._0xfffcfa,0x2b1)](!![]);}else _0x18ce59===((_0x4eaa2d=_0x4f85d9[_0x31e37b(0xbb0,0x616)])===null||_0x4eaa2d===void 0x0||(_0x4eaa2d=_0x4eaa2d[_0x31e37b(0xdc1,_0x1e2a83._0xd82d0e)])===null||_0x4eaa2d===void 0x0?void 0x0:_0x4eaa2d[_0x48da41(0x745,-0x243)])&&_0x4f85d9[_0x48da41(0x737,0x2a1)](!![]);}return;}function _0x31e37b(_0x1ad286,_0x55963e){return _0x306755(_0x55963e,_0x1ad286- -0xad);}const _0x54482f=this[_0x48da41(_0x1e2a83._0x3c5fa6,0xacc)][_0x31e37b(0xfd1,0xe46)]();for(let _0x17c49e=0x0,_0xff00d7=_0x54482f['length'];_0x17c49e<_0xff00d7;_0x17c49e++){var _0x39cc9f;const _0x199d46=_0x54482f[_0x17c49e];(((_0x39cc9f=_0x199d46[_0x48da41(0x9d8,0x5c4)])===null||_0x39cc9f===void 0x0?void 0x0:_0x39cc9f['autoClose'])??!![])&&_0x199d46['remove'](!![]);}}[_0x306755(0x130a,0xcb3)](){const _0x2c9b8c={_0x1c85c2:0x127f};function _0x51c160(_0x35be4a,_0x4559f2){return _0x306755(_0x35be4a,_0x4559f2- -0x90);}this[_0x51c160(_0x2c9b8c._0x1c85c2,0x1334)]&&this['_layer']['clear']();}['open'](_0x1958a6,_0x51b45b={}){const _0x3c15fb={_0xb41691:0xae0,_0x3ad582:0x1677,_0x4c5cb9:0x74e,_0x20410a:0x60d,_0x1f8f71:0x132c,_0x53c5d6:0xd31,_0x2fd824:0x8b3,_0x281777:0x7c6,_0x4dedc8:0x901,_0x3abe71:0x9c,_0x22c3d3:0xd59,_0x365d94:0x1c6a,_0x13fcee:0x436,_0x528f7c:0x10f3,_0x2126ea:0xa5e,_0x164a77:0xa6f,_0x2b93b9:0x1148},_0x147585={_0x47c650:0x181},_0x530296={_0x542896:0x27c};function _0x2ec242(_0xdb3a44,_0x41cf85){return _0x306755(_0xdb3a44,_0x41cf85- -_0x530296._0x542896);}var _0x461e19;const _0x58acb2=_0x51b45b['options']||{};if((_0x58acb2===null||_0x58acb2===void 0x0?void 0x0:_0x58acb2['autoClose'])??!![])this[_0x2ec242(0xbe0,_0x3c15fb._0xb41691)]();else _0x51b45b!==null&&_0x51b45b!==void 0x0&&_0x51b45b[_0x33cde9(0x1d89,0x14d3)]&&this['close'](_0x51b45b[_0x2ec242(0x191a,_0x3c15fb._0x3ad582)]);let _0x25bc8c=_0x51b45b['target'],_0x1dfc0e;_0x51b45b['layer']&&_0x51b45b[_0x2ec242(0xbe9,_0x3c15fb._0x4c5cb9)][_0x2ec242(0xa5a,_0x3c15fb._0x20410a)]&&(_0x25bc8c=_0x51b45b['layer']);_0x51b45b['graphic']&&_0x51b45b[_0x33cde9(_0x3c15fb._0x1f8f71,0x14d3)]['fire']&&(_0x25bc8c=_0x51b45b[_0x33cde9(_0x3c15fb._0x53c5d6,0x14d3)],_0x1dfc0e=_0x51b45b['graphic']);let _0xfd95b3=_0x51b45b['heightReference']??Cesium__namespace['HeightReference']['NONE'];if(_0x51b45b[_0x33cde9(0xabd,0x70f)]){const _0x11d2d8=_0x51b45b[_0x2ec242(0x335,_0x3c15fb._0x2fd824)];_0xfd95b3=this[_0x33cde9(0xe53,_0x3c15fb._0x281777)](_0x11d2d8,_0xfd95b3);}if(_0x1dfc0e){var _0xf82e7b,_0x184c8c,_0x310fd2;(_0xf82e7b=_0x1dfc0e['style'])!==null&&_0xf82e7b!==void 0x0&&_0xf82e7b[_0x33cde9(_0x3c15fb._0x4dedc8,_0x3c15fb._0x3abe71)]&&(_0xfd95b3=Cesium__namespace[_0x33cde9(0xfe5,0x125b)]['CLAMP_TO_GROUND']),(_0x184c8c=_0x1dfc0e['style'])!==null&&_0x184c8c!==void 0x0&&_0x184c8c[_0x2ec242(_0x3c15fb._0x22c3d3,0x1423)]&&(_0xfd95b3=Cesium__namespace[_0x2ec242(_0x3c15fb._0x365d94,0x13ff)]['CLAMP_TO_GROUND']),Cesium__namespace['defined']((_0x310fd2=_0x1dfc0e[_0x33cde9(-0x5cc,_0x3c15fb._0x13fcee)])===null||_0x310fd2===void 0x0?void 0x0:_0x310fd2[_0x2ec242(_0x3c15fb._0x528f7c,0x99e)])&&(_0xfd95b3=_0x1dfc0e['style']['heightReference']),!_0x51b45b['_custom_position']&&(isGraphicPostion(_0x1dfc0e)&&(_0x1958a6=_0x1dfc0e['position']),_0x1dfc0e[_0x2ec242(0x4ff,0x718)]&&_0x1dfc0e['_getPopupPosition']&&(_0x1958a6=_0x1dfc0e[_0x2ec242(_0x3c15fb._0x2126ea,0x778)]()||_0x1958a6));}const _0x3a339d={..._0x58acb2};_0x3a339d['heightReference']=_0xfd95b3,_0x3a339d[_0x33cde9(0x5f2,0xbda)]=_0x51b45b['content'];const _0x4c8a34=_0x3a339d;function _0x33cde9(_0x1cdf9a,_0x539172){return _0x2b6441(_0x1cdf9a,_0x539172-_0x147585._0x47c650);}const _0x3fcbdd=this['_createDivGraphic']({'depthTest':this[_0x33cde9(0x339,0xc7d)],..._0x58acb2,'position':_0x1958a6,'style':_0x4c8a34,'attr':(_0x461e19=_0x51b45b['graphic'])===null||_0x461e19===void 0x0?void 0x0:_0x461e19['attr'],'target':_0x25bc8c,'event':_0x51b45b},_0x1dfc0e);this[_0x2ec242(_0x3c15fb._0x164a77,_0x3c15fb._0x2b93b9)]['addGraphic'](_0x3fcbdd);}['getPopup'](_0x428a3d){const _0x8282a5={_0x403dfc:0x17ea},_0x488a41={_0x52a30a:0x3b9};function _0x1f245f(_0x2c531c,_0x1b84b7){return _0x306755(_0x2c531c,_0x1b84b7- -_0x488a41._0x52a30a);}return this['_layer'][_0x1f245f(_0x8282a5._0x403dfc,0xf47)](_0x428a3d['_popupId']);}[_0x306755(0xb18,0x109f)](_0x49ce7a,_0xc0a2cb){const _0x4543a6=new Popup(_0x49ce7a);return _0xc0a2cb&&(_0xc0a2cb['_popupId']=_0x4543a6['id']),_0x4543a6;}['getHeightReference'](_0x3bfeb5,_0x50372b){const _0x1289d3={_0x5a4f44:0x1237,_0x33628b:0x437,_0x44d7c3:0x6d9,_0x1b2905:0x653},_0x3d1e53={_0x278c8c:0x26};if(!_0x3bfeb5)return _0x50372b;function _0x5094df(_0x1142a9,_0x2aa8d5){return _0x2b6441(_0x1142a9,_0x2aa8d5- -_0x3d1e53._0x278c8c);}if(Cesium__namespace['defined'](_0x3bfeb5['_heightReference']))return _0x3bfeb5['_heightReference'];const _0x55a553=_0x3bfeb5['billboard']||_0x3bfeb5['point']||_0x3bfeb5[_0x569bdf(0x1520,_0x1289d3._0x5a4f44)]||_0x3bfeb5[_0x569bdf(_0x1289d3._0x33628b,0x91d)];function _0x569bdf(_0x4546b7,_0x240734){return _0x2b6441(_0x240734,_0x4546b7-0x16d);}if(Cesium__namespace['defined'](_0x55a553===null||_0x55a553===void 0x0?void 0x0:_0x55a553['heightReference']))return _0x55a553[_0x5094df(_0x1289d3._0x44d7c3,_0x1289d3._0x1b2905)]['_value'];return _0x50372b;}}register$2('popup',PopupMgr);function isGraphicPostion(_0x2f211a){const _0xe61468={_0x495ce5:0x104e,_0xe00c71:0x446,_0x297944:0x1d1c,_0x45d0a0:0x114,_0xf21c3f:0x168f},_0x572afb={_0x267722:0x74};if(!_0x2f211a)return![];if(_0x2f211a[_0xc1f4b3(0x1213,_0xe61468._0x495ce5)][_0x17bcf4(0x20,_0xe61468._0xe00c71)](_0x17bcf4(0x1260,_0xe61468._0x297944))||_0x2f211a['type'][_0xc1f4b3(-0x62d,-_0xe61468._0x45d0a0)]('point'))return!![];if(_0x2f211a['position']&&!(_0x2f211a[_0xc1f4b3(_0xe61468._0xf21c3f,0xbe2)]instanceof Cesium__namespace['ConstantPositionProperty']))return!![];function _0xc1f4b3(_0x412e18,_0x47c75a){return _0x2b6441(_0x412e18,_0x47c75a- -_0x572afb._0x267722);}function _0x17bcf4(_0x37c842,_0x319349){return _0x2b6441(_0x319349,_0x37c842-0xc0);}return![];}class TooltipMgr extends PopupMgr{['_enabledHook'](_0x143e43){const _0x15d46c={_0x3c5ca5:0x108,_0x23009f:0xaac,_0x3597fe:0xf38,_0x90b29b:0x11ee},_0x585294={_0x51a290:0x174};super[_0x296034(0x199,_0x15d46c._0x3c5ca5)](_0x143e43);function _0x9a8a34(_0x97884a,_0x5af958){return _0x2b6441(_0x5af958,_0x97884a-0x42);}function _0x296034(_0x3d4d82,_0x3d8b73){return _0x2b6441(_0x3d4d82,_0x3d8b73-_0x585294._0x51a290);}this[_0x296034(_0x15d46c._0x23009f,0x1320)]&&!_0x143e43&&(clearTimeout(this[_0x296034(_0x15d46c._0x3597fe,0x1320)]),delete this[_0x9a8a34(_0x15d46c._0x90b29b,0xf9d)]);}[_0x306755(0x217d,0x1831)](){const _0x2eea79={_0x1cc915:0x2174},_0x2101f3={_0x327f64:0x94};function _0x16d91f(_0x1a36b3,_0x2f26c6){return _0x306755(_0x1a36b3,_0x2f26c6-_0x2101f3._0x327f64);}this[_0x16d91f(_0x2eea79._0x1cc915,0x185d)]['on'](EventType['mouseMoveTarget'],this['_mouseMoveHandler'],this),this['_map']['on'](EventType['mouseDown'],this['_mouseDownHandler'],this),this['_map']['on'](EventType['mouseUp'],this['_mouseUpHandler'],this);}['_unbindEvent'](){const _0x1c3ab9={_0x57d619:0xed},_0x192df6={_0x5bf176:0xb1};this[_0x34e1b9(0x1315,0x13e4)]['off'](EventType['mouseMoveTarget'],this[_0xcf3202(0xce5,0x418)],this),this[_0xcf3202(0x12d9,0x1da5)][_0xcf3202(0x47c,0x8d0)](EventType['mouseDown'],this['_mouseDownHandler'],this);function _0xcf3202(_0x294d26,_0x420078){return _0x2b6441(_0x420078,_0x294d26-_0x192df6._0x5bf176);}function _0x34e1b9(_0x5a16fe,_0x272170){return _0x2b6441(_0x272170,_0x5a16fe-_0x1c3ab9._0x57d619);}this['_map']['off'](EventType['mouseUp'],this['_mouseUpHandler'],this);}['_mouseDownHandler'](_0x45d9a4){const _0x298ea={_0xb5326f:0x569};function _0x1aef0c(_0x30b423,_0x4187a8){return _0x2b6441(_0x4187a8,_0x30b423-_0x298ea._0xb5326f);}if(!this['enabled'])return;this['_isMouseUpdownPressed']=!![],this[_0x1aef0c(0xd24,0x1495)]();}['_mouseUpHandler'](_0x3e5efa){if(!this['enabled'])return;this['_isMouseUpdownPressed']=![];}[_0x2b6441(0xfd5,0xc34)](_0x5972a3){const _0x4c0ffa={_0x1927c9:0x151c},_0x3ab3ff={_0x513d91:0x1aca,_0x5e4f13:0x1255};if(!this['enabled'])return;function _0x21bf80(_0x36923d,_0x43e80c){return _0x306755(_0x43e80c,_0x36923d- -0x231);}this['moveTimer']&&(clearTimeout(this[_0x21bf80(0x151c,0xb86)]),delete this['moveTimer']);if(this['_isMouseUpdownPressed']||!this[_0x1910ce(0x814,0x93d)]){this['close']();return;}function _0x1910ce(_0x5b495c,_0x11dc20){return _0x2b6441(_0x5b495c,_0x11dc20-0x191);}this[_0x21bf80(_0x4c0ffa._0x1927c9,0x11ef)]=setTimeout(()=>{function _0x590a10(_0x175af2,_0x3b8a9f){return _0x1910ce(_0x175af2,_0x3b8a9f- -0xe8);}delete this[_0x590a10(_0x3ab3ff._0x513d91,_0x3ab3ff._0x5e4f13)],this['_mouseClickHandler'](_0x5972a3);},this['options'][_0x1910ce(0x47a,0xdca)]??0x14);}[_0x306755(0x140f,0x115b)](_0xff7172){const _0x5e8ab9={_0x248135:0xbf1},_0x45664a={_0x58dcc3:0x4b1};function _0x36a4e0(_0xebe6d1,_0x447de0){return _0x2b6441(_0x447de0,_0xebe6d1-0x158);}function _0x199f9f(_0x5ee63d,_0x3c5ff5){return _0x306755(_0x3c5ff5,_0x5ee63d- -_0x45664a._0x58dcc3);}return _0xff7172[_0x36a4e0(0x13e,-0x32b)]||_0xff7172[_0x199f9f(0x1237,_0x5e8ab9._0x248135)]&&_0xff7172[_0x199f9f(0x1237,0x1bd4)]();}[_0x306755(0x1273,0x109f)](_0x8e6e06,_0x575f2b){const _0x380267={_0x160c58:0x11a0,_0x50574a:0x1c30};function _0x34bdb7(_0x15aec8,_0xe7ebee){return _0x2b6441(_0xe7ebee,_0x15aec8-0x22d);}const _0x1f9b7e=new Tooltip(_0x8e6e06);return _0x575f2b&&(_0x575f2b[_0x34bdb7(_0x380267._0x160c58,_0x380267._0x50574a)]=_0x1f9b7e['id']),_0x1f9b7e;}['getTooltip'](_0x224967){function _0x5cf9d9(_0x34384f,_0x3d1737){return _0x306755(_0x3d1737,_0x34384f- -0x5f0);}return this['_layer']['getGraphicById'](_0x224967[_0x5cf9d9(0xf24,0x1599)]);}['getPopup'](_0x16d802){const _0x29cead={_0x498b6c:0x8fd},_0x58ebeb={_0x401237:0x4eb};function _0x18a33f(_0x4f4482,_0xd0fa9f){return _0x306755(_0x4f4482,_0xd0fa9f- -_0x58ebeb._0x401237);}return this[_0x18a33f(0x8ea,_0x29cead._0x498b6c)](_0x16d802);}}register$2('tooltip',TooltipMgr);class SmallTooltip extends BaseControl{get[_0x2b6441(0x137b,0xf9a)](){return this['options']['direction'];}set['direction'](_0x1b25f3){this['options'][_0x4e8fbb(0xfca,0x18b8)]=_0x1b25f3;function _0x4e8fbb(_0x24305f,_0x2d97c9){return _0x306755(_0x2d97c9,_0x24305f- -0x571);}_0x1b25f3?(addClass(this['_containerArrow'],'mars3d-smallTooltip-leftArrow'),removeClass(this['_containerArrow'],'mars3d-smallTooltip-rightArrow')):(addClass(this['_containerArrow'],'mars3d-smallTooltip-rightArrow'),removeClass(this['_containerArrow'],'mars3d-smallTooltip-leftArrow'));}['_enabledHook'](_0x4bd182){this['show']=_0x4bd182;}['_mountedHook'](){const _0x47d376={_0xf873d7:0x824,_0x2ba6f2:0x18d,_0x1971b7:0x8bb,_0x43f9bf:0x146d},_0x177bf9={_0x245578:0x1436,_0x360fc6:0xa15},_0x2e06c8={_0x461ce2:0xa0},_0x56272e={_0x115eef:0x541};this['_container']=create$4('div','mars3d-smallTooltip');function _0x1edf18(_0x266e37,_0x4c1439){return _0x2b6441(_0x266e37,_0x4c1439-_0x56272e._0x115eef);}this['_container']['style']['display']=_0x37900d(0xcf2,0x8dc),this['_containerArrow']=create$4(_0x1edf18(0xf67,_0x47d376._0xf873d7),'mars3d-smallTooltip-arrow\x20mars3d-smallTooltip-rightArrow',this[_0x1edf18(0x162,0x6e3)]);function _0x37900d(_0x85cf10,_0x242dca){return _0x306755(_0x242dca,_0x85cf10-_0x2e06c8._0x461ce2);}this['_containerContent']=create$4(_0x1edf18(0x12eb,0x824),'mars3d-smallTooltip-inner',this[_0x37900d(0x7e3,-_0x47d376._0x2ba6f2)]),this['_container'][_0x1edf18(_0x47d376._0x1971b7,0xa8a)](_0x37900d(0x1108,_0x47d376._0x43f9bf),_0x317f17=>{function _0x3b10d8(_0x5895df,_0x2cee28){return _0x1edf18(_0x5895df,_0x2cee28- -0x2e7);}this[_0x3b10d8(_0x177bf9._0x245578,_0x177bf9._0x360fc6)]();});}['close'](){const _0x1c5022={_0x1f6c74:0x64f};function _0x1bd295(_0x5edc04,_0x2c0f23){return _0x2b6441(_0x5edc04,_0x2c0f23-0x4b4);}function _0x1cfe8c(_0x4369fe,_0x31b854){return _0x306755(_0x31b854,_0x4369fe- -0x58);}this[_0x1bd295(-0x9b,0x656)]&&(this[_0x1bd295(_0x1c5022._0x1f6c74,0x656)]['style']['display']='none');}[_0x306755(0x1303,0x1070)](_0x579a0a,_0x406ca2){const _0x3f9e6a={_0x4bc1c6:0x10b9,_0x39730b:0x408,_0x1745b4:0xc42,_0x4c124b:0x72a,_0x4367e8:0x8af,_0x17323e:0x788,_0x1db20b:0x154c,_0x5e5ac6:0x138a,_0x3b8b49:0x11b8,_0x30992f:0x51b,_0x31e3a5:0x1ff0,_0x4ec59d:0x4a2,_0x31e8f2:0x408,_0x2136c1:0x302,_0x450c0c:0x89b},_0x2581e5={_0x1ead5e:0x266};function _0x3a090e(_0x5b3387,_0x21070d){return _0x306755(_0x5b3387,_0x21070d-0x45);}function _0x520cef(_0x14c737,_0x1aac17){return _0x2b6441(_0x14c737,_0x1aac17-_0x2581e5._0x1ead5e);}if(!this[_0x3a090e(_0x3f9e6a._0x4bc1c6,0x1315)])return;if(_0x406ca2)this['_containerContent']['innerHTML']=_0x406ca2;else{this[_0x520cef(0xaf0,_0x3f9e6a._0x39730b)]['style']['display']='none';return;}_0x579a0a?(_0x579a0a instanceof Cesium__namespace[_0x520cef(_0x3f9e6a._0x1745b4,0x6e6)]&&(_0x579a0a=toWindowCoordinates$1(this[_0x3a090e(0x1e42,0x180e)][_0x520cef(0x254,_0x3f9e6a._0x4c124b)],_0x579a0a)),this[_0x3a090e(_0x3f9e6a._0x4367e8,0x788)]['style']['display']='block',this[_0x3a090e(0x11b5,_0x3f9e6a._0x17323e)]['style'][_0x520cef(_0x3f9e6a._0x1db20b,_0x3f9e6a._0x5e5ac6)]=_0x579a0a['y']-this['_container']['clientHeight']/0x2+'px',this[_0x3a090e(0xe25,0xca2)][_0x520cef(_0x3f9e6a._0x3b8b49,0x1200)]?this['_container'][_0x520cef(-0x283,_0x3f9e6a._0x30992f)]['left']=_0x579a0a['x']-this['_container'][_0x3a090e(_0x3f9e6a._0x31e3a5,0x15ff)]-0x19+'px':this['_container'][_0x520cef(0x425,_0x3f9e6a._0x30992f)]['left']=_0x579a0a['x']+0x19+'px'):this[_0x520cef(_0x3f9e6a._0x4ec59d,_0x3f9e6a._0x31e8f2)][_0x3a090e(_0x3f9e6a._0x2136c1,_0x3f9e6a._0x450c0c)][_0x3a090e(-0x39,0x638)]='none';}}register$2('smallTooltip',SmallTooltip);class ContextMenu extends BaseControl{constructor(_0x1e6540={}){const _0x57740a={_0xd304a:0xa16},_0x1b716b={_0x585101:0xb6};super(_0x1e6540),this[_0x3f431b(_0x57740a._0xd304a,0x1146)]=0x0;function _0x3f431b(_0x57bdcb,_0x5e2c47){return _0x2b6441(_0x57bdcb,_0x5e2c47- -_0x1b716b._0x585101);}this['_menuObj']={};}get[_0x306755(0x9c8,0xfd4)](){return this['_target'];}[_0x306755(0x755,0x535)](){this['_target']=null;}[_0x306755(0x173f,0x130c)](){const _0x2e67e5={_0x5e7517:0x843,_0x53ac0d:0xb46,_0x5b885a:0x18c,_0x7fde52:0x843};Cesium__namespace['defaultValue'](this['options']['preventDefault'],!![])&&(this['_map']['container'][_0x814016(-0x2c,0x84c)]=function(_0x896d39){function _0x459154(_0x4da83c,_0x4e1c80){return _0x814016(_0x4da83c,_0x4e1c80-0x3b6);}_0x896d39[_0x459154(0x828,0xcfd)]();});this[_0x445267(_0x2e67e5._0x5e7517,-0x278)]=create$4(_0x814016(_0x2e67e5._0x53ac0d,0x2cd),'mars3d-contextmenu'),this[_0x814016(-0x75c,_0x2e67e5._0x5b885a)][_0x445267(0x956,0x9cb)]['display']='none',this['_containerUl']=create$4('ul','mars3d-contextmenu-ul',this[_0x445267(_0x2e67e5._0x7fde52,0x1224)]);function _0x445267(_0x1967f4,_0x14a3f7){return _0x306755(_0x14a3f7,_0x1967f4-0x100);}function _0x814016(_0x5c35c2,_0xc1b15){return _0x2b6441(_0x5c35c2,_0xc1b15- -0x16);}this['_containerUl']['id']=this['parentContainerId']+_0x814016(0x5b6,0x67e);}[_0x306755(0x7c3,0x99e)](){const _0x162dda={_0x659ad0:0x116b,_0x3996b8:0x146b,_0xbf0666:0x1873,_0x1ebed6:0x1712,_0x91d936:0x12e1},_0x43f699={_0x1f6db2:0x7a},_0x43c8aa={_0x25a9c4:0x64b};function _0x35d1df(_0x181051,_0x1c177c){return _0x2b6441(_0x181051,_0x1c177c-_0x43c8aa._0x25a9c4);}this['_map']['on'](EventType['leftDown'],this[_0x35d1df(_0x162dda._0x659ad0,0x17e3)],this),this['_map']['on'](EventType['middleDown'],this[_0x17cee9(0x1212,0x105f)],this);function _0x17cee9(_0x4993e3,_0x52d06e){return _0x2b6441(_0x52d06e,_0x4993e3-_0x43f699._0x1f6db2);}this[_0x35d1df(_0x162dda._0x3996b8,_0x162dda._0xbf0666)]['on'](EventType['wheel'],this['_downHandler'],this),this[_0x35d1df(_0x162dda._0x1ebed6,0x1873)]['on'](EventType[_0x17cee9(_0x162dda._0x91d936,0x10c0)],this['_rightClickHandler'],this);}['_removedHook'](){const _0x29cccd={_0x9b195e:0x585,_0x36d286:0x689,_0x4622c5:0x3aa,_0x3a8335:0xccd,_0x2d88ba:0x130b};this['_map']['off'](EventType[_0x262d46(_0x29cccd._0x9b195e,0xed5)],this[_0x262d46(0x1875,0x1177)],this),this['_map'][_0x262d46(-_0x29cccd._0x36d286,_0x29cccd._0x4622c5)](EventType['middleDown'],this[_0x189616(0x130b,_0x29cccd._0x3a8335)],this);function _0x262d46(_0x48a669,_0x3fe52a){return _0x306755(_0x48a669,_0x3fe52a- -0x5c2);}this['_map']['off'](EventType['wheel'],this[_0x189616(_0x29cccd._0x2d88ba,0xb15)],this);function _0x189616(_0x84583b,_0x53e5d9){return _0x2b6441(_0x53e5d9,_0x84583b-0x173);}this['_map'][_0x189616(0x53e,-0x473)](EventType[_0x189616(0x13da,0x99a)],this['_rightClickHandler'],this),this['_target']=null,this['_eventResult']=null;}['_downHandler'](_0x4785f5){this['close']();}['_rightClickHandler'](_0x3a7d25){const _0x3b35a1={_0x504426:0x1892,_0x424229:0x13eb,_0x237ecc:0x111a,_0x789133:0x14a9,_0x558f63:0x14a2,_0x1da144:0x5fb};var _0x41baea,_0x462f92;this[_0x20b6f8(0xe77,_0x3b35a1._0x504426)]();function _0x20b6f8(_0x644073,_0x306af3){return _0x2b6441(_0x306af3,_0x644073-0x6bc);}if(!this[_0x20b6f8(_0x3b35a1._0x424229,_0x3b35a1._0x237ecc)])return;if(this['_openByClick'](_0x3a7d25[_0x211d7f(-0x25e,0x6de)],_0x3a7d25))return;if(this['_openByClick'](_0x3a7d25[_0x211d7f(0x1683,0x14a2)],_0x3a7d25))return;if(this['_openByClick']((_0x41baea=_0x3a7d25[_0x211d7f(_0x3b35a1._0x789133,_0x3b35a1._0x558f63)])===null||_0x41baea===void 0x0?void 0x0:_0x41baea['parent'],_0x3a7d25))return;if(this['_openByClick'](_0x3a7d25['layer'],_0x3a7d25))return;function _0x211d7f(_0x9e32d2,_0x568b8d){return _0x306755(_0x9e32d2,_0x568b8d- -0x451);}if(this[_0x20b6f8(0x197b,0x240f)]((_0x462f92=_0x3a7d25['layer'])===null||_0x462f92===void 0x0?void 0x0:_0x462f92[_0x20b6f8(0xba6,_0x3b35a1._0x1da144)],_0x3a7d25))return;this['_openByClick'](this['_map'],_0x3a7d25);}[_0x2b6441(0x1378,0x12bf)](_0x5083b9,_0x32e12b){const _0x511239={_0xe9e1f3:0x18f7},_0x296784={_0xee3f9:0x15e};if(!_0x5083b9)return![];function _0x1f2afa(_0x335ffa,_0x26ce26){return _0x306755(_0x335ffa,_0x26ce26- -0x309);}let _0xf837e=_0x5083b9[_0x24f738(0x149d,_0x511239._0xe9e1f3)]||_0x5083b9['getContextMenu']&&_0x5083b9['getContextMenu']();if(_0xf837e===![])return!![];if(!_0xf837e)return![];function _0x24f738(_0x2a311d,_0x161553){return _0x2b6441(_0x161553,_0x2a311d-_0x296784._0xee3f9);}return _0xf837e={..._0xf837e,..._0x32e12b},this[_0x1f2afa(0x57f,0xd67)](_0x32e12b['cartesian'],_0xf837e),!![];}['close'](_0xc0fd3a,_0x3ae53a){const _0x4d122d={_0x58148d:0xa9d,_0x3ec769:0x3c8,_0x4c5076:0x3a8,_0x57b7e5:0x15c1},_0xd482eb={_0x305a8b:0x4c1},_0x49df36={_0x3f8b68:0x5a7};var _0x1909a3,_0x52c608,_0x1d2456;if(this['_show']===![])return;if(_0xc0fd3a&&_0xc0fd3a!==((_0x1909a3=this['_eventResult'])===null||_0x1909a3===void 0x0?void 0x0:_0x1909a3['graphic']))return;function _0x4af26f(_0xc65f50,_0x286c71){return _0x2b6441(_0xc65f50,_0x286c71-_0x49df36._0x3f8b68);}if(_0x3ae53a&&_0x3ae53a!==((_0x52c608=this['_eventResult'])===null||_0x52c608===void 0x0?void 0x0:_0x52c608[_0x4af26f(0x1423,0x9d0)]))return;this[_0x7d7a43(0x10d2,_0x4d122d._0x58148d)]=![];function _0x7d7a43(_0x33c84b,_0x138fb8){return _0x306755(_0x138fb8,_0x33c84b- -_0xd482eb._0x305a8b);}(_0x1d2456=this['target'])!==null&&_0x1d2456!==void 0x0&&_0x1d2456[_0x7d7a43(_0x4d122d._0x3ec769,-_0x4d122d._0x4c5076)]?this['target']['fire'](EventType[_0x7d7a43(0x12fc,_0x4d122d._0x57b7e5)],{},!![]):this['_map']['fire'](EventType['contextMenuClose']);}[_0x306755(0x124a,0x1070)](_0x89cb71,_0x35dfc0={}){const _0x4440e7={_0x4c9a52:0xe22,_0x2410a7:0xd84,_0x22a54b:0x902,_0x359f8e:0x8a4,_0x46561f:0xc80,_0x3036c9:0x13e0,_0x7fdded:0x9f2,_0x1dadc4:0xc86,_0x2b3855:0xffc,_0x4f6a86:0x8d6,_0x1ed457:0xbcf,_0x4e2292:0x137c,_0x4b8f4b:0x191b,_0x25aff7:0xa5d,_0x4e5721:0x148a,_0x259463:0x1cf,_0x54244c:0x156e,_0x5db6e7:0x1217,_0x465ddf:0xd9b,_0x3408a1:0x1531,_0x33d620:0xbf0,_0x2a69d9:0x7d4,_0x12fdd0:0x778,_0x4960a6:0x517,_0x4442bb:0xb67,_0x144fec:0xa8d,_0x6697b3:0x112b,_0x14b2eb:0x309,_0x23b05f:0x17f1,_0x37104a:0x7a},_0x31aff3={_0x582387:0xb18,_0x533af8:0xb24,_0x4b9e0c:0x467,_0x5b74de:0x1187,_0x39fdde:0x6ca,_0x247d4d:0xad0,_0x54dd2d:0xc09},_0x4daa72={_0x984fa6:0x16a0,_0x4e99df:0x76d,_0x5936a5:0x965,_0x411f7a:0x1001,_0x93b692:0x1d6e,_0x1273f7:0x12c0,_0x547a3f:0x373},_0x4c263d={_0x2aa7d9:0x6e},_0x542b8b={_0x2b7cff:0x5c9};var _0xc3c543;const _0x2ca1f9=_0x35dfc0[_0x3208e8(-0x248,0x6e6)]||{},_0x5b1902=_0x35dfc0['content'];if(!_0x5b1902||_0x5b1902[_0x3208e8(_0x4440e7._0x4c9a52,0x1084)]===0x0){this[_0x46dc85(0xd14,_0x4440e7._0x2410a7)]();return;}const _0x1277a6=_0x35dfc0['windowPosition']||toWindowCoordinates$1(this[_0x3208e8(0xed7,0x1252)][_0x46dc85(_0x4440e7._0x22a54b,0xa8d)],_0x89cb71);if(!_0x1277a6)return;function _0x46dc85(_0x5c203a,_0x2436ba){return _0x2b6441(_0x5c203a,_0x2436ba-_0x542b8b._0x2b7cff);}const _0x5717a7={..._0x35dfc0};_0x5717a7['windowPosition']=_0x1277a6,_0x5717a7[_0x3208e8(_0x4440e7._0x359f8e,_0x4440e7._0x46561f)]=_0x89cb71;const _0x24b631=_0x5717a7;_0x35dfc0[_0x46dc85(_0x4440e7._0x3036c9,_0x4440e7._0x7fdded)]&&_0x35dfc0[_0x3208e8(0x7aa,0x453)]['fire']&&(_0x24b631['target']=_0x35dfc0[_0x46dc85(_0x4440e7._0x1dadc4,_0x4440e7._0x7fdded)]);if(_0x35dfc0['graphic']&&_0x35dfc0['graphic']['fire']){_0x24b631[_0x46dc85(0xf84,_0x4440e7._0x2b3855)]=_0x35dfc0['graphic'];const _0x32b9a3=_0x35dfc0['graphic']['parent'];_0x32b9a3&&_0x32b9a3[_0x46dc85(0x2fb,0x8b1)]&&(_0x24b631[_0x46dc85(0xd60,_0x4440e7._0x4f6a86)]=_0x32b9a3,_0x35dfc0[_0x3208e8(_0x4440e7._0x1ed457,_0x4440e7._0x4e2292)]['isDestroy']&&(_0x24b631[_0x46dc85(0xed4,_0x4440e7._0x4b8f4b)]=_0x32b9a3,_0x24b631['target']=_0x32b9a3));}this['_eventResult']=_0x24b631;function _0x3208e8(_0x2075f0,_0x12e7ef){return _0x306755(_0x2075f0,_0x12e7ef- -0x577);}let _0xa65bd8='';for(let _0x249dd3=0x0,_0xa73b7c=_0x5b1902['length'];_0x249dd3<_0xa73b7c;_0x249dd3++){const _0xb3f379=_0x5b1902[_0x249dd3],_0x25a698=this[_0x46dc85(0xe8b,0x92a)](_0xb3f379,_0x24b631);_0x25a698&&(_0xa65bd8+=_0x25a698);}if(_0xa65bd8===''){this[_0x3208e8(0x79f,0x7e5)]();return;}this[_0x46dc85(0xa5d,_0x4440e7._0x25aff7)][_0x3208e8(0xd3a,0x131b)]=_0xa65bd8;const _0x285180=this['_containerUl'][_0x3208e8(0x1207,_0x4440e7._0x4e5721)](_0x3208e8(-0x139,_0x4440e7._0x259463)),_0x57f464=this;for(let _0x4a11f3=0x0;_0x4a11f3<_0x285180['length'];_0x4a11f3++){const _0x85f3f5=_0x285180[_0x4a11f3];_0x85f3f5['addEventListener']('click',function(_0x3e83af){const _0x5f23d1={_0x2ae800:0x1d5};function _0x4d7aab(_0x4090ba,_0x4b9b76){return _0x3208e8(_0x4090ba,_0x4b9b76-_0x4c263d._0x2aa7d9);}function _0x4758df(_0xf14a58,_0x44f804){return _0x46dc85(_0xf14a58,_0x44f804- -_0x5f23d1._0x2ae800);}var _0x97706e;_0x3e83af[_0x4758df(_0x4daa72._0x984fa6,0xc7f)]&&_0x3e83af['stopPropagation']();const _0x2fd188=Number(this[_0x4d7aab(-_0x4daa72._0x4e99df,-0x1a)](_0x4758df(0x1252,0xfa1))),_0x11fbdd=_0x57f464['_menuObj'][_0x2fd188],_0x4448c9={..._0x24b631};_0x4448c9['data']=_0x11fbdd;const _0x47cdaf=_0x4448c9,_0x7103a4=_0x11fbdd['callback'];if(_0x7103a4){if(isFunction(_0x7103a4))_0x7103a4['bind'](_0x11fbdd)(_0x47cdaf);else isString(_0x7103a4)&&new Function(_0x4d7aab(0xe3e,_0x4daa72._0x5936a5),'return\x20'+_0x7103a4+_0x4758df(0x18fe,_0x4daa72._0x411f7a))(_0x47cdaf);}(_0x97706e=_0x57f464['target'])!==null&&_0x97706e!==void 0x0&&_0x97706e[_0x4758df(0x16f,0x6dc)]?_0x57f464['target']['fire'](EventType['contextMenuClick'],_0x47cdaf,!![]):_0x57f464[_0x4d7aab(_0x4daa72._0x93b692,_0x4daa72._0x1273f7)][_0x4758df(-_0x4daa72._0x547a3f,0x6dc)](EventType[_0x4d7aab(0x1421,0xd9c)],_0x47cdaf);const _0x1a13f5=Number(this['getAttribute']('data-count')||0x0);_0x1a13f5===0x0&&_0x57f464['close']();}),_0x85f3f5[_0x46dc85(_0x4440e7._0x54244c,0xb12)]('mouseover',function(_0x45d9dd){function _0x22c97c(_0x5c70fc,_0x2aa6cf){return _0x3208e8(_0x2aa6cf,_0x5c70fc- -0x7f);}function _0xfb65a6(_0x1e18fe,_0x2538ee){return _0x3208e8(_0x1e18fe,_0x2538ee-0x3eb);}const _0x2b54ef=_0x57f464['_container']['querySelectorAll'](_0xfb65a6(_0x31aff3._0x582387,_0x31aff3._0x533af8));for(let _0x3858ab=0x0;_0x3858ab<_0x2b54ef['length'];_0x3858ab++){_0x2b54ef[_0x3858ab]['style'][_0xfb65a6(0xaec,_0x31aff3._0x4b9e0c)]='none';}const _0x5d22bb=this['querySelector']('.mars3d-sub-menu');_0x5d22bb&&(_0x5d22bb[_0xfb65a6(_0x31aff3._0x5b74de,_0x31aff3._0x39fdde)]['display']='block'),removeClass(_0x57f464['_containerUl'][_0xfb65a6(_0x31aff3._0x247d4d,0x12ca)](_0xfb65a6(_0x31aff3._0x54dd2d,0x1109)),'active'),addClass(this,_0x22c97c(0xd19,0xd4d));});}this['show']=!![],this[_0x46dc85(_0x4440e7._0x5db6e7,_0x4440e7._0x465ddf)]=_0x24b631['target'];let _0x34fd0d=_0x1277a6['y'],_0x436a18=_0x1277a6['x'];_0x2ca1f9['anchor']?(_0x436a18+=_0x2ca1f9[_0x46dc85(_0x4440e7._0x3408a1,0xede)][0x0],_0x34fd0d+=_0x2ca1f9[_0x46dc85(_0x4440e7._0x33d620,0xede)][0x1]):(_0x2ca1f9['offsetX']&&(_0x436a18+=_0x2ca1f9['offsetX']),_0x2ca1f9['offsetY']&&(_0x34fd0d+=_0x2ca1f9['offsetY']));const _0x2036be=this['_container'][_0x3208e8(-0xbd,0x6f8)],_0x33be6e=this[_0x3208e8(_0x4440e7._0x2a69d9,0x1cc)]['offsetWidth'];_0x34fd0d+_0x2036be>this['_map']['scene'][_0x46dc85(0x390,_0x4440e7._0x12fdd0)]['clientHeight']?(_0x34fd0d-=_0x2036be-0xa,_0x34fd0d<=0x0&&(_0x34fd0d=0x0)):_0x34fd0d+=0xa;let _0x5f5bdb=!![];_0x436a18+_0x33be6e>this['_map']['scene']['canvas']['clientWidth']?(_0x436a18-=_0x33be6e-0xa,_0x5f5bdb=![],_0x436a18<=0x0&&(_0x436a18=0x0)):_0x436a18+=0xa;this[_0x46dc85(-0x40,0x76b)]['style'][_0x46dc85(0x646,0xfcc)]=_0x436a18+'px',this['_container'][_0x46dc85(0x142,0x87e)]['top']=_0x34fd0d+'px';const _0x208e47=this[_0x3208e8(0x916,0x4be)]['querySelectorAll']('.mars3d-sub-menu');for(let _0x1c4a93=0x0;_0x1c4a93<_0x208e47[_0x3208e8(0xeb8,0x1084)];_0x1c4a93++){const _0x35b947=_0x208e47[_0x1c4a93],_0x3166d4=Number(_0x35b947[_0x46dc85(-0x4d3,_0x4440e7._0x4960a6)]('data-count')||0x1)*0x22;let _0x26b27b=_0x34fd0d+_0x35b947[_0x46dc85(0x5b6,_0x4440e7._0x4442bb)][_0x3208e8(0xd17,0xd44)];_0x35b947[_0x3208e8(0x10e,0x2df)]['top']='0',_0x35b947[_0x3208e8(0xc7,0x2df)]['bottom']=_0x46dc85(0x565,0xa0a),_0x26b27b+_0x3166d4>this[_0x46dc85(0x1099,0x17f1)][_0x46dc85(-0x1d,_0x4440e7._0x144fec)]['canvas']['clientHeight']&&(_0x26b27b-=_0x3166d4,_0x26b27b>0x0&&(_0x35b947['style'][_0x3208e8(0x919,0x114e)]='auto',_0x35b947['style']['bottom']='0')),_0x5f5bdb?_0x35b947['style']['left']=_0x33be6e+0xa+'px':_0x35b947[_0x3208e8(0xaef,0x2df)]['right']=_0x33be6e+0xa+'px';}(_0xc3c543=_0x24b631[_0x46dc85(_0x4440e7._0x6697b3,0xffc)])!==null&&_0xc3c543!==void 0x0&&_0xc3c543['fire']?_0x24b631['target']['fire'](EventType[_0x46dc85(-_0x4440e7._0x14b2eb,0x4f3)],{},!![]):this[_0x46dc85(0x12e3,_0x4440e7._0x23b05f)]['fire'](EventType[_0x46dc85(_0x4440e7._0x37104a,0x4f3)]);}['_getItemHtml'](_0x18dd94,_0x34d5c1){const _0x4ad526={_0x24ac9f:0xe8a,_0x129911:0x1c12,_0x152959:0x595,_0x2cf675:0x9e3,_0x1bb084:0x695,_0x54633c:0x1325,_0x2afe42:0x7b1,_0x34559c:0xd74},_0x8eb8d={_0x1b70ed:0x129};if(_0x18dd94['hasOwnProperty']('show')){let _0x1a3cc5=_0x18dd94['show'];try{_0x34d5c1['data']=_0x18dd94;if(isFunction(_0x1a3cc5))_0x1a3cc5=_0x18dd94['show']['bind'](_0x18dd94)(_0x34d5c1);else isString(_0x1a3cc5)&&new Function(_0x30e671(0x9f6,_0x4ad526._0x24ac9f),'return\x20'+_0x1a3cc5+'(event)')(_0x34d5c1);}catch(_0x499d90){logError('右键菜单操作出错',_0x499d90);}if(!_0x1a3cc5)return;}let _0x5e1464;function _0x253870(_0x331661,_0x3a5bb1){return _0x306755(_0x3a5bb1,_0x331661- -0xbb);}let _0x132a64=_0x18dd94[_0x30e671(0x1495,0x1a8e)];isFunction(_0x132a64)&&(_0x132a64=_0x132a64[_0x253870(0x1394,_0x4ad526._0x129911)](_0x18dd94)());if(_0x132a64){let _0xb0bf58='',_0x31cf68='',_0x3826ce=0x0;if(_0x18dd94[_0x253870(0x1460,0x14bf)]){for(let _0x543ed8=0x0,_0xfd8ea3=_0x18dd94['children']['length'];_0x543ed8<_0xfd8ea3;_0x543ed8++){const _0x565dc7=_0x18dd94['children'][_0x543ed8];_0x34d5c1[_0x30e671(0xf7a,_0x4ad526._0x152959)]=_0x565dc7;const _0x1eacc1=this['_getItemHtml'](_0x565dc7,_0x34d5c1);_0x1eacc1&&(_0xb0bf58+=_0x1eacc1,_0x3826ce++);}if(_0x3826ce===0x0)return;_0xb0bf58=''+_0xb0bf58+'',_0x31cf68=_0x30e671(0xd5c,_0x4ad526._0x2cf675);}this['_menuIndex']++,this[_0x253870(0x3f8,_0x4ad526._0x1bb084)][this[_0x30e671(_0x4ad526._0x54633c,0x1d5e)]]=_0x18dd94;const _0x479d78=this['_createIcon'](_0x18dd94['icon']||_0x18dd94[_0x253870(0xfc4,0x13f5)],null,_0x30e671(_0x4ad526._0x2afe42,_0x4ad526._0x34559c));_0x5e1464='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0xb0bf58+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';}else _0x5e1464=_0x30e671(0x9d0,0x514);function _0x30e671(_0x555706,_0x1d37b7){return _0x2b6441(_0x1d37b7,_0x555706-_0x8eb8d._0x1b70ed);}return _0x5e1464;}[_0x306755(0xe36,0x953)](_0x13d4ea){}}register$2(_0x2b6441(0xeac,0xc45),ContextMenu);class KeyboardRoam extends BaseControl{constructor(_0x3eb2eb={}){const _0x523229={_0x552c84:0x14fd,_0x11a445:0x14b5,_0x51edef:0x1a67};super(_0x3eb2eb),this[_0xcf87ea(0x892,0xdcd)](_0x3eb2eb);const _0x341f04={};_0x341f04[_0xcf87ea(_0x523229._0x552c84,0x1155)]=![];function _0xcf87ea(_0x17a215,_0x47e85d){return _0x2b6441(_0x17a215,_0x47e85d-0x651);}_0x341f04['moveBackward']=![],_0x341f04['moveUp']=![];function _0x79fe4(_0x3187df,_0x2f16f6){return _0x2b6441(_0x3187df,_0x2f16f6-0x216);}_0x341f04['moveDown']=![],_0x341f04[_0xcf87ea(_0x523229._0x11a445,_0x523229._0x51edef)]=![],_0x341f04['moveRight']=![],this['flags']=_0x341f04;}get['moveStep'](){const _0x231755={_0x19bfdf:0x1ad};function _0x31b3bc(_0x10815f,_0x208e25){return _0x306755(_0x208e25,_0x10815f- -_0x231755._0x19bfdf);}return this[_0x31b3bc(0x716,0x6ae)];}set['moveStep'](_0x2c817b){const _0x109db7={_0x270005:0x9fb};function _0x12b734(_0x2041de,_0x49834b){return _0x306755(_0x49834b,_0x2041de-0x138);}this[_0x12b734(_0x109db7._0x270005,0xfe6)]=_0x2c817b;}get['dirStep'](){return this['_dirStep'];}set['dirStep'](_0x1a81d4){const _0x3ee7d1={_0x48ef7e:0x2009};function _0x64f9ad(_0x5f49d2,_0x2661ad){return _0x306755(_0x5f49d2,_0x2661ad-0x15c);}this[_0x64f9ad(_0x3ee7d1._0x48ef7e,0x1ac4)]=_0x1a81d4;}get['rotateStep'](){function _0x5537d6(_0xdec3c8,_0x43efeb){return _0x2b6441(_0x43efeb,_0xdec3c8-0x6b3);}return this[_0x5537d6(0xafd,0xe43)];}set[_0x2b6441(0xb97,0x2a6)](_0x3feb61){this['_rotateStep']=_0x3feb61;}get[_0x2b6441(0xba1,0x243)](){const _0x30fc92={_0x45e1ae:0xe7e,_0x326711:0x1175},_0x409f4d={_0x30b2dc:0x6e9},_0x3ea230={_0x45ea73:0x4e5};function _0x476bd2(_0x307afe,_0x51c744){return _0x306755(_0x307afe,_0x51c744- -_0x3ea230._0x45ea73);}function _0x57f45c(_0x46786c,_0xedd89a){return _0x2b6441(_0xedd89a,_0x46786c-_0x409f4d._0x30b2dc);}return Cesium__namespace[_0x57f45c(0x14b3,_0x30fc92._0x45e1ae)]['toDegrees'](this[_0x476bd2(0x1a85,_0x30fc92._0x326711)]);}set['minPitch'](_0x1baaac){const _0x5b5f68={_0x4caeb6:0x20bd};function _0x4e067b(_0x580885,_0x736d5e){return _0x2b6441(_0x580885,_0x736d5e-0x55e);}this[_0x4e067b(_0x5b5f68._0x4caeb6,0x1617)]=Cesium__namespace['Math']['toRadians'](_0x1baaac);}get['maxPitch'](){return Cesium__namespace['Math']['toDegrees'](this['_maxPitch']);}set['maxPitch'](_0x7cc91d){const _0x40fc06={_0x31b303:0x10c6},_0x21fcf6={_0x4bcb51:0x328},_0x2beace={_0x5baaea:0x2fc};function _0x1b1fc7(_0x33f4b9,_0x3ba073){return _0x2b6441(_0x33f4b9,_0x3ba073-_0x2beace._0x5baaea);}function _0x540d24(_0x483606,_0x408482){return _0x306755(_0x483606,_0x408482- -_0x21fcf6._0x4bcb51);}this[_0x1b1fc7(0x18d0,0x12df)]=Cesium__namespace[_0x1b1fc7(0x69c,_0x40fc06._0x31b303)]['toRadians'](_0x7cc91d);}get['minHeight'](){function _0x173189(_0x1b44f1,_0x5156e9){return _0x306755(_0x1b44f1,_0x5156e9- -0x63f);}return this[_0x173189(0x692,0x10bf)];}set[_0x306755(0x1168,0x840)](_0xb42db8){this['_minHeight']=_0xb42db8;}[_0x2b6441(0x413,0x77c)](_0x91ec4b){const _0x14269b={_0x321e6a:0x6ff,_0xfe222f:0x5e2,_0x884344:0x1525,_0x31cf35:0x64c,_0x4f95b1:0x49f,_0x137b8b:0x240},_0x5d0688={_0x45b44a:0x55e};this['options']={...this['options'],..._0x91ec4b};function _0x6e1351(_0xb7e6a0,_0x1c1e7c){return _0x306755(_0x1c1e7c,_0xb7e6a0- -_0x5d0688._0x45b44a);}this['_moveStep']=this['options']['moveStep']??0xa,this['_dirStep']=this[_0x6e1351(_0x14269b._0x321e6a,0x452)][_0x6e1351(_0x14269b._0xfe222f,0x308)]??0x19,this['_rotateStep']=this['options']['rotateStep']??0x1;function _0x45d0b4(_0x5c4383,_0x2109e3){return _0x306755(_0x2109e3,_0x5c4383- -0x198);}return this[_0x6e1351(0x10fc,0x881)]=Cesium__namespace[_0x6e1351(0xe0d,_0x14269b._0x884344)][_0x6e1351(0x66e,0x349)](this['options'][_0x45d0b4(_0x14269b._0x31cf35,_0x14269b._0x4f95b1)]??-0x59),this[_0x45d0b4(0x13ec,0xc58)]=Cesium__namespace[_0x6e1351(0xe0d,0xf91)][_0x45d0b4(0xa34,0xf65)](this['options'][_0x45d0b4(0x483,-_0x14269b._0x137b8b)]??0x2d),this['_minHeight']=this['options']['minHeight']??0x0,this;}['_addedHook'](){const _0x5c3641={_0x20580f:0x11e4,_0x1df163:0xd6d,_0x250a76:0xcbb};this[_0x1a2fa1(0x12ee,_0x5c3641._0x20580f)]['on'](EventType[_0x1c2b45(0x978,0xf35)],this['_onKeyDown'],this),this['_map']['on'](EventType[_0x1c2b45(0x129f,0x98d)],this[_0x1c2b45(0x16d5,_0x5c3641._0x1df163)],this);function _0x1c2b45(_0x399f2d,_0x202531){return _0x306755(_0x399f2d,_0x202531- -0x54f);}function _0x1a2fa1(_0x32485a,_0x2c9c4f){return _0x2b6441(_0x32485a,_0x2c9c4f- -0x44);}this['_map']['on'](EventType[_0x1a2fa1(0x562,_0x5c3641._0x250a76)],this['_onClockTick'],this);}[_0x306755(0xd2a,0xe2b)](){const _0x5dd564={_0x200fba:0x388,_0x2d1276:0x13f9,_0x57782a:0x1304,_0x28400d:0xd99,_0x1a80f7:0x568},_0x5cf9fd={_0x125d95:0x436};this['_map'][_0x1366a4(0x536,_0x5dd564._0x200fba)](EventType['keydown'],this[_0x1366a4(_0x5dd564._0x2d1276,_0x5dd564._0x57782a)],this),this[_0x302fc0(0xd85,0x1758)]['off'](EventType['keyup'],this[_0x1366a4(0xe86,0x13f0)],this);function _0x1366a4(_0xdb355d,_0x96eb90){return _0x306755(_0x96eb90,_0xdb355d- -_0x5cf9fd._0x125d95);}function _0x302fc0(_0x4dc4fc,_0x286598){return _0x306755(_0x4dc4fc,_0x286598- -0x71);}this['_map'][_0x302fc0(_0x5dd564._0x28400d,0x8fb)](EventType['clockTick'],this[_0x302fc0(0xca,_0x5dd564._0x1a80f7)],this);}[_0x2b6441(0xbad,0x128e)](_0x280804){const _0x89dd84={_0x28baee:0xf3c,_0xc2c871:0x122f};if(!this['enabled'])return;const _0xe9ba97=this[_0x301f8e(0xe3f,_0x89dd84._0x28baee)](_0x280804[_0x5906c7(_0x89dd84._0xc2c871,0xe1e)]);function _0x5906c7(_0x255559,_0xc3e19){return _0x2b6441(_0xc3e19,_0x255559-0x3f6);}function _0x301f8e(_0x5b6aec,_0x3006d8){return _0x306755(_0x3006d8,_0x5b6aec- -0x172);}typeof _0xe9ba97!=='undefined'&&(this['flags'][_0xe9ba97]=!![],clearTimeout(this['_flags_time']),this['_flags_time']=setTimeout(()=>{this['flags'][_0xe9ba97]=![];},0xc8));}[_0x2b6441(0x15d8,0xd1b)](_0x5b4f1f){function _0x276e4f(_0x14d488,_0x4d8741){return _0x306755(_0x4d8741,_0x14d488- -0x2b1);}if(!this['enabled'])return;const _0x17e8bc=this['_getFlagForKeyCode'](_0x5b4f1f['keyCode']);typeof _0x17e8bc!=='undefined'&&(this[_0x276e4f(0xd5d,0x1358)][_0x17e8bc]=![]);}['_getFlagForKeyCode'](_0x37bd38){const _0x181f91={_0x3c57f0:0xaeb,_0x56282b:0xdbc,_0x5de1df:0x532,_0x306b2f:0x1fd,_0xefd229:0xc91,_0x30dfe8:0x19f,_0x28a3c8:0x716,_0x59a1f2:0xf14,_0x208629:0x1755,_0x327ae1:0x1ecc},_0x4c62e0={_0x753354:0x349};switch(_0x37bd38){case 0x57:return'moveForward';case 0x53:return _0x502dfa(0x1342,_0x181f91._0x3c57f0);case 0x44:return _0x502dfa(_0x181f91._0x56282b,0xafd);case 0x41:return'moveLeft';case 0x51:return _0x502dfa(_0x181f91._0x5de1df,-_0x181f91._0x306b2f);case 0x45:return _0x502dfa(0x72c,0x142);case 0x26:this[_0x85fa10(0x5a0,0x814)](MoveType[_0x85fa10(0x101d,_0x181f91._0xefd229)]);break;case 0x25:this['rotateCamera'](MoveType['LEFT_ROTATE']);break;case 0x27:this[_0x502dfa(0x7da,_0x181f91._0x30dfe8)](MoveType[_0x85fa10(0x8c3,0xf14)]);break;case 0x28:this['rotateCamera'](MoveType[_0x502dfa(0x140c,0xf02)]);break;case 0x49:case 0x68:this[_0x502dfa(0x15b5,0x1d78)](MoveType[_0x85fa10(0x947,_0x181f91._0x28a3c8)]);break;case 0x4b:case 0x65:this['moveCamera'](MoveType['NARROW']);break;case 0x4a:case 0x64:this[_0x502dfa(0x15b5,0x1b6c)](MoveType['LEFT_ROTATE']);break;case 0x4c:case 0x66:this['moveCamera'](MoveType[_0x85fa10(0x14aa,_0x181f91._0x59a1f2)]);break;case 0x55:case 0x67:this[_0x502dfa(0x15b5,_0x181f91._0x208629)](MoveType['TOP_ROTATE']);break;case 0x4f:case 0x69:this[_0x85fa10(_0x181f91._0x327ae1,0x15ef)](MoveType['BOTTOM_ROTATE']);break;}function _0x502dfa(_0x4eb253,_0x13e6f4){return _0x306755(_0x13e6f4,_0x4eb253- -0x292);}function _0x85fa10(_0x455e62,_0x531d6c){return _0x2b6441(_0x455e62,_0x531d6c-_0x4c62e0._0x753354);}return undefined;}['startMoveForward'](){const _0xd486d0={_0x2a58a9:0x502};function _0x1b9594(_0xe8f498,_0xc8820d){return _0x2b6441(_0xe8f498,_0xc8820d-_0xd486d0._0x2a58a9);}!this['enabled']&&(this['enabled']=!![]),this['flags'][_0x1b9594(0x1541,0x1006)]=!![];}[_0x306755(0xaae,0x818)](){!this['enabled']&&(this['enabled']=!![]);function _0x15a9ab(_0x50a441,_0xdd3ad0){return _0x2b6441(_0xdd3ad0,_0x50a441-0x486);}this[_0x15a9ab(0xef3,0x13b3)]['moveForward']=![];}['startMoveBackward'](){!this['enabled']&&(this['enabled']=!![]),this['flags']['moveBackward']=!![];}['stopMoveBackward'](){const _0x120772={_0x282447:0x1a96};function _0x358841(_0x4e2e9a,_0x500953){return _0x306755(_0x500953,_0x4e2e9a- -0xd9);}function _0x452950(_0x1c0d89,_0x11273b){return _0x2b6441(_0x1c0d89,_0x11273b-0x40f);}!this['enabled']&&(this[_0x452950(_0x120772._0x282447,0x113e)]=!![]),this['flags'][_0x452950(0x1b9e,0x1442)]=![];}['startMoveRight'](){const _0x51ceef={_0x1e6ee9:0xe80},_0x4e77d5={_0xd4a13:0x18e};function _0x7df117(_0x27b54f,_0x200945){return _0x306755(_0x27b54f,_0x200945- -_0x4e77d5._0xd4a13);}!this['enabled']&&(this['enabled']=!![]),this[_0x7df117(0x4e9,_0x51ceef._0x1e6ee9)]['moveRight']=!![];}[_0x2b6441(-0xd0,0x14b)](){const _0x299286={_0x1849cc:0x119d},_0x2e5366={_0x1d6b31:0x14f};function _0x5417cb(_0x213029,_0x52b91d){return _0x306755(_0x213029,_0x52b91d-_0x2e5366._0x1d6b31);}!this['enabled']&&(this['enabled']=!![]),this['flags'][_0x5417cb(0x1807,_0x299286._0x1849cc)]=![];}[_0x306755(0x4aa,0x728)](){const _0x4d0827={_0x3c779a:0xcf5},_0x48362c={_0x3f53ba:0x21};!this[_0x504238(_0x4d0827._0x3c779a,0x9ce)]&&(this['enabled']=!![]);function _0x2eab62(_0x119cd0,_0xacdd07){return _0x2b6441(_0xacdd07,_0x119cd0-_0x48362c._0x3f53ba);}function _0x504238(_0x1961e2,_0x360098){return _0x306755(_0x360098,_0x1961e2- -0x5db);}this['flags'][_0x504238(0x13dc,0xdbd)]=!![];}['stopMoveLeft'](){const _0x493fcf={_0x3b65dc:0x16bf,_0x518edb:0x162b};function _0xa6d4a5(_0x70458e,_0x4110a2){return _0x306755(_0x70458e,_0x4110a2- -0x38c);}function _0x2af7e8(_0xd17e94,_0x4e3eec){return _0x2b6441(_0xd17e94,_0x4e3eec-0x4a5);}!this['enabled']&&(this[_0x2af7e8(0x1b5f,0x11d4)]=!![]),this['flags'][_0xa6d4a5(_0x493fcf._0x3b65dc,_0x493fcf._0x518edb)]=![];}[_0x2b6441(0x980,0xb04)](_0x2c6e2b){const _0x474be0={_0x38cf90:0x45f,_0x54b68f:0x34b,_0x5250f9:0x308};function _0x1c547f(_0x2eb6f2,_0x5d59d8){return _0x2b6441(_0x2eb6f2,_0x5d59d8- -0x6d);}const _0x5ae7f2=this['_map']['camera'];let _0x163124=_0x5ae7f2['direction'];const _0x3a7067=Cesium__namespace[_0x1c547f(-0x346,0x413)]['normalize'](_0x5ae7f2['position'],new Cesium__namespace['Cartesian3']()),_0x476a10=Cesium__namespace['Cartesian3'][_0x1c547f(_0x474be0._0x38cf90,0xaf5)](_0x163124,_0x3a7067,new Cesium__namespace[(_0x1c547f(0xaa0,0x413))]());_0x163124=Cesium__namespace[_0x1c547f(-_0x474be0._0x54b68f,0x413)]['cross'](_0x3a7067,_0x476a10,new Cesium__namespace['Cartesian3']()),_0x163124=Cesium__namespace['Cartesian3'][_0x1c547f(-0x4d0,0x139)](_0x163124,_0x163124),_0x163124=Cesium__namespace[_0x4c097b(0x752,_0x474be0._0x5250f9)][_0x1c547f(0x1073,0xe9a)](_0x163124,_0x2c6e2b,_0x163124);function _0x4c097b(_0x5e6f0d,_0x174568){return _0x306755(_0x174568,_0x5e6f0d- -0x2cf);}_0x5ae7f2['position']=Cesium__namespace['Cartesian3']['add'](_0x5ae7f2['position'],_0x163124,_0x5ae7f2['position']);}[_0x2b6441(0x86,0x38)](_0x483300){const _0x28c25c={_0x1cdded:0x1969,_0x2a2d0d:0x115c,_0x5ce412:0xcb7},_0x133aac={_0x932cb9:0x478};if(!this['enabled'])return;const _0x80c045=this[_0x242db0(0xf7d,0x18dd)][_0x242db0(_0x28c25c._0x1cdded,0x115c)],_0x30e289=this['moveStep'];this['flags'][_0x4d8809(0xc2d,0x1023)]&&this['moveForward'](_0x30e289);this[_0x4d8809(0xb96,0xaad)][_0x4d8809(_0x28c25c._0x2a2d0d,0x1b43)]&&this['moveForward'](-_0x30e289);this['flags']['moveUp']&&_0x80c045[_0x4d8809(0x34c,_0x28c25c._0x5ce412)](_0x30e289);this['flags']['moveDown']&&(_0x80c045['positionCartographic']['height']-_0x30e289>=this['minHeight']&&_0x80c045['moveDown'](_0x30e289));this[_0x242db0(0x95d,0x1122)]['moveLeft']&&_0x80c045['moveLeft'](_0x30e289);function _0x242db0(_0x2667a5,_0xb509ac){return _0x306755(_0x2667a5,_0xb509ac-0x114);}function _0x4d8809(_0x4b7190,_0xbbfc6e){return _0x306755(_0xbbfc6e,_0x4b7190- -_0x133aac._0x932cb9);}this['flags']['moveRight']&&_0x80c045[_0x4d8809(0xbd6,0x69e)](_0x30e289);}['_resetCamera'](_0x41474b){const _0x24c2cf={_0x2d3ece:0xad0,_0xd3139a:0xc73,_0x36f224:0xe22,_0x3da692:0x690};function _0xc415ed(_0x69727f,_0x4be202){return _0x306755(_0x4be202,_0x69727f- -0x3d5);}function _0x4b667d(_0x2bfc0b,_0x5b2cf0){return _0x306755(_0x2bfc0b,_0x5b2cf0- -0x499);}if(!_0x41474b)return;this[_0xc415ed(0x13f4,_0x24c2cf._0x2d3ece)]['scene'][_0xc415ed(_0x24c2cf._0xd3139a,0x965)][_0xc415ed(_0x24c2cf._0x36f224,0x1232)]=_0x41474b[_0x4b667d(0x65b,0xd5e)],this['_map']['scene']['camera'][_0x4b667d(0x1b37,0x10a2)]=_0x41474b['direction'],this['_map']['scene']['camera']['right']=_0x41474b['right'],this['_map'][_0xc415ed(_0x24c2cf._0x3da692,0xdc5)]['camera']['up']=_0x41474b['up'];}[_0x306755(0x1df1,0x190a)](_0xdff273,_0x25e5c3,_0x551c7c){const _0x2d7c2c={_0x1d0885:0xfcf,_0x169c53:0x712,_0x78e85:0x603,_0x30d5f8:0xc0e,_0x9ef682:0x8f2,_0x5d08e5:0xe79,_0x114ad2:0x569,_0x5a057c:0xedd,_0x2a426b:0x712,_0x218ddf:0x1288,_0x28e72d:0x105e,_0x2fc924:0x40b,_0x3c1367:0x72c},_0x24b40d={_0x1a87cf:0x632},_0x235f0e={_0x4c0827:0x30f},_0x3e5250=_0xdff273[_0x22da09(_0x2d7c2c._0x1d0885,0x1288)],_0x3b98f4=this['_map']['getCenter']();if(!_0x3b98f4)return;const _0x23cbf1=_0x3b98f4['toCartesian']();if(!_0x23cbf1)return;const _0x4e3593=Cesium__namespace[_0x42abb5(_0x2d7c2c._0x169c53,_0x2d7c2c._0x78e85)][_0x42abb5(_0x2d7c2c._0x30d5f8,0x2bb)](_0x23cbf1,_0x3e5250);function _0x42abb5(_0x3fca6d,_0x9ff2d0){return _0x306755(_0x9ff2d0,_0x3fca6d- -_0x235f0e._0x4c0827);}let _0x5f2802=_0x4e3593/0x64;_0x5f2802=_0x551c7c?_0x5f2802*this[_0x22da09(_0x2d7c2c._0x9ef682,0x8d8)]:_0x5f2802;const _0xf55ee6={};let _0x3c8668=new Cesium__namespace[(_0x42abb5(_0x2d7c2c._0x5d08e5,0x560))](_0x3e5250,_0x25e5c3);_0xf55ee6['position']=Cesium__namespace['Ray'][_0x42abb5(0x44d,-_0x2d7c2c._0x114ad2)](_0x3c8668,_0x5f2802),_0xf55ee6[_0x22da09(_0x2d7c2c._0x5a057c,0x15cc)]=_0xdff273['direction'];function _0x22da09(_0x107343,_0x4ae874){return _0x2b6441(_0x107343,_0x4ae874-_0x24b40d._0x1a87cf);}_0xf55ee6['right']=_0xdff273['right'],_0xf55ee6['up']=_0xdff273['up'];if(_0x551c7c){const _0x211047=Cesium__namespace[_0x42abb5(_0x2d7c2c._0x2a426b,0x9d2)]['normalize'](Cesium__namespace['Cartesian3']['subtract'](_0xf55ee6[_0x22da09(0x14d7,_0x2d7c2c._0x218ddf)],_0x23cbf1,new Cesium__namespace['Cartesian3']()),new Cesium__namespace['Cartesian3']());_0x3c8668=new Cesium__namespace[(_0x42abb5(0xe79,0xbe4))](_0x23cbf1,_0x211047),_0xf55ee6[_0x22da09(_0x2d7c2c._0x28e72d,0x1288)]=Cesium__namespace['Ray'][_0x22da09(0xa46,0x7ed)](_0x3c8668,_0x4e3593),_0xf55ee6[_0x22da09(0x1c72,0x15cc)]=Cesium__namespace['Cartesian3']['negate'](_0x211047,new Cesium__namespace['Cartesian3']()),_0xf55ee6['up']=Cesium__namespace['Cartesian3'][_0x42abb5(0x438,_0x2d7c2c._0x2fc924)](_0xf55ee6[_0x22da09(0x1b4c,_0x2d7c2c._0x218ddf)],new Cesium__namespace['Cartesian3']()),_0xf55ee6['right']=Cesium__namespace['Cartesian3']['cross'](_0xf55ee6[_0x42abb5(0x122c,0x19ab)],_0xf55ee6['up'],new Cesium__namespace[(_0x42abb5(0x712,_0x2d7c2c._0x3c1367))]());}return _0xf55ee6;}['moveCamera'](_0x3467de){const _0x5bb577={_0x3b021e:0x11d0,_0x43ebdb:0x525,_0x4795c0:0x1762,_0x45cccf:0xaf7,_0x44705e:0x428,_0x1e35ae:0x1061,_0x519402:0x130c,_0x4f6715:0x813,_0x255d94:0x88},_0x3cc3e3={_0x5a773c:0x58},_0x2be949=this[_0x15856f(0x19d4,_0x5bb577._0x3b021e)]['scene'][_0x15856f(0xc00,0xa4f)];function _0x15856f(_0x1a9fdc,_0x3c60cc){return _0x2b6441(_0x1a9fdc,_0x3c60cc- -_0x3cc3e3._0x5a773c);}let _0x5cd2cd;switch(_0x3467de){case MoveType['NARROW']:_0x5cd2cd=this['_computedNewPos'](_0x2be949,Cesium__namespace[_0x15856f(-_0x5bb577._0x43ebdb,0x428)]['negate'](_0x2be949[_0x15856f(_0x5bb577._0x4795c0,0xf42)],new Cesium__namespace['Cartesian3']()));break;case MoveType[_0x561630(0x4df,0xc5f)]:_0x5cd2cd=this['_computedNewPos'](_0x2be949,Cesium__namespace[_0x561630(_0x5bb577._0x45cccf,0x68f)]['negate'](_0x2be949['right'],new Cesium__namespace[(_0x15856f(0x217,_0x5bb577._0x44705e))]()),!![]);break;case MoveType['RIGHT_ROTATE']:_0x5cd2cd=this['_computedNewPos'](_0x2be949,_0x2be949['right'],!![]);break;case MoveType['TOP_ROTATE']:if(_0x2be949['pitch']this[_0x561630(0x125e,0x11f2)])return;_0x5cd2cd=this['_computedNewPos'](_0x2be949,Cesium__namespace['Cartesian3']['negate'](_0x2be949['up'],new Cesium__namespace['Cartesian3']()),!![]);break;case MoveType[_0x561630(_0x5bb577._0x255d94,0x5dc)]:default:_0x5cd2cd=this['_computedNewPos'](_0x2be949,_0x2be949['direction']);break;}function _0x561630(_0x245162,_0x4cf6c0){return _0x306755(_0x245162,_0x4cf6c0- -0x392);}if(!_0x5cd2cd)return;this['_resetCamera'](_0x5cd2cd);}['rotateCamera'](_0x6a8df5){const _0x511618={_0x26e0f0:0xb9a,_0x447785:0x5ff,_0x6354ae:0x1a31,_0x49ee95:0xc3f,_0x3f0264:0xcda,_0x232361:0xf74,_0x53edac:0xf07,_0x5315e9:0xb56,_0x19a411:0x993,_0x35cfdc:0x9ae,_0x271a85:0x763,_0x3d9f81:0x1090,_0x44dbd1:0x18d8,_0x16c2c7:0x17dc},_0x580517={_0x4de8f6:0x52e};function _0x38cb93(_0xf4f50c,_0x2ca488){return _0x2b6441(_0x2ca488,_0xf4f50c-_0x580517._0x4de8f6);}const _0x59979b=this[_0x4f4af8(0x18fe,0x21c0)]['camera'];let _0x441205=[0x0,0x0];const _0x1088ba=this['_map'][_0x4f4af8(0xb9a,0xc03)][_0x4f4af8(0x885,0xc92)]['clientWidth'],_0x41d5fd=this[_0x4f4af8(0x18fe,0x12af)][_0x4f4af8(_0x511618._0x26e0f0,_0x511618._0x447785)]['canvas']['clientHeight'],_0xa05255=(_0x1088ba+_0x41d5fd)/this[_0x38cb93(0xacd,0xb65)];switch(_0x6a8df5){case MoveType['LEFT_ROTATE']:_0x441205=[-_0xa05255*_0x1088ba/_0x41d5fd,0x0];break;case MoveType[_0x4f4af8(0x12a1,_0x511618._0x6354ae)]:_0x441205=[_0xa05255*_0x1088ba/_0x41d5fd,0x0];break;case MoveType['TOP_ROTATE']:if(_0x59979b['pitch']>this['_maxPitch'])return;_0x441205=[0x0,_0xa05255];break;case MoveType[_0x38cb93(0x162b,_0x511618._0x49ee95)]:if(_0x59979b[_0x4f4af8(_0x511618._0x3f0264,_0x511618._0x232361)]0x0;},'callback':function(_0x2a8eca){downloadFile('图上标记.json',JSON['stringify'](_0x427cf1['graphicLayer']['toGeoJSON']()));}},{'text':function(){function _0x2ada38(_0x3a5d70,_0x24a584){return _0x14baa5(_0x3a5d70,_0x24a584- -0x159);}function _0x150f19(_0x5384f9,_0x523edf){return _0x14baa5(_0x5384f9,_0x523edf- -0x593);}return _0x427cf1[_0x2ada38(0x16ba,_0x3dd61a._0xe17ce4)](_0x2ada38(0xe55,0x165a));},'icon':Icon[_0x214af5(0x1e7e,0x161a)],'show':function(_0x16fbc2){function _0xfd6bed(_0x21cfcf,_0xa053be){return _0x14baa5(_0x21cfcf,_0xa053be- -_0x43c6d7._0x196c4d);}return _0x427cf1['graphicLayer'][_0xfd6bed(0x1d35,0x137a)]>0x0;},'callback':function(_0x37bab6){function _0x2bb49a(_0x481bd5,_0x5c9180){return _0x214af5(_0x481bd5,_0x5c9180-_0x32a635._0x25e3b6);}_0x427cf1['graphicLayer'][_0x2bb49a(_0x352a0a._0x21f162,0x622)]();}}]},{'text':function(){return _0x427cf1['getLangText']('_特效效果');},'icon':Icon['Effect'],'children':[{'text':function(){function _0x230ea6(_0x4244c4,_0x95f0c){return _0x214af5(_0x4244c4,_0x95f0c-0x4ac);}return _0x427cf1['getLangText'](_0x230ea6(0x3ba,_0x51add5._0x39369c));},'icon':Icon['RainEffectYes'],'show':function(_0x5405fe){return!_0x559659['rainEffect'];},'callback':function(_0x178e91){function _0x2502e9(_0x1aada7,_0x4ff5bf){return _0x214af5(_0x1aada7,_0x4ff5bf- -0x78);}!_0x559659['rainEffect']&&(_0x559659[_0x2502e9(0x6e8,0xac0)]=new RainEffect(),_0x427cf1['addEffect'](_0x559659['rainEffect']));}},{'text':function(){const _0x3dcf8d={_0x2b445c:0x29};function _0x2901df(_0x4945ae,_0x10a35c){return _0x14baa5(_0x10a35c,_0x4945ae- -_0x3dcf8d._0x2b445c);}return _0x427cf1[_0x2901df(0xd79,0x94c)]('_关闭下雨');},'icon':Icon[_0x14baa5(_0x3f05a2._0xf25a7f,_0x3f05a2._0x3abe19)],'show':function(_0x3e55dc){return _0x559659['rainEffect'];},'callback':function(_0x463ec8){function _0x13c96f(_0x15bf05,_0x116160){return _0x14baa5(_0x15bf05,_0x116160- -0x5bb);}function _0x37e6de(_0x3ca887,_0x536125){return _0x214af5(_0x3ca887,_0x536125-0xf1);}_0x559659[_0x37e6de(0x15b3,_0x45c5cd._0x1fc0a0)]&&(_0x427cf1['removeEffect'](_0x559659['rainEffect'],!![]),delete _0x559659[_0x37e6de(0x52a,0xc29)]);}},{'text':function(){return _0x427cf1['getLangText']('_开启下雪');},'icon':Icon[_0x14baa5(0x1582,0x157c)],'show':function(_0xfbb1b3){const _0x2ffb50={_0x5141e8:0x10c};function _0xc08136(_0x5e59da,_0x28786b){return _0x214af5(_0x5e59da,_0x28786b-_0x2ffb50._0x5141e8);}return!_0x559659[_0xc08136(0x1ca,0x5b9)];},'callback':function(_0x139ccb){function _0x4e1ae3(_0x14d174,_0x4131ec){return _0x214af5(_0x4131ec,_0x14d174- -0x1e0);}!_0x559659['snowEffect']&&(_0x559659['snowEffect']=new SnowEffect(),_0x427cf1[_0x4e1ae3(0x11dc,0xa11)](_0x559659['snowEffect']));}},{'text':function(){function _0x4f9757(_0xb4ab64,_0x3df1b1){return _0x14baa5(_0xb4ab64,_0x3df1b1- -0x382);}return _0x427cf1[_0x4f9757(_0x304dc._0x19c119,_0x304dc._0xa677b7)]('_关闭下雪');},'icon':Icon[_0x14baa5(0x1d8d,0x14d1)],'show':function(_0x35463f){function _0x1cd76b(_0x130802,_0x5a3df2){return _0x214af5(_0x5a3df2,_0x130802-0x1a9);}return _0x559659[_0x1cd76b(0x656,-0xfa)];},'callback':function(_0x71f2d0){function _0x54cfc8(_0x5bf9ef,_0x17a2b0){return _0x214af5(_0x17a2b0,_0x5bf9ef-_0x1a27fb._0x3b5593);}function _0x3cc5c6(_0x7d50f1,_0x8e35c){return _0x14baa5(_0x7d50f1,_0x8e35c- -0x4ba);}_0x559659[_0x3cc5c6(0x29b,0x367)]&&(_0x427cf1[_0x3cc5c6(-0x2a2,_0x182d08._0x362d60)](_0x559659['snowEffect'],!![]),delete _0x559659['snowEffect']);}},{'text':function(){return _0x427cf1['getLangText']('_开启雾天气');},'icon':Icon[_0x214af5(0xdb6,0x1697)],'show':function(_0x52ea10){function _0xbce338(_0x2ecf8f,_0x386e18){return _0x14baa5(_0x386e18,_0x2ecf8f-0x62);}return!_0x559659[_0xbce338(0xf22,0xcef)];},'callback':function(_0x396e16){function _0x31fbc1(_0x425708,_0x51ee92){return _0x14baa5(_0x51ee92,_0x425708- -0xbc);}function _0x3260ef(_0x505341,_0x588700){return _0x14baa5(_0x588700,_0x505341- -_0x2bdfb3._0xd667bd);}if(!_0x559659[_0x3260ef(_0x458eeb._0x50131f,0x1410)]){const _0x17d265=_0x427cf1['camera']['positionCartographic']['height']*0x2;_0x559659[_0x31fbc1(_0x458eeb._0x3e5b1e,0x1086)]=new FogEffect({'fogByDistance':new Cesium__namespace['Cartesian4'](0.1*_0x17d265,0.1,_0x17d265,0.8)}),_0x427cf1['addEffect'](_0x559659['fogEffect']);}}},{'text':function(){const _0x2138cf={_0x15f8a9:0xde};function _0x232268(_0x31b8d8,_0x3739e8){return _0x14baa5(_0x3739e8,_0x31b8d8-_0x2138cf._0x15f8a9);}return _0x427cf1[_0x232268(_0x83d76b._0x3ec22c,0x11e8)]('_关闭雾天气');},'icon':Icon['FogEffectNo'],'show':function(_0x142c35){return _0x559659['fogEffect'];},'callback':function(_0x25cd07){_0x559659['fogEffect']&&(_0x427cf1['removeEffect'](_0x559659['fogEffect'],!![]),delete _0x559659['fogEffect']);}},{'text':function(){return _0x427cf1['getLangText']('_开启泛光');},'icon':Icon[_0x14baa5(_0x3f05a2._0x1b9300,_0x3f05a2._0x55013c)],'show':function(_0x3ee1ef){function _0x4a1d9c(_0x302223,_0x771e5d){return _0x214af5(_0x302223,_0x771e5d- -_0x9a8d9c._0x5e2863);}return!_0x559659[_0x4a1d9c(0xf1,_0x20da08._0x5c9586)];},'callback':function(_0x5848c9){const _0x2b46fa={_0x1b468c:0x17c};function _0x4cf07d(_0x4db74f,_0x585f5d){return _0x214af5(_0x585f5d,_0x4db74f- -_0x2b46fa._0x1b468c);}function _0x115aad(_0x56cde8,_0x4bd2a0){return _0x214af5(_0x56cde8,_0x4bd2a0- -0xd1);}!_0x559659['bloomEffect']&&(_0x559659[_0x4cf07d(0x10a,-_0x5daa2b._0x413538)]=new BloomEffect(),_0x427cf1[_0x115aad(_0x5daa2b._0x455cac,0x12eb)](_0x559659[_0x115aad(0xabf,_0x5daa2b._0x38a877)]));}},{'text':function(){function _0x12897f(_0x17d589,_0x12441a){return _0x214af5(_0x12441a,_0x17d589- -0x68);}return _0x427cf1['getLangText'](_0x12897f(0x498,_0x70632._0x8a2e15));},'icon':Icon[_0x214af5(-0x714,_0x3f05a2._0x308833)],'show':function(_0x2a6c3c){function _0x15c2a1(_0x3bc190,_0x1250ca){return _0x214af5(_0x1250ca,_0x3bc190-_0xf1f9bb._0x533657);}return _0x559659[_0x15c2a1(0x435,0x8a1)];},'callback':function(_0x5158e1){function _0x2b009e(_0x4da04f,_0x7add7d){return _0x14baa5(_0x7add7d,_0x4da04f- -0x1b3);}function _0x1bc150(_0x42cf08,_0x2104a7){return _0x214af5(_0x42cf08,_0x2104a7- -0xaa);}_0x559659['bloomEffect']&&(_0x427cf1[_0x2b009e(_0x2eb778._0xddc768,_0x2eb778._0x15be7d)](_0x559659[_0x2b009e(_0x2eb778._0x4bf7d9,-_0x2eb778._0x53ed5f)],!![]),delete _0x559659['bloomEffect']);}},{'text':function(){const _0x257cc9={_0x559f05:0xea};function _0x595f23(_0x3aee67,_0x319ec0){return _0x214af5(_0x3aee67,_0x319ec0-_0x257cc9._0x559f05);}return _0x427cf1['getLangText'](_0x595f23(_0x2809ad._0x51fc84,0x1655));},'icon':Icon['BrightnessEffectYes'],'show':function(_0x45cb3b){return!_0x559659['brightnessEffect'];},'callback':function(_0x248ff8){const _0x19d52d={_0x4baaa4:0x15e};function _0x2b8a07(_0x5b0b53,_0x6ffa4c){return _0x14baa5(_0x6ffa4c,_0x5b0b53- -0x563);}function _0x4cbfdd(_0xc5b95e,_0x16e363){return _0x214af5(_0xc5b95e,_0x16e363- -_0x19d52d._0x4baaa4);}!_0x559659[_0x4cbfdd(-0x593,_0x3df625._0x35094c)]&&(_0x559659['brightnessEffect']=new BrightnessEffect(),_0x427cf1[_0x2b8a07(0x11cd,0xee3)](_0x559659['brightnessEffect']));}},{'text':function(){function _0x2447b8(_0x2204d3,_0x5d3e9c){return _0x14baa5(_0x2204d3,_0x5d3e9c- -0x63);}function _0x56507e(_0x4698e3,_0xf16884){return _0x214af5(_0x4698e3,_0xf16884- -0x138);}return _0x427cf1[_0x56507e(_0x4ffed3._0x51364e,0x8f6)](_0x2447b8(_0x4ffed3._0xe9ee58,_0x4ffed3._0x3a3cd1));},'icon':Icon[_0x214af5(_0x3f05a2._0xf648e,0x14fb)],'show':function(_0x1d8b5d){function _0x5ba92e(_0x8298ed,_0x215533){return _0x214af5(_0x215533,_0x8298ed-_0x19d7eb._0x2ca996);}return _0x559659[_0x5ba92e(0x60e,0x52b)];},'callback':function(_0x14f3e0){const _0x3ba40d={_0x50d5bd:0xc};function _0xe4bb4a(_0x281e68,_0x2331b9){return _0x14baa5(_0x2331b9,_0x281e68-_0x3ba40d._0x50d5bd);}function _0x3999ed(_0xbb1e11,_0xb46c93){return _0x214af5(_0xbb1e11,_0xb46c93- -0x61);}_0x559659['brightnessEffect']&&(_0x427cf1[_0xe4bb4a(0x8b7,0xd05)](_0x559659[_0x3999ed(-_0x5d4f15._0x17f597,0x524)],!![]),delete _0x559659['brightnessEffect']);}},{'text':function(){return _0x427cf1['getLangText']('_开启夜视');},'icon':Icon['NightVisionEffectYes'],'show':function(_0xa9484f){function _0x52708d(_0x294955,_0x50a36b){return _0x214af5(_0x50a36b,_0x294955- -0x28e);}return!_0x559659[_0x52708d(_0x2e8813._0xd6f3a2,0x75f)];},'callback':function(_0x1c296f){function _0x1ac575(_0x53421a,_0x12ce80){return _0x14baa5(_0x12ce80,_0x53421a-0xd2);}!_0x559659[_0x1ac575(0x1286,0xf8c)]&&(_0x559659['nightVisionEffect']=new NightVisionEffect(),_0x427cf1['addEffect'](_0x559659['nightVisionEffect']));}},{'text':function(){return _0x427cf1['getLangText']('_关闭夜视');},'icon':Icon['NightVisionEffectNo'],'show':function(_0x1a76e0){function _0x35a4b1(_0x285173,_0x15140a){return _0x214af5(_0x285173,_0x15140a- -0x10c);}return _0x559659[_0x35a4b1(0xeab,0xd34)];},'callback':function(_0xd3a81f){function _0xf4e06f(_0x1fb187,_0x1b86fa){return _0x14baa5(_0x1b86fa,_0x1fb187-0x123);}function _0x3112dd(_0x40960a,_0x83eb9f){return _0x14baa5(_0x40960a,_0x83eb9f- -0xdd);}_0x559659['nightVisionEffect']&&(_0x427cf1[_0x3112dd(0xc74,0x7ce)](_0x559659['nightVisionEffect'],!![]),delete _0x559659[_0x3112dd(0x12ee,0x10d7)]);}},{'text':function(){return _0x427cf1['getLangText']('_开启黑白');},'icon':Icon['BlackAndWhiteEffectYes'],'show':function(_0x5143f7){return!_0x559659['blackAndWhiteEffect'];},'callback':function(_0x357091){function _0x3a7e7c(_0x120e4c,_0x2569e3){return _0x14baa5(_0x2569e3,_0x120e4c- -0x10d);}function _0x3bbb98(_0x4afa24,_0x141cca){return _0x14baa5(_0x4afa24,_0x141cca- -0x127);}!_0x559659[_0x3bbb98(_0x2b66d1._0x4b40be,0x535)]&&(_0x559659['blackAndWhiteEffect']=new BlackAndWhiteEffect(),_0x427cf1[_0x3a7e7c(0x1623,_0x2b66d1._0x1d47eb)](_0x559659[_0x3a7e7c(0x54f,-_0x2b66d1._0x4793ff)]));}},{'text':function(){function _0xdca071(_0x3e9e00,_0x3e2796){return _0x214af5(_0x3e9e00,_0x3e2796- -0x1f2);}return _0x427cf1[_0xdca071(0xaaa,0x83c)]('_关闭黑白');},'icon':Icon[_0x14baa5(-0xc5,_0x3f05a2._0x408716)],'show':function(_0x5d599f){function _0xe730e9(_0x552f45,_0xe4d036){return _0x14baa5(_0x552f45,_0xe4d036-0xcb);}return _0x559659[_0xe730e9(0xd63,_0xd65867._0x4f7dca)];},'callback':function(_0x5e31be){function _0x40c6c8(_0x17fc8c,_0x4c5c30){return _0x14baa5(_0x4c5c30,_0x17fc8c- -_0x581cd7._0x1cc6b6);}function _0x55b541(_0xdc43d8,_0x2ad242){return _0x14baa5(_0xdc43d8,_0x2ad242- -0x3f4);}_0x559659['blackAndWhiteEffect']&&(_0x427cf1[_0x40c6c8(0x629,_0x5523b8._0x4472ef)](_0x559659[_0x40c6c8(0x3da,0x1b2)],!![]),delete _0x559659[_0x40c6c8(_0x5523b8._0x246453,0x5e0)]);}},{'text':function(){const _0x47ced8={_0x352c66:0x38b};function _0x2bfe8e(_0x4b6a21,_0x2f1a52){return _0x14baa5(_0x2f1a52,_0x4b6a21- -_0x47ced8._0x352c66);}return _0x427cf1['getLangText'](_0x2bfe8e(_0x384228._0x3f0825,_0x384228._0x22745e));},'icon':Icon['OutlineEffectYes'],'show':function(_0x53e658){return!_0x559659['outlineEffect'];},'callback':function(_0x1ccb2a){function _0x120d59(_0x3bd1b5,_0x572ff1){return _0x214af5(_0x3bd1b5,_0x572ff1- -0x1df);}function _0xb8cc81(_0x26e50f,_0x154c03){return _0x14baa5(_0x26e50f,_0x154c03- -_0x216499._0x34a838);}!_0x559659[_0x120d59(_0xc2e3ae._0x2b56a8,0xc13)]&&(_0x559659['outlineEffect']=new OutlineEffect(),_0x427cf1['addEffect'](_0x559659[_0x120d59(0x126a,0xc13)]));}},{'text':function(){function _0x2fd0fe(_0xe988d4,_0x2d2080){return _0x14baa5(_0x2d2080,_0xe988d4- -0x9a);}return _0x427cf1[_0x2fd0fe(_0x3b9566._0x17b7d7,0x100c)]('_关闭拾取高亮');},'icon':Icon[_0x214af5(0x1a5,0x436)],'show':function(_0x58a9f6){function _0x2c96a2(_0xf1d61c,_0x8f7ce8){return _0x14baa5(_0xf1d61c,_0x8f7ce8- -_0x4ae8d2._0x163536);}return _0x559659[_0x2c96a2(_0x1bea9f._0x3bf4c8,0xf94)];},'callback':function(_0x1d68d8){function _0x1846f7(_0x5c2e07,_0x5afaa4){return _0x214af5(_0x5afaa4,_0x5c2e07-0x1dc);}function _0x174b0e(_0x2b7bb2,_0x4e51c3){return _0x14baa5(_0x4e51c3,_0x2b7bb2- -0x45);}_0x559659['outlineEffect']&&(_0x427cf1[_0x1846f7(0x713,_0x1e58d5._0x564d2c)](_0x559659[_0x174b0e(0x1121,0xc59)],!![]),delete _0x559659[_0x1846f7(_0x1e58d5._0x24c7d1,_0x1e58d5._0x1e9ad9)]);}}]},{'text':function(){const _0x1aba8a={_0x3e1752:0x42e};function _0x16bdc0(_0x16aad5,_0x25c34b){return _0x14baa5(_0x16aad5,_0x25c34b- -_0x1aba8a._0x3e1752);}return _0x427cf1[_0x16bdc0(0x1051,0x974)]('_场景设置');},'icon':Icon['Scene'],'children':[{'text':function(){function _0x1a99d3(_0x4e3d89,_0x547e2b){return _0x14baa5(_0x547e2b,_0x4e3d89- -0x4f);}return _0x427cf1[_0x1a99d3(_0x5e967e._0x42aefb,0x1749)]('_开启深度监测');},'icon':Icon['DepthTestYes'],'show':function(_0x2fa886){function _0x403015(_0x33cd07,_0x4ddb2e){return _0x14baa5(_0x33cd07,_0x4ddb2e- -0x238);}return!_0x427cf1['scene'][_0x403015(0x1778,0x12ed)]['depthTestAgainstTerrain'];},'callback':function(_0x537b8f){function _0x402734(_0x478046,_0x337d74){return _0x14baa5(_0x337d74,_0x478046- -_0x4ec1ec._0x35e19a);}function _0x33fe2a(_0x1f7c4d,_0x5091bc){return _0x14baa5(_0x5091bc,_0x1f7c4d- -0x5c8);}_0x427cf1[_0x402734(0x6ec,_0x26783e._0x35c1e7)][_0x402734(_0x26783e._0x7eb2da,_0x26783e._0x86ba2)]['depthTestAgainstTerrain']=!![];}},{'text':function(){function _0x10592b(_0x16baaa,_0x539d17){return _0x214af5(_0x539d17,_0x16baaa- -0x233);}function _0x4132e2(_0x5f1c21,_0x5b6fbd){return _0x14baa5(_0x5f1c21,_0x5b6fbd- -0x167);}return _0x427cf1[_0x4132e2(0x37c,_0x1ebd3a._0x4b9ec1)](_0x10592b(0xb6d,0x1472));},'icon':Icon['DepthTestNo'],'show':function(_0x2ae73c){function _0x2ac91d(_0x5dbcb4,_0x20338d){return _0x14baa5(_0x5dbcb4,_0x20338d- -_0xe7e4cf._0x1e8729);}return _0x427cf1['scene'][_0x2ac91d(_0x2cf974._0x4b60a2,0xe95)]['depthTestAgainstTerrain'];},'callback':function(_0x499a11){const _0x59a060={_0x26c2dd:0x1b4};function _0x1757a8(_0x4b0ab9,_0x509798){return _0x214af5(_0x509798,_0x4b0ab9-_0x59a060._0x26c2dd);}_0x427cf1[_0x1757a8(_0xf473b._0x1814ba,_0xf473b._0x59925f)]['globe']['depthTestAgainstTerrain']=![];}},{'text':function(){const _0x4c136d={_0x5592ee:0x541};function _0x17b716(_0x4a786c,_0x57b1d4){return _0x14baa5(_0x4a786c,_0x57b1d4- -_0x4c136d._0x5592ee);}return _0x427cf1['getLangText'](_0x17b716(0x539,_0x243bc1._0x4b6c21));},'icon':Icon[_0x214af5(_0x3f05a2._0x1c9462,0xa84)],'show':function(_0x226b12){var _0x250e33;function _0x45b66c(_0xf057d8,_0x16b243){return _0x14baa5(_0xf057d8,_0x16b243- -0x619);}function _0x559594(_0x2633d3,_0x249a70){return _0x214af5(_0x2633d3,_0x249a70- -0x2d1);}return!((_0x250e33=_0x427cf1[_0x559594(-_0x4bc976._0x440721,_0x4bc976._0x2ca514)]['skyBox'])!==null&&_0x250e33!==void 0x0&&_0x250e33[_0x559594(0xe20,_0x4bc976._0x20344d)]);},'callback':function(_0x2afdf2){function _0x101b52(_0x59f2a8,_0x35e9ea){return _0x214af5(_0x59f2a8,_0x35e9ea- -0x1d5);}_0x427cf1['scene']['skyBox'][_0x101b52(0x18fc,0x107f)]=!![],_0x427cf1[_0x101b52(0x9c0,_0x1df223._0x2bed6c)][_0x445b25(0xbc0,_0x1df223._0x26ec93)]['show']=!![];function _0x445b25(_0x28d127,_0x23f125){return _0x214af5(_0x23f125,_0x28d127-_0x3d3ba8._0xbdfa6b);}_0x427cf1[_0x101b52(_0x1df223._0x3f1ad4,0x551)][_0x445b25(0xa84,0xae7)]['show']=!![];}},{'text':function(){return _0x427cf1['getLangText']('_关闭星空背景');},'icon':Icon['SkyBoxNo'],'show':function(_0x35db9d){var _0x1e3142;function _0x22a3c3(_0x2266f1,_0x13a7b6){return _0x214af5(_0x2266f1,_0x13a7b6-_0x176377._0x511c85);}function _0xe26d62(_0x1bb103,_0x17e4c9){return _0x14baa5(_0x1bb103,_0x17e4c9- -0x1f0);}return(_0x1e3142=_0x427cf1['scene'][_0xe26d62(0xe02,_0x45d8e9._0x28aba7)])===null||_0x1e3142===void 0x0?void 0x0:_0x1e3142[_0x22a3c3(_0x45d8e9._0x4639a6,_0x45d8e9._0xa2fbd)];},'callback':function(_0x4817da){function _0x512a15(_0xec1963,_0x2ba562){return _0x214af5(_0xec1963,_0x2ba562-0x36c);}_0x427cf1['scene'][_0x512a15(0x1738,_0x270040._0x1062a7)]['show']=![],_0x427cf1[_0x512a15(_0x270040._0x295e83,_0x270040._0x465ac5)]['moon'][_0x512a15(_0x270040._0x37cb9c,0x15c0)]=![];function _0x3c01bd(_0x384093,_0x18de59){return _0x14baa5(_0x384093,_0x18de59- -0x634);}_0x427cf1[_0x512a15(_0x270040._0x2b18c0,0xa92)][_0x3c01bd(0x26e,0x6b8)][_0x512a15(_0x270040._0x20cea0,0x15c0)]=![];}},{'text':function(){return _0x427cf1['getLangText']('_开启日照阴影');},'icon':Icon['ShadowYes'],'show':function(_0xccd492){return!_0x427cf1['viewer']['shadows'];},'callback':function(_0x1b63b5){const _0x519738={_0x6831c3:0x64f},_0x4dde00={_0x4b85d0:0x109};function _0x3614ca(_0x528f1a,_0x38869f){return _0x214af5(_0x38869f,_0x528f1a-_0x4dde00._0x4b85d0);}function _0x1ef08f(_0x15f446,_0x5afa54){return _0x14baa5(_0x5afa54,_0x15f446- -_0x519738._0x6831c3);}_0x427cf1[_0x1ef08f(_0x58e32f._0xf08eb3,_0x58e32f._0x22c325)][_0x3614ca(_0x58e32f._0x3513e2,-0x41d)]=!![],_0x427cf1['viewer']['terrainShadows']=Cesium__namespace['ShadowMode'][_0x3614ca(0xa83,0x10d)],_0x427cf1['scene'][_0x3614ca(_0x58e32f._0x4e1660,_0x58e32f._0x515bdb)][_0x1ef08f(0x3c5,_0x58e32f._0x5222d3)]=!![];}},{'text':function(){function _0x31e926(_0x43dabe,_0x3acd59){return _0x14baa5(_0x43dabe,_0x3acd59- -0x3fa);}return _0x427cf1['getLangText'](_0x31e926(_0x5800a5._0x1a7631,0xe02));},'icon':Icon[_0x214af5(_0x3f05a2._0x333d91,0x625)],'show':function(_0x46f3d5){function _0x27f886(_0x2b09d8,_0x4234f8){return _0x14baa5(_0x4234f8,_0x2b09d8- -0x34e);}return _0x427cf1['viewer'][_0x27f886(0x2fe,-_0x4c51b3._0x4aff1c)];},'callback':function(_0x2358f0){const _0x100b5f={_0x4f2a7b:0x40e};function _0x4dc979(_0x47c798,_0x4764c4){return _0x214af5(_0x47c798,_0x4764c4-_0x100b5f._0x4f2a7b);}_0x427cf1['viewer']['shadows']=![],_0x427cf1['viewer'][_0x4dc979(0x223b,_0x428916._0x484c7a)]=Cesium__namespace['ShadowMode']['RECEIVE_ONLY'],_0x427cf1['scene']['globe']['enableLighting']=![];}},{'text':function(){function _0x45138d(_0x27a6b5,_0x5e1bcf){return _0x14baa5(_0x27a6b5,_0x5e1bcf- -0x23c);}function _0x23fdb6(_0xce8a1c,_0x44fa80){return _0x14baa5(_0x44fa80,_0xce8a1c-0x19);}return _0x427cf1[_0x23fdb6(_0x95e0a6._0xaac512,0xe81)](_0x23fdb6(0xb5a,0x10b7));},'icon':Icon['SkyAtmosphereYes'],'show':function(_0x919b0d){return _0x427cf1['scene']['skyAtmosphere']&&!_0x427cf1['scene']['skyAtmosphere']['show'];},'callback':function(_0x35a6bf){const _0x6cb05b={_0x5b0e24:0x3d7};function _0x15f3d3(_0x12ed3f,_0x2d9b49){return _0x14baa5(_0x12ed3f,_0x2d9b49- -_0x6cb05b._0x5b0e24);}function _0x2d2ded(_0x572633,_0x3e3786){return _0x214af5(_0x572633,_0x3e3786-_0x50e38b._0x2099af);}_0x427cf1[_0x15f3d3(-_0x2ad22b._0x58e748,_0x2ad22b._0x2e8c53)]['skyAtmosphere'][_0x2d2ded(_0x2ad22b._0x24aff0,_0x2ad22b._0x248249)]=!![],_0x427cf1[_0x2d2ded(0x1113,0x93d)][_0x2d2ded(0xcf9,0x13c8)]['showGroundAtmosphere']=!![];}},{'text':function(){function _0x4d2347(_0x4972bf,_0x5a04a7){return _0x14baa5(_0x5a04a7,_0x4972bf- -0x52f);}return _0x427cf1[_0x4d2347(_0x19746b._0x1c7524,-0x158)]('_关闭大气渲染');},'icon':Icon['SkyAtmosphereNo'],'show':function(_0x346b24){var _0x5cb2e5;return(_0x5cb2e5=_0x427cf1['scene']['skyAtmosphere'])===null||_0x5cb2e5===void 0x0?void 0x0:_0x5cb2e5['show'];},'callback':function(_0x46256d){const _0x39d724={_0x32c65e:0x156};_0x427cf1['scene'][_0x5bf0bd(0x3f1,-0x419)]['show']=![];function _0x5bf0bd(_0x2c3718,_0x37f464){return _0x214af5(_0x37f464,_0x2c3718-_0x39d724._0x32c65e);}function _0x30c926(_0x102170,_0x1e79b9){return _0x214af5(_0x1e79b9,_0x102170- -_0x3646b8._0x548161);}_0x427cf1[_0x30c926(0x44e,0x2d9)]['globe'][_0x30c926(_0x197b63._0x44ba4c,-0x9e)]=![];}},{'text':function(){const _0x2c962e={_0x32a598:0x17c};function _0xe0c7d0(_0x56c71b,_0x56e61c){return _0x214af5(_0x56c71b,_0x56e61c-0x1a5);}function _0x4df9a6(_0x12418b,_0x1a99fc){return _0x214af5(_0x12418b,_0x1a99fc- -_0x2c962e._0x32a598);}return _0x427cf1[_0xe0c7d0(0x7ea,0xbd3)](_0x4df9a6(0xbb2,0xcd4));},'icon':Icon['ExpImage'],'callback':function(_0xe30866){function _0x1e4b16(_0x5bc105,_0x2bdadf){return _0x14baa5(_0x5bc105,_0x2bdadf- -0x141);}_0x427cf1[_0x1e4b16(0x8a1,_0x5a20e4._0x3bb891)]();}}]}];}class TraversalDetails{constructor(){this['allAreRenderable']=!![],this['anyWereRenderedLastFrame']=![],this['notYetRenderableCount']=0x0;}}class TraversalQuadDetails{constructor(){const _0x194be2={_0x3d403f:0x286,_0x4bf81b:0x619},_0x375810={_0x1cbbae:0x34a};function _0x1366af(_0x18ba17,_0x293296){return _0x2b6441(_0x18ba17,_0x293296-0x528);}function _0x62601c(_0x52619c,_0x4b65a8){return _0x306755(_0x4b65a8,_0x52619c- -_0x375810._0x1cbbae);}this[_0x1366af(0x15e3,0x12f7)]=new TraversalDetails(),this[_0x1366af(_0x194be2._0x3d403f,_0x194be2._0x4bf81b)]=new TraversalDetails(),this['northwest']=new TraversalDetails(),this['northeast']=new TraversalDetails();}['combine'](_0x3a2c77){const _0x1fb686={_0x327f38:0x1488,_0x1d3196:0x7f8,_0x25dca2:0x130a,_0x412631:0x172d,_0x238f53:0x1ae3,_0x3337f7:0x168a},_0xb5d9c9={_0x4bfb9d:0x4f},_0x44c8c9={_0x31b679:0x6b9};function _0x2c7491(_0x65eb30,_0xe0e746){return _0x2b6441(_0xe0e746,_0x65eb30-_0x44c8c9._0x31b679);}const _0x1e6082=this[_0x2c7491(_0x1fb686._0x327f38,0xbae)],_0x429141=this['southeast'];function _0x3e0317(_0x4735ee,_0x14711b){return _0x2b6441(_0x4735ee,_0x14711b- -_0xb5d9c9._0x4bfb9d);}const _0x4f3507=this[_0x3e0317(-_0x1fb686._0x1d3196,0x276)],_0x206335=this['northeast'];_0x3a2c77[_0x2c7491(_0x1fb686._0x25dca2,0xca5)]=_0x1e6082['allAreRenderable']&&_0x429141['allAreRenderable']&&_0x4f3507[_0x2c7491(0x130a,0x16a9)]&&_0x206335['allAreRenderable'],_0x3a2c77['anyWereRenderedLastFrame']=_0x1e6082['anyWereRenderedLastFrame']||_0x429141['anyWereRenderedLastFrame']||_0x4f3507['anyWereRenderedLastFrame']||_0x206335['anyWereRenderedLastFrame'],_0x3a2c77['notYetRenderableCount']=_0x1e6082[_0x2c7491(_0x1fb686._0x412631,0x1b4e)]+_0x429141['notYetRenderableCount']+_0x4f3507[_0x3e0317(_0x1fb686._0x238f53,0x1025)]+_0x206335[_0x3e0317(_0x1fb686._0x3337f7,0x1025)];}}function prepareNewTile(_0x308cdc,_0x275a33,_0x544f78){const _0x26b17e={_0x3b7d18:0x14bf,_0x4adfbe:0x1dd8},_0xe1ef18={_0x3dc64f:0x62};function _0x5c74ee(_0x43e34b,_0x4d7b43){return _0x2b6441(_0x43e34b,_0x4d7b43-_0xe1ef18._0x3dc64f);}function _0x42e7e3(_0x5d34e3,_0x3efe73){return _0x306755(_0x5d34e3,_0x3efe73- -0x13c);}for(let _0x17ba2a=0x0,_0x4833d3=_0x544f78[_0x42e7e3(0xe0d,_0x26b17e._0x3b7d18)];_0x17ba2a<_0x4833d3;++_0x17ba2a){const _0x419d46=_0x544f78['get'](_0x17ba2a);_0x419d46[_0x42e7e3(_0x26b17e._0x4adfbe,0x1457)]&&_0x419d46[_0x42e7e3(0x1bcb,0x12d5)](_0x308cdc,_0x275a33);}}function requestTileGeometry(_0x10f6ce,_0x35210d,_0x1acd65,_0x7396e2){const _0x370723={_0x42a873:0x33,_0x4ef9ab:0x213,_0x549752:0xc7f};function _0x3b0389(_0x3400ec,_0x100aab){return _0x2b6441(_0x3400ec,_0x100aab-0xe);}function _0x1c7342(_0x1bd5f8,_0x239db5){return _0x2b6441(_0x239db5,_0x1bd5f8-0x104);}_0x10f6ce['primitive']=_0x10f6ce[_0x1c7342(_0x370723._0x42a873,-_0x370723._0x4ef9ab)](_0x35210d,_0x7396e2['classificationType']),_0x10f6ce['primitive']&&(_0x10f6ce['geometryState']=Cesium__namespace['TerrainState'][_0x1c7342(0x1399,_0x370723._0x549752)],_0x10f6ce['primitive']['forEach'](_0x287d61=>{function _0x2277aa(_0x4d0c23,_0x84e9d2){return _0x1c7342(_0x84e9d2- -0xa2,_0x4d0c23);}_0x287d61[_0x2277aa(0xb57,0x4c0)](_0x1acd65);}));}function processGeometryStateMachine(_0x29af05,_0x50cf9d,_0x505103,_0x20e64b){const _0x50aead={_0x5acdaf:0x15c6,_0x85da86:0xfa7},_0x1e314a={_0x23d035:0x2b};function _0x40270b(_0x2d736e,_0x472212){return _0x306755(_0x2d736e,_0x472212- -0x472);}if(!_0x505103)return;function _0x4a4a05(_0x4ab1ca,_0x5773eb){return _0x306755(_0x5773eb,_0x4ab1ca-_0x1e314a._0x23d035);}const _0x5c4ef2=_0x29af05['data'];_0x5c4ef2['geometryState']===Cesium__namespace[_0x4a4a05(0x92b,0x119)]['UNLOADED']&&(_0x5c4ef2['geometryState']=Cesium__namespace['TerrainState']['RECEIVING'],requestTileGeometry(_0x5c4ef2,_0x29af05[_0x40270b(_0x50aead._0x5acdaf,_0x50aead._0x85da86)],_0x20e64b,_0x50cf9d)),_0x5c4ef2['geometryState']===Cesium__namespace[_0x40270b(0xf23,0x48e)]['RECEIVED']&&(_0x5c4ef2['geometryState']=Cesium__namespace['TerrainState']['READY']);}function getMaterial(_0x39ddec,_0x264c13){const _0x70cca4={_0x10ce72:0x14c4,_0x592f53:0xac0,_0x4ba702:0x11b6,_0x591e60:0xaae,_0x5eb9c4:0x142a,_0x1e7c87:0x15cd,_0x3688c:0x1a10,_0x5e065f:0x257,_0x4f314d:0xe29,_0x4dffa1:0x1660},_0x3747d5={_0x5e5513:0x15f},_0x3fbbb4={'u_tileRectangle':new Cesium__namespace['Cartesian4']()};function _0x24f725(_0x124036,_0x1c6a1a){return _0x306755(_0x1c6a1a,_0x124036-_0x3747d5._0x5e5513);}for(let _0x3d58e6=0x0;_0x3d58e6<_0x39ddec;_0x3d58e6++){_0x3fbbb4[_0x3d86f1(0xe97,0x957)+_0x3d58e6]=Cesium__namespace[_0x3d86f1(_0x70cca4._0x10ce72,0xaae)]['DefaultImageId'],_0x3fbbb4['u_textureTranslationAndScale'+_0x3d58e6]=new Cesium__namespace['Cartesian4'](),_0x3fbbb4['u_textureCoordinateRectangle'+_0x3d58e6]=new Cesium__namespace['Cartesian4'](),_0x3fbbb4[_0x24f725(0x10a7,0x138b)+_0x3d58e6]=!![],_0x3fbbb4[_0x24f725(_0x70cca4._0x592f53,0x13c3)+_0x3d58e6]=0x1;}function _0x3d86f1(_0x30d4a0,_0x2fab75){return _0x2b6441(_0x30d4a0,_0x2fab75-0x148);}const _0x5c49c9=_0x264c13+''+_0x39ddec,_0x1f171c=Cesium__namespace[_0x3d86f1(_0x70cca4._0x4ba702,_0x70cca4._0x591e60)]['_materialCache'][_0x3d86f1(0xb1f,0x5ec)](_0x5c49c9);if(!Cesium__namespace['defined'](_0x1f171c)){const _0x5a9203=_0x24f725(0x18cc,0xf70);let _0xe5e070=_0x3d86f1(0xe06,0x132b);for(let _0x254ba2=0x0;_0x254ba2<_0x39ddec;_0x254ba2++){_0xe5e070+=_0x3d86f1(_0x70cca4._0x5eb9c4,0xdd7),_0xe5e070+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20color,\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textures'+_0x254ba2+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textureUseWebMercatorT'+_0x254ba2+'\x20?\x20textureCoordinates.xz\x20:\x20textureCoordinates.xy,\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textureCoordinateRectangle'+_0x254ba2+_0x24f725(_0x70cca4._0x1e7c87,_0x70cca4._0x3688c)+_0x254ba2+',\x0a\x20\x20\x20\x20\x20\x20\x20\x20u_textureAlpha'+_0x254ba2+'\x0a\x20\x20\x20\x20\x20\x20);';}_0xe5e070+='\x0a\x20\x20\x20\x20\x20\x20return\x20color;\x0a\x20\x20\x20\x20}';const _0x361c5e=_0x3d86f1(0xc6f,_0x70cca4._0x5e065f)+_0x5a9203+_0x3d86f1(0xf1c,_0x70cca4._0x4f314d)+_0xe5e070+_0x3d86f1(_0x70cca4._0x4dffa1,0x12de);Cesium__namespace['Material'][_0x3d86f1(-0x297,0x78)]['addMaterial'](_0x5c49c9,{'fabric':{'type':_0x5c49c9,'uniforms':_0x3fbbb4,'source':_0x361c5e}});}return Cesium__namespace['Material']['fromType'](_0x5c49c9,_0x3fbbb4);}class GroundSurfaceTile{constructor(_0x53a999){const _0x49d87d={_0x183006:0x1382,_0x341d1d:0x4ef,_0x288a49:0x853,_0x32e8f0:0x10d8,_0x1b86da:0x19f4,_0x3e23a0:0xe13},_0x173676={_0x12e8a8:0x2fd};function _0x23fd3c(_0x1ce491,_0x7cf60c){return _0x2b6441(_0x7cf60c,_0x1ce491-0x4f4);}this[_0x23fd3c(_0x49d87d._0x183006,0x1a1b)]=[],this[_0x229b86(0x4b4,-_0x49d87d._0x341d1d)]=undefined;function _0x229b86(_0x3082f5,_0x1682e1){return _0x2b6441(_0x1682e1,_0x3082f5-_0x173676._0x12e8a8);}this['boundingVolumeSourceTile']=undefined,this['clippedByBoundaries']=![],this['geometryState']=Cesium__namespace[_0x23fd3c(_0x49d87d._0x288a49,0x640)]['UNLOADED'],this['orientedBoundingBox']=Cesium__namespace[_0x23fd3c(_0x49d87d._0x32e8f0,_0x49d87d._0x1b86da)]['fromRectangle'](_0x53a999,0x0,0x2710,Cesium__namespace['Ellipsoid'][_0x229b86(_0x49d87d._0x3e23a0,0xa4d)]),this['tileBoundingRegion']=new Cesium__namespace['TileBoundingRegion']({'computeBoundingVolumes':![],'rectangle':_0x53a999,'ellipsoid':Cesium__namespace[_0x23fd3c(0x117a,0x14a1)]['WGS84'],'minimumHeight':0x0,'maximumHeight':0x0});}['freeResources'](){const _0x48536b={_0x1aedf2:0x1563},_0x484a5c={_0x3a89f2:0x11e0};this['geometryState']=Cesium__namespace['TerrainState'][_0x309156(0x7ea,0xf06)];this['primitive']&&this['primitive']['forEach'](_0x455135=>{const _0x1c2ee4={_0x27ae8f:0x270};function _0x17104b(_0x176cbb,_0x5a7acd){return _0x309156(_0x5a7acd,_0x176cbb-_0x1c2ee4._0x27ae8f);}_0x455135[_0x17104b(0xdcd,_0x484a5c._0x3a89f2)]();});this['primitive']=undefined;const _0x576d1f=this[_0x19e204(_0x48536b._0x1aedf2,0xc28)];for(let _0x3fb961=0x0,_0x42668f=_0x576d1f['length'];_0x3fb961<_0x42668f;++_0x3fb961){_0x576d1f[_0x3fb961]['freeResources']();}function _0x309156(_0x2aa83c,_0x32feee){return _0x2b6441(_0x2aa83c,_0x32feee-0x16f);}function _0x19e204(_0xa6be1e,_0x4e48bf){return _0x2b6441(_0x4e48bf,_0xa6be1e-0x6d5);}this['imagery']['length']=0x0;}static['initialize'](_0x566aab,_0x5cd27d,_0x4baa04){const _0x5658cf={_0x1b91f9:0x11be,_0x426477:0xa07,_0x56ef57:0xa1a,_0x18135a:0x6b0};let _0x3e1ac1=_0x566aab['data'];function _0x3a5917(_0x48486a,_0x3c90c6){return _0x2b6441(_0x3c90c6,_0x48486a- -0x87);}!Cesium__namespace[_0x2d5a36(0x1485,0x13d3)](_0x3e1ac1)&&(_0x3e1ac1=_0x566aab[_0x2d5a36(_0x5658cf._0x1b91f9,0x1013)]=new GroundSurfaceTile(_0x566aab['rectangle']));function _0x2d5a36(_0x393182,_0x3b740a){return _0x306755(_0x393182,_0x3b740a- -0x3df);}_0x566aab['state']===Cesium__namespace[_0x2d5a36(_0x5658cf._0x426477,0x6b0)]['START']&&(prepareNewTile(_0x566aab,_0x5cd27d,_0x4baa04),_0x566aab['state']=Cesium__namespace[_0x2d5a36(_0x5658cf._0x56ef57,_0x5658cf._0x18135a)]['LOADING']);}static['processStateMachine'](_0x1cc7d4,_0x5c907b,_0x4acfa3,_0x572bbd){const _0x5c5c09={_0x2bb161:0xd78,_0xa6ea4d:0x57b,_0x4451a5:0x2f3,_0x3db0ff:0x8a,_0x277faf:0x696,_0x44285e:0x216,_0x57deeb:0x535};GroundSurfaceTile['initialize'](_0x1cc7d4,_0x4acfa3,_0x572bbd);const _0x26ca53=_0x1cc7d4['data'];function _0x2c4115(_0x515878,_0x37707e){return _0x306755(_0x37707e,_0x515878- -0x63d);}const _0x3f964f=_0x26ca53['processImagery'](_0x1cc7d4,_0x4acfa3,_0x5c907b);_0x1cc7d4[_0xcfcccc(0x5ee,_0x5c5c09._0x2bb161)]===Cesium__namespace['QuadtreeTileLoadState']['LOADING']&&processGeometryStateMachine(_0x1cc7d4,_0x4acfa3,_0x3f964f,_0x5c907b);function _0xcfcccc(_0x4869df,_0x23fe76){return _0x306755(_0x23fe76,_0x4869df- -0x39d);}const _0xe992b5=_0x1cc7d4[_0x2c4115(0x1c4,_0x5c5c09._0xa6ea4d)];_0x1cc7d4[_0x2c4115(0x1c4,-_0x5c5c09._0x4451a5)]=Cesium__namespace['defined'](_0x26ca53['primitive']);const _0x54bdbd=_0x1cc7d4['data'][_0xcfcccc(0x163f,0xdcc)]===Cesium__namespace[_0x2c4115(0x2c3,-0x75d)]['READY'];_0x1cc7d4['upsampledFromParent']=![];if(_0x3f964f&&_0x54bdbd){const _0x20a78b=_0x1cc7d4[_0x2c4115(-_0x5c5c09._0x3db0ff,_0x5c5c09._0x277faf)],_0x444220={};for(const _0x14e615 in _0x20a78b){_0x20a78b['hasOwnProperty'](_0x14e615)&&(!_0x20a78b[_0x14e615](_0x1cc7d4)&&(_0x444220[_0x14e615]=_0x20a78b[_0x14e615]));}_0x1cc7d4[_0xcfcccc(_0x5c5c09._0x44285e,_0x5c5c09._0x57deeb)]=_0x444220,_0x1cc7d4['state']=Cesium__namespace['QuadtreeTileLoadState'][_0xcfcccc(0xf86,0x4ea)];}_0xe992b5&&(_0x1cc7d4['renderable']=!![]);}['processImagery'](_0x58bd0e,_0x250b67,_0x4f66fd,_0x5ef46d){const _0x2c1b8a={_0x2e1f30:0xd72,_0x436364:0x544,_0x5a0d8a:0x143f,_0x292a71:0xe01,_0x59b6ab:0x2c9,_0x36c99e:0xc10,_0x5e2036:0x835,_0xa50d52:0x2e5,_0x33e91d:0x93d,_0x4a6200:0x53,_0x3cf6fc:0x1473,_0x14b091:0x1c64},_0x363057={_0x3964cf:0x447},_0x537234=_0x58bd0e['data'];let _0x11108e=_0x58bd0e['upsampledFromParent'],_0x3fc134=![];function _0x23afea(_0x3d46e8,_0x39ee46){return _0x306755(_0x39ee46,_0x3d46e8- -0x5a9);}let _0x484afc=!![];const _0x4eeb0c=_0x537234['imagery'];function _0x223e99(_0x16e9dd,_0x348119){return _0x306755(_0x348119,_0x16e9dd- -_0x363057._0x3964cf);}let _0x3fef2c,_0x1e8896;for(_0x3fef2c=0x0,_0x1e8896=_0x4eeb0c['length'];_0x3fef2c<_0x1e8896;++_0x3fef2c){const _0x5816eb=_0x4eeb0c[_0x3fef2c];if(!Cesium__namespace['defined'](_0x5816eb['loadingImagery'])){_0x11108e=![];continue;}if(_0x5816eb[_0x223e99(_0x2c1b8a._0x2e1f30,0x11ff)][_0x223e99(_0x2c1b8a._0x436364,-0x26)]===Cesium__namespace['ImageryState'][_0x223e99(_0x2c1b8a._0x5a0d8a,0x983)]){const _0x4b7167=_0x5816eb['loadingImagery'][_0x223e99(_0x2c1b8a._0x292a71,0x124c)];if(_0x4b7167[_0x223e99(0x4fe,-_0x2c1b8a._0x59b6ab)]){_0x5816eb['freeResources'](),_0x4eeb0c['splice'](_0x3fef2c,0x1),_0x4b7167[_0x223e99(0xfca,0x12ad)](_0x58bd0e,_0x250b67,_0x3fef2c),--_0x3fef2c,_0x1e8896=_0x4eeb0c['length'];continue;}else _0x11108e=![];}const _0x18b472=_0x5816eb[_0x23afea(0x16e,-0x6f3)](_0x58bd0e,_0x4f66fd,_0x5ef46d);_0x484afc=_0x484afc&&_0x18b472,_0x3fc134=_0x3fc134||_0x18b472||Cesium__namespace['defined'](_0x5816eb[_0x23afea(0xf6e,0x16f6)]),_0x11108e=_0x11108e&&Cesium__namespace['defined'](_0x5816eb['loadingImagery'])&&(_0x5816eb[_0x23afea(_0x2c1b8a._0x36c99e,_0x2c1b8a._0x5e2036)]['state']===Cesium__namespace[_0x223e99(_0x2c1b8a._0xa50d52,0xb3a)]['FAILED']||_0x5816eb['loadingImagery'][_0x223e99(_0x2c1b8a._0x436364,_0x2c1b8a._0x33e91d)]===Cesium__namespace[_0x223e99(0x2e5,-_0x2c1b8a._0x4a6200)]['INVALID']);}return _0x58bd0e[_0x223e99(_0x2c1b8a._0x3cf6fc,_0x2c1b8a._0x14b091)]=_0x11108e,_0x58bd0e['renderable']=_0x58bd0e['renderable']&&(_0x3fc134||_0x484afc),_0x484afc;}['createRectanglePrimitive'](_0x4d39c8,_0x38d2c5){const _0x762060={_0x216a0d:0xd8b,_0x3a8ba4:0x335,_0x45a7ef:0x2a5,_0x2eb23b:0x84c},_0x108563={_0x337f6e:0x172a,_0x4a99ec:0x1deb,_0x43533c:0x1fb,_0x727027:0x108e,_0x17d47a:0xaa5},_0xfd7e27={_0x4ff2c8:0x25},_0x579724={_0x3cfe11:0x8bb,_0x2f6032:0x5fa,_0x159f5b:0x24c},_0x35523a={_0x5eea3:0xe0,_0x30782f:0x773},_0x3c9fee={_0x3a16e8:0x3f4},_0x2f1557=[];function _0x5f2a9d(_0x9f3699,_0x2594e8){return _0x306755(_0x2594e8,_0x9f3699- -0x508);}const _0x361b11=[];function _0x472771(_0x20dc72,_0x5ee8c0){return _0x306755(_0x5ee8c0,_0x20dc72- -_0x3c9fee._0x3a16e8);}this['imagery'][_0x5f2a9d(0x738,0x7a3)](_0x1bc4c6=>{_0x1bc4c6['useWebMercatorT']?_0x2f1557['push'](_0x1bc4c6):_0x361b11['push'](_0x1bc4c6);});const _0x39bcbd=[],_0x8c7d4a=[],_0x508e62=[],_0x422e8d=Cesium__namespace[_0x5f2a9d(_0x762060._0x216a0d,_0x762060._0x3a8ba4)]['maximumTextureImageUnits']-0x1;if(_0x2f1557['length']<_0x422e8d)_0x8c7d4a[_0x472771(_0x762060._0x45a7ef,0xc88)](_0x2f1557);else{let _0x557be1=[],_0x9a2701=0x0;_0x2f1557['forEach'](_0xc1a503=>{function _0x245a4c(_0x336244,_0xd5aea3){return _0x5f2a9d(_0xd5aea3-0x37f,_0x336244);}function _0x2f6c7d(_0x429248,_0x28e005){return _0x5f2a9d(_0x429248- -0xb1,_0x28e005);}_0x9a2701<_0x422e8d?(_0x9a2701+=0x1,_0x557be1[_0x2f6c7d(_0x35523a._0x5eea3,-_0x35523a._0x30782f)](_0xc1a503)):(_0x9a2701=0x0,_0x8c7d4a[_0x2f6c7d(0xe0,0xb57)](_0x557be1),_0x557be1=[]);}),_0x8c7d4a[_0x5f2a9d(0x191,0x963)](_0x557be1);}_0x8c7d4a['forEach'](_0x1f4d5f=>{function _0x475f58(_0x5848a9,_0x706ba){return _0x5f2a9d(_0x706ba-0xbb,_0x5848a9);}const _0x3700fc=new Cesium__namespace['GroundPrimitive']({'geometryInstances':new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace[(_0xd50def(_0x579724._0x3cfe11,_0x579724._0x2f6032))]({'rectangle':_0x4d39c8,'vertexFormat':Cesium__namespace['VertexFormat'][_0x475f58(0x1246,0x10cd)],'height':0x0,'extrudedHeight':0x4e20})}),'appearance':new Cesium__namespace['MaterialAppearance']({'translucent':![],'material':getMaterial(_0x1f4d5f[_0x475f58(0xf95,0x11ae)],!![])}),'asynchronous':![],'classificationType':_0x38d2c5});_0x39bcbd[_0x475f58(-0x213,_0x579724._0x159f5b)](_0x3700fc);function _0xd50def(_0x493382,_0x51fb52){return _0x5f2a9d(_0x493382-0x341,_0x51fb52);}_0x3700fc['imagers']=_0x1f4d5f;});if(_0x361b11['length']<_0x422e8d)_0x508e62['push'](_0x361b11);else{let _0x1eaf65=[],_0x266d8e=0x0;_0x361b11['forEach'](_0x365898=>{function _0xc676d1(_0x5f03d7,_0x1c1bd3){return _0x472771(_0x5f03d7- -_0xfd7e27._0x4ff2c8,_0x1c1bd3);}_0x266d8e<_0x422e8d?(_0x266d8e+=0x1,_0x1eaf65[_0xc676d1(0x280,0x4d3)](_0x365898)):(_0x266d8e=0x0,_0x508e62['push'](_0x1eaf65),_0x1eaf65=[]);}),_0x508e62['push'](_0x1eaf65);}return _0x508e62[_0x472771(_0x762060._0x2eb23b,0xe42)](_0x3465f4=>{const _0x5bae70={_0x2dbb5e:0x119},_0x5593e9=new Cesium__namespace[(_0x2908f4(0x15e4,0x1ab5))]({'geometryInstances':new Cesium__namespace['GeometryInstance']({'geometry':new Cesium__namespace['RectangleGeometry']({'rectangle':_0x4d39c8,'vertexFormat':Cesium__namespace[_0x2908f4(_0x108563._0x337f6e,_0x108563._0x4a99ec)][_0x2908f4(0x123f,0x13d8)]})}),'appearance':new Cesium__namespace[(_0x481f3c(0xb94,_0x108563._0x43533c))]({'translucent':!![],'material':getMaterial(_0x3465f4['length'],!![])}),'asynchronous':![],'classificationType':_0x38d2c5});_0x39bcbd[_0x481f3c(-0x1c0,0x18c)](_0x5593e9);function _0x2908f4(_0x73f729,_0x542012){return _0x5f2a9d(_0x73f729-0x22d,_0x542012);}function _0x481f3c(_0x1c2325,_0x24885b){return _0x472771(_0x24885b- -_0x5bae70._0x2dbb5e,_0x1c2325);}_0x5593e9[_0x2908f4(_0x108563._0x727027,_0x108563._0x17d47a)]=_0x3465f4;}),_0x39bcbd;}}function sortTileImageryByLayerIndex(_0x4c5cbf,_0x57cf01){const _0x444e74={_0xb55f14:0x91b,_0x5b45aa:0x1380},_0xfbc159={_0x5cc753:0xb6},_0x5aa978={_0x21ba1b:0xe9};function _0x3fdd27(_0x41ae08,_0x5ba99a){return _0x2b6441(_0x5ba99a,_0x41ae08-_0x5aa978._0x21ba1b);}let _0x2dc700=_0x4c5cbf['loadingImagery'];!Cesium__namespace['defined'](_0x2dc700)&&(_0x2dc700=_0x4c5cbf['readyImagery']);let _0x3e76db=_0x57cf01['loadingImagery'];!Cesium__namespace['defined'](_0x3e76db)&&(_0x3e76db=_0x57cf01[_0x1637ef(0x102c,_0x444e74._0xb55f14)]);function _0x1637ef(_0x18f33f,_0x167bcc){return _0x2b6441(_0x167bcc,_0x18f33f-_0xfbc159._0x5cc753);}return _0x2dc700['imageryLayer'][_0x1637ef(_0x444e74._0x5b45aa,0xdf8)]-_0x3e76db['imageryLayer']['_layerIndex'];}const rectangleIntersectionScratch=new Cesium__namespace['Rectangle'](),splitCartographicLimitRectangleScratch=new Cesium__namespace['Rectangle'](),rectangleCenterScratch=new Cesium__namespace['Cartographic']();function clipRectangleAntimeridian(_0x39157c,_0x5724a7){const _0x399d1e={_0x329ae2:0x18db,_0x3c3f15:0x1582,_0x355f1c:0xe22,_0x390f15:0xe1e,_0x4c352a:0xb10,_0x474175:0xbe6},_0xd34605={_0x14ab6e:0x2f6};if(_0x5724a7[_0x30965f(_0x399d1e._0x329ae2,_0x399d1e._0x3c3f15)]<_0x5724a7[_0x30965f(0x18b2,_0x399d1e._0x355f1c)])return _0x5724a7;function _0x58b726(_0x18085a,_0x42413c){return _0x2b6441(_0x42413c,_0x18085a-0x377);}const _0x2cfc46=Cesium__namespace['Rectangle'][_0x30965f(_0x399d1e._0x390f15,0x612)](_0x5724a7,splitCartographicLimitRectangleScratch),_0x204f3d=Cesium__namespace[_0x30965f(_0x399d1e._0x4c352a,0xca4)][_0x30965f(-0x121,0x406)](_0x39157c,rectangleCenterScratch);function _0x30965f(_0x48897f,_0x500002){return _0x306755(_0x48897f,_0x500002- -_0xd34605._0x14ab6e);}return _0x204f3d[_0x30965f(_0x399d1e._0x474175,0xe54)]>0x0?_0x2cfc46['east']=Cesium__namespace['Math']['PI']:_0x2cfc46['west']=-Cesium__namespace[_0x58b726(0x1141,0x10a4)]['PI'],_0x2cfc46;}function _0x5bbe(_0x10fb01,_0x410e6f){const _0x2fb9f2=_0x2fb9();return _0x5bbe=function(_0x5bbe2d,_0x136fe2){_0x5bbe2d=_0x5bbe2d-0x1f1;let _0x42a4a0=_0x2fb9f2[_0x5bbe2d];if(_0x5bbe['meGNMT']===undefined){var _0x5ad6c5=function(_0x906822){const _0x2dc1ca='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c3583='',_0xe01e58='';for(let _0x34a534=0x0,_0x4db248,_0x20821f,_0xfe2ec3=0x0;_0x20821f=_0x906822['charAt'](_0xfe2ec3++);~_0x20821f&&(_0x4db248=_0x34a534%0x4?_0x4db248*0x40+_0x20821f:_0x20821f,_0x34a534++%0x4)?_0x1c3583+=String['fromCharCode'](0xff&_0x4db248>>(-0x2*_0x34a534&0x6)):0x0){_0x20821f=_0x2dc1ca['indexOf'](_0x20821f);}for(let _0x368e3e=0x0,_0x395428=_0x1c3583['length'];_0x368e3e<_0x395428;_0x368e3e++){_0xe01e58+='%'+('00'+_0x1c3583['charCodeAt'](_0x368e3e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe01e58);};_0x5bbe['fdRjgT']=_0x5ad6c5,_0x10fb01=arguments,_0x5bbe['meGNMT']=!![];}const _0x18b69f=_0x2fb9f2[0x0],_0x469dfe=_0x5bbe2d+_0x18b69f,_0x5359e1=_0x10fb01[_0x469dfe];return!_0x5359e1?(_0x42a4a0=_0x5bbe['fdRjgT'](_0x42a4a0),_0x10fb01[_0x469dfe]=_0x42a4a0):_0x42a4a0=_0x5359e1,_0x42a4a0;},_0x5bbe(_0x10fb01,_0x410e6f);}const readyImageryScratch=[],canRenderTraversalStack=[],tileDirectionScratch=new Cesium__namespace[(_0x2b6441(0xa35,0x480))]();function updateTileBoundingRegion(_0x1379fe,_0x4300ce){const _0x5edf77={_0x28c2df:0xf16,_0x595c8d:0x11f5};function _0x57ed71(_0x53478b,_0x23f223){return _0x306755(_0x23f223,_0x53478b- -0x187);}let _0x4ad9fa=_0x1379fe['data'];function _0x776b59(_0x1dde1a,_0x3dfaa4){return _0x306755(_0x1dde1a,_0x3dfaa4- -0x5ea);}return _0x4ad9fa===undefined&&(_0x4ad9fa=_0x1379fe['data']=new GroundSurfaceTile(_0x1379fe[_0x776b59(_0x5edf77._0x28c2df,0xe2f)])),_0x1379fe['data'][_0x57ed71(0x16c6,0x12fe)]['distanceSquaredTo'](_0x4300ce['camera'][_0x776b59(0xd3c,_0x5edf77._0x595c8d)]);}function getTileReadyCallback(_0x34017d,_0x5b2a8d,_0x34eeaa){const _0x1cb0b3={_0x35a02b:0xeaa,_0x162bf6:0x1297,_0x6002f7:0x1110,_0x2e4937:0x21f,_0x487160:0x19c},_0x10c6d7={_0x585333:0x2a8};return _0x57dcb0=>{const _0x47c924={_0x59d0b9:0x9c};let _0x469255,_0x2eda19,_0x4f1f0b=-0x1;const _0x516320=_0x57dcb0['data'][_0x4d90bf(0xa64,0x1120)],_0x4d7add=_0x516320['length'];let _0x4fc077;for(_0x4fc077=0x0;_0x4fc077<_0x4d7add;++_0x4fc077){_0x469255=_0x516320[_0x4fc077],_0x2eda19=Cesium__namespace['defaultValue'](_0x469255[_0x23019e(0xffc,0x1557)],_0x469255[_0x4d90bf(0xd3c,_0x1cb0b3._0x35a02b)]);if(_0x2eda19['imageryLayer']===_0x5b2a8d){_0x4f1f0b=_0x4fc077;break;}}function _0x4d90bf(_0x551c45,_0x3cc31e){return _0x5bbe(_0x3cc31e- -_0x47c924._0x59d0b9,_0x551c45);}function _0x23019e(_0x5ca53f,_0x5c3859){return _0x5bbe(_0x5ca53f- -_0x10c6d7._0x585333,_0x5c3859);}if(_0x4f1f0b!==-0x1){const _0x11118b=_0x4f1f0b+_0x34017d;_0x469255=_0x516320[_0x11118b],_0x2eda19=Cesium__namespace[_0x4d90bf(0x17a7,0x14a3)](_0x469255)?Cesium__namespace['defaultValue'](_0x469255['readyImagery'],_0x469255[_0x23019e(0xc9e,0x1366)]):undefined;if(!Cesium__namespace[_0x23019e(_0x1cb0b3._0x162bf6,0x151c)](_0x2eda19)||_0x2eda19['imageryLayer']!==_0x5b2a8d)return!_0x5b2a8d[_0x23019e(0xef6,_0x1cb0b3._0x6002f7)](_0x57dcb0,_0x34eeaa,_0x11118b);for(_0x4fc077=_0x4f1f0b;_0x4fc077<_0x11118b;++_0x4fc077){_0x516320[_0x4fc077]['freeResources']();}_0x516320[_0x4d90bf(-_0x1cb0b3._0x2e4937,_0x1cb0b3._0x487160)](_0x4f1f0b,_0x34017d);}return!![];};}const scratchCartesian4=new Cesium__namespace['Cartesian4']();function updateTileDataRectanglePrimitive(_0x2551e5,_0x29dcdf,_0x51e844){const _0x359eb8={_0x49b32d:0xf23,_0x1f95fa:0xfee,_0x187244:0x1eb6,_0x1b3629:0x1437,_0xb7231a:0xf8a,_0x495935:0xc64,_0x455adf:0x165e,_0xdf9b83:0xb3a,_0x4cd4bf:0x153c,_0x5f3529:0x4f9,_0x4ac760:0xd1b,_0x40f49a:0x1224,_0x25eb5c:0xc60,_0x48b0ac:0x1068,_0x341f65:0x11a3,_0x2f1966:0xb7b,_0xe57e0a:0x11a3,_0xfe365f:0xa22},_0x2eb1b0=_0x2551e5['data'],_0x319acd=_0x2eb1b0['primitive'];_0x319acd['forEach'](_0x48625e=>{let _0x447b4d=![];function _0x1fb928(_0x1c54bf,_0x381c05){return _0x5bbe(_0x381c05- -0x3,_0x1c54bf);}function _0x36e8c3(_0x58ecf7,_0x27ef13){return _0x5bbe(_0x27ef13- -0x108,_0x58ecf7);}const _0x17dc25=_0x48625e[_0x36e8c3(_0x359eb8._0x49b32d,_0x359eb8._0x1f95fa)],_0x4a9e5c=_0x48625e[_0x36e8c3(0x1f8d,0x1559)][_0x36e8c3(0x1a86,0x15e6)][_0x36e8c3(0xb0d,0xe9f)];for(let _0x3a554a=0x0,_0x93267a=_0x17dc25['length'];_0x3a554a<_0x93267a;_0x3a554a++){const _0x1e2f16=_0x17dc25[_0x3a554a],_0x30425e=_0x1e2f16[_0x1fb928(0x1a22,0x12a1)];if(Cesium__namespace[_0x36e8c3(_0x359eb8._0x187244,_0x359eb8._0x1b3629)](_0x30425e)){var _0x25c98d;const _0x3ea017=_0x1e2f16['useWebMercatorT']?_0x30425e[_0x36e8c3(_0x359eb8._0xb7231a,0xb4a)]:_0x30425e[_0x1fb928(_0x359eb8._0x495935,0x15cd)];_0x48625e[_0x1fb928(0x1ba3,_0x359eb8._0x455adf)][_0x1fb928(0xc29,0x16eb)]['_textures'][_0x1fb928(0x1097,_0x359eb8._0xdf9b83)+_0x3a554a]=_0x3ea017,!Cesium__namespace[_0x1fb928(0xaee,_0x359eb8._0x4cd4bf)](_0x1e2f16['textureTranslationAndScale'])&&(_0x1e2f16['textureTranslationAndScale']=_0x1e2f16['imageryLayer'][_0x1fb928(0x1391,0xf77)](_0x2551e5,_0x1e2f16)),Cesium__namespace['Cartesian4'][_0x36e8c3(-0xc7,0x58d)](_0x1e2f16['textureTranslationAndScale'],_0x4a9e5c[_0x36e8c3(-0x2b3,_0x359eb8._0x5f3529)+_0x3a554a]),Cesium__namespace['Cartesian4']['clone'](_0x1e2f16['textureCoordinateRectangle'],_0x4a9e5c['u_textureCoordinateRectangle'+_0x3a554a]),_0x4a9e5c['u_textureUseWebMercatorT'+_0x3a554a]=_0x1e2f16['useWebMercatorT'],_0x4a9e5c[_0x36e8c3(-0x30c,0x5e6)+_0x3a554a]=((_0x25c98d=_0x30425e['imageryLayer'])===null||_0x25c98d===void 0x0?void 0x0:_0x25c98d[_0x36e8c3(_0x359eb8._0x4ac760,_0x359eb8._0x40f49a)])??0x1,Cesium__namespace[_0x36e8c3(_0x359eb8._0x25eb5c,_0x359eb8._0x48b0ac)]['fromElements'](_0x2551e5[_0x1fb928(0x13c1,_0x359eb8._0x341f65)]['west'],_0x2551e5['rectangle']['south'],_0x2551e5[_0x1fb928(_0x359eb8._0x2f1966,_0x359eb8._0xe57e0a)]['east'],_0x2551e5['rectangle'][_0x1fb928(0x21a,0x660)],scratchCartesian4),Cesium__namespace['Cartesian4']['clone'](scratchCartesian4,_0x4a9e5c[_0x1fb928(-0x186,0x3c2)]),_0x447b4d=!![];}}_0x447b4d&&(_0x48625e[_0x36e8c3(0x61e,_0x359eb8._0xfe365f)]=_0x51e844,_0x48625e['update'](_0x29dcdf));});}class GlobeSurfaceTileProvider{constructor(_0x27c6c6){const _0x5a8792={_0x4d8b46:0xcfb,_0x1938e:0x918,_0x3deba7:0xae,_0x478069:0xcf7,_0x200f16:0x403,_0x52bf8a:0x198d,_0x80455b:0x179a,_0x513fab:0x497,_0x9d89d:0xb3f},_0x334c34={_0x2b4787:0x1d2};this[_0x287464(0x763,0xfa5)]=undefined;function _0x287464(_0x2bced5,_0x41cc69){return _0x306755(_0x41cc69,_0x2bced5- -0x471);}this['_terrainProvider']=new Cesium__namespace['EllipsoidTerrainProvider'](),this[_0x3d00d2(0x15b0,0xbcb)]=Cesium__namespace['ClassificationType']['BOTH'],this[_0x3d00d2(0x759,_0x5a8792._0x4d8b46)]=_0x27c6c6,this['_errorEvent']=new Cesium__namespace['Event'](),this['_removeLayerAddedListener']=this['_imageryLayers']['layerAdded']['addEventListener'](GlobeSurfaceTileProvider[_0x3d00d2(0xc60,0xb21)][_0x3d00d2(0x96f,0xf61)],this),this['_removeLayerRemovedListener']=this['_imageryLayers']['layerRemoved'][_0x3d00d2(0x37e,_0x5a8792._0x1938e)](GlobeSurfaceTileProvider['prototype']['_onLayerRemoved'],this);function _0x3d00d2(_0x3df0e0,_0x2e97f7){return _0x306755(_0x3df0e0,_0x2e97f7- -_0x334c34._0x2b4787);}this['_removeLayerMovedListener']=this[_0x287464(0xa5c,0x269)]['layerMoved']['addEventListener'](GlobeSurfaceTileProvider['prototype']['_onLayerMoved'],this),this['_removeLayerShownListener']=this['_imageryLayers'][_0x287464(0x9a4,-_0x5a8792._0x3deba7)]['addEventListener'](GlobeSurfaceTileProvider['prototype'][_0x3d00d2(0x9d7,0x1263)],this),this[_0x287464(0x881,-0x232)]=new Cesium__namespace['Event'](),this[_0x3d00d2(0x6ea,_0x5a8792._0x478069)]=![],this[_0x287464(0xa13,_0x5a8792._0x200f16)]=[];const _0xfa035={};_0xfa035['wireframe']=![],_0xfa035[_0x3d00d2(_0x5a8792._0x52bf8a,_0x5a8792._0x80455b)]=undefined,this['_debug']=_0xfa035,this['_baseColor']=new Cesium__namespace[(_0x287464(0xac3,0x71c))](0x0,0x0,0.5,0x1),this['_firstPassInitialColor']=undefined,this['cartographicLimitRectangle']=Cesium__namespace['Rectangle'][_0x287464(_0x5a8792._0x513fab,-_0x5a8792._0x513fab)](Cesium__namespace[_0x3d00d2(0x83c,0xdc8)][_0x3d00d2(_0x5a8792._0x9d89d,0x919)]);}get['baseColor'](){return this['_baseColor'];}set['baseColor'](_0x25b534){const _0x1c03c2={_0x2f16fd:0x2f,_0x3f2f05:0x402,_0xb53d9b:0xde4,_0x4e2d6e:0x142a},_0x252304={_0x3573d9:0x5cf},_0x266641={_0x63a21b:0x5ff};this[_0xb8ce52(-_0x1c03c2._0x2f16fd,0x493)]=_0x25b534;function _0xb8ce52(_0x36a16a,_0x4c6b7f){return _0x306755(_0x4c6b7f,_0x36a16a- -_0x266641._0x63a21b);}function _0x1ff248(_0x332324,_0xd2c725){return _0x306755(_0x332324,_0xd2c725- -_0x252304._0x3573d9);}this[_0xb8ce52(0x82,_0x1c03c2._0x3f2f05)]=Cesium__namespace[_0xb8ce52(_0x1c03c2._0xb53d9b,_0x1c03c2._0x4e2d6e)]['fromColor'](_0x25b534,this[_0x1ff248(0x38e,0xb2)]);}get['quadtree'](){function _0x5770d2(_0x277d3f,_0xbe62ec){return _0x2b6441(_0xbe62ec,_0x277d3f-0x1b1);}return this[_0x5770d2(0x7e4,0xbf8)];}set[_0x2b6441(0x15ef,0xb76)](_0x395a83){this['_quadtree']=_0x395a83;}get['tilingScheme'](){const _0x2b5f0a={_0x5a5a39:0x18d9,_0x3a2a1b:0x1b2f,_0x2f6016:0x1225,_0x15e08b:0x152d,_0x119b1c:0x12ae};if(!Cesium__namespace[_0x437c2f(_0x2b5f0a._0x5a5a39,_0x2b5f0a._0x3a2a1b)](this[_0x437c2f(_0x2b5f0a._0x2f6016,_0x2b5f0a._0x15e08b)]))return undefined;function _0x28c807(_0x1de6e1,_0xe0f5ad){return _0x306755(_0xe0f5ad,_0x1de6e1- -0x305);}function _0x437c2f(_0x28a0f2,_0x16543f){return _0x306755(_0x16543f,_0x28a0f2-0x127);}return this[_0x28c807(0xdf9,_0x2b5f0a._0x119b1c)]['tilingScheme'];}get[_0x2b6441(0x70a,0x4b0)](){const _0x3c3da2={_0x24801a:0xba3};function _0x2e58bd(_0x2ccc25,_0x57a1f4){return _0x2b6441(_0x2ccc25,_0x57a1f4-0x5b4);}return this[_0x2e58bd(_0x3c3da2._0x24801a,0x11c5)];}get['imageryLayersUpdatedEvent'](){return this['_imageryLayersUpdatedEvent'];}[_0x2b6441(0x84c,0x45e)](_0x236f23){const _0x2b8214={_0x16d2f4:0xe22,_0x107247:0x179d};function _0x557d54(_0xebe8f1,_0x339caf){return _0x2b6441(_0x339caf,_0xebe8f1-0x4f6);}this[_0x557d54(_0x2b8214._0x16d2f4,_0x2b8214._0x107247)]['_update']();}['initialize'](_0x3fc0f9){const _0x2a4813={_0x55a201:0x941,_0x412833:0x308,_0xfdf508:0x259},_0x5d7176={_0x3f7fee:0x115e,_0x33ee10:0x1008},_0x4db2a2={_0x4a5d3b:0x15};function _0x98e52(_0x35f82a,_0x185ba2){return _0x306755(_0x185ba2,_0x35f82a- -0x572);}function _0x15c9af(_0x4a2ea4,_0x53dd3f){return _0x2b6441(_0x53dd3f,_0x4a2ea4-_0x4db2a2._0x4a5d3b);}this[_0x15c9af(_0x2a4813._0x55a201,_0x2a4813._0x412833)][_0x98e52(0x68e,-_0x2a4813._0xfdf508)](_0x3fc0f9),this[_0x98e52(0x957,0xe)]&&(this['_layerOrderChanged']=![],this[_0x98e52(0x662,0xef1)][_0x98e52(0x6a2,0x909)](_0x541c38=>{function _0x35ce44(_0x5c2d05,_0x569c36){return _0x98e52(_0x569c36-0x6e5,_0x5c2d05);}function _0x28cd78(_0x417c5e,_0x8c286){return _0x98e52(_0x8c286-0x2de,_0x417c5e);}_0x541c38[_0x28cd78(0x1200,_0x5d7176._0x3f7fee)][_0x28cd78(_0x5d7176._0x33ee10,0x119b)]['sort'](sortTileImageryByLayerIndex);}));}['beginUpdate'](_0x34d576){const _0x3437e0={_0x63d0ff:0xc3f};function _0x25af12(_0x582e78,_0x3df45d){return _0x306755(_0x3df45d,_0x582e78- -0xc);}function _0x20a59d(_0x2e2e70,_0x3165ce){return _0x2b6441(_0x3165ce,_0x2e2e70-0x3d8);}const _0x46796c=this['_tilesToRenderByTextureCount'];for(let _0x4a4655=0x0,_0x484c98=_0x46796c[_0x25af12(0x15ef,0x1467)];_0x4a4655<_0x484c98;++_0x4a4655){const _0x9a6766=_0x46796c[_0x4a4655];Cesium__namespace[_0x20a59d(0x15e9,_0x3437e0._0x63d0ff)](_0x9a6766)&&(_0x9a6766['length']=0x0);}}[_0x306755(0xc79,0x1337)](_0x21be56){const _0x50c3fe={_0xe01d79:0x12ee,_0x1d52eb:0x1687,_0x21aa7e:0x13af,_0x4ad7b7:0x1287,_0x327091:0x1764,_0x48e2fd:0x12c3},_0x1c0b2d={_0x448595:0x436};function _0x4562f6(_0x2d9b5b,_0x2d2ff6){return _0x306755(_0x2d2ff6,_0x2d9b5b- -0x413);}function _0x1f73f6(_0x22e7f5,_0x1ff321){return _0x2b6441(_0x1ff321,_0x22e7f5-_0x1c0b2d._0x448595);}const _0x4668d5=this['_tilesToRenderByTextureCount'];for(let _0x53af09=0x0,_0x575e95=_0x4668d5[_0x4562f6(0x11e8,_0x50c3fe._0xe01d79)];_0x53af09<_0x575e95;++_0x53af09){const _0x217452=_0x4668d5[_0x53af09];if(!Cesium__namespace[_0x1f73f6(0x1647,_0x50c3fe._0x1d52eb)](_0x217452))continue;for(let _0x1dc30f=0x0,_0x3cb6c8=_0x217452[_0x4562f6(0x11e8,_0x50c3fe._0x21aa7e)];_0x1dc30f<_0x3cb6c8;++_0x1dc30f){const _0x49384f=_0x217452[_0x1dc30f],_0x35deb7=_0x49384f[_0x1f73f6(_0x50c3fe._0x4ad7b7,_0x50c3fe._0x327091)]['primitive'];_0x35deb7&&_0x35deb7[_0x4562f6(0x11e8,_0x50c3fe._0x48e2fd)]>0x0&&updateTileDataRectanglePrimitive(_0x49384f,_0x21be56,this['classificationType']);}}}[_0x2b6441(0xdfd,0x107f)](){function _0x58f666(_0x46ed87,_0x50062a){return _0x306755(_0x46ed87,_0x50062a- -0x35e);}this[_0x58f666(0xd85,0xb6f)]['cancelReprojections']();}[_0x306755(-0x1ff,0x821)](_0x2f8143){const _0x273ffe={_0x5cd8ae:0xd3c,_0x3f5cbb:0x825,_0x4b5d9a:0x283},_0x2c0bd3={_0x39b284:0x1df};function _0x158914(_0x226659,_0x32b0db){return _0x306755(_0x32b0db,_0x226659- -0x59e);}if(!Cesium__namespace['defined'](this['_terrainProvider']))return 0x0;function _0x2f225f(_0x3d453f,_0x543a8e){return _0x2b6441(_0x543a8e,_0x3d453f-_0x2c0bd3._0x39b284);}return this[_0x2f225f(_0x273ffe._0x5cd8ae,_0x273ffe._0x3f5cbb)][_0x158914(_0x273ffe._0x4b5d9a,-0x8d)](_0x2f8143);}[_0x2b6441(0x880,0x11bf)](_0x1d5960,_0x16d79c){const _0x4ecfaf={_0x3bc401:0x1190,_0x5e2ddf:0x109f,_0x25d8b9:0x1484,_0x208886:0x11a9,_0x2bf533:0x12a3,_0x4eafbf:0xa82,_0x1c81e9:0x266,_0x5cb955:0x4ed,_0x4fda18:0xa1c},_0x5eda72={_0x436b87:0x633},_0x15c7bd={_0x2de9b9:0x4b1};let _0x20910d=_0x16d79c['data'],_0x402459;Cesium__namespace[_0x3e3956(0xbb3,0x1301)](_0x20910d)&&(_0x402459=_0x20910d['geometryState']);function _0x3e3956(_0x12eed7,_0x557015){return _0x306755(_0x12eed7,_0x557015- -_0x15c7bd._0x2de9b9);}function _0x31d773(_0x342226,_0x990d0c){return _0x2b6441(_0x342226,_0x990d0c-_0x5eda72._0x436b87);}GroundSurfaceTile['processStateMachine'](_0x16d79c,_0x1d5960,this[_0x31d773(0x12da,_0x4ecfaf._0x3bc401)],this['_imageryLayers']),_0x20910d=_0x16d79c['data'],_0x402459!==_0x16d79c[_0x31d773(_0x4ecfaf._0x5e2ddf,_0x4ecfaf._0x25d8b9)][_0x3e3956(0xe5f,0x152b)]&&(this['computeTileVisibility'](_0x16d79c,_0x1d5960,this[_0x31d773(0x1b52,_0x4ecfaf._0x208886)][_0x3e3956(0x1126,0xb8c)])!==Cesium__namespace['Visibility'][_0x31d773(0x1c6c,_0x4ecfaf._0x2bf533)]&&_0x20910d[_0x31d773(0xde7,_0x4ecfaf._0x4eafbf)]===_0x16d79c&&GroundSurfaceTile[_0x3e3956(0x37a,_0x4ecfaf._0x1c81e9)](_0x16d79c,_0x1d5960,this[_0x3e3956(0x45d,0xc4d)],this[_0x3e3956(_0x4ecfaf._0x5cb955,_0x4ecfaf._0x4fda18)]));}['computeTileVisibility'](_0x3b6cda,_0x97df85,_0x4b0f8f){const _0x2ae310={_0x478536:0x1d3d,_0x25bcc9:0x14a8,_0x1da1eb:0xb16,_0x16bb96:0x45b,_0x520508:0x5aa,_0x2eaf2b:0x1606,_0x41020d:0x126d,_0x31c349:0x1115,_0x3cf093:0x153f,_0x2b87d1:0x1309,_0x5d5e91:0x16e2,_0x307352:0x1251,_0x443633:0xef1,_0x4ca84e:0x1b11,_0x2dbe74:0x1476,_0x3226ab:0x20b,_0x485029:0x9cc,_0x5c66e2:0x1065},_0x56ae5a=this[_0xf8e691(_0x2ae310._0x478536,_0x2ae310._0x25bcc9)](_0x3b6cda,_0x97df85);_0x3b6cda[_0xf8e691(0x18b4,0x1253)]=_0x56ae5a;const _0x20e040=_0x3b6cda['data'],_0xedc403=_0x20e040['tileBoundingRegion'];if(_0x20e040[_0x420c94(_0x2ae310._0x1da1eb,0x1502)]===undefined)return Cesium__namespace[_0x420c94(0xef1,0xd70)]['PARTIAL'];const _0x173f49=_0x97df85[_0xf8e691(-_0x2ae310._0x16bb96,_0x2ae310._0x520508)];let _0x10f5a0=_0xedc403['boundingVolume'];!Cesium__namespace[_0xf8e691(0x1907,_0x2ae310._0x2eaf2b)](_0x10f5a0)&&(_0x10f5a0=_0xedc403[_0x420c94(0xa77,0x32e)]);_0x20e040['clippedByBoundaries']=![];const _0x4dcf45=clipRectangleAntimeridian(_0x3b6cda[_0xf8e691(0x1d2c,_0x2ae310._0x41020d)],this[_0x420c94(0x1a91,0x16db)]),_0x365995=Cesium__namespace[_0x420c94(0x10c0,_0x2ae310._0x31c349)]['simpleIntersection'](_0x4dcf45,_0x3b6cda[_0x420c94(_0x2ae310._0x3cf093,_0x2ae310._0x2b87d1)],rectangleIntersectionScratch);if(!Cesium__namespace['defined'](_0x365995))return Cesium__namespace['Visibility']['NONE'];!Cesium__namespace[_0xf8e691(_0x2ae310._0x5d5e91,0xdee)]['equals'](_0x365995,_0x3b6cda['rectangle'])&&(_0x20e040['clippedByBoundaries']=!![]);if(!Cesium__namespace['defined'](_0x10f5a0))return Cesium__namespace[_0x420c94(0xef1,0x465)]['PARTIAL'];let _0x3b869e;function _0x420c94(_0x29658a,_0xee036c){return _0x2b6441(_0xee036c,_0x29658a-0x6c7);}function _0xf8e691(_0x3f793a,_0x6e9e5b){return _0x2b6441(_0x3f793a,_0x6e9e5b-0x3f5);}const _0x26669e=_0x173f49[_0x420c94(0x1280,_0x2ae310._0x307352)](_0x10f5a0);if(_0x26669e===Cesium__namespace['Intersect']['OUTSIDE'])_0x3b869e=Cesium__namespace[_0x420c94(_0x2ae310._0x443633,0x893)]['NONE'];else{if(_0x26669e===Cesium__namespace[_0x420c94(0x1413,0x1de0)][_0x420c94(0x1067,0x11bd)])_0x3b869e=Cesium__namespace['Visibility'][_0x420c94(_0x2ae310._0x4ca84e,_0x2ae310._0x2dbe74)];else _0x26669e===Cesium__namespace['Intersect']['INSIDE']&&(_0x3b869e=Cesium__namespace['Visibility'][_0x420c94(0x15d4,0x1a40)]);}if(_0x3b869e===Cesium__namespace[_0xf8e691(_0x2ae310._0x3226ab,0xc1f)][_0xf8e691(_0x2ae310._0x485029,_0x2ae310._0x5c66e2)])return _0x3b869e;return _0x3b869e;}[_0x2b6441(0x1656,0x1264)](_0x1941a8){const _0x5312b6={_0x2aab6a:0x10f9};if(Cesium__namespace[_0x282355(0xc04,0x14b9)](_0x1941a8[_0x282355(0x18ec,_0x5312b6._0x2aab6a)]['primitive']))return!![];function _0xdcb885(_0x401fd4,_0x4eb9d3){return _0x2b6441(_0x4eb9d3,_0x401fd4-0x2e3);}function _0x282355(_0x4c6779,_0x3ef32e){return _0x306755(_0x4c6779,_0x3ef32e- -0x2f9);}const _0x5d9a0a=this['_terrainProvider'][_0x282355(0xfde,0xe6f)](_0x1941a8['x']*0x2,_0x1941a8['y']*0x2,_0x1941a8['level']+0x1);return _0x5d9a0a!==undefined;}['canRenderWithoutLosingDetail'](_0x48b6c3,_0x888884){const _0x52da7c={_0x431775:0xe26,_0x472bc5:0x32e,_0x37959a:0x1ff,_0x3d82b2:0xc48,_0x46948f:0x116f,_0x34345a:0xd4b,_0x399245:0x242e,_0x5c590c:0x929,_0x1cb9da:0x2cb,_0x3be205:0xc56,_0x5211ec:0xf1b,_0x3d4c8a:0x5e},_0x10edbd={_0x11c327:0x140};function _0x5d4ab3(_0x550910,_0x15f0d7){return _0x2b6441(_0x550910,_0x15f0d7-0x714);}const _0x4d23f7=_0x48b6c3['data'],_0x5461b4=readyImageryScratch;_0x5461b4['length']=this['_imageryLayers']['length'];let _0x115487=![],_0x5c2c9f=![],_0x5a4c91;function _0x50f900(_0x5ace38,_0x255d9f){return _0x2b6441(_0x5ace38,_0x255d9f-_0x10edbd._0x11c327);}Cesium__namespace['defined'](_0x4d23f7)&&(_0x115487=_0x4d23f7['geometryState']===Cesium__namespace[_0x50f900(_0x52da7c._0x431775,0x49f)][_0x5d4ab3(_0x52da7c._0x472bc5,0x5f4)],_0x5c2c9f=!![],_0x5a4c91=_0x4d23f7['imagery']);let _0x5c6865,_0x508f21;for(_0x5c6865=0x0,_0x508f21=_0x5461b4['length'];_0x5c6865<_0x508f21;++_0x5c6865){_0x5461b4[_0x5c6865]=_0x5c2c9f;}if(Cesium__namespace['defined'](_0x5a4c91))for(_0x5c6865=0x0,_0x508f21=_0x5a4c91['length'];_0x5c6865<_0x508f21;++_0x5c6865){const _0x5eeca9=_0x5a4c91[_0x5c6865],_0x5b4e8d=_0x5eeca9[_0x5d4ab3(0xfaa,0x132c)],_0x32a4e7=!Cesium__namespace['defined'](_0x5b4e8d)||_0x5b4e8d['state']===Cesium__namespace['ImageryState'][_0x5d4ab3(_0x52da7c._0x37959a,_0x52da7c._0x3d82b2)]||_0x5b4e8d['state']===Cesium__namespace['ImageryState']['INVALID'],_0x4348a9=(_0x5eeca9['loadingImagery']||_0x5eeca9['readyImagery'])[_0x50f900(_0x52da7c._0x46948f,0xde7)]['_layerIndex'];_0x5461b4[_0x4348a9]=_0x32a4e7&&_0x5461b4[_0x4348a9];}const _0xa9caa0=this['quadtree']['_lastSelectionFrameNumber'],_0x2cb34e=canRenderTraversalStack;_0x2cb34e[_0x50f900(0xbc7,0x119a)]=0x0,_0x2cb34e[_0x50f900(-0x84c,0x238)](_0x48b6c3['southwestChild'],_0x48b6c3['southeastChild'],_0x48b6c3['northwestChild'],_0x48b6c3['northeastChild']);while(_0x2cb34e['length']>0x0){const _0x3be737=_0x2cb34e['pop'](),_0x29924a=_0x3be737['_lastSelectionResultFrame']===_0xa9caa0?_0x3be737['_lastSelectionResult']:Cesium__namespace['TileSelectionResult']['NONE'];if(_0x29924a===Cesium__namespace['TileSelectionResult'][_0x5d4ab3(_0x52da7c._0x34345a,0xac3)]){const _0x2ae820=_0x3be737['data'];if(!Cesium__namespace['defined'](_0x2ae820))continue;if(!_0x115487&&_0x3be737['data'][_0x5d4ab3(_0x52da7c._0x399245,0x1b4f)]===Cesium__namespace['TerrainState']['READY'])return![];const _0x23a787=_0x3be737['data']['imagery'];for(_0x5c6865=0x0,_0x508f21=_0x23a787['length'];_0x5c6865<_0x508f21;++_0x5c6865){const _0x532cc6=_0x23a787[_0x5c6865],_0x5ecaa3=_0x532cc6[_0x50f900(0x7f7,0xd58)],_0x337b43=!Cesium__namespace['defined'](_0x5ecaa3)||_0x5ecaa3['state']===Cesium__namespace[_0x50f900(_0x52da7c._0x5c590c,_0x52da7c._0x1cb9da)]['FAILED']||_0x5ecaa3['state']===Cesium__namespace['ImageryState'][_0x50f900(0x220,0x816)],_0x158ea1=(_0x532cc6['loadingImagery']||_0x532cc6[_0x5d4ab3(_0x52da7c._0x3be205,0x168a)])['imageryLayer']['_layerIndex'];if(_0x337b43&&!_0x5461b4[_0x158ea1])return![];}}else _0x29924a===Cesium__namespace[_0x50f900(0x80e,_0x52da7c._0x5211ec)][_0x50f900(0x141b,0xa03)]&&_0x2cb34e['push'](_0x3be737['southwestChild'],_0x3be737[_0x5d4ab3(-_0x52da7c._0x3d4c8a,0x660)],_0x3be737['northwestChild'],_0x3be737['northeastChild']);}return!![];}[_0x2b6441(0x892,0x8b1)](_0x5b6fd3,_0x31c497){const _0x4f828e={_0x26cc6d:0xf2e,_0x30dbb5:0x19f7,_0x1084b1:0x1ee,_0x18cff1:0x19f0},_0x4cb8d1=_0x5b6fd3[_0x4b87ed(0x7e4,_0x4f828e._0x26cc6d)];if(_0x4cb8d1===undefined)return 0x0;const _0x104aba=_0x4cb8d1[_0x3c52e9(0x15aa,0x176b)][_0x3c52e9(0x1619,0xf83)];function _0x3c52e9(_0xcf18b3,_0x3dfff9){return _0x306755(_0xcf18b3,_0x3dfff9- -0x4);}if(_0x104aba===undefined)return 0x0;const _0x75133a=_0x31c497['camera']['positionWC'],_0x20a08b=_0x31c497['camera']['directionWC'],_0x420d0b=Cesium__namespace['Cartesian3'][_0x3c52e9(_0x4f828e._0x30dbb5,0x111a)](_0x104aba['center'],_0x75133a,tileDirectionScratch),_0x5c3e05=Cesium__namespace[_0x3c52e9(0x421,0xa1d)][_0x4b87ed(0xbbc,0xe76)](_0x420d0b);function _0x4b87ed(_0x5543f8,_0x1298bb){return _0x2b6441(_0x5543f8,_0x1298bb-0xdd);}if(_0x5c3e05{if(Cesium__namespace[_0x3f21d7(_0x579db7._0x3bc008,_0x579db7._0x296c1f)](_0x414097[_0x3f21d7(0x1ff,0x1c1)][_0x13fa23[_0x5de83e(0x1a4c,0x12f3)]]))return;let _0xcfce13;const _0x37ceed=_0x414097['data']['imagery'],_0x4d49f7=_0x37ceed['length'];function _0x5de83e(_0x3ab62d,_0x1266bc){return _0x4db1b1(_0x3ab62d,_0x1266bc- -0x270);}let _0xcf2a03=-0x1,_0x13c0ad=0x0;function _0x3f21d7(_0x1ef60a,_0x210e2f){return _0x3dbb77(_0x210e2f,_0x1ef60a- -0x265);}for(_0xcfce13=0x0;_0xcfce13<_0x4d49f7;++_0xcfce13){const _0x53e497=_0x37ceed[_0xcfce13],_0x9303ae=Cesium__namespace['defaultValue'](_0x53e497[_0x3f21d7(_0x579db7._0x34b373,0x1794)],_0x53e497[_0x3f21d7(0xe05,0xd45)]);if(_0x9303ae['imageryLayer']===_0x13fa23)_0xcf2a03===-0x1&&(_0xcf2a03=_0xcfce13),++_0x13c0ad;else{if(_0xcf2a03!==-0x1)break;}}if(_0xcf2a03===-0x1)return;const _0x3f31d3=_0xcf2a03+_0x13c0ad;_0x13fa23[_0x5de83e(0x1135,_0x579db7._0x25c1d5)](_0x414097,_0x11238a,_0x3f31d3)&&(_0x414097['_loadedCallbacks'][_0x13fa23[_0x3f21d7(0x14b7,0xb59)]]=getTileReadyCallback(_0x13c0ad,_0x13fa23,_0x11238a),_0x414097['state']=Cesium__namespace['QuadtreeTileLoadState']['LOADING']);});};if(_0x13fa23['ready']){const _0x7d439f=_0x13fa23[_0x59e84f(0xfc1,0x106c)];_0x7d439f['_reload']=_0x929cb5;}this['_quadtree'][_0x59e84f(0xc18,_0x50d520._0x451a67)](_0x2f5889=>{function _0x2a82b4(_0x3e15ae,_0x4587fa){return _0x3cf1f1(_0x3e15ae- -0x7f,_0x4587fa);}function _0x290a5e(_0x826d50,_0x29b26b){return _0x59e84f(_0x29b26b- -0xb7,_0x826d50);}_0x13fa23['_createTileImagerySkeletons'](_0x2f5889,_0x11238a)&&(_0x2f5889['state']=Cesium__namespace[_0x2a82b4(_0xf69795._0x457f2d,_0xf69795._0x2252c0)]['LOADING'],_0x2f5889['level']!==0x0&&(_0x2f5889[_0x2a82b4(0xa65,0xd21)]!==_0x4ef0f3[_0x2a82b4(0xfd1,_0xf69795._0x5c8af8)][_0x2a82b4(0xa56,0xc53)]||_0x2f5889[_0x2a82b4(0x13d9,0xee8)]!==Cesium__namespace[_0x2a82b4(0x1236,_0xf69795._0x1ad7aa)]['RENDERED'])&&(_0x2f5889[_0x290a5e(_0xf69795._0x177258,0x74e)]=![]));}),this[_0x3cf1f1(0xe02,_0x50d520._0x4d6936)]=!![],_0x5ee302[_0x3cf1f1(0x3fe,-_0x50d520._0x31ba09)]();}}['_onLayerRemoved'](_0x2bc0da,_0x554625){const _0x2ce4b4={_0xa4bce8:0x5e6,_0x36e014:0x75e,_0x2c7930:0x457},_0x2508a3={_0xc5084b:0xf22},_0x544779={_0xa9371:0x1a};this['_quadtree'][_0x344dee(_0x2ce4b4._0xa4bce8,_0x2ce4b4._0x36e014)](_0x4a3319=>{const _0x29050e=_0x4a3319[_0x26edd2(0x1161,_0x2508a3._0xc5084b)]['imagery'];let _0x24e74d=-0x1,_0x35eb06=0x0;function _0x26edd2(_0x4b7f20,_0x57e129){return _0x344dee(_0x4b7f20,_0x57e129- -_0x544779._0xa9371);}for(let _0x30db68=0x0,_0x535d92=_0x29050e['length'];_0x30db68<_0x535d92;++_0x30db68){const _0x2b759b=_0x29050e[_0x30db68];let _0xfe1b0d=_0x2b759b['loadingImagery'];!Cesium__namespace['defined'](_0xfe1b0d)&&(_0xfe1b0d=_0x2b759b['readyImagery']);if(_0xfe1b0d['imageryLayer']===_0x2bc0da)_0x24e74d===-0x1&&(_0x24e74d=_0x30db68),_0x2b759b['freeResources'](),++_0x35eb06;else{if(_0x24e74d!==-0x1)break;}}_0x24e74d!==-0x1&&_0x29050e['splice'](_0x24e74d,_0x35eb06);});function _0x344dee(_0x49118,_0x4f51f1){return _0x2b6441(_0x49118,_0x4f51f1-0xeb);}Cesium__namespace['defined'](_0x2bc0da['imageryProvider'])&&(_0x2bc0da['imageryProvider'][_0x3d483f(0xed0,_0x2ce4b4._0x2c7930)]=undefined);function _0x3d483f(_0x59abc9,_0x47278d){return _0x2b6441(_0x59abc9,_0x47278d-0x43b);}this[_0x344dee(0x25,0x83c)]['raiseEvent']();}['_onLayerMoved'](_0x125e94,_0x18b1bc,_0x13e675){const _0x36a238={_0xcc37bb:0x871,_0x28d02b:0xe38,_0x240779:0x10e1};function _0x1e64df(_0x2b3357,_0x121b29){return _0x2b6441(_0x121b29,_0x2b3357-0x497);}function _0xc42e47(_0x2d3b46,_0x1d1733){return _0x2b6441(_0x1d1733,_0x2d3b46-0x6e7);}this[_0xc42e47(0x100f,_0x36a238._0xcc37bb)]=!![],this[_0xc42e47(_0x36a238._0x28d02b,_0x36a238._0x240779)]['raiseEvent']();}['_onLayerShownOrHidden'](_0x323a82,_0x39ba29,_0xb42fbf){const _0x374add={_0x573f0d:0x4e7};function _0x3987f1(_0x388dce,_0x109196){return _0x306755(_0x388dce,_0x109196- -0x44e);}_0xb42fbf?this['_onLayerAdded'](_0x323a82,_0x39ba29):this[_0x3987f1(_0x374add._0x573f0d,0xcee)](_0x323a82,_0x39ba29);}}const Cartesian3=Cesium__namespace[_0x2b6441(-0xe6,0x480)],defaultValue=Cesium__namespace[_0x306755(0x13ef,0xcaa)],defined=Cesium__namespace[_0x306755(0xdad,0x17b2)],getTimestamp=Cesium__namespace['getTimestamp'],Matrix4=Cesium__namespace['Matrix4'],OrthographicFrustum=Cesium__namespace[_0x306755(0x2212,0x181f)],OrthographicOffCenterFrustum=Cesium__namespace[_0x306755(0x11c7,0x163f)],Ray=Cesium__namespace[_0x2b6441(0xcb9,0xbe7)],Rectangle=Cesium__namespace[_0x306755(0xada,0xf9a)],Visibility=Cesium__namespace[_0x2b6441(0x101e,0x82a)],QuadtreeOccluders=Cesium__namespace[_0x2b6441(0x183,0x32a)],QuadtreeTile=Cesium__namespace['QuadtreeTile'],QuadtreeTileLoadState=Cesium__namespace['QuadtreeTileLoadState'],SceneMode=Cesium__namespace['SceneMode'],TileReplacementQueue=Cesium__namespace['TileReplacementQueue'],TileSelectionResult=Cesium__namespace['TileSelectionResult'];function clearTileLoadQueue(_0x32edab){const _0x277e2e={_0x2f91fa:0x63c,_0x17b2ea:0x44e,_0x5acafa:0x1365},_0x49585c=_0x32edab[_0x21e449(_0x277e2e._0x2f91fa,_0x277e2e._0x17b2ea)];_0x49585c['maxDepth']=0x0,_0x49585c['maxDepthVisited']=0x0,_0x49585c['tilesVisited']=0x0,_0x49585c['tilesCulled']=0x0,_0x49585c['tilesRendered']=0x0;function _0x21e449(_0xcc34ab,_0x115776){return _0x2b6441(_0x115776,_0xcc34ab-0x531);}function _0x5028c8(_0x43dc1b,_0x2ab760){return _0x2b6441(_0x43dc1b,_0x2ab760-0x30b);}_0x49585c['tilesWaitingForChildren']=0x0,_0x32edab[_0x5028c8(0xd3a,0x123e)]['length']=0x0,_0x32edab['_tileLoadQueueMedium'][_0x5028c8(0x14a4,_0x277e2e._0x5acafa)]=0x0,_0x32edab['_tileLoadQueueLow']['length']=0x0;}function invalidateAllTiles(_0x4ef53f){const _0x297868={_0x4613c8:0x1a71,_0x14bbd8:0x1237,_0x36eaa4:0x11ad,_0x58123c:0xd31,_0x4d66dd:0xeb,_0x2d1fcc:0x540,_0x409dae:0x11d2},_0x46b453=_0x4ef53f[_0x2196bd(_0x297868._0x4613c8,_0x297868._0x14bbd8)];_0x46b453['head']=undefined;function _0x2196bd(_0x29de1c,_0xe346a1){return _0x2b6441(_0x29de1c,_0xe346a1-0x5bb);}_0x46b453[_0x2196bd(0xe35,0xdcd)]=undefined,_0x46b453['count']=0x0,clearTileLoadQueue(_0x4ef53f);const _0x3bc293=_0x4ef53f['_levelZeroTiles'];function _0x59dc9a(_0x4d639b,_0xc6d173){return _0x2b6441(_0xc6d173,_0x4d639b-0x153);}if(defined(_0x3bc293))for(let _0x5be0fd=0x0;_0x5be0fd<_0x3bc293[_0x59dc9a(_0x297868._0x36eaa4,0x134e)];++_0x5be0fd){const _0x4ca709=_0x3bc293[_0x5be0fd],_0x5eeaf0=_0x4ca709[_0x2196bd(0x1779,_0x297868._0x58123c)],_0x582a30=_0x5eeaf0['length'];for(let _0x5adf27=0x0;_0x5adf27<_0x582a30;++_0x5adf27){const _0x2328ea=_0x5eeaf0[_0x5adf27];_0x2328ea['level']=0x0,_0x4ef53f[_0x59dc9a(0xf38,0x9c8)][_0x59dc9a(0x24b,-_0x297868._0x4d66dd)](_0x2328ea);}_0x3bc293[_0x5be0fd]['freeResources']();}_0x4ef53f['_levelZeroTiles']=undefined,_0x4ef53f[_0x2196bd(0xbe1,_0x297868._0x2d1fcc)][_0x59dc9a(_0x297868._0x409dae,0xed9)]();}function updateTileLoadProgress(_0x11751e,_0x2017c8){const _0x6e355f={_0xac1d87:0x15cb,_0x39fbee:0xc58,_0x360f27:0x337,_0x3689d6:0x1ab,_0x39489b:0x4a3,_0x529866:0x1318,_0x5a7fde:0x9d,_0x219e50:0x843,_0x3cefbf:0x823,_0x4ee43f:0x1103,_0x453cff:0x7a2,_0x4dfe14:0x74b,_0x2a7585:0x2f8,_0x38aa12:0xbc0,_0x11020b:0x665,_0xea445f:0x1f66,_0x4ceaa8:0x1415,_0x16fb6f:0x618,_0x1f63f4:0x5d0},_0x113476={_0x4ec35f:0xa0};function _0x255b37(_0x5a62ec,_0x175d72){return _0x306755(_0x5a62ec,_0x175d72- -0x18e);}const _0x5570b5=_0x11751e['_tileLoadQueueHigh']['length']+_0x11751e[_0x255b37(0x175d,0x1673)][_0x151164(0x10fa,_0x6e355f._0xac1d87)]+_0x11751e['_tileLoadQueueLow']['length'];if(_0x5570b5!==_0x11751e['_lastTileLoadQueueLength']||_0x11751e['_tilesInvalidated']){const _0x52d08e=Cesium__namespace[_0x151164(_0x6e355f._0x39fbee,0x159a)]['prototype'][_0x255b37(0xe07,_0x6e355f._0x360f27)]['bind'](_0x11751e['_tileLoadProgressEvent'],_0x5570b5);_0x2017c8[_0x151164(0x48e,0x353)]['push'](()=>{return _0x52d08e(),!![];}),_0x11751e['_lastTileLoadQueueLength']=_0x5570b5;}function _0x151164(_0x2da0e0,_0x168fcc){return _0x2b6441(_0x168fcc,_0x2da0e0-_0x113476._0x4ec35f);}const _0x2edae2=_0x11751e[_0x151164(_0x6e355f._0x3689d6,0x5e8)];_0x2edae2[_0x255b37(0x1071,0xa01)]&&!_0x2edae2[_0x151164(0x2bf,_0x6e355f._0x39489b)]&&(_0x2edae2['maxDepth']=_0x11751e['_tilesToRender']['reduce']((_0x134f45,_0x46f1c9)=>{return Math['max'](_0x134f45,_0x46f1c9['level']);},-0x1),_0x2edae2['tilesRendered']=_0x11751e['_tilesToRender'][_0x151164(0x10fa,_0x6e355f._0x529866)],(_0x2edae2['tilesVisited']!==_0x2edae2['lastTilesVisited']||_0x2edae2['tilesRendered']!==_0x2edae2['lastTilesRendered']||_0x2edae2['tilesCulled']!==_0x2edae2['lastTilesCulled']||_0x2edae2['maxDepth']!==_0x2edae2['lastMaxDepth']||_0x2edae2['tilesWaitingForChildren']!==_0x2edae2['lastTilesWaitingForChildren']||_0x2edae2['maxDepthVisited']!==_0x2edae2['lastMaxDepthVisited'])&&(console[_0x151164(-_0x6e355f._0x5a7fde,0x74a)]('Visited\x20'+_0x2edae2['tilesVisited']+_0x255b37(_0x6e355f._0x219e50,0x696)+_0x2edae2['tilesRendered']+_0x255b37(_0x6e355f._0x3cefbf,_0x6e355f._0x4ee43f)+_0x2edae2['tilesCulled']+',\x20Max\x20Depth\x20Rendered:\x20'+_0x2edae2['maxDepth']+_0x151164(_0x6e355f._0x453cff,0x11f8)+_0x2edae2[_0x255b37(_0x6e355f._0x4dfe14,0xf68)]+',\x20Waiting\x20for\x20children:\x20'+_0x2edae2[_0x151164(_0x6e355f._0x2a7585,0x1ce)]),_0x2edae2['lastTilesVisited']=_0x2edae2[_0x151164(_0x6e355f._0x38aa12,_0x6e355f._0x11020b)],_0x2edae2[_0x151164(0x96,0x656)]=_0x2edae2[_0x255b37(_0x6e355f._0xea445f,0x17f6)],_0x2edae2[_0x255b37(0x1d0f,_0x6e355f._0x4ceaa8)]=_0x2edae2['tilesCulled'],_0x2edae2[_0x151164(0x443,-0x346)]=_0x2edae2['maxDepth'],_0x2edae2['lastTilesWaitingForChildren']=_0x2edae2[_0x255b37(_0x6e355f._0x16fb6f,0x66b)],_0x2edae2[_0x151164(0x108c,_0x6e355f._0x1f63f4)]=_0x2edae2['maxDepthVisited']));}let comparisonPoint;const centerScratch=new Cesium__namespace[(_0x2b6441(0x78a,0x368))]();function compareDistanceToPoint(_0x279773,_0x1434ce){const _0x137de8={_0x866e2e:0xe25,_0xc788a6:0x46c,_0x156472:0xcb8};function _0x53f1e2(_0x3e8360,_0x333dd9){return _0x306755(_0x333dd9,_0x3e8360- -0x325);}function _0x325de5(_0x36db37,_0x3591a4){return _0x2b6441(_0x3591a4,_0x36db37-0x286);}let _0x2fd46d=Rectangle[_0x53f1e2(0x3d7,-0xf9)](_0x279773['rectangle'],centerScratch);const _0x3155dd=_0x2fd46d[_0x53f1e2(_0x137de8._0x866e2e,_0x137de8._0xc788a6)]-comparisonPoint['longitude'],_0x24d097=_0x2fd46d[_0x325de5(_0x137de8._0x156472,0x8d4)]-comparisonPoint['latitude'];_0x2fd46d=Rectangle['center'](_0x1434ce['rectangle'],centerScratch);const _0x510330=_0x2fd46d[_0x325de5(0xe2f,0xbfc)]-comparisonPoint['longitude'],_0x5ae6c3=_0x2fd46d['latitude']-comparisonPoint['latitude'];return _0x3155dd*_0x3155dd+_0x24d097*_0x24d097-(_0x510330*_0x510330+_0x5ae6c3*_0x5ae6c3);}const cameraOriginScratch=new Cartesian3();let rootTraversalDetails=[];function selectTilesForRendering(_0x375ffe,_0x2ef295){const _0x149061={_0x54fa64:0x715,_0x21e696:0x3e,_0x2c05cc:0x829,_0x30f431:0x5d2,_0x357a3c:0x184,_0x292495:0xdba,_0x25e21a:0x5cd,_0x35d070:0x10b1,_0x1a67a0:0x2053,_0x467ebb:0x6cb,_0x2ef439:0xd55,_0x4d8941:0x103c,_0x58ea4d:0x1543,_0x332109:0x938,_0x17584d:0x607,_0x5d6682:0x116a},_0x450d93={_0x833c88:0x60a},_0x3366b9=_0x375ffe[_0x4645bd(0x313,_0x149061._0x54fa64)];if(_0x3366b9[_0x4645bd(-_0x149061._0x21e696,_0x149061._0x2c05cc)])return;const _0x4dd1a6=_0x375ffe[_0x4da04b(0xbdd,0xb50)];_0x4dd1a6['length']=0x0;let _0x52688b;const _0x2e97dc=_0x375ffe[_0x4da04b(_0x149061._0x30f431,_0x149061._0x357a3c)];if(!defined(_0x375ffe['_levelZeroTiles'])){const _0x1f784a=_0x2e97dc[_0x4645bd(0x13ae,_0x149061._0x292495)];if(defined(_0x1f784a)){_0x375ffe['_levelZeroTiles']=QuadtreeTile['createLevelZeroTiles'](_0x1f784a);const _0x3905ca=_0x375ffe['_levelZeroTiles']['length'];if(rootTraversalDetails['length']<_0x3905ca){rootTraversalDetails=new Array(_0x3905ca);for(_0x52688b=0x0;_0x52688b<_0x3905ca;++_0x52688b){rootTraversalDetails[_0x52688b]===undefined&&(rootTraversalDetails[_0x52688b]=new TraversalDetails());}}}else return;}_0x375ffe['_occluders']['ellipsoid'][_0x4645bd(0x439,_0x149061._0x25e21a)]=_0x2ef295[_0x4645bd(0x1661,_0x149061._0x35d070)]['positionWC'];let _0x5415f0;const _0x5786fc=_0x375ffe['_levelZeroTiles'],_0x31eb14=_0x5786fc[_0x4645bd(_0x149061._0x1a67a0,0x1664)]>0x1?_0x375ffe['_occluders']:undefined;comparisonPoint=_0x2ef295[_0x4da04b(0x10f4,0xa73)]['positionCartographic'];function _0x4645bd(_0x103d4a,_0x400bec){return _0x2b6441(_0x103d4a,_0x400bec-_0x450d93._0x833c88);}_0x5786fc['sort'](compareDistanceToPoint);const _0x32fa7b=_0x375ffe['_addHeightCallbacks'],_0x1c9d40=_0x375ffe['_removeHeightCallbacks'],_0x113332=_0x2ef295['frameNumber'];let _0x5db992;if(_0x32fa7b['length']>0x0||_0x1c9d40[_0x4645bd(0x14cd,0x1664)]>0x0){for(_0x52688b=0x0,_0x5db992=_0x5786fc['length'];_0x52688b<_0x5db992;++_0x52688b){_0x5415f0=_0x5786fc[_0x52688b],_0x5415f0['_updateCustomData'](_0x113332,_0x32fa7b,_0x1c9d40);}_0x32fa7b['length']=0x0,_0x1c9d40['length']=0x0;}const _0x5c5367=_0x2ef295[_0x4da04b(0x10f4,0x1920)];_0x375ffe[_0x4645bd(_0x149061._0x467ebb,_0x149061._0x2ef439)]=_0x5c5367['positionCartographic'];const _0x234a75=Matrix4['getTranslation'](_0x5c5367['transform'],cameraOriginScratch);_0x375ffe[_0x4da04b(_0x149061._0x4d8941,0x1ac7)]=_0x375ffe['tileProvider'][_0x4645bd(0x7ae,0xdba)][_0x4645bd(0x1b6e,_0x149061._0x58ea4d)]['cartesianToCartographic'](_0x234a75,_0x375ffe[_0x4da04b(0x103c,0xfe0)]);for(_0x52688b=0x0,_0x5db992=_0x5786fc['length'];_0x52688b<_0x5db992;++_0x52688b){_0x5415f0=_0x5786fc[_0x52688b],_0x375ffe['_tileReplacementQueue'][_0x4da04b(_0x149061._0x332109,_0x149061._0x17584d)](_0x5415f0),!_0x5415f0['renderable']?(queueTileLoad(_0x375ffe,_0x375ffe[_0x4645bd(_0x149061._0x5d6682,0x153d)],_0x5415f0,_0x2ef295),++_0x3366b9['tilesWaitingForChildren']):visitIfVisible(_0x375ffe,_0x5415f0,_0x2e97dc,_0x2ef295,_0x31eb14,![],rootTraversalDetails[_0x52688b]);}function _0x4da04b(_0x1bc07f,_0x5a0fa5){return _0x2b6441(_0x5a0fa5,_0x1bc07f-0x64d);}_0x375ffe['_lastSelectionFrameNumber']=_0x113332;}function queueTileLoad(_0x1196d9,_0x1d9e08,_0xa6f68f,_0x200150){const _0x1f9526={_0x4a0100:0x688,_0x7496cc:0x17f5},_0x50ed28={_0x3a5361:0xcf},_0x525f54={_0x539c3b:0x99};if(!_0xa6f68f['needsLoading'])return;function _0x3339f2(_0x140df0,_0x3e9472){return _0x2b6441(_0x3e9472,_0x140df0- -_0x525f54._0x539c3b);}function _0x2b414d(_0x44b323,_0x38fb19){return _0x306755(_0x44b323,_0x38fb19- -_0x50ed28._0x3a5361);}_0x1196d9['tileProvider']['computeTileLoadPriority']!==undefined&&(_0xa6f68f['_loadPriority']=_0x1196d9[_0x3339f2(-0x1c5,_0x1f9526._0x4a0100)][_0x2b414d(_0x1f9526._0x7496cc,0xd83)](_0xa6f68f,_0x200150)),_0x1d9e08['push'](_0xa6f68f);}const traversalQuadsByLevel=new Array(0x1f);for(let i=0x0;i_0x3bfdee['maxDepthVisited']&&(_0x3bfdee[_0x55c233(0x158a,_0x258864._0x5af5f9)]=_0x2fc4d8[_0x491772(_0x258864._0x3ad16f,_0x258864._0x3cd556)]);const _0x28a717=screenSpaceError(_0x340ded,_0x50cf47,_0x2fc4d8)<_0x340ded[_0x491772(0x5d2,0xd97)],_0x1c9e08=_0x2fc4d8[_0x55c233(0xe91,0x1267)],_0xb3d510=_0x2fc4d8[_0x55c233(_0x258864._0x2c0c59,0x227)],_0xae5df=_0x2fc4d8['northwestChild'],_0x5bac48=_0x2fc4d8['northeastChild'],_0x25fb59=_0x340ded['_lastSelectionFrameNumber'],_0xc9fd4a=_0x2fc4d8['_lastSelectionResultFrame']===_0x25fb59?_0x2fc4d8['_lastSelectionResult']:TileSelectionResult['NONE'],_0x3418fa=_0x340ded['tileProvider'];if(_0x28a717||_0x301bbc){const _0x42ba77=TileSelectionResult[_0x491772(_0x258864._0x4f7c6a,0xfab)](_0xc9fd4a)===TileSelectionResult[_0x491772(_0x258864._0x3ebf08,_0x258864._0x48e7bd)],_0xcc6616=TileSelectionResult['originalResult'](_0xc9fd4a)===TileSelectionResult['CULLED']||_0xc9fd4a===TileSelectionResult['NONE'],_0x7a41a4=_0x2fc4d8['state']===QuadtreeTileLoadState['DONE'];let _0x3fa34f=_0x42ba77||_0xcc6616||_0x7a41a4;!_0x3fa34f&&(defined(_0x3418fa['canRenderWithoutLosingDetail'])&&(_0x3fa34f=_0x3418fa['canRenderWithoutLosingDetail'](_0x2fc4d8)));if(_0x3fa34f){_0x28a717&&queueTileLoad(_0x340ded,_0x340ded['_tileLoadQueueMedium'],_0x2fc4d8,_0x50cf47);addTileToRenderList(_0x340ded,_0x2fc4d8),_0x54a84d['allAreRenderable']=_0x2fc4d8[_0x55c233(_0x258864._0x51d320,0x53b)],_0x54a84d[_0x491772(0x516,_0x258864._0x422b97)]=_0xc9fd4a===TileSelectionResult['RENDERED'],_0x54a84d[_0x55c233(_0x258864._0x16500e,0x134f)]=_0x2fc4d8['renderable']?0x0:0x1,_0x2fc4d8['_lastSelectionResultFrame']=_0x50cf47['frameNumber'],_0x2fc4d8['_lastSelectionResult']=TileSelectionResult['RENDERED'];!_0x54a84d[_0x55c233(-_0x258864._0x23fe2c,_0x258864._0x5b246f)]&&_0x340ded['_tileToUpdateHeights'][_0x55c233(-0x5ca,_0x258864._0x1f9ed8)](_0x2fc4d8);return;}_0x301bbc=!![],_0x28a717&&queueTileLoad(_0x340ded,_0x340ded['_tileLoadQueueHigh'],_0x2fc4d8,_0x50cf47);}if(_0x3418fa[_0x491772(_0x258864._0x4e9d10,_0x258864._0x2949dc)](_0x2fc4d8)){const _0x1973e8=_0x1c9e08[_0x55c233(0xd8c,0x15f4)]&&_0xb3d510['upsampledFromParent']&&_0xae5df[_0x491772(0x1799,0x10f4)]&&_0x5bac48[_0x491772(0x1799,0x1cbd)];if(_0x1973e8){addTileToRenderList(_0x340ded,_0x2fc4d8),queueTileLoad(_0x340ded,_0x340ded['_tileLoadQueueMedium'],_0x2fc4d8,_0x50cf47),_0x340ded['_tileReplacementQueue'][_0x491772(_0x258864._0xecf654,0xfda)](_0x1c9e08),_0x340ded[_0x55c233(_0x258864._0x11a0cb,0xf57)]['markTileRendered'](_0xb3d510),_0x340ded['_tileReplacementQueue']['markTileRendered'](_0xae5df),_0x340ded[_0x55c233(0xfb6,0xf57)]['markTileRendered'](_0x5bac48),_0x54a84d['allAreRenderable']=_0x2fc4d8[_0x491772(0x6e0,_0x258864._0x43815c)],_0x54a84d[_0x491772(_0x258864._0xab8ac5,_0x258864._0x5c711b)]=_0xc9fd4a===TileSelectionResult[_0x491772(0x82f,-0xb9)],_0x54a84d['notYetRenderableCount']=_0x2fc4d8['renderable']?0x0:0x1,_0x2fc4d8[_0x55c233(_0x258864._0x3698a1,0x8e5)]=_0x50cf47[_0x491772(0xe16,0x1894)],_0x2fc4d8['_lastSelectionResult']=TileSelectionResult[_0x55c233(_0x258864._0x2bc1e2,_0x258864._0x349e77)];!_0x54a84d['anyWereRenderedLastFrame']&&_0x340ded[_0x491772(0x15d7,0x114b)][_0x55c233(-0x25d,0x3d3)](_0x2fc4d8);return;}_0x2fc4d8[_0x55c233(0x105f,0x8e5)]=_0x50cf47[_0x491772(0xe16,0x1851)],_0x2fc4d8['_lastSelectionResult']=TileSelectionResult[_0x491772(0xd43,0xa47)];const _0x2d30a0=_0x340ded['_tilesToRender']['length'],_0x32a48a=_0x340ded['_tileLoadQueueLow']['length'],_0x1f1e9c=_0x340ded['_tileLoadQueueMedium'][_0x491772(0x14da,0x1677)],_0x5e0522=_0x340ded[_0x55c233(0xc6b,0x120e)][_0x55c233(_0x258864._0x25612c,_0x258864._0x414272)],_0xbb587a=_0x340ded[_0x491772(_0x258864._0x5092f5,_0x258864._0x1563bf)][_0x55c233(0x1df7,_0x258864._0x59f75a)];visitVisibleChildrenNearToFar(_0x340ded,_0x1c9e08,_0xb3d510,_0xae5df,_0x5bac48,_0x50cf47,_0x301bbc,_0x54a84d);if(_0x2d30a0!==_0x340ded[_0x55c233(_0x258864._0xd5a0a0,_0x258864._0x2fd889)][_0x491772(0x14da,_0x258864._0x344edd)]){const _0x581fb8=_0x54a84d['allAreRenderable'],_0x1c1b6f=_0x54a84d['anyWereRenderedLastFrame'],_0x4a756b=_0x54a84d['notYetRenderableCount'];let _0xcab339=![];if(!_0x581fb8&&!_0x1c1b6f){const _0x3fb44e=_0x340ded['_tilesToRender'];for(let _0x372a92=_0x2d30a0;_0x372a92<_0x3fb44e['length'];++_0x372a92){let _0x5ead7f=_0x3fb44e[_0x372a92];while(_0x5ead7f!==undefined&&_0x5ead7f[_0x55c233(0x1145,0x1259)]!==TileSelectionResult['KICKED']&&_0x5ead7f!==_0x2fc4d8){_0x5ead7f['_lastSelectionResult']=TileSelectionResult[_0x491772(0x5c8,0xc2f)](_0x5ead7f['_lastSelectionResult']),_0x5ead7f=_0x5ead7f['parent'];}}_0x340ded['_tilesToRender'][_0x55c233(0x1b25,0x1335)]=_0x2d30a0,_0x340ded['_tileToUpdateHeights']['length']=_0xbb587a,addTileToRenderList(_0x340ded,_0x2fc4d8),_0x2fc4d8[_0x491772(_0x258864._0x54f61c,_0x258864._0xa1972b)]=TileSelectionResult['RENDERED'];const _0x3c927d=_0xc9fd4a===TileSelectionResult[_0x491772(0x82f,0xe62)];!_0x3c927d&&_0x4a756b>_0x340ded[_0x491772(_0x258864._0x441c0e,_0x258864._0x38f2eb)]&&(_0x340ded['_tileLoadQueueLow']['length']=_0x32a48a,_0x340ded['_tileLoadQueueMedium']['length']=_0x1f1e9c,_0x340ded['_tileLoadQueueHigh'][_0x55c233(0x1a52,0x1335)]=_0x5e0522,queueTileLoad(_0x340ded,_0x340ded['_tileLoadQueueMedium'],_0x2fc4d8,_0x50cf47),_0x54a84d[_0x55c233(0x1175,0x134f)]=_0x2fc4d8[_0x491772(0x6e0,-_0x258864._0x5d0e64)]?0x0:0x1,_0xcab339=!![]),_0x54a84d['allAreRenderable']=_0x2fc4d8['renderable'],_0x54a84d['anyWereRenderedLastFrame']=_0x3c927d,!_0x3c927d&&_0x340ded['_tileToUpdateHeights']['push'](_0x2fc4d8),++_0x3bfdee[_0x55c233(-_0x258864._0x490b7f,0x533)];}_0x340ded[_0x55c233(_0x258864._0xbcd0d4,_0x258864._0x1e55a9)]&&!_0xcab339&&queueTileLoad(_0x340ded,_0x340ded['_tileLoadQueueLow'],_0x2fc4d8,_0x50cf47);}return;}_0x2fc4d8['_lastSelectionResultFrame']=_0x50cf47['frameNumber'],_0x2fc4d8[_0x491772(_0x258864._0x27df2a,0x166e)]=TileSelectionResult['RENDERED'],addTileToRenderList(_0x340ded,_0x2fc4d8),queueTileLoad(_0x340ded,_0x340ded['_tileLoadQueueHigh'],_0x2fc4d8,_0x50cf47),_0x54a84d['allAreRenderable']=_0x2fc4d8['renderable'],_0x54a84d['anyWereRenderedLastFrame']=_0xc9fd4a===TileSelectionResult[_0x491772(0x82f,0x1091)],_0x54a84d['notYetRenderableCount']=_0x2fc4d8['renderable']?0x0:0x1;}function visitVisibleChildrenNearToFar(_0x4912a9,_0x5d64ff,_0x57b878,_0x2cc29e,_0x20d60d,_0x28c774,_0x243c06,_0x238ff3){const _0xa8076b={_0x23aa63:0x1179,_0x3e166f:0x43d,_0x24b99c:0x1082,_0x4c00d5:0x154a,_0x22bd10:0x1104,_0x125967:0x12a8},_0x40b2a9={_0x1f3cd0:0x6d2},_0x1eabe1={_0x4517fb:0x1c8};function _0x1928d2(_0x23c032,_0x4782e1){return _0x2b6441(_0x23c032,_0x4782e1-_0x1eabe1._0x4517fb);}const _0x9b101e=_0x28c774[_0x4824f5(0x846,_0xa8076b._0x23aa63)]['positionCartographic'],_0x1140d=_0x4912a9['_tileProvider'],_0x1d0baa=_0x4912a9['_occluders'];function _0x4824f5(_0x1c8043,_0x170dfc){return _0x2b6441(_0x1c8043,_0x170dfc-_0x40b2a9._0x1f3cd0);}const _0xf9c7b2=traversalQuadsByLevel[_0x5d64ff['level']],_0x893b57=_0xf9c7b2[_0x4824f5(0x17d0,0x14a1)],_0x23b2f2=_0xf9c7b2['southeast'],_0x96aacd=_0xf9c7b2[_0x1928d2(_0xa8076b._0x3e166f,0x48d)],_0x17f80c=_0xf9c7b2['northeast'];if(_0x9b101e[_0x1928d2(_0xa8076b._0x24b99c,0xd71)]<_0x5d64ff[_0x4824f5(0x1cb9,_0xa8076b._0x4c00d5)]['east'])_0x9b101e[_0x4824f5(0x1560,_0xa8076b._0x22bd10)]<_0x5d64ff[_0x4824f5(0x1c3c,_0xa8076b._0x4c00d5)]['north']?(visitIfVisible(_0x4912a9,_0x5d64ff,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x893b57),visitIfVisible(_0x4912a9,_0x57b878,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x23b2f2),visitIfVisible(_0x4912a9,_0x2cc29e,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x96aacd),visitIfVisible(_0x4912a9,_0x20d60d,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x17f80c)):(visitIfVisible(_0x4912a9,_0x2cc29e,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x96aacd),visitIfVisible(_0x4912a9,_0x5d64ff,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x893b57),visitIfVisible(_0x4912a9,_0x20d60d,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x17f80c),visitIfVisible(_0x4912a9,_0x57b878,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x23b2f2));else _0x9b101e['latitude']<_0x5d64ff['rectangle'][_0x4824f5(0xefd,0xa07)]?(visitIfVisible(_0x4912a9,_0x57b878,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x23b2f2),visitIfVisible(_0x4912a9,_0x5d64ff,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x893b57),visitIfVisible(_0x4912a9,_0x20d60d,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x17f80c),visitIfVisible(_0x4912a9,_0x2cc29e,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x96aacd)):(visitIfVisible(_0x4912a9,_0x20d60d,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x17f80c),visitIfVisible(_0x4912a9,_0x2cc29e,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x96aacd),visitIfVisible(_0x4912a9,_0x57b878,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x23b2f2),visitIfVisible(_0x4912a9,_0x5d64ff,_0x1140d,_0x28c774,_0x1d0baa,_0x243c06,_0x893b57));_0xf9c7b2[_0x1928d2(_0xa8076b._0x125967,0x90d)](_0x238ff3);}function containsNeededPosition(_0x336906,_0x5bfc4d){const _0x5d6e10={_0x4ec7c9:0x8ac,_0x5ae375:0x3a8,_0x50a051:0xc},_0x3cdf6c={_0x24cf58:0x161};function _0x7e9e54(_0x5efae5,_0x3f8794){return _0x306755(_0x3f8794,_0x5efae5- -0x482);}function _0x275889(_0x310c6d,_0x1d1146){return _0x2b6441(_0x1d1146,_0x310c6d-_0x3cdf6c._0x24cf58);}const _0x568b83=_0x5bfc4d['rectangle'];return defined(_0x336906[_0x275889(_0x5d6e10._0x4ec7c9,0x1bf)])&&Rectangle['contains'](_0x568b83,_0x336906['_cameraPositionCartographic'])||defined(_0x336906['_cameraReferenceFrameOriginCartographic'])&&Rectangle[_0x275889(_0x5d6e10._0x5ae375,-_0x5d6e10._0x50a051)](_0x568b83,_0x336906['_cameraReferenceFrameOriginCartographic']);}function visitIfVisible(_0x11501a,_0x9c753e,_0x4011db,_0x2079fa,_0x45badb,_0x3cc117,_0x22db7b){const _0x9f03c0={_0x471c2e:0x167d,_0x4b9161:0xe7e,_0x476aa1:0x20,_0x4f65ca:0x1acd,_0xf2e155:0x1132,_0x3d0b23:0x715,_0x5213f8:0x103b,_0x2552c8:0x114c,_0x2e89ce:0x1715,_0x1ae912:0x1579};if(_0x4011db[_0x134eec(_0x9f03c0._0x471c2e,_0x9f03c0._0x4b9161)](_0x9c753e,_0x2079fa,_0x45badb)!==Visibility[_0x134eec(0x159f,0x1151)])return visitTile(_0x11501a,_0x2079fa,_0x9c753e,_0x3cc117,_0x22db7b);++_0x11501a[_0x3baf5e(0x225,_0x9f03c0._0x476aa1)][_0x3baf5e(0x1256,_0x9f03c0._0x4f65ca)];function _0x3baf5e(_0x4407b5,_0x2a7863){return _0x306755(_0x2a7863,_0x4407b5- -0x487);}_0x11501a['_tileReplacementQueue']['markTileRendered'](_0x9c753e),_0x22db7b[_0x134eec(0xfee,_0x9f03c0._0xf2e155)]=!![];function _0x134eec(_0x234f89,_0x3f486a){return _0x2b6441(_0x234f89,_0x3f486a-0x4e1);}_0x22db7b[_0x3baf5e(0x1b0,0x253)]=![],_0x22db7b['notYetRenderableCount']=0x0;if(containsNeededPosition(_0x11501a,_0x9c753e)){(!defined(_0x9c753e['data'])||!defined(_0x9c753e['data']['vertexArray']))&&queueTileLoad(_0x11501a,_0x11501a['_tileLoadQueueMedium'],_0x9c753e,_0x2079fa);const _0x50692c=_0x11501a[_0x3baf5e(_0x9f03c0._0x3d0b23,_0x9f03c0._0x5213f8)],_0x46a20f=_0x9c753e['_lastSelectionResultFrame']===_0x50692c?_0x9c753e['_lastSelectionResult']:TileSelectionResult['NONE'];_0x46a20f!==TileSelectionResult['CULLED_BUT_NEEDED']&&_0x46a20f!==TileSelectionResult['RENDERED']&&_0x11501a['_tileToUpdateHeights']['push'](_0x9c753e),_0x9c753e['_lastSelectionResult']=TileSelectionResult['CULLED_BUT_NEEDED'];}else _0x11501a[_0x134eec(_0x9f03c0._0x2552c8,0xe63)]||_0x9c753e['level']===0x0?(queueTileLoad(_0x11501a,_0x11501a[_0x3baf5e(0x112c,_0x9f03c0._0x2e89ce)],_0x9c753e,_0x2079fa),_0x9c753e[_0x3baf5e(0x1098,0x675)]=TileSelectionResult['CULLED']):_0x9c753e[_0x134eec(_0x9f03c0._0x1ae912,0x145f)]=TileSelectionResult['CULLED'];_0x9c753e['_lastSelectionResultFrame']=_0x2079fa[_0x3baf5e(0xab0,0xbd1)];}function screenSpaceError(_0x26a596,_0x597e9e,_0x1f7177){const _0x1a6239={_0x521b55:0x1176,_0x398ec4:0xcac,_0x264b34:0xf7d,_0x1d9bcc:0x13ac,_0x44a048:0xb74,_0x1b77dd:0xdb9,_0x22ce5b:0xc9c,_0x700f55:0x792,_0xd0f9d1:0x4f0},_0x30ca57={_0x48393a:0x4d6},_0x1fa323={_0x15ef93:0x632};function _0x2e4922(_0x38de26,_0x27c2e8){return _0x306755(_0x27c2e8,_0x38de26- -_0x1fa323._0x15ef93);}if(_0x597e9e[_0x5d2411(0x1550,0x1583)]===SceneMode[_0x2e4922(0x6cf,_0x1a6239._0x521b55)]||_0x597e9e['camera'][_0x5d2411(_0x1a6239._0x398ec4,0x14bd)]instanceof OrthographicFrustum||_0x597e9e[_0x5d2411(_0x1a6239._0x264b34,_0x1a6239._0x1d9bcc)]['frustum']instanceof OrthographicOffCenterFrustum)return screenSpaceError2D(_0x26a596,_0x597e9e,_0x1f7177);function _0x5d2411(_0x369873,_0x384711){return _0x2b6441(_0x384711,_0x369873-_0x30ca57._0x48393a);}const _0x60aa3f=_0x26a596[_0x2e4922(-0x10c,-0x41b)]['getLevelMaximumGeometricError'](_0x1f7177['level']),_0x49342b=_0x1f7177['_distance'],_0x14a5c8=_0x597e9e[_0x2e4922(0x20,-0x99f)][_0x5d2411(_0x1a6239._0x44a048,_0x1a6239._0x1b77dd)],_0x538217=_0x597e9e[_0x5d2411(0xf7d,0x145a)][_0x5d2411(0xcac,0x13e7)]['sseDenominator'];let _0x422169=_0x60aa3f*_0x14a5c8/(_0x49342b*_0x538217);return _0x597e9e[_0x2e4922(0x91c,0xd24)]['enabled']&&(_0x422169-=Cesium__namespace['Math'][_0x5d2411(0xe83,_0x1a6239._0x22ce5b)](_0x49342b,_0x597e9e['fog']['density'])*_0x597e9e['fog'][_0x2e4922(_0x1a6239._0x700f55,_0x1a6239._0xd0f9d1)]),_0x422169/=_0x597e9e['pixelRatio'],_0x422169;}function screenSpaceError2D(_0x1e3e02,_0x3b9962,_0x413df5){const _0x22f00c={_0x3dd182:0xdd7,_0x162f91:0x6b2,_0x2bddf7:0x3ea,_0xa64bc2:0x789,_0x4ffaa7:0x586,_0x1a77d3:0xb72,_0x16799e:0x3bf,_0x490a40:0x13fb,_0x3c9ce6:0x8a4,_0x103e03:0xe97,_0x1aef6e:0x10cd,_0x3e9855:0xed9,_0x54807e:0x13bd,_0x45d4ef:0x43,_0x4eab9b:0x7b9},_0x55bb56={_0x3094db:0x60},_0x226334=_0x3b9962[_0x494def(0x10a8,0x17a0)];function _0x1116dc(_0x62a61,_0x5f26c9){return _0x2b6441(_0x5f26c9,_0x62a61-0x13f);}let _0x150156=_0x226334[_0x494def(_0x22f00c._0x3dd182,0x9f0)];const _0x5f38ea=_0x150156['offCenterFrustum'];defined(_0x5f38ea)&&(_0x150156=_0x5f38ea);const _0x10c4c5=_0x3b9962[_0x494def(_0x22f00c._0x162f91,-_0x22f00c._0x2bddf7)],_0x481d77=_0x10c4c5[_0x494def(_0x22f00c._0xa64bc2,0x8bb)],_0xc2c791=_0x10c4c5['drawingBufferHeight'],_0x3db873=_0x1e3e02[_0x494def(_0x22f00c._0x4ffaa7,_0x22f00c._0x1a77d3)][_0x1116dc(_0x22f00c._0x16799e,-0x5d7)](_0x413df5[_0x1116dc(0x12ba,_0x22f00c._0x490a40)]),_0x2d7856=Math[_0x1116dc(_0x22f00c._0x3c9ce6,_0x22f00c._0x103e03)](_0x150156[_0x494def(0x1725,0x1c59)]-_0x150156[_0x1116dc(0xf8d,0x16f7)],_0x150156[_0x1116dc(_0x22f00c._0x1aef6e,_0x22f00c._0x3e9855)]-_0x150156['left'])/Math['max'](_0x481d77,_0xc2c791);let _0x59f125=_0x3db873/_0x2d7856;_0x3b9962['fog'][_0x1116dc(0xe6e,0x16d0)]&&_0x3b9962['mode']!==SceneMode[_0x494def(0xd61,_0x22f00c._0x54807e)]&&(_0x59f125-=Cesium__namespace['Math'][_0x1116dc(0xaec,0xbaa)](_0x413df5['_distance'],_0x3b9962['fog']['density'])*_0x3b9962['fog']['sse']);function _0x494def(_0x37ac84,_0x4cb4da){return _0x306755(_0x4cb4da,_0x37ac84-_0x55bb56._0x3094db);}return _0x59f125/=_0x3b9962[_0x1116dc(_0x22f00c._0x45d4ef,_0x22f00c._0x4eab9b)],_0x59f125;}function addTileToRenderList(_0x4f36f5,_0x3f681d){const _0x46825c={_0x531899:0x6cf,_0x22d5a0:0x79c,_0xbfdb00:0x173};function _0x1f6a1a(_0x58f0f4,_0x11aceb){return _0x2b6441(_0x58f0f4,_0x11aceb-0x361);}function _0x4412ff(_0x38470f,_0x3af525){return _0x2b6441(_0x3af525,_0x38470f-0x13f);}_0x4f36f5[_0x4412ff(_0x46825c._0x531899,_0x46825c._0x22d5a0)][_0x4412ff(0x237,_0x46825c._0xbfdb00)](_0x3f681d);}function processTileLoadQueue(_0x4d4b9b,_0xb549a6){const _0x210835={_0x58a7f3:0x1652,_0x3f9df8:0xe50,_0x11331e:0x123b,_0x9765d3:0x1985,_0x279d96:0x179d},_0x7f3f3={_0x1655ce:0x1e1},_0x421167=_0x4d4b9b[_0x1c7d3d(0x1573,0x138f)],_0x309d90=_0x4d4b9b['_tileLoadQueueMedium'],_0x106e2c=_0x4d4b9b[_0x1c7d3d(_0x210835._0x58a7f3,0x20d6)];if(_0x421167[_0x490e04(0xab1,0x123b)]===0x0&&_0x309d90[_0x1c7d3d(0x169a,0x129c)]===0x0&&_0x106e2c[_0x490e04(_0x210835._0x3f9df8,_0x210835._0x11331e)]===0x0)return;_0x4d4b9b['_tileReplacementQueue'][_0x490e04(0x1499,0xd4a)](_0x4d4b9b['tileCacheSize']);const _0x5b38cd=getTimestamp()+_0x4d4b9b[_0x1c7d3d(_0x210835._0x9765d3,_0x210835._0x279d96)],_0x5a3da0=_0x4d4b9b['_tileProvider'];function _0x1c7d3d(_0x4e8641,_0x4f5fc7){return _0x306755(_0x4f5fc7,_0x4e8641-0x9f);}let _0x4b1191=processSinglePriorityLoadQueue(_0x4d4b9b,_0xb549a6,_0x5a3da0,_0x5b38cd,_0x421167,![]);_0x4b1191=processSinglePriorityLoadQueue(_0x4d4b9b,_0xb549a6,_0x5a3da0,_0x5b38cd,_0x309d90,_0x4b1191);function _0x490e04(_0x445c16,_0x548165){return _0x2b6441(_0x445c16,_0x548165-_0x7f3f3._0x1655ce);}processSinglePriorityLoadQueue(_0x4d4b9b,_0xb549a6,_0x5a3da0,_0x5b38cd,_0x106e2c,_0x4b1191);}function sortByLoadPriority(_0x289914,_0x1b8eac){return _0x289914['_loadPriority']-_0x1b8eac['_loadPriority'];}function processSinglePriorityLoadQueue(_0x3280d1,_0x5415ba,_0xc3d7f7,_0x552e05,_0x2d9d06,_0x4c4473){const _0x1351c7={_0x564f06:0x10e9,_0x1f3c8e:0x10e5},_0xf15967={_0x1f518a:0x138},_0x3e9a98={_0xdf1c3a:0x179};function _0x389f08(_0x1c31da,_0x1c3dff){return _0x2b6441(_0x1c31da,_0x1c3dff-_0x3e9a98._0xdf1c3a);}_0xc3d7f7[_0x389f08(_0x1351c7._0x564f06,0xa2a)]!==undefined&&_0x2d9d06['sort'](sortByLoadPriority);function _0x54a037(_0x478877,_0x59be98){return _0x306755(_0x478877,_0x59be98- -_0xf15967._0x1f518a);}for(let _0x9e3548=0x0,_0x158d89=_0x2d9d06['length'];_0x9e3548<_0x158d89&&(getTimestamp()<_0x552e05||!_0x4c4473);++_0x9e3548){const _0xb477b0=_0x2d9d06[_0x9e3548];_0x3280d1[_0x54a037(0x1179,_0x1351c7._0x1f3c8e)][_0x54a037(-0xc8,0x754)](_0xb477b0),_0xc3d7f7[_0x54a037(0x1092,0x1628)](_0x5415ba,_0xb477b0),_0x4c4473=!![];}return _0x4c4473;}const scratchRay=new Ray(),scratchCartographic=new Cesium__namespace[(_0x306755(0xdc0,0x909))](),scratchPosition=new Cartesian3(),scratchArray=[];function updateHeights(_0x43a844,_0x519b05){const _0x2d6d12={_0x5900fb:0xd3e,_0xa1bd7e:0xa8d,_0x393c7e:0x5d7,_0x1abcd4:0x19f3,_0x1bb10c:0x159d,_0x418508:0x15c9,_0x4c5f0f:0x1820,_0x4a3184:0xb6c,_0x5711cf:0x536,_0x461841:0x72a,_0x33ff5b:0x6e6,_0x42bd89:0x525,_0x52f06f:0x2012},_0x557e14={_0x258c44:0xa6};if(!defined(_0x43a844['tileProvider']['tilingScheme']))return;const _0x5afd2c=scratchArray;_0x5afd2c['length']=0x0;function _0x18c0d7(_0x3d92df,_0x1e953c){return _0x306755(_0x3d92df,_0x1e953c- -_0x557e14._0x258c44);}const _0x182174=_0x43a844['_tileToUpdateHeights'],_0x418ab5=getTimestamp(),_0x421e70=_0x43a844['_updateHeightsTimeSlice'],_0x1a0ef0=_0x418ab5+_0x421e70,_0x28172f=_0x519b05[_0x2fefc0(0x1cdf,0x1684)],_0xc307d9=_0x519b05['mapProjection'],_0x2cbc2c=_0x43a844['tileProvider'][_0x18c0d7(0xea6,0xcab)][_0x18c0d7(0x1bd0,0x1434)];let _0x410387;while(_0x182174['length']>0x0){const _0x5cf105=_0x182174[0x0];if(!defined(_0x5cf105[_0x18c0d7(0x1405,0x134c)])||!defined(_0x5cf105['data']['mesh'])){const _0x2d090e=_0x5cf105['_lastSelectionResultFrame']===_0x43a844['_lastSelectionFrameNumber']?_0x5cf105['_lastSelectionResult']:TileSelectionResult[_0x18c0d7(0x730,0x116b)];(_0x2d090e===TileSelectionResult[_0x2fefc0(0xeea,0x9b9)]||_0x2d090e===TileSelectionResult[_0x2fefc0(_0x2d6d12._0x5900fb,0x1549)])&&_0x5afd2c['push'](_0x5cf105);_0x182174[_0x18c0d7(_0x2d6d12._0xa1bd7e,0x525)](),_0x43a844[_0x18c0d7(0xf23,0x5d7)]=0x0;continue;}const _0x4bd3fa=_0x5cf105['customData'],_0x261a97=_0x4bd3fa['length'];let _0x211830=![];for(_0x410387=_0x43a844[_0x18c0d7(0x6cb,_0x2d6d12._0x393c7e)];_0x410387<_0x261a97;++_0x410387){const _0x17fabe=_0x4bd3fa[_0x410387],_0x4ce334=_0x5cf105['data']['terrainData'],_0x244ad2=defined(_0x4ce334)&&_0x4ce334[_0x2fefc0(0x2031,0x1920)]();if(_0x5cf105['level']>_0x17fabe['level']&&!_0x244ad2){!defined(_0x17fabe[_0x2fefc0(_0x2d6d12._0x1abcd4,0x18c1)])&&(_0x17fabe[_0x2fefc0(0x19d4,0x18c1)]=Cartesian3[_0x2fefc0(0x193,0xc44)](_0x17fabe['positionCartographic']['longitude'],_0x17fabe[_0x2fefc0(0x137c,0xe15)][_0x2fefc0(_0x2d6d12._0x1bb10c,0x103c)],0x0,_0x2cbc2c));if(_0x28172f===SceneMode['SCENE3D']){const _0x27a1c5=_0x2cbc2c[_0x18c0d7(0x1564,0x158e)](_0x17fabe['positionOnEllipsoidSurface'],scratchRay[_0x18c0d7(0x1d2e,0x1495)]),_0x4d1b9f=_0x2cbc2c['getSurfaceNormalIntersectionWithZAxis'](_0x17fabe['positionOnEllipsoidSurface'],0x2cec,scratchRay[_0x2fefc0(0x194e,_0x2d6d12._0x418508)]);if(!defined(_0x4d1b9f)){let _0x375f38=0x0;defined(_0x5cf105['data']['tileBoundingRegion'])&&(_0x375f38=_0x5cf105['data']['tileBoundingRegion']['minimumHeight']);const _0x194e06=Math['min'](_0x375f38,-0x2cec),_0x538c4a=Cartesian3['multiplyByScalar'](_0x27a1c5,Math['abs'](_0x194e06)+0x1,scratchPosition);Cartesian3['subtract'](_0x17fabe[_0x18c0d7(0x1e20,0x17b2)],_0x538c4a,scratchRay[_0x2fefc0(0x119d,0x15c9)]);}}else Cesium__namespace['Cartographic']['clone'](_0x17fabe['positionCartographic'],scratchCartographic),scratchCartographic[_0x18c0d7(0xd6a,0xb4c)]=-0x2cec,_0xc307d9[_0x2fefc0(_0x2d6d12._0x4c5f0f,0x106b)](scratchCartographic,scratchPosition),Cartesian3['fromElements'](scratchPosition['z'],scratchPosition['x'],scratchPosition['y'],scratchPosition),Cartesian3['clone'](scratchPosition,scratchRay[_0x2fefc0(0x1296,0x15c9)]),Cartesian3['clone'](Cartesian3[_0x2fefc0(0x6c3,0xf97)],scratchRay['direction']);const _0x1b303d=_0x5cf105['data']['pick'](scratchRay,_0x28172f,_0xc307d9,![],scratchPosition);defined(_0x1b303d)&&(defined(_0x17fabe[_0x18c0d7(_0x2d6d12._0x4a3184,_0x2d6d12._0x5711cf)])&&_0x17fabe['callback'](_0x1b303d),_0x17fabe['level']=_0x5cf105['level']);}if(getTimestamp()>=_0x1a0ef0){_0x211830=!![];break;}}if(_0x211830){_0x43a844[_0x2fefc0(_0x2d6d12._0x461841,_0x2d6d12._0x33ff5b)]=_0x410387;break;}else _0x43a844[_0x2fefc0(0x926,0x6e6)]=0x0,_0x182174[_0x18c0d7(0x8c2,_0x2d6d12._0x42bd89)]();}function _0x2fefc0(_0x4a5e38,_0x2cf378){return _0x306755(_0x4a5e38,_0x2cf378-0x69);}for(_0x410387=0x0;_0x410387<_0x5afd2c[_0x18c0d7(_0x2d6d12._0x52f06f,0x1555)];_0x410387++){_0x182174['push'](_0x5afd2c[_0x410387]);}}function createRenderCommandsForSelectedTiles(_0x4163a8,_0x1ca278){const _0x54ca8e=_0x4163a8['_tileProvider'],_0x457538=_0x4163a8['_tilesToRender'];for(let _0xa1697c=0x0,_0x33a71f=_0x457538['length'];_0xa1697c<_0x33a71f;++_0xa1697c){const _0x33937d=_0x457538[_0xa1697c];_0x54ca8e['showTileThisFrame'](_0x33937d,_0x1ca278);}}const applicableRectangleScratch=new Rectangle();function pickImageryHelper(_0x522fd1,_0x15aaf8,_0x4eb50d,_0x3a814d){const _0x2658d2={_0x818507:0x1a01,_0x54dc06:0x104b,_0x5c6bcd:0x1768,_0x5a0a0f:0xedb,_0x4241fd:0xe5a,_0x16fa8d:0xef8,_0x402fcb:0x158e,_0x4e5a22:0xe5a,_0x8fc04d:0x1836,_0x2eb8db:0x317},_0x137f7e={_0x2b2f14:0x5bf};function _0x55b3b4(_0x8c6711,_0x51bcd6){return _0x306755(_0x51bcd6,_0x8c6711-0x175);}const _0x519009=_0x522fd1['_tilesToRender'];let _0x1864e0;function _0x1e6364(_0xeae24f,_0x4cd659){return _0x306755(_0x4cd659,_0xeae24f- -_0x137f7e._0x2b2f14);}for(let _0xd6522b=0x0;!defined(_0x1864e0)&&_0xd6522b<_0x519009[_0x55b3b4(0x1770,_0x2658d2._0x818507)];++_0xd6522b){const _0xda8833=_0x519009[_0xd6522b];Rectangle['contains'](_0xda8833['rectangle'],_0x15aaf8)&&(_0x1864e0=_0xda8833);}if(!defined(_0x1864e0))return;const _0x38b537=_0x1864e0[_0x55b3b4(0x1567,0x13c0)]['imagery'];for(let _0x3b666d=_0x38b537[_0x55b3b4(0x1770,0x10ee)]-0x1;_0x3b666d>=0x0;--_0x3b666d){const _0x3d46a0=_0x38b537[_0x3b666d],_0x36a2f9=_0x3d46a0['readyImagery'];if(!defined(_0x36a2f9))continue;const _0x22c455=_0x36a2f9['imageryLayer']['imageryProvider'];if(_0x4eb50d&&!defined(_0x22c455['pickFeatures']))continue;if(!Rectangle['contains'](_0x36a2f9[_0x55b3b4(0x158e,0x1e49)],_0x15aaf8))continue;const _0x5d9f89=applicableRectangleScratch,_0x1c11c1=0x1/0x400;_0x5d9f89['west']=Cesium__namespace['Math'][_0x55b3b4(_0x2658d2._0x54dc06,0x1032)](_0x1864e0['rectangle']['west'],_0x1864e0[_0x55b3b4(0x158e,0xfe6)]['east'],_0x3d46a0['textureCoordinateRectangle']['x']-_0x1c11c1),_0x5d9f89['east']=Cesium__namespace[_0x55b3b4(0x14e0,_0x2658d2._0x5c6bcd)]['lerp'](_0x1864e0[_0x1e6364(0xe5a,_0x2658d2._0x5a0a0f)]['west'],_0x1864e0[_0x1e6364(_0x2658d2._0x4241fd,0x1677)]['east'],_0x3d46a0[_0x1e6364(_0x2658d2._0x16fa8d,0x1894)]['z']+_0x1c11c1),_0x5d9f89['south']=Cesium__namespace['Math']['lerp'](_0x1864e0[_0x1e6364(0xe5a,0xc5a)]['south'],_0x1864e0[_0x55b3b4(_0x2658d2._0x402fcb,0xe17)]['north'],_0x3d46a0['textureCoordinateRectangle']['y']-_0x1c11c1),_0x5d9f89['north']=Cesium__namespace['Math']['lerp'](_0x1864e0[_0x1e6364(_0x2658d2._0x4e5a22,_0x2658d2._0x8fc04d)]['south'],_0x1864e0['rectangle'][_0x1e6364(_0x2658d2._0x2eb8db,-0x76f)],_0x3d46a0[_0x55b3b4(0x162c,0xfa5)]['w']+_0x1c11c1);if(!Rectangle['contains'](_0x5d9f89,_0x15aaf8))continue;_0x3a814d(_0x36a2f9);}}class QuadtreePrimitive{constructor(_0x57d901){const _0x44bab8={_0x39dc41:0x247,_0x35a80f:0x97,_0x14981d:0x12ef,_0x57e304:0x51a,_0xd8348f:0x12c4,_0x320164:0xde1,_0x1582a5:0x418,_0x21267d:0xb12,_0x4e003b:0xf3e,_0x2b623b:0x130e,_0x289fd9:0x1615,_0x28af16:0x158d,_0x575def:0xc74,_0x225fa3:0xae2,_0x4aac6f:0x9f2,_0x2722d3:0x5f8,_0x178819:0x6,_0x152b9f:0x185d,_0x1deb01:0x1a68,_0x511bf6:0x16d,_0x1c3975:0x1651,_0x5cf3d2:0xecc,_0x5e8cbe:0x196f},_0x331668={_0x5653b7:0x12eb};this['_tileProvider']=new GlobeSurfaceTileProvider(_0x57d901['imageryLayers']),this['_tileProvider'][_0x81674a(0xe38,0x977)]=this,this[_0x81674a(_0x44bab8._0x39dc41,0x657)]['imageryLayersUpdatedEvent'][_0x81674a(0x80b,-_0x44bab8._0x35a80f)](()=>{function _0x57c5ba(_0x1e84a0,_0x54fce2){return _0x81674a(_0x54fce2-0x1bd,_0x1e84a0);}this[_0x57c5ba(_0x331668._0x5653b7,0xf3a)]=!![];});const _0xf4f75a={};_0xf4f75a[_0x81674a(0x8b0,_0x44bab8._0x14981d)]=![],_0xf4f75a['maxDepth']=0x0,_0xf4f75a['maxDepthVisited']=0x0,_0xf4f75a[_0x81674a(0xde2,0xa9f)]=0x0,_0xf4f75a['tilesCulled']=0x0,_0xf4f75a['tilesRendered']=0x0,_0xf4f75a[_0x81674a(_0x44bab8._0x57e304,0x495)]=0x0,_0xf4f75a[_0x4d5f83(0x8cc,0x132a)]=-0x1,_0xf4f75a[_0x81674a(0x12ae,0x18f6)]=-0x1,_0xf4f75a['lastTilesVisited']=-0x1,_0xf4f75a[_0x81674a(_0x44bab8._0xd8348f,_0x44bab8._0x320164)]=-0x1,_0xf4f75a['lastTilesRendered']=-0x1,_0xf4f75a[_0x4d5f83(_0x44bab8._0x1582a5,-0x3e1)]=-0x1,_0xf4f75a['suspendLodUpdate']=![],this[_0x81674a(0x3cd,-0xa4)]=_0xf4f75a;const _0x15fa5e=this['_tileProvider']['tilingScheme'],_0x1c0a39=_0x15fa5e['ellipsoid'];this['_tilesToRender']=[],this[_0x4d5f83(0x145c,_0x44bab8._0x21267d)]=[],this['_tileLoadQueueMedium']=[],this['_tileLoadQueueLow']=[],this[_0x81674a(_0x44bab8._0x4e003b,0x1051)]=new TileReplacementQueue(),this['_levelZeroTiles']=undefined,this[_0x81674a(0x1607,0x1aa5)]=0x5,this['_tilesInvalidated']=![],this[_0x4d5f83(_0x44bab8._0x2b623b,_0x44bab8._0x289fd9)]=[],this['_removeHeightCallbacks']=[],this['_tileToUpdateHeights']=[],this['_lastTileIndex']=0x0,this[_0x4d5f83(_0x44bab8._0x28af16,0xb4d)]=0x2,this[_0x4d5f83(_0x44bab8._0x575def,_0x44bab8._0x225fa3)]=undefined,this['_cameraReferenceFrameOriginCartographic']=undefined,this['maximumScreenSpaceError']=defaultValue(_0x57d901[_0x4d5f83(0x67b,_0x44bab8._0x4aac6f)],0x2),this['tileCacheSize']=defaultValue(_0x57d901['tileCacheSize'],0x64),this[_0x4d5f83(0xdc3,0x5f4)]=0x14,this[_0x81674a(_0x44bab8._0x2722d3,_0x44bab8._0x178819)]=!![],this['preloadSiblings']=![];function _0x4d5f83(_0x103a25,_0xc134c6){return _0x2b6441(_0xc134c6,_0x103a25-0x529);}const _0x1e4279={};_0x1e4279['ellipsoid']=_0x1c0a39,this[_0x4d5f83(_0x44bab8._0x152b9f,_0x44bab8._0x1deb01)]=new QuadtreeOccluders(_0x1e4279),this['_tileLoadProgressEvent']=new Cesium__namespace['Event'](),this['_lastTileLoadQueueLength']=0x0,this[_0x81674a(0x8bd,-_0x44bab8._0x511bf6)]=undefined,this[_0x4d5f83(_0x44bab8._0x1c3975,0x1f6b)]=![];function _0x81674a(_0x28d481,_0xab2d47){return _0x306755(_0xab2d47,_0x28d481- -0x2df);}!Cesium__namespace['ApproximateTerrainHeights'][_0x4d5f83(0x556,_0x44bab8._0x5cf3d2)]?Cesium__namespace[_0x81674a(0x15e0,0xd2d)][_0x4d5f83(0x1354,_0x44bab8._0x5e8cbe)]()[_0x4d5f83(0x128b,0xc40)](()=>{this['isReady']=!![];}):this['isReady']=!![];}get['tileProvider'](){return this['_tileProvider'];}get['tileLoadProgressEvent'](){const _0x134857={_0xa2cc05:0x1870};function _0x482411(_0x4f5397,_0x2196a9){return _0x306755(_0x4f5397,_0x2196a9- -0x34f);}return this[_0x482411(_0x134857._0xa2cc05,0xf1b)];}get['occluders'](){const _0x2e67e2={_0x4c0157:0x18c2};function _0x1e31d1(_0x2c612b,_0x5f306a){return _0x306755(_0x5f306a,_0x2c612b- -0x13);}return this[_0x1e31d1(_0x2e67e2._0x4c0157,0x1643)];}get[_0x2b6441(0x1061,0x7fc)](){const _0x21a325={_0x2c9add:0xcef};function _0x17f5de(_0x400338,_0x4dfad1){return _0x306755(_0x4dfad1,_0x400338- -0xae);}return this['_tileProvider'][_0x17f5de(_0x21a325._0x2c9add,0xda7)];}set[_0x2b6441(0xddc,0x7fc)](_0x78cfa6){this['_tileProvider']['classificationType']=_0x78cfa6;}['invalidateAllTiles'](){this['_tilesInvalidated']=!![];}[_0x2b6441(0xede,0x673)](_0x2da891){const _0x2724b6={_0x22dd7d:0x214,_0x3b3330:0x5df,_0x4ead5e:0x3cc},_0xb87c06={_0x230729:0x611};function _0x4a109b(_0xb69330,_0x558893){return _0x2b6441(_0xb69330,_0x558893- -0x1e);}let _0x53ebf4=this['_tileReplacementQueue'][_0x4e464a(0xa78,_0x2724b6._0x22dd7d)];function _0x4e464a(_0x343974,_0x54182f){return _0x306755(_0x343974,_0x54182f- -_0xb87c06._0x230729);}while(defined(_0x53ebf4)){_0x53ebf4[_0x4a109b(-_0x2724b6._0x3b3330,_0x2724b6._0x4ead5e)]!==QuadtreeTileLoadState['START']&&_0x2da891(_0x53ebf4),_0x53ebf4=_0x53ebf4[_0x4a109b(0x324,0x135)];}}['pickFeatures'](_0x37f096,_0x58ef88){const _0x1f177f={_0x3ca4cf:0xac8,_0x4214b2:0x6bc,_0x3b2edf:0x579},_0x2b4a00={_0x13f97f:0x158b,_0x6ec3c0:0x180},_0x27dac6={_0x474425:0x334},_0x253c26={_0x119b74:0x129c,_0x5a49f4:0x10d2,_0x33a3b1:0xea1},_0x27e9d3={_0x3d46a5:0x49e},_0x1cc8d8={_0x5c1947:0x1e5},_0x7f7f6b=_0x37f096['camera'][_0x2681ca(_0x1f177f._0x3ca4cf,_0x1f177f._0x4214b2)](_0x58ef88);function _0x48926d(_0x539da0,_0x589425){return _0x306755(_0x539da0,_0x589425- -_0x1cc8d8._0x5c1947);}const _0x514687=_0x37f096['globe']['pick'](_0x7f7f6b,_0x37f096);if(!defined(_0x514687))return;const _0x4f4308=_0x37f096[_0x2681ca(0x1052,0x1966)][_0x2681ca(0x103c,0x6ca)]['cartesianToCartographic'](_0x514687);function _0x2681ca(_0x200783,_0x2f2166){return _0x306755(_0x2f2166,_0x200783- -_0x27e9d3._0x3d46a5);}const _0x5843ef=[],_0x47eb9b=[];pickImageryHelper(this,_0x4f4308,!![],function(_0x30d076){function _0x1a8528(_0x1eb17b,_0x2963b9){return _0x2681ca(_0x1eb17b-0x197,_0x2963b9);}const _0xcdb86=_0x30d076['imageryLayer'][_0x421e9e(0x973,_0x253c26._0x119b74)],_0x197416=_0xcdb86[_0x1a8528(0xfb7,0x19f4)](_0x30d076['x'],_0x30d076['y'],_0x30d076[_0x421e9e(_0x253c26._0x5a49f4,_0x253c26._0x33a3b1)],_0x4f4308['longitude'],_0x4f4308[_0x1a8528(0xccc,0x25c)]);function _0x421e9e(_0x5a7264,_0x1602e0){return _0x48926d(_0x1602e0,_0x5a7264- -0x465);}defined(_0x197416)&&(_0x5843ef['push'](_0x197416),_0x47eb9b['push'](_0x30d076['imageryLayer']));});if(_0x5843ef['length']===0x0)return undefined;return Promise[_0x2681ca(_0x1f177f._0x3b2edf,0x674)](_0x5843ef)[_0x2681ca(0xe65,0xeb6)](function(_0x46f253){function _0x2a88f5(_0x412e7e,_0x45c5c7){return _0x48926d(_0x45c5c7,_0x412e7e- -_0x27dac6._0x474425);}const _0x46997a=[];for(let _0x5f8f0=0x0;_0x5f8f0<_0x46f253['length'];++_0x5f8f0){const _0x473dca=_0x46f253[_0x5f8f0],_0x1d0df7=_0x47eb9b[_0x5f8f0];if(defined(_0x473dca)&&_0x473dca[_0x2a88f5(0x10e2,0x18ab)]>0x0)for(let _0x47a046=0x0;_0x47a046<_0x473dca['length'];++_0x47a046){const _0x40104d=_0x473dca[_0x47a046];_0x40104d['imageryLayer']=_0x1d0df7,!defined(_0x40104d['position'])&&(_0x40104d[_0x2a88f5(0xcde,_0x2b4a00._0x13f97f)]=_0x4f4308),_0x46997a[_0x2a88f5(_0x2b4a00._0x6ec3c0,-0x743)](_0x40104d);}}function _0x2c7854(_0x4192eb,_0x30a1e0){return _0x2681ca(_0x4192eb-0x528,_0x30a1e0);}return _0x46997a;});}[_0x306755(0x1627,0x15ac)](_0x4043ad){const _0x37341b={_0x4e0556:0x241,_0x4552a9:0xf89,_0xadc629:0xc78,_0x518c46:0xdc0,_0x1218aa:0xd36},_0x3f42be={_0x992ff3:0xd3};function _0xb490a1(_0x5e00fe,_0x4d8ba4){return _0x306755(_0x4d8ba4,_0x5e00fe- -0x5a5);}if(!this['isReady'])return;defined(this['_tileProvider']['update'])&&this[_0xb490a1(-0x7f,_0x37341b._0x4e0556)]['update'](_0x4043ad);function _0x3d592e(_0x927dc0,_0x4f1f5b){return _0x306755(_0x4f1f5b,_0x927dc0- -_0x3f42be._0x992ff3);}const _0x4b5474=_0x4043ad['passes'];if(!_0x4b5474[_0x3d592e(0x156e,0x16f5)])return;this['_tilesInvalidated']&&(invalidateAllTiles(this),this[_0x3d592e(_0x37341b._0x4552a9,0x16c3)]=![]);this['_tileProvider']['initialize'](_0x4043ad),clearTileLoadQueue(this);if(this['_debug']['suspendLodUpdate'])return;this[_0xb490a1(_0x37341b._0xadc629,_0x37341b._0x518c46)][_0x3d592e(0x954,_0x37341b._0x1218aa)]();}['update'](_0x14264b){const _0x4bde9d={_0x54b237:0x11ea};function _0x449c47(_0x24fe45,_0x3afaa2){return _0x306755(_0x3afaa2,_0x24fe45- -0x4ea);}if(!this['isReady'])return;const _0xb6f144=_0x14264b['passes'],_0xb6a3d=this['_tileProvider'];_0xb6f144[_0x449c47(0x1157,_0x4bde9d._0x54b237)]&&(_0xb6a3d['beginUpdate'](_0x14264b),selectTilesForRendering(this,_0x14264b),createRenderCommandsForSelectedTiles(this,_0x14264b),_0xb6a3d['endUpdate'](_0x14264b));}['postPassesUpdate'](_0x10523c){const _0x47dc1={_0x31bfdb:0xdd1},_0x11c3b9={_0x29052c:0x587};if(!this[_0x44bac4(_0x47dc1._0x31bfdb,0x17c3)])return;function _0x44bac4(_0x348f32,_0x3505bd){return _0x2b6441(_0x348f32,_0x3505bd-0x69b);}const _0x486b51=_0x10523c[_0x3ba517(0xe7a,0x12fc)];if(!_0x486b51['render']||_0x10523c['mode']===SceneMode[_0x3ba517(0x14f,0x199)])return;processTileLoadQueue(this,_0x10523c);function _0x3ba517(_0x1e40e6,_0x48ea32){return _0x306755(_0x1e40e6,_0x48ea32- -_0x11c3b9._0x29052c);}updateHeights(this,_0x10523c),updateTileLoadProgress(this,_0x10523c);}[_0x306755(0x1631,0xb90)](){return![];}[_0x306755(0xf7b,0xf8f)](){const _0x54bf5a={_0x2b73ee:0x685,_0x4acbd9:0x10ee};function _0x2fbd96(_0x109040,_0x331262){return _0x2b6441(_0x109040,_0x331262- -0x6c);}function _0x497fe1(_0x9185ac,_0x3704a0){return _0x2b6441(_0x3704a0,_0x9185ac-0x700);}this['_tileProvider']=this[_0x497fe1(_0x54bf5a._0x2b73ee,0xb6f)]&&this['_tileProvider'][_0x497fe1(_0x54bf5a._0x4acbd9,0x6b3)]();}}const _0x53e70c={};_0x53e70c['shouldAnimate']=!![],_0x53e70c['showRenderLoopErrors']=!![],_0x53e70c[_0x306755(0xc08,0x14dd)]=![],_0x53e70c['selectionIndicator']=![],_0x53e70c['requestRenderMode']=![];const DefaultOptions=_0x53e70c;let mapIndex=0x0;class Map extends BaseClass{constructor(_0x3e58e8,_0x2ba856={}){const _0xd4b640={_0x50c8cc:0x12aa,_0x5c3835:0x4a6,_0x1b5825:0xedb,_0x1df0df:0x18e5,_0x1b95c1:0x1a4a,_0xdf2d9f:0xb66,_0x390051:0x11fc,_0x27e3e8:0x433,_0x37fedd:0x15a6,_0x1fbca8:0x2555,_0x186706:0x1ae4,_0x55421f:0x1397,_0x5c4f06:0x628,_0x3c13e8:0x335,_0x17cfb6:0x198d,_0x2bf5ba:0xcb2,_0x813125:0x137a,_0x701345:0xdd7,_0x357241:0x1727,_0x1826cd:0xf5d},_0x454b8c={_0x20641b:0x140};super(_0x2ba856),this['index']=mapIndex++;function _0x58572c(_0x89eeeb,_0x4a910e){return _0x306755(_0x89eeeb,_0x4a910e-_0x454b8c._0x20641b);}this['options']=_0x2ba856,this['_terrainProviderIndex']=0x0,this['_control']={},this[_0x4d37fd(_0xd4b640._0x50c8cc,0x10e7)]={},this[_0x4d37fd(_0xd4b640._0x5c3835,0x357)]={},this[_0x4d37fd(_0xd4b640._0x1b5825,_0xd4b640._0x1df0df)]=Cesium__namespace[_0x58572c(_0xd4b640._0x1b95c1,0x1a72)]();const _0xd8bfa0=_0x2ba856[_0x58572c(_0xd4b640._0xdf2d9f,_0xd4b640._0x390051)]||{};this[_0x4d37fd(_0xd4b640._0x27e3e8,0xaeb)]=_0xd8bfa0['chinaCRS']||ChinaCRS[_0x58572c(0x1918,0x11f7)];(_0xd8bfa0['token']||_0x2ba856['token'])&&updateAll(_0xd8bfa0['token']||_0x2ba856['token']);(_0xd8bfa0[_0x58572c(_0xd4b640._0x37fedd,0x1ae4)]||_0x2ba856['templateValues'])&&(this[_0x58572c(_0xd4b640._0x1fbca8,_0xd4b640._0x186706)]=_0xd8bfa0[_0x58572c(0x14d3,0x1ae4)]||_0x2ba856['templateValues']);initBeforeCreateDefaultValue(_0x2ba856);_0x3e58e8 instanceof Cesium__namespace['Viewer']?(this['_viewer']=_0x3e58e8,_0x2ba856[_0x58572c(_0xd4b640._0x55421f,0x11d9)]&&this[_0x4d37fd(_0xd4b640._0x5c4f06,_0xd4b640._0x3c13e8)]['imageryLayers'][_0x58572c(_0xd4b640._0x17cfb6,0xf3b)]()):this['_createViewer'](_0x3e58e8,_0x2ba856);this[_0x58572c(_0xd4b640._0x2bf5ba,0x12b5)]=!![],this[_0x4d37fd(_0xd4b640._0x813125,0x1697)]=new MarsArray(),this['_thingList']=new MarsArray(),this['_layerList']=new MarsArray(),this[_0x4d37fd(0xa8f,0xab0)]=new MarsArray(),this['_optionsLayersList']=new MarsArray();function _0x4d37fd(_0x1bb4ed,_0x5ae6f5){return _0x2b6441(_0x5ae6f5,_0x1bb4ed-0x442);}this['_sceneEvent']=new SceneEvent(this),this['_mouseEvent']=new MouseEvent(this,_0x2ba856[_0x58572c(0x133d,_0xd4b640._0x701345)]),this['_sceneOption']=new SceneOption(this),this['_sceneOption']['setOptions'](_0x2ba856['scene'],_0x2ba856[_0x58572c(0x16b,0xba5)]),this['_zoomNavigation']=new ZoomNavigation(this['_viewer']),this[_0x4d37fd(0x11c3,0x1ac2)](),this[_0x58572c(0x1809,_0xd4b640._0x357241)](),this['_initMethod'](_0x2ba856[_0x4d37fd(_0xd4b640._0x1826cd,0xd93)]),this[_0x4d37fd(0x1569,0x1a31)](),this['_initEffect'](),this[_0x58572c(-0x1ba,0x7df)]();}get[_0x2b6441(0xbc8,0xd6a)](){return this['_viewer'];}get[_0x2b6441(0x7ae,0xa5a)](){const _0x459729={_0x33f0e2:0x198};function _0x4aeed5(_0x37e0e0,_0x2c747a){return _0x306755(_0x2c747a,_0x37e0e0- -_0x459729._0x33f0e2);}return this[_0x4aeed5(0x5ef,0xa6c)]['container'];}get['toolbar'](){const _0x3357e8={_0x4a60c0:0x60f,_0x1e6ca6:0x1ac4,_0x315a02:0x11e3},_0xa750c6={_0xe3b7d6:0x8c};function _0x294005(_0xb36310,_0x349086){return _0x306755(_0x349086,_0xb36310-_0xa750c6._0xe3b7d6);}function _0x984d5b(_0x2f111a,_0x44e4de){return _0x306755(_0x2f111a,_0x44e4de- -0x178);}return this[_0x984d5b(0x77d,_0x3357e8._0x4a60c0)][_0x984d5b(_0x3357e8._0x1e6ca6,_0x3357e8._0x315a02)];}get['canvas'](){const _0x10d420={_0x24f604:0x8b};function _0x83ec86(_0x22a7b9,_0x2d3d7d){return _0x2b6441(_0x22a7b9,_0x2d3d7d-_0x10d420._0x24f604);}var _0x12b771;return(_0x12b771=this['_viewer'])===null||_0x12b771===void 0x0?void 0x0:_0x12b771['scene'][_0x83ec86(0x9f2,0x23a)];}get[_0x2b6441(0x7f4,0x4c4)](){var _0x1a5f42;return(_0x1a5f42=this['_viewer'])===null||_0x1a5f42===void 0x0?void 0x0:_0x1a5f42['scene'];}get[_0x2b6441(0x4ed,0xf4f)](){var _0x356676;return(_0x356676=this['_viewer'])===null||_0x356676===void 0x0||(_0x356676=_0x356676['scene'])===null||_0x356676===void 0x0?void 0x0:_0x356676['globe'];}get[_0x2b6441(0x2c2,0xaa7)](){return this['_viewer']['camera'];}get[_0x306755(0x1440,0x10db)](){return this['_viewer']['imageryLayers'];}get[_0x306755(0x1786,0x1055)](){const _0x208ce3={_0x3134a5:0x4a2,_0x12cc9e:0x2ae};function _0x21bdb5(_0x48174a,_0x17ee6d){return _0x2b6441(_0x48174a,_0x17ee6d-0xc8);}return this[_0x21bdb5(_0x208ce3._0x3134a5,_0x208ce3._0x12cc9e)]['dataSources'];}get['entities'](){const _0x4b2c14={_0xf68785:0xcd2},_0x21f082={_0x416139:0xd3};function _0xb2c276(_0x25e039,_0x1f5500){return _0x306755(_0x1f5500,_0x25e039- -_0x21f082._0x416139);}return this['_viewer'][_0xb2c276(0xb95,_0x4b2c14._0xf68785)];}get['clock'](){return this['_viewer']['clock'];}get[_0x2b6441(0x83f,0x60b)](){const _0x11bb2e={_0x385b16:0x813,_0x426139:0x24f,_0x3a06fd:0x5fb},_0x58c4b3={_0x421fac:0x1b3};function _0x32901e(_0x59836f,_0x258af1){return _0x306755(_0x258af1,_0x59836f-0x8c);}function _0x2cf904(_0x40a85d,_0x2bad65){return _0x306755(_0x40a85d,_0x2bad65- -_0x58c4b3._0x421fac);}return this[_0x32901e(_0x11bb2e._0x385b16,-_0x11bb2e._0x426139)]['clock'][_0x32901e(0xc38,_0x11bb2e._0x3a06fd)];}set[_0x2b6441(-0x26c,0x60b)](_0x6d9195){const _0x1c1758={_0x4e252f:0x17a,_0x4d7307:0x3b9,_0x57f7f8:0x59f};function _0x35b47e(_0x59ac48,_0x206138){return _0x306755(_0x206138,_0x59ac48- -0x60d);}function _0x153188(_0x49ef13,_0x5d5cc2){return _0x306755(_0x49ef13,_0x5d5cc2- -0x6c);}this[_0x35b47e(_0x1c1758._0x4e252f,_0x1c1758._0x4d7307)]['clock'][_0x35b47e(_0x1c1758._0x57f7f8,0x578)]=_0x6d9195;}get['cesiumWidget'](){const _0x479db3={_0x206eaa:0x6e6},_0x468fc3={_0x106f6b:0x62d};function _0x5eeaa5(_0x446482,_0x274a67){return _0x306755(_0x446482,_0x274a67- -_0x468fc3._0x106f6b);}return this[_0x5eeaa5(_0x479db3._0x206eaa,0x15a)]['cesiumWidget'];}get[_0x2b6441(0x120,0x925)](){const _0x30f525={_0x85253b:0x16cd,_0x2b4c9f:0x15c5},_0x647295={_0x92e363:0x3e};function _0x28cbea(_0x2713eb,_0x4b3c9f){return _0x306755(_0x2713eb,_0x4b3c9f- -_0x647295._0x92e363);}var _0xb1d968;function _0x44f7aa(_0x3ca642,_0x3564f5){return _0x306755(_0x3ca642,_0x3564f5- -0x1d6);}return(_0xb1d968=this[_0x28cbea(_0x30f525._0x85253b,0xffc)])===null||_0xb1d968===void 0x0?void 0x0:_0xb1d968[_0x44f7aa(0x203a,_0x30f525._0x2b4c9f)];}get['trackedEntity'](){const _0x464ff6={_0x16a1b6:0x5e4,_0x394b2b:0x302},_0x5003e6={_0x39cf99:0x11c};function _0x21ab3e(_0xcc11f6,_0x1680f8){return _0x2b6441(_0xcc11f6,_0x1680f8-_0x5003e6._0x39cf99);}return this[_0x21ab3e(_0x464ff6._0x16a1b6,_0x464ff6._0x394b2b)]['trackedEntity'];}set['trackedEntity'](_0x15f61e){const _0x2b7ba2={_0x41ea20:0x1a3b,_0x51101a:0x17e7,_0x10f7f7:0x1648,_0x1dfcd4:0x805,_0x3e309f:0xee8,_0x3a84b4:0xe0d,_0x3a48f5:0x6bf,_0x17c899:0x477,_0x209dc8:0x19bd},_0x4e8376={_0x85295f:0x32a},_0x33fedb={_0x34de9a:0x23f};function _0x3f84c1(_0x249c1c,_0x2a299){return _0x2b6441(_0x249c1c,_0x2a299-_0x33fedb._0x34de9a);}function _0x2e4cfd(_0x3da1e5,_0x2ba3be){return _0x306755(_0x2ba3be,_0x3da1e5- -_0x4e8376._0x85295f);}if(_0x15f61e){let _0x32685a;if(_0x15f61e instanceof Cesium__namespace['Entity'])_0x32685a=_0x15f61e;else{if(_0x15f61e[_0x3f84c1(_0x2b7ba2._0x41ea20,0x1648)]instanceof Cesium__namespace['Entity'])_0x32685a=_0x15f61e[_0x3f84c1(_0x2b7ba2._0x51101a,_0x2b7ba2._0x10f7f7)];else{if(_0x15f61e[_0x2e4cfd(_0x2b7ba2._0x1dfcd4,0x1199)]instanceof Cesium__namespace[_0x3f84c1(0x79d,0xccd)])_0x32685a=_0x15f61e[_0x3f84c1(_0x2b7ba2._0x3e309f,0x7cd)];else _0x15f61e['trackedEntity']instanceof Cesium__namespace[_0x2e4cfd(0xd05,0x2c4)]&&(_0x32685a=_0x15f61e[_0x3f84c1(0xeec,0x13c9)]);}}_0x32685a&&(!_0x32685a['viewFrom']&&(_0x32685a[_0x2e4cfd(0x9ee,_0x2b7ba2._0x3a84b4)]=new Cesium__namespace[(_0x3f84c1(0xdeb,_0x2b7ba2._0x3a48f5))](-0x1f4,-0x1f4,0xc8)),this[_0x2e4cfd(0x45d,-_0x2b7ba2._0x17c899)]['trackedEntity']=_0x32685a);}else this[_0x3f84c1(-0x3ac,0x425)][_0x2e4cfd(0x1401,_0x2b7ba2._0x209dc8)]=undefined;}get['terrainProvider'](){function _0x5d4dd0(_0x247fb9,_0x45e5b0){return _0x306755(_0x247fb9,_0x45e5b0- -0x4a8);}return this['_viewer'][_0x5d4dd0(0xa22,0x9ef)];}set['terrainProvider'](_0x4b01f6){function _0x3f1acd(_0x570868,_0x2b2cd0){return _0x306755(_0x570868,_0x2b2cd0- -0x4da);}this[_0x3f1acd(0x10,0x6e7)](_0x4b01f6);}async['_updateTerrainProvider'](_0x1966ff){const _0x8199e8={_0x4926cc:0x10d4,_0x4aa684:0x111,_0x140aef:0x27d,_0x10538a:0x717,_0x169e03:0x28f,_0x5be3d2:0x358,_0x455f87:0x558,_0x2a410d:0xd21,_0x3f229d:0x3ce,_0x50212e:0x26e,_0x1f8500:0xa60,_0x228c34:0x6cc,_0x15fa25:0x1d,_0x588c14:0x1503};function _0x483b11(_0x519d04,_0x45aa0d){return _0x2b6441(_0x519d04,_0x45aa0d-0x372);}function _0x337d8b(_0x3a09e7,_0x5b182d){return _0x2b6441(_0x5b182d,_0x3a09e7-0x3e4);}try{this[_0x483b11(0x485,0x6a5)]++;if(_0x1966ff){if(_0x1966ff[_0x483b11(0x14f2,_0x8199e8._0x4926cc)]){this[_0x337d8b(0x5ca,-_0x8199e8._0x4aa684)]['scene']['_terrainProviderPromise']=_0x1966ff;const _0x40c544=this['_terrainProviderIndex'];_0x1966ff=await _0x1966ff,delete this['_viewer'][_0x483b11(-_0x8199e8._0x140aef,0x836)][_0x337d8b(0xbdf,0xff9)];if(_0x40c544!==this[_0x337d8b(_0x8199e8._0x10538a,-_0x8199e8._0x169e03)])return;}}this[_0x483b11(_0x8199e8._0x5be3d2,_0x8199e8._0x455f87)][_0x337d8b(0xcda,_0x8199e8._0x2a410d)]=_0x1966ff,this['_defaultTerrainProvider']=_0x1966ff;this['control'][_0x483b11(0x78e,_0x8199e8._0x3f229d)]&&this['control'][_0x483b11(_0x8199e8._0x50212e,0x3ce)]['updateSelectedTerrainViewModel']();const _0x198312={};_0x198312['terrain']=_0x1966ff,this['fire'](EventType[_0x337d8b(_0x8199e8._0x1f8500,0x2e9)],_0x198312);}catch(_0x51d3b5){this['_viewer'][_0x483b11(0xdb3,0xc68)]=getNoTerrainProvider();const _0x2136b0={};_0x2136b0['error']=_0x51d3b5,this[_0x337d8b(_0x8199e8._0x228c34,_0x8199e8._0x15fa25)](EventType[_0x483b11(0x108b,_0x8199e8._0x588c14)],_0x2136b0);}}get[_0x306755(0x1040,0x17e7)](){const _0x598abb={_0x2602aa:0x61e};function _0x3b6fad(_0x4de23f,_0x2716da){return _0x306755(_0x2716da,_0x4de23f- -_0x598abb._0x2602aa);}return!(this[_0x3b6fad(0x169,0x6ed)]['terrainProvider']instanceof Cesium__namespace['EllipsoidTerrainProvider']);}set['hasTerrain'](_0x1b0749){const _0xfdb875={_0x39daf4:0x92d,_0x1f7103:0xc3e,_0x1d549d:0x141a,_0x3f5a44:0x3e4,_0x49af5b:0xc3e,_0x18e8f3:0x71c};function _0x5b97f3(_0x2e8681,_0x161e06){return _0x2b6441(_0x2e8681,_0x161e06-0x348);}function _0x2245c6(_0x504307,_0x4bb949){return _0x306755(_0x4bb949,_0x504307-0x11f);}_0x1b0749?this['_defaultTerrainProvider']==null?this['terrainProvider']=createTerrainProvider(this['_getTerrainOptions']()):(this['_terrainProviderIndex']++,this['_viewer'][_0x5b97f3(_0xfdb875._0x39daf4,_0xfdb875._0x1f7103)]=this[_0x5b97f3(_0xfdb875._0x1d549d,0x178f)]):(this['_terrainProviderIndex']++,this['_viewer'][_0x5b97f3(_0xfdb875._0x3f5a44,_0xfdb875._0x49af5b)]=getNoTerrainProvider(),this[_0x5b97f3(0x871,0x630)](EventType['terrainLoadSuccess'])),this['control']['baseLayerPicker']&&this['control'][_0x2245c6(_0xfdb875._0x18e8f3,0x70f)]['updateSelectedTerrainViewModel']();}get['basemap'](){const _0x55dcc9=this['_optionsBasemapsList']['values'];for(let _0xb631f5=0x0;_0xb631f5<_0x55dcc9['length'];_0xb631f5++){const _0x4ed83e=_0x55dcc9[_0xb631f5];if(_0x4ed83e['hasEmptyGroup'])continue;if(_0x4ed83e['isAdded'])return _0x4ed83e;}return undefined;}set['basemap'](_0x1e43ac){const _0x5a6cac={_0x5d7b85:0x616,_0x5f5411:0x589,_0x3ee719:0x685,_0xba3402:0x7a3,_0x9617b2:0x124c},_0x3ae79d={_0x5329c3:0x1e1},_0x46c31c={_0x4e091e:0x910,_0x56e664:0x11a2,_0x1117ae:0x9a2,_0x359b22:0xcc6,_0x417e08:0xd7a},_0xc8c51f={_0x263eb3:0x157},_0x158410={_0x5665b0:0x5d8};let _0x473023,_0x204b31;_0x1e43ac&&isObject(_0x1e43ac)?(_0x473023=_0x1e43ac['id'],_0x204b31=_0x1e43ac['name']):(_0x473023=_0x1e43ac,_0x204b31=_0x1e43ac);let _0xa321b1=this['basemap'];if(_0xa321b1&&(_0xa321b1['id']===_0x473023||_0xa321b1['name']===_0x204b31))return;const _0x3a4fd1=this[_0x4b199f(_0x5a6cac._0x5d7b85,0xf95)][_0x5b7e1b(0x22b,0x324)];function _0x4b199f(_0x337b4e,_0x489d93){return _0x306755(_0x489d93,_0x337b4e- -_0x158410._0x5665b0);}for(let _0x35deff=0x0;_0x35deff<_0x3a4fd1['length'];_0x35deff++){const _0xe84f57=_0x3a4fd1[_0x35deff];if(_0xe84f57['hasEmptyGroup'])continue;_0x204b31==_0xe84f57['name']||_0x473023==_0xe84f57['id']?(!_0xe84f57['isAdded']&&(_0x473023=_0xe84f57['id'],_0xe84f57[_0x5b7e1b(-0x1b,0x89d)]['show']=!![],this['addLayer'](_0xe84f57)['then'](_0x104118=>{function _0x1f79e8(_0x57b629,_0x2baad3){return _0x4b199f(_0x2baad3-0x5b0,_0x57b629);}_0xe84f57['toBottom']&&_0xe84f57[_0x1f79e8(_0x46c31c._0x4e091e,0xcfa)]();const _0x89ae80={};function _0x596401(_0x3db32b,_0x102ec9){return _0x4b199f(_0x3db32b-_0xc8c51f._0x263eb3,_0x102ec9);}_0x89ae80[_0x1f79e8(_0x46c31c._0x56e664,_0x46c31c._0x1117ae)]=_0xe84f57,this[_0x596401(0x408,0xdb8)](EventType[_0x596401(_0x46c31c._0x359b22,_0x46c31c._0x417e08)],_0x89ae80);})),_0xa321b1=_0xe84f57):_0xe84f57[_0x4b199f(_0x5a6cac._0x5f5411,-0x18a)]&&(delete _0xe84f57[_0x4b199f(_0x5a6cac._0x3ee719,_0x5a6cac._0xba3402)][_0x5b7e1b(0xed6,0x11d3)],this[_0x4b199f(_0x5a6cac._0x9617b2,0xfb5)](_0xe84f57));}function _0x5b7e1b(_0x2cf638,_0x11e52d){return _0x2b6441(_0x2cf638,_0x11e52d-_0x3ae79d._0x5329c3);}this[_0x5b7e1b(0x124b,0xbb1)]['baseLayerPicker']&&this['control']['baseLayerPicker']['updateSelectedImageryViewModel'](_0x473023);}get['templateValues'](){const _0x23e559={_0x2c6ad4:0xd6};function _0xeed9fe(_0x3c3c19,_0x4d9f4e){return _0x2b6441(_0x3c3c19,_0x4d9f4e-_0x23e559._0x2c6ad4);}return this[_0xeed9fe(0xb8f,0x49f)];}set['templateValues'](_0x4529c6){this['_templateValues']=_0x4529c6;}get['onlyPickModelPosition'](){const _0xba04fa={_0x2d4a57:0xa84,_0x4b24a9:0x13f9};var _0x37d7b3;function _0x52869c(_0x1d0460,_0x433df3){return _0x2b6441(_0x433df3,_0x1d0460-0x9);}function _0x57fad6(_0x4b3c20,_0xacf995){return _0x306755(_0xacf995,_0x4b3c20- -0xb0);}return(_0x37d7b3=this[_0x57fad6(0x6d7,0xbf2)])===null||_0x37d7b3===void 0x0?void 0x0:_0x37d7b3[_0x57fad6(0x9b5,_0xba04fa._0x2d4a57)][_0x57fad6(0xf34,_0xba04fa._0x4b24a9)];}set['onlyPickModelPosition'](_0x5189fc){this['_viewer']['scene']['onlyPickModelPosition']=_0x5189fc;}get[_0x2b6441(0x56d,0x432)](){var _0x3f2b09;return(_0x3f2b09=this['_viewer'])===null||_0x3f2b09===void 0x0?void 0x0:_0x3f2b09['scene']['onlyPickTerrainPosition'];}set['onlyPickTerrainPosition'](_0x4ee948){const _0x2c2cfc={_0x599db0:0x160,_0xf7606b:0x808},_0x2a2d50={_0x3fbe28:0x81};function _0xd2266a(_0x44b576,_0x26f1e1){return _0x306755(_0x44b576,_0x26f1e1-_0x2a2d50._0x3fbe28);}this[_0xd2266a(-_0x2c2cfc._0x599db0,_0x2c2cfc._0xf7606b)]['scene']['onlyPickTerrainPosition']=_0x4ee948;}get['onlyVertexPosition'](){return this['_onlyVertexPosition'];}set['onlyVertexPosition'](_0xbde3fb){const _0x23a03b={_0x4b9ca2:0x47e,_0x14610a:0x147,_0x2f00db:0x79e};this['_onlyVertexPosition']=_0xbde3fb;function _0x5955e2(_0xf3a6ba,_0x5b2f59){return _0x2b6441(_0x5b2f59,_0xf3a6ba- -0x61);}function _0x5eac47(_0x1078c7,_0x45a020){return _0x306755(_0x45a020,_0x1078c7- -0x5e7);}this[_0x5eac47(_0x23a03b._0x4b9ca2,-_0x23a03b._0x14610a)]['onlyVertexPosition']=_0xbde3fb&&(this['container']['style']['cursor']=_0x5eac47(_0x23a03b._0x2f00db,-0x218));}get['mouseEvent'](){return this['_mouseEvent'];}get[_0x2b6441(0x62b,0x4f9)](){return this['_popupMgr'];}get['tooltip'](){function _0x5f10f0(_0x3217b7,_0x484cd4){return _0x2b6441(_0x484cd4,_0x3217b7-0x1a7);}return this[_0x5f10f0(0xdeb,0x812)];}get[_0x2b6441(0x22a,0xcb4)](){return this['_smallTooltip'];}get['contextmenu'](){return this['_contextmenuMgr'];}get[_0x306755(0xc41,0xbbe)](){function _0x4b916b(_0x40e691,_0x53879a){return _0x2b6441(_0x53879a,_0x40e691-0x365);}return this[_0x4b916b(0x16be,0x1d26)];}get[_0x2b6441(0x14a1,0x9d0)](){const _0x5980f6={_0x282f71:0x77a};function _0x5eaffd(_0x3e2963,_0x4eb331){return _0x306755(_0x3e2963,_0x4eb331- -0x465);}return this[_0x5eaffd(0x84b,_0x5980f6._0x282f71)];}get[_0x306755(0x143f,0xf2f)](){const _0x35afdb={_0x32eca3:0x60f,_0x7d99f6:0xb2};function _0x4e28d4(_0x48930f,_0x50a79e){return _0x306755(_0x50a79e,_0x48930f- -0x5d0);}return this[_0x4e28d4(_0x35afdb._0x32eca3,_0x35afdb._0x7d99f6)];}get[_0x2b6441(-0x81b,-0x37)](){return this['_effect'];}get[_0x306755(-0x87,0x607)](){return this['_effect'];}get[_0x2b6441(0x132c,0xb3d)](){return this['_thing'];}get['things'](){const _0x42e373={_0x333be4:0x50d};function _0x2840d0(_0x192722,_0x45b437){return _0x306755(_0x45b437,_0x192722- -_0x42e373._0x333be4);}return this[_0x2840d0(0xf8,-0x807)];}get[_0x2b6441(0x193c,0x1021)](){return this['_graphicLayer']==null&&this['_addDefGraphicLayer'](),this['_graphicLayer'];}['_addDefGraphicLayer'](){const _0x5b90ea={_0x5225fa:0x1348,_0x5f4283:0x795},_0x2fa8fd={_0x55210a:0x4c8};function _0x592593(_0x1cd9e2,_0x56a56b){return _0x306755(_0x1cd9e2,_0x56a56b- -0x5ad);}this[_0x48a148(_0x5b90ea._0x5225fa,0x18e2)]=new GraphicLayer({'name':'默认数据图层',...this[_0x48a148(_0x5b90ea._0x5f4283,0x888)]['graphic'],'private':!![]});function _0x48a148(_0x214b08,_0x37aecf){return _0x306755(_0x37aecf,_0x214b08- -_0x2fa8fd._0x55210a);}return this['addLayer'](this[_0x48a148(0x1348,0x151e)]);}get['isDrawing'](){var _0xa83779;return(_0xa83779=this['_drawLayer'])===null||_0xa83779===void 0x0?void 0x0:_0xa83779['isDrawing'];}['_setDrawingLayer'](_0x3aabff){const _0x5954ba={_0x499246:0x947};function _0x1f4e91(_0x47a7f1,_0x413127){return _0x306755(_0x413127,_0x47a7f1- -0x1dd);}this[_0x1f4e91(_0x5954ba._0x499246,0x12e6)]=_0x3aabff;}get['level'](){const _0x133262={_0x4dfdd8:0x3bf},_0x59097b={_0xd825b5:0x44},_0x5d251d={_0x21c1a8:0x378},_0x421dbc=Math[_0x480094(0x11e1,0xe7c)](this['_viewer']['camera']['positionCartographic']['height']);if(_0x421dbc===this[_0x480094(0x679,0x27f)])return this[_0x487c1d(0xae6,0x1294)];function _0x487c1d(_0x549b62,_0x1e74a0){return _0x306755(_0x549b62,_0x1e74a0- -_0x5d251d._0x21c1a8);}this['_level']=heightToZoom(_0x421dbc);function _0x480094(_0x4ab35d,_0x2865c7){return _0x2b6441(_0x4ab35d,_0x2865c7- -_0x59097b._0xd825b5);}return this[_0x487c1d(-_0x133262._0x4dfdd8,0x4ec)]=_0x421dbc,this['_level'];}get['zoom'](){const _0x3f78b3={_0x4c0370:0x1464};function _0x3a1c1b(_0x5a47fb,_0x40c4f8){return _0x306755(_0x40c4f8,_0x5a47fb- -0xa5);}return this[_0x3a1c1b(0x1677,_0x3f78b3._0x4c0370)];}get['fixedLight'](){function _0x39a808(_0x2d7d04,_0x59f71b){return _0x306755(_0x2d7d04,_0x59f71b- -0x22f);}return this[_0x39a808(-0x1b8,0x708)];}set['fixedLight'](_0x27752b){const _0x5ab871={_0x24880f:0x5ca,_0x4ffc07:0x1388,_0x277298:0x2fd,_0x4b2ee3:0xa33,_0x10114c:0x1d3},_0x4f2276={_0x31b09a:0x2a1};this['_fixedLight']=_0x27752b;function _0x19c874(_0x189195,_0x7783cc){return _0x2b6441(_0x189195,_0x7783cc-_0x4f2276._0x31b09a);}function _0x57be8a(_0x268ed3,_0xfbc23b){return _0x306755(_0x268ed3,_0xfbc23b-0x25);}!this['_sunlight']&&(this[_0x19c874(0x40b,_0x5ab871._0x24880f)]=this['scene']['light']);if(_0x27752b){const _0x20b69c=new Cesium__namespace[(_0x57be8a(0x1985,_0x5ab871._0x4ffc07))]({'direction':new Cesium__namespace['Cartesian3'](0.35492591601301104,-0.8909182691839401,-0.2833588392420772)});this[_0x57be8a(0x41f,0xa8a)][_0x19c874(_0x5ab871._0x277298,_0x5ab871._0x4b2ee3)]=_0x20b69c;}else this['scene']['light']=this[_0x19c874(_0x5ab871._0x10114c,0x5ca)];}get['lang'](){const _0x969df6={_0x58d267:0x29c,_0x102f08:0x1d2};function _0x2cf846(_0x208487,_0x2aee64){return _0x2b6441(_0x2aee64,_0x208487-0x32a);}return this[_0x2cf846(_0x969df6._0x58d267,_0x969df6._0x102f08)]??Lang??{};}set['lang'](_0x2b6984){const _0x4b5543={_0x3b8e96:0x5a6,_0x4673dd:0xef,_0xd8e7c8:0xcab};function _0x2fa42b(_0x361030,_0x5626c6){return _0x2b6441(_0x361030,_0x5626c6-0x17d);}function _0x56066e(_0x46f0b3,_0xeebd3f){return _0x2b6441(_0x46f0b3,_0xeebd3f-0x6b0);}this[_0x2fa42b(-_0x4b5543._0x3b8e96,_0x4b5543._0x4673dd)]=_0x2b6984,this[_0x2fa42b(0x161d,_0x4b5543._0xd8e7c8)]();}get['zoomFactor'](){const _0x2cd623={_0x1620e4:0x914};function _0x2bc775(_0x200da3,_0x2456b0){return _0x306755(_0x2456b0,_0x200da3- -0x151);}function _0x547845(_0x20b075,_0x50a8d9){return _0x2b6441(_0x50a8d9,_0x20b075-0x2d1);}return this[_0x2bc775(_0x2cd623._0x1620e4,0xc3a)][_0x2bc775(0x5a7,0x106)]['_zoomFactor'];}set['zoomFactor'](_0x360ab9){const _0x38fd05={_0x17e020:0x162,_0x20a878:0x597},_0x3f56b9={_0x427661:0x15a};function _0x578e09(_0x22e65c,_0x3bc5ac){return _0x2b6441(_0x22e65c,_0x3bc5ac-_0x3f56b9._0x427661);}function _0x1195ff(_0x483ccd,_0x161523){return _0x2b6441(_0x483ccd,_0x161523-0x440);}this[_0x1195ff(-0x47,0x904)][_0x1195ff(_0x38fd05._0x17e020,_0x38fd05._0x20a878)]['_zoomFactor']=_0x360ab9;}get[_0x306755(0xd95,0xef1)](){const _0x545d8e={_0x5b1a19:0xd65},_0x16f2fd={_0x4468e7:0x191};function _0x4841d1(_0xd505b2,_0xdd293c){return _0x2b6441(_0xd505b2,_0xdd293c-_0x16f2fd._0x4468e7);}return this[_0x4841d1(0x10d8,_0x545d8e._0x5b1a19)];}set['highlightEnabled'](_0x3ef747){const _0x417e5c={_0x1da6f6:0x12bd},_0x1bbeb3={_0xc5014f:0x148};function _0x6ffbba(_0x4ea42c,_0x6bc0a5){return _0x306755(_0x4ea42c,_0x6bc0a5-_0x1bbeb3._0xc5014f);}function _0x1a59f6(_0x11cd50,_0x4c2be0){return _0x2b6441(_0x4c2be0,_0x11cd50-0x6a);}this[_0x6ffbba(0x18f9,_0x417e5c._0x1da6f6)]=_0x3ef747,!_0x3ef747&&this[_0x1a59f6(0x610,0x847)]();}get[_0x306755(0x14ca,0x142b)](){const _0x59c124={_0x5a5543:0x1417,_0x8bacc:0x1b49};function _0xd66a9e(_0x5bb6ef,_0x528509){return _0x306755(_0x528509,_0x5bb6ef- -0x1a);}return this[_0xd66a9e(_0x59c124._0x5a5543,_0x59c124._0x8bacc)]??!![];}set['availabilityEnabled'](_0x88d729){this['_availabilityEnabled']=_0x88d729;}get['imageryLayersForClamp'](){const _0xf699e1={_0x1351bf:0xc92,_0x122260:0x8e5,_0x58892e:0x351};function _0x25b9d2(_0x1f684a,_0x255685){return _0x306755(_0x1f684a,_0x255685- -0x449);}if(!this['_imageryLayersForClamp']){const _0x162b06=new Cesium__namespace['ImageryLayerCollection'](),_0x22da57={};_0x22da57[_0x25b9d2(0x1512,_0xf699e1._0x1351bf)]=_0x162b06;const _0x46bccc=new QuadtreePrimitive(_0x22da57);_0x46bccc['zIndex']=0x0,this['scene']['primitives'][_0x25b9d2(0x516,_0xf699e1._0x122260)](_0x46bccc),this[_0x25b9d2(0xc5a,0x61c)][_0x457223(_0xf699e1._0x58892e,-0x284)]['lowerToBottom'](_0x46bccc),this['_quadtreePrimitive']=_0x46bccc,this['_imageryLayersForClamp']=_0x162b06;}function _0x457223(_0x400551,_0x4dc0a8){return _0x2b6441(_0x4dc0a8,_0x400551-0x39);}return this['_imageryLayersForClamp'];}['_createViewer'](_0xb886bd,_0x10940c){const _0x28f8eb={_0x29d77a:0x66b,_0x17e20f:0xe86,_0x38a8ae:0x4bd,_0x3f4fa0:0xa04,_0x1e29b6:0xd64,_0x4ac1a4:0x13a4,_0x1b6aec:0x1771,_0x188e79:0x162a,_0x13b650:0xd76,_0x42ef73:0x18cc,_0x3d3b8c:0x13d8,_0x28f345:0x149d,_0x28f5a5:0x18cc,_0x38edb0:0x156d,_0x5e4d13:0x17fb,_0x22eae4:0x1753,_0x2c605f:0x1173,_0x4db485:0xbe8,_0x25367a:0x174f,_0x25f6fc:0x1a82,_0x3a9dfc:0x10b8,_0x19f6c1:0x18a2,_0x33ef54:0xd12,_0x1fddb1:0xa03,_0x58396b:0x153c,_0x291ef0:0x1669,_0xc1f1e0:0x146b,_0x5d301b:0x14a9,_0x2c2c27:0xdfc,_0x52cea6:0xe3b,_0x3b8ce7:0x14a4,_0x18649e:0xbc1,_0x43f5f8:0xd0a,_0x31da67:0x13e3,_0x189d97:0x1361,_0x387268:0x7f5},_0x3db051={_0x3eebbb:0x6e};if(!_0xb886bd)throw new Error('Map:id\x20不能为空');const _0x470197={...DefaultOptions,..._0x10940c[_0x3a37a0(0xfdf,0x7f5)],..._0x10940c['scene']};_0x470197['animation']=![],_0x470197[_0x3a37a0(_0x28f8eb._0x29d77a,0x3c5)]=![],_0x470197['fullscreenButton']=![],_0x470197[_0x300887(0x18fb,_0x28f8eb._0x17e20f)]=![],_0x470197['homeButton']=![],_0x470197[_0x300887(_0x28f8eb._0x38a8ae,_0x28f8eb._0x3f4fa0)]=![],_0x470197['projectionPicker']=![],_0x470197['sceneModePicker']=![],_0x470197['timeline']=![],_0x470197[_0x300887(_0x28f8eb._0x1e29b6,_0x28f8eb._0x4ac1a4)]=![];const _0xceb91c=_0x470197;_0xceb91c[_0x3a37a0(0x155e,_0x28f8eb._0x1b6aec)]&&!(_0xceb91c['globe']instanceof Cesium__namespace['Globe'])&&delete _0xceb91c['globe'];_0xceb91c['cameraController']&&delete _0xceb91c['cameraController'];_0xceb91c['contextmenu']&&delete _0xceb91c['contextmenu'];_0xceb91c[_0x3a37a0(_0x28f8eb._0x188e79,0x1ba7)]&&delete _0xceb91c['location'];_0xceb91c[_0x300887(_0x28f8eb._0x13b650,0x167a)]&&delete _0xceb91c['mouseDownView'];function _0x3a37a0(_0x29892b,_0x5bed6e){return _0x306755(_0x5bed6e,_0x29892b-_0x3db051._0x3eebbb);}_0xceb91c['navigation']&&delete _0xceb91c['navigation'];if(Cesium__namespace['defined'](_0xceb91c[_0x3a37a0(_0x28f8eb._0x42ef73,0x1e27)])){if(_0xceb91c[_0x3a37a0(0x18cc,0x20e5)]===CRS[_0x300887(_0x28f8eb._0x3d3b8c,_0x28f8eb._0x28f345)])_0xceb91c['mapProjection']=new Cesium__namespace[(_0x3a37a0(0xb09,0xc24))](_0xceb91c['ellipsoid']);else(_0xceb91c[_0x3a37a0(_0x28f8eb._0x28f5a5,0x1aed)]===CRS[_0x300887(_0x28f8eb._0x38edb0,0x1687)]||_0xceb91c[_0x300887(_0x28f8eb._0x5e4d13,0x2251)]===CRS['EPSG4490'])&&(_0xceb91c[_0x300887(0x17fb,_0x28f8eb._0x22eae4)]=new Cesium__namespace[(_0x3a37a0(0x69a,0x85b))](_0xceb91c['ellipsoid']));}Cesium__namespace['defined'](_0xceb91c[_0x300887(0x1477,_0x28f8eb._0x2c605f)])&&(_0xceb91c['globe']=new Cesium__namespace['Globe'](_0xceb91c[_0x3a37a0(0x1548,_0x28f8eb._0x4db485)]));Cesium__namespace[_0x300887(_0x28f8eb._0x25367a,_0x28f8eb._0x25f6fc)](_0xceb91c[_0x300887(0xfe7,0x734)])&&isPlainObject(_0xceb91c['skyBox'])&&(_0xceb91c[_0x3a37a0(_0x28f8eb._0x3a9dfc,_0x28f8eb._0x19f6c1)]=getSkyBoxObject(_0xceb91c[_0x300887(0xfe7,0x14f1)]));Cesium__namespace['defined'](_0xceb91c['backgroundImage'])&&(_0xceb91c['contextOptions']=_0xceb91c['contextOptions']||{},_0xceb91c[_0x3a37a0(_0x28f8eb._0x33ef54,0xf1a)][_0x3a37a0(0xa03,0x7a4)]=_0xceb91c['contextOptions'][_0x3a37a0(_0x28f8eb._0x1fddb1,0x1f2)]||{},_0xceb91c['contextOptions']['webgl'][_0x300887(_0x28f8eb._0x58396b,0x1102)]=!![]);let _0x16380b=![];function _0x300887(_0x89eae9,_0x2c460e){return _0x306755(_0x2c460e,_0x89eae9- -0x63);}let _0x1aaf2f=![];if(_0xceb91c['baseLayerPicker']){var _0x497b02;if(!_0xceb91c[_0x3a37a0(0x157a,0x1722)]&&((_0x497b02=_0x10940c[_0x300887(0x1036,0x17c5)])===null||_0x497b02===void 0x0?void 0x0:_0x497b02[_0x3a37a0(_0x28f8eb._0x291ef0,_0x28f8eb._0xc1f1e0)])>0x0){const _0x8ef681=getImageryProviderViewModels(_0x10940c['basemaps'],this[_0x300887(0x1941,0x21a5)]);_0xceb91c['imageryProviderViewModels']=_0x8ef681[_0x300887(_0x28f8eb._0x5d301b,_0x28f8eb._0x2c2c27)],_0x8ef681['selectedIndex']===-0x1?_0x16380b=!![]:_0xceb91c['selectedImageryProviderViewModel']=_0x8ef681[_0x3a37a0(0x157a,0xf45)][_0x8ef681[_0x300887(0x542,_0x28f8eb._0x52cea6)]];}if(!_0xceb91c['terrainProviderViewModels']){var _0x5c48f9;_0xceb91c['terrainProviderViewModels']=getTerrainProviderViewModels(this[_0x300887(_0x28f8eb._0x3b8ce7,_0x28f8eb._0x18649e)](),this[_0x300887(_0x28f8eb._0x43f5f8,0xa37)]['bind'](this)),_0xceb91c['selectedTerrainProviderViewModel']=_0xceb91c['terrainProviderViewModels'][(_0x5c48f9=_0x10940c['terrain'])!==null&&_0x5c48f9!==void 0x0&&_0x5c48f9['show']?0x1:0x0];}}else{var _0x2e2068;_0xceb91c['baseLayer']==null&&(_0x16380b=!![],_0xceb91c['baseLayer']=Cesium__namespace['ImageryLayer'][_0x300887(_0x28f8eb._0x31da67,_0x28f8eb._0x189d97)](Cesium__namespace['TileMapServiceImageryProvider']['fromUrl'](Cesium__namespace['buildModuleUrl'](_0x300887(0x4c0,0x52c))))),(_0x2e2068=_0x10940c['terrain'])!==null&&_0x2e2068!==void 0x0&&_0x2e2068['show']?_0x1aaf2f=!![]:_0xceb91c['terrainProvider']=getNoTerrainProvider();}this['_viewer']=new Cesium__namespace['Viewer'](_0xb886bd,_0xceb91c);_0x1aaf2f&&(this[_0x3a37a0(0xf05,0xd1d)]=createTerrainProvider(this['_getTerrainOptions']()));if(_0x16380b){const _0x2a7353=this[_0x3a37a0(_0x28f8eb._0x387268,0xbab)]['imageryLayers'],_0x5a7958=_0x2a7353['length'];for(let _0x4a09a2=0x0;_0x4a09a2<_0x5a7958;_0x4a09a2++){const _0x498041=_0x2a7353['get'](0x0);_0x2a7353['remove'](_0x498041,!![]);}}}['_getTerrainOptions'](){const _0x3faa49={_0x3b9a39:0xa19,_0x412f09:0x6d2},_0x199ebb={_0x8c573f:0x35d};if(!this['options']['terrain'])return this['options']['terrain'];function _0x31f606(_0x202d10,_0x4789df){return _0x2b6441(_0x4789df,_0x202d10-_0x199ebb._0x8c573f);}const _0x4fda26={'templateValues':this['templateValues'],...this[_0x31f606(_0x3faa49._0x3b9a39,_0x3faa49._0x412f09)]['terrain']};return _0x4fda26;}['setOptions'](_0x3e8cbc,_0x347fab){const _0x138603={_0x26e399:0x828,_0x2da8d2:0x575,_0x2670d7:0x3a,_0x410cc0:0x5eb,_0x44ffeb:0x748,_0x6a6c44:0x50c,_0x1394ea:0x630,_0x1ddca5:0x2a8,_0x28a302:0x1596,_0x390c12:0xc6d,_0x5b11e3:0x75f,_0x4c0f6a:0x230,_0x1bdceb:0x1185,_0x35c860:0xe9b,_0x1c94b6:0x15a1,_0x3af93:0xa87,_0x272f09:0x120a,_0x3eb692:0x8bc,_0x4347b0:0x578,_0x31b7e1:0xd96,_0xb62120:0xeb0};function _0x53ef0c(_0x1967de,_0x42f06a){return _0x2b6441(_0x1967de,_0x42f06a-0x350);}if(!_0x3e8cbc||Object['keys'](_0x3e8cbc)[_0x53ef0c(0x1c45,0x13aa)]===0x0)return this;(_0x347fab===null||_0x347fab===void 0x0?void 0x0:_0x347fab['isMerge'])??!![]?this[_0x4b972c(_0x138603._0x26e399,_0x138603._0x2da8d2)]=merge(this['options'],_0x3e8cbc):(this['options']=_0x3e8cbc,this[_0x53ef0c(-_0x138603._0x2670d7,_0x138603._0x410cc0)](!![]));function _0x4b972c(_0x197fbc,_0x2377ba){return _0x306755(_0x2377ba,_0x197fbc- -0x435);}for(const _0x4a7e69 in _0x3e8cbc){const _0x14f3af=_0x3e8cbc[_0x4a7e69];switch(_0x4a7e69){case _0x53ef0c(0x7c7,0x814):{this[_0x4b972c(_0x138603._0x44ffeb,_0x138603._0x6a6c44)]['setOptions'](this['options'][_0x4b972c(_0x138603._0x1394ea,_0x138603._0x1ddca5)],_0x14f3af);break;}case _0x53ef0c(0x1839,0x106f):{const _0x4e1731=this[_0x53ef0c(0x129c,0x12b6)]();_0x4e1731!==null&&_0x4e1731!==void 0x0&&_0x4e1731[_0x4b972c(0x115e,0x6c4)]?this['terrainProvider']=createTerrainProvider(_0x4e1731):this[_0x53ef0c(0x1926,_0x138603._0x28a302)]=![];break;}case'basemaps':{this[_0x53ef0c(0x6d9,_0x138603._0x390c12)](_0x14f3af);break;}case _0x4b972c(0x14c8,0xb31):{const _0x29ef02={};_0x29ef02['filter']=_0x347fab===null||_0x347fab===void 0x0?void 0x0:_0x347fab[_0x4b972c(_0x138603._0x5b11e3,-_0x138603._0x4c0f6a)],this[_0x4b972c(0x278,-0x463)](_0x14f3af,_0x29ef02);break;}case'control':{for(const _0x563ee3 in _0x14f3af){const _0x2f1ec2=this['options']['control'][_0x563ee3],_0x469e03=this['_control'][_0x563ee3];if(_0x469e03)!_0x2f1ec2||(_0x2f1ec2===null||_0x2f1ec2===void 0x0?void 0x0:_0x2f1ec2[_0x4b972c(0xe9b,_0x138603._0x1bdceb)])===![]?(_0x469e03['show']=![],_0x469e03[_0x4b972c(_0x138603._0x35c860,0xd49)]=![]):(_0x469e03['show']=!![],_0x469e03['enabled']=!![],_0x469e03['setOptions']&&_0x2f1ec2!==!![]&&_0x469e03['setOptions'](_0x2f1ec2));else{if(!_0x2f1ec2||_0x2f1ec2['enabled']===![])continue;const _0x432c20=create$2(_0x563ee3,_0x2f1ec2);_0x432c20?this['addControl'](_0x432c20):logWarn('createControl:无该类型控件暂不能创建',_0x563ee3,_0x2f1ec2);}}break;}case'effect':{for(const _0x21bb84 in _0x14f3af){const _0x252cbf=this['options']['effect'][_0x21bb84],_0x2dd8a2=this[_0x53ef0c(0x1087,0x11b8)][_0x21bb84];if(_0x2dd8a2)!_0x252cbf||(_0x252cbf===null||_0x252cbf===void 0x0?void 0x0:_0x252cbf['enabled'])===![]?_0x2dd8a2['enabled']=![]:(_0x2dd8a2['enabled']=!![],_0x2dd8a2['setOptions']&&_0x2dd8a2[_0x53ef0c(0xd5b,0xacc)](_0x252cbf));else{if(!_0x252cbf||_0x252cbf[_0x4b972c(0xe9b,_0x138603._0x1c94b6)]===![])continue;const _0x265756=create$1(_0x21bb84,_0x252cbf);_0x265756&&this[_0x53ef0c(_0x138603._0x3af93,0x14aa)](_0x265756);}}break;}case _0x53ef0c(0x536,0xe8d):{for(const _0x5a87ee in _0x14f3af){const _0x322b00=this['options']['thing'][_0x5a87ee],_0x26f6c3=this['_thing'][_0x5a87ee];if(_0x26f6c3)!_0x322b00||(_0x322b00===null||_0x322b00===void 0x0?void 0x0:_0x322b00['enabled'])===![]?_0x26f6c3['enabled']=![]:(_0x26f6c3['enabled']=!![],_0x26f6c3[_0x53ef0c(_0x138603._0x272f09,0xacc)]&&_0x26f6c3[_0x4b972c(0x8e8,_0x138603._0x3eb692)](_0x322b00));else{if(!_0x322b00||_0x322b00['enabled']===![])continue;const _0x304229=create(_0x5a87ee,_0x322b00);_0x304229&&this['addThing'](_0x304229);}}break;}case'mouse':{this[_0x4b972c(_0x138603._0x4347b0,0x792)]['setOptions'](this[_0x4b972c(0x828,_0x138603._0x31b7e1)]['mouse']);break;}case'method':{this[_0x53ef0c(0x142b,_0x138603._0xb62120)](_0x14f3af);break;}case'graphic':{this[_0x53ef0c(0x17ca,0x1371)]['setOptions'](this[_0x4b972c(0x828,0xa1)]['graphic']);break;}case'version':{break;}default:{logWarn('未处理参数',_0x14f3af);break;}}}return this;}[_0x306755(0x1dfd,0x189f)](_0x209a3b){const _0xeae165={_0x2d614b:0xc9b,_0x192dc3:0x6a7};function _0x4a5cdb(_0x3847fb,_0x57045c){return _0x306755(_0x57045c,_0x3847fb-0x3e);}if(!_0x209a3b||Object['keys'](_0x209a3b)['length']===0x0)return this;return this['options']['scene']=merge(this[_0x4a5cdb(_0xeae165._0x2d614b,_0xeae165._0x192dc3)]['scene'],_0x209a3b),this['_sceneOption']['setOptions'](this['options']['scene'],_0x209a3b),this;}[_0x306755(0x1333,0x131a)](){const _0xa800c5={_0x4128a9:0x78b};function _0x4d966d(_0x5e618d,_0x5bb240){return _0x306755(_0x5e618d,_0x5bb240- -0x559);}return clone(this[_0x4d966d(_0xa800c5._0x4128a9,0x704)],['parent','eventParent']);}['getCurrentOptions'](){return this['toJSON']();}['toJSON'](){const _0x336c46={_0x3543f1:0x1298,_0x3031c8:0xb,_0x4f01b1:0x1652,_0x18f881:0xf76,_0x343122:0x1955,_0x24de07:0x92c,_0x508e8c:0xddf,_0x5b0e8a:0x161f,_0x2f3f47:0x7f3,_0x11f444:0xb15,_0x546f32:0x182,_0x230dd1:0xc5,_0x489e3f:0x1d64,_0x307c08:0xe33,_0x15d8e9:0xd33,_0x5bc948:0xe33,_0x254103:0x289,_0x2de6bf:0x10d1,_0x2d0ae4:0xa4e,_0x3ae6bb:0x1648,_0x3dcfa5:0x1266,_0x279f99:0x1317,_0xbe6168:0x8ee,_0x4f482d:0x1183,_0x23bb24:0xfcc},_0x52ec83={_0x272e60:0x2ab};var _0x55dfd5;function _0x5bf4c8(_0x3935f7,_0x264c1e){return _0x306755(_0x3935f7,_0x264c1e- -0x62f);}const _0x42e101=this['getOptions']();_0x42e101['scene'][_0x11d583(0x451,-0x10d)]=this['getCameraView'](),_0x42e101['basemaps']=[];const _0x433897=this[_0x5bf4c8(0x125,0x5bf)]['values'];for(let _0x4238a4=0x0,_0x309a6f=_0x433897['length'];_0x4238a4<_0x309a6f;_0x4238a4++){const _0x4d9851=_0x433897[_0x4238a4];if(_0x4d9851[_0x5bf4c8(0x1277,_0x336c46._0x3543f1)])continue;_0x42e101[_0x11d583(0xdee,0xaae)]['push'](_0x4d9851[_0x11d583(0x85f,_0x336c46._0x3031c8)]());}_0x42e101['layers']=[];const _0x2a0db5={};_0x2a0db5['basemaps']=![],_0x2a0db5[_0x11d583(_0x336c46._0x4f01b1,_0x336c46._0x18f881)]=!![],_0x2a0db5[_0x5bf4c8(_0x336c46._0x343122,0x11a5)]=![];const _0x2be0e2=this['getLayers'](_0x2a0db5);for(let _0x349d2b=0x0,_0x19029e=_0x2be0e2[_0x5bf4c8(_0x336c46._0x24de07,0xfcc)];_0x349d2b<_0x19029e;_0x349d2b++){const _0x415514=_0x2be0e2[_0x349d2b];if(_0x415514['isPrivate'])continue;_0x42e101[_0x5bf4c8(_0x336c46._0x508e8c,0x12ce)][_0x5bf4c8(0xa65,0x6a)](_0x415514['toJSON']());}_0x42e101[_0x11d583(0xcc6,_0x336c46._0x5b0e8a)]={};for(const _0x127c9c in this[_0x11d583(0xcc6,_0x336c46._0x2f3f47)]){const _0x2305ec=this['control'][_0x127c9c];let _0x485943=_0x2305ec[_0x11d583(0x85f,_0x336c46._0x11f444)]();const _0x1af221=_0x485943&&Object['keys'](_0x485943)['length'];if(_0x485943===undefined||_0x485943['enabled']===![]&&_0x1af221===0x1||_0x2305ec['isPrivate']&&_0x1af221===0x0)continue;_0x1af221===0x0&&(_0x485943=!![]),_0x42e101['control'][_0x127c9c]=_0x485943;}_0x42e101[_0x5bf4c8(_0x336c46._0x546f32,-_0x336c46._0x230dd1)]={};function _0x11d583(_0xb68b86,_0x17d915){return _0x306755(_0x17d915,_0xb68b86- -_0x52ec83._0x272e60);}for(const _0xd6c0a5 in this['effect']){const _0x9cf448=this['effect'][_0xd6c0a5],_0x3671a2=_0x9cf448['toJSON'](),_0x22d365=_0x3671a2&&Object['keys'](_0x3671a2)[_0x11d583(0x1350,_0x336c46._0x489e3f)];if(_0x3671a2===undefined||_0x3671a2['enabled']===![]&&_0x22d365===0x1)continue;_0x42e101['effect'][_0xd6c0a5]=_0x3671a2;}_0x42e101[_0x11d583(_0x336c46._0x307c08,_0x336c46._0x15d8e9)]={};for(const _0x211546 in this['thing']){const _0x463826=this[_0x11d583(_0x336c46._0x5bc948,0xa43)][_0x211546],_0x2c8197=_0x463826[_0x5bf4c8(-_0x336c46._0x254103,0x4db)](),_0x3775ac=_0x2c8197&&Object['keys'](_0x2c8197)[_0x11d583(0x1350,0x1adc)];if(_0x2c8197===undefined||_0x2c8197['enabled']===![]&&_0x3775ac===0x1)continue;_0x42e101[_0x11d583(0xe33,_0x336c46._0x2de6bf)][_0x211546]=_0x2c8197;}((_0x55dfd5=this[_0x5bf4c8(_0x336c46._0x2d0ae4,0x11e1)])===null||_0x55dfd5===void 0x0?void 0x0:_0x55dfd5[_0x11d583(0x1350,0xe7b)])>0x0&&(_0x42e101[_0x11d583(_0x336c46._0x3ae6bb,_0x336c46._0x3dcfa5)]=this[_0x11d583(_0x336c46._0x279f99,_0x336c46._0xbe6168)]['toJSON']());for(const _0x4f984f in _0x42e101){const _0x4694b2=_0x42e101[_0x4f984f];(!Cesium__namespace[_0x5bf4c8(0xb9d,_0x336c46._0x4f482d)](_0x4694b2)||isObject(_0x4694b2)&&Object['keys'](_0x4694b2)[_0x5bf4c8(0x153b,_0x336c46._0x23bb24)]===0x0)&&delete _0x42e101[_0x4f984f];}return _0x42e101;}[_0x2b6441(0x860,0x12de)](){return getDefaultContextMenu(this);}['getCenter'](_0x3b880a){return getCenter(this['scene'],_0x3b880a);}['getHeight'](_0x31293c,_0x1b57c7){return getHeight(this['scene'],_0x31293c,_0x1b57c7);}[_0x2b6441(0x31d,0x128)](){const _0x1d02c7={_0x33083f:0x15ac,_0x17f406:0x188b};function _0x1d4983(_0x1bf6b8,_0x3d3e30){return _0x2b6441(_0x3d3e30,_0x1bf6b8-0x609);}function _0x4f0b2d(_0x1635f5,_0x3f0fcd){return _0x2b6441(_0x3f0fcd,_0x1635f5-0x64d);}const _0x91bacf=this['getCenter']();if(_0x91bacf){_0x91bacf['alt']<0x0&&(_0x91bacf['alt']=0x0);const _0x472f03=Cesium__namespace['Cartesian3'][_0x4f0b2d(0xfc9,_0x1d02c7._0x33083f)](_0x91bacf[_0x1d4983(0xa52,0xe09)](),this['_viewer']['camera'][_0x4f0b2d(_0x1d02c7._0x17f406,0x1217)]);return _0x472f03;}else return 0x0;}[_0x2b6441(-0xf,0x882)](_0x414845){const _0xe1a9da={_0x58878c:0x130c,_0x11d217:0xbdc,_0x2f71cf:0xfab,_0x27a0f1:0x1343,_0x59d9b3:0xb67,_0x443706:0xb99,_0x8a0a88:0x13cf,_0x59561e:0x975,_0x521415:0xa85},_0x2319aa=getMapExtentPositions(this['scene']),_0x47e889=getMaxHeight(_0x2319aa),_0x4cc346=Cesium__namespace[_0xfe5a31(0xa81,0xe2d)][_0xfe5a31(_0xe1a9da._0x58878c,0xf02)](_0x2319aa);let _0x4ed89f=Cesium__namespace['Math']['toDegrees'](_0x4cc346['west']),_0x2b44b2=Cesium__namespace['Math']['toDegrees'](_0x4cc346[_0xfe5a31(_0xe1a9da._0x11d217,_0xe1a9da._0x2f71cf)]),_0x171bbf=Cesium__namespace[_0x491d3c(_0xe1a9da._0x27a0f1,0xe4d)]['toDegrees'](_0x4cc346['north']),_0x4783cc=Cesium__namespace[_0xfe5a31(0x1396,0x11fe)][_0x491d3c(0x819,0x8fa)](_0x4cc346[_0xfe5a31(0xa2f,0x8be)]);if(Cesium__namespace[_0xfe5a31(0x171f,0x1645)](_0x414845===null||_0x414845===void 0x0?void 0x0:_0x414845[_0xfe5a31(0x15db,_0xe1a9da._0x59d9b3)])){const _0x569e6d=_0x414845['scale'],_0x182cb5=(_0x2b44b2-_0x4ed89f)/0x2*_0x569e6d,_0x5dec30=(_0x171bbf-_0x4783cc)/0x2*_0x569e6d;_0x4ed89f-=_0x182cb5,_0x2b44b2+=_0x182cb5,_0x4783cc-=_0x5dec30,_0x171bbf+=_0x5dec30;}_0x4ed89f=Math[_0xfe5a31(0x1490,_0xe1a9da._0x443706)](_0x4ed89f,-0xb4),_0x2b44b2=Math['min'](_0x2b44b2,0xb4),_0x4783cc=Math[_0xfe5a31(0x119a,0xb99)](_0x4783cc,-0x5a),_0x171bbf=Math['min'](_0x171bbf,0x5a);_0x414845!==null&&_0x414845!==void 0x0&&_0x414845['formatNum']&&(_0x4ed89f=formatNum$1(_0x4ed89f,LngLatPoint['FormatLength']),_0x2b44b2=formatNum$1(_0x2b44b2,LngLatPoint[_0x491d3c(0x23,0x8d9)]),_0x4783cc=formatNum$1(_0x4783cc,LngLatPoint[_0xfe5a31(0x96a,0xc8a)]),_0x171bbf=formatNum$1(_0x171bbf,LngLatPoint[_0xfe5a31(_0xe1a9da._0x8a0a88,0xc8a)]));const _0xfb1eed={};function _0x491d3c(_0x38f1fe,_0x1ef071){return _0x306755(_0x38f1fe,_0x1ef071- -0x51e);}_0xfb1eed['xmin']=_0x4ed89f,_0xfb1eed[_0x491d3c(0x5e7,0x1a)]=_0x2b44b2;function _0xfe5a31(_0x3b83d9,_0xbbb941){return _0x306755(_0x3b83d9,_0xbbb941- -0x16d);}return _0xfb1eed[_0x491d3c(0x10d9,_0xe1a9da._0x59561e)]=_0x4783cc,_0xfb1eed['ymax']=_0x171bbf,_0xfb1eed[_0xfe5a31(0xb11,_0xe1a9da._0x521415)]=_0x47e889,_0xfb1eed['positions']=_0x2319aa,_0xfb1eed;}['getRealAlt'](_0x11fd0){const _0x450ddc={_0x4f3c74:0x11aa,_0x55b5d6:0xbf2},_0x240df9={_0x36624d:0x58e};var _0x307654;function _0x3c3746(_0x3dacdc,_0x1727cc){return _0x2b6441(_0x3dacdc,_0x1727cc-0x25b);}function _0x1231be(_0x2c06ec,_0xfec80b){return _0x2b6441(_0x2c06ec,_0xfec80b-_0x240df9._0x36624d);}if(!((_0x307654=this[_0x3c3746(0xe23,0x917)][_0x1231be(0x11da,0xa52)])!==null&&_0x307654!==void 0x0&&(_0x307654=_0x307654[_0x3c3746(0x101a,_0x450ddc._0x4f3c74)])!==null&&_0x307654!==void 0x0&&_0x307654['realAlt']))return _0x11fd0;const _0x1b075f=this[_0x3c3746(_0x450ddc._0x55b5d6,0x441)]['scene']['verticalExaggeration'];if(_0x1b075f)return _0x11fd0/_0x1b075f;return _0x11fd0;}['expImage'](_0x277843){return expImage(this['_viewer'],_0x277843);}['setCursor'](_0x465a1e=''){const _0x3651bc={_0x5b1a11:0xade};function _0x1b35b2(_0xd23621,_0x397829){return _0x306755(_0xd23621,_0x397829- -0x37f);}this[_0x1b35b2(0x10b2,0x14a2)]=_0x465a1e;function _0x2929c9(_0x16d372,_0x477a05){return _0x2b6441(_0x16d372,_0x477a05-0x698);}this[_0x2929c9(0x191b,0x10f2)]['style'][_0x1b35b2(0xb83,_0x3651bc._0x5b1a11)]=_0x465a1e;}['_setEditCursor'](_0x57db5e){const _0x2a4662={_0x12550e:0x108d,_0x19b75c:0x254,_0x37e426:0x758,_0x510140:0xbe9,_0x5a2efb:0x2b};if(!this[_0x45cfdf(_0x2a4662._0x12550e,0xbe9)])return;function _0x45cfdf(_0x533277,_0x47d95e){return _0x306755(_0x533277,_0x47d95e- -0x412);}_0x57db5e?this['container'][_0x2929c1(-0x1f9,0x229)][_0x45cfdf(0x94a,0xa4b)]=_0x2929c1(-_0x2a4662._0x19b75c,_0x2a4662._0x37e426):this[_0x45cfdf(0x56e,_0x2a4662._0x510140)][_0x45cfdf(-0xc5,0x444)][_0x2929c1(_0x2a4662._0x5a2efb,0x830)]=this['_default_cursor']||'';function _0x2929c1(_0x13236e,_0x1f406d){return _0x2b6441(_0x13236e,_0x1f406d- -0x8c);}this['scene']['onlyVertexPosition']=this['_onlyVertexPosition']&&_0x57db5e;}[_0x306755(0x1836,0xe00)](_0x142954){return pick3DTileset(this['scene'],_0x142954);}['pickTilesetLayer'](_0x25a995){const _0x498f98={_0x2530c0:0x20};function _0x400405(_0x2d7dc2,_0xa36d96){return _0x2b6441(_0x2d7dc2,_0xa36d96-0x528);}const _0x388406=pick3DTileset(this['scene'],_0x25a995);return _0x388406?this[_0x400405(_0x498f98._0x2530c0,0x5b9)](_0x388406['_mars3d_layerId']):null;}['on'](_0x3af02b,_0x538f27,_0x1e6597){const _0x1b5f8b={_0x25611b:0xba},_0x192bea=this[_0x27f357(0x5e9,0x9c8)]['on'](_0x3af02b,_0x538f27,_0x1e6597||this);!_0x192bea&&super['on'](_0x3af02b,_0x538f27,_0x1e6597);function _0x27f357(_0x2beb05,_0x58b8f0){return _0x306755(_0x2beb05,_0x58b8f0-_0x1b5f8b._0x25611b);}return this;}[_0x2b6441(0xaeb,0x3cb)](_0x4bb7a8,_0x54e331,_0x1afa9e){const _0x342824=this['_sceneEvent']['off'](_0x4bb7a8,_0x54e331,_0x1afa9e||this);return!_0x342824&&super['off'](_0x4bb7a8,_0x54e331,_0x1afa9e),this;}[_0x306755(0xc71,0xb13)](_0x1c9712,_0x80894d){const _0x82dddb={_0x3ce3d9:0x1151,_0x509d39:0x24a},_0x1e0362={_0x3a1b2b:0x545};function _0x4ac3c5(_0x274a2c,_0x4eb1a5){return _0x2b6441(_0x274a2c,_0x4eb1a5-0x548);}function _0x28606e(_0x151d70,_0xee61ee){return _0x2b6441(_0xee61ee,_0x151d70-_0x1e0362._0x3a1b2b);}return this['_sceneEvent']&&this[_0x4ac3c5(0x5d,0x8b5)][_0x28606e(0xd51,_0x82dddb._0x3ce3d9)](_0x1c9712)?this[_0x28606e(0x8b2,_0x82dddb._0x509d39)]['listens'](_0x1c9712):super['listens'](_0x1c9712,_0x80894d);}[_0x306755(0x16eb,0x1322)](){const _0x1b1ba5={_0x428957:0xe40,_0x52f74f:0x99e,_0x34fcce:0x5a0,_0x38b7f8:0xc3a,_0x4017d9:0x17ec,_0x38ff81:0x678,_0x3f6846:0x600,_0x111122:0x83e,_0x8fa142:0x3e1,_0x51041b:0x297,_0x532d4d:0xcaa,_0x29c423:0x6f1,_0xa6162f:0x1804,_0x2b2098:0x41f,_0xda9995:0x6c1,_0x2966dc:0xb66,_0x5988e4:0x73,_0x1dcd76:0x109c,_0x2430f3:0x14b0,_0x23b355:0x1265,_0x292abe:0x5d9,_0x549a54:0x17c8,_0x271508:0x16a4,_0x2dbb74:0x1469,_0x23f12f:0xb27,_0x109104:0x212,_0x9a9d1c:0x440,_0x196845:0x1502,_0x145a0b:0x109c,_0x1133cf:0x1940,_0x418427:0x832,_0x23175c:0x16c,_0x49df0e:0x440,_0x309578:0x284,_0x466808:0xa34,_0x40dec7:0xc01,_0x4a15c8:0x159c,_0xa1f3c1:0x68e,_0x410caa:0x389},_0x115e13={_0x14eb4e:0xcea},_0x2ccaf5={_0x1e81ea:0xf9};this[_0x1b167a(0xa04,0x1443)]['basemaps']=this['options'][_0x1b167a(_0x1b1ba5._0x428957,0x517)]||[],this['options']['layers']=this['options']['layers']||[],this['_layerIdx']=0x1,this['_arrLayerIdx']=[];const _0x23981e=this['options']['basemaps'],_0x445f4b=this[_0x1b167a(0xa04,0x73c)]['layers'];for(let _0x1b394b=0x0;_0x1b394b<_0x23981e[_0x1b167a(0x13a2,0xdbf)];_0x1b394b++){const _0x3025d6=_0x23981e[_0x1b394b];_0x3025d6['id']&&(this[_0x2571de(_0x1b1ba5._0x52f74f,0x111c)]['indexOf'](_0x3025d6['id'])!==-0x1&&(delete _0x3025d6['id'],logWarn('addLayer:图层id存在冲突,已重新赋值id',_0x3025d6)),this[_0x2571de(0x99e,0x12c0)][_0x2571de(_0x1b1ba5._0x34fcce,_0x1b1ba5._0x38b7f8)](_0x3025d6['id']));if(_0x3025d6['layers'])for(let _0x30783d=0x0;_0x30783d<_0x3025d6[_0x2571de(0x1804,_0x1b1ba5._0x4017d9)]['length'];_0x30783d++){const _0x42a6fc=_0x3025d6[_0x2571de(0x1804,0x120f)][_0x30783d];_0x42a6fc['id']&&(this['_arrLayerIdx'][_0x2571de(0x3e1,-_0x1b1ba5._0x38ff81)](_0x42a6fc['id'])!==-0x1&&(delete _0x42a6fc['id'],logWarn(_0x2571de(0x57f,_0x1b1ba5._0x3f6846),_0x42a6fc)),this['_arrLayerIdx'][_0x2571de(0x5a0,0xd80)](_0x42a6fc['id']));}}for(let _0x3f7734=0x0;_0x3f7734<_0x445f4b['length'];_0x3f7734++){const _0x30687a=_0x445f4b[_0x3f7734];_0x30687a['id']&&(this[_0x1b167a(_0x1b1ba5._0x111122,-0x282)][_0x2571de(_0x1b1ba5._0x8fa142,-_0x1b1ba5._0x51041b)](_0x30687a['id'])!==-0x1&&(delete _0x30687a['id'],logWarn(_0x1b167a(0x41f,_0x1b1ba5._0x532d4d),_0x30687a)),this[_0x2571de(0x99e,_0x1b1ba5._0x29c423)]['push'](_0x30687a['id']));if(_0x30687a['layers'])for(let _0x5e7a6c=0x0;_0x5e7a6c<_0x30687a[_0x2571de(_0x1b1ba5._0xa6162f,0x1855)]['length'];_0x5e7a6c++){const _0x1509ec=_0x30687a[_0x1b167a(0x16a4,0x205e)][_0x5e7a6c];_0x1509ec['id']&&(this['_arrLayerIdx']['indexOf'](_0x1509ec['id'])!==-0x1&&(delete _0x1509ec['id'],logWarn(_0x1b167a(_0x1b1ba5._0x2b2098,0x699),_0x1509ec)),this[_0x1b167a(0x83e,0x773)]['push'](_0x1509ec['id']));}}function _0x1b167a(_0x46e3d7,_0x5776da){return _0x306755(_0x5776da,_0x46e3d7- -0x259);}const _0x26cf48=[],_0x71ade0=[];for(let _0x37e94f=0x0;_0x37e94f<_0x23981e['length'];_0x37e94f++){const _0x52d0ec=_0x23981e[_0x37e94f];!_0x52d0ec['name']&&(_0x52d0ec['name']='');!_0x52d0ec['id']&&(_0x52d0ec['id']=this[_0x1b167a(_0x1b1ba5._0xda9995,_0x1b1ba5._0x2966dc)]());delete _0x52d0ec[_0x1b167a(0x9be,_0x1b1ba5._0x5988e4)];const _0x308b3d=create$3(_0x52d0ec,this[_0x2571de(0x18ab,0x14a2)]);if(!_0x308b3d)continue;_0x308b3d['_hasMapInit']=!![];if(_0x52d0ec['show']){const _0x1e0209=this[_0x2571de(_0x1b1ba5._0x1dcd76,_0x1b1ba5._0x2430f3)](_0x308b3d);_0x71ade0[_0x2571de(_0x1b1ba5._0x34fcce,0xb88)](_0x1e0209);}else delete _0x52d0ec[_0x1b167a(0x133a,_0x1b1ba5._0x23b355)];this['_optionsBasemapsList'][_0x1b167a(_0x1b1ba5._0x292abe,-0x336)](_0x52d0ec['id'],_0x308b3d);if(_0x308b3d[_0x2571de(_0x1b1ba5._0x549a54,0xf68)]&&_0x52d0ec['layers'])for(let _0x4947ef=0x0;_0x4947ef<_0x52d0ec['layers']['length'];_0x4947ef++){const _0x4dae57=_0x52d0ec[_0x1b167a(_0x1b1ba5._0x271508,_0x1b1ba5._0x2dbb74)][_0x4947ef];_0x4dae57[_0x1b167a(0x83b,0x421)]=_0x52d0ec['id'],_0x4dae57['parent']=_0x308b3d,!_0x4dae57['id']&&(_0x4dae57['id']=this[_0x1b167a(0x6c1,_0x1b1ba5._0x23f12f)]()),_0x26cf48[_0x1b167a(0x440,-_0x1b1ba5._0x109104)](_0x4dae57);}else _0x26cf48[_0x1b167a(_0x1b1ba5._0x9a9d1c,-0x271)](_0x52d0ec);}function _0x2571de(_0x193e21,_0x3bf609){return _0x306755(_0x3bf609,_0x193e21- -_0x2ccaf5._0x1e81ea);}for(let _0x28ea54=0x0;_0x28ea54<_0x445f4b[_0x2571de(_0x1b1ba5._0x196845,0x13b1)];_0x28ea54++){const _0x11098d=_0x445f4b[_0x28ea54];!_0x11098d['id']&&(_0x11098d['id']=this['getNextLayerId']());const _0x40d765=create$3(_0x11098d,this['templateValues']);if(!_0x40d765)continue;_0x40d765['_hasMapInit']=!![];if(_0x11098d[_0x1b167a(0x133a,0x17f6)]){const _0x2a032f=this[_0x2571de(_0x1b1ba5._0x145a0b,0xc01)](_0x40d765);_0x71ade0['push'](_0x2a032f);}else delete _0x11098d['show'];this['_optionsLayersList']['set'](_0x11098d['id'],_0x40d765);if(_0x40d765[_0x1b167a(0x1668,0x1f17)]&&_0x11098d['layers'])for(let _0x5b1e7a=0x0;_0x5b1e7a<_0x11098d[_0x2571de(0x1804,0x1a0d)]['length'];_0x5b1e7a++){const _0x4d161f=_0x11098d[_0x1b167a(_0x1b1ba5._0x271508,_0x1b1ba5._0x1133cf)][_0x5b1e7a];_0x4d161f['pid']=_0x11098d['id'],_0x4d161f[_0x1b167a(_0x1b1ba5._0x418427,0xbc5)]=_0x40d765,!_0x4d161f['id']&&(_0x4d161f['id']=this['getNextLayerId']()),_0x26cf48[_0x2571de(0x5a0,_0x1b1ba5._0x23175c)](_0x4d161f);}else _0x26cf48[_0x1b167a(_0x1b1ba5._0x49df0e,_0x1b1ba5._0x309578)](_0x11098d);}for(let _0x30fb3d=0x0;_0x30fb3d<_0x26cf48['length'];_0x30fb3d++){const _0x142b8b=_0x26cf48[_0x30fb3d];if(_0x142b8b['type']==='group')continue;let _0x1a440e=Number(_0x142b8b['zIndex']);isNaN(_0x1a440e)&&(_0x1a440e=_0x30fb3d);_0x142b8b['zIndex']=_0x1a440e;const _0x11b042=this['_layerList'][_0x1b167a(_0x1b1ba5._0x466808,_0x1b1ba5._0x40dec7)](_0x142b8b['id']);_0x11b042&&(_0x11b042[_0x2571de(0xb1e,_0x1b1ba5._0x4a15c8)]=_0x1a440e);}if(this['options']['graphic']){const _0x576c64=this['_addDefGraphicLayer']();_0x71ade0[_0x1b167a(_0x1b1ba5._0x9a9d1c,-0x19f)](_0x576c64);}const _0x1ed513=this;_0x71ade0['push'](new Promise((_0x25c6d1,_0x3dfe74)=>{const _0xa43a47={_0x5166c3:0x2a1},_0x400f84={_0x48c800:0xd6c,_0x4bbe8d:0x384,_0x52c30e:0x994},_0x1d4b51={_0x49e240:0x382};let _0x7ea4cd=![];function _0x228b8d(){function _0xea7879(_0x383fe6,_0x93927d){return _0x5bbe(_0x383fe6-0x102,_0x93927d);}if(_0x7ea4cd||!_0x1ed513[_0x4f90e1(_0x400f84._0x48c800,_0x400f84._0x4bbe8d)])return;_0x7ea4cd=!![],_0x1ed513[_0x4f90e1(0xa7b,_0x400f84._0x52c30e)](EventType['tileLoadProgress'],_0xfe9433);function _0x4f90e1(_0x751c7b,_0x2f4bc7){return _0x5bbe(_0x751c7b-_0x1d4b51._0x49e240,_0x2f4bc7);}_0x25c6d1(!![]);}function _0xfe9433(_0x30b14d){function _0x426d9c(_0x110b4b,_0x371fde){return _0x5bbe(_0x371fde- -_0xa43a47._0x5166c3,_0x110b4b);}(_0x1ed513['scene']['globe'][_0x426d9c(0xb20,0xab4)]||_0x30b14d===0x0)&&_0x228b8d();}this['on'](EventType['tileLoadProgress'],_0xfe9433),setTimeout(_0x228b8d,0x1388);})),this[_0x2571de(_0x1b1ba5._0xa1f3c1,0x93d)]['scene'][_0x2571de(0xca3,0x1674)]&&_0x71ade0['push'](this['_viewer']['scene']['_terrainProviderPromise']),Promise[_0x2571de(0x91e,_0x1b1ba5._0x410caa)](_0x71ade0)['then'](_0x72fe59=>{const _0x99d8e5={_0x20f528:0x318},_0x89eb20={};_0x89eb20['list']=_0x72fe59,this['fire'](EventType[_0x166a6a(_0x115e13._0x14eb4e,0x1319)],_0x89eb20);function _0x166a6a(_0x2088c6,_0x5d80ba){return _0x1b167a(_0x5d80ba- -_0x99d8e5._0x20f528,_0x2088c6);}setTimeout(()=>{this['_readyPromise']&&this['_readyPromise']['resolve'](this);},0x320);});}[_0x2b6441(0x72c,0x1046)](){const _0x34afea={_0x2efbe2:0x166b,_0x2c14b1:0x29c,_0x279589:0x48d,_0x3947fa:0x2ce},_0x93cdad={_0x26e2c7:0xd3};var _0x46c45d;const _0x412af6=this['options'][_0x33b272(0x846,0x10e7)];function _0x33b272(_0x5b23bc,_0x2845fc){return _0x306755(_0x5b23bc,_0x2845fc- -0x1d9);}const _0x424999=(_0x46c45d=this['scene'])===null||_0x46c45d===void 0x0||(_0x46c45d=_0x46c45d[_0x33b272(_0x34afea._0x2efbe2,0x1317)])===null||_0x46c45d===void 0x0||(_0x46c45d=_0x46c45d['_surface'])===null||_0x46c45d===void 0x0||(_0x46c45d=_0x46c45d[_0x33b272(0x2b2,_0x34afea._0x2c14b1)])===null||_0x46c45d===void 0x0?void 0x0:_0x46c45d[_0x33b272(0xa9e,0x7b7)];_0x412af6!==null&&_0x412af6!==void 0x0&&_0x412af6['clip']&&_0x424999!==null&&_0x424999!==void 0x0&&_0x424999['clip']&&(_0x424999['clip']['enabled']=!![]);function _0x574a2b(_0x187181,_0x1b4ff5){return _0x2b6441(_0x187181,_0x1b4ff5-_0x93cdad._0x26e2c7);}_0x412af6!==null&&_0x412af6!==void 0x0&&_0x412af6[_0x574a2b(_0x34afea._0x279589,_0x34afea._0x3947fa)]&&_0x424999!==null&&_0x424999!==void 0x0&&_0x424999[_0x574a2b(0xd49,_0x34afea._0x3947fa)]&&(_0x424999[_0x574a2b(-0x73e,0x2ce)]['enabled']=!![]),_0x412af6!==null&&_0x412af6!==void 0x0&&_0x412af6['uplift']&&_0x424999!==null&&_0x424999!==void 0x0&&_0x424999['uplift']&&(_0x424999[_0x574a2b(0xec0,0x103f)]['enabled']=!![]),_0x412af6!==null&&_0x412af6!==void 0x0&&_0x412af6['flood']&&_0x424999!==null&&_0x424999!==void 0x0&&_0x424999['flood']&&(_0x424999['flood']['enabled']=!![]);}['setBasemapsOptions'](_0x35edf0,_0xc8362f=!![]){const _0x57abf8={_0x38a013:0x81e,_0x12d917:0xd9e,_0x4e024e:0x4c3,_0x5c163c:0x5b6,_0x549c81:0xe9b,_0x37e5e9:0xa2a,_0x3a1c7a:0x6c4,_0x5d95f5:0x295,_0x651dbf:0x195,_0x567194:0x888,_0x18de2a:0x1630},_0x5c8d47={_0x3938f9:0xd99},_0x305e05={_0x5efab7:0x1d1};function _0x8222ee(_0xc2dc9e,_0x4dce4b){return _0x2b6441(_0x4dce4b,_0xc2dc9e-_0x305e05._0x5efab7);}function _0x4c303e(_0x22b1b3,_0x37fc3c){return _0x306755(_0x37fc3c,_0x22b1b3- -0x468);}if(!_0x35edf0||_0x35edf0['length']===0x0)return;this['options']['basemaps']=_0x35edf0;if(_0xc8362f){this['_optionsBasemapsList']['forEach'](_0x3d429c=>{_0x3d429c['destroy']();}),this[_0x8222ee(_0x57abf8._0x38a013,0xabd)]['removeAll']();for(let _0x526104=0x0;_0x526104<_0x35edf0[_0x4c303e(0x1193,0xca8)];_0x526104++){const _0x28b164=_0x35edf0[_0x526104];!_0x28b164[_0x4c303e(0x42b,_0x57abf8._0x12d917)]&&(_0x28b164[_0x8222ee(_0x57abf8._0x4e024e,-0x4b7)]='');!_0x28b164['id']&&(_0x28b164['id']=this[_0x4c303e(0x4b2,0xf80)]());let _0x165ad3=Number(_0x28b164['zIndex']);isNaN(_0x165ad3)&&(_0x165ad3=_0x526104);_0x28b164['zIndex']=_0x165ad3;const _0x36bee2=create$3(_0x28b164,this['templateValues']);if(!_0x36bee2)continue;_0x28b164['show']&&(this[_0x4c303e(0xd2d,0x794)](_0x36bee2),_0x36bee2[_0x8222ee(0xaf6,_0x57abf8._0x5c163c)][_0x4c303e(_0x57abf8._0x549c81,0x1530)](function(_0x1ede55){function _0x1e877b(_0x3d3e92,_0x3ddb11){return _0x8222ee(_0x3d3e92-0x447,_0x3ddb11);}_0x1ede55[_0x1e877b(_0x5c8d47._0x3938f9,0x1832)]&&_0x1ede55['toBottom']();}));this['_optionsBasemapsList']['set'](_0x28b164['id'],_0x36bee2);if(_0x36bee2['hasChildLayer']&&_0x28b164['layers'])for(let _0x2ac790=0x0;_0x2ac790<_0x28b164['layers'][_0x4c303e(0x1193,_0x57abf8._0x37e5e9)];_0x2ac790++){const _0x2f6bd7=_0x28b164['layers'][_0x2ac790];_0x2f6bd7[_0x8222ee(_0x57abf8._0x3a1c7a,-_0x57abf8._0x5d95f5)]=_0x28b164['id'],_0x2f6bd7['parent']=_0x36bee2,!_0x2f6bd7['id']&&(_0x2f6bd7['id']=this['getNextLayerId']());}}}return this['control'][_0x4c303e(_0x57abf8._0x651dbf,_0x57abf8._0x567194)]&&this['control']['baseLayerPicker'][_0x8222ee(_0x57abf8._0x18de2a,0xe13)](),this['_optionsBasemapsList']['values'];}['setLayersOptions'](_0x4795b6,_0x2ae3b0){const _0x28b7c6={_0x508067:0x554,_0x517600:0x166a,_0x3495b3:0x1df9,_0x3523eb:0x10ef,_0x447c50:0x1816},_0xfa7e0f={_0x285501:0x44b},_0x180dc9={_0x5ac572:0x30e};function _0x5d0b81(_0x258f0c,_0x5c7026){return _0x2b6441(_0x5c7026,_0x258f0c-_0x180dc9._0x5ac572);}function _0x215daf(_0x179e21,_0xe52ea6){return _0x306755(_0xe52ea6,_0x179e21- -_0xfa7e0f._0x285501);}if(!_0x4795b6||_0x4795b6['length']===0x0)return;_0x2ae3b0!==null&&_0x2ae3b0!==void 0x0&&_0x2ae3b0['filter']?this['_optionsLayersList']['removeByFilter'](_0x2ae3b0['filter'],_0x51860d=>{_0x51860d['destroy']();}):(this['_optionsLayersList']['forEach'](_0x1478c2=>{_0x1478c2['destroy']();}),this['_optionsLayersList']['removeAll'](),this['options']['layers']=_0x4795b6);for(let _0x1b3924=0x0;_0x1b3924<_0x4795b6['length'];_0x1b3924++){const _0x59546c=_0x4795b6[_0x1b3924];!_0x59546c['id']&&(_0x59546c['id']=this['getNextLayerId']());const _0x124412=create$3(_0x59546c,this['templateValues']);if(!_0x124412)continue;_0x59546c['show']&&this['addLayer'](_0x124412);this[_0x215daf(0xf37,_0x28b7c6._0x508067)]['set'](_0x59546c['id'],_0x124412);if(_0x124412['hasChildLayer']&&_0x59546c['layers'])for(let _0x3eecc8=0x0;_0x3eecc8<_0x59546c[_0x5d0b81(_0x28b7c6._0x517600,_0x28b7c6._0x3495b3)]['length'];_0x3eecc8++){const _0x3e5845=_0x59546c['layers'][_0x3eecc8];_0x3e5845['pid']=_0x59546c['id'],_0x3e5845['parent']=_0x124412,!_0x3e5845['id']&&(_0x3e5845['id']=this['getNextLayerId']());}}return this[_0x5d0b81(_0x28b7c6._0x3523eb,_0x28b7c6._0x447c50)]['values'];}['getNextLayerId'](){const _0x5c00b0={_0x549f32:0x47f,_0x4e8c65:0x1fb},_0x7f473d={_0x5afcac:0x21a};function _0x18d9c8(_0x39f4f7,_0x4871ee){return _0x306755(_0x4871ee,_0x39f4f7- -0x5ff);}while(this['_arrLayerIdx']['indexOf'](this['_layerIdx'])!==-0x1){this['_layerIdx']++;}function _0x46ee2d(_0x3ec6a8,_0x14dd10){return _0x306755(_0x3ec6a8,_0x14dd10- -_0x7f473d._0x5afcac);}return this['_arrLayerIdx'][_0x46ee2d(-0x4b1,_0x5c00b0._0x549f32)](this['_layerIdx']),this[_0x46ee2d(-_0x5c00b0._0x4e8c65,0x59e)];}[_0x2b6441(0x698,0xbf4)](_0x8f7d8c,_0x4dfd4e){const _0x4a0689={_0x630e46:0x5f,_0x1780af:0x92d,_0x168067:0x68b},_0x5d9206={_0x2245cd:0x286};return new Promise((_0x22f46e,_0x37f6a3)=>{if(!_0x8f7d8c||!_0x8f7d8c['_onAdd']){_0x22f46e(![]);return;}Cesium__namespace['defined'](_0x4dfd4e)&&(_0x8f7d8c['show']=_0x4dfd4e);if(_0x8f7d8c['_state']===State['ADDED']){_0x22f46e(![]);return;}_0x8f7d8c['_onAdd'](this);function _0x18f25d(_0x423d71,_0x20622f){return _0x5bbe(_0x423d71-_0x5d9206._0x2245cd,_0x20622f);}const _0x3c018e=this[_0x18f25d(0x671,-_0x4a0689._0x630e46)]['get'](_0x8f7d8c['id']);_0x3c018e&&_0x3c018e!==_0x8f7d8c&&(_0x8f7d8c['id']=this[_0x18f25d(_0x4a0689._0x1780af,0x488)](),logWarn(_0x18f25d(_0x4a0689._0x168067,-0x28a),_0x8f7d8c));function _0x577117(_0x1f7780,_0x50fdaa){return _0x5bbe(_0x1f7780-0x111,_0x50fdaa);}this['_layerList']['set'](_0x8f7d8c['id'],_0x8f7d8c),_0x8f7d8c['readyPromise']['then'](function(_0x13bf92){_0x22f46e(!![]);});});}['removeLayer'](_0x3a82f2,_0x16725b=![]){const _0x404db4={_0x4acfb5:0x2bd};if(!_0x3a82f2)return this;if(isString(_0x3a82f2)||isNumber(_0x3a82f2)){_0x3a82f2=this['_layerList'][_0x7229d4(0x623,0x775)](_0x3a82f2);if(!_0x3a82f2)return this;}this['_layerList'][_0x7229d4(0xd75,0x4a4)](_0x3a82f2['id']);_0x3a82f2['isAdded']&&(_0x16725b&&_0x3a82f2[_0x4bd3e7(0x4d6,-0x3e4)]&&_0x3a82f2['clear'](),_0x3a82f2['_onRemove']());_0x16725b&&(this['_optionsBasemapsList'][_0x4bd3e7(0x656,-_0x404db4._0x4acfb5)](_0x3a82f2['id']),this['_optionsLayersList']['remove'](_0x3a82f2['id']),_0x3a82f2['destroy']());function _0x7229d4(_0x110b06,_0x28e05c){return _0x2b6441(_0x110b06,_0x28e05c-0x89);}function _0x4bd3e7(_0x29cc37,_0x59f5ab){return _0x2b6441(_0x59f5ab,_0x29cc37-0x23b);}return this;}[_0x2b6441(0xcb7,0x56f)](_0x40b1b1){const _0x1c6568={_0x4437fd:0x664,_0x39d037:0xbac};if(!_0x40b1b1)return![];isObject(_0x40b1b1)&&(_0x40b1b1=_0x40b1b1['id']);function _0x14255e(_0x41880e,_0x468cc7){return _0x306755(_0x468cc7,_0x41880e- -0x184);}return this['_layerList'][_0x14255e(_0x1c6568._0x4437fd,_0x1c6568._0x39d037)](_0x40b1b1);}[_0x306755(0x908,0x10ab)](_0x24ea32,_0xde95cd,_0x2533d0){return this['_layerList']['forEach'](_0x24ea32,_0xde95cd||this,_0x2533d0),this;}[_0x2b6441(0x13c9,0xf45)](_0x267faa,_0x1c217c){const _0x59332f={_0x3fe7cf:0x1526};function _0x33fac1(_0x1114a5,_0x146663){return _0x2b6441(_0x146663,_0x1114a5-0x20d);}return isObject(_0x267faa)&&(_0x267faa=_0x267faa['id']),this[_0x33fac1(0x14fc,_0x59332f._0x3fe7cf)](_0x267faa,_0x1c217c);}['getLayerById'](_0x27d036){const _0xdf01f0={_0x482223:0xe2e,_0x41ecf3:0x9c4,_0x544b03:0x181f,_0x4a62b8:0x16b0,_0x39cfe4:0x2eb,_0x5bdddc:0xf80,_0x383157:0x63d},_0x12499b={_0x1a1325:0x4ff},_0x11a507={_0x149693:0x554};let _0x456640=this['_layerList']['get'](_0x27d036);if(_0x456640)return _0x456640;_0x456640=this[_0x388340(0x695,_0xdf01f0._0x482223)]['get'](_0x27d036);if(_0x456640)return _0x456640;_0x456640=this['_optionsBasemapsList']['get'](_0x27d036);if(_0x456640)return _0x456640;const _0x4f5855={};function _0x388340(_0x142e41,_0x456c69){return _0x306755(_0x142e41,_0x456c69- -_0x11a507._0x149693);}_0x4f5855[_0x388340(_0xdf01f0._0x41ecf3,0xb45)]=!![];function _0x5377a5(_0x332381,_0xf5d984){return _0x2b6441(_0xf5d984,_0x332381-_0x12499b._0x1a1325);}_0x4f5855['layers']=!![];const _0x550a98=this['getLayers'](_0x4f5855);for(let _0x53137e=0x0,_0x15b797=_0x550a98['length'];_0x53137e<_0x15b797;_0x53137e++){const _0x57b56b=_0x550a98[_0x53137e];if(_0x57b56b['id']===_0x27d036)return _0x57b56b;if(_0x57b56b[_0x5377a5(_0xdf01f0._0x544b03,_0xdf01f0._0x4a62b8)]&&_0x57b56b[_0x5377a5(0xaef,_0xdf01f0._0x39cfe4)])for(let _0x308639=0x0;_0x308639<_0x57b56b[_0x388340(_0xdf01f0._0x5bdddc,_0xdf01f0._0x383157)]['length'];_0x308639++){const _0x4b9fdd=_0x57b56b['arrLayer'][_0x308639];if(_0x4b9fdd['id']===_0x27d036)return _0x4b9fdd;}}return undefined;}['getLayerByAttr'](_0x38fc5a,_0x388f95){const _0xadac25={_0x3c14d7:0x8d};function _0x20b3ec(_0x3bbd2e,_0x2599c2){return _0x306755(_0x3bbd2e,_0x2599c2-0x175);}let _0x57e8ae=this['_layerList']['getByAttr'](_0x38fc5a,_0x388f95);if(_0x57e8ae)return _0x57e8ae;_0x57e8ae=this[_0x20b3ec(0xc23,0x14f7)][_0x135fc7(0x359,0xaf5)](_0x38fc5a,_0x388f95);if(_0x57e8ae)return _0x57e8ae;function _0x135fc7(_0x36d079,_0xb5507b){return _0x2b6441(_0xb5507b,_0x36d079- -_0xadac25._0x3c14d7);}_0x57e8ae=this[_0x20b3ec(0x17af,0xd63)]['getByAttr'](_0x38fc5a,_0x388f95);if(_0x57e8ae)return _0x57e8ae;return undefined;}['getLayersByAttr'](_0x4daae3,_0x22011a){const _0x5d7535={_0x473c9d:0x1a3b,_0x30a3ef:0xadd,_0x3d372d:0x5f8,_0x14fcd7:0x5bc},_0x269b20={_0x2ab96a:0x3bb},_0x17982b=this['_layerList'][_0x5c3a16(_0x5d7535._0x473c9d,0x156b)](_0x4daae3,_0x22011a);let _0x730831=this[_0x450f94(0x119c,_0x5d7535._0x30a3ef)]['getListByAttr'](_0x4daae3,_0x22011a);function _0x450f94(_0x48c4fa,_0x128482){return _0x2b6441(_0x128482,_0x48c4fa-_0x269b20._0x2ab96a);}function _0x5c3a16(_0x20b878,_0x10cf92){return _0x2b6441(_0x20b878,_0x10cf92-0x3b1);}for(let _0x221846=0x0,_0x5d1762=_0x730831['length'];_0x221846<_0x5d1762;_0x221846++){const _0x2581a5=_0x730831[_0x221846];!this['_layerList'][_0x5c3a16(0xd29,_0x5d7535._0x3d372d)](_0x2581a5['id'])&&_0x17982b[_0x5c3a16(_0x5d7535._0x14fcd7,0x4a9)](_0x2581a5);}_0x730831=this[_0x5c3a16(0x145b,0x9fe)]['getListByAttr'](_0x4daae3,_0x22011a);for(let _0x5032e3=0x0,_0x12ea9b=_0x730831['length'];_0x5032e3<_0x12ea9b;_0x5032e3++){const _0x5c9417=_0x730831[_0x5032e3];!this['_layerList']['contains'](_0x5c9417['id'])&&_0x17982b['push'](_0x5c9417);}return _0x17982b;}['getLayers'](_0x3f018f={}){const _0x2f9f4b={_0xb3b543:0x6a1,_0x2e2a35:0x61,_0x1ebace:0x8b5},_0x57c2a2={_0xb8867e:0x1725,_0x13d43a:0x1452,_0x5d83a7:0x1074,_0x561b39:0xbb4},_0x4332a3={_0x212735:0x59f},_0x153e92={_0x5dcdb9:0xa29};let _0x14720f=[];_0x3f018f['basemaps']&&(_0x3f018f['filter']?this['_optionsBasemapsList']['forEach'](_0x3848d6=>{const _0x44c670={_0x390250:0xba};function _0x292512(_0x4fa933,_0x4a47ad){return _0x5bbe(_0x4fa933- -_0x44c670._0x390250,_0x4a47ad);}_0x3f018f[_0x292512(_0x153e92._0x5dcdb9,0x1ad)](_0x3848d6)&&_0x14720f['push'](_0x3848d6);}):_0x14720f=_0x14720f['concat'](this[_0x56aa3b(0xd,0x67d)]['values']));function _0xb3eb12(_0x2d74f3,_0x1f5cdd){return _0x306755(_0x1f5cdd,_0x2d74f3- -_0x4332a3._0x212735);}_0x3f018f['layers']&&(_0x3f018f['filter']?this['_optionsLayersList'][_0xb3eb12(_0x2f9f4b._0xb3b543,_0x2f9f4b._0x2e2a35)](_0x6172ed=>{function _0x88b4f8(_0x56b61b,_0x122f4b){return _0x56aa3b(_0x56b61b,_0x122f4b-0x120);}_0x3f018f['filter'](_0x6172ed)&&_0x14720f[_0x88b4f8(-0x371,0x248)](_0x6172ed);}):_0x14720f=_0x14720f[_0x56aa3b(0x8b9,_0x2f9f4b._0x1ebace)](this['_optionsLayersList'][_0x56aa3b(-0x297,0x173)]));function _0x56aa3b(_0x9c7fff,_0x37cc24){return _0x2b6441(_0x9c7fff,_0x37cc24-0x30);}return this['_layerList']['forEach'](_0x33066c=>{function _0x26999a(_0x4c7b0f,_0x3850c6){return _0xb3eb12(_0x4c7b0f-0x3fd,_0x3850c6);}if(_0x33066c[_0x26999a(_0x57c2a2._0xb8867e,0x1d93)])return;if(_0x3f018f['childs']===![]&&_0x33066c[_0x26999a(0x8e9,0x110b)])return;if(Cesium__namespace[_0x26999a(0x1610,_0x57c2a2._0x13d43a)](_0x3f018f['basemaps'])&&this['_optionsBasemapsList']['contains'](_0x33066c['id']))return;function _0x580eac(_0x1b8cd5,_0x506474){return _0x56aa3b(_0x506474,_0x1b8cd5-0x349);}if(Cesium__namespace['defined'](_0x3f018f['layers'])&&this[_0x580eac(0x115a,0xf4e)]['contains'](_0x33066c['id']))return;if(_0x3f018f[_0x26999a(0xbb4,_0x57c2a2._0x5d83a7)]&&!_0x3f018f[_0x26999a(_0x57c2a2._0x561b39,0x2d8)](_0x33066c))return;_0x14720f['push'](_0x33066c);}),_0x14720f;}[_0x2b6441(-0x190,0x5e2)](_0x1ac94a={}){const _0x541e41={_0x442283:0x1898,_0x3a684a:0xda7,_0x40a619:0xa54,_0x1792a2:0xa5d,_0x230561:0xfc,_0x34464d:0x364,_0x5471a8:0xd3c,_0x167b56:0xbfe,_0x333833:0x4d1,_0x43afc7:0xbfe,_0x5b7a21:0xc09},_0x266e2e={_0x32732d:0x110d,_0x10344c:0x13d0,_0x14dbac:0x110d},_0xe09992=[],_0x307fea={'basemaps':![],'layers':!![],'childs':![],..._0x1ac94a},_0x4eebcf=this['getLayers'](_0x307fea),_0x53576a={};let _0x53e9ed=!![];for(let _0x379e61=_0x4eebcf[_0x53132d(_0x541e41._0x442283,0x15c4)]-0x1;_0x379e61>=0x0;_0x379e61--){const _0x4cfd66=_0x4eebcf[_0x379e61];if(!_0x4cfd66['options']||_0x4cfd66['isPrivate']||_0x4cfd66[_0x53132d(_0x541e41._0x3a684a,_0x541e41._0x40a619)])continue;const _0x1a6b59={};_0x1a6b59['id']=_0x4cfd66['id'],_0x1a6b59[_0x53132d(0x981,_0x541e41._0x1792a2)]=_0x4cfd66[_0x53132d(_0x541e41._0x230561,0xa5d)],_0x1a6b59[_0x258255(0x12a7,0x1621)]=_0x4cfd66['type'],_0x1a6b59['name']=_0x4cfd66['name'],_0x1a6b59['show']=_0x4cfd66[_0x53132d(0x2f7,0xb2a)]&&_0x4cfd66['show'],_0x1a6b59['group']=_0x4cfd66[_0x258255(0xf38,0x1621)]==='group'&&_0x4cfd66['hasEmptyGroup'],_0x1a6b59['attr']=_0x4cfd66['options'];let _0x155be2=_0x1a6b59;for(const _0x1dd5c1 in _0x155be2){const _0x31a3d1=_0x155be2[_0x1dd5c1];!Cesium__namespace['defined'](_0x31a3d1)&&delete _0x155be2[_0x1dd5c1];}_0x155be2[_0x53132d(0x1707,0x14f0)]&&(_0x53e9ed=![]),_0x1ac94a['forEach']&&(_0x155be2=_0x1ac94a['forEach'](_0x155be2,_0x4cfd66)??_0x155be2),_0x53576a[_0x155be2['id']]&&logWarn(_0x258255(_0x541e41._0x34464d,0xa21),_0x53576a[_0x155be2['id']],_0x155be2),_0x53576a[_0x155be2['id']]=_0x155be2,delete _0x53576a[_0x155be2['id']]['children'],_0xe09992['push'](_0x155be2);}if(_0x53e9ed&&_0x1ac94a['autoGroup']){const _0x62525c={};for(let _0x4ebb2f=_0xe09992['length']-0x1;_0x4ebb2f>=0x0;_0x4ebb2f--){const _0x2b14dd=_0xe09992[_0x4ebb2f];let _0x5a0e48;isString(_0x1ac94a['autoGroup'])?_0x5a0e48=_0x2b14dd[_0x1ac94a[_0x258255(0xc4e,0xbee)]]||_0x2b14dd[_0x258255(_0x541e41._0x5471a8,0xcba)][_0x1ac94a['autoGroup']]:_0x5a0e48=_0x1ac94a['autoGroup'](_0x2b14dd,_0x53576a[_0x2b14dd['id']]);if(!_0x62525c[_0x5a0e48]){let _0x2ce9f0={'id':createGuid(),'type':'group','name':_0x5a0e48,'show':![],'group':!![]};_0x1ac94a[_0x258255(0x128d,_0x541e41._0x167b56)]&&(_0x2ce9f0=_0x1ac94a[_0x258255(_0x541e41._0x333833,_0x541e41._0x43afc7)](_0x2ce9f0)??_0x2ce9f0),_0xe09992[_0x53132d(0x2ca,0x662)](_0x2ce9f0),_0x62525c[_0x5a0e48]=_0x2ce9f0['id'],_0x53576a[_0x2ce9f0['id']]=_0x2ce9f0;}_0x2b14dd[_0x53132d(0xf86,0xa5d)]=_0x62525c[_0x5a0e48];}}function _0x53132d(_0x250351,_0x4b06cd){return _0x2b6441(_0x250351,_0x4b06cd-0x56a);}const _0x183b36=[];_0xe09992[_0x53132d(0x134c,_0x541e41._0x5b7a21)](function(_0x44477d){function _0x1c05b3(_0x666c54,_0x471375){return _0x258255(_0x666c54,_0x471375- -0x3cc);}const _0x2bfe93=_0x44477d['pid']&&_0x53576a[_0x44477d['pid']];function _0x4f328a(_0x2d2497,_0x5a0ddf){return _0x53132d(_0x5a0ddf,_0x2d2497- -0x544);}_0x2bfe93?(!_0x2bfe93[_0x1c05b3(0x1a83,_0x266e2e._0x32732d)]&&(_0x2bfe93['children']=[]),_0x44477d['_index']=_0x2bfe93['children'][_0x4f328a(0x1080,0xc9b)],_0x44477d[_0x1c05b3(0xfae,0x906)]=function(){return _0x2bfe93;},_0x2bfe93[_0x1c05b3(_0x266e2e._0x10344c,_0x266e2e._0x14dbac)]['push'](_0x44477d)):(delete _0x44477d['pid'],_0x183b36['push'](_0x44477d));});const _0x108c69={};function _0x258255(_0x47d5c7,_0xd9cf66){return _0x2b6441(_0x47d5c7,_0xd9cf66-0x55f);}return _0x108c69['list']=_0xe09992,_0x108c69[_0x53132d(-0x264,0x44b)]=_0x183b36,_0x108c69;}['getBasemaps'](_0x1768c2){const _0xcbfc28={_0x1d6032:0x8e9},_0x4efd1b={_0x2ad2fb:0x1624,_0x19152e:0x1cea,_0x979018:0x4fc},_0x47b7e1={_0x4906c0:0xda};function _0x287f0c(_0x156438,_0x5a89ce){return _0x2b6441(_0x5a89ce,_0x156438-0x527);}function _0x116cbc(_0x568a4d,_0x582d15){return _0x2b6441(_0x568a4d,_0x582d15-_0x47b7e1._0x4906c0);}if(_0x1768c2){const _0x4f23c0=[];return this['_optionsBasemapsList'][_0x287f0c(0xbc6,0x1099)](_0xd2ba64=>{function _0x77fa6e(_0x4c6351,_0x42a617){return _0x287f0c(_0x4c6351- -0x123,_0x42a617);}function _0x3554b0(_0x248192,_0x19d049){return _0x287f0c(_0x19d049- -0x36a,_0x248192);}if(_0xd2ba64[_0x77fa6e(_0x4efd1b._0x2ad2fb,_0x4efd1b._0x19152e)])return;_0x4f23c0[_0x77fa6e(_0x4efd1b._0x979018,0x34)](_0xd2ba64);}),_0x4f23c0;}else return this[_0x287f0c(0xb74,_0xcbfc28._0x1d6032)]['values'];}['getTileLayers'](){const _0x3c899c={_0x5dda06:0xcb3,_0x5ebb65:0xe87,_0x3b3826:0xb51},_0x5662d={_0x27f0f1:0x169},_0x33c650={_0x4c886b:0x74a,_0x5be5e5:0x2bd};let _0x48d67b=[];function _0x40d860(_0xf97d3b,_0x5b11d9){return _0x306755(_0x5b11d9,_0xf97d3b- -0x4fb);}_0x48d67b=_0x48d67b['concat'](this[_0x2fcbbe(_0x3c899c._0x5dda06,0x8ba)](!![])),this[_0x40d860(_0x3c899c._0x5ebb65,_0x3c899c._0x3b3826)]['forEach'](_0xd92f40=>{const _0x1bdb4a={_0x2e790d:0x2a};function _0x34d545(_0x40be9d,_0x3f4687){return _0x40d860(_0x40be9d-0x531,_0x3f4687);}function _0x4611bd(_0x17b473,_0x532b4f){return _0x2fcbbe(_0x532b4f,_0x17b473- -_0x1bdb4a._0x2e790d);}_0xd92f40[_0x34d545(_0x33c650._0x4c886b,_0x33c650._0x5be5e5)]&&!_0xd92f40['isPrivate']&&_0x48d67b[_0x34d545(0x6cf,-0x213)](_0xd92f40);}),this['_layerList']['forEach'](_0x52cc88=>{const _0x157dae={_0x134e34:0x340};if(!_0x52cc88['isTile']||_0x52cc88['isPrivate'])return;function _0x149c15(_0x1dc204,_0x2771b4){return _0x2fcbbe(_0x2771b4,_0x1dc204- -_0x157dae._0x134e34);}function _0x1835dd(_0x3626ff,_0x181f51){return _0x2fcbbe(_0x181f51,_0x3626ff-0x2ac);}if(this[_0x149c15(0x745,-0x21f)]['contains'](_0x52cc88['id']))return;if(this['_optionsLayersList'][_0x1835dd(0x92b,0x1176)](_0x52cc88['id']))return;_0x48d67b['push'](_0x52cc88);});function _0x2fcbbe(_0x3567d7,_0x354bb1){return _0x306755(_0x3567d7,_0x354bb1- -_0x5662d._0x27f0f1);}return _0x48d67b;}['_initControls'](){const _0x2f90ff={_0x5d8d64:0x16f7,_0x413992:0xed9,_0x40b504:0x16bc,_0x185eec:0x157f,_0x5f4f2e:0x1a0f,_0x311406:0x1fba,_0xa446f3:0xa35,_0x50a12b:0x167a,_0x200fe5:0x8b8},_0xc5304e={_0x53581c:0x6d9,_0x220ce4:0x214d,_0x38cb1f:0x189a},_0x320bfb={_0x338e95:0x148},_0x4146d1={_0x14c72f:0x295};var _0x5a2748,_0x2c4f0e;const _0x244454=((_0x5a2748=this[_0x5076d1(0xda5,_0x2f90ff._0x5d8d64)])===null||_0x5a2748===void 0x0?void 0x0:_0x5a2748[_0x22a319(0x842,0xc65)])||{};setTimeout(()=>{var _0x4917c0,_0x1f094d;add((_0x4917c0=this['_viewer'])===null||_0x4917c0===void 0x0?void 0x0:_0x4917c0['scene'],(_0x1f094d=this['options'])===null||_0x1f094d===void 0x0?void 0x0:_0x1f094d['licenseUrl']);},0x3e8),this['_popupMgr']=new PopupMgr(_0x244454['popup']),this['_popupMgr']['isPrivate']=!![],this['addControl'](this['_popupMgr']);function _0x22a319(_0x2bf2ec,_0x2d90c4){return _0x2b6441(_0x2bf2ec,_0x2d90c4-_0x4146d1._0x14c72f);}this[_0x5076d1(0x132d,0x12df)]=new TooltipMgr(_0x244454['tooltip']);function _0x5076d1(_0x1299b9,_0x41405b){return _0x306755(_0x41405b,_0x1299b9-_0x320bfb._0x338e95);}this[_0x22a319(0x844,_0x2f90ff._0x413992)]['isPrivate']=!![],this[_0x22a319(0xe10,_0x2f90ff._0x40b504)](this['_tooltipMgr']),this[_0x22a319(_0x2f90ff._0x185eec,0x1012)]=new ContextMenu(_0x244454['contextmenu']),this[_0x5076d1(0x1466,0xa62)][_0x5076d1(_0x2f90ff._0x5f4f2e,0x1a1d)]=!![],this['addControl'](this['_contextmenuMgr']);(((_0x2c4f0e=_0x244454['contextmenu'])===null||_0x2c4f0e===void 0x0?void 0x0:_0x2c4f0e[_0x5076d1(0x1a01,0x1f99)])??!![])&&this['bindContextMenu'](this[_0x22a319(_0x2f90ff._0x311406,0x1573)]());this['_smallTooltip']=new SmallTooltip(_0x244454['smallTooltip']),this['_smallTooltip']['isPrivate']=!![],this[_0x22a319(0x14e6,0x16bc)](this[_0x22a319(0x966,_0x2f90ff._0xa446f3)]);const _0x44a96b=isBoolean(_0x244454['keyboardRoam'])?{'enabled':_0x244454[_0x5076d1(0xd06,0x5d1)]}:{'enabled':![],..._0x244454['keyboardRoam']};this[_0x22a319(_0x2f90ff._0x50a12b,0x15ee)]=new KeyboardRoam(_0x44a96b),this['addControl'](this[_0x5076d1(0x1a42,0xfdb)]);for(const _0x129617 in _0x244454){const _0x5ea5a0=_0x244454[_0x129617];if(!_0x5ea5a0||_0x5ea5a0['enabled']===![]||this[_0x22a319(_0x2f90ff._0x200fe5,0x8d3)][_0x129617])continue;const _0x250a5f=create$2(_0x129617,_0x5ea5a0);_0x250a5f&&this['addControl'](_0x250a5f);}this['scene']['renderError'][_0x5076d1(0xc32,0xdc5)]((_0x4dddf1,_0x26ac96)=>{const _0x51cf7f={_0x33fc4d:0x34d};function _0x5ecbaf(_0x35f71d,_0x2ce7e5){return _0x5076d1(_0x35f71d- -0x72,_0x2ce7e5);}const _0x151882={'An\x20error\x20occurred\x20while\x20rendering.\x20\x20Rendering\x20has\x20stopped.':this['getLangText']('RenderingHasStopped'),'Error\x20constructing\x20CesiumWidget.':this[_0x1c66db(_0xc5304e._0x53581c,0xdae)](_0x1c66db(_0xc5304e._0x220ce4,_0xc5304e._0x38cb1f))};function _0x1c66db(_0x3361c5,_0x23eda1){return _0x22a319(_0x3361c5,_0x23eda1-_0x51cf7f._0x33fc4d);}_updateDomInnerHtml(this['container'],_0x151882,'cesium-widget-errorPanel-header');});}[_0x2b6441(0x1a76,0x1427)](_0x1329ed,_0x3c3a19){const _0x493288={_0x462229:0x112f,_0x557b95:0x83d,_0xd93f17:0x11c3,_0x2fd527:0x112f,_0xcc0bef:0x10dc,_0x3b274d:0x11f9,_0x231b53:0xa26,_0x27ce15:0x15a1,_0x416cb3:0x9ea},_0x2b1cfe={_0x4db2e8:0x6d};if(!_0x1329ed||!_0x1329ed['_onAdd'])return this;_0x1329ed[_0x56c412(0x6a7,_0x493288._0x462229)]&&this['_control'][_0x1329ed[_0x10e784(0x1a2b,0x10dc)]]&&(!this[_0x56c412(0x189,0x6ab)][_0x1329ed[_0x10e784(_0x493288._0x557b95,0x10dc)]]['isPrivate']&&logWarn(_0x10e784(0x742,_0x493288._0xd93f17)+_0x1329ed[_0x56c412(0x150b,_0x493288._0x2fd527)]+'控件,请直接使用\x20map.control.'+_0x1329ed[_0x10e784(0x949,_0x493288._0xcc0bef)]+'\x20对象\x20',this));Cesium__namespace['defined'](_0x3c3a19)&&(_0x1329ed[_0x10e784(0x1758,0xd49)]=_0x3c3a19);function _0x56c412(_0x3a5ee9,_0x465f8f){return _0x2b6441(_0x3a5ee9,_0x465f8f-_0x2b1cfe._0x4db2e8);}_0x1329ed[_0x10e784(_0x493288._0x3b274d,_0x493288._0x231b53)](this),this[_0x56c412(_0x493288._0x27ce15,0xfa5)]['set'](_0x1329ed['id'],_0x1329ed),this[_0x56c412(0x36e,0x6ab)][_0x1329ed['type']]=_0x1329ed;const _0x59eb86={};_0x59eb86[_0x10e784(0x56d,_0x493288._0x416cb3)]=_0x1329ed,this['fire'](EventType['addControl'],_0x59eb86);function _0x10e784(_0x19cd82,_0x4137f9){return _0x306755(_0x19cd82,_0x4137f9- -0x587);}return this;}['removeControl'](_0x4a8522,_0x5dc8a6=![]){const _0x52bbbf={_0x5f0b99:0x11d2},_0x9ac570={_0x37e6a0:0x143},_0x2b1cea={_0x56cd66:0x29a};if(!_0x4a8522)return this;function _0x508306(_0x26b72a,_0x390ce1){return _0x2b6441(_0x390ce1,_0x26b72a-_0x2b1cea._0x56cd66);}this[_0x508306(_0x52bbbf._0x5f0b99,0x7bf)]['remove'](_0x4a8522['id']),delete this['_control'][_0x4a8522[_0x508306(0x135c,0xbb1)]],_0x4a8522['_onRemove']();const _0x1a09eb={};_0x1a09eb['control']=_0x4a8522,this['fire'](EventType['removeControl'],_0x1a09eb);function _0x4b7af8(_0x585c73,_0x564369){return _0x306755(_0x585c73,_0x564369-_0x9ac570._0x37e6a0);}return _0x5dc8a6&&_0x4a8522['destroy'](),this;}[_0x2b6441(0x17be,0x1160)](_0xd91a85){const _0x87d45b={_0x58ddd5:0x4ba};function _0x379b6f(_0xc9661a,_0x290cf0){return _0x2b6441(_0xc9661a,_0x290cf0-_0x87d45b._0x58ddd5);}return this['_controlList'][_0x379b6f(0x5da,0x701)]((_0xd91a85===null||_0xd91a85===void 0x0?void 0x0:_0xd91a85['id'])||_0xd91a85);}[_0x2b6441(0x31c,0x815)](_0x1be34a,_0x375ffa,_0x2f2baa){return this['_controlList']['forEach'](_0x1be34a,_0x375ffa||this,_0x2f2baa),this;}[_0x306755(0x1c99,0x1395)](_0x4ec4ef,_0xb90114='type'){const _0x5e7b4f={_0x661f7d:0x100d},_0x4d4c65={_0x59bce6:0x4cc};function _0x2b91ac(_0x4c0776,_0x379901){return _0x306755(_0x4c0776,_0x379901- -_0x4d4c65._0x59bce6);}return this[_0x2b91ac(0x1a93,_0x5e7b4f._0x661f7d)]['getByAttr'](_0x4ec4ef,_0xb90114);}[_0x306755(0x13aa,0xb9b)](){function _0x32d2c1(_0x540310,_0x25a72d){return _0x2b6441(_0x540310,_0x25a72d-0x3e2);}var _0x30e2ce;const _0x49f8ed=(_0x30e2ce=this[_0x32d2c1(0x447,0xa9e)])===null||_0x30e2ce===void 0x0?void 0x0:_0x30e2ce[_0x32d2c1(0xabf,0x3ab)];function _0x3ee9da(_0xe145db,_0x52e623){return _0x306755(_0x52e623,_0xe145db-0x10e);}if(_0x49f8ed)for(const _0x47f12f in _0x49f8ed){const _0x3ccbbf=_0x49f8ed[_0x47f12f];if(!_0x3ccbbf||_0x3ccbbf['enabled']===![])continue;const _0x3f3463=create$1(_0x47f12f,_0x3ccbbf);_0x3f3463&&this[_0x3ee9da(0x1809,0x1113)](_0x3f3463);}}[_0x2b6441(0x1c07,0x115a)](_0x844b49){const _0x12275b={_0x33168f:0x13d3,_0x11c164:0xf24,_0x1a00b8:0xf67},_0x521df3={_0x30114b:0x311};if(!_0x844b49||!_0x844b49['_onAdd'])return this;if(_0x844b49[_0x1b52bd(_0x12275b._0x33168f,0x983)]&&this['_effect'][_0x844b49['type']]){logError(_0x14d025(0x11ca,_0x12275b._0x11c164)+_0x844b49['type']+_0x1b52bd(0x4d9,_0x12275b._0x1a00b8)+_0x844b49['type']+'\x20对象\x20',this);return;}this[_0x14d025(0x1127,0x16b5)](_0x844b49);function _0x1b52bd(_0x189c84,_0x87c1ac){return _0x2b6441(_0x87c1ac,_0x189c84-_0x521df3._0x30114b);}this[_0x14d025(0xe89,0x400)][_0x844b49['type']]=_0x844b49;function _0x14d025(_0x502132,_0x1b12da){return _0x306755(_0x1b12da,_0x502132- -0x580);}const _0x56edc0={};_0x56edc0['effect']=_0x844b49,this['fire'](EventType['addEffect'],_0x56edc0);}[_0x2b6441(-0x59d,0x2d5)](_0x4feee3,_0x1d265a){const _0x4d5f06={_0x534583:0x1392};delete this[_0xaf6358(0x1732,0x14e0)][_0x4feee3[_0x57d750(0x1617,_0x4d5f06._0x534583)]];const _0x16a4d5={};_0x16a4d5['effect']=_0x4feee3;function _0x57d750(_0x2c7242,_0x54fe6c){return _0x306755(_0x2c7242,_0x54fe6c- -0x2d1);}function _0xaf6358(_0x39d9f4,_0x249272){return _0x306755(_0x39d9f4,_0x249272-0xd7);}this['fire'](EventType['removeEffect'],_0x16a4d5),this['removeThing'](_0x4feee3,_0x1d265a);}['getEffect'](_0x5a3922,_0x464f37='type'){const _0x286f08={_0x287b42:0xc83};function _0x2d0e91(_0x5ba91c,_0x3628e1){return _0x306755(_0x3628e1,_0x5ba91c- -0x3cf);}return this[_0x2d0e91(_0x286f08._0x287b42,0x16d2)](_0x5a3922,_0x464f37);}[_0x306755(0xe54,0x128a)](_0x3aeabf,_0x411037){const _0x2784d0={_0x1575c6:0x12af,_0x4a1ca4:0x48c,_0x3eff6d:0x73f};function _0x4c6146(_0x2e837f,_0x10e5fe){return _0x2b6441(_0x2e837f,_0x10e5fe-0x264);}function _0x199ead(_0x27244c,_0x38c0a7){return _0x2b6441(_0x27244c,_0x38c0a7-0x54a);}for(let _0x4512bf=this[_0x199ead(0xdc0,_0x2784d0._0x1575c6)]['_array'][_0x4c6146(0x13b8,0x12be)]-0x1;_0x4512bf>=0x0;_0x4512bf--){const _0x104356=this[_0x4c6146(0x110a,0xfc9)]['_array'][_0x4512bf];_0x104356[_0x199ead(_0x2784d0._0x4a1ca4,_0x2784d0._0x3eff6d)]&&_0x3aeabf['call'](_0x411037||this,_0x104356,_0x4512bf);}return this;}['_initThing'](){const _0x12a3ac={_0x1ddb18:0x893,_0x479f74:0x10f6,_0x1a32a7:0x702};function _0x362d44(_0x5782ca,_0x1edc5e){return _0x2b6441(_0x5782ca,_0x1edc5e-0x19f);}var _0x2fbccb;function _0x180f82(_0x16a421,_0x24c35f){return _0x2b6441(_0x24c35f,_0x16a421-0x5b9);}const _0x58fcb3=(_0x2fbccb=this[_0x180f82(0xc75,_0x12a3ac._0x1ddb18)])===null||_0x2fbccb===void 0x0?void 0x0:_0x2fbccb[_0x180f82(_0x12a3ac._0x479f74,_0x12a3ac._0x1a32a7)];if(_0x58fcb3)for(const _0x140640 in _0x58fcb3){const _0x50af42=_0x58fcb3[_0x140640];if(!_0x50af42||_0x50af42[_0x362d44(0x4d0,0xece)]===![])continue;const _0x48b1b4=create(_0x140640,_0x50af42);_0x48b1b4&&this['addThing'](_0x48b1b4);}}[_0x306755(0x1100,0x16a7)](_0x5e2037){const _0x164628={_0x5760aa:0xd34,_0x5b4979:0x1507,_0xb59d91:0xe67,_0x216779:0x103b,_0x32b417:0x16fc,_0x206bb0:0x1366},_0x1bd488={_0x4cbfdf:0x2fd};function _0x14fe28(_0x2a0a49,_0x242a45){return _0x306755(_0x2a0a49,_0x242a45- -_0x1bd488._0x4cbfdf);}if(!_0x5e2037||!_0x5e2037['_onAdd'])return this;_0x5e2037[_0x368a81(_0x164628._0x5760aa,_0x164628._0x5b4979)]&&this[_0x14fe28(0x1dc,0x308)][_0x5e2037['type']]&&_0x5e2037[_0x14fe28(0x755,_0x164628._0xb59d91)]&&logWarn('地图上已有'+_0x5e2037['type']+_0x368a81(_0x164628._0x216779,0xc5b)+_0x5e2037['type']+'\x20对象\x20',this);_0x5e2037['_onAdd'](this);function _0x368a81(_0x42e7d9,_0x435e37){return _0x2b6441(_0x42e7d9,_0x435e37-0x445);}return this[_0x14fe28(0x728,0x1009)]['set'](_0x5e2037['id'],_0x5e2037),_0x5e2037[_0x14fe28(_0x164628._0x32b417,_0x164628._0x206bb0)]&&!_0x5e2037['isEffect']&&(this[_0x14fe28(-0x2d9,0x308)][_0x5e2037['type']]=_0x5e2037),this;}['removeThing'](_0x24bd69,_0x393856=![]){const _0x5e07e2={_0x42b095:0x1006,_0x5a6216:0xa05};if(!_0x24bd69)return this;_0x24bd69['type']&&delete this['_thing'][_0x24bd69['type']];function _0x45ec70(_0x341b27,_0x224173){return _0x306755(_0x224173,_0x341b27- -0x300);}this[_0x45ec70(_0x5e07e2._0x42b095,0xb05)][_0x4b9715(_0x5e07e2._0x5a6216,0xffc)](_0x24bd69['id']);_0x393856&&_0x24bd69['clear']&&_0x24bd69['clear']();function _0x4b9715(_0x2a905e,_0x529030){return _0x306755(_0x529030,_0x2a905e-0x49);}return _0x24bd69['_onRemove'](),_0x393856&&_0x24bd69[_0x45ec70(0xc8f,0x847)](),this;}[_0x2b6441(0x101f,0xc28)](_0x17b6ce){const _0x56ff33={_0x5917ad:0x680,_0x59237d:0xe24,_0x6196a3:0x306},_0x4bc87f={_0x63d0ec:0x2fb};function _0x551f9c(_0x1f05bd,_0x5de81b){return _0x306755(_0x1f05bd,_0x5de81b- -0x4e2);}function _0x8a78bd(_0x107d52,_0x5da7fb){return _0x306755(_0x107d52,_0x5da7fb- -_0x4bc87f._0x63d0ec);}return this[_0x551f9c(_0x56ff33._0x5917ad,_0x56ff33._0x59237d)][_0x551f9c(-0x153,_0x56ff33._0x6196a3)]((_0x17b6ce===null||_0x17b6ce===void 0x0?void 0x0:_0x17b6ce['id'])||_0x17b6ce);}['eachThing'](_0x4b7954,_0x3576d1,_0x1152f2){const _0x2c9ee3={_0x2b0762:0x1350},_0x179c6a={_0x1105a1:0x4a};this[_0x315308(_0x2c9ee3._0x2b0762,0x10a2)][_0x4afe0a(0x4fc,0x7a4)](_0x4b7954,_0x3576d1||this,_0x1152f2);function _0x4afe0a(_0x26beb9,_0xc26f32){return _0x306755(_0x26beb9,_0xc26f32- -0x49c);}function _0x315308(_0xca3cde,_0x5f069a){return _0x306755(_0x5f069a,_0xca3cde-_0x179c6a._0x1105a1);}return this;}[_0x306755(0xacc,0x1052)](_0x10463e,_0x5d84ab){return this['_thingList']['getByAttr'](_0x10463e,_0x5d84ab);}['_initMethod'](_0x119f83={}){const _0x54e768={_0x39587c:0x1809,_0x5ef522:0xfc6,_0x323c39:0x4b8,_0x3faf63:0xd40,_0x558379:0xd24,_0x4a6ebb:0xb9a,_0x45432f:0x279,_0x50eef2:0x1780,_0x1438b9:0xfbd,_0x5eb73a:0x50e},_0x4f90f8={_0x466816:0x583};function _0x81169c(_0xbca59e,_0x32d087){return _0x2b6441(_0xbca59e,_0x32d087-_0x4f90f8._0x466816);}function _0x3a34be(_0x564816,_0x1e857f){return _0x2b6441(_0x564816,_0x1e857f- -0x64);}for(const _0x4a53d9 in _0x119f83){const _0x16a7f5=_0x119f83[_0x4a53d9];switch(_0x4a53d9){case _0x3a34be(_0x54e768._0x39587c,0x139f):case _0x3a34be(0x5af,-0x73):case'lang':case'fixedLight':case'zoomFactor':case _0x81169c(0x1128,_0x54e768._0x5ef522):case _0x81169c(_0x54e768._0x323c39,0x9b5):case _0x81169c(_0x54e768._0x3faf63,0x1559):{this[_0x4a53d9]=_0x16a7f5;break;}case'cursor':case _0x81169c(0x1267,0xdce):{this['setCursor'](_0x16a7f5);break;}case _0x81169c(_0x54e768._0x558379,_0x54e768._0x4a6ebb):{this['changeMouseModel'](_0x16a7f5);break;}case _0x3a34be(0x85,_0x54e768._0x45432f):{this[_0x3a34be(-0x2ce,_0x54e768._0x45432f)](_0x16a7f5[_0x81169c(_0x54e768._0x50eef2,0xce8)],_0x16a7f5['min']);break;}case'setCameraViewList':{this[_0x81169c(0x1484,_0x54e768._0x1438b9)](_0x16a7f5['list'],_0x16a7f5);break;}case'openFlyAnimation':{this[_0x81169c(-0x13d,_0x54e768._0x5eb73a)](_0x16a7f5);break;}case'rotateAnimation':{this['rotateAnimation'](_0x16a7f5);break;}case'token':{updateAll(_0x16a7f5);break;}default:{logWarn('未处理参数',_0x16a7f5);break;}}}}['getLangText'](_0x4732af){const _0x487da4={_0x3b5ee2:0x856,_0x36fdcd:0x8b7},_0x4addb6={_0x5de3e7:0x4c1};function _0x1d69a1(_0x1d1d0b,_0x5eb0cf){return _0x306755(_0x1d1d0b,_0x5eb0cf- -_0x4addb6._0x5de3e7);}return this[_0x1d69a1(_0x487da4._0x3b5ee2,_0x487da4._0x36fdcd)][_0x4732af]||'';}['setLangText'](_0x171a2f,_0x453bf6){const _0x459d70={_0x12bd18:0x3d2,_0x46f1fd:0xde4,_0x3a573b:0x10b4},_0x11b42e={_0x56ca96:0x322};if(_0x171a2f){if(isString(_0x171a2f))this['lang'][_0x171a2f]=_0x453bf6;else{if(isObject(_0x171a2f))for(const _0x1ed2d6 in _0x171a2f){this['lang'][_0x1ed2d6]=_0x171a2f[_0x1ed2d6];}}}this['eachControl'](_0x32ba1f=>{_0x32ba1f['reload']();}),this['eachLayer'](_0x2dd8bb=>{const _0x4c841f=_0x2dd8bb[_0x2a89e4(_0x459d70._0x12bd18,_0x459d70._0x46f1fd)];function _0x11d94e(_0x4173c6,_0x25f649){return _0x5bbe(_0x4173c6- -_0x11b42e._0x56ca96,_0x25f649);}function _0x2a89e4(_0xab3cd7,_0x52720e){return _0x5bbe(_0xab3cd7- -0x36f,_0x52720e);}_0x4c841f&&(_0x4c841f['stopEditing'](),_0x4c841f[_0x11d94e(_0x459d70._0x3a573b,0x1038)](),_0x2dd8bb['eachGraphic'](_0x1c5eb1=>{_0x1c5eb1['updateText']&&_0x1c5eb1['updateText']();}));});}['zoomIn'](_0x54d965,_0x4ba411){const _0x17320a={_0x21dd50:0xff7,_0x34a25d:0x638},_0x2a8efb={_0x315705:0x350},_0x39f80f=this['_zoomNavigation']['zoomIn'](_0x54d965,_0x4ba411);function _0xc8f2a5(_0x3d8482,_0x56b7fe){return _0x2b6441(_0x3d8482,_0x56b7fe-_0x2a8efb._0x315705);}if(_0x39f80f){const _0x31cce6={};_0x31cce6['ztype']='zoomIn',_0x31cce6['relativeAmount']=_0x54d965,_0x31cce6['mandatory']=_0x4ba411,this[_0xc8f2a5(_0x17320a._0x21dd50,_0x17320a._0x34a25d)](EventType['zoom'],_0x31cce6);}return _0x39f80f;}[_0x306755(-0x92,0x8ba)](_0x5eed01,_0x3b5897){const _0x32dee4={_0x10226e:0xd78},_0x5d2d58={_0x29adc4:0x59f},_0x539575=this['_zoomNavigation'][_0x5369a7(0x43d,-0x3b2)](_0x5eed01,_0x3b5897);function _0x2a91eb(_0x5e1b76,_0x2e918d){return _0x2b6441(_0x2e918d,_0x5e1b76-_0x5d2d58._0x29adc4);}function _0x5369a7(_0x1ca5be,_0x5d0dec){return _0x306755(_0x5d0dec,_0x1ca5be- -0x47d);}if(_0x539575){const _0xa9fa27={};_0xa9fa27[_0x5369a7(0xdea,0x1458)]='zoomOut',_0xa9fa27['relativeAmount']=_0x5eed01,_0xa9fa27[_0x5369a7(0xfa6,0x11af)]=_0x3b5897,this['fire'](EventType[_0x5369a7(0xd42,_0x32dee4._0x10226e)],_0xa9fa27);}return _0x539575;}['changeMouseModel'](_0x4ebd6b){const _0x3bdcd7={_0x22280e:0x97e,_0x5c01e4:0xe78,_0xed01a5:0xf6a,_0x185fa2:0x139c,_0x4c8f7f:0xafb,_0x2a9813:0x45b,_0x5e9a08:0x495,_0x4a8a49:0x102a,_0x3217d9:0xa4c,_0x512832:0x3e5,_0x51df90:0xe44,_0x337f17:0x2073,_0x36ba7f:0x772,_0x5d5d9a:0x155d,_0x186797:0x61b,_0x2cb82a:0xc56},_0x54ef0e={_0xd64cc0:0x38d};function _0x3e66b0(_0x457fc7,_0x2888bd){return _0x306755(_0x2888bd,_0x457fc7- -0x59d);}function _0x31d9fa(_0x19742a,_0x296392){return _0x2b6441(_0x19742a,_0x296392-_0x54ef0e._0xd64cc0);}this[_0x31d9fa(0xb13,_0x3bdcd7._0x22280e)]=_0x4ebd6b,_0x4ebd6b?(this['_viewer']['scene']['screenSpaceCameraController'][_0x3e66b0(0x603,-0x271)]=[Cesium__namespace[_0x3e66b0(0x8be,_0x3bdcd7._0x5c01e4)][_0x31d9fa(_0x3bdcd7._0xed01a5,0x1093)],Cesium__namespace['CameraEventType'][_0x31d9fa(0xfdb,0x15c3)],{'eventType':Cesium__namespace['CameraEventType'][_0x31d9fa(0x1eb4,0x1439)],'modifier':Cesium__namespace[_0x31d9fa(_0x3bdcd7._0x185fa2,_0x3bdcd7._0x4c8f7f)][_0x3e66b0(0x11d4,0x1a02)]},{'eventType':Cesium__namespace['CameraEventType'][_0x3e66b0(0xd0a,0xd26)],'modifier':Cesium__namespace['KeyboardEventModifier']['CTRL']}],this['_viewer'][_0x3e66b0(0x4c8,_0x3bdcd7._0x2a9813)]['screenSpaceCameraController'][_0x3e66b0(-0x1e,_0x3bdcd7._0x5e9a08)]=[Cesium__namespace['CameraEventType']['MIDDLE_DRAG'],Cesium__namespace['CameraEventType'][_0x31d9fa(0xfda,_0x3bdcd7._0x4a8a49)],Cesium__namespace['CameraEventType']['PINCH']]):(this[_0x31d9fa(0x929,0x573)][_0x3e66b0(0x4c8,_0x3bdcd7._0x3217d9)]['screenSpaceCameraController'][_0x31d9fa(0xfc7,0x98c)]=[Cesium__namespace['CameraEventType'][_0x3e66b0(_0x3bdcd7._0x512832,_0x3bdcd7._0x51df90)],Cesium__namespace[_0x3e66b0(0x8be,0x772)][_0x31d9fa(_0x3bdcd7._0x337f17,0x15c3)],{'eventType':Cesium__namespace['CameraEventType']['LEFT_DRAG'],'modifier':Cesium__namespace[_0x3e66b0(_0x3bdcd7._0x36ba7f,0x664)][_0x31d9fa(0x1952,_0x3bdcd7._0x5d5d9a)]},{'eventType':Cesium__namespace['CameraEventType'][_0x3e66b0(0xd0a,0x1151)],'modifier':Cesium__namespace['KeyboardEventModifier']['CTRL']}],this['_viewer']['scene']['screenSpaceCameraController']['zoomEventTypes']=[Cesium__namespace['CameraEventType']['RIGHT_DRAG'],Cesium__namespace['CameraEventType']['WHEEL'],Cesium__namespace['CameraEventType']['PINCH']]),this['control']['mouseDownView']&&this['control'][_0x31d9fa(0x167,0xbc5)][_0x3e66b0(_0x3bdcd7._0x186797,_0x3bdcd7._0x2cb82a)]();}['clearPitchRange'](){const _0x37529b={_0x5d83a4:0x1aa4,_0x386bc7:0x83,_0x1ea710:0x252,_0x31461b:0x866,_0x1b8632:0xa83,_0x2ef29d:0x214c,_0x2bd1ba:0x170a,_0x46555c:0x78c,_0x28eda7:0xc67,_0x310f10:0xa5,_0x5cc034:0x1954,_0x25b345:0x1c22},_0x2f233d={_0x507f36:0x5bf};function _0x25594d(_0x19204a,_0x573410){return _0x2b6441(_0x19204a,_0x573410-0x680);}delete this['_pitch_max'],delete this['_pitch_min'],delete this[_0x25594d(_0x37529b._0x5d83a4,0x171b)],this['_viewer']['scene']['screenSpaceCameraController'][_0x3ffcf5(0x658,-_0x37529b._0x386bc7)]=0.9,this[_0x25594d(-_0x37529b._0x1ea710,_0x37529b._0x31461b)][_0x3ffcf5(_0x37529b._0x1b8632,0x1e3)][_0x25594d(0x18c,0x7d7)][_0x25594d(_0x37529b._0x2ef29d,_0x37529b._0x2bd1ba)]=0.9,this[_0x3ffcf5(0x98a,0xda8)](EventType[_0x25594d(_0x37529b._0x46555c,_0x37529b._0x28eda7)],this['_setPitchRange_rightDownHandler'],this);function _0x3ffcf5(_0x4ba569,_0x2b07b5){return _0x2b6441(_0x2b07b5,_0x4ba569-_0x2f233d._0x507f36);}this['off'](EventType['mouseUp'],this['_setPitchRange_rightUpHandler'],this),this[_0x25594d(0xe1c,0xa4b)](EventType[_0x25594d(_0x37529b._0x310f10,0xb47)],this[_0x25594d(0x12cb,0x19b9)],this),this['off'](EventType[_0x3ffcf5(_0x37529b._0x5cc034,_0x37529b._0x25b345)],this['_setPitchRange_cameraChangedHandler'],this);}['setPitchRange'](_0x5f39d8,_0x522149=-0x5a){const _0x905d6b={_0x288cf3:0xc39,_0x38f8b9:0xad,_0x472333:0x678,_0x5f752d:0x844};this['clearPitchRange'](),this[_0x235ef6(_0x905d6b._0x288cf3,0x4ec)][_0x235ef6(-_0x905d6b._0x38f8b9,0x7ca)]['screenSpaceCameraController']['inertiaSpin']=0x0,this['_viewer']['scene']['screenSpaceCameraController']['inertiaTranslate']=0x0,this['_viewer'][_0x2df248(0x413,_0x905d6b._0x472333)]['screenSpaceCameraController']['maximumTiltAngle']=_0x5f39d8;function _0x235ef6(_0x39b644,_0x63915b){return _0x306755(_0x39b644,_0x63915b- -0x29b);}this['_pitch_max']=Cesium__namespace['Math']['toRadians'](_0x5f39d8),this['_pitch_min']=Cesium__namespace['Math'][_0x2df248(0x57a,_0x905d6b._0x5f752d)](_0x522149);function _0x2df248(_0x4b8e41,_0x1db391){return _0x306755(_0x1db391,_0x4b8e41- -0x652);}this['on'](EventType['mouseDown'],this['_setPitchRange_rightDownHandler'],this),this['on'](EventType[_0x2df248(0x455,0x6f5)],this['_setPitchRange_rightUpHandler'],this);}[_0x306755(0x3bd,0x76f)](_0x5ccaaa){const _0x23d7d1={_0xf2d01f:0x1670,_0x4d7ec7:0x68e,_0x253a99:0xaf9,_0x3c338c:0xceb,_0xf9e67f:0x1461,_0x2361c3:0xcb3,_0x141b12:0x1fbb,_0x1fc522:0x1b54,_0x78f9b5:0x1506},_0x190907={_0x5f1712:0x5f6};if(this['_viewer']['scene'][_0x4b8569(0xf3a,_0x23d7d1._0xf2d01f)]!==Cesium__namespace['SceneMode'][_0x4297fa(0xa0e,0x10d2)])return;function _0x4b8569(_0x444d23,_0x161537){return _0x2b6441(_0x444d23,_0x161537-_0x190907._0x5f1712);}function _0x4297fa(_0x48c8be,_0x15b7c5){return _0x306755(_0x48c8be,_0x15b7c5- -0xf9);}if(this[_0x4297fa(0x288,_0x23d7d1._0x4d7ec7)]['camera']['positionCartographic'][_0x4297fa(0x3c4,_0x23d7d1._0x253a99)]>this['_viewer']['scene'][_0x4297fa(_0x23d7d1._0x3c338c,0x5ff)]['minimumCollisionTerrainHeight'])return;this[_0x4b8569(0x139e,0x1691)]=this['_viewer']['camera'][_0x4297fa(_0x23d7d1._0xf9e67f,_0x23d7d1._0x2361c3)]['height'],this['on'](EventType['mouseMove'],this[_0x4297fa(_0x23d7d1._0x141b12,0x17e1)],this),this['on'](EventType['cameraChanged'],this[_0x4b8569(_0x23d7d1._0x1fc522,_0x23d7d1._0x78f9b5)],this);}['_setPitchRange_rightUpHandler'](_0x582d74){const _0x1fe216={_0x1792e7:0x91d},_0x2a6b67={_0x20d111:0x329};this['_viewer']['scene']['screenSpaceCameraController'][_0x2bf5ec(_0x1fe216._0x1792e7,0xd85)]=!![];function _0x5b183a(_0x14bbcc,_0x21fe62){return _0x2b6441(_0x14bbcc,_0x21fe62-0x664);}this['off'](EventType['mouseMove'],this['_setPitchRange_mouseMoveHandler'],this);function _0x2bf5ec(_0x45401b,_0xad163d){return _0x2b6441(_0xad163d,_0x45401b-_0x2a6b67._0x20d111);}this['off'](EventType[_0x5b183a(0x11bd,0x1394)],this['_setPitchRange_cameraChangedHandler'],this);}['_setPitchRange_mouseMoveHandler'](_0x54298f){const _0x2d59f0={_0x5b1d04:0x2045,_0x350726:0x8d8,_0xf3166c:0x15ae,_0x252c73:0x158d,_0x1af2e8:0x369};function _0x4884ff(_0x5ca5a0,_0x15b4d5){return _0x2b6441(_0x15b4d5,_0x5ca5a0-0x2d4);}function _0x2f1a7c(_0x132fc6,_0x52a757){return _0x2b6441(_0x132fc6,_0x52a757-0x212);}let _0x21b169=!![];const _0x31532e=_0x54298f[_0x4884ff(0x157d,_0x2d59f0._0x5b1d04)]['y']<_0x54298f['startPosition']['y'];if(_0x31532e&&this['_viewer'][_0x4884ff(0xd7b,0x1461)][_0x4884ff(_0x2d59f0._0x350726,0xfba)]>this['_pitch_max'])_0x21b169=![];else!_0x31532e&&this['_viewer'][_0x2f1a7c(_0x2d59f0._0xf3166c,0xcb9)][_0x2f1a7c(0xa62,0x816)]this[_0x136af9(0x59c,_0x3c69b7._0x1d66a2)][_0x136af9(0x87a,0x11b4)]['screenSpaceCameraController']['minimumCollisionTerrainHeight'])return;let _0x45bf51=this[_0x21a162(_0x3c69b7._0x41ef86,_0x3c69b7._0x18e943)]['camera']['pitch'];function _0x136af9(_0x30bd68,_0x481da1){return _0x306755(_0x481da1,_0x30bd68- -_0x2e0667._0x1a2645);}if(_0x45bf51>this['_pitch_max']||_0x45bf51this['_pitch_max'])_0x45bf51=this['_pitch_max'];else _0x45bf51{const _0x28e14c={_0x486346:0x10e},_0x1cbf1b={_0x563087:0x583,_0x5d0482:0xc0c};if(!_0x14741d||_0x14741d[_0x4ea483(_0x17abbc._0x3b32ea,_0x17abbc._0x3ecc7b)]===0x0&&_0x14741d[_0x20a075(_0x17abbc._0x2102e5,_0x17abbc._0xd9191f)]===0x0&&_0x14741d['alt']===0x0){_0x300dfe(![]);return;}isNumber(_0xad1221)&&(_0xad1221={'duration':_0xad1221});function _0x20a075(_0x5e360c,_0x5ea301){return _0x5bbe(_0x5ea301- -_0x3e88bc._0x42c6a0,_0x5e360c);}let _0x2bcfdc=_0xad1221[_0x4ea483(_0x17abbc._0xf6a7bb,_0x17abbc._0x4822ff)]??0x9c4;this['_viewer']['camera']['positionCartographic']['height']<_0x2bcfdc&&(_0x2bcfdc=this['_viewer']['camera'][_0x20a075(_0x17abbc._0x3881d0,0x7b3)][_0x4ea483(_0x17abbc._0x337aca,_0x17abbc._0xe5aea7)]);Cesium__namespace['defined'](_0x14741d[_0x20a075(0x239,-_0x17abbc._0x303419)])&&(_0x2bcfdc=_0x14741d[_0x20a075(_0x17abbc._0x4e3d51,-0x192)]);let _0x46b6e8;if(Cesium__namespace['defined'](_0x14741d['lng'])&&Cesium__namespace['defined'](_0x14741d['lat']))_0x46b6e8=Cesium__namespace[_0x20a075(-0xc7,0x428)]['fromDegrees'](_0x14741d['lng'],_0x14741d[_0x4ea483(0x7d9,0xa01)],_0x2bcfdc);else Cesium__namespace[_0x20a075(0x1b2b,_0x17abbc._0x48d6ff)](_0x14741d['x'])&&Cesium__namespace['defined'](_0x14741d['y'])?(Cesium__namespace[_0x4ea483(_0x17abbc._0x5b4102,0x19dd)](_0x14741d['z'])&&(_0x2bcfdc=_0x14741d['z']),_0x46b6e8=Cesium__namespace['Cartesian3']['fromDegrees'](_0x14741d['x'],_0x14741d['y'],_0x2bcfdc)):_0x46b6e8=this[_0x20a075(0x6c4,_0x17abbc._0x73f6ab)]['camera'][_0x20a075(0x12ef,0xbfe)];const _0x5bdf95={..._0xad1221,'destination':_0x46b6e8,'orientation':{'heading':Cesium__namespace['Math']['toRadians'](_0x14741d['heading']??0x0),'pitch':Cesium__namespace['Math']['toRadians'](_0x14741d[_0x4ea483(0xa40,_0x17abbc._0x140cf1)]??-0x5a),'roll':Cesium__namespace['Math'][_0x20a075(_0x17abbc._0xa5fbc7,0x5d3)](_0x14741d['roll']??0x0)},'complete':()=>{function _0x5a1593(_0x5019a1,_0x3a49ff){return _0x4ea483(_0x3a49ff-0x5f,_0x5019a1);}_0xad1221[_0x5a1593(-0x372,0x48f)]&&_0xad1221['complete'](),_0x300dfe(!![]);},'cancel':()=>{const _0x4a363e={_0x386cfa:0x6e1};function _0x1e0f05(_0xda8032,_0x52c57b){return _0x20a075(_0x52c57b,_0xda8032-_0x4a363e._0x386cfa);}_0xad1221['cancel']&&_0xad1221[_0x1e0f05(_0x1cbf1b._0x563087,_0x1cbf1b._0x5d0482)](),_0x300dfe(![]);}};function _0x4ea483(_0x21ffcd,_0x59199c){return _0x5bbe(_0x21ffcd-_0x28e14c._0x486346,_0x59199c);}_0xad1221[_0x20a075(-_0x17abbc._0x2488b7,-0x133)]===0x0?(this[_0x20a075(0x1d4,0x18e)][_0x4ea483(0xee3,0xbed)][_0x4ea483(0xd82,0x10c3)](_0x5bdf95),_0xad1221['complete']&&_0xad1221[_0x4ea483(_0x17abbc._0x320397,_0x17abbc._0x59f982)](),_0x300dfe(!![])):this['_viewer']['camera']['flyTo'](_0x5bdf95);});}['centerAt'](_0x191a7a,_0x4f2b24){return this['setCameraView'](_0x191a7a,_0x4f2b24);}[_0x306755(0xd65,0x92f)](_0x5a65dd){const _0x5cc9db={_0x53cc3b:0x185,_0x4b373a:0x1e3,_0x1120c5:0x5e9,_0x237467:0x1a01,_0xc7b45f:0x613,_0x2e1b34:0x46d};function _0x55e244(_0x3ed97d,_0x2c1a2e){return _0x306755(_0x2c1a2e,_0x3ed97d-0x14b);}function _0x193570(_0x4cca10,_0x248b4b){return _0x2b6441(_0x248b4b,_0x4cca10- -0xa9);}var _0x345693,_0x5ac63a;if((_0x345693=this['options'])!==null&&_0x345693!==void 0x0&&(_0x345693=_0x345693[_0x55e244(0xbb0,_0x5cc9db._0x53cc3b)])!==null&&_0x345693!==void 0x0&&_0x345693[_0x55e244(0x847,_0x5cc9db._0x4b373a)])this['setCameraView'](this['options'][_0x55e244(0xbb0,_0x5cc9db._0x1120c5)]['center'],_0x5a65dd);else(_0x5ac63a=this['options'])!==null&&_0x5ac63a!==void 0x0&&(_0x5ac63a=_0x5ac63a[_0x55e244(0xbb0,0xeef)])!==null&&_0x5ac63a!==void 0x0&&_0x5ac63a[_0x193570(0x105b,_0x5cc9db._0x237467)]&&this['flyToExtent'](this[_0x193570(_0x5cc9db._0xc7b45f,-_0x5cc9db._0x2e1b34)]['scene'][_0x55e244(0x17f0,0x2125)],_0x5a65dd);}['setCameraViewList'](_0x794342,_0x594b9d={}){const _0x14997f={_0x561093:0x1445},_0x238e2a={_0x23f575:0x599};this['cancelFlyTo']();function _0x12445b(_0x4eb38d,_0x4eafba){return _0x2b6441(_0x4eb38d,_0x4eafba-0x3d9);}this['_setCameraViewListArr']=_0x794342,this['_setCameraViewListOptions']=_0x594b9d;function _0x5096e1(_0x50a3df,_0x290874){return _0x306755(_0x290874,_0x50a3df- -_0x238e2a._0x23f575);}this[_0x12445b(0xf9b,0x1769)]=!![],this[_0x5096e1(_0x14997f._0x561093,0x1819)](0x0,_0x594b9d);}[_0x2b6441(0x13e7,0xed7)](){this['cancelFlyTo']();}['proceedCameraViewList'](){const _0x4c5617={_0x48b18a:0x627,_0x22731d:0x10aa},_0x2d850f={_0x35f3f4:0x5e3};function _0x96a8c4(_0x3a13b5,_0x42d938){return _0x2b6441(_0x42d938,_0x3a13b5-_0x2d850f._0x35f3f4);}this['_setCameraViewListState']=!![],this['_setCameraViewListItem'](this['_setCameraViewListIndex'],this[_0x96a8c4(_0x4c5617._0x48b18a,_0x4c5617._0x22731d)]);}['_setCameraViewListItem'](_0x53981e,_0xc1246e){const _0x530ff8={_0x4d09ea:0x42e},_0x47a3b3={_0x177226:0x1554,_0x452c1a:0xa77},_0x2a2f83={_0x24a540:0x929},_0x241193={_0x17e8ce:0x240},_0x3cdf47=this;if(!this['_setCameraViewListState']||_0x53981e<0x0||_0x53981e>=this[_0x2a8f78(_0x530ff8._0x4d09ea,-0x68b)][_0x2a8f78(0x1201,0xd74)]){this['_setCameraViewListState']=![];_0xc1246e!==null&&_0xc1246e!==void 0x0&&_0xc1246e[_0x462c77(-0x2ad,0x355)]&&_0xc1246e['complete']();return;}this['_setCameraViewListIndex']=_0x53981e;function _0x2a8f78(_0x331b6b,_0x33c542){return _0x2b6441(_0x33c542,_0x331b6b-0x1a7);}const _0x2b01a0=this[_0x2a8f78(_0x530ff8._0x4d09ea,-0x216)][_0x53981e];_0x2b01a0[_0x2a8f78(0x1585,0xc0d)]&&_0x2b01a0['onStart']();let _0x14ca9b;function _0x462c77(_0x5f203e,_0x72a2b4){return _0x306755(_0x5f203e,_0x72a2b4- -_0x241193._0x17e8ce);}this['setCameraView'](_0x2b01a0,{'easingFunction':Cesium__namespace['EasingFunction']['LINEAR_NONE'],..._0xc1246e,'duration':_0x2b01a0[_0x2a8f78(0xcc,0x689)],'complete':function(){function _0x5233b4(_0x53ebee,_0x5152e1){return _0x2a8f78(_0x53ebee-0xd7,_0x5152e1);}_0x2b01a0[_0x143633(_0x2a2f83._0x24a540,0xfc2)]&&_0x2b01a0['onEnd']();function _0x143633(_0x250998,_0x313d44){return _0x462c77(_0x250998,_0x313d44- -0x2bb);}const _0x11a59d=_0x2b01a0[_0x143633(0x125c,0x12e0)]??0x1;_0x14ca9b=setTimeout(()=>{_0x3cdf47['_setCameraViewListItem'](++_0x53981e,_0xc1246e);},_0x11a59d*0x3e8);},'cancle':function(){const _0x4e1a65={_0x4d79b8:0x35};this[_0x5f000c(0x154c,_0x47a3b3._0x177226)]=![],clearTimeout(_0x14ca9b);function _0x5f000c(_0x2fe94b,_0x5129d7){return _0x462c77(_0x5129d7,_0x2fe94b- -0x1a5);}function _0x4f4cc7(_0x2e1c83,_0x968844){return _0x462c77(_0x968844,_0x2e1c83- -_0x4e1a65._0x4d79b8);}_0xc1246e!==null&&_0xc1246e!==void 0x0&&_0xc1246e['cancel']&&_0xc1246e[_0x5f000c(0xb6,_0x47a3b3._0x452c1a)]();}});}[_0x306755(0x8ce,0xc27)](_0x21b661,_0x2b49ed){if(!_0x21b661)return;return this['_viewer']['flyTo'](_0x21b661,_0x2b49ed);}['flyToGraphic'](_0x4b4ae6,_0x310574={}){const _0x37e45c={_0x5d06ab:0x1267,_0x8f13cd:0xac4,_0x21a245:0x128,_0x1b4719:0x658,_0x106447:0x38e,_0x3735db:0xb3b,_0x33e82b:0x100,_0x55bb2a:0xb9,_0x30bdc1:0x1e7,_0x48acb2:0x14bb};function _0x153d52(_0x4206c1,_0x3cc365){return _0x306755(_0x3cc365,_0x4206c1- -0x4c8);}if(!_0x4b4ae6||_0x4b4ae6[_0x28dc74(_0x37e45c._0x5d06ab,_0x37e45c._0x8f13cd)]===0x0)return Promise['resolve'](![]);if(_0x4b4ae6[_0x153d52(0x75f,0x1216)]){var _0x37f193;return _0x310574[_0x28dc74(_0x37e45c._0x21a245,_0x37e45c._0x1b4719)]=(_0x37f193=_0x4b4ae6[_0x153d52(_0x37e45c._0x106447,_0x37e45c._0x3735db)])===null||_0x37f193===void 0x0?void 0x0:_0x37f193['clampToGround'],_0x4b4ae6['flyTo'](_0x310574);}function _0x28dc74(_0x5b2d68,_0x557c0e){return _0x2b6441(_0x557c0e,_0x5b2d68-0x20d);}if(!Array[_0x28dc74(0x4a0,-_0x37e45c._0x33e82b)](_0x4b4ae6))return Promise['resolve'](![]);if(_0x4b4ae6['length']===0x1)return _0x4b4ae6[0x0][_0x28dc74(0x893,-_0x37e45c._0x55bb2a)](_0x310574);let _0x228efd;for(let _0x34fe20=0x0,_0x54a588=_0x4b4ae6['length'];_0x34fe20<_0x54a588;_0x34fe20++){const _0x533e5a=_0x4b4ae6[_0x34fe20];if(!_0x533e5a['getRectangle'])continue;const _0x520cf2=_0x533e5a['getRectangle']();if(!Cesium__namespace['defined'](_0x520cf2))continue;_0x228efd?_0x228efd=Cesium__namespace[_0x28dc74(0xc06,_0x37e45c._0x30bdc1)]['union'](_0x520cf2,_0x228efd):_0x228efd=_0x520cf2;}return this[_0x153d52(0xa3d,_0x37e45c._0x48acb2)](_0x228efd,_0x310574);}['flyToPositions'](_0x2ca1b2,_0x529d17={}){const _0x2b9f03={_0x2260a7:0x1466,_0x48e236:0x15f8,_0x5e7c5a:0x1119,_0xf9e9b0:0xbd6,_0x20c828:0x92c},_0xf6637={_0x57130c:0x3a},_0x5799c5={_0x76d864:0x195};if(!_0x2ca1b2||_0x2ca1b2['length']===0x0)return Promise['resolve'](![]);if(_0x2ca1b2[_0x4a981c(_0x2b9f03._0x2260a7,_0x2b9f03._0x48e236)]===0x1)return this['flyToPoint'](_0x2ca1b2[0x0],_0x529d17);function _0x4a981c(_0x1be0b3,_0x334a64){return _0x306755(_0x334a64,_0x1be0b3- -_0x5799c5._0x76d864);}const _0x3d5fcf=getRectangle(_0x2ca1b2,!![]);function _0x262bf9(_0x383689,_0x3664eb){return _0x2b6441(_0x383689,_0x3664eb-_0xf6637._0x57130c);}if(!_0x3d5fcf)return Promise[_0x4a981c(0xeaf,0x13bf)](![]);return _0x3d5fcf[_0x4a981c(0xae8,_0x2b9f03._0x5e7c5a)]===_0x3d5fcf['xmax']&&_0x3d5fcf['ymin']===_0x3d5fcf['ymax']||_0x3d5fcf['xmax']-_0x3d5fcf['xmin']>0xc8?this[_0x262bf9(0x83c,_0x2b9f03._0xf9e9b0)]([_0x3d5fcf['xmin'],_0x3d5fcf[_0x262bf9(-0x2c,_0x2b9f03._0x20c828)],_0x3d5fcf['height']],_0x529d17):(_0x3d5fcf['height']=getMaxHeight(_0x2ca1b2),_0x529d17['scale']=_0x529d17[_0x262bf9(0x4e5,0x76d)]||1.2,this['flyToExtent'](_0x3d5fcf,_0x529d17));}['flyToExtent'](_0x403f47,_0x28556b={}){const _0x328d55={_0x2d1195:0xcd1,_0x2414c2:0x4e,_0x34d5f:0x665,_0xfd2405:0x7f4,_0x1647fa:0x8ae,_0x1c8b7a:0x793,_0x22c4c2:0x2bf,_0x359af6:0x1227},_0x592846={_0x1e8b84:0x458},_0x54d12c={_0x417635:0x2d8};_0x403f47 instanceof Cesium__namespace[_0x187081(0x168b,_0x328d55._0x2d1195)]&&(_0x403f47=formatRectangle(_0x403f47));const _0x239bbd=_0x403f47[_0x187081(0xc51,0x9b4)];function _0x187081(_0x525581,_0x2efc8e){return _0x2b6441(_0x525581,_0x2efc8e-_0x54d12c._0x417635);}const _0x18b875=_0x403f47[_0x4de0c2(0xe0,-0x8b8)],_0x5b17f0=_0x403f47['ymin'],_0x199e8d=_0x403f47[_0x187081(_0x328d55._0x2414c2,0x8b3)];function _0x4de0c2(_0x3df973,_0x375e5a){return _0x306755(_0x375e5a,_0x3df973- -_0x592846._0x1e8b84);}const _0x411315=(_0x239bbd+_0x18b875)/0x2,_0x4ddf92=(_0x5b17f0+_0x199e8d)/0x2;if(_0x411315<=0x1&&_0x4ddf92<=0x1)return Promise['resolve'](![]);let _0x457413=_0x403f47[_0x4de0c2(0x79a,_0x328d55._0x34d5f)]??_0x28556b['height']??0x0;if(_0x457413===0x0){const _0x3133e5={};_0x3133e5['min']=0x0,_0x457413=getHeight(this['scene'],Cesium__namespace['Cartesian3']['fromDegrees'](_0x411315,_0x4ddf92),_0x3133e5)??_0x457413;}const _0x501250=Cesium__namespace['Rectangle'][_0x187081(0xdac,_0x328d55._0xfd2405)](_0x239bbd,_0x5b17f0,_0x18b875,_0x199e8d),_0x421032=Math[_0x4de0c2(_0x328d55._0x1647fa,0x107b)](_0x501250[_0x4de0c2(0x79a,0x4e3)],_0x501250[_0x4de0c2(_0x328d55._0x1c8b7a,-0x1d5)])/0x2;if(_0x421032>0x0){var _0x23d5de;_0x28556b[_0x187081(0x942,_0x328d55._0x22c4c2)]=Cesium__namespace[_0x4de0c2(0xf13,0x131a)][_0x187081(0x1b16,0x1070)](_0x421032,(_0x23d5de=this['_viewer'])===null||_0x23d5de===void 0x0?void 0x0:_0x23d5de[_0x4de0c2(0x60d,0x5fb)][_0x187081(0xeed,_0x328d55._0x359af6)]['ellipsoid']['maximumRadius']);}return this['flyToPoint'](new LngLatPoint(_0x411315,_0x4ddf92,_0x457413),_0x28556b);}['flyToPoint'](_0x53e428,_0x3a69bc={}){const _0x36cbfd={_0x379b2e:0xa77,_0x54963c:0xba6,_0xdfdc72:0x359,_0x23e7d8:0x355,_0x2c4902:0x8cd,_0x4faafe:0x293,_0x47ca1c:0x72e,_0x4ea1af:0x1ed9,_0x437eff:0x140f,_0x23ed11:0x11ad,_0x3f4087:0x1a4d,_0x4b25b3:0x7a6,_0x1fd901:0xaca,_0x5073e6:0xaba,_0x336947:0x388,_0x3bb0b0:0x13f8,_0x3ea4a5:0xcba,_0x572dba:0x13f8,_0x294839:0x112c,_0xc34cf4:0x1af2,_0x1ba093:0x3d2,_0x104d1b:0x6f9,_0x417cd6:0x675,_0x5bf8d1:0x814,_0x2eabca:0xc64,_0x51ff21:0x622};return new Promise((_0x35e9f0,_0x524e47)=>{const _0x353919={_0x21c4bb:0x312,_0xb096e4:0x931,_0x30acea:0xfe8,_0x4ae362:0xdca};if(!_0x53e428){_0x35e9f0(![]);return;}_0x53e428=LngLatPoint['parse'](_0x53e428);let _0x455937=_0x53e428[_0x24812f(0x10a1,_0x36cbfd._0x379b2e)]();if(_0x3a69bc[_0x1419ac(_0x36cbfd._0x54963c,0x3aa)]){if(this['hasTerrain']){const _0x265a2a={};_0x265a2a['has3dtiles']=!![],getSurfaceHeight(this['_viewer']['scene'],_0x455937,_0x265a2a)['then'](_0x543b44=>{_0x53e428[_0x18bceb(_0x353919._0x21c4bb,-0x2d3)]=_0x543b44['height'];this['_viewer']['scene'][_0x18bceb(0xad7,0xffd)]&&(_0x53e428[_0x13921a(-0xd5,0x55c)]*=this['_viewer'][_0x13921a(0x529,_0x353919._0xb096e4)]['verticalExaggeration']);delete _0x3a69bc['clampToGround'];function _0x13921a(_0x4cf68d,_0x546030){return _0x24812f(_0x546030,_0x4cf68d- -0x5c9);}function _0x18bceb(_0x49c70e,_0x56093b){return _0x24812f(_0x56093b,_0x49c70e- -0x1e2);}this[_0x18bceb(_0x353919._0x30acea,0x7f2)](_0x53e428,_0x3a69bc)[_0x18bceb(0x11ae,_0x353919._0x4ae362)](_0x397c25=>{_0x35e9f0(_0x397c25);});});return;}else _0x53e428[_0x1419ac(_0x36cbfd._0xdfdc72,_0x36cbfd._0x23e7d8)]=0x0,_0x455937=_0x53e428['toCartesian']();}let _0x3a1ca7=_0x3a69bc['radius']||this['getCameraDistance']()||0x64,_0x299795=_0x3a69bc['boundingRadius']||0x0;Cesium__namespace['defined'](_0x3a69bc['scale'])&&_0x3a69bc[_0x24812f(0xcf2,0xd61)]>0x0&&(_0x3a1ca7*=_0x3a69bc['scale'],_0x299795*=_0x3a69bc['scale']);this['_viewer']['trackedEntity']&&(_0x299795=0x0);Cesium__namespace[_0x1419ac(0xc25,0x16a0)](_0x3a69bc[_0x24812f(0xadf,_0x36cbfd._0x2c4902)])&&_0x3a1ca7<_0x3a69bc[_0x24812f(0xe91,0x8cd)]&&(_0x3a1ca7=_0x3a69bc[_0x1419ac(_0x36cbfd._0x4faafe,_0x36cbfd._0x47ca1c)]);Cesium__namespace[_0x1419ac(_0x36cbfd._0x4ea1af,0x16a0)](_0x3a69bc['maxHeight'])&&_0x3a1ca7>_0x3a69bc[_0x1419ac(0x12a1,0x11ad)]&&(_0x3a1ca7=_0x3a69bc[_0x1419ac(_0x36cbfd._0x437eff,_0x36cbfd._0x23ed11)]);_0x3a1ca7=Math['max'](_0x3a1ca7,this['scene']['screenSpaceCameraController']['minimumZoomDistance']),_0x3a1ca7=Math['min'](_0x3a1ca7,this['scene']['screenSpaceCameraController']['maximumZoomDistance']);let _0x41d796;function _0x1419ac(_0x1cd59d,_0x4ac78d){return _0x5bbe(_0x4ac78d-0x161,_0x1cd59d);}if(Cesium__namespace['defined'](_0x3a69bc['pitch']))_0x41d796=Cesium__namespace[_0x1419ac(_0x36cbfd._0x3f4087,0x1259)][_0x24812f(_0x36cbfd._0x4b25b3,0xc59)](_0x3a69bc['pitch']);else{_0x41d796=this['_viewer'][_0x24812f(0x18c1,0x10d5)]['pitch'];const _0x3ba993=Cesium__namespace['Math']['toDegrees'](_0x41d796);Cesium__namespace['defined'](_0x3a69bc[_0x24812f(0xf0f,0x871)])&&_0x3ba993<_0x3a69bc['minPitch']&&(_0x41d796=Cesium__namespace['Math'][_0x1419ac(_0x36cbfd._0x1fd901,_0x36cbfd._0x5073e6)](_0x3a69bc[_0x1419ac(-_0x36cbfd._0x336947,0x6d2)])),Cesium__namespace[_0x24812f(0x18de,0x183f)](_0x3a69bc[_0x1419ac(-0x2c5,0x509)])&&_0x3ba993>_0x3a69bc['maxPitch']&&(_0x41d796=Cesium__namespace[_0x24812f(0x1c02,_0x36cbfd._0x3bb0b0)]['toRadians'](_0x3a69bc[_0x24812f(0xf13,0x6a8)]));}const _0xf38054=Cesium__namespace['defined'](_0x3a69bc['heading'])?Cesium__namespace[_0x24812f(_0x36cbfd._0x3ea4a5,_0x36cbfd._0x572dba)][_0x24812f(_0x36cbfd._0x294839,0xc59)](_0x3a69bc[_0x1419ac(_0x36cbfd._0xc34cf4,0x10bf)]):this['_viewer']['camera']['heading'],_0x4f14e7=new Cesium__namespace[(_0x24812f(_0x36cbfd._0x1ba093,0xb04))](_0xf38054,_0x41d796,_0x299795?0x0:_0x3a1ca7);function _0x24812f(_0x2cb76d,_0x51a64d){return _0x5bbe(_0x51a64d-0x300,_0x2cb76d);}const _0x22083d=new Cesium__namespace['BoundingSphere'](_0x455937,_0x299795);this[_0x1419ac(_0x36cbfd._0x104d1b,_0x36cbfd._0x417cd6)]['trackedEntity']?(this[_0x24812f(0x8d5,_0x36cbfd._0x5bf8d1)][_0x24812f(_0x36cbfd._0x2eabca,0x10d5)][_0x1419ac(0x725,0xa91)](_0x455937,_0x4f14e7),_0x3a69bc[_0x1419ac(0xa05,0x483)]&&_0x3a69bc[_0x24812f(0xac3,_0x36cbfd._0x51ff21)](),_0x35e9f0(!![])):this['_viewer']['camera']['flyToBoundingSphere'](_0x22083d,{..._0x3a69bc,'offset':_0x4f14e7,'complete':()=>{function _0x4a5974(_0x14565e,_0x22e563){return _0x24812f(_0x14565e,_0x22e563- -0x6bd);}_0x3a69bc[_0x4a5974(0x8be,-0x9b)]&&_0x3a69bc['complete'](),_0x35e9f0(!![]);},'cancel':()=>{_0x3a69bc['cancel']&&_0x3a69bc['cancel'](),_0x35e9f0(![]);}});});}get['flyAnimationPromise'](){const _0x3d8907={_0x3c8e44:0x4e8},_0x4c1172={_0x4bfa5c:0x4c3};function _0x2dd168(_0x337333,_0x55b933){return _0x2b6441(_0x55b933,_0x337333-_0x4c1172._0x4bfa5c);}return this[_0x2dd168(_0x3d8907._0x3c8e44,0xb30)]??Promise['resolve'](![]);}['openFlyAnimation'](_0x388d1f={}){const _0x1cd614={_0x3b1d69:0x263},_0xdde2e4={_0x30c78e:0x34d,_0x4f7abe:0x987,_0x55cc12:0x73b},_0x12aa11={_0x3f4a29:0x2e4},_0x2a5a10=this['_viewer'],_0xa1a420=_0x388d1f['center']||this[_0x3afbb2(0x3f0,0x8ca)]();function _0x3afbb2(_0x468b40,_0x4d5024){return _0x2b6441(_0x4d5024,_0x468b40-0x23e);}this[_0x3afbb2(_0x1cd614._0x3b1d69,-0x405)]=new Promise((_0x2b6b0d,_0x1a8fcd)=>{const _0x52c32e={_0x383c31:0xbdf,_0x5e4b10:0x273,_0x1d6333:0x5b8,_0x2c1e19:0xd63,_0x20baa0:0x129b};function _0x5a0752(_0x773433,_0x30f3f7){return _0x3afbb2(_0x773433- -_0x12aa11._0x3f4a29,_0x30f3f7);}_0x2a5a10['camera'][_0x39bcb0(0x17c0,0xf30)]({'destination':Cesium__namespace[_0x5a0752(0x3da,-_0xdde2e4._0x30c78e)]['fromDegrees'](-85.16,13.71,0x15ef3c0)});function _0x39bcb0(_0x411d15,_0x55f9f5){return _0x3afbb2(_0x55f9f5-0x3ac,_0x411d15);}_0x2a5a10[_0x5a0752(0xa01,0xf39)]['flyTo']({'destination':Cesium__namespace[_0x5a0752(0x3da,0x18f)]['fromDegrees'](_0xa1a420['lng'],_0xa1a420[_0x39bcb0(0x946,_0xdde2e4._0x4f7abe)],0x15ef3c0),'duration':_0x388d1f[_0x39bcb0(0x3d0,_0xdde2e4._0x55cc12)]||0x2,'easingFunction':_0x388d1f['easingFunction1']||Cesium__namespace[_0x5a0752(0x1225,0xaf5)]['LINEAR_NONE'],'complete':()=>{const _0x2c48b1={_0x1f6449:0x343},_0x398a39={_0x23190b:0x6ee};function _0x58cff3(_0x153244,_0x2689dc){return _0x5a0752(_0x153244-_0x398a39._0x23190b,_0x2689dc);}let _0x5027d1=_0xa1a420[_0x364ce4(-0x76f,-0x2)]??0x15f90;function _0x364ce4(_0x527b37,_0x48d82c){return _0x39bcb0(_0x527b37,_0x48d82c- -0x4b2);}_0x5027d1<0x30d40&&_0xa1a420['pitch']!==-0x5a?(_0x5027d1=_0x5027d1*1.2+0x1f40,_0x2a5a10[_0x364ce4(0x181,_0x52c32e._0x383c31)][_0x58cff3(0xcce,0x1149)]({'destination':Cesium__namespace[_0x364ce4(_0x52c32e._0x5e4b10,_0x52c32e._0x1d6333)]['fromDegrees'](_0xa1a420['lng'],_0xa1a420[_0x364ce4(-0x3c0,0x4d5)],_0x5027d1),'duration':_0x388d1f['duration2'],'easingFunction':_0x388d1f['easingFunction2'],'complete':()=>{function _0x266ddd(_0x27d7fb,_0x1bf2c){return _0x364ce4(_0x1bf2c,_0x27d7fb-_0x2c48b1._0x1f6449);}this['setCameraView'](_0xa1a420,{'duration':_0x388d1f['duration3']||0x2,'easingFunction':_0x388d1f[_0x266ddd(0x147e,0x1042)],'complete':()=>{_0x2b6b0d(!![]);},'cancel':()=>{_0x2b6b0d(![]);}});},'cancel':()=>{_0x2b6b0d(![]);}})):this['setCameraView'](_0xa1a420,{'duration':_0x388d1f[_0x364ce4(_0x52c32e._0x2c1e19,_0x52c32e._0x20baa0)]||0x2,'easingFunction':_0x388d1f['easingFunction3'],'complete':()=>{_0x2b6b0d(!![]);},'cancel':()=>{_0x2b6b0d(![]);}});},'cancel':()=>{_0x2b6b0d(![]);}});});function _0x285932(_0x1b1965,_0x344fda){return _0x2b6441(_0x344fda,_0x1b1965-0x41d);}return this['_flyAnimationPromise'];}[_0x2b6441(0x4e3,0x834)](_0x6519d5={}){const _0x4c7bed={_0x4c1a24:0x1fb,_0x550c71:0x4ed},_0x5f4f90={_0x5b24cd:0x110b,_0x8ccaf1:0x663,_0x4b3e95:0xa9,_0x272b11:0xf75,_0x158c22:0x494,_0x35e07a:0x12f7},_0x5d1869={_0xf36a3c:0x7a0,_0x25cb86:0xb8d,_0x2bb5a5:0x577,_0x2bca3b:0x745,_0x2a6baa:0xc9c,_0x4dda84:0x9a7,_0x18e495:0xabc,_0x4d7284:0xd06},_0x3f552e=this['_viewer'];function _0x44b210(_0x3c29e9,_0x1e22c3){return _0x306755(_0x1e22c3,_0x3c29e9-0x27);}const _0x515e71={};function _0x51a79c(_0x3ee6c8,_0x238314){return _0x306755(_0x238314,_0x3ee6c8- -0x93);}_0x515e71['simplify']=![];const _0x479576=_0x6519d5[_0x44b210(0x723,_0x4c7bed._0x4c1a24)]||this['getCameraView'](_0x515e71),_0x15dae6=(_0x6519d5[_0x44b210(_0x4c7bed._0x550c71,0xacf)]??0xa)/0x3;return new Promise((_0x28fd10,_0x4a1661)=>{const _0x5a3302={_0x3aa81c:0x48e};function _0x5367d6(_0x2c3d3a,_0x1ce0f0){return _0x51a79c(_0x1ce0f0- -0x4e2,_0x2c3d3a);}function _0x1e3038(_0x1d82c5,_0x2cf31a){return _0x51a79c(_0x2cf31a- -0x32b,_0x1d82c5);}_0x3f552e['camera'][_0x5367d6(0x1fb,0x6b2)]({'destination':Cesium__namespace[_0x1e3038(_0x5f4f90._0x5b24cd,_0x5f4f90._0x8ccaf1)]['fromDegrees'](_0x479576['lng']+0x78,_0x479576[_0x1e3038(0x757,0x580)],_0x479576[_0x1e3038(0x26f,_0x5f4f90._0x4b3e95)]),'orientation':{'heading':Cesium__namespace['Math']['toRadians'](_0x479576[_0x1e3038(_0x5f4f90._0x272b11,0xe13)]),'pitch':Cesium__namespace['Math']['toRadians'](_0x479576['pitch']),'roll':Cesium__namespace[_0x1e3038(0xbd7,0xfad)][_0x5367d6(_0x5f4f90._0x158c22,0x657)](_0x479576['roll']||0x0)},'duration':_0x15dae6,'easingFunction':Cesium__namespace[_0x5367d6(0x1a2b,_0x5f4f90._0x35e07a)]['LINEAR_NONE'],'complete':function(){const _0x3401f5={_0x3d1009:0xc23,_0x49af5f:0xec9,_0x22f561:0x972,_0x3ae71b:0x950,_0x2ad72c:0xc1d,_0x4d44fd:0x35f,_0x541fee:0x19e2,_0x1389ae:0x844};function _0x22d944(_0x3aa48c,_0x3e4a74){return _0x1e3038(_0x3e4a74,_0x3aa48c-_0x5a3302._0x3aa81c);}function _0x59d0cc(_0x405b6c,_0x5c6e25){return _0x5367d6(_0x5c6e25,_0x405b6c-0xee);}_0x3f552e['camera'][_0x59d0cc(_0x5d1869._0xf36a3c,0x111b)]({'destination':Cesium__namespace[_0x22d944(0xaf1,0x11fb)][_0x22d944(_0x5d1869._0x25cb86,0x10f8)](_0x479576[_0x59d0cc(_0x5d1869._0x2bb5a5,0x212)]+0xf0,_0x479576['lat'],_0x479576['alt']),'orientation':{'heading':Cesium__namespace['Math']['toRadians'](_0x479576[_0x22d944(0x12a1,0x82b)]),'pitch':Cesium__namespace['Math'][_0x59d0cc(_0x5d1869._0x2bca3b,0xa61)](_0x479576['pitch']),'roll':Cesium__namespace[_0x59d0cc(0xee4,0xe08)][_0x22d944(_0x5d1869._0x2a6baa,_0x5d1869._0x4dda84)](_0x479576[_0x22d944(_0x5d1869._0x18e495,_0x5d1869._0x4d7284)]||0x0)},'duration':_0x15dae6,'easingFunction':Cesium__namespace['EasingFunction']['LINEAR_NONE'],'complete':function(){function _0x8b6042(_0x4811c4,_0x557d2a){return _0x59d0cc(_0x557d2a-0x4bb,_0x4811c4);}function _0x1d917a(_0x380f26,_0x462c05){return _0x22d944(_0x462c05- -0x30f,_0x380f26);}_0x3f552e['camera'][_0x8b6042(_0x3401f5._0x3d1009,0xc5b)]({'destination':Cesium__namespace[_0x1d917a(0xbea,0x7e2)]['fromDegrees'](_0x479576['lng'],_0x479576[_0x8b6042(_0x3401f5._0x49af5f,_0x3401f5._0x22f561)],_0x479576[_0x8b6042(0xf0c,0x49b)]),'orientation':{'heading':Cesium__namespace['Math'][_0x8b6042(_0x3401f5._0x3ae71b,0xc00)](_0x479576[_0x1d917a(_0x3401f5._0x2ad72c,0xf92)]),'pitch':Cesium__namespace['Math']['toRadians'](_0x479576[_0x1d917a(_0x3401f5._0x4d44fd,0x966)]),'roll':Cesium__namespace[_0x8b6042(_0x3401f5._0x541fee,0x139f)]['toRadians'](_0x479576[_0x1d917a(_0x3401f5._0x1389ae,0x7ad)]||0x0)},'duration':_0x15dae6,'easingFunction':Cesium__namespace['EasingFunction']['LINEAR_NONE'],'complete':function(){_0x28fd10(!![]);},'cancel':()=>{_0x28fd10(![]);}});},'cancel':()=>{_0x28fd10(![]);}});},'cancel':()=>{_0x28fd10(![]);}});});}['isHighlighting'](_0x4d70a0){const _0x57a5fa={_0x24307d:0x1074};if(!this['last_highlighGraphic']||!_0x4d70a0)return![];function _0x1c6e3a(_0x3e4640,_0x1e493d){return _0x306755(_0x1e493d,_0x3e4640- -0x350);}return _0x4d70a0===this['last_highlighGraphic']||_0x4d70a0===this['last_highlighGraphic'][_0x1c6e3a(_0x57a5fa._0x24307d,0x17d0)];}['closeHighlight'](){const _0x3f97ae={_0x37a8a3:0x3cc,_0x200164:0x375},_0x34b63b={_0x215881:0x4b5};this[_0x2f2382(_0x3f97ae._0x37a8a3,0x963)]&&this['last_highlighGraphic']['closeHighlight']&&this['last_highlighGraphic'][_0x2f2382(0xa5b,_0x3f97ae._0x200164)]();function _0x2f2382(_0x4a5f7a,_0x39a963){return _0x2b6441(_0x39a963,_0x4a5f7a-_0x34b63b._0x215881);}function _0x3c3482(_0x5cc015,_0x53260f){return _0x306755(_0x5cc015,_0x53260f- -0x51e);}this['_clearLastHighlight']();}[_0x306755(0x61c,0xb5d)](){const _0x242a7d={_0x3ef367:0x43d},_0x23ca34={_0x427a70:0x526};function _0xe5fbcf(_0x526189,_0x31a4b1){return _0x2b6441(_0x526189,_0x31a4b1-0x315);}function _0x2075f9(_0x138f78,_0xf71fd4){return _0x2b6441(_0x138f78,_0xf71fd4-_0x23ca34._0x427a70);}this['last_highlighGraphic']&&(this[_0x2075f9(0x8ad,_0x242a7d._0x3ef367)]=null),this['outlineEffect']&&(this['outlineEffect'][_0xe5fbcf(-0x21e,0x3e0)]=[]);}[_0x306755(0x1d3d,0x141f)](_0xd9f2d0,_0x26dd5d,_0x464a71){const _0x2ef8f5={_0xb1d84f:0x931,_0x323c3d:0xc75,_0x4e07cd:0x5d6,_0x43b999:0xdbe,_0x4f6b8c:0x125f,_0x1b6cfe:0x5dc,_0x2653ae:0x4d};function _0x385936(_0x27c7bd,_0x3a5288){return _0x306755(_0x27c7bd,_0x3a5288-0x12e);}if(!this['_highlightEnabled']||_0x26dd5d['enabled']===![])return;if(!_0xd9f2d0['openHighlight']){logInfo(_0xcaa22e(_0x2ef8f5._0xb1d84f,0x13af),_0xd9f2d0);return;}this[_0x385936(0x433,_0x2ef8f5._0x323c3d)]();if(_0x26dd5d['outlineEffect']){if(!this['outlineEffect']){const _0x19a610={};_0x19a610[_0xcaa22e(_0x2ef8f5._0x4e07cd,0x788)]=![],this['outlineEffect']=new OutlineEffect(_0x19a610),this[_0x385936(_0x2ef8f5._0x43b999,0x1829)](this[_0x385936(0xbf5,0x125f)]);}this[_0x385936(0x1a75,_0x2ef8f5._0x4f6b8c)]['setOptions'](_0x26dd5d),this['outlineEffect']['selected']=this[_0xcaa22e(-0x27b,0x75a)][_0xcaa22e(0x5eb,_0x2ef8f5._0x1b6cfe)](_0x464a71);}else _0xd9f2d0['openHighlight'](_0x26dd5d,![],_0x464a71===null||_0x464a71===void 0x0?void 0x0:_0x464a71['pickedObject']);function _0xcaa22e(_0x5f0ea8,_0x22badc){return _0x2b6441(_0x5f0ea8,_0x22badc-0x162);}this['last_highlighGraphic']=_0xd9f2d0,this[_0x385936(_0x2ef8f5._0x2653ae,0x8b5)]['scene'][_0x385936(0x11c6,0xd40)]();}['openPopup'](_0x4fc8f4,_0x2d6d87,_0x5db73a){const _0x5c0595={_0x5ad534:0x779,_0x4145aa:0xa39},_0x3278a3={};_0x3278a3[_0x4d0368(0x932,_0x5c0595._0x5ad534)]=_0x2d6d87,_0x3278a3[_0x4d0368(_0x5c0595._0x4145aa,0x892)]=_0x5db73a;function _0x4ca98d(_0x43e7ad,_0x3a5873){return _0x306755(_0x43e7ad,_0x3a5873-0xf);}function _0x4d0368(_0x2968bb,_0x2f4f0e){return _0x2b6441(_0x2968bb,_0x2f4f0e-0x1d6);}return this['_popupMgr']['open'](_0x4fc8f4,_0x3278a3),this;}['closePopup'](){const _0x4cb21f={_0x2da1aa:0xbda,_0x3af2e3:0xa4c,_0x3d218d:0xd01},_0x2f7fdf={_0x201b5c:0x79};this[_0x2b29fc(_0x4cb21f._0x2da1aa,_0x4cb21f._0x3af2e3)]&&this[_0x2b29fc(_0x4cb21f._0x3d218d,0xa4c)]['closeAll']();function _0x2b29fc(_0x4c20ac,_0x25a791){return _0x2b6441(_0x4c20ac,_0x25a791-0x177);}function _0x1edd8e(_0x40f909,_0x1b7dae){return _0x306755(_0x40f909,_0x1b7dae-_0x2f7fdf._0x201b5c);}return this;}[_0x306755(-0x378,0x468)](_0x3caa1e,_0x2e1e87,_0x5271e2={}){const _0x149565={_0x91a2fa:0x113e};this[_0x282d32(_0x149565._0x91a2fa,0xcb8)]['open'](_0x3caa1e,{'content':_0x2e1e87,'options':_0x5271e2,'target':this});function _0x282d32(_0x4e8c42,_0x2874f5){return _0x2b6441(_0x2874f5,_0x4e8c42-0x4fa);}return this;}['closeTooltip'](){const _0x11a590={_0x3996eb:0xf01,_0x17811e:0xe78,_0x3a4e70:0xa78},_0x1bc867={_0x200549:0x128},_0x10ca97={_0x1fe27d:0x2bd};function _0x544ff8(_0x373800,_0x31bbb4){return _0x2b6441(_0x31bbb4,_0x373800-_0x10ca97._0x1fe27d);}function _0x2ad65f(_0x49269e,_0x2ee873){return _0x306755(_0x2ee873,_0x49269e- -_0x1bc867._0x200549);}return this['_tooltipMgr']&&this[_0x544ff8(_0x11a590._0x3996eb,_0x11a590._0x17811e)][_0x544ff8(_0x11a590._0x3a4e70,0x3bb)](),this;}[_0x2b6441(0xd10,0x677)](){const _0xc7b7f9={_0x460cbc:0x893},_0x4c5926={_0x4cf412:0x2f0};var _0x6b5553;function _0x41ac75(_0x45fe4a,_0x33c77a){return _0x2b6441(_0x33c77a,_0x45fe4a-_0x4c5926._0x4cf412);}return(_0x6b5553=this['_contextmenuConfig'])===null||_0x6b5553===void 0x0?void 0x0:_0x6b5553[_0x41ac75(_0xc7b7f9._0x460cbc,-0xb6)];}['bindContextMenu'](_0x1621d9,_0xf67929){const _0x5a1446={};return _0x5a1446['content']=_0x1621d9,_0x5a1446['options']=_0xf67929,this['_contextmenuConfig']=_0x5a1446,this;}['unbindContextMenu'](){return this['_contextmenuConfig']=null,this;}[_0x306755(0x5f4,0x860)](_0x44ca2e){function _0x517c11(_0x3e8ef6,_0x1400a4){return _0x306755(_0x1400a4,_0x3e8ef6- -0x4fd);}return _0x44ca2e instanceof LngLatPoint&&(_0x44ca2e=_0x44ca2e['toCartesian']()),this[_0x517c11(0xe21,0x1408)]['open'](_0x44ca2e,this['_contextmenuConfig']),this;}['closeContextMenu'](){const _0x1c198d={_0x2230ec:0x1095},_0x1572dd={_0x20fb2a:0x289};function _0x1c48f0(_0x5b4c63,_0x50caab){return _0x306755(_0x50caab,_0x5b4c63- -_0x1572dd._0x20fb2a);}return this['_contextmenuMgr']&&this[_0x1c48f0(_0x1c198d._0x2230ec,0x174a)]['close'](),this;}['openSmallTooltip'](_0x1380ca,_0x52415f){const _0x5c706b={_0x35e5b1:0xbca,_0xadb4e4:0x12c5};this[_0x593117(_0x5c706b._0x35e5b1,_0x5c706b._0xadb4e4)]['open'](_0x1380ca,_0x52415f);function _0x593117(_0x5346d6,_0x15c672){return _0x306755(_0x15c672,_0x5346d6- -0x177);}return this;}[_0x306755(0x99a,0xf7f)](){const _0x39a3d4={_0x1d5092:0x1301};if(!this[_0x5845af(0x8d7,_0x39a3d4._0x1d5092)])return;this['_smallTooltip']['close']();function _0x5845af(_0x51bb5b,_0x2036d4){return _0x2b6441(_0x2036d4,_0x51bb5b-0x137);}return this;}['getTimeTaskList'](){const _0x5e3932={_0x16529c:0x168d,_0x2e5f16:0x1038,_0x119261:0x1818,_0x25be37:0x106b,_0x169bba:0x4b},_0x4bcf98={_0x4e8a90:0x647},_0x3466fb={_0x4f6d0a:0x21f},_0x18d3b2={_0x4cb18e:0x1282,_0x5143f9:0x1008},_0xf8e406={_0x269472:0xb52,_0x5e7c07:0x9f,_0x411a41:0x454,_0x461424:0x4ee,_0x3ec293:0x1276},_0x1f9eae={_0x4df5e7:0x175b,_0xa89b85:0x12b,_0x1c66b5:0x8d7,_0x408193:0xd97,_0xb2fc57:0x15d4,_0x23370c:0x7d2,_0x19b154:0xa1c,_0x2952cc:0x1203,_0x5dbf02:0x313},_0x48886a={_0x5917c4:0x837,_0x447081:0x5dd,_0x41c6d6:0x13b5};var _0x4e9b51,_0x28e7a1;let _0x37d6b4=0x0;const _0x2ea3f6=[],_0x3db591=(_0x4e9b51=this[_0x24ded5(0x1305,0xd52)][_0x24ded5(_0x5e3932._0x16529c,0xf81)])===null||_0x4e9b51===void 0x0?void 0x0:_0x4e9b51[_0x5cd1c1(_0x5e3932._0x2e5f16,0xabe)];_0x3db591&&_0x3db591['forEach'](_0x3fb70b=>{_0x37d6b4=Math[_0x2d008a(0x11a0,0x989)](_0x37d6b4,_0x3fb70b['stop']);const _0x1595f8={..._0x3fb70b[_0xbf4924(0x837,0xe6b)]};_0x1595f8['type']='subtitles';function _0x2d008a(_0x4042e6,_0x389235){return _0x5cd1c1(_0x389235-0x2ca,_0x4042e6);}_0x1595f8['name']=_0x3fb70b[_0xbf4924(_0x48886a._0x5917c4,_0x48886a._0x447081)]['text'],_0x1595f8['start']=_0x3fb70b['start'],_0x1595f8['duration']=_0x3fb70b['duration'],_0x1595f8[_0xbf4924(_0x48886a._0x41c6d6,0x11e1)]=_0x3fb70b['stop'];function _0xbf4924(_0x34338b,_0x663f6d){return _0x5cd1c1(_0x34338b-0x221,_0x663f6d);}_0x1595f8['listIndex']=_0x3fb70b['index'],_0x2ea3f6['push'](_0x1595f8);});const _0x2dc4f6=(_0x28e7a1=this[_0x24ded5(_0x5e3932._0x119261,0xebf)][_0x5cd1c1(0x110a,0xde8)])===null||_0x28e7a1===void 0x0?void 0x0:_0x28e7a1['listDX'];_0x2dc4f6&&_0x2dc4f6['forEach'](_0x3d3e01=>{const _0x578c5d={_0x3260b6:0x5b8};_0x37d6b4=Math['max'](_0x37d6b4,_0x3d3e01[_0x9d0ddb(_0x1f9eae._0x4df5e7,0x174c)]);const _0x5a3bd0={..._0x3d3e01[_0x2cc3f3(-_0x1f9eae._0xa89b85,_0x1f9eae._0x1c66b5)]};_0x5a3bd0[_0x9d0ddb(_0x1f9eae._0x408193,_0x1f9eae._0xb2fc57)]='task',_0x5a3bd0[_0x2cc3f3(0xc03,0x50d)]=_0x3d3e01['name'];function _0x2cc3f3(_0x3f6497,_0x56b8ac){return _0x5cd1c1(_0x56b8ac-0x2c1,_0x3f6497);}_0x5a3bd0['start']=_0x3d3e01[_0x2cc3f3(0xefd,_0x1f9eae._0x23370c)],_0x5a3bd0['duration']=_0x3d3e01[_0x2cc3f3(_0x1f9eae._0x19b154,0x140)],_0x5a3bd0[_0x2cc3f3(0x1a0a,0x1455)]=_0x3d3e01[_0x2cc3f3(_0x1f9eae._0x2952cc,0x1455)],_0x5a3bd0['listIndex']=_0x3d3e01['index'],_0x5a3bd0['taskType']=_0x3d3e01['type'];function _0x9d0ddb(_0x34c348,_0x38098e){return _0x5cd1c1(_0x38098e-_0x578c5d._0x3260b6,_0x34c348);}_0x2ea3f6[_0x2cc3f3(0x4d,_0x1f9eae._0x5dbf02)](_0x5a3bd0);});this['eachLayer'](_0x92d5f4=>{const _0x1fc5e8={_0x16a45:0x126f,_0x53d25e:0x764,_0x13e39d:0xd8b,_0x1fd2f3:0x165b,_0x3e4e1d:0x2a5},_0x4d08cd=_0x92d5f4['getAvailabilityJson']();_0x4d08cd&&_0x4d08cd['forEach']((_0x427b4,_0x2195bc)=>{_0x37d6b4=Math[_0x2afa2f(0x7a1,0x1260)](_0x37d6b4,_0x427b4['stop']);const _0x42cffc={};_0x42cffc['type']='availability',_0x42cffc['origin']='layer',_0x42cffc[_0x4fb96d(0x82c,0x4c9)]=_0x92d5f4[_0x4fb96d(0x82c,_0xf8e406._0x269472)],_0x42cffc['start']=_0x427b4['start'],_0x42cffc[_0x2afa2f(-_0xf8e406._0x5e7c07,_0xf8e406._0x411a41)]=_0x427b4[_0x4fb96d(0x45f,-_0xf8e406._0x461424)],_0x42cffc[_0x2afa2f(_0xf8e406._0x3ec293,0xe5b)]=_0x427b4[_0x2afa2f(0x1276,0xe4f)],_0x42cffc['listIndex']=_0x2195bc;function _0x4fb96d(_0x46b93d,_0x34b57f){return _0x5bbe(_0x46b93d-0x20c,_0x34b57f);}_0x42cffc['layerId']=_0x92d5f4['id'];function _0x2afa2f(_0x3ab656,_0x208bd3){return _0x5bbe(_0x3ab656- -0x2f2,_0x208bd3);}_0x2ea3f6['push'](_0x42cffc);}),_0x92d5f4['eachGraphic']&&_0x92d5f4['eachGraphic'](_0x59b213=>{const _0x419a8d=_0x59b213[_0x427007(0x11ac,_0x18d3b2._0x4cb18e)]();function _0x15dc5d(_0x26ecd2,_0x1d1e43){return _0x5bbe(_0x26ecd2- -0x131,_0x1d1e43);}function _0x427007(_0xac7377,_0x358482){return _0x5bbe(_0xac7377-0x21e,_0x358482);}_0x419a8d&&_0x419a8d[_0x427007(0xbeb,_0x18d3b2._0x5143f9)]((_0x6e5225,_0x2072d6)=>{const _0x33a662={_0x1bfd22:0x12b},_0x9e006e={_0x5e5f56:0x39f};function _0x14caa8(_0x25d9bb,_0x47ddc0){return _0x427007(_0x47ddc0- -_0x9e006e._0x5e5f56,_0x25d9bb);}_0x37d6b4=Math[_0x2afdd3(0x90e,0xb86)](_0x37d6b4,_0x6e5225['stop']);const _0x4cd0ac={};_0x4cd0ac[_0x14caa8(0x1526,_0x1fc5e8._0x16a45)]='availability',_0x4cd0ac[_0x14caa8(0xac9,0x116c)]=_0x14caa8(0x16dd,0x14ff);function _0x2afdd3(_0x40962d,_0x2cb181){return _0x427007(_0x2cb181- -_0x33a662._0x1bfd22,_0x40962d);}_0x4cd0ac['name']=_0x59b213['name'],_0x4cd0ac['start']=_0x6e5225[_0x14caa8(0x198,_0x1fc5e8._0x53d25e)],_0x4cd0ac['duration']=_0x6e5225[_0x2afdd3(0x5a0,0x346)],_0x4cd0ac[_0x2afdd3(_0x1fc5e8._0x13e39d,_0x1fc5e8._0x1fd2f3)]=_0x6e5225['stop'],_0x4cd0ac['listIndex']=_0x2072d6,_0x4cd0ac['layerId']=_0x92d5f4['id'],_0x4cd0ac['graphicId']=_0x59b213['id'],_0x2ea3f6[_0x14caa8(-0x1e3,_0x1fc5e8._0x3e4e1d)](_0x4cd0ac);});});}),this[_0x24ded5(0xfb3,_0x5e3932._0x25be37)](_0x5e8fec=>{const _0x3e7b05={_0x1f9f6e:0x129b,_0x5e7473:0x4b9,_0x148474:0x6be,_0x284b7d:0x983,_0x1bb0e4:0x13f,_0x519f2c:0xaa7},_0x28866f={_0x430ce2:0x1c2},_0x2d75e7={_0x42f098:0x9e},_0x402718=_0x5e8fec['getAvailabilityJson']();_0x402718&&_0x402718['forEach']((_0x674482,_0x153dc8)=>{_0x37d6b4=Math['max'](_0x37d6b4,_0x674482['stop']);const _0x2c6b68={};function _0x3a7da9(_0xafdfed,_0x5df371){return _0x5bbe(_0x5df371-_0x2d75e7._0x42f098,_0xafdfed);}_0x2c6b68['type']='availability',_0x2c6b68[_0x3a7da9(_0x3e7b05._0x1f9f6e,0x138b)]=_0x5b3988(-0x112,_0x3e7b05._0x5e7473);function _0x5b3988(_0x4d71f6,_0x4b502e){return _0x5bbe(_0x4b502e-_0x28866f._0x430ce2,_0x4d71f6);}_0x2c6b68['name']=_0x5e8fec[_0x3a7da9(0x636,_0x3e7b05._0x148474)],_0x2c6b68[_0x3a7da9(0x1eb,_0x3e7b05._0x284b7d)]=_0x674482[_0x5b3988(_0x3e7b05._0x1bb0e4,_0x3e7b05._0x519f2c)],_0x2c6b68['duration']=_0x674482['duration'],_0x2c6b68['stop']=_0x674482['stop'],_0x2c6b68['listIndex']=_0x153dc8,_0x2c6b68['effectType']=_0x5e8fec['type'],_0x2ea3f6['push'](_0x2c6b68);});});function _0x24ded5(_0x1bb2d5,_0x246c6c){return _0x306755(_0x1bb2d5,_0x246c6c- -_0x3466fb._0x4f6d0a);}function _0x5cd1c1(_0x10e3f9,_0x2b44a7){return _0x306755(_0x2b44a7,_0x10e3f9- -_0x4bcf98._0x4e8a90);}const _0x2b77f3={};return _0x2b77f3['list']=_0x2ea3f6,_0x2b77f3[_0x5cd1c1(-0x181,_0x5e3932._0x169bba)]=_0x37d6b4,_0x2b77f3;}['clear'](_0x1ba392=!![]){const _0x4af3e7={_0x3fd21a:0x109a,_0x19de32:0x9d4,_0x975429:0xab7,_0x4db048:0x1058},_0x1c5f8e={_0x27896c:0x25d},_0x248277={_0x41fe6b:0x1861,_0x28b3e0:0xf6e};this['_thingList'][_0x4ebc32(0x9d4,0x910)](_0x15d91c=>{this['removeThing'](_0x15d91c,_0x1ba392);},this,!![]),this[_0x4ebc32(_0x4af3e7._0x3fd21a,0xe18)]['removeAll'](),this['_controlList'][_0x4ebc32(_0x4af3e7._0x19de32,0x43f)](_0x40ca6f=>{if(!_0x40ca6f||_0x40ca6f['isPrivate'])return;this['removeControl'](_0x40ca6f,_0x1ba392);},this,!![]),this[_0x18c9aa(0xa38,0x1195)]['removeAll'](),this['_layerList'][_0x18c9aa(0xe76,0x8fc)](_0x23917f=>{const _0x2b9045={_0x40663c:0x2e9};function _0x27a098(_0x4899c7,_0x4d498d){return _0x4ebc32(_0x4899c7-0x206,_0x4d498d);}if(!_0x23917f||_0x23917f[_0x27a098(_0x248277._0x41fe6b,_0x248277._0x28b3e0)])return;function _0x4c8f4(_0x20b562,_0xa1041b){return _0x18c9aa(_0x20b562,_0xa1041b- -_0x2b9045._0x40663c);}this[_0x27a098(0x17be,0x1319)](_0x23917f,_0x1ba392);},this,!![]),this[_0x4ebc32(0x3f2,0xa68)][_0x18c9aa(0x515,_0x4af3e7._0x975429)](),this[_0x4ebc32(0x157b,_0x4af3e7._0x4db048)]=![],this['_control']={},this['_effect']={};function _0x18c9aa(_0x32a9c5,_0x20595){return _0x2b6441(_0x32a9c5,_0x20595-_0x1c5f8e._0x27896c);}function _0x4ebc32(_0x2f17b4,_0x2a081c){return _0x306755(_0x2a081c,_0x2f17b4- -0x26c);}this['_thing']={};}['destroy'](){const _0x2a8421={_0x38ec78:0xb76,_0x5eed36:0x107f,_0x17cc54:0x875,_0x33fe89:0x726,_0x36d778:0x1ab,_0x4e36d9:0xcc0,_0x58d727:0x38f,_0x312845:0xc71,_0x505b0f:0xd08,_0x3a2042:0x796,_0x24107a:0x5ea,_0x234e43:0xdf9,_0x141805:0x383,_0x63634:0x6e7,_0x3f1bf3:0x7cd,_0x4c7fad:0xdfa,_0xfa6f3e:0xef0},_0x4c1280={_0x1bdb77:0x31a},_0x588b5d={_0x295881:0x2cf};if(!this['_viewer'])return;try{this[_0x1f018b(0x1252,_0x2a8421._0x38ec78)]['destroy']();}catch(_0x107cc0){logWarn('_controlList.destroy\x20异常',_0x107cc0);}try{this[_0x1f018b(_0x2a8421._0x5eed36,_0x2a8421._0x17cc54)]['destroy']();}catch(_0x24773e){logWarn('_thingList.destroy\x20异常',_0x24773e);}function _0x861ac4(_0x3b98c5,_0x19664f){return _0x306755(_0x19664f,_0x3b98c5- -_0x588b5d._0x295881);}function _0x1f018b(_0x7261dd,_0x4cd61f){return _0x2b6441(_0x4cd61f,_0x7261dd-_0x4c1280._0x1bdb77);}try{this[_0x1f018b(_0x2a8421._0x33fe89,-_0x2a8421._0x36d778)][_0x861ac4(_0x2a8421._0x4e36d9,0xdde)]();}catch(_0x11b108){logWarn('_mouseEvent.destroy\x20异常',_0x11b108);}try{this[_0x861ac4(_0x2a8421._0x58d727,_0x2a8421._0x312845)][_0x1f018b(_0x2a8421._0x505b0f,0x142e)]();}catch(_0x1ed201){logWarn('_layerList.destroy\x20异常',_0x1ed201);}try{this['_viewer'][_0x1f018b(0x9e1,0x7e6)]['removeAll'](),this['_viewer'][_0x861ac4(_0x2a8421._0x3a2042,0x9b9)][_0x861ac4(_0x2a8421._0x24107a,0x96e)][_0x1f018b(0xb74,_0x2a8421._0x234e43)]();const _0x2ee0ba=this['_viewer'][_0x861ac4(0x796,-0x31c)][_0x861ac4(_0x2a8421._0x141805,-_0x2a8421._0x63634)]['_originalGLContext'];this[_0x861ac4(0x4b8,-0x476)]['destroy'](),_0x2ee0ba&&(_0x2ee0ba['canvas'][_0x1f018b(0x964,_0x2a8421._0x3f1bf3)]=0x1,_0x2ee0ba[_0x1f018b(0x4c9,0x241)]['height']=0x1,_0x2ee0ba[_0x1f018b(_0x2a8421._0x4c7fad,0x176b)]('WEBGL_lose_context')[_0x1f018b(0xab2,_0x2a8421._0xfa6f3e)]());}catch(_0x2c1f8a){logWarn('_viewer.destroy异常',_0x2c1f8a);}for(const _0x30a25a in this){delete this[_0x30a25a];}}}function _updateDomInnerHtml(_0xfb2236,_0x379ff3,_0x54ed1b){const _0x4d9b88={_0x36c303:0x1288},_0x517779={_0x2088d5:0x37b};function _0x3407c9(_0x16657d,_0x3105bc){return _0x306755(_0x16657d,_0x3105bc- -_0x517779._0x2088d5);}function _0x273613(_0x45a82d,_0x408779){return _0x306755(_0x408779,_0x45a82d- -0x60a);}const _0x167438=_0xfb2236[_0x273613(0x92c,0x134b)](_0x54ed1b);for(let _0x4c578a=0x0;_0x4c578a<_0x167438[_0x3407c9(0xf50,0x1280)];_0x4c578a++){_0x379ff3[_0x167438[_0x4c578a][_0x3407c9(0x1270,0x1517)]]&&(_0x167438[_0x4c578a]['innerHTML']=_0x379ff3[_0x167438[_0x4c578a][_0x273613(_0x4d9b88._0x36c303,0xf5c)]]);}}class MapCompare extends BaseControl{get[_0x306755(0x154b,0x1963)](){const _0x542c0f={_0x5b865b:0x134f},_0x573e35={_0x18d8cd:0x5fa};function _0x2c7feb(_0x5a0d1a,_0x33a4a3){return _0x306755(_0x5a0d1a,_0x33a4a3- -_0x573e35._0x18d8cd);}return this[_0x2c7feb(0x1a20,_0x542c0f._0x5b865b)];}['_mountedHook'](){const _0x5bc4f8={_0x22d4d3:0x53b,_0x1c1bf1:0x1473},_0x1f2c4f={_0x41f240:0x258};function _0x22142a(_0x2b6b37,_0x444aa5){return _0x2b6441(_0x444aa5,_0x2b6b37-_0x1f2c4f._0x41f240);}function _0x20f4a7(_0x343b34,_0x401146){return _0x2b6441(_0x401146,_0x343b34-0x2f1);}this['_container']=create$4(_0x22142a(_0x5bc4f8._0x22d4d3,0x1c6),_0x22142a(0x1565,_0x5bc4f8._0x1c1bf1)+this['_className']);}['_addedHook'](){const _0x68040={_0x171731:0x11b1,_0x18a99a:0xde0,_0x3c93ef:0xfce,_0xde4883:0xb03,_0x411ce5:0x1f3f,_0x3b3b9a:0x1533,_0x4d112d:0x113b,_0x4f5fd7:0x43b,_0x47ee1f:0xbf9};function _0x4d54de(_0x30f5c3,_0x23016a){return _0x306755(_0x30f5c3,_0x23016a- -0x296);}!this[_0x4d54de(_0x68040._0x171731,0x9c7)]['parentContainer']&&(this['_map']['container']['firstChild'][_0x4d54de(0x126,0x5c0)]['width']='50%');const _0xfadde1={...this['options']};let _0x347b6d=_0xfadde1;!_0x347b6d['basemaps']&&!_0x347b6d[_0x5b013d(0x1594,0x1469)]&&(_0x347b6d=merge(_0x347b6d,this[_0x4d54de(0xb2e,0x1533)]['getCurrentOptions']()),_0x347b6d['control']=_0x347b6d['control']||{},_0x347b6d['control'][_0x4d54de(-0x319,0x367)]=!![],_0x347b6d['control']['sceneModePicker']=![]);this['_map']['options'][_0x5b013d(0xca5,_0x68040._0x18a99a)]&&(_0x347b6d['licenseUrl']=this[_0x4d54de(_0x68040._0x3c93ef,0x1533)]['options']['licenseUrl']);this[_0x5b013d(_0x68040._0xde4883,0x14b5)]=new Map(this['_container'],_0x347b6d);function _0x5b013d(_0x311a8b,_0x57d22d){return _0x2b6441(_0x311a8b,_0x57d22d-0x10d);}this[_0x4d54de(_0x68040._0x411ce5,_0x68040._0x3b3b9a)]['on'](EventType[_0x4d54de(0x1d60,0x1313)],this['_morphCompleteHandler'],this),this[_0x4d54de(0xf4b,0x1533)]['on'](EventType['cameraChanged'],this['_map_extentChangeHandler'],this),this['_map']['camera'][_0x4d54de(_0x68040._0x4d112d,0x1330)]=0.001,this['_mapEx']['on'](EventType['cameraChanged'],this['_mapEx_extentChangeHandler'],this),this['_mapEx'][_0x4d54de(_0x68040._0x4f5fd7,0xdb2)]['percentageChanged']=0.001,this[_0x5b013d(_0x68040._0x47ee1f,0xba0)]();}['_removedBeforeHook'](){const _0x4d432f={_0x33ecd3:0x9f7,_0x37e39d:0x6d0,_0x435a8a:0x19d9};function _0x10f5db(_0x2a0054,_0xb48fc4){return _0x306755(_0xb48fc4,_0x2a0054-0x90);}clearTimeout(this[_0x4a7e6e(0x10c5,_0x4d432f._0x33ecd3)]);function _0x4a7e6e(_0x27b918,_0x5ed213){return _0x2b6441(_0x5ed213,_0x27b918-0x9b);}this['_map']['off'](EventType['morphComplete'],this['_morphCompleteHandler'],this),this['_map']['off'](EventType['cameraChanged'],this[_0x4a7e6e(0xb2e,0x15ec)],this),this[_0x10f5db(0x19d9,0x1a9f)]['off'](EventType['cameraChanged'],this[_0x10f5db(_0x4d432f._0x37e39d,0x862)],this),this['_mapEx']['destroy'](),delete this[_0x10f5db(_0x4d432f._0x435a8a,0x2447)];}['_morphCompleteHandler'](_0x38978f){const _0x26818d={_0x21f2cf:0xa4f,_0x29c09f:0x1156},_0x4bc93d={_0x5df8b2:0x656};function _0x4414de(_0x11c6a8,_0x5664d6){return _0x2b6441(_0x5664d6,_0x11c6a8-0x4c8);}function _0xaaad1d(_0x1422a5,_0x128703){return _0x306755(_0x1422a5,_0x128703- -_0x4bc93d._0x5df8b2);}this[_0x4414de(0x16f0,0x19f0)]['scene'][_0x4414de(0x1542,0x1f34)]===Cesium__namespace['SceneMode']['SCENE2D']?this['_mapEx'][_0xaaad1d(_0x26818d._0x21f2cf,0x40f)]['screenSpaceCameraController']['enableTilt']=![]:this['_mapEx'][_0x4414de(0x98c,_0x26818d._0x29c09f)]['screenSpaceCameraController']['enableTilt']=!![];}['_map_extentChangeHandler'](_0x446d21){const _0x261b4f={_0x31666a:0x11b2,_0x57247d:0x221,_0x52ad62:0x168d,_0x21cc8f:0xf87},_0x1264f9={_0x1ee7ab:0x1940,_0x47175b:0xeda},_0x4a162c={_0x2179f2:0xa7};clearTimeout(this[_0x3c0013(_0x261b4f._0x31666a,0x130f)]);function _0x6039cc(_0x2c4792,_0x285170){return _0x2b6441(_0x285170,_0x2c4792-_0x4a162c._0x2179f2);}this['_mapEx'][_0x6039cc(0x472,-_0x261b4f._0x57247d)](EventType['cameraChanged'],this['_mapEx_extentChangeHandler'],this);function _0x3c0013(_0x27d056,_0x62e299){return _0x306755(_0x27d056,_0x62e299- -0x2bc);}this['_updateView'](this['_map'],this[_0x3c0013(0xd7b,_0x261b4f._0x52ad62)]),this[_0x6039cc(0x10d1,_0x261b4f._0x21cc8f)]=setTimeout(()=>{const _0x1107b4={_0x453219:0x103};function _0x2e9994(_0x524bdd,_0x32b7f6){return _0x6039cc(_0x32b7f6-_0x1107b4._0x453219,_0x524bdd);}this['_mapEx']['on'](EventType[_0x2e9994(_0x1264f9._0x1ee7ab,_0x1264f9._0x47175b)],this['_mapEx_extentChangeHandler'],this);},0xa);}[_0x2b6441(0xa16,0x9f)](_0x5defb1){const _0x4ba1f9={_0x142b92:0x125e,_0x2b40d9:0xe0a},_0x966be8={_0x7c7114:0x1564},_0x4b5c6a={_0x1e41eb:0xda};clearTimeout(this[_0x270b7e(_0x4ba1f9._0x142b92,0x10e3)]),this['_map']['off'](EventType[_0x270b7e(0x117d,_0x4ba1f9._0x2b40d9)],this[_0x3ffed3(0x178e,0xfce)],this);function _0x270b7e(_0x1fb9e8,_0x29ada4){return _0x2b6441(_0x1fb9e8,_0x29ada4-_0x4b5c6a._0x1e41eb);}this['_updateView'](this['_mapEx'],this['_map']);function _0x3ffed3(_0x58aa0e,_0x4a85c5){return _0x2b6441(_0x58aa0e,_0x4a85c5-0x53b);}this['_mapEx_timeTik']=setTimeout(()=>{function _0x583aad(_0x47b4e2,_0x5c8fd3){return _0x270b7e(_0x5c8fd3,_0x47b4e2-0x262);}this[_0x583aad(_0x966be8._0x7c7114,0x12b1)]['on'](EventType['cameraChanged'],this['_map_extentChangeHandler'],this);},0xa);}['_updateView'](_0x485691,_0xebf575){const _0x5be804={};_0x5be804['simplify']=![];const _0x332dd1=_0x485691['getCameraView'](_0x5be804),_0x57f075={};_0x57f075[_0x127f53(0x8fd,0x1e6)]=0x0;function _0x127f53(_0x35a7be,_0x3b9bcc){return _0x306755(_0x35a7be,_0x3b9bcc- -0x2e0);}_0xebf575['setCameraView'](_0x332dd1,_0x57f075);}}register$2('mapCompare',MapCompare);class OverviewMap extends BaseControl{get['smallMap'](){const _0xa4c2b0={_0x37a4e6:0x6a4},_0xcf1c49={_0x322e81:0x531};function _0x2bd067(_0xf78294,_0x23652d){return _0x2b6441(_0xf78294,_0x23652d-_0xcf1c49._0x322e81);}return this[_0x2bd067(_0xa4c2b0._0x37a4e6,0xf47)];}get[_0x2b6441(0x87f,0x15b)](){function _0x4b9c03(_0xb8f65c,_0x30f776){return _0x306755(_0xb8f65c,_0x30f776- -0x12f);}return this[_0x4b9c03(0x4b9,0x5b8)];}['_mountedHook'](){const _0x758546={_0x2b6800:0xa74,_0x4978f6:0xdb8,_0x463542:0x97f,_0x5ec46f:0x59e,_0x12c795:0x99c,_0x1eef07:0x7e,_0x285415:0x1061},_0x5b98f1={_0x4e302e:0x566};this[_0x20db2c(0x1084,0xd58)]['flyToOptions']=this['options']['flyToOptions']||{};function _0x20db2c(_0x21096f,_0xacde39){return _0x306755(_0x21096f,_0xacde39-0xfb);}this[_0x4e70fe(_0x758546._0x2b6800,0x1dd)]=create$4(_0x20db2c(_0x758546._0x4978f6,_0x758546._0x463542),'mars3d-overviewMap\x20'+this['_className']);const _0xb0683b={};_0xb0683b[_0x4e70fe(_0x758546._0x5ec46f,0xfc9)]=_0x4e70fe(-_0x758546._0x12c795,_0x758546._0x1eef07),_0xb0683b['top']='10px';function _0x4e70fe(_0x8a3429,_0xe0079f){return _0x306755(_0x8a3429,_0xe0079f- -_0x5b98f1._0x4e302e);}this['setStyle'](this['options'][_0x20db2c(_0x758546._0x285415,0x951)]||_0xb0683b);}[_0x2b6441(0x662,0x3fd)](){const _0x27230e={_0x4febec:0x1285},_0x5ea589={_0x30016b:0x544},_0x15549c={_0x31fdba:0x4c2};function _0x10c588(_0x3e72ee,_0x1bfb58){return _0x2b6441(_0x3e72ee,_0x1bfb58-_0x15549c._0x31fdba);}this['initMinMap']();function _0x2da7d0(_0x55ab64,_0x162039){return _0x306755(_0x162039,_0x55ab64- -_0x5ea589._0x30016b);}this[_0x2da7d0(_0x27230e._0x4febec,0x17c5)]['camera']['percentageChanged']=0.01,this['_map']['on'](EventType[_0x2da7d0(0xd8d,0x1345)],this['_map_cameraChanged'],this),this[_0x2da7d0(0x60c,0x68c)]();}[_0x306755(0x17f4,0xe2b)](){const _0x2fe418={_0x3e7db8:0x13d8,_0xc2e2c1:0xb8f,_0x25fb72:0xefc,_0x3f6692:0x16c1};this[_0x3aaa90(_0x2fe418._0x3e7db8,_0x2fe418._0xc2e2c1)]['off'](EventType['cameraChanged'],this['_map_cameraChanged'],this),this[_0x516fd9(_0x2fe418._0x25fb72,_0x2fe418._0x3f6692)]['destroy']();function _0x516fd9(_0x5b7f62,_0x369f0c){return _0x306755(_0x369f0c,_0x5b7f62- -0xbb);}function _0x3aaa90(_0x36f038,_0x6347b7){return _0x306755(_0x6347b7,_0x36f038- -0x3f1);}delete this['_smallMap'];}[_0x306755(0x115b,0xb50)](){const _0x122e64={_0xe7ad37:0x11a8,_0x39dc90:0x1365,_0x3409e6:0xb59,_0x53ccc4:0x418,_0x3b4b7e:0x3fc,_0x38b6bc:0xce7,_0x27643c:0x1c8,_0x5e94c0:0xc6,_0x565a65:0x44b,_0x1b31be:0x100b,_0x40795d:0x6b3,_0x186caf:0x51,_0x4c5768:0x63c,_0x281a59:0x88b,_0x12355f:0xd35,_0x56b3d3:0xd7d,_0x1248be:0x1bd,_0x481fd9:0xa2b,_0x2a8bdc:0xb92,_0x14dc6a:0x206};if(this['_extentRectangle']){var _0x2571ae;if(((_0x2571ae=this[_0x221555(_0x122e64._0xe7ad37,_0x122e64._0x39dc90)]['camera']['positionCartographic'])===null||_0x2571ae===void 0x0?void 0x0:_0x2571ae[_0xc12f33(0x1364,0xd12)])>0xe4e1c0)this[_0xc12f33(0x85f,_0x122e64._0x3409e6)]=Cesium__namespace['Rectangle']['MAX_VALUE'];else{const _0x3d958a=this['_map']['getExtent']();this[_0x221555(_0x122e64._0x53ccc4,-_0x122e64._0x3b4b7e)]=Cesium__namespace['Rectangle']['fromDegrees'](_0x3d958a[_0xc12f33(_0x122e64._0x38b6bc,0xd9d)],_0x3d958a[_0x221555(0x872,_0x122e64._0x27643c)],_0x3d958a[_0x221555(-0xe9,-0x3e)],_0x3d958a['ymax']);}}this['_extentPolygon']&&(this['_mapExtentPositions']=getMapExtentPositions(this[_0xc12f33(0x1b87,0x18e9)]['scene']));function _0xc12f33(_0x281aeb,_0x3656d3){return _0x306755(_0x281aeb,_0x3656d3-0x120);}this[_0x221555(_0x122e64._0x5e94c0,0x924)]=this[_0x221555(0x11a8,0x12bb)]['getCenter'](!![]);if(!this[_0xc12f33(_0x122e64._0x565a65,0xd7d)][_0xc12f33(_0x122e64._0x1b31be,0x8ff)][_0x221555(_0x122e64._0x40795d,-_0x122e64._0x186caf)]||this[_0x221555(_0x122e64._0x4c5768,0xb9d)]['flyToOptions']['scale']===0x1){const _0x1df028={};_0x1df028[_0xc12f33(_0x122e64._0x281a59,_0x122e64._0x12355f)]=![];const _0x496f40=this['_map']['getCameraView'](_0x1df028);this['_smallMap']['setCameraView'](_0x496f40,{'duration':0x0,...this[_0xc12f33(0x16ec,_0x122e64._0x56b3d3)][_0x221555(0x1be,_0x122e64._0x1248be)]});}else{const _0x2d6755=Cesium__namespace['Cartesian3'][_0xc12f33(_0x122e64._0x481fd9,0x103d)](this['_center'],this['_map']['camera']['positionWC']);this['_smallMap'][_0xc12f33(_0x122e64._0x2a8bdc,0x125d)](this[_0xc12f33(-_0x122e64._0x14dc6a,0x807)],{'duration':0x0,'radius':_0x2d6755,...this[_0x221555(_0x122e64._0x4c5768,0x507)][_0x221555(0x1be,-0xff)]});}function _0x221555(_0x407d93,_0x1e969c){return _0x2b6441(_0x1e969c,_0x407d93- -0x80);}this['fire'](EventType['change']);}['initMinMap'](){const _0x217885={_0x216949:0x74c,_0x5a220d:0x1300,_0xe04098:0x12b4,_0x1ca67e:0xb4b,_0x31fd9e:0xc7a,_0x2e49a6:0x18bb,_0x389324:0xc13,_0x31012b:0x10ca,_0x493c37:0xb4a,_0x1ee781:0xa1b,_0x197451:0x756,_0x374b03:0x584,_0x4cfc14:0xc13,_0x46755f:0xa5f,_0x89f380:0x6b2,_0x49e70c:0xf50,_0x23011b:0xf50,_0x17a104:0xaee,_0x25abb6:0x10f9,_0x251f2f:0x1026},_0x4fdcbc={_0x4c9b98:0x4a},_0x5ca32f={};_0x5ca32f[_0x2d03d5(_0x217885._0x216949,0xc8e)]=![];const _0xa23447=this[_0x2d03d5(_0x217885._0x5a220d,_0x217885._0xe04098)][_0x2d03d5(0x28a,0xcaf)](_0x5ca32f),_0x4fd631={};_0x4fd631[_0x2d03d5(0xf8e,0x19d7)]=![],_0x4fd631['enableTranslate']=![],_0x4fd631[_0x55e4c9(0x2ff,_0x217885._0x1ca67e)]=![],_0x4fd631['enableZoom']=![];const _0x687b2={'sceneMode':Cesium__namespace['SceneMode']['SCENE2D'],'cameraController':_0x4fd631,...this['options'][_0x55e4c9(_0x217885._0x31fd9e,0xa1b)]};_0x687b2['center']=_0xa23447;const _0x5c7ff7={};_0x5c7ff7[_0x55e4c9(_0x217885._0x2e49a6,0x186f)]=![];const _0x346f1c={'contextmenu':_0x5c7ff7,...this[_0x55e4c9(0x8bc,_0x217885._0x389324)]['control']},_0x2aaf62={...this[_0x2d03d5(0x794,0xf2a)]['basemap']};_0x2aaf62[_0x2d03d5(_0x217885._0x31012b,0xbd2)]=!![];const _0xf03f0e={};_0xf03f0e['scene']=_0x687b2,_0xf03f0e['control']=_0x346f1c,_0xf03f0e['basemaps']=[_0x2aaf62];function _0x55e4c9(_0x482536,_0x139832){return _0x306755(_0x482536,_0x139832- -_0x4fdcbc._0x4c9b98);}_0xf03f0e['layers']=this[_0x55e4c9(0xc59,0xc13)]['layers'];const _0x107983=_0xf03f0e;this['_map']['options']['licenseUrl']&&(_0x107983['licenseUrl']=this['_map']['options'][_0x2d03d5(0xdab,0x6fd)]);function _0x2d03d5(_0x3c53a0,_0x36a532){return _0x2b6441(_0x36a532,_0x3c53a0-0xd8);}this['_smallMap']=new Map(this[_0x2d03d5(0x27a,-0x410)],_0x107983);this['options']['polygon']&&(this['_mapExtentPositions']=getMapExtentPositions(this['_map'][_0x55e4c9(_0x217885._0x493c37,_0x217885._0x1ee781)]),this['_extentPolygon']=new PolygonEntity({'positions':new Cesium__namespace['CallbackProperty'](_0x39b1c6=>{function _0x3b1da9(_0x25df75,_0x67d2b1){return _0x55e4c9(_0x25df75,_0x67d2b1- -0x4d3);}return this[_0x3b1da9(-0x254,-0x8c)];},![]),'style':{'color':_0x55e4c9(_0x217885._0x197451,0xeca),'outline':!![],'outlineWidth':0x1,'outlineColor':'#ff7800',...this[_0x55e4c9(_0x217885._0x374b03,_0x217885._0x4cfc14)][_0x2d03d5(_0x217885._0x46755f,_0x217885._0x89f380)]}}),this['_smallMap']['graphicLayer']['addGraphic'](this['_extentPolygon']));if(this['options'][_0x2d03d5(_0x217885._0x49e70c,0x17b1)]){const _0x201788=this[_0x2d03d5(0x1300,0x1b06)]['getExtent']();this[_0x2d03d5(0x570,0x962)]=Cesium__namespace['Rectangle'][_0x55e4c9(0xd7e,0xa73)](_0x201788[_0x55e4c9(0xf0e,0xc33)],_0x201788['ymin'],_0x201788['xmax'],_0x201788['ymax']),this['_extentRectangle']=new RectangleEntity({'rectangle':new Cesium__namespace['CallbackProperty'](_0xf9784f=>{return this['_rectangle'];},![]),'style':{'color':'rgba(0,0,255,0.2)','outline':!![],'outlineWidth':0x1,'outlineColor':'#ff7800',...this['options'][_0x2d03d5(_0x217885._0x23011b,0x806)]}}),this[_0x2d03d5(_0x217885._0x17a104,0x1039)][_0x2d03d5(_0x217885._0x25abb6,_0x217885._0x251f2f)]['addGraphic'](this['_extentRectangle']);}}}register$2('overviewMap',OverviewMap);const icon$1=_0x2b6441(0x193f,0x1371),icon='\x0a\x0a\x20\x20\x0a\x20\x20\x0a';class ClockAnimate extends BaseControl{['_mountedHook'](){const _0x447ec5={_0x28d728:0x53a,_0x4484e5:0x1bf6,_0x20e19d:0x25f};function _0x22fa49(_0x523abe,_0x48c30c){return _0x306755(_0x48c30c,_0x523abe- -0x34a);}this[_0x39cdad(0x2ff,0x8af)]=create$4(_0x22fa49(_0x447ec5._0x28d728,0x90e),'mars3d-clockAnimate\x20'+this[_0x22fa49(0x66d,0xcfc)]);function _0x39cdad(_0x4d3e43,_0x2efce9){return _0x2b6441(_0x2efce9,_0x4d3e43-0x15d);}this['_container']['innerHTML']=_0x22fa49(0x1653,_0x447ec5._0x4484e5)+this[_0x39cdad(0x929,0xc23)](_0x39cdad(0x69e,-_0x447ec5._0x20e19d))+'\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+icon$1+'\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x202017-08-25\x2000:00:00\x20\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20';}['_addedHook'](){const _0x28da2e={_0x18b919:0xb5f,_0x3a92ef:0x461,_0xf6edfe:0x398,_0x5f1a10:0x15c0,_0x531968:0x58d,_0x51d6f7:0x652,_0x24e527:0xc50,_0x505c4a:0x3bc,_0x365de7:0x10b8,_0x1b71fa:0x1962,_0x4c76e8:0x1208,_0x370243:0x10ca,_0x5d76fd:0x1c6,_0x42f176:0x6eb,_0x3a22fe:0x111f,_0x5725a2:0xe54},_0xa85371={_0x529f10:0x188c,_0x2aaa9f:0xee1},_0x4f8d3a={_0x5c09e0:0x969},_0x22b865={_0x4f871e:0x989,_0x5912d8:0x67,_0x5cca57:0x451},_0x285ecd={_0x2240df:0x98},_0x1bc724={_0x27e520:0x2e2},_0x36606e={_0xb190f7:0xcf3,_0x4a4b0b:0x21d},_0x542291={_0x2d92e7:0xb7d},_0x40aecb={_0x5c1a07:0x1da},_0x1c3622={_0x645da3:0xc80,_0x5dcd35:0x62f,_0x29e773:0x68a},_0x454bf5={_0x4534e7:0x1316,_0xdef553:0x96f,_0x29a764:0xec1,_0x4fdc99:0xf5,_0x25f47f:0x17e2},_0x346591=this[_0x127aa9(0x776,0x23a)]['querySelector']('#btn-clockAnimate-now');_0x346591['addEventListener'](_0x127aa9(0x1f4,_0x28da2e._0x18b919),_0x2f23f6=>{const _0x10c81a={_0x1b3855:0xee},_0x292f76={_0x4dd4ec:0x522};function _0x329fda(_0x27e2ef,_0x290fd2){return _0x127aa9(_0x27e2ef,_0x290fd2-_0x292f76._0x4dd4ec);}function _0x1ae4ee(_0xf3861d,_0x7da811){return _0x4bdd4c(_0x7da811,_0xf3861d-_0x10c81a._0x1b3855);}this['_map'][_0x329fda(0x1e2b,0x13b3)]['currentTime']=Cesium__namespace['JulianDate'][_0x329fda(_0x454bf5._0x4534e7,_0x454bf5._0xdef553)](),this[_0x1ae4ee(0x11ec,_0x454bf5._0x29a764)](),this['fire'](EventType['click'],{'mouseEvent':_0x2f23f6,'targetType':_0x329fda(-_0x454bf5._0x4fdc99,0x96f),'time':this[_0x329fda(0xe41,_0x454bf5._0x25f47f)]['clock']['currentTime']});}),setTimeout(()=>{function _0x41d322(_0x36a9fb,_0x142502){return _0x127aa9(_0x142502,_0x36a9fb-0x267);}function _0x40ad0d(_0x178618,_0x26c614){return _0x127aa9(_0x26c614,_0x178618-0x2e2);}this[_0x41d322(0x8bf,0xbaa)]&&!this[_0x40ad0d(0x8ec,_0x1c3622._0x645da3)](EventType['click'])&&(_0x346591[_0x40ad0d(_0x1c3622._0x5dcd35,_0x1c3622._0x29e773)]['display']='none');},0x1f4);const _0x95d8b1=this[_0x4bdd4c(-0x205,_0x28da2e._0x3a92ef)][_0x127aa9(0x8b3,0xf4d)](_0x4bdd4c(_0x28da2e._0xf6edfe,0x997));_0x95d8b1['addEventListener'](_0x4bdd4c(0x14b5,0xd86),_0x3086f7=>{const _0x1b788d={_0x297079:0x451};this['_map']['clock']['shouldAnimate']=!this['_map'][_0x32f963(0xe61,0x1292)]['shouldAnimate'];function _0x32f963(_0x3efadd,_0x4ec41a){return _0x4bdd4c(_0x3efadd,_0x4ec41a-_0x40aecb._0x5c1a07);}this['updateStatus']();function _0x434d1c(_0x4d475c,_0x4c6bff){return _0x4bdd4c(_0x4d475c,_0x4c6bff-_0x1b788d._0x297079);}this[_0x434d1c(0x8ee,0x9f8)](EventType['click'],{'mouseEvent':_0x3086f7,'targetType':_0x32f963(_0x542291._0x2d92e7,0x883),'state':this['_map']['clock']['shouldAnimate']});}),this['_containerBtnStart']=_0x95d8b1,this['_containerTime']=this['_container']['querySelector'](_0x4bdd4c(0x1517,_0x28da2e._0x5f1a10)),this['_containerTime']['addEventListener']('click',_0x564cd1=>{const _0x177d88={_0x22cae2:0x19a},_0xdba502={};function _0x9ed1d0(_0x3d5c2c,_0xf71223){return _0x127aa9(_0x3d5c2c,_0xf71223-_0x177d88._0x22cae2);}_0xdba502['mouseEvent']=_0x564cd1,_0xdba502[_0x9ed1d0(0x5a5,0xdd6)]='label',this['fire'](EventType['click'],_0xdba502);}),this[_0x127aa9(_0x28da2e._0x531968,_0x28da2e._0x51d6f7)]=this['_container']['querySelector'](_0x4bdd4c(0x1127,_0x28da2e._0x24e527)),this[_0x127aa9(-_0x28da2e._0x505c4a,0x652)]['addEventListener']('click',_0x18c42c=>{function _0xd8d752(_0xde74ac,_0x471ee5){return _0x4bdd4c(_0x471ee5,_0xde74ac- -0x170);}const _0x40a768={};_0x40a768['mouseEvent']=_0x18c42c,_0x40a768[_0xd8d752(_0x36606e._0xb190f7,0xc1e)]=_0xd8d752(0x419,_0x36606e._0x4a4b0b);function _0x5ab440(_0x185615,_0x15d4d7){return _0x4bdd4c(_0x15d4d7,_0x185615- -0x187);}this['fire'](EventType['click'],_0x40a768);});if(this['options'][_0x4bdd4c(_0x28da2e._0x365de7,0x12bb)]==='duration'){const _0x107a65=Cesium__namespace[_0x127aa9(_0x28da2e._0x1b71fa,0x14e8)][_0x4bdd4c(_0x28da2e._0x4c76e8,0xc36)](this['_map'][_0x127aa9(0x1100,0xe91)]['stopTime'],this[_0x127aa9(_0x28da2e._0x370243,0x12c0)]['clock']['startTime']),_0xff03f3=formatTime(_0x107a65,{'getLangText':this['getLangText'][_0x4bdd4c(0x1591,0x116d)](this)});this[_0x127aa9(0x9fa,0x652)]['innerHTML']='(共'+_0xff03f3+')';}else this['_containerTimeAll'][_0x127aa9(_0x28da2e._0x5d76fd,0x34d)][_0x127aa9(-0x736,0xea)]='none';function _0x4bdd4c(_0x307359,_0x8da3e){return _0x306755(_0x307359,_0x8da3e- -_0x1bc724._0x27e520);}this['_containerSpeed']=this['_container']['querySelector'](_0x127aa9(0x10ea,_0x28da2e._0x42f176));function _0x127aa9(_0x5b7e92,_0x242895){return _0x2b6441(_0x5b7e92,_0x242895-_0x285ecd._0x2240df);}this['options']['speed']??!![]?(this[_0x127aa9(0x989,0x10eb)][_0x127aa9(0x116d,_0x28da2e._0x3a22fe)]('value',this[_0x127aa9(0x18b0,0x12c0)]['clock']['multiplier']),this[_0x4bdd4c(0x1ad3,0x1312)]['addEventListener']('change',_0x5d3913=>{const _0xdf9b19={_0x30a284:0xd1};function _0x237a54(_0x369470,_0x493402){return _0x4bdd4c(_0x369470,_0x493402-0x4d);}const _0x1b5e81=Number(this['_containerSpeed'][_0x1a643d(_0x22b865._0x4f871e,0x917)]||0x1);function _0x1a643d(_0x10e274,_0x43c371){return _0x127aa9(_0x10e274,_0x43c371-_0xdf9b19._0x30a284);}if(!isNaN(_0x1b5e81)){this[_0x237a54(0x110d,0x1534)]['clock']['multiplier']=_0x1b5e81;const _0x52d3fd={};_0x52d3fd['mouseEvent']=_0x5d3913,_0x52d3fd['speed']=_0x1b5e81,this[_0x1a643d(-_0x22b865._0x5912d8,_0x22b865._0x5cca57)](EventType['change'],_0x52d3fd);}})):(this['_containerSpeed']['style'][_0x127aa9(-0x2fd,0xea)]=_0x4bdd4c(_0x28da2e._0x5725a2,0x970),delete this['_containerSpeed']),setTimeout(()=>{const _0x19cb4b={_0x3f8f9b:0x1ad};function _0x286178(_0x3c11dd,_0x1c5a8d){return _0x4bdd4c(_0x3c11dd,_0x1c5a8d-_0x19cb4b._0x3f8f9b);}this[_0x286178(_0x4f8d3a._0x5c09e0,0xa2c)]&&this['_showHook'](!![]);},0x3e8),this[_0x4bdd4c(0xd88,0xd3a)]=setInterval(()=>{function _0x47d88e(_0x185ccf,_0x3de6a3){return _0x4bdd4c(_0x185ccf,_0x3de6a3- -0x17e);}function _0x4c7ed5(_0x38ff0d,_0x36bab8){return _0x127aa9(_0x36bab8,_0x38ff0d-0xa7);}this[_0x47d88e(0xa4b,0x701)]&&this[_0x47d88e(_0xa85371._0x529f10,_0xa85371._0x2aaa9f)]();},0x1f4),this['clock_onTickHandler']();}['_showHook'](_0x55ef9a){const _0xe704d6={_0x20d7a0:0x1ef7,_0x54a504:0x1455,_0x2bb1b7:0x296,_0x39fb62:0x6b2},_0x2173eb={_0x4c24af:0x137};var _0x59f334,_0x1e157b;const _0x50e287=this['_map']['control']['timeline'],_0x427eeb=_0x50e287===null||_0x50e287===void 0x0?void 0x0:_0x50e287['container'];function _0x514d1d(_0x14f1f1,_0x3c6d69){return _0x306755(_0x14f1f1,_0x3c6d69- -_0x2173eb._0x4c24af);}_0x427eeb&&!Cesium__namespace[_0x3013f3(_0xe704d6._0x20d7a0,_0xe704d6._0x54a504)]((_0x59f334=_0x50e287['options'])===null||_0x59f334===void 0x0||(_0x59f334=_0x59f334['style'])===null||_0x59f334===void 0x0?void 0x0:_0x59f334[_0x514d1d(0x17a4,0xe6d)])&&(_0x427eeb['style']['left']=_0x55ef9a?this[_0x514d1d(0x7ff,0x60c)][_0x514d1d(0x2194,0x180b)]+0x1+'px':'0',_0x50e287['resize']());const _0x15052f=(_0x1e157b=this['_map']['controls'])===null||_0x1e157b===void 0x0?void 0x0:_0x1e157b[_0x514d1d(0xe76,0x9c3)];function _0x3013f3(_0x42c6df,_0x5dbcdd){return _0x306755(_0x42c6df,_0x5dbcdd- -0x35d);}if(_0x15052f&&!Cesium__namespace['defined'](_0x15052f[_0x3013f3(0xeaf,0x900)]['bottom'])){const _0x34fa0f=_0x55ef9a||_0x427eeb&&_0x427eeb[_0x514d1d(0x1e,0x71f)][_0x3013f3(0x38c,_0xe704d6._0x2bb1b7)]!=='none',_0x4b1f60={};_0x4b1f60['bottom']=_0x34fa0f?_0x3013f3(0x92d,0x500):'2px',_0x15052f[_0x514d1d(0xd3c,_0xe704d6._0x39fb62)](_0x4b1f60);}}['_removedHook'](){const _0x3b245f={_0xc339ee:0x17da,_0x1ee9ca:0xda0};function _0x493121(_0x406493,_0x1ddefb){return _0x306755(_0x406493,_0x1ddefb-0x87);}function _0x45110c(_0x286e51,_0x502de3){return _0x306755(_0x286e51,_0x502de3- -0x27c);}this['_timeTik']&&(clearInterval(this[_0x493121(_0x3b245f._0xc339ee,0x10a3)]),this[_0x45110c(0x6e8,_0x3b245f._0x1ee9ca)]=null);}[_0x2b6441(0x16d2,0xda0)](){const _0x222b2e={_0x171bc1:0x13ca,_0x4f5304:0x13db,_0x6b9f8b:0x34f,_0x3a10a3:0x113b,_0x3a326e:0x85e,_0x34387b:0x11b1,_0x3d69c0:0x121a,_0x5f17cc:0x12e7},_0x25bd07={_0x2666d9:0x3ff},_0x214116={_0x5539ab:0x5e2};this['updateStatus']();if(this['_containerSpeed']){const _0x380f8f=Number(this['_containerSpeed']['value']);this[_0x345db9(0x13ca,0x17c1)]['clock']['multiplier']!==_0x380f8f&&this['_containerSpeed']['setAttribute']('value',this[_0x1babc7(0x180a,0xf94)]['clock']['multiplier']);}function _0x1babc7(_0x2196f2,_0x2934c8){return _0x2b6441(_0x2934c8,_0x2196f2-_0x214116._0x5539ab);}function _0x345db9(_0x1a66ad,_0x52c7c1){return _0x306755(_0x52c7c1,_0x1a66ad- -_0x25bd07._0x2666d9);}if(this['options']['format']==='duration'){const _0x3e3f9d=Cesium__namespace['JulianDate']['secondsDifference'](this[_0x345db9(0x13ca,0xd80)]['clock'][_0x1babc7(0xbed,0x7a9)],this[_0x345db9(_0x222b2e._0x171bc1,0xd49)][_0x1babc7(_0x222b2e._0x4f5304,0x9aa)][_0x345db9(0xae9,0x4e0)]),_0x2cd044=formatTime(_0x3e3f9d,{'getLangText':this['getLangText'][_0x345db9(0x1050,0x103e)](this)});this['_containerTime'][_0x345db9(0x1493,0xbdb)]=_0x2cd044,this['_diffTimeStrLen']!==_0x2cd044['length']&&(this['_showHook'](!![]),this['_diffTimeStrLen']=_0x2cd044['length']);}else{const _0x5dc9e4=Cesium__namespace['JulianDate'][_0x1babc7(0xcb7,_0x222b2e._0x6b9f8b)](this['_map'][_0x345db9(0xf9b,_0x222b2e._0x3a10a3)]['currentTime']);this['_containerTime']['innerHTML']=formatDate(_0x5dc9e4,this[_0x345db9(_0x222b2e._0x3a326e,_0x222b2e._0x34387b)]['format']||_0x345db9(_0x222b2e._0x3d69c0,_0x222b2e._0x5f17cc));}}[_0x306755(0xc04,0x13e0)](){const _0x31e75a={_0x45b7e7:0xba7,_0x103aec:0x118e,_0x5384e4:0x8d2,_0x52ffcd:0x76c,_0x5757d5:0x9ee,_0x3f6550:0xba7,_0x1c81b6:0x1925,_0x551904:0x147,_0x450b4c:0x116,_0x400706:0x5dd,_0x52ae03:0xfb4,_0x4fb3b8:0x752,_0x412747:0x1246,_0x1363c6:0x239},_0x12ef97={_0x11f719:0x39},_0x5c1adc={_0x32afcd:0x49d};var _0x88ab41;function _0x5d5714(_0xc4d97e,_0x4bc7c0){return _0x2b6441(_0xc4d97e,_0x4bc7c0-_0x5c1adc._0x32afcd);}if(this[_0xe115d0(0x107c,_0x31e75a._0x45b7e7)]===this[_0xe115d0(0x1ad5,0x11ef)][_0xe115d0(_0x31e75a._0x103aec,0xdc0)][_0xe115d0(_0x31e75a._0x5384e4,_0x31e75a._0x52ffcd)])return;this[_0xe115d0(_0x31e75a._0x5757d5,_0x31e75a._0x3f6550)]=this['_map']['clock'][_0x5d5714(0x1323,0xc42)];this[_0x5d5714(_0x31e75a._0x1c81b6,0x107d)]?(this['_containerBtnStart']['setAttribute'](_0xe115d0(-_0x31e75a._0x551904,0x836),this['getLangText']('_暂停')),this['_containerBtnStart']['innerHTML']=icon$1,this['_containerSpeed']&&(this['_containerSpeed'][_0x5d5714(-0x211,0x752)]['display']=_0xe115d0(-0x657,_0x31e75a._0x450b4c))):(this[_0x5d5714(0x1945,0x14a7)]['setAttribute'](_0xe115d0(_0x31e75a._0x400706,0x836),this[_0x5d5714(0x16ec,0xc69)](_0x5d5714(0xfb6,0x15fc))),this['_containerBtnStart']['innerHTML']=icon,this['_containerSpeed']&&(this['_containerSpeed'][_0x5d5714(_0x31e75a._0x52ae03,_0x31e75a._0x4fb3b8)]['display']=_0xe115d0(-0x6a,0x678)));const _0x1745b2=this['_map']['control']['timeline'],_0x1823d4=_0x1745b2===null||_0x1745b2===void 0x0?void 0x0:_0x1745b2[_0x5d5714(_0x31e75a._0x412747,0xef7)];function _0xe115d0(_0xf39805,_0x4b3886){return _0x2b6441(_0xf39805,_0x4b3886- -_0x12ef97._0x11f719);}_0x1823d4&&!Cesium__namespace['defined']((_0x88ab41=_0x1745b2[_0xe115d0(-0x1db,0x683)])===null||_0x88ab41===void 0x0||(_0x88ab41=_0x88ab41[_0x5d5714(_0x31e75a._0x1363c6,0x752)])===null||_0x88ab41===void 0x0?void 0x0:_0x88ab41['left'])&&(_0x1823d4['style']['left']=this['_container']['offsetWidth']+0x1+'px',_0x1745b2['resize']());}}register$2('clockAnimate',ClockAnimate);class Subtitles extends BaseControl{get[_0x306755(0x1628,0xbac)](){return this['_currentTime'];}get['currentIndex'](){return this['_currentIndex'];}get['count'](){var _0x514bf0;return(_0x514bf0=this['_arrTaskItem'])===null||_0x514bf0===void 0x0?void 0x0:_0x514bf0['length'];}get[_0x306755(-0x113,0x4c6)](){const _0x14eaa7={_0x272043:0x87f,_0x1c2d45:0x87f,_0x1bb686:0xfc0},_0x1764ee={_0x502e88:0x277};function _0x3afa6d(_0x4084a9,_0x30f94c){return _0x2b6441(_0x30f94c,_0x4084a9- -0x71);}function _0x40bc69(_0x3c720a,_0x2b4fda){return _0x306755(_0x2b4fda,_0x3c720a- -_0x1764ee._0x502e88);}var _0x287c88;const _0x1336f9=(_0x287c88=this[_0x40bc69(_0x14eaa7._0x272043,-0x46)])===null||_0x287c88===void 0x0?void 0x0:_0x287c88['length'];if(_0x1336f9===0x0)return 0x0;return this[_0x40bc69(_0x14eaa7._0x1c2d45,_0x14eaa7._0x1bb686)][_0x1336f9-0x1]['stop'];}get[_0x306755(0x5f2,0x91b)](){return this['options']['list'];}set[_0x2b6441(0xe3e,0x37a)](_0x243074){const _0x3dc509={_0x271bdc:0x109a,_0x57db23:0xad4};this[_0x3da354(_0x3dc509._0x271bdc,_0x3dc509._0x57db23)]['list']=_0x243074;function _0x3da354(_0x1931f9,_0xc8268e){return _0x2b6441(_0x1931f9,_0xc8268e-0x418);}this['_updateList']();}get[_0x306755(0x212a,0x167f)](){return this['_arrTaskItem'];}['_mountedHook'](){const _0x27a252={_0x1a8415:0x294,_0x14e0f8:0xeed},_0x154a86={_0xf285bd:0x19b},_0x191cb3={_0x567e99:0xa1};this['_container']=create$4(_0x4ba4ee(-0x9d,0x47e),_0x4ba4ee(0x7da,0xd6a)+this[_0x1fba66(_0x27a252._0x1a8415,0x375)]);function _0x1fba66(_0x4fd684,_0x228eab){return _0x2b6441(_0x4fd684,_0x228eab- -_0x191cb3._0x567e99);}const _0x7dd0de={};_0x7dd0de['left']='30px',_0x7dd0de[_0x1fba66(0x113b,_0x27a252._0x14e0f8)]='30px';function _0x4ba4ee(_0x4c973a,_0x33f3d1){return _0x2b6441(_0x4c973a,_0x33f3d1-_0x154a86._0xf285bd);}_0x7dd0de[_0x4ba4ee(0x924,0xfe9)]='30px',this['setStyle'](this['options']['style']||_0x7dd0de),this['_updateList']();}['_setOptionsHook'](_0x23a085,_0x3a31a1){_0x3a31a1['list']&&this['_updateList']();}['getItemById'](_0x2d4b38){const _0x2db093={_0x5dc671:0x8a1,_0x2abc31:0x172b,_0x3e664e:0x1b7c},_0x1107b5={_0x5003ba:0x152};function _0x41b18c(_0x1b6fe7,_0x2cda14){return _0x2b6441(_0x2cda14,_0x1b6fe7-0x6d1);}for(let _0x176a45=0x0;_0x176a450x0&&(_0x159cb1=_0x1a0432[_0x1a0432['length']-0x1],!Cesium__namespace[_0x5b9b5e(0xf6f,0x170b)](_0x526fcf['start'])&&(Cesium__namespace['defined'](_0x526fcf['delay'])?_0x526fcf[_0x5b9b5e(_0x3d13bb._0x44cb9f,0xab1)]=_0x159cb1[_0x598623(0xe3,0x236)]+_0x526fcf[_0x598623(0x366,0xb67)]:_0x526fcf['start']=_0x159cb1['_stop']+0x1));const _0x12b401=new TaskItem(_0x526fcf);_0x12b401['_activateWork']=_0x2a4fcc=>{function _0x57f599(_0x19e88c,_0x4072ff){return _0x5b9b5e(_0x19e88c,_0x4072ff-0x21);}this['_container']['innerHTML']=_0x2a4fcc[_0x57f599(_0x500cfe._0x5d7ebe,_0x500cfe._0x140b57)];},_0x12b401[_0x598623(0x102d,_0x3d13bb._0x4d20e0)]=_0x33d411=>{function _0x359f77(_0x2c2d99,_0x36432d){return _0x598623(_0x36432d,_0x2c2d99- -0x2f1);}this['_container'][_0x359f77(0x1260,0x1944)]='';},_0x12b401['_duration']<0x1&&logWarn('Subtitles数据有误提示:当前数据执行duration时长有误',_0x12b401),_0x159cb1&&_0x159cb1[_0x5b9b5e(0x886,0x4d0)]>_0x12b401['_start']&&logWarn(_0x598623(0x1157,_0x3d13bb._0x525160),_0x159cb1,_0x12b401),_0x12b401[_0x5b9b5e(0x11c5,_0x3d13bb._0x26fa21)]=this,_0x1a0432['push'](_0x12b401);}function _0x598623(_0x2c851c,_0x43882f){return _0x306755(_0x2c851c,_0x43882f- -0x341);}this['_arrTaskItem']=_0x1a0432;}[_0x306755(0xcec,0x99e)](){const _0x265978={_0x2f195a:0x1a0e},_0x18704f={_0x23e3c2:0xf2},_0x171800={_0x2b88e7:0x1732};this['_timeTik']=setInterval(()=>{function _0x2cdb15(_0x208b78,_0x3038ee){return _0x5bbe(_0x3038ee- -0x3c1,_0x208b78);}this['isAdded']&&this[_0x2cdb15(_0x171800._0x2b88e7,0x12e8)]();},0x1f4);function _0x767eed(_0x559049,_0x35f939){return _0x306755(_0x559049,_0x35f939-_0x18704f._0x23e3c2);}this[_0x767eed(0x17d3,_0x265978._0x2f195a)]();}[_0x306755(0xdfb,0xe2b)](){const _0x1cef14={_0x2f9b15:0x106a,_0x5cb905:0xb1c};function _0x153c50(_0x1c56eb,_0x272126){return _0x306755(_0x1c56eb,_0x272126- -0x500);}this[_0x153c50(_0x1cef14._0x2f9b15,_0x1cef14._0x5cb905)]&&(clearInterval(this['_timeTik']),this['_timeTik']=null);}['_clock_onTickHandler'](){const _0x1eab66={_0x59492f:0x12c6,_0x3c14e1:0x15e5,_0x473f0c:0x124e,_0x211086:0xd04,_0x41c7d5:0x10e2,_0x3dafff:0xd74},_0x37a95d={_0x2691d9:0x172},_0xadf6ac={_0x49f1f2:0x3bd};var _0x20b64f;function _0x4faa16(_0x1fa3b2,_0x331f0e){return _0x2b6441(_0x331f0e,_0x1fa3b2-_0xadf6ac._0x49f1f2);}if(!this[_0x4faa16(0x13af,0x1178)]||!this['enabled']||this[_0x4faa16(0x912,_0x1eab66._0x59492f)]['length']===0x0)return;if(((_0x20b64f=this[_0x4faa16(0x15e5,0x14bf)])===null||_0x20b64f===void 0x0?void 0x0:_0x20b64f['availabilityEnabled'])===![])return;const _0x5ecdd6=this[_0x4faa16(_0x1eab66._0x3c14e1,0xba0)]['clock'];function _0xb51b1d(_0x2257c2,_0x3272bf){return _0x306755(_0x3272bf,_0x2257c2-_0x37a95d._0x2691d9);}this['_currentTime']=Cesium__namespace['JulianDate'][_0xb51b1d(0x108a,_0x1eab66._0x473f0c)](_0x5ecdd6['currentTime'],_0x5ecdd6[_0x4faa16(_0x1eab66._0x211086,0x492)]);for(let _0x35708b=0x0;_0x35708b{this[_0x4b233e(_0x1df9c2._0x460e77,_0x1df9c2._0x27a232)]=![];if(_0x105eee[_0x4b233e(0x730,_0x1df9c2._0x5ac095)]!==0x0){console['log'](_0x4b233e(_0x1df9c2._0x28d34a,0x1abe),_0x105eee);return;}function _0x4b233e(_0x3f0b51,_0x46bb7c){return _0x5c5c9c(_0x3f0b51- -0x1c3,_0x46bb7c);}const _0x114e0e=_0x105eee['result'],_0x381072={};_0x381072['address']=_0x114e0e['formatted_address'],_0x381072['city']=_0x114e0e[_0x2b415f(_0x1df9c2._0xaea1dc,_0x1df9c2._0x5a8d2b)],_0x381072['component']=_0x114e0e['addressComponent'];function _0x2b415f(_0x222a3f,_0x183bcb){return _0x5c5c9c(_0x183bcb-0x33,_0x222a3f);}const _0x19fdd6=_0x381072;return _0x38ffcd['success']&&_0x38ffcd[_0x2b415f(0x1001,_0x1df9c2._0x4e1e01)](_0x19fdd6),_0x19fdd6;})['catch'](_0xe4c1e1=>{this['_getAddress_ing']=![],logError('BaiduPOI\x20请求出错',_0xe4c1e1);function _0x1dcc52(_0x5bfe8b,_0x16c243){return _0x468d96(_0x5bfe8b-0x74,_0x16c243);}function _0x4b435e(_0x265c3a,_0x31872b){return _0x468d96(_0x265c3a- -_0x44662e._0x2ba852,_0x31872b);}_0x38ffcd[_0x1dcc52(0x10c9,0x18f4)]&&_0x38ffcd['error'](_0x1dcc52(_0x170f79._0x369cb1,0x15c5),_0xe4c1e1);});}['autoTip'](_0x200b37){const _0xa7aa8={_0x350b99:0xfbd,_0x4b49a1:0x7c3,_0x2f57a9:0x50e,_0x3c4aea:0x1064,_0x1922ed:0xd69,_0x377351:0x14f4,_0x310554:0x1d74,_0x7c8e47:0x157d,_0x337142:0x2017,_0x3c21ca:0xaa,_0x356881:0xf8c,_0x1613ec:0x152b},_0x2642f3={_0x76c100:0xf19,_0x5d1273:0x186e,_0x4cfdc0:0xdc6,_0x17ac99:0xdf9,_0x394431:0x39d,_0xbbb56b:0xb01,_0x42b410:0x94a,_0x5bab1a:0x1d81},_0x343d46={_0x484060:0x2dc};function _0x280e81(_0x42193f,_0x4b7e43){return _0x306755(_0x4b7e43,_0x42193f- -_0x343d46._0x484060);}function _0x26c89e(_0x58707e,_0x1bc131){return _0x2b6441(_0x1bc131,_0x58707e-0x562);}const _0x47feeb={};_0x47feeb['ak']=this[_0x280e81(_0xa7aa8._0x350b99,0x1421)],_0x47feeb[_0x26c89e(0x64b,0xa3b)]=_0x280e81(0xc70,0x1114),_0x47feeb['ret_coordtype']=_0x26c89e(_0xa7aa8._0x4b49a1,0x358);const _0x44a2dd=_0x47feeb;Cesium__namespace['defined'](this['_city'])&&(_0x44a2dd[_0x26c89e(0x6fc,-0x15f)]=this[_0x26c89e(_0xa7aa8._0x2f57a9,0x710)],_0x44a2dd['city_limit']=!![]);Cesium__namespace['defined'](_0x200b37['city'])&&(_0x44a2dd['region']=_0x200b37['city'],_0x44a2dd['city_limit']=!![]);Cesium__namespace[_0x26c89e(0x1773,0x1d73)](_0x200b37[_0x280e81(_0xa7aa8._0x3c4aea,_0xa7aa8._0x1922ed)])&&(_0x44a2dd['city_limit']=_0x200b37[_0x280e81(0x1064,0x10cd)]);_0x200b37['text']&&(_0x44a2dd['query']=this['_getKeywords'](_0x200b37['text']));if(_0x200b37['location']){_0x44a2dd['coord_type']=0x1;const _0x6856e2=LngLatPoint[_0x280e81(_0xa7aa8._0x377351,_0xa7aa8._0x310554)](_0x200b37[_0x26c89e(_0xa7aa8._0x7c8e47,_0xa7aa8._0x337142)]);_0x44a2dd[_0x26c89e(_0xa7aa8._0x7c8e47,0xfdf)]=_0x6856e2[_0x280e81(0x662,_0xa7aa8._0x3c21ca)]+','+_0x6856e2['lng'];}const _0x2689d4={'url':_0x26c89e(0x1764,_0xa7aa8._0x356881),...this[_0x26c89e(0xc1e,0x1531)]};return _0x2689d4['queryParameters']=_0x44a2dd,Cesium__namespace['Resource'][_0x26c89e(_0xa7aa8._0x1613ec,0x1172)](_0x2689d4)['then'](_0x43c357=>{if(_0x43c357[_0x3fd93e(_0x2642f3._0x76c100,0x769)]!==0x0){console['log'](_0x2fb6ad(0xe63,_0x2642f3._0x5d1273),_0x43c357);return;}function _0x3fd93e(_0x23bd30,_0x1192a5){return _0x26c89e(_0x1192a5- -0x504,_0x23bd30);}const _0x748822=this['_formatPOIData'](_0x43c357[_0x3fd93e(0x7d9,0x724)]),_0x584def={};_0x584def['allcount']=_0x43c357[_0x3fd93e(_0x2642f3._0x4cfdc0,_0x2642f3._0x17ac99)],_0x584def[_0x2fb6ad(_0x2642f3._0x394431,0x64f)]=_0x748822['length'],_0x584def[_0x2fb6ad(_0x2642f3._0xbbb56b,_0x2642f3._0x42b410)]=_0x748822;function _0x2fb6ad(_0x533192,_0x1b17e1){return _0x280e81(_0x1b17e1-0x30b,_0x533192);}const _0x1d336d=_0x584def;return _0x200b37[_0x2fb6ad(_0x2642f3._0x5bab1a,0x1432)]&&_0x200b37[_0x2fb6ad(0x1d9b,0x1432)](_0x1d336d),_0x1d336d;})[_0x280e81(0xc3e,0xa0a)](_0x315095=>{function _0x4dfc58(_0x4f64d3,_0xb91988){return _0x26c89e(_0xb91988- -0x581,_0x4f64d3);}logError(_0x4dfc58(-0x560,0x2d1),_0x315095),_0x200b37['error']&&_0x200b37['error']('请求出错',_0x315095);});}['detail'](_0x4cf634){const _0x4e9822={_0x36ac49:0x4db,_0x35c407:0x936,_0x7c8cf3:0x106e},_0x312ef3={_0x1dbecc:0xe1a,_0x51667e:0x18e4},_0x5baf28={_0x395ead:0x1928,_0xad74f6:0x4d0,_0x251308:0x12bb,_0x5c68a4:0x14a9},_0x27aeed={_0x5ad81b:0x222},_0x367667={};_0x367667['ak']=this['key'],_0x367667['output']='json',_0x367667['ret_coordtype']=_0x5ce5ba(_0x4e9822._0x36ac49,-0x4cb),_0x367667[_0x5bf6ab(0x13e0,0xe34)]=_0x4cf634['id'];function _0x5bf6ab(_0x4bd6d3,_0xe43b93){return _0x306755(_0x4bd6d3,_0xe43b93-0xd9);}const _0x5caa4c=_0x367667;function _0x5ce5ba(_0x1345fd,_0x44e0a5){return _0x306755(_0x44e0a5,_0x1345fd- -0x327);}const _0x3b8e99={'url':'https://api.map.baidu.com/place/v2/detail','queryParameters':_0x5caa4c,...this[_0x5ce5ba(_0x4e9822._0x35c407,_0x4e9822._0x7c8cf3)]};return Cesium__namespace['Resource'][_0x5ce5ba(0x1243,0x12ad)](_0x3b8e99)['then'](_0x397d07=>{if(_0x397d07['status']!==0x0){console['log'](_0x362cc6(_0x5baf28._0x395ead,0x1270),_0x397d07);return;}if(!_0x397d07[_0x1c3ad7(-0x22b,_0x5baf28._0xad74f6)]||_0x397d07['pois']['length']===0x0){_0x4cf634[_0x1c3ad7(0x10fd,_0x5baf28._0x251308)]&&_0x4cf634[_0x362cc6(_0x5baf28._0x5c68a4,0xcbc)]('未查询到相关结果!',_0x397d07);return;}function _0x362cc6(_0x530762,_0xda822a){return _0x5ce5ba(_0x530762-0x410,_0xda822a);}const _0x37d055=_0x397d07;_0x4cf634[_0x1c3ad7(0x14ce,0x12fe)]&&_0x4cf634['success'](_0x37d055);function _0x1c3ad7(_0x5ccd37,_0x35b313){return _0x5ce5ba(_0x35b313-_0x27aeed._0x5ad81b,_0x5ccd37);}return _0x37d055;})['catch'](_0x1c5e3c=>{const _0x522971={_0x35cb4f:0x99};function _0x3484c1(_0x4780a0,_0x9bf8b5){return _0x5ce5ba(_0x4780a0- -_0x522971._0x35cb4f,_0x9bf8b5);}logError('BaiduPOI\x20请求出错',_0x1c5e3c);function _0x4075cc(_0x405fa6,_0x472af3){return _0x5ce5ba(_0x472af3- -0x27f,_0x405fa6);}_0x4cf634[_0x4075cc(0x69b,_0x312ef3._0x1dbecc)]&&_0x4cf634['error'](_0x4075cc(_0x312ef3._0x51667e,0x1019),_0x1c5e3c);});}['query'](_0x3c94a2){const _0x5e471c={_0x2223c7:0x96c,_0x273c3c:0x79e,_0x41d2b0:0xad},_0x24cb6e={_0x20f3fa:0x57e},_0x30de69=_0x3c94a2[_0x2a7268(0x1375,0xc65)];function _0x2a7268(_0x1ac51b,_0x319455){return _0x306755(_0x319455,_0x1ac51b- -_0x24cb6e._0x20f3fa);}function _0x2981e2(_0x4332cd,_0x2c778d){return _0x306755(_0x4332cd,_0x2c778d-0x24);}if(_0x30de69){if(_0x30de69['type']==='rectangle')return _0x3c94a2[_0x2981e2(0x5e5,0xf4c)]=_0x30de69['outlineCoordinates'],this['queryPolygon'](_0x3c94a2);else{if(_0x30de69[_0x2a7268(0x10e5,0x1b5d)]==='polygon')return _0x3c94a2[_0x2a7268(0x9aa,_0x5e471c._0x2223c7)]=_0x30de69[_0x2a7268(0x693,0x359)],this['queryPolygon'](_0x3c94a2);else return _0x30de69['type']===_0x2a7268(_0x5e471c._0x273c3c,-_0x5e471c._0x41d2b0)?(_0x3c94a2['location']=_0x30de69[_0x2981e2(0x1e3e,0x188d)],_0x3c94a2['radius']=_0x30de69['radius'],this['queryCircle'](_0x3c94a2)):Promise['resolve'](![]);}}else return _0x3c94a2['polygon']?this[_0x2981e2(0x230a,0x19f3)](_0x3c94a2):this['queryText'](_0x3c94a2);}[_0x306755(0x40c,0x686)](_0x467688){const _0x525f89={_0x4bc2b8:0xada,_0xa6c5fd:0x843,_0xda9687:0x1ca4,_0x5c0e09:0x16e7,_0x44b49b:0x16c4,_0x21a6ce:0x568,_0x18aa9a:0xd82,_0x2a847a:0x50c,_0x408163:0x100a,_0x4e65a2:0xef5,_0x43f1ac:0x67a},_0x544a19={_0xb32719:0x1604},_0x4ca75d={_0x457315:0xf3b,_0x5c49fc:0x1912,_0x372ced:0x15b0,_0x4ab9c1:0x1ad,_0x2ed0a8:0x54c,_0x4e0ec0:0x113f,_0x10f467:0x87e,_0x139f50:0x135b,_0x5069f3:0xdd9,_0x228eba:0x764,_0xa39411:0x628},_0x5c3a98={_0x164c77:0x10b},_0x16ed53={};_0x16ed53['ak']=this['key'],_0x16ed53['output']=_0x29c1fe(0x1054,0x1760),_0x16ed53['ret_coordtype']='gcj02ll',_0x16ed53['scope']=0x2;function _0x29c1fe(_0x15558a,_0x4fe6cc){return _0x306755(_0x4fe6cc,_0x15558a-0x108);}_0x16ed53['page_num']=_0x467688['page']||0x0,_0x16ed53[_0x29c1fe(0x1091,0x1558)]=_0x467688['count']||0x14,_0x16ed53[_0xee940c(0x1459,0xb16)]=_0x467688['types']||'';const _0x343e13=_0x16ed53;Cesium__namespace['defined'](this['_city'])&&(_0x343e13[_0x29c1fe(0x843,_0x525f89._0x4bc2b8)]=this['_city'],_0x343e13[_0x29c1fe(0x13f1,0xcd6)]=!![]);Cesium__namespace['defined'](_0x467688[_0xee940c(0x12b1,0x13e8)])&&(_0x343e13[_0x29c1fe(_0x525f89._0xa6c5fd,0x3f4)]=_0x467688['city'],_0x343e13[_0xee940c(0xe53,0x179e)]=!![]);Cesium__namespace[_0xee940c(0x131c,_0x525f89._0xda9687)](_0x467688['citylimit'])&&(_0x343e13['city_limit']=_0x467688['citylimit']);_0x467688[_0x29c1fe(0x1a15,0x1c09)]&&(_0x343e13[_0x29c1fe(_0x525f89._0x5c0e09,0x15e2)]=this['_getKeywords'](_0x467688['text']));function _0xee940c(_0x4b804f,_0x2e34c7){return _0x2b6441(_0x2e34c7,_0x4b804f-_0x5c3a98._0x164c77);}if(_0x467688['location']){_0x343e13['coord_type']=0x1;const _0x1003e7=LngLatPoint['parse'](_0x467688['location']);_0x343e13[_0x29c1fe(_0x525f89._0x44b49b,0x1de6)]=_0x1003e7['lat']+','+_0x1003e7[_0xee940c(_0x525f89._0x21a6ce,_0x525f89._0x18aa9a)];}Cesium__namespace['defined'](_0x467688[_0xee940c(0x230,0x27a)])&&(_0x467688[_0x29c1fe(0x7ce,_0x525f89._0x2a847a)]>0x4c4b40?delete _0x343e13['location']:_0x343e13['radius']=_0x467688['radius'],Cesium__namespace[_0xee940c(0x131c,0xb50)](_0x467688['radiuslimit'])&&(_0x343e13[_0x29c1fe(_0x525f89._0x408163,0x7c7)]=_0x467688[_0x29c1fe(_0x525f89._0x4e65a2,_0x525f89._0x43f1ac)]));const _0x2ad449={'url':'https://api.map.baidu.com/place/v2/search',...this['options']};return _0x2ad449['queryParameters']=_0x343e13,Cesium__namespace['Resource']['fetchJson'](_0x2ad449)['then'](_0x200a47=>{if(_0x200a47['status']!==0x0){const _0x749711=_0xb3d2b7(0xb77,0x14a)+_0x200a47['status']+'):'+_0x200a47['message'];_0x467688[_0xb3d2b7(0x1277,_0x4ca75d._0x457315)]&&_0x467688['error'](_0x749711);return;}function _0xb3d2b7(_0x240105,_0x1e0e93){return _0x29c1fe(_0x1e0e93- -0x58d,_0x240105);}if(!_0x200a47[_0x2cb1b7(0x13a2,0xe93)]||_0x200a47[_0x2cb1b7(_0x4ca75d._0x5c49fc,_0x4ca75d._0x372ced)]===_0xb3d2b7(-_0x4ca75d._0x4ab9c1,_0x4ca75d._0x2ed0a8)||_0x200a47['results']['length']===0x0){if(_0x467688['_sendCount']){const _0x4a3f67={};_0x4a3f67['allcount']=0x0,_0x4a3f67[_0x2cb1b7(0x764,_0x4ca75d._0x4e0ec0)]=0x0,_0x4a3f67['list']=[];const _0xfb99c2=_0x4a3f67;return _0x467688['success']&&_0x467688['success'](_0xfb99c2),_0xfb99c2;}else return delete _0x467688['radius'],delete _0x467688['location'],_0x467688['_sendCount']=0x1,this[_0xb3d2b7(-0x75f,0x201)](_0x467688);}const _0x80721c=this[_0xb3d2b7(_0x4ca75d._0x10f467,0x10a1)](_0x200a47[_0xb3d2b7(_0x4ca75d._0x139f50,_0x4ca75d._0x5069f3)]),_0x7e0b95={};_0x7e0b95['allcount']=_0x200a47[_0x2cb1b7(0x1480,0x1aa7)];function _0x2cb1b7(_0x573e45,_0x33f720){return _0xee940c(_0x573e45-0x5da,_0x33f720);}_0x7e0b95[_0x2cb1b7(_0x4ca75d._0x228eba,0x3e8)]=_0x80721c['length'],_0x7e0b95[_0x2cb1b7(0xa5f,_0x4ca75d._0xa39411)]=_0x80721c;const _0x28be77=_0x7e0b95;return _0x467688['success']&&_0x467688[_0x2cb1b7(0x1547,0x1495)](_0x28be77),_0x28be77;})['catch'](_0x14bd32=>{function _0x38504f(_0xd26227,_0x388c44){return _0xee940c(_0xd26227-0x49e,_0x388c44);}function _0x4b9731(_0x66a515,_0x178a2c){return _0x29c1fe(_0x178a2c- -0x3c0,_0x66a515);}logError(_0x38504f(0x899,0x4bc),_0x14bd32),_0x467688[_0x38504f(0x13c8,_0x544a19._0xb32719)]&&_0x467688[_0x38504f(0x13c8,0x1255)]('请求出错',_0x14bd32);});}[_0x2b6441(0xae4,0xc55)](_0x59b3c4){const _0x3ab9b5={_0x25e85c:0x124b,_0x441416:0x14da,_0x3a286c:0x242,_0x32f1c7:0x5bb,_0x1f98d6:0x8bc,_0x2996fc:0x5db,_0xa555c0:0x8f0,_0x31758b:0x1b47,_0x5ea28f:0x134d,_0x37a2be:0x1ca4,_0x2ab29e:0x101f,_0x1eb79d:0x122a,_0x41e9f7:0x5d5,_0x3388ac:0xd70,_0x2b919d:0x12ee,_0x14ca04:0xecc,_0x2709c4:0xaaa},_0x5355d8={_0x234467:0xebe,_0x42de31:0xd56},_0x28dd96={_0x4375fb:0xbe},_0x5254ed={_0x2f9b1e:0x283},_0xa7df2a={_0x1189e7:0x8e6,_0x3ecc9d:0xffa,_0x490f79:0x12b1,_0x435811:0x16c7,_0x3a8f5f:0xdaf,_0x22fb67:0xc3b,_0x43aeaf:0xe98,_0x375214:0x1235,_0x4c1daf:0x1711,_0x187a0c:0xe89,_0x49f794:0x5bf,_0x325bca:0x45d},_0x146a0e={_0x85a14f:0xb9},_0x4d281e={_0x104cff:0x5c0},_0x2959d0={};_0x2959d0['ak']=this[_0x2a2654(_0x3ab9b5._0x25e85c,_0x3ab9b5._0x441416)],_0x2959d0['output']='json',_0x2959d0[_0x5d70dd(0x665,0x51)]=_0x5d70dd(_0x3ab9b5._0x3a286c,-_0x3ab9b5._0x32f1c7),_0x2959d0[_0x2a2654(_0x3ab9b5._0x1f98d6,0x73f)]=0x2,_0x2959d0[_0x2a2654(0x678,0x680)]=_0x59b3c4[_0x2a2654(0x678,0xeaf)]||0xbb8,_0x2959d0['radius_limit']=_0x59b3c4[_0x2a2654(0xcaa,0xb78)],_0x2959d0['page_num']=_0x59b3c4[_0x5d70dd(0x509,_0x3ab9b5._0x2996fc)]||0x0;function _0x2a2654(_0x37d446,_0xf1d64a){return _0x2b6441(_0xf1d64a,_0x37d446-0x553);}_0x2959d0['page_size']=_0x59b3c4['count']||0x14;function _0x5d70dd(_0x39b189,_0x2a8917){return _0x306755(_0x2a8917,_0x39b189- -_0x4d281e._0x104cff);}_0x2959d0['tag']=_0x59b3c4[_0x2a2654(0x1082,0x697)]||'';const _0x10323a=_0x2959d0;if(_0x59b3c4['location']){_0x10323a['coord_type']=0x1;const _0x3cb80f=LngLatPoint['parse'](_0x59b3c4[_0x2a2654(0x156e,0x18bc)]);_0x10323a[_0x2a2654(0x156e,0x100f)]=_0x3cb80f[_0x2a2654(_0x3ab9b5._0xa555c0,0x99)]+','+_0x3cb80f['lng'];}else logError('BaiduPOI:\x20请传入参location数');_0x59b3c4['text']?_0x10323a[_0x2a2654(0x1591,_0x3ab9b5._0x31758b)]=this['_getKeywords'](_0x59b3c4[_0x5d70dd(_0x3ab9b5._0x5ea28f,_0x3ab9b5._0x37a2be)]):_0x10323a[_0x5d70dd(_0x3ab9b5._0x2ab29e,_0x3ab9b5._0x1eb79d)]=_0x5d70dd(-0x53,-_0x3ab9b5._0x41e9f7);const _0x346754={'url':'https://api.map.baidu.com/place/v2/search',...this['options']};return _0x346754[_0x2a2654(_0x3ab9b5._0x3388ac,0x51b)]=_0x10323a,Cesium__namespace['Resource'][_0x2a2654(0x151c,_0x3ab9b5._0x2b919d)](_0x346754)['then'](_0x989c8d=>{if(_0x989c8d[_0x2638d3(_0xa7df2a._0x1189e7,0x48c)]!==0x0){const _0x374deb='POI\x20请求失败('+_0x989c8d['status']+'):'+_0x989c8d['message'];_0x59b3c4[_0x2638d3(_0xa7df2a._0x3ecc9d,_0xa7df2a._0x490f79)]&&_0x59b3c4['error'](_0x374deb);return;}if(!_0x989c8d['results']||_0x989c8d[_0x11da36(_0xa7df2a._0x435811,_0xa7df2a._0x3a8f5f)]===_0x11da36(0x8ca,_0xa7df2a._0x22fb67)||_0x989c8d[_0x2638d3(_0xa7df2a._0x43aeaf,0xce8)][_0x2638d3(_0xa7df2a._0x375214,_0xa7df2a._0x4c1daf)]===0x0){_0x59b3c4[_0x2638d3(_0xa7df2a._0x3ecc9d,0x1729)]&&_0x59b3c4['error'](_0x11da36(0x1738,_0xa7df2a._0x187a0c),_0x989c8d);return;}const _0x10c16b=this[_0x2638d3(0x1160,0x7e8)](_0x989c8d[_0x11da36(0x1157,0x6f9)]);function _0x11da36(_0x4b4e62,_0x59acf4){return _0x2a2654(_0x4b4e62- -_0x146a0e._0x85a14f,_0x59acf4);}function _0x2638d3(_0x1a60c5,_0x432c6b){return _0x5d70dd(_0x1a60c5-0x1fa,_0x432c6b);}let _0x3f756f;_0x59b3c4[_0x2638d3(0x932,0x790)]?_0x3f756f=this['_filterPOIData_circle'](_0x10c16b,_0x59b3c4['location'],_0x10323a[_0x11da36(_0xa7df2a._0x49f794,0xf38)]):_0x3f756f=_0x10c16b;const _0x51698f={};_0x51698f['allcount']=_0x989c8d['total'],_0x51698f[_0x11da36(0x519,_0xa7df2a._0x325bca)]=_0x3f756f['length'],_0x51698f[_0x2638d3(0x555,0xe43)]=_0x3f756f;const _0x4dd54f=_0x51698f;return _0x59b3c4['success']&&_0x59b3c4['success'](_0x4dd54f),_0x4dd54f;})[_0x2a2654(_0x3ab9b5._0x14ca04,_0x3ab9b5._0x2709c4)](_0x214c8f=>{function _0x483f68(_0x558da0,_0x206b7a){return _0x2a2654(_0x558da0- -_0x5254ed._0x2f9b1e,_0x206b7a);}function _0x9eca08(_0x1358d9,_0x3915a6){return _0x5d70dd(_0x1358d9-_0x28dd96._0x4375fb,_0x3915a6);}logError('BaiduPOI\x20请求出错',_0x214c8f),_0x59b3c4[_0x483f68(0x10ef,0x7ab)]&&_0x59b3c4[_0x9eca08(_0x5355d8._0x234467,_0x5355d8._0x42de31)]('请求出错',_0x214c8f);});}['_filterPOIData_circle'](_0x49f57b,_0x510ee9,_0x138b46){const _0x41cb97={_0x10495b:0xfa1,_0x3ab37a:0x599},_0x539de1={_0xdcff95:0x26c};if(!_0x49f57b||!_0x510ee9||!_0x138b46)return _0x49f57b;const _0x59c066=_0x510ee9['toCartesian'](),_0x4890c6=[];function _0x2ead54(_0x5a51a1,_0x1f2a63){return _0x306755(_0x5a51a1,_0x1f2a63- -_0x539de1._0xdcff95);}for(let _0x526407=0x0;_0x526407<_0x49f57b[_0x5b4dd4(_0x41cb97._0x10495b,0xc7c)];_0x526407++){const _0x5eacba=_0x49f57b[_0x526407],_0x3525d3=Cesium__namespace['Cartesian3']['fromDegrees'](_0x5eacba[_0x5b4dd4(0x3a4,_0x41cb97._0x3ab37a)],_0x5eacba['lat'],_0x510ee9['alt']),_0x284b28=Cesium__namespace['Cartesian3']['distance'](_0x3525d3,_0x59c066);_0x284b28<_0x138b46&&_0x4890c6['push'](_0x5eacba);}function _0x5b4dd4(_0x10596f,_0x111279){return _0x306755(_0x111279,_0x10596f- -0x65a);}return _0x4890c6;}['queryPolygon'](_0x544a5a){const _0xc3f89b={_0x2bf70a:0xd62,_0x5507ff:0x78c,_0xaa13c0:0x354,_0x5e17df:0x1705,_0x5b60ee:0xee6,_0x15bd88:0x181a,_0x3d0b8d:0xd3e,_0x308531:0xca9,_0x52d8df:0x13d2,_0x593e5d:0x179b,_0x1ab6b6:0x84a,_0x1804f3:0x204,_0x10d684:0x3ce,_0x20a217:0x670,_0x412395:0xfcb,_0x1243fe:0x16f4,_0x1e0a74:0x4dc,_0x4f36ac:0xa5c,_0x3e4e06:0x670,_0x37b7de:0xc7e,_0x36c13e:0xd0b,_0x3dd067:0x15d6},_0x230e36={_0x40d550:0xcf4,_0x336290:0x1089,_0x586dca:0x10fb,_0x13aef9:0xd1a,_0x37c5dc:0x12a6,_0x1a01b2:0x2e9,_0xb7a6d3:0x1e69},_0x181dc0={_0x5da5e0:0x232},_0x253010={};_0x253010['ak']=this['key'];function _0x1b99cf(_0x22a948,_0x3dd6dd){return _0x2b6441(_0x3dd6dd,_0x22a948-0x6d9);}_0x253010['output']=_0x568db0(_0xc3f89b._0x2bf70a,_0xc3f89b._0x5507ff),_0x253010['ret_coordtype']='gcj02ll',_0x253010[_0x1b99cf(0xa42,0xbe7)]=0x2,_0x253010['radius']=_0x544a5a['radius']||0xbb8,_0x253010[_0x568db0(0xd18,0x9d3)]=_0x544a5a[_0x568db0(0xb0e,0x8b7)],_0x253010['page_num']=_0x544a5a['page']||0x0,_0x253010['page_size']=_0x544a5a[_0x568db0(0x436,_0xc3f89b._0xaa13c0)]||0x14;function _0x568db0(_0x231599,_0x1dda95){return _0x306755(_0x1dda95,_0x231599- -0x1ea);}_0x253010[_0x568db0(_0xc3f89b._0x5e17df,0x10d7)]=_0x544a5a[_0x568db0(_0xc3f89b._0x5b60ee,_0xc3f89b._0x15bd88)]||'';const _0x485c96=_0x253010,_0x129fe8=_0x544a5a[_0x568db0(_0xc3f89b._0x3d0b8d,0xe94)];let _0x79685b=_0x129fe8;if(_0x129fe8['length']===0x2){const _0x3f2118=_0x129fe8[0x0][0x0],_0x1e0d67=_0x129fe8[0x1][0x0],_0x1fca50=_0x129fe8[0x0][0x1],_0x198521=_0x129fe8[0x1][0x1],_0x1d3243=(_0x3f2118+_0x1e0d67)/0x2,_0x61fc23=(_0x1fca50+_0x198521)/0x2;_0x79685b=[[_0x3f2118,_0x198521],[_0x3f2118,_0x1fca50],[_0x1e0d67,_0x1fca50],[_0x1e0d67,_0x198521],[_0x3f2118,_0x198521]],_0x485c96[_0x1b99cf(0xf55,_0xc3f89b._0x308531)]=0x1,_0x485c96[_0x568db0(_0xc3f89b._0x52d8df,0x1e4f)]=_0x61fc23+','+_0x1d3243,_0x485c96['radius']=Math['max'](getDistance([[_0x1d3243,_0x61fc23],_0x129fe8[0x0]]),getDistance([[_0x1d3243,_0x61fc23],_0x129fe8[0x1]]));}else{const _0x4237fe={};_0x4237fe[_0x1b99cf(_0xc3f89b._0x593e5d,0x1c30)]='LineString',_0x4237fe['coordinates']=_0x129fe8;const _0x575059={};_0x575059['type']=_0x568db0(_0xc3f89b._0x1ab6b6,-_0xc3f89b._0x1804f3),_0x575059['properties']={},_0x575059[_0x568db0(_0xc3f89b._0x10d684,0xcde)]=_0x4237fe;const _0x132551=getExtentByGeoJSON(_0x575059),_0x493248=(_0x132551['xmin']+_0x132551[_0x1b99cf(_0xc3f89b._0x20a217,-0x25)])/0x2,_0x5737c3=(_0x132551[_0x1b99cf(_0xc3f89b._0x412395,0xcea)]+_0x132551[_0x1b99cf(0xcb4,0x651)])/0x2;_0x485c96[_0x1b99cf(0xf55,0x167c)]=0x1,_0x485c96[_0x1b99cf(_0xc3f89b._0x1243fe,0xd3d)]=_0x5737c3+','+_0x493248,_0x485c96[_0x568db0(_0xc3f89b._0x1e0a74,_0xc3f89b._0x4f36ac)]=Math['max'](getDistance([[_0x493248,_0x5737c3],[_0x132551['xmin'],_0x132551['ymin']]]),getDistance([[_0x493248,_0x5737c3],[_0x132551[_0x1b99cf(_0xc3f89b._0x3e4e06,_0xc3f89b._0x37b7de)],_0x132551['ymax']]]));}_0x544a5a['text']?_0x485c96['query']=this['_getKeywords'](_0x544a5a['text']):_0x485c96['query']=_0x1b99cf(0x6a5,_0xc3f89b._0x36c13e);const _0xf927ef={'url':'https://api.map.baidu.com/place/v2/search','queryParameters':_0x485c96,...this['options']};return Cesium__namespace[_0x1b99cf(_0xc3f89b._0x3dd067,0x18d4)][_0x568db0(0x1380,0x11b7)](_0xf927ef)['then'](_0x377fc0=>{function _0x1a3e56(_0x447db6,_0x2b9456){return _0x568db0(_0x2b9456-_0x181dc0._0x5da5e0,_0x447db6);}if(_0x377fc0[_0x1a3e56(0x50d,_0x230e36._0x40d550)]!==0x0){const _0x4654fa='POI\x20请求失败('+_0x377fc0[_0x1a3e56(0x60f,0xcf4)]+'):'+_0x377fc0['message'];_0x544a5a[_0x45c75f(_0x230e36._0x336290,_0x230e36._0x586dca)]&&_0x544a5a['error'](_0x4654fa);return;}if(!_0x377fc0[_0x1a3e56(_0x230e36._0x13aef9,_0x230e36._0x37c5dc)]||_0x377fc0['result_type']==='city_type'||_0x377fc0['results']['length']===0x0){_0x544a5a['error']&&_0x544a5a['error']('未查询到相关结果!',_0x377fc0);return;}const _0xbba10=this['_formatPOIData'](_0x377fc0['results']);let _0x5995f1;_0x544a5a['limit']?_0x5995f1=this[_0x45c75f(0x1334,0x1665)](_0xbba10,_0x79685b):_0x5995f1=_0xbba10;function _0x45c75f(_0x35dbae,_0x36752d){return _0x1b99cf(_0x35dbae- -0x46f,_0x36752d);}const _0x5cefca={};_0x5cefca['allcount']=_0x377fc0['total'],_0x5cefca[_0x45c75f(_0x230e36._0x1a01b2,0x315)]=_0x5995f1['length'],_0x5cefca['list']=_0x5995f1;const _0x5ddea9=_0x5cefca;return _0x544a5a[_0x1a3e56(_0x230e36._0xb7a6d3,0x144b)]&&_0x544a5a['success'](_0x5ddea9),_0x5ddea9;})['catch'](_0x1e1d2a=>{logError('BaiduPOI\x20请求出错',_0x1e1d2a),_0x544a5a['error']&&_0x544a5a['error']('请求出错',_0x1e1d2a);});}['_filterPOIData_polygon'](_0x20cd5a,_0x225f8a){const _0x567b60={_0x26904f:0xef};if(!_0x20cd5a||!_0x225f8a)return;const _0x117a13=[];function _0x5b0be1(_0xf3c676,_0x50baab){return _0x306755(_0x50baab,_0xf3c676- -0x6a);}for(let _0x188490=0x0;_0x188490<_0x20cd5a['length'];_0x188490++){const _0x2f7793=_0x20cd5a[_0x188490],_0x132687=[_0x2f7793[_0x5b0be1(0x994,0x962)],_0x2f7793[_0x2de190(0x821,_0x567b60._0x26904f)]];isInPoly(_0x132687,_0x225f8a)&&_0x117a13[_0x2de190(0x57c,-0xbf)](_0x2f7793);}function _0x2de190(_0x5a98bb,_0x15c621){return _0x306755(_0x15c621,_0x5a98bb- -0x11d);}return _0x117a13;}}class GaodePOI{constructor(_0x48ad75={}){const _0x1ed124={_0x4dae10:0x1671,_0x1b6548:0x16f7},_0x21e55b={_0xfa87c0:0xee},_0xc3ea3e={_0x4dc49a:0x314};function _0x4e147a(_0x45143c,_0x3a2d6f){return _0x306755(_0x45143c,_0x3a2d6f- -_0xc3ea3e._0x4dc49a);}this['options']=_0x48ad75,this[_0x4e147a(-0x453,0x311)]=0x0;_0x48ad75[_0x4e147a(0xe67,0xf85)]?this['_keys']=Array['isArray'](_0x48ad75['key'])?_0x48ad75['key']:[_0x48ad75[_0x869fb3(0x8a8,0x11ab)]]:this['_keys']=gaodeArr;function _0x869fb3(_0x410878,_0x231382){return _0x306755(_0x410878,_0x231382- -_0x21e55b._0xfa87c0);}this[_0x869fb3(0xe22,_0x1ed124._0x4dae10)]=this['options']['chinaCRS']!==ChinaCRS[_0x869fb3(0xe62,_0x1ed124._0x1b6548)];}get['keys'](){return this['_keys'];}set['keys'](_0x22a367){this['_keys']=_0x22a367;}get[_0x2b6441(0x10f9,0xcf8)](){const _0x45e0dd={_0x301b7f:0x32e,_0x4c8a28:0xa76};function _0x218f47(_0x2cf955,_0x3bed17){return _0x2b6441(_0x2cf955,_0x3bed17-0x55a);}const _0x1e2819=this['_key_index']++%this[_0x552ad1(0x57a,-_0x45e0dd._0x301b7f)]['length'];function _0x552ad1(_0x2f025f,_0x3b194f){return _0x306755(_0x3b194f,_0x2f025f- -0x502);}return this[_0x218f47(_0x45e0dd._0x4c8a28,0xa35)][_0x1e2819];}[_0x2b6441(0x16d6,0xf85)](_0x3a51cb){const _0x3d49d4={_0x590bf4:0x11ce,_0x14f9e6:0x14a9,_0x104c01:0x11a2,_0x28d169:0x1c1b,_0x3dce4f:0x1514},_0x3d6ffc={_0x38086f:0x152};function _0x1e34cd(_0x110ec2,_0x3f74e3){return _0x306755(_0x3f74e3,_0x110ec2- -_0x3d6ffc._0x38086f);}function _0x55f3a8(_0x32dcea,_0x1b1fec){return _0x306755(_0x32dcea,_0x1b1fec- -0x3ee);}const _0x30bd5a=[];for(let _0x200c21=0x0;_0x200c21<_0x3a51cb['length'];_0x200c21++){const _0xbedf40=_0x3a51cb[_0x200c21];let _0x490665=[];_0xbedf40['location']&&_0xbedf40[_0x55f3a8(0x1263,_0x3d49d4._0x590bf4)][_0x1e34cd(_0x3d49d4._0x14f9e6,_0x3d49d4._0x104c01)]>0x0&&(_0x490665=_0xbedf40[_0x55f3a8(_0x3d49d4._0x28d169,0x11ce)][_0x1e34cd(0x1675,_0x3d49d4._0x3dce4f)](','),this['_isWgs84']&&(_0x490665=gcj2wgs(_0x490665))),_0x30bd5a['push']({'id':_0xbedf40['id'],'name':_0xbedf40['name'],'lng':Number(_0x490665[0x0]),'lat':Number(_0x490665[0x1]),'type':_0xbedf40[_0x55f3a8(0x147b,0x1275)],'xzqh':_0xbedf40['pname']+_0xbedf40['cityname']+_0xbedf40[_0x1e34cd(0x56d,-0x384)],'address':_0xbedf40['address'],'tel':_0xbedf40['tel']||'','info':_0xbedf40});}return _0x30bd5a;}[_0x2b6441(0x5de,0x53b)](_0x3dd39e){if(isString(_0x3dd39e))return _0x3dd39e['replace'](/ /gm,'|')['replace'](/,/gm,'|');else{if(Array['isArray'](_0x3dd39e))return _0x3dd39e['join']('|');}return _0x3dd39e;}['getAddress'](_0x3ed859){const _0x2a2e6b={_0x4c42ec:0x1042,_0x396cf1:0x279,_0x13b12e:0x11ab,_0x455c4f:0x1d69,_0x286b6b:0x114f,_0x2084d5:0x52d,_0x33d3e9:0x60b,_0x4d7c48:0x11e4,_0x14c9fa:0x9ad},_0x1e64d5={_0x4524fd:0x13bd,_0x457b24:0x10a9,_0x5af938:0xd74},_0x2e7b56={_0x85129b:0x39c},_0x247aff={_0x9dd99e:0xfa},_0x281ba0={_0x4d79c6:0x1261,_0x5d7102:0x1880,_0x80427d:0xed9,_0xeb16d4:0x635,_0x4f2182:0x1834},_0x465d7d={_0x3594ba:0x411};if(this['_getAddress_ing'])return Promise['resolve']();const _0x3448fa={};_0x3448fa[_0x2f08ab(0x8fc,_0x2a2e6b._0x4c42ec)]=this['key'],_0x3448fa[_0x4fcfe5(0x48,_0x2a2e6b._0x396cf1)]='json';const _0x2a2c86=_0x3448fa;function _0x2f08ab(_0x5a827d,_0x2d105f){return _0x2b6441(_0x5a827d,_0x2d105f-0x34a);}_0x3ed859[_0x4fcfe5(0x17c0,_0x2a2e6b._0x13b12e)]=LngLatPoint[_0x2f08ab(_0x2a2e6b._0x455c4f,0x1579)](_0x3ed859['location']);let _0x4eeaf8=[_0x3ed859[_0x2f08ab(_0x2a2e6b._0x286b6b,0x1365)]['lng'],_0x3ed859['location'][_0x4fcfe5(0x8a2,_0x2a2e6b._0x2084d5)]];this['_isWgs84']&&(_0x4eeaf8=wgs2gcj(_0x4eeaf8));_0x2a2c86['location']=_0x4eeaf8[0x0]+','+_0x4eeaf8[0x1];function _0x4fcfe5(_0x16146c,_0x480ca2){return _0x306755(_0x16146c,_0x480ca2- -_0x465d7d._0x3594ba);}this['_getAddress_ing']=!![];const _0x528717={'url':_0x4fcfe5(_0x2a2e6b._0x33d3e9,0xc1d),...this['options']};return _0x528717[_0x4fcfe5(_0x2a2e6b._0x4d7c48,_0x2a2e6b._0x14c9fa)]=_0x2a2c86,Cesium__namespace[_0x2f08ab(0xb51,0x1247)]['fetchJson'](_0x528717)['then'](_0xad5326=>{const _0x1ac038={_0x17212d:0x3f3};var _0x3c34b0;this['_getAddress_ing']=![];function _0x37e210(_0xd8fafb,_0x22c38e){return _0x4fcfe5(_0x22c38e,_0xd8fafb- -0x1cd);}if(_0xad5326['infocode']!=='10000'){console['log'](_0x37e210(_0x281ba0._0x4d79c6,0xde0),_0xad5326);return;}const _0x15971c=_0xad5326[_0x37e210(0xe3f,_0x281ba0._0x5d7102)],_0xdbe3e0={};_0xdbe3e0['address']=_0x15971c[_0x2d82af(0xd7d,0xb36)],_0xdbe3e0['city']=(_0x3c34b0=_0x15971c[_0x2d82af(_0x281ba0._0x80427d,_0x281ba0._0xeb16d4)])===null||_0x3c34b0===void 0x0?void 0x0:_0x3c34b0[_0x2d82af(0xe08,_0x281ba0._0x4f2182)];function _0x2d82af(_0x9cc01,_0x243e0c){return _0x2f08ab(_0x243e0c,_0x9cc01- -_0x1ac038._0x17212d);}_0xdbe3e0[_0x37e210(0x28c,0x593)]=_0x15971c['addressComponent'];const _0x43d4ff=_0xdbe3e0;return _0x3ed859[_0x37e210(0xe25,0x118c)]&&_0x3ed859['success'](_0x43d4ff),_0x43d4ff;})['catch'](_0x2adbcd=>{function _0x43bd5f(_0x343d12,_0x3bdd62){return _0x4fcfe5(_0x3bdd62,_0x343d12-_0x247aff._0x9dd99e);}this[_0x1b5d34(0x18e6,_0x1e64d5._0x4524fd)]=![],logError('GaodePOI\x20请求出错',_0x2adbcd);function _0x1b5d34(_0x330c7b,_0x2c06d2){return _0x4fcfe5(_0x2c06d2,_0x330c7b-_0x2e7b56._0x85129b);}_0x3ed859[_0x43bd5f(_0x1e64d5._0x457b24,_0x1e64d5._0x5af938)]&&_0x3ed859['error'](_0x43bd5f(0x12a8,0x167d),_0x2adbcd);});}['autoTip'](_0x340584){const _0x6a63fa={_0x5f04ca:0x1e1,_0x456dc8:0x41c,_0x4796d9:0x1d0e,_0x42b18f:0xb4a,_0x18173e:0x9a8,_0x2d6a83:0xa71,_0x53fb25:0x1384},_0x208965={_0x2f7a90:0x13b7},_0x217fc0={_0x25cb93:0x9ff,_0x210b73:0x585,_0x5bb9e8:0xd87},_0x16cf0f={_0x2b108c:0x346},_0x33f193={_0x4f830a:0x56},_0x213354={};_0x213354['key']=this['key'],_0x213354[_0x40ea3e(_0x6a63fa._0x5f04ca,-_0x6a63fa._0x456dc8)]='json';const _0xa605b3=_0x213354;Cesium__namespace['defined'](_0x340584[_0x10e3a0(0xfdb,0x16f1)])&&(_0xa605b3[_0x10e3a0(0xf0b,0x16f1)]=_0x340584['city'],_0xa605b3['citylimit']=!![]);Cesium__namespace[_0x10e3a0(0x181e,0x175c)](_0x340584['citylimit'])&&(_0xa605b3['citylimit']=_0x340584['citylimit']);function _0x40ea3e(_0xc1b504,_0x12d240){return _0x2b6441(_0x12d240,_0xc1b504-0xf8);}_0x340584[_0x10e3a0(0x1130,0x18b7)]&&(_0xa605b3['keywords']=this['_getKeywords'](_0x340584['text']));function _0x10e3a0(_0x3e915d,_0x54d147){return _0x306755(_0x3e915d,_0x54d147- -_0x33f193._0x4f830a);}if(_0x340584['location']){_0x340584[_0x10e3a0(_0x6a63fa._0x4796d9,0x1566)]=LngLatPoint[_0x10e3a0(0x1dde,0x177a)](_0x340584['location']);let _0x55037c=[_0x340584['location'][_0x10e3a0(_0x6a63fa._0x42b18f,_0x6a63fa._0x18173e)],_0x340584['location']['lat']];this['_isWgs84']&&(_0x55037c=wgs2gcj(_0x55037c)),_0xa605b3['location']=_0x55037c[0x0]+','+_0x55037c[0x1];}const _0x163387={'url':'https://restapi.amap.com/v3/assistant/inputtips','queryParameters':_0xa605b3,...this['options']};return fetchJson(_0x163387)['then'](_0x3b5b23=>{if(!_0x3b5b23[_0xd88fc2(_0x217fc0._0x25cb93,0x723)]){console[_0xd88fc2(_0x217fc0._0x210b73,0x585)]('未查询到相关结果!',_0x3b5b23);return;}const _0x415679=this[_0x5da6e4(0x1a47,0x13c3)](_0x3b5b23['tips']),_0xfaff83={};_0xfaff83[_0x5da6e4(_0x217fc0._0x5bb9e8,0x1801)]=_0x3b5b23[_0xd88fc2(0x741,0xade)],_0xfaff83['count']=_0x415679['length'];function _0xd88fc2(_0x1ccb3d,_0x32c2e5){return _0x10e3a0(_0x32c2e5,_0x1ccb3d-0x177);}function _0x5da6e4(_0x3cde1f,_0x4b5dd7){return _0x40ea3e(_0x4b5dd7-_0x16cf0f._0x2b108c,_0x3cde1f);}_0xfaff83['list']=_0x415679;const _0x351973=_0xfaff83;return _0x340584[_0xd88fc2(0x1524,0xbba)]&&_0x340584['success'](_0x351973),_0x351973;})[_0x40ea3e(_0x6a63fa._0x2d6a83,_0x6a63fa._0x53fb25)](_0x1a16e3=>{function _0x10bd18(_0x3ccbaa,_0x458591){return _0x10e3a0(_0x3ccbaa,_0x458591-0x1ae);}logError(_0x10bd18(_0x208965._0x2f7a90,0x1716),_0x1a16e3),_0x340584['error']&&_0x340584['error']('请求出错',_0x1a16e3);});}['detail'](_0x3e3b8b){const _0x6a0e08={_0x5b6b0f:0x171d},_0x5c58eb={_0x57bfaf:0x513,_0x3847d5:0x6cf,_0x4442d6:0x45e,_0x18c522:0x42,_0x37ee70:0x55,_0x2ede8e:0xa78,_0x4d4520:0x38e},_0x4295e0={_0x455e29:0x1bb},_0x45ef9a={_0x78428e:0x1cf},_0x5e7957={};_0x5e7957[_0x491f47(0xd01,0x121d)]=this['key'];function _0x491f47(_0x512128,_0x3f0a65){return _0x2b6441(_0x3f0a65,_0x512128-0x9);}function _0x1f2578(_0x558dd3,_0x58b928){return _0x2b6441(_0x58b928,_0x558dd3-_0x45ef9a._0x78428e);}_0x5e7957['id']=_0x3e3b8b['id'],_0x5e7957[_0x491f47(0xf2,0x45b)]='json';const _0x246ffc=_0x5e7957,_0x4a8323={'url':'https://restapi.amap.com/v3/place/detail','queryParameters':_0x246ffc,...this[_0x1f2578(0x88b,0x53)]};return fetchJson(_0x4a8323)['then'](_0x3dd698=>{function _0x8133f(_0x140a5a,_0x5bf04d){return _0x1f2578(_0x140a5a- -_0x4295e0._0x455e29,_0x5bf04d);}if(_0x3dd698[_0x8133f(0xa78,_0x5c58eb._0x57bfaf)]!==_0x1118df(_0x5c58eb._0x3847d5,_0x5c58eb._0x4442d6)){const _0x3e0584=_0x8133f(_0x5c58eb._0x18c522,-_0x5c58eb._0x37ee70)+_0x3dd698[_0x8133f(_0x5c58eb._0x2ede8e,0x1428)]+'):'+_0x3dd698['info'];_0x3e3b8b['error']&&_0x3e3b8b['error'](_0x3e0584);return;}function _0x1118df(_0xe23fb3,_0x3fb720){return _0x491f47(_0x3fb720- -0xa3,_0xe23fb3);}if(!_0x3dd698[_0x1118df(-0x99c,-0x66)]||_0x3dd698[_0x1118df(0x9e9,-0x66)][_0x1118df(0x1540,0xfc0)]===0x0){_0x3e3b8b[_0x8133f(0xe33,0xc81)]&&_0x3e3b8b['error']('未查询到相关结果!',_0x3dd698);return;}const _0x451df7=_0x3dd698[_0x1118df(_0x5c58eb._0x4d4520,-0x66)][0x0];return _0x3e3b8b['success']&&_0x3e3b8b[_0x8133f(0xe76,0x14bc)](_0x451df7),_0x451df7;})['catch'](_0x2657a0=>{const _0x1e0597={_0x1840dc:0x531};logError(_0x33fa42(_0x6a0e08._0x5b6b0f,0x1431),_0x2657a0);function _0x33fa42(_0x2db490,_0x5a646d){return _0x1f2578(_0x2db490-_0x1e0597._0x1840dc,_0x5a646d);}_0x3e3b8b['error']&&_0x3e3b8b['error']('请求出错',_0x2657a0);});}['query'](_0x24fe35){const _0xac299b={_0x51baf4:0x1aaf,_0x3dbbcd:0xe83,_0x566317:0xbe4,_0x8cdf60:0x1af7,_0x1cd257:0x16ce,_0x539885:0x1be,_0x4e7984:0x4a4,_0x21a546:0x7d8,_0xf3945:0x12a2,_0x58bb9d:0x1c68},_0x1323e7={_0x4b119c:0x112};function _0x320e41(_0x249be7,_0x294f4f){return _0x306755(_0x294f4f,_0x249be7- -0x382);}const _0x5a7a97=_0x24fe35[_0x320e41(0x1571,_0xac299b._0x51baf4)];function _0x13c87a(_0x3f700a,_0x1fcbd8){return _0x306755(_0x3f700a,_0x1fcbd8-_0x1323e7._0x4b119c);}if(_0x5a7a97){if(_0x5a7a97['type']==='rectangle')return _0x24fe35[_0x13c87a(_0xac299b._0x3dbbcd,0x103a)]=_0x5a7a97['outlineCoordinates'],this['queryPolygon'](_0x24fe35);else{if(_0x5a7a97[_0x320e41(0x12e1,0xcb7)]==='polygon')return _0x24fe35[_0x320e41(0xba6,_0xac299b._0x566317)]=_0x5a7a97['coordinates'],this['queryPolygon'](_0x24fe35);else return _0x5a7a97[_0x13c87a(0x1ef5,0x1775)]==='circle'?(_0x24fe35[_0x13c87a(_0xac299b._0x8cdf60,_0xac299b._0x1cd257)]=_0x5a7a97[_0x13c87a(0x10b2,0x197b)],_0x24fe35[_0x320e41(0x344,-_0xac299b._0x539885)]=_0x5a7a97[_0x13c87a(_0xac299b._0x4e7984,_0xac299b._0x21a546)],this[_0x13c87a(_0xac299b._0xf3945,0x1308)](_0x24fe35)):Promise['resolve']();}}else return _0x24fe35['polygon']?this[_0x13c87a(_0xac299b._0x58bb9d,0x1ae1)](_0x24fe35):this['queryText'](_0x24fe35);}['queryText'](_0x186a5c){const _0x1dfe20={_0xb95959:0xcf0,_0x4290b:0xf00,_0xeb20fb:0xd6e,_0x318581:0x1209,_0x1f2891:0xf3a,_0x34f64e:0x7ba,_0x5706d8:0x11de,_0x441833:0xd5a,_0x39a422:0x971},_0x415979={_0x5ecfb4:0x11b9},_0x4ad930={_0x45705b:0x2db},_0x49fc45={_0x384b9c:0x9e8,_0x192473:0xd7a,_0x2b3929:0x1411,_0x40d449:0x34a,_0x5820c9:0x1e23,_0x3f277f:0x1297,_0xa50913:0x5d5},_0x2f49f9={_0x35f8c5:0x4e2},_0x372001={_0x5db5b7:0x8},_0x3943cb={};_0x3943cb[_0x4c5e0e(_0x1dfe20._0xb95959,_0x1dfe20._0x4290b)]=this['key'],_0x3943cb['output']='json';function _0x4c5e0e(_0x418150,_0x351714){return _0x2b6441(_0x351714,_0x418150- -_0x372001._0x5db5b7);}_0x3943cb[_0x214422(0xe5b,0x5e7)]=(_0x186a5c['page']||0x0)+0x1,_0x3943cb[_0x4c5e0e(0xe54,_0x1dfe20._0xeb20fb)]=_0x186a5c[_0x4c5e0e(0x77,0x965)]||0x14,_0x3943cb['types']=_0x186a5c[_0x4c5e0e(0xb27,0x82)]||'';const _0x2cf134=_0x3943cb;Cesium__namespace['defined'](_0x186a5c['city'])&&(_0x2cf134['city']=_0x186a5c[_0x4c5e0e(0x119e,0x718)],_0x2cf134['citylimit']=!![]);function _0x214422(_0xa8979,_0x527493){return _0x306755(_0xa8979,_0x527493- -_0x2f49f9._0x35f8c5);}Cesium__namespace[_0x4c5e0e(_0x1dfe20._0x318581,0x12be)](_0x186a5c['citylimit'])&&(_0x2cf134['citylimit']=_0x186a5c['citylimit']);_0x186a5c['text']?_0x2cf134[_0x4c5e0e(0x746,-0x1be)]=this['_getKeywords'](_0x186a5c['text']):!_0x2cf134[_0x4c5e0e(0xb27,_0x1dfe20._0x1f2891)]&&(_0x2cf134['types']=_0x4c5e0e(_0x1dfe20._0x34f64e,_0x1dfe20._0x5706d8));const _0x1bffe2={'url':_0x214422(0x8a5,0x649),'queryParameters':_0x2cf134,...this['options']};return fetchJson(_0x1bffe2)[_0x4c5e0e(_0x1dfe20._0x441833,0xec6)](_0x18e5f1=>{const _0x24a193={_0x5c2ccb:0x31e};function _0x411d5e(_0x1ee2a5,_0x1c1e92){return _0x4c5e0e(_0x1ee2a5-_0x24a193._0x5c2ccb,_0x1c1e92);}if(_0x18e5f1['infocode']!==_0x51c553(0x5af,-0x282)){const _0x45fb2d=_0x51c553(0xe5,_0x49fc45._0x384b9c)+_0x18e5f1[_0x411d5e(_0x49fc45._0x192473,_0x49fc45._0x2b3929)]+'):'+_0x18e5f1[_0x411d5e(0x39e,0x36d)];_0x186a5c['error']&&_0x186a5c[_0x51c553(0xed6,0x8b9)](_0x45fb2d);return;}if(!_0x18e5f1[_0x411d5e(_0x49fc45._0x40d449,0x406)]){_0x186a5c['error']&&_0x186a5c[_0x51c553(0xed6,0x12dc)](_0x411d5e(0x15b4,_0x49fc45._0x5820c9),_0x18e5f1);return;}const _0xf7026b=this[_0x411d5e(0x129b,_0x49fc45._0x3f277f)](_0x18e5f1[_0x411d5e(_0x49fc45._0x40d449,0xd3e)]);function _0x51c553(_0x127574,_0x122b0a){return _0x214422(_0x122b0a,_0x127574- -0x8);}const _0x9e25f7={};_0x9e25f7['allcount']=_0x18e5f1['count'],_0x9e25f7[_0x411d5e(0x395,-_0x49fc45._0xa50913)]=_0xf7026b['length'],_0x9e25f7['list']=_0xf7026b;const _0x19b1d8=_0x9e25f7;return _0x186a5c[_0x411d5e(0x1178,0x147e)]&&_0x186a5c['success'](_0x19b1d8),_0x19b1d8;})[_0x4c5e0e(_0x1dfe20._0x39a422,0x140a)](_0x30a418=>{function _0x521a2a(_0x11afa7,_0x4acf43){return _0x214422(_0x4acf43,_0x11afa7-_0x4ad930._0x45705b);}function _0x242ddb(_0x5a101b,_0x849719){return _0x4c5e0e(_0x849719-0x5c8,_0x5a101b);}logError(_0x242ddb(0x1f07,0x15dd),_0x30a418),_0x186a5c[_0x521a2a(0x11b9,0xd3f)]&&_0x186a5c[_0x521a2a(_0x415979._0x5ecfb4,0x75c)]('请求出错',_0x30a418);});}['queryCircle'](_0x1cc674){const _0x116f7c={_0x2873f9:0xe2c,_0x45ef2b:0xe18,_0x444f25:0x1323,_0x1b273e:0x929,_0x1cb1ca:0x1762,_0x338c2c:0x16b1,_0x1422ad:0xe74},_0x56a192={_0x43b33f:0xde4,_0x33b878:0x1a2,_0x1b2521:0x642,_0x19abaa:0x9b,_0x196780:0x47,_0x572541:0xb50,_0x6772c3:0xf69,_0xa4b23c:0x8a1,_0x466fd5:0x1165,_0x438e05:0x138,_0x5bdf3f:0x34b,_0x25be8f:0x1c9},_0x584d32={_0x4c947f:0x332},_0x879b0b={_0x2e2a33:0x1a0},_0x2ea97f={_0x407d70:0x345},_0x59e8d5={};_0x59e8d5['output']='json',_0x59e8d5['key']=this['key'],_0x59e8d5[_0x3016a2(0x46a,_0x116f7c._0x2873f9)]=_0x1cc674['radius']||0xbb8,_0x59e8d5[_0x3016a2(0x86d,_0x116f7c._0x45ef2b)]=(_0x1cc674[_0x35a058(_0x116f7c._0x444f25,_0x116f7c._0x1b273e)]||0x0)+0x1,_0x59e8d5['offset']=_0x1cc674['count']||0x14,_0x59e8d5['types']=_0x1cc674[_0x3016a2(0xe74,_0x116f7c._0x1cb1ca)]||'';const _0x16b3a5=_0x59e8d5;function _0x3016a2(_0x24029b,_0x4e9ff9){return _0x2b6441(_0x4e9ff9,_0x24029b-_0x2ea97f._0x407d70);}if(_0x1cc674['location']){_0x1cc674['location']=LngLatPoint['parse'](_0x1cc674['location']);let _0x6b6d60=[_0x1cc674['location']['lng'],_0x1cc674['location'][_0x35a058(0x7,0x79e)]];this[_0x35a058(0x1b5c,0x15bf)]&&(_0x6b6d60=wgs2gcj(_0x6b6d60)),_0x16b3a5[_0x3016a2(0x1360,0x160f)]=_0x6b6d60[0x0]+','+_0x6b6d60[0x1];}else logError('GaodePOI:\x20请传入参location数');_0x1cc674[_0x3016a2(_0x116f7c._0x338c2c,0x1cb6)]?_0x16b3a5['keywords']=this['_getKeywords'](_0x1cc674['text']):!_0x16b3a5[_0x3016a2(_0x116f7c._0x1422ad,0xd1d)]&&(_0x16b3a5['types']='120000|130000|190000');function _0x35a058(_0x586a7d,_0x30a9e1){return _0x306755(_0x586a7d,_0x30a9e1- -_0x879b0b._0x2e2a33);}const _0x153e5c={'url':'https://restapi.amap.com/v3/place/around','queryParameters':_0x16b3a5,...this['options']};return fetchJson(_0x153e5c)['then'](_0x233956=>{if(_0x233956[_0x5d7135(_0x56a192._0x43b33f,0xbae)]!==_0x5d7135(-_0x56a192._0x33b878,_0x56a192._0x1b2521)){if(_0x1cc674['error']){const _0x577c00='POI\x20请求失败('+_0x233956['infocode']+'):'+_0x233956[_0x3f697d(0x8db,_0x56a192._0x19abaa)];_0x1cc674['error'](_0x577c00);}return;}if(!_0x233956[_0x3f697d(0x4ef,_0x56a192._0x196780)]){_0x1cc674[_0x5d7135(_0x56a192._0x572541,_0x56a192._0x6772c3)]&&_0x1cc674['error']('未查询到相关结果!',_0x233956);return;}const _0x460e22=this['_formatPOIData'](_0x233956['pois']);let _0x1385e1;_0x1cc674[_0x5d7135(0x667,_0x56a192._0xa4b23c)]?_0x1385e1=this['_filterPOIData_circle'](_0x460e22,_0x1cc674[_0x5d7135(0x1a59,_0x56a192._0x466fd5)],_0x16b3a5[_0x3f697d(0x2f1,_0x56a192._0x438e05)]):_0x1385e1=_0x460e22;const _0x163195={};_0x163195['allcount']=_0x233956[_0x5d7135(_0x56a192._0x5bdf3f,_0x56a192._0x25be8f)],_0x163195['count']=_0x1385e1['length'],_0x163195[_0x3f697d(0x685,0x38d)]=_0x1385e1;const _0x553352=_0x163195;_0x1cc674['success']&&_0x1cc674[_0x3f697d(0xaeb,0xe75)](_0x553352);function _0x5d7135(_0x117a06,_0x1d7a7a){return _0x3016a2(_0x1d7a7a- -0x1fb,_0x117a06);}function _0x3f697d(_0x5ceb8e,_0x3fd2e8){return _0x3016a2(_0x3fd2e8- -_0x584d32._0x4c947f,_0x5ceb8e);}return _0x553352;})['catch'](_0x54d8a1=>{logError('GaodePOI\x20请求出错',_0x54d8a1),_0x1cc674['error']&&_0x1cc674['error']('请求出错',_0x54d8a1);});}['_filterPOIData_circle'](_0x28a42c,_0x2eb2bb,_0x37e8b2){const _0x36f2ac={_0x30fdf5:0xbc0},_0x2d724c={_0x1d14f5:0x5ba},_0x12175d={_0x53e0d2:0x30c};function _0x3b4d8f(_0x159125,_0x281df4){return _0x306755(_0x159125,_0x281df4- -_0x12175d._0x53e0d2);}if(!_0x28a42c||!_0x2eb2bb||!_0x37e8b2)return _0x28a42c;function _0x16b6df(_0x21a069,_0x1bdcf3){return _0x2b6441(_0x21a069,_0x1bdcf3-_0x2d724c._0x1d14f5);}const _0x202fda=_0x2eb2bb[_0x16b6df(0xe1b,0xa03)](),_0x2bedb3=[];for(let _0x192557=0x0;_0x192557<_0x28a42c[_0x3b4d8f(0x1a28,0x12ef)];_0x192557++){const _0x33ceea=_0x28a42c[_0x192557],_0x4a2caf=Cesium__namespace['Cartesian3']['fromDegrees'](_0x33ceea[_0x16b6df(_0x36f2ac._0x30fdf5,0xa17)],_0x33ceea['lat'],_0x2eb2bb['alt']),_0x996fcc=Cesium__namespace['Cartesian3']['distance'](_0x4a2caf,_0x202fda);_0x996fcc<_0x37e8b2&&_0x2bedb3['push'](_0x33ceea);}return _0x2bedb3;}['queryPolygon'](_0x1aa3e9){const _0x3e2e8c={_0x1c02c2:0x45c,_0x43cad9:0xc62,_0x112f17:0x1749,_0x2521dd:0x1083,_0x4c398a:0xa80},_0x240282={_0x3c950e:0x133c,_0x11c7d3:0xda8,_0x29935c:0xfa7,_0x1decc1:0x15dc},_0x1d7f8f={_0x5b58a5:0xf75,_0x46a4c5:0x1006,_0x2111d3:0xaa7,_0xae4d43:0xd84,_0x4565b6:0xe62,_0x14c29d:0xfc8,_0x307c8f:0x77,_0xfbc79c:0x14bb},_0x3383f2={_0x1f9754:0x5c0},_0x5615c6={_0x1ca7ee:0x650},_0x3325cd={};_0x3325cd['key']=this[_0x1562db(0x10d5,0x1456)],_0x3325cd['output']='json',_0x3325cd['page']=(_0x1aa3e9[_0x418c1a(-0xd8,0x479)]||0x0)+0x1;function _0x1562db(_0x32fff,_0x242d59){return _0x2b6441(_0x242d59,_0x32fff-0x3dd);}_0x3325cd['offset']=_0x1aa3e9[_0x1562db(_0x3e2e8c._0x1c02c2,-0x5a5)]||0x14,_0x3325cd[_0x1562db(0xf0c,0x12af)]=_0x1aa3e9['types']||'';const _0x42aa6e=_0x3325cd;function _0x418c1a(_0x51f02f,_0x144fdd){return _0x306755(_0x51f02f,_0x144fdd- -_0x5615c6._0x1ca7ee);}const _0x49af14=_0x1aa3e9['polygon'];let _0x146896=[];if(_0x49af14['length']===0x2){let _0x2e9d93=_0x49af14[0x0],_0x389827=_0x49af14[0x1];this['_isWgs84']&&(_0x2e9d93=wgs2gcj(_0x2e9d93),_0x389827=wgs2gcj(_0x389827)),_0x42aa6e['polygon']=_0x2e9d93[0x0]+','+_0x2e9d93[0x1]+'|'+_0x389827[0x0]+','+_0x389827[0x1],_0x146896=[_0x49af14[0x0],[_0x49af14[0x0][0x0],_0x49af14[0x1][0x1]],_0x49af14[0x1],[_0x49af14[0x1][0x0],_0x49af14[0x0][0x1]]];}else{_0x146896=_0x49af14;let _0x36b2fc='';const _0x2526c0=_0x49af14[_0x1562db(_0x3e2e8c._0x43cad9,0x12fd)]([_0x49af14[0x0]]);for(let _0xdd2fc0=0x0;_0xdd2fc0<_0x2526c0['length'];_0xdd2fc0++){let _0x42ff8c=_0x2526c0[_0xdd2fc0];this['_isWgs84']&&(_0x42ff8c=wgs2gcj(_0x42ff8c)),_0xdd2fc0===_0x2526c0['length']-0x1?_0x36b2fc+=_0x42ff8c[0x0]+','+_0x42ff8c[0x1]:_0x36b2fc+=_0x42ff8c[0x0]+','+_0x42ff8c[0x1]+'|';}_0x42aa6e['polygon']=_0x36b2fc;}_0x1aa3e9[_0x1562db(_0x3e2e8c._0x112f17,_0x3e2e8c._0x2521dd)]?_0x42aa6e['keywords']=this['_getKeywords'](_0x1aa3e9['text']):!_0x42aa6e[_0x418c1a(0xdae,_0x3e2e8c._0x4c398a)]&&(_0x42aa6e['types']=_0x1562db(0xb9f,0x6ce));const _0x6ff3fc={'url':'https://restapi.amap.com/v3/place/polygon','queryParameters':_0x42aa6e,...this[_0x418c1a(0xe59,0x60d)]};return fetchJson(_0x6ff3fc)['then'](_0x342c35=>{if(_0x342c35[_0x2ea8ca(0x18c4,_0x1d7f8f._0x5b58a5)]!=='10000'){if(_0x1aa3e9['error']){const _0x215ce6='POI\x20请求失败('+_0x342c35[_0x4e11fb(_0x1d7f8f._0x46a4c5,_0x1d7f8f._0x2111d3)]+'):'+_0x342c35['info'];_0x1aa3e9[_0x4e11fb(_0x1d7f8f._0xae4d43,_0x1d7f8f._0x4565b6)](_0x215ce6);}return;}function _0x4e11fb(_0x125030,_0x4a3d23){return _0x418c1a(_0x125030,_0x4a3d23-0xf2);}if(!_0x342c35['pois']){_0x1aa3e9['error']&&_0x1aa3e9['error']('未查询到相关结果!',_0x342c35);return;}const _0xfa80b5=this[_0x4e11fb(0x134b,_0x1d7f8f._0x14c29d)](_0x342c35[_0x4e11fb(-0x3e0,_0x1d7f8f._0x307c8f)]);let _0x1fbcef;_0x1aa3e9['limit']?_0x1fbcef=this['_filterPOIData_polygon'](_0xfa80b5,_0x146896):_0x1fbcef=_0xfa80b5;function _0x2ea8ca(_0x3ad57b,_0x41f610){return _0x418c1a(_0x3ad57b,_0x41f610-_0x3383f2._0x1f9754);}const _0x24cf20={};_0x24cf20['allcount']=_0x342c35['count'],_0x24cf20[_0x2ea8ca(-0xd9,0x590)]=_0x1fbcef['length'],_0x24cf20['list']=_0x1fbcef;const _0x181963=_0x24cf20;return _0x1aa3e9['success']&&_0x1aa3e9[_0x4e11fb(_0x1d7f8f._0xfbc79c,0xea5)](_0x181963),_0x181963;})[_0x1562db(0xd56,0xaa5)](_0x4df26b=>{logError(_0x5d9870(0xfa6,_0x240282._0x3c950e),_0x4df26b);function _0x397d64(_0x4f3d86,_0x5ebb16){return _0x418c1a(_0x4f3d86,_0x5ebb16-0x79e);}function _0x5d9870(_0x11dc83,_0x4ddad7){return _0x1562db(_0x11dc83- -0x454,_0x4ddad7);}_0x1aa3e9['error']&&_0x1aa3e9[_0x5d9870(_0x240282._0x11c7d3,0xbf4)](_0x5d9870(_0x240282._0x29935c,_0x240282._0x1decc1),_0x4df26b);});}[_0x2b6441(0xda1,0x10ca)](_0x3e9523,_0x209b30){const _0x60b49={_0x31e33f:0x157,_0x499ec4:0x390},_0x5e19b8={_0x5cff63:0x1c8};if(!_0x3e9523||!_0x209b30)return;function _0x368bb0(_0x4490f9,_0x913ff7){return _0x306755(_0x913ff7,_0x4490f9- -_0x5e19b8._0x5cff63);}const _0x455c8d=[];for(let _0xc75cc6=0x0;_0xc75cc6<_0x3e9523['length'];_0xc75cc6++){const _0x48c918=_0x3e9523[_0xc75cc6],_0x48e6cc=[_0x48c918[_0x368bb0(0x836,_0x60b49._0x31e33f)],_0x48c918[_0x261bf2(0x56b,_0x60b49._0x499ec4)]];isInPoly(_0x48e6cc,_0x209b30)&&_0x455c8d[_0x261bf2(0x2c6,0xaec)](_0x48c918);}function _0x261bf2(_0x14c439,_0x5d8444){return _0x2b6441(_0x5d8444,_0x14c439-0x1ce);}return _0x455c8d;}}class TdtPOI{constructor(_0x23cd03={}){const _0xd9c739={_0x4ebb57:0xabd,_0x5943e3:0xf13,_0x1bb33a:0x126c,_0x1e238a:0xc0c,_0x2a9973:0x10f9,_0x1904ab:0x1a17,_0x2bc810:0x201},_0x335a29={_0x391167:0x401};function _0x42f3ff(_0x3ea4ee,_0x3e1216){return _0x2b6441(_0x3e1216,_0x3ea4ee-_0x335a29._0x391167);}this[_0x42f3ff(_0xd9c739._0x4ebb57,0xe34)]=_0x23cd03,this['_key_index']=0x0;function _0x4c9210(_0xc5f61a,_0x5f384c){return _0x306755(_0x5f384c,_0xc5f61a-0x2f);}_0x23cd03[_0x42f3ff(0x10f9,_0xd9c739._0x5943e3)]?this['_keys']=Array[_0x4c9210(0x863,_0xd9c739._0x1bb33a)](_0x23cd03[_0x4c9210(0x12c8,_0xd9c739._0x1e238a)])?_0x23cd03[_0x42f3ff(_0xd9c739._0x2a9973,_0xd9c739._0x1904ab)]:[_0x23cd03['key']]:this[_0x4c9210(0xaab,_0xd9c739._0x2bc810)]=tiandituArr;}get['keys'](){function _0x494a7a(_0x1d076b,_0x523e63){return _0x2b6441(_0x523e63,_0x1d076b-0x424);}return this[_0x494a7a(0x8ff,0x282)];}set[_0x2b6441(0xd68,0xb46)](_0x12a85a){this['_keys']=_0x12a85a;}get[_0x306755(0x1692,0x1299)](){const _0x3ade4c={_0x8b5aa2:0x16a7},_0x1ee2ac={_0x5d5cc4:0x4ad};function _0x54b47d(_0x19e81e,_0x159efa){return _0x2b6441(_0x159efa,_0x19e81e-0x64d);}function _0x258e51(_0x3f3304,_0x475a8c){return _0x2b6441(_0x475a8c,_0x3f3304-_0x1ee2ac._0x5d5cc4);}const _0x52f40d=this[_0x54b47d(0x6d1,0x704)]++%this['_keys'][_0x54b47d(_0x3ade4c._0x8b5aa2,0x170c)];return this['_keys'][_0x52f40d];}['_formatPOIData'](_0x451a27){const _0x445db2={_0x12e7ff:0x11b1,_0x53d1ad:0xaae,_0xded7b9:0x537,_0xe390cc:0x1437,_0x10278c:0x11f9,_0x3795f9:0x414},_0x2e2051={_0x15eba0:0x651};function _0x52b772(_0x43f13f,_0x3e21af){return _0x2b6441(_0x43f13f,_0x3e21af-_0x2e2051._0x15eba0);}function _0x5332b3(_0x1e66ce,_0xdb56c5){return _0x306755(_0x1e66ce,_0xdb56c5- -0x3fc);}const _0x4e6327=[];for(let _0x5d3047=0x0;_0x5d3047<_0x451a27[_0x52b772(0x1e9a,0x16ab)];_0x5d3047++){const _0x2dc5da=_0x451a27[_0x5d3047];let _0x3a9b6e=[];_0x2dc5da[_0x52b772(0x1001,0xf5a)]&&_0x2dc5da['lonlat']['length']>0x0&&(_0x3a9b6e=_0x2dc5da[_0x5332b3(_0x445db2._0x12e7ff,_0x445db2._0x53d1ad)]['split'](',')),_0x4e6327[_0x5332b3(_0x445db2._0xded7b9,0x29d)]({'id':_0x2dc5da[_0x52b772(_0x445db2._0xe390cc,_0x445db2._0x10278c)],'name':_0x2dc5da['name'],'lng':Number(_0x3a9b6e[0x0]),'lat':Number(_0x3a9b6e[0x1]),'type':_0x2dc5da['typeName'],'xzqh':_0x2dc5da[_0x5332b3(_0x445db2._0x3795f9,0x673)]+_0x2dc5da['city']+_0x2dc5da['county'],'address':_0x2dc5da['address'],'tel':_0x2dc5da['phone']||'','info':_0x2dc5da});}return _0x4e6327;}[_0x306755(0x68,0xadc)](_0x4a554a){if(isString(_0x4a554a))return _0x4a554a[_0x447af9(0x1174,0x10b2)](/ /gm,'|')['replace'](/,/gm,'|');else{if(Array['isArray'](_0x4a554a))return _0x4a554a['join']('|');}function _0x447af9(_0x245eee,_0x23cba4){return _0x306755(_0x23cba4,_0x245eee-0xbf);}return _0x4a554a;}['getAddress'](_0x1cc175){const _0x3d0a81={_0x5811b8:0x1447},_0x36dd41={_0x2a1567:0xdaf,_0x466ce1:0x329,_0x48c65b:0xfc8,_0x48c03b:0x19cd,_0x5965e1:0x11c7},_0x2c58a4={_0x3dbd4e:0x802,_0x17d366:0x10be,_0x2a60b7:0x5d1,_0x18c0cb:0x7eb},_0x38d00c={_0x17e8e:0x268};if(this[_0x1e22de(0x15d2,0x189f)])return Promise['resolve']();function _0x5522ae(_0x383276,_0x4e4ebd){return _0x306755(_0x4e4ebd,_0x383276- -0x1fd);}const _0x1f8338={};_0x1f8338['ver']=0x1;const _0x26e2ca=_0x1f8338;_0x1cc175[_0x5522ae(0x13bf,0x1b01)]=LngLatPoint[_0x1e22de(_0x3d0a81._0x5811b8,0xaa7)](_0x1cc175['location']);function _0x1e22de(_0x4200d9,_0x2e5904){return _0x306755(_0x2e5904,_0x4200d9- -0x389);}return _0x26e2ca['lon']=_0x1cc175['location']['lng'],_0x26e2ca['lat']=_0x1cc175['location'][_0x5522ae(0x741,-0x157)],this['_getAddress_ing']=!![],sendAjax({'url':'http://api.tianditu.gov.cn/geocoder',...this['options'],'queryParameters':{'type':'geocode','tk':this['key'],'postStr':JSON['stringify'](_0x26e2ca)}})['then'](_0x4dff31=>{var _0x411968;this['_getAddress_ing']=![];const _0x310118=_0x4dff31===null||_0x4dff31===void 0x0?void 0x0:_0x4dff31[_0x35511d(_0x2c58a4._0x3dbd4e,-0xac)];if(!_0x310118){console['log']('未查询到相关结果!',_0x4dff31);return;}function _0x14b7f2(_0x4f4c53,_0x5cecee){return _0x1e22de(_0x5cecee-0x4fc,_0x4f4c53);}function _0x35511d(_0x492156,_0x1491a0){return _0x5522ae(_0x492156- -_0x38d00c._0x17e8e,_0x1491a0);}const _0x476b5d={'address':_0x310118['formatted_address'],'city':(((_0x411968=_0x310118[_0x35511d(_0x2c58a4._0x17d366,0x19d1)])===null||_0x411968===void 0x0?void 0x0:_0x411968['county_code'])||'')['replace'](_0x35511d(_0x2c58a4._0x2a60b7,0xb47),''),'component':_0x310118['addressComponent']};return _0x1cc175[_0x35511d(0xf9e,_0x2c58a4._0x18c0cb)]&&_0x1cc175[_0x14b7f2(0x11bd,0x1576)](_0x476b5d),_0x476b5d;})['catch'](_0x17e76a=>{const _0x4bed66={_0x5c840e:0x2d3};this['_getAddress_ing']=![];function _0x58f8c5(_0x3d1b68,_0x2555bd){return _0x1e22de(_0x2555bd- -0x6f,_0x3d1b68);}logError(_0x215c66(_0x36dd41._0x2a1567,_0x36dd41._0x466ce1),_0x17e76a);function _0x215c66(_0x1a2e50,_0x411699){return _0x1e22de(_0x1a2e50-_0x4bed66._0x5c840e,_0x411699);}_0x1cc175['error']&&_0x1cc175[_0x58f8c5(0x1040,_0x36dd41._0x48c65b)](_0x58f8c5(_0x36dd41._0x48c03b,_0x36dd41._0x5965e1),_0x17e76a);});}['autoTip'](_0x5f1a45){const _0x21f1f7={_0xc440fb:0x6db,_0x417200:0x1100,_0x532357:0x1610,_0x2096e4:0x1192,_0x5e35e8:0x13a5,_0x3486f9:0x2fe,_0x3b8d49:0xf57},_0x1cc87e={_0x404640:0xff5},_0x82d847={_0x5d02c6:0xf0},_0x1c7a18={_0x2e0b54:0x16b9,_0xe4715b:0x180e,_0x1a6809:0x123a,_0x31e9f7:0xdcf,_0x14915d:0x296,_0x1a3749:0x1ea7},_0x5f35e1={_0x535d72:0x493},_0x4453f7={_0xbca73:0x194},_0x1d4a87={};_0x1d4a87[_0x15f653(_0x21f1f7._0xc440fb,0xa37)]=0x7,_0x1d4a87[_0x2e0623(0x13d9,_0x21f1f7._0x417200)]=0x1,_0x1d4a87['level']=_0x5f1a45['level']||0x12,_0x1d4a87['mapBound']=_0x5f1a45['mapBound']||_0x2e0623(0xc64,0xcc1),_0x1d4a87[_0x2e0623(0xbcc,0x6c5)]=0x0,_0x1d4a87[_0x15f653(_0x21f1f7._0x532357,0xff0)]=0xa;const _0x4c05da=_0x1d4a87;Cesium__namespace[_0x15f653(_0x21f1f7._0x2096e4,_0x21f1f7._0x5e35e8)](_0x5f1a45['city'])&&(_0x4c05da['specify']=_0x15f653(_0x21f1f7._0x3486f9,0x629)+_0x5f1a45['city']);Cesium__namespace[_0x2e0623(0x97f,0x131f)](_0x5f1a45[_0x2e0623(0x8ca,0xc3d)])&&(_0x4c05da['dataTypes']=_0x5f1a45[_0x2e0623(0x119f,0xc3d)]);function _0x15f653(_0x11c46c,_0x69e028){return _0x2b6441(_0x11c46c,_0x69e028-_0x4453f7._0xbca73);}_0x5f1a45['text']&&(_0x4c05da[_0x15f653(0x74a,0x571)]=this['_getKeywords'](_0x5f1a45['text']));function _0x2e0623(_0xd4d7bf,_0x33f0c7){return _0x306755(_0xd4d7bf,_0x33f0c7- -_0x5f35e1._0x535d72);}return fetchJson({'url':'http://api.tianditu.gov.cn/v2/search','queryParameters':{'type':'query','tk':this['key'],'postStr':JSON[_0x15f653(0x16b8,_0x21f1f7._0x3b8d49)](_0x4c05da)},...this['options']})[_0x15f653(0x157a,0xef6)](_0x2aba7e=>{var _0x4aa810;if(((_0x4aa810=_0x2aba7e['status'])===null||_0x4aa810===void 0x0?void 0x0:_0x4aa810[_0x2e876a(0x1909,0xe7f)])!==0x3e8){console['log'](_0x2e876a(0x1b57,_0x1c7a18._0x2e0b54),_0x2aba7e);_0x5f1a45[_0x2e876a(0x168f,0x123a)]&&_0x5f1a45[_0x2e876a(_0x1c7a18._0xe4715b,_0x1c7a18._0x1a6809)](_0x2aba7e['status'][_0x2b89a7(0xaeb,0x7d0)],_0x2aba7e);return;}if(!_0x2aba7e['pois']){_0x5f1a45['error']&&_0x5f1a45[_0x2b89a7(_0x1c7a18._0x31e9f7,0x9b3)]('未查询到相关结果!',_0x2aba7e);return;}const _0x1e70a7=this[_0x2e876a(0x185d,0x13a0)](_0x2aba7e['pois']);function _0x2b89a7(_0x3b5b94,_0x16cc67){return _0x2e0623(_0x16cc67,_0x3b5b94- -0x15e);}const _0x3a9ccd={};_0x3a9ccd['allcount']=_0x2aba7e[_0x2e876a(-_0x1c7a18._0x14915d,0x49a)],_0x3a9ccd['count']=_0x1e70a7[_0x2e876a(_0x1c7a18._0x1a3749,0x1475)],_0x3a9ccd['list']=_0x1e70a7;function _0x2e876a(_0x3f09e8,_0x2b2c61){return _0x15f653(_0x3f09e8,_0x2b2c61-0x287);}const _0x324102=_0x3a9ccd;return _0x5f1a45['success']&&_0x5f1a45[_0x2e876a(0x1980,0x127d)](_0x324102),_0x324102;})['catch'](_0xd41fb6=>{function _0x190169(_0x4557b0,_0x47626e){return _0x2e0623(_0x47626e,_0x4557b0- -_0x82d847._0x5d02c6);}function _0x8a52ca(_0x5d43cb,_0x11147a){return _0x15f653(_0x5d43cb,_0x11147a-0x42);}logError(_0x190169(0x8e2,0x5d0),_0xd41fb6),_0x5f1a45['error']&&_0x5f1a45[_0x8a52ca(0x11b7,_0x1cc87e._0x404640)]('请求出错',_0xd41fb6);});}[_0x306755(0x1064,0x15df)](_0x617fbf){const _0x310aa4={_0x2e39dc:0x14cd,_0x14ad94:0xe87,_0x12f5f3:0x14bd,_0x55c72c:0x1ca9,_0x34c68a:0x879,_0x5e5b9c:0x1262,_0x2dca66:0x1464,_0x11b9ae:0xb2b,_0x2063fc:0x772,_0x368ad6:0x1bb,_0x503b69:0x260};function _0x3cd192(_0x5d2689,_0x37b950){return _0x2b6441(_0x37b950,_0x5d2689-0x17b);}function _0xf5a49d(_0xc3152d,_0x455e36){return _0x2b6441(_0xc3152d,_0x455e36-0x96);}const _0x1dabe7=_0x617fbf[_0x3cd192(_0x310aa4._0x2e39dc,_0x310aa4._0x14ad94)];if(_0x1dabe7){if(_0x1dabe7['type']==='rectangle'){const _0xdea383={};return _0xdea383[_0x3cd192(0xe5e,0x16c7)]=!![],_0x617fbf['extent']=_0x1dabe7[_0x3cd192(_0x310aa4._0x12f5f3,_0x310aa4._0x55c72c)](_0xdea383),this[_0xf5a49d(_0x310aa4._0x34c68a,0x464)](_0x617fbf);}else{if(_0x1dabe7[_0x3cd192(0x123d,_0x310aa4._0x5e5b9c)]==='polygon')return _0x617fbf[_0xf5a49d(_0x310aa4._0x2dca66,0xa1d)]=_0x1dabe7['coordinates'],this[_0x3cd192(0x15a9,0x1f47)](_0x617fbf);else return _0x1dabe7['type']===_0xf5a49d(_0x310aa4._0x11b9ae,0x811)?(_0x617fbf['location']=_0x1dabe7['point'],_0x617fbf[_0x3cd192(0x2a0,-_0x310aa4._0x2063fc)]=_0x1dabe7[_0xf5a49d(0xbc4,_0x310aa4._0x368ad6)],this[_0x3cd192(0xdd0,0x17bd)](_0x617fbf)):Promise['resolve']();}}else return _0x617fbf['polygon']?this['queryPolygon'](_0x617fbf):this[_0x3cd192(_0x310aa4._0x503b69,0xae0)](_0x617fbf);}['queryText'](_0x10a812){const _0x3a0589={_0x23f457:0x530,_0x330b6d:0x162c,_0x18b908:0x133b,_0x5a7fb8:0xec2,_0x5bcd5e:0xfe0,_0x19f387:0x1109,_0xe25199:0x16ac,_0x415e93:0x118,_0x59bb7b:0xcbc},_0x1e2681={_0x567806:0xc8f,_0x3c39e4:0xf04,_0x58ae93:0x11be},_0x36334c={_0x27548c:0xa8c,_0x39ac30:0x8b4,_0x2ecc4d:0x1b9,_0x23ee48:0xfa4,_0x1e3c64:0x771,_0x352717:0x109d,_0x11ad35:0x281,_0x2d33a7:0x2cb,_0x489c4d:0x96b,_0x1e1657:0xdb3,_0x40aae4:0x60a},_0x15ba06={_0x514561:0x560},_0x2f9cf8={_0x294c1e:0x4b1},_0x18fa92=_0x10a812[_0x571aa4(_0x3a0589._0x23f457,-0x18f)]||0x14,_0x1eba66={};function _0x200c31(_0x4a7e6b,_0x323391){return _0x306755(_0x4a7e6b,_0x323391-0x99);}_0x1eba66[_0x571aa4(0xd54,0xbad)]=0x7,_0x1eba66[_0x200c31(0xcaf,_0x3a0589._0x330b6d)]=0x2,_0x1eba66['level']=_0x10a812['level']||0x12,_0x1eba66[_0x200c31(0x57e,0x965)]=_0x10a812['mapBound']||_0x200c31(0x14c9,0x11ed),_0x1eba66['start']=(_0x10a812[_0x200c31(0xa25,0xb62)]||0x0)*_0x18fa92,_0x1eba66[_0x200c31(_0x3a0589._0x18b908,0x1496)]=_0x18fa92;function _0x571aa4(_0x4c0544,_0x2ef37a){return _0x2b6441(_0x2ef37a,_0x4c0544-_0x2f9cf8._0x294c1e);}const _0x595228=_0x1eba66;return Cesium__namespace[_0x200c31(0x146a,0x184b)](_0x10a812['city'])&&(_0x595228['specify']=_0x200c31(0x974,0xacf)+_0x10a812[_0x571aa4(0x1657,0x1354)]),Cesium__namespace[_0x571aa4(0x16c2,_0x3a0589._0x5a7fb8)](_0x10a812[_0x571aa4(_0x3a0589._0x5bcd5e,_0x3a0589._0x19f387)])&&(_0x595228[_0x200c31(0x1929,_0x3a0589._0xe25199)]=_0x10a812['types']),_0x10a812['text']&&(_0x595228[_0x200c31(_0x3a0589._0x415e93,0xa17)]=this[_0x200c31(_0x3a0589._0x59bb7b,0xb75)](_0x10a812['text'])),fetchJson({'url':'http://api.tianditu.gov.cn/v2/search','queryParameters':{'type':'query','tk':this['key'],'postStr':JSON[_0x571aa4(0x1274,0x17c8)](_0x595228)},...this[_0x571aa4(0xb6d,0xa75)]})['then'](_0x3d0b16=>{const _0x201c7f={_0x508df3:0x32c};var _0x560af8;function _0x4ffa4f(_0x69dce7,_0x1d5b63){return _0x571aa4(_0x69dce7- -_0x201c7f._0x508df3,_0x1d5b63);}if(((_0x560af8=_0x3d0b16['status'])===null||_0x560af8===void 0x0?void 0x0:_0x560af8['infocode'])!==0x3e8){console['log']('未查询到相关结果!',_0x3d0b16);_0x10a812['error']&&_0x10a812[_0x4ffa4f(0xfa4,0xea1)](_0x3d0b16['status'][_0x2e91f0(_0x36334c._0x27548c,_0x36334c._0x39ac30)],_0x3d0b16);return;}if(!_0x3d0b16[_0x4ffa4f(_0x36334c._0x2ecc4d,0x95b)]){_0x10a812['error']&&_0x10a812[_0x4ffa4f(_0x36334c._0x23ee48,_0x36334c._0x1e3c64)](_0x4ffa4f(0x1423,_0x36334c._0x352717),_0x3d0b16);return;}const _0x5e0ddb=this['_formatPOIData'](_0x3d0b16[_0x4ffa4f(_0x36334c._0x2ecc4d,-_0x36334c._0x11ad35)]),_0x82057={};_0x82057['allcount']=_0x3d0b16['count'],_0x82057['count']=_0x5e0ddb['length'],_0x82057[_0x2e91f0(_0x36334c._0x2d33a7,_0x36334c._0x489c4d)]=_0x5e0ddb;const _0x437178=_0x82057;function _0x2e91f0(_0x51dffd,_0x23d107){return _0x571aa4(_0x51dffd- -_0x15ba06._0x514561,_0x23d107);}return _0x10a812[_0x2e91f0(_0x36334c._0x1e1657,_0x36334c._0x40aae4)]&&_0x10a812['success'](_0x437178),_0x437178;})['catch'](_0x1ad9f2=>{function _0xa4d811(_0x51db74,_0x12bf0e){return _0x200c31(_0x12bf0e,_0x51db74- -0x107);}function _0x5e5e56(_0x3e9e35,_0x4a109e){return _0x571aa4(_0x4a109e- -0x112,_0x3e9e35);}logError(_0xa4d811(0xdf7,0x715),_0x1ad9f2),_0x10a812[_0x5e5e56(_0x1e2681._0x567806,0x11be)]&&_0x10a812[_0x5e5e56(_0x1e2681._0x3c39e4,_0x1e2681._0x58ae93)](_0x5e5e56(0x14a7,0x13bd),_0x1ad9f2);});}['queryCircle'](_0x1b1d8c){const _0x2ba06e={_0x4f12e8:0x153c,_0x18898d:0x1468,_0x4d0575:0x1599,_0x32a034:0x707,_0x4b86e7:0x1bc2,_0x3e9e86:0x157b,_0x1624fb:0xe99,_0x162287:0x1a14,_0x18db0e:0xc85,_0x4ba3b3:0x127b},_0x5111f7={_0x2517fc:0x191f,_0x1f6a24:0x21bd,_0xf95b4:0x18f8,_0x176f73:0x700,_0x411dbc:0x8af,_0x3ca2f5:0x1397},_0x204c0f={_0x4c556b:0x1cb},_0xc20d74={_0x1c9bae:0x154},_0x2f0e03={_0x552375:0x36a},_0x20db6b=_0x1b1d8c[_0x2a2b3c(-0x299,0x4cc)]||0x14,_0x4dfd35={'queryType':0x3,'show':0x2,'queryRadius':formatNum$1(_0x1b1d8c['radius']||0xbb8,0x0),'start':(_0x1b1d8c['page']||0x0)*_0x20db6b,'offset':_0x20db6b};function _0x43a5b1(_0x3580f4,_0x5f00f1){return _0x2b6441(_0x3580f4,_0x5f00f1-_0x2f0e03._0x552375);}function _0x2a2b3c(_0x230edd,_0x266a59){return _0x306755(_0x230edd,_0x266a59- -_0xc20d74._0x1c9bae);}return _0x1b1d8c['location']?(_0x1b1d8c[_0x2a2b3c(_0x2ba06e._0x4f12e8,_0x2ba06e._0x18898d)]=LngLatPoint[_0x43a5b1(0xdf1,_0x2ba06e._0x4d0575)](_0x1b1d8c['location']),_0x4dfd35['pointLonlat']=_0x1b1d8c['location']['lng']+','+_0x1b1d8c['location'][_0x43a5b1(-0xf9,_0x2ba06e._0x32a034)]):logError('TdtPOI:\x20请传入参location数'),Cesium__namespace[_0x43a5b1(_0x2ba06e._0x4b86e7,_0x2ba06e._0x3e9e86)](_0x1b1d8c[_0x43a5b1(0x1348,_0x2ba06e._0x1624fb)])&&(_0x4dfd35['dataTypes']=_0x1b1d8c[_0x43a5b1(0x1562,0xe99)]),_0x1b1d8c[_0x43a5b1(_0x2ba06e._0x162287,0x16d6)]&&(_0x4dfd35['keyWord']=this['_getKeywords'](_0x1b1d8c[_0x43a5b1(_0x2ba06e._0x18db0e,0x16d6)])),fetchJson({'url':_0x43a5b1(0x1a2a,_0x2ba06e._0x4ba3b3),'queryParameters':{'type':'query','tk':this['key'],'postStr':JSON['stringify'](_0x4dfd35)},...this['options']})['then'](_0x37d099=>{var _0x16227a;if(((_0x16227a=_0x37d099['status'])===null||_0x16227a===void 0x0?void 0x0:_0x16227a['infocode'])!==0x3e8){_0x1b1d8c['error']&&_0x1b1d8c['error'](_0x37d099['status']['cndesc'],_0x37d099);return;}if(!_0x37d099['pois']){_0x1b1d8c['error']&&_0x1b1d8c['error'](_0x19f109(0x1f29,_0x5111f7._0x2517fc),_0x37d099);return;}function _0x19f109(_0x49500f,_0x11a1b9){return _0x2a2b3c(_0x49500f,_0x11a1b9-0x234);}function _0x15d874(_0x151153,_0x40c84c){return _0x43a5b1(_0x151153,_0x40c84c-_0x204c0f._0x4c556b);}const _0x5be19a=this['_formatPOIData'](_0x37d099['pois']);let _0x6f98b9;_0x1b1d8c['limit']?_0x6f98b9=this['_filterPOIData_circle'](_0x5be19a,_0x1b1d8c['location'],_0x4dfd35['radius']):_0x6f98b9=_0x5be19a;const _0xf892d5={};_0xf892d5[_0x15d874(_0x5111f7._0x1f6a24,_0x5111f7._0xf95b4)]=_0x37d099[_0x19f109(0x1136,_0x5111f7._0x176f73)],_0xf892d5['count']=_0x6f98b9['length'],_0xf892d5[_0x15d874(0xc9c,_0x5111f7._0x411dbc)]=_0x6f98b9;const _0x42f092=_0xf892d5;return _0x1b1d8c['success']&&_0x1b1d8c[_0x15d874(0x1bbd,_0x5111f7._0x3ca2f5)](_0x42f092),_0x42f092;})['catch'](_0x97c909=>{logError('TdtPOI\x20请求出错',_0x97c909),_0x1b1d8c['error']&&_0x1b1d8c['error']('请求出错',_0x97c909);});}['_filterPOIData_circle'](_0x45d088,_0x1d19b2,_0x32c9a4){const _0x14546c={_0x342cd0:0xb72,_0x1d86ae:0x1294};if(!_0x45d088||!_0x1d19b2||!_0x32c9a4)return _0x45d088;function _0x33dcb8(_0x2dd399,_0x46ae63){return _0x2b6441(_0x46ae63,_0x2dd399-0x6f2);}const _0x5d4e8e=_0x1d19b2['toCartesian'](),_0xf9f9c=[];for(let _0x1c2a34=0x0;_0x1c2a34<_0x45d088['length'];_0x1c2a34++){const _0x2165ad=_0x45d088[_0x1c2a34],_0x259c94=Cesium__namespace[_0x33dcb8(_0x14546c._0x342cd0,_0x14546c._0x1d86ae)]['fromDegrees'](_0x2165ad['lng'],_0x2165ad[_0x33dcb8(0xa8f,0x138a)],_0x1d19b2['alt']),_0x13ef9b=Cesium__namespace['Cartesian3'][_0x33dcb8(0x106e,0xb5f)](_0x259c94,_0x5d4e8e);_0x13ef9b<_0x32c9a4&&_0xf9f9c['push'](_0x2165ad);}function _0x33bc35(_0x4aeaf6,_0x5eb1c7){return _0x306755(_0x4aeaf6,_0x5eb1c7- -0x544);}return _0xf9f9c;}['queryPolygon'](_0x4e02b1){const _0x59173a={_0x6ad3d1:0x7f1,_0x1933cd:0xbb,_0x45aebc:0x9aa,_0x2aaeb6:0x1096,_0x43b73f:0x9c3,_0x20afee:0x13df,_0x472ada:0x13a8,_0x46ebaa:0x6df,_0x1237fd:0x129},_0x5be9f7={_0x1e6d2e:0x87b,_0xdd6588:0x90c,_0x24c55c:0x10e5},_0x4d4f72={_0x3f0e38:0xf05,_0x205f16:0x1534,_0x4b4bad:0x92c,_0x112af0:0x1c9f,_0xfa8d6:0x1442,_0x4ac3cb:0x1140,_0x10d848:0x11da},_0x34718b={_0xe4fb79:0x57e};function _0x4058db(_0x638b4a,_0x29048d){return _0x306755(_0x29048d,_0x638b4a- -_0x34718b._0xe4fb79);}const _0x4f2b7f=_0x4e02b1[_0x4cb84d(_0x59173a._0x6ad3d1,_0x59173a._0x1933cd)]||0x14,_0x2598dd={};_0x2598dd['queryType']=0xa,_0x2598dd['show']=0x2,_0x2598dd['start']=(_0x4e02b1['page']||0x0)*_0x4f2b7f,_0x2598dd[_0x4cb84d(0xed2,0xe98)]=_0x4f2b7f;const _0x44c2ee=_0x2598dd;function _0x4cb84d(_0x3eb4c5,_0xd0ace1){return _0x2b6441(_0x3eb4c5,_0xd0ace1-0x3c);}const _0x2cf480=LngLatArray['toArray'](_0x4e02b1[_0x4058db(_0x59173a._0x45aebc,0x80d)]);if(_0x2cf480['length']===0x2)return _0x4e02b1['extent']=_0x4e02b1[_0x4cb84d(0xab,0x9c3)],this['queryExtent'](_0x4e02b1);let _0x21e941='';const _0x5a45bb=_0x2cf480['concat']([_0x2cf480[0x0]]);for(let _0x1b73ab=0x0;_0x1b73ab<_0x5a45bb[_0x4058db(0x107d,0xd3b)];_0x1b73ab++){const _0x32c3cc=_0x5a45bb[_0x1b73ab];_0x1b73ab===_0x5a45bb[_0x4cb84d(0x1178,_0x59173a._0x2aaeb6)]-0x1?_0x21e941+=_0x32c3cc[0x0]+','+_0x32c3cc[0x1]:_0x21e941+=_0x32c3cc[0x0]+','+_0x32c3cc[0x1]+',';}return _0x44c2ee[_0x4cb84d(0x4d5,_0x59173a._0x43b73f)]=_0x21e941,Cesium__namespace['defined'](_0x4e02b1['types'])&&(_0x44c2ee['dataTypes']=_0x4e02b1['types']),_0x4e02b1['text']&&(_0x44c2ee['keyWord']=this['_getKeywords'](_0x4e02b1[_0x4cb84d(_0x59173a._0x20afee,_0x59173a._0x472ada)])),fetchJson({'url':_0x4058db(0xf34,0x586),'queryParameters':{'type':'query','tk':this['key'],'postStr':JSON['stringify'](_0x44c2ee)},...this[_0x4058db(_0x59173a._0x46ebaa,-_0x59173a._0x1237fd)]})['then'](_0x25cad5=>{function _0x502d9d(_0x2f99de,_0x1e80ab){return _0x4cb84d(_0x1e80ab,_0x2f99de-0xaa);}var _0x3c4416;if(((_0x3c4416=_0x25cad5['status'])===null||_0x3c4416===void 0x0?void 0x0:_0x3c4416['infocode'])!==0x3e8){_0x4e02b1['error']&&_0x4e02b1['error'](_0x25cad5['status']['cndesc'],_0x25cad5);return;}if(!_0x25cad5['pois']){_0x4e02b1[_0x502d9d(_0x4d4f72._0x3f0e38,_0x4d4f72._0x205f16)]&&_0x4e02b1['error'](_0x502d9d(0x1384,_0x4d4f72._0x4b4bad),_0x25cad5);return;}const _0x243eb8=this['_formatPOIData'](_0x25cad5['pois']);let _0x3ce8c5;_0x4e02b1['limit']?_0x3ce8c5=this[_0x40a21(_0x4d4f72._0x112af0,_0x4d4f72._0xfa8d6)](_0x243eb8,_0x2cf480):_0x3ce8c5=_0x243eb8;const _0xb7c9e7={};_0xb7c9e7['allcount']=_0x25cad5['count'],_0xb7c9e7[_0x40a21(0xd5d,0x3f7)]=_0x3ce8c5[_0x502d9d(_0x4d4f72._0x4ac3cb,0xc53)],_0xb7c9e7['list']=_0x3ce8c5;function _0x40a21(_0x1b02ae,_0x3bd5e7){return _0x4058db(_0x3bd5e7-0x355,_0x1b02ae);}const _0x5d0f4e=_0xb7c9e7;return _0x4e02b1['success']&&_0x4e02b1[_0x40a21(0x1b51,_0x4d4f72._0x10d848)](_0x5d0f4e),_0x5d0f4e;})['catch'](_0x80bd65=>{const _0x1100e1={_0xad84e3:0x28a};logError(_0x153e1a(_0x5be9f7._0x1e6d2e,0x5a4),_0x80bd65);function _0x153e1a(_0x29f88f,_0x20321a){return _0x4058db(_0x29f88f- -0x6c,_0x20321a);}function _0x10be8b(_0x18d460,_0xc33de1){return _0x4cb84d(_0x18d460,_0xc33de1-_0x1100e1._0xad84e3);}_0x4e02b1[_0x10be8b(_0x5be9f7._0xdd6588,_0x5be9f7._0x24c55c)]&&_0x4e02b1['error'](_0x10be8b(0xcfc,0x12e4),_0x80bd65);});}[_0x306755(0xfbb,0x166b)](_0x2a790b,_0x2878e7){const _0x2b30ea={_0x976906:0x1b6},_0x58a989={_0x2802c2:0x513};if(!_0x2a790b||!_0x2878e7)return;function _0x51032f(_0x3226b1,_0x6b152){return _0x306755(_0x3226b1,_0x6b152- -0x608);}const _0x40da0e=[];for(let _0x6fdd59=0x0;_0x6fdd59<_0x2a790b['length'];_0x6fdd59++){const _0x1f7d77=_0x2a790b[_0x6fdd59],_0x463a49=[_0x1f7d77['lng'],_0x1f7d77[_0x51032f(0x6f8,0x336)]];isInPoly(_0x463a49,_0x2878e7)&&_0x40da0e[_0x1a635e(0x60b,-_0x2b30ea._0x976906)](_0x1f7d77);}function _0x1a635e(_0x2bfba3,_0x5d19fd){return _0x2b6441(_0x5d19fd,_0x2bfba3-_0x58a989._0x2802c2);}return _0x40da0e;}['queryExtent'](_0x4df01d){const _0xa59067={_0x5a88ae:0x36b,_0xae91e0:0x54,_0x82e63c:0x4fd,_0x56dba3:0x1e8,_0xa0e95d:0xf2e,_0x43686a:0x1353,_0x4ce706:0x1cc5,_0x3523f0:0x4a4,_0x29140e:0x3b2,_0x2a02d4:0x1984,_0x4eeafb:0x399},_0x54db91={_0x4ca4b5:0xdfb,_0x5096c2:0x15d6,_0xbcf049:0x14b0},_0x4a1719={_0x515405:0x1357,_0x178e64:0x15a3,_0x14b21d:0x5b7},_0x59ae6d={_0x1adc68:0x551},_0x465d4c={_0x2516df:0x2d2},_0x785023={_0x217d67:0x2b},_0x2ff67d=_0x4df01d[_0x17430e(-_0xa59067._0x5a88ae,_0xa59067._0xae91e0)]||0x14,_0x2f4fc5={};_0x2f4fc5['queryType']=0x2,_0x2f4fc5[_0x312487(0xfd9,0x1145)]=0x2;function _0x17430e(_0x1bc713,_0x4a9d47){return _0x2b6441(_0x1bc713,_0x4a9d47- -_0x785023._0x217d67);}_0x2f4fc5['level']=0x12,_0x2f4fc5['start']=(_0x4df01d[_0x17430e(0x816,_0xa59067._0x82e63c)]||0x0)*_0x2ff67d,_0x2f4fc5['offset']=_0x2ff67d;const _0x429452=_0x2f4fc5,_0xc607c=_0x4df01d['extent'];if(_0xc607c['length']===0x2){const _0x1c6336=_0x4df01d['extent'][0x0],_0x32a275=_0x4df01d[_0x17430e(0x1154,0x10d9)][0x1];_0x429452['mapBound']=_0x1c6336[0x0]+','+_0x1c6336[0x1]+','+_0x32a275[0x0]+','+_0x32a275[0x1];}function _0x312487(_0xdda86a,_0x268adc){return _0x306755(_0x268adc,_0xdda86a- -0x5ba);}return _0xc607c['xmin']&&(_0x429452[_0x312487(0x312,0xb)]=_0xc607c['xmin']+','+_0xc607c[_0x17430e(-0x148,0x8c7)]+','+_0xc607c[_0x17430e(-_0xa59067._0x56dba3,-0x94)]+','+_0xc607c[_0x312487(0x5c2,_0xa59067._0xa0e95d)]),Cesium__namespace[_0x17430e(0x9aa,0x11e6)](_0x4df01d[_0x312487(0xb16,0x1409)])&&(_0x429452['dataTypes']=_0x4df01d['types']),_0x4df01d[_0x312487(_0xa59067._0x43686a,_0xa59067._0x4ce706)]&&(_0x429452[_0x17430e(-_0xa59067._0x3523f0,_0xa59067._0x29140e)]=this[_0x17430e(0x24c,0x510)](_0x4df01d[_0x17430e(0xfd3,0x1341)])),fetchJson({'url':_0x312487(0xef8,_0xa59067._0x2a02d4),'queryParameters':{'type':'query','tk':this[_0x17430e(0x555,0xccd)],'postStr':JSON[_0x17430e(_0xa59067._0x4eeafb,0xd98)](_0x429452)},...this['options']})['then'](_0x576049=>{var _0x48a5cd;function _0x48d3f2(_0x2fb1bb,_0x40fa6d){return _0x312487(_0x40fa6d-_0x465d4c._0x2516df,_0x2fb1bb);}if(((_0x48a5cd=_0x576049[_0x48d3f2(0xaea,0x9c4)])===null||_0x48a5cd===void 0x0?void 0x0:_0x48a5cd[_0x437a3c(0xf9c,0x924)])!==0x3e8){_0x4df01d['error']&&_0x4df01d[_0x437a3c(_0x4a1719._0x515405,0xfcc)](_0x576049['status']['cndesc'],_0x576049);return;}if(!_0x576049['pois']){_0x4df01d['error']&&_0x4df01d[_0x437a3c(0x1357,0x96e)](_0x437a3c(0x17d6,_0x4a1719._0x178e64),_0x576049);return;}const _0x5548bd=this[_0x437a3c(0x14bd,0x1098)](_0x576049['pois']),_0x1a8650={};_0x1a8650['allcount']=_0x576049[_0x437a3c(_0x4a1719._0x14b21d,0x169)],_0x1a8650[_0x437a3c(0x5b7,0x56a)]=_0x5548bd['length'],_0x1a8650['list']=_0x5548bd;const _0x38fe95=_0x1a8650;function _0x437a3c(_0x444bfd,_0x169a14){return _0x312487(_0x444bfd-_0x59ae6d._0x1adc68,_0x169a14);}return _0x4df01d[_0x48d3f2(0x88a,0x111b)]&&_0x4df01d['success'](_0x38fe95),_0x38fe95;})['catch'](_0x3b77af=>{logError('TdtPOI\x20请求出错',_0x3b77af);function _0x4ff4c6(_0x3bafd4,_0x2f9ebc){return _0x312487(_0x3bafd4- -0xb,_0x2f9ebc);}function _0x1611ce(_0x2b2c73,_0x124016){return _0x17430e(_0x2b2c73,_0x124016-0x4bd);}_0x4df01d[_0x4ff4c6(_0x54db91._0x4ca4b5,0x5db)]&&_0x4df01d['error'](_0x1611ce(_0x54db91._0x5096c2,_0x54db91._0xbcf049),_0x3b77af);});}}const _0x28f7dd={};_0x28f7dd['Walking']=0x1,_0x28f7dd['Bicycling']=0x2,_0x28f7dd['Driving']=0x3;const RouteType=_0x28f7dd;class GaodeRoute{constructor(_0x48e3e4={}){const _0x2688b8={_0x1b8421:0x1a6b,_0xe89118:0x13c3,_0x5728c6:0xd59};this[_0x22d4c8(0xd87,0x17be)]=_0x48e3e4;function _0x22d4c8(_0x4532c5,_0x3c6eeb){return _0x2b6441(_0x3c6eeb,_0x4532c5-0x6cb);}function _0x3c8eda(_0x3d636f,_0x155084){return _0x2b6441(_0x3d636f,_0x155084-0x39c);}this['_key_index']=0x0,_0x48e3e4[_0x22d4c8(0x13c3,0x1d6c)]?this['_keys']=Array['isArray'](_0x48e3e4['key'])?_0x48e3e4[_0x3c8eda(_0x2688b8._0x1b8421,0x1094)]:[_0x48e3e4[_0x22d4c8(_0x2688b8._0xe89118,0xeaf)]]:this['_keys']=gaodeArr,this['_isWgs84']=this[_0x3c8eda(_0x2688b8._0x5728c6,0xa58)]['chinaCRS']!==ChinaCRS['GCJ02'];}get[_0x306755(0x174d,0x10e7)](){return this['_keys'];}set['keys'](_0x4563a1){const _0x46459f={_0x4305ca:0xe55,_0x21f346:0x629};function _0x4af2b1(_0x4336ac,_0x3bf584){return _0x2b6441(_0x4336ac,_0x3bf584-0x14e);}this[_0x4af2b1(_0x46459f._0x4305ca,_0x46459f._0x21f346)]=_0x4563a1;}get['key'](){const _0x1afd54={_0x2d5f7f:0xf6a},_0x245a43=this['_key_index']++%this[_0x401c3f(0x80f,0xa5)][_0x343903(0x11ae,_0x1afd54._0x2d5f7f)];function _0x401c3f(_0x458a75,_0x3b6d8b){return _0x306755(_0x3b6d8b,_0x458a75- -0x26d);}function _0x343903(_0x31892f,_0x2390dd){return _0x306755(_0x2390dd,_0x31892f- -0x44d);}return this['_keys'][_0x245a43];}['_formatRouteData'](_0x2aa65b,_0x32b8e7,_0x4470be){const _0x3634d0={_0x516c02:0x151d,_0x36ece8:0x13c8,_0x1fbab5:0x14fd,_0x3cf045:0xeca,_0x6cc0ea:0x1548,_0x1d0189:0xc5d,_0x120dba:0x102f,_0x2222c9:0x302,_0x389c31:0x11c9},_0x178188={_0x543d04:0x397};let _0x278350,_0x149b83;const _0x183124=[];_0x2aa65b&&(_0x278350=_0x2aa65b[_0x334703(_0x3634d0._0x516c02,0x1474)](','),this['_isWgs84']&&(_0x278350=gcj2wgs(_0x278350)));_0x32b8e7&&(_0x149b83=_0x32b8e7['split'](','),this[_0x505d10(0xd2e,_0x3634d0._0x36ece8)]&&(_0x149b83=gcj2wgs(_0x149b83)));function _0x334703(_0x4deff6,_0x3a6e51){return _0x306755(_0x4deff6,_0x3a6e51- -0x353);}if(_0x4470be&&_0x4470be[_0x505d10(0x8be,0x1264)]>0x0)for(let _0x59c4d8=0x0;_0x59c4d8<_0x4470be['length'];_0x59c4d8++){const _0xa20d59=[];_0xa20d59['push'](_0x278350);const _0x92cdd7=_0x4470be[_0x59c4d8],_0x5c0f7e=_0x92cdd7[_0x505d10(_0x3634d0._0x1fbab5,_0x3634d0._0x3cf045)],_0x5a993e=[],_0x413e6e=[];let _0x200ac1=0x0;for(let _0x5da18c=0x0;_0x5da18c<_0x5c0f7e['length'];_0x5da18c++){const _0x2f040f={'instruction':_0x5c0f7e[_0x5da18c]['instruction'],'distance':Number(_0x5c0f7e[_0x5da18c]['step_distance']),'duration':Number(_0x5c0f7e[_0x5da18c]['cost']['duration']),'points':[],'route':_0x5c0f7e[_0x5da18c][_0x505d10(0x4d3,0xf5f)]};_0x200ac1+=_0x2f040f['duration'];const _0xf1075e=_0x5c0f7e[_0x5da18c]['polyline'],_0x55c579=_0xf1075e['split'](';');for(let _0x17303b=0x0;_0x17303b<_0x55c579[_0x334703(_0x3634d0._0x6cc0ea,0x12a8)];_0x17303b++){const _0x33ec8a=_0x55c579[_0x17303b];let _0x263b72=_0x33ec8a['split'](',');this['_isWgs84']&&(_0x263b72=gcj2wgs(_0x263b72)),_0xa20d59['push'](_0x263b72),_0x2f040f['points']['push'](_0x263b72);}_0x413e6e['push'](_0x2f040f['route']),_0x5a993e[_0x505d10(_0x3634d0._0x1d0189,0x302)](_0x2f040f);}_0xa20d59['push'](_0x149b83);const _0x269e11={};_0x269e11[_0x334703(0x15ce,0xf29)]=_0x92cdd7['distance'],_0x269e11['allDuration']=_0x200ac1,_0x269e11['steps']=_0x5a993e,_0x269e11[_0x334703(_0x3634d0._0x120dba,0x1640)]=_0xa20d59,_0x269e11['road']=_0x413e6e,_0x183124[_0x505d10(0x485,_0x3634d0._0x2222c9)](_0x269e11);}const _0x1601d6={};_0x1601d6[_0x505d10(0x7fb,_0x3634d0._0x389c31)]=_0x278350,_0x1601d6['destination']=_0x149b83;function _0x505d10(_0xef4859,_0xb310ce){return _0x306755(_0xef4859,_0xb310ce- -_0x178188._0x543d04);}return _0x1601d6['paths']=_0x183124,_0x1601d6;}['query'](_0x2804c2){const _0x2987f2={_0x3999f7:0x1357,_0x53f5a6:0x1f41},_0xd0ab48={_0x60ca97:0x2c7};function _0x1ae935(_0x144d59,_0x3aa801){return _0x2b6441(_0x144d59,_0x3aa801-_0xd0ab48._0x60ca97);}function _0x53d5ba(_0x40e726,_0x37ceeb){return _0x306755(_0x37ceeb,_0x40e726- -0x1cc);}switch(_0x2804c2['type']){case RouteType[_0x1ae935(_0x2987f2._0x3999f7,0x1314)]:return this[_0x53d5ba(0x168b,0x1f21)](_0x2804c2);case RouteType['Driving']:return this['queryDriving'](_0x2804c2);case RouteType[_0x1ae935(_0x2987f2._0x53f5a6,0x1713)]:default:return this['queryWalking'](_0x2804c2);}}['queryArr'](_0xfaffd9){const _0x23e6cf={_0x23124e:0x10a9},_0x12c69e={_0x301281:0x1751,_0x39de60:0x117e,_0x3e5c06:0x8b4,_0x49a062:0x11c1,_0x75615a:0x139d};return new Promise((_0x413286,_0x2adfb0)=>{const _0x2e06aa={_0x23aca3:0x707,_0x45fcf2:0x2e4,_0x60379e:0x1a0c},_0x5b685a=this;let _0x184cf3=-0x1;const _0x6db853={};for(const _0x1e8495 in _0xfaffd9){if(_0x1e8495==='points'||_0x1e8495==='success'||_0x1e8495===_0x33f8b2(0x10a4,_0x23e6cf._0x23124e))continue;_0x6db853[_0x1e8495]=_0xfaffd9[_0x1e8495];}const _0x4279f5=_0xfaffd9['points'];function _0x33f8b2(_0x4ab980,_0x4d76af){return _0x5bbe(_0x4d76af- -0xa4,_0x4ab980);}const _0x2f494f=[];function _0x1685df(){const _0x2b3290={_0x43aa53:0x3d0},_0x2a464d={_0x22327b:0x2b0},_0x3045d8={_0x599fa5:0xd5};_0x184cf3++,_0x6db853[_0x1dc9f2(0x1417,_0x12c69e._0x301281)]=_0x4279f5[_0x184cf3];function _0x744824(_0x4c9778,_0x2fc5b4){return _0x33f8b2(_0x2fc5b4,_0x4c9778- -0x2bf);}function _0x1dc9f2(_0x11287a,_0x2c5209){return _0x33f8b2(_0x11287a,_0x2c5209-_0x3045d8._0x599fa5);}_0x6db853['success']=function(_0x3faf90){_0x3faf90&&_0x3faf90[_0x1c2e78(0x13c2,0x1781)]&&_0x3faf90['paths']['length']>0x0?_0x2f494f['push'](_0x3faf90['paths'][0x0]):_0x2f494f[_0x1c2e78(_0x2e06aa._0x23aca3,-_0x2e06aa._0x45fcf2)](null);function _0x1c2e78(_0x36bff8,_0x2bf6c0){return _0x1dc9f2(_0x2bf6c0,_0x36bff8-_0x2a464d._0x22327b);}function _0x1cf46c(_0x581ae5,_0x2adc32){return _0x1dc9f2(_0x2adc32,_0x581ae5- -_0x2b3290._0x43aa53);}_0x184cf3>=_0x4279f5['length']-0x1?(_0xfaffd9[_0x1cf46c(0xdf1,0xd6e)]&&_0xfaffd9[_0x1c2e78(0x1471,_0x2e06aa._0x60379e)](_0x2f494f),_0x413286(_0x2f494f)):_0x1685df();},_0x6db853[_0x1dc9f2(0x1866,_0x12c69e._0x39de60)]=_0x6db853[_0x1dc9f2(_0x12c69e._0x3e5c06,_0x12c69e._0x49a062)],_0x5b685a[_0x1dc9f2(0x1179,_0x12c69e._0x75615a)](_0x6db853);}_0x1685df();});}[_0x2b6441(0x487,0x3c2)](_0x3b3721){const _0x467bee={_0x28f7f9:0xf99},_0x360479={_0x2dff78:0x2be};let _0x45b18f=Number['MAX_VALUE'],_0x387987=null;function _0x47779(_0x59fbe9,_0x5518d6){return _0x2b6441(_0x59fbe9,_0x5518d6-_0x360479._0x2dff78);}let _0x548000=-0x1;for(let _0x2175e9=0x0;_0x2175e9<_0x3b3721['length'];_0x2175e9++){const _0x22fcac=_0x3b3721[_0x2175e9];_0x22fcac&&(_0x22fcac[_0x47779(0x107f,_0x467bee._0x28f7f9)]<=_0x45b18f&&(_0x387987=_0x22fcac,_0x548000=_0x2175e9,_0x45b18f=_0x22fcac['allDistance']));}const _0x7e8a69={};return _0x7e8a69['lineData']=_0x387987,_0x7e8a69['index']=_0x548000,_0x7e8a69;}['queryWalking'](_0x23c0cf){const _0x4d8908={_0x48c89f:0x116a,_0x2609bf:0xecc,_0x2c2e0f:0x9f6,_0x56a1b8:0x326,_0x464161:0xda2},_0x46edcd={};_0x46edcd['key']=this[_0x2d2af8(0x10dc,0x13c3)],_0x46edcd['show_fields']='polyline,cost',_0x46edcd[_0x43f6b0(-0x59f,0x26a)]='json';const _0x36adab=_0x46edcd;function _0x43f6b0(_0x4d8567,_0x5e8b82){return _0x2b6441(_0x4d8567,_0x5e8b82-0x181);}let _0x29e1fa=_0x23c0cf[_0x43f6b0(0x15bb,0x1573)][0x0],_0x1b2793=_0x23c0cf['points'][_0x23c0cf['points'][_0x2d2af8(0x143e,0x14d5)]-0x1];this['_isWgs84']&&(_0x29e1fa=wgs2gcj(_0x29e1fa),_0x1b2793=wgs2gcj(_0x1b2793));function _0x2d2af8(_0x491786,_0x340a0c){return _0x2b6441(_0x340a0c,_0x491786-0x3e4);}_0x36adab['origin']=_0x29e1fa[0x0]+','+_0x29e1fa[0x1],_0x36adab[_0x2d2af8(0x1314,0x84c)]=_0x1b2793[0x0]+','+_0x1b2793[0x1];const _0x246241={'url':'https://restapi.amap.com/v5/direction/walking','queryParameters':_0x36adab,...this[_0x43f6b0(-0x51,0x83d)]};return fetchJson(_0x246241)['then'](_0x2429fc=>{const _0x573da1={_0x5cb239:0x11d};if(_0x2429fc['infocode']!=='10000'){if(_0x23c0cf['error']){const _0x1d3f8f=_0x4b49d7(0x14f4,_0x4d8908._0x48c89f)+_0x2429fc[_0x217dd5(_0x4d8908._0x2609bf,_0x4d8908._0x2c2e0f)]+'):'+_0x2429fc[_0x4b49d7(0x1a0,_0x4d8908._0x56a1b8)];_0x23c0cf['error'](_0x1d3f8f);}return;}if(!_0x2429fc['route']||!_0x2429fc[_0x217dd5(0x18a9,0x1429)][_0x4b49d7(0x1147,0x1051)]){_0x23c0cf[_0x4b49d7(0xea2,0x10bd)]&&_0x23c0cf[_0x217dd5(0x1287,_0x4d8908._0x464161)]('未查询到相关结果!');return;}function _0x4b49d7(_0x377a3c,_0x2eef5a){return _0x43f6b0(_0x377a3c,_0x2eef5a-_0x573da1._0x5cb239);}const _0x59f41e=this['_formatRouteData'](_0x36adab['origin'],_0x36adab['destination'],_0x2429fc['route']['paths']);function _0x217dd5(_0x47c330,_0x2732fb){return _0x43f6b0(_0x2732fb,_0x47c330-0x2e7);}return _0x23c0cf['success']&&_0x23c0cf['success'](_0x59f41e),_0x59f41e;})['catch'](_0x23ca8a=>{function _0x31f8c8(_0x4242ea,_0x1d5397){return _0x2d2af8(_0x1d5397-0x36,_0x4242ea);}function _0x23fd0a(_0x3e9da9,_0x41f46f){return _0x43f6b0(_0x3e9da9,_0x41f46f-0x54e);}logError('GaodeRoute\x20请求出错',_0x23ca8a),_0x23c0cf[_0x23fd0a(0xda4,0x14ee)]&&_0x23c0cf['error'](_0x23fd0a(0x2027,0x16ed),_0x23ca8a);});}['queryBicycling'](_0x2857a3){const _0xb2bfb9={_0x169918:0x717,_0x4ee3ff:0xa6,_0x42c7d7:0xf2b,_0x183c11:0x1972,_0x1ab52f:0xf38,_0x534233:0x15da,_0x11bc47:0x7ea},_0xb959e={_0x57b182:0x124e},_0x3929d8={_0x31dec2:0xda0,_0xb00224:0x1429,_0x54492e:0x64b,_0x17f7a:0xeb1,_0x105ac8:0x727,_0x161396:0xde3},_0x47d1d2={};_0x47d1d2['key']=this[_0x2cf20b(0x16e8,0xcb5)],_0x47d1d2['show_fields']='polyline,cost',_0x47d1d2[_0x2cf20b(-_0xb2bfb9._0x169918,_0xb2bfb9._0x4ee3ff)]=_0xd60a77(0x177a,_0xb2bfb9._0x42c7d7);const _0x5bb5b7=_0x47d1d2;let _0x382429=_0x2857a3['points'][0x0],_0x22fcf8=_0x2857a3[_0xd60a77(0x2151,_0xb2bfb9._0x183c11)][_0x2857a3['points'][_0xd60a77(_0xb2bfb9._0x1ab52f,_0xb2bfb9._0x534233)]-0x1];this['_isWgs84']&&(_0x382429=wgs2gcj(_0x382429),_0x22fcf8=wgs2gcj(_0x22fcf8));function _0x2cf20b(_0x50cd5c,_0x357ccf){return _0x306755(_0x50cd5c,_0x357ccf- -0x5e4);}_0x5bb5b7['origin']=_0x382429[0x0]+','+_0x382429[0x1],_0x5bb5b7['destination']=_0x22fcf8[0x0]+','+_0x22fcf8[0x1];const _0x2d9a5e={'url':_0xd60a77(0x889,_0xb2bfb9._0x11bc47),'queryParameters':_0x5bb5b7,...this['options']};function _0xd60a77(_0x4043da,_0x3b599f){return _0x2b6441(_0x4043da,_0x3b599f-0x580);}return fetchJson(_0x2d9a5e)['then'](_0x20ca1e=>{const _0x2e2d40={_0x289c24:0x6b9},_0x2c5975={_0x5802ba:0x3c};function _0x60e9a8(_0xe838b4,_0x3348ff){return _0x2cf20b(_0xe838b4,_0x3348ff- -_0x2c5975._0x5802ba);}if(_0x20ca1e['infocode']!=='10000'){const _0x53ef64='路径规划\x20请求失败('+_0x20ca1e['infocode']+'):'+_0x20ca1e[_0xf6f3bd(0x6fe,0xd4)];_0x2857a3[_0x60e9a8(0x3e4,_0x3929d8._0x31dec2)]&&_0x2857a3['error'](_0x53ef64);return;}if(!_0x20ca1e['route']||!_0x20ca1e['route'][_0xf6f3bd(_0x3929d8._0xb00224,0xc7b)]){_0x2857a3['error']&&_0x2857a3[_0x60e9a8(0x1398,_0x3929d8._0x31dec2)]('未查询到相关结果!');return;}function _0xf6f3bd(_0x1834fc,_0x42a4d1){return _0x2cf20b(_0x42a4d1,_0x1834fc-_0x2e2d40._0x289c24);}const _0x1ad2b2=this['_formatRouteData'](_0x5bb5b7['origin'],_0x5bb5b7[_0x60e9a8(_0x3929d8._0x54492e,_0x3929d8._0x17f7a)],_0x20ca1e['route']['paths']);return _0x2857a3['success']&&_0x2857a3[_0x60e9a8(_0x3929d8._0x105ac8,_0x3929d8._0x161396)](_0x1ad2b2),_0x1ad2b2;})[_0x2cf20b(0x389,0x936)](_0x5b1095=>{logError('GaodeRoute\x20请求出错',_0x5b1095);function _0x55d307(_0x535611,_0x5aa132){return _0xd60a77(_0x5aa132,_0x535611- -0x151);}_0x2857a3[_0x55d307(_0xb959e._0x57b182,0xc23)]&&_0x2857a3['error']('请求出错',_0x5b1095);});}['queryDriving'](_0x4ef127){const _0x4be603={_0x56ad5e:0x279,_0x355428:0x1e6a,_0x356c54:0x18ef,_0xf1437c:0x1486,_0x314b87:0x1e7b,_0x228268:0x1287,_0x320eea:0x19a5,_0x3988b8:0x16ba,_0x977440:0x1d63,_0x20476e:0x16bb,_0x4b85cc:0xfc3,_0x2958ee:0x1322,_0x3bd587:0x1f13,_0x4e2d66:0xbfc,_0x109cd7:0xbdd,_0x132167:0x984,_0x6e6560:0x102a},_0x8eaa68={_0x484be2:0xefb,_0x441c2a:0x128c},_0x1c95ee={_0x294273:0xee7,_0xcc98bc:0x7c3,_0xd5a475:0x1946,_0x1e1c29:0x1140,_0x3e1e3d:0x16b5,_0x7e157d:0xcd9,_0x25424d:0x12ce,_0x27160d:0x1512,_0x24462a:0x1258,_0x4f68df:0xac9,_0x5d7f56:0xb14},_0x2fbe88={_0x3895d4:0x2c8},_0x271bee={_0x33541a:0xa4};var _0x197f4f;const _0x533287={};_0x533287['key']=this['key'],_0x533287['show_fields']=_0x3c4f09(_0x4be603._0x56ad5e,0xbc6),_0x533287['output']='json',_0x533287[_0x3c4f09(0x1ec3,0x180b)]=_0x4ef127['strategy']||0x0;const _0xe60a52=_0x533287;let _0x8b4c0a=_0x4ef127['points'][0x0],_0xb0c246=_0x4ef127['points'][_0x4ef127[_0x3c4f09(_0x4be603._0x355428,_0x4be603._0x356c54)]['length']-0x1];this[_0x54707a(_0x4be603._0xf1437c,_0x4be603._0x314b87)]&&(_0x8b4c0a=wgs2gcj(_0x8b4c0a),_0xb0c246=wgs2gcj(_0xb0c246));function _0x3c4f09(_0x333da0,_0xb33a4c){return _0x306755(_0x333da0,_0xb33a4c- -_0x271bee._0x33541a);}_0xe60a52[_0x54707a(_0x4be603._0x228268,_0x4be603._0x320eea)]=_0x8b4c0a[0x0]+','+_0x8b4c0a[0x1];function _0x54707a(_0x2eef0b,_0x415c07){return _0x2b6441(_0x415c07,_0x2eef0b-_0x2fbe88._0x3895d4);}_0xe60a52['destination']=_0xb0c246[0x0]+','+_0xb0c246[0x1];if(_0x4ef127[_0x54707a(_0x4be603._0x3988b8,0x18e1)]['length']>0x2){let _0x4fd698='';for(let _0x4ce816=0x1,_0xc84c27=_0x4ef127[_0x54707a(0x16ba,_0x4be603._0x977440)]['length']-0x1;_0x4ce816<_0xc84c27;_0x4ce816++){let _0x1f402c=_0x4ef127['points'][_0x4ce816];this[_0x3c4f09(0x2174,_0x4be603._0x20476e)]&&(_0x1f402c=wgs2gcj(_0x1f402c)),_0x4fd698+=_0x1f402c[0x0]+','+_0x1f402c[0x1]+';';}_0xe60a52['waypoints']=_0x4fd698;}if(((_0x197f4f=_0x4ef127['avoidpolygons'])===null||_0x197f4f===void 0x0?void 0x0:_0x197f4f['length'])>0x0){let _0x50f6b9='';for(let _0x18ef88=0x0,_0x29bb4b=_0x4ef127[_0x3c4f09(_0x4be603._0x4b85cc,0x125a)][_0x54707a(_0x4be603._0x2958ee,0x1016)];_0x18ef88<_0x29bb4b;_0x18ef88++){_0x18ef88>0x0&&(_0x50f6b9+='|');const _0x45b0bf=_0x4ef127['avoidpolygons'][_0x18ef88];for(let _0x50f72d=0x0,_0x57568d=_0x45b0bf[_0x3c4f09(0xdf8,0x1557)];_0x50f72d<_0x57568d;_0x50f72d++){let _0xc63b5=_0x45b0bf[_0x50f72d];this[_0x3c4f09(_0x4be603._0x3bd587,0x16bb)]&&(_0xc63b5=wgs2gcj(_0xc63b5)),_0x50f6b9+=_0xc63b5[0x0]+','+_0xc63b5[0x1]+';';}}_0xe60a52['avoidpolygons']=_0x50f6b9;}const _0x56514b={'url':_0x3c4f09(_0x4be603._0x4e2d66,_0x4be603._0x109cd7),'queryParameters':_0xe60a52,...this[_0x54707a(_0x4be603._0x132167,0x12db)]};return fetchJson(_0x56514b)[_0x54707a(_0x4be603._0x6e6560,0x8cc)](_0x208b84=>{if(_0x208b84[_0x536aae(0xad0,0xd2f)]!==_0x536aae(_0x1c95ee._0x294273,_0x1c95ee._0xcc98bc)){if(_0x4ef127['error']){const _0x35ffc8=_0x36b3da(_0x1c95ee._0xd5a475,_0x1c95ee._0x1e1c29)+_0x208b84['infocode']+'):'+_0x208b84['info'];_0x4ef127[_0x536aae(0x1555,0x10ea)](_0x35ffc8);}return;}function _0x36b3da(_0x256adb,_0x30fc9a){return _0x3c4f09(_0x256adb,_0x30fc9a- -0x289);}if(!_0x208b84[_0x36b3da(0x1c89,_0x1c95ee._0x3e1e3d)]||!_0x208b84[_0x536aae(0x1e96,0x170c)]['paths']||_0x208b84['route']['paths'][_0x36b3da(_0x1c95ee._0x7e157d,_0x1c95ee._0x25424d)]===0x0){_0x4ef127['error']&&_0x4ef127[_0x536aae(0x806,0x10ea)](_0x36b3da(0x1385,_0x1c95ee._0x27160d));return;}const _0x55d3af=this[_0x536aae(_0x1c95ee._0x24462a,_0x1c95ee._0x4f68df)](_0xe60a52['origin'],_0xe60a52[_0x36b3da(_0x1c95ee._0x5d7f56,0x11a4)],_0x208b84[_0x536aae(0x1ed3,0x170c)]['paths']);_0x4ef127['success']&&_0x4ef127['success'](_0x55d3af);function _0x536aae(_0x50d23e,_0x49f62a){return _0x54707a(_0x49f62a-0x3,_0x50d23e);}return _0x55d3af;})['catch'](_0x2d1f95=>{const _0x33661c={_0xf8a24a:0x1ec};logError(_0x35c415(0x2d1,0x4f7),_0x2d1f95);function _0x3094cd(_0x2ba252,_0x4675f2){return _0x54707a(_0x2ba252- -_0x33661c._0xf8a24a,_0x4675f2);}function _0x35c415(_0x3693f4,_0x6d5f6){return _0x54707a(_0x6d5f6- -0x5a,_0x3693f4);}_0x4ef127['error']&&_0x4ef127[_0x3094cd(_0x8eaa68._0x484be2,0x1508)](_0x35c415(0xaf6,_0x8eaa68._0x441c2a),_0x2d1f95);});}}GaodeRoute[_0x2b6441(0x1509,0x11eb)]=RouteType;const _0x36705a={};_0x36705a[_0x2b6441(0xa07,0xd6d)]='WFS',_0x36705a['request']=_0x2b6441(0x20d,0x99e),_0x36705a['version']='1.0.0',_0x36705a[_0x306755(0xff5,0xb4e)]=_0x2b6441(0x1548,0x1114),_0x36705a['maxFeatures']=0x3e8;const Def_Parameters=_0x36705a;class QueryGeoServer extends BaseClass{get[_0x306755(0x676,0x9ca)](){const _0x4f502d={_0x49cfa6:0xfce};if(!this['_geoJsonLayer']){const _0x175f97={...this['options']},_0x10420c=_0x175f97;delete _0x10420c['url'],delete _0x10420c['data'],this['_geoJsonLayer']=new GeoJsonLayer(_0x10420c),this[_0x2effc9(0x11ff,_0x4f502d._0x49cfa6)]['on'](EventType['load'],this['geoJsonLayer_onLoadHandler'],this),this[_0x4520d2(0x2ee,0xd2c)]['on'](EventType['click'],this['geoJsonLayer_onClickHandler'],this);}function _0x2effc9(_0xb553c,_0x34402a){return _0x306755(_0x34402a,_0xb553c- -0xec);}function _0x4520d2(_0x13996f,_0x4524a8){return _0x2b6441(_0x13996f,_0x4524a8- -0x1e);}return this['_geoJsonLayer'];}['query'](_0x3f4288){const _0x5df654={_0x1fc60a:0xf43,_0x2bd63b:0x143e,_0x596446:0xd39,_0x583bab:0xa4,_0x132f91:0xe1e,_0x9d29dd:0xc7b,_0x962a26:0x1187,_0x13bbed:0x1689,_0x70abdd:0x1b04,_0x186c25:0x122c,_0x509675:0x90d,_0x18e30:0x6ad,_0x5a924a:0x4e,_0xd70555:0x9c4,_0x504ad9:0x78e,_0x1d1212:0x56f,_0x4d8ffd:0x116d,_0x4425d0:0x1577,_0x12b237:0x6d7,_0x361861:0x35c,_0x500f09:0x8ec,_0x104f26:0xfa,_0x351d51:0xf34,_0x309fbd:0xd61,_0x207821:0x136d,_0x4aaff8:0x1387},_0x5af634={_0x1e2a1c:0xd04,_0x152290:0xfc9},_0x506d08={_0x1c2d92:0x1b};let _0x31529b=_0x3be491(_0x5df654._0x1fc60a,0x10ab);_0x3f4288[_0x69f53(_0x5df654._0x2bd63b,0xe9e)]&&(Cesium__namespace['defaultValue'](_0x3f4288['like'],!![])?_0x31529b+=_0x3be491(0x11a6,0x151a)+_0x3f4288['column']+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20*'+_0x3f4288[_0x69f53(0x143e,_0x5df654._0x596446)]+'*\x0a\x20\x20\x20\x20\x20\x20\x20\x20':_0x31529b+='\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x3f4288[_0x3be491(-_0x5df654._0x583bab,0x8ed)]+_0x69f53(0xc68,_0x5df654._0x132f91)+_0x3f4288['text']+_0x3be491(-0x6a,0x81));if(_0x3f4288['graphic']){const _0x3fb322=_0x3f4288[_0x3be491(0x136d,0x1264)];let _0x4bc3af;if(_0x3fb322['type']==='rectangle')_0x4bc3af=_0x3fb322[_0x69f53(0xdf8,0x1870)];else{if(_0x3fb322[_0x3be491(0x10dd,0x172a)]===_0x3be491(0x9a2,_0x5df654._0x9d29dd))_0x4bc3af=_0x3fb322['coordinates'];else{if(_0x3fb322['type']==='circle')_0x4bc3af=_0x3fb322[_0x3be491(_0x5df654._0x962a26,_0x5df654._0x13bbed)](!![],0x1e);else Cesium__namespace[_0x69f53(0x12e3,_0x5df654._0x70abdd)](_0x3fb322['xmax'])&&Cesium__namespace['defined'](_0x3fb322['xmin'])&&Cesium__namespace[_0x3be491(_0x5df654._0x186c25,0x12a1)](_0x3fb322[_0x3be491(_0x5df654._0x509675,-0x107)])&&Cesium__namespace['defined'](_0x3fb322[_0x69f53(_0x5df654._0x18e30,0x1035)])&&(_0x4bc3af=[[_0x3fb322['xmin'],_0x3fb322[_0x3be491(0x5f6,0x706)]],[_0x3fb322[_0x69f53(0x7ae,0x1272)],_0x3fb322['ymin']],[_0x3fb322[_0x3be491(-_0x5df654._0x5a924a,0x94b)],_0x3fb322[_0x69f53(_0x5df654._0xd70555,0x5e)]],[_0x3fb322['xmax'],_0x3fb322['ymax']]]);}}if(_0x4bc3af){_0x4bc3af['push'](_0x4bc3af[0x0]);let _0x1fa890='';for(let _0x498d39=0x0;_0x498d39<_0x4bc3af['length'];_0x498d39++){let _0x8905d6=_0x4bc3af[_0x498d39];this[_0x69f53(_0x5df654._0x504ad9,_0x5df654._0x1d1212)][_0x3be491(0x1414,_0x5df654._0x4d8ffd)]&&this['options']['crs']!==CRS[_0x3be491(0x104a,_0x5df654._0x4425d0)]&&this[_0x3be491(_0x5df654._0x12b237,_0x5df654._0x361861)]['crs']!==CRS['EPSG4490']&&(_0x8905d6=proj4Trans(_0x8905d6,_0x3be491(0x7e4,0x843),this['options']['crs'])),_0x1fa890+=_0x8905d6[0x0]+','+_0x8905d6[0x1]+'\x20';}_0x31529b+=_0x69f53(0x8,-0x847)+(_0x3f4288['geometryName']||_0x3be491(_0x5df654._0x500f09,0x787))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+_0x1fa890+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20';}}function _0x3be491(_0x1e5887,_0x5b9ff5){return _0x2b6441(_0x5b9ff5,_0x1e5887-_0x506d08._0x1c2d92);}_0x31529b+=_0x3be491(_0x5df654._0x104f26,-0x3c);const _0xe240b2={...Def_Parameters,..._0x3f4288};_0xe240b2[_0x3be491(0x908,0x111c)]=this['options']['layer'],_0xe240b2['filter']=_0x31529b;const _0x4f065e=_0xe240b2;function _0x69f53(_0x2fd010,_0x737612){return _0x306755(_0x737612,_0x2fd010- -0x4cf);}return delete _0x4f065e[_0x69f53(_0x5df654._0x351d51,0x1766)],delete _0x4f065e[_0x3be491(0xe3a,_0x5df654._0x309fbd)],delete _0x4f065e[_0x3be491(_0x5df654._0x207821,0x10cf)],delete _0x4f065e[_0x3be491(_0x5df654._0x4aaff8,0x1147)],delete _0x4f065e['column'],new Promise((_0x237486,_0x5cb1f9)=>{const _0x38cab9={_0x439ac6:0x16ea,_0x67caac:0x38b},_0x3935fd={_0x547b42:0x56},_0x1a0883={...this[_0x5a6658(0x49a,0xd0c)]};function _0x35dc5b(_0x4d762d,_0xc731a8){return _0x69f53(_0xc731a8-0x13f,_0x4d762d);}function _0x5a6658(_0x4a4109,_0x4e12df){return _0x69f53(_0x4e12df-0x57e,_0x4a4109);}_0x1a0883['queryParameters']=_0x4f065e,sendAjax(_0x1a0883)[_0x35dc5b(_0x5af634._0x1e2a1c,0xf73)](_0x2ac2e8=>{function _0x1cbc66(_0x51e703,_0x2a45de){return _0x35dc5b(_0x51e703,_0x2a45de- -_0x3935fd._0x547b42);}const _0x5f0978={};function _0x2bc28c(_0x41316b,_0x50c3bf){return _0x35dc5b(_0x41316b,_0x50c3bf-0x454);}_0x5f0978['resolve']=_0x237486,_0x5f0978[_0x1cbc66(_0x38cab9._0x439ac6,0xca5)]=_0x5cb1f9,_0x3f4288['_promise']=_0x5f0978,this[_0x2bc28c(-_0x38cab9._0x67caac,0x6e5)](_0x2ac2e8,_0x3f4288);})[_0x5a6658(0xbf1,_0x5af634._0x152290)](_0x526f92=>{function _0x3de748(_0x1c266f,_0x1be062){return _0x5a6658(_0x1c266f,_0x1be062- -0x58a);}function _0x469099(_0x31badf,_0x34bfc6){return _0x35dc5b(_0x31badf,_0x34bfc6- -0x25);}logError(_0x3de748(-0x1c4,0x58),_0x526f92),_0x3f4288[_0x469099(0x1ad7,0x100b)]&&_0x3f4288['error'](_0x3de748(0x16f3,0x10e4),_0x526f92);});});}[_0x306755(0x1921,0x17b4)](_0x14354d){const _0x20ba9f={_0x501783:0x12ef,_0x1be8f4:0x86e,_0x3dc520:0x126a,_0x1802a8:0x148a,_0x157740:0x148a,_0x21b5c7:0x955,_0x1eba63:0x9b,_0x501d03:0x371,_0x19e3f2:0x581,_0x5bf998:0x6e1};let _0x196a98=_0x14354d['cql_filter']||'1=1';if(_0x14354d['graphic']){let _0x4d10b8=_0x14354d['graphic'];const _0x338ac0=_0x14354d['geometryName']||'the_geom';let _0x128fbf;if(_0x4d10b8[_0xd3680b(_0x20ba9f._0x501783,0x11c6)]==='rectangle'){const _0x30adf6={};_0x30adf6['isFormat']=!![],_0x4d10b8=_0x4d10b8[_0xd3680b(0x1869,0x1446)](_0x30adf6);const _0x12ddea=_0x4d10b8['xmin']+','+_0x4d10b8[_0xd3680b(_0x20ba9f._0x1be8f4,0x9f6)]+','+_0x4d10b8['xmax']+','+_0x4d10b8['ymax'];_0x196a98+='\x20and\x20BBOX('+_0x338ac0+',\x20'+_0x12ddea+')';}else{if(_0x4d10b8['type']===_0x421c9d(0xc00,0x1070))_0x128fbf=_0x4d10b8['coordinates'];else{if(_0x4d10b8['type']==='circle')_0x128fbf=_0x4d10b8[_0x421c9d(0x13e5,_0x20ba9f._0x3dc520)](!![],0x1e);else{if(Cesium__namespace[_0x421c9d(_0x20ba9f._0x1802a8,0x1a25)](_0x4d10b8[_0x421c9d(0x210,-0xd8)])&&Cesium__namespace[_0x421c9d(_0x20ba9f._0x157740,0x1d6d)](_0x4d10b8[_0x421c9d(0x955,0x6e2)])&&Cesium__namespace[_0xd3680b(0x19bb,0x1315)](_0x4d10b8[_0x421c9d(0xb6b,0x1243)])&&Cesium__namespace['defined'](_0x4d10b8['ymax'])){const _0x5ea4f3=_0x4d10b8[_0x421c9d(_0x20ba9f._0x21b5c7,0x829)]+','+_0x4d10b8['ymin']+','+_0x4d10b8[_0xd3680b(0x212,_0x20ba9f._0x1eba63)]+','+_0x4d10b8['ymax'];_0x196a98+='\x20and\x20BBOX('+_0x338ac0+',\x20'+_0x5ea4f3+')';}}}}if(_0x128fbf){_0x128fbf[_0x421c9d(_0x20ba9f._0x501d03,_0x20ba9f._0x19e3f2)](_0x128fbf[0x0]);const _0x345863=[];for(let _0x2052e2=0x0;_0x2052e2<_0x128fbf['length'];_0x2052e2++){_0x345863['push'](_0x128fbf[_0x2052e2][0x0]+'\x20'+_0x128fbf[_0x2052e2][0x1]);}_0x196a98+=_0xd3680b(0x16cb,0xef3)+_0x338ac0+',POLYGON(('+_0x345863[_0xd3680b(0x235,0x35a)](',')+')))';}}const _0x3b7398={...Def_Parameters,..._0x14354d};_0x3b7398[_0x421c9d(0xb66,0xf68)]=this[_0xd3680b(_0x20ba9f._0x5bf998,0x7c0)]['layer'],_0x3b7398['cql_filter']=_0x196a98;const _0x1ecaf7=_0x3b7398;function _0xd3680b(_0x3d1669,_0xd28ec6){return _0x2b6441(_0x3d1669,_0xd28ec6-0x104);}delete _0x1ecaf7['success'];function _0x421c9d(_0xfe488a,_0x58ee3f){return _0x306755(_0x58ee3f,_0xfe488a- -0x328);}return delete _0x1ecaf7['error'],delete _0x1ecaf7['graphic'],new Promise((_0x5469ad,_0x3a295f)=>{const _0x5204d9={_0x3ae58b:0x2ae},_0x1f9978={_0x3ce61d:0xeb9,_0x2935e5:0x2f5},_0x4442db={...this['options']};_0x4442db['queryParameters']=_0x1ecaf7;function _0x3a3b48(_0x3b1951,_0x3dc1cc){return _0xd3680b(_0x3dc1cc,_0x3b1951-0x5c8);}sendAjax(_0x4442db)[_0x3a3b48(0x142e,0x14f4)](_0x4730c2=>{const _0x5dd5bf={};function _0x28a8de(_0x2b9755,_0x33ad7c){return _0x3a3b48(_0x2b9755- -0x4fd,_0x33ad7c);}function _0x3a80b0(_0x30c2e2,_0x38fbe0){return _0x3a3b48(_0x30c2e2- -0x2fd,_0x38fbe0);}_0x5dd5bf['resolve']=_0x5469ad,_0x5dd5bf[_0x3a80b0(_0x1f9978._0x3ce61d,0x74d)]=_0x3a295f,_0x14354d[_0x28a8de(_0x1f9978._0x2935e5,-0x127)]=_0x5dd5bf,this['processFeatureCollection'](_0x4730c2,_0x14354d);})['catch'](_0x451109=>{function _0xd1e0f5(_0x1f9db6,_0x42c665){return _0x3a3b48(_0x1f9db6- -_0x5204d9._0x3ae58b,_0x42c665);}function _0x1dd617(_0x495659,_0x307c5d){return _0x3a3b48(_0x495659- -0x706,_0x307c5d);}logError(_0x1dd617(-0xa8,0xfb),_0x451109),_0x14354d['error']&&_0x14354d[_0xd1e0f5(0x123d,0x1b99)]('请求出错',_0x451109);});});}['processFeatureCollection'](_0x2784de,_0x3b58b7){const _0x455ad5={_0x265ed6:0x1199,_0x4fe36d:0xa40,_0x16c4a4:0xc0f,_0x46b089:0xde,_0x14e736:0xc6e,_0xce787:0x111f},_0xe7a217={_0x2bfbd2:0x988,_0x1cb436:0x118c,_0x135dfa:0x14f4},_0x1d1254={_0x36c7fb:0x5bb},_0x32f5d8={_0x12505a:0xd7};function _0x3aa66c(_0x2232af,_0x19ca87){return _0x2b6441(_0x19ca87,_0x2232af-_0x32f5d8._0x12505a);}function _0x2dc229(_0x372a8d,_0x55ef4e){return _0x2b6441(_0x372a8d,_0x55ef4e- -0x63);}_0x2784de&&_0x2784de[_0x3aa66c(_0x455ad5._0x265ed6,0x966)]==='Feature'&&(_0x2784de={'type':'FeatureCollection','features':[_0x2784de]});if(!_0x2784de||!_0x2784de['features']||_0x2784de['features']['length']===0x0){var _0x441062;if(_0x3b58b7['success']){const _0x4d3133={};_0x4d3133['count']=0x0,_0x3b58b7['success'](_0x4d3133);}if((_0x441062=_0x3b58b7[_0x2dc229(0x7e2,0xc3)])!==null&&_0x441062!==void 0x0&&_0x441062[_0x2dc229(0xa72,_0x455ad5._0x4fe36d)]){const _0x514ed9={};_0x514ed9['count']=0x0,_0x3b58b7['_promise']['resolve'](_0x514ed9);}}else{const _0x38d06c=[];for(let _0x51ea58=0x0;_0x51ea58<_0x2784de[_0x3aa66c(0x3f4,_0x455ad5._0x16c4a4)]['length'];_0x51ea58++){var _0x3f1bf8;const _0xeb65e5=_0x2784de['features'][_0x51ea58];(_0xeb65e5===null||_0xeb65e5===void 0x0||(_0x3f1bf8=_0xeb65e5['geometry'])===null||_0x3f1bf8===void 0x0||(_0x3f1bf8=_0x3f1bf8[_0x3aa66c(0x747,0x5a)])===null||_0x3f1bf8===void 0x0?void 0x0:_0x3f1bf8[_0x2dc229(0x67d,0xff7)])>0x0&&_0x38d06c['push'](_0xeb65e5);}_0x2784de[_0x2dc229(-_0x455ad5._0x46b089,0x2ba)]=_0x38d06c;if(this['_geoJsonLayer']){this[_0x3aa66c(_0x455ad5._0x14e736,0x15a7)]=_0xc0b2c1=>{function _0x4f537b(_0x4014af,_0x410a6b){return _0x3aa66c(_0x4014af-0x537,_0x410a6b);}function _0xa45c87(_0x5e7b92,_0x4e7fd4){return _0x3aa66c(_0x5e7b92-_0x1d1254._0x36c7fb,_0x4e7fd4);}var _0x3721cf;const _0x10f3a2={};_0x10f3a2[_0x4f537b(0x10d7,0x109e)]=_0x2784de,_0x10f3a2['count']=_0x2784de['features']['length'],_0x10f3a2[_0x4f537b(_0xe7a217._0x2bfbd2,_0xe7a217._0x1cb436)]=_0xc0b2c1;const _0x2fa132=_0x10f3a2;_0x3b58b7[_0xa45c87(_0xe7a217._0x135dfa,0xe20)]&&_0x3b58b7['success'](_0x2fa132),(_0x3721cf=_0x3b58b7['_promise'])!==null&&_0x3721cf!==void 0x0&&_0x3721cf['resolve']&&_0x3b58b7['_promise'][_0x4f537b(0x10b1,0xc1a)](_0x2fa132);};const _0x2c1c27={};_0x2c1c27['data']=_0x2784de,this['_geoJsonLayer']['load'](_0x2c1c27);}else{var _0x2d59a6;const _0x515bd0={};_0x515bd0['geojson']=_0x2784de,_0x515bd0['count']=_0x2784de['features'][_0x3aa66c(0x1131,_0x455ad5._0xce787)];const _0x4c3b75=_0x515bd0;_0x3b58b7['success']&&_0x3b58b7[_0x2dc229(0x11ab,0xdff)](_0x4c3b75),(_0x2d59a6=_0x3b58b7['_promise'])!==null&&_0x2d59a6!==void 0x0&&_0x2d59a6['resolve']&&_0x3b58b7['_promise']['resolve'](_0x4c3b75);}}}[_0x306755(-0xb2,0x8e3)](_0x5b8c89){const _0x5d4b54={_0x6fe2ef:0x1612,_0x41a54a:0xd7e};function _0x2277eb(_0x3c7f36,_0x4d77f4){return _0x2b6441(_0x3c7f36,_0x4d77f4-0x537);}this['_last_success']&&(this[_0xe94518(0xec0,0x10c1)](_0x5b8c89['list']),this[_0x2277eb(0x846,0x10ce)]=null);function _0xe94518(_0x302437,_0x5eb8ee){return _0x306755(_0x5eb8ee,_0x302437- -0x278);}this['fire'](EventType[_0xe94518(_0x5d4b54._0x6fe2ef,_0x5d4b54._0x41a54a)],_0x5b8c89);}[_0x2b6441(-0x75c,0xc5)](_0x574202){const _0x12f0b2={_0xd1cb8d:0xd72,_0x521b53:0x667},_0x24e739={_0x275ea9:0x579};function _0x108b28(_0x3c4c62,_0x2befc9){return _0x306755(_0x2befc9,_0x3c4c62- -_0x24e739._0x275ea9);}function _0x4f09ec(_0x54f927,_0x1bf028){return _0x2b6441(_0x1bf028,_0x54f927-0x56f);}this['fire'](EventType[_0x4f09ec(0x1036,0xd78)],{..._0x574202,'layer':this[_0x108b28(_0x12f0b2._0xd1cb8d,_0x12f0b2._0x521b53)]});}['clear'](){const _0x85ff2e={_0x3449ca:0x112d},_0x10394b={_0x587725:0xa9};this[_0xf3f802(_0x85ff2e._0x3449ca,0x11e1)]&&(this['_last_success']=null);function _0xf3f802(_0x22e4ae,_0x3e0731){return _0x306755(_0x22e4ae,_0x3e0731-_0x10394b._0x587725);}this['_geoJsonLayer']&&this['_geoJsonLayer']['clear']();}}class QueryArcServer extends BaseClass{constructor(_0x221359={}){const _0x1813bc={_0x7ce403:0x652,_0x5910df:0xef7,_0x439734:0x11f2,_0x5af1c0:0xfae};super(_0x221359),this[_0x5ec7de(_0x1813bc._0x7ce403,0x2e4)]=_0x221359,this['_pageSize']=_0x221359[_0x1dc74b(_0x1813bc._0x5910df,0x11bd)]??0xa,this[_0x5ec7de(_0x1813bc._0x439734,0xa98)]=0x0;function _0x1dc74b(_0x48cbc2,_0x192498){return _0x306755(_0x192498,_0x48cbc2-0xc4);}function _0x5ec7de(_0x9ebfa4,_0x599af2){return _0x2b6441(_0x599af2,_0x9ebfa4- -0x6a);}this[_0x1dc74b(0x5cd,_0x1813bc._0x5af1c0)]=0x0,this['_pageIndex']=0x1,this['arrIDS']=[];}get['url'](){const _0x43f1c8={_0x51c707:0xbfb,_0x50b5d2:0xc52};function _0xabacfa(_0x547a82,_0x3ec350){return _0x306755(_0x547a82,_0x3ec350- -0xb);}return this[_0xabacfa(_0x43f1c8._0x51c707,_0x43f1c8._0x50b5d2)]['url'];}set[_0x306755(0x14c7,0xbbf)](_0x435715){this['options']['url']=_0x435715;}get['pageSize'](){const _0x5ded78={_0x5151b7:0xc6c,_0x4cc131:0xbc1},_0x5d970b={_0x55880a:0x1b8};function _0x27662d(_0x5a2f74,_0x31153c){return _0x306755(_0x5a2f74,_0x31153c- -_0x5d970b._0x55880a);}return this[_0x27662d(_0x5ded78._0x5151b7,_0x5ded78._0x4cc131)];}set[_0x306755(0x65d,0xe33)](_0x17f2f7){this['_pageSize']=_0x17f2f7;}get['allCount'](){return this['_allCount'];}get[_0x306755(0x10a6,0x10a1)](){const _0x484d10={_0x3a4137:0x886},_0x50ffb7={_0x190f77:0x112};function _0x27d955(_0x5e716e,_0x466c20){return _0x2b6441(_0x466c20,_0x5e716e-_0x50ffb7._0x190f77);}return this[_0x27d955(0x7a,_0x484d10._0x3a4137)];}get['pageIndex'](){return this['_pageIndex'];}set[_0x306755(0x15ee,0x16da)](_0x30197b){const _0x390b59={_0x313275:0x17fe},_0x642135={_0x5d70f8:0xdb};this[_0x1ff637(_0x390b59._0x313275,0x1c18)]=_0x30197b;function _0x1ff637(_0x3d16b3,_0x2051f9){return _0x306755(_0x2051f9,_0x3d16b3- -_0x642135._0x5d70f8);}this['showPage'](_0x30197b);}get[_0x306755(-0x1c,0x9ca)](){const _0xc42e54={_0x5d2c64:0x888,_0x38ac2c:0xf19,_0x401989:0xe9e,_0x5dd336:0x70a,_0x27bf90:0x243},_0xb97cb8={_0x3bea1d:0x26a};function _0x1bf776(_0x6ff382,_0x4839c7){return _0x2b6441(_0x4839c7,_0x6ff382-_0xb97cb8._0x3bea1d);}if(!this['_geoJsonLayer']){const _0x234cd9={...this['options']},_0x38847f=_0x234cd9;delete _0x38847f[_0x1bf776(_0xc42e54._0x5d2c64,0x6f1)],delete _0x38847f[_0x1bf776(0x10bb,0x16c0)],this[_0x1cf4c0(0x1112,_0xc42e54._0x38ac2c)]=new GeoJsonLayer(_0x38847f),this[_0x1bf776(0xfb4,_0xc42e54._0x401989)]['on'](EventType['load'],this[_0x1cf4c0(_0xc42e54._0x5dd336,_0xc42e54._0x27bf90)],this),this['_geoJsonLayer']['on'](EventType['click'],this['geoJsonLayer_onClickHandler'],this);}function _0x1cf4c0(_0x2a1508,_0x5975c8){return _0x306755(_0x5975c8,_0x2a1508- -0x1d9);}return this['_geoJsonLayer'];}['showFirstPage'](){this['showPage'](0x1);}['showPretPage'](){this['_pageIndex']=this['_pageIndex']-0x1,this['_pageIndex']<0x1&&(this['_pageIndex']=0x1),this['showPage'](this['_pageIndex']);}['showNextPage'](){const _0x3d177d={_0x1f84f8:0x16bd,_0x2c194e:0x1cf9},_0x48b26b={_0x1a0f2e:0x175};function _0x443f63(_0x1c4afa,_0x297973){return _0x306755(_0x1c4afa,_0x297973- -_0x48b26b._0x1a0f2e);}function _0x1b3004(_0x24e396,_0x57c200){return _0x306755(_0x24e396,_0x57c200- -0x21c);}this[_0x1b3004(0x168e,_0x3d177d._0x1f84f8)]=this[_0x1b3004(0x1cbb,0x16bd)]+0x1,this['_pageIndex']>this['allPage']&&(this[_0x1b3004(_0x3d177d._0x2c194e,_0x3d177d._0x1f84f8)]=this[_0x1b3004(0xca1,0xe85)]),this['showPage'](this[_0x443f63(0x11d7,0x1764)]);}['showPage'](_0x782d28){this['_pageIndex']=_0x782d28,this['_queryPageByIds']();}['query'](_0x5ced59){const _0x5079d4={_0x256d32:0x17e3,_0x335b49:0x14c6,_0x531f98:0x1626,_0x4f5603:0xd86,_0xc660:0x51f,_0x2bccef:0xbbd,_0x408c4c:0x1a70,_0x26c131:0x2f5,_0x5b8782:0x6de,_0xa14d4c:0x14d8,_0x4c9ce5:0x1ba2,_0x244684:0x8a2,_0x309d91:0xe30,_0x6ccd3:0xfb4,_0x53671a:0x87a,_0x117c2d:0xa47,_0x22c3fd:0xbb9,_0x504c50:0x104,_0x4890ee:0x126e,_0x495f35:0x2de,_0x932691:0x65d,_0x4a61d6:0xd3a,_0x11c37a:0xa07},_0x1b352b={_0x3bcc42:0xe49,_0x11740a:0x776,_0x31fad3:0x7f9,_0x427bc1:0x814,_0xb0e0d2:0x712,_0x5ae3a9:0x9c4},_0x1d6572={_0x2d2e40:0x131a,_0x394b65:0xea2,_0x1bd7aa:0x167f},_0x481fca={_0x556665:0x2da};function _0x312be5(_0x43f8d7,_0x4edf8c){return _0x306755(_0x4edf8c,_0x43f8d7- -_0x481fca._0x556665);}this[_0xf0a3e7(_0x5079d4._0x256d32,_0x5079d4._0x335b49)]=0x1,this['arrIDS']=[];const _0x44e437={'f':'json','inSr':0x10e6,'outSR':0x10e6,'outFields':'*','returnGeometry':!![],'where':_0x5ced59[_0x312be5(_0x5079d4._0x531f98,0x208f)]||_0x312be5(0xde6,0x107e),..._0x5ced59[_0xf0a3e7(_0x5079d4._0x4f5603,_0x5079d4._0xc660)]},_0x4733d9=_0x44e437;this['options']['token']&&(_0x4733d9[_0xf0a3e7(0x1490,_0x5079d4._0x2bccef)]=this['options']['token']);if(_0x5ced59[_0x312be5(0x208,-0x6b5)]){let _0x23414d='';_0x5ced59['like']??!![]?_0x23414d=_0x5ced59['column']+_0x312be5(0x70a,0x10d)+_0x5ced59['text']+'%\x27\x20':_0x23414d=_0x5ced59['column']+'=\x27'+_0x5ced59['text']+'\x27',_0x4733d9['where']=_0x23414d;}if(_0x5ced59['graphic']){const _0x4db3de=_0x5ced59[_0x312be5(0x1619,_0x5079d4._0x408c4c)];_0x4733d9['spatialRel']=_0xf0a3e7(0xa76,_0x5079d4._0x26c131);if(_0x4db3de['type']===_0xf0a3e7(0x1323,0x10d7)){const _0x448d29=_0x4db3de['outlineCoordinates'];_0x4733d9[_0x312be5(0x1054,_0x5079d4._0x5b8782)]='esriGeometryEnvelope';const _0x4d5b17={};_0x4d5b17['wkid']=0x10e6;const _0x47b844={};_0x47b844[_0x312be5(0x9a3,0xa4f)]=_0x448d29[0x0][0x0],_0x47b844['ymin']=_0x448d29[0x0][0x1],_0x47b844['xmax']=_0x448d29[0x2][0x0],_0x47b844[_0xf0a3e7(0xa86,0x14f9)]=_0x448d29[0x2][0x1],_0x47b844['spatialReference']=_0x4d5b17,_0x4733d9['geometry']=JSON['stringify'](_0x47b844);}else{if(Cesium__namespace['defined'](_0x4db3de['xmax'])&&Cesium__namespace['defined'](_0x4db3de['xmin'])&&Cesium__namespace['defined'](_0x4db3de[_0x312be5(0xbb9,0x1314)])&&Cesium__namespace[_0x312be5(_0x5079d4._0xa14d4c,_0x5079d4._0x4c9ce5)](_0x4db3de[_0x312be5(_0x5079d4._0x244684,_0x5079d4._0x309d91)])){_0x4733d9[_0xf0a3e7(0x1238,0x9aa)]=_0x312be5(_0x5079d4._0x6ccd3,_0x5079d4._0x53671a);const _0x4d5b4c={};_0x4d5b4c['wkid']=0x10e6;const _0x303c9a={};_0x303c9a[_0xf0a3e7(0xb87,0x764)]=_0x4db3de[_0xf0a3e7(0xb87,_0x5079d4._0x117c2d)],_0x303c9a['ymin']=_0x4db3de[_0x312be5(_0x5079d4._0x22c3fd,_0x5079d4._0x504c50)],_0x303c9a['xmax']=_0x4db3de['xmax'],_0x303c9a['ymax']=_0x4db3de['ymax'],_0x303c9a['spatialReference']=_0x4d5b4c,_0x4733d9['geometry']=JSON['stringify'](_0x303c9a);}else{let _0x2ee83a;if(_0x4db3de['type']==='polygon')_0x2ee83a=_0x4db3de['toGeoJSON']();else{if(_0x4db3de[_0xf0a3e7(0x156d,0x15c9)]==='circle'){const _0x541b02={};_0x541b02['type']=_0x312be5(0x6f3,0x5d0),_0x541b02['coordinates']=[_0x4db3de['outlineCoordinates']];const _0x4c716b={};_0x4c716b['type']=_0xf0a3e7(0x93e,0x8bd),_0x4c716b['geometry']=_0x541b02,_0x2ee83a=_0x4c716b;}else _0x2ee83a=_0x5ced59[_0x312be5(0x1619,0xca2)];}_0x4733d9['geometry']=JSON[_0xf0a3e7(_0x5079d4._0x4890ee,0xd6c)](geojsonToArcGIS$1(_0x2ee83a[_0x312be5(_0x5079d4._0x495f35,_0x5079d4._0x932691)])),_0x4733d9['geometryType']=geojsonTypeToArcGIS(_0x2ee83a[_0xf0a3e7(0x4c2,_0x5079d4._0x4a61d6)][_0x312be5(0x1389,_0x5079d4._0x11c37a)]);}}}function _0xf0a3e7(_0x160bcc,_0xf8f704){return _0x2b6441(_0xf8f704,_0x160bcc-0x4ab);}return new Promise((_0x560cfe,_0x188dfe)=>{const _0x6682a8={_0x12ec78:0x3bf},_0x26f920={_0x284482:0x4d0},_0x5d9a24={_0x384b5e:0x155e,_0x229aee:0xdf9,_0x12096c:0x8be},_0xe2a07a={_0x31e08a:0x16f},_0x2e40d8={_0x85c67:0x105},_0x565a1a={};function _0x151eb5(_0x7f7748,_0x2f5cb0){return _0xf0a3e7(_0x7f7748- -_0x2e40d8._0x85c67,_0x2f5cb0);}_0x565a1a[_0x151eb5(_0x1b352b._0x3bcc42,0x17bf)]=_0x560cfe;function _0x1aef44(_0x1abf07,_0x1a6898){return _0x312be5(_0x1abf07- -_0xe2a07a._0x31e08a,_0x1a6898);}_0x565a1a[_0x151eb5(0xe90,0x402)]=_0x188dfe,_0x5ced59[_0x1aef44(0x27e,-0x260)]=_0x565a1a;if(_0x5ced59['page']??!![]){_0x4733d9['returnIdsOnly']=!![];const _0x4ba802={...this['options']};_0x4ba802[_0x1aef44(_0x1b352b._0x11740a,0xc14)]=this[_0x151eb5(0x9c4,0x412)]+_0x151eb5(0x2ab,_0x1b352b._0x31fad3),_0x4ba802[_0x1aef44(0x975,0xd6e)]=_0x4733d9,sendAjax(_0x4ba802)[_0x151eb5(0x1108,0x116d)](_0x4e398b=>{const _0x305ed7={_0x105394:0x5e},_0x5008c6=_0x4e398b['objectIds'];_0x5008c6&&(this['arrIDS']=_0x5008c6,this[_0x1cd7cf(0x10ab,0x1917)]=_0x5008c6['length'],this['_allPage']=Math[_0xd9759c(0x30e,0x2a6)](this['_allCount']/this[_0xd9759c(0xb20,_0x5d9a24._0x384b5e)]));function _0xd9759c(_0x5c29f0,_0x48cdb9){return _0x151eb5(_0x5c29f0- -_0x305ed7._0x105394,_0x48cdb9);}delete _0x4733d9[_0x1cd7cf(_0x5d9a24._0x229aee,0x72b)];function _0x1cd7cf(_0x250181,_0x188d22){return _0x1aef44(_0x188d22-0x563,_0x250181);}this[_0x1cd7cf(0x1342,_0x5d9a24._0x12096c)](_0x4733d9,_0x5ced59);})[_0x1aef44(0xad1,0xbb9)](_0x4e07d3=>{logError(_0x2af810(_0x1d6572._0x2d2e40,_0x1d6572._0x394b65),_0x4e07d3);function _0x1fc853(_0x40cae9,_0x41a44c){return _0x1aef44(_0x40cae9-_0x26f920._0x284482,_0x41a44c);}function _0x2af810(_0x4c7957,_0x1d300a){return _0x151eb5(_0x1d300a-0xcd,_0x4c7957);}_0x5ced59['error']&&_0x5ced59['error'](_0x4e07d3,_0x4e07d3[_0x2af810(0xcb7,_0x1d6572._0x1bd7aa)]);});}else{const _0x1e6cd8={...this[_0x1aef44(_0x1b352b._0x427bc1,_0x1b352b._0xb0e0d2)]};_0x1e6cd8['url']=this[_0x151eb5(_0x1b352b._0x5ae3a9,0x1163)]+'/query',_0x1e6cd8['queryParameters']=_0x4733d9,sendAjax(_0x1e6cd8)['then'](_0x2325b1=>{const _0x4aa5ba=arcgisToGeoJSON$1(_0x2325b1);function _0x4708c1(_0xe8a7a,_0x297eba){return _0x151eb5(_0xe8a7a-0x189,_0x297eba);}this[_0x4708c1(0x5af,_0x6682a8._0x12ec78)](_0x4aa5ba,_0x5ced59);})[_0x1aef44(0xad1,0x433)](_0x7d4348=>{function _0x349d81(_0x4b5214,_0x377f3b){return _0x151eb5(_0x4b5214- -0x370,_0x377f3b);}logError('QueryArcServer\x20请求出错',_0x7d4348),_0x5ced59['error']&&_0x5ced59[_0x349d81(0xe55,0x109a)](_0x7d4348,_0x7d4348['message']);});}});}[_0x2b6441(0x185,0x203)](_0x2d9385,_0x58eff8){const _0x4a99f2={_0x2d306d:0x158a,_0x2a8053:0x134e,_0x3061a0:0x13cd,_0x25820d:0x956,_0x1e175e:0x600,_0x897a63:0xac8,_0xefc75a:0x9f3,_0x459357:0x571,_0x83596c:0x1762,_0x90462d:0x287,_0x2ec2f4:0x10cc,_0x597356:0x939,_0x2b8224:0x357,_0x4458a9:0x3b7,_0xb4de62:0x55d,_0x24eecf:0x81d,_0x2336b1:0xfe0,_0x3329ca:0xec3,_0x28c1da:0xf2d},_0x2368b1={_0x5dc587:0x36f};if(_0x2d9385)this[_0x913687(_0x4a99f2._0x2d306d,0x1ac2)]=_0x2d9385;else this['lastParameters']&&(_0x2d9385=this[_0x58022e(0x1a52,_0x4a99f2._0x2a8053)]);if(_0x58eff8)this['lastQueryOpts']=_0x58eff8;else this['lastParameters']&&(_0x58eff8=this['lastQueryOpts']);if(!this[_0x58022e(_0x4a99f2._0x3061a0,_0x4a99f2._0x25820d)]||this['arrIDS']['length']===0x0||this['_pageIndex']<0x1||this['_pageIndex']>this['allPage']){var _0x207053;const _0x3e799c={};_0x3e799c['geojson']=null,_0x3e799c['count']=0x0,_0x3e799c[_0x913687(_0x4a99f2._0x1e175e,0xe34)]=this[_0x58022e(_0x4a99f2._0x897a63,0x13b7)],_0x3e799c['pageSize']=this[_0x913687(_0x4a99f2._0xefc75a,_0x4a99f2._0x459357)],_0x3e799c['allPage']=this['allPage'],_0x3e799c[_0x913687(0x129a,0xe1f)]=this[_0x58022e(_0x4a99f2._0x83596c,0x18ff)];const _0x9bdae7=_0x3e799c;_0x58eff8['success']&&_0x58eff8['success'](_0x9bdae7);(_0x207053=_0x58eff8['_promise'])!==null&&_0x207053!==void 0x0&&_0x207053['resolve']&&_0x58eff8[_0x913687(_0x4a99f2._0x90462d,-0x261)][_0x58022e(_0x4a99f2._0x2ec2f4,0x1ae8)](_0x9bdae7);return;}const _0x101eca=(this['_pageIndex']-0x1)*this[_0x913687(0x939,0x392)];function _0x913687(_0x1299ba,_0x1925ee){return _0x2b6441(_0x1925ee,_0x1299ba-0x161);}const _0x5258f8=this['_pageIndex']*this[_0x913687(_0x4a99f2._0x597356,_0x4a99f2._0x2b8224)],_0x296054=this[_0x913687(0xf05,0x1199)]['slice'](_0x101eca,_0x5258f8);_0x2d9385['objectIds']=_0x296054[_0x913687(_0x4a99f2._0x4458a9,-_0x4a99f2._0xb4de62)](',');const _0x4068d2={...this[_0x913687(_0x4a99f2._0x24eecf,_0x4a99f2._0x2336b1)]};_0x4068d2['url']=this['url']+'/query';function _0x58022e(_0x4ab389,_0x14bcd5){return _0x2b6441(_0x14bcd5,_0x4ab389-0x629);}_0x4068d2[_0x58022e(0xe46,0x4cb)]=_0x2d9385,sendAjax(_0x4068d2)[_0x913687(_0x4a99f2._0x3329ca,0x16f4)](_0x49094e=>{const _0x89a25f=arcgisToGeoJSON$1(_0x49094e);this['processFeatureCollection'](_0x89a25f,_0x58eff8);})[_0x58022e(0xfa2,_0x4a99f2._0x28c1da)](_0xb0f5f1=>{logError(_0x31c9d8(0xce9,0xd62),_0xb0f5f1);function _0x31c9d8(_0x149697,_0x24db09){return _0x58022e(_0x149697- -_0x2368b1._0x5dc587,_0x24db09);}_0x58eff8['error']&&_0x58eff8['error'](_0xb0f5f1,_0xb0f5f1['message']);});}['processFeatureCollection'](_0x566842,_0x1ca7e9){const _0x4de90d={_0x13521f:0x126d,_0x27b8ab:0x543,_0x22652a:0xe21,_0x39240c:0xdc4,_0x1ebf3e:0x77d,_0x241b46:0x137b,_0x2a3050:0x3a0,_0x379c47:0x620,_0x293f33:0xe63,_0x34940b:0xbb3,_0x11f80f:0x1542,_0x349f44:0x133d,_0x35740f:0x447,_0x34f820:0x679},_0x2b199a={_0x24663f:0x15fc,_0x505c0c:0xffb,_0x195eeb:0x770,_0x3fc545:0x2bf},_0x54d338={_0x282367:0x321};function _0x2fc0e1(_0x416589,_0x4a58e9){return _0x306755(_0x416589,_0x4a58e9- -0x54d);}function _0x206736(_0x2f4be5,_0x5a0a8c){return _0x2b6441(_0x5a0a8c,_0x2f4be5-_0x54d338._0x282367);}if(!_0x566842||!_0x566842['features']||_0x566842[_0x206736(0x63e,0x90)]['length']===0x0){var _0x72a1f0;const _0x519c33={};_0x519c33[_0x206736(0xdea,0x13d5)]=null,_0x519c33['count']=0x0,_0x519c33[_0x206736(0x7c0,_0x4de90d._0x13521f)]=this[_0x2fc0e1(-_0x4de90d._0x27b8ab,0x4f3)],_0x519c33['pageSize']=this['pageSize'],_0x519c33['allPage']=this[_0x206736(_0x4de90d._0x22652a,0x1031)],_0x519c33['pageIndex']=this['pageIndex'];const _0x31e305=_0x519c33;_0x1ca7e9['success']&&_0x1ca7e9['success'](_0x31e305),(_0x72a1f0=_0x1ca7e9['_promise'])!==null&&_0x72a1f0!==void 0x0&&_0x72a1f0[_0x206736(_0x4de90d._0x39240c,_0x4de90d._0x1ebf3e)]&&_0x1ca7e9['_promise']['resolve'](_0x31e305);}else{const _0x5d9f1f=[];for(let _0x23377d=0x0;_0x23377d<_0x566842[_0x206736(0x63e,0x6dc)]['length'];_0x23377d++){var _0x45111f;const _0x2fc2cb=_0x566842['features'][_0x23377d];(_0x2fc2cb===null||_0x2fc2cb===void 0x0||(_0x45111f=_0x2fc2cb['geometry'])===null||_0x45111f===void 0x0||(_0x45111f=_0x45111f['coordinates'])===null||_0x45111f===void 0x0?void 0x0:_0x45111f[_0x206736(_0x4de90d._0x241b46,0x123b)])>0x0&&_0x5d9f1f['push'](_0x2fc2cb);}_0x566842['features']=_0x5d9f1f;const _0x3829bd={};_0x3829bd['geojson']=_0x566842,_0x3829bd[_0x206736(_0x4de90d._0x2a3050,-_0x4de90d._0x379c47)]=_0x566842['features'][_0x2fc0e1(_0x4de90d._0x293f33,0x10ae)],_0x3829bd[_0x206736(0x7c0,0x28d)]=this['allCount'],_0x3829bd[_0x206736(_0x4de90d._0x34940b,0xc10)]=this['pageSize'],_0x3829bd['allPage']=this['allPage'],_0x3829bd['pageIndex']=this['pageIndex'];const _0x5224da=_0x3829bd;if(this['_geoJsonLayer']){this['_last_success']=_0x192cf6=>{var _0x5c7199;function _0x196fc2(_0x38c9fc,_0x313fdd){return _0x206736(_0x313fdd- -0x188,_0x38c9fc);}_0x5224da['list']=_0x192cf6;function _0x23fb92(_0x1064bf,_0x3dd386){return _0x2fc0e1(_0x1064bf,_0x3dd386-0x32f);}_0x1ca7e9[_0x196fc2(_0x2b199a._0x24663f,_0x2b199a._0x505c0c)]&&_0x1ca7e9['success'](_0x5224da),(_0x5c7199=_0x1ca7e9[_0x196fc2(-_0x2b199a._0x195eeb,_0x2b199a._0x3fc545)])!==null&&_0x5c7199!==void 0x0&&_0x5c7199['resolve']&&_0x1ca7e9['_promise'][_0x196fc2(0x15bf,0xc3c)](_0x5224da);};const _0x292828={};_0x292828['data']=_0x566842,this['_geoJsonLayer'][_0x2fc0e1(_0x4de90d._0x11f80f,_0x4de90d._0x349f44)](_0x292828);}else{var _0x133fa8;_0x1ca7e9[_0x206736(0x1183,0x9f7)]&&_0x1ca7e9['success'](_0x5224da),(_0x133fa8=_0x1ca7e9['_promise'])!==null&&_0x133fa8!==void 0x0&&_0x133fa8[_0x206736(0xdc4,0xc22)]&&_0x1ca7e9[_0x206736(_0x4de90d._0x35740f,0x447)][_0x2fc0e1(_0x4de90d._0x34f820,0xaf7)](_0x5224da);}}}[_0x2b6441(0x59f,0x342)](_0x100e0d){const _0x3e5d34={_0x4b9e5e:0xbd3,_0x2874b6:0x8b3,_0x3db431:0x16b1},_0x559d70={_0x2b7d0c:0x3c8};function _0x562073(_0x2bf236,_0x53a53f){return _0x306755(_0x53a53f,_0x2bf236- -0x565);}function _0x112843(_0x57d30d,_0x4ac1f2){return _0x2b6441(_0x57d30d,_0x4ac1f2-_0x559d70._0x2b7d0c);}this[_0x562073(_0x3e5d34._0x4b9e5e,0xdcc)]&&(this['_last_success'](_0x100e0d['list']),this[_0x562073(0xbd3,_0x3e5d34._0x2874b6)]=null),this['fire'](EventType[_0x112843(0xf95,_0x3e5d34._0x3db431)],_0x100e0d);}['geoJsonLayer_onClickHandler'](_0x344394){const _0x28aab2={_0x4c27da:0xd76};function _0x485a1a(_0x2bb48f,_0x5ba34d){return _0x2b6441(_0x5ba34d,_0x2bb48f-0x2af);}this['fire'](EventType[_0x485a1a(_0x28aab2._0x4c27da,0x2b9)],{..._0x344394,'layer':this['_geoJsonLayer']});}['clear'](){const _0x58f44a={_0x2fdb01:0xf67},_0xe8a7b4={_0x3023eb:0x1d1};function _0x2da94c(_0x45444b,_0x45685f){return _0x306755(_0x45444b,_0x45685f- -_0xe8a7b4._0x3023eb);}function _0x372bf7(_0x318785,_0x1ce949){return _0x306755(_0x1ce949,_0x318785- -0x39d);}this['_last_success']&&(this[_0x2da94c(0x113a,_0x58f44a._0x2fdb01)]=null),this[_0x372bf7(0xf4e,0x6ba)]&&this[_0x372bf7(0xf4e,0xaeb)]['clear']();}}function geojsonTypeToArcGIS(_0x51c069){const _0x186ade={_0xbef1a6:0xc7f,_0x48e09e:0x11c8,_0x14b1a5:0x9ff,_0x189d1f:0x52b,_0x491640:0x6e7,_0x42c6c7:0x9c,_0x168a2c:0x1304};let _0x95a231;function _0x3d3da4(_0x16ac37,_0x416115){return _0x2b6441(_0x416115,_0x16ac37-0x5d3);}function _0x3738b7(_0x38b035,_0x3adc99){return _0x2b6441(_0x38b035,_0x3adc99-0x385);}switch(_0x51c069){case'MultiPoint':_0x95a231='esriGeometryMultipoint';break;case _0x3738b7(0x1b3,_0x186ade._0xbef1a6):_0x95a231='esriGeometryPolyline';break;case _0x3738b7(_0x186ade._0x48e09e,0xeec):_0x95a231='esriGeometryPolyline';break;case _0x3d3da4(_0x186ade._0x14b1a5,_0x186ade._0x189d1f):_0x95a231=_0x3d3da4(_0x186ade._0x491640,_0x186ade._0x42c6c7);break;case _0x3d3da4(0xa07,_0x186ade._0x168a2c):_0x95a231='esriGeometryPolygon';break;case _0x3738b7(-0x3a7,0x4e6):default:_0x95a231='esriGeometryPoint';break;}return _0x95a231;}const _0x4f2aed={};_0x4f2aed['__proto__']=null,_0x4f2aed[_0x306755(0x60a,0x9a4)]=BaiduPOI,_0x4f2aed['GaodePOI']=GaodePOI,_0x4f2aed['TdtPOI']=TdtPOI,_0x4f2aed[_0x2b6441(0xe9b,0x744)]=GaodeRoute,_0x4f2aed['QueryGeoServer']=QueryGeoServer,_0x4f2aed['QueryArcServer']=QueryArcServer;var index=_0x4f2aed;const name='Mars3D三维可视化平台',website='http://mars3d.cn',author='合肥火星科技有限公司';exports[_0x2b6441(0x593,0x689)]=Cesium__namespace,exports['BaseClass']=BaseClass,exports['BaseMaterialConver']=BaseMaterialConver,exports[_0x306755(0xb64,0x1244)]=BaseStyleConver,exports['BaseThing']=BaseThing,exports['BillboardStyleConver']=BillboardStyleConver,exports[_0x2b6441(-0x5c3,0x2dc)]=BoxStyleConver,exports['CRS']=CRS,exports['ChinaCRS']=ChinaCRS,exports[_0x2b6441(0x758,0x109c)]=CircleStyleConver,exports[_0x2b6441(0xd51,0x6a2)]=ClipType,exports[_0x2b6441(0x1472,0x1222)]=CloudStyleConver,exports[_0x306755(0x2163,0x17e9)]=ColorOptsConver,exports['ColorRamp']=ColorRamp,exports['ControlType']=ControlType,exports['ControlUtil']=ControlUtil,exports[_0x306755(0x13c0,0x1243)]=CorridorStyleConver,exports['CylinderStyleConver']=CylinderStyleConver,exports['DivGraphicStyleConver']=DivGraphicStyleConver,exports['DomUtil']=DomUtil,exports['DrawUtil']=DrawUtil,exports['EditPointType']=EditPointType,exports['EffectType']=EffectType,exports[_0x2b6441(0x188,0x678)]=EffectUtil,exports['EllipsoidStyleConver']=EllipsoidStyleConver,exports['EventType']=EventType,exports['GraphicType']=GraphicType,exports['GraphicUtil']=GraphicUtil,exports[_0x2b6441(0x8b3,0xfda)]=GroundSkyBox,exports[_0x2b6441(0x81d,0xdfd)]=GroupThing,exports['Icon']=Icon,exports[_0x2b6441(-0x7a,0x832)]=ImageOptsConver,exports['LabelStyleConver']=LabelStyleConver,exports['Lang']=Lang,exports['LayerType']=LayerType,exports['LayerUtil']=LayerUtil,exports['LngLatArray']=LngLatArray,exports['LngLatPoint']=LngLatPoint,exports[_0x306755(0x975,0x6a4)]=LocalWorldTransform,exports[_0x306755(0xd58,0xafb)]=Log,exports[_0x2b6441(-0x421,0x32c)]=Map,exports['MarsArray']=MarsArray,exports['MaterialType']=MaterialType$1,exports[_0x2b6441(0x14ef,0xcf3)]=MaterialUtil,exports['MeasureUtil']=MeasureUtil,exports['ModelStyleConver']=ModelStyleConver,exports[_0x2b6441(0x873,0x303)]=MoveType,exports[_0x306755(0xeba,0x1286)]=MultipleSkyBox,exports['PathStyleConver']=PathStyleConver,exports[_0x2b6441(0x13a,0x4ec)]=PlaneStyleConver,exports['PointStyleConver']=PointStyleConver,exports[_0x2b6441(0x1940,0xe7a)]=PointTrans,exports['PointUtil']=PointUtil,exports[_0x2b6441(-0x2a6,0x7f3)]=PolyUtil,exports[_0x306755(0x1b69,0x1359)]=PolygonStyleConver,exports['PolylineStyleConver']=PolylineStyleConver,exports[_0x306755(0x1958,0x143e)]=PolylineVolumeStyleConver,exports['RectangleStyleConver']=RectangleStyleConver,exports[_0x2b6441(0xe70,0x1374)]=RectangularSensorStyleConver,exports[_0x2b6441(0x39c,0xb7c)]=State,exports['TaskItem']=TaskItem,exports[_0x306755(0x1953,0x170b)]=Texture3,exports['ThingType']=ThingType,exports['ThingUtil']=ThingUtil,exports[_0x2b6441(0xa6b,0x587)]=Token,exports['Util']=Util,exports[_0x306755(0x582,0xc61)]=WallStyleConver,exports['author']=author,exports['control']=index$1,exports['edit']=index$6,exports['effect']=index$2,exports['graphic']=index$7,exports[_0x306755(0xecf,0x9ca)]=index$4,exports['material']=index$8,exports['name']=name,exports[_0x306755(0x93d,0xbc8)]=proj4,exports[_0x2b6441(0x19ba,0xf3d)]=index$5,exports[_0x2b6441(0xb4f,0x103e)]=index,exports[_0x2b6441(0x1560,0xb3d)]=index$3,exports['update']=update,exports['version']=version,exports['website']=website;const _0xb09253={};_0xb09253['value']=!![],Object['defineProperty'](exports,'__esModule',_0xb09253); })); diff --git a/public/lib/mars3d/plugins/echarts/mars3d-echarts.js b/public/lib/mars3d/plugins/echarts/mars3d-echarts.js index b5d307e0e..14990b864 100644 --- a/public/lib/mars3d/plugins/echarts/mars3d-echarts.js +++ b/public/lib/mars3d/plugins/echarts/mars3d-echarts.js @@ -2,7 +2,7 @@ * Mars3D平台插件,结合echarts可视化功能插件 mars3d-echarts * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:58 + * 编译日期:2024-12-03 18:05 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ @@ -11,5 +11,5 @@ typeof define === 'function' && define.amd ? define(['exports', 'echarts', 'mars3d'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-echarts"] = {}, global.echarts, global.mars3d)); })(this, (function (exports, echarts, mars3d) { -'use strict';(function(_0x35f499,_0x3524df){const _0x3fea82={_0x33b467:0x3c9,_0x34ae8d:0x1d3,_0x59c22e:0x3c5,_0x31504b:0x3a4,_0x3d0f06:0x1c4,_0x1cb5fa:0x1d0},_0x2f395c={_0x496f0f:0x56};function _0x271a4a(_0x132e26,_0x4174b9){return _0x52f2(_0x4174b9-_0x2f395c._0x496f0f,_0x132e26);}const _0x420595=_0x35f499();function _0x572c24(_0x19d384,_0x14cb1a){return _0x52f2(_0x14cb1a-0x209,_0x19d384);}while(!![]){try{const _0x38431f=parseInt(_0x271a4a(0x1d9,0x1d5))/0x1+parseInt(_0x572c24(0x349,0x364))/0x2*(-parseInt(_0x572c24(_0x3fea82._0x33b467,0x3bc))/0x3)+-parseInt(_0x572c24(0x383,0x363))/0x4+parseInt(_0x271a4a(0x1c4,0x1c2))/0x5+-parseInt(_0x572c24(0x376,0x387))/0x6*(-parseInt(_0x271a4a(0x1dd,_0x3fea82._0x34ae8d))/0x7)+parseInt(_0x572c24(_0x3fea82._0x59c22e,_0x3fea82._0x31504b))/0x8*(-parseInt(_0x271a4a(_0x3fea82._0x3d0f06,0x1bd))/0x9)+parseInt(_0x271a4a(_0x3fea82._0x1cb5fa,0x1bc))/0xa;if(_0x38431f===_0x3524df)break;else _0x420595['push'](_0x420595['shift']());}catch(_0x16a100){_0x420595['push'](_0x420595['shift']());}}}(_0x44ad,0x5c7cc));function _interopNamespace(_0x5c4ba4){if(_0x5c4ba4&&_0x5c4ba4['__esModule'])return _0x5c4ba4;var _0x546c0d=Object['create'](null);return _0x5c4ba4&&Object['keys'](_0x5c4ba4)['forEach'](function(_0x323506){if(_0x323506!=='default'){var _0x2756d7=Object['getOwnPropertyDescriptor'](_0x5c4ba4,_0x323506);Object['defineProperty'](_0x546c0d,_0x323506,_0x2756d7['get']?_0x2756d7:{'enumerable':!![],'get':function(){return _0x5c4ba4[_0x323506];}});}}),_0x546c0d['default']=_0x5c4ba4,_0x546c0d;}var echarts__namespace=_interopNamespace(echarts);function _0x4f36c9(_0x476076,_0x251bfd){return _0x52f2(_0x476076- -0x376,_0x251bfd);}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$1=mars3d__namespace['Cesium'];class CompositeCoordinateSystem{constructor(_0x19f7ce,_0x110801){const _0x15bb8a={_0x3ec586:0xf0};this['_mars3d_scene']=_0x19f7ce,this[_0x5284ce(0xa9,0x7f)]=['lng','lat'],this['_mapOffset']=[0x0,0x0];function _0x5284ce(_0x17cb10,_0x2e857c){return _0x52f2(_0x17cb10- -_0x15bb8a._0x3ec586,_0x2e857c);}this['_api']=_0x110801;}['setMapOffset'](_0x2bbc26){this['_mapOffset']=_0x2bbc26;}[_0x4f36c9(-0x1eb,-0x1d1)](){return this['_mars3d_scene'];}[_0x31fd0d(-0x20,-0x2d)](_0x3c5dbf){const _0x3b2071={_0x5adff7:0x20d,_0x851e53:0x1e3,_0x10372f:0x1ca,_0x5977c0:0x1e7,_0x1af4ce:0x20a,_0x221682:0x20f},_0x243920=this['_mars3d_scene'],_0x1375c7=[NaN,NaN];let _0x47b83b=_0x243920['echartsFixedHeight'];_0x243920['echartsAutoHeight']&&(_0x47b83b=_0x243920['getHeight'](Cesium$1[_0x58b34c(-0x247,-0x246)]['fromDegrees'](_0x3c5dbf[0x0],_0x3c5dbf[0x1])));const _0x5e244d=Cesium$1[_0x1540cb(-_0x3b2071._0x5adff7,-0x1e6)]['fromDegrees'](_0x3c5dbf[0x0],_0x3c5dbf[0x1],_0x47b83b);function _0x58b34c(_0x37c12b,_0x379fc1){return _0x31fd0d(_0x37c12b,_0x379fc1- -0x1d7);}if(!_0x5e244d)return _0x1375c7;const _0x44592c=mars3d__namespace['PointTrans']['toWindowCoordinates'](_0x243920,_0x5e244d);if(!_0x44592c)return _0x1375c7;if(_0x243920[_0x1540cb(-0x214,-0x209)]&&_0x243920['mode']===Cesium$1['SceneMode']['SCENE3D']){const _0x11cb0e=new Cesium$1[(_0x1540cb(-0x1fd,-_0x3b2071._0x851e53))](_0x243920['globe'][_0x1540cb(-_0x3b2071._0x10372f,-_0x3b2071._0x5977c0)],_0x243920['camera'][_0x58b34c(-0x22d,-_0x3b2071._0x1af4ce)]),_0x51fc78=_0x11cb0e[_0x1540cb(-_0x3b2071._0x221682,-0x1fb)](_0x5e244d);if(!_0x51fc78)return _0x1375c7;}function _0x1540cb(_0x154398,_0xccdfea){return _0x4f36c9(_0xccdfea- -0x1d,_0x154398);}return[_0x44592c['x']-this['_mapOffset'][0x0],_0x44592c['y']-this['_mapOffset'][0x1]];}[_0x4f36c9(-0x1d9,-0x206)](){const _0x3ffbd4={_0x10b669:0x439};function _0xb4a12d(_0xde7570,_0x104583){return _0x4f36c9(_0x104583-0x601,_0xde7570);}const _0x3f6572=this['_api'];function _0x42c988(_0x420fe7,_0x5c7a98){return _0x4f36c9(_0x420fe7-0x613,_0x5c7a98);}return new echarts__namespace[(_0xb4a12d(_0x3ffbd4._0x10b669,0x419))][(_0xb4a12d(0x3e0,0x3fa))](0x0,0x0,_0x3f6572['getWidth'](),_0x3f6572['getHeight']());}[_0x4f36c9(-0x1fc,-0x1cf)](){const _0x313ad9={_0x4ac5a7:0x147};function _0x20d61b(_0xa49150,_0x465856){return _0x4f36c9(_0xa49150-0x31a,_0x465856);}function _0x41a921(_0x4f6540,_0x4a5f48){return _0x4f36c9(_0x4f6540-0x5ff,_0x4a5f48);}return echarts__namespace[_0x20d61b(0x139,0x111)][_0x20d61b(_0x313ad9._0x4ac5a7,0x138)]();}}CompositeCoordinateSystem[_0x4f36c9(-0x1dd,-0x205)]=['lng',_0x31fd0d(-0x27,-0x46)],CompositeCoordinateSystem['create']=function(_0x47e76b,_0x287665){const _0x373c95={_0x1e7807:0x197},_0x4efee0={_0x46f1f6:0x245};function _0x125a18(_0x3cf045,_0x41b707){return _0x31fd0d(_0x3cf045,_0x41b707-0x279);}let _0x1812e2;const _0x3bcca0=_0x47e76b['scheduler']['ecInstance'][_0x3e226f(0x82,0xa0)];_0x47e76b[_0x125a18(0x20b,0x222)]('mars3dMap',function(_0x4e754e){const _0x551143=_0x287665['getZr']()[_0x2b9bab(-0x176,-0x17e)];if(!_0x551143)return;function _0x2b9bab(_0x2ee31a,_0x5354c4){return _0x3e226f(_0x2ee31a,_0x5354c4- -_0x4efee0._0x46f1f6);}!_0x1812e2&&(_0x1812e2=new CompositeCoordinateSystem(_0x3bcca0,_0x287665)),_0x4e754e['coordinateSystem']=_0x1812e2,_0x1812e2['setMapOffset'](_0x4e754e['__mapOffset']||[0x0,0x0]);});function _0x3e226f(_0x30daf9,_0x45f1d3){return _0x4f36c9(_0x45f1d3-0x2a1,_0x30daf9);}_0x47e76b['eachSeries'](function(_0x1538da){function _0x1da278(_0x2652f5,_0x5733cb){return _0x3e226f(_0x2652f5,_0x5733cb-0x11e);}_0x1538da[_0x1da278(_0x373c95._0x1e7807,0x1b3)]('coordinateSystem')==='mars3dMap'&&(!_0x1812e2&&(_0x1812e2=new CompositeCoordinateSystem(_0x3bcca0,_0x287665)),_0x1538da['coordinateSystem']=_0x1812e2);});};if(echarts__namespace!==null&&echarts__namespace!==void 0x0&&echarts__namespace['init']){echarts__namespace[_0x4f36c9(-0x211,-0x20b)]('mars3dMap',CompositeCoordinateSystem);const _0x33e3d6={};_0x33e3d6['type']='mars3dMapRoam',_0x33e3d6['event']='mars3dMapRoam',_0x33e3d6[_0x4f36c9(-0x1c8,-0x1c5)]=_0x31fd0d(-0x1a,-0x3c),echarts__namespace['registerAction'](_0x33e3d6,function(_0x417912,_0x193b7f){});const _0x4c2c85={};_0x4c2c85[_0x4f36c9(-0x1e9,-0x1da)]=![];const _0x455150={};_0x455150['type']='mars3dMap',_0x455150['getBMap']=function(){const _0x5bc027={_0x3d90e5:0x18a},_0x11e665={_0x1d258f:0x1c3};function _0x57844a(_0x562ee1,_0xa7c927){return _0x31fd0d(_0x562ee1,_0xa7c927-_0x11e665._0x1d258f);}return this[_0x57844a(_0x5bc027._0x3d90e5,0x16b)];},_0x455150[_0x4f36c9(-0x217,-0x1ff)]=_0x4c2c85,echarts__namespace[_0x31fd0d(-0x51,-0x26)](_0x455150),echarts__namespace[_0x31fd0d(-0x62,-0x4c)]({'type':'mars3dMap','init':function(_0x1458b0,_0x3aa61c){const _0x28a0ea={_0x16b3ab:0x25c,_0x17e453:0x286,_0x13d08a:0x2a1};function _0x510ed3(_0x1eaa65,_0x375ccf){return _0x31fd0d(_0x1eaa65,_0x375ccf-0x270);}this['api']=_0x3aa61c;function _0xadd919(_0x4aa2c1,_0x1f8b37){return _0x31fd0d(_0x4aa2c1,_0x1f8b37-0x2f5);}this[_0x510ed3(_0x28a0ea._0x16b3ab,0x255)]=_0x1458b0['scheduler']['ecInstance'][_0x510ed3(0x1ed,0x218)],this[_0xadd919(0x2f8,0x2da)][_0xadd919(_0x28a0ea._0x17e453,_0x28a0ea._0x13d08a)]['addEventListener'](this['moveHandler'],this);},'moveHandler':function(_0x452f6f,_0x4e242e){const _0x2589ab={};_0x2589ab['type']='mars3dMapRoam',this['api']['dispatchAction'](_0x2589ab);},'render':function(_0x25d365,_0x5051aa,_0x5a0f58){},'dispose':function(_0x5ecda3){const _0x5ca805={_0x4f3c4f:0x202};function _0x54e513(_0x1f257b,_0x3dde10){return _0x31fd0d(_0x1f257b,_0x3dde10-_0x5ca805._0x4f3c4f);}this['scene']['postRender'][_0x54e513(0x1ab,0x1a0)](this['moveHandler'],this);}});}else throw new Error(_0x4f36c9(-0x208,-0x232));const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace['layer'][_0x31fd0d(-0x41,-0x25)];class EchartsLayer extends BaseLayer{constructor(_0x4110c9={}){const _0x8b726a={_0x3a0bdf:0x10d,_0x44ac1d:0x129};function _0x827633(_0x3ab849,_0x34ba12){return _0x4f36c9(_0x3ab849-0x10d,_0x34ba12);}super(_0x4110c9),this[_0x827633(-_0x8b726a._0x3a0bdf,-_0x8b726a._0x44ac1d)]=this['options']['pointerEvents'];}get['layer'](){const _0x2d811f={_0x46da17:0x12d};function _0x26f7f1(_0x54fd04,_0x3a2a7f){return _0x4f36c9(_0x54fd04-0xd9,_0x3a2a7f);}return this[_0x26f7f1(-0x121,-_0x2d811f._0x46da17)];}get[_0x4f36c9(-0x1e3,-0x208)](){function _0x33d9bd(_0x358515,_0x533e28){return _0x4f36c9(_0x533e28-0x1d5,_0x358515);}return this[_0x33d9bd(-0x53,-0x45)];}set['pointerEvents'](_0x54ca14){this['_pointerEvents']=_0x54ca14;function _0x17e14(_0x4f5fa2,_0x516ba9){return _0x31fd0d(_0x4f5fa2,_0x516ba9-0x51d);}function _0x3ed629(_0x1882b9,_0x252531){return _0x31fd0d(_0x1882b9,_0x252531- -0x81);}this[_0x3ed629(-0x7e,-0x9d)]&&(_0x54ca14?this['_echartsContainer']['style'][_0x3ed629(-0x90,-0xbb)]=_0x17e14(0x4e2,0x4f6):this['_echartsContainer']['style']['pointerEvents']=_0x17e14(0x4de,0x4d9));}['_setOptionsHook'](_0x4db0af,_0x3b16ee){this['setEchartsOption'](_0x4db0af);}['_showHook'](_0x50ef75){const _0xe972fd={_0x3521d0:0x92,_0x45bdc6:0xa6},_0x24d892={_0x486ba9:0x26b};function _0x59df17(_0x5b3eac,_0x138f8e){return _0x4f36c9(_0x5b3eac-0x632,_0x138f8e);}function _0x54f75a(_0x51f4f2,_0x5499e4){return _0x4f36c9(_0x5499e4-_0x24d892._0x486ba9,_0x51f4f2);}_0x50ef75?this[_0x54f75a(0xc5,0xa6)]['style']['visibility']=_0x59df17(0x42d,0x44f):this[_0x54f75a(_0xe972fd._0x3521d0,_0xe972fd._0x45bdc6)]['style']['visibility']='hidden';}[_0x31fd0d(-0x27,-0x23)](){const _0x2ea049={_0x49f6c0:0x3bf,_0x4e1dd9:0x3ce,_0x258dc7:0x8a,_0x930fd7:0x3c2,_0xbbddae:0x90,_0xf3784f:0x92,_0xc6baa5:0x3cc},_0xe64b3d={_0x1bff99:0x402},_0x3c4f1b={_0x1181aa:0xf7};function _0x540516(_0x17b403,_0x177e68){return _0x31fd0d(_0x177e68,_0x17b403-_0x3c4f1b._0x1181aa);}this['_map']['scene'][_0x33a3a4(_0x2ea049._0x49f6c0,_0x2ea049._0x4e1dd9)]=this['options']['depthTest']??!![],this[_0x540516(_0x2ea049._0x258dc7,0x86)][_0x33a3a4(0x3e7,_0x2ea049._0x930fd7)][_0x540516(0xae,_0x2ea049._0xbbddae)]=this[_0x540516(_0x2ea049._0xf3784f,0x69)]['clampToGround']??![];function _0x33a3a4(_0x6664e1,_0x3fa582){return _0x31fd0d(_0x3fa582,_0x6664e1-_0xe64b3d._0x1bff99);}this['_map']['scene']['echartsFixedHeight']=this['options'][_0x33a3a4(_0x2ea049._0xc6baa5,0x3d9)]??0x0;}['_addedHook'](){const _0x351c5b={_0x1b1c1d:0xae,_0x3067dc:0x3d6,_0x1e229c:0x3c2,_0x4b3cc7:0x3c1};function _0x2f851c(_0x164beb,_0x13b322){return _0x31fd0d(_0x13b322,_0x164beb-0x427);}this['_echartsContainer']=this[_0x2f851c(0x3fe,0x3d3)]();function _0x3edda8(_0x5c7766,_0x2a1098){return _0x4f36c9(_0x5c7766-0x2a7,_0x2a1098);}this['_echartsInstance']=echarts__namespace[_0x3edda8(0xb1,_0x351c5b._0x1b1c1d)](this[_0x2f851c(0x40b,0x3ea)]),this[_0x2f851c(_0x351c5b._0x3067dc,0x3e3)]['_mars3d_scene']=this['_map']['scene'],this['setEchartsOption'](this[_0x2f851c(_0x351c5b._0x1e229c,_0x351c5b._0x4b3cc7)]);}[_0x4f36c9(-0x1d1,-0x1f6)](){const _0x144dca={_0x3095d4:0x37a,_0x3d691d:0x366,_0x887a83:0x319,_0x1f3e4c:0x37a,_0x14ffa8:0x361};this['_echartsInstance']&&(this['_echartsInstance']['clear'](),this['_echartsInstance']['dispose'](),delete this['_echartsInstance']);function _0x5ba61b(_0x5934e2,_0x1a8028){return _0x31fd0d(_0x1a8028,_0x5934e2-0x396);}function _0x59eaf9(_0xc81c28,_0x50c4a8){return _0x4f36c9(_0x50c4a8-0x70d,_0xc81c28);}this[_0x5ba61b(_0x144dca._0x3095d4,_0x144dca._0x3d691d)]&&(this['_map']['container'][_0x5ba61b(0x326,_0x144dca._0x887a83)](this[_0x5ba61b(_0x144dca._0x1f3e4c,_0x144dca._0x14ffa8)]),delete this[_0x5ba61b(0x37a,0x3a3)]);}[_0x31fd0d(-0x36,-0x29)](){const _0x3477b1={_0x5748e3:0x48b,_0x557b33:0x17b,_0x5b5bee:0x160,_0x5f5b8f:0x188,_0x430905:0x48d,_0x3f85b8:0x4af,_0x59dd06:0x4a3,_0x707677:0x498,_0x1f2b47:0x1a5,_0x52c18e:0x491},_0x471834={_0x549ea8:0x6a0},_0x40ad9f=mars3d__namespace[_0x510e86(0x4d3,0x4af)][_0x111201(-0x12c,-0x14c)]('div','mars3d-echarts',this['_map']['container']);function _0x111201(_0x116eba,_0x4d05a0){return _0x4f36c9(_0x4d05a0-0x87,_0x116eba);}_0x40ad9f['id']=this['id'];function _0x510e86(_0x1c0470,_0x4c1a6e){return _0x4f36c9(_0x1c0470-_0x471834._0x549ea8,_0x4c1a6e);}return _0x40ad9f['style'][_0x510e86(_0x3477b1._0x5748e3,0x4b7)]='absolute',_0x40ad9f[_0x111201(-_0x3477b1._0x557b33,-_0x3477b1._0x5b5bee)][_0x111201(-_0x3477b1._0x5f5b8f,-0x16c)]=_0x510e86(0x4c8,0x4ca),_0x40ad9f['style'][_0x111201(-0x15e,-0x14e)]='0px',_0x40ad9f[_0x111201(-0x161,-0x160)][_0x111201(-0x190,-0x169)]=this[_0x510e86(0x48a,_0x3477b1._0x430905)][_0x111201(-0x15d,-0x13d)][_0x510e86(_0x3477b1._0x3f85b8,_0x3477b1._0x59dd06)]['clientWidth']+'px',_0x40ad9f['style']['height']=this['_map']['scene']['canvas']['clientHeight']+'px',_0x40ad9f[_0x510e86(0x4b9,0x4b1)]['pointerEvents']=this['_pointerEvents']?'all':'none',_0x40ad9f[_0x510e86(0x4b9,_0x3477b1._0x707677)]['zIndex']=this[_0x111201(-_0x3477b1._0x1f2b47,-0x187)][_0x510e86(0x48c,_0x3477b1._0x52c18e)]??0x9,_0x40ad9f;}[_0x4f36c9(-0x203,-0x1f2)](){const _0x1d62e7={_0x266977:0x14f,_0x435319:0x11e,_0x303188:0x132,_0x42a40a:0x21,_0x4b4113:0xf1,_0x332544:0x138,_0x31373b:0x127},_0xb2d264={_0x22760d:0xe7};function _0x49a91b(_0x39c354,_0x20a898){return _0x4f36c9(_0x39c354-0x1e5,_0x20a898);}if(!this['_echartsInstance'])return;function _0x14f6d7(_0x3e2878,_0x3525a6){return _0x31fd0d(_0x3525a6,_0x3e2878- -_0xb2d264._0x22760d);}this['_echartsContainer'][_0x49a91b(-0x2,0xf)]['width']=this['_map']['scene'][_0x14f6d7(-0x12f,-_0x1d62e7._0x266977)][_0x14f6d7(-_0x1d62e7._0x435319,-0xfb)]+'px',this[_0x14f6d7(-0x103,-0xfc)]['style'][_0x14f6d7(-0x132,-_0x1d62e7._0x303188)]=this[_0x49a91b(-0x31,-_0x1d62e7._0x42a40a)][_0x14f6d7(-0x102,-_0x1d62e7._0x4b4113)]['canvas']['clientHeight']+'px',this[_0x14f6d7(-_0x1d62e7._0x332544,-_0x1d62e7._0x31373b)]['resize']();}[_0x4f36c9(-0x212,-0x1f7)](_0x206c38,_0x5b2935,_0x3b6994){const _0x39aa14={_0x3addf9:0x88,_0x373082:0x8a,_0x3a0c62:0x207,_0x2997fc:0x7c},_0x4dfa1e={_0x354ab0:0xc1};function _0x48451d(_0x1f80cf,_0x2b18f9){return _0x31fd0d(_0x2b18f9,_0x1f80cf-_0x4dfa1e._0x354ab0);}function _0x30c045(_0x175091,_0x10c195){return _0x4f36c9(_0x175091- -0x12,_0x10c195);}if(this[_0x30c045(-0x20c,-0x224)]){const _0x441c73={};_0x441c73[_0x48451d(_0x39aa14._0x3addf9,_0x39aa14._0x373082)]=!![],_0x206c38={'mars3dMap':{},...mars3d__namespace[_0x30c045(-0x210,-_0x39aa14._0x3a0c62)]['getAttrVal'](_0x206c38,_0x441c73)},delete _0x206c38[_0x48451d(0x61,_0x39aa14._0x2997fc)],this['_echartsInstance']['setOption'](_0x206c38,_0x5b2935,_0x3b6994);}}['getRectangle'](_0x3e7da6){const _0x48e8f0={_0x46626f:0x295,_0x227b70:0x300,_0x4651df:0x2e3,_0x121d88:0x2e1,_0x17c537:0x302},_0x24972d={_0x1e3090:0x30d},_0x52324a={_0xe846cd:0x50b,_0x508e5f:0x256},_0xf991e1={_0x3f37a2:0x4c7};function _0x204640(_0x45347b,_0x21d15f){return _0x4f36c9(_0x45347b-_0xf991e1._0x3f37a2,_0x21d15f);}let _0x4daccf,_0xe8ef97,_0x4c2e20,_0x28f2ba;function _0x828259(_0x5bad34){const _0x45fbc2={_0x40ebfb:0x397};if(!Array[_0x36ce0d(_0x52324a._0xe846cd,0x505)](_0x5bad34))return;function _0x4e9301(_0x444e88,_0xf1507a){return _0x52f2(_0xf1507a- -0x3e8,_0x444e88);}const _0x4ae194=_0x5bad34[0x0]||0x0;function _0x36ce0d(_0x40bb87,_0x4bcd74){return _0x52f2(_0x40bb87-_0x45fbc2._0x40ebfb,_0x4bcd74);}const _0x51cb75=_0x5bad34[0x1]||0x0;_0x4ae194!==0x0&&_0x51cb75!==0x0&&(_0x4daccf===undefined?(_0x4daccf=_0x4ae194,_0xe8ef97=_0x4ae194,_0x4c2e20=_0x51cb75,_0x28f2ba=_0x51cb75):(_0x4daccf=Math['min'](_0x4daccf,_0x4ae194),_0xe8ef97=Math[_0x4e9301(-0x262,-_0x52324a._0x508e5f)](_0xe8ef97,_0x4ae194),_0x4c2e20=Math['min'](_0x4c2e20,_0x51cb75),_0x28f2ba=Math['max'](_0x28f2ba,_0x51cb75)));}const _0x372b59=this['options']['series'];_0x372b59&&_0x372b59[_0x204640(0x2b4,_0x48e8f0._0x46626f)](_0x556503=>{const _0x576ccd={_0x16a823:0x293};function _0x1e819e(_0x6f2481,_0x499a6b){return _0x204640(_0x499a6b-0x84,_0x6f2481);}function _0x24bd20(_0x3a2863,_0x36ba1d){return _0x204640(_0x36ba1d- -0x332,_0x3a2863);}_0x556503[_0x24bd20(-0x46,-0x6a)]&&_0x556503['data'][_0x1e819e(_0x24972d._0x1e3090,0x338)](_0x2d91dd=>{const _0x439617={_0x5ef718:0x3b};function _0x2cc394(_0x5b5f17,_0x20a561){return _0x24bd20(_0x5b5f17,_0x20a561- -_0x439617._0x5ef718);}function _0x51d72b(_0x5cb22e,_0x512c4a){return _0x1e819e(_0x512c4a,_0x5cb22e- -0xcd);}if(_0x2d91dd[_0x51d72b(0x2aa,0x2aa)])_0x828259(_0x2d91dd[_0x2cc394(-0x64,-0x7a)]);else _0x2d91dd[_0x51d72b(0x2b3,_0x576ccd._0x16a823)]&&_0x2d91dd['coords'][_0x51d72b(0x26b,0x282)](_0x34d09f=>{_0x828259(_0x34d09f);});});});if(_0x4daccf===0x0&&_0x4c2e20===0x0&&_0xe8ef97===0x0&&_0x28f2ba===0x0)return null;function _0x3d15f9(_0x4d44af,_0x568918){return _0x4f36c9(_0x4d44af-0x4e7,_0x568918);}if(_0x3e7da6!==null&&_0x3e7da6!==void 0x0&&_0x3e7da6[_0x204640(_0x48e8f0._0x227b70,0x2ec)]){const _0x198470={};return _0x198470['xmin']=_0x4daccf,_0x198470['xmax']=_0xe8ef97,_0x198470[_0x3d15f9(_0x48e8f0._0x4651df,0x30b)]=_0x4c2e20,_0x198470[_0x3d15f9(_0x48e8f0._0x121d88,_0x48e8f0._0x17c537)]=_0x28f2ba,_0x198470;}else return Cesium['Rectangle']['fromDegrees'](_0x4daccf,_0x4c2e20,_0xe8ef97,_0x28f2ba);}['on'](_0x17f316,_0x557011,_0x55916a){return this['_echartsInstance']['on'](_0x17f316,_0x557011,_0x55916a||this),this;}[_0x4f36c9(-0x1ee,-0x20c)](_0x1d08bb,_0x2282fd,_0x75e532,_0x51b92b){const _0x32e5df={_0x87fd6a:0x239};function _0xdf9c73(_0x1544c1,_0x3466ee){return _0x31fd0d(_0x1544c1,_0x3466ee-0x29f);}return this[_0xdf9c73(_0x32e5df._0x87fd6a,0x24e)]['on'](_0x1d08bb,_0x2282fd,_0x75e532,_0x51b92b||this),this;}[_0x31fd0d(-0x5b,-0x64)](_0x58c9c4,_0x105eb5,_0x5e817d){this[_0x1d5323(0x1a9,0x1d5)]['off'](_0x58c9c4,_0x105eb5,_0x5e817d||this);function _0x1d5323(_0x3e69b1,_0x4c2149){return _0x4f36c9(_0x4c2149-0x3cf,_0x3e69b1);}return this;}}mars3d__namespace['LayerUtil']['register'](_0x31fd0d(-0x52,-0x2e),EchartsLayer),mars3d__namespace[_0x4f36c9(-0x1e6,-0x1ee)][_0x4f36c9(-0x1fb,-0x1f4)]=EchartsLayer,mars3d__namespace[_0x31fd0d(-0x1b,-0x2e)]=echarts__namespace,exports['EchartsLayer']=EchartsLayer,Object['keys'](echarts)['forEach'](function(_0x15caa0){const _0x193099={_0x154b6f:0x86};function _0x213714(_0x28615e,_0x329ada){return _0x31fd0d(_0x329ada,_0x28615e- -0x69);}if(_0x15caa0!=='default'&&!exports['hasOwnProperty'](_0x15caa0))Object[_0x213714(-0xaa,-_0x193099._0x154b6f)](exports,_0x15caa0,{'enumerable':!![],'get':function(){return echarts[_0x15caa0];}});});function _0x31fd0d(_0x433a29,_0x212b46){const _0x531d6f={_0x5e2531:0x1cd};return _0x52f2(_0x212b46- -_0x531d6f._0x5e2531,_0x433a29);}const _0x5f1c48={};function _0x44ad(){const _0x43a7eb=['zwXSAxbZB2LK','q2fYDgvZAwfUmW','DxbKyxrL','AxngB3jTyxq','rwXSAxbZB2LKywXpy2nSDwrLCG','x2vJAgfYDhndB250ywLUzxi','C2nLBMu','owzcC01jvW','mJC3otCYmhjqC3rutq','ndy0mtu4AMXmtLv4','x3bVAw50zxjfDMvUDhm','CMvTB3zLq2HPBgq','q2fYDg9NCMfWAgLJ','zgvMyxvSDe9WDgLVBG','x21HCa','Cg9ZAxrPB24','EKLUzgv4','zM9YrwfJAa','C2v0rwnOyxj0C09WDgLVBG','CMvNAxn0zxjdB29YzgLUyxrLu3LZDgvT','mtq3otK2mJboBuPWt2u','mJi2nJa0n3r1AxnwDa','B3b0Aw9UCW','B2zM','z2v0','CMvTB3zLrxzLBNrmAxn0zw5LCG','ntiZndCWzLfbrvn2','zxzLBNrqyxjLBNq','6k+35BYv5ywLigvJAgfYDhmG5BQtia','qM91BMrPBMDszwn0','Ew1HEa','DMLZAwjSzq','Ew1PBG','CMvZAxPL','AxnbCNjHEq','x21HCNmZzf9Zy2vUzq','zwfJAenVBxbVBMvUDa','zgf0yq','vxrPBa','Cg9ZDfjLBMrLCG','z2v0uM9HBvrYyw5ZzM9YBq','rwnOyxj0C0XHEwvY','x2vJAgfYDhnjBNn0yw5Jzq','mZG0mdLZB3nctKe','mZbyBLv2Euy','nJyXndCWv0vZyxLw','Aw5PDa','zxH0zw5Kq29TCg9Uzw50vMLLDW','AgvPz2H0','Dg9W','zwnOyxj0C0f1Dg9izwLNAhq','y2fUDMfZ','D2LKDgG','Bgf0','B25cEvf1zxj5','BM9Uzq','zwnOyxj0C0rLChrOvgvZDa','z2v0qK1HCa','zgvMAw5LuhjVCgvYDhK','CM9HBq','z3jHCgHPyW','C3r5Bgu','Bgf5zxi','DxbKyxrLtgf5B3v0','Bwf4','Cg9PBNrLCKv2zw50CW','B25SEvnPBxbSzvr5Cgu','Bwf0CML4','y2XPzw50v2LKDgG','zML4zwrizwLNAhq','AxnqB2LUDfzPC2LIBgu','zgLTzw5ZAw9UCW','Cg9ZAxrPB25xqW','mtzOAuHVzeO','CgfPBNrLCG','z2v0vMLLD1jLy3q','mhb4','zwnOyxj0CW','zgf0yvrVug9PBNq','BgvMDa','DMfSDwu','y3jLyxrL','x2nYzwf0zunOyxj0t3zLCMXHEq','x3jLBw92zwriB29R','ywXS','zxH0zw5Kq29TCg9Uzw50tw9KzwW','qMfZzuXHEwvY','rg9TvxrPBa','x21VDw50zwriB29R','y29VCMrZ'];_0x44ad=function(){return _0x43a7eb;};return _0x44ad();}function _0x52f2(_0x397e37,_0x479e6c){const _0x44addb=_0x44ad();return _0x52f2=function(_0x52f2ad,_0x49c4f8){_0x52f2ad=_0x52f2ad-0x15a;let _0x5b44ff=_0x44addb[_0x52f2ad];if(_0x52f2['AxKSPL']===undefined){var _0x5e36f8=function(_0x33e3d6){const _0x4c2c85='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x455150='',_0x2c0a6d='';for(let _0x4a0fa9=0x0,_0x3ea561,_0x5f1c48,_0x5c4ba4=0x0;_0x5f1c48=_0x33e3d6['charAt'](_0x5c4ba4++);~_0x5f1c48&&(_0x3ea561=_0x4a0fa9%0x4?_0x3ea561*0x40+_0x5f1c48:_0x5f1c48,_0x4a0fa9++%0x4)?_0x455150+=String['fromCharCode'](0xff&_0x3ea561>>(-0x2*_0x4a0fa9&0x6)):0x0){_0x5f1c48=_0x4c2c85['indexOf'](_0x5f1c48);}for(let _0x546c0d=0x0,_0x323506=_0x455150['length'];_0x546c0d<_0x323506;_0x546c0d++){_0x2c0a6d+='%'+('00'+_0x455150['charCodeAt'](_0x546c0d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c0a6d);};_0x52f2['RPBBNe']=_0x5e36f8,_0x397e37=arguments,_0x52f2['AxKSPL']=!![];}const _0x1d5339=_0x44addb[0x0],_0x13929d=_0x52f2ad+_0x1d5339,_0x35fbab=_0x397e37[_0x13929d];return!_0x35fbab?(_0x5b44ff=_0x52f2['RPBBNe'](_0x5b44ff),_0x397e37[_0x13929d]=_0x5b44ff):_0x5b44ff=_0x35fbab,_0x5b44ff;},_0x52f2(_0x397e37,_0x479e6c);}_0x5f1c48['value']=!![],Object['defineProperty'](exports,'__esModule',_0x5f1c48); +'use strict';(function(_0x4e64fa,_0x1f8582){const _0x474285={_0x3f9b20:0x114,_0x372957:0x10f,_0x369785:0x124,_0x2a90ea:0x8d,_0x54549e:0x98,_0x198681:0x11b,_0x3537d8:0x8b,_0x11dbcb:0x95},_0x417fee={_0x677b4e:0x172};function _0x1c14a5(_0x528e99,_0x52823a){return _0x4d13(_0x52823a- -0x333,_0x528e99);}const _0x229eb0=_0x4e64fa();function _0x100e98(_0x564445,_0x1bc1c7){return _0x4d13(_0x1bc1c7- -_0x417fee._0x677b4e,_0x564445);}while(!![]){try{const _0x21a3a6=-parseInt(_0x1c14a5(-0x142,-_0x474285._0x3f9b20))/0x1*(-parseInt(_0x1c14a5(-0xe4,-_0x474285._0x372957))/0x2)+parseInt(_0x1c14a5(-0x153,-_0x474285._0x369785))/0x3*(-parseInt(_0x100e98(0x99,_0x474285._0x2a90ea))/0x4)+parseInt(_0x100e98(0xae,_0x474285._0x54549e))/0x5+-parseInt(_0x100e98(0x7f,0xab))/0x6+parseInt(_0x100e98(0x87,0x88))/0x7+-parseInt(_0x1c14a5(-0x11a,-_0x474285._0x198681))/0x8*(parseInt(_0x100e98(_0x474285._0x3537d8,_0x474285._0x11dbcb))/0x9)+parseInt(_0x100e98(0x8d,0x8c))/0xa;if(_0x21a3a6===_0x1f8582)break;else _0x229eb0['push'](_0x229eb0['shift']());}catch(_0x135db0){_0x229eb0['push'](_0x229eb0['shift']());}}}(_0x53e1,0x91747));function _0x4d13(_0x3e2df6,_0x3d2708){const _0x53e182=_0x53e1();return _0x4d13=function(_0x4d13c6,_0x2e3aff){_0x4d13c6=_0x4d13c6-0x1d6;let _0x351149=_0x53e182[_0x4d13c6];if(_0x4d13['MAGzhw']===undefined){var _0x5f0e1e=function(_0x2810bd){const _0x3954f6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26b869='',_0x2e629d='';for(let _0x2a117f=0x0,_0x4dc287,_0x266d68,_0x876792=0x0;_0x266d68=_0x2810bd['charAt'](_0x876792++);~_0x266d68&&(_0x4dc287=_0x2a117f%0x4?_0x4dc287*0x40+_0x266d68:_0x266d68,_0x2a117f++%0x4)?_0x26b869+=String['fromCharCode'](0xff&_0x4dc287>>(-0x2*_0x2a117f&0x6)):0x0){_0x266d68=_0x3954f6['indexOf'](_0x266d68);}for(let _0x35e818=0x0,_0x565843=_0x26b869['length'];_0x35e818<_0x565843;_0x35e818++){_0x2e629d+='%'+('00'+_0x26b869['charCodeAt'](_0x35e818)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e629d);};_0x4d13['pgTGIX']=_0x5f0e1e,_0x3e2df6=arguments,_0x4d13['MAGzhw']=!![];}const _0x4eaed6=_0x53e182[0x0],_0x130522=_0x4d13c6+_0x4eaed6,_0x2a33e4=_0x3e2df6[_0x130522];return!_0x2a33e4?(_0x351149=_0x4d13['pgTGIX'](_0x351149),_0x3e2df6[_0x130522]=_0x351149):_0x351149=_0x2a33e4,_0x351149;},_0x4d13(_0x3e2df6,_0x3d2708);}function _interopNamespace(_0x876792){const _0x4e2a3f={_0x534dce:0x155},_0x22266e={_0x30e904:0x10a,_0x1e2a16:0xcf},_0x2ab32d={_0x4e7cc7:0x289};if(_0x876792&&_0x876792['__esModule'])return _0x876792;var _0x35e818=Object['create'](null);_0x876792&&Object[_0x11a56a(0x3a3,0x384)](_0x876792)['forEach'](function(_0x565843){function _0x52d2ba(_0x13f2d6,_0x5f4080){return _0x11a56a(_0x5f4080,_0x13f2d6- -_0x2ab32d._0x4e7cc7);}function _0x521efe(_0x2748fe,_0x4e378e){return _0x11a56a(_0x2748fe,_0x4e378e-0x1b);}if(_0x565843!=='default'){var _0x419176=Object[_0x52d2ba(0xdc,_0x22266e._0x30e904)](_0x876792,_0x565843);Object['defineProperty'](_0x35e818,_0x565843,_0x419176[_0x52d2ba(_0x22266e._0x1e2a16,0xda)]?_0x419176:{'enumerable':!![],'get':function(){return _0x876792[_0x565843];}});}});_0x35e818['default']=_0x876792;function _0x11a56a(_0x4c6897,_0x1071a6){return _0x4d13(_0x1071a6-_0x4e2a3f._0x534dce,_0x4c6897);}return _0x35e818;}var echarts__namespace=_interopNamespace(echarts),mars3d__namespace=_interopNamespace(mars3d);function _0x53e1(){const _0x19fe8f=['nde1oda2rgzSwfbY','C2v0rwnOyxj0C09WDgLVBG','BwfYCZnKlwvJAgfYDhm','Cg9ZAxrPB24','z2v0sgvPz2H0','x2fKzgvKsg9VAW','rg9TvxrPBa','AgfZt3DUuhjVCgvYDhK','BwfYCZnKtwfWuM9HBq','y29VCMrZ','y3jLyxrL','A2v5CW','C3r5Bgu','C2nOzwr1BgvY','AxnbCNjHEq','z2XVyMu','zwXSAxbZB2LK','AgvPz2H0','yxbP','AgLKzgvU','B3b0Aw9UCW','x21HCa','y2XPzw50sgvPz2H0','CMvNAxn0zxjdB29YzgLUyxrLu3LZDgvT','zM9YrwfJAa','ywjZB2X1Dgu','x2vJAgfYDhndB250ywLUzxi','CMvNAxn0zxi','x3jLBw92zwriB29R','zwnjBNn0yw5Jzq','x2nYzwf0zunOyxj0t3zLCMXHEq','EKLUzgv4','Bwf4','zwfJAenVBxbVBMvUDa','y2fUDMfZ','Bgf0','qM91BMrPBMDszwn0','BwfYCZnKtwfW','zgLZCg9Zzq','Dg9xAw5KB3DdB29YzgLUyxrLCW','y29VCMrPBMf0zvn5C3rLBq','zgvMyxvSDe9WDgLVBG','zwfJAfnLCMLLCW','CMvTB3zLq2HPBgq','DMfSDwu','x19TyxbpzMzZzxq','AxngB3jTyxq','mhb4','BM9Uzq','rwnOyxj0C0XHEwvY','zgvMyxvSDa','C2nLBMu','mtC5mJbzzhfdAK4','z2v0uM9HBvrYyw5ZzM9YBq','Bw92zuHHBMrSzxi','x2fWAq','mZy3nZy2mgHmtKjMtG','otG3nJrPEffAu3u','CM9HBq','B2zM','x21HCe9MzNnLDa','z2v0','C2vYAwvZ','Bgf5zxi','CMvNAxn0zxjby3rPB24','mtaYndjKwK5JvfO','x21VDw50zwriB29R','B25cEvf1zxj5','nteZmtaXmgnVy0DNtW','zgLTzw5ZAw9UCW','B25SEvnPBxbSzvr5Cgu','Bw9Kzq','ywXS','nZHbA2HHrgC','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','CMvZAxPL','C2v0t3b0Aw9U','zgL2','BgvMDa','zwnOyxj0CW','Cg9ZAxrPB25xqW','zgf0yq','ntq0tKTdzLzu','Ew1PBG','x21HCNmZzf9Zy2vUzq','y29UDgfPBMvY','Aw5PDa','mtCZntC4ogr4sLDVzq','AxnqB2LUDfzPC2LIBgu','mxHrtK1PDW','x2vJAgfYDhnjBNn0yw5Jzq','y2XPzw50v2LKDgG','z2v0vMLLD1jLy3q','zwnOyxj0C0f1Dg9izwLNAhq'];_0x53e1=function(){return _0x19fe8f;};return _0x53e1();}const Cesium$1=mars3d__namespace['Cesium'];class CompositeCoordinateSystem{constructor(_0x44377f,_0x146e66){const _0x3bb747={_0x221927:0x3c6};function _0x18727b(_0x3b7fac,_0x21ae54){return _0x4d13(_0x3b7fac-0x1af,_0x21ae54);}this[_0x534d3a(-0x100,-0xf7)]=_0x44377f,this[_0x534d3a(-0x118,-0x106)]=['lng',_0x18727b(0x398,_0x3bb747._0x221927)];function _0x534d3a(_0x3cdad6,_0xd4aec2){return _0x4d13(_0xd4aec2- -0x311,_0x3cdad6);}this['_mapOffset']=[0x0,0x0],this[_0x18727b(0x3ac,0x3c9)]=_0x146e66;}['setMapOffset'](_0x240669){const _0x324001={_0x4b9f6f:0x226,_0x395c0f:0x1fb};function _0x5ca5e9(_0xc342b7,_0x4291a4){return _0x4d13(_0xc342b7-0x24,_0x4291a4);}this[_0x5ca5e9(_0x324001._0x4b9f6f,_0x324001._0x395c0f)]=_0x240669;}['getBMap'](){const _0x1509e4={_0x43d32a:0x217},_0x3c0a3e={_0x3a4b4c:0x19};function _0x4c764e(_0x33ef1a,_0x3f4396){return _0x4d13(_0x3f4396-_0x3c0a3e._0x3a4b4c,_0x33ef1a);}return this[_0x4c764e(_0x1509e4._0x43d32a,0x233)];}['dataToPoint'](_0x5ee3e4){const _0x403387={_0x1253f0:0x303,_0x478a8c:0x2f0,_0x45ba3b:0xc3,_0x363249:0xb8,_0xa656d7:0x314,_0x50ba66:0x8a,_0x4b4f01:0x2de,_0x1b1a3d:0xc3,_0x23a349:0xd2},_0xb9fd20={_0x36a4ad:0xc8},_0x27aedc=this['_mars3d_scene'];function _0x63ed4b(_0x11f065,_0x2c3dac){return _0x4d13(_0x2c3dac- -0x14c,_0x11f065);}const _0x70f56e=[NaN,NaN];let _0x3276b6=_0x27aedc['echartsFixedHeight'];_0x27aedc['echartsAutoHeight']&&(_0x3276b6=_0x27aedc[_0x33ad46(_0x403387._0x1253f0,_0x403387._0x478a8c)](Cesium$1['Cartographic']['fromDegrees'](_0x5ee3e4[0x0],_0x5ee3e4[0x1])));const _0x5608a9=Cesium$1['Cartesian3']['fromDegrees'](_0x5ee3e4[0x0],_0x5ee3e4[0x1],_0x3276b6);function _0x33ad46(_0xce6544,_0x50e828){return _0x4d13(_0x50e828-_0xb9fd20._0x36a4ad,_0xce6544);}if(!_0x5608a9)return _0x70f56e;const _0x202cdb=mars3d__namespace['PointTrans'][_0x63ed4b(_0x403387._0x45ba3b,0xa1)](_0x27aedc,_0x5608a9);if(!_0x202cdb)return _0x70f56e;if(_0x27aedc['echartsDepthTest']&&_0x27aedc[_0x63ed4b(_0x403387._0x363249,0xc1)]===Cesium$1['SceneMode']['SCENE3D']){const _0x1f94ec=new Cesium$1['EllipsoidalOccluder'](_0x27aedc[_0x33ad46(_0x403387._0xa656d7,0x2fb)][_0x63ed4b(0x7c,_0x403387._0x50ba66)],_0x27aedc['camera'][_0x33ad46(0x2b8,_0x403387._0x4b4f01)]),_0x541c24=_0x1f94ec[_0x63ed4b(_0x403387._0x1b1a3d,_0x403387._0x23a349)](_0x5608a9);if(!_0x541c24)return _0x70f56e;}return[_0x202cdb['x']-this['_mapOffset'][0x0],_0x202cdb['y']-this[_0x63ed4b(0x8c,0xb6)][0x1]];}[_0x15ea55(-0x18f,-0x1b9)](){const _0x3ddd07={_0x2377b7:0x51f},_0x7b1451=this['_api'];function _0x2fe46c(_0x14ef9b,_0x274496){return _0x15ea55(_0x274496,_0x14ef9b-_0x3ddd07._0x2377b7);}return new echarts__namespace['graphic'][(_0x2fe46c(0x32e,0x323))](0x0,0x0,_0x7b1451['getWidth'](),_0x7b1451['getHeight']());}[_0x15ea55(-0x1ce,-0x1e0)](){return echarts__namespace['matrix']['create']();}}CompositeCoordinateSystem['dimensions']=['lng',_0x4b2432(0x406,0x429)],CompositeCoordinateSystem[_0x15ea55(-0x1a3,-0x1ad)]=function(_0x581b3d,_0x2522ca){const _0x4dd5a5={_0xa41ed8:0x68,_0x5004ac:0x52,_0x160cbd:0x4d},_0x2ed25f={_0x539b29:0x590,_0x3e02ae:0x5a0},_0x81bcb6={_0x1e489c:0x1a};let _0x3f9e1b;const _0x34492d=_0x581b3d['scheduler'][_0x298211(-0x56,-_0x4dd5a5._0xa41ed8)]['_mars3d_scene'];function _0x354086(_0x32f3e9,_0x12085c){return _0x4b2432(_0x12085c,_0x32f3e9-0x10b);}function _0x298211(_0x469534,_0x3eb2a7){return _0x4b2432(_0x3eb2a7,_0x469534- -0x479);}_0x581b3d[_0x298211(-_0x4dd5a5._0x5004ac,-0x5e)](_0x354086(0x536,0x52f),function(_0x17539a){const _0x36d927={_0x19e8b2:0x38c},_0x5296ae=_0x2522ca['getZr']()['painter'];function _0x4a6958(_0xe56209,_0x3cb4cb){return _0x354086(_0x3cb4cb- -_0x36d927._0x19e8b2,_0xe56209);}if(!_0x5296ae)return;!_0x3f9e1b&&(_0x3f9e1b=new CompositeCoordinateSystem(_0x34492d,_0x2522ca));function _0x26cd42(_0x43600f,_0x19de74){return _0x354086(_0x19de74- -0x502,_0x43600f);}_0x17539a[_0x26cd42(_0x81bcb6._0x1e489c,0x37)]=_0x3f9e1b,_0x3f9e1b['setMapOffset'](_0x17539a[_0x4a6958(0x1dd,0x1b2)]||[0x0,0x0]);}),_0x581b3d[_0x298211(-0x49,-_0x4dd5a5._0x160cbd)](function(_0x2014d8){const _0x34411f={_0x427255:0x5c6};function _0x502a80(_0x57c3ba,_0x143687){return _0x298211(_0x57c3ba-_0x34411f._0x427255,_0x143687);}function _0x13a5b8(_0x1a4d70,_0x4f3ee0){return _0x298211(_0x4f3ee0-0x2c4,_0x1a4d70);}_0x2014d8[_0x502a80(_0x2ed25f._0x539b29,0x575)](_0x502a80(0x57b,_0x2ed25f._0x3e02ae))===_0x502a80(0x578,0x560)&&(!_0x3f9e1b&&(_0x3f9e1b=new CompositeCoordinateSystem(_0x34492d,_0x2522ca)),_0x2014d8[_0x502a80(0x57b,0x562)]=_0x3f9e1b);});};if(echarts__namespace!==null&&echarts__namespace!==void 0x0&&echarts__namespace['init']){echarts__namespace[_0x4b2432(0x3fa,0x41d)](_0x15ea55(-0x1cf,-0x1f0),CompositeCoordinateSystem);const _0x2810bd={};_0x2810bd['type']='mars3dMapRoam',_0x2810bd['event']='mars3dMapRoam',_0x2810bd['update']='updateLayout',echarts__namespace[_0x4b2432(0x472,0x446)](_0x2810bd,function(_0xbede12,_0x210464){});const _0x3954f6={};_0x3954f6[_0x15ea55(-0x1dd,-0x1db)]=![];const _0x26b869={};_0x26b869['type']='mars3dMap',_0x26b869['getBMap']=function(){return this['_mars3d_scene'];},_0x26b869[_0x15ea55(-0x1f1,-0x1ec)]=_0x3954f6,echarts__namespace['extendComponentModel'](_0x26b869),echarts__namespace['extendComponentView']({'type':'mars3dMap','init':function(_0x5a0a4d,_0x1d6f32){const _0x292a85={_0x1bcb47:0x2b9,_0xee1371:0x291};this['api']=_0x1d6f32;function _0x348d6d(_0x40618c,_0x15f815){return _0x4b2432(_0x40618c,_0x15f815- -0x384);}this['scene']=_0x5a0a4d[_0x597e25(_0x292a85._0x1bcb47,_0x292a85._0xee1371)]['ecInstance']['_mars3d_scene'];function _0x597e25(_0x14ce4c,_0x2439c8){return _0x4b2432(_0x2439c8,_0x14ce4c- -0x1b8);}this['scene']['postRender']['addEventListener'](this[_0x348d6d(0xc7,0xb8)],this);},'moveHandler':function(_0x42ebd1,_0x40cf5d){const _0x4f07ca={_0x56452a:0x26a},_0x37cf74={_0x4ea15b:0x697};function _0x453769(_0x4e2650,_0x2e7999){return _0x15ea55(_0x4e2650,_0x2e7999-_0x37cf74._0x4ea15b);}const _0x499940={};_0x499940['type']=_0x2f2e40(0x2f7,0x2e4);function _0x2f2e40(_0xe14c49,_0x14df43){return _0x15ea55(_0xe14c49,_0x14df43-0x493);}this[_0x2f2e40(_0x4f07ca._0x56452a,0x290)]['dispatchAction'](_0x499940);},'render':function(_0x42f6dc,_0x4742e9,_0x1584ba){},'dispose':function(_0x35d321){const _0x367ec9={_0x14e5a1:0x286},_0x19e68f={_0x50253a:0x1b3};function _0x23c593(_0x4c879c,_0x1d75ea){return _0x4b2432(_0x4c879c,_0x1d75ea- -_0x19e68f._0x50253a);}this[_0x23c593(0x2b4,_0x367ec9._0x14e5a1)]['postRender']['removeEventListener'](this['moveHandler'],this);}});}else throw new Error('请引入\x20echarts\x20库\x20');const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x15ea55(-0x1f8,-0x1d6)]['BaseLayer'];class EchartsLayer extends BaseLayer{constructor(_0x31c315={}){const _0x20471d={_0x4776f1:0x151};function _0x54f3a5(_0x4adb7e,_0x821c6e){return _0x4b2432(_0x4adb7e,_0x821c6e-_0x20471d._0x4776f1);}super(_0x31c315),this['_pointerEvents']=this[_0x54f3a5(0x584,0x56b)]['pointerEvents'];}get[_0x4b2432(0x41d,0x445)](){const _0x233c69={_0x2dbc10:0x37c},_0x528fdf={_0x439fea:0x537};function _0x1b3503(_0x2954c5,_0x22d0be){return _0x15ea55(_0x22d0be,_0x2954c5-_0x528fdf._0x439fea);}return this[_0x1b3503(_0x233c69._0x2dbc10,0x36b)];}get['pointerEvents'](){return this['_pointerEvents'];}set['pointerEvents'](_0x203129){const _0x20d404={_0x3bfc05:0x4b7,_0xb310bf:0x41b},_0x48fedb={_0x206bb0:0x1};this['_pointerEvents']=_0x203129;function _0x4bb93c(_0x504420,_0x4f23e4){return _0x4b2432(_0x504420,_0x4f23e4-_0x48fedb._0x206bb0);}function _0x52e90c(_0x4e5adb,_0xc17601){return _0x4b2432(_0x4e5adb,_0xc17601-0x95);}this['_echartsContainer']&&(_0x203129?this['_echartsContainer']['style']['pointerEvents']=_0x52e90c(_0x20d404._0x3bfc05,0x4e3):this[_0x4bb93c(_0x20d404._0xb310bf,0x421)]['style']['pointerEvents']='none');}['_setOptionsHook'](_0x319ced,_0x4b7704){this['setEchartsOption'](_0x319ced);}['_showHook'](_0x5e01f6){const _0x12fa45={_0x1799cb:0x4b,_0x358a26:0x11c,_0xdb8f3f:0x144,_0x3180fe:0x9},_0x1bce19={_0x36dd22:0x425};function _0x41ec49(_0xf4e3f6,_0x4e5a00){return _0x4b2432(_0xf4e3f6,_0x4e5a00- -_0x1bce19._0x36dd22);}function _0x58bc66(_0x119ec9,_0x5a98e3){return _0x4b2432(_0x119ec9,_0x5a98e3- -0x5b4);}_0x5e01f6?this[_0x41ec49(-0x34,-0x5)][_0x41ec49(0x4c,_0x12fa45._0x1799cb)]['visibility']='visible':this['_echartsContainer'][_0x58bc66(-_0x12fa45._0x358a26,-_0x12fa45._0xdb8f3f)]['visibility']=_0x41ec49(_0x12fa45._0x3180fe,-0xc);}[_0x15ea55(-0x1f7,-0x1d3)](){const _0x53108f={_0x2c0fb3:0x280,_0x203020:0x9a};this['_map'][_0x4edba8(0x291,_0x53108f._0x2c0fb3)]['echartsDepthTest']=this['options']['depthTest']??!![];function _0x4edba8(_0x372a2b,_0x582e7d){return _0x4b2432(_0x372a2b,_0x582e7d- -0x1b9);}function _0x150bd0(_0xe5c1dc,_0x3df18c){return _0x4b2432(_0xe5c1dc,_0x3df18c- -0x3cb);}this['_map']['scene'][_0x150bd0(_0x53108f._0x203020,0x98)]=this['options']['clampToGround']??![],this[_0x150bd0(0x34,0x50)][_0x4edba8(0x28c,0x280)]['echartsFixedHeight']=this['options']['fixedHeight']??0x0;}[_0x15ea55(-0x1a0,-0x1b2)](){const _0x1742a0={_0x59ebdc:0x447,_0x24b2da:0x456,_0x4b8b25:0x450,_0x11f178:0x24e};function _0x3893e5(_0xa81ca,_0x550461){return _0x4b2432(_0x550461,_0xa81ca- -0x1b2);}this['_echartsContainer']=this['_createChartOverlay'](),this[_0x4c912b(0x42d,0x45a)]=echarts__namespace[_0x4c912b(_0x1742a0._0x59ebdc,_0x1742a0._0x24b2da)](this['_echartsContainer']);function _0x4c912b(_0x14fbf8,_0x1dbca2){return _0x4b2432(_0x14fbf8,_0x1dbca2- -0x6);}this[_0x4c912b(_0x1742a0._0x4b8b25,0x45a)]['_mars3d_scene']=this[_0x3893e5(0x269,_0x1742a0._0x11f178)]['scene'],this['setEchartsOption'](this[_0x3893e5(0x268,0x25e)]);}[_0x4b2432(0x43f,0x422)](){const _0x309210={_0x4b3de6:0x116,_0x406e27:0x35,_0x1acbdb:0xd0,_0x47422e:0xea,_0x5c813e:0x41,_0x27952d:0x132,_0x75fe96:0x12a};this['_echartsInstance']&&(this[_0xc6a734(-_0x309210._0x4b3de6,-0xea)]['clear'](),this['_echartsInstance'][_0x4e704f(-_0x309210._0x406e27,-0x4c)](),delete this[_0xc6a734(-_0x309210._0x1acbdb,-_0x309210._0x47422e)]);function _0x4e704f(_0x1a1280,_0x1eeb9a){return _0x15ea55(_0x1eeb9a,_0x1a1280-0x1ba);}function _0xc6a734(_0x12c104,_0x5eb0b4){return _0x15ea55(_0x12c104,_0x5eb0b4-0xd1);}this[_0x4e704f(-_0x309210._0x5c813e,-0x56)]&&(this[_0xc6a734(-0x141,-0x12f)]['container'][_0xc6a734(-_0x309210._0x27952d,-0x119)](this[_0xc6a734(-0x106,-0x12a)]),delete this[_0xc6a734(-0x14f,-_0x309210._0x75fe96)]);}[_0x15ea55(-0x1fa,-0x1f7)](){const _0x142bfd={_0x3956de:0x160,_0x4cdd15:0x553,_0x524086:0x55b,_0xff6217:0x56d,_0x50d694:0x570,_0x28e300:0x12b,_0x3a2532:0x534,_0x2c9f85:0x52b},_0x3fd131={_0x49ed23:0x100},_0x32db6b=mars3d__namespace[_0x25ae65(0x143,_0x142bfd._0x3956de)]['create'](_0x326b3b(0x52d,_0x142bfd._0x4cdd15),_0x326b3b(0x560,0x566),this['_map'][_0x326b3b(0x548,_0x142bfd._0x524086)]);_0x32db6b['id']=this['id'],_0x32db6b['style'][_0x326b3b(_0x142bfd._0xff6217,0x567)]=_0x25ae65(0x125,0x115),_0x32db6b[_0x326b3b(0x565,_0x142bfd._0x50d694)]['top']=_0x25ae65(0x116,_0x142bfd._0x28e300),_0x32db6b['style'][_0x326b3b(0x550,0x554)]='0px';function _0x326b3b(_0x48571e,_0x5bb035){return _0x4b2432(_0x48571e,_0x5bb035-_0x3fd131._0x49ed23);}_0x32db6b['style']['width']=this['_map']['scene']['canvas']['clientWidth']+'px';function _0x25ae65(_0x252437,_0x4b1248){return _0x15ea55(_0x252437,_0x4b1248-0x311);}return _0x32db6b['style'][_0x326b3b(0x51f,0x517)]=this[_0x326b3b(_0x142bfd._0x3a2532,0x51b)]['scene'][_0x25ae65(0x10d,0x11e)]['clientHeight']+'px',_0x32db6b['style']['pointerEvents']=this['_pointerEvents']?'all':_0x25ae65(0x13c,0x12c),_0x32db6b['style']['zIndex']=this['options'][_0x326b3b(_0x142bfd._0x2c9f85,0x525)]??0x9,_0x32db6b;}[_0x15ea55(-0x1c3,-0x1ca)](){const _0x494774={_0xb293d0:0x59e,_0x22ab41:0x471,_0x38c367:0x568,_0x74e773:0x580},_0x5bf801={_0xd64143:0x74a};function _0x4d73d1(_0x1addef,_0xb7a169){return _0x15ea55(_0xb7a169,_0x1addef-_0x5bf801._0xd64143);}if(!this[_0x4d73d1(0x58f,_0x494774._0xb293d0)])return;function _0x5ac8b9(_0x4a0b54,_0x2de804){return _0x15ea55(_0x4a0b54,_0x2de804-0x671);}this['_echartsContainer']['style']['width']=this['_map']['scene'][_0x5ac8b9(0x495,0x47e)][_0x5ac8b9(0x4bd,0x4b7)]+'px',this['_echartsContainer']['style']['height']=this[_0x5ac8b9(0x478,_0x494774._0x22ab41)][_0x4d73d1(_0x494774._0x38c367,_0x494774._0x74e773)]['canvas'][_0x4d73d1(0x54b,0x552)]+'px',this['_echartsInstance'][_0x4d73d1(0x580,0x573)]();}[_0x15ea55(-0x1ac,-0x1b6)](_0x4fe61e,_0x41931e,_0x28fa25){const _0x1c4dcf={_0x2369de:0x45e,_0x5728e3:0x470,_0x42fb55:0x49c,_0x10020b:0x45d},_0x2e443b={_0x47f325:0x12},_0x30c521={_0x33d010:0x62b};function _0x1ed3d8(_0x37d2b4,_0x38c9e4){return _0x15ea55(_0x38c9e4,_0x37d2b4-_0x30c521._0x33d010);}function _0x362c0f(_0x15911e,_0x5400b8){return _0x4b2432(_0x5400b8,_0x15911e-_0x2e443b._0x47f325);}if(this['_echartsInstance']){const _0x1ad286={};_0x1ad286[_0x362c0f(_0x1c4dcf._0x2369de,0x489)]=!![],_0x4fe61e={'mars3dMap':{},...mars3d__namespace['Util']['getAttrVal'](_0x4fe61e,_0x1ad286)},delete _0x4fe61e['eventParent'],this[_0x1ed3d8(_0x1c4dcf._0x5728e3,_0x1c4dcf._0x42fb55)][_0x362c0f(0x464,_0x1c4dcf._0x10020b)](_0x4fe61e,_0x41931e,_0x28fa25);}}['getRectangle'](_0x534f13){const _0x138621={_0x27123a:0x85,_0x10be70:0x2fd,_0x226c6b:0x2ce,_0x123ac1:0x98},_0x2ba201={_0x5be265:0x2dd},_0x325f97={_0x4b4684:0x315,_0x158623:0x200,_0x1766f4:0x36d},_0x4b088e={_0x4581e3:0x399},_0xb60282={_0x2be345:0x4f5};let _0x362f1b,_0x5f1d44,_0x41981d,_0x169ec9;function _0x1e2cbd(_0x5aea22,_0x37253f){return _0x4b2432(_0x37253f,_0x5aea22- -0x137);}function _0x396094(_0x367257){function _0x2490aa(_0x694f22,_0x9871a7){return _0x4d13(_0x9871a7-0x2f0,_0x694f22);}if(!Array[_0x2490aa(_0xb60282._0x2be345,0x522)](_0x367257))return;const _0x2d1016=_0x367257[0x0]||0x0,_0x133a2d=_0x367257[0x1]||0x0;function _0x468e55(_0x1ff1f5,_0x1386db){return _0x4d13(_0x1ff1f5-0x2cf,_0x1386db);}_0x2d1016!==0x0&&_0x133a2d!==0x0&&(_0x362f1b===undefined?(_0x362f1b=_0x2d1016,_0x5f1d44=_0x2d1016,_0x41981d=_0x133a2d,_0x169ec9=_0x133a2d):(_0x362f1b=Math['min'](_0x362f1b,_0x2d1016),_0x5f1d44=Math['max'](_0x5f1d44,_0x2d1016),_0x41981d=Math['min'](_0x41981d,_0x133a2d),_0x169ec9=Math[_0x2490aa(0x504,0x4d6)](_0x169ec9,_0x133a2d)));}function _0x2d1bfe(_0x22e2d4,_0x3eb5f3){return _0x4b2432(_0x22e2d4,_0x3eb5f3- -_0x4b088e._0x4581e3);}const _0x193fd0=this[_0x1e2cbd(0x2e3,0x2c0)][_0x2d1bfe(0xd9,0xab)];_0x193fd0&&_0x193fd0[_0x2d1bfe(0x8b,_0x138621._0x27123a)](_0x4cacb5=>{function _0x554459(_0x20762f,_0x3041de){return _0x1e2cbd(_0x20762f- -0x45,_0x3041de);}_0x4cacb5['data']&&_0x4cacb5[_0x554459(0x2db,_0x2ba201._0x5be265)]['forEach'](_0x24b10b=>{function _0x19b977(_0x59b675,_0xf931ea){return _0x554459(_0x59b675-0x7c,_0xf931ea);}function _0x3588b3(_0x56026d,_0x4b88f0){return _0x554459(_0x56026d- -0x112,_0x4b88f0);}if(_0x24b10b['value'])_0x396094(_0x24b10b[_0x19b977(0x332,_0x325f97._0x4b4684)]);else _0x24b10b[_0x3588b3(0x1df,_0x325f97._0x158623)]&&_0x24b10b[_0x19b977(_0x325f97._0x1766f4,0x390)]['forEach'](_0x26361e=>{_0x396094(_0x26361e);});});});if(_0x362f1b===0x0&&_0x41981d===0x0&&_0x5f1d44===0x0&&_0x169ec9===0x0)return null;if(_0x534f13!==null&&_0x534f13!==void 0x0&&_0x534f13[_0x1e2cbd(_0x138621._0x10be70,_0x138621._0x226c6b)]){const _0x15d5d9={};return _0x15d5d9['xmin']=_0x362f1b,_0x15d5d9['xmax']=_0x5f1d44,_0x15d5d9[_0x2d1bfe(_0x138621._0x123ac1,0xc0)]=_0x41981d,_0x15d5d9['ymax']=_0x169ec9,_0x15d5d9;}else return Cesium['Rectangle']['fromDegrees'](_0x362f1b,_0x41981d,_0x5f1d44,_0x169ec9);}['on'](_0x3961dc,_0xf99369,_0x48d143){return this['_echartsInstance']['on'](_0x3961dc,_0xf99369,_0x48d143||this),this;}[_0x4b2432(0x45b,0x449)](_0x354ed7,_0x451efd,_0x32d3d1,_0x426d5a){const _0x172934={_0x2721ce:0x117};this[_0x23da7f(0xf7,_0x172934._0x2721ce)]['on'](_0x354ed7,_0x451efd,_0x32d3d1,_0x426d5a||this);function _0x23da7f(_0x424f3f,_0x440bb9){return _0x4b2432(_0x440bb9,_0x424f3f- -0x369);}return this;}[_0x15ea55(-0x1af,-0x1da)](_0x732463,_0xc033fb,_0x4b72bc){return this['_echartsInstance']['off'](_0x732463,_0xc033fb,_0x4b72bc||this),this;}}function _0x4b2432(_0x3cd563,_0x304af6){return _0x4d13(_0x304af6-0x240,_0x3cd563);}function _0x15ea55(_0x156b0e,_0x553ff9){return _0x4d13(_0x553ff9- -0x3db,_0x156b0e);}mars3d__namespace['LayerUtil'][_0x4b2432(0x3fe,0x421)](_0x4b2432(0x451,0x455),EchartsLayer),mars3d__namespace['layer']['EchartsLayer']=EchartsLayer,mars3d__namespace['echarts']=echarts__namespace,exports[_0x15ea55(-0x203,-0x1e4)]=EchartsLayer,Object[_0x15ea55(-0x186,-0x1ac)](echarts)[_0x4b2432(0x42b,0x41e)](function(_0x27f526){const _0x4b5fec={_0x4e4e4b:0x596};function _0x1863c6(_0x32579e,_0x789426){return _0x4b2432(_0x32579e,_0x789426-0x12b);}function _0x2457e3(_0x33b7ff,_0x24b161){return _0x4b2432(_0x24b161,_0x33b7ff- -0x3e5);}if(_0x27f526!==_0x1863c6(0x570,0x563)&&!exports[_0x1863c6(0x56f,_0x4b5fec._0x4e4e4b)](_0x27f526))Object['defineProperty'](exports,_0x27f526,{'enumerable':!![],'get':function(){return echarts[_0x27f526];}});});const _0x266d68={};_0x266d68['value']=!![],Object['defineProperty'](exports,'__esModule',_0x266d68); })); diff --git a/public/lib/mars3d/plugins/heatmap/mars3d-heatmap.js b/public/lib/mars3d/plugins/heatmap/mars3d-heatmap.js index cff674092..e0a4b709a 100644 --- a/public/lib/mars3d/plugins/heatmap/mars3d-heatmap.js +++ b/public/lib/mars3d/plugins/heatmap/mars3d-heatmap.js @@ -2,7 +2,7 @@ * Mars3D平台插件,结合heatmap可视化功能插件 mars3d-heatmap * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:58 + * 编译日期:2024-12-03 18:05 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ @@ -11,5 +11,5 @@ typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-heatmap"] = {}, global.mars3d)); })(this, (function (exports, mars3d) { -'use strict';(function(_0x558667,_0x1ee90f){var _0x2b388b={_0x4077c2:0x427,_0xbb8459:0x402,_0x52094b:0x39d,_0x1b7216:0x3bf,_0x324a9b:0x38c,_0x8bde8e:0x148,_0x19cb9e:0x3b0,_0x37c198:0x375};function _0xc4092b(_0x1a3535,_0x51d8f1){return _0x3601(_0x51d8f1- -0xdc,_0x1a3535);}function _0x404db2(_0x4c43a9,_0x48fdbc){return _0x3601(_0x48fdbc-0x1e2,_0x4c43a9);}var _0x53991d=_0x558667();while(!![]){try{var _0x3d6d8b=-parseInt(_0x404db2(0x36a,0x380))/0x1+parseInt(_0xc4092b(0x87,0xe4))/0x2*(parseInt(_0x404db2(_0x2b388b._0x4077c2,_0x2b388b._0xbb8459))/0x3)+parseInt(_0xc4092b(0x138,0x108))/0x4*(-parseInt(_0x404db2(_0x2b388b._0x52094b,_0x2b388b._0x1b7216))/0x5)+parseInt(_0x404db2(0x3c2,0x3e3))/0x6*(parseInt(_0x404db2(0x381,0x3ac))/0x7)+parseInt(_0x404db2(0x381,_0x2b388b._0x324a9b))/0x8+-parseInt(_0xc4092b(0x15a,_0x2b388b._0x8bde8e))/0x9+parseInt(_0x404db2(0x366,_0x2b388b._0x19cb9e))/0xa*(parseInt(_0x404db2(0x3be,_0x2b388b._0x37c198))/0xb);if(_0x3d6d8b===_0x1ee90f)break;else _0x53991d['push'](_0x53991d['shift']());}catch(_0x502088){_0x53991d['push'](_0x53991d['shift']());}}}(_0x2712,0xad0ba));function _interopNamespace(_0xfba77){var _0x2cf90c={_0x3128f2:0xcd},_0x54584={_0x484fd0:0x286,_0xfcce53:0x24a,_0x5dfb5c:0x25e};if(_0xfba77&&_0xfba77['__esModule'])return _0xfba77;function _0x237111(_0x321c05,_0x41050e){return _0x3601(_0x41050e- -0xf0,_0x321c05);}var _0x30d3fe=Object['create'](null);return _0xfba77&&Object['keys'](_0xfba77)['forEach'](function(_0x33e022){var _0x56becc={_0x84699d:0x77};function _0x4b97c7(_0x201a56,_0x539bf9){return _0x3601(_0x539bf9-_0x56becc._0x84699d,_0x201a56);}function _0x288099(_0x280b1f,_0xe812c6){return _0x3601(_0xe812c6-0x2c,_0x280b1f);}if(_0x33e022!==_0x4b97c7(0x280,_0x54584._0x484fd0)){var _0x1903bd=Object[_0x288099(_0x54584._0xfcce53,_0x54584._0x5dfb5c)](_0xfba77,_0x33e022);Object['defineProperty'](_0x30d3fe,_0x33e022,_0x1903bd['get']?_0x1903bd:{'enumerable':!![],'get':function(){return _0xfba77[_0x33e022];}});}}),_0x30d3fe[_0x237111(_0x2cf90c._0x3128f2,0x11f)]=_0xfba77,_0x30d3fe;}function _0x2712(){var _0x13b359=['x3jLBw92zwriB29R','EezPzwXK','zgvMyxvSDe1PBK9WywnPDhK','x21HEa','CMvKCMf3uMf0Aw8','x19WCM90B19F','qMXLBMrPBMDtDgf0zq','z3jHzgLLBNrbCMm','D2LKDgG','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','Dw5KzwzPBMvK','x29UrxH0CMvTyunOyw5Nzq','AxnbCNjHEq','CMfKAxvZ','DxbKyxrLuMfKAxvZ','AgvHDg1HCc1Jyw52yxm','x2nVBg9YAxPL','DhLWzq','q29SB3i','x21PBG','CMvKCMf3wM9VBq','x2rHDge','x3vWzgf0zuDYyxbOAwm','Dg9eyxrHvvjm','x3n0B3jL','x2nVBMzPzW','u3rLBMnPBez1BMn0Aw9U','zgvMyxvSDfHgAwvSza','yxjJ','B3b0Aw9UCW','x2DYyxbOAwm','ywrKr3jHCgHPyW','Bgf5zxi','x3nLDfn0EwXLCW','zw5HyMXLza','x21PBK9WywnPDhK','yxjJuMfKAxvZu2nHBgu','x2nHBNzHC0HLAwDODa','z3jHzgLLBNq','y3jLyxrLrwXLBwvUDa','z2XVyMfSqwXWAge','y2fSBa','yxbWBhK','yMX1zq','x2HLAwDODa','CMDIkdiXnIWYmtySmJe2kq','Aw4GDMvJmYbWB3nPDgLVBJnesgLNAdSkicbPBIb2zwmZihbVC2L0Aw9Um0rmB3C7cIaGAw4GDMvJmIbZDdSkicbPBIbMBg9HDcbIyxrJAeLKoWOGihvUAwzVCM0GC2fTCgXLCJjeigj1BxbnyxbFmZSkicbVDxqGDMvJmYb2x3bVC2L0Aw9Utum7cIaGB3v0ihzLyZmGDL9WB3nPDgLVBKvdoWOGig91Dcb2zwmYihzFC3q7cGOGihzVAwqGBwfPBIGPcIaGEWOGicaGDMvJncbWid0Gy3PTx2nVBxb1DgvqB3nPDgLVBIGPoWOGicaGDL9WB3nPDgLVBK1did0GCg9ZAxrPB24ZreHPz2GGkYbWB3nPDgLVBJnetg93oWOGicaGDL9WB3nPDgLVBKvdid0Gkgn6Bv9TB2rLBfzPzxDszwXHDgL2zvrVrxLLicOGCcKUEhL6oWOGicaGDL9ZDca9ihn0oWOGicaGDMvJncbJB2XVCIa9ihrLEhr1CMuOyNvTCe1HCf8Zlcb2x3n0ktSkicaGigzSB2f0ignLBNrLCKj1BxaGpsbKAxn0yw5JzsH2zwmZkdaUmcKSy29SB3iUCMDIktSkicaGihzLyZmGDxbeAxiGpsbUB3jTywXPEMuODL9WB3nPDgLVBK1dlNH5EIK7cIaGicb2zwmZigrPC1bVCYa9ihvWrgLYicOGy2vUDgvYqNvTCcaQia','mtCYn21uA3H4qG','y2XLyxi','CMvNAxn0zxi','x2DLDeLUDgvYBMfSrgf0yq','mc41nq','y3r4','y2fUDMfZ','BwvYz2u','mc4Ynq','zMLSBfn0EwXL','yxbWzw5Kq2HPBgq','mta5nJq1ouHjBg1hzW','zgLMzLG','y2fTzxjH','yMfJA2DYB3vUzenVBg9Y','Aw1Hz2uVCg5N','rxzLBNruExbL','ywrKq29SB3jtDg9W','ChvZAa','x2nYzwf0zuDYyxbOAwm','z2XVyMu','x2jVDw5KCW','z3jHBNvSyxjPDhK','mta5nZGZnZzvtMHbCuO','Ew1HEa','rwXSAxbZB2LKu3vYzMfJzufWCgvHCMfUy2u','yNvTCe1HCa','Eg1HEa','y3nZvgv4Da','C2v0rgf0yu1PBG','C2HVDW','C2v0t3b0Aw9UCW','y3jLyxrLtwf0zxjPywW','CMvUzgvYugfYDgLHBa','AgvHDfn0EwXL','6k+35BYv5ywLigHLyxrTyxaUANmG5BQtia','zgvMyxvSDfzHBhvLrMLLBgq','ywrKtgf5zxi','z2v0vMfSDwvbDa','y2fTzxjHtw92zuvUza','yMX1CG','x3jLy3rHBMDSzq','z2v0q29UDgv4Da','x3jHzgK','x29WywnPDhK','mZiXngXSqxfHwa','DMfSDwu','zw1PDa','Bgf0','x3vUt3jNyw5PEMveyxrH','zgvMyxvSDeDYywrPzw50','C2v0rgf0yq','uMvJDgfUz2XLuhjPBwL0AxzL','yxjJrgLYzwn0Aw9U','z2v0rgf0yq','mty4n1jkuMHjsq','jYbUB3qGzM91BMqUie1HEwjLigL0ihDHCYbUB3qGCMvNAxn0zxjLzc4','mc45','x2nVB3jKAw5HDg9Y','mJe3mZbkz29jD24','Eg1PBG','x3bVC2L0Aw9UCW','uKvqtefdrq','EuzPzwXK','x3vWzgf0zvbVC2L0Aw9UC0HVB2S','AgvHDa','C2v0rgf0yu1HEa','zxHWB3j0CW','x2DLDefYy0HLyxrdyw52yxm','q2fYDgvZAwfUmG','CgfYC2u','zMX5vg8','y29UzMLNDxjL','zxH0CMvTywnOyw5Nzq','nwDotKrLuW','zM9YBwf0uMvJDgfUz2XL','Cg9ZAxrPB25Z','u3rLBMnPBe9WzxjHDgLVBG','ChjPDMf0zq','x3DPzhrO','CMDIkdaSmJu1ldaP','mZq2mJK5nNHOAw1qwG','zgLMzLK','AxngB3jTyxq','CgX1z2LUCW','x3bHBgv0Dgu','x2rYyxDbBhbOyq','x3jLBMrLCKjVDw5KyxjPzxm','y2XLyxjszwn0','x2XHEwvY','twf0zxjPywXuExbL','D2LSBfjLywrgCMvXDwvUDgX5','y2fUDMfZmMq','Chv0sw1Hz2veyxrH','Ew1PBG','DMfSDwvgAwvSza','CMDIkdaSmcWYntuP','z3jHCgHPyW','CMvTB3zLtgf5zxi','CMvUzgvYywXS','y1n0B3jL','ywjZ','CMvUzgvYCgfYDgLHBa','q2vZAxvT','vxrPBa','zxf1ywXZ','y29UDgfPBMvY','x2DYyxbOAwmY','zNjVBurLz3jLzxm','Bwf4','mJy5mtzOzhfAteu','x2jSDxi','zM9YrwfJAa','CMvJDgfUz2XL','x21HEe9WywnPDhK','x29Yz2fUAxnLrgf0yq','tg5Ntgf0ug9PBNq','Bwf4Aw11BvjHzgL1CW','Bwf4t3bHy2L0Eq','y2fUDMfZv2LKDgG','CMvUzgvYqwXS','DxnLr3jHzgLLBNrpCgfJAxr5','C3r5Bgu','mc40','zgvMyxvSDa','vKvsvevyx0zpuK1bva','y3jLyxrL','C2HHzg93q2fUDMfZ','x2nVBNrHAw5LCG','ChG7zgLZCgXHEtPUB25LoW','C2HHzg93q3r4','x21HCa','x3nLDe9WDgLVBNniB29R','BgvUz3rO','CMvWBgfJzq','AgvPz2H0','Aw1Hz2u','x3jLBMrLCMvY','AdmZnW','BwLU','x2HLyxq','mJmWmw9nu3LbCG','Bg5N','uMvJDgfUz2XL','x3vZzuDYywrPzw50t3bHy2L0Eq','mtiYmduZntLLzvDWAwm','z2v0sw1Hz2veyxrH','zgf0yq','zgvMAw5LuhjVCgvYDhK','B2zM'];_0x2712=function(){return _0x13b359;};return _0x2712();}function _0x189493(_0x24bfb0,_0x197583){return _0x3601(_0x24bfb0-0x17f,_0x197583);}function _mergeNamespaces(_0x37fb81,_0x445f18){var _0x4f3fe0={_0x2d9171:0x112},_0x1d12bb={_0x100bc8:0xab},_0x1e3675={_0x2af8b3:0x302};return _0x445f18['forEach'](function(_0x28d116){var _0x93dd32={_0xf29e81:0x23};function _0x39f07a(_0x43b8de,_0x203a2c){return _0x3601(_0x203a2c- -_0x1e3675._0x2af8b3,_0x43b8de);}_0x28d116&&typeof _0x28d116!=='string'&&!Array[_0x39f07a(-_0x4f3fe0._0x2d9171,-0xcd)](_0x28d116)&&Object['keys'](_0x28d116)['forEach'](function(_0x476159){var _0x360562={_0x2ee3a3:0x2d8};function _0x1a4c76(_0x565bbd,_0x575572){return _0x39f07a(_0x565bbd,_0x575572-_0x93dd32._0xf29e81);}function _0x10b0ff(_0x5b748f,_0x49c68c){return _0x39f07a(_0x5b748f,_0x49c68c-_0x360562._0x2ee3a3);}if(_0x476159!=='default'&&!(_0x476159 in _0x37fb81)){var _0xe6c310=Object[_0x1a4c76(-_0x1d12bb._0x100bc8,-0xad)](_0x28d116,_0x476159);Object[_0x10b0ff(0x1eb,0x1fd)](_0x37fb81,_0x476159,_0xe6c310['get']?_0xe6c310:{'enumerable':!![],'get':function(){return _0x28d116[_0x476159];}});}});}),_0x37fb81;}var mars3d__namespace=_interopNamespace(mars3d),commonjsGlobal=typeof globalThis!=='undefined'?globalThis:typeof window!==_0x4f28a7(-0xc,-0x1c)?window:typeof global!==_0x4f28a7(-0xc,-0x56)?global:typeof self!=='undefined'?self:{},_0x21e572={};_0x21e572[_0x4f28a7(-0x69,-0xbb)]={};function _0x4f28a7(_0x1d7241,_0x5cf6ab){var _0x53a91a={_0x492553:0x23f};return _0x3601(_0x1d7241- -_0x53a91a._0x492553,_0x5cf6ab);}var heatmap$1=_0x21e572;(function(_0x250551){var _0x1756d7={_0x1655ac:0x62,_0x16be1d:0x6b,_0x3c5404:0x409},_0x504cea={_0x19a816:0x1fe,_0x93010a:0x218,_0x4e5705:0x1fe,_0x4b9057:0x229};function _0x56f957(_0x2748c4,_0x61726d){return _0x189493(_0x61726d-0x1d8,_0x2748c4);}(function(_0xe7fdae,_0xc7262d,_0x4e6d75){function _0x4f7ed5(_0x3f1352,_0x1a6591){return _0x3601(_0x3f1352- -0x3d4,_0x1a6591);}function _0x40a46b(_0x161efb,_0x49bf49){return _0x3601(_0x49bf49-0x316,_0x161efb);}_0x250551[_0x4f7ed5(-_0x504cea._0x19a816,-_0x504cea._0x93010a)]?_0x250551[_0x4f7ed5(-_0x504cea._0x4e5705,-_0x504cea._0x4b9057)]=_0x4e6d75():_0xc7262d[_0xe7fdae]=_0x4e6d75();}(_0x56f957(0x579,0x574),commonjsGlobal,function(){var _0x311f07={_0x2385c8:0x0,_0x4b6143:0x24c,_0x4c53f5:0x261},_0x256532={_0x46fa18:0x17c},_0xce2b68={_0x468f2e:0x4e1,_0x3cae38:0x4dc},_0x351034={_0x45ffc4:0x395},_0x5e55d4={_0x228012:0x17a,_0x152668:0x125,_0x3039ed:0x15a,_0x155d32:0x140,_0x460c3f:0x165,_0x287cf1:0x1ce,_0x3a0abf:0x17b},_0x5ad6f6={_0x48205c:0x49b,_0x47c1ef:0x182,_0x1c0009:0x156},_0x4174be={_0x3a8f5d:0x148,_0xa383d9:0x19f,_0x4e11c7:0x1f6,_0x533a01:0x307,_0x1fd6ac:0x327,_0x27c7dd:0x29a,_0x51bef9:0x251,_0x32ad33:0x188},_0x5dc502={_0x3221f4:0x3f5,_0x589775:0x409,_0x20aaa1:0x444,_0xc0a19b:0x3f9,_0x5ce8ba:0x1e0,_0xf0db32:0x451,_0x4a1b19:0x410,_0x3ab8a1:0x1b5},_0x5a1cb8={_0x52128a:0x153,_0x5d2630:0xef},_0x4799d0={_0xaf67a4:0x16b,_0x18ebb6:0x118,_0x8896f4:0x109},_0x2c45d9={_0x49006e:0x22d,_0xba710d:0x87,_0x1899ad:0x3d,_0x3a24a2:0x6,_0x1940b1:0x1c},_0x5091aa={_0x1d7dd3:0x146,_0x3bc8bb:0x3e1,_0x3f1e1f:0x1a3,_0x1a506f:0x1e4,_0x586b72:0x217,_0x209214:0x271,_0xf36c1d:0x4cb,_0x155647:0x18a,_0x1d2a56:0x4d8,_0x4aca3b:0x4b0},_0x4e5b1c={_0x5d4e86:0x116},_0x1f4ba9={_0x172ecc:0xe1,_0x259100:0xcc},_0x411fcf={_0x56d9f7:0x526,_0x25cdae:0x181,_0x520644:0x153},_0x3eac17={};_0x3eac17[_0x1fdacc(0x3c2,0x3ea)]=_0x40fe46(-_0x1756d7._0x1655ac,-0x2a),_0x3eac17[_0x40fe46(-0xbe,-_0x1756d7._0x16be1d)]=_0x40fe46(-0x72,-0x9c),_0x3eac17['0.85']='yellow',_0x3eac17['1']='rgb(255,0,0)';var _0x2cd8e3={};_0x2cd8e3['defaultRadius']=0x28,_0x2cd8e3['defaultRenderer']=_0x40fe46(-0x66,-0x33),_0x2cd8e3[_0x1fdacc(0x3ec,_0x1756d7._0x3c5404)]=_0x3eac17,_0x2cd8e3['defaultMaxOpacity']=0x1,_0x2cd8e3['defaultMinOpacity']=0x0,_0x2cd8e3['defaultBlur']=0.85,_0x2cd8e3['defaultXField']='x',_0x2cd8e3['defaultYField']='y',_0x2cd8e3[_0x1fdacc(0x3de,0x389)]='value',_0x2cd8e3['plugins']={};var _0x14678f=_0x2cd8e3,_0x525f97=function _0x34fee5(){var _0xcf65ef={_0xe04477:0xdd,_0x5bb2dd:0xab},_0x1280e3={_0x4f3b8c:0x350,_0x5bca00:0x3a3,_0x51ed37:0x384,_0x3e379d:0x391,_0x38eac4:0x35b},_0x45631e={_0x3709be:0x165},_0x2cb94d={_0xf83c03:0xc4},_0x404e61={_0x4fa892:0x38b,_0x211fb9:0x3b1,_0x306916:0x3f9,_0x5c764e:0xaf,_0x42eee7:0x104,_0x610ef1:0x10f,_0x17b512:0x3f2},_0x37e9fd={_0x16bb11:0x17e,_0x607dd6:0x5a6},_0x4a337e={_0x53116f:0x53c,_0x39563d:0x49e,_0x231133:0x10a},_0x4d980b=function _0x49aad2(_0x49f2b2){this['_coordinator']={},this['_data']=[],this['_radi']=[],this['_min']=0xa,this['_max']=0x1;function _0x5457df(_0xbc2bb0,_0x45a162){return _0x3601(_0xbc2bb0- -0x12c,_0x45a162);}this['_xField']=_0x49f2b2[_0x22f30d(_0x4a337e._0x53116f,0x4fc)]||_0x49f2b2[_0x22f30d(0x556,0x51d)],this['_yField']=_0x49f2b2[_0x22f30d(0x4e4,_0x4a337e._0x39563d)]||_0x49f2b2['defaultYField'],this['_valueField']=_0x49f2b2[_0x5457df(0xc6,0xbb)]||_0x49f2b2['defaultValueField'];function _0x22f30d(_0x4bedb4,_0x12b162){return _0x3601(_0x4bedb4-0x312,_0x12b162);}_0x49f2b2['radius']&&(this['_cfgRadius']=_0x49f2b2[_0x5457df(_0x4a337e._0x231133,0x149)]);},_0x1083ec=_0x14678f['defaultRadius'];return _0x4d980b['prototype']={'_organiseData':function(_0xb22bf9,_0x26eaee){var _0xd7bc33=_0xb22bf9[this['_xField']],_0x1a9b3f=_0xb22bf9[this['_yField']];function _0x4b52e7(_0x57d000,_0x8718da){return _0x3601(_0x57d000- -0x356,_0x8718da);}var _0x47009d=this['_radi'],_0x1857c7=this['_data'],_0x28c147=this['_max'],_0x3515b1=this['_min'],_0x1bf55c=_0xb22bf9[this['_valueField']]||0x1,_0x20aeac=_0xb22bf9['radius']||this['_cfgRadius']||_0x1083ec;!_0x1857c7[_0xd7bc33]&&(_0x1857c7[_0xd7bc33]=[],_0x47009d[_0xd7bc33]=[]);!_0x1857c7[_0xd7bc33][_0x1a9b3f]?(_0x1857c7[_0xd7bc33][_0x1a9b3f]=_0x1bf55c,_0x47009d[_0xd7bc33][_0x1a9b3f]=_0x20aeac):_0x1857c7[_0xd7bc33][_0x1a9b3f]+=_0x1bf55c;function _0x5a7c34(_0x4b0a31,_0x8ae31b){return _0x3601(_0x8ae31b-0x31f,_0x4b0a31);}var _0x97d930=_0x1857c7[_0xd7bc33][_0x1a9b3f];if(_0x97d930>_0x28c147)return!_0x26eaee?this[_0x5a7c34(_0x411fcf._0x56d9f7,0x54b)]=_0x97d930:this[_0x4b52e7(-_0x411fcf._0x25cdae,-_0x411fcf._0x520644)](_0x97d930),![];else{if(_0x97d930<_0x3515b1)return!_0x26eaee?this['_min']=_0x97d930:this['setDataMin'](_0x97d930),![];else{var _0x11dea0={};return _0x11dea0['x']=_0xd7bc33,_0x11dea0['y']=_0x1a9b3f,_0x11dea0[_0x4b52e7(-0x195,-0x159)]=_0x1bf55c,_0x11dea0['radius']=_0x20aeac,_0x11dea0['min']=_0x3515b1,_0x11dea0['max']=_0x28c147,_0x11dea0;}}},'_unOrganizeData':function(){var _0xa30e66=[],_0x557b11=this['_data'],_0x2f9480=this['_radi'];for(var _0x2d0506 in _0x557b11){for(var _0x58832f in _0x557b11[_0x2d0506]){var _0x3d228c={};_0x3d228c['x']=_0x2d0506,_0x3d228c['y']=_0x58832f,_0x3d228c['radius']=_0x2f9480[_0x2d0506][_0x58832f],_0x3d228c['value']=_0x557b11[_0x2d0506][_0x58832f],_0xa30e66['push'](_0x3d228c);}}function _0x2a29b9(_0x9e654a,_0x854a74){return _0x3601(_0x854a74- -0x2ea,_0x9e654a);}var _0x4e5e33={};return _0x4e5e33[_0x2a29b9(-_0x1f4ba9._0x172ecc,-_0x1f4ba9._0x259100)]=this['_min'],_0x4e5e33['max']=this['_max'],_0x4e5e33['data']=_0xa30e66,_0x4e5e33;},'_onExtremaChange':function(){var _0x1e6b7b={_0x5b38c7:0x358},_0x52d57e={_0x310de0:0x3ba};function _0xf93bc1(_0x369726,_0x5235a9){return _0x3601(_0x369726- -_0x52d57e._0x310de0,_0x5235a9);}function _0x2a0df3(_0x22490d,_0x2333ee){return _0x3601(_0x22490d-_0x1e6b7b._0x5b38c7,_0x2333ee);}this['_coordinator']['emit'](_0xf93bc1(-0x1de,-0x232),{'min':this[_0xf93bc1(-_0x37e9fd._0x16bb11,-0x17e)],'max':this[_0x2a0df3(0x584,_0x37e9fd._0x607dd6)]});},'addData':function(){var _0xfe1dca={_0x58b542:0x2d1};function _0x498f4d(_0x54e9d8,_0x2a3b36){return _0x3601(_0x54e9d8-0x173,_0x2a3b36);}if(arguments[0x0]['length']>0x0){var _0x34e5f1=arguments[0x0],_0x27aad8=_0x34e5f1[_0x498f4d(_0x404e61._0x4fa892,0x349)];while(_0x27aad8--){this['addData']['call'](this,_0x34e5f1[_0x27aad8]);}}else{var _0x4beedb=this[_0x498f4d(0x379,0x37c)](arguments[0x0],!![]);_0x4beedb&&(this[_0x498f4d(_0x404e61._0x211fb9,_0x404e61._0x306916)]['length']===0x0&&(this['_min']=this['_max']=_0x4beedb['value']),this[_0x36b699(-_0x404e61._0x5c764e,-_0x404e61._0x42eee7)][_0x36b699(-0x10a,-_0x404e61._0x610ef1)]('renderpartial',{'min':this['_min'],'max':this[_0x498f4d(0x39f,_0x404e61._0x17b512)],'data':[_0x4beedb]}));}function _0x36b699(_0x3ca998,_0xd908cf){return _0x3601(_0xd908cf- -_0xfe1dca._0x58b542,_0x3ca998);}return this;},'setData':function(_0x3b3e1a){function _0x273337(_0xe02fd3,_0x316c2e){return _0x3601(_0x316c2e- -_0x2cb94d._0xf83c03,_0xe02fd3);}var _0x301d9f=_0x3b3e1a['data'],_0x1a0400=_0x301d9f['length'];this[_0x297939(_0x1280e3._0x4f3b8c,_0x1280e3._0x5bca00)]=[],this[_0x273337(0x121,0xfa)]=[];for(var _0x37f7f9=0x0;_0x37f7f9<_0x1a0400;_0x37f7f9++){this[_0x297939(_0x1280e3._0x51ed37,0x36b)](_0x301d9f[_0x37f7f9],![]);}function _0x297939(_0x336292,_0x590736){return _0x3601(_0x590736-_0x45631e._0x3709be,_0x336292);}return this[_0x297939(0x3ce,_0x1280e3._0x3e379d)]=_0x3b3e1a['max'],this['_min']=_0x3b3e1a[_0x273337(0x11f,0x15a)]||0x0,this['_onExtremaChange'](),this['_coordinator']['emit'](_0x297939(0x31c,_0x1280e3._0x38eac4),this['_getInternalData']()),this;},'removeData':function(){},'setDataMax':function(_0x23cc76){var _0x526c73={_0x49b90a:0x215};this[_0x56399d(0x38,0x17)]=_0x23cc76,this[_0x56399d(0x32,0x1f)]();function _0x16e84a(_0x24ea53,_0x15ed80){return _0x3601(_0x24ea53-0x17d,_0x15ed80);}function _0x56399d(_0x5790f1,_0x5a13e5){return _0x3601(_0x5a13e5- -_0x526c73._0x49b90a,_0x5790f1);}return this['_coordinator'][_0x16e84a(0x33f,0x329)]('renderall',this[_0x16e84a(0x313,0x31a)]()),this;},'setDataMin':function(_0x4833dc){function _0xf48b78(_0xf024c4,_0xd702c9){return _0x3601(_0xf024c4- -0x3bf,_0xd702c9);}this['_min']=_0x4833dc;function _0x2cb886(_0x3ac8d8,_0x4b0408){return _0x3601(_0x3ac8d8- -0x43,_0x4b0408);}return this['_onExtremaChange'](),this['_coordinator']['emit'](_0xf48b78(-0x1c9,-0x1db),this[_0x2cb886(0x153,_0x4e5b1c._0x5d4e86)]()),this;},'setCoordinator':function(_0x287c01){function _0x224835(_0x4ede9e,_0x5a8a39){return _0x3601(_0x4ede9e- -0x2aa,_0x5a8a39);}this[_0x224835(-_0xcf65ef._0xe04477,-_0xcf65ef._0x5bb2dd)]=_0x287c01;},'_getInternalData':function(){var _0x382559={};return _0x382559['max']=this['_max'],_0x382559['min']=this['_min'],_0x382559['data']=this['_data'],_0x382559['radi']=this['_radi'],_0x382559;},'getData':function(){function _0x3c4058(_0x5dac42,_0x3c07b9){return _0x3601(_0x5dac42- -0x155,_0x3c07b9);}return this[_0x3c4058(0x6f,0xb2)]();}},_0x4d980b;}();function _0x40fe46(_0x30f5c6,_0x19035e){return _0x56f957(_0x19035e,_0x30f5c6- -0x5ac);}var _0xc96d59=function _0x171a0d(){var _0x5f1a0c={_0x163575:0xbb,_0x79c324:0xb7,_0xd592d6:0x7b,_0x2d853f:0xa0,_0x551b66:0x10e,_0x366457:0xe4},_0x10667a={_0x5cc615:0x2,_0x4b1e39:0xc7,_0x223b23:0x33,_0x3184ac:0x53,_0x5f393b:0x4bd,_0x2963d0:0x73,_0x176e31:0x2f,_0x3e7cc6:0x496,_0x395a5e:0x8c,_0x460326:0x4ee,_0x2bdc22:0x4ab,_0x311044:0x3d,_0x589089:0x585},_0xafb63a={_0x2d1a33:0x260},_0x21f4c={_0x2c2f73:0x112,_0xc31cf:0x130,_0x12a136:0x138,_0x415e2f:0x182,_0x3aed5a:0x130},_0x3d500e={_0x4c6e7a:0x24c},_0x2b94a8={_0x4596c1:0xcd},_0x362d67={_0x18a8fe:0x1fb,_0x76bd18:0x205},_0xa9ba34={_0x48365c:0xdc},_0x2f37e0={_0x5f4c85:0x17b,_0x2a9890:0x1d1,_0x114ce4:0x1dd,_0x102a12:0x199,_0x39c182:0x513,_0x21480a:0x511,_0x3f198b:0x1a6,_0x462311:0x493,_0x27f5d1:0x481,_0x21edce:0x1cb,_0x3da76b:0x177,_0x30d8c4:0x469},_0x17d11d={_0x1c2e23:0x2b3},_0x47cc72=function(_0x194cbc){var _0x4b71fb=_0x194cbc[_0x1cb740(0x170,_0x5091aa._0x1d7dd3)]||_0x194cbc['defaultGradient'];function _0x2d1b5a(_0x5a01db,_0x10aa36){return _0x3601(_0x5a01db-_0x17d11d._0x1c2e23,_0x10aa36);}var _0x26946f=document[_0x2d1b5a(0x43e,_0x5091aa._0x3bc8bb)](_0x2d1b5a(0x44c,0x459)),_0x4a6987={};function _0x1cb740(_0x77de59,_0x19da9a){return _0x3601(_0x77de59- -0x1a,_0x19da9a);}_0x4a6987['willReadFrequently']=!![];var _0x495264=_0x26946f[_0x1cb740(_0x5091aa._0x3f1e1f,_0x5091aa._0x1a506f)]('2d',_0x4a6987);_0x26946f[_0x1cb740(_0x5091aa._0x586b72,_0x5091aa._0x209214)]=0x100,_0x26946f[_0x2d1b5a(0x4cd,_0x5091aa._0xf36c1d)]=0x1;var _0x2a13be=_0x495264['createLinearGradient'](0x0,0x0,0x100,0x1);for(var _0xd92049 in _0x4b71fb){_0x2a13be[_0x1cb740(_0x5091aa._0x155647,0x12c)](_0xd92049,_0x4b71fb[_0xd92049]);}return _0x495264['fillStyle']=_0x2a13be,_0x495264['fillRect'](0x0,0x0,0x100,0x1),_0x495264[_0x2d1b5a(_0x5091aa._0x1d2a56,0x51f)](0x0,0x0,0x100,0x1)[_0x2d1b5a(0x4d9,_0x5091aa._0x4aca3b)];},_0x48d783=function(_0x3c9592,_0x818030){var _0x3425e1={_0x3de914:0x1aa},_0x5310d2=document['createElement']('canvas'),_0xe9c264={};_0xe9c264[_0x50af65(0x262,_0x2c45d9._0x49006e)]=!![];function _0x50af65(_0x20e20f,_0x38929c){return _0x3601(_0x20e20f-0x74,_0x38929c);}function _0xf39240(_0x9ed314,_0x4db57d){return _0x3601(_0x9ed314- -_0x3425e1._0x3de914,_0x4db57d);}var _0x5e59ae=_0x5310d2['getContext']('2d',_0xe9c264),_0x14984d=_0x3c9592,_0x3121f2=_0x3c9592;_0x5310d2[_0xf39240(_0x2c45d9._0xba710d,0x4b)]=_0x5310d2['height']=_0x3c9592*0x2;if(_0x818030==0x1)_0x5e59ae['beginPath'](),_0x5e59ae[_0x50af65(0x1f4,0x1d3)](_0x14984d,_0x3121f2,_0x3c9592,0x0,0x2*Math['PI'],![]),_0x5e59ae[_0xf39240(-0xe,_0x2c45d9._0x1899ad)]='rgba(0,0,0,1)',_0x5e59ae['fill']();else{var _0x19a7de=_0x5e59ae['createRadialGradient'](_0x14984d,_0x3121f2,_0x3c9592*_0x818030,_0x14984d,_0x3121f2,_0x3c9592);_0x19a7de[_0xf39240(-_0x2c45d9._0x3a24a2,_0x2c45d9._0x1940b1)](0x0,'rgba(0,0,0,1)'),_0x19a7de['addColorStop'](0x1,'rgba(0,0,0,0)'),_0x5e59ae['fillStyle']=_0x19a7de,_0x5e59ae['fillRect'](0x0,0x0,0x2*_0x3c9592,0x2*_0x3c9592);}return _0x5310d2;},_0x1f98f1=function(_0x4c123d){var _0x136e93={_0x133216:0xf7},_0x44b935=[],_0x8100a=_0x4c123d[_0x177039(-0x13c,-_0x4799d0._0xaf67a4)],_0x44da07=_0x4c123d[_0x1831d0(0x109,_0x4799d0._0x18ebb6)],_0x348318=_0x4c123d['radi'],_0x4c123d=_0x4c123d['data'];function _0x1831d0(_0x1d1be4,_0x548edd){return _0x3601(_0x1d1be4- -_0x136e93._0x133216,_0x548edd);}var _0x2a6afb=Object['keys'](_0x4c123d),_0x39df5a=_0x2a6afb['length'];while(_0x39df5a--){var _0xaf2242=_0x2a6afb[_0x39df5a],_0x14193b=Object['keys'](_0x4c123d[_0xaf2242]),_0xfa8802=_0x14193b['length'];while(_0xfa8802--){var _0x51631c=_0x14193b[_0xfa8802],_0x1effa9=_0x4c123d[_0xaf2242][_0x51631c],_0x4a6d68=_0x348318[_0xaf2242][_0x51631c],_0x5afaa4={};_0x5afaa4['x']=_0xaf2242,_0x5afaa4['y']=_0x51631c,_0x5afaa4['value']=_0x1effa9,_0x5afaa4['radius']=_0x4a6d68,_0x44b935['push'](_0x5afaa4);}}var _0x580655={};_0x580655['min']=_0x8100a,_0x580655[_0x1831d0(_0x4799d0._0x8896f4,0x12a)]=_0x44da07;function _0x177039(_0xb3d007,_0x265857){return _0x3601(_0xb3d007- -0x35a,_0x265857);}return _0x580655['data']=_0x44b935,_0x580655;};function _0x2501c1(_0x27132b){var _0x27d33b=_0x27132b['container'],_0x28836e=this['shadowCanvas']=document['createElement']('canvas'),_0x37bff5=this['canvas']=_0x27132b['canvas']||document['createElement']('canvas');this[_0x2ce496(-0x1c9,-0x173)]=[0x2710,0x2710,0x0,0x0];var _0xcd5a9e=getComputedStyle(_0x27132b[_0x374396(0x4b6,0x4e1)])||{};_0x37bff5['className']=_0x2ce496(-_0x2f37e0._0x5f4c85,-0x15e),this[_0x2ce496(-_0x2f37e0._0x2a9890,-_0x2f37e0._0x114ce4)]=_0x37bff5['width']=_0x28836e['width']=_0x27132b['width']||+_0xcd5a9e['width']['replace'](/px/,''),this['_height']=_0x37bff5['height']=_0x28836e[_0x2ce496(-_0x2f37e0._0x102a12,-0x1d6)]=_0x27132b['height']||+_0xcd5a9e['height'][_0x374396(0x4f9,0x4fd)](/px/,'');var _0x47ec07={};function _0x374396(_0x1a6cb8,_0x52416a){return _0x3601(_0x52416a-0x2e4,_0x1a6cb8);}_0x47ec07['willReadFrequently']=!![],this[_0x374396(_0x2f37e0._0x39c182,0x4f9)]=_0x28836e['getContext']('2d',_0x47ec07);function _0x2ce496(_0x1dd5ae,_0x2e881a){return _0x3601(_0x1dd5ae- -0x3b3,_0x2e881a);}var _0x5de56c={};_0x5de56c['willReadFrequently']=!![],this['ctx']=_0x37bff5['getContext']('2d',_0x5de56c),_0x37bff5[_0x374396(_0x2f37e0._0x21480a,0x4f1)]['cssText']=_0x28836e[_0x2ce496(-_0x2f37e0._0x3f198b,-0x1b0)][_0x374396(0x4d1,_0x2f37e0._0x462311)]='position:absolute;left:0;top:0;',_0x27d33b['style']['position']='relative',_0x27d33b[_0x374396(0x49f,_0x2f37e0._0x27f5d1)](_0x37bff5),this[_0x2ce496(-_0x2f37e0._0x21edce,-_0x2f37e0._0x3da76b)]=_0x47cc72(_0x27132b),this['_templates']={},this[_0x374396(0x474,_0x2f37e0._0x30d8c4)](_0x27132b);}return _0x2501c1['prototype']={'renderPartial':function(_0x1e0608){function _0x1499de(_0x1dbe6b,_0x1db128){return _0x3601(_0x1db128-0x93,_0x1dbe6b);}function _0xd5a257(_0x3704a1,_0x3af25d){return _0x3601(_0x3af25d- -0x19c,_0x3704a1);}_0x1e0608['data'][_0x1499de(0x2bb,0x2ab)]>0x0&&(this['_drawAlpha'](_0x1e0608),this[_0xd5a257(_0xa9ba34._0x48365c,0x9d)]());},'renderAll':function(_0x2fcd54){function _0x2fce0c(_0x18a674,_0x124f51){return _0x3601(_0x124f51-0x4,_0x18a674);}this['_clear']();function _0x25f9ee(_0x27a6e8,_0x45e84d){return _0x3601(_0x27a6e8- -0xd2,_0x45e84d);}_0x2fcd54[_0x2fce0c(_0x362d67._0x18a8fe,0x22a)]['length']>0x0&&(this[_0x25f9ee(0x117,0x171)](_0x1f98f1(_0x2fcd54)),this[_0x2fce0c(_0x362d67._0x76bd18,0x23d)]());},'_updateGradient':function(_0x1ca0b0){this['_palette']=_0x47cc72(_0x1ca0b0);},'updateConfig':function(_0x58d072){_0x58d072[_0x37b2e4(-0x27d,-_0x3d500e._0x4c6e7a)]&&this['_updateGradient'](_0x58d072);function _0x37b2e4(_0x469385,_0x549bd6){return _0x3601(_0x549bd6- -0x3d6,_0x469385);}function _0x3c0bde(_0x321692,_0xfe72c6){return _0x3601(_0xfe72c6- -_0x2b94a8._0x4596c1,_0x321692);}this[_0x3c0bde(0x81,0xb8)](_0x58d072);},'setDimensions':function(_0x2c3797,_0x34a51e){function _0x148fdb(_0x3e574a,_0x4cbd09){return _0x3601(_0x4cbd09- -0x152,_0x3e574a);}this['_width']=_0x2c3797,this[_0x48a026(-0x171,-_0x5a1cb8._0x52128a)]=_0x34a51e;function _0x48a026(_0x30f0f7,_0x336b3a){return _0x3601(_0x30f0f7- -0x301,_0x336b3a);}this[_0x148fdb(0x98,0x47)]['width']=this[_0x48a026(-_0x5a1cb8._0x5d2630,-0x94)]['width']=_0x2c3797,this[_0x148fdb(0x78,0x47)]['height']=this['shadowCanvas']['height']=_0x34a51e;},'_clear':function(){var _0x1bceec={_0x561af6:0x60};this['shadowCtx']['clearRect'](0x0,0x0,this['_width'],this[_0x3d0926(_0x21f4c._0x2c2f73,_0x21f4c._0xc31cf)]);function _0x3d0926(_0x68bb18,_0x5ec039){return _0x3601(_0x5ec039- -_0x1bceec._0x561af6,_0x68bb18);}function _0xf0ab6f(_0x25e9ed,_0x1b049a){return _0x3601(_0x25e9ed-0x3da,_0x1b049a);}this[_0x3d0926(0x10b,_0x21f4c._0x12a136)][_0x3d0926(0x1c1,0x18b)](0x0,0x0,this[_0x3d0926(0x123,_0x21f4c._0x415e2f)],this[_0x3d0926(0x10e,_0x21f4c._0x3aed5a)]);},'_setStyles':function(_0x260e4a){function _0x26f8d8(_0x2d483c,_0x35f6dc){return _0x3601(_0x35f6dc-0x324,_0x2d483c);}this[_0x18bec7(_0x10667a._0x5cc615,-0x5e)]=_0x260e4a['blur']==0x0?0x0:_0x260e4a[_0x26f8d8(0x511,0x4df)]||_0x260e4a['defaultBlur'];function _0x18bec7(_0x19fc56,_0x5630a6){return _0x3601(_0x5630a6- -_0xafb63a._0x2d1a33,_0x19fc56);}_0x260e4a['backgroundColor']&&(this[_0x18bec7(-0xfd,-_0x10667a._0x4b1e39)][_0x18bec7(-_0x10667a._0x223b23,-_0x10667a._0x3184ac)][_0x26f8d8(0x4ba,0x4c5)]=_0x260e4a['backgroundColor']),this['_width']=this[_0x26f8d8(0x48e,_0x10667a._0x5f393b)]['width']=this['shadowCanvas'][_0x18bec7(-_0x10667a._0x2963d0,-_0x10667a._0x176e31)]=_0x260e4a['width']||this['_width'],this['_height']=this['canvas']['height']=this['shadowCanvas']['height']=_0x260e4a['height']||this[_0x26f8d8(_0x10667a._0x3e7cc6,0x4b4)],this[_0x18bec7(-_0x10667a._0x395a5e,-0xa1)]=(_0x260e4a['opacity']||0x0)*0xff,this['_maxOpacity']=(_0x260e4a[_0x26f8d8(_0x10667a._0x460326,0x52d)]||_0x260e4a['defaultMaxOpacity'])*0xff,this[_0x26f8d8(0x485,_0x10667a._0x2bdc22)]=(_0x260e4a['minOpacity']||_0x260e4a[_0x18bec7(-0x75,-0x35)])*0xff,this[_0x18bec7(-0x5e,-_0x10667a._0x311044)]=!!_0x260e4a[_0x26f8d8(_0x10667a._0x589089,0x530)];},'_drawAlpha':function(_0x12c2a4){var _0x2c18a6=this[_0x18ef01(0x1f1,0x207)]=_0x12c2a4[_0x4ae002(_0x5dc502._0x3221f4,0x444)],_0x15a85e=this['_max']=_0x12c2a4['max'],_0x12c2a4=_0x12c2a4['data']||[];function _0x4ae002(_0x29ea3c,_0x380deb){return _0x3601(_0x380deb-0x226,_0x29ea3c);}function _0x18ef01(_0x205a1e,_0x3686a7){return _0x3601(_0x3686a7- -0x35,_0x205a1e);}var _0x34be51=_0x12c2a4['length'],_0x1c940f=0x1-this['_blur'];while(_0x34be51--){var _0x3dfb0b=_0x12c2a4[_0x34be51],_0x5c4a3d=_0x3dfb0b['x'],_0x503dbf=_0x3dfb0b['y'],_0x38c3a0=_0x3dfb0b['radius'],_0x5846c7=Math[_0x4ae002(_0x5dc502._0x589775,_0x5dc502._0x20aaa1)](_0x3dfb0b[_0x4ae002(_0x5dc502._0xc0a19b,0x3e7)],_0x15a85e),_0xbe2e62=_0x5c4a3d-_0x38c3a0,_0x228dea=_0x503dbf-_0x38c3a0,_0x5d45d5=this[_0x18ef01(0x1e6,_0x5dc502._0x5ce8ba)],_0x1646e9;!this['_templates'][_0x38c3a0]?this['_templates'][_0x38c3a0]=_0x1646e9=_0x48d783(_0x38c3a0,_0x1c940f):_0x1646e9=this['_templates'][_0x38c3a0];var _0x5b47bc=(_0x5846c7-_0x2c18a6)/(_0x15a85e-_0x2c18a6);_0x5d45d5[_0x18ef01(0x150,0x157)]=_0x5b47bc<0.01?0.01:_0x5b47bc,_0x5d45d5['drawImage'](_0x1646e9,_0xbe2e62,_0x228dea),_0xbe2e62this[_0x18ef01(0x1aa,_0x5dc502._0x3ab8a1)][0x2]&&(this[_0x18ef01(0x1bc,_0x5dc502._0x3ab8a1)][0x2]=_0xbe2e62+0x2*_0x38c3a0),_0x228dea+0x2*_0x38c3a0>this['_renderBoundaries'][0x3]&&(this['_renderBoundaries'][0x3]=_0x228dea+0x2*_0x38c3a0);}},'_colorize':function(){var _0xc7f2bd=this[_0x1bea5d(-_0x4174be._0x3a8f5d,-0x19c)][0x0],_0x273c89=this['_renderBoundaries'][0x1],_0x16bb1e=this['_renderBoundaries'][0x2]-_0xc7f2bd;function _0x88f14e(_0x2f4b05,_0x4975ec){return _0x3601(_0x2f4b05-0x102,_0x4975ec);}var _0x1a76ec=this['_renderBoundaries'][0x3]-_0x273c89,_0x3c691d=this['_width'],_0x2b5588=this[_0x1bea5d(-_0x4174be._0xa383d9,-_0x4174be._0x4e11c7)],_0x35abe9=this['_opacity'];function _0x1bea5d(_0x19c0d0,_0x3060a0){return _0x3601(_0x3060a0- -0x386,_0x19c0d0);}var _0x58bbf2=this[_0x88f14e(_0x4174be._0x533a01,0x335)],_0xe394d0=this['_minOpacity'],_0xcd0fd5=this['_useGradientOpacity'];_0xc7f2bd<0x0&&(_0xc7f2bd=0x0);_0x273c89<0x0&&(_0x273c89=0x0);_0xc7f2bd+_0x16bb1e>_0x3c691d&&(_0x16bb1e=_0x3c691d-_0xc7f2bd);_0x273c89+_0x1a76ec>_0x2b5588&&(_0x1a76ec=_0x2b5588-_0x273c89);var _0x48af67=this['shadowCtx'][_0x88f14e(_0x4174be._0x1fd6ac,0x37e)](_0xc7f2bd,_0x273c89,_0x16bb1e,_0x1a76ec),_0x5d169a=_0x48af67['data'],_0x5593ec=_0x5d169a['length'],_0x5afe2c=this['_palette'];for(var _0x719e48=0x3;_0x719e48<_0x5593ec;_0x719e48+=0x4){var _0x5b2c99=_0x5d169a[_0x719e48],_0x2f3ecb=_0x5b2c99*0x4;if(!_0x2f3ecb)continue;var _0x5ae184;_0x35abe9>0x0?_0x5ae184=_0x35abe9:_0x5b2c99<_0x58bbf2?_0x5b2c99<_0xe394d0?_0x5ae184=_0xe394d0:_0x5ae184=_0x5b2c99:_0x5ae184=_0x58bbf2,_0x5d169a[_0x719e48-0x3]=_0x5afe2c[_0x2f3ecb],_0x5d169a[_0x719e48-0x2]=_0x5afe2c[_0x2f3ecb+0x1],_0x5d169a[_0x719e48-0x1]=_0x5afe2c[_0x2f3ecb+0x2],_0x5d169a[_0x719e48]=_0xcd0fd5?_0x5afe2c[_0x2f3ecb+0x3]:_0x5ae184;}this[_0x88f14e(_0x4174be._0x27c7dd,_0x4174be._0x51bef9)][_0x1bea5d(-_0x4174be._0x32ad33,-0x196)](_0x48af67,_0xc7f2bd,_0x273c89),this['_renderBoundaries']=[0x3e8,0x3e8,0x0,0x0];},'getValueAt':function(_0x3c6e22){var _0xbd346b,_0x3c3d9f=this[_0x1d3f0d(-_0x5f1a0c._0x163575,-0xc7)],_0x3dc95e=_0x3c3d9f[_0x1d3f0d(-0xb9,-_0x5f1a0c._0x79c324)](_0x3c6e22['x'],_0x3c6e22['y'],0x1,0x1),_0x30c80b=_0x3dc95e[_0x4a45b4(_0x5f1a0c._0xd592d6,0x98)][0x3],_0x3db976=this['_max'],_0x42dbbc=this[_0x1d3f0d(-0x5d,-_0x5f1a0c._0x2d853f)];function _0x4a45b4(_0x1f3dd5,_0xfaba5c){return _0x3601(_0xfaba5c- -0x18e,_0x1f3dd5);}function _0x1d3f0d(_0x29c227,_0x59c011){return _0x3601(_0x59c011- -0x2dc,_0x29c227);}return _0xbd346b=Math[_0x1d3f0d(-_0x5f1a0c._0x551b66,-_0x5f1a0c._0x366457)](_0x3db976-_0x42dbbc)*(_0x30c80b/0xff)>>0x0,_0xbd346b;},'getDataURL':function(){return this['canvas']['toDataURL']();}},_0x2501c1;}(),_0x16aca6=function _0x239a5f(){var _0x3a968d=![];return _0x14678f['defaultRenderer']==='canvas2d'&&(_0x3a968d=_0xc96d59),_0x3a968d;}(),_0x5eed99={};_0x5eed99['merge']=function(){var _0x6980d8={},_0x222e64=arguments['length'];for(var _0x322927=0x0;_0x322927<_0x222e64;_0x322927++){var _0x577666=arguments[_0x322927];for(var _0x538bc8 in _0x577666){_0x6980d8[_0x538bc8]=_0x577666[_0x538bc8];}}return _0x6980d8;};var _0x314690=_0x5eed99;function _0x1fdacc(_0x549b2d,_0x4b1be2){return _0x56f957(_0x4b1be2,_0x549b2d- -0x130);}var _0x5bc3b2=function _0x3deacc(){var _0x396801={_0x431212:0x377,_0x598b35:0x39b,_0x5ec0e5:0x443,_0x497ad5:0xc9,_0x161d71:0xf6,_0x4dc497:0xc1,_0x36bbc8:0x461,_0x24c6db:0x43,_0x4995b2:0x44},_0x3c7716={_0x65324e:0x153},_0x406c6e={_0x289149:0x1b3,_0x58441b:0x197,_0x36b6cf:0x150,_0x4a532a:0x4c8},_0x523461={_0x366280:0x34e},_0x391fed={_0x5694a6:0x37a},_0x195284={_0x6be591:0x10e},_0x22754f={_0x1fcef1:0x217},_0x3da8e3={_0xb78f2d:0x2a2},_0x561999={_0xccd640:0x1c1,_0x2d9533:0x14c,_0x42fe54:0x186},_0x3c9053={_0xcc4c47:0x5cc,_0x2f46af:0x5e2},_0x1cc075=function _0x855230(){var _0x292dbd={_0x1d3213:0x551};function _0x4185a7(){var _0xe6e218={_0x26d3fd:0x3d5};function _0x1da158(_0x2ac702,_0x15fb7b){return _0x3601(_0x2ac702-_0xe6e218._0x26d3fd,_0x15fb7b);}this[_0x1da158(_0x3c9053._0xcc4c47,_0x3c9053._0x2f46af)]={};}return _0x4185a7['prototype']={'on':function(_0x409201,_0x31e90c,_0x590ce7){var _0x4cf01e=this['cStore'];!_0x4cf01e[_0x409201]&&(_0x4cf01e[_0x409201]=[]),_0x4cf01e[_0x409201]['push'](function(_0x6704f2){function _0x104c86(_0x185327,_0x5774c3){return _0x3601(_0x5774c3-0x39f,_0x185327);}return _0x31e90c[_0x104c86(_0x292dbd._0x1d3213,0x52c)](_0x590ce7,_0x6704f2);});},'emit':function(_0xb043ad,_0x26184d){var _0x53f426={_0x1a2b18:0xc2},_0x20fd7e=this[_0x31ebe4(-0x16d,-_0x561999._0xccd640)];function _0x31ebe4(_0x132400,_0x54064d){return _0x3601(_0x132400- -0x364,_0x54064d);}function _0x27a822(_0x48ba7d,_0x16cc74){return _0x3601(_0x48ba7d-_0x53f426._0x1a2b18,_0x16cc74);}if(_0x20fd7e[_0xb043ad]){var _0x327bc9=_0x20fd7e[_0xb043ad][_0x31ebe4(-_0x561999._0x2d9533,-_0x561999._0x42fe54)];for(var _0x39bb6c=0x0;_0x39bb6c<_0x327bc9;_0x39bb6c++){var _0x454217=_0x20fd7e[_0xb043ad][_0x39bb6c];_0x454217(_0x26184d);}}}},_0x4185a7;}(),_0x5b9ca4=function(_0x30efa9){var _0x579304={_0x856da7:0x406,_0x4700b6:0x11d,_0x12af99:0x44e,_0x5678f3:0x401,_0x23662b:0x415},_0x57ebbe={_0x47a89:0x56d},_0x666ed3={_0x21ff71:0x361};function _0x26ffd2(_0x344c1f,_0xf9c9d4){return _0x3601(_0x344c1f-_0x3da8e3._0xb78f2d,_0xf9c9d4);}function _0x5339b4(_0x2aac81,_0x1ef686){return _0x3601(_0x2aac81- -_0x666ed3._0x21ff71,_0x1ef686);}var _0x159c0b=_0x30efa9['_renderer'],_0x13cba2=_0x30efa9['_coordinator'],_0x5063f3=_0x30efa9['_store'];_0x13cba2['on'](_0x26ffd2(_0x5ad6f6._0x48205c,0x43f),_0x159c0b[_0x5339b4(-0x1ad,-_0x5ad6f6._0x47c1ef)],_0x159c0b),_0x13cba2['on']('renderall',_0x159c0b[_0x5339b4(-_0x5ad6f6._0x1c0009,-0x12e)],_0x159c0b),_0x13cba2['on']('extremachange',function(_0x53b4d7){function _0x14893b(_0x5168be,_0xd19051){return _0x26ffd2(_0x5168be- -0x5bf,_0xd19051);}function _0xd9574e(_0x334f14,_0x53698b){return _0x5339b4(_0x334f14-_0x57ebbe._0x47a89,_0x53698b);}_0x30efa9['_config']['onExtremaChange']&&_0x30efa9['_config']['onExtremaChange']({'min':_0x53b4d7[_0xd9574e(0x42a,_0x579304._0x856da7)],'max':_0x53b4d7[_0x14893b(-_0x579304._0x4700b6,-0xcd)],'gradient':_0x30efa9[_0xd9574e(_0x579304._0x12af99,_0x579304._0x5678f3)]['gradient']||_0x30efa9[_0xd9574e(0x44e,_0x579304._0x23662b)]['defaultGradient']});}),_0x5063f3['setCoordinator'](_0x13cba2);};function _0x4f0615(){function _0x479822(_0x2f47a5,_0x48543d){return _0x3601(_0x2f47a5- -0xb4,_0x48543d);}var _0xc6aed=this[_0x249b0b(-0x15f,-_0x5e55d4._0x228012)]=_0x314690[_0x479822(0xe6,_0x5e55d4._0x152668)](_0x14678f,arguments[0x0]||{});this['_coordinator']=new _0x1cc075();function _0x249b0b(_0xda9833,_0x335b41){return _0x3601(_0x335b41- -0x3bc,_0xda9833);}if(_0xc6aed['plugin']){var _0xb815db=_0xc6aed['plugin'];if(!_0x14678f[_0x479822(0x133,0x176)][_0xb815db])throw new Error('Plugin\x20\x27'+_0xb815db+_0x479822(0x117,_0x5e55d4._0x3039ed));else{var _0xa49d40=_0x14678f[_0x479822(0x133,_0x5e55d4._0x155d32)][_0xb815db];this['_renderer']=new _0xa49d40['renderer'](_0xc6aed),this[_0x479822(0x18d,_0x5e55d4._0x460c3f)]=new _0xa49d40['store'](_0xc6aed);}}else this['_renderer']=new _0x16aca6(_0xc6aed),this[_0x249b0b(-_0x5e55d4._0x287cf1,-_0x5e55d4._0x3a0abf)]=new _0x525f97(_0xc6aed);_0x5b9ca4(this);}return _0x4f0615['prototype']={'addData':function(){function _0x329844(_0x509261,_0x739185){return _0x3601(_0x509261-_0x22754f._0x1fcef1,_0x739185);}this[_0x3e4d87(_0x351034._0x45ffc4,0x34f)]['addData'][_0x3e4d87(0x2a6,0x29c)](this['_store'],arguments);function _0x3e4d87(_0x3fcc1f,_0x165cd0){return _0x3601(_0x165cd0-_0x195284._0x6be591,_0x3fcc1f);}return this;},'removeData':function(){var _0x1e0b22={_0x5dde2e:0x65};function _0x30837c(_0x37ae13,_0x44427d){return _0x3601(_0x37ae13- -0x359,_0x44427d);}this[_0xb02370(0x2ca,0x2a6)]['removeData']&&this[_0xb02370(0x253,0x2a6)]['removeData']['apply'](this['_store'],arguments);function _0xb02370(_0x37c25e,_0x25d5a6){return _0x3601(_0x25d5a6-_0x1e0b22._0x5dde2e,_0x37c25e);}return this;},'setData':function(){function _0x14dbb0(_0x520b8c,_0x1cf13b){return _0x3601(_0x520b8c-_0x391fed._0x5694a6,_0x1cf13b);}this['_store'][_0x2f3359(_0xce2b68._0x468f2e,0x514)][_0x2f3359(0x48a,_0xce2b68._0x3cae38)](this['_store'],arguments);function _0x2f3359(_0xb6809a,_0x1589fb){return _0x3601(_0x1589fb-_0x523461._0x366280,_0xb6809a);}return this;},'setDataMax':function(){var _0x1f06fa={_0x5a274c:0x3e};function _0x26bc27(_0x1d1866,_0x4ad2fe){return _0x3601(_0x4ad2fe- -_0x1f06fa._0x5a274c,_0x1d1866);}this[_0x26bc27(0x1bc,0x203)][_0x26bc27(_0x406c6e._0x289149,_0x406c6e._0x58441b)][_0x26bc27(0x12a,_0x406c6e._0x36b6cf)](this[_0x22d5ab(0x50b,_0x406c6e._0x4a532a)],arguments);function _0x22d5ab(_0x65d74f,_0x23b7ec){return _0x3601(_0x65d74f-0x2ca,_0x23b7ec);}return this;},'setDataMin':function(){var _0x418dea={_0x321528:0xd};function _0x24856a(_0x219d5c,_0x2855f5){return _0x3601(_0x219d5c-0x394,_0x2855f5);}function _0x388cc2(_0x2cc79a,_0x3b5c73){return _0x3601(_0x3b5c73-_0x418dea._0x321528,_0x2cc79a);}return this['_store'][_0x388cc2(0x16b,0x1bd)][_0x388cc2(0x1d0,0x19b)](this['_store'],arguments),this;},'configure':function(_0x489a3a){this['_config']=_0x314690[_0x3467cc(_0x396801._0x431212,_0x396801._0x598b35)](this[_0x3467cc(0x483,_0x396801._0x5ec0e5)],_0x489a3a),this[_0x55297f(_0x396801._0x497ad5,_0x396801._0x161d71)]['updateConfig'](this['_config']);function _0x3467cc(_0x16eb41,_0x4a3859){return _0x3601(_0x4a3859-0x201,_0x16eb41);}this['_coordinator']['emit'](_0x55297f(0xa3,_0x396801._0x4dc497),this[_0x3467cc(_0x396801._0x36bbc8,0x442)][_0x55297f(_0x396801._0x24c6db,_0x396801._0x4995b2)]());function _0x55297f(_0x2fe108,_0x1caedc){return _0x3601(_0x2fe108- -_0x3c7716._0x65324e,_0x1caedc);}return this;},'repaint':function(){function _0x4b8bab(_0x19b332,_0x338bd6){return _0x3601(_0x338bd6- -0x1d3,_0x19b332);}function _0x587749(_0x5411ef,_0x2829f4){return _0x3601(_0x2829f4- -0x2ba,_0x5411ef);}return this['_coordinator']['emit'](_0x587749(-0x7c,-0xc4),this['_store'][_0x587749(-_0x256532._0x46fa18,-0x124)]()),this;},'getData':function(){return this['_store']['getData']();},'getDataURL':function(){return this['_renderer']['getDataURL']();},'getValueAt':function(_0x48d73e){var _0x1ccf84={_0x5cb5dd:0x45};function _0x34352f(_0x34b002,_0x2606bd){return _0x3601(_0x2606bd-_0x1ccf84._0x5cb5dd,_0x34b002);}function _0x636b29(_0x1fcfcd,_0x296332){return _0x3601(_0x296332- -0x1b9,_0x1fcfcd);}if(this[_0x34352f(0x2ab,0x286)][_0x636b29(-0x51,_0x311f07._0x2385c8)])return this['_store']['getValueAt'](_0x48d73e);else return this['_renderer']['getValueAt']?this[_0x34352f(_0x311f07._0x4b6143,_0x311f07._0x4c53f5)]['getValueAt'](_0x48d73e):null;}},_0x4f0615;}(),_0x2e8bd3={'create':function(_0x4cdc4e){return new _0x5bc3b2(_0x4cdc4e);},'register':function(_0x54d01a,_0x1a66c6){_0x14678f['plugins'][_0x54d01a]=_0x1a66c6;}};return _0x2e8bd3;}));}(heatmap$1));var heatmap=heatmap$1['exports'],_0x4ad0ef={};_0x4ad0ef[_0x189493(0x3ad,0x3d9)]=null,_0x4ad0ef['default']=heatmap;var h337=_mergeNamespaces(_0x4ad0ef,[heatmap$1[_0x4f28a7(-0x69,-0x12)]]),HeatMaterial='uniform\x20sampler2D\x20image;\x0a\x0aczm_material\x20czm_getMaterial(czm_materialInput\x20materialInput)\x20{\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20vec2\x20st\x20=\x20materialInput.st;\x0a\x20\x20vec4\x20colorImage\x20=\x20texture(image,\x20st);\x0a\x20\x20if(colorImage.rgb\x20==\x20vec3(1.0)\x20||\x20colorImage.rgb\x20==\x20vec3(0.0))\x20{\x0a\x20\x20\x20\x20discard;\x0a\x20\x20}\x0a\x20\x20material.diffuse\x20=\x20colorImage.rgb;\x0a\x20\x20material.alpha\x20=\x20colorImage.a;\x0a\x20\x20return\x20material;\x0a}\x0a';if(!heatmap$1['exports']['create'])throw new Error(_0x189493(0x335,0x397));const Cesium=mars3d__namespace[_0x4f28a7(-0x45,-0x6)],BaseLayer=mars3d__namespace[_0x189493(0x303,0x329)]['BaseLayer'];var _0x25411f={};_0x25411f[_0x4f28a7(-0x31,-0xa)]=_0x4f28a7(-0xb0,-0xe0),_0x25411f['0.6']='green',_0x25411f['0.8']='yellow',_0x25411f[_0x4f28a7(-0x73,-0x3a)]='red';var _0xf604e9={};_0xf604e9['maxOpacity']=0.8,_0xf604e9['minOpacity']=0.1,_0xf604e9[_0x189493(0x33a,0x38d)]=0.85,_0xf604e9['radius']=0x19,_0xf604e9['gradient']=_0x25411f;const DEF_HEATSTYLE=_0xf604e9;var _0x213d3c={};_0x213d3c[_0x189493(0x307,0x2b5)]=1.5,_0x213d3c['arcBlurScale']=1.5,_0x213d3c['vertexFormat']=Cesium[_0x4f28a7(-0x93,-0xbc)][_0x4f28a7(-0x2f,-0x4b)];function _0x3601(_0x48b832,_0x37a196){var _0x27125e=_0x2712();return _0x3601=function(_0x36015,_0x4ca7a8){_0x36015=_0x36015-0x180;var _0x54ad13=_0x27125e[_0x36015];if(_0x3601['OHnzyo']===undefined){var _0x5cac9a=function(_0x21e572){var _0x17f892='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x21a6bc='',_0x504dda='';for(var _0x3cbb70=0x0,_0x233bb2,_0x54fd44,_0x3387e4=0x0;_0x54fd44=_0x21e572['charAt'](_0x3387e4++);~_0x54fd44&&(_0x233bb2=_0x3cbb70%0x4?_0x233bb2*0x40+_0x54fd44:_0x54fd44,_0x3cbb70++%0x4)?_0x21a6bc+=String['fromCharCode'](0xff&_0x233bb2>>(-0x2*_0x3cbb70&0x6)):0x0){_0x54fd44=_0x17f892['indexOf'](_0x54fd44);}for(var _0x2b8d51=0x0,_0x276885=_0x21a6bc['length'];_0x2b8d51<_0x276885;_0x2b8d51++){_0x504dda+='%'+('00'+_0x21a6bc['charCodeAt'](_0x2b8d51)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x504dda);};_0x3601['ubEzXH']=_0x5cac9a,_0x48b832=arguments,_0x3601['OHnzyo']=!![];}var _0x118608=_0x27125e[0x0],_0x29f55c=_0x36015+_0x118608,_0x585c30=_0x48b832[_0x29f55c];return!_0x585c30?(_0x54ad13=_0x3601['ubEzXH'](_0x54ad13),_0x48b832[_0x29f55c]=_0x54ad13):_0x54ad13=_0x585c30,_0x54ad13;},_0x3601(_0x48b832,_0x37a196);}const DEF_STYLE=_0x213d3c;class HeatLayer extends BaseLayer{constructor(_0x28ba80={}){var _0x5a1a87={_0x268483:0x58f,_0x369699:0x603,_0x4ef66b:0x5de,_0x408e35:0x639,_0x237f62:0x5de,_0x299a6b:0x125},_0x47f6e8={_0x3f8f6e:0x456};super(_0x28ba80);function _0x1cef4a(_0x483834,_0x12e372){return _0x4f28a7(_0x12e372-0x613,_0x483834);}this['options'][_0x1cef4a(_0x5a1a87._0x268483,0x5de)]=this[_0x1cef4a(0x574,0x555)][_0x1cef4a(_0x5a1a87._0x369699,_0x5a1a87._0x4ef66b)]??document['body']['clientWidth'],this[_0x50c502(-0x163,-0x156)]['canvasWidth']=Math['min'](this['options'][_0x1cef4a(_0x5a1a87._0x408e35,_0x5a1a87._0x237f62)],0x1388),this[_0x50c502(-_0x5a1a87._0x299a6b,-0x156)]['redrawRatio']=this['options'][_0x1cef4a(0x64c,0x601)]||0x1,this['options']['heatStyle']={...DEF_HEATSTYLE,...this[_0x50c502(-0x13d,-0x156)]['heatStyle']};function _0x50c502(_0x287706,_0x364225){return _0x189493(_0x364225- -_0x47f6e8._0x3f8f6e,_0x287706);}this['options']['style']={...DEF_STYLE,...this['options']['style']};}get['layer'](){return this['_layer'];}get['heatStyle'](){var _0xd4481a={_0x45424d:0x459},_0x4c231b={_0x2f31b0:0x536};function _0x5bc118(_0x4a31f9,_0x5b083c){return _0x4f28a7(_0x4a31f9-_0x4c231b._0x2f31b0,_0x5b083c);}return this['options'][_0x5bc118(0x4ac,_0xd4481a._0x45424d)];}set['heatStyle'](_0x4f5473){var _0x93d5f8={_0x3af639:0x4d5,_0x27bd53:0xd7,_0x147e6e:0x55a,_0x43810f:0x52e,_0x4fff80:0x94,_0x18500f:0x4af},_0xa789ba={_0x37c16b:0x57a},_0x14f2b9={_0x8bbc66:0x40b};function _0x332923(_0x1f9a65,_0x282375){return _0x189493(_0x282375- -_0x14f2b9._0x8bbc66,_0x1f9a65);}function _0x2ba33(_0x4e3c7a,_0x1354b2){return _0x4f28a7(_0x4e3c7a-_0xa789ba._0x37c16b,_0x1354b2);}this['options']['heatStyle']=mars3d__namespace['Util'][_0x2ba33(_0x93d5f8._0x3af639,0x531)](this['options'][_0x332923(-0x122,-_0x93d5f8._0x27bd53)],_0x4f5473);if(this[_0x2ba33(_0x93d5f8._0x147e6e,_0x93d5f8._0x43810f)]){this[_0x2ba33(0x55a,0x57e)][_0x332923(-_0x93d5f8._0x4fff80,-0xb1)](this['options'][_0x2ba33(0x4f0,_0x93d5f8._0x18500f)]);const _0x51cd4=this['_heat']['_renderer']['canvas'][_0x332923(-0x4a,-0x4c)](_0x2ba33(0x4dd,0x512),0x1);this['_updateGraphic'](_0x51cd4);}}get['style'](){return this['options']['style'];}set['style'](_0x3225e9){var _0x19fc0e={_0x85bf3b:0x11b,_0x3e892:0x124},_0x5f25eb={_0x4b5692:0x4fd};function _0x114c27(_0x3649fd,_0x2d9785){return _0x4f28a7(_0x2d9785- -0x10e,_0x3649fd);}function _0x49b6e6(_0xdfd764,_0x1ec281){return _0x189493(_0x1ec281- -_0x5f25eb._0x4b5692,_0xdfd764);}this['options'][_0x114c27(-_0x19fc0e._0x85bf3b,-0x140)]=mars3d__namespace[_0x49b6e6(-_0x19fc0e._0x3e892,-0x183)]['merge'](this['options']['style'],_0x3225e9);}get[_0x189493(0x35e,0x341)](){return this['_positions'];}set[_0x189493(0x35e,0x301)](_0x2261f5){this['setPositions'](_0x2261f5);}get['coordinates'](){var _0x13cf64={_0x388cf1:0xe5,_0x4433bf:0x13a};const _0xda64df=[];function _0x59bd88(_0x5158fa,_0x45ba6c){return _0x189493(_0x45ba6c- -0x248,_0x5158fa);}return this['points'][_0x59bd88(_0x13cf64._0x388cf1,_0x13cf64._0x4433bf)](_0x19d4bc=>{_0xda64df['push'](_0x19d4bc['toArray']());}),_0xda64df;}get[_0x4f28a7(-0x3b,0x15)](){return this['_rectangle'];}[_0x4f28a7(-0x28,-0x4)](_0x584843,_0x3bb391){var _0x420cca={_0x260d41:0x171,_0x1048be:0x1c6};function _0x13b5d6(_0xa53a7b,_0x569635){return _0x189493(_0xa53a7b-0xa1,_0x569635);}function _0x47a834(_0x2ec4f7,_0x16e0cd){return _0x189493(_0x2ec4f7- -0x4cf,_0x16e0cd);}_0x584843[_0x47a834(-_0x420cca._0x260d41,-0x1c9)]&&(this[_0x47a834(-_0x420cca._0x260d41,-_0x420cca._0x1048be)]=_0x584843['positions']);}['_mountedHook'](){var _0xe0b22a={_0x31c5e4:0x314,_0x14febc:0x35d,_0x1f002c:0x431},_0xbbdcd6={_0x3e81b2:0x48f};function _0x30661f(_0x15f910,_0x47ba43){return _0x4f28a7(_0x47ba43-0x333,_0x15f910);}function _0x2ce4ad(_0x164028,_0x8022b4){return _0x4f28a7(_0x8022b4-_0xbbdcd6._0x3e81b2,_0x164028);}if(this[_0x30661f(_0xe0b22a._0x31c5e4,0x301)][_0x30661f(_0xe0b22a._0x14febc,0x32e)]===_0x30661f(0x33c,0x30f)){var _0x5be61f={};_0x5be61f['crs']='EPSG:3857',_0x5be61f['private']=!![],this['_layer']=new mars3d__namespace['layer']['ImageLayer'](_0x5be61f);}else{var _0x1c0b16={};_0x1c0b16[_0x2ce4ad(0x3dd,_0xe0b22a._0x1f002c)]=!![],this['_layer']=new mars3d__namespace[(_0x2ce4ad(0x392,0x3d4))]['GraphicLayer'](_0x1c0b16);}}['_addedHook'](){var _0x2a8249={_0x3dbd78:0x225,_0x3355e7:0x1f9,_0x493332:0x1ee,_0x40d892:0x1ae,_0x5c942c:0x1a6,_0x38807d:0x1ef};this['_map'][_0x50396c(0x1cc,0x1b6)](this['_layer']),this['_container']=mars3d__namespace['DomUtil'][_0x50396c(_0x2a8249._0x3dbd78,0x206)]('div','mars3d-heatmap\x20mars3d-hideDiv',this['_map']['container']);this['options']['positions']&&(this['positions']=this['options'][_0x58c950(0x23e,0x1f4)]);this['options']['redrawZoom']&&this['_map']['on'](mars3d__namespace[_0x58c950(_0x2a8249._0x3355e7,0x1b8)][_0x50396c(0x1ce,0x1a4)],this['_onCameraMoveEnd'],this);function _0x50396c(_0x38c561,_0x2c719f){return _0x4f28a7(_0x38c561-0x253,_0x2c719f);}function _0x58c950(_0x4f4ea9,_0x2e68ae){return _0x4f28a7(_0x2e68ae-0x254,_0x4f4ea9);}this[_0x58c950(0x185,0x196)][_0x50396c(_0x2a8249._0x493332,_0x2a8249._0x40d892)]&&this[_0x58c950(_0x2a8249._0x5c942c,_0x2a8249._0x38807d)]();}[_0x189493(0x3a8,0x356)](){var _0x2dc419={_0x159c02:0x43,_0x167371:0x77,_0x16332a:0xe1,_0x2b34b1:0x5e,_0x360a7e:0xb2,_0x2183e1:0xa1,_0x533ed3:0x120,_0x6e06ce:0xc5,_0x113e3c:0x10e};this['options'][_0x3a181f(-_0x2dc419._0x159c02,-_0x2dc419._0x167371)]&&this[_0x3a181f(-0xc1,-0x9e)][_0x25fe84(0xf7,_0x2dc419._0x16332a)](mars3d__namespace['EventType'][_0x3a181f(-0xe8,-0xfa)],this['_onCameraMoveEnd'],this);this[_0x3a181f(-_0x2dc419._0x2b34b1,-0xa1)]&&(mars3d__namespace['DomUtil']['remove'](this[_0x3a181f(-_0x2dc419._0x360a7e,-_0x2dc419._0x2183e1)]),delete this['_container']);function _0x3a181f(_0x3564f1,_0x3731ae){return _0x189493(_0x3731ae- -0x433,_0x3564f1);}this[_0x3a181f(-0x156,-_0x2dc419._0x533ed3)]();function _0x25fe84(_0x393300,_0x4ad784){return _0x189493(_0x4ad784- -0x2c6,_0x393300);}this[_0x25fe84(_0x2dc419._0x6e06ce,0xcf)][_0x3a181f(-_0x2dc419._0x113e3c,-0xbf)](this['_layer']);}['_showHook'](_0x382ddd){function _0x545ad0(_0x12c030,_0x685106){return _0x4f28a7(_0x685106-0x3cc,_0x12c030);}_0x382ddd&&this[_0x545ad0(0x305,0x360)]();}['addPosition'](_0x440341){var _0x43a270={_0x2daae8:0x3eb,_0x395b29:0x587,_0x17f2ed:0x3ee},_0x425bf5={_0x410d77:0x5ad};this['_positions']=this[_0x599bb7(0x432,_0x43a270._0x2daae8)]||[];function _0x1d3162(_0x3d96ab,_0x2ae685){return _0x4f28a7(_0x3d96ab-_0x425bf5._0x410d77,_0x2ae685);}this[_0x1d3162(0x53e,_0x43a270._0x395b29)]['push'](_0x440341);function _0x599bb7(_0x207f95,_0x3d2d97){return _0x4f28a7(_0x3d2d97-0x45a,_0x207f95);}this[_0x599bb7(0x424,_0x43a270._0x17f2ed)]();}['setPositions'](_0x52ce8b){var _0x3481d9={_0x461fb1:0xdf};function _0x4ed90b(_0x5257b0,_0xe323f9){return _0x189493(_0xe323f9- -0x2a3,_0x5257b0);}function _0x545125(_0x441e4c,_0x17918e){return _0x189493(_0x17918e- -0x42e,_0x441e4c);}this[_0x545125(-0x126,-_0x3481d9._0x461fb1)]=_0x52ce8b,this[_0x4ed90b(0xb0,0xaf)]();}['clear'](){this['_graphic']&&(this['_layer']['removeGraphic'](this['_graphic'],!![]),delete this['_graphic']),this['_graphic2']&&(this['_layer']['removeGraphic'](this['_graphic2'],!![]),delete this['_graphic2']);}[_0x4f28a7(-0x6c,-0x9a)](){var _0x48648e={_0x43fabd:0x4f3};if(!this[_0x49d1d8(0x484,0x4e1)]||!this['_map']||!this[_0x148af5(0x272,0x2ce)]||this['positions']['length']===0x0)return this;function _0x148af5(_0x437a74,_0xc8604c){return _0x189493(_0xc8604c- -0x90,_0x437a74);}function _0x49d1d8(_0x2c399d,_0x407905){return _0x4f28a7(_0x2c399d-0x512,_0x407905);}const _0x22f211=this['_getHeatCanvas']();return this[_0x49d1d8(0x512,_0x48648e._0x43fabd)](_0x22f211),this;}['getRectangle'](_0x265689){var _0x9d3296={_0x322d93:0x577},_0x86f6fe={_0x444255:0x227};function _0x113a89(_0x27cb85,_0xda03b){return _0x4f28a7(_0xda03b- -0xa4,_0x27cb85);}function _0x88635b(_0xb0f66a,_0x4529e9){return _0x189493(_0x4529e9-_0x86f6fe._0x444255,_0xb0f66a);}return _0x265689!==null&&_0x265689!==void 0x0&&_0x265689[_0x88635b(0x599,0x58c)]&&this[_0x113a89(-0xdd,-0x127)]?mars3d__namespace['PolyUtil'][_0x88635b(_0x9d3296._0x322d93,0x584)](this['_rectangle']):this['_rectangle'];}['_onCameraMoveEnd'](){var _0x19f2e1={_0x516a8d:0x7d,_0x154eb0:0x85,_0x182560:0x118,_0x1851a5:0x57,_0x50c7c1:0x39,_0x470045:0x42,_0x113984:0x81},_0x16ff2b={_0x1a1b98:0xb5},_0x1efd6a={_0x38cfeb:0x79};function _0x289517(_0x5b2ecd,_0x5d4385){return _0x4f28a7(_0x5d4385- -_0x1efd6a._0x38cfeb,_0x5b2ecd);}if(!this['_heat']||!this[_0x5770f6(0x3c6,0x3e5)]||!this[_0x289517(-_0x19f2e1._0x516a8d,-0xa2)])return;const _0x18fe53=this['options'][_0x289517(-_0x19f2e1._0x154eb0,-0x8b)]*(this['_map'][_0x289517(-0x159,-_0x19f2e1._0x182560)]['positionCartographic'][_0x289517(-_0x19f2e1._0x1851a5,-0x9e)]-this['_bounds'][_0x289517(-_0x19f2e1._0x50c7c1,-0x82)])/this['_bounds'][_0x5770f6(0x484,0x46a)];let _0x535661=this['heatStyle']['radius']*(0x1+_0x18fe53);function _0x5770f6(_0x21e118,_0x4f8c59){return _0x189493(_0x4f8c59-_0x16ff2b._0x1a1b98,_0x21e118);}_0x535661=Math['min'](0x64,_0x535661),_0x535661=Math['max'](_0x535661,0x2),_0x535661&&this[_0x289517(-_0x19f2e1._0x470045,-_0x19f2e1._0x113984)](_0x535661);}['_getBounds'](_0x62f092){var _0x57ab54={_0x15b2cb:0x9d,_0x29cb61:0x7d,_0x4d75b2:0x1a,_0x71995b:0x2bb,_0x5ed4ab:0x1c3,_0x18a3db:0x278,_0x4e29f5:0xd3,_0x35d088:0xc4,_0x2fccfb:0x42,_0x581c45:0xd,_0x2e6e67:0x20b,_0x1c774e:0x1f4},_0x41a8c9={_0x3ef6c9:0x121,_0x448d75:0x3c2,_0xdbd503:0x40d,_0x2ac532:0x385,_0x3af8f3:0x366};let _0x46a134,_0x5e3a15,_0x1922e4,_0x296e93;this['options']['rectangle']?(_0x46a134=this['options']['rectangle']['xmin'],_0x5e3a15=this['options']['rectangle']['xmax'],_0x1922e4=this['options']['rectangle']['ymin'],_0x296e93=this['options'][_0x3f2ee2(_0x57ab54._0x15b2cb,0xa7)][_0x3f2ee2(0x44,_0x57ab54._0x29cb61)]):_0x62f092['forEach']((_0x46e661,_0x375fae)=>{function _0x47cb5b(_0x3ed521,_0x1f373a){return _0x53d918(_0x1f373a,_0x3ed521-0x175);}function _0x36840a(_0x44290f,_0x171d73){return _0x3f2ee2(_0x171d73-0x54,_0x44290f);}_0x375fae===0x0?(_0x46a134=_0x46e661['lng'],_0x5e3a15=_0x46e661[_0x47cb5b(0x3e3,0x39c)],_0x1922e4=_0x46e661[_0x36840a(0x77,0xb0)],_0x296e93=_0x46e661['lat']):(_0x46a134=Math[_0x36840a(_0x41a8c9._0x3ef6c9,0x10b)](_0x46a134,_0x46e661['lng']),_0x5e3a15=Math[_0x47cb5b(_0x41a8c9._0x448d75,0x393)](_0x5e3a15,_0x46e661['lng']),_0x1922e4=Math['min'](_0x1922e4,_0x46e661['lat']),_0x296e93=Math[_0x47cb5b(_0x41a8c9._0x448d75,_0x41a8c9._0xdbd503)](_0x296e93,_0x46e661[_0x47cb5b(_0x41a8c9._0x2ac532,_0x41a8c9._0x3af8f3)]));});function _0x3f2ee2(_0x48e922,_0x1a1aa6){return _0x4f28a7(_0x48e922-0xd8,_0x1a1aa6);}let _0x42ad05=_0x5e3a15-_0x46a134,_0x565661=_0x296e93-_0x1922e4;_0x42ad05===0x0&&(_0x42ad05=0x1);_0x565661===0x0&&(_0x565661=0x1);!this[_0x3f2ee2(_0x57ab54._0x4d75b2,-0x20)]['rectangle']&&(_0x46a134-=_0x42ad05/0xa,_0x1922e4-=_0x565661/0xa,_0x5e3a15+=_0x42ad05/0xa,_0x296e93+=_0x565661/0xa);_0x46a134=Math['max'](_0x46a134,-0xb4),_0x5e3a15=Math[_0x53d918(_0x57ab54._0x71995b,0x26b)](_0x5e3a15,0xb4),_0x1922e4=Math['max'](_0x1922e4,-0x5a),_0x296e93=Math['min'](_0x296e93,0x5a);var _0x1309a2={};_0x1309a2[_0x53d918(_0x57ab54._0x5ed4ab,0x21c)]=_0x46a134,_0x1309a2['xmax']=_0x5e3a15,_0x1309a2['ymin']=_0x1922e4,_0x1309a2['ymax']=_0x296e93;const _0x30c0d1=_0x1309a2;function _0x53d918(_0xc6d158,_0x2698d7){return _0x4f28a7(_0x2698d7-0x28c,_0xc6d158);}_0x30c0d1['diffX']=_0x5e3a15-_0x46a134,_0x30c0d1[_0x53d918(_0x57ab54._0x18a3db,0x232)]=_0x296e93-_0x1922e4,_0x30c0d1['rectangle']=Cesium[_0x3f2ee2(0xbb,_0x57ab54._0x4e29f5)][_0x53d918(0x23f,0x24c)](_0x46a134,_0x1922e4,_0x5e3a15,_0x296e93);const _0x5542a1=Math[_0x53d918(0x28d,0x24d)](_0x30c0d1[_0x3f2ee2(_0x57ab54._0x15b2cb,_0x57ab54._0x35d088)]['height'],_0x30c0d1['rectangle'][_0x3f2ee2(0xca,0x11d)]);return _0x30c0d1[_0x3f2ee2(_0x57ab54._0x2fccfb,_0x57ab54._0x581c45)]=_0x5542a1,_0x30c0d1['radius']=Cesium['Math']['chordLength'](_0x5542a1,this['_map']['scene'][_0x53d918(_0x57ab54._0x2e6e67,_0x57ab54._0x1c774e)]['ellipsoid'][_0x3f2ee2(0xa1,0xb0)]),_0x30c0d1;}['_getHeatCanvas'](){var _0x501a36={_0x5a7cf2:0x1cd,_0x5b8cc8:0x1aa,_0x43596e:0x1af,_0x15c219:0x1d5,_0x10bae0:0x1a1,_0x32e0df:0x215,_0x2667e2:0x22b,_0x344d3d:0x21b,_0x3bb3c1:0x1ef,_0x4a28cb:0x186,_0x5bdfa0:0x1b1,_0x506994:0x211,_0x248980:0x1a9,_0x16d2e1:0x1fa,_0x31c11e:0x20f,_0x17a5ff:0x18d,_0x4b2dfa:0x1b1,_0x4fc22d:0x230},_0x1aecc5={_0x8ce974:0x8,_0x7f6cdc:0x2bf,_0x3e05f3:0x2cf,_0x19adb2:0x1d,_0xfa9901:0x1e,_0x58ce42:0x2b6},_0x3c91ec={_0x3c3272:0x1f2},_0x170cf7={_0x2c2583:0x168},_0x10977c={_0x5c2c0c:0x241};const _0x5b8436=this['_positions'];function _0x850787(_0x169103,_0x2b938b){return _0x4f28a7(_0x169103-_0x10977c._0x5c2c0c,_0x2b938b);}const _0x22e162=[];_0x5b8436[_0x4c32ad(-0x19e,-_0x501a36._0x5a7cf2)](_0x520d2e=>{var _0x5095b0={_0x576648:0x446};const _0x221d9a=mars3d__namespace[_0x40850a(0x27d,0x2d9)][_0x40850a(0x24f,0x248)](_0x520d2e);if(!_0x221d9a)return;function _0x40850a(_0x491026,_0x154267){return _0x4c32ad(_0x154267,_0x491026-_0x5095b0._0x576648);}_0x221d9a[_0x484b80(-0xa7,-0x66)]=_0x520d2e['value']||0x1;function _0x484b80(_0x31891e,_0x37d2e6){return _0x4c32ad(_0x37d2e6,_0x31891e-_0x170cf7._0x2c2583);}_0x22e162['push'](_0x221d9a);}),this[_0x850787(_0x501a36._0x5b8cc8,0x180)]=this['_getBounds'](_0x22e162),this['_rectangle']=this['_bounds']['rectangle'];const _0x15b72f=this['options']['canvasWidth'],_0x22213a=mars3d__namespace[_0x4c32ad(-_0x501a36._0x43596e,-_0x501a36._0x15c219)]['formatNum'](_0x15b72f/this['_bounds'][_0x850787(_0x501a36._0x10bae0,0x1f5)]*this['_bounds']['diffY']);this['_canvasWidth']=_0x15b72f,this[_0x850787(0x18b,0x198)]=_0x22213a,this[_0x850787(_0x501a36._0x32e0df,0x237)]['style']['cssText']='width:'+_0x15b72f+'px;height:'+_0x22213a+_0x4c32ad(-0x1f6,-0x1bc);var _0xbe02d5={...this[_0x4c32ad(-_0x501a36._0x2667e2,-_0x501a36._0x344d3d)]};_0xbe02d5[_0x4c32ad(-0x21a,-0x1d3)]=this[_0x850787(0x215,0x1c3)];const _0x181d12=_0xbe02d5;function _0x4c32ad(_0x5df89a,_0x526769){return _0x4f28a7(_0x526769- -0x191,_0x5df89a);}this[_0x4c32ad(-_0x501a36._0x3bb3c1,-0x1b1)]?this[_0x4c32ad(-_0x501a36._0x4a28cb,-_0x501a36._0x5bdfa0)]['configure'](_0x181d12):this[_0x4c32ad(-_0x501a36._0x506994,-0x1b1)]=heatmap$1[_0x4c32ad(-_0x501a36._0x248980,-_0x501a36._0x16d2e1)][_0x850787(0x213,0x1d2)](_0x181d12);let _0x3a9719=_0x22e162[0x0]['value']??0x1,_0xe0b7f4=_0x22e162[0x0][_0x4c32ad(-0x21d,-_0x501a36._0x31c11e)]??0x0;const _0x28cb0f=[];_0x22e162['forEach'](_0x2514a0=>{const _0x15f76f=Math['round']((_0x2514a0['lng']-this['_bounds']['xmin'])/this[_0x3ee625(-0x36,-_0x1aecc5._0x8ce974)][_0x4d2fd2(0x2b3,_0x1aecc5._0x7f6cdc)]*_0x15b72f),_0x1eed10=Math['round']((this[_0x3ee625(-0x36,-0x5c)]['ymax']-_0x2514a0['lat'])/this['_bounds']['diffY']*_0x22213a),_0x38e0df=_0x2514a0[_0x4d2fd2(_0x1aecc5._0x3e05f3,0x2e1)]||0x1;_0x3a9719=Math['max'](_0x3a9719,_0x38e0df),_0xe0b7f4=Math['min'](_0xe0b7f4,_0x38e0df);var _0x4b838e={};_0x4b838e['x']=_0x15f76f,_0x4b838e['y']=_0x1eed10;function _0x3ee625(_0x14a12f,_0x21d95f){return _0x4c32ad(_0x21d95f,_0x14a12f-_0x3c91ec._0x3c3272);}function _0x4d2fd2(_0x398b79,_0xdbdf42){return _0x850787(_0xdbdf42-0x11e,_0x398b79);}_0x4b838e[_0x3ee625(-_0x1aecc5._0x19adb2,_0x1aecc5._0xfa9901)]=_0x38e0df,_0x28cb0f[_0x4d2fd2(_0x1aecc5._0x58ce42,0x2c5)](_0x4b838e);});var _0x3e526f={};_0x3e526f['min']=this[_0x4c32ad(-0x234,-0x24f)][_0x4c32ad(-_0x501a36._0x17a5ff,-0x1b2)]??_0xe0b7f4,_0x3e526f['max']=this['options']['max']??_0x3a9719,_0x3e526f['data']=_0x28cb0f;const _0x15a1af=_0x3e526f;this['_heat']['setData'](_0x15a1af);const _0x484b60=this[_0x4c32ad(-0x167,-_0x501a36._0x4b2dfa)]['_renderer']['canvas']['toDataURL'](_0x4c32ad(-_0x501a36._0x4fc22d,-0x22e),0x1);return _0x484b60;}['_getArcHeatCanvas'](){var _0x418547={_0x3fc790:0x55c,_0x409c7f:0x601,_0x23c47e:0x3f9,_0x30dd16:0x5ea,_0x554282:0x5ca,_0x163335:0x3ea,_0xe95c88:0x37a},_0x13cc92={_0x3f411c:0x59};function _0x491388(_0x1193ca,_0x1b8db9){return _0x189493(_0x1b8db9-_0x13cc92._0x3f411c,_0x1193ca);}var _0x51efe6={};_0x51efe6['0.25']='rgb(0,0,0)',_0x51efe6['0.55']='rgb(140,140,140)',_0x51efe6['0.85']=_0x5c12dc(_0x418547._0x3fc790,0x557),_0x51efe6['1']='rgb(255,255,255)';function _0x5c12dc(_0x551490,_0x217b93){return _0x4f28a7(_0x551490-0x60a,_0x217b93);}this[_0x491388(0x452,0x3f7)][_0x5c12dc(0x5a6,0x5b6)]({'radius':this['heatStyle'][_0x5c12dc(_0x418547._0x409c7f,0x5cc)]*this['style'][_0x5c12dc(0x553,0x596)],'blur':this['heatStyle']['blur']*this['style']['arcBlurScale'],'gradient':this['heatStyle'][_0x491388(_0x418547._0x23c47e,0x408)]||_0x51efe6});const _0x8e823d=this[_0x5c12dc(_0x418547._0x30dd16,_0x418547._0x554282)]['_renderer']['canvas'][_0x491388(_0x418547._0x163335,0x418)](_0x491388(0x33e,_0x418547._0xe95c88),0x1);return this['_heat']['configure'](this[_0x5c12dc(0x54c,0x596)]['heatStyle']),_0x8e823d;}[_0x4f28a7(-0x8,0x43)](_0x1773a4){var _0x11bb10={_0x11aa00:0x618},_0x4b4c5b={_0xa82488:0x1a7};const _0x2b7c41=this['_heat'][_0x111a8e(0x4ef,0x4a2)]();function _0x111a8e(_0x1c09c7,_0x1fd847){return _0x189493(_0x1c09c7-_0x4b4c5b._0xa82488,_0x1fd847);}function _0x5bb437(_0x36ba74,_0x339a69){return _0x4f28a7(_0x36ba74-0x624,_0x339a69);}if(_0x2b7c41!==null&&_0x2b7c41!==void 0x0&&_0x2b7c41['data'])for(const _0xc1172e in _0x2b7c41[_0x111a8e(0x54c,0x553)]){const _0x1d4804=_0x2b7c41[_0x5bb437(0x60b,_0x11bb10._0x11aa00)][_0xc1172e];_0x1d4804['radius']=_0x1773a4;}this[_0x5bb437(0x604,0x61b)]['setData'](_0x2b7c41);const _0x47105c=this['_heat']['_renderer']['canvas']['toDataURL']('image/png',0x1);this['_updateGraphic'](_0x47105c);}['getPointData'](_0x51ebef){var _0x5670f3={_0x11f24b:0x21a,_0x17ae56:0x236,_0x53a341:0x53b,_0x45771a:0x53b,_0x4b05f7:0x55b,_0x2cb44c:0x562,_0x23df70:0x233,_0x1cfadf:0x238,_0x5ed7ef:0x505,_0x54b192:0x245,_0x611da1:0x5b9};function _0x1a7d57(_0x2af5f9,_0x368a1b){return _0x189493(_0x2af5f9-0x214,_0x368a1b);}const _0xe85659=mars3d__namespace['LngLatPoint']['parse'](_0x51ebef);if(!_0xe85659||!this['_bounds'])return{};if(_0xe85659[_0x49a80d(-0x1a6,-0x1bd)]this['_bounds']['xmax']||_0xe85659['lat']this[_0x1a7d57(_0x5670f3._0x53a341,0x50f)]['ymax'])return{};const _0x259c09=(_0xe85659['lng']-this['_bounds'][_0x49a80d(-0x266,-0x20f)])/(this[_0x1a7d57(_0x5670f3._0x45771a,_0x5670f3._0x4b05f7)][_0x1a7d57(0x541,0x51b)]-this[_0x1a7d57(_0x5670f3._0x45771a,0x4fa)][_0x1a7d57(_0x5670f3._0x2cb44c,0x5b2)])*this['_canvasWidth'],_0x2cb298=(this['_bounds'][_0x49a80d(-0x25b,-_0x5670f3._0x23df70)]-_0xe85659[_0x49a80d(-0x20b,-0x21b)])/(this[_0x49a80d(-_0x5670f3._0x1cfadf,-0x236)]['ymax']-this[_0x1a7d57(0x53b,_0x5670f3._0x5ed7ef)][_0x49a80d(-_0x5670f3._0x54b192,-0x1ed)])*this['_canvasHeight'];var _0x229662={};_0x229662['x']=_0x259c09,_0x229662['y']=_0x2cb298;const _0x1c6e45=this['_heat']['getValueAt'](_0x229662),_0x419e2d=this['_heat']['_renderer']['ctx']['getImageData'](_0x259c09-0x1,_0x2cb298-0x1,0x1,0x1)[_0x1a7d57(_0x5670f3._0x611da1,0x61b)];var _0x598f70={};function _0x49a80d(_0x4f42b9,_0x2fbef6){return _0x4f28a7(_0x2fbef6- -0x19f,_0x4f42b9);}return _0x598f70['x']=_0x259c09,_0x598f70['y']=_0x2cb298,_0x598f70['value']=_0x1c6e45,_0x598f70['color']='rgba('+_0x419e2d[0x0]+','+_0x419e2d[0x1]+','+_0x419e2d[0x2]+','+_0x419e2d[0x3]+')',_0x598f70;}[_0x189493(0x3be,0x3c7)](_0x3acb37){var _0x49619f={_0x58165b:0x125,_0x557656:0xd7,_0xa92ff2:0x99,_0xd45250:0x584,_0x31aa62:0x557,_0x495d34:0x50a,_0xe3f41d:0x57e,_0x526894:0x569,_0x2729bc:0x52d,_0x143d71:0x52d,_0x572e07:0xf5,_0x12ec4c:0x144,_0x541b2a:0x177,_0x549008:0x1a5,_0x7a654f:0x16f,_0x88424:0x1c5};function _0x33dd86(_0x3c6d74,_0x4f1dc2){return _0x189493(_0x3c6d74-0x201,_0x4f1dc2);}function _0x1a0bba(_0x17117b,_0x24d6db){return _0x4f28a7(_0x17117b-0x1b2,_0x24d6db);}if(this['style']['type']==='image')this[_0x33dd86(0x56c,0x5bb)][_0x1a0bba(_0x49619f._0x58165b,_0x49619f._0x557656)]({'url':_0x3acb37,'rectangle':this[_0x33dd86(0x53c,0x56e)],'opacity':this['style']['opacity']});else this['style']['arc']?this[_0x1a0bba(0xf5,_0x49619f._0xa92ff2)]&&this['_graphic'][_0x33dd86(_0x49619f._0xd45250,0x541)]['equals'](this['_rectangle'])?(this[_0x1a0bba(0xf5,0x14a)]['uniforms']['image']=_0x3acb37,this['_graphic']['uniforms']['bumpMap']=this[_0x33dd86(_0x49619f._0x31aa62,_0x49619f._0x495d34)](),this[_0x33dd86(_0x49619f._0xe3f41d,_0x49619f._0x526894)]&&(this['_graphic2']['uniforms']['image']=_0x3acb37,this['_graphic2']['uniforms'][_0x33dd86(_0x49619f._0x2729bc,0x501)]=this['_graphic']['uniforms'][_0x33dd86(_0x49619f._0x143d71,0x555)])):this['_createArcGraphic'](_0x3acb37):this[_0x1a0bba(0xf5,_0x49619f._0x58165b)]&&this[_0x1a0bba(_0x49619f._0x572e07,_0x49619f._0x12ec4c)][_0x1a0bba(_0x49619f._0x541b2a,_0x49619f._0x549008)][_0x1a0bba(_0x49619f._0x7a654f,_0x49619f._0x88424)](this['_rectangle'])?this['_graphic']['uniforms']['image']=_0x3acb37:this['_createGraphic'](_0x3acb37);}[_0x189493(0x325,0x329)](_0x65d3d5){var _0x414dd9={_0x35cd42:0x89,_0x15ec91:0x330,_0x3705b8:0x346,_0xe62047:0x3d};function _0x312224(_0x4bf228,_0x4a7bef){return _0x4f28a7(_0x4a7bef-0x3d2,_0x4bf228);}function _0x5d002c(_0x3d2491,_0x51ef44){return _0x4f28a7(_0x51ef44-0x37,_0x3d2491);}this['clear']();var _0x345537={};_0x345537['image']=_0x65d3d5,this[_0x5d002c(-_0x414dd9._0x35cd42,-0x86)]=new mars3d__namespace['graphic'][(_0x312224(_0x414dd9._0x15ec91,0x35a))]({...this['options'],'rectangle':this['_rectangle'],'appearance':new Cesium['EllipsoidSurfaceAppearance']({'material':mars3d__namespace['MaterialUtil'][_0x312224(0x322,_0x414dd9._0x3705b8)](mars3d__namespace[_0x5d002c(-_0x414dd9._0xe62047,-0x1b)]['Image2'],_0x345537),'flat':!![]})}),this[_0x5d002c(0x24,-0x1c)]['addGraphic'](this[_0x5d002c(-0x36,-0x86)]);}['_createArcGraphic'](_0x4c79c8){var _0x3ebca4={_0x35f10a:0x222,_0xebddc0:0x2b3,_0x52affe:0x20b,_0x16a3a5:0x24d,_0x382de7:0x27d,_0x15bb79:0x24a,_0x324309:0x218,_0x250bdc:0x20c,_0x37ef32:0x291,_0x291683:0x298,_0x3ca2e1:0x253,_0x38ceb6:0x238,_0x4cf466:0x24f,_0x41cd38:0x243,_0x5ee01d:0x203,_0x211713:0x1fe,_0x679c5e:0x270,_0xaf3f83:0x22c},_0x59717a={_0x79d2e5:0x2af};this['clear']();var _0x5a9364={};_0x5a9364[_0xe04043(0x1f6,_0x3ebca4._0x35f10a)]=!![];var _0x1cfe3e={};_0x1cfe3e['enabled']=!![];function _0x3d5114(_0x1ea57f,_0x2aa4ae){return _0x4f28a7(_0x2aa4ae-0x2bb,_0x1ea57f);}const _0x295519=Cesium['RenderState']['fromCache']({'cull':_0x5a9364,'depthTest':_0x1cfe3e,'stencilTest':{'enabled':!![],'frontFunction':Cesium[_0x3d5114(0x303,0x2bf)]['ALWAYS'],'frontOperation':{'fail':Cesium['StencilOperation']['KEEP'],'zFail':Cesium['StencilOperation']['KEEP'],'zPass':Cesium['StencilOperation'][_0xe04043(0x241,0x279)]},'backFunction':Cesium[_0xe04043(_0x3ebca4._0xebddc0,0x280)]['ALWAYS'],'backOperation':{'fail':Cesium['StencilOperation']['KEEP'],'zFail':Cesium['StencilOperation']['KEEP'],'zPass':Cesium[_0x3d5114(0x1fc,0x25c)][_0x3d5114(_0x3ebca4._0x52affe,_0x3ebca4._0x16a3a5)]},'reference':0x2,'mask':0x2},'blending':Cesium[_0xe04043(0x29f,0x2b4)]['ALPHA_BLEND']}),_0x2fdb98=Math['floor'](this[_0xe04043(_0x3ebca4._0x382de7,_0x3ebca4._0x15bb79)]['diffHeight']??this[_0xe04043(_0x3ebca4._0x324309,_0x3ebca4._0x250bdc)]['radius']*0.05)+0.1;this['style']['diffHeight']&&delete this[_0xe04043(0x27d,_0x3ebca4._0x37ef32)]['diffHeight'];this['style'][_0xe04043(0x219,0x237)]=this['_bounds']['granularity']/(this['style']['splitNum'],0x64);const _0x3e5775=new Cesium['Material']({'fabric':{'uniforms':{'image':_0x4c79c8,'repeat':new Cesium[(_0xe04043(0x248,0x298))](0x1,0x1),'color':new Cesium[(_0xe04043(0x2ab,0x2ee))](0x1,0x1,0x1,0x0),'bumpMap':this[_0x3d5114(_0x3ebca4._0x291683,_0x3ebca4._0x3ca2e1)]()},'source':HeatMaterial},'translucent':!![]});function _0xe04043(_0x390de2,_0x177504){return _0x4f28a7(_0x390de2-_0x59717a._0x79d2e5,_0x177504);}const _0x45b22f=this[_0xe04043(0x27d,_0x3ebca4._0x38ceb6)][_0x3d5114(_0x3ebca4._0x4cf466,0x244)]||0x1;this['_graphic']=new mars3d__namespace['graphic'][(_0x3d5114(0x23d,_0x3ebca4._0x41cd38))]({...this[_0x3d5114(0x1c7,0x1fd)],'rectangle':this['_rectangle'],'appearance':new Cesium['EllipsoidSurfaceAppearance']({'flat':!![],'aboveGround':!![],'renderState':_0x295519,'material':_0x3e5775,'vertexShaderSource':getVertexShaderSource(_0x2fdb98*_0x45b22f)})}),this['_layer'][_0x3d5114(_0x3ebca4._0x5ee01d,0x1ff)](this[_0x3d5114(0x23f,_0x3ebca4._0x211713)]),this['style']['arcDirection']===0x0&&(this['_graphic2']=new mars3d__namespace[(_0x3d5114(0x288,_0x3ebca4._0x679c5e))][(_0x3d5114(0x231,0x243))]({...this['options'],'rectangle':this[_0xe04043(_0x3ebca4._0xaf3f83,0x281)],'appearance':new Cesium['EllipsoidSurfaceAppearance']({'flat':!![],'aboveGround':!![],'renderState':_0x295519,'material':_0x3e5775,'vertexShaderSource':getVertexShaderSource(-_0x2fdb98)})}),this['_layer']['addGraphic'](this['_graphic2']));}}mars3d__namespace['LayerUtil'][_0x4f28a7(-0xaa,-0x106)](_0x4f28a7(-0x6b,-0x7e),HeatLayer),mars3d__namespace[_0x189493(0x303,0x309)]['HeatLayer']=HeatLayer,mars3d__namespace['h337']=h337;function getVertexShaderSource(_0x146e0d){var _0x9b2cc9={_0x1df5ae:0x1d4};function _0x2fd044(_0x399fe9,_0x4ac16b){return _0x4f28a7(_0x399fe9- -0x127,_0x4ac16b);}return _0x2fd044(-_0x9b2cc9._0x1df5ae,-0x1a2)+_0x146e0d+';\x0a\x20\x20\x20\x20p\x20+=vec4(disPos,0.0);\x0a\x20\x20\x20\x20gl_Position\x20=\x20czm_modelViewProjectionRelativeToEye\x20*\x20p;\x0a\x20\x20}\x0a';}exports['HeatLayer']=HeatLayer;var _0x1aa00b={};_0x1aa00b[_0x4f28a7(-0x7e,-0x34)]=!![],Object['defineProperty'](exports,'__esModule',_0x1aa00b); +'use strict';(function(_0x3ee913,_0x1be604){var _0x4ad0ec={_0x4ef276:0x4f4,_0x3c098f:0x8e,_0x361942:0xa4,_0x55cf45:0x4db,_0x4b6fb5:0xa,_0x490550:0x2c,_0x2b3687:0x11,_0x4f1302:0x4a4,_0x38aa13:0x4},_0x12a8b3={_0x205c64:0x318};function _0x44281d(_0x2e1643,_0x433d2b){return _0x18ad(_0x2e1643- -0x1a0,_0x433d2b);}function _0x53fc75(_0xdcef35,_0x19b7bd){return _0x18ad(_0xdcef35-_0x12a8b3._0x205c64,_0x19b7bd);}var _0x3991ff=_0x3ee913();while(!![]){try{var _0xa5b97f=parseInt(_0x53fc75(0x493,_0x4ad0ec._0x4ef276))/0x1*(parseInt(_0x53fc75(0x4e5,0x535))/0x2)+-parseInt(_0x44281d(-0x54,-0x3e))/0x3*(-parseInt(_0x44281d(-_0x4ad0ec._0x3c098f,-_0x4ad0ec._0x361942))/0x4)+parseInt(_0x53fc75(_0x4ad0ec._0x55cf45,0x535))/0x5+parseInt(_0x44281d(-_0x4ad0ec._0x4b6fb5,-_0x4ad0ec._0x490550))/0x6*(-parseInt(_0x44281d(_0x4ad0ec._0x2b3687,-0x34))/0x7)+-parseInt(_0x53fc75(0x4ad,0x448))/0x8+-parseInt(_0x53fc75(_0x4ad0ec._0x4f1302,0x43e))/0x9+parseInt(_0x44281d(_0x4ad0ec._0x38aa13,0x39))/0xa;if(_0xa5b97f===_0x1be604)break;else _0x3991ff['push'](_0x3991ff['shift']());}catch(_0x2c568c){_0x3991ff['push'](_0x3991ff['shift']());}}}(_0x14fb,0xc0968));function _interopNamespace(_0xc80a25){var _0x2f3645={_0x101593:0x208},_0x255c32={_0x12cd11:0xf5,_0x4e3302:0x25f},_0x524673={_0xc87a60:0x3a3};function _0x1cb527(_0x23698e,_0x126464){return _0x18ad(_0x23698e- -0x25b,_0x126464);}function _0x29f1c0(_0x4d6b5c,_0x507492){return _0x18ad(_0x507492- -_0x524673._0xc87a60,_0x4d6b5c);}if(_0xc80a25&&_0xc80a25['__esModule'])return _0xc80a25;var _0x48a232=Object['create'](null);return _0xc80a25&&Object['keys'](_0xc80a25)[_0x1cb527(-0x134,-0x13d)](function(_0x177729){function _0x29d8b0(_0x2b06be,_0x1f9ea8){return _0x1cb527(_0x1f9ea8-0x1f4,_0x2b06be);}function _0x3ea0e6(_0x18b4c3,_0xc6b18b){return _0x1cb527(_0x18b4c3-0x2fb,_0xc6b18b);}if(_0x177729!==_0x29d8b0(_0x255c32._0x12cd11,0x134)){var _0x5c48b7=Object[_0x3ea0e6(0x273,0x2d4)](_0xc80a25,_0x177729);Object['defineProperty'](_0x48a232,_0x177729,_0x5c48b7[_0x3ea0e6(0x27b,_0x255c32._0x4e3302)]?_0x5c48b7:{'enumerable':!![],'get':function(){return _0xc80a25[_0x177729];}});}}),_0x48a232[_0x29f1c0(-0x228,-_0x2f3645._0x101593)]=_0xc80a25,_0x48a232;}function _mergeNamespaces(_0x2c9364,_0x545a4c){var _0x2cb620={_0x32e62a:0x244,_0x27dbad:0x2ce};return _0x545a4c['forEach'](function(_0x570955){function _0x36e7d7(_0x20dfaf,_0x4b68dc){return _0x18ad(_0x20dfaf- -0x9f,_0x4b68dc);}_0x570955&&typeof _0x570955!=='string'&&!Array['isArray'](_0x570955)&&Object[_0x36e7d7(0x123,0x154)](_0x570955)['forEach'](function(_0x474ff4){var _0x12d566={_0x4f7777:0x166};function _0x4f4a2a(_0x2fccd8,_0xffb4d3){return _0x36e7d7(_0x2fccd8-0x210,_0xffb4d3);}function _0x59b6ef(_0x587ef1,_0x4c6aff){return _0x36e7d7(_0x4c6aff-_0x12d566._0x4f7777,_0x587ef1);}if(_0x474ff4!=='default'&&!(_0x474ff4 in _0x2c9364)){var _0xb498d8=Object['getOwnPropertyDescriptor'](_0x570955,_0x474ff4);Object[_0x4f4a2a(0x28e,_0x2cb620._0x32e62a)](_0x2c9364,_0x474ff4,_0xb498d8[_0x59b6ef(_0x2cb620._0x27dbad,0x2a2)]?_0xb498d8:{'enumerable':!![],'get':function(){return _0x570955[_0x474ff4];}});}});}),_0x2c9364;}var mars3d__namespace=_interopNamespace(mars3d),commonjsGlobal=typeof globalThis!=='undefined'?globalThis:typeof window!==_0x4626c0(0x29d,0x2c8)?window:typeof global!==_0x4626c0(0x29d,0x273)?global:typeof self!==_0x32ed28(0x254,0x235)?self:{},_0x1efe35={};_0x1efe35['exports']={};var heatmap$1=_0x1efe35;function _0x14fb(){var _0xc791=['Dw5PzM9YBxm','D2LKDgG6','CMvSyxrPDMu','BwLU','Bgf5zxi','Aw1Hz2u','quXxqvLt','zgvMyxvSDfjHzgL1CW','DxnLr3jHzgLLBNrpCgfJAxr5','C3rVCMu','zMX5vg8','ChjPDMf0zq','x21HCa','C2v0rgf0yu1PBG','x19WCM90B19F','s0vfua','yMX1CG','x3bHBgv0Dgu','ywrKq29SB3jtDg9W','vxrPBa','C3r5Bgu','AgvHDfn0EwXL','D2LSBfjLywrgCMvXDwvUDgX5','Cg9ZAxrPB25Z','BgvUz3rO','nZf0qMvPwMu','x2DLDeLUDgvYBMfSrgf0yq','x2jSDxi','CMvKCMf3wM9VBq','mc42','x2DYyxbOAwm','CMvJDgfUz2XL','z2v0sw1Hz2veyxrH','y2fUDMfZmMq','AdmZnW','C2HHzg93q2fUDMfZ','zgvMyxvSDfzHBhvLrMLLBgq','B3b0Aw9UCW','x2nHBNzHC1DPzhrO','Eg1PBG','zgvMyxvSDfHgAwvSza','CMfKAq','mJaZnti1mwPmuMvNsW','yxbWzw5Kq2HPBgq','sgvHDeXHEwvY','CMvKCMf3uMf0Aw8','x2rHDge','C2HVDW','zMLSBa','q2fYDgvZAwfUmG','z3jHzgLLBNq','mZCWntq4mhLnrgTxDa','mZaZodm5ngneC2XSua','yxbWBhK','x2nVBg9YAxPL','AgvHDa','mc44nq','zgvMyxvSDa','C2v0rgf0yq','zw5HyMXLza','ChG7zgLZCgXHEtPUB25LoW','CMDIysG','zgLMzKHLAwDODa','CMvUzgvYywXS','Bwf4t3bHy2L0Eq','x2nVB3jKAw5HDg9Y','mti0ntq2odb2qxrtuKW','x3vWzgf0zvbVC2L0Aw9UC0HVB2S','x2jVDw5KCW','u3rLBMnPBez1BMn0Aw9U','x2nVBNrHAw5LCG','zxHWB3j0CW','AgvPz2H0','Bg5N','Dw5KzwzPBMvK','x3DPzhrO','rxzLBNruExbL','zgvMyxvSDe1PBK9WywnPDhK','x2XHEwvY','mJfnv2fkvgS','z2v0rgf0yq','z3jLzw4','x2DLDefYy0HLyxrdyw52yxm','y3jLyxrL','Dg9eyxrHvvjm','x3zHBhvLrMLLBgq','y3jLyxrLrwXLBwvUDa','zgvMyxvSDfjLBMrLCMvY','zMLSBfjLy3q','Ew1HEa','zgvMyxvSDejSDxi','Dw5PzM9YBsbZyw1WBgvYmKqGAw1Hz2u7cGPJEM1FBwf0zxjPywWGy3PTx2DLDe1HDgvYAwfSkgn6Bv9TyxrLCMLHBeLUChv0ig1HDgvYAwfSsw5WDxqPihSkicbJEM1FBwf0zxjPywWGBwf0zxjPywWGpsbJEM1Fz2v0rgvMyxvSDe1HDgvYAwfSkg1HDgvYAwfSsw5WDxqPoWOGihzLyZiGC3qGpsbTyxrLCMLHBeLUChv0lNn0oWOGihzLyZqGy29SB3jjBwfNzsa9ihrLEhr1CMuOAw1Hz2uSihn0ktSkicbPzIHJB2XVCKLTywDLlNjNyIa9psb2zwmZkdeUmcKGFhWGy29SB3jjBwfNzs5Yz2iGpt0GDMvJmYGWlJaPksb7cIaGicbKAxnJyxjKoWOGih0kicbTyxrLCMLHBc5KAwzMDxnLid0Gy29SB3jjBwfNzs5Yz2i7cIaGBwf0zxjPywWUywXWAgeGpsbJB2XVCKLTywDLlMe7cIaGCMv0DxjUig1HDgvYAwfSoWP9cG','x21PBG','CMDIkdaSmcWYntuP','B2zM','zgf0yq','A2v5CW','otyWndC1sM5kEKDj','CMvTB3zLrgf0yq','zgvMyxvSDe1HEe9WywnPDhK','x2nVBMzPzW','CMDIysGWldaSmcWXkq','zM9YBwf0uMvJDgfUz2XL','zgLMzLG','y2fTzxjH','y2HVCMrmzw5NDgG','Eg1HEa','ntm0ALHStgvb','oWOGicaGCcaRpxzLyZqOzgLZug9ZldaUmcK7cIaGicbNBf9qB3nPDgLVBIa9ign6Bv9TB2rLBfzPzxDqCM9Qzwn0Aw9UuMvSyxrPDMvuB0v5zsaQiha7cIaGFqO','r3jHCgHPy0XHEwvY','x3bVC2L0Aw9UCW','CMDIkdaSmJu1ldaP','y2fUDMfZv2LKDgG','z2v0t3DUuhjVCgvYDhLezxnJCMLWDg9Y','y2fUDMfZ','x3jLBMrLCKjVDw5KyxjPzxm','zgLMzLK','rwXSAxbZB2LKu3vYzMfJzufWCgvHCMfUy2u','ywrKrgf0yq','CgX1z2LU','x2DYyxbOAwmY','z2v0','ChvZAa','x3vWzgf0zuDYyxbOAwm','x2HLyxq','x2nMz1jHzgL1CW','zxH0CMvTywnOyw5Nzq','C2HHzg93q3r4','Bgf0','zgvMyxvSDeDYywrPzw50','x2DLDejVDw5KCW','x3nLDe9WDgLVBNniB29R','neDMr2DHBa','u3rLBMnPBe9WzxjHDgLVBG','x3jLy3rHBMDSzq','BwLUt3bHy2L0Eq','x3n0B3jL','DMvYDgv4rM9YBwf0','x3nOB3DiB29R','y3nZvgv4Da','CM91BMq','ChjVDg90ExbL','x21VDw50zwriB29R','zgvMAw5LuhjVCgvYDhK','x3LgAwvSza','x3nLDfn0EwXLCW','DhLWzq','y29UDgfPBMvY','x29UrxH0CMvTyunOyw5Nzq','D2LKDgG','sw1Hz2vmyxLLCG','quXqsefFqKXftKq','y2XLyxi','zM9YrwfJAa','y3r4','yxjJ','CMfKAxvZ','6k+35BYv5ywLigHLyxrTyxaUANmG5BQtia','CMDIkde0mcWXndaSmtqWkq','C2v0rgf0yu1HEa','uMvJDgfUz2XLuhjPBwL0AxzL','yxjJuMfKAxvZu2nHBgu','Cg9ZAxrPB24','q29SB3i','x3vWzgf0zuDYywrPzw50','uKvqtefdrq','ChG7AgvPz2H0oG','zMLSBfn0EwXL','CgX1z2LUCW','CMvUzgvYCgfYDgLHBa','y3jLyxrLtwf0zxjPywW','B25fEhrYzw1Hq2HHBMDL','yxjJqMX1CLnJywXL','x2nSzwfY','Aw1Hz2uVCg5N','x29Uq2fTzxjHtw92zuvUza','x3jHzgK','Bwf4','z2v0q29UDgv4Da','z2XVyMfSqwXWAge','zgvMyxvSDfLgAwvSza','CMvTB3zL','x21HEa','uMvJDgfUz2XL','CMvWBgfJzq','yMfJA2DYB3vUzenVBg9Y','x21PBK9WywnPDhK','x2HLAwDODa','Dg9bCNjHEq','Bwf4Aw11BvjHzgL1CW','ndyYmJuYm3b0Ew5eyG','mc41nq','z2v0vMfSDwvbDa','x2DLDeHLyxrdyw52yxm','C2v0ug9ZAxrPB25Z','x3vZzuDYywrPzw50t3bHy2L0Eq','y2fSBa','yxjJrgLYzwn0Aw9U','CMDIkdi1nsWYntuSmJu1kq','twf0zxjPywXvDgLS','tg5Ntgf0ug9PBNq','rg9TvxrPBa','BwvYz2u','CMvNAxn0zxi','x3jLBMrLCMvY','mc4Ynq','x2nHBNzHC0HLAwDODa','rvbtrZOZodu3','CMvUzgvYqwXS','DMfSDwu','twf0zxjPywXuExbL','Cg9ZAxrPB246ywjZB2X1Dgu7BgvMDdOWo3rVCdOWoW'];_0x14fb=function(){return _0xc791;};return _0x14fb();}(function(_0x29c820){var _0xee4708={_0x2f6cfd:0x1bb},_0x2ae6d4={_0xec8cb7:0x24b,_0x2c4121:0x191,_0x675354:0x1ea,_0x13050f:0x1b9,_0x4785e6:0x1df,_0xe4f442:0x155,_0x1c6777:0x122,_0x35ee8e:0x191,_0x4814cc:0x1da,_0x15255c:0x13f,_0x315478:0x1f9},_0x1c1bc2={_0x66bc8d:0x111},_0xcdd4d4={_0x4d7ccf:0x35},_0x3dd28c={_0x2dcfec:0xec,_0x229374:0x95,_0x13bd38:0x182};function _0x4c1490(_0x2e65f1,_0x30b06b){return _0x4626c0(_0x30b06b- -0xa6,_0x2e65f1);}(function(_0x4039f1,_0x1254ce,_0xef4432){_0x29c820['exports']?_0x29c820['exports']=_0xef4432():_0x1254ce[_0x4039f1]=_0xef4432();}(_0x4c1490(_0xee4708._0x2f6cfd,0x1cf),commonjsGlobal,function(){var _0x137094={_0x34aa6e:0x1ce,_0xdf6454:0xc7,_0x420aa3:0x7e},_0x3d191e={_0x181ca5:0x22b},_0x426861={_0x5742d5:0x3e9},_0xfdc401={_0x25d376:0x49e,_0x49cb7b:0x448,_0x41bf7b:0x49e,_0x2e071b:0x4f9,_0x38c100:0x3ee,_0xe09b9a:0x41c},_0x3abceb={_0x51fbb1:0x3bb},_0x51beba={_0x5f5a66:0x14d},_0x24070b={_0xc9f1cc:0x498,_0x1e8672:0x37},_0x38dba7={_0x1b9b2c:0xca},_0x16e481={_0x1ca9ec:0x1db,_0x1d0f57:0x1ef,_0x257e12:0x166},_0x38c89d={_0x5c1f7a:0x198},_0x4dfae2={_0x290a02:0x2de,_0x55733e:0x19b,_0x4272f5:0x15c},_0x21c4b1={_0x308cb2:0x30c,_0x5a700f:0x271,_0x532ed0:0x259},_0x23a3ba={_0x5da99d:0xc7,_0x1569e1:0x81},_0x38b9b6={_0x201eb4:0x252,_0x3d8df9:0x1a2,_0x26a043:0x1ae,_0x2f9453:0x161,_0x2cfdad:0x18a,_0xee3b1d:0x1b0,_0x28397c:0x213,_0x1bfac9:0x220,_0x28f8b9:0x1ad,_0x15380c:0x1da,_0xb67322:0x242,_0x62007f:0x21f,_0x101247:0x1c8},_0xad05b1={_0xa2d90f:0x438,_0x519b12:0x43d,_0x320a5e:0x122,_0xfb8cd:0xe3},_0x2e8636={_0x7d6a7:0x280,_0x18db34:0x21d,_0x4f044a:0x24f,_0x5c9cbd:0x1ee,_0x429c81:0x19b},_0x5dcccf={_0x1d53dc:0x108,_0x55e924:0x15e},_0x5040ad={_0x565aaf:0x1f0,_0x1baff4:0x1a7},_0x364d03={_0x49322c:0x3fe,_0x34191e:0x3aa,_0x2c6317:0x499,_0x3c7fb2:0x539,_0x5ce012:0x38d},_0x11f612={_0x8e1762:0x3cd,_0xbfa07c:0x3fe,_0x27ace8:0x413,_0x4cb65c:0x3f9,_0x1026f1:0x31f,_0x46ccdb:0x3dc,_0x19f403:0x441},_0x1fa821={};function _0x5e4a62(_0x2573ec,_0x135d8d){return _0x4c1490(_0x2573ec,_0x135d8d-0x5);}_0x1fa821['0.25']=_0x5e4a62(_0x2ae6d4._0xec8cb7,0x20f),_0x1fa821['0.55']=_0x35ccff(0x177,0x193),_0x1fa821[_0x5e4a62(_0x2ae6d4._0x2c4121,_0x2ae6d4._0x675354)]='yellow',_0x1fa821['1']='rgb(255,0,0)';var _0x2006a9={};_0x2006a9[_0x5e4a62(0x202,_0x2ae6d4._0x13050f)]=0x28;function _0x35ccff(_0x1a6e3d,_0x19ffbb){return _0x4c1490(_0x19ffbb,_0x1a6e3d- -0xa5);}_0x2006a9['defaultRenderer']=_0x5e4a62(0x1fa,0x1d3),_0x2006a9[_0x35ccff(0xb5,0xf7)]=_0x1fa821,_0x2006a9[_0x5e4a62(_0x2ae6d4._0x4785e6,0x215)]=0x1,_0x2006a9[_0x35ccff(_0x2ae6d4._0xe4f442,_0x2ae6d4._0x1c6777)]=0x0,_0x2006a9[_0x35ccff(0x162,_0x2ae6d4._0x35ee8e)]=0.85,_0x2006a9[_0x5e4a62(0x21f,_0x2ae6d4._0x4814cc)]='x',_0x2006a9[_0x35ccff(0xe8,_0x2ae6d4._0x15255c)]='y',_0x2006a9['defaultValueField']='value',_0x2006a9['plugins']={};var _0x89bfdd=_0x2006a9,_0x793d6d=function _0x2530fa(){var _0x294684={_0x22378d:0x33a,_0xb4ab8:0x171,_0x31e23e:0x3b7,_0x2e7de2:0x370},_0x54c3ac={_0x2f6f70:0x1f6},_0x59390b={_0x45fad1:0x2c6},_0x574a96={_0xf1d33d:0x2f4,_0x539a66:0x375},_0x2d7644={_0x1afe49:0xcb,_0x137637:0x17,_0x5312e0:0xe9},_0x42ed37={_0x270a58:0x401,_0x515a2e:0x5,_0x113ae0:0x61},_0x4b31cf={_0x225bfd:0x31c},_0xe80b10={_0x31480f:0x1c9,_0x366645:0x3cd,_0x1d468a:0x178},_0xbc6a50={_0x4a8192:0x2e7},_0x2fac71=function _0x41bcbe(_0x431102){this[_0x29d0f3(0x3f6,_0x11f612._0x8e1762)]={};function _0x130692(_0x54f76b,_0x3730f5){return _0x18ad(_0x3730f5-0x26d,_0x54f76b);}this[_0x130692(_0x11f612._0xbfa07c,0x3fd)]=[];function _0x29d0f3(_0x5df41c,_0x530100){return _0x18ad(_0x530100-0x22a,_0x5df41c);}this[_0x29d0f3(0x31b,0x368)]=[],this[_0x130692(_0x11f612._0x27ace8,0x42b)]=0xa,this[_0x29d0f3(0x39a,0x36e)]=0x1,this['_xField']=_0x431102['xField']||_0x431102[_0x29d0f3(_0x11f612._0x4cb65c,0x3b4)],this[_0x29d0f3(_0x11f612._0x1026f1,0x348)]=_0x431102['yField']||_0x431102['defaultYField'],this['_valueField']=_0x431102['valueField']||_0x431102[_0x130692(_0x11f612._0x46ccdb,0x3f3)],_0x431102['radius']&&(this[_0x130692(_0x11f612._0x19f403,0x44c)]=_0x431102['radius']);},_0x245837=_0x89bfdd['defaultRadius'];return _0x2fac71['prototype']={'_organiseData':function(_0x2bdfc2,_0x174f75){var _0x213f10=_0x2bdfc2[this['_xField']],_0x36edeb=_0x2bdfc2[this[_0x8ba69d(-_0xe80b10._0x31480f,-0x1bc)]],_0x19dfed=this['_radi'],_0x4a6bc2=this['_data'];function _0x2d0f56(_0x419f23,_0x368ef3){return _0x18ad(_0x368ef3-0x1ee,_0x419f23);}var _0x8f98eb=this['_max'],_0x1370c4=this['_min'],_0x36cb61=_0x2bdfc2[this[_0x8ba69d(-0x130,-0x107)]]||0x1,_0x58df92=_0x2bdfc2['radius']||this[_0x2d0f56(0x3b5,_0xe80b10._0x366645)]||_0x245837;!_0x4a6bc2[_0x213f10]&&(_0x4a6bc2[_0x213f10]=[],_0x19dfed[_0x213f10]=[]);function _0x8ba69d(_0x2e0885,_0x2211ef){return _0x18ad(_0x2e0885- -_0xbc6a50._0x4a8192,_0x2211ef);}!_0x4a6bc2[_0x213f10][_0x36edeb]?(_0x4a6bc2[_0x213f10][_0x36edeb]=_0x36cb61,_0x19dfed[_0x213f10][_0x36edeb]=_0x58df92):_0x4a6bc2[_0x213f10][_0x36edeb]+=_0x36cb61;var _0xca075f=_0x4a6bc2[_0x213f10][_0x36edeb];if(_0xca075f>_0x8f98eb)return!_0x174f75?this['_max']=_0xca075f:this[_0x8ba69d(-0x1ba,-0x1de)](_0xca075f),![];else{if(_0xca075f<_0x1370c4)return!_0x174f75?this['_min']=_0xca075f:this[_0x8ba69d(-_0xe80b10._0x1d468a,-0x16f)](_0xca075f),![];else{var _0x571c56={};return _0x571c56['x']=_0x213f10,_0x571c56['y']=_0x36edeb,_0x571c56['value']=_0x36cb61,_0x571c56[_0x8ba69d(-0x1bd,-0x195)]=_0x58df92,_0x571c56['min']=_0x1370c4,_0x571c56['max']=_0x8f98eb,_0x571c56;}}},'_unOrganizeData':function(){var _0x266dce=[],_0x4b6c68=this[_0x37b53b(0x4ac,0x495)],_0x4a24cf=this['_radi'];function _0x63a4ef(_0x81e631,_0x2ad559){return _0x18ad(_0x2ad559-0x280,_0x81e631);}for(var _0x53317b in _0x4b6c68){for(var _0x141a70 in _0x4b6c68[_0x53317b]){var _0x22724c={};_0x22724c['x']=_0x53317b,_0x22724c['y']=_0x141a70,_0x22724c[_0x63a4ef(_0x364d03._0x49322c,_0x364d03._0x34191e)]=_0x4a24cf[_0x53317b][_0x141a70],_0x22724c[_0x37b53b(0x47b,_0x364d03._0x2c6317)]=_0x4b6c68[_0x53317b][_0x141a70],_0x266dce[_0x37b53b(0x4f8,_0x364d03._0x3c7fb2)](_0x22724c);}}var _0x5c0315={};_0x5c0315['min']=this['_min'],_0x5c0315[_0x63a4ef(_0x364d03._0x5ce012,0x3bf)]=this['_max'];function _0x37b53b(_0x242cfe,_0xb8ba0f){return _0x18ad(_0x242cfe-_0x4b31cf._0x225bfd,_0xb8ba0f);}return _0x5c0315[_0x63a4ef(0x4ab,0x441)]=_0x266dce,_0x5c0315;},'_onExtremaChange':function(){function _0x32124(_0x24e701,_0x4b2bec){return _0x18ad(_0x24e701-0x10,_0x4b2bec);}this['_coordinator']['emit'](_0x32124(_0x5040ad._0x565aaf,_0x5040ad._0x1baff4),{'min':this['_min'],'max':this['_max']});},'addData':function(){function _0x4f5526(_0x3b377e,_0x4886b4){return _0x18ad(_0x4886b4- -0x198,_0x3b377e);}function _0x66ac06(_0x1982e6,_0x2808f2){return _0x18ad(_0x2808f2-0x2bd,_0x1982e6);}if(arguments[0x0]['length']>0x0){var _0x4f6363=arguments[0x0],_0x5004fd=_0x4f6363['length'];while(_0x5004fd--){this[_0x66ac06(0x46d,0x495)][_0x4f5526(-0x91,-0x46)](this,_0x4f6363[_0x5004fd]);}}else{var _0x21dcc8=this['_organiseData'](arguments[0x0],!![]);_0x21dcc8&&(this['_data'][_0x66ac06(0x3dd,0x437)]===0x0&&(this['_min']=this[_0x66ac06(0x3fe,_0x42ed37._0x270a58)]=_0x21dcc8['value']),this['_coordinator']['emit'](_0x4f5526(_0x42ed37._0x515a2e,-_0x42ed37._0x113ae0),{'min':this['_min'],'max':this['_max'],'data':[_0x21dcc8]}));}return this;},'setData':function(_0x252139){var _0x287399=_0x252139['data'];function _0x536141(_0xfca5c4,_0x4a1167){return _0x18ad(_0x4a1167- -0xdb,_0xfca5c4);}var _0x3a7ba8=_0x287399[_0x36ff59(0xe7,_0x2d7644._0x1afe49)];this['_data']=[],this['_radi']=[];for(var _0x7f034c=0x0;_0x7f034c<_0x3a7ba8;_0x7f034c++){this['_organiseData'](_0x287399[_0x7f034c],![]);}this['_max']=_0x252139['max'],this['_min']=_0x252139['min']||0x0,this[_0x536141(_0x2d7644._0x137637,0x47)]();function _0x36ff59(_0x6f03ee,_0x22c24b){return _0x18ad(_0x22c24b- -0xaf,_0x6f03ee);}return this[_0x536141(_0x2d7644._0x5312e0,0xc8)]['emit']('renderall',this[_0x536141(0x106,0xa1)]()),this;},'removeData':function(){},'setDataMax':function(_0x471e53){this['_max']=_0x471e53;function _0x335b8a(_0x48821a,_0x365234){return _0x18ad(_0x48821a-0x1d2,_0x365234);}this[_0x335b8a(_0x574a96._0xf1d33d,0x2ba)]();function _0x3061d0(_0x179f8b,_0x109c40){return _0x18ad(_0x109c40- -0x30d,_0x179f8b);}return this[_0x335b8a(_0x574a96._0x539a66,0x3dd)]['emit']('renderall',this['_getInternalData']()),this;},'setDataMin':function(_0x3220d9){function _0xdabd72(_0x41e34e,_0x520b1e){return _0x18ad(_0x41e34e- -_0x59390b._0x45fad1,_0x520b1e);}this[_0xdabd72(-_0x5dcccf._0x1d53dc,-0x126)]=_0x3220d9,this['_onExtremaChange'](),this[_0xdabd72(-0x123,-_0x5dcccf._0x55e924)]['emit'](_0x3c632b(-0x36,-0x84),this['_getInternalData']());function _0x3c632b(_0x5d90e8,_0x40b018){return _0x18ad(_0x5d90e8- -0x1d7,_0x40b018);}return this;},'setCoordinator':function(_0x31b1d0){this['_coordinator']=_0x31b1d0;},'_getInternalData':function(){function _0x22bdbd(_0x80db3b,_0x31bf4c){return _0x18ad(_0x80db3b- -0x4d,_0x31bf4c);}var _0x271cb4={};_0x271cb4[_0x22bdbd(0xf2,0x145)]=this[_0x3eb16e(0x374,_0x294684._0x22378d)],_0x271cb4['min']=this[_0x22bdbd(_0x294684._0xb4ab8,0x190)],_0x271cb4[_0x3eb16e(0x41a,_0x294684._0x31e23e)]=this['_data'];function _0x3eb16e(_0x240129,_0x5020ad){return _0x18ad(_0x5020ad-_0x54c3ac._0x2f6f70,_0x240129);}return _0x271cb4[_0x3eb16e(_0x294684._0x2e7de2,0x381)]=this[_0x22bdbd(0xf1,0xb7)],_0x271cb4;},'getData':function(){return this['_unOrganizeData']();}},_0x2fac71;}(),_0x5a6918=function _0x1cdc93(){var _0x30cd15={_0x87d589:0xa2},_0x1c5748={_0xa766a4:0x3dc},_0x27c084={_0x461da3:0x177,_0x2d5600:0x150,_0x3a0321:0x125,_0x1aa894:0x170,_0xbfbb53:0x1d2},_0x3003f1={_0x34afd4:0x140,_0x39de21:0x193,_0x26f8b7:0xeb,_0x46850a:0x3c5,_0x282cf9:0x40d,_0xfec867:0x11c,_0x365e1a:0x11c,_0x3f8b61:0x3e5,_0x942994:0x3a9,_0x5e2fdf:0x1b4,_0x521994:0x3d3,_0x57a531:0x40a,_0x5bc6b7:0x1be,_0x339a91:0x3b0,_0x3f3ede:0x174,_0x5b3707:0x163},_0x2a7ee5={_0x5d18ce:0xfc},_0x9e14d9={_0x31d439:0x215,_0x27246e:0x21f,_0x4e3127:0x1a2,_0x152492:0x206},_0x34d474={_0x584072:0xda},_0x12b3ed={_0x21928b:0x39e},_0x19bb5c={_0xae7b25:0x1c8},_0x4716d5={_0x28b3e7:0x2cc},_0x2fbaf5=function(_0x3567a3){var _0x2e3db1={_0x360aa8:0xd2},_0x40afdf=_0x3567a3['gradient']||_0x3567a3[_0x1e8878(0x2b8,0x2d9)],_0x195233=document['createElement']('canvas'),_0x138cac={};_0x138cac['willReadFrequently']=!![];var _0x3185c8=_0x195233['getContext']('2d',_0x138cac);_0x195233[_0x1e8878(_0x4716d5._0x28b3e7,0x28b)]=0x100,_0x195233['height']=0x1;var _0x5f11aa=_0x3185c8['createLinearGradient'](0x0,0x0,0x100,0x1);for(var _0x2d2b12 in _0x40afdf){_0x5f11aa['addColorStop'](_0x2d2b12,_0x40afdf[_0x2d2b12]);}function _0x1e8878(_0x3083e3,_0x2908c0){return _0x18ad(_0x3083e3-0x1a9,_0x2908c0);}_0x3185c8[_0x3cdfa8(0x1e5,0x207)]=_0x5f11aa;function _0x3cdfa8(_0x5ad8b1,_0x237168){return _0x18ad(_0x237168-_0x2e3db1._0x360aa8,_0x5ad8b1);}return _0x3185c8['fillRect'](0x0,0x0,0x100,0x1),_0x3185c8['getImageData'](0x0,0x0,0x100,0x1)['data'];},_0x5198d1=function(_0x2cbd98,_0x299c6e){var _0x3ae5b2=document['createElement']('canvas'),_0x387fe9={};_0x387fe9[_0xac5ac1(-0x23d,-0x225)]=!![];var _0x37ecb3=_0x3ae5b2['getContext']('2d',_0x387fe9);function _0xac5ac1(_0xa66ae7,_0x47a093){return _0x18ad(_0xa66ae7- -0x3b5,_0x47a093);}var _0x5e41d2=_0x2cbd98,_0x1e3748=_0x2cbd98;_0x3ae5b2['width']=_0x3ae5b2['height']=_0x2cbd98*0x2;if(_0x299c6e==0x1)_0x37ecb3['beginPath'](),_0x37ecb3[_0xac5ac1(-0x28c,-0x2de)](_0x5e41d2,_0x1e3748,_0x2cbd98,0x0,0x2*Math['PI'],![]),_0x37ecb3[_0xac5ac1(-_0x2e8636._0x7d6a7,-_0x2e8636._0x18db34)]='rgba(0,0,0,1)',_0x37ecb3[_0x47c1db(-0x5d,-0x36)]();else{var _0x51eb0d=_0x37ecb3['createRadialGradient'](_0x5e41d2,_0x1e3748,_0x2cbd98*_0x299c6e,_0x5e41d2,_0x1e3748,_0x2cbd98);_0x51eb0d[_0xac5ac1(-0x241,-_0x2e8636._0x4f044a)](0x0,_0xac5ac1(-_0x2e8636._0x5c9cbd,-0x208)),_0x51eb0d[_0x47c1db(-0x6c,-0x54)](0x1,'rgba(0,0,0,0)'),_0x37ecb3[_0xac5ac1(-0x280,-0x2ac)]=_0x51eb0d,_0x37ecb3[_0xac5ac1(-0x1fb,-_0x2e8636._0x429c81)](0x0,0x0,0x2*_0x2cbd98,0x2*_0x2cbd98);}function _0x47c1db(_0x4d3362,_0x1b1a6f){return _0x18ad(_0x1b1a6f- -_0x19bb5c._0xae7b25,_0x4d3362);}return _0x3ae5b2;},_0x5ff969=function(_0x29d7e7){var _0x2fdc1f=[],_0x4ed1d9=_0x29d7e7['min'],_0x193d12=_0x29d7e7['max'],_0x1633c8=_0x29d7e7['radi'],_0x29d7e7=_0x29d7e7['data'],_0x3039be=Object[_0x24d7be(0x485,_0xad05b1._0xa2d90f)](_0x29d7e7),_0x51e87c=_0x3039be[_0x24d7be(_0xad05b1._0x519b12,0x3f8)];while(_0x51e87c--){var _0x2ce286=_0x3039be[_0x51e87c],_0x24ab44=Object[_0x24d7be(0x485,0x4c0)](_0x29d7e7[_0x2ce286]),_0x420b42=_0x24ab44[_0x24d7be(0x43d,0x461)];while(_0x420b42--){var _0x540a08=_0x24ab44[_0x420b42],_0xa688d2=_0x29d7e7[_0x2ce286][_0x540a08],_0x1fc396=_0x1633c8[_0x2ce286][_0x540a08],_0x531dc8={};_0x531dc8['x']=_0x2ce286,_0x531dc8['y']=_0x540a08,_0x531dc8['value']=_0xa688d2,_0x531dc8['radius']=_0x1fc396,_0x2fdc1f[_0x24d7be(0x49f,0x44f)](_0x531dc8);}}function _0xbc2928(_0x1f3e71,_0x5d1936){return _0x18ad(_0x1f3e71- -0x287,_0x5d1936);}var _0x448ecf={};function _0x24d7be(_0x21e1f9,_0x1949cd){return _0x18ad(_0x21e1f9-0x2c3,_0x1949cd);}return _0x448ecf[_0xbc2928(-_0xad05b1._0x320a5e,-_0xad05b1._0xfb8cd)]=_0x4ed1d9,_0x448ecf['max']=_0x193d12,_0x448ecf[_0x24d7be(0x484,0x42d)]=_0x2fdc1f,_0x448ecf;};function _0x33a3ed(_0x544034){var _0x147483={_0x1ac8da:0x67},_0x1b1623=_0x544034['container'],_0x38c893=this[_0x2552d5(0x1ec,0x1fd)]=document[_0x2552d5(0x21f,_0x38b9b6._0x201eb4)](_0x2df670(-0x1ae,-_0x38b9b6._0x3d8df9)),_0x224846=this[_0x2df670(-_0x38b9b6._0x26a043,-_0x38b9b6._0x2f9453)]=_0x544034['canvas']||document['createElement']('canvas');this['_renderBoundaries']=[0x2710,0x2710,0x0,0x0];var _0x358d99=getComputedStyle(_0x544034[_0x2552d5(0x188,0x1ba)])||{};_0x224846['className']='heatmap-canvas',this['_width']=_0x224846[_0x2552d5(0x18a,0x149)]=_0x38c893[_0x2552d5(_0x38b9b6._0x2cfdad,0x18c)]=_0x544034['width']||+_0x358d99[_0x2df670(-0x25f,-0x267)]['replace'](/px/,''),this[_0x2552d5(_0x38b9b6._0xee3b1d,_0x38b9b6._0x28397c)]=_0x224846[_0x2552d5(0x211,_0x38b9b6._0x1bfac9)]=_0x38c893['height']=_0x544034['height']||+_0x358d99['height'][_0x2552d5(_0x38b9b6._0x28f8b9,_0x38b9b6._0x15380c)](/px/,'');var _0x1adac4={};_0x1adac4['willReadFrequently']=!![],this['shadowCtx']=_0x38c893['getContext']('2d',_0x1adac4);var _0x54bc92={};_0x54bc92['willReadFrequently']=!![],this['ctx']=_0x224846[_0x2df670(-_0x38b9b6._0xb67322,-_0x38b9b6._0x62007f)]('2d',_0x54bc92);function _0x2df670(_0x2ddc7c,_0x265f9a){return _0x18ad(_0x2ddc7c- -0x382,_0x265f9a);}_0x224846['style'][_0x2552d5(0x180,0x196)]=_0x38c893['style']['cssText']=_0x2552d5(_0x38b9b6._0x101247,0x181),_0x1b1623['style'][_0x2552d5(0x197,0x1ce)]=_0x2df670(-0x21e,-0x248),_0x1b1623[_0x2552d5(0x1f4,0x1c1)](_0x224846),this[_0x2552d5(0x1da,0x20f)]=_0x2fbaf5(_0x544034),this['_templates']={};function _0x2552d5(_0x4a18fa,_0x2a6143){return _0x18ad(_0x4a18fa-_0x147483._0x1ac8da,_0x2a6143);}this['_setStyles'](_0x544034);}return _0x33a3ed['prototype']={'renderPartial':function(_0x416b3d){function _0x55f024(_0x5f3ae8,_0x577b3d){return _0x18ad(_0x5f3ae8- -0x25f,_0x577b3d);}_0x416b3d['data']['length']>0x0&&(this['_drawAlpha'](_0x416b3d),this[_0x55f024(-_0x23a3ba._0x5da99d,-_0x23a3ba._0x1569e1)]());},'renderAll':function(_0x42e3b4){function _0x157b52(_0x28b35d,_0x130505){return _0x18ad(_0x130505- -_0x12b3ed._0x21928b,_0x28b35d);}function _0x50c5fe(_0x4815a2,_0x2ddf5e){return _0x18ad(_0x4815a2-_0x34d474._0x584072,_0x2ddf5e);}this[_0x50c5fe(_0x9e14d9._0x31d439,_0x9e14d9._0x27246e)](),_0x42e3b4[_0x50c5fe(0x29b,0x298)]['length']>0x0&&(this['_drawAlpha'](_0x5ff969(_0x42e3b4)),this[_0x157b52(-_0x9e14d9._0x4e3127,-_0x9e14d9._0x152492)]());},'_updateGradient':function(_0x9e4807){this['_palette']=_0x2fbaf5(_0x9e4807);},'updateConfig':function(_0x2d54cd){_0x2d54cd[_0x121988(_0x21c4b1._0x308cb2,0x2b6)]&&this[_0x455fdb(_0x21c4b1._0x5a700f,_0x21c4b1._0x532ed0)](_0x2d54cd);function _0x455fdb(_0x3bc8ba,_0x5233d3){return _0x18ad(_0x5233d3-0x127,_0x3bc8ba);}function _0x121988(_0x846245,_0x15cd19){return _0x18ad(_0x846245-0x178,_0x15cd19);}this[_0x121988(0x297,0x2b0)](_0x2d54cd);},'setDimensions':function(_0x203753,_0x2c2ecc){this['_width']=_0x203753,this[_0x4e1c58(0x32a,_0x4dfae2._0x290a02)]=_0x2c2ecc,this[_0x424b2d(0x19a,_0x4dfae2._0x55733e)]['width']=this['shadowCanvas']['width']=_0x203753;function _0x424b2d(_0x1fd9d9,_0x24a533){return _0x18ad(_0x24a533- -0x39,_0x1fd9d9);}function _0x4e1c58(_0x2fa11e,_0x1afc31){return _0x18ad(_0x1afc31-0x195,_0x2fa11e);}this[_0x424b2d(0x1b4,0x19b)]['height']=this['shadowCanvas'][_0x424b2d(_0x4dfae2._0x4272f5,0x171)]=_0x2c2ecc;},'_clear':function(){var _0x3c1b92={_0x6c5c26:0x310};function _0x4d5964(_0xac4e03,_0xb1f278){return _0x18ad(_0xb1f278- -_0x3c1b92._0x6c5c26,_0xac4e03);}this[_0x4d5964(-_0x38c89d._0x5c1f7a,-0x12f)]['clearRect'](0x0,0x0,this['_width'],this['_height']);function _0x3ca907(_0x2c23cd,_0x2ff2da){return _0x18ad(_0x2ff2da-_0x2a7ee5._0x5d18ce,_0x2c23cd);}this[_0x3ca907(0x1c1,0x224)]['clearRect'](0x0,0x0,this[_0x3ca907(0x30b,0x2a9)],this['_height']);},'_setStyles':function(_0x4c9777){function _0x33bdf2(_0xa97c88,_0x1ce416){return _0x18ad(_0x1ce416-0x260,_0xa97c88);}this['_blur']=_0x4c9777['blur']==0x0?0x0:_0x4c9777[_0x33bdf2(0x36d,0x3d2)]||_0x4c9777[_0x4c4a39(0x1c3,0x1b5)];_0x4c9777[_0x4c4a39(0x126,_0x3003f1._0x34afd4)]&&(this['canvas']['style'][_0x4c4a39(_0x3003f1._0x39de21,_0x3003f1._0x34afd4)]=_0x4c9777[_0x4c4a39(_0x3003f1._0x26f8b7,_0x3003f1._0x34afd4)]);this[_0x33bdf2(_0x3003f1._0x46850a,_0x3003f1._0x282cf9)]=this['canvas'][_0x4c4a39(_0x3003f1._0xfec867,_0x3003f1._0x365e1a)]=this[_0x33bdf2(0x387,_0x3003f1._0x3f8b61)]['width']=_0x4c9777[_0x4c4a39(0x137,0x11c)]||this['_width'],this[_0x33bdf2(0x3b2,_0x3003f1._0x942994)]=this['canvas']['height']=this[_0x4c4a39(_0x3003f1._0x5e2fdf,0x17e)][_0x33bdf2(_0x3003f1._0x521994,_0x3003f1._0x57a531)]=_0x4c9777['height']||this['_height'],this['_opacity']=(_0x4c9777['opacity']||0x0)*0xff;function _0x4c4a39(_0x261019,_0x1ffb8f){return _0x18ad(_0x1ffb8f- -0x7,_0x261019);}this['_maxOpacity']=(_0x4c9777['maxOpacity']||_0x4c9777[_0x4c4a39(0x1ba,_0x3003f1._0x5bc6b7)])*0xff,this[_0x33bdf2(_0x3003f1._0x339a91,0x3a8)]=(_0x4c9777['minOpacity']||_0x4c9777['defaultMinOpacity'])*0xff,this[_0x4c4a39(0x119,0x14a)]=!!_0x4c9777[_0x4c4a39(_0x3003f1._0x3f3ede,_0x3003f1._0x5b3707)];},'_drawAlpha':function(_0xf74f84){var _0x52fddf={_0x553d58:0x305},_0x2ad57f=this['_min']=_0xf74f84['min'],_0x56038b=this['_max']=_0xf74f84['max'],_0xf74f84=_0xf74f84['data']||[];function _0x68315b(_0x2f7c3d,_0x3b35b4){return _0x18ad(_0x3b35b4- -0x33b,_0x2f7c3d);}var _0x5e4625=_0xf74f84['length'];function _0x1d1c0d(_0x486965,_0x3bba6b){return _0x18ad(_0x3bba6b- -_0x52fddf._0x553d58,_0x486965);}var _0x75f2da=0x1-this[_0x68315b(-0x194,-0x1be)];while(_0x5e4625--){var _0x553cad=_0xf74f84[_0x5e4625],_0x34aeeb=_0x553cad['x'],_0xbf1305=_0x553cad['y'],_0xcfd302=_0x553cad[_0x1d1c0d(-0x221,-_0x16e481._0x1ca9ec)],_0x1dcbc6=Math['min'](_0x553cad['value'],_0x56038b),_0x2e4dd8=_0x34aeeb-_0xcfd302,_0x55d964=_0xbf1305-_0xcfd302,_0x35da53=this['shadowCtx'],_0x103054;!this['_templates'][_0xcfd302]?this['_templates'][_0xcfd302]=_0x103054=_0x5198d1(_0xcfd302,_0x75f2da):_0x103054=this['_templates'][_0xcfd302];var _0x1ed8c8=(_0x1dcbc6-_0x2ad57f)/(_0x56038b-_0x2ad57f);_0x35da53[_0x68315b(-_0x16e481._0x1d0f57,-0x1fa)]=_0x1ed8c8<0.01?0.01:_0x1ed8c8,_0x35da53['drawImage'](_0x103054,_0x2e4dd8,_0x55d964),_0x2e4dd8this['_renderBoundaries'][0x2]&&(this[_0x68315b(-0x198,-0x166)][0x2]=_0x2e4dd8+0x2*_0xcfd302),_0x55d964+0x2*_0xcfd302>this['_renderBoundaries'][0x3]&&(this[_0x68315b(-0x1ad,-_0x16e481._0x257e12)][0x3]=_0x55d964+0x2*_0xcfd302);}},'_colorize':function(){var _0xedfdca={_0x14519a:0x180},_0x31b925=this['_renderBoundaries'][0x0];function _0x39da07(_0x468639,_0x5f10cf){return _0x18ad(_0x5f10cf- -0x3,_0x468639);}var _0x4832f8=this['_renderBoundaries'][0x1],_0x29b4bb=this['_renderBoundaries'][0x2]-_0x31b925,_0x41d099=this['_renderBoundaries'][0x3]-_0x4832f8,_0x3b2489=this['_width'],_0x4dc452=this[_0x39da07(0x159,0x146)],_0x572116=this['_opacity'],_0x1365da=this['_maxOpacity'],_0x3b5f6b=this[_0x35fadf(-0x27,-0x38)],_0x3072a1=this['_useGradientOpacity'];_0x31b925<0x0&&(_0x31b925=0x0);_0x4832f8<0x0&&(_0x4832f8=0x0);_0x31b925+_0x29b4bb>_0x3b2489&&(_0x29b4bb=_0x3b2489-_0x31b925);_0x4832f8+_0x41d099>_0x4dc452&&(_0x41d099=_0x4dc452-_0x4832f8);function _0x35fadf(_0x18495a,_0x4a9b0c){return _0x18ad(_0x4a9b0c- -_0xedfdca._0x14519a,_0x18495a);}var _0x42e8b5=this['shadowCtx']['getImageData'](_0x31b925,_0x4832f8,_0x29b4bb,_0x41d099),_0x3480ce=_0x42e8b5['data'],_0x1c0338=_0x3480ce[_0x39da07(0x11f,_0x27c084._0x461da3)],_0x207617=this['_palette'];for(var _0x5d8422=0x3;_0x5d8422<_0x1c0338;_0x5d8422+=0x4){var _0x2f7e92=_0x3480ce[_0x5d8422],_0x5508a0=_0x2f7e92*0x4;if(!_0x5508a0)continue;var _0x503228;_0x572116>0x0?_0x503228=_0x572116:_0x2f7e92<_0x1365da?_0x2f7e92<_0x3b5f6b?_0x503228=_0x3b5f6b:_0x503228=_0x2f7e92:_0x503228=_0x1365da,_0x3480ce[_0x5d8422-0x3]=_0x207617[_0x5508a0],_0x3480ce[_0x5d8422-0x2]=_0x207617[_0x5508a0+0x1],_0x3480ce[_0x5d8422-0x1]=_0x207617[_0x5508a0+0x2],_0x3480ce[_0x5d8422]=_0x3072a1?_0x207617[_0x5508a0+0x3]:_0x503228;}this[_0x39da07(_0x27c084._0x2d5600,_0x27c084._0x3a0321)]['putImageData'](_0x42e8b5,_0x31b925,_0x4832f8),this[_0x39da07(_0x27c084._0x1aa894,_0x27c084._0xbfbb53)]=[0x3e8,0x3e8,0x0,0x0];},'getValueAt':function(_0x510bbf){function _0x24ec5b(_0x3e67be,_0x5284c5){return _0x18ad(_0x5284c5- -0x45,_0x3e67be);}var _0x5776b8,_0x125432=this['shadowCtx'],_0x4c897c=_0x125432[_0x4ccc30(0x432,_0x1c5748._0xa766a4)](_0x510bbf['x'],_0x510bbf['y'],0x1,0x1);function _0x4ccc30(_0x31d3df,_0xb56159){return _0x18ad(_0xb56159-0x25a,_0x31d3df);}var _0x440503=_0x4c897c[_0x4ccc30(0x457,0x41b)][0x3],_0x2337bd=this[_0x4ccc30(0x37f,0x39e)],_0x4ed908=this['_min'];return _0x5776b8=Math['abs'](_0x2337bd-_0x4ed908)*(_0x440503/0xff)>>0x0,_0x5776b8;},'getDataURL':function(){function _0x453762(_0x1cfbf1,_0x3f6798){return _0x18ad(_0x3f6798-_0x30cd15._0x87d589,_0x1cfbf1);}return this['canvas'][_0x453762(0x29d,0x258)]();}},_0x33a3ed;}(),_0x24726=function _0x332290(){var _0x17a95b=![];function _0x424950(_0x1e9220,_0x5ef6b0){return _0x5e4a62(_0x1e9220,_0x5ef6b0- -0x51);}_0x89bfdd[_0x1bf63f(_0x3dd28c._0x2dcfec,_0x3dd28c._0x229374)]===_0x424950(0x11c,_0x3dd28c._0x13bd38)&&(_0x17a95b=_0x5a6918);function _0x1bf63f(_0x393e15,_0x423a78){return _0x35ccff(_0x423a78- -_0x38dba7._0x1b9b2c,_0x393e15);}return _0x17a95b;}(),_0x2ba5e5={};_0x2ba5e5[_0x5e4a62(_0x2ae6d4._0x315478,0x1a8)]=function(){var _0x41ec5e={},_0x2914ee=arguments[_0x437a08(-_0xcdd4d4._0x4d7ccf,-0x2d)];function _0x437a08(_0x2e3b42,_0x36ca57){return _0x5e4a62(_0x36ca57,_0x2e3b42- -0x1ff);}for(var _0xda7bec=0x0;_0xda7bec<_0x2914ee;_0xda7bec++){var _0x48e008=arguments[_0xda7bec];for(var _0x45718a in _0x48e008){_0x41ec5e[_0x45718a]=_0x48e008[_0x45718a];}}return _0x41ec5e;};var _0x14560e=_0x2ba5e5,_0x1959f6=function _0x47c84e(){var _0x4fd74f={_0x45daef:0x455},_0x7828d={_0x30754f:0xb9,_0x1ef7f4:0x121,_0x334e8c:0x354,_0x1ffcb9:0x384},_0x4d9bfd={_0x124e74:0x2f2},_0x3c33ad={_0x262b6e:0x27a},_0x2a5468={_0x5320ba:0x145},_0x19b9c8=function _0x331a96(){var _0x1a9732={_0x3a72a1:0x395};function _0x1b3c61(_0x127b49,_0x42962e){return _0x18ad(_0x42962e- -_0x1a9732._0x3a72a1,_0x127b49);}function _0x2070fa(){this['cStore']={};}return _0x2070fa[_0x1b3c61(-0x214,-_0x3c33ad._0x262b6e)]={'on':function(_0x3fc811,_0x9427d,_0x3592bb){var _0x302b2e=this['cStore'];function _0x3148f2(_0x13f818,_0x2a69b7){return _0x1b3c61(_0x13f818,_0x2a69b7-0x74);}!_0x302b2e[_0x3fc811]&&(_0x302b2e[_0x3fc811]=[]),_0x302b2e[_0x3fc811][_0x3148f2(-0x141,-_0x2a5468._0x5320ba)](function(_0xb6d2ce){return _0x9427d['call'](_0x3592bb,_0xb6d2ce);});},'emit':function(_0x16fa00,_0x663842){var _0x3e1eb0=this['cStore'];if(_0x3e1eb0[_0x16fa00]){var _0xf84920=_0x3e1eb0[_0x16fa00]['length'];for(var _0x36eeb5=0x0;_0x36eeb5<_0xf84920;_0x36eeb5++){var _0x357950=_0x3e1eb0[_0x16fa00][_0x36eeb5];_0x357950(_0x663842);}}}},_0x2070fa;}(),_0x307ce0=function(_0x5016a2){var _0x54548e={_0x366f23:0x1f9,_0x2cb331:0x2ef,_0xb591e4:0x1a4,_0x25f300:0x1f6},_0x9a22af={_0x5cf203:0xa8};function _0x36d1ef(_0x248465,_0x6c015a){return _0x18ad(_0x248465-_0x9a22af._0x5cf203,_0x6c015a);}var _0xa7ff0b=_0x5016a2['_renderer'],_0x1f3c1f=_0x5016a2['_coordinator'],_0x26b380=_0x5016a2[_0x36d1ef(0x1be,0x1cd)];_0x1f3c1f['on']('renderpartial',_0xa7ff0b['renderPartial'],_0xa7ff0b),_0x1f3c1f['on']('renderall',_0xa7ff0b[_0x36d1ef(0x206,0x1ff)],_0xa7ff0b);function _0x4f51c7(_0x4acf0b,_0x166e4b){return _0x18ad(_0x4acf0b-_0x4d9bfd._0x124e74,_0x166e4b);}_0x1f3c1f['on']('extremachange',function(_0x2bcf33){var _0x29f236={_0x3e66b7:0x75};function _0xc11a8e(_0x474c60,_0x6addf9){return _0x4f51c7(_0x474c60- -0xdf,_0x6addf9);}function _0x4a5087(_0x58765f,_0xf9afc4){return _0x36d1ef(_0x58765f- -_0x29f236._0x3e66b7,_0xf9afc4);}_0x5016a2[_0x4a5087(0x1f9,0x1b5)]['onExtremaChange']&&_0x5016a2[_0x4a5087(_0x54548e._0x366f23,0x218)][_0xc11a8e(0x34c,_0x54548e._0x2cb331)]({'min':_0x2bcf33['min'],'max':_0x2bcf33['max'],'gradient':_0x5016a2[_0x4a5087(0x1f9,_0x54548e._0xb591e4)][_0x4a5087(0x1c7,0x206)]||_0x5016a2[_0x4a5087(0x1f9,_0x54548e._0x25f300)]['defaultGradient']});}),_0x26b380['setCoordinator'](_0x1f3c1f);};function _0x35eb2f(){var _0xc8a11d=this['_config']=_0x14560e['merge'](_0x89bfdd,arguments[0x0]||{});this['_coordinator']=new _0x19b9c8();if(_0xc8a11d['plugin']){var _0x5f32f4=_0xc8a11d[_0x1c85e0(_0x24070b._0xc9f1cc,0x4d9)];if(!_0x89bfdd['plugins'][_0x5f32f4])throw new Error('Plugin\x20\x27'+_0x5f32f4+'\x27\x20not\x20found.\x20Maybe\x20it\x20was\x20not\x20registered.');else{var _0x448aff=_0x89bfdd['plugins'][_0x5f32f4];this['_renderer']=new _0x448aff['renderer'](_0xc8a11d),this[_0x4fedfe(_0x24070b._0x1e8672,0x3a)]=new _0x448aff[(_0x4fedfe(0x8c,0xf0))](_0xc8a11d);}}else this['_renderer']=new _0x24726(_0xc8a11d),this['_store']=new _0x793d6d(_0xc8a11d);function _0x1c85e0(_0x10125a,_0xefe172){return _0x18ad(_0xefe172-0x300,_0x10125a);}function _0x4fedfe(_0x40e9f5,_0x1172cb){return _0x18ad(_0x40e9f5- -0xdf,_0x1172cb);}_0x307ce0(this);}return _0x35eb2f['prototype']={'addData':function(){var _0x1da40e={_0x3ed51f:0x2e4};function _0x3903e6(_0x5afbdb,_0x489584){return _0x18ad(_0x489584- -_0x1da40e._0x3ed51f,_0x5afbdb);}return this['_store']['addData'][_0x3903e6(-0xfb,-_0x51beba._0x5f5a66)](this['_store'],arguments),this;},'removeData':function(){var _0x3920f4={_0xd90ce2:0x5d};function _0x58bbc8(_0x416a23,_0x296138){return _0x18ad(_0x416a23- -_0x3920f4._0xd90ce2,_0x296138);}function _0x61eab1(_0x53e796,_0x32e853){return _0x18ad(_0x53e796-0x23e,_0x32e853);}return this[_0x58bbc8(_0x7828d._0x30754f,_0x7828d._0x1ef7f4)][_0x61eab1(0x402,0x3d1)]&&this[_0x61eab1(_0x7828d._0x334e8c,0x3bc)][_0x58bbc8(0x167,0x180)]['apply'](this[_0x61eab1(0x354,_0x7828d._0x1ffcb9)],arguments),this;},'setData':function(){return this['_store']['setData']['apply'](this['_store'],arguments),this;},'setDataMax':function(){this['_store'][_0x1da4f6(0x395,_0x3abceb._0x51fbb1)]['apply'](this['_store'],arguments);function _0x1da4f6(_0x24d59d,_0x293c89){return _0x18ad(_0x24d59d-0x268,_0x293c89);}return this;},'setDataMin':function(){var _0x90eda5={_0x53fea1:0x33f};function _0xe145ac(_0x4b58a1,_0x5d424e){return _0x18ad(_0x4b58a1-_0x90eda5._0x53fea1,_0x5d424e);}return this['_store']['setDataMin']['apply'](this[_0xe145ac(_0x4fd74f._0x45daef,0x48b)],arguments),this;},'configure':function(_0x1b197e){var _0x5c0c2a={_0x36e2c8:0x1de},_0x3d02e8={_0x435d16:0x2d8};this['_config']=_0x14560e['merge'](this[_0x3c5520(_0xfdc401._0x25d376,0x4e8)],_0x1b197e);function _0x3c5520(_0x28fa35,_0x3dd2f3){return _0x18ad(_0x28fa35-_0x3d02e8._0x435d16,_0x3dd2f3);}function _0x3901e5(_0x57db3c,_0x59ca17){return _0x18ad(_0x57db3c-_0x5c0c2a._0x36e2c8,_0x59ca17);}return this[_0x3c5520(0x432,_0xfdc401._0x49cb7b)]['updateConfig'](this[_0x3c5520(_0xfdc401._0x41bf7b,_0xfdc401._0x2e071b)]),this['_coordinator']['emit']('renderall',this[_0x3c5520(_0xfdc401._0x38c100,_0xfdc401._0xe09b9a)]['_getInternalData']()),this;},'repaint':function(){function _0x5590db(_0x436c1f,_0xbc9dcb){return _0x18ad(_0xbc9dcb-0x246,_0x436c1f);}this[_0x5590db(0x3e4,_0x426861._0x5742d5)]['emit']('renderall',this[_0x43c948(-0x82,-0xcb)]['_getInternalData']());function _0x43c948(_0x1c005c,_0x47f5b4){return _0x18ad(_0x1c005c- -0x198,_0x47f5b4);}return this;},'getData':function(){var _0x2c05a0={_0x3693d5:0x1ec};function _0x2fdc27(_0x70b9aa,_0x293884){return _0x18ad(_0x70b9aa- -_0x2c05a0._0x3693d5,_0x293884);}return this['_store'][_0x2fdc27(-0x3a,-0x6a)]();},'getDataURL':function(){function _0x3f1f94(_0x4a8d67,_0x21539f){return _0x18ad(_0x21539f-0xb0,_0x4a8d67);}return this[_0x3f1f94(_0x3d191e._0x181ca5,0x20a)]['getDataURL']();},'getValueAt':function(_0x36eff4){var _0x30a7a4={_0x58342d:0x215};function _0x53b3f9(_0x4eeda3,_0x21b5bf){return _0x18ad(_0x4eeda3- -_0x30a7a4._0x58342d,_0x21b5bf);}function _0x105ba3(_0x247bb8,_0x34a7df){return _0x18ad(_0x34a7df- -0x373,_0x247bb8);}if(this['_store']['getValueAt'])return this['_store']['getValueAt'](_0x36eff4);else return this[_0x105ba3(-_0x137094._0x34aa6e,-0x219)][_0x53b3f9(-_0x137094._0xdf6454,-_0x137094._0x420aa3)]?this[_0x105ba3(-0x1d3,-0x219)]['getValueAt'](_0x36eff4):null;}},_0x35eb2f;}(),_0x312c23={'create':function(_0x4093c3){return new _0x1959f6(_0x4093c3);},'register':function(_0x468f04,_0x3eddad){var _0x11c31f={_0xbcf0b6:0x75};function _0x3abf6f(_0x355c07,_0x2ca667){return _0x5e4a62(_0x2ca667,_0x355c07- -_0x11c31f._0xbcf0b6);}_0x89bfdd[_0x3abf6f(_0x1c1bc2._0x66bc8d,0x172)][_0x468f04]=_0x3eddad;}};return _0x312c23;}));}(heatmap$1));var heatmap=heatmap$1['exports'],_0x61eedb={};_0x61eedb[_0x4626c0(0x261,0x206)]=null,_0x61eedb['default']=heatmap;var h337=_mergeNamespaces(_0x61eedb,[heatmap$1[_0x32ed28(0x251,0x214)]]),HeatMaterial=_0x32ed28(0x265,0x2c3);function _0x18ad(_0x38004a,_0x5a2ec7){var _0x14fbfe=_0x14fb();return _0x18ad=function(_0x18adea,_0x3cc933){_0x18adea=_0x18adea-0x10e;var _0x2978d9=_0x14fbfe[_0x18adea];if(_0x18ad['jcSZBc']===undefined){var _0x4072dc=function(_0x1efe35){var _0x567182='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x1a1f19='',_0x25f877='';for(var _0x3bc422=0x0,_0x4fa35d,_0x202e7e,_0x59dd79=0x0;_0x202e7e=_0x1efe35['charAt'](_0x59dd79++);~_0x202e7e&&(_0x4fa35d=_0x3bc422%0x4?_0x4fa35d*0x40+_0x202e7e:_0x202e7e,_0x3bc422++%0x4)?_0x1a1f19+=String['fromCharCode'](0xff&_0x4fa35d>>(-0x2*_0x3bc422&0x6)):0x0){_0x202e7e=_0x567182['indexOf'](_0x202e7e);}for(var _0x234f89=0x0,_0x129cbb=_0x1a1f19['length'];_0x234f89<_0x129cbb;_0x234f89++){_0x25f877+='%'+('00'+_0x1a1f19['charCodeAt'](_0x234f89)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25f877);};_0x18ad['spixSd']=_0x4072dc,_0x38004a=arguments,_0x18ad['jcSZBc']=!![];}var _0x305961=_0x14fbfe[0x0],_0x110d59=_0x18adea+_0x305961,_0x28502a=_0x38004a[_0x110d59];return!_0x28502a?(_0x2978d9=_0x18ad['spixSd'](_0x2978d9),_0x38004a[_0x110d59]=_0x2978d9):_0x2978d9=_0x28502a,_0x2978d9;},_0x18ad(_0x38004a,_0x5a2ec7);}if(!heatmap$1['exports'][_0x4626c0(0x2a6,0x2eb)])throw new Error(_0x32ed28(0x1d3,0x20d));const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x4626c0(0x257,0x2a3)]['BaseLayer'];var _0x165978={};_0x165978['0.4']='blue',_0x165978[_0x4626c0(0x270,0x2b5)]=_0x4626c0(0x2a4,0x285),_0x165978['0.8']='yellow',_0x165978['0.9']='red';var _0x51d158={};_0x51d158[_0x32ed28(0x24a,0x249)]=0.8,_0x51d158[_0x4626c0(0x206,0x23c)]=0.1,_0x51d158[_0x4626c0(0x263,0x258)]=0.85;function _0x32ed28(_0x11f906,_0x1e5404){return _0x18ad(_0x11f906-0xa8,_0x1e5404);}_0x51d158[_0x4626c0(0x21b,0x228)]=0x19,_0x51d158['gradient']=_0x165978;const DEF_HEATSTYLE=_0x51d158;var _0x37478c={};_0x37478c[_0x32ed28(0x1d7,0x1f1)]=1.5;function _0x4626c0(_0x204af5,_0x40da08){return _0x18ad(_0x204af5-0xf1,_0x40da08);}_0x37478c['arcBlurScale']=1.5,_0x37478c[_0x4626c0(0x208,0x237)]=Cesium[_0x4626c0(0x2c8,0x2ae)]['VERTEX_FORMAT'];const DEF_STYLE=_0x37478c;class HeatLayer extends BaseLayer{constructor(_0x52807d={}){var _0x38f491={_0x3e7ecb:0x4bf,_0x94866e:0x47e,_0x371bea:0x411,_0x2594e4:0x4d6,_0x1c97ed:0x23c,_0x1b2a9b:0x22b,_0xdb5fe:0x27b,_0x3f0a9e:0x213,_0x36c4f5:0x3fc,_0x4c71dd:0x422};super(_0x52807d),this['options'][_0x203c7a(0x4c7,0x47e)]=this['options'][_0x203c7a(_0x38f491._0x3e7ecb,_0x38f491._0x94866e)]??document['body']['clientWidth'];function _0x54c5d1(_0x41b858,_0x405273){return _0x4626c0(_0x405273- -0x55,_0x41b858);}this['options']['canvasWidth']=Math[_0x203c7a(0x41c,_0x38f491._0x371bea)](this['options'][_0x203c7a(_0x38f491._0x2594e4,0x47e)],0x1388),this[_0x203c7a(0x3ff,0x433)][_0x54c5d1(_0x38f491._0x1c97ed,_0x38f491._0x1b2a9b)]=this['options'][_0x54c5d1(0x1ed,_0x38f491._0x1b2a9b)]||0x1,this['options']['heatStyle']={...DEF_HEATSTYLE,...this['options'][_0x54c5d1(_0x38f491._0xdb5fe,_0x38f491._0x3f0a9e)]};function _0x203c7a(_0x1bcb04,_0x54f3e6){return _0x32ed28(_0x54f3e6-0x204,_0x1bcb04);}this['options'][_0x203c7a(_0x38f491._0x36c4f5,_0x38f491._0x4c71dd)]={...DEF_STYLE,...this['options']['style']};}get['layer'](){return this['_layer'];}get['heatStyle'](){return this['options']['heatStyle'];}set['heatStyle'](_0x42f733){var _0xe4c9df={_0x469f11:0x171},_0x571ab9={_0x3da401:0x2f0};function _0x37e3dd(_0x58379d,_0x3e445f){return _0x4626c0(_0x3e445f- -0x44e,_0x58379d);}function _0x4b6e31(_0x40eef5,_0x4348c1){return _0x32ed28(_0x40eef5-_0x571ab9._0x3da401,_0x4348c1);}this['options']['heatStyle']=mars3d__namespace[_0x4b6e31(0x50d,0x4c6)]['merge'](this['options']['heatStyle'],_0x42f733);if(this[_0x37e3dd(-_0xe4c9df._0x469f11,-0x17f)]){this['_heat']['configure'](this['options'][_0x37e3dd(-0x207,-0x1e6)]);const _0x701dce=this[_0x4b6e31(0x576,0x517)]['_renderer']['canvas']['toDataURL']('image/png',0x1);this[_0x4b6e31(0x575,0x532)](_0x701dce);}}get['style'](){var _0x1a5c09={_0x11e538:0x500},_0x3a78ba={_0x225bc3:0x288};function _0x5f0311(_0x45a8c8,_0x52592b){return _0x32ed28(_0x45a8c8-0x281,_0x52592b);}function _0x4b483e(_0x9f37db,_0x5b7c69){return _0x4626c0(_0x5b7c69-_0x3a78ba._0x225bc3,_0x9f37db);}return this[_0x4b483e(0x55b,_0x1a5c09._0x11e538)][_0x5f0311(0x49f,0x479)];}set['style'](_0x2d52a1){var _0xb55fa8={_0x5954e1:0x42b};function _0x37134f(_0x50d715,_0x14e0c2){return _0x32ed28(_0x14e0c2-0x1ed,_0x50d715);}function _0x3bfddd(_0x233347,_0x5d31be){return _0x4626c0(_0x233347-0x6,_0x5d31be);}this[_0x37134f(_0xb55fa8._0x5954e1,0x41c)]['style']=mars3d__namespace['Util'][_0x3bfddd(0x24f,0x2b7)](this[_0x37134f(0x3e6,0x41c)]['style'],_0x2d52a1);}get[_0x4626c0(0x26a,0x29a)](){return this['_positions'];}set[_0x4626c0(0x26a,0x2c6)](_0x81758a){var _0x18d23a={_0x4aa70c:0x225},_0x2eb036={_0x7457ae:0x47e};function _0x1147c5(_0x44dfbe,_0x5ac689){return _0x4626c0(_0x5ac689- -_0x2eb036._0x7457ae,_0x44dfbe);}this[_0x1147c5(-_0x18d23a._0x4aa70c,-0x23d)](_0x81758a);}get['coordinates'](){var _0x55f09b={_0x36253d:0x1a8};const _0x581368=[];return this['points']['forEach'](_0x9f10ca=>{function _0x582951(_0x4f4970,_0x1c52fb){return _0x18ad(_0x1c52fb-0x78,_0x4f4970);}_0x581368['push'](_0x9f10ca[_0x582951(_0x55f09b._0x36253d,0x1c2)]());}),_0x581368;}get[_0x4626c0(0x272,0x20d)](){var _0x317a1f={_0x42a835:0x175};function _0x5ecc88(_0x15f8c1,_0x5a8a31){return _0x32ed28(_0x15f8c1- -0x326,_0x5a8a31);}return this[_0x5ecc88(-0x16a,-_0x317a1f._0x42a835)];}[_0x32ed28(0x1b9,0x1a4)](_0x439c1d,_0x4bedb5){function _0x53a191(_0x6e9a7f,_0x46e930){return _0x32ed28(_0x46e930- -0xcc,_0x6e9a7f);}_0x439c1d[_0x53a191(0x114,0x155)]&&(this['positions']=_0x439c1d['positions']);}[_0x4626c0(0x20d,0x24b)](){var _0x4155eb={_0x2fde8d:0x400,_0x3cef40:0x458,_0x2a5637:0x4ab,_0x45ebe3:0x49e,_0x3f6bf0:0x4ab},_0x551405={_0x48b170:0x20a};function _0x344a5a(_0x354dbd,_0x34176a){return _0x4626c0(_0x34176a-_0x551405._0x48b170,_0x354dbd);}function _0x3565de(_0x4f3851,_0x19dfb9){return _0x32ed28(_0x19dfb9- -0x2c,_0x4f3851);}if(this['style']['type']==='image'){var _0xcdae75={};_0xcdae75['crs']=_0x344a5a(_0x4155eb._0x2fde8d,_0x4155eb._0x3cef40),_0xcdae75[_0x3565de(0x192,0x1e9)]=!![],this[_0x344a5a(0x44d,_0x4155eb._0x2a5637)]=new mars3d__namespace[(_0x3565de(0x21f,0x1e2))][(_0x3565de(0x16d,0x1a0))](_0xcdae75);}else{var _0x100f82={};_0x100f82['private']=!![],this[_0x344a5a(_0x4155eb._0x45ebe3,_0x4155eb._0x3f6bf0)]=new mars3d__namespace['layer'][(_0x3565de(0x1e6,0x24b))](_0x100f82);}}['_addedHook'](){var _0x447ed5={_0x590db4:0x1b2,_0x425ddb:0x1c2},_0x2c94b6={_0xfc6b75:0x3d8};this['_map']['addLayer'](this[_0x18018a(-0x180,-0x148)]);function _0x18018a(_0x3277e7,_0x49b5c7){return _0x32ed28(_0x3277e7- -_0x2c94b6._0xfc6b75,_0x49b5c7);}function _0x259b5b(_0x482b8f,_0x22851f){return _0x32ed28(_0x22851f-0xa1,_0x482b8f);}this['_container']=mars3d__namespace['DomUtil']['create']('div','mars3d-heatmap\x20mars3d-hideDiv',this['_map']['container']),this['options'][_0x18018a(-0x1b7,-0x213)]&&(this['positions']=this['options'][_0x259b5b(0x301,0x2c2)]),this[_0x259b5b(0x307,0x2d0)][_0x18018a(-_0x447ed5._0x590db4,-0x200)]&&this[_0x18018a(-_0x447ed5._0x425ddb,-0x1c6)]['on'](mars3d__namespace[_0x259b5b(0x2c6,0x2f7)]['cameraMoveEnd'],this['_onCameraMoveEnd'],this),this['options']['flyTo']&&this[_0x259b5b(0x2ca,0x2b5)]();}['_removedHook'](){var _0x33bcd2={_0xc681da:0x1d,_0x1b973f:0x201,_0x44f2ca:0xa4,_0x4ff80a:0xa5,_0x5712e0:0x56,_0x14178b:0xb9,_0x1d178f:0x239,_0x580a08:0x1e1},_0x2e638d={_0x1ca2ce:0x2a4};this['options']['redrawZoom']&&this['_map'][_0x38e6f7(-_0x33bcd2._0xc681da,-0x3c)](mars3d__namespace[_0x2415bb(-0x233,-_0x33bcd2._0x1b973f)]['cameraMoveEnd'],this['_onCameraMoveEnd'],this);this['_container']&&(mars3d__namespace[_0x38e6f7(-_0x33bcd2._0x44f2ca,-_0x33bcd2._0x4ff80a)][_0x38e6f7(-_0x33bcd2._0x5712e0,-_0x33bcd2._0x14178b)](this[_0x2415bb(-_0x33bcd2._0x1d178f,-0x276)]),delete this['_container']);this['clear']();function _0x2415bb(_0x442f91,_0x5628a6){return _0x4626c0(_0x442f91- -0x4d2,_0x5628a6);}function _0x38e6f7(_0x27a6e5,_0x3fe936){return _0x32ed28(_0x3fe936- -_0x2e638d._0x1ca2ce,_0x27a6e5);}this['_map']['removeLayer'](this[_0x2415bb(-0x231,-_0x33bcd2._0x580a08)]);}[_0x4626c0(0x209,0x257)](_0x3e3d54){_0x3e3d54&&this['_updatePositionsHook']();}['addPosition'](_0x25bd9a){var _0x33fc16={_0x4d3c42:0x587},_0x364686={_0x44b80c:0x2e1};this['_positions']=this['_positions']||[],this[_0xc38bfb(0x5a2,_0x33fc16._0x4d3c42)]['push'](_0x25bd9a);function _0xc38bfb(_0x40b392,_0x5810ce){return _0x4626c0(_0x40b392-_0x364686._0x44b80c,_0x5810ce);}this['_updatePositionsHook']();}['setPositions'](_0x16ce8c){var _0x218b50={_0x125d46:0x16f};this['_positions']=_0x16ce8c;function _0x22c60d(_0x1021f2,_0x8d245c){return _0x4626c0(_0x8d245c- -0x405,_0x1021f2);}this[_0x22c60d(-0x17d,-_0x218b50._0x125d46)]();}['clear'](){var _0x6207f0={_0x391d45:0xd8},_0x5af3f2={_0x172c14:0x8b};this['_graphic']&&(this['_layer']['removeGraphic'](this['_graphic'],!![]),delete this[_0x12323d(0x114,_0x6207f0._0x391d45)]);function _0x12323d(_0x18ca9,_0x38813e){return _0x32ed28(_0x38813e- -0x150,_0x18ca9);}function _0x4b923d(_0x472d8f,_0x995db3){return _0x4626c0(_0x472d8f- -_0x5af3f2._0x172c14,_0x995db3);}this['_graphic2']&&(this['_layer']['removeGraphic'](this[_0x4b923d(0x240,0x2a4)],!![]),delete this['_graphic2']);}['_updatePositionsHook'](){var _0x208109={_0x363c5c:0x20c,_0xd46b8a:0x1af};if(!this['show']||!this['_map']||!this[_0xb09fb9(0x1f1,_0x208109._0x363c5c)]||this['positions'][_0x2bc9cd(0x203,_0x208109._0xd46b8a)]===0x0)return this;const _0x1636ea=this[_0x2bc9cd(0x1d8,0x184)]();function _0x2bc9cd(_0x276c94,_0x17e501){return _0x4626c0(_0x17e501- -0xbc,_0x276c94);}function _0xb09fb9(_0x4f1d86,_0x330349){return _0x32ed28(_0x330349- -0x15,_0x4f1d86);}return this[_0x2bc9cd(0x1bf,0x212)](_0x1636ea),this;}['getRectangle'](_0x488bdf){var _0x5ea35b={_0x18bc72:0x34f,_0x182daa:0x381};function _0x281ca5(_0x2b7170,_0xfb785){return _0x32ed28(_0xfb785-0x111,_0x2b7170);}function _0x40acf2(_0x113005,_0xe0deec){return _0x32ed28(_0xe0deec-0x3,_0x113005);}return _0x488bdf!==null&&_0x488bdf!==void 0x0&&_0x488bdf['isFormat']&&this['_rectangle']?mars3d__namespace['PolyUtil'][_0x281ca5(_0x5ea35b._0x18bc72,_0x5ea35b._0x182daa)](this[_0x40acf2(0x19f,0x1bf)]):this['_rectangle'];}[_0x4626c0(0x22e,0x200)](){var _0x554afc={_0x13e950:0x2c0,_0x1d4b41:0xe0,_0x342db2:0x2d9,_0x4a9877:0xaf,_0x370fbd:0x79,_0x5f49ac:0x259},_0xd439ab={_0x44d4ca:0x87};if(!this['_heat']||!this[_0x446e75(0x316,_0x554afc._0x13e950)]||!this['_map'])return;const _0x10d8a4=this['options'][_0xeca8a9(0x98,_0x554afc._0x1d4b41)]*(this[_0xeca8a9(0x77,0x74)][_0x446e75(0x2bf,0x2f9)]['positionCartographic'][_0x446e75(0x2b5,_0x554afc._0x342db2)]-this[_0xeca8a9(_0x554afc._0x4a9877,0x10d)][_0x446e75(0x206,0x259)])/this['_bounds']['radius'];function _0xeca8a9(_0x111770,_0x2ec8f2){return _0x32ed28(_0x111770- -0x19f,_0x2ec8f2);}let _0x588856=this[_0xeca8a9(0x80,_0x554afc._0x370fbd)][_0x446e75(0x21b,_0x554afc._0x5f49ac)]*(0x1+_0x10d8a4);_0x588856=Math[_0x446e75(0x2a6,0x294)](0x64,_0x588856);function _0x446e75(_0xfcf807,_0x24819b){return _0x32ed28(_0x24819b-_0xd439ab._0x44d4ca,_0xfcf807);}_0x588856=Math['max'](_0x588856,0x2),_0x588856&&this['updateRadius'](_0x588856);}['_getBounds'](_0x1c044f){var _0x28f144={_0x81f822:0x234,_0x1bf096:0x4ca,_0x346d1a:0x23a,_0x180517:0x237,_0x2a520a:0x1f2,_0x3e02a9:0x56c,_0x2fc923:0x238,_0x4a0afb:0x27e,_0x1f4c87:0x1b3},_0x17d8de={_0x2e5bb4:0x2ee},_0xf7247b={_0x3d2c:0xa9,_0x58cdcb:0xaf,_0x55b273:0xef,_0x2b7391:0x119},_0x113ef4={_0x31f042:0x2b0};function _0x4f39af(_0x1bc947,_0x54d6dd){return _0x4626c0(_0x1bc947- -0x3e,_0x54d6dd);}let _0x29192a,_0x147fcf,_0x1dd5e8,_0x4fc2d4;this['options'][_0x4f39af(_0x28f144._0x81f822,0x29c)]?(_0x29192a=this[_0x4b3fb3(0x543,0x51d)]['rectangle']['xmin'],_0x147fcf=this[_0x4f39af(0x23a,0x240)][_0x4f39af(0x234,0x23d)][_0x4b3fb3(0x51b,0x562)],_0x1dd5e8=this['options']['rectangle']['ymin'],_0x4fc2d4=this['options'][_0x4b3fb3(_0x28f144._0x1bf096,0x517)]['ymax']):_0x1c044f['forEach']((_0xb6fe9d,_0x562e37)=>{function _0x819e6e(_0x378e66,_0x50fd23){return _0x4f39af(_0x50fd23- -_0x113ef4._0x31f042,_0x378e66);}function _0x2c90c5(_0x52716a,_0x395188){return _0x4b3fb3(_0x52716a,_0x395188- -0x51b);}_0x562e37===0x0?(_0x29192a=_0xb6fe9d['lng'],_0x147fcf=_0xb6fe9d['lng'],_0x1dd5e8=_0xb6fe9d[_0x2c90c5(-_0xf7247b._0x3d2c,-0x77)],_0x4fc2d4=_0xb6fe9d['lat']):(_0x29192a=Math[_0x819e6e(-0xf1,-0x98)](_0x29192a,_0xb6fe9d['lng']),_0x147fcf=Math['max'](_0x147fcf,_0xb6fe9d['lng']),_0x1dd5e8=Math['min'](_0x1dd5e8,_0xb6fe9d[_0x819e6e(-_0xf7247b._0x58cdcb,-_0xf7247b._0x55b273)]),_0x4fc2d4=Math[_0x819e6e(-_0xf7247b._0x2b7391,-0xbe)](_0x4fc2d4,_0xb6fe9d['lat']));});let _0x45fe8e=_0x147fcf-_0x29192a,_0x1c0fe6=_0x4fc2d4-_0x1dd5e8;_0x45fe8e===0x0&&(_0x45fe8e=0x1);_0x1c0fe6===0x0&&(_0x1c0fe6=0x1);!this[_0x4f39af(_0x28f144._0x346d1a,0x239)][_0x4f39af(0x234,_0x28f144._0x180517)]&&(_0x29192a-=_0x45fe8e/0xa,_0x1dd5e8-=_0x1c0fe6/0xa,_0x147fcf+=_0x45fe8e/0xa,_0x4fc2d4+=_0x1c0fe6/0xa);_0x29192a=Math['max'](_0x29192a,-0xb4),_0x147fcf=Math['min'](_0x147fcf,0xb4),_0x1dd5e8=Math[_0x4f39af(_0x28f144._0x2a520a,0x1c4)](_0x1dd5e8,-0x5a),_0x4fc2d4=Math['min'](_0x4fc2d4,0x5a);var _0x3b91a0={};_0x3b91a0['xmin']=_0x29192a,_0x3b91a0['xmax']=_0x147fcf,_0x3b91a0['ymin']=_0x1dd5e8,_0x3b91a0[_0x4f39af(0x26e,0x265)]=_0x4fc2d4;const _0x27432f=_0x3b91a0;_0x27432f[_0x4f39af(0x27c,0x230)]=_0x147fcf-_0x29192a;function _0x4b3fb3(_0x19e62d,_0x33c8e0){return _0x32ed28(_0x33c8e0-_0x17d8de._0x2e5bb4,_0x19e62d);}_0x27432f[_0x4b3fb3(0x583,_0x28f144._0x3e02a9)]=_0x4fc2d4-_0x1dd5e8,_0x27432f['rectangle']=Cesium[_0x4b3fb3(0x50b,0x4db)]['fromDegrees'](_0x29192a,_0x1dd5e8,_0x147fcf,_0x4fc2d4);const _0x540d2b=Math[_0x4b3fb3(0x508,0x4d5)](_0x27432f['rectangle']['height'],_0x27432f['rectangle']['width']);return _0x27432f['granularity']=_0x540d2b,_0x27432f[_0x4f39af(0x1dd,_0x28f144._0x2fc923)]=Cesium['Math'][_0x4f39af(_0x28f144._0x4a0afb,0x287)](_0x540d2b,this['_map']['scene']['globe']['ellipsoid'][_0x4f39af(0x1fe,_0x28f144._0x1f4c87)]),_0x27432f;}['_getHeatCanvas'](){var _0x1acbcc={_0x4d8cf5:0x220,_0x4b2497:0x29e,_0x2a24d8:0x492,_0x2db05b:0x208,_0x14d047:0x1ae,_0x51abca:0x218,_0x48b9a8:0x400,_0x492dbd:0x4ca},_0x343f9c={_0x369f4a:0x22b,_0x321fa8:0x1e5,_0x5744c2:0x544,_0x56ec50:0x4cf,_0x553e85:0x536,_0xaaedd0:0x530},_0x50b819={_0x425b54:0xbd,_0x384dbb:0x62};const _0x2581fd=this['_positions'],_0x41d8e7=[];_0x2581fd['forEach'](_0x3c628f=>{const _0x34d1fb=mars3d__namespace[_0x774485(0x37,0x8)]['parse'](_0x3c628f);function _0x774485(_0x268de5,_0x4c1b44){return _0x18ad(_0x268de5- -0x11f,_0x4c1b44);}function _0x226a16(_0x533be4,_0xe2461a){return _0x18ad(_0x533be4-0x24,_0xe2461a);}if(!_0x34d1fb)return;_0x34d1fb['value']=_0x3c628f['value']||0x1,_0x41d8e7[_0x774485(_0x50b819._0x425b54,_0x50b819._0x384dbb)](_0x34d1fb);}),this['_bounds']=this[_0x691836(0x3e5,0x3fc)](_0x41d8e7),this['_rectangle']=this['_bounds']['rectangle'];const _0x4b775a=this['options'][_0x4b1d42(0x24c,0x240)];function _0x4b1d42(_0x5c0118,_0x5444c5){return _0x32ed28(_0x5c0118- -0x2e,_0x5444c5);}const _0x28b49c=mars3d__namespace['Util']['formatNum'](_0x4b775a/this[_0x4b1d42(_0x1acbcc._0x4d8cf5,0x1e7)][_0x4b1d42(0x243,_0x1acbcc._0x4b2497)]*this[_0x691836(0x462,_0x1acbcc._0x2a24d8)]['diffY']);this[_0x4b1d42(0x202,0x22e)]=_0x4b775a,this[_0x691836(0x46e,0x448)]=_0x28b49c,this[_0x4b1d42(0x222,_0x1acbcc._0x2db05b)]['style']['cssText']=_0x4b1d42(0x1dd,0x205)+_0x4b775a+_0x4b1d42(_0x1acbcc._0x14d047,0x195)+_0x28b49c+_0x4b1d42(_0x1acbcc._0x51abca,0x275);var _0x2b2f89={...this['heatStyle']};_0x2b2f89[_0x4b1d42(0x19b,0x1d4)]=this['_container'];function _0x691836(_0x10c9d5,_0x5759e7){return _0x32ed28(_0x5759e7-0x244,_0x10c9d5);}const _0x417c2a=_0x2b2f89;this['_heat']?this['_heat']['configure'](_0x417c2a):this['_heat']=heatmap$1['exports']['create'](_0x417c2a);let _0x461125=_0x41d8e7[0x0]['value']??0x1,_0x454812=_0x41d8e7[0x0][_0x691836(_0x1acbcc._0x48b9a8,0x44b)]??0x0;const _0x57e29a=[];_0x41d8e7['forEach'](_0x43b0cb=>{function _0x38ceea(_0x1edc61,_0xc6a30d){return _0x691836(_0xc6a30d,_0x1edc61-0x8f);}const _0x2cf22b=Math['round']((_0x43b0cb[_0x297694(0x275,_0x343f9c._0x369f4a)]-this['_bounds'][_0x38ceea(0x504,0x52c)])/this[_0x297694(_0x343f9c._0x321fa8,0x226)][_0x38ceea(_0x343f9c._0x5744c2,0x4ee)]*_0x4b775a),_0x1fa654=Math[_0x38ceea(0x495,_0x343f9c._0x56ec50)]((this['_bounds'][_0x38ceea(_0x343f9c._0x553e85,0x53f)]-_0x43b0cb['lat'])/this['_bounds']['diffY']*_0x28b49c),_0x30fa7d=_0x43b0cb[_0x38ceea(0x4da,0x4a9)]||0x1;_0x461125=Math['max'](_0x461125,_0x30fa7d),_0x454812=Math['min'](_0x454812,_0x30fa7d);var _0x54476a={};_0x54476a['x']=_0x2cf22b;function _0x297694(_0x1da195,_0x18de56){return _0x691836(_0x1da195,_0x18de56- -0x26c);}_0x54476a['y']=_0x1fa654,_0x54476a[_0x38ceea(0x4da,_0x343f9c._0xaaedd0)]=_0x30fa7d,_0x57e29a['push'](_0x54476a);});var _0x109292={};_0x109292['min']=this['options'][_0x691836(0x43e,0x451)]??_0x454812,_0x109292['max']=this['options']['max']??_0x461125,_0x109292['data']=_0x57e29a;const _0x2b523d=_0x109292;this['_heat']['setData'](_0x2b523d);const _0x179369=this[_0x691836(0x4ae,_0x1acbcc._0x492dbd)]['_renderer']['canvas']['toDataURL'](_0x691836(0x478,0x428),0x1);return _0x179369;}[_0x32ed28(0x25c,0x2aa)](){var _0x528073={_0x3eb94a:0x1cf,_0x256c3d:0x26a,_0x1f7650:0x1ea,_0x1d699f:0x1a9,_0x474dbf:0x1f7,_0x6ee594:0x1fa},_0x44e03a={_0x3904b7:0x34},_0x235164={_0x5a06a4:0x45f},_0x2cf144={};function _0x18f53e(_0x12af8e,_0x897762){return _0x4626c0(_0x12af8e- -_0x235164._0x5a06a4,_0x897762);}function _0x151d2f(_0x35e7a3,_0x151238){return _0x32ed28(_0x35e7a3- -_0x44e03a._0x3904b7,_0x151238);}_0x2cf144[_0x151d2f(_0x528073._0x3eb94a,0x1ce)]='rgb(0,0,0)',_0x2cf144[_0x18f53e(-0x221,-_0x528073._0x256c3d)]=_0x151d2f(0x1a0,0x161),_0x2cf144['0.85']='rgb(216,216,216)',_0x2cf144['1']=_0x151d2f(0x1c8,0x161),this['_heat']['configure']({'radius':this['heatStyle'][_0x151d2f(0x19e,0x179)]*this[_0x151d2f(_0x528073._0x1f7650,_0x528073._0x1d699f)]['arcRadiusScale'],'blur':this[_0x18f53e(-_0x528073._0x474dbf,-0x24e)][_0x151d2f(0x1e6,_0x528073._0x6ee594)]*this['style'][_0x18f53e(-0x234,-0x1d8)],'gradient':this[_0x151d2f(0x1eb,0x225)]['gradientArc']||_0x2cf144});const _0x2b2947=this['_heat'][_0x151d2f(0x1ce,0x229)][_0x18f53e(-0x19a,-0x1f9)]['toDataURL']('image/png',0x1);return this['_heat']['configure'](this['options']['heatStyle']),_0x2b2947;}['updateRadius'](_0x377579){var _0x39f2c3={_0x383d13:0x115,_0x24db1c:0xc0,_0x5ac11e:0x2f,_0x247d6:0x112,_0x55c3de:0x4a},_0x4d5052={_0x43f7ed:0x1e3};const _0x3438f5=this['_heat'][_0x290c04(_0x39f2c3._0x383d13,_0x39f2c3._0x24db1c)]();function _0x290c04(_0x5564b4,_0x36476c){return _0x4626c0(_0x36476c- -_0x4d5052._0x43f7ed,_0x5564b4);}if(_0x3438f5!==null&&_0x3438f5!==void 0x0&&_0x3438f5[_0x4258be(0x528,0x4d2)])for(const _0x18c24e in _0x3438f5['data']){const _0x127f8a=_0x3438f5['data'][_0x18c24e];_0x127f8a[_0x290c04(_0x39f2c3._0x5ac11e,0x38)]=_0x377579;}function _0x4258be(_0x389c14,_0x53edaa){return _0x4626c0(_0x53edaa-0x220,_0x389c14);}this['_heat'][_0x290c04(_0x39f2c3._0x247d6,0xaa)](_0x3438f5);const _0x69a89a=this[_0x290c04(0x150,0xec)]['_renderer']['canvas']['toDataURL'](_0x290c04(-0x17,_0x39f2c3._0x55c3de),0x1);this['_updateGraphic'](_0x69a89a);}['getPointData'](_0xe9f781){var _0x18ad0b={_0x2d5687:0xd1,_0x4bf75f:0x111,_0x3cc3a3:0x12e,_0x40aa4c:0xd6,_0x6fdb14:0x154,_0x153116:0x16a,_0x7af7cb:0xb9,_0x513712:0xd3,_0x4669d7:0xec,_0x3d70d2:0x12a,_0x34a2f3:0xbf},_0x1bfefe={_0x577e02:0x120},_0x5dd4f6={_0x4675cb:0x33c};const _0x1d7f89=mars3d__namespace['LngLatPoint']['parse'](_0xe9f781);if(!_0x1d7f89||!this['_bounds'])return{};function _0x1a5917(_0x4c82f5,_0x22340f){return _0x4626c0(_0x4c82f5- -_0x5dd4f6._0x4675cb,_0x22340f);}if(_0x1d7f89[_0x16454e(0x133,_0x18ad0b._0x2d5687)]this[_0x16454e(_0x18ad0b._0x3cc3a3,_0x18ad0b._0x40aa4c)][_0x16454e(_0x18ad0b._0x6fdb14,_0x18ad0b._0x153116)]||_0x1d7f89['lat']this['_bounds']['ymax'])return{};function _0x16454e(_0x116c0c,_0x3e3264){return _0x32ed28(_0x116c0c- -_0x1bfefe._0x577e02,_0x3e3264);}const _0x36d5e5=(_0x1d7f89['lng']-this['_bounds'][_0x1a5917(-0xc2,-0xc0)])/(this['_bounds']['xmax']-this['_bounds']['xmin'])*this['_canvasWidth'],_0x453081=(this['_bounds']['ymax']-_0x1d7f89[_0x16454e(0x96,_0x18ad0b._0x7af7cb)])/(this[_0x16454e(0x12e,_0x18ad0b._0x513712)]['ymax']-this['_bounds']['ymin'])*this[_0x16454e(0xe4,0xd0)];var _0x120c7c={};_0x120c7c['x']=_0x36d5e5,_0x120c7c['y']=_0x453081;const _0x463f1d=this[_0x16454e(0x166,0x118)]['getValueAt'](_0x120c7c),_0x438128=this['_heat']['_renderer']['ctx']['getImageData'](_0x36d5e5-0x1,_0x453081-0x1,0x1,0x1)[_0x1a5917(-0x8a,-0x7c)];var _0x114a97={};return _0x114a97['x']=_0x36d5e5,_0x114a97['y']=_0x453081,_0x114a97[_0x1a5917(-_0x18ad0b._0x4669d7,-_0x18ad0b._0x3d70d2)]=_0x463f1d,_0x114a97['color']=_0x1a5917(-0xac,-_0x18ad0b._0x34a2f3)+_0x438128[0x0]+','+_0x438128[0x1]+','+_0x438128[0x2]+','+_0x438128[0x3]+')',_0x114a97;}['_updateGraphic'](_0x61d01){var _0x5a44f1={_0xcf418d:0x2a4,_0x25ad8d:0x407,_0x169360:0x42b,_0xaae48c:0x36e,_0x1c4509:0x32b,_0x16b77f:0x412,_0x5c5cba:0x34f,_0x42aae1:0x3a3,_0x46ee8b:0x44e,_0x1196d1:0x485,_0x38da91:0x42c,_0x294c5c:0x42b,_0x55d753:0x3cc,_0x4b9376:0x451};function _0x128f73(_0x5e472f,_0x3c9c0f){return _0x32ed28(_0x5e472f-0x203,_0x3c9c0f);}function _0x5b8168(_0x40216a,_0x2031ba){return _0x4626c0(_0x40216a-0xfc,_0x2031ba);}if(this['style'][_0x5b8168(0x30d,_0x5a44f1._0xcf418d)]==='image')this['_layer']['setOptions']({'url':_0x61d01,'rectangle':this[_0x128f73(0x3bf,_0x5a44f1._0x25ad8d)],'opacity':this['style']['opacity']});else this['style']['arc']?this['_graphic']&&this[_0x128f73(_0x5a44f1._0x169360,0x421)][_0x5b8168(_0x5a44f1._0xaae48c,_0x5a44f1._0x1c4509)]['equals'](this['_rectangle'])?(this['_graphic']['uniforms'][_0x128f73(_0x5a44f1._0x16b77f,0x452)]=_0x61d01,this['_graphic'][_0x5b8168(_0x5a44f1._0x5c5cba,_0x5a44f1._0x42aae1)]['bumpMap']=this[_0x128f73(0x45f,_0x5a44f1._0x46ee8b)](),this['_graphic2']&&(this['_graphic2']['uniforms']['image']=_0x61d01,this[_0x128f73(_0x5a44f1._0x1196d1,0x474)][_0x128f73(0x40d,_0x5a44f1._0x38da91)]['bumpMap']=this[_0x128f73(0x42b,0x3d4)]['uniforms']['bumpMap'])):this['_createArcGraphic'](_0x61d01):this[_0x5b8168(0x36d,0x367)]&&this[_0x128f73(0x42b,0x403)]['rectangle']['equals'](this['_rectangle'])?this[_0x128f73(_0x5a44f1._0x294c5c,_0x5a44f1._0x55d753)][_0x128f73(0x40d,0x40c)][_0x128f73(_0x5a44f1._0x16b77f,_0x5a44f1._0x4b9376)]=_0x61d01:this['_createGraphic'](_0x61d01);}['_createGraphic'](_0x456537){var _0x2fca47={_0x1ec76a:0x477,_0x239544:0x463,_0x192a46:0x2b8,_0x3656b7:0x2d0,_0x39c110:0x45f,_0x1bda8d:0x492,_0x5047f0:0x413,_0x124371:0x475,_0x59ecd4:0x316};function _0x487b0b(_0x3c1c2e,_0x2edf26){return _0x4626c0(_0x2edf26-0x78,_0x3c1c2e);}this[_0x5a6ae6(_0x2fca47._0x1ec76a,_0x2fca47._0x239544)]();var _0x1d94e8={};function _0x5a6ae6(_0x44bc1c,_0x5cb7f8){return _0x32ed28(_0x5cb7f8-0x295,_0x44bc1c);}_0x1d94e8[_0x487b0b(_0x2fca47._0x192a46,_0x2fca47._0x3656b7)]=_0x456537,this['_graphic']=new mars3d__namespace['graphic']['RectanglePrimitive']({...this['options'],'rectangle':this[_0x487b0b(0x2b5,0x27d)],'appearance':new Cesium['EllipsoidSurfaceAppearance']({'material':mars3d__namespace[_0x5a6ae6(_0x2fca47._0x39c110,_0x2fca47._0x1bda8d)][_0x5a6ae6(_0x2fca47._0x5047f0,_0x2fca47._0x124371)](mars3d__namespace[_0x487b0b(_0x2fca47._0x59ecd4,0x2c9)]['Image2'],_0x1d94e8),'flat':!![]})}),this['_layer']['addGraphic'](this[_0x5a6ae6(0x4ab,0x4bd)]);}['_createArcGraphic'](_0x303e90){var _0x54dfbe={_0x49af77:0x17f,_0x2816b8:0x2dd,_0x46c6e0:0x2a7,_0x42f996:0x209,_0x455648:0x1ad,_0x15c4b8:0x2e7,_0xee24e2:0x317,_0x324307:0x269,_0x3d8c15:0x22d,_0x52d0d4:0x2dc,_0x520732:0x30f,_0xe08022:0x1ab,_0xa0fa0b:0x2ac,_0x1fe338:0x1a6,_0x359e8f:0x189,_0x1dbb14:0x267,_0x5d5368:0x29b,_0x4846b4:0x1c9,_0x4e8f16:0x1ca,_0x5756f8:0x1cc,_0x178b20:0x145,_0x515fe0:0x19a},_0x3b712f={_0x57486d:0x45};this['clear']();var _0x2f9e31={};_0x2f9e31['enabled']=!![];var _0x10e488={};_0x10e488[_0x498186(-_0x54dfbe._0x49af77,-0x186)]=!![];function _0x90480f(_0x24e6be,_0x455f2f){return _0x4626c0(_0x24e6be-_0x3b712f._0x57486d,_0x455f2f);}const _0x384d60=Cesium['RenderState']['fromCache']({'cull':_0x2f9e31,'depthTest':_0x10e488,'stencilTest':{'enabled':!![],'frontFunction':Cesium[_0x90480f(_0x54dfbe._0x2816b8,0x2fd)][_0x498186(-0x1b4,-0x1c0)],'frontOperation':{'fail':Cesium['StencilOperation'][_0x90480f(_0x54dfbe._0x46c6e0,0x300)],'zFail':Cesium[_0x498186(-_0x54dfbe._0x42f996,-_0x54dfbe._0x455648)][_0x90480f(_0x54dfbe._0x46c6e0,_0x54dfbe._0x15c4b8)],'zPass':Cesium['StencilOperation']['REPLACE']},'backFunction':Cesium[_0x90480f(0x2dd,_0x54dfbe._0xee24e2)]['ALWAYS'],'backOperation':{'fail':Cesium['StencilOperation']['KEEP'],'zFail':Cesium['StencilOperation'][_0x498186(-0x1ab,-0x1fc)],'zPass':Cesium['StencilOperation'][_0x90480f(_0x54dfbe._0x324307,_0x54dfbe._0x3d8c15)]},'reference':0x2,'mask':0x2},'blending':Cesium['BlendingState'][_0x498186(-0x1f7,-0x254)]}),_0x137d9a=Math['floor'](this['style']['diffHeight']??this[_0x90480f(_0x54dfbe._0x52d0d4,_0x54dfbe._0x520732)]['radius']*0.05)+0.1;this[_0x498186(-0x1a6,-_0x54dfbe._0xe08022)][_0x90480f(0x2d6,0x335)]&&delete this[_0x90480f(_0x54dfbe._0xa0fa0b,0x2f3)]['diffHeight'];this['style']['granularity']=this['_bounds']['granularity']/(this[_0x498186(-_0x54dfbe._0x1fe338,-0x1d9)]['splitNum'],0x64);function _0x498186(_0x3f0967,_0x2ace6e){return _0x32ed28(_0x3f0967- -0x3c4,_0x2ace6e);}const _0x2075cd=new Cesium['Material']({'fabric':{'uniforms':{'image':_0x303e90,'repeat':new Cesium[(_0x498186(-_0x54dfbe._0x359e8f,-0x1e0))](0x1,0x1),'color':new Cesium[(_0x90480f(_0x54dfbe._0x1dbb14,0x2b0))](0x1,0x1,0x1,0x0),'bumpMap':this[_0x90480f(0x2ea,_0x54dfbe._0x5d5368)]()},'source':HeatMaterial},'translucent':!![]}),_0x415c35=this[_0x498186(-_0x54dfbe._0x1fe338,-0x14c)][_0x498186(-_0x54dfbe._0x4846b4,-_0x54dfbe._0x4e8f16)]||0x1;this[_0x498186(-0x19c,-_0x54dfbe._0x5756f8)]=new mars3d__namespace['graphic']['RectanglePrimitive']({...this['options'],'rectangle':this['_rectangle'],'appearance':new Cesium[(_0x498186(-_0x54dfbe._0x178b20,-0xe3))]({'flat':!![],'aboveGround':!![],'renderState':_0x384d60,'material':_0x2075cd,'vertexShaderSource':getVertexShaderSource(_0x137d9a*_0x415c35)})}),this[_0x90480f(0x2e6,0x280)]['addGraphic'](this[_0x498186(-0x19c,-0x194)]),this['style']['arcDirection']===0x0&&(this['_graphic2']=new mars3d__namespace['graphic'][(_0x498186(-0x1ee,-0x1ea))]({...this[_0x498186(-0x195,-_0x54dfbe._0x515fe0)],'rectangle':this['_rectangle'],'appearance':new Cesium['EllipsoidSurfaceAppearance']({'flat':!![],'aboveGround':!![],'renderState':_0x384d60,'material':_0x2075cd,'vertexShaderSource':getVertexShaderSource(-_0x137d9a)})}),this[_0x498186(-0x16c,-0x1c4)]['addGraphic'](this['_graphic2']));}}mars3d__namespace['LayerUtil'][_0x32ed28(0x201,0x23b)](_0x32ed28(0x241,0x231),HeatLayer),mars3d__namespace['layer'][_0x32ed28(0x236,0x1ef)]=HeatLayer,mars3d__namespace['h337']=h337;function getVertexShaderSource(_0x2b78ba){function _0x4e1742(_0x3619a2,_0x33869f){return _0x32ed28(_0x33869f- -0x296,_0x3619a2);}return'in\x20vec3\x20position3DHigh;\x0a\x20\x20in\x20vec3\x20position3DLow;\x0a\x20\x20in\x20vec2\x20st;\x0a\x20\x20in\x20float\x20batchId;\x0a\x20\x20uniform\x20sampler2D\x20bumpMap_3;\x0a\x20\x20out\x20vec3\x20v_positionMC;\x0a\x20\x20out\x20vec3\x20v_positionEC;\x0a\x20\x20out\x20vec2\x20v_st;\x0a\x0a\x20\x20void\x20main()\x0a\x20\x20{\x0a\x20\x20\x20\x20vec4\x20p\x20=\x20czm_computePosition();\x0a\x20\x20\x20\x20v_positionMC\x20=\x20position3DHigh\x20+\x20position3DLow;\x0a\x20\x20\x20\x20v_positionEC\x20=\x20(czm_modelViewRelativeToEye\x20*\x20p).xyz;\x0a\x20\x20\x20\x20v_st\x20=\x20st;\x0a\x20\x20\x20\x20vec4\x20color\x20=\x20texture(bumpMap_3,\x20v_st);\x0a\x20\x20\x20\x20float\x20centerBump\x20=\x20distance(vec3(0.0),color.rgb);\x0a\x20\x20\x20\x20vec3\x20upDir\x20=\x20normalize(v_positionMC.xyz);\x0a\x20\x20\x20\x20vec3\x20disPos\x20=\x20upDir\x20*\x20centerBump\x20*\x20'+_0x2b78ba+_0x4e1742(-0x56,-0x20);}exports[_0x4626c0(0x27f,0x217)]=HeatLayer;var _0xc1337={};_0xc1337['value']=!![],Object['defineProperty'](exports,'__esModule',_0xc1337); })); diff --git a/public/lib/mars3d/plugins/mapv/mars3d-mapv.js b/public/lib/mars3d/plugins/mapv/mars3d-mapv.js index 260d62fca..2bfdad7da 100644 --- a/public/lib/mars3d/plugins/mapv/mars3d-mapv.js +++ b/public/lib/mars3d/plugins/mapv/mars3d-mapv.js @@ -2,7 +2,7 @@ * Mars3D平台插件,结合mapv可视化功能插件 mars3d-mapv * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:58 + * 编译日期:2024-12-03 18:05 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ @@ -11,5 +11,5 @@ typeof define === 'function' && define.amd ? define(['exports', 'mapv', 'mars3d'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-mapv"] = {}, global.mapv, global.mars3d)); })(this, (function (exports, mapv, mars3d) { -'use strict';function _0x4896(_0x35cd5e,_0x153dcc){const _0x12e084=_0x12e0();return _0x4896=function(_0x489673,_0xa1f207){_0x489673=_0x489673-0x11a;let _0x116085=_0x12e084[_0x489673];if(_0x4896['FfHNUH']===undefined){var _0x52726d=function(_0x5ed119){const _0x167f87='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcf45a='',_0x421049='';for(let _0x139fef=0x0,_0x3194a8,_0x5b3164,_0x46c480=0x0;_0x5b3164=_0x5ed119['charAt'](_0x46c480++);~_0x5b3164&&(_0x3194a8=_0x139fef%0x4?_0x3194a8*0x40+_0x5b3164:_0x5b3164,_0x139fef++%0x4)?_0xcf45a+=String['fromCharCode'](0xff&_0x3194a8>>(-0x2*_0x139fef&0x6)):0x0){_0x5b3164=_0x167f87['indexOf'](_0x5b3164);}for(let _0x391878=0x0,_0x373617=_0xcf45a['length'];_0x391878<_0x373617;_0x391878++){_0x421049+='%'+('00'+_0xcf45a['charCodeAt'](_0x391878)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x421049);};_0x4896['lQVTes']=_0x52726d,_0x35cd5e=arguments,_0x4896['FfHNUH']=!![];}const _0x242115=_0x12e084[0x0],_0x1979a6=_0x489673+_0x242115,_0x1a5f62=_0x35cd5e[_0x1979a6];return!_0x1a5f62?(_0x116085=_0x4896['lQVTes'](_0x116085),_0x35cd5e[_0x1979a6]=_0x116085):_0x116085=_0x1a5f62,_0x116085;},_0x4896(_0x35cd5e,_0x153dcc);}(function(_0x1261fd,_0x313ffd){const _0x5ba4d7={_0x217ecb:0x14c,_0x6de90:0x2b1,_0x12f767:0x132,_0x465944:0x105,_0x3fb1a9:0xe9,_0x24d1e2:0x31e,_0x4072e2:0x362,_0xf5cd5b:0x37c,_0x3d2b5f:0x32a},_0x2600c3=_0x1261fd();function _0x4b7b32(_0x195b3e,_0x2e9c45){return _0x4896(_0x195b3e- -0x2f,_0x2e9c45);}function _0x5671cc(_0x360480,_0x389d2c){return _0x4896(_0x360480-0x1cc,_0x389d2c);}while(!![]){try{const _0x2cc881=-parseInt(_0x4b7b32(0x100,0xd0))/0x1+-parseInt(_0x4b7b32(0x11a,_0x5ba4d7._0x217ecb))/0x2*(-parseInt(_0x5671cc(0x2e7,_0x5ba4d7._0x6de90))/0x3)+-parseInt(_0x4b7b32(_0x5ba4d7._0x12f767,0x10a))/0x4*(parseInt(_0x4b7b32(0x159,0x136))/0x5)+-parseInt(_0x4b7b32(_0x5ba4d7._0x465944,_0x5ba4d7._0x3fb1a9))/0x6+parseInt(_0x5671cc(0x330,_0x5ba4d7._0x24d1e2))/0x7*(parseInt(_0x5671cc(_0x5ba4d7._0x4072e2,_0x5ba4d7._0xf5cd5b))/0x8)+-parseInt(_0x5671cc(_0x5ba4d7._0x3d2b5f,0x322))/0x9+-parseInt(_0x5671cc(0x319,0x30b))/0xa*(-parseInt(_0x4b7b32(0x104,0xd7))/0xb);if(_0x2cc881===_0x313ffd)break;else _0x2600c3['push'](_0x2600c3['shift']());}catch(_0x570a2e){_0x2600c3['push'](_0x2600c3['shift']());}}}(_0x12e0,0xc0f00));function _0x12e0(){const _0x20edc2=['C2nLBMu','x2nVB3jKAw5HDgvZ','ChvZAa','A2v5CW','BwLU','ug9PBNruCMfUCW','BgvUz3rO','CMvTB3zL','yMfPzhvnyxbmyxLLCG','x3nLDe9WDgLVBNniB29R','x3nPEMu','Cg9ZAxrPB24','x2nYzwf0zunHBNzHCW','y29UDgv4Da','DMfSDwu','y2fUDMfZ','z2v0uMvJDgfUz2XL','zgvWDgHuzxn0','x3jLC2v0','z2v0q29UDgv4Da','x2rHDge','yw5PBwf0B3i','Aw5PDerLDMLJzvbPEgvSuMf0Aw8','D2LUzg93ug9ZAxrPB24','nJC2mta0nvP4zxPSza','z2XVyMfSq29TCg9ZAxrLt3bLCMf0Aw9U','x29Utw92zuvUzev2zw50','BM9Uzq','C3r5Bgu','B2zM','6k+35BYv5ywLig1HChyG5BQtia','CMvTB3zLqwXSrgf0yq','DxbKyxrL','CMvUzgvY','zgv2AwnLugL4zwXsyxrPBW','x19LC01VzhvSzq','yw5PBwf0Aw9U','x29UtwfWtw91C2vnB3zL','mJm1mJHmDfLXDK0','y2fTzxjH','C3rLChnsyw5Nzq','zMLSBfn0EwXL','zgvMAw5LuhjVCgvYDhK','txvSDgLqB2X5z29U','mZzlr2rnCLu','zgvMyxvSDa','mhb4','Cg9PBNrdB3vUDe1PBG','BwfYCZnKlw1HChy','Bw91C2vTB3zL','Aw5PDerHDgfsyw5Nzq','ChjVCgvYDgLLCW','ywXS','Bwv0Ag9KCW','x29Utw92zvn0yxj0rxzLBNq','z2v0q29SB3i','z2XVyMu','z2v0','yw5PBwf0B3jnB3zLC3rHCNrfDMvUDa','x2nHy2HLx2v2zw50','B3b0Aw9UCW','x3bVAw50zxjfDMvUDhm','x21VDw50zwriB29R','CgfYzw50rwXLBwvUDa','mti1mZKWmgveCfr6va','yMLUza','zM9YrwfJAa','C2L6zq','nZD2q2jZD0i','ndaZndCXmLbMt2nzBq','Cg9PBNrdB3vUDe1HEa','x21HCa','x21HCfzszw5KzxjLCG','y2fUDMfZtgf5zxi','yxv0BW','x2fKzgvKsg9VAW','Dg9xAw5KB3DdB29YzgLUyxrLCW','CMvTB3zLrgf0yq','BwfWDKzPEgvKsgvPz2H0','D2LKDgG','BwfWDKf1Dg9izwLNAhq','rxzLBNruExbL','Cg9PBNrLCKv2zw50CW','q2vZAxvT','Bw91C2vTB3zLrxzLBNq','x29UtwfWq2XPy2S','DxrPBerHDgfsyw5NzuLUDgvUC2L0Eq','z2v0wM9VBq','yxjNq2HLy2S','y2XPy2S','mty5mJm4D3bvwgTw','BgvMDa','zgLZCgXHEq','zgf0yvnLDa','mZGXmZe5mgD5yNfgyq','y3jLyxrL','y2XLyxjszwn0','y2XLyxjeyxrH','DxbKyxrLq2fSBgjHy2S','AgvPz2H0','twfWvKXHEwvY','Bw91C2vnB3zL','C2nHBgu','zhjHDW','y2XPy2TfDMvUDa','Bgf5zxi','EKLUzgv4','z2v0q2X1C3rLCNm','z2vVBwv0CNK','BwfWDG','zNjVBurLz3jLzxm','nta5mtKZouzNEuz1va','Cg9ZAxrPB25xqW','y2fTzxjHtw92zvn0yxj0','nfPsu1LVDW','x2nHBNzHC1vWzgf0zq','C3vWzxjJBhvZDgvY','mJi2muf3vMTnra','tgf5zxjvDgLS','Bwf4u2L6zq','y2XLyxi','Bw91C2veB3DU','Eg1HEa','DgLTzq','BwLUu2L6zq','Cg9PBNrFy291BNq','x3jLBw92zwriB29R','u2nLBMvnB2rL','BwfW'];_0x12e0=function(){return _0x20edc2;};return _0x12e0();}function _interopNamespace(_0x373617){const _0x23f740={_0x2145bc:0x1eb},_0x1d5b31={_0x3dca01:0x13d};if(_0x373617&&_0x373617[_0x26a012(0x2ad,0x2d0)])return _0x373617;var _0x41c009=Object[_0x12fa54(0x202,0x1c3)](null);function _0x26a012(_0x51cf41,_0x3a44c5){return _0x4896(_0x3a44c5-_0x1d5b31._0x3dca01,_0x51cf41);}_0x373617&&Object[_0x26a012(0x29e,0x2b0)](_0x373617)[_0x12fa54(0x1e5,_0x23f740._0x2145bc)](function(_0x121e54){if(_0x121e54!=='default'){var _0x19a331=Object['getOwnPropertyDescriptor'](_0x373617,_0x121e54);Object['defineProperty'](_0x41c009,_0x121e54,_0x19a331['get']?_0x19a331:{'enumerable':!![],'get':function(){return _0x373617[_0x121e54];}});}});function _0x12fa54(_0x41e0e4,_0x4e4470){return _0x4896(_0x41e0e4-0xb4,_0x4e4470);}return _0x41c009['default']=_0x373617,_0x41c009;}function _0x530326(_0x58114f,_0x15ac19){return _0x4896(_0x15ac19-0x2c2,_0x58114f);}var mapv__namespace=_interopNamespace(mapv),mars3d__namespace=_interopNamespace(mars3d);const Cesium$1=mars3d__namespace['Cesium'],baiduMapLayer=mapv__namespace?mapv__namespace[_0x48c429(0x1fd,0x1dc)]:null,BaseLayer$1=baiduMapLayer?baiduMapLayer['__proto__']:Function;class MapVRenderer extends BaseLayer$1{constructor(_0x10c2c8,_0x24b888,_0x143e2b,_0x1f4d37){const _0x280d7b={_0x2547ef:0x30d,_0x563957:0x344,_0x1792d7:0x315,_0x293486:0x203,_0x4c908b:0x331},_0x9d85ee={_0x366d4b:0x46};super(_0x10c2c8,_0x24b888,_0x143e2b);if(!BaseLayer$1)return;this['map']=_0x10c2c8,this[_0x412919(_0x280d7b._0x2547ef,_0x280d7b._0x563957)]=_0x10c2c8[_0x412919(0x30d,_0x280d7b._0x1792d7)],this['dataSet']=_0x24b888;function _0x13d4dd(_0x4fc727,_0x212116){return _0x48c429(_0x212116-_0x9d85ee._0x366d4b,_0x4fc727);}_0x143e2b=_0x143e2b||{};function _0x412919(_0x4a02a2,_0x3627e8){return _0x48c429(_0x4a02a2-0x118,_0x3627e8);}this['init'](_0x143e2b),this[_0x13d4dd(0x250,0x212)](_0x143e2b),this['initDevicePixelRatio'](),this[_0x13d4dd(0x1f9,_0x280d7b._0x293486)]=_0x1f4d37,this['stopAniamation']=!0x1,this[_0x412919(_0x280d7b._0x4c908b,0x359)]=_0x143e2b['animation'];}[_0x48c429(0x20b,0x22b)](){this['devicePixelRatio']=window['devicePixelRatio']||0x1;}['addAnimatorEvent'](){}['animatorMovestartEvent'](){const _0x563fe0={_0x322317:0xa9,_0x2b46b1:0xe9},_0x46807b={_0x335324:0x3ad},_0x366c9a={_0x450ef9:0xda},_0x41fa95=this['options'][_0x2e3d29(_0x563fe0._0x322317,_0x563fe0._0x2b46b1)];function _0x100f99(_0x4397d5,_0x5d3fb6){return _0x530326(_0x4397d5,_0x5d3fb6- -_0x366c9a._0x450ef9);}function _0x2e3d29(_0x28f844,_0x29577c){return _0x530326(_0x29577c,_0x28f844- -_0x46807b._0x335324);}this['isEnabledTime']()&&this['animator']&&(this['steps']['step']=_0x41fa95[_0x100f99(0x3a1,0x380)]['start']);}['animatorMoveendEvent'](){const _0x33225e={_0x401e1a:0x21d,_0x3d7a8f:0x201};function _0x519c79(_0x265aa0,_0xe0caa3){return _0x530326(_0xe0caa3,_0x265aa0- -0x22a);}this['isEnabledTime']()&&this[_0x519c79(_0x33225e._0x401e1a,_0x33225e._0x3d7a8f)];}['getContext'](){const _0x2634a6={_0x2b99bc:0x400,_0xe852b8:0x3fe};function _0x339af7(_0x2fd981,_0x382d94){return _0x48c429(_0x2fd981-0x1fc,_0x382d94);}function _0x582f70(_0x598667,_0x30d358){return _0x530326(_0x30d358,_0x598667- -0x5bf);}return this['canvasLayer'][_0x339af7(_0x2634a6._0x2b99bc,0x439)]['getContext'](this[_0x339af7(_0x2634a6._0xe852b8,0x40a)]);}['init'](_0x191671){const _0x173dbb={_0x33dfe9:0x288,_0x763fa7:0x2b3,_0x49abb6:0x2ec,_0x5af27a:0x29f,_0x25bd10:0x26a},_0x2bc4af={_0x5d7165:0xb1},_0x5de3bd={_0xc45788:0x2d8};this['options']=_0x191671,this[_0x7201c3(0x257,_0x173dbb._0x33dfe9)](_0x191671),this[_0x7201c3(_0x173dbb._0x763fa7,0x2c8)]=this['options'][_0x7201c3(_0x173dbb._0x763fa7,_0x173dbb._0x49abb6)]||'2d';function _0x2cd6bb(_0x29ebbc,_0xd12e3a){return _0x48c429(_0xd12e3a- -_0x5de3bd._0xc45788,_0x29ebbc);}Cesium$1['defined'](this['options']['zIndex'])&&this['canvasLayer']&&this['canvasLayer']['setZIndex']&&this[_0x7201c3(0x26e,_0x173dbb._0x5af27a)]['setZIndex'](this[_0x7201c3(0x261,_0x173dbb._0x25bd10)]['zIndex']);function _0x7201c3(_0x5833ce,_0x41ef89){return _0x48c429(_0x5833ce-_0x2bc4af._0x5d7165,_0x41ef89);}this['initAnimator']();}[_0x48c429(0x1e7,0x1fd)](_0x515fed){const _0x2a919e={_0x4b3dc8:0x3a0,_0xedf1c9:0x20f,_0x135503:0x417,_0x428b19:0x226,_0x3d8a3f:0x21d,_0x6e3100:0x413,_0xb744b5:0x434,_0x5a6fa6:0x282,_0x1e44fa:0x20e,_0x408eb8:0x3c4,_0x127720:0x2bd,_0x1c2b74:0x3f7,_0xbc1954:0x3f2,_0x1f99f4:0x3d7,_0x370613:0x3bf,_0x19c04d:0x23d,_0x5a1e64:0x3d9,_0x2e54ef:0x3c6,_0x6d977a:0x20a,_0x34e33a:0x1f9,_0x31decf:0x3d2,_0x1fbfc0:0x400,_0x48bbde:0x295,_0x1975ac:0x278,_0x973f5e:0x26a,_0x3c552e:0x229,_0x216139:0x246,_0x577031:0x245},_0xcf4c26={_0x100738:0xbb,_0x5336f4:0xfc},_0x2f36f3={_0x31242c:0x22e,_0x16b40a:0x26d,_0x523945:0x25d,_0x5012cd:0x23e,_0x14986:0x25b,_0x29c49e:0x285,_0x570bfe:0x28b},_0x4662a6={_0x1c36d7:0x3e7},_0x219ff8={_0x4490df:0x2e};if(!this[_0x335f4d(0x3cc,_0x2a919e._0x4b3dc8)]||this['stopAniamation'])return;const _0x387eb5=this['scene'];function _0x24b28e(_0xd574f,_0x4a8c6b){return _0x530326(_0x4a8c6b,_0xd574f- -0x665);}const _0x3efaa7=this[_0x335f4d(0x3bf,0x3ce)][_0x24b28e(-_0x2a919e._0xedf1c9,-0x1dc)],_0x1a260a=this[_0x335f4d(_0x2a919e._0x135503,0x3d7)]();if(this['isEnabledTime']()){if(void 0x0===_0x515fed)return void this['clear'](_0x1a260a);this[_0x24b28e(-_0x2a919e._0x428b19,-0x234)]==='2d'&&(_0x1a260a['save'](),_0x1a260a[_0x24b28e(-0x21a,-_0x2a919e._0x3d8a3f)]='destination-out',_0x1a260a['fillStyle']='rgba(0,\x200,\x200,\x20.1)',_0x1a260a['fillRect'](0x0,0x0,_0x1a260a['canvas']['width'],_0x1a260a[_0x335f4d(_0x2a919e._0x6e3100,_0x2a919e._0xb744b5)][_0x24b28e(-0x251,-_0x2a919e._0x5a6fa6)]),_0x1a260a['restore']());}else this['clear'](_0x1a260a);if(this['context']==='2d')for(const _0x1aac4a in this[_0x24b28e(-0x278,-0x2ae)]){_0x1a260a[_0x1aac4a]=this['options'][_0x1aac4a];}else _0x1a260a['clear'](_0x1a260a['COLOR_BUFFER_BIT']);function _0x335f4d(_0x2fc385,_0x21ca38){return _0x530326(_0x21ca38,_0x2fc385- -_0x219ff8._0x4490df);}const _0x3660b3={'transferCoordinate':function(_0x367f8d){const _0x45535a=null;let _0x34c635=_0x387eb5['mapvFixedHeight'];function _0x42995d(_0x5a409f,_0x485230){return _0x24b28e(_0x485230- -0x9,_0x5a409f);}function _0x2dee0c(_0x55179f,_0x513445){return _0x24b28e(_0x513445-_0x4662a6._0x1c36d7,_0x55179f);}_0x387eb5[_0x42995d(-_0x2f36f3._0x31242c,-_0x2f36f3._0x16b40a)]&&(_0x34c635=_0x387eb5['getHeight'](Cesium$1['Cartographic']['fromDegrees'](_0x367f8d[0x0],_0x367f8d[0x1])));const _0x4979be=Cesium$1['Cartesian3'][_0x2dee0c(0x1cc,0x1a1)](_0x367f8d[0x0],_0x367f8d[0x1],_0x34c635);if(!_0x4979be)return _0x45535a;const _0x54706d=mars3d__namespace[_0x2dee0c(0x1c4,0x1b9)]['toWindowCoordinates'](_0x387eb5,_0x4979be);if(!_0x54706d)return _0x45535a;if(_0x387eb5['mapvDepthTest']&&_0x387eb5['mode']===Cesium$1[_0x42995d(-_0x2f36f3._0x523945,-_0x2f36f3._0x5012cd)]['SCENE3D']){const _0x1d5b0e=new Cesium$1['EllipsoidalOccluder'](_0x387eb5[_0x42995d(-_0x2f36f3._0x14986,-_0x2f36f3._0x29c49e)]['ellipsoid'],_0x387eb5[_0x2dee0c(0x1ad,0x1db)][_0x42995d(-_0x2f36f3._0x570bfe,-0x24d)]),_0x3b1aa2=_0x1d5b0e['isPointVisible'](_0x4979be);if(!_0x3b1aa2)return _0x45535a;}return[_0x54706d['x'],_0x54706d['y']];}};void 0x0!==_0x515fed&&(_0x3660b3['filter']=function(_0x144d13){function _0x44bd79(_0x5461cd,_0x4580fa){return _0x24b28e(_0x4580fa-0x335,_0x5461cd);}const _0x393965=_0x3efaa7['trails']||0xa;return!!(_0x515fed&&_0x144d13[_0x44bd79(_0xcf4c26._0x100738,_0xcf4c26._0x5336f4)]>_0x515fed-_0x393965&&_0x144d13['time']<_0x515fed);});let _0x3db3fe;if(this['options']['draw']==='cluster'&&(!this['options']['maxClusterZoom']||this['options']['maxClusterZoom']>=this['getZoom']())){this[_0x24b28e(-0x234,-0x202)]['getExtent']();const _0x88ded=this[_0x24b28e(-0x25d,-0x231)](),_0x3af743=this['supercluster'][_0x24b28e(-0x249,-_0x2a919e._0x1e44fa)]([-0xb4,-0x5a,0xb4,0x5a],_0x88ded);this['pointCountMax']=this[_0x335f4d(0x3f7,_0x2a919e._0x408eb8)]['trees'][_0x88ded]['max'],this[_0x24b28e(-0x285,-_0x2a919e._0x127720)]=this[_0x335f4d(_0x2a919e._0x1c2b74,_0x2a919e._0xbc1954)]['trees'][_0x88ded][_0x335f4d(0x408,0x413)];let _0x48af92={},_0x2b4833=null,_0x3a78fd=null;if(this[_0x335f4d(0x3c9,0x396)]===this['pointCountMin'])_0x2b4833=this[_0x335f4d(0x3bf,_0x2a919e._0x1f99f4)][_0x335f4d(0x42d,0x420)],_0x3a78fd=this[_0x335f4d(_0x2a919e._0x370613,0x394)][_0x24b28e(-0x238,-0x264)]||0x8;else{const _0x26af3a={};_0x26af3a[_0x24b28e(-0x22f,-0x1f3)]=this['pointCountMin'],_0x26af3a['max']=this['pointCountMax'],_0x26af3a['minSize']=this['options']['minSize']||0x8,_0x26af3a['maxSize']=this['options'][_0x24b28e(-_0x2a919e._0x19c04d,-0x257)]||0x1e,_0x26af3a['gradient']=this['options']['gradient'],_0x48af92=new mapv__namespace[(_0x335f4d(_0x2a919e._0x5a1e64,0x3cf))](_0x26af3a);}for(let _0xc012c0=0x0;_0xc012c0<_0x3af743['length'];_0xc012c0++){const _0x21760c=_0x3af743[_0xc012c0];_0x21760c['properties']&&_0x21760c[_0x24b28e(-0x281,-0x25e)]['cluster_id']?(_0x3af743[_0xc012c0][_0x335f4d(_0x2a919e._0x2e54ef,0x397)]=_0x3a78fd||_0x48af92['getSize'](_0x21760c['properties']['point_count']),_0x3af743[_0xc012c0][_0x24b28e(-_0x2a919e._0x6d977a,-_0x2a919e._0x34e33a)]=_0x2b4833||_0x48af92[_0x335f4d(0x3ba,_0x2a919e._0x31decf)](_0x21760c['properties'][_0x335f4d(_0x2a919e._0x1fbfc0,0x41f)])):_0x3af743[_0xc012c0]['size']=this['options']['size'];}this['clusterDataSet']['set'](_0x3af743),_0x3db3fe=this['clusterDataSet']['get'](_0x3660b3);}else _0x3db3fe=this['dataSet'][_0x24b28e(-0x27b,-_0x2a919e._0x48bbde)](_0x3660b3);this['processData'](_0x3db3fe);this['options']['unit']==='m'&&this[_0x24b28e(-_0x2a919e._0x1975ac,-_0x2a919e._0x973f5e)]['size']&&(this['options'][_0x24b28e(-_0x2a919e._0x3c552e,-0x240)]=this['options']['size']);const _0x492e78=mars3d__namespace['PointTrans'][_0x24b28e(-0x268,-0x28a)](_0x387eb5,Cesium$1['Cartesian3'][_0x24b28e(-_0x2a919e._0x216139,-0x26c)](0x0,0x0));if(!_0x492e78)return;this['drawContext'](_0x1a260a,new mapv__namespace['DataSet'](_0x3db3fe),this['options'],_0x492e78),this['options']['updateCallback']&&this['options'][_0x24b28e(-0x252,-_0x2a919e._0x577031)](_0x515fed);}['updateData'](_0xf81075,_0x278f34){const _0xca06f2={_0x1b9f6b:0x2fd},_0x3d5e06={_0x1ec499:0x28e};let _0x1ebd52=_0xf81075;_0x1ebd52&&_0x1ebd52[_0x5950ae(0x2d1,_0xca06f2._0x1b9f6b)]&&(_0x1ebd52=_0x1ebd52['get']()),void 0x0!==_0x1ebd52&&this[_0x5950ae(0x307,0x321)]['set'](_0x1ebd52);function _0x5950ae(_0x229347,_0x235e35){return _0x530326(_0x229347,_0x235e35- -0xed);}function _0x28e5d3(_0x1c7e7c,_0x1531c0){return _0x48c429(_0x1c7e7c- -_0x3d5e06._0x1ec499,_0x1531c0);}const _0x219b52={};_0x219b52['options']=_0x278f34,super['update'](_0x219b52);}['addData'](_0x2f3ad8,_0x10218e){const _0x31f4c0={_0x314088:0x229,_0x2a4dbf:0x269,_0xebb0f9:0x1a8},_0x542230={_0x21fa68:0x5ba};function _0x4029af(_0x476389,_0x55313a){return _0x530326(_0x476389,_0x55313a- -_0x542230._0x21fa68);}function _0xa5588d(_0x503789,_0x483fce){return _0x530326(_0x483fce,_0x503789- -0x616);}let _0x531802=_0x2f3ad8;const _0x488fba={};_0x488fba[_0xa5588d(-_0x31f4c0._0x314088,-_0x31f4c0._0x2a4dbf)]=_0x10218e,(_0x2f3ad8&&_0x2f3ad8[_0x4029af(-0x1d1,-0x1d0)]&&(_0x531802=_0x2f3ad8['get']()),this[_0x4029af(-_0x31f4c0._0xebb0f9,-0x1ac)]['add'](_0x531802),this['update'](_0x488fba));}['getData'](){const _0x32637f={_0x51a00e:0x277};function _0x13e5fe(_0x52dd4a,_0x19922b){return _0x48c429(_0x19922b-0x88,_0x52dd4a);}return this[_0x13e5fe(_0x32637f._0x51a00e,0x259)];}[_0x530326(0x412,0x3fe)](_0xb17afc){const _0x277da5={_0x1449fd:0x274};function _0x9b0e04(_0x298306,_0x5a18a6){return _0x530326(_0x5a18a6,_0x298306- -0x42b);}function _0x1ce7c2(_0x2cd3b0,_0x1d5986){return _0x530326(_0x1d5986,_0x2cd3b0- -0x66a);}if(this['dataSet']){const _0x48dbf9=this[_0x1ce7c2(-0x25c,-0x260)]['get']({'filter':function(_0x4e4a65){return _0xb17afc==null||typeof _0xb17afc!=='function'||!_0xb17afc(_0x4e4a65);}});this['dataSet']['set'](_0x48dbf9);const _0x514507={};_0x514507[_0x1ce7c2(-0x27d,-_0x277da5._0x1449fd)]=null,this['update'](_0x514507);}}['clearData'](){const _0xee3206={_0x35cbe1:0x526,_0x120f55:0x16d},_0x3733cf={_0x53ce45:0x102};this['dataSet']&&this[_0x5a7563(0x510,_0xee3206._0x35cbe1)]['clear']();function _0x5a7563(_0x4f5da6,_0x53f2c8){return _0x530326(_0x53f2c8,_0x4f5da6-_0x3733cf._0x53ce45);}const _0x4a2641={};function _0x5b647e(_0x542d61,_0x3efa0e){return _0x48c429(_0x3efa0e- -0x387,_0x542d61);}_0x4a2641['options']=null,this[_0x5b647e(-_0xee3206._0x120f55,-0x172)](_0x4a2641);}[_0x48c429(0x1db,0x210)](){this['canvasLayer']['draw']();}[_0x530326(0x411,0x429)](_0xd4a33b){const _0xda685d={_0x563eb0:0x1bc};function _0x7fd775(_0x19b112,_0x5f1369){return _0x530326(_0x19b112,_0x5f1369- -0x5f1);}function _0x2e728e(_0x1d29fc,_0x20f137){return _0x48c429(_0x1d29fc- -0x2ec,_0x20f137);}_0xd4a33b&&_0xd4a33b[_0x7fd775(-_0xda685d._0x563eb0,-0x1e0)]&&_0xd4a33b[_0x7fd775(-0x1b1,-0x1e0)](0x0,0x0,_0xd4a33b['canvas'][_0x7fd775(-0x1c5,-0x1f1)],_0xd4a33b['canvas'][_0x2e728e(-0x115,-0xe2)]);}[_0x48c429(0x1cb,0x1e7)](){const _0x1945aa={_0xa46e5c:0x21c};function _0x450abb(_0x13f397,_0x32b489){return _0x530326(_0x32b489,_0x13f397- -0x659);}return this[_0x450abb(-0x228,-_0x1945aa._0xa46e5c)]['level'];}['destroy'](){const _0x23c0fd={_0x3e2a25:0x3a4,_0x14febd:0x36f,_0x3835f5:0x179};this[_0x48c05c(0x386,0x35d)](this['getContext']());function _0x48c05c(_0x4a8a8b,_0x191b92){return _0x48c429(_0x4a8a8b-0x19a,_0x191b92);}this['clearData'](),this[_0x48c05c(_0x23c0fd._0x3e2a25,_0x23c0fd._0x14febd)]&&this['animator']['stop'](),this[_0x48c05c(0x3a4,0x3a3)]=null;function _0x2b567b(_0x544817,_0xe54d3a){return _0x530326(_0xe54d3a,_0x544817- -0x573);}this[_0x2b567b(-_0x23c0fd._0x3835f5,-0x18f)]=null;}}if(mapv__namespace!==null&&mapv__namespace!==void 0x0&&mapv__namespace['DataSet'])mapv__namespace['DataSet']['prototype']['transferCoordinate']=function(_0x3f1aaa,_0x3998b9,_0x334119,_0x3f98e6){const _0x4a6f91={_0x145984:0x8d,_0x5a0a18:0xcc,_0x4a87d6:0x1a},_0x293c05={_0x3bf58f:0x4e3,_0x4fae66:0x3c},_0x2741f9={_0x210b1f:0xba};function _0x4e83c4(_0x2803c2,_0x4f9522){return _0x530326(_0x2803c2,_0x4f9522- -0x4e9);}_0x3f98e6=_0x3f98e6||_0x4e83c4(-0x8f,-0xb6),_0x334119=_0x334119||'coordinates';for(let _0x48f70c=0x0;_0x48f70c<_0x3f1aaa['length'];_0x48f70c++){const _0x533422=_0x3f1aaa[_0x48f70c][_0x4e83c4(-_0x4a6f91._0x145984,-_0x4a6f91._0x5a0a18)],_0x216512=_0x533422[_0x334119];switch(_0x533422['type']){case'Point':{const _0x3e3194=_0x3998b9(_0x216512);_0x3e3194?_0x533422[_0x3f98e6]=_0x3e3194:_0x533422[_0x3f98e6]=[-0x3e7,-0x3e7];}break;case'LineString':{const _0x6be0de=[];for(let _0x9f6ec2=0x0;_0x9f6ec2<_0x216512[_0x28720a(0xd,0x42)];_0x9f6ec2++){const _0x4ae5ae=_0x3998b9(_0x216512[_0x9f6ec2]);_0x4ae5ae&&_0x6be0de['push'](_0x4ae5ae);}_0x533422[_0x3f98e6]=_0x6be0de;}break;case'MultiLineString':case'Polygon':{const _0x592650=_0x54f36b(_0x216512);_0x533422[_0x3f98e6]=_0x592650;}break;case _0x28720a(-0x50,-_0x4a6f91._0x4a87d6):{const _0x1a3121=[];for(let _0x155a7c=0x0;_0x155a7c<_0x216512[_0x28720a(0x37,0x42)];_0x155a7c++){const _0x5f4db1=_0x54f36b(_0x216512[_0x155a7c]);_0x5f4db1['length']>0x0&&_0x1a3121['push'](_0x5f4db1);}_0x533422[_0x3f98e6]=_0x1a3121;}break;}}function _0x54f36b(_0x28306a){function _0x3b8171(_0x4e3a0e,_0x38b0b9){return _0x4e83c4(_0x38b0b9,_0x4e3a0e-_0x2741f9._0x210b1f);}const _0x1cd941=[];function _0x35811e(_0x226112,_0x22f686){return _0x4e83c4(_0x226112,_0x22f686-0x58e);}for(let _0x35bcfc=0x0;_0x35bcfc<_0x28306a['length'];_0x35bcfc++){const _0x3146d0=_0x28306a[_0x35bcfc],_0x377fde=[];for(let _0x551751=0x0;_0x551751<_0x3146d0['length'];_0x551751++){const _0x22e6fc=_0x3998b9(_0x3146d0[_0x551751]);_0x22e6fc&&_0x377fde[_0x35811e(_0x293c05._0x3bf58f,0x4d9)](_0x22e6fc);}_0x377fde['length']>0x0&&_0x1cd941[_0x3b8171(0x5,_0x293c05._0x4fae66)](_0x377fde);}return _0x1cd941;}function _0x28720a(_0x3f82a8,_0x313cf1){return _0x530326(_0x3f82a8,_0x313cf1- -0x3f6);}return _0x3f1aaa;};else throw new Error(_0x530326(0x465,0x450));const Cesium=mars3d__namespace[_0x48c429(0x1c7,0x1c2)],BaseLayer=mars3d__namespace['layer']['BaseLayer'];class MapVLayer extends BaseLayer{constructor(_0x856471,_0x48857e){const _0x3f2cf4={_0x19422d:0xaf};super(_0x856471),this['_pointerEvents']=this[_0x4a845d(0xb3,_0x3f2cf4._0x19422d)]['pointerEvents'];function _0x4a845d(_0x593d1a,_0x20880b){return _0x48c429(_0x20880b- -0x101,_0x593d1a);}this['dataSet']=_0x48857e||new mapv__namespace['DataSet'](_0x856471['data']),this['canvas']=null;}get['pointerEvents'](){return this['_pointerEvents'];}set[_0x48c429(0x1c6,0x201)](_0x40f065){const _0x3cc7d2={_0x57ccaf:0x122,_0x5ea44b:0x103,_0x14058c:0x116},_0xc96e0={_0x4f2a7f:0x563},_0x861b8b={_0x217a99:0x3fa};function _0x38729a(_0x1efb5e,_0x10b2b3){return _0x48c429(_0x1efb5e- -_0x861b8b._0x217a99,_0x10b2b3);}function _0x2e6951(_0xbbfa3,_0x4827a1){return _0x530326(_0x4827a1,_0xbbfa3- -_0xc96e0._0x4f2a7f);}this['_pointerEvents']=_0x40f065,this['canvas']&&(_0x40f065?this[_0x2e6951(-_0x3cc7d2._0x57ccaf,-_0x3cc7d2._0x5ea44b)]['style']['pointerEvents']=_0x38729a(-0x252,-0x291):this[_0x38729a(-0x1f6,-0x229)]['style']['pointerEvents']=_0x2e6951(-_0x3cc7d2._0x14058c,-0xff));}['_showHook'](_0x895571){const _0x195f29={_0xb95fcb:0xb9,_0x4d91df:0x9b,_0x52eff3:0x9f,_0x483514:0x6,_0x2227d5:0x10},_0x47b3fd={_0x2ef078:0x1c0};function _0x4c886b(_0x31b4c9,_0x479c8d){return _0x48c429(_0x31b4c9- -0x2ac,_0x479c8d);}function _0x3edb5e(_0x3e6ddb,_0x3b676d){return _0x48c429(_0x3b676d- -_0x47b3fd._0x2ef078,_0x3e6ddb);}_0x895571?this[_0x4c886b(-0xa8,-_0x195f29._0xb95fcb)][_0x4c886b(-_0x195f29._0x4d91df,-0xc4)][_0x4c886b(-0xdc,-_0x195f29._0x52eff3)]='block':this['canvas']['style'][_0x3edb5e(-_0x195f29._0x483514,_0x195f29._0x2227d5)]='none';}[_0x48c429(0x1b2,0x187)](){const _0x250789={_0x4cd2f3:0x223,_0x36da39:0x232,_0xfb5147:0x219},_0x111c8c={_0x287e3a:0x3c7};this[_0x1212cf(-0x20c,-0x218)][_0xc8f410(_0x250789._0x4cd2f3,0x221)]['mapvDepthTest']=this['options'][_0xc8f410(0x247,_0x250789._0x36da39)]??!![],this['_map']['scene']['mapvAutoHeight']=this['options']['clampToGround']??![];function _0xc8f410(_0x461c3d,_0x54e1ae){return _0x48c429(_0x54e1ae-0x2c,_0x461c3d);}function _0x1212cf(_0x58191e,_0x3286e9){return _0x48c429(_0x58191e- -_0x111c8c._0x287e3a,_0x3286e9);}this['_map']['scene'][_0x1212cf(-0x205,-_0x250789._0xfb5147)]=this[_0x1212cf(-0x217,-0x1ec)]['fixedHeight']??0x0;}[_0x48c429(0x1bf,0x19d)](){const _0x4b243={_0x163a50:0x1b3,_0x378908:0x1be,_0x454052:0x1ae,_0x426428:0x1d0,_0x5649a4:0x1ab};this['dataSet']&&(!this['dataSet']['_data']||this[_0x4995a4(0x27b,0x283)][_0x311b6e(0x1e8,_0x4b243._0x163a50)][_0x4995a4(0x280,0x2ad)]===0x0)&&(this['dataSet']['_data']=[]['concat'](this['dataSet']['_dataCache']));this[_0x311b6e(0x15e,0x166)]=new MapVRenderer(this['_map'],this['dataSet'],this['options'],this),this['initDevicePixelRatio']();function _0x311b6e(_0x36ca7f,_0x3b353d){return _0x530326(_0x36ca7f,_0x3b353d- -0x293);}this[_0x311b6e(_0x4b243._0x378908,_0x4b243._0x454052)]=this[_0x311b6e(_0x4b243._0x426428,_0x4b243._0x5649a4)](),this['render']=this['render']['bind'](this);function _0x4995a4(_0x58b9d2,_0x37b606){return _0x530326(_0x58b9d2,_0x37b606- -0x18b);}this['bindEvent'](),this['_reset']();}['_removedHook'](){const _0x194fb4={_0x2875c8:0x234,_0x1b581f:0x2ff,_0x53c6df:0x302},_0x44043d={_0x193dc1:0xfe};function _0x34d1bd(_0x537353,_0x22822e){return _0x48c429(_0x22822e-_0x44043d._0x193dc1,_0x537353);}this['unbindEvent']();function _0x4b455e(_0x30b8b0,_0x382b63){return _0x530326(_0x30b8b0,_0x382b63- -0x1f1);}this['_mapVRenderer']&&(this['_mapVRenderer']['destroy'](),this['_mapVRenderer']=null),this[_0x4b455e(_0x194fb4._0x2875c8,0x250)]['parentElement']['removeChild'](this[_0x34d1bd(_0x194fb4._0x1b581f,_0x194fb4._0x53c6df)]);}['initDevicePixelRatio'](){const _0xdc7782={_0x59f24d:0x26c},_0x287d72={_0x11314d:0x378};function _0x26e0f0(_0x42427a,_0x5339f){return _0x48c429(_0x42427a- -_0x287d72._0x11314d,_0x5339f);}function _0x29ae2a(_0x4b4ef0,_0x3befa1){return _0x48c429(_0x4b4ef0- -0x46c,_0x3befa1);}this[_0x26e0f0(-0x161,-0x178)]=window[_0x29ae2a(-0x255,-_0xdc7782._0x59f24d)]||0x1;}['bindEvent'](){const _0xbace25={_0x411a02:0x26a,_0x34386a:0x242,_0x3634f2:0x242,_0x36890a:0x232,_0x46bf71:0x1f0,_0x58d6e0:0x274,_0x590254:0x286,_0x58212f:0x26b,_0x33f77d:0x1d4,_0x45efc3:0x274,_0x3e40f5:0x291,_0x376343:0x257,_0xcbb3c6:0x2a4,_0x25f457:0x1ec,_0x102ec5:0x204},_0x116fe2={_0x2e11f6:0x42f};var _0x1fe3e0,_0x578ed8;this[_0x2370ab(-0x274,-0x245)]['on'](mars3d__namespace[_0x2370ab(-_0xbace25._0x411a02,-_0xbace25._0x34386a)][_0x2370ab(-_0xbace25._0x3634f2,-_0xbace25._0x36890a)],this['_onMoveStartEvent'],this);function _0x2370ab(_0x28affb,_0x2c9e00){return _0x48c429(_0x28affb- -_0x116fe2._0x2e11f6,_0x2c9e00);}this['_map']['on'](mars3d__namespace[_0x179a13(0x221,_0xbace25._0x46bf71)]['cameraMoveStart'],this['_onMoveStartEvent'],this),this[_0x2370ab(-_0xbace25._0x58d6e0,-0x244)]['on'](mars3d__namespace[_0x2370ab(-0x26a,-_0xbace25._0x590254)]['cameraMoveEnd'],this[_0x179a13(_0xbace25._0x58212f,0x23a)],this);(_0x1fe3e0=this['options'])!==null&&_0x1fe3e0!==void 0x0&&(_0x1fe3e0=_0x1fe3e0[_0x179a13(0x1e6,_0xbace25._0x33f77d)])!==null&&_0x1fe3e0!==void 0x0&&_0x1fe3e0['click']&&this[_0x2370ab(-_0xbace25._0x45efc3,-_0xbace25._0x3e40f5)]['on'](mars3d__namespace[_0x2370ab(-0x26a,-_0xbace25._0x376343)][_0x179a13(0x21d,0x1f8)],this['_onMapClick'],this);function _0x179a13(_0x50e0ab,_0x4b73af){return _0x48c429(_0x4b73af-0x2b,_0x50e0ab);}(_0x578ed8=this['options'])!==null&&_0x578ed8!==void 0x0&&(_0x578ed8=_0x578ed8[_0x2370ab(-0x286,-_0xbace25._0xcbb3c6)])!==null&&_0x578ed8!==void 0x0&&_0x578ed8['mousemove']&&this['_map']['on'](mars3d__namespace[_0x179a13(0x1fd,0x1f0)][_0x179a13(_0xbace25._0x25f457,_0xbace25._0x102ec5)],this['_onMapMouseMove'],this);}['unbindEvent'](){const _0x39b84e={_0x14b299:0x103,_0x423600:0x135,_0x52c523:0x9f,_0x87684f:0xdd,_0x572884:0xb8,_0x5da4a8:0x133,_0xdafdeb:0x97,_0x2bc0af:0x74,_0x25b051:0x134,_0x42de7e:0x109,_0x16b11b:0xad};var _0x47a98b,_0x31994f;this['_map'][_0x1502ca(-0xdd,-_0x39b84e._0x14b299)](mars3d__namespace['EventType'][_0x1502ca(-0x102,-0xc7)],this['_onMoveStartEvent'],this);function _0x4ab440(_0x437667,_0x27b5fa){return _0x48c429(_0x27b5fa- -0x264,_0x437667);}this['_map']['off'](mars3d__namespace['EventType'][_0x1502ca(-0x10a,-_0x39b84e._0x423600)],this['_onMoveStartEvent'],this),this['_map']['off'](mars3d__namespace[_0x4ab440(-0xb3,-_0x39b84e._0x52c523)]['cameraMoveEnd'],this[_0x1502ca(-0xe0,-0xf7)],this),this['_map'][_0x1502ca(-_0x39b84e._0x87684f,-_0x39b84e._0x572884)](mars3d__namespace['EventType']['postRender'],this['_reset'],this);(_0x47a98b=this[_0x1502ca(-0x13f,-_0x39b84e._0x5da4a8)])!==null&&_0x47a98b!==void 0x0&&(_0x47a98b=_0x47a98b['methods'])!==null&&_0x47a98b!==void 0x0&&_0x47a98b[_0x4ab440(-0x8a,-_0x39b84e._0xdafdeb)]&&this['_map']['off'](mars3d__namespace['EventType']['click'],this['_onMapClick'],this);function _0x1502ca(_0x335d22,_0x4766ca){return _0x530326(_0x4766ca,_0x335d22- -0x52c);}(_0x31994f=this[_0x4ab440(-_0x39b84e._0x2bc0af,-0xb4)])!==null&&_0x31994f!==void 0x0&&(_0x31994f=_0x31994f['methods'])!==null&&_0x31994f!==void 0x0&&_0x31994f['mousemove']&&this[_0x1502ca(-_0x39b84e._0x25b051,-_0x39b84e._0x42de7e)]['off'](mars3d__namespace[_0x4ab440(-_0x39b84e._0x16b11b,-0x9f)][_0x1502ca(-0x116,-0x13b)],this['_onMapMouseMove'],this);}[_0x530326(0x425,0x3e7)](){const _0x2ba1ff={_0x550c4b:0x238,_0x25a951:0x260,_0x5e3ef2:0x287},_0x4195ac={_0x337029:0x1b3};function _0x1d31be(_0x6801ad,_0x338013){return _0x48c429(_0x338013-0x283,_0x6801ad);}function _0x4dbb30(_0x334d63,_0x5a3331){return _0x530326(_0x334d63,_0x5a3331- -_0x4195ac._0x337029);}this['_mapVRenderer']&&(this[_0x1d31be(0x453,0x43f)][_0x4dbb30(0x272,_0x2ba1ff._0x550c4b)](),this['_map'][_0x4dbb30(_0x2ba1ff._0x25a951,0x29c)](mars3d__namespace['EventType']['postRender'],this['_reset'],this),this['_map']['on'](mars3d__namespace[_0x4dbb30(_0x2ba1ff._0x5e3ef2,0x24f)]['postRender'],this['_reset'],this));}['_onMoveEndEvent'](){const _0x4fc3f6={_0x12ee86:0x3};function _0x1ea689(_0x422f8a,_0x455dff){return _0x530326(_0x455dff,_0x422f8a- -0x3d4);}this['_mapVRenderer']&&(this['_map']['off'](mars3d__namespace[_0x1ea689(0x2e,_0x4fc3f6._0x12ee86)]['postRender'],this['_reset'],this),this['_mapVRenderer']['animatorMoveendEvent'](),this['_reset']());}[_0x530326(0x430,0x43b)](_0x386e5e,_0xe67eef){const _0x2bc9ca={_0x407a0d:0x3e9};this[_0x44a367(0x40f,_0x2bc9ca._0x407a0d)]();function _0x44a367(_0xe94828,_0x4b0a7e){return _0x530326(_0xe94828,_0x4b0a7e- -0x46);}this['_addedHook']();}['addData'](_0x1b0f29){const _0x3b5d6e={_0x5b8c71:0x292};function _0x47998a(_0x14cbb3,_0x2677dc){return _0x530326(_0x2677dc,_0x14cbb3- -0x68b);}this[_0x47998a(-_0x3b5d6e._0x5b8c71,-0x2af)]&&this['_mapVRenderer']['addData'](_0x1b0f29,this['options']);}['updateData'](_0x3e0dc0){function _0x5abebd(_0x48d8d6,_0x4718ff){return _0x48c429(_0x4718ff-0x14,_0x48d8d6);}this[_0x5abebd(0x1e0,0x1d0)]&&this['_mapVRenderer']['updateData'](_0x3e0dc0,this['options']);}['getData'](){const _0x33b76d={_0x24b56a:0x2b0,_0x2439cb:0x291,_0x1fa1e5:0x260},_0x1f1463={_0xf5445d:0x409};this['_mapVRenderer']&&(this['dataSet']=this[_0x172091(-_0x33b76d._0x24b56a,-_0x33b76d._0x2439cb)]['getData']());function _0x306c28(_0x35ce2c,_0x3dbc27){return _0x48c429(_0x3dbc27- -_0x1f1463._0xf5445d,_0x35ce2c);}function _0x172091(_0x434667,_0x3bf844){return _0x48c429(_0x434667- -0x46c,_0x3bf844);}return this[_0x306c28(-_0x33b76d._0x1fa1e5,-0x238)];}[_0x48c429(0x1c1,0x184)](_0x3cac89){const _0x43237f={_0x2cb54f:0x13c,_0x227392:0x19b,_0x15b16d:0x1ba},_0x1e92f0={_0x405c54:0x37b},_0x300ecd={_0x495f64:0x513};function _0x23eb8c(_0x49f98a,_0x1e715a){return _0x530326(_0x49f98a,_0x1e715a- -_0x300ecd._0x495f64);}function _0x313e7a(_0x4953ba,_0x9b13c9){return _0x48c429(_0x4953ba- -_0x1e92f0._0x405c54,_0x9b13c9);}this[_0x23eb8c(-_0x43237f._0x2cb54f,-0x11a)]&&this[_0x313e7a(-0x1bf,-_0x43237f._0x227392)][_0x313e7a(-_0x43237f._0x15b16d,-0x1e5)](_0x3cac89);}[_0x48c429(0x214,0x20c)](){const _0xdee1a4={_0x19c7ac:0x348};function _0x12169f(_0x527199,_0x4ced9f){return _0x48c429(_0x527199-_0xdee1a4._0x19c7ac,_0x4ced9f);}this['_mapVRenderer']&&this['_mapVRenderer'][_0x12169f(0x51d,0x55c)]();}['_createCanvas'](){const _0x1fdd76={_0x4d1be1:0x451,_0x3998a1:0x422,_0x1a4a35:0x48a,_0x12cf67:0x495,_0x3143bd:0x48b,_0x55e319:0x491,_0x444f98:0x36,_0x3d1827:0xa,_0x361523:0x416,_0x3c8dbe:0x446,_0x36a7c7:0x35,_0x170a2a:0x0,_0x1ea2c5:0x441,_0xd98a0e:0x430,_0x371b27:0x0},_0x1bb296={_0x2f5c4c:0x1b1},_0x374fc3={_0x55a288:0x43},_0x6319be=mars3d__namespace['DomUtil'][_0x52324d(_0x1fdd76._0x4d1be1,0x453)]('canvas',_0x3ecddf(-0x3d,-0xd),this['_map']['container']);_0x6319be['id']=this['id'],_0x6319be['style']['position']='absolute',_0x6319be['style']['top']=_0x52324d(0x410,_0x1fdd76._0x3998a1),_0x6319be['style'][_0x3ecddf(0xd,0x1e)]='0px',_0x6319be['width']=parseInt(this['_map'][_0x52324d(_0x1fdd76._0x1a4a35,0x484)][_0x52324d(0x42b,0x443)]),_0x6319be['height']=parseInt(this['_map'][_0x52324d(_0x1fdd76._0x12cf67,0x484)]['height']),_0x6319be[_0x3ecddf(0x4e,0x60)]['width']=this['_map'][_0x52324d(_0x1fdd76._0x3143bd,0x484)]['style'][_0x52324d(0x422,0x443)];function _0x52324d(_0x59066f,_0x110b83){return _0x530326(_0x59066f,_0x110b83-_0x374fc3._0x55a288);}_0x6319be[_0x52324d(0x4ca,_0x1fdd76._0x55e319)][_0x3ecddf(0x36,0x26)]=this[_0x3ecddf(-_0x1fdd76._0x444f98,_0x1fdd76._0x3d1827)]['canvas'][_0x3ecddf(0x4c,0x60)][_0x52324d(0x456,0x457)],_0x6319be[_0x3ecddf(0x52,0x60)][_0x52324d(_0x1fdd76._0x361523,_0x1fdd76._0x3c8dbe)]=this[_0x3ecddf(_0x1fdd76._0x36a7c7,_0x1fdd76._0x170a2a)]?_0x52324d(0x452,0x43e):'none';function _0x3ecddf(_0x1a9032,_0x26e188){return _0x48c429(_0x26e188- -_0x1bb296._0x2f5c4c,_0x1a9032);}_0x6319be['style'][_0x52324d(_0x1fdd76._0x1ea2c5,0x45e)]=this['options']['zIndex']??0x9;if(this['options']['context']==='2d'){const _0x105bda=this['devicePixelRatio'];_0x6319be['getContext'](this[_0x52324d(0x442,_0x1fdd76._0xd98a0e)]['context'])[_0x3ecddf(_0x1fdd76._0x371b27,0x29)](_0x105bda,_0x105bda);}return _0x6319be;}[_0x530326(0x40a,0x444)](){const _0x3f51f4={_0x465af0:0x7f},_0x11a5ec={_0x162a0e:0x3d4};this['resize']();function _0x4572a4(_0x3c0e18,_0x174409){return _0x530326(_0x174409,_0x3c0e18- -_0x11a5ec._0x162a0e);}this[_0x4572a4(_0x3f51f4._0x465af0,0x4f)]();}['draw'](){const _0x148a62={_0x5c23ba:0x141};function _0x380b22(_0x1b0fe3,_0x348a62){return _0x48c429(_0x1b0fe3- -0x348,_0x348a62);}this[_0x380b22(-_0x148a62._0x5c23ba,-0x165)]();}[_0x48c429(0x1fc,0x1e1)](){const _0x3b932b={_0x10156d:0xce,_0x354b14:0x108};function _0x140af7(_0x41a310,_0xf4d962){return _0x48c429(_0xf4d962- -0xab,_0x41a310);}this['_mapVRenderer']&&(this['_mapVRenderer']['destroy'](),this['_mapVRenderer']=null),this['canvas'][_0x140af7(_0x3b932b._0x10156d,_0x3b932b._0x354b14)]['removeChild'](this['canvas']);}['render'](){const _0x1e975c={_0x15dba5:0x512};function _0xc5ec1c(_0x3a474e,_0x185d90){return _0x530326(_0x3a474e,_0x185d90-0x119);}this[_0xc5ec1c(0x4ff,_0x1e975c._0x15dba5)]['_canvasUpdate']();}['resize'](){const _0x2870d9={_0x579a64:0x220,_0x3c52d2:0x19f,_0x2a9cab:0x1a1,_0x4aa10a:0x1fa,_0xea479e:0x21c,_0x17f405:0x39b,_0x2f79e7:0x3d9};function _0x5a8104(_0x38d3cf,_0x2c5a33){return _0x48c429(_0x2c5a33-0x1d5,_0x38d3cf);}function _0x2eb4a4(_0x4e5a87,_0x1a94ef){return _0x530326(_0x1a94ef,_0x4e5a87- -0x254);}if(this['canvas']){const _0x56c349=this['canvas'];_0x56c349['style'][_0x5a8104(0x3fc,0x3d5)]='absolute',_0x56c349[_0x2eb4a4(0x1fa,_0x2870d9._0x579a64)]['top']='0px',_0x56c349[_0x2eb4a4(0x1fa,0x1c3)]['left']=_0x2eb4a4(0x18b,_0x2870d9._0x3c52d2),_0x56c349['width']=parseInt(this[_0x2eb4a4(0x1a4,_0x2870d9._0x2a9cab)]['canvas']['width']),_0x56c349[_0x2eb4a4(0x1c0,0x1a1)]=parseInt(this['_map']['canvas'][_0x2eb4a4(0x1c0,0x1d8)]),_0x56c349['style']['width']=this['_map']['canvas']['style']['width'],_0x56c349[_0x2eb4a4(_0x2870d9._0x4aa10a,_0x2870d9._0xea479e)][_0x5a8104(_0x2870d9._0x17f405,0x3ac)]=this['_map'][_0x5a8104(_0x2870d9._0x2f79e7,0x3d9)][_0x5a8104(0x3ed,0x3e6)]['height'];}}[_0x530326(0x440,0x442)](_0x58f5e1){const _0x52b8e8={_0xd4146d:0x176,_0x4f6dc0:0x159},_0x45237d={_0xa23780:0x584};if(!this[_0x337849(-0x19b,-_0x52b8e8._0xd4146d)]||!this[_0x337849(-0x17a,-_0x52b8e8._0xd4146d)]['_data'])return;const _0x5f39dd={};_0x5f39dd['type']='FeatureCollection',_0x5f39dd['features']=this[_0x522fea(-0x12e,-0x119)]['_data'];const _0x5ed4fd=mars3d__namespace['Util']['getExtentByGeoJSON'](_0x5f39dd);function _0x522fea(_0x27247f,_0xfa7e85){return _0x48c429(_0xfa7e85- -0x2ea,_0x27247f);}if(!_0x5ed4fd)return;function _0x337849(_0x3824bf,_0x3c8f17){return _0x530326(_0x3824bf,_0x3c8f17- -_0x45237d._0xa23780);}return _0x58f5e1!==null&&_0x58f5e1!==void 0x0&&_0x58f5e1['isFormat']?_0x5ed4fd:Cesium['Rectangle']['fromDegrees'](_0x5ed4fd['xmin'],_0x5ed4fd['ymin'],_0x5ed4fd[_0x337849(-0x198,-_0x52b8e8._0x4f6dc0)],_0x5ed4fd['ymax']);}[_0x48c429(0x1c9,0x1f7)](_0x4e70fc){const _0x7e1da0={_0x57c488:0x38d};function _0x1f6621(_0x1ef5d2,_0x424ac1){return _0x48c429(_0x424ac1-0x18f,_0x1ef5d2);}this['_cache_event']=_0x4e70fc,this['_mapVRenderer']&&this['_mapVRenderer'][_0x1f6621(_0x7e1da0._0x57c488,0x36b)](_0x4e70fc['windowPosition'],_0x4e70fc);}[_0x48c429(0x21a,0x258)](_0x26975e){const _0x191d31={_0x555619:0x15e,_0x465505:0x1a2,_0x1489cf:0x188},_0x45cfb2={_0x278aeb:0x330},_0x5ee9f9={_0x3e0a20:0x6a};this['_cache_event']=_0x26975e;function _0x18c029(_0x30e991,_0x21a100){return _0x48c429(_0x30e991- -_0x5ee9f9._0x3e0a20,_0x21a100);}function _0x45327c(_0x25a1a9,_0x229daf){return _0x530326(_0x229daf,_0x25a1a9- -_0x45cfb2._0x278aeb);}this['_mapVRenderer']&&this['_mapVRenderer'][_0x18c029(_0x191d31._0x555619,0x15c)](_0x26975e[_0x18c029(_0x191d31._0x465505,_0x191d31._0x1489cf)],_0x26975e);}['on'](_0x5ade83,_0x1aab1d,_0x19187a){const _0x525e09={_0x1b2f96:0x470,_0x1e0931:0x495,_0x3a5e81:0x78,_0x53999f:0x8f,_0x18280c:0x74,_0x573441:0x494},_0x2d47e3={_0x28f4c8:0x1e6},_0x67b824={_0x11b7d8:0x241};this['options']['methods']=this[_0x46eec7(_0x525e09._0x1b2f96,_0x525e09._0x1e0931)]['methods']||{};function _0x3223d0(_0x3a09a0,_0x5af190){return _0x530326(_0x3a09a0,_0x5af190- -0x47a);}function _0x46eec7(_0x17a99d,_0x563ab8){return _0x48c429(_0x563ab8-0x2e5,_0x17a99d);}if(_0x5ade83===mars3d__namespace['EventType']['click'])this['options']['methods']['click']=_0x46bf4f=>{function _0x527137(_0x5df973,_0xc37200){return _0x46eec7(_0x5df973,_0xc37200- -_0x67b824._0x11b7d8);}function _0x2e2815(_0x46c318,_0x4155a7){return _0x46eec7(_0x46c318,_0x4155a7- -0x2b4);}if(_0x46bf4f){const _0x2aa02e={...this[_0x2e2815(0x1b3,0x1e0)]};_0x2aa02e[_0x527137(0x26c,0x281)]=this,_0x2aa02e['data']=_0x46bf4f,_0x1aab1d[_0x2e2815(0x1eb,_0x2d47e3._0x28f4c8)](_0x19187a)(_0x2aa02e);}},this[_0x3223d0(-0x8a,-0x82)]['on'](mars3d__namespace[_0x3223d0(-0x53,-_0x525e09._0x3a5e81)]['click'],this[_0x3223d0(-_0x525e09._0x53999f,-_0x525e09._0x18280c)],this);else _0x5ade83===mars3d__namespace['EventType']['mouseMove']&&(this[_0x46eec7(_0x525e09._0x573441,0x495)][_0x3223d0(-0x78,-0x94)]['mousemove']=_0x54afa3=>{const _0x42f2b3={_0x11a9d9:0x519};function _0x3d3083(_0x602c2a,_0x9931ba){return _0x3223d0(_0x9931ba,_0x602c2a-_0x42f2b3._0x11a9d9);}if(_0x54afa3){const _0x2ecbe4={...this[_0x3d3083(0x48b,0x4af)]};_0x2ecbe4['layer']=this,_0x2ecbe4['data']=_0x54afa3,_0x1aab1d['bind'](_0x19187a)(_0x2ecbe4);}},this[_0x46eec7(0x4a3,0x4a0)]['on'](mars3d__namespace['EventType']['mouseMove'],this['_onMapMouseMove'],this));return this;}['off'](_0x412e24,_0x26de43){const _0x4768d0={_0x34a5d3:0x483,_0x2548de:0x52f,_0x593462:0x52c,_0x42779c:0x502,_0x1a2d7c:0x434,_0x35ea0c:0x4f4},_0x3c0f20={_0x5449e8:0xe0};function _0x586ac4(_0x361179,_0x519eb1){return _0x530326(_0x519eb1,_0x361179-_0x3c0f20._0x5449e8);}if(_0x412e24===_0x48c4a0(_0x4768d0._0x34a5d3,0x453)){var _0x37e76b;this['_map'][_0x586ac4(_0x4768d0._0x2548de,_0x4768d0._0x593462)](_0x412e24,this[_0x48c4a0(0x47f,0x457)],this),(_0x37e76b=this[_0x586ac4(0x4cd,_0x4768d0._0x42779c)][_0x48c4a0(0x45f,_0x4768d0._0x1a2d7c)])!==null&&_0x37e76b!==void 0x0&&_0x37e76b[_0x586ac4(0x4c2,_0x4768d0._0x35ea0c)]&&delete this['options']['methods']['click'];}else{if(_0x412e24===_0x586ac4(0x4f6,0x4bc)){var _0x4c45e3;this['_map']['off'](_0x412e24,this['_onMapMouseMove'],this),(_0x4c45e3=this['options']['methods'])!==null&&_0x4c45e3!==void 0x0&&_0x4c45e3['mousemove']&&delete this['options']['methods']['mousemove'];}}function _0x48c4a0(_0x37c90b,_0x34e262){return _0x530326(_0x34e262,_0x37c90b-0x79);}return this;}}mars3d__namespace[_0x48c429(0x1ea,0x1f6)]['register']('mapv',MapVLayer),mars3d__namespace['layer'][_0x48c429(0x1d8,0x20b)]=MapVLayer;function _0x48c429(_0x7af9ec,_0x13b44e){const _0x595912={_0x2a6430:0x85};return _0x4896(_0x7af9ec-_0x595912._0x2a6430,_0x13b44e);}mars3d__namespace[_0x530326(0x436,0x41e)]=mapv__namespace,exports[_0x48c429(0x1d8,0x1f3)]=MapVLayer,Object[_0x530326(0x443,0x435)](mapv)['forEach'](function(_0x1f3d44){function _0x91b074(_0x3ef604,_0x46fd88){return _0x48c429(_0x3ef604- -0x3df,_0x46fd88);}if(_0x1f3d44!==_0x91b074(-0x23e,-0x206)&&!exports['hasOwnProperty'](_0x1f3d44))Object['defineProperty'](exports,_0x1f3d44,{'enumerable':!![],'get':function(){return mapv[_0x1f3d44];}});});const _0x391878={};_0x391878[_0x530326(0x40a,0x440)]=!![],Object[_0x48c429(0x21f,0x231)](exports,_0x48c429(0x218,0x202),_0x391878); +'use strict';(function(_0x1304e8,_0x5a5b8b){const _0x38402e={_0x4b8d15:0x1f9,_0x4eddf4:0x1d2,_0x8c064c:0x18c,_0x285feb:0xd8,_0x4fe965:0x12c,_0x304b37:0xcc,_0x1d9b8c:0x1b2},_0x23c397={_0x40dd59:0x383},_0x210a31={_0x1c4ba2:0x2b5};function _0x2f98e1(_0x2448ea,_0x418b7d){return _0x4753(_0x418b7d- -_0x210a31._0x1c4ba2,_0x2448ea);}const _0x51d136=_0x1304e8();function _0x50abfa(_0x2257c5,_0x54b829){return _0x4753(_0x2257c5- -_0x23c397._0x40dd59,_0x54b829);}while(!![]){try{const _0x7402d2=-parseInt(_0x50abfa(-_0x38402e._0x4b8d15,-_0x38402e._0x4eddf4))/0x1+parseInt(_0x50abfa(-0x1db,-0x198))/0x2*(parseInt(_0x2f98e1(-0x14d,-0x114))/0x3)+-parseInt(_0x50abfa(-0x1cd,-_0x38402e._0x8c064c))/0x4+-parseInt(_0x2f98e1(-0x99,-_0x38402e._0x285feb))/0x5*(parseInt(_0x2f98e1(-0x15e,-0x148))/0x6)+parseInt(_0x50abfa(-0x217,-0x219))/0x7+parseInt(_0x2f98e1(-_0x38402e._0x4fe965,-0xed))/0x8*(parseInt(_0x50abfa(-0x198,-0x1c8))/0x9)+-parseInt(_0x2f98e1(-_0x38402e._0x304b37,-0xd6))/0xa*(-parseInt(_0x50abfa(-0x1d3,-_0x38402e._0x1d9b8c))/0xb);if(_0x7402d2===_0x5a5b8b)break;else _0x51d136['push'](_0x51d136['shift']());}catch(_0x846af7){_0x51d136['push'](_0x51d136['shift']());}}}(_0x1cf2,0x718fa));function _0x1cf2(){const _0x227cfd=['ywXS','mJG4mdm1vhnYrMfr','DxbKyxrLrgf0yq','Bw91C2vTB3zLrxzLBNq','zhjHDW','C2v0','twfWvKXHEwvY','mZiZnZm1mMv3Be5zCq','x21HCfzszw5KzxjLCG','y29VCMrPBMf0zxm','BwLU','x21HCa','rxzLBNruExbL','DxrPBerHDgfsyw5NzuLUDgvUC2L0Eq','Aw5PDerLDMLJzvbPEgvSuMf0Aw8','BgvMDa','tgLUzvn0CMLUzW','Dw5PDa','Cg9ZDfjLBMrLCG','zgvMAw5LuhjVCgvYDhK','Cg9ZAxrPB24','y2X1C3rLCL9Pza','AxnfBMfIBgvKvgLTzq','B3b0Aw9UCW','z2v0wM9VBq','ntKZnNvKDKHqwa','zgf0yq','zgvMyxvSDa','C3r5Bgu','CMvTB3zLrgf0yq','yw5PBwf0B3jnB3zLzw5KrxzLBNq','yw5PBwf0Aw9U','z2v0q29UDgv4Da','ChjVDg90ExbL','Dw5IAw5KrxzLBNq','x2fKzgvKsg9VAW','CMvUzgvY','C3vWzxjJBhvZDgvY','yw5PBwf0B3i','yMLUza','z2v0rxH0zw50qNLhzw9ku09o','y2XLyxi','C3rLChnsyw5Nzq','zML4zwrizwLNAhq','vxrPBa','zMLSBfn0EwXL','mta4ndy1u0jxEvDo','D2LKDgG','mJiWuu9WD2Lo','x3nLDe9WDgLVBNniB29R','BwfYCZnKlw1HChy','Bw91C2veB3DU','y29Uy2f0','y2fTzxjHtw92zuvUza','rMvHDhvYzunVBgXLy3rPB24','x29Utw92zvn0yxj0rxzLBNq','y2fUDMfZ','BwfWDKf1Dg9izwLNAhq','ug9PBNruCMfUCW','x2nVB3jKAw5HDgvZ','oty2nNDlqM5HrW','x29Utw92zuvUzev2zw50','AgvPz2H0','ywrKrgf0yq','CMvZDg9Yzq','Bgf5zxi','C3rVCa','z2v0uMvJDgfUz2XL','y2XLyxjszwn0','otK3ntKXsfbote1x','mtu2B2XbrvvJ','zM9YrwfJAa','txvSDgLmAw5Lu3rYAw5N','B2zM','Cg9PBNrdB3vUDe1HEa','y2XPy2S','ywrKqw5PBwf0B3jfDMvUDa','x3nOB3DiB29R','zNvUy3rPB24','DxbKyxrLq2fSBgjHy2S','C2L6zq','x3jLC2v0','q09mt1jFqLvgrKvsx0jjva','x2nHy2HLx2v2zw50','y2XLyxjeyxrH','y2fTzxjHtw92zvn0yxj0','CMvTB3zLq2HPBgq','BwfW','q2vZAxvT','CgfYzw50rwXLBwvUDa','x2rHDgfdywnOzq','Bwv0Ag9KCW','mhb4','Cg9PBNrdB3vUDe1PBG','BwfWDG','ChvZAa','rgf0yvnLDa','z2vVBwv0CNK','z2v0q2X1C3rLCNm','mty1nJq1Avf2BgDd','DxbKyxrL','BwfWDKrLChrOvgvZDa','z2v0rgf0yq','DhjHAwXZ','Cg9PBNrLCKv2zw50CW','C2nLBMu','tgf5zxjvDgLS','zNjVBurLz3jLzxm','x2rHDge','zgv2AwnLugL4zwXsyxrPBW','z2v0u2L6zq','yxjNq2HLy2S','y2fUDMfZtgf5zxi','C2v0wKLUzgv4','z2v0','BgvUz3rO','C2f2zq','x29UtwfWtw91C2vnB3zL','Bwf4','txvSDgLqB2X5z29U','Bw91C2vTB3zL','q2fYDgvZAwfUmW','mJyXnZHqzNruEgq','x29UtwfWq2XPy2S','zhjHD0nVBNrLEhq','Ew1PBG','DMfSDwu','zwXSAxbZB2LK','DhjLzxm','mteYs0j3t0LU','C2nHBgu','CMvZAxPL','Bw91C2vnB3zL','zgf0yvnLDa','x3bVAw50zxjfDMvUDhm','y29UDgv4Da'];_0x1cf2=function(){return _0x227cfd;};return _0x1cf2();}function _interopNamespace(_0x4603e7){const _0x2efb41={_0x986df9:0x493};if(_0x4603e7&&_0x4603e7['__esModule'])return _0x4603e7;var _0xa583d8=Object['create'](null);return _0x4603e7&&Object['keys'](_0x4603e7)['forEach'](function(_0x36df5e){function _0x3130e3(_0xffc3ee,_0x177555){return _0x4753(_0xffc3ee-0x2d1,_0x177555);}if(_0x36df5e!=='default'){var _0xe3628e=Object['getOwnPropertyDescriptor'](_0x4603e7,_0x36df5e);Object[_0x3130e3(_0x2efb41._0x986df9,0x473)](_0xa583d8,_0x36df5e,_0xe3628e['get']?_0xe3628e:{'enumerable':!![],'get':function(){return _0x4603e7[_0x36df5e];}});}}),_0xa583d8['default']=_0x4603e7,_0xa583d8;}var mapv__namespace=_interopNamespace(mapv),mars3d__namespace=_interopNamespace(mars3d);const Cesium$1=mars3d__namespace['Cesium'],baiduMapLayer=mapv__namespace?mapv__namespace['baiduMapLayer']:null,BaseLayer$1=baiduMapLayer?baiduMapLayer['__proto__']:Function;class MapVRenderer extends BaseLayer$1{constructor(_0x41ab44,_0x409ecc,_0x2e3228,_0x4670cb){const _0x2c2611={_0x5bfbd2:0x3fc},_0x30d56c={_0xa8ab27:0x27e};super(_0x41ab44,_0x409ecc,_0x2e3228);if(!BaseLayer$1)return;this['map']=_0x41ab44,this[_0x5b3101(0x189,0x17b)]=_0x41ab44['scene'],this['dataSet']=_0x409ecc,_0x2e3228=_0x2e3228||{},this['init'](_0x2e3228),this[_0x392be7(_0x2c2611._0x5bfbd2,0x414)](_0x2e3228),this['initDevicePixelRatio']();function _0x392be7(_0x455490,_0x2a6311){return _0x4753(_0x2a6311-_0x30d56c._0xa8ab27,_0x455490);}this[_0x392be7(0x413,0x415)]=_0x4670cb,this['stopAniamation']=!0x1;function _0x5b3101(_0x174533,_0x190871){return _0x4753(_0x190871- -0x15,_0x174533);}this['animation']=_0x2e3228['animation'];}['initDevicePixelRatio'](){const _0x385566={_0x5a1279:0x2b1};function _0x2d0fd0(_0x585ef8,_0x959028){return _0x4753(_0x585ef8-0x11d,_0x959028);}this[_0x2d0fd0(_0x385566._0x5a1279,0x2c7)]=window['devicePixelRatio']||0x1;}[_0x30dcba(0x12f,0x162)](){}['animatorMovestartEvent'](){const _0x5e695e={_0x5a586c:0x2c4,_0x3fef04:0x30b},_0x1fc85a=this['options']['animation'];function _0x409e8c(_0x2a63c1,_0x23129a){return _0x30dcba(_0x2a63c1-0x2f2,_0x23129a);}function _0x52819b(_0xfa6950,_0x2b9880){return _0x30dcba(_0xfa6950-0x176,_0x2b9880);}this['isEnabledTime']()&&this[_0x52819b(0x307,_0x5e695e._0x5a586c)]&&(this['steps']['step']=_0x1fc85a[_0x52819b(_0x5e695e._0x3fef04,0x343)]['start']);}['animatorMoveendEvent'](){const _0x4a32f0={_0x30d917:0x543,_0x2941b2:0x51d,_0x2ed3d9:0x31c},_0x1a765f={_0x258add:0x3c2};function _0x4d1da0(_0x36424f,_0x1ac180){return _0x30dcba(_0x36424f-0x18b,_0x1ac180);}function _0x271ad3(_0x62756b,_0x351990){return _0x30dcba(_0x62756b-_0x1a765f._0x258add,_0x351990);}this[_0x271ad3(_0x4a32f0._0x30d917,_0x4a32f0._0x2941b2)]()&&this[_0x4d1da0(_0x4a32f0._0x2ed3d9,0x318)];}[_0x30dcba(0x18b,0x160)](){function _0x4938d0(_0x336f82,_0x24a4e4){return _0x4aa1c4(_0x24a4e4,_0x336f82-0x23c);}function _0x1b00d6(_0x5bf799,_0x2e0e33){return _0x4aa1c4(_0x2e0e33,_0x5bf799-0x106);}return this['canvasLayer'][_0x4938d0(0x3e7,0x41d)][_0x4938d0(0x3cf,0x3c9)](this['context']);}['init'](_0x38baac){const _0x34e379={_0x351adc:0x425,_0x470cef:0x433,_0x5df3f7:0xfa},_0xa16f57={_0xdf4e8e:0x2d2};function _0x25c598(_0x1c763a,_0x2567da){return _0x30dcba(_0x1c763a-_0xa16f57._0xdf4e8e,_0x2567da);}this['options']=_0x38baac,this['initDataRange'](_0x38baac),this['context']=this['options'][_0x17adef(0xe2,0xf6)]||'2d';Cesium$1['defined'](this['options']['zIndex'])&&this['canvasLayer']&&this['canvasLayer'][_0x17adef(0xcc,0xa3)]&&this[_0x25c598(_0x34e379._0x351adc,_0x34e379._0x470cef)][_0x17adef(0xcc,0xe0)](this[_0x17adef(_0x34e379._0x5df3f7,0xe7)]['zIndex']);function _0x17adef(_0x488982,_0x1eff34){return _0x4aa1c4(_0x1eff34,_0x488982- -0x90);}this['initAnimator']();}['_canvasUpdate'](_0x189db9){const _0x2a0c2d={_0x53df4c:0x12a,_0x5136b2:0x159,_0x3aca33:0x166,_0xca002:0x50a,_0x361df1:0x138,_0x1e279f:0x176,_0x17b017:0x127,_0x37c5ae:0x4e1,_0x3b11d5:0x516,_0x456313:0x16f,_0x569ba1:0x529,_0x4f1e30:0x4ec,_0x3d829c:0x132,_0x3bbed0:0x113,_0x36b21c:0xf0,_0x24e70a:0x10e,_0x4b77ff:0x525,_0x2db778:0x150,_0x4a67db:0x51f,_0x112711:0x562,_0x427d25:0x527,_0x2d14ef:0x524,_0x55a05b:0x12e,_0x9c75f5:0x53a,_0xb2f330:0x4f3,_0x3b99aa:0x4d9},_0x10ef5b={_0x2fc486:0x4c7},_0x123a78={_0x1d96bd:0x2a},_0x186b44={_0x2deaba:0x32},_0xbb9cab={_0x30bcbb:0x2d4,_0xb64188:0x1bd,_0x493ff9:0x1fc,_0x4a7992:0x22a,_0xd03967:0x1f6,_0x4f9731:0x210};if(!this[_0xc8f59c(0x4ed,0x4fa)]||this['stopAniamation'])return;const _0x2cc659=this['scene'],_0x238f71=this['options'][_0x2b28e9(0x13a,0x158)],_0x363901=this[_0x2b28e9(_0x2a0c2d._0x53df4c,_0x2a0c2d._0x5136b2)]();if(this['isEnabledTime']()){if(void 0x0===_0x189db9)return void this['clear'](_0x363901);this[_0x2b28e9(0x11b,0x138)]==='2d'&&(_0x363901[_0x2b28e9(0x110,0x125)](),_0x363901['globalCompositeOperation']='destination-out',_0x363901[_0x2b28e9(0x161,_0x2a0c2d._0x3aca33)]='rgba(0,\x200,\x200,\x20.1)',_0x363901['fillRect'](0x0,0x0,_0x363901[_0xc8f59c(0x553,0x54a)][_0x2b28e9(0x1aa,0x168)],_0x363901['canvas']['height']),_0x363901[_0xc8f59c(_0x2a0c2d._0xca002,0x4ca)]());}else this[_0xc8f59c(0x507,0x53b)](_0x363901);if(this[_0x2b28e9(0x114,_0x2a0c2d._0x361df1)]==='2d')for(const _0x13a7a8 in this['options']){_0x363901[_0x13a7a8]=this[_0x2b28e9(_0x2a0c2d._0x1e279f,0x150)][_0x13a7a8];}else _0x363901[_0x2b28e9(_0x2a0c2d._0x17b017,0x162)](_0x363901[_0xc8f59c(_0x2a0c2d._0x37c5ae,0x4dc)]);const _0x11fc94={'transferCoordinate':function(_0x257a75){const _0x2d1593=null;let _0x491283=_0x2cc659['mapvFixedHeight'];_0x2cc659['mapvAutoHeight']&&(_0x491283=_0x2cc659['getHeight'](Cesium$1['Cartographic'][_0x1a13dd(_0xbb9cab._0x30bcbb,0x2ff)](_0x257a75[0x0],_0x257a75[0x1])));const _0x4c8119=Cesium$1['Cartesian3'][_0x345848(_0xbb9cab._0xb64188,_0xbb9cab._0x493ff9)](_0x257a75[0x0],_0x257a75[0x1],_0x491283);function _0x1a13dd(_0x3fcd67,_0x158af6){return _0xc8f59c(_0x158af6,_0x3fcd67- -0x221);}function _0x345848(_0x3503ce,_0x4755cf){return _0xc8f59c(_0x3503ce,_0x4755cf- -0x2f9);}if(!_0x4c8119)return _0x2d1593;const _0x32170a=mars3d__namespace[_0x345848(_0xbb9cab._0x4a7992,0x253)]['toWindowCoordinates'](_0x2cc659,_0x4c8119);if(!_0x32170a)return _0x2d1593;if(_0x2cc659[_0x345848(0x21b,_0xbb9cab._0xd03967)]&&_0x2cc659['mode']===Cesium$1['SceneMode']['SCENE3D']){const _0x32737d=new Cesium$1['EllipsoidalOccluder'](_0x2cc659['globe'][_0x345848(0x1f4,_0xbb9cab._0x4f9731)],_0x2cc659['camera']['positionWC']),_0x2d36a4=_0x32737d['isPointVisible'](_0x4c8119);if(!_0x2d36a4)return _0x2d1593;}return[_0x32170a['x'],_0x32170a['y']];}};function _0xc8f59c(_0xe4e396,_0x43e800){return _0x4aa1c4(_0xe4e396,_0x43e800-0x39f);}function _0x2b28e9(_0x563ae0,_0x49b78a){return _0x30dcba(_0x49b78a- -_0x186b44._0x2deaba,_0x563ae0);}void 0x0!==_0x189db9&&(_0x11fc94['filter']=function(_0x3b6789){const _0x49b53d=_0x238f71[_0xfcb54e(_0x10ef5b._0x2fc486,0x4c0)]||0xa;function _0xfcb54e(_0x14194a,_0x487a61){return _0xc8f59c(_0x487a61,_0x14194a- -_0x123a78._0x1d96bd);}return!!(_0x189db9&&_0x3b6789['time']>_0x189db9-_0x49b53d&&_0x3b6789['time']<_0x189db9);});let _0x3aff62;if(this[_0xc8f59c(0x534,0x529)][_0xc8f59c(0x50e,_0x2a0c2d._0x3b11d5)]==='cluster'&&(!this[_0x2b28e9(_0x2a0c2d._0x456313,0x150)]['maxClusterZoom']||this[_0xc8f59c(0x538,_0x2a0c2d._0x569ba1)]['maxClusterZoom']>=this['getZoom']())){this[_0xc8f59c(_0x2a0c2d._0x4f1e30,0x4e1)]['getExtent']();const _0x5173f1=this[_0xc8f59c(0x569,0x52a)](),_0x16e601=this[_0x2b28e9(_0x2a0c2d._0x17b017,0x15e)][_0x2b28e9(_0x2a0c2d._0x3d829c,_0x2a0c2d._0x3bbed0)]([-0xb4,-0x5a,0xb4,0x5a],_0x5173f1);this['pointCountMax']=this['supercluster']['trees'][_0x5173f1][_0x2b28e9(0xe8,_0x2a0c2d._0x17b017)],this[_0x2b28e9(_0x2a0c2d._0x36b21c,_0x2a0c2d._0x24e70a)]=this['supercluster'][_0xc8f59c(_0x2a0c2d._0x4b77ff,0x50a)][_0x5173f1]['min'];let _0x47d007={},_0x2998c0=null,_0x1e3c70=null;if(this[_0x2b28e9(0x105,0xfb)]===this[_0x2b28e9(0x151,0x10e)])_0x2998c0=this['options']['fillStyle'],_0x1e3c70=this[_0x2b28e9(0x155,0x150)]['minSize']||0x8;else{const _0x2ea074={};_0x2ea074[_0x2b28e9(0x184,0x143)]=this['pointCountMin'],_0x2ea074['max']=this[_0xc8f59c(0x50f,0x4d4)],_0x2ea074['minSize']=this['options']['minSize']||0x8,_0x2ea074['maxSize']=this[_0x2b28e9(0x131,_0x2a0c2d._0x2db778)]['maxSize']||0x1e,_0x2ea074['gradient']=this['options']['gradient'],_0x47d007=new mapv__namespace[(_0xc8f59c(0x55e,_0x2a0c2d._0x4a67db))](_0x2ea074);}for(let _0x475ac3=0x0;_0x475ac3<_0x16e601['length'];_0x475ac3++){const _0x6561a=_0x16e601[_0x475ac3];_0x6561a['properties']&&_0x6561a['properties'][_0xc8f59c(_0x2a0c2d._0x112711,_0x2a0c2d._0x427d25)]?(_0x16e601[_0x475ac3]['size']=_0x1e3c70||_0x47d007[_0x2b28e9(0x131,0x11f)](_0x6561a['properties']['point_count']),_0x16e601[_0x475ac3][_0xc8f59c(0x554,0x53f)]=_0x2998c0||_0x47d007['getColor'](_0x6561a['properties']['point_count'])):_0x16e601[_0x475ac3]['size']=this['options'][_0xc8f59c(0x4d3,0x4da)];}this['clusterDataSet']['set'](_0x16e601),_0x3aff62=this['clusterDataSet']['get'](_0x11fc94);}else _0x3aff62=this['dataSet'][_0xc8f59c(_0x2a0c2d._0x2d14ef,0x4fc)](_0x11fc94);this['processData'](_0x3aff62);this[_0xc8f59c(0x4f4,_0x2a0c2d._0x569ba1)][_0x2b28e9(0x146,0x14a)]==='m'&&this[_0xc8f59c(0x500,_0x2a0c2d._0x569ba1)]['size']&&(this[_0x2b28e9(_0x2a0c2d._0x55a05b,_0x2a0c2d._0x2db778)]['_size']=this['options'][_0xc8f59c(0x497,0x4da)]);const _0x40a6b3=mars3d__namespace['PointTrans']['toWindowCoordinates'](_0x2cc659,Cesium$1[_0x2b28e9(0x15e,0x12a)]['fromDegrees'](0x0,0x0));if(!_0x40a6b3)return;this[_0xc8f59c(_0x2a0c2d._0x9c75f5,0x506)](_0x363901,new mapv__namespace['DataSet'](_0x3aff62),this['options'],_0x40a6b3),this['options'][_0xc8f59c(_0x2a0c2d._0xb2f330,_0x2a0c2d._0x3b99aa)]&&this[_0x2b28e9(0x16f,_0x2a0c2d._0x2db778)][_0x2b28e9(0x129,0x100)](_0x189db9);}[_0x4aa1c4(0x135,0x175)](_0x5d0c3d,_0x1c8cb3){const _0x293d7={_0x2af61d:0xb,_0x5bcfc7:0x511,_0x18619f:0x546};let _0x11dc4c=_0x5d0c3d;function _0xdb7bd4(_0x2daa7d,_0x3dcbc6){return _0x30dcba(_0x2daa7d- -0x160,_0x3dcbc6);}_0x11dc4c&&_0x11dc4c[_0xdb7bd4(-_0x293d7._0x2af61d,-0x23)]&&(_0x11dc4c=_0x11dc4c[_0x20dae1(_0x293d7._0x5bcfc7,0x51e)]()),void 0x0!==_0x11dc4c&&this['dataSet'][_0x20dae1(0x568,0x539)](_0x11dc4c);const _0x631166={};_0x631166[_0x20dae1(_0x293d7._0x18619f,0x54b)]=_0x1c8cb3;function _0x20dae1(_0x49139d,_0x4e5f96){return _0x4aa1c4(_0x49139d,_0x4e5f96-0x3c1);}super[_0x20dae1(0x4e3,0x510)](_0x631166);}['addData'](_0x54d5d2,_0x3120dd){let _0x122576=_0x54d5d2;function _0x3713ab(_0x37eb06,_0x1eeab9){return _0x4aa1c4(_0x37eb06,_0x1eeab9- -0x152);}const _0x53582d={};_0x53582d['options']=_0x3120dd,(_0x54d5d2&&_0x54d5d2[_0x3713ab(0xa,0xb)]&&(_0x122576=_0x54d5d2['get']()),this['dataSet']['add'](_0x122576),this['update'](_0x53582d));}[_0x30dcba(0x149,0x108)](){function _0x54b883(_0xaead62,_0x341ef1){return _0x4aa1c4(_0xaead62,_0x341ef1- -0x24b);}return this[_0x54b883(-0xf0,-0xdb)];}['removeData'](_0x34ead5){const _0x45827c={_0x25edc3:0x53f},_0x148ef6={_0x5d8668:0x3ca};if(this['dataSet']){const _0x55f55d=this['dataSet']['get']({'filter':function(_0x1d4e08){function _0x561eb5(_0x572485,_0x361c05){return _0x4753(_0x361c05-_0x148ef6._0x5d8668,_0x572485);}return _0x34ead5==null||typeof _0x34ead5!==_0x561eb5(0x509,_0x45827c._0x25edc3)||!_0x34ead5(_0x1d4e08);}});this['dataSet']['set'](_0x55f55d);const _0x266341={};_0x266341['options']=null,this['update'](_0x266341);}}['clearData'](){const _0x31cbc9={_0x2006bc:0x5c};this[_0x3b2bff(0xd8,0xbf)]&&this[_0x41eac3(0x6a,_0x31cbc9._0x2006bc)]['clear']();const _0x3f753e={};function _0x3b2bff(_0x11d1f7,_0xfcba5){return _0x4aa1c4(_0xfcba5,_0x11d1f7- -0x98);}_0x3f753e[_0x3b2bff(0xf2,0x12e)]=null;function _0x41eac3(_0x24891d,_0x3ba118){return _0x30dcba(_0x24891d- -0xfe,_0x3ba118);}this['update'](_0x3f753e);}[_0x30dcba(0x16f,0x15d)](){this['canvasLayer']['draw']();}[_0x30dcba(0x194,0x1d2)](_0x614210){const _0xe26bdd={_0x14d756:0x20b},_0xbd5e96={_0x5def8b:0xc8};function _0x2f14c7(_0x15dd28,_0x2f4e19){return _0x4aa1c4(_0x2f4e19,_0x15dd28- -0x2f7);}function _0x179f74(_0x3b8d1f,_0x23d5b1){return _0x4aa1c4(_0x23d5b1,_0x3b8d1f-_0xbd5e96._0x5def8b);}_0x614210&&_0x614210['clearRect']&&_0x614210[_0x2f14c7(-0x1c8,-_0xe26bdd._0x14d756)](0x0,0x0,_0x614210['canvas'][_0x2f14c7(-0x155,-0x188)],_0x614210[_0x2f14c7(-0x14c,-0x12e)]['height']);}[_0x30dcba(0x183,0x190)](){return this['map']['level'];}['destroy'](){const _0xb070b={_0x936ba9:0x92,_0x4c2d3e:0x84},_0xea0f6f={_0x399157:0x2d2};this[_0x57894f(-0xc0,-_0xb070b._0x936ba9)](this['getContext']());function _0x12421e(_0x2cd9fd,_0xb16997){return _0x30dcba(_0xb16997-_0xea0f6f._0x399157,_0x2cd9fd);}this['clearData'](),this[_0x57894f(-_0xb070b._0x4c2d3e,-0x95)]&&this['animator'][_0x12421e(0x437,0x3f7)]();function _0x57894f(_0x30f55b,_0x3e6b26){return _0x30dcba(_0x3e6b26- -0x226,_0x30f55b);}this['animator']=null,this['canvasLayer']=null;}}if(mapv__namespace!==null&&mapv__namespace!==void 0x0&&mapv__namespace['DataSet'])mapv__namespace['DataSet'][_0x30dcba(0x18c,0x15f)]['transferCoordinate']=function(_0x15acb3,_0x237479,_0x2f544a,_0x4f8549){const _0x48d47f={_0x3d5865:0xdf,_0x413d25:0x120,_0x8c9f9b:0xea,_0x36b9e3:0x15b,_0x9e0cd3:0x128,_0x3fe198:0x123},_0x3c4e4d={_0x223bf1:0x1f0},_0x37b5e3={_0xaaf905:0x2cd};_0x4f8549=_0x4f8549||_0x32de75(-0xcb,-0xad),_0x2f544a=_0x2f544a||_0x32de75(-0xb0,-_0x48d47f._0x3d5865);function _0x32de75(_0x47a65,_0x3f6b96){return _0x4aa1c4(_0x47a65,_0x3f6b96- -0x25b);}for(let _0x341e48=0x0;_0x341e48<_0x15acb3[_0x24dc4c(-_0x48d47f._0x413d25,-0x10f)];_0x341e48++){const _0x4e9055=_0x15acb3[_0x341e48][_0x24dc4c(-0x146,-0x121)],_0x4cc849=_0x4e9055[_0x2f544a];switch(_0x4e9055['type']){case'Point':{const _0x682ded=_0x237479(_0x4cc849);_0x682ded?_0x4e9055[_0x4f8549]=_0x682ded:_0x4e9055[_0x4f8549]=[-0x3e7,-0x3e7];}break;case _0x24dc4c(-0xf2,-_0x48d47f._0x8c9f9b):{const _0x1e64d3=[];for(let _0x5e7954=0x0;_0x5e7954<_0x4cc849['length'];_0x5e7954++){const _0x1cbb67=_0x237479(_0x4cc849[_0x5e7954]);_0x1cbb67&&_0x1e64d3['push'](_0x1cbb67);}_0x4e9055[_0x4f8549]=_0x1e64d3;}break;case _0x32de75(-_0x48d47f._0x36b9e3,-_0x48d47f._0x9e0cd3):case'Polygon':{const _0x2fd2ed=_0x595453(_0x4cc849);_0x4e9055[_0x4f8549]=_0x2fd2ed;}break;case _0x24dc4c(-0xd9,-0x10b):{const _0x2bb0bb=[];for(let _0x29b043=0x0;_0x29b043<_0x4cc849[_0x32de75(-0xca,-0xfd)];_0x29b043++){const _0x326de4=_0x595453(_0x4cc849[_0x29b043]);_0x326de4['length']>0x0&&_0x2bb0bb[_0x24dc4c(-0x130,-_0x48d47f._0x3fe198)](_0x326de4);}_0x4e9055[_0x4f8549]=_0x2bb0bb;}break;}}function _0x595453(_0x3892ba){function _0x4239bf(_0x296b1f,_0x1577a8){return _0x32de75(_0x296b1f,_0x1577a8-_0x37b5e3._0xaaf905);}const _0x29a75a=[];for(let _0x29a6b9=0x0;_0x29a6b9<_0x3892ba['length'];_0x29a6b9++){const _0xc586b5=_0x3892ba[_0x29a6b9],_0x98f876=[];for(let _0x5f254a=0x0;_0x5f254a<_0xc586b5['length'];_0x5f254a++){const _0x188938=_0x237479(_0xc586b5[_0x5f254a]);_0x188938&&_0x98f876['push'](_0x188938);}_0x98f876['length']>0x0&&_0x29a75a[_0x4239bf(_0x3c4e4d._0x223bf1,0x1bc)](_0x98f876);}return _0x29a75a;}function _0x24dc4c(_0x123484,_0x551006){return _0x30dcba(_0x551006- -0x265,_0x123484);}return _0x15acb3;};else throw new Error('请引入\x20mapv\x20库\x20');const Cesium=mars3d__namespace[_0x30dcba(0x13b,0x135)];function _0x30dcba(_0x19ee3f,_0x4b2987){return _0x4753(_0x19ee3f- -0x44,_0x4b2987);}const BaseLayer=mars3d__namespace['layer']['BaseLayer'];class MapVLayer extends BaseLayer{constructor(_0x465c0b,_0x1c6f9f){const _0x13a996={_0x33dfc0:0x38f,_0x46468b:0xca,_0x52c399:0x62,_0x5154a2:0x62},_0x297b5a={_0x5b7adf:0x229};function _0x14c019(_0x1e430b,_0x582244){return _0x4aa1c4(_0x1e430b,_0x582244-_0x297b5a._0x5b7adf);}super(_0x465c0b),this['_pointerEvents']=this[_0x14c019(_0x13a996._0x33dfc0,0x3b3)][_0x3496c1(-_0x13a996._0x46468b,-0x8c)],this[_0x3496c1(-0xad,-0xe4)]=_0x1c6f9f||new mapv__namespace[(_0x14c019(0x3b6,0x374))](_0x465c0b[_0x3496c1(-0x90,-_0x13a996._0x52c399)]);function _0x3496c1(_0x3be42e,_0x53b934){return _0x4aa1c4(_0x53b934,_0x3be42e- -0x21d);}this[_0x3496c1(-0x72,-_0x13a996._0x5154a2)]=null;}get[_0x4aa1c4(0x133,0x153)](){return this['_pointerEvents'];}set['pointerEvents'](_0x43d620){const _0x1d6b6a={_0x3df649:0x214,_0x3ee436:0x1dd,_0x5d0dae:0x223,_0x4521bc:0x1f6};function _0x18384e(_0x400ef1,_0x4c18b2){return _0x4aa1c4(_0x400ef1,_0x4c18b2- -0x3a2);}function _0x31d369(_0x4426fd,_0xb40ec2){return _0x30dcba(_0x4426fd- -0x37d,_0xb40ec2);}this[_0x31d369(-_0x1d6b6a._0x3df649,-_0x1d6b6a._0x3ee436)]=_0x43d620,this['canvas']&&(_0x43d620?this['canvas']['style']['pointerEvents']=_0x31d369(-0x212,-_0x1d6b6a._0x5d0dae):this['canvas'][_0x31d369(-_0x1d6b6a._0x4521bc,-0x215)]['pointerEvents']='none');}[_0x4aa1c4(0x15b,0x138)](_0xed2151){const _0x5ce7bc={_0x4bf812:0xee,_0x2afc47:0x12a,_0x4b2d44:0x1e9},_0x17a495={_0x4901b4:0xa1};function _0x2b046f(_0x33a787,_0x5b7f54){return _0x4aa1c4(_0x5b7f54,_0x33a787- -_0x17a495._0x4901b4);}function _0xcbfd30(_0x40d6c7,_0x847f){return _0x4aa1c4(_0x847f,_0x40d6c7- -0x394);}_0xed2151?this[_0x2b046f(0x10a,0x128)][_0x2b046f(_0x5ce7bc._0x4bf812,_0x5ce7bc._0x2afc47)]['display']='block':this[_0xcbfd30(-_0x5ce7bc._0x4b2d44,-0x202)][_0x2b046f(0xee,0xbe)]['display']='none';}['_mountedHook'](){const _0x42dd36={_0xe6dcd9:0xf1,_0x1fa6c6:0x11f},_0x4fdcb8={_0x5b407a:0x388},_0x1b4fad={_0x5dde68:0x5f};this[_0x90813c(-0x1cf,-0x20a)]['scene'][_0x49d6d6(_0x42dd36._0xe6dcd9,0x124)]=this[_0x90813c(-0x200,-0x1fe)]['depthTest']??!![],this['_map']['scene'][_0x90813c(-0x204,-0x1dc)]=this['options']['clampToGround']??![];function _0x49d6d6(_0x5d9969,_0x22b7e0){return _0x4aa1c4(_0x22b7e0,_0x5d9969- -_0x1b4fad._0x5dde68);}function _0x90813c(_0x5c070f,_0x351c00){return _0x4aa1c4(_0x5c070f,_0x351c00- -_0x4fdcb8._0x5b407a);}this[_0x49d6d6(_0x42dd36._0x1fa6c6,0x138)]['scene']['mapvFixedHeight']=this[_0x49d6d6(0x12b,0x124)][_0x90813c(-0x216,-0x1ea)]??0x0;}['_addedHook'](){const _0x1d66a1={_0x23fed1:0x38b,_0x49988d:0x1b5,_0x10848b:0x204,_0x286eda:0x21b,_0x2e734e:0x388},_0x1806cb={_0x201d09:0x86};function _0x52ea02(_0x146c6b,_0x42931b){return _0x4aa1c4(_0x146c6b,_0x42931b-_0x1806cb._0x201d09);}this['dataSet']&&(!this[_0xb94ec5(0x361,0x348)][_0xb94ec5(0x348,_0x1d66a1._0x23fed1)]||this['dataSet']['_data']['length']===0x0)&&(this['dataSet'][_0x52ea02(_0x1d66a1._0x49988d,0x1dd)]=[][_0xb94ec5(0x398,0x375)](this['dataSet'][_0xb94ec5(0x336,0x34a)]));this['_mapVRenderer']=new MapVRenderer(this[_0x52ea02(0x1d2,_0x1d66a1._0x10848b)],this['dataSet'],this[_0x52ea02(_0x1d66a1._0x286eda,0x210)],this);function _0xb94ec5(_0x2441c3,_0x517aa0){return _0x4aa1c4(_0x517aa0,_0x2441c3-0x1f1);}this[_0x52ea02(0x224,0x207)](),this['canvas']=this['_createCanvas'](),this[_0xb94ec5(_0x1d66a1._0x2e734e,0x38f)]=this['render'][_0xb94ec5(0x38b,0x39a)](this),this['bindEvent'](),this[_0x52ea02(0x1b1,0x1c2)]();}['_removedHook'](){const _0x30652f={_0x5d5751:0x3ad,_0x19d703:0x39c,_0x25aa72:0x39c,_0x168b4c:0x89,_0x2660bf:0x17,_0x3a634c:0x362,_0x4712cc:0x339},_0x54d20c={_0x564138:0x166};function _0x4626fd(_0x292453,_0x452089){return _0x4aa1c4(_0x452089,_0x292453-0x221);}function _0x3f3896(_0x13cdfc,_0x30d260){return _0x4aa1c4(_0x13cdfc,_0x30d260- -_0x54d20c._0x564138);}this[_0x4626fd(0x3b6,_0x30652f._0x5d5751)](),this['_mapVRenderer']&&(this[_0x4626fd(_0x30652f._0x19d703,0x363)]['destroy'](),this[_0x4626fd(_0x30652f._0x25aa72,0x3b7)]=null),this[_0x3f3896(_0x30652f._0x168b4c,0x45)][_0x3f3896(_0x30652f._0x2660bf,-0x22)][_0x4626fd(_0x30652f._0x3a634c,_0x30652f._0x4712cc)](this['canvas']);}['initDevicePixelRatio'](){const _0x41db54={_0x264a37:0x240};function _0x9b22b(_0x7044ba,_0x445cb8){return _0x4aa1c4(_0x7044ba,_0x445cb8-0xe8);}this['devicePixelRatio']=window[_0x9b22b(0x27d,_0x41db54._0x264a37)]||0x1;}['bindEvent'](){const _0x20510b={_0x2b78d7:0x435,_0x156ca2:0x26d,_0x293131:0x2ae,_0x4c61d6:0x286,_0x4e8c29:0x2eb,_0x4af205:0x27d,_0x218c73:0x276,_0x3b5c09:0x2ae,_0x1119c8:0x2b7},_0x327603={_0x483753:0x130};function _0x548745(_0x541384,_0x8466dd){return _0x30dcba(_0x8466dd-0x2cb,_0x541384);}var _0x3c0d7f,_0x3e0350;this['_map']['on'](mars3d__namespace['EventType'][_0x291b59(0x309,0x2d6)],this[_0x291b59(0x2fe,0x2da)],this),this[_0x291b59(0x293,0x2ae)]['on'](mars3d__namespace['EventType']['cameraMoveStart'],this[_0x548745(_0x20510b._0x2b78d7,0x46d)],this),this[_0x291b59(_0x20510b._0x156ca2,_0x20510b._0x293131)]['on'](mars3d__namespace[_0x291b59(_0x20510b._0x4c61d6,0x2af)]['cameraMoveEnd'],this['_onMoveEndEvent'],this);(_0x3c0d7f=this[_0x291b59(_0x20510b._0x4e8c29,0x2ba)])!==null&&_0x3c0d7f!==void 0x0&&(_0x3c0d7f=_0x3c0d7f['methods'])!==null&&_0x3c0d7f!==void 0x0&&_0x3c0d7f['click']&&this[_0x548745(0x454,0x441)]['on'](mars3d__namespace[_0x291b59(0x288,0x2af)][_0x291b59(_0x20510b._0x4af205,0x266)],this['_onMapClick'],this);function _0x291b59(_0x2b8abd,_0x5c33e5){return _0x4aa1c4(_0x2b8abd,_0x5c33e5-_0x327603._0x483753);}(_0x3e0350=this['options'])!==null&&_0x3e0350!==void 0x0&&(_0x3e0350=_0x3e0350['methods'])!==null&&_0x3e0350!==void 0x0&&_0x3e0350[_0x291b59(0x2a3,0x293)]&&this[_0x291b59(_0x20510b._0x218c73,_0x20510b._0x3b5c09)]['on'](mars3d__namespace[_0x291b59(_0x20510b._0x1119c8,0x2af)]['mouseMove'],this['_onMapMouseMove'],this);}[_0x4aa1c4(0x1ae,0x195)](){const _0x39be6b={_0x157805:0x39c,_0x2af5dc:0x2d7,_0x35167b:0x2ab,_0x570e87:0x3c5,_0xcf36b1:0x3cd,_0x36ca8c:0x2b7,_0x154c60:0x2cd,_0x3e0a94:0x2f5,_0x197e23:0x2ce,_0x960907:0x37d};var _0x129a60,_0x143455;this['_map']['off'](mars3d__namespace['EventType']['mouseDown'],this['_onMoveStartEvent'],this),this['_map']['off'](mars3d__namespace[_0x4a51dc(0x3dc,_0x39be6b._0x157805)][_0x23b1d8(_0x39be6b._0x2af5dc,_0x39be6b._0x35167b)],this['_onMoveStartEvent'],this),this['_map']['off'](mars3d__namespace['EventType'][_0x4a51dc(0x396,_0x39be6b._0x570e87)],this[_0x4a51dc(0x3eb,_0x39be6b._0xcf36b1)],this),this[_0x23b1d8(0x2ff,0x2e9)][_0x23b1d8(0x282,0x29f)](mars3d__namespace['EventType']['postRender'],this['_reset'],this);function _0x23b1d8(_0x2520e2,_0x48a8c0){return _0x30dcba(_0x48a8c0-0x173,_0x2520e2);}(_0x129a60=this[_0x23b1d8(_0x39be6b._0x36ca8c,0x2f5)])!==null&&_0x129a60!==void 0x0&&(_0x129a60=_0x129a60[_0x23b1d8(0x2db,0x2b1)])!==null&&_0x129a60!==void 0x0&&_0x129a60['click']&&this[_0x4a51dc(0x369,0x39b)]['off'](mars3d__namespace[_0x23b1d8(_0x39be6b._0x154c60,0x2ea)]['click'],this[_0x4a51dc(0x376,0x383)],this);function _0x4a51dc(_0x250173,_0x10493b){return _0x30dcba(_0x10493b-0x225,_0x250173);}(_0x143455=this[_0x23b1d8(0x2ff,_0x39be6b._0x3e0a94)])!==null&&_0x143455!==void 0x0&&(_0x143455=_0x143455['methods'])!==null&&_0x143455!==void 0x0&&_0x143455[_0x23b1d8(0x302,_0x39be6b._0x197e23)]&&this['_map']['off'](mars3d__namespace['EventType']['mouseMove'],this[_0x4a51dc(0x3b5,_0x39be6b._0x960907)],this);}['_onMoveStartEvent'](){const _0xf26016={_0x1e0076:0x3e2,_0x3f4796:0x3ad,_0x5f1beb:0x3b2};function _0x5bc527(_0x4b9764,_0x5d9675){return _0x4aa1c4(_0x5d9675,_0x4b9764-0x239);}function _0x3f12ce(_0x133c89,_0x4fda29){return _0x4aa1c4(_0x133c89,_0x4fda29-0x22d);}this['_mapVRenderer']&&(this[_0x3f12ce(_0xf26016._0x1e0076,0x3a8)]['animatorMovestartEvent'](),this[_0x3f12ce(_0xf26016._0x3f4796,0x3ab)]['off'](mars3d__namespace['EventType'][_0x3f12ce(0x39d,_0xf26016._0x5f1beb)],this['_reset'],this),this['_map']['on'](mars3d__namespace['EventType']['postRender'],this[_0x5bc527(0x375,0x339)],this));}[_0x4aa1c4(0x194,0x1b0)](){const _0x1a545f={_0x433fe1:0x75};function _0x152155(_0x359ce9,_0x5cd158){return _0x4aa1c4(_0x5cd158,_0x359ce9- -0xe8);}function _0x1bc93c(_0x4df077,_0x18bc61){return _0x4aa1c4(_0x18bc61,_0x4df077- -0xe2);}this['_mapVRenderer']&&(this['_map'][_0x152155(0x4c,0x1d)](mars3d__namespace['EventType'][_0x1bc93c(0xa3,0x97)],this['_reset'],this),this['_mapVRenderer'][_0x1bc93c(0xaf,_0x1a545f._0x433fe1)](),this['_reset']());}[_0x4aa1c4(0x17a,0x1a4)](_0x41069d,_0x848d3e){const _0x229095={_0x15021e:0x2e1};this['_removedHook']();function _0x52c9a6(_0x4464d7,_0x2fa596){return _0x30dcba(_0x2fa596-0x11a,_0x4464d7);}this[_0x52c9a6(_0x229095._0x15021e,0x2a8)]();}['addData'](_0x1addd4){const _0x5d4c6d={_0x4e06c4:0x413,_0x4ee754:0x442,_0x33c8e4:0x188};function _0x5b6d64(_0xc37544,_0x138229){return _0x30dcba(_0xc37544-0x66,_0x138229);}function _0x5ed914(_0x5a4a68,_0x88ac3e){return _0x30dcba(_0x5a4a68-0x2a0,_0x88ac3e);}this[_0x5ed914(_0x5d4c6d._0x4e06c4,_0x5d4c6d._0x4ee754)]&&this['_mapVRenderer'][_0x5b6d64(_0x5d4c6d._0x33c8e4,0x19f)](_0x1addd4,this['options']);}['updateData'](_0x506713){const _0x29e937={_0x3a1d41:0x290};function _0x23bc67(_0x2e2f16,_0x25d922){return _0x4aa1c4(_0x25d922,_0x2e2f16- -_0x29e937._0x3a1d41);}this['_mapVRenderer']&&this[_0x23bc67(-0x115,-0x13d)]['updateData'](_0x506713,this['options']);}[_0x4aa1c4(0x113,0x151)](){const _0x3bbed2={_0x390a4c:0x9};this[_0x27f32e(-0x6,0x2a)]&&(this['dataSet']=this[_0x27f32e(_0x3bbed2._0x390a4c,0x2a)]['getData']());function _0x28e1df(_0x1049a5,_0x3f725a){return _0x30dcba(_0x3f725a-0x9b,_0x1049a5);}function _0x27f32e(_0x429741,_0x28835c){return _0x4aa1c4(_0x429741,_0x28835c- -0x151);}return this['dataSet'];}[_0x4aa1c4(0x1b7,0x190)](_0x54f170){function _0x911320(_0x480e6b,_0x8a7758){return _0x30dcba(_0x480e6b- -0x276,_0x8a7758);}function _0x114e66(_0x374c20,_0x2fc801){return _0x4aa1c4(_0x374c20,_0x2fc801-0x3b3);}this['_mapVRenderer']&&this[_0x911320(-0x103,-0xdf)][_0x114e66(0x566,0x543)](_0x54f170);}['removeAllData'](){const _0xeabccc={_0x1207a7:0x293,_0x18ea38:0x257};function _0x2f5de2(_0x231bb6,_0x6287e9){return _0x30dcba(_0x231bb6-0x120,_0x6287e9);}function _0x34f56e(_0x561549,_0x1d686e){return _0x4aa1c4(_0x1d686e,_0x561549-0x1e4);}this[_0x2f5de2(_0xeabccc._0x1207a7,0x29c)]&&this[_0x34f56e(0x35f,0x35d)][_0x2f5de2(_0xeabccc._0x18ea38,0x221)]();}['_createCanvas'](){const _0xe08e3={_0x22c7d3:0x386,_0x512c61:0x35a,_0x5b2fcf:0x363,_0x4791a7:0x2e9,_0x2150b8:0x328,_0x28610f:0x35,_0x5a27b1:0x385,_0x46e19a:0x383,_0x4ebda8:0x370,_0x32b1bd:0x392,_0x811eb0:0x68,_0x20fb74:0x352,_0x4b971c:0x80,_0x51499a:0x85,_0x49d189:0x36b,_0x337c6e:0x346},_0x5a0f54={_0x48bbe4:0x1ef},_0x172490={_0x346cfa:0x1e9};function _0x3800ab(_0xb74935,_0x56fe4b){return _0x30dcba(_0x56fe4b-_0x172490._0x346cfa,_0xb74935);}const _0x187cb7=mars3d__namespace['DomUtil']['create'](_0x1d7509(-0x56,-0x4c),_0x3800ab(0x3bf,_0xe08e3._0x22c7d3),this['_map']['container']);_0x187cb7['id']=this['id'],_0x187cb7['style']['position']='absolute',_0x187cb7[_0x3800ab(0x3a8,0x370)]['top']='0px',_0x187cb7['style'][_0x3800ab(_0xe08e3._0x512c61,_0xe08e3._0x5b2fcf)]=_0x3800ab(_0xe08e3._0x4791a7,_0xe08e3._0x2150b8),_0x187cb7['width']=parseInt(this['_map'][_0x1d7509(-0x3d,-0x4c)]['width']);function _0x1d7509(_0x233ad8,_0x193c5d){return _0x30dcba(_0x193c5d- -_0x5a0f54._0x48bbe4,_0x233ad8);}_0x187cb7['height']=parseInt(this['_map'][_0x1d7509(-_0xe08e3._0x28610f,-0x4c)]['height']),_0x187cb7[_0x1d7509(-0x68,-0x68)]['width']=this['_map']['canvas']['style'][_0x3800ab(_0xe08e3._0x5a27b1,_0xe08e3._0x46e19a)],_0x187cb7[_0x3800ab(0x3ab,_0xe08e3._0x4ebda8)][_0x3800ab(0x3c1,_0xe08e3._0x32b1bd)]=this['_map']['canvas'][_0x1d7509(-0x3c,-_0xe08e3._0x811eb0)][_0x3800ab(0x381,_0xe08e3._0x32b1bd)],_0x187cb7['style']['pointerEvents']=this[_0x3800ab(0x31a,_0xe08e3._0x20fb74)]?'auto':'none',_0x187cb7['style']['zIndex']=this['options']['zIndex']??0x9;if(this[_0x3800ab(0x33d,0x36b)][_0x1d7509(-_0xe08e3._0x4b971c,-_0xe08e3._0x51499a)]==='2d'){const _0x408ddf=this['devicePixelRatio'];_0x187cb7['getContext'](this[_0x3800ab(0x389,_0xe08e3._0x49d189)][_0x3800ab(0x354,0x353)])[_0x3800ab(_0xe08e3._0x337c6e,0x34e)](_0x408ddf,_0x408ddf);}return _0x187cb7;}['_reset'](){const _0x37b9d1={_0x5a0af9:0x112};function _0x1661f4(_0x32a77a,_0x47ff9b){return _0x30dcba(_0x47ff9b- -0x54,_0x32a77a);}this[_0x1661f4(0x117,_0x37b9d1._0x5a0af9)](),this['render']();}[_0x4aa1c4(0x1b2,0x177)](){const _0x567dd9={_0x57b717:0x55};function _0x4aed17(_0x234993,_0xd98d5a){return _0x30dcba(_0x234993-_0x567dd9._0x57b717,_0xd98d5a);}this[_0x4aed17(0x189,0x14f)]();}['remove'](){const _0xf35f95={_0x4076e2:0x19a,_0x351342:0x1a4},_0x5367a0={_0x94b9a4:0xe9};function _0x264489(_0x76996f,_0x2089cf){return _0x30dcba(_0x2089cf-_0x5367a0._0x94b9a4,_0x76996f);}this['_mapVRenderer']&&(this['_mapVRenderer']['destroy'](),this[_0x368900(-0x162,-_0xf35f95._0x4076e2)]=null);function _0x368900(_0x3f4220,_0x4b6422){return _0x4aa1c4(_0x3f4220,_0x4b6422- -0x315);}this['canvas']['parentElement'][_0x264489(0x23e,0x222)](this[_0x368900(-_0xf35f95._0x351342,-0x16a)]);}['render'](){this['_mapVRenderer']['_canvasUpdate']();}[_0x30dcba(0x166,0x188)](){const _0x415d40={_0x39aa37:0x481,_0x2ba19b:0x4af,_0x88b640:0x372,_0x21cbc2:0x37a,_0x3adcfc:0x481,_0xc6db33:0x454,_0xda444:0x489,_0x363dd4:0x481,_0x41014e:0x395,_0x31110b:0x465,_0x3ae12c:0x36c,_0x56c507:0x39c,_0x4fd688:0x494,_0xc76acb:0x365,_0x27c8e9:0x390};function _0x5de20b(_0x1bd62d,_0x3a020b){return _0x30dcba(_0x3a020b-0x2de,_0x1bd62d);}function _0x563f37(_0x8a1ec1,_0x1cc4d8){return _0x30dcba(_0x1cc4d8-0x1f3,_0x8a1ec1);}if(this[_0x5de20b(0x440,_0x415d40._0x39aa37)]){const _0x149ed9=this[_0x5de20b(_0x415d40._0x2ba19b,0x481)];_0x149ed9['style'][_0x563f37(0x34e,_0x415d40._0x88b640)]='absolute',_0x149ed9['style']['top']='0px',_0x149ed9[_0x563f37(0x37b,_0x415d40._0x21cbc2)][_0x563f37(0x329,0x36d)]='0px',_0x149ed9['width']=parseInt(this[_0x5de20b(_0x415d40._0x3adcfc,_0x415d40._0xc6db33)][_0x5de20b(_0x415d40._0xda444,0x481)][_0x563f37(0x372,0x38d)]),_0x149ed9['height']=parseInt(this['_map'][_0x5de20b(0x45d,_0x415d40._0x363dd4)]['height']),_0x149ed9['style'][_0x563f37(_0x415d40._0x41014e,0x38d)]=this['_map'][_0x563f37(0x358,0x396)][_0x5de20b(0x46f,_0x415d40._0x31110b)]['width'],_0x149ed9['style'][_0x563f37(_0x415d40._0x3ae12c,_0x415d40._0x56c507)]=this[_0x5de20b(_0x415d40._0x4fd688,_0x415d40._0xc6db33)][_0x563f37(_0x415d40._0xc76acb,0x396)][_0x5de20b(0x431,0x465)][_0x563f37(_0x415d40._0x27c8e9,0x39c)];}}[_0x4aa1c4(0x169,0x12e)](_0x5e5e78){const _0xa124a2={_0x3cf61f:0x234,_0x3fb1dd:0x76,_0x1de929:0x226};function _0x4fb1bc(_0x9fb661,_0x30e99b){return _0x4aa1c4(_0x9fb661,_0x30e99b- -0x215);}if(!this['dataSet']||!this['dataSet']['_data'])return;const _0x15c947={};_0x15c947['type']=_0x406368(_0xa124a2._0x3cf61f,0x207),_0x15c947['features']=this['dataSet'][_0x406368(0x1e2,0x1ef)];const _0x475e78=mars3d__namespace[_0x4fb1bc(-0x50,-_0xa124a2._0x3fb1dd)][_0x406368(_0xa124a2._0x1de929,0x1f4)](_0x15c947);function _0x406368(_0x1c621d,_0x52fba5){return _0x4aa1c4(_0x52fba5,_0x1c621d-0x8b);}if(!_0x475e78)return;return _0x5e5e78!==null&&_0x5e5e78!==void 0x0&&_0x5e5e78['isFormat']?_0x475e78:Cesium['Rectangle'][_0x406368(0x1e1,0x1af)](_0x475e78['xmin'],_0x475e78[_0x406368(0x1f3,0x211)],_0x475e78['xmax'],_0x475e78['ymax']);}['_onMapClick'](_0x3a6ca1){const _0x492c7a={_0x12d003:0x43f};this[_0x1a5d2b(0x41d,_0x492c7a._0x12d003)]=_0x3a6ca1;function _0x1a5d2b(_0x17959b,_0x59e0e7){return _0x4aa1c4(_0x17959b,_0x59e0e7-0x301);}this['_mapVRenderer']&&this['_mapVRenderer']['clickEvent'](_0x3a6ca1['windowPosition'],_0x3a6ca1);}['_onMapMouseMove'](_0x46dbda){const _0x100e02={_0x170513:0x233};function _0x453f29(_0x542af9,_0x50ffe6){return _0x30dcba(_0x50ffe6-0x316,_0x542af9);}this['_cache_event']=_0x46dbda;function _0x4621a0(_0x891695,_0x757ad){return _0x4aa1c4(_0x757ad,_0x891695- -_0x100e02._0x170513);}this['_mapVRenderer']&&this[_0x4621a0(-0xb8,-0x84)][_0x453f29(0x481,0x484)](_0x46dbda['windowPosition'],_0x46dbda);}['on'](_0x39672a,_0x2166e,_0x5007db){const _0x36f7c6={_0x59d116:0x181,_0x34d4f3:0x471,_0x1ad29f:0x4a9,_0x7ad161:0x49e,_0x42a169:0x13d,_0x1e17dd:0x138,_0x344b19:0x151,_0x39e6b4:0x1aa},_0x1d03e5={_0x365c1e:0x263,_0x54d6f1:0x2a7,_0x1855e:0x2a6},_0x559442={_0x3f4a52:0x2c},_0x32aa42={_0x1f1c5a:0x20f,_0x1fcd4d:0x1d4},_0xd0adb7={_0x5dd7a2:0x32a};function _0x13d6fe(_0x4f53d2,_0x43fc24){return _0x4aa1c4(_0x43fc24,_0x4f53d2-_0xd0adb7._0x5dd7a2);}function _0x310c95(_0x5f4f89,_0x4f3253){return _0x4aa1c4(_0x4f3253,_0x5f4f89- -0x9);}this['options']['methods']=this[_0x310c95(_0x36f7c6._0x59d116,0x151)]['methods']||{};if(_0x39672a===mars3d__namespace['EventType']['click'])this[_0x13d6fe(0x4b4,0x4ec)][_0x13d6fe(0x470,_0x36f7c6._0x34d4f3)]['click']=_0x18cf17=>{const _0x152324={_0x49d487:0x1af};function _0x44020a(_0x5162af,_0x5ace9d){return _0x310c95(_0x5162af- -0x393,_0x5ace9d);}function _0x55ccb3(_0x558511,_0x462e66){return _0x310c95(_0x558511-_0x152324._0x49d487,_0x462e66);}if(_0x18cf17){const _0x421c9c={...this['_cache_event']};_0x421c9c[_0x44020a(-0x270,-0x29b)]=this,_0x421c9c[_0x44020a(-_0x32aa42._0x1f1c5a,-_0x32aa42._0x1fcd4d)]=_0x18cf17,_0x2166e['bind'](_0x5007db)(_0x421c9c);}},this['_map']['on'](mars3d__namespace[_0x13d6fe(0x4a9,0x46f)]['click'],this['_onMapClick'],this);else _0x39672a===mars3d__namespace[_0x13d6fe(_0x36f7c6._0x1ad29f,_0x36f7c6._0x7ad161)]['mouseMove']&&(this[_0x310c95(0x181,0x17d)][_0x310c95(_0x36f7c6._0x42a169,_0x36f7c6._0x1e17dd)][_0x310c95(0x15a,_0x36f7c6._0x344b19)]=_0x3233fb=>{function _0x3d76e5(_0x374aae,_0x9a99fe){return _0x13d6fe(_0x9a99fe-_0x559442._0x3f4a52,_0x374aae);}function _0x39303e(_0x3cc29b,_0x112518){return _0x310c95(_0x112518-0x115,_0x3cc29b);}if(_0x3233fb){const _0x54d8a6={...this[_0x39303e(_0x1d03e5._0x365c1e,0x24a)]};_0x54d8a6['layer']=this,_0x54d8a6['data']=_0x3233fb,_0x2166e[_0x39303e(_0x1d03e5._0x54d6f1,_0x1d03e5._0x1855e)](_0x5007db)(_0x54d8a6);}},this[_0x310c95(0x175,_0x36f7c6._0x39e6b4)]['on'](mars3d__namespace['EventType']['mouseMove'],this['_onMapMouseMove'],this));return this;}['off'](_0x3d48e1,_0x1ba21e){const _0x4b813a={_0x4c6223:0x3c0,_0x2d961d:0x3ff,_0x57c59c:0x1af,_0x1c440f:0x3a6,_0x597ce7:0x1e0,_0x1a7eec:0x18c,_0x19f71a:0x3ef};function _0x380e2a(_0x172292,_0x51d6fb){return _0x30dcba(_0x51d6fb-0x4e,_0x172292);}if(_0x3d48e1==='click'){var _0x52b4d5;this['_map']['off'](_0x3d48e1,this[_0x380e2a(0x1e0,0x1ac)],this),(_0x52b4d5=this['options'][_0x15023a(_0x4b813a._0x4c6223,_0x4b813a._0x2d961d)])!==null&&_0x52b4d5!==void 0x0&&_0x52b4d5['mousemove']&&delete this['options']['methods']['click'];}else{if(_0x3d48e1===_0x380e2a(_0x4b813a._0x57c59c,0x1b5)){var _0x585172;this['_map']['off'](_0x3d48e1,this[_0x15023a(0x3da,_0x4b813a._0x1c440f)],this),(_0x585172=this[_0x380e2a(_0x4b813a._0x597ce7,0x1d0)][_0x15023a(_0x4b813a._0x4c6223,0x38a)])!==null&&_0x585172!==void 0x0&&_0x585172['mousemove']&&delete this['options'][_0x380e2a(0x19f,_0x4b813a._0x1a7eec)][_0x15023a(0x3dd,_0x4b813a._0x19f71a)];}}function _0x15023a(_0x2e3a76,_0x512685){return _0x4aa1c4(_0x512685,_0x2e3a76-0x27a);}return this;}}function _0x4753(_0x1c75ad,_0x2c6c05){const _0x1cf2b5=_0x1cf2();return _0x4753=function(_0x4753be,_0x2f026a){_0x4753be=_0x4753be-0x166;let _0x3030e9=_0x1cf2b5[_0x4753be];if(_0x4753['YQxozt']===undefined){var _0x410fb3=function(_0x1121b6){const _0x38f968='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3710fe='',_0x54ee1b='';for(let _0x4e7313=0x0,_0x1e3b71,_0x554a03,_0x4caa52=0x0;_0x554a03=_0x1121b6['charAt'](_0x4caa52++);~_0x554a03&&(_0x1e3b71=_0x4e7313%0x4?_0x1e3b71*0x40+_0x554a03:_0x554a03,_0x4e7313++%0x4)?_0x3710fe+=String['fromCharCode'](0xff&_0x1e3b71>>(-0x2*_0x4e7313&0x6)):0x0){_0x554a03=_0x38f968['indexOf'](_0x554a03);}for(let _0xa27031=0x0,_0x4603e7=_0x3710fe['length'];_0xa27031<_0x4603e7;_0xa27031++){_0x54ee1b+='%'+('00'+_0x3710fe['charCodeAt'](_0xa27031)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x54ee1b);};_0x4753['ZjQcKN']=_0x410fb3,_0x1c75ad=arguments,_0x4753['YQxozt']=!![];}const _0x3b3309=_0x1cf2b5[0x0],_0x1d45bf=_0x4753be+_0x3b3309,_0x2db5c6=_0x1c75ad[_0x1d45bf];return!_0x2db5c6?(_0x3030e9=_0x4753['ZjQcKN'](_0x3030e9),_0x1c75ad[_0x1d45bf]=_0x3030e9):_0x3030e9=_0x2db5c6,_0x3030e9;},_0x4753(_0x1c75ad,_0x2c6c05);}mars3d__namespace[_0x30dcba(0x14d,0x175)]['register'](_0x4aa1c4(0x16a,0x149),MapVLayer),mars3d__namespace[_0x30dcba(0x124,0x100)]['MapVLayer']=MapVLayer,mars3d__namespace['mapv']=mapv__namespace,exports[_0x4aa1c4(0x141,0x179)]=MapVLayer,Object['keys'](mapv)[_0x30dcba(0x12a,0x13b)](function(_0xc72d17){const _0x1572b9={_0x18ab5b:0x33d},_0x1c2c86={_0x3a3856:0x1cf};function _0x2e0d10(_0x5f2c73,_0x25ad88){return _0x30dcba(_0x25ad88-_0x1c2c86._0x3a3856,_0x5f2c73);}function _0x356b60(_0x107e04,_0x1e85c8){return _0x30dcba(_0x107e04- -0x28e,_0x1e85c8);}if(_0xc72d17!==_0x2e0d10(0x390,0x355)&&!exports['hasOwnProperty'](_0xc72d17))Object[_0x2e0d10(_0x1572b9._0x18ab5b,0x34d)](exports,_0xc72d17,{'enumerable':!![],'get':function(){return mapv[_0xc72d17];}});});const _0xa27031={};_0xa27031[_0x30dcba(0x161,0x1a4)]=!![];function _0x4aa1c4(_0x14529b,_0x52b46a){const _0x2f8a58={_0x99a9be:0x3c};return _0x4753(_0x52b46a- -_0x2f8a58._0x99a9be,_0x14529b);}Object[_0x4aa1c4(0x14c,0x186)](exports,'__esModule',_0xa27031); })); diff --git a/public/lib/mars3d/plugins/space/mars3d-space.js b/public/lib/mars3d/plugins/space/mars3d-space.js index 742179580..99163ddaa 100644 --- a/public/lib/mars3d/plugins/space/mars3d-space.js +++ b/public/lib/mars3d/plugins/space/mars3d-space.js @@ -2,7 +2,7 @@ * Mars3D平台插件, 卫星及相关视锥体可视化功能 mars3d-space * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:58 + * 编译日期:2024-12-03 18:05 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ @@ -11,5 +11,5 @@ typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-space"] = {}, global.mars3d)); })(this, (function (exports, mars3d) { -'use strict';(function(_0x2e32e1,_0x1dcdeb){function _0x1379f2(_0x247bc7,_0x1fabae){return _0x43df(_0x247bc7- -0x2a3,_0x1fabae);}var _0x1a1800=_0x2e32e1();function _0x5f5686(_0x53d05d,_0x12d7b7){return _0x43df(_0x53d05d-0xfc,_0x12d7b7);}while(!![]){try{var _0x5d546d=-parseInt(_0x1379f2(0xc1,0xcf))/0x1*(-parseInt(_0x1379f2(0x15f,0x12d))/0x2)+parseInt(_0x5f5686(0x456,0x599))/0x3*(parseInt(_0x1379f2(0x2f,0x1a))/0x4)+-parseInt(_0x1379f2(0x47,-0xe7))/0x5+-parseInt(_0x1379f2(0x6c,0x88))/0x6+parseInt(_0x5f5686(0x413,0x55c))/0x7+-parseInt(_0x1379f2(-0x18,-0x39))/0x8*(parseInt(_0x5f5686(0x560,0x4bb))/0x9)+parseInt(_0x1379f2(-0x42,-0x2e))/0xa*(parseInt(_0x1379f2(-0xd4,-0xc2))/0xb);if(_0x5d546d===_0x1dcdeb)break;else _0x1a1800['push'](_0x1a1800['shift']());}catch(_0x20dae9){_0x1a1800['push'](_0x1a1800['shift']());}}}(_0x73da,0x8e823));function _interopNamespace(_0x29e91d){if(_0x29e91d&&_0x29e91d[_0x576463(0x33b,0x25b)])return _0x29e91d;var _0x121d8e=Object[_0x25aeea(0x158,0x3)](null);_0x29e91d&&Object[_0x576463(0x512,0x407)](_0x29e91d)['forEach'](function(_0x1bd279){function _0x48ccd8(_0x213c91,_0x3a231d){return _0x576463(_0x213c91,_0x3a231d- -0x33a);}function _0xa8a0e2(_0x4866ab,_0x1a3310){return _0x576463(_0x4866ab,_0x1a3310- -0x79);}if(_0x1bd279!==_0x48ccd8(0x63,-0x3d)){var _0x3926e4=Object[_0x48ccd8(-0x201,-0xaa)](_0x29e91d,_0x1bd279);Object['defineProperty'](_0x121d8e,_0x1bd279,_0x3926e4[_0xa8a0e2(0x7d,0x11e)]?_0x3926e4:{'enumerable':!![],'get':function(){return _0x29e91d[_0x1bd279];}});}});function _0x576463(_0x1624a2,_0x17abbd){return _0x43df(_0x17abbd- -0x80,_0x1624a2);}_0x121d8e['default']=_0x29e91d;function _0x25aeea(_0x2f7512,_0x406bb8){return _0x43df(_0x406bb8- -0x37e,_0x2f7512);}return _0x121d8e;}function _mergeNamespaces(_0x350b38,_0x42de29){return _0x42de29['forEach'](function(_0x37e57a){function _0x266f91(_0x21d14a,_0x3632f4){return _0x43df(_0x3632f4- -0x4e,_0x21d14a);}function _0x184f06(_0x591b66,_0x64c862){return _0x43df(_0x64c862- -0x182,_0x591b66);}_0x37e57a&&typeof _0x37e57a!=='string'&&!Array[_0x184f06(0x165,0x93)](_0x37e57a)&&Object[_0x266f91(0x337,0x439)](_0x37e57a)[_0x184f06(0x381,0x2b8)](function(_0x4d2e67){function _0x172f66(_0x3a37eb,_0x2e1066){return _0x266f91(_0x3a37eb,_0x2e1066-0x2d9);}function _0x259f44(_0x39aaa,_0x316be7){return _0x184f06(_0x39aaa,_0x316be7-0x250);}if(_0x4d2e67!==_0x259f44(0x546,0x44b)&&!(_0x4d2e67 in _0x350b38)){var _0x64a113=Object[_0x172f66(0x507,0x59b)](_0x37e57a,_0x4d2e67);Object[_0x172f66(0x50d,0x4b8)](_0x350b38,_0x4d2e67,_0x64a113['get']?_0x64a113:{'enumerable':!![],'get':function(){return _0x37e57a[_0x4d2e67];}});}});}),_0x350b38;}var mars3d__namespace=_interopNamespace(mars3d),pi$1=Math['PI'],twoPi$1=pi$1*0x2,deg2rad$1=pi$1/0xb4,rad2deg$1=0xb4/pi$1,minutesPerDay$1=0x5a0,mu$1=398600.8,earthRadius$1=6378.135,xke$1=0x3c/Math['sqrt'](earthRadius$1*earthRadius$1*earthRadius$1/mu$1),vkmpersec$1=earthRadius$1*xke$1/0x3c,tumin$1=0x1/xke$1,j2$1=0.001082616,j3$1=-0.00000253881,j4$1=-0.00000165597,j3oj2$1=j3$1/j2$1,x2o3$1=0x2/0x3,_0x38acfb={};_0x38acfb['__proto__']=null,_0x38acfb['deg2rad']=deg2rad$1,_0x38acfb['earthRadius']=earthRadius$1,_0x38acfb['j2']=j2$1,_0x38acfb['j3']=j3$1,_0x38acfb['j3oj2']=j3oj2$1,_0x38acfb['j4']=j4$1,_0x38acfb['minutesPerDay']=minutesPerDay$1,_0x38acfb['mu']=mu$1,_0x38acfb['pi']=pi$1,_0x38acfb[_0x4925de(0x248,0x3aa)]=rad2deg$1,_0x38acfb['tumin']=tumin$1,_0x38acfb['twoPi']=twoPi$1,_0x38acfb[_0x4925de(0x19e,0x2a2)]=vkmpersec$1,_0x38acfb[_0x2a61be(0x368,0x3c3)]=x2o3$1,_0x38acfb['xke']=xke$1;var constants$1=Object['freeze'](_0x38acfb);function days2mdhms$1(_0x448917,_0x455b82){var _0xdcc8ec=[0x1f,_0x448917%0x4===0x0?0x1d:0x1c,0x1f,0x1e,0x1f,0x1e,0x1f,0x1f,0x1e,0x1f,0x1e,0x1f],_0x176117=Math[_0x1b62e9(-0x1a2,-0x1e9)](_0x455b82),_0x3ee5e8=0x1,_0x1ddd48=0x0;function _0x1b62e9(_0x14133c,_0x168208){return _0x4925de(_0x14133c,_0x168208- -0x2c7);}while(_0x176117>_0x1ddd48+_0xdcc8ec[_0x3ee5e8-0x1]&&_0x3ee5e8<0xc){_0x1ddd48+=_0xdcc8ec[_0x3ee5e8-0x1],_0x3ee5e8+=0x1;}var _0x1146ec=_0x3ee5e8,_0x301ca8=_0x176117-_0x1ddd48,_0x1e9eb8=(_0x455b82-_0x176117)*0x18,_0x334f24=Math[_0x332aa1(0x386,0x389)](_0x1e9eb8);_0x1e9eb8=(_0x1e9eb8-_0x334f24)*0x3c;var _0x4d2101=Math[_0x332aa1(0x386,0x4b6)](_0x1e9eb8),_0x5ec33d=(_0x1e9eb8-_0x4d2101)*0x3c,_0x38dd78={};_0x38dd78['mon']=_0x1146ec,_0x38dd78['day']=_0x301ca8,_0x38dd78['hr']=_0x334f24,_0x38dd78[_0x1b62e9(-0x22,-0xd3)]=_0x4d2101,_0x38dd78[_0x332aa1(0x556,0x658)]=_0x5ec33d;function _0x332aa1(_0x32eab8,_0x2747a8){return _0x2a61be(_0x2747a8,_0x32eab8-0x1f7);}return _0x38dd78;}function jdayInternal$1(_0x578e86,_0x523a0b,_0x2707be,_0x369bc6,_0x409246,_0x142a62){var _0x197b47=arguments['length']>0x6&&arguments[0x6]!==undefined?arguments[0x6]:0x0;function _0x427b1d(_0xfc099a,_0x215c28){return _0x2a61be(_0xfc099a,_0x215c28- -0xea);}return 0x16f*_0x578e86-Math[_0x427b1d(0x13b,0xa5)](0x7*(_0x578e86+Math['floor']((_0x523a0b+0x9)/0xc))*0.25)+Math['floor'](0x113*_0x523a0b/0x9)+_0x2707be+1721013.5+((_0x197b47/0xea60+_0x142a62/0x3c+_0x409246)/0x3c+_0x369bc6)/0x18;}function jday$1(_0x19f7aa,_0x1e0e3b,_0x26db78,_0xe0dc0,_0x1f9793,_0x4fff31,_0x401d27){function _0x366869(_0x43edee,_0x3ca1dc){return _0x4925de(_0x43edee,_0x3ca1dc-0x149);}if(_0x19f7aa instanceof Date){var _0x667a07=_0x19f7aa;return jdayInternal$1(_0x667a07['getUTCFullYear'](),_0x667a07['getUTCMonth']()+0x1,_0x667a07['getUTCDate'](),_0x667a07[_0x366869(0x3c5,0x2b0)](),_0x667a07[_0x366869(0x3ad,0x405)](),_0x667a07['getUTCSeconds'](),_0x667a07[_0x52bd8d(0x88,0x3b)]());}function _0x52bd8d(_0x2e5a87,_0x170e5f){return _0x2a61be(_0x170e5f,_0x2e5a87- -0x38a);}return jdayInternal$1(_0x19f7aa,_0x1e0e3b,_0x26db78,_0xe0dc0,_0x1f9793,_0x4fff31,_0x401d27);}function invjday$1(_0x298902,_0xb9f7c2){var _0x2091f6=_0x298902-2415019.5,_0x4f8b5b=_0x2091f6/365.25;function _0x400585(_0x3546bb,_0x59fd39){return _0x2a61be(_0x3546bb,_0x59fd39- -0x13d);}var _0x56a949=0x76c+Math['floor'](_0x4f8b5b),_0x440f61=Math['floor']((_0x56a949-0x76d)*0.25),_0x15990d=_0x2091f6-((_0x56a949-0x76c)*0x16d+_0x440f61)+1e-11;_0x15990d<0x1&&(_0x56a949-=0x1,_0x440f61=Math['floor']((_0x56a949-0x76d)*0.25),_0x15990d=_0x2091f6-((_0x56a949-0x76c)*0x16d+_0x440f61));var _0x4ef9bc=days2mdhms$1(_0x56a949,_0x15990d),_0x48946f=_0x4ef9bc['mon'],_0x3554d5=_0x4ef9bc[_0x400585(-0x72,0xa9)],_0x28e977=_0x4ef9bc['hr'],_0x3db933=_0x4ef9bc['minute'],_0x5f14d6=_0x4ef9bc[_0x400585(0x23a,0x222)]-8.64e-7;function _0x4462f3(_0x37ae3b,_0x53b3e5){return _0x2a61be(_0x37ae3b,_0x53b3e5- -0x186);}if(_0xb9f7c2)return[_0x56a949,_0x48946f,_0x3554d5,_0x28e977,_0x3db933,Math[_0x400585(0x1c3,0x52)](_0x5f14d6)];return new Date(Date['UTC'](_0x56a949,_0x48946f-0x1,_0x3554d5,_0x28e977,_0x3db933,Math['floor'](_0x5f14d6)));}function dpper$1(_0x100015,_0x37cfce){var _0x5a874d=_0x100015['e3'],_0xdfe9d0=_0x100015['ee2'],_0x48ea4b=_0x100015[_0x4d4960(0x6f3,0x82e)],_0x233242=_0x100015[_0x4d4960(0x6d1,0x6b2)],_0x33e3f8=_0x100015['pho'],_0x4244c2=_0x100015['pinco'],_0x2adec7=_0x100015['plo'],_0x347222=_0x100015['se2'],_0x4cc6f7=_0x100015['se3'],_0xad4dd=_0x100015[_0x3c96e0(0x3b,0x106)],_0x19ed89=_0x100015['sgh3'],_0x17af49=_0x100015['sgh4'],_0x4b9780=_0x100015['sh2'],_0x2fecd1=_0x100015['sh3'],_0x164f22=_0x100015[_0x3c96e0(0x235,0x276)],_0x3d6036=_0x100015[_0x4d4960(0x720,0x61a)],_0x30ce84=_0x100015['sl2'],_0x185090=_0x100015['sl3'],_0x476e1a=_0x100015[_0x3c96e0(0x27a,0x1b7)],_0x4d40af=_0x100015['t'],_0x1ba9b7=_0x100015['xgh2'],_0x458fc9=_0x100015['xgh3'],_0x34a528=_0x100015[_0x4d4960(0x60d,0x54f)],_0x57198c=_0x100015[_0x4d4960(0x74e,0x6a4)],_0x3b932c=_0x100015[_0x3c96e0(0x118,0x20c)],_0x1c6871=_0x100015['xi2'],_0x523891=_0x100015[_0x4d4960(0x70f,0x5c6)],_0x589ac0=_0x100015['xl2'],_0x12e814=_0x100015['xl3'],_0x5783bb=_0x100015[_0x4d4960(0x7d8,0x812)],_0x3f44c5=_0x100015['zmol'],_0x3f7476=_0x100015['zmos'],_0x992295=_0x37cfce['init'],_0x46b6d8=_0x37cfce[_0x4d4960(0x7e8,0x72e)],_0x1d16a1=_0x37cfce['ep'],_0x967bbe=_0x37cfce['inclp'],_0xf9e4c0=_0x37cfce['nodep'],_0x5049a9=_0x37cfce['argpp'],_0x2ee281=_0x37cfce['mp'],_0x36e626,_0x395ddd,_0x28181e,_0x165992,_0x3985e6,_0x59fb23,_0x1e4cc0,_0x5aae63,_0x4e7040,_0x3e0888,_0x4d8115,_0x254181,_0x331a2c,_0x19c477;function _0x3c96e0(_0x328ae8,_0x5b211e){return _0x2a61be(_0x328ae8,_0x5b211e- -0x114);}var _0x1c77a4,_0x3aa015,_0x41ab33,_0x24c94c,_0x1c13f2,_0x1aa4dd,_0xd3107b,_0x5b7080=0.0000119459,_0x1272e4=0.01675,_0x6589d9=0.00015835218,_0x100b75=0.0549;_0xd3107b=_0x3f7476+_0x5b7080*_0x4d40af;_0x992295==='y'&&(_0xd3107b=_0x3f7476);_0x1aa4dd=_0xd3107b+0x2*_0x1272e4*Math['sin'](_0xd3107b),_0x41ab33=Math[_0x3c96e0(0xd5,0x181)](_0x1aa4dd),_0x3e0888=0.5*_0x41ab33*_0x41ab33-0.25,_0x4d8115=-0.5*_0x41ab33*Math['cos'](_0x1aa4dd);var _0x5cef53=_0x347222*_0x3e0888+_0x4cc6f7*_0x4d8115,_0x45742b=_0x164f22*_0x3e0888+_0x3d6036*_0x4d8115,_0x503060=_0x30ce84*_0x3e0888+_0x185090*_0x4d8115+_0x476e1a*_0x41ab33,_0x3e3c3c=_0xad4dd*_0x3e0888+_0x19ed89*_0x4d8115+_0x17af49*_0x41ab33,_0x2d9ca6=_0x4b9780*_0x3e0888+_0x2fecd1*_0x4d8115;_0xd3107b=_0x3f44c5+_0x6589d9*_0x4d40af;_0x992295==='y'&&(_0xd3107b=_0x3f44c5);_0x1aa4dd=_0xd3107b+0x2*_0x100b75*Math['sin'](_0xd3107b),_0x41ab33=Math['sin'](_0x1aa4dd),_0x3e0888=0.5*_0x41ab33*_0x41ab33-0.25,_0x4d8115=-0.5*_0x41ab33*Math['cos'](_0x1aa4dd);var _0x3ef4ef=_0xdfe9d0*_0x3e0888+_0x5a874d*_0x4d8115,_0x3a1313=_0x1c6871*_0x3e0888+_0x523891*_0x4d8115,_0x5de5b1=_0x589ac0*_0x3e0888+_0x12e814*_0x4d8115+_0x5783bb*_0x41ab33,_0x5aead8=_0x1ba9b7*_0x3e0888+_0x458fc9*_0x4d8115+_0x34a528*_0x41ab33,_0x27373e=_0x57198c*_0x3e0888+_0x3b932c*_0x4d8115;_0x254181=_0x5cef53+_0x3ef4ef,_0x1c77a4=_0x45742b+_0x3a1313,_0x3aa015=_0x503060+_0x5de5b1,_0x331a2c=_0x3e3c3c+_0x5aead8,_0x19c477=_0x2d9ca6+_0x27373e;_0x992295==='n'&&(_0x254181-=_0x48ea4b,_0x1c77a4-=_0x4244c2,_0x3aa015-=_0x2adec7,_0x331a2c-=_0x233242,_0x19c477-=_0x33e3f8,_0x967bbe+=_0x1c77a4,_0x1d16a1+=_0x254181,_0x165992=Math['sin'](_0x967bbe),_0x28181e=Math[_0x3c96e0(0x168,0xa6)](_0x967bbe),_0x967bbe>=0.2?(_0x19c477/=_0x165992,_0x331a2c-=_0x28181e*_0x19c477,_0x5049a9+=_0x331a2c,_0xf9e4c0+=_0x19c477,_0x2ee281+=_0x3aa015):(_0x59fb23=Math['sin'](_0xf9e4c0),_0x3985e6=Math[_0x3c96e0(0x1d3,0xa6)](_0xf9e4c0),_0x36e626=_0x165992*_0x59fb23,_0x395ddd=_0x165992*_0x3985e6,_0x1e4cc0=_0x19c477*_0x3985e6+_0x1c77a4*_0x28181e*_0x59fb23,_0x5aae63=-_0x19c477*_0x59fb23+_0x1c77a4*_0x28181e*_0x3985e6,_0x36e626+=_0x1e4cc0,_0x395ddd+=_0x5aae63,_0xf9e4c0%=twoPi$1,_0xf9e4c0<0x0&&_0x46b6d8==='a'&&(_0xf9e4c0+=twoPi$1),_0x24c94c=_0x2ee281+_0x5049a9+_0x28181e*_0xf9e4c0,_0x4e7040=_0x3aa015+_0x331a2c-_0x1c77a4*_0xf9e4c0*_0x165992,_0x24c94c+=_0x4e7040,_0x1c13f2=_0xf9e4c0,_0xf9e4c0=Math['atan2'](_0x36e626,_0x395ddd),_0xf9e4c0<0x0&&_0x46b6d8==='a'&&(_0xf9e4c0+=twoPi$1),Math['abs'](_0x1c13f2-_0xf9e4c0)>pi$1&&(_0xf9e4c0<_0x1c13f2?_0xf9e4c0+=twoPi$1:_0xf9e4c0-=twoPi$1),_0x2ee281+=_0x3aa015,_0x5049a9=_0x24c94c-_0x2ee281-_0x28181e*_0xf9e4c0));var _0x4b5c24={};_0x4b5c24['ep']=_0x1d16a1,_0x4b5c24['inclp']=_0x967bbe,_0x4b5c24['nodep']=_0xf9e4c0,_0x4b5c24[_0x3c96e0(0x2dc,0x26d)]=_0x5049a9;function _0x4d4960(_0x676d21,_0x394f15){return _0x4925de(_0x394f15,_0x676d21-0x44b);}return _0x4b5c24['mp']=_0x2ee281,_0x4b5c24;}function dscom$1(_0x2f2554){var _0x2d2033=_0x2f2554[_0x1ecacd(0x536,0x443)],_0x46f022=_0x2f2554['ep'],_0x49e085=_0x2f2554[_0x5a06eb(0xd5,0x1a7)],_0x55619e=_0x2f2554['tc'],_0x468d9e=_0x2f2554['inclp'],_0x3d3767=_0x2f2554[_0x1ecacd(0x293,0x2d0)],_0x1b5211=_0x2f2554['np'],_0x44c899,_0xf0d5df,_0x501a85,_0x267d0d,_0xe6d896,_0x2af3e7,_0x2db4fc,_0x3f3ac0,_0x14dc88,_0x57fac0,_0x395c8e,_0x14a98e,_0x2ad417,_0x40acb6,_0x48588e,_0x3f7563,_0xd1d450,_0x4baf71,_0xf52988,_0x1ea934,_0x113ed7,_0x269f8b,_0x169677,_0x3c6676,_0x8e4e01,_0x726282,_0x5bcd27,_0x45fe4b,_0x5680bb,_0x11692c,_0x35e536,_0x4c6e57,_0x197fe9,_0x16987c,_0x8d388f,_0x4ce88b,_0x119cbd,_0x360c99,_0x233990,_0x10935f,_0x5800f7,_0x1e810f,_0xeff93e,_0x59bc5e,_0x191ab8,_0x2bc811,_0xffd985,_0x38c2d5,_0x2a7e1f,_0x561eeb,_0x36e535,_0x1caca4,_0x548bb9,_0x4d627d;function _0x5a06eb(_0x1e0283,_0x76dacf){return _0x4925de(_0x76dacf,_0x1e0283- -0x1fb);}var _0x30383a,_0x246ad3,_0x18d581,_0x4ba84e,_0x56bf08,_0x410000,_0x383d13,_0x258e4d,_0x528022,_0x1dee67=0.01675,_0x3d11ee=0.0549,_0x10c60a=0.0000029864797,_0x38057f=4.7968065e-7,_0x285d51=0.39785416,_0x2441ec=0.91744867,_0x1787c8=0.1945905,_0xec9834=-0.98088458,_0x3dc25f=_0x1b5211,_0x5496ef=_0x46f022,_0x2bcb19=Math['sin'](_0x3d3767),_0x589c36=Math['cos'](_0x3d3767),_0x4a669b=Math['sin'](_0x49e085),_0x5a2d7b=Math['cos'](_0x49e085),_0x57a356=Math['sin'](_0x468d9e),_0x54a328=Math[_0x5a06eb(-0xf2,-0xef)](_0x468d9e),_0x50f4c2=_0x5496ef*_0x5496ef,_0x2e19a9=0x1-_0x50f4c2,_0x555f36=Math[_0x5a06eb(0x123,0x280)](_0x2e19a9),_0x277409=0x0,_0x2c10d2=0x0,_0x2bba01=0x0,_0x1d7d69=0x0,_0x181a43=0x0,_0x439dd4=_0x2d2033+18261.5+_0x55619e/0x5a0,_0x40296a=(4.523602-0.00092422029*_0x439dd4)%twoPi$1,_0x13d145=Math['sin'](_0x40296a),_0x4d1420=Math['cos'](_0x40296a),_0x4e0137=0.91375164-0.03568096*_0x4d1420,_0x21789a=Math['sqrt'](0x1-_0x4e0137*_0x4e0137),_0x2e91a8=0.089683511*_0x13d145/_0x21789a,_0x267ad8=Math[_0x5a06eb(0x123,0x21)](0x1-_0x2e91a8*_0x2e91a8),_0x162b76=5.8351514+0.001944368*_0x439dd4,_0x46c362=0.39785416*_0x13d145/_0x21789a,_0x564283=_0x267ad8*_0x4d1420+0.91744867*_0x2e91a8*_0x13d145;_0x46c362=Math[_0x5a06eb(0x19,0x15f)](_0x46c362,_0x564283),_0x46c362+=_0x162b76-_0x40296a;var _0x2eaf03=Math['cos'](_0x46c362),_0x105c28=Math['sin'](_0x46c362);_0x1ea934=_0x1787c8,_0x113ed7=_0xec9834,_0x3c6676=_0x2441ec,_0x8e4e01=_0x285d51,_0x269f8b=_0x589c36,_0x169677=_0x2bcb19,_0x395c8e=_0x10c60a;var _0x174f81=0x1/_0x3dc25f,_0xbf2404=0x0;while(_0xbf2404<0x2){_0xbf2404+=0x1,_0x44c899=_0x1ea934*_0x269f8b+_0x113ed7*_0x3c6676*_0x169677,_0x501a85=-_0x113ed7*_0x269f8b+_0x1ea934*_0x3c6676*_0x169677,_0x2db4fc=-_0x1ea934*_0x169677+_0x113ed7*_0x3c6676*_0x269f8b,_0x3f3ac0=_0x113ed7*_0x8e4e01,_0x14dc88=_0x113ed7*_0x169677+_0x1ea934*_0x3c6676*_0x269f8b,_0x57fac0=_0x1ea934*_0x8e4e01,_0xf0d5df=_0x54a328*_0x2db4fc+_0x57a356*_0x3f3ac0,_0x267d0d=_0x54a328*_0x14dc88+_0x57a356*_0x57fac0,_0xe6d896=-_0x57a356*_0x2db4fc+_0x54a328*_0x3f3ac0,_0x2af3e7=-_0x57a356*_0x14dc88+_0x54a328*_0x57fac0,_0x14a98e=_0x44c899*_0x5a2d7b+_0xf0d5df*_0x4a669b,_0x2ad417=_0x501a85*_0x5a2d7b+_0x267d0d*_0x4a669b,_0x40acb6=-_0x44c899*_0x4a669b+_0xf0d5df*_0x5a2d7b,_0x48588e=-_0x501a85*_0x4a669b+_0x267d0d*_0x5a2d7b,_0x3f7563=_0xe6d896*_0x4a669b,_0xd1d450=_0x2af3e7*_0x4a669b,_0x4baf71=_0xe6d896*_0x5a2d7b,_0xf52988=_0x2af3e7*_0x5a2d7b,_0x383d13=0xc*_0x14a98e*_0x14a98e-0x3*_0x40acb6*_0x40acb6,_0x258e4d=0x18*_0x14a98e*_0x2ad417-0x6*_0x40acb6*_0x48588e,_0x528022=0xc*_0x2ad417*_0x2ad417-0x3*_0x48588e*_0x48588e,_0x1caca4=0x3*(_0x44c899*_0x44c899+_0xf0d5df*_0xf0d5df)+_0x383d13*_0x50f4c2,_0x548bb9=0x6*(_0x44c899*_0x501a85+_0xf0d5df*_0x267d0d)+_0x258e4d*_0x50f4c2,_0x4d627d=0x3*(_0x501a85*_0x501a85+_0x267d0d*_0x267d0d)+_0x528022*_0x50f4c2,_0x30383a=-0x6*_0x44c899*_0xe6d896+_0x50f4c2*(-0x18*_0x14a98e*_0x4baf71-0x6*_0x40acb6*_0x3f7563),_0x246ad3=-0x6*(_0x44c899*_0x2af3e7+_0x501a85*_0xe6d896)+_0x50f4c2*(-0x18*(_0x2ad417*_0x4baf71+_0x14a98e*_0xf52988)+-0x6*(_0x40acb6*_0xd1d450+_0x48588e*_0x3f7563)),_0x18d581=-0x6*_0x501a85*_0x2af3e7+_0x50f4c2*(-0x18*_0x2ad417*_0xf52988-0x6*_0x48588e*_0xd1d450),_0x4ba84e=0x6*_0xf0d5df*_0xe6d896+_0x50f4c2*(0x18*_0x14a98e*_0x3f7563-0x6*_0x40acb6*_0x4baf71),_0x56bf08=0x6*(_0x267d0d*_0xe6d896+_0xf0d5df*_0x2af3e7)+_0x50f4c2*(0x18*(_0x2ad417*_0x3f7563+_0x14a98e*_0xd1d450)-0x6*(_0x48588e*_0x4baf71+_0x40acb6*_0xf52988)),_0x410000=0x6*_0x267d0d*_0x2af3e7+_0x50f4c2*(0x18*_0x2ad417*_0xd1d450-0x6*_0x48588e*_0xf52988),_0x1caca4=_0x1caca4+_0x1caca4+_0x2e19a9*_0x383d13,_0x548bb9=_0x548bb9+_0x548bb9+_0x2e19a9*_0x258e4d,_0x4d627d=_0x4d627d+_0x4d627d+_0x2e19a9*_0x528022,_0xffd985=_0x395c8e*_0x174f81,_0x2bc811=-0.5*_0xffd985/_0x555f36,_0x38c2d5=_0xffd985*_0x555f36,_0x191ab8=-0xf*_0x5496ef*_0x38c2d5,_0x2a7e1f=_0x14a98e*_0x40acb6+_0x2ad417*_0x48588e,_0x561eeb=_0x2ad417*_0x40acb6+_0x14a98e*_0x48588e,_0x36e535=_0x2ad417*_0x48588e-_0x14a98e*_0x40acb6,_0xbf2404===0x1&&(_0x726282=_0x191ab8,_0x5bcd27=_0x2bc811,_0x45fe4b=_0xffd985,_0x5680bb=_0x38c2d5,_0x11692c=_0x2a7e1f,_0x35e536=_0x561eeb,_0x4c6e57=_0x36e535,_0x197fe9=_0x1caca4,_0x16987c=_0x548bb9,_0x8d388f=_0x4d627d,_0x4ce88b=_0x30383a,_0x119cbd=_0x246ad3,_0x360c99=_0x18d581,_0x233990=_0x4ba84e,_0x10935f=_0x56bf08,_0x5800f7=_0x410000,_0x1e810f=_0x383d13,_0xeff93e=_0x258e4d,_0x59bc5e=_0x528022,_0x1ea934=_0x2eaf03,_0x113ed7=_0x105c28,_0x3c6676=_0x4e0137,_0x8e4e01=_0x21789a,_0x269f8b=_0x267ad8*_0x589c36+_0x2e91a8*_0x2bcb19,_0x169677=_0x2bcb19*_0x267ad8-_0x589c36*_0x2e91a8,_0x395c8e=_0x38057f);}var _0x34c0d0=(4.7199672+(0.2299715*_0x439dd4-_0x162b76))%twoPi$1,_0x19dd79=(6.2565837+0.017201977*_0x439dd4)%twoPi$1,_0x2d8355=0x2*_0x726282*_0x35e536,_0xa13525=0x2*_0x726282*_0x4c6e57,_0x55eef6=0x2*_0x5bcd27*_0x119cbd,_0x2eb533=0x2*_0x5bcd27*(_0x360c99-_0x4ce88b),_0x5ebf1b=-0x2*_0x45fe4b*_0x16987c,_0x3ac731=-0x2*_0x45fe4b*(_0x8d388f-_0x197fe9),_0x2d13f5=-0x2*_0x45fe4b*(-0x15-0x9*_0x50f4c2)*_0x1dee67,_0x5ec328=0x2*_0x5680bb*_0xeff93e,_0x25bf2f=0x2*_0x5680bb*(_0x59bc5e-_0x1e810f),_0x1e0bbf=-0x12*_0x5680bb*_0x1dee67,_0x1a04d2=-0x2*_0x5bcd27*_0x10935f,_0x4eea53=-0x2*_0x5bcd27*(_0x5800f7-_0x233990),_0x3fc22c=0x2*_0x191ab8*_0x561eeb,_0x128cff=0x2*_0x191ab8*_0x36e535,_0x1ce0ab=0x2*_0x2bc811*_0x246ad3,_0x2de51f=0x2*_0x2bc811*(_0x18d581-_0x30383a),_0x3bfc28=-0x2*_0xffd985*_0x548bb9,_0x329e74=-0x2*_0xffd985*(_0x4d627d-_0x1caca4),_0x59e760=-0x2*_0xffd985*(-0x15-0x9*_0x50f4c2)*_0x3d11ee,_0x198500=0x2*_0x38c2d5*_0x258e4d,_0x226c50=0x2*_0x38c2d5*(_0x528022-_0x383d13),_0x2a3a71=-0x12*_0x38c2d5*_0x3d11ee,_0x384fe3=-0x2*_0x2bc811*_0x56bf08,_0x5046c4=-0x2*_0x2bc811*(_0x410000-_0x4ba84e),_0x1ff0f6={};_0x1ff0f6[_0x5a06eb(-0x116,-0x12f)]=_0x2bcb19,_0x1ff0f6[_0x1ecacd(0x450,0x3e7)]=_0x589c36,_0x1ff0f6[_0x5a06eb(-0xa4,-0xb)]=_0x57a356,_0x1ff0f6['cosim']=_0x54a328,_0x1ff0f6['sinomm']=_0x4a669b,_0x1ff0f6['cosomm']=_0x5a2d7b,_0x1ff0f6['day']=_0x439dd4,_0x1ff0f6['e3']=_0x128cff,_0x1ff0f6['ee2']=_0x3fc22c,_0x1ff0f6['em']=_0x5496ef,_0x1ff0f6['emsq']=_0x50f4c2,_0x1ff0f6[_0x1ecacd(0x278,0x317)]=_0x162b76,_0x1ff0f6[_0x1ecacd(0x40e,0x385)]=_0x277409,_0x1ff0f6['pgho']=_0x1d7d69,_0x1ff0f6['pho']=_0x181a43,_0x1ff0f6[_0x5a06eb(0x42,0x3a)]=_0x2c10d2,_0x1ff0f6['plo']=_0x2bba01,_0x1ff0f6['rtemsq']=_0x555f36,_0x1ff0f6[_0x5a06eb(0x17,0x11c)]=_0x2d8355,_0x1ff0f6['se3']=_0xa13525,_0x1ff0f6[_0x1ecacd(0x286,0x246)]=_0x5ec328,_0x1ff0f6[_0x5a06eb(-0x71,-0x5d)]=_0x25bf2f,_0x1ff0f6[_0x1ecacd(0x46b,0x352)]=_0x1e0bbf,_0x1ff0f6[_0x1ecacd(0x306,0x326)]=_0x1a04d2,_0x1ff0f6[_0x5a06eb(0x6f,0x93)]=_0x4eea53,_0x1ff0f6['si2']=_0x55eef6,_0x1ff0f6[_0x5a06eb(0xda,-0x86)]=_0x2eb533,_0x1ff0f6['sl2']=_0x5ebf1b,_0x1ff0f6[_0x1ecacd(0x8c,0x1fa)]=_0x3ac731,_0x1ff0f6['sl4']=_0x2d13f5,_0x1ff0f6['s1']=_0x191ab8,_0x1ff0f6['s2']=_0x2bc811,_0x1ff0f6['s3']=_0xffd985,_0x1ff0f6['s4']=_0x38c2d5,_0x1ff0f6['s5']=_0x2a7e1f,_0x1ff0f6['s6']=_0x561eeb,_0x1ff0f6['s7']=_0x36e535,_0x1ff0f6['ss1']=_0x726282,_0x1ff0f6['ss2']=_0x5bcd27,_0x1ff0f6[_0x1ecacd(0x16f,0x1fb)]=_0x45fe4b,_0x1ff0f6['ss4']=_0x5680bb,_0x1ff0f6['ss5']=_0x11692c,_0x1ff0f6[_0x5a06eb(0xc,0x5e)]=_0x35e536,_0x1ff0f6['ss7']=_0x4c6e57,_0x1ff0f6['sz1']=_0x197fe9,_0x1ff0f6[_0x5a06eb(0x11e,0x155)]=_0x16987c,_0x1ff0f6[_0x5a06eb(0x26,0xcc)]=_0x8d388f,_0x1ff0f6['sz11']=_0x4ce88b,_0x1ff0f6['sz12']=_0x119cbd,_0x1ff0f6['sz13']=_0x360c99,_0x1ff0f6['sz21']=_0x233990,_0x1ff0f6['sz22']=_0x10935f,_0x1ff0f6[_0x5a06eb(0x144,-0x3)]=_0x5800f7,_0x1ff0f6['sz31']=_0x1e810f,_0x1ff0f6[_0x5a06eb(-0xc1,0x3e)]=_0xeff93e,_0x1ff0f6[_0x1ecacd(0x119,0x1d7)]=_0x59bc5e;function _0x1ecacd(_0x82a718,_0x347f92){return _0x2a61be(_0x82a718,_0x347f92-0x2c);}return _0x1ff0f6['xgh2']=_0x198500,_0x1ff0f6['xgh3']=_0x226c50,_0x1ff0f6['xgh4']=_0x2a3a71,_0x1ff0f6['xh2']=_0x384fe3,_0x1ff0f6[_0x5a06eb(0x74,0x8d)]=_0x5046c4,_0x1ff0f6['xi2']=_0x1ce0ab,_0x1ff0f6[_0x1ecacd(0x26a,0x3a1)]=_0x2de51f,_0x1ff0f6['xl2']=_0x3bfc28,_0x1ff0f6[_0x1ecacd(0x263,0x376)]=_0x329e74,_0x1ff0f6[_0x1ecacd(0x4ac,0x46a)]=_0x59e760,_0x1ff0f6['nm']=_0x3dc25f,_0x1ff0f6['z1']=_0x1caca4,_0x1ff0f6['z2']=_0x548bb9,_0x1ff0f6['z3']=_0x4d627d,_0x1ff0f6['z11']=_0x30383a,_0x1ff0f6['z12']=_0x246ad3,_0x1ff0f6['z13']=_0x18d581,_0x1ff0f6[_0x1ecacd(0xf1,0x229)]=_0x4ba84e,_0x1ff0f6['z22']=_0x56bf08,_0x1ff0f6['z23']=_0x410000,_0x1ff0f6[_0x5a06eb(-0xa7,-0x30)]=_0x383d13,_0x1ff0f6['z32']=_0x258e4d,_0x1ff0f6[_0x1ecacd(0x172,0x1e1)]=_0x528022,_0x1ff0f6['zmol']=_0x34c0d0,_0x1ff0f6['zmos']=_0x19dd79,_0x1ff0f6;}function _0x4925de(_0x1cd834,_0x53d50e){return _0x43df(_0x53d50e- -0xdc,_0x1cd834);}function dsinit$1(_0x1de158){var _0x501def=_0x1de158['cosim'],_0x1a638b=_0x1de158[_0xff0a16(0x753,0x745)],_0x2eb263=_0x1de158['s1'],_0x23eb5c=_0x1de158['s2'],_0x3ad24f=_0x1de158['s3'],_0x2ac2e2=_0x1de158['s4'],_0x56bc2f=_0x1de158['s5'],_0x25f9f=_0x1de158[_0x249731(0x460,0x53d)],_0x5bc303=_0x1de158[_0x249731(0x74a,0x718)],_0xfe3438=_0x1de158[_0x249731(0x60b,0x691)],_0x14bb28=_0x1de158[_0x249731(0x502,0x504)],_0x1a34ed=_0x1de158[_0x249731(0x532,0x590)],_0xab98fb=_0x1de158[_0xff0a16(0x5bb,0x5a5)],_0x5663a7=_0x1de158['sz1'],_0xbb9876=_0x1de158['sz3'],_0x2551a2=_0x1de158['sz11'],_0x4f4718=_0x1de158['sz13'],_0x520701=_0x1de158['sz21'],_0x8e5ab=_0x1de158['sz23'],_0x27f8f4=_0x1de158['sz31'],_0x1d982d=_0x1de158[_0xff0a16(0x6d1,0x5a7)],_0x5a3feb=_0x1de158['t'],_0x1fa559=_0x1de158['tc'],_0x2ea4cf=_0x1de158['gsto'],_0x1c8c98=_0x1de158['mo'],_0xd5428c=_0x1de158['mdot'],_0x4c4018=_0x1de158['no'],_0x5432e2=_0x1de158['nodeo'],_0x45ca85=_0x1de158['nodedot'],_0xf7087=_0x1de158[_0xff0a16(0x770,0x7b3)],_0x38f114=_0x1de158['z1'],_0x226090=_0x1de158['z3'],_0x469b41=_0x1de158['z11'],_0x2014c6=_0x1de158[_0xff0a16(0x656,0x6cc)],_0x3ec65b=_0x1de158['z21'],_0xecaf0a=_0x1de158['z23'],_0x7e2928=_0x1de158['z31'],_0x5f0c23=_0x1de158['z33'],_0xab27fe=_0x1de158['ecco'],_0x5e5535=_0x1de158['eccsq'],_0x4aa6a2=_0x1de158[_0x249731(0x659,0x53f)],_0x80964c=_0x1de158['em'],_0x8b3d13=_0x1de158['argpm'],_0x59c448=_0x1de158['inclm'],_0x13b5c9=_0x1de158['mm'],_0xee00d3=_0x1de158['nm'],_0x381a60=_0x1de158['nodem'],_0x41374d=_0x1de158['irez'],_0x54b565=_0x1de158['atime'],_0x1180f5=_0x1de158['d2201'],_0x24b218=_0x1de158['d2211'],_0x2a0eba=_0x1de158['d3210'],_0x4070ad=_0x1de158[_0x249731(0x426,0x58a)],_0x16cfca=_0x1de158['d4410'],_0xc70f0f=_0x1de158['d4422'],_0x23b05f=_0x1de158['d5220'],_0x412e28=_0x1de158['d5232'],_0x586f0c=_0x1de158['d5421'],_0x2efdbf=_0x1de158[_0xff0a16(0x472,0x597)],_0x1f7cb1=_0x1de158[_0xff0a16(0x663,0x59a)],_0x56cbb8=_0x1de158[_0x249731(0x756,0x6d8)],_0x1bc2f6=_0x1de158[_0xff0a16(0x628,0x671)],_0x29518f=_0x1de158['dnodt'],_0x4b0fc0=_0x1de158[_0xff0a16(0x8e7,0x85f)],_0x353add=_0x1de158[_0x249731(0x6f6,0x778)],_0x59c42b=_0x1de158['del2'],_0x38dc45=_0x1de158['del3'],_0x57687a=_0x1de158['xfact'],_0x5e919c=_0x1de158['xlamo'],_0x570b9e=_0x1de158['xli'],_0x57c6aa=_0x1de158['xni'],_0x435e24,_0x45d09e,_0x44d43f,_0x3e36b1,_0x1c2a64,_0x49e25a,_0x3b63ae,_0xd13bb0,_0x5122fc,_0x4496ad,_0x30b2f1,_0x463ada,_0x109894,_0x6bb247,_0x5378cf,_0x4b3c92,_0x35743c,_0x410140,_0x45e2aa,_0x10016a,_0xa6fdd5,_0xfabf58,_0x5aae54,_0x3381a5,_0x367565,_0x4c7aee,_0x29b6d7,_0x3c38d6,_0x4727a8,_0x25f7ab,_0x52afbf,_0x3c3312;function _0xff0a16(_0xa240e8,_0x4d5a52){return _0x4925de(_0xa240e8,_0x4d5a52-0x4ad);}var _0x29d608=0.0000017891679,_0x2ae67e=0.0000021460748,_0x581fce=2.2123015e-7,_0x4eb5fb=0.0000017891679,_0x405b0f=7.3636953e-9,_0x330b8e=2.1765803e-9,_0x1e6727=0.0043752690880113,_0x59e93c=3.7393792e-7,_0x490695=1.1428639e-7,_0x570067=0.00015835218,_0xd3d881=0.0000119459;_0x41374d=0x0;_0xee00d3<0.0052359877&&_0xee00d3>0.0034906585&&(_0x41374d=0x1);_0xee00d3>=0.00826&&_0xee00d3<=0.00924&&_0x80964c>=0.5&&(_0x41374d=0x2);var _0x14379d=_0x5bc303*_0xd3d881*_0xab98fb,_0x468e7e=_0xfe3438*_0xd3d881*(_0x2551a2+_0x4f4718),_0x289ddb=-_0xd3d881*_0x14bb28*(_0x5663a7+_0xbb9876-0xe-0x6*_0x4aa6a2),_0xb72823=_0x1a34ed*_0xd3d881*(_0x27f8f4+_0x1d982d-0x6),_0x50e43b=-_0xd3d881*_0xfe3438*(_0x520701+_0x8e5ab);(_0x59c448<0.052359877||_0x59c448>pi$1-0.052359877)&&(_0x50e43b=0x0);_0x25f9f!==0x0&&(_0x50e43b/=_0x25f9f);var _0x156f8b=_0xb72823-_0x501def*_0x50e43b;_0x1f7cb1=_0x14379d+_0x2eb263*_0x570067*_0x56bc2f,_0x56cbb8=_0x468e7e+_0x23eb5c*_0x570067*(_0x469b41+_0x2014c6),_0x1bc2f6=_0x289ddb-_0x570067*_0x3ad24f*(_0x38f114+_0x226090-0xe-0x6*_0x4aa6a2);var _0x54a7a7=_0x2ac2e2*_0x570067*(_0x7e2928+_0x5f0c23-0x6),_0x44d404=-_0x570067*_0x23eb5c*(_0x3ec65b+_0xecaf0a);(_0x59c448<0.052359877||_0x59c448>pi$1-0.052359877)&&(_0x44d404=0x0);_0x4b0fc0=_0x156f8b+_0x54a7a7,_0x29518f=_0x50e43b;_0x25f9f!==0x0&&(_0x4b0fc0-=_0x501def/_0x25f9f*_0x44d404,_0x29518f+=_0x44d404/_0x25f9f);var _0x495ef7=0x0,_0x2704a3=(_0x2ea4cf+_0x1fa559*_0x1e6727)%twoPi$1;_0x80964c+=_0x1f7cb1*_0x5a3feb,_0x59c448+=_0x56cbb8*_0x5a3feb,_0x8b3d13+=_0x4b0fc0*_0x5a3feb,_0x381a60+=_0x29518f*_0x5a3feb,_0x13b5c9+=_0x1bc2f6*_0x5a3feb;if(_0x41374d!==0x0){_0x25f7ab=Math[_0xff0a16(0x54c,0x5c2)](_0xee00d3/xke$1,x2o3$1);if(_0x41374d===0x2){_0x52afbf=_0x501def*_0x501def;var _0x46c573=_0x80964c;_0x80964c=_0xab27fe;var _0x4f553c=_0x4aa6a2;_0x4aa6a2=_0x5e5535,_0x3c3312=_0x80964c*_0x4aa6a2,_0x6bb247=-0.306-(_0x80964c-0.64)*0.44,_0x80964c<=0.65?(_0x5378cf=3.616-13.247*_0x80964c+16.29*_0x4aa6a2,_0x35743c=-19.302+117.39*_0x80964c-228.419*_0x4aa6a2+156.591*_0x3c3312,_0x410140=-18.9068+109.7927*_0x80964c-214.6334*_0x4aa6a2+146.5816*_0x3c3312,_0x45e2aa=-41.122+242.694*_0x80964c-471.094*_0x4aa6a2+313.953*_0x3c3312,_0x10016a=-146.407+841.88*_0x80964c-1629.014*_0x4aa6a2+1083.435*_0x3c3312,_0xa6fdd5=-532.114+3017.977*_0x80964c-5740.032*_0x4aa6a2+3708.276*_0x3c3312):(_0x5378cf=-72.099+331.819*_0x80964c-508.738*_0x4aa6a2+266.724*_0x3c3312,_0x35743c=-346.844+1582.851*_0x80964c-2415.925*_0x4aa6a2+1246.113*_0x3c3312,_0x410140=-342.585+1554.908*_0x80964c-2366.899*_0x4aa6a2+1215.972*_0x3c3312,_0x45e2aa=-1052.797+4758.686*_0x80964c-7193.992*_0x4aa6a2+3651.957*_0x3c3312,_0x10016a=-3581.69+16178.11*_0x80964c-24462.77*_0x4aa6a2+12422.52*_0x3c3312,_0x80964c>0.715?_0xa6fdd5=-5149.66+29936.92*_0x80964c-54087.36*_0x4aa6a2+31324.56*_0x3c3312:_0xa6fdd5=1464.74-4664.75*_0x80964c+3763.64*_0x4aa6a2),_0x80964c<0.7?(_0x3381a5=-919.2277+4988.61*_0x80964c-9064.77*_0x4aa6a2+5542.21*_0x3c3312,_0xfabf58=-822.71072+4568.6173*_0x80964c-8491.4146*_0x4aa6a2+5337.524*_0x3c3312,_0x5aae54=-853.666+4690.25*_0x80964c-8624.77*_0x4aa6a2+5341.4*_0x3c3312):(_0x3381a5=-37995.78+161616.52*_0x80964c-229838.2*_0x4aa6a2+109377.94*_0x3c3312,_0xfabf58=-51752.104+218913.95*_0x80964c-309468.16*_0x4aa6a2+146349.42*_0x3c3312,_0x5aae54=-40023.88+170470.89*_0x80964c-242699.48*_0x4aa6a2+115605.82*_0x3c3312),_0x367565=_0x25f9f*_0x25f9f,_0x435e24=0.75*(0x1+0x2*_0x501def+_0x52afbf),_0x45d09e=1.5*_0x367565,_0x3e36b1=1.875*_0x25f9f*(0x1-0x2*_0x501def-0x3*_0x52afbf),_0x1c2a64=-1.875*_0x25f9f*(0x1+0x2*_0x501def-0x3*_0x52afbf),_0x3b63ae=0x23*_0x367565*_0x435e24,_0xd13bb0=39.375*_0x367565*_0x367565,_0x5122fc=9.84375*_0x25f9f*(_0x367565*(0x1-0x2*_0x501def-0x5*_0x52afbf)+0.33333333*(-0x2+0x4*_0x501def+0x6*_0x52afbf)),_0x4496ad=_0x25f9f*(4.92187512*_0x367565*(-0x2-0x4*_0x501def+0xa*_0x52afbf)+6.56250012*(0x1+0x2*_0x501def-0x3*_0x52afbf)),_0x30b2f1=29.53125*_0x25f9f*(0x2-0x8*_0x501def+_0x52afbf*(-0xc+0x8*_0x501def+0xa*_0x52afbf)),_0x463ada=29.53125*_0x25f9f*(-0x2-0x8*_0x501def+_0x52afbf*(0xc+0x8*_0x501def-0xa*_0x52afbf)),_0x3c38d6=_0xee00d3*_0xee00d3,_0x4727a8=_0x25f7ab*_0x25f7ab,_0x29b6d7=0x3*_0x3c38d6*_0x4727a8,_0x4c7aee=_0x29b6d7*_0x4eb5fb,_0x1180f5=_0x4c7aee*_0x435e24*_0x6bb247,_0x24b218=_0x4c7aee*_0x45d09e*_0x5378cf,_0x29b6d7*=_0x25f7ab,_0x4c7aee=_0x29b6d7*_0x59e93c,_0x2a0eba=_0x4c7aee*_0x3e36b1*_0x35743c,_0x4070ad=_0x4c7aee*_0x1c2a64*_0x410140,_0x29b6d7*=_0x25f7ab,_0x4c7aee=0x2*_0x29b6d7*_0x405b0f,_0x16cfca=_0x4c7aee*_0x3b63ae*_0x45e2aa,_0xc70f0f=_0x4c7aee*_0xd13bb0*_0x10016a,_0x29b6d7*=_0x25f7ab,_0x4c7aee=_0x29b6d7*_0x490695,_0x23b05f=_0x4c7aee*_0x5122fc*_0xa6fdd5,_0x412e28=_0x4c7aee*_0x4496ad*_0x5aae54,_0x4c7aee=0x2*_0x29b6d7*_0x330b8e,_0x586f0c=_0x4c7aee*_0x30b2f1*_0xfabf58,_0x2efdbf=_0x4c7aee*_0x463ada*_0x3381a5,_0x5e919c=(_0x1c8c98+_0x5432e2+_0x5432e2-(_0x2704a3+_0x2704a3))%twoPi$1,_0x57687a=_0xd5428c+_0x1bc2f6+0x2*(_0x45ca85+_0x29518f-_0x1e6727)-_0x4c4018,_0x80964c=_0x46c573,_0x4aa6a2=_0x4f553c;}_0x41374d===0x1&&(_0x109894=0x1+_0x4aa6a2*(-2.5+0.8125*_0x4aa6a2),_0x35743c=0x1+0x2*_0x4aa6a2,_0x4b3c92=0x1+_0x4aa6a2*(-0x6+6.60937*_0x4aa6a2),_0x435e24=0.75*(0x1+_0x501def)*(0x1+_0x501def),_0x44d43f=0.9375*_0x25f9f*_0x25f9f*(0x1+0x3*_0x501def)-0.75*(0x1+_0x501def),_0x49e25a=0x1+_0x501def,_0x49e25a*=1.875*_0x49e25a*_0x49e25a,_0x353add=0x3*_0xee00d3*_0xee00d3*_0x25f7ab*_0x25f7ab,_0x59c42b=0x2*_0x353add*_0x435e24*_0x109894*_0x29d608,_0x38dc45=0x3*_0x353add*_0x49e25a*_0x4b3c92*_0x581fce*_0x25f7ab,_0x353add=_0x353add*_0x44d43f*_0x35743c*_0x2ae67e*_0x25f7ab,_0x5e919c=(_0x1c8c98+_0x5432e2+_0x1a638b-_0x2704a3)%twoPi$1,_0x57687a=_0xd5428c+_0xf7087+_0x1bc2f6+_0x4b0fc0+_0x29518f-(_0x4c4018+_0x1e6727)),_0x570b9e=_0x5e919c,_0x57c6aa=_0x4c4018,_0x54b565=0x0,_0xee00d3=_0x4c4018+_0x495ef7;}var _0x261c36={};_0x261c36['em']=_0x80964c,_0x261c36['argpm']=_0x8b3d13,_0x261c36['inclm']=_0x59c448,_0x261c36['mm']=_0x13b5c9,_0x261c36['nm']=_0xee00d3,_0x261c36[_0x249731(0x648,0x505)]=_0x381a60,_0x261c36['irez']=_0x41374d,_0x261c36['atime']=_0x54b565,_0x261c36[_0xff0a16(0x6a0,0x5ab)]=_0x1180f5,_0x261c36['d2211']=_0x24b218,_0x261c36['d3210']=_0x2a0eba,_0x261c36['d3222']=_0x4070ad,_0x261c36['d4410']=_0x16cfca,_0x261c36['d4422']=_0xc70f0f,_0x261c36['d5220']=_0x23b05f,_0x261c36['d5232']=_0x412e28,_0x261c36[_0xff0a16(0x4e8,0x5c9)]=_0x586f0c,_0x261c36['d5433']=_0x2efdbf,_0x261c36['dedt']=_0x1f7cb1,_0x261c36['didt']=_0x56cbb8,_0x261c36[_0xff0a16(0x62c,0x671)]=_0x1bc2f6,_0x261c36[_0xff0a16(0x6c8,0x7d4)]=_0x495ef7,_0x261c36['dnodt']=_0x29518f;function _0x249731(_0x378fbd,_0xc9a06){return _0x2a61be(_0x378fbd,_0xc9a06-0x335);}return _0x261c36['domdt']=_0x4b0fc0,_0x261c36['del1']=_0x353add,_0x261c36['del2']=_0x59c42b,_0x261c36[_0x249731(0x38c,0x4e3)]=_0x38dc45,_0x261c36[_0xff0a16(0x62f,0x68e)]=_0x57687a,_0x261c36['xlamo']=_0x5e919c,_0x261c36['xli']=_0x570b9e,_0x261c36['xni']=_0x57c6aa,_0x261c36;}function gstimeInternal$1(_0x43fa03){var _0x2f0d1d=(_0x43fa03-0x256859)/0x8ead,_0x3700bc=-0.0000062*_0x2f0d1d*_0x2f0d1d*_0x2f0d1d+0.093104*_0x2f0d1d*_0x2f0d1d+(0xd6038*0xe10+8640184.812866)*_0x2f0d1d+67310.54841;return _0x3700bc=_0x3700bc*deg2rad$1/0xf0%twoPi$1,_0x3700bc<0x0&&(_0x3700bc+=twoPi$1),_0x3700bc;}function gstime$1(){if((arguments[_0x190146(0x497,0x4ef)]<=0x0?undefined:arguments[0x0])instanceof Date||arguments['length']>0x1)return gstimeInternal$1(jday$1['apply'](void 0x0,arguments));function _0x190146(_0x27652c,_0x4656bd){return _0x4925de(_0x4656bd,_0x27652c-0x388);}return gstimeInternal$1['apply'](void 0x0,arguments);}function initl$1(_0x2e30da){var _0x5224e8=_0x2e30da[_0x142558(0x1a4,0x186)],_0x1bf30a=_0x2e30da[_0xb2a8d9(0x4a1,0x464)],_0x20fd70=_0x2e30da['inclo'],_0x11774f=_0x2e30da['opsmode'],_0x48dc06=_0x2e30da['no'],_0x287b5d=_0x5224e8*_0x5224e8,_0x14de82=0x1-_0x287b5d,_0x38f69a=Math['sqrt'](_0x14de82),_0x34170a=Math[_0x142558(0x184,0x78)](_0x20fd70),_0x4df121=_0x34170a*_0x34170a,_0x73d5ae=Math['pow'](xke$1/_0x48dc06,x2o3$1),_0x205ac9=0.75*j2$1*(0x3*_0x4df121-0x1)/(_0x38f69a*_0x14de82),_0x3483df=_0x205ac9/(_0x73d5ae*_0x73d5ae),_0x2df1ad=_0x73d5ae*(0x1-_0x3483df*_0x3483df-_0x3483df*(0x1/0x3+0x86*_0x3483df*_0x3483df/0x51));_0x3483df=_0x205ac9/(_0x2df1ad*_0x2df1ad),_0x48dc06/=0x1+_0x3483df;var _0x5e45b5=Math[_0x142558(0xd0,0x84)](xke$1/_0x48dc06,x2o3$1),_0x2406d8=Math['sin'](_0x20fd70),_0x511737=_0x5e45b5*_0x14de82,_0x3b9e7e=0x1-0x5*_0x4df121,_0x1172d4=-_0x3b9e7e-_0x4df121-_0x4df121,_0x1d762e=0x1/_0x5e45b5,_0x1752ad=_0x511737*_0x511737,_0x1d030f=_0x5e45b5*(0x1-_0x5224e8),_0x1670bc='n',_0x1e3021;if(_0x11774f==='a'){var _0x3c21d6=_0x1bf30a-0x1c89,_0x2a7b51=Math[_0x142558(-0x5,0x4d)](_0x3c21d6+1e-8),_0x2e2e53=_0x3c21d6-_0x2a7b51,_0x357e89=0.017202791694070362,_0x2e797b=1.7321343856509375,_0x549c21=5.075514194322695e-15,_0x17e540=_0x357e89+twoPi$1;_0x1e3021=(_0x2e797b+_0x357e89*_0x2a7b51+_0x17e540*_0x2e2e53+_0x3c21d6*_0x3c21d6*_0x549c21)%twoPi$1,_0x1e3021<0x0&&(_0x1e3021+=twoPi$1);}else _0x1e3021=gstime$1(_0x1bf30a+2433281.5);var _0x9fe518={};_0x9fe518['no']=_0x48dc06,_0x9fe518[_0xb2a8d9(0x37e,0x433)]=_0x1670bc,_0x9fe518['ainv']=_0x1d762e,_0x9fe518['ao']=_0x5e45b5;function _0xb2a8d9(_0x5a37c5,_0x5793e3){return _0x4925de(_0x5a37c5,_0x5793e3-0xfe);}_0x9fe518[_0x142558(0x88,0x86)]=_0x1172d4,_0x9fe518['con42']=_0x3b9e7e,_0x9fe518[_0xb2a8d9(0x5e4,0x4ac)]=_0x34170a,_0x9fe518['cosio2']=_0x4df121,_0x9fe518['eccsq']=_0x287b5d,_0x9fe518['omeosq']=_0x14de82,_0x9fe518[_0xb2a8d9(0x348,0x1f0)]=_0x1752ad,_0x9fe518['rp']=_0x1d030f,_0x9fe518['rteosq']=_0x38f69a,_0x9fe518['sinio']=_0x2406d8,_0x9fe518[_0x142558(0x367,0x25f)]=_0x1e3021;function _0x142558(_0x368e9f,_0x5f0d0e){return _0x2a61be(_0x368e9f,_0x5f0d0e- -0x142);}return _0x9fe518;}function dspace$1(_0x4f706c){var _0x5976d1=_0x4f706c['irez'],_0x3b08c9=_0x4f706c[_0x29bc9b(0x3ff,0x403)],_0x91f501=_0x4f706c['d2211'],_0x4ad0a9=_0x4f706c['d3210'],_0x16e10d=_0x4f706c[_0xa586c5(0x465,0x3e8)],_0x296d58=_0x4f706c[_0xa586c5(0x58e,0x608)],_0x5bbca0=_0x4f706c['d4422'],_0x422593=_0x4f706c['d5220'],_0x551ba5=_0x4f706c['d5232'],_0x20a772=_0x4f706c[_0xa586c5(0x3dd,0x2e2)],_0x266fd7=_0x4f706c['d5433'],_0x1d967e=_0x4f706c['dedt'],_0x4061ee=_0x4f706c[_0x29bc9b(0x598,0x697)],_0xfe5a29=_0x4f706c['del2'],_0x110b0b=_0x4f706c['del3'],_0x151129=_0x4f706c[_0x29bc9b(0x669,0x5f7)],_0xba723c=_0x4f706c[_0x29bc9b(0x5a7,0x4c9)],_0x5f3f1a=_0x4f706c[_0xa586c5(0x44f,0x4f3)],_0x9427ce=_0x4f706c['domdt'],_0x4bdbcd=_0x4f706c['argpo'],_0x5b4b55=_0x4f706c['argpdot'],_0x324a91=_0x4f706c['t'],_0x36fb96=_0x4f706c['tc'],_0x3615a0=_0x4f706c[_0xa586c5(0x5b1,0x4c6)],_0x1a6bd6=_0x4f706c['xfact'],_0x469b8e=_0x4f706c[_0xa586c5(0x3f4,0x405)],_0x4af064=_0x4f706c['no'],_0x437b40=_0x4f706c['atime'],_0x5a56a7=_0x4f706c['em'],_0x2d98d3=_0x4f706c['argpm'],_0x2f7777=_0x4f706c['inclm'],_0x115a0f=_0x4f706c[_0x29bc9b(0x4f9,0x61f)],_0x441811=_0x4f706c['mm'],_0x243742=_0x4f706c['xni'],_0x3149e4=_0x4f706c[_0x29bc9b(0x4a1,0x424)],_0x3d74d5=_0x4f706c['nm'],_0x2e52d2=0.13130908,_0x59b91f=2.8843198,_0x2ba59f=0.37448087,_0x399055=5.7686396,_0x3cfa93=0.95240898,_0xf97ece=1.8014998,_0x36091c=1.050833,_0xd6e11e=4.4108898,_0x39eead=0.0043752690880113,_0x44762f=0x2d0,_0x2e3dd7=-0x2d0;function _0x29bc9b(_0x46762e,_0x3cf06c){return _0x4925de(_0x46762e,_0x3cf06c-0x305);}var _0x4f14f9=0x3f480,_0x27e51c;function _0xa586c5(_0x8f93c2,_0x4a69ef){return _0x2a61be(_0x4a69ef,_0x8f93c2-0x210);}var _0x4138b8,_0x1365ff,_0x75f4ef,_0x27d834,_0x147187,_0xf6136b,_0x294d2f,_0x5c9d74=0x0,_0x5f082a=0x0,_0x5128f8=(_0x3615a0+_0x36fb96*_0x39eead)%twoPi$1;_0x5a56a7+=_0x1d967e*_0x324a91,_0x2f7777+=_0x151129*_0x324a91,_0x2d98d3+=_0x9427ce*_0x324a91,_0x3149e4+=_0x5f3f1a*_0x324a91,_0x441811+=_0xba723c*_0x324a91;if(_0x5976d1!==0x0){(_0x437b40===0x0||_0x324a91*_0x437b40<=0x0||Math[_0xa586c5(0x452,0x37c)](_0x324a91)0x0?_0x27e51c=_0x44762f:_0x27e51c=_0x2e3dd7;var _0x3d41c3=0x17d;while(_0x3d41c3===0x17d){_0x5976d1!==0x2?(_0xf6136b=_0x4061ee*Math[_0x29bc9b(0x475,0x4e9)](_0x115a0f-_0x2e52d2)+_0xfe5a29*Math[_0x29bc9b(0x5c4,0x4e9)](0x2*(_0x115a0f-_0x59b91f))+_0x110b0b*Math[_0x29bc9b(0x4ed,0x4e9)](0x3*(_0x115a0f-_0x2ba59f)),_0x27d834=_0x243742+_0x1a6bd6,_0x147187=_0x4061ee*Math['cos'](_0x115a0f-_0x2e52d2)+0x2*_0xfe5a29*Math['cos'](0x2*(_0x115a0f-_0x59b91f))+0x3*_0x110b0b*Math['cos'](0x3*(_0x115a0f-_0x2ba59f)),_0x147187*=_0x27d834):(_0x294d2f=_0x4bdbcd+_0x5b4b55*_0x437b40,_0x1365ff=_0x294d2f+_0x294d2f,_0x4138b8=_0x115a0f+_0x115a0f,_0xf6136b=_0x3b08c9*Math[_0x29bc9b(0x41c,0x4e9)](_0x1365ff+_0x115a0f-_0x399055)+_0x91f501*Math['sin'](_0x115a0f-_0x399055)+_0x4ad0a9*Math['sin'](_0x294d2f+_0x115a0f-_0x3cfa93)+_0x16e10d*Math[_0xa586c5(0x4a5,0x59d)](-_0x294d2f+_0x115a0f-_0x3cfa93)+_0x296d58*Math[_0x29bc9b(0x5a6,0x4e9)](_0x1365ff+_0x4138b8-_0xf97ece)+_0x5bbca0*Math['sin'](_0x4138b8-_0xf97ece)+_0x422593*Math[_0xa586c5(0x4a5,0x55a)](_0x294d2f+_0x115a0f-_0x36091c)+_0x551ba5*Math[_0x29bc9b(0x3ed,0x4e9)](-_0x294d2f+_0x115a0f-_0x36091c)+_0x20a772*Math[_0x29bc9b(0x3ef,0x4e9)](_0x294d2f+_0x4138b8-_0xd6e11e)+_0x266fd7*Math['sin'](-_0x294d2f+_0x4138b8-_0xd6e11e),_0x27d834=_0x243742+_0x1a6bd6,_0x147187=_0x3b08c9*Math[_0x29bc9b(0x309,0x40e)](_0x1365ff+_0x115a0f-_0x399055)+_0x91f501*Math['cos'](_0x115a0f-_0x399055)+_0x4ad0a9*Math['cos'](_0x294d2f+_0x115a0f-_0x3cfa93)+_0x16e10d*Math['cos'](-_0x294d2f+_0x115a0f-_0x3cfa93)+_0x422593*Math['cos'](_0x294d2f+_0x115a0f-_0x36091c)+_0x551ba5*Math['cos'](-_0x294d2f+_0x115a0f-_0x36091c)+0x2*(_0x296d58*Math[_0xa586c5(0x3ca,0x30e)](_0x1365ff+_0x4138b8-_0xf97ece)+_0x5bbca0*Math[_0xa586c5(0x3ca,0x25b)](_0x4138b8-_0xf97ece)+_0x20a772*Math['cos'](_0x294d2f+_0x4138b8-_0xd6e11e)+_0x266fd7*Math[_0x29bc9b(0x3fa,0x40e)](-_0x294d2f+_0x4138b8-_0xd6e11e)),_0x147187*=_0x27d834),Math['abs'](_0x324a91-_0x437b40)>=_0x44762f?_0x3d41c3=0x17d:(_0x5f082a=_0x324a91-_0x437b40,_0x3d41c3=0x0),_0x3d41c3===0x17d&&(_0x115a0f+=_0x27d834*_0x27e51c+_0xf6136b*_0x4f14f9,_0x243742+=_0xf6136b*_0x27e51c+_0x147187*_0x4f14f9,_0x437b40+=_0x27e51c);}_0x3d74d5=_0x243742+_0xf6136b*_0x5f082a+_0x147187*_0x5f082a*_0x5f082a*0.5,_0x75f4ef=_0x115a0f+_0x27d834*_0x5f082a+_0xf6136b*_0x5f082a*_0x5f082a*0.5,_0x5976d1!==0x1?(_0x441811=_0x75f4ef-0x2*_0x3149e4+0x2*_0x5128f8,_0x5c9d74=_0x3d74d5-_0x4af064):(_0x441811=_0x75f4ef-_0x3149e4-_0x2d98d3+_0x5128f8,_0x5c9d74=_0x3d74d5-_0x4af064),_0x3d74d5=_0x4af064+_0x5c9d74;}var _0xbe2865={};return _0xbe2865['atime']=_0x437b40,_0xbe2865['em']=_0x5a56a7,_0xbe2865[_0x29bc9b(0x440,0x410)]=_0x2d98d3,_0xbe2865[_0xa586c5(0x45e,0x580)]=_0x2f7777,_0xbe2865['xli']=_0x115a0f,_0xbe2865['mm']=_0x441811,_0xbe2865[_0xa586c5(0x54c,0x4fc)]=_0x243742,_0xbe2865['nodem']=_0x3149e4,_0xbe2865['dndt']=_0x5c9d74,_0xbe2865['nm']=_0x3d74d5,_0xbe2865;}function sgp4$1(_0x588023,_0x16860b){var _0x3dc8c2,_0x457201,_0x274ce3,_0x1b9dd3,_0x584ae4,_0x523181,_0x12be73,_0x3b780f,_0x5021c2,_0x45f84c,_0x55e51c,_0x3f1d27,_0x42b1d0,_0x40d7e2,_0x5ccf37,_0x474a57,_0x385228,_0x5e8f9f,_0x1ef976,_0x138a35,_0x244e47,_0x1626b5,_0x46e7f9,_0x3ea22b,_0x578bc7,_0x18623a,_0x35645e,_0x3ac24d=1.5e-12;_0x588023['t']=_0x16860b,_0x588023[_0x1266f5(0x485,0x568)]=0x0;var _0x28056d=_0x588023['mo']+_0x588023[_0x1266f5(0x28c,0x3fe)]*_0x588023['t'],_0x38da7a=_0x588023['argpo']+_0x588023['argpdot']*_0x588023['t'],_0x399931=_0x588023['nodeo']+_0x588023['nodedot']*_0x588023['t'];_0x5021c2=_0x38da7a,_0x244e47=_0x28056d;var _0x5cfca8=_0x588023['t']*_0x588023['t'];_0x46e7f9=_0x399931+_0x588023[_0x1266f5(0x216,0x1cc)]*_0x5cfca8,_0x385228=0x1-_0x588023['cc1']*_0x588023['t'],_0x5e8f9f=_0x588023['bstar']*_0x588023[_0x3fdfe4(0x69f,0x7cc)]*_0x588023['t'],_0x1ef976=_0x588023['t2cof']*_0x5cfca8;if(_0x588023[_0x1266f5(0x2e1,0x3fd)]!==0x1){_0x12be73=_0x588023['omgcof']*_0x588023['t'];var _0x465554=0x1+_0x588023[_0x3fdfe4(0x797,0x8e4)]*Math['cos'](_0x28056d);_0x523181=_0x588023['xmcof']*(_0x465554*_0x465554*_0x465554-_0x588023['delmo']),_0x474a57=_0x12be73+_0x523181,_0x244e47=_0x28056d+_0x474a57,_0x5021c2=_0x38da7a-_0x474a57,_0x3f1d27=_0x5cfca8*_0x588023['t'],_0x42b1d0=_0x3f1d27*_0x588023['t'],_0x385228=_0x385228-_0x588023['d2']*_0x5cfca8-_0x588023['d3']*_0x3f1d27-_0x588023['d4']*_0x42b1d0,_0x5e8f9f+=_0x588023['bstar']*_0x588023['cc5']*(Math['sin'](_0x244e47)-_0x588023[_0x3fdfe4(0x847,0x874)]),_0x1ef976=_0x1ef976+_0x588023['t3cof']*_0x3f1d27+_0x42b1d0*(_0x588023[_0x3fdfe4(0x78b,0x7c7)]+_0x588023['t']*_0x588023[_0x1266f5(0x33e,0x22c)]);}_0x1626b5=_0x588023['no'];var _0x2d05bb=_0x588023['ecco'];_0x138a35=_0x588023['inclo'];if(_0x588023[_0x1266f5(0x477,0x356)]==='d'){_0x40d7e2=_0x588023['t'];var _0x53313d={};_0x53313d['irez']=_0x588023['irez'],_0x53313d['d2201']=_0x588023['d2201'],_0x53313d[_0x3fdfe4(0x730,0x733)]=_0x588023[_0x3fdfe4(0x730,0x68c)],_0x53313d[_0x1266f5(0x3b6,0x3a9)]=_0x588023[_0x1266f5(0x3b6,0x4fc)],_0x53313d['d3222']=_0x588023[_0x1266f5(0x2e6,0x3c4)],_0x53313d[_0x1266f5(0x40f,0x417)]=_0x588023['d4410'],_0x53313d['d4422']=_0x588023['d4422'],_0x53313d['d5220']=_0x588023[_0x1266f5(0x416,0x3f5)],_0x53313d['d5232']=_0x588023[_0x1266f5(0x2c6,0x435)],_0x53313d['d5421']=_0x588023['d5421'],_0x53313d['d5433']=_0x588023[_0x1266f5(0x22c,0x2be)],_0x53313d['dedt']=_0x588023['dedt'],_0x53313d['del1']=_0x588023['del1'],_0x53313d['del2']=_0x588023[_0x1266f5(0x265,0x1e6)],_0x53313d[_0x1266f5(0x23f,0x2e4)]=_0x588023[_0x1266f5(0x23f,0x328)],_0x53313d[_0x3fdfe4(0x794,0x7aa)]=_0x588023['didt'],_0x53313d['dmdt']=_0x588023['dmdt'],_0x53313d['dnodt']=_0x588023['dnodt'],_0x53313d[_0x1266f5(0x4f4,0x429)]=_0x588023[_0x3fdfe4(0x854,0x750)],_0x53313d[_0x1266f5(0x3da,0x289)]=_0x588023['argpo'],_0x53313d['argpdot']=_0x588023['argpdot'],_0x53313d['t']=_0x588023['t'],_0x53313d['tc']=_0x40d7e2,_0x53313d[_0x1266f5(0x432,0x422)]=_0x588023['gsto'],_0x53313d['xfact']=_0x588023['xfact'],_0x53313d['xlamo']=_0x588023['xlamo'],_0x53313d['no']=_0x588023['no'],_0x53313d['atime']=_0x588023[_0x1266f5(0x49a,0x50d)],_0x53313d['em']=_0x2d05bb,_0x53313d[_0x3fdfe4(0x5ad,0x4c7)]=_0x5021c2,_0x53313d[_0x3fdfe4(0x63f,0x630)]=_0x138a35,_0x53313d['xli']=_0x588023['xli'],_0x53313d['mm']=_0x244e47,_0x53313d[_0x3fdfe4(0x72d,0x829)]=_0x588023[_0x3fdfe4(0x72d,0x6a8)],_0x53313d[_0x3fdfe4(0x5c1,0x688)]=_0x46e7f9,_0x53313d['nm']=_0x1626b5;var _0x439078=_0x53313d,_0x3a9429=dspace$1(_0x439078);_0x2d05bb=_0x3a9429['em'],_0x5021c2=_0x3a9429['argpm'],_0x138a35=_0x3a9429['inclm'],_0x244e47=_0x3a9429['mm'],_0x46e7f9=_0x3a9429['nodem'],_0x1626b5=_0x3a9429['nm'];}if(_0x1626b5<=0x0)return _0x588023[_0x1266f5(0x485,0x498)]=0x2,[![],![]];var _0x35e72d=Math[_0x3fdfe4(0x5b7,0x66c)](xke$1/_0x1626b5,x2o3$1)*_0x385228*_0x385228;_0x1626b5=xke$1/Math[_0x3fdfe4(0x5b7,0x5bb)](_0x35e72d,1.5),_0x2d05bb-=_0x5e8f9f;if(_0x2d05bb>=0x1||_0x2d05bb<-0.001)return _0x588023[_0x3fdfe4(0x7e5,0x79f)]=0x1,[![],![]];_0x2d05bb<0.000001&&(_0x2d05bb=0.000001);_0x244e47+=_0x588023['no']*_0x1ef976,_0x578bc7=_0x244e47+_0x5021c2+_0x46e7f9,_0x46e7f9%=twoPi$1,_0x5021c2%=twoPi$1,_0x578bc7%=twoPi$1,_0x244e47=(_0x578bc7-_0x5021c2-_0x46e7f9)%twoPi$1;var _0xc684ed=Math['sin'](_0x138a35),_0x2fedb4=Math[_0x1266f5(0x24b,0x1ed)](_0x138a35);function _0x3fdfe4(_0x286483,_0x307474){return _0x4925de(_0x307474,_0x286483-0x4a2);}var _0x500dfb=_0x2d05bb;_0x3ea22b=_0x138a35,_0x45f84c=_0x5021c2,_0x35645e=_0x46e7f9,_0x18623a=_0x244e47,_0x1b9dd3=_0xc684ed,_0x274ce3=_0x2fedb4;if(_0x588023[_0x3fdfe4(0x7d7,0x7de)]==='d'){var _0x12ab75={};_0x12ab75['inclo']=_0x588023[_0x3fdfe4(0x5d2,0x6dc)],_0x12ab75[_0x1266f5(0x301,0x1b5)]='n',_0x12ab75['ep']=_0x500dfb,_0x12ab75[_0x1266f5(0x267,0x2c8)]=_0x3ea22b,_0x12ab75['nodep']=_0x35645e,_0x12ab75['argpp']=_0x45f84c,_0x12ab75['mp']=_0x18623a,_0x12ab75[_0x1266f5(0x4df,0x5d2)]=_0x588023['operationmode'];var _0x991497=_0x12ab75,_0x2b8311=dpper$1(_0x588023,_0x991497);_0x500dfb=_0x2b8311['ep'],_0x35645e=_0x2b8311['nodep'],_0x45f84c=_0x2b8311['argpp'],_0x18623a=_0x2b8311['mp'],_0x3ea22b=_0x2b8311['inclp'];_0x3ea22b<0x0&&(_0x3ea22b=-_0x3ea22b,_0x35645e+=pi$1,_0x45f84c-=pi$1);if(_0x500dfb<0x0||_0x500dfb>0x1)return _0x588023['error']=0x3,[![],![]];}_0x588023['method']==='d'&&(_0x1b9dd3=Math[_0x3fdfe4(0x686,0x577)](_0x3ea22b),_0x274ce3=Math['cos'](_0x3ea22b),_0x588023['aycof']=-0.5*j3oj2$1*_0x1b9dd3,Math['abs'](_0x274ce3+0x1)>1.5e-12?_0x588023['xlcof']=-0.25*j3oj2$1*_0x1b9dd3*(0x3+0x5*_0x274ce3)/(0x1+_0x274ce3):_0x588023['xlcof']=-0.25*j3oj2$1*_0x1b9dd3*(0x3+0x5*_0x274ce3)/_0x3ac24d);var _0x29680a=_0x500dfb*Math[_0x1266f5(0x24b,0x371)](_0x45f84c);_0x474a57=0x1/(_0x35e72d*(0x1-_0x500dfb*_0x500dfb));var _0x146ace=_0x500dfb*Math['sin'](_0x45f84c)+_0x474a57*_0x588023['aycof'],_0x44c5c8=_0x18623a+_0x45f84c+_0x35645e+_0x474a57*_0x588023['xlcof']*_0x29680a,_0x9a94c7=(_0x44c5c8-_0x35645e)%twoPi$1;_0x3b780f=_0x9a94c7,_0x5ccf37=9999.9;var _0x4698b3=0x1;while(Math['abs'](_0x5ccf37)>=1e-12&&_0x4698b3<=0xa){_0x457201=Math[_0x3fdfe4(0x686,0x687)](_0x3b780f),_0x3dc8c2=Math['cos'](_0x3b780f),_0x5ccf37=0x1-_0x3dc8c2*_0x29680a-_0x457201*_0x146ace,_0x5ccf37=(_0x9a94c7-_0x146ace*_0x3dc8c2+_0x29680a*_0x457201-_0x3b780f)/_0x5ccf37,Math[_0x3fdfe4(0x633,0x55a)](_0x5ccf37)>=0.95&&(_0x5ccf37>0x0?_0x5ccf37=0.95:_0x5ccf37=-0.95),_0x3b780f+=_0x5ccf37,_0x4698b3+=0x1;}var _0xb65c1f=_0x29680a*_0x3dc8c2+_0x146ace*_0x457201,_0x19915c=_0x29680a*_0x457201-_0x146ace*_0x3dc8c2,_0x4d7d7f=_0x29680a*_0x29680a+_0x146ace*_0x146ace,_0x326a3c=_0x35e72d*(0x1-_0x4d7d7f);if(_0x326a3c<0x0)return _0x588023['error']=0x4,[![],![]];var _0x4bef6f=_0x35e72d*(0x1-_0xb65c1f),_0x350654=Math['sqrt'](_0x35e72d)*_0x19915c/_0x4bef6f,_0x491215=Math['sqrt'](_0x326a3c)/_0x4bef6f,_0x16ccb6=Math['sqrt'](0x1-_0x4d7d7f);_0x474a57=_0x19915c/(0x1+_0x16ccb6);var _0x55ba20=_0x35e72d/_0x4bef6f*(_0x457201-_0x146ace-_0x29680a*_0x474a57),_0x45df0f=_0x35e72d/_0x4bef6f*(_0x3dc8c2-_0x29680a+_0x146ace*_0x474a57);function _0x1266f5(_0x53fa1a,_0x213c4f){return _0x4925de(_0x213c4f,_0x53fa1a-0x142);}_0x55e51c=Math['atan2'](_0x55ba20,_0x45df0f);var _0x3c430e=(_0x45df0f+_0x45df0f)*_0x55ba20,_0xde6203=0x1-0x2*_0x55ba20*_0x55ba20;_0x474a57=0x1/_0x326a3c;var _0x358b3d=0.5*j2$1*_0x474a57,_0x1bbf50=_0x358b3d*_0x474a57;_0x588023['method']==='d'&&(_0x584ae4=_0x274ce3*_0x274ce3,_0x588023['con41']=0x3*_0x584ae4-0x1,_0x588023['x1mth2']=0x1-_0x584ae4,_0x588023['x7thm1']=0x7*_0x584ae4-0x1);var _0x549f2f=_0x4bef6f*(0x1-1.5*_0x1bbf50*_0x16ccb6*_0x588023['con41'])+0.5*_0x358b3d*_0x588023[_0x1266f5(0x49d,0x3ea)]*_0xde6203;if(_0x549f2f<0x1){_0x588023['error']=0x6;var _0x23584d={};return _0x23584d[_0x1266f5(0x3a7,0x452)]=![],_0x23584d['velocity']=![],_0x23584d;}_0x55e51c-=0.25*_0x1bbf50*_0x588023['x7thm1']*_0x3c430e;var _0xd824c4=_0x35645e+1.5*_0x1bbf50*_0x274ce3*_0x3c430e,_0x48ff60=_0x3ea22b+1.5*_0x1bbf50*_0x274ce3*_0x1b9dd3*_0xde6203,_0x1386de=_0x350654-_0x1626b5*_0x358b3d*_0x588023['x1mth2']*_0x3c430e/xke$1,_0x1d45e6=_0x491215+_0x1626b5*_0x358b3d*(_0x588023['x1mth2']*_0xde6203+1.5*_0x588023[_0x3fdfe4(0x5b9,0x64b)])/xke$1,_0x367486=Math['sin'](_0x55e51c),_0x371e91=Math['cos'](_0x55e51c),_0x258c19=Math['sin'](_0xd824c4),_0x57c77a=Math[_0x3fdfe4(0x5ab,0x61e)](_0xd824c4),_0x3d26c8=Math[_0x3fdfe4(0x686,0x783)](_0x48ff60),_0x5082d6=Math['cos'](_0x48ff60),_0x18b145=-_0x258c19*_0x5082d6,_0x599814=_0x57c77a*_0x5082d6,_0x5effe4=_0x18b145*_0x367486+_0x57c77a*_0x371e91,_0x5795a8=_0x599814*_0x367486+_0x258c19*_0x371e91,_0x37104a=_0x3d26c8*_0x367486,_0x33f423=_0x18b145*_0x371e91-_0x57c77a*_0x367486,_0x21c207=_0x599814*_0x371e91-_0x258c19*_0x367486,_0x22c433=_0x3d26c8*_0x371e91,_0x4a3332={};_0x4a3332['x']=_0x549f2f*_0x5effe4*earthRadius$1,_0x4a3332['y']=_0x549f2f*_0x5795a8*earthRadius$1,_0x4a3332['z']=_0x549f2f*_0x37104a*earthRadius$1;var _0x10648c=_0x4a3332,_0x8e5d10={};_0x8e5d10['x']=(_0x1386de*_0x5effe4+_0x1d45e6*_0x33f423)*vkmpersec$1,_0x8e5d10['y']=(_0x1386de*_0x5795a8+_0x1d45e6*_0x21c207)*vkmpersec$1,_0x8e5d10['z']=(_0x1386de*_0x37104a+_0x1d45e6*_0x22c433)*vkmpersec$1;var _0x96241f=_0x8e5d10,_0x4b7b58={};return _0x4b7b58['position']=_0x10648c,_0x4b7b58['velocity']=_0x96241f,_0x4b7b58;}function sgp4init$1(_0xaeec4f,_0x3e22ab){var _0xf05cd6=_0x3e22ab['opsmode'],_0x260eba=_0x3e22ab['satn'],_0x46bb03=_0x3e22ab['epoch'],_0x37d73d=_0x3e22ab[_0x3131d8(0x3c6,0x2bd)],_0x23609c=_0x3e22ab[_0x3131d8(0x5ac,0x465)],_0x106467=_0x3e22ab['xargpo'],_0x3676d6=_0x3e22ab['xinclo'],_0x1c935c=_0x3e22ab['xmo'],_0x39a2a0=_0x3e22ab['xno'],_0x168551=_0x3e22ab['xnodeo'],_0xc8848e,_0x2e83c8,_0x23892c,_0x1e8032,_0x5e332e,_0x43f3e0,_0x3a5080,_0x5a39fb,_0x5104ef,_0x11a1e4,_0xea9b9e,_0x1a5dc4,_0x16330f,_0x4b9afc,_0x8f972a,_0x1076f3,_0x5d11d3,_0x28f26b,_0x28d075,_0x308acd,_0xa26df5,_0x10b374,_0x556945,_0xfa3712,_0x2af30e,_0x4cba8e,_0x4d9fcc,_0x10d2ca,_0x19ac06,_0xaa5313,_0x293447;function _0x560f84(_0x168d7a,_0x4f8197){return _0x4925de(_0x4f8197,_0x168d7a- -0x6c);}var _0x5e3d47,_0x1dbd20,_0x1009e2,_0x4797fb,_0xf2c5eb,_0x4566d4,_0x38bddd,_0x1e8cd7,_0x5782fe,_0x254cf3,_0x265689,_0x4ed0d1,_0x955740,_0x324d0c,_0x2fa16b,_0x2743e1,_0x372282,_0x481a1a,_0x3bce9b,_0x1d7559,_0x5bc9fc,_0x3989ab,_0x102273,_0x24b76b,_0x3a23ca,_0x43f67e=1.5e-12;_0xaeec4f['isimp']=0x0,_0xaeec4f['method']='n',_0xaeec4f[_0x560f84(0x1ea,0x336)]=0x0,_0xaeec4f['con41']=0x0,_0xaeec4f['cc1']=0x0;function _0x3131d8(_0x1523f2,_0x5bdba5){return _0x2a61be(_0x1523f2,_0x5bdba5-0xd0);}_0xaeec4f[_0x560f84(0x191,0xdd)]=0x0,_0xaeec4f[_0x560f84(0x2e9,0x394)]=0x0,_0xaeec4f['d2']=0x0,_0xaeec4f['d3']=0x0,_0xaeec4f['d4']=0x0,_0xaeec4f['delmo']=0x0,_0xaeec4f['eta']=0x0,_0xaeec4f[_0x3131d8(0x3bf,0x376)]=0x0,_0xaeec4f['omgcof']=0x0,_0xaeec4f['sinmao']=0x0,_0xaeec4f['t']=0x0,_0xaeec4f[_0x3131d8(0x399,0x2de)]=0x0,_0xaeec4f[_0x560f84(0x307,0x43d)]=0x0,_0xaeec4f[_0x3131d8(0x4e8,0x46a)]=0x0,_0xaeec4f['t5cof']=0x0,_0xaeec4f[_0x3131d8(0x5f8,0x4dc)]=0x0,_0xaeec4f[_0x3131d8(0x1a9,0x2d7)]=0x0,_0xaeec4f['mdot']=0x0,_0xaeec4f['nodedot']=0x0,_0xaeec4f['xlcof']=0x0,_0xaeec4f[_0x560f84(0x151,0x15b)]=0x0,_0xaeec4f['nodecf']=0x0,_0xaeec4f['irez']=0x0,_0xaeec4f[_0x3131d8(0x111,0x27f)]=0x0,_0xaeec4f[_0x560f84(0x222,0x37c)]=0x0,_0xaeec4f['d3210']=0x0,_0xaeec4f[_0x560f84(0x138,0x102)]=0x0,_0xaeec4f['d4410']=0x0,_0xaeec4f[_0x3131d8(0x27d,0x2a1)]=0x0,_0xaeec4f['d5220']=0x0,_0xaeec4f[_0x3131d8(0x222,0x305)]=0x0,_0xaeec4f[_0x3131d8(0x214,0x29d)]=0x0,_0xaeec4f[_0x560f84(0x7e,-0xdc)]=0x0,_0xaeec4f['dedt']=0x0,_0xaeec4f[_0x560f84(0x326,0x36d)]=0x0,_0xaeec4f['del2']=0x0,_0xaeec4f['del3']=0x0,_0xaeec4f[_0x3131d8(0x3e9,0x473)]=0x0,_0xaeec4f['dmdt']=0x0,_0xaeec4f[_0x560f84(0x122,0x233)]=0x0,_0xaeec4f[_0x3131d8(0x63f,0x533)]=0x0,_0xaeec4f['e3']=0x0,_0xaeec4f['ee2']=0x0,_0xaeec4f['peo']=0x0,_0xaeec4f['pgho']=0x0,_0xaeec4f['pho']=0x0,_0xaeec4f['pinco']=0x0,_0xaeec4f[_0x560f84(0x2b9,0x209)]=0x0,_0xaeec4f['se2']=0x0,_0xaeec4f[_0x560f84(0x78,-0x3d)]=0x0,_0xaeec4f[_0x560f84(0xfd,-0x69)]=0x0,_0xaeec4f['sgh3']=0x0,_0xaeec4f['sgh4']=0x0,_0xaeec4f[_0x3131d8(0x3be,0x3ca)]=0x0,_0xaeec4f[_0x560f84(0x1fe,0x17c)]=0x0,_0xaeec4f['si2']=0x0,_0xaeec4f['si3']=0x0,_0xaeec4f[_0x3131d8(0x55c,0x490)]=0x0,_0xaeec4f['sl3']=0x0,_0xaeec4f[_0x3131d8(0x385,0x39b)]=0x0,_0xaeec4f[_0x560f84(0x284,0x274)]=0x0,_0xaeec4f[_0x3131d8(0x1f5,0x362)]=0x0,_0xaeec4f['xgh2']=0x0,_0xaeec4f['xgh3']=0x0,_0xaeec4f['xgh4']=0x0,_0xaeec4f['xh2']=0x0,_0xaeec4f['xh3']=0x0,_0xaeec4f[_0x3131d8(0x2cd,0x2c8)]=0x0,_0xaeec4f['xi3']=0x0,_0xaeec4f['xl2']=0x0,_0xaeec4f['xl3']=0x0,_0xaeec4f['xl4']=0x0,_0xaeec4f['xlamo']=0x0,_0xaeec4f['zmol']=0x0,_0xaeec4f['zmos']=0x0,_0xaeec4f['atime']=0x0,_0xaeec4f['xli']=0x0,_0xaeec4f['xni']=0x0,_0xaeec4f[_0x560f84(0x84,-0xe7)]=_0x37d73d,_0xaeec4f[_0x560f84(0x1ab,0xd1)]=_0x23609c,_0xaeec4f['argpo']=_0x106467,_0xaeec4f['inclo']=_0x3676d6,_0xaeec4f['mo']=_0x1c935c,_0xaeec4f['no']=_0x39a2a0,_0xaeec4f[_0x3131d8(0x508,0x481)]=_0x168551,_0xaeec4f[_0x560f84(0x25a,0x1b3)]=_0xf05cd6;var _0x53917c=0x4e/earthRadius$1+0x1,_0xe135b1=(0x78-0x4e)/earthRadius$1,_0x5ca8ec=_0xe135b1*_0xe135b1*_0xe135b1*_0xe135b1;_0xaeec4f['init']='y',_0xaeec4f['t']=0x0;var _0x4af48b={};_0x4af48b[_0x3131d8(0x2d1,0x27c)]=_0x260eba,_0x4af48b[_0x560f84(0x1ab,0x7b)]=_0xaeec4f['ecco'],_0x4af48b['epoch']=_0x46bb03,_0x4af48b['inclo']=_0xaeec4f['inclo'],_0x4af48b['no']=_0xaeec4f['no'],_0x4af48b['method']=_0xaeec4f['method'],_0x4af48b['opsmode']=_0xaeec4f['operationmode'];var _0x511e2f=_0x4af48b,_0xde043b=initl$1(_0x511e2f),_0x26e124=_0xde043b['ao'],_0x1d4104=_0xde043b['con42'],_0x5edf21=_0xde043b['cosio'],_0x283f44=_0xde043b[_0x560f84(0x33c,0x33b)],_0x351340=_0xde043b[_0x560f84(0x200,0x185)],_0x5a8dad=_0xde043b[_0x3131d8(0x369,0x3ec)],_0x4157e6=_0xde043b[_0x560f84(0x86,-0xb2)],_0x3fc6df=_0xde043b['rp'],_0x1eba34=_0xde043b['rteosq'],_0x7dda24=_0xde043b[_0x560f84(0x8a,0x1e8)];_0xaeec4f['no']=_0xde043b['no'],_0xaeec4f[_0x3131d8(0x2b7,0x298)]=_0xde043b[_0x560f84(0xab,0x52)],_0xaeec4f[_0x3131d8(0x583,0x471)]=_0xde043b['gsto'],_0xaeec4f['a']=Math[_0x560f84(0xa9,0x14c)](_0xaeec4f['no']*tumin$1,-0x2/0x3),_0xaeec4f['alta']=_0xaeec4f['a']*(0x1+_0xaeec4f['ecco'])-0x1,_0xaeec4f[_0x560f84(0xf0,0x1d3)]=_0xaeec4f['a']*(0x1-_0xaeec4f[_0x3131d8(0x2f0,0x398)])-0x1,_0xaeec4f['error']=0x0;if(_0x5a8dad>=0x0||_0xaeec4f['no']>=0x0){_0xaeec4f['isimp']=0x0;_0x3fc6df<0xdc/earthRadius$1+0x1&&(_0xaeec4f[_0x3131d8(0x3fd,0x320)]=0x1);_0x4d9fcc=_0x53917c,_0xa26df5=_0x5ca8ec,_0x28f26b=(_0x3fc6df-0x1)*earthRadius$1;if(_0x28f26b<0x9c){_0x4d9fcc=_0x28f26b-0x4e;_0x28f26b<0x62&&(_0x4d9fcc=0x14);var _0x3b440e=(0x78-_0x4d9fcc)/earthRadius$1;_0xa26df5=_0x3b440e*_0x3b440e*_0x3b440e*_0x3b440e,_0x4d9fcc=_0x4d9fcc/earthRadius$1+0x1;}_0x28d075=0x1/_0x4157e6,_0x2fa16b=0x1/(_0x26e124-_0x4d9fcc),_0xaeec4f['eta']=_0x26e124*_0xaeec4f[_0x560f84(0x1ab,0x1cc)]*_0x2fa16b,_0x1a5dc4=_0xaeec4f['eta']*_0xaeec4f['eta'],_0xea9b9e=_0xaeec4f['ecco']*_0xaeec4f['eta'],_0x308acd=Math['abs'](0x1-_0x1a5dc4),_0x43f3e0=_0xa26df5*Math['pow'](_0x2fa16b,0x4),_0x3a5080=_0x43f3e0/Math[_0x3131d8(0x3b7,0x296)](_0x308acd,3.5),_0x1e8032=_0x3a5080*_0xaeec4f['no']*(_0x26e124*(0x1+1.5*_0x1a5dc4+_0xea9b9e*(0x4+_0x1a5dc4))+0.375*j2$1*_0x2fa16b/_0x308acd*_0xaeec4f[_0x3131d8(0x292,0x298)]*(0x8+0x3*_0x1a5dc4*(0x8+_0x1a5dc4))),_0xaeec4f['cc1']=_0xaeec4f['bstar']*_0x1e8032,_0x5e332e=0x0;_0xaeec4f['ecco']>0.0001&&(_0x5e332e=-0x2*_0x43f3e0*_0x2fa16b*j3oj2$1*_0xaeec4f['no']*_0x7dda24/_0xaeec4f[_0x560f84(0x1ab,0x2ed)]);_0xaeec4f['x1mth2']=0x1-_0x283f44,_0xaeec4f['cc4']=0x2*_0xaeec4f['no']*_0x3a5080*_0x26e124*_0x5a8dad*(_0xaeec4f[_0x3131d8(0x379,0x476)]*(0x2+0.5*_0x1a5dc4)+_0xaeec4f['ecco']*(0.5+0x2*_0x1a5dc4)-j2$1*_0x2fa16b/(_0x26e124*_0x308acd)*(-0x3*_0xaeec4f['con41']*(0x1-0x2*_0xea9b9e+_0x1a5dc4*(1.5-0.5*_0xea9b9e))+0.75*_0xaeec4f[_0x3131d8(0x513,0x4dc)]*(0x2*_0x1a5dc4-_0xea9b9e*(0x1+_0x1a5dc4))*Math[_0x3131d8(0x21d,0x28a)](0x2*_0xaeec4f['argpo']))),_0xaeec4f['cc5']=0x2*_0x3a5080*_0x26e124*_0x5a8dad*(0x1+2.75*(_0x1a5dc4+_0xea9b9e)+_0xea9b9e*_0x1a5dc4),_0x5a39fb=_0x283f44*_0x283f44,_0x4ed0d1=1.5*j2$1*_0x28d075*_0xaeec4f['no'],_0x955740=0.5*_0x4ed0d1*j2$1*_0x28d075,_0x324d0c=-0.46875*j4$1*_0x28d075*_0x28d075*_0xaeec4f['no'],_0xaeec4f['mdot']=_0xaeec4f['no']+0.5*_0x4ed0d1*_0x1eba34*_0xaeec4f['con41']+0.0625*_0x955740*_0x1eba34*(0xd-0x4e*_0x283f44+0x89*_0x5a39fb),_0xaeec4f[_0x560f84(0x189,0x276)]=-0.5*_0x4ed0d1*_0x1d4104+0.0625*_0x955740*(0x7-0x72*_0x283f44+0x18b*_0x5a39fb)+_0x324d0c*(0x3-0x24*_0x283f44+0x31*_0x5a39fb),_0x372282=-_0x4ed0d1*_0x5edf21,_0xaeec4f['nodedot']=_0x372282+(0.5*_0x955740*(0x4-0x13*_0x283f44)+0x2*_0x324d0c*(0x3-0x7*_0x283f44))*_0x5edf21,_0x2743e1=_0xaeec4f['argpdot']+_0xaeec4f[_0x560f84(0x11b,-0x3a)],_0xaeec4f['omgcof']=_0xaeec4f['bstar']*_0x5e332e*Math['cos'](_0xaeec4f['argpo']),_0xaeec4f['xmcof']=0x0;_0xaeec4f['ecco']>0.0001&&(_0xaeec4f['xmcof']=-x2o3$1*_0x43f3e0*_0xaeec4f[_0x3131d8(0x2e3,0x271)]/_0xea9b9e);_0xaeec4f['nodecf']=3.5*_0x5a8dad*_0x372282*_0xaeec4f[_0x560f84(0x16d,0x2d5)],_0xaeec4f[_0x560f84(0xf1,0x229)]=1.5*_0xaeec4f['cc1'];Math['abs'](_0x5edf21+0x1)>1.5e-12?_0xaeec4f['xlcof']=-0.25*j3oj2$1*_0x7dda24*(0x3+0x5*_0x5edf21)/(0x1+_0x5edf21):_0xaeec4f[_0x560f84(0xf3,0x256)]=-0.25*j3oj2$1*_0x7dda24*(0x3+0x5*_0x5edf21)/_0x43f67e;_0xaeec4f['aycof']=-0.5*j3oj2$1*_0x7dda24;var _0x1dc0fa=0x1+_0xaeec4f['eta']*Math['cos'](_0xaeec4f['mo']);_0xaeec4f[_0x3131d8(0x4c5,0x4ac)]=_0x1dc0fa*_0x1dc0fa*_0x1dc0fa,_0xaeec4f[_0x560f84(0x339,0x3e7)]=Math['sin'](_0xaeec4f['mo']),_0xaeec4f['x7thm1']=0x7*_0x283f44-0x1;if(0x2*pi$1/_0xaeec4f['no']>=0xe1){_0xaeec4f[_0x560f84(0x2c9,0x391)]='d',_0xaeec4f['isimp']=0x1,_0x254cf3=0x0,_0x8f972a=_0xaeec4f['inclo'];var _0x5047dc={};_0x5047dc['epoch']=_0x46bb03,_0x5047dc['ep']=_0xaeec4f[_0x560f84(0x1ab,0x2de)],_0x5047dc['argpp']=_0xaeec4f['argpo'],_0x5047dc['tc']=_0x254cf3,_0x5047dc[_0x3131d8(0x3ff,0x2a6)]=_0xaeec4f[_0x560f84(0xc4,0x108)],_0x5047dc['nodep']=_0xaeec4f[_0x3131d8(0x3a7,0x481)],_0x5047dc['np']=_0xaeec4f['no'],_0x5047dc['e3']=_0xaeec4f['e3'],_0x5047dc['ee2']=_0xaeec4f[_0x3131d8(0x1c8,0x26f)],_0x5047dc[_0x3131d8(0x57f,0x429)]=_0xaeec4f['peo'],_0x5047dc[_0x3131d8(0x53a,0x407)]=_0xaeec4f[_0x560f84(0x21a,0x22e)],_0x5047dc['pho']=_0xaeec4f['pho'],_0x5047dc['pinco']=_0xaeec4f['pinco'],_0x5047dc['plo']=_0xaeec4f[_0x3131d8(0x558,0x4a6)],_0x5047dc[_0x3131d8(0x458,0x393)]=_0xaeec4f[_0x3131d8(0x3df,0x393)],_0x5047dc['se3']=_0xaeec4f[_0x3131d8(0x34b,0x265)],_0x5047dc['sgh2']=_0xaeec4f[_0x560f84(0xfd,0x1cb)],_0x5047dc[_0x560f84(0x11e,0x52)]=_0xaeec4f[_0x560f84(0x11e,-0x7)],_0x5047dc['sgh4']=_0xaeec4f['sgh4'],_0x5047dc['sh2']=_0xaeec4f[_0x560f84(0x1dd,0xb8)],_0x5047dc[_0x3131d8(0x46b,0x3eb)]=_0xaeec4f[_0x560f84(0x1fe,0x16f)],_0x5047dc[_0x3131d8(0x34f,0x45a)]=_0xaeec4f['si2'],_0x5047dc[_0x3131d8(0x305,0x456)]=_0xaeec4f['si3'],_0x5047dc[_0x560f84(0x2a3,0x1f2)]=_0xaeec4f[_0x560f84(0x2a3,0x2a1)],_0x5047dc[_0x560f84(0xb1,0x64)]=_0xaeec4f[_0x560f84(0xb1,0xd1)],_0x5047dc['sl4']=_0xaeec4f[_0x3131d8(0x4e4,0x39b)],_0x5047dc['xgh2']=_0xaeec4f['xgh2'],_0x5047dc['xgh3']=_0xaeec4f['xgh3'],_0x5047dc[_0x3131d8(0x269,0x343)]=_0xaeec4f['xgh4'],_0x5047dc[_0x560f84(0x297,0x2c7)]=_0xaeec4f['xh2'],_0x5047dc['xh3']=_0xaeec4f['xh3'],_0x5047dc['xi2']=_0xaeec4f['xi2'],_0x5047dc['xi3']=_0xaeec4f['xi3'],_0x5047dc['xl2']=_0xaeec4f['xl2'],_0x5047dc['xl3']=_0xaeec4f[_0x3131d8(0x423,0x41a)],_0x5047dc[_0x560f84(0x321,0x3f0)]=_0xaeec4f['xl4'],_0x5047dc[_0x3131d8(0x5aa,0x50d)]=_0xaeec4f['zmol'],_0x5047dc[_0x560f84(0x14e,0x10)]=_0xaeec4f[_0x3131d8(0x45a,0x33b)];var _0xd49a14=_0x5047dc,_0x50fc64=dscom$1(_0xd49a14);_0xaeec4f['e3']=_0x50fc64['e3'],_0xaeec4f['ee2']=_0x50fc64['ee2'],_0xaeec4f[_0x3131d8(0x4e1,0x429)]=_0x50fc64[_0x560f84(0x23c,0x29c)],_0xaeec4f['pgho']=_0x50fc64['pgho'],_0xaeec4f['pho']=_0x50fc64['pho'],_0xaeec4f['pinco']=_0x50fc64['pinco'],_0xaeec4f['plo']=_0x50fc64['plo'],_0xaeec4f['se2']=_0x50fc64['se2'],_0xaeec4f['se3']=_0x50fc64['se3'],_0xaeec4f[_0x3131d8(0x385,0x2ea)]=_0x50fc64['sgh2'],_0xaeec4f[_0x560f84(0x11e,0x1e1)]=_0x50fc64['sgh3'],_0xaeec4f['sgh4']=_0x50fc64['sgh4'],_0xaeec4f[_0x560f84(0x1dd,0x1dd)]=_0x50fc64[_0x3131d8(0x412,0x3ca)],_0xaeec4f[_0x560f84(0x1fe,0xa0)]=_0x50fc64['sh3'],_0xaeec4f['si2']=_0x50fc64[_0x560f84(0x26d,0x1a4)],_0xaeec4f['si3']=_0x50fc64['si3'],_0xaeec4f['sl2']=_0x50fc64[_0x3131d8(0x346,0x490)],_0xaeec4f['sl3']=_0x50fc64['sl3'],_0xaeec4f['sl4']=_0x50fc64[_0x560f84(0x1ae,0xa9)],_0x2e83c8=_0x50fc64['sinim'],_0xc8848e=_0x50fc64[_0x560f84(0x28e,0x195)],_0x5104ef=_0x50fc64['em'],_0x11a1e4=_0x50fc64[_0x560f84(0xed,0x1b0)],_0x10b374=_0x50fc64['s1'],_0x556945=_0x50fc64['s2'],_0xfa3712=_0x50fc64['s3'],_0x2af30e=_0x50fc64['s4'],_0x4cba8e=_0x50fc64['s5'],_0x10d2ca=_0x50fc64['ss1'],_0x19ac06=_0x50fc64['ss2'],_0xaa5313=_0x50fc64['ss3'],_0x293447=_0x50fc64['ss4'],_0x5e3d47=_0x50fc64[_0x3131d8(0x32e,0x279)],_0x1dbd20=_0x50fc64['sz1'],_0x1009e2=_0x50fc64['sz3'],_0x4797fb=_0x50fc64['sz11'],_0xf2c5eb=_0x50fc64['sz13'],_0x4566d4=_0x50fc64['sz21'],_0x38bddd=_0x50fc64['sz23'],_0x1e8cd7=_0x50fc64[_0x560f84(0x2c8,0x307)],_0x5782fe=_0x50fc64[_0x560f84(0x8e,0x167)],_0xaeec4f[_0x560f84(0x132,0x16)]=_0x50fc64[_0x560f84(0x132,0x1b6)],_0xaeec4f['xgh3']=_0x50fc64['xgh3'],_0xaeec4f['xgh4']=_0x50fc64[_0x560f84(0x156,0x14f)],_0xaeec4f['xh2']=_0x50fc64['xh2'],_0xaeec4f[_0x560f84(0x203,0xdb)]=_0x50fc64['xh3'],_0xaeec4f[_0x3131d8(0x22c,0x2c8)]=_0x50fc64['xi2'],_0xaeec4f['xi3']=_0x50fc64[_0x3131d8(0x51d,0x445)],_0xaeec4f['xl2']=_0x50fc64['xl2'],_0xaeec4f['xl3']=_0x50fc64['xl3'],_0xaeec4f['xl4']=_0x50fc64['xl4'],_0xaeec4f[_0x3131d8(0x64c,0x50d)]=_0x50fc64['zmol'],_0xaeec4f['zmos']=_0x50fc64['zmos'],_0x5d11d3=_0x50fc64['nm'],_0x481a1a=_0x50fc64['z1'],_0x3bce9b=_0x50fc64['z3'],_0x1d7559=_0x50fc64['z11'],_0x5bc9fc=_0x50fc64[_0x560f84(0x1b3,0x25b)],_0x3989ab=_0x50fc64[_0x560f84(0xe0,0x171)],_0x102273=_0x50fc64[_0x3131d8(0x541,0x4be)],_0x24b76b=_0x50fc64[_0x560f84(0xe8,0x1b9)],_0x3a23ca=_0x50fc64['z33'];var _0x1a2601={};_0x1a2601[_0x560f84(0xc4,-0x69)]=_0x8f972a,_0x1a2601[_0x560f84(0x153,0x22a)]=_0xaeec4f[_0x3131d8(0x331,0x340)],_0x1a2601['ep']=_0xaeec4f[_0x560f84(0x1ab,0x314)],_0x1a2601[_0x560f84(0xb9,0x1c0)]=_0xaeec4f[_0x3131d8(0x338,0x2b1)],_0x1a2601[_0x560f84(0x187,0xdd)]=_0xaeec4f['nodeo'],_0x1a2601['argpp']=_0xaeec4f['argpo'],_0x1a2601['mp']=_0xaeec4f['mo'],_0x1a2601[_0x560f84(0x331,0x3cd)]=_0xaeec4f['operationmode'];var _0x54b932=_0x1a2601,_0x3ad19f=dpper$1(_0xaeec4f,_0x54b932);_0xaeec4f[_0x560f84(0x1ab,0x121)]=_0x3ad19f['ep'],_0xaeec4f[_0x3131d8(0x3ae,0x2b1)]=_0x3ad19f[_0x3131d8(0x322,0x2a6)],_0xaeec4f['nodeo']=_0x3ad19f['nodep'],_0xaeec4f['argpo']=_0x3ad19f['argpp'],_0xaeec4f['mo']=_0x3ad19f['mp'],_0x16330f=0x0,_0x4b9afc=0x0,_0x1076f3=0x0;var _0x42c13f={};_0x42c13f[_0x560f84(0x28e,0x3d9)]=_0xc8848e,_0x42c13f['emsq']=_0x11a1e4,_0x42c13f[_0x3131d8(0x2ee,0x419)]=_0xaeec4f[_0x3131d8(0x51e,0x419)],_0x42c13f['s1']=_0x10b374,_0x42c13f['s2']=_0x556945,_0x42c13f['s3']=_0xfa3712,_0x42c13f['s4']=_0x2af30e,_0x42c13f['s5']=_0x4cba8e,_0x42c13f[_0x3131d8(0x303,0x2d8)]=_0x2e83c8,_0x42c13f[_0x3131d8(0x614,0x4b3)]=_0x10d2ca,_0x42c13f[_0x3131d8(0x48e,0x42c)]=_0x19ac06,_0x42c13f[_0x3131d8(0x13c,0x29f)]=_0xaa5313,_0x42c13f[_0x3131d8(0x27c,0x32b)]=_0x293447,_0x42c13f[_0x560f84(0x8c,-0xf)]=_0x5e3d47,_0x42c13f[_0x3131d8(0x3c7,0x310)]=_0x1dbd20,_0x42c13f['sz3']=_0x1009e2,_0x42c13f[_0x560f84(0x20a,0x2be)]=_0x4797fb,_0x42c13f[_0x560f84(0xa0,-0x1f)]=_0xf2c5eb,_0x42c13f['sz21']=_0x4566d4,_0x42c13f['sz23']=_0x38bddd,_0x42c13f['sz31']=_0x1e8cd7,_0x42c13f['sz33']=_0x5782fe,_0x42c13f['t']=_0xaeec4f['t'],_0x42c13f['tc']=_0x254cf3,_0x42c13f['gsto']=_0xaeec4f['gsto'],_0x42c13f['mo']=_0xaeec4f['mo'],_0x42c13f[_0x560f84(0xde,0x114)]=_0xaeec4f['mdot'],_0x42c13f['no']=_0xaeec4f['no'],_0x42c13f[_0x560f84(0x294,0x33d)]=_0xaeec4f[_0x3131d8(0x347,0x481)],_0x42c13f['nodedot']=_0xaeec4f['nodedot'],_0x42c13f['xpidot']=_0x2743e1,_0x42c13f['z1']=_0x481a1a,_0x42c13f['z3']=_0x3bce9b,_0x42c13f['z11']=_0x1d7559,_0x42c13f['z13']=_0x5bc9fc,_0x42c13f['z21']=_0x3989ab,_0x42c13f['z23']=_0x102273,_0x42c13f[_0x560f84(0xe8,0x216)]=_0x24b76b,_0x42c13f['z33']=_0x3a23ca,_0x42c13f[_0x3131d8(0x2ce,0x398)]=_0xaeec4f['ecco'],_0x42c13f[_0x3131d8(0x507,0x3ed)]=_0x351340,_0x42c13f['em']=_0x5104ef,_0x42c13f['argpm']=_0x16330f,_0x42c13f['inclm']=_0x8f972a,_0x42c13f['mm']=_0x1076f3,_0x42c13f['nm']=_0x5d11d3,_0x42c13f[_0x3131d8(0x3c9,0x2a0)]=_0x4b9afc,_0x42c13f[_0x560f84(0xdc,0x1b7)]=_0xaeec4f['irez'],_0x42c13f['atime']=_0xaeec4f['atime'],_0x42c13f['d2201']=_0xaeec4f['d2201'],_0x42c13f[_0x560f84(0x222,0x167)]=_0xaeec4f[_0x560f84(0x222,0x1bb)],_0x42c13f['d3210']=_0xaeec4f[_0x560f84(0x208,0x228)],_0x42c13f[_0x560f84(0x138,0x290)]=_0xaeec4f[_0x3131d8(0x28e,0x325)],_0x42c13f[_0x3131d8(0x3d5,0x44e)]=_0xaeec4f['d4410'],_0x42c13f[_0x560f84(0xb4,-0x5c)]=_0xaeec4f[_0x560f84(0xb4,-0x27)],_0x42c13f['d5220']=_0xaeec4f[_0x560f84(0x268,0x344)],_0x42c13f[_0x3131d8(0x357,0x305)]=_0xaeec4f[_0x560f84(0x118,0x284)],_0x42c13f['d5421']=_0xaeec4f[_0x3131d8(0x1f7,0x29d)],_0x42c13f['d5433']=_0xaeec4f['d5433'],_0x42c13f['dedt']=_0xaeec4f['dedt'],_0x42c13f['didt']=_0xaeec4f['didt'],_0x42c13f['dmdt']=_0xaeec4f['dmdt'],_0x42c13f['dnodt']=_0xaeec4f[_0x3131d8(0x1f5,0x30f)],_0x42c13f['domdt']=_0xaeec4f[_0x560f84(0x346,0x3d6)],_0x42c13f['del1']=_0xaeec4f[_0x3131d8(0x653,0x513)],_0x42c13f['del2']=_0xaeec4f[_0x560f84(0xb7,0xaf)],_0x42c13f['del3']=_0xaeec4f[_0x3131d8(0x33b,0x27e)],_0x42c13f[_0x560f84(0x175,0x35)]=_0xaeec4f['xfact'],_0x42c13f[_0x3131d8(0x391,0x2b4)]=_0xaeec4f[_0x3131d8(0x339,0x2b4)],_0x42c13f[_0x560f84(0x2ae,0x335)]=_0xaeec4f[_0x3131d8(0x455,0x49b)],_0x42c13f[_0x3131d8(0x54d,0x40c)]=_0xaeec4f['xni'];var _0x70818a=_0x42c13f,_0x350133=dsinit$1(_0x70818a);_0xaeec4f['irez']=_0x350133['irez'],_0xaeec4f['atime']=_0x350133['atime'],_0xaeec4f[_0x560f84(0x92,-0x62)]=_0x350133['d2201'],_0xaeec4f[_0x3131d8(0x2ee,0x40f)]=_0x350133[_0x560f84(0x222,0x1c7)],_0xaeec4f['d3210']=_0x350133[_0x3131d8(0x516,0x3f5)],_0xaeec4f[_0x3131d8(0x2bb,0x325)]=_0x350133[_0x560f84(0x138,0x4f)],_0xaeec4f['d4410']=_0x350133['d4410'],_0xaeec4f[_0x560f84(0xb4,0x190)]=_0x350133['d4422'],_0xaeec4f['d5220']=_0x350133['d5220'],_0xaeec4f['d5232']=_0x350133[_0x3131d8(0x2e5,0x305)],_0xaeec4f['d5421']=_0x350133[_0x560f84(0xb0,0x75)],_0xaeec4f['d5433']=_0x350133[_0x3131d8(0x3af,0x26b)],_0xaeec4f['dedt']=_0x350133['dedt'],_0xaeec4f['didt']=_0x350133['didt'],_0xaeec4f[_0x3131d8(0x417,0x345)]=_0x350133[_0x560f84(0x158,0x15e)],_0xaeec4f['dnodt']=_0x350133['dnodt'],_0xaeec4f['domdt']=_0x350133[_0x560f84(0x346,0x1ff)],_0xaeec4f[_0x3131d8(0x4ec,0x513)]=_0x350133[_0x560f84(0x326,0x241)],_0xaeec4f[_0x3131d8(0x3d6,0x2a4)]=_0x350133[_0x3131d8(0x20b,0x2a4)],_0xaeec4f['del3']=_0x350133[_0x3131d8(0x143,0x27e)],_0xaeec4f['xfact']=_0x350133[_0x560f84(0x175,0x171)],_0xaeec4f['xlamo']=_0x350133[_0x560f84(0xc7,0x166)],_0xaeec4f[_0x3131d8(0x47d,0x49b)]=_0x350133[_0x3131d8(0x38a,0x49b)],_0xaeec4f[_0x3131d8(0x3dd,0x40c)]=_0x350133[_0x560f84(0x21f,0x358)];}_0xaeec4f[_0x3131d8(0x3c5,0x320)]!==0x1&&(_0x23892c=_0xaeec4f[_0x3131d8(0x326,0x35a)]*_0xaeec4f[_0x3131d8(0x2ca,0x35a)],_0xaeec4f['d2']=0x4*_0x26e124*_0x2fa16b*_0x23892c,_0x265689=_0xaeec4f['d2']*_0x2fa16b*_0xaeec4f['cc1']/0x3,_0xaeec4f['d3']=(0x11*_0x26e124+_0x4d9fcc)*_0x265689,_0xaeec4f['d4']=0.5*_0x265689*_0x26e124*_0x2fa16b*(0xdd*_0x26e124+0x1f*_0x4d9fcc)*_0xaeec4f[_0x3131d8(0x466,0x35a)],_0xaeec4f['t3cof']=_0xaeec4f['d2']+0x2*_0x23892c,_0xaeec4f['t4cof']=0.25*(0x3*_0xaeec4f['d3']+_0xaeec4f['cc1']*(0xc*_0xaeec4f['d2']+0xa*_0x23892c)),_0xaeec4f[_0x3131d8(0x4d5,0x37d)]=0.2*(0x3*_0xaeec4f['d4']+0xc*_0xaeec4f['cc1']*_0xaeec4f['d3']+0x6*_0xaeec4f['d2']*_0xaeec4f['d2']+0xf*_0x23892c*(0x2*_0xaeec4f['d2']+_0x23892c)));}sgp4$1(_0xaeec4f,0x0),_0xaeec4f[_0x560f84(0x153,0xae)]='n';}function twoline2satrec$1(_0x50cc4c,_0x55a38e){var _0x4f824c='i',_0xd6e558=0x5a0/(0x2*pi$1),_0x6b618d=0x0;function _0x47f211(_0x4052c7,_0x75de65){return _0x4925de(_0x4052c7,_0x75de65-0xd3);}var _0xa33cf5={};_0xa33cf5[_0x1d9a4f(0x314,0x3d0)]=0x0,_0xa33cf5['satnum']=_0x50cc4c['substring'](0x2,0x7);function _0x1d9a4f(_0x30c03e,_0x4a9d6e){return _0x4925de(_0x4a9d6e,_0x30c03e- -0x2f);}_0xa33cf5['epochyr']=parseInt(_0x50cc4c[_0x1d9a4f(0x184,0x58)](0x12,0x14),0xa),_0xa33cf5[_0x1d9a4f(0x258,0x325)]=parseFloat(_0x50cc4c['substring'](0x14,0x20)),_0xa33cf5[_0x1d9a4f(0x2fb,0x3ca)]=parseFloat(_0x50cc4c['substring'](0x21,0x2b)),_0xa33cf5['nddot']=parseFloat('.'['concat'](parseInt(_0x50cc4c[_0x47f211(0x13c,0x286)](0x2c,0x32),0xa),'E')['concat'](_0x50cc4c['substring'](0x32,0x34))),_0xa33cf5['bstar']=parseFloat(''[_0x47f211(0x106,0x237)](_0x50cc4c[_0x1d9a4f(0x184,0x142)](0x35,0x36),'.')['concat'](parseInt(_0x50cc4c[_0x47f211(0x206,0x286)](0x36,0x3b),0xa),'E')['concat'](_0x50cc4c[_0x1d9a4f(0x184,0x205)](0x3b,0x3d))),_0xa33cf5['inclo']=parseFloat(_0x55a38e[_0x47f211(0x282,0x286)](0x8,0x10)),_0xa33cf5[_0x1d9a4f(0x2d1,0x1b3)]=parseFloat(_0x55a38e[_0x47f211(0x274,0x286)](0x11,0x19)),_0xa33cf5['ecco']=parseFloat('.'['concat'](_0x55a38e['substring'](0x1a,0x21))),_0xa33cf5[_0x47f211(0x389,0x36b)]=parseFloat(_0x55a38e['substring'](0x22,0x2a)),_0xa33cf5['mo']=parseFloat(_0x55a38e['substring'](0x2b,0x33)),_0xa33cf5['no']=parseFloat(_0x55a38e['substring'](0x34,0x3f)),_0xa33cf5['no']/=_0xd6e558,_0xa33cf5['inclo']*=deg2rad$1,_0xa33cf5['nodeo']*=deg2rad$1,_0xa33cf5['argpo']*=deg2rad$1,_0xa33cf5['mo']*=deg2rad$1;_0xa33cf5[_0x47f211(0x25c,0x2a8)]<0x39?_0x6b618d=_0xa33cf5['epochyr']+0x7d0:_0x6b618d=_0xa33cf5['epochyr']+0x76c;var _0x4e0e9c=days2mdhms$1(_0x6b618d,_0xa33cf5['epochdays']),_0x326f39=_0x4e0e9c['mon'],_0x1e4a47=_0x4e0e9c['day'],_0x59f4d1=_0x4e0e9c['hr'],_0x13e089=_0x4e0e9c[_0x1d9a4f(0x1c5,0x203)],_0x16efb3=_0x4e0e9c[_0x47f211(0x47e,0x381)];return _0xa33cf5[_0x47f211(0x2d3,0x2b1)]=jday$1(_0x6b618d,_0x326f39,_0x1e4a47,_0x59f4d1,_0x13e089,_0x16efb3),sgp4init$1(_0xa33cf5,{'opsmode':_0x4f824c,'satn':_0xa33cf5['satnum'],'epoch':_0xa33cf5['jdsatepoch']-2433281.5,'xbstar':_0xa33cf5['bstar'],'xecco':_0xa33cf5['ecco'],'xargpo':_0xa33cf5[_0x1d9a4f(0x269,0x1c1)],'xinclo':_0xa33cf5[_0x47f211(0x10a,0x203)],'xmo':_0xa33cf5['mo'],'xno':_0xa33cf5['no'],'xnodeo':_0xa33cf5['nodeo']}),_0xa33cf5;}function _toConsumableArray$1(_0x406a17){return _arrayWithoutHoles$1(_0x406a17)||_iterableToArray$1(_0x406a17)||_unsupportedIterableToArray$1(_0x406a17)||_nonIterableSpread$1();}function _arrayWithoutHoles$1(_0x2b5dfb){function _0x1de783(_0x14016a,_0x1c38d6){return _0x4925de(_0x14016a,_0x1c38d6-0x3b3);}if(Array[_0x1de783(0x381,0x4ec)](_0x2b5dfb))return _arrayLikeToArray$1(_0x2b5dfb);}function _iterableToArray$1(_0x4c0a63){if(typeof Symbol!=='undefined'&&_0x4c0a63[Symbol['iterator']]!=null||_0x4c0a63['@@iterator']!=null)return Array['from'](_0x4c0a63);}function _unsupportedIterableToArray$1(_0x50adf7,_0x57ab41){if(!_0x50adf7)return;if(typeof _0x50adf7===_0x2e3da1(0x363,0x32f))return _arrayLikeToArray$1(_0x50adf7,_0x57ab41);var _0x5b3b17=Object['prototype']['toString'][_0x526a7a(0x3e4,0x537)](_0x50adf7)[_0x2e3da1(0x525,0x470)](0x8,-0x1);if(_0x5b3b17==='Object'&&_0x50adf7[_0x526a7a(0x50d,0x5a8)])_0x5b3b17=_0x50adf7[_0x2e3da1(0x4a6,0x4ed)]['name'];function _0x526a7a(_0x9d2ee5,_0x1747db){return _0x4925de(_0x1747db,_0x9d2ee5-0x1ea);}if(_0x5b3b17==='Map'||_0x5b3b17===_0x2e3da1(0x531,0x57d))return Array['from'](_0x50adf7);function _0x2e3da1(_0x1b4fa4,_0x474e1a){return _0x4925de(_0x1b4fa4,_0x474e1a-0x1ca);}if(_0x5b3b17==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x5b3b17))return _arrayLikeToArray$1(_0x50adf7,_0x57ab41);}function _arrayLikeToArray$1(_0x2e90d9,_0x4b8190){if(_0x4b8190==null||_0x4b8190>_0x2e90d9['length'])_0x4b8190=_0x2e90d9['length'];for(var _0x315a5e=0x0,_0x3a8f17=new Array(_0x4b8190);_0x315a5e<_0x4b8190;_0x315a5e++)_0x3a8f17[_0x315a5e]=_0x2e90d9[_0x315a5e];return _0x3a8f17;}function _nonIterableSpread$1(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function propagate$1(){for(var _0x190957=arguments['length'],_0x41f913=new Array(_0x190957),_0x4588b0=0x0;_0x4588b0<_0x190957;_0x4588b0++){_0x41f913[_0x4588b0]=arguments[_0x4588b0];}var _0x50c773=_0x41f913[0x0];function _0xbb153c(_0x504264,_0x5c1618){return _0x2a61be(_0x5c1618,_0x504264-0x2d3);}var _0x19f12e=Array['prototype'][_0x314891(0x2c4,0x286)]['call'](_0x41f913,0x1),_0x4d87ed=jday$1['apply'](void 0x0,_toConsumableArray$1(_0x19f12e)),_0x1ca88c=(_0x4d87ed-_0x50c773[_0xbb153c(0x562,0x48f)])*minutesPerDay$1;function _0x314891(_0x3bb754,_0x253c16){return _0x2a61be(_0x3bb754,_0x253c16- -0xd1);}return sgp4$1(_0x50c773,_0x1ca88c);}function dopplerFactor$1(_0x401711,_0x17c2d8,_0x2a4470){var _0x27393b=0.00007292115,_0x48c466=299792.458,_0x4a2167={};function _0x4a40cd(_0x497523,_0x526d24){return _0x4925de(_0x526d24,_0x497523- -0x4d);}function _0x527f0f(_0x116341,_0x20f130){return _0x4925de(_0x20f130,_0x116341-0x2ed);}_0x4a2167['x']=_0x17c2d8['x']-_0x401711['x'],_0x4a2167['y']=_0x17c2d8['y']-_0x401711['y'],_0x4a2167['z']=_0x17c2d8['z']-_0x401711['z'];var _0x16d22d=_0x4a2167;_0x16d22d['w']=Math['sqrt'](Math[_0x527f0f(0x402,0x320)](_0x16d22d['x'],0x2)+Math[_0x527f0f(0x402,0x3bb)](_0x16d22d['y'],0x2)+Math['pow'](_0x16d22d['z'],0x2));var _0x40ca63={};_0x40ca63['x']=_0x2a4470['x']+_0x27393b*_0x401711['y'],_0x40ca63['y']=_0x2a4470['y']-_0x27393b*_0x401711['x'],_0x40ca63['z']=_0x2a4470['z'];var _0x214751=_0x40ca63;function _0x1fcd95(_0xd84586){return _0xd84586>=0x0?0x1:-0x1;}var _0x54b092=(_0x16d22d['x']*_0x214751['x']+_0x16d22d['y']*_0x214751['y']+_0x16d22d['z']*_0x214751['z'])/_0x16d22d['w'];return 0x1+_0x54b092/_0x48c466*_0x1fcd95(_0x54b092);}function radiansToDegrees$1(_0x283305){return _0x283305*rad2deg$1;}function degreesToRadians$1(_0x1b4961){return _0x1b4961*deg2rad$1;}function degreesLat$1(_0x34d714){function _0x5dece6(_0x1db6c8,_0x4aded0){return _0x2a61be(_0x4aded0,_0x1db6c8- -0x267);}if(_0x34d714<-pi$1/0x2||_0x34d714>pi$1/0x2)throw new RangeError(_0x5dece6(0x127,0x3e));return radiansToDegrees$1(_0x34d714);}function degreesLong$1(_0x8e1f12){if(_0x8e1f12<-pi$1||_0x8e1f12>pi$1)throw new RangeError('Longitude\x20radians\x20must\x20be\x20in\x20range\x20[-pi;\x20pi].');return radiansToDegrees$1(_0x8e1f12);}function radiansLat$1(_0x3a7d43){if(_0x3a7d43<-0x5a||_0x3a7d43>0x5a)throw new RangeError(_0x7686e(0x578,0x4c4));function _0x7686e(_0x4f16b9,_0x22d1b4){return _0x4925de(_0x4f16b9,_0x22d1b4-0x3b7);}return degreesToRadians$1(_0x3a7d43);}function radiansLong$1(_0x1b25dd){if(_0x1b25dd<-0xb4||_0x1b25dd>0xb4)throw new RangeError('Longitude\x20degrees\x20must\x20be\x20in\x20range\x20[-180;\x20180].');return degreesToRadians$1(_0x1b25dd);}function geodeticToEcf$1(_0x19089b){var _0xbade65=_0x19089b['longitude'],_0x238e2d=_0x19089b['latitude'],_0x1867ee=_0x19089b['height'],_0x21dadf=6378.137,_0xc8626a=6356.7523142;function _0x176805(_0x23491f,_0x430549){return _0x4925de(_0x430549,_0x23491f- -0x2fe);}var _0xd58d12=(_0x21dadf-_0xc8626a)/_0x21dadf,_0x4882eb=0x2*_0xd58d12-_0xd58d12*_0xd58d12,_0x3c744a=_0x21dadf/Math['sqrt'](0x1-_0x4882eb*(Math['sin'](_0x238e2d)*Math['sin'](_0x238e2d))),_0x519928=(_0x3c744a+_0x1867ee)*Math['cos'](_0x238e2d)*Math['cos'](_0xbade65),_0x37c961=(_0x3c744a+_0x1867ee)*Math['cos'](_0x238e2d)*Math[_0x176805(-0x11a,-0x132)](_0xbade65),_0x34957e=(_0x3c744a*(0x1-_0x4882eb)+_0x1867ee)*Math['sin'](_0x238e2d),_0x21c5f9={};return _0x21c5f9['x']=_0x519928,_0x21c5f9['y']=_0x37c961,_0x21c5f9['z']=_0x34957e,_0x21c5f9;}function eciToGeodetic$1(_0x1b0472,_0x38139c){var _0x1ed433=6378.137,_0x1ee4f4=6356.7523142,_0xf1ac30=Math[_0x59fa55(0x494,0x3a1)](_0x1b0472['x']*_0x1b0472['x']+_0x1b0472['y']*_0x1b0472['y']);function _0x3cf6be(_0x3c9129,_0x117931){return _0x4925de(_0x117931,_0x3c9129-0x146);}var _0x2ae0fa=(_0x1ed433-_0x1ee4f4)/_0x1ed433,_0x39654d=0x2*_0x2ae0fa-_0x2ae0fa*_0x2ae0fa,_0x1d9f5d=Math['atan2'](_0x1b0472['y'],_0x1b0472['x'])-_0x38139c;while(_0x1d9f5d<-pi$1){_0x1d9f5d+=twoPi$1;}while(_0x1d9f5d>pi$1){_0x1d9f5d-=twoPi$1;}var _0x197e92=0x14,_0x4a3820=0x0,_0x1e4c04=Math['atan2'](_0x1b0472['z'],Math['sqrt'](_0x1b0472['x']*_0x1b0472['x']+_0x1b0472['y']*_0x1b0472['y'])),_0x1eec51;while(_0x4a3820<_0x197e92){_0x1eec51=0x1/Math[_0x59fa55(0x353,0x3a1)](0x1-_0x39654d*(Math[_0x3cf6be(0x32a,0x204)](_0x1e4c04)*Math[_0x3cf6be(0x32a,0x480)](_0x1e4c04))),_0x1e4c04=Math[_0x59fa55(0x2b8,0x297)](_0x1b0472['z']+_0x1ed433*_0x1eec51*_0x39654d*Math['sin'](_0x1e4c04),_0xf1ac30),_0x4a3820+=0x1;}var _0x9fb712=_0xf1ac30/Math[_0x3cf6be(0x24f,0x381)](_0x1e4c04)-_0x1ed433*_0x1eec51,_0x39358b={};_0x39358b['longitude']=_0x1d9f5d,_0x39358b['latitude']=_0x1e4c04;function _0x59fa55(_0x1dc8fb,_0x7c7167){return _0x2a61be(_0x1dc8fb,_0x7c7167- -0x2e);}return _0x39358b[_0x3cf6be(0x2de,0x2f8)]=_0x9fb712,_0x39358b;}function ecfToEci$1(_0x58b538,_0x2aba5a){var _0x1ef242=_0x58b538['x']*Math['cos'](_0x2aba5a)-_0x58b538['y']*Math['sin'](_0x2aba5a),_0x47d791=_0x58b538['x']*Math[_0x5e1674(0x6a8,0x5fb)](_0x2aba5a)+_0x58b538['y']*Math['cos'](_0x2aba5a),_0x544538=_0x58b538['z'],_0x518d30={};_0x518d30['x']=_0x1ef242,_0x518d30['y']=_0x47d791;function _0x5e1674(_0x4df024,_0x404162){return _0x2a61be(_0x404162,_0x4df024-0x413);}return _0x518d30['z']=_0x544538,_0x518d30;}function eciToEcf$1(_0x23d798,_0x5d0183){function _0x55b7ba(_0x2eb4fb,_0x29f268){return _0x2a61be(_0x29f268,_0x2eb4fb-0x3b4);}var _0x678eb6=_0x23d798['x']*Math[_0x34dd6(-0x1c0,-0x118)](_0x5d0183)+_0x23d798['y']*Math[_0x34dd6(-0xe5,-0x70)](_0x5d0183),_0x84b15d=_0x23d798['x']*-Math['sin'](_0x5d0183)+_0x23d798['y']*Math['cos'](_0x5d0183),_0x4b99be=_0x23d798['z'],_0x1c7f22={};function _0x34dd6(_0x2e79d0,_0x2521f5){return _0x2a61be(_0x2521f5,_0x2e79d0- -0x37a);}return _0x1c7f22['x']=_0x678eb6,_0x1c7f22['y']=_0x84b15d,_0x1c7f22['z']=_0x4b99be,_0x1c7f22;}function topocentric$1(_0x16d41b,_0x4da54c){var _0x4e7d34=_0x16d41b['longitude'],_0x126b44=_0x16d41b['latitude'],_0x4d1e29=geodeticToEcf$1(_0x16d41b),_0x1f085e=_0x4da54c['x']-_0x4d1e29['x'];function _0x44a146(_0x286a84,_0x12e193){return _0x2a61be(_0x286a84,_0x12e193- -0x2ce);}var _0x39f33d=_0x4da54c['y']-_0x4d1e29['y'],_0x2ded75=_0x4da54c['z']-_0x4d1e29['z'],_0x230b1e=Math[_0x1e5194(0x3c3,0x2a8)](_0x126b44)*Math[_0x1e5194(0x312,0x1cd)](_0x4e7d34)*_0x1f085e+Math[_0x44a146(-0x143,-0x39)](_0x126b44)*Math[_0x44a146(0x33,-0x39)](_0x4e7d34)*_0x39f33d-Math[_0x1e5194(0x2f4,0x1cd)](_0x126b44)*_0x2ded75,_0x2df19b=-Math[_0x1e5194(0x3fe,0x2a8)](_0x4e7d34)*_0x1f085e+Math[_0x1e5194(0x212,0x1cd)](_0x4e7d34)*_0x39f33d,_0x2e6372=Math[_0x44a146(-0xe8,-0x114)](_0x126b44)*Math['cos'](_0x4e7d34)*_0x1f085e+Math[_0x44a146(-0x80,-0x114)](_0x126b44)*Math['sin'](_0x4e7d34)*_0x39f33d+Math[_0x44a146(0x129,-0x39)](_0x126b44)*_0x2ded75,_0x1cc9e3={};function _0x1e5194(_0x310d9b,_0x27e8c6){return _0x4925de(_0x310d9b,_0x27e8c6-0xc4);}return _0x1cc9e3['topS']=_0x230b1e,_0x1cc9e3[_0x1e5194(0x473,0x3f4)]=_0x2df19b,_0x1cc9e3['topZ']=_0x2e6372,_0x1cc9e3;}function topocentricToLookAngles$1(_0x5a81df){var _0x5ca5ef=_0x5a81df[_0x5dafbe(0x493,0x3f2)],_0x8c6475=_0x5a81df['topE'],_0x23f87d=_0x5a81df['topZ'];function _0x1b777d(_0x9cc870,_0x1a074b){return _0x4925de(_0x9cc870,_0x1a074b-0x27);}function _0x5dafbe(_0x34f666,_0x5d26a3){return _0x4925de(_0x34f666,_0x5d26a3-0x137);}var _0x437081=Math[_0x1b777d(0x418,0x345)](_0x5ca5ef*_0x5ca5ef+_0x8c6475*_0x8c6475+_0x23f87d*_0x23f87d),_0x2ec0f1=Math['asin'](_0x23f87d/_0x437081),_0x45443a=Math['atan2'](-_0x8c6475,_0x5ca5ef)+pi$1,_0x1dadd8={};return _0x1dadd8['azimuth']=_0x45443a,_0x1dadd8[_0x1b777d(0x263,0x3a5)]=_0x2ec0f1,_0x1dadd8['rangeSat']=_0x437081,_0x1dadd8;}function ecfToLookAngles$1(_0x5bdefe,_0x178305){var _0x13d329=topocentric$1(_0x5bdefe,_0x178305);return topocentricToLookAngles$1(_0x13d329);}var _0x289db4={};_0x289db4['__proto__']=null,_0x289db4['constants']=constants$1,_0x289db4['degreesLat']=degreesLat$1,_0x289db4['degreesLong']=degreesLong$1,_0x289db4['degreesToRadians']=degreesToRadians$1,_0x289db4[_0x2a61be(0x4d6,0x3ad)]=dopplerFactor$1,_0x289db4['ecfToEci']=ecfToEci$1,_0x289db4['ecfToLookAngles']=ecfToLookAngles$1,_0x289db4['eciToEcf']=eciToEcf$1,_0x289db4['eciToGeodetic']=eciToGeodetic$1,_0x289db4[_0x2a61be(0x25f,0x2f2)]=geodeticToEcf$1,_0x289db4['gstime']=gstime$1,_0x289db4['invjday']=invjday$1,_0x289db4['jday']=jday$1,_0x289db4['propagate']=propagate$1,_0x289db4[_0x2a61be(0x34e,0x237)]=radiansLat$1,_0x289db4['radiansLong']=radiansLong$1,_0x289db4[_0x4925de(0x3e4,0x387)]=radiansToDegrees$1,_0x289db4['sgp4']=sgp4$1,_0x289db4['twoline2satrec']=twoline2satrec$1;var satellite=_0x289db4,commonjsGlobal=typeof globalThis!=='undefined'?globalThis:typeof window!==_0x4925de(0x19c,0x2db)?window:typeof global!=='undefined'?global:typeof self!==_0x4925de(0x1a2,0x2db)?self:{};function getDefaultExportFromCjs(_0x2ea660){function _0x87f023(_0x286e2f,_0x5a46ab){return _0x4925de(_0x5a46ab,_0x286e2f-0x27a);}function _0x58d889(_0x1ecfbd,_0x43c375){return _0x2a61be(_0x1ecfbd,_0x43c375-0x167);}return _0x2ea660&&_0x2ea660['__esModule']&&Object['prototype'][_0x87f023(0x3c7,0x536)]['call'](_0x2ea660,_0x87f023(0x51b,0x42b))?_0x2ea660[_0x87f023(0x51b,0x4b9)]:_0x2ea660;}function getAugmentedNamespace(_0x72ec0e){if(_0x72ec0e['__esModule'])return _0x72ec0e;var _0x33e138={};function _0x243172(_0x22f8fa,_0x28b1a0){return _0x2a61be(_0x28b1a0,_0x22f8fa- -0x286);}_0x33e138['value']=!![];function _0x5b36dd(_0x216fed,_0x5bafda){return _0x2a61be(_0x5bafda,_0x216fed-0x151);}var _0x441a27=Object['defineProperty']({},_0x5b36dd(0x401,0x441),_0x33e138);return Object[_0x243172(0x1d6,0x86)](_0x72ec0e)['forEach'](function(_0x65b7dd){function _0x4273fa(_0x54a7d8,_0x463098){return _0x243172(_0x54a7d8-0x2aa,_0x463098);}var _0x4e40e8=Object['getOwnPropertyDescriptor'](_0x72ec0e,_0x65b7dd);Object['defineProperty'](_0x441a27,_0x65b7dd,_0x4e40e8[_0x4273fa(0x210,0x26d)]?_0x4e40e8:{'enumerable':!![],'get':function(){return _0x72ec0e[_0x65b7dd];}});}),_0x441a27;}var _0x3bcbe4={};_0x3bcbe4['exports']={};var tlejs_umd$1=_0x3bcbe4,pi=Math['PI'],twoPi=pi*0x2,deg2rad=pi/0xb4,rad2deg=0xb4/pi,minutesPerDay=0x5a0,mu=398600.5,earthRadius=6378.137,xke=0x3c/Math[_0x4925de(0x2f9,0x31e)](earthRadius*earthRadius*earthRadius/mu),vkmpersec=earthRadius*xke/0x3c,tumin=0x1/xke,j2=0.00108262998905,j3=-0.00000253215306,j4=-0.00000161098761,j3oj2=j3/j2,x2o3=0x2/0x3,_0xeaf66b={};_0xeaf66b[_0x4925de(0x27f,0x357)]=null,_0xeaf66b['pi']=pi,_0xeaf66b[_0x4925de(-0x14,0x105)]=twoPi,_0xeaf66b[_0x2a61be(0x502,0x42d)]=deg2rad,_0xeaf66b[_0x4925de(0x386,0x3aa)]=rad2deg,_0xeaf66b['minutesPerDay']=minutesPerDay,_0xeaf66b['mu']=mu,_0xeaf66b['earthRadius']=earthRadius,_0xeaf66b['xke']=xke,_0xeaf66b['vkmpersec']=vkmpersec,_0xeaf66b[_0x4925de(0x262,0x113)]=tumin,_0xeaf66b['j2']=j2,_0xeaf66b['j3']=j3,_0xeaf66b['j4']=j4,_0xeaf66b[_0x4925de(0x329,0x205)]=j3oj2,_0xeaf66b['x2o3']=x2o3;var constants=Object[_0x4925de(0x108,0xff)](_0xeaf66b);function days2mdhms(_0x13c021,_0x5b17ed){var _0x1efc6c=[0x1f,_0x13c021%0x4===0x0?0x1d:0x1c,0x1f,0x1e,0x1f,0x1e,0x1f,0x1f,0x1e,0x1f,0x1e,0x1f],_0x37179e=Math['floor'](_0x5b17ed),_0x38bb52=0x1,_0x3e8d08=0x0;while(_0x37179e>_0x3e8d08+_0x1efc6c[_0x38bb52-0x1]&&_0x38bb52<0xc){_0x3e8d08+=_0x1efc6c[_0x38bb52-0x1],_0x38bb52+=0x1;}var _0x40d6b5=_0x38bb52,_0x13d5a9=_0x37179e-_0x3e8d08,_0x541895=(_0x5b17ed-_0x37179e)*0x18,_0x2ac817=Math['floor'](_0x541895);_0x541895=(_0x541895-_0x2ac817)*0x3c;var _0x1f66c4=Math['floor'](_0x541895),_0x2750d1=(_0x541895-_0x1f66c4)*0x3c,_0x34fa5f={};_0x34fa5f[_0x4c3629(0x4a7,0x4d9)]=_0x40d6b5,_0x34fa5f[_0x551d4d(0x57c,0x66b)]=_0x13d5a9,_0x34fa5f['hr']=_0x2ac817,_0x34fa5f[_0x4c3629(0x51b,0x3c9)]=_0x1f66c4,_0x34fa5f['sec']=_0x2750d1;function _0x551d4d(_0x42837d,_0x5e628c){return _0x4925de(_0x5e628c,_0x42837d-0x447);}function _0x4c3629(_0x16105d,_0x35f707){return _0x2a61be(_0x16105d,_0x35f707-0x124);}return _0x34fa5f;}function jdayInternal(_0xa2185b,_0x4e6f0f,_0x26e206,_0x20a85c,_0x23548a,_0x45ac80){function _0x1e938f(_0xa75b00,_0x1671ae){return _0x2a61be(_0x1671ae,_0xa75b00- -0x1b4);}var _0x1a0e46=arguments[_0x1e938f(0xc,0x115)]>0x6&&arguments[0x6]!==undefined?arguments[0x6]:0x0;function _0x20d98b(_0x292320,_0x4c1869){return _0x4925de(_0x4c1869,_0x292320- -0x2b3);}return 0x16f*_0xa2185b-Math['floor'](0x7*(_0xa2185b+Math[_0x1e938f(-0x25,-0x147)]((_0x4e6f0f+0x9)/0xc))*0.25)+Math['floor'](0x113*_0x4e6f0f/0x9)+_0x26e206+1721013.5+((_0x1a0e46/0xea60+_0x45ac80/0x3c+_0x23548a)/0x3c+_0x20a85c)/0x18;}function _0x73da(){var _0x2cb1e2=['max','ss1','Problematic\x20TLE\x20with\x20unknown\x20error.','sz31','method','prototype','defined','remove','alpha','primitiveType','_clusterShowHook','slicesR','z23','IntersectionTests','sz23','_startFovH','_angle1','JulianDate','error','startRadius','getEcfPosition','czm_pickColor','normalize','getEpochYear','xgh3','pitchRadians','acosClamped','LINES','contains','EventType','period_time','_intersectEllipsoid','getPosition','getRevNumberAtEpoch','_outlineColor','_subSegmentV','cc5','_color','__proto__','atime','TRANSLUCENT','_showListCone','x1mth2','_commands','_removeCone','forEach','_mapJamDir2Sum','register','getUTCMilliseconds','ecfToEci','closure','translucent','scale','epoch','groundOutLineColor','_createOuterCurveCommand','roll','_positions_draw','MarsArray','_dRadarMaxDis','fromQuaternion','_destroyCommands','_angle2','getRayEarthPositions','_createInnerCurveCommand','_getPostVec3','t3cof','bji','command','_innerFovRadiusPairs','_CHAR','computeMatrix','_sensorType','hintPotsNum','topWidth','deg2rad','twoline2satrec','elevation','getCesiumValue','_geometry','Semi-latus\x20rectum\x20<\x200.0','referenceFrame','inclination','BasePointPrimitive','ss7','getIntDesignatorLaunchNumber','radiansToDegrees','27aviASo','resolve','replaceCache','filter','zmol','xl4','closed','eciToEcf','pickId','lat','del1','GeometryAttribute','vao','radiansLong','ComponentDatatype','outlineOpacity','],\x20but\x20got\x20','toRadians','value','name','invjday','opsmode','time','ConicSensor','show','segmentV','Cartographic','Matrix3','Ray','sinmao','getDefaultRenderState','addJammers','cosio2','ellipsoid','rad2deg','keys','getCesiumColor','owner','cosio','_positions','hasJammer','_addedHook','domdt','Set','_showOneCone','substr','lbcenter','angle1','nodecf','_topGeometry','getValue','addSample','fromVertices','getCatalogNumber','getCOSPAR','zReverse','SCENE3D','_positionCartesian','floor','_getModelMatrix','_computeGroundConePositions','_rayEllipsoidType','getClassification','_pickCommands','se3','snodm','_quaternion','LngLatPoint','unpack','classification','d5433','degreesToRadians','STATIC_DRAW','dedt','ee2','_promise','bstar','getTleSetNumber','posq','33QMTJhP','updateVolumeGeometry','TLE\x20parse\x20error:\x20bad\x20TLE','sinio','parseTLE','ss5','_sensorType_last','sz33','satn','disturbRatio','del3','d2201','freeze','_clearDrawCommand','endFovV','_getDrawEntityClass','radius','z33','twoPi','getLngLatAtEpoch','fixedJammingRadar','fromCartesian','cos','_ground_radius','argpm','sz13','Latitude\x20degrees\x20must\x20be\x20in\x20range\x20[-90;\x2090].','style2Primitive','length','delete','_ground_showCircle','sensorType','tumin','isString','pow','innerFovRadiusPairs','con41','Satellite','pji','fromArray','yji','d5421','sl3','ss3','nodem','d4422','fromCache','start','del2','sz21','inclp','_outerFovRadiusPairs','format','_arrVerticesPos','inverse','_pitch_reality','_endFovV','groundPosition','bindPickId','_tle','_groundArea','inclo','getChecksum2','_replaceFragmentShaderSourceByStyle','xlamo','getEciPosition','day','opacity','meanMotion','getRealShow','isArray','sz32','get','xbstar','_time_current','multiplyByVector','gji','_primitive_outline','topZ','toDegrees','velocity','isValidTLE','geometryInstances','model','xi2','irez','_coneList','mdot','GeometryPipeline','z21','hasOwnProperty','flat','createPickFragmentShaderSource','_STRING','defineProperty','_ground_showPolygon','getCacheSizes','z31','_getJammerDistance','x7thm1','sinim','_createRadarPrimitive','emsq','fov','pickOnly','altp','t2cof','_radius','xlcof','heading','red','_startRadius','_angle2_last','concat','string','Cartesian2','getUTCHours','topSteps','sgh2','lerp','stopDraw','setOpacity','SceneMode','None','eciToGeodetic','ZERO','startFovV','_NAN','initBoundingSphere','push','lng','TimeInterval','getTime','getFirstTimeDerivative','all','_roll_reality','startTimeMS','startDraw','_sceneMode_last','Math','globalAlpha','_addGroundPolyEntity','ReferenceFrame','GraphicUtil','_createRightCrossSectionCommand','d5232','2882740EjnRpW','radiansLat','nodedot','_groundPolyColor','map','sgh3','checksum1','omgcof','postUpdate','dnodt','sz1','fromDate','abs','extend2Earth','getUTCFullYear','_updatePositionsHook_noCzmObject','topHeight','INERTIAL','Part','height','ShaderSource','_outlinePositions','azimuth','green','inclm','xgh2','isimp','perigee','outline','topRadius','_noDestroy','d3222','getSatelliteInfo','_heading_reality','positions','normal','_position','ss4','bottomWidth','_topShow','multiplyByPoint','cosomm','2181808HFKhVz','tle1','yyyy-MM-dd\x20HH:mm:ss','list','substring','fromTranslationQuaternionRotationScale','topOutlineShow','dAlpha','RenderState','_modelMatrix','_parseTLE','zmos','getRayEarthPositionByMatrix','origin','xmcof','destroy','init','rightAscension','Log','xgh4','calculateOrbitPoints','dmdt','FLOAT','_slices','angle','type','clearCache','Matrix4','distance','_startFovV','getMeanMotion','_OBJECT','groundAreaPositions','BoundingSphere','rollRadians','tle','drawShow','Satellite:\x20period\x20is\x20null','epochyr','_headingRadians','_createGeometry','Conic','cc1','_orientation_show','_matrix','stopEditing','getChecksum1','jdsatepoch','pho','add','xfact','_volumeGeometry','commandList','sin','_updateGroundEntityVal','_calcSkinAndBone','toFixed','Geometry','latitude','_pointsNum','values','availability','_updateCone','intDesignatorPieceOfLaunch','vertexs','IndexDatatype','pass','apply','nodep','minute','argpdot','12myvLqD','_child','shadowShow','getEpochDay','call','context','t5cof','cc4','getSatBearing','__esModule','dot','_updateAvailabilityHook','_endFovH','property','arr','j3oj2','_ARRAY','ss6','mode','isLngLatFormat','nddot','render','entities','_boundingSphere','5291085hyIpyA','prepareVAO','getRayEarthPosition','Cartesian3','se2','jday','atan2','_attributes_positions','cross','ecco','_times','dBeta','sl4','path','uniform','outlineColor','Color','z13','equals','sz3','getPerigee','transform','yaw','Buffer','Cesium','_globalAlpha','GEODESIC','CamberRadar','getRayEarthLength','getPoint','clone','autoColor','options','vertexArray','center','convex','ShaderProgram','1641492DQusIe','getOwnPropertyDescriptor','currentTime','Satellite\x20has\x20decayed','gstime','subSegmentV','Type','gam','4294038bbovQg','toDate','pinco','_jammerList','TRIANGLES','updateGeometry','geodeticToEcf','PrimitiveType','getPositionValue','topShow','_createLeftCrossSectionCommand','Quaternion','boundingVolume','angle2','sh2','longitude','headingRadians','GeometryInstance','VertexArray','_time_path_end','flyToPoint','fourPindices','graphic','slices','renderState','tan','getSecondTimeDerivative','aycof','attributes','toString','topOindices','getUTCSeconds','getUTCMonth','array','trim','reverse','getHeadingPitchRollForLine','theta05','pitchOffset','topPsts','reduce','isNumber','position','_mountedHook','object','Object','getAverageOrbitTimeMins','sh3','omeosq','eccsq','propagate','Longitude\x20radians\x20must\x20be\x20in\x20range\x20[-pi;\x20pi].','xh3','IDENTITY','DrawCommand','maxTimeMS','_clearGeometry','d3210','sgh4','sz11','_property','passes','_DECIMAL_ASSUMED_E','_groundEntity','primitiveCollection','startFovH','_outlineGeometry','258327OjjZHI','_drawCommands','_rayEllipsoid','_subSegmentH','uniformMap','_enabledDraw','_topOutlineGeometry','All','pgho','epochdays','997109RyyDTl','_matrix_last','addGraphic','xni','_hintPotsNum','createGeometry','d2211','xl2','createDrawCommand','lookAt','_segmentV','date','xinclo','_topHeight','RHUMB','blue','argpo','xl3','HeadingPitchRoll','_outline','Pass','orbitModel','_layer','TimeIntervalCollection','getOrbitModel','default','vkmpersec','alt','startsWith','create','slice','PerInstanceColorAppearance','peo','_imagingAreaPositions','_updateGroundEntityShow','ss2','_length','_reverse','sec','DOUBLE','BufferUsage','_updateVertexs','_translation','fragmentShaderSource','getUTCDate','tle2','orientation','drawCreated','intDesignatorYear','multiplyTransformation','PolygonHierarchy','topS','getUTCMinutes','rayEllipsoid','_topOutlineShow','Primitive','fixedFrameTransform','sinomm','FixedJammingRadar','PointUtil','xi3','getInclination','operationmode','endFovH','_getEciPositionAndVelocity','_pitchRadians','redraw','z11','fromHeadingPitchRoll','d4410','Util','GeometryAttributes','argpp','createOutlineGeometry','attributeLocations','outerFovRadiusPairs','d5220','si3','boundingSphere','subtract','exports','si2','fromGeometry','undefined','BACK','Latitude\x20radians\x20must\x20be\x20in\x20range\x20[-pi/2;\x20pi/2].','modelMatrix','geometryLength','_rollRadians','stepMS','Source\x20TLE','style','xecco','lineCommand','_map','PointTrans','extend2CartesianArray','t4cof','_calcSumJammer','_segmentH','_angle','in\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0a\x0auniform\x20vec4\x20marsColor;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x0a\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20normalEC\x20=\x20faceforward(normalEC,\x20vec3(0.,\x200.,\x201.),\x20-normalEC);\x0a\x20\x20#endif\x0a\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.normalEC\x20=\x20normalEC;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20material.diffuse\x20=\x20marsColor.rgb;\x0a\x20\x20material.alpha\x20=\x20marsColor.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20#ifdef\x20FLAT\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20#else\x0a\x20\x20out_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20#endif\x0a}\x0a','_addGroundEntity','vertexShaderSource','gsto','satellite','didt','_groundOutLineColor','ArcType','eta','eastNorthUpToFixedFrame','_initBoundingSphere','getBstarDrag','now','cosim','Transforms','dopplerFactor','isNeedRecalculate','_removedHook','_INT','nodeo','shaderProgram','dAlphaMax','xh2','mon','gmst','xpidot','getCzmPositionByEciPosition','#ffffff','clock','cnodm','_DATE','color','_updateStyleHook','epochDay','sl2','Appearance','_updatePositionsHook','x2o3','_groundPolyEntity','_time_path_start','fromAnglesLength','pitch','_primitive','point','sz2','xli','matrix','_ground_hierarchy','_FLOAT','sqrt','SatelliteSensor','cone','getMeanAnomaly','concavity','constructor','subSegmentH','plo','2rrHrip','dndt','CallbackProperty','bottomRadius','ndot','delmo','getLookAngles','_bottomHeight','period','_isDisturb','topE'];_0x73da=function(){return _0x2cb1e2;};return _0x73da();}function jday(_0x286497,_0x114860,_0x2aca4b,_0x2bad90,_0x45f60b,_0x3faa6c,_0x4eb5ed){function _0x1c09d2(_0x289a0c,_0x4225cc){return _0x2a61be(_0x289a0c,_0x4225cc- -0x10d);}function _0x35c297(_0x5dee33,_0x371940){return _0x4925de(_0x5dee33,_0x371940-0x2d4);}if(_0x286497 instanceof Date){var _0x12b566=_0x286497;return jdayInternal(_0x12b566[_0x35c297(0x396,0x467)](),_0x12b566[_0x1c09d2(0x2e4,0x1ff)]()+0x1,_0x12b566[_0x1c09d2(0x19e,0x258)](),_0x12b566['getUTCHours'](),_0x12b566['getUTCMinutes'](),_0x12b566[_0x35c297(0x5c7,0x52e)](),_0x12b566['getUTCMilliseconds']());}return jdayInternal(_0x286497,_0x114860,_0x2aca4b,_0x2bad90,_0x45f60b,_0x3faa6c,_0x4eb5ed);}function invjday(_0x46f88b,_0x1a863f){var _0x3a7ab8=_0x46f88b-2415019.5;function _0x255bb5(_0x34a077,_0x2bb68e){return _0x2a61be(_0x2bb68e,_0x34a077-0xd8);}var _0x1773dc=_0x3a7ab8/365.25,_0x190d8d=0x76c+Math['floor'](_0x1773dc),_0x494400=Math[_0x255bb5(0x267,0x3a0)]((_0x190d8d-0x76d)*0.25),_0x4e3e23=_0x3a7ab8-((_0x190d8d-0x76c)*0x16d+_0x494400)+1e-11;function _0x4079d8(_0xec1a24,_0xc0d25e){return _0x4925de(_0xc0d25e,_0xec1a24-0x286);}_0x4e3e23<0x1&&(_0x190d8d-=0x1,_0x494400=Math[_0x255bb5(0x267,0x1e8)]((_0x190d8d-0x76d)*0.25),_0x4e3e23=_0x3a7ab8-((_0x190d8d-0x76c)*0x16d+_0x494400));var _0x3098b3=days2mdhms(_0x190d8d,_0x4e3e23),_0xef3b57=_0x3098b3['mon'],_0x210044=_0x3098b3[_0x4079d8(0x3bb,0x4d3)],_0x4dae20=_0x3098b3['hr'],_0x2b1844=_0x3098b3['minute'],_0x5dd9c5=_0x3098b3['sec']-8.64e-7;if(_0x1a863f)return[_0x190d8d,_0xef3b57,_0x210044,_0x4dae20,_0x2b1844,Math[_0x4079d8(0x364,0x2a0)](_0x5dd9c5)];return new Date(Date['UTC'](_0x190d8d,_0xef3b57-0x1,_0x210044,_0x4dae20,_0x2b1844,Math[_0x4079d8(0x364,0x4b5)](_0x5dd9c5)));}function dpper(_0x2fbb6f,_0x53492e){var _0x2f2ed7=_0x2fbb6f['e3'],_0x48bbcf=_0x2fbb6f[_0x886821(0x23d,0x2d5)],_0x2f6d58=_0x2fbb6f['peo'],_0x316d27=_0x2fbb6f['pgho'],_0x58f9f6=_0x2fbb6f['pho'],_0x48e3b2=_0x2fbb6f['pinco'],_0x586e76=_0x2fbb6f[_0x886821(0x4c9,0x50c)],_0x233a5e=_0x2fbb6f['se2'],_0x586d31=_0x2fbb6f['se3'],_0x57302d=_0x2fbb6f[_0x886821(0x299,0x350)],_0x5a9332=_0x2fbb6f['sgh3'],_0x2e0ee7=_0x2fbb6f[_0x10b0b3(0x609,0x53e)],_0x10d5a9=_0x2fbb6f[_0x886821(0x369,0x430)],_0x8d654a=_0x2fbb6f['sh3'],_0x8d5adc=_0x2fbb6f[_0x886821(0x404,0x4c0)],_0x535d6f=_0x2fbb6f['si3'],_0x116440=_0x2fbb6f['sl2'],_0x5d9239=_0x2fbb6f['sl3'],_0x1259ff=_0x2fbb6f[_0x10b0b3(0x4b5,0x4e3)],_0x15bcf1=_0x2fbb6f['t'],_0x20923a=_0x2fbb6f[_0x10b0b3(0x476,0x467)],_0x23c896=_0x2fbb6f[_0x10b0b3(0x5b2,0x612)],_0x4db1db=_0x2fbb6f['xgh4'],_0x49720a=_0x2fbb6f['xh2'],_0x404753=_0x2fbb6f['xh3'],_0x587b17=_0x2fbb6f[_0x886821(0x44b,0x32e)],_0x294842=_0x2fbb6f['xi3'],_0x28364c=_0x2fbb6f['xl2'],_0x57cb36=_0x2fbb6f[_0x886821(0x54b,0x480)],_0x4873c4=_0x2fbb6f[_0x10b0b3(0x5a6,0x656)],_0x5498d3=_0x2fbb6f['zmol'],_0x53a908=_0x2fbb6f['zmos'],_0x32726d=_0x53492e[_0x10b0b3(0x558,0x488)],_0x3a1cec=_0x53492e[_0x10b0b3(0x7c2,0x666)],_0x1b0b88=_0x53492e['ep'],_0x2d574c=_0x53492e['inclp'],_0x2a508d=_0x53492e['nodep'],_0x1d6134=_0x53492e['argpp'],_0x24c351=_0x53492e['mp'],_0x508ec6,_0x7e7564;function _0x886821(_0x9a2533,_0x30203e){return _0x4925de(_0x9a2533,_0x30203e-0x1e7);}var _0x5a368d,_0x1a1018,_0x59a8b7,_0x6853f4,_0x4485d9,_0x561bb2,_0x3ae8e6,_0x1b7ddf,_0xc76d35,_0x1ff72f,_0x4ee669,_0x4974c5,_0x1cfd71,_0x142887,_0xa6354e;function _0x10b0b3(_0x1fd39b,_0x48194b){return _0x4925de(_0x1fd39b,_0x48194b-0x2c9);}var _0x16623f,_0x1ca61d,_0x400a9a,_0x13deb6,_0x49f690=0.0000119459,_0x609684=0.01675,_0x3c6dc3=0.00015835218,_0x5d7908=0.0549;_0x13deb6=_0x53a908+_0x49f690*_0x15bcf1;_0x32726d==='y'&&(_0x13deb6=_0x53a908);_0x400a9a=_0x13deb6+0x2*_0x609684*Math['sin'](_0x13deb6),_0xa6354e=Math[_0x10b0b3(0x546,0x4ad)](_0x400a9a),_0x1b7ddf=0.5*_0xa6354e*_0xa6354e-0.25,_0xc76d35=-0.5*_0xa6354e*Math['cos'](_0x400a9a);var _0x4852b0=_0x233a5e*_0x1b7ddf+_0x586d31*_0xc76d35,_0x475f62=_0x8d5adc*_0x1b7ddf+_0x535d6f*_0xc76d35,_0x2b8105=_0x116440*_0x1b7ddf+_0x5d9239*_0xc76d35+_0x1259ff*_0xa6354e,_0x5517e5=_0x57302d*_0x1b7ddf+_0x5a9332*_0xc76d35+_0x2e0ee7*_0xa6354e,_0x507a5b=_0x10d5a9*_0x1b7ddf+_0x8d654a*_0xc76d35;_0x13deb6=_0x5498d3+_0x3c6dc3*_0x15bcf1;_0x32726d==='y'&&(_0x13deb6=_0x5498d3);_0x400a9a=_0x13deb6+0x2*_0x5d7908*Math['sin'](_0x13deb6),_0xa6354e=Math[_0x886821(0x45c,0x3cb)](_0x400a9a),_0x1b7ddf=0.5*_0xa6354e*_0xa6354e-0.25,_0xc76d35=-0.5*_0xa6354e*Math['cos'](_0x400a9a);var _0x9a9f8b=_0x48bbcf*_0x1b7ddf+_0x2f2ed7*_0xc76d35,_0x39220b=_0x587b17*_0x1b7ddf+_0x294842*_0xc76d35,_0x5b9ef0=_0x28364c*_0x1b7ddf+_0x57cb36*_0xc76d35+_0x4873c4*_0xa6354e,_0x52d1f3=_0x20923a*_0x1b7ddf+_0x23c896*_0xc76d35+_0x4db1db*_0xa6354e,_0x52141d=_0x49720a*_0x1b7ddf+_0x404753*_0xc76d35;_0x1ff72f=_0x4852b0+_0x9a9f8b,_0x1cfd71=_0x475f62+_0x39220b,_0x142887=_0x2b8105+_0x5b9ef0,_0x4ee669=_0x5517e5+_0x52d1f3,_0x4974c5=_0x507a5b+_0x52141d;_0x32726d==='n'&&(_0x1ff72f-=_0x2f6d58,_0x1cfd71-=_0x48e3b2,_0x142887-=_0x586e76,_0x4ee669-=_0x316d27,_0x4974c5-=_0x58f9f6,_0x2d574c+=_0x1cfd71,_0x1b0b88+=_0x1ff72f,_0x1a1018=Math['sin'](_0x2d574c),_0x5a368d=Math['cos'](_0x2d574c),_0x2d574c>=0.2?(_0x4974c5/=_0x1a1018,_0x4ee669-=_0x5a368d*_0x4974c5,_0x1d6134+=_0x4ee669,_0x2a508d+=_0x4974c5,_0x24c351+=_0x142887):(_0x6853f4=Math['sin'](_0x2a508d),_0x59a8b7=Math[_0x886821(0x44e,0x2f0)](_0x2a508d),_0x508ec6=_0x1a1018*_0x6853f4,_0x7e7564=_0x1a1018*_0x59a8b7,_0x4485d9=_0x4974c5*_0x59a8b7+_0x1cfd71*_0x5a368d*_0x6853f4,_0x561bb2=-_0x4974c5*_0x6853f4+_0x1cfd71*_0x5a368d*_0x59a8b7,_0x508ec6+=_0x4485d9,_0x7e7564+=_0x561bb2,_0x2a508d%=twoPi,_0x2a508d<0x0&&_0x3a1cec==='a'&&(_0x2a508d+=twoPi),_0x16623f=_0x24c351+_0x1d6134+_0x5a368d*_0x2a508d,_0x3ae8e6=_0x142887+_0x4ee669-_0x1cfd71*_0x2a508d*_0x1a1018,_0x16623f+=_0x3ae8e6,_0x1ca61d=_0x2a508d,_0x2a508d=Math[_0x886821(0x2e6,0x3fb)](_0x508ec6,_0x7e7564),_0x2a508d<0x0&&_0x3a1cec==='a'&&(_0x2a508d+=twoPi),Math['abs'](_0x1ca61d-_0x2a508d)>pi&&(_0x2a508d<_0x1ca61d?_0x2a508d+=twoPi:_0x2a508d-=twoPi),_0x24c351+=_0x142887,_0x1d6134=_0x16623f-_0x24c351-_0x5a368d*_0x2a508d));var _0x30e67={};return _0x30e67['ep']=_0x1b0b88,_0x30e67['inclp']=_0x2d574c,_0x30e67['nodep']=_0x2a508d,_0x30e67[_0x10b0b3(0x4ef,0x599)]=_0x1d6134,_0x30e67['mp']=_0x24c351,_0x30e67;}function dscom(_0x121a51){var _0x494809=_0x121a51[_0x4b5d4a(0x1be,0x274)],_0x131414=_0x121a51['ep'],_0x54d19c=_0x121a51['argpp'],_0x11d2d5=_0x121a51['tc'],_0x3d01b9=_0x121a51['inclp'],_0x3317b4=_0x121a51['nodep'],_0x18840e=_0x121a51['np'],_0x5a8482,_0x3dccfd,_0x471501,_0x251d9f,_0x54ccc1,_0x164fbe,_0x44eb66,_0x928923,_0xe57b64,_0x4d8960,_0x4f01ac,_0x55583f,_0x2a2c0a,_0x27764a,_0x496589,_0x1ae705,_0x4f7b19,_0x4fb830,_0x29d74f,_0x881d43,_0x375471,_0x3bffbf,_0x3587e3,_0xcc8043,_0x221ddb,_0x488ebb,_0x1b587b,_0x4e0812,_0x14f3ab,_0x556f92,_0x30850c,_0x2389da,_0x5857fa,_0x296ebf,_0x288f6c,_0x42b5ea,_0x2ecce7,_0x1b8b71,_0x28fada,_0x2cdf21,_0x4d3082,_0x129303,_0x92cca7,_0x55d82d,_0x422741,_0x3b220b,_0x5374b7,_0x2d0636,_0x5291bb,_0x2967df,_0x2c2d41,_0x3925c5,_0x450e7f,_0x251219,_0xf0313,_0x3bd6b7,_0x4a152c,_0x19c433,_0x2d13d3,_0x130a23,_0x1d21db,_0x26e8f2,_0x26c6b9,_0x52e17d=0.01675,_0x5cfdd4=0.0549,_0x3c4f2f=0.0000029864797,_0x51166a=4.7968065e-7,_0x4d6190=0.39785416,_0x2763fb=0.91744867,_0x4cc5b8=0.1945905,_0x2fe914=-0.98088458,_0x354ecf=_0x18840e,_0x241c2c=_0x131414,_0x140f8e=Math[_0x4b5d4a(0x3c,0x1f)](_0x3317b4),_0xeedbf6=Math['cos'](_0x3317b4),_0x173773=Math['sin'](_0x54d19c),_0x4f4b0e=Math['cos'](_0x54d19c),_0x3e8f75=Math[_0xb69778(0x25d,0x39a)](_0x3d01b9),_0x244391=Math[_0xb69778(0x1c0,0x2bf)](_0x3d01b9),_0x38997d=_0x241c2c*_0x241c2c,_0x1c1d3f=0x1-_0x38997d,_0x2a4bdd=Math['sqrt'](_0x1c1d3f),_0xba6a48=0x0,_0x45f2bb=0x0,_0x2712a3=0x0,_0x28a54b=0x0,_0x10b7d8=0x0,_0x27f70b=_0x494809+18261.5+_0x11d2d5/0x5a0,_0x370227=(4.523602-0.00092422029*_0x27f70b)%twoPi,_0x15b355=Math['sin'](_0x370227),_0x2ea7e2=Math[_0xb69778(0x339,0x2bf)](_0x370227),_0x14ea04=0.91375164-0.03568096*_0x2ea7e2;function _0xb69778(_0x5395ac,_0x39fe9a){return _0x2a61be(_0x5395ac,_0x39fe9a-0x105);}var _0x2a41b4=Math['sqrt'](0x1-_0x14ea04*_0x14ea04),_0x5a32d2=0.089683511*_0x15b355/_0x2a41b4,_0x2ace9a=Math['sqrt'](0x1-_0x5a32d2*_0x5a32d2),_0x323d3f=5.8351514+0.001944368*_0x27f70b,_0x3dacd4=0.39785416*_0x15b355/_0x2a41b4,_0x4e54aa=_0x2ace9a*_0x2ea7e2+0.91744867*_0x5a32d2*_0x15b355;_0x3dacd4=Math['atan2'](_0x3dacd4,_0x4e54aa),_0x3dacd4+=_0x323d3f-_0x370227;var _0x3c71e7=Math[_0xb69778(0x23a,0x2bf)](_0x3dacd4),_0x594476=Math[_0x4b5d4a(0x3c,0x12c)](_0x3dacd4);_0x881d43=_0x4cc5b8,_0x375471=_0x2fe914,_0xcc8043=_0x2763fb,_0x221ddb=_0x4d6190,_0x3bffbf=_0xeedbf6,_0x3587e3=_0x140f8e,_0x4f01ac=_0x3c4f2f;var _0x2360cc=0x1/_0x354ecf,_0x185f01=0x0;while(_0x185f01<0x2){_0x185f01+=0x1,_0x5a8482=_0x881d43*_0x3bffbf+_0x375471*_0xcc8043*_0x3587e3,_0x471501=-_0x375471*_0x3bffbf+_0x881d43*_0xcc8043*_0x3587e3,_0x44eb66=-_0x881d43*_0x3587e3+_0x375471*_0xcc8043*_0x3bffbf,_0x928923=_0x375471*_0x221ddb,_0xe57b64=_0x375471*_0x3587e3+_0x881d43*_0xcc8043*_0x3bffbf,_0x4d8960=_0x881d43*_0x221ddb,_0x3dccfd=_0x244391*_0x44eb66+_0x3e8f75*_0x928923,_0x251d9f=_0x244391*_0xe57b64+_0x3e8f75*_0x4d8960,_0x54ccc1=-_0x3e8f75*_0x44eb66+_0x244391*_0x928923,_0x164fbe=-_0x3e8f75*_0xe57b64+_0x244391*_0x4d8960,_0x55583f=_0x5a8482*_0x4f4b0e+_0x3dccfd*_0x173773,_0x2a2c0a=_0x471501*_0x4f4b0e+_0x251d9f*_0x173773,_0x27764a=-_0x5a8482*_0x173773+_0x3dccfd*_0x4f4b0e,_0x496589=-_0x471501*_0x173773+_0x251d9f*_0x4f4b0e,_0x1ae705=_0x54ccc1*_0x173773,_0x4f7b19=_0x164fbe*_0x173773,_0x4fb830=_0x54ccc1*_0x4f4b0e,_0x29d74f=_0x164fbe*_0x4f4b0e,_0x1d21db=0xc*_0x55583f*_0x55583f-0x3*_0x27764a*_0x27764a,_0x26e8f2=0x18*_0x55583f*_0x2a2c0a-0x6*_0x27764a*_0x496589,_0x26c6b9=0xc*_0x2a2c0a*_0x2a2c0a-0x3*_0x496589*_0x496589,_0x3925c5=0x3*(_0x5a8482*_0x5a8482+_0x3dccfd*_0x3dccfd)+_0x1d21db*_0x38997d,_0x450e7f=0x6*(_0x5a8482*_0x471501+_0x3dccfd*_0x251d9f)+_0x26e8f2*_0x38997d,_0x251219=0x3*(_0x471501*_0x471501+_0x251d9f*_0x251d9f)+_0x26c6b9*_0x38997d,_0xf0313=-0x6*_0x5a8482*_0x54ccc1+_0x38997d*(-0x18*_0x55583f*_0x4fb830-0x6*_0x27764a*_0x1ae705),_0x3bd6b7=-0x6*(_0x5a8482*_0x164fbe+_0x471501*_0x54ccc1)+_0x38997d*(-0x18*(_0x2a2c0a*_0x4fb830+_0x55583f*_0x29d74f)+-0x6*(_0x27764a*_0x4f7b19+_0x496589*_0x1ae705)),_0x4a152c=-0x6*_0x471501*_0x164fbe+_0x38997d*(-0x18*_0x2a2c0a*_0x29d74f-0x6*_0x496589*_0x4f7b19),_0x19c433=0x6*_0x3dccfd*_0x54ccc1+_0x38997d*(0x18*_0x55583f*_0x1ae705-0x6*_0x27764a*_0x4fb830),_0x2d13d3=0x6*(_0x251d9f*_0x54ccc1+_0x3dccfd*_0x164fbe)+_0x38997d*(0x18*(_0x2a2c0a*_0x1ae705+_0x55583f*_0x4f7b19)-0x6*(_0x496589*_0x4fb830+_0x27764a*_0x29d74f)),_0x130a23=0x6*_0x251d9f*_0x164fbe+_0x38997d*(0x18*_0x2a2c0a*_0x4f7b19-0x6*_0x496589*_0x29d74f),_0x3925c5=_0x3925c5+_0x3925c5+_0x1c1d3f*_0x1d21db,_0x450e7f=_0x450e7f+_0x450e7f+_0x1c1d3f*_0x26e8f2,_0x251219=_0x251219+_0x251219+_0x1c1d3f*_0x26c6b9,_0x5374b7=_0x4f01ac*_0x2360cc,_0x3b220b=-0.5*_0x5374b7/_0x2a4bdd,_0x2d0636=_0x5374b7*_0x2a4bdd,_0x422741=-0xf*_0x241c2c*_0x2d0636,_0x5291bb=_0x55583f*_0x27764a+_0x2a2c0a*_0x496589,_0x2967df=_0x2a2c0a*_0x27764a+_0x55583f*_0x496589,_0x2c2d41=_0x2a2c0a*_0x496589-_0x55583f*_0x27764a,_0x185f01===0x1&&(_0x488ebb=_0x422741,_0x1b587b=_0x3b220b,_0x4e0812=_0x5374b7,_0x14f3ab=_0x2d0636,_0x556f92=_0x5291bb,_0x30850c=_0x2967df,_0x2389da=_0x2c2d41,_0x5857fa=_0x3925c5,_0x296ebf=_0x450e7f,_0x288f6c=_0x251219,_0x42b5ea=_0xf0313,_0x2ecce7=_0x3bd6b7,_0x1b8b71=_0x4a152c,_0x28fada=_0x19c433,_0x2cdf21=_0x2d13d3,_0x4d3082=_0x130a23,_0x129303=_0x1d21db,_0x92cca7=_0x26e8f2,_0x55d82d=_0x26c6b9,_0x881d43=_0x3c71e7,_0x375471=_0x594476,_0xcc8043=_0x14ea04,_0x221ddb=_0x2a41b4,_0x3bffbf=_0x2ace9a*_0xeedbf6+_0x5a32d2*_0x140f8e,_0x3587e3=_0x140f8e*_0x2ace9a-_0xeedbf6*_0x5a32d2,_0x4f01ac=_0x51166a);}var _0x10437a=(4.7199672+(0.2299715*_0x27f70b-_0x323d3f))%twoPi,_0x274cf1=(6.2565837+0.017201977*_0x27f70b)%twoPi,_0x5ea6f1=0x2*_0x488ebb*_0x30850c,_0x1b7949=0x2*_0x488ebb*_0x2389da,_0xfefdca=0x2*_0x1b587b*_0x2ecce7,_0x4d411b=0x2*_0x1b587b*(_0x1b8b71-_0x42b5ea),_0x2fbd6a=-0x2*_0x4e0812*_0x296ebf,_0x37faa7=-0x2*_0x4e0812*(_0x288f6c-_0x5857fa),_0x39c1ad=-0x2*_0x4e0812*(-0x15-0x9*_0x38997d)*_0x52e17d,_0x4fab9c=0x2*_0x14f3ab*_0x92cca7,_0x4a3c29=0x2*_0x14f3ab*(_0x55d82d-_0x129303),_0x5bf507=-0x12*_0x14f3ab*_0x52e17d,_0x4d0375=-0x2*_0x1b587b*_0x2cdf21,_0x8c2f31=-0x2*_0x1b587b*(_0x4d3082-_0x28fada),_0x22d06c=0x2*_0x422741*_0x2967df,_0x35fcc8=0x2*_0x422741*_0x2c2d41,_0x18041c=0x2*_0x3b220b*_0x3bd6b7,_0x424203=0x2*_0x3b220b*(_0x4a152c-_0xf0313),_0x3dc266=-0x2*_0x5374b7*_0x450e7f,_0x179737=-0x2*_0x5374b7*(_0x251219-_0x3925c5),_0x364b1f=-0x2*_0x5374b7*(-0x15-0x9*_0x38997d)*_0x5cfdd4,_0x13f0f1=0x2*_0x2d0636*_0x26e8f2,_0xbae75=0x2*_0x2d0636*(_0x26c6b9-_0x1d21db),_0x20a500=-0x12*_0x2d0636*_0x5cfdd4,_0x4e6c26=-0x2*_0x3b220b*_0x2d13d3,_0x23dbc9=-0x2*_0x3b220b*(_0x130a23-_0x19c433),_0x9d1b57={};_0x9d1b57[_0x4b5d4a(-0xc3,-0x222)]=_0x140f8e,_0x9d1b57['cnodm']=_0xeedbf6,_0x9d1b57[_0x4b5d4a(-0x51,-0x180)]=_0x3e8f75,_0x9d1b57[_0x4b5d4a(0x152,0xb4)]=_0x244391,_0x9d1b57[_0xb69778(0x554,0x477)]=_0x173773,_0x9d1b57[_0x4b5d4a(0x6,0xa9)]=_0x4f4b0e,_0x9d1b57[_0xb69778(0x34b,0x2eb)]=_0x27f70b,_0x9d1b57['e3']=_0x35fcc8,_0x9d1b57[_0xb69778(0x16d,0x2a4)]=_0x22d06c,_0x9d1b57['em']=_0x241c2c,_0x9d1b57['emsq']=_0x38997d,_0x9d1b57[_0xb69778(0x486,0x3f0)]=_0x323d3f,_0x9d1b57[_0xb69778(0x5aa,0x45e)]=_0xba6a48,_0x9d1b57['pgho']=_0x28a54b,_0x9d1b57['pho']=_0x10b7d8,_0x9d1b57['pinco']=_0x45f2bb,_0x9d1b57['plo']=_0x2712a3,_0x9d1b57['rtemsq']=_0x2a4bdd,_0x9d1b57['se2']=_0x5ea6f1,_0x9d1b57['se3']=_0x1b7949,_0x9d1b57[_0x4b5d4a(-0x3f,-0xfd)]=_0x4fab9c,_0x9d1b57[_0x4b5d4a(-0x1e,-0x12)]=_0x4a3c29,_0x9d1b57[_0xb69778(0x50c,0x42b)]=_0x5bf507,_0x9d1b57[_0x4b5d4a(0xa1,0x1b3)]=_0x4d0375,_0x9d1b57['sh3']=_0x8c2f31;function _0x4b5d4a(_0x40f38f,_0x1d5674){return _0x4925de(_0x1d5674,_0x40f38f- -0x1a8);}return _0x9d1b57['si2']=_0xfefdca,_0x9d1b57[_0xb69778(0x560,0x48b)]=_0x4d411b,_0x9d1b57['sl2']=_0x2fbd6a,_0x9d1b57['sl3']=_0x37faa7,_0x9d1b57['sl4']=_0x39c1ad,_0x9d1b57['s1']=_0x422741,_0x9d1b57['s2']=_0x3b220b,_0x9d1b57['s3']=_0x5374b7,_0x9d1b57['s4']=_0x2d0636,_0x9d1b57['s5']=_0x5291bb,_0x9d1b57['s6']=_0x2967df,_0x9d1b57['s7']=_0x2c2d41,_0x9d1b57['ss1']=_0x488ebb,_0x9d1b57['ss2']=_0x1b587b,_0x9d1b57[_0x4b5d4a(-0x8a,-0xd)]=_0x4e0812,_0x9d1b57['ss4']=_0x14f3ab,_0x9d1b57['ss5']=_0x556f92,_0x9d1b57['ss6']=_0x30850c,_0x9d1b57[_0x4b5d4a(0x1dd,0x30e)]=_0x2389da,_0x9d1b57[_0x4b5d4a(-0x19,0x118)]=_0x5857fa,_0x9d1b57['sz2']=_0x296ebf,_0x9d1b57['sz3']=_0x288f6c,_0x9d1b57[_0x4b5d4a(0xce,0x1d4)]=_0x42b5ea,_0x9d1b57['sz12']=_0x2ecce7,_0x9d1b57[_0xb69778(0x247,0x2c2)]=_0x1b8b71,_0x9d1b57['sz21']=_0x28fada,_0x9d1b57['sz22']=_0x2cdf21,_0x9d1b57[_0xb69778(0x601,0x4f5)]=_0x4d3082,_0x9d1b57['sz31']=_0x129303,_0x9d1b57['sz32']=_0x92cca7,_0x9d1b57['sz33']=_0x55d82d,_0x9d1b57['xgh2']=_0x13f0f1,_0x9d1b57['xgh3']=_0xbae75,_0x9d1b57['xgh4']=_0x20a500,_0x9d1b57['xh2']=_0x4e6c26,_0x9d1b57['xh3']=_0x23dbc9,_0x9d1b57['xi2']=_0x18041c,_0x9d1b57['xi3']=_0x424203,_0x9d1b57['xl2']=_0x3dc266,_0x9d1b57[_0xb69778(0x3f5,0x44f)]=_0x179737,_0x9d1b57[_0x4b5d4a(0x1e5,0x102)]=_0x364b1f,_0x9d1b57['nm']=_0x354ecf,_0x9d1b57['z1']=_0x3925c5,_0x9d1b57['z2']=_0x450e7f,_0x9d1b57['z3']=_0x251219,_0x9d1b57['z11']=_0xf0313,_0x9d1b57['z12']=_0x3bd6b7,_0x9d1b57['z13']=_0x4a152c,_0x9d1b57['z21']=_0x19c433,_0x9d1b57['z22']=_0x2d13d3,_0x9d1b57['z23']=_0x130a23,_0x9d1b57[_0xb69778(0x255,0x30a)]=_0x1d21db,_0x9d1b57['z32']=_0x26e8f2,_0x9d1b57['z33']=_0x26c6b9,_0x9d1b57[_0x4b5d4a(0x1e4,0x10f)]=_0x10437a,_0x9d1b57['zmos']=_0x274cf1,_0x9d1b57;}function dsinit(_0xfc7b26){var _0x34f645=_0xfc7b26['cosim'],_0x3ba659=_0xfc7b26[_0x2bfb76(0x47,0xae)],_0x4b3dbf=_0xfc7b26['s1'],_0x2879f8=_0xfc7b26['s2'],_0x3e8575=_0xfc7b26['s3'],_0x31ba48=_0xfc7b26['s4'],_0x22f8d7=_0xfc7b26['s5'],_0x5d9cb4=_0xfc7b26[_0x90c749(0x1df,0x1b7)],_0x372a91=_0xfc7b26[_0x90c749(0x420,0x392)],_0x1a0409=_0xfc7b26['ss2'],_0x3d8761=_0xfc7b26['ss3'],_0x2e9f3a=_0xfc7b26[_0x90c749(0x28d,0x20a)],_0x4a9288=_0xfc7b26['ss5'],_0x4f5240=_0xfc7b26['sz1'],_0x4b9c3f=_0xfc7b26['sz3'],_0x29dfc4=_0xfc7b26['sz11'],_0x542c86=_0xfc7b26['sz13'],_0x481365=_0xfc7b26[_0x2bfb76(-0x12d,0x42)],_0x440945=_0xfc7b26['sz23'],_0xb5f352=_0xfc7b26['sz31'],_0x4cbe50=_0xfc7b26['sz33'],_0x267a48=_0xfc7b26['t'],_0x160955=_0xfc7b26['tc'],_0x20ed7a=_0xfc7b26[_0x90c749(0x281,0x350)],_0x4d5f92=_0xfc7b26['mo'],_0x4c51e2=_0xfc7b26['mdot'],_0x35ac79=_0xfc7b26['no'],_0x4d00cd=_0xfc7b26['nodeo'],_0x1d9282=_0xfc7b26['nodedot'],_0x5a662f=_0xfc7b26['xpidot'],_0x485194=_0xfc7b26['z1'],_0x15796f=_0xfc7b26['z3'],_0x105916=_0xfc7b26[_0x2bfb76(0x7a,-0x3b)],_0xe95b8e=_0xfc7b26['z13'],_0x51917b=_0xfc7b26['z21'],_0x29143a=_0xfc7b26[_0x90c749(0x4c1,0x39d)],_0x15818a=_0xfc7b26[_0x2bfb76(-0xfd,-0x164)],_0x3036fb=_0xfc7b26[_0x2bfb76(-0x14d,-0x1d3)],_0x5598d5=_0xfc7b26['ecco'],_0x301f19=_0xfc7b26[_0x90c749(0x42d,0x2cc)],_0x3bc0a7=_0xfc7b26['emsq'],_0x2b2e63=_0xfc7b26['em'],_0x5ea3f7=_0xfc7b26['argpm'],_0x1bc8f3=_0xfc7b26['inclm'],_0x3412e6=_0xfc7b26['mm'],_0xf8c137=_0xfc7b26['nm'],_0x4bcfbd=_0xfc7b26['nodem'],_0xa19a88=_0xfc7b26['irez'],_0x1f961c=_0xfc7b26[_0x2bfb76(0x107,0x225)],_0x12d2d7=_0xfc7b26[_0x90c749(0x87,0x15e)],_0xda460f=_0xfc7b26[_0x2bfb76(0x3d,-0xb0)],_0x1e2322=_0xfc7b26[_0x2bfb76(0x23,-0x107)],_0xc92a4c=_0xfc7b26['d3222'],_0x2122f0=_0xfc7b26[_0x2bfb76(0x7c,0x1de)],_0x2bc609=_0xfc7b26['d4422'],_0x1e7b75=_0xfc7b26['d5220'],_0x152451=_0xfc7b26[_0x2bfb76(-0xcd,-0x1fe)],_0x207ea0=_0xfc7b26['d5421'],_0x1118c6=_0xfc7b26['d5433'],_0x2bb66c=_0xfc7b26[_0x2bfb76(-0x164,-0x182)],_0x4406f3=_0xfc7b26['didt'],_0x577d26=_0xfc7b26['dmdt'],_0x4d2112=_0xfc7b26['dnodt'],_0x5b8c8b=_0xfc7b26[_0x90c749(0x4ab,0x412)],_0x4a5b24=_0xfc7b26['del1'],_0x555288=_0xfc7b26['del2'],_0x3cc375=_0xfc7b26['del3'],_0x3069d5=_0xfc7b26['xfact'],_0x5f5889=_0xfc7b26[_0x2bfb76(-0x11e,-0x1ec)],_0x941560=_0xfc7b26['xli'],_0x33250e=_0xfc7b26[_0x90c749(0x3d6,0x2eb)],_0x41b1ca,_0x5d88e8,_0x3f3154,_0x4a8566,_0x23196f,_0x414e40,_0x148359;function _0x2bfb76(_0x21f105,_0x44f5cc){return _0x4925de(_0x44f5cc,_0x21f105- -0x251);}var _0x5391bc,_0x1ba1bd,_0x65e905,_0x257472,_0x2dca15,_0x58091f,_0x3f76e9,_0x737038,_0x158a3e,_0x13f33f,_0x3b939e,_0x2560f5,_0x1ff9dc,_0x521d1e,_0x8965b0,_0x764951,_0x2eebe7,_0x12c2d8,_0x38794b,_0x125ceb,_0x46253b,_0x28c8b8,_0x5ca910,_0x2f2fd9,_0x2bcc1f,_0x5ed0c6=0.0000017891679;function _0x90c749(_0x167221,_0x179b49){return _0x2a61be(_0x167221,_0x179b49- -0x51);}var _0x981efc=0.0000021460748,_0x477a84=2.2123015e-7,_0x474011=0.0000017891679,_0x55203e=7.3636953e-9,_0x150869=2.1765803e-9,_0x51b541=0.0043752690880113,_0x5ba0f2=3.7393792e-7,_0x523fd3=1.1428639e-7,_0x272ec0=0.00015835218,_0x5cf552=0.0000119459;_0xa19a88=0x0;_0xf8c137<0.0052359877&&_0xf8c137>0.0034906585&&(_0xa19a88=0x1);_0xf8c137>=0.00826&&_0xf8c137<=0.00924&&_0x2b2e63>=0.5&&(_0xa19a88=0x2);var _0x45263b=_0x372a91*_0x5cf552*_0x4a9288,_0x2bff0b=_0x1a0409*_0x5cf552*(_0x29dfc4+_0x542c86),_0x4c8962=-_0x5cf552*_0x3d8761*(_0x4f5240+_0x4b9c3f-0xe-0x6*_0x3bc0a7),_0x54354e=_0x2e9f3a*_0x5cf552*(_0xb5f352+_0x4cbe50-0x6),_0x56a845=-_0x5cf552*_0x1a0409*(_0x481365+_0x440945);(_0x1bc8f3<0.052359877||_0x1bc8f3>pi-0.052359877)&&(_0x56a845=0x0);_0x5d9cb4!==0x0&&(_0x56a845/=_0x5d9cb4);var _0x1d5bd1=_0x54354e-_0x34f645*_0x56a845;_0x2bb66c=_0x45263b+_0x4b3dbf*_0x272ec0*_0x22f8d7,_0x4406f3=_0x2bff0b+_0x2879f8*_0x272ec0*(_0x105916+_0xe95b8e),_0x577d26=_0x4c8962-_0x272ec0*_0x3e8575*(_0x485194+_0x15796f-0xe-0x6*_0x3bc0a7);var _0x4d8229=_0x31ba48*_0x272ec0*(_0x15818a+_0x3036fb-0x6),_0x303f9d=-_0x272ec0*_0x2879f8*(_0x51917b+_0x29143a);(_0x1bc8f3<0.052359877||_0x1bc8f3>pi-0.052359877)&&(_0x303f9d=0x0);_0x5b8c8b=_0x1d5bd1+_0x4d8229,_0x4d2112=_0x56a845;_0x5d9cb4!==0x0&&(_0x5b8c8b-=_0x34f645/_0x5d9cb4*_0x303f9d,_0x4d2112+=_0x303f9d/_0x5d9cb4);var _0xa6be18=0x0,_0x48571a=(_0x20ed7a+_0x160955*_0x51b541)%twoPi;_0x2b2e63+=_0x2bb66c*_0x267a48,_0x1bc8f3+=_0x4406f3*_0x267a48,_0x5ea3f7+=_0x5b8c8b*_0x267a48,_0x4bcfbd+=_0x4d2112*_0x267a48,_0x3412e6+=_0x577d26*_0x267a48;if(_0xa19a88!==0x0){_0x5ca910=Math[_0x2bfb76(-0x13c,-0x139)](_0xf8c137/xke,x2o3);if(_0xa19a88===0x2){_0x2f2fd9=_0x34f645*_0x34f645;var _0x46cd2c=_0x2b2e63;_0x2b2e63=_0x5598d5;var _0x1111d1=_0x3bc0a7;_0x3bc0a7=_0x301f19,_0x2bcc1f=_0x2b2e63*_0x3bc0a7,_0x3f76e9=-0.306-(_0x2b2e63-0.64)*0.44,_0x2b2e63<=0.65?(_0x737038=3.616-13.247*_0x2b2e63+16.29*_0x3bc0a7,_0x13f33f=-19.302+117.39*_0x2b2e63-228.419*_0x3bc0a7+156.591*_0x2bcc1f,_0x3b939e=-18.9068+109.7927*_0x2b2e63-214.6334*_0x3bc0a7+146.5816*_0x2bcc1f,_0x2560f5=-41.122+242.694*_0x2b2e63-471.094*_0x3bc0a7+313.953*_0x2bcc1f,_0x1ff9dc=-146.407+841.88*_0x2b2e63-1629.014*_0x3bc0a7+1083.435*_0x2bcc1f,_0x521d1e=-532.114+3017.977*_0x2b2e63-5740.032*_0x3bc0a7+3708.276*_0x2bcc1f):(_0x737038=-72.099+331.819*_0x2b2e63-508.738*_0x3bc0a7+266.724*_0x2bcc1f,_0x13f33f=-346.844+1582.851*_0x2b2e63-2415.925*_0x3bc0a7+1246.113*_0x2bcc1f,_0x3b939e=-342.585+1554.908*_0x2b2e63-2366.899*_0x3bc0a7+1215.972*_0x2bcc1f,_0x2560f5=-1052.797+4758.686*_0x2b2e63-7193.992*_0x3bc0a7+3651.957*_0x2bcc1f,_0x1ff9dc=-3581.69+16178.11*_0x2b2e63-24462.77*_0x3bc0a7+12422.52*_0x2bcc1f,_0x2b2e63>0.715?_0x521d1e=-5149.66+29936.92*_0x2b2e63-54087.36*_0x3bc0a7+31324.56*_0x2bcc1f:_0x521d1e=1464.74-4664.75*_0x2b2e63+3763.64*_0x3bc0a7),_0x2b2e63<0.7?(_0x2eebe7=-919.2277+4988.61*_0x2b2e63-9064.77*_0x3bc0a7+5542.21*_0x2bcc1f,_0x8965b0=-822.71072+4568.6173*_0x2b2e63-8491.4146*_0x3bc0a7+5337.524*_0x2bcc1f,_0x764951=-853.666+4690.25*_0x2b2e63-8624.77*_0x3bc0a7+5341.4*_0x2bcc1f):(_0x2eebe7=-37995.78+161616.52*_0x2b2e63-229838.2*_0x3bc0a7+109377.94*_0x2bcc1f,_0x8965b0=-51752.104+218913.95*_0x2b2e63-309468.16*_0x3bc0a7+146349.42*_0x2bcc1f,_0x764951=-40023.88+170470.89*_0x2b2e63-242699.48*_0x3bc0a7+115605.82*_0x2bcc1f),_0x12c2d8=_0x5d9cb4*_0x5d9cb4,_0x41b1ca=0.75*(0x1+0x2*_0x34f645+_0x2f2fd9),_0x5d88e8=1.5*_0x12c2d8,_0x4a8566=1.875*_0x5d9cb4*(0x1-0x2*_0x34f645-0x3*_0x2f2fd9),_0x23196f=-1.875*_0x5d9cb4*(0x1+0x2*_0x34f645-0x3*_0x2f2fd9),_0x148359=0x23*_0x12c2d8*_0x41b1ca,_0x5391bc=39.375*_0x12c2d8*_0x12c2d8,_0x1ba1bd=9.84375*_0x5d9cb4*(_0x12c2d8*(0x1-0x2*_0x34f645-0x5*_0x2f2fd9)+0.33333333*(-0x2+0x4*_0x34f645+0x6*_0x2f2fd9)),_0x65e905=_0x5d9cb4*(4.92187512*_0x12c2d8*(-0x2-0x4*_0x34f645+0xa*_0x2f2fd9)+6.56250012*(0x1+0x2*_0x34f645-0x3*_0x2f2fd9)),_0x257472=29.53125*_0x5d9cb4*(0x2-0x8*_0x34f645+_0x2f2fd9*(-0xc+0x8*_0x34f645+0xa*_0x2f2fd9)),_0x2dca15=29.53125*_0x5d9cb4*(-0x2-0x8*_0x34f645+_0x2f2fd9*(0xc+0x8*_0x34f645-0xa*_0x2f2fd9)),_0x46253b=_0xf8c137*_0xf8c137,_0x28c8b8=_0x5ca910*_0x5ca910,_0x125ceb=0x3*_0x46253b*_0x28c8b8,_0x38794b=_0x125ceb*_0x474011,_0x12d2d7=_0x38794b*_0x41b1ca*_0x3f76e9,_0xda460f=_0x38794b*_0x5d88e8*_0x737038,_0x125ceb*=_0x5ca910,_0x38794b=_0x125ceb*_0x5ba0f2,_0x1e2322=_0x38794b*_0x4a8566*_0x13f33f,_0xc92a4c=_0x38794b*_0x23196f*_0x3b939e,_0x125ceb*=_0x5ca910,_0x38794b=0x2*_0x125ceb*_0x55203e,_0x2122f0=_0x38794b*_0x148359*_0x2560f5,_0x2bc609=_0x38794b*_0x5391bc*_0x1ff9dc,_0x125ceb*=_0x5ca910,_0x38794b=_0x125ceb*_0x523fd3,_0x1e7b75=_0x38794b*_0x1ba1bd*_0x521d1e,_0x152451=_0x38794b*_0x65e905*_0x764951,_0x38794b=0x2*_0x125ceb*_0x150869,_0x207ea0=_0x38794b*_0x257472*_0x8965b0,_0x1118c6=_0x38794b*_0x2dca15*_0x2eebe7,_0x5f5889=(_0x4d5f92+_0x4d00cd+_0x4d00cd-(_0x48571a+_0x48571a))%twoPi,_0x3069d5=_0x4c51e2+_0x577d26+0x2*(_0x1d9282+_0x4d2112-_0x51b541)-_0x35ac79,_0x2b2e63=_0x46cd2c,_0x3bc0a7=_0x1111d1;}_0xa19a88===0x1&&(_0x58091f=0x1+_0x3bc0a7*(-2.5+0.8125*_0x3bc0a7),_0x13f33f=0x1+0x2*_0x3bc0a7,_0x158a3e=0x1+_0x3bc0a7*(-0x6+6.60937*_0x3bc0a7),_0x41b1ca=0.75*(0x1+_0x34f645)*(0x1+_0x34f645),_0x3f3154=0.9375*_0x5d9cb4*_0x5d9cb4*(0x1+0x3*_0x34f645)-0.75*(0x1+_0x34f645),_0x414e40=0x1+_0x34f645,_0x414e40*=1.875*_0x414e40*_0x414e40,_0x4a5b24=0x3*_0xf8c137*_0xf8c137*_0x5ca910*_0x5ca910,_0x555288=0x2*_0x4a5b24*_0x41b1ca*_0x58091f*_0x5ed0c6,_0x3cc375=0x3*_0x4a5b24*_0x414e40*_0x158a3e*_0x477a84*_0x5ca910,_0x4a5b24=_0x4a5b24*_0x3f3154*_0x13f33f*_0x981efc*_0x5ca910,_0x5f5889=(_0x4d5f92+_0x4d00cd+_0x3ba659-_0x48571a)%twoPi,_0x3069d5=_0x4c51e2+_0x5a662f+_0x577d26+_0x5b8c8b+_0x4d2112-(_0x35ac79+_0x51b541)),_0x941560=_0x5f5889,_0x33250e=_0x35ac79,_0x1f961c=0x0,_0xf8c137=_0x35ac79+_0xa6be18;}var _0x4f00b6={};return _0x4f00b6['em']=_0x2b2e63,_0x4f00b6['argpm']=_0x5ea3f7,_0x4f00b6['inclm']=_0x1bc8f3,_0x4f00b6['mm']=_0x3412e6,_0x4f00b6['nm']=_0xf8c137,_0x4f00b6[_0x2bfb76(-0x132,-0xfe)]=_0x4bcfbd,_0x4f00b6['irez']=_0xa19a88,_0x4f00b6[_0x90c749(0x2c9,0x3b8)]=_0x1f961c,_0x4f00b6['d2201']=_0x12d2d7,_0x4f00b6[_0x90c749(0x1a5,0x2ee)]=_0xda460f,_0x4f00b6['d3210']=_0x1e2322,_0x4f00b6['d3222']=_0xc92a4c,_0x4f00b6['d4410']=_0x2122f0,_0x4f00b6['d4422']=_0x2bc609,_0x4f00b6['d5220']=_0x1e7b75,_0x4f00b6['d5232']=_0x152451,_0x4f00b6['d5421']=_0x207ea0,_0x4f00b6['d5433']=_0x1118c6,_0x4f00b6['dedt']=_0x2bb66c,_0x4f00b6[_0x90c749(0x258,0x352)]=_0x4406f3,_0x4f00b6['dmdt']=_0x577d26,_0x4f00b6['dndt']=_0xa6be18,_0x4f00b6['dnodt']=_0x4d2112,_0x4f00b6['domdt']=_0x5b8c8b,_0x4f00b6['del1']=_0x4a5b24,_0x4f00b6['del2']=_0x555288,_0x4f00b6['del3']=_0x3cc375,_0x4f00b6[_0x90c749(0x246,0x241)]=_0x3069d5,_0x4f00b6['xlamo']=_0x5f5889,_0x4f00b6[_0x90c749(0x4b5,0x37a)]=_0x941560,_0x4f00b6['xni']=_0x33250e,_0x4f00b6;}function gstimeInternal(_0x1be704){var _0xbd057e=(_0x1be704-0x256859)/0x8ead,_0x3d90d4=-0.0000062*_0xbd057e*_0xbd057e*_0xbd057e+0.093104*_0xbd057e*_0xbd057e+(0xd6038*0xe10+8640184.812866)*_0xbd057e+67310.54841;return _0x3d90d4=_0x3d90d4*deg2rad/0xf0%twoPi,_0x3d90d4<0x0&&(_0x3d90d4+=twoPi),_0x3d90d4;}function gstime(){if((arguments['length']<=0x0?undefined:arguments[0x0])instanceof Date||arguments['length']>0x1)return gstimeInternal(jday[_0x34d2ab(0x2e7,0x32b)](void 0x0,arguments));function _0x34d2ab(_0x3fbf44,_0x165f72){return _0x2a61be(_0x3fbf44,_0x165f72-0x88);}return gstimeInternal['apply'](void 0x0,arguments);}function initl(_0x41fb5a){var _0x10890c=_0x41fb5a['ecco'],_0x2d4fd8=_0x41fb5a['epoch'],_0x474dc5=_0x41fb5a['inclo'],_0x11f2ab=_0x41fb5a['opsmode'],_0x2e3fe5=_0x41fb5a['no'];function _0x21e765(_0x1d1a98,_0x246fe5){return _0x4925de(_0x1d1a98,_0x246fe5-0x1a9);}var _0x29ed39=_0x10890c*_0x10890c,_0x3de858=0x1-_0x29ed39,_0x5e76d7=Math['sqrt'](_0x3de858),_0xc621eb=Math['cos'](_0x474dc5),_0x3e6d66=_0xc621eb*_0xc621eb,_0x3fbc6d=Math['pow'](xke/_0x2e3fe5,x2o3),_0x4423d1=0.75*j2*(0x3*_0x3e6d66-0x1)/(_0x5e76d7*_0x3de858),_0x590b5f=_0x4423d1/(_0x3fbc6d*_0x3fbc6d),_0x409e48=_0x3fbc6d*(0x1-_0x590b5f*_0x590b5f-_0x590b5f*(0x1/0x3+0x86*_0x590b5f*_0x590b5f/0x51));_0x590b5f=_0x4423d1/(_0x409e48*_0x409e48),_0x2e3fe5/=0x1+_0x590b5f;var _0x50537e=Math[_0x21e765(0x19f,0x2be)](xke/_0x2e3fe5,x2o3),_0x5f4d7b=Math['sin'](_0x474dc5),_0x57cd38=_0x50537e*_0x3de858,_0x2d5271=0x1-0x5*_0x3e6d66,_0x4943df=-_0x2d5271-_0x3e6d66-_0x3e6d66,_0x46856d=0x1/_0x50537e,_0x1944fa=_0x57cd38*_0x57cd38,_0xb4d194=_0x50537e*(0x1-_0x10890c),_0x639690='n',_0x30e8f8;if(_0x11f2ab==='a'){var _0x9c13f0=_0x2d4fd8-0x1c89,_0x30de82=Math[_0x21e765(0x3c1,0x287)](_0x9c13f0+1e-8),_0x348d53=_0x9c13f0-_0x30de82,_0x324f4b=0.017202791694070362,_0x2414a7=1.7321343856509375,_0x119d7=5.075514194322695e-15,_0x2425fe=_0x324f4b+twoPi;_0x30e8f8=(_0x2414a7+_0x324f4b*_0x30de82+_0x2425fe*_0x348d53+_0x9c13f0*_0x9c13f0*_0x119d7)%twoPi,_0x30e8f8<0x0&&(_0x30e8f8+=twoPi);}else _0x30e8f8=gstime(_0x2d4fd8+2433281.5);var _0x3f69d0={};_0x3f69d0['no']=_0x2e3fe5,_0x3f69d0['method']=_0x639690,_0x3f69d0['ainv']=_0x46856d;function _0x59b566(_0x4195ec,_0x9a807e){return _0x4925de(_0x9a807e,_0x4195ec-0x149);}return _0x3f69d0['ao']=_0x50537e,_0x3f69d0[_0x59b566(0x260,0x189)]=_0x4943df,_0x3f69d0['con42']=_0x2d5271,_0x3f69d0[_0x21e765(0x3ec,0x557)]=_0xc621eb,_0x3f69d0[_0x21e765(0x671,0x551)]=_0x3e6d66,_0x3f69d0['eccsq']=_0x29ed39,_0x3f69d0['omeosq']=_0x3de858,_0x3f69d0['posq']=_0x1944fa,_0x3f69d0['rp']=_0xb4d194,_0x3f69d0['rteosq']=_0x5e76d7,_0x3f69d0[_0x59b566(0x23f,0x278)]=_0x5f4d7b,_0x3f69d0['gsto']=_0x30e8f8,_0x3f69d0;}function dspace(_0x574c10){var _0x26841c=_0x574c10['irez'],_0x84f561=_0x574c10['d2201'],_0x7694a5=_0x574c10['d2211'],_0x188308=_0x574c10[_0x14b156(0x2d8,0x437)],_0x592697=_0x574c10[_0x14b156(0x208,0x2c6)],_0x2604a2=_0x574c10['d4410'],_0x52d86a=_0x574c10['d4422'],_0x22a18f=_0x574c10['d5220'],_0x1bcd74=_0x574c10[_0x3dd680(0x5a7,0x618)],_0x2c48ae=_0x574c10['d5421'],_0x317fcc=_0x574c10['d5433'],_0x3443ee=_0x574c10[_0x3dd680(0x510,0x586)],_0x3f44d1=_0x574c10['del1'],_0x55fc01=_0x574c10[_0x3dd680(0x546,0x4b1)],_0x184a69=_0x574c10[_0x3dd680(0x520,0x436)],_0x32546d=_0x574c10[_0x3dd680(0x715,0x850)],_0x23b1db=_0x574c10[_0x3dd680(0x5e7,0x565)],_0x438db2=_0x574c10['dnodt'],_0x209e55=_0x574c10['domdt'],_0x3af1b4=_0x574c10['argpo'],_0x1e9c57=_0x574c10[_0x3dd680(0x618,0x760)],_0x5e7a73=_0x574c10['t'],_0x5f2e56=_0x574c10['tc'],_0x4e1389=_0x574c10[_0x14b156(0x354,0x45e)],_0x33abc6=_0x574c10['xfact'],_0x10f8bd=_0x574c10['xlamo'],_0x3561a8=_0x574c10['no'],_0x1908d7=_0x574c10['atime'],_0x54d568=_0x574c10['em'],_0x509ff4=_0x574c10[_0x14b156(0x16f,0x263)],_0x4d5ac1=_0x574c10['inclm'],_0x3ceedf=_0x574c10['xli'],_0x5697a5=_0x574c10['mm'],_0x99fa46=_0x574c10[_0x3dd680(0x6ae,0x7c8)],_0x258139=_0x574c10[_0x3dd680(0x542,0x3d9)],_0xae097f=_0x574c10['nm'],_0x25115e=0.13130908,_0x4fd47c=2.8843198,_0x1e0a9c=0.37448087,_0x311741=5.7686396,_0x5be40a=0.95240898,_0x4933ca=1.8014998,_0x14c193=1.050833,_0x59610c=4.4108898,_0x567a92=0.0043752690880113,_0x48b5f0=0x2d0,_0x4c04c8=-0x2d0,_0x180193=0x3f480,_0xf335,_0x28e209;function _0x14b156(_0x50e233,_0x515cf3){return _0x2a61be(_0x515cf3,_0x50e233- -0x4d);}var _0xbd8b2f,_0x39bd76,_0x31bb17,_0x258dde,_0x47f9df,_0x327af9,_0x5b5c51=0x0,_0x3cec91=0x0,_0x57f9e8=(_0x4e1389+_0x5f2e56*_0x567a92)%twoPi;_0x54d568+=_0x3443ee*_0x5e7a73,_0x4d5ac1+=_0x32546d*_0x5e7a73,_0x509ff4+=_0x209e55*_0x5e7a73;function _0x3dd680(_0x5224bf,_0x5aa9b2){return _0x2a61be(_0x5aa9b2,_0x5224bf-0x372);}_0x258139+=_0x438db2*_0x5e7a73,_0x5697a5+=_0x23b1db*_0x5e7a73;if(_0x26841c!==0x0){(_0x1908d7===0x0||_0x5e7a73*_0x1908d7<=0x0||Math[_0x14b156(0x1f5,0x20e)](_0x5e7a73)0x0?_0xf335=_0x48b5f0:_0xf335=_0x4c04c8;var _0x2befe0=0x17d;while(_0x2befe0===0x17d){_0x26841c!==0x2?(_0x47f9df=_0x3f44d1*Math['sin'](_0x3ceedf-_0x25115e)+_0x55fc01*Math['sin'](0x2*(_0x3ceedf-_0x4fd47c))+_0x184a69*Math['sin'](0x3*(_0x3ceedf-_0x1e0a9c)),_0x31bb17=_0x99fa46+_0x33abc6,_0x258dde=_0x3f44d1*Math['cos'](_0x3ceedf-_0x25115e)+0x2*_0x55fc01*Math[_0x14b156(0x16d,0x9e)](0x2*(_0x3ceedf-_0x4fd47c))+0x3*_0x184a69*Math['cos'](0x3*(_0x3ceedf-_0x1e0a9c)),_0x258dde*=_0x31bb17):(_0x327af9=_0x3af1b4+_0x1e9c57*_0x1908d7,_0xbd8b2f=_0x327af9+_0x327af9,_0x28e209=_0x3ceedf+_0x3ceedf,_0x47f9df=_0x84f561*Math['sin'](_0xbd8b2f+_0x3ceedf-_0x311741)+_0x7694a5*Math['sin'](_0x3ceedf-_0x311741)+_0x188308*Math[_0x14b156(0x248,0x356)](_0x327af9+_0x3ceedf-_0x5be40a)+_0x592697*Math[_0x14b156(0x248,0x3b8)](-_0x327af9+_0x3ceedf-_0x5be40a)+_0x2604a2*Math['sin'](_0xbd8b2f+_0x28e209-_0x4933ca)+_0x52d86a*Math['sin'](_0x28e209-_0x4933ca)+_0x22a18f*Math['sin'](_0x327af9+_0x3ceedf-_0x14c193)+_0x1bcd74*Math[_0x3dd680(0x607,0x650)](-_0x327af9+_0x3ceedf-_0x14c193)+_0x2c48ae*Math[_0x3dd680(0x607,0x640)](_0x327af9+_0x28e209-_0x59610c)+_0x317fcc*Math[_0x3dd680(0x607,0x4d0)](-_0x327af9+_0x28e209-_0x59610c),_0x31bb17=_0x99fa46+_0x33abc6,_0x258dde=_0x84f561*Math[_0x3dd680(0x52c,0x64c)](_0xbd8b2f+_0x3ceedf-_0x311741)+_0x7694a5*Math['cos'](_0x3ceedf-_0x311741)+_0x188308*Math['cos'](_0x327af9+_0x3ceedf-_0x5be40a)+_0x592697*Math['cos'](-_0x327af9+_0x3ceedf-_0x5be40a)+_0x22a18f*Math[_0x3dd680(0x52c,0x668)](_0x327af9+_0x3ceedf-_0x14c193)+_0x1bcd74*Math[_0x3dd680(0x52c,0x5fd)](-_0x327af9+_0x3ceedf-_0x14c193)+0x2*_0x2604a2*Math[_0x14b156(0x16d,0x2c1)](_0xbd8b2f+_0x28e209-_0x4933ca)+_0x52d86a*Math['cos'](_0x28e209-_0x4933ca)+_0x2c48ae*Math['cos'](_0x327af9+_0x28e209-_0x59610c)+_0x317fcc*Math['cos'](-_0x327af9+_0x28e209-_0x59610c),_0x258dde*=_0x31bb17),Math[_0x14b156(0x1f5,0xb4)](_0x5e7a73-_0x1908d7)>=_0x48b5f0?_0x2befe0=0x17d:(_0x3cec91=_0x5e7a73-_0x1908d7,_0x2befe0=0x0),_0x2befe0===0x17d&&(_0x3ceedf+=_0x31bb17*_0xf335+_0x47f9df*_0x180193,_0x99fa46+=_0x47f9df*_0xf335+_0x258dde*_0x180193,_0x1908d7+=_0xf335);}_0xae097f=_0x99fa46+_0x47f9df*_0x3cec91+_0x258dde*_0x3cec91*_0x3cec91*0.5,_0x39bd76=_0x3ceedf+_0x31bb17*_0x3cec91+_0x47f9df*_0x3cec91*_0x3cec91*0.5,_0x26841c!==0x1?(_0x5697a5=_0x39bd76-0x2*_0x258139+0x2*_0x57f9e8,_0x5b5c51=_0xae097f-_0x3561a8):(_0x5697a5=_0x39bd76-_0x258139-_0x509ff4+_0x57f9e8,_0x5b5c51=_0xae097f-_0x3561a8),_0xae097f=_0x3561a8+_0x5b5c51;}var _0x3b8f9c={};return _0x3b8f9c[_0x3dd680(0x77b,0x62b)]=_0x1908d7,_0x3b8f9c['em']=_0x54d568,_0x3b8f9c[_0x3dd680(0x52e,0x4d9)]=_0x509ff4,_0x3b8f9c[_0x3dd680(0x5c0,0x59c)]=_0x4d5ac1,_0x3b8f9c['xli']=_0x3ceedf,_0x3b8f9c['mm']=_0x5697a5,_0x3b8f9c[_0x14b156(0x2ef,0x2e6)]=_0x99fa46,_0x3b8f9c['nodem']=_0x258139,_0x3b8f9c['dndt']=_0x5b5c51,_0x3b8f9c['nm']=_0xae097f,_0x3b8f9c;}function sgp4(_0x154a41,_0x54b88c){var _0x49e779,_0x29340c,_0x37ba30,_0x5c1128,_0xa2909,_0x3f2b9e,_0x3fcd29,_0x5ec32a,_0x3bdcb0,_0x4bea15,_0x54342c,_0x482d01,_0x8e1634,_0x178b3c,_0x3bb8cb,_0x2b8339,_0x3f3e1a,_0x443dcc,_0x3a0c0c,_0x2d8f13,_0x48aace,_0x5b181e,_0x52e892,_0x44f825,_0x5c64cd,_0x2bc347,_0x45e931,_0x55e759=1.5e-12;_0x154a41['t']=_0x54b88c,_0x154a41['error']=0x0;var _0x33d782=_0x154a41['mo']+_0x154a41[_0x483da4(0x127,-0x48)]*_0x154a41['t'],_0x3491f0=_0x154a41['argpo']+_0x154a41[_0x483da4(0x1d2,0xe1)]*_0x154a41['t'],_0x4c29a6=_0x154a41['nodeo']+_0x154a41['nodedot']*_0x154a41['t'];_0x3bdcb0=_0x3491f0,_0x48aace=_0x33d782;var _0x5315ed=_0x154a41['t']*_0x154a41['t'];_0x52e892=_0x4c29a6+_0x154a41['nodecf']*_0x5315ed,_0x3f3e1a=0x1-_0x154a41['cc1']*_0x154a41['t'],_0x443dcc=_0x154a41[_0x4f207e(0x2b3,0x1f4)]*_0x154a41['cc4']*_0x154a41['t'],_0x3a0c0c=_0x154a41['t2cof']*_0x5315ed;if(_0x154a41[_0x4f207e(0x154,0x2a3)]!==0x1){_0x3fcd29=_0x154a41['omgcof']*_0x154a41['t'];var _0x44e0fb=0x1+_0x154a41[_0x4f207e(0x328,0x3f9)]*Math[_0x4f207e(0x140,0x20d)](_0x33d782);_0x3f2b9e=_0x154a41['xmcof']*(_0x44e0fb*_0x44e0fb*_0x44e0fb-_0x154a41[_0x483da4(0x308,0x31e)]),_0x2b8339=_0x3fcd29+_0x3f2b9e,_0x48aace=_0x33d782+_0x2b8339,_0x3bdcb0=_0x3491f0-_0x2b8339,_0x482d01=_0x5315ed*_0x154a41['t'],_0x8e1634=_0x482d01*_0x154a41['t'],_0x3f3e1a=_0x3f3e1a-_0x154a41['d2']*_0x5315ed-_0x154a41['d3']*_0x482d01-_0x154a41['d4']*_0x8e1634,_0x443dcc+=_0x154a41[_0x483da4(0xcd,0x1df)]*_0x154a41[_0x4f207e(0x3a5,0x459)]*(Math['sin'](_0x48aace)-_0x154a41['sinmao']),_0x3a0c0c=_0x3a0c0c+_0x154a41['t3cof']*_0x482d01+_0x8e1634*(_0x154a41['t4cof']+_0x154a41['t']*_0x154a41['t5cof']);}_0x5b181e=_0x154a41['no'];var _0x5b0286=_0x154a41['ecco'];_0x2d8f13=_0x154a41[_0x483da4(0x10d,0x139)];if(_0x154a41['method']==='d'){_0x178b3c=_0x154a41['t'];var _0x5bfb74={};_0x5bfb74[_0x4f207e(0x143,0x24c)]=_0x154a41[_0x4f207e(0x10b,0x24c)],_0x5bfb74['d2201']=_0x154a41['d2201'],_0x5bfb74['d2211']=_0x154a41['d2211'],_0x5bfb74['d3210']=_0x154a41[_0x483da4(0x251,0x2f4)],_0x5bfb74[_0x483da4(0x181,0x25e)]=_0x154a41[_0x4f207e(0x25f,0x2a8)],_0x5bfb74['d4410']=_0x154a41[_0x4f207e(0x51b,0x3d1)],_0x5bfb74['d4422']=_0x154a41['d4422'],_0x5bfb74['d5220']=_0x154a41['d5220'],_0x5bfb74['d5232']=_0x154a41['d5232'],_0x5bfb74[_0x483da4(0xf9,0x55)]=_0x154a41[_0x483da4(0xf9,0x269)],_0x5bfb74[_0x4f207e(0x31f,0x1ee)]=_0x154a41[_0x483da4(0xc7,0x109)],_0x5bfb74[_0x4f207e(0x116,0x1f1)]=_0x154a41['dedt'],_0x5bfb74[_0x4f207e(0x5a0,0x496)]=_0x154a41['del1'],_0x5bfb74['del2']=_0x154a41['del2'],_0x5bfb74['del3']=_0x154a41[_0x4f207e(0x22b,0x201)],_0x5bfb74[_0x4f207e(0x2d7,0x3f6)]=_0x154a41['didt'],_0x5bfb74['dmdt']=_0x154a41[_0x483da4(0x1a1,0x1b0)],_0x5bfb74['dnodt']=_0x154a41['dnodt'],_0x5bfb74['domdt']=_0x154a41['domdt'],_0x5bfb74['argpo']=_0x154a41[_0x483da4(0x275,0x28d)],_0x5bfb74['argpdot']=_0x154a41['argpdot'],_0x5bfb74['t']=_0x154a41['t'],_0x5bfb74['tc']=_0x178b3c,_0x5bfb74['gsto']=_0x154a41[_0x4f207e(0x37b,0x3f4)],_0x5bfb74['xfact']=_0x154a41[_0x483da4(0x1be,0xb9)],_0x5bfb74['xlamo']=_0x154a41['xlamo'],_0x5bfb74['no']=_0x154a41['no'],_0x5bfb74[_0x4f207e(0x5c1,0x45c)]=_0x154a41['atime'],_0x5bfb74['em']=_0x5b0286,_0x5bfb74[_0x4f207e(0x282,0x20f)]=_0x3bdcb0,_0x5bfb74['inclm']=_0x2d8f13,_0x5bfb74['xli']=_0x154a41['xli'],_0x5bfb74['mm']=_0x48aace,_0x5bfb74[_0x4f207e(0x40b,0x38f)]=_0x154a41['xni'],_0x5bfb74[_0x483da4(0xfc,0xc3)]=_0x52e892,_0x5bfb74['nm']=_0x5b181e;var _0x2a820f=_0x5bfb74,_0x166f42=dspace(_0x2a820f);_0x5b0286=_0x166f42['em'],_0x3bdcb0=_0x166f42['argpm'],_0x2d8f13=_0x166f42[_0x483da4(0x17a,0x10a)],_0x48aace=_0x166f42['mm'],_0x52e892=_0x166f42[_0x483da4(0xfc,-0xe)],_0x5b181e=_0x166f42['nm'];}if(_0x5b181e<=0x0)return _0x154a41[_0x4f207e(0x5b8,0x447)]=0x2,[![],![]];var _0x357faa=Math['pow'](xke/_0x5b181e,x2o3)*_0x3f3e1a*_0x3f3e1a;_0x5b181e=xke/Math['pow'](_0x357faa,1.5),_0x5b0286-=_0x443dcc;if(_0x5b0286>=0x1||_0x5b0286<-0.001)return _0x154a41[_0x4f207e(0x54e,0x447)]=0x1,[![],![]];_0x5b0286<0.000001&&(_0x5b0286=0.000001);_0x48aace+=_0x154a41['no']*_0x3a0c0c,_0x5c64cd=_0x48aace+_0x3bdcb0+_0x52e892,_0x52e892%=twoPi,_0x3bdcb0%=twoPi,_0x5c64cd%=twoPi,_0x48aace=(_0x5c64cd-_0x3bdcb0-_0x52e892)%twoPi;var _0x8fa838=Math['sin'](_0x2d8f13),_0x18165d=Math['cos'](_0x2d8f13),_0xca8e5b=_0x5b0286;_0x44f825=_0x2d8f13,_0x4bea15=_0x3bdcb0,_0x45e931=_0x52e892,_0x2bc347=_0x48aace,_0x5c1128=_0x8fa838,_0x37ba30=_0x18165d;if(_0x154a41[_0x483da4(0x312,0x321)]==='d'){var _0xb916c6={};_0xb916c6[_0x4f207e(0x25f,0x234)]=_0x154a41['inclo'],_0xb916c6['init']='n',_0xb916c6['ep']=_0xca8e5b,_0xb916c6['inclp']=_0x44f825,_0xb916c6['nodep']=_0x45e931,_0xb916c6[_0x483da4(0x2ad,0x28d)]=_0x4bea15,_0xb916c6['mp']=_0x2bc347,_0xb916c6['opsmode']=_0x154a41['operationmode'];var _0x8cbb72=_0xb916c6,_0xf9069c=dpper(_0x154a41,_0x8cbb72);_0xca8e5b=_0xf9069c['ep'],_0x45e931=_0xf9069c['nodep'],_0x4bea15=_0xf9069c['argpp'],_0x2bc347=_0xf9069c['mp'],_0x44f825=_0xf9069c['inclp'];_0x44f825<0x0&&(_0x44f825=-_0x44f825,_0x45e931+=pi,_0x4bea15-=pi);if(_0xca8e5b<0x0||_0xca8e5b>0x1)return _0x154a41['error']=0x3,[![],![]];}_0x154a41['method']==='d'&&(_0x5c1128=Math[_0x483da4(0x1c1,0x10b)](_0x44f825),_0x37ba30=Math['cos'](_0x44f825),_0x154a41[_0x483da4(0x233,0x329)]=-0.5*j3oj2*_0x5c1128,Math[_0x4f207e(0x2c9,0x295)](_0x37ba30+0x1)>1.5e-12?_0x154a41['xlcof']=-0.25*j3oj2*_0x5c1128*(0x3+0x5*_0x37ba30)/(0x1+_0x37ba30):_0x154a41[_0x4f207e(0x26a,0x263)]=-0.25*j3oj2*_0x5c1128*(0x3+0x5*_0x37ba30)/_0x55e759);var _0x33c965=_0xca8e5b*Math[_0x4f207e(0x119,0x20d)](_0x4bea15);_0x2b8339=0x1/(_0x357faa*(0x1-_0xca8e5b*_0xca8e5b));var _0x3c8f49=_0xca8e5b*Math['sin'](_0x4bea15)+_0x2b8339*_0x154a41[_0x483da4(0x233,0x221)],_0x455216=_0x2bc347+_0x4bea15+_0x45e931+_0x2b8339*_0x154a41[_0x483da4(0x13c,0x280)]*_0x33c965,_0x54f8bc=(_0x455216-_0x45e931)%twoPi;_0x5ec32a=_0x54f8bc,_0x3bb8cb=9999.9;var _0x6280ef=0x1;while(Math['abs'](_0x3bb8cb)>=1e-12&&_0x6280ef<=0xa){_0x29340c=Math[_0x483da4(0x1c1,0x2de)](_0x5ec32a),_0x49e779=Math['cos'](_0x5ec32a),_0x3bb8cb=0x1-_0x49e779*_0x33c965-_0x29340c*_0x3c8f49,_0x3bb8cb=(_0x54f8bc-_0x3c8f49*_0x49e779+_0x33c965*_0x29340c-_0x5ec32a)/_0x3bb8cb,Math['abs'](_0x3bb8cb)>=0.95&&(_0x3bb8cb>0x0?_0x3bb8cb=0.95:_0x3bb8cb=-0.95),_0x5ec32a+=_0x3bb8cb,_0x6280ef+=0x1;}var _0x376d6a=_0x33c965*_0x49e779+_0x3c8f49*_0x29340c,_0x403d59=_0x33c965*_0x29340c-_0x3c8f49*_0x49e779,_0x2e5a10=_0x33c965*_0x33c965+_0x3c8f49*_0x3c8f49,_0x8d6f0e=_0x357faa*(0x1-_0x2e5a10);if(_0x8d6f0e<0x0)return _0x154a41['error']=0x4,[![],![]];var _0xa21602=_0x357faa*(0x1-_0x376d6a),_0x33dcf0=Math['sqrt'](_0x357faa)*_0x403d59/_0xa21602,_0x3ab1db=Math[_0x4f207e(0x4fc,0x422)](_0x8d6f0e)/_0xa21602,_0x3048c4=Math[_0x4f207e(0x371,0x422)](0x1-_0x2e5a10);_0x2b8339=_0x403d59/(0x1+_0x3048c4);var _0xc98c7=_0x357faa/_0xa21602*(_0x29340c-_0x3c8f49-_0x33c965*_0x2b8339),_0x5bd398=_0x357faa/_0xa21602*(_0x49e779-_0x33c965+_0x3c8f49*_0x2b8339);_0x54342c=Math['atan2'](_0xc98c7,_0x5bd398);var _0x59f0e8=(_0x5bd398+_0x5bd398)*_0xc98c7,_0x401931=0x1-0x2*_0xc98c7*_0xc98c7;_0x2b8339=0x1/_0x8d6f0e;var _0x5bd733=0.5*j2*_0x2b8339;function _0x4f207e(_0x25e294,_0x1dd746){return _0x2a61be(_0x25e294,_0x1dd746-0x53);}var _0x3089dc=_0x5bd733*_0x2b8339;_0x154a41['method']==='d'&&(_0xa2909=_0x37ba30*_0x37ba30,_0x154a41['con41']=0x3*_0xa2909-0x1,_0x154a41[_0x483da4(0x338,0x31e)]=0x1-_0xa2909,_0x154a41[_0x483da4(0x133,0x123)]=0x7*_0xa2909-0x1);var _0x1bb67c=_0xa21602*(0x1-1.5*_0x3089dc*_0x3048c4*_0x154a41['con41'])+0.5*_0x5bd733*_0x154a41['x1mth2']*_0x401931;if(_0x1bb67c<0x1){_0x154a41[_0x483da4(0x320,0x371)]=0x6;var _0x1ec174={};return _0x1ec174['position']=![],_0x1ec174[_0x4f207e(0x282,0x247)]=![],_0x1ec174;}_0x54342c-=0.25*_0x3089dc*_0x154a41[_0x483da4(0x133,0x113)]*_0x59f0e8;var _0x60e2fd=_0x45e931+1.5*_0x3089dc*_0x37ba30*_0x59f0e8,_0x17bae4=_0x44f825+1.5*_0x3089dc*_0x37ba30*_0x5c1128*_0x401931,_0x175774=_0x33dcf0-_0x5b181e*_0x5bd733*_0x154a41[_0x483da4(0x338,0x444)]*_0x59f0e8/xke,_0x1605fe=_0x3ab1db+_0x5b181e*_0x5bd733*(_0x154a41[_0x4f207e(0x3e9,0x45f)]*_0x401931+1.5*_0x154a41['con41'])/xke,_0x57941b=Math['sin'](_0x54342c),_0x4b6858=Math[_0x483da4(0xe6,0xb5)](_0x54342c),_0x3186ee=Math['sin'](_0x60e2fd),_0x325d10=Math['cos'](_0x60e2fd),_0x9877c9=Math['sin'](_0x17bae4),_0x9d7eb7=Math[_0x4f207e(0x14d,0x20d)](_0x17bae4),_0x5e0cdd=-_0x3186ee*_0x9d7eb7,_0x1b5cd5=_0x325d10*_0x9d7eb7,_0x587d01=_0x5e0cdd*_0x57941b+_0x325d10*_0x4b6858,_0x40ba8f=_0x1b5cd5*_0x57941b+_0x3186ee*_0x4b6858,_0x3b654d=_0x9877c9*_0x57941b,_0x17bab5=_0x5e0cdd*_0x4b6858-_0x325d10*_0x57941b,_0x3e7e65=_0x1b5cd5*_0x4b6858-_0x3186ee*_0x57941b,_0x551b52=_0x9877c9*_0x4b6858,_0x5a93a9={};_0x5a93a9['x']=_0x1bb67c*_0x587d01*earthRadius,_0x5a93a9['y']=_0x1bb67c*_0x40ba8f*earthRadius,_0x5a93a9['z']=_0x1bb67c*_0x3b654d*earthRadius;var _0x382443=_0x5a93a9,_0x3fe84f={};_0x3fe84f['x']=(_0x175774*_0x587d01+_0x1605fe*_0x17bab5)*vkmpersec,_0x3fe84f['y']=(_0x175774*_0x40ba8f+_0x1605fe*_0x3e7e65)*vkmpersec;function _0x483da4(_0xbf1a95,_0x513674){return _0x2a61be(_0x513674,_0xbf1a95- -0xd4);}_0x3fe84f['z']=(_0x175774*_0x3b654d+_0x1605fe*_0x551b52)*vkmpersec;var _0x1fb6ce=_0x3fe84f,_0x45138c={};return _0x45138c['position']=_0x382443,_0x45138c[_0x483da4(0x120,0x166)]=_0x1fb6ce,_0x45138c;}function sgp4init(_0x3d0d80,_0x31f6b7){var _0x414a96=_0x31f6b7['opsmode'],_0x306706=_0x31f6b7[_0x1627b7(0x18e,0xff)],_0x1b5d22=_0x31f6b7[_0x1f8dba(0x1fd,0x15f)],_0x40a7b3=_0x31f6b7[_0x1f8dba(0x39,-0xcb)],_0x136490=_0x31f6b7['xecco'],_0x3242fd=_0x31f6b7['xargpo'],_0x439536=_0x31f6b7[_0x1f8dba(-0x6b,0x8d)],_0x28c6ae=_0x31f6b7['xmo'],_0x5d5c9b=_0x31f6b7['xno'],_0x19dc06=_0x31f6b7['xnodeo'],_0x15bd11,_0x245d40,_0x5d67ed,_0x1c5359,_0x49e0f6,_0x1eca58,_0x53838c,_0x341af3,_0x81e544,_0x1f2229,_0xa28c68,_0x1f9e80,_0x5eec48,_0x2be411,_0x510cf0,_0x63c332,_0x370e07,_0x138dfb,_0xcfa62b,_0x543260,_0x59170f,_0xd94dd,_0x3c6ae,_0x246dc1,_0x5c5f3e,_0xa152fa,_0x1aab9c,_0x9d4dca,_0x249c86,_0xb811c1,_0x285c61,_0x4d9932,_0x2bc6dd,_0x3384da,_0x198e94,_0x35c96c,_0x52670b,_0x438649,_0x2ec567,_0x1e8f7a,_0x4198bb,_0x3d0a36,_0x41601b,_0x482864,_0x5e9177,_0x18f74a,_0x5ce42a,_0x32a47c,_0x50e50a,_0x2c166c,_0x2e99e3,_0x418b38,_0x25c56f,_0x279fb5,_0x12a439,_0x13fa2a,_0x403350=1.5e-12;_0x3d0d80['isimp']=0x0,_0x3d0d80['method']='n',_0x3d0d80['aycof']=0x0,_0x3d0d80[_0x1f8dba(-0x15e,-0xf0)]=0x0,_0x3d0d80[_0x1f8dba(-0xb2,-0x2e)]=0x0,_0x3d0d80['cc4']=0x0,_0x3d0d80[_0x1627b7(0x399,0x359)]=0x0,_0x3d0d80['d2']=0x0,_0x3d0d80['d3']=0x0,_0x3d0d80['d4']=0x0,_0x3d0d80[_0x1f8dba(0x24,0x124)]=0x0,_0x3d0d80[_0x1627b7(0x235,0x2f9)]=0x0,_0x3d0d80['argpdot']=0x0,_0x3d0d80['omgcof']=0x0,_0x3d0d80['sinmao']=0x0,_0x3d0d80['t']=0x0,_0x3d0d80['t2cof']=0x0,_0x3d0d80['t3cof']=0x0,_0x3d0d80[_0x1627b7(0x2da,0x2ed)]=0x0,_0x3d0d80['t5cof']=0x0,_0x3d0d80['x1mth2']=0x0,_0x3d0d80['x7thm1']=0x0,_0x3d0d80[_0x1f8dba(0x67,-0xbd)]=0x0,_0x3d0d80[_0x1f8dba(-0x1ed,-0x80)]=0x0,_0x3d0d80[_0x1f8dba(-0x1b0,-0xa8)]=0x0,_0x3d0d80['xmcof']=0x0,_0x3d0d80['nodecf']=0x0,_0x3d0d80[_0x1627b7(0x14d,0x14c)]=0x0,_0x3d0d80['d2201']=0x0,_0x3d0d80['d2211']=0x0,_0x3d0d80['d3210']=0x0,_0x3d0d80['d3222']=0x0,_0x3d0d80['d4410']=0x0,_0x3d0d80['d4422']=0x0,_0x3d0d80[_0x1627b7(0x20e,0x2d8)]=0x0,_0x3d0d80[_0x1627b7(0x1f5,0x188)]=0x0,_0x3d0d80['d5421']=0x0,_0x3d0d80['d5433']=0x0,_0x3d0d80[_0x1627b7(0x204,0xf1)]=0x0,_0x3d0d80['del1']=0x0,_0x3d0d80[_0x1f8dba(-0x23d,-0xe4)]=0x0,_0x3d0d80['del3']=0x0,_0x3d0d80['didt']=0x0,_0x3d0d80['dmdt']=0x0,_0x3d0d80[_0x1627b7(0x1ab,0x192)]=0x0,_0x3d0d80['domdt']=0x0,_0x3d0d80['e3']=0x0,_0x3d0d80['ee2']=0x0,_0x3d0d80[_0x1f8dba(0x193,0xa1)]=0x0,_0x3d0d80['pgho']=0x0,_0x3d0d80[_0x1627b7(0x2f0,0x1e3)]=0x0,_0x3d0d80[_0x1f8dba(-0x6f,0x36)]=0x0,_0x3d0d80['plo']=0x0,_0x3d0d80['se2']=0x0,_0x3d0d80['se3']=0x0,_0x3d0d80['sgh2']=0x0,_0x3d0d80['sgh3']=0x0,_0x3d0d80[_0x1f8dba(-0x17,0x6e)]=0x0,_0x3d0d80[_0x1f8dba(0x15c,0x42)]=0x0,_0x3d0d80['sh3']=0x0,_0x3d0d80['si2']=0x0,_0x3d0d80[_0x1627b7(0x272,0x2d9)]=0x0,_0x3d0d80['sl2']=0x0,_0x3d0d80[_0x1f8dba(-0xe4,-0xea)]=0x0,_0x3d0d80['sl4']=0x0,_0x3d0d80['gsto']=0x0,_0x3d0d80[_0x1627b7(0xd6,0x1e5)]=0x0,_0x3d0d80[_0x1f8dba(-0x132,-0x69)]=0x0,_0x3d0d80[_0x1f8dba(0x131,0x142)]=0x0,_0x3d0d80['xgh4']=0x0,_0x3d0d80[_0x1f8dba(0xba,0xfc)]=0x0,_0x3d0d80[_0x1f8dba(-0x104,0x68)]=0x0,_0x3d0d80[_0x1627b7(0x2a5,0x14b)]=0x0,_0x3d0d80[_0x1627b7(0x198,0x2c8)]=0x0,_0x3d0d80['xl2']=0x0,_0x3d0d80[_0x1627b7(0x23c,0x29d)]=0x0,_0x3d0d80['xl4']=0x0,_0x3d0d80['xlamo']=0x0,_0x3d0d80['zmol']=0x0,_0x3d0d80['zmos']=0x0,_0x3d0d80['atime']=0x0,_0x3d0d80[_0x1f8dba(0xd0,0x113)]=0x0,_0x3d0d80['xni']=0x0,_0x3d0d80['bstar']=_0x40a7b3,_0x3d0d80['ecco']=_0x136490,_0x3d0d80['argpo']=_0x3242fd,_0x3d0d80['inclo']=_0x439536,_0x3d0d80['mo']=_0x28c6ae,_0x3d0d80['no']=_0x5d5c9b,_0x3d0d80['nodeo']=_0x19dc06,_0x3d0d80['operationmode']=_0x414a96;var _0x744ddc=0x4e/earthRadius+0x1,_0x46c277=(0x78-0x4e)/earthRadius,_0x5d6256=_0x46c277*_0x46c277*_0x46c277*_0x46c277;function _0x1627b7(_0x5baeac,_0x55aacd){return _0x4925de(_0x5baeac,_0x55aacd-0x4);}_0x3d0d80[_0x1627b7(0x77,0x1c3)]='y',_0x3d0d80['t']=0x0;var _0xe71c56={};_0xe71c56['satn']=_0x306706,_0xe71c56[_0x1627b7(0x26a,0x21b)]=_0x3d0d80[_0x1627b7(0x143,0x21b)],_0xe71c56[_0x1627b7(0x27a,0x36a)]=_0x1b5d22,_0xe71c56[_0x1f8dba(0x40,-0xd7)]=_0x3d0d80['inclo'],_0xe71c56['no']=_0x3d0d80['no'],_0xe71c56['method']=_0x3d0d80[_0x1627b7(0x3d3,0x339)];function _0x1f8dba(_0x35a274,_0x4ea225){return _0x2a61be(_0x35a274,_0x4ea225- -0x2b8);}_0xe71c56['opsmode']=_0x3d0d80['operationmode'];var _0x51ce25=_0xe71c56,_0x264e3b=initl(_0x51ce25),_0x39caf8=_0x264e3b['ao'],_0x1552ec=_0x264e3b['con42'],_0x2ae0a5=_0x264e3b['cosio'],_0x2d20f5=_0x264e3b['cosio2'],_0x5a6c45=_0x264e3b[_0x1627b7(0x247,0x270)],_0x4e5b08=_0x264e3b[_0x1f8dba(0x1b9,0x64)],_0x152d77=_0x264e3b['posq'],_0x137379=_0x264e3b['rp'],_0x8497cb=_0x264e3b['rteosq'],_0x5a5b0b=_0x264e3b['sinio'];_0x3d0d80['no']=_0x264e3b['no'],_0x3d0d80['con41']=_0x264e3b[_0x1627b7(0x18f,0x11b)],_0x3d0d80[_0x1f8dba(0x138,0xe9)]=_0x264e3b['gsto'],_0x3d0d80[_0x1f8dba(0x13b,0x13c)]=0x0;if(_0x4e5b08>=0x0||_0x3d0d80['no']>=0x0){_0x3d0d80['isimp']=0x0;_0x137379<0xdc/earthRadius+0x1&&(_0x3d0d80['isimp']=0x1);_0x1aab9c=_0x744ddc,_0x59170f=_0x5d6256,_0x138dfb=(_0x137379-0x1)*earthRadius;if(_0x138dfb<0x9c){_0x1aab9c=_0x138dfb-0x4e;_0x138dfb<0x62&&(_0x1aab9c=0x14);var _0x138492=(0x78-_0x1aab9c)/earthRadius;_0x59170f=_0x138492*_0x138492*_0x138492*_0x138492,_0x1aab9c=_0x1aab9c/earthRadius+0x1;}_0xcfa62b=0x1/_0x152d77,_0x18f74a=0x1/(_0x39caf8-_0x1aab9c),_0x3d0d80['eta']=_0x39caf8*_0x3d0d80['ecco']*_0x18f74a,_0x1f9e80=_0x3d0d80[_0x1f8dba(-0x66,0xee)]*_0x3d0d80[_0x1627b7(0x316,0x2f9)],_0xa28c68=_0x3d0d80['ecco']*_0x3d0d80['eta'],_0x543260=Math[_0x1f8dba(0x71,-0x76)](0x1-_0x1f9e80),_0x1eca58=_0x59170f*Math[_0x1f8dba(-0xd1,-0xf2)](_0x18f74a,0x4),_0x53838c=_0x1eca58/Math['pow'](_0x543260,3.5),_0x1c5359=_0x53838c*_0x3d0d80['no']*(_0x39caf8*(0x1+1.5*_0x1f9e80+_0xa28c68*(0x4+_0x1f9e80))+0.375*j2*_0x18f74a/_0x543260*_0x3d0d80[_0x1627b7(0xeb,0x11b)]*(0x8+0x3*_0x1f9e80*(0x8+_0x1f9e80))),_0x3d0d80['cc1']=_0x3d0d80['bstar']*_0x1c5359,_0x49e0f6=0x0;_0x3d0d80['ecco']>0.0001&&(_0x49e0f6=-0x2*_0x1eca58*_0x18f74a*j3oj2*_0x3d0d80['no']*_0x5a5b0b/_0x3d0d80['ecco']);_0x3d0d80[_0x1627b7(0x252,0x35f)]=0x1-_0x2d20f5,_0x3d0d80['cc4']=0x2*_0x3d0d80['no']*_0x53838c*_0x39caf8*_0x4e5b08*(_0x3d0d80[_0x1f8dba(0x22e,0xee)]*(0x2+0.5*_0x1f9e80)+_0x3d0d80['ecco']*(0.5+0x2*_0x1f9e80)-j2*_0x18f74a/(_0x39caf8*_0x543260)*(-0x3*_0x3d0d80[_0x1f8dba(-0x1a2,-0xf0)]*(0x1-0x2*_0xa28c68+_0x1f9e80*(1.5-0.5*_0xa28c68))+0.75*_0x3d0d80['x1mth2']*(0x2*_0x1f9e80-_0xa28c68*(0x1+_0x1f9e80))*Math[_0x1f8dba(-0x21b,-0xfe)](0x2*_0x3d0d80['argpo']))),_0x3d0d80['cc5']=0x2*_0x53838c*_0x39caf8*_0x4e5b08*(0x1+2.75*(_0x1f9e80+_0xa28c68)+_0xa28c68*_0x1f9e80),_0x341af3=_0x2d20f5*_0x2d20f5,_0x41601b=1.5*j2*_0xcfa62b*_0x3d0d80['no'],_0x482864=0.5*_0x41601b*j2*_0xcfa62b,_0x5e9177=-0.46875*j4*_0xcfa62b*_0xcfa62b*_0x3d0d80['no'],_0x3d0d80['mdot']=_0x3d0d80['no']+0.5*_0x41601b*_0x8497cb*_0x3d0d80[_0x1f8dba(-0xe8,-0xf0)]+0.0625*_0x482864*_0x8497cb*(0xd-0x4e*_0x2d20f5+0x89*_0x341af3),_0x3d0d80[_0x1f8dba(0x94,-0x12)]=-0.5*_0x41601b*_0x1552ec+0.0625*_0x482864*(0x7-0x72*_0x2d20f5+0x18b*_0x341af3)+_0x5e9177*(0x3-0x24*_0x2d20f5+0x31*_0x341af3),_0x32a47c=-_0x41601b*_0x2ae0a5,_0x3d0d80[_0x1627b7(0xc5,0x18b)]=_0x32a47c+(0.5*_0x482864*(0x4-0x13*_0x2d20f5)+0x2*_0x5e9177*(0x3-0x7*_0x2d20f5))*_0x2ae0a5,_0x5ce42a=_0x3d0d80['argpdot']+_0x3d0d80[_0x1f8dba(-0xb5,-0x80)],_0x3d0d80[_0x1627b7(0x24f,0x190)]=_0x3d0d80['bstar']*_0x49e0f6*Math['cos'](_0x3d0d80[_0x1f8dba(-0xdb,0x91)]),_0x3d0d80[_0x1f8dba(-0x9e,-0x4a)]=0x0;_0x3d0d80['ecco']>0.0001&&(_0x3d0d80['xmcof']=-x2o3*_0x1eca58*_0x3d0d80['bstar']/_0xa28c68);_0x3d0d80['nodecf']=3.5*_0x4e5b08*_0x32a47c*_0x3d0d80[_0x1f8dba(-0xcf,-0x2e)],_0x3d0d80['t2cof']=1.5*_0x3d0d80['cc1'];Math[_0x1627b7(0xfe,0x195)](_0x2ae0a5+0x1)>1.5e-12?_0x3d0d80['xlcof']=-0.25*j3oj2*_0x5a5b0b*(0x3+0x5*_0x2ae0a5)/(0x1+_0x2ae0a5):_0x3d0d80['xlcof']=-0.25*j3oj2*_0x5a5b0b*(0x3+0x5*_0x2ae0a5)/_0x403350;_0x3d0d80['aycof']=-0.5*j3oj2*_0x5a5b0b;var _0x1af1c8=0x1+_0x3d0d80[_0x1f8dba(0x1c6,0xee)]*Math[_0x1627b7(0x1a2,0x10d)](_0x3d0d80['mo']);_0x3d0d80['delmo']=_0x1af1c8*_0x1af1c8*_0x1af1c8,_0x3d0d80['sinmao']=Math[_0x1f8dba(-0xd7,-0x23)](_0x3d0d80['mo']),_0x3d0d80[_0x1f8dba(-0x130,-0xb1)]=0x7*_0x2d20f5-0x1;if(0x2*pi/_0x3d0d80['no']>=0xe1){_0x3d0d80[_0x1627b7(0x210,0x339)]='d',_0x3d0d80[_0x1f8dba(0x4e,-0x68)]=0x1,_0x4198bb=0x0,_0x510cf0=_0x3d0d80['inclo'];var _0x15b206={};_0x15b206['epoch']=_0x1b5d22,_0x15b206['ep']=_0x3d0d80[_0x1627b7(0xd1,0x21b)],_0x15b206[_0x1627b7(0x395,0x2d4)]=_0x3d0d80['argpo'],_0x15b206['tc']=_0x4198bb,_0x15b206[_0x1627b7(0x8,0x129)]=_0x3d0d80['inclo'],_0x15b206['nodep']=_0x3d0d80['nodeo'],_0x15b206['np']=_0x3d0d80['no'],_0x15b206['e3']=_0x3d0d80['e3'],_0x15b206['ee2']=_0x3d0d80['ee2'],_0x15b206[_0x1627b7(0x40c,0x2ac)]=_0x3d0d80[_0x1f8dba(0x194,0xa1)],_0x15b206['pgho']=_0x3d0d80['pgho'],_0x15b206['pho']=_0x3d0d80['pho'],_0x15b206[_0x1627b7(0x294,0x241)]=_0x3d0d80[_0x1627b7(0x3a7,0x241)],_0x15b206[_0x1f8dba(-0x2a,0x11e)]=_0x3d0d80['plo'],_0x15b206['se2']=_0x3d0d80['se2'],_0x15b206[_0x1627b7(0x11d,0xe8)]=_0x3d0d80['se3'],_0x15b206[_0x1f8dba(-0xd6,-0x9e)]=_0x3d0d80['sgh2'],_0x15b206['sgh3']=_0x3d0d80['sgh3'],_0x15b206[_0x1f8dba(0x98,0x6e)]=_0x3d0d80['sgh4'],_0x15b206['sh2']=_0x3d0d80['sh2'],_0x15b206['sh3']=_0x3d0d80['sh3'],_0x15b206[_0x1f8dba(0xaf,0xd2)]=_0x3d0d80['si2'],_0x15b206['si3']=_0x3d0d80['si3'],_0x15b206['sl2']=_0x3d0d80['sl2'],_0x15b206['sl3']=_0x3d0d80[_0x1f8dba(-0x91,-0xea)],_0x15b206[_0x1f8dba(-0x104,0x13)]=_0x3d0d80[_0x1f8dba(0x132,0x13)],_0x15b206['xgh2']=_0x3d0d80[_0x1627b7(0x306,0x1a2)],_0x15b206['xgh3']=_0x3d0d80['xgh3'],_0x15b206['xgh4']=_0x3d0d80['xgh4'],_0x15b206['xh2']=_0x3d0d80['xh2'],_0x15b206['xh3']=_0x3d0d80['xh3'],_0x15b206['xi2']=_0x3d0d80['xi2'],_0x15b206['xi3']=_0x3d0d80['xi3'],_0x15b206['xl2']=_0x3d0d80['xl2'],_0x15b206['xl3']=_0x3d0d80[_0x1627b7(0x366,0x29d)],_0x15b206['xl4']=_0x3d0d80[_0x1f8dba(0x1bb,0x186)],_0x15b206[_0x1f8dba(0x22c,0x185)]=_0x3d0d80['zmol'],_0x15b206['zmos']=_0x3d0d80['zmos'];var _0x128750=_0x15b206,_0x2cf146=dscom(_0x128750);_0x3d0d80['e3']=_0x2cf146['e3'],_0x3d0d80['ee2']=_0x2cf146['ee2'],_0x3d0d80['peo']=_0x2cf146[_0x1f8dba(0xde,0xa1)],_0x3d0d80['pgho']=_0x2cf146[_0x1f8dba(0x1d1,0x7f)],_0x3d0d80['pho']=_0x2cf146[_0x1f8dba(0x4f,-0x28)],_0x3d0d80['pinco']=_0x2cf146['pinco'],_0x3d0d80['plo']=_0x2cf146[_0x1f8dba(0x169,0x11e)],_0x3d0d80['se2']=_0x2cf146['se2'],_0x3d0d80['se3']=_0x2cf146['se3'],_0x3d0d80[_0x1627b7(0x10e,0x16d)]=_0x2cf146['sgh2'],_0x3d0d80[_0x1627b7(0xd2,0x18e)]=_0x2cf146['sgh3'],_0x3d0d80[_0x1627b7(0x36d,0x279)]=_0x2cf146[_0x1627b7(0x278,0x279)],_0x3d0d80['sh2']=_0x2cf146['sh2'],_0x3d0d80[_0x1f8dba(0xe3,0x63)]=_0x2cf146[_0x1627b7(0x111,0x26e)],_0x3d0d80['si2']=_0x2cf146[_0x1627b7(0x423,0x2dd)],_0x3d0d80[_0x1627b7(0x20a,0x2d9)]=_0x2cf146['si3'],_0x3d0d80[_0x1627b7(0x484,0x313)]=_0x2cf146['sl2'],_0x3d0d80['sl3']=_0x2cf146[_0x1627b7(-0x18,0x121)],_0x3d0d80[_0x1627b7(0x17d,0x21e)]=_0x2cf146[_0x1627b7(0x22e,0x21e)],_0x245d40=_0x2cf146['sinim'],_0x15bd11=_0x2cf146[_0x1f8dba(0x15b,0xf3)],_0x81e544=_0x2cf146['em'],_0x1f2229=_0x2cf146[_0x1f8dba(0x6b,-0xae)],_0xd94dd=_0x2cf146['s1'],_0x3c6ae=_0x2cf146['s2'],_0x246dc1=_0x2cf146['s3'],_0x5c5f3e=_0x2cf146['s4'],_0xa152fa=_0x2cf146['s5'],_0x9d4dca=_0x2cf146[_0x1f8dba(-0x34,0x12b)],_0x249c86=_0x2cf146['ss2'],_0xb811c1=_0x2cf146['ss3'],_0x285c61=_0x2cf146[_0x1f8dba(-0x1b6,-0x5d)],_0x4d9932=_0x2cf146['ss5'],_0x2bc6dd=_0x2cf146[_0x1627b7(0x1f6,0x193)],_0x3384da=_0x2cf146['sz3'],_0x198e94=_0x2cf146['sz11'],_0x35c96c=_0x2cf146[_0x1627b7(0x249,0x110)],_0x52670b=_0x2cf146['sz21'],_0x438649=_0x2cf146[_0x1627b7(0x47e,0x343)],_0x2ec567=_0x2cf146['sz31'],_0x1e8f7a=_0x2cf146[_0x1627b7(0xc2,0xfe)],_0x3d0d80[_0x1627b7(0x212,0x1a2)]=_0x2cf146[_0x1f8dba(-0x1ce,-0x69)],_0x3d0d80[_0x1f8dba(-0x8,0x142)]=_0x2cf146['xgh3'],_0x3d0d80[_0x1f8dba(-0x162,-0x45)]=_0x2cf146['xgh4'],_0x3d0d80['xh2']=_0x2cf146[_0x1627b7(0x1c7,0x307)],_0x3d0d80[_0x1f8dba(-0xa2,0x68)]=_0x2cf146[_0x1f8dba(0xb1,0x68)],_0x3d0d80[_0x1f8dba(-0x135,-0xc0)]=_0x2cf146['xi2'],_0x3d0d80['xi3']=_0x2cf146['xi3'],_0x3d0d80[_0x1627b7(0x3c4,0x293)]=_0x2cf146['xl2'],_0x3d0d80['xl3']=_0x2cf146['xl3'],_0x3d0d80['xl4']=_0x2cf146[_0x1f8dba(0x226,0x186)],_0x3d0d80['zmol']=_0x2cf146[_0x1627b7(0x4ac,0x390)],_0x3d0d80['zmos']=_0x2cf146['zmos'],_0x370e07=_0x2cf146['nm'],_0x50e50a=_0x2cf146['z1'],_0x2c166c=_0x2cf146['z3'],_0x2e99e3=_0x2cf146[_0x1627b7(0x287,0x2cf)],_0x418b38=_0x2cf146['z13'],_0x25c56f=_0x2cf146['z21'],_0x279fb5=_0x2cf146[_0x1f8dba(0xf4,0x136)],_0x12a439=_0x2cf146[_0x1f8dba(-0x55,-0xb3)],_0x13fa2a=_0x2cf146['z33'];var _0x28856d={};_0x28856d[_0x1f8dba(-0x18,-0xd7)]=_0x510cf0,_0x28856d['init']=_0x3d0d80['init'],_0x28856d['ep']=_0x3d0d80['ecco'],_0x28856d[_0x1f8dba(-0x144,-0xe2)]=_0x3d0d80[_0x1627b7(0x2e,0x134)],_0x28856d[_0x1f8dba(-0x105,-0x14)]=_0x3d0d80[_0x1627b7(0x2ae,0x304)],_0x28856d['argpp']=_0x3d0d80['argpo'],_0x28856d['mp']=_0x3d0d80['mo'],_0x28856d['opsmode']=_0x3d0d80['operationmode'];var _0x39ca3c=_0x28856d,_0x3e8f91=dpper(_0x3d0d80,_0x39ca3c);_0x3d0d80['ecco']=_0x3e8f91['ep'],_0x3d0d80['inclo']=_0x3e8f91['inclp'],_0x3d0d80[_0x1f8dba(0x1cc,0xf9)]=_0x3e8f91['nodep'],_0x3d0d80['argpo']=_0x3e8f91['argpp'],_0x3d0d80['mo']=_0x3e8f91['mp'],_0x5eec48=0x0,_0x2be411=0x0,_0x63c332=0x0;var _0x3cc4a4={};_0x3cc4a4['cosim']=_0x15bd11,_0x3cc4a4['emsq']=_0x1f2229,_0x3cc4a4['argpo']=_0x3d0d80['argpo'],_0x3cc4a4['s1']=_0xd94dd,_0x3cc4a4['s2']=_0x3c6ae,_0x3cc4a4['s3']=_0x246dc1,_0x3cc4a4['s4']=_0x5c5f3e,_0x3cc4a4['s5']=_0xa152fa,_0x3cc4a4['sinim']=_0x245d40,_0x3cc4a4['ss1']=_0x9d4dca,_0x3cc4a4[_0x1f8dba(-0xbb,0xa4)]=_0x249c86,_0x3cc4a4['ss3']=_0xb811c1,_0x3cc4a4['ss4']=_0x285c61,_0x3cc4a4['ss5']=_0x4d9932,_0x3cc4a4[_0x1627b7(0x89,0x193)]=_0x2bc6dd,_0x3cc4a4[_0x1627b7(0x2c1,0x225)]=_0x3384da,_0x3cc4a4[_0x1f8dba(-0x4b,0x6f)]=_0x198e94,_0x3cc4a4[_0x1627b7(0x229,0x110)]=_0x35c96c,_0x3cc4a4[_0x1f8dba(-0x18f,-0xe3)]=_0x52670b,_0x3cc4a4['sz23']=_0x438649,_0x3cc4a4[_0x1f8dba(0x61,0x12d)]=_0x2ec567,_0x3cc4a4['sz33']=_0x1e8f7a,_0x3cc4a4['t']=_0x3d0d80['t'],_0x3cc4a4['tc']=_0x4198bb,_0x3cc4a4[_0x1f8dba(0x120,0xe9)]=_0x3d0d80[_0x1627b7(0x237,0x2f4)],_0x3cc4a4['mo']=_0x3d0d80['mo'],_0x3cc4a4['mdot']=_0x3d0d80['mdot'],_0x3cc4a4['no']=_0x3d0d80['no'],_0x3cc4a4[_0x1f8dba(0x15e,0xf9)]=_0x3d0d80[_0x1f8dba(0x88,0xf9)],_0x3cc4a4[_0x1f8dba(-0x4d,-0x80)]=_0x3d0d80['nodedot'],_0x3cc4a4[_0x1f8dba(0xc5,0xff)]=_0x5ce42a,_0x3cc4a4['z1']=_0x50e50a,_0x3cc4a4['z3']=_0x2c166c,_0x3cc4a4['z11']=_0x2e99e3,_0x3cc4a4['z13']=_0x418b38,_0x3cc4a4['z21']=_0x25c56f,_0x3cc4a4['z23']=_0x279fb5,_0x3cc4a4[_0x1627b7(0x280,0x158)]=_0x12a439,_0x3cc4a4['z33']=_0x13fa2a,_0x3cc4a4['ecco']=_0x3d0d80[_0x1f8dba(0x104,0x10)],_0x3cc4a4['eccsq']=_0x5a6c45,_0x3cc4a4['em']=_0x81e544,_0x3cc4a4[_0x1627b7(0x19,0x10f)]=_0x5eec48,_0x3cc4a4['inclm']=_0x510cf0,_0x3cc4a4['mm']=_0x63c332,_0x3cc4a4['nm']=_0x370e07,_0x3cc4a4['nodem']=_0x2be411,_0x3cc4a4['irez']=_0x3d0d80['irez'],_0x3cc4a4['atime']=_0x3d0d80['atime'],_0x3cc4a4['d2201']=_0x3d0d80[_0x1f8dba(-0x38,-0x109)],_0x3cc4a4['d2211']=_0x3d0d80['d2211'],_0x3cc4a4[_0x1627b7(0x3e4,0x278)]=_0x3d0d80['d3210'],_0x3cc4a4['d3222']=_0x3d0d80['d3222'],_0x3cc4a4['d4410']=_0x3d0d80[_0x1627b7(0x35a,0x2d1)],_0x3cc4a4[_0x1627b7(0x3e,0x124)]=_0x3d0d80[_0x1627b7(0x148,0x124)],_0x3cc4a4['d5220']=_0x3d0d80[_0x1f8dba(0xc9,0xcd)],_0x3cc4a4['d5232']=_0x3d0d80['d5232'],_0x3cc4a4['d5421']=_0x3d0d80[_0x1627b7(0xc6,0x120)],_0x3cc4a4['d5433']=_0x3d0d80[_0x1627b7(0x9a,0xee)],_0x3cc4a4[_0x1627b7(-0x39,0xf1)]=_0x3d0d80['dedt'],_0x3cc4a4['didt']=_0x3d0d80[_0x1f8dba(-0x54,0xeb)],_0x3cc4a4['dmdt']=_0x3d0d80['dmdt'],_0x3cc4a4['dnodt']=_0x3d0d80['dnodt'],_0x3cc4a4['domdt']=_0x3d0d80['domdt'],_0x3cc4a4[_0x1627b7(0x33a,0x396)]=_0x3d0d80[_0x1627b7(0x287,0x396)],_0x3cc4a4[_0x1f8dba(-0x1d9,-0xe4)]=_0x3d0d80['del2'],_0x3cc4a4['del3']=_0x3d0d80['del3'],_0x3cc4a4[_0x1f8dba(0x149,-0x26)]=_0x3d0d80['xfact'],_0x3cc4a4['xlamo']=_0x3d0d80[_0x1627b7(0x29e,0x137)],_0x3cc4a4[_0x1f8dba(0x4b,0x113)]=_0x3d0d80['xli'],_0x3cc4a4['xni']=_0x3d0d80['xni'];var _0x4d8205=_0x3cc4a4,_0x2ac8bc=dsinit(_0x4d8205);_0x3d0d80['irez']=_0x2ac8bc[_0x1f8dba(-0x171,-0xbf)],_0x3d0d80['atime']=_0x2ac8bc['atime'],_0x3d0d80[_0x1f8dba(-0x17b,-0x109)]=_0x2ac8bc['d2201'],_0x3d0d80['d2211']=_0x2ac8bc['d2211'],_0x3d0d80[_0x1f8dba(0x15e,0x6d)]=_0x2ac8bc[_0x1f8dba(-0x21,0x6d)],_0x3d0d80['d3222']=_0x2ac8bc['d3222'],_0x3d0d80['d4410']=_0x2ac8bc[_0x1627b7(0x1b0,0x2d1)],_0x3d0d80[_0x1627b7(0x242,0x124)]=_0x2ac8bc[_0x1f8dba(-0x145,-0xe7)],_0x3d0d80[_0x1627b7(0x38e,0x2d8)]=_0x2ac8bc['d5220'],_0x3d0d80['d5232']=_0x2ac8bc['d5232'],_0x3d0d80['d5421']=_0x2ac8bc[_0x1627b7(0x1eb,0x120)],_0x3d0d80['d5433']=_0x2ac8bc['d5433'],_0x3d0d80[_0x1f8dba(-0x1fa,-0x11a)]=_0x2ac8bc['dedt'],_0x3d0d80[_0x1627b7(0x241,0x2f6)]=_0x2ac8bc['didt'],_0x3d0d80['dmdt']=_0x2ac8bc[_0x1f8dba(-0x4c,-0x43)],_0x3d0d80['dnodt']=_0x2ac8bc[_0x1627b7(0x1d7,0x192)],_0x3d0d80['domdt']=_0x2ac8bc[_0x1f8dba(0x5b,0x1ab)],_0x3d0d80[_0x1f8dba(0x55,0x18b)]=_0x2ac8bc['del1'],_0x3d0d80[_0x1f8dba(-0x47,-0xe4)]=_0x2ac8bc['del2'],_0x3d0d80[_0x1627b7(0x20e,0x101)]=_0x2ac8bc['del3'],_0x3d0d80[_0x1627b7(0x2e2,0x1e5)]=_0x2ac8bc['xfact'],_0x3d0d80[_0x1627b7(0x2f,0x137)]=_0x2ac8bc[_0x1f8dba(-0xf7,-0xd4)],_0x3d0d80['xli']=_0x2ac8bc['xli'],_0x3d0d80['xni']=_0x2ac8bc['xni'];}_0x3d0d80['isimp']!==0x1&&(_0x5d67ed=_0x3d0d80['cc1']*_0x3d0d80[_0x1f8dba(-0x46,-0x2e)],_0x3d0d80['d2']=0x4*_0x39caf8*_0x18f74a*_0x5d67ed,_0x3d0a36=_0x3d0d80['d2']*_0x18f74a*_0x3d0d80['cc1']/0x3,_0x3d0d80['d3']=(0x11*_0x39caf8+_0x1aab9c)*_0x3d0a36,_0x3d0d80['d4']=0.5*_0x3d0a36*_0x39caf8*_0x18f74a*(0xdd*_0x39caf8+0x1f*_0x1aab9c)*_0x3d0d80[_0x1627b7(0x8e,0x1dd)],_0x3d0d80['t3cof']=_0x3d0d80['d2']+0x2*_0x5d67ed,_0x3d0d80['t4cof']=0.25*(0x3*_0x3d0d80['d3']+_0x3d0d80['cc1']*(0xc*_0x3d0d80['d2']+0xa*_0x5d67ed)),_0x3d0d80['t5cof']=0.2*(0x3*_0x3d0d80['d4']+0xc*_0x3d0d80['cc1']*_0x3d0d80['d3']+0x6*_0x3d0d80['d2']*_0x3d0d80['d2']+0xf*_0x5d67ed*(0x2*_0x3d0d80['d2']+_0x5d67ed)));}sgp4(_0x3d0d80,0x0),_0x3d0d80['init']='n';}function twoline2satrec(_0x12aeea,_0x2744e5){var _0x5cfc46='i',_0x4bd168=0x5a0/(0x2*pi);function _0x6954de(_0x4de453,_0x3f0b59){return _0x4925de(_0x4de453,_0x3f0b59- -0x2d5);}var _0x3b7a5e=0x0,_0x4f9325={};_0x4f9325[_0x6954de(0x1ba,0x6e)]=0x0,_0x4f9325['satnum']=_0x12aeea['substring'](0x2,0x7),_0x4f9325['epochyr']=parseInt(_0x12aeea[_0x36253c(0x3f4,0x317)](0x12,0x14),0xa),_0x4f9325['epochdays']=parseFloat(_0x12aeea['substring'](0x14,0x20)),_0x4f9325['ndot']=parseFloat(_0x12aeea['substring'](0x21,0x2b)),_0x4f9325[_0x36253c(0x375,0x36e)]=parseFloat('.'[_0x6954de(-0x2a3,-0x171)](parseInt(_0x12aeea['substring'](0x2c,0x32),0xa),'E')['concat'](_0x12aeea[_0x36253c(0x25c,0x317)](0x32,0x34))),_0x4f9325[_0x6954de(-0xeb,-0x1e5)]=parseFloat(''[_0x6954de(-0x5b,-0x171)](_0x12aeea['substring'](0x35,0x36),'.')['concat'](parseInt(_0x12aeea[_0x36253c(0x240,0x317)](0x36,0x3b),0xa),'E')['concat'](_0x12aeea[_0x36253c(0x243,0x317)](0x3b,0x3d))),_0x4f9325[_0x36253c(0x18a,0x294)]=parseFloat(_0x2744e5[_0x36253c(0x3a4,0x317)](0x8,0x10)),_0x4f9325['nodeo']=parseFloat(_0x2744e5['substring'](0x11,0x19)),_0x4f9325['ecco']=parseFloat('.'[_0x36253c(0x36b,0x2c8)](_0x2744e5['substring'](0x1a,0x21)));function _0x36253c(_0x260d72,_0x2411af){return _0x4925de(_0x260d72,_0x2411af-0x164);}_0x4f9325['argpo']=parseFloat(_0x2744e5['substring'](0x22,0x2a)),_0x4f9325['mo']=parseFloat(_0x2744e5['substring'](0x2b,0x33)),_0x4f9325['no']=parseFloat(_0x2744e5['substring'](0x34,0x3f)),_0x4f9325['no']/=_0x4bd168,_0x4f9325['a']=Math['pow'](_0x4f9325['no']*tumin,-0x2/0x3),_0x4f9325['ndot']/=_0x4bd168*0x5a0,_0x4f9325[_0x6954de(-0x50,-0xcb)]/=_0x4bd168*0x5a0*0x5a0,_0x4f9325[_0x36253c(0x3c0,0x294)]*=deg2rad,_0x4f9325['nodeo']*=deg2rad,_0x4f9325[_0x6954de(-0xb5,-0x3d)]*=deg2rad,_0x4f9325['mo']*=deg2rad,_0x4f9325['alta']=_0x4f9325['a']*(0x1+_0x4f9325['ecco'])-0x1,_0x4f9325['altp']=_0x4f9325['a']*(0x1-_0x4f9325['ecco'])-0x1;_0x4f9325[_0x36253c(0x1f6,0x339)]<0x39?_0x3b7a5e=_0x4f9325['epochyr']+0x7d0:_0x3b7a5e=_0x4f9325[_0x36253c(0x48f,0x339)]+0x76c;var _0x125c92=days2mdhms(_0x3b7a5e,_0x4f9325[_0x36253c(0x54f,0x3eb)]),_0x29fd42=_0x125c92['mon'],_0x4c244e=_0x125c92['day'],_0x179107=_0x125c92['hr'],_0x23d05a=_0x125c92['minute'],_0x513397=_0x125c92[_0x36253c(0x381,0x412)];return _0x4f9325['jdsatepoch']=jday(_0x3b7a5e,_0x29fd42,_0x4c244e,_0x179107,_0x23d05a,_0x513397),sgp4init(_0x4f9325,{'opsmode':_0x5cfc46,'satn':_0x4f9325['satnum'],'epoch':_0x4f9325['jdsatepoch']-2433281.5,'xbstar':_0x4f9325['bstar'],'xecco':_0x4f9325['ecco'],'xargpo':_0x4f9325['argpo'],'xinclo':_0x4f9325[_0x6954de(-0x8b,-0x1a5)],'xmo':_0x4f9325['mo'],'xno':_0x4f9325['no'],'xnodeo':_0x4f9325[_0x6954de(0xf3,0x2b)]}),_0x4f9325;}function _toConsumableArray(_0x383fdc){return _arrayWithoutHoles(_0x383fdc)||_iterableToArray(_0x383fdc)||_unsupportedIterableToArray(_0x383fdc)||_nonIterableSpread();}function _arrayWithoutHoles(_0x3454d1){function _0x14caac(_0x580c7d,_0x3d1985){return _0x2a61be(_0x580c7d,_0x3d1985- -0x274);}if(Array[_0x14caac(-0x52,-0x8a)](_0x3454d1))return _arrayLikeToArray(_0x3454d1);}function _iterableToArray(_0x27e54d){if(typeof Symbol!=='undefined'&&Symbol['iterator']in Object(_0x27e54d))return Array['from'](_0x27e54d);}function _unsupportedIterableToArray(_0x28f24a,_0x42433e){if(!_0x28f24a)return;function _0xb80136(_0xcecbe0,_0x223937){return _0x2a61be(_0xcecbe0,_0x223937-0x3fb);}if(typeof _0x28f24a==='string')return _arrayLikeToArray(_0x28f24a,_0x42433e);var _0x46ca89=Object['prototype'][_0xb80136(0x65d,0x704)][_0x4f2c25(0x386,0x31a)](_0x28f24a)[_0xb80136(0x5f6,0x752)](0x8,-0x1);if(_0x46ca89===_0x4f2c25(0x2a7,0x388)&&_0x28f24a['constructor'])_0x46ca89=_0x28f24a['constructor'][_0x4f2c25(0x4bd,0x4bb)];function _0x4f2c25(_0x228c82,_0x53e075){return _0x2a61be(_0x228c82,_0x53e075-0x6f);}if(_0x46ca89==='Map'||_0x46ca89===_0x4f2c25(0x605,0x4d3))return Array['from'](_0x28f24a);if(_0x46ca89==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x46ca89))return _arrayLikeToArray(_0x28f24a,_0x42433e);}function _arrayLikeToArray(_0x40f8f2,_0x580abd){if(_0x580abd==null||_0x580abd>_0x40f8f2['length'])_0x580abd=_0x40f8f2[_0x28958e(0x172,0x1d2)];function _0x28958e(_0x42711f,_0x442c7e){return _0x4925de(_0x42711f,_0x442c7e-0xc3);}for(var _0x39c049=0x0,_0x597f6e=new Array(_0x580abd);_0x39c049<_0x580abd;_0x39c049++)_0x597f6e[_0x39c049]=_0x40f8f2[_0x39c049];return _0x597f6e;}function _nonIterableSpread(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function propagate(){for(var _0x2ab4a2=arguments['length'],_0x1da792=new Array(_0x2ab4a2),_0x237ae8=0x0;_0x237ae8<_0x2ab4a2;_0x237ae8++){_0x1da792[_0x237ae8]=arguments[_0x237ae8];}function _0x3be20a(_0x1af6a7,_0x1040bd){return _0x2a61be(_0x1af6a7,_0x1040bd-0x3e6);}var _0x34c9ad=_0x1da792[0x0],_0xaf6b62=Array[_0x3be20a(0x78e,0x7cd)]['slice']['call'](_0x1da792,0x1),_0x5ed483=jday[_0x2c40ed(0x597,0x549)](void 0x0,_toConsumableArray(_0xaf6b62));function _0x2c40ed(_0x122f2b,_0x1d0d91){return _0x4925de(_0x122f2b,_0x1d0d91-0x357);}var _0x598d9d=(_0x5ed483-_0x34c9ad['jdsatepoch'])*minutesPerDay;return sgp4(_0x34c9ad,_0x598d9d);}function dopplerFactor(_0x2b4768,_0xb6c42a,_0x513257){var _0x5d8281=0.00007292115,_0x42605f=299792.458,_0x192c15={};_0x192c15['x']=_0xb6c42a['x']-_0x2b4768['x'];function _0x3aba55(_0x5b007f,_0x3a9645){return _0x2a61be(_0x3a9645,_0x5b007f- -0x28a);}_0x192c15['y']=_0xb6c42a['y']-_0x2b4768['y'],_0x192c15['z']=_0xb6c42a['z']-_0x2b4768['z'];var _0xb593e7=_0x192c15;_0xb593e7['w']=Math[_0x51f519(0x3ea,0x320)](Math[_0x3aba55(-0xc4,-0x172)](_0xb593e7['x'],0x2)+Math['pow'](_0xb593e7['y'],0x2)+Math[_0x3aba55(-0xc4,0x3f)](_0xb593e7['z'],0x2));var _0x413a16={};_0x413a16['x']=_0x513257['x']+_0x5d8281*_0x2b4768['y'],_0x413a16['y']=_0x513257['y']-_0x5d8281*_0x2b4768['x'],_0x413a16['z']=_0x513257['z'];var _0x123071=_0x413a16;function _0x51f519(_0x51cc33,_0x4d923f){return _0x2a61be(_0x51cc33,_0x4d923f- -0xaf);}function _0x38bb85(_0x1f91fa){return _0x1f91fa>=0x0?0x1:-0x1;}var _0x5d845d=(_0xb593e7['x']*_0x123071['x']+_0xb593e7['y']*_0x123071['y']+_0xb593e7['z']*_0x123071['z'])/_0xb593e7['w'];return 0x1+_0x5d845d/_0x42605f*_0x38bb85(_0x5d845d);}function _0x43df(_0x555d8c,_0x1cc9d9){var _0x73da74=_0x73da();return _0x43df=function(_0x43df51,_0x57c56b){_0x43df51=_0x43df51-0x1ac;var _0x18ad49=_0x73da74[_0x43df51];return _0x18ad49;},_0x43df(_0x555d8c,_0x1cc9d9);}function radiansToDegrees(_0x41e98c){return _0x41e98c*rad2deg;}function degreesToRadians(_0x4e8b4c){return _0x4e8b4c*deg2rad;}function degreesLat(_0x2f2bdd){if(_0x2f2bdd<-pi/0x2||_0x2f2bdd>pi/0x2)throw new RangeError('Latitude\x20radians\x20must\x20be\x20in\x20range\x20[-pi/2;\x20pi/2].');return radiansToDegrees(_0x2f2bdd);}function degreesLong(_0x4c8fe7){function _0x38b479(_0x2be2d0,_0x4bbb96){return _0x2a61be(_0x2be2d0,_0x4bbb96-0xfe);}if(_0x4c8fe7<-pi||_0x4c8fe7>pi)throw new RangeError(_0x38b479(0x56a,0x41d));return radiansToDegrees(_0x4c8fe7);}function radiansLat(_0x4b1651){if(_0x4b1651<-0x5a||_0x4b1651>0x5a)throw new RangeError(_0x3a9bc2(0x324,0x38d));function _0x3a9bc2(_0x2e31bf,_0x13e96b){return _0x4925de(_0x2e31bf,_0x13e96b-0x280);}return degreesToRadians(_0x4b1651);}function radiansLong(_0x3f057e){if(_0x3f057e<-0xb4||_0x3f057e>0xb4)throw new RangeError('Longitude\x20degrees\x20must\x20be\x20in\x20range\x20[-180;\x20180].');return degreesToRadians(_0x3f057e);}function geodeticToEcf(_0x831c7e){var _0x9154e4=_0x831c7e[_0x18c9e0(-0x9a,0xbd)],_0x2e613b=_0x831c7e[_0x18c9e0(-0xfb,-0x6e)],_0x617ff2=_0x831c7e['height'],_0x573c6d=6378.137,_0x92ecfa=6356.7523142,_0x4005f8=(_0x573c6d-_0x92ecfa)/_0x573c6d;function _0x18c9e0(_0x34c041,_0x1e236a){return _0x4925de(_0x1e236a,_0x34c041- -0x2e4);}var _0x3053ba=0x2*_0x4005f8-_0x4005f8*_0x4005f8,_0x15fedb=_0x573c6d/Math[_0x1ff77f(0x12f,0x1a1)](0x1-_0x3053ba*(Math['sin'](_0x2e613b)*Math[_0x18c9e0(-0x100,-0x24c)](_0x2e613b))),_0x4edd4f=(_0x15fedb+_0x617ff2)*Math['cos'](_0x2e613b)*Math['cos'](_0x9154e4),_0x2768c5=(_0x15fedb+_0x617ff2)*Math['cos'](_0x2e613b)*Math['sin'](_0x9154e4),_0x337b4b=(_0x15fedb*(0x1-_0x3053ba)+_0x617ff2)*Math[_0x1ff77f(0xe5,0x67)](_0x2e613b),_0x4cdf8c={};_0x4cdf8c['x']=_0x4edd4f;function _0x1ff77f(_0x23a324,_0x2a834f){return _0x4925de(_0x23a324,_0x2a834f- -0x17d);}return _0x4cdf8c['y']=_0x2768c5,_0x4cdf8c['z']=_0x337b4b,_0x4cdf8c;}function eciToGeodetic(_0x84a81c,_0x2a09c6){function _0x33f3ce(_0x42648e,_0xc84eab){return _0x4925de(_0x42648e,_0xc84eab-0x73);}var _0x3cd611=6378.137,_0x223263=6356.7523142,_0x4417b9=Math['sqrt'](_0x84a81c['x']*_0x84a81c['x']+_0x84a81c['y']*_0x84a81c['y']),_0x4b8d2b=(_0x3cd611-_0x223263)/_0x3cd611,_0x3196e7=0x2*_0x4b8d2b-_0x4b8d2b*_0x4b8d2b,_0x41dec4=Math[_0x4e4a8f(0x3cd,0x348)](_0x84a81c['y'],_0x84a81c['x'])-_0x2a09c6;while(_0x41dec4<-pi){_0x41dec4+=twoPi;}while(_0x41dec4>pi){_0x41dec4-=twoPi;}var _0x3d2186=0x14,_0x3098be=0x0,_0x3339e7=Math['atan2'](_0x84a81c['z'],Math[_0x4e4a8f(0x4d7,0x538)](_0x84a81c['x']*_0x84a81c['x']+_0x84a81c['y']*_0x84a81c['y']));function _0x4e4a8f(_0x22cb2e,_0x1e655b){return _0x2a61be(_0x1e655b,_0x22cb2e-0x108);}var _0x45e1bd;while(_0x3098be<_0x3d2186){_0x45e1bd=0x1/Math[_0x33f3ce(0x3cd,0x391)](0x1-_0x3196e7*(Math['sin'](_0x3339e7)*Math['sin'](_0x3339e7))),_0x3339e7=Math[_0x33f3ce(0x31b,0x287)](_0x84a81c['z']+_0x3cd611*_0x45e1bd*_0x3196e7*Math[_0x4e4a8f(0x39d,0x2d8)](_0x3339e7),_0x4417b9),_0x3098be+=0x1;}var _0x2a1769=_0x4417b9/Math[_0x33f3ce(0xc4,0x17c)](_0x3339e7)-_0x3cd611*_0x45e1bd,_0x5d2fcb={};return _0x5d2fcb['longitude']=_0x41dec4,_0x5d2fcb[_0x33f3ce(0x35e,0x25c)]=_0x3339e7,_0x5d2fcb['height']=_0x2a1769,_0x5d2fcb;}function ecfToEci(_0x2ac768,_0x57de0f){function _0x790e11(_0x1ae1f1,_0x4dd7bc){return _0x2a61be(_0x4dd7bc,_0x1ae1f1- -0x2b6);}var _0x48e17e=_0x2ac768['x']*Math[_0x3a85f4(-0xf8,-0x26a)](_0x57de0f)-_0x2ac768['y']*Math['sin'](_0x57de0f),_0x42307c=_0x2ac768['x']*Math[_0x790e11(-0x21,0x9c)](_0x57de0f)+_0x2ac768['y']*Math['cos'](_0x57de0f),_0x4d2472=_0x2ac768['z'],_0x3eb9e9={};function _0x3a85f4(_0x392608,_0x58fa99){return _0x4925de(_0x58fa99,_0x392608- -0x201);}return _0x3eb9e9['x']=_0x48e17e,_0x3eb9e9['y']=_0x42307c,_0x3eb9e9['z']=_0x4d2472,_0x3eb9e9;}function eciToEcf(_0x3eed3a,_0x3649ee){var _0x4a1b03=_0x3eed3a['x']*Math[_0x12dc74(0x3b0,0x412)](_0x3649ee)+_0x3eed3a['y']*Math['sin'](_0x3649ee),_0x8fd4e6=_0x3eed3a['x']*-Math['sin'](_0x3649ee)+_0x3eed3a['y']*Math['cos'](_0x3649ee),_0x3455a9=_0x3eed3a['z'],_0xe45f81={};function _0x12dc74(_0x30e26c,_0x34f6e7){return _0x2a61be(_0x34f6e7,_0x30e26c-0x1f6);}return _0xe45f81['x']=_0x4a1b03,_0xe45f81['y']=_0x8fd4e6,_0xe45f81['z']=_0x3455a9,_0xe45f81;}function topocentric(_0x10ad24,_0x1cb876){function _0x1dafee(_0x393e7c,_0x2a8bb2){return _0x4925de(_0x2a8bb2,_0x393e7c-0x3e9);}var _0x21d47f=_0x10ad24['longitude'],_0x1a9905=_0x10ad24['latitude'],_0x61b255=geodeticToEcf(_0x10ad24),_0xcda6f=_0x1cb876['x']-_0x61b255['x'],_0x542321=_0x1cb876['y']-_0x61b255['y'];function _0x4b509b(_0x11d0ec,_0x5c61cd){return _0x2a61be(_0x5c61cd,_0x11d0ec-0x277);}var _0x57ec3c=_0x1cb876['z']-_0x61b255['z'],_0x2e395e=Math[_0x1dafee(0x5cd,0x4b9)](_0x1a9905)*Math['cos'](_0x21d47f)*_0xcda6f+Math[_0x4b509b(0x50c,0x660)](_0x1a9905)*Math[_0x1dafee(0x5cd,0x60f)](_0x21d47f)*_0x542321-Math[_0x1dafee(0x4f2,0x426)](_0x1a9905)*_0x57ec3c,_0x4d50eb=-Math['sin'](_0x21d47f)*_0xcda6f+Math[_0x4b509b(0x431,0x3d7)](_0x21d47f)*_0x542321,_0x3a17e7=Math['cos'](_0x1a9905)*Math[_0x1dafee(0x4f2,0x4a2)](_0x21d47f)*_0xcda6f+Math['cos'](_0x1a9905)*Math[_0x1dafee(0x5cd,0x469)](_0x21d47f)*_0x542321+Math[_0x4b509b(0x50c,0x586)](_0x1a9905)*_0x57ec3c,_0x494cf3={};return _0x494cf3[_0x1dafee(0x6a4,0x764)]=_0x2e395e,_0x494cf3['topE']=_0x4d50eb,_0x494cf3['topZ']=_0x3a17e7,_0x494cf3;}function topocentricToLookAngles(_0x53476e){var _0x3d64c1=_0x53476e['topS'],_0x1ab0bf=_0x53476e['topE'],_0x8bf4c5=_0x53476e[_0x5233cd(0x8d,0x138)],_0x5b7616=Math[_0x32e819(0x67c,0x6bc)](_0x3d64c1*_0x3d64c1+_0x1ab0bf*_0x1ab0bf+_0x8bf4c5*_0x8bf4c5),_0x395ce2=Math['asin'](_0x8bf4c5/_0x5b7616),_0x58a143=Math['atan2'](-_0x1ab0bf,_0x3d64c1)+pi,_0x3c1742={};_0x3c1742[_0x5233cd(0xbf,0x192)]=_0x58a143;function _0x5233cd(_0x35d9f9,_0x49a14c){return _0x4925de(_0x35d9f9,_0x49a14c- -0x9);}function _0x32e819(_0x1a85d4,_0x1748c0){return _0x2a61be(_0x1a85d4,_0x1748c0-0x2ed);}return _0x3c1742[_0x5233cd(0x3ba,0x375)]=_0x395ce2,_0x3c1742['rangeSat']=_0x5b7616,_0x3c1742;}function ecfToLookAngles(_0x382a2b,_0x129061){var _0x497d9a=topocentric(_0x382a2b,_0x129061);return topocentricToLookAngles(_0x497d9a);}var _0x468088={};_0x468088['__proto__']=null,_0x468088['constants']=constants,_0x468088['degreesLat']=degreesLat,_0x468088['degreesLong']=degreesLong,_0x468088[_0x2a61be(0x2c0,0x19c)]=degreesToRadians,_0x468088['dopplerFactor']=dopplerFactor,_0x468088[_0x4925de(0x46c,0x362)]=ecfToEci,_0x468088['ecfToLookAngles']=ecfToLookAngles,_0x468088[_0x4925de(0x359,0x38f)]=eciToEcf,_0x468088[_0x4925de(0x3f,0x16f)]=eciToGeodetic,_0x468088[_0x2a61be(0x18a,0x2f2)]=geodeticToEcf,_0x468088[_0x2a61be(0x2d7,0x2e8)]=gstime,_0x468088[_0x4925de(0x391,0x39c)]=invjday,_0x468088[_0x2a61be(0x2b4,0x2c4)]=jday,_0x468088[_0x4925de(0x13a,0x26d)]=propagate,_0x468088[_0x2a61be(0x331,0x237)]=radiansLat,_0x468088[_0x2a61be(0x504,0x446)]=radiansLong,_0x468088['radiansToDegrees']=radiansToDegrees,_0x468088['sgp4']=sgp4,_0x468088[_0x2a61be(0x40b,0x42e)]=twoline2satrec;var satellite_es=_0x468088,require$$0=getAugmentedNamespace(satellite_es);(function(_0x47de98,_0x16704d){(function(_0x89285d,_0x1db6ef){_0x1db6ef(_0x16704d,require$$0);}(commonjsGlobal,function(_0x35130a,_0x5c185a){const _0x5eabe8=0x5265c00,_0x18cbf0=0x3e8,_0x484cad=0xea60,_0x5d3cf8={'_INT':Symbol(),'_FLOAT':Symbol(),'_CHAR':Symbol(),'_DECIMAL_ASSUMED':Symbol(),'_DECIMAL_ASSUMED_E':Symbol()};var _0x5f020f={};_0x5f020f['_ARRAY']=_0x313ed2(0x5b9,0x654),_0x5f020f[_0x58e6a3(0x569,0x6a7)]=_0x313ed2(0x58f,0x55d),_0x5f020f[_0x58e6a3(0x5e7,0x6d9)]=_0x58e6a3(0x680,0x761),_0x5f020f[_0x313ed2(0x76c,0x703)]=_0x313ed2(0x784,0x68b),_0x5f020f['_NAN']='NaN';const _0x48a2a1=_0x5f020f;function _0x313ed2(_0x44c030,_0xea3827){return _0x43df(_0xea3827-0x31c,_0x44c030);}function _0x243190(_0x5d5f4c){const _0x155589=typeof _0x5d5f4c;function _0x361a5d(_0x5c377e,_0xd3d40b){return _0x58e6a3(_0x5c377e- -0x272,_0xd3d40b);}if(Array['isArray'](_0x5d5f4c))return _0x48a2a1[_0x361a5d(0x3ad,0x329)];function _0x166c07(_0x32e7e4,_0x120d3c){return _0x58e6a3(_0x120d3c- -0x52c,_0x32e7e4);}if(_0x5d5f4c instanceof Date)return _0x48a2a1['_DATE'];if(Number['isNaN'](_0x5d5f4c))return _0x48a2a1[_0x361a5d(0x319,0x278)];return _0x155589;}const _0x384f8f=_0x234d16=>_0x234d16>=0x0,_0x17db38=_0x4abf95=>{function _0x48e54c(_0x2ee240,_0xab0a88){return _0x313ed2(_0x2ee240,_0xab0a88- -0x226);}function _0xa06e96(_0x2cc6ef,_0x53fe03){return _0x313ed2(_0x2cc6ef,_0x53fe03- -0x149);}const _0x11858d=Math['abs'](_0x4abf95);return _0x11858d[_0xa06e96(0x56b,0x507)]()[_0x48e54c(0x40d,0x2e1)];},_0x125a53=_0x46b9e4=>{const _0x5925c3=_0x17db38(_0x46b9e4),_0x1cae7c='0'['repeat'](_0x5925c3-0x1);return parseFloat(_0x46b9e4*('0.'+_0x1cae7c+'1'));},_0x2bf797=_0x5ac7d2=>{const _0x5d0985=_0x5ac7d2['substr'](0x0,_0x5ac7d2[_0x48d485(0x4fc,0x456)]-0x2),_0xf9ef6=_0x125a53(_0x5d0985),_0x261635=parseInt(_0x5ac7d2[_0x48d485(0x398,0x418)](_0x5ac7d2[_0x48d485(0x445,0x456)]-0x2,0x2),0xa);function _0x4f432e(_0x5a587d,_0x40fc34){return _0x313ed2(_0x40fc34,_0x5a587d- -0x3d5);}function _0x48d485(_0x95d8bf,_0x576866){return _0x58e6a3(_0x576866- -0xd2,_0x95d8bf);}const _0x51130e=_0xf9ef6*Math['pow'](0xa,_0x261635);return parseFloat(_0x51130e['toPrecision'](0x5));},_0x3b9467=(_0x5b6895,_0x1b22c1=new Date()['getFullYear']())=>{const _0x4ed8c9=new Date('1/1/'+_0x1b22c1+'\x200:0:0\x20Z'),_0x435c0d=_0x4ed8c9['getTime']();return Math['floor'](_0x435c0d+(_0x5b6895-0x1)*_0x5eabe8);},_0x577262=_0x4ac54e=>_0x4ac54e*(0xb4/Math['PI']);function _0x58e6a3(_0x5976c6,_0x185ad4){return _0x43df(_0x5976c6-0x33d,_0x185ad4);}const _0x240675=_0x223c36=>_0x223c36*(Math['PI']/0xb4),_0x51eb2c=(_0x23cc96,_0x2ca00f)=>{if(!_0x23cc96||!_0x2ca00f)return![];const _0x3d8e80=_0x384f8f(_0x23cc96),_0x3b6f7a=_0x384f8f(_0x2ca00f);function _0x40c8ad(_0x475f7d,_0x79328d){return _0x313ed2(_0x475f7d,_0x79328d- -0x697);}const _0x1579e1=_0x3d8e80===_0x3b6f7a;if(_0x1579e1)return![];const _0x4555ec=Math[_0x40c8ad(-0x255,-0x10e)](_0x23cc96)>0x64;return _0x4555ec;};function _0x161216(_0x57bc3c){const _0x147be3=parseInt(_0x57bc3c,0xa);return _0x147be3<0x64&&_0x147be3>0x38?_0x147be3+0x76c:_0x147be3+0x7d0;}function _0x2d1b74(_0x64d893,_0x307cde,_0x2ec6d2){function _0x313967(_0x4cc908,_0x38eb48){return _0x313ed2(_0x4cc908,_0x38eb48- -0x66a);}const {tle:_0x2c17ca}=_0x64d893,_0x3fdf01=_0x307cde===0x1?_0x2c17ca[0x0]:_0x2c17ca[0x1],{start:_0x27f26e,length:_0x264f32,type:_0x5f2bc4}=_0x2ec6d2,_0x570019=_0x3fdf01['substr'](_0x27f26e,_0x264f32);let _0x301883;switch(_0x5f2bc4){case _0x5d3cf8[_0x55f9c4(0xd5,-0x29)]:_0x301883=parseInt(_0x570019,0xa);break;case _0x5d3cf8[_0x55f9c4(0xf3,0x1fb)]:_0x301883=parseFloat(_0x570019);break;case _0x5d3cf8['_DECIMAL_ASSUMED']:_0x301883=parseFloat('0.'+_0x570019);break;case _0x5d3cf8['_DECIMAL_ASSUMED_E']:_0x301883=_0x2bf797(_0x570019);break;case _0x5d3cf8[_0x55f9c4(0x14d,0x241)]:default:_0x301883=_0x570019[_0x55f9c4(0x33,-0x137)]();break;}function _0x55f9c4(_0x129365,_0x22ef3c){return _0x58e6a3(_0x129365- -0x643,_0x22ef3c);}return _0x301883;}const _0x13a58a=_0x27aa0c=>Object[_0x313ed2(0x8e6,0x7a3)](_0x27aa0c)[_0x58e6a3(0x528,0x4af)],_0x339ead={'_TYPE':(_0x398e36='',_0x33ff9d=[],_0x11242d='')=>_0x398e36+'\x20must\x20be\x20of\x20type\x20['+_0x33ff9d['join'](',\x20')+_0x58e6a3(0x7b1,0x671)+_0x11242d+'.','_NOT_PARSED_OBJECT':'Input\x20object\x20is\x20malformed\x20(should\x20have\x20name\x20and\x20tle\x20properties).'};function _0x360256(_0x2b691c){function _0x4a0a8a(_0x2f94bc,_0x33a048){return _0x58e6a3(_0x2f94bc- -0x230,_0x33a048);}function _0x1b35e0(_0x4242e4,_0x2007cd){return _0x58e6a3(_0x4242e4- -0x4ce,_0x2007cd);}return typeof _0x2b691c===_0x48a2a1['_OBJECT']&&_0x2b691c[_0x1b35e0(0x11d,0x87)]&&_0x243190(_0x2b691c['tle'])===_0x48a2a1['_ARRAY']&&_0x2b691c[_0x1b35e0(0x11d,0x266)]['length']===0x2;}const _0x7a2859=(_0x26533f,_0x37e452)=>{function _0x30fa37(_0x2d5468,_0x23f3a7){return _0x313ed2(_0x2d5468,_0x23f3a7- -0x496);}if(_0x26533f===_0x48a2a1[_0x30fa37(0x270,0x168)])return _0x37e452['length']===0x3?_0x37e452[0x1]:_0x37e452[0x0];return _0x37e452;};let _0x5c00e8={};const _0x3b5349=()=>_0x5c00e8={},_0x1d9c04=[_0x48a2a1['_ARRAY'],_0x48a2a1['_STRING'],_0x48a2a1[_0x58e6a3(0x5e7,0x6bc)]];function _0x333f7e(_0x4b0c8d,_0x3a26ac=!![]){const _0x142f9e=_0x243190(_0x4b0c8d),_0x5cc89d={};let _0x5e89db=[];function _0x3322ee(_0x1d5ff1,_0x116f50){return _0x313ed2(_0x116f50,_0x1d5ff1-0x1d);}function _0x1d3847(_0x395fb7,_0x1a8044){return _0x313ed2(_0x1a8044,_0x395fb7- -0x2bc);}const _0x19a158=_0x360256(_0x4b0c8d);if(_0x19a158)return _0x4b0c8d;const _0x52e6e3=!_0x19a158&&_0x142f9e===_0x48a2a1[_0x1d3847(0x30a,0x430)];if(_0x52e6e3)throw new Error(_0x339ead['_NOT_PARSED_OBJECT']);const _0x46fc16=_0x7a2859(_0x142f9e,_0x4b0c8d);if(_0x5c00e8[_0x46fc16])return _0x5c00e8[_0x46fc16];if(!_0x1d9c04['includes'](_0x142f9e))throw new Error(_0x339ead['_TYPE'](_0x1d3847(0x41e,0x39b),_0x1d9c04,_0x142f9e));if(_0x142f9e===_0x48a2a1['_STRING'])_0x5e89db=_0x4b0c8d['split']('\x0a');else _0x142f9e===_0x48a2a1['_ARRAY']&&(_0x5e89db=Array['from'](_0x4b0c8d));if(_0x5e89db[_0x3322ee(0x524,0x4ca)]===0x3){let _0x157e9d=_0x5e89db[0x0][_0x1d3847(0x399,0x3a4)]();_0x5e89db=_0x5e89db['slice'](0x1),_0x157e9d[_0x1d3847(0x3e0,0x403)]('0\x20')&&(_0x157e9d=_0x157e9d['substr'](0x2)),_0x5cc89d['name']=_0x157e9d;}_0x5cc89d['tle']=_0x5e89db[_0x1d3847(0x2c5,0x3b0)](_0x21efbf=>_0x21efbf[_0x1d3847(0x399,0x2f0)]());if(!_0x3a26ac){const _0x21e47f=_0x5b27e6(_0x5cc89d['tle']);!_0x21e47f&&(_0x5cc89d['error']=_0x3322ee(0x50a,0x5ab));}return _0x5c00e8[_0x46fc16]=_0x5cc89d,_0x5cc89d;}function _0x133e8d(_0x311f05){function _0x11406a(_0x68a1ae,_0x1ef206){return _0x58e6a3(_0x1ef206- -0x59a,_0x68a1ae);}function _0x572862(_0x464f8f,_0x333dbb){return _0x58e6a3(_0x333dbb- -0x2af,_0x464f8f);}const _0x2e8803=_0x311f05['split']('');_0x2e8803['splice'](_0x2e8803[_0x572862(0x30f,0x279)]-0x1,0x1);if(_0x2e8803['length']===0x0)throw new Error('Character\x20array\x20empty!',_0x311f05);const _0x1aa46d=_0x2e8803[_0x572862(0x4f3,0x3cd)]((_0x2786ac,_0x270f95)=>{const _0x3b4b2a=parseInt(_0x270f95,0xa),_0x47d1ab=parseInt(_0x2786ac,0xa);if(Number['isInteger'](_0x3b4b2a))return _0x47d1ab+_0x3b4b2a;if(_0x270f95==='-')return _0x47d1ab+0x1;return _0x47d1ab;},0x0);return _0x1aa46d%0xa;}function _0x31acc1(_0x111aa5,_0x364fd8){const {tle:_0x5319d2}=_0x111aa5;return _0x364fd8===parseInt(_0x5319d2[_0x364fd8-0x1][0x0],0xa);}function _0x5c92a5(_0x94ed1f,_0x1a738f){const {tle:_0x55f161}=_0x94ed1f,_0x3e4f38=_0x55f161[_0x1a738f-0x1],_0xcb7ae2=parseInt(_0x3e4f38[_0x3e4f38['length']-0x1],0xa),_0x2b3287=_0x133e8d(_0x55f161[_0x1a738f-0x1]);return _0x2b3287===_0xcb7ae2;}function _0x5b27e6(_0x287c31){let _0x11fab0;try{_0x11fab0=_0x333f7e(_0x287c31);}catch(_0x5cfe67){return![];}const _0x3db28f=_0x31acc1(_0x11fab0,0x1),_0x5c26e2=_0x31acc1(_0x11fab0,0x2);if(!_0x3db28f||!_0x5c26e2)return![];const _0x4cf46e=_0x5c92a5(_0x11fab0,0x1),_0x6e24ea=_0x5c92a5(_0x11fab0,0x2);if(!_0x4cf46e||!_0x6e24ea)return![];return!![];}var _0xd7f8f7={};_0xd7f8f7[_0x58e6a3(0x53b,0x484)]=0x0,_0xd7f8f7['length']=0x1,_0xd7f8f7[_0x313ed2(0x494,0x5c0)]=_0x5d3cf8[_0x58e6a3(0x718,0x65a)];const _0x329d79=_0xd7f8f7;var _0x11d315={};_0x11d315[_0x313ed2(0x614,0x51a)]=0x2,_0x11d315['length']=0x5,_0x11d315[_0x58e6a3(0x5e1,0x616)]=_0x5d3cf8[_0x58e6a3(0x718,0x6c2)];const _0x316c6c=_0x11d315;var _0x5df5a8={};_0x5df5a8[_0x58e6a3(0x53b,0x564)]=0x7,_0x5df5a8['length']=0x1,_0x5df5a8['type']=_0x5d3cf8['_CHAR'];const _0x203a2f=_0x5df5a8;var _0x4fb8bf={};_0x4fb8bf['start']=0x9,_0x4fb8bf['length']=0x2,_0x4fb8bf[_0x58e6a3(0x5e1,0x725)]=_0x5d3cf8[_0x313ed2(0x5ee,0x6f7)];const _0x3bc5ea=_0x4fb8bf;var _0x3ca7fe={};_0x3ca7fe['start']=0xb,_0x3ca7fe['length']=0x3,_0x3ca7fe['type']=_0x5d3cf8[_0x313ed2(0x5b5,0x6f7)];const _0x4745cb=_0x3ca7fe;var _0x5e413b={};_0x5e413b['start']=0xe,_0x5e413b['length']=0x3,_0x5e413b[_0x58e6a3(0x5e1,0x616)]=_0x5d3cf8['_CHAR'];const _0x303885=_0x5e413b;var _0x188f08={};_0x188f08['start']=0x12,_0x188f08['length']=0x2,_0x188f08['type']=_0x5d3cf8['_INT'];const _0x330fe1=_0x188f08;var _0x289083={};_0x289083['start']=0x14,_0x289083[_0x58e6a3(0x528,0x616)]=0xc,_0x289083['type']=_0x5d3cf8[_0x313ed2(0x751,0x715)];const _0xafe5b7=_0x289083;var _0x6c24ea={};_0x6c24ea[_0x313ed2(0x4e8,0x51a)]=0x21,_0x6c24ea['length']=0xb,_0x6c24ea['type']=_0x5d3cf8['_FLOAT'];const _0x19687d=_0x6c24ea;var _0x5136fc={};_0x5136fc['start']=0x2c,_0x5136fc[_0x58e6a3(0x528,0x50c)]=0x8,_0x5136fc['type']=_0x5d3cf8[_0x313ed2(0x7c8,0x671)];const _0x412693=_0x5136fc;var _0x17323a={};_0x17323a['start']=0x35,_0x17323a[_0x313ed2(0x431,0x507)]=0x8,_0x17323a['type']=_0x5d3cf8[_0x313ed2(0x660,0x671)];const _0x3963ac=_0x17323a;var _0x4a34dc={};_0x4a34dc[_0x58e6a3(0x53b,0x46d)]=0x3e,_0x4a34dc['length']=0x1,_0x4a34dc['type']=_0x5d3cf8['_INT'];const _0x293461=_0x4a34dc;var _0x453164={};_0x453164['start']=0x40,_0x453164['length']=0x4,_0x453164['type']=_0x5d3cf8[_0x313ed2(0x669,0x6f7)];const _0x5ab9bb=_0x453164;var _0x1fd7e6={};_0x1fd7e6[_0x313ed2(0x50a,0x51a)]=0x44,_0x1fd7e6['length']=0x1,_0x1fd7e6['type']=_0x5d3cf8['_INT'];const _0x2e8db0=_0x1fd7e6;function _0x2f3b47(_0x1f7dc5,_0x3045ae,_0xc50ea=![]){const _0x2ab9a8=_0xc50ea?_0x1f7dc5:_0x333f7e(_0x1f7dc5);return _0x2d1b74(_0x2ab9a8,0x1,_0x3045ae);}function _0x24eabb(_0x1d697c,_0x158d9c){return _0x2f3b47(_0x1d697c,_0x329d79,_0x158d9c);}function _0x4c9a9b(_0x228bc5,_0x337d9a){return _0x2f3b47(_0x228bc5,_0x316c6c,_0x337d9a);}function _0x156171(_0x4e18b2,_0x57490b){return _0x2f3b47(_0x4e18b2,_0x203a2f,_0x57490b);}function _0x148040(_0x28bf1e,_0x3bfd05){return _0x2f3b47(_0x28bf1e,_0x3bc5ea,_0x3bfd05);}function _0x263ab2(_0x3a0028,_0x4c7b93){return _0x2f3b47(_0x3a0028,_0x4745cb,_0x4c7b93);}function _0x57451e(_0x4183ec,_0x223f18){return _0x2f3b47(_0x4183ec,_0x303885,_0x223f18);}function _0x11a0cd(_0x29d751,_0x30f6f4){return _0x2f3b47(_0x29d751,_0x330fe1,_0x30f6f4);}function _0xe0187c(_0xed05ec,_0x56b69d){return _0x2f3b47(_0xed05ec,_0xafe5b7,_0x56b69d);}function _0x2e4c97(_0x2317fc,_0x2ae821){return _0x2f3b47(_0x2317fc,_0x19687d,_0x2ae821);}function _0x2b3e47(_0x66411d,_0x191a0b){return _0x2f3b47(_0x66411d,_0x412693,_0x191a0b);}function _0x417c42(_0x33c0f4,_0x80b43d){return _0x2f3b47(_0x33c0f4,_0x3963ac,_0x80b43d);}function _0x1e6347(_0x2d67e1,_0x272b71){return _0x2f3b47(_0x2d67e1,_0x293461,_0x272b71);}function _0x25c7c1(_0x513ba2,_0x364f4f){return _0x2f3b47(_0x513ba2,_0x5ab9bb,_0x364f4f);}function _0x3bbdc9(_0x475c42,_0x313a2a){return _0x2f3b47(_0x475c42,_0x2e8db0,_0x313a2a);}var _0x5bd125={};_0x5bd125[_0x58e6a3(0x53b,0x4c2)]=0x0,_0x5bd125[_0x313ed2(0x66c,0x507)]=0x1,_0x5bd125['type']=_0x5d3cf8['_INT'];const _0x33d9d0=_0x5bd125;var _0x39ef7d={};_0x39ef7d['start']=0x2,_0x39ef7d[_0x313ed2(0x531,0x507)]=0x5,_0x39ef7d['type']=_0x5d3cf8['_INT'];const _0x2960c0=_0x39ef7d;var _0x202292={};_0x202292[_0x313ed2(0x419,0x51a)]=0x8,_0x202292['length']=0x8,_0x202292[_0x313ed2(0x4f5,0x5c0)]=_0x5d3cf8[_0x313ed2(0x77b,0x715)];const _0x47790e=_0x202292;var _0x23bb14={};_0x23bb14['start']=0x11,_0x23bb14['length']=0x8,_0x23bb14['type']=_0x5d3cf8[_0x313ed2(0x729,0x715)];const _0x1aef2c=_0x23bb14;var _0x510db6={};_0x510db6['start']=0x1a,_0x510db6[_0x58e6a3(0x528,0x63d)]=0x7,_0x510db6[_0x313ed2(0x515,0x5c0)]=_0x5d3cf8['_DECIMAL_ASSUMED'];const _0x1f8d1b=_0x510db6;var _0x460e50={};_0x460e50[_0x313ed2(0x674,0x51a)]=0x22,_0x460e50['length']=0x8,_0x460e50[_0x58e6a3(0x5e1,0x598)]=_0x5d3cf8[_0x313ed2(0x67d,0x715)];const _0x4400e1=_0x460e50;var _0x922ce8={};_0x922ce8['start']=0x2b,_0x922ce8['length']=0x8,_0x922ce8['type']=_0x5d3cf8[_0x58e6a3(0x736,0x6d3)];const _0x143de8=_0x922ce8;var _0x626646={};_0x626646['start']=0x34,_0x626646[_0x313ed2(0x568,0x507)]=0xb,_0x626646['type']=_0x5d3cf8[_0x313ed2(0x850,0x715)];const _0x19da53=_0x626646;var _0x9519fa={};_0x9519fa['start']=0x3f,_0x9519fa[_0x58e6a3(0x528,0x5b1)]=0x5,_0x9519fa[_0x58e6a3(0x5e1,0x6b7)]=_0x5d3cf8['_INT'];const _0x2dd7b3=_0x9519fa;var _0x1ba7c1={};_0x1ba7c1['start']=0x44,_0x1ba7c1['length']=0x1,_0x1ba7c1[_0x58e6a3(0x5e1,0x4f8)]=_0x5d3cf8['_INT'];const _0x350210=_0x1ba7c1;function _0x39b9a8(_0x5a820d,_0x50ea0c,_0x5b1335=![]){const _0x5ccd40=_0x5b1335?_0x5a820d:_0x333f7e(_0x5a820d);return _0x2d1b74(_0x5ccd40,0x2,_0x50ea0c);}function _0x30e752(_0x50e493,_0x2d9866){return _0x39b9a8(_0x50e493,_0x33d9d0,_0x2d9866);}function _0x257f45(_0x43698b,_0x1fdd35){return _0x39b9a8(_0x43698b,_0x2960c0,_0x1fdd35);}function _0x507bc7(_0x2640a3,_0xede8ce){return _0x39b9a8(_0x2640a3,_0x47790e,_0xede8ce);}function _0x2bc695(_0x3a2475,_0x1b7bc1){return _0x39b9a8(_0x3a2475,_0x1aef2c,_0x1b7bc1);}function _0x529408(_0x1f535d,_0x49a0c2){return _0x39b9a8(_0x1f535d,_0x1f8d1b,_0x49a0c2);}function _0x2eb952(_0x495e07,_0x1c0182){return _0x39b9a8(_0x495e07,_0x4400e1,_0x1c0182);}function _0x46b96c(_0x56c9db,_0x55d03f){return _0x39b9a8(_0x56c9db,_0x143de8,_0x55d03f);}function _0x3c07df(_0x4967fc,_0x2881a9){return _0x39b9a8(_0x4967fc,_0x19da53,_0x2881a9);}function _0x55f633(_0x415e0c,_0x6e6322){return _0x39b9a8(_0x415e0c,_0x2dd7b3,_0x6e6322);}function _0x110c95(_0x59c496,_0x41a27f){return _0x39b9a8(_0x59c496,_0x350210,_0x41a27f);}function _0x43fb74(_0x4f6ba0,_0x5c1d1a){const _0x469e99=_0x148040(_0x4f6ba0,_0x5c1d1a),_0x375cb7=_0x161216(_0x469e99),_0x33bc50=_0x263ab2(_0x4f6ba0,_0x5c1d1a),_0x1b95a1=_0x33bc50['toString']()['padStart'](0x3,0x0),_0x173f24=_0x57451e(_0x4f6ba0,_0x5c1d1a);return _0x375cb7+'-'+_0x1b95a1+_0x173f24;}function _0x15ed0d(_0x3e55ea,_0x596df9=![]){const _0x3e0ce4=_0x333f7e(_0x3e55ea),{name:_0x3312c9}=_0x3e0ce4;return _0x596df9?_0x3312c9||_0x43fb74(_0x3e0ce4,!![]):_0x3312c9||'Unknown';}function _0x4adbaf(_0x102877){const _0x26cc0d=_0xe0187c(_0x102877),_0x470d23=_0x11a0cd(_0x102877);return _0x3b9467(_0x26cc0d,_0x470d23);}function _0x25a89a(_0x3397c5){return parseInt(_0x5eabe8/_0x3c07df(_0x3397c5),0xa);}function _0x130eae(_0x559649){return _0x25a89a(_0x559649)/_0x484cad;}function _0x306897(_0x31e557){return _0x25a89a(_0x31e557)/_0x18cbf0;}var _0x287661={};_0x287661['_DEFAULT']=_0x58e6a3(0x74c,0x744),_0x287661['1']='Mean\x20elements,\x20ecc\x20>=\x201.0\x20or\x20ecc\x20<\x20-0.001\x20or\x20a\x20<\x200.95\x20er',_0x287661['2']='Mean\x20motion\x20less\x20than\x200.0',_0x287661['3']='Pert\x20elements,\x20ecc\x20<\x200.0\x20\x20or\x20\x20ecc\x20>\x201.0',_0x287661['4']=_0x58e6a3(0x79a,0x824),_0x287661['5']='Epoch\x20elements\x20are\x20sub-orbital',_0x287661['6']=_0x58e6a3(0x64f,0x53b);const _0x57bfca=_0x287661;let _0x3bdc76={},_0x2d66d0={},_0x142da5={},_0x5bd33b={};const _0x4b6ac4=[_0x3bdc76,_0x2d66d0,_0x142da5,_0x5bd33b];function _0x3e6f52(){function _0x2e1f1a(_0x57677b,_0x491dbf){return _0x58e6a3(_0x491dbf- -0x17c,_0x57677b);}return _0x4b6ac4[_0x2e1f1a(0x461,0x426)](_0x13a58a);}function _0x48cc2c(){_0x4b6ac4['forEach'](_0x1749c9=>{Object['keys'](_0x1749c9)['forEach'](_0x2da349=>delete _0x1749c9[_0x2da349]);});}function _0x1eb957(_0x18ceb8,_0x48f0b1,_0xe9e69,_0x293fd1,_0x7128d7){const _0x3c5281=_0x48f0b1||Date['now'](),{tle:_0x44d2ca,error:_0x4f4009}=_0x333f7e(_0x18ceb8);if(_0x4f4009)throw new Error(_0x4f4009);var _0x1d797c={};_0x1d797c['lat']=36.9613422,_0x1d797c['lng']=-122.0308,_0x1d797c['height']=0.37;const _0x471702=_0x1d797c;function _0xe9adc9(_0x1b06b7,_0x7784be){return _0x58e6a3(_0x1b06b7- -0x1f,_0x7784be);}const _0x1523a2=_0xe9e69||_0x471702[_0xe9adc9(0x78b,0x7b7)],_0x3be59b=_0x293fd1||_0x471702['lng'],_0x4ddd96=_0x7128d7||_0x471702[_0xe9adc9(0x592,0x6b0)],_0x362182=_0x44d2ca[0x0]+'-'+_0x3c5281+'-'+_0xe9e69+'-'+_0x293fd1+'\x0a-'+_0x7128d7;if(_0x3bdc76[_0x362182])return _0x3bdc76[_0x362182];const _0x4c35d1=_0x5c185a[_0x1f53b9(0x6a7,0x771)](_0x44d2ca[0x0],_0x44d2ca[0x1]);if(_0x4c35d1['error'])throw new Error(_0x57bfca[_0x4c35d1['error']]||_0x57bfca['_DEFAULT']);const _0x1b42fa=new Date(_0x3c5281),_0x216468=_0x5c185a['propagate'](_0x4c35d1,_0x1b42fa),_0x1c9156=_0x216468['position'],_0x2f5ac2=_0x216468['velocity'],_0x3cf37b={'latitude':_0x240675(_0x1523a2),'longitude':_0x240675(_0x3be59b),'height':_0x4ddd96},_0x167f84=_0x5c185a['gstime'](_0x1b42fa),_0x2fb21d=_0x5c185a['eciToEcf'](_0x1c9156,_0x167f84);function _0x1f53b9(_0x459ae5,_0x47600c){return _0x313ed2(_0x47600c,_0x459ae5- -0xce);}const _0x37e555=_0x5c185a['eciToGeodetic'](_0x1c9156,_0x167f84),_0x12f63f=_0x5c185a['ecfToLookAngles'](_0x3cf37b,_0x2fb21d),_0xcbca7d=Math['sqrt'](Math[_0x1f53b9(0x43f,0x472)](_0x2f5ac2['x'],0x2)+Math['pow'](_0x2f5ac2['y'],0x2)+Math['pow'](_0x2f5ac2['z'],0x2)),{azimuth:_0x1cf15a,elevation:_0x157bc9,rangeSat:_0x19a990}=_0x12f63f,{longitude:_0x2ff8d6,latitude:_0x52ae77,height:_0x186594}=_0x37e555,_0x3dc091={'lng':_0x5c185a['degreesLong'](_0x2ff8d6),'lat':_0x5c185a['degreesLat'](_0x52ae77),'elevation':_0x577262(_0x157bc9),'azimuth':_0x577262(_0x1cf15a),'range':_0x19a990,'height':_0x186594,'velocity':_0xcbca7d};return _0x3bdc76[_0x362182]=_0x3dc091,_0x3dc091;}function _0x32036c(_0xf821fd,_0x393fc1){const {tle:_0x530845}=_0xf821fd,_0xdd8bd3=_0x130eae(_0x530845)*0x3c*0x3e8,_0x519cfa=_0x530845[0x0]['substr'](0x0,0x1e),_0x3ca4d0=_0x2d66d0[_0x519cfa];if(!_0x3ca4d0)return![];function _0x24ddb9(_0x825ba5,_0x28a1cb){return _0x313ed2(_0x825ba5,_0x28a1cb- -0x611);}if(_0x3ca4d0===-0x1)return _0x3ca4d0;const _0x5b8a5c=_0x3ca4d0[_0x24ddb9(0x10a,0x172)](_0x1833a1=>{if(typeof _0x1833a1==='object'&&_0x1833a1[_0x30ef16(0x1a1,0x140)]===_0x530845)return-0x1;const _0x42f425=_0x393fc1-_0x1833a1,_0x19816f=_0x42f425>0x0;function _0x30ef16(_0x2b61e2,_0x135625){return _0x24ddb9(_0x2b61e2,_0x135625-0x187);}const _0x3de787=_0x19816f&&_0x42f425<_0xdd8bd3;return _0x3de787;});return _0x5b8a5c[0x0]||![];}function _0x18e65e(_0x4736f5,_0x400bbf){const _0x1bbe73=_0x333f7e(_0x4736f5),{tle:_0x2d90bc}=_0x1bbe73,_0x541a66=_0x32036c(_0x1bbe73,_0x400bbf);if(_0x541a66)return _0x541a66;const _0x436b01=_0x400bbf||Date[_0x27a272(0x42c,0x372)]();let _0x4d524b=0x3e8*0x3c*0x3,_0xf198e6=[],_0x5c20d1=[],_0x1ebb6e=_0x436b01,_0x231aad=![],_0xd4e85b=0x0,_0x38dc90=![];function _0x1815c9(_0x177a60,_0x491335){return _0x58e6a3(_0x177a60- -0x62c,_0x491335);}const _0x10b00d=0x3e8;while(!_0x38dc90){_0xf198e6=_0x3212fd(_0x2d90bc,_0x1ebb6e);const [_0x10abc4]=_0xf198e6;_0x231aad=_0x51eb2c(_0x5c20d1[0x0],_0x10abc4),_0x231aad?(_0x1ebb6e+=_0x4d524b,_0x4d524b=_0x4d524b/0x2):(_0x1ebb6e-=_0x4d524b,_0x5c20d1=_0xf198e6),_0x38dc90=_0x4d524b<0x1f4||_0xd4e85b>=_0x10b00d,_0xd4e85b++;}const _0x2e10e7=_0xd4e85b-0x1===_0x10b00d;function _0x27a272(_0x4a1c26,_0x23c946){return _0x313ed2(_0x4a1c26,_0x23c946- -0x37f);}const _0x37dbe1=_0x2e10e7?-0x1:parseInt(_0x1ebb6e,0xa),_0xaa86dc=_0x2d90bc[0x0];return!_0x2d66d0[_0xaa86dc]&&(_0x2d66d0[_0xaa86dc]=[]),_0x2e10e7?_0x2d66d0[_0xaa86dc]=-0x1:_0x2d66d0[_0xaa86dc][_0x27a272(0x111,0x1ed)](_0x37dbe1),_0x37dbe1;}function _0x471245(_0x4ada1c,_0x3363e3=Date[_0x58e6a3(0x712,0x7c1)]()){const {lat:_0x1ebb9a,lng:_0x3bc61f}=_0x1eb957(_0x4ada1c,_0x3363e3);function _0x6f6f0(_0x1b3e9a,_0x15cc2d){return _0x313ed2(_0x1b3e9a,_0x15cc2d- -0x2c1);}var _0x2f9887={};_0x2f9887[_0x6f6f0(0x50e,0x4c8)]=_0x1ebb9a;function _0x38aa63(_0x52d3ea,_0x3ff7c6){return _0x58e6a3(_0x52d3ea- -0x32,_0x3ff7c6);}return _0x2f9887[_0x38aa63(0x55c,0x4aa)]=_0x3bc61f,_0x2f9887;}function _0x3212fd(_0x3ed545,_0x38b709=Date['now']()){const {lat:_0x33fbad,lng:_0x38e90b}=_0x1eb957(_0x3ed545,_0x38b709);return[_0x38e90b,_0x33fbad];}function _0x2a4cbb(_0x3ff2d5){return _0x3212fd(_0x3ff2d5,_0x4adbaf(_0x3ff2d5));}function _0x27c18a({observerLat:_0x399153,observerLng:_0x22a070,observerHeight:observerHeight=0x0,tles:tles=[],elevationThreshold:elevationThreshold=0x0,timestampMS:timestampMS=Date[_0x58e6a3(0x712,0x5d1)]()}){return tles['reduce']((_0x3fd658,_0x2af3cf)=>{function _0x18c80d(_0x5f08e0,_0x1c0940){return _0x43df(_0x5f08e0-0x3c2,_0x1c0940);}let _0x3b42a1;try{_0x3b42a1=_0x1eb957(_0x2af3cf,timestampMS,_0x399153,_0x22a070,observerHeight);}catch(_0x44f2e3){return _0x3fd658;}const {elevation:_0x12c403,velocity:_0x1c0897,range:_0x41ac67}=_0x3b42a1;var _0x5060c1={};return _0x5060c1['tleArr']=_0x2af3cf,_0x5060c1['info']=_0x3b42a1,_0x12c403>=elevationThreshold?_0x3fd658[_0x18c80d(0x602,0x6dd)](_0x5060c1):_0x3fd658;},[]);}function*_0x2168a1(_0x326149,_0x44eb65,_0x3d540e){let _0x2fbf40=_0x44eb65-_0x3d540e;while(!![]){_0x2fbf40+=_0x3d540e,yield{'curTimeMS':_0x2fbf40,'lngLat':_0x3212fd(_0x326149,_0x2fbf40)};}}function _0x231d24(_0x30d567){return new Promise(_0x3a8c33=>setTimeout(_0x3a8c33,_0x30d567));}async function _0x4e0df1({tle:_0x1e1163,startTimeMS:startTimeMS=Date[_0x58e6a3(0x712,0x807)](),stepMS:stepMS=0x3e8,sleepMS:sleepMS=0x0,jobChunkSize:jobChunkSize=0x3e8,maxTimeMS:_0x2bafe9,isLngLatFormat:isLngLatFormat=!![]}){const {tle:_0xbecc7f}=_0x333f7e(_0x1e1163);_0x2bafe9??=_0x25a89a(_0xbecc7f)*1.5;const _0x5161b9=(startTimeMS/0x3e8)[_0x30311e(0x236,0x315)](),_0xddfc29=_0xbecc7f[0x0]+'-'+_0x5161b9+'-'+stepMS+'-'+isLngLatFormat;if(_0x142da5[_0xddfc29])return _0x142da5[_0xddfc29];const _0x3d8474=_0x2168a1(_0xbecc7f,startTimeMS,stepMS);let _0xf9455=0x0,_0x322ea0=![],_0x58d4d3=[],_0x461566;while(!_0x322ea0){const {curTimeMS:_0x1202bd,lngLat:_0x3196ad}=_0x3d8474['next']()[_0x30580f(0x1a6,0x2ec)],[_0x2de7ae,_0x3a9617]=_0x3196ad,_0x7788b6=_0x51eb2c(_0x461566,_0x2de7ae),_0x23bae2=_0x2bafe9&&_0x1202bd-startTimeMS>_0x2bafe9;_0x322ea0=_0x7788b6||_0x23bae2;if(_0x322ea0)break;isLngLatFormat?_0x58d4d3['push'](_0x3196ad):_0x58d4d3['push']([_0x3a9617,_0x2de7ae]),sleepMS&&_0xf9455%jobChunkSize===0x0&&await _0x231d24(sleepMS),_0x461566=_0x2de7ae,_0xf9455++;}function _0x30311e(_0x335a80,_0x23f67e){return _0x313ed2(_0x23f67e,_0x335a80- -0x3a9);}_0x142da5[_0xddfc29]=_0x58d4d3;function _0x30580f(_0xa1aa43,_0x2a38a6){return _0x313ed2(_0xa1aa43,_0x2a38a6- -0x4a6);}return _0x58d4d3;}function _0x32e05d({tle:_0x65bdc8,startTimeMS:startTimeMS=Date[_0x58e6a3(0x712,0x7c3)](),stepMS:stepMS=0x3e8,maxTimeMS:maxTimeMS=0x5b8d80,isLngLatFormat:isLngLatFormat=!![]}){function _0x2d6070(_0x3ec38e,_0x3761c4){return _0x58e6a3(_0x3761c4- -0x38f,_0x3ec38e);}const {tle:_0x1e3244}=_0x333f7e(_0x65bdc8),_0x59df66=(startTimeMS/0x3e8)['toFixed'](),_0x57e1d8=_0x1e3244[0x0]+'-'+_0x59df66+'-'+stepMS+'-'+isLngLatFormat;if(_0x142da5[_0x57e1d8])return _0x142da5[_0x57e1d8];let _0x1b8727=![],_0x26d80e=[],_0x5e8067,_0x11eb4f=startTimeMS;while(!_0x1b8727){const _0x57902c=_0x3212fd(_0x1e3244,_0x11eb4f),[_0x102a1e,_0x4a08c7]=_0x57902c,_0x3bdfea=_0x51eb2c(_0x5e8067,_0x102a1e),_0x3b04c9=maxTimeMS&&_0x11eb4f-startTimeMS>maxTimeMS;_0x1b8727=_0x3bdfea||_0x3b04c9;if(_0x1b8727)break;isLngLatFormat?_0x26d80e['push'](_0x57902c):_0x26d80e[_0x2d6070(0x276,0x1fe)]([_0x4a08c7,_0x102a1e]),_0x5e8067=_0x102a1e,_0x11eb4f+=stepMS;}return _0x142da5[_0x57e1d8]=_0x26d80e,_0x26d80e;}function _0x468c3f({tle:_0x5d95af,startTimeMS:startTimeMS=Date['now'](),stepMS:stepMS=0x3e8,isLngLatFormat:isLngLatFormat=!![]}){const _0x1bee9a=_0x333f7e(_0x5d95af);function _0x344970(_0x375a6c,_0x292122){return _0x313ed2(_0x292122,_0x375a6c- -0x3f);}const _0x4220a3=_0x25a89a(_0x1bee9a),_0x328fc3=_0x18e65e(_0x1bee9a,startTimeMS),_0x5ea9bb=_0x328fc3!==-0x1;if(!_0x5ea9bb){var _0x188b15={};return _0x188b15[_0x344970(0x58b,0x4e5)]=_0x1bee9a,_0x188b15[_0x1913c2(-0x5f,-0x3a)]=startTimeMS,_0x188b15['stepMS']=_0x484cad,_0x188b15[_0x1913c2(0x1b5,0xbd)]=_0x5eabe8/0x4,_0x188b15['isLngLatFormat']=isLngLatFormat,Promise['all']([_0x4e0df1(_0x188b15)]);}const _0x52b526=_0x4220a3/0x5,_0x224efd=_0x18e65e(_0x1bee9a,_0x328fc3-_0x52b526),_0x3973a7=_0x18e65e(_0x1bee9a,_0x328fc3+_0x4220a3+_0x52b526);var _0x21ed0e={};function _0x1913c2(_0xa0d721,_0x3186f4){return _0x58e6a3(_0x3186f4- -0x5ce,_0xa0d721);}_0x21ed0e['tle']=_0x1bee9a,_0x21ed0e['startTimeMS']=_0x224efd,_0x21ed0e[_0x344970(0x69a,0x7a1)]=stepMS,_0x21ed0e['isLngLatFormat']=isLngLatFormat;var _0x10386e={};_0x10386e[_0x1913c2(0x7a,0x1d)]=_0x1bee9a,_0x10386e['startTimeMS']=_0x328fc3,_0x10386e[_0x1913c2(0x141,0x12c)]=stepMS,_0x10386e['isLngLatFormat']=isLngLatFormat;var _0x1425a5={};_0x1425a5['tle']=_0x1bee9a,_0x1425a5[_0x344970(0x534,0x5f4)]=_0x3973a7,_0x1425a5[_0x344970(0x69a,0x666)]=stepMS,_0x1425a5[_0x344970(0x5c2,0x5ec)]=isLngLatFormat;const _0x519771=[_0x4e0df1(_0x21ed0e),_0x4e0df1(_0x10386e),_0x4e0df1(_0x1425a5)];return Promise[_0x1913c2(-0x92,-0x3c)](_0x519771);}function _0xd9b768({tle:_0x47a27a,stepMS:stepMS=0x3e8,optionalTimeMS:optionalTimeMS=Date['now'](),isLngLatFormat:isLngLatFormat=!![]}){const _0x31e164=_0x333f7e(_0x47a27a),{tle:_0x4fed2c}=_0x31e164,_0x47a4c8=_0x25a89a(_0x4fed2c),_0xb7abca=_0x18e65e(_0x31e164,optionalTimeMS),_0x5872f5=_0xb7abca!==-0x1;if(!_0x5872f5){var _0x5dad13={};_0x5dad13['tle']=_0x31e164,_0x5dad13['startTimeMS']=optionalTimeMS,_0x5dad13['stepMS']=_0x484cad,_0x5dad13['maxTimeMS']=_0x5eabe8/0x4;const _0x27ad6a=_0x32e05d(_0x5dad13);return _0x27ad6a;}const _0x334f9e=_0x47a4c8/0x5,_0x40ca44=_0x18e65e(_0x31e164,_0xb7abca-_0x334f9e);function _0x5386e1(_0x3b85bb,_0x1ad1e6){return _0x313ed2(_0x1ad1e6,_0x3b85bb- -0x2c7);}const _0xfef925=_0x18e65e(_0x31e164,_0xb7abca+_0x47a4c8+_0x334f9e),_0x2aa283=[_0x40ca44,_0xb7abca,_0xfef925],_0x24041b=_0x2aa283[_0x5386e1(0x2ba,0x220)](_0x194e68=>{function _0x58a667(_0x468d75,_0x5cceb8){return _0x5386e1(_0x468d75- -0x402,_0x5cceb8);}var _0x8dd63d={};return _0x8dd63d['tle']=_0x31e164,_0x8dd63d[_0x58a667(-0x156,-0x1d5)]=_0x194e68,_0x8dd63d['stepMS']=stepMS,_0x8dd63d['isLngLatFormat']=isLngLatFormat,_0x32e05d(_0x8dd63d);});return _0x24041b;}function _0x4dd7c4(_0x19a5ac,_0x17e0f3=Date['now']()){const _0x525746=this['parseTLE'](_0x19a5ac);function _0x1905c2(_0x45d90f,_0x4b5ad3){return _0x58e6a3(_0x45d90f- -0x478,_0x4b5ad3);}const _0x747c6f=this['getLatLonArr'](_0x525746['arr'],_0x17e0f3),_0x25c1ea=this['getLatLonArr'](_0x525746[_0x22a4df(-0x78,0x55)],_0x17e0f3+0x2710),_0x4601bd=_0x51eb2c(_0x747c6f[0x1],_0x25c1ea[0x1]);if(_0x4601bd)return{};const _0x197f08=_0x240675(_0x747c6f[0x0]),_0x4ff416=_0x240675(_0x25c1ea[0x0]);function _0x22a4df(_0x3ee8de,_0x2d7c83){return _0x313ed2(_0x3ee8de,_0x2d7c83- -0x5a7);}const _0x1ca629=_0x240675(_0x747c6f[0x1]),_0x4dad1=_0x240675(_0x25c1ea[0x1]),_0x5290be=_0x197f08>=_0x4ff416?'S':'N',_0x1a491c=_0x1ca629>=_0x4dad1?'W':'E',_0x39b3d4=Math[_0x1905c2(0x185,0x2a9)](_0x4dad1-_0x1ca629)*Math['cos'](_0x4ff416),_0x8e40fc=Math['cos'](_0x197f08)*Math['sin'](_0x4ff416)-Math['sin'](_0x197f08)*Math['cos'](_0x4ff416)*Math[_0x1905c2(0xaa,0x212)](_0x4dad1-_0x1ca629),_0x194649=_0x577262(Math['atan2'](_0x39b3d4,_0x8e40fc));var _0x5b676c={};return _0x5b676c['degrees']=_0x194649,_0x5b676c['compass']=''+_0x5290be+_0x1a491c,_0x5b676c;}_0x35130a[_0x58e6a3(0x5e2,0x6a1)]=_0x48cc2c,_0x35130a['clearTLEParseCache']=_0x3b5349,_0x35130a['computeChecksum']=_0x133e8d,_0x35130a['getAverageOrbitTimeMS']=_0x25a89a,_0x35130a[_0x58e6a3(0x682,0x588)]=_0x130eae,_0x35130a['getAverageOrbitTimeS']=_0x306897,_0x35130a['getBstarDrag']=_0x417c42,_0x35130a[_0x313ed2(0x3b6,0x4d2)]=_0x43fb74,_0x35130a[_0x313ed2(0x4a4,0x54b)]=_0x3e6f52,_0x35130a['getCatalogNumber']=_0x4c9a9b,_0x35130a['getCatalogNumber1']=_0x4c9a9b,_0x35130a['getCatalogNumber2']=_0x257f45,_0x35130a[_0x58e6a3(0x5f6,0x513)]=_0x3bbdc9,_0x35130a[_0x313ed2(0x61e,0x529)]=_0x110c95,_0x35130a['getClassification']=_0x156171,_0x35130a['getEccentricity']=_0x529408,_0x35130a[_0x58e6a3(0x612,0x501)]=_0xe0187c,_0x35130a['getEpochTimestamp']=_0x4adbaf,_0x35130a['getEpochYear']=_0x11a0cd,_0x35130a['getFirstTimeDerivative']=_0x2e4c97,_0x35130a['getGroundTracks']=_0x468c3f,_0x35130a['getGroundTracksSync']=_0xd9b768,_0x35130a[_0x58e6a3(0x6de,0x828)]=_0x507bc7,_0x35130a[_0x313ed2(0x670,0x77e)]=_0x263ab2,_0x35130a['getIntDesignatorPieceOfLaunch']=_0x57451e,_0x35130a['getIntDesignatorYear']=_0x148040,_0x35130a['getLastAntemeridianCrossingTimeMS']=_0x18e65e,_0x35130a['getLatLngObj']=_0x471245,_0x35130a['getLineNumber1']=_0x24eabb,_0x35130a['getLineNumber2']=_0x30e752,_0x35130a[_0x313ed2(0x660,0x4fe)]=_0x2a4cbb,_0x35130a[_0x58e6a3(0x73a,0x87b)]=_0x46b96c,_0x35130a[_0x313ed2(0x55d,0x5c5)]=_0x3c07df,_0x35130a[_0x313ed2(0x599,0x698)]=_0x1e6347,_0x35130a['getOrbitTrack']=_0x4e0df1,_0x35130a['getOrbitTrackSync']=_0x32e05d,_0x35130a[_0x313ed2(0x5f8,0x61a)]=_0x2eb952,_0x35130a[_0x58e6a3(0x76b,0x872)]=_0x55f633,_0x35130a['getRightAscension']=_0x2bc695,_0x35130a[_0x58e6a3(0x617,0x715)]=_0x4dd7c4,_0x35130a[_0x313ed2(0x614,0x59d)]=_0x1eb957,_0x35130a['getSatelliteName']=_0x15ed0d,_0x35130a['getSecondTimeDerivative']=_0x2b3e47,_0x35130a['getTleSetNumber']=_0x25c7c1,_0x35130a['getVisibleSatellites']=_0x27c18a,_0x35130a[_0x58e6a3(0x55d,0x463)]=_0x5b27e6,_0x35130a[_0x58e6a3(0x510,0x4db)]=_0x333f7e;var _0x3022a4={};_0x3022a4['value']=!![],Object[_0x313ed2(0x534,0x549)](_0x35130a,'__esModule',_0x3022a4);}));}(tlejs_umd$1,tlejs_umd$1[_0x2a61be(0x2fd,0x389)]));var tlejs_umd=getDefaultExportFromCjs(tlejs_umd$1['exports']),_0x2a6c73={};_0x2a6c73['__proto__']=null,_0x2a6c73[_0x4925de(0x29c,0x2a1)]=tlejs_umd;var tle=_mergeNamespaces(_0x2a6c73,[tlejs_umd$1['exports']]);const Cesium$b=mars3d__namespace[_0x4925de(0x1fe,0x226)];class Tle{constructor(_0xd10f1,_0x472d1d,_0x77cb1f){this['tle1']=_0xd10f1,this[_0x80b221(0x72d,0x66e)]=_0x472d1d;function _0x80b221(_0xd5935b,_0x42e582){return _0x4925de(_0xd5935b,_0x42e582-0x3b9);}this[_0x281ee0(0x33a,0x24d)]=_0x77cb1f||'',this['_satrec']=twoline2satrec$1(_0xd10f1,_0x472d1d);function _0x281ee0(_0x1687f4,_0x399e78){return _0x2a61be(_0x1687f4,_0x399e78- -0x1ff);}this[_0x80b221(0x60c,0x572)]=tlejs_umd$1['exports'][_0x80b221(0x4a8,0x4b0)]([this['name'],this['tle1'],this['tle2']]);}get['cospar'](){function _0x335784(_0x5875ea,_0x59bf18){return _0x2a61be(_0x5875ea,_0x59bf18- -0x359);}function _0x416f0f(_0x2c3b53,_0x442897){return _0x4925de(_0x2c3b53,_0x442897- -0x1db);}return tlejs_umd$1['exports'][_0x335784(-0x1fc,-0x1ce)](this[_0x335784(-0x1fa,-0xef)],!![]);}get['norad'](){function _0x37911e(_0x4b036a,_0x2df826){return _0x4925de(_0x4b036a,_0x2df826-0x232);}function _0x247b04(_0x8c7fd3,_0x273102){return _0x2a61be(_0x8c7fd3,_0x273102-0x100);}return tlejs_umd$1['exports'][_0x247b04(0x3d0,0x28a)](this[_0x37911e(0x3be,0x3eb)],!![]);}get[_0x2a61be(0x26c,0x19a)](){function _0x4df12a(_0xd02cbb,_0x5a55bd){return _0x2a61be(_0xd02cbb,_0x5a55bd- -0x183);}return tlejs_umd$1['exports'][_0x4df12a(-0x98,0x10)](this['_parseTLE'],!![]);}get[_0x4925de(0x25e,0x2b8)](){return tlejs_umd$1['exports']['getIntDesignatorYear'](this['_parseTLE'],!![]);}get['intDesignatorLaunchNumber'](){return tlejs_umd$1['exports']['getIntDesignatorLaunchNumber'](this['_parseTLE'],!![]);}get[_0x4925de(0x278,0x1ee)](){function _0x26bca5(_0x34d6f2,_0x4c7340){return _0x2a61be(_0x34d6f2,_0x4c7340-0x40a);}return tlejs_umd$1[_0x26bca5(0x80c,0x793)]['getIntDesignatorPieceOfLaunch'](this['_parseTLE'],!![]);}get['epochYear'](){function _0x21c43a(_0x410411,_0x4e0050){return _0x2a61be(_0x410411,_0x4e0050- -0x1f5);}function _0x36c666(_0x4f00cd,_0x1ba142){return _0x2a61be(_0x1ba142,_0x4f00cd- -0xd7);}return tlejs_umd$1[_0x21c43a(0x278,0x194)][_0x36c666(0x322,0x26d)](this['_parseTLE'],!![]);}get[_0x4925de(0x3ef,0x30e)](){function _0x57181b(_0x1a683b,_0x3c23c1){return _0x4925de(_0x1a683b,_0x3c23c1- -0x1e2);}function _0x36f2d1(_0x5a4601,_0x52bcb1){return _0x4925de(_0x52bcb1,_0x5a4601-0x460);}return tlejs_umd$1[_0x36f2d1(0x738,0x787)]['getEpochDay'](this[_0x36f2d1(0x619,0x57f)],!![]);}get['firstTimeDerivative'](){function _0x258a3c(_0x564a5b,_0x43e182){return _0x4925de(_0x564a5b,_0x43e182- -0x106);}function _0x58ad00(_0x5d621f,_0x2d0669){return _0x2a61be(_0x2d0669,_0x5d621f-0x2f3);}return tlejs_umd$1[_0x58ad00(0x67c,0x610)][_0x258a3c(0x153,0x72)](this['_parseTLE'],!![]);}get['secondTimeDerivative'](){function _0x652c2c(_0x3b7cf5,_0x514941){return _0x2a61be(_0x514941,_0x3b7cf5- -0x16a);}function _0x3affa3(_0x4a336d,_0xc7e4d8){return _0x4925de(_0x4a336d,_0xc7e4d8- -0x67);}return tlejs_umd$1[_0x652c2c(0x21f,0x311)][_0x652c2c(0x19c,0x1f1)](this['_parseTLE'],!![]);}get['bstarDrag'](){function _0x4053e0(_0x187e62,_0x5a607a){return _0x4925de(_0x187e62,_0x5a607a- -0x1e);}function _0x281118(_0x2206dd,_0x376c72){return _0x2a61be(_0x2206dd,_0x376c72-0x16a);}return tlejs_umd$1[_0x4053e0(0x171,0x2ba)][_0x4053e0(0x226,0x2da)](this[_0x281118(0x3c4,0x3d4)],!![]);}get[_0x4925de(0x317,0x29d)](){return tlejs_umd$1['exports']['getOrbitModel'](this['_parseTLE'],!![]);}get['tleSetNumber'](){function _0x11249a(_0x35a151,_0x3fb379){return _0x2a61be(_0x3fb379,_0x35a151-0x18);}return tlejs_umd$1['exports'][_0x11249a(0x1ba,0x2f9)](this['_parseTLE'],!![]);}get[_0x2a61be(0x214,0x23c)](){function _0x4a8cbb(_0x51a9bc,_0x2a1455){return _0x4925de(_0x51a9bc,_0x2a1455-0x329);}function _0x25d317(_0x3a5841,_0xd90925){return _0x2a61be(_0x3a5841,_0xd90925- -0xbb);}return tlejs_umd$1['exports'][_0x4a8cbb(0x4d0,0x506)](this[_0x25d317(0x264,0x1af)],!![]);}get['inclination'](){function _0x45641c(_0x53eeec,_0x483add){return _0x2a61be(_0x53eeec,_0x483add- -0x176);}return tlejs_umd$1[_0x45641c(0x240,0x213)]['getInclination'](this['_parseTLE'],!![]);}get['rightAscension'](){function _0x49e3f4(_0x367dc4,_0x58ef6a){return _0x2a61be(_0x367dc4,_0x58ef6a- -0x10f);}function _0x228a4a(_0x13f2f4,_0x127edd){return _0x4925de(_0x13f2f4,_0x127edd-0x408);}return tlejs_umd$1[_0x228a4a(0x718,0x6e0)]['getRightAscension'](this[_0x228a4a(0x714,0x5c1)],!![]);}get['eccentricity'](){function _0x8b4ea(_0x2bd193,_0x1da7a6){return _0x4925de(_0x2bd193,_0x1da7a6- -0x1b0);}function _0x587197(_0x3ec96f,_0x324b39){return _0x2a61be(_0x324b39,_0x3ec96f-0x35e);}return tlejs_umd$1[_0x587197(0x6e7,0x6c2)]['getEccentricity'](this[_0x587197(0x5c8,0x483)],!![]);}get['perigee'](){return tlejs_umd$1['exports']['getPerigee'](this['_parseTLE'],!![]);}get['meanAnomaly'](){function _0x329a24(_0x23018a,_0x575432){return _0x4925de(_0x23018a,_0x575432-0x231);}function _0x99b657(_0x35498b,_0xffa58a){return _0x4925de(_0x35498b,_0xffa58a-0x3e9);}return tlejs_umd$1[_0x329a24(0x3dc,0x509)][_0x329a24(0x499,0x552)](this['_parseTLE'],!![]);}get['meanMotion'](){function _0x47e2e7(_0x28e10c,_0xffd226){return _0x4925de(_0x28e10c,_0xffd226- -0x1e5);}function _0x4ad3c0(_0xd6d1a,_0x334a46){return _0x4925de(_0x334a46,_0xd6d1a- -0x109);}return tlejs_umd$1['exports'][_0x4ad3c0(0xc4,0xdc)](this[_0x4ad3c0(0xb0,-0x81)],!![]);}get[_0x4925de(0x49b,0x32e)](){return parseInt(0x5a0/parseFloat(this['meanMotion']));}get['revNumberAtEpoch'](){return tlejs_umd$1['exports']['getRevNumberAtEpoch'](this['_parseTLE'],!![]);}get['checksum2'](){function _0x7abf8d(_0x3315e9,_0x5a6666){return _0x4925de(_0x5a6666,_0x3315e9- -0x140);}return tlejs_umd$1[_0x7abf8d(0x198,0x26d)]['getChecksum2'](this['_parseTLE'],!![]);}[_0x4925de(0x318,0x2c8)](_0x1d2ea8,_0x2b2ed6){function _0x43b244(_0x3cbeb9,_0x3be121){return _0x2a61be(_0x3cbeb9,_0x3be121- -0x1bb);}if(!_0x1d2ea8)_0x1d2ea8=new Date();else{if(mars3d__namespace['Util'][_0x43b244(0x70,0x15a)](_0x1d2ea8))_0x1d2ea8=new Date(_0x1d2ea8);else _0x1d2ea8 instanceof Cesium$b['JulianDate']&&(_0x1d2ea8=Cesium$b[_0x43b244(0x198,0x238)]['toDate'](_0x1d2ea8));}const _0x39ce0b=propagate$1(this['_satrec'],_0x1d2ea8),_0x33469d=_0x39ce0b[_0x541557(0x1a7,0x304)];if(_0x33469d==null||isNaN(_0x33469d['x']))return null;_0x2b2ed6&&(_0x39ce0b[_0x43b244(0x320,0x1fb)]=gstime$1(_0x1d2ea8));function _0x541557(_0x4f3fe0,_0x1edc95){return _0x4925de(_0x1edc95,_0x4f3fe0- -0xbe);}return _0x39ce0b;}['getEcfPosition'](_0x255ea7){function _0x36f1ad(_0x247c94,_0x4d69be){return _0x2a61be(_0x247c94,_0x4d69be-0x286);}function _0x5f5119(_0x50dd7f,_0x478956){return _0x2a61be(_0x478956,_0x50dd7f-0x27d);}const _0x1619c4=this[_0x5f5119(0x5f6,0x49b)](_0x255ea7,!![]);if(!_0x1619c4)return;const _0x202d40=_0x1619c4[_0x36f1ad(0x6f0,0x63c)],_0x3c5b01=_0x1619c4['position'],_0x1eb355=eciToEcf$1(_0x3c5b01,_0x202d40);return new Cesium$b['Cartesian3'](_0x1eb355['x']*0x3e8,_0x1eb355['y']*0x3e8,_0x1eb355['z']*0x3e8);}['getEciPosition'](_0x3b44d6){const _0x28aad2=this[_0x31bfd5(0x5c3,0x6cc)](_0x3b44d6);function _0x31bfd5(_0x38e347,_0x5c81f8){return _0x2a61be(_0x5c81f8,_0x38e347-0x24a);}function _0x551f35(_0x1b9712,_0x2da4d8){return _0x4925de(_0x1b9712,_0x2da4d8-0x483);}if(!_0x28aad2)return;const _0x16d12c=_0x28aad2[_0x551f35(0x5a5,0x6e8)];return new Cesium$b[(_0x551f35(0x771,0x694))](_0x16d12c['x']*0x3e8,_0x16d12c['y']*0x3e8,_0x16d12c['z']*0x3e8);}['getPosition'](_0x5d613c,_0x505598){if(!_0x5d613c)_0x5d613c=Cesium$b['JulianDate']['fromDate'](new Date());else{if(mars3d__namespace[_0x1e1734(0x200,0x340)][_0x5bc9bd(0x22f,0x27b)](_0x5d613c))_0x5d613c=Cesium$b[_0x1e1734(0x501,0x3b4)][_0x5bc9bd(0x15b,0x238)](new Date(_0x5d613c));else _0x5d613c instanceof Date&&(_0x5d613c=Cesium$b[_0x5bc9bd(0x30d,0x31d)][_0x1e1734(0x17d,0x202)](_0x5d613c));}const _0x157e88=this['getEciPosition'](_0x5d613c);function _0x1e1734(_0x60c437,_0x4a15c3){return _0x4925de(_0x60c437,_0x4a15c3-0x72);}function _0x5bc9bd(_0x394396,_0x5cc29d){return _0x2a61be(_0x5cc29d,_0x394396- -0xe6);}return Tle['getCzmPositionByEciPosition'](_0x157e88,_0x5d613c,_0x505598);}[_0x2a61be(0x3e3,0x2dc)](_0x47b3ac,_0x2400d4){function _0x38b9d1(_0x5b200a,_0x4a2d44){return _0x4925de(_0x4a2d44,_0x5b200a-0x3ee);}const _0x4d4868=this[_0x4beb0b(0x614,0x6b4)](_0x47b3ac,_0x2400d4);function _0x4beb0b(_0x1b3412,_0x281ce1){return _0x2a61be(_0x281ce1,_0x1b3412-0x212);}return _0x4d4868?mars3d__namespace[_0x4beb0b(0x3aa,0x300)][_0x4beb0b(0x3cb,0x357)](_0x4d4868):undefined;}[_0x2a61be(0x536,0x3dd)](_0x2417f5,_0x1fe68a){const _0x4b7312=this['_getEciPositionAndVelocity'](_0x1fe68a,!![]);if(!_0x4b7312)return;const _0x33e276=_0x4b7312[_0x33ba64(0x69f,0x647)],_0x39ebf5=_0x4b7312[_0x33ba64(0x5ff,0x5ad)],_0x5129a7=eciToEcf$1(_0x39ebf5,_0x33e276);function _0x39b946(_0x5dfa7e,_0x5d73af){return _0x2a61be(_0x5d73af,_0x5dfa7e- -0x13a);}function _0x33ba64(_0x3b07e8,_0x5b753c){return _0x2a61be(_0x5b753c,_0x3b07e8-0x2e9);}const _0x5b6a1e={'longitude':degreesToRadians$1(_0x2417f5[_0x33ba64(0x50f,0x507)]),'latitude':degreesToRadians$1(_0x2417f5[_0x39b946(0x308,0x3ce)]),'height':_0x2417f5[_0x33ba64(0x63d,0x4d9)]/0x3e8},_0x26b0eb=ecfToLookAngles$1(_0x5b6a1e,_0x5129a7);return{'position':new Cesium$b[(_0x33ba64(0x5ab,0x6e0))](_0x5129a7['x']*0x3e8,_0x5129a7['y']*0x3e8,_0x5129a7['z']*0x3e8),'range':_0x26b0eb['rangeSat']*0x3e8,'azimuth':radiansToDegrees$1(_0x26b0eb['azimuth']),'elevation':radiansToDegrees$1(_0x26b0eb['elevation'])};}static[_0x4925de(0x211,0x307)](_0x3d0f91,_0x3eac90,_0x13f0cd){const _0x249a33=Cesium$b[_0x54947e(0x7a,-0x8a)]['computeTemeToPseudoFixedMatrix'](_0x3eac90);if(!Cesium$b['defined'](_0x249a33))return mars3d__namespace[_0x4425fc(-0xa,-0xfc)]['logWarn']('Tle.getPosition:Reference\x20frame\x20transformation\x20data\x20failed\x20to\x20load'),_0x3d0f91;const _0xefa2b1=Cesium$b[_0x54947e(0x122,0x6d)]['multiplyByVector'](_0x249a33,_0x3d0f91,new Cesium$b[(_0x4425fc(0x46,0x177))]());function _0x54947e(_0x9c41f6,_0x541210){return _0x4925de(_0x541210,_0x9c41f6- -0x281);}if(_0x13f0cd)return _0xefa2b1;function _0x4425fc(_0x22c879,_0x44ada2){return _0x2a61be(_0x44ada2,_0x22c879- -0x27c);}const _0x31ac89=Cesium$b[_0x4425fc(0x130,0x244)]['computeFixedToIcrfMatrix'](_0x3eac90);if(!Cesium$b['defined'](_0x31ac89))return mars3d__namespace['Log']['logWarn']('Tle.getPosition:Reference\x20frame\x20transformation\x20data\x20failed\x20to\x20load'),_0x3d0f91;const _0x1cf409=Cesium$b[_0x4425fc(0x1d8,0x344)][_0x4425fc(-0x8d,-0x195)](_0x31ac89,_0xefa2b1,new Cesium$b['Cartesian3']());return _0x1cf409;}static[_0x2a61be(0x262,0x2dc)](_0x17a93f,_0x13be9d,_0x11a6c1,_0x10f5e0){function _0xd50244(_0x53ea5e,_0x43b26c){return _0x4925de(_0x53ea5e,_0x43b26c- -0xc1);}return new Tle(_0x17a93f,_0x13be9d)[_0xd50244(0x198,0x16a)](_0x11a6c1,_0x10f5e0);}static[_0x2a61be(0x54b,0x3f6)](_0x50326a,_0x4ae2df,_0x4af82b){function _0x7a61b3(_0xfbc7c4,_0x5e7fd5){return _0x2a61be(_0x5e7fd5,_0xfbc7c4- -0x360);}return new Tle(_0x50326a,_0x4ae2df)[_0x7a61b3(0x96,0x1f3)](_0x4af82b);}static['getEciPosition'](_0x228a91,_0x544541,_0xc9a86a){function _0x446ddb(_0x1e6498,_0x16ed4e){return _0x4925de(_0x1e6498,_0x16ed4e- -0x25);}return new Tle(_0x228a91,_0x544541)[_0x446ddb(0x68,0x10f)](_0xc9a86a);}static['gstime'](_0x1376ce){_0x1376ce instanceof Cesium$b['JulianDate']&&(_0x1376ce=Cesium$b[_0x2eb001(0x40b,0x32b)]['toDate'](_0x1376ce));function _0x2eb001(_0x55c986,_0x484577){return _0x4925de(_0x484577,_0x55c986-0xc9);}return gstime$1(_0x1376ce);}static['eciToGeodetic'](_0x37452d,_0xa2521){const _0x15962f=Tle['gstime'](_0xa2521);var _0x244df3={};_0x244df3['x']=_0x37452d['x']/0x3e8,_0x244df3['y']=_0x37452d['y']/0x3e8;function _0x25f881(_0x1b4cbd,_0x573955){return _0x4925de(_0x1b4cbd,_0x573955-0x3f);}_0x244df3['z']=_0x37452d['z']/0x3e8;const _0x18c816=_0x244df3,_0xa1afab=eciToGeodetic$1(_0x18c816,_0x15962f),_0x5164e0=degreesLong$1(_0xa1afab['longitude']),_0x479192=degreesLat$1(_0xa1afab['latitude']),_0xbe4d3c=_0xa1afab[_0x25f881(0x8e,0x1d7)]*0x3e8;return new mars3d__namespace['LngLatPoint'](_0x5164e0,_0x479192,_0xbe4d3c);}static['eciToEcf'](_0x2adf3b,_0x49a8e0,_0x29f90e){const _0x120ea0=Tle['gstime'](_0x49a8e0);var _0x5466b0={};_0x5466b0['x']=_0x2adf3b['x']/0x3e8,_0x5466b0['y']=_0x2adf3b['y']/0x3e8,_0x5466b0['z']=_0x2adf3b['z']/0x3e8;const _0x1427a3=_0x5466b0,_0x5063b0=eciToEcf$1(_0x1427a3,_0x120ea0);return!_0x29f90e&&(_0x29f90e=new Cesium$b['Cartesian3']()),_0x29f90e['x']=_0x5063b0['x']*0x3e8,_0x29f90e['y']=_0x5063b0['y']*0x3e8,_0x29f90e['z']=_0x5063b0['z']*0x3e8,_0x29f90e;}static['ecfToEci'](_0x52cd7e,_0x3dade2){const _0x126911=Tle['gstime'](_0x3dade2);var _0x4ccaab={};_0x4ccaab['x']=_0x52cd7e['x']/0x3e8,_0x4ccaab['y']=_0x52cd7e['y']/0x3e8,_0x4ccaab['z']=_0x52cd7e['z']/0x3e8;const _0x30ee89=_0x4ccaab,_0xdbf29a=ecfToEci$1(_0x30ee89,_0x126911);return new Cesium$b['Cartesian3'](_0xdbf29a['x']*0x3e8,_0xdbf29a['y']*0x3e8,_0xdbf29a['z']*0x3e8);}static['tle2coe'](_0x1072a2,_0x499713){function _0x2a7438(_0x47bc52,_0x1a0d9a){return _0x2a61be(_0x1a0d9a,_0x47bc52- -0x65);}const _0x34c34e=new Tle(_0x1072a2,_0x499713);var _0x3a6f0e={};_0x3a6f0e[_0x2a7438(0x3e7,0x40b)]=_0x34c34e[_0x2a7438(0x3e7,0x3dd)],_0x3a6f0e['epochYear']=_0x34c34e['epochYear'];function _0x4a1519(_0x2f9240,_0xfaf39b){return _0x2a61be(_0x2f9240,_0xfaf39b-0x1f3);}return _0x3a6f0e['epochDay']=_0x34c34e['epochDay'],_0x3a6f0e[_0x2a7438(0x3cf,0x4bd)]=_0x34c34e['inclination'],_0x3a6f0e[_0x4a1519(0x3d6,0x464)]=_0x34c34e['rightAscension'],_0x3a6f0e['eccentricity']=_0x34c34e['eccentricity'],_0x3a6f0e[_0x2a7438(0x1ec,0x104)]=_0x34c34e['perigee'],_0x3a6f0e['meanAnomaly']=_0x34c34e['meanAnomaly'],_0x3a6f0e[_0x2a7438(0x183,0x169)]=_0x34c34e[_0x2a7438(0x183,0x8e)],_0x3a6f0e;}}Tle[_0x4925de(0x2ed,0x2f1)]=satellite,Tle['tle']=tle,mars3d__namespace['Tle']=Tle;var SatelliteSensorFS=_0x4925de(0x17f,0x2ed),SatelliteSensorVS='\x0a#ifdef\x20GL_ES\x0aprecision\x20highp\x20float;\x0a#endif\x0a\x0ain\x20vec3\x20position;\x0ain\x20vec3\x20normal;\x0a\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec3\x20v_normalEC;\x0a\x0avoid\x20main(void)\x20{\x0a\x20\x20v_positionEC\x20=\x20(czm_modelView\x20*\x20vec4(position,\x201.0)).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20vec4(position,\x201.0);\x0a}\x0a';const Cesium$a=mars3d__namespace[_0x2a61be(0x330,0x2d7)];class CamberRadarPrimitive{constructor(_0x347654){this['id']=_0x347654['id'],this[_0x406805(0x685,0x6b2)]=_0x347654[_0x1567e8(0x202,0x1d3)],this[_0x406805(0x693,0x657)]=0x0,this['_endFovH']=0x0,this['_startFovV']=0x0;function _0x406805(_0x239b0b,_0x3d1d30){return _0x4925de(_0x239b0b,_0x3d1d30-0x317);}this['_endFovV']=0x0,this['_segmentH']=0x1,this['_segmentV']=0x1,this['_subSegmentH']=0x1,this[_0x1567e8(0x157,0x18c)]=0x1;function _0x1567e8(_0x169e43,_0x581e6c){return _0x4925de(_0x169e43,_0x581e6c- -0x1c8);}this[_0x406805(0x638,0x53e)]=0x1,this['_command']=undefined,this[_0x406805(0x5d3,0x60e)]=undefined,this[_0x406805(0x582,0x524)]=new Cesium$a['BoundingSphere'](),this[_0x1567e8(-0x7c,-0x10)]=Cesium$a[_0x1567e8(-0x58,0x2)][_0x406805(0x5a7,0x543)](Cesium$a[_0x1567e8(-0x15e,0x2)]['IDENTITY']),this['innerFovRadiusPairs']=_0x347654[_0x1567e8(0x31,-0xb2)],this['outerFovRadiusPairs']=_0x347654['outerFovRadiusPairs'],this['radius']=_0x347654['radius'],this['startRadius']=_0x347654['startRadius'],this[_0x1567e8(0x78,0x19c)]=_0x347654['translucent'],this[_0x406805(0x62a,0x6a5)]=_0x347654[_0x406805(0x778,0x6a5)],this['modelMatrix']=_0x347654['modelMatrix']??Cesium$a[_0x406805(0x536,0x4e1)]['IDENTITY'],this[_0x1567e8(-0x90,0xb4)]=_0x347654['startFovH']??Cesium$a['Math']['toRadians'](-0x32),this[_0x406805(0x712,0x5de)]=_0x347654['endFovH']??Cesium$a['Math'][_0x1567e8(0xe9,0x1d1)](0x32),this['startFovV']=_0x347654['startFovV']??Cesium$a['Math'][_0x406805(0x73b,0x6b0)](0x5),this['endFovV']=_0x347654[_0x1567e8(-0x27,-0xc7)]??Cesium$a['Math'][_0x406805(0x672,0x6b0)](0x55),this['segmentH']=_0x347654['segmentH']??0x3c,this['segmentV']=_0x347654[_0x406805(0x572,0x6b8)]??0x14,this[_0x406805(0x500,0x63b)]=_0x347654['subSegmentH']??0x3,this['subSegmentV']=_0x347654['subSegmentV']??0x3,this[_0x1567e8(0x10,0x144)]=_0x347654['color']??new Cesium$a['Color'](0x1,0x1,0x0,0.5),this['outlineColor']=_0x347654['outlineColor']??new Cesium$a[(_0x406805(0x4ce,0x535))](0x1,0x1,0x1),this['show']=_0x347654[_0x1567e8(0x2ea,0x1d8)]??!![];}get['startRadius'](){function _0x3d496d(_0x4d4665,_0x3e3cb3){return _0x4925de(_0x3e3cb3,_0x4d4665- -0x2d3);}return this[_0x3d496d(-0x171,-0x238)];}set[_0x4925de(0x32b,0x344)](_0xf4c0e5){function _0x3e5a9d(_0x116359,_0x4e6722){return _0x2a61be(_0x116359,_0x4e6722-0x19a);}function _0x3a995e(_0xd67d5a,_0x42e838){return _0x2a61be(_0xd67d5a,_0x42e838-0x364);}this[_0x3a995e(0x4b6,0x577)]=_0xf4c0e5,this['innerFovRadiusPairs']=[{'fov':Cesium$a['Math']['toRadians'](0x0),'radius':_0xf4c0e5},{'fov':Cesium$a['Math']['toRadians'](0xa),'radius':0.9*_0xf4c0e5},{'fov':Cesium$a['Math']['toRadians'](0x14),'radius':0.8*_0xf4c0e5},{'fov':Cesium$a[_0x3a995e(0x48d,0x593)]['toRadians'](0x1e),'radius':0.7*_0xf4c0e5},{'fov':Cesium$a['Math'][_0x3a995e(0x76e,0x7ae)](0x28),'radius':0.6*_0xf4c0e5},{'fov':Cesium$a[_0x3e5a9d(0x32a,0x3c9)][_0x3a995e(0x88f,0x7ae)](0x32),'radius':0.5*_0xf4c0e5},{'fov':Cesium$a['Math'][_0x3a995e(0x7d7,0x7ae)](0x3c),'radius':0.4*_0xf4c0e5},{'fov':Cesium$a['Math']['toRadians'](0x46),'radius':0.3*_0xf4c0e5},{'fov':Cesium$a['Math']['toRadians'](0x50),'radius':0.1*_0xf4c0e5},{'fov':Cesium$a[_0x3a995e(0x42b,0x593)]['toRadians'](0x5a),'radius':0.01*_0xf4c0e5}];}get['radius'](){function _0xeabe7b(_0x5d7ef5,_0x281577){return _0x2a61be(_0x5d7ef5,_0x281577- -0x1b7);}return this[_0xeabe7b(0x162,0x58)];}set[_0x2a61be(0x167,0x1b4)](_0x37896a){function _0x167141(_0x2f02eb,_0x23028e){return _0x2a61be(_0x2f02eb,_0x23028e- -0x2e2);}this['_radius']=_0x37896a;function _0x2ce044(_0x165109,_0x17d7b5){return _0x4925de(_0x165109,_0x17d7b5- -0x2bc);}this['outerFovRadiusPairs']=[{'fov':Cesium$a['Math'][_0x2ce044(-0x1,0xdd)](0x0),'radius':_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0xa),'radius':0.9*_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0x14),'radius':0.8*_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0x1e),'radius':0.7*_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0x28),'radius':0.6*_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0x32),'radius':0.5*_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0x3c),'radius':0.4*_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0x46),'radius':0.3*_0x37896a},{'fov':Cesium$a['Math']['toRadians'](0x50),'radius':0.1*_0x37896a},{'fov':Cesium$a[_0x167141(-0x5d,-0xb3)]['toRadians'](0x5a),'radius':0.01*_0x37896a}];}[_0x2a61be(0x49c,0x419)](_0x244ed0){function _0x2a62f3(_0xecb8cc,_0x401277){return _0x2a61be(_0x401277,_0xecb8cc- -0x262);}const _0xc9fe0d=this['_subSegmentH']*this['_segmentH'],_0xb57f8f=this['_subSegmentV']*this['_segmentV'],_0x56a52f=getGridDirs(this['_startFovH'],this['_endFovH'],this['_startFovV'],this[_0x2a62f3(-0x86,0x90)],_0xc9fe0d,_0xb57f8f,this['_outerFovRadiusPairs']),_0x405b0c=getGridDirs(this['_startFovH'],this['_endFovH'],this[_0x4339ba(-0x4b,0x8c)],this['_endFovV'],_0xc9fe0d,_0xb57f8f,this[_0x4339ba(-0xf1,-0xf4)]),_0x656ce7=getGridIndices(_0xc9fe0d,_0xb57f8f),_0x3f7783=getLineGridIndices(this[_0x2a62f3(0x13a,0x217)],this['_segmentV'],this[_0x4339ba(0x6a,-0x7d)],this[_0x4339ba(0x13d,0x1b)]);function _0x4339ba(_0x39b858,_0x3b3871){return _0x4925de(_0x3b3871,_0x39b858- -0x217);}return this['_createRawCommand'](_0x244ed0,_0x56a52f,_0x405b0c,_0x656ce7,_0x3f7783);}['_createInnerCurveCommand'](_0x317254){const _0xefa75d=this[_0x1dae43(0x44a,0x2f9)]*this['_segmentH'],_0x5d8fee=this['_subSegmentV']*this['_segmentV'];function _0x299dc1(_0xddbf2c,_0x4cb686){return _0x4925de(_0xddbf2c,_0x4cb686- -0x301);}function _0x1dae43(_0x4920fb,_0x346855){return _0x2a61be(_0x4920fb,_0x346855- -0x39);}const _0x59a43a=getGridDirs(this['_startFovH'],this['_endFovH'],this['_startFovV'],this['_endFovV'],_0xefa75d,_0x5d8fee,this[_0x1dae43(0x533,0x3ee)]),_0x4a496c=getGridDirs(this['_startFovH'],this[_0x299dc1(-0x130,-0xff)],this[_0x299dc1(0x34,-0x135)],this['_endFovV'],_0xefa75d,_0x5d8fee,this['_innerFovRadiusPairs']),_0x214ea3=getGridIndices(_0xefa75d,_0x5d8fee),_0x1253da=getLineGridIndices(this['_segmentH'],this['_segmentV'],this['_subSegmentH'],this[_0x1dae43(0x298,0x3cc)]);return this['_createRawCommand'](_0x317254,_0x59a43a,_0x4a496c,_0x214ea3,_0x1253da);}['_createLeftCrossSectionCommand'](_0x19018e){const _0x218b24=0x1*0xa,_0x23fac8=this['_subSegmentV']*this['_segmentV'],_0x1dad02=getCrossSectionPositions(this['_startFovH'],this['_startFovV'],this[_0x5d8328(0x582,0x421)],_0x218b24,_0x23fac8,this[_0x5d8328(0x7cd,0x6b7)],this['_outerFovRadiusPairs']),_0x5ac8b6=getCrossSectionPositions(this[_0x24a8c4(0x2df,0x288)],this[_0x5d8328(0x623,0x5de)],this[_0x5d8328(0x582,0x4ee)],_0x218b24,_0x23fac8,this[_0x5d8328(0x7cd,0x84c)],this[_0x24a8c4(0xbf,0x6e)]),_0x4d7c04=getGridIndices(_0x218b24,_0x23fac8),_0xa50145=getLineGridIndices(0xa,this['_segmentV'],0x1,this['_subSegmentV']);function _0x5d8328(_0x49bf6f,_0x85af9){return _0x2a61be(_0x85af9,_0x49bf6f-0x3a6);}function _0x24a8c4(_0x4d172d,_0x3930d4){return _0x4925de(_0x4d172d,_0x3930d4- -0xb8);}return this['_createRawCommand'](_0x19018e,_0x1dad02,_0x5ac8b6,_0x4d7c04,_0xa50145);}[_0x2a61be(0x29a,0x234)](_0x44ac79){const _0x58094a=0x1*0xa;function _0x20d45f(_0x117386,_0x46f844){return _0x2a61be(_0x46f844,_0x117386- -0x5c);}const _0x3dfeda=this['_subSegmentV']*this[_0x20d45f(0x2e7,0x394)],_0x3ae374=getCrossSectionPositions(this[_0x20d45f(0x257,0x1f1)],this['_startFovV'],this['_endFovV'],_0x58094a,_0x3dfeda,this['_innerFovRadiusPairs'],this[_0x20d45f(0x17b,0x1f5)]),_0x1a1dfb=getCrossSectionPositions(this[_0x4dd832(0x6a,-0xc3)],this['_startFovV'],this['_endFovV'],_0x58094a,_0x3dfeda,this[_0x4dd832(0x1de,0x31a)],this['_outerFovRadiusPairs']),_0x19cb9c=getGridIndices(_0x58094a,_0x3dfeda),_0x52b7c6=getLineGridIndices(0xa,this['_segmentV'],0x1,this['_subSegmentV']);function _0x4dd832(_0x3d9ef8,_0x440638){return _0x4925de(_0x440638,_0x3d9ef8- -0x198);}return this['_createRawCommand'](_0x44ac79,_0x3ae374,_0x1a1dfb,_0x19cb9c,_0x52b7c6);}['_createRawCommand'](_0x26ab34,_0x7ddf3e,_0x1caec3,_0x196e34,_0x275878){var _0x27f71e={};_0x27f71e[_0x47bb4b(0x19f,0x165)]=_0x26ab34,_0x27f71e[_0x111293(0x552,0x5ae)]=SatelliteSensorVS;function _0x47bb4b(_0xc7b97e,_0x27c080){return _0x4925de(_0xc7b97e,_0x27c080- -0x96);}_0x27f71e[_0x47bb4b(0x25f,0x21d)]=SatelliteSensorFS,_0x27f71e[_0x47bb4b(0x205,0x23c)]=attributeLocations;const _0x54ec03=Cesium$a['ShaderProgram'][_0x111293(0x5e5,0x649)](_0x27f71e),_0x400929=Cesium$a['Buffer']['createVertexBuffer']({'context':_0x26ab34,'typedArray':_0x7ddf3e,'usage':Cesium$a['BufferUsage'][_0x111293(0x405,0x3ab)]}),_0x27d9e0=Cesium$a[_0x47bb4b(0x23d,0x18f)]['createVertexBuffer']({'context':_0x26ab34,'typedArray':_0x1caec3,'usage':Cesium$a[_0x47bb4b(0x344,0x21a)]['STATIC_DRAW']}),_0x3366e6=Cesium$a[_0x111293(0x552,0x4e4)]['createIndexBuffer']({'context':_0x26ab34,'typedArray':_0x196e34,'usage':Cesium$a['BufferUsage']['STATIC_DRAW'],'indexDatatype':Cesium$a['IndexDatatype']['UNSIGNED_SHORT']}),_0x4eaf45=Cesium$a[_0x111293(0x4cf,0x4e4)]['createIndexBuffer']({'context':_0x26ab34,'typedArray':_0x275878,'usage':Cesium$a['BufferUsage'][_0x111293(0x484,0x3ab)],'indexDatatype':Cesium$a[_0x47bb4b(0x276,0x15a)]['UNSIGNED_SHORT']}),_0x5f1af6=new Cesium$a[(_0x111293(0x53d,0x50c))]({'context':_0x26ab34,'attributes':[{'index':0x0,'vertexBuffer':_0x400929,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a[_0x111293(0x5f0,0x655)]['FLOAT']},{'index':0x1,'vertexBuffer':_0x27d9e0,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a['ComponentDatatype']['FLOAT']}],'indexBuffer':_0x3366e6}),_0x509adb=new Cesium$a['VertexArray']({'context':_0x26ab34,'attributes':[{'index':0x0,'vertexBuffer':_0x400929,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a[_0x47bb4b(0x28d,0x300)]['FLOAT']},{'index':0x1,'vertexBuffer':_0x27d9e0,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a['ComponentDatatype']['FLOAT']}],'indexBuffer':_0x4eaf45}),_0x14ece8=Cesium$a[_0x111293(0x482,0x48f)][_0x47bb4b(0x8a,0x42)](_0x7ddf3e),_0x14072f=this['translucent']??!![],_0x4feeb9=this['closed']??![],_0x4f6104=Cesium$a['Appearance']['getDefaultRenderState'](_0x14072f,_0x4feeb9,undefined),_0x9f37b4=Cesium$a['RenderState']['fromCache'](_0x4f6104);var _0x855b9d={};_0x855b9d['marsColor']=()=>{function _0x179623(_0x27d89b,_0x404049){return _0x47bb4b(_0x404049,_0x27d89b-0x4a1);}return this[_0x179623(0x717,0x81b)];},_0x855b9d['globalAlpha']=()=>{return this['_globalAlpha'];};const _0x138b6c=new Cesium$a['DrawCommand']({'vertexArray':_0x5f1af6,'primitiveType':Cesium$a['PrimitiveType'][_0x111293(0x4f1,0x4fe)],'renderState':_0x9f37b4,'shaderProgram':_0x54ec03,'uniformMap':_0x855b9d,'owner':this,'pass':Cesium$a['Pass'][_0x111293(0x576,0x618)],'modelMatrix':new Cesium$a[(_0x47bb4b(0x1be,0x134))](),'boundingVolume':new Cesium$a['BoundingSphere'](),'cull':!![]});var _0x2d9ff2={};_0x2d9ff2['marsColor']=()=>{return this['outlineColor'];};function _0x111293(_0x479852,_0xe8d317){return _0x4925de(_0x479852,_0xe8d317-0x2bf);}_0x2d9ff2[_0x47bb4b(-0x24,0xe9)]=()=>{return this['_globalAlpha'];};const _0xd0c7b8=new Cesium$a['DrawCommand']({'vertexArray':_0x509adb,'primitiveType':Cesium$a['PrimitiveType']['LINES'],'renderState':_0x9f37b4,'shaderProgram':_0x54ec03,'uniformMap':_0x2d9ff2,'owner':this,'pass':Cesium$a[_0x47bb4b(0x2ea,0x206)][_0x111293(0x679,0x618)],'modelMatrix':new Cesium$a['Matrix4'](),'boundingVolume':new Cesium$a[(_0x47bb4b(0x210,0x13a))](),'cull':!![]});var _0xa013e={};return _0xa013e['command']=_0x138b6c,_0xa013e['lineCommand']=_0xd0c7b8,_0xa013e['initBoundingSphere']=_0x14ece8,_0xa013e;}['update'](_0x31c8c3){if(!this['show'])return;function _0x558fe1(_0x1fde58,_0x376af2){return _0x2a61be(_0x376af2,_0x1fde58- -0x26e);}const _0x4939a2=this[_0xe51254(0x43e,0x4d5)]!==this['_innerFovRadiusPairs']||this['outerFovRadiusPairs']!==this['_outerFovRadiusPairs']||this['startFovH']!==this['_startFovH']||this['endFovH']!==this[_0x558fe1(0x45,-0xea)]||this['startFovV']!==this['_startFovV']||this[_0x558fe1(-0xbc,-0x82)]!==this[_0xe51254(0x453,0x480)]||this['segmentH']!==this[_0xe51254(0x613,0x726)]||this['segmentV']!==this['_segmentV']||this[_0x558fe1(0x167,0x2c2)]!==this['_subSegmentH']||this[_0xe51254(0x560,0x6a3)]!==this['_subSegmentV'];function _0xe51254(_0xe09753,_0xbf8c15){return _0x2a61be(_0xbf8c15,_0xe09753-0x277);}_0x4939a2&&(this['_innerFovRadiusPairs']=this[_0x558fe1(-0xa7,0xca)],this['_outerFovRadiusPairs']=this[_0xe51254(0x5fb,0x76c)],this['_startFovH']=this['startFovH'],this['_endFovH']=this['endFovH'],this[_0x558fe1(0xf,0xb)]=this['startFovV'],this['_endFovV']=this[_0xe51254(0x429,0x3df)],this[_0x558fe1(0x12e,0xbb)]=this['segmentH'],this['_segmentV']=this['segmentV'],this['_subSegmentH']=this['subSegmentH'],this[_0x558fe1(0x197,0x2b6)]=this['subSegmentV'],this['_modelMatrix']=Cesium$a['clone'](Cesium$a['Matrix4']['IDENTITY']),this[_0xe51254(0x696,0x5dd)]()),(!Cesium$a['defined'](this['_commands'])||this[_0xe51254(0x684,0x59c)][_0xe51254(0x437,0x2e7)]===0x0)&&(this[_0xe51254(0x684,0x5f9)]||(this['_commands']=[]),this['_destroyCommands'](),this['_commands'][_0xe51254(0x49c,0x4c6)](this['_createOuterCurveCommand'](_0x31c8c3['context'])),this['_commands'][_0xe51254(0x49c,0x4c5)](this[_0xe51254(0x56d,0x501)](_0x31c8c3['context'])),this[_0x558fe1(0x19f,0x112)]['push'](this[_0x558fe1(-0x3a,-0xdb)](_0x31c8c3[_0xe51254(0x523,0x500)])),this['_commands']['push'](this[_0x558fe1(0x1b4,0xee)](_0x31c8c3['context']))),!Cesium$a[_0x558fe1(0xd,0x4c)]['equals'](this[_0x558fe1(0x121,0x1fa)],this['_modelMatrix'])&&(Cesium$a['Matrix4'][_0xe51254(0x554,0x4af)](this[_0x558fe1(0x121,0xe4)],this[_0x558fe1(-0x5,-0x10f)]),this['_commands'][_0xe51254(0x686,0x7aa)](_0x4491c6=>{_0x4491c6[_0x20326c(0x124,0xf0)][_0x257d8f(0x79e,0x903)]=Cesium$a[_0x20326c(-0x87,-0x7e)]['IDENTITY'],_0x4491c6['command']['modelMatrix']=this['_modelMatrix'],_0x4491c6['command'][_0x257d8f(0x707,0x640)]=Cesium$a['BoundingSphere']['transform'](_0x4491c6[_0x20326c(-0xde,-0x86)],this[_0x20326c(-0x99,-0x169)],this['_boundingSphere']);function _0x20326c(_0x111c37,_0x32ee2c){return _0x558fe1(_0x111c37- -0x94,_0x32ee2c);}_0x4491c6['lineCommand']['modelMatrix']=Cesium$a[_0x257d8f(0x68a,0x64e)]['IDENTITY'],_0x4491c6['lineCommand'][_0x20326c(0x8d,0x1b4)]=this[_0x20326c(-0x99,-0x19d)];function _0x257d8f(_0x444f61,_0x2c7ca7){return _0xe51254(_0x444f61-0x198,_0x2c7ca7);}_0x4491c6[_0x20326c(0x94,0x193)]['boundingVolume']=Cesium$a['BoundingSphere'][_0x257d8f(0x6e3,0x790)](_0x4491c6['initBoundingSphere'],this[_0x20326c(-0x99,-0x16)],this[_0x257d8f(0x6cd,0x813)]);})),this[_0x558fe1(0x19f,0x1d6)][_0x558fe1(0x1a1,0x28c)](_0x1906c6=>{function _0x106ee8(_0x4d5134,_0x4cf995){return _0x558fe1(_0x4cf995-0x146,_0x4d5134);}_0x1906c6['command']&&_0x31c8c3[_0x1294eb(0x4f8,0x4b1)][_0x106ee8(0xa7,0xfd)](_0x1906c6[_0x1294eb(0x574,0x643)]);function _0x1294eb(_0x139468,_0x239c2e){return _0x558fe1(_0x239c2e-0x48b,_0x139468);}_0x1906c6[_0x106ee8(0x17a,0x26e)]&&_0x31c8c3[_0x106ee8(0x1b8,0x16c)][_0x106ee8(0x202,0xfd)](_0x1906c6[_0x106ee8(0x202,0x26e)]);});}['isDestroyed'](){return![];}['_destroyCommands'](){function _0x26e376(_0x1909fc,_0x134f17){return _0x4925de(_0x1909fc,_0x134f17-0x6c);}function _0x4cb79d(_0x54b653,_0x256d2b){return _0x4925de(_0x54b653,_0x256d2b-0x58);}this['_commands']&&this['_commands'][_0x4cb79d(0x3f6,0x3b6)](_0x26ecb0=>{function _0x1d913b(_0x1c50c9,_0x306061){return _0x4cb79d(_0x306061,_0x1c50c9- -0x291);}function _0x2fe416(_0x1903d1,_0x3edccb){return _0x4cb79d(_0x3edccb,_0x1903d1-0x18f);}Cesium$a['defined'](_0x26ecb0['command'])&&(_0x26ecb0[_0x1d913b(0x13c,0x1c5)]['shaderProgram']=_0x26ecb0['command'][_0x1d913b(0xc8,0x19e)]&&_0x26ecb0[_0x1d913b(0x13c,0x1ef)][_0x2fe416(0x4e8,0x5a6)]['destroy'](),_0x26ecb0[_0x2fe416(0x55c,0x68c)][_0x1d913b(-0xa,0x40)]=_0x26ecb0['command']['vertexArray']&&_0x26ecb0[_0x2fe416(0x55c,0x55f)]['vertexArray']['destroy'](),_0x26ecb0['command']=undefined),Cesium$a['defined'](_0x26ecb0['lineCommand'])&&(_0x26ecb0['lineCommand'][_0x1d913b(0xc8,0x81)]=_0x26ecb0[_0x1d913b(0xac,0x1c8)]['shaderProgram']&&_0x26ecb0['lineCommand'][_0x1d913b(0xc8,0x15a)][_0x1d913b(-0x7b,0x5d)](),_0x26ecb0['lineCommand'][_0x1d913b(-0xa,-0x5b)]=_0x26ecb0['lineCommand']['vertexArray']&&_0x26ecb0['lineCommand']['vertexArray']['destroy'](),_0x26ecb0['lineCommand']=undefined);}),this[_0x26e376(0x51f,0x3c8)]&&(this[_0x4cb79d(0x483,0x3b4)][_0x4cb79d(0x1a4,0x167)]=0x0);}['destroy'](){function _0x295324(_0x634380,_0x261362){return _0x2a61be(_0x261362,_0x634380-0x6d);}return this[_0x295324(0x48c,0x4a7)](),Cesium$a['destroyObject'](this);}}var _0x13bb98={};_0x13bb98['position']=0x0,_0x13bb98['normal']=0x1;const attributeLocations=_0x13bb98;function getDir(_0x5ae266,_0x429607){function _0x3c0957(_0x338327,_0x3913e5){return _0x2a61be(_0x338327,_0x3913e5-0x164);}const _0x1911a2=_0x5ae266;function _0x50cb99(_0x251f01,_0x4d3686){return _0x4925de(_0x4d3686,_0x251f01-0x366);}const _0x535901=_0x429607,_0x264b7e=Math[_0x50cb99(0x46f,0x3a8)],_0x2689c6=Math[_0x50cb99(0x54a,0x50e)],_0x7382fb=[_0x264b7e(-_0x1911a2)*_0x264b7e(_0x535901),_0x2689c6(-_0x1911a2)*_0x264b7e(_0x535901),_0x2689c6(_0x535901)];return _0x7382fb;}function getFov(_0x1312f1,_0x3fc8f0,_0x3a01fa,_0x4975af){return _0x1312f1+(_0x3fc8f0-_0x1312f1)*(_0x4975af/_0x3a01fa);}function getRadius(_0x4d8de1,_0x3c0bc9){const _0x2ce502=_0x3c0bc9['findIndex'](_0x1edb98=>{return _0x1edb98['fov']>_0x4d8de1;});function _0xc0cbac(_0x547ee0,_0x5713de){return _0x4925de(_0x547ee0,_0x5713de-0x292);}function _0x112972(_0x930d96,_0x4ddcab){return _0x4925de(_0x4ddcab,_0x930d96-0x373);}if(_0x2ce502>0x0){const _0x247442=_0x3c0bc9[_0x2ce502-0x1],_0x14b616=_0x3c0bc9[_0x2ce502],_0x46f2c6=(_0x4d8de1-_0x247442[_0xc0cbac(0x54d,0x3ec)])/(_0x14b616['fov']-_0x247442[_0x112972(0x4cd,0x4a7)]),_0xbbe466=_0x247442[_0x112972(0x476,0x40b)]*(0x1-_0x46f2c6)+_0x14b616[_0xc0cbac(0x40c,0x395)]*_0x46f2c6;return _0xbbe466;}else return undefined;}function _0x2a61be(_0x96dca2,_0x4d4d75){return _0x43df(_0x4d4d75- -0x2b,_0x96dca2);}function getGridDirs(_0x15cd31,_0xfadb00,_0x22fb6d,_0x1c0055,_0x6efdb7,_0x2cac6e,_0x30c0c7){const _0x4ecd7e=new Float32Array((_0x6efdb7+0x1)*(_0x2cac6e+0x1)*0x3);for(let _0x270bd4=0x0;_0x270bd4<_0x6efdb7+0x1;++_0x270bd4){for(let _0x41dfba=0x0;_0x41dfba<_0x2cac6e+0x1;++_0x41dfba){const _0xb05c80=getFov(_0x22fb6d,_0x1c0055,_0x2cac6e,_0x41dfba),_0x2ba483=getDir(getFov(_0x15cd31,_0xfadb00,_0x6efdb7,_0x270bd4),_0xb05c80),_0xabad37=_0x30c0c7?getRadius(_0xb05c80,_0x30c0c7):0x1;_0x4ecd7e[(_0x41dfba*(_0x6efdb7+0x1)+_0x270bd4)*0x3+0x0]=_0x2ba483[0x0]*_0xabad37,_0x4ecd7e[(_0x41dfba*(_0x6efdb7+0x1)+_0x270bd4)*0x3+0x1]=_0x2ba483[0x1]*_0xabad37,_0x4ecd7e[(_0x41dfba*(_0x6efdb7+0x1)+_0x270bd4)*0x3+0x2]=_0x2ba483[0x2]*_0xabad37;}}return _0x4ecd7e;}function getCrossSectionPositions(_0xd35d37,_0xef8e52,_0x593c58,_0x5c417f,_0x467b03,_0x67bae7,_0x106a68){const _0x2d5959=new Float32Array((_0x5c417f+0x1)*(_0x467b03+0x1)*0x3);for(let _0x11911c=0x0;_0x11911c<_0x5c417f+0x1;++_0x11911c){for(let _0x149508=0x0;_0x149508<_0x467b03+0x1;++_0x149508){const _0x3cbfe4=getFov(_0xef8e52,_0x593c58,_0x467b03,_0x149508),_0x18c034=getDir(_0xd35d37,_0x3cbfe4),_0x14af41=_0x67bae7?getRadius(_0x3cbfe4,_0x67bae7):0x1,_0x13c07b=_0x106a68?getRadius(_0x3cbfe4,_0x106a68):0x1,_0x5052ce=getFov(_0x14af41,_0x13c07b,_0x5c417f,_0x11911c);_0x2d5959[(_0x149508*(_0x5c417f+0x1)+_0x11911c)*0x3+0x0]=_0x18c034[0x0]*_0x5052ce,_0x2d5959[(_0x149508*(_0x5c417f+0x1)+_0x11911c)*0x3+0x1]=_0x18c034[0x1]*_0x5052ce,_0x2d5959[(_0x149508*(_0x5c417f+0x1)+_0x11911c)*0x3+0x2]=_0x18c034[0x2]*_0x5052ce;}}return _0x2d5959;}function getGridIndices(_0x407851,_0x203a92){const _0x542b1e=new Uint16Array(_0x407851*_0x203a92*0x6);for(let _0x5ed24b=0x0;_0x5ed24b<_0x407851;++_0x5ed24b){for(let _0x47865d=0x0;_0x47865d<_0x203a92;++_0x47865d){const _0x37d6ac=_0x47865d*(_0x407851+0x1)+_0x5ed24b,_0x1ab89c=_0x47865d*(_0x407851+0x1)+_0x5ed24b+0x1,_0x49dc11=(_0x47865d+0x1)*(_0x407851+0x1)+_0x5ed24b,_0x3a8d0e=(_0x47865d+0x1)*(_0x407851+0x1)+_0x5ed24b+0x1,_0x165fd1=(_0x47865d*_0x407851+_0x5ed24b)*0x6;_0x542b1e[_0x165fd1+0x0]=_0x37d6ac,_0x542b1e[_0x165fd1+0x1]=_0x1ab89c,_0x542b1e[_0x165fd1+0x2]=_0x3a8d0e,_0x542b1e[_0x165fd1+0x3]=_0x37d6ac,_0x542b1e[_0x165fd1+0x4]=_0x3a8d0e,_0x542b1e[_0x165fd1+0x5]=_0x49dc11;}}return _0x542b1e;}function getLineGridIndices(_0x3c6eab,_0xa0a3a2,_0x92bcb1,_0x57f9b4){const _0x58cc90=_0x3c6eab*_0x92bcb1,_0x5351f5=_0xa0a3a2*_0x57f9b4,_0x11be84=new Uint16Array((_0x3c6eab+0x1)*(_0x5351f5*0x2)+(_0xa0a3a2+0x1)*(_0x58cc90*0x2)+0x4*0x2);for(let _0x1be1ea=0x0;_0x1be1ea<_0x3c6eab+0x1;++_0x1be1ea){for(let _0x3ce4bf=0x0;_0x3ce4bf<_0x5351f5;++_0x3ce4bf){const _0x248dcb=_0x1be1ea*_0x92bcb1;_0x11be84[(_0x1be1ea*_0x5351f5+_0x3ce4bf)*0x2+0x0]=_0x3ce4bf*(_0x58cc90+0x1)+_0x248dcb,_0x11be84[(_0x1be1ea*_0x5351f5+_0x3ce4bf)*0x2+0x1]=(_0x3ce4bf+0x1)*(_0x58cc90+0x1)+_0x248dcb;}}const _0xb2f0a1=(_0x3c6eab+0x1)*(_0x5351f5*0x2);for(let _0x2ec00b=0x0;_0x2ec00b<_0xa0a3a2+0x1;++_0x2ec00b){for(let _0x48099e=0x0;_0x48099e<_0x58cc90;++_0x48099e){const _0x4709cc=_0x2ec00b*_0x57f9b4;_0x11be84[_0xb2f0a1+(_0x48099e+_0x2ec00b*_0x58cc90)*0x2+0x0]=_0x4709cc*(_0x58cc90+0x1)+_0x48099e,_0x11be84[_0xb2f0a1+(_0x48099e+_0x2ec00b*_0x58cc90)*0x2+0x1]=_0x4709cc*(_0x58cc90+0x1)+_0x48099e+0x1;}}return _0x11be84;}const Cesium$9=mars3d__namespace[_0x2a61be(0x1a2,0x2d7)];function computeVertexNormals(_0x3dab81){function _0x14abdc(_0x15113c,_0x5d05a6){return _0x2a61be(_0x5d05a6,_0x15113c-0x237);}const _0x379f6e=_0x3dab81['indices'],_0x3c0e44=_0x3dab81['attributes'];function _0x3c5f0d(_0x4715e2,_0x4af2ea){return _0x4925de(_0x4715e2,_0x4af2ea-0x309);}const _0x499c6f=_0x379f6e[_0x14abdc(0x3f7,0x381)];if(_0x3c0e44['position']){const _0x5752e7=_0x3c0e44[_0x3c5f0d(0x51b,0x56e)][_0x3c5f0d(0x48f,0x4f4)];if(_0x3c0e44[_0x3c5f0d(0x622,0x4b1)]===undefined)_0x3c0e44['normal']=new Cesium$9[(_0x14abdc(0x67b,0x644))]({'componentDatatype':Cesium$9[_0x3c5f0d(0x6f4,0x69f)]['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array(_0x5752e7['length'])});else{const _0x35a29e=_0x3c0e44['normal'][_0x3c5f0d(0x3a9,0x4f4)];for(let _0x1df428=0x0;_0x1df428<_0x499c6f;_0x1df428++){_0x35a29e[_0x1df428]=0x0;}}const _0x12ce3=_0x3c0e44[_0x3c5f0d(0x485,0x4b1)]['values'];let _0x59869d,_0x2500c9,_0x4f4bf8;const _0x2257ff=new Cesium$9[(_0x3c5f0d(0x658,0x51a))](),_0x9475bd=new Cesium$9['Cartesian3'](),_0x69cae=new Cesium$9[(_0x14abdc(0x4f9,0x441))](),_0x3e8969=new Cesium$9['Cartesian3'](),_0x5189ea=new Cesium$9[(_0x3c5f0d(0x3d6,0x51a))]();for(let _0x4d2a3f=0x0;_0x4d2a3f<_0x499c6f;_0x4d2a3f+=0x3){_0x59869d=_0x379f6e[_0x4d2a3f+0x0]*0x3,_0x2500c9=_0x379f6e[_0x4d2a3f+0x1]*0x3,_0x4f4bf8=_0x379f6e[_0x4d2a3f+0x2]*0x3,Cesium$9['Cartesian3']['fromArray'](_0x5752e7,_0x59869d,_0x2257ff),Cesium$9['Cartesian3'][_0x14abdc(0x402,0x316)](_0x5752e7,_0x2500c9,_0x9475bd),Cesium$9[_0x14abdc(0x4f9,0x584)]['fromArray'](_0x5752e7,_0x4f4bf8,_0x69cae),Cesium$9['Cartesian3'][_0x14abdc(0x5bf,0x4e7)](_0x69cae,_0x9475bd,_0x3e8969),Cesium$9['Cartesian3']['subtract'](_0x2257ff,_0x9475bd,_0x5189ea),Cesium$9['Cartesian3']['cross'](_0x3e8969,_0x5189ea,_0x3e8969),_0x12ce3[_0x59869d]+=_0x3e8969['x'],_0x12ce3[_0x59869d+0x1]+=_0x3e8969['y'],_0x12ce3[_0x59869d+0x2]+=_0x3e8969['z'],_0x12ce3[_0x2500c9]+=_0x3e8969['x'],_0x12ce3[_0x2500c9+0x1]+=_0x3e8969['y'],_0x12ce3[_0x2500c9+0x2]+=_0x3e8969['z'],_0x12ce3[_0x4f4bf8]+=_0x3e8969['x'],_0x12ce3[_0x4f4bf8+0x1]+=_0x3e8969['y'],_0x12ce3[_0x4f4bf8+0x2]+=_0x3e8969['z'];}normalizeNormals(_0x3dab81),_0x3c0e44[_0x14abdc(0x490,0x59f)]['needsUpdate']=!![];}return _0x3dab81;}function normalizeNormals(_0x8f302d){const _0x3fab60=_0x8f302d[_0x23e01b(0x155,0x2c5)][_0x24b2dd(0x2d4,0x1b5)][_0x23e01b(0x264,0x259)];function _0x24b2dd(_0x290ac7,_0x53051c){return _0x2a61be(_0x53051c,_0x290ac7-0x7b);}let _0x5c0e1a,_0x46c00c,_0x1b631e,_0x46ee4f;function _0x23e01b(_0x49e576,_0x46566a){return _0x2a61be(_0x49e576,_0x46566a- -0x43);}for(let _0x169757=0x0;_0x169757<_0x3fab60['length'];_0x169757+=0x3){_0x5c0e1a=_0x3fab60[_0x169757],_0x46c00c=_0x3fab60[_0x169757+0x1],_0x1b631e=_0x3fab60[_0x169757+0x2],_0x46ee4f=0x1/Math['sqrt'](_0x5c0e1a*_0x5c0e1a+_0x46c00c*_0x46c00c+_0x1b631e*_0x1b631e),_0x3fab60[_0x169757]=_0x5c0e1a*_0x46ee4f,_0x3fab60[_0x169757+0x1]=_0x46c00c*_0x46ee4f,_0x3fab60[_0x169757+0x2]=_0x1b631e*_0x46ee4f;}}function style2Primitive(_0x244667={},_0x3406b1){_0x244667=_0x244667||{};_0x3406b1==null&&(_0x3406b1={});function _0x3cfe3c(_0x22104e,_0x25dd89){return _0x2a61be(_0x25dd89,_0x22104e-0x155);}for(const _0x56e3cb in _0x244667){const _0x165252=_0x244667[_0x56e3cb];if(mars3d__namespace['Util']['isSimpleType'](_0x165252))switch(_0x56e3cb){case'opacity':case _0x3cfe3c(0x59d,0x5ab):break;case'color':{let _0x3a9f4a;mars3d__namespace['Util'][_0x3cfe3c(0x31a,0x406)](_0x165252)?(_0x3a9f4a=Cesium$9[_0x491018(0x59f,0x5a4)]['fromCssColorString'](_0x165252),Cesium$9[_0x491018(0x6b8,0x604)](_0x244667['opacity'])&&(_0x3a9f4a=_0x3a9f4a['withAlpha'](Number(_0x244667['opacity'])))):_0x3a9f4a=_0x165252;_0x3406b1[_0x491018(0x68d,0x7a6)]=_0x3a9f4a;break;}case'outline':_0x3406b1[_0x3cfe3c(0x3a7,0x488)]=_0x165252;!_0x165252&&(_0x3406b1['outlineColor']=new Cesium$9[(_0x3cfe3c(0x424,0x2e6))](0x0,0x0,0x0,0x0));break;case _0x491018(0x59e,0x610):{let _0x1492c2;if(mars3d__namespace['Util']['isString'](_0x165252)){_0x1492c2=Cesium$9[_0x3cfe3c(0x424,0x4a8)]['fromCssColorString'](_0x165252);if(Cesium$9[_0x3cfe3c(0x53d,0x66e)](_0x244667['outlineOpacity']))_0x1492c2=_0x1492c2['withAlpha'](Number(_0x244667[_0x491018(0x718,0x772)]));else Cesium$9['defined'](_0x244667[_0x491018(0x4b7,0x59c)])&&(_0x1492c2=_0x1492c2['withAlpha'](Number(_0x244667['opacity'])));}else _0x1492c2=_0x165252;_0x3406b1['outlineColor']=_0x1492c2;break;}case'startFovV':case'endFovV':case'startFovH':case'endFovH':_0x3406b1[_0x56e3cb]=Cesium$9[_0x491018(0x4ff,0x456)]['toRadians'](_0x165252);break;default:_0x3406b1[_0x56e3cb]=_0x165252;break;}else _0x3406b1[_0x56e3cb]=_0x165252;}function _0x491018(_0x348161,_0x2576ac){return _0x4925de(_0x2576ac,_0x348161-0x381);}return _0x3406b1;}var _0x573e95={};_0x573e95['__proto__']=null,_0x573e95['computeVertexNormals']=computeVertexNormals,_0x573e95[_0x4925de(-0x2a,0x10e)]=style2Primitive;var SpaceUtil=_0x573e95;const Cesium$8=mars3d__namespace['Cesium'],BasePointPrimitive$4=mars3d__namespace['graphic']['BasePointPrimitive'];class CamberRadar extends BasePointPrimitive$4{get[_0x2a61be(0x4d1,0x3f5)](){return this['style']['startRadius'];}set[_0x4925de(0x37d,0x344)](_0x5f2ff2){function _0x2a2243(_0x354104,_0xa8c267){return _0x2a61be(_0x354104,_0xa8c267-0x37);}function _0x36e27(_0x483b2d,_0x267e44){return _0x4925de(_0x267e44,_0x483b2d-0x2b);}this[_0x2a2243(0x35d,0x3cb)]['startRadius']=_0x5f2ff2,this[_0x2a2243(0x561,0x3ff)]&&(this[_0x2a2243(0x475,0x3ff)]['startRadius']=_0x5f2ff2);}get['radius'](){function _0x16cd34(_0x1de66f,_0x3ab72e){return _0x2a61be(_0x1de66f,_0x3ab72e-0x29f);}function _0x13e42a(_0x22ad72,_0xf77ecf){return _0x4925de(_0xf77ecf,_0x22ad72-0x1d1);}return this[_0x16cd34(0x6e3,0x633)][_0x13e42a(0x2d4,0x411)];}set['radius'](_0x49d09d){function _0x31d964(_0x5cedef,_0x28a1be){return _0x4925de(_0x28a1be,_0x5cedef- -0x303);}this[_0x31d964(-0x20,-0x17d)][_0x31d964(-0x200,-0x2b1)]=_0x49d09d;function _0x87e460(_0x38d22c,_0x1e78ce){return _0x2a61be(_0x38d22c,_0x1e78ce- -0x2d8);}this[_0x31d964(0x14,0x148)]&&(this['_primitive']['radius']=_0x49d09d);}get[_0x2a61be(0x342,0x222)](){function _0x698fdd(_0x463011,_0x13fd4b){return _0x4925de(_0x13fd4b,_0x463011-0x410);}return this['style'][_0x698fdd(0x581,0x52c)];}set['startFovV'](_0x411ee8){function _0x5adf60(_0x447e8c,_0xbf6f28){return _0x2a61be(_0x447e8c,_0xbf6f28- -0x3a7);}this['style']['startFovV']=_0x411ee8;function _0x54a0b9(_0x1cc7e0,_0x25f128){return _0x4925de(_0x25f128,_0x1cc7e0-0x2fa);}this['_primitive']&&(this[_0x54a0b9(0x611,0x6a8)]['startFovV']=Cesium$8[_0x5adf60(-0x156,-0x178)]['toRadians'](_0x411ee8));}get[_0x2a61be(0x1e2,0x1b2)](){function _0x23d1ce(_0x6fc97,_0x599b74){return _0x4925de(_0x6fc97,_0x599b74- -0x298);}function _0x309ab1(_0x2d06c3,_0x5aea57){return _0x4925de(_0x2d06c3,_0x5aea57-0x4b2);}return this[_0x23d1ce(-0x50,0x4b)][_0x309ab1(0x48f,0x5b3)];}set['endFovV'](_0x41fc37){this['style']['endFovV']=_0x41fc37;function _0x67ec5f(_0x886956,_0x597270){return _0x2a61be(_0x886956,_0x597270- -0x11a);}this['_primitive']&&(this['_primitive'][_0x67ec5f(-0xbf,0x98)]=Cesium$8['Math']['toRadians'](_0x41fc37));}get[_0x2a61be(0x412,0x32d)](){function _0x3d82e1(_0x335134,_0x59a0f3){return _0x4925de(_0x335134,_0x59a0f3- -0x2dc);}return this['style'][_0x3d82e1(-0x177,-0x60)];}set[_0x2a61be(0x346,0x32d)](_0x840ac5){function _0x59c064(_0xc8a229,_0x4c5447){return _0x2a61be(_0xc8a229,_0x4c5447-0x26b);}function _0xbdefcf(_0x491a6f,_0x11bcce){return _0x4925de(_0x491a6f,_0x11bcce- -0x62);}this['style'][_0xbdefcf(0x2fd,0x21a)]=_0x840ac5,this[_0xbdefcf(0x308,0x2b5)]&&(this['_primitive']['startFovH']=Cesium$8['Math'][_0xbdefcf(0x1fb,0x337)](_0x840ac5));}get['endFovH'](){function _0x32f0b8(_0xeb33c6,_0x41a946){return _0x2a61be(_0xeb33c6,_0x41a946- -0x1f);}return this[_0x32f0b8(0x3e8,0x375)]['endFovH'];}set['endFovH'](_0x9b8ffc){function _0x2c8917(_0x192983,_0x2abd74){return _0x4925de(_0x192983,_0x2abd74- -0xc0);}this['style']['endFovH']=_0x9b8ffc;function _0x4171c3(_0x4cd8e0,_0x2cafbb){return _0x4925de(_0x2cafbb,_0x4cd8e0-0x35b);}this[_0x4171c3(0x672,0x62c)]&&(this[_0x2c8917(0x2c3,0x257)][_0x4171c3(0x622,0x685)]=Cesium$8['Math']['toRadians'](_0x9b8ffc));}get['color'](){function _0x435ebf(_0x316267,_0x46cdbf){return _0x2a61be(_0x316267,_0x46cdbf- -0x97);}return this[_0x435ebf(0x372,0x2fd)]['color'];}set['color'](_0x309dc9){function _0x1c132d(_0x55cb92,_0xc30974){return _0x2a61be(_0xc30974,_0x55cb92-0x1f7);}function _0x447dae(_0x2ccee4,_0x105fa0){return _0x2a61be(_0x105fa0,_0x2ccee4-0x318);}this['style'][_0x1c132d(0x5b4,0x6a7)]=_0x309dc9,this[_0x447dae(0x6e0,0x6b6)]&&(this[_0x447dae(0x6e0,0x5de)][_0x1c132d(0x5b4,0x535)]=mars3d__namespace['Util'][_0x447dae(0x775,0x8ce)](_0x309dc9));}[_0x2a61be(0x4a5,0x462)](){function _0x2ee6bd(_0x262fec,_0x831bde){return _0x4925de(_0x262fec,_0x831bde- -0xce);}function _0x3ab8ad(_0x40a7d4,_0x1106fe){return _0x2a61be(_0x1106fe,_0x40a7d4-0x29a);}this['_primitive']=this['primitiveCollection'][_0x2ee6bd(0x36,0x112)](new CamberRadarPrimitive({...style2Primitive(this[_0x3ab8ad(0x62e,0x58e)]),'id':this['id'],'modelMatrix':this['modelMatrix']}));}['_updateStyleHook'](_0x3cc8cd,_0x24cfbd){(Cesium$8[_0x6cd0e3(0x269,0x312)](_0x26d796(0x286,0x190))||Cesium$8['defined']('pitch')||Cesium$8['defined'](_0x26d796(0x48f,0x4e6)))&&(this['_primitive']['modelMatrix']=this['modelMatrix']);function _0x26d796(_0x11ca22,_0x252328){return _0x2a61be(_0x252328,_0x11ca22-0x75);}function _0x6cd0e3(_0x594e7a,_0xfb1b5){return _0x4925de(_0x594e7a,_0xfb1b5- -0x25);}style2Primitive(_0x24cfbd,this['_primitive']);}[_0x4925de(0x247,0x16c)](_0x43dd88){this['style'][_0x4bfb24(0x15,-0x143)]=_0x43dd88;function _0x4bfb24(_0xbfa2e0,_0x9bf077){return _0x4925de(_0x9bf077,_0xbfa2e0- -0x16a);}this['_primitive']&&(this['_primitive']['_globalAlpha']=_0x43dd88);}['_getDrawEntityClass'](_0x148ee6,_0xd143ac){_0x148ee6['drawShow']=![];function _0x37385e(_0x316ada,_0x3c06e1){return _0x2a61be(_0x3c06e1,_0x316ada-0x115);}return mars3d__namespace['GraphicUtil']['create'](_0x37385e(0x4de,0x637),_0x148ee6);}}mars3d__namespace['graphic'][_0x4925de(0x319,0x229)]=CamberRadar,mars3d__namespace['GraphicUtil'][_0x4925de(0x4be,0x360)]('camberRadar',CamberRadar,!![]);const Cesium$7=mars3d__namespace['Cesium'],BasePointPrimitive$3=mars3d__namespace[_0x4925de(0x21f,0x251)]['BasePointPrimitive'],{getCesiumColor,getColorByStyle}=mars3d__namespace[_0x4925de(0x42d,0x2ce)],{register:register$1}=mars3d__namespace['GraphicUtil'],{getPositionByHprAndLen}=mars3d__namespace['PointUtil'];var _0x2c488b={};_0x2c488b['globalAlpha']=0x1,_0x2c488b['scale']=0x1,_0x2c488b[_0x2a61be(0x244,0x2de)]=!![],_0x2c488b[_0x4925de(0x455,0x30c)]='rgba(0,255,0,0.5)',_0x2c488b[_0x4925de(0x18d,0x21d)]=_0x4925de(0x2d9,0x308);const DEF_STYLE$1=_0x2c488b;class JammingRadar extends BasePointPrimitive$3{constructor(_0x1371f0={}){function _0x34822d(_0x541b8e,_0x45f333){return _0x4925de(_0x45f333,_0x541b8e- -0x223);}_0x1371f0[_0x34822d(0xc0,0x1a9)]={...DEF_STYLE$1,..._0x1371f0[_0x34822d(0xc0,0x26)]};function _0x42c1fb(_0x30796e,_0x323ce4){return _0x4925de(_0x30796e,_0x323ce4-0x499);}super(_0x1371f0);}get['czmObjectEx'](){const _0x24488e=[];function _0x4d5927(_0x4d5c93,_0x541bd5){return _0x2a61be(_0x4d5c93,_0x541bd5-0x250);}return this['_primitive_outline']&&_0x24488e['push'](this[_0x4d5927(0x52f,0x441)]),_0x24488e;}get['vertexs'](){function _0x225807(_0x1f6e72,_0x513c3a){return _0x2a61be(_0x513c3a,_0x1f6e72-0x2a6);}return this['options'][_0x225807(0x546,0x412)];}set[_0x2a61be(0x2ab,0x2a0)](_0x5820cc){this['options']['vertexs']=_0x5820cc;function _0x390a3c(_0x333e43,_0x3523c3){return _0x2a61be(_0x3523c3,_0x333e43-0x39b);}this[_0x390a3c(0x716,0x810)]();}[_0x4925de(0x3f1,0x30d)](_0x5b1be5,_0x275e4c){this['redraw'](_0x5b1be5);}['_addedHook'](_0x495618){function _0x4aff77(_0x3414d4,_0x5d1375){return _0x2a61be(_0x3414d4,_0x5d1375- -0x111);}if(!this['_position']||!this[_0x4e5c9f(0x1ce,0x259)])return;this['_calcSkinAndBone'](),this['_createRadarPrimitive']();function _0x4e5c9f(_0x5f01c1,_0x5ebb94){return _0x2a61be(_0x5ebb94,_0x5f01c1- -0xd2);}this[_0x4e5c9f(0x25a,0x26d)]['add'](this[_0x4aff77(0x34f,0x2b7)]),this['style'][_0x4aff77(0x234,0x141)]&&this[_0x4e5c9f(0x25a,0x274)]['add'](this['_primitive_outline']),this['_availability']&&this[_0x4aff77(0x265,0x1a1)](this['_availability']);}['_removedHook'](){!this[_0x2c38d2(0x31c,0x25f)]&&(this[_0x1317d0(-0x12c,-0x12c)](),this[_0x2c38d2(0x1f6,0x298)]());this['_primitive']&&(this[_0x1317d0(-0x151,-0x1c)]['remove'](this['_primitive']),delete this['_primitive']);function _0x2c38d2(_0x1be748,_0x2f8665){return _0x2a61be(_0x1be748,_0x2f8665-0xb);}function _0x1317d0(_0x358250,_0x232dfe){return _0x4925de(_0x358250,_0x232dfe- -0x297);}this[_0x1317d0(-0x25,-0x157)]&&(this['primitiveCollection'][_0x1317d0(-0xc0,0xa1)](this['_primitive_outline']),delete this[_0x1317d0(-0x87,-0x157)]);}[_0x4925de(0x2b4,0x1e6)](){function _0x5509bb(_0x2e74ef,_0x37c209){return _0x4925de(_0x2e74ef,_0x37c209-0x23);}function _0x4c0d56(_0x3e4604,_0x10d4b8){return _0x4925de(_0x3e4604,_0x10d4b8-0x2b3);}this['_arrVerticesPos']=[],this['_arrColor']=[],this['_arrOutlineColor']=[];let _0x5ff8eb=getColorByStyle(this[_0x5509bb(0x27d,0x306)],![]),_0x3c0970=getCesiumColor(this['style'][_0x5509bb(0x392,0x240)],![]);this['style']['autoColor']&&(_0x5ff8eb=![],_0x3c0970=![]);_0x3c0970&&(_0x3c0970['alpha']*=this['style'][_0x5509bb(0x130,0x1a2)]);const _0x2c093e=this[_0x4c0d56(0x37b,0x4e1)]['vertexs'];for(let _0xab4077=0x0,_0xab4ab2=_0x2c093e['length']-0x1;_0xab4077<_0xab4ab2;_0xab4077++){const _0x24f2aa=_0x2c093e[_0xab4077],_0x2ab8b6=_0x2c093e[_0xab4077+0x1];for(let _0x2fe6d2=0x0,_0x809923=_0x24f2aa['length'];_0x2fe6d2<_0x809923;_0x2fe6d2++){const _0xecf933=_0x24f2aa[_0x2fe6d2],_0x1f39be=(_0x2fe6d2+0x1)%_0x809923,_0x214353=_0x24f2aa[_0x1f39be],_0x5a17b6=_0x2ab8b6[_0x2fe6d2],_0x9c9b80=_0x2ab8b6[_0x1f39be],_0x497396=[];var _0x4dbc71={};_0x4dbc71['pitch']=_0xecf933['pitch'],_0x4dbc71['horizontal']=_0xecf933['heading'],_0x4dbc71['radius']=_0xecf933['radius'];const _0x4b6328=_0x4dbc71;var _0xe101f9={};_0xe101f9[_0x4c0d56(0x4d3,0x5c9)]=_0x214353[_0x4c0d56(0x4fb,0x5c9)],_0xe101f9['horizontal']=_0x214353['heading'],_0xe101f9['radius']=_0x214353['radius'];const _0x1ecfd3=_0xe101f9;var _0x38f81e={};_0x38f81e['pitch']=_0x5a17b6['pitch'],_0x38f81e['horizontal']=_0x5a17b6['heading'],_0x38f81e['radius']=_0x5a17b6[_0x5509bb(0x1d5,0x126)];const _0xceedf5=_0x38f81e;var _0xcc654a={};_0xcc654a[_0x4c0d56(0x62a,0x5c9)]=_0x9c9b80[_0x5509bb(0x206,0x339)],_0xcc654a['horizontal']=_0x9c9b80['heading'],_0xcc654a['radius']=_0x9c9b80[_0x5509bb(0x257,0x126)];const _0x4ccef8=_0xcc654a;_0x497396[_0x5509bb(0x2fd,0x197)](...this['_getPostVec3'](_0x4b6328)),_0x497396['push'](...this[_0x5509bb(0x26b,0x395)](_0x1ecfd3)),_0x497396['push'](...this[_0x4c0d56(0x5df,0x625)](_0xceedf5)),_0x497396[_0x4c0d56(0x4c9,0x427)](...this['_getPostVec3'](_0x4ccef8)),this['_arrVerticesPos']['push'](_0x497396);const _0x1bfcb2=Cesium$7['Math'][_0x4c0d56(0x69b,0x64c)](0x5a-_0xecf933['pitch']),_0x461e0c=Cesium$7['Math']['toRadians'](0x5a-_0x5a17b6['pitch']);Cesium$7[_0x4c0d56(0x539,0x431)]['toRadians'](_0x214353['heading']);const _0x56bf04=getPercent$1(_0x1bfcb2,_0xecf933['heading']),_0x2a1189=getPercent$1(_0x1bfcb2),_0x4db8c8=getPercent$1(_0x461e0c,_0xecf933['heading']),_0x1be3e4=getPercent$1(_0x461e0c),_0x4bb7fc=this['_getColorArray'](_0x5ff8eb,_0x56bf04,_0x2a1189,_0x4db8c8,_0x1be3e4);this['_arrColor']['push'](_0x4bb7fc);if(this[_0x4c0d56(0x5f0,0x596)][_0x5509bb(0xe2,0x1c4)]){const _0x4bcf25=this['_getColorArray'](_0x3c0970,_0x56bf04,_0x2a1189,_0x4db8c8,_0x1be3e4);this['_arrOutlineColor']['push'](_0x4bcf25);}}}}[_0x2a61be(0x26b,0x209)](){const _0x15ea37=this[_0x20fa34(-0xb,0x1c)]||Cesium$7[_0x20fa34(-0x16b,-0xf8)]['IDENTITY'],_0x5e6b30=[],_0x1dee5a=[];function _0xfc082(_0x4b4c43,_0x4f6eb9){return _0x2a61be(_0x4f6eb9,_0x4b4c43- -0x23b);}for(let _0x17f7ea=0x0;_0x17f7ea0.7)return[0x1,0x0,0x0,0.1+_0x4a7977];const _0x482fa4=0xff*(0x1-_0x596187/0.7),_0x3827e2=HSVtoRGB(_0x482fa4,0x64,0x64);return new Cesium$7['Color'](_0x3827e2['r'],_0x3827e2['g'],_0x3827e2['b'],_0x4a7977*(0x1-_0x596187));}function HSVtoRGB(_0x21ad4f,_0x5ad191,_0x24168f){let _0xda4e79,_0x47c5ab,_0x1a48b8,_0x68a197,_0x32753a;const _0x919a9=((_0x32753a=2.55*_0x24168f)-(_0x68a197=_0x32753a*(0x64-_0x5ad191)/0x64))*(_0x21ad4f%0x3c)/0x3c;switch(parseInt(_0x21ad4f/0x3c)){case 0x0:_0xda4e79=_0x32753a,_0x47c5ab=_0x68a197+_0x919a9,_0x1a48b8=_0x68a197;break;case 0x1:_0xda4e79=_0x32753a-_0x919a9,_0x47c5ab=_0x32753a,_0x1a48b8=_0x68a197;break;case 0x2:_0xda4e79=_0x68a197,_0x47c5ab=_0x32753a,_0x1a48b8=_0x68a197+_0x919a9;break;case 0x3:_0xda4e79=_0x68a197,_0x47c5ab=_0x32753a-_0x919a9,_0x1a48b8=_0x32753a;break;case 0x4:_0xda4e79=_0x68a197+_0x919a9,_0x47c5ab=_0x68a197,_0x1a48b8=_0x32753a;break;default:_0xda4e79=_0x32753a,_0x47c5ab=_0x68a197,_0x1a48b8=_0x32753a-_0x919a9;}var _0x1685ad={};return _0x1685ad['r']=_0xda4e79/0xff,_0x1685ad['g']=_0x47c5ab/0xff,_0x1685ad['b']=_0x1a48b8/0xff,_0x1685ad;}const Cesium$6=mars3d__namespace[_0x4925de(0x396,0x226)],LngLatPoint=mars3d__namespace[_0x4925de(-0x2a,0xe7)],MarsArray=mars3d__namespace[_0x4925de(0x26a,0x36b)],{register}=mars3d__namespace['GraphicUtil'];var _0x124f40={};_0x124f40['pt']=0x7a1200,_0x124f40['gt']=0x1f4,_0x124f40['lambda']=0.056,_0x124f40['sigma']=0x3,_0x124f40['n']=0x10,_0x124f40['k']=1.38e-23,_0x124f40['t0']=0x122,_0x124f40['bn']=0x186a00,_0x124f40['fn']=0x5,_0x124f40['sn']=0x2;const DEF_STYLE=_0x124f40;var _0xf004ae={};_0xf004ae[_0x2a61be(0x257,0x1ca)]=0xa,_0xf004ae[_0x2a61be(0x22a,0x1f0)]=0xa,_0xf004ae['bji']=0x1e8480,_0xf004ae['yji']=0.5,_0xf004ae['kj']=0x2,_0xf004ae['theta05']=0x14,_0xf004ae['k']=0.1,_0xf004ae[_0x4925de(0x20c,0x1b6)]=0x0,_0xf004ae['dBeta']=0x0,_0xf004ae[_0x4925de(0x300,0x302)]=0xa,_0xf004ae[_0x2a61be(0x1d0,0x24c)]=0x0,_0xf004ae['pitch']=0x0,_0xf004ae['show']=!![];const DEF_JAMMER_OPTIONS=_0xf004ae;class FixedJammingRadar extends JammingRadar{constructor(_0x31913e){_0x31913e['style']={...DEF_STYLE,..._0x31913e['style']},super(_0x31913e),this['_jammerList']=new MarsArray();}get['disturbRatio'](){function _0x577ac0(_0x3cf87e,_0x23a07c){return _0x4925de(_0x23a07c,_0x3cf87e-0x104);}return this[_0x577ac0(0x332,0x277)]['disturbRatio']??0x1;}set[_0x2a61be(0x1b5,0x1ad)](_0x4ce352){this['options']['disturbRatio']=_0x4ce352;}['_mountedHook'](_0x2abc32){function _0x323744(_0x10373f,_0xe99779){return _0x4925de(_0x10373f,_0xe99779-0x10f);}this[_0x323744(0x27d,0x33d)]['jammers']?this['addJammers'](this['options']['jammers']):this['_updateVertexs'](),super['_mountedHook'](_0x2abc32);}[_0x2a61be(0x3af,0x3be)](_0x298ace,_0x3acd98){function _0x43dd02(_0x2ec02a,_0x4fe97f){return _0x4925de(_0x2ec02a,_0x4fe97f-0x136);}this[_0x43dd02(0x3d6,0x3e7)]();}[_0x4925de(0x250,0x194)](_0x3d6277,_0x2c0108){function _0x5da0be(_0x4b54c1,_0x1f292f){return _0x2a61be(_0x1f292f,_0x4b54c1-0x60);}this[_0x5da0be(0x3c2,0x2c7)]();}[_0x2a61be(0x44b,0x458)](_0x22db5b){function _0x5629f0(_0x2570f0,_0x53c47c){return _0x4925de(_0x53c47c,_0x2570f0- -0x1f);}function _0x572088(_0x260849,_0x4f73af){return _0x4925de(_0x260849,_0x4f73af- -0x14b);}if(_0x22db5b&&_0x22db5b['length']>0x0){for(let _0x1f5a03=0x0;_0x1f5a03<_0x22db5b['length'];_0x1f5a03++){var _0x28da4a={...DEF_JAMMER_OPTIONS,..._0x22db5b[_0x1f5a03]};const _0x44656d=_0x28da4a;this[_0x5629f0(0x21f,0x17c)]['set'](_0x44656d['id'],_0x44656d);}this[_0x5629f0(0x292,0x2da)]();}}['addJammer'](_0x11039f){if(!this['_jammerList'])return;_0x11039f={...DEF_JAMMER_OPTIONS,..._0x11039f};function _0x5cb1e8(_0x55c53e,_0x33d9b6){return _0x2a61be(_0x33d9b6,_0x55c53e- -0x359);}this[_0x48281d(0x56,0x169)]['set'](_0x11039f['id'],_0x11039f);function _0x48281d(_0x46d9e4,_0x40eb83){return _0x4925de(_0x40eb83,_0x46d9e4- -0x1e8);}return this['_updateVertexs'](),this['_jammerList'][_0x5cb1e8(-0x16d,-0x23b)](_0x11039f['id']);}['removeJammer'](_0x4b0922){if(!this[_0x50f516(0x164,0xbf)])return;function _0x50f516(_0x7ee95d,_0x51076f){return _0x2a61be(_0x51076f,_0x7ee95d- -0x18b);}this[_0x2d1642(0x5da,0x55c)]['remove'](_0x4b0922['id']);function _0x2d1642(_0x3c2372,_0xf9bef7){return _0x2a61be(_0xf9bef7,_0x3c2372-0x2eb);}this['_updateVertexs']();}['clearJammer'](){if(!this['_jammerList'])return;function _0xa85ca0(_0x162dc8,_0x21c8d8){return _0x2a61be(_0x21c8d8,_0x162dc8-0x40b);}function _0x481fb7(_0x258e6c,_0x1db1a4){return _0x4925de(_0x1db1a4,_0x258e6c- -0x1ac);}this[_0x481fb7(0x92,0x73)]['removeAll'](),this[_0xa85ca0(0x76d,0x7cf)]();}['getJammer'](_0x4a9534){if(!this['_jammerList'])return;function _0x5936ac(_0x2a268e,_0x448d17){return _0x2a61be(_0x448d17,_0x2a268e-0x3f0);}return this['_jammerList'][_0x5936ac(0x5dc,0x6ed)](_0x4a9534);}['_updateVertexs'](){var _0x4539e9;const _0x3e6fbd=this['style']['pt']*Math[_0x12a499(-0x1e1,-0x10f)](this[_0x12a499(-0x13,-0x27)]['gt'],0x2)*Math[_0x12a499(-0x1e1,-0x19e)](this['style']['lambda'],0x2)*this['style']['sigma']*Math['pow'](this[_0x12a499(-0x13,-0x176)]['n'],0.5),_0x4be1ac=Math['pow'](0x4*Math['PI'],0x3)*this['style']['k']*this['style']['t0']*this['style']['bn']*this[_0x12a499(-0x13,0x60)]['fn']*this[_0x27ba9f(0x3a6,0x2cb)]['sn'];this[_0x12a499(0x76,-0x6e)]=Math['pow'](_0x3e6fbd/_0x4be1ac,0.25);const _0x5f7010=[];let _0x39cc7c=0x0;function _0x27ba9f(_0xd4dc9b,_0x563eb3){return _0x4925de(_0x563eb3,_0xd4dc9b-0xc3);}const _0x55f4c0=this['_position']&&((_0x4539e9=this['_jammerList'])===null||_0x4539e9===void 0x0?void 0x0:_0x4539e9['length'])>0x0;_0x55f4c0&&(this[_0x27ba9f(0x3f2,0x387)](),_0x39cc7c=this['style']['pt']*Math[_0x27ba9f(0x1d8,0x281)](this['style']['gt'],0x2)*Math[_0x12a499(-0x1e1,-0x20b)](this[_0x12a499(-0x13,0x78)]['lambda'],0x2)*0x2*this['style']['sigma']*Math['pow'](this['style']['n'],0.5));this['_mapJamDir2Sum']=new Map();const _0xdc28f8=0xa;function _0x12a499(_0x14a2fd,_0x32b239){return _0x4925de(_0x32b239,_0x14a2fd- -0x2f6);}const _0x1be204=0xa;for(let _0x5a406c=0x0;_0x5a406c<=0x5a;_0x5a406c+=_0xdc28f8){const _0x21c601=[];for(let _0x586f13=0x0;_0x586f13<=0x168;_0x586f13+=_0x1be204){const _0x22822f=Cesium$6['Math'][_0x27ba9f(0x45c,0x41d)](_0x5a406c),_0x5482f1=Cesium$6['Math'][_0x27ba9f(0x45c,0x513)](_0x586f13),_0x52cc65=getPercent(_0x22822f);let _0xe48b79=0x0;if(_0x55f4c0){const _0x5b0f7a=this[_0x27ba9f(0x3ad,0x369)](_0x5482f1);_0xe48b79=this[_0x27ba9f(0x218,0x2f8)](_0x52cc65,_0x5b0f7a,_0x39cc7c);}else _0xe48b79=_0x52cc65*this['_dRadarMaxDis'];var _0x18c42e={};_0x18c42e['heading']=-0xb4+_0x586f13,_0x18c42e[_0x27ba9f(0x3d9,0x30a)]=0x5a-_0x5a406c,_0x18c42e[_0x27ba9f(0x1c6,0xaf)]=_0xe48b79,_0x21c601['push'](_0x18c42e);}_0x5f7010['push'](_0x21c601);}this[_0x12a499(-0x107,-0x8c)]=_0x5f7010;}[_0x2a61be(0x2e1,0x3e0)](){function _0x4bfe10(_0x375967,_0x497789){return _0x2a61be(_0x375967,_0x497789- -0x59);}if(this['disturbRatio']<=0x0)return;const _0x54374e=this[_0x4bfe10(0x227,0x2bd)];this['_jammerList']['forEach'](_0x6ce661=>{const _0x24a158=LngLatPoint['toCartesian'](_0x6ce661['position']);_0x6ce661['_position']=_0x24a158,_0x6ce661['rji']=Cesium$6[_0x2784f4(-0x1b9,-0xcd)][_0x2784f4(0x2,-0x113)](_0x54374e,_0x24a158);function _0x1a2a1e(_0x51e169,_0x4465b5){return _0x4bfe10(_0x4465b5,_0x51e169-0x78);}function _0x2784f4(_0x398275,_0x39f372){return _0x4bfe10(_0x398275,_0x39f372- -0x336);}const _0x2e967b=computerHeadingPitchRoll(_0x54374e,_0x24a158);if(!_0x2e967b)return;if(_0x6ce661['azimuth']=_0x2e967b[0x0],_0x6ce661['pitch']=_0x2e967b[0x1],_0x6ce661['azimuth']<0x0&&(_0x6ce661['azimuth']+=0x168),_0x6ce661[_0x2784f4(0xaf,0xd2)]=!![],_0x6ce661['bScanJam']){let _0x2c41ee;(_0x2c41ee=_0x2e967b[0x0])<0x0&&(_0x2c41ee+=0x168);let _0x27222d=(_0x6ce661['dHangle']+_0x6ce661['dVangle'])/0x2;_0x27222d/=0x4,(Math['abs'](_0x6ce661['dAlpha']-_0x2c41ee)>_0x27222d||Math[_0x1a2a1e(0x261,0x1a5)](_0x6ce661[_0x2784f4(-0x82,-0xc5)]-_0x6ce661['pitch'])>_0x27222d)&&(_0x6ce661[_0x2784f4(0x23a,0xd2)]=![]);}});}[_0x2a61be(0x33d,0x39b)](_0x548054){function _0x1e01dd(_0x5347ef,_0x37e765){return _0x4925de(_0x37e765,_0x5347ef- -0x2f);}function _0x24c25e(_0x225c93,_0x177be3){return _0x4925de(_0x177be3,_0x225c93- -0xba);}if(this['_mapJamDir2Sum']['has'](_0x548054))return this['_mapJamDir2Sum']['get'](_0x548054);else{const _0x520cf5=Cesium$6[_0x24c25e(0xc4,-0x27)][_0x1e01dd(0x113,0x1a7)](_0x548054);let _0x59709c=0x0;return this['_jammerList']['forEach'](_0x1fb7cb=>{function _0x1ead75(_0x2e01d5,_0x5c5123){return _0x1e01dd(_0x2e01d5-0x14b,_0x5c5123);}function _0x1dc02b(_0xb5fdbe,_0x5d18ea){return _0x24c25e(_0xb5fdbe-0x2b3,_0x5d18ea);}if(_0x1fb7cb[_0x1ead75(0x4bc,0x615)]&&_0x1fb7cb[_0x1dc02b(0x5a9,0x643)]!==0x0){_0x1fb7cb[_0x1ead75(0x2d2,0x240)]!==0x0&&_0x1fb7cb[_0x1dc02b(0x412,0x44d)]!==0x0&&(_0x1fb7cb['pji']=_0x1fb7cb[_0x1dc02b(0x312,0x2d2)]+Math['abs'](_0x1fb7cb[_0x1dc02b(0x312,0x31e)]*Math['cos'](Cesium$6[_0x1dc02b(0x377,0x259)][_0x1dc02b(0x592,0x64e)](_0x1fb7cb[_0x1dc02b(0x3af,0x517)]))*Math['cos'](0x2*Cesium$6[_0x1dc02b(0x377,0x46f)][_0x1dc02b(0x592,0x676)](_0x1fb7cb[_0x1ead75(0x2d2,0x34f)]))));let _0xb70c7e=Math['abs'](_0x520cf5-_0x1fb7cb[_0x1dc02b(0x394,0x35d)]);_0xb70c7e>0xb4&&(_0xb70c7e=0x168-_0xb70c7e);_0xb70c7e>=0x0&&_0x1fb7cb[_0x1ead75(0x37c,0x36b)]/0x2>=_0xb70c7e?_0x1fb7cb['gtTheta']=this['style']['gt']:_0xb70c7e<=0x5a?_0x1fb7cb['theta05']/0x2<=_0xb70c7e&&(_0x1fb7cb['gtTheta']=_0x1fb7cb['k']*Math['pow'](_0x1fb7cb['theta05']/_0xb70c7e,0x2)*this[_0x1dc02b(0x4dc,0x60e)]['gt']):_0xb70c7e>=0x5a&&(_0x1fb7cb['gtTheta']=_0x1fb7cb['k']*Math['pow'](_0x1fb7cb['theta05']/0x5a,0x2)*this['style']['gt']);const _0x3fd4c7=_0x1fb7cb[_0x1dc02b(0x312,0x3a3)]*_0x1fb7cb[_0x1ead75(0x25b,0x39c)]*_0x1fb7cb['gtTheta']*this[_0x1dc02b(0x4dc,0x3be)]['bn']*_0x1fb7cb[_0x1dc02b(0x314,0x1b2)]/(Math[_0x1dc02b(0x30e,0x3ea)](_0x1fb7cb['rji'],0x2)*_0x1fb7cb[_0x1dc02b(0x56d,0x551)]);_0x59709c+=_0x3fd4c7;}}),this[_0x1e01dd(0x330,0x353)]['set'](_0x548054,_0x59709c),_0x59709c;}}['_getJammerDistance'](_0x2e5f20,_0x26547c,_0x380377){let _0x555366=Math['pow'](Math['abs'](_0x380377/(0x4*Math['PI']*_0x26547c)),0.25);return(_0x555366=Math['min'](_0x555366,this['_dRadarMaxDis']))*_0x2e5f20*this['disturbRatio'];}}register(_0x2a61be(0x128,0x1b8),FixedJammingRadar),mars3d__namespace[_0x2a61be(0x282,0x302)][_0x2a61be(0x496,0x373)]=FixedJammingRadar;function getPercent(_0x49e5ac){function _0x2eaaca(_0x2d02b0,_0x55092a){return _0x4925de(_0x2d02b0,_0x55092a- -0x157);}function _0x3e2ee9(_0x168cd8,_0x36c877){return _0x4925de(_0x36c877,_0x168cd8-0x2);}return Math['pow'](Math[_0x3e2ee9(0x193,0x1df)](Math['sin'](_0x49e5ac)),0.25)*Math['pow'](Math[_0x3e2ee9(0x10b,0x22a)](_0x49e5ac),0x2);}function computerHeadingPitchRoll(_0x1864dd,_0x28b902){function _0x4077bb(_0x265477,_0x3b61f4){return _0x2a61be(_0x3b61f4,_0x265477- -0x23c);}function _0x56e839(_0x2259bd,_0x34faea){return _0x4925de(_0x34faea,_0x2259bd- -0x19b);}if(_0x1864dd&&_0x28b902){if(Cesium$6['Cartesian3']['equals'](_0x1864dd,_0x28b902))return[0x0,0x0,0x0];const _0x4f52e8=Cesium$6['Transforms']['eastNorthUpToFixedFrame'](_0x1864dd);let _0x198c4b=Cesium$6[_0x4077bb(0xbb,0x1d9)]['clone'](Cesium$6[_0x56e839(0xab,-0x2)][_0x56e839(0xd5,-0x18)]),_0x3e71ae=Cesium$6['Matrix3']['clone'](Cesium$6['Quaternion']['IDENTITY']),_0x548608=Cesium$6[_0x56e839(0x208,0xba)][_0x4077bb(0xa1,0xdf)](Cesium$6['Quaternion']['IDENTITY']);_0x3e71ae=Cesium$6['Matrix4']['getRotation'](_0x4f52e8,_0x3e71ae);let _0x3e1657=new Cesium$6['Cartesian3']();_0x3e1657=Cesium$6[_0x56e839(0x76,-0xaf)]['subtract'](_0x28b902,_0x1864dd,_0x3e1657),_0x548608=Cesium$6[_0x4077bb(0x218,0x2c5)][_0x4077bb(-0x62,0xba)](_0x3e71ae,_0x548608),_0x3e1657=Cesium$6['Matrix3'][_0x4077bb(-0x4d,-0x9e)](_0x548608,_0x3e1657,_0x3e1657);const _0x22438e=Cesium$6['Cartesian3']['UNIT_X'],_0x4fdf66=Cesium$6['Cartesian3'][_0x56e839(0x1ac,0x5e)](_0x3e1657,_0x3e1657),_0x55a19b=Cesium$6['Cartesian3'][_0x4077bb(0x8b,-0x72)](_0x22438e,_0x4fdf66,new Cesium$6['Cartesian3']()),_0x37a802=Cesium$6[_0x4077bb(-0xd,0x135)][_0x56e839(0x1b0,0x8e)](Cesium$6['Cartesian3'][_0x56e839(0x65,-0xb8)](_0x22438e,_0x4fdf66))/(Cesium$6['Cartesian3']['magnitude'](_0x22438e)*Cesium$6[_0x4077bb(0x86,0xfc)]['magnitude'](_0x4fdf66)),_0x4da072=Cesium$6['Quaternion']['fromAxisAngle'](_0x55a19b,_0x37a802,new Cesium$6[(_0x4077bb(0xbb,0x174))](0x0,0x0,0x0,0x0)),_0xfc6ab4=Cesium$6[_0x4077bb(0x218,0xfe)]['fromQuaternion'](_0x4da072,new Cesium$6['Matrix3']());_0x198c4b=Cesium$6['Quaternion']['fromRotationMatrix'](_0xfc6ab4,_0x198c4b);const _0x377d95=new Cesium$6[(_0x56e839(0xff,0x6b))](0x0,0x0,0x0);return Cesium$6['HeadingPitchRoll'][_0x56e839(0x1d2,0x17c)](_0x198c4b,_0x377d95),[Cesium$6['Math'][_0x56e839(-0x59,0xd6)](_0x377d95['heading'])+0x5a,Cesium$6['Math']['toDegrees'](_0x377d95['pitch']),Cesium$6['Math']['toDegrees'](_0x377d95[_0x56e839(0x1ce,0x160)])];}}const Cesium$5=mars3d__namespace['Cesium'];class ConicGeometry{constructor(_0x12753b){this[_0x101bdb(-0xcf,-0x1a6)]=_0x12753b[_0x486f58(0x30,0x105)];function _0x101bdb(_0xf24831,_0xec2077){return _0x2a61be(_0xf24831,_0xec2077- -0x366);}function _0x486f58(_0x173e8c,_0x24ec61){return _0x2a61be(_0x24ec61,_0x173e8c- -0x190);}this['topRadius']=_0x12753b[_0x486f58(0xc3,0x10d)],this['bottomRadius']=_0x12753b[_0x101bdb(-0x65,0x74)],this[_0x486f58(-0x4,-0x109)]=_0x12753b['zReverse'],this[_0x101bdb(-0x178,-0x63)]=Math['max'](_0x12753b[_0x101bdb(0x7e,-0x63)]??0x24,0x10),this[_0x101bdb(0x3c,0x87)]=_0x12753b['slicesR']??0x1;}static['fromAngleAndLength'](_0x5aabd5,_0xe1d332,_0x487bc2,_0x53fb35,_0x50ccb9){_0x5aabd5=Cesium$5['Math']['toRadians'](_0x5aabd5);const _0x465056=Math['tan'](_0x5aabd5)*_0xe1d332;var _0x44f986={};return _0x44f986['topRadius']=_0x465056,_0x44f986['bottomRadius']=0x0,_0x44f986['length']=_0xe1d332,_0x44f986['slices']=_0x53fb35,_0x44f986['slicesR']=_0x50ccb9,_0x44f986['zReverse']=_0x487bc2,new ConicGeometry(_0x44f986);}static[_0x4925de(0x2a5,0x28d)](_0x1bb3ce,_0x1b267e){if(!_0x1b267e)return ConicGeometry['_createGeometry'](_0x1bb3ce);const _0x25ee48=new Cesium$5[(_0x3475cb(0x483,0x3ca))](),_0x577bc2=new Cesium$5['Ray']();Cesium$5[_0x3475cb(0x3a9,0x383)]['multiplyByPoint'](_0x1b267e,Cesium$5[_0x3475cb(0x4ac,0x3ca)][_0x3475cb(0x3c5,0x329)],_0x25ee48),_0x25ee48['clone'](_0x577bc2['origin']);function _0x5abad3(_0xa86e97,_0x5f40db){return _0x2a61be(_0x5f40db,_0xa86e97- -0x22d);}const _0x41136e=_0x1bb3ce['length'];function _0x3475cb(_0x654522,_0x84247){return _0x2a61be(_0x654522,_0x84247-0x108);}const _0x35542f=_0x1bb3ce['topRadius'],_0x124565=_0x1bb3ce['slices'],_0x22c6fe=Math['PI']*0x2/(_0x124565-0x1),_0x59e4d=_0x1bb3ce['zReverse'];let _0x3e5fc7=[],_0x5613ba=[],_0x485056=[];const _0x55adeb=[],_0x1e5522=[0x0,_0x59e4d?-_0x41136e:_0x41136e];let _0x184de3=0x0;_0x3e5fc7[_0x5abad3(-0x8,0x15e)](0x0,0x0,0x0),_0x5613ba['push'](0x1,0x1),_0x184de3++;const _0x3215a2=new Cesium$5[(_0x3475cb(0x3a3,0x3ca))](),_0x53f1=_0x1bb3ce['slicesR'],_0xdb2b2b=_0x35542f/_0x53f1;for(let _0x54f939=0x0;_0x54f939<=_0x53f1;_0x54f939++){const _0x43ef48=_0xdb2b2b*_0x54f939,_0x24ec00=[];for(let _0x4bca85=0x0;_0x4bca85<_0x124565;_0x4bca85++){const _0x5c8a51=_0x22c6fe*_0x4bca85,_0x1dc551=_0x43ef48*Math['cos'](_0x5c8a51),_0x1e396e=_0x43ef48*Math[_0x5abad3(0x68,0xb8)](_0x5c8a51);_0x3215a2['x']=_0x1dc551,_0x3215a2['y']=_0x1e396e,_0x3215a2['z']=_0x1e5522[0x1];let _0x411949=Cesium$5['Matrix4']['multiplyByPoint'](_0x1b267e,_0x3215a2,new Cesium$5[(_0x5abad3(0x95,-0x80))]());!_0x411949?(_0x411949=_0x25ee48,_0x24ec00['push'](-0x1)):(_0x24ec00['push'](_0x184de3),_0x3e5fc7[_0x5abad3(-0x8,-0x167)](_0x1dc551,_0x1e396e,_0x1e5522[0x1]),_0x5613ba['push'](_0x54f939/_0x53f1,0x1),_0x184de3++);}_0x55adeb['push'](_0x24ec00);}const _0x45519e=[0x0,_0x55adeb[_0x5abad3(-0x6d,-0xdc)]-0x1];let _0x45a944,_0x1919e1;for(let _0x4b0ab2=0x0;_0x4b0ab2<_0x45519e[_0x3475cb(0x233,0x2c8)];_0x4b0ab2++){const _0x8a63c6=_0x45519e[_0x4b0ab2];for(let _0x4b2ea9=0x1;_0x4b2ea9<_0x55adeb[_0x8a63c6]['length'];_0x4b2ea9++){_0x45a944=_0x55adeb[_0x8a63c6][_0x4b2ea9-0x1],_0x1919e1=_0x55adeb[_0x8a63c6][_0x4b2ea9],_0x45a944>=0x0&&_0x1919e1>=0x0&&_0x485056['push'](0x0,_0x45a944,_0x1919e1);}}_0x3e5fc7=new Float32Array(_0x3e5fc7),_0x485056=new Int32Array(_0x485056),_0x5613ba=new Float32Array(_0x5613ba);const _0x37f739={'position':new Cesium$5[(_0x5abad3(0x217,0x341))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x3475cb(0x3d2,0x468)],'componentsPerAttribute':0x3,'values':_0x3e5fc7}),'st':new Cesium$5[(_0x3475cb(0x5bb,0x54c))]({'componentDatatype':Cesium$5[_0x3475cb(0x588,0x54f)][_0x5abad3(0x49,0xd3)],'componentsPerAttribute':0x2,'values':_0x5613ba})},_0x3daccb=Cesium$5[_0x5abad3(0x54,-0x46)][_0x5abad3(-0xa4,-0x1af)](_0x3e5fc7),_0x56d33a=new Cesium$5[(_0x5abad3(0x6c,0x166))]({'attributes':_0x37f739,'indices':_0x485056,'primitiveType':Cesium$5['PrimitiveType']['TRIANGLES'],'boundingSphere':_0x3daccb});return computeVertexNormals(_0x56d33a),_0x3e5fc7=[],_0x485056=[],_0x56d33a;}static['_createGeometry'](_0x58cd0c){const _0x3a4ac1=_0x58cd0c[_0x565697(0x5be,0x521)],_0x836c2d=_0x58cd0c[_0xccb136(0x2fd,0x3dd)],_0x196c16=_0x58cd0c['bottomRadius'],_0x393e24=_0x58cd0c['slices'],_0x5f236b=Math['PI']*0x2/(_0x393e24-0x1),_0x4ebdc1=_0x58cd0c['zReverse'];let _0xe7cc7=[],_0x4d6cb5=[],_0x4d54b7=[];const _0x3e3d71=[],_0x123ef3=[_0x196c16,_0x836c2d],_0xdfd20c=[0x0,_0x4ebdc1?-_0x3a4ac1:_0x3a4ac1];let _0x174560=0x0;const _0x54250f=new Cesium$5[(_0xccb136(0x23a,0x3a1))](),_0x48b2f0=Math['atan2'](_0x196c16-_0x836c2d,_0x3a4ac1),_0x5b5d09=_0x54250f;_0x5b5d09['z']=Math[_0x565697(0x693,0x68c)](_0x48b2f0);const _0x356864=Math[_0xccb136(0x486,0x344)](_0x48b2f0);for(let _0x331f69=0x0;_0x331f69<_0xdfd20c[_0xccb136(0x400,0x34a)];_0x331f69++){_0x3e3d71[_0x331f69]=[];const _0x2a8868=_0x123ef3[_0x331f69];for(let _0x242df0=0x0;_0x242df0<_0x393e24;_0x242df0++){_0x3e3d71[_0x331f69][_0xccb136(0x23f,0x3af)](_0x174560++);const _0x4e13df=_0x5f236b*_0x242df0;let _0x3e8c21=_0x2a8868*Math[_0x565697(0x5b8,0x657)](_0x4e13df),_0xf0bf19=_0x2a8868*Math['sin'](_0x4e13df);_0xe7cc7['push'](_0x3e8c21,_0xf0bf19,_0xdfd20c[_0x331f69]),_0x3e8c21=_0x356864*Math[_0x565697(0x5b8,0x68b)](_0x4e13df),_0xf0bf19=_0x356864*Math['sin'](_0x4e13df),_0x4d6cb5[_0xccb136(0x3a9,0x3af)](_0x3e8c21,_0xf0bf19,_0x5b5d09['z']),_0x4d54b7[_0x565697(0x623,0x53e)](_0x331f69/(_0xdfd20c['length']-0x1),0x0);}}function _0xccb136(_0x1b5d29,_0xc52512){return _0x4925de(_0x1b5d29,_0xc52512-0x23b);}let _0x32fe4b=[];for(let _0x1d74ba=0x1;_0x1d74ba<_0xdfd20c['length'];_0x1d74ba++){for(let _0x45980c=0x1;_0x45980c<_0x393e24;_0x45980c++){let _0x561271=_0x3e3d71[_0x1d74ba-0x1][_0x45980c-0x1],_0x424900=_0x3e3d71[_0x1d74ba][_0x45980c-0x1],_0x28fd8d=_0x3e3d71[_0x1d74ba][_0x45980c],_0x581399=_0x3e3d71[_0x1d74ba-0x1][_0x45980c];_0x32fe4b[_0xccb136(0x514,0x3af)](_0x28fd8d),_0x32fe4b['push'](_0x581399),_0x32fe4b['push'](_0x561271),_0x32fe4b['push'](_0x28fd8d),_0x32fe4b['push'](_0x561271),_0x32fe4b['push'](_0x424900),_0x45980c===_0x3e3d71[_0x1d74ba][_0xccb136(0x406,0x34a)]-0x1&&(_0x561271=_0x3e3d71[_0x1d74ba-0x1][_0x45980c],_0x424900=_0x3e3d71[_0x1d74ba][_0x45980c],_0x28fd8d=_0x3e3d71[_0x1d74ba][0x0],_0x581399=_0x3e3d71[_0x1d74ba-0x1][0x0],_0x32fe4b['push'](_0x28fd8d),_0x32fe4b[_0xccb136(0x295,0x3af)](_0x581399),_0x32fe4b['push'](_0x561271),_0x32fe4b['push'](_0x28fd8d),_0x32fe4b['push'](_0x561271),_0x32fe4b[_0xccb136(0x485,0x3af)](_0x424900));}}_0x32fe4b=new Int16Array(_0x32fe4b),_0xe7cc7=new Float32Array(_0xe7cc7);function _0x565697(_0x5d8eb9,_0x2781f4){return _0x2a61be(_0x2781f4,_0x5d8eb9-0x3fe);}_0x4d6cb5=new Float32Array(_0x4d6cb5),_0x4d54b7=new Float32Array(_0x4d54b7);const _0x492227={'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0xe7cc7}),'normal':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5[_0xccb136(0x6db,0x5d1)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x4d6cb5}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype'][_0xccb136(0x4c0,0x400)],'componentsPerAttribute':0x2,'values':_0x4d54b7})},_0x9841cf=Cesium$5['BoundingSphere']['fromVertices'](_0xe7cc7),_0x1dd34f=new Cesium$5['Geometry']({'attributes':_0x492227,'indices':_0x32fe4b,'primitiveType':Cesium$5['PrimitiveType'][_0x565697(0x6ee,0x74f)],'boundingSphere':_0x9841cf});return _0xe7cc7=[],_0x32fe4b=[],_0x4d54b7=[],_0x1dd34f;}static['createOutlineGeometry'](_0x5a90aa){const _0x5d8475=_0x5a90aa[_0x5d336d(0x248,0x101)],_0x22aec6=_0x5a90aa['topRadius'],_0x1266fb=_0x5a90aa['bottomRadius'];function _0x5d336d(_0x3b906d,_0x1eb8b8){return _0x4925de(_0x3b906d,_0x1eb8b8- -0xe);}const _0x587073=_0x5a90aa['slices'],_0x4f9cab=Math['PI']*0x2/(_0x587073-0x1),_0x18dff2=_0x5a90aa[_0x5d336d(-0x21,0xcd)];let _0x55a4df=[],_0x43a0cc=[],_0x36eb5d=[];const _0x3663ce=[],_0x64db37=[_0x1266fb,_0x22aec6],_0x5f33e9=[0x0,_0x18dff2?-_0x5d8475:_0x5d8475];let _0xa1b3ae=0x0;const _0x32511c=new Cesium$5['Cartesian2'](),_0x2fe1b4=Math['atan2'](_0x1266fb-_0x22aec6,_0x5d8475),_0x7a7799=_0x32511c;_0x7a7799['z']=Math[_0x5d336d(0xd1,0x1d6)](_0x2fe1b4);const _0x4baeff=Math[_0x32eed4(0x419,0x47a)](_0x2fe1b4);for(let _0x51bc16=0x0;_0x51bc16<_0x5f33e9[_0x32eed4(0x41f,0x575)];_0x51bc16++){_0x3663ce[_0x51bc16]=[];const _0x5002ee=_0x64db37[_0x51bc16];for(let _0x187683=0x0;_0x187683<_0x587073;_0x187683++){_0x3663ce[_0x51bc16]['push'](_0xa1b3ae++);const _0x2de34c=_0x4f9cab*_0x187683;let _0x3f7044=_0x5002ee*Math[_0x5d336d(0x24a,0xfb)](_0x2de34c),_0x1c0ed0=_0x5002ee*Math[_0x5d336d(0x104,0x1d6)](_0x2de34c);_0x55a4df['push'](_0x3f7044,_0x1c0ed0,_0x5f33e9[_0x51bc16]),_0x3f7044=_0x4baeff*Math[_0x32eed4(0x419,0x38d)](_0x2de34c),_0x1c0ed0=_0x4baeff*Math[_0x32eed4(0x4f4,0x5e6)](_0x2de34c),_0x43a0cc['push'](_0x3f7044,_0x1c0ed0,_0x7a7799['z']),_0x36eb5d[_0x32eed4(0x484,0x362)](_0x51bc16/(_0x5f33e9['length']-0x1),0x0);}}let _0x113930=[];function _0x32eed4(_0x114846,_0xac98c5){return _0x4925de(_0xac98c5,_0x114846-0x310);}for(let _0x34779=0x1;_0x34779<_0x5f33e9['length'];_0x34779++){for(let _0x1f5263=0x1;_0x1f5263<_0x587073;_0x1f5263++){const _0x3cb724=_0x3663ce[_0x34779-0x1][_0x1f5263-0x1],_0x45f9f9=_0x3663ce[_0x34779][_0x1f5263-0x1];_0x1f5263%0x8===0x1&&_0x113930['push'](_0x3cb724,_0x45f9f9);}}_0x113930=new Int16Array(_0x113930),_0x55a4df=new Float32Array(_0x55a4df),_0x43a0cc=new Float32Array(_0x43a0cc),_0x36eb5d=new Float32Array(_0x36eb5d);const _0xae991={'position':new Cesium$5[(_0x32eed4(0x6a3,0x55b))]({'componentDatatype':Cesium$5[_0x5d336d(0x32d,0x388)][_0x5d336d(0x134,0x2a1)],'componentsPerAttribute':0x3,'values':_0x55a4df}),'normal':new Cesium$5[(_0x5d336d(0x45c,0x385))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x32eed4(0x4d5,0x404)],'componentsPerAttribute':0x3,'values':_0x43a0cc}),'st':new Cesium$5[(_0x32eed4(0x6a3,0x5e6))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x32eed4(0x4d5,0x42e)],'componentsPerAttribute':0x2,'values':_0x36eb5d})},_0x3e56db=Cesium$5[_0x32eed4(0x4e0,0x429)]['fromVertices'](_0x55a4df),_0x3e5ade=new Cesium$5['Geometry']({'attributes':_0xae991,'indices':_0x113930,'primitiveType':Cesium$5['PrimitiveType']['LINES'],'boundingSphere':_0x3e56db});return _0x55a4df=[],_0x113930=[],_0x36eb5d=[],_0x3e5ade;}}const Cesium$4=mars3d__namespace['Cesium'],BasePointPrimitive$2=mars3d__namespace['graphic']['BasePointPrimitive'];class ConicSensor extends BasePointPrimitive$2{constructor(_0x95ab0b={}){super(_0x95ab0b),this['_modelMatrix']=Cesium$4[_0x5a06c9(0x3c5,0x4ed)][_0x5a06c9(0x427,0x3b1)](Cesium$4['Matrix4'][_0x2fa3ab(0x720,0x83c)]),this['_quaternion']=new Cesium$4['Quaternion'](),this[_0x2fa3ab(0x762,0x7ed)]=new Cesium$4[(_0x2fa3ab(0x6c1,0x733))]();function _0x2fa3ab(_0x4b8c2c,_0x58929b){return _0x4925de(_0x58929b,_0x4b8c2c-0x4b0);}this['_scale']=new Cesium$4['Cartesian3'](0x1,0x1,0x1);function _0x5a06c9(_0x27e20a,_0x57b635){return _0x2a61be(_0x57b635,_0x27e20a-0x14a);}this['_matrix']=new Cesium$4['Matrix4'](),this[_0x2fa3ab(0x75d,0x767)]=this[_0x5a06c9(0x429,0x584)][_0x2fa3ab(0x70e,0x69c)]??![],this[_0x2fa3ab(0x793,0x72a)]['globalAlpha']=0x1,this['_updateStyleHook'](_0x95ab0b['style'],_0x95ab0b[_0x5a06c9(0x4de,0x567)]);}get['czmObject'](){return this;}get['lookAt'](){function _0xcba9ae(_0x1d4dc1,_0x265fe6){return _0x4925de(_0x1d4dc1,_0x265fe6-0x45d);}return this['options'][_0xcba9ae(0x6ee,0x6ee)];}set['lookAt'](_0x31b190){this['options']['lookAt']=_0x31b190;}get['color'](){return this['_color'];}set['color'](_0x1b4da4){function _0x558f8b(_0x50efb0,_0x36fe04){return _0x4925de(_0x50efb0,_0x36fe04- -0x29d);}function _0x38cccc(_0x44cc1b,_0xa4febd){return _0x2a61be(_0x44cc1b,_0xa4febd- -0x2f4);}this[_0x558f8b(0xa4,0xb9)]=mars3d__namespace[_0x558f8b(0x1a,0x31)]['getCesiumColor'](_0x1b4da4);}get['outlineColor'](){return this['outlineColor'];}set['outlineColor'](_0x1df5bd){function _0x4b08cd(_0x3f0660,_0x1715fb){return _0x2a61be(_0x3f0660,_0x1715fb- -0x21c);}function _0x1d685d(_0x15d585,_0x3d14a1){return _0x4925de(_0x3d14a1,_0x15d585-0x349);}this['_outlineColor']=mars3d__namespace[_0x1d685d(0x617,0x53c)][_0x4b08cd(0x1a1,0x241)](_0x1df5bd);}get[_0x4925de(0x2d7,0x1a1)](){return this['_outline'];}set['outline'](_0x5584ee){function _0x1575f9(_0xe837f5,_0x4e01f4){return _0x4925de(_0xe837f5,_0x4e01f4-0x43e);}function _0x5eca2e(_0x27c5a2,_0x14b3a8){return _0x2a61be(_0x14b3a8,_0x27c5a2-0xe4);}this[_0x1575f9(0x65f,0x6d9)]=_0x5584ee,this[_0x5eca2e(0x3d5,0x2ee)]();}get['topShow'](){return this['_topShow'];}set[_0x2a61be(0x227,0x2f5)](_0x3610c7){this['_topShow']=_0x3610c7,this['updateGeometry']();}get['topOutlineShow'](){return this['_topOutlineShow'];}set['topOutlineShow'](_0x2ce8ac){this[_0x962db2(0x102,0x32)]=_0x2ce8ac;function _0x5c89d3(_0x1ef938,_0x1ea32c){return _0x2a61be(_0x1ef938,_0x1ea32c-0xfa);}function _0x962db2(_0x23c501,_0x24cec7){return _0x4925de(_0x23c501,_0x24cec7- -0x28c);}this[_0x5c89d3(0x4a0,0x3eb)]();}get['angle'](){function _0x409890(_0x285148,_0x1ceacf){return _0x2a61be(_0x1ceacf,_0x285148-0x3c3);}function _0xcebaa5(_0x280cc9,_0x2361e3){return _0x4925de(_0x2361e3,_0x280cc9-0x342);}return 0x5a-mars3d__namespace[_0xcebaa5(0x610,0x661)][_0xcebaa5(0x6c1,0x637)](this['_angle'],Number);}set[_0x2a61be(0x2f2,0x278)](_0x3544f2){if(this['_angle']===_0x3544f2)return;this['_angle']=_0x3544f2;function _0x4f07e7(_0x4a1a42,_0x37ee46){return _0x4925de(_0x37ee46,_0x4a1a42- -0x8a);}this[_0x5e9065(0x4f4,0x566)]();function _0x5e9065(_0x359015,_0x3c29c5){return _0x4925de(_0x3c29c5,_0x359015-0x30f);}this[_0x4f07e7(0x1b6,0x73)]();}get[_0x4925de(0x1d3,0x10f)](){return mars3d__namespace['Util']['getCesiumValue'](this['_length'],Number);}set['length'](_0x28ab7c){this['_length']=_0x28ab7c;function _0x2faf9b(_0x944ef3,_0x167cc3){return _0x2a61be(_0x944ef3,_0x167cc3- -0x21c);}function _0x14055c(_0x381dba,_0x44b94f){return _0x2a61be(_0x381dba,_0x44b94f-0x60);}this[_0x14055c(0x36f,0x2f6)](),this[_0x14055c(0x3b9,0x351)]();}get['heading'](){function _0x3a3585(_0x3d41d7,_0x204191){return _0x4925de(_0x204191,_0x3d41d7-0x1f9);}return Cesium$4['Math'][_0x3a3585(0x33b,0x208)](this['headingRadians']);}set['heading'](_0x797fae){function _0x5d5f21(_0xd20a71,_0x84f47){return _0x4925de(_0x84f47,_0xd20a71-0x193);}function _0x5eab3f(_0x5a3909,_0x2bc1de){return _0x4925de(_0x5a3909,_0x2bc1de- -0x261);}_0x797fae instanceof Cesium$4[_0x5d5f21(0x4bb,0x36d)]?this['_headingRadians']=_0x797fae:this['_headingRadians']=Cesium$4[_0x5eab3f(-0x166,-0xe3)]['toRadians'](_0x797fae);}get[_0x2a61be(0x2d6,0x2fc)](){function _0x4bb4e5(_0x14241a,_0x38b49f){return _0x2a61be(_0x38b49f,_0x14241a-0x4);}function _0x3fd14c(_0x2f0a6e,_0x320c93){return _0x2a61be(_0x2f0a6e,_0x320c93-0x2);}return this['_headingRadians']instanceof Cesium$4[_0x3fd14c(0x443,0x3db)]?Cesium$4['Math']['toRadians'](mars3d__namespace[_0x3fd14c(0x3ec,0x381)][_0x3fd14c(0x3c8,0x432)](this[_0x4bb4e5(0x28b,0x227)],Number)):this['_headingRadians'];}get['pitch'](){function _0x4b1d47(_0x53985c,_0x4eb3d1){return _0x2a61be(_0x4eb3d1,_0x53985c-0x17);}function _0xb72434(_0x2deb0d,_0x1b7d8e){return _0x4925de(_0x2deb0d,_0x1b7d8e-0x250);}return Cesium$4[_0x4b1d47(0x246,0x2de)][_0x4b1d47(0x20a,0xa7)](this['_pitchRadians']);}set['pitch'](_0x307553){function _0x5745d3(_0x2504dd,_0x26e481){return _0x2a61be(_0x2504dd,_0x26e481-0x270);}function _0x5313a5(_0xf1f21a,_0x5bdd1d){return _0x2a61be(_0x5bdd1d,_0xf1f21a-0x2c4);}_0x307553 instanceof Cesium$4['CallbackProperty']?this[_0x5745d3(0x576,0x5ea)]=_0x307553:this[_0x5745d3(0x4be,0x5ea)]=Cesium$4[_0x5313a5(0x4f3,0x4a4)][_0x5745d3(0x623,0x6ba)](_0x307553);}get['pitchRadians'](){function _0x44c467(_0x530e2e,_0x144b89){return _0x4925de(_0x144b89,_0x530e2e- -0x25a);}function _0x41238a(_0x195860,_0x44e36d){return _0x4925de(_0x44e36d,_0x195860-0x45a);}return this['_pitchRadians']instanceof Cesium$4['CallbackProperty']?Cesium$4['Math']['toRadians'](mars3d__namespace[_0x41238a(0x728,0x7e0)][_0x41238a(0x7d9,0x7d0)](this['_pitchRadians'],Number)):this['_pitchRadians'];}get[_0x2a61be(0x362,0x41a)](){function _0xbc3313(_0x56111e,_0x25308d){return _0x4925de(_0x56111e,_0x25308d-0xec);}return Cesium$4['Math'][_0xbc3313(0x1dd,0x22e)](this['_rollRadians']);}set[_0x2a61be(0x513,0x41a)](_0x58bf84){function _0x2b5571(_0x9e4843,_0x205f4f){return _0x2a61be(_0x9e4843,_0x205f4f- -0x2a1);}function _0x479d32(_0x5990a4,_0x398f46){return _0x2a61be(_0x5990a4,_0x398f46- -0x12c);}_0x58bf84 instanceof Cesium$4[_0x479d32(0x2ef,0x2ad)]?this['_rollRadians']=_0x58bf84:this[_0x479d32(0x396,0x265)]=Cesium$4['Math']['toRadians'](_0x58bf84);}get[_0x4925de(0x9d,0x1d1)](){function _0x161f3c(_0x4e69de,_0x417af5){return _0x2a61be(_0x417af5,_0x4e69de-0x3af);}function _0x219ad0(_0x4319f7,_0x5684ec){return _0x2a61be(_0x4319f7,_0x5684ec- -0x25c);}return this[_0x161f3c(0x740,0x7cc)]instanceof Cesium$4['CallbackProperty']?Cesium$4['Math']['toRadians'](mars3d__namespace[_0x219ad0(0x243,0x123)]['getCesiumValue'](this['_rollRadians'],Number)):this[_0x219ad0(0x9e,0x135)];}get[_0x2a61be(0x292,0x2a9)](){function _0x40d43d(_0x1e465c,_0x5a8091){return _0x4925de(_0x1e465c,_0x5a8091-0x14e);}return this[_0x40d43d(0x459,0x431)]['shadowShow'];}set['shadowShow'](_0x501c9f){this['style'][_0xbdbb4(0x90,0x53)]=_0x501c9f;function _0xbdbb4(_0x18eb52,_0x2b6397){return _0x2a61be(_0x18eb52,_0x2b6397- -0x256);}this['_addGroundEntity']();}get['matrix'](){return this['_matrix'];}get['rayPosition'](){if(!this['_matrix'])return null;function _0x439383(_0x43ae01,_0x1134d7){return _0x2a61be(_0x1134d7,_0x43ae01-0x395);}function _0x1f3400(_0x53070d,_0x297f82){return _0x2a61be(_0x297f82,_0x53070d-0x3b);}return Cesium$4['Matrix4']['multiplyByPoint'](this['_matrix'],new Cesium$4[(_0x1f3400(0x2fd,0x3ca))](0x0,0x0,this[_0x1f3400(0x34a,0x44e)]?-this['length']:this['length']),new Cesium$4[(_0x1f3400(0x2fd,0x445))]());}get[_0x4925de(0x36b,0x25e)](){return this['_reverse'];}get['intersectEllipsoid'](){return this['_intersectEllipsoid'];}['_updateStyleHook'](_0x7ffef0,_0x5b67d1){_0x7ffef0=style2Primitive(_0x7ffef0),this['_angle']=_0x7ffef0[_0x2d5659(0x1de,0x87)]||0x5,this[_0x3deee2(0xf0,0x203)]=_0x7ffef0['length']??0x64,this['_color']=_0x7ffef0[_0x3deee2(0x150,0x182)]??Cesium$4['Color']['YELLOW'];function _0x3deee2(_0x29d7d6,_0x144a59){return _0x4925de(_0x144a59,_0x29d7d6- -0x1bc);}this['_outline']=_0x7ffef0[_0x2d5659(0x1b8,0x221)]??![],this[_0x2d5659(0x36a,0x26c)]=_0x7ffef0[_0x2d5659(0x234,0x1ae)]??this['_color'],this['_topShow']=_0x7ffef0[_0x2d5659(0x25b,0x330)]??!![],this['_topOutlineShow']=_0x7ffef0['topOutlineShow']??!![];this[_0x2d5659(0x2fa,0x463)][_0x2d5659(0x20f,0x162)]&&this['_addGroundEntity']();this[_0x2d5659(0x2a3,0x19f)]=_0x7ffef0[_0x3deee2(0x1be,0x4e)]??0xf,this['pitch']=_0x7ffef0['pitch']??0x0,this[_0x3deee2(-0x5c,-0xab)]=_0x7ffef0['heading']??0x0;function _0x2d5659(_0x3565d4,_0x2b1a0a){return _0x2a61be(_0x2b1a0a,_0x3565d4- -0x9a);}this['roll']=_0x7ffef0[_0x3deee2(0x1ad,0x2ad)]??0x0,this['_updateGroundEntityVal'](),this['updateGeometry']();}['_addedHook'](){function _0x1701f7(_0xf40bc1,_0x3b13f1){return _0x2a61be(_0x3b13f1,_0xf40bc1-0x10e);}if(!this[_0x3bd748(0x5f9,0x4f0)])return;this['primitiveCollection']['add'](this),this[_0x1701f7(0x3ff,0x539)]();function _0x3bd748(_0x67cde4,_0x31e2c9){return _0x2a61be(_0x67cde4,_0x31e2c9-0x9f);}if(this[_0x1701f7(0x439,0x47e)])this[_0x1701f7(0x4a5,0x3f6)]['entities']['add'](this['_groundEntity']);else this[_0x3bd748(0x33b,0x433)][_0x1701f7(0x3b7,0x312)]&&this['_addGroundEntity']();}['_removedHook'](){if(!this[_0xf7c56(0xc2,0x202)])return;this[_0x1fb503(0x319,0x340)]&&this['_map'][_0xf7c56(-0x18,0x111)][_0xf7c56(0x114,0x19f)](this['_groundEntity']);function _0x1fb503(_0x2acf7c,_0x2df8b2){return _0x4925de(_0x2acf7c,_0x2df8b2-0xc6);}function _0xf7c56(_0x3ce84f,_0x5f03d4){return _0x2a61be(_0x5f03d4,_0x3ce84f- -0x2d5);}this[_0x1fb503(0x45c,0x341)][_0x1fb503(0x447,0x413)](this)&&(this['_noDestroy']=!![],this[_0x1fb503(0x237,0x341)]['remove'](this),this['_noDestroy']=![]),this[_0xf7c56(-0x124,-0x100)]();}['update'](_0x3da491){if(!this[_0x1e245f(0x1ac,0x16e)](_0x3da491['time']))return;var _0x3e517c={};_0x3e517c[_0x1e245f(0x412,0x36e)]=_0x3da491[_0x1e245f(0x412,0x2bd)],this['fire'](mars3d__namespace['EventType']['preUpdate'],_0x3e517c);(this[_0x1e245f(0x320,0x36a)]instanceof Cesium$4[_0x1e245f(0x39c,0x3ef)]||this[_0xde9d2c(0x640,0x614)]instanceof Cesium$4['CallbackProperty'])&&this['updateGeometry']();this[_0xde9d2c(0x6be,0x6a0)](_0x3da491['time']);function _0x1e245f(_0x52345a,_0x263f7d){return _0x4925de(_0x263f7d,_0x52345a-0x74);}function _0xde9d2c(_0x54acfc,_0x37f449){return _0x4925de(_0x54acfc,_0x37f449-0x328);}if(!this[_0x1e245f(0x151,0x3f)])return;_0x3da491[_0x1e245f(0x27c,0x19c)]===Cesium$4['SceneMode']['SCENE3D']?((!Cesium$4['defined'](this['_drawCommands'])||this['_drawCommands'][_0x1e245f(0x183,0x234)]===0x0)&&(this['_geometry'][_0x1e245f(0x34a,0x439)]=Cesium$4[_0x1e245f(0x244,0x39f)][_0xde9d2c(0x38b,0x400)](this['_geometry']['attributes']['position']['values']),this[_0x1e245f(0x174,0x144)](),this[_0x1e245f(0x2f3,0x37f)]=[],this[_0xde9d2c(0x544,0x40b)]=[],this['_drawCommands']['push'](this['createDrawCommand'](this['_geometry'],_0x3da491)),this['_outline']&&this['_drawCommands']['push'](this[_0x1e245f(0x304,0x367)](this['_outlineGeometry'],_0x3da491,!![])),this['_topShow']&&(this[_0xde9d2c(0x4c3,0x5a7)]['push'](this[_0xde9d2c(0x653,0x5b8)](this['_topGeometry'],_0x3da491)),this['_topOutlineShow']&&this['_drawCommands'][_0x1e245f(0x1e8,0x18e)](this[_0xde9d2c(0x521,0x5b8)](this[_0x1e245f(0x2f8,0x36a)],_0x3da491,!![])))),_0x3da491[_0x1e245f(0x2ec,0x21e)][_0x1e245f(0x27f,0x340)]?this['_drawCommands']&&_0x3da491['commandList'][_0x1e245f(0x1e8,0x348)](...this[_0x1e245f(0x2f3,0x2f5)]):this[_0x1e245f(0x157,0x207)]&&_0x3da491['commandList']['push'](...this['_pickCommands'])):this[_0x1e245f(0x362,0x2b1)]();var _0x21b873={};_0x21b873[_0xde9d2c(0x628,0x6c6)]=_0x3da491['time'],this['fire'](mars3d__namespace['EventType'][_0x1e245f(0x201,0x248)],_0x21b873);}[_0x2a61be(0xeb,0x1b1)](){function _0x19a61c(_0x255614,_0x279ad5){return _0x4925de(_0x279ad5,_0x255614-0x49d);}function _0x28c0ae(_0x46ba5b,_0x43c1b8){return _0x2a61be(_0x43c1b8,_0x46ba5b- -0x1ca);}this[_0x19a61c(0x71c,0x664)]&&this['_drawCommands'][_0x28c0ae(-0xa,-0x14)]>0x0&&(this[_0x19a61c(0x71c,0x645)][_0x19a61c(0x7fb,0x8ff)](function(_0x108c23){_0x108c23['vertexArray']&&_0x108c23['vertexArray'][_0xa85d51(0x46d,0x48f)]();function _0x58d5a9(_0x20cc5a,_0x30c349){return _0x19a61c(_0x20cc5a- -0xcc,_0x30c349);}function _0xa85d51(_0x354b1a,_0x3efd5a){return _0x28c0ae(_0x3efd5a-0x3ea,_0x354b1a);}_0x108c23['shaderProgram']&&_0x108c23[_0xa85d51(0x71b,0x5d2)][_0xa85d51(0x3e8,0x48f)]();}),delete this['_drawCommands']),this['_pickCommands']&&this['_pickCommands'][_0x19a61c(0x5ac,0x6b1)]>0x0&&(this['_pickCommands']['forEach'](function(_0x3ad566){function _0xede136(_0x1a1ec0,_0x3b892f){return _0x28c0ae(_0x3b892f-0x44c,_0x1a1ec0);}_0x3ad566['vertexArray']&&_0x3ad566['vertexArray']['destroy'](),_0x3ad566['shaderProgram']&&_0x3ad566['shaderProgram'][_0xede136(0x47b,0x4f1)]();}),delete this['_pickCommands']);}[_0x2a61be(0x423,0x341)](_0x75709f,_0xb2416e,_0x31feaf){const _0x5d6bd4=_0xb2416e['context'],_0x735b7e=this['style'][_0xa71a6f(0x29e,0x379)]??!![],_0x2da838=this[_0xa71a6f(0x37b,0x2f8)]['closed']??!![],_0x296023=Cesium$4[_0x25cd59(0x56,0x9d)]['getDefaultRenderState'](_0x735b7e,_0x2da838,this['options']['renderState']),_0x2af2e1=Cesium$4[_0xa71a6f(0x311,0x1cc)]['fromCache'](_0x296023),_0x29d165=Cesium$4[_0xa71a6f(0x155,0x160)]['createAttributeLocations'](_0x75709f);function _0x25cd59(_0x335def,_0x5bfc53){return _0x4925de(_0x5bfc53,_0x335def- -0x2ba);}function _0xa71a6f(_0xb731f6,_0x520f0e){return _0x2a61be(_0xb731f6,_0x520f0e- -0x9c);}const _0x264b95=Cesium$4[_0x25cd59(-0x88,-0x192)]['replaceCache']({'context':_0x5d6bd4,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':this[_0xa71a6f(0x58,0x147)](SatelliteSensorFS),'attributeLocations':_0x29d165}),_0x5a02fa=Cesium$4['VertexArray']['fromGeometry']({'context':_0x5d6bd4,'geometry':_0x75709f,'attributeLocations':_0x29d165,'bufferUsage':Cesium$4['BufferUsage']['STATIC_DRAW']}),_0x28707b=new Cesium$4['Cartesian3']();Cesium$4[_0x25cd59(-0xf0,-0x72)]['multiplyByPoint'](this[_0xa71a6f(0xfc,0x1f0)],_0x75709f['boundingSphere'][_0x25cd59(-0x8a,0xc7)],_0x28707b);const _0x18f902=new Cesium$4['BoundingSphere'](_0x28707b,_0x75709f['boundingSphere']['radius']),_0x3a96c8=new Cesium$4['DrawCommand']({'primitiveType':_0x75709f['primitiveType'],'shaderProgram':_0x264b95,'vertexArray':_0x5a02fa,'modelMatrix':this[_0xa71a6f(0x1aa,0x1f0)],'renderState':_0x2af2e1,'boundingVolume':_0x18f902,'uniformMap':{'marsColor':_0x31feaf?()=>{return this['_outlineColor'];}:()=>{function _0x1db894(_0x46ce35,_0x19f9d5){return _0xa71a6f(_0x19f9d5,_0x46ce35- -0x2c7);}return this[_0x1db894(0xa4,0x1ef)];},'globalAlpha':()=>{return this['style']['globalAlpha'];}},'castShadows':![],'receiveShadows':![],'pass':Cesium$4['Pass'][_0xa71a6f(0x29c,0x36e)],'owner':this,'pickOnly':!![],'pickCommand':new Cesium$4['DrawCommand']({'owner':this,'pickOnly':!![]})});this[_0x25cd59(-0x18d,-0x14f)](_0x3a96c8),_0x3a96c8[_0x25cd59(0xd6,0x156)]=_0x5d6bd4['createPickId']({'primitive':_0x3a96c8,'id':this['id']});if(!_0x31feaf){var _0x32b993={};_0x32b993[_0xa71a6f(0x401,0x3c2)]=_0x3a96c8,_0x32b993['primitiveType']=_0x75709f[_0x25cd59(0x80,0x2d)],_0x32b993[_0xa71a6f(0x234,0x170)]=!![];const _0x311902=new Cesium$4['DrawCommand'](_0x32b993);_0x311902['vertexArray']=_0x5a02fa,_0x311902[_0x25cd59(-0x67,0x71)]=_0x2af2e1;const _0x1b9060=Cesium$4['ShaderProgram'][_0x25cd59(-0x199,-0x1db)]({'context':_0x5d6bd4,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':Cesium$4[_0xa71a6f(0x1e5,0x1ae)][_0x25cd59(-0x16b,-0x1af)](SatelliteSensorFS,_0x25cd59(-0x9e,-0x28)),'attributeLocations':_0x29d165});_0x311902['shaderProgram']=_0x1b9060,_0x311902['uniformMap']=_0x3a96c8[_0x25cd59(-0x38,0x53)],_0x311902['uniformMap']['czm_pickColor']=()=>{return _0x3a96c8['pickId']['color'];},_0x311902[_0x25cd59(-0xc9,-0x1d0)]=Cesium$4['Pass']['TRANSLUCENT'],_0x311902[_0x25cd59(-0x73,-0x1d)]=_0x18f902,_0x311902['modelMatrix']=this['_matrix'],this['_pickCommands'][_0xa71a6f(0x203,0x189)](_0x311902);}return _0x3a96c8;}[_0x4925de(0x2b2,0x378)](_0x41e298,_0x286c68){this['_positionCartesian']=mars3d__namespace[_0x5873b9(0x205,0x2d4)][_0x5873b9(0x352,0x254)](this[_0x295dd6(0x227,0xf0)],_0x41e298);if(!this['_positionCartesian'])return this['_matrix']=new Cesium$4['Matrix4'](),this[_0x295dd6(0x19d,0x19a)];if(this[_0x5873b9(0x2af,0x2a2)]){const _0x226ffa=this[_0x295dd6(0x9f,-0x19)],_0x58b41e=mars3d__namespace['PointUtil']['getPositionValue'](this[_0x5873b9(0x413,0x2a2)],_0x41e298);if(Cesium$4['defined'](_0x58b41e)){this[_0x5873b9(0x179,0x120)]=Cesium$4['Cartesian3'][_0x5873b9(0xc9,0x1dc)](_0x226ffa,_0x58b41e);const _0xf1fe2c=mars3d__namespace[_0x5873b9(0x37b,0x2d4)][_0x295dd6(0x221,0x21b)](_0x226ffa,_0x58b41e,!![]);!(this[_0x295dd6(0x28b,0x1af)]instanceof Cesium$4['CallbackProperty'])&&(this[_0x5873b9(0x370,0x2da)]=_0xf1fe2c['pitch']),!(this[_0x5873b9(0x2b5,0x2f1)]instanceof Cesium$4['CallbackProperty'])&&(this['_rollRadians']=_0xf1fe2c['roll']),!(this['_headingRadians']instanceof Cesium$4[_0x295dd6(0x2ea,0x338)])&&(this['_headingRadians']=_0xf1fe2c[_0x5873b9(0x112,0x171)]);}}if(this[_0x295dd6(0x2a5,0x330)]['rayEllipsoid']){const _0x3fdaf5=this[_0x5873b9(0x1bb,0x23b)]();this[_0x5873b9(0x353,0x361)]=_0x3fdaf5>0x0;if(this['_intersectEllipsoid']){if(this[_0x295dd6(0x2a5,0x1ae)]['hideRayEllipsoid'])return this[_0x295dd6(0x19d,0x107)]=new Cesium$4[(_0x5873b9(0x185,0x1db))](),this['_matrix'];this[_0x5873b9(0x37,0x120)]=_0x3fdaf5;}}function _0x295dd6(_0x1fa224,_0x36d262){return _0x4925de(_0x36d262,_0x1fa224- -0x3e);}this['_modelMatrix']=this[_0x5873b9(0x1e5,0x2d1)](this[_0x295dd6(0x9f,0xc1)],this[_0x295dd6(0x36b,0x4bf)],this['_modelMatrix']),this['_quaternion']=Cesium$4['Quaternion'][_0x295dd6(0x28e,0x199)](new Cesium$4[(_0x295dd6(0x25c,0x1ff))](this['headingRadians'],this[_0x5873b9(0x499,0x35b)],this['rollRadians']),this[_0x295dd6(0xa8,0xd5)]);function _0x5873b9(_0x563a59,_0xd27b48){return _0x2a61be(_0x563a59,_0xd27b48- -0xa0);}return this['_matrix']=Cesium$4['Matrix4'][_0x5873b9(0x1bd,0x1c5)](this['_translation'],this['_quaternion'],this['_scale'],this[_0x295dd6(0x19d,0x58)]),Cesium$4['Matrix4'][_0x5873b9(0x329,0x2ca)](this['_modelMatrix'],this['_matrix'],this['_matrix']),this['_matrix'];}[_0x2a61be(0x244,0x2f1)](){if(!this['_map'])return;const _0x28f841=Cesium$4[_0x4ee5e(0x75,-0x3a)]['toRadians'](this['angle']),_0x4655b6=this['length'];this['_geometry']=ConicGeometry['createGeometry'](new ConicGeometry({'topRadius':_0x4655b6*Math['cos'](_0x28f841),'bottomRadius':0x0,'length':_0x4655b6*Math[_0x4ee5e(0xdb,0x1a3)](_0x28f841),'zReverse':this['_reverse'],'slices':this[_0x6536a3(0x21d,0xdb)]['slices'],'slicesR':this['style']['slicesR']})),this[_0x6536a3(-0x24c,-0x133)]=this['getTopGeometry'](),this[_0x6536a3(0x1e9,0x7c)]=this['getTopOutlineGeometry']();function _0x4ee5e(_0x571b6d,_0x2ed8a9){return _0x2a61be(_0x2ed8a9,_0x571b6d- -0x1ba);}this['_outlineGeometry']=ConicGeometry[_0x6536a3(0x80,0xc9)](new ConicGeometry({'topRadius':_0x4655b6*Math[_0x6536a3(0x69,-0xff)](_0x28f841),'bottomRadius':0x0,'length':_0x4655b6*Math['sin'](_0x28f841),'zReverse':this['_reverse'],'slices':this['style'][_0x6536a3(-0xf1,0x4a)],'slicesR':this[_0x6536a3(-0x5b,0xdb)][_0x6536a3(0x221,0x134)]})),this[_0x4ee5e(0x10c,0xff)]=new Float32Array(this['_geometry'][_0x4ee5e(0x14e,0x63)][_0x4ee5e(0x15c,0x120)]['values'][_0x6536a3(-0x128,-0xf9)]);for(let _0x11b08d=0x0;_0x11b08d{function _0x232ca4(_0x1fdafb,_0x21d0d4){return _0x1c5039(_0x1fdafb-0xec,_0x21d0d4);}return this[_0x232ca4(0x423,0x38c)];},![]),'semiMajorAxis':new Cesium$4['CallbackProperty'](_0x2438b5=>{function _0x52c907(_0x4b1a2e,_0x50fb79){return _0x1c5039(_0x4b1a2e-0x16b,_0x50fb79);}return this[_0x52c907(0x4a2,0x579)];},![]),'show':new Cesium$4[(_0x1c5039(0x555,0x41b))](_0x454522=>{function _0x4d0532(_0x2476e2,_0x3176d4){return _0x401f78(_0x2476e2-0xae,_0x3176d4);}return this[_0x4d0532(0x26d,0x3c5)];},![])},'polygon':{'material':this['_color'],'outline':this[_0x401f78(0x349,0x1db)],'outlineColor':this['_outlineColor'],'outlineWidth':0x1,'arcType':Cesium$4['ArcType'][_0x401f78(0x344,0x494)],'hierarchy':new Cesium$4['CallbackProperty']((_0x3149da,_0x119951)=>{return this['_ground_hierarchy'];},![]),'show':new Cesium$4['CallbackProperty'](_0x5a70e7=>{return this['_updateGroundEntityShow'](),this['_ground_showPolygon'];},![])}});}[_0x4925de(0x310,0x2aa)](){function _0x4b3222(_0x364c90,_0x14fbb3){return _0x4925de(_0x364c90,_0x14fbb3-0x3f9);}var _0x4f5a00;function _0x53c7ae(_0x27cc93,_0x2aee2c){return _0x4925de(_0x2aee2c,_0x27cc93-0x432);}this['shadowShow']||((_0x4f5a00=this['_map'])===null||_0x4f5a00===void 0x0||(_0x4f5a00=_0x4f5a00['scene'])===null||_0x4f5a00===void 0x0?void 0x0:_0x4f5a00['mode'])===Cesium$4['SceneMode']['SCENE2D']?(this['_ground_showCircle']=this[_0x53c7ae(0x6fb,0x5d8)]===0x0&&this['_rollRadians']===0x0,this[_0x4b3222(0x5ad,0x54b)]=!this['_ground_showCircle']):(this[_0x53c7ae(0x543,0x657)]=![],this['_ground_showPolygon']=![]);}['_updateGroundEntityVal'](){function _0x11d411(_0x48952f,_0x189043){return _0x2a61be(_0x48952f,_0x189043- -0x222);}function _0x478aba(_0x158b2c,_0x23397b){return _0x2a61be(_0x158b2c,_0x23397b-0x56);}this[_0x478aba(0x1d6,0x211)]=this[_0x478aba(0x2e3,0x216)]*Math['cos'](Cesium$4[_0x11d411(-0x142,0xd)][_0x478aba(0x4ef,0x4a0)](this['angle'])),this['_ground_hierarchy']&&(this['_pitchRadians']!==0x0||this[_0x11d411(0x1b2,0x16f)]!==0x0)&&(this['_ground_hierarchy']['positions']=this['_computeGroundConePositions']());}[_0x4925de(0x1c3,0xe0)](){const _0x203abd=[],_0x576c6b=this['_positionCartesian'];function _0x5ed10f(_0x2526d2,_0x41c3c3){return _0x4925de(_0x41c3c3,_0x2526d2- -0x6c);}if(!_0x576c6b)return _0x203abd;const _0x4e25ba=this['length'],_0x25bcab=_0x4e25ba*Math[_0x447b1c(0x5ba,0x531)](Cesium$4[_0x5ed10f(0x112,-0x17)]['toRadians'](0x5a-this[_0x447b1c(0x3da,0x514)]));function _0x447b1c(_0x12155f,_0x4c65d9){return _0x4925de(_0x12155f,_0x4c65d9-0x34d);}const _0x54eb46=Cesium$4[_0x5ed10f(0x15e,0x105)]['multiplyByPoint'](this['_matrix'],this[_0x447b1c(0x390,0x41f)],new Cesium$4[(_0x447b1c(0x4cb,0x55e))]()),_0x56296e=Cesium$4[_0x5ed10f(0x1a5,0x3f)]['subtract'](_0x54eb46,_0x576c6b,new Cesium$4['Cartesian3']()),_0x23eac6=Cesium$4['Cartesian3'][_0x5ed10f(0x1aa,0x260)](_0x56296e,_0x54eb46,new Cesium$4['Cartesian3']()),_0x520b75=Cesium$4['Cartesian3'][_0x447b1c(0x623,0x563)](_0x54eb46,_0x56296e,new Cesium$4[(_0x447b1c(0x5f0,0x55e))]());for(let _0xd247a4=0x0;_0xd247a4<=this[_0x447b1c(0x4e6,0x5d9)];_0xd247a4++){let _0x4838a3=new Cesium$4['Ray'](_0x54eb46,_0x23eac6);const _0x433dc7=_0x25bcab*_0xd247a4/this[_0x5ed10f(0x220,0x2c8)],_0x305f0a=Cesium$4['Ray'][_0x447b1c(0x5ed,0x578)](_0x4838a3,_0x433dc7,new Cesium$4[(_0x5ed10f(0x1a5,0x228))]()),_0x40646b=Cesium$4[_0x447b1c(0x60e,0x55e)]['subtract'](_0x305f0a,_0x576c6b,new Cesium$4[(_0x5ed10f(0x1a5,0x186))]());_0x4838a3=new Cesium$4['Ray'](_0x576c6b,_0x40646b);const _0x309651=Cesium$4['Ray']['getPoint'](_0x4838a3,_0x4e25ba,new Cesium$4[(_0x5ed10f(0x1a5,0x1e2))]());_0x203abd['push'](_0x309651);}_0x203abd['push'](_0x576c6b);for(let _0x116f20=this[_0x5ed10f(0x220,0x2aa)];_0x116f20>=0x0;_0x116f20--){let _0xa4ed04=new Cesium$4['Ray'](_0x54eb46,_0x520b75);const _0x44c21b=_0x25bcab*_0x116f20/this['_hintPotsNum'],_0x31ab58=Cesium$4['Ray']['getPoint'](_0xa4ed04,_0x44c21b,new Cesium$4[(_0x5ed10f(0x1a5,0x9f))]()),_0x173ac7=Cesium$4['Cartesian3']['subtract'](_0x31ab58,_0x576c6b,new Cesium$4[(_0x5ed10f(0x1a5,0xbf))]());_0xa4ed04=new Cesium$4[(_0x5ed10f(0x338,0x20c))](_0x576c6b,_0x173ac7);const _0x2863a3=Cesium$4['Ray']['getPoint'](_0xa4ed04,_0x4e25ba,new Cesium$4[(_0x447b1c(0x506,0x55e))]());_0x203abd['push'](_0x2863a3);}return _0x203abd;}['getRayEarthLength'](){function _0x43f6e3(_0x5aaf3e,_0x4c3e8d){return _0x4925de(_0x4c3e8d,_0x5aaf3e- -0x7e);}let _0x50c8d3=0x0;const _0x4508f2=mars3d__namespace['PointUtil'][_0x34d47f(-0xa3,-0x64)](this['_positionCartesian'],new Cesium$4['HeadingPitchRoll'](this['headingRadians'],this[_0x34d47f(0x56,0x55)],this['_rollRadians']),this['_reverse']);if(_0x4508f2){const _0x359066=Cesium$4['Cartesian3'][_0x43f6e3(0x14d,0xac)](this[_0x34d47f(-0x305,-0x197)],_0x4508f2);if(_0x359066>_0x50c8d3)return _0x50c8d3=_0x359066,_0x50c8d3;}function _0x34d47f(_0x14c3a0,_0x45cd3b){return _0x4925de(_0x14c3a0,_0x45cd3b- -0x274);}return _0x50c8d3;}[_0x2a61be(0x427,0x421)](){const _0x3acb6d=this['_positionCartesian'],_0x4af90a=Cesium$4['Math']['toRadians'](this['pitch']+this['angle']);function _0x4a5b1d(_0x536f82,_0x38a7a5){return _0x2a61be(_0x536f82,_0x38a7a5-0x8b);}const _0x412476=Cesium$4['Math'][_0x4a5b1d(0x3c2,0x4d5)](this['pitch']-this[_0x3a69bf(0x2fe,0x261)]),_0x31d606=Cesium$4['Math']['toRadians'](this['roll']+this[_0x3a69bf(0x3be,0x261)]),_0x5b040e=Cesium$4['Math'][_0x4a5b1d(0x4c2,0x4d5)](this[_0x4a5b1d(0x56a,0x4a5)]-this[_0x3a69bf(0x273,0x261)]),_0x339187=mars3d__namespace['PointUtil']['getRayEarthPosition'](_0x3acb6d,new Cesium$4['HeadingPitchRoll'](this['headingRadians'],_0x4af90a,_0x31d606),this[_0x4a5b1d(0x32e,0x3e9)]),_0x136cad=mars3d__namespace['PointUtil'][_0x4a5b1d(0x34f,0x34c)](_0x3acb6d,new Cesium$4['HeadingPitchRoll'](this[_0x4a5b1d(0x262,0x387)],_0x4af90a,_0x5b040e),this['_reverse']);function _0x3a69bf(_0x1147cb,_0x5204dc){return _0x2a61be(_0x1147cb,_0x5204dc- -0x17);}const _0x1f9f72=mars3d__namespace['PointUtil']['getRayEarthPosition'](_0x3acb6d,new Cesium$4['HeadingPitchRoll'](this['headingRadians'],_0x412476,_0x5b040e),this['_reverse']),_0x5b981e=mars3d__namespace['PointUtil'][_0x4a5b1d(0x30d,0x34c)](_0x3acb6d,new Cesium$4['HeadingPitchRoll'](this['headingRadians'],_0x412476,_0x31d606),this['_reverse']);return[_0x339187,_0x136cad,_0x1f9f72,_0x5b981e];}['_getDrawEntityClass'](_0x2c0f3d,_0x2f5fdd){_0x2c0f3d['drawShow']=![];function _0x26ea9a(_0x484314,_0x55d35a){return _0x4925de(_0x484314,_0x55d35a- -0x171);}return mars3d__namespace[_0x26ea9a(-0x63,0x11)]['create']('point',_0x2c0f3d);}[_0x2a61be(0x4fc,0x3ec)](_0x487d02){}}mars3d__namespace[_0x2a61be(0x29e,0x233)]['register']('conicSensor',ConicSensor,!![]),mars3d__namespace['graphic'][_0x4925de(0x37a,0x39f)]=ConicSensor;const Cesium$3=mars3d__namespace[_0x2a61be(0x295,0x2d7)];class RectGeometry{constructor(_0x58194a){this['_length']=_0x58194a['length'],this['_topWidth']=_0x58194a['topWidth'];function _0x2d01aa(_0x54d4a4,_0x19b9fd){return _0x4925de(_0x19b9fd,_0x54d4a4-0x43);}this[_0x2d01aa(0x2d8,0x440)]=_0x58194a[_0x13508e(0x593,0x575)];function _0x13508e(_0x219393,_0x5e5bd2){return _0x4925de(_0x5e5bd2,_0x219393-0x3fe);}this['_bottomWidth']=_0x58194a[_0x2d01aa(0x1ee,0x2ff)],this[_0x13508e(0x72b,0x654)]=_0x58194a['bottomHeight'],this['_zReverse']=_0x58194a[_0x13508e(0x4d9,0x517)],this['_slices']=_0x58194a[_0x2d01aa(0x295,0x228)]??0x4;}static['fromAnglesLength'](_0x5b9dd3,_0x23989e,_0xcd404e,_0x473f56,_0x42e54e){var _0x1ddc36={};function _0x572f6a(_0x33dede,_0x1d60f2){return _0x4925de(_0x1d60f2,_0x33dede-0x2d4);}_0x1ddc36[_0x8416cc(-0x132,-0xf3)]=_0xcd404e,_0x1ddc36[_0x8416cc(-0x166,-0xe2)]=_0x473f56,_0x1ddc36['bottomHeight']=_0xcd404e,_0x1ddc36['bottomWidth']=_0xcd404e,_0x1ddc36['topHeight']=_0xcd404e,_0x1ddc36[_0x8416cc(0x13a,-0x1b)]=_0xcd404e,_0x1ddc36['slices']=_0x42e54e;const _0x31460a=_0x1ddc36;_0x5b9dd3=Cesium$3[_0x8416cc(-0xc3,-0x42)]['toRadians'](_0x5b9dd3);function _0x8416cc(_0x27aaff,_0x124d44){return _0x4925de(_0x124d44,_0x27aaff- -0x241);}return _0x23989e=Cesium$3['Math']['toRadians'](_0x23989e),!_0x473f56?(_0x31460a['topHeight']=0x0,_0x31460a['topWidth']=0x0,_0x31460a['bottomHeight']=_0xcd404e*Math['tan'](_0x5b9dd3),_0x31460a[_0x572f6a(0x47f,0x51a)]=_0xcd404e*Math['tan'](_0x23989e)):(_0x31460a['bottomHeight']=0x0,_0x31460a[_0x572f6a(0x47f,0x33d)]=0x0,_0x31460a['topHeight']=_0xcd404e*Math[_0x572f6a(0x528,0x5a0)](_0x5b9dd3),_0x31460a['topWidth']=_0xcd404e*Math[_0x572f6a(0x528,0x428)](_0x23989e)),new RectGeometry(_0x31460a);}static['createGeometry'](_0x10ac4d,_0x489a47){if(!_0x489a47)return RectGeometry[_0x348598(0x564,0x510)](_0x10ac4d);const _0x1a5396=new Cesium$3['Cartesian3'](),_0x548afa=new Cesium$3['Ray']();Cesium$3['Matrix4'][_0x348598(0x5eb,0x4e6)](_0x489a47,Cesium$3['Cartesian3'][_0x323ead(0x224,0x1a3)],_0x1a5396),_0x1a5396['clone'](_0x548afa['origin']);const _0xc4b9c8=_0x10ac4d[_0x348598(0x597,0x4ff)],_0x3ca6c8=_0x10ac4d['_topWidth'],_0x1e7714=_0x10ac4d['_topHeight'];function _0x348598(_0x3069d7,_0x4ca5d4){return _0x2a61be(_0x3069d7,_0x4ca5d4-0x288);}const _0x15ed1c=_0x10ac4d['_zReverse'],_0x35a82c=(_0x15ed1c?-0x1:0x1)*_0x10ac4d['_length'];let _0x573af4=[],_0x31ccc0=[],_0x2bd1e6=[];const _0x28c658=_0x3ca6c8,_0x16ddb0=_0x1e7714,_0xe8e841=_0xc4b9c8,_0x367701=_0xc4b9c8;let _0x4cd0c8=0x0;_0x573af4[_0x348598(0x5c7,0x4ad)](0x0,0x0,0x0),_0x2bd1e6['push'](0x1,0x1),_0x4cd0c8++;const _0xc65393=new Cesium$3['Cartesian3'](),_0x2ce5ab=[];for(let _0x37c8af=-_0x367701;_0x37c8af<=_0x367701;_0x37c8af++){const _0x76009f=[];for(let _0x2127cc=-_0xe8e841;_0x2127cc<=_0xe8e841;_0x2127cc++){const _0x55453f=_0x16ddb0*_0x37c8af/_0x367701,_0x35c807=_0x28c658*_0x2127cc/_0xe8e841;_0xc65393['x']=_0x35c807,_0xc65393['y']=_0x55453f,_0xc65393['z']=_0x35a82c;const _0x7079ff=mars3d__namespace['PointUtil'][_0x348598(0x444,0x4cb)](_0xc65393,_0x489a47,_0x548afa);!_0x7079ff?(_0x573af4['push'](_0x35c807,_0x55453f,_0x35a82c),_0x2bd1e6['push'](0x1,0x1),_0x76009f['push'](_0x4cd0c8),_0x4cd0c8++):(_0x573af4['push'](_0x35c807,_0x55453f,_0x35a82c),_0x2bd1e6[_0x348598(0x397,0x4ad)](0x1,0x1),_0x76009f['push'](_0x4cd0c8),_0x4cd0c8++);}_0x2ce5ab['push'](_0x76009f);}const _0x247c26=[0x0,_0x2ce5ab['length']-0x1];let _0x219b7e,_0x1ba0f0;for(let _0xfad5ef=0x0;_0xfad5ef<_0x247c26['length'];_0xfad5ef++){const _0x45dcdd=_0x247c26[_0xfad5ef];for(let _0x1bd29e=0x1;_0x1bd29e<_0x2ce5ab[_0x45dcdd]['length'];_0x1bd29e++){_0x219b7e=_0x2ce5ab[_0x45dcdd][_0x1bd29e-0x1],_0x1ba0f0=_0x2ce5ab[_0x45dcdd][_0x1bd29e],_0x219b7e>=0x0&&_0x1ba0f0>=0x0&&_0x31ccc0['push'](0x0,_0x219b7e,_0x1ba0f0);}}for(let _0x22512a=0x0;_0x22512a<_0x2ce5ab[_0x348598(0x2f7,0x448)];_0x22512a++){if(_0x22512a===0x0||_0x22512a===_0x2ce5ab['length']-0x1)for(let _0xe24556=0x1;_0xe24556<_0x2ce5ab['length'];_0xe24556++){_0x219b7e=_0x2ce5ab[_0xe24556-0x1][_0x22512a],_0x1ba0f0=_0x2ce5ab[_0xe24556][_0x22512a],_0x219b7e>=0x0&&_0x1ba0f0>=0x0&&_0x31ccc0[_0x348598(0x595,0x4ad)](0x0,_0x219b7e,_0x1ba0f0);}}_0x573af4=new Float32Array(_0x573af4),_0x31ccc0=new Int32Array(_0x31ccc0),_0x2bd1e6=new Float32Array(_0x2bd1e6);const _0x245cf3={'position':new Cesium$3[(_0x348598(0x7cb,0x6cc))]({'componentDatatype':Cesium$3['ComponentDatatype'][_0x348598(0x485,0x5e8)],'componentsPerAttribute':0x3,'values':_0x573af4}),'st':new Cesium$3['GeometryAttribute']({'componentDatatype':Cesium$3['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':_0x2bd1e6})},_0x7ab9d0=Cesium$3['BoundingSphere']['fromVertices'](_0x573af4),_0x3a57f1=new Cesium$3['Geometry']({'attributes':_0x245cf3,'indices':_0x31ccc0,'primitiveType':Cesium$3[_0x323ead(0x3cf,0x275)]['TRIANGLES'],'boundingSphere':_0x7ab9d0});_0x3a57f1['myindexs']=_0x31ccc0,computeVertexNormals(_0x3a57f1),_0x573af4=[];function _0x323ead(_0x309f9b,_0x4291c9){return _0x2a61be(_0x309f9b,_0x4291c9- -0x7e);}return _0x31ccc0=[],_0x3a57f1;}static['_createGeometry'](_0x337584){const _0x16ae31=_0x337584['_bottomWidth'],_0x33b449=_0x337584[_0x50cbfd(0x370,0x310)],_0x2a0927=_0x337584['_topWidth'],_0x505df8=_0x337584['_topHeight'],_0x4611e6=_0x337584['_zReverse'],_0x267c56=(_0x4611e6?-0x1:0x1)*_0x337584['_length'];let _0xd6fe16=new Float32Array(0x8*0x3),_0x4aca68=[],_0x130d1e=[];const _0x55ee9e=new Cesium$3['Cartesian3'](0x0,0x0,_0x267c56);function _0x466a8b(_0x462335,_0x321eb9){return _0x4925de(_0x462335,_0x321eb9-0x4b2);}const _0x5d2c4b=[0x0,_0x267c56],_0xbb70e5=[_0x16ae31,_0x2a0927],_0x38f85e=[_0x33b449,_0x505df8];let _0x2e699d=0x0;for(let _0x115d0e=0x0;_0x115d0e<0x2;_0x115d0e++){_0xd6fe16[_0x2e699d*0x3]=-_0xbb70e5[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x1]=-_0x38f85e[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x2]=_0x5d2c4b[_0x115d0e],_0x130d1e[_0x2e699d*0x2]=_0x115d0e,_0x130d1e[_0x2e699d*0x2+0x1]=0x0,_0x2e699d++,_0xd6fe16[_0x2e699d*0x3]=-_0xbb70e5[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x1]=_0x38f85e[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x2]=_0x5d2c4b[_0x115d0e],_0x130d1e[_0x2e699d*0x2]=_0x115d0e,_0x130d1e[_0x2e699d*0x2+0x1]=0x0,_0x2e699d++,_0xd6fe16[_0x2e699d*0x3]=_0xbb70e5[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x1]=_0x38f85e[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x2]=_0x5d2c4b[_0x115d0e],_0x130d1e[_0x2e699d*0x2]=_0x115d0e,_0x130d1e[_0x2e699d*0x2+0x1]=0x0,_0x2e699d++,_0xd6fe16[_0x2e699d*0x3]=_0xbb70e5[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x1]=-_0x38f85e[_0x115d0e]/0x2,_0xd6fe16[_0x2e699d*0x3+0x2]=_0x5d2c4b[_0x115d0e],_0x130d1e[_0x2e699d*0x2]=_0x115d0e,_0x130d1e[_0x2e699d*0x2+0x1]=0x0,_0x2e699d++;}_0x4aca68[_0x50cbfd(0x272,0x157)](0x0,0x1,0x3),_0x4aca68['push'](0x1,0x2,0x3),_0x4aca68['push'](0x0,0x4,0x5),_0x4aca68[_0x50cbfd(0x70,0x157)](0x0,0x5,0x1);function _0x50cbfd(_0xf16c19,_0x2ea66f){return _0x4925de(_0xf16c19,_0x2ea66f- -0x1d);}_0x4aca68['push'](0x1,0x2,0x6),_0x4aca68['push'](0x1,0x6,0x5),_0x4aca68['push'](0x2,0x3,0x7),_0x4aca68['push'](0x7,0x6,0x2),_0x4aca68['push'](0x0,0x3,0x7),_0x4aca68[_0x50cbfd(0x35,0x157)](0x7,0x4,0x0),_0x4aca68['push'](0x4,0x5,0x6),_0x4aca68['push'](0x6,0x7,0x4),_0x4aca68=new Int16Array(_0x4aca68),_0x130d1e=new Float32Array(_0x130d1e);const _0x571a1b={'position':new Cesium$3[(_0x50cbfd(0x4d3,0x376))]({'componentDatatype':Cesium$3['ComponentDatatype'][_0x466a8b(0x781,0x761)],'componentsPerAttribute':0x3,'values':_0xd6fe16}),'st':new Cesium$3['GeometryAttribute']({'componentDatatype':Cesium$3[_0x50cbfd(0x3f1,0x379)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x130d1e})},_0x16de79=Cesium$3['BoundingSphere']['fromVertices'](_0xd6fe16);let _0x12c1f7=new Cesium$3['Geometry']({'attributes':_0x571a1b,'indices':_0x4aca68,'primitiveType':Cesium$3['PrimitiveType']['TRIANGLES'],'boundingSphere':_0x16de79});return _0x12c1f7=Cesium$3['GeometryPipeline']['computeNormal'](_0x12c1f7),_0xd6fe16=[],_0x4aca68=[],_0x12c1f7['bottomCenter']=_0x55ee9e,_0x12c1f7;}static[_0x2a61be(0x3d9,0x382)](_0x383dd9){const _0x2254ea=_0x383dd9['_bottomWidth'],_0x29a9f5=_0x383dd9[_0xe06c83(0x713,0x832)],_0x4c12f1=_0x383dd9['_topWidth'],_0x49002d=_0x383dd9['_topHeight'],_0x39a3cd=_0x383dd9['_zReverse'],_0x4bb36b=(_0x39a3cd?-0x1:0x1)*_0x383dd9['_length'];let _0x1d0391=new Float32Array(0x8*0x3),_0x3827c4=[],_0x433946=[];const _0x3263a7=[0x0,_0x4bb36b],_0x3d120a=[_0x2254ea,_0x4c12f1],_0x2180c7=[_0x29a9f5,_0x49002d];let _0x8c6568=0x0;for(let _0x516c6e=0x0;_0x516c6e<0x2;_0x516c6e++){_0x1d0391[_0x8c6568*0x3]=-_0x3d120a[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x1]=-_0x2180c7[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x2]=_0x3263a7[_0x516c6e],_0x433946[_0x8c6568*0x2]=_0x516c6e,_0x433946[_0x8c6568*0x2+0x1]=0x0,_0x8c6568++,_0x1d0391[_0x8c6568*0x3]=-_0x3d120a[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x1]=_0x2180c7[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x2]=_0x3263a7[_0x516c6e],_0x433946[_0x8c6568*0x2]=_0x516c6e,_0x433946[_0x8c6568*0x2+0x1]=0x0,_0x8c6568++,_0x1d0391[_0x8c6568*0x3]=_0x3d120a[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x1]=_0x2180c7[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x2]=_0x3263a7[_0x516c6e],_0x433946[_0x8c6568*0x2]=_0x516c6e,_0x433946[_0x8c6568*0x2+0x1]=0x0,_0x8c6568++,_0x1d0391[_0x8c6568*0x3]=_0x3d120a[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x1]=-_0x2180c7[_0x516c6e]/0x2,_0x1d0391[_0x8c6568*0x3+0x2]=_0x3263a7[_0x516c6e],_0x433946[_0x8c6568*0x2]=_0x516c6e,_0x433946[_0x8c6568*0x2+0x1]=0x0,_0x8c6568++;}_0x3827c4['push'](0x0,0x1,0x1,0x2),_0x3827c4['push'](0x2,0x3,0x3,0x0),_0x3827c4['push'](0x0,0x4),_0x3827c4[_0xe06c83(0x55a,0x564)](0x1,0x5),_0x3827c4[_0x36de2b(0x476,0x3e7)](0x2,0x6),_0x3827c4[_0x36de2b(0x3fe,0x3e7)](0x3,0x7),_0x3827c4['push'](0x4,0x5,0x5,0x6),_0x3827c4['push'](0x6,0x7,0x7,0x4),_0x3827c4=new Int16Array(_0x3827c4),_0x433946=new Float32Array(_0x433946);function _0xe06c83(_0xfa2403,_0x405db2){return _0x4925de(_0x405db2,_0xfa2403-0x3e6);}const _0x9e00bc={'position':new Cesium$3[(_0xe06c83(0x779,0x8e6))]({'componentDatatype':Cesium$3['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x1d0391}),'st':new Cesium$3['GeometryAttribute']({'componentDatatype':Cesium$3[_0xe06c83(0x77c,0x667)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x433946})},_0x160d51=Cesium$3['BoundingSphere']['fromVertices'](_0x1d0391);function _0x36de2b(_0x2adbfa,_0x52c5cc){return _0x4925de(_0x2adbfa,_0x52c5cc-0x273);}const _0xdf3735=new Cesium$3['Geometry']({'attributes':_0x9e00bc,'indices':_0x3827c4,'primitiveType':Cesium$3['PrimitiveType']['LINES'],'boundingSphere':_0x160d51});return _0x1d0391=[],_0x3827c4=[],_0xdf3735;}}const Cesium$2=mars3d__namespace['Cesium'],BasePointPrimitive$1=mars3d__namespace['graphic']['BasePointPrimitive'];class RectSensor extends BasePointPrimitive$1{constructor(_0x222a8d={}){super(_0x222a8d),this['_modelMatrix']=Cesium$2[_0x424f64(-0xf5,-0x4e)][_0x1ddf06(0x6c6,0x7f0)](Cesium$2[_0x424f64(-0x90,-0x4e)]['IDENTITY']),this[_0x424f64(-0x206,-0x132)]=new Cesium$2[(_0x424f64(-0xea,0x2e))](),this[_0x424f64(0x1c8,0x9a)]=new Cesium$2['Cartesian3'](),this['_scale']=new Cesium$2['Cartesian3'](0x1,0x1,0x1),this[_0x1ddf06(0x675,0x654)]=new Cesium$2['Matrix4']();function _0x424f64(_0x423721,_0x33c709){return _0x2a61be(_0x423721,_0x33c709- -0x2c9);}this['_fixedFrameTransform']=this[_0x424f64(0xb4,0x16)][_0x424f64(0x21,0xa8)]??Cesium$2[_0x424f64(-0x59,0xe3)][_0x1ddf06(0x790,0x846)];function _0x1ddf06(_0x257229,_0x5caef2){return _0x2a61be(_0x5caef2,_0x257229-0x3e9);}this['_reverse']=this['options']['reverse']??![],this['style'][_0x1ddf06(0x619,0x4b2)]=0x1,this['_updateStyleHook'](_0x222a8d[_0x424f64(-0x3d,0xcb)],_0x222a8d[_0x424f64(0xf,0xcb)]);}get['czmObject'](){return this;}get['lookAt'](){return this['options']['lookAt'];}set[_0x4925de(0x1d5,0x291)](_0x5c43ee){this['options']['lookAt']=_0x5c43ee;}get['color'](){return this['_color'];}set['color'](_0x4da552){this['_color']=mars3d__namespace['Util']['getCesiumColor'](_0x4da552);}get['outlineColor'](){function _0x5af419(_0x3ea99c,_0x551b65){return _0x2a61be(_0x551b65,_0x3ea99c-0x2b9);}return this[_0x5af419(0x6bd,0x573)];}set['outlineColor'](_0x49ebe3){function _0x41407b(_0x43e8fd,_0x1c639e){return _0x4925de(_0x1c639e,_0x43e8fd- -0xa9);}function _0x1e5667(_0xc784c8,_0x1b2f82){return _0x2a61be(_0x1b2f82,_0xc784c8- -0x2f0);}this['_outlineColor']=mars3d__namespace[_0x1e5667(0x8f,-0xbe)][_0x1e5667(0x16d,0x98)](_0x49ebe3);}get[_0x2a61be(0x1bc,0x252)](){return this['_outline'];}set['outline'](_0x35e4db){this['_outline']=_0x35e4db;function _0x11846a(_0x1602df,_0x2a48cd){return _0x4925de(_0x1602df,_0x2a48cd-0x2de);}this[_0x11846a(0x3fa,0x51e)]();}get['topShow'](){function _0x292b3e(_0x300560,_0x34ad38){return _0x4925de(_0x300560,_0x34ad38-0x4ab);}return this[_0x292b3e(0x50b,0x657)];}set['topShow'](_0x409bea){function _0x1bf8a8(_0x2a8f43,_0x4f411b){return _0x2a61be(_0x4f411b,_0x2a8f43-0x1e2);}this['_topShow']=_0x409bea,this[_0x1bf8a8(0x4d3,0x5f5)]();}get[_0x4925de(0x314,0x1b5)](){function _0x29990f(_0x543e66,_0x5e6fd6){return _0x4925de(_0x5e6fd6,_0x543e66-0x312);}return this[_0x29990f(0x5d0,0x580)];}set[_0x4925de(0x179,0x1b5)](_0x1d6592){function _0x2a7075(_0x47495a,_0x5b5050){return _0x2a61be(_0x47495a,_0x5b5050-0x17e);}this[_0x2a7075(0x3e8,0x4ed)]=_0x1d6592,this['updateGeometry']();}get['angle'](){return mars3d__namespace['Util']['getCesiumValue'](this['_angle1'],Number);}set[_0x2a61be(0x2f1,0x278)](_0x3469a0){this[_0x4a7d3e(0x3e,0x57)]=_0x3469a0;function _0x421f9f(_0x46acdd,_0x92a3ba){return _0x4925de(_0x92a3ba,_0x46acdd-0x160);}this['_angle2']=_0x3469a0;function _0x4a7d3e(_0x46c612,_0x3e85d6){return _0x2a61be(_0x46c612,_0x3e85d6- -0x39b);}this[_0x421f9f(0x3a0,0x35c)]();}get['angle1'](){return mars3d__namespace['Util']['getCesiumValue'](this['_angle1'],Number);}set['angle1'](_0x2a0965){if(this[_0x161bcc(0x372,0x41a)]===_0x2a0965)return;function _0x161bcc(_0x18dd11,_0x56bfc4){return _0x2a61be(_0x56bfc4,_0x18dd11- -0x80);}this['_angle1']=_0x2a0965,this['updateGeometry']();}get['angle2'](){function _0x5cd60d(_0x158298,_0x3bc2ad){return _0x2a61be(_0x3bc2ad,_0x158298- -0x2b1);}function _0x38e752(_0x1dd953,_0x1af028){return _0x2a61be(_0x1dd953,_0x1af028- -0x235);}return mars3d__namespace[_0x38e752(0x2a3,0x14a)][_0x38e752(0x1fc,0x1fb)](this[_0x5cd60d(0x16f,0x194)],Number);}set['angle2'](_0x2a31b6){if(this['_angle2']===_0x2a31b6)return;this['_angle2']=_0x2a31b6,this['updateGeometry']();}get[_0x2a61be(0x1de,0x1c0)](){function _0x1e0d8e(_0x34fbba,_0x241237){return _0x2a61be(_0x241237,_0x34fbba- -0x28d);}function _0x573884(_0x1114da,_0x524092){return _0x4925de(_0x1114da,_0x524092-0x3bd);}return mars3d__namespace[_0x1e0d8e(0xf2,0x20a)][_0x1e0d8e(0x1a3,0x11b)](this['_length'],Number);}set[_0x2a61be(0xad,0x1c0)](_0x42d8ef){function _0x5ddcd1(_0x14ea3c,_0x56f2d6){return _0x2a61be(_0x14ea3c,_0x56f2d6-0xa1);}function _0x2bac14(_0xcb5184,_0x38ddff){return _0x2a61be(_0x38ddff,_0xcb5184-0x1a4);}if(this[_0x5ddcd1(0x527,0x3fe)]===_0x42d8ef||Math['abs'](this['_length']-_0x42d8ef)<0xa)return;this['_length']=_0x42d8ef,this[_0x2bac14(0x495,0x5e9)]();}get['heading'](){return Cesium$2['Math']['toDegrees'](this['headingRadians']);}set[_0x4925de(0x2cf,0x160)](_0x266f6c){function _0x2f5696(_0x409682,_0x3e85e1){return _0x4925de(_0x3e85e1,_0x409682-0xef);}_0x266f6c instanceof Cesium$2['CallbackProperty']?this['_headingRadians']=_0x266f6c:this['_headingRadians']=Cesium$2['Math'][_0x2f5696(0x488,0x47f)](_0x266f6c);}get['headingRadians'](){function _0x4df00a(_0x1377ed,_0x329c4b){return _0x2a61be(_0x329c4b,_0x1377ed-0x15b);}function _0x2a92c8(_0x1b291f,_0x246729){return _0x2a61be(_0x1b291f,_0x246729-0x1e0);}return this[_0x4df00a(0x3e2,0x3e2)]instanceof Cesium$2['CallbackProperty']?Cesium$2['Math'][_0x4df00a(0x5a5,0x63b)](mars3d__namespace[_0x2a92c8(0x681,0x55f)][_0x2a92c8(0x748,0x610)](this['_headingRadians'],Number)):this[_0x4df00a(0x3e2,0x37d)];}get['pitch'](){function _0x12bb2f(_0x2055b3,_0x180b9f){return _0x4925de(_0x180b9f,_0x2055b3-0x20f);}function _0x94da4b(_0x5a2a41,_0x38e385){return _0x4925de(_0x5a2a41,_0x38e385- -0x285);}return Cesium$2[_0x94da4b(-0x3a,-0x107)][_0x94da4b(-0x8c,-0x143)](this['_pitchRadians']);}set[_0x4925de(0x2b4,0x316)](_0x475ebe){function _0x35e919(_0x369f5e,_0x3a5970){return _0x4925de(_0x369f5e,_0x3a5970-0xe2);}function _0x39a104(_0xf32d81,_0x570814){return _0x2a61be(_0x570814,_0xf32d81-0x3e4);}_0x475ebe instanceof Cesium$2['CallbackProperty']?this[_0x35e919(0x468,0x3ab)]=_0x475ebe:this['_pitchRadians']=Cesium$2['Math'][_0x39a104(0x82e,0x921)](_0x475ebe);}get['pitchRadians'](){function _0x55e22c(_0x26f40a,_0x5eace8){return _0x4925de(_0x26f40a,_0x5eace8-0x444);}function _0x3a6752(_0x394324,_0x2e911a){return _0x2a61be(_0x2e911a,_0x394324- -0x270);}return this[_0x55e22c(0x6a7,0x70d)]instanceof Cesium$2['CallbackProperty']?Cesium$2['Math']['toRadians'](mars3d__namespace[_0x3a6752(0x10f,0x255)]['getCesiumValue'](this['_pitchRadians'],Number)):this[_0x55e22c(0x84c,0x70d)];}get['roll'](){function _0x3ddc47(_0x551b57,_0x1d80d2){return _0x4925de(_0x551b57,_0x1d80d2-0x222);}return Cesium$2['Math']['toDegrees'](this[_0x3ddc47(0x4be,0x502)]);}set[_0x4925de(0x2e0,0x369)](_0x4fdcb4){function _0x3fa39e(_0xd83f7d,_0x545033){return _0x2a61be(_0x545033,_0xd83f7d-0x407);}function _0x3b6980(_0x21bf98,_0xeaccfa){return _0x4925de(_0xeaccfa,_0x21bf98-0x296);}_0x4fdcb4 instanceof Cesium$2['CallbackProperty']?this['_rollRadians']=_0x4fdcb4:this[_0x3b6980(0x576,0x45d)]=Cesium$2[_0x3fa39e(0x636,0x686)]['toRadians'](_0x4fdcb4);}get['rollRadians'](){function _0x421e8e(_0xbf27ea,_0x137872){return _0x4925de(_0xbf27ea,_0x137872-0x342);}function _0x718299(_0x4f10d0,_0x3188fc){return _0x4925de(_0x3188fc,_0x4f10d0- -0x1dd);}return this['_rollRadians']instanceof Cesium$2['CallbackProperty']?Cesium$2['Math'][_0x718299(0x1bc,0x9a)](mars3d__namespace['Util'][_0x718299(0x1a2,0xfc)](this[_0x718299(0x103,0x24b)],Number)):this[_0x421e8e(0x655,0x622)];}get[_0x4925de(0x2b3,0x31b)](){function _0x248807(_0x4c564c,_0x341848){return _0x4925de(_0x341848,_0x4c564c- -0x168);}return this[_0x248807(0x73,0xd1)];}get['rayPosition'](){if(!this['_matrix'])return null;function _0x2eb2db(_0x126fd5,_0xc07bb5){return _0x4925de(_0x126fd5,_0xc07bb5- -0x30);}function _0x571c95(_0x213f42,_0x37fdab){return _0x2a61be(_0x213f42,_0x37fdab-0x3fd);}return Cesium$2['Matrix4']['multiplyByPoint'](this[_0x571c95(0x71a,0x689)],new Cesium$2[(_0x571c95(0x6a3,0x6bf))](0x0,0x0,this['reverse']?-this['length']:this[_0x2eb2db(0x133,0xdf)]),new Cesium$2['Cartesian3']());}get['reverse'](){return this['_reverse'];}get['intersectEllipsoid'](){return this['_intersectEllipsoid'];}[_0x2a61be(0x309,0x3be)](_0x47b523,_0x480eb3){function _0x4a9bcc(_0x5ddd12,_0x23de99){return _0x4925de(_0x23de99,_0x5ddd12- -0xd1);}function _0x276246(_0x3890f1,_0x326d98){return _0x2a61be(_0x326d98,_0x3890f1- -0x1d3);}_0x47b523=style2Primitive(_0x47b523),this['_angle1']=_0x47b523[_0x4a9bcc(0x2,-0x119)]||_0x47b523[_0x276246(0xa5,-0x2)]||0x5,this[_0x4a9bcc(0x29e,0x332)]=_0x47b523['angle2']||_0x47b523[_0x276246(0xa5,-0x86)]||0x5,this['_length']=_0x47b523['length']??0x64,this[_0x4a9bcc(0x285,0x18d)]=_0x47b523[_0x276246(0x1ea,0x346)]??new Cesium$2['Color'](0x0,0x1,0x1,0.2),this[_0x276246(0x179,0x1f1)]=_0x47b523['outline']??![],this[_0x276246(0x231,0x281)]=_0x47b523[_0x276246(0xfb,0x159)]??new Cesium$2['Color'](0x1,0x1,0x1,0.4),this[_0x276246(0x8a,-0x46)]=_0x47b523['topShow']??!![],this['_topOutlineShow']=_0x47b523['topOutlineShow']??this[_0x4a9bcc(0x1ca,0x2d7)],this['_topSteps']=_0x47b523[_0x276246(0x46,-0x11e)]??0x8,this['pitch']=_0x47b523['pitch']??0x0,this['heading']=_0x47b523['heading']??0x0,this['roll']=_0x47b523[_0x4a9bcc(0x298,0x33f)]??0x0,this['updateGeometry']();}['_addedHook'](){if(!this['_show'])return;function _0xbc55ce(_0xc18581,_0x5521fb){return _0x4925de(_0xc18581,_0x5521fb-0x111);}function _0xe2725d(_0x3d96de,_0x350f6c){return _0x4925de(_0x3d96de,_0x350f6c-0x1d8);}this['primitiveCollection'][_0xe2725d(0x30b,0x3b8)](this),this[_0xe2725d(0x54d,0x418)]();}[_0x4925de(0x2ed,0x2fe)](){if(!this[_0x2e4071(-0x3,0x129)])return;function _0x2e4071(_0x53711a,_0x330101){return _0x2a61be(_0x53711a,_0x330101- -0x26e);}this['primitiveCollection'][_0x2e4071(0x1c8,0x190)](this)&&(this['_noDestroy']=!![],this['primitiveCollection']['remove'](this),this[_0x2e4071(-0x7a,-0x1a)]=![]);function _0x4fc0e9(_0x2849d4,_0x4813c4){return _0x4925de(_0x4813c4,_0x2849d4-0x2e8);}this[_0x4fc0e9(0x3e8,0x39b)]();}['update'](_0x1dd547){if(!this['getRealShow'](_0x1dd547[_0x163419(0x60f,0x69b)]))return;var _0x3339a5={};_0x3339a5['time']=_0x1dd547['time'];function _0x1e742e(_0x52d8e7,_0x18a7fd){return _0x2a61be(_0x52d8e7,_0x18a7fd- -0x5);}this['fire'](mars3d__namespace[_0x163419(0x5a1,0x64b)]['preUpdate'],_0x3339a5);(this[_0x1e742e(0x205,0x358)]instanceof Cesium$2['CallbackProperty']||this[_0x1e742e(0x4f0,0x3ed)]instanceof Cesium$2[_0x163419(0x680,0x625)]||this['_angle2']instanceof Cesium$2[_0x1e742e(0x4ae,0x3d4)])&&this[_0x1e742e(0x33a,0x2ec)]();this[_0x1e742e(0x593,0x424)](_0x1dd547['time']);if(!this['_positionCartesian'])return;function _0x163419(_0x3cd5db,_0x2a643a){return _0x4925de(_0x3cd5db,_0x2a643a-0x2fd);}if(_0x1dd547['mode']===Cesium$2[_0x1e742e(0x15d,0x219)][_0x163419(0x2d8,0x3d9)]){if(!Cesium$2['defined'](this[_0x163419(0x5a7,0x57c)])||this['_drawCommands']['length']===0x0){this[_0x1e742e(0x2fa,0x42c)]['boundingSphere']=Cesium$2[_0x1e742e(0x134,0x27c)][_0x1e742e(0x5c,0x184)](this['_geometry']['attributes'][_0x1e742e(0x385,0x311)][_0x1e742e(0x298,0x297)]),this['_clearDrawCommand'](),this['_drawCommands']=[],this['_pickCommands']=[],this['_drawCommands']['push'](this['createDrawCommand'](this['_geometry'],_0x1dd547));this['_outline']&&this['_drawCommands'][_0x163419(0x4e9,0x471)](this['createDrawCommand'](this['_outlineGeometry'],_0x1dd547,!![]));if(this['_topShow']){const _0x78be3d=this['createDrawCommand'](this['_topGeometry'],_0x1dd547);this['_drawCommands'][_0x163419(0x3d3,0x471)](_0x78be3d);if(this['_topOutlineShow']){const _0x5a9f1=this['createDrawCommand'](this['_topOutlineGeometry'],_0x1dd547,!![]);this[_0x1e742e(0x273,0x32b)]['push'](_0x5a9f1);}}}_0x1dd547['passes']['render']?this['_drawCommands']&&_0x1dd547['commandList'][_0x1e742e(0x275,0x220)](...this['_drawCommands']):this[_0x1e742e(0x252,0x18f)]&&_0x1dd547[_0x163419(0x456,0x4e0)]['push'](...this[_0x1e742e(0xee,0x18f)]);}var _0x2caeaa={};_0x2caeaa[_0x1e742e(0x340,0x44a)]=_0x1dd547['time'],this['fire'](mars3d__namespace['EventType']['postUpdate'],_0x2caeaa);}['createDrawCommand'](_0x56e749,_0x1d9c61,_0x277bfe){const _0x583ec4=_0x1d9c61['context'],_0xae7987=this['style']['translucent']??!![];function _0x4a8036(_0x5383de,_0x3af6d0){return _0x4925de(_0x5383de,_0x3af6d0- -0x90);}const _0x19b85c=this['style'][_0x55c50d(0x632,0x4c7)]??![],_0x1a1c18=Cesium$2['Appearance']['getDefaultRenderState'](_0xae7987,_0x19b85c,this['options'][_0x55c50d(0x28b,0x38c)]),_0x109706=Cesium$2[_0x55c50d(0x443,0x2f0)][_0x4a8036(-0x5,0x91)](_0x1a1c18),_0x44de88=Cesium$2['GeometryPipeline']['createAttributeLocations'](_0x56e749),_0x663886=Cesium$2['ShaderProgram'][_0x55c50d(0x41c,0x4c3)]({'context':_0x583ec4,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':this['_replaceFragmentShaderSourceByStyle'](SatelliteSensorFS),'attributeLocations':_0x44de88}),_0x273449=Cesium$2[_0x55c50d(0x3c0,0x386)]['fromGeometry']({'context':_0x583ec4,'geometry':_0x56e749,'attributeLocations':_0x44de88,'bufferUsage':Cesium$2[_0x4a8036(0xd6,0x220)]['STATIC_DRAW']}),_0x53b6e9=new Cesium$2['Cartesian3']();Cesium$2['Matrix4']['multiplyByPoint'](this['_matrix'],_0x56e749['boundingSphere'][_0x4a8036(0x1f8,0x1a0)],_0x53b6e9);const _0x35bbcd=new Cesium$2['BoundingSphere'](_0x53b6e9,_0x56e749['boundingSphere']['radius']),_0x1648f9=new Cesium$2['DrawCommand']({'primitiveType':_0x56e749['primitiveType'],'shaderProgram':_0x663886,'vertexArray':_0x273449,'modelMatrix':this[_0x55c50d(0x2f0,0x314)],'renderState':_0x109706,'boundingVolume':_0x35bbcd,'uniformMap':{'marsColor':_0x277bfe?()=>{function _0x512dcf(_0x3c6e6c,_0xd596a1){return _0x4a8036(_0xd596a1,_0x3c6e6c-0x518);}return this[_0x512dcf(0x7db,0x688)];}:()=>{return this['_color'];},'globalAlpha':()=>{return this['style']['globalAlpha'];}},'castShadows':![],'receiveShadows':![],'pass':Cesium$2[_0x4a8036(0xbd,0x20c)][_0x55c50d(0x372,0x492)],'owner':this,'pickOnly':!![],'pickCommand':new Cesium$2['DrawCommand']({'owner':this,'pickOnly':!![]})});this['bindPickId'](_0x1648f9),_0x1648f9[_0x4a8036(0x247,0x300)]=_0x583ec4['createPickId']({'primitive':_0x1648f9,'id':this['id']});function _0x55c50d(_0x5602e9,_0x1ece9d){return _0x4925de(_0x5602e9,_0x1ece9d-0x139);}if(!_0x277bfe){var _0x4d075a={};_0x4d075a['owner']=_0x1648f9,_0x4d075a['primitiveType']=_0x56e749[_0x4a8036(0x267,0x2aa)],_0x4d075a[_0x4a8036(0x99,0xcb)]=!![];const _0x451701=new Cesium$2['DrawCommand'](_0x4d075a);_0x451701['vertexArray']=_0x273449,_0x451701['renderState']=_0x109706;const _0x490d51=Cesium$2['ShaderProgram']['fromCache']({'context':_0x583ec4,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':Cesium$2[_0x55c50d(0x24a,0x2d2)]['createPickFragmentShaderSource'](SatelliteSensorFS,'uniform'),'attributeLocations':_0x44de88});_0x451701[_0x4a8036(0x26d,0x271)]=_0x490d51,_0x451701[_0x55c50d(0x460,0x3bb)]=_0x1648f9['uniformMap'],_0x451701['uniformMap'][_0x4a8036(0x2ff,0x2b6)]=()=>{function _0x39ec2c(_0x6f0ff6,_0x480432){return _0x55c50d(_0x480432,_0x6f0ff6-0xbe);}return _0x1648f9['pickId'][_0x39ec2c(0x503,0x528)];},_0x451701[_0x4a8036(0x158,0x161)]=Cesium$2['Pass'][_0x55c50d(0x47f,0x492)],_0x451701['boundingVolume']=_0x35bbcd,_0x451701['modelMatrix']=this['_matrix'],this[_0x4a8036(0x104,0x53)][_0x4a8036(0x1a4,0xe4)](_0x451701);}return _0x1648f9;}['_clearDrawCommand'](){this['_drawCommands']&&this[_0x1c5c27(0x1e,0x122)][_0x1c5c27(-0x152,-0x218)]>0x0&&(this[_0x475fe6(0x140,0x51)]['forEach'](function(_0x2b2cde){function _0x521418(_0x540c87,_0x323237){return _0x475fe6(_0x323237-0x225,_0x540c87);}function _0x22937e(_0x4b7b86,_0x562e96){return _0x1c5c27(_0x562e96-0x1cc,_0x4b7b86);}_0x2b2cde[_0x22937e(0x47,0x19a)]&&_0x2b2cde['vertexArray']['destroy'](),_0x2b2cde[_0x22937e(0x3b8,0x26c)]&&_0x2b2cde[_0x22937e(0x371,0x26c)][_0x22937e(0x7,0x129)]();}),delete this['_drawCommands']);function _0x475fe6(_0xca982,_0x31d87a){return _0x2a61be(_0x31d87a,_0xca982- -0x1f0);}function _0x1c5c27(_0x43d62d,_0x3a1238){return _0x2a61be(_0x3a1238,_0x43d62d- -0x312);}this['_pickCommands']&&this[_0x475fe6(-0x5c,0x13)]['length']>0x0&&(this['_pickCommands']['forEach'](function(_0x5b8fa0){_0x5b8fa0[_0x3a0b80(0x4f1,0x5ec)]&&_0x5b8fa0['vertexArray']['destroy']();function _0x3a0b80(_0x9b38e6,_0x635b1f){return _0x475fe6(_0x9b38e6-0x401,_0x635b1f);}function _0x35ccc3(_0x527e2b,_0x30505e){return _0x475fe6(_0x30505e-0x250,_0x527e2b);}_0x5b8fa0[_0x3a0b80(0x5c3,0x6b7)]&&_0x5b8fa0['shaderProgram']['destroy']();}),delete this['_pickCommands']);}['computeMatrix'](_0x1f4973,_0x48075e){function _0x31e02c(_0x223194,_0x2f3d25){return _0x4925de(_0x223194,_0x2f3d25- -0x12a);}this['_positionCartesian']=mars3d__namespace[_0x562b31(0x374,0x39e)]['getPositionValue'](this[_0x562b31(0x316,0x3d8)],_0x1f4973);if(!this[_0x562b31(0x18e,0xfe)])return this['_matrix']=new Cesium$2['Matrix4'](),this[_0x31e02c(0x138,0xb1)];if(this['lookAt']){const _0x552f5f=this[_0x562b31(0x18e,0x1e2)],_0x4446f0=mars3d__namespace['PointUtil']['getPositionValue'](this[_0x562b31(0x342,0x3b9)],_0x1f4973);if(Cesium$2['defined'](_0x4446f0)){!Cesium$2['defined'](this['style']['length'])&&(this['length']=Cesium$2['Cartesian3']['distance'](_0x552f5f,_0x4446f0));const _0x46e4b7=mars3d__namespace['PointUtil']['getHeadingPitchRollForLine'](_0x552f5f,_0x4446f0,!this['reverse']);!(this[_0x31e02c(0x1fe,0x19f)]instanceof Cesium$2['CallbackProperty'])&&(this[_0x31e02c(0x285,0x19f)]=_0x46e4b7[_0x562b31(0x3c7,0x3db)]),!(this['_rollRadians']instanceof Cesium$2[_0x562b31(0x3d9,0x521)])&&(this['_rollRadians']=_0x46e4b7['roll']),!(this['_headingRadians']instanceof Cesium$2['CallbackProperty'])&&(this['_headingRadians']=_0x46e4b7['heading']);}}if(this['style']['rayEllipsoid']){const _0x459f17=this[_0x562b31(0x2db,0x446)]();this[_0x562b31(0x401,0x4e9)]=_0x459f17>0x0;if(this['_intersectEllipsoid']){if(this['style']['hideRayEllipsoid'])return this[_0x562b31(0x28c,0x2c7)]=new Cesium$2[(_0x31e02c(0x170,0xa0))](),this[_0x31e02c(0x222,0xb1)];this[_0x562b31(0x1c0,0x1e2)]=_0x459f17;}}this['_modelMatrix']=this['_fixedFrameTransform'](this['_positionCartesian'],this[_0x562b31(0x45a,0x46c)],this['_modelMatrix']),this['_quaternion']=Cesium$2['Quaternion']['fromHeadingPitchRoll'](new Cesium$2['HeadingPitchRoll'](this['headingRadians'],this['pitchRadians'],this[_0x31e02c(0x127,0xa7)]),this[_0x31e02c(-0x100,-0x44)]),this[_0x31e02c(-0x2b,0xb1)]=Cesium$2['Matrix4']['fromTranslationQuaternionRotationScale'](this['_translation'],this[_0x562b31(0x197,0x20d)],this['_scale'],this['_matrix']),Cesium$2[_0x31e02c(0x11e,0xa0)]['multiplyTransformation'](this['_modelMatrix'],this[_0x31e02c(0xba,0xb1)],this['_matrix']);function _0x562b31(_0x5bb5dd,_0x492362){return _0x2a61be(_0x492362,_0x5bb5dd-0x0);}return this['_matrix'];}[_0x2a61be(0x383,0x2f1)](){function _0x3978c6(_0x6337b,_0x146212){return _0x2a61be(_0x146212,_0x6337b- -0x3a);}function _0x459b99(_0x1c8bee,_0x27d002){return _0x4925de(_0x27d002,_0x1c8bee-0x24b);}const _0x44f41b=RectGeometry[_0x459b99(0x560,0x5ac)](this[_0x3978c6(0x14a,0x50)],this[_0x459b99(0x493,0x4ff)],this['length'],!![],this[_0x459b99(0x52e,0x3f5)]['slices']??0x1);this['fourPir']=_0x44f41b,this[_0x3978c6(0x40b,0x570)]=this[_0x3978c6(0x286,0x1a1)](),this[_0x3978c6(0x3f7,0x3c4)]=this['createGeometry'](this['vao'][_0x459b99(0x49b,0x4c1)],this[_0x3978c6(0x40b,0x515)]['fourPposition'],this['vao']['topPsts'],Cesium$2[_0x3978c6(0x2b9,0x35c)]['TRIANGLES'],this[_0x3978c6(0x3cd,0x4e7)]),this[_0x459b99(0x320,0x2a0)]=this['createGeometry'](this['vao']['topPindices'],this['vao']['topPositions'],this[_0x459b99(0x5df,0x587)]['topPsts'],Cesium$2['PrimitiveType']['TRIANGLES'],this[_0x459b99(0x5a1,0x58a)]),this['_topOutlineGeometry']=this['createGeometry'](this['vao'][_0x3978c6(0x2d0,0x2ef)],this[_0x3978c6(0x40b,0x2ab)]['topPositions'],this[_0x459b99(0x5df,0x538)]['topPsts'],Cesium$2[_0x459b99(0x48d,0x521)]['LINES'],this[_0x3978c6(0x3ca,0x3ee)]),this['_outlineGeometry']=this[_0x3978c6(0x304,0x3f3)](this['vao']['fourOindices'],this['vao']['fourPposition'],this['vao'][_0x3978c6(0x2d9,0x180)],Cesium$2['PrimitiveType']['LINES'],this[_0x459b99(0x59e,0x510)]),this['_attributes_positions']=new Float32Array(this['_geometry']['attributes'][_0x3978c6(0x2dc,0x1a6)][_0x3978c6(0x262,0x2ff)][_0x459b99(0x35a,0x2f4)]);for(let _0x4f2832=0x0;_0x4f2832_0x8b5a9e)return _0x8b5a9e=_0x1afce3,_0x8b5a9e;}const _0x5126ce=this['getRayEarthPositions']();return _0x5126ce['forEach']((_0x2185c4,_0x282a89)=>{if(_0x2185c4==null)return;const _0x1f3cfc=Cesium$2['Cartesian3']['distance'](this['_positionCartesian'],_0x2185c4);_0x1f3cfc>_0x8b5a9e&&(_0x8b5a9e=_0x1f3cfc);}),_0x8b5a9e;}[_0x2a61be(0x435,0x421)](){const _0xbc37cf=this['_positionCartesian'],_0x2cfb45=Cesium$2[_0x487f13(0x1f4,0xaf)][_0x3de52b(0x7a8,0x702)](this[_0x3de52b(0x6c2,0x67f)]+this['angle2']),_0x3c628b=Cesium$2[_0x487f13(-0x9c,0xaf)]['toRadians'](this[_0x3de52b(0x6fb,0x67f)]-this['angle2']),_0x3506dd=Cesium$2[_0x487f13(0x13c,0xaf)][_0x487f13(0x33f,0x2ca)](this[_0x487f13(0x3f0,0x29a)]+this[_0x3de52b(0x598,0x43c)]),_0xaa6f98=Cesium$2['Math']['toRadians'](this[_0x487f13(0x256,0x29a)]-this['angle1']);function _0x487f13(_0x3dfa9f,_0x48af94){return _0x4925de(_0x3dfa9f,_0x48af94- -0xcf);}const _0x540df9=mars3d__namespace['PointUtil']['getRayEarthPosition'](_0xbc37cf,new Cesium$2['HeadingPitchRoll'](this['headingRadians'],_0x2cfb45,_0x3506dd),this['_reverse']),_0x129dd1=mars3d__namespace['PointUtil'][_0x3de52b(0x4b9,0x579)](_0xbc37cf,new Cesium$2['HeadingPitchRoll'](this['headingRadians'],_0x2cfb45,_0xaa6f98),this['_reverse']),_0x1331dd=mars3d__namespace[_0x3de52b(0x60e,0x62c)][_0x487f13(0x114,0x141)](_0xbc37cf,new Cesium$2['HeadingPitchRoll'](this['headingRadians'],_0x3c628b,_0xaa6f98),this['_reverse']);function _0x3de52b(_0x2331d8,_0x4c8d2d){return _0x4925de(_0x2331d8,_0x4c8d2d-0x369);}const _0x315e2d=mars3d__namespace[_0x487f13(0x301,0x1f4)]['getRayEarthPosition'](_0xbc37cf,new Cesium$2['HeadingPitchRoll'](this[_0x3de52b(0x630,0x5b4)],_0x3c628b,_0x3506dd),this['_reverse']);return[_0x540df9,_0x129dd1,_0x1331dd,_0x315e2d];}[_0x2a61be(0x212,0x1b3)](_0x576aba,_0xe14721){function _0x16d91e(_0x5cacde,_0x23f6d7){return _0x2a61be(_0x23f6d7,_0x5cacde- -0x2c0);}_0x576aba[_0x16d91e(-0x3c,-0x6a)]=![];function _0x45a724(_0x299430,_0x372333){return _0x2a61be(_0x299430,_0x372333- -0x99);}return mars3d__namespace[_0x45a724(0x14e,0x19a)]['create']('point',_0x576aba);}['_clusterShowHook'](_0x5b7479){}}mars3d__namespace[_0x4925de(0x1da,0x251)]['RectSensor']=RectSensor,mars3d__namespace['GraphicUtil']['register']('rectSensor',RectSensor,!![]);var _0x1cf70b={};_0x1cf70b['Rect']=0x0,_0x1cf70b[_0x4925de(0x30b,0x1d8)]=0x1;const SensorType=_0x1cf70b,Cesium$1=mars3d__namespace['Cesium'],BasePointPrimitive=mars3d__namespace[_0x4925de(0x350,0x251)][_0x4925de(0x3e2,0x384)];var _0x12ca3a={};_0x12ca3a[_0x2a61be(0x16b,0x21f)]=0x0,_0x12ca3a['All']=0x1,_0x12ca3a[_0x4925de(0xfc,0x197)]=0x2;const RayEllipsoidType=_0x12ca3a;class SatelliteSensor extends BasePointPrimitive{constructor(_0x52f5a5={}){function _0x1804e2(_0x1aa97a,_0x4d7ecb){return _0x4925de(_0x4d7ecb,_0x1aa97a- -0x14c);}super(_0x52f5a5),this['_modelMatrix']=Cesium$1[_0x1ad648(-0x87,0x74)]['clone'](Cesium$1[_0x1ad648(0xd7,0x74)][_0x1804e2(0x124,0x1e4)]),this[_0x1ad648(-0x197,-0x70)]=new Cesium$1[(_0x1804e2(0xfa,0x230))](),this['_translation']=new Cesium$1['Cartesian3'](),this['_scale']=new Cesium$1['Cartesian3'](0x1,0x1,0x1),this['_matrix']=new Cesium$1['Matrix4']();function _0x1ad648(_0x2dc1e3,_0x3a2fc3){return _0x4925de(_0x2dc1e3,_0x3a2fc3- -0x156);}this['_outlinePositions']=[],this['_depthTestChange']=![],this[_0x1ad648(0xc0,0x18d)][_0x1ad648(0x152,0x29)]=0x1,this[_0x1ad648(0x121,0x18d)][_0x1804e2(0x2,0x136)]=this[_0x1804e2(0x197,0x41)][_0x1804e2(0x2,-0x13)]??!![];const _0x242487=style2Primitive(this['style']);this['_sensorType']=_0x242487['sensorType']??SensorType['Rect'],this[_0x1ad648(0x164,0x1eb)]=_0x242487[_0x1804e2(-0x79,-0x4e)]||_0x242487['angle']||0x5,this[_0x1ad648(0xf6,0x219)]=_0x242487['angle2']||_0x242487['angle']||0x5,this['_length']=_0x242487[_0x1804e2(-0x3d,0xc3)]??0x0,this[_0x1804e2(0x1c0,0xd6)]=_0x242487['color']??'rgba(255,255,0,0.4)',this[_0x1804e2(0x14f,0x1ae)]=_0x242487['outline']??![],this[_0x1ad648(0x4a,0xc7)]=_0x242487['outlineColor']??_0x1804e2(0x1bc,0x21a),this[_0x1ad648(-0x31,0x32)]=_0x242487['groundPolyColor'],this[_0x1ad648(0x234,0x19d)]=_0x242487[_0x1804e2(0x21b,0x1bd)],this['_rayEllipsoid']=_0x242487[_0x1804e2(0x171,0x9e)]??![],this[_0x1804e2(0x1ca,0x1ce)]=_0x242487[_0x1804e2(0x1ca,0x95)]??0x0,this[_0x1ad648(0x81,0xa)]=_0x242487['heading']??0x0,this['roll']=_0x242487[_0x1804e2(0x21d,0x1df)]??0x0,this['_reverse']=this['options'][_0x1ad648(0x277,0x108)]??!![],this['_trackPositions']=[],this['_trackGeometries']=[];}get[_0x4925de(0x168,0x112)](){return this['_sensorType'];}set[_0x4925de(0x12e,0x112)](_0x2ca0d2){if(!Cesium$1['defined'](_0x2ca0d2))return;this[_0x3107e9(0x1fa,0x2b3)]=_0x2ca0d2;function _0x3107e9(_0x6e30ae,_0xd2d73){return _0x4925de(_0xd2d73,_0x6e30ae- -0x17f);}this['updateGeometry']();}get['color'](){function _0x456087(_0x43b892,_0x92b0f9){return _0x2a61be(_0x92b0f9,_0x43b892- -0x155);}return this[_0x456087(0x2b2,0x23e)];}set['color'](_0x3102f5){function _0x2ba374(_0x10e516,_0x262011){return _0x4925de(_0x10e516,_0x262011- -0x278);}function _0x2edb94(_0x3be1f7,_0x426902){return _0x2a61be(_0x3be1f7,_0x426902- -0xc7);}if(!Cesium$1[_0x2ba374(0x203,0xbf)](_0x3102f5))return;this[_0x2ba374(-0x94,0xde)]=mars3d__namespace['Util'][_0x2edb94(0x250,0x396)](_0x3102f5);}get['outlineColor'](){return this['_outlineColor'];}set['outlineColor'](_0x3455bf){this['_outlineColor']=mars3d__namespace['Util']['getCesiumColor'](_0x3455bf);}get['angle'](){return this['_angle1'];}set[_0x2a61be(0x11b,0x278)](_0x10a084){function _0x4be730(_0x5f15d2,_0x5c8dfa){return _0x4925de(_0x5f15d2,_0x5c8dfa-0xca);}this[_0x4be730(0x54b,0x40b)]=_0x10a084;function _0x34d56d(_0x37dd93,_0x3edced){return _0x4925de(_0x3edced,_0x37dd93-0xd2);}this['_angle2']=_0x10a084,this[_0x34d56d(0x312,0x28d)]();}get[_0x2a61be(0x2db,0x184)](){return this['_angle1'];}set[_0x2a61be(0x106,0x184)](_0x212cc9){function _0x2b248e(_0x17b859,_0x58e9ea){return _0x2a61be(_0x17b859,_0x58e9ea- -0x312);}function _0x57c308(_0x25caff,_0x311477){return _0x4925de(_0x25caff,_0x311477-0x19c);}this['_angle1']=Number(_0x212cc9),this[_0x2b248e(-0x59,0x82)][_0x2b248e(-0x2a1,-0x18e)]=this[_0x57c308(0x501,0x4dd)],this[_0x57c308(0x2ab,0x3dc)]();}get[_0x4925de(0x1c2,0x248)](){return this['_angle2'];}set['angle2'](_0x19c1b9){function _0x1859ef(_0x7c648,_0x3d6ebf){return _0x2a61be(_0x7c648,_0x3d6ebf- -0x28e);}function _0x22ccf6(_0x59f5fc,_0xe3dad9){return _0x4925de(_0xe3dad9,_0x59f5fc-0x226);}this[_0x22ccf6(0x595,0x4b3)]=Number(_0x19c1b9),this['style'][_0x22ccf6(0x46e,0x3de)]=this['_angle2'],this['updateGeometry']();}get[_0x2a61be(0x30e,0x211)](){function _0x2a92bc(_0x4a4847,_0x37a894){return _0x4925de(_0x37a894,_0x4a4847- -0xbe);}return Cesium$1['Math'][_0x2a92bc(0x84,0xc2)](this['_headingRadians']);}set['heading'](_0x1b3c74){function _0x263981(_0x295ef9,_0x7243eb){return _0x4925de(_0x7243eb,_0x295ef9-0x48f);}function _0x2f4097(_0x2bdfd9,_0xcaa34c){return _0x4925de(_0xcaa34c,_0x2bdfd9- -0x1f4);}this['_headingRadians']=Cesium$1[_0x263981(0x60d,0x77d)][_0x2f4097(0x1a5,0x87)](_0x1b3c74);}get['pitch'](){return Cesium$1['Math']['toDegrees'](this['_pitchRadians']);}set[_0x2a61be(0x322,0x3c7)](_0x137a07){this['_pitchRadians']=Cesium$1['Math']['toRadians'](_0x137a07);}get[_0x4925de(0x2ef,0x369)](){function _0xe76a34(_0x5d111d,_0x3a4928){return _0x2a61be(_0x5d111d,_0x3a4928-0x13d);}function _0x57ce34(_0xdcd339,_0x10a38b){return _0x2a61be(_0x10a38b,_0xdcd339-0x3a0);}return Cesium$1['Math'][_0xe76a34(0x380,0x330)](this[_0x57ce34(0x731,0x68d)]);}set['roll'](_0x25e868){function _0x18970e(_0x3847e8,_0x4b6426){return _0x2a61be(_0x3847e8,_0x4b6426-0x1a5);}function _0x344ff2(_0x5253f9,_0x58c367){return _0x2a61be(_0x58c367,_0x5253f9-0x258);}this[_0x18970e(0x667,0x536)]=Cesium$1['Math'][_0x18970e(0x751,0x5ef)](_0x25e868);}get[_0x2a61be(0x32e,0x252)](){return this['_outline'];}set[_0x2a61be(0x1ed,0x252)](_0x59329b){this['_outline']=_0x59329b;}get[_0x2a61be(0x3b9,0x342)](){return this['options']['lookAt'];}set[_0x2a61be(0x3d3,0x342)](_0x8cab6d){this['options']['lookAt']=_0x8cab6d;}get['matrix'](){return this['_matrix'];}get[_0x4925de(0x12f,0x12c)](){function _0x5ab08c(_0x3d710c,_0x5ac4e5){return _0x4925de(_0x5ac4e5,_0x3d710c-0x2dd);}function _0x482fcd(_0x2a2b32,_0xd4382a){return _0x4925de(_0xd4382a,_0x2a2b32-0x1ed);}return mars3d__namespace['PointUtil'][_0x5ab08c(0x498,0x422)](this['_matrix'],this[_0x482fcd(0x49a,0x3f4)]);}get[_0x4925de(0x326,0x2bd)](){return this['_rayEllipsoid'];}set['rayEllipsoid'](_0x1f686f){this['_rayEllipsoid']=_0x1f686f;}get['intersectEllipsoid'](){function _0x2a09dc(_0x100a9d,_0xc20358){return _0x4925de(_0x100a9d,_0xc20358-0x18f);}return this[_0x2a09dc(0x350,0x270)];}get[_0x2a61be(0x4fc,0x390)](){function _0x337380(_0x4ccc08,_0x2e5ec0){return _0x4925de(_0x2e5ec0,_0x4ccc08- -0x2e7);}return this[_0x337380(-0x3b,0x31)]+0x61529c;}[_0x2a61be(0x360,0x3c2)](){function _0x1bcc45(_0x5a850c,_0x2af8e4){return _0x2a61be(_0x5a850c,_0x2af8e4-0x13);}this[_0x1bcc45(0x19c,0x304)]();}['updateModelMatrix'](){function _0x44781e(_0x521d64,_0x3a6a10){return _0x4925de(_0x3a6a10,_0x521d64-0x10f);}this[_0x44781e(0x34f,0x442)](),super['updateModelMatrix']();}['_addedHook'](){function _0x40bf4a(_0x4bff99,_0x3a82b9){return _0x2a61be(_0x4bff99,_0x3a82b9- -0x43);}function _0xe2766d(_0xd91ae7,_0xfa64d5){return _0x2a61be(_0xd91ae7,_0xfa64d5-0x3fe);}if(!this['_show'])return;this[_0xe2766d(0x81f,0x72a)]['add'](this),this['_groundPolyEntity']?this['_map'][_0x40bf4a(0x36a,0x27a)]['add'](this['_groundPolyEntity']):this['_addGroundPolyEntity'](this['_groundArea']||this['_groundOutLine']);}['_removedHook'](){if(!this['_map'])return;function _0x52707f(_0x3ec60e,_0x2156ae){return _0x4925de(_0x2156ae,_0x3ec60e- -0x1b5);}this[_0x5aee6f(0x7b5,0x657)]&&this['_map'][_0x52707f(0x57,0x3d)][_0x5aee6f(0x7da,0x855)](this[_0x52707f(0x15e,0x17d)]);function _0x5aee6f(_0x18b76f,_0x5d3b43){return _0x4925de(_0x5d3b43,_0x18b76f-0x4a2);}this[_0x52707f(0xc6,0x232)]['contains'](this)&&(this['_noDestroy']=!![],this[_0x52707f(0xc6,0x147)]['remove'](this),this['_noDestroy']=![]),this[_0x52707f(0xbe,0x10f)](),this['_clearDrawCommand']();}['update'](_0x2f8f41){if(!this['getRealShow'](_0x2f8f41['time']))return;this[_0x1fb890(0x53e,0x3db)](_0x2f8f41['time']);if(!this['_positionCartesian'])return;function _0x4c7df8(_0x4be4fe,_0x158c0d){return _0x4925de(_0x4be4fe,_0x158c0d- -0x220);}!this['_geometry']&&this['updateGeometry']();function _0x1fb890(_0x56cd54,_0x111a1e){return _0x4925de(_0x56cd54,_0x111a1e-0x63);}const _0x107963=!this[_0x4c7df8(0xa8,0x69)]||!this['_matrix'][_0x1fb890(0x337,0x283)](this[_0x1fb890(0x307,0x2ec)])||this[_0x4c7df8(-0x24b,-0x127)]!==this[_0x1fb890(0x299,0x3dc)]||this['_angle1_last']!==this[_0x4c7df8(-0x9,0x121)]||this[_0x4c7df8(-0x10f,-0xbd)]!==this[_0x1fb890(0x29d,0x3d2)]||this['_length_last']!==this['_length']||this['_sceneMode_last']!==_0x2f8f41[_0x1fb890(0x2a0,0x26b)];_0x107963&&(this['_matrix_last']=this['_matrix'][_0x1fb890(0x274,0x28f)](),this['_sensorType_last']=this['_sensorType'],this['_angle1_last']=this[_0x4c7df8(0xe1,0x121)],this[_0x4c7df8(-0x157,-0xbd)]=this['_angle2'],this['_length_last']=this['_length'],this[_0x4c7df8(-0xbd,-0xa3)]=_0x2f8f41[_0x4c7df8(0xa8,-0x18)]),_0x2f8f41[_0x1fb890(0x163,0x26b)]===Cesium$1[_0x4c7df8(-0xd4,-0xb3)][_0x1fb890(0x1ca,0x13f)]?(_0x107963&&(this['_clearDrawCommand'](),this['_drawCommands']=[],this['_pickCommands']=[]),(!Cesium$1['defined'](this['_drawCommands'])||this['_drawCommands'][_0x1fb890(0x205,0x172)]===0x0)&&(this['_outlinePositions']=this[_0x1fb890(0x35d,0x34b)](this['_outlinePositions']),this[_0x4c7df8(-0x23,0x60)]&&this[_0x1fb890(0x26a,0x144)]===RayEllipsoidType['Part']?this['_imagingAreaPositions']=mars3d__namespace['PointUtil']['setPositionsHeight'](this[_0x4c7df8(-0x66,-0x86)],0x0):this[_0x1fb890(0x385,0x30c)]=Cesium$1[_0x1fb890(0x26a,0x28f)](this['_outlinePositions']),this[_0x1fb890(0x29a,0x157)](),this[_0x4c7df8(-0x171,-0x3e)]&&(this[_0x4c7df8(0x198,0x5f)]['push'](this[_0x4c7df8(0x1da,0x70)](this[_0x4c7df8(0xbb,-0x3e)],_0x2f8f41)),this[_0x1fb890(0x26f,0x2fe)]&&this['_drawCommands'][_0x4c7df8(-0x70,-0xac)](this['createDrawCommand'](this['_volumeOutlineGeometry'],_0x2f8f41,!![])))),_0x2f8f41['passes'][_0x1fb890(0x25b,0x26e)]?this[_0x4c7df8(0x36,0x5f)]&&_0x2f8f41[_0x1fb890(0x3af,0x246)]['push'](...this['_drawCommands']):this['_pickCommands']&&_0x2f8f41[_0x1fb890(0x36e,0x246)]['push'](...this['_pickCommands']),this['_groundPolyEntity']&&(this[_0x1fb890(0x349,0x376)][_0x4c7df8(0x235,0x180)]=Boolean(this['_groundArea']&&this['_show']))):(_0x107963&&(this['_imagingAreaPositions']=this['getAreaCoords']()),this['_imagingAreaPositions']&&this[_0x4c7df8(0x46,0x89)]['length']>0x0?(!this[_0x4c7df8(0xd4,0xf3)]&&this['_addGroundPolyEntity'](!![]),this['_groundPolyEntity']['show']!==!![]&&(this['_groundPolyEntity'][_0x1fb890(0x560,0x403)]=!![])):this['_groundPolyEntity']&&this['_groundPolyEntity']['show']!==![]&&(this[_0x4c7df8(-0x36,0xf3)]['show']=![]));}['computeMatrix'](_0x1e8fc9,_0x1183db){function _0x158f0a(_0x20ffc5,_0x47b1a7){return _0x2a61be(_0x20ffc5,_0x47b1a7-0x33f);}this[_0x158f0a(0x740,0x5f3)]&&(this[_0x158f0a(0x702,0x599)]=this['property'][_0x53ad3f(0x4d6,0x449)](_0x1e8fc9));function _0x53ad3f(_0x209fa0,_0x4b58f8){return _0x4925de(_0x4b58f8,_0x209fa0-0x400);}this[_0x158f0a(0x447,0x4cd)]=mars3d__namespace['PointUtil'][_0x53ad3f(0x643,0x60b)](this['position'],_0x1e8fc9);if(!this[_0x158f0a(0x51e,0x4cd)])return this['_matrix']=new Cesium$1['Matrix4'](),this['_matrix'];if(this[_0x53ad3f(0x62e,0x6db)][_0x53ad3f(0x6b6,0x78b)]){const _0x29e8c2=mars3d__namespace[_0x158f0a(0x7df,0x6be)][_0x53ad3f(0x77f,0x8a7)](this['options']['orientation'],Cesium$1[_0x158f0a(0x5de,0x636)],_0x1e8fc9);if(this['_positionCartesian']&&_0x29e8c2){const _0x4f10f5=mars3d__namespace['PointUtil']['getHeadingPitchRollByOrientation'](this['_positionCartesian'],_0x29e8c2,this[_0x158f0a(0x8b3,0x799)],this[_0x53ad3f(0x6c0,0x66b)]);!Cesium$1['defined'](this[_0x158f0a(0x561,0x6d3)][_0x53ad3f(0x560,0x515)])&&(this['_headingRadians']=_0x4f10f5['heading']),!Cesium$1['defined'](this['style']['roll'])&&(this[_0x53ad3f(0x6e0,0x6ff)]=_0x4f10f5[_0x158f0a(0x78c,0x759)]),!Cesium$1[_0x158f0a(0x85d,0x727)](this[_0x158f0a(0x57f,0x6d3)][_0x158f0a(0x837,0x706)])&&(this['_pitchRadians']=_0x4f10f5['pitch']);}}if(this['lookAt']){const _0x586425=this['_positionCartesian'],_0x80fa22=mars3d__namespace['PointUtil']['getPositionValue'](this[_0x158f0a(0x5c0,0x681)],_0x1e8fc9);if(Cesium$1[_0x53ad3f(0x737,0x6a0)](_0x80fa22)){const _0x3b8183=mars3d__namespace['PointUtil']['getHeadingPitchRollForLine'](_0x586425,_0x80fa22);this[_0x158f0a(0x5c4,0x6b9)]=_0x3b8183['pitch'],this[_0x158f0a(0x78c,0x6d0)]=_0x3b8183['roll'],!(this[_0x158f0a(0x60b,0x5c6)]instanceof Cesium$1['CallbackProperty'])&&(this['_headingRadians']=_0x3b8183[_0x158f0a(0x4be,0x550)]);}}return this[_0x53ad3f(0x5b8,0x6a6)]=this['fixedFrameTransform'](this['_positionCartesian'],this['ellipsoid'],this[_0x158f0a(0x56c,0x5a8)]),this['_quaternion']=Cesium$1[_0x53ad3f(0x646,0x78a)]['fromHeadingPitchRoll'](new Cesium$1['HeadingPitchRoll'](this['_headingRadians'],this['_pitchRadians'],this[_0x53ad3f(0x6e0,0x5ce)]),this[_0x158f0a(0x36c,0x4d6)]),this['_matrix']=Cesium$1['Matrix4']['fromTranslationQuaternionRotationScale'](this['_translation'],this[_0x158f0a(0x4ea,0x4d6)],this['_scale'],this[_0x158f0a(0x54e,0x5cb)]),Cesium$1['Matrix4'][_0x53ad3f(0x6b9,0x6ee)](this['_modelMatrix'],this['_matrix'],this['_matrix']),this['_matrix'];}['updateGeometry'](){this['_clearGeometry']();const _0x186c7e=this['_reverse']?this['geometryLength']:-this['geometryLength'];if(this[_0x4ca629(0xce,0xda)]===SensorType[_0x4ca629(-0xd3,-0x8a)]){const _0x53a0e3=this['style']['slicesC']??this[_0x3b73f7(0x12c,0x205)]['slices'],_0x284cea=this[_0x3b73f7(0x12c,0x1f5)]['slicesR'];this['_geometry']=ConicGeometry['createGeometry'](ConicGeometry['fromAngleAndLength'](this['_angle1'],_0x186c7e,!![],_0x53a0e3,_0x284cea),this[_0x4ca629(-0xd0,-0x1a1)],this),this[_0x4ca629(-0x2e,0x6b)]=ConicGeometry[_0x3b73f7(0x11a,0x12e)](ConicGeometry['fromAngleAndLength'](this['_angle1'],_0x186c7e,!![],_0x53a0e3,_0x284cea));}else{const _0x407dbc=this['style'][_0x3b73f7(0x9b,-0x27)];this['_geometry']=RectGeometry['createGeometry'](RectGeometry[_0x4ca629(0x6a,0x1b3)](this[_0x4ca629(0x96,0x149)],this['_angle2'],_0x186c7e,!![],_0x407dbc),this[_0x4ca629(-0xd0,-0x38)],this),this['_outlineGeometry']=RectGeometry['createOutlineGeometry'](RectGeometry[_0x4ca629(0x6a,-0xd0)](this['_angle1'],this['_angle2'],_0x186c7e,!![],0x1));}this[_0x3b73f7(0x1f8,0x31b)]=new Float32Array(this[_0x4ca629(0xd5,0x1cf)][_0x4ca629(-0x54,-0x1c3)]['position'][_0x4ca629(-0xc0,-0x13c)][_0x4ca629(-0x19c,-0x177)]);function _0x3b73f7(_0x2f873f,_0x105c46){return _0x2a61be(_0x105c46,_0x2f873f- -0x268);}for(let _0x16b0b2=0x0;_0x16b0b2{return this['_outlineColor'];}:()=>{return this['_color'];},_0x1180d8['globalAlpha']=()=>{return this['style']['globalAlpha'];};const _0x146541=new Cesium$1[(_0x14c6b7(0x423,0x44a))]({'primitiveType':_0x4fbbcb[_0x14c6b7(0x4ec,0x3e5)],'shaderProgram':_0x3e4785,'vertexArray':_0x352909,'modelMatrix':Cesium$1['Matrix4'][_0x14c6b7(0x422,0x363)],'renderState':_0x96a390,'boundingVolume':_0x1d757f,'uniformMap':_0x1180d8,'castShadows':![],'receiveShadows':![],'pass':Cesium$1[_0x58e27b(0x338,0x3b6)][_0x14c6b7(0x50b,0x606)],'cull':!![],'owner':this,'pickOnly':!![],'pickCommand':new Cesium$1['DrawCommand']({'owner':this,'pickOnly':!![]})});this[_0x58e27b(0x315,0x247)](_0x146541);function _0x14c6b7(_0x52d61a,_0x123404){return _0x2a61be(_0x123404,_0x52d61a-0x101);}_0x146541[_0x14c6b7(0x542,0x59b)]=_0x34bd88['createPickId']({'primitive':_0x146541,'id':this['id']});if(!_0xe9d89c){var _0x31319e={};_0x31319e['owner']=_0x146541,_0x31319e['primitiveType']=_0x4fbbcb[_0x58e27b(0x312,0x454)],_0x31319e[_0x58e27b(0x389,0x275)]=!![];const _0x18489d=new Cesium$1['DrawCommand'](_0x31319e);_0x18489d['vertexArray']=_0x352909,_0x18489d['renderState']=_0x96a390;const _0x2235f8=Cesium$1[_0x14c6b7(0x3e4,0x376)][_0x14c6b7(0x2d3,0x3a3)]({'context':_0x34bd88,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':Cesium$1['ShaderSource']['createPickFragmentShaderSource'](SatelliteSensorFS,_0x58e27b(0x497,0x336)),'attributeLocations':_0x18c390});_0x18489d[_0x58e27b(0x3d1,0x41b)]=_0x2235f8,_0x18489d['uniformMap']=_0x146541[_0x14c6b7(0x434,0x3f4)],_0x18489d[_0x58e27b(0x3fb,0x39c)][_0x58e27b(0x416,0x460)]=()=>{return _0x146541['pickId']['color'];},_0x18489d['pass']=Cesium$1[_0x14c6b7(0x44e,0x49b)]['TRANSLUCENT'],_0x18489d['boundingVolume']=_0x1d757f,_0x18489d['modelMatrix']=this['_matrix'],this['_pickCommands']['push'](_0x18489d);}return _0x146541;}['_clearDrawCommand'](){function _0x4bac15(_0x2b878f,_0x342668){return _0x2a61be(_0x342668,_0x2b878f- -0xe9);}function _0x5dc75e(_0x36bcf4,_0x3169ca){return _0x2a61be(_0x36bcf4,_0x3169ca-0xfb);}this['_drawCommands']&&this['_drawCommands'][_0x4bac15(0xd7,-0x2f)]>0x0&&(this[_0x4bac15(0x247,0x29c)]['forEach'](function(_0x48cee5){function _0x531f17(_0x1c4611,_0x238812){return _0x5dc75e(_0x238812,_0x1c4611- -0x426);}function _0x3edba0(_0x475e7b,_0x4a24ca){return _0x5dc75e(_0x475e7b,_0x4a24ca-0x77);}_0x48cee5['vertexArray']&&_0x48cee5[_0x3edba0(0x538,0x452)][_0x531f17(-0xbc,0x22)](),_0x48cee5[_0x531f17(0x87,0x12b)]&&_0x48cee5[_0x3edba0(0x3d5,0x524)]['destroy']();}),delete this['_drawCommands']),this['_pickCommands']&&this[_0x5dc75e(0x326,0x28f)][_0x5dc75e(0x1ad,0x2bb)]>0x0&&(this['_pickCommands']['forEach'](function(_0x233668){_0x233668['vertexArray']&&_0x233668['vertexArray']['destroy'](),_0x233668['shaderProgram']&&_0x233668['shaderProgram']['destroy']();}),delete this[_0x5dc75e(0x20e,0x28f)]);}['setOpacity'](_0x5b2903){function _0x1fc93b(_0x42fe4f,_0x158cc8){return _0x2a61be(_0x158cc8,_0x42fe4f-0x13f);}this['style'][_0x1fc93b(0x36f,0x42c)]=_0x5b2903;}['getAreaCoords'](_0x2dfde3={}){if(this['_rayEllipsoidType']===RayEllipsoidType[_0x2b9075(-0xba,-0x90)])return null;let _0x3a77f3=this['_outlinePositions'];function _0x2b9075(_0x428cce,_0x5b59e7){return _0x4925de(_0x428cce,_0x5b59e7- -0x1fe);}!this[_0x2b9075(0x29,0x82)]&&(this['_rayEllipsoid']=!![],_0x3a77f3=this['extend2CartesianArray'](),this[_0x4db08a(0x2b5,0x246)]=![]);function _0x4db08a(_0x436416,_0x3dd67b){return _0x4925de(_0x3dd67b,_0x436416-0x35);}if(_0x2dfde3['convex']??!![]){let _0x52ea58;this['_rayEllipsoidType']===RayEllipsoidType['Part']&&(_0x52ea58=_0x2dfde3[_0x4db08a(0x357,0x3e1)]??0x64);let _0x37af92=mars3d__namespace['LngLatArray']['toArray'](_0x3a77f3);var _0x2493da={};_0x2493da['concavity']=_0x52ea58,_0x37af92=mars3d__namespace['PolyUtil'][_0x4db08a(0x266,0x24a)](_0x37af92,_0x2493da),_0x3a77f3=mars3d__namespace[_0x2b9075(0xa5,0xe9)]['lonlats2cartesians'](_0x37af92);}return _0x3a77f3;}[_0x2a61be(0x263,0x399)](_0x5913e7=[]){const _0x490bb9=new Cesium$1[(_0x2122d1(0x5ed,0x52d))]();function _0x2122d1(_0x239705,_0x32d403){return _0x4925de(_0x32d403,_0x239705-0x423);}const _0x482887=new Cesium$1['Cartesian3'](),_0x5bc5e0=new Cesium$1[(_0x2122d1(0x634,0x503))](),_0x5168bc=new Cesium$1['Ray']();Cesium$1['Matrix4']['inverse'](this[_0x161d2f(0x3a6,0x3f9)],_0x490bb9),Cesium$1['Matrix4']['multiplyByPoint'](this[_0x2122d1(0x5fe,0x60c)],Cesium$1[_0x161d2f(0x3dc,0x397)][_0x2122d1(0x593,0x54c)],_0x5bc5e0);function _0x161d2f(_0x4d26b9,_0x3b2e4b){return _0x4925de(_0x3b2e4b,_0x4d26b9-0x1cb);}_0x5bc5e0[_0x2122d1(0x64f,0x6b8)](_0x5168bc['origin']);let _0x3b5bdb=0x0;const _0x39e918=this['_positions']['length'];for(let _0x55679f=0x3;_0x55679f<_0x39e918;_0x55679f+=0x3){Cesium$1['Cartesian3']['unpack'](this['_positions'],_0x55679f,_0x482887),Cesium$1['Matrix4'][_0x2122d1(0x5d0,0x6c8)](this['_matrix'],_0x482887,_0x5bc5e0),Cesium$1['Cartesian3'][_0x2122d1(0x6fa,0x7ad)](_0x5bc5e0,_0x5168bc['origin'],_0x5168bc['direction']),Cesium$1[_0x161d2f(0x3dc,0x3c8)]['normalize'](_0x5168bc['direction'],_0x5168bc['direction']);const _0x5057d0=Cesium$1['IntersectionTests'][_0x161d2f(0x488,0x4b8)](_0x5168bc,this[_0x2122d1(0x7cc,0x8d4)]);let _0x2a7069=null;if(this['_length']){const _0x33b0b6=Math[_0x2122d1(0x754,0x60e)](this[_0x2122d1(0x4f6,0x411)]||0x0,this['angle2']||0x0),_0x40adc1=this['_length']/Math['cos'](Cesium$1['Math']['toRadians'](_0x33b0b6));_0x2a7069=Cesium$1[_0x2122d1(0x7c7,0x7a4)][_0x161d2f(0x3f6,0x40e)](_0x5168bc,_0x40adc1);}else{if(_0x5057d0)this['_rayEllipsoidType']=RayEllipsoidType[_0x2122d1(0x6a8,0x600)],_0x2a7069=Cesium$1[_0x161d2f(0x56f,0x5ed)][_0x2122d1(0x64e,0x5ec)](_0x5168bc,_0x5057d0['start']);else return this['_rayEllipsoidType']=RayEllipsoidType[_0x2122d1(0x591,0x53a)],this['extend2CartesianArrayZC'](_0x5913e7);}if(_0x2a7069)_0x2a7069['clone'](_0x5bc5e0);else continue;_0x5913e7[_0x3b5bdb]=_0x5bc5e0['clone'](_0x5913e7[_0x3b5bdb]);const _0x2a0db0=this[_0x2122d1(0x7a3,0x84b)]['attributes']['position']['values'];_0x2a0db0&&_0x2a0db0 instanceof Float32Array&&(Cesium$1['Matrix4']['multiplyByPoint'](_0x490bb9,_0x5bc5e0,_0x5bc5e0),_0x2a0db0[_0x55679f]=_0x5bc5e0['x'],_0x2a0db0[_0x55679f+0x1]=_0x5bc5e0['y'],_0x2a0db0[_0x55679f+0x2]=_0x5bc5e0['z']),_0x3b5bdb++;}return _0x5913e7;}['extend2CartesianArrayZC'](_0x25cee2=[]){const _0x16377f=new Cesium$1['Matrix4'](),_0x311d3c=new Cesium$1['Cartesian3'](),_0x582411=new Cesium$1[(_0x5b6605(0x43a,0x470))](),_0x2b54cc=new Cesium$1[(_0x3f5a9d(0x13c,0x117))]();Cesium$1['Matrix4']['inverse'](this[_0x3f5a9d(-0x8d,-0x3e)],_0x16377f),Cesium$1[_0x3f5a9d(-0x9e,-0x1dd)][_0x3f5a9d(-0xbb,-0x47)](this[_0x3f5a9d(-0x8d,-0x44)],Cesium$1[_0x5b6605(0x43a,0x34e)][_0x3f5a9d(-0xf8,-0x226)],_0x582411),_0x582411[_0x5b6605(0x455,0x500)](_0x2b54cc[_0x3f5a9d(-0xac,0x80)]);function _0x3f5a9d(_0x2b77e1,_0x3f116c){return _0x4925de(_0x3f116c,_0x2b77e1- -0x268);}let _0x4cf277=0x0;function _0x5b6605(_0x21db31,_0x3775cd){return _0x2a61be(_0x3775cd,_0x21db31-0x178);}const _0x1a6dda=this['_positions']['length'];for(let _0x2b9899=0x3;_0x2b9899<_0x1a6dda;_0x2b9899+=0x3){Cesium$1[_0x3f5a9d(-0x57,-0xf8)][_0x3f5a9d(-0x180,-0x105)](this['_positions'],_0x2b9899,_0x311d3c),Cesium$1[_0x3f5a9d(-0x9e,-0x4f)][_0x3f5a9d(-0xbb,-0xc)](this['_matrix'],_0x311d3c,_0x582411),Cesium$1['Cartesian3']['subtract'](_0x582411,_0x2b54cc['origin'],_0x2b54cc['direction']),Cesium$1['Cartesian3']['normalize'](_0x2b54cc['direction'],_0x2b54cc['direction']);const _0x199960=Cesium$1[_0x5b6605(0x567,0x6d3)][_0x3f5a9d(0x55,-0x4b)](_0x2b54cc,this['ellipsoid']);_0x199960&&(this['_rayEllipsoidType']=RayEllipsoidType['Part']);let _0x3270a1=null;this['_rayEllipsoid']&&_0x199960&&(_0x3270a1=Cesium$1[_0x3f5a9d(0x13c,0x125)]['getPoint'](_0x2b54cc,_0x199960[_0x3f5a9d(-0x146,-0x235)]));if(!_0x3270a1){const _0x53a589=Cesium$1[_0x3f5a9d(0x13a,0x21e)]['fromCartesian'](_0x2b54cc['origin'])[_0x3f5a9d(-0xd0,0x39)],_0x30ef11=_0x53a589+0x61529c;_0x3270a1=Cesium$1['Ray'][_0x3f5a9d(-0x3d,0x50)](_0x2b54cc,_0x30ef11);}if(_0x3270a1)_0x3270a1['clone'](_0x582411);else continue;_0x25cee2[_0x4cf277]=_0x582411['clone'](_0x25cee2[_0x4cf277]);const _0x59a01c=this['_geometry']['attributes'][_0x3f5a9d(-0x3,-0x3b)][_0x3f5a9d(-0x7d,0x5e)];_0x59a01c&&_0x59a01c instanceof Float32Array&&(Cesium$1['Matrix4']['multiplyByPoint'](_0x16377f,_0x582411,_0x582411),_0x59a01c[0x3+_0x2b9899*0x3]=_0x582411['x'],_0x59a01c[0x3+_0x2b9899*0x3+0x1]=_0x582411['y'],_0x59a01c[0x3+_0x2b9899*0x3+0x2]=_0x582411['z']),_0x4cf277++;}return _0x25cee2;}[_0x2a61be(0x20e,0x231)](_0x20e992){function _0x27db74(_0x12dcac,_0x20e6fa){return _0x2a61be(_0x20e6fa,_0x12dcac- -0x249);}function _0x3f78d4(_0x58cc7c,_0x2c9fca){return _0x2a61be(_0x2c9fca,_0x58cc7c-0x3b4);}if(!_0x20e992||this['_groundPolyEntity'])return;const _0x9ab73b=new Cesium$1[(_0x3f78d4(0x71f,0x7fa))]();this[_0x3f78d4(0x778,0x7b0)]=this['_map'][_0x27db74(0x74,0x1a4)]['add']({'show':Boolean(this[_0x27db74(-0x69,0x88)]),'polygon':{'arcType':Cesium$1[_0x3f78d4(0x759,0x878)][_0x27db74(0x90,0x90)],'material':this['_groundPolyColor']||this[_0x27db74(0x1be,0x309)],'hierarchy':new Cesium$1['CallbackProperty'](_0x25711d=>{const _0x5c2432=this[_0x2b7a49(-0xf,-0x105)]||this['_imagingAreaPositions'];_0x5c2432!==_0x9ab73b['positions']&&(_0x9ab73b[_0x2b7a49(-0x8b,-0x12d)]=_0x5c2432);function _0x2b7a49(_0x5e2527,_0x5462f5){return _0x3f78d4(_0x5462f5- -0x739,_0x5e2527);}function _0x5194df(_0x4b47eb,_0x366c43){return _0x27db74(_0x4b47eb-0x1f4,_0x366c43);}return _0x9ab73b;},![])}});}[_0x2a61be(0x1a3,0x1b3)](_0x1d89dc,_0x2aa33b){function _0x2f2a67(_0x4c852a,_0x58c011){return _0x4925de(_0x58c011,_0x4c852a-0x214);}return _0x1d89dc['drawShow']=![],mars3d__namespace['GraphicUtil'][_0x2f2a67(0x4b9,0x475)]('point',_0x1d89dc);}}mars3d__namespace['graphic']['SatelliteSensor']=SatelliteSensor,mars3d__namespace['GraphicUtil']['register']('satelliteSensor',SatelliteSensor),SatelliteSensor[_0x4925de(0x2f3,0x239)]=SensorType;const Cesium=mars3d__namespace['Cesium'],Route=mars3d__namespace['graphic']['Route'];class Satellite extends Route{constructor(_0x44b751={}){function _0x255520(_0x4daef6,_0x36d9f3){return _0x2a61be(_0x4daef6,_0x36d9f3- -0x2f2);}_0x44b751['referenceFrame']=_0x44b751[_0x5bbfd8(0x3da,0x500)]??Cesium['ReferenceFrame'][_0x255520(-0x12f,-0xab)];function _0x5bbfd8(_0x278046,_0x104c88){return _0x4925de(_0x104c88,_0x278046-0x58);}super(_0x44b751);if(this[_0x255520(0xed,-0x13)][_0x255520(-0x1d5,-0x91)]&&this['options']['tle2']){this['_tle']=new Tle(this['options']['tle1'],this['options']['tle2'],this['options']['name']);if(!Cesium[_0x255520(0x121,0xf6)](this['options']['period'])){this[_0x255520(0xa1,-0x13)]['period']=this[_0x255520(-0x129,-0x113)]['period'];if(!Cesium['defined'](this['options']['period']))throw new Error('Satellite:\x20period\x20is\x20null');}this['period_time']=this['options']['period']*0x3c*0x3e8,this['_pointsNum']=this['options']['pointsNum']??0x3c;}}get['tle'](){return this['_tle'];}get['timeRange'](){function _0x33924b(_0x19d11a,_0x2702e3){return _0x2a61be(_0x19d11a,_0x2702e3-0x231);}function _0x37ead7(_0x80610b,_0x265e8a){return _0x4925de(_0x80610b,_0x265e8a- -0xbe);}return{'start':new Date(this[_0x37ead7(0x1ab,0x256)])['format'](_0x37ead7(0x1d0,0xf3)),'end':new Date(this['_time_path_end'])[_0x33924b(0x368,0x409)]('yyyy-MM-dd\x20HH:mm:ss')};}get['cone'](){var _0x461f0f;function _0x4b2a7c(_0x207d0b,_0x4faa12){return _0x2a61be(_0x207d0b,_0x4faa12- -0x210);}return((_0x461f0f=this[_0x4b2a7c(-0xa0,0x98)])===null||_0x461f0f===void 0x0?void 0x0:_0x461f0f['cone'])||this['_coneList'];}set[_0x4925de(0x30c,0x320)](_0x2fd37e){this['options']['cone']=_0x2fd37e,this['_updateCone']();}get['angle1'](){function _0x33f9b7(_0x4c81ed,_0xf4bda2){return _0x2a61be(_0x4c81ed,_0xf4bda2-0x8);}function _0x57e3db(_0x30b8f2,_0x74b2e9){return _0x4925de(_0x30b8f2,_0x74b2e9-0x458);}return this[_0x57e3db(0x629,0x778)][_0x57e3db(0x537,0x52b)];}set['angle1'](_0x55c06e){function _0x4b0cb1(_0x198fdf,_0x397e9e){return _0x4925de(_0x198fdf,_0x397e9e- -0x19d);}this['options'][_0x9d1b7b(-0x6a,0xaf)]&&(this['options']['cone']['angle1']=_0x55c06e);function _0x9d1b7b(_0x34ecbb,_0x38874e){return _0x4925de(_0x34ecbb,_0x38874e- -0x271);}this[_0x4b0cb1(0xae,0x183)]['angle1']=_0x55c06e;}get[_0x4925de(0x26d,0x248)](){function _0x114fb1(_0x338f2a,_0x130493){return _0x4925de(_0x338f2a,_0x130493-0x1a1);}return this['cone'][_0x114fb1(0x3c9,0x3e9)];}set['angle2'](_0x126fc3){function _0x5d8698(_0xe35194,_0x34113f){return _0x4925de(_0xe35194,_0x34113f-0x284);}function _0x42de18(_0x2cc36b,_0x38c360){return _0x2a61be(_0x38c360,_0x2cc36b- -0x70);}this[_0x5d8698(0x619,0x4b2)]['cone']&&(this['options']['cone']['angle2']=_0x126fc3),this['cone'][_0x42de18(0x289,0x1bf)]=_0x126fc3;}get['coneShow'](){function _0x45f3e3(_0x2f3148,_0x53a856){return _0x2a61be(_0x53a856,_0x2f3148- -0x32f);}var _0x4568b0;return(_0x4568b0=this['options'][_0x45f3e3(0xa2,0x43)])===null||_0x4568b0===void 0x0?void 0x0:_0x4568b0['show'];}set['coneShow'](_0x349ece){function _0x67761c(_0x36ce23,_0x20e52e){return _0x4925de(_0x36ce23,_0x20e52e-0x238);}this[_0x67761c(0x427,0x466)][_0x67761c(0x58b,0x558)]['show']=_0x349ece;function _0x12fb97(_0x1218d4,_0x5c2c05){return _0x2a61be(_0x5c2c05,_0x1218d4-0x298);}this['_updateCone']();}get['lookAt'](){return this['_lookAt'];}set[_0x2a61be(0x298,0x342)](_0x13476c){var _0x5646bd;function _0xf992fa(_0x3db473,_0x2fef0f){return _0x2a61be(_0x3db473,_0x2fef0f-0x323);}this['_lookAt']=_0x13476c;this['_coneList']&&this['_coneList'][_0x359087(0x7e2,0x917)](function(_0x4b0719,_0x530539,_0x2c99e9){_0x4b0719['lookAt']=_0x13476c;});function _0x359087(_0x488968,_0x33892a){return _0x4925de(_0x33892a,_0x488968-0x484);}(_0x5646bd=this[_0x359087(0x67b,0x685)])!==null&&_0x5646bd!==void 0x0&&_0x5646bd['cone']&&(this['_child'][_0xf992fa(0x6ab,0x6f4)]['lookAt']=_0x13476c);}['_mountedHook'](){function _0x3989eb(_0x63d890,_0x4bd950){return _0x2a61be(_0x4bd950,_0x63d890-0xc3);}super[_0x3989eb(0x3da,0x3a6)](),this['_updateCone']();}[_0x4925de(0x490,0x3b1)](_0x2863a5){var _0x39c162;if(!this['show'])return;this['_addChildGraphic']();function _0x2f55a1(_0x142c18,_0x4ec195){return _0x2a61be(_0x4ec195,_0x142c18- -0x56);}function _0x2e9c77(_0x1ee652,_0x43ea59){return _0x4925de(_0x1ee652,_0x43ea59-0x2ee);}(_0x39c162=this[_0x2f55a1(0x1a1,0x290)])!==null&&_0x39c162!==void 0x0&&_0x39c162['readyPromise']&&this['model']['readyPromise']['then'](()=>{function _0x5c4067(_0x4ac9aa,_0x2fa138){return _0x2f55a1(_0x2fa138- -0x362,_0x4ac9aa);}this['_readyPromise'][_0x5c4067(0x154,0x82)](this);});this['_initSampledPositionProperty']();if(this['options'][_0x2f55a1(0x2c0,0x332)]){var _0x362bb3;if(((_0x362bb3=this[_0x2f55a1(0x25e,0xf9)])===null||_0x362bb3===void 0x0||(_0x362bb3=_0x362bb3['_property'])===null||_0x362bb3===void 0x0||(_0x362bb3=_0x362bb3['_times'])===null||_0x362bb3===void 0x0?void 0x0:_0x362bb3[_0x2f55a1(0x16a,0x181)])>0x0){const _0xe4ec40=this['property'][_0x2e9c77(0x620,0x565)][_0x2e9c77(0x496,0x506)];this[_0x2e9c77(0x579,0x602)]=Cesium[_0x2f55a1(0x39d,0x2db)][_0x2e9c77(0x452,0x52a)](_0xe4ec40[0x0])[_0x2e9c77(0x4d5,0x465)](),this[_0x2e9c77(0x429,0x53c)]=Cesium['JulianDate']['toDate'](_0xe4ec40[_0xe4ec40['length']-0x1])['getTime']();}}else this[_0x2f55a1(0x198,0xaa)]=Cesium[_0x2e9c77(0x69a,0x630)]['toDate'](this['_map']['clock'][_0x2e9c77(0x67a,0x523)])[_0x2e9c77(0x4cd,0x465)](),this['calculateOrbitPoints']();}['_removeChildGraphic'](){super['_removeChildGraphic'](),this['_removeCone']();}['_setOptionsHook'](_0x6e1c88,_0xdaf86b){function _0x27c86e(_0x56feae,_0x18ed1c){return _0x4925de(_0x56feae,_0x18ed1c- -0x2a4);}function _0x30849d(_0x2fa533,_0xed5821){return _0x4925de(_0xed5821,_0x2fa533-0x5);}for(const _0x45c515 in _0xdaf86b){switch(_0x45c515){case _0x30849d(0x1b5,0x256):case _0x30849d(0x2ba,0x3d5):{if(this['options'][_0x30849d(0x1b5,0x4b)]&&this['options']['tle2']){this[_0x30849d(0x133,0x1c7)]=new Tle(this['options']['tle1'],this[_0x27c86e(0xcf,-0x76)][_0x30849d(0x2ba,0x193)],this['options']['name']);if(!Cesium['defined'](this[_0x30849d(0x233,0x1b7)][_0x30849d(0x333,0x2ea)])){this['options'][_0x27c86e(0x123,0x8a)]=this['_tle']['period'];if(!Cesium[_0x30849d(0x33c,0x319)](this['options']['period']))throw new Error(_0x27c86e(0x9a,-0xd0));}this['period_time']=this['options'][_0x30849d(0x333,0x409)]*0x3c*0x3e8,this['_time_current']=Cesium[_0x27c86e(0x77,0x9e)]['toDate'](this['_map'][_0x27c86e(0x5a,0x65)]['currentTime'])[_0x30849d(0x17c,0x18c)](),this['calculateOrbitPoints']();}break;}case'cone':this[_0x27c86e(0x69,-0xb7)]();break;default:super['_setOptionsHook'](_0x6e1c88,_0xdaf86b);break;}}}['_updatePosition'](){var _0x499680;super['_updatePosition']();!this[_0x2d1218(0x2b9,0x397)]&&(this['_modelMatrix']=this[_0x3b1938(-0xac,-0x23)](this['_position'],this[_0x3b1938(-0x9,0xd8)]));this['_coneList']&&this['_coneList']['forEach']((_0x2ad784,_0x57fbd1,_0x2bbd56)=>{const _0x59624e=_0x2ad784['attr'][_0x4dfe0a(0x579,0x682)];function _0x4dfe0a(_0x3fa382,_0x292274){return _0x3b1938(_0x3fa382,_0x292274-0x523);}const _0x2e2820=this['calculate_cam_sight'](this['_heading_reality'],this[_0x4dfe0a(0x5dc,0x54b)],this[_0x1320c8(0x103,0x27)],_0x59624e);_0x2ad784[_0x1320c8(0x15f,0x2be)]=_0x2e2820['yaw'],_0x2ad784['_pitchRadians']=_0x2e2820[_0x1320c8(0x29f,0x16f)];function _0x1320c8(_0x207213,_0x1c8c18){return _0x3b1938(_0x1c8c18,_0x207213-0x8b);}_0x2ad784['_rollRadians']=_0x2e2820['roll'];});(_0x499680=this['_child'])!==null&&_0x499680!==void 0x0&&_0x499680[_0x3b1938(0x103,0x21e)]&&(this['_child'][_0x3b1938(0x327,0x21e)][_0x3b1938(-0x56,0xd4)]=this['_heading_reality'],this['_child']['cone']['_pitchRadians']=this['_pitch_reality'],this['_child']['cone']['_rollRadians']=this[_0x2d1218(0x27b,0x28d)]);function _0x2d1218(_0x433e34,_0x3de0b0){return _0x4925de(_0x3de0b0,_0x433e34-0x101);}function _0x3b1938(_0x1dbe6f,_0x4d8072){return _0x4925de(_0x1dbe6f,_0x4d8072- -0x102);}this['_time_current']=Cesium['JulianDate']['toDate'](this['_map'][_0x2d1218(0x40a,0x4e6)]['currentTime'])['getTime'](),!this[_0x3b1938(0x1a9,0x12c)]['position']&&this['isNeedRecalculate']()&&this[_0x3b1938(0xb5,0xc1)]();}[_0x2a61be(0x43a,0x3ae)](){if(this['_time_path_start']==null||this['_time_path_end']==null)return!![];function _0x343173(_0x14e991,_0x5ce7c3){return _0x4925de(_0x5ce7c3,_0x14e991- -0x222);}const _0x9036bc=this[_0x343173(0xf2,0x5b)]+this['period_time']/0x4,_0x13e9e1=this['_time_path_end']-this['period_time']/0x4;return this['_time_current']>_0x9036bc&&this['_time_current']<_0x13e9e1?![]:!![];}['calculateOrbitPoints'](){var _0x1b696d;this['clearPosition']();let _0xd6f17e=Math[_0x559962(0x23e,0x241)](this[_0x559962(0x4b7,0x4b2)]/this[_0x559962(0x397,0x34d)]);_0xd6f17e<0x3e8&&(_0xd6f17e=0x3e8);const _0xb7a3d9=this['_time_current']-this['period_time']/0x2;let _0x45a4b,_0x44b130;const _0x3b65ad=this['options']['referenceFrame']===Cesium[_0x6f324e(0x35c,0x2d7)]['FIXED'];for(let _0x12e58e=0x0;_0x12e58e<=this[_0x559962(0x2b6,0x34d)];_0x12e58e++){_0x45a4b=_0xb7a3d9+_0x12e58e*_0xd6f17e;const _0x3a2ed1=Cesium[_0x559962(0x451,0x4a5)][_0x559962(0x276,0x2f3)](new Date(_0x45a4b)),_0x5e7d08=this['_tle'][_0x6f324e(0x35a,0x4a7)](_0x3a2ed1,_0x3b65ad);if(!_0x5e7d08)continue;this[_0x559962(0x442,0x366)][_0x6f324e(0x1c7,0x22d)](_0x3a2ed1,_0x5e7d08),!_0x44b130&&(_0x44b130=_0x5e7d08);}(_0x1b696d=this[_0x6f324e(0x3ba,0x384)][_0x559962(0x352,0x37e)])!==null&&_0x1b696d!==void 0x0&&_0x1b696d[_0x6f324e(0x439,0x4b9)]&&!_0x3b65ad&&this['property'][_0x559962(0x12a,0x23a)](Cesium['JulianDate'][_0x6f324e(0x1e9,0x2e6)](new Date(_0x45a4b)),_0x44b130);function _0x6f324e(_0xd90bfa,_0x5491f3){return _0x2a61be(_0xd90bfa,_0x5491f3-0xa5);}function _0x559962(_0x53b058,_0x6a4c7b){return _0x4925de(_0x53b058,_0x6a4c7b-0x163);}var _0x2e5f12={};_0x2e5f12['interpolationDegree']=0x2,_0x2e5f12['interpolationAlgorithm']=Cesium['LagrangePolynomialApproximation'],this[_0x6f324e(0x318,0x359)]['setInterpolationOptions'](_0x2e5f12),this[_0x6f324e(0x452,0x46a)]=this[_0x559962(0x25e,0x2a0)]-this[_0x6f324e(0x3f2,0x4a5)]/0x2,this[_0x6f324e(0x399,0x3a4)]=this['_time_current']+this[_0x6f324e(0x374,0x4a5)]/0x2,this['_child'][_0x559962(0x274,0x37e)]&&(this['_child']['path'][_0x6f324e(0x429,0x342)]=new Cesium[(_0x6f324e(0x347,0x3f5))]([new Cesium[(_0x6f324e(0x1b1,0x2cc))]({'start':Cesium['JulianDate'][_0x6f324e(0x34e,0x2e6)](new Date(this['_time_path_start'])),'stop':Cesium[_0x6f324e(0x59b,0x498)]['fromDate'](new Date(this[_0x559962(0x312,0x3b1)]))})]));}['calculate_cam_sight'](_0x3a9c35,_0x5b0bc7,_0x4ddfbc,_0x3ab34d){const _0x548906=[Math['cos'](_0x3ab34d),0x0,Math[_0x16ca88(0x2a8,0x32c)](_0x3ab34d),0x0,0x1,0x0,0x0-Math[_0x16ca88(0x3da,0x32c)](_0x3ab34d),0x0,Math['cos'](_0x3ab34d)];function _0x1d41a6(_0x1db3b1,_0x1c7613){return _0x4925de(_0x1db3b1,_0x1c7613-0x454);}const _0x411d1e=_0x548906[0x0],_0x42d467=_0x548906[0x1],_0x41e0fc=_0x548906[0x2],_0x287c24=_0x548906[0x3],_0x120d82=_0x548906[0x4],_0x46b132=_0x548906[0x5],_0x35237d=_0x548906[0x6],_0x3357e9=_0x548906[0x7],_0x242912=_0x548906[0x8],_0x431aaa=Math['cos'](_0x5b0bc7)*Math['cos'](_0x3a9c35),_0x3b8b97=0x0-Math['cos'](_0x5b0bc7)*Math[_0x16ca88(0x1c6,0x32c)](_0x3a9c35),_0x3a6fb1=Math['sin'](_0x5b0bc7),_0x13240c=Math[_0x16ca88(0x40f,0x32c)](_0x4ddfbc)*Math['cos'](_0x5b0bc7)*Math['cos'](_0x3a9c35)+Math['cos'](_0x4ddfbc)*Math['sin'](_0x3a9c35),_0x1f653b=0x0-Math['sin'](_0x4ddfbc)*Math[_0x16ca88(0x322,0x32c)](_0x5b0bc7)*Math[_0x1d41a6(0x611,0x638)](_0x3a9c35)+Math['cos'](_0x4ddfbc)*Math['cos'](_0x3a9c35),_0x5d7edd=0x0-Math[_0x16ca88(0x26e,0x32c)](_0x4ddfbc)*Math['cos'](_0x5b0bc7),_0x76fe58=0x0-Math[_0x16ca88(0x158,0x251)](_0x4ddfbc)*Math['sin'](_0x5b0bc7)*Math[_0x1d41a6(0x54c,0x55d)](_0x3a9c35)+Math['sin'](_0x4ddfbc)*Math[_0x16ca88(0x399,0x32c)](_0x3a9c35),_0x512e17=Math[_0x16ca88(0x2ac,0x251)](_0x4ddfbc)*Math[_0x16ca88(0x21e,0x32c)](_0x5b0bc7)*Math['sin'](_0x3a9c35)+Math['sin'](_0x4ddfbc)*Math['cos'](_0x3a9c35),_0x52603c=Math[_0x1d41a6(0x642,0x55d)](_0x4ddfbc)*Math['cos'](_0x5b0bc7),_0x461743=_0x411d1e*_0x431aaa+_0x42d467*_0x13240c+_0x41e0fc*_0x76fe58,_0x16efae=_0x411d1e*_0x3b8b97+_0x42d467*_0x1f653b+_0x41e0fc*_0x512e17,_0x534f53=_0x411d1e*_0x3a6fb1+_0x42d467*_0x5d7edd+_0x41e0fc*_0x52603c,_0x5f162f=_0x287c24*_0x3a6fb1+_0x120d82*_0x5d7edd+_0x46b132*_0x52603c,_0x16a2eb=_0x35237d*_0x3a6fb1+_0x3357e9*_0x5d7edd+_0x242912*_0x52603c,_0x291818=Math['atan2'](0x0-_0x5f162f,_0x16a2eb),_0x3642a4=Math['atan2'](_0x534f53,Math['sqrt'](_0x461743*_0x461743+_0x16efae*_0x16efae));function _0x16ca88(_0x518b32,_0x586ade){return _0x4925de(_0x518b32,_0x586ade-0x148);}const _0x466b51=Math['atan2'](0x0-_0x16efae,_0x461743);var _0x26e078={};return _0x26e078['roll']=_0x291818,_0x26e078[_0x1d41a6(0x76e,0x76a)]=_0x3642a4,_0x26e078['yaw']=_0x466b51,_0x26e078;}['_updateCone'](){function _0x3195df(_0x2ff0c2,_0x8bcc75){return _0x2a61be(_0x8bcc75,_0x2ff0c2-0x8d);}const _0x374da5=this[_0x1a3e85(-0x89,-0x46)][_0x1a3e85(0x112,0xac)];function _0x1a3e85(_0x3d91de,_0x3bf103){return _0x2a61be(_0x3d91de,_0x3bf103- -0x325);}_0x374da5&&(_0x374da5['show']??!![])?_0x374da5['list']&&_0x374da5['list']['length']>0x0?this[_0x3195df(0x498,0x3f6)](_0x374da5):this[_0x1a3e85(-0x242,-0x1a4)](_0x374da5):this[_0x1a3e85(-0x1e,0xe9)]();}['_removeCone'](){function _0x5f3ed5(_0x392650,_0x2e7d6d){return _0x4925de(_0x392650,_0x2e7d6d-0x1ec);}function _0xb57ea8(_0x389d5f,_0x3ac76e){return _0x2a61be(_0x389d5f,_0x3ac76e- -0x22d);}var _0x4e84e3;this['_coneList']&&(this[_0x5f3ed5(0x2aa,0x335)]['forEach']((_0x544115,_0x3fd540,_0xda7411)=>{function _0x8f99b9(_0x1b6776,_0x3606e1){return _0x5f3ed5(_0x3606e1,_0x1b6776- -0x4b5);}this[_0x8f99b9(-0x2b,-0x17d)]['removeGraphic'](_0x544115,!![]);}),this[_0xb57ea8(0x43,-0x33)]['clear']()),(_0x4e84e3=this[_0xb57ea8(-0xc1,0x7b)])!==null&&_0x4e84e3!==void 0x0&&_0x4e84e3['cone']&&(this[_0xb57ea8(0x12e,0x122)]['removeGraphic'](this[_0xb57ea8(0x149,0x7b)]['cone'],!![]),delete this[_0xb57ea8(-0x40,0x7b)][_0xb57ea8(0x71,0x1a4)]);}['_showListCone'](_0x5e91f6){function _0x3f9874(_0x125c16,_0x409420){return _0x4925de(_0x125c16,_0x409420-0x422);}function _0x1caae7(_0x524358,_0x16eea2){return _0x2a61be(_0x524358,_0x16eea2- -0x172);}!this[_0x3f9874(0x5e5,0x56b)]&&(this['_coneList']=new Map());for(let _0x15dc5b=0x0;_0x15dc5b<_0x5e91f6['list']['length'];_0x15dc5b++){const _0x39d0a6=_0x5e91f6[_0x1caae7(0xb5,0xf1)][_0x15dc5b];_0x39d0a6['name']=_0x39d0a6['name']||_0x15dc5b;if(_0x39d0a6['hasOwnProperty'](_0x3f9874(0x846,0x7c2))&&!_0x39d0a6[_0x3f9874(0x6cd,0x7c2)]){if(this[_0x3f9874(0x5b4,0x56b)]['has'](_0x39d0a6['name'])){const _0x3b3897=this['_coneList']['get'](_0x39d0a6[_0x3f9874(0x7df,0x7bd)]);_0x3b3897['remove'](),_0x3b3897['destroy'](!![]),this['_coneList'][_0x3f9874(0x5b8,0x532)](_0x39d0a6['name']);}}else{const _0x2c3b19=_0x39d0a6['angle1'],_0x2d01ba=_0x39d0a6['angel2'],_0x4e1125=Cesium['Math']['toRadians'](this[_0x3f9874(0x491,0x582)]||0x0),_0x130aed=Cesium['Math'][_0x3f9874(0x7a2,0x7bb)](this['pitch']||0x0),_0xa0f25=Cesium['Math'][_0x1caae7(0x33a,0x2d8)](this['roll']||0x0),_0xa5cabc=Cesium['Math'][_0x3f9874(0x8e8,0x7bb)](_0x39d0a6[_0x3f9874(0x664,0x683)]),_0xcb086d=this['calculate_cam_sight'](_0x4e1125,_0x130aed,_0xa0f25,_0xa5cabc);if(this['_coneList']['has'](_0x39d0a6['name'])){const _0x25e3f9=this['_coneList']['get'](_0x39d0a6['name']);_0x25e3f9[_0x3f9874(0x4fe,0x4f5)]=_0x2c3b19,_0x25e3f9['angle2']=_0x2d01ba,_0x25e3f9[_0x1caae7(0x14b,0x51)]=_0x5e91f6[_0x1caae7(0xa,0x51)],_0x25e3f9[_0x3f9874(0x7c6,0x72e)]=_0x39d0a6['color'],_0x25e3f9['outline']=_0x39d0a6[_0x3f9874(0x552,0x5c3)],_0x25e3f9[_0x1caae7(0x16f,0x115)]=_0xcb086d[_0x1caae7(0x12c,0x163)],_0x25e3f9[_0x3f9874(0x616,0x6eb)]=_0xcb086d[_0x1caae7(0x2d0,0x255)],_0x25e3f9[_0x1caae7(0x1af,0x21f)]=_0xcb086d[_0x3f9874(0x715,0x78b)];}else{var _0x581f9a={};_0x581f9a[_0x1caae7(0x20f,0x1a0)]=_0xa5cabc;const _0x3b1e14=new SatelliteSensor({'position':new Cesium[(_0x1caae7(0x2e9,0x267))](_0x32bcb3=>{return this['_position'];},![]),'style':{..._0x39d0a6,'sensorType':_0x5e91f6[_0x1caae7(0x1c3,0x51)],'angle1':_0x2c3b19,'angle2':_0x2d01ba,'heading':Cesium[_0x3f9874(0x4d4,0x5a0)][_0x3f9874(0x63b,0x564)](_0xcb086d['yaw']),'pitch':Cesium[_0x3f9874(0x433,0x5a0)][_0x1caae7(0x79,0x81)](_0xcb086d[_0x3f9874(0x715,0x738)]),'roll':Cesium['Math']['toDegrees'](_0xcb086d[_0x3f9874(0x6a9,0x78b)])},'attr':_0x581f9a,'reverse':_0x5e91f6['reverse'],'rayEllipsoid':_0x5e91f6['rayEllipsoid'],'private':!![]});this['_layer'][_0x3f9874(0x7b8,0x6ac)](_0x3b1e14),this[_0x1caae7(0x74,0x6c)](_0x3b1e14),this['_coneList']['set'](_0x39d0a6[_0x3f9874(0x826,0x7bd)],_0x3b1e14);}}}}['_showOneCone'](_0x4b29fa){function _0x35a6a0(_0x48d9b3,_0x381840){return _0x2a61be(_0x48d9b3,_0x381840- -0x140);}function _0x1d8ce9(_0x2a54fc,_0x39beb3){return _0x2a61be(_0x39beb3,_0x2a54fc-0x2b);}var _0x249d55;if((_0x249d55=this['_child'])!==null&&_0x249d55!==void 0x0&&_0x249d55[_0x1d8ce9(0x3fc,0x429)])this['_child']['cone']['angle1']=_0x4b29fa['angle1']??0x5,this['_child'][_0x1d8ce9(0x3fc,0x3f4)]['angle2']=_0x4b29fa[_0x35a6a0(0x13f,0x1b9)]??0x5,this[_0x1d8ce9(0x2d3,0x3d0)]['cone'][_0x1d8ce9(0x1ee,0x99)]=_0x4b29fa['sensorType'],this['_child'][_0x1d8ce9(0x3fc,0x48c)][_0x35a6a0(0x2a2,0x27d)]=_0x4b29fa['color'],this[_0x1d8ce9(0x2d3,0x3fc)][_0x35a6a0(0x27c,0x291)][_0x1d8ce9(0x27d,0x384)]=_0x4b29fa[_0x1d8ce9(0x27d,0x3bf)],this[_0x35a6a0(0x106,0x168)][_0x35a6a0(0x1c3,0x291)]['_headingRadians']=this[_0x1d8ce9(0x282,0x199)],this['_child'][_0x1d8ce9(0x3fc,0x39e)]['_pitchRadians']=this['_pitch_reality'],this[_0x35a6a0(-0x9,0x168)][_0x1d8ce9(0x3fc,0x41c)]['_rollRadians']=this['_roll_reality'];else{const _0x565558=new SatelliteSensor({'position':new Cesium['CallbackProperty'](_0x44494a=>{function _0x33c3a7(_0x54567a,_0x15c218){return _0x35a6a0(_0x15c218,_0x54567a-0x2b7);}return this[_0x33c3a7(0x3d1,0x313)];},![]),'style':{..._0x4b29fa,'heading':this[_0x35a6a0(0x137,0xd1)]||0x0,'pitch':this['pitch']||0x0,'roll':this['roll']||0x0},'reverse':_0x4b29fa['reverse'],'rayEllipsoid':_0x4b29fa['rayEllipsoid'],'private':!![]});this[_0x35a6a0(0x14a,0x20f)][_0x1d8ce9(0x366,0x366)](_0x565558),this['bindPickId'](_0x565558),this['_child']['cone']=_0x565558;}}['_toJSON_Ex'](_0x30cc0f){function _0x3a5f9a(_0x41484d,_0x6eacb7){return _0x2a61be(_0x41484d,_0x6eacb7- -0x274);}delete _0x30cc0f[_0x3a5f9a(-0x162,-0x1c)];}[_0x4925de(0x2e9,0x24f)](_0x3f2f5c={}){if(!this[_0x31e0e8(0x451,0x458)])return;const _0x4212d3=this['_position'];if(!_0x4212d3)return;const _0x5efe06=Cesium['Cartographic'][_0x475185(-0x127,-0x135)](_0x4212d3)[_0x31e0e8(0x2d3,0x30a)]*(_0x3f2f5c[_0x475185(0x1ff,0x128)]??1.5);let _0xe8d5b7;if(Cesium['defined'](_0x3f2f5c['heading'])){var _0xb60325;_0xe8d5b7=_0x3f2f5c[_0x475185(0xc,-0xdd)]+Cesium['Math']['toDegrees'](((_0xb60325=this['hpr'])===null||_0xb60325===void 0x0?void 0x0:_0xb60325[_0x31e0e8(0x24a,0x2d2)])||0x0);}function _0x475185(_0x321156,_0x1bf265){return _0x4925de(_0x321156,_0x1bf265- -0x23d);}var _0xf13bf6={..._0x3f2f5c};_0xf13bf6[_0x31e0e8(0x220,0x275)]=_0x5efe06;function _0x31e0e8(_0x5e5596,_0x35bcda){return _0x4925de(_0x5e5596,_0x35bcda-0x172);}return _0xf13bf6[_0x31e0e8(0x1c9,0x2d2)]=_0xe8d5b7,this[_0x475185(0xc4,0xa9)]['flyToPoint'](_0x4212d3,_0xf13bf6);}['flyTo'](_0x3a666c){function _0x3f66a6(_0x1019d8,_0x56405d){return _0x4925de(_0x56405d,_0x1019d8- -0x2d3);}return this[_0x3f66a6(-0x84,-0x109)](_0x3a666c);}[_0x4925de(0x13c,0x17c)](_0x1891c4){var _0x34b4b8,_0x453676;if(this[_0x29b440(0x5c,0x1b8)])return this;this[_0x29b440(0x21e,0x1b8)]=!![];_0x1891c4&&this['addTo'](_0x1891c4);this['fire'](mars3d__namespace[_0x143a26(0x551,0x57b)][_0x143a26(0x4ba,0x4d8)],{'drawType':this['type'],'positions':this[_0x143a26(0x56d,0x52f)]},!![]);function _0x29b440(_0x503ad5,_0xa30e8d){return _0x2a61be(_0x503ad5,_0xa30e8d- -0x17c);}function _0x143a26(_0x2fa1b7,_0x34294d){return _0x2a61be(_0x34294d,_0x2fa1b7-0x152);}(_0x34b4b8=this[_0x143a26(0x431,0x44e)])!==null&&_0x34b4b8!==void 0x0&&_0x34b4b8['success']&&this['options']['success'](this),(_0x453676=this[_0x29b440(0x2ab,0x163)])!==null&&_0x453676!==void 0x0&&(_0x453676=_0x453676[_0x143a26(0x2f2,0x280)])!==null&&_0x453676!==void 0x0&&_0x453676[_0x143a26(0x58c,0x632)]&&this[_0x143a26(0x431,0x4e4)][_0x143a26(0x2f2,0x25a)]['resolve'](this);}}mars3d__namespace[_0x4925de(0x19c,0x251)][_0x4925de(0x68,0x118)]=Satellite,mars3d__namespace['GraphicUtil']['register']('satellite',Satellite,!![]),exports['CamberRadar']=CamberRadar,exports['ConicSensor']=ConicSensor,exports['FixedJammingRadar']=FixedJammingRadar,exports['JammingRadar']=JammingRadar,exports['RectSensor']=RectSensor,exports['Satellite']=Satellite,exports[_0x2a61be(0x355,0x3d0)]=SatelliteSensor,exports['SpaceUtil']=SpaceUtil,exports['Tle']=Tle;var _0x271650={};_0x271650['value']=!![],Object['defineProperty'](exports,_0x2a61be(0x144,0x2b0),_0x271650); +'use strict';(function(_0x544a50,_0x5adfcd){var _0x5a970a=_0x544a50();function _0x846067(_0x1b7b3d,_0x268ec4){return _0x239d(_0x1b7b3d- -0x1cd,_0x268ec4);}function _0xac61ef(_0x48c7d7,_0x321ef9){return _0x239d(_0x321ef9-0x35b,_0x48c7d7);}while(!![]){try{var _0x69e588=-parseInt(_0xac61ef(0x759,0x5e7))/0x1*(parseInt(_0x846067(0x109,0x142))/0x2)+-parseInt(_0xac61ef(0x551,0x5b0))/0x3+parseInt(_0xac61ef(0x72c,0x696))/0x4+-parseInt(_0x846067(0x165,0x1f8))/0x5+parseInt(_0xac61ef(0x591,0x5f1))/0x6*(parseInt(_0x846067(-0x117,-0x77))/0x7)+parseInt(_0xac61ef(0x51d,0x556))/0x8+-parseInt(_0x846067(-0x36,-0xa3))/0x9*(-parseInt(_0xac61ef(0x560,0x5ba))/0xa);if(_0x69e588===_0x5adfcd)break;else _0x5a970a['push'](_0x5a970a['shift']());}catch(_0x13640c){_0x5a970a['push'](_0x5a970a['shift']());}}}(_0x594f,0xb402d));function _interopNamespace(_0x3ae75c){function _0x40b758(_0x305ad0,_0x3511c2){return _0x239d(_0x3511c2-0x2d8,_0x305ad0);}if(_0x3ae75c&&_0x3ae75c['__esModule'])return _0x3ae75c;var _0x2f7922=Object[_0x40b758(0x51d,0x524)](null);_0x3ae75c&&Object[_0x412290(0xb9,0xbe)](_0x3ae75c)[_0x412290(0x2ba,0x1b5)](function(_0x2f870e){function _0x52c5f6(_0x39369f,_0x42a887){return _0x40b758(_0x42a887,_0x39369f- -0x79);}function _0x42f084(_0x17ba48,_0x2b7d13){return _0x40b758(_0x2b7d13,_0x17ba48- -0x20f);}if(_0x2f870e!==_0x52c5f6(0x31d,0x2bb)){var _0x264396=Object[_0x52c5f6(0x51c,0x5d4)](_0x3ae75c,_0x2f870e);Object[_0x52c5f6(0x3e8,0x4ee)](_0x2f7922,_0x2f870e,_0x264396['get']?_0x264396:{'enumerable':!![],'get':function(){return _0x3ae75c[_0x2f870e];}});}});_0x2f7922[_0x40b758(0x434,0x396)]=_0x3ae75c;function _0x412290(_0x47eb91,_0x554857){return _0x239d(_0x554857- -0xbd,_0x47eb91);}return _0x2f7922;}function _mergeNamespaces(_0x8f8450,_0xc55080){return _0xc55080['forEach'](function(_0x4ba79c){function _0x377bf3(_0x5d827f,_0x206d57){return _0x239d(_0x206d57-0x2f2,_0x5d827f);}function _0x38960f(_0x120cee,_0x1955c5){return _0x239d(_0x1955c5-0x79,_0x120cee);}_0x4ba79c&&typeof _0x4ba79c!=='string'&&!Array[_0x377bf3(0x512,0x40a)](_0x4ba79c)&&Object[_0x377bf3(0x48f,0x46d)](_0x4ba79c)[_0x377bf3(0x496,0x564)](function(_0x2fbf09){function _0x1585ea(_0x451d0b,_0x49f7c5){return _0x38960f(_0x49f7c5,_0x451d0b- -0x321);}function _0xb1d21f(_0x1216da,_0x10f871){return _0x377bf3(_0x10f871,_0x1216da- -0x1a9);}if(_0x2fbf09!==_0xb1d21f(0x207,0xd9)&&!(_0x2fbf09 in _0x8f8450)){var _0x4f765f=Object[_0xb1d21f(0x406,0x4e3)](_0x4ba79c,_0x2fbf09);Object['defineProperty'](_0x8f8450,_0x2fbf09,_0x4f765f[_0x1585ea(-0x1d0,-0x196)]?_0x4f765f:{'enumerable':!![],'get':function(){return _0x4ba79c[_0x2fbf09];}});}});}),_0x8f8450;}var mars3d__namespace=_interopNamespace(mars3d),pi$1=Math['PI'],twoPi$1=pi$1*0x2,deg2rad$1=pi$1/0xb4,rad2deg$1=0xb4/pi$1,minutesPerDay$1=0x5a0,mu$1=398600.8,earthRadius$1=6378.135,xke$1=0x3c/Math[_0x4a554d(0x251,0x21b)](earthRadius$1*earthRadius$1*earthRadius$1/mu$1),vkmpersec$1=earthRadius$1*xke$1/0x3c,tumin$1=0x1/xke$1,j2$1=0.001082616,j3$1=-0.00000253881,j4$1=-0.00000165597,j3oj2$1=j3$1/j2$1,x2o3$1=0x2/0x3,_0x4719b6={};_0x4719b6['__proto__']=null,_0x4719b6['deg2rad']=deg2rad$1,_0x4719b6['earthRadius']=earthRadius$1,_0x4719b6['j2']=j2$1,_0x4719b6['j3']=j3$1,_0x4719b6['j3oj2']=j3oj2$1,_0x4719b6['j4']=j4$1,_0x4719b6['minutesPerDay']=minutesPerDay$1,_0x4719b6['mu']=mu$1,_0x4719b6['pi']=pi$1,_0x4719b6['rad2deg']=rad2deg$1,_0x4719b6['tumin']=tumin$1,_0x4719b6[_0x4a554d(0x18a,0x1c3)]=twoPi$1,_0x4719b6[_0x4c8020(0x350,0x2b0)]=vkmpersec$1,_0x4719b6['x2o3']=x2o3$1,_0x4719b6['xke']=xke$1;var constants$1=Object[_0x4c8020(0x44a,0x4d8)](_0x4719b6);function days2mdhms$1(_0x4de3ac,_0x1f9d38){var _0x5d66f5=[0x1f,_0x4de3ac%0x4===0x0?0x1d:0x1c,0x1f,0x1e,0x1f,0x1e,0x1f,0x1f,0x1e,0x1f,0x1e,0x1f],_0x1d2145=Math['floor'](_0x1f9d38),_0xc2ad84=0x1,_0x4ce7dd=0x0;function _0x40f26d(_0x4e0b13,_0x508b27){return _0x4a554d(_0x4e0b13-0xa4,_0x508b27);}while(_0x1d2145>_0x4ce7dd+_0x5d66f5[_0xc2ad84-0x1]&&_0xc2ad84<0xc){_0x4ce7dd+=_0x5d66f5[_0xc2ad84-0x1],_0xc2ad84+=0x1;}var _0x1d4f17=_0xc2ad84,_0x148c7a=_0x1d2145-_0x4ce7dd,_0x1f8cf3=(_0x1f9d38-_0x1d2145)*0x18,_0x140e18=Math['floor'](_0x1f8cf3);_0x1f8cf3=(_0x1f8cf3-_0x140e18)*0x3c;var _0x11746f=Math[_0x40f26d(0x153,0x214)](_0x1f8cf3),_0xf0f077=(_0x1f8cf3-_0x11746f)*0x3c,_0x4fe7ea={};function _0x2c4f23(_0x272dc3,_0x2cd77e){return _0x4a554d(_0x272dc3- -0x78,_0x2cd77e);}return _0x4fe7ea['mon']=_0x1d4f17,_0x4fe7ea['day']=_0x148c7a,_0x4fe7ea['hr']=_0x140e18,_0x4fe7ea[_0x40f26d(0x372,0x295)]=_0x11746f,_0x4fe7ea['sec']=_0xf0f077,_0x4fe7ea;}function jdayInternal$1(_0x461e9f,_0x2625c3,_0x44adb6,_0x2d7123,_0xe08a21,_0x3019ee){function _0x3d3cfa(_0x4829d7,_0x1378e8){return _0x4a554d(_0x1378e8-0x79,_0x4829d7);}function _0xd46778(_0x27632d,_0x164e5c){return _0x4c8020(_0x27632d- -0x21d,_0x164e5c);}var _0xafb0e6=arguments[_0x3d3cfa(0x31d,0x1e5)]>0x6&&arguments[0x6]!==undefined?arguments[0x6]:0x0;return 0x16f*_0x461e9f-Math['floor'](0x7*(_0x461e9f+Math['floor']((_0x2625c3+0x9)/0xc))*0.25)+Math[_0x3d3cfa(-0x41,0x128)](0x113*_0x2625c3/0x9)+_0x44adb6+1721013.5+((_0xafb0e6/0xea60+_0x3019ee/0x3c+_0xe08a21)/0x3c+_0x2d7123)/0x18;}function jday$1(_0x5c05df,_0x47d54f,_0x17c901,_0x5243b4,_0x59a130,_0x49bfde,_0x1c82a0){function _0x1525c4(_0x24affc,_0x56b649){return _0x4c8020(_0x56b649- -0x510,_0x24affc);}function _0x585f49(_0x42f1a9,_0x57e9a0){return _0x4a554d(_0x57e9a0- -0x1b8,_0x42f1a9);}if(_0x5c05df instanceof Date){var _0x4f8508=_0x5c05df;return jdayInternal$1(_0x4f8508['getUTCFullYear'](),_0x4f8508[_0x585f49(-0x162,-0x178)]()+0x1,_0x4f8508['getUTCDate'](),_0x4f8508['getUTCHours'](),_0x4f8508['getUTCMinutes'](),_0x4f8508['getUTCSeconds'](),_0x4f8508[_0x585f49(-0x7a,-0xc7)]());}return jdayInternal$1(_0x5c05df,_0x47d54f,_0x17c901,_0x5243b4,_0x59a130,_0x49bfde,_0x1c82a0);}function invjday$1(_0x587531,_0x2530c2){function _0x7d40e3(_0x2862a0,_0xcfc25c){return _0x4c8020(_0x2862a0- -0x1c7,_0xcfc25c);}var _0xe0f890=_0x587531-2415019.5,_0x4468ae=_0xe0f890/365.25,_0x4b6e55=0x76c+Math['floor'](_0x4468ae),_0x335a96=Math['floor']((_0x4b6e55-0x76d)*0.25),_0x212872=_0xe0f890-((_0x4b6e55-0x76c)*0x16d+_0x335a96)+1e-11;function _0x47f33c(_0x46af8a,_0x2d11f8){return _0x4a554d(_0x46af8a- -0x46,_0x2d11f8);}_0x212872<0x1&&(_0x4b6e55-=0x1,_0x335a96=Math[_0x7d40e3(0xb3,0x32)]((_0x4b6e55-0x76d)*0.25),_0x212872=_0xe0f890-((_0x4b6e55-0x76c)*0x16d+_0x335a96));var _0x1ac9b8=days2mdhms$1(_0x4b6e55,_0x212872),_0x2b4a62=_0x1ac9b8[_0x7d40e3(0x4b,-0xb6)],_0x3b16a9=_0x1ac9b8['day'],_0x31a6dc=_0x1ac9b8['hr'],_0x47a51e=_0x1ac9b8['minute'],_0x185752=_0x1ac9b8['sec']-8.64e-7;if(_0x2530c2)return[_0x4b6e55,_0x2b4a62,_0x3b16a9,_0x31a6dc,_0x47a51e,Math['floor'](_0x185752)];return new Date(Date['UTC'](_0x4b6e55,_0x2b4a62-0x1,_0x3b16a9,_0x31a6dc,_0x47a51e,Math['floor'](_0x185752)));}function dpper$1(_0xe185f5,_0x2dd094){var _0x18e354=_0xe185f5['e3'],_0x8e3a60=_0xe185f5['ee2'],_0x5e3422=_0xe185f5[_0x14e1fa(0x2b9,0x3bc)],_0xa99c68=_0xe185f5[_0x14e1fa(0x649,0x56c)],_0x3a9a8b=_0xe185f5['pho'],_0x198b19=_0xe185f5['pinco'],_0x49ffb1=_0xe185f5[_0x14e1fa(0x45e,0x433)],_0x28af6f=_0xe185f5[_0x14e1fa(0x6ce,0x618)],_0x197413=_0xe185f5[_0x14e1fa(0x572,0x561)],_0xc89220=_0xe185f5[_0x14e1fa(0x46d,0x42e)],_0x5007d4=_0xe185f5['sgh3'],_0x1ef0fa=_0xe185f5['sgh4'],_0x3b010f=_0xe185f5['sh2'],_0x29eb77=_0xe185f5['sh3'],_0x211816=_0xe185f5[_0x28cd83(-0x95,-0xa3)],_0x100199=_0xe185f5['si3'],_0x5bd14b=_0xe185f5[_0x28cd83(0x7c,-0x6f)],_0x2593c0=_0xe185f5['sl3'],_0xfa31=_0xe185f5[_0x28cd83(-0x15a,-0x2a0)],_0x468326=_0xe185f5['t'],_0xe61032=_0xe185f5['xgh2'],_0x2ed97e=_0xe185f5['xgh3'],_0x148d78=_0xe185f5['xgh4'],_0x193aa0=_0xe185f5['xh2'],_0xcdd3c8=_0xe185f5[_0x14e1fa(0x6af,0x62d)],_0xac5c16=_0xe185f5['xi2'],_0x4b3a35=_0xe185f5['xi3'],_0x5cf881=_0xe185f5['xl2'],_0x638b51=_0xe185f5['xl3'],_0x5ecde1=_0xe185f5['xl4'],_0x3f17f4=_0xe185f5[_0x14e1fa(0x5e4,0x640)],_0x53ed28=_0xe185f5['zmos'],_0x58de84=_0x2dd094['init'],_0x59eb4b=_0x2dd094[_0x28cd83(-0x173,-0x114)],_0x45dc57=_0x2dd094['ep'],_0x3e6fc6=_0x2dd094[_0x28cd83(0x1b,0x85)],_0x1dbcb0=_0x2dd094[_0x14e1fa(0x3c9,0x45d)],_0x5d94c4=_0x2dd094['argpp'],_0x1eb14d=_0x2dd094['mp'],_0x27e8a7,_0x53730c,_0x3d17ab,_0x4066fe,_0x57ee7c,_0x206bb6,_0x34de8c,_0x4e641f,_0x245f23,_0x5aa9a3;function _0x28cd83(_0x1e151d,_0x2bf2e3){return _0x4c8020(_0x1e151d- -0x45b,_0x2bf2e3);}var _0x304d,_0x1781d3,_0x4e0eb2,_0x92022a,_0xa0d364,_0x327cd1,_0x191659,_0x3f491c,_0x43074c,_0x2a6c85,_0x527263,_0x7da217=0.0000119459,_0x2fd968=0.01675,_0xafc7f0=0.00015835218,_0x3e5af3=0.0549;_0x527263=_0x53ed28+_0x7da217*_0x468326;_0x58de84==='y'&&(_0x527263=_0x53ed28);_0x2a6c85=_0x527263+0x2*_0x2fd968*Math[_0x14e1fa(0x544,0x519)](_0x527263),_0x191659=Math['sin'](_0x2a6c85),_0x5aa9a3=0.5*_0x191659*_0x191659-0.25,_0x304d=-0.5*_0x191659*Math['cos'](_0x2a6c85);var _0x43a2d5=_0x28af6f*_0x5aa9a3+_0x197413*_0x304d,_0x43cbb6=_0x211816*_0x5aa9a3+_0x100199*_0x304d,_0x4ea96b=_0x5bd14b*_0x5aa9a3+_0x2593c0*_0x304d+_0xfa31*_0x191659,_0x59925a=_0xc89220*_0x5aa9a3+_0x5007d4*_0x304d+_0x1ef0fa*_0x191659,_0x30e7d9=_0x3b010f*_0x5aa9a3+_0x29eb77*_0x304d;_0x527263=_0x3f17f4+_0xafc7f0*_0x468326;function _0x14e1fa(_0x1127e5,_0x841f6b){return _0x4a554d(_0x841f6b-0x397,_0x1127e5);}_0x58de84==='y'&&(_0x527263=_0x3f17f4);_0x2a6c85=_0x527263+0x2*_0x3e5af3*Math['sin'](_0x527263),_0x191659=Math['sin'](_0x2a6c85),_0x5aa9a3=0.5*_0x191659*_0x191659-0.25,_0x304d=-0.5*_0x191659*Math['cos'](_0x2a6c85);var _0x234a20=_0x8e3a60*_0x5aa9a3+_0x18e354*_0x304d,_0x176f2a=_0xac5c16*_0x5aa9a3+_0x4b3a35*_0x304d,_0x4be6e6=_0x5cf881*_0x5aa9a3+_0x638b51*_0x304d+_0x5ecde1*_0x191659,_0x4fbf20=_0xe61032*_0x5aa9a3+_0x2ed97e*_0x304d+_0x148d78*_0x191659,_0x29403f=_0x193aa0*_0x5aa9a3+_0xcdd3c8*_0x304d;_0x1781d3=_0x43a2d5+_0x234a20,_0xa0d364=_0x43cbb6+_0x176f2a,_0x327cd1=_0x4ea96b+_0x4be6e6,_0x4e0eb2=_0x59925a+_0x4fbf20,_0x92022a=_0x30e7d9+_0x29403f;_0x58de84==='n'&&(_0x1781d3-=_0x5e3422,_0xa0d364-=_0x198b19,_0x327cd1-=_0x49ffb1,_0x4e0eb2-=_0xa99c68,_0x92022a-=_0x3a9a8b,_0x3e6fc6+=_0xa0d364,_0x45dc57+=_0x1781d3,_0x4066fe=Math['sin'](_0x3e6fc6),_0x3d17ab=Math['cos'](_0x3e6fc6),_0x3e6fc6>=0.2?(_0x92022a/=_0x4066fe,_0x4e0eb2-=_0x3d17ab*_0x92022a,_0x5d94c4+=_0x4e0eb2,_0x1dbcb0+=_0x92022a,_0x1eb14d+=_0x327cd1):(_0x206bb6=Math[_0x28cd83(-0x10e,-0x22d)](_0x1dbcb0),_0x57ee7c=Math[_0x14e1fa(0x474,0x568)](_0x1dbcb0),_0x27e8a7=_0x4066fe*_0x206bb6,_0x53730c=_0x4066fe*_0x57ee7c,_0x34de8c=_0x92022a*_0x57ee7c+_0xa0d364*_0x3d17ab*_0x206bb6,_0x4e641f=-_0x92022a*_0x206bb6+_0xa0d364*_0x3d17ab*_0x57ee7c,_0x27e8a7+=_0x34de8c,_0x53730c+=_0x4e641f,_0x1dbcb0%=twoPi$1,_0x1dbcb0<0x0&&_0x59eb4b==='a'&&(_0x1dbcb0+=twoPi$1),_0x3f491c=_0x1eb14d+_0x5d94c4+_0x3d17ab*_0x1dbcb0,_0x245f23=_0x327cd1+_0x4e0eb2-_0xa0d364*_0x1dbcb0*_0x4066fe,_0x3f491c+=_0x245f23,_0x43074c=_0x1dbcb0,_0x1dbcb0=Math['atan2'](_0x27e8a7,_0x53730c),_0x1dbcb0<0x0&&_0x59eb4b==='a'&&(_0x1dbcb0+=twoPi$1),Math['abs'](_0x43074c-_0x1dbcb0)>pi$1&&(_0x1dbcb0<_0x43074c?_0x1dbcb0+=twoPi$1:_0x1dbcb0-=twoPi$1),_0x1eb14d+=_0x327cd1,_0x5d94c4=_0x3f491c-_0x1eb14d-_0x3d17ab*_0x1dbcb0));var _0x124948={};return _0x124948['ep']=_0x45dc57,_0x124948[_0x28cd83(0x1b,-0x39)]=_0x3e6fc6,_0x124948['nodep']=_0x1dbcb0,_0x124948['argpp']=_0x5d94c4,_0x124948['mp']=_0x1eb14d,_0x124948;}function dscom$1(_0x5f12f6){var _0x3fbdb5=_0x5f12f6['epoch'],_0x49c8ce=_0x5f12f6['ep'],_0x52ea92=_0x5f12f6[_0x6647dd(0x35c,0x29b)],_0x901dfa=_0x5f12f6['tc'],_0x4cf8ca=_0x5f12f6['inclp'],_0xed6b55=_0x5f12f6[_0x6647dd(0x273,0x266)],_0x594daf=_0x5f12f6['np'],_0x33a918,_0x6f0fbf,_0x15d131,_0x2223a3,_0x5c5527,_0x42e410,_0x2bd93c,_0x21caa2,_0x35b16,_0x291f0a,_0x5406e3,_0x260bd9,_0x2a0785,_0x4c1ef8,_0x338ccf,_0x1224d3,_0x34c7a7,_0x418ef2,_0x56d5c3,_0x5b68be;function _0x1d4122(_0x90699b,_0x30bf98){return _0x4a554d(_0x90699b-0x3b1,_0x30bf98);}var _0x304c38,_0x58e3a8,_0x473db0,_0x2787af,_0x18c612,_0x384820,_0x57128e,_0x29042e,_0xad7a0b,_0xa241a5,_0x26adbe,_0x53557c,_0x16cef9,_0x29dee4,_0x146ff3,_0x341c0f,_0x2a2960,_0x11a74e,_0x50e464,_0x2f1672,_0xbcd048,_0x1920fe,_0x221b37,_0x50ee2a,_0x26d297,_0x2fb4ef,_0x3ee7dc,_0x288fd1,_0xb60ed7,_0x1ffd3a,_0x114999,_0x2836b5,_0x3a5d0e,_0x304daf,_0x5311b6,_0x133557,_0x509bf5,_0x17fdbf,_0x90df76,_0x19e1a0,_0x5cc7a2,_0x3bc7ca,_0x5b928c;function _0x6647dd(_0x438ac2,_0x58221e){return _0x4a554d(_0x58221e-0x1a0,_0x438ac2);}var _0x2d1158=0.01675,_0x4ec63e=0.0549,_0x401808=0.0000029864797,_0x5217cf=4.7968065e-7,_0x38b13b=0.39785416,_0x510abb=0.91744867,_0x595962=0.1945905,_0xa6713=-0.98088458,_0x30b999=_0x594daf,_0x5a6906=_0x49c8ce,_0x4ab61c=Math['sin'](_0xed6b55),_0x521c57=Math['cos'](_0xed6b55),_0x411cb8=Math['sin'](_0x52ea92),_0x135809=Math['cos'](_0x52ea92),_0x4fe77a=Math[_0x1d4122(0x533,0x40a)](_0x4cf8ca),_0x14ea29=Math[_0x6647dd(0x256,0x371)](_0x4cf8ca),_0x380588=_0x5a6906*_0x5a6906,_0x3441dd=0x1-_0x380588,_0x3deeef=Math['sqrt'](_0x3441dd),_0xdc16c5=0x0,_0xb957d8=0x0,_0x26aa16=0x0,_0x4b98de=0x0,_0x2850e1=0x0,_0x41701f=_0x3fbdb5+18261.5+_0x901dfa/0x5a0,_0x4c7b04=(4.523602-0.00092422029*_0x41701f)%twoPi$1,_0x55d375=Math[_0x6647dd(0x471,0x322)](_0x4c7b04),_0x3208bb=Math['cos'](_0x4c7b04),_0x379a95=0.91375164-0.03568096*_0x3208bb,_0x5683b7=Math['sqrt'](0x1-_0x379a95*_0x379a95),_0x1654ff=0.089683511*_0x55d375/_0x5683b7,_0xc5cadd=Math['sqrt'](0x1-_0x1654ff*_0x1654ff),_0x200119=5.8351514+0.001944368*_0x41701f,_0x544d14=0.39785416*_0x55d375/_0x5683b7,_0x15e02a=_0xc5cadd*_0x3208bb+0.91744867*_0x1654ff*_0x55d375;_0x544d14=Math[_0x6647dd(0x2e6,0x2e2)](_0x544d14,_0x15e02a),_0x544d14+=_0x200119-_0x4c7b04;var _0x5e5e0c=Math['cos'](_0x544d14),_0x3d408d=Math[_0x1d4122(0x533,0x60d)](_0x544d14);_0x5b68be=_0x595962,_0x304c38=_0xa6713,_0x2787af=_0x510abb,_0x18c612=_0x38b13b,_0x58e3a8=_0x521c57,_0x473db0=_0x4ab61c,_0x5406e3=_0x401808;var _0x104168=0x1/_0x30b999,_0x57e94e=0x0;while(_0x57e94e<0x2){_0x57e94e+=0x1,_0x33a918=_0x5b68be*_0x58e3a8+_0x304c38*_0x2787af*_0x473db0,_0x15d131=-_0x304c38*_0x58e3a8+_0x5b68be*_0x2787af*_0x473db0,_0x2bd93c=-_0x5b68be*_0x473db0+_0x304c38*_0x2787af*_0x58e3a8,_0x21caa2=_0x304c38*_0x18c612,_0x35b16=_0x304c38*_0x473db0+_0x5b68be*_0x2787af*_0x58e3a8,_0x291f0a=_0x5b68be*_0x18c612,_0x6f0fbf=_0x14ea29*_0x2bd93c+_0x4fe77a*_0x21caa2,_0x2223a3=_0x14ea29*_0x35b16+_0x4fe77a*_0x291f0a,_0x5c5527=-_0x4fe77a*_0x2bd93c+_0x14ea29*_0x21caa2,_0x42e410=-_0x4fe77a*_0x35b16+_0x14ea29*_0x291f0a,_0x260bd9=_0x33a918*_0x135809+_0x6f0fbf*_0x411cb8,_0x2a0785=_0x15d131*_0x135809+_0x2223a3*_0x411cb8,_0x4c1ef8=-_0x33a918*_0x411cb8+_0x6f0fbf*_0x135809,_0x338ccf=-_0x15d131*_0x411cb8+_0x2223a3*_0x135809,_0x1224d3=_0x5c5527*_0x411cb8,_0x34c7a7=_0x42e410*_0x411cb8,_0x418ef2=_0x5c5527*_0x135809,_0x56d5c3=_0x42e410*_0x135809,_0x5cc7a2=0xc*_0x260bd9*_0x260bd9-0x3*_0x4c1ef8*_0x4c1ef8,_0x3bc7ca=0x18*_0x260bd9*_0x2a0785-0x6*_0x4c1ef8*_0x338ccf,_0x5b928c=0xc*_0x2a0785*_0x2a0785-0x3*_0x338ccf*_0x338ccf,_0x2836b5=0x3*(_0x33a918*_0x33a918+_0x6f0fbf*_0x6f0fbf)+_0x5cc7a2*_0x380588,_0x3a5d0e=0x6*(_0x33a918*_0x15d131+_0x6f0fbf*_0x2223a3)+_0x3bc7ca*_0x380588,_0x304daf=0x3*(_0x15d131*_0x15d131+_0x2223a3*_0x2223a3)+_0x5b928c*_0x380588,_0x5311b6=-0x6*_0x33a918*_0x5c5527+_0x380588*(-0x18*_0x260bd9*_0x418ef2-0x6*_0x4c1ef8*_0x1224d3),_0x133557=-0x6*(_0x33a918*_0x42e410+_0x15d131*_0x5c5527)+_0x380588*(-0x18*(_0x2a0785*_0x418ef2+_0x260bd9*_0x56d5c3)+-0x6*(_0x4c1ef8*_0x34c7a7+_0x338ccf*_0x1224d3)),_0x509bf5=-0x6*_0x15d131*_0x42e410+_0x380588*(-0x18*_0x2a0785*_0x56d5c3-0x6*_0x338ccf*_0x34c7a7),_0x17fdbf=0x6*_0x6f0fbf*_0x5c5527+_0x380588*(0x18*_0x260bd9*_0x1224d3-0x6*_0x4c1ef8*_0x418ef2),_0x90df76=0x6*(_0x2223a3*_0x5c5527+_0x6f0fbf*_0x42e410)+_0x380588*(0x18*(_0x2a0785*_0x1224d3+_0x260bd9*_0x34c7a7)-0x6*(_0x338ccf*_0x418ef2+_0x4c1ef8*_0x56d5c3)),_0x19e1a0=0x6*_0x2223a3*_0x42e410+_0x380588*(0x18*_0x2a0785*_0x34c7a7-0x6*_0x338ccf*_0x56d5c3),_0x2836b5=_0x2836b5+_0x2836b5+_0x3441dd*_0x5cc7a2,_0x3a5d0e=_0x3a5d0e+_0x3a5d0e+_0x3441dd*_0x3bc7ca,_0x304daf=_0x304daf+_0x304daf+_0x3441dd*_0x5b928c,_0x3ee7dc=_0x5406e3*_0x104168,_0x2fb4ef=-0.5*_0x3ee7dc/_0x3deeef,_0x288fd1=_0x3ee7dc*_0x3deeef,_0x26d297=-0xf*_0x5a6906*_0x288fd1,_0xb60ed7=_0x260bd9*_0x4c1ef8+_0x2a0785*_0x338ccf,_0x1ffd3a=_0x2a0785*_0x4c1ef8+_0x260bd9*_0x338ccf,_0x114999=_0x2a0785*_0x338ccf-_0x260bd9*_0x4c1ef8,_0x57e94e===0x1&&(_0x384820=_0x26d297,_0x57128e=_0x2fb4ef,_0x29042e=_0x3ee7dc,_0xad7a0b=_0x288fd1,_0xa241a5=_0xb60ed7,_0x26adbe=_0x1ffd3a,_0x53557c=_0x114999,_0x16cef9=_0x2836b5,_0x29dee4=_0x3a5d0e,_0x146ff3=_0x304daf,_0x341c0f=_0x5311b6,_0x2a2960=_0x133557,_0x11a74e=_0x509bf5,_0x50e464=_0x17fdbf,_0x2f1672=_0x90df76,_0xbcd048=_0x19e1a0,_0x1920fe=_0x5cc7a2,_0x221b37=_0x3bc7ca,_0x50ee2a=_0x5b928c,_0x5b68be=_0x5e5e0c,_0x304c38=_0x3d408d,_0x2787af=_0x379a95,_0x18c612=_0x5683b7,_0x58e3a8=_0xc5cadd*_0x521c57+_0x1654ff*_0x4ab61c,_0x473db0=_0x4ab61c*_0xc5cadd-_0x521c57*_0x1654ff,_0x5406e3=_0x5217cf);}var _0x2ab5c4=(4.7199672+(0.2299715*_0x41701f-_0x200119))%twoPi$1,_0x10bf5f=(6.2565837+0.017201977*_0x41701f)%twoPi$1,_0x40a4b1=0x2*_0x384820*_0x26adbe,_0x26c3b1=0x2*_0x384820*_0x53557c,_0x2af72d=0x2*_0x57128e*_0x2a2960,_0x467e6b=0x2*_0x57128e*(_0x11a74e-_0x341c0f),_0x46d373=-0x2*_0x29042e*_0x29dee4,_0xb838f6=-0x2*_0x29042e*(_0x146ff3-_0x16cef9),_0x5deb75=-0x2*_0x29042e*(-0x15-0x9*_0x380588)*_0x2d1158,_0x2a996f=0x2*_0xad7a0b*_0x221b37,_0x3d3f0a=0x2*_0xad7a0b*(_0x50ee2a-_0x1920fe),_0x5c4d77=-0x12*_0xad7a0b*_0x2d1158,_0x1d4f9b=-0x2*_0x57128e*_0x2f1672,_0x3bb219=-0x2*_0x57128e*(_0xbcd048-_0x50e464),_0xe01ba1=0x2*_0x26d297*_0x1ffd3a,_0x5b480e=0x2*_0x26d297*_0x114999,_0x186853=0x2*_0x2fb4ef*_0x133557,_0x371d9f=0x2*_0x2fb4ef*(_0x509bf5-_0x5311b6),_0x2e24f3=-0x2*_0x3ee7dc*_0x3a5d0e,_0x6f0ede=-0x2*_0x3ee7dc*(_0x304daf-_0x2836b5),_0x3260a4=-0x2*_0x3ee7dc*(-0x15-0x9*_0x380588)*_0x4ec63e,_0x1bc571=0x2*_0x288fd1*_0x3bc7ca,_0x28929d=0x2*_0x288fd1*(_0x5b928c-_0x5cc7a2),_0x38f9d4=-0x12*_0x288fd1*_0x4ec63e,_0x37302c=-0x2*_0x2fb4ef*_0x90df76,_0x2f1896=-0x2*_0x2fb4ef*(_0x19e1a0-_0x17fdbf),_0x43e2e8={};return _0x43e2e8['snodm']=_0x4ab61c,_0x43e2e8['cnodm']=_0x521c57,_0x43e2e8['sinim']=_0x4fe77a,_0x43e2e8['cosim']=_0x14ea29,_0x43e2e8['sinomm']=_0x411cb8,_0x43e2e8[_0x6647dd(0x30c,0x455)]=_0x135809,_0x43e2e8['day']=_0x41701f,_0x43e2e8['e3']=_0x5b480e,_0x43e2e8[_0x6647dd(0x327,0x245)]=_0xe01ba1,_0x43e2e8['em']=_0x5a6906,_0x43e2e8[_0x1d4122(0x434,0x4a5)]=_0x380588,_0x43e2e8['gam']=_0x200119,_0x43e2e8['peo']=_0xdc16c5,_0x43e2e8['pgho']=_0x4b98de,_0x43e2e8['pho']=_0x2850e1,_0x43e2e8['pinco']=_0xb957d8,_0x43e2e8[_0x6647dd(0x328,0x23c)]=_0x26aa16,_0x43e2e8[_0x1d4122(0x552,0x649)]=_0x3deeef,_0x43e2e8['se2']=_0x40a4b1,_0x43e2e8['se3']=_0x26c3b1,_0x43e2e8[_0x1d4122(0x448,0x30e)]=_0x2a996f,_0x43e2e8[_0x1d4122(0x4bf,0x4e4)]=_0x3d3f0a,_0x43e2e8[_0x6647dd(0x35b,0x4a2)]=_0x5c4d77,_0x43e2e8[_0x1d4122(0x67b,0x5e4)]=_0x1d4f9b,_0x43e2e8[_0x6647dd(0x1a7,0x249)]=_0x3bb219,_0x43e2e8['si2']=_0x2af72d,_0x43e2e8['si3']=_0x467e6b,_0x43e2e8[_0x6647dd(0x5d9,0x4ac)]=_0x46d373,_0x43e2e8['sl3']=_0xb838f6,_0x43e2e8['sl4']=_0x5deb75,_0x43e2e8['s1']=_0x26d297,_0x43e2e8['s2']=_0x2fb4ef,_0x43e2e8['s3']=_0x3ee7dc,_0x43e2e8['s4']=_0x288fd1,_0x43e2e8['s5']=_0xb60ed7,_0x43e2e8['s6']=_0x1ffd3a,_0x43e2e8['s7']=_0x114999,_0x43e2e8[_0x1d4122(0x5f4,0x6f2)]=_0x384820,_0x43e2e8['ss2']=_0x57128e,_0x43e2e8['ss3']=_0x29042e,_0x43e2e8[_0x6647dd(0x53e,0x3f6)]=_0xad7a0b,_0x43e2e8['ss5']=_0xa241a5,_0x43e2e8[_0x6647dd(0x3a7,0x438)]=_0x26adbe,_0x43e2e8[_0x6647dd(0x343,0x36f)]=_0x53557c,_0x43e2e8['sz1']=_0x16cef9,_0x43e2e8[_0x6647dd(0x500,0x497)]=_0x29dee4,_0x43e2e8[_0x1d4122(0x56d,0x607)]=_0x146ff3,_0x43e2e8[_0x1d4122(0x4bc,0x532)]=_0x341c0f,_0x43e2e8[_0x6647dd(0x2b5,0x35d)]=_0x2a2960,_0x43e2e8['sz13']=_0x11a74e,_0x43e2e8[_0x1d4122(0x618,0x783)]=_0x50e464,_0x43e2e8[_0x6647dd(0x3f1,0x492)]=_0x2f1672,_0x43e2e8['sz23']=_0xbcd048,_0x43e2e8[_0x6647dd(0x3f5,0x2d8)]=_0x1920fe,_0x43e2e8['sz32']=_0x221b37,_0x43e2e8['sz33']=_0x50ee2a,_0x43e2e8[_0x1d4122(0x557,0x54e)]=_0x1bc571,_0x43e2e8['xgh3']=_0x28929d,_0x43e2e8['xgh4']=_0x38f9d4,_0x43e2e8['xh2']=_0x37302c,_0x43e2e8[_0x6647dd(0x586,0x436)]=_0x2f1896,_0x43e2e8['xi2']=_0x186853,_0x43e2e8['xi3']=_0x371d9f,_0x43e2e8[_0x6647dd(0x9b,0x1ff)]=_0x2e24f3,_0x43e2e8['xl3']=_0x6f0ede,_0x43e2e8[_0x6647dd(0x451,0x336)]=_0x3260a4,_0x43e2e8['nm']=_0x30b999,_0x43e2e8['z1']=_0x2836b5,_0x43e2e8['z2']=_0x3a5d0e,_0x43e2e8['z3']=_0x304daf,_0x43e2e8['z11']=_0x5311b6,_0x43e2e8[_0x6647dd(0x29a,0x202)]=_0x133557,_0x43e2e8['z13']=_0x509bf5,_0x43e2e8['z21']=_0x17fdbf,_0x43e2e8['z22']=_0x90df76,_0x43e2e8[_0x6647dd(0x39e,0x366)]=_0x19e1a0,_0x43e2e8['z31']=_0x5cc7a2,_0x43e2e8[_0x1d4122(0x64d,0x5fe)]=_0x3bc7ca,_0x43e2e8['z33']=_0x5b928c,_0x43e2e8['zmol']=_0x2ab5c4,_0x43e2e8['zmos']=_0x10bf5f,_0x43e2e8;}function dsinit$1(_0xc9a8e8){var _0x24221d=_0xc9a8e8[_0x39534d(0x97,0x127)],_0x98b35b=_0xc9a8e8['argpo'],_0x29093c=_0xc9a8e8['s1'],_0x4ec41c=_0xc9a8e8['s2'],_0x677bc3=_0xc9a8e8['s3'],_0x21c762=_0xc9a8e8['s4'],_0x15dd11=_0xc9a8e8['s5'],_0x3ad83e=_0xc9a8e8['sinim'],_0x4a79bb=_0xc9a8e8['ss1'],_0x740999=_0xc9a8e8[_0x247ceb(0x5f6,0x69c)],_0x35357e=_0xc9a8e8[_0x39534d(0x1be,0x254)],_0x440479=_0xc9a8e8['ss4'],_0x43b069=_0xc9a8e8[_0x39534d(0x2e6,0x22c)],_0x9f8819=_0xc9a8e8[_0x247ceb(0x610,0x664)],_0x4b1b63=_0xc9a8e8['sz3'],_0x1855ed=_0xc9a8e8['sz11'],_0x4fe1dc=_0xc9a8e8[_0x247ceb(0x466,0x4c2)],_0x2bbb6d=_0xc9a8e8[_0x39534d(0x2c5,0x3f0)],_0x1dc700=_0xc9a8e8['sz23'],_0x225920=_0xc9a8e8['sz31'],_0x46e9d8=_0xc9a8e8['sz33'],_0x23ab53=_0xc9a8e8['t'],_0xa012d2=_0xc9a8e8['tc'],_0x4ff6a0=_0xc9a8e8['gsto'],_0x33e1ad=_0xc9a8e8['mo'],_0x33d402=_0xc9a8e8['mdot'],_0x59d0e1=_0xc9a8e8['no'],_0x8e23c6=_0xc9a8e8['nodeo'],_0x591189=_0xc9a8e8['nodedot'],_0x4a9c85=_0xc9a8e8[_0x247ceb(0x5a9,0x5c8)],_0xcb84c9=_0xc9a8e8['z1'],_0x5ee4cc=_0xc9a8e8['z3'],_0x435181=_0xc9a8e8['z11'],_0x18b67f=_0xc9a8e8['z13'],_0x271d91=_0xc9a8e8['z21'],_0x31011f=_0xc9a8e8[_0x247ceb(0x525,0x5e9)],_0x582138=_0xc9a8e8[_0x39534d(0x182,0x66)],_0x285e25=_0xc9a8e8['z33'],_0x5e5d3b=_0xc9a8e8[_0x39534d(0x1d5,0xbb)],_0x1cb533=_0xc9a8e8['eccsq'],_0x2737dd=_0xc9a8e8['emsq'],_0x1e8f81=_0xc9a8e8['em'],_0x4b7db5=_0xc9a8e8[_0x39534d(0xb4,0x171)],_0x5e4131=_0xc9a8e8[_0x39534d(0x113,0xff)],_0x5d99c1=_0xc9a8e8['mm'],_0x578ab1=_0xc9a8e8['nm'],_0x23cda9=_0xc9a8e8['nodem'],_0x2233a7=_0xc9a8e8['irez'],_0x2bac74=_0xc9a8e8[_0x39534d(0x2f5,0x3b6)],_0x594a32=_0xc9a8e8['d2201'],_0x3b12a8=_0xc9a8e8['d2211'],_0x2b81ba=_0xc9a8e8[_0x39534d(0xf1,0x248)],_0x8c71ee=_0xc9a8e8[_0x247ceb(0x439,0x504)],_0x153cfc=_0xc9a8e8[_0x247ceb(0x879,0x720)],_0xe27930=_0xc9a8e8[_0x247ceb(0x4cd,0x508)],_0x41f79b=_0xc9a8e8['d5220'],_0xef9745=_0xc9a8e8[_0x247ceb(0x64f,0x6cd)],_0x1b7cde=_0xc9a8e8[_0x39534d(0x14e,0x13a)],_0x407f81=_0xc9a8e8[_0x39534d(0x30d,0x437)],_0x3cb2c5=_0xc9a8e8[_0x39534d(0x223,0x229)],_0x33b306=_0xc9a8e8[_0x247ceb(0x5e6,0x611)],_0x561184=_0xc9a8e8['dmdt'],_0x12d002=_0xc9a8e8[_0x247ceb(0x720,0x615)],_0x26a614=_0xc9a8e8[_0x247ceb(0x5b0,0x5eb)],_0x488e28=_0xc9a8e8[_0x39534d(0xad,0x2d)],_0x586511=_0xc9a8e8[_0x247ceb(0x5ec,0x555)],_0x402776=_0xc9a8e8['del3'],_0x2e58b5=_0xc9a8e8['xfact'],_0x1c8b7d=_0xc9a8e8[_0x39534d(0x2fd,0x258)],_0x480ec4=_0xc9a8e8[_0x247ceb(0x849,0x734)],_0x308329=_0xc9a8e8['xni'],_0x28dfd9,_0x2743c8,_0x2f09aa,_0x4e2fa4,_0x124165,_0x5a309a,_0x4c4f4a,_0xa4eb59,_0x312020,_0x4072e6,_0x142382,_0x3c6b65,_0x18d7b1,_0x48c296,_0x4f9bcb,_0x1b88e5,_0x33f345,_0x4b26f5,_0x3f695e,_0x26bb78,_0x171f58,_0xda5fa2,_0x2810c5,_0x4c3793,_0x3d7b42,_0xf9b9b,_0x5debb5,_0x1e60c5,_0x2aaa1f,_0x4492aa,_0x5d8740,_0x45009f,_0x184a21=0.0000017891679,_0x2dbbdc=0.0000021460748,_0x10beb4=2.2123015e-7,_0x2c52d1=0.0000017891679,_0x3d20cc=7.3636953e-9,_0x58f928=2.1765803e-9,_0x166769=0.0043752690880113,_0xe288b7=3.7393792e-7,_0x5cb67b=1.1428639e-7,_0x176831=0.00015835218,_0x196ce2=0.0000119459;_0x2233a7=0x0;_0x578ab1<0.0052359877&&_0x578ab1>0.0034906585&&(_0x2233a7=0x1);_0x578ab1>=0.00826&&_0x578ab1<=0.00924&&_0x1e8f81>=0.5&&(_0x2233a7=0x2);var _0x439758=_0x4a79bb*_0x196ce2*_0x43b069,_0x528142=_0x740999*_0x196ce2*(_0x1855ed+_0x4fe1dc),_0x1879fa=-_0x196ce2*_0x35357e*(_0x9f8819+_0x4b1b63-0xe-0x6*_0x2737dd),_0x5d8e0f=_0x440479*_0x196ce2*(_0x225920+_0x46e9d8-0x6),_0x4b21bd=-_0x196ce2*_0x740999*(_0x2bbb6d+_0x1dc700);(_0x5e4131<0.052359877||_0x5e4131>pi$1-0.052359877)&&(_0x4b21bd=0x0);_0x3ad83e!==0x0&&(_0x4b21bd/=_0x3ad83e);var _0x1b973a=_0x5d8e0f-_0x24221d*_0x4b21bd;_0x3cb2c5=_0x439758+_0x29093c*_0x176831*_0x15dd11,_0x33b306=_0x528142+_0x4ec41c*_0x176831*(_0x435181+_0x18b67f),_0x561184=_0x1879fa-_0x176831*_0x677bc3*(_0xcb84c9+_0x5ee4cc-0xe-0x6*_0x2737dd);var _0x43ca38=_0x21c762*_0x176831*(_0x582138+_0x285e25-0x6),_0x53f328=-_0x176831*_0x4ec41c*(_0x271d91+_0x31011f);(_0x5e4131<0.052359877||_0x5e4131>pi$1-0.052359877)&&(_0x53f328=0x0);_0x26a614=_0x1b973a+_0x43ca38;function _0x39534d(_0x44bc6e,_0x3e91ba){return _0x4c8020(_0x44bc6e- -0x16d,_0x3e91ba);}_0x12d002=_0x4b21bd;_0x3ad83e!==0x0&&(_0x26a614-=_0x24221d/_0x3ad83e*_0x53f328,_0x12d002+=_0x53f328/_0x3ad83e);var _0x1f9a7e=0x0,_0x31fcfc=(_0x4ff6a0+_0xa012d2*_0x166769)%twoPi$1;_0x1e8f81+=_0x3cb2c5*_0x23ab53,_0x5e4131+=_0x33b306*_0x23ab53,_0x4b7db5+=_0x26a614*_0x23ab53,_0x23cda9+=_0x12d002*_0x23ab53,_0x5d99c1+=_0x561184*_0x23ab53;if(_0x2233a7!==0x0){_0x4492aa=Math[_0x39534d(0x368,0x3cc)](_0x578ab1/xke$1,x2o3$1);if(_0x2233a7===0x2){_0x5d8740=_0x24221d*_0x24221d;var _0x45a129=_0x1e8f81;_0x1e8f81=_0x5e5d3b;var _0x1f573a=_0x2737dd;_0x2737dd=_0x1cb533,_0x45009f=_0x1e8f81*_0x2737dd,_0x48c296=-0.306-(_0x1e8f81-0.64)*0.44,_0x1e8f81<=0.65?(_0x4f9bcb=3.616-13.247*_0x1e8f81+16.29*_0x2737dd,_0x33f345=-19.302+117.39*_0x1e8f81-228.419*_0x2737dd+156.591*_0x45009f,_0x4b26f5=-18.9068+109.7927*_0x1e8f81-214.6334*_0x2737dd+146.5816*_0x45009f,_0x3f695e=-41.122+242.694*_0x1e8f81-471.094*_0x2737dd+313.953*_0x45009f,_0x26bb78=-146.407+841.88*_0x1e8f81-1629.014*_0x2737dd+1083.435*_0x45009f,_0x171f58=-532.114+3017.977*_0x1e8f81-5740.032*_0x2737dd+3708.276*_0x45009f):(_0x4f9bcb=-72.099+331.819*_0x1e8f81-508.738*_0x2737dd+266.724*_0x45009f,_0x33f345=-346.844+1582.851*_0x1e8f81-2415.925*_0x2737dd+1246.113*_0x45009f,_0x4b26f5=-342.585+1554.908*_0x1e8f81-2366.899*_0x2737dd+1215.972*_0x45009f,_0x3f695e=-1052.797+4758.686*_0x1e8f81-7193.992*_0x2737dd+3651.957*_0x45009f,_0x26bb78=-3581.69+16178.11*_0x1e8f81-24462.77*_0x2737dd+12422.52*_0x45009f,_0x1e8f81>0.715?_0x171f58=-5149.66+29936.92*_0x1e8f81-54087.36*_0x2737dd+31324.56*_0x45009f:_0x171f58=1464.74-4664.75*_0x1e8f81+3763.64*_0x2737dd),_0x1e8f81<0.7?(_0x4c3793=-919.2277+4988.61*_0x1e8f81-9064.77*_0x2737dd+5542.21*_0x45009f,_0xda5fa2=-822.71072+4568.6173*_0x1e8f81-8491.4146*_0x2737dd+5337.524*_0x45009f,_0x2810c5=-853.666+4690.25*_0x1e8f81-8624.77*_0x2737dd+5341.4*_0x45009f):(_0x4c3793=-37995.78+161616.52*_0x1e8f81-229838.2*_0x2737dd+109377.94*_0x45009f,_0xda5fa2=-51752.104+218913.95*_0x1e8f81-309468.16*_0x2737dd+146349.42*_0x45009f,_0x2810c5=-40023.88+170470.89*_0x1e8f81-242699.48*_0x2737dd+115605.82*_0x45009f),_0x3d7b42=_0x3ad83e*_0x3ad83e,_0x28dfd9=0.75*(0x1+0x2*_0x24221d+_0x5d8740),_0x2743c8=1.5*_0x3d7b42,_0x4e2fa4=1.875*_0x3ad83e*(0x1-0x2*_0x24221d-0x3*_0x5d8740),_0x124165=-1.875*_0x3ad83e*(0x1+0x2*_0x24221d-0x3*_0x5d8740),_0x4c4f4a=0x23*_0x3d7b42*_0x28dfd9,_0xa4eb59=39.375*_0x3d7b42*_0x3d7b42,_0x312020=9.84375*_0x3ad83e*(_0x3d7b42*(0x1-0x2*_0x24221d-0x5*_0x5d8740)+0.33333333*(-0x2+0x4*_0x24221d+0x6*_0x5d8740)),_0x4072e6=_0x3ad83e*(4.92187512*_0x3d7b42*(-0x2-0x4*_0x24221d+0xa*_0x5d8740)+6.56250012*(0x1+0x2*_0x24221d-0x3*_0x5d8740)),_0x142382=29.53125*_0x3ad83e*(0x2-0x8*_0x24221d+_0x5d8740*(-0xc+0x8*_0x24221d+0xa*_0x5d8740)),_0x3c6b65=29.53125*_0x3ad83e*(-0x2-0x8*_0x24221d+_0x5d8740*(0xc+0x8*_0x24221d-0xa*_0x5d8740)),_0x1e60c5=_0x578ab1*_0x578ab1,_0x2aaa1f=_0x4492aa*_0x4492aa,_0x5debb5=0x3*_0x1e60c5*_0x2aaa1f,_0xf9b9b=_0x5debb5*_0x2c52d1,_0x594a32=_0xf9b9b*_0x28dfd9*_0x48c296,_0x3b12a8=_0xf9b9b*_0x2743c8*_0x4f9bcb,_0x5debb5*=_0x4492aa,_0xf9b9b=_0x5debb5*_0xe288b7,_0x2b81ba=_0xf9b9b*_0x4e2fa4*_0x33f345,_0x8c71ee=_0xf9b9b*_0x124165*_0x4b26f5,_0x5debb5*=_0x4492aa,_0xf9b9b=0x2*_0x5debb5*_0x3d20cc,_0x153cfc=_0xf9b9b*_0x4c4f4a*_0x3f695e,_0xe27930=_0xf9b9b*_0xa4eb59*_0x26bb78,_0x5debb5*=_0x4492aa,_0xf9b9b=_0x5debb5*_0x5cb67b,_0x41f79b=_0xf9b9b*_0x312020*_0x171f58,_0xef9745=_0xf9b9b*_0x4072e6*_0x2810c5,_0xf9b9b=0x2*_0x5debb5*_0x58f928,_0x1b7cde=_0xf9b9b*_0x142382*_0xda5fa2,_0x407f81=_0xf9b9b*_0x3c6b65*_0x4c3793,_0x1c8b7d=(_0x33e1ad+_0x8e23c6+_0x8e23c6-(_0x31fcfc+_0x31fcfc))%twoPi$1,_0x2e58b5=_0x33d402+_0x561184+0x2*(_0x591189+_0x12d002-_0x166769)-_0x59d0e1,_0x1e8f81=_0x45a129,_0x2737dd=_0x1f573a;}_0x2233a7===0x1&&(_0x18d7b1=0x1+_0x2737dd*(-2.5+0.8125*_0x2737dd),_0x33f345=0x1+0x2*_0x2737dd,_0x1b88e5=0x1+_0x2737dd*(-0x6+6.60937*_0x2737dd),_0x28dfd9=0.75*(0x1+_0x24221d)*(0x1+_0x24221d),_0x2f09aa=0.9375*_0x3ad83e*_0x3ad83e*(0x1+0x3*_0x24221d)-0.75*(0x1+_0x24221d),_0x5a309a=0x1+_0x24221d,_0x5a309a*=1.875*_0x5a309a*_0x5a309a,_0x488e28=0x3*_0x578ab1*_0x578ab1*_0x4492aa*_0x4492aa,_0x586511=0x2*_0x488e28*_0x28dfd9*_0x18d7b1*_0x184a21,_0x402776=0x3*_0x488e28*_0x5a309a*_0x1b88e5*_0x10beb4*_0x4492aa,_0x488e28=_0x488e28*_0x2f09aa*_0x33f345*_0x2dbbdc*_0x4492aa,_0x1c8b7d=(_0x33e1ad+_0x8e23c6+_0x98b35b-_0x31fcfc)%twoPi$1,_0x2e58b5=_0x33d402+_0x4a9c85+_0x561184+_0x26a614+_0x12d002-(_0x59d0e1+_0x166769)),_0x480ec4=_0x1c8b7d,_0x308329=_0x59d0e1,_0x2bac74=0x0,_0x578ab1=_0x59d0e1+_0x1f9a7e;}var _0x14c606={};_0x14c606['em']=_0x1e8f81,_0x14c606[_0x247ceb(0x4ad,0x479)]=_0x4b7db5,_0x14c606['inclm']=_0x5e4131,_0x14c606['mm']=_0x5d99c1,_0x14c606['nm']=_0x578ab1,_0x14c606['nodem']=_0x23cda9,_0x14c606['irez']=_0x2233a7,_0x14c606['atime']=_0x2bac74,_0x14c606['d2201']=_0x594a32,_0x14c606['d2211']=_0x3b12a8,_0x14c606['d3210']=_0x2b81ba,_0x14c606['d3222']=_0x8c71ee,_0x14c606['d4410']=_0x153cfc,_0x14c606[_0x247ceb(0x44a,0x508)]=_0xe27930,_0x14c606['d5220']=_0x41f79b,_0x14c606['d5232']=_0xef9745,_0x14c606[_0x247ceb(0x604,0x513)]=_0x1b7cde,_0x14c606['d5433']=_0x407f81,_0x14c606[_0x247ceb(0x74c,0x5e8)]=_0x3cb2c5,_0x14c606['didt']=_0x33b306,_0x14c606['dmdt']=_0x561184,_0x14c606['dndt']=_0x1f9a7e,_0x14c606[_0x247ceb(0x6d6,0x615)]=_0x12d002,_0x14c606['domdt']=_0x26a614,_0x14c606['del1']=_0x488e28,_0x14c606[_0x39534d(0x190,0x234)]=_0x586511,_0x14c606['del3']=_0x402776,_0x14c606[_0x39534d(0x1b8,0x21a)]=_0x2e58b5,_0x14c606[_0x247ceb(0x647,0x6c2)]=_0x1c8b7d,_0x14c606['xli']=_0x480ec4,_0x14c606['xni']=_0x308329;function _0x247ceb(_0x4c2635,_0x2b994b){return _0x4c8020(_0x2b994b-0x258,_0x4c2635);}return _0x14c606;}function gstimeInternal$1(_0x13c1ac){var _0x359a8f=(_0x13c1ac-0x256859)/0x8ead,_0x399343=-0.0000062*_0x359a8f*_0x359a8f*_0x359a8f+0.093104*_0x359a8f*_0x359a8f+(0xd6038*0xe10+8640184.812866)*_0x359a8f+67310.54841;return _0x399343=_0x399343*deg2rad$1/0xf0%twoPi$1,_0x399343<0x0&&(_0x399343+=twoPi$1),_0x399343;}function gstime$1(){function _0x31592b(_0x454deb,_0x1d9dba){return _0x4c8020(_0x454deb- -0x4f7,_0x1d9dba);}if((arguments['length']<=0x0?undefined:arguments[0x0])instanceof Date||arguments['length']>0x1)return gstimeInternal$1(jday$1[_0x31592b(-0xd8,-0x38)](void 0x0,arguments));return gstimeInternal$1['apply'](void 0x0,arguments);}function initl$1(_0x173023){var _0x21df0d=_0x173023['ecco'],_0x1b0806=_0x173023['epoch'],_0xfb2ddf=_0x173023['inclo'],_0x2aea5a=_0x173023[_0x233a42(0x48c,0x4c2)],_0x24ca37=_0x173023['no'],_0x54e6e0=_0x21df0d*_0x21df0d,_0x56d772=0x1-_0x54e6e0,_0x20eeab=Math['sqrt'](_0x56d772),_0x30a0b8=Math['cos'](_0xfb2ddf),_0xdca99f=_0x30a0b8*_0x30a0b8,_0x390778=Math[_0x233a42(0x735,0x6af)](xke$1/_0x24ca37,x2o3$1),_0x5400ec=0.75*j2$1*(0x3*_0xdca99f-0x1)/(_0x20eeab*_0x56d772),_0x3654d4=_0x5400ec/(_0x390778*_0x390778),_0xb4baff=_0x390778*(0x1-_0x3654d4*_0x3654d4-_0x3654d4*(0x1/0x3+0x86*_0x3654d4*_0x3654d4/0x51));_0x3654d4=_0x5400ec/(_0xb4baff*_0xb4baff),_0x24ca37/=0x1+_0x3654d4;var _0x79aabe=Math['pow'](xke$1/_0x24ca37,x2o3$1),_0x53723a=Math[_0x233a42(0x4ff,0x527)](_0xfb2ddf),_0x3f8b8b=_0x79aabe*_0x56d772,_0x3c0163=0x1-0x5*_0xdca99f,_0x5931fb=-_0x3c0163-_0xdca99f-_0xdca99f;function _0x6b32f8(_0x187e1f,_0x429ae6){return _0x4c8020(_0x429ae6-0x39,_0x187e1f);}var _0x23c66b=0x1/_0x79aabe,_0x52e094=_0x3f8b8b*_0x3f8b8b,_0x28ba95=_0x79aabe*(0x1-_0x21df0d),_0x3b6490='n',_0x2943c2;if(_0x2aea5a==='a'){var _0x1b2983=_0x1b0806-0x1c89,_0x367954=Math[_0x6b32f8(0x26c,0x2b3)](_0x1b2983+1e-8),_0x44c0d1=_0x1b2983-_0x367954,_0x57a323=0.017202791694070362,_0x444e15=1.7321343856509375,_0x144808=5.075514194322695e-15,_0x404d82=_0x57a323+twoPi$1;_0x2943c2=(_0x444e15+_0x57a323*_0x367954+_0x404d82*_0x44c0d1+_0x1b2983*_0x1b2983*_0x144808)%twoPi$1,_0x2943c2<0x0&&(_0x2943c2+=twoPi$1);}else _0x2943c2=gstime$1(_0x1b0806+2433281.5);var _0x494ab4={};_0x494ab4['no']=_0x24ca37,_0x494ab4['method']=_0x3b6490,_0x494ab4['ainv']=_0x23c66b,_0x494ab4['ao']=_0x79aabe,_0x494ab4['con41']=_0x5931fb,_0x494ab4['con42']=_0x3c0163;function _0x233a42(_0x3643ab,_0xd886f9){return _0x4a554d(_0xd886f9-0x3a5,_0x3643ab);}return _0x494ab4['cosio']=_0x30a0b8,_0x494ab4['cosio2']=_0xdca99f,_0x494ab4[_0x233a42(0x5e9,0x4d4)]=_0x54e6e0,_0x494ab4['omeosq']=_0x56d772,_0x494ab4['posq']=_0x52e094,_0x494ab4['rp']=_0x28ba95,_0x494ab4['rteosq']=_0x20eeab,_0x494ab4['sinio']=_0x53723a,_0x494ab4[_0x6b32f8(0x24f,0x285)]=_0x2943c2,_0x494ab4;}function dspace$1(_0x402755){var _0x45c75b=_0x402755['irez'],_0xb7a0e9=_0x402755['d2201'],_0x4e342f=_0x402755['d2211'],_0x2cb460=_0x402755[_0x27b8c0(0x176,0x156)],_0x3a8558=_0x402755[_0x2a0cea(0x9d,0x1d)],_0x57d2cc=_0x402755['d4410'],_0x431a84=_0x402755[_0x27b8c0(0x1c8,0x54)],_0x453843=_0x402755['d5220'],_0xd97c51=_0x402755[_0x27b8c0(0x38d,0x31b)],_0x392d7e=_0x402755[_0x2a0cea(0x42,0x2c)],_0x5d6967=_0x402755['d5433'],_0x4f4efa=_0x402755['dedt'],_0x331300=_0x402755[_0x27b8c0(0x132,0x1b0)],_0x42ea77=_0x402755[_0x27b8c0(0x215,0x2fa)],_0x5d508a=_0x402755[_0x2a0cea(-0x12,0x145)],_0x3c0bf1=_0x402755[_0x27b8c0(0x2d1,0x195)],_0x3bd909=_0x402755['dmdt'],_0x20de40=_0x402755['dnodt'],_0x181867=_0x402755[_0x27b8c0(0x2ab,0x3f4)],_0x4f8f46=_0x402755[_0x27b8c0(0x1e8,0x167)],_0x3873e1=_0x402755[_0x2a0cea(0x1d6,0xb6)],_0x165547=_0x402755['t'],_0x5c3b4b=_0x402755['tc'],_0x5e1d69=_0x402755[_0x27b8c0(0x164,0x6c)],_0x284661=_0x402755[_0x27b8c0(0x23d,0x240)],_0x37c5de=_0x402755['xlamo'],_0x542329=_0x402755['no'],_0x205487=_0x402755['atime'],_0x260b1f=_0x402755['em'],_0x3fe537=_0x402755[_0x27b8c0(0x139,0xc9)],_0xbd9959=_0x402755['inclm'],_0x19cc20=_0x402755['xli'],_0x221c25=_0x402755['mm'],_0x1051c9=_0x402755['xni'],_0x261961=_0x402755['nodem'],_0x1e16f0=_0x402755['nm'],_0xeca00a=0.13130908,_0x5bfe9f=2.8843198,_0x1b410b=0.37448087,_0x145a45=5.7686396;function _0x27b8c0(_0x14a6ce,_0x5f2a16){return _0x4a554d(_0x14a6ce-0xe3,_0x5f2a16);}function _0x2a0cea(_0x37efbb,_0x5cab4a){return _0x4c8020(_0x5cab4a- -0x28f,_0x37efbb);}var _0x2dd2e9=0.95240898,_0x2128a2=1.8014998,_0x409dc8=1.050833,_0xa6a550=4.4108898,_0x1e97ea=0.0043752690880113,_0x216631=0x2d0,_0x14b3b2=-0x2d0,_0x27fce9=0x3f480,_0x4db869,_0xf3b0c3,_0x387522,_0x2b5476,_0x2181d4,_0x4ddda9,_0x5930c6,_0x2aa92b,_0x20192a=0x0,_0x571a73=0x0,_0x854ace=(_0x5e1d69+_0x5c3b4b*_0x1e97ea)%twoPi$1;_0x260b1f+=_0x4f4efa*_0x165547,_0xbd9959+=_0x3c0bf1*_0x165547,_0x3fe537+=_0x181867*_0x165547,_0x261961+=_0x20de40*_0x165547,_0x221c25+=_0x3bd909*_0x165547;if(_0x45c75b!==0x0){(_0x205487===0x0||_0x165547*_0x205487<=0x0||Math['abs'](_0x165547)0x0?_0x4db869=_0x216631:_0x4db869=_0x14b3b2;var _0x35a12b=0x17d;while(_0x35a12b===0x17d){_0x45c75b!==0x2?(_0x5930c6=_0x331300*Math[_0x2a0cea(0xb0,0xbe)](_0x19cc20-_0xeca00a)+_0x42ea77*Math['sin'](0x2*(_0x19cc20-_0x5bfe9f))+_0x5d508a*Math['sin'](0x3*(_0x19cc20-_0x1b410b)),_0x2181d4=_0x1051c9+_0x284661,_0x4ddda9=_0x331300*Math['cos'](_0x19cc20-_0xeca00a)+0x2*_0x42ea77*Math['cos'](0x2*(_0x19cc20-_0x5bfe9f))+0x3*_0x5d508a*Math['cos'](0x3*(_0x19cc20-_0x1b410b)),_0x4ddda9*=_0x2181d4):(_0x2aa92b=_0x4f8f46+_0x3873e1*_0x205487,_0x387522=_0x2aa92b+_0x2aa92b,_0xf3b0c3=_0x19cc20+_0x19cc20,_0x5930c6=_0xb7a0e9*Math['sin'](_0x387522+_0x19cc20-_0x145a45)+_0x4e342f*Math[_0x2a0cea(-0x9,0xbe)](_0x19cc20-_0x145a45)+_0x2cb460*Math['sin'](_0x2aa92b+_0x19cc20-_0x2dd2e9)+_0x3a8558*Math['sin'](-_0x2aa92b+_0x19cc20-_0x2dd2e9)+_0x57d2cc*Math['sin'](_0x387522+_0xf3b0c3-_0x2128a2)+_0x431a84*Math['sin'](_0xf3b0c3-_0x2128a2)+_0x453843*Math[_0x2a0cea(0x19c,0xbe)](_0x2aa92b+_0x19cc20-_0x409dc8)+_0xd97c51*Math[_0x27b8c0(0x265,0x3b2)](-_0x2aa92b+_0x19cc20-_0x409dc8)+_0x392d7e*Math[_0x27b8c0(0x265,0x15d)](_0x2aa92b+_0xf3b0c3-_0xa6a550)+_0x5d6967*Math[_0x27b8c0(0x265,0x1d7)](-_0x2aa92b+_0xf3b0c3-_0xa6a550),_0x2181d4=_0x1051c9+_0x284661,_0x4ddda9=_0xb7a0e9*Math['cos'](_0x387522+_0x19cc20-_0x145a45)+_0x4e342f*Math[_0x2a0cea(0xf9,0x10d)](_0x19cc20-_0x145a45)+_0x2cb460*Math['cos'](_0x2aa92b+_0x19cc20-_0x2dd2e9)+_0x3a8558*Math['cos'](-_0x2aa92b+_0x19cc20-_0x2dd2e9)+_0x453843*Math[_0x27b8c0(0x2b4,0x2b8)](_0x2aa92b+_0x19cc20-_0x409dc8)+_0xd97c51*Math['cos'](-_0x2aa92b+_0x19cc20-_0x409dc8)+0x2*(_0x57d2cc*Math['cos'](_0x387522+_0xf3b0c3-_0x2128a2)+_0x431a84*Math[_0x2a0cea(0x235,0x10d)](_0xf3b0c3-_0x2128a2)+_0x392d7e*Math['cos'](_0x2aa92b+_0xf3b0c3-_0xa6a550)+_0x5d6967*Math['cos'](-_0x2aa92b+_0xf3b0c3-_0xa6a550)),_0x4ddda9*=_0x2181d4),Math[_0x2a0cea(0x161,0xcd)](_0x165547-_0x205487)>=_0x216631?_0x35a12b=0x17d:(_0x571a73=_0x165547-_0x205487,_0x35a12b=0x0),_0x35a12b===0x17d&&(_0x19cc20+=_0x2181d4*_0x4db869+_0x5930c6*_0x27fce9,_0x1051c9+=_0x5930c6*_0x4db869+_0x4ddda9*_0x27fce9,_0x205487+=_0x4db869);}_0x1e16f0=_0x1051c9+_0x5930c6*_0x571a73+_0x4ddda9*_0x571a73*_0x571a73*0.5,_0x2b5476=_0x19cc20+_0x2181d4*_0x571a73+_0x5930c6*_0x571a73*_0x571a73*0.5,_0x45c75b!==0x1?(_0x221c25=_0x2b5476-0x2*_0x261961+0x2*_0x854ace,_0x20192a=_0x1e16f0-_0x542329):(_0x221c25=_0x2b5476-_0x261961-_0x3fe537+_0x854ace,_0x20192a=_0x1e16f0-_0x542329),_0x1e16f0=_0x542329+_0x20192a;}var _0x341ac7={};return _0x341ac7[_0x2a0cea(0x212,0x1d3)]=_0x205487,_0x341ac7['em']=_0x260b1f,_0x341ac7['argpm']=_0x3fe537,_0x341ac7[_0x2a0cea(0xb,-0xf)]=_0xbd9959,_0x341ac7['xli']=_0x19cc20,_0x341ac7['mm']=_0x221c25,_0x341ac7['xni']=_0x1051c9,_0x341ac7['nodem']=_0x261961,_0x341ac7['dndt']=_0x20192a,_0x341ac7['nm']=_0x1e16f0,_0x341ac7;}function sgp4$1(_0x3f2264,_0x30917e){var _0xa19323,_0x2d13d5,_0x41a622,_0x17befc,_0x50e9e8,_0x361cb4,_0x106841,_0x28f694,_0x5a6061,_0x43ad73,_0x5a5fab,_0x1209fd,_0x126809,_0x26afe4,_0x48a3dc,_0x315d5b,_0x22c23e,_0x1ce076,_0x4ff990,_0x395025,_0x34fd59,_0x375a35,_0x5d67a4,_0x30a9e1,_0x229f50,_0x213e60,_0x376905,_0x593727=1.5e-12;_0x3f2264['t']=_0x30917e,_0x3f2264[_0x1d9496(0x88,0x17)]=0x0;var _0x1468a1=_0x3f2264['mo']+_0x3f2264[_0x54b118(0x578,0x422)]*_0x3f2264['t'],_0x153efc=_0x3f2264['argpo']+_0x3f2264[_0x54b118(0x441,0x389)]*_0x3f2264['t'],_0x1b2170=_0x3f2264['nodeo']+_0x3f2264[_0x54b118(0x2e3,0x251)]*_0x3f2264['t'];_0x5a6061=_0x153efc,_0x34fd59=_0x1468a1;var _0x450ef5=_0x3f2264['t']*_0x3f2264['t'];_0x5d67a4=_0x1b2170+_0x3f2264['nodecf']*_0x450ef5,_0x22c23e=0x1-_0x3f2264['cc1']*_0x3f2264['t'],_0x1ce076=_0x3f2264['bstar']*_0x3f2264[_0x1d9496(0x5d,-0xab)]*_0x3f2264['t'],_0x4ff990=_0x3f2264[_0x54b118(0x32f,0x478)]*_0x450ef5;if(_0x3f2264['isimp']!==0x1){_0x106841=_0x3f2264['omgcof']*_0x3f2264['t'];var _0x1072d0=0x1+_0x3f2264['eta']*Math[_0x54b118(0x53a,0x3e0)](_0x1468a1);_0x361cb4=_0x3f2264[_0x1d9496(0x143,0x98)]*(_0x1072d0*_0x1072d0*_0x1072d0-_0x3f2264['delmo']),_0x315d5b=_0x106841+_0x361cb4,_0x34fd59=_0x1468a1+_0x315d5b,_0x5a6061=_0x153efc-_0x315d5b,_0x1209fd=_0x450ef5*_0x3f2264['t'],_0x126809=_0x1209fd*_0x3f2264['t'],_0x22c23e=_0x22c23e-_0x3f2264['d2']*_0x450ef5-_0x3f2264['d3']*_0x1209fd-_0x3f2264['d4']*_0x126809,_0x1ce076+=_0x3f2264['bstar']*_0x3f2264['cc5']*(Math['sin'](_0x34fd59)-_0x3f2264[_0x54b118(0x45d,0x2ed)]),_0x4ff990=_0x4ff990+_0x3f2264[_0x54b118(0x55c,0x496)]*_0x1209fd+_0x126809*(_0x3f2264[_0x1d9496(0x21b,0x304)]+_0x3f2264['t']*_0x3f2264[_0x54b118(0x344,0x311)]);}_0x375a35=_0x3f2264['no'];var _0x5906b5=_0x3f2264['ecco'];_0x395025=_0x3f2264['inclo'];if(_0x3f2264[_0x54b118(0x5a6,0x4f3)]==='d'){_0x26afe4=_0x3f2264['t'];var _0x3d7135={};_0x3d7135[_0x54b118(0x59a,0x46c)]=_0x3f2264['irez'],_0x3d7135[_0x54b118(0x38d,0x4fe)]=_0x3f2264['d2201'],_0x3d7135['d2211']=_0x3f2264[_0x54b118(0x4d8,0x4c8)],_0x3d7135['d3210']=_0x3f2264['d3210'],_0x3d7135['d3222']=_0x3f2264[_0x1d9496(0x44,-0x6)],_0x3d7135[_0x54b118(0x43e,0x50c)]=_0x3f2264[_0x54b118(0x5db,0x50c)],_0x3d7135[_0x1d9496(0x48,0xd)]=_0x3f2264['d4422'],_0x3d7135['d5220']=_0x3f2264[_0x1d9496(0x112,0x124)],_0x3d7135['d5232']=_0x3f2264['d5232'],_0x3d7135[_0x54b118(0x2f2,0x2ff)]=_0x3f2264[_0x54b118(0x193,0x2ff)],_0x3d7135['d5433']=_0x3f2264['d5433'],_0x3d7135['dedt']=_0x3f2264[_0x54b118(0x3f7,0x3d4)],_0x3d7135[_0x54b118(0x10d,0x25e)]=_0x3f2264[_0x54b118(0x30e,0x25e)],_0x3d7135['del2']=_0x3f2264[_0x54b118(0x442,0x341)],_0x3d7135['del3']=_0x3f2264['del3'],_0x3d7135[_0x1d9496(0x151,0x23)]=_0x3f2264[_0x1d9496(0x151,0x1ab)],_0x3d7135['dmdt']=_0x3f2264['dmdt'],_0x3d7135[_0x54b118(0x4d5,0x401)]=_0x3f2264[_0x1d9496(0x155,0x260)],_0x3d7135[_0x1d9496(0x12b,0x233)]=_0x3f2264[_0x54b118(0x447,0x3d7)],_0x3d7135['argpo']=_0x3f2264[_0x54b118(0x20f,0x314)],_0x3d7135['argpdot']=_0x3f2264['argpdot'],_0x3d7135['t']=_0x3f2264['t'],_0x3d7135['tc']=_0x26afe4,_0x3d7135[_0x54b118(0x290,0x290)]=_0x3f2264['gsto'],_0x3d7135[_0x1d9496(0xbd,0x8d)]=_0x3f2264['xfact'],_0x3d7135[_0x1d9496(0x202,0x1d3)]=_0x3f2264['xlamo'],_0x3d7135['no']=_0x3f2264['no'],_0x3d7135['atime']=_0x3f2264['atime'],_0x3d7135['em']=_0x5906b5,_0x3d7135['argpm']=_0x5a6061,_0x3d7135['inclm']=_0x395025,_0x3d7135['xli']=_0x3f2264['xli'],_0x3d7135['mm']=_0x34fd59,_0x3d7135[_0x54b118(0x2e1,0x37a)]=_0x3f2264[_0x1d9496(0xce,0x15d)],_0x3d7135['nodem']=_0x5d67a4,_0x3d7135['nm']=_0x375a35;var _0x578791=_0x3d7135,_0x246a05=dspace$1(_0x578791);_0x5906b5=_0x246a05['em'],_0x5a6061=_0x246a05[_0x1d9496(-0x47,0x1e)],_0x395025=_0x246a05[_0x1d9496(0x18,-0x11e)],_0x34fd59=_0x246a05['mm'],_0x5d67a4=_0x246a05['nodem'],_0x375a35=_0x246a05['nm'];}if(_0x375a35<=0x0)return _0x3f2264[_0x1d9496(0x88,-0xbc)]=0x2,[![],![]];var _0x5b42c0=Math['pow'](xke$1/_0x375a35,x2o3$1)*_0x22c23e*_0x22c23e;_0x375a35=xke$1/Math[_0x1d9496(0x26d,0x161)](_0x5b42c0,1.5),_0x5906b5-=_0x1ce076;if(_0x5906b5>=0x1||_0x5906b5<-0.001)return _0x3f2264['error']=0x1,[![],![]];_0x5906b5<0.000001&&(_0x5906b5=0.000001);_0x34fd59+=_0x3f2264['no']*_0x4ff990,_0x229f50=_0x34fd59+_0x5a6061+_0x5d67a4,_0x5d67a4%=twoPi$1,_0x5a6061%=twoPi$1,_0x229f50%=twoPi$1,_0x34fd59=(_0x229f50-_0x5a6061-_0x5d67a4)%twoPi$1;var _0x40c461=Math[_0x54b118(0x3dc,0x391)](_0x395025),_0x4d5e33=Math['cos'](_0x395025),_0x49c7e2=_0x5906b5;_0x30a9e1=_0x395025,_0x43ad73=_0x5a6061,_0x376905=_0x5d67a4,_0x213e60=_0x34fd59,_0x17befc=_0x40c461;function _0x54b118(_0x54ec69,_0x446573){return _0x4c8020(_0x446573-0x44,_0x54ec69);}_0x41a622=_0x4d5e33;if(_0x3f2264[_0x1d9496(0x247,0x22d)]==='d'){var _0x51ab0b={};_0x51ab0b['inclo']=_0x3f2264['inclo'],_0x51ab0b['init']='n',_0x51ab0b['ep']=_0x49c7e2,_0x51ab0b['inclp']=_0x30a9e1,_0x51ab0b[_0x54b118(0x3e4,0x2d5)]=_0x376905,_0x51ab0b['argpp']=_0x43ad73,_0x51ab0b['mp']=_0x213e60,_0x51ab0b['opsmode']=_0x3f2264[_0x54b118(0x589,0x4dc)];var _0x51bc56=_0x51ab0b,_0x1bfa8c=dpper$1(_0x3f2264,_0x51bc56);_0x49c7e2=_0x1bfa8c['ep'],_0x376905=_0x1bfa8c['nodep'],_0x43ad73=_0x1bfa8c['argpp'],_0x213e60=_0x1bfa8c['mp'],_0x30a9e1=_0x1bfa8c['inclp'];_0x30a9e1<0x0&&(_0x30a9e1=-_0x30a9e1,_0x376905+=pi$1,_0x43ad73-=pi$1);if(_0x49c7e2<0x0||_0x49c7e2>0x1)return _0x3f2264['error']=0x3,[![],![]];}_0x3f2264['method']==='d'&&(_0x17befc=Math['sin'](_0x30a9e1),_0x41a622=Math[_0x1d9496(0x134,0x94)](_0x30a9e1),_0x3f2264[_0x54b118(0x4b5,0x377)]=-0.5*j3oj2$1*_0x17befc,Math['abs'](_0x41a622+0x1)>1.5e-12?_0x3f2264['xlcof']=-0.25*j3oj2$1*_0x17befc*(0x3+0x5*_0x41a622)/(0x1+_0x41a622):_0x3f2264[_0x54b118(0x3c1,0x3ae)]=-0.25*j3oj2$1*_0x17befc*(0x3+0x5*_0x41a622)/_0x593727);var _0x7efbed=_0x49c7e2*Math['cos'](_0x43ad73);_0x315d5b=0x1/(_0x5b42c0*(0x1-_0x49c7e2*_0x49c7e2));var _0x35fcf0=_0x49c7e2*Math[_0x1d9496(0xe5,0x1cf)](_0x43ad73)+_0x315d5b*_0x3f2264['aycof'],_0x27ebdc=_0x213e60+_0x43ad73+_0x376905+_0x315d5b*_0x3f2264[_0x1d9496(0x102,-0xe)]*_0x7efbed,_0x1f70f0=(_0x27ebdc-_0x376905)%twoPi$1;_0x28f694=_0x1f70f0,_0x48a3dc=9999.9;var _0x5a3a02=0x1;while(Math['abs'](_0x48a3dc)>=1e-12&&_0x5a3a02<=0xa){_0x2d13d5=Math[_0x1d9496(0xe5,0x200)](_0x28f694),_0xa19323=Math['cos'](_0x28f694),_0x48a3dc=0x1-_0xa19323*_0x7efbed-_0x2d13d5*_0x35fcf0,_0x48a3dc=(_0x1f70f0-_0x35fcf0*_0xa19323+_0x7efbed*_0x2d13d5-_0x28f694)/_0x48a3dc,Math['abs'](_0x48a3dc)>=0.95&&(_0x48a3dc>0x0?_0x48a3dc=0.95:_0x48a3dc=-0.95),_0x28f694+=_0x48a3dc,_0x5a3a02+=0x1;}function _0x1d9496(_0x2f72c8,_0x156385){return _0x4a554d(_0x2f72c8- -0x9d,_0x156385);}var _0x3da012=_0x7efbed*_0xa19323+_0x35fcf0*_0x2d13d5,_0x3dd20f=_0x7efbed*_0x2d13d5-_0x35fcf0*_0xa19323,_0xb7f6e6=_0x7efbed*_0x7efbed+_0x35fcf0*_0x35fcf0,_0x42c321=_0x5b42c0*(0x1-_0xb7f6e6);if(_0x42c321<0x0)return _0x3f2264['error']=0x4,[![],![]];var _0x54658a=_0x5b42c0*(0x1-_0x3da012),_0x498ca7=Math['sqrt'](_0x5b42c0)*_0x3dd20f/_0x54658a,_0xca2cf2=Math['sqrt'](_0x42c321)/_0x54658a,_0x5f3a9e=Math[_0x54b118(0x537,0x460)](0x1-_0xb7f6e6);_0x315d5b=_0x3dd20f/(0x1+_0x5f3a9e);var _0x1ba701=_0x5b42c0/_0x54658a*(_0x2d13d5-_0x35fcf0-_0x7efbed*_0x315d5b),_0x3cdd91=_0x5b42c0/_0x54658a*(_0xa19323-_0x7efbed+_0x35fcf0*_0x315d5b);_0x5a5fab=Math['atan2'](_0x1ba701,_0x3cdd91);var _0x2ec91d=(_0x3cdd91+_0x3cdd91)*_0x1ba701,_0x47b8f1=0x1-0x2*_0x1ba701*_0x1ba701;_0x315d5b=0x1/_0x42c321;var _0x5df430=0.5*j2$1*_0x315d5b,_0x5b51f4=_0x5df430*_0x315d5b;_0x3f2264[_0x54b118(0x5fd,0x4f3)]==='d'&&(_0x50e9e8=_0x41a622*_0x41a622,_0x3f2264[_0x54b118(0x5c1,0x518)]=0x3*_0x50e9e8-0x1,_0x3f2264['x1mth2']=0x1-_0x50e9e8,_0x3f2264['x7thm1']=0x7*_0x50e9e8-0x1);var _0x33ed73=_0x54658a*(0x1-1.5*_0x5b51f4*_0x5f3a9e*_0x3f2264[_0x54b118(0x65a,0x518)])+0.5*_0x5df430*_0x3f2264['x1mth2']*_0x47b8f1;if(_0x33ed73<0x1){_0x3f2264['error']=0x6;var _0x1093fe={};return _0x1093fe['position']=![],_0x1093fe['velocity']=![],_0x1093fe;}_0x5a5fab-=0.25*_0x5b51f4*_0x3f2264['x7thm1']*_0x2ec91d;var _0x55b0a4=_0x376905+1.5*_0x5b51f4*_0x41a622*_0x2ec91d,_0x2a3791=_0x30a9e1+1.5*_0x5b51f4*_0x41a622*_0x17befc*_0x47b8f1,_0x2cd664=_0x498ca7-_0x375a35*_0x5df430*_0x3f2264['x1mth2']*_0x2ec91d/xke$1,_0x2323ec=_0xca2cf2+_0x375a35*_0x5df430*(_0x3f2264['x1mth2']*_0x47b8f1+1.5*_0x3f2264['con41'])/xke$1,_0x28a0ac=Math[_0x1d9496(0xe5,0x1eb)](_0x5a5fab),_0x197dc9=Math['cos'](_0x5a5fab),_0x32ce38=Math['sin'](_0x55b0a4),_0x26e5b6=Math[_0x1d9496(0x134,0x248)](_0x55b0a4),_0x554a6a=Math[_0x54b118(0x46e,0x391)](_0x2a3791),_0x41f87c=Math[_0x1d9496(0x134,0x1f)](_0x2a3791),_0x351371=-_0x32ce38*_0x41f87c,_0x1a126e=_0x26e5b6*_0x41f87c,_0x106458=_0x351371*_0x28a0ac+_0x26e5b6*_0x197dc9,_0x4742ef=_0x1a126e*_0x28a0ac+_0x32ce38*_0x197dc9,_0x487134=_0x554a6a*_0x28a0ac,_0x1cdd4e=_0x351371*_0x197dc9-_0x26e5b6*_0x28a0ac,_0x1d29c7=_0x1a126e*_0x197dc9-_0x32ce38*_0x28a0ac,_0x6e9990=_0x554a6a*_0x197dc9,_0x24a71a={};_0x24a71a['x']=_0x33ed73*_0x106458*earthRadius$1,_0x24a71a['y']=_0x33ed73*_0x4742ef*earthRadius$1,_0x24a71a['z']=_0x33ed73*_0x487134*earthRadius$1;var _0x8ce3a=_0x24a71a,_0x432622={};_0x432622['x']=(_0x2cd664*_0x106458+_0x2323ec*_0x1cdd4e)*vkmpersec$1,_0x432622['y']=(_0x2cd664*_0x4742ef+_0x2323ec*_0x1d29c7)*vkmpersec$1,_0x432622['z']=(_0x2cd664*_0x487134+_0x2323ec*_0x6e9990)*vkmpersec$1;var _0x2e0ca4=_0x432622,_0x105df7={};return _0x105df7[_0x54b118(0x174,0x279)]=_0x8ce3a,_0x105df7['velocity']=_0x2e0ca4,_0x105df7;}function sgp4init$1(_0x56f457,_0x34bab4){var _0x208d79=_0x34bab4[_0x14a3db(0x11c,0x10)],_0x305459=_0x34bab4[_0x3eb247(0x12,0x12c)],_0x4080ff=_0x34bab4[_0x3eb247(0x1f,-0xc4)],_0x3d01a2=_0x34bab4[_0x14a3db(0x2e0,0x2ba)],_0x54ac88=_0x34bab4['xecco'],_0xf3a299=_0x34bab4[_0x3eb247(-0x64,0x107)],_0x2de5f7=_0x34bab4['xinclo'],_0x2c732c=_0x34bab4['xmo'],_0x1a00f3=_0x34bab4['xno'],_0x322002=_0x34bab4['xnodeo'],_0x125c67,_0x143ade,_0x205184,_0x5476ec,_0x482a16,_0x4aab0a,_0x4baf5e,_0x45cd23,_0x59884e,_0x376efb,_0x45e0d6,_0x26df52,_0x11de8c,_0xc84e4e,_0x2c3f82,_0x3f22b8,_0x98d79f,_0x35c3fd,_0x3159db,_0x3176fb,_0x45476d,_0x30bc20,_0x162e8d,_0x286bcc,_0x1f38cb,_0x2143a2,_0x484e37,_0x411e3a,_0x22a1cd,_0x187e96,_0x58d61c,_0x2eb674,_0x29a6fa,_0x9b0a6a,_0x49c842,_0x230327,_0x113d82,_0xe1754d,_0x3c9070,_0x17aaa3,_0x5af267,_0x3bdbe1,_0x3883c9,_0x3de915,_0x29530f,_0x2fe94f,_0x3b035b,_0x2c2f77,_0xb9fcee,_0x566ce9,_0x4c621e,_0x2c602e,_0x1e2c69,_0x2568be,_0xfd9496,_0x295d1a,_0x31f718=1.5e-12;_0x56f457[_0x14a3db(0x87,-0x26)]=0x0,_0x56f457[_0x3eb247(0x110,0x1a1)]='n',_0x56f457[_0x3eb247(0x54,0x25)]=0x0,_0x56f457['con41']=0x0,_0x56f457['cc1']=0x0,_0x56f457['cc4']=0x0,_0x56f457[_0x14a3db(0x2e9,0x439)]=0x0,_0x56f457['d2']=0x0,_0x56f457['d3']=0x0,_0x56f457['d4']=0x0,_0x56f457['delmo']=0x0,_0x56f457[_0x14a3db(0x2d9,0x255)]=0x0,_0x56f457['argpdot']=0x0,_0x56f457[_0x3eb247(0x275,0x14a)]=0x0,_0x56f457['sinmao']=0x0,_0x56f457['t']=0x0,_0x56f457['t2cof']=0x0,_0x56f457['t3cof']=0x0,_0x56f457['t4cof']=0x0,_0x56f457[_0x14a3db(0x101,0x17b)]=0x0,_0x56f457[_0x14a3db(0x1f8,0x164)]=0x0,_0x56f457['x7thm1']=0x0,_0x56f457['mdot']=0x0,_0x56f457['nodedot']=0x0,_0x56f457[_0x3eb247(-0xde,0x5c)]=0x0,_0x56f457[_0x14a3db(0x1df,0x68)]=0x0;function _0x14a3db(_0x59931c,_0x32ba26){return _0x4c8020(_0x59931c- -0x1cc,_0x32ba26);}_0x56f457[_0x3eb247(-0x1f9,-0xfe)]=0x0,_0x56f457[_0x14a3db(0x25c,0x37d)]=0x0,_0x56f457['d2201']=0x0,_0x56f457['d2211']=0x0,_0x56f457['d3210']=0x0,_0x56f457['d3222']=0x0,_0x56f457['d4410']=0x0,_0x56f457[_0x14a3db(0xe4,0x1e9)]=0x0,_0x56f457['d5220']=0x0,_0x56f457['d5232']=0x0,_0x56f457['d5421']=0x0,_0x56f457['d5433']=0x0,_0x56f457['dedt']=0x0,_0x56f457['del1']=0x0,_0x56f457['del2']=0x0,_0x56f457['del3']=0x0,_0x56f457[_0x3eb247(0x3,0xab)]=0x0,_0x56f457[_0x3eb247(0x5a,0x127)]=0x0,_0x56f457[_0x3eb247(0x1d4,0xaf)]=0x0,_0x56f457[_0x3eb247(-0x3c,0x85)]=0x0,_0x56f457['e3']=0x0,_0x56f457['ee2']=0x0,_0x56f457[_0x14a3db(0x24,0x123)]=0x0,_0x56f457[_0x3eb247(0x2f,0x92)]=0x0,_0x56f457['pho']=0x0,_0x56f457[_0x3eb247(0x123,0x114)]=0x0,_0x56f457[_0x14a3db(0x9b,0xc7)]=0x0,_0x56f457[_0x14a3db(0x280,0x371)]=0x0,_0x56f457[_0x14a3db(0x1c9,0xd6)]=0x0,_0x56f457['sgh2']=0x0,_0x56f457[_0x3eb247(-0x151,-0x35)]=0x0,_0x56f457['sgh4']=0x0,_0x56f457[_0x14a3db(0x2c9,0x2da)]=0x0,_0x56f457['sh3']=0x0,_0x56f457[_0x14a3db(0x1fa,0x100)]=0x0,_0x56f457[_0x14a3db(0x1dc,0x1e1)]=0x0,_0x56f457[_0x3eb247(0xdd,0x1c9)]=0x0,_0x56f457[_0x3eb247(0x20f,0x12a)]=0x0,_0x56f457[_0x3eb247(0x76,-0xd)]=0x0,_0x56f457['gsto']=0x0,_0x56f457['xfact']=0x0,_0x56f457['xgh2']=0x0,_0x56f457['xgh3']=0x0,_0x56f457['xgh4']=0x0,_0x56f457['xh2']=0x0,_0x56f457['xh3']=0x0,_0x56f457['xi2']=0x0,_0x56f457[_0x14a3db(0x129,0x6f)]=0x0,_0x56f457['xl2']=0x0,_0x56f457['xl3']=0x0,_0x56f457[_0x14a3db(0x195,0xc5)]=0x0,_0x56f457[_0x3eb247(0x2a2,0x15c)]=0x0,_0x56f457['zmol']=0x0,_0x56f457['zmos']=0x0,_0x56f457['atime']=0x0,_0x56f457[_0x3eb247(0x2e9,0x1ce)]=0x0,_0x56f457[_0x14a3db(0x16a,0x2c5)]=0x0,_0x56f457['bstar']=_0x3d01a2,_0x56f457['ecco']=_0x54ac88;function _0x3eb247(_0x273b1c,_0x156ff4){return _0x4c8020(_0x156ff4- -0x30e,_0x273b1c);}_0x56f457[_0x3eb247(-0x105,-0x3e)]=_0xf3a299,_0x56f457[_0x14a3db(0x25d,0x368)]=_0x2de5f7,_0x56f457['mo']=_0x2c732c,_0x56f457['no']=_0x1a00f3,_0x56f457['nodeo']=_0x322002,_0x56f457[_0x3eb247(0x18,0x18a)]=_0x208d79;var _0x725df6=0x4e/earthRadius$1+0x1,_0x45e18c=(0x78-0x4e)/earthRadius$1,_0x1d6c3a=_0x45e18c*_0x45e18c*_0x45e18c*_0x45e18c;_0x56f457[_0x3eb247(0x197,0xdc)]='y',_0x56f457['t']=0x0;var _0x36bd35={};_0x36bd35['satn']=_0x305459,_0x36bd35[_0x3eb247(0x15f,0x34)]=_0x56f457['ecco'],_0x36bd35['epoch']=_0x4080ff,_0x36bd35[_0x14a3db(0x25d,0x282)]=_0x56f457[_0x3eb247(0x148,0x11b)],_0x36bd35['no']=_0x56f457['no'],_0x36bd35['method']=_0x56f457['method'],_0x36bd35['opsmode']=_0x56f457[_0x14a3db(0x2cc,0x409)];var _0x5bc560=_0x36bd35,_0x12b92e=initl$1(_0x5bc560),_0x5964f2=_0x12b92e['ao'],_0x37390d=_0x12b92e['con42'],_0x21fd25=_0x12b92e[_0x3eb247(0x176,0x195)],_0x530821=_0x12b92e[_0x14a3db(0x2f5,0x236)],_0x1bcc93=_0x12b92e[_0x14a3db(0x12e,-0x1)],_0x21707c=_0x12b92e['omeosq'],_0x413d1b=_0x12b92e['posq'],_0x2b8ed6=_0x12b92e['rp'],_0x2a73bd=_0x12b92e[_0x3eb247(0xd1,0xf0)],_0x48f25b=_0x12b92e[_0x14a3db(0x304,0x373)];_0x56f457['no']=_0x12b92e['no'],_0x56f457['con41']=_0x12b92e['con41'],_0x56f457[_0x3eb247(-0x148,-0xc2)]=_0x12b92e['gsto'],_0x56f457['a']=Math['pow'](_0x56f457['no']*tumin$1,-0x2/0x3),_0x56f457[_0x14a3db(0x221,0x29c)]=_0x56f457['a']*(0x1+_0x56f457['ecco'])-0x1,_0x56f457['altp']=_0x56f457['a']*(0x1-_0x56f457['ecco'])-0x1,_0x56f457['error']=0x0;if(_0x21707c>=0x0||_0x56f457['no']>=0x0){_0x56f457[_0x3eb247(-0x170,-0xbb)]=0x0;_0x2b8ed6<0xdc/earthRadius$1+0x1&&(_0x56f457['isimp']=0x1);_0x484e37=_0x725df6,_0x45476d=_0x1d6c3a,_0x35c3fd=(_0x2b8ed6-0x1)*earthRadius$1;if(_0x35c3fd<0x9c){_0x484e37=_0x35c3fd-0x4e;_0x35c3fd<0x62&&(_0x484e37=0x14);var _0x39aaa3=(0x78-_0x484e37)/earthRadius$1;_0x45476d=_0x39aaa3*_0x39aaa3*_0x39aaa3*_0x39aaa3,_0x484e37=_0x484e37/earthRadius$1+0x1;}_0x3159db=0x1/_0x413d1b,_0x2fe94f=0x1/(_0x5964f2-_0x484e37),_0x56f457['eta']=_0x5964f2*_0x56f457['ecco']*_0x2fe94f,_0x26df52=_0x56f457[_0x3eb247(0x3a,0x197)]*_0x56f457['eta'],_0x45e0d6=_0x56f457['ecco']*_0x56f457[_0x3eb247(0x1b1,0x197)],_0x3176fb=Math['abs'](0x1-_0x26df52),_0x4aab0a=_0x45476d*Math['pow'](_0x2fe94f,0x4),_0x4baf5e=_0x4aab0a/Math['pow'](_0x3176fb,3.5),_0x5476ec=_0x4baf5e*_0x56f457['no']*(_0x5964f2*(0x1+1.5*_0x26df52+_0x45e0d6*(0x4+_0x26df52))+0.375*j2$1*_0x2fe94f/_0x3176fb*_0x56f457['con41']*(0x8+0x3*_0x26df52*(0x8+_0x26df52))),_0x56f457['cc1']=_0x56f457[_0x3eb247(0x111,0x51)]*_0x5476ec,_0x482a16=0x0;_0x56f457[_0x14a3db(0x176,0x1e1)]>0.0001&&(_0x482a16=-0x2*_0x4aab0a*_0x2fe94f*j3oj2$1*_0x56f457['no']*_0x48f25b/_0x56f457[_0x14a3db(0x176,0x199)]);_0x56f457['x1mth2']=0x1-_0x530821,_0x56f457['cc4']=0x2*_0x56f457['no']*_0x4baf5e*_0x5964f2*_0x21707c*(_0x56f457['eta']*(0x2+0.5*_0x26df52)+_0x56f457['ecco']*(0.5+0x2*_0x26df52)-j2$1*_0x2fe94f/(_0x5964f2*_0x3176fb)*(-0x3*_0x56f457[_0x14a3db(0x308,0x3bf)]*(0x1-0x2*_0x45e0d6+_0x26df52*(1.5-0.5*_0x45e0d6))+0.75*_0x56f457[_0x3eb247(0x9c,0xb6)]*(0x2*_0x26df52-_0x45e0d6*(0x1+_0x26df52))*Math['cos'](0x2*_0x56f457[_0x3eb247(-0x50,-0x3e)]))),_0x56f457['cc5']=0x2*_0x4baf5e*_0x5964f2*_0x21707c*(0x1+2.75*(_0x26df52+_0x45e0d6)+_0x45e0d6*_0x26df52),_0x45cd23=_0x530821*_0x530821,_0x3883c9=1.5*j2$1*_0x3159db*_0x56f457['no'],_0x3de915=0.5*_0x3883c9*j2$1*_0x3159db,_0x29530f=-0.46875*j4$1*_0x3159db*_0x3159db*_0x56f457['no'],_0x56f457['mdot']=_0x56f457['no']+0.5*_0x3883c9*_0x2a73bd*_0x56f457['con41']+0.0625*_0x3de915*_0x2a73bd*(0xd-0x4e*_0x530821+0x89*_0x45cd23),_0x56f457[_0x14a3db(0x179,0x214)]=-0.5*_0x3883c9*_0x37390d+0.0625*_0x3de915*(0x7-0x72*_0x530821+0x18b*_0x45cd23)+_0x29530f*(0x3-0x24*_0x530821+0x31*_0x45cd23),_0x2c2f77=-_0x3883c9*_0x21fd25,_0x56f457['nodedot']=_0x2c2f77+(0.5*_0x3de915*(0x4-0x13*_0x530821)+0x2*_0x29530f*(0x3-0x7*_0x530821))*_0x21fd25,_0x3b035b=_0x56f457[_0x14a3db(0x179,0x73)]+_0x56f457['nodedot'],_0x56f457['omgcof']=_0x56f457['bstar']*_0x482a16*Math['cos'](_0x56f457['argpo']),_0x56f457['xmcof']=0x0;_0x56f457['ecco']>0.0001&&(_0x56f457['xmcof']=-x2o3$1*_0x4aab0a*_0x56f457[_0x14a3db(0x193,0x213)]/_0x45e0d6);_0x56f457['nodecf']=3.5*_0x21707c*_0x2c2f77*_0x56f457[_0x14a3db(0x126,0xa5)],_0x56f457['t2cof']=1.5*_0x56f457['cc1'];Math['abs'](_0x21fd25+0x1)>1.5e-12?_0x56f457['xlcof']=-0.25*j3oj2$1*_0x48f25b*(0x3+0x5*_0x21fd25)/(0x1+_0x21fd25):_0x56f457['xlcof']=-0.25*j3oj2$1*_0x48f25b*(0x3+0x5*_0x21fd25)/_0x31f718;_0x56f457['aycof']=-0.5*j3oj2$1*_0x48f25b;var _0x5080b1=0x1+_0x56f457['eta']*Math['cos'](_0x56f457['mo']);_0x56f457['delmo']=_0x5080b1*_0x5080b1*_0x5080b1,_0x56f457['sinmao']=Math['sin'](_0x56f457['mo']),_0x56f457['x7thm1']=0x7*_0x530821-0x1;if(0x2*pi$1/_0x56f457['no']>=0xe1){_0x56f457[_0x3eb247(0xaf,0x1a1)]='d',_0x56f457['isimp']=0x1,_0x5af267=0x0,_0x2c3f82=_0x56f457['inclo'];var _0x2cb068={};_0x2cb068['epoch']=_0x4080ff,_0x2cb068['ep']=_0x56f457[_0x3eb247(0x58,0x34)],_0x2cb068['argpp']=_0x56f457['argpo'],_0x2cb068['tc']=_0x5af267,_0x2cb068[_0x3eb247(0x1b3,0x168)]=_0x56f457['inclo'],_0x2cb068['nodep']=_0x56f457[_0x14a3db(0x21f,0x35a)],_0x2cb068['np']=_0x56f457['no'],_0x2cb068['e3']=_0x56f457['e3'],_0x2cb068[_0x3eb247(0x14,-0x9e)]=_0x56f457['ee2'],_0x2cb068[_0x3eb247(-0xc,-0x11e)]=_0x56f457[_0x14a3db(0x24,0x95)],_0x2cb068['pgho']=_0x56f457['pgho'],_0x2cb068['pho']=_0x56f457[_0x14a3db(0x21b,0x2dc)],_0x2cb068[_0x3eb247(0x123,0x114)]=_0x56f457['pinco'],_0x2cb068[_0x14a3db(0x9b,-0xa5)]=_0x56f457['plo'],_0x2cb068[_0x14a3db(0x280,0x1d4)]=_0x56f457[_0x3eb247(0xa0,0x13e)],_0x2cb068['se3']=_0x56f457[_0x14a3db(0x1c9,0x227)],_0x2cb068['sgh2']=_0x56f457['sgh2'],_0x2cb068['sgh3']=_0x56f457[_0x14a3db(0x10d,0x202)],_0x2cb068[_0x3eb247(0x7c,0x1bf)]=_0x56f457['sgh4'],_0x2cb068[_0x3eb247(0x270,0x187)]=_0x56f457['sh2'],_0x2cb068[_0x14a3db(0xa8,0x52)]=_0x56f457['sh3'],_0x2cb068[_0x14a3db(0x1fa,0x10a)]=_0x56f457[_0x14a3db(0x1fa,0x2d7)],_0x2cb068['si3']=_0x56f457[_0x14a3db(0x1dc,0x23d)],_0x2cb068[_0x3eb247(0x22a,0x1c9)]=_0x56f457['sl2'],_0x2cb068['sl3']=_0x56f457['sl3'],_0x2cb068['sl4']=_0x56f457[_0x3eb247(0x15d,-0xd)],_0x2cb068['xgh2']=_0x56f457['xgh2'],_0x2cb068[_0x3eb247(-0x250,-0xf1)]=_0x56f457[_0x3eb247(-0xd,-0xf1)],_0x2cb068['xgh4']=_0x56f457[_0x3eb247(-0x1ac,-0x7e)],_0x2cb068[_0x3eb247(-0x98,-0xf)]=_0x56f457[_0x14a3db(0x133,0x185)],_0x2cb068['xh3']=_0x56f457[_0x14a3db(0x295,0x2e6)],_0x2cb068[_0x14a3db(0x21a,0x133)]=_0x56f457['xi2'],_0x2cb068['xi3']=_0x56f457['xi3'],_0x2cb068['xl2']=_0x56f457['xl2'],_0x2cb068[_0x3eb247(0x45,-0x6f)]=_0x56f457[_0x14a3db(0xd3,0x102)],_0x2cb068['xl4']=_0x56f457['xl4'],_0x2cb068['zmol']=_0x56f457[_0x14a3db(0x2a8,0x379)],_0x2cb068['zmos']=_0x56f457['zmos'];var _0x12b03b=_0x2cb068,_0x4b50ec=dscom$1(_0x12b03b);_0x56f457['e3']=_0x4b50ec['e3'],_0x56f457['ee2']=_0x4b50ec[_0x3eb247(-0x107,-0x9e)],_0x56f457['peo']=_0x4b50ec[_0x14a3db(0x24,0xaf)],_0x56f457['pgho']=_0x4b50ec['pgho'],_0x56f457[_0x3eb247(0x5f,0xd9)]=_0x4b50ec['pho'],_0x56f457[_0x3eb247(0x145,0x114)]=_0x4b50ec['pinco'],_0x56f457['plo']=_0x4b50ec['plo'],_0x56f457['se2']=_0x4b50ec['se2'],_0x56f457['se3']=_0x4b50ec[_0x14a3db(0x1c9,0x8d)],_0x56f457[_0x3eb247(0x91,-0xac)]=_0x4b50ec[_0x3eb247(-0x4f,-0xac)],_0x56f457['sgh3']=_0x4b50ec['sgh3'],_0x56f457['sgh4']=_0x4b50ec['sgh4'],_0x56f457['sh2']=_0x4b50ec['sh2'],_0x56f457['sh3']=_0x4b50ec['sh3'],_0x56f457['si2']=_0x4b50ec['si2'],_0x56f457['si3']=_0x4b50ec['si3'],_0x56f457['sl2']=_0x4b50ec[_0x14a3db(0x30b,0x3de)],_0x56f457['sl3']=_0x4b50ec['sl3'],_0x56f457[_0x3eb247(-0x77,-0xd)]=_0x4b50ec['sl4'],_0x143ade=_0x4b50ec['sinim'],_0x125c67=_0x4b50ec['cosim'],_0x59884e=_0x4b50ec['em'],_0x376efb=_0x4b50ec['emsq'],_0x30bc20=_0x4b50ec['s1'],_0x162e8d=_0x4b50ec['s2'],_0x286bcc=_0x4b50ec['s3'],_0x1f38cb=_0x4b50ec['s4'],_0x2143a2=_0x4b50ec['s5'],_0x411e3a=_0x4b50ec['ss1'],_0x22a1cd=_0x4b50ec['ss2'],_0x187e96=_0x4b50ec['ss3'],_0x58d61c=_0x4b50ec['ss4'],_0x2eb674=_0x4b50ec['ss5'],_0x29a6fa=_0x4b50ec[_0x14a3db(0x240,0x182)],_0x9b0a6a=_0x4b50ec['sz3'],_0x49c842=_0x4b50ec['sz11'],_0x230327=_0x4b50ec['sz13'],_0x113d82=_0x4b50ec['sz21'],_0xe1754d=_0x4b50ec[_0x14a3db(0x262,0x146)],_0x3c9070=_0x4b50ec[_0x14a3db(0x137,0x59)],_0x17aaa3=_0x4b50ec[_0x3eb247(0xbe,-0x22)],_0x56f457[_0x3eb247(-0xd9,0x63)]=_0x4b50ec[_0x3eb247(0x136,0x63)],_0x56f457[_0x3eb247(-0x192,-0xf1)]=_0x4b50ec[_0x3eb247(-0x191,-0xf1)],_0x56f457['xgh4']=_0x4b50ec[_0x14a3db(0xc4,0x133)],_0x56f457['xh2']=_0x4b50ec['xh2'],_0x56f457['xh3']=_0x4b50ec[_0x14a3db(0x295,0x190)],_0x56f457['xi2']=_0x4b50ec['xi2'],_0x56f457[_0x14a3db(0x129,0x11a)]=_0x4b50ec[_0x14a3db(0x129,0x66)],_0x56f457['xl2']=_0x4b50ec['xl2'],_0x56f457[_0x14a3db(0xd3,-0x12)]=_0x4b50ec[_0x14a3db(0xd3,-0x31)],_0x56f457['xl4']=_0x4b50ec['xl4'],_0x56f457[_0x3eb247(0x132,0x166)]=_0x4b50ec[_0x3eb247(0x125,0x166)],_0x56f457[_0x14a3db(0x272,0x1bc)]=_0x4b50ec[_0x14a3db(0x272,0x3d5)],_0x98d79f=_0x4b50ec['nm'],_0xb9fcee=_0x4b50ec['z1'],_0x566ce9=_0x4b50ec['z3'],_0x4c621e=_0x4b50ec[_0x14a3db(0xb8,0x28)],_0x2c602e=_0x4b50ec['z13'],_0x1e2c69=_0x4b50ec['z21'],_0x2568be=_0x4b50ec['z23'],_0xfd9496=_0x4b50ec['z31'],_0x295d1a=_0x4b50ec[_0x3eb247(0x83,0x161)];var _0xfb1f94={};_0xfb1f94['inclo']=_0x2c3f82,_0xfb1f94[_0x14a3db(0x21e,0x12d)]=_0x56f457[_0x14a3db(0x21e,0x120)],_0xfb1f94['ep']=_0x56f457['ecco'],_0xfb1f94['inclp']=_0x56f457['inclo'],_0xfb1f94[_0x14a3db(0xc5,0x20d)]=_0x56f457['nodeo'],_0xfb1f94[_0x14a3db(0xfa,0x270)]=_0x56f457['argpo'],_0xfb1f94['mp']=_0x56f457['mo'],_0xfb1f94[_0x3eb247(-0x11,-0x26)]=_0x56f457[_0x14a3db(0x2cc,0x3b7)];var _0x25324d=_0xfb1f94,_0x56efff=dpper$1(_0x56f457,_0x25324d);_0x56f457[_0x14a3db(0x176,0x204)]=_0x56efff['ep'],_0x56f457[_0x3eb247(0xd6,0x11b)]=_0x56efff[_0x3eb247(0x7f,0x168)],_0x56f457['nodeo']=_0x56efff[_0x14a3db(0xc5,0x14d)],_0x56f457[_0x14a3db(0x104,0x270)]=_0x56efff['argpp'],_0x56f457['mo']=_0x56efff['mp'],_0x11de8c=0x0,_0xc84e4e=0x0,_0x3f22b8=0x0;var _0x29f16b={};_0x29f16b['cosim']=_0x125c67,_0x29f16b['emsq']=_0x376efb,_0x29f16b[_0x3eb247(0xc0,-0x3e)]=_0x56f457['argpo'],_0x29f16b['s1']=_0x30bc20,_0x29f16b['s2']=_0x162e8d,_0x29f16b['s3']=_0x286bcc,_0x29f16b['s4']=_0x1f38cb,_0x29f16b['s5']=_0x2143a2,_0x29f16b['sinim']=_0x143ade,_0x29f16b['ss1']=_0x411e3a,_0x29f16b['ss2']=_0x22a1cd,_0x29f16b['ss3']=_0x187e96,_0x29f16b['ss4']=_0x58d61c,_0x29f16b[_0x3eb247(0x2b4,0x145)]=_0x2eb674,_0x29f16b['sz1']=_0x29a6fa,_0x29f16b['sz3']=_0x9b0a6a,_0x29f16b['sz11']=_0x49c842,_0x29f16b[_0x14a3db(0x9e,0x52)]=_0x230327,_0x29f16b[_0x14a3db(0x266,0x3a1)]=_0x113d82,_0x29f16b['sz23']=_0xe1754d,_0x29f16b[_0x3eb247(-0x155,-0xb)]=_0x3c9070,_0x29f16b[_0x14a3db(0x120,0xcd)]=_0x17aaa3,_0x29f16b['t']=_0x56f457['t'],_0x29f16b['tc']=_0x5af267,_0x29f16b[_0x3eb247(-0x51,-0xc2)]=_0x56f457['gsto'],_0x29f16b['mo']=_0x56f457['mo'],_0x29f16b['mdot']=_0x56f457[_0x3eb247(0x86,0xd0)],_0x29f16b['no']=_0x56f457['no'],_0x29f16b['nodeo']=_0x56f457['nodeo'],_0x29f16b['nodedot']=_0x56f457['nodedot'],_0x29f16b['xpidot']=_0x3b035b,_0x29f16b['z1']=_0xb9fcee,_0x29f16b['z3']=_0x566ce9,_0x29f16b['z11']=_0x4c621e,_0x29f16b['z13']=_0x2c602e,_0x29f16b['z21']=_0x1e2c69,_0x29f16b['z23']=_0x2568be,_0x29f16b['z31']=_0xfd9496,_0x29f16b['z33']=_0x295d1a,_0x29f16b['ecco']=_0x56f457[_0x14a3db(0x176,0x45)],_0x29f16b['eccsq']=_0x1bcc93,_0x29f16b['em']=_0x59884e,_0x29f16b['argpm']=_0x11de8c,_0x29f16b['inclm']=_0x2c3f82,_0x29f16b['mm']=_0x3f22b8,_0x29f16b['nm']=_0x98d79f,_0x29f16b[_0x14a3db(0x86,0x1e3)]=_0xc84e4e,_0x29f16b['irez']=_0x56f457[_0x3eb247(0x150,0x11a)],_0x29f16b[_0x14a3db(0x296,0x38b)]=_0x56f457['atime'],_0x29f16b['d2201']=_0x56f457[_0x14a3db(0x2ee,0x437)],_0x29f16b[_0x3eb247(0xed,0x176)]=_0x56f457['d2211'],_0x29f16b['d3210']=_0x56f457['d3210'],_0x29f16b['d3222']=_0x56f457[_0x3eb247(0x9c,-0x62)],_0x29f16b['d4410']=_0x56f457[_0x14a3db(0x2fc,0x26c)],_0x29f16b['d4422']=_0x56f457['d4422'],_0x29f16b['d5220']=_0x56f457[_0x14a3db(0x1ae,0x313)],_0x29f16b['d5232']=_0x56f457[_0x14a3db(0x2a9,0x37a)],_0x29f16b['d5421']=_0x56f457[_0x14a3db(0xef,0x1a7)],_0x29f16b[_0x14a3db(0x2ae,0x24e)]=_0x56f457['d5433'],_0x29f16b[_0x3eb247(0x189,0x82)]=_0x56f457['dedt'],_0x29f16b[_0x14a3db(0x1ed,0x16f)]=_0x56f457[_0x3eb247(0x5a,0xab)],_0x29f16b['dmdt']=_0x56f457['dmdt'],_0x29f16b[_0x3eb247(0x158,0xaf)]=_0x56f457[_0x14a3db(0x1f1,0x34f)],_0x29f16b[_0x3eb247(0x14c,0x85)]=_0x56f457['domdt'],_0x29f16b['del1']=_0x56f457[_0x3eb247(-0x214,-0xf4)],_0x29f16b['del2']=_0x56f457[_0x3eb247(0x49,-0x11)],_0x29f16b[_0x3eb247(0x1c4,0xc6)]=_0x56f457[_0x14a3db(0x208,0xaa)],_0x29f16b['xfact']=_0x56f457['xfact'],_0x29f16b['xlamo']=_0x56f457[_0x3eb247(0x1fa,0x15c)],_0x29f16b[_0x14a3db(0x310,0x3e1)]=_0x56f457['xli'],_0x29f16b['xni']=_0x56f457['xni'];var _0x190fd8=_0x29f16b,_0xf156ec=dsinit$1(_0x190fd8);_0x56f457['irez']=_0xf156ec['irez'],_0x56f457['atime']=_0xf156ec[_0x14a3db(0x296,0x241)],_0x56f457['d2201']=_0xf156ec[_0x14a3db(0x2ee,0x1f6)],_0x56f457['d2211']=_0xf156ec[_0x14a3db(0x2b8,0x1c8)],_0x56f457['d3210']=_0xf156ec['d3210'],_0x56f457['d3222']=_0xf156ec['d3222'],_0x56f457['d4410']=_0xf156ec['d4410'],_0x56f457['d4422']=_0xf156ec['d4422'],_0x56f457['d5220']=_0xf156ec[_0x3eb247(-0x82,0x6c)],_0x56f457[_0x14a3db(0x2a9,0x24c)]=_0xf156ec[_0x3eb247(0x94,0x167)],_0x56f457[_0x3eb247(0x21,-0x53)]=_0xf156ec['d5421'],_0x56f457['d5433']=_0xf156ec[_0x14a3db(0x2ae,0x35e)],_0x56f457['dedt']=_0xf156ec[_0x14a3db(0x1c4,0x2ff)],_0x56f457['didt']=_0xf156ec['didt'],_0x56f457['dmdt']=_0xf156ec['dmdt'],_0x56f457[_0x14a3db(0x1f1,0x27d)]=_0xf156ec['dnodt'],_0x56f457['domdt']=_0xf156ec['domdt'],_0x56f457[_0x3eb247(-0x76,-0xf4)]=_0xf156ec['del1'],_0x56f457[_0x14a3db(0x131,0x216)]=_0xf156ec['del2'],_0x56f457['del3']=_0xf156ec['del3'],_0x56f457['xfact']=_0xf156ec[_0x3eb247(0xc1,0x17)],_0x56f457['xlamo']=_0xf156ec['xlamo'],_0x56f457[_0x3eb247(0x24d,0x1ce)]=_0xf156ec['xli'],_0x56f457['xni']=_0xf156ec[_0x3eb247(-0x9e,0x28)];}_0x56f457['isimp']!==0x1&&(_0x205184=_0x56f457[_0x3eb247(-0xcc,-0x1c)]*_0x56f457[_0x3eb247(0x37,-0x1c)],_0x56f457['d2']=0x4*_0x5964f2*_0x2fe94f*_0x205184,_0x3bdbe1=_0x56f457['d2']*_0x2fe94f*_0x56f457['cc1']/0x3,_0x56f457['d3']=(0x11*_0x5964f2+_0x484e37)*_0x3bdbe1,_0x56f457['d4']=0.5*_0x3bdbe1*_0x5964f2*_0x2fe94f*(0xdd*_0x5964f2+0x1f*_0x484e37)*_0x56f457[_0x3eb247(-0xbc,-0x1c)],_0x56f457[_0x3eb247(0xf3,0x144)]=_0x56f457['d2']+0x2*_0x205184,_0x56f457[_0x14a3db(0x2b7,0x381)]=0.25*(0x3*_0x56f457['d3']+_0x56f457['cc1']*(0xc*_0x56f457['d2']+0xa*_0x205184)),_0x56f457['t5cof']=0.2*(0x3*_0x56f457['d4']+0xc*_0x56f457[_0x14a3db(0x126,0xb2)]*_0x56f457['d3']+0x6*_0x56f457['d2']*_0x56f457['d2']+0xf*_0x205184*(0x2*_0x56f457['d2']+_0x205184)));}sgp4$1(_0x56f457,0x0),_0x56f457[_0x14a3db(0x21e,0x2e2)]='n';}function twoline2satrec$1(_0x4bb5ee,_0x54230f){var _0x507183='i',_0xf3e3f=0x5a0/(0x2*pi$1),_0x24b81d=0x0,_0x3b7b77={};function _0xd2e652(_0x3deee0,_0x48f122){return _0x4a554d(_0x3deee0- -0x134,_0x48f122);}function _0x45d1b7(_0x58aaf7,_0x291aba){return _0x4a554d(_0x291aba- -0x278,_0x58aaf7);}_0x3b7b77['error']=0x0,_0x3b7b77[_0xd2e652(0x70,0x186)]=_0x4bb5ee['substring'](0x2,0x7),_0x3b7b77[_0xd2e652(0x198,0x159)]=parseInt(_0x4bb5ee[_0xd2e652(0x1b5,0x20f)](0x12,0x14),0xa),_0x3b7b77['epochdays']=parseFloat(_0x4bb5ee['substring'](0x14,0x20)),_0x3b7b77[_0x45d1b7(0x18,-0x10b)]=parseFloat(_0x4bb5ee['substring'](0x21,0x2b)),_0x3b7b77['nddot']=parseFloat('.'[_0xd2e652(0x12,0x4f)](parseInt(_0x4bb5ee['substring'](0x2c,0x32),0xa),'E')[_0xd2e652(0x12,0x134)](_0x4bb5ee['substring'](0x32,0x34))),_0x3b7b77[_0xd2e652(0x60,-0x34)]=parseFloat(''['concat'](_0x4bb5ee[_0x45d1b7(0x1b1,0x71)](0x35,0x36),'.')[_0xd2e652(0x12,0x102)](parseInt(_0x4bb5ee['substring'](0x36,0x3b),0xa),'E')[_0xd2e652(0x12,-0x84)](_0x4bb5ee['substring'](0x3b,0x3d))),_0x3b7b77[_0xd2e652(0x12a,0x7a)]=parseFloat(_0x54230f[_0xd2e652(0x1b5,0x206)](0x8,0x10)),_0x3b7b77['nodeo']=parseFloat(_0x54230f['substring'](0x11,0x19)),_0x3b7b77[_0x45d1b7(-0x5a,-0x101)]=parseFloat('.'['concat'](_0x54230f[_0xd2e652(0x1b5,0xbe)](0x1a,0x21))),_0x3b7b77[_0x45d1b7(-0x168,-0x173)]=parseFloat(_0x54230f[_0x45d1b7(0x95,0x71)](0x22,0x2a)),_0x3b7b77['mo']=parseFloat(_0x54230f[_0xd2e652(0x1b5,0x100)](0x2b,0x33)),_0x3b7b77['no']=parseFloat(_0x54230f['substring'](0x34,0x3f)),_0x3b7b77['no']/=_0xf3e3f,_0x3b7b77['inclo']*=deg2rad$1,_0x3b7b77[_0xd2e652(0xec,0x1a7)]*=deg2rad$1,_0x3b7b77['argpo']*=deg2rad$1,_0x3b7b77['mo']*=deg2rad$1;_0x3b7b77['epochyr']<0x39?_0x24b81d=_0x3b7b77['epochyr']+0x7d0:_0x24b81d=_0x3b7b77['epochyr']+0x76c;var _0x1a754c=days2mdhms$1(_0x24b81d,_0x3b7b77[_0x45d1b7(-0x26,-0x9d)]),_0x4af9f3=_0x1a754c['mon'],_0x3f956f=_0x1a754c['day'],_0xc1e4d1=_0x1a754c['hr'],_0x360892=_0x1a754c['minute'],_0x137ca3=_0x1a754c['sec'];return _0x3b7b77['jdsatepoch']=jday$1(_0x24b81d,_0x4af9f3,_0x3f956f,_0xc1e4d1,_0x360892,_0x137ca3),sgp4init$1(_0x3b7b77,{'opsmode':_0x507183,'satn':_0x3b7b77['satnum'],'epoch':_0x3b7b77['jdsatepoch']-2433281.5,'xbstar':_0x3b7b77['bstar'],'xecco':_0x3b7b77[_0x45d1b7(-0xf6,-0x101)],'xargpo':_0x3b7b77[_0x45d1b7(-0x27,-0x173)],'xinclo':_0x3b7b77['inclo'],'xmo':_0x3b7b77['mo'],'xno':_0x3b7b77['no'],'xnodeo':_0x3b7b77[_0xd2e652(0xec,0x39)]}),_0x3b7b77;}function _toConsumableArray$1(_0x50585c){return _arrayWithoutHoles$1(_0x50585c)||_iterableToArray$1(_0x50585c)||_unsupportedIterableToArray$1(_0x50585c)||_nonIterableSpread$1();}function _arrayWithoutHoles$1(_0x8c52a8){function _0x1f288a(_0x4b3d8b,_0x1f2fc1){return _0x4c8020(_0x4b3d8b- -0x33c,_0x1f2fc1);}if(Array[_0x1f288a(-0xa6,-0x124)](_0x8c52a8))return _arrayLikeToArray$1(_0x8c52a8);}function _iterableToArray$1(_0x360af0){function _0x2ed64c(_0x2d5cdb,_0xffaecb){return _0x4c8020(_0xffaecb-0x20c,_0x2d5cdb);}if(typeof Symbol!==_0x2ed64c(0x354,0x4b4)&&_0x360af0[Symbol['iterator']]!=null||_0x360af0['@@iterator']!=null)return Array['from'](_0x360af0);}function _unsupportedIterableToArray$1(_0x4173f1,_0x3868e0){if(!_0x4173f1)return;if(typeof _0x4173f1==='string')return _arrayLikeToArray$1(_0x4173f1,_0x3868e0);var _0x2a7ef4=Object['prototype']['toString'][_0x49dc69(0xbf,0x48)](_0x4173f1)[_0x57e221(0x61b,0x6ba)](0x8,-0x1);if(_0x2a7ef4===_0x49dc69(0x15b,0xc9)&&_0x4173f1[_0x57e221(0x4c2,0x5c5)])_0x2a7ef4=_0x4173f1[_0x57e221(0x4c2,0x3b8)]['name'];function _0x57e221(_0x1622ab,_0x42c317){return _0x4c8020(_0x1622ab-0x143,_0x42c317);}function _0x49dc69(_0x3f44e7,_0x43b151){return _0x4a554d(_0x3f44e7- -0x1a,_0x43b151);}if(_0x2a7ef4==='Map'||_0x2a7ef4==='Set')return Array[_0x57e221(0x418,0x475)](_0x4173f1);if(_0x2a7ef4==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/['test'](_0x2a7ef4))return _arrayLikeToArray$1(_0x4173f1,_0x3868e0);}function _arrayLikeToArray$1(_0x4cf362,_0x31c022){function _0x4f3c45(_0x546692,_0x3bca81){return _0x4c8020(_0x546692-0x145,_0x3bca81);}if(_0x31c022==null||_0x31c022>_0x4cf362[_0x4f3c45(0x47c,0x30d)])_0x31c022=_0x4cf362['length'];for(var _0x344fda=0x0,_0x2a3c6e=new Array(_0x31c022);_0x344fda<_0x31c022;_0x344fda++)_0x2a3c6e[_0x344fda]=_0x4cf362[_0x344fda];return _0x2a3c6e;}function _0x594f(){var _0x6d2c99=['4271607xEEQxw','tle','_addGroundPolyEntity','sec','passes','subSegmentH','subSegmentV','gtTheta','_length','getRayEarthLength','path','_ground_radius','values','_getEciPositionAndVelocity','convex','GraphicUtil','xfact','radius','modelMatrix','computeChecksum','multiplyByVector','translucent','ss3','JammingRadar','Tle','myindexs','_show','_pitchRadians','ConicSensor','outline','aycof','name','hasJammer','xni','length','ndot','_updatePosition','getFirstTimeDerivative','normal','_destroyCommands','_position','SatelliteSensor','Ray','Object','_geometry','ecco','radiansToDegrees','outlineColor','argpdot','join','getSatelliteName','_NAN','EventType','Semi-latus\x20rectum\x20<\x200.0','topSteps','renderState','sin','_getDrawPointEntityClass','graphic','vkmpersec','_volumeGeometry','lineCommand','BufferUsage','color','twoPi','_startFovH','pickOnly','_modelMatrix','fromVertices','_slices','getPoint','abs','horizontal','Matrix4','bstar','_arrOutlineColor','xl4','_subSegmentV','fixedJammingRadar','PRE_MULTIPLIED_ALPHA_BLEND','PrimitiveType','value','unpack','attr','Satellite','xlcof','getDefaultRenderState','rtemsq','_angle','TimeIntervalCollection','satnum','xpidot','xgh2','exports','_dRadarMaxDis','yji','getPerigee','topHeight','_bottomWidth','getOrbitTrack','11508592jXuHTR','d5220','getRayEarthPosition','now','getOrbitModel','_bottomHeight','constructor','HeadingPitchRoll','getIntDesignatorYear','DOUBLE','options','degrees','tle1','ReferenceFrame','sz3','sz12','_calcSumJammer','_updateVertexs','geometryLength','slices','getMeanAnomaly','_satrec','cospar','dedt','z23','parseTLE','domdt','_primitive_outline','se3','_sceneMode_last','array','calculateOrbitPoints','angle2','ss7','_parseTLE','cos','revNumberAtEpoch','_startFovV','perigee','pgho','rayPosition','timeRange','interpolationAlgorithm','getCesiumColor','_CHAR','epochdays','czmObject','si3','replaceCache','_primitive','xmcof','magnitude','_toJSON_Ex','shadowShow','ShaderSource','red','getHeadingPitchRollForLine','_updateGroundEntityVal','Util','isInteger','_rollRadians','_initSampledPositionProperty','blue','pitchRadians','didt','_updatePositionsHook','_removedHook','Rect','dnodt','multiplyTransformation','topPositions','fromCache','z22','jammers','remove','x1mth2','_createLeftCrossSectionCommand','si2','_jammerList','Mean\x20motion\x20less\x20than\x200.0','start','create','repeat','time','period_time','_time_path_end','getCacheSizes','opacity','_clearDrawCommand','SCENE3D','939756amxMgt','del3','VertexArray','Conic','meanMotion','map','MarsArray','getMeanMotion','_updateAvailabilityHook','maxTimeMS','10qyTqkr','mdot','_ground_showPolygon','getClassification','Latitude\x20radians\x20must\x20be\x20in\x20range\x20[-pi/2;\x20pi/2].','_clearGeometry','Transforms','topShow','topPsts','xi2','pho','list','STATIC_DRAW','init','nodeo','Cartesian3','alta','geometry','Cesium','forEach','_removeChildGraphic','_clusterShowHook','_color','_reverse','roll','JulianDate','toCartesian','angle','PolygonHierarchy','ShaderProgram','angle1','prototype','_createRawCommand','rteosq','rightAscension','_time_current','initBoundingSphere','hpr','_topHeight','dBeta','cross','fromTranslationQuaternionRotationScale','boundingSphere','groundAreaPositions','RenderState','1084157VzHeKr','primitiveType','sz1','isNumber','ss1','RectSensor','IDENTITY','j3oj2','context','clone','36Wpwwdi','xargpo','NaN','computeTemeToPseudoFixedMatrix','_positionCartesian','_endFovH','getTopOutlineGeometry','resolve','sqrt','Unknown','_topOutlineShow','apply','has','ss4','pinco','_quaternion','equals','_updateCone','ecfToLookAngles','x7thm1','irez','inclo','bji','Math','commandList','clearPosition','sz23','bottomRadius','DrawCommand','postUpdate','sz21','_groundPolyColor','t2cof','dmdt','Matrix3','clearTLEParseCache','sl3','alt','satn','getOwnPropertyDescriptor','meanAnomaly','topZ','zmos','getJammer','Tle.getPosition:Reference\x20frame\x20transformation\x20data\x20failed\x20to\x20load','Log','elevation','startFovV','ss2','_segmentV','Set','push','_endFovV','set','freeze','bstarDrag','se2','eciToGeodetic','\x0a#ifdef\x20GL_ES\x0aprecision\x20highp\x20float;\x0a#endif\x0a\x0ain\x20vec3\x20position;\x0ain\x20vec3\x20normal;\x0a\x0aout\x20vec3\x20v_positionEC;\x0aout\x20vec3\x20v_normalEC;\x0a\x0avoid\x20main(void)\x20{\x0a\x20\x20v_positionEC\x20=\x20(czm_modelView\x20*\x20vec4(position,\x201.0)).xyz;\x0a\x20\x20v_normalEC\x20=\x20czm_normal\x20*\x20normal;\x0a\x20\x20gl_Position\x20=\x20czm_modelViewProjection\x20*\x20vec4(position,\x201.0);\x0a}\x0a','_readyPromise','endFovH','stepMS','t3cof','ss5','2snhTTz','getCatalogNumber','invjday','slicesR','omgcof','enabled','boundingVolume','cone','Satellite\x20has\x20decayed','_mapJamDir2Sum','split','_matrix','updateModelMatrix','xh3','atime','ss6','bottomHeight','pitch','period','z32','success','setInterpolationOptions','xlamo','TimeInterval','direction','addTo','_attributes_positions','z33','multiplyByPoint','bottomCenter','origin','getRevNumberAtEpoch','zmol','d5232','inclp','rollRadians','_outlineColor','bindPickId','d5433','_outline','_getPostVec3','calculate_cam_sight','_ground_showCircle','fromGeometry','cosomm','endFovV','tan','t4cof','d2211','getEciPosition','_addGroundEntity','ArcType','_outlinePositions','subtract','__proto__','innerFovRadiusPairs','startsWith','_getColorArray','defined','_sensorType_last','setOpacity','_angle1','getEcfPosition','\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20in\x20vec4\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20void\x20main()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20out_FragColor\x20=\x20v_color;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}','green','sh2','flyTo','epochyr','operationmode','minute','_positions_draw','_map','longitude','_rayEllipsoid','vertexArray','fromQuaternion','BlendingState','sz32','fragmentShaderSource','cosio','czm_pickColor','eta','show','jdsatepoch','extend2CartesianArrayZC','_arrColor','string','theta05','xbstar','_setOptionsHook','Satellite:\x20period\x20is\x20null','method','5044295wNvuTo','needsUpdate','fixedFrameTransform','_updateStyleHook','substring','cc5','createOutlineGeometry','removeGraphic','toDate','575184jnrRrY','d2201','lng','gji','sz22','All','firstTimeDerivative','_intersectEllipsoid','cosio2','sz2','xnodeo','geodeticToEcf','getSecondTimeDerivative','test','primitiveCollection','d4410','GeometryAttribute','getOrbitTrackSync','#ffffff','destroy','sgh4','transform','outlineOpacity','sinio','getValue','inclination','add','con41','pow','_pitch_reality','sl2','slice','entities','_headingRadians','Character\x20array\x20empty!','xli','],\x20but\x20got\x20','updateGeometry','peo','toArray','coneShow','SceneMode','tle2','dAlpha','lambda','toString','isSimpleType','currentTime','degreesToRadians','addGraphic','Quaternion','cnodm','gstime','BasePointPrimitive','arr','_sensorType','_createRadarPrimitive','rangeSat','cosim','Geometry','createPickFragmentShaderSource','azimuth','_topOutlineGeometry','Part','topS','getUTCMonth','Cartesian2','nodedot','readyPromise','_enabledDraw','nodecf','dopplerFactor','mon','getAverageOrbitTimeS','toRadians','intDesignatorYear','stopEditing','rji','register','startFovH','del1','computeMatrix','logWarn','xgh3','_groundArea','_angle1_last','autoColor','argpm','_OBJECT','positions','_pickCommands','xecco','fromDate','fov','getRotation','hideRayEllipsoid','xl2','flyToPoint','zReverse','z12','fromCartesian','sinim','_length_last','ainv','jammingRadar','Color','1267700nkraNC','position','indices','_drawCommands','_angle2','satellite','reverse','_tle','default','gmst','next','propagate','createVertexBuffer','disturbRatio','globalAlpha','_createGeometry','lerp','type','_topShow','_coneList','marsColor','getCatalogNumber2','epoch','getIntDesignatorLaunchNumber','gsto','fromArray','emsq','rayEllipsoid','substr','scale','nodem','isimp','_createRightCrossSectionCommand','_getDrawEntityClass','get','getUTCMinutes','extend2Earth','sensorType','_DECIMAL_ASSUMED','vao','getTime','command','d3210','altp','pickId','_time_path_start','sgh2','day','_layer','yyyy-MM-dd\x20HH:mm:ss','concavity','plo','IndexDatatype','getAverageOrbitTimeMS','sz13','getAreaCoords','withAlpha','max','_globalAlpha','lookAt','ee2','_replaceFragmentShaderSourceByStyle','FLOAT','createPickId','sh3','_computeGroundConePositions','_pointsNum','Longitude\x20degrees\x20must\x20be\x20in\x20range\x20[-180;\x20180].','CamberRadar','topOutlineShow','floor','createAttributeLocations','getCzmPositionByEciPosition','ecfToEci','_boundingSphere','getUTCHours','inclm','addJammers','Buffer','fromHeadingPitchRoll','z11','_isDisturb','LINES','point','Material','startRadius','groundPosition','isString','_child','_property','uniformMap','lbcenter','xgh4','nodep','_zReverse','getRayEarthPositions','tle2coe','TRIANGLES','isArray','compass','Input\x20object\x20is\x20malformed\x20(should\x20have\x20name\x20and\x20tle\x20properties).','lat','_createInnerCurveCommand','mode','tleSetNumber','_getJammerDistance','style','xl3','_hintPotsNum','ZERO','eccentricity','z21','call','outerFovRadiusPairs','_imagingAreaPositions','updateVolumeGeometry','undefined','sinmao','PointUtil','createGeometry','d3222','degreesLat','_command','closed','d4422','createDrawCommand','fourPposition','startTimeMS','all','drawShow','_outlineGeometry','_rayEllipsoidType','update','getPosition','None','d5421','getUTCMilliseconds','TRANSLUCENT','getPositionValue','z13','BoundingSphere','attributes','dndt','_times','topRadius','cc4','argpp','_addedHook','owner','_scale','flat','referenceFrame','getTopGeometry','t5cof','_arrVerticesPos','_segmentH','argpo','pitchOffset','getCesiumValue','headingRadians','vertexs','from','sz11','isLngLatFormat','Mean\x20elements,\x20ecc\x20>=\x201.0\x20or\x20ecc\x20<\x20-0.001\x20or\x20a\x20<\x200.95\x20er','sgh3','includes','hasOwnProperty','_ARRAY','Appearance','matrix','contains','heading','_groundEntity','1/1/','height','shaderProgram','velocity','GeometryPipeline','_commands','opsmode','fromAnglesLength','latitude','toFixed','sz33','gam','CallbackProperty','z31','error','alpha','cc1','_innerFovRadiusPairs','ComponentDatatype','xi3','Pass','delmo','_INT','keys','eccsq','_topWidth','_groundPolyEntity','del2','topWidth','xh2','radiansLat','sl4','bottomWidth','sz31','distance','_volumeOutlineGeometry','__esModule','defineProperty','_translation','_subSegmentH','toDegrees','destroyObject','render','atan2','ellipsoid','getGroundTracks','posq','concat','_FLOAT','lonlats2cartesians','pass'];_0x594f=function(){return _0x6d2c99;};return _0x594f();}function _nonIterableSpread$1(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function propagate$1(){for(var _0x46e18a=arguments['length'],_0x32ff08=new Array(_0x46e18a),_0x56808d=0x0;_0x56808d<_0x46e18a;_0x56808d++){_0x32ff08[_0x56808d]=arguments[_0x56808d];}var _0x40769e=_0x32ff08[0x0],_0x3c7771=Array['prototype']['slice']['call'](_0x32ff08,0x1),_0x159cb8=jday$1['apply'](void 0x0,_toConsumableArray$1(_0x3c7771)),_0x14833e=(_0x159cb8-_0x40769e['jdsatepoch'])*minutesPerDay$1;return sgp4$1(_0x40769e,_0x14833e);}function dopplerFactor$1(_0x4b7052,_0x69f18f,_0x524ecc){var _0x5e594e=0.00007292115;function _0x3fa11c(_0x45ff54,_0x22576a){return _0x4c8020(_0x22576a- -0x1b0,_0x45ff54);}var _0x318753=299792.458,_0x1db261={};_0x1db261['x']=_0x69f18f['x']-_0x4b7052['x'],_0x1db261['y']=_0x69f18f['y']-_0x4b7052['y'],_0x1db261['z']=_0x69f18f['z']-_0x4b7052['z'];var _0x4ebab6=_0x1db261;_0x4ebab6['w']=Math[_0x3fa11c(0x206,0x26c)](Math[_0x40a6f0(0x44a,0x39a)](_0x4ebab6['x'],0x2)+Math['pow'](_0x4ebab6['y'],0x2)+Math[_0x40a6f0(0x226,0x39a)](_0x4ebab6['z'],0x2));var _0x482102={};_0x482102['x']=_0x524ecc['x']+_0x5e594e*_0x4b7052['y'],_0x482102['y']=_0x524ecc['y']-_0x5e594e*_0x4b7052['x'],_0x482102['z']=_0x524ecc['z'];function _0x40a6f0(_0x4dc6e3,_0x362850){return _0x4a554d(_0x362850-0x90,_0x4dc6e3);}var _0x3f8740=_0x482102;function _0x8028d(_0x3e07e1){return _0x3e07e1>=0x0?0x1:-0x1;}var _0x2383ba=(_0x4ebab6['x']*_0x3f8740['x']+_0x4ebab6['y']*_0x3f8740['y']+_0x4ebab6['z']*_0x3f8740['z'])/_0x4ebab6['w'];return 0x1+_0x2383ba/_0x318753*_0x8028d(_0x2383ba);}function radiansToDegrees$1(_0x556530){return _0x556530*rad2deg$1;}function degreesToRadians$1(_0x1ec8e3){return _0x1ec8e3*deg2rad$1;}function degreesLat$1(_0x14d454){if(_0x14d454<-pi$1/0x2||_0x14d454>pi$1/0x2)throw new RangeError(_0x36ab24(-0x5b,0x8));function _0x36ab24(_0xefb6d2,_0x4a0e96){return _0x4a554d(_0x4a0e96- -0x20e,_0xefb6d2);}return radiansToDegrees$1(_0x14d454);}function degreesLong$1(_0x43030a){if(_0x43030a<-pi$1||_0x43030a>pi$1)throw new RangeError('Longitude\x20radians\x20must\x20be\x20in\x20range\x20[-pi;\x20pi].');return radiansToDegrees$1(_0x43030a);}function radiansLat$1(_0x15b485){if(_0x15b485<-0x5a||_0x15b485>0x5a)throw new RangeError('Latitude\x20degrees\x20must\x20be\x20in\x20range\x20[-90;\x2090].');return degreesToRadians$1(_0x15b485);}function radiansLong$1(_0xce5617){if(_0xce5617<-0xb4||_0xce5617>0xb4)throw new RangeError('Longitude\x20degrees\x20must\x20be\x20in\x20range\x20[-180;\x20180].');return degreesToRadians$1(_0xce5617);}function geodeticToEcf$1(_0x4cbd55){var _0x4e5c07=_0x4cbd55[_0x300629(0xe8,-0x79)],_0x105b69=_0x4cbd55['latitude'],_0x4c85d9=_0x4cbd55[_0x262302(0x2a8,0x1e8)],_0x5c9acf=6378.137,_0x4e52e9=6356.7523142,_0x57567c=(_0x5c9acf-_0x4e52e9)/_0x5c9acf,_0x225379=0x2*_0x57567c-_0x57567c*_0x57567c,_0x429257=_0x5c9acf/Math['sqrt'](0x1-_0x225379*(Math['sin'](_0x105b69)*Math[_0x300629(-0x88,-0x1c8)](_0x105b69))),_0x22c60d=(_0x429257+_0x4c85d9)*Math['cos'](_0x105b69)*Math['cos'](_0x4e5c07),_0x4c5de0=(_0x429257+_0x4c85d9)*Math['cos'](_0x105b69)*Math[_0x300629(-0x290,-0x1c8)](_0x4e5c07),_0x558c6b=(_0x429257*(0x1-_0x225379)+_0x4c85d9)*Math['sin'](_0x105b69),_0xef08de={};function _0x262302(_0x449b0e,_0x8d4dc7){return _0x4a554d(_0x8d4dc7-0xd0,_0x449b0e);}_0xef08de['x']=_0x22c60d,_0xef08de['y']=_0x4c5de0;function _0x300629(_0x4bc766,_0x4895d5){return _0x4c8020(_0x4895d5- -0x515,_0x4bc766);}return _0xef08de['z']=_0x558c6b,_0xef08de;}function eciToGeodetic$1(_0x4a4e8d,_0x492fe7){var _0xe5a8a4=6378.137,_0x583d6e=6356.7523142,_0x2247a6=Math['sqrt'](_0x4a4e8d['x']*_0x4a4e8d['x']+_0x4a4e8d['y']*_0x4a4e8d['y']),_0x3e6eb9=(_0xe5a8a4-_0x583d6e)/_0xe5a8a4,_0x33e5b3=0x2*_0x3e6eb9-_0x3e6eb9*_0x3e6eb9,_0x3bc694=Math['atan2'](_0x4a4e8d['y'],_0x4a4e8d['x'])-_0x492fe7;while(_0x3bc694<-pi$1){_0x3bc694+=twoPi$1;}while(_0x3bc694>pi$1){_0x3bc694-=twoPi$1;}var _0x104a40=0x14,_0x303e04=0x0,_0x5ef6e9=Math['atan2'](_0x4a4e8d['z'],Math[_0x5af4d9(0x17e,0xcc)](_0x4a4e8d['x']*_0x4a4e8d['x']+_0x4a4e8d['y']*_0x4a4e8d['y'])),_0x56feb4;while(_0x303e04<_0x104a40){_0x56feb4=0x1/Math['sqrt'](0x1-_0x33e5b3*(Math[_0x540533(-0x1ab,-0x30c)](_0x5ef6e9)*Math[_0x5af4d9(0xaf,0x13b)](_0x5ef6e9))),_0x5ef6e9=Math['atan2'](_0x4a4e8d['z']+_0xe5a8a4*_0x56feb4*_0x33e5b3*Math['sin'](_0x5ef6e9),_0x2247a6),_0x303e04+=0x1;}function _0x540533(_0x38501d,_0x45617e){return _0x4a554d(_0x38501d- -0x32d,_0x45617e);}var _0x3ef09b=_0x2247a6/Math['cos'](_0x5ef6e9)-_0xe5a8a4*_0x56feb4,_0x2c8d5a={};_0x2c8d5a['longitude']=_0x3bc694;function _0x5af4d9(_0x2d8225,_0x1578f6){return _0x4c8020(_0x2d8225- -0x29e,_0x1578f6);}return _0x2c8d5a['latitude']=_0x5ef6e9,_0x2c8d5a['height']=_0x3ef09b,_0x2c8d5a;}function ecfToEci$1(_0x1822db,_0x3ab858){var _0x3496a8=_0x1822db['x']*Math['cos'](_0x3ab858)-_0x1822db['y']*Math['sin'](_0x3ab858),_0x526b82=_0x1822db['x']*Math['sin'](_0x3ab858)+_0x1822db['y']*Math[_0x397b4c(0x280,0x21f)](_0x3ab858),_0x278de5=_0x1822db['z'],_0x3ee188={};function _0x397b4c(_0x19c9d1,_0x5a08be){return _0x4a554d(_0x5a08be-0x4e,_0x19c9d1);}return _0x3ee188['x']=_0x3496a8,_0x3ee188['y']=_0x526b82,_0x3ee188['z']=_0x278de5,_0x3ee188;}function eciToEcf$1(_0x2f493e,_0x13aa8d){var _0x3d20c5=_0x2f493e['x']*Math[_0x2c36c5(0x4ce,0x5ff)](_0x13aa8d)+_0x2f493e['y']*Math['sin'](_0x13aa8d),_0xfcd373=_0x2f493e['x']*-Math[_0x1bae23(0x21e,0xf8)](_0x13aa8d)+_0x2f493e['y']*Math['cos'](_0x13aa8d),_0x50dab1=_0x2f493e['z'],_0x501696={};function _0x2c36c5(_0x39e55b,_0x1e3ade){return _0x4a554d(_0x1e3ade-0x42e,_0x39e55b);}_0x501696['x']=_0x3d20c5,_0x501696['y']=_0xfcd373,_0x501696['z']=_0x50dab1;function _0x1bae23(_0x1541f8,_0x5756af){return _0x4a554d(_0x1541f8-0x9c,_0x5756af);}return _0x501696;}function topocentric$1(_0x4e71f7,_0x525a1f){var _0x1e8fd4=_0x4e71f7['longitude'],_0x115386=_0x4e71f7['latitude'],_0x5f1b8a=geodeticToEcf$1(_0x4e71f7),_0x487e00=_0x525a1f['x']-_0x5f1b8a['x'],_0x23cd68=_0x525a1f['y']-_0x5f1b8a['y'],_0x646532=_0x525a1f['z']-_0x5f1b8a['z'];function _0x120e0f(_0x405119,_0x4cd216){return _0x4a554d(_0x405119-0xf1,_0x4cd216);}var _0x27cc11=Math[_0xc3582b(0x38d,0x3ac)](_0x115386)*Math['cos'](_0x1e8fd4)*_0x487e00+Math[_0x120e0f(0x273,0x12d)](_0x115386)*Math['sin'](_0x1e8fd4)*_0x23cd68-Math['cos'](_0x115386)*_0x646532,_0x12e4b6=-Math[_0xc3582b(0x2b2,0x3ac)](_0x1e8fd4)*_0x487e00+Math['cos'](_0x1e8fd4)*_0x23cd68,_0x50ce16=Math['cos'](_0x115386)*Math['cos'](_0x1e8fd4)*_0x487e00+Math['cos'](_0x115386)*Math['sin'](_0x1e8fd4)*_0x23cd68+Math[_0xc3582b(0x41b,0x3ac)](_0x115386)*_0x646532,_0x1573cd={};_0x1573cd[_0xc3582b(0x158,0x269)]=_0x27cc11,_0x1573cd['topE']=_0x12e4b6;function _0xc3582b(_0x10759a,_0x364070){return _0x4c8020(_0x364070-0x5f,_0x10759a);}return _0x1573cd[_0x120e0f(0x363,0x4c3)]=_0x50ce16,_0x1573cd;}function topocentricToLookAngles$1(_0x49e22d){var _0x22b847=_0x49e22d['topS'],_0x4277b1=_0x49e22d['topE'],_0x54a02f=_0x49e22d['topZ'],_0xa1cfbc=Math['sqrt'](_0x22b847*_0x22b847+_0x4277b1*_0x4277b1+_0x54a02f*_0x54a02f),_0x3ecf28=Math['asin'](_0x54a02f/_0xa1cfbc);function _0x1a7309(_0xdc6860,_0xf53f8a){return _0x4a554d(_0xf53f8a-0x17f,_0xdc6860);}var _0x4ff27a=Math['atan2'](-_0x4277b1,_0x22b847)+pi$1,_0x94fa3c={};return _0x94fa3c['azimuth']=_0x4ff27a,_0x94fa3c['elevation']=_0x3ecf28,_0x94fa3c[_0x1a7309(0x245,0x1b7)]=_0xa1cfbc,_0x94fa3c;}function _0x4a554d(_0x5ef7b0,_0x41a595){return _0x239d(_0x5ef7b0- -0x4d,_0x41a595);}function ecfToLookAngles$1(_0x5c9491,_0x4788ef){var _0x856d00=topocentric$1(_0x5c9491,_0x4788ef);return topocentricToLookAngles$1(_0x856d00);}var _0x199d7c={};_0x199d7c[_0x4a554d(0x2bf,0x1f9)]=null,_0x199d7c['constants']=constants$1,_0x199d7c['degreesLat']=degreesLat$1,_0x199d7c['degreesLong']=degreesLong$1,_0x199d7c[_0x4c8020(0x1fa,0x18b)]=degreesToRadians$1,_0x199d7c[_0x4c8020(0x211,0x205)]=dopplerFactor$1,_0x199d7c[_0x4a554d(0xb2,0x15d)]=ecfToEci$1,_0x199d7c[_0x4a554d(0x25b,0xf7)]=ecfToLookAngles$1,_0x199d7c['eciToEcf']=eciToEcf$1,_0x199d7c['eciToGeodetic']=eciToGeodetic$1,_0x199d7c[_0x4a554d(0x2f9,0x2fc)]=geodeticToEcf$1,_0x199d7c['gstime']=gstime$1,_0x199d7c[_0x4c8020(0x456,0x5ab)]=invjday$1,_0x199d7c['jday']=jday$1,_0x199d7c[_0x4c8020(0x23f,0x364)]=propagate$1,_0x199d7c[_0x4c8020(0x300,0x397)]=radiansLat$1,_0x199d7c['radiansLong']=radiansLong$1,_0x199d7c[_0x4a554d(0x178,0x261)]=radiansToDegrees$1,_0x199d7c['sgp4']=sgp4$1,_0x199d7c['twoline2satrec']=twoline2satrec$1;var satellite=_0x199d7c,commonjsGlobal=typeof globalThis!==_0x4a554d(0xdd,0x137)?globalThis:typeof window!=='undefined'?window:typeof global!=='undefined'?global:typeof self!==_0x4c8020(0x2a8,0x165)?self:{};function getDefaultExportFromCjs(_0x3f17f1){function _0xd25930(_0x18ec5b,_0x367f86){return _0x4a554d(_0x367f86- -0x174,_0x18ec5b);}function _0x24587a(_0x4ff68b,_0x4d6e2e){return _0x4a554d(_0x4d6e2e-0x236,_0x4ff68b);}return _0x3f17f1&&_0x3f17f1['__esModule']&&Object[_0x24587a(0x4db,0x467)]['hasOwnProperty']['call'](_0x3f17f1,'default')?_0x3f17f1[_0x24587a(0x2b8,0x2a7)]:_0x3f17f1;}function getAugmentedNamespace(_0x350288){if(_0x350288['__esModule'])return _0x350288;var _0x3726ff={};_0x3726ff[_0x45e4f5(0x2ad,0x1ac)]=!![];var _0x11b0ee=Object[_0x45e4f5(0x173,0x14d)]({},_0x2f85fd(-0x138,0x1d),_0x3726ff);function _0x45e4f5(_0x1ca3ed,_0x14f6d1){return _0x4c8020(_0x14f6d1- -0x1ba,_0x1ca3ed);}function _0x2f85fd(_0x54273c,_0x1db802){return _0x4c8020(_0x1db802- -0x2e9,_0x54273c);}return Object['keys'](_0x350288)[_0x45e4f5(0x11f,0x236)](function(_0x56e915){var _0x43b988=Object['getOwnPropertyDescriptor'](_0x350288,_0x56e915);function _0xc1e959(_0x2af674,_0x2e2096){return _0x2f85fd(_0x2e2096,_0x2af674-0x26);}Object['defineProperty'](_0x11b0ee,_0x56e915,_0x43b988[_0xc1e959(-0x6d,-0xf0)]?_0x43b988:{'enumerable':!![],'get':function(){return _0x350288[_0x56e915];}});}),_0x11b0ee;}var _0x532ff9={};_0x532ff9[_0x4c8020(0x372,0x3a4)]={};var tlejs_umd$1=_0x532ff9,pi=Math['PI'],twoPi=pi*0x2,deg2rad=pi/0xb4,rad2deg=0xb4/pi,minutesPerDay=0x5a0,mu=398600.5,earthRadius=6378.137,xke=0x3c/Math[_0x4c8020(0x41c,0x47a)](earthRadius*earthRadius*earthRadius/mu),vkmpersec=earthRadius*xke/0x3c,tumin=0x1/xke,j2=0.00108262998905,j3=-0.00000253215306,j4=-0.00000161098761,j3oj2=j3/j2,x2o3=0x2/0x3,_0x103a72={};_0x103a72[_0x4a554d(0x2bf,0x387)]=null,_0x103a72['pi']=pi,_0x103a72[_0x4a554d(0x18a,0xbe)]=twoPi,_0x103a72['deg2rad']=deg2rad,_0x103a72['rad2deg']=rad2deg,_0x103a72['minutesPerDay']=minutesPerDay,_0x103a72['mu']=mu,_0x103a72['earthRadius']=earthRadius,_0x103a72['xke']=xke,_0x103a72[_0x4c8020(0x350,0x47f)]=vkmpersec,_0x103a72['tumin']=tumin,_0x103a72['j2']=j2,_0x103a72['j3']=j3,_0x103a72['j4']=j4,_0x103a72[_0x4a554d(0x246,0x23b)]=j3oj2,_0x103a72['x2o3']=x2o3;var constants=Object['freeze'](_0x103a72);function days2mdhms(_0x34b663,_0x4a0b1a){var _0x3d5a63=[0x1f,_0x34b663%0x4===0x0?0x1d:0x1c,0x1f,0x1e,0x1f,0x1e,0x1f,0x1f,0x1e,0x1f,0x1e,0x1f],_0x527bec=Math['floor'](_0x4a0b1a),_0x1030f9=0x1,_0x1ef8d3=0x0;while(_0x527bec>_0x1ef8d3+_0x3d5a63[_0x1030f9-0x1]&&_0x1030f9<0xc){_0x1ef8d3+=_0x3d5a63[_0x1030f9-0x1],_0x1030f9+=0x1;}var _0x1fb39b=_0x1030f9,_0x8a5c3a=_0x527bec-_0x1ef8d3,_0x4c795f=(_0x4a0b1a-_0x527bec)*0x18;function _0x4718ec(_0x5b3db5,_0x43cb85){return _0x4c8020(_0x43cb85- -0x20b,_0x5b3db5);}var _0x43e4ae=Math[_0x35d2e2(-0xb3,-0x167)](_0x4c795f);function _0x35d2e2(_0x7a5d50,_0x2dc153){return _0x4a554d(_0x7a5d50- -0x162,_0x2dc153);}_0x4c795f=(_0x4c795f-_0x43e4ae)*0x3c;var _0x4555b9=Math['floor'](_0x4c795f),_0x9776a8=(_0x4c795f-_0x4555b9)*0x3c,_0x5d13d0={};return _0x5d13d0[_0x4718ec(0x114,0x7)]=_0x1fb39b,_0x5d13d0['day']=_0x8a5c3a,_0x5d13d0['hr']=_0x43e4ae,_0x5d13d0[_0x35d2e2(0x16c,0x155)]=_0x4555b9,_0x5d13d0['sec']=_0x9776a8,_0x5d13d0;}function jdayInternal(_0x43fe81,_0x2353ca,_0x5a8db4,_0xc109d,_0x29b668,_0x1cc7f){var _0x513c8e=arguments['length']>0x6&&arguments[0x6]!==undefined?arguments[0x6]:0x0;function _0x5bdc90(_0x12aef6,_0x37391e){return _0x4a554d(_0x37391e- -0x24d,_0x12aef6);}return 0x16f*_0x43fe81-Math['floor'](0x7*(_0x43fe81+Math[_0x5bdc90(-0x154,-0x19e)]((_0x2353ca+0x9)/0xc))*0.25)+Math['floor'](0x113*_0x2353ca/0x9)+_0x5a8db4+1721013.5+((_0x513c8e/0xea60+_0x1cc7f/0x3c+_0x29b668)/0x3c+_0xc109d)/0x18;}function jday(_0x2e688f,_0x50e5ab,_0x178fc9,_0x549da9,_0x30f46d,_0x5c9a2d,_0x23932f){if(_0x2e688f instanceof Date){var _0x541a6f=_0x2e688f;return jdayInternal(_0x541a6f['getUTCFullYear'](),_0x541a6f[_0x40333b(0x209,0x1b9)]()+0x1,_0x541a6f['getUTCDate'](),_0x541a6f[_0x40333b(0x1a9,0x22d)](),_0x541a6f[_0x4a16fe(-0x27,-0x20)](),_0x541a6f['getUTCSeconds'](),_0x541a6f['getUTCMilliseconds']());}function _0x4a16fe(_0x410adc,_0x374070){return _0x4c8020(_0x374070- -0x277,_0x410adc);}function _0x40333b(_0x4ea13a,_0x3423b2){return _0x4a554d(_0x3423b2-0x179,_0x4ea13a);}return jdayInternal(_0x2e688f,_0x50e5ab,_0x178fc9,_0x549da9,_0x30f46d,_0x5c9a2d,_0x23932f);}function invjday(_0x5af19c,_0x3f92a9){var _0x4972aa=_0x5af19c-2415019.5,_0x4f782c=_0x4972aa/365.25,_0x1961f9=0x76c+Math[_0x93d828(0x56a,0x437)](_0x4f782c);function _0x52e967(_0x157b37,_0x5d97d6){return _0x4c8020(_0x157b37-0x1dd,_0x5d97d6);}var _0x562431=Math[_0x93d828(0x361,0x437)]((_0x1961f9-0x76d)*0.25),_0x43d46a=_0x4972aa-((_0x1961f9-0x76c)*0x16d+_0x562431)+1e-11;_0x43d46a<0x1&&(_0x1961f9-=0x1,_0x562431=Math[_0x93d828(0x4f0,0x437)]((_0x1961f9-0x76d)*0.25),_0x43d46a=_0x4972aa-((_0x1961f9-0x76c)*0x16d+_0x562431));var _0x19bbba=days2mdhms(_0x1961f9,_0x43d46a);function _0x93d828(_0x2921b,_0x32f3ad){return _0x4c8020(_0x32f3ad-0x1bd,_0x2921b);}var _0x339935=_0x19bbba['mon'],_0x1cefac=_0x19bbba[_0x93d828(0x48c,0x420)],_0x18c7e9=_0x19bbba['hr'],_0x2a13c7=_0x19bbba['minute'],_0xfcf9e5=_0x19bbba[_0x93d828(0x55d,0x4d5)]-8.64e-7;if(_0x3f92a9)return[_0x1961f9,_0x339935,_0x1cefac,_0x18c7e9,_0x2a13c7,Math[_0x52e967(0x457,0x4ba)](_0xfcf9e5)];return new Date(Date['UTC'](_0x1961f9,_0x339935-0x1,_0x1cefac,_0x18c7e9,_0x2a13c7,Math[_0x52e967(0x457,0x4f0)](_0xfcf9e5)));}function dpper(_0x27488a,_0x3e613d){var _0x12af41=_0x27488a['e3'],_0x353563=_0x27488a['ee2'],_0x14ef39=_0x27488a['peo'],_0x2a0be9=_0x27488a['pgho'],_0x8a2a39=_0x27488a['pho'],_0x3bc89b=_0x27488a['pinco'],_0x972a22=_0x27488a['plo'],_0x781094=_0x27488a[_0x2b742e(0x632,0x500)],_0xe29801=_0x27488a[_0x475c20(0x13b,0x213)],_0x1fa82a=_0x27488a['sgh2'],_0x10ceec=_0x27488a['sgh3'],_0x2d443d=_0x27488a[_0x2b742e(0x6b3,0x740)],_0x31910c=_0x27488a['sh2'],_0x118033=_0x27488a['sh3'],_0x260771=_0x27488a['si2'],_0x27a78d=_0x27488a['si3'],_0x42b2f7=_0x27488a['sl2'],_0x5b5be6=_0x27488a[_0x2b742e(0x61e,0x4e3)],_0x1ea4be=_0x27488a['sl4'],_0x5e0087=_0x27488a['t'],_0x2e48f2=_0x27488a['xgh2'],_0x383452=_0x27488a['xgh3'],_0x4bbc4b=_0x27488a[_0x2b742e(0x476,0x30e)],_0x43dbbb=_0x27488a[_0x2b742e(0x4e5,0x479)],_0x30bb3f=_0x27488a[_0x475c20(0x186,0x2df)],_0x1bd7bb=_0x27488a['xi2'],_0x1301bb=_0x27488a['xi3'],_0x37cc15=_0x27488a[_0x475c20(-0xc8,0xa8)],_0x724377=_0x27488a['xl3'],_0x572e13=_0x27488a[_0x2b742e(0x547,0x405)],_0x42dde8=_0x27488a['zmol'],_0x3022ab=_0x27488a[_0x475c20(0x1e6,0x2bc)],_0x5224b7=_0x3e613d[_0x2b742e(0x5d0,0x712)],_0x548cbf=_0x3e613d['opsmode'],_0x214440=_0x3e613d['ep'],_0x198be0=_0x3e613d[_0x475c20(0x31f,0x2f4)],_0x293dc7=_0x3e613d['nodep'],_0x101ed2=_0x3e613d['argpp'],_0x39bcba=_0x3e613d['mp'],_0x14695a,_0x56f381,_0x10ae61;function _0x2b742e(_0x52da4b,_0x11e3ce){return _0x4c8020(_0x52da4b-0x1e6,_0x11e3ce);}var _0x429fc0,_0x976472,_0x1bff67,_0x46a2b2,_0x2cda36,_0x58a0fc,_0x43bbcf,_0x1c6075,_0x5f26bf,_0x207a6e,_0x1d8192,_0x3c20a3,_0x1592ab,_0x4e5d90,_0x463f21,_0x50c841,_0x14fd8c,_0x5a7298,_0x42f982=0.0000119459,_0x3c3311=0.01675,_0x3ab459=0.00015835218,_0x4b2336=0.0549;_0x5a7298=_0x3022ab+_0x42f982*_0x5e0087;function _0x475c20(_0x1293cd,_0x5bbdc3){return _0x4c8020(_0x5bbdc3- -0x182,_0x1293cd);}_0x5224b7==='y'&&(_0x5a7298=_0x3022ab);_0x14fd8c=_0x5a7298+0x2*_0x3c3311*Math['sin'](_0x5a7298),_0x4e5d90=Math['sin'](_0x14fd8c),_0x43bbcf=0.5*_0x4e5d90*_0x4e5d90-0.25,_0x1c6075=-0.5*_0x4e5d90*Math['cos'](_0x14fd8c);var _0x27bb57=_0x781094*_0x43bbcf+_0xe29801*_0x1c6075,_0x52b12d=_0x260771*_0x43bbcf+_0x27a78d*_0x1c6075,_0x504882=_0x42b2f7*_0x43bbcf+_0x5b5be6*_0x1c6075+_0x1ea4be*_0x4e5d90,_0x3fac53=_0x1fa82a*_0x43bbcf+_0x10ceec*_0x1c6075+_0x2d443d*_0x4e5d90,_0x5e0909=_0x31910c*_0x43bbcf+_0x118033*_0x1c6075;_0x5a7298=_0x42dde8+_0x3ab459*_0x5e0087;_0x5224b7==='y'&&(_0x5a7298=_0x42dde8);_0x14fd8c=_0x5a7298+0x2*_0x4b2336*Math['sin'](_0x5a7298),_0x4e5d90=Math['sin'](_0x14fd8c),_0x43bbcf=0.5*_0x4e5d90*_0x4e5d90-0.25,_0x1c6075=-0.5*_0x4e5d90*Math['cos'](_0x14fd8c);var _0x2d8b19=_0x353563*_0x43bbcf+_0x12af41*_0x1c6075,_0x20fd16=_0x1bd7bb*_0x43bbcf+_0x1301bb*_0x1c6075,_0x1aa08f=_0x37cc15*_0x43bbcf+_0x724377*_0x1c6075+_0x572e13*_0x4e5d90,_0x110a27=_0x2e48f2*_0x43bbcf+_0x383452*_0x1c6075+_0x4bbc4b*_0x4e5d90,_0x3bc137=_0x43dbbb*_0x43bbcf+_0x30bb3f*_0x1c6075;_0x5f26bf=_0x27bb57+_0x2d8b19,_0x3c20a3=_0x52b12d+_0x20fd16,_0x1592ab=_0x504882+_0x1aa08f,_0x207a6e=_0x3fac53+_0x110a27,_0x1d8192=_0x5e0909+_0x3bc137;_0x5224b7==='n'&&(_0x5f26bf-=_0x14ef39,_0x3c20a3-=_0x3bc89b,_0x1592ab-=_0x972a22,_0x207a6e-=_0x2a0be9,_0x1d8192-=_0x8a2a39,_0x198be0+=_0x3c20a3,_0x214440+=_0x5f26bf,_0x429fc0=Math['sin'](_0x198be0),_0x10ae61=Math['cos'](_0x198be0),_0x198be0>=0.2?(_0x1d8192/=_0x429fc0,_0x207a6e-=_0x10ae61*_0x1d8192,_0x101ed2+=_0x207a6e,_0x293dc7+=_0x1d8192,_0x39bcba+=_0x1592ab):(_0x1bff67=Math[_0x2b742e(0x533,0x5d8)](_0x293dc7),_0x976472=Math[_0x475c20(0x15d,0x21a)](_0x293dc7),_0x14695a=_0x429fc0*_0x1bff67,_0x56f381=_0x429fc0*_0x976472,_0x46a2b2=_0x1d8192*_0x976472+_0x3c20a3*_0x10ae61*_0x1bff67,_0x2cda36=-_0x1d8192*_0x1bff67+_0x3c20a3*_0x10ae61*_0x976472,_0x14695a+=_0x46a2b2,_0x56f381+=_0x2cda36,_0x293dc7%=twoPi,_0x293dc7<0x0&&_0x548cbf==='a'&&(_0x293dc7+=twoPi),_0x463f21=_0x39bcba+_0x101ed2+_0x10ae61*_0x293dc7,_0x58a0fc=_0x1592ab+_0x207a6e-_0x3c20a3*_0x293dc7*_0x429fc0,_0x463f21+=_0x58a0fc,_0x50c841=_0x293dc7,_0x293dc7=Math['atan2'](_0x14695a,_0x56f381),_0x293dc7<0x0&&_0x548cbf==='a'&&(_0x293dc7+=twoPi),Math['abs'](_0x50c841-_0x293dc7)>pi&&(_0x293dc7<_0x50c841?_0x293dc7+=twoPi:_0x293dc7-=twoPi),_0x39bcba+=_0x1592ab,_0x101ed2=_0x463f21-_0x39bcba-_0x10ae61*_0x293dc7));var _0x16c274={};return _0x16c274['ep']=_0x214440,_0x16c274[_0x475c20(0x401,0x2f4)]=_0x198be0,_0x16c274[_0x475c20(0x26e,0x10f)]=_0x293dc7,_0x16c274['argpp']=_0x101ed2,_0x16c274['mp']=_0x39bcba,_0x16c274;}function dscom(_0x65b75f){var _0x4feb3f=_0x65b75f['epoch'],_0x5cc04e=_0x65b75f['ep'],_0x2d0c65=_0x65b75f['argpp'],_0x189287=_0x65b75f['tc'],_0x10de03=_0x65b75f['inclp'],_0x262e69=_0x65b75f[_0x1c0bba(0x185,0xd4)],_0x371fe7=_0x65b75f['np'],_0x44da0d,_0x1a8b46,_0x485f6a,_0x36060e,_0x227647,_0x52db55,_0x12be10,_0x2cc814,_0x35ad19,_0x3d6f91,_0x20bd55,_0x42239c,_0x1a4be3,_0x51d33e,_0x517401,_0x44fb47,_0x336474,_0x95500e,_0x20d129,_0x41a656,_0x2e3c1e,_0x46ad26,_0x2005b2,_0xa54517,_0x2afe3b,_0xdc6132,_0x546071,_0x33cba2,_0x42f674,_0x5eedbf,_0x2b032f,_0x1cda52,_0x35c35f,_0x1dab08,_0x2c95bb,_0x29f79b,_0x4aacf4,_0x215c00,_0x310eab,_0x1a8bc9,_0x26ad50,_0xda0ef,_0x70cc8f,_0x2ca146,_0x4b696a,_0xbc4639,_0x326c5f,_0x185de5,_0x47d126,_0x41b1eb,_0x421572,_0x4e369c,_0x1898d8,_0x23c0c6,_0x2dbb09,_0x1e9937,_0x4d10a5,_0x257e6d,_0x5643ec,_0x1a9d8b,_0xffc03d,_0x4c8b5d,_0x2c4ae0,_0x2ffb1f=0.01675,_0x2fc5af=0.0549,_0x3f480b=0.0000029864797,_0x251a4a=4.7968065e-7,_0x50dbf1=0.39785416,_0x4d3db2=0.91744867,_0x4b708a=0.1945905,_0x585787=-0.98088458,_0x52e218=_0x371fe7,_0x30b2cd=_0x5cc04e,_0x253aaa=Math['sin'](_0x262e69),_0x430ce1=Math[_0x33e224(0x3e0,0x4f7)](_0x262e69),_0x5d28ff=Math['sin'](_0x2d0c65),_0x10569f=Math['cos'](_0x2d0c65),_0x2cd92a=Math['sin'](_0x10de03),_0x2195c0=Math['cos'](_0x10de03),_0xead0cd=_0x30b2cd*_0x30b2cd,_0x52ab62=0x1-_0xead0cd,_0xffbfe8=Math[_0x1c0bba(0x310,0x29d)](_0x52ab62),_0x295bfc=0x0,_0x2c2bc2=0x0,_0x1f436e=0x0,_0x1a7167=0x0,_0x38f9e2=0x0,_0x8958de=_0x4feb3f+18261.5+_0x189287/0x5a0;function _0x33e224(_0x2bc2a7,_0x1262c7){return _0x4a554d(_0x1262c7-0x326,_0x2bc2a7);}var _0x58352c=(4.523602-0.00092422029*_0x8958de)%twoPi,_0x24408a=Math[_0x33e224(0x5fc,0x4a8)](_0x58352c),_0x36d4a3=Math[_0x33e224(0x4ed,0x4f7)](_0x58352c),_0x521970=0.91375164-0.03568096*_0x36d4a3,_0x506b4f=Math[_0x33e224(0x696,0x577)](0x1-_0x521970*_0x521970),_0x4528bd=0.089683511*_0x24408a/_0x506b4f,_0x2f6240=Math[_0x1c0bba(0x310,0x329)](0x1-_0x4528bd*_0x4528bd),_0x307f0f=5.8351514+0.001944368*_0x8958de,_0xb61b49=0.39785416*_0x24408a/_0x506b4f,_0x17754c=_0x2f6240*_0x36d4a3+0.91744867*_0x4528bd*_0x24408a;_0xb61b49=Math['atan2'](_0xb61b49,_0x17754c),_0xb61b49+=_0x307f0f-_0x58352c;var _0x271307=Math[_0x33e224(0x439,0x4f7)](_0xb61b49),_0x38b22b=Math[_0x33e224(0x5a5,0x4a8)](_0xb61b49);_0x41a656=_0x4b708a,_0x2e3c1e=_0x585787,_0xa54517=_0x4d3db2,_0x2afe3b=_0x50dbf1,_0x46ad26=_0x430ce1,_0x2005b2=_0x253aaa,_0x20bd55=_0x3f480b;var _0x4569b0=0x1/_0x52e218,_0x537f05=0x0;while(_0x537f05<0x2){_0x537f05+=0x1,_0x44da0d=_0x41a656*_0x46ad26+_0x2e3c1e*_0xa54517*_0x2005b2,_0x485f6a=-_0x2e3c1e*_0x46ad26+_0x41a656*_0xa54517*_0x2005b2,_0x12be10=-_0x41a656*_0x2005b2+_0x2e3c1e*_0xa54517*_0x46ad26,_0x2cc814=_0x2e3c1e*_0x2afe3b,_0x35ad19=_0x2e3c1e*_0x2005b2+_0x41a656*_0xa54517*_0x46ad26,_0x3d6f91=_0x41a656*_0x2afe3b,_0x1a8b46=_0x2195c0*_0x12be10+_0x2cd92a*_0x2cc814,_0x36060e=_0x2195c0*_0x35ad19+_0x2cd92a*_0x3d6f91,_0x227647=-_0x2cd92a*_0x12be10+_0x2195c0*_0x2cc814,_0x52db55=-_0x2cd92a*_0x35ad19+_0x2195c0*_0x3d6f91,_0x42239c=_0x44da0d*_0x10569f+_0x1a8b46*_0x5d28ff,_0x1a4be3=_0x485f6a*_0x10569f+_0x36060e*_0x5d28ff,_0x51d33e=-_0x44da0d*_0x5d28ff+_0x1a8b46*_0x10569f,_0x517401=-_0x485f6a*_0x5d28ff+_0x36060e*_0x10569f,_0x44fb47=_0x227647*_0x5d28ff,_0x336474=_0x52db55*_0x5d28ff,_0x95500e=_0x227647*_0x10569f,_0x20d129=_0x52db55*_0x10569f,_0xffc03d=0xc*_0x42239c*_0x42239c-0x3*_0x51d33e*_0x51d33e,_0x4c8b5d=0x18*_0x42239c*_0x1a4be3-0x6*_0x51d33e*_0x517401,_0x2c4ae0=0xc*_0x1a4be3*_0x1a4be3-0x3*_0x517401*_0x517401,_0x4e369c=0x3*(_0x44da0d*_0x44da0d+_0x1a8b46*_0x1a8b46)+_0xffc03d*_0xead0cd,_0x1898d8=0x6*(_0x44da0d*_0x485f6a+_0x1a8b46*_0x36060e)+_0x4c8b5d*_0xead0cd,_0x23c0c6=0x3*(_0x485f6a*_0x485f6a+_0x36060e*_0x36060e)+_0x2c4ae0*_0xead0cd,_0x2dbb09=-0x6*_0x44da0d*_0x227647+_0xead0cd*(-0x18*_0x42239c*_0x95500e-0x6*_0x51d33e*_0x44fb47),_0x1e9937=-0x6*(_0x44da0d*_0x52db55+_0x485f6a*_0x227647)+_0xead0cd*(-0x18*(_0x1a4be3*_0x95500e+_0x42239c*_0x20d129)+-0x6*(_0x51d33e*_0x336474+_0x517401*_0x44fb47)),_0x4d10a5=-0x6*_0x485f6a*_0x52db55+_0xead0cd*(-0x18*_0x1a4be3*_0x20d129-0x6*_0x517401*_0x336474),_0x257e6d=0x6*_0x1a8b46*_0x227647+_0xead0cd*(0x18*_0x42239c*_0x44fb47-0x6*_0x51d33e*_0x95500e),_0x5643ec=0x6*(_0x36060e*_0x227647+_0x1a8b46*_0x52db55)+_0xead0cd*(0x18*(_0x1a4be3*_0x44fb47+_0x42239c*_0x336474)-0x6*(_0x517401*_0x95500e+_0x51d33e*_0x20d129)),_0x1a9d8b=0x6*_0x36060e*_0x52db55+_0xead0cd*(0x18*_0x1a4be3*_0x336474-0x6*_0x517401*_0x20d129),_0x4e369c=_0x4e369c+_0x4e369c+_0x52ab62*_0xffc03d,_0x1898d8=_0x1898d8+_0x1898d8+_0x52ab62*_0x4c8b5d,_0x23c0c6=_0x23c0c6+_0x23c0c6+_0x52ab62*_0x2c4ae0,_0x326c5f=_0x20bd55*_0x4569b0,_0xbc4639=-0.5*_0x326c5f/_0xffbfe8,_0x185de5=_0x326c5f*_0xffbfe8,_0x4b696a=-0xf*_0x30b2cd*_0x185de5,_0x47d126=_0x42239c*_0x51d33e+_0x1a4be3*_0x517401,_0x41b1eb=_0x1a4be3*_0x51d33e+_0x42239c*_0x517401,_0x421572=_0x1a4be3*_0x517401-_0x42239c*_0x51d33e,_0x537f05===0x1&&(_0xdc6132=_0x4b696a,_0x546071=_0xbc4639,_0x33cba2=_0x326c5f,_0x42f674=_0x185de5,_0x5eedbf=_0x47d126,_0x2b032f=_0x41b1eb,_0x1cda52=_0x421572,_0x35c35f=_0x4e369c,_0x1dab08=_0x1898d8,_0x2c95bb=_0x23c0c6,_0x29f79b=_0x2dbb09,_0x4aacf4=_0x1e9937,_0x215c00=_0x4d10a5,_0x310eab=_0x257e6d,_0x1a8bc9=_0x5643ec,_0x26ad50=_0x1a9d8b,_0xda0ef=_0xffc03d,_0x70cc8f=_0x4c8b5d,_0x2ca146=_0x2c4ae0,_0x41a656=_0x271307,_0x2e3c1e=_0x38b22b,_0xa54517=_0x521970,_0x2afe3b=_0x506b4f,_0x46ad26=_0x2f6240*_0x430ce1+_0x4528bd*_0x253aaa,_0x2005b2=_0x253aaa*_0x2f6240-_0x430ce1*_0x4528bd,_0x20bd55=_0x251a4a);}var _0x42282a=(4.7199672+(0.2299715*_0x8958de-_0x307f0f))%twoPi,_0x3a0624=(6.2565837+0.017201977*_0x8958de)%twoPi,_0x4330d6=0x2*_0xdc6132*_0x2b032f,_0x36c98e=0x2*_0xdc6132*_0x1cda52,_0x412cf2=0x2*_0x546071*_0x4aacf4,_0x4606b8=0x2*_0x546071*(_0x215c00-_0x29f79b),_0x956216=-0x2*_0x33cba2*_0x1dab08,_0x2aa8f6=-0x2*_0x33cba2*(_0x2c95bb-_0x35c35f),_0x8f0cc7=-0x2*_0x33cba2*(-0x15-0x9*_0xead0cd)*_0x2ffb1f,_0x17014d=0x2*_0x42f674*_0x70cc8f,_0x371907=0x2*_0x42f674*(_0x2ca146-_0xda0ef),_0xb50ea9=-0x12*_0x42f674*_0x2ffb1f,_0x19bd70=-0x2*_0x546071*_0x1a8bc9,_0x9f51c5=-0x2*_0x546071*(_0x26ad50-_0x310eab),_0x45c8d7=0x2*_0x4b696a*_0x41b1eb,_0x5a623b=0x2*_0x4b696a*_0x421572,_0x297ec3=0x2*_0xbc4639*_0x1e9937,_0x5e6b9b=0x2*_0xbc4639*(_0x4d10a5-_0x2dbb09),_0x2d0151=-0x2*_0x326c5f*_0x1898d8,_0x51a56c=-0x2*_0x326c5f*(_0x23c0c6-_0x4e369c),_0x18668e=-0x2*_0x326c5f*(-0x15-0x9*_0xead0cd)*_0x2fc5af,_0x10b3a3=0x2*_0x185de5*_0x4c8b5d,_0x4de49d=0x2*_0x185de5*(_0x2c4ae0-_0xffc03d),_0x1b9cd0=-0x12*_0x185de5*_0x2fc5af,_0x2038e9=-0x2*_0xbc4639*_0x5643ec,_0x5d1488=-0x2*_0xbc4639*(_0x1a9d8b-_0x257e6d),_0x4c10c9={};_0x4c10c9['snodm']=_0x253aaa,_0x4c10c9[_0x1c0bba(0xf1,0x15f)]=_0x430ce1,_0x4c10c9[_0x33e224(0x4df,0x38a)]=_0x2cd92a,_0x4c10c9['cosim']=_0x2195c0,_0x4c10c9['sinomm']=_0x5d28ff,_0x4c10c9[_0x1c0bba(0x374,0x262)]=_0x10569f,_0x4c10c9['day']=_0x8958de,_0x4c10c9['e3']=_0x5a623b,_0x4c10c9['ee2']=_0x45c8d7,_0x4c10c9['em']=_0x30b2cd,_0x4c10c9['emsq']=_0xead0cd,_0x4c10c9[_0x33e224(0x478,0x448)]=_0x307f0f,_0x4c10c9['peo']=_0x295bfc,_0x4c10c9[_0x33e224(0x593,0x4fb)]=_0x1a7167,_0x4c10c9[_0x33e224(0x60b,0x542)]=_0x38f9e2,_0x4c10c9[_0x1c0bba(0x316,0x396)]=_0x2c2bc2,_0x4c10c9[_0x33e224(0x4eb,0x3c2)]=_0x1f436e,_0x4c10c9['rtemsq']=_0xffbfe8,_0x4c10c9['se2']=_0x4330d6,_0x4c10c9['se3']=_0x36c98e,_0x4c10c9['sgh2']=_0x17014d,_0x4c10c9['sgh3']=_0x371907,_0x4c10c9[_0x33e224(0x641,0x628)]=_0xb50ea9,_0x4c10c9[_0x1c0bba(0x389,0x3a4)]=_0x19bd70,_0x4c10c9['sh3']=_0x9f51c5,_0x4c10c9['si2']=_0x412cf2,_0x4c10c9[_0x33e224(0x4a4,0x503)]=_0x4606b8,_0x4c10c9['sl2']=_0x956216,_0x4c10c9['sl3']=_0x2aa8f6,_0x4c10c9[_0x1c0bba(0x1f5,0x2b8)]=_0x8f0cc7,_0x4c10c9['s1']=_0x4b696a,_0x4c10c9['s2']=_0xbc4639,_0x4c10c9['s3']=_0x326c5f,_0x4c10c9['s4']=_0x185de5,_0x4c10c9['s5']=_0x47d126,_0x4c10c9['s6']=_0x41b1eb,_0x4c10c9['s7']=_0x421572,_0x4c10c9[_0x1c0bba(0x302,0x479)]=_0xdc6132,_0x4c10c9[_0x1c0bba(0x338,0x1c3)]=_0x546071,_0x4c10c9['ss3']=_0x33cba2,_0x4c10c9['ss4']=_0x42f674,_0x4c10c9['ss5']=_0x5eedbf,_0x4c10c9['ss6']=_0x2b032f;function _0x1c0bba(_0x5d850c,_0x31f1d6){return _0x4c8020(_0x5d850c- -0x10c,_0x31f1d6);}return _0x4c10c9['ss7']=_0x1cda52,_0x4c10c9[_0x1c0bba(0x300,0x3f8)]=_0x35c35f,_0x4c10c9[_0x33e224(0x6c6,0x61d)]=_0x1dab08,_0x4c10c9[_0x1c0bba(0x27b,0x181)]=_0x2c95bb,_0x4c10c9['sz11']=_0x29f79b,_0x4c10c9[_0x1c0bba(0x27c,0x15b)]=_0x4aacf4,_0x4c10c9['sz13']=_0x215c00,_0x4c10c9[_0x1c0bba(0x326,0x483)]=_0x310eab,_0x4c10c9['sz22']=_0x1a8bc9,_0x4c10c9['sz23']=_0x26ad50,_0x4c10c9[_0x1c0bba(0x1f7,0x226)]=_0xda0ef,_0x4c10c9[_0x33e224(0x6ce,0x5fc)]=_0x70cc8f,_0x4c10c9['sz33']=_0x2ca146,_0x4c10c9['xgh2']=_0x10b3a3,_0x4c10c9[_0x33e224(0x301,0x378)]=_0x4de49d,_0x4c10c9[_0x1c0bba(0x184,0x26f)]=_0x1b9cd0,_0x4c10c9['xh2']=_0x2038e9,_0x4c10c9['xh3']=_0x5d1488,_0x4c10c9['xi2']=_0x297ec3,_0x4c10c9[_0x33e224(0x5b2,0x450)]=_0x5e6b9b,_0x4c10c9['xl2']=_0x2d0151,_0x4c10c9['xl3']=_0x51a56c,_0x4c10c9['xl4']=_0x18668e,_0x4c10c9['nm']=_0x52e218,_0x4c10c9['z1']=_0x4e369c,_0x4c10c9['z2']=_0x1898d8,_0x4c10c9['z3']=_0x23c0c6,_0x4c10c9[_0x33e224(0x548,0x3df)]=_0x2dbb09,_0x4c10c9['z12']=_0x1e9937,_0x4c10c9['z13']=_0x4d10a5,_0x4c10c9[_0x33e224(0x461,0x3fe)]=_0x257e6d,_0x4c10c9[_0x33e224(0x58d,0x51c)]=_0x5643ec,_0x4c10c9['z23']=_0x1a9d8b,_0x4c10c9['z31']=_0xffc03d,_0x4c10c9[_0x1c0bba(0x35b,0x4ce)]=_0x4c8b5d,_0x4c10c9[_0x1c0bba(0x363,0x463)]=_0x2c4ae0,_0x4c10c9[_0x33e224(0x5ae,0x5cf)]=_0x42282a,_0x4c10c9['zmos']=_0x3a0624,_0x4c10c9;}function dsinit(_0x367f45){var _0xd6322f=_0x367f45[_0x30a68d(-0x272,-0x21d)],_0x5bf3a0=_0x367f45['argpo'],_0x5a5128=_0x367f45['s1'],_0x2b0380=_0x367f45['s2'],_0x2cd63e=_0x367f45['s3'],_0xb209dd=_0x367f45['s4'],_0x4a4349=_0x367f45['s5'],_0x13357e=_0x367f45[_0x4884b5(0x2b4,0x2a0)],_0x6992b8=_0x367f45['ss1'],_0xd30a47=_0x367f45[_0x30a68d(-0x32,0xbb)],_0x333f05=_0x367f45['ss3'],_0x510e9b=_0x367f45[_0x4884b5(0x4a6,0x461)],_0x120b9d=_0x367f45['ss5'],_0x131687=_0x367f45['sz1'],_0x3d5f4d=_0x367f45['sz3'],_0xf3b5e4=_0x367f45[_0x30a68d(-0x1a0,-0x1b0)],_0x3fce29=_0x367f45[_0x30a68d(-0x20c,-0xc6)],_0x3bb47c=_0x367f45['sz21'],_0xf50673=_0x367f45[_0x4884b5(0x4b3,0x43c)],_0x4e3192=_0x367f45['sz31'],_0x5cb467=_0x367f45[_0x4884b5(0x371,0x286)],_0x270c6f=_0x367f45['t'],_0x2353e5=_0x367f45['tc'],_0x49c907=_0x367f45['gsto'],_0x3010b2=_0x367f45['mo'],_0x5ee2ec=_0x367f45['mdot'],_0x4e4b49=_0x367f45['no'],_0x3be679=_0x367f45[_0x30a68d(-0x8b,-0xec)],_0x347c47=_0x367f45['nodedot'],_0x4e0706=_0x367f45[_0x30a68d(-0x106,0x43)],_0x2a2b87=_0x367f45['z1'],_0xbc8ee7=_0x367f45['z3'],_0x4827b9=_0x367f45['z11'],_0x37357e=_0x367f45['z13'],_0x5cd606=_0x367f45['z21'],_0x79d896=_0x367f45['z23'],_0x2d49db=_0x367f45['z31'],_0x48405a=_0x367f45['z33'],_0x3d5114=_0x367f45[_0x4884b5(0x3c7,0x318)],_0x1d1689=_0x367f45[_0x4884b5(0x37f,0x4b2)],_0x169f30=_0x367f45['emsq'],_0x4b060b=_0x367f45['em'],_0xeb7b4c=_0x367f45[_0x4884b5(0x2a6,0x2ec)],_0x15f11f=_0x367f45[_0x4884b5(0x305,0x321)],_0xce56c7=_0x367f45['mm'],_0x293a23=_0x367f45['nm'],_0x74329e=_0x367f45['nodem'],_0x43000b=_0x367f45['irez'],_0x1856ba=_0x367f45[_0x30a68d(-0x14,0xc5)],_0xeeb045=_0x367f45['d2201'],_0x20021f=_0x367f45[_0x4884b5(0x509,0x52d)],_0x528f43=_0x367f45[_0x4884b5(0x2e3,0x3e9)],_0x155c89=_0x367f45['d3222'],_0x3621d3=_0x367f45['d4410'],_0x51448d=_0x367f45[_0x30a68d(-0x1c6,-0x10e)],_0x34cc00=_0x367f45[_0x4884b5(0x3ff,0x530)],_0x346dd1=_0x367f45['d5232'],_0x567494=_0x367f45[_0x30a68d(-0x1bb,-0x32c)],_0x136b09=_0x367f45[_0x4884b5(0x4ff,0x40b)],_0x4587fb=_0x367f45[_0x4884b5(0x415,0x545)],_0x54f482=_0x367f45['didt'],_0x44e504=_0x367f45['dmdt'],_0x141477=_0x367f45['dnodt'],_0x81f0=_0x367f45['domdt'],_0xc44087=_0x367f45['del1'],_0x334882=_0x367f45[_0x4884b5(0x382,0x482)],_0x41f614=_0x367f45['del3'],_0xd07840=_0x367f45['xfact'],_0x4799d5=_0x367f45[_0x4884b5(0x4ef,0x451)],_0x5ae3b2=_0x367f45['xli'],_0x5760be=_0x367f45['xni'],_0x550a16,_0x55ed38,_0x45513b,_0x3dcdf3,_0x48cce2,_0x4f74d7,_0x1ea79c,_0x38d95e,_0x5ca330,_0xdfea80,_0x5da2d2,_0x2a3b68,_0x546c1,_0x4adc6,_0xabebac,_0x2e016f,_0x928b35,_0x10d43a,_0x808b2,_0x5c7247,_0x1e15bb,_0x2985c6,_0x11e0ff,_0x5cbae2,_0xd2d02e,_0x1f7466,_0x4f7653,_0x77119e,_0x449099,_0x2f1f7c,_0x49ae6a,_0x4f06e9,_0x2766ff=0.0000017891679;function _0x30a68d(_0x55e0aa,_0x5101fa){return _0x4a554d(_0x55e0aa- -0x2ab,_0x5101fa);}var _0x4a7943=0.0000021460748,_0x54fc47=2.2123015e-7,_0x415b5b=0.0000017891679,_0x463bc9=7.3636953e-9,_0x365dcc=2.1765803e-9,_0x12077e=0.0043752690880113,_0x165d7a=3.7393792e-7,_0x243bdd=1.1428639e-7,_0x44c764=0.00015835218,_0x51b087=0.0000119459;_0x43000b=0x0;_0x293a23<0.0052359877&&_0x293a23>0.0034906585&&(_0x43000b=0x1);_0x293a23>=0.00826&&_0x293a23<=0.00924&&_0x4b060b>=0.5&&(_0x43000b=0x2);var _0x545ad1=_0x6992b8*_0x51b087*_0x120b9d,_0x1639a6=_0xd30a47*_0x51b087*(_0xf3b5e4+_0x3fce29),_0x2c2896=-_0x51b087*_0x333f05*(_0x131687+_0x3d5f4d-0xe-0x6*_0x169f30),_0x258fdc=_0x510e9b*_0x51b087*(_0x4e3192+_0x5cb467-0x6),_0x12dbb3=-_0x51b087*_0xd30a47*(_0x3bb47c+_0xf50673);(_0x15f11f<0.052359877||_0x15f11f>pi-0.052359877)&&(_0x12dbb3=0x0);_0x13357e!==0x0&&(_0x12dbb3/=_0x13357e);var _0x323b6c=_0x258fdc-_0xd6322f*_0x12dbb3;_0x4587fb=_0x545ad1+_0x5a5128*_0x44c764*_0x4a4349,_0x54f482=_0x1639a6+_0x2b0380*_0x44c764*(_0x4827b9+_0x37357e),_0x44e504=_0x2c2896-_0x44c764*_0x2cd63e*(_0x2a2b87+_0xbc8ee7-0xe-0x6*_0x169f30);var _0x5ab39e=_0xb209dd*_0x44c764*(_0x2d49db+_0x48405a-0x6),_0x1912ce=-_0x44c764*_0x2b0380*(_0x5cd606+_0x79d896);(_0x15f11f<0.052359877||_0x15f11f>pi-0.052359877)&&(_0x1912ce=0x0);_0x81f0=_0x323b6c+_0x5ab39e,_0x141477=_0x12dbb3;_0x13357e!==0x0&&(_0x81f0-=_0xd6322f/_0x13357e*_0x1912ce,_0x141477+=_0x1912ce/_0x13357e);var _0x27870f=0x0,_0x57e473=(_0x49c907+_0x2353e5*_0x12077e)%twoPi;_0x4b060b+=_0x4587fb*_0x270c6f,_0x15f11f+=_0x54f482*_0x270c6f,_0xeb7b4c+=_0x81f0*_0x270c6f,_0x74329e+=_0x141477*_0x270c6f,_0xce56c7+=_0x44e504*_0x270c6f;if(_0x43000b!==0x0){_0x2f1f7c=Math['pow'](_0x293a23/xke,x2o3);if(_0x43000b===0x2){_0x49ae6a=_0xd6322f*_0xd6322f;var _0x33be48=_0x4b060b;_0x4b060b=_0x3d5114;var _0x4eb4aa=_0x169f30;_0x169f30=_0x1d1689,_0x4f06e9=_0x4b060b*_0x169f30,_0x4adc6=-0.306-(_0x4b060b-0.64)*0.44,_0x4b060b<=0.65?(_0xabebac=3.616-13.247*_0x4b060b+16.29*_0x169f30,_0x928b35=-19.302+117.39*_0x4b060b-228.419*_0x169f30+156.591*_0x4f06e9,_0x10d43a=-18.9068+109.7927*_0x4b060b-214.6334*_0x169f30+146.5816*_0x4f06e9,_0x808b2=-41.122+242.694*_0x4b060b-471.094*_0x169f30+313.953*_0x4f06e9,_0x5c7247=-146.407+841.88*_0x4b060b-1629.014*_0x169f30+1083.435*_0x4f06e9,_0x1e15bb=-532.114+3017.977*_0x4b060b-5740.032*_0x169f30+3708.276*_0x4f06e9):(_0xabebac=-72.099+331.819*_0x4b060b-508.738*_0x169f30+266.724*_0x4f06e9,_0x928b35=-346.844+1582.851*_0x4b060b-2415.925*_0x169f30+1246.113*_0x4f06e9,_0x10d43a=-342.585+1554.908*_0x4b060b-2366.899*_0x169f30+1215.972*_0x4f06e9,_0x808b2=-1052.797+4758.686*_0x4b060b-7193.992*_0x169f30+3651.957*_0x4f06e9,_0x5c7247=-3581.69+16178.11*_0x4b060b-24462.77*_0x169f30+12422.52*_0x4f06e9,_0x4b060b>0.715?_0x1e15bb=-5149.66+29936.92*_0x4b060b-54087.36*_0x169f30+31324.56*_0x4f06e9:_0x1e15bb=1464.74-4664.75*_0x4b060b+3763.64*_0x169f30),_0x4b060b<0.7?(_0x5cbae2=-919.2277+4988.61*_0x4b060b-9064.77*_0x169f30+5542.21*_0x4f06e9,_0x2985c6=-822.71072+4568.6173*_0x4b060b-8491.4146*_0x169f30+5337.524*_0x4f06e9,_0x11e0ff=-853.666+4690.25*_0x4b060b-8624.77*_0x169f30+5341.4*_0x4f06e9):(_0x5cbae2=-37995.78+161616.52*_0x4b060b-229838.2*_0x169f30+109377.94*_0x4f06e9,_0x2985c6=-51752.104+218913.95*_0x4b060b-309468.16*_0x169f30+146349.42*_0x4f06e9,_0x11e0ff=-40023.88+170470.89*_0x4b060b-242699.48*_0x169f30+115605.82*_0x4f06e9),_0xd2d02e=_0x13357e*_0x13357e,_0x550a16=0.75*(0x1+0x2*_0xd6322f+_0x49ae6a),_0x55ed38=1.5*_0xd2d02e,_0x3dcdf3=1.875*_0x13357e*(0x1-0x2*_0xd6322f-0x3*_0x49ae6a),_0x48cce2=-1.875*_0x13357e*(0x1+0x2*_0xd6322f-0x3*_0x49ae6a),_0x1ea79c=0x23*_0xd2d02e*_0x550a16,_0x38d95e=39.375*_0xd2d02e*_0xd2d02e,_0x5ca330=9.84375*_0x13357e*(_0xd2d02e*(0x1-0x2*_0xd6322f-0x5*_0x49ae6a)+0.33333333*(-0x2+0x4*_0xd6322f+0x6*_0x49ae6a)),_0xdfea80=_0x13357e*(4.92187512*_0xd2d02e*(-0x2-0x4*_0xd6322f+0xa*_0x49ae6a)+6.56250012*(0x1+0x2*_0xd6322f-0x3*_0x49ae6a)),_0x5da2d2=29.53125*_0x13357e*(0x2-0x8*_0xd6322f+_0x49ae6a*(-0xc+0x8*_0xd6322f+0xa*_0x49ae6a)),_0x2a3b68=29.53125*_0x13357e*(-0x2-0x8*_0xd6322f+_0x49ae6a*(0xc+0x8*_0xd6322f-0xa*_0x49ae6a)),_0x77119e=_0x293a23*_0x293a23,_0x449099=_0x2f1f7c*_0x2f1f7c,_0x4f7653=0x3*_0x77119e*_0x449099,_0x1f7466=_0x4f7653*_0x415b5b,_0xeeb045=_0x1f7466*_0x550a16*_0x4adc6,_0x20021f=_0x1f7466*_0x55ed38*_0xabebac,_0x4f7653*=_0x2f1f7c,_0x1f7466=_0x4f7653*_0x165d7a,_0x528f43=_0x1f7466*_0x3dcdf3*_0x928b35,_0x155c89=_0x1f7466*_0x48cce2*_0x10d43a,_0x4f7653*=_0x2f1f7c,_0x1f7466=0x2*_0x4f7653*_0x463bc9,_0x3621d3=_0x1f7466*_0x1ea79c*_0x808b2,_0x51448d=_0x1f7466*_0x38d95e*_0x5c7247,_0x4f7653*=_0x2f1f7c,_0x1f7466=_0x4f7653*_0x243bdd,_0x34cc00=_0x1f7466*_0x5ca330*_0x1e15bb,_0x346dd1=_0x1f7466*_0xdfea80*_0x11e0ff,_0x1f7466=0x2*_0x4f7653*_0x365dcc,_0x567494=_0x1f7466*_0x5da2d2*_0x2985c6,_0x136b09=_0x1f7466*_0x2a3b68*_0x5cbae2,_0x4799d5=(_0x3010b2+_0x3be679+_0x3be679-(_0x57e473+_0x57e473))%twoPi,_0xd07840=_0x5ee2ec+_0x44e504+0x2*(_0x347c47+_0x141477-_0x12077e)-_0x4e4b49,_0x4b060b=_0x33be48,_0x169f30=_0x4eb4aa;}_0x43000b===0x1&&(_0x546c1=0x1+_0x169f30*(-2.5+0.8125*_0x169f30),_0x928b35=0x1+0x2*_0x169f30,_0x2e016f=0x1+_0x169f30*(-0x6+6.60937*_0x169f30),_0x550a16=0.75*(0x1+_0xd6322f)*(0x1+_0xd6322f),_0x45513b=0.9375*_0x13357e*_0x13357e*(0x1+0x3*_0xd6322f)-0.75*(0x1+_0xd6322f),_0x4f74d7=0x1+_0xd6322f,_0x4f74d7*=1.875*_0x4f74d7*_0x4f74d7,_0xc44087=0x3*_0x293a23*_0x293a23*_0x2f1f7c*_0x2f1f7c,_0x334882=0x2*_0xc44087*_0x550a16*_0x546c1*_0x2766ff,_0x41f614=0x3*_0xc44087*_0x4f74d7*_0x2e016f*_0x54fc47*_0x2f1f7c,_0xc44087=_0xc44087*_0x45513b*_0x928b35*_0x4a7943*_0x2f1f7c,_0x4799d5=(_0x3010b2+_0x3be679+_0x5bf3a0-_0x57e473)%twoPi,_0xd07840=_0x5ee2ec+_0x4e0706+_0x44e504+_0x81f0+_0x141477-(_0x4e4b49+_0x12077e)),_0x5ae3b2=_0x4799d5,_0x5760be=_0x4e4b49,_0x1856ba=0x0,_0x293a23=_0x4e4b49+_0x27870f;}var _0x88032c={};_0x88032c['em']=_0x4b060b,_0x88032c[_0x30a68d(-0x255,-0x1f3)]=_0xeb7b4c,_0x88032c['inclm']=_0x15f11f,_0x88032c['mm']=_0xce56c7,_0x88032c['nm']=_0x293a23,_0x88032c[_0x30a68d(-0x224,-0x26e)]=_0x74329e,_0x88032c['irez']=_0x43000b,_0x88032c['atime']=_0x1856ba,_0x88032c['d2201']=_0xeeb045,_0x88032c['d2211']=_0x20021f,_0x88032c[_0x4884b5(0x2e3,0x2c3)]=_0x528f43,_0x88032c['d3222']=_0x155c89,_0x88032c['d4410']=_0x3621d3,_0x88032c['d4422']=_0x51448d,_0x88032c['d5220']=_0x34cc00,_0x88032c['d5232']=_0x346dd1,_0x88032c[_0x30a68d(-0x1bb,-0x276)]=_0x567494,_0x88032c[_0x4884b5(0x4ff,0x443)]=_0x136b09;function _0x4884b5(_0x3bb70c,_0x10d712){return _0x4c8020(_0x3bb70c-0x85,_0x10d712);}return _0x88032c['dedt']=_0x4587fb,_0x88032c['didt']=_0x54f482,_0x88032c['dmdt']=_0x44e504,_0x88032c[_0x4884b5(0x347,0x31d)]=_0x27870f,_0x88032c[_0x30a68d(-0xb9,-0x84)]=_0x141477,_0x88032c['domdt']=_0x81f0,_0x88032c['del1']=_0xc44087,_0x88032c['del2']=_0x334882,_0x88032c[_0x4884b5(0x459,0x3fe)]=_0x41f614,_0x88032c[_0x30a68d(-0x151,-0xcd)]=_0xd07840,_0x88032c['xlamo']=_0x4799d5,_0x88032c['xli']=_0x5ae3b2,_0x88032c['xni']=_0x5760be,_0x88032c;}function gstimeInternal(_0x439264){var _0x38f081=(_0x439264-0x256859)/0x8ead,_0x419444=-0.0000062*_0x38f081*_0x38f081*_0x38f081+0.093104*_0x38f081*_0x38f081+(0xd6038*0xe10+8640184.812866)*_0x38f081+67310.54841;return _0x419444=_0x419444*deg2rad/0xf0%twoPi,_0x419444<0x0&&(_0x419444+=twoPi),_0x419444;}function gstime(){function _0x44be8d(_0x40245f,_0xa25004){return _0x4c8020(_0x40245f- -0x4dd,_0xa25004);}if((arguments['length']<=0x0?undefined:arguments[0x0])instanceof Date||arguments['length']>0x1)return gstimeInternal(jday[_0x44be8d(-0xbe,-0x17)](void 0x0,arguments));return gstimeInternal['apply'](void 0x0,arguments);}function initl(_0x45e65d){var _0x455a32=_0x45e65d[_0x31ebc9(0x55c,0x555)],_0xf5ce06=_0x45e65d['epoch'],_0x3ab5f4=_0x45e65d['inclo'],_0x1cb225=_0x45e65d['opsmode'],_0x4bc090=_0x45e65d['no'],_0x159abf=_0x455a32*_0x455a32,_0x468207=0x1-_0x159abf,_0x546b13=Math['sqrt'](_0x468207),_0x91b160=Math['cos'](_0x3ab5f4),_0x35ded1=_0x91b160*_0x91b160,_0x21398b=Math['pow'](xke/_0x4bc090,x2o3),_0x21322b=0.75*j2*(0x3*_0x35ded1-0x1)/(_0x546b13*_0x468207),_0x30641c=_0x21322b/(_0x21398b*_0x21398b),_0xf74d8a=_0x21398b*(0x1-_0x30641c*_0x30641c-_0x30641c*(0x1/0x3+0x86*_0x30641c*_0x30641c/0x51));_0x30641c=_0x21322b/(_0xf74d8a*_0xf74d8a),_0x4bc090/=0x1+_0x30641c;var _0x2660fa=Math[_0x556c8f(0x2d8,0x41b)](xke/_0x4bc090,x2o3);function _0x556c8f(_0x51d33b,_0x259628){return _0x4c8020(_0x51d33b- -0x1fd,_0x259628);}var _0x560081=Math[_0x31ebc9(0x460,0x560)](_0x3ab5f4),_0x1924a1=_0x2660fa*_0x468207,_0x1e2325=0x1-0x5*_0x35ded1,_0x592200=-_0x1e2325-_0x35ded1-_0x35ded1,_0x34adbf=0x1/_0x2660fa,_0x461a77=_0x1924a1*_0x1924a1,_0x18528d=_0x2660fa*(0x1-_0x455a32),_0x4d7c6f='n',_0xb303c5;if(_0x1cb225==='a'){var _0x579936=_0xf5ce06-0x1c89,_0x145775=Math['floor'](_0x579936+1e-8),_0x24de93=_0x579936-_0x145775,_0x46c4d8=0.017202791694070362,_0x2f5587=1.7321343856509375,_0x562e2e=5.075514194322695e-15,_0x11b399=_0x46c4d8+twoPi;_0xb303c5=(_0x2f5587+_0x46c4d8*_0x145775+_0x11b399*_0x24de93+_0x579936*_0x579936*_0x562e2e)%twoPi,_0xb303c5<0x0&&(_0xb303c5+=twoPi);}else _0xb303c5=gstime(_0xf5ce06+2433281.5);var _0x4fd129={};_0x4fd129['no']=_0x4bc090,_0x4fd129['method']=_0x4d7c6f;function _0x31ebc9(_0x189afd,_0x5b826b){return _0x4a554d(_0x5b826b-0x3de,_0x189afd);}return _0x4fd129[_0x556c8f(0x34,0x148)]=_0x34adbf,_0x4fd129['ao']=_0x2660fa,_0x4fd129['con41']=_0x592200,_0x4fd129['con42']=_0x1e2325,_0x4fd129[_0x556c8f(0x2a6,0x359)]=_0x91b160,_0x4fd129['cosio2']=_0x35ded1,_0x4fd129['eccsq']=_0x159abf,_0x4fd129['omeosq']=_0x468207,_0x4fd129[_0x31ebc9(0x3bb,0x523)]=_0x461a77,_0x4fd129['rp']=_0x18528d,_0x4fd129['rteosq']=_0x546b13,_0x4fd129[_0x31ebc9(0x6d2,0x6e3)]=_0x560081,_0x4fd129['gsto']=_0xb303c5,_0x4fd129;}function dspace(_0x16816a){var _0x51d459=_0x16816a[_0x4b70d5(0x687,0x641)],_0x282950=_0x16816a['d2201'],_0x33722b=_0x16816a[_0x170a09(-0x125,0x3)],_0x9aef84=_0x16816a[_0x170a09(-0xd0,-0x223)],_0x21722a=_0x16816a[_0x170a09(-0x1db,-0x1d5)],_0x51f7b4=_0x16816a[_0x170a09(0x7e,0x47)],_0x4d4fce=_0x16816a['d4422'],_0x3532a0=_0x16816a['d5220'],_0x30fa49=_0x16816a[_0x4b70d5(0x6d4,0x838)],_0x29b8a2=_0x16816a['d5421'],_0x554257=_0x16816a[_0x170a09(-0xb0,-0x7)],_0x27b98d=_0x16816a[_0x4b70d5(0x5ef,0x726)],_0x136442=_0x16816a['del1'],_0x3876ae=_0x16816a[_0x170a09(-0x2c7,-0x184)],_0x4eb7b8=_0x16816a['del3'],_0x305839=_0x16816a['didt'],_0x384fcf=_0x16816a[_0x4b70d5(0x694,0x71f)],_0x4d1e4f=_0x16816a['dnodt'],_0x153244=_0x16816a[_0x170a09(0x4d,-0xee)],_0x4a3c6a=_0x16816a['argpo'],_0x59b367=_0x16816a[_0x4b70d5(0x5a4,0x5f8)],_0x2e00be=_0x16816a['t'],_0x5d8e04=_0x16816a['tc'],_0x2976fc=_0x16816a['gsto'],_0x5bb374=_0x16816a['xfact'],_0x40fb7d=_0x16816a[_0x170a09(-0x11b,-0x17)],_0x238e7c=_0x16816a['no'],_0x53c6c0=_0x16816a['atime'],_0x5c87a3=_0x16816a['em'],_0x2126df=_0x16816a['argpm'],_0x46bd75=_0x16816a[_0x170a09(-0x2e4,-0x201)],_0x17f3c8=_0x16816a[_0x4b70d5(0x73b,0x7f7)],_0x26f6c3=_0x16816a['mm'],_0x172d34=_0x16816a['xni'],_0x53d2c2=_0x16816a['nodem'],_0x4d6b47=_0x16816a['nm'],_0x5b4161=0.13130908,_0x2930d2=2.8843198,_0x2dc0c1=0.37448087,_0x5a21d0=5.7686396,_0x5fda66=0.95240898,_0x2c5de0=1.8014998,_0x80fc19=1.050833,_0x71c912=4.4108898,_0x11a2d7=0.0043752690880113,_0x171fcc=0x2d0,_0x3dcefe=-0x2d0,_0x2673ec=0x3f480,_0x2c963e,_0x177fab;function _0x4b70d5(_0x2c3f65,_0x4b6121){return _0x4a554d(_0x2c3f65-0x42a,_0x4b6121);}var _0x4a3494,_0xc0d77e,_0x1f09ff,_0xd65f59,_0x36a6eb,_0x38ab9c,_0x311a54=0x0,_0x12328b=0x0,_0x562d7d=(_0x2976fc+_0x5d8e04*_0x11a2d7)%twoPi;_0x5c87a3+=_0x27b98d*_0x2e00be,_0x46bd75+=_0x305839*_0x2e00be,_0x2126df+=_0x153244*_0x2e00be,_0x53d2c2+=_0x4d1e4f*_0x2e00be,_0x26f6c3+=_0x384fcf*_0x2e00be;if(_0x51d459!==0x0){(_0x53c6c0===0x0||_0x2e00be*_0x53c6c0<=0x0||Math[_0x170a09(-0xd3,-0x125)](_0x2e00be)0x0?_0x2c963e=_0x171fcc:_0x2c963e=_0x3dcefe;var _0x534852=0x17d;while(_0x534852===0x17d){_0x51d459!==0x2?(_0x36a6eb=_0x136442*Math['sin'](_0x17f3c8-_0x5b4161)+_0x3876ae*Math['sin'](0x2*(_0x17f3c8-_0x2930d2))+_0x4eb7b8*Math[_0x4b70d5(0x5ac,0x44f)](0x3*(_0x17f3c8-_0x2dc0c1)),_0x1f09ff=_0x172d34+_0x5bb374,_0xd65f59=_0x136442*Math[_0x170a09(-0x24f,-0xe5)](_0x17f3c8-_0x5b4161)+0x2*_0x3876ae*Math['cos'](0x2*(_0x17f3c8-_0x2930d2))+0x3*_0x4eb7b8*Math['cos'](0x3*(_0x17f3c8-_0x2dc0c1)),_0xd65f59*=_0x1f09ff):(_0x38ab9c=_0x4a3c6a+_0x59b367*_0x53c6c0,_0x4a3494=_0x38ab9c+_0x38ab9c,_0x177fab=_0x17f3c8+_0x17f3c8,_0x36a6eb=_0x282950*Math['sin'](_0x4a3494+_0x17f3c8-_0x5a21d0)+_0x33722b*Math['sin'](_0x17f3c8-_0x5a21d0)+_0x9aef84*Math[_0x4b70d5(0x5ac,0x46b)](_0x38ab9c+_0x17f3c8-_0x5fda66)+_0x21722a*Math['sin'](-_0x38ab9c+_0x17f3c8-_0x5fda66)+_0x51f7b4*Math[_0x170a09(-0x24a,-0x134)](_0x4a3494+_0x177fab-_0x2c5de0)+_0x4d4fce*Math[_0x4b70d5(0x5ac,0x5f9)](_0x177fab-_0x2c5de0)+_0x3532a0*Math['sin'](_0x38ab9c+_0x17f3c8-_0x80fc19)+_0x30fa49*Math['sin'](-_0x38ab9c+_0x17f3c8-_0x80fc19)+_0x29b8a2*Math['sin'](_0x38ab9c+_0x177fab-_0x71c912)+_0x554257*Math['sin'](-_0x38ab9c+_0x177fab-_0x71c912),_0x1f09ff=_0x172d34+_0x5bb374,_0xd65f59=_0x282950*Math[_0x170a09(0x2b,-0xe5)](_0x4a3494+_0x17f3c8-_0x5a21d0)+_0x33722b*Math[_0x170a09(-0x24e,-0xe5)](_0x17f3c8-_0x5a21d0)+_0x9aef84*Math[_0x170a09(-0x54,-0xe5)](_0x38ab9c+_0x17f3c8-_0x5fda66)+_0x21722a*Math[_0x4b70d5(0x5fb,0x566)](-_0x38ab9c+_0x17f3c8-_0x5fda66)+_0x3532a0*Math['cos'](_0x38ab9c+_0x17f3c8-_0x80fc19)+_0x30fa49*Math[_0x170a09(-0x135,-0xe5)](-_0x38ab9c+_0x17f3c8-_0x80fc19)+0x2*_0x51f7b4*Math['cos'](_0x4a3494+_0x177fab-_0x2c5de0)+_0x4d4fce*Math['cos'](_0x177fab-_0x2c5de0)+_0x29b8a2*Math['cos'](_0x38ab9c+_0x177fab-_0x71c912)+_0x554257*Math['cos'](-_0x38ab9c+_0x177fab-_0x71c912),_0xd65f59*=_0x1f09ff),Math['abs'](_0x2e00be-_0x53c6c0)>=_0x171fcc?_0x534852=0x17d:(_0x12328b=_0x2e00be-_0x53c6c0,_0x534852=0x0),_0x534852===0x17d&&(_0x17f3c8+=_0x1f09ff*_0x2c963e+_0x36a6eb*_0x2673ec,_0x172d34+=_0x36a6eb*_0x2c963e+_0xd65f59*_0x2673ec,_0x53c6c0+=_0x2c963e);}_0x4d6b47=_0x172d34+_0x36a6eb*_0x12328b+_0xd65f59*_0x12328b*_0x12328b*0.5,_0xc0d77e=_0x17f3c8+_0x1f09ff*_0x12328b+_0x36a6eb*_0x12328b*_0x12328b*0.5,_0x51d459!==0x1?(_0x26f6c3=_0xc0d77e-0x2*_0x53d2c2+0x2*_0x562d7d,_0x311a54=_0x4d6b47-_0x238e7c):(_0x26f6c3=_0xc0d77e-_0x53d2c2-_0x2126df+_0x562d7d,_0x311a54=_0x4d6b47-_0x238e7c),_0x4d6b47=_0x238e7c+_0x311a54;}function _0x170a09(_0x376f66,_0x6f41b1){return _0x4a554d(_0x6f41b1- -0x2b6,_0x376f66);}var _0x2fdeb3={};return _0x2fdeb3[_0x170a09(-0xed,-0x1f)]=_0x53c6c0,_0x2fdeb3['em']=_0x5c87a3,_0x2fdeb3['argpm']=_0x2126df,_0x2fdeb3['inclm']=_0x46bd75,_0x2fdeb3['xli']=_0x17f3c8,_0x2fdeb3['mm']=_0x26f6c3,_0x2fdeb3['xni']=_0x172d34,_0x2fdeb3[_0x4b70d5(0x4b1,0x38c)]=_0x53d2c2,_0x2fdeb3[_0x4b70d5(0x521,0x3f5)]=_0x311a54,_0x2fdeb3['nm']=_0x4d6b47,_0x2fdeb3;}function sgp4(_0x21d10d,_0x4edeef){var _0x107e1b,_0x263971,_0x7ff1b2,_0x8c373f,_0x4e0976,_0x230d74,_0x32b4cd,_0x4f134e,_0x390f8a,_0x2e0488;function _0x477848(_0xcf1762,_0x4feee7){return _0x4c8020(_0x4feee7-0xe5,_0xcf1762);}var _0x50a7f2,_0x236c52,_0xd057a5,_0x2e6fce,_0xd94bb9,_0xf8f6be,_0x541518,_0x3cf6b4,_0x44b96f,_0x5c16c8,_0x183c49,_0x2920ae,_0x51d976,_0x4190f3,_0xb4211a,_0x33ec18,_0x50cebb,_0x5aa246=1.5e-12;_0x21d10d['t']=_0x4edeef,_0x21d10d[_0x4d5fc0(0x360,0x465)]=0x0;var _0x4b4385=_0x21d10d['mo']+_0x21d10d[_0x4d5fc0(0x45e,0x553)]*_0x21d10d['t'],_0x1bff52=_0x21d10d[_0x477848(0x4b0,0x3b5)]+_0x21d10d['argpdot']*_0x21d10d['t'],_0x4224e3=_0x21d10d[_0x477848(0x3eb,0x4d0)]+_0x21d10d[_0x4d5fc0(0x4ab,0x382)]*_0x21d10d['t'];_0x390f8a=_0x1bff52,_0x183c49=_0x4b4385;var _0x4724bc=_0x21d10d['t']*_0x21d10d['t'];_0x51d976=_0x4224e3+_0x21d10d['nodecf']*_0x4724bc,_0x541518=0x1-_0x21d10d[_0x4d5fc0(0x43e,0x467)]*_0x21d10d['t'],_0x3cf6b4=_0x21d10d['bstar']*_0x21d10d['cc4']*_0x21d10d['t'],_0x44b96f=_0x21d10d['t2cof']*_0x4724bc;if(_0x21d10d['isimp']!==0x1){_0x32b4cd=_0x21d10d['omgcof']*_0x21d10d['t'];var _0x4be929=0x1+_0x21d10d['eta']*Math[_0x477848(0x411,0x481)](_0x4b4385);_0x230d74=_0x21d10d['xmcof']*(_0x4be929*_0x4be929*_0x4be929-_0x21d10d['delmo']),_0xf8f6be=_0x32b4cd+_0x230d74,_0x183c49=_0x4b4385+_0xf8f6be,_0x390f8a=_0x1bff52-_0xf8f6be,_0x236c52=_0x4724bc*_0x21d10d['t'],_0xd057a5=_0x236c52*_0x21d10d['t'],_0x541518=_0x541518-_0x21d10d['d2']*_0x4724bc-_0x21d10d['d3']*_0x236c52-_0x21d10d['d4']*_0xd057a5,_0x3cf6b4+=_0x21d10d['bstar']*_0x21d10d[_0x477848(0x683,0x59a)]*(Math[_0x477848(0x2ff,0x432)](_0x183c49)-_0x21d10d[_0x4d5fc0(0x538,0x41e)]),_0x44b96f=_0x44b96f+_0x21d10d['t3cof']*_0x236c52+_0xd057a5*(_0x21d10d['t4cof']+_0x21d10d['t']*_0x21d10d['t5cof']);}_0x2920ae=_0x21d10d['no'];var _0x28070a=_0x21d10d['ecco'];_0x5c16c8=_0x21d10d['inclo'];if(_0x21d10d[_0x477848(0x5a9,0x594)]==='d'){_0x2e6fce=_0x21d10d['t'];var _0x178275={};_0x178275[_0x477848(0x59e,0x50d)]=_0x21d10d[_0x477848(0x3c4,0x50d)],_0x178275['d2201']=_0x21d10d['d2201'],_0x178275['d2211']=_0x21d10d[_0x4d5fc0(0x5db,0x5f9)],_0x178275['d3210']=_0x21d10d[_0x4d5fc0(0x29a,0x3d3)],_0x178275[_0x4d5fc0(0x325,0x421)]=_0x21d10d[_0x477848(0x2b8,0x391)],_0x178275[_0x477848(0x483,0x5ad)]=_0x21d10d['d4410'],_0x178275[_0x4d5fc0(0x46e,0x425)]=_0x21d10d['d4422'],_0x178275['d5220']=_0x21d10d['d5220'],_0x178275['d5232']=_0x21d10d[_0x477848(0x54c,0x55a)],_0x178275[_0x477848(0x2d3,0x3a0)]=_0x21d10d[_0x477848(0x432,0x3a0)],_0x178275[_0x477848(0x5c9,0x55f)]=_0x21d10d['d5433'],_0x178275[_0x4d5fc0(0x536,0x505)]=_0x21d10d['dedt'],_0x178275[_0x477848(0x274,0x2ff)]=_0x21d10d[_0x4d5fc0(0x3ec,0x38f)],_0x178275['del2']=_0x21d10d[_0x477848(0x4cb,0x3e2)],_0x178275['del3']=_0x21d10d[_0x477848(0x420,0x4b9)],_0x178275[_0x4d5fc0(0x492,0x52e)]=_0x21d10d['didt'],_0x178275['dmdt']=_0x21d10d['dmdt'],_0x178275['dnodt']=_0x21d10d[_0x477848(0x445,0x4a2)],_0x178275['domdt']=_0x21d10d['domdt'],_0x178275['argpo']=_0x21d10d[_0x477848(0x503,0x3b5)],_0x178275['argpdot']=_0x21d10d['argpdot'],_0x178275['t']=_0x21d10d['t'],_0x178275['tc']=_0x2e6fce,_0x178275['gsto']=_0x21d10d[_0x477848(0x351,0x331)],_0x178275[_0x477848(0x480,0x40a)]=_0x21d10d['xfact'],_0x178275['xlamo']=_0x21d10d[_0x477848(0x441,0x54f)],_0x178275['no']=_0x21d10d['no'],_0x178275['atime']=_0x21d10d[_0x477848(0x616,0x547)],_0x178275['em']=_0x28070a,_0x178275[_0x4d5fc0(0x4d3,0x396)]=_0x390f8a,_0x178275['inclm']=_0x5c16c8,_0x178275[_0x4d5fc0(0x55a,0x651)]=_0x21d10d[_0x4d5fc0(0x6ac,0x651)],_0x178275['mm']=_0x183c49,_0x178275['xni']=_0x21d10d[_0x477848(0x39a,0x41b)],_0x178275[_0x477848(0x46e,0x337)]=_0x51d976,_0x178275['nm']=_0x2920ae;var _0x469077=_0x178275,_0x12b9ab=dspace(_0x469077);_0x28070a=_0x12b9ab['em'],_0x390f8a=_0x12b9ab[_0x4d5fc0(0x2f1,0x396)],_0x5c16c8=_0x12b9ab['inclm'],_0x183c49=_0x12b9ab['mm'],_0x51d976=_0x12b9ab['nodem'],_0x2920ae=_0x12b9ab['nm'];}if(_0x2920ae<=0x0)return _0x21d10d['error']=0x2,[![],![]];function _0x4d5fc0(_0x5245cc,_0x519658){return _0x4c8020(_0x519658-0x175,_0x5245cc);}var _0x5ba40c=Math['pow'](xke/_0x2920ae,x2o3)*_0x541518*_0x541518;_0x2920ae=xke/Math[_0x477848(0x6bf,0x5ba)](_0x5ba40c,1.5),_0x28070a-=_0x3cf6b4;if(_0x28070a>=0x1||_0x28070a<-0.001)return _0x21d10d['error']=0x1,[![],![]];_0x28070a<0.000001&&(_0x28070a=0.000001);_0x183c49+=_0x21d10d['no']*_0x44b96f,_0xb4211a=_0x183c49+_0x390f8a+_0x51d976,_0x51d976%=twoPi,_0x390f8a%=twoPi,_0xb4211a%=twoPi,_0x183c49=(_0xb4211a-_0x390f8a-_0x51d976)%twoPi;var _0xa9c6f6=Math['sin'](_0x5c16c8),_0x5f2f77=Math['cos'](_0x5c16c8),_0x5f0321=_0x28070a;_0x4190f3=_0x5c16c8,_0x2e0488=_0x390f8a,_0x50cebb=_0x51d976,_0x33ec18=_0x183c49,_0x8c373f=_0xa9c6f6,_0x7ff1b2=_0x5f2f77;if(_0x21d10d[_0x477848(0x586,0x594)]==='d'){var _0x170baf={};_0x170baf['inclo']=_0x21d10d[_0x477848(0x4f1,0x50e)],_0x170baf[_0x4d5fc0(0x4cf,0x55f)]='n',_0x170baf['ep']=_0x5f0321,_0x170baf['inclp']=_0x4190f3,_0x170baf['nodep']=_0x50cebb,_0x170baf['argpp']=_0x2e0488,_0x170baf['mp']=_0x33ec18,_0x170baf[_0x4d5fc0(0x538,0x45d)]=_0x21d10d['operationmode'];var _0x175555=_0x170baf,_0x4f7efc=dpper(_0x21d10d,_0x175555);_0x5f0321=_0x4f7efc['ep'],_0x50cebb=_0x4f7efc['nodep'],_0x2e0488=_0x4f7efc['argpp'],_0x33ec18=_0x4f7efc['mp'],_0x4190f3=_0x4f7efc['inclp'];_0x4190f3<0x0&&(_0x4190f3=-_0x4190f3,_0x50cebb+=pi,_0x2e0488-=pi);if(_0x5f0321<0x0||_0x5f0321>0x1)return _0x21d10d[_0x4d5fc0(0x3f0,0x465)]=0x3,[![],![]];}_0x21d10d['method']==='d'&&(_0x8c373f=Math['sin'](_0x4190f3),_0x7ff1b2=Math[_0x477848(0x442,0x481)](_0x4190f3),_0x21d10d[_0x477848(0x57f,0x418)]=-0.5*j3oj2*_0x8c373f,Math['abs'](_0x7ff1b2+0x1)>1.5e-12?_0x21d10d['xlcof']=-0.25*j3oj2*_0x8c373f*(0x3+0x5*_0x7ff1b2)/(0x1+_0x7ff1b2):_0x21d10d['xlcof']=-0.25*j3oj2*_0x8c373f*(0x3+0x5*_0x7ff1b2)/_0x5aa246);var _0x423d67=_0x5f0321*Math[_0x477848(0x528,0x481)](_0x2e0488);_0xf8f6be=0x1/(_0x5ba40c*(0x1-_0x5f0321*_0x5f0321));var _0x543dab=_0x5f0321*Math[_0x477848(0x4d6,0x432)](_0x2e0488)+_0xf8f6be*_0x21d10d['aycof'],_0x1f8a9b=_0x33ec18+_0x2e0488+_0x50cebb+_0xf8f6be*_0x21d10d[_0x4d5fc0(0x382,0x4df)]*_0x423d67,_0x3f3f02=(_0x1f8a9b-_0x50cebb)%twoPi;_0x4f134e=_0x3f3f02,_0xd94bb9=9999.9;var _0x4ab153=0x1;while(Math[_0x4d5fc0(0x5b5,0x4d1)](_0xd94bb9)>=1e-12&&_0x4ab153<=0xa){_0x263971=Math[_0x4d5fc0(0x54e,0x4c2)](_0x4f134e),_0x107e1b=Math['cos'](_0x4f134e),_0xd94bb9=0x1-_0x107e1b*_0x423d67-_0x263971*_0x543dab,_0xd94bb9=(_0x3f3f02-_0x543dab*_0x107e1b+_0x423d67*_0x263971-_0x4f134e)/_0xd94bb9,Math[_0x4d5fc0(0x4e8,0x4d1)](_0xd94bb9)>=0.95&&(_0xd94bb9>0x0?_0xd94bb9=0.95:_0xd94bb9=-0.95),_0x4f134e+=_0xd94bb9,_0x4ab153+=0x1;}var _0x5853af=_0x423d67*_0x107e1b+_0x543dab*_0x263971,_0x4372ee=_0x423d67*_0x263971-_0x543dab*_0x107e1b,_0x2ac06d=_0x423d67*_0x423d67+_0x543dab*_0x543dab,_0x4290d2=_0x5ba40c*(0x1-_0x2ac06d);if(_0x4290d2<0x0)return _0x21d10d['error']=0x4,[![],![]];var _0x3948f9=_0x5ba40c*(0x1-_0x5853af),_0x1b3241=Math['sqrt'](_0x5ba40c)*_0x4372ee/_0x3948f9,_0x14bfa0=Math[_0x477848(0x656,0x501)](_0x4290d2)/_0x3948f9,_0x5a2098=Math[_0x4d5fc0(0x632,0x591)](0x1-_0x2ac06d);_0xf8f6be=_0x4372ee/(0x1+_0x5a2098);var _0x5e4860=_0x5ba40c/_0x3948f9*(_0x263971-_0x543dab-_0x423d67*_0xf8f6be),_0x416ab8=_0x5ba40c/_0x3948f9*(_0x107e1b-_0x423d67+_0x543dab*_0xf8f6be);_0x50a7f2=Math['atan2'](_0x5e4860,_0x416ab8);var _0x1984bd=(_0x416ab8+_0x416ab8)*_0x5e4860,_0x10e15d=0x1-0x2*_0x5e4860*_0x5e4860;_0xf8f6be=0x1/_0x4290d2;var _0x33145e=0.5*j2*_0xf8f6be,_0xd5a9d1=_0x33145e*_0xf8f6be;_0x21d10d[_0x4d5fc0(0x5e8,0x624)]==='d'&&(_0x4e0976=_0x7ff1b2*_0x7ff1b2,_0x21d10d[_0x4d5fc0(0x63f,0x649)]=0x3*_0x4e0976-0x1,_0x21d10d['x1mth2']=0x1-_0x4e0976,_0x21d10d[_0x4d5fc0(0x6c7,0x59c)]=0x7*_0x4e0976-0x1);var _0x116abf=_0x3948f9*(0x1-1.5*_0xd5a9d1*_0x5a2098*_0x21d10d['con41'])+0.5*_0x33145e*_0x21d10d[_0x4d5fc0(0x53c,0x539)]*_0x10e15d;if(_0x116abf<0x1){_0x21d10d[_0x4d5fc0(0x453,0x465)]=0x6;var _0x23c7bb={};return _0x23c7bb['position']=![],_0x23c7bb[_0x4d5fc0(0x481,0x45a)]=![],_0x23c7bb;}_0x50a7f2-=0.25*_0xd5a9d1*_0x21d10d[_0x477848(0x558,0x50c)]*_0x1984bd;var _0x57faff=_0x50cebb+1.5*_0xd5a9d1*_0x7ff1b2*_0x1984bd,_0x4ce19=_0x4190f3+1.5*_0xd5a9d1*_0x7ff1b2*_0x8c373f*_0x10e15d,_0xaf833e=_0x1b3241-_0x2920ae*_0x33145e*_0x21d10d['x1mth2']*_0x1984bd/xke,_0x41e243=_0x14bfa0+_0x2920ae*_0x33145e*(_0x21d10d['x1mth2']*_0x10e15d+1.5*_0x21d10d['con41'])/xke,_0x14abfe=Math['sin'](_0x50a7f2),_0x306c3d=Math[_0x4d5fc0(0x3d9,0x511)](_0x50a7f2),_0x4fac6b=Math[_0x477848(0x56d,0x432)](_0x57faff),_0x1ab32b=Math['cos'](_0x57faff),_0x5936fa=Math[_0x477848(0x4e9,0x432)](_0x4ce19),_0x446f96=Math[_0x4d5fc0(0x3dd,0x511)](_0x4ce19),_0x2bce68=-_0x4fac6b*_0x446f96,_0x22e87e=_0x1ab32b*_0x446f96,_0x21ab46=_0x2bce68*_0x14abfe+_0x1ab32b*_0x306c3d,_0x2421ec=_0x22e87e*_0x14abfe+_0x4fac6b*_0x306c3d,_0x279caf=_0x5936fa*_0x14abfe,_0x31b230=_0x2bce68*_0x306c3d-_0x1ab32b*_0x14abfe,_0x36ccf0=_0x22e87e*_0x306c3d-_0x4fac6b*_0x14abfe,_0x297a70=_0x5936fa*_0x306c3d,_0x4f1e73={};_0x4f1e73['x']=_0x116abf*_0x21ab46*earthRadius,_0x4f1e73['y']=_0x116abf*_0x2421ec*earthRadius,_0x4f1e73['z']=_0x116abf*_0x279caf*earthRadius;var _0xc5924c=_0x4f1e73,_0x4c2553={};_0x4c2553['x']=(_0xaf833e*_0x21ab46+_0x41e243*_0x31b230)*vkmpersec,_0x4c2553['y']=(_0xaf833e*_0x2421ec+_0x41e243*_0x36ccf0)*vkmpersec,_0x4c2553['z']=(_0xaf833e*_0x279caf+_0x41e243*_0x297a70)*vkmpersec;var _0x5eaa95=_0x4c2553,_0x9627d0={};return _0x9627d0[_0x477848(0x3a1,0x31a)]=_0xc5924c,_0x9627d0['velocity']=_0x5eaa95,_0x9627d0;}function sgp4init(_0x1a40e6,_0x44fa16){var _0xd61f3c=_0x44fa16['opsmode'],_0x518028=_0x44fa16[_0x2b7fac(0x565,0x5b4)],_0x2a37dd=_0x44fa16[_0x5ea0f0(0x11d,0x23)],_0x3e5959=_0x44fa16[_0x5ea0f0(0x25c,0x285)],_0x4e32d6=_0x44fa16[_0x5ea0f0(0x140,-0x2)],_0x4676dc=_0x44fa16['xargpo'],_0x688281=_0x44fa16['xinclo'],_0x280505=_0x44fa16['xmo'],_0x5252d5=_0x44fa16['xno'],_0x1e80a1=_0x44fa16[_0x2b7fac(0x528,0x63d)],_0x543077,_0x4e039b,_0x242f53,_0x274dfb,_0xb67c8a,_0x640920,_0x1f2ef3,_0x2b4d62,_0x44213b,_0x13e030,_0x322dc1,_0x90694a,_0x4b84de,_0x154c05,_0xf89669,_0x37f0e5,_0x4501a1,_0x5bafdc,_0x1291e3,_0x57c273,_0x349179,_0x94845,_0x1bd594,_0x96b4a7,_0xce9694,_0x1e9343,_0x2c15bd;function _0x5ea0f0(_0x89028e,_0x2648c3){return _0x4a554d(_0x2648c3- -0x5c,_0x89028e);}var _0x3174a5,_0x2afd99,_0x14f5c0,_0x3138c1,_0x47a34d,_0x3213d6,_0x104212,_0xa28113,_0x17dbdb,_0x1a800d,_0x78c0e0,_0x170cb6,_0x32dcee,_0x2cb09d,_0xd27d5f,_0x428f2c,_0x5d1281,_0x109a2d,_0x134023,_0x2da08d,_0xc5aa54,_0x5ec7d1,_0x2b67b5,_0x1b3a95,_0x48b72c,_0x3ad159,_0x21c728,_0x515a96,_0x77f72e,_0x1de7ee=1.5e-12;_0x1a40e6[_0x2b7fac(0x256,0x3cd)]=0x0,_0x1a40e6['method']='n',_0x1a40e6[_0x2b7fac(0x3af,0x4ad)]=0x0,_0x1a40e6['con41']=0x0,_0x1a40e6['cc1']=0x0,_0x1a40e6['cc4']=0x0,_0x1a40e6['cc5']=0x0,_0x1a40e6['d2']=0x0,_0x1a40e6['d3']=0x0,_0x1a40e6['d4']=0x0,_0x1a40e6['delmo']=0x0,_0x1a40e6[_0x5ea0f0(0x173,0x27e)]=0x0,_0x1a40e6['argpdot']=0x0,_0x1a40e6[_0x2b7fac(0x462,0x5d2)]=0x0,_0x1a40e6['sinmao']=0x0,_0x1a40e6['t']=0x0,_0x1a40e6['t2cof']=0x0,_0x1a40e6['t3cof']=0x0,_0x1a40e6['t4cof']=0x0,_0x1a40e6['t5cof']=0x0,_0x1a40e6['x1mth2']=0x0,_0x1a40e6['x7thm1']=0x0,_0x1a40e6['mdot']=0x0,_0x1a40e6['nodedot']=0x0,_0x1a40e6['xlcof']=0x0,_0x1a40e6[_0x5ea0f0(0x229,0x184)]=0x0,_0x1a40e6[_0x5ea0f0(0x98,-0x17)]=0x0,_0x1a40e6['irez']=0x0,_0x1a40e6['d2201']=0x0,_0x1a40e6['d2211']=0x0,_0x1a40e6['d3210']=0x0,_0x1a40e6['d3222']=0x0,_0x1a40e6[_0x5ea0f0(0x335,0x2a1)]=0x0,_0x1a40e6['d4422']=0x0,_0x1a40e6['d5220']=0x0,_0x1a40e6[_0x2b7fac(0x64f,0x5ef)]=0x0,_0x1a40e6['d5421']=0x0,_0x1a40e6[_0x5ea0f0(0x160,0x253)]=0x0,_0x1a40e6['dedt']=0x0,_0x1a40e6['del1']=0x0,_0x1a40e6[_0x2b7fac(0x352,0x477)]=0x0,_0x1a40e6[_0x5ea0f0(0x118,0x1ad)]=0x0,_0x1a40e6['didt']=0x0,_0x1a40e6[_0x5ea0f0(0x143,0x20e)]=0x0,_0x1a40e6['dnodt']=0x0,_0x1a40e6['domdt']=0x0,_0x1a40e6['e3']=0x0,_0x1a40e6[_0x5ea0f0(0x177,0x49)]=0x0,_0x1a40e6[_0x5ea0f0(0x26,-0x37)]=0x0,_0x1a40e6[_0x2b7fac(0x3c6,0x51a)]=0x0,_0x1a40e6['pho']=0x0,_0x1a40e6['pinco']=0x0,_0x1a40e6[_0x5ea0f0(0x1a8,0x40)]=0x0,_0x1a40e6[_0x5ea0f0(0x2e9,0x225)]=0x0,_0x1a40e6['se3']=0x0,_0x1a40e6['sgh2']=0x0,_0x1a40e6['sgh3']=0x0,_0x1a40e6['sgh4']=0x0,_0x1a40e6['sh2']=0x0,_0x1a40e6['sh3']=0x0,_0x1a40e6[_0x2b7fac(0x64e,0x540)]=0x0,_0x1a40e6[_0x5ea0f0(0x237,0x181)]=0x0,_0x1a40e6['sl2']=0x0,_0x1a40e6['sl3']=0x0,_0x1a40e6['sl4']=0x0,_0x1a40e6[_0x5ea0f0(0x16,0x25)]=0x0,_0x1a40e6['xfact']=0x0,_0x1a40e6['xgh2']=0x0,_0x1a40e6[_0x2b7fac(0x256,0x397)]=0x0,_0x1a40e6['xgh4']=0x0,_0x1a40e6[_0x2b7fac(0x5b9,0x479)]=0x0,_0x1a40e6[_0x2b7fac(0x4b8,0x5db)]=0x0,_0x1a40e6['xi2']=0x0,_0x1a40e6['xi3']=0x0,_0x1a40e6['xl2']=0x0,_0x1a40e6['xl3']=0x0,_0x1a40e6['xl4']=0x0,_0x1a40e6['xlamo']=0x0,_0x1a40e6['zmol']=0x0;function _0x2b7fac(_0x364cd9,_0x4ed41b){return _0x4c8020(_0x4ed41b-0x17a,_0x364cd9);}_0x1a40e6[_0x5ea0f0(0x246,0x217)]=0x0,_0x1a40e6['atime']=0x0,_0x1a40e6[_0x2b7fac(0x68d,0x656)]=0x0,_0x1a40e6[_0x2b7fac(0x368,0x4b0)]=0x0,_0x1a40e6['bstar']=_0x3e5959,_0x1a40e6[_0x5ea0f0(0x283,0x11b)]=_0x4e32d6,_0x1a40e6['argpo']=_0x4676dc,_0x1a40e6[_0x2b7fac(0x5be,0x5a3)]=_0x688281,_0x1a40e6['mo']=_0x280505,_0x1a40e6['no']=_0x5252d5,_0x1a40e6['nodeo']=_0x1e80a1,_0x1a40e6[_0x2b7fac(0x736,0x612)]=_0xd61f3c;var _0x3dbb5b=0x4e/earthRadius+0x1,_0x5751dd=(0x78-0x4e)/earthRadius,_0x4921c3=_0x5751dd*_0x5751dd*_0x5751dd*_0x5751dd;_0x1a40e6[_0x2b7fac(0x6af,0x564)]='y',_0x1a40e6['t']=0x0;var _0x340eb9={};_0x340eb9['satn']=_0x518028,_0x340eb9[_0x2b7fac(0x5fb,0x4bc)]=_0x1a40e6['ecco'],_0x340eb9['epoch']=_0x2a37dd,_0x340eb9[_0x5ea0f0(0x22e,0x202)]=_0x1a40e6['inclo'],_0x340eb9['no']=_0x1a40e6['no'],_0x340eb9['method']=_0x1a40e6[_0x2b7fac(0x516,0x629)],_0x340eb9[_0x5ea0f0(-0x2c,0xc1)]=_0x1a40e6['operationmode'];var _0x832db5=_0x340eb9,_0x3c2343=initl(_0x832db5),_0x31077a=_0x3c2343['ao'],_0x59c4c2=_0x3c2343['con42'],_0x1a7782=_0x3c2343['cosio'],_0x54eb79=_0x3c2343[_0x5ea0f0(0x1f9,0x29a)],_0x22148e=_0x3c2343['eccsq'],_0x6304c4=_0x3c2343['omeosq'],_0x2fa1d2=_0x3c2343['posq'],_0x193c10=_0x3c2343['rp'],_0x28efec=_0x3c2343['rteosq'],_0x517f3f=_0x3c2343[_0x2b7fac(0x690,0x64a)];_0x1a40e6['no']=_0x3c2343['no'],_0x1a40e6[_0x2b7fac(0x794,0x64e)]=_0x3c2343[_0x2b7fac(0x719,0x64e)],_0x1a40e6['gsto']=_0x3c2343['gsto'],_0x1a40e6['error']=0x0;if(_0x6304c4>=0x0||_0x1a40e6['no']>=0x0){_0x1a40e6['isimp']=0x0;_0x193c10<0xdc/earthRadius+0x1&&(_0x1a40e6[_0x2b7fac(0x3ea,0x3cd)]=0x1);_0x2c15bd=_0x3dbb5b,_0x349179=_0x4921c3,_0x5bafdc=(_0x193c10-0x1)*earthRadius;if(_0x5bafdc<0x9c){_0x2c15bd=_0x5bafdc-0x4e;_0x5bafdc<0x62&&(_0x2c15bd=0x14);var _0x55b023=(0x78-_0x2c15bd)/earthRadius;_0x349179=_0x55b023*_0x55b023*_0x55b023*_0x55b023,_0x2c15bd=_0x2c15bd/earthRadius+0x1;}_0x1291e3=0x1/_0x2fa1d2,_0x134023=0x1/(_0x31077a-_0x2c15bd),_0x1a40e6['eta']=_0x31077a*_0x1a40e6[_0x5ea0f0(0x1c3,0x11b)]*_0x134023,_0x90694a=_0x1a40e6['eta']*_0x1a40e6['eta'],_0x322dc1=_0x1a40e6['ecco']*_0x1a40e6['eta'],_0x57c273=Math['abs'](0x1-_0x90694a),_0x640920=_0x349179*Math['pow'](_0x134023,0x4),_0x1f2ef3=_0x640920/Math['pow'](_0x57c273,3.5),_0x274dfb=_0x1f2ef3*_0x1a40e6['no']*(_0x31077a*(0x1+1.5*_0x90694a+_0x322dc1*(0x4+_0x90694a))+0.375*j2*_0x134023/_0x57c273*_0x1a40e6['con41']*(0x8+0x3*_0x90694a*(0x8+_0x90694a))),_0x1a40e6['cc1']=_0x1a40e6['bstar']*_0x274dfb,_0xb67c8a=0x0;_0x1a40e6[_0x2b7fac(0x447,0x4bc)]>0.0001&&(_0xb67c8a=-0x2*_0x640920*_0x134023*j3oj2*_0x1a40e6['no']*_0x517f3f/_0x1a40e6['ecco']);_0x1a40e6['x1mth2']=0x1-_0x54eb79,_0x1a40e6[_0x2b7fac(0x4a5,0x43f)]=0x2*_0x1a40e6['no']*_0x1f2ef3*_0x31077a*_0x6304c4*(_0x1a40e6['eta']*(0x2+0.5*_0x90694a)+_0x1a40e6[_0x5ea0f0(0x98,0x11b)]*(0.5+0x2*_0x90694a)-j2*_0x134023/(_0x31077a*_0x57c273)*(-0x3*_0x1a40e6['con41']*(0x1-0x2*_0x322dc1+_0x90694a*(1.5-0.5*_0x322dc1))+0.75*_0x1a40e6['x1mth2']*(0x2*_0x90694a-_0x322dc1*(0x1+_0x90694a))*Math[_0x5ea0f0(0x1db,0x175)](0x2*_0x1a40e6['argpo']))),_0x1a40e6[_0x5ea0f0(0x160,0x28e)]=0x2*_0x1f2ef3*_0x31077a*_0x6304c4*(0x1+2.75*(_0x90694a+_0x322dc1)+_0x322dc1*_0x90694a),_0x2b4d62=_0x54eb79*_0x54eb79,_0x428f2c=1.5*j2*_0x1291e3*_0x1a40e6['no'],_0x5d1281=0.5*_0x428f2c*j2*_0x1291e3,_0x109a2d=-0.46875*j4*_0x1291e3*_0x1291e3*_0x1a40e6['no'],_0x1a40e6['mdot']=_0x1a40e6['no']+0.5*_0x428f2c*_0x28efec*_0x1a40e6['con41']+0.0625*_0x5d1281*_0x28efec*(0xd-0x4e*_0x54eb79+0x89*_0x2b4d62),_0x1a40e6['argpdot']=-0.5*_0x428f2c*_0x59c4c2+0.0625*_0x5d1281*(0x7-0x72*_0x54eb79+0x18b*_0x2b4d62)+_0x109a2d*(0x3-0x24*_0x54eb79+0x31*_0x2b4d62),_0xc5aa54=-_0x428f2c*_0x1a7782,_0x1a40e6['nodedot']=_0xc5aa54+(0.5*_0x5d1281*(0x4-0x13*_0x54eb79)+0x2*_0x109a2d*(0x3-0x7*_0x54eb79))*_0x1a7782,_0x2da08d=_0x1a40e6['argpdot']+_0x1a40e6[_0x2b7fac(0x381,0x387)],_0x1a40e6['omgcof']=_0x1a40e6['bstar']*_0xb67c8a*Math['cos'](_0x1a40e6[_0x2b7fac(0x40a,0x44a)]),_0x1a40e6[_0x5ea0f0(0x121,0x184)]=0x0;_0x1a40e6[_0x2b7fac(0x5cf,0x4bc)]>0.0001&&(_0x1a40e6[_0x5ea0f0(0xe4,0x184)]=-x2o3*_0x640920*_0x1a40e6[_0x2b7fac(0x50d,0x4d9)]/_0x322dc1);_0x1a40e6[_0x2b7fac(0x3d9,0x38a)]=3.5*_0x6304c4*_0xc5aa54*_0x1a40e6[_0x5ea0f0(-0x71,0xcb)],_0x1a40e6[_0x5ea0f0(0x171,0x20d)]=1.5*_0x1a40e6['cc1'];Math['abs'](_0x1a7782+0x1)>1.5e-12?_0x1a40e6[_0x5ea0f0(0x19a,0x143)]=-0.25*j3oj2*_0x517f3f*(0x3+0x5*_0x1a7782)/(0x1+_0x1a7782):_0x1a40e6[_0x2b7fac(0x58a,0x4e4)]=-0.25*j3oj2*_0x517f3f*(0x3+0x5*_0x1a7782)/_0x1de7ee;_0x1a40e6[_0x5ea0f0(0xd7,0x10c)]=-0.5*j3oj2*_0x517f3f;var _0x5e738f=0x1+_0x1a40e6[_0x2b7fac(0x6bf,0x61f)]*Math[_0x5ea0f0(0x289,0x175)](_0x1a40e6['mo']);_0x1a40e6[_0x2b7fac(0x334,0x471)]=_0x5e738f*_0x5e738f*_0x5e738f,_0x1a40e6['sinmao']=Math[_0x5ea0f0(0x13d,0x126)](_0x1a40e6['mo']),_0x1a40e6['x7thm1']=0x7*_0x54eb79-0x1;if(0x2*pi/_0x1a40e6['no']>=0xe1){_0x1a40e6['method']='d',_0x1a40e6['isimp']=0x1,_0x2cb09d=0x0,_0xf89669=_0x1a40e6['inclo'];var _0x483600={};_0x483600[_0x2b7fac(0x3ec,0x3c4)]=_0x2a37dd,_0x483600['ep']=_0x1a40e6['ecco'],_0x483600[_0x2b7fac(0x30e,0x440)]=_0x1a40e6['argpo'],_0x483600['tc']=_0x2cb09d,_0x483600['inclp']=_0x1a40e6['inclo'],_0x483600['nodep']=_0x1a40e6['nodeo'],_0x483600['np']=_0x1a40e6['no'],_0x483600['e3']=_0x1a40e6['e3'],_0x483600['ee2']=_0x1a40e6['ee2'],_0x483600['peo']=_0x1a40e6[_0x5ea0f0(-0x194,-0x37)],_0x483600['pgho']=_0x1a40e6['pgho'],_0x483600['pho']=_0x1a40e6[_0x5ea0f0(0xcf,0x1c0)],_0x483600['pinco']=_0x1a40e6['pinco'],_0x483600['plo']=_0x1a40e6[_0x2b7fac(0x2e6,0x3e1)],_0x483600['se2']=_0x1a40e6[_0x5ea0f0(0x37a,0x225)],_0x483600['se3']=_0x1a40e6[_0x2b7fac(0x611,0x50f)],_0x483600['sgh2']=_0x1a40e6[_0x2b7fac(0x3f5,0x3dc)],_0x483600['sgh3']=_0x1a40e6['sgh3'],_0x483600[_0x2b7fac(0x5ce,0x647)]=_0x1a40e6[_0x2b7fac(0x645,0x647)],_0x483600[_0x2b7fac(0x705,0x60f)]=_0x1a40e6['sh2'],_0x483600[_0x2b7fac(0x3ce,0x3ee)]=_0x1a40e6['sh3'],_0x483600['si2']=_0x1a40e6['si2'],_0x483600[_0x5ea0f0(0x19f,0x181)]=_0x1a40e6['si3'],_0x483600['sl2']=_0x1a40e6['sl2'],_0x483600['sl3']=_0x1a40e6['sl3'],_0x483600['sl4']=_0x1a40e6['sl4'],_0x483600[_0x5ea0f0(0xc6,0x14a)]=_0x1a40e6['xgh2'],_0x483600['xgh3']=_0x1a40e6['xgh3'],_0x483600['xgh4']=_0x1a40e6['xgh4'],_0x483600[_0x5ea0f0(-0x6e,0xd8)]=_0x1a40e6['xh2'],_0x483600['xh3']=_0x1a40e6[_0x5ea0f0(0x3a0,0x23a)],_0x483600['xi2']=_0x1a40e6[_0x5ea0f0(0x121,0x1bf)],_0x483600['xi3']=_0x1a40e6[_0x2b7fac(0x4e1,0x46f)],_0x483600[_0x2b7fac(0x336,0x3a4)]=_0x1a40e6['xl2'],_0x483600[_0x5ea0f0(0x1d0,0x78)]=_0x1a40e6['xl3'],_0x483600['xl4']=_0x1a40e6['xl4'],_0x483600['zmol']=_0x1a40e6['zmol'],_0x483600[_0x5ea0f0(0x123,0x217)]=_0x1a40e6['zmos'];var _0x6c6785=_0x483600,_0x57f07c=dscom(_0x6c6785);_0x1a40e6['e3']=_0x57f07c['e3'],_0x1a40e6[_0x2b7fac(0x2f9,0x3ea)]=_0x57f07c['ee2'],_0x1a40e6[_0x5ea0f0(-0xb8,-0x37)]=_0x57f07c[_0x5ea0f0(-0x78,-0x37)],_0x1a40e6['pgho']=_0x57f07c['pgho'],_0x1a40e6[_0x2b7fac(0x5a8,0x561)]=_0x57f07c['pho'],_0x1a40e6['pinco']=_0x57f07c['pinco'],_0x1a40e6[_0x5ea0f0(-0x90,0x40)]=_0x57f07c[_0x2b7fac(0x2ef,0x3e1)],_0x1a40e6['se2']=_0x57f07c[_0x5ea0f0(0x346,0x225)],_0x1a40e6['se3']=_0x57f07c['se3'],_0x1a40e6[_0x2b7fac(0x46f,0x3dc)]=_0x57f07c[_0x5ea0f0(0x164,0x3b)],_0x1a40e6[_0x5ea0f0(0xc1,0xb2)]=_0x57f07c['sgh3'],_0x1a40e6['sgh4']=_0x57f07c[_0x5ea0f0(0x1d5,0x2a6)],_0x1a40e6[_0x2b7fac(0x556,0x60f)]=_0x57f07c['sh2'],_0x1a40e6['sh3']=_0x57f07c['sh3'],_0x1a40e6[_0x2b7fac(0x5a0,0x540)]=_0x57f07c[_0x5ea0f0(0x180,0x19f)],_0x1a40e6['si3']=_0x57f07c['si3'],_0x1a40e6[_0x5ea0f0(0x310,0x2b0)]=_0x57f07c['sl2'],_0x1a40e6['sl3']=_0x57f07c['sl3'],_0x1a40e6[_0x2b7fac(0x44c,0x47b)]=_0x57f07c['sl4'],_0x4e039b=_0x57f07c['sinim'],_0x543077=_0x57f07c['cosim'],_0x44213b=_0x57f07c['em'],_0x13e030=_0x57f07c['emsq'],_0x94845=_0x57f07c['s1'],_0x1bd594=_0x57f07c['s2'],_0x96b4a7=_0x57f07c['s3'],_0xce9694=_0x57f07c['s4'],_0x1e9343=_0x57f07c['s5'],_0x3174a5=_0x57f07c['ss1'],_0x2afd99=_0x57f07c['ss2'],_0x14f5c0=_0x57f07c['ss3'],_0x3138c1=_0x57f07c['ss4'],_0x47a34d=_0x57f07c[_0x2b7fac(0x5cf,0x5cd)],_0x3213d6=_0x57f07c['sz1'],_0x104212=_0x57f07c[_0x5ea0f0(0x19,0x160)],_0xa28113=_0x57f07c[_0x5ea0f0(-0x2,0xaf)],_0x17dbdb=_0x57f07c['sz13'],_0x1a800d=_0x57f07c['sz21'],_0x78c0e0=_0x57f07c['sz23'],_0x170cb6=_0x57f07c['sz31'],_0x32dcee=_0x57f07c['sz33'],_0x1a40e6[_0x2b7fac(0x55a,0x4eb)]=_0x57f07c[_0x5ea0f0(0x143,0x14a)],_0x1a40e6['xgh3']=_0x57f07c[_0x5ea0f0(-0xc8,-0xa)],_0x1a40e6['xgh4']=_0x57f07c[_0x5ea0f0(0x121,0x69)],_0x1a40e6[_0x5ea0f0(0x178,0xd8)]=_0x57f07c[_0x5ea0f0(0x14e,0xd8)],_0x1a40e6['xh3']=_0x57f07c['xh3'],_0x1a40e6[_0x5ea0f0(0x1d9,0x1bf)]=_0x57f07c[_0x5ea0f0(0x27f,0x1bf)],_0x1a40e6[_0x2b7fac(0x483,0x46f)]=_0x57f07c[_0x2b7fac(0x473,0x46f)],_0x1a40e6['xl2']=_0x57f07c['xl2'],_0x1a40e6['xl3']=_0x57f07c['xl3'],_0x1a40e6['xl4']=_0x57f07c['xl4'],_0x1a40e6[_0x2b7fac(0x5ff,0x5ee)]=_0x57f07c['zmol'],_0x1a40e6[_0x5ea0f0(0x272,0x217)]=_0x57f07c[_0x2b7fac(0x586,0x5b8)],_0x4501a1=_0x57f07c['nm'],_0x5ec7d1=_0x57f07c['z1'],_0x2b67b5=_0x57f07c['z3'],_0x1b3a95=_0x57f07c['z11'],_0x48b72c=_0x57f07c[_0x2b7fac(0x330,0x439)],_0x3ad159=_0x57f07c['z21'],_0x21c728=_0x57f07c['z23'],_0x515a96=_0x57f07c['z31'],_0x77f72e=_0x57f07c[_0x5ea0f0(0x36b,0x248)];var _0x37aff4={};_0x37aff4['inclo']=_0xf89669,_0x37aff4[_0x2b7fac(0x481,0x564)]=_0x1a40e6[_0x2b7fac(0x4af,0x564)],_0x37aff4['ep']=_0x1a40e6['ecco'],_0x37aff4[_0x5ea0f0(0x1e7,0x24f)]=_0x1a40e6[_0x5ea0f0(0x10b,0x202)],_0x37aff4['nodep']=_0x1a40e6[_0x2b7fac(0x51a,0x565)],_0x37aff4['argpp']=_0x1a40e6['argpo'],_0x37aff4['mp']=_0x1a40e6['mo'],_0x37aff4['opsmode']=_0x1a40e6[_0x5ea0f0(0x203,0x271)];var _0x4ec233=_0x37aff4,_0x312377=dpper(_0x1a40e6,_0x4ec233);_0x1a40e6['ecco']=_0x312377['ep'],_0x1a40e6[_0x2b7fac(0x6d0,0x5a3)]=_0x312377[_0x2b7fac(0x5ad,0x5f0)],_0x1a40e6['nodeo']=_0x312377['nodep'],_0x1a40e6['argpo']=_0x312377[_0x2b7fac(0x398,0x440)],_0x1a40e6['mo']=_0x312377['mp'],_0x4b84de=0x0,_0x154c05=0x0,_0x37f0e5=0x0;var _0x516fc4={};_0x516fc4[_0x2b7fac(0x241,0x37e)]=_0x543077,_0x516fc4[_0x5ea0f0(0xc0,0x27)]=_0x13e030,_0x516fc4['argpo']=_0x1a40e6[_0x5ea0f0(0x14b,0xa9)],_0x516fc4['s1']=_0x94845,_0x516fc4['s2']=_0x1bd594,_0x516fc4['s3']=_0x96b4a7,_0x516fc4['s4']=_0xce9694,_0x516fc4['s5']=_0x1e9343,_0x516fc4[_0x5ea0f0(0x8,0x8)]=_0x4e039b,_0x516fc4[_0x2b7fac(0x5aa,0x588)]=_0x3174a5,_0x516fc4['ss2']=_0x2afd99,_0x516fc4[_0x2b7fac(0x376,0x4a5)]=_0x14f5c0,_0x516fc4['ss4']=_0x3138c1,_0x516fc4['ss5']=_0x47a34d,_0x516fc4[_0x2b7fac(0x5f9,0x586)]=_0x3213d6,_0x516fc4[_0x2b7fac(0x4ac,0x501)]=_0x104212,_0x516fc4['sz11']=_0xa28113,_0x516fc4['sz13']=_0x17dbdb,_0x516fc4[_0x2b7fac(0x514,0x5ac)]=_0x1a800d,_0x516fc4['sz23']=_0x78c0e0,_0x516fc4['sz31']=_0x170cb6,_0x516fc4['sz33']=_0x32dcee,_0x516fc4['t']=_0x1a40e6['t'],_0x516fc4['tc']=_0x2cb09d,_0x516fc4[_0x2b7fac(0x518,0x3c6)]=_0x1a40e6['gsto'],_0x516fc4['mo']=_0x1a40e6['mo'],_0x516fc4['mdot']=_0x1a40e6[_0x2b7fac(0x5cc,0x558)],_0x516fc4['no']=_0x1a40e6['no'],_0x516fc4['nodeo']=_0x1a40e6[_0x2b7fac(0x489,0x565)],_0x516fc4[_0x5ea0f0(0x96,-0x1a)]=_0x1a40e6['nodedot'],_0x516fc4['xpidot']=_0x2da08d,_0x516fc4['z1']=_0x5ec7d1,_0x516fc4['z3']=_0x2b67b5,_0x516fc4['z11']=_0x1b3a95,_0x516fc4['z13']=_0x48b72c,_0x516fc4[_0x5ea0f0(0x102,0x7c)]=_0x3ad159,_0x516fc4['z23']=_0x21c728,_0x516fc4['z31']=_0x515a96,_0x516fc4[_0x2b7fac(0x638,0x5e9)]=_0x77f72e,_0x516fc4['ecco']=_0x1a40e6[_0x2b7fac(0x5ce,0x4bc)],_0x516fc4[_0x5ea0f0(0x1d9,0xd3)]=_0x22148e,_0x516fc4['em']=_0x44213b,_0x516fc4[_0x2b7fac(0x3cf,0x39b)]=_0x4b84de,_0x516fc4[_0x5ea0f0(-0x4a,0x59)]=_0xf89669,_0x516fc4['mm']=_0x37f0e5,_0x516fc4['nm']=_0x4501a1,_0x516fc4[_0x5ea0f0(-0x16,0x2b)]=_0x154c05,_0x516fc4['irez']=_0x1a40e6['irez'],_0x516fc4['atime']=_0x1a40e6[_0x2b7fac(0x70c,0x5dc)],_0x516fc4[_0x2b7fac(0x658,0x634)]=_0x1a40e6['d2201'],_0x516fc4['d2211']=_0x1a40e6[_0x5ea0f0(0x177,0x25d)],_0x516fc4[_0x2b7fac(0x26a,0x3d8)]=_0x1a40e6['d3210'],_0x516fc4['d3222']=_0x1a40e6[_0x5ea0f0(-0xe2,0x85)],_0x516fc4['d4410']=_0x1a40e6[_0x5ea0f0(0x1d2,0x2a1)],_0x516fc4['d4422']=_0x1a40e6[_0x5ea0f0(0x73,0x89)],_0x516fc4['d5220']=_0x1a40e6[_0x2b7fac(0x5e6,0x4f4)],_0x516fc4[_0x5ea0f0(0x216,0x24e)]=_0x1a40e6['d5232'],_0x516fc4[_0x5ea0f0(-0xdb,0x94)]=_0x1a40e6['d5421'],_0x516fc4[_0x5ea0f0(0x21d,0x253)]=_0x1a40e6['d5433'],_0x516fc4['dedt']=_0x1a40e6['dedt'],_0x516fc4['didt']=_0x1a40e6['didt'],_0x516fc4['dmdt']=_0x1a40e6[_0x2b7fac(0x48b,0x5af)],_0x516fc4[_0x2b7fac(0x4d7,0x537)]=_0x1a40e6['dnodt'],_0x516fc4[_0x2b7fac(0x3b6,0x50d)]=_0x1a40e6['domdt'],_0x516fc4[_0x5ea0f0(-0x6a,-0xd)]=_0x1a40e6['del1'],_0x516fc4['del2']=_0x1a40e6[_0x2b7fac(0x3e6,0x477)],_0x516fc4['del3']=_0x1a40e6[_0x2b7fac(0x4a1,0x54e)],_0x516fc4['xfact']=_0x1a40e6[_0x2b7fac(0x418,0x49f)],_0x516fc4['xlamo']=_0x1a40e6[_0x2b7fac(0x4c5,0x5e4)],_0x516fc4['xli']=_0x1a40e6['xli'],_0x516fc4[_0x5ea0f0(0x269,0x10f)]=_0x1a40e6['xni'];var _0x5a8942=_0x516fc4,_0x169f5d=dsinit(_0x5a8942);_0x1a40e6[_0x5ea0f0(0x170,0x201)]=_0x169f5d[_0x2b7fac(0x5f6,0x5a2)],_0x1a40e6[_0x5ea0f0(0x17f,0x23b)]=_0x169f5d[_0x5ea0f0(0x1b0,0x23b)],_0x1a40e6['d2201']=_0x169f5d[_0x5ea0f0(0x3c5,0x293)],_0x1a40e6[_0x2b7fac(0x5ab,0x5fe)]=_0x169f5d['d2211'],_0x1a40e6['d3210']=_0x169f5d[_0x5ea0f0(0x19c,0x37)],_0x1a40e6['d3222']=_0x169f5d[_0x2b7fac(0x380,0x426)],_0x1a40e6[_0x2b7fac(0x6df,0x642)]=_0x169f5d['d4410'],_0x1a40e6['d4422']=_0x169f5d['d4422'],_0x1a40e6['d5220']=_0x169f5d['d5220'],_0x1a40e6['d5232']=_0x169f5d['d5232'],_0x1a40e6['d5421']=_0x169f5d['d5421'],_0x1a40e6['d5433']=_0x169f5d['d5433'],_0x1a40e6['dedt']=_0x169f5d[_0x2b7fac(0x5ad,0x50a)],_0x1a40e6['didt']=_0x169f5d['didt'],_0x1a40e6['dmdt']=_0x169f5d['dmdt'],_0x1a40e6[_0x5ea0f0(0x14d,0x196)]=_0x169f5d[_0x5ea0f0(0x2c4,0x196)],_0x1a40e6['domdt']=_0x169f5d['domdt'],_0x1a40e6['del1']=_0x169f5d[_0x2b7fac(0x3bc,0x394)],_0x1a40e6['del2']=_0x169f5d['del2'],_0x1a40e6['del3']=_0x169f5d[_0x5ea0f0(0x86,0x1ad)],_0x1a40e6[_0x5ea0f0(0x181,0xfe)]=_0x169f5d[_0x2b7fac(0x3b0,0x49f)],_0x1a40e6[_0x5ea0f0(0x348,0x243)]=_0x169f5d['xlamo'],_0x1a40e6['xli']=_0x169f5d['xli'],_0x1a40e6['xni']=_0x169f5d[_0x5ea0f0(0x7,0x10f)];}_0x1a40e6['isimp']!==0x1&&(_0x242f53=_0x1a40e6['cc1']*_0x1a40e6['cc1'],_0x1a40e6['d2']=0x4*_0x31077a*_0x134023*_0x242f53,_0xd27d5f=_0x1a40e6['d2']*_0x134023*_0x1a40e6[_0x5ea0f0(0xa6,0xcb)]/0x3,_0x1a40e6['d3']=(0x11*_0x31077a+_0x2c15bd)*_0xd27d5f,_0x1a40e6['d4']=0.5*_0xd27d5f*_0x31077a*_0x134023*(0xdd*_0x31077a+0x1f*_0x2c15bd)*_0x1a40e6['cc1'],_0x1a40e6['t3cof']=_0x1a40e6['d2']+0x2*_0x242f53,_0x1a40e6['t4cof']=0.25*(0x3*_0x1a40e6['d3']+_0x1a40e6['cc1']*(0xc*_0x1a40e6['d2']+0xa*_0x242f53)),_0x1a40e6['t5cof']=0.2*(0x3*_0x1a40e6['d4']+0xc*_0x1a40e6[_0x2b7fac(0x38a,0x46c)]*_0x1a40e6['d3']+0x6*_0x1a40e6['d2']*_0x1a40e6['d2']+0xf*_0x242f53*(0x2*_0x1a40e6['d2']+_0x242f53)));}sgp4(_0x1a40e6,0x0),_0x1a40e6['init']='n';}function twoline2satrec(_0x88b8fe,_0x43e7a0){var _0x327db8='i',_0xc8082c=0x5a0/(0x2*pi),_0x5d09c1=0x0,_0x2905f3={};_0x2905f3['error']=0x0,_0x2905f3[_0x3ab742(0x7,-0x32)]=_0x88b8fe[_0x50fcd6(0x11f,0x11d)](0x2,0x7),_0x2905f3[_0x3ab742(0x205,0xf6)]=parseInt(_0x88b8fe['substring'](0x12,0x14),0xa),_0x2905f3[_0x50fcd6(-0x142,0xf)]=parseFloat(_0x88b8fe['substring'](0x14,0x20)),_0x2905f3[_0x3ab742(-0x5f,-0x69)]=parseFloat(_0x88b8fe['substring'](0x21,0x2b)),_0x2905f3['nddot']=parseFloat('.'['concat'](parseInt(_0x88b8fe['substring'](0x2c,0x32),0xa),'E')[_0x50fcd6(-0x19,-0x86)](_0x88b8fe['substring'](0x32,0x34))),_0x2905f3['bstar']=parseFloat(''['concat'](_0x88b8fe[_0x50fcd6(0x32,0x11d)](0x35,0x36),'.')[_0x50fcd6(-0x80,-0x86)](parseInt(_0x88b8fe['substring'](0x36,0x3b),0xa),'E')['concat'](_0x88b8fe['substring'](0x3b,0x3d))),_0x2905f3['inclo']=parseFloat(_0x43e7a0[_0x50fcd6(0x183,0x11d)](0x8,0x10)),_0x2905f3['nodeo']=parseFloat(_0x43e7a0[_0x3ab742(0x171,0x113)](0x11,0x19)),_0x2905f3['ecco']=parseFloat('.'[_0x50fcd6(-0x1d9,-0x86)](_0x43e7a0['substring'](0x1a,0x21))),_0x2905f3['argpo']=parseFloat(_0x43e7a0[_0x50fcd6(0x21e,0x11d)](0x22,0x2a)),_0x2905f3['mo']=parseFloat(_0x43e7a0[_0x50fcd6(0x7e,0x11d)](0x2b,0x33)),_0x2905f3['no']=parseFloat(_0x43e7a0['substring'](0x34,0x3f)),_0x2905f3['no']/=_0xc8082c;function _0x3ab742(_0x367508,_0x3ee74a){return _0x4c8020(_0x3ee74a- -0x3a1,_0x367508);}function _0x50fcd6(_0x157d05,_0x154f46){return _0x4a554d(_0x154f46- -0x1cc,_0x157d05);}_0x2905f3['a']=Math['pow'](_0x2905f3['no']*tumin,-0x2/0x3),_0x2905f3[_0x50fcd6(0x4f,-0x5f)]/=_0xc8082c*0x5a0,_0x2905f3['nddot']/=_0xc8082c*0x5a0*0x5a0,_0x2905f3['inclo']*=deg2rad,_0x2905f3['nodeo']*=deg2rad,_0x2905f3[_0x3ab742(-0x1bf,-0xd1)]*=deg2rad,_0x2905f3['mo']*=deg2rad,_0x2905f3['alta']=_0x2905f3['a']*(0x1+_0x2905f3['ecco'])-0x1,_0x2905f3[_0x3ab742(-0x118,-0x142)]=_0x2905f3['a']*(0x1-_0x2905f3[_0x3ab742(0x5c,-0x5f)])-0x1;_0x2905f3[_0x50fcd6(0x118,0x100)]<0x39?_0x5d09c1=_0x2905f3['epochyr']+0x7d0:_0x5d09c1=_0x2905f3[_0x50fcd6(0x22a,0x100)]+0x76c;var _0x5ee740=days2mdhms(_0x5d09c1,_0x2905f3['epochdays']),_0x2a8588=_0x5ee740['mon'],_0x23339d=_0x5ee740['day'],_0x153d76=_0x5ee740['hr'],_0x1866be=_0x5ee740['minute'],_0x10aae4=_0x5ee740['sec'];return _0x2905f3['jdsatepoch']=jday(_0x5d09c1,_0x2a8588,_0x23339d,_0x153d76,_0x1866be,_0x10aae4),sgp4init(_0x2905f3,{'opsmode':_0x327db8,'satn':_0x2905f3[_0x3ab742(-0xf1,-0x32)],'epoch':_0x2905f3['jdsatepoch']-2433281.5,'xbstar':_0x2905f3['bstar'],'xecco':_0x2905f3['ecco'],'xargpo':_0x2905f3[_0x3ab742(-0x85,-0xd1)],'xinclo':_0x2905f3['inclo'],'xmo':_0x2905f3['mo'],'xno':_0x2905f3['no'],'xnodeo':_0x2905f3[_0x50fcd6(0x19d,0x54)]}),_0x2905f3;}function _toConsumableArray(_0x20328c){return _arrayWithoutHoles(_0x20328c)||_iterableToArray(_0x20328c)||_unsupportedIterableToArray(_0x20328c)||_nonIterableSpread();}function _arrayWithoutHoles(_0x10c2d7){if(Array['isArray'](_0x10c2d7))return _arrayLikeToArray(_0x10c2d7);}function _iterableToArray(_0xd9c80f){function _0x5b0496(_0x2f1bef,_0x58db4d){return _0x4c8020(_0x2f1bef- -0x528,_0x58db4d);}if(typeof Symbol!==_0x5b0496(-0x280,-0x31d)&&Symbol['iterator']in Object(_0xd9c80f))return Array['from'](_0xd9c80f);}function _unsupportedIterableToArray(_0x1a188f,_0x135f6b){if(!_0x1a188f)return;if(typeof _0x1a188f==='string')return _arrayLikeToArray(_0x1a188f,_0x135f6b);var _0x1580e8=Object['prototype'][_0x4fbc92(0x234,0x139)]['call'](_0x1a188f)[_0x4fbc92(0x4eb,0x41a)](0x8,-0x1);function _0x4fbc92(_0x3d4747,_0x57bea7){return _0x4a554d(_0x57bea7-0x10d,_0x3d4747);}if(_0x1580e8==='Object'&&_0x1a188f[_0x6d45f3(0x2ca,0x435)])_0x1580e8=_0x1a188f['constructor']['name'];if(_0x1580e8==='Map'||_0x1580e8===_0x6d45f3(0x391,0x2ad))return Array['from'](_0x1a188f);function _0x6d45f3(_0x5278c1,_0x5a9c9b){return _0x4a554d(_0x5278c1-0x116,_0x5a9c9b);}if(_0x1580e8==='Arguments'||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/[_0x6d45f3(0x411,0x2e2)](_0x1580e8))return _arrayLikeToArray(_0x1a188f,_0x135f6b);}function _arrayLikeToArray(_0x2419d4,_0x2a2f30){if(_0x2a2f30==null||_0x2a2f30>_0x2419d4['length'])_0x2a2f30=_0x2419d4['length'];for(var _0x556dbd=0x0,_0x1912f3=new Array(_0x2a2f30);_0x556dbd<_0x2a2f30;_0x556dbd++)_0x1912f3[_0x556dbd]=_0x2419d4[_0x556dbd];return _0x1912f3;}function _nonIterableSpread(){throw new TypeError('Invalid\x20attempt\x20to\x20spread\x20non-iterable\x20instance.\x0aIn\x20order\x20to\x20be\x20iterable,\x20non-array\x20objects\x20must\x20have\x20a\x20[Symbol.iterator]()\x20method.');}function propagate(){for(var _0x5a848e=arguments[_0x4848c2(-0x15f,-0x2cf)],_0x378488=new Array(_0x5a848e),_0x261643=0x0;_0x261643<_0x5a848e;_0x261643++){_0x378488[_0x261643]=arguments[_0x261643];}var _0x948898=_0x378488[0x0];function _0x393e79(_0x4fa2b3,_0x3e995e){return _0x4a554d(_0x3e995e-0xa8,_0x4fa2b3);}var _0x212be7=Array['prototype']['slice'][_0x4848c2(-0x1f2,-0x92)](_0x378488,0x1);function _0x4848c2(_0x4caddc,_0x460445){return _0x4a554d(_0x4caddc- -0x2cb,_0x460445);}var _0x5d2ccd=jday['apply'](void 0x0,_toConsumableArray(_0x212be7)),_0x2dbff6=(_0x5d2ccd-_0x948898[_0x393e79(0x401,0x384)])*minutesPerDay;return sgp4(_0x948898,_0x2dbff6);}function dopplerFactor(_0xccc82f,_0x415fdf,_0x3ec2bf){var _0x5239c6=0.00007292115,_0xee04b0=299792.458,_0x13619c={};_0x13619c['x']=_0x415fdf['x']-_0xccc82f['x'];function _0x49727d(_0x3679a5,_0x198db4){return _0x4a554d(_0x3679a5-0x25f,_0x198db4);}_0x13619c['y']=_0x415fdf['y']-_0xccc82f['y'],_0x13619c['z']=_0x415fdf['z']-_0xccc82f['z'];function _0x329730(_0xa27af6,_0x45108c){return _0x4a554d(_0xa27af6-0x20e,_0x45108c);}var _0x700e8c=_0x13619c;_0x700e8c['w']=Math[_0x329730(0x45f,0x4cd)](Math['pow'](_0x700e8c['x'],0x2)+Math['pow'](_0x700e8c['y'],0x2)+Math[_0x329730(0x518,0x609)](_0x700e8c['z'],0x2));var _0x4f8c39={};_0x4f8c39['x']=_0x3ec2bf['x']+_0x5239c6*_0xccc82f['y'],_0x4f8c39['y']=_0x3ec2bf['y']-_0x5239c6*_0xccc82f['x'],_0x4f8c39['z']=_0x3ec2bf['z'];var _0x19a926=_0x4f8c39;function _0x5db5f7(_0x3b53dd){return _0x3b53dd>=0x0?0x1:-0x1;}var _0x30df43=(_0x700e8c['x']*_0x19a926['x']+_0x700e8c['y']*_0x19a926['y']+_0x700e8c['z']*_0x19a926['z'])/_0x700e8c['w'];return 0x1+_0x30df43/_0xee04b0*_0x5db5f7(_0x30df43);}function radiansToDegrees(_0x39ac8d){return _0x39ac8d*rad2deg;}function degreesToRadians(_0x2d1ac8){return _0x2d1ac8*deg2rad;}function degreesLat(_0x3f4df7){function _0x3b5892(_0x9ac1b6,_0x2bd62d){return _0x4a554d(_0x2bd62d-0x291,_0x9ac1b6);}if(_0x3f4df7<-pi/0x2||_0x3f4df7>pi/0x2)throw new RangeError(_0x3b5892(0x51d,0x4a7));return radiansToDegrees(_0x3f4df7);}function degreesLong(_0x5b2bbb){if(_0x5b2bbb<-pi||_0x5b2bbb>pi)throw new RangeError('Longitude\x20radians\x20must\x20be\x20in\x20range\x20[-pi;\x20pi].');return radiansToDegrees(_0x5b2bbb);}function radiansLat(_0x32e717){if(_0x32e717<-0x5a||_0x32e717>0x5a)throw new RangeError('Latitude\x20degrees\x20must\x20be\x20in\x20range\x20[-90;\x2090].');return degreesToRadians(_0x32e717);}function radiansLong(_0x52288b){function _0x5a5c5d(_0x4d29ff,_0x44c193){return _0x4a554d(_0x44c193- -0x7a,_0x4d29ff);}if(_0x52288b<-0xb4||_0x52288b>0xb4)throw new RangeError(_0x5a5c5d(0x12d,0x32));return degreesToRadians(_0x52288b);}function geodeticToEcf(_0x2ad428){var _0xae43ea=_0x2ad428['longitude'],_0x308ef4=_0x2ad428[_0x37c220(-0x89,0x82)],_0x281c4e=_0x2ad428['height'];function _0x4df6f5(_0x101194,_0x4b187a){return _0x4a554d(_0x101194- -0xbb,_0x4b187a);}var _0xe435ab=6378.137,_0x114124=6356.7523142,_0x5613dc=(_0xe435ab-_0x114124)/_0xe435ab,_0x1c7090=0x2*_0x5613dc-_0x5613dc*_0x5613dc,_0x3682fb=_0xe435ab/Math['sqrt'](0x1-_0x1c7090*(Math['sin'](_0x308ef4)*Math['sin'](_0x308ef4)));function _0x37c220(_0x27c534,_0x22129f){return _0x4c8020(_0x27c534- -0x373,_0x22129f);}var _0x1e4f4a=(_0x3682fb+_0x281c4e)*Math['cos'](_0x308ef4)*Math[_0x37c220(0x29,0x11f)](_0xae43ea),_0x18b71e=(_0x3682fb+_0x281c4e)*Math['cos'](_0x308ef4)*Math['sin'](_0xae43ea),_0x571213=(_0x3682fb*(0x1-_0x1c7090)+_0x281c4e)*Math[_0x37c220(-0x26,0x103)](_0x308ef4),_0x370cbb={};return _0x370cbb['x']=_0x1e4f4a,_0x370cbb['y']=_0x18b71e,_0x370cbb['z']=_0x571213,_0x370cbb;}function eciToGeodetic(_0x4f8c82,_0x5024b5){var _0x10ab07=6378.137,_0x3eb3a0=6356.7523142,_0x2b8c74=Math['sqrt'](_0x4f8c82['x']*_0x4f8c82['x']+_0x4f8c82['y']*_0x4f8c82['y']),_0x490e6d=(_0x10ab07-_0x3eb3a0)/_0x10ab07,_0x964ddd=0x2*_0x490e6d-_0x490e6d*_0x490e6d,_0x1e9d66=Math['atan2'](_0x4f8c82['y'],_0x4f8c82['x'])-_0x5024b5;function _0x1836bd(_0x35c62a,_0x3573bf){return _0x4a554d(_0x3573bf- -0x2e2,_0x35c62a);}while(_0x1e9d66<-pi){_0x1e9d66+=twoPi;}while(_0x1e9d66>pi){_0x1e9d66-=twoPi;}var _0x5af470=0x14,_0x516dc3=0x0,_0x279613=Math['atan2'](_0x4f8c82['z'],Math['sqrt'](_0x4f8c82['x']*_0x4f8c82['x']+_0x4f8c82['y']*_0x4f8c82['y'])),_0x484c20;while(_0x516dc3<_0x5af470){_0x484c20=0x1/Math['sqrt'](0x1-_0x964ddd*(Math[_0x4d5152(0x548,0x3f3)](_0x279613)*Math['sin'](_0x279613))),_0x279613=Math[_0x4d5152(0x508,0x617)](_0x4f8c82['z']+_0x10ab07*_0x484c20*_0x964ddd*Math[_0x1836bd(-0x8c,-0x160)](_0x279613),_0x2b8c74),_0x516dc3+=0x1;}var _0xd21973=_0x2b8c74/Math['cos'](_0x279613)-_0x10ab07*_0x484c20;function _0x4d5152(_0x266bbb,_0x1e4f18){return _0x4a554d(_0x266bbb-0x3c6,_0x1e4f18);}var _0x42c622={};return _0x42c622[_0x4d5152(0x697,0x6be)]=_0x1e9d66,_0x42c622[_0x4d5152(0x4e5,0x634)]=_0x279613,_0x42c622[_0x1836bd(-0x168,-0x1ca)]=_0xd21973,_0x42c622;}function ecfToEci(_0x5713cf,_0x2f2106){function _0xc667de(_0x5a4967,_0x168d05){return _0x4a554d(_0x5a4967- -0x2f4,_0x168d05);}var _0x2f3a2a=_0x5713cf['x']*Math[_0xc667de(-0x123,-0x11d)](_0x2f2106)-_0x5713cf['y']*Math['sin'](_0x2f2106),_0x3dc168=_0x5713cf['x']*Math['sin'](_0x2f2106)+_0x5713cf['y']*Math['cos'](_0x2f2106),_0x193f67=_0x5713cf['z'],_0x17e8e0={};return _0x17e8e0['x']=_0x2f3a2a,_0x17e8e0['y']=_0x3dc168,_0x17e8e0['z']=_0x193f67,_0x17e8e0;}function eciToEcf(_0x12406c,_0x32f218){var _0x2d4359=_0x12406c['x']*Math[_0x4ec20b(0x494,0x45d)](_0x32f218)+_0x12406c['y']*Math[_0x4ec20b(0x445,0x384)](_0x32f218);function _0x3885e6(_0xe72125,_0x498a02){return _0x4c8020(_0x498a02- -0x15e,_0xe72125);}var _0xcf03a6=_0x12406c['x']*-Math[_0x3885e6(0x16f,0x1ef)](_0x32f218)+_0x12406c['y']*Math['cos'](_0x32f218),_0x3a176d=_0x12406c['z'],_0x25c9f9={};_0x25c9f9['x']=_0x2d4359,_0x25c9f9['y']=_0xcf03a6,_0x25c9f9['z']=_0x3a176d;function _0x4ec20b(_0x108c29,_0x1cee72){return _0x4c8020(_0x108c29-0xf8,_0x1cee72);}return _0x25c9f9;}function topocentric(_0x1a5a1b,_0x4524b6){var _0x1a339e=_0x1a5a1b['longitude'],_0x51b688=_0x1a5a1b['latitude'],_0x1b5750=geodeticToEcf(_0x1a5a1b),_0x52a294=_0x4524b6['x']-_0x1b5750['x'],_0x193a03=_0x4524b6['y']-_0x1b5750['y'],_0x4ae4da=_0x4524b6['z']-_0x1b5750['z'],_0x5509e0=Math['sin'](_0x51b688)*Math[_0x433e44(0xaf,0x162)](_0x1a339e)*_0x52a294+Math['sin'](_0x51b688)*Math[_0x844013(0x3ae,0x4fd)](_0x1a339e)*_0x193a03-Math['cos'](_0x51b688)*_0x4ae4da,_0x50600e=-Math['sin'](_0x1a339e)*_0x52a294+Math['cos'](_0x1a339e)*_0x193a03,_0x586ed5=Math['cos'](_0x51b688)*Math[_0x433e44(0x21a,0x162)](_0x1a339e)*_0x52a294+Math[_0x844013(0x3fd,0x44d)](_0x51b688)*Math[_0x433e44(0x17d,0x113)](_0x1a339e)*_0x193a03+Math[_0x433e44(-0x5b,0x113)](_0x51b688)*_0x4ae4da,_0x5c4ee0={};_0x5c4ee0[_0x433e44(0xd2,-0x30)]=_0x5509e0,_0x5c4ee0['topE']=_0x50600e,_0x5c4ee0['topZ']=_0x586ed5;function _0x844013(_0x4bdab6,_0x2b073a){return _0x4a554d(_0x4bdab6-0x22c,_0x2b073a);}function _0x433e44(_0x1aad49,_0x34f70d){return _0x4a554d(_0x34f70d- -0x6f,_0x1aad49);}return _0x5c4ee0;}function topocentricToLookAngles(_0x5eb785){function _0x4804b1(_0x58a91e,_0x5a27ee){return _0x4c8020(_0x58a91e-0x149,_0x5a27ee);}var _0xf71bc3=_0x5eb785['topS'],_0x361ee4=_0x5eb785['topE'],_0x3f73a6=_0x5eb785['topZ'],_0x4addfb=Math['sqrt'](_0xf71bc3*_0xf71bc3+_0x361ee4*_0x361ee4+_0x3f73a6*_0x3f73a6),_0x217962=Math['asin'](_0x3f73a6/_0x4addfb),_0x34f442=Math[_0x4804b1(0x456,0x47b)](-_0x361ee4,_0xf71bc3)+pi,_0x1580c5={};function _0x42e554(_0x506b24,_0x53a543){return _0x4c8020(_0x53a543- -0xd6,_0x506b24);}return _0x1580c5[_0x4804b1(0x350,0x40f)]=_0x34f442,_0x1580c5['elevation']=_0x217962,_0x1580c5[_0x4804b1(0x34c,0x482)]=_0x4addfb,_0x1580c5;}function ecfToLookAngles(_0x55f2eb,_0x5c66ea){var _0x398c15=topocentric(_0x55f2eb,_0x5c66ea);return topocentricToLookAngles(_0x398c15);}var _0x266fde={};_0x266fde['__proto__']=null,_0x266fde['constants']=constants,_0x266fde[_0x4c8020(0x2ad,0x23f)]=degreesLat,_0x266fde['degreesLong']=degreesLong,_0x266fde['degreesToRadians']=degreesToRadians,_0x266fde['dopplerFactor']=dopplerFactor,_0x266fde[_0x4a554d(0xb2,0x1c0)]=ecfToEci,_0x266fde['ecfToLookAngles']=ecfToLookAngles,_0x266fde['eciToEcf']=eciToEcf,_0x266fde[_0x4a554d(0x282,0x379)]=eciToGeodetic,_0x266fde[_0x4a554d(0x2f9,0x28a)]=geodeticToEcf,_0x266fde['gstime']=gstime,_0x266fde[_0x4c8020(0x456,0x3e8)]=invjday,_0x266fde['jday']=jday,_0x266fde[_0x4a554d(0x74,0x1ca)]=propagate,_0x266fde[_0x4a554d(0x135,0x163)]=radiansLat,_0x266fde['radiansLong']=radiansLong,_0x266fde['radiansToDegrees']=radiansToDegrees,_0x266fde['sgp4']=sgp4,_0x266fde['twoline2satrec']=twoline2satrec;var satellite_es=_0x266fde,require$$0=getAugmentedNamespace(satellite_es);(function(_0xc9343a,_0xaf471f){(function(_0xfd2d57,_0x3b0c18){_0x3b0c18(_0xaf471f,require$$0);}(commonjsGlobal,function(_0x2aaf3b,_0x2ecf78){const _0x56dde4=0x5265c00,_0x3caba6=0x3e8,_0x460776=0xea60,_0x2b82a6={'_INT':Symbol(),'_FLOAT':Symbol(),'_CHAR':Symbol(),'_DECIMAL_ASSUMED':Symbol(),'_DECIMAL_ASSUMED_E':Symbol()};var _0x42c49a={};_0x42c49a[_0x4d771c(-0x36,0x108)]=_0x50d38c(0x4a1,0x3c3),_0x42c49a['_STRING']=_0x50d38c(0x5b4,0x6d6),_0x42c49a[_0x4d771c(-0x6a,0x4e)]='object',_0x42c49a['_DATE']='date';function _0x4d771c(_0x30a8ea,_0x286dc6){return _0x239d(_0x286dc6- -0x56,_0x30a8ea);}_0x42c49a['_NAN']=_0x4d771c(0x16d,0x242);const _0x59e9b2=_0x42c49a;function _0x36f795(_0x373a18){const _0x5e4db5=typeof _0x373a18;function _0x20456b(_0x4229b4,_0x1f0853){return _0x4d771c(_0x1f0853,_0x4229b4-0x326);}if(Array['isArray'](_0x373a18))return _0x59e9b2['_ARRAY'];if(_0x373a18 instanceof Date)return _0x59e9b2['_DATE'];if(Number['isNaN'](_0x373a18))return _0x59e9b2[_0x20456b(0x49a,0x46d)];return _0x5e4db5;}const _0x232e07=_0x4729c3=>_0x4729c3>=0x0,_0x533f63=_0x4866c7=>{const _0x13c7ec=Math['abs'](_0x4866c7);return _0x13c7ec['toString']()['length'];},_0x3162c5=_0x2b4df7=>{const _0x59dc0e=_0x533f63(_0x2b4df7);function _0x422452(_0x24a4ad,_0x4e4fa4){return _0x4d771c(_0x4e4fa4,_0x24a4ad- -0x190);}const _0x5bde3a='0'[_0x422452(0x67,-0x1e)](_0x59dc0e-0x1);return parseFloat(_0x2b4df7*('0.'+_0x5bde3a+'1'));},_0xb4db48=_0x26055c=>{function _0x2bd9ed(_0x2b959d,_0x261c63){return _0x4d771c(_0x2b959d,_0x261c63- -0x359);}const _0x38738c=_0x26055c[_0x2bd9ed(-0x1b8,-0x2dd)](0x0,_0x26055c[_0x4fb71b(0x558,0x4a7)]-0x2),_0x5cc7f4=_0x3162c5(_0x38738c);function _0x4fb71b(_0x1099e0,_0x1f4308){return _0x4d771c(_0x1f4308,_0x1099e0-0x3f5);}const _0xa65dc0=parseInt(_0x26055c[_0x2bd9ed(-0x232,-0x2dd)](_0x26055c['length']-0x2,0x2),0xa),_0x4abf50=_0x5cc7f4*Math['pow'](0xa,_0xa65dc0);return parseFloat(_0x4abf50['toPrecision'](0x5));},_0x44187a=(_0x304706,_0x19fdae=new Date()['getFullYear']())=>{function _0xcf1997(_0x213973,_0x3ae881){return _0x4d771c(_0x3ae881,_0x213973- -0x34b);}const _0x3750e1=new Date(_0x3a3510(0x25a,0x126)+_0x19fdae+'\x200:0:0\x20Z');function _0x3a3510(_0x172836,_0x518486){return _0x50d38c(_0x518486- -0x2c6,_0x172836);}const _0x2ab791=_0x3750e1[_0xcf1997(-0x2c3,-0x1b1)]();return Math['floor'](_0x2ab791+(_0x304706-0x1)*_0x56dde4);},_0x4b4b56=_0xe349db=>_0xe349db*(0xb4/Math['PI']),_0x25035c=_0x431448=>_0x431448*(Math['PI']/0xb4),_0x56da1d=(_0x2bc668,_0x2c9fda)=>{if(!_0x2bc668||!_0x2c9fda)return![];const _0x290cbd=_0x232e07(_0x2bc668);function _0x36bd7e(_0x3bd583,_0x46a922){return _0x4d771c(_0x3bd583,_0x46a922-0x284);}const _0x5bd2bd=_0x232e07(_0x2c9fda),_0x55ef10=_0x290cbd===_0x5bd2bd;if(_0x55ef10)return![];const _0x5266af=Math[_0x36bd7e(0x346,0x40c)](_0x2bc668)>0x64;return _0x5266af;};function _0x346c0a(_0x1b3eb1){const _0x1dcd3f=parseInt(_0x1b3eb1,0xa);return _0x1dcd3f<0x64&&_0x1dcd3f>0x38?_0x1dcd3f+0x76c:_0x1dcd3f+0x7d0;}function _0x51ea06(_0x564308,_0xefe9a1,_0x4d7edb){const {tle:_0x349fa3}=_0x564308,_0x56bc16=_0xefe9a1===0x1?_0x349fa3[0x0]:_0x349fa3[0x1];function _0x561caa(_0x5b59e2,_0x23ac8c){return _0x50d38c(_0x5b59e2- -0x22c,_0x23ac8c);}const {start:_0x2b42ff,length:_0x42a31d,type:_0x9fd149}=_0x4d7edb,_0x5a1a78=_0x56bc16[_0x1736f4(0x1f6,0x169)](_0x2b42ff,_0x42a31d);let _0x154558;switch(_0x9fd149){case _0x2b82a6['_INT']:_0x154558=parseInt(_0x5a1a78,0xa);break;case _0x2b82a6[_0x1736f4(0x2b8,0x39d)]:_0x154558=parseFloat(_0x5a1a78);break;case _0x2b82a6['_DECIMAL_ASSUMED']:_0x154558=parseFloat('0.'+_0x5a1a78);break;case _0x2b82a6['_DECIMAL_ASSUMED_E']:_0x154558=_0xb4db48(_0x5a1a78);break;case _0x2b82a6[_0x561caa(0x283,0x213)]:default:_0x154558=_0x5a1a78['trim']();break;}function _0x1736f4(_0xc7a76e,_0x8eb1df){return _0x4d771c(_0x8eb1df,_0xc7a76e-0x17a);}return _0x154558;}const _0x143438=_0x4fdf93=>Object[_0x4d771c(0x1a4,0x125)](_0x4fdf93)['length'],_0x4bca91={'_TYPE':(_0x2f1427='',_0xbe5267=[],_0x5e3bef='')=>_0x2f1427+'\x20must\x20be\x20of\x20type\x20['+_0xbe5267[_0x50d38c(0x450,0x325)](',\x20')+_0x4d771c(0x19,0x1a)+_0x5e3bef+'.','_NOT_PARSED_OBJECT':_0x4d771c(0x8,0xc4)};function _0xce741d(_0x5ee21d){function _0x365bd4(_0x279179,_0xf03c08){return _0x50d38c(_0xf03c08-0x12c,_0x279179);}return typeof _0x5ee21d===_0x59e9b2['_OBJECT']&&_0x5ee21d['tle']&&_0x36f795(_0x5ee21d['tle'])===_0x59e9b2['_ARRAY']&&_0x5ee21d[_0x365bd4(0x520,0x54c)]['length']===0x2;}const _0x189324=(_0x29002e,_0x49cffc)=>{function _0x262d2d(_0x3b5598,_0x117671){return _0x50d38c(_0x3b5598- -0x87,_0x117671);}if(_0x29002e===_0x59e9b2['_ARRAY'])return _0x49cffc[_0x262d2d(0x3ba,0x448)]===0x3?_0x49cffc[0x1]:_0x49cffc[0x0];return _0x49cffc;};let _0x34560a={};const _0x3bc5d3=()=>_0x34560a={},_0xc85b08=[_0x59e9b2['_ARRAY'],_0x59e9b2['_STRING'],_0x59e9b2[_0x50d38c(0x32c,0x294)]];function _0x45e5c5(_0xbb405a,_0x317cc6=!![]){function _0x189a35(_0x4e1986,_0x1910b0){return _0x4d771c(_0x1910b0,_0x4e1986-0x184);}const _0xbff5af=_0x36f795(_0xbb405a),_0x272587={};let _0x1ca8bd=[];const _0x574dbb=_0xce741d(_0xbb405a);if(_0x574dbb)return _0xbb405a;const _0x27d4b7=!_0x574dbb&&_0xbff5af===_0x59e9b2['_OBJECT'];if(_0x27d4b7)throw new Error(_0x4bca91['_NOT_PARSED_OBJECT']);const _0x5b42b5=_0x189324(_0xbff5af,_0xbb405a);if(_0x34560a[_0x5b42b5])return _0x34560a[_0x5b42b5];function _0x4e572f(_0x3e0f61,_0x43aec0){return _0x50d38c(_0x3e0f61- -0x2a6,_0x43aec0);}if(!_0xc85b08[_0x4e572f(0x13e,0xf)](_0xbff5af))throw new Error(_0x4bca91['_TYPE']('Source\x20TLE',_0xc85b08,_0xbff5af));if(_0xbff5af===_0x59e9b2['_STRING'])_0x1ca8bd=_0xbb405a[_0x4e572f(0x2c2,0x3a1)]('\x0a');else _0xbff5af===_0x59e9b2[_0x189a35(0x28c,0x3bf)]&&(_0x1ca8bd=Array['from'](_0xbb405a));if(_0x1ca8bd[_0x4e572f(0x19b,0x18d)]===0x3){let _0x2704ea=_0x1ca8bd[0x0]['trim']();_0x1ca8bd=_0x1ca8bd[_0x189a35(0x488,0x335)](0x1),_0x2704ea[_0x189a35(0x43c,0x544)]('0\x20')&&(_0x2704ea=_0x2704ea['substr'](0x2)),_0x272587['name']=_0x2704ea;}_0x272587['tle']=_0x1ca8bd[_0x189a35(0x388,0x44a)](_0x5133ae=>_0x5133ae['trim']());if(!_0x317cc6){const _0x43a6d6=_0x5a7b43(_0x272587['tle']);!_0x43a6d6&&(_0x272587['error']='TLE\x20parse\x20error:\x20bad\x20TLE');}return _0x34560a[_0x5b42b5]=_0x272587,_0x272587;}function _0x2a670d(_0xbb5cd3){function _0x2ab01c(_0x589f41,_0x45c121){return _0x4d771c(_0x45c121,_0x589f41- -0x1ce);}function _0x28574d(_0x5440df,_0x478920){return _0x50d38c(_0x5440df-0xb6,_0x478920);}const _0xed61eb=_0xbb5cd3[_0x28574d(0x61e,0x5a0)]('');_0xed61eb['splice'](_0xed61eb[_0x28574d(0x4f7,0x4d4)]-0x1,0x1);if(_0xed61eb[_0x2ab01c(-0x6b,-0xf9)]===0x0)throw new Error(_0x2ab01c(0x139,0x1b8),_0xbb5cd3);const _0x2dcca0=_0xed61eb['reduce']((_0xf10461,_0x588c25)=>{const _0x3f1b96=parseInt(_0x588c25,0xa);function _0x17f5f6(_0x2ba3ca,_0x4fd036){return _0x28574d(_0x2ba3ca- -0x37b,_0x4fd036);}const _0x3740cf=parseInt(_0xf10461,0xa);if(Number[_0x17f5f6(0x1f9,0x2d3)](_0x3f1b96))return _0x3740cf+_0x3f1b96;if(_0x588c25==='-')return _0x3740cf+0x1;return _0x3740cf;},0x0);return _0x2dcca0%0xa;}function _0x51a495(_0x8bf1ce,_0x5e6427){const {tle:_0x4226a3}=_0x8bf1ce;return _0x5e6427===parseInt(_0x4226a3[_0x5e6427-0x1][0x0],0xa);}function _0x35675c(_0x58664f,_0x36f1a5){const {tle:_0x1140c7}=_0x58664f,_0x76fdb9=_0x1140c7[_0x36f1a5-0x1],_0x1ce730=parseInt(_0x76fdb9[_0x76fdb9[_0x259ea1(0xda,0x1ae)]-0x1],0xa),_0x42f623=_0x2a670d(_0x1140c7[_0x36f1a5-0x1]);function _0x259ea1(_0x58677e,_0x301b27){return _0x50d38c(_0x301b27- -0x293,_0x58677e);}return _0x42f623===_0x1ce730;}function _0x5a7b43(_0x450c51){let _0x1ed71b;try{_0x1ed71b=_0x45e5c5(_0x450c51);}catch(_0x237b22){return![];}const _0x209459=_0x51a495(_0x1ed71b,0x1),_0x43923f=_0x51a495(_0x1ed71b,0x2);if(!_0x209459||!_0x43923f)return![];const _0x55796c=_0x35675c(_0x1ed71b,0x1),_0x288d05=_0x35675c(_0x1ed71b,0x2);if(!_0x55796c||!_0x288d05)return![];return!![];}var _0x1b1203={};_0x1b1203[_0x4d771c(0x11a,0x1f5)]=0x0,_0x1b1203[_0x50d38c(0x441,0x4dc)]=0x1,_0x1b1203[_0x4d771c(0xc8,0x71)]=_0x2b82a6['_INT'];const _0x3587a8=_0x1b1203;var _0x106df8={};_0x106df8['start']=0x2,_0x106df8[_0x50d38c(0x441,0x380)]=0x5,_0x106df8['type']=_0x2b82a6['_INT'];const _0x33e8e0=_0x106df8;var _0xb622b0={};_0xb622b0[_0x50d38c(0x4d3,0x555)]=0x7,_0xb622b0['length']=0x1,_0xb622b0['type']=_0x2b82a6[_0x4d771c(0x172,0x1d1)];const _0x1fe6c2=_0xb622b0;var _0x49cf6e={};_0x49cf6e[_0x50d38c(0x4d3,0x483)]=0x9,_0x49cf6e[_0x4d771c(0xcd,0x163)]=0x2,_0x49cf6e[_0x50d38c(0x34f,0x400)]=_0x2b82a6['_INT'];const _0x56cbb2=_0x49cf6e;var _0x19b4a6={};_0x19b4a6['start']=0xb,_0x19b4a6[_0x4d771c(0xe6,0x163)]=0x3,_0x19b4a6[_0x50d38c(0x34f,0x1e1)]=_0x2b82a6['_INT'];const _0x47d03a=_0x19b4a6;var _0x37079f={};_0x37079f[_0x50d38c(0x4d3,0x422)]=0xe,_0x37079f[_0x50d38c(0x441,0x33f)]=0x3,_0x37079f['type']=_0x2b82a6['_CHAR'];const _0x10a64b=_0x37079f;var _0x1022eb={};_0x1022eb[_0x4d771c(0x2d4,0x1f5)]=0x12,_0x1022eb[_0x50d38c(0x441,0x4ec)]=0x2,_0x1022eb[_0x4d771c(0x1c3,0x71)]=_0x2b82a6[_0x4d771c(0x26f,0x124)];const _0x4ec6d9=_0x1022eb;var _0x76cb9e={};_0x76cb9e['start']=0x14,_0x76cb9e['length']=0xc,_0x76cb9e['type']=_0x2b82a6[_0x50d38c(0x41c,0x335)];const _0x431615=_0x76cb9e;var _0x4b9a34={};_0x4b9a34['start']=0x21,_0x4b9a34['length']=0xb,_0x4b9a34[_0x4d771c(-0x89,0x71)]=_0x2b82a6['_FLOAT'];const _0x4a8b47=_0x4b9a34;var _0x181933={};_0x181933['start']=0x2c,_0x181933['length']=0x8,_0x181933['type']=_0x2b82a6['_DECIMAL_ASSUMED_E'];const _0x125310=_0x181933;var _0x25aca6={};_0x25aca6[_0x50d38c(0x4d3,0x43d)]=0x35,_0x25aca6['length']=0x8,_0x25aca6['type']=_0x2b82a6['_DECIMAL_ASSUMED_E'];const _0x165cd8=_0x25aca6;var _0x32ab3b={};_0x32ab3b['start']=0x3e,_0x32ab3b['length']=0x1,_0x32ab3b[_0x4d771c(0x4e,0x71)]=_0x2b82a6['_INT'];const _0x289718=_0x32ab3b;var _0x44dc1a={};_0x44dc1a['start']=0x40,_0x44dc1a['length']=0x4,_0x44dc1a['type']=_0x2b82a6['_INT'];const _0x2543e4=_0x44dc1a;var _0x3c2c6c={};_0x3c2c6c['start']=0x44,_0x3c2c6c['length']=0x1,_0x3c2c6c['type']=_0x2b82a6[_0x4d771c(0x1c,0x124)];const _0x5e6b74=_0x3c2c6c;function _0x50d38c(_0x30c4f6,_0x557581){return _0x239d(_0x30c4f6-0x288,_0x557581);}function _0xc412d(_0x33ccc0,_0x76bbb5,_0x3fc513=![]){const _0x5c7530=_0x3fc513?_0x33ccc0:_0x45e5c5(_0x33ccc0);return _0x51ea06(_0x5c7530,0x1,_0x76bbb5);}function _0x42538f(_0x7e4504,_0x51b56c){return _0xc412d(_0x7e4504,_0x3587a8,_0x51b56c);}function _0x4df507(_0x233031,_0x484823){return _0xc412d(_0x233031,_0x33e8e0,_0x484823);}function _0x44542f(_0x367bc6,_0x56c93c){return _0xc412d(_0x367bc6,_0x1fe6c2,_0x56c93c);}function _0x3cc820(_0x3f5a52,_0x89ac9a){return _0xc412d(_0x3f5a52,_0x56cbb2,_0x89ac9a);}function _0x301fe3(_0x49ec6a,_0x36ea3d){return _0xc412d(_0x49ec6a,_0x47d03a,_0x36ea3d);}function _0x300849(_0x4137dd,_0x1e01fb){return _0xc412d(_0x4137dd,_0x10a64b,_0x1e01fb);}function _0x4df772(_0x63787c,_0x1878dd){return _0xc412d(_0x63787c,_0x4ec6d9,_0x1878dd);}function _0x56b47a(_0xd24a4,_0x2425e9){return _0xc412d(_0xd24a4,_0x431615,_0x2425e9);}function _0x20da90(_0xe6faa8,_0x1f2f30){return _0xc412d(_0xe6faa8,_0x4a8b47,_0x1f2f30);}function _0x3f0ea0(_0x55cf6a,_0x378bdb){return _0xc412d(_0x55cf6a,_0x125310,_0x378bdb);}function _0x59e06c(_0xae1c44,_0x386441){return _0xc412d(_0xae1c44,_0x165cd8,_0x386441);}function _0x1074cb(_0x2445a2,_0x2d09c7){return _0xc412d(_0x2445a2,_0x289718,_0x2d09c7);}function _0x1dd46b(_0x6e8859,_0x2646f9){return _0xc412d(_0x6e8859,_0x2543e4,_0x2646f9);}function _0x3c7b48(_0x21f0b8,_0x242487){return _0xc412d(_0x21f0b8,_0x5e6b74,_0x242487);}var _0x3dcb21={};_0x3dcb21[_0x4d771c(0xed,0x1f5)]=0x0,_0x3dcb21[_0x50d38c(0x441,0x45e)]=0x1,_0x3dcb21['type']=_0x2b82a6[_0x50d38c(0x402,0x4ad)];const _0x40bf5e=_0x3dcb21;var _0x4e5726={};_0x4e5726['start']=0x2,_0x4e5726[_0x4d771c(0x23d,0x163)]=0x5,_0x4e5726['type']=_0x2b82a6['_INT'];const _0xfdf82e=_0x4e5726;var _0x461476={};_0x461476['start']=0x8,_0x461476[_0x50d38c(0x441,0x4d6)]=0x8,_0x461476['type']=_0x2b82a6['_FLOAT'];const _0x20f2dd=_0x461476;var _0x1a33cb={};_0x1a33cb[_0x50d38c(0x4d3,0x569)]=0x11,_0x1a33cb[_0x4d771c(0x2f,0x163)]=0x8,_0x1a33cb['type']=_0x2b82a6[_0x50d38c(0x41c,0x551)];const _0x1fe72b=_0x1a33cb;var _0x4f008e={};_0x4f008e['start']=0x1a,_0x4f008e['length']=0x7,_0x4f008e[_0x50d38c(0x34f,0x254)]=_0x2b82a6[_0x4d771c(0x104,0x86)];const _0x58b211=_0x4f008e;var _0x5c3bd9={};_0x5c3bd9[_0x4d771c(0x1a0,0x1f5)]=0x22,_0x5c3bd9['length']=0x8,_0x5c3bd9['type']=_0x2b82a6[_0x50d38c(0x41c,0x51b)];const _0x1a4f81=_0x5c3bd9;var _0x21068e={};_0x21068e[_0x4d771c(0x234,0x1f5)]=0x2b,_0x21068e['length']=0x8,_0x21068e['type']=_0x2b82a6[_0x4d771c(-0x1d,0x13e)];const _0x9c3d6c=_0x21068e;var _0x2eaefa={};_0x2eaefa[_0x50d38c(0x4d3,0x468)]=0x34,_0x2eaefa['length']=0xb,_0x2eaefa['type']=_0x2b82a6['_FLOAT'];const _0x10126d=_0x2eaefa;var _0x467346={};_0x467346['start']=0x3f,_0x467346['length']=0x5,_0x467346[_0x50d38c(0x34f,0x282)]=_0x2b82a6['_INT'];const _0x56353f=_0x467346;var _0x5058a3={};_0x5058a3[_0x50d38c(0x4d3,0x420)]=0x44,_0x5058a3[_0x50d38c(0x441,0x420)]=0x1,_0x5058a3[_0x50d38c(0x34f,0x1f4)]=_0x2b82a6[_0x50d38c(0x402,0x508)];const _0x48eb58=_0x5058a3;function _0x53189c(_0x594fc2,_0x6854e7,_0x5ef04e=![]){const _0x10c6bb=_0x5ef04e?_0x594fc2:_0x45e5c5(_0x594fc2);return _0x51ea06(_0x10c6bb,0x2,_0x6854e7);}function _0x68f150(_0x33471d,_0x13abca){return _0x53189c(_0x33471d,_0x40bf5e,_0x13abca);}function _0x354d91(_0x11d334,_0x2b7767){return _0x53189c(_0x11d334,_0xfdf82e,_0x2b7767);}function _0x1f7b12(_0x2b741f,_0x23ab69){return _0x53189c(_0x2b741f,_0x20f2dd,_0x23ab69);}function _0x1995a2(_0x2211c2,_0x37f6d4){return _0x53189c(_0x2211c2,_0x1fe72b,_0x37f6d4);}function _0x3dc0eb(_0x420f30,_0x5c0423){return _0x53189c(_0x420f30,_0x58b211,_0x5c0423);}function _0x4d7816(_0x3e432d,_0x567e5d){return _0x53189c(_0x3e432d,_0x1a4f81,_0x567e5d);}function _0x317744(_0x23b440,_0x3925dd){return _0x53189c(_0x23b440,_0x9c3d6c,_0x3925dd);}function _0x1098d2(_0x13e97d,_0x2ec1cb){return _0x53189c(_0x13e97d,_0x10126d,_0x2ec1cb);}function _0x2cb78f(_0x3db91b,_0xc515b0){return _0x53189c(_0x3db91b,_0x56353f,_0xc515b0);}function _0x1e390b(_0x5994d4,_0x4d935f){return _0x53189c(_0x5994d4,_0x48eb58,_0x4d935f);}function _0x260275(_0x13aed0,_0x4402f6){const _0x37f9ec=_0x3cc820(_0x13aed0,_0x4402f6),_0x26c6a7=_0x346c0a(_0x37f9ec),_0x2b01c1=_0x301fe3(_0x13aed0,_0x4402f6),_0x31f082=_0x2b01c1['toString']()['padStart'](0x3,0x0),_0x4f33c2=_0x300849(_0x13aed0,_0x4402f6);return _0x26c6a7+'-'+_0x31f082+_0x4f33c2;}function _0xacc0b2(_0x5d5124,_0x460b5b=![]){const _0x1e66b7=_0x45e5c5(_0x5d5124);function _0x5727c1(_0x254e91,_0x43bf04){return _0x4d771c(_0x254e91,_0x43bf04-0x9a);}const {name:_0x1620f2}=_0x1e66b7;return _0x460b5b?_0x1620f2||_0x260275(_0x1e66b7,!![]):_0x1620f2||_0x5727c1(0x1f0,0x2e3);}function _0x1591a2(_0xfca9a0){const _0x5ca09f=_0x56b47a(_0xfca9a0),_0x4caa2e=_0x4df772(_0xfca9a0);return _0x44187a(_0x5ca09f,_0x4caa2e);}function _0x4c41ae(_0x52e582){return parseInt(_0x56dde4/_0x1098d2(_0x52e582),0xa);}function _0x5139f9(_0x48e89d){return _0x4c41ae(_0x48e89d)/_0x460776;}function _0x21c48a(_0x2f7148){return _0x4c41ae(_0x2f7148)/_0x3caba6;}var _0x1d24f4={};_0x1d24f4['_DEFAULT']='Problematic\x20TLE\x20with\x20unknown\x20error.',_0x1d24f4['1']=_0x4d771c(0xae,0x104),_0x1d24f4['2']=_0x50d38c(0x4d2,0x58e),_0x1d24f4['3']='Pert\x20elements,\x20ecc\x20<\x200.0\x20\x20or\x20\x20ecc\x20>\x201.0',_0x1d24f4['4']=_0x4d771c(0xa0,0x176),_0x1d24f4['5']='Epoch\x20elements\x20are\x20sub-orbital',_0x1d24f4['6']=_0x50d38c(0x566,0x48b);const _0xaa95bd=_0x1d24f4;let _0x45ee90={},_0x2b86c1={},_0x146ad5={},_0x8c3200={};const _0x50193e=[_0x45ee90,_0x2b86c1,_0x146ad5,_0x8c3200];function _0x5475a5(){return _0x50193e['map'](_0x143438);}function _0x2b859a(){_0x50193e['forEach'](_0x56b09a=>{function _0x41f011(_0x303714,_0xbbb68f){return _0x239d(_0xbbb68f- -0x370,_0x303714);}function _0x55e7b0(_0xc30983,_0x1133cd){return _0x239d(_0x1133cd- -0x10f,_0xc30983);}Object[_0x55e7b0(0x1d,0x6c)](_0x56b09a)[_0x55e7b0(0x1a8,0x163)](_0x864376=>delete _0x56b09a[_0x864376]);});}function _0x45d9d6(_0x5c4434,_0x527c88,_0x580745,_0x438855,_0x1f40e3){const _0x141ed7=_0x527c88||Date['now'](),{tle:_0xcd1b91,error:_0x4b22ff}=_0x45e5c5(_0x5c4434);if(_0x4b22ff)throw new Error(_0x4b22ff);var _0x27ed97={};_0x27ed97[_0x1a36c0(-0x163,-0xe)]=36.9613422;function _0x58cf13(_0x26ac2d,_0x2b2134){return _0x50d38c(_0x26ac2d- -0x2c7,_0x2b2134);}_0x27ed97['lng']=-122.0308,_0x27ed97['height']=0.37;const _0x27f04e=_0x27ed97,_0x28acaa=_0x580745||_0x27f04e['lat'],_0x457133=_0x438855||_0x27f04e['lng'],_0x7cd8b4=_0x1f40e3||_0x27f04e['height'],_0x56c40a=_0xcd1b91[0x0]+'-'+_0x141ed7+'-'+_0x580745+'-'+_0x438855+'\x0a-'+_0x1f40e3;if(_0x45ee90[_0x56c40a])return _0x45ee90[_0x56c40a];const _0x56e069=_0x2ecf78['twoline2satrec'](_0xcd1b91[0x0],_0xcd1b91[0x1]);if(_0x56e069['error'])throw new Error(_0xaa95bd[_0x56e069[_0x1a36c0(0x131,0x49)]]||_0xaa95bd['_DEFAULT']);function _0x1a36c0(_0x45d389,_0x4195b2){return _0x4d771c(_0x45d389,_0x4195b2- -0xd3);}const _0x587e65=new Date(_0x141ed7),_0x53a90f=_0x2ecf78['propagate'](_0x56e069,_0x587e65),_0x16e5ee=_0x53a90f['position'],_0x2e745f=_0x53a90f['velocity'],_0x2f50f0={'latitude':_0x25035c(_0x28acaa),'longitude':_0x25035c(_0x457133),'height':_0x7cd8b4},_0x2ace5d=_0x2ecf78['gstime'](_0x587e65),_0x5ff6da=_0x2ecf78['eciToEcf'](_0x16e5ee,_0x2ace5d),_0x4d64a4=_0x2ecf78[_0x1a36c0(0x21f,0x1a6)](_0x16e5ee,_0x2ace5d),_0x5ec980=_0x2ecf78[_0x58cf13(0x269,0x196)](_0x2f50f0,_0x5ff6da),_0x3e115a=Math['sqrt'](Math[_0x58cf13(0x318,0x346)](_0x2e745f['x'],0x2)+Math[_0x1a36c0(0x1b0,0x22e)](_0x2e745f['y'],0x2)+Math[_0x1a36c0(0x152,0x22e)](_0x2e745f['z'],0x2)),{azimuth:_0x13acc0,elevation:_0x56b80d,rangeSat:_0xfdb773}=_0x5ec980,{longitude:_0x32f169,latitude:_0x420db0,height:_0x5a7e94}=_0x4d64a4,_0x628ee6={'lng':_0x2ecf78['degreesLong'](_0x32f169),'lat':_0x2ecf78[_0x1a36c0(0x21,0x6)](_0x420db0),'elevation':_0x4b4b56(_0x56b80d),'azimuth':_0x4b4b56(_0x13acc0),'range':_0xfdb773,'height':_0x5a7e94,'velocity':_0x3e115a};return _0x45ee90[_0x56c40a]=_0x628ee6,_0x628ee6;}function _0x322900(_0x55a63c,_0x392260){const {tle:_0x188833}=_0x55a63c,_0x59e5b0=_0x5139f9(_0x188833)*0x3c*0x3e8,_0x4e0d2c=_0x188833[0x0]['substr'](0x0,0x1e),_0x9f402d=_0x2b86c1[_0x4e0d2c];if(!_0x9f402d)return![];if(_0x9f402d===-0x1)return _0x9f402d;const _0x19a2fb=_0x9f402d['filter'](_0x4dd88e=>{if(typeof _0x4dd88e==='object'&&_0x4dd88e[_0x1d46b3(-0x18,0xfd)]===_0x188833)return-0x1;function _0x1d46b3(_0x3ce825,_0xa3b5b5){return _0x239d(_0x3ce825- -0x1b0,_0xa3b5b5);}const _0x208fd6=_0x392260-_0x4dd88e,_0x4674fb=_0x208fd6>0x0,_0x31a174=_0x4674fb&&_0x208fd6<_0x59e5b0;return _0x31a174;});return _0x19a2fb[0x0]||![];}function _0x5230b6(_0x244377,_0x3847af){const _0x5a4017=_0x45e5c5(_0x244377),{tle:_0x2e1e54}=_0x5a4017,_0x203ad3=_0x322900(_0x5a4017,_0x3847af);if(_0x203ad3)return _0x203ad3;function _0x3604c8(_0x4facdd,_0x2d7102){return _0x4d771c(_0x4facdd,_0x2d7102- -0x5e);}const _0x2c3022=_0x3847af||Date[_0x3604c8(0x34,0x14a)]();let _0x40d332=0x3e8*0x3c*0x3,_0xa21c34=[],_0x7d9e28=[],_0x9ae32f=_0x2c3022,_0x5d5af0=![],_0x407707=0x0,_0x386bd3=![];function _0x1d11b5(_0x237f01,_0x7a9950){return _0x50d38c(_0x7a9950- -0x408,_0x237f01);}const _0x2441cb=0x3e8;while(!_0x386bd3){_0xa21c34=_0x544335(_0x2e1e54,_0x9ae32f);const [_0x320d99]=_0xa21c34;_0x5d5af0=_0x56da1d(_0x7d9e28[0x0],_0x320d99),_0x5d5af0?(_0x9ae32f+=_0x40d332,_0x40d332=_0x40d332/0x2):(_0x9ae32f-=_0x40d332,_0x7d9e28=_0xa21c34),_0x386bd3=_0x40d332<0x1f4||_0x407707>=_0x2441cb,_0x407707++;}const _0x59e637=_0x407707-0x1===_0x2441cb,_0x457c4c=_0x59e637?-0x1:parseInt(_0x9ae32f,0xa),_0x11f1bb=_0x2e1e54[0x0];return!_0x2b86c1[_0x11f1bb]&&(_0x2b86c1[_0x11f1bb]=[]),_0x59e637?_0x2b86c1[_0x11f1bb]=-0x1:_0x2b86c1[_0x11f1bb][_0x1d11b5(0x7d,0x149)](_0x457c4c),_0x457c4c;}function _0x17744c(_0x314777,_0x27c8a3=Date['now']()){const {lat:_0x290b41,lng:_0x2bcd5a}=_0x45d9d6(_0x314777,_0x27c8a3);var _0x594187={};return _0x594187['lat']=_0x290b41,_0x594187['lng']=_0x2bcd5a,_0x594187;}function _0x544335(_0x2daa5c,_0x54bf07=Date['now']()){const {lat:_0x50f786,lng:_0x52fe90}=_0x45d9d6(_0x2daa5c,_0x54bf07);return[_0x52fe90,_0x50f786];}function _0x4c719d(_0x54108e){return _0x544335(_0x54108e,_0x1591a2(_0x54108e));}function _0x5c1a5b({observerLat:_0x412875,observerLng:_0x3cca6b,observerHeight:observerHeight=0x0,tles:tles=[],elevationThreshold:elevationThreshold=0x0,timestampMS:timestampMS=Date[_0x4d771c(0x1e0,0x1a8)]()}){return tles['reduce']((_0x28dcfc,_0x3d0790)=>{let _0x4157ac;try{_0x4157ac=_0x45d9d6(_0x3d0790,timestampMS,_0x412875,_0x3cca6b,observerHeight);}catch(_0x3b88f8){return _0x28dcfc;}const {elevation:_0x2353a0,velocity:_0x395921,range:_0x1d30be}=_0x4157ac;var _0x1a4f49={};return _0x1a4f49['tleArr']=_0x3d0790,_0x1a4f49['info']=_0x4157ac,_0x2353a0>=elevationThreshold?_0x28dcfc['concat'](_0x1a4f49):_0x28dcfc;},[]);}function*_0x2fb425(_0x5dc030,_0x2530ca,_0x258d76){let _0x5ea309=_0x2530ca-_0x258d76;while(!![]){_0x5ea309+=_0x258d76,yield{'curTimeMS':_0x5ea309,'lngLat':_0x544335(_0x5dc030,_0x5ea309)};}}function _0x159d62(_0x3a241b){return new Promise(_0x24950f=>setTimeout(_0x24950f,_0x3a241b));}async function _0x4fc7e4({tle:_0x58659c,startTimeMS:startTimeMS=Date[_0x4d771c(0x2c9,0x1a8)](),stepMS:stepMS=0x3e8,sleepMS:sleepMS=0x0,jobChunkSize:jobChunkSize=0x3e8,maxTimeMS:_0x560c80,isLngLatFormat:isLngLatFormat=!![]}){const {tle:_0x5e10e4}=_0x45e5c5(_0x58659c);function _0x211144(_0x4bf125,_0x308e04){return _0x50d38c(_0x308e04- -0x470,_0x4bf125);}_0x560c80??=_0x4c41ae(_0x5e10e4)*1.5;const _0x4869c8=(startTimeMS/0x3e8)[_0xe1cdad(0x7,-0x3f)](),_0x485325=_0x5e10e4[0x0]+'-'+_0x4869c8+'-'+stepMS+'-'+isLngLatFormat;function _0xe1cdad(_0x2927b8,_0x3d477a){return _0x4d771c(_0x2927b8,_0x3d477a- -0x156);}if(_0x146ad5[_0x485325])return _0x146ad5[_0x485325];const _0x241bc2=_0x2fb425(_0x5e10e4,startTimeMS,stepMS);let _0x2d3dd1=0x0,_0x5087b5=![],_0x59cf4f=[],_0x2cde38;while(!_0x5087b5){const {curTimeMS:_0x2503c1,lngLat:_0xb3fe5a}=_0x241bc2[_0xe1cdad(-0x8a,-0xec)]()[_0xe1cdad(-0xd,0x3c)],[_0x380032,_0x3536d7]=_0xb3fe5a,_0x3d70c8=_0x56da1d(_0x2cde38,_0x380032),_0x265ca4=_0x560c80&&_0x2503c1-startTimeMS>_0x560c80;_0x5087b5=_0x3d70c8||_0x265ca4;if(_0x5087b5)break;isLngLatFormat?_0x59cf4f[_0xe1cdad(0x125,0x11d)](_0xb3fe5a):_0x59cf4f[_0xe1cdad(0x216,0x11d)]([_0x3536d7,_0x380032]),sleepMS&&_0x2d3dd1%jobChunkSize===0x0&&await _0x159d62(sleepMS),_0x2cde38=_0x380032,_0x2d3dd1++;}return _0x146ad5[_0x485325]=_0x59cf4f,_0x59cf4f;}function _0x13e8f9({tle:_0x6af4a6,startTimeMS:startTimeMS=Date[_0x4d771c(0x22e,0x1a8)](),stepMS:stepMS=0x3e8,maxTimeMS:maxTimeMS=0x5b8d80,isLngLatFormat:isLngLatFormat=!![]}){const {tle:_0x13b066}=_0x45e5c5(_0x6af4a6),_0x5bd672=(startTimeMS/0x3e8)['toFixed'](),_0x537b34=_0x13b066[0x0]+'-'+_0x5bd672+'-'+stepMS+'-'+isLngLatFormat;function _0x3ff47d(_0x217ced,_0x2ddb51){return _0x50d38c(_0x217ced-0x154,_0x2ddb51);}if(_0x146ad5[_0x537b34])return _0x146ad5[_0x537b34];let _0x2b7d44=![],_0x4d0546=[],_0x3753f3,_0x3d3702=startTimeMS;while(!_0x2b7d44){const _0x371a89=_0x544335(_0x13b066,_0x3d3702),[_0x2ac7ea,_0x821b55]=_0x371a89,_0x20709b=_0x56da1d(_0x3753f3,_0x2ac7ea),_0x2eb450=maxTimeMS&&_0x3d3702-startTimeMS>maxTimeMS;_0x2b7d44=_0x20709b||_0x2eb450;if(_0x2b7d44)break;isLngLatFormat?_0x4d0546['push'](_0x371a89):_0x4d0546[_0x3ff47d(0x6a5,0x577)]([_0x821b55,_0x2ac7ea]),_0x3753f3=_0x2ac7ea,_0x3d3702+=stepMS;}return _0x146ad5[_0x537b34]=_0x4d0546,_0x4d0546;}function _0x25c57e({tle:_0x12a9b3,startTimeMS:startTimeMS=Date['now'](),stepMS:stepMS=0x3e8,isLngLatFormat:isLngLatFormat=!![]}){const _0x1f096d=_0x45e5c5(_0x12a9b3),_0x113a93=_0x4c41ae(_0x1f096d),_0x4613f4=_0x5230b6(_0x1f096d,startTimeMS),_0x2295d7=_0x4613f4!==-0x1;function _0x13106f(_0xd27f34,_0x1923bb){return _0x4d771c(_0xd27f34,_0x1923bb- -0x25e);}if(!_0x2295d7){var _0x5bdfbb={};return _0x5bdfbb['tle']=_0x1f096d,_0x5bdfbb[_0x13106f(-0x2d2,-0x17f)]=startTimeMS,_0x5bdfbb['stepMS']=_0x460776,_0x5bdfbb['maxTimeMS']=_0x56dde4/0x4,_0x5bdfbb[_0x27e0f6(0x32,0xb9)]=isLngLatFormat,Promise[_0x13106f(-0x188,-0x17e)]([_0x4fc7e4(_0x5bdfbb)]);}const _0x37e04a=_0x113a93/0x5,_0x31fcb6=_0x5230b6(_0x1f096d,_0x4613f4-_0x37e04a),_0x10bf47=_0x5230b6(_0x1f096d,_0x4613f4+_0x113a93+_0x37e04a);var _0xf3a5ce={};_0xf3a5ce['tle']=_0x1f096d,_0xf3a5ce[_0x27e0f6(0xe,-0x8f)]=_0x31fcb6,_0xf3a5ce['stepMS']=stepMS,_0xf3a5ce['isLngLatFormat']=isLngLatFormat;var _0x454aa0={};_0x454aa0[_0x27e0f6(0x71,0x19e)]=_0x1f096d,_0x454aa0[_0x27e0f6(0xe,0x71)]=_0x4613f4,_0x454aa0['stepMS']=stepMS,_0x454aa0['isLngLatFormat']=isLngLatFormat;var _0x361702={};_0x361702['tle']=_0x1f096d,_0x361702[_0x27e0f6(0xe,-0x10f)]=_0x10bf47,_0x361702['stepMS']=stepMS,_0x361702['isLngLatFormat']=isLngLatFormat;const _0x17f0e5=[_0x4fc7e4(_0xf3a5ce),_0x4fc7e4(_0x454aa0),_0x4fc7e4(_0x361702)];function _0x27e0f6(_0x52bcce,_0x4e2f0c){return _0x4d771c(_0x4e2f0c,_0x52bcce- -0xd1);}return Promise['all'](_0x17f0e5);}function _0x12cb92({tle:_0x47ee55,stepMS:stepMS=0x3e8,optionalTimeMS:optionalTimeMS=Date['now'](),isLngLatFormat:isLngLatFormat=!![]}){const _0x1d0a20=_0x45e5c5(_0x47ee55),{tle:_0x57b122}=_0x1d0a20;function _0x1d1939(_0x327d84,_0x1bf791){return _0x50d38c(_0x1bf791- -0x202,_0x327d84);}const _0x4a4769=_0x4c41ae(_0x57b122),_0x332dc9=_0x5230b6(_0x1d0a20,optionalTimeMS),_0x3de096=_0x332dc9!==-0x1;if(!_0x3de096){var _0x52e512={};_0x52e512['tle']=_0x1d0a20,_0x52e512['startTimeMS']=optionalTimeMS,_0x52e512[_0x1d1939(0x449,0x359)]=_0x460776,_0x52e512[_0x56fc21(0x336,0x37f)]=_0x56dde4/0x4;const _0x1c88ec=_0x13e8f9(_0x52e512);return _0x1c88ec;}const _0x31ae87=_0x4a4769/0x5,_0x4b7fc8=_0x5230b6(_0x1d0a20,_0x332dc9-_0x31ae87),_0x5a6528=_0x5230b6(_0x1d0a20,_0x332dc9+_0x4a4769+_0x31ae87);function _0x56fc21(_0x10a4c8,_0x23b944){return _0x4d771c(_0x10a4c8,_0x23b944-0x177);}const _0x5391ad=[_0x4b7fc8,_0x332dc9,_0x5a6528],_0xdc07f9=_0x5391ad['map'](_0x56d20d=>{function _0x4bd04d(_0x593a90,_0x2d57c2){return _0x1d1939(_0x2d57c2,_0x593a90-0x8b);}var _0x4be7e4={};_0x4be7e4['tle']=_0x1d0a20,_0x4be7e4[_0x4bd04d(0x246,0x113)]=_0x56d20d,_0x4be7e4['stepMS']=stepMS,_0x4be7e4[_0x4bd04d(0x26a,0x2f9)]=isLngLatFormat;function _0xd1a2f7(_0x16d5ea,_0x27f8ef){return _0x1d1939(_0x16d5ea,_0x27f8ef- -0xb4);}return _0x13e8f9(_0x4be7e4);});return _0xdc07f9;}function _0x6156f7(_0x244edd,_0x4b1011=Date['now']()){const _0x32cd64=this[_0x2aa0e6(0x6ac,0x53f)](_0x244edd),_0x6dd7aa=this['getLatLonArr'](_0x32cd64[_0x253907(-0x1d6,-0x280)],_0x4b1011),_0x2d9f43=this['getLatLonArr'](_0x32cd64[_0x2aa0e6(0x31c,0x3ad)],_0x4b1011+0x2710),_0x33c9c1=_0x56da1d(_0x6dd7aa[0x1],_0x2d9f43[0x1]);if(_0x33c9c1)return{};const _0x2a4e73=_0x25035c(_0x6dd7aa[0x0]),_0x253144=_0x25035c(_0x2d9f43[0x0]),_0x1c1081=_0x25035c(_0x6dd7aa[0x1]),_0x5ba212=_0x25035c(_0x2d9f43[0x1]),_0x38433e=_0x2a4e73>=_0x253144?'S':'N',_0x54babe=_0x1c1081>=_0x5ba212?'W':'E',_0x894010=Math['sin'](_0x5ba212-_0x1c1081)*Math[_0x2aa0e6(0x55e,0x549)](_0x253144),_0x5f1ede=Math[_0x2aa0e6(0x604,0x549)](_0x2a4e73)*Math['sin'](_0x253144)-Math[_0x2aa0e6(0x5bf,0x4fa)](_0x2a4e73)*Math['cos'](_0x253144)*Math['cos'](_0x5ba212-_0x1c1081);function _0x253907(_0x3f33cd,_0x11f6a0){return _0x4d771c(_0x3f33cd,_0x11f6a0- -0x2ac);}const _0x5b5c43=_0x4b4b56(Math['atan2'](_0x894010,_0x5f1ede));var _0x143f03={};function _0x2aa0e6(_0x9f8c23,_0xc62699){return _0x50d38c(_0xc62699-0xa3,_0x9f8c23);}return _0x143f03[_0x2aa0e6(0x451,0x531)]=_0x5b5c43,_0x143f03[_0x2aa0e6(0x4f1,0x444)]=''+_0x38433e+_0x54babe,_0x143f03;}_0x2aaf3b['clearCache']=_0x2b859a,_0x2aaf3b[_0x50d38c(0x541,0x66b)]=_0x3bc5d3,_0x2aaf3b[_0x50d38c(0x432,0x2e7)]=_0x2a670d,_0x2aaf3b[_0x4d771c(-0xb3,0x95)]=_0x4c41ae,_0x2aaf3b['getAverageOrbitTimeMins']=_0x5139f9,_0x2aaf3b[_0x50d38c(0x31d,0x3b6)]=_0x21c48a,_0x2aaf3b['getBstarDrag']=_0x59e06c,_0x2aaf3b['getCOSPAR']=_0x260275,_0x2aaf3b[_0x4d771c(0xe1,0x1fb)]=_0x5475a5,_0x2aaf3b['getCatalogNumber']=_0x4df507,_0x2aaf3b['getCatalogNumber1']=_0x4df507,_0x2aaf3b[_0x50d38c(0x353,0x47c)]=_0x354d91,_0x2aaf3b['getChecksum1']=_0x3c7b48,_0x2aaf3b['getChecksum2']=_0x1e390b,_0x2aaf3b['getClassification']=_0x44542f,_0x2aaf3b['getEccentricity']=_0x3dc0eb,_0x2aaf3b['getEpochDay']=_0x56b47a,_0x2aaf3b['getEpochTimestamp']=_0x1591a2,_0x2aaf3b['getEpochYear']=_0x4df772,_0x2aaf3b[_0x50d38c(0x444,0x4ed)]=_0x20da90,_0x2aaf3b[_0x50d38c(0x419,0x3d6)]=_0x25c57e,_0x2aaf3b['getGroundTracksSync']=_0x12cb92,_0x2aaf3b['getInclination']=_0x1f7b12,_0x2aaf3b[_0x50d38c(0x355,0x38d)]=_0x301fe3,_0x2aaf3b['getIntDesignatorPieceOfLaunch']=_0x300849,_0x2aaf3b['getIntDesignatorYear']=_0x3cc820,_0x2aaf3b['getLastAntemeridianCrossingTimeMS']=_0x5230b6,_0x2aaf3b['getLatLngObj']=_0x17744c,_0x2aaf3b['getLineNumber1']=_0x42538f,_0x2aaf3b['getLineNumber2']=_0x68f150,_0x2aaf3b['getLngLatAtEpoch']=_0x4c719d,_0x2aaf3b[_0x50d38c(0x497,0x3c0)]=_0x317744,_0x2aaf3b['getMeanMotion']=_0x1098d2,_0x2aaf3b[_0x50d38c(0x487,0x5e5)]=_0x1074cb,_0x2aaf3b[_0x50d38c(0x482,0x31a)]=_0x4fc7e4,_0x2aaf3b[_0x50d38c(0x5d4,0x4d8)]=_0x13e8f9,_0x2aaf3b['getPerigee']=_0x4d7816,_0x2aaf3b[_0x50d38c(0x57d,0x4f8)]=_0x2cb78f,_0x2aaf3b['getRightAscension']=_0x1995a2,_0x2aaf3b['getSatBearing']=_0x6156f7,_0x2aaf3b['getSatelliteInfo']=_0x45d9d6,_0x2aaf3b[_0x50d38c(0x451,0x3aa)]=_0xacc0b2,_0x2aaf3b[_0x50d38c(0x5cf,0x53c)]=_0x3f0ea0,_0x2aaf3b['getTleSetNumber']=_0x1dd46b,_0x2aaf3b['getVisibleSatellites']=_0x5c1a5b,_0x2aaf3b['isValidTLE']=_0x5a7b43,_0x2aaf3b[_0x50d38c(0x49c,0x52e)]=_0x45e5c5;var _0x13c3a6={};_0x13c3a6['value']=!![],Object['defineProperty'](_0x2aaf3b,_0x4d771c(0xcd,0x132),_0x13c3a6);}));}(tlejs_umd$1,tlejs_umd$1['exports']));var tlejs_umd=getDefaultExportFromCjs(tlejs_umd$1['exports']),_0x47b223={};_0x47b223['__proto__']=null,_0x47b223['default']=tlejs_umd;var tle=_mergeNamespaces(_0x47b223,[tlejs_umd$1[_0x4c8020(0x372,0x377)]]);const Cesium$b=mars3d__namespace['Cesium'];class Tle{constructor(_0x472ca8,_0x3cb2c1,_0x2c8d94){this['tle1']=_0x472ca8,this['tle2']=_0x3cb2c1;function _0x21e434(_0x24d5eb,_0x613bd4){return _0x4a554d(_0x24d5eb- -0x38b,_0x613bd4);}this[_0x21e434(-0x222,-0x275)]=_0x2c8d94||'';function _0xe9b750(_0xfa5ec7,_0x269270){return _0x4a554d(_0x269270-0x332,_0xfa5ec7);}this[_0x21e434(-0x1c8,-0xb7)]=twoline2satrec$1(_0x472ca8,_0x3cb2c1),this[_0x21e434(-0x1bb,-0x29b)]=tlejs_umd$1['exports'][_0xe9b750(0x4da,0x4f9)]([this['name'],this[_0xe9b750(0x48b,0x4ec)],this['tle2']]);}get[_0x4c8020(0x38f,0x295)](){return tlejs_umd$1['exports']['getCOSPAR'](this['_parseTLE'],!![]);}get['norad'](){function _0x3a6182(_0xbd897e,_0x258c80){return _0x4a554d(_0xbd897e-0x190,_0x258c80);}return tlejs_umd$1['exports'][_0x3a6182(0x41a,0x560)](this['_parseTLE'],!![]);}get['classification'](){function _0x4b3ba1(_0x3ab87d,_0x2de0e6){return _0x4a554d(_0x2de0e6- -0x2b5,_0x3ab87d);}function _0x4d2935(_0x8a9b4,_0x11b415){return _0x4a554d(_0x11b415-0x37e,_0x8a9b4);}return tlejs_umd$1[_0x4d2935(0x529,0x525)][_0x4d2935(0x6bc,0x593)](this['_parseTLE'],!![]);}get[_0x4a554d(0x4a,0x26)](){function _0x5afcb0(_0x38750d,_0x42b00f){return _0x4a554d(_0x38750d-0x1d7,_0x42b00f);}return tlejs_umd$1['exports'][_0x5afcb0(0x38d,0x3d8)](this['_parseTLE'],!![]);}get['intDesignatorLaunchNumber'](){function _0x2b51d4(_0x116525,_0x241712){return _0x4a554d(_0x116525-0x389,_0x241712);}return tlejs_umd$1['exports'][_0x2b51d4(0x409,0x4ed)](this['_parseTLE'],!![]);}get['intDesignatorPieceOfLaunch'](){return tlejs_umd$1['exports']['getIntDesignatorPieceOfLaunch'](this['_parseTLE'],!![]);}get['epochYear'](){function _0xac409a(_0xcfbeb4,_0x3c5892){return _0x4c8020(_0xcfbeb4- -0x40b,_0x3c5892);}return tlejs_umd$1[_0xac409a(-0x99,-0x115)]['getEpochYear'](this['_parseTLE'],!![]);}get['epochDay'](){function _0x57cb9c(_0x30f572,_0x167efb){return _0x4c8020(_0x30f572- -0x22a,_0x167efb);}return tlejs_umd$1[_0x57cb9c(0x148,0x2b2)]['getEpochDay'](this['_parseTLE'],!![]);}get[_0x4a554d(0x2f4,0x1c1)](){function _0xcdc1bd(_0x10f9e0,_0x1e1ae1){return _0x4c8020(_0x1e1ae1- -0x86,_0x10f9e0);}return tlejs_umd$1['exports']['getFirstTimeDerivative'](this[_0xcdc1bd(0x39e,0x315)],!![]);}get['secondTimeDerivative'](){function _0x652573(_0x29be05,_0x235874){return _0x4a554d(_0x235874- -0xd6,_0x29be05);}function _0x384ac7(_0x3859e8,_0xe88fab){return _0x4c8020(_0x3859e8- -0x1d0,_0xe88fab);}return tlejs_umd$1['exports'][_0x384ac7(0x2f5,0x2a7)](this[_0x652573(0x180,0xfa)],!![]);}get[_0x4c8020(0x44b,0x419)](){function _0x374d27(_0x368d17,_0x3795c9){return _0x4c8020(_0x3795c9- -0x362,_0x368d17);}return tlejs_umd$1['exports']['getBstarDrag'](this[_0x374d27(0x49,0x39)],!![]);}get['orbitModel'](){function _0x2cb37d(_0x30eb8b,_0x3e6dbd){return _0x4c8020(_0x3e6dbd- -0x328,_0x30eb8b);}return tlejs_umd$1['exports']['getOrbitModel'](this[_0x2cb37d(0x7a,0x73)],!![]);}get[_0x4c8020(0x29c,0x1ce)](){return tlejs_umd$1['exports']['getTleSetNumber'](this['_parseTLE'],!![]);}get['checksum1'](){return tlejs_umd$1['exports']['getChecksum1'](this['_parseTLE'],!![]);}get[_0x4a554d(0x307,0x192)](){return tlejs_umd$1['exports']['getInclination'](this['_parseTLE'],!![]);}get['rightAscension'](){return tlejs_umd$1['exports']['getRightAscension'](this['_parseTLE'],!![]);}get[_0x4c8020(0x2a2,0x410)](){function _0x3902c7(_0x1c5d55,_0x5bcd15){return _0x4c8020(_0x5bcd15- -0x58,_0x1c5d55);}function _0x1b2325(_0x2b1af7,_0x407b7a){return _0x4c8020(_0x2b1af7-0xb8,_0x407b7a);}return tlejs_umd$1[_0x1b2325(0x42a,0x337)]['getEccentricity'](this[_0x1b2325(0x453,0x50c)],!![]);}get['perigee'](){function _0x11f4a9(_0x87eb30,_0x9fd894){return _0x4c8020(_0x87eb30-0x1dd,_0x9fd894);}function _0x221b56(_0x2da217,_0x30d2a5){return _0x4a554d(_0x30d2a5-0xd7,_0x2da217);}return tlejs_umd$1[_0x11f4a9(0x54f,0x458)][_0x11f4a9(0x552,0x61b)](this['_parseTLE'],!![]);}get['meanAnomaly'](){function _0x2ab63e(_0x350225,_0x2f6f40){return _0x4c8020(_0x2f6f40- -0x555,_0x350225);}function _0x11d63a(_0x16f41a,_0x5efb92){return _0x4a554d(_0x16f41a-0x2de,_0x5efb92);}return tlejs_umd$1[_0x11d63a(0x485,0x5ca)][_0x2ab63e(-0xb5,-0x1c8)](this[_0x2ab63e(-0xce,-0x1ba)],!![]);}get['meanMotion'](){function _0x49a4e1(_0x66dd9,_0x50cc31){return _0x4c8020(_0x66dd9- -0x37a,_0x50cc31);}function _0x1306dd(_0x2c4258,_0x3b228c){return _0x4a554d(_0x3b228c- -0x1ef,_0x2c4258);}return tlejs_umd$1[_0x1306dd(-0x73,-0x48)][_0x1306dd(0x10c,0x20)](this['_parseTLE'],!![]);}get['period'](){function _0x339da9(_0x1c7365,_0x5120ff){return _0x4a554d(_0x5120ff-0xab,_0x1c7365);}return parseInt(0x5a0/parseFloat(this[_0x339da9(0x279,0x2b7)]));}get[_0x4c8020(0x39d,0x490)](){function _0x5abdaf(_0x2e96ab,_0x517c71){return _0x4c8020(_0x2e96ab- -0x454,_0x517c71);}function _0xdf74fa(_0x2852d4,_0x547f10){return _0x4c8020(_0x2852d4- -0x1ae,_0x547f10);}return tlejs_umd$1[_0x5abdaf(-0xe2,-0x94)][_0x5abdaf(0x1f,0x5f)](this[_0x5abdaf(-0xb9,0x2a)],!![]);}get['checksum2'](){function _0x324bbd(_0x47543e,_0xec194c){return _0x4a554d(_0x47543e-0xb0,_0xec194c);}return tlejs_umd$1[_0x324bbd(0x257,0x1e1)]['getChecksum2'](this['_parseTLE'],!![]);}['_getEciPositionAndVelocity'](_0x3b219d,_0x27de3a){function _0x10a208(_0x5d2314,_0x2a1cb3){return _0x4a554d(_0x5d2314-0x94,_0x2a1cb3);}if(!_0x3b219d)_0x3b219d=new Date();else{if(mars3d__namespace[_0x38594f(0x28e,0x2b3)]['isNumber'](_0x3b219d))_0x3b219d=new Date(_0x3b219d);else _0x3b219d instanceof Cesium$b['JulianDate']&&(_0x3b219d=Cesium$b[_0x10a208(0x2bf,0x293)][_0x38594f(0x393,0x34a)](_0x3b219d));}const _0x23b69b=propagate$1(this['_satrec'],_0x3b219d),_0x2a2a65=_0x23b69b['position'];function _0x38594f(_0x3aa585,_0x3670af){return _0x4a554d(_0x3aa585-0xa6,_0x3670af);}if(_0x2a2a65==null||isNaN(_0x2a2a65['x']))return null;return _0x27de3a&&(_0x23b69b[_0x38594f(0x118,0xfc)]=gstime$1(_0x3b219d)),_0x23b69b;}[_0x4c8020(0x492,0x5b8)](_0x135d6d){const _0x207f8b=this['_getEciPositionAndVelocity'](_0x135d6d,!![]);if(!_0x207f8b)return;const _0x166e1c=_0x207f8b['gmst'],_0x569c26=_0x207f8b['position'],_0x3156c3=eciToEcf$1(_0x569c26,_0x166e1c);return new Cesium$b['Cartesian3'](_0x3156c3['x']*0x3e8,_0x3156c3['y']*0x3e8,_0x3156c3['z']*0x3e8);}['getEciPosition'](_0x447873){const _0x28ab70=this['_getEciPositionAndVelocity'](_0x447873);if(!_0x28ab70)return;const _0x2f1eec=_0x28ab70[_0x413330(0x346,0x289)];function _0x413330(_0x58e92a,_0x45c760){return _0x4a554d(_0x58e92a-0x2dc,_0x45c760);}return new Cesium$b['Cartesian3'](_0x2f1eec['x']*0x3e8,_0x2f1eec['y']*0x3e8,_0x2f1eec['z']*0x3e8);}['getPosition'](_0x43de6e,_0x5bd079){function _0x20e593(_0x135aeb,_0xcb547e){return _0x4a554d(_0x135aeb- -0x387,_0xcb547e);}if(!_0x43de6e)_0x43de6e=Cesium$b['JulianDate']['fromDate'](new Date());else{if(mars3d__namespace[_0x20e593(-0x19f,-0xea)][_0x20e593(-0x145,-0x274)](_0x43de6e))_0x43de6e=Cesium$b['JulianDate'][_0x3cd004(-0x23f,-0x2c0)](new Date(_0x43de6e));else _0x43de6e instanceof Date&&(_0x43de6e=Cesium$b['JulianDate']['fromDate'](_0x43de6e));}const _0x181e68=this[_0x20e593(-0xcd,-0x17d)](_0x43de6e);function _0x3cd004(_0x14e2f1,_0x1c41f3){return _0x4a554d(_0x1c41f3- -0x31b,_0x14e2f1);}return Tle['getCzmPositionByEciPosition'](_0x181e68,_0x43de6e,_0x5bd079);}['getPoint'](_0x40fe63,_0x213c4d){function _0x65f522(_0x1425ee,_0x2f097f){return _0x4c8020(_0x1425ee- -0xd0,_0x2f097f);}const _0x57996a=this[_0x65f522(0x1e9,0x243)](_0x40fe63,_0x213c4d);return _0x57996a?mars3d__namespace['LngLatPoint']['fromCartesian'](_0x57996a):undefined;}['getLookAngles'](_0x2b4e69,_0x445e6e){const _0x12c680=this[_0x1e8cc2(0x487,0x535)](_0x445e6e,!![]);if(!_0x12c680)return;const _0x207654=_0x12c680['gmst'];function _0x3818a0(_0x1c222a,_0x331106){return _0x4a554d(_0x1c222a-0xb0,_0x331106);}const _0x33577a=_0x12c680[_0x3818a0(0x11a,-0x5)];function _0x1e8cc2(_0x36cb5e,_0x315b6f){return _0x4a554d(_0x36cb5e-0x330,_0x315b6f);}const _0x388d7b=eciToEcf$1(_0x33577a,_0x207654),_0x28533c={'longitude':degreesToRadians$1(_0x2b4e69[_0x1e8cc2(0x620,0x681)]),'latitude':degreesToRadians$1(_0x2b4e69[_0x1e8cc2(0x3fe,0x3b5)]),'height':_0x2b4e69[_0x3818a0(0x31e,0x370)]/0x3e8},_0x21b704=ecfToLookAngles$1(_0x28533c,_0x388d7b);return{'position':new Cesium$b['Cartesian3'](_0x388d7b['x']*0x3e8,_0x388d7b['y']*0x3e8,_0x388d7b['z']*0x3e8),'range':_0x21b704['rangeSat']*0x3e8,'azimuth':radiansToDegrees$1(_0x21b704[_0x1e8cc2(0x36c,0x470)]),'elevation':radiansToDegrees$1(_0x21b704[_0x3818a0(0x327,0x3f8)])};}static[_0x4c8020(0x27c,0x354)](_0x3d8878,_0x551406,_0x28a6d2){const _0xd9ddbe=Cesium$b[_0xaa3c69(0x27c,0x2a4)][_0xaa3c69(0x1d0,0x2d8)](_0x551406);if(!Cesium$b['defined'](_0xd9ddbe))return mars3d__namespace['Log'][_0xaa3c69(0x245,0xdd)](_0xaa3c69(0x338,0x301)),_0x3d8878;const _0x5d60ea=Cesium$b['Matrix3'][_0xaa3c69(0x157,0x1ea)](_0xd9ddbe,_0x3d8878,new Cesium$b[(_0x352545(0x19e,0x1af))]());if(_0x28a6d2)return _0x5d60ea;function _0x352545(_0x449309,_0x3dd016){return _0x4c8020(_0x449309- -0x24e,_0x3dd016);}function _0xaa3c69(_0x357184,_0x2a5e6a){return _0x4c8020(_0x2a5e6a- -0x13f,_0x357184);}const _0x80f350=Cesium$b[_0x352545(0x195,0x1a6)]['computeFixedToIcrfMatrix'](_0x551406);if(!Cesium$b[_0xaa3c69(0x444,0x34f)](_0x80f350))return mars3d__namespace[_0xaa3c69(0x24e,0x302)]['logWarn'](_0x352545(0x1f2,0xb0)),_0x3d8878;const _0x1b2a86=Cesium$b[_0x352545(0x1e8,0x12c)]['multiplyByVector'](_0x80f350,_0x5d60ea,new Cesium$b['Cartesian3']());return _0x1b2a86;}static[_0x4a554d(0x190,0x94)](_0x40c841,_0x2cf260,_0x555340,_0x1f5a30){function _0x2c2bd6(_0x9aaa2f,_0x5d15e5){return _0x4c8020(_0x5d15e5-0xbc,_0x9aaa2f);}return new Tle(_0x40c841,_0x2cf260)[_0x2c2bd6(0x3a1,0x417)](_0x555340,_0x1f5a30);}static[_0x4c8020(0x492,0x4c5)](_0x5e95bf,_0x3ab389,_0x518d9b){return new Tle(_0x5e95bf,_0x3ab389)['getEcfPosition'](_0x518d9b);}static[_0x4a554d(0x2ba,0x240)](_0x14a8e2,_0x253825,_0xb6b9e9){function _0x2ad9b3(_0x2a5f01,_0x39cdd3){return _0x4a554d(_0x39cdd3-0x110,_0x2a5f01);}return new Tle(_0x14a8e2,_0x253825)[_0x2ad9b3(0x2da,0x3ca)](_0xb6b9e9);}static[_0x4c8020(0x1fe,0xd6)](_0x30d558){return _0x30d558 instanceof Cesium$b['JulianDate']&&(_0x30d558=Cesium$b['JulianDate']['toDate'](_0x30d558)),gstime$1(_0x30d558);}static['eciToGeodetic'](_0x41e5ea,_0xd09b0a){const _0x4619cf=Tle[_0x4b9c9d(0x550,0x3e7)](_0xd09b0a);var _0xcb7c68={};_0xcb7c68['x']=_0x41e5ea['x']/0x3e8,_0xcb7c68['y']=_0x41e5ea['y']/0x3e8,_0xcb7c68['z']=_0x41e5ea['z']/0x3e8;const _0x16502a=_0xcb7c68,_0x7a9b11=eciToGeodetic$1(_0x16502a,_0x4619cf),_0x2fcd77=degreesLong$1(_0x7a9b11[_0x523744(-0xbb,0x46)]),_0x3c13ae=degreesLat$1(_0x7a9b11['latitude']);function _0x4b9c9d(_0x143c3d,_0x522fcb){return _0x4a554d(_0x522fcb-0x3b4,_0x143c3d);}const _0x3df501=_0x7a9b11['height']*0x3e8;function _0x523744(_0x58474b,_0x5c8388){return _0x4c8020(_0x58474b- -0x557,_0x5c8388);}return new mars3d__namespace['LngLatPoint'](_0x2fcd77,_0x3c13ae,_0x3df501);}static['eciToEcf'](_0x2abac7,_0xf44c35,_0x2a2a72){const _0x40c6fb=Tle['gstime'](_0xf44c35);var _0x5bfe5b={};_0x5bfe5b['x']=_0x2abac7['x']/0x3e8,_0x5bfe5b['y']=_0x2abac7['y']/0x3e8,_0x5bfe5b['z']=_0x2abac7['z']/0x3e8;const _0x4d1785=_0x5bfe5b,_0x1c1e41=eciToEcf$1(_0x4d1785,_0x40c6fb);!_0x2a2a72&&(_0x2a2a72=new Cesium$b[(_0x4cc0f0(0x316,0x1ab))]());_0x2a2a72['x']=_0x1c1e41['x']*0x3e8,_0x2a2a72['y']=_0x1c1e41['y']*0x3e8,_0x2a2a72['z']=_0x1c1e41['z']*0x3e8;function _0x4cc0f0(_0x4aaf7b,_0x34414d){return _0x4a554d(_0x34414d- -0x76,_0x4aaf7b);}return _0x2a2a72;}static['ecfToEci'](_0x19f106,_0xc9d763){const _0x46135f=Tle['gstime'](_0xc9d763);var _0x19dded={};_0x19dded['x']=_0x19f106['x']/0x3e8,_0x19dded['y']=_0x19f106['y']/0x3e8,_0x19dded['z']=_0x19f106['z']/0x3e8;const _0xc21845=_0x19dded,_0x33a460=ecfToEci$1(_0xc21845,_0x46135f);return new Cesium$b['Cartesian3'](_0x33a460['x']*0x3e8,_0x33a460['y']*0x3e8,_0x33a460['z']*0x3e8);}static[_0x4c8020(0x294,0x24a)](_0x5953a7,_0x5e6f40){function _0x4596de(_0x1730dc,_0x342058){return _0x4c8020(_0x342058- -0x339,_0x1730dc);}const _0x5071cc=new Tle(_0x5953a7,_0x5e6f40);var _0x5e090c={};_0x5e090c[_0x2fb60b(0x439,0x3fb)]=_0x5071cc[_0x2fb60b(0x439,0x554)],_0x5e090c['epochYear']=_0x5071cc['epochYear'],_0x5e090c['epochDay']=_0x5071cc['epochDay'];function _0x2fb60b(_0x22f9dd,_0x47bf28){return _0x4c8020(_0x22f9dd-0x105,_0x47bf28);}return _0x5e090c[_0x2fb60b(0x5d7,0x539)]=_0x5071cc['inclination'],_0x5e090c[_0x2fb60b(0x504,0x5e6)]=_0x5071cc['rightAscension'],_0x5e090c['eccentricity']=_0x5071cc[_0x2fb60b(0x3a7,0x261)],_0x5e090c['perigee']=_0x5071cc[_0x2fb60b(0x4a4,0x3f7)],_0x5e090c['meanAnomaly']=_0x5071cc[_0x2fb60b(0x541,0x5b8)],_0x5e090c['meanMotion']=_0x5071cc['meanMotion'],_0x5e090c;}}Tle[_0x4c8020(0x239,0x168)]=satellite,Tle[_0x4c8020(0x316,0x3de)]=tle,mars3d__namespace[_0x4c8020(0x32d,0x2b2)]=Tle;var SatelliteSensorFS='in\x20vec3\x20v_positionEC;\x0ain\x20vec3\x20v_normalEC;\x0a\x0auniform\x20vec4\x20marsColor;\x0auniform\x20float\x20globalAlpha;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20positionToEyeEC\x20=\x20-v_positionEC;\x0a\x0a\x20\x20vec3\x20normalEC\x20=\x20normalize(v_normalEC);\x0a\x20\x20#ifdef\x20FACE_FORWARD\x0a\x20\x20normalEC\x20=\x20faceforward(normalEC,\x20vec3(0.,\x200.,\x201.),\x20-normalEC);\x0a\x20\x20#endif\x0a\x0a\x20\x20czm_materialInput\x20materialInput;\x0a\x20\x20materialInput.normalEC\x20=\x20normalEC;\x0a\x20\x20materialInput.positionToEyeEC\x20=\x20positionToEyeEC;\x0a\x0a\x20\x20czm_material\x20material\x20=\x20czm_getDefaultMaterial(materialInput);\x0a\x20\x20material.diffuse\x20=\x20marsColor.rgb;\x0a\x20\x20material.alpha\x20=\x20marsColor.a\x20*\x20globalAlpha;\x0a\x0a\x20\x20#ifdef\x20FLAT\x0a\x20\x20out_FragColor\x20=\x20vec4(material.diffuse\x20+\x20material.emission,\x20material.alpha);\x0a\x20\x20#else\x0a\x20\x20out_FragColor\x20=\x20czm_phong(normalize(positionToEyeEC),\x20material,\x20czm_lightDirectionEC);\x0a\x20\x20#endif\x0a}\x0a',SatelliteSensorVS=_0x4c8020(0x44e,0x527);const Cesium$a=mars3d__namespace[_0x4c8020(0x3ef,0x2e9)];class CamberRadarPrimitive{constructor(_0x970ed6){this['id']=_0x970ed6['id'],this['name']=_0x970ed6[_0x52ac69(0x5f5,0x52d)],this['_startFovH']=0x0,this[_0x31127c(0x27b,0x29e)]=0x0,this[_0x31127c(0x373,0x223)]=0x0,this['_endFovV']=0x0,this[_0x52ac69(0x592,0x4c8)]=0x1,this[_0x52ac69(0x6d4,0x63e)]=0x1,this[_0x52ac69(0x54f,0x502)]=0x1,this['_subSegmentV']=0x1,this[_0x31127c(0xa,0xf3)]=0x1,this[_0x31127c(-0xb,0x133)]=undefined,this['_initBoundingSphere']=undefined,this[_0x52ac69(0x52c,0x477)]=new Cesium$a['BoundingSphere'](),this['_modelMatrix']=Cesium$a['Matrix4']['clone'](Cesium$a[_0x52ac69(0x442,0x557)]['IDENTITY']),this['innerFovRadiusPairs']=_0x970ed6['innerFovRadiusPairs'];function _0x52ac69(_0x3e6c24,_0x279b79){return _0x4c8020(_0x279b79-0x1f9,_0x3e6c24);}this[_0x52ac69(0x52c,0x49e)]=_0x970ed6[_0x52ac69(0x557,0x49e)],this['radius']=_0x970ed6['radius'],this[_0x52ac69(0x52d,0x482)]=_0x970ed6[_0x52ac69(0x3a7,0x482)],this[_0x31127c(0x29a,0x1af)]=_0x970ed6[_0x31127c(0x1e3,0x1af)],this[_0x52ac69(0x432,0x4a8)]=_0x970ed6['closed'],this['modelMatrix']=_0x970ed6[_0x31127c(0x3a,0x1ac)]??Cesium$a[_0x31127c(0x2ab,0x1e3)]['IDENTITY'],this[_0x52ac69(0x310,0x412)]=_0x970ed6[_0x31127c(0x35,0x9e)]??Cesium$a[_0x52ac69(0x519,0x624)]['toRadians'](-0x32),this[_0x52ac69(0x536,0x649)]=_0x970ed6['endFovH']??Cesium$a[_0x31127c(0x1f1,0x2b0)]['toRadians'](0x32),this['startFovV']=_0x970ed6['startFovV']??Cesium$a[_0x52ac69(0x5ee,0x624)][_0x52ac69(0x3c7,0x40d)](0x5),this['endFovV']=_0x970ed6['endFovV']??Cesium$a[_0x52ac69(0x4c8,0x624)]['toRadians'](0x55),this['segmentH']=_0x970ed6['segmentH']??0x3c,this['segmentV']=_0x970ed6['segmentV']??0x14,this[_0x52ac69(0x663,0x513)]=_0x970ed6['subSegmentH']??0x3;function _0x31127c(_0x322f37,_0x1888a2){return _0x4c8020(_0x1888a2- -0x17b,_0x322f37);}this[_0x52ac69(0x67c,0x514)]=_0x970ed6['subSegmentV']??0x3,this['color']=_0x970ed6['color']??new Cesium$a[(_0x31127c(-0x88,0xb8))](0x1,0x1,0x0,0.5),this['outlineColor']=_0x970ed6['outlineColor']??new Cesium$a['Color'](0x1,0x1,0x1),this[_0x52ac69(0x544,0x69f)]=_0x970ed6['show']??!![];}get[_0x4c8020(0x289,0x17f)](){return this['_startRadius'];}set[_0x4a554d(0xbe,0x32)](_0x51472c){this['_startRadius']=_0x51472c;function _0x3e2d6d(_0x493f95,_0x4fc651){return _0x4c8020(_0x493f95- -0x5b,_0x4fc651);}function _0x1b6454(_0x391e6d,_0x45aa79){return _0x4a554d(_0x45aa79- -0x91,_0x391e6d);}this[_0x3e2d6d(0x430,0x545)]=[{'fov':Cesium$a['Math'][_0x3e2d6d(0x1b9,0x1a2)](0x0),'radius':_0x51472c},{'fov':Cesium$a['Math']['toRadians'](0xa),'radius':0.9*_0x51472c},{'fov':Cesium$a['Math'][_0x1b6454(-0x144,-0x48)](0x14),'radius':0.8*_0x51472c},{'fov':Cesium$a['Math']['toRadians'](0x1e),'radius':0.7*_0x51472c},{'fov':Cesium$a[_0x1b6454(0x32b,0x1cf)][_0x1b6454(0x1d,-0x48)](0x28),'radius':0.6*_0x51472c},{'fov':Cesium$a[_0x1b6454(0x33f,0x1cf)]['toRadians'](0x32),'radius':0.5*_0x51472c},{'fov':Cesium$a['Math'][_0x1b6454(0xf2,-0x48)](0x3c),'radius':0.4*_0x51472c},{'fov':Cesium$a[_0x3e2d6d(0x3d0,0x2d0)]['toRadians'](0x46),'radius':0.3*_0x51472c},{'fov':Cesium$a['Math']['toRadians'](0x50),'radius':0.1*_0x51472c},{'fov':Cesium$a['Math'][_0x3e2d6d(0x1b9,0xb5)](0x5a),'radius':0.01*_0x51472c}];}get['radius'](){return this['_radius'];}set[_0x4a554d(0x15b,0x23c)](_0x366a19){function _0x3ce678(_0x3f86b3,_0x2c1ae9){return _0x4c8020(_0x3f86b3- -0x3e6,_0x2c1ae9);}this['_radius']=_0x366a19;function _0x4a9d3c(_0x4ca46e,_0x31866b){return _0x4a554d(_0x4ca46e-0x36d,_0x31866b);}this[_0x3ce678(-0x141,-0x2f)]=[{'fov':Cesium$a['Math']['toRadians'](0x0),'radius':_0x366a19},{'fov':Cesium$a['Math'][_0x4a9d3c(0x3b6,0x3cf)](0xa),'radius':0.9*_0x366a19},{'fov':Cesium$a['Math'][_0x4a9d3c(0x3b6,0x2c3)](0x14),'radius':0.8*_0x366a19},{'fov':Cesium$a['Math']['toRadians'](0x1e),'radius':0.7*_0x366a19},{'fov':Cesium$a['Math']['toRadians'](0x28),'radius':0.6*_0x366a19},{'fov':Cesium$a[_0x3ce678(0x45,-0x66)]['toRadians'](0x32),'radius':0.5*_0x366a19},{'fov':Cesium$a[_0x3ce678(0x45,-0x5d)][_0x3ce678(-0x1d2,-0x1df)](0x3c),'radius':0.4*_0x366a19},{'fov':Cesium$a[_0x3ce678(0x45,0x13a)]['toRadians'](0x46),'radius':0.3*_0x366a19},{'fov':Cesium$a['Math']['toRadians'](0x50),'radius':0.1*_0x366a19},{'fov':Cesium$a[_0x3ce678(0x45,-0x5e)]['toRadians'](0x5a),'radius':0.01*_0x366a19}];}['_createOuterCurveCommand'](_0x32765a){const _0x22078a=this[_0x36757e(0x97,0x8a)]*this['_segmentH'],_0x1d884d=this['_subSegmentV']*this[_0x36757e(0x1d3,0x335)];function _0x36757e(_0x1888d4,_0x16d6a0){return _0x4c8020(_0x1888d4- -0x272,_0x16d6a0);}const _0x36c1a6=getGridDirs(this['_startFovH'],this[_0x278905(0x5bb,0x478)],this['_startFovV'],this['_endFovV'],_0x22078a,_0x1d884d,this['_outerFovRadiusPairs']),_0xe2df7e=getGridDirs(this[_0x278905(0x4f8,0x58f)],this[_0x278905(0x5bb,0x6be)],this['_startFovV'],this['_endFovV'],_0x22078a,_0x1d884d,this['_outerFovRadiusPairs']);function _0x278905(_0x36a68d,_0x29b58a){return _0x4a554d(_0x36a68d-0x36d,_0x29b58a);}const _0x51b5ad=getGridIndices(_0x22078a,_0x1d884d),_0xd05b93=getLineGridIndices(this[_0x36757e(0x5d,-0x4a)],this['_segmentV'],this[_0x36757e(0x97,0x184)],this[_0x278905(0x504,0x610)]);return this['_createRawCommand'](_0x32765a,_0x36c1a6,_0xe2df7e,_0x51b5ad,_0xd05b93);}[_0x4a554d(0xcf,0x141)](_0x3bf1d3){const _0x620473=this[_0x2aa525(0x365,0x33b)]*this['_segmentH'],_0x35c65a=this['_subSegmentV']*this['_segmentV'];function _0x2aa525(_0x86ada8,_0x2d1f28){return _0x4c8020(_0x86ada8-0x5c,_0x2d1f28);}const _0xd171b2=getGridDirs(this['_startFovH'],this['_endFovH'],this['_startFovV'],this['_endFovV'],_0x620473,_0x35c65a,this[_0x2aa525(0x34f,0x3df)]),_0x475769=getGridDirs(this['_startFovH'],this[_0x2aa525(0x475,0x46d)],this[_0x2aa525(0x3fa,0x4fc)],this[_0x2aa525(0x4a4,0x3c7)],_0x620473,_0x35c65a,this['_innerFovRadiusPairs']),_0x1b6452=getGridIndices(_0x620473,_0x35c65a),_0x5159b2=getLineGridIndices(this['_segmentH'],this['_segmentV'],this['_subSegmentH'],this['_subSegmentV']);function _0x3ddd85(_0x2e6de4,_0x355129){return _0x4a554d(_0x2e6de4- -0x14,_0x355129);}return this[_0x2aa525(0x459,0x3bb)](_0x3bf1d3,_0xd171b2,_0x475769,_0x1b6452,_0x5159b2);}[_0x4a554d(0x1fa,0x20a)](_0x3f81ff){const _0x238837=0x1*0xa,_0x40f8fe=this['_subSegmentV']*this['_segmentV'];function _0x2a4b6b(_0x3ca7b6,_0x48b89e){return _0x4c8020(_0x3ca7b6- -0xd2,_0x48b89e);}const _0x208fe9=getCrossSectionPositions(this[_0x2a4b6b(0x284,0x363)],this['_startFovV'],this['_endFovV'],_0x238837,_0x40f8fe,this[_0x2a4b6b(0x221,0x2e0)],this['_outerFovRadiusPairs']);function _0xd5cac2(_0x2ebe3c,_0x5ae98d){return _0x4a554d(_0x5ae98d- -0x22,_0x2ebe3c);}const _0x5d6791=getCrossSectionPositions(this[_0x2a4b6b(0x284,0x3dc)],this['_startFovV'],this['_endFovV'],_0x238837,_0x40f8fe,this[_0xd5cac2(0x81,0x106)],this['_outerFovRadiusPairs']),_0x29427b=getGridIndices(_0x238837,_0x40f8fe),_0x1b4810=getLineGridIndices(0xa,this[_0x2a4b6b(0x373,0x41b)],0x1,this['_subSegmentV']);return this[_0xd5cac2(0x1ee,0x210)](_0x3f81ff,_0x208fe9,_0x5d6791,_0x29427b,_0x1b4810);}[_0x4a554d(0x89,0x15b)](_0x294544){function _0x1e709f(_0xc0c62,_0x24551d){return _0x4c8020(_0x24551d- -0x160,_0xc0c62);}const _0x28aad1=0x1*0xa;function _0x58a2a1(_0x1bed28,_0x1d24e3){return _0x4a554d(_0x1bed28-0xa6,_0x1d24e3);}const _0x36da7b=this['_subSegmentV']*this[_0x58a2a1(0x320,0x2ba)],_0x58c920=getCrossSectionPositions(this[_0x58a2a1(0x2f4,0x2fe)],this[_0x1e709f(0x249,0x23e)],this['_endFovV'],_0x28aad1,_0x36da7b,this['_innerFovRadiusPairs'],this['_outerFovRadiusPairs']),_0x558043=getCrossSectionPositions(this['_endFovH'],this['_startFovV'],this[_0x1e709f(0x209,0x2e8)],_0x28aad1,_0x36da7b,this['_innerFovRadiusPairs'],this['_outerFovRadiusPairs']),_0x55d26e=getGridIndices(_0x28aad1,_0x36da7b),_0x1b8fd5=getLineGridIndices(0xa,this[_0x1e709f(0x42b,0x2e5)],0x1,this[_0x58a2a1(0x23d,0x136)]);return this[_0x58a2a1(0x2d8,0x1d1)](_0x294544,_0x58c920,_0x558043,_0x55d26e,_0x1b8fd5);}[_0x4a554d(0x232,0x13e)](_0x22730c,_0x15a763,_0x507c6d,_0x12d0d4,_0x1b43c1){var _0x4fed3b={};_0x4fed3b[_0x45c954(0x35a,0x1f0)]=_0x22730c,_0x4fed3b['vertexShaderSource']=SatelliteSensorVS,_0x4fed3b[_0x45c954(0x1d4,0x280)]=SatelliteSensorFS,_0x4fed3b['attributeLocations']=attributeLocations;function _0x4bcad7(_0x34075c,_0x35365c){return _0x4a554d(_0x35365c- -0x23e,_0x34075c);}const _0x1350f4=Cesium$a[_0x4bcad7(-0xdd,-0xf)][_0x4bcad7(-0x19f,-0x60)](_0x4fed3b),_0x21ca7c=Cesium$a[_0x4bcad7(-0x16f,-0x187)]['createVertexBuffer']({'context':_0x22730c,'typedArray':_0x15a763,'usage':Cesium$a[_0x4bcad7(-0x117,-0xb6)][_0x4bcad7(-0x96,-0x20)]}),_0x4c7266=Cesium$a['Buffer'][_0x4bcad7(-0x20c,-0x1c9)]({'context':_0x22730c,'typedArray':_0x507c6d,'usage':Cesium$a['BufferUsage']['STATIC_DRAW']}),_0x319449=Cesium$a[_0x45c954(0x97,0x60)]['createIndexBuffer']({'context':_0x22730c,'typedArray':_0x12d0d4,'usage':Cesium$a['BufferUsage']['STATIC_DRAW'],'indexDatatype':Cesium$a[_0x45c954(0x102,0x46)]['UNSIGNED_SHORT']}),_0x11eb15=Cesium$a['Buffer']['createIndexBuffer']({'context':_0x22730c,'typedArray':_0x1b43c1,'usage':Cesium$a['BufferUsage']['STATIC_DRAW'],'indexDatatype':Cesium$a['IndexDatatype']['UNSIGNED_SHORT']}),_0xede96a=new Cesium$a[(_0x45c954(0x239,0x1b3))]({'context':_0x22730c,'attributes':[{'index':0x0,'vertexBuffer':_0x21ca7c,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a['ComponentDatatype']['FLOAT']},{'index':0x1,'vertexBuffer':_0x4c7266,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a[_0x4bcad7(-0x188,-0x115)][_0x4bcad7(-0xe7,-0x197)]}],'indexBuffer':_0x319449}),_0x389fb4=new Cesium$a['VertexArray']({'context':_0x22730c,'attributes':[{'index':0x0,'vertexBuffer':_0x21ca7c,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a[_0x4bcad7(-0x38,-0x115)][_0x45c954(-0xa2,0x50)]},{'index':0x1,'vertexBuffer':_0x4c7266,'componentsPerAttribute':0x3,'componentDatatype':Cesium$a['ComponentDatatype']['FLOAT']}],'indexBuffer':_0x11eb15}),_0x444ea3=Cesium$a['BoundingSphere'][_0x4bcad7(-0x214,-0xb0)](_0x15a763),_0xbbe334=this['translucent']??!![],_0x1a2a1=this['closed']??![],_0x1ebb2=Cesium$a[_0x45c954(0xd8,0xbb)][_0x45c954(0x272,0x149)](_0xbbe334,_0x1a2a1,undefined),_0x355f37=Cesium$a['RenderState'][_0x45c954(0x1c8,0x19e)](_0x1ebb2);var _0x3b99df={};_0x3b99df[_0x4bcad7(-0x24e,-0x1c1)]=()=>{function _0x2f7510(_0x1edcad,_0x44b538){return _0x45c954(_0x44b538,_0x1edcad-0x476);}return this[_0x2f7510(0x5a8,0x4fb)];},_0x3b99df['globalAlpha']=()=>{return this['_globalAlpha'];};const _0x4125ec=new Cesium$a['DrawCommand']({'vertexArray':_0xede96a,'primitiveType':Cesium$a['PrimitiveType']['TRIANGLES'],'renderState':_0x355f37,'shaderProgram':_0x1350f4,'uniformMap':_0x3b99df,'owner':this,'pass':Cesium$a['Pass']['TRANSLUCENT'],'modelMatrix':new Cesium$a[(_0x4bcad7(0x8c,-0xab))](),'boundingVolume':new Cesium$a['BoundingSphere'](),'cull':!![]});var _0x27d659={};_0x27d659['marsColor']=()=>{return this['outlineColor'];},_0x27d659['globalAlpha']=()=>{return this['_globalAlpha'];};const _0x3ffc0d=new Cesium$a[(_0x4bcad7(0xfa,0x27))]({'vertexArray':_0x389fb4,'primitiveType':Cesium$a['PrimitiveType']['LINES'],'renderState':_0x355f37,'shaderProgram':_0x1350f4,'uniformMap':_0x27d659,'owner':this,'pass':Cesium$a[_0x4bcad7(-0x2c,-0x113)]['TRANSLUCENT'],'modelMatrix':new Cesium$a['Matrix4'](),'boundingVolume':new Cesium$a[(_0x45c954(0x1cb,0x9e))](),'cull':!![]});var _0x110a6a={};_0x110a6a['command']=_0x4125ec,_0x110a6a[_0x4bcad7(-0x6a,-0xb7)]=_0x3ffc0d;function _0x45c954(_0x500dd2,_0x5601e3){return _0x4a554d(_0x5601e3- -0x57,_0x500dd2);}return _0x110a6a[_0x4bcad7(-0xcd,-0x8)]=_0x444ea3,_0x110a6a;}['update'](_0x1070e2){if(!this['show'])return;const _0xb5371e=this['innerFovRadiusPairs']!==this['_innerFovRadiusPairs']||this['outerFovRadiusPairs']!==this['_outerFovRadiusPairs']||this['startFovH']!==this['_startFovH']||this[_0x2e6d87(0x2a7,0x3fe)]!==this['_endFovH']||this['startFovV']!==this['_startFovV']||this[_0x569b51(0x31b,0x3af)]!==this[_0x2e6d87(0x29f,0x1f8)]||this['segmentH']!==this[_0x2e6d87(0x126,0xd6)]||this['segmentV']!==this['_segmentV']||this[_0x569b51(0x1b4,0x15e)]!==this[_0x569b51(0x1a3,0x1ba)]||this[_0x569b51(0x1b5,0x7b)]!==this['_subSegmentV'];_0xb5371e&&(this['_innerFovRadiusPairs']=this['innerFovRadiusPairs'],this['_outerFovRadiusPairs']=this[_0x569b51(0x13f,0x21f)],this['_startFovH']=this[_0x2e6d87(0x70,0x46)],this['_endFovH']=this['endFovH'],this['_startFovV']=this['startFovV'],this[_0x569b51(0x2e2,0x2bb)]=this['endFovV'],this['_segmentH']=this['segmentH'],this[_0x2e6d87(0x29c,0x36d)]=this['segmentV'],this[_0x2e6d87(0x160,0x176)]=this[_0x2e6d87(0x171,0x169)],this[_0x2e6d87(0x1b9,0x1c3)]=this[_0x2e6d87(0x172,0x127)],this[_0x2e6d87(0x1af,0x2b2)]=Cesium$a[_0x569b51(0x2ad,0x39d)](Cesium$a[_0x569b51(0x1f8,0x2fb)][_0x569b51(0x2aa,0x133)]),this[_0x569b51(0x1d6,0x2aa)]());function _0x569b51(_0x53d800,_0x2c0741){return _0x4a554d(_0x53d800-0x65,_0x2c0741);}(!Cesium$a['defined'](this['_commands'])||this[_0x569b51(0x181,0xa0)][_0x569b51(0x1d1,0x21e)]===0x0)&&(this[_0x2e6d87(0x13e,0xde)]||(this['_commands']=[]),this[_0x569b51(0x1d6,0xf7)](),this['_commands'][_0x569b51(0x2e1,0x231)](this['_createOuterCurveCommand'](_0x1070e2[_0x2e6d87(0x269,0x2f0)])),this['_commands']['push'](this['_createLeftCrossSectionCommand'](_0x1070e2['context'])),this['_commands'][_0x2e6d87(0x29e,0x179)](this[_0x569b51(0xee,-0x18)](_0x1070e2['context'])),this['_commands']['push'](this['_createInnerCurveCommand'](_0x1070e2[_0x569b51(0x2ac,0x1d3)])));!Cesium$a['Matrix4']['equals'](this['modelMatrix'],this['_modelMatrix'])&&(Cesium$a['Matrix4']['clone'](this['modelMatrix'],this[_0x2e6d87(0x1af,0xa8)]),this['_commands'][_0x569b51(0x28a,0x265)](_0x4315ac=>{_0x4315ac['command'][_0x4b33c4(-0xc9,-0x59)]=Cesium$a[_0xf48a2d(-0x77,0x3c)]['IDENTITY'],_0x4315ac['command']['modelMatrix']=this[_0x4b33c4(-0x156,-0x28)],_0x4315ac['command']['boundingVolume']=Cesium$a['BoundingSphere']['transform'](_0x4315ac['initBoundingSphere'],this['_modelMatrix'],this['_boundingSphere']);function _0x4b33c4(_0x4ebbdb,_0x4ae6be){return _0x2e6d87(_0x4ae6be- -0x1d7,_0x4ebbdb);}_0x4315ac[_0xf48a2d(-0x83,0x98)]['modelMatrix']=Cesium$a['Matrix4'][_0x4b33c4(0x100,0x90)],_0x4315ac['lineCommand'][_0xf48a2d(-0xae,-0x47)]=this['_modelMatrix'];function _0xf48a2d(_0x325cd0,_0x20a1be){return _0x569b51(_0x325cd0- -0x26f,_0x20a1be);}_0x4315ac[_0x4b33c4(-0x171,-0x2e)][_0xf48a2d(0x85,0x36)]=Cesium$a[_0x4b33c4(-0x1b8,-0xc0)][_0x4b33c4(0x258,0x14e)](_0x4315ac['initBoundingSphere'],this['_modelMatrix'],this[_0xf48a2d(-0x157,-0x241)]);}));function _0x2e6d87(_0x1a1625,_0x4b5971){return _0x4a554d(_0x1a1625-0x22,_0x4b5971);}this['_commands']['forEach'](_0x4ba9ec=>{function _0x158982(_0xa1434c,_0x3c46a4){return _0x2e6d87(_0xa1434c-0x22a,_0x3c46a4);}_0x4ba9ec['command']&&_0x1070e2['commandList']['push'](_0x4ba9ec['command']);function _0x2f218d(_0x5d1bd1,_0x3ab836){return _0x569b51(_0x3ab836-0x378,_0x5d1bd1);}_0x4ba9ec['lineCommand']&&_0x1070e2[_0x2f218d(0x569,0x63e)]['push'](_0x4ba9ec[_0x158982(0x3d3,0x338)]);});}['isDestroyed'](){return![];}[_0x4a554d(0x171,0x2c7)](){function _0x30508d(_0x360bb0,_0xac3f0a){return _0x4a554d(_0x360bb0- -0x1eb,_0xac3f0a);}function _0x228598(_0x2318d2,_0x497c30){return _0x4a554d(_0x2318d2- -0x362,_0x497c30);}this['_commands']&&this[_0x228598(-0x246,-0x291)]['forEach'](_0x131b55=>{function _0x558965(_0xcb0a79,_0x177f0b){return _0x228598(_0x177f0b-0x2be,_0xcb0a79);}Cesium$a['defined'](_0x131b55[_0x558965(0x7c,-0x12)])&&(_0x131b55['command']['shaderProgram']=_0x131b55[_0x558965(-0x121,-0x12)][_0x4a2c10(0x3a5,0x358)]&&_0x131b55[_0x4a2c10(0x31e,0x35c)][_0x558965(0x36,0x75)]['destroy'](),_0x131b55['command']['vertexArray']=_0x131b55['command'][_0x558965(0x1cb,0x22f)]&&_0x131b55[_0x4a2c10(0x31e,0x260)]['vertexArray']['destroy'](),_0x131b55[_0x4a2c10(0x31e,0x3ef)]=undefined);function _0x4a2c10(_0x22dd98,_0xe5c93a){return _0x228598(_0x22dd98-0x5ee,_0xe5c93a);}Cesium$a['defined'](_0x131b55['lineCommand'])&&(_0x131b55[_0x4a2c10(0x413,0x4c7)][_0x558965(0x116,0x75)]=_0x131b55[_0x558965(-0x58,0xe3)]['shaderProgram']&&_0x131b55[_0x558965(0x14a,0xe3)][_0x558965(0xae,0x75)][_0x4a2c10(0x58d,0x5f3)](),_0x131b55['lineCommand'][_0x558965(0xff,0x22f)]=_0x131b55['lineCommand']['vertexArray']&&_0x131b55[_0x558965(0xd3,0xe3)][_0x558965(0x272,0x22f)]['destroy'](),_0x131b55['lineCommand']=undefined);}),this['_commands']&&(this[_0x228598(-0x246,-0x196)][_0x30508d(-0x7f,0x1)]=0x0);}[_0x4c8020(0x4cc,0x5be)](){this['_destroyCommands']();function _0x3e0bb5(_0x43c532,_0x24890c){return _0x4a554d(_0x43c532- -0x2e6,_0x24890c);}return Cesium$a[_0x3e0bb5(-0x1a6,-0xd7)](this);}}var _0x5260db={};_0x5260db['position']=0x0,_0x5260db['normal']=0x1;const attributeLocations=_0x5260db;function getDir(_0x40b1e9,_0x40f3f3){const _0x182fa4=_0x40b1e9;function _0x182c4a(_0x450bc9,_0x50f625){return _0x4a554d(_0x450bc9-0x3f0,_0x50f625);}const _0x51f767=_0x40f3f3,_0x348339=Math[_0x182c4a(0x5c1,0x492)];function _0x1b9b09(_0x2af3dd,_0x236198){return _0x4a554d(_0x236198- -0x18b,_0x2af3dd);}const _0x4b784a=Math[_0x1b9b09(-0xda,-0x9)],_0x475aa6=[_0x348339(-_0x182fa4)*_0x348339(_0x51f767),_0x4b784a(-_0x182fa4)*_0x348339(_0x51f767),_0x4b784a(_0x51f767)];return _0x475aa6;}function getFov(_0x3085b5,_0xaccfe,_0x18d714,_0x3a6d6f){return _0x3085b5+(_0xaccfe-_0x3085b5)*(_0x3a6d6f/_0x18d714);}function getRadius(_0x3d74f7,_0x47f6fa){const _0x300bbd=_0x47f6fa['findIndex'](_0x40e473=>{return _0x40e473['fov']>_0x3d74f7;});function _0x17b168(_0x22c924,_0x356be8){return _0x4a554d(_0x22c924- -0x1b7,_0x356be8);}if(_0x300bbd>0x0){const _0x3db001=_0x47f6fa[_0x300bbd-0x1],_0x3c326e=_0x47f6fa[_0x300bbd],_0x3a885d=(_0x3d74f7-_0x3db001[_0x17b168(-0x15b,-0x16b)])/(_0x3c326e['fov']-_0x3db001['fov']),_0x501373=_0x3db001['radius']*(0x1-_0x3a885d)+_0x3c326e['radius']*_0x3a885d;return _0x501373;}else return undefined;}function getGridDirs(_0xd33929,_0x8d6ef0,_0x5883d7,_0x178a90,_0x22f1d2,_0x283271,_0x7d8eb4){const _0x407748=new Float32Array((_0x22f1d2+0x1)*(_0x283271+0x1)*0x3);for(let _0x77e7d8=0x0;_0x77e7d8<_0x22f1d2+0x1;++_0x77e7d8){for(let _0x1faa33=0x0;_0x1faa33<_0x283271+0x1;++_0x1faa33){const _0x3c516d=getFov(_0x5883d7,_0x178a90,_0x283271,_0x1faa33),_0x2b40c4=getDir(getFov(_0xd33929,_0x8d6ef0,_0x22f1d2,_0x77e7d8),_0x3c516d),_0x131352=_0x7d8eb4?getRadius(_0x3c516d,_0x7d8eb4):0x1;_0x407748[(_0x1faa33*(_0x22f1d2+0x1)+_0x77e7d8)*0x3+0x0]=_0x2b40c4[0x0]*_0x131352,_0x407748[(_0x1faa33*(_0x22f1d2+0x1)+_0x77e7d8)*0x3+0x1]=_0x2b40c4[0x1]*_0x131352,_0x407748[(_0x1faa33*(_0x22f1d2+0x1)+_0x77e7d8)*0x3+0x2]=_0x2b40c4[0x2]*_0x131352;}}return _0x407748;}function getCrossSectionPositions(_0x16d4ef,_0x163ce0,_0x5c90b7,_0x3cecdc,_0x2f2547,_0x5895c1,_0x3d5372){const _0x6100ef=new Float32Array((_0x3cecdc+0x1)*(_0x2f2547+0x1)*0x3);for(let _0x1d6ed2=0x0;_0x1d6ed2<_0x3cecdc+0x1;++_0x1d6ed2){for(let _0x3bb805=0x0;_0x3bb805<_0x2f2547+0x1;++_0x3bb805){const _0x2ada79=getFov(_0x163ce0,_0x5c90b7,_0x2f2547,_0x3bb805),_0x5468b3=getDir(_0x16d4ef,_0x2ada79),_0x458d95=_0x5895c1?getRadius(_0x2ada79,_0x5895c1):0x1,_0x98d943=_0x3d5372?getRadius(_0x2ada79,_0x3d5372):0x1,_0x4c28dc=getFov(_0x458d95,_0x98d943,_0x3cecdc,_0x1d6ed2);_0x6100ef[(_0x3bb805*(_0x3cecdc+0x1)+_0x1d6ed2)*0x3+0x0]=_0x5468b3[0x0]*_0x4c28dc,_0x6100ef[(_0x3bb805*(_0x3cecdc+0x1)+_0x1d6ed2)*0x3+0x1]=_0x5468b3[0x1]*_0x4c28dc,_0x6100ef[(_0x3bb805*(_0x3cecdc+0x1)+_0x1d6ed2)*0x3+0x2]=_0x5468b3[0x2]*_0x4c28dc;}}return _0x6100ef;}function getGridIndices(_0x35234c,_0x11c2f4){const _0x37f44f=new Uint16Array(_0x35234c*_0x11c2f4*0x6);for(let _0x4a9808=0x0;_0x4a9808<_0x35234c;++_0x4a9808){for(let _0x1a4417=0x0;_0x1a4417<_0x11c2f4;++_0x1a4417){const _0x23e822=_0x1a4417*(_0x35234c+0x1)+_0x4a9808,_0x5bb747=_0x1a4417*(_0x35234c+0x1)+_0x4a9808+0x1,_0x2abcb4=(_0x1a4417+0x1)*(_0x35234c+0x1)+_0x4a9808,_0x4e8d49=(_0x1a4417+0x1)*(_0x35234c+0x1)+_0x4a9808+0x1,_0x3a6498=(_0x1a4417*_0x35234c+_0x4a9808)*0x6;_0x37f44f[_0x3a6498+0x0]=_0x23e822,_0x37f44f[_0x3a6498+0x1]=_0x5bb747,_0x37f44f[_0x3a6498+0x2]=_0x4e8d49,_0x37f44f[_0x3a6498+0x3]=_0x23e822,_0x37f44f[_0x3a6498+0x4]=_0x4e8d49,_0x37f44f[_0x3a6498+0x5]=_0x2abcb4;}}return _0x37f44f;}function getLineGridIndices(_0x45cf71,_0x5c343e,_0x2600d3,_0x52acca){const _0x44f142=_0x45cf71*_0x2600d3,_0x4570fa=_0x5c343e*_0x52acca,_0x234b56=new Uint16Array((_0x45cf71+0x1)*(_0x4570fa*0x2)+(_0x5c343e+0x1)*(_0x44f142*0x2)+0x4*0x2);for(let _0x1395a4=0x0;_0x1395a4<_0x45cf71+0x1;++_0x1395a4){for(let _0x2bc7b9=0x0;_0x2bc7b9<_0x4570fa;++_0x2bc7b9){const _0xecc10b=_0x1395a4*_0x2600d3;_0x234b56[(_0x1395a4*_0x4570fa+_0x2bc7b9)*0x2+0x0]=_0x2bc7b9*(_0x44f142+0x1)+_0xecc10b,_0x234b56[(_0x1395a4*_0x4570fa+_0x2bc7b9)*0x2+0x1]=(_0x2bc7b9+0x1)*(_0x44f142+0x1)+_0xecc10b;}}const _0xe25128=(_0x45cf71+0x1)*(_0x4570fa*0x2);for(let _0x3d9143=0x0;_0x3d9143<_0x5c343e+0x1;++_0x3d9143){for(let _0x251f58=0x0;_0x251f58<_0x44f142;++_0x251f58){const _0x3e11d9=_0x3d9143*_0x52acca;_0x234b56[_0xe25128+(_0x251f58+_0x3d9143*_0x44f142)*0x2+0x0]=_0x3e11d9*(_0x44f142+0x1)+_0x251f58,_0x234b56[_0xe25128+(_0x251f58+_0x3d9143*_0x44f142)*0x2+0x1]=_0x3e11d9*(_0x44f142+0x1)+_0x251f58+0x1;}}return _0x234b56;}const Cesium$9=mars3d__namespace['Cesium'];function computeVertexNormals(_0x4c0fa4){const _0x5552ee=_0x4c0fa4['indices'];function _0x1cec4c(_0x26d6fd,_0xe7660c){return _0x4c8020(_0xe7660c- -0x4a0,_0x26d6fd);}const _0x4e98cb=_0x4c0fa4['attributes'],_0x140b75=_0x5552ee[_0x1013a9(-0x157,-0x8f)];if(_0x4e98cb[_0x1013a9(-0x259,-0x303)]){const _0x1d4511=_0x4e98cb['position']['values'];if(_0x4e98cb['normal']===undefined)_0x4e98cb[_0x1013a9(-0x153,0xb)]=new Cesium$9[(_0x1013a9(0x3b,-0xb2))]({'componentDatatype':Cesium$9[_0x1013a9(-0x19a,-0x294)][_0x1013a9(-0x21c,-0x328)],'componentsPerAttribute':0x3,'values':new Float32Array(_0x1d4511['length'])});else{const _0x32853e=_0x4e98cb[_0x1013a9(-0x153,-0xa4)]['values'];for(let _0x4d4e04=0x0;_0x4d4e04<_0x140b75;_0x4d4e04++){_0x32853e[_0x4d4e04]=0x0;}}const _0x17cf1f=_0x4e98cb[_0x1013a9(-0x153,-0x215)]['values'];let _0x4812fa,_0x305d59,_0x417b95;const _0xf0a4cd=new Cesium$9['Cartesian3'](),_0xa3068f=new Cesium$9[(_0x1cec4c(-0x1d2,-0xb4))](),_0x2659fd=new Cesium$9['Cartesian3'](),_0x1b526f=new Cesium$9['Cartesian3'](),_0x35ec81=new Cesium$9['Cartesian3']();for(let _0x1342db=0x0;_0x1342db<_0x140b75;_0x1342db+=0x3){_0x4812fa=_0x5552ee[_0x1342db+0x0]*0x3,_0x305d59=_0x5552ee[_0x1342db+0x1]*0x3,_0x417b95=_0x5552ee[_0x1342db+0x2]*0x3,Cesium$9[_0x1013a9(-0xa2,0x5e)][_0x1cec4c(-0x3ae,-0x253)](_0x1d4511,_0x4812fa,_0xf0a4cd),Cesium$9[_0x1013a9(-0xa2,-0x1cc)]['fromArray'](_0x1d4511,_0x305d59,_0xa3068f),Cesium$9['Cartesian3']['fromArray'](_0x1d4511,_0x417b95,_0x2659fd),Cesium$9[_0x1cec4c(-0x1d8,-0xb4)]['subtract'](_0x2659fd,_0xa3068f,_0x1b526f),Cesium$9['Cartesian3']['subtract'](_0xf0a4cd,_0xa3068f,_0x35ec81),Cesium$9[_0x1013a9(-0xa2,-0x204)]['cross'](_0x1b526f,_0x35ec81,_0x1b526f),_0x17cf1f[_0x4812fa]+=_0x1b526f['x'],_0x17cf1f[_0x4812fa+0x1]+=_0x1b526f['y'],_0x17cf1f[_0x4812fa+0x2]+=_0x1b526f['z'],_0x17cf1f[_0x305d59]+=_0x1b526f['x'],_0x17cf1f[_0x305d59+0x1]+=_0x1b526f['y'],_0x17cf1f[_0x305d59+0x2]+=_0x1b526f['z'],_0x17cf1f[_0x417b95]+=_0x1b526f['x'],_0x17cf1f[_0x417b95+0x1]+=_0x1b526f['y'],_0x17cf1f[_0x417b95+0x2]+=_0x1b526f['z'];}normalizeNormals(_0x4c0fa4),_0x4e98cb[_0x1cec4c(-0x17c,-0x165)][_0x1cec4c(-0xc6,0x11)]=!![];}function _0x1013a9(_0x1a3407,_0x23fd46){return _0x4c8020(_0x1a3407- -0x48e,_0x23fd46);}return _0x4c0fa4;}function normalizeNormals(_0x5ee6ed){function _0x153d4e(_0x5961a0,_0x351cc6){return _0x4c8020(_0x351cc6-0x19d,_0x5961a0);}const _0x867bc4=_0x5ee6ed['attributes'][_0x5ca1fe(0x426,0x426)][_0x5ca1fe(0x535,0x40c)];function _0x5ca1fe(_0x4c0f00,_0x2f085c){return _0x4c8020(_0x2f085c-0xeb,_0x4c0f00);}let _0x192c18,_0xb0ee78,_0xc7eaed,_0x575266;for(let _0x56723c=0x0;_0x56723c<_0x867bc4['length'];_0x56723c+=0x3){_0x192c18=_0x867bc4[_0x56723c],_0xb0ee78=_0x867bc4[_0x56723c+0x1],_0xc7eaed=_0x867bc4[_0x56723c+0x2],_0x575266=0x1/Math['sqrt'](_0x192c18*_0x192c18+_0xb0ee78*_0xb0ee78+_0xc7eaed*_0xc7eaed),_0x867bc4[_0x56723c]=_0x192c18*_0x575266,_0x867bc4[_0x56723c+0x1]=_0xb0ee78*_0x575266,_0x867bc4[_0x56723c+0x2]=_0xc7eaed*_0x575266;}}function style2Primitive(_0x573272={},_0x47babe){function _0xc93890(_0x574f0c,_0x426ab6){return _0x4c8020(_0x574f0c- -0x50d,_0x426ab6);}_0x573272=_0x573272||{};_0x47babe==null&&(_0x47babe={});function _0x1cc9ae(_0x30e03,_0x4c1545){return _0x4a554d(_0x4c1545-0x429,_0x30e03);}for(const _0x37baa2 in _0x573272){const _0x116308=_0x573272[_0x37baa2];if(mars3d__namespace['Util'][_0xc93890(-0x315,-0x393)](_0x116308))switch(_0x37baa2){case'opacity':case'outlineOpacity':break;case'color':{let _0x12edda;mars3d__namespace['Util'][_0x1cc9ae(0x45c,0x4e9)](_0x116308)?(_0x12edda=Cesium$9['Color']['fromCssColorString'](_0x116308),Cesium$9['defined'](_0x573272['opacity'])&&(_0x12edda=_0x12edda['withAlpha'](Number(_0x573272['opacity'])))):_0x12edda=_0x116308;_0x47babe['color']=_0x12edda;break;}case'outline':_0x47babe['outline']=_0x116308;!_0x116308&&(_0x47babe['outlineColor']=new Cesium$9[(_0x1cc9ae(0x3da,0x491))](0x0,0x0,0x0,0x0));break;case'outlineColor':{let _0x39b8a0;if(mars3d__namespace[_0xc93890(-0x15a,-0x127)]['isString'](_0x116308)){_0x39b8a0=Cesium$9['Color']['fromCssColorString'](_0x116308);if(Cesium$9['defined'](_0x573272['outlineOpacity']))_0x39b8a0=_0x39b8a0['withAlpha'](Number(_0x573272[_0x1cc9ae(0x83b,0x72d)]));else Cesium$9[_0xc93890(-0x7f,-0x60)](_0x573272[_0xc93890(-0x13d,-0x191)])&&(_0x39b8a0=_0x39b8a0[_0xc93890(-0x2a1,-0x3ff)](Number(_0x573272[_0xc93890(-0x13d,0x15)])));}else _0x39b8a0=_0x116308;_0x47babe[_0xc93890(-0x1c9,-0x319)]=_0x39b8a0;break;}case _0x1cc9ae(0x649,0x6a1):case'endFovV':case'startFovH':case'endFovH':_0x47babe[_0x37baa2]=Cesium$9[_0x1cc9ae(0x52d,0x689)]['toRadians'](_0x116308);break;default:_0x47babe[_0x37baa2]=_0x116308;break;}else _0x47babe[_0x37baa2]=_0x116308;}return _0x47babe;}var _0x3a0da0={};_0x3a0da0[_0x4a554d(0x2bf,0x2db)]=null,_0x3a0da0['computeVertexNormals']=computeVertexNormals,_0x3a0da0['style2Primitive']=style2Primitive;var SpaceUtil=_0x3a0da0;const Cesium$8=mars3d__namespace[_0x4c8020(0x3ef,0x461)],BasePointPrimitive$4=mars3d__namespace['graphic'][_0x4a554d(0x34,0x198)];class CamberRadar extends BasePointPrimitive$4{get['startRadius'](){function _0x18d777(_0x4a8a20,_0x3fe319){return _0x4c8020(_0x3fe319- -0x553,_0x4a8a20);}return this['style'][_0x18d777(-0x1e6,-0x2ca)];}set[_0x4a554d(0xbe,0xb1)](_0x2e4af7){function _0x4356e(_0x3a9f3d,_0x214fdd){return _0x4c8020(_0x214fdd- -0x4c9,_0x3a9f3d);}function _0x2738cd(_0x3842dc,_0x5c2f3e){return _0x4c8020(_0x5c2f3e-0x123,_0x3842dc);}this['style'][_0x4356e(-0x384,-0x240)]=_0x2e4af7,this['_primitive']&&(this['_primitive'][_0x2738cd(0x489,0x3ac)]=_0x2e4af7);}get['radius'](){function _0x14211a(_0x2814da,_0x4480f8){return _0x4c8020(_0x4480f8- -0x163,_0x2814da);}function _0x2ef53b(_0x38dd30,_0x15d736){return _0x4a554d(_0x15d736- -0x97,_0x38dd30);}return this[_0x2ef53b(0xd5,0x3c)][_0x14211a(0x10a,0x1c3)];}set[_0x4c8020(0x326,0x472)](_0x19f598){this['style']['radius']=_0x19f598,this['_primitive']&&(this['_primitive']['radius']=_0x19f598);}get[_0x4c8020(0x443,0x3ec)](){return this['style']['startFovV'];}set['startFovV'](_0x4495e2){this['style']['startFovV']=_0x4495e2;function _0x347163(_0x2922d1,_0x58685a){return _0x4c8020(_0x58685a-0x22d,_0x2922d1);}this['_primitive']&&(this['_primitive'][_0x347163(0x756,0x670)]=Cesium$8['Math']['toRadians'](_0x4495e2));}get[_0x4c8020(0x481,0x3a9)](){function _0x22bd59(_0x10a045,_0x6316e9){return _0x4c8020(_0x6316e9- -0x3d7,_0x10a045);}return this[_0x22bd59(-0x1ed,-0x139)]['endFovV'];}set[_0x4c8020(0x481,0x4ba)](_0x432aab){function _0x1bfe05(_0x235de6,_0x5e2f76){return _0x4a554d(_0x235de6-0x395,_0x5e2f76);}this['style'][_0x91cb96(0x23,-0xf3)]=_0x432aab;function _0x91cb96(_0x4313f9,_0x460ad8){return _0x4a554d(_0x4313f9- -0x293,_0x460ad8);}this[_0x91cb96(-0xb4,-0xc)]&&(this['_primitive']['endFovV']=Cesium$8[_0x91cb96(-0x33,0x16)]['toRadians'](_0x432aab));}get[_0x4c8020(0x219,0x191)](){function _0x542b00(_0x3223cd,_0x561e29){return _0x4a554d(_0x3223cd- -0x87,_0x561e29);}return this[_0x542b00(0x4c,-0xe9)]['startFovH'];}set[_0x4a554d(0x4e,-0xd9)](_0x1bad64){function _0x1c93f5(_0x3f66f3,_0x38755f){return _0x4c8020(_0x38755f- -0x2,_0x3f66f3);}this[_0x1c93f5(0x38e,0x29c)][_0xeff06b(0x23,0xd1)]=_0x1bad64;function _0xeff06b(_0x119339,_0x1784cf){return _0x4c8020(_0x1784cf- -0x148,_0x119339);}this[_0x1c93f5(0x411,0x3a8)]&&(this[_0x1c93f5(0x503,0x3a8)][_0xeff06b(0x208,0xd1)]=Cesium$8['Math']['toRadians'](_0x1bad64));}get['endFovH'](){function _0x1313a0(_0x523aed,_0x167a58){return _0x4a554d(_0x167a58-0xcb,_0x523aed);}function _0x5c7bce(_0x5500c2,_0xd90bb0){return _0x4c8020(_0xd90bb0- -0x459,_0x5500c2);}return this[_0x1313a0(0x17a,0x19e)][_0x5c7bce(-0x15,-0x9)];}set[_0x4c8020(0x450,0x481)](_0x3557d5){function _0x4d0952(_0x1b910e,_0x598bc9){return _0x4a554d(_0x598bc9- -0x34d,_0x1b910e);}this['style']['endFovH']=_0x3557d5;function _0x5a4785(_0x8caa99,_0x3426db){return _0x4c8020(_0x3426db-0xa7,_0x8caa99);}this['_primitive']&&(this[_0x5a4785(0x519,0x451)][_0x5a4785(0x3bf,0x4f7)]=Cesium$8['Math'][_0x5a4785(0x23f,0x2bb)](_0x3557d5));}get['color'](){function _0x182320(_0x5d82fd,_0x57b557){return _0x4a554d(_0x5d82fd-0x69,_0x57b557);}return this['style'][_0x182320(0x1f2,0x309)];}set['color'](_0x5a31c3){function _0x3af844(_0x14b8e4,_0x310c5f){return _0x4a554d(_0x14b8e4-0xc,_0x310c5f);}function _0x4e8112(_0x44fa03,_0x2aa951){return _0x4a554d(_0x44fa03-0x4d,_0x2aa951);}this['style']['color']=_0x5a31c3,this[_0x3af844(0x1eb,0x152)]&&(this[_0x3af844(0x1eb,0x198)]['color']=mars3d__namespace['Util']['getCesiumColor'](_0x5a31c3));}['_addedHook'](){function _0x29929a(_0x38e91d,_0x30fa8f){return _0x4a554d(_0x38e91d- -0x14e,_0x30fa8f);}function _0x1b6acf(_0x487e9d,_0x18e379){return _0x4c8020(_0x18e379-0x1a0,_0x487e9d);}this[_0x1b6acf(0x45a,0x54a)]=this[_0x29929a(0x1ae,0x268)]['add'](new CamberRadarPrimitive({...style2Primitive(this['style']),'id':this['id'],'modelMatrix':this['modelMatrix']}));}['_updateStyleHook'](_0x432482,_0x35212b){function _0x35b652(_0x460d99,_0x93176f){return _0x4a554d(_0x93176f- -0x8c,_0x460d99);}function _0xffe1fd(_0x233988,_0x29a814){return _0x4c8020(_0x233988-0x196,_0x29a814);}(Cesium$8[_0xffe1fd(0x624,0x74e)](_0x35b652(0x12b,0x89))||Cesium$8['defined']('pitch')||Cesium$8[_0xffe1fd(0x624,0x565)]('roll'))&&(this['_primitive'][_0x35b652(0x14e,0xd0)]=this[_0x35b652(-0xa7,0xd0)]),style2Primitive(_0x35212b,this['_primitive']);}['setOpacity'](_0x180aac){function _0x24e4a0(_0x50aa5a,_0x27b978){return _0x4c8020(_0x50aa5a-0x215,_0x27b978);}function _0x37ad0f(_0x590137,_0x5dbd6f){return _0x4a554d(_0x5dbd6f- -0x178,_0x590137);}this[_0x37ad0f(-0x93,-0xa5)][_0x37ad0f(-0x7c,-0x101)]=_0x180aac,this['_primitive']&&(this[_0x24e4a0(0x5bf,0x6fe)][_0x37ad0f(0xe,-0xd5)]=_0x180aac);}['_getDrawEntityClass'](_0x186c66,_0x35a376){function _0x17edd5(_0xaf0126,_0x3967eb){return _0x4c8020(_0x3967eb- -0x36d,_0xaf0126);}function _0x45d227(_0x264954,_0x210788){return _0x4c8020(_0x264954- -0x13b,_0x210788);}return _0x186c66[_0x17edd5(-0x10d,-0xb8)]=![],mars3d__namespace['GraphicUtil']['create'](_0x45d227(0x14c,0x2e),_0x186c66);}}mars3d__namespace['graphic']['CamberRadar']=CamberRadar,mars3d__namespace[_0x4c8020(0x324,0x3b4)]['register']('camberRadar',CamberRadar,!![]);const Cesium$7=mars3d__namespace['Cesium'],BasePointPrimitive$3=mars3d__namespace[_0x4a554d(0x184,0x299)]['BasePointPrimitive'],{getCesiumColor,getColorByStyle}=mars3d__namespace['Util'],{register:register$1}=mars3d__namespace['GraphicUtil'],{getPositionByHprAndLen}=mars3d__namespace['PointUtil'];var _0x376cd8={};_0x376cd8[_0x4a554d(0x77,-0xa5)]=0x1,_0x376cd8[_0x4a554d(0x86,0xe)]=0x1,_0x376cd8[_0x4a554d(0x55,0xff)]=!![],_0x376cd8['color']='rgba(0,255,0,0.5)',_0x376cd8['outlineColor']=_0x4a554d(0x300,0x277);const DEF_STYLE$1=_0x376cd8;class JammingRadar extends BasePointPrimitive$3{constructor(_0x437095={}){_0x437095[_0x2ebe5b(0x2a1,0x12b)]={...DEF_STYLE$1,..._0x437095[_0x26f0e3(0x5c,0xa6)]};function _0x26f0e3(_0x391c39,_0x13ac3e){return _0x4a554d(_0x391c39- -0x77,_0x13ac3e);}function _0x2ebe5b(_0xb927c3,_0x4891b3){return _0x4a554d(_0xb927c3-0x1ce,_0x4891b3);}super(_0x437095);}get['czmObjectEx'](){const _0x3acf6d=[];return this['_primitive_outline']&&_0x3acf6d['push'](this['_primitive_outline']),_0x3acf6d;}get[_0x4a554d(0x109,0x101)](){return this['options']['vertexs'];}set['vertexs'](_0x5b2304){function _0x526831(_0x3a110a,_0x5660aa){return _0x4c8020(_0x5660aa- -0xda,_0x3a110a);}this['options'][_0x526831(0x16b,0x1fa)]=_0x5b2304,this['redraw']();}['_updateStyleHook'](_0x1eed91,_0x191083){this['redraw'](_0x1eed91);}[_0x4c8020(0x2c7,0x349)](_0x232fcb){if(!this['_position']||!this['vertexs'])return;this['_calcSkinAndBone'](),this[_0x2d41d4(0xb1,0x1f0)]();function _0x1446f8(_0x1be700,_0x593b5a){return _0x4a554d(_0x593b5a- -0x207,_0x1be700);}this[_0x1446f8(0x11c,0xf5)][_0x2d41d4(0x382,0x3d4)](this['_primitive']);function _0x2d41d4(_0x47a4b6,_0x311a86){return _0x4c8020(_0x47a4b6- -0x151,_0x311a86);}this[_0x1446f8(-0x8a,-0x134)][_0x1446f8(-0xe5,-0xa0)]&&this['primitiveCollection'][_0x2d41d4(0x382,0x4ab)](this['_primitive_outline']),this['_availability']&&this[_0x1446f8(-0x8b,0x9)](this['_availability']);}[_0x4a554d(0x1f0,0x1a7)](){function _0x2d4d94(_0x5dcb9b,_0x1db069){return _0x4c8020(_0x5dcb9b- -0x36e,_0x1db069);}!this['_noDestroy']&&(this['stopDraw'](),this[_0x2d4d94(-0x158,-0xc7)]());function _0xd894dc(_0x539de3,_0x313976){return _0x4a554d(_0x539de3- -0x17d,_0x313976);}this[_0xd894dc(0x62,-0x5)]&&(this['primitiveCollection']['remove'](this[_0xd894dc(0x62,0x1c4)]),delete this[_0xd894dc(0x62,-0x31)]),this[_0xd894dc(0x4c,0x4)]&&(this['primitiveCollection']['remove'](this[_0xd894dc(0x4c,-0xac)]),delete this[_0x2d4d94(0x26,0x92)]);}['_calcSkinAndBone'](){this[_0x2269cf(0x3be,0x2ea)]=[];function _0x294c2e(_0x4f5536,_0x2c958b){return _0x4c8020(_0x2c958b-0xa,_0x4f5536);}this['_arrColor']=[],this['_arrOutlineColor']=[];let _0x380592=getColorByStyle(this[_0x294c2e(0x13d,0x2a8)],![]),_0x1dc632=getCesiumColor(this['style'][_0x294c2e(0x438,0x34e)],![]);this[_0x2269cf(0x38e,0x494)]['autoColor']&&(_0x380592=![],_0x1dc632=![]);_0x1dc632&&(_0x1dc632['alpha']*=this['style']['globalAlpha']);const _0x25b16d=this['options']['vertexs'];function _0x2269cf(_0xa13181,_0x4792b1){return _0x4a554d(_0xa13181-0x2bb,_0x4792b1);}for(let _0x5ccc5e=0x0,_0x27f266=_0x25b16d['length']-0x1;_0x5ccc5e<_0x27f266;_0x5ccc5e++){const _0x43757c=_0x25b16d[_0x5ccc5e],_0x3f98e5=_0x25b16d[_0x5ccc5e+0x1];for(let _0x591c67=0x0,_0x5ea90c=_0x43757c[_0x2269cf(0x427,0x2b3)];_0x591c67<_0x5ea90c;_0x591c67++){const _0x1f9f4f=_0x43757c[_0x591c67],_0x516da3=(_0x591c67+0x1)%_0x5ea90c,_0x3be9e8=_0x43757c[_0x516da3],_0x12e734=_0x3f98e5[_0x591c67],_0x4fd786=_0x3f98e5[_0x516da3],_0x4bff45=[];var _0x322d05={};_0x322d05[_0x294c2e(0x3e4,0x46f)]=_0x1f9f4f['pitch'],_0x322d05[_0x2269cf(0x44d,0x491)]=_0x1f9f4f[_0x294c2e(0x175,0x2ea)],_0x322d05['radius']=_0x1f9f4f[_0x294c2e(0x207,0x330)];const _0x450b5b=_0x322d05;var _0x45b576={};_0x45b576['pitch']=_0x3be9e8['pitch'],_0x45b576[_0x294c2e(0x354,0x367)]=_0x3be9e8[_0x2269cf(0x3d0,0x4a2)],_0x45b576[_0x2269cf(0x416,0x500)]=_0x3be9e8['radius'];const _0x9b592c=_0x45b576;var _0x34b751={};_0x34b751['pitch']=_0x12e734['pitch'],_0x34b751['horizontal']=_0x12e734['heading'],_0x34b751[_0x2269cf(0x416,0x302)]=_0x12e734['radius'];const _0x1e6bc9=_0x34b751;var _0x45c8cb={};_0x45c8cb['pitch']=_0x4fd786[_0x294c2e(0x3dd,0x46f)],_0x45c8cb['horizontal']=_0x4fd786['heading'],_0x45c8cb['radius']=_0x4fd786[_0x2269cf(0x416,0x33b)];const _0x1f0fb5=_0x45c8cb;_0x4bff45[_0x2269cf(0x537,0x437)](...this[_0x2269cf(0x56c,0x47d)](_0x450b5b)),_0x4bff45[_0x294c2e(0x3e9,0x451)](...this['_getPostVec3'](_0x9b592c)),_0x4bff45['push'](...this['_getPostVec3'](_0x1e6bc9)),_0x4bff45['push'](...this['_getPostVec3'](_0x1f0fb5)),this[_0x294c2e(0x33a,0x2d8)][_0x294c2e(0x4f3,0x451)](_0x4bff45);const _0x7193a4=Cesium$7['Math'][_0x2269cf(0x304,0x318)](0x5a-_0x1f9f4f['pitch']),_0xc8316=Cesium$7[_0x2269cf(0x51b,0x5b5)]['toRadians'](0x5a-_0x12e734['pitch']);Cesium$7[_0x294c2e(0x4ba,0x435)][_0x2269cf(0x304,0x2d3)](_0x3be9e8['heading']);const _0x45fde9=getPercent$1(_0x7193a4,_0x1f9f4f[_0x294c2e(0x369,0x2ea)]),_0x5ad097=getPercent$1(_0x7193a4),_0x3aeb92=getPercent$1(_0xc8316,_0x1f9f4f[_0x2269cf(0x3d0,0x3ee)]),_0x137159=getPercent$1(_0xc8316),_0x2aeba6=this['_getColorArray'](_0x380592,_0x45fde9,_0x5ad097,_0x3aeb92,_0x137159);this[_0x2269cf(0x599,0x68e)][_0x294c2e(0x4c5,0x451)](_0x2aeba6);if(this[_0x2269cf(0x38e,0x393)]['outline']){const _0x18b2bb=this[_0x294c2e(0x5f8,0x497)](_0x1dc632,_0x45fde9,_0x5ad097,_0x3aeb92,_0x137159);this['_arrOutlineColor']['push'](_0x18b2bb);}}}}['_createRadarPrimitive'](){const _0xdcf0af=this['modelMatrix']||Cesium$7[_0x4a5a04(0x583,0x6b8)][_0x4a5a04(0x635,0x5d5)],_0x2327ce=[];function _0xfc5676(_0x8ad853,_0x3a89df){return _0x4c8020(_0x3a89df- -0x1a9,_0x8ad853);}const _0x19a8f3=[];for(let _0xbf6a5e=0x0;_0xbf6a5e0.7)return[0x1,0x0,0x0,0.1+_0x2f2a25];const _0x1fb84a=0xff*(0x1-_0x576b9c/0.7),_0x103b35=HSVtoRGB(_0x1fb84a,0x64,0x64);return new Cesium$7[(_0x409039(0x1f5,0x8c))](_0x103b35['r'],_0x103b35['g'],_0x103b35['b'],_0x2f2a25*(0x1-_0x576b9c));}function HSVtoRGB(_0x229a31,_0x2ea2ac,_0x3a6b90){let _0x4086cd,_0x6b1414,_0x500c6d,_0x325c68,_0x193d5a;const _0x22b30e=((_0x193d5a=2.55*_0x3a6b90)-(_0x325c68=_0x193d5a*(0x64-_0x2ea2ac)/0x64))*(_0x229a31%0x3c)/0x3c;switch(parseInt(_0x229a31/0x3c)){case 0x0:_0x4086cd=_0x193d5a,_0x6b1414=_0x325c68+_0x22b30e,_0x500c6d=_0x325c68;break;case 0x1:_0x4086cd=_0x193d5a-_0x22b30e,_0x6b1414=_0x193d5a,_0x500c6d=_0x325c68;break;case 0x2:_0x4086cd=_0x325c68,_0x6b1414=_0x193d5a,_0x500c6d=_0x325c68+_0x22b30e;break;case 0x3:_0x4086cd=_0x325c68,_0x6b1414=_0x193d5a-_0x22b30e,_0x500c6d=_0x193d5a;break;case 0x4:_0x4086cd=_0x325c68+_0x22b30e,_0x6b1414=_0x325c68,_0x500c6d=_0x193d5a;break;default:_0x4086cd=_0x193d5a,_0x6b1414=_0x325c68,_0x500c6d=_0x193d5a-_0x22b30e;}var _0x39fa7c={};return _0x39fa7c['r']=_0x4086cd/0xff,_0x39fa7c['g']=_0x6b1414/0xff,_0x39fa7c['b']=_0x500c6d/0xff,_0x39fa7c;}const Cesium$6=mars3d__namespace['Cesium'],LngLatPoint=mars3d__namespace['LngLatPoint'],MarsArray=mars3d__namespace[_0x4c8020(0x3d9,0x276)],{register}=mars3d__namespace[_0x4a554d(0x159,0x2b1)];var _0x24498d={};_0x24498d['pt']=0x7a1200,_0x24498d['gt']=0x1f4,_0x24498d[_0x4a554d(0x2b,0x18a)]=0.056,_0x24498d['sigma']=0x3,_0x24498d['n']=0x10,_0x24498d['k']=1.38e-23,_0x24498d['t0']=0x122,_0x24498d['bn']=0x186a00,_0x24498d['fn']=0x5,_0x24498d['sn']=0x2;const DEF_STYLE=_0x24498d;var _0x5a317e={};_0x5a317e['pji']=0xa,_0x5a317e[_0x4a554d(0x2f1,0x286)]=0xa,_0x5a317e[_0x4a554d(0x25f,0x2d8)]=0x1e8480,_0x5a317e['yji']=0.5,_0x5a317e['kj']=0x2,_0x5a317e[_0x4a554d(0x2e0,0x377)]=0x14,_0x5a317e['k']=0.1,_0x5a317e['dAlpha']=0x0,_0x5a317e[_0x4a554d(0x239,0xde)]=0x0,_0x5a317e['dAlphaMax']=0xa,_0x5a317e['azimuth']=0x0,_0x5a317e['pitch']=0x0,_0x5a317e[_0x4c8020(0x4a6,0x36f)]=!![];const DEF_JAMMER_OPTIONS=_0x5a317e;class FixedJammingRadar extends JammingRadar{constructor(_0x38bc96){_0x38bc96[_0x2bbf29(0x305,0x45e)]={...DEF_STYLE,..._0x38bc96['style']},super(_0x38bc96);function _0x2bbf29(_0x5b5ded,_0x33881c){return _0x4c8020(_0x5b5ded-0x67,_0x33881c);}this['_jammerList']=new MarsArray();}get['disturbRatio'](){return this['options']['disturbRatio']??0x1;}set[_0x4a554d(0x76,0x14c)](_0x21019d){this['options']['disturbRatio']=_0x21019d;}['_mountedHook'](_0x1cd1ef){this['options'][_0x19b313(-0x3c,-0x122)]?this[_0x19b313(-0x17d,-0x2ad)](this[_0x19b313(-0x7b,-0xb0)][_0x19b313(-0x3c,-0x118)]):this['_updateVertexs']();function _0x19b313(_0x573622,_0x314840){return _0x4c8020(_0x573622- -0x3fe,_0x314840);}function _0x526d4a(_0x24c510,_0x2d7a26){return _0x4a554d(_0x24c510-0x3de,_0x2d7a26);}super['_mountedHook'](_0x1cd1ef);}['_updateStyleHook'](_0x3fc7f0,_0x135543){function _0xdea2e8(_0x37d3d5,_0x40ce9d){return _0x4c8020(_0x40ce9d-0x142,_0x37d3d5);}this[_0xdea2e8(0x596,0x4cc)]();}['_updatePositionsHook_noCzmObject'](_0x2ff4f0,_0x373225){function _0x24d3c3(_0x5aa405,_0x238df9){return _0x4a554d(_0x5aa405-0x385,_0x238df9);}this[_0x24d3c3(0x544,0x414)]();}['addJammers'](_0x4cdec5){function _0x44808f(_0x59cabc,_0x42995b){return _0x4c8020(_0x42995b-0x1c6,_0x59cabc);}function _0x1299e0(_0x2fa8e9,_0x220617){return _0x4c8020(_0x2fa8e9- -0x2a1,_0x220617);}if(_0x4cdec5&&_0x4cdec5[_0x44808f(0x674,0x4fd)]>0x0){for(let _0x216933=0x0;_0x216933<_0x4cdec5[_0x44808f(0x591,0x4fd)];_0x216933++){var _0x5f18ec={...DEF_JAMMER_OPTIONS,..._0x4cdec5[_0x216933]};const _0x36ae83=_0x5f18ec;this['_jammerList'][_0x1299e0(0x1a8,0x21a)](_0x36ae83['id'],_0x36ae83);}this[_0x1299e0(0xe9,0x186)]();}}['addJammer'](_0x2f9627){if(!this[_0x16b5fd(0x115,0xf4)])return;_0x2f9627={...DEF_JAMMER_OPTIONS,..._0x2f9627},this[_0x337605(0x2,0x4c)]['set'](_0x2f9627['id'],_0x2f9627);function _0x337605(_0x3ac529,_0x4a4c6b){return _0x4c8020(_0x4a4c6b- -0x37b,_0x3ac529);}this[_0x337605(0x5,0xf)]();function _0x16b5fd(_0x4cec7e,_0x45444e){return _0x4c8020(_0x4cec7e- -0x2b2,_0x45444e);}return this['_jammerList']['get'](_0x2f9627['id']);}['removeJammer'](_0x38404d){if(!this['_jammerList'])return;function _0x15964c(_0x3243fc,_0x3e0b32){return _0x4a554d(_0x3e0b32-0x16,_0x3243fc);}this[_0x15964c(0x383,0x212)]['remove'](_0x38404d['id']),this['_updateVertexs']();}['clearJammer'](){if(!this['_jammerList'])return;this[_0x2d775d(0x612,0x652)]['removeAll']();function _0x2d775d(_0x57db35,_0x100da9){return _0x4a554d(_0x57db35-0x416,_0x100da9);}this['_updateVertexs']();}[_0x4c8020(0x43f,0x410)](_0x299da4){function _0x32af25(_0x337a49,_0x473bd9){return _0x4a554d(_0x473bd9-0x2c8,_0x337a49);}if(!this[_0x37b0c6(-0x20e,-0xb2)])return;function _0x37b0c6(_0x379dfc,_0x17db1d){return _0x4c8020(_0x17db1d- -0x479,_0x379dfc);}return this['_jammerList'][_0x32af25(0x2a6,0x353)](_0x299da4);}[_0x4a554d(0x1bf,0x330)](){var _0x37b93c;const _0x20b4ab=this[_0x2fd22f(0x2a9,0x33e)]['pt']*Math[_0x4c0c7e(0x57,0x114)](this['style']['gt'],0x2)*Math['pow'](this[_0x2fd22f(0x484,0x33e)][_0x2fd22f(0x23c,0x296)],0x2)*this[_0x2fd22f(0x3ae,0x33e)]['sigma']*Math[_0x2fd22f(0x4d9,0x575)](this['style']['n'],0.5),_0x1a899e=Math[_0x2fd22f(0x610,0x575)](0x4*Math['PI'],0x3)*this['style']['k']*this['style']['t0']*this[_0x2fd22f(0x2d1,0x33e)]['bn']*this['style']['fn']*this['style']['sn'];function _0x4c0c7e(_0x8eef32,_0x425c5a){return _0x4a554d(_0x8eef32- -0x2b3,_0x425c5a);}this['_dRadarMaxDis']=Math['pow'](_0x20b4ab/_0x1a899e,0.25);const _0x118d5a=[];let _0x3e2857=0x0;const _0x1dea92=this['_position']&&((_0x37b93c=this[_0x2fd22f(0x36e,0x467)])===null||_0x37b93c===void 0x0?void 0x0:_0x37b93c['length'])>0x0;_0x1dea92&&(this['_isDisturb'](),_0x3e2857=this[_0x2fd22f(0x482,0x33e)]['pt']*Math['pow'](this['style']['gt'],0x2)*Math[_0x4c0c7e(0x57,0x135)](this['style'][_0x4c0c7e(-0x288,-0x157)],0x2)*0x2*this[_0x4c0c7e(-0x1e0,-0x1c8)]['sigma']*Math['pow'](this['style']['n'],0.5));this['_mapJamDir2Sum']=new Map();const _0xfdd198=0xa,_0x55d8fd=0xa;for(let _0x2efde4=0x0;_0x2efde4<=0x5a;_0x2efde4+=_0xfdd198){const _0x18ffd8=[];for(let _0xaf53b7=0x0;_0xaf53b7<=0x168;_0xaf53b7+=_0x55d8fd){const _0x1dacc3=Cesium$6['Math'][_0x4c0c7e(-0x26a,-0x212)](_0x2efde4),_0x334887=Cesium$6['Math'][_0x2fd22f(0x2c0,0x2b4)](_0xaf53b7),_0x1c466d=getPercent(_0x1dacc3);let _0x358edf=0x0;if(_0x1dea92){const _0x3b370f=this['_calcSumJammer'](_0x334887);_0x358edf=this['_getJammerDistance'](_0x1c466d,_0x3b370f,_0x3e2857);}else _0x358edf=_0x1c466d*this[_0x2fd22f(0x2f6,0x413)];var _0x392fca={};_0x392fca[_0x2fd22f(0x324,0x380)]=-0xb4+_0xaf53b7,_0x392fca['pitch']=0x5a-_0x2efde4,_0x392fca[_0x4c0c7e(-0x158,-0x296)]=_0x358edf,_0x18ffd8[_0x4c0c7e(-0x37,-0x113)](_0x392fca);}_0x118d5a[_0x2fd22f(0x5d5,0x4e7)](_0x18ffd8);}function _0x2fd22f(_0x3eb8a6,_0x2085c0){return _0x4c8020(_0x2085c0-0xa0,_0x3eb8a6);}this['vertexs']=_0x118d5a;}[_0x4c8020(0x285,0x178)](){function _0x36babb(_0x7be833,_0x3bf5dc){return _0x4c8020(_0x3bf5dc- -0x333,_0x7be833);}if(this['disturbRatio']<=0x0)return;const _0x5ad913=this[_0x36babb(-0x260,-0xfe)];this['_jammerList']['forEach'](_0x4e6349=>{const _0x4d0123=LngLatPoint[_0x538a4f(0x528,0x4f5)](_0x4e6349['position']);_0x4e6349['_position']=_0x4d0123;function _0x2dcf11(_0xb6c509,_0x24c7b4){return _0x36babb(_0xb6c509,_0x24c7b4-0x56d);}_0x4e6349[_0x2dcf11(0x445,0x451)]=Cesium$6['Cartesian3']['distance'](_0x5ad913,_0x4d0123);function _0x538a4f(_0x50e6b3,_0x4eaf43){return _0x36babb(_0x50e6b3,_0x4eaf43-0x431);}const _0x132fb9=computerHeadingPitchRoll(_0x5ad913,_0x4d0123);if(!_0x132fb9)return;if(_0x4e6349['azimuth']=_0x132fb9[0x0],_0x4e6349['pitch']=_0x132fb9[0x1],_0x4e6349[_0x538a4f(0x3f4,0x305)]<0x0&&(_0x4e6349['azimuth']+=0x168),_0x4e6349['hasJammer']=!![],_0x4e6349['bScanJam']){let _0x182f82;(_0x182f82=_0x132fb9[0x0])<0x0&&(_0x182f82+=0x168);let _0x2ef88f=(_0x4e6349['dHangle']+_0x4e6349['dVangle'])/0x2;_0x2ef88f/=0x4,(Math[_0x538a4f(0x4ab,0x45a)](_0x4e6349[_0x538a4f(0x383,0x2f3)]-_0x182f82)>_0x2ef88f||Math['abs'](_0x4e6349[_0x538a4f(0x41e,0x502)]-_0x4e6349[_0x2dcf11(0x5b4,0x69f)])>_0x2ef88f)&&(_0x4e6349[_0x2dcf11(0x48b,0x56f)]=![]);}});}[_0x4a554d(0x1be,0x1f5)](_0x15ebb7){function _0x10967a(_0x22482d,_0x1d7214){return _0x4a554d(_0x1d7214-0x285,_0x22482d);}function _0x3c363d(_0x4c6169,_0x5d9dbc){return _0x4c8020(_0x5d9dbc- -0x327,_0x4c6169);}if(this['_mapJamDir2Sum']['has'](_0x15ebb7))return this[_0x3c363d(0xe0,0x136)][_0x3c363d(-0x148,-0xd1)](_0x15ebb7);else{const _0x255890=Cesium$6['Math'][_0x10967a(0x4be,0x3c4)](_0x15ebb7);let _0x32e976=0x0;return this[_0x3c363d(0x170,0xa0)][_0x3c363d(-0x6f,0xc9)](_0x3adecb=>{function _0x2d1e4e(_0x206649,_0x1bd269){return _0x10967a(_0x206649,_0x1bd269- -0x241);}function _0x89ae82(_0x509cd2,_0x1e8205){return _0x3c363d(_0x509cd2,_0x1e8205-0x4b6);}if(_0x3adecb[_0x89ae82(0x4e2,0x635)]&&_0x3adecb[_0x89ae82(0x350,0x4c4)]!==0x0){_0x3adecb[_0x2d1e4e(-0x9,0x6e)]!==0x0&&_0x3adecb['dBeta']!==0x0&&(_0x3adecb['pji']=_0x3adecb['pji']+Math['abs'](_0x3adecb['pji']*Math['cos'](Cesium$6[_0x2d1e4e(0x197,0x2a4)][_0x89ae82(0x432,0x3a3)](_0x3adecb['dAlpha']))*Math[_0x89ae82(0x63a,0x52b)](0x2*Cesium$6['Math']['toRadians'](_0x3adecb['dAlpha']))));let _0xad4fa8=Math['abs'](_0x255890-_0x3adecb[_0x89ae82(0x497,0x396)]);_0xad4fa8>0xb4&&(_0xad4fa8=0x168-_0xad4fa8);_0xad4fa8>=0x0&&_0x3adecb['theta05']/0x2>=_0xad4fa8?_0x3adecb['gtTheta']=this[_0x89ae82(0x387,0x42d)]['gt']:_0xad4fa8<=0x5a?_0x3adecb[_0x2d1e4e(0x2cc,0x324)]/0x2<=_0xad4fa8&&(_0x3adecb['gtTheta']=_0x3adecb['k']*Math['pow'](_0x3adecb['theta05']/_0xad4fa8,0x2)*this[_0x2d1e4e(0x24b,0x117)]['gt']):_0xad4fa8>=0x5a&&(_0x3adecb[_0x89ae82(0x4ed,0x4ab)]=_0x3adecb['k']*Math[_0x89ae82(0x5be,0x664)](_0x3adecb[_0x2d1e4e(0x2f1,0x324)]/0x5a,0x2)*this['style']['gt']);const _0x44ce0a=_0x3adecb['pji']*_0x3adecb[_0x2d1e4e(0x269,0x335)]*_0x3adecb['gtTheta']*this[_0x89ae82(0x49b,0x42d)]['bn']*_0x3adecb[_0x2d1e4e(0xb0,0x1ed)]/(Math[_0x2d1e4e(0x30e,0x34e)](_0x3adecb['rji'],0x2)*_0x3adecb['bji']);_0x32e976+=_0x44ce0a;}}),this[_0x3c363d(0x2a5,0x136)]['set'](_0x15ebb7,_0x32e976),_0x32e976;}}[_0x4a554d(0xd2,0x1b)](_0x2ca8b4,_0x4f8d39,_0x58414a){function _0x948b1f(_0x21b19f,_0x34b526){return _0x4a554d(_0x34b526- -0x80,_0x21b19f);}let _0x5070f4=Math['pow'](Math[_0x948b1f(0x1c,0x111)](_0x58414a/(0x4*Math['PI']*_0x4f8d39)),0.25);return(_0x5070f4=Math['min'](_0x5070f4,this['_dRadarMaxDis']))*_0x2ca8b4*this['disturbRatio'];}}register(_0x4a554d(0x198,0x2f4),FixedJammingRadar),mars3d__namespace['graphic']['FixedJammingRadar']=FixedJammingRadar;function getPercent(_0x2d2a61){function _0x10f4f2(_0x15221e,_0x40ef03){return _0x4c8020(_0x40ef03-0x16e,_0x15221e);}function _0x317e6a(_0x2825aa,_0x297e40){return _0x4a554d(_0x2825aa- -0x1bd,_0x297e40);}return Math[_0x10f4f2(0x511,0x643)](Math['abs'](Math[_0x317e6a(-0x3b,-0x8)](_0x2d2a61)),0.25)*Math['pow'](Math['cos'](_0x2d2a61),0x2);}function computerHeadingPitchRoll(_0x23ca72,_0x139c81){function _0x22658d(_0x181227,_0x3ab2f1){return _0x4a554d(_0x181227- -0x2cc,_0x3ab2f1);}function _0x1900d5(_0x270608,_0x253feb){return _0x4a554d(_0x253feb- -0x2f0,_0x270608);}if(_0x23ca72&&_0x139c81){if(Cesium$6['Cartesian3'][_0x1900d5(-0xd6,-0x97)](_0x23ca72,_0x139c81))return[0x0,0x0,0x0];const _0x499bc3=Cesium$6['Transforms']['eastNorthUpToFixedFrame'](_0x23ca72);let _0xe2b3f5=Cesium$6['Quaternion'][_0x22658d(-0x84,-0x1f8)](Cesium$6[_0x1900d5(-0x2e9,-0x2bf)][_0x22658d(-0x87,-0x168)]),_0x46ac4d=Cesium$6[_0x1900d5(-0x6f,-0x85)][_0x1900d5(-0x11,-0xa8)](Cesium$6['Quaternion'][_0x1900d5(-0x11d,-0xab)]),_0x18cb5f=Cesium$6['Matrix3'][_0x1900d5(-0xb1,-0xa8)](Cesium$6[_0x22658d(-0x29b,-0x1c0)]['IDENTITY']);_0x46ac4d=Cesium$6['Matrix4'][_0x1900d5(-0x217,-0x293)](_0x499bc3,_0x46ac4d);let _0x30f568=new Cesium$6['Cartesian3']();_0x30f568=Cesium$6[_0x1900d5(0x43,-0xcf)][_0x22658d(-0xe,0x37)](_0x139c81,_0x23ca72,_0x30f568),_0x18cb5f=Cesium$6[_0x1900d5(-0x180,-0x85)]['inverse'](_0x46ac4d,_0x18cb5f),_0x30f568=Cesium$6[_0x1900d5(-0x182,-0x85)]['multiplyByVector'](_0x18cb5f,_0x30f568,_0x30f568);const _0x2874f6=Cesium$6['Cartesian3']['UNIT_X'],_0x5a8263=Cesium$6[_0x1900d5(-0x10e,-0xcf)]['normalize'](_0x30f568,_0x30f568),_0x128a70=Cesium$6[_0x1900d5(-0x110,-0xcf)]['cross'](_0x2874f6,_0x5a8263,new Cesium$6[(_0x1900d5(-0x13,-0xcf))]()),_0x31c214=Cesium$6[_0x1900d5(-0x1ef,-0x90)]['acosClamped'](Cesium$6[_0x22658d(-0xab,-0x171)]['dot'](_0x2874f6,_0x5a8263))/(Cesium$6[_0x22658d(-0xab,0x82)][_0x1900d5(-0xb9,-0x10f)](_0x2874f6)*Cesium$6['Cartesian3'][_0x1900d5(-0x246,-0x10f)](_0x5a8263)),_0x26a7f8=Cesium$6['Quaternion']['fromAxisAngle'](_0x128a70,_0x31c214,new Cesium$6[(_0x1900d5(-0x338,-0x2bf))](0x0,0x0,0x0,0x0)),_0x4a9f42=Cesium$6[_0x1900d5(-0x101,-0x85)]['fromQuaternion'](_0x26a7f8,new Cesium$6['Matrix3']());_0xe2b3f5=Cesium$6['Quaternion']['fromRotationMatrix'](_0x4a9f42,_0xe2b3f5);const _0x5ae0f3=new Cesium$6['HeadingPitchRoll'](0x0,0x0,0x0);return Cesium$6[_0x22658d(-0x117,-0x5c)][_0x22658d(0x8,0x9d)](_0xe2b3f5,_0x5ae0f3),[Cesium$6['Math']['toDegrees'](_0x5ae0f3['heading'])+0x5a,Cesium$6['Math'][_0x1900d5(-0x193,-0x1b1)](_0x5ae0f3['pitch']),Cesium$6['Math']['toDegrees'](_0x5ae0f3[_0x1900d5(-0x36,-0xc6)])];}}const Cesium$5=mars3d__namespace['Cesium'];class ConicGeometry{constructor(_0x3b2cc0){function _0x483c33(_0x4f95c0,_0x8e23b0){return _0x4c8020(_0x4f95c0-0x1c3,_0x8e23b0);}this[_0x483c33(0x4fa,0x4c7)]=_0x3b2cc0['length'],this[_0x483c33(0x487,0x480)]=_0x3b2cc0[_0x483c33(0x487,0x569)];function _0x120e79(_0x328449,_0x17dfd1){return _0x4c8020(_0x328449-0x20,_0x17dfd1);}this['bottomRadius']=_0x3b2cc0[_0x483c33(0x5f2,0x757)],this[_0x120e79(0x24c,0x385)]=_0x3b2cc0[_0x483c33(0x3ef,0x543)],this[_0x483c33(0x54f,0x48b)]=Math[_0x483c33(0x430,0x550)](_0x3b2cc0['slices']??0x24,0x10),this[_0x483c33(0x61a,0x60c)]=_0x3b2cc0['slicesR']??0x1;}static['fromAngleAndLength'](_0x4b9b8f,_0x119e85,_0x274df3,_0x1b38e6,_0x33f344){_0x4b9b8f=Cesium$5['Math']['toRadians'](_0x4b9b8f);function _0x1fe19d(_0x19af60,_0x504439){return _0x4c8020(_0x504439-0xbd,_0x19af60);}function _0x3ae376(_0x8c27d6,_0x208674){return _0x4c8020(_0x208674- -0x55b,_0x8c27d6);}const _0x394896=Math['tan'](_0x4b9b8f)*_0x119e85;var _0x98ccc5={};return _0x98ccc5[_0x3ae376(-0x176,-0x297)]=_0x394896,_0x98ccc5['bottomRadius']=0x0,_0x98ccc5['length']=_0x119e85,_0x98ccc5['slices']=_0x1b38e6,_0x98ccc5[_0x3ae376(-0x33,-0x104)]=_0x33f344,_0x98ccc5[_0x3ae376(-0x3ac,-0x32f)]=_0x274df3,new ConicGeometry(_0x98ccc5);}static[_0x4a554d(0xe0,0x1ae)](_0x452522,_0x258ba){function _0x225991(_0xa9021c,_0x2c9a4f){return _0x4a554d(_0xa9021c- -0x334,_0x2c9a4f);}if(!_0x258ba)return ConicGeometry['_createGeometry'](_0x452522);function _0x2f3bf3(_0x6113b4,_0x571a6a){return _0x4a554d(_0x571a6a- -0x17,_0x6113b4);}const _0x69552f=new Cesium$5['Cartesian3'](),_0x5f0ac4=new Cesium$5['Ray']();Cesium$5[_0x2f3bf3(0x1f0,0x17c)][_0x2f3bf3(0x366,0x28e)](_0x258ba,Cesium$5['Cartesian3']['ZERO'],_0x69552f),_0x69552f['clone'](_0x5f0ac4['origin']);const _0x1eded4=_0x452522['length'],_0x3bd5f1=_0x452522[_0x225991(-0x23b,-0x2b3)],_0x32744d=_0x452522[_0x225991(-0x173,-0xfe)],_0x4a3cb2=Math['PI']*0x2/(_0x32744d-0x1),_0x69eb2=_0x452522['zReverse'];let _0x3e6455=[],_0x5c514d=[],_0x83a265=[];const _0x31598e=[],_0x521e9d=[0x0,_0x69eb2?-_0x1eded4:_0x1eded4];let _0x332e32=0x0;_0x3e6455[_0x225991(-0xb8,-0x6)](0x0,0x0,0x0),_0x5c514d['push'](0x1,0x1),_0x332e32++;const _0x1984cc=new Cesium$5['Cartesian3'](),_0xbafff4=_0x452522[_0x225991(-0xa8,-0xfc)],_0x54b054=_0x3bd5f1/_0xbafff4;for(let _0x9086be=0x0;_0x9086be<=_0xbafff4;_0x9086be++){const _0x10bcfd=_0x54b054*_0x9086be,_0x1cced1=[];for(let _0xfb4810=0x0;_0xfb4810<_0x32744d;_0xfb4810++){const _0x143331=_0x4a3cb2*_0xfb4810,_0x3b4e32=_0x10bcfd*Math[_0x225991(-0x163,-0x108)](_0x143331),_0x496404=_0x10bcfd*Math['sin'](_0x143331);_0x1984cc['x']=_0x3b4e32,_0x1984cc['y']=_0x496404,_0x1984cc['z']=_0x521e9d[0x1];let _0x1ed203=Cesium$5['Matrix4'][_0x2f3bf3(0x3eb,0x28e)](_0x258ba,_0x1984cc,new Cesium$5['Cartesian3']());!_0x1ed203?(_0x1ed203=_0x69552f,_0x1cced1['push'](-0x1)):(_0x1cced1['push'](_0x332e32),_0x3e6455['push'](_0x3b4e32,_0x496404,_0x521e9d[0x1]),_0x5c514d[_0x2f3bf3(0x185,0x265)](_0x9086be/_0xbafff4,0x1),_0x332e32++);}_0x31598e[_0x2f3bf3(0x2cd,0x265)](_0x1cced1);}const _0x1ff94f=[0x0,_0x31598e['length']-0x1];let _0x355c30,_0x1b0a55;for(let _0x2474a6=0x0;_0x2474a6<_0x1ff94f['length'];_0x2474a6++){const _0x31f02a=_0x1ff94f[_0x2474a6];for(let _0x5e3c1a=0x1;_0x5e3c1a<_0x31598e[_0x31f02a]['length'];_0x5e3c1a++){_0x355c30=_0x31598e[_0x31f02a][_0x5e3c1a-0x1],_0x1b0a55=_0x31598e[_0x31f02a][_0x5e3c1a],_0x355c30>=0x0&&_0x1b0a55>=0x0&&_0x83a265[_0x225991(-0xb8,0xb7)](0x0,_0x355c30,_0x1b0a55);}}_0x3e6455=new Float32Array(_0x3e6455),_0x83a265=new Int32Array(_0x83a265),_0x5c514d=new Float32Array(_0x5c514d);const _0x52e5a7={'position':new Cesium$5[(_0x2f3bf3(0x440,0x2e7))]({'componentDatatype':Cesium$5['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x3e6455}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':_0x5c514d})},_0x2f70bf=Cesium$5['BoundingSphere']['fromVertices'](_0x3e6455),_0x4ae84e=new Cesium$5['Geometry']({'attributes':_0x52e5a7,'indices':_0x83a265,'primitiveType':Cesium$5['PrimitiveType'][_0x2f3bf3(0x142,0xb3)],'boundingSphere':_0x2f70bf});return computeVertexNormals(_0x4ae84e),_0x3e6455=[],_0x83a265=[],_0x4ae84e;}static['_createGeometry'](_0x38fc7f){const _0x5755cc=_0x38fc7f['length'],_0x4aa3af=_0x38fc7f[_0x272150(-0x7,0x12e)],_0x33cea6=_0x38fc7f['bottomRadius'],_0x42e318=_0x38fc7f[_0x272150(0x1ee,0x1f6)],_0x3e39dd=Math['PI']*0x2/(_0x42e318-0x1),_0x49e520=_0x38fc7f['zReverse'];let _0x33ad59=[],_0x584bec=[],_0x34798b=[];const _0x4c6da1=[],_0x18accf=[_0x33cea6,_0x4aa3af],_0x56a269=[0x0,_0x49e520?-_0x5755cc:_0x5755cc];let _0x3733f1=0x0;const _0x377a88=new Cesium$5[(_0x272150(-0xfb,0x76))](),_0x46ea66=Math['atan2'](_0x33cea6-_0x4aa3af,_0x5755cc),_0x35f25b=_0x377a88;_0x35f25b['z']=Math[_0x272150(0x196,0x1b7)](_0x46ea66);function _0x294cfd(_0x4239fc,_0x30df80){return _0x4c8020(_0x4239fc- -0x340,_0x30df80);}const _0x2cc461=Math['cos'](_0x46ea66);for(let _0xb755ae=0x0;_0xb755ae<_0x56a269['length'];_0xb755ae++){_0x4c6da1[_0xb755ae]=[];const _0x5a7708=_0x18accf[_0xb755ae];for(let _0x4e8388=0x0;_0x4e8388<_0x42e318;_0x4e8388++){_0x4c6da1[_0xb755ae][_0x294cfd(0x107,0x2e)](_0x3733f1++);const _0x3b3e2f=_0x3e39dd*_0x4e8388;let _0x3f9883=_0x5a7708*Math['cos'](_0x3b3e2f),_0x5b7f8f=_0x5a7708*Math['sin'](_0x3b3e2f);_0x33ad59['push'](_0x3f9883,_0x5b7f8f,_0x56a269[_0xb755ae]),_0x3f9883=_0x2cc461*Math['cos'](_0x3b3e2f),_0x5b7f8f=_0x2cc461*Math[_0x272150(0xcd,0x1b7)](_0x3b3e2f),_0x584bec['push'](_0x3f9883,_0x5b7f8f,_0x35f25b['z']),_0x34798b[_0x294cfd(0x107,0x12a)](_0xb755ae/(_0x56a269['length']-0x1),0x0);}}let _0x3715b1=[];for(let _0x5acf32=0x1;_0x5acf32<_0x56a269['length'];_0x5acf32++){for(let _0x3cbca4=0x1;_0x3cbca4<_0x42e318;_0x3cbca4++){let _0x2bda92=_0x4c6da1[_0x5acf32-0x1][_0x3cbca4-0x1],_0x2e019b=_0x4c6da1[_0x5acf32][_0x3cbca4-0x1],_0x293fe0=_0x4c6da1[_0x5acf32][_0x3cbca4],_0x4916df=_0x4c6da1[_0x5acf32-0x1][_0x3cbca4];_0x3715b1[_0x272150(0x2df,0x2b1)](_0x293fe0),_0x3715b1[_0x294cfd(0x107,0xaa)](_0x4916df),_0x3715b1['push'](_0x2bda92),_0x3715b1['push'](_0x293fe0),_0x3715b1[_0x294cfd(0x107,0x22)](_0x2bda92),_0x3715b1['push'](_0x2e019b),_0x3cbca4===_0x4c6da1[_0x5acf32]['length']-0x1&&(_0x2bda92=_0x4c6da1[_0x5acf32-0x1][_0x3cbca4],_0x2e019b=_0x4c6da1[_0x5acf32][_0x3cbca4],_0x293fe0=_0x4c6da1[_0x5acf32][0x0],_0x4916df=_0x4c6da1[_0x5acf32-0x1][0x0],_0x3715b1['push'](_0x293fe0),_0x3715b1['push'](_0x4916df),_0x3715b1[_0x272150(0x1ab,0x2b1)](_0x2bda92),_0x3715b1['push'](_0x293fe0),_0x3715b1[_0x272150(0x322,0x2b1)](_0x2bda92),_0x3715b1[_0x294cfd(0x107,0x9f)](_0x2e019b));}}_0x3715b1=new Int16Array(_0x3715b1),_0x33ad59=new Float32Array(_0x33ad59),_0x584bec=new Float32Array(_0x584bec),_0x34798b=new Float32Array(_0x34798b);const _0x1cdbb7={'position':new Cesium$5[(_0x272150(0x406,0x333))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x294cfd(0x42,-0x7)],'componentsPerAttribute':0x3,'values':_0x33ad59}),'normal':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype'][_0x272150(0x17f,0xdc)],'componentsPerAttribute':0x3,'values':_0x584bec}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x2,'values':_0x34798b})},_0x3c5385=Cesium$5['BoundingSphere'][_0x294cfd(0x19,-0x1a)](_0x33ad59),_0x31a01a=new Cesium$5[(_0x272150(-0x37,0x6f))]({'attributes':_0x1cdbb7,'indices':_0x3715b1,'primitiveType':Cesium$5[_0x272150(0xd7,0x1cf)]['TRIANGLES'],'boundingSphere':_0x3c5385});_0x33ad59=[],_0x3715b1=[],_0x34798b=[];function _0x272150(_0x3ec2d7,_0x15d402){return _0x4a554d(_0x15d402-0x35,_0x3ec2d7);}return _0x31a01a;}static['createOutlineGeometry'](_0x2d3a24){const _0x165f50=_0x2d3a24[_0x25611b(0x369,0x45d)],_0xc33b4c=_0x2d3a24[_0x25611b(0x4c0,0x3ea)],_0x3876b5=_0x2d3a24['bottomRadius'],_0x39662b=_0x2d3a24[_0x25611b(0x36f,0x4b2)],_0x10af09=Math['PI']*0x2/(_0x39662b-0x1),_0x526fd5=_0x2d3a24[_0x25611b(0x1ef,0x352)];let _0x4bc7af=[],_0x1eb06c=[],_0xdfda7b=[];const _0x26c68f=[];function _0x230ebd(_0x4d6776,_0x35b237){return _0x4c8020(_0x35b237- -0x169,_0x4d6776);}const _0xdac559=[_0x3876b5,_0xc33b4c],_0x5d5407=[0x0,_0x526fd5?-_0x165f50:_0x165f50];let _0x2187a1=0x0;const _0x275e42=new Cesium$5[(_0x230ebd(0x20f,0xa3))](),_0x1be575=Math['atan2'](_0x3876b5-_0xc33b4c,_0x165f50),_0x1d48b6=_0x275e42;_0x1d48b6['z']=Math['sin'](_0x1be575);const _0x97db11=Math[_0x230ebd(0x1ba,0x233)](_0x1be575);for(let _0x382d23=0x0;_0x382d23<_0x5d5407['length'];_0x382d23++){_0x26c68f[_0x382d23]=[];const _0x5f0cc4=_0xdac559[_0x382d23];for(let _0x2ba0cd=0x0;_0x2ba0cd<_0x39662b;_0x2ba0cd++){_0x26c68f[_0x382d23]['push'](_0x2187a1++);const _0x24137b=_0x10af09*_0x2ba0cd;let _0x35a60f=_0x5f0cc4*Math['cos'](_0x24137b),_0x36fdc2=_0x5f0cc4*Math['sin'](_0x24137b);_0x4bc7af['push'](_0x35a60f,_0x36fdc2,_0x5d5407[_0x382d23]),_0x35a60f=_0x97db11*Math['cos'](_0x24137b),_0x36fdc2=_0x97db11*Math['sin'](_0x24137b),_0x1eb06c['push'](_0x35a60f,_0x36fdc2,_0x1d48b6['z']),_0xdfda7b['push'](_0x382d23/(_0x5d5407[_0x25611b(0x5ab,0x45d)]-0x1),0x0);}}let _0x13f970=[];for(let _0x4b0820=0x1;_0x4b0820<_0x5d5407['length'];_0x4b0820++){for(let _0x4f4c8b=0x1;_0x4f4c8b<_0x39662b;_0x4f4c8b++){const _0x588de1=_0x26c68f[_0x4b0820-0x1][_0x4f4c8b-0x1],_0x26e963=_0x26c68f[_0x4b0820][_0x4f4c8b-0x1];_0x4f4c8b%0x8===0x1&&_0x13f970[_0x230ebd(0x1b9,0x2de)](_0x588de1,_0x26e963);}}_0x13f970=new Int16Array(_0x13f970),_0x4bc7af=new Float32Array(_0x4bc7af),_0x1eb06c=new Float32Array(_0x1eb06c);function _0x25611b(_0x5a88d5,_0x319019){return _0x4c8020(_0x319019-0x126,_0x5a88d5);}_0xdfda7b=new Float32Array(_0xdfda7b);const _0x45a2af={'position':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5['ComponentDatatype'][_0x230ebd(0x247,0x219)],'componentsPerAttribute':0x3,'values':_0x4bc7af}),'normal':new Cesium$5[(_0x230ebd(0x487,0x360))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x230ebd(0xf0,0x109)],'componentsPerAttribute':0x3,'values':_0x1eb06c}),'st':new Cesium$5['GeometryAttribute']({'componentDatatype':Cesium$5[_0x25611b(0x518,0x41a)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0xdfda7b})},_0x9d096c=Cesium$5[_0x230ebd(0x67,0x157)][_0x25611b(0x417,0x47f)](_0x4bc7af),_0x163b74=new Cesium$5[(_0x25611b(0x1ec,0x32b))]({'attributes':_0x45a2af,'indices':_0x13f970,'primitiveType':Cesium$5['PrimitiveType']['LINES'],'boundingSphere':_0x9d096c});return _0x4bc7af=[],_0x13f970=[],_0xdfda7b=[],_0x163b74;}}const Cesium$4=mars3d__namespace[_0x4a554d(0x224,0x333)],BasePointPrimitive$2=mars3d__namespace[_0x4a554d(0x184,0x1e2)]['BasePointPrimitive'];class ConicSensor extends BasePointPrimitive$2{constructor(_0x107215={}){super(_0x107215);function _0x23995b(_0x446f48,_0x297996){return _0x4a554d(_0x297996-0xf7,_0x446f48);}this[_0x4e59ed(0x5b0,0x4e9)]=Cesium$4['Matrix4']['clone'](Cesium$4[_0x4e59ed(0x5b6,0x5d4)][_0x4e59ed(0x668,0x577)]),this['_quaternion']=new Cesium$4['Quaternion'](),this['_translation']=new Cesium$4['Cartesian3'](),this['_scale']=new Cesium$4['Cartesian3'](0x1,0x1,0x1),this['_matrix']=new Cesium$4['Matrix4']();function _0x4e59ed(_0xb88d6a,_0x412181){return _0x4a554d(_0xb88d6a-0x423,_0x412181);}this['_reverse']=this['options'][_0x4e59ed(0x492,0x41c)]??![],this['style'][_0x4e59ed(0x49a,0x51a)]=0x1,this['_updateStyleHook'](_0x107215[_0x23995b(0x5b,0x1ca)],_0x107215['style']);}get[_0x4c8020(0x3a7,0x511)](){return this;}get['lookAt'](){function _0x13edb9(_0x147f76,_0x453a80){return _0x4a554d(_0x453a80-0x183,_0x147f76);}function _0x1d2925(_0x4e34f7,_0x24c2a3){return _0x4c8020(_0x24c2a3- -0x3fc,_0x4e34f7);}return this[_0x1d2925(0x2d,-0x79)][_0x13edb9(0x160,0x227)];}set['lookAt'](_0x269ced){function _0x36f7df(_0x409ab4,_0x291f23){return _0x4c8020(_0x409ab4- -0x143,_0x291f23);}this['options'][_0x36f7df(0x12c,0x282)]=_0x269ced;}get[_0x4c8020(0x354,0x34e)](){return this['_color'];}set['color'](_0xde92b3){function _0x3d33bf(_0x1aa002,_0x56e9c9){return _0x4a554d(_0x1aa002-0x36e,_0x56e9c9);}this['_color']=mars3d__namespace['Util'][_0x3d33bf(0x547,0x6b9)](_0xde92b3);}get['outlineColor'](){return this['outlineColor'];}set['outlineColor'](_0x39757c){function _0xace8e3(_0x1b21a0,_0x2c05a3){return _0x4c8020(_0x2c05a3- -0xd,_0x1b21a0);}this['_outlineColor']=mars3d__namespace[_0xace8e3(0x243,0x3a6)]['getCesiumColor'](_0x39757c);}get[_0x4a554d(0x167,0x1ff)](){return this['_outline'];}set['outline'](_0xfeb50){this['_outline']=_0xfeb50,this['updateGeometry']();}get[_0x4c8020(0x3e4,0x481)](){return this['_topShow'];}set[_0x4c8020(0x3e4,0x30a)](_0x1514d4){this['_topShow']=_0x1514d4,this['updateGeometry']();}get[_0x4a554d(0xae,-0x56)](){function _0x21aafe(_0x5e82cc,_0x5a3c5a){return _0x4c8020(_0x5e82cc- -0x308,_0x5a3c5a);}return this[_0x21aafe(0x116,0xae)];}set[_0x4a554d(0xae,0x5)](_0x5710da){function _0x5775dc(_0x39be83,_0x3259b7){return _0x4c8020(_0x3259b7- -0x1a8,_0x39be83);}this[_0x5775dc(0x1ff,0x276)]=_0x5710da,this['updateGeometry']();}get['angle'](){return 0x5a-mars3d__namespace['Util']['getCesiumValue'](this['_angle'],Number);}set[_0x4a554d(0x22d,0x351)](_0xff168){if(this['_angle']===_0xff168)return;function _0x142bb8(_0x1c8734,_0x2f9f91){return _0x4a554d(_0x2f9f91-0x39,_0x1c8734);}this[_0x142bb8(0x332,0x1db)]=_0xff168;function _0x134578(_0x474767,_0x4b2ee4){return _0x4c8020(_0x4b2ee4- -0x47f,_0x474767);}this[_0x134578(0x6f,-0xcd)](),this['updateGeometry']();}get['length'](){function _0x82c541(_0x14c692,_0x25f704){return _0x4a554d(_0x25f704-0x67,_0x14c692);}function _0x10319e(_0xa9d875,_0x140bb7){return _0x4c8020(_0xa9d875- -0x438,_0x140bb7);}return mars3d__namespace['Util'][_0x82c541(0x169,0x16e)](this[_0x82c541(0x49,0x1b9)],Number);}set['length'](_0x12e565){this['_length']=_0x12e565,this['_updateGroundEntityVal'](),this['updateGeometry']();}get['heading'](){function _0x6e5b71(_0x46b3b6,_0x2e60fb){return _0x4a554d(_0x2e60fb- -0x2c0,_0x46b3b6);}function _0x25371d(_0x511e08,_0x193dd7){return _0x4a554d(_0x511e08- -0x380,_0x193dd7);}return Cesium$4[_0x6e5b71(-0x17,-0x60)][_0x25371d(-0x241,-0x1fe)](this[_0x6e5b71(-0x70,-0x1b8)]);}set['heading'](_0xabc38){function _0x4bf006(_0x1d4c8,_0x287f2f){return _0x4c8020(_0x1d4c8- -0x33c,_0x287f2f);}function _0x59ed49(_0x586c26,_0x493c51){return _0x4c8020(_0x493c51- -0x401,_0x586c26);}_0xabc38 instanceof Cesium$4[_0x4bf006(-0x4e,0x70)]?this[_0x59ed49(-0x1e,0xd9)]=_0xabc38:this['_headingRadians']=Cesium$4['Math'][_0x59ed49(-0x83,-0x1ed)](_0xabc38);}get['headingRadians'](){function _0x2b0e2f(_0x4d2e11,_0x387b15){return _0x4c8020(_0x4d2e11- -0x32a,_0x387b15);}function _0x330430(_0x5d3b13,_0x3de322){return _0x4a554d(_0x5d3b13-0x3cc,_0x3de322);}return this['_headingRadians']instanceof Cesium$4['CallbackProperty']?Cesium$4['Math'][_0x2b0e2f(-0x116,-0x1ab)](mars3d__namespace[_0x330430(0x5b4,0x612)]['getCesiumValue'](this['_headingRadians'],Number)):this['_headingRadians'];}get[_0x4a554d(0x29a,0x226)](){function _0x337238(_0x5d8e5c,_0x22a6d4){return _0x4a554d(_0x5d8e5c-0x34e,_0x22a6d4);}return Cesium$4['Math']['toDegrees'](this[_0x337238(0x4b3,0x5b1)]);}set['pitch'](_0x2daedb){function _0x5140eb(_0xd24cf6,_0x4aee8b){return _0x4c8020(_0x4aee8b- -0x3fb,_0xd24cf6);}function _0x2181ae(_0x575937,_0x4067ba){return _0x4c8020(_0x4067ba- -0xa6,_0x575937);}_0x2daedb instanceof Cesium$4[_0x5140eb(0x26,-0x10d)]?this['_pitchRadians']=_0x2daedb:this[_0x2181ae(0x22a,0x28a)]=Cesium$4[_0x2181ae(0x378,0x385)]['toRadians'](_0x2daedb);}get[_0x4a554d(0x1ed,0x117)](){function _0x1c36f0(_0x3dc1e0,_0x564ca9){return _0x4a554d(_0x564ca9- -0x1a8,_0x3dc1e0);}function _0x3af1cd(_0x1f5c4d,_0x2b97cb){return _0x4a554d(_0x1f5c4d- -0x159,_0x2b97cb);}return this['_pitchRadians']instanceof Cesium$4['CallbackProperty']?Cesium$4[_0x3af1cd(0x107,0x91)][_0x3af1cd(-0x110,-0x132)](mars3d__namespace['Util']['getCesiumValue'](this[_0x1c36f0(-0x1a6,-0x43)],Number)):this['_pitchRadians'];}get[_0x4c8020(0x3f5,0x437)](){return Cesium$4['Math']['toDegrees'](this['_rollRadians']);}set['roll'](_0x17f9e2){function _0x3ec569(_0x27a76f,_0x194c5d){return _0x4a554d(_0x194c5d- -0x371,_0x27a76f);}function _0x30dc62(_0x1afe5b,_0x5a3cdd){return _0x4c8020(_0x1afe5b- -0x231,_0x5a3cdd);}_0x17f9e2 instanceof Cesium$4['CallbackProperty']?this['_rollRadians']=_0x17f9e2:this[_0x30dc62(0x184,0xbb)]=Cesium$4[_0x30dc62(0x1fa,0x337)]['toRadians'](_0x17f9e2);}get['rollRadians'](){function _0x2a289b(_0x7884f9,_0x196118){return _0x4a554d(_0x7884f9-0x9a,_0x196118);}return this[_0x2a289b(0x284,0x3cd)]instanceof Cesium$4['CallbackProperty']?Cesium$4['Math']['toRadians'](mars3d__namespace['Util']['getCesiumValue'](this['_rollRadians'],Number)):this['_rollRadians'];}get[_0x4c8020(0x3ae,0x261)](){function _0x1137d0(_0x73ec82,_0x5f4587){return _0x4a554d(_0x73ec82- -0x4b,_0x5f4587);}return this[_0x1137d0(0x88,0x27)]['shadowShow'];}set['shadowShow'](_0x68d3ee){this['style']['shadowShow']=_0x68d3ee,this['_addGroundEntity']();}get[_0x4a554d(0x113,-0x22)](){return this['_matrix'];}get['rayPosition'](){function _0x11f6f5(_0x481f14,_0x4007d4){return _0x4c8020(_0x4007d4- -0x432,_0x481f14);}if(!this[_0xc24d9(0x490,0x53e)])return null;function _0xc24d9(_0x2a1d69,_0x4519ec){return _0x4a554d(_0x4519ec-0x2aa,_0x2a1d69);}return Cesium$4[_0x11f6f5(0x45,-0xd4)]['multiplyByPoint'](this[_0xc24d9(0x57b,0x53e)],new Cesium$4['Cartesian3'](0x0,0x0,this['reverse']?-this[_0x11f6f5(0xc,-0xfb)]:this['length']),new Cesium$4[(_0xc24d9(0x3c1,0x4cb))]());}get[_0x4a554d(0x6f,0x11e)](){function _0x2bc213(_0xa31193,_0x5115e7){return _0x4c8020(_0x5115e7-0x243,_0xa31193);}return this[_0x2bc213(0x6e1,0x637)];}get['intersectEllipsoid'](){function _0x19aa67(_0x1df5e8,_0x564dde){return _0x4c8020(_0x1df5e8- -0x24b,_0x564dde);}return this[_0x19aa67(0x275,0x185)];}['_updateStyleHook'](_0x4c4d85,_0x570b70){_0x4c4d85=style2Primitive(_0x4c4d85),this['_angle']=_0x4c4d85['angle']||0x5,this[_0xad2407(-0xc9,-0x1fc)]=_0x4c4d85[_0xad2407(-0xaf,-0x1a2)]??0x64,this['_color']=_0x4c4d85['color']??Cesium$4['Color']['YELLOW'],this[_0xad2407(0x95,0x45)]=_0x4c4d85['outline']??![],this[_0x21f8ce(0x482,0x580)]=_0x4c4d85['outlineColor']??this[_0x21f8ce(0x3fd,0x4af)],this['_topShow']=_0x4c4d85[_0xad2407(-0x2,-0xc6)]??!![],this['_topOutlineShow']=_0x4c4d85['topOutlineShow']??!![];function _0xad2407(_0x49ddb3,_0x1af83a){return _0x4a554d(_0x49ddb3- -0x21b,_0x1af83a);}this['style'][_0xad2407(-0x38,-0xb8)]&&this[_0x21f8ce(0x490,0x48d)]();this[_0xad2407(-0x146,-0x123)]=_0x4c4d85['hintPotsNum']??0xf;function _0x21f8ce(_0x505f79,_0x27c900){return _0x4a554d(_0x505f79-0x1d5,_0x27c900);}this['pitch']=_0x4c4d85[_0x21f8ce(0x46f,0x486)]??0x0,this['heading']=_0x4c4d85['heading']??0x0,this['roll']=_0x4c4d85[_0x21f8ce(0x3ff,0x2b3)]??0x0,this['_updateGroundEntityVal'](),this['updateGeometry']();}[_0x4c8020(0x2c7,0x254)](){function _0x3b62a7(_0x2af85d,_0x466ff2){return _0x4c8020(_0x466ff2- -0x3f8,_0x2af85d);}if(!this[_0x16f450(0x49,0x12b)])return;function _0x16f450(_0x36e05b,_0x59f8b4){return _0x4a554d(_0x59f8b4- -0x1b0,_0x36e05b);}this['primitiveCollection'][_0x3b62a7(0xf0,0xdb)](this),this[_0x16f450(-0xda,-0x18c)]();if(this[_0x3b62a7(0x4,-0x117)])this['_map']['entities'][_0x3b62a7(0x1f8,0xdb)](this[_0x3b62a7(-0x30,-0x117)]);else this['style'][_0x16f450(0x7e,0x33)]&&this['_addGroundEntity']();}['_removedHook'](){function _0x484a13(_0x37a3a,_0x35def7){return _0x4a554d(_0x35def7-0x392,_0x37a3a);}function _0x12e1d7(_0x22f62f,_0x4d0ded){return _0x4a554d(_0x4d0ded- -0x160,_0x22f62f);}if(!this[_0x484a13(0x55f,0x662)])return;this['_groundEntity']&&this['_map'][_0x12e1d7(0x2f5,0x1ae)][_0x484a13(0x5f7,0x58a)](this[_0x484a13(0x331,0x4a8)]),this[_0x484a13(0x593,0x68e)][_0x12e1d7(-0x10b,-0x4c)](this)&&(this['_noDestroy']=!![],this['primitiveCollection'][_0x12e1d7(0x145,0x98)](this),this['_noDestroy']=![]),this[_0x12e1d7(0x16a,0xa6)]();}[_0x4c8020(0x2b8,0x3c0)](_0x1c1b40){if(!this['getRealShow'](_0x1c1b40[_0x5a1881(0x14d,0x166)]))return;var _0x4c8eb3={};_0x4c8eb3[_0x5a1881(0x14d,0xd5)]=_0x1c1b40[_0xe1f8df(-0x58,-0x7b)],this['fire'](mars3d__namespace['EventType']['preUpdate'],_0x4c8eb3);(this['_length']instanceof Cesium$4['CallbackProperty']||this[_0x5a1881(0xee,0x15c)]instanceof Cesium$4['CallbackProperty'])&&this['updateGeometry']();this['computeMatrix'](_0x1c1b40['time']);if(!this[_0x5a1881(0x199,0xbb)])return;_0x1c1b40['mode']===Cesium$4[_0x5a1881(-0x8c,-0xcb)][_0xe1f8df(-0xfa,-0x75)]?((!Cesium$4['defined'](this[_0x5a1881(-0x48,-0xd5)])||this[_0x5a1881(-0x48,-0x9c)][_0x5a1881(0xb8,0x13e)]===0x0)&&(this[_0x5a1881(0xc2,0xd4)][_0x5a1881(0x188,0x21c)]=Cesium$4[_0xe1f8df(-0x137,-0x187)]['fromVertices'](this['_geometry'][_0xe1f8df(-0x11c,-0x186)]['position'][_0x5a1881(0xa2,0xb4)]),this['_clearDrawCommand'](),this['_drawCommands']=[],this['_pickCommands']=[],this['_drawCommands'][_0x5a1881(0x1c8,0x2ff)](this['createDrawCommand'](this[_0x5a1881(0xc2,0xda)],_0x1c1b40)),this[_0x5a1881(0x1fc,0x255)]&&this['_drawCommands']['push'](this['createDrawCommand'](this['_outlineGeometry'],_0x1c1b40,!![])),this['_topShow']&&(this['_drawCommands'][_0x5a1881(0x1c8,0x116)](this[_0x5a1881(0x32,0x12a)](this['_topGeometry'],_0x1c1b40)),this['_topOutlineShow']&&this[_0x5a1881(-0x48,-0x16f)][_0x5a1881(0x1c8,0xa7)](this['createDrawCommand'](this['_topOutlineGeometry'],_0x1c1b40,!![])))),_0x1c1b40['passes']['render']?this['_drawCommands']&&_0x1c1b40['commandList'][_0x5a1881(0x1c8,0x153)](...this[_0xe1f8df(-0x271,-0x210)]):this['_pickCommands']&&_0x1c1b40[_0xe1f8df(-0x100,-0x1b)]['push'](...this['_pickCommands'])):this['_addGroundEntity']();function _0xe1f8df(_0x4f839d,_0x27ec10){return _0x4c8020(_0x27ec10- -0x447,_0x4f839d);}var _0x2aed07={};_0x2aed07['time']=_0x1c1b40['time'];function _0x5a1881(_0x3fdc72,_0x85a8){return _0x4a554d(_0x3fdc72- -0xb4,_0x85a8);}this['fire'](mars3d__namespace[_0xe1f8df(-0x1b5,-0xfe)][_0x5a1881(0x1b2,0x41)],_0x2aed07);}['_clearDrawCommand'](){this[_0x1cda5e(0x3e7,0x3ea)]&&this['_drawCommands'][_0x1cda5e(0x406,0x4ea)]>0x0&&(this['_drawCommands']['forEach'](function(_0x2a3937){_0x2a3937['vertexArray']&&_0x2a3937['vertexArray'][_0x4677ce(0x6ee,0x67a)]();function _0x4677ce(_0x3b92b7,_0x47fab9){return _0x1cda5e(_0x47fab9,_0x3b92b7-0x6f);}function _0x3074bf(_0x18eeec,_0x1fda50){return _0x1599bd(_0x18eeec,_0x1fda50-0x8d);}_0x2a3937[_0x4677ce(0x506,0x615)]&&_0x2a3937['shaderProgram'][_0x3074bf(0x4ac,0x61c)]();}),delete this[_0x1599bd(0x434,0x2fa)]);function _0x1cda5e(_0x3f0bc4,_0x4ac157){return _0x4c8020(_0x4ac157-0x1b3,_0x3f0bc4);}function _0x1599bd(_0x356568,_0x21dec3){return _0x4a554d(_0x21dec3-0x28e,_0x356568);}this['_pickCommands']&&this['_pickCommands'][_0x1cda5e(0x550,0x4ea)]>0x0&&(this[_0x1599bd(0x2d5,0x2e7)][_0x1cda5e(0x65a,0x5a3)](function(_0xb666ad){function _0x520fda(_0x4bfd61,_0x230770){return _0x1cda5e(_0x230770,_0x4bfd61- -0x210);}_0xb666ad['vertexArray']&&_0xb666ad['vertexArray']['destroy'](),_0xb666ad['shaderProgram']&&_0xb666ad['shaderProgram'][_0x520fda(0x46f,0x3b2)]();}),delete this[_0x1599bd(0x3f6,0x2e7)]);}['createDrawCommand'](_0x234319,_0x18ed54,_0x37f4ad){function _0x502758(_0x3ba4de,_0x32cc1d){return _0x4a554d(_0x32cc1d-0x1cf,_0x3ba4de);}const _0x4e7435=_0x18ed54['context'],_0x507115=this['style'][_0x502758(0x3c7,0x32e)]??!![],_0x3be088=this['style'][_0x502758(0x293,0x2b3)]??!![],_0x61751f=Cesium$4['Appearance'][_0x42c352(0x3ec,0x491)](_0x507115,_0x3be088,this['options']['renderState']),_0x849c4c=Cesium$4[_0x502758(0x2fd,0x40d)][_0x42c352(0x5d5,0x4e6)](_0x61751f),_0x2eda46=Cesium$4[_0x42c352(0x362,0x40c)]['createAttributeLocations'](_0x234319),_0x3f7083=Cesium$4[_0x42c352(0x634,0x520)]['replaceCache']({'context':_0x4e7435,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':this['_replaceFragmentShaderSourceByStyle'](SatelliteSensorFS),'attributeLocations':_0x2eda46}),_0x42636b=Cesium$4['VertexArray']['fromGeometry']({'context':_0x4e7435,'geometry':_0x234319,'attributeLocations':_0x2eda46,'bufferUsage':Cesium$4['BufferUsage'][_0x502758(0x2b1,0x3ed)]}),_0x199d39=new Cesium$4['Cartesian3']();Cesium$4[_0x502758(0x206,0x362)]['multiplyByPoint'](this[_0x502758(0x598,0x463)],_0x234319[_0x502758(0x578,0x40b)]['center'],_0x199d39);const _0x3aa024=new Cesium$4[(_0x502758(0x1e4,0x2c4))](_0x199d39,_0x234319[_0x42c352(0x61e,0x52d)][_0x502758(0x1de,0x32a)]);function _0x42c352(_0x5a89f4,_0x457a26){return _0x4c8020(_0x457a26-0x126,_0x5a89f4);}const _0x3cf113=new Cesium$4[(_0x42c352(0x664,0x556))]({'primitiveType':_0x234319[_0x502758(0x38b,0x40f)],'shaderProgram':_0x3f7083,'vertexArray':_0x42636b,'modelMatrix':this[_0x502758(0x54a,0x463)],'renderState':_0x849c4c,'boundingVolume':_0x3aa024,'uniformMap':{'marsColor':_0x37f4ad?()=>{function _0x25bedb(_0x5efbd1,_0x5dd42c){return _0x42c352(_0x5efbd1,_0x5dd42c- -0x551);}return this[_0x25bedb(-0x63,0x4d)];}:()=>{return this['_color'];},'globalAlpha':()=>{function _0x130d4f(_0x5b131e,_0x2ddfb2){return _0x502758(_0x2ddfb2,_0x5b131e- -0x105);}return this[_0x130d4f(0x19d,0x6f)]['globalAlpha'];}},'castShadows':![],'receiveShadows':![],'pass':Cesium$4[_0x502758(0x370,0x2fa)][_0x502758(0x3d9,0x2c1)],'owner':this,'pickOnly':!![],'pickCommand':new Cesium$4[(_0x502758(0x523,0x434))]({'owner':this,'pickOnly':!![]})});this['bindPickId'](_0x3cf113),_0x3cf113['pickId']=_0x4e7435[_0x502758(0x373,0x277)]({'primitive':_0x3cf113,'id':this['id']});if(!_0x37f4ad){var _0x503c57={};_0x503c57['owner']=_0x3cf113,_0x503c57[_0x42c352(0x55b,0x531)]=_0x234319['primitiveType'],_0x503c57[_0x42c352(0x50a,0x47d)]=!![];const _0x1ed1af=new Cesium$4['DrawCommand'](_0x503c57);_0x1ed1af['vertexArray']=_0x42636b,_0x1ed1af['renderState']=_0x849c4c;const _0x131d9c=Cesium$4[_0x42c352(0x652,0x520)][_0x502758(0x4ce,0x3c4)]({'context':_0x4e7435,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':Cesium$4['ShaderSource']['createPickFragmentShaderSource'](SatelliteSensorFS,'uniform'),'attributeLocations':_0x2eda46});_0x1ed1af['shaderProgram']=_0x131d9c,_0x1ed1af['uniformMap']=_0x3cf113['uniformMap'],_0x1ed1af['uniformMap']['czm_pickColor']=()=>{function _0x4ed8fc(_0x152344,_0x32aac2){return _0x502758(_0x32aac2,_0x152344- -0x2dc);}function _0x27d584(_0x2da6c9,_0x80ee73){return _0x42c352(_0x80ee73,_0x2da6c9- -0x4c7);}return _0x3cf113[_0x4ed8fc(-0x78,0xcc)][_0x4ed8fc(0x7c,-0xc1)];},_0x1ed1af[_0x42c352(0x40c,0x43a)]=Cesium$4[_0x42c352(0x519,0x41c)][_0x42c352(0x28e,0x3e3)],_0x1ed1af['boundingVolume']=_0x3aa024,_0x1ed1af['modelMatrix']=this['_matrix'],this['_pickCommands']['push'](_0x1ed1af);}return _0x3cf113;}['computeMatrix'](_0x47bf9a,_0x33446f){function _0x2b6ba4(_0x50a2ac,_0x451622){return _0x4a554d(_0x451622-0x37e,_0x50a2ac);}function _0xb6f7d7(_0x3c1dc5,_0x3dc5bf){return _0x4a554d(_0x3dc5bf-0x33a,_0x3c1dc5);}this[_0x2b6ba4(0x520,0x5cb)]=mars3d__namespace['PointUtil']['getPositionValue'](this['position'],_0x47bf9a);if(!this[_0xb6f7d7(0x6f3,0x587)])return this['_matrix']=new Cesium$4['Matrix4'](),this['_matrix'];if(this[_0xb6f7d7(0x504,0x3de)]){const _0x355bda=this['_positionCartesian'],_0x2b286d=mars3d__namespace['PointUtil'][_0x2b6ba4(0x55d,0x471)](this[_0xb6f7d7(0x37c,0x3de)],_0x47bf9a);if(Cesium$4[_0xb6f7d7(0x5e2,0x5fd)](_0x2b286d)){this[_0xb6f7d7(0x4ad,0x4a6)]=Cesium$4['Cartesian3']['distance'](_0x355bda,_0x2b286d);const _0x34c250=mars3d__namespace['PointUtil']['getHeadingPitchRollForLine'](_0x355bda,_0x2b286d,!![]);!(this['_pitchRadians']instanceof Cesium$4['CallbackProperty'])&&(this['_pitchRadians']=_0x34c250['pitch']),!(this['_rollRadians']instanceof Cesium$4[_0xb6f7d7(0x53b,0x45d)])&&(this[_0x2b6ba4(0x4c9,0x568)]=_0x34c250['roll']),!(this['_headingRadians']instanceof Cesium$4['CallbackProperty'])&&(this['_headingRadians']=_0x34c250[_0x2b6ba4(0x5df,0x493)]);}}if(this['style']['rayEllipsoid']){const _0x4b7139=this[_0x2b6ba4(0x38b,0x4d1)]();this['_intersectEllipsoid']=_0x4b7139>0x0;if(this['_intersectEllipsoid']){if(this['style'][_0x2b6ba4(0x425,0x3dc)])return this['_matrix']=new Cesium$4[(_0x2b6ba4(0x3a7,0x511))](),this['_matrix'];this['length']=_0x4b7139;}}return this['_modelMatrix']=this['fixedFrameTransform'](this['_positionCartesian'],this[_0x2b6ba4(0x4eb,0x4c1)],this['_modelMatrix']),this['_quaternion']=Cesium$4['Quaternion']['fromHeadingPitchRoll'](new Cesium$4['HeadingPitchRoll'](this[_0xb6f7d7(0x4fa,0x442)],this['pitchRadians'],this['rollRadians']),this['_quaternion']),this['_matrix']=Cesium$4['Matrix4']['fromTranslationQuaternionRotationScale'](this['_translation'],this['_quaternion'],this['_scale'],this[_0x2b6ba4(0x4e9,0x612)]),Cesium$4[_0xb6f7d7(0x548,0x4cd)]['multiplyTransformation'](this[_0xb6f7d7(0x5dd,0x4c7)],this['_matrix'],this['_matrix']),this['_matrix'];}['updateGeometry'](){if(!this['_map'])return;const _0x28692d=Cesium$4['Math'][_0x461f75(-0xcc,-0x1eb)](this[_0x33f9b2(0x9c,0x13f)]);function _0x33f9b2(_0x220749,_0x2955dd){return _0x4c8020(_0x2955dd- -0x2b9,_0x220749);}const _0x41b6f0=this['length'];this['_geometry']=ConicGeometry['createGeometry'](new ConicGeometry({'topRadius':_0x41b6f0*Math['cos'](_0x28692d),'bottomRadius':0x0,'length':_0x41b6f0*Math[_0x461f75(-0x3f,-0xb2)](_0x28692d),'zReverse':this['_reverse'],'slices':this['style']['slices'],'slicesR':this['style'][_0x33f9b2(0x2cd,0x19e)]})),this['_topGeometry']=this['getTopGeometry'](),this['_topOutlineGeometry']=this[_0x461f75(0x13,0x1b)](),this['_outlineGeometry']=ConicGeometry['createOutlineGeometry'](new ConicGeometry({'topRadius':_0x41b6f0*Math['cos'](_0x28692d),'bottomRadius':0x0,'length':_0x41b6f0*Math[_0x33f9b2(0x180,0x94)](_0x28692d),'zReverse':this['_reverse'],'slices':this['style']['slices'],'slicesR':this['style'][_0x461f75(0x62,0x58)]}));function _0x461f75(_0x3cb110,_0x29ff29){return _0x4a554d(_0x29ff29- -0x234,_0x3cb110);}this['_attributes_positions']=new Float32Array(this[_0x33f9b2(-0xb6,0x88)]['attributes']['position']['values']['length']);for(let _0x332aec=0x0;_0x332aec{return this['_ground_radius'];},![]),'semiMajorAxis':new Cesium$4['CallbackProperty'](_0x423aca=>{function _0x1b6ebd(_0x51fe4e,_0x45fc95){return _0x180ed8(_0x45fc95- -0x1a8,_0x51fe4e);}return this[_0x1b6ebd(0x288,0x312)];},![]),'show':new Cesium$4['CallbackProperty'](_0x471abb=>{function _0x258a47(_0x4381eb,_0x3c651a){return _0x180ed8(_0x3c651a-0x75,_0x4381eb);}return this[_0x258a47(0x55b,0x68d)];},![])},'polygon':{'material':this[_0x3febdd(0x12,0x34)],'outline':this['_outline'],'outlineColor':this[_0x180ed8(0x612,0x4d7)],'outlineWidth':0x1,'arcType':Cesium$4[_0x180ed8(0x621,0x5fd)]['RHUMB'],'hierarchy':new Cesium$4['CallbackProperty']((_0x1c6ec0,_0xb8e42)=>{return this['_ground_hierarchy'];},![]),'show':new Cesium$4[(_0x180ed8(0x488,0x52e))](_0x2558bb=>{return this['_updateGroundEntityShow'](),this['_ground_showPolygon'];},![])}});}['_updateGroundEntityShow'](){function _0x55013f(_0x211d9a,_0x512dc2){return _0x4a554d(_0x512dc2-0x2f7,_0x211d9a);}function _0x3e1948(_0x5d7c7a,_0x5b98f8){return _0x4a554d(_0x5d7c7a- -0x1db,_0x5b98f8);}var _0x1ada02;this[_0x55013f(0x5df,0x4da)]||((_0x1ada02=this['_map'])===null||_0x1ada02===void 0x0||(_0x1ada02=_0x1ada02['scene'])===null||_0x1ada02===void 0x0?void 0x0:_0x1ada02['mode'])===Cesium$4[_0x55013f(0x483,0x31f)]['SCENE2D']?(this['_ground_showCircle']=this[_0x3e1948(-0x76,-0x1b4)]===0x0&&this['_rollRadians']===0x0,this[_0x3e1948(0x39,0x128)]=!this['_ground_showCircle']):(this[_0x55013f(0x4e2,0x5aa)]=![],this[_0x55013f(0x659,0x50b)]=![]);}[_0x4c8020(0x3b2,0x405)](){function _0x39f157(_0x28abcf,_0x20b350){return _0x4a554d(_0x28abcf-0xd,_0x20b350);}this[_0x39f157(0x162,0x195)]=this['length']*Math[_0x48b6a6(0x4c4,0x4ba)](Cesium$4[_0x39f157(0x26d,0x292)]['toRadians'](this['angle']));function _0x48b6a6(_0x435210,_0x65daf1){return _0x4a554d(_0x435210-0x2f3,_0x65daf1);}this['_ground_hierarchy']&&(this['_pitchRadians']!==0x0||this[_0x39f157(0x1f7,0x2bc)]!==0x0)&&(this['_ground_hierarchy'][_0x39f157(0x65,0x35)]=this['_computeGroundConePositions']());}[_0x4a554d(0xaa,0x156)](){function _0x224c40(_0x201d8a,_0x352352){return _0x4a554d(_0x201d8a- -0x158,_0x352352);}const _0x2652a6=[],_0x5dde42=this[_0x21ac39(0x507,0x505)];if(!_0x5dde42)return _0x2652a6;const _0x2c6703=this['length'];function _0x21ac39(_0x38f66b,_0x4c72ac){return _0x4a554d(_0x38f66b-0x2ba,_0x4c72ac);}const _0x59afa1=_0x2c6703*Math[_0x21ac39(0x43c,0x37d)](Cesium$4['Math']['toRadians'](0x5a-this[_0x224c40(0xd5,0xec)])),_0x313182=Cesium$4[_0x21ac39(0x44d,0x56d)]['multiplyByPoint'](this['_matrix'],this[_0x224c40(-0x94,-0xfc)],new Cesium$4['Cartesian3']()),_0x35ac27=Cesium$4['Cartesian3']['subtract'](_0x313182,_0x5dde42,new Cesium$4['Cartesian3']()),_0x34b178=Cesium$4[_0x21ac39(0x4db,0x465)][_0x21ac39(0x4f4,0x5f6)](_0x35ac27,_0x313182,new Cesium$4[(_0x224c40(0xc9,-0xf))]()),_0x23fc9d=Cesium$4[_0x21ac39(0x4db,0x47b)]['cross'](_0x313182,_0x35ac27,new Cesium$4[(_0x224c40(0xc9,-0x6a))]());for(let _0x10b0d4=0x0;_0x10b0d4<=this['_hintPotsNum'];_0x10b0d4++){let _0x183e29=new Cesium$4[(_0x21ac39(0x42e,0x3e2))](_0x313182,_0x34b178);const _0xaaf37a=_0x59afa1*_0x10b0d4/this[_0x21ac39(0x38f,0x4f9)],_0x1e23df=Cesium$4['Ray'][_0x21ac39(0x44a,0x59f)](_0x183e29,_0xaaf37a,new Cesium$4['Cartesian3']()),_0xe2e27d=Cesium$4['Cartesian3']['subtract'](_0x1e23df,_0x5dde42,new Cesium$4['Cartesian3']());_0x183e29=new Cesium$4[(_0x21ac39(0x42e,0x3dc))](_0x5dde42,_0xe2e27d);const _0x457df1=Cesium$4[_0x224c40(0x1c,0x128)]['getPoint'](_0x183e29,_0x2c6703,new Cesium$4['Cartesian3']());_0x2652a6['push'](_0x457df1);}_0x2652a6['push'](_0x5dde42);for(let _0x5054fa=this['_hintPotsNum'];_0x5054fa>=0x0;_0x5054fa--){let _0x5d3a73=new Cesium$4['Ray'](_0x313182,_0x23fc9d);const _0xe6ebfd=_0x59afa1*_0x5054fa/this['_hintPotsNum'],_0x4124d2=Cesium$4['Ray']['getPoint'](_0x5d3a73,_0xe6ebfd,new Cesium$4[(_0x21ac39(0x4db,0x3c4))]()),_0x1b50b7=Cesium$4[_0x224c40(0xc9,0x91)][_0x224c40(0x166,0x5c)](_0x4124d2,_0x5dde42,new Cesium$4[(_0x21ac39(0x4db,0x436))]());_0x5d3a73=new Cesium$4[(_0x224c40(0x1c,-0x10))](_0x5dde42,_0x1b50b7);const _0xb8ad69=Cesium$4[_0x224c40(0x1c,0x138)][_0x21ac39(0x44a,0x3c7)](_0x5d3a73,_0x2c6703,new Cesium$4['Cartesian3']());_0x2652a6['push'](_0xb8ad69);}return _0x2652a6;}[_0x4a554d(0x153,0x2c)](){let _0x130ccd=0x0;function _0x1922f7(_0xbe31dc,_0x369bf9){return _0x4c8020(_0xbe31dc-0xc0,_0x369bf9);}const _0x3b7922=mars3d__namespace['PointUtil'][_0x36667e(0x524,0x549)](this['_positionCartesian'],new Cesium$4['HeadingPitchRoll'](this[_0x1922f7(0x393,0x4d2)],this['_pitchRadians'],this['_rollRadians']),this[_0x36667e(0x59d,0x6d6)]);if(_0x3b7922){const _0x3959e6=Cesium$4[_0x1922f7(0x4ac,0x59c)]['distance'](this['_positionCartesian'],_0x3b7922);if(_0x3959e6>_0x130ccd)return _0x130ccd=_0x3959e6,_0x130ccd;}function _0x36667e(_0x454652,_0x3b13ca){return _0x4c8020(_0x454652-0x1a9,_0x3b13ca);}return _0x130ccd;}['getRayEarthPositions'](){const _0x74df90=this['_positionCartesian'];function _0x306a7a(_0x21ffc,_0x239a93){return _0x4c8020(_0x21ffc- -0x16d,_0x239a93);}const _0x538128=Cesium$4['Math']['toRadians'](this['pitch']+this[_0x1c6077(0x474,0x3ea)]),_0x1cb460=Cesium$4[_0x306a7a(0x2be,0x1bc)]['toRadians'](this['pitch']-this['angle']),_0x43272f=Cesium$4[_0x1c6077(0x53d,0x41d)]['toRadians'](this['roll']+this[_0x306a7a(0x28b,0x358)]),_0x926644=Cesium$4[_0x1c6077(0x498,0x41d)]['toRadians'](this[_0x1c6077(0x52b,0x3e7)]-this[_0x306a7a(0x28b,0x1ff)]),_0x1eef1c=mars3d__namespace['PointUtil']['getRayEarthPosition'](_0x74df90,new Cesium$4[(_0x1c6077(0x3a5,0x372))](this['headingRadians'],_0x538128,_0x43272f),this[_0x1c6077(0x55b,0x3e6)]);function _0x1c6077(_0x348eaa,_0x314b53){return _0x4a554d(_0x314b53-0x1bd,_0x348eaa);}const _0x4392c4=mars3d__namespace['PointUtil'][_0x306a7a(0x20e,0x134)](_0x74df90,new Cesium$4[(_0x1c6077(0x29c,0x372))](this['headingRadians'],_0x538128,_0x926644),this[_0x1c6077(0x3d6,0x3e6)]),_0x587682=mars3d__namespace[_0x306a7a(0x13d,0x23d)]['getRayEarthPosition'](_0x74df90,new Cesium$4[(_0x1c6077(0x3cd,0x372))](this['headingRadians'],_0x1cb460,_0x926644),this[_0x1c6077(0x465,0x3e6)]),_0x20ed2d=mars3d__namespace[_0x1c6077(0x1a4,0x29c)]['getRayEarthPosition'](_0x74df90,new Cesium$4['HeadingPitchRoll'](this[_0x1c6077(0x34c,0x2c5)],_0x1cb460,_0x43272f),this['_reverse']);return[_0x1eef1c,_0x4392c4,_0x587682,_0x20ed2d];}['_getDrawEntityClass'](_0x5e697b,_0x5166f3){_0x5e697b[_0x1bfc64(0x486,0x321)]=![];function _0x5b14d8(_0x718faf,_0x5aa69c){return _0x4a554d(_0x718faf-0x26a,_0x5aa69c);}function _0x1bfc64(_0x492ab6,_0x589443){return _0x4c8020(_0x492ab6-0x1d1,_0x589443);}return mars3d__namespace['GraphicUtil']['create'](_0x1bfc64(0x458,0x30d),_0x5e697b);}['_clusterShowHook'](_0x2d6f4b){}}mars3d__namespace['GraphicUtil'][_0x4c8020(0x218,0x118)]('conicSensor',ConicSensor,!![]),mars3d__namespace[_0x4a554d(0x184,0x134)][_0x4a554d(0x166,0x1b2)]=ConicSensor;const Cesium$3=mars3d__namespace['Cesium'];class RectGeometry{constructor(_0x3a1a60){this[_0x179a05(-0xf9,-0x14)]=_0x3a1a60['length'],this['_topWidth']=_0x3a1a60[_0x431bf6(0x509,0x5ee)],this[_0x431bf6(0x60e,0x67c)]=_0x3a1a60[_0x179a05(-0xa0,-0x192)],this['_bottomWidth']=_0x3a1a60['bottomWidth'],this[_0x431bf6(0x589,0x4f6)]=_0x3a1a60['bottomHeight'];function _0x431bf6(_0x3d32f1,_0x547e65){return _0x4c8020(_0x3d32f1-0x20b,_0x547e65);}this['_zReverse']=_0x3a1a60['zReverse'];function _0x179a05(_0x19e5da,_0x595d28){return _0x4a554d(_0x19e5da- -0x24b,_0x595d28);}this[_0x431bf6(0x565,0x40d)]=_0x3a1a60[_0x179a05(-0x8a,-0x87)]??0x4;}static[_0x4a554d(0x11e,0x258)](_0x53ade7,_0x467e5b,_0x4f0001,_0x1c502e,_0xf490b2){var _0x664b1f={};_0x664b1f['length']=_0x4f0001,_0x664b1f[_0x211a8e(0x250,0x120)]=_0x1c502e,_0x664b1f[_0x211a8e(0x499,0x358)]=_0x4f0001,_0x664b1f['bottomWidth']=_0x4f0001,_0x664b1f['topHeight']=_0x4f0001,_0x664b1f[_0x46c9ef(0x364,0x4c0)]=_0x4f0001;function _0x211a8e(_0x63d5a0,_0xfe0887){return _0x4a554d(_0xfe0887-0xbf,_0x63d5a0);}_0x664b1f['slices']=_0xf490b2;const _0x51937b=_0x664b1f;_0x53ade7=Cesium$3['Math'][_0x46c9ef(0x361,0x3d6)](_0x53ade7),_0x467e5b=Cesium$3[_0x211a8e(0x48f,0x31f)][_0x46c9ef(0x4aa,0x3d6)](_0x467e5b);!_0x1c502e?(_0x51937b['topHeight']=0x0,_0x51937b['topWidth']=0x0,_0x51937b['bottomHeight']=_0x4f0001*Math[_0x46c9ef(0x6a4,0x644)](_0x53ade7),_0x51937b[_0x211a8e(0x1c9,0x1f6)]=_0x4f0001*Math['tan'](_0x467e5b)):(_0x51937b['bottomHeight']=0x0,_0x51937b['bottomWidth']=0x0,_0x51937b[_0x211a8e(0x175,0x26a)]=_0x4f0001*Math[_0x46c9ef(0x5b0,0x644)](_0x53ade7),_0x51937b['topWidth']=_0x4f0001*Math[_0x46c9ef(0x69f,0x644)](_0x467e5b));function _0x46c9ef(_0x10ac97,_0x4aff71){return _0x4c8020(_0x4aff71-0x1c2,_0x10ac97);}return new RectGeometry(_0x51937b);}static['createGeometry'](_0x24f18a,_0x365f33){if(!_0x365f33)return RectGeometry[_0x51d334(-0x292,-0x2d6)](_0x24f18a);const _0x2bf38e=new Cesium$3['Cartesian3'](),_0x37184e=new Cesium$3['Ray']();Cesium$3['Matrix4']['multiplyByPoint'](_0x365f33,Cesium$3[_0x51d334(-0x84,-0x12d)][_0x51d334(-0x2b2,-0x278)],_0x2bf38e),_0x2bf38e['clone'](_0x37184e[_0x51d334(-0x1a2,-0xa7)]);const _0x2e1b66=_0x24f18a['_slices'],_0x1fed50=_0x24f18a['_topWidth'],_0x3ee6e3=_0x24f18a['_topHeight'],_0x32a82b=_0x24f18a[_0x51d334(-0x179,-0x287)],_0x4c4e28=(_0x32a82b?-0x1:0x1)*_0x24f18a[_0x51d334(-0x156,-0x1fc)];let _0x2935f7=[],_0x3afe2c=[];function _0x51d334(_0x59368e,_0xa2655e){return _0x4a554d(_0xa2655e- -0x34e,_0x59368e);}let _0x36d66d=[];const _0x5e92d2=_0x1fed50,_0x10db84=_0x3ee6e3,_0x3d0450=_0x2e1b66,_0x243b92=_0x2e1b66;let _0x552c97=0x0;_0x2935f7['push'](0x0,0x0,0x0),_0x36d66d['push'](0x1,0x1),_0x552c97++;const _0x550502=new Cesium$3[(_0x51d334(-0xd6,-0x12d))](),_0x299b11=[];for(let _0x27bffc=-_0x243b92;_0x27bffc<=_0x243b92;_0x27bffc++){const _0x326779=[];for(let _0x3aa177=-_0x3d0450;_0x3aa177<=_0x3d0450;_0x3aa177++){const _0x443f36=_0x10db84*_0x27bffc/_0x243b92,_0x54ea39=_0x5e92d2*_0x3aa177/_0x3d0450;_0x550502['x']=_0x54ea39,_0x550502['y']=_0x443f36,_0x550502['z']=_0x4c4e28;const _0x2d8157=mars3d__namespace['PointUtil'][_0x28b38f(-0x1f7,-0x9a)](_0x550502,_0x365f33,_0x37184e);!_0x2d8157?(_0x2935f7['push'](_0x54ea39,_0x443f36,_0x4c4e28),_0x36d66d[_0x28b38f(0x60,0x155)](0x1,0x1),_0x326779['push'](_0x552c97),_0x552c97++):(_0x2935f7[_0x28b38f(0x1ad,0x155)](_0x54ea39,_0x443f36,_0x4c4e28),_0x36d66d[_0x51d334(-0x1a1,-0xd2)](0x1,0x1),_0x326779['push'](_0x552c97),_0x552c97++);}_0x299b11[_0x28b38f(0xa1,0x155)](_0x326779);}const _0x19a527=[0x0,_0x299b11['length']-0x1];let _0x474c51,_0x51dbbf;for(let _0x2ad038=0x0;_0x2ad038<_0x19a527[_0x51d334(-0x1be,-0x1e2)];_0x2ad038++){const _0xf0029b=_0x19a527[_0x2ad038];for(let _0x40e422=0x1;_0x40e422<_0x299b11[_0xf0029b][_0x51d334(-0x160,-0x1e2)];_0x40e422++){_0x474c51=_0x299b11[_0xf0029b][_0x40e422-0x1],_0x51dbbf=_0x299b11[_0xf0029b][_0x40e422],_0x474c51>=0x0&&_0x51dbbf>=0x0&&_0x3afe2c[_0x28b38f(0xf8,0x155)](0x0,_0x474c51,_0x51dbbf);}}for(let _0x47ec28=0x0;_0x47ec28<_0x299b11[_0x28b38f(0x87,0x45)];_0x47ec28++){if(_0x47ec28===0x0||_0x47ec28===_0x299b11['length']-0x1)for(let _0x239f9d=0x1;_0x239f9d<_0x299b11['length'];_0x239f9d++){_0x474c51=_0x299b11[_0x239f9d-0x1][_0x47ec28],_0x51dbbf=_0x299b11[_0x239f9d][_0x47ec28],_0x474c51>=0x0&&_0x51dbbf>=0x0&&_0x3afe2c[_0x51d334(-0x59,-0xd2)](0x0,_0x474c51,_0x51dbbf);}}_0x2935f7=new Float32Array(_0x2935f7),_0x3afe2c=new Int32Array(_0x3afe2c),_0x36d66d=new Float32Array(_0x36d66d);const _0x27913d={'position':new Cesium$3['GeometryAttribute']({'componentDatatype':Cesium$3['ComponentDatatype'][_0x51d334(-0x1c9,-0x197)],'componentsPerAttribute':0x3,'values':_0x2935f7}),'st':new Cesium$3['GeometryAttribute']({'componentDatatype':Cesium$3['ComponentDatatype'][_0x51d334(-0x1d6,-0x2a7)],'componentsPerAttribute':0x2,'values':_0x36d66d})},_0x3d4ca9=Cesium$3['BoundingSphere'][_0x28b38f(0x14a,0x67)](_0x2935f7),_0x3d6fd2=new Cesium$3['Geometry']({'attributes':_0x27913d,'indices':_0x3afe2c,'primitiveType':Cesium$3['PrimitiveType'][_0x51d334(-0x32a,-0x284)],'boundingSphere':_0x3d4ca9});_0x3d6fd2[_0x51d334(-0x2c7,-0x1eb)]=_0x3afe2c;function _0x28b38f(_0x4c1c92,_0x26f456){return _0x4a554d(_0x26f456- -0x127,_0x4c1c92);}return computeVertexNormals(_0x3d6fd2),_0x2935f7=[],_0x3afe2c=[],_0x3d6fd2;}static['_createGeometry'](_0x5ea1c9){const _0x3c2ddf=_0x5ea1c9[_0x170b31(0x48,-0x126)],_0x583f0b=_0x5ea1c9['_bottomHeight'],_0x25274b=_0x5ea1c9[_0x58c904(-0x165,-0x2ab)],_0x180b1a=_0x5ea1c9[_0x170b31(0xb7,-0x9a)],_0x4b5d15=_0x5ea1c9[_0x170b31(-0x25e,-0x20b)],_0x3aeced=(_0x4b5d15?-0x1:0x1)*_0x5ea1c9[_0x170b31(-0xa5,-0x180)];let _0x2d2f64=new Float32Array(0x8*0x3),_0x2d3592=[],_0x4fa96d=[];const _0x126f50=new Cesium$3['Cartesian3'](0x0,0x0,_0x3aeced);function _0x58c904(_0x2f4ee3,_0x3c2e51){return _0x4a554d(_0x2f4ee3- -0x295,_0x3c2e51);}const _0x518e2f=[0x0,_0x3aeced],_0x20bd36=[_0x3c2ddf,_0x25274b],_0x3f9ef8=[_0x583f0b,_0x180b1a];let _0x2ae5ef=0x0;for(let _0x50c8da=0x0;_0x50c8da<0x2;_0x50c8da++){_0x2d2f64[_0x2ae5ef*0x3]=-_0x20bd36[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x1]=-_0x3f9ef8[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x2]=_0x518e2f[_0x50c8da],_0x4fa96d[_0x2ae5ef*0x2]=_0x50c8da,_0x4fa96d[_0x2ae5ef*0x2+0x1]=0x0,_0x2ae5ef++,_0x2d2f64[_0x2ae5ef*0x3]=-_0x20bd36[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x1]=_0x3f9ef8[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x2]=_0x518e2f[_0x50c8da],_0x4fa96d[_0x2ae5ef*0x2]=_0x50c8da,_0x4fa96d[_0x2ae5ef*0x2+0x1]=0x0,_0x2ae5ef++,_0x2d2f64[_0x2ae5ef*0x3]=_0x20bd36[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x1]=_0x3f9ef8[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x2]=_0x518e2f[_0x50c8da],_0x4fa96d[_0x2ae5ef*0x2]=_0x50c8da,_0x4fa96d[_0x2ae5ef*0x2+0x1]=0x0,_0x2ae5ef++,_0x2d2f64[_0x2ae5ef*0x3]=_0x20bd36[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x1]=-_0x3f9ef8[_0x50c8da]/0x2,_0x2d2f64[_0x2ae5ef*0x3+0x2]=_0x518e2f[_0x50c8da],_0x4fa96d[_0x2ae5ef*0x2]=_0x50c8da,_0x4fa96d[_0x2ae5ef*0x2+0x1]=0x0,_0x2ae5ef++;}_0x2d3592[_0x58c904(-0x19,0xdd)](0x0,0x1,0x3),_0x2d3592['push'](0x1,0x2,0x3);function _0x170b31(_0x39b390,_0x5dccbb){return _0x4a554d(_0x5dccbb- -0x2d2,_0x39b390);}_0x2d3592['push'](0x0,0x4,0x5),_0x2d3592['push'](0x0,0x5,0x1),_0x2d3592[_0x170b31(-0x113,-0x56)](0x1,0x2,0x6),_0x2d3592['push'](0x1,0x6,0x5),_0x2d3592[_0x170b31(-0x1a0,-0x56)](0x2,0x3,0x7),_0x2d3592[_0x170b31(-0x6b,-0x56)](0x7,0x6,0x2),_0x2d3592[_0x58c904(-0x19,-0x147)](0x0,0x3,0x7),_0x2d3592['push'](0x7,0x4,0x0),_0x2d3592[_0x58c904(-0x19,-0xae)](0x4,0x5,0x6),_0x2d3592[_0x170b31(0x10c,-0x56)](0x6,0x7,0x4),_0x2d3592=new Int16Array(_0x2d3592),_0x4fa96d=new Float32Array(_0x4fa96d);const _0x50645f={'position':new Cesium$3['GeometryAttribute']({'componentDatatype':Cesium$3['ComponentDatatype'][_0x58c904(-0xde,-0xd4)],'componentsPerAttribute':0x3,'values':_0x2d2f64}),'st':new Cesium$3[(_0x170b31(-0x31,0x2c))]({'componentDatatype':Cesium$3[_0x58c904(-0x16c,-0xe6)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x4fa96d})},_0x3ec77d=Cesium$3['BoundingSphere']['fromVertices'](_0x2d2f64);let _0x3caaf0=new Cesium$3[(_0x58c904(-0x25b,-0x30d))]({'attributes':_0x50645f,'indices':_0x2d3592,'primitiveType':Cesium$3['PrimitiveType']['TRIANGLES'],'boundingSphere':_0x3ec77d});return _0x3caaf0=Cesium$3['GeometryPipeline']['computeNormal'](_0x3caaf0),_0x2d2f64=[],_0x2d3592=[],_0x3caaf0[_0x170b31(0x48,-0x2c)]=_0x126f50,_0x3caaf0;}static['createOutlineGeometry'](_0x2d2333){const _0x4b1f6f=_0x2d2333['_bottomWidth'],_0xcc4d07=_0x2d2333['_bottomHeight'],_0x3c2a44=_0x2d2333['_topWidth'],_0x4c9217=_0x2d2333['_topHeight'];function _0x25fcf6(_0x13404f,_0x2651aa){return _0x4c8020(_0x2651aa-0x1e2,_0x13404f);}const _0x31b8e4=_0x2d2333[_0x25fcf6(0x360,0x474)],_0x4e6665=(_0x31b8e4?-0x1:0x1)*_0x2d2333['_length'];let _0x496ce7=new Float32Array(0x8*0x3),_0x2a7354=[],_0x30cf5c=[];function _0x1b66fa(_0x102beb,_0x123fc6){return _0x4a554d(_0x123fc6- -0x13,_0x102beb);}const _0x18aa41=[0x0,_0x4e6665],_0x154f7a=[_0x4b1f6f,_0x3c2a44],_0x50eaea=[_0xcc4d07,_0x4c9217];let _0x3610c8=0x0;for(let _0x225ac1=0x0;_0x225ac1<0x2;_0x225ac1++){_0x496ce7[_0x3610c8*0x3]=-_0x154f7a[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x1]=-_0x50eaea[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x2]=_0x18aa41[_0x225ac1],_0x30cf5c[_0x3610c8*0x2]=_0x225ac1,_0x30cf5c[_0x3610c8*0x2+0x1]=0x0,_0x3610c8++,_0x496ce7[_0x3610c8*0x3]=-_0x154f7a[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x1]=_0x50eaea[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x2]=_0x18aa41[_0x225ac1],_0x30cf5c[_0x3610c8*0x2]=_0x225ac1,_0x30cf5c[_0x3610c8*0x2+0x1]=0x0,_0x3610c8++,_0x496ce7[_0x3610c8*0x3]=_0x154f7a[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x1]=_0x50eaea[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x2]=_0x18aa41[_0x225ac1],_0x30cf5c[_0x3610c8*0x2]=_0x225ac1,_0x30cf5c[_0x3610c8*0x2+0x1]=0x0,_0x3610c8++,_0x496ce7[_0x3610c8*0x3]=_0x154f7a[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x1]=-_0x50eaea[_0x225ac1]/0x2,_0x496ce7[_0x3610c8*0x3+0x2]=_0x18aa41[_0x225ac1],_0x30cf5c[_0x3610c8*0x2]=_0x225ac1,_0x30cf5c[_0x3610c8*0x2+0x1]=0x0,_0x3610c8++;}_0x2a7354[_0x1b66fa(0x2b4,0x269)](0x0,0x1,0x1,0x2),_0x2a7354['push'](0x2,0x3,0x3,0x0),_0x2a7354[_0x1b66fa(0x111,0x269)](0x0,0x4),_0x2a7354['push'](0x1,0x5),_0x2a7354['push'](0x2,0x6),_0x2a7354['push'](0x3,0x7),_0x2a7354[_0x25fcf6(0x74c,0x629)](0x4,0x5,0x5,0x6),_0x2a7354['push'](0x6,0x7,0x7,0x4),_0x2a7354=new Int16Array(_0x2a7354),_0x30cf5c=new Float32Array(_0x30cf5c);const _0x367348={'position':new Cesium$3[(_0x25fcf6(0x76d,0x6ab))]({'componentDatatype':Cesium$3['ComponentDatatype']['DOUBLE'],'componentsPerAttribute':0x3,'values':_0x496ce7}),'st':new Cesium$3['GeometryAttribute']({'componentDatatype':Cesium$3[_0x25fcf6(0x3b5,0x4d6)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x30cf5c})},_0x54e22b=Cesium$3['BoundingSphere']['fromVertices'](_0x496ce7),_0x549177=new Cesium$3['Geometry']({'attributes':_0x367348,'indices':_0x2a7354,'primitiveType':Cesium$3['PrimitiveType'][_0x1b66fa(0x38,0xa8)],'boundingSphere':_0x54e22b});return _0x496ce7=[],_0x2a7354=[],_0x549177;}}const Cesium$2=mars3d__namespace['Cesium'],BasePointPrimitive$1=mars3d__namespace['graphic'][_0x4a554d(0x34,0x51)];class RectSensor extends BasePointPrimitive$1{constructor(_0x22d5ed={}){function _0x224818(_0x128f9d,_0x357800){return _0x4c8020(_0x357800- -0x2dc,_0x128f9d);}super(_0x22d5ed),this['_modelMatrix']=Cesium$2[_0x224818(0xd3,0x82)][_0x224818(0x173,0x137)](Cesium$2['Matrix4']['IDENTITY']),this[_0x3e8903(0x4a0,0x5b6)]=new Cesium$2['Quaternion'](),this['_translation']=new Cesium$2[(_0x3e8903(0x469,0x399))](),this['_scale']=new Cesium$2[(_0x3e8903(0x469,0x4dc))](0x1,0x1,0x1),this[_0x3e8903(0x4dc,0x3af)]=new Cesium$2[(_0x3e8903(0x3db,0x467))](),this['_fixedFrameTransform']=this[_0x224818(0x1ce,0xa7)][_0x3e8903(0x52f,0x63d)]??Cesium$2[_0x3e8903(0x460,0x371)]['eastNorthUpToFixedFrame'];function _0x3e8903(_0x3aa5bc,_0x3c1cfb){return _0x4c8020(_0x3aa5bc-0x7d,_0x3c1cfb);}this['_reverse']=this[_0x224818(-0x65,0xa7)][_0x224818(-0x189,-0xa2)]??![],this[_0x3e8903(0x31b,0x394)]['globalAlpha']=0x1,this[_0x3e8903(0x530,0x597)](_0x22d5ed[_0x3e8903(0x31b,0x1fd)],_0x22d5ed[_0x224818(0x136,-0x3e)]);}get['czmObject'](){return this;}get[_0x4c8020(0x26f,0x12c)](){function _0xe0ee09(_0x5eb97b,_0x116b4c){return _0x4c8020(_0x5eb97b- -0x2cb,_0x116b4c);}return this['options'][_0xe0ee09(-0x5c,0x10e)];}set[_0x4a554d(0xa4,0x2b)](_0x4c65a4){function _0x2c1b8c(_0x1544f9,_0x5eec9b){return _0x4c8020(_0x1544f9- -0x2f8,_0x5eec9b);}this[_0x2c1b8c(0x8b,0x7a)]['lookAt']=_0x4c65a4;}get['color'](){function _0x39f420(_0x220aeb,_0x2c5fce){return _0x4a554d(_0x2c5fce- -0x313,_0x220aeb);}return this[_0x39f420(-0xcd,-0xeb)];}set['color'](_0x33aa71){function _0x4469b0(_0xc0d192,_0x1a2658){return _0x4c8020(_0x1a2658- -0x553,_0xc0d192);}function _0x58d7de(_0x3947f8,_0xac4b9c){return _0x4c8020(_0x3947f8- -0x49f,_0xac4b9c);}this[_0x58d7de(-0xac,-0x215)]=mars3d__namespace['Util'][_0x4469b0(-0x206,-0x1af)](_0x33aa71);}get['outlineColor'](){function _0x3d43ee(_0x4158e5,_0x2ad706){return _0x4a554d(_0x4158e5-0x20b,_0x2ad706);}return this[_0x3d43ee(0x4b8,0x366)];}set[_0x4c8020(0x344,0x417)](_0x47d888){function _0x440ca8(_0x32ddb1,_0x7f1ba4){return _0x4a554d(_0x32ddb1- -0x207,_0x7f1ba4);}this['_outlineColor']=mars3d__namespace['Util'][_0x440ca8(-0x2e,0x38)](_0x47d888);}get['outline'](){function _0x2eefa7(_0x3c016d,_0x5eeeaf){return _0x4c8020(_0x5eeeaf- -0xa0,_0x3c016d);}return this[_0x2eefa7(0x389,0x3db)];}set['outline'](_0x5871af){this[_0x1be369(-0x9,-0x88)]=_0x5871af;function _0x1be369(_0x587d3a,_0x581882){return _0x4c8020(_0x587d3a- -0x484,_0x581882);}this['updateGeometry']();}get['topShow'](){return this['_topShow'];}set[_0x4a554d(0x219,0x2c7)](_0x19eb3c){function _0x1b2ba5(_0xfe7e61,_0x2d7641){return _0x4c8020(_0xfe7e61- -0x2dd,_0x2d7641);}this[_0x56d39(0x22a,0xea)]=_0x19eb3c;function _0x56d39(_0xfa1a1e,_0x6b4379){return _0x4c8020(_0xfa1a1e- -0x1c,_0x6b4379);}this[_0x56d39(0x1d3,0xe1)]();}get[_0x4a554d(0xae,-0x3e)](){function _0x3eb39d(_0x3f5744,_0x56a492){return _0x4c8020(_0x3f5744- -0x354,_0x56a492);}return this[_0x3eb39d(0xca,0x22b)];}set['topOutlineShow'](_0x3219f5){this['_topOutlineShow']=_0x3219f5,this['updateGeometry']();}get['angle'](){function _0x5d30f8(_0x339e6b,_0x592056){return _0x4c8020(_0x339e6b- -0x54c,_0x592056);}return mars3d__namespace['Util']['getCesiumValue'](this[_0x5d30f8(-0xbb,-0xf0)],Number);}set[_0x4a554d(0x22d,0x333)](_0x2bc543){this[_0x30a1e9(0x506,0x5c9)]=_0x2bc543;function _0x30a1e9(_0xc5125d,_0x4b06fc){return _0x4c8020(_0x4b06fc-0x138,_0xc5125d);}this[_0x30a1e9(0x3cb,0x370)]=_0x2bc543;function _0x59d716(_0x2a668c,_0x4b8cdd){return _0x4a554d(_0x2a668c-0x127,_0x4b8cdd);}this[_0x30a1e9(0x463,0x327)]();}get[_0x4c8020(0x3fb,0x4da)](){function _0x35deb8(_0x18ee74,_0x57f76b){return _0x4c8020(_0x18ee74-0x210,_0x57f76b);}return mars3d__namespace[_0x35deb8(0x5c3,0x59d)]['getCesiumValue'](this['_angle1'],Number);}set['angle1'](_0x11fe95){function _0x37a32c(_0x1cdfc6,_0x365002){return _0x4c8020(_0x1cdfc6-0x165,_0x365002);}if(this[_0x37a32c(0x5f6,0x5f5)]===_0x11fe95)return;this['_angle1']=_0x11fe95,this['updateGeometry']();}get[_0x4a554d(0x1ce,0x207)](){return mars3d__namespace['Util']['getCesiumValue'](this['_angle2'],Number);}set['angle2'](_0x13cf45){if(this['_angle2']===_0x13cf45)return;this[_0x8e909(0x248,0x31c)]=_0x13cf45;function _0x8e909(_0x29e7e2,_0x54072c){return _0x4a554d(_0x29e7e2-0x1db,_0x54072c);}this['updateGeometry']();}get[_0x4a554d(0x16c,0x17c)](){function _0x192d23(_0x456b1,_0x3e802d){return _0x4c8020(_0x456b1- -0x4b4,_0x3e802d);}function _0x3663f5(_0xc75b22,_0x504d56){return _0x4c8020(_0xc75b22- -0xb2,_0x504d56);}return mars3d__namespace[_0x3663f5(0x301,0x252)][_0x3663f5(0x220,0x25f)](this[_0x3663f5(0x26b,0x135)],Number);}set['length'](_0x43e4a4){function _0x42ee68(_0x77ddad,_0x321524){return _0x4a554d(_0x321524-0x8a,_0x77ddad);}if(this[_0x42ee68(0x9b,0x1dc)]===_0x43e4a4||Math['abs'](this['_length']-_0x43e4a4)<0xa)return;function _0x3d27c4(_0x1ff116,_0x26e602){return _0x4c8020(_0x26e602- -0x517,_0x1ff116);}this['_length']=_0x43e4a4,this[_0x42ee68(0x1fc,0xae)]();}get[_0x4a554d(0x115,0x1e7)](){function _0x183a50(_0x85a6f0,_0x284642){return _0x4c8020(_0x85a6f0-0xad,_0x284642);}function _0x1dd173(_0x426224,_0x966720){return _0x4c8020(_0x426224- -0x1a,_0x966720);}return Cesium$2[_0x183a50(0x4d8,0x552)][_0x183a50(0x3b7,0x345)](this[_0x183a50(0x380,0x3b5)]);}set[_0x4a554d(0x115,0x44)](_0x432794){function _0x1851ed(_0x4e8f1e,_0x1e9b38){return _0x4a554d(_0x1e9b38-0x38d,_0x4e8f1e);}function _0x188d6d(_0x3250ab,_0xfaf26a){return _0x4a554d(_0x3250ab- -0x323,_0xfaf26a);}_0x432794 instanceof Cesium$2[_0x188d6d(-0x200,-0x2a9)]?this['_headingRadians']=_0x432794:this['_headingRadians']=Cesium$2[_0x1851ed(0x54f,0x5ed)][_0x188d6d(-0x2da,-0x2f8)](_0x432794);}get['headingRadians'](){function _0x2f864b(_0x47f7a7,_0x2439ac){return _0x4c8020(_0x2439ac- -0x298,_0x47f7a7);}function _0x5906e9(_0x54eac4,_0x4ebc3b){return _0x4c8020(_0x4ebc3b-0x1fc,_0x54eac4);}return this[_0x5906e9(0x6dd,0x6d6)]instanceof Cesium$2['CallbackProperty']?Cesium$2[_0x5906e9(0x599,0x627)][_0x2f864b(-0xf8,-0x84)](mars3d__namespace['Util'][_0x2f864b(-0x117,0x3a)](this['_headingRadians'],Number)):this['_headingRadians'];}get['pitch'](){function _0x410a5e(_0x336758,_0x1a8ab3){return _0x4c8020(_0x1a8ab3- -0x521,_0x336758);}function _0x22ac79(_0x11923,_0x43b4a8){return _0x4c8020(_0x43b4a8- -0x4ab,_0x11923);}return Cesium$2[_0x410a5e(-0x5,-0xf6)]['toDegrees'](this[_0x22ac79(-0x15b,-0x17b)]);}set['pitch'](_0x38301d){function _0x6523a2(_0x3d0cfe,_0x5e3832){return _0x4c8020(_0x3d0cfe- -0x27d,_0x5e3832);}function _0x3eecce(_0x286245,_0x4b092f){return _0x4c8020(_0x4b092f-0x6a,_0x286245);}_0x38301d instanceof Cesium$2[_0x3eecce(0x266,0x358)]?this[_0x6523a2(0xb3,0x8c)]=_0x38301d:this[_0x3eecce(0x39d,0x39a)]=Cesium$2['Math'][_0x3eecce(0x37d,0x27e)](_0x38301d);}get[_0x4a554d(0x1ed,0x1ad)](){function _0x30b58e(_0x4036c2,_0x4a694e){return _0x4c8020(_0x4a694e- -0x3c3,_0x4036c2);}function _0x138d0c(_0x325847,_0x12a715){return _0x4a554d(_0x12a715- -0x2e9,_0x325847);}return this['_pitchRadians']instanceof Cesium$2[_0x138d0c(-0x2d1,-0x1c6)]?Cesium$2['Math']['toRadians'](mars3d__namespace['Util'][_0x138d0c(-0x1b8,-0x1e2)](this['_pitchRadians'],Number)):this['_pitchRadians'];}get['roll'](){function _0x22c423(_0x781cfe,_0x5673fc){return _0x4a554d(_0x5673fc- -0x2d8,_0x781cfe);}return Cesium$2['Math'][_0x22c423(-0x18c,-0x199)](this['_rollRadians']);}set[_0x4a554d(0x22a,0x212)](_0x16146f){function _0x4554c0(_0x4c8183,_0x4cf718){return _0x4a554d(_0x4cf718-0x330,_0x4c8183);}function _0x4448f9(_0x1aaf78,_0x4d7574){return _0x4a554d(_0x1aaf78- -0xa4,_0x4d7574);}_0x16146f instanceof Cesium$2['CallbackProperty']?this['_rollRadians']=_0x16146f:this['_rollRadians']=Cesium$2[_0x4448f9(0x1bc,0x2f0)][_0x4448f9(-0x5b,-0x1b6)](_0x16146f);}get['rollRadians'](){function _0x32af29(_0x258333,_0x1c123b){return _0x4a554d(_0x258333- -0x318,_0x1c123b);}function _0x15e069(_0x49bd5f,_0x5f4cf8){return _0x4a554d(_0x5f4cf8- -0x2c5,_0x49bd5f);}return this['_rollRadians']instanceof Cesium$2['CallbackProperty']?Cesium$2[_0x15e069(0x107,-0x65)]['toRadians'](mars3d__namespace['Util'][_0x32af29(-0x211,-0x272)](this['_rollRadians'],Number)):this['_rollRadians'];}get[_0x4c8020(0x2de,0x3c7)](){return this['_matrix'];}get[_0x4c8020(0x3a1,0x384)](){function _0x5d6e4d(_0x4a7291,_0x3f0d3e){return _0x4c8020(_0x4a7291- -0x2ce,_0x3f0d3e);}if(!this['_matrix'])return null;function _0x3135ed(_0x229265,_0x1a32ff){return _0x4a554d(_0x1a32ff-0x215,_0x229265);}return Cesium$2['Matrix4']['multiplyByPoint'](this['_matrix'],new Cesium$2[(_0x5d6e4d(0x11e,0x222))](0x0,0x0,this['reverse']?-this['length']:this['length']),new Cesium$2[(_0x3135ed(0x397,0x436))]());}get[_0x4a554d(0x6f,0x1e3)](){function _0x4522dc(_0x195a1e,_0x574ab6){return _0x4a554d(_0x574ab6-0x30f,_0x195a1e);}return this[_0x4522dc(0x647,0x538)];}get['intersectEllipsoid'](){function _0x591558(_0xdd74f2,_0x360715){return _0x4c8020(_0x360715-0x175,_0xdd74f2);}return this[_0x591558(0x721,0x635)];}['_updateStyleHook'](_0x2ba0e0,_0x14037d){_0x2ba0e0=style2Primitive(_0x2ba0e0),this[_0x5c0a96(0x2f2,0x1c9)]=_0x2ba0e0[_0x5c0a96(0x1e2,0x133)]||_0x2ba0e0['angle']||0x5,this['_angle2']=_0x2ba0e0['angle2']||_0x2ba0e0['angle']||0x5;function _0x5c0a96(_0x748351,_0x125111){return _0x4a554d(_0x125111- -0xfd,_0x748351);}function _0x112295(_0x175b45,_0x1aa966){return _0x4c8020(_0x175b45-0x162,_0x1aa966);}this[_0x112295(0x47f,0x58f)]=_0x2ba0e0['length']??0x64,this[_0x5c0a96(0x226,0x12b)]=_0x2ba0e0[_0x5c0a96(-0x92,0x8c)]??new Cesium$2[(_0x5c0a96(0x4e,-0x95))](0x0,0x1,0x1,0.2),this['_outline']=_0x2ba0e0['outline']??![],this[_0x5c0a96(0x234,0x1b0)]=_0x2ba0e0['outlineColor']??new Cesium$2['Color'](0x1,0x1,0x1,0.4),this['_topShow']=_0x2ba0e0[_0x112295(0x546,0x65a)]??!![],this['_topOutlineShow']=_0x2ba0e0[_0x112295(0x3db,0x39f)]??this[_0x5c0a96(0x286,0x1b3)],this['_topSteps']=_0x2ba0e0[_0x5c0a96(-0xe9,0x83)]??0x8,this['pitch']=_0x2ba0e0['pitch']??0x0,this['heading']=_0x2ba0e0['heading']??0x0,this['roll']=_0x2ba0e0['roll']??0x0,this['updateGeometry']();}['_addedHook'](){if(!this['_show'])return;function _0x480796(_0x5e3598,_0x4671ed){return _0x4c8020(_0x5e3598- -0x257,_0x4671ed);}this['primitiveCollection'][_0x480796(0x27c,0x36a)](this),this['updateGeometry']();}[_0x4c8020(0x3bb,0x2b5)](){if(!this[_0x372c88(0x78,0x1a0)])return;this[_0x372c88(0xf6,0x1cc)][_0x372c88(0x21,-0x1c)](this)&&(this['_noDestroy']=!![],this[_0x2f8eef(0x42c,0x592)]['remove'](this),this['_noDestroy']=![]);function _0x2f8eef(_0x127d06,_0x52bf08){return _0x4c8020(_0x127d06- -0x9b,_0x52bf08);}function _0x372c88(_0x527617,_0x1e949b){return _0x4c8020(_0x1e949b- -0x2fb,_0x527617);}this['_clearDrawCommand']();}['update'](_0x420687){if(!this['getRealShow'](_0x420687[_0x49e451(-0xf,0x158)]))return;var _0x24ba0c={};function _0x49e451(_0x3d9f0d,_0x369746){return _0x4c8020(_0x3d9f0d- -0x3db,_0x369746);}_0x24ba0c[_0x49e451(-0xf,0x7c)]=_0x420687['time'],this['fire'](mars3d__namespace['EventType']['preUpdate'],_0x24ba0c);(this[_0x49e451(-0xbe,0xa0)]instanceof Cesium$2['CallbackProperty']||this['_angle1']instanceof Cesium$2['CallbackProperty']||this['_angle2']instanceof Cesium$2[_0x17ec0f(0x37,0x5e)])&&this['updateGeometry']();this[_0x17ec0f(-0x9c,-0x187)](_0x420687['time']);if(!this[_0x49e451(0x3d,-0xc2)])return;if(_0x420687[_0x49e451(-0x140,-0x131)]===Cesium$2[_0x49e451(-0x1e8,-0x2df)]['SCENE3D']){if(!Cesium$2[_0x49e451(0xb3,0x103)](this['_drawCommands'])||this[_0x17ec0f(-0x80,-0x30)][_0x17ec0f(0x80,0x1c8)]===0x0){this['_geometry']['boundingSphere']=Cesium$2['BoundingSphere']['fromVertices'](this['_geometry'][_0x49e451(-0x11a,-0x77)][_0x49e451(-0x1a6,-0x43)][_0x17ec0f(0x6a,-0x2f)]),this['_clearDrawCommand'](),this['_drawCommands']=[],this['_pickCommands']=[],this['_drawCommands']['push'](this[_0x17ec0f(-0x6,0x5c)](this['_geometry'],_0x420687));this[_0x17ec0f(0x1c4,0x26e)]&&this[_0x49e451(-0x1a4,-0x310)][_0x49e451(0x6c,-0xb2)](this[_0x49e451(-0x12a,-0x170)](this['_outlineGeometry'],_0x420687,!![]));if(this['_topShow']){const _0x55d2ab=this[_0x49e451(-0x12a,-0x210)](this['_topGeometry'],_0x420687);this[_0x17ec0f(-0x80,-0x8)]['push'](_0x55d2ab);if(this[_0x17ec0f(0x167,0x185)]){const _0x21739c=this[_0x17ec0f(-0x6,-0x1d)](this[_0x17ec0f(-0xaf,-0xe)],_0x420687,!![]);this[_0x49e451(-0x1a4,-0x2b0)][_0x17ec0f(0x190,0x27)](_0x21739c);}}}_0x420687[_0x49e451(-0xc2,0x99)][_0x49e451(-0xcf,-0x169)]?this['_drawCommands']&&_0x420687['commandList'][_0x49e451(0x6c,-0x9b)](...this['_drawCommands']):this[_0x17ec0f(-0x93,-0x14a)]&&_0x420687['commandList']['push'](...this['_pickCommands']);}var _0x3d1178={};function _0x17ec0f(_0x2fc859,_0x1486a5){return _0x4a554d(_0x2fc859- -0xec,_0x1486a5);}_0x3d1178[_0x17ec0f(0x115,0x7b)]=_0x420687['time'],this['fire'](mars3d__namespace['EventType']['postUpdate'],_0x3d1178);}['createDrawCommand'](_0x12b044,_0x170474,_0x3164fe){const _0x226c86=_0x170474['context'],_0x2b66c2=this['style']['translucent']??!![],_0x4ac11=this['style']['closed']??![],_0x4e094d=Cesium$2['Appearance']['getDefaultRenderState'](_0x2b66c2,_0x4ac11,this['options']['renderState']),_0x382b81=Cesium$2[_0x57fc07(-0xc4,-0x1b8)][_0x40bf46(-0x177,-0x30)](_0x4e094d),_0x2164bf=Cesium$2[_0x40bf46(-0x251,-0x1f8)]['createAttributeLocations'](_0x12b044);function _0x57fc07(_0x51c548,_0xf2328f){return _0x4a554d(_0x51c548- -0x302,_0xf2328f);}const _0x4bbb13=Cesium$2['ShaderProgram']['replaceCache']({'context':_0x226c86,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':this[_0x40bf46(-0x2c6,-0x15f)](SatelliteSensorFS),'attributeLocations':_0x2164bf}),_0x37aae0=Cesium$2['VertexArray']['fromGeometry']({'context':_0x226c86,'geometry':_0x12b044,'attributeLocations':_0x2164bf,'bufferUsage':Cesium$2['BufferUsage'][_0x57fc07(-0xe4,-0x19e)]}),_0x5e962d=new Cesium$2['Cartesian3']();Cesium$2['Matrix4']['multiplyByPoint'](this[_0x57fc07(-0x6e,-0x1e3)],_0x12b044[_0x40bf46(-0x130,0x25)]['center'],_0x5e962d);const _0x4a4b70=new Cesium$2['BoundingSphere'](_0x5e962d,_0x12b044[_0x40bf46(-0x130,-0x25c)]['radius']),_0x74bd28=new Cesium$2['DrawCommand']({'primitiveType':_0x12b044['primitiveType'],'shaderProgram':_0x4bbb13,'vertexArray':_0x37aae0,'modelMatrix':this['_matrix'],'renderState':_0x382b81,'boundingVolume':_0x4a4b70,'uniformMap':{'marsColor':_0x3164fe?()=>{return this['_outlineColor'];}:()=>{function _0x5d4bf8(_0x4f437d,_0x57ce35){return _0x57fc07(_0x57ce35-0x526,_0x4f437d);}return this[_0x5d4bf8(0x518,0x44c)];},'globalAlpha':()=>{return this['style']['globalAlpha'];}},'castShadows':![],'receiveShadows':![],'pass':Cesium$2[_0x40bf46(-0x241,-0x380)]['TRANSLUCENT'],'owner':this,'pickOnly':!![],'pickCommand':new Cesium$2['DrawCommand']({'owner':this,'pickOnly':!![]})});function _0x40bf46(_0x15de90,_0xdcea1b){return _0x4c8020(_0x15de90- -0x537,_0xdcea1b);}this[_0x57fc07(-0x54,-0x9c)](_0x74bd28),_0x74bd28[_0x40bf46(-0x2d7,-0x3d5)]=_0x226c86['createPickId']({'primitive':_0x74bd28,'id':this['id']});if(!_0x3164fe){var _0x25f539={};_0x25f539[_0x40bf46(-0x26f,-0x177)]=_0x74bd28,_0x25f539[_0x57fc07(-0xc2,0xa2)]=_0x12b044['primitiveType'],_0x25f539['pickOnly']=!![];const _0x4a365c=new Cesium$2[(_0x40bf46(-0x107,-0x1c0))](_0x25f539);_0x4a365c['vertexArray']=_0x37aae0,_0x4a365c[_0x40bf46(-0x1eb,-0x2cf)]=_0x382b81;const _0x593653=Cesium$2['ShaderProgram']['fromCache']({'context':_0x226c86,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':Cesium$2[_0x40bf46(-0x188,-0x171)][_0x40bf46(-0x331,-0x2a5)](SatelliteSensorFS,'uniform'),'attributeLocations':_0x2164bf});_0x4a365c[_0x57fc07(-0x1e9,-0x1f5)]=_0x593653,_0x4a365c[_0x40bf46(-0x2a9,-0x26c)]=_0x74bd28[_0x57fc07(-0x23f,-0xfe)],_0x4a365c[_0x57fc07(-0x23f,-0x2ab)][_0x57fc07(-0x29,0x83)]=()=>{function _0x12fc3b(_0x5c587f,_0x463d36){return _0x40bf46(_0x463d36-0x325,_0x5c587f);}return _0x74bd28[_0x12fc3b(0x9d,0x4e)]['color'];},_0x4a365c['pass']=Cesium$2[_0x57fc07(-0x1d7,-0x134)]['TRANSLUCENT'],_0x4a365c['boundingVolume']=_0x4a4b70,_0x4a365c['modelMatrix']=this['_matrix'],this[_0x40bf46(-0x313,-0x231)][_0x57fc07(-0x86,-0xf5)](_0x4a365c);}return _0x74bd28;}[_0x4a554d(0x206,0x307)](){this['_drawCommands']&&this['_drawCommands'][_0x346d58(0x362,0x3cc)]>0x0&&(this['_drawCommands']['forEach'](function(_0x3c56f6){_0x3c56f6[_0x55f239(0x18d,0x198)]&&_0x3c56f6['vertexArray'][_0x47679f(0x6e4,0x5d6)]();function _0x55f239(_0xcd1eaa,_0x182c7f){return _0x346d58(_0x182c7f,_0xcd1eaa- -0x3a6);}function _0x47679f(_0x1ea7fb,_0x116795){return _0x346d58(_0x116795,_0x1ea7fb-0x183);}_0x3c56f6['shaderProgram']&&_0x3c56f6['shaderProgram']['destroy']();}),delete this['_drawCommands']);function _0x4bb2e7(_0xdcd11e,_0x4dac0a){return _0x4c8020(_0x4dac0a- -0x543,_0xdcd11e);}function _0x346d58(_0xa84afb,_0x3402a8){return _0x4a554d(_0x3402a8-0x260,_0xa84afb);}this[_0x346d58(0x410,0x2b9)]&&this['_pickCommands']['length']>0x0&&(this['_pickCommands']['forEach'](function(_0x26c4b6){_0x26c4b6['vertexArray']&&_0x26c4b6[_0x252f91(0x5e1,0x636)][_0x252f91(0x67c,0x664)]();function _0x1a0f07(_0x4edf0d,_0x222599){return _0x4bb2e7(_0x222599,_0x4edf0d-0x15c);}function _0x252f91(_0x28223a,_0x37fe70){return _0x346d58(_0x28223a,_0x37fe70-0x103);}_0x26c4b6['shaderProgram']&&_0x26c4b6['shaderProgram'][_0x1a0f07(0xe5,0xf4)]();}),delete this[_0x4bb2e7(-0x25f,-0x31f)]);}[_0x4c8020(0x21b,0xde)](_0x33fb27,_0xed9dd8){this[_0x2dd3ac(0x407,0x430)]=mars3d__namespace['PointUtil']['getPositionValue'](this['position'],_0x33fb27);if(!this[_0x2dd3ac(0x407,0x343)])return this['_matrix']=new Cesium$2['Matrix4'](),this[_0x207b71(0x1bb,0x23f)];if(this['lookAt']){const _0x1994f6=this[_0x2dd3ac(0x407,0x510)],_0x4c6cb7=mars3d__namespace[_0x207b71(0x4e,0x8a)][_0x2dd3ac(0x2ad,0x284)](this['lookAt'],_0x33fb27);if(Cesium$2['defined'](_0x4c6cb7)){!Cesium$2[_0x2dd3ac(0x47d,0x489)](this['style']['length'])&&(this[_0x207b71(0x97,0x117)]=Cesium$2['Cartesian3'][_0x2dd3ac(0x2f3,0x1c5)](_0x1994f6,_0x4c6cb7));const _0x588a4f=mars3d__namespace['PointUtil'][_0x2dd3ac(0x3a0,0x4da)](_0x1994f6,_0x4c6cb7,!this['reverse']);!(this['_pitchRadians']instanceof Cesium$2['CallbackProperty'])&&(this[_0x207b71(0x22,0x110)]=_0x588a4f[_0x207b71(0x1f0,0x245)]),!(this[_0x207b71(0x2d,0x195)]instanceof Cesium$2['CallbackProperty'])&&(this[_0x2dd3ac(0x3a4,0x267)]=_0x588a4f['roll']),!(this['_headingRadians']instanceof Cesium$2['CallbackProperty'])&&(this[_0x207b71(0x3d4,0x2ba)]=_0x588a4f[_0x2dd3ac(0x2cf,0x3fe)]);}}function _0x2dd3ac(_0xf3aab,_0x435382){return _0x4a554d(_0xf3aab-0x1ba,_0x435382);}if(this[_0x207b71(0x3f,0x7e)]['rayEllipsoid']){const _0x415e27=this[_0x2dd3ac(0x30d,0x274)]();this['_intersectEllipsoid']=_0x415e27>0x0;if(this[_0x2dd3ac(0x4af,0x4b9)]){if(this['style'][_0x207b71(0x158,0x9)])return this[_0x207b71(0x3a5,0x23f)]=new Cesium$2[(_0x207b71(0x269,0x13e))](),this[_0x207b71(0x270,0x23f)];this[_0x2dd3ac(0x326,0x32e)]=_0x415e27;}}this['_modelMatrix']=this['_fixedFrameTransform'](this['_positionCartesian'],this[_0x207b71(0x1a6,0xee)],this['_modelMatrix']),this[_0x2dd3ac(0x412,0x385)]=Cesium$2['Quaternion'][_0x207b71(0x15d,0x63)](new Cesium$2['HeadingPitchRoll'](this['headingRadians'],this['pitchRadians'],this[_0x2dd3ac(0x466,0x464)]),this['_quaternion']);function _0x207b71(_0x5cc0fe,_0x2b1904){return _0x4c8020(_0x2b1904- -0x220,_0x5cc0fe);}return this[_0x207b71(0xec,0x23f)]=Cesium$2['Matrix4'][_0x207b71(0x128,0x1e6)](this[_0x207b71(0x11b,0xe8)],this['_quaternion'],this[_0x207b71(0x122,0xa9)],this['_matrix']),Cesium$2[_0x2dd3ac(0x34d,0x23e)][_0x207b71(0x17a,0x19e)](this[_0x2dd3ac(0x347,0x4a8)],this['_matrix'],this['_matrix']),this['_matrix'];}['updateGeometry'](){const _0x78a7e3=RectGeometry['fromAnglesLength'](this['angle1'],this['angle2'],this['length'],!![],this['style'][_0x3bf02e(0xb5,-0x81)]??0x1);this['fourPir']=_0x78a7e3,this[_0x3bf02e(-0x120,-0x1b2)]=this['prepareVAO']();function _0x3bf02e(_0x4ba843,_0x38aaef){return _0x4c8020(_0x38aaef- -0x40d,_0x4ba843);}this[_0x3bf02e(-0x1d4,-0xcc)]=this[_0x5145f0(-0x3c,-0x7c)](this[_0x3bf02e(-0x283,-0x1b2)]['fourPindices'],this['vao']['fourPposition'],this['vao']['topPsts'],Cesium$2[_0x5145f0(0x7e,0xd6)][_0x5145f0(-0x52,0xae)],this[_0x5145f0(0x10c,-0x12)]);function _0x5145f0(_0x1107a3,_0x49c002){return _0x4c8020(_0x1107a3- -0x2e7,_0x49c002);}this['_topGeometry']=this['createGeometry'](this['vao']['topPindices'],this['vao'][_0x5145f0(0xd8,-0x73)],this['vao']['topPsts'],Cesium$2[_0x5145f0(0x7e,0x60)][_0x5145f0(-0x52,-0xb0)],this['_color']),this[_0x3bf02e(-0x1a0,-0x205)]=this['createGeometry'](this['vao']['topOindices'],this['vao'][_0x3bf02e(0x92,-0x4e)],this['vao'][_0x5145f0(0xfe,0xc2)],Cesium$2['PrimitiveType']['LINES'],this['_outlineColor']),this['_outlineGeometry']=this['createGeometry'](this[_0x5145f0(-0x8c,-0xe1)]['fourOindices'],this['vao'][_0x3bf02e(-0x7,-0x15b)],this['vao']['topPsts'],Cesium$2['PrimitiveType']['LINES'],this['_outlineColor']),this[_0x5145f0(0x187,0x185)]=new Float32Array(this[_0x3bf02e(-0x1f4,-0xcc)][_0x3bf02e(-0x5a,-0x14c)][_0x3bf02e(-0x101,-0x1d8)][_0x5145f0(0x3a,0x16)][_0x3bf02e(-0x114,-0xd6)]);for(let _0x2913a6=0x0;_0x2913a6_0x31941c)return _0x31941c=_0x2c3673,_0x31941c;}function _0x1a8278(_0xa62b15,_0x2b8637){return _0x4c8020(_0x2b8637- -0x303,_0xa62b15);}const _0x480aa2=this['getRayEarthPositions']();function _0x56b26b(_0x4ebe46,_0x542b21){return _0x4a554d(_0x542b21- -0x12a,_0x4ebe46);}return _0x480aa2['forEach']((_0x361eb5,_0x599894)=>{if(_0x361eb5==null)return;const _0x1b7239=Cesium$2[_0x3a6994(0x4af,0x357)]['distance'](this['_positionCartesian'],_0x361eb5);function _0x3a6994(_0x4d9b71,_0x592230){return _0x56b26b(_0x4d9b71,_0x592230-0x260);}_0x1b7239>_0x31941c&&(_0x31941c=_0x1b7239);}),_0x31941c;}[_0x4a554d(0xc8,0x3b)](){const _0x458920=this['_positionCartesian'];function _0x2c277e(_0x2ca094,_0x416862){return _0x4c8020(_0x2ca094- -0x110,_0x416862);}const _0x3c8c4f=Cesium$2['Math']['toRadians'](this['pitch']+this['angle2']),_0x2a24b8=Cesium$2[_0x5b0e45(0x490,0x57f)]['toRadians'](this['pitch']-this['angle2']),_0x203e70=Cesium$2['Math']['toRadians'](this['roll']+this['angle1']),_0x38bbb1=Cesium$2['Math'][_0x5b0e45(0x279,0x23a)](this['roll']-this['angle1']),_0x4fa5dc=mars3d__namespace[_0x5b0e45(0x30f,0x301)][_0x2c277e(0x26b,0x304)](_0x458920,new Cesium$2['HeadingPitchRoll'](this[_0x5b0e45(0x338,0x468)],_0x3c8c4f,_0x203e70),this[_0x2c277e(0x2e4,0x3f8)]);function _0x5b0e45(_0x27c9b1,_0x1bf9d4){return _0x4c8020(_0x27c9b1-0x65,_0x1bf9d4);}const _0x4c8d36=mars3d__namespace['PointUtil'][_0x2c277e(0x26b,0x3c3)](_0x458920,new Cesium$2[(_0x2c277e(0x270,0x27c))](this[_0x2c277e(0x1c3,0xb2)],_0x3c8c4f,_0x38bbb1),this['_reverse']),_0x161c4a=mars3d__namespace['PointUtil']['getRayEarthPosition'](_0x458920,new Cesium$2[(_0x5b0e45(0x3e5,0x3ba))](this['headingRadians'],_0x2a24b8,_0x38bbb1),this['_reverse']),_0x1026e4=mars3d__namespace[_0x2c277e(0x19a,0x264)]['getRayEarthPosition'](_0x458920,new Cesium$2['HeadingPitchRoll'](this[_0x5b0e45(0x338,0x33e)],_0x2a24b8,_0x203e70),this['_reverse']);return[_0x4fa5dc,_0x4c8d36,_0x161c4a,_0x1026e4];}['_getDrawEntityClass'](_0x1a8eb5,_0x45cdef){return _0x1a8eb5['drawShow']=![],mars3d__namespace['GraphicUtil']['create']('point',_0x1a8eb5);}[_0x4c8020(0x3f2,0x3f5)](_0x1cf56b){}}mars3d__namespace[_0x4a554d(0x184,0x204)][_0x4a554d(0x244,0x1e4)]=RectSensor,mars3d__namespace['GraphicUtil'][_0x4c8020(0x218,0x314)]('rectSensor',RectSensor,!![]);var _0x304f90={};_0x304f90[_0x4a554d(0x1f1,0x31a)]=0x0,_0x304f90[_0x4c8020(0x3d6,0x308)]=0x1;const SensorType=_0x304f90,Cesium$1=mars3d__namespace['Cesium'];function _0x4c8020(_0x3e6e46,_0x4854db){return _0x239d(_0x3e6e46-0x17e,_0x4854db);}const BasePointPrimitive=mars3d__namespace['graphic'][_0x4c8020(0x1ff,0x339)];var _0x1510d1={};_0x1510d1['None']=0x0,_0x1510d1[_0x4c8020(0x4be,0x540)]=0x1,_0x1510d1['Part']=0x2;const RayEllipsoidType=_0x1510d1;class SatelliteSensor extends BasePointPrimitive{constructor(_0x9e71e={}){super(_0x9e71e),this['_modelMatrix']=Cesium$1['Matrix4']['clone'](Cesium$1['Matrix4']['IDENTITY']),this[_0x70f939(0x313,0x479)]=new Cesium$1['Quaternion'](),this[_0x70f939(0x2db,0x35e)]=new Cesium$1['Cartesian3'](),this['_scale']=new Cesium$1['Cartesian3'](0x1,0x1,0x1),this[_0x70f939(0x5e5,0x4b5)]=new Cesium$1[(_0x322701(0x308,0x320))](),this['_outlinePositions']=[],this['_depthTestChange']=![],this['style']['globalAlpha']=0x1,this[_0x70f939(0x39f,0x2f4)]['flat']=this['style'][_0x70f939(0x1bb,0x320)]??!![];const _0xfe01ef=style2Primitive(this['style']);this['_sensorType']=_0xfe01ef['sensorType']??SensorType['Rect'],this['_angle1']=_0xfe01ef['angle1']||_0xfe01ef[_0x322701(0x3a2,0x470)]||0x5,this[_0x322701(0x1e2,0x8e)]=_0xfe01ef[_0x322701(0x343,0x370)]||_0xfe01ef[_0x322701(0x3a2,0x49e)]||0x5;function _0x322701(_0x6fc2f0,_0x16b84a){return _0x4a554d(_0x6fc2f0-0x175,_0x16b84a);}this['_length']=_0xfe01ef['length']??0x0,this[_0x322701(0x2fe,0x295)]=_0xfe01ef['color']??'rgba(255,255,0,0.4)',this['_outline']=_0xfe01ef[_0x322701(0x2dc,0x1c6)]??![],this['outlineColor']=_0xfe01ef[_0x70f939(0x2fa,0x39a)]??_0x322701(0x475,0x56e),this[_0x322701(0x3dd,0x4e2)]=_0xfe01ef['groundPolyColor'];function _0x70f939(_0x574e53,_0x462bec){return _0x4c8020(_0x462bec-0x56,_0x574e53);}this['_groundOutLineColor']=_0xfe01ef['groundOutLineColor'],this[_0x322701(0x447,0x4ad)]=_0xfe01ef[_0x70f939(0x3b5,0x2a5)]??![],this[_0x322701(0x40f,0x30a)]=_0xfe01ef[_0x322701(0x40f,0x45c)]??0x0,this['heading']=_0xfe01ef['heading']??0x0,this['roll']=_0xfe01ef[_0x70f939(0x3fe,0x44b)]??0x0,this[_0x70f939(0x330,0x44a)]=this[_0x322701(0x32d,0x3b2)]['reverse']??!![],this['_trackPositions']=[],this['_trackGeometries']=[];}get['sensorType'](){return this['_sensorType'];}set['sensorType'](_0x32e92f){if(!Cesium$1['defined'](_0x32e92f))return;this['_sensorType']=_0x32e92f;function _0x5ae5c1(_0x29c4fb,_0x424cd5){return _0x4a554d(_0x29c4fb- -0x381,_0x424cd5);}this[_0x5ae5c1(-0x35d,-0x2b2)]();}get[_0x4a554d(0x189,0x65)](){return this['_color'];}set[_0x4c8020(0x354,0x2d4)](_0x5d2986){if(!Cesium$1['defined'](_0x5d2986))return;function _0x374a81(_0x3b49e3,_0xa7deae){return _0x4a554d(_0xa7deae- -0x354,_0x3b49e3);}this['_color']=mars3d__namespace[_0x374a81(-0x88,-0x16c)]['getCesiumColor'](_0x5d2986);}get['outlineColor'](){return this['_outlineColor'];}set['outlineColor'](_0x28fb1b){function _0x586072(_0x3c77a3,_0x574af1){return _0x4a554d(_0x3c77a3- -0x282,_0x574af1);}this['_outlineColor']=mars3d__namespace['Util'][_0x586072(-0xa9,-0x217)](_0x28fb1b);}get[_0x4c8020(0x3f8,0x53e)](){function _0x4a0bc8(_0xbf2558,_0x19d02b){return _0x4c8020(_0x19d02b- -0x4da,_0xbf2558);}return this[_0x4a0bc8(-0x146,-0x49)];}set[_0x4c8020(0x3f8,0x37d)](_0x529c6a){this['_angle1']=_0x529c6a;function _0x6447eb(_0x4c9977,_0xce0cff){return _0x4a554d(_0x4c9977- -0x21,_0xce0cff);}function _0xcf5322(_0x3cfe83,_0x4a9696){return _0x4a554d(_0x3cfe83-0x2b4,_0x4a9696);}this[_0x6447eb(0x4c,0x14e)]=_0x529c6a,this[_0x6447eb(0x3,0xf)]();}get[_0x4a554d(0x230,0x120)](){return this['_angle1'];}set['angle1'](_0x44abd7){function _0x484017(_0x20ff53,_0x26cc55){return _0x4a554d(_0x20ff53-0x1e6,_0x26cc55);}function _0x24270d(_0x5e353b,_0x4a0f56){return _0x4a554d(_0x5e353b- -0x343,_0x4a0f56);}this['_angle1']=Number(_0x44abd7),this['style'][_0x484017(0x416,0x575)]=this[_0x24270d(-0x7d,-0x124)],this[_0x24270d(-0x31f,-0x35b)]();}get[_0x4a554d(0x1ce,0x1eb)](){function _0x9bcefb(_0x8839e9,_0x1ee6cc){return _0x4a554d(_0x8839e9-0x3a,_0x1ee6cc);}return this[_0x9bcefb(0xa7,0x23)];}set[_0x4c8020(0x399,0x3fa)](_0x463c7e){function _0x5ad48c(_0x3d31a3,_0x53155e){return _0x4a554d(_0x3d31a3-0x120,_0x53155e);}this[_0x2ce874(-0x2e5,-0x3d9)]=Number(_0x463c7e);function _0x2ce874(_0x1d8359,_0x584cd9){return _0x4c8020(_0x1d8359- -0x51d,_0x584cd9);}this['style']['angle2']=this['_angle2'],this[_0x2ce874(-0x32e,-0x1ed)]();}get[_0x4a554d(0x115,0xb2)](){return Cesium$1['Math']['toDegrees'](this['_headingRadians']);}set['heading'](_0x25ad15){function _0x4cf3e9(_0x209a74,_0x255c48){return _0x4c8020(_0x209a74- -0xdb,_0x255c48);}this['_headingRadians']=Cesium$1[_0x4cf3e9(0x350,0x202)]['toRadians'](_0x25ad15);}get['pitch'](){function _0x133523(_0x5ee10e,_0x3cc1da){return _0x4a554d(_0x3cc1da- -0x2cc,_0x5ee10e);}return Cesium$1[_0x133523(0x46,-0x6c)]['toDegrees'](this['_pitchRadians']);}set[_0x4a554d(0x29a,0x3e2)](_0x1f3061){function _0x5e5d3d(_0x4b63a7,_0x23c021){return _0x4c8020(_0x4b63a7-0x1eb,_0x23c021);}function _0x42a82a(_0x30c193,_0x47d792){return _0x4c8020(_0x30c193- -0x419,_0x47d792);}this['_pitchRadians']=Cesium$1[_0x42a82a(0x12,-0xe0)][_0x5e5d3d(0x3ff,0x323)](_0x1f3061);}get[_0x4a554d(0x22a,0x2e3)](){return Cesium$1['Math']['toDegrees'](this['_rollRadians']);}set[_0x4a554d(0x22a,0x1cb)](_0x18efbb){function _0x3acced(_0x5d5c53,_0x4697d9){return _0x4a554d(_0x4697d9- -0xa7,_0x5d5c53);}function _0x20989e(_0x2402a3,_0x48eb1d){return _0x4a554d(_0x48eb1d-0x10b,_0x2402a3);}this['_rollRadians']=Cesium$1[_0x20989e(0x450,0x36b)][_0x3acced(0x71,-0x5e)](_0x18efbb);}get['outline'](){function _0x2d648e(_0x4772e2,_0x5cf0ca){return _0x4a554d(_0x4772e2- -0x1bf,_0x5cf0ca);}return this[_0x2d648e(0xf1,0x227)];}set['outline'](_0x41b773){this['_outline']=_0x41b773;}get[_0x4a554d(0xa4,0x1e8)](){function _0x5d58a0(_0x52f481,_0x285f19){return _0x4c8020(_0x285f19- -0x405,_0x52f481);}return this[_0x5d58a0(0x86,-0x82)]['lookAt'];}set[_0x4a554d(0xa4,0x218)](_0x27fd26){this['options']['lookAt']=_0x27fd26;}get[_0x4c8020(0x2de,0x3b5)](){function _0x1ddefd(_0x485c31,_0x4bf4ce){return _0x4a554d(_0x485c31-0x36b,_0x4bf4ce);}return this[_0x1ddefd(0x5ff,0x5e6)];}get[_0x4c8020(0x28a,0x32d)](){function _0x4e5b9f(_0x3ba486,_0x1babe8){return _0x4a554d(_0x3ba486- -0x25,_0x1babe8);}return mars3d__namespace['PointUtil']['getRayEarthPositionByMatrix'](this[_0x4e5b9f(0x26f,0x3de)],this['_reverse']);}get['rayEllipsoid'](){return this['_rayEllipsoid'];}set['rayEllipsoid'](_0x3edd55){this['_rayEllipsoid']=_0x3edd55;}get['intersectEllipsoid'](){return this['_rayEllipsoidType'];}get[_0x4c8020(0x38b,0x252)](){function _0x4773e6(_0x3bd03e,_0x349c7a){return _0x4c8020(_0x349c7a-0x25b,_0x3bd03e);}return this[_0x4773e6(0x550,0x578)]+0x61529c;}[_0x4c8020(0x3ba,0x34e)](){this['updateGeometry']();}['updateModelMatrix'](){function _0x5ee6be(_0x542b68,_0x525913){return _0x4c8020(_0x542b68- -0x2d9,_0x525913);}function _0x250a84(_0x202149,_0x1904b6){return _0x4a554d(_0x202149-0x26c,_0x1904b6);}this[_0x5ee6be(-0xea,-0x114)](),super[_0x250a84(0x501,0x4df)]();}['_addedHook'](){function _0x45f8e1(_0x42f4cc,_0x74ce1f){return _0x4c8020(_0x74ce1f- -0x3fa,_0x42f4cc);}function _0x21d7c6(_0x4574dd,_0x40df53){return _0x4c8020(_0x40df53- -0x152,_0x4574dd);}if(!this[_0x45f8e1(-0x165,-0xcb)])return;this['primitiveCollection']['add'](this),this['_groundPolyEntity']?this[_0x45f8e1(0x1da,0xa1)][_0x45f8e1(0xd7,0xdf)]['add'](this['_groundPolyEntity']):this[_0x21d7c6(0x12e,0x1c5)](this['_groundArea']||this['_groundOutLine']);}[_0x4a554d(0x1f0,0x358)](){if(!this['_map'])return;function _0x3ef659(_0xb89c77,_0x23d6c6){return _0x4c8020(_0xb89c77- -0x7c,_0x23d6c6);}this['_groundPolyEntity']&&this[_0x3ef659(0x41f,0x545)][_0x16fade(0x6e2,0x660)][_0x16fade(0x4bb,0x54a)](this['_groundPolyEntity']);function _0x16fade(_0x33becc,_0x1dcf7c){return _0x4a554d(_0x1dcf7c-0x352,_0x33becc);}this['primitiveCollection'][_0x3ef659(0x263,0x1db)](this)&&(this['_noDestroy']=!![],this[_0x3ef659(0x44b,0x479)]['remove'](this),this['_noDestroy']=![]),this['_clearGeometry'](),this['_clearDrawCommand']();}[_0x4a554d(0xed,0x19d)](_0x3c368b){if(!this['getRealShow'](_0x3c368b['time']))return;this['computeMatrix'](_0x3c368b['time']);if(!this[_0x3a7657(0x2db,0x248)])return;function _0x3a7657(_0x222766,_0x576cea){return _0x4a554d(_0x576cea- -0x5,_0x222766);}!this[_0x3a7657(0x165,0x171)]&&this['updateGeometry']();const _0x77d1be=!this['_matrix_last']||!this[_0x3a7657(0x2a3,0x28f)][_0x2692a6(0xbc,0xdb)](this['_matrix_last'])||this[_0x2692a6(0x2d,0x146)]!==this[_0x3a7657(-0x145,0x31)]||this[_0x3a7657(0xac,0x4f)]!==this['_angle1']||this['_angle2_last']!==this['_angle2']||this['_length_last']!==this[_0x2692a6(0x148,-0x2c)]||this['_sceneMode_last']!==_0x3c368b['mode'];function _0x2692a6(_0xe35fe6,_0x4b3370){return _0x4c8020(_0x4b3370- -0x349,_0xe35fe6);}_0x77d1be&&(this['_matrix_last']=this[_0x3a7657(0x196,0x28f)][_0x2692a6(-0xd,0xca)](),this['_sensorType_last']=this[_0x3a7657(0x7d,0x31)],this['_angle1_last']=this[_0x3a7657(0x338,0x2c1)],this['_angle2_last']=this['_angle2'],this[_0x3a7657(0x73,0x60)]=this[_0x3a7657(0x1e0,0x14d)],this[_0x3a7657(0x295,0x1c6)]=_0x3c368b[_0x2692a6(0xe,-0xae)]),_0x3c368b[_0x3a7657(0x107,0xcb)]===Cesium$1[_0x2692a6(-0x1ae,-0x156)]['SCENE3D']?(_0x77d1be&&(this['_clearDrawCommand'](),this[_0x2692a6(-0xae,-0x112)]=[],this[_0x2692a6(-0x31,-0x125)]=[]),(!Cesium$1['defined'](this[_0x3a7657(-0x2d,0x67)])||this['_drawCommands']['length']===0x0)&&(this['_outlinePositions']=this['extend2CartesianArray'](this[_0x2692a6(0x161,0x13f)]),this['_rayEllipsoid']&&this['_rayEllipsoidType']===RayEllipsoidType['Part']?this['_imagingAreaPositions']=mars3d__namespace['PointUtil']['setPositionsHeight'](this['_outlinePositions'],0x0):this['_imagingAreaPositions']=Cesium$1['clone'](this['_outlinePositions']),this['updateVolumeGeometry'](),this['_volumeGeometry']&&(this['_drawCommands']['push'](this['createDrawCommand'](this['_volumeGeometry'],_0x3c368b)),this['_outline']&&this['_drawCommands']['push'](this['createDrawCommand'](this[_0x3a7657(0xb5,0x135)],_0x3c368b,!![])))),_0x3c368b['passes'][_0x3a7657(0x266,0x13c)]?this['_drawCommands']&&_0x3c368b[_0x3a7657(0x3b2,0x25c)][_0x3a7657(0x13d,0x277)](...this['_drawCommands']):this['_pickCommands']&&_0x3c368b[_0x2692a6(0x23e,0xe3)][_0x3a7657(0x120,0x277)](...this['_pickCommands']),this['_groundPolyEntity']&&(this['_groundPolyEntity']['show']=Boolean(this[_0x3a7657(-0xc1,0x4e)]&&this['_show']))):(_0x77d1be&&(this[_0x3a7657(0x152,0xd6)]=this[_0x3a7657(0x19e,0x9b)]()),this[_0x2692a6(-0x1b1,-0xa3)]&&this[_0x2692a6(0x38,-0xa3)][_0x2692a6(0x6f,-0x12)]>0x0?(!this[_0x2692a6(0x108,-0x4d)]&&this[_0x3a7657(0x148,0x147)](!![]),this[_0x2692a6(0x11a,-0x4d)]['show']!==!![]&&(this['_groundPolyEntity']['show']=!![])):this[_0x2692a6(-0x17a,-0x4d)]&&this['_groundPolyEntity']['show']!==![]&&(this['_groundPolyEntity']['show']=![]));}[_0x4c8020(0x21b,0x26c)](_0x458be8,_0x41c783){function _0x331690(_0x344657,_0x3fae93){return _0x4a554d(_0x3fae93- -0x2e7,_0x344657);}this['property']&&(this['_position']=this['property'][_0x3d525f(-0x95,-0x84)](_0x458be8));this['_positionCartesian']=mars3d__namespace[_0x3d525f(-0x241,-0x2ab)][_0x3d525f(-0x304,-0x297)](this['position'],_0x458be8);if(!this[_0x331690(0xbe,-0x9a)])return this[_0x3d525f(-0x232,-0xf6)]=new Cesium$1['Matrix4'](),this[_0x331690(-0x2a,-0x53)];if(this['options']['orientation']){const _0x565cc3=mars3d__namespace['Util'][_0x331690(-0x141,-0x1e0)](this['options']['orientation'],Cesium$1[_0x331690(-0x3ef,-0x2b6)],_0x458be8);if(this[_0x331690(-0xf4,-0x9a)]&&_0x565cc3){const _0x2201fd=mars3d__namespace[_0x3d525f(-0x2fe,-0x2ab)]['getHeadingPitchRollByOrientation'](this['_positionCartesian'],_0x565cc3,this['ellipsoid'],this['fixedFrameTransform']);!Cesium$1['defined'](this[_0x331690(-0x22e,-0x214)]['heading'])&&(this['_headingRadians']=_0x2201fd['heading']),!Cesium$1[_0x331690(-0x147,-0x24)](this[_0x331690(-0x164,-0x214)]['roll'])&&(this[_0x331690(-0x249,-0xfd)]=_0x2201fd[_0x3d525f(-0x1a2,-0x160)]),!Cesium$1['defined'](this[_0x3d525f(-0x3f2,-0x2b7)]['pitch'])&&(this[_0x331690(-0x161,-0x182)]=_0x2201fd['pitch']);}}function _0x3d525f(_0x1970da,_0x18c3fd){return _0x4c8020(_0x18c3fd- -0x555,_0x1970da);}if(this[_0x331690(-0x117,-0x243)]){const _0xef6ed7=this['_positionCartesian'],_0x180946=mars3d__namespace['PointUtil'][_0x331690(-0x335,-0x1f4)](this[_0x331690(-0x1da,-0x243)],_0x458be8);if(Cesium$1[_0x3d525f(0xac,-0xc7)](_0x180946)){const _0x14f7bb=mars3d__namespace[_0x331690(-0x32f,-0x208)][_0x331690(-0x1af,-0x101)](_0xef6ed7,_0x180946);this['_pitchRadians']=_0x14f7bb[_0x331690(0x107,-0x4d)],this[_0x3d525f(-0x43,-0x1a0)]=_0x14f7bb['roll'],!(this['_headingRadians']instanceof Cesium$1['CallbackProperty'])&&(this[_0x331690(-0xee,0x28)]=_0x14f7bb['heading']);}}return this['_modelMatrix']=this[_0x3d525f(-0xe2,-0xa3)](this['_positionCartesian'],this['ellipsoid'],this[_0x331690(-0x2be,-0x15a)]),this[_0x331690(-0x11d,-0x8f)]=Cesium$1[_0x3d525f(-0x37c,-0x359)][_0x331690(-0x1b4,-0x22f)](new Cesium$1[(_0x3d525f(-0x1cb,-0x1d5))](this[_0x3d525f(-0x4f,-0x7b)],this['_pitchRadians'],this[_0x331690(-0x269,-0xfd)]),this['_quaternion']),this[_0x331690(-0x142,-0x53)]=Cesium$1['Matrix4'][_0x331690(0x9b,-0xac)](this['_translation'],this['_quaternion'],this['_scale'],this['_matrix']),Cesium$1['Matrix4'][_0x3d525f(-0xee,-0x197)](this[_0x331690(-0x28c,-0x15a)],this[_0x331690(-0x155,-0x53)],this['_matrix']),this['_matrix'];}[_0x4c8020(0x1ef,0x1f3)](){this['_clearGeometry']();const _0x2ba380=this[_0x2b2c4c(0x38b,0x3ad)]?this[_0x16b0c3(0x1b7,0x284)]:-this[_0x2b2c4c(0x322,0x334)];if(this['_sensorType']===SensorType['Conic']){const _0x4c2fd5=this['style']['slicesC']??this['style'][_0x16b0c3(0x38b,0x285)],_0x4c9bbc=this['style'][_0x16b0c3(0x301,0x350)];this[_0x16b0c3(0x368,0x23a)]=ConicGeometry['createGeometry'](ConicGeometry['fromAngleAndLength'](this['_angle1'],_0x2ba380,!![],_0x4c2fd5,_0x4c9bbc),this['_matrix'],this),this[_0x16b0c3(0x27b,0x1af)]=ConicGeometry[_0x16b0c3(0x338,0x3af)](ConicGeometry['fromAngleAndLength'](this['_angle1'],_0x2ba380,!![],_0x4c2fd5,_0x4c9bbc));}else{const _0x52a8ac=this[_0x16b0c3(0x7f,0x197)]['slices'];this[_0x16b0c3(0x1e7,0x23a)]=RectGeometry[_0x16b0c3(0x303,0x1a4)](RectGeometry['fromAnglesLength'](this[_0x16b0c3(0x4d7,0x38a)],this['_angle2'],_0x2ba380,!![],_0x52a8ac),this['_matrix'],this),this[_0x2b2c4c(0x24d,0x215)]=RectGeometry['createOutlineGeometry'](RectGeometry[_0x2b2c4c(0x280,0x3b0)](this[_0x2b2c4c(0x428,0x3b9)],this['_angle2'],_0x2ba380,!![],0x1));}this['_positions']=new Float32Array(this['_geometry'][_0x2b2c4c(0x258,0x102)]['position']['values']['length']);function _0x16b0c3(_0x50f78b,_0x5e3440){return _0x4a554d(_0x5e3440-0xc4,_0x50f78b);}for(let _0x3de81d=0x0;_0x3de81d{return this['_outlineColor'];}:()=>{return this['_color'];},_0x7fbd37[_0x1fdaca(0x368,0x209)]=()=>{function _0x96de12(_0xfe3f6e,_0x3f35d0){return _0x1fdaca(_0x3f35d0- -0x308,_0xfe3f6e);}function _0xe5ae4c(_0x158bab,_0x3c70b8){return _0x1fdaca(_0x3c70b8-0x11d,_0x158bab);}return this[_0xe5ae4c(0x4dc,0x4e1)][_0x96de12(0xcf,0x60)];};const _0x2de9c1=new Cesium$1[(_0x3d0390(0x3dc,0x3e8))]({'primitiveType':_0x19503f['primitiveType'],'shaderProgram':_0x33b5d1,'vertexArray':_0x5a4cdb,'modelMatrix':Cesium$1['Matrix4']['IDENTITY'],'renderState':_0x342f0d,'boundingVolume':_0x3b9788,'uniformMap':_0x7fbd37,'castShadows':![],'receiveShadows':![],'pass':Cesium$1['Pass']['TRANSLUCENT'],'cull':!![],'owner':this,'pickOnly':!![],'pickCommand':new Cesium$1['DrawCommand']({'owner':this,'pickOnly':!![]})});this['bindPickId'](_0x2de9c1),_0x2de9c1['pickId']=_0x115055['createPickId']({'primitive':_0x2de9c1,'id':this['id']});if(!_0x53064a){var _0x1299e3={};_0x1299e3['owner']=_0x2de9c1,_0x1299e3['primitiveType']=_0x19503f['primitiveType'],_0x1299e3['pickOnly']=!![];const _0x1c9b4c=new Cesium$1['DrawCommand'](_0x1299e3);_0x1c9b4c['vertexArray']=_0x5a4cdb,_0x1c9b4c[_0x3d0390(0x2f8,0x420)]=_0x342f0d;const _0x1e055d=Cesium$1['ShaderProgram'][_0x1fdaca(0x4e6,0x4c7)]({'context':_0x115055,'vertexShaderSource':SatelliteSensorVS,'fragmentShaderSource':Cesium$1['ShaderSource']['createPickFragmentShaderSource'](SatelliteSensorFS,'uniform'),'attributeLocations':_0x33e37e});_0x1c9b4c[_0x1fdaca(0x40a,0x573)]=_0x1e055d,_0x1c9b4c['uniformMap']=_0x2de9c1['uniformMap'],_0x1c9b4c['uniformMap']['czm_pickColor']=()=>{function _0x2e8cc6(_0x504fcb,_0x4a5282){return _0x1fdaca(_0x4a5282- -0x5a,_0x504fcb);}return _0x2de9c1[_0x2e8cc6(0x423,0x32c)]['color'];},_0x1c9b4c[_0x3d0390(0x2c0,0x251)]=Cesium$1[_0x3d0390(0x2a2,0x297)][_0x1fdaca(0x3e3,0x4c7)],_0x1c9b4c['boundingVolume']=_0x3b9788,_0x1c9b4c['modelMatrix']=this['_matrix'],this[_0x3d0390(0x1d0,0x19f)]['push'](_0x1c9b4c);}return _0x2de9c1;}['_clearDrawCommand'](){this['_drawCommands']&&this[_0x17a76a(0xdc,0x9)][_0x17a76a(-0x1a,0x109)]>0x0&&(this['_drawCommands']['forEach'](function(_0x599367){function _0x291f8d(_0x9eac80,_0x513ca1){return _0x17a76a(_0x9eac80,_0x513ca1-0x47d);}function _0x2f461a(_0x1c1945,_0x52b8b3){return _0x17a76a(_0x52b8b3,_0x1c1945-0x1bd);}_0x599367['vertexArray']&&_0x599367[_0x2f461a(0x42d,0x2f2)]['destroy'](),_0x599367['shaderProgram']&&_0x599367[_0x291f8d(0x533,0x533)]['destroy']();}),delete this[_0x17a76a(0x1c,0x9)]);function _0x17a76a(_0x116954,_0xf64138){return _0x4a554d(_0xf64138- -0x63,_0x116954);}function _0x44a6e9(_0x16b8ec,_0x5445dc){return _0x4c8020(_0x5445dc- -0x22,_0x16b8ec);}this['_pickCommands']&&this[_0x44a6e9(0x107,0x202)]['length']>0x0&&(this['_pickCommands']['forEach'](function(_0x44ec9a){_0x44ec9a['vertexArray']&&_0x44ec9a['vertexArray'][_0x4fef8e(0x549,0x5b5)]();function _0x4fef8e(_0x753126,_0x30450c){return _0x44a6e9(_0x30450c,_0x753126-0x9f);}function _0x16af56(_0x52509b,_0x9799dd){return _0x44a6e9(_0x52509b,_0x9799dd- -0x4e4);}_0x44ec9a['shaderProgram']&&_0x44ec9a[_0x16af56(-0x37a,-0x222)]['destroy']();}),delete this['_pickCommands']);}['setOpacity'](_0x1c3a88){function _0x3493d2(_0x519346,_0x2bbbfa){return _0x4c8020(_0x519346- -0x1c5,_0x2bbbfa);}this[_0x3493d2(0xd9,0x22f)]['globalAlpha']=_0x1c3a88;}[_0x4a554d(0xa0,0x121)](_0x3663cd={}){if(this['_rayEllipsoidType']===RayEllipsoidType[_0x403853(0x464,0x551)])return null;function _0x73db06(_0x559b9a,_0x1f60b8){return _0x4a554d(_0x559b9a-0x173,_0x1f60b8);}let _0x3c5493=this['_outlinePositions'];!this['_rayEllipsoid']&&(this['_rayEllipsoid']=!![],_0x3c5493=this['extend2CartesianArray'](),this['_rayEllipsoid']=![]);function _0x403853(_0x2ac221,_0x2e72a3){return _0x4c8020(_0x2ac221-0x1aa,_0x2e72a3);}if(_0x3663cd['convex']??!![]){let _0x3b919b;this[_0x403853(0x461,0x560)]===RayEllipsoidType['Part']&&(_0x3b919b=_0x3663cd['concavity']??0x64);let _0x2f2dfd=mars3d__namespace['LngLatArray'][_0x73db06(0x199,0x14e)](_0x3c5493);var _0x372066={};_0x372066[_0x73db06(0x20e,0x31c)]=_0x3b919b,_0x2f2dfd=mars3d__namespace['PolyUtil'][_0x403853(0x4cd,0x5a7)](_0x2f2dfd,_0x372066),_0x3c5493=mars3d__namespace['PointTrans'][_0x73db06(0x2bb,0x403)](_0x2f2dfd);}return _0x3c5493;}['extend2CartesianArray'](_0x2bebcb=[]){const _0x3699c7=new Cesium$1['Matrix4']();function _0x2a834c(_0x3a6467,_0x516bbb){return _0x4c8020(_0x516bbb- -0x170,_0x3a6467);}const _0x402329=new Cesium$1['Cartesian3'](),_0x505fcd=new Cesium$1['Cartesian3'](),_0x101247=new Cesium$1[(_0x2a834c(0x149,0x1cf))]();Cesium$1[_0x2a834c(0x11f,0x1ee)]['inverse'](this[_0x2a834c(0x3dc,0x2ef)],_0x3699c7),Cesium$1['Matrix4'][_0x29e7bc(0x678,0x6b6)](this['_matrix'],Cesium$1['Cartesian3']['ZERO'],_0x505fcd),_0x505fcd['clone'](_0x101247['origin']);let _0x1630a1=0x0;function _0x29e7bc(_0x2ad151,_0x179506){return _0x4a554d(_0x179506-0x411,_0x2ad151);}const _0x7188c7=this['_positions']['length'];for(let _0x3fcd65=0x3;_0x3fcd65<_0x7188c7;_0x3fcd65+=0x3){Cesium$1[_0x2a834c(0x19e,0x27c)][_0x2a834c(0x1a4,0x1f7)](this['_positions'],_0x3fcd65,_0x402329),Cesium$1['Matrix4']['multiplyByPoint'](this[_0x2a834c(0x371,0x2ef)],_0x402329,_0x505fcd),Cesium$1[_0x29e7bc(0x702,0x632)]['subtract'](_0x505fcd,_0x101247['origin'],_0x101247['direction']),Cesium$1['Cartesian3']['normalize'](_0x101247[_0x29e7bc(0x701,0x6b2)],_0x101247[_0x29e7bc(0x6c5,0x6b2)]);const _0x430825=Cesium$1['IntersectionTests']['rayEllipsoid'](_0x101247,this[_0x2a834c(0x92,0x19e)]);let _0x1bc4bd=null;if(this['_length']){const _0x88adbf=Math['max'](this['angle1']||0x0,this['angle2']||0x0),_0x2a5a1b=this['_length']/Math[_0x2a834c(0x33b,0x22c)](Cesium$1['Math']['toRadians'](_0x88adbf));_0x1bc4bd=Cesium$1[_0x2a834c(0x230,0x1cf)]['getPoint'](_0x101247,_0x2a5a1b);}else{if(_0x430825)this[_0x2a834c(0x24e,0x147)]=RayEllipsoidType['All'],_0x1bc4bd=Cesium$1[_0x2a834c(0xac,0x1cf)]['getPoint'](_0x101247,_0x430825[_0x29e7bc(0x5d6,0x60f)]);else return this['_rayEllipsoidType']=RayEllipsoidType['None'],this[_0x29e7bc(0x78e,0x6ee)](_0x2bebcb);}if(_0x1bc4bd)_0x1bc4bd['clone'](_0x505fcd);else continue;_0x2bebcb[_0x1630a1]=_0x505fcd['clone'](_0x2bebcb[_0x1630a1]);const _0x3c3146=this['_geometry'][_0x29e7bc(0x663,0x507)]['position']['values'];_0x3c3146&&_0x3c3146 instanceof Float32Array&&(Cesium$1['Matrix4']['multiplyByPoint'](_0x3699c7,_0x505fcd,_0x505fcd),_0x3c3146[_0x3fcd65]=_0x505fcd['x'],_0x3c3146[_0x3fcd65+0x1]=_0x505fcd['y'],_0x3c3146[_0x3fcd65+0x2]=_0x505fcd['z']),_0x1630a1++;}return _0x2bebcb;}['extend2CartesianArrayZC'](_0x183b1e=[]){const _0x1b3e16=new Cesium$1['Matrix4'](),_0xcb687=new Cesium$1[(_0xff678c(0x4ae,0x395))](),_0x3fe0a3=new Cesium$1['Cartesian3'](),_0x119b59=new Cesium$1['Ray']();Cesium$1[_0x58ae88(0x1f8,0x21c)]['inverse'](this['_matrix'],_0x1b3e16),Cesium$1['Matrix4']['multiplyByPoint'](this['_matrix'],Cesium$1['Cartesian3'][_0x58ae88(0x2c8,0x15f)],_0x3fe0a3),_0x3fe0a3[_0xff678c(0x4d5,0x561)](_0x119b59['origin']);let _0x2a265e=0x0;function _0x58ae88(_0x423089,_0x2ee00d){return _0x4c8020(_0x2ee00d- -0x142,_0x423089);}function _0xff678c(_0x185302,_0xf0bb4d){return _0x4a554d(_0x185302-0x28d,_0xf0bb4d);}const _0x6b583e=this['_positions']['length'];for(let _0x3cf8c7=0x3;_0x3cf8c7<_0x6b583e;_0x3cf8c7+=0x3){Cesium$1['Cartesian3']['unpack'](this['_positions'],_0x3cf8c7,_0xcb687),Cesium$1[_0xff678c(0x420,0x4a5)]['multiplyByPoint'](this['_matrix'],_0xcb687,_0x3fe0a3),Cesium$1[_0x58ae88(0x1ba,0x2aa)]['subtract'](_0x3fe0a3,_0x119b59[_0x58ae88(0x475,0x330)],_0x119b59['direction']),Cesium$1['Cartesian3']['normalize'](_0x119b59[_0x58ae88(0x30e,0x32a)],_0x119b59[_0xff678c(0x52e,0x48a)]);const _0x8fe95=Cesium$1['IntersectionTests']['rayEllipsoid'](_0x119b59,this['ellipsoid']);_0x8fe95&&(this[_0x58ae88(0x84,0x175)]=RayEllipsoidType[_0xff678c(0x2cb,0x267)]);let _0x445b47=null;this['_rayEllipsoid']&&_0x8fe95&&(_0x445b47=Cesium$1['Ray']['getPoint'](_0x119b59,_0x8fe95[_0xff678c(0x48b,0x425)]));if(!_0x445b47){const _0x11e676=Cesium$1['Cartographic']['fromCartesian'](_0x119b59[_0xff678c(0x534,0x453)])['height'],_0x25ef65=_0x11e676+0x61529c;_0x445b47=Cesium$1['Ray'][_0xff678c(0x41d,0x4dc)](_0x119b59,_0x25ef65);}if(_0x445b47)_0x445b47['clone'](_0x3fe0a3);else continue;_0x183b1e[_0x2a265e]=_0x3fe0a3[_0xff678c(0x4d5,0x3b5)](_0x183b1e[_0x2a265e]);const _0x4e6dad=this[_0xff678c(0x403,0x444)][_0x58ae88(0x246,0x17f)][_0xff678c(0x2f7,0x319)][_0x58ae88(0x281,0x1df)];_0x4e6dad&&_0x4e6dad instanceof Float32Array&&(Cesium$1[_0xff678c(0x420,0x32f)]['multiplyByPoint'](_0x1b3e16,_0x3fe0a3,_0x3fe0a3),_0x4e6dad[0x3+_0x3cf8c7*0x3]=_0x3fe0a3['x'],_0x4e6dad[0x3+_0x3cf8c7*0x3+0x1]=_0x3fe0a3['y'],_0x4e6dad[0x3+_0x3cf8c7*0x3+0x2]=_0x3fe0a3['z']),_0x2a265e++;}return _0x183b1e;}['_addGroundPolyEntity'](_0x2d9134){function _0x491498(_0x3486e6,_0x3750fc){return _0x4a554d(_0x3750fc- -0x173,_0x3486e6);}if(!_0x2d9134||this['_groundPolyEntity'])return;function _0x5c216a(_0x3cb7c1,_0x53be91){return _0x4a554d(_0x53be91-0x1a7,_0x3cb7c1);}const _0x1e1f07=new Cesium$1[(_0x491498(-0x92,0xbb))]();this['_groundPolyEntity']=this[_0x5c216a(0x313,0x477)][_0x5c216a(0x623,0x4b5)][_0x5c216a(0x490,0x4af)]({'show':Boolean(this['_groundArea']),'polygon':{'arcType':Cesium$1['ArcType']['GEODESIC'],'material':this['_groundPolyColor']||this['_color'],'hierarchy':new Cesium$1['CallbackProperty'](_0x5412e3=>{const _0x5ac24b=this[_0x455093(0x441,0x4a2)]||this['_imagingAreaPositions'];function _0x455093(_0x45e2b8,_0x5dcb7d){return _0x5c216a(_0x45e2b8,_0x5dcb7d-0xbe);}return _0x5ac24b!==_0x1e1f07['positions']&&(_0x1e1f07['positions']=_0x5ac24b),_0x1e1f07;},![])}});}[_0x4a554d(0x8a,0x163)](_0x519815,_0x1ac5c7){_0x519815['drawShow']=![];function _0x2fc0bc(_0x10841a,_0x58c07a){return _0x4a554d(_0x58c07a-0x3e3,_0x10841a);}return mars3d__namespace[_0x2fc0bc(0x3f6,0x53c)]['create']('point',_0x519815);}}mars3d__namespace[_0x4a554d(0x184,0x274)]['SatelliteSensor']=SatelliteSensor,mars3d__namespace['GraphicUtil']['register']('satelliteSensor',SatelliteSensor),SatelliteSensor['Type']=SensorType;const Cesium=mars3d__namespace[_0x4c8020(0x3ef,0x435)],Route=mars3d__namespace[_0x4a554d(0x184,0xfb)]['Route'];function _0x239d(_0x5c6805,_0xa6cca3){var _0x594f31=_0x594f();return _0x239d=function(_0x239d38,_0x8a44c8){_0x239d38=_0x239d38-0x70;var _0xcaf09f=_0x594f31[_0x239d38];return _0xcaf09f;},_0x239d(_0x5c6805,_0xa6cca3);}class Satellite extends Route{constructor(_0xb03d48={}){function _0x16474e(_0x5dd26c,_0x44ee3e){return _0x4a554d(_0x5dd26c- -0x321,_0x44ee3e);}function _0x528fb4(_0x16c08,_0x17adb6){return _0x4a554d(_0x16c08-0x3bc,_0x17adb6);}_0xb03d48['referenceFrame']=_0xb03d48[_0x16474e(-0x221,-0x21c)]??Cesium[_0x16474e(-0x166,-0x1af)]['INERTIAL'],super(_0xb03d48);if(this['options']['tle1']&&this['options']['tle2']){this['_tle']=new Tle(this['options']['tle1'],this['options']['tle2'],this['options']['name']);if(!Cesium['defined'](this[_0x528fb4(0x574,0x5e6)]['period'])){this[_0x528fb4(0x574,0x6b7)]['period']=this['_tle'][_0x528fb4(0x657,0x757)];if(!Cesium['defined'](this['options'][_0x16474e(-0x86,-0x16a)]))throw new Error(_0x16474e(-0x3e,-0xb3));}this[_0x16474e(-0x11f,-0x268)]=this[_0x528fb4(0x574,0x56e)]['period']*0x3c*0x3e8,this['_pointsNum']=this[_0x16474e(-0x169,-0xbb)]['pointsNum']??0x3c;}}get['tle'](){function _0x39f477(_0x1a9bf2,_0x358f07){return _0x4c8020(_0x1a9bf2-0x1a3,_0x358f07);}return this[_0x39f477(0x3de,0x281)];}get[_0x4a554d(0x1d7,0x31b)](){function _0x2851c6(_0x1c02e0,_0x5e7d73){return _0x4a554d(_0x1c02e0- -0x349,_0x5e7d73);}function _0x35f897(_0x268537,_0x23e83c){return _0x4c8020(_0x268537- -0x2f4,_0x23e83c);}return{'start':new Date(this[_0x35f897(-0x93,-0x7d)])['format'](_0x2851c6(-0x2af,-0x3d2)),'end':new Date(this['_time_path_end'])['format']('yyyy-MM-dd\x20HH:mm:ss')};}get['cone'](){function _0x2933e0(_0x2aead6,_0x10e1b7){return _0x4a554d(_0x10e1b7-0x432,_0x2aead6);}var _0x4e755c;return((_0x4e755c=this['_child'])===null||_0x4e755c===void 0x0?void 0x0:_0x4e755c[_0x2933e0(0x59d,0x6c2)])||this['_coneList'];}set[_0x4a554d(0x290,0x275)](_0x4d51be){this['options']['cone']=_0x4d51be,this['_updateCone']();}get['angle1'](){return this['cone']['angle1'];}set[_0x4a554d(0x230,0x137)](_0x30ce2f){function _0x2c3832(_0xeeea69,_0x522e9f){return _0x4c8020(_0xeeea69-0xb6,_0x522e9f);}function _0x29f315(_0x2b4efe,_0x3b9095){return _0x4a554d(_0x3b9095-0x2df,_0x2b4efe);}this['options'][_0x29f315(0x500,0x56f)]&&(this['options']['cone'][_0x2c3832(0x4b1,0x4e0)]=_0x30ce2f),this['cone'][_0x2c3832(0x4b1,0x4e1)]=_0x30ce2f;}get[_0x4c8020(0x399,0x267)](){function _0x2277de(_0x675c3c,_0x12bd5a){return _0x4a554d(_0x12bd5a- -0x2c7,_0x675c3c);}function _0x469f22(_0x685563,_0x2f7468){return _0x4c8020(_0x2f7468-0x181,_0x685563);}return this[_0x2277de(-0x8a,-0x37)][_0x469f22(0x59e,0x51a)];}set['angle2'](_0x1ebfac){function _0x2f21b3(_0x308625,_0x386447){return _0x4c8020(_0x386447-0xe1,_0x308625);}this['options'][_0x2f21b3(0x571,0x53c)]&&(this['options'][_0x5ee2ce(0x64b,0x627)]['angle2']=_0x1ebfac);function _0x5ee2ce(_0x144af7,_0x11b78d){return _0x4c8020(_0x11b78d-0x1cc,_0x144af7);}this[_0x2f21b3(0x47d,0x53c)]['angle2']=_0x1ebfac;}get[_0x4c8020(0x1f2,0x126)](){var _0x5eb3f1;function _0x48f7c8(_0x530300,_0x3c39ca){return _0x4a554d(_0x530300- -0x314,_0x3c39ca);}return(_0x5eb3f1=this[_0x48f7c8(-0x15c,-0x80)]['cone'])===null||_0x5eb3f1===void 0x0?void 0x0:_0x5eb3f1['show'];}set['coneShow'](_0x1a2320){function _0x37f125(_0x406dc3,_0xa91434){return _0x4c8020(_0xa91434- -0x49a,_0x406dc3);}this[_0x37f125(-0x240,-0x117)]['cone']['show']=_0x1a2320;function _0x5c197d(_0x318576,_0x561a78){return _0x4a554d(_0x318576-0x166,_0x561a78);}this[_0x5c197d(0x3c0,0x4ab)]();}get['lookAt'](){return this['_lookAt'];}set['lookAt'](_0x1ca870){function _0x2a0350(_0x2fb0b8,_0x24b73b){return _0x4c8020(_0x2fb0b8- -0x281,_0x24b73b);}var _0x5193b5;function _0x58de11(_0x342c32,_0x30b3da){return _0x4a554d(_0x342c32-0x26,_0x30b3da);}this['_lookAt']=_0x1ca870,this['_coneList']&&this['_coneList']['forEach'](function(_0x1bb713,_0xe5033e,_0xaa1bc6){_0x1bb713['lookAt']=_0x1ca870;}),(_0x5193b5=this[_0x2a0350(0xb,0x2d)])!==null&&_0x5193b5!==void 0x0&&_0x5193b5[_0x2a0350(0x1da,0x1b5)]&&(this['_child'][_0x2a0350(0x1da,0xa7)][_0x58de11(0xca,0x21a)]=_0x1ca870);}['_mountedHook'](){super['_mountedHook']();function _0x20b884(_0xab84e0,_0x3fadcd){return _0x4a554d(_0xab84e0- -0x206,_0x3fadcd);}this[_0x20b884(0x54,-0x24)]();}['_addedHook'](_0x18cbef){function _0x4831e5(_0x27c128,_0x55508d){return _0x4a554d(_0x55508d- -0x2d1,_0x27c128);}function _0x2b0e68(_0x59511a,_0x1c5c02){return _0x4c8020(_0x59511a- -0x4f3,_0x1c5c02);}var _0x5035bb;if(!this['show'])return;this['_addChildGraphic']();(_0x5035bb=this['model'])!==null&&_0x5035bb!==void 0x0&&_0x5035bb['readyPromise']&&this['model'][_0x2b0e68(-0x2e5,-0x347)]['then'](()=>{function _0x253b7d(_0x34bfe5,_0x36a253){return _0x2b0e68(_0x34bfe5-0x68f,_0x36a253);}this[_0x253b7d(0x5eb,0x51e)]['resolve'](this);});this[_0x2b0e68(-0x13d,-0x55)]();if(this[_0x2b0e68(-0x170,-0x190)]['position']){var _0x362133;if(((_0x362133=this['property'])===null||_0x362133===void 0x0||(_0x362133=_0x362133[_0x4831e5(-0x301,-0x20f)])===null||_0x362133===void 0x0||(_0x362133=_0x362133[_0x2b0e68(-0x230,-0x37a)])===null||_0x362133===void 0x0?void 0x0:_0x362133['length'])>0x0){const _0x307658=this['property'][_0x4831e5(-0x246,-0x20f)]['_times'];this[_0x4831e5(-0x162,-0x23b)]=Cesium['JulianDate']['toDate'](_0x307658[0x0])[_0x2b0e68(-0x297,-0x15e)](),this[_0x4831e5(-0x1a8,-0xce)]=Cesium[_0x4831e5(-0x1e8,-0xa6)][_0x4831e5(-0x5b,0x1c)](_0x307658[_0x307658[_0x4831e5(-0x28b,-0x165)]-0x1])['getTime']();}}else this[_0x2b0e68(-0xf3,-0x33)]=Cesium['JulianDate']['toDate'](this['_map']['clock'][_0x2b0e68(-0x2fa,-0x32d)])['getTime'](),this[_0x2b0e68(-0x15b,-0x216)]();}[_0x4a554d(0x226,0x292)](){super['_removeChildGraphic'](),this['_removeCone']();}[_0x4c8020(0x4ad,0x3ae)](_0x301808,_0x4542c7){function _0x2e650a(_0x5b6dcf,_0x5172e2){return _0x4c8020(_0x5b6dcf-0x73,_0x5172e2);}function _0xa4053c(_0x24865b,_0x3b5e8b){return _0x4c8020(_0x24865b-0x235,_0x3b5e8b);}for(const _0x3d7353 in _0x4542c7){switch(_0x3d7353){case'tle1':case'tle2':{if(this['options'][_0x2e650a(0x3f8,0x4ca)]&&this['options'][_0xa4053c(0x429,0x328)]){this['_tle']=new Tle(this[_0x2e650a(0x3f6,0x459)][_0x2e650a(0x3f8,0x38a)],this[_0xa4053c(0x5b8,0x65c)]['tle2'],this['options']['name']);if(!Cesium['defined'](this[_0x2e650a(0x3f6,0x2dd)][_0xa4053c(0x69b,0x523)])){this[_0xa4053c(0x5b8,0x598)][_0xa4053c(0x69b,0x69c)]=this[_0x2e650a(0x2ae,0x191)]['period'];if(!Cesium['defined'](this['options']['period']))throw new Error('Satellite:\x20period\x20is\x20null');}this[_0xa4053c(0x602,0x631)]=this['options'][_0x2e650a(0x4d9,0x5ac)]*0x3c*0x3e8,this['_time_current']=Cesium[_0xa4053c(0x62b,0x774)][_0x2e650a(0x52b,0x5a6)](this[_0xa4053c(0x6d0,0x658)]['clock'][_0xa4053c(0x42e,0x38e)])[_0xa4053c(0x491,0x571)](),this['calculateOrbitPoints']();}break;}case _0xa4053c(0x690,0x597):this[_0x2e650a(0x498,0x41e)]();break;default:super['_setOptionsHook'](_0x301808,_0x4542c7);break;}}}['_updatePosition'](){var _0x40ebcf;function _0x52fe0b(_0x33097e,_0xc354f){return _0x4c8020(_0xc354f-0x148,_0x33097e);}super[_0x4e1aed(-0x8f,0xe0)]();function _0x4e1aed(_0x1fee25,_0x5a995b){return _0x4a554d(_0x1fee25- -0x1fd,_0x5a995b);}!this[_0x4e1aed(-0x70,-0x17c)]&&(this[_0x4e1aed(-0x70,-0xc)]=this['_getModelMatrix'](this['_position'],this['_orientation_show'])),this['_coneList']&&this['_coneList'][_0x4e1aed(0x28,-0x99)]((_0x479a62,_0x475ef8,_0x97f7c2)=>{const _0x2c096d=_0x479a62[_0x3f2958(0x84,0x69)]['pitchOffset'],_0x2ec4d3=this['calculate_cam_sight'](this['_heading_reality'],this[_0x231056(0x280,0x271)],this['_roll_reality'],_0x2c096d);_0x479a62['_headingRadians']=_0x2ec4d3['yaw'],_0x479a62[_0x3f2958(0x4c,0x14f)]=_0x2ec4d3['pitch'];function _0x3f2958(_0x2c75a2,_0x1eb8bf){return _0x4e1aed(_0x2c75a2-0xe4,_0x1eb8bf);}function _0x231056(_0x2c1f0a,_0x437ce9){return _0x52fe0b(_0x437ce9,_0x2c1f0a- -0x39e);}_0x479a62[_0x231056(0x15f,0xf7)]=_0x2ec4d3['roll'];}),(_0x40ebcf=this['_child'])!==null&&_0x40ebcf!==void 0x0&&_0x40ebcf[_0x4e1aed(0x93,-0x9c)]&&(this[_0x4e1aed(-0x13c,-0x15f)]['cone']['_headingRadians']=this['_heading_reality'],this[_0x4e1aed(-0x13c,-0x290)][_0x4e1aed(0x93,0xb4)]['_pitchRadians']=this['_pitch_reality'],this['_child'][_0x52fe0b(0x5ad,0x5a3)][_0x52fe0b(0x4af,0x4fd)]=this['_roll_reality']),this['_time_current']=Cesium[_0x4e1aed(0x2e,-0x18)][_0x52fe0b(0x669,0x600)](this['_map']['clock'][_0x4e1aed(-0x1cf,-0x272)])[_0x52fe0b(0x35c,0x3a4)](),!this[_0x52fe0b(0x599,0x4cb)]['position']&&this['isNeedRecalculate']()&&this[_0x4e1aed(-0x30,0x145)]();}['isNeedRecalculate'](){function _0x4c13c4(_0x385eea,_0x306cf1){return _0x4c8020(_0x306cf1- -0x480,_0x385eea);}if(this['_time_path_start']==null||this['_time_path_end']==null)return!![];const _0x1a04ef=this['_time_path_start']+this[_0x4c13c4(0x2,-0xb3)]/0x4,_0x1bb248=this['_time_path_end']-this[_0x4c13c4(-0x1b7,-0xb3)]/0x4;function _0x39b6da(_0x1badd9,_0x1897fa){return _0x4a554d(_0x1897fa- -0x34c,_0x1badd9);}return this['_time_current']>_0x1a04ef&&this['_time_current']<_0x1bb248?![]:!![];}[_0x4c8020(0x398,0x2e4)](){var _0x11bddc;this[_0x7ada71(0x462,0x532)]();let _0x2006f3=Math['floor'](this['period_time']/this[_0x1f425e(-0x203,-0x162)]);_0x2006f3<0x3e8&&(_0x2006f3=0x3e8);const _0x2069a6=this['_time_current']-this[_0x1f425e(0x8c,-0xb)]/0x2;let _0x2d1666,_0x482764;function _0x7ada71(_0x219eac,_0x5b5dbe){return _0x4c8020(_0x219eac-0x35,_0x5b5dbe);}const _0x37a637=this['options'][_0x1f425e(-0x1fb,-0x10d)]===Cesium[_0x7ada71(0x3bb,0x33c)]['FIXED'];for(let _0x35bc53=0x0;_0x35bc53<=this[_0x1f425e(-0x20,-0x162)];_0x35bc53++){_0x2d1666=_0x2069a6+_0x35bc53*_0x2006f3;const _0x19519c=Cesium[_0x7ada71(0x42b,0x32e)]['fromDate'](new Date(_0x2d1666)),_0x17889c=this['_tle']['getPosition'](_0x19519c,_0x37a637);if(!_0x17889c)continue;this['property']['addSample'](_0x19519c,_0x17889c),!_0x482764&&(_0x482764=_0x17889c);}(_0x11bddc=this['options']['path'])!==null&&_0x11bddc!==void 0x0&&_0x11bddc['closure']&&!_0x37a637&&this['property']['addSample'](Cesium['JulianDate']['fromDate'](new Date(_0x2d1666)),_0x482764);var _0x4816b2={};function _0x1f425e(_0x1ccee9,_0x2e9f14){return _0x4c8020(_0x2e9f14- -0x3d8,_0x1ccee9);}_0x4816b2['interpolationDegree']=0x2,_0x4816b2[_0x7ada71(0x3d8,0x45e)]=Cesium['LagrangePolynomialApproximation'],this['property'][_0x7ada71(0x49e,0x373)](_0x4816b2),this['_time_path_start']=this['_time_current']-this['period_time']/0x2,this[_0x1f425e(-0x17e,-0xa)]=this['_time_current']+this['period_time']/0x2,this['_child'][_0x1f425e(-0x12c,-0xb9)]&&(this[_0x7ada71(0x2c1,0x19a)]['path']['availability']=new Cesium[(_0x1f425e(-0xd1,-0x6a))]([new Cesium[(_0x7ada71(0x4a0,0x362))]({'start':Cesium[_0x1f425e(0x5a,0x1e)]['fromDate'](new Date(this[_0x1f425e(-0x2cf,-0x177)])),'stop':Cesium[_0x1f425e(-0x11b,0x1e)][_0x7ada71(0x25b,0x1e8)](new Date(this[_0x1f425e(0xd6,-0xa)]))})]));}[_0x4a554d(0x2b2,0x38a)](_0x178b79,_0x323805,_0x43f69a,_0xd626ef){const _0x3a9185=[Math['cos'](_0xd626ef),0x0,Math[_0x11a1da(0x418,0x2f3)](_0xd626ef),0x0,0x1,0x0,0x0-Math['sin'](_0xd626ef),0x0,Math['cos'](_0xd626ef)],_0x21161d=_0x3a9185[0x0],_0xf38217=_0x3a9185[0x1],_0x51c063=_0x3a9185[0x2],_0x41ce7b=_0x3a9185[0x3],_0x2a816a=_0x3a9185[0x4],_0x3180ae=_0x3a9185[0x5],_0x8738c=_0x3a9185[0x6],_0x5bce1c=_0x3a9185[0x7],_0x5bcac4=_0x3a9185[0x8],_0x2f4de7=Math['cos'](_0x323805)*Math[_0x3d2bae(-0x208,-0x13d)](_0x178b79),_0x3ff734=0x0-Math[_0x3d2bae(-0x2d,-0x13d)](_0x323805)*Math[_0x3d2bae(-0x205,-0x18c)](_0x178b79),_0x5d364f=Math['sin'](_0x323805),_0x383030=Math[_0x3d2bae(-0x285,-0x18c)](_0x43f69a)*Math['cos'](_0x323805)*Math['cos'](_0x178b79)+Math[_0x11a1da(0x467,0x5b7)](_0x43f69a)*Math['sin'](_0x178b79),_0x477b76=0x0-Math['sin'](_0x43f69a)*Math['sin'](_0x323805)*Math['sin'](_0x178b79)+Math[_0x11a1da(0x467,0x3d7)](_0x43f69a)*Math['cos'](_0x178b79),_0x45b48e=0x0-Math['sin'](_0x43f69a)*Math[_0x3d2bae(-0x1b0,-0x13d)](_0x323805),_0x5ee9af=0x0-Math[_0x11a1da(0x467,0x3d9)](_0x43f69a)*Math[_0x3d2bae(-0x12d,-0x18c)](_0x323805)*Math['cos'](_0x178b79)+Math[_0x3d2bae(-0x1b0,-0x18c)](_0x43f69a)*Math['sin'](_0x178b79),_0x5db1b7=Math['cos'](_0x43f69a)*Math['sin'](_0x323805)*Math[_0x11a1da(0x418,0x3eb)](_0x178b79)+Math[_0x11a1da(0x418,0x3f5)](_0x43f69a)*Math[_0x3d2bae(0x1a,-0x13d)](_0x178b79),_0x32e3b2=Math['cos'](_0x43f69a)*Math['cos'](_0x323805),_0x4ac5d6=_0x21161d*_0x2f4de7+_0xf38217*_0x383030+_0x51c063*_0x5ee9af,_0x2ec704=_0x21161d*_0x3ff734+_0xf38217*_0x477b76+_0x51c063*_0x5db1b7,_0x187200=_0x21161d*_0x5d364f+_0xf38217*_0x45b48e+_0x51c063*_0x32e3b2,_0x28ede7=_0x41ce7b*_0x5d364f+_0x2a816a*_0x45b48e+_0x3180ae*_0x32e3b2,_0x252e1d=_0x8738c*_0x5d364f+_0x5bce1c*_0x45b48e+_0x5bcac4*_0x32e3b2,_0x12e36f=Math['atan2'](0x0-_0x28ede7,_0x252e1d);function _0x11a1da(_0x36cc82,_0x4bfd96){return _0x4c8020(_0x36cc82-0xcb,_0x4bfd96);}const _0x4d9055=Math['atan2'](_0x187200,Math['sqrt'](_0x4ac5d6*_0x4ac5d6+_0x2ec704*_0x2ec704)),_0x1707a6=Math[_0x11a1da(0x3d8,0x485)](0x0-_0x2ec704,_0x4ac5d6);function _0x3d2bae(_0x45e683,_0x1e63fd){return _0x4a554d(_0x1e63fd- -0x30e,_0x45e683);}var _0x226cf1={};return _0x226cf1['roll']=_0x12e36f,_0x226cf1['pitch']=_0x4d9055,_0x226cf1['yaw']=_0x1707a6,_0x226cf1;}['_updateCone'](){const _0x2eebbd=this['options'][_0x2cf04d(0x430,0x408)];function _0x4d0ccc(_0x400680,_0x568055){return _0x4c8020(_0x568055- -0x493,_0x400680);}function _0x2cf04d(_0x3876a9,_0x22635d){return _0x4a554d(_0x22635d-0x178,_0x3876a9);}_0x2eebbd&&(_0x2eebbd['show']??!![])?_0x2eebbd['list']&&_0x2eebbd[_0x4d0ccc(-0x20b,-0xab)]['length']>0x0?this['_showListCone'](_0x2eebbd):this['_showOneCone'](_0x2eebbd):this['_removeCone']();}['_removeCone'](){function _0xa6a449(_0x3ad7f0,_0x4c32e1){return _0x4a554d(_0x3ad7f0-0x372,_0x4c32e1);}var _0x14da02;this[_0xa6a449(0x3ee,0x29d)]&&(this['_coneList']['forEach']((_0x11d6cd,_0x5afa11,_0x263441)=>{function _0x2043d8(_0x5db912,_0x22a82e){return _0xa6a449(_0x5db912- -0x38f,_0x22a82e);}function _0x3e56a7(_0x32b1cc,_0x54503a){return _0xa6a449(_0x32b1cc- -0x5f6,_0x54503a);}this[_0x2043d8(0x7c,-0x66)][_0x2043d8(0x2cf,0x435)](_0x11d6cd,!![]);}),this[_0x19df3a(0x3f2,0x4a0)]['clear']());function _0x19df3a(_0x46e5d2,_0xdec95d){return _0x4a554d(_0x46e5d2-0x376,_0xdec95d);}(_0x14da02=this[_0x19df3a(0x437,0x45d)])!==null&&_0x14da02!==void 0x0&&_0x14da02[_0x19df3a(0x606,0x51f)]&&(this['_layer']['removeGraphic'](this['_child']['cone'],!![]),delete this['_child'][_0xa6a449(0x602,0x76c)]);}['_showListCone'](_0x585ca5){function _0xcbf683(_0x50b947,_0x44267c){return _0x4c8020(_0x44267c- -0x1d0,_0x50b947);}function _0x10d6ce(_0xd14001,_0x53bfe8){return _0x4c8020(_0xd14001- -0x545,_0x53bfe8);}!this['_coneList']&&(this['_coneList']=new Map());for(let _0x13501c=0x0;_0x13501c<_0x585ca5[_0x10d6ce(-0x15d,-0x8c)]['length'];_0x13501c++){const _0x1da943=_0x585ca5[_0x10d6ce(-0x15d,-0x240)][_0x13501c];_0x1da943['name']=_0x1da943['name']||_0x13501c;if(_0x1da943[_0x10d6ce(-0x26a,-0x2b3)]('show')&&!_0x1da943['show']){if(this['_coneList']['has'](_0x1da943['name'])){const _0x38fc3e=this['_coneList']['get'](_0x1da943['name']);_0x38fc3e['remove'](),_0x38fc3e['destroy'](!![]),this['_coneList']['delete'](_0x1da943['name']);}}else{const _0x20d48c=_0x1da943['angle1'],_0x1bbeca=_0x1da943['angel2'],_0x5b2128=Cesium['Math'][_0xcbf683(0x3d,0x44)](this[_0x10d6ce(-0x265,-0x358)]||0x0),_0x47682c=Cesium[_0xcbf683(0x312,0x25b)]['toRadians'](this['pitch']||0x0),_0x30ae7f=Cesium['Math']['toRadians'](this['roll']||0x0),_0x4de12c=Cesium[_0xcbf683(0x2fd,0x25b)][_0x10d6ce(-0x331,-0x430)](_0x1da943[_0xcbf683(0x264,0x101)]),_0x509a75=this['calculate_cam_sight'](_0x5b2128,_0x47682c,_0x30ae7f,_0x4de12c);if(this['_coneList'][_0xcbf683(0x2ca,0x250)](_0x1da943['name'])){const _0x46cdf7=this['_coneList']['get'](_0x1da943[_0xcbf683(0x23f,0x164)]);_0x46cdf7[_0xcbf683(0x19d,0x22b)]=_0x20d48c,_0x46cdf7[_0xcbf683(0x339,0x1c9)]=_0x1bbeca,_0x46cdf7['sensorType']=_0x585ca5[_0xcbf683(0xba,0x89)],_0x46cdf7['color']=_0x1da943[_0xcbf683(0x10a,0x184)],_0x46cdf7['outline']=_0x1da943['outline'],_0x46cdf7[_0xcbf683(0x226,0x30a)]=_0x509a75['yaw'],_0x46cdf7['_pitchRadians']=_0x509a75['pitch'],_0x46cdf7[_0xcbf683(0x1dc,0x1e5)]=_0x509a75['roll'];}else{var _0x558b46={};_0x558b46['pitchOffset']=_0x4de12c;const _0xd9e90a=new SatelliteSensor({'position':new Cesium[(_0x10d6ce(-0x257,-0x211))](_0x272a57=>{return this['_position'];},![]),'style':{..._0x1da943,'sensorType':_0x585ca5['sensorType'],'angle1':_0x20d48c,'angle2':_0x1bbeca,'heading':Cesium[_0x10d6ce(-0x11a,-0x1fb)][_0xcbf683(-0xd,0x13a)](_0x509a75['yaw']),'pitch':Cesium['Math']['toDegrees'](_0x509a75['pitch']),'roll':Cesium['Math']['toDegrees'](_0x509a75['roll'])},'attr':_0x558b46,'reverse':_0x585ca5[_0x10d6ce(-0x30b,-0x3b6)],'rayEllipsoid':_0x585ca5['rayEllipsoid'],'private':!![]});this['_layer'][_0x10d6ce(-0x34a,-0x241)](_0xd9e90a),this[_0x10d6ce(-0xcc,-0xbb)](_0xd9e90a),this['_coneList']['set'](_0x1da943[_0x10d6ce(-0x211,-0x177)],_0xd9e90a);}}}}['_showOneCone'](_0x10fdc6){function _0x4c6774(_0x53a32b,_0x2ac4c7){return _0x4a554d(_0x53a32b-0x1f8,_0x2ac4c7);}function _0x3eed83(_0x88536b,_0x1cfae1){return _0x4a554d(_0x1cfae1- -0x2b6,_0x88536b);}var _0x56090b;if((_0x56090b=this[_0x3eed83(-0x15a,-0x1f5)])!==null&&_0x56090b!==void 0x0&&_0x56090b['cone'])this[_0x3eed83(-0x261,-0x1f5)][_0x4c6774(0x488,0x48e)][_0x4c6774(0x428,0x595)]=_0x10fdc6['angle1']??0x5,this[_0x3eed83(-0x2b4,-0x1f5)]['cone']['angle2']=_0x10fdc6['angle2']??0x5,this[_0x4c6774(0x2b9,0x3e2)]['cone']['sensorType']=_0x10fdc6['sensorType'],this[_0x3eed83(-0x366,-0x1f5)][_0x4c6774(0x488,0x4f9)][_0x4c6774(0x381,0x3da)]=_0x10fdc6['color'],this['_child']['cone'][_0x3eed83(-0x40,-0x14f)]=_0x10fdc6['outline'],this['_child'][_0x3eed83(0xae,-0x26)][_0x3eed83(-0x107,0x59)]=this['_heading_reality'],this[_0x3eed83(-0x350,-0x1f5)][_0x3eed83(0x14f,-0x26)][_0x4c6774(0x35d,0x374)]=this[_0x3eed83(0x81,0x55)],this[_0x4c6774(0x2b9,0x324)]['cone']['_rollRadians']=this['_roll_reality'];else{const _0x1a5bb6=new SatelliteSensor({'position':new Cesium['CallbackProperty'](_0x20f99c=>{return this['_position'];},![]),'style':{..._0x10fdc6,'heading':this[_0x3eed83(-0x14f,-0x1a1)]||0x0,'pitch':this['pitch']||0x0,'roll':this[_0x3eed83(0xeb,-0x8c)]||0x0},'reverse':_0x10fdc6['reverse'],'rayEllipsoid':_0x10fdc6[_0x4c6774(0x27c,0x314)],'private':!![]});this['_layer']['addGraphic'](_0x1a5bb6),this['bindPickId'](_0x1a5bb6),this['_child']['cone']=_0x1a5bb6;}}[_0x4c8020(0x3ad,0x4eb)](_0x9fc973){function _0x4289b7(_0x499066,_0x59a0ee){return _0x4c8020(_0x59a0ee- -0x14c,_0x499066);}delete _0x9fc973[_0x4289b7(0xd1,0xd7)];}[_0x4c8020(0x22b,0x167)](_0x4e3ebe={}){function _0x23f86c(_0x5acd41,_0x403ff0){return _0x4a554d(_0x5acd41-0x110,_0x403ff0);}if(!this[_0x23f86c(0x3e0,0x4ec)])return;const _0x14aa07=this[_0x23f86c(0x282,0x246)];if(!_0x14aa07)return;const _0xdb26e7=Cesium['Cartographic'][_0x23f86c(0x173,0x9d)](_0x14aa07)['height']*(_0x4e3ebe[_0x23f86c(0x196,0x16e)]??1.5);let _0x355e95;if(Cesium['defined'](_0x4e3ebe[_0x23f86c(0x225,0x322)])){var _0x4f3f24;_0x355e95=_0x4e3ebe['heading']+Cesium[_0x4f365a(0x4df,0x390)][_0x23f86c(0x24f,0x14d)](((_0x4f3f24=this[_0x23f86c(0x347,0x3db)])===null||_0x4f3f24===void 0x0?void 0x0:_0x4f3f24['heading'])||0x0);}var _0x215429={..._0x4e3ebe};_0x215429['radius']=_0xdb26e7,_0x215429['heading']=_0x355e95;function _0x4f365a(_0x4b0ba2,_0xff6c68){return _0x4a554d(_0x4b0ba2-0x27f,_0xff6c68);}return this['_map']['flyToPoint'](_0x14aa07,_0x215429);}[_0x4c8020(0x496,0x579)](_0xa7da){function _0x202273(_0x1223c4,_0x42587a){return _0x4c8020(_0x42587a- -0x4b2,_0x1223c4);}return this[_0x202273(-0x11f,-0x287)](_0xa7da);}['startDraw'](_0x243995){var _0xf15bb,_0x4ec72a;if(this[_0x1a22b1(-0xcc,-0x1bb)])return this;this[_0x1a22b1(-0x2fd,-0x1bb)]=!![];function _0x19ae36(_0x123b07,_0x477307){return _0x4c8020(_0x477307- -0x154,_0x123b07);}_0x243995&&this[_0x1a22b1(-0x1a,0xa3)](_0x243995);this['fire'](mars3d__namespace[_0x19ae36(0x1fd,0x1f5)]['drawCreated'],{'drawType':this['type'],'positions':this[_0x19ae36(0x205,0x346)]},!![]);(_0xf15bb=this[_0x1a22b1(-0x6f,-0x47)])!==null&&_0xf15bb!==void 0x0&&_0xf15bb[_0x19ae36(0x1a1,0x314)]&&this['options']['success'](this);function _0x1a22b1(_0x1ac9fd,_0x1c5c43){return _0x4a554d(_0x1c5c43- -0x1ff,_0x1ac9fd);}(_0x4ec72a=this['options'])!==null&&_0x4ec72a!==void 0x0&&(_0x4ec72a=_0x4ec72a['_promise'])!==null&&_0x4ec72a!==void 0x0&&_0x4ec72a['resolve']&&this[_0x1a22b1(-0xf,-0x47)]['_promise'][_0x19ae36(0x168,0x2c7)](this);}}mars3d__namespace['graphic'][_0x4a554d(0x19e,0x315)]=Satellite,mars3d__namespace['GraphicUtil']['register'](_0x4c8020(0x239,0x197),Satellite,!![]),exports[_0x4c8020(0x278,0x246)]=CamberRadar,exports['ConicSensor']=ConicSensor,exports['FixedJammingRadar']=FixedJammingRadar,exports[_0x4a554d(0x161,0xf9)]=JammingRadar,exports[_0x4c8020(0x40f,0x4d5)]=RectSensor,exports['Satellite']=Satellite,exports[_0x4c8020(0x33e,0x328)]=SatelliteSensor,exports['SpaceUtil']=SpaceUtil,exports['Tle']=Tle;var _0x4ee23a={};_0x4ee23a['value']=!![],Object['defineProperty'](exports,'__esModule',_0x4ee23a); })); diff --git a/public/lib/mars3d/plugins/wind/mars3d-wind.js b/public/lib/mars3d/plugins/wind/mars3d-wind.js index 2c267cc9c..2a2f5966b 100644 --- a/public/lib/mars3d/plugins/wind/mars3d-wind.js +++ b/public/lib/mars3d/plugins/wind/mars3d-wind.js @@ -2,7 +2,7 @@ * Mars3D平台插件,支持气象 风向图 功能插件 mars3d-wind * * 版本信息:v3.8.9 - * 编译日期:2024-11-28 22:58 + * 编译日期:2024-12-03 18:05 * 版权所有:Copyright by 火星科技 http://mars3d.cn * 使用单位:免费公开版 ,2024-08-01 */ @@ -11,5 +11,5 @@ typeof define === 'function' && define.amd ? define(['exports', 'mars3d'], factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["mars3d-wind"] = {}, global.mars3d)); })(this, (function (exports, mars3d) { -'use strict';(function(_0x5b8898,_0x119393){function _0x3478ce(_0x5a1296,_0x14768c){return _0x37ec(_0x14768c- -0x110,_0x5a1296);}const _0x1aa611=_0x5b8898();function _0x802599(_0x33b820,_0x18241f){return _0x37ec(_0x33b820- -0x178,_0x18241f);}while(!![]){try{const _0x3d527a=parseInt(_0x3478ce(0x144,0x1be))/0x1+-parseInt(_0x3478ce(0x186,0x102))/0x2+parseInt(_0x802599(0xd9,0x86))/0x3*(parseInt(_0x3478ce(0x59,0xdc))/0x4)+-parseInt(_0x802599(0x87,0xc1))/0x5+parseInt(_0x3478ce(0x1a5,0x149))/0x6+parseInt(_0x802599(0xd4,0x116))/0x7+-parseInt(_0x3478ce(0x1b2,0x12d))/0x8*(parseInt(_0x3478ce(0xdb,0x154))/0x9);if(_0x3d527a===_0x119393)break;else _0x1aa611['push'](_0x1aa611['shift']());}catch(_0x5d40e5){_0x1aa611['push'](_0x1aa611['shift']());}}}(_0x58f4,0x67ad1));function _interopNamespace(_0x161038){if(_0x161038&&_0x161038[_0x1face7(0x322,0x372)])return _0x161038;function _0x1face7(_0x4d9727,_0x11d4ac){return _0x37ec(_0x4d9727-0x16e,_0x11d4ac);}var _0x87a7e6=Object['create'](null);_0x161038&&Object['keys'](_0x161038)[_0x1face7(0x3ca,0x404)](function(_0x39d17a){function _0x1878bb(_0x3640f7,_0x449476){return _0x2d7309(_0x449476-0x245,_0x3640f7);}function _0x544f11(_0x149d26,_0x900ee3){return _0x2d7309(_0x149d26-0x4ff,_0x900ee3);}if(_0x39d17a!==_0x1878bb(0x167,0x1aa)){var _0x569a82=Object['getOwnPropertyDescriptor'](_0x161038,_0x39d17a);Object['defineProperty'](_0x87a7e6,_0x39d17a,_0x569a82[_0x1878bb(0x1a9,0x1a2)]?_0x569a82:{'enumerable':!![],'get':function(){return _0x161038[_0x39d17a];}});}});function _0x2d7309(_0x43d64f,_0x480c13){return _0x37ec(_0x43d64f- -0x2fe,_0x480c13);}return _0x87a7e6[_0x1face7(0x3d1,0x340)]=_0x161038,_0x87a7e6;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace['Cesium'];function getU(_0x3ca401,_0x502d49){const _0x253b72=_0x3ca401*Math[_0x3d3698(-0x199,-0x226)](Cesium$7['Math']['toRadians'](_0x502d49));function _0x3d3698(_0x42ce7e,_0x16888f){return _0x37ec(_0x42ce7e- -0x380,_0x16888f);}return _0x253b72;}function getV(_0x2679d5,_0x2a98f5){const _0x15be0c=_0x2679d5*Math[_0x3d23cc(-0xb1,-0x6a)](Cesium$7['Math'][_0x5c8238(0x53e,0x50e)](_0x2a98f5));function _0x3d23cc(_0x5a203f,_0x30b622){return _0x37ec(_0x30b622- -0x2f9,_0x5a203f);}function _0x5c8238(_0x4b2ddf,_0x205810){return _0x37ec(_0x4b2ddf-0x2f1,_0x205810);}return _0x15be0c;}function getSpeed(_0x29aaf7,_0x3c51ee){function _0x359313(_0x27ba89,_0x408865){return _0x37ec(_0x408865-0x1e7,_0x27ba89);}const _0x52568d=Math['sqrt'](Math[_0x359313(0x461,0x460)](_0x29aaf7,0x2)+Math['pow'](_0x3c51ee,0x2));return _0x52568d;}function getDirection(_0x10d962,_0x53ab4e){let _0x59c1c2=Cesium$7['Math']['toDegrees'](Math[_0x22728e(0x634,0x680)](_0x53ab4e,_0x10d962));function _0x22728e(_0x473778,_0x5ab2f7){return _0x37ec(_0x473778-0x375,_0x5ab2f7);}return _0x59c1c2+=_0x59c1c2<0x0?0x168:0x0,_0x59c1c2;}const _0x2e30e7={};_0x2e30e7['__proto__']=null,_0x2e30e7['getU']=getU,_0x2e30e7['getV']=getV,_0x2e30e7['getSpeed']=getSpeed,_0x2e30e7[_0x4ed229(0x24,-0x10)]=getDirection;var WindUtil=_0x2e30e7;const Cesium$6=mars3d__namespace[_0x4ed229(-0x6c,-0xf9)];class CustomPrimitive{constructor(_0x5065d6){this['commandType']=_0x5065d6['commandType'],this[_0x3f6e1e(0x362,0x34b)]=_0x5065d6['geometry'],this['attributeLocations']=_0x5065d6['attributeLocations'],this[_0x3f6e1e(0x2a2,0x2db)]=_0x5065d6[_0x3f6e1e(0x346,0x2db)],this['uniformMap']=_0x5065d6['uniformMap'],this[_0x3f6e1e(0x3a9,0x343)]=_0x5065d6[_0x98bd50(0x234,0x242)],this['fragmentShaderSource']=_0x5065d6['fragmentShaderSource'],this[_0x3f6e1e(0x356,0x368)]=_0x5065d6['rawRenderState'];function _0x3f6e1e(_0x3f411f,_0x399121){return _0x4ed229(_0x399121-0x341,_0x3f411f);}this['framebuffer']=_0x5065d6[_0x98bd50(0x225,0x228)],this['outputTexture']=_0x5065d6['outputTexture'],this[_0x3f6e1e(0x2d4,0x30f)]=_0x5065d6[_0x3f6e1e(0x2ca,0x30f)]??![],this['preExecute']=_0x5065d6['preExecute'],this['show']=!![],this[_0x3f6e1e(0x31f,0x30e)]=undefined;function _0x98bd50(_0x546436,_0x43a021){return _0x4ed229(_0x43a021-0x240,_0x546436);}this['clearCommand']=undefined,this[_0x98bd50(0x281,0x20e)]&&(this['clearCommand']=new Cesium$6[(_0x98bd50(0x234,0x244))]({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this['framebuffer'],'pass':Cesium$6[_0x3f6e1e(0x251,0x2a4)]['OPAQUE']}));}['createCommand'](_0x3da6c0){function _0x30a182(_0x38b109,_0x5c7360){return _0x2a0630(_0x5c7360- -0x45c,_0x38b109);}function _0x4f81aa(_0x4474c0,_0x6eb0e2){return _0x2a0630(_0x6eb0e2- -0x1fc,_0x4474c0);}switch(this['commandType']){case _0x4f81aa(0x3e6,0x40d):{const _0x1a06fa=Cesium$6['VertexArray']['fromGeometry']({'context':_0x3da6c0,'geometry':this[_0x4f81aa(0x48e,0x462)],'attributeLocations':this[_0x4f81aa(0x479,0x44e)],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']}),_0x1d133f={};_0x1d133f[_0x30a182(0x202,0x204)]=_0x3da6c0,_0x1d133f['attributeLocations']=this['attributeLocations'],_0x1d133f[_0x4f81aa(0x473,0x45a)]=this[_0x4f81aa(0x47c,0x45a)],_0x1d133f[_0x4f81aa(0x495,0x40a)]=this['fragmentShaderSource'];const _0x31c06=Cesium$6['ShaderProgram'][_0x4f81aa(0x42e,0x3b7)](_0x1d133f),_0x6d6792=Cesium$6['RenderState']['fromCache'](this['rawRenderState']);return new Cesium$6[(_0x4f81aa(0x425,0x414))]({'owner':this,'vertexArray':_0x1a06fa,'primitiveType':this['primitiveType'],'uniformMap':this['uniformMap'],'modelMatrix':Cesium$6['Matrix4']['IDENTITY'],'shaderProgram':_0x31c06,'framebuffer':this['framebuffer'],'renderState':_0x6d6792,'pass':Cesium$6['Pass'][_0x30a182(0x255,0x218)]});}case'Compute':{const _0x6ad6da={};return _0x6ad6da['owner']=this,_0x6ad6da['fragmentShaderSource']=this['fragmentShaderSource'],_0x6ad6da[_0x30a182(0x151,0x167)]=this[_0x30a182(0xeb,0x167)],_0x6ad6da[_0x4f81aa(0x482,0x495)]=this['outputTexture'],_0x6ad6da['persists']=!![],new Cesium$6['ComputeCommand'](_0x6ad6da);}}}[_0x4ed229(-0x35,-0xc1)](_0x1aa708,_0x56e184){function _0x30ef38(_0x1c1dab,_0x22d019){return _0x2a0630(_0x1c1dab- -0x731,_0x22d019);}this[_0x30ef38(-0xd3,-0xb5)]=_0x56e184;function _0x32e1b2(_0x1e0de2,_0x74ba90){return _0x4ed229(_0x1e0de2- -0x11c,_0x74ba90);}const _0x54921d=Cesium$6['VertexArray']['fromGeometry']({'context':_0x1aa708,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6['BufferUsage']['STATIC_DRAW']});this[_0x32e1b2(-0x14f,-0x130)][_0x30ef38(-0xf1,-0x171)]=_0x54921d;}['update'](_0x54ee21){if(!this[_0x271993(0x3c0,0x44d)])return;if(_0x54ee21['mode']!==Cesium$6['SceneMode'][_0xa06fae(0x49b,0x482)])return;!Cesium$6['defined'](this[_0x271993(0x4d8,0x457)])&&(this['commandToExecute']=this[_0x271993(0x476,0x495)](_0x54ee21[_0xa06fae(0x512,0x4ad)]));function _0x271993(_0x3508b5,_0x4165cf){return _0x2a0630(_0x4165cf- -0x1ca,_0x3508b5);}Cesium$6['defined'](this['preExecute'])&&this[_0xa06fae(0x42f,0x3ff)]();Cesium$6[_0x271993(0x3cd,0x3dd)](this[_0xa06fae(0x428,0x49b)])&&_0x54ee21[_0x271993(0x4c2,0x45d)][_0xa06fae(0x49f,0x463)](this['clearCommand']);function _0xa06fae(_0x11fd73,_0xd03a44){return _0x4ed229(_0xd03a44-0x4a1,_0x11fd73);}_0x54ee21[_0xa06fae(0x4de,0x474)][_0xa06fae(0x4b8,0x463)](this['commandToExecute']);}[_0x4ed229(-0x70,-0x36)](){return![];}[_0x4ed229(-0xb3,-0x66)](){function _0x5dcf94(_0x3d98af,_0x585b12){return _0x2a0630(_0x585b12- -0x513,_0x3d98af);}function _0x5e5263(_0x155254,_0x17c6a4){return _0x2a0630(_0x17c6a4- -0x2e7,_0x155254);}if(this['clearCommand']){var _0x2e14da,_0x1c3eee;(_0x2e14da=this['clearCommand'])!==null&&_0x2e14da!==void 0x0&&_0x2e14da['vertexArray']&&this['clearCommand'][_0x5dcf94(0x121,0x12d)]['destroy'](),(_0x1c3eee=this[_0x5dcf94(0x1a5,0x13b)])!==null&&_0x1c3eee!==void 0x0&&_0x1c3eee['shaderProgram']&&this['clearCommand'][_0x5e5263(0x2df,0x290)][_0x5e5263(0x30e,0x2ba)](),delete this['clearCommand'];}return this['commandToExecute']&&(this['commandToExecute']['vertexArray']&&this[_0x5e5263(0x310,0x33a)]['vertexArray'][_0x5e5263(0x28f,0x2ba)](),this[_0x5dcf94(0x187,0x10e)][_0x5dcf94(0xdf,0x64)]&&this['commandToExecute']['shaderProgram'][_0x5e5263(0x2fc,0x2ba)](),delete this['commandToExecute']),Cesium$6['destroyObject'](this);}}function _0x37ec(_0x1dca32,_0x43d715){const _0x58f4ae=_0x58f4();return _0x37ec=function(_0x37ec65,_0x17982e){_0x37ec65=_0x37ec65-0x1b2;let _0x53c3c8=_0x58f4ae[_0x37ec65];return _0x53c3c8;},_0x37ec(_0x1dca32,_0x43d715);}const Cesium$5=mars3d__namespace['Cesium'],Util=(function(){const _0x116e63=function(){function _0x26e13c(_0x4e8feb,_0x3600e4){return _0x37ec(_0x3600e4-0x3,_0x4e8feb);}const _0x59a7d2=new Cesium$5['Geometry']({'attributes':new Cesium$5['GeometryAttributes']({'position':new Cesium$5[(_0x26e13c(0x1db,0x227))]({'componentDatatype':Cesium$5[_0x26e13c(0x261,0x21f)][_0x24b111(0x2a4,0x22f)],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x24b111(0x2a2,0x2c6))]({'componentDatatype':Cesium$5['ComponentDatatype'][_0x24b111(0x2a4,0x325)],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});function _0x24b111(_0x27e76b,_0x6eaccf){return _0x37ec(_0x27e76b-0x7e,_0x6eaccf);}return _0x59a7d2;},_0x4c85cf=function(_0x196149,_0x16d606){if(Cesium$5['defined'](_0x16d606)){const _0x312304={};_0x312304['arrayBufferView']=_0x16d606,_0x196149[_0x3c9e0f(0x1c5,0x21c)]=_0x312304;}function _0x3c9e0f(_0x6157a4,_0x1ad986){return _0x37ec(_0x6157a4- -0xa6,_0x1ad986);}const _0x46f8a9=new Cesium$5['Texture'](_0x196149);return _0x46f8a9;};function _0x5ace20(_0x5e74f1,_0x17bc55){return _0x2a0630(_0x5e74f1- -0x646,_0x17bc55);}const _0x75d643=function(_0x4c62ca,_0x26fd43,_0x340a82){const _0x102d55={};_0x102d55['context']=_0x4c62ca;function _0x2d41d5(_0x1a152e,_0x22c211){return _0x37ec(_0x22c211- -0x13d,_0x1a152e);}_0x102d55['colorTextures']=[_0x26fd43],_0x102d55[_0x2d41d5(0x13c,0xec)]=_0x340a82;const _0x5f0afb=new Cesium$5['Framebuffer'](_0x102d55);return _0x5f0afb;},_0x160b77=function(_0x86efb2){const _0x5186c3=!![],_0x28617a=![],_0x5a7f8f={};_0x5a7f8f[_0x19c441(-0x17d,-0x17e)]=_0x86efb2['viewport'],_0x5a7f8f['depthTest']=_0x86efb2['depthTest'],_0x5a7f8f[_0x28f459(0xa4,0xaa)]=_0x86efb2['depthMask'],_0x5a7f8f['blending']=_0x86efb2['blending'];function _0x19c441(_0x258c06,_0x2c8854){return _0x37ec(_0x258c06- -0x35c,_0x2c8854);}function _0x28f459(_0x2bd44,_0x29ce1a){return _0x37ec(_0x2bd44- -0x17b,_0x29ce1a);}const _0x55f5b3=_0x5a7f8f,_0x1667a5=Cesium$5[_0x28f459(0x10f,0x17c)]['getDefaultRenderState'](_0x5186c3,_0x28617a,_0x55f5b3);return _0x1667a5;},_0x1306f0=function(_0xf69f52){const _0x5b4945={},_0x434c80=Cesium$5['Math']['mod'](_0xf69f52['west'],Cesium$5['Math']['TWO_PI']),_0x29d7e5=Cesium$5['Math'][_0x5240ac(0x166,0x1cf)](_0xf69f52['east'],Cesium$5['Math'][_0x5240ac(0x18d,0x1c8)]),_0x22faea=_0xf69f52['width'];let _0x409b1a;function _0x5240ac(_0x3d5c60,_0x53be9d){return _0x37ec(_0x3d5c60- -0x9b,_0x53be9d);}let _0x22291a;_0x22faea>Cesium$5[_0x5240ac(0x22a,0x2a2)][_0xa1efd6(-0xc,-0x21)]?(_0x409b1a=0x0,_0x22291a=Cesium$5[_0x5240ac(0x22a,0x1f2)]['TWO_PI']):_0x29d7e5-_0x434c80<_0x22faea?(_0x409b1a=_0x434c80,_0x22291a=_0x434c80+_0x22faea):(_0x409b1a=_0x434c80,_0x22291a=_0x29d7e5);_0x5b4945[_0xa1efd6(0x70,0x2b)]={'min':Cesium$5[_0x5240ac(0x22a,0x283)]['toDegrees'](_0x409b1a),'max':Cesium$5['Math']['toDegrees'](_0x22291a)};const _0x4b3bdc=_0xf69f52[_0x5240ac(0x128,0x130)],_0x3facac=_0xf69f52['north'],_0xae9f2e=_0xf69f52['height'],_0x50f273=_0xae9f2e>Cesium$5['Math']['PI']/0xc?_0xae9f2e/0x2:0x0;let _0xaf8067=Cesium$5[_0xa1efd6(0x104,0xd2)]['clampToLatitudeRange'](_0x4b3bdc-_0x50f273),_0x30b454=Cesium$5['Math']['clampToLatitudeRange'](_0x3facac+_0x50f273);_0xaf8067<-Cesium$5['Math']['PI_OVER_THREE']&&(_0xaf8067=-Cesium$5[_0x5240ac(0x22a,0x255)][_0xa1efd6(0x9e,0x10d)]);_0x30b454>Cesium$5[_0x5240ac(0x22a,0x1f6)][_0x5240ac(0x1b9,0x156)]&&(_0x30b454=Cesium$5[_0xa1efd6(0x104,0x179)][_0x5240ac(0x1c4,0x18c)]);_0x5b4945['lat']={'min':Cesium$5['Math'][_0x5240ac(0x1e2,0x1b4)](_0xaf8067),'max':Cesium$5[_0xa1efd6(0x104,0x73)]['toDegrees'](_0x30b454)};function _0xa1efd6(_0x1e413a,_0x46822b){return _0x37ec(_0x1e413a- -0x1c1,_0x46822b);}return _0x5b4945;},_0x23785a={};function _0x2f92bd(_0xd1fdb5,_0x903ef){return _0x2a0630(_0xd1fdb5- -0x40f,_0x903ef);}return _0x23785a['getFullscreenQuad']=_0x116e63,_0x23785a['createTexture']=_0x4c85cf,_0x23785a[_0x5ace20(-0x2e,-0x6)]=_0x75d643,_0x23785a[_0x2f92bd(0x16d,0x1e6)]=_0x160b77,_0x23785a['viewRectangleToLonLatRange']=_0x1306f0,_0x23785a;}());var fullscreenVert='#version\x20300\x20es\x0a\x0ain\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20gl_Position\x20=\x20vec4(position,\x201.0f);\x0a}\x0a',screenDrawFrag='#version\x20300\x20es\x0a\x0auniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20if(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20trailsColor;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(0.0f);\x0a\x20\x20}\x0a}\x0a',segmentDrawFrag='#version\x20300\x20es\x0a\x0auniform\x20sampler2D\x20colorTable;\x0auniform\x20bool\x20colour;\x0a\x0ain\x20float\x20heightNormalization;\x0ain\x20float\x20speedNormalization;\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20const\x20float\x20zero\x20=\x200.0f;\x0a\x20\x20if(speedNormalization\x20>\x20zero)\x20{\x0a\x20\x20\x20\x20if(colour)\x20{\x0a\x20\x20\x20\x20\x20\x20fragColor\x20=\x20texture(colorTable,\x20vec2(heightNormalization,\x20zero));\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20fragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x20zero));\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(zero);\x0a\x20\x20}\x0a}\x0a',segmentDrawVert='#version\x20300\x20es\x0aprecision\x20highp\x20float;\x0a\x0ain\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20lines\x20drawing\x0ain\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0auniform\x20vec2\x20hRange;\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20vec2\x20wSpeedRange;\x0a\x0auniform\x20sampler2D\x20previousParticlesPosition;\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20particlesSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0astruct\x20adjacentPoints\x20{\x0a\x20\x20vec4\x20previous;\x0a\x20\x20vec4\x20current;\x0a\x20\x20vec4\x20next;\x0a};\x0a\x0aout\x20float\x20heightNormalization;\x0aout\x20float\x20speedNormalization;\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//\x20read\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\x0a\x20\x20float\x20a\x20=\x206378137.0f;\x20//\x20Semi-major\x20axis\x0a\x20\x20float\x20b\x20=\x206356752.3142f;\x20//\x20Semi-minor\x20axis\x0a\x20\x20float\x20e2\x20=\x206.69437999014e-3f;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0f\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20float\x20h\x20=\x20particleHeight\x20+\x20lonLatLev.z;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0f);\x0a\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calculateProjectedCoordinate(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\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0f,\x20360.0f)\x20-\x20180.0f;\x0a\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0f);\x0a\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calculateOffsetOnNormalDirection(vec4\x20pointA,\x20vec4\x20pointB,\x20float\x20offsetSign)\x20{\x0a\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0f);\x0a\x20\x20vec2\x20pointA_XY\x20=\x20(pointA.xy\x20/\x20pointA.w)\x20*\x20aspectVec2;\x0a\x20\x20vec2\x20pointB_XY\x20=\x20(pointB.xy\x20/\x20pointB.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0f;\x0a\x20\x20vec2\x20direction\x20=\x20normalize(pointB_XY\x20-\x20pointA_XY);\x0a\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0f,\x200.0f);\x0a\x20\x20return\x20offset;\x0a}\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20vec3\x20percent\x20=\x20vec3(0.0f);\x0a\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20if(wSpeedRange.y\x20==\x20wSpeedRange.x)\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x200.0f;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x20(speed.z\x20-\x20wSpeedRange.x)\x20/\x20(wSpeedRange.y\x20-\x20wSpeedRange.x);\x0a\x20\x20}\x0a\x20\x20float\x20norm\x20=\x20length(percent);\x0a\x0a\x20\x20return\x20norm;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20vec3\x20previousPosition\x20=\x20texture(previousParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20vec3\x20currentPosition\x20=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20vec3\x20nextPosition\x20=\x20texture(postProcessingPosition,\x20particleIndex).rgb;\x0a\x0a\x20\x20float\x20isAnyRandomPointUsed\x20=\x20texture(postProcessingPosition,\x20particleIndex).a\x20+\x0a\x20\x20\x20\x20texture(currentParticlesPosition,\x20particleIndex).a\x20+\x0a\x20\x20\x20\x20texture(previousParticlesPosition,\x20particleIndex).a;\x0a\x0a\x20\x20adjacentPoints\x20projectedCoordinates;\x0a\x20\x20if(isAnyRandomPointUsed\x20>\x200.0f)\x20{\x0a\x20\x20\x20\x20projectedCoordinates.previous\x20=\x20calculateProjectedCoordinate(previousPosition);\x0a\x20\x20\x20\x20projectedCoordinates.current\x20=\x20projectedCoordinates.previous;\x0a\x20\x20\x20\x20projectedCoordinates.next\x20=\x20projectedCoordinates.previous;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20projectedCoordinates.previous\x20=\x20calculateProjectedCoordinate(previousPosition);\x0a\x20\x20\x20\x20projectedCoordinates.current\x20=\x20calculateProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20projectedCoordinates.next\x20=\x20calculateProjectedCoordinate(nextPosition);\x0a\x20\x20}\x0a\x0a\x20\x20int\x20pointToUse\x20=\x20int(normal.x);\x0a\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x20\x20vec4\x20offset\x20=\x20vec4(0.0f);\x0a\x20\x20\x20\x20//\x20render\x20lines\x20with\x20triangles\x20and\x20miter\x20joint\x0a\x20\x20\x20\x20//\x20read\x20https://blog.scottlogic.com/2019/11/18/drawing-lines-with-webgl.html\x20for\x20detail\x0a\x20\x20if(pointToUse\x20==\x20-1)\x20{\x0a\x20\x20\x20\x20offset\x20=\x20pixelSize\x20*\x20calculateOffsetOnNormalDirection(projectedCoordinates.previous,\x20projectedCoordinates.current,\x20offsetSign);\x0a\x20\x20\x20\x20gl_Position\x20=\x20projectedCoordinates.previous\x20+\x20offset;\x0a\x20\x20}\x20else\x20if(pointToUse\x20==\x201)\x20{\x0a\x20\x20\x20\x20offset\x20=\x20pixelSize\x20*\x20calculateOffsetOnNormalDirection(projectedCoordinates.current,\x20projectedCoordinates.next,\x20offsetSign);\x0a\x20\x20\x20\x20gl_Position\x20=\x20projectedCoordinates.next\x20+\x20offset;\x0a\x20\x20}\x0a\x0a\x20\x20heightNormalization\x20=\x20(currentPosition.z\x20-\x20hRange.x)\x20/\x20(hRange.y\x20-\x20hRange.x);\x0a\x0a\x20\x20speedNormalization\x20=\x20texture(particlesSpeed,\x20particleIndex).a;\x0a}\x0a',trailDrawFrag='#version\x20300\x20es\x0a\x0aprecision\x20highp\x20float;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0auniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0aout\x20vec4\x20fragColor;\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0f\x20*\x20trailsColor)\x20/\x20255.0f;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0a\x0a\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x20\x20fragColor\x20=\x20vec4(0.0f);\x0a\x20\x20if(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20fragColor\x20+\x20pointsColor;\x0a\x20\x20}\x0a\x20\x20if(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20fragColor\x20+\x20trailsColor;\x0a\x20\x20}\x0a\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a';const Cesium$4=mars3d__namespace['Cesium'];class ParticlesRendering{constructor(_0x50dfa5,_0x3e0c2d,_0x9606be,_0x272f36,_0x40efbe){function _0x5d34a0(_0x4f55f5,_0x270f50){return _0x2a0630(_0x270f50- -0x4b5,_0x4f55f5);}this[_0x36ad4b(0x384,0x3b9)]=_0x9606be['colors']==='height';function _0x36ad4b(_0x594e0f,_0x19a8c8){return _0x4ed229(_0x19a8c8-0x3e3,_0x594e0f);}this['createRenderingTextures'](_0x50dfa5,_0x3e0c2d,_0x9606be[_0x36ad4b(0x296,0x31e)]),this['createRenderingFramebuffers'](_0x50dfa5),this['createRenderingPrimitives'](_0x50dfa5,_0x3e0c2d,_0x9606be,_0x272f36,_0x40efbe);}[_0x4ed229(0x1e,-0x33)](_0x4d8432,_0x173dad,_0x1804c4){const _0x433f7e={};_0x433f7e['context']=_0x4d8432,_0x433f7e['width']=_0x4d8432['drawingBufferWidth'],_0x433f7e['height']=_0x4d8432['drawingBufferHeight'],_0x433f7e['pixelFormat']=Cesium$4[_0x52f594(-0x11a,-0x119)]['RGBA'],_0x433f7e['pixelDatatype']=Cesium$4[_0x2a869c(0x19e,0x1f2)]['UNSIGNED_BYTE'];const _0x28a381=_0x433f7e,_0x13c60a={};_0x13c60a['context']=_0x4d8432,_0x13c60a['width']=_0x4d8432['drawingBufferWidth'];function _0x2a869c(_0x22e00f,_0x1f62bf){return _0x2a0630(_0x1f62bf- -0x44f,_0x22e00f);}_0x13c60a['height']=_0x4d8432[_0x52f594(-0xc0,-0xa4)],_0x13c60a['pixelFormat']=Cesium$4[_0x2a869c(0x16e,0x187)]['DEPTH_COMPONENT'],_0x13c60a[_0x2a869c(0x1e8,0x21f)]=Cesium$4['PixelDatatype'][_0x52f594(-0xa7,-0x18)];function _0x52f594(_0x5dab4d,_0x102d42){return _0x2a0630(_0x5dab4d- -0x6f0,_0x102d42);}const _0x2d1374=_0x13c60a,_0xacc0f1=_0x1804c4['length'],_0xafa256=new Float32Array(_0xacc0f1*0x3);for(let _0x56d693=0x0;_0x56d693<_0xacc0f1;_0x56d693++){const _0xcb2eb4=Cesium$4['Color'][_0x2a869c(0x256,0x1ee)](_0x1804c4[_0x56d693]);_0xafa256[0x3*_0x56d693]=_0xcb2eb4['red'],_0xafa256[0x3*_0x56d693+0x1]=_0xcb2eb4['green'],_0xafa256[0x3*_0x56d693+0x2]=_0xcb2eb4['blue'];}const _0x1662bb={'context':_0x4d8432,'width':_0xacc0f1,'height':0x1,'pixelFormat':Cesium$4[_0x2a869c(0x1a9,0x187)]['RGB'],'pixelDatatype':Cesium$4[_0x2a869c(0x165,0x1f2)]['FLOAT'],'sampler':new Cesium$4[(_0x2a869c(0x180,0x144))]({'minificationFilter':Cesium$4[_0x52f594(-0x11b,-0xe6)]['LINEAR'],'magnificationFilter':Cesium$4[_0x52f594(-0x100,-0x15e)]['LINEAR']})};this['textures']={'segmentsColor':Util['createTexture'](_0x28a381),'segmentsDepth':Util[_0x2a869c(0x17a,0x176)](_0x2d1374),'currentTrailsColor':Util[_0x2a869c(0x18d,0x176)](_0x28a381),'currentTrailsDepth':Util['createTexture'](_0x2d1374),'nextTrailsColor':Util['createTexture'](_0x28a381),'nextTrailsDepth':Util[_0x2a869c(0xef,0x176)](_0x2d1374),'colorTable':Util[_0x52f594(-0x12b,-0x18b)](_0x1662bb,_0xafa256)};}['createRenderingFramebuffers'](_0x222eb3){function _0x42e1e4(_0x39bb36,_0x57aceb){return _0x4ed229(_0x57aceb-0x62d,_0x39bb36);}function _0x1f95ea(_0x249c2f,_0x5e314d){return _0x2a0630(_0x249c2f- -0x22,_0x5e314d);}this[_0x1f95ea(0x623,0x5ca)]={'segments':Util[_0x42e1e4(0x625,0x5f1)](_0x222eb3,this['textures']['segmentsColor'],this['textures'][_0x42e1e4(0x683,0x664)]),'currentTrails':Util[_0x42e1e4(0x5db,0x5f1)](_0x222eb3,this[_0x42e1e4(0x5bb,0x648)]['currentTrailsColor'],this[_0x42e1e4(0x609,0x648)]['currentTrailsDepth']),'nextTrails':Util['createFramebuffer'](_0x222eb3,this['textures']['nextTrailsColor'],this['textures'][_0x42e1e4(0x663,0x5ec)])};}['createSegmentsGeometry'](_0x786367){const _0x1242b1=0x4;let _0x49a4a5=[];for(let _0x229ef3=0x0;_0x229ef3<_0x786367['particlesTextureSize'];_0x229ef3++){for(let _0x509948=0x0;_0x509948<_0x786367[_0x32bb90(0x4a6,0x4fd)];_0x509948++){for(let _0x1e1551=0x0;_0x1e1551<_0x1242b1;_0x1e1551++){_0x49a4a5[_0x32bb90(0x521,0x501)](_0x229ef3/_0x786367['particlesTextureSize']),_0x49a4a5[_0x1c617b(0x3bc,0x3b8)](_0x509948/_0x786367['particlesTextureSize']);}}}_0x49a4a5=new Float32Array(_0x49a4a5);let _0x219786=[];for(let _0x465087=0x0;_0x465087<_0x786367[_0x1c617b(0x3d8,0x364)];_0x465087++){_0x219786['push'](-0x1,-0x1,0x0,-0x1,0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0);}_0x219786=new Float32Array(_0x219786);function _0x1c617b(_0x398656,_0x1c5e67){return _0x2a0630(_0x398656- -0x25a,_0x1c5e67);}let _0x32a06f=[];function _0x32bb90(_0x3d0089,_0x32d9cf){return _0x2a0630(_0x3d0089- -0xf5,_0x32d9cf);}for(let _0x4f5dd3=0x0,_0x31ff73=0x0;_0x4f5dd3<_0x786367[_0x32bb90(0x53d,0x4b1)];_0x4f5dd3++){_0x32a06f[_0x1c617b(0x3bc,0x39a)](_0x31ff73+0x0,_0x31ff73+0x1,_0x31ff73+0x2,_0x31ff73+0x2,_0x31ff73+0x1,_0x31ff73+0x3),_0x31ff73+=_0x1242b1;}_0x32a06f=new Uint32Array(_0x32a06f);const _0x78e28a=new Cesium$4[(_0x1c617b(0x320,0x332))]({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4[(_0x32bb90(0x4f0,0x49e))]({'componentDatatype':Cesium$4['ComponentDatatype'][_0x32bb90(0x4f2,0x4c8)],'componentsPerAttribute':0x2,'values':_0x49a4a5}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4['ComponentDatatype'][_0x32bb90(0x4f2,0x55d)],'componentsPerAttribute':0x3,'values':_0x219786})}),'indices':_0x32a06f});return _0x78e28a;}[_0x2a0630(0x602,0x59b)](_0x1c742f,_0x2f782d,_0xfd504,_0x4ebcf6,_0x5e722c){const _0x295764=this,_0x1a4b80={};_0x1a4b80['st']=0x0,_0x1a4b80[_0xc5a9ec(0x58a,0x5da)]=0x1;const _0x1001a5={};_0x1001a5[_0xc5a9ec(0x589,0x5fe)]=[segmentDrawVert];const _0x1b8dec={};_0x1b8dec[_0xc5a9ec(0x571,0x5fe)]=[segmentDrawFrag];const _0x499b02={};_0x499b02['enabled']=!![];const _0x411d94={};_0x411d94['viewport']=undefined,_0x411d94[_0xc5a9ec(0x5ae,0x5b6)]=_0x499b02,_0x411d94[_0xc5a9ec(0x534,0x59c)]=!![];const _0x43a0ca={};_0x43a0ca[_0x23e709(-0x1bf,-0x12f)]=0x0;function _0xc5a9ec(_0xd26da3,_0x21ee1e){return _0x4ed229(_0x21ee1e-0x610,_0xd26da3);}_0x43a0ca['st']=0x1;const _0xfd6643={};_0xfd6643['defines']=[_0xc5a9ec(0x57d,0x546)],_0xfd6643['sources']=[fullscreenVert];const _0x147d49={};_0x147d49[_0x23e709(-0x1b0,-0x136)]=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x147d49[_0x23e709(-0x2d,-0x81)]=[trailDrawFrag];const _0x4f84ef={};function _0x23e709(_0x391542,_0x264cac){return _0x2a0630(_0x264cac- -0x6c3,_0x391542);}_0x4f84ef[_0xc5a9ec(0x5b7,0x550)]=0x0,_0x4f84ef['st']=0x1;const _0x23841b={};_0x23841b['defines']=['DISABLE_GL_POSITION_LOG_DEPTH'],_0x23841b[_0xc5a9ec(0x611,0x5fe)]=[fullscreenVert];const _0x415781={};_0x415781[_0xc5a9ec(0x524,0x549)]=[_0x23e709(0x4f,-0x36)],_0x415781['sources']=[screenDrawFrag];const _0x15088f={};_0x15088f['enabled']=![];const _0x5f2fa2={};_0x5f2fa2[_0x23e709(-0xd8,-0xbb)]=!![],this['primitives']={'segments':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x1a4b80,'geometry':this['createSegmentsGeometry'](_0xfd504),'primitiveType':Cesium$4['PrimitiveType'][_0x23e709(-0xa1,-0x62)],'uniformMap':{'previousParticlesPosition':function(){function _0x2b2691(_0x150513,_0x4e6663){return _0xc5a9ec(_0x4e6663,_0x150513- -0x623);}function _0x4b1a2b(_0x9c894f,_0x29f0d1){return _0x23e709(_0x9c894f,_0x29f0d1-0x113);}return _0x5e722c[_0x4b1a2b(0xa0,0x1a)][_0x2b2691(-0xea,-0x10d)];},'currentParticlesPosition':function(){function _0xb9731a(_0x5d41b3,_0x52933e){return _0xc5a9ec(_0x52933e,_0x5d41b3- -0x1fe);}function _0x25880e(_0x3b7878,_0x39ee39){return _0xc5a9ec(_0x3b7878,_0x39ee39- -0x60d);}return _0x5e722c[_0x25880e(-0x41,-0x87)][_0xb9731a(0x40d,0x3ff)];},'postProcessingPosition':function(){return _0x5e722c['particlesTextures']['postProcessingPosition'];},'particlesSpeed':function(){function _0x3569fd(_0x137edc,_0x427ce){return _0x23e709(_0x137edc,_0x427ce-0x64e);}return _0x5e722c[_0x3569fd(0x52f,0x555)]['particlesSpeed'];},'colorTable':function(){function _0xf8a225(_0x802daf,_0x4cce5f){return _0xc5a9ec(_0x4cce5f,_0x802daf- -0x72);}return _0x295764[_0xf8a225(0x5b9,0x5d6)]['colorTable'];},'aspect':function(){function _0x1ca9ee(_0x3a114b,_0x5ae455){return _0x23e709(_0x3a114b,_0x5ae455-0x5ba);}return _0x1c742f['drawingBufferWidth']/_0x1c742f[_0x1ca9ee(0x4fc,0x527)];},'H':function(){return _0x2f782d['H']['array'];},'hRange':function(){function _0x2d3e9f(_0x150972,_0x448fef){return _0xc5a9ec(_0x150972,_0x448fef- -0x16);}return new Cesium$4['Cartesian2'](_0x2f782d['H']['min'],_0x2f782d['H'][_0x2d3e9f(0x580,0x552)]);},'uSpeedRange':function(){function _0x215856(_0x10856b,_0x380a4c){return _0xc5a9ec(_0x380a4c,_0x10856b- -0x46);}function _0x15df34(_0x9c313e,_0x23bda1){return _0xc5a9ec(_0x23bda1,_0x9c313e- -0x3bb);}return new Cesium$4[(_0x15df34(0x18f,0x12a))](_0x2f782d['U'][_0x15df34(0x1b5,0x1ac)],_0x2f782d['U']['max']);},'vSpeedRange':function(){function _0x50ceae(_0x113004,_0x2c8a41){return _0x23e709(_0x2c8a41,_0x113004-0x32);}return new Cesium$4['Cartesian2'](_0x2f782d['V'][_0x50ceae(-0xdd,-0x6c)],_0x2f782d['V']['max']);},'wSpeedRange':function(){function _0x3a7599(_0x33dc2a,_0x423621){return _0xc5a9ec(_0x423621,_0x33dc2a- -0x212);}return new Cesium$4['Cartesian2'](_0x2f782d['W'][_0x3a7599(0x35e,0x3c3)],_0x2f782d['W']['max']);},'pixelSize':function(){function _0x3de8e3(_0x4e5687,_0x5e4347){return _0x23e709(_0x4e5687,_0x5e4347-0x62b);}return _0x4ebcf6[_0x3de8e3(0x55d,0x5ba)];},'lineWidth':function(){return _0xfd504['lineWidth'];},'particleHeight':function(){return _0xfd504['particleHeight'];},'colour':function(){return _0x295764['colour'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x1001a5),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x1b8dec),'rawRenderState':Util[_0x23e709(-0x123,-0x147)](_0x411d94),'framebuffer':this['framebuffers']['segments'],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':_0xc5a9ec(0x62f,0x5c5),'attributeLocations':_0x43a0ca,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4[_0x23e709(-0xfa,-0x143)]['TRIANGLES'],'uniformMap':{'segmentsColorTexture':function(){return _0x295764['textures']['segmentsColor'];},'segmentsDepthTexture':function(){return _0x295764['textures']['segmentsDepth'];},'currentTrailsColor':function(){function _0x44c55e(_0x465714,_0x1edb1a){return _0x23e709(_0x1edb1a,_0x465714-0x6e7);}return _0x295764['framebuffers']['currentTrails'][_0x44c55e(0x663,0x5e6)](0x0);},'trailsDepthTexture':function(){function _0x1a8619(_0x11bc56,_0x28bf00){return _0xc5a9ec(_0x11bc56,_0x28bf00- -0x17c);}return _0x295764[_0x1a8619(0x4e9,0x485)]['currentTrails']['depthTexture'];},'fadeOpacity':function(){return _0xfd504['fadeOpacity'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0xfd6643),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x147d49),'rawRenderState':Util[_0xc5a9ec(0x59d,0x538)]({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4['DepthFunction'][_0xc5a9ec(0x594,0x534)]},'depthMask':!![]}),'framebuffer':this[_0x23e709(-0xc1,-0x7e)]['nextTrails'],'autoClear':!![],'preExecute':function(){function _0x529293(_0x55deab,_0x103428){return _0x23e709(_0x55deab,_0x103428-0x37d);}if(_0xfd504['dynamic']){const _0x4950a5=_0x295764['framebuffers']['currentTrails'];_0x295764[_0x529293(0x2be,0x2ff)]['currentTrails']=_0x295764['framebuffers']['nextTrails'],_0x295764['framebuffers'][_0x529293(0x2e2,0x259)]=_0x4950a5;}_0x295764['primitives']['trails']['commandToExecute']['framebuffer']=_0x295764['framebuffers']['nextTrails'];function _0x57e1fa(_0x151b9a,_0x209767){return _0xc5a9ec(_0x209767,_0x151b9a- -0x5fe);}_0x295764['primitives'][_0x57e1fa(0x20,0xaa)][_0x57e1fa(0xc,0x1e)]['framebuffer']=_0x295764['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x4f84ef,'geometry':Util['getFullscreenQuad'](),'primitiveType':Cesium$4['PrimitiveType'][_0x23e709(-0xd,-0x62)],'uniformMap':{'trailsColorTexture':function(){function _0x2e9988(_0x42bbdf,_0x4ed5f4){return _0xc5a9ec(_0x42bbdf,_0x4ed5f4- -0x27f);}function _0x7a4844(_0x19f505,_0x47c9d6){return _0x23e709(_0x47c9d6,_0x19f505- -0x6c);}return _0x295764[_0x7a4844(-0xea,-0x13e)][_0x2e9988(0x2f2,0x2dc)]['getColorTexture'](0x0);},'trailsDepthTexture':function(){function _0xde64c1(_0x1557f5,_0x29dc70){return _0xc5a9ec(_0x1557f5,_0x29dc70- -0x65a);}function _0x458b9a(_0x3e9a2c,_0x3d80b7){return _0xc5a9ec(_0x3e9a2c,_0x3d80b7- -0x3ba);}return _0x295764[_0xde64c1(0x29,-0x59)]['nextTrails'][_0x458b9a(0x170,0x1ec)];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x23841b),'fragmentShaderSource':new Cesium$4[(_0xc5a9ec(0x57f,0x5ed))](_0x415781),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x15088f,'depthMask':!![],'blending':_0x5f2fa2}),'framebuffer':undefined})};}}var CalculateSpeedShader='#version\x20300\x20es\x0a\x0a//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0auniform\x20sampler2D\x20W;\x20//\x20upward\x20wind\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\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20vec2\x20wSpeedRange;\x0auniform\x20float\x20speedScaleFactor;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20lonLatLev.x\x20=\x20clamp(lonLatLev.x,\x20minimum.x,\x20maximum.x);\x0a\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20minimum.y,\x20maximum.y);\x0a\x20\x20lonLatLev.z\x20=\x20clamp(lonLatLev.z,\x20minimum.z,\x20maximum.z);\x0a\x0a\x20\x20vec3\x20index3D\x20=\x20vec3(0.0f);\x0a\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20//\x20map\x20the\x20z-axis\x20value\x20to\x20the\x20nearest\x20bit\x20plane\x20to\x20ensure\x20that\x20the\x20result\x20is\x20an\x20integer\x0a\x20\x20index3D.z\x20=\x20ceil((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,\x207,\x208,\x209],\x20width\x20=\x202,\x20height\x20=\x202,\x20level\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\x206\x207\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x202\x203\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWindComponent(sampler2D\x20componentTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20float\x20result\x20=\x20texture(componentTexture,\x20normalizedIndex2D).r;\x0a\x20\x20return\x20result;\x0a}\x0a\x0afloat\x20interpolateTexture(sampler2D\x20componentTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20float\x20lon0\x20=\x20floor(lon\x20/\x20interval.x)\x20*\x20interval.x;\x0a\x20\x20float\x20lon1\x20=\x20lon0\x20+\x201.0f\x20*\x20interval.x;\x0a\x20\x20float\x20lat0\x20=\x20floor(lat\x20/\x20interval.y)\x20*\x20interval.y;\x0a\x20\x20float\x20lat1\x20=\x20lat0\x20+\x201.0f\x20*\x20interval.y;\x0a\x0a\x20\x20float\x20lon0_lat0\x20=\x20getWindComponent(componentTexture,\x20vec3(lon0,\x20lat0,\x20lev));\x0a\x20\x20float\x20lon1_lat0\x20=\x20getWindComponent(componentTexture,\x20vec3(lon1,\x20lat0,\x20lev));\x0a\x20\x20float\x20lon0_lat1\x20=\x20getWindComponent(componentTexture,\x20vec3(lon0,\x20lat1,\x20lev));\x0a\x20\x20float\x20lon1_lat1\x20=\x20getWindComponent(componentTexture,\x20vec3(lon1,\x20lat1,\x20lev));\x0a\x0a\x20\x20float\x20lon_lat0\x20=\x20mix(lon0_lat0,\x20lon1_lat0,\x20lon\x20-\x20lon0);\x0a\x20\x20float\x20lon_lat1\x20=\x20mix(lon0_lat1,\x20lon1_lat1,\x20lon\x20-\x20lon0);\x0a\x20\x20float\x20lon_lat\x20=\x20mix(lon_lat0,\x20lon_lat1,\x20lat\x20-\x20lat0);\x0a\x20\x20return\x20lon_lat;\x0a}\x0a\x0avec3\x20linearInterpolation(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bilinear_interpolation\x0a\x20\x20float\x20u\x20=\x20interpolateTexture(U,\x20lonLatLev);\x0a\x20\x20float\x20v\x20=\x20interpolateTexture(V,\x20lonLatLev);\x0a\x20\x20float\x20w\x20=\x20interpolateTexture(W,\x20lonLatLev);\x0a\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\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\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20float\x20term1\x20=\x20111132.92f;\x0a\x20\x20float\x20term2\x20=\x20559.82f\x20*\x20cos(2.0f\x20*\x20latitude);\x0a\x20\x20float\x20term3\x20=\x201.175f\x20*\x20cos(4.0f\x20*\x20latitude);\x0a\x20\x20float\x20term4\x20=\x200.0023f\x20*\x20cos(6.0f\x20*\x20latitude);\x0a\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20float\x20term5\x20=\x20111412.84f\x20*\x20cos(latitude);\x0a\x20\x20float\x20term6\x20=\x2093.5f\x20*\x20cos(3.0f\x20*\x20latitude);\x0a\x20\x20float\x20term7\x20=\x200.118f\x20*\x20cos(5.0f\x20*\x20latitude);\x0a\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avec3\x20convertSpeedUnitToLonLat(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20float\x20w\x20=\x20speed.z;\x0a\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20return\x20windVectorInLonLatLev;\x0a}\x0a\x0avec3\x20calculateSpeedByRungeKutta2(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods#Second-order_methods_with_two_stages\x20for\x20detail\x0a\x20\x20const\x20float\x20h\x20=\x200.5f;\x0a\x0a\x20\x20vec3\x20y_n\x20=\x20lonLatLev;\x0a\x20\x20vec3\x20f_n\x20=\x20linearInterpolation(lonLatLev);\x0a\x20\x20vec3\x20midpoint\x20=\x20y_n\x20+\x200.5f\x20*\x20h\x20*\x20convertSpeedUnitToLonLat(y_n,\x20f_n)\x20*\x20speedScaleFactor;\x0a\x20\x20vec3\x20speed\x20=\x20h\x20*\x20linearInterpolation(midpoint)\x20*\x20speedScaleFactor;\x0a\x0a\x20\x20return\x20speed;\x0a}\x0a\x0avec2\x20getRange(vec2\x20range)\x20{\x0a\x20\x20float\x20x1\x20=\x200.0f\x20-\x20range.x;\x0a\x20\x20float\x20x2\x20=\x20range.y\x20-\x200.0f;\x0a\x20\x20if(x1\x20<\x200.0f\x20||\x20x2\x20<\x200.0f)\x20{\x0a\x20\x20\x20\x20return\x20vec2(abs(x1),\x20abs(x2));\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20return\x20vec2(0.0f,\x20abs(max(x1,\x20x2)));\x0a\x20\x20}\x0a}\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20vec3\x20percent\x20=\x20vec3(0.0f);\x0a\x20\x20vec2\x20uRange\x20=\x20getRange(uSpeedRange);\x0a\x20\x20vec2\x20vRange\x20=\x20getRange(vSpeedRange);\x0a\x20\x20vec2\x20wRange\x20=\x20getRange(wSpeedRange);\x0a\x20\x20if(length(speed.xyz)\x20==\x200.0f)\x20{\x0a\x20\x20\x20\x20return\x200.0f;\x0a\x20\x20}\x0a\x0a\x20\x20percent.x\x20=\x20(abs(speed.x)\x20-\x20uRange.x)\x20/\x20(uRange.y\x20-\x20uRange.x);\x0a\x20\x20percent.y\x20=\x20(abs(speed.y)\x20-\x20vRange.x)\x20/\x20(vRange.y\x20-\x20vRange.x);\x0a\x20\x20if(wSpeedRange.y\x20==\x20wSpeedRange.x)\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x200.0f;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x20(abs(speed.z)\x20-\x20wRange.x)\x20/\x20(wRange.y\x20-\x20wRange.x);\x0a\x20\x20}\x0a\x20\x20float\x20norm\x20=\x20length(percent);\x0a\x0a\x20\x20return\x20norm;\x0a}\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec3\x20speedOrigin\x20=\x20linearInterpolation(lonLatLev);\x0a\x20\x20vec3\x20speed\x20=\x20calculateSpeedByRungeKutta2(lonLatLev);\x0a\x20\x20vec3\x20speedInLonLat\x20=\x20convertSpeedUnitToLonLat(lonLatLev,\x20speed);\x0a\x0a\x20\x20vec4\x20particleSpeed\x20=\x20vec4(speedInLonLat,\x20calculateWindNorm(speed\x20/\x20speedScaleFactor));\x0a\x20\x20\x20\x20//\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20fragColor\x20=\x20vec4(speedInLonLat,\x20calculateWindNorm(speedOrigin));\x0a}\x0a',PostProcessingPositionShader=_0x2a0630(0x586,0x5b2);function _0x4ed229(_0x1bd412,_0x5d3adb){return _0x37ec(_0x1bd412- -0x293,_0x5d3adb);}function _0x2a0630(_0x548d34,_0x40270a){return _0x37ec(_0x548d34-0x3c1,_0x40270a);}var UpdatePositionShader='#version\x20300\x20es\x0a\x0aprecision\x20highp\x20float;\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20particlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20norm)\x20Unit\x20converted\x20to\x20degrees\x20of\x20longitude\x20and\x20latitude\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec3\x20speed\x20=\x20texture(particlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20speed;\x0a\x20\x20if(length(speed.rgb)\x20>\x200.0f)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(nextParticle,\x200.0f);\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(0.0f);\x0a\x20\x20}\x0a}\x0a';const Cesium$3=mars3d__namespace[_0x2a0630(0x5e8,0x565)];class ParticlesComputing{constructor(_0x150a1b,_0x60e91b,_0x4ee0a9,_0x5c6726){this['data']=_0x60e91b,this[_0x1bed70(0x4cc,0x53a)](_0x150a1b,_0x60e91b);function _0x348879(_0x2f53ce,_0x387417){return _0x4ed229(_0x387417-0x60c,_0x2f53ce);}this[_0x348879(0x53c,0x563)](_0x150a1b,_0x4ee0a9,_0x5c6726);function _0x1bed70(_0x2f2cdc,_0x2a7d39){return _0x2a0630(_0x2a7d39- -0x8f,_0x2f2cdc);}this[_0x1bed70(0x4e6,0x535)](_0x60e91b,_0x4ee0a9,_0x5c6726);}[_0x4ed229(-0x8b,0x0)](_0xa1a1bb,_0x2693ec){function _0x1a493e(_0x24ecc6,_0x50139a){return _0x4ed229(_0x24ecc6-0x2c3,_0x50139a);}var _0x5130c2;function _0x3b0bf3(_0x4d4308,_0x2a2818){return _0x4ed229(_0x2a2818-0x61b,_0x4d4308);}const _0x15af80={'context':_0xa1a1bb,'width':_0x2693ec['dimensions']['lon'],'height':_0x2693ec['dimensions']['lat']*(_0x2693ec['dimensions']['lev']||0x1),'pixelFormat':Cesium$3['PixelFormat']['RED'],'pixelDatatype':Cesium$3['PixelDatatype'][_0x1a493e(0x256,0x2a8)],'flipY':![],'sampler':new Cesium$3[(_0x3b0bf3(0x556,0x55a))]({'minificationFilter':Cesium$3[_0x1a493e(0x244,0x1e4)][_0x3b0bf3(0x58f,0x5b2)],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};this['windTextures']={'U':Util[_0x1a493e(0x234,0x1cb)](_0x15af80,_0x2693ec['U'][_0x1a493e(0x273,0x28c)]),'V':Util['createTexture'](_0x15af80,_0x2693ec['V']['array']),'W':Util[_0x3b0bf3(0x513,0x58c)](_0x15af80,((_0x5130c2=_0x2693ec['W'])===null||_0x5130c2===void 0x0?void 0x0:_0x5130c2['array'])??_0x2693ec['U'][_0x3b0bf3(0x596,0x5cb)]),'H':Util['createTexture'](_0x15af80,_0x2693ec['H'][_0x3b0bf3(0x59a,0x5cb)])};}['createParticlesTextures'](_0x2534f0,_0x1645cc,_0x28d6cb){const _0x3e030e={'context':_0x2534f0,'width':_0x1645cc[_0x28e1aa(-0x10d,-0x173)],'height':_0x1645cc['particlesTextureSize'],'pixelFormat':Cesium$3[_0x28e1aa(-0xd2,-0xbf)]['RGBA'],'pixelDatatype':Cesium$3['PixelDatatype']['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter'][_0x28e1aa(-0xbd,-0x117)]})};function _0x18f9aa(_0x303f4f,_0x4ac1b8){return _0x4ed229(_0x303f4f-0x460,_0x4ac1b8);}const _0x183511=this['randomizeParticles'](_0x1645cc[_0x28e1aa(-0x76,0x18)],_0x28d6cb);function _0x28e1aa(_0x566e77,_0x3032aa){return _0x2a0630(_0x566e77- -0x6a8,_0x3032aa);}const _0x4bcec1=new Float32Array(0x4*_0x1645cc['maxParticles'])['fill'](0x0);this[_0x18f9aa(0x3d6,0x3f4)]={'previousParticlesPosition':Util[_0x28e1aa(-0xe3,-0xf1)](_0x3e030e,_0x183511),'currentParticlesPosition':Util['createTexture'](_0x3e030e,_0x183511),'nextParticlesPosition':Util[_0x28e1aa(-0xe3,-0x162)](_0x3e030e,_0x183511),'postProcessingPosition':Util['createTexture'](_0x3e030e,_0x183511),'particlesSpeed':Util['createTexture'](_0x3e030e,_0x4bcec1)};}['randomizeParticles'](_0x28e77f,_0x1fc38d){const _0x41a4fd=new Float32Array(0x4*_0x28e77f);function _0x54e948(_0x593d95,_0x431abd){return _0x4ed229(_0x431abd-0x553,_0x593d95);}function _0x2981ed(_0x33fb0e,_0x11f147){return _0x2a0630(_0x33fb0e- -0x689,_0x11f147);}for(let _0x264e5b=0x0;_0x264e5b<_0x28e77f;_0x264e5b++){_0x41a4fd[0x4*_0x264e5b]=Cesium$3['Math']['randomBetween'](_0x1fc38d[_0x2981ed(-0xf3,-0x17d)]['x'],_0x1fc38d[_0x54e948(0x4ff,0x495)]['y']),_0x41a4fd[0x4*_0x264e5b+0x1]=Cesium$3[_0x54e948(0x55f,0x585)][_0x54e948(0x561,0x559)](_0x1fc38d[_0x54e948(0x50b,0x565)]['x'],_0x1fc38d[_0x2981ed(-0x23,0x2c)]['y']),_0x41a4fd[0x4*_0x264e5b+0x2]=Cesium$3['Math']['randomBetween'](this[_0x2981ed(-0x1f,-0x9e)]['lev']['min'],this['data'][_0x2981ed(-0xe7,-0x14f)]['max']),_0x41a4fd[0x4*_0x264e5b+0x3]=0x0;}return _0x41a4fd;}['getValidRange'](_0x5493ce){const _0x3682e3=[_0x5493ce['dimensions'][_0x1df08f(0x223,0x200)],_0x5493ce['dimensions'][_0x1df08f(0x279,0x245)],_0x5493ce['dimensions']['lev']],_0x18d8e0=[_0x5493ce['lon'][_0x16c8e9(0x216,0x1d7)],_0x5493ce[_0x1df08f(0x279,0x20f)]['min'],_0x5493ce[_0x16c8e9(0x24c,0x1c5)][_0x16c8e9(0x1e3,0x1d7)]],_0xc2cae6=[_0x5493ce['lon'][_0x1df08f(0x1dd,0x268)],_0x5493ce[_0x1df08f(0x279,0x285)]['max'],_0x5493ce['lev']['max']],_0x25de41=[(_0xc2cae6[0x0]-_0x18d8e0[0x0])/(_0x3682e3[0x0]-0x1),(_0xc2cae6[0x1]-_0x18d8e0[0x1])/(_0x3682e3[0x1]-0x1),_0x3682e3[0x2]>0x1?(_0xc2cae6[0x2]-_0x18d8e0[0x2])/(_0x3682e3[0x2]-0x1):0x1];function _0x1df08f(_0x378cf1,_0x48a4df){return _0x4ed229(_0x378cf1-0x285,_0x48a4df);}const _0x880f3e=Math['floor'](Math[_0x1df08f(0x208,0x279)]()*_0x5493ce['U']['array'][_0x16c8e9(0x23b,0x216)]),_0x2b1777=_0x880f3e%(_0x3682e3[0x0]*_0x3682e3[0x1]),_0x15b1b1=Math['floor'](_0x2b1777/_0x3682e3[0x0]),_0x546aef=_0x2b1777%_0x3682e3[0x0],_0x73fb30=Cesium$3['Math'][_0x16c8e9(0x2a6,0x27d)](_0x18d8e0[0x0]+_0x546aef*_0x25de41[0x0],_0x18d8e0[0x0]+(_0x546aef+0x1)*_0x25de41[0x0]),_0x49e042=Cesium$3[_0x1df08f(0x2b7,0x2f9)][_0x1df08f(0x28b,0x1fc)](_0x18d8e0[0x1]+(_0x15b1b1-0x1)*_0x25de41[0x1],_0x18d8e0[0x1]+_0x15b1b1*_0x25de41[0x1]);function _0x16c8e9(_0x140883,_0x336b0f){return _0x4ed229(_0x336b0f-0x277,_0x140883);}const _0x4942e9=_0x5493ce['H'][_0x1df08f(0x235,0x2aa)][_0x880f3e]||0x0;return[_0x73fb30,_0x49e042,_0x4942e9];}['destroyParticlesTextures'](){function _0x55232e(_0xf614bb,_0x2f6b93){return _0x2a0630(_0xf614bb- -0x3a1,_0x2f6b93);}function _0x5d17e8(_0x432a35,_0x3f61a3){return _0x4ed229(_0x432a35-0x445,_0x3f61a3);}Object['keys'](this[_0x55232e(0x229,0x1d3)])[_0x55232e(0x27c,0x25c)](_0xcbca9c=>{this['particlesTextures'][_0xcbca9c]['destroy']();});}['createComputingPrimitives'](_0x3f08d0,_0x5649fd,_0x2f71b6){const _0x195658=new Cesium$3[(_0x545f4b(0x112,0x13b))](_0x3f08d0['dimensions']['lon'],_0x3f08d0['dimensions'][_0x1136a6(0x1a1,0x21f)],_0x3f08d0[_0x545f4b(0x142,0x11e)]['lev']),_0x195152=new Cesium$3['Cartesian3'](_0x3f08d0['lon']['min'],_0x3f08d0['lat'][_0x1136a6(0x10d,0x121)],_0x3f08d0['lev'][_0x545f4b(0xbb,0x114)]),_0x330de6=new Cesium$3['Cartesian3'](_0x3f08d0['lon'][_0x1136a6(0x105,0x192)],_0x3f08d0['lat']['max'],_0x3f08d0[_0x545f4b(0xa9,0x25)][_0x545f4b(0xb3,0xf8)]),_0x175adb=new Cesium$3[(_0x545f4b(0x112,0x155))]((_0x330de6['x']-_0x195152['x'])/(_0x195658['x']-0x1),(_0x330de6['y']-_0x195152['y'])/(_0x195658['y']-0x1),_0x195658['z']>0x1?(_0x330de6['z']-_0x195152['z'])/(_0x195658['z']-0x1):0x1),_0x519f80=new Cesium$3['Cartesian2'](_0x3f08d0['lon']['min'],_0x3f08d0['lon']['max']),_0x4ecdc4=new Cesium$3['Cartesian2'](_0x3f08d0[_0x545f4b(0x14f,0x11e)]['min'],_0x3f08d0['lat']['max']),_0x24b3cc=new Cesium$3['Cartesian2'](_0x3f08d0['U']['min'],_0x3f08d0['U']['max']),_0x4aca77=new Cesium$3['Cartesian2'](_0x3f08d0['V']['min'],_0x3f08d0['V']['max']);function _0x1136a6(_0x477e67,_0x29260d){return _0x4ed229(_0x477e67-0x1ad,_0x29260d);}const _0x1685b9=new Cesium$3['Cartesian2'](_0x3f08d0['W'][_0x1136a6(0x10d,0xec)],_0x3f08d0['W'][_0x1136a6(0x105,0x122)]),_0x35183e=this,_0x14eb83={};function _0x545f4b(_0x66709e,_0x2948d3){return _0x2a0630(_0x66709e- -0x4f9,_0x2948d3);}_0x14eb83['U']=function(){function _0x1ce5f7(_0x67d278,_0x37f905){return _0x545f4b(_0x37f905- -0x15b,_0x67d278);}return _0x35183e[_0x1ce5f7(-0x3a,-0x48)]['U'];},_0x14eb83['V']=function(){return _0x35183e['windTextures']['V'];},_0x14eb83['W']=function(){return _0x35183e['windTextures']['W'];},_0x14eb83['currentParticlesPosition']=function(){function _0x1aad31(_0x25eaa9,_0xe2b6dc){return _0x1136a6(_0xe2b6dc-0x10d,_0x25eaa9);}return _0x35183e[_0x1aad31(0x1d0,0x230)]['currentParticlesPosition'];},_0x14eb83['dimension']=function(){return _0x195658;},_0x14eb83['minimum']=function(){return _0x195152;},_0x14eb83[_0x545f4b(0x14e,0xd5)]=function(){return _0x330de6;},_0x14eb83[_0x545f4b(0xcd,0x122)]=function(){return _0x175adb;},_0x14eb83[_0x1136a6(0x158,0xcb)]=function(){return _0x24b3cc;},_0x14eb83['vSpeedRange']=function(){return _0x4aca77;},_0x14eb83[_0x1136a6(0x1ad,0x183)]=function(){return _0x1685b9;},_0x14eb83['speedScaleFactor']=function(){function _0x50e77c(_0x32e2fd,_0x4d7e71){return _0x1136a6(_0x32e2fd-0x3e4,_0x4d7e71);}return _0x2f71b6[_0x50e77c(0x58f,0x5b0)]*_0x5649fd['speedFactor'];};const _0x38c081={};_0x38c081['sources']=[CalculateSpeedShader];const _0x39fdaf={};_0x39fdaf['sources']=[UpdatePositionShader];const _0x205399={};_0x205399[_0x1136a6(0x19b,0x10a)]=[PostProcessingPositionShader],this[_0x1136a6(0x125,0x140)]={'calculateSpeed':new CustomPrimitive({'commandType':'Compute','uniformMap':_0x14eb83,'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x38c081),'outputTexture':this[_0x545f4b(0xd1,0x99)][_0x1136a6(0x190,0x21b)],'preExecute':function(){function _0x3f9849(_0x3aa67c,_0x427f9c){return _0x545f4b(_0x427f9c-0x90,_0x3aa67c);}if(_0x5649fd!==undefined&&_0x5649fd['dynamic']){const _0x216862=_0x35183e['particlesTextures']['previousParticlesPosition'];_0x35183e['particlesTextures']['previousParticlesPosition']=_0x35183e[_0x4373a4(0x1cb,0x195)][_0x3f9849(0x17d,0x1e6)],_0x35183e['particlesTextures']['currentParticlesPosition']=_0x35183e[_0x4373a4(0x1cb,0x1ae)][_0x4373a4(0x1b2,0x15f)],_0x35183e['particlesTextures'][_0x3f9849(0x10d,0x148)]=_0x216862;}function _0x4373a4(_0x6aaf41,_0x23bfd6){return _0x545f4b(_0x6aaf41-0xfa,_0x23bfd6);}_0x35183e[_0x3f9849(0x1ba,0x163)][_0x4373a4(0x258,0x201)]['commandToExecute']['outputTexture']=_0x35183e['particlesTextures'][_0x3f9849(0x1c5,0x1ce)];}}),'updatePosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'currentParticlesPosition':function(){function _0x5444a3(_0x461de9,_0x113cac){return _0x545f4b(_0x113cac-0x48a,_0x461de9);}return _0x35183e['particlesTextures'][_0x5444a3(0x607,0x5e0)];},'particlesSpeed':function(){return _0x35183e['particlesTextures']['particlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x39fdaf),'outputTexture':this['particlesTextures']['nextParticlesPosition'],'preExecute':function(){function _0x29eb15(_0x25d98a,_0x4cbea4){return _0x545f4b(_0x25d98a-0x27e,_0x4cbea4);}function _0x592fac(_0x230d2e,_0x2c7b87){return _0x1136a6(_0x230d2e-0x58,_0x2c7b87);}_0x35183e['primitives'][_0x592fac(0x12f,0x178)]['commandToExecute']['outputTexture']=_0x35183e['particlesTextures'][_0x29eb15(0x399,0x38d)];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x3dc31e(_0x268fda,_0x4cb54f){return _0x1136a6(_0x4cb54f-0x167,_0x268fda);}return _0x35183e[_0x3dc31e(0x2fb,0x28a)]['nextParticlesPosition'];},'particlesSpeed':function(){return _0x35183e['particlesTextures']['particlesSpeed'];},'viewerLonRange':function(){return _0x2f71b6['lonRange'];},'viewerLatRange':function(){return _0x2f71b6['latRange'];},'lonRange':function(){return _0x519f80;},'latRange':function(){return _0x4ecdc4;},'dimension':function(){return _0x195658;},'minimum':function(){return _0x195152;},'maximum':function(){return _0x330de6;},'interval':function(){return _0x175adb;},'H':function(){return _0x35183e['windTextures']['H'];},'randomCoefficient':function(){const _0x275f38=Math['random']();return _0x275f38;},'dropRate':function(){return _0x5649fd['dropRate'];},'dropRateBump':function(){return _0x5649fd['dropRateBump'];}},'fragmentShaderSource':new Cesium$3[(_0x1136a6(0x18a,0x154))](_0x205399),'outputTexture':this['particlesTextures']['postProcessingPosition'],'preExecute':function(){function _0x81dc2f(_0xe8579d,_0x2a3e82){return _0x545f4b(_0xe8579d- -0x24a,_0x2a3e82);}function _0x37aa55(_0x17e88a,_0x70b36c){return _0x545f4b(_0x70b36c- -0x43,_0x17e88a);}_0x35183e['primitives']['postProcessingPosition'][_0x81dc2f(-0x122,-0x164)]['outputTexture']=_0x35183e['particlesTextures'][_0x81dc2f(-0x192,-0x1b6)];}})};}}const Cesium$2=mars3d__namespace['Cesium'];class ParticleSystem{constructor(_0x23bd72,_0x43500b,_0xf61173,_0x250340){this['context']=_0x23bd72;function _0xaf7988(_0xd850be,_0x56991d){return _0x4ed229(_0x56991d-0x3d3,_0xd850be);}_0x43500b={..._0x43500b};_0x43500b['udata']&&_0x43500b['vdata']&&(_0x43500b[_0x1f946a(0x2a2,0x299)]={},_0x43500b['dimensions'][_0x1f946a(0x259,0x1f5)]=_0x43500b['cols'],_0x43500b[_0xaf7988(0x414,0x3ba)]['lat']=_0x43500b[_0x1f946a(0x271,0x207)],_0x43500b['dimensions'][_0x1f946a(0x209,0x1b3)]=_0x43500b['lev']||0x1,_0x43500b['lon']={},_0x43500b[_0x1f946a(0x259,0x216)]['min']=_0x43500b['xmin'],_0x43500b['lon'][_0x1f946a(0x213,0x27a)]=_0x43500b['xmax'],_0x43500b['lat']={},_0x43500b['lat'][_0x1f946a(0x21b,0x29c)]=_0x43500b[_0xaf7988(0x383,0x376)],_0x43500b['lat'][_0x1f946a(0x213,0x247)]=_0x43500b['ymax'],_0x43500b['lev']={},_0x43500b['lev'][_0x1f946a(0x21b,0x222)]=_0x43500b[_0x1f946a(0x2cc,0x31d)]??0x1,_0x43500b[_0x1f946a(0x209,0x1a4)]['max']=_0x43500b[_0xaf7988(0x2df,0x35a)]??0x1,_0x43500b['U']={},_0x43500b['U'][_0x1f946a(0x26b,0x2ee)]=new Float32Array(_0x43500b['udata']),_0x43500b['U'][_0xaf7988(0x36d,0x333)]=_0x43500b['umin']??Math[_0x1f946a(0x21b,0x1cc)](..._0x43500b[_0x1f946a(0x216,0x27c)]),_0x43500b['U']['max']=_0x43500b['umax']??Math['max'](..._0x43500b[_0x1f946a(0x216,0x206)]),_0x43500b['V']={},_0x43500b['V']['array']=new Float32Array(_0x43500b[_0x1f946a(0x29f,0x293)]),_0x43500b['V']['min']=_0x43500b['vmin']??Math[_0x1f946a(0x21b,0x269)](..._0x43500b[_0xaf7988(0x355,0x3b7)]),_0x43500b['V']['max']=_0x43500b['vmax']??Math['max'](..._0x43500b['vdata']));!_0x43500b['W']&&(_0x43500b['W']={'array':new Float32Array(_0x43500b['U']['array'][_0x1f946a(0x25a,0x2a2)]),'min':0x0,'max':0x0});if(!_0x43500b['H']){var _0x54c367;_0x43500b['H']={'array':new Float32Array(_0x43500b['U']['array']['length']),'min':0x0,'max':0x0};if((_0x54c367=_0x43500b['lev'])!==null&&_0x54c367!==void 0x0&&_0x54c367['array']){const {lon:_0x55e1dc,lat:_0x12d58e,lev:_0x4790f7}=_0x43500b['dimensions'];for(let _0x2819f0=0x0;_0x2819f0<_0x4790f7;_0x2819f0++){for(let _0x2abb67=0x0;_0x2abb67<_0x12d58e;_0x2abb67++){for(let _0xe131b3=0x0;_0xe131b3<_0x55e1dc;_0xe131b3++){const _0x58ff2d=_0x2819f0*(_0x55e1dc*_0x12d58e)+_0x2abb67*_0x55e1dc+_0xe131b3;_0x43500b['H'][_0x1f946a(0x26b,0x26e)][_0x58ff2d]=_0x43500b['lev']['array'][_0x2819f0];}}}_0x43500b['H']['min']=Math['min'](..._0x43500b[_0xaf7988(0x311,0x321)]['array']),_0x43500b['H'][_0x1f946a(0x213,0x1b5)]=Math[_0xaf7988(0x2bc,0x32b)](..._0x43500b['lev']['array']);}}this['data']=_0x43500b,this[_0xaf7988(0x403,0x412)]=_0xf61173,this[_0xaf7988(0x3e1,0x351)]=_0x250340;function _0x1f946a(_0xa01e2c,_0x3476de){return _0x2a0630(_0xa01e2c- -0x399,_0x3476de);}this['particlesComputing']=new ParticlesComputing(this['context'],this['data'],this['options'],this[_0x1f946a(0x239,0x2b3)]),this[_0x1f946a(0x246,0x220)]=new ParticlesRendering(this[_0x1f946a(0x2c7,0x2cb)],this[_0xaf7988(0x427,0x3e9)],this[_0x1f946a(0x2fa,0x35d)],this['viewerParameters'],this['particlesComputing']);}['canvasResize'](_0xea1051){this[_0x3b25bc(0x597,0x5d7)]['destroyParticlesTextures'](),Object['keys'](this[_0x3b25bc(0x608,0x5d7)]['windTextures'])[_0x3b25bc(0x5bc,0x57b)](_0x439039=>{function _0x10d68d(_0x21fb95,_0x8bf1be){return _0x3b25bc(_0x21fb95,_0x8bf1be- -0x1fe);}this['particlesComputing'][_0x10d68d(0x308,0x36c)][_0x439039]['destroy']();}),this[_0x3b25bc(0x55f,0x53d)][_0x3b25bc(0x592,0x5cd)]['colorTable']['destroy'](),Object[_0x3b25bc(0x5d0,0x5df)](this['particlesRendering'][_0x42df4c(0x563,0x563)])[_0x42df4c(0x53b,0x530)](_0x18a027=>{function _0x27ff53(_0xf84e0b,_0x7d2cd6){return _0x42df4c(_0x7d2cd6- -0x8c,_0xf84e0b);}this[_0x27ff53(0x499,0x471)]['framebuffers'][_0x18a027]['destroy']();});function _0x42df4c(_0x1c0571,_0x1aac6d){return _0x4ed229(_0x1c0571-0x572,_0x1aac6d);}this['context']=_0xea1051,this[_0x42df4c(0x597,0x551)]=new ParticlesComputing(this['context'],this[_0x3b25bc(0x64d,0x5c8)],this['options'],this['viewerParameters']);function _0x3b25bc(_0x313d47,_0x45c8ff){return _0x2a0630(_0x45c8ff- -0xa2,_0x313d47);}this['particlesRendering']=new ParticlesRendering(this[_0x42df4c(0x57e,0x5a0)],this['data'],this['options'],this['viewerParameters'],this[_0x42df4c(0x597,0x58e)]);}['clearFramebuffers'](){const _0x49a3e4=new Cesium$2['ClearCommand']({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x1fcbc1(0x2a0,0x225)]['OPAQUE']});function _0x1fcbc1(_0x33c255,_0x58e355){return _0x4ed229(_0x58e355-0x2c2,_0x33c255);}function _0x5823f7(_0x3c161a,_0x3385c9){return _0x4ed229(_0x3c161a-0x18f,_0x3385c9);}Object[_0x5823f7(0x1bc,0x1ea)](this[_0x5823f7(0x11a,0xc2)][_0x5823f7(0x180,0x180)])['forEach'](_0x2da3fb=>{_0x49a3e4['framebuffer']=this['particlesRendering']['framebuffers'][_0x2da3fb],_0x49a3e4['execute'](this['context']);});}['refreshParticles'](_0x54833f,_0x22bc4b=!![]){_0x22bc4b&&(this['clearFramebuffers'](),this['particlesComputing'][_0x3dfe7c(0x267,0x25c)](),this[_0x3dfe7c(0x358,0x330)][_0x464144(0x4d8,0x507)](this[_0x464144(0x59c,0x5bc)],this[_0x464144(0x5fc,0x5ef)],this['viewerParameters']));function _0x3dfe7c(_0x68c694,_0x2d7e08){return _0x4ed229(_0x68c694-0x333,_0x2d7e08);}function _0x464144(_0x3ca62f,_0x5a1125){return _0x2a0630(_0x5a1125- -0xa4,_0x3ca62f);}if(_0x54833f){var _0x2df62a;const _0x4d6e2b=this[_0x464144(0x56f,0x53b)]['createSegmentsGeometry'](this['options']);this['particlesRendering']['primitives']['segments']['geometry']=_0x4d6e2b;const _0x1c04fb=Cesium$2['VertexArray']['fromGeometry']({'context':this['context'],'geometry':_0x4d6e2b,'attributeLocations':this[_0x464144(0x4b2,0x53b)][_0x3dfe7c(0x2ab,0x32c)]['segments'][_0x3dfe7c(0x329,0x341)],'bufferUsage':Cesium$2['BufferUsage'][_0x3dfe7c(0x350,0x3a7)]});(_0x2df62a=this['particlesRendering']['primitives'])!==null&&_0x2df62a!==void 0x0&&(_0x2df62a=_0x2df62a['segments'])!==null&&_0x2df62a!==void 0x0&&_0x2df62a['commandToExecute']&&(this['particlesRendering']['primitives']['segments']['commandToExecute'][_0x3dfe7c(0x31f,0x364)]=_0x1c04fb);}}[_0x2a0630(0x582,0x52a)](_0x3fc90a){function _0x2e351e(_0x29bf30,_0x136c44){return _0x2a0630(_0x29bf30- -0x512,_0x136c44);}let _0x2a28bb=![];this['options']['maxParticles']!==_0x3fc90a[_0x2e351e(0x120,0x1ac)]&&(_0x2a28bb=!![]),Object['keys'](_0x3fc90a)['forEach'](_0x109c05=>{this['options'][_0x109c05]=_0x3fc90a[_0x109c05];}),this['refreshParticles'](_0x2a28bb,_0x3fc90a['dynamic']);}[_0x4ed229(-0x78,-0xe0)](_0x1ed514){function _0x3dd2cc(_0x3b106c,_0x4d53b8){return _0x4ed229(_0x3b106c- -0x4e,_0x4d53b8);}function _0x490aa3(_0x36f96f,_0x1a09f1){return _0x2a0630(_0x1a09f1- -0x52c,_0x36f96f);}Object['keys'](_0x1ed514)[_0x490aa3(0xea,0xf1)](_0x2c7ac1=>{this['viewerParameters'][_0x2c7ac1]=_0x1ed514[_0x2c7ac1];}),this[_0x490aa3(0xee,0xa2)](![]),!this[_0x3dd2cc(-0xf,-0x52)]['dynamic']&&(this['options']['dynamic']=!![],this[_0x490aa3(0x7a,0x56)](this['options']),setTimeout(()=>{function _0x2804b5(_0x16a6ed,_0x128c77){return _0x3dd2cc(_0x128c77-0x4a7,_0x16a6ed);}this['options'][_0x2804b5(0x490,0x452)]=![],this['setOptions'](this['options']);},0x1f4));}[_0x4ed229(-0xb3,-0x9b)](){clearTimeout(this[_0x5ebe26(0x34,0xab)]);function _0x5ebe26(_0x3d0492,_0x2e9188){return _0x4ed229(_0x2e9188-0x107,_0x3d0492);}this['particlesComputing'][_0x5ebe26(0x67,0x3b)](),Object[_0x5ebe26(0xd2,0x134)](this[_0x5ebe26(0x117,0x12c)]['windTextures'])[_0x5ebe26(0xfa,0xd0)](_0x324b43=>{function _0x3e43b6(_0x1390ed,_0x3c9d6b){return _0x5ebe26(_0x3c9d6b,_0x1390ed-0x3f5);}this['particlesComputing'][_0x3e43b6(0x4b4,0x46d)][_0x324b43]['destroy']();}),this['particlesRendering']['textures'][_0x4ae1a9(0x2f2,0x331)][_0x4ae1a9(0x28b,0x319)]();function _0x4ae1a9(_0x3c75e6,_0x2985c6){return _0x2a0630(_0x2985c6- -0x288,_0x3c75e6);}Object['keys'](this['particlesRendering'][_0x5ebe26(0xf4,0xf8)])['forEach'](_0x3c9d66=>{this['particlesRendering']['framebuffers'][_0x3c9d66]['destroy']();});for(const _0x42fb24 in this){delete this[_0x42fb24];}}}const Cesium$1=mars3d__namespace[_0x2a0630(0x5e8,0x60f)],BaseLayer$1=mars3d__namespace['layer'][_0x2a0630(0x579,0x607)],_0x478983={};_0x478983[_0x2a0630(0x60f,0x5cc)]=0x1000,_0x478983[_0x2a0630(0x692,0x62f)]=0x0,_0x478983['fadeOpacity']=0.996,_0x478983['dropRate']=0.003,_0x478983['dropRateBump']=0.01,_0x478983['speedFactor']=0.5,_0x478983[_0x4ed229(-0xbc,-0x5f)]=0x2,_0x478983['colors']=[_0x2a0630(0x67a,0x6da)],_0x478983['dynamic']=!![];const DEF_OPTIONS=_0x478983;class WindLayer extends BaseLayer$1{constructor(_0x2ebed4={}){_0x2ebed4={...DEF_OPTIONS,..._0x2ebed4},super(_0x2ebed4),this['_setOptionsHook'](_0x2ebed4);}get['layer'](){function _0x5bda25(_0x1a5ea1,_0x22a18c){return _0x4ed229(_0x22a18c-0x215,_0x1a5ea1);}return this[_0x5bda25(0x208,0x18d)];}get['data'](){function _0x2ebce9(_0x3a722a,_0x5a8a){return _0x4ed229(_0x5a8a- -0xa0,_0x3a722a);}return this[_0x2ebce9(-0x145,-0x138)];}set['data'](_0x18f9fe){this['setData'](_0x18f9fe);}get['colors'](){function _0x57b99d(_0x3b5592,_0x18e54e){return _0x4ed229(_0x18e54e-0x5f8,_0x3b5592);}function _0x2f3419(_0x2853b4,_0x22ab99){return _0x2a0630(_0x2853b4- -0x24e,_0x22ab99);}return this[_0x2f3419(0x445,0x4a1)][_0x2f3419(0x341,0x3c8)];}set[_0x4ed229(-0xc5,-0x119)](_0x1411e8){function _0x3d534c(_0x557949,_0x2bb4b1){return _0x2a0630(_0x557949- -0x115,_0x2bb4b1);}this[_0x3d534c(0x57e,0x580)]['colors']=_0x1411e8;function _0x75ea83(_0x4e480f,_0x5a56fb){return _0x4ed229(_0x4e480f-0x3fc,_0x5a56fb);}if(this['particleSystem']){const _0x5df15={};_0x5df15[_0x3d534c(0x47a,0x42c)]=_0x1411e8,this[_0x3d534c(0x516,0x5a0)]['setOptions'](_0x5df15);}this[_0x75ea83(0x32d,0x3ad)]();}['_mountedHook'](){}[_0x2a0630(0x633,0x5f4)](){function _0x2a4659(_0x4e6111,_0x32182d){return _0x2a0630(_0x32182d- -0x1dc,_0x4e6111);}this[_0x2a4659(0x3cc,0x3de)]=this[_0x2a4659(0x3d8,0x3c2)][_0x2a4659(0x41a,0x3de)],this['camera']=this['_map']['camera'],this[_0x413a5c(0x44b,0x3ba)]=new Cesium$1['PrimitiveCollection'](),this[_0x413a5c(0x41d,0x481)]['scene'][_0x413a5c(0x44b,0x414)]['add'](this['primitives']),this['viewerParameters']={'lonRange':new Cesium$1[(_0x2a4659(0x386,0x3b2))](),'latRange':new Cesium$1['Cartesian2'](),'pixelSize':0x0,'lonDisplayRange':new Cesium$1['Cartesian2'](),'latDisplayRange':new Cesium$1['Cartesian2']()},this['globeBoundingSphere']=new Cesium$1['BoundingSphere'](Cesium$1[_0x413a5c(0x48a,0x494)]['ZERO'],Cesium$1[_0x2a4659(0x361,0x3e5)]['WGS84']['minimumRadius']),this['updateViewerParameters'](),window['addEventListener'](_0x413a5c(0x404,0x3e2),this[_0x2a4659(0x3f6,0x3a9)]['bind'](this),![]),this['mouse_down']=![],this['mouse_move']=![],this[_0x413a5c(0x41d,0x471)]['on'](mars3d__namespace['EventType'][_0x2a4659(0x3f3,0x468)],this[_0x2a4659(0x42f,0x487)],this),this['_map']['on'](mars3d__namespace['EventType'][_0x413a5c(0x506,0x4e7)],this[_0x2a4659(0x51c,0x48f)],this),this[_0x413a5c(0x41d,0x465)]['on'](mars3d__namespace[_0x2a4659(0x439,0x427)]['mouseUp'],this[_0x2a4659(0x375,0x3b6)],this),this['_map']['on'](mars3d__namespace[_0x2a4659(0x47c,0x427)]['mouseMove'],this[_0x413a5c(0x473,0x46c)],this);function _0x413a5c(_0x2c28f4,_0x27d489){return _0x2a0630(_0x2c28f4- -0x181,_0x27d489);}this['_data']&&this['setData'](this[_0x413a5c(0x43b,0x402)]);}['_removedHook'](){window[_0x5ed390(0x284,0x2de)](_0x5ed390(0x258,0x1ee),this['resize']),this['_map']['off'](mars3d__namespace['EventType'][_0x5ed390(0x2f4,0x269)],this[_0xa70546(-0x134,-0x186)],this),this['_map']['off'](mars3d__namespace[_0xa70546(-0x114,-0x15c)]['wheel'],this['_onMapWhellEvent'],this),this['_map']['off'](mars3d__namespace['EventType'][_0x5ed390(0x311,0x2f0)],this['_onMouseDownEvent'],this),this[_0xa70546(-0x179,-0x185)]['off'](mars3d__namespace['EventType']['mouseUp'],this['_onMouseUpEvent'],this),this['_map'][_0xa70546(-0x198,-0x19a)](mars3d__namespace[_0xa70546(-0x114,-0x13c)]['mouseMove'],this['_onMouseMoveEvent'],this);function _0xa70546(_0x271078,_0x1c43d2){return _0x4ed229(_0x271078- -0xc3,_0x1c43d2);}function _0x5ed390(_0x34912f,_0x1e252f){return _0x2a0630(_0x1e252f- -0x397,_0x34912f);}this[_0x5ed390(0x1fb,0x235)]['removeAll'](),this['_map'][_0xa70546(-0x15d,-0xf8)]['primitives'][_0x5ed390(0x2fc,0x2d2)](this[_0xa70546(-0x14b,-0x1a2)]);}['resize'](){if(!this['show']||!this[_0x436ef6(0x19,-0x38)])return;function _0x436ef6(_0x58aa97,_0x14abf7){return _0x2a0630(_0x14abf7- -0x663,_0x58aa97);}this['primitives']['show']=![];function _0x63bdef(_0x4f41c7,_0x5d5275){return _0x4ed229(_0x4f41c7-0x95,_0x5d5275);}this['primitives']['removeAll'](),this['_map']['once'](mars3d__namespace['EventType'][_0x63bdef(0x41,0x73)],this['_onMap_preRenderEvent'],this);}['_onMap_preRenderEvent'](_0x176324){this['particleSystem']['canvasResize'](this['scene']['context']),this['addPrimitives'](),this['primitives']['show']=!![];}[_0x4ed229(0xf,-0x80)](_0x49492a){function _0x3ca4b7(_0x5e864f,_0x23e8e5){return _0x2a0630(_0x23e8e5- -0x68a,_0x5e864f);}clearTimeout(this[_0x3ca4b7(-0xc1,-0x8d)]);if(!this[_0x3ca4b7(-0x33,-0x73)]||!this[_0x2bc977(0x1b8,0x1b9)])return;this['primitives']['show']=![];function _0x2bc977(_0x5eeaaf,_0x795d7f){return _0x2a0630(_0x795d7f- -0x472,_0x5eeaaf);}this[_0x2bc977(0x1d2,0x18b)]=setTimeout(()=>{function _0x234b7f(_0x2faa52,_0x3f1f6b){return _0x3ca4b7(_0x3f1f6b,_0x2faa52-0xf);}if(!this[_0x234b7f(-0x64,-0x27)])return;this['redraw']();},0xc8);}[_0x2a0630(0x66b,0x62e)](_0x318a4e){this['mouse_down']=!![];}['_onMouseMoveEvent'](_0x49f987){function _0x27d02d(_0x42f168,_0x433e4c){return _0x2a0630(_0x42f168- -0x30a,_0x433e4c);}function _0x10a406(_0x4456d5,_0x4292fd){return _0x4ed229(_0x4456d5-0x657,_0x4292fd);}if(!this['show']||!this[_0x10a406(0x62e,0x648)])return;this[_0x10a406(0x614,0x64f)]&&(this['primitives'][_0x10a406(0x61a,0x63d)]=![],this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x505477){function _0x3291bf(_0x209d2a,_0x74dc2f){return _0x2a0630(_0x209d2a- -0x5b9,_0x74dc2f);}if(!this['show']||!this[_0xf2f88b(0x17e,0x192)])return;this['mouse_down']&&this['mouse_move']&&this['redraw']();this['primitives']['show']=!![];function _0xf2f88b(_0x1d8823,_0x43f074){return _0x4ed229(_0x43f074-0x1bb,_0x1d8823);}this[_0xf2f88b(0x169,0x178)]=![],this['mouse_move']=![];}['redraw'](){function _0x23d484(_0x4ae068,_0x3e2620){return _0x4ed229(_0x4ae068-0x1a4,_0x3e2620);}if(!this['_map']||!this[_0x129245(-0x29,0x13)])return;function _0x129245(_0x85955e,_0x363e42){return _0x4ed229(_0x85955e-0x14,_0x363e42);}this['updateViewerParameters'](),this['particleSystem']['applyViewerParameters'](this[_0x23d484(0x122,0x161)]),this['primitives'][_0x23d484(0x167,0x113)]=!![];}['setData'](_0xe189a2){function _0x5a2395(_0x257e5b,_0xd2310a){return _0x2a0630(_0x257e5b- -0x685,_0xd2310a);}this[_0x3fa321(0x41e,0x44e)]=_0xe189a2;this[_0x5a2395(-0x5a,0x35)]&&this['particleSystem']['destroy']();function _0x3fa321(_0x5b5405,_0x4bd5e3){return _0x2a0630(_0x5b5405- -0x19e,_0x4bd5e3);}this['particleSystem']=new ParticleSystem(this[_0x5a2395(-0xcb,-0x5e)][_0x5a2395(-0x25,0x4)],_0xe189a2,this['getOptions'](),this[_0x3fa321(0x434,0x40a)]),this['addPrimitives']();}[_0x4ed229(-0xae,-0x26)](_0x54b464,_0x1ab157){if(_0x54b464)for(const _0x32bfda in _0x54b464){this[_0x32bfda]=_0x54b464[_0x32bfda];}this['particleSystem']&&this['particleSystem']['setOptions'](this['getOptions']());}['getOptions'](){const _0x43e4d4=Math['ceil'](Math['sqrt'](this['particlesNumber']));this['particlesNumber']=_0x43e4d4*_0x43e4d4;const _0x343245={};_0x343245[_0x4304c8(0xc2,0x98)]=_0x43e4d4,_0x343245['maxParticles']=this[_0x4304c8(0x7d,0x10c)],_0x343245['colors']=this['colors'],_0x343245[_0x5534ba(0x110,0xe0)]=this['fixedHeight'];function _0x4304c8(_0x8b0bb1,_0x35ff25){return _0x2a0630(_0x35ff25- -0x503,_0x8b0bb1);}_0x343245[_0x4304c8(0x150,0x18b)]=this['fadeOpacity'],_0x343245['dropRate']=this[_0x4304c8(0xd8,0xba)],_0x343245['dropRateBump']=this[_0x4304c8(0xea,0x9a)];function _0x5534ba(_0x3bfc85,_0x14c24c){return _0x4ed229(_0x14c24c-0x15c,_0x3bfc85);}return _0x343245[_0x5534ba(0x21f,0x192)]=this['speedFactor'],_0x343245['lineWidth']=this[_0x5534ba(0x1b,0xa0)],_0x343245['dynamic']=this['dynamic'],_0x343245;}[_0x2a0630(0x636,0x60c)](){this[_0x44a1c2(-0x2d,-0x3b)][_0x3dc64f(-0x5b,-0x89)](this[_0x3dc64f(-0x11,0x46)]['particlesComputing'][_0x3dc64f(-0x70,-0x1f)][_0x3dc64f(0x1b,-0x65)]),this[_0x44a1c2(-0xc6,-0x3b)]['add'](this[_0x3dc64f(-0x11,-0x80)][_0x3dc64f(0x3d,-0x54)]['primitives']['updatePosition']);function _0x3dc64f(_0xa3c94,_0x4eb02c){return _0x4ed229(_0xa3c94-0x18,_0x4eb02c);}this['primitives'][_0x44a1c2(-0x7d,-0x26)](this['particleSystem'][_0x44a1c2(0xe3,0x72)]['primitives'][_0x3dc64f(-0x8b,-0xa7)]);function _0x44a1c2(_0x50d0b4,_0xbbfe4){return _0x4ed229(_0xbbfe4-0x4d,_0x50d0b4);}this['primitives'][_0x44a1c2(-0x39,-0x26)](this[_0x44a1c2(-0x38,0x24)][_0x3dc64f(-0x5d,-0x41)]['primitives']['segments']),this['primitives']['add'](this[_0x3dc64f(-0x11,0x1a)]['particlesRendering']['primitives']['trails']),this['primitives']['add'](this['particleSystem'][_0x44a1c2(-0x68,-0x28)]['primitives'][_0x44a1c2(-0xdc,-0x94)]);}[_0x4ed229(-0x59,-0x1a)](){let _0x491ff0=this['camera'][_0x2c66b2(-0xde,-0x4e)](this['scene']['globe'][_0x118599(-0xcb,-0x121)]);if(!_0x491ff0){const _0x378640=this['_map']['getExtent']();_0x491ff0=Cesium$1['Rectangle']['fromDegrees'](_0x378640['xmin'],_0x378640[_0x2c66b2(-0x95,-0x118)],_0x378640[_0x118599(-0xf8,-0xb5)],_0x378640['ymax']);}function _0x2c66b2(_0x3fd48e,_0x4b0610){return _0x2a0630(_0x3fd48e- -0x68c,_0x4b0610);}const _0x550996=Util[_0x118599(-0x82,-0xd9)](_0x491ff0);function _0x118599(_0xf1a292,_0x141e5e){return _0x4ed229(_0xf1a292- -0x27,_0x141e5e);}this['_data']?(this['viewerParameters'][_0x2c66b2(-0xf6,-0x77)]['x']=Math['max'](_0x550996['lon']['min'],this['_data']['xmin']),this['viewerParameters']['lonRange']['y']=Math[_0x118599(-0xc7,-0x66)](_0x550996['lon']['max'],this['_data'][_0x2c66b2(-0x109,-0x12e)]),this['viewerParameters']['latRange']['x']=Math[_0x2c66b2(-0xe0,-0x83)](_0x550996['lat']['min'],this[_0x118599(-0xbf,-0x9a)]['ymin']),this[_0x2c66b2(-0xba,-0x4b)]['latRange']['y']=Math['min'](_0x550996[_0x2c66b2(-0x44,0x1a)]['max'],this['_data']['ymax'])):(this['viewerParameters'][_0x2c66b2(-0xf6,-0x9e)]['x']=_0x550996['lon'][_0x2c66b2(-0xd8,-0xac)],this['viewerParameters']['lonRange']['y']=_0x550996['lon']['max'],this[_0x2c66b2(-0xba,-0x8c)]['latRange']['x']=_0x550996['lat']['min'],this['viewerParameters'][_0x118599(-0x15,-0x44)]['y']=_0x550996[_0x2c66b2(-0x44,-0x5e)][_0x2c66b2(-0xe0,-0x64)]);let _0x4e37fd=this['camera']['getPixelSize'](this['globeBoundingSphere'],this[_0x2c66b2(-0xd2,-0xd2)]['drawingBufferWidth'],this['scene']['drawingBufferHeight']);const _0x420735=this['scene']['drawingBufferHeight']*0.3;_0x4e37fd<_0x420735&&(_0x4e37fd=_0x420735),this['viewerParameters']['pixelSize']=_0x4e37fd;}}mars3d__namespace['LayerUtil']['register']('wind',WindLayer),mars3d__namespace['layer'][_0x2a0630(0x581,0x51a)]=WindLayer;class CanvasParticle{constructor(){this['lng']=null,this['lat']=null,this['tlng']=null,this[_0x1ea462(-0xfd,-0x14c)]=null;function _0x1ea462(_0x1f148d,_0x2e4665){return _0x4ed229(_0x1f148d- -0x74,_0x2e4665);}function _0x4be44e(_0x246a55,_0x1aeb8f){return _0x2a0630(_0x246a55- -0x75a,_0x1aeb8f);}this[_0x1ea462(-0x13d,-0x1c9)]=null,this['speed']=null;}['destroy'](){for(const _0x3f8558 in this){delete this[_0x3f8558];}}}class CanvasWindField{constructor(_0x3a0486){this['setOptions'](_0x3a0486);}get[_0x2a0630(0x5a5,0x5da)](){function _0x3f85a7(_0x223de7,_0x550687){return _0x4ed229(_0x223de7-0x4e4,_0x550687);}return this[_0x3f85a7(0x44e,0x478)];}set[_0x4ed229(-0xaf,-0xba)](_0x2a88a1){function _0x294de9(_0x90f3b6,_0x34d817){return _0x2a0630(_0x90f3b6- -0x503,_0x34d817);}this[_0x294de9(0xbb,0x139)]=(0x64-(_0x2a88a1>0x63?0x63:_0x2a88a1))*0x64;function _0x344697(_0x1135ba,_0x329760){return _0x4ed229(_0x329760-0x3dd,_0x1135ba);}this['_calc_speedRate']=[(this[_0x344697(0x325,0x30c)]-this[_0x294de9(0xd1,0xa7)])/this[_0x294de9(0xbb,0xc5)],(this['ymax']-this['ymin'])/this['_speedRate']];}get['maxAge'](){return this['_maxAge'];}set[_0x4ed229(0x14,0x3f)](_0x2a207c){function _0x5660b6(_0x3f9ff6,_0x1ed537){return _0x2a0630(_0x1ed537- -0x50f,_0x3f9ff6);}this[_0x5660b6(0xb6,0xbe)]=_0x2a207c;}['setOptions'](_0xc56f59){this[_0x1163ba(0x4cd,0x444)]=_0xc56f59;function _0x868c64(_0x2d9ce9,_0x46267e){return _0x2a0630(_0x2d9ce9- -0x4e9,_0x46267e);}this['maxAge']=_0xc56f59[_0x868c64(0x17f,0x116)]||0x78,this['speedRate']=_0xc56f59['speedRate']||0x32,this[_0x1163ba(0x496,0x463)]=[];const _0x377614=_0xc56f59[_0x868c64(0x126,0x120)]||0x1000;function _0x1163ba(_0x3aa3a9,_0x3fbdc1){return _0x2a0630(_0x3aa3a9- -0x1c6,_0x3fbdc1);}for(let _0x220033=0x0;_0x220033<_0x377614;_0x220033++){const _0x2abbbc=this['_randomParticle'](new CanvasParticle());this['particles']['push'](_0x2abbbc);}}['setDate'](_0x5e0a2b){this['rows']=_0x5e0a2b['rows'],this['cols']=_0x5e0a2b[_0x1b5fbf(0x3a6,0x354)],this['xmin']=_0x5e0a2b['xmin'];function _0x1b5fbf(_0x32c19d,_0x31c2e8){return _0x4ed229(_0x31c2e8-0x314,_0x32c19d);}this['xmax']=_0x5e0a2b[_0x1b5fbf(0x2a1,0x243)],this[_0x1b5fbf(0x32f,0x2b7)]=_0x5e0a2b[_0x1b5fbf(0x29b,0x2b7)],this[_0x1b5fbf(0x3a9,0x31b)]=_0x5e0a2b['ymax'],this['grid']=[];const _0x857c75=_0x5e0a2b['udata'],_0x2ae883=_0x5e0a2b['vdata'];let _0x4825bf=![];_0x857c75['length']===this['rows']&&_0x857c75[0x0]['length']===this['cols']&&(_0x4825bf=!![]);let _0x3d7a80=0x0,_0x1e5a44=null,_0x577eb0=null;function _0x5036fb(_0x1e2b05,_0xd428bc){return _0x4ed229(_0xd428bc- -0x112,_0x1e2b05);}for(let _0x2467a7=0x0;_0x2467a7=this['cols']||_0x50f2c7>=this[_0x10af2d(-0x7,-0x4b)])return[0x0,0x0,0x0];const _0x4a78ef=Math[_0x1eead7(0x4c2,0x4ab)](_0x2f2653),_0x3c29e4=Math[_0x1eead7(0x524,0x4ab)](_0x50f2c7);if(_0x4a78ef===_0x2f2653&&_0x3c29e4===_0x50f2c7)return this['grid'][_0x50f2c7][_0x2f2653];const _0x24e93b=_0x4a78ef+0x1,_0x29f634=_0x3c29e4+0x1,_0x2d2174=this['getUVByXY'](_0x4a78ef,_0x3c29e4),_0x5ed3a3=this['getUVByXY'](_0x24e93b,_0x3c29e4);function _0x1eead7(_0x4f1d10,_0x1da624){return _0x4ed229(_0x1da624-0x4d6,_0x4f1d10);}function _0x10af2d(_0x2862c6,_0x593766){return _0x2a0630(_0x593766- -0x655,_0x2862c6);}const _0x56ea59=this[_0x10af2d(-0xe,0x37)](_0x4a78ef,_0x29f634),_0x27486d=this[_0x10af2d(0x10,0x37)](_0x24e93b,_0x29f634);let _0x55a7c2=null;try{_0x55a7c2=this['_bilinearInterpolation'](_0x2f2653-_0x4a78ef,_0x50f2c7-_0x3c29e4,_0x2d2174,_0x5ed3a3,_0x56ea59,_0x27486d);}catch(_0x4114fc){console[_0x10af2d(0x95,0x2f)](_0x2f2653,_0x50f2c7);}return _0x55a7c2;}['_bilinearInterpolation'](_0x4bd2fa,_0x3564cb,_0x76b42b,_0x16a915,_0xea1f1f,_0x58c014){const _0xf34c4b=0x1-_0x4bd2fa,_0x216cde=0x1-_0x3564cb,_0x25dd9e=_0xf34c4b*_0x216cde,_0x259037=_0x4bd2fa*_0x216cde,_0x1cbb39=_0xf34c4b*_0x3564cb,_0xd6ecc2=_0x4bd2fa*_0x3564cb,_0x12ab79=_0x76b42b[0x0]*_0x25dd9e+_0x16a915[0x0]*_0x259037+_0xea1f1f[0x0]*_0x1cbb39+_0x58c014[0x0]*_0xd6ecc2,_0xbd9234=_0x76b42b[0x1]*_0x25dd9e+_0x16a915[0x1]*_0x259037+_0xea1f1f[0x1]*_0x1cbb39+_0x58c014[0x1]*_0xd6ecc2;return this['_calcUV'](_0x12ab79,_0xbd9234);}['_calcUV'](_0x1e7b2d,_0x2d17aa){return[+_0x1e7b2d,+_0x2d17aa,Math['sqrt'](_0x1e7b2d*_0x1e7b2d+_0x2d17aa*_0x2d17aa)];}['getUVByPoint'](_0x70a96b,_0x17d814){if(!this['isInExtent'](_0x70a96b,_0x17d814))return null;const _0x216e15=this[_0x1a791b(-0x206,-0x19b)](_0x70a96b,_0x17d814),_0x214b4e=this[_0x4d5954(0x23f,0x29c)](_0x216e15[0x0],_0x216e15[0x1]);function _0x1a791b(_0x209e8b,_0xbd327f){return _0x2a0630(_0xbd327f- -0x76b,_0x209e8b);}function _0x4d5954(_0x2a4ab4,_0x4cc134){return _0x2a0630(_0x2a4ab4- -0x44d,_0x4cc134);}return _0x214b4e;}['isInExtent'](_0x48fa06,_0x42d8d8){function _0x1776f5(_0x3b141d,_0x24e113){return _0x4ed229(_0x24e113-0x641,_0x3b141d);}return _0x48fa06>=this['xmin']&&_0x48fa06<=this[_0x1776f5(0x584,0x570)]&&_0x42d8d8>=this['ymin']&&_0x42d8d8<=this['ymax']?!![]:![];}['getRandomLatLng'](){const _0xcf90cf=fRandomByfloat(this[_0x5a508d(-0xaa,-0x19)],this[_0x2aa41c(-0x27,0x5b)]),_0x18c017=fRandomByfloat(this[_0x2aa41c(0x4d,0x40)],this[_0x2aa41c(0xb1,0x32)]);function _0x5a508d(_0xe97969,_0x44808f){return _0x2a0630(_0x44808f- -0x5ed,_0xe97969);}const _0x28fb7b={};_0x28fb7b[_0x2aa41c(0x9e,0xa4)]=_0x18c017;function _0x2aa41c(_0x17842b,_0x456c54){return _0x2a0630(_0x17842b- -0x5aa,_0x456c54);}return _0x28fb7b[_0x5a508d(-0x1c,0x42)]=_0xcf90cf,_0x28fb7b;}['getParticles'](){let _0x231a0d,_0x46df49,_0x428584;function _0x541f91(_0x268d48,_0x48831a){return _0x4ed229(_0x48831a-0x1e3,_0x268d48);}function _0xbbda30(_0x1ce6a1,_0x418085){return _0x4ed229(_0x418085- -0xf1,_0x1ce6a1);}for(let _0x4b7eae=0x0,_0x4dc0d3=this['particles']['length'];_0x4b7eae<_0x4dc0d3;_0x4b7eae++){let _0x2c62da=this['particles'][_0x4b7eae];_0x2c62da['age']<=0x0&&(_0x2c62da=this[_0x541f91(0x12a,0x124)](_0x2c62da));if(_0x2c62da[_0x541f91(0x10e,0x11a)]>0x0){const _0x269eec=_0x2c62da[_0xbbda30(-0x85,-0xc0)],_0x56b7ac=_0x2c62da[_0x541f91(0x179,0x15a)];_0x428584=this['getUVByPoint'](_0x269eec,_0x56b7ac),_0x428584?(_0x231a0d=_0x269eec+this['_calc_speedRate'][0x0]*_0x428584[0x0],_0x46df49=_0x56b7ac+this['_calc_speedRate'][0x1]*_0x428584[0x1],_0x2c62da[_0x541f91(0x218,0x1be)]=_0x269eec,_0x2c62da[_0xbbda30(-0xff,-0xfd)]=_0x56b7ac,_0x2c62da['tlng']=_0x231a0d,_0x2c62da[_0x541f91(0x162,0x15a)]=_0x46df49,_0x2c62da['speed']=_0x428584[0x2],_0x2c62da['age']--):_0x2c62da['age']=0x0;}}return this['particles'];}['_randomParticle'](_0x519c84){function _0x524af8(_0x584f93,_0x590650){return _0x4ed229(_0x590650- -0xd1,_0x584f93);}let _0x544c25,_0x5e3b59;for(let _0x2824f=0x0;_0x2824f<0x1e;_0x2824f++){_0x544c25=this['getRandomLatLng'](),_0x5e3b59=this[_0x29edd3(0x17b,0x13a)](_0x544c25['lng'],_0x544c25[_0x524af8(-0x165,-0xdd)]);if(_0x5e3b59&&_0x5e3b59[0x2]>0x0)break;}if(!_0x5e3b59)return _0x519c84;const _0x454333=_0x544c25['lng']+this[_0x524af8(-0x109,-0xb2)][0x0]*_0x5e3b59[0x0],_0xf1fae5=_0x544c25['lat']+this[_0x29edd3(0x1a4,0x158)][0x1]*_0x5e3b59[0x1];_0x519c84[_0x524af8(-0x8a,-0xf6)]=_0x544c25['lng'],_0x519c84[_0x524af8(-0xac,-0xdd)]=_0x544c25['lat'],_0x519c84['tlng']=_0x454333,_0x519c84['tlat']=_0xf1fae5,_0x519c84[_0x524af8(-0x1d9,-0x19a)]=Math[_0x29edd3(0xec,0x71)](Math['random']()*this[_0x29edd3(0x1a8,0x14d)]);function _0x29edd3(_0x452094,_0x3c6fa5){return _0x2a0630(_0x3c6fa5- -0x51b,_0x452094);}return _0x519c84['speed']=_0x5e3b59[0x2],_0x519c84;}[_0x4ed229(-0xb3,-0x10b)](){for(const _0x2118f2 in this){delete this[_0x2118f2];}}}function fRandomByfloat(_0x2d0a07,_0x9a7a19){function _0x556e03(_0x16c135,_0x245566){return _0x2a0630(_0x16c135- -0x2d8,_0x245566);}return _0x2d0a07+Math[_0x556e03(0x2ff,0x2d5)]()*(_0x9a7a19-_0x2d0a07);}const Cesium=mars3d__namespace['Cesium'],BaseLayer=mars3d__namespace[_0x4ed229(-0xab,-0xb4)]['BaseLayer'];class CanvasWindLayer extends BaseLayer{constructor(_0x18ce03={}){super(_0x18ce03),this['_setOptionsHook'](_0x18ce03),this[_0xca8cef(0x187,0x1dd)]=null;function _0x12a612(_0x292e28,_0x5d9947){return _0x4ed229(_0x292e28-0x34,_0x5d9947);}function _0xca8cef(_0x268116,_0xacc2b0){return _0x4ed229(_0xacc2b0-0x1a8,_0x268116);}_0x18ce03['colors']&&_0x18ce03[_0x12a612(-0xa5,-0x33)]&&(this['_colorRamp']=new mars3d__namespace[(_0x12a612(-0x2b,0x3a))](_0x18ce03));}[_0x2a0630(0x5a6,0x55c)](_0x558ba7,_0xf2e0a8){this[_0x3e9d9b(-0xd2,-0xd1)]=0x3e8/(_0x558ba7['frameRate']||0xa);function _0x5ad028(_0x5ac781,_0x50a538){return _0x4ed229(_0x5ac781-0x2b9,_0x50a538);}this['_pointerEvents']=this[_0x5ad028(0x2f8,0x367)]['pointerEvents']??![],this[_0x3e9d9b(-0xd2,-0x11d)]=_0x558ba7['color']||'#ffffff',this['lineWidth']=_0x558ba7[_0x5ad028(0x1fd,0x246)]||0x1;function _0x3e9d9b(_0x49c14b,_0x550d50){return _0x2a0630(_0x550d50- -0x738,_0x49c14b);}this['fixedHeight']=_0x558ba7['fixedHeight']??0x0,this['reverseY']=_0x558ba7['reverseY']??![],this[_0x5ad028(0x25b,0x1d5)]&&this['windField']['setOptions'](_0x558ba7);}get['layer'](){return this['canvas'];}get['canvasWidth'](){return this['_map']['scene']['canvas']['clientWidth'];}get['canvasHeight'](){function _0x277189(_0x24e220,_0x20ce91){return _0x4ed229(_0x20ce91-0x59b,_0x24e220);}function _0x194554(_0x54ae4a,_0x439ece){return _0x4ed229(_0x439ece-0xd,_0x54ae4a);}return this[_0x277189(0x49c,0x4e5)]['scene'][_0x277189(0x606,0x5d0)]['clientHeight'];}get[_0x2a0630(0x597,0x5a9)](){return this['_pointerEvents'];}set['pointerEvents'](_0x1253b2){function _0x3aff7d(_0x43d739,_0x29a236){return _0x4ed229(_0x43d739-0x483,_0x29a236);}function _0x1e8ecb(_0x5d6a53,_0x25d204){return _0x2a0630(_0x5d6a53- -0x186,_0x25d204);}this['_pointerEvents']=_0x1253b2;if(!this['canvas'])return;_0x1253b2?this['canvas']['style']['pointer-events']='all':this['canvas'][_0x3aff7d(0x411,0x46b)][_0x1e8ecb(0x41d,0x3f7)]='none';}get['particlesNumber'](){function _0xc98c07(_0xbc165c,_0x186117){return _0x4ed229(_0x186117-0x4ff,_0xbc165c);}function _0x4ef3bb(_0x145714,_0x4f2688){return _0x4ed229(_0x145714- -0x13c,_0x4f2688);}return this[_0xc98c07(0x50c,0x53e)][_0x4ef3bb(-0x181,-0x134)];}set['particlesNumber'](_0x16a308){function _0x203774(_0x3957a0,_0x125cb0){return _0x2a0630(_0x3957a0- -0x619,_0x125cb0);}function _0xab6bbb(_0x33fc0d,_0xf4d35f){return _0x2a0630(_0x33fc0d- -0x1fb,_0xf4d35f);}this['options']['particlesNumber']=_0x16a308,clearTimeout(this[_0xab6bbb(0x433,0x48c)]),this[_0x203774(0x15,0x48)]=setTimeout(()=>{this['redraw']();},0x1f4);}get[_0x4ed229(-0xaf,-0x7c)](){function _0x32e78c(_0x9f111c,_0x414298){return _0x4ed229(_0x9f111c-0x3e1,_0x414298);}return this['options'][_0x32e78c(0x332,0x38f)];}set['speedRate'](_0x83a01f){this['options'][_0x4a4573(0x331,0x318)]=_0x83a01f;function _0x4a4573(_0xb0c9a9,_0x3f6746){return _0x2a0630(_0x3f6746- -0x28d,_0xb0c9a9);}this['windField']&&(this['windField']['speedRate']=_0x83a01f);}get['maxAge'](){return this['options']['maxAge'];}set['maxAge'](_0x26b774){function _0x1bb307(_0x571618,_0x5b8ad4){return _0x2a0630(_0x571618- -0x388,_0x5b8ad4);}this['options'][_0x2db8bc(0x6cd,0x657)]=_0x26b774;function _0x2db8bc(_0x37199c,_0x871a1){return _0x4ed229(_0x871a1-0x643,_0x37199c);}this['windField']&&(this['windField'][_0x2db8bc(0x6b5,0x657)]=_0x26b774);}get['data'](){function _0x52751f(_0x2badbe,_0x3d5694){return _0x2a0630(_0x3d5694- -0x3b3,_0x2badbe);}return this[_0x52751f(0x20e,0x290)];}set[_0x2a0630(0x66a,0x61f)](_0x106525){function _0x1dff11(_0x175aab,_0x5cbf13){return _0x4ed229(_0x5cbf13-0x1,_0x175aab);}this[_0x1dff11(-0x3f,-0xa9)](_0x106525);}get[_0x4ed229(-0x68,-0x67)](){let _0x29a17f=this[_0x579d17(0x1e1,0x1d6)]['xmin'],_0x59ec04=this['windData']['xmax'],_0x1ce640=this['windData'][_0x5efcd8(0x5fc,0x669)],_0x300777=this['windData']['ymax'];_0x59ec04>=0x167&&_0x29a17f===0x0&&(_0x29a17f=-0xb4,_0x59ec04=0xb4);function _0x5efcd8(_0x287d19,_0x4317e3){return _0x4ed229(_0x287d19-0x659,_0x4317e3);}_0x29a17f=Math[_0x5efcd8(0x5b1,0x5f8)](_0x29a17f,-0xb4),_0x59ec04=Math[_0x579d17(0x157,0x147)](_0x59ec04,0xb4),_0x1ce640=Math['max'](_0x1ce640,-0x5a);function _0x579d17(_0x2717ac,_0x2ffe29){return _0x4ed229(_0x2ffe29-0x1e7,_0x2717ac);}return _0x300777=Math['min'](_0x300777,0x5a),Cesium['Rectangle']['fromDegrees'](_0x29a17f,_0x1ce640,_0x59ec04,_0x300777);}[_0x4ed229(-0x76,0xa)](_0xd00fdf){function _0x3bfb16(_0xb96866,_0x4e64e1){return _0x4ed229(_0xb96866-0x2cf,_0x4e64e1);}function _0x4444b8(_0x1739e5,_0x1a4cca){return _0x2a0630(_0x1739e5- -0x10f,_0x1a4cca);}_0xd00fdf?this[_0x4444b8(0x524,0x4be)]():(this[_0x4444b8(0x534,0x4c2)]&&(this[_0x4444b8(0x584,0x5b0)]['data']=this['windData']),this[_0x4444b8(0x579,0x55a)]());}['_mountedHook'](){function _0xa08f99(_0x3bdcaa,_0xacd916){return _0x2a0630(_0x3bdcaa- -0x50e,_0xacd916);}function _0x3d2ebb(_0x1603ab,_0x9c61a8){return _0x2a0630(_0x1603ab- -0x3a9,_0x9c61a8);}this[_0xa08f99(0x185,0xfe)][_0x3d2ebb(0x1e7,0x1eb)]?this[_0xa08f99(0x15e,0x187)]():this['windField']=new CanvasWindField(this[_0x3d2ebb(0x2ea,0x30a)]);}['_addedHook'](){this['canvas']=this['_createCanvas']();const _0x22d1a7={};_0x22d1a7[_0x15f46f(-0x30,0x41)]=!![];function _0x15f46f(_0x25bed7,_0x591d13){return _0x4ed229(_0x591d13-0xdf,_0x25bed7);}this[_0x15f46f(0x164,0x11b)]=this['canvas']['getContext']('2d',_0x22d1a7);function _0x2723dd(_0x2f9fc0,_0xa6d5dc){return _0x4ed229(_0xa6d5dc-0xdd,_0x2f9fc0);}this['bindEvent'](),this['options'][_0x2723dd(0x139,0xf3)]&&this[_0x2723dd(-0x37,0x33)](this['options'][_0x2723dd(0x116,0xf3)]);}['_removedHook'](){this[_0x5ad593(0x5a3,0x551)]();function _0x16b611(_0x336579,_0x4145f1){return _0x2a0630(_0x4145f1- -0x65b,_0x336579);}function _0x5ad593(_0x42299e,_0x12630b){return _0x2a0630(_0x42299e- -0x80,_0x12630b);}this['unbindEvent'](),this[_0x16b611(-0x3e,0x2e)]&&(this['_map'][_0x5ad593(0x519,0x50a)][_0x16b611(-0xcb,-0xd2)](this[_0x16b611(0x90,0x2e)]),delete this[_0x5ad593(0x609,0x5e2)]);}[_0x4ed229(0x2f,0x33)](){const _0x5418c3=mars3d__namespace[_0x5a4d83(0xf3,0x16f)]['create'](_0x884b95(0xe1,0x9d),'mars3d-canvasWind',this['_map']['container']);_0x5418c3['style']['position']='absolute',_0x5418c3['style'][_0x5a4d83(0x231,0x1bd)]='0px',_0x5418c3[_0x884b95(0x3a,-0x2a)]['left']='0px';function _0x5a4d83(_0x3c9140,_0x55febf){return _0x2a0630(_0x55febf- -0x496,_0x3c9140);}_0x5418c3['style'][_0x5a4d83(0x17f,0x1ec)]=this['_map']['scene']['canvas']['clientWidth']+'px',_0x5418c3['style']['height']=this['_map']['scene']['canvas'][_0x884b95(0xa4,0x10c)]+'px',_0x5418c3[_0x5a4d83(0x10b,0x14c)][_0x884b95(-0x11,-0x19)]=this['_pointerEvents']?'auto':_0x5a4d83(0x247,0x1e7),_0x5418c3[_0x5a4d83(0x16e,0x14c)][_0x5a4d83(0x19b,0x1e6)]=this[_0x5a4d83(0x1cd,0x1fd)][_0x884b95(0xd4,0x78)]??0x9,_0x5418c3['width']=this['_map'][_0x884b95(0x12,-0x44)][_0x884b95(0xe1,0xf9)][_0x5a4d83(0x1f2,0x183)],_0x5418c3['height']=this['_map'][_0x884b95(0x12,0x27)]['canvas']['clientHeight'];function _0x884b95(_0x5d0288,_0x3da290){return _0x2a0630(_0x5d0288- -0x5a8,_0x3da290);}return _0x5418c3;}['resize'](){function _0x15b8cf(_0x5caf1b,_0x667d5c){return _0x2a0630(_0x5caf1b- -0x469,_0x667d5c);}function _0x5efb99(_0x44ff29,_0x5e78de){return _0x4ed229(_0x5e78de-0x3b1,_0x44ff29);}this['canvas']&&(this[_0x15b8cf(0x220,0x27c)][_0x5efb99(0x3b6,0x33f)]['width']=this[_0x15b8cf(0x135,0x156)]['scene'][_0x15b8cf(0x220,0x24d)]['clientWidth']+'px',this['canvas'][_0x15b8cf(0x179,0x131)]['height']=this['_map'][_0x5efb99(0x38d,0x317)]['canvas']['clientHeight']+'px',this[_0x5efb99(0x3a2,0x3e6)]['width']=this[_0x15b8cf(0x135,0xab)][_0x5efb99(0x2fb,0x317)]['canvas']['clientWidth'],this['canvas']['height']=this['_map'][_0x5efb99(0x2b9,0x317)]['canvas']['clientHeight']);}['bindEvent'](){const _0x48fbf9=this;let _0xebc443=Date['now']();function _0x5a6019(_0x4e5be8,_0x37d66e){return _0x2a0630(_0x37d66e- -0x27f,_0x4e5be8);}function _0x55aa90(_0x110564,_0x5c1242){return _0x2a0630(_0x5c1242- -0x64a,_0x110564);}(function _0x33c588(){function _0x5635a0(_0x2ec199,_0x205c16){return _0x37ec(_0x205c16-0x132,_0x2ec199);}if(_0x48fbf9[_0x29d926(-0x207,-0x179)])return;_0x48fbf9['_animateFrame']=window['requestAnimationFrame'](_0x33c588);function _0x29d926(_0x1b1521,_0x3cabf9){return _0x37ec(_0x3cabf9- -0x3a5,_0x1b1521);}if(_0x48fbf9[_0x5635a0(0x396,0x388)]&&_0x48fbf9['windField']){const _0x53c579=Date[_0x5635a0(0x46a,0x3e7)](),_0x5dbac7=_0x53c579-_0xebc443;_0x5dbac7>_0x48fbf9['frameTime']&&(_0xebc443=_0x53c579-_0x5dbac7%_0x48fbf9['frameTime'],_0x48fbf9['update']());}}(),window[_0x5a6019(0x469,0x3e5)](_0x5a6019(0x328,0x306),this['resize'][_0x5a6019(0x364,0x372)](this),![]),this[_0x5a6019(0x372,0x392)]=![],this['mouse_move']=![],this[_0x5a6019(0x42a,0x414)]['mouseHidden']&&(this[_0x55aa90(-0x23,-0xac)]['on'](mars3d__namespace[_0x5a6019(0x3b6,0x384)][_0x5a6019(0x341,0x3c5)],this['_onMapWhellEvent'],this),this[_0x5a6019(0x31d,0x31f)]['on'](mars3d__namespace['EventType']['mouseDown'],this[_0x55aa90(0x4a,0x21)],this),this['_map']['on'](mars3d__namespace[_0x5a6019(0x36f,0x384)]['mouseUp'],this['_onMouseUpEvent'],this)));}['unbindEvent'](){function _0x3d07b8(_0x3d93c6,_0x582712){return _0x4ed229(_0x3d93c6-0x18b,_0x582712);}window['cancelAnimationFrame'](this['_animateFrame']),delete this['_animateFrame'];function _0xb1f807(_0x1d65ca,_0x4f58a0){return _0x4ed229(_0x4f58a0-0x4a4,_0x1d65ca);}window['removeEventListener'](_0x3d07b8(0xbc,0x119),this['resize']),this[_0xb1f807(0x56e,0x4e3)]['mouseHidden']&&(this['_map']['off'](mars3d__namespace['EventType']['wheel'],this[_0x3d07b8(0x19a,0x1f2)],this),this['_map'][_0xb1f807(0x399,0x3cf)](mars3d__namespace['EventType'][_0xb1f807(0x4ea,0x4d7)],this['_onMouseDownEvent'],this),this['_map'][_0x3d07b8(0xb6,0x26)](mars3d__namespace[_0x3d07b8(0x13a,0xe5)][_0xb1f807(0x455,0x3ec)],this['_onMouseUpEvent'],this),this['_map']['off'](mars3d__namespace['EventType'][_0x3d07b8(0x108,0xdf)],this['_onMouseMoveEvent'],this));}['_onMapWhellEvent'](_0x2299dc){clearTimeout(this['refreshTimer']);if(!this[_0x179b71(0x36b,0x37e)]||!this['canvas'])return;function _0x179b71(_0x3afd65,_0x4174aa){return _0x4ed229(_0x4174aa-0x3bb,_0x3afd65);}function _0x3a04d0(_0x223f7f,_0x13742a){return _0x2a0630(_0x223f7f- -0x5b6,_0x13742a);}this['canvas']['style']['visibility']=_0x179b71(0x3b7,0x368),this[_0x179b71(0x360,0x364)]=setTimeout(()=>{if(!this[_0x22f2b6(0x347,0x33a)])return;this['redraw']();function _0x1aa7da(_0x3b2140,_0x2ca8bd){return _0x3a04d0(_0x3b2140- -0x170,_0x2ca8bd);}function _0x22f2b6(_0xe3867f,_0x4d60e0){return _0x179b71(_0x4d60e0,_0xe3867f- -0x37);}this[_0x22f2b6(0x3b9,0x3e3)][_0x22f2b6(0x312,0x399)]['visibility']='visible';},0xc8);}[_0x2a0630(0x66b,0x65e)](_0x4c67a7){function _0xdc089c(_0x2560fa,_0x42bc8f){return _0x4ed229(_0x2560fa- -0x8a,_0x42bc8f);}this['mouse_down']=!![],this['_map'][_0xdc089c(-0x15f,-0x12e)](mars3d__namespace['EventType']['mouseMove'],this['_onMouseMoveEvent'],this);function _0x455dc1(_0x4ca916,_0x509ced){return _0x4ed229(_0x4ca916-0x179,_0x509ced);}this['_map']['on'](mars3d__namespace['EventType'][_0x455dc1(0xf6,0xc7)],this[_0xdc089c(-0xea,-0x75)],this);}['_onMouseMoveEvent'](_0x689e28){if(!this['show']||!this['canvas'])return;function _0x1fd50b(_0x57f4be,_0x3ea799){return _0x4ed229(_0x3ea799-0x110,_0x57f4be);}function _0x55ee53(_0x56441c,_0x2f217d){return _0x2a0630(_0x2f217d- -0x214,_0x56441c);}this['mouse_down']&&(this[_0x55ee53(0x473,0x475)]['style']['visibility']='hidden',this[_0x1fd50b(0xe8,0xf5)]=!![]);}['_onMouseUpEvent'](_0x5b8239){if(!this[_0x54c878(0x397,0x3ff)]||!this['canvas'])return;this[_0x17b243(0x1d6,0x1a5)]['off'](mars3d__namespace['EventType']['mouseMove'],this[_0x17b243(0x22c,0x241)],this);this['mouse_down']&&this['mouse_move']&&this[_0x17b243(0x1f3,0x27e)]();function _0x17b243(_0x456bad,_0x11fe82){return _0x2a0630(_0x456bad- -0x3c8,_0x11fe82);}function _0x54c878(_0x35ef76,_0x25266c){return _0x4ed229(_0x35ef76-0x3d4,_0x25266c);}this[_0x17b243(0x2c1,0x332)][_0x17b243(0x21a,0x1e9)]['visibility']='visible',this['mouse_down']=![],this['mouse_move']=![];}[_0x4ed229(-0xaa,-0x76)](_0x3d552e){this[_0x14700a(0x9b,0x83)]();function _0x24664c(_0x1fc993,_0x2a65ba){return _0x2a0630(_0x2a65ba- -0x1cf,_0x1fc993);}this['windData']=_0x3d552e,this['windField'][_0x14700a(0xa3,0x8d)](_0x3d552e);function _0x14700a(_0x279aae,_0x2222e5){return _0x2a0630(_0x2222e5- -0x5a0,_0x279aae);}this[_0x24664c(0x363,0x3ec)]();}['redraw'](){if(!this['show'])return;this['windField']['setOptions'](this['options']);function _0x553b4a(_0x323701,_0x361c10){return _0x4ed229(_0x323701-0x38d,_0x361c10);}this[_0x553b4a(0x2f8,0x382)]();}[_0x2a0630(0x5bf,0x5b5)](){function _0x535c74(_0x2d0f40,_0x21a043){return _0x2a0630(_0x2d0f40- -0x75e,_0x21a043);}if(this['_updateIng'])return;this['_updateIng']=!![];function _0x12b551(_0x193013,_0x3cd56e){return _0x4ed229(_0x193013-0x310,_0x3cd56e);}if(this['worker'])this['windField']['update']();else{const _0x162522=this[_0x535c74(-0x168,-0x1ab)]['getParticles']();this[_0x12b551(0x28b,0x2c7)](_0x162522);}this['_updateIng']=![];}['_drawLines'](_0x483741){this['_canvasParticles']=_0x483741,this['canvasContext'][_0x27c1e0(0x54c,0x4f5)]='destination-in',this['canvasContext'][_0x5eab3e(0x2ff,0x2d2)](0x0,0x0,this[_0x27c1e0(0x557,0x566)],this[_0x5eab3e(0x37d,0x344)]),this[_0x27c1e0(0x568,0x589)]['globalCompositeOperation']=_0x27c1e0(0x55d,0x577);function _0x5eab3e(_0x54879c,_0x3d2fcc){return _0x4ed229(_0x54879c-0x38b,_0x3d2fcc);}this[_0x5eab3e(0x3c7,0x3dd)]['globalAlpha']=0.9;function _0x27c1e0(_0x17410c,_0x58f62d){return _0x4ed229(_0x58f62d-0x54d,_0x17410c);}const _0x1d5da8=this['_map']['scene'][_0x27c1e0(0x482,0x48a)]!==Cesium['SceneMode']['SCENE3D'],_0x108545=this['canvasWidth']*0.25;if(this['_colorRamp'])for(let _0x1f72fd=0x0,_0x5736a7=_0x483741['length'];_0x1f72fd<_0x5736a7;_0x1f72fd++){const _0x466d37=_0x483741[_0x1f72fd],_0x52f73b=this['_tomap'](_0x466d37,_0x466d37['lng'],_0x466d37['lat'],_0x466d37['alt']),_0x1e02e6=this[_0x5eab3e(0x2ef,0x30f)](_0x466d37,_0x466d37['tlng'],_0x466d37['tlat'],_0x466d37[_0x5eab3e(0x2ab,0x275)]);if(!_0x52f73b||!_0x1e02e6)continue;if(_0x1d5da8&&Math['abs'](_0x52f73b[0x0]-_0x1e02e6[0x0])>=_0x108545)continue;this['canvasContext'][_0x5eab3e(0x3b6,0x35b)](),this[_0x27c1e0(0x5fa,0x589)][_0x27c1e0(0x51e,0x491)]=this['lineWidth'],this['canvasContext']['strokeStyle']=this[_0x27c1e0(0x4e8,0x493)]['getColor'](_0x466d37['speed']),this[_0x27c1e0(0x577,0x589)][_0x27c1e0(0x4f2,0x4df)](_0x52f73b[0x0],_0x52f73b[0x1]),this['canvasContext'][_0x27c1e0(0x578,0x54a)](_0x1e02e6[0x0],_0x1e02e6[0x1]),this['canvasContext']['stroke']();}else{this['canvasContext'][_0x5eab3e(0x3b6,0x3bc)](),this[_0x5eab3e(0x3c7,0x3ae)]['lineWidth']=this['lineWidth'],this[_0x5eab3e(0x3c7,0x3fd)]['strokeStyle']=this['color'];for(let _0x47f4a1=0x0,_0x119b36=_0x483741['length'];_0x47f4a1<_0x119b36;_0x47f4a1++){const _0x2cf016=_0x483741[_0x47f4a1],_0x4a8a09=this['_tomap'](_0x2cf016,_0x2cf016['lng'],_0x2cf016[_0x5eab3e(0x37f,0x383)],_0x2cf016[_0x27c1e0(0x4c5,0x480)]),_0x1e5e99=this['_tomap'](_0x2cf016,_0x2cf016['tlng'],_0x2cf016['tlat'],_0x2cf016['talt']);if(!_0x4a8a09||!_0x1e5e99)continue;if(_0x1d5da8&&Math['abs'](_0x4a8a09[0x0]-_0x1e5e99[0x0])>=_0x108545)continue;this['canvasContext'][_0x27c1e0(0x4f4,0x4df)](_0x4a8a09[0x0],_0x4a8a09[0x1]),this[_0x27c1e0(0x59c,0x589)][_0x27c1e0(0x599,0x54a)](_0x1e5e99[0x0],_0x1e5e99[0x1]);}this['canvasContext'][_0x5eab3e(0x35f,0x3e8)]();}}['_tomap'](_0x15f7de,_0x2af706,_0x399559,_0x2d0642){const _0x34f5fa=Cesium['Cartesian3'][_0x1d943d(0x23c,0x232)](_0x2af706,_0x399559,_0x2d0642??this[_0x1d943d(0x2f5,0x303)]);function _0x7eeeed(_0x147797,_0xf47e56){return _0x4ed229(_0x147797-0x295,_0xf47e56);}const _0xbe4391=this[_0x1d943d(0x201,0x19e)]['scene'];if(_0xbe4391['mode']===Cesium['SceneMode']['SCENE3D']){const _0x1ef093=new Cesium['EllipsoidalOccluder'](_0xbe4391[_0x1d943d(0x2da,0x326)][_0x7eeeed(0x1f1,0x165)],_0xbe4391['camera']['positionWC']),_0x560545=_0x1ef093['isPointVisible'](_0x34f5fa);if(!_0x560545)return _0x15f7de['age']=0x0,null;}const _0x3b6836=mars3d__namespace[_0x7eeeed(0x1e5,0x1c6)][_0x1d943d(0x218,0x2a6)](this[_0x1d943d(0x201,0x199)]['scene'],_0x34f5fa);function _0x1d943d(_0x20d15f,_0x219542){return _0x4ed229(_0x20d15f-0x2b7,_0x219542);}return _0x3b6836?[_0x3b6836['x'],_0x3b6836['y']]:null;}[_0x2a0630(0x623,0x62f)](){function _0x1261a4(_0x37b682,_0x14c1da){return _0x4ed229(_0x37b682-0x455,_0x14c1da);}function _0xf59330(_0x1b78b9,_0x49e983){return _0x4ed229(_0x49e983-0x3d7,_0x1b78b9);}this[_0x1261a4(0x3f7,0x478)][_0x1261a4(0x424,0x469)](),delete this['windData'];}[_0x2a0630(0x66c,0x657)](){this[_0x2060d8(0x414,0x43e)]=new Worker(this[_0x2060d8(0x517,0x4e8)]['worker']),this[_0x2b754c(0x460,0x3ed)]['onmessage']=_0x1249e7=>{function _0x25aae7(_0x4b553c,_0x59cb72){return _0x2060d8(_0x4b553c-0xd7,_0x59cb72);}this['_drawLines'](_0x1249e7[_0x25aae7(0x5c5,0x5d1)][_0x25aae7(0x5b7,0x612)]);function _0x52450e(_0x454c8d,_0x59e729){return _0x2b754c(_0x454c8d,_0x59e729-0x15d);}this[_0x52450e(0x5ca,0x613)]=![];},this['windField']={'init':_0x526a6e=>{const _0x620592={};function _0x1a23d4(_0x494518,_0x431918){return _0x2060d8(_0x494518- -0x164,_0x431918);}_0x620592[_0x59fd42(0x558,0x4ec)]=_0x59fd42(0x483,0x4ff),_0x620592['options']=_0x526a6e;function _0x59fd42(_0x13c8e0,_0x5efc3e){return _0x2060d8(_0x5efc3e-0xa1,_0x13c8e0);}this[_0x59fd42(0x51e,0x4b5)]['postMessage'](_0x620592);},'setOptions':_0x55d984=>{const _0x3d1bab={};_0x3d1bab['type']='setOptions',_0x3d1bab[_0x4cbcae(0x392,0x37b)]=_0x55d984;function _0x4cbcae(_0x2d0df1,_0x483647){return _0x2060d8(_0x483647- -0x19c,_0x2d0df1);}this['worker']['postMessage'](_0x3d1bab);},'setDate':_0x2863ed=>{const _0x15bb6c={};_0x15bb6c['type']='setDate';function _0x2b41a4(_0x2ff75a,_0x38a32d){return _0x2060d8(_0x38a32d-0x95,_0x2ff75a);}function _0x4c24cd(_0x22181c,_0x28c677){return _0x2b754c(_0x28c677,_0x22181c- -0x243);}_0x15bb6c[_0x2b41a4(0x5fe,0x583)]=_0x2863ed,this[_0x2b41a4(0x47c,0x4a9)][_0x4c24cd(0x221,0x1df)](_0x15bb6c);},'update':()=>{function _0x4f7b34(_0x41c707,_0x1085ac){return _0x2060d8(_0x41c707-0x4d,_0x1085ac);}function _0x19de28(_0xadbca,_0x53bb36){return _0x2060d8(_0x53bb36- -0x463,_0xadbca);}if(this[_0x4f7b34(0x52a,0x575)])return;this['_updateIng2']=!![];const _0x1cab5b={};_0x1cab5b['type']=_0x19de28(0x5d,-0x20),this[_0x4f7b34(0x461,0x42e)]['postMessage'](_0x1cab5b);},'clear':()=>{const _0x3923b8={};_0x3923b8['type']=_0x155dc8(-0xc8,-0x102);function _0x155dc8(_0x1c0d87,_0x315ec2){return _0x2060d8(_0x1c0d87- -0x56f,_0x315ec2);}this['worker']['postMessage'](_0x3923b8);}};function _0x2060d8(_0x4e0a36,_0x1504c2){return _0x2a0630(_0x4e0a36- -0x17c,_0x1504c2);}function _0x2b754c(_0x3baa6f,_0x1caa78){return _0x4ed229(_0x1caa78-0x4b1,_0x3baa6f);}this['windField'][_0x2060d8(0x45e,0x446)](this[_0x2b754c(0x4ce,0x4f0)]);}}mars3d__namespace['LayerUtil']['register']('canvasWind',CanvasWindLayer),mars3d__namespace[_0x2a0630(0x5a9,0x54b)]['CanvasWindLayer']=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace[_0x2a0630(0x670,0x624)]=WindUtil,exports[_0x2a0630(0x626,0x5ca)]=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer,exports[_0x4ed229(-0xd3,-0x129)]=WindLayer,exports[_0x2a0630(0x670,0x672)]=WindUtil;const _0x2cdf05={};_0x2cdf05['value']=!![],Object['defineProperty'](exports,_0x2a0630(0x575,0x584),_0x2cdf05);function _0x58f4(){const _0x2dc49=['particlesNumber','DrawCommand','mouse_down','22524nbbNzM','nextTrailsDepth','nextParticlesPosition','PI_OVER_THREE','push','show','createFramebuffer','clientWidth','1202406boybOe','color','get','forEach','normal','setGeometry','PI_OVER_TWO','commandToExecute','autoClear','clear','default','99mJiLgw','CanvasWindField','commandList','stroke','floor','colour','particleSystem','source','setDate','_canrefresh','lng','drawingBufferHeight','ShaderSource','maxParticles','_addedHook','grid','SCENE3D','addPrimitives','particlesSpeed','vdata','mouse_move','pow','dimensions','framebuffer','fromCssColorString','toDegrees','getColorTexture','vertexArray','PixelDatatype','sources','windData','wheel','framebuffers','canvasHeight','maximum','lat','UNSIGNED_INT','attributeLocations','Appearance','clientHeight','dynamic','clearCommand','currentParticlesPosition','sin','lineTo','pixelSize','top','wSpeedRange','getUVByPoint','vertexShaderSource','calculateSpeed','ClearCommand','_updateIng2','randomBetween','ymax','particles','_calcUV','geometry','createCommand','context','TRIANGLES','trails','_onMapWhellEvent','addEventListener','levmin','latRange','frameTime','maxAge','remove','data','_onMouseDownEvent','initWorker','canvasWidth','pixelDatatype','textures','WindUtil','STATIC_DRAW','createRenderingTextures','_calc_speedRate','OPAQUE','removeEventListener','now','globe','getDirection','particlesComputing','rgb(206,255,255)','rawRenderState','zIndex','none','lighter','beginPath','atan2','keys','width','_createCanvas','log','tlng','Math','mouseDown','_removedHook','canvas','speedFactor','segmentsDepth','getUVByXY','DISABLE_LOG_DEPTH_FRAGMENT_WRITE','fadeOpacity','113270qYCQtP','canvasContext','outputTexture','fixedHeight','options','cols','screen','talt','__esModule','THREE_PI_OVER_TWO','shaderProgram','ALWAYS','BaseLayer','Geometry','steps','createRawRenderState','previousParticlesPosition','updatePosition','off','PrimitiveType','WindLayer','setOptions','xmax','south','resize','#version\x20300\x20es\x0aprecision\x20highp\x20float;\x0a\x0auniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20particlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20norm)\x0a\x0auniform\x20sampler2D\x20H;\x20//\x20particles\x20height\x20textures\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\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0auniform\x20vec2\x20viewerLonRange;\x0auniform\x20vec2\x20viewerLatRange;\x0a\x0aconst\x20float\x20randomCoefficient\x20=\x200.1f;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0aconst\x20float\x20dropRate\x20=\x200.1f;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0aconst\x20float\x20dropRateBump\x20=\x200.1f;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20lonLatLev.x\x20=\x20clamp(lonLatLev.x,\x20minimum.x,\x20maximum.x);\x0a\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20minimum.y,\x20maximum.y);\x0a\x20\x20lonLatLev.z\x20=\x20clamp(lonLatLev.z,\x20minimum.z,\x20maximum.z);\x0a\x0a\x20\x20vec3\x20index3D\x20=\x20vec3(0.0f);\x0a\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20index3D.z\x20=\x20ceil((lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z);\x0a\x0a\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0avec4\x20getTextureValue(sampler2D\x20componentTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20vec4\x20result\x20=\x20texture(componentTexture,\x20normalizedIndex2D);\x0a\x20\x20return\x20result;\x0a}\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898f,\x2078.233f,\x204375.85453f);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0f,\x201.0f);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0abool\x20particleNoSpeed(vec3\x20particle)\x20{\x0a\x20\x20vec4\x20speed\x20=\x20getTextureValue(particlesSpeed,\x20particle);\x0a\x20\x20return\x20speed.r\x20==\x200.0f\x20&&\x20speed.g\x20==\x200.0f;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0f);\x0a\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20float\x20height\x20=\x20getTextureValue(H,\x20vec3(randomLon,\x20randomLat,\x20lev)).r;\x0a\x0a\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20height);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20return\x20particle.y\x20<\x20viewerLatRange.x\x20||\x20particle.y\x20>\x20viewerLatRange.y\x20||\x20particle.x\x20<\x20viewerLonRange.x\x20||\x20particle.x\x20>\x20viewerLonRange.y;\x0a}\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20nextParticle\x20=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec4\x20nextSpeed\x20=\x20texture(particlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20float\x20speedNorm\x20=\x20nextSpeed.a;\x0a\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20speedNorm;\x0a\x0a\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20if(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(randomParticle,\x201.0f);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(nextParticle,\x200.0f);\x0a\x20\x20}\x0a}\x0a','alt','destroyParticlesTextures','removeChild','DISABLE_GL_POSITION_LOG_DEPTH','age','round','defines','Cartesian2','colors','worker','mode','_onMouseUpEvent','Sampler','position','_randomParticle','lonRange','pointerEvents','lineWidth','container','_colorRamp','particlesTextureSize','mouseUp','dropRateBump','_map','nextTrails','viewport','destroy','lev','pointer-events','PointTrans','speedRate','_setOptionsHook','defined','cos','layer','setData','createParticlesTextures','max','328bmCvwV','computeViewRectangle','udata','ellipsoid','postProcessingPosition','preExecute','fromCache','min','toWindowCoordinates','willReadFrequently','Pass','_tomap','colorTable','scene','redraw','_data','dropRate','_speedRate','update','4001995rYIzzo','Ellipsoid','mod','uniformMap','createComputingPrimitives','createTexture','interval','type','fillRect','createWindTextures','particlesTextures','tlat','primitives','_maxAge','refreshParticles','_drawLines','toGridXY','mouseMove','viewerParameters','390596QkgchJ','xmin','TextureMinificationFilter','PixelFormat','random','particleHeight','fromDegrees','init','levmax','applyViewerParameters','ComponentDatatype','_showHook','particlesRendering','depthMask','add','style','_onMap_preRenderEvent','isDestroyed','GeometryAttribute','moveTo','FLOAT','Cesium','TWO_PI','depthTexture','NEAREST','rectangle','isDestroy','primitiveType','reverseY','TextureMagnificationFilter','bind','lon','length','_onMouseMoveEvent','ColorRamp','windField','ymin','canrefresh','viewRectangleToLonLatRange','depthTest','updateViewerParameters','globalCompositeOperation','refreshTimer','254136XDHRIF','uSpeedRange','preRender','hidden','createRenderingPrimitives','EventType','array','DomUtil','fragmentShaderSource','postMessage','enabled','Draw','rows','Cartesian3','windTextures','5883248SVkzeN','toRadians'];_0x58f4=function(){return _0x2dc49;};return _0x58f4();} +'use strict';(function(_0x308186,_0x36e34c){function _0xd5d602(_0x1e8324,_0x539225){return _0x3e17(_0x1e8324- -0x337,_0x539225);}function _0x61f9a7(_0x17f629,_0x3f5aae){return _0x3e17(_0x3f5aae- -0x260,_0x17f629);}const _0xc43639=_0x308186();while(!![]){try{const _0x291b38=parseInt(_0xd5d602(-0xc3,-0x92))/0x1+-parseInt(_0x61f9a7(-0xe4,-0x71))/0x2+parseInt(_0x61f9a7(0x3b,0x81))/0x3*(parseInt(_0xd5d602(-0xc5,-0x14a))/0x4)+parseInt(_0x61f9a7(0x4f,-0x36))/0x5*(-parseInt(_0x61f9a7(0x5,-0x38))/0x6)+parseInt(_0x61f9a7(0xb1,0x30))/0x7+parseInt(_0xd5d602(-0xba,-0xbc))/0x8+-parseInt(_0x61f9a7(0x42,0x70))/0x9;if(_0x291b38===_0x36e34c)break;else _0xc43639['push'](_0xc43639['shift']());}catch(_0x2acf59){_0xc43639['push'](_0xc43639['shift']());}}}(_0x1683,0x39ddc));function _interopNamespace(_0x2e825d){if(_0x2e825d&&_0x2e825d['__esModule'])return _0x2e825d;var _0x14232e=Object['create'](null);function _0x4a07b1(_0x44d4b6,_0x462e34){return _0x3e17(_0x44d4b6-0x245,_0x462e34);}_0x2e825d&&Object['keys'](_0x2e825d)[_0x3843e6(0x34c,0x3a3)](function(_0x362b49){function _0x424f58(_0x448249,_0x5bacf8){return _0x3843e6(_0x5bacf8-0x8b,_0x448249);}if(_0x362b49!=='default'){var _0xa65ba5=Object['getOwnPropertyDescriptor'](_0x2e825d,_0x362b49);Object[_0x424f58(0x4aa,0x42c)](_0x14232e,_0x362b49,_0xa65ba5['get']?_0xa65ba5:{'enumerable':!![],'get':function(){return _0x2e825d[_0x362b49];}});}});function _0x3843e6(_0x1ce62c,_0xecbfa9){return _0x3e17(_0x1ce62c-0x119,_0xecbfa9);}return _0x14232e[_0x3843e6(0x336,0x301)]=_0x2e825d,_0x14232e;}var mars3d__namespace=_interopNamespace(mars3d);const Cesium$7=mars3d__namespace[_0x27456a(0x515,0x4ec)];function getU(_0x726fd8,_0x200d81){const _0x2d8c0c=_0x726fd8*Math[_0x586438(-0x72,0x2)](Cesium$7[_0x5f5bb1(0x205,0x267)]['toRadians'](_0x200d81));function _0x586438(_0x54461a,_0x3500de){return _0x27456a(_0x3500de- -0x5af,_0x54461a);}function _0x5f5bb1(_0xf891e5,_0x4ab328){return _0x27456a(_0x4ab328- -0x37c,_0xf891e5);}return _0x2d8c0c;}function getV(_0x103820,_0x2ee14f){const _0xfdd476=_0x103820*Math['sin'](Cesium$7['Math']['toRadians'](_0x2ee14f));return _0xfdd476;}function getSpeed(_0x1f1789,_0x4b8dc7){function _0xd401e0(_0x3a1471,_0x9edfe4){return _0x27456a(_0x3a1471- -0x157,_0x9edfe4);}function _0x13ed5f(_0x2c0130,_0x5ca323){return _0x27456a(_0x2c0130- -0x48,_0x5ca323);}const _0x3a8c06=Math[_0x13ed5f(0x562,0x556)](Math[_0x13ed5f(0x5ce,0x5de)](_0x1f1789,0x2)+Math[_0x13ed5f(0x5ce,0x658)](_0x4b8dc7,0x2));return _0x3a8c06;}function getDirection(_0x4384a0,_0x11b8fc){function _0x9942c1(_0x2a08ed,_0x4f4d50){return _0x27456a(_0x4f4d50- -0x2d7,_0x2a08ed);}let _0x2d637c=Cesium$7[_0x9942c1(0x384,0x30c)]['toDegrees'](Math[_0x9942c1(0x36e,0x2f5)](_0x11b8fc,_0x4384a0));function _0x32430a(_0x40071d,_0x3294f9){return _0x27456a(_0x40071d- -0x1e0,_0x3294f9);}return _0x2d637c+=_0x2d637c<0x0?0x168:0x0,_0x2d637c;}const _0x16cb1d={};_0x16cb1d['__proto__']=null,_0x16cb1d['getU']=getU,_0x16cb1d[_0x27456a(0x512,0x550)]=getV,_0x16cb1d[_0x688102(0x484,0x4c2)]=getSpeed,_0x16cb1d[_0x688102(0x46c,0x498)]=getDirection;var WindUtil=_0x16cb1d;const Cesium$6=mars3d__namespace['Cesium'];class CustomPrimitive{constructor(_0x315cf6){function _0x205dfa(_0x2d7ed3,_0x4eccdd){return _0x27456a(_0x2d7ed3- -0x109,_0x4eccdd);}this['commandType']=_0x315cf6[_0x43ccb7(-0xb4,-0xcb)],this[_0x43ccb7(-0xfa,-0x144)]=_0x315cf6[_0x43ccb7(-0xfa,-0x173)],this[_0x43ccb7(-0xae,-0xe2)]=_0x315cf6['attributeLocations'],this['primitiveType']=_0x315cf6['primitiveType'],this[_0x43ccb7(-0xdf,-0x84)]=_0x315cf6[_0x43ccb7(-0xdf,-0xa0)],this[_0x43ccb7(-0xb1,-0xd9)]=_0x315cf6['vertexShaderSource'],this['fragmentShaderSource']=_0x315cf6['fragmentShaderSource'],this['rawRenderState']=_0x315cf6['rawRenderState'],this[_0x205dfa(0x47f,0x45e)]=_0x315cf6['framebuffer'],this['outputTexture']=_0x315cf6['outputTexture'],this[_0x43ccb7(-0x9,0x48)]=_0x315cf6['autoClear']??![],this[_0x205dfa(0x4ad,0x4cd)]=_0x315cf6['preExecute'],this['show']=!![],this[_0x205dfa(0x4b4,0x46c)]=undefined,this['clearCommand']=undefined;function _0x43ccb7(_0x1a68e7,_0x8e3845){return _0x27456a(_0x1a68e7- -0x610,_0x8e3845);}this[_0x43ccb7(-0x9,-0x7a)]&&(this['clearCommand']=new Cesium$6[(_0x43ccb7(-0xeb,-0x164))]({'color':new Cesium$6['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':this[_0x43ccb7(-0x88,-0x63)],'pass':Cesium$6['Pass']['OPAQUE']}));}[_0x27456a(0x580,0x513)](_0xcb14fa){function _0x25b9b5(_0x400695,_0x322d70){return _0x27456a(_0x322d70- -0x485,_0x400695);}function _0x213413(_0x2c6a59,_0x10241a){return _0x27456a(_0x10241a- -0x4cc,_0x2c6a59);}switch(this[_0x213413(0xa0,0x90)]){case _0x25b9b5(0x191,0x152):{const _0x53374f=Cesium$6['VertexArray']['fromGeometry']({'context':_0xcb14fa,'geometry':this['geometry'],'attributeLocations':this[_0x25b9b5(0xd4,0xdd)],'bufferUsage':Cesium$6['BufferUsage'][_0x213413(0x13d,0xf9)]}),_0x3ff152={};_0x3ff152['context']=_0xcb14fa,_0x3ff152[_0x213413(0x46,0x96)]=this[_0x25b9b5(0x140,0xdd)],_0x3ff152['vertexShaderSource']=this['vertexShaderSource'],_0x3ff152['fragmentShaderSource']=this[_0x213413(0x133,0x133)];const _0x173de9=Cesium$6['ShaderProgram']['fromCache'](_0x3ff152),_0x32625f=Cesium$6['RenderState']['fromCache'](this['rawRenderState']);return new Cesium$6['DrawCommand']({'owner':this,'vertexArray':_0x53374f,'primitiveType':this['primitiveType'],'uniformMap':this['uniformMap'],'modelMatrix':Cesium$6[_0x213413(0x140,0x14d)]['IDENTITY'],'shaderProgram':_0x173de9,'framebuffer':this[_0x213413(0xbb,0xbc)],'renderState':_0x32625f,'pass':Cesium$6['Pass']['OPAQUE']});}case'Compute':{const _0x32eb89={};return _0x32eb89[_0x213413(0xfa,0xd3)]=this,_0x32eb89[_0x213413(0x1b6,0x133)]=this[_0x25b9b5(0x1dd,0x17a)],_0x32eb89['uniformMap']=this['uniformMap'],_0x32eb89['outputTexture']=this[_0x25b9b5(0xd5,0x96)],_0x32eb89[_0x213413(0x82,0xc3)]=!![],new Cesium$6['ComputeCommand'](_0x32eb89);}}}['setGeometry'](_0x37102b,_0x33b5a0){this[_0x35a5d2(0x18b,0x158)]=_0x33b5a0;function _0x6d09ec(_0x421e2a,_0x3c3a90){return _0x688102(_0x421e2a,_0x3c3a90- -0x318);}function _0x35a5d2(_0x3c59ac,_0x198d5d){return _0x688102(_0x198d5d,_0x3c59ac- -0x295);}const _0x155cc9=Cesium$6['VertexArray']['fromGeometry']({'context':_0x37102b,'geometry':this['geometry'],'attributeLocations':this['attributeLocations'],'bufferUsage':Cesium$6[_0x6d09ec(0x181,0x158)]['STATIC_DRAW']});this[_0x6d09ec(0x21c,0x1af)][_0x35a5d2(0x252,0x25a)]=_0x155cc9;}[_0x688102(0x546,0x4d7)](_0x9f022a){if(!this['show'])return;if(_0x9f022a['mode']!==Cesium$6['SceneMode'][_0x22d94f(0x4f7,0x4b3)])return;!Cesium$6['defined'](this['commandToExecute'])&&(this[_0x22d94f(0x52e,0x536)]=this['createCommand'](_0x9f022a[_0x14e77b(-0xf2,-0x11e)]));function _0x22d94f(_0x13c85a,_0x5786ca){return _0x27456a(_0x13c85a- -0x8f,_0x5786ca);}Cesium$6[_0x22d94f(0x533,0x4d6)](this['preExecute'])&&this['preExecute']();Cesium$6['defined'](this['clearCommand'])&&_0x9f022a[_0x14e77b(-0x8f,-0x7a)]['push'](this[_0x22d94f(0x564,0x588)]);function _0x14e77b(_0x5a3f93,_0x76001c){return _0x27456a(_0x5a3f93- -0x68d,_0x76001c);}_0x9f022a['commandList'][_0x14e77b(-0xd6,-0xd6)](this['commandToExecute']);}['isDestroyed'](){return![];}[_0x688102(0x4cc,0x449)](){if(this[_0x33065f(0x1b3,0x205)]){var _0x1d5520,_0x992694;(_0x1d5520=this['clearCommand'])!==null&&_0x1d5520!==void 0x0&&_0x1d5520[_0x33065f(0x19d,0x145)]&&this['clearCommand'][_0x33065f(0x19d,0x154)]['destroy'](),(_0x992694=this[_0x33065f(0x1b3,0x146)])!==null&&_0x992694!==void 0x0&&_0x992694['shaderProgram']&&this[_0x484339(0x5e7,0x5fd)]['shaderProgram']['destroy'](),delete this['clearCommand'];}this[_0x484339(0x5bb,0x5c7)]&&(this['commandToExecute']['vertexArray']&&this['commandToExecute']['vertexArray']['destroy'](),this['commandToExecute'][_0x484339(0x620,0x5ee)]&&this['commandToExecute'][_0x33065f(0x1a4,0x1c7)][_0x484339(0x51b,0x549)](),delete this['commandToExecute']);function _0x33065f(_0x49d4be,_0x28d1e1){return _0x27456a(_0x49d4be- -0x440,_0x28d1e1);}function _0x484339(_0x126aa7,_0x513361){return _0x27456a(_0x513361-0xa,_0x126aa7);}return Cesium$6['destroyObject'](this);}}const Cesium$5=mars3d__namespace['Cesium'],Util=(function(){const _0x474e2c=function(){function _0x595191(_0x2de078,_0x1c3e6a){return _0x3e17(_0x1c3e6a-0xeb,_0x2de078);}function _0x154dd7(_0x148de0,_0x2f285f){return _0x3e17(_0x148de0-0x1df,_0x2f285f);}const _0x839a61=new Cesium$5[(_0x595191(0x379,0x34b))]({'attributes':new Cesium$5['GeometryAttributes']({'position':new Cesium$5[(_0x595191(0x31e,0x335))]({'componentDatatype':Cesium$5['ComponentDatatype']['FLOAT'],'componentsPerAttribute':0x3,'values':new Float32Array([-0x1,-0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0,-0x1,0x1,0x0])}),'st':new Cesium$5[(_0x154dd7(0x429,0x497))]({'componentDatatype':Cesium$5[_0x154dd7(0x471,0x4a4)]['FLOAT'],'componentsPerAttribute':0x2,'values':new Float32Array([0x0,0x0,0x1,0x0,0x1,0x1,0x0,0x1])})}),'indices':new Uint32Array([0x3,0x2,0x0,0x0,0x2,0x1])});return _0x839a61;},_0x337490=function(_0x4c90da,_0x5b56c6){if(Cesium$5[_0x1cb21e(0x410,0x415)](_0x5b56c6)){const _0x468db4={};_0x468db4[_0x26a6ee(0x40,0x7a)]=_0x5b56c6,_0x4c90da['source']=_0x468db4;}function _0x1cb21e(_0x1bd2f5,_0x5c9aa6){return _0x3e17(_0x1bd2f5-0x178,_0x5c9aa6);}function _0x26a6ee(_0x5c59be,_0x1ed0a4){return _0x3e17(_0x1ed0a4- -0x194,_0x5c59be);}const _0x5ec583=new Cesium$5[(_0x1cb21e(0x3c7,0x369))](_0x4c90da);return _0x5ec583;},_0x5560f0=function(_0x2cbd0a,_0x210ddf,_0x54dc8a){const _0x3a05d3={};_0x3a05d3[_0x288983(0x58b,0x5d4)]=_0x2cbd0a;function _0x179d6b(_0x2d37cb,_0x12813e){return _0x3e17(_0x12813e- -0x199,_0x2d37cb);}_0x3a05d3['colorTextures']=[_0x210ddf];function _0x288983(_0x4ebda3,_0x3beb2b){return _0x3e17(_0x3beb2b-0x363,_0x4ebda3);}_0x3a05d3[_0x179d6b(0x8d,0x113)]=_0x54dc8a;const _0x18e661=new Cesium$5['Framebuffer'](_0x3a05d3);return _0x18e661;},_0x3dc873=function(_0x4026ec){const _0x36ad8f=!![];function _0x53ac0f(_0x16df49,_0x356c43){return _0x3e17(_0x356c43-0x19b,_0x16df49);}const _0x2c88dc=![],_0x4391f2={};_0x4391f2[_0x218bb1(0x5a0,0x625)]=_0x4026ec[_0x218bb1(0x5a0,0x5ad)],_0x4391f2[_0x218bb1(0x586,0x55d)]=_0x4026ec['depthTest'];function _0x218bb1(_0x302f37,_0x4feeee){return _0x3e17(_0x302f37-0x366,_0x4feeee);}_0x4391f2[_0x53ac0f(0x3fe,0x384)]=_0x4026ec[_0x53ac0f(0x3c2,0x384)],_0x4391f2[_0x53ac0f(0x3f6,0x460)]=_0x4026ec['blending'];const _0x389b3d=_0x4391f2,_0x35a64b=Cesium$5['Appearance']['getDefaultRenderState'](_0x36ad8f,_0x2c88dc,_0x389b3d);return _0x35a64b;},_0x54be91=function(_0x5e2b09){const _0x1e62f4={},_0x20f43d=Cesium$5['Math'][_0x509462(0x525,0x4d3)](_0x5e2b09[_0x3f1208(0xec,0xef)],Cesium$5[_0x509462(0x573,0x52a)]['TWO_PI']),_0x18f3a6=Cesium$5['Math']['mod'](_0x5e2b09['east'],Cesium$5[_0x509462(0x573,0x501)][_0x509462(0x4f1,0x4e8)]),_0x31346f=_0x5e2b09['width'];let _0xd45f5,_0x460304;_0x31346f>Cesium$5[_0x509462(0x573,0x59b)]['THREE_PI_OVER_TWO']?(_0xd45f5=0x0,_0x460304=Cesium$5[_0x509462(0x573,0x599)][_0x3f1208(0x105,0x98)]):_0x18f3a6-_0x20f43d<_0x31346f?(_0xd45f5=_0x20f43d,_0x460304=_0x20f43d+_0x31346f):(_0xd45f5=_0x20f43d,_0x460304=_0x18f3a6);_0x1e62f4[_0x509462(0x498,0x47b)]={'min':Cesium$5['Math'][_0x3f1208(0xdf,0x7e)](_0xd45f5),'max':Cesium$5['Math']['toDegrees'](_0x460304)};function _0x509462(_0x16f4e3,_0x409de8){return _0x3e17(_0x16f4e3-0x2ba,_0x409de8);}const _0x113841=_0x5e2b09['south'],_0x24ffec=_0x5e2b09['north'],_0x11110d=_0x5e2b09[_0x509462(0x56f,0x522)],_0x29ed89=_0x11110d>Cesium$5['Math']['PI']/0xc?_0x11110d/0x2:0x0;let _0x451895=Cesium$5[_0x3f1208(0x187,0x11a)]['clampToLatitudeRange'](_0x113841-_0x29ed89),_0x35aaee=Cesium$5['Math']['clampToLatitudeRange'](_0x24ffec+_0x29ed89);function _0x3f1208(_0x4a694b,_0x175fb4){return _0x3e17(_0x4a694b- -0x132,_0x175fb4);}return _0x451895<-Cesium$5[_0x3f1208(0x187,0x1c0)]['PI_OVER_THREE']&&(_0x451895=-Cesium$5['Math'][_0x509462(0x511,0x49b)]),_0x35aaee>Cesium$5['Math'][_0x3f1208(0x10c,0x138)]&&(_0x35aaee=Cesium$5['Math']['PI_OVER_TWO']),_0x1e62f4[_0x509462(0x4ee,0x53c)]={'min':Cesium$5['Math'][_0x3f1208(0xdf,0x15f)](_0x451895),'max':Cesium$5['Math'][_0x509462(0x4cb,0x4d3)](_0x35aaee)},_0x1e62f4;},_0x56115f={};_0x56115f['getFullscreenQuad']=_0x474e2c;function _0x4b984c(_0x48250f,_0x1778a0){return _0x27456a(_0x48250f- -0x3a9,_0x1778a0);}_0x56115f[_0x4b984c(0x1f9,0x181)]=_0x337490;function _0x257190(_0x29c988,_0x1677ed){return _0x688102(_0x1677ed,_0x29c988- -0x126);}return _0x56115f[_0x4b984c(0x1a3,0x227)]=_0x5560f0,_0x56115f['createRawRenderState']=_0x3dc873,_0x56115f[_0x257190(0x34d,0x393)]=_0x54be91,_0x56115f;}());var fullscreenVert='#version\x20300\x20es\x0a\x0ain\x20vec3\x20position;\x0ain\x20vec2\x20st;\x0a\x0aout\x20vec2\x20textureCoordinate;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20textureCoordinate\x20=\x20st;\x0a\x20\x20gl_Position\x20=\x20vec4(position,\x201.0f);\x0a}\x0a';function _0x688102(_0x190bbb,_0x42730b){return _0x3e17(_0x42730b-0x234,_0x190bbb);}var screenDrawFrag='#version\x20300\x20es\x0a\x0auniform\x20sampler2D\x20trailsColorTexture;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20trailsColor\x20=\x20texture(trailsColorTexture,\x20textureCoordinate);\x0a\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x0a\x20\x20if(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20trailsColor;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(0.0f);\x0a\x20\x20}\x0a}\x0a';function _0x27456a(_0x20bfe5,_0xd282aa){return _0x3e17(_0x20bfe5-0x32a,_0xd282aa);}var segmentDrawFrag='#version\x20300\x20es\x0a\x0auniform\x20sampler2D\x20colorTable;\x0auniform\x20bool\x20colour;\x0a\x0ain\x20float\x20heightNormalization;\x0ain\x20float\x20speedNormalization;\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20const\x20float\x20zero\x20=\x200.0f;\x0a\x20\x20if(speedNormalization\x20>\x20zero)\x20{\x0a\x20\x20\x20\x20if(colour)\x20{\x0a\x20\x20\x20\x20\x20\x20fragColor\x20=\x20texture(colorTable,\x20vec2(heightNormalization,\x20zero));\x0a\x20\x20\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20\x20\x20fragColor\x20=\x20texture(colorTable,\x20vec2(speedNormalization,\x20zero));\x0a\x20\x20\x20\x20}\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(zero);\x0a\x20\x20}\x0a}\x0a',segmentDrawVert='#version\x20300\x20es\x0aprecision\x20highp\x20float;\x0a\x0ain\x20vec2\x20st;\x0a//\x20it\x20is\x20not\x20normal\x20itself,\x20but\x20used\x20to\x20control\x20lines\x20drawing\x0ain\x20vec3\x20normal;\x20//\x20(point\x20to\x20use,\x20offset\x20sign,\x20not\x20used\x20component)\x0auniform\x20vec2\x20hRange;\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20vec2\x20wSpeedRange;\x0a\x0auniform\x20sampler2D\x20previousParticlesPosition;\x0auniform\x20sampler2D\x20currentParticlesPosition;\x0auniform\x20sampler2D\x20postProcessingPosition;\x0auniform\x20sampler2D\x20particlesSpeed;\x0a\x0auniform\x20float\x20particleHeight;\x0a\x0auniform\x20float\x20aspect;\x0auniform\x20float\x20pixelSize;\x0auniform\x20float\x20lineWidth;\x0a\x0astruct\x20adjacentPoints\x20{\x0a\x20\x20vec4\x20previous;\x0a\x20\x20vec4\x20current;\x0a\x20\x20vec4\x20next;\x0a};\x0a\x0aout\x20float\x20heightNormalization;\x0aout\x20float\x20speedNormalization;\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//\x20read\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\x0a\x20\x20float\x20a\x20=\x206378137.0f;\x20//\x20Semi-major\x20axis\x0a\x20\x20float\x20b\x20=\x206356752.3142f;\x20//\x20Semi-minor\x20axis\x0a\x20\x20float\x20e2\x20=\x206.69437999014e-3f;\x20//\x20First\x20eccentricity\x20squared\x0a\x0a\x20\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x20\x20float\x20longitude\x20=\x20radians(lonLatLev.x);\x0a\x0a\x20\x20float\x20cosLat\x20=\x20cos(latitude);\x0a\x20\x20float\x20sinLat\x20=\x20sin(latitude);\x0a\x20\x20float\x20cosLon\x20=\x20cos(longitude);\x0a\x20\x20float\x20sinLon\x20=\x20sin(longitude);\x0a\x0a\x20\x20float\x20N_Phi\x20=\x20a\x20/\x20sqrt(1.0f\x20-\x20e2\x20*\x20sinLat\x20*\x20sinLat);\x0a\x20\x20float\x20h\x20=\x20particleHeight\x20+\x20lonLatLev.z;\x20//\x20it\x20should\x20be\x20high\x20enough\x20otherwise\x20the\x20particle\x20may\x20not\x20pass\x20the\x20terrain\x20depth\x20test\x0a\x20\x20vec3\x20cartesian\x20=\x20vec3(0.0f);\x0a\x20\x20cartesian.x\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20cosLon;\x0a\x20\x20cartesian.y\x20=\x20(N_Phi\x20+\x20h)\x20*\x20cosLat\x20*\x20sinLon;\x0a\x20\x20cartesian.z\x20=\x20((b\x20*\x20b)\x20/\x20(a\x20*\x20a)\x20*\x20N_Phi\x20+\x20h)\x20*\x20sinLat;\x0a\x20\x20return\x20cartesian;\x0a}\x0a\x0avec4\x20calculateProjectedCoordinate(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\x20lonLatLev.x\x20=\x20mod(lonLatLev.x\x20+\x20180.0f,\x20360.0f)\x20-\x20180.0f;\x0a\x20\x20vec3\x20particlePosition\x20=\x20convertCoordinate(lonLatLev);\x0a\x20\x20vec4\x20projectedCoordinate\x20=\x20czm_modelViewProjection\x20*\x20vec4(particlePosition,\x201.0f);\x0a\x20\x20return\x20projectedCoordinate;\x0a}\x0a\x0avec4\x20calculateOffsetOnNormalDirection(vec4\x20pointA,\x20vec4\x20pointB,\x20float\x20offsetSign)\x20{\x0a\x20\x20vec2\x20aspectVec2\x20=\x20vec2(aspect,\x201.0f);\x0a\x20\x20vec2\x20pointA_XY\x20=\x20(pointA.xy\x20/\x20pointA.w)\x20*\x20aspectVec2;\x0a\x20\x20vec2\x20pointB_XY\x20=\x20(pointB.xy\x20/\x20pointB.w)\x20*\x20aspectVec2;\x0a\x0a\x20\x20float\x20offsetLength\x20=\x20lineWidth\x20/\x202.0f;\x0a\x20\x20vec2\x20direction\x20=\x20normalize(pointB_XY\x20-\x20pointA_XY);\x0a\x20\x20vec2\x20normalVector\x20=\x20vec2(-direction.y,\x20direction.x);\x0a\x20\x20normalVector.x\x20=\x20normalVector.x\x20/\x20aspect;\x0a\x20\x20normalVector\x20=\x20offsetLength\x20*\x20normalVector;\x0a\x0a\x20\x20vec4\x20offset\x20=\x20vec4(offsetSign\x20*\x20normalVector,\x200.0f,\x200.0f);\x0a\x20\x20return\x20offset;\x0a}\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20vec3\x20percent\x20=\x20vec3(0.0f);\x0a\x20\x20percent.x\x20=\x20(speed.x\x20-\x20uSpeedRange.x)\x20/\x20(uSpeedRange.y\x20-\x20uSpeedRange.x);\x0a\x20\x20percent.y\x20=\x20(speed.y\x20-\x20vSpeedRange.x)\x20/\x20(vSpeedRange.y\x20-\x20vSpeedRange.x);\x0a\x20\x20if(wSpeedRange.y\x20==\x20wSpeedRange.x)\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x200.0f;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x20(speed.z\x20-\x20wSpeedRange.x)\x20/\x20(wSpeedRange.y\x20-\x20wSpeedRange.x);\x0a\x20\x20}\x0a\x20\x20float\x20norm\x20=\x20length(percent);\x0a\x0a\x20\x20return\x20norm;\x0a}\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec2\x20particleIndex\x20=\x20st;\x0a\x0a\x20\x20vec3\x20previousPosition\x20=\x20texture(previousParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20vec3\x20currentPosition\x20=\x20texture(currentParticlesPosition,\x20particleIndex).rgb;\x0a\x20\x20vec3\x20nextPosition\x20=\x20texture(postProcessingPosition,\x20particleIndex).rgb;\x0a\x0a\x20\x20float\x20isAnyRandomPointUsed\x20=\x20texture(postProcessingPosition,\x20particleIndex).a\x20+\x0a\x20\x20\x20\x20texture(currentParticlesPosition,\x20particleIndex).a\x20+\x0a\x20\x20\x20\x20texture(previousParticlesPosition,\x20particleIndex).a;\x0a\x0a\x20\x20adjacentPoints\x20projectedCoordinates;\x0a\x20\x20if(isAnyRandomPointUsed\x20>\x200.0f)\x20{\x0a\x20\x20\x20\x20projectedCoordinates.previous\x20=\x20calculateProjectedCoordinate(previousPosition);\x0a\x20\x20\x20\x20projectedCoordinates.current\x20=\x20projectedCoordinates.previous;\x0a\x20\x20\x20\x20projectedCoordinates.next\x20=\x20projectedCoordinates.previous;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20projectedCoordinates.previous\x20=\x20calculateProjectedCoordinate(previousPosition);\x0a\x20\x20\x20\x20projectedCoordinates.current\x20=\x20calculateProjectedCoordinate(currentPosition);\x0a\x20\x20\x20\x20projectedCoordinates.next\x20=\x20calculateProjectedCoordinate(nextPosition);\x0a\x20\x20}\x0a\x0a\x20\x20int\x20pointToUse\x20=\x20int(normal.x);\x0a\x20\x20float\x20offsetSign\x20=\x20normal.y;\x0a\x20\x20vec4\x20offset\x20=\x20vec4(0.0f);\x0a\x20\x20\x20\x20//\x20render\x20lines\x20with\x20triangles\x20and\x20miter\x20joint\x0a\x20\x20\x20\x20//\x20read\x20https://blog.scottlogic.com/2019/11/18/drawing-lines-with-webgl.html\x20for\x20detail\x0a\x20\x20if(pointToUse\x20==\x20-1)\x20{\x0a\x20\x20\x20\x20offset\x20=\x20pixelSize\x20*\x20calculateOffsetOnNormalDirection(projectedCoordinates.previous,\x20projectedCoordinates.current,\x20offsetSign);\x0a\x20\x20\x20\x20gl_Position\x20=\x20projectedCoordinates.previous\x20+\x20offset;\x0a\x20\x20}\x20else\x20if(pointToUse\x20==\x201)\x20{\x0a\x20\x20\x20\x20offset\x20=\x20pixelSize\x20*\x20calculateOffsetOnNormalDirection(projectedCoordinates.current,\x20projectedCoordinates.next,\x20offsetSign);\x0a\x20\x20\x20\x20gl_Position\x20=\x20projectedCoordinates.next\x20+\x20offset;\x0a\x20\x20}\x0a\x0a\x20\x20heightNormalization\x20=\x20(currentPosition.z\x20-\x20hRange.x)\x20/\x20(hRange.y\x20-\x20hRange.x);\x0a\x0a\x20\x20speedNormalization\x20=\x20texture(particlesSpeed,\x20particleIndex).a;\x0a}\x0a',trailDrawFrag='#version\x20300\x20es\x0a\x0aprecision\x20highp\x20float;\x0a\x0ain\x20vec2\x20textureCoordinate;\x0a\x0auniform\x20sampler2D\x20segmentsColorTexture;\x0auniform\x20sampler2D\x20segmentsDepthTexture;\x0a\x0auniform\x20sampler2D\x20currentTrailsColor;\x0auniform\x20sampler2D\x20trailsDepthTexture;\x0a\x0auniform\x20float\x20fadeOpacity;\x0a\x0aout\x20vec4\x20fragColor;\x0avoid\x20main()\x20{\x0a\x20\x20vec4\x20pointsColor\x20=\x20texture(segmentsColorTexture,\x20textureCoordinate);\x0a\x20\x20vec4\x20trailsColor\x20=\x20texture(currentTrailsColor,\x20textureCoordinate);\x0a\x20\x20trailsColor\x20=\x20floor(fadeOpacity\x20*\x20255.0f\x20*\x20trailsColor)\x20/\x20255.0f;\x20//\x20make\x20sure\x20the\x20trailsColor\x20will\x20be\x20strictly\x20decreased\x0a\x0a\x20\x20float\x20pointsDepth\x20=\x20texture(segmentsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20float\x20trailsDepth\x20=\x20texture(trailsDepthTexture,\x20textureCoordinate).r;\x0a\x20\x20float\x20globeDepth\x20=\x20czm_unpackDepth(texture(czm_globeDepthTexture,\x20textureCoordinate));\x0a\x20\x20fragColor\x20=\x20vec4(0.0f);\x0a\x20\x20if(pointsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20fragColor\x20+\x20pointsColor;\x0a\x20\x20}\x0a\x20\x20if(trailsDepth\x20<\x20globeDepth)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20fragColor\x20+\x20trailsColor;\x0a\x20\x20}\x0a\x20\x20gl_FragDepth\x20=\x20min(pointsDepth,\x20trailsDepth);\x0a}\x0a';const Cesium$4=mars3d__namespace['Cesium'];class ParticlesRendering{constructor(_0x3a6a92,_0xd2b518,_0x54ae25,_0x3e6176,_0x139c2f){function _0x12a2c6(_0x580319,_0x29d5de){return _0x688102(_0x29d5de,_0x580319- -0x4b2);}this[_0x5d011f(0xb9,0x10e)]=_0x54ae25['colors']===_0x5d011f(0x172,0x191),this['createRenderingTextures'](_0x3a6a92,_0xd2b518,_0x54ae25[_0x5d011f(0x16e,0x130)]);function _0x5d011f(_0x4d096e,_0x20b443){return _0x688102(_0x20b443,_0x4d096e- -0x377);}this['createRenderingFramebuffers'](_0x3a6a92),this[_0x5d011f(0x12c,0x151)](_0x3a6a92,_0xd2b518,_0x54ae25,_0x3e6176,_0x139c2f);}['createRenderingTextures'](_0x54b62b,_0x3c76fd,_0x119153){function _0x480fba(_0x339267,_0x5604a8){return _0x27456a(_0x5604a8- -0x368,_0x339267);}const _0x8e3758={};_0x8e3758[_0x5dddd6(0x82,0x13)]=_0x54b62b,_0x8e3758[_0x5dddd6(-0x2c,-0x6b)]=_0x54b62b['drawingBufferWidth'],_0x8e3758['height']=_0x54b62b['drawingBufferHeight'],_0x8e3758[_0x5dddd6(-0x9,0x62)]=Cesium$4['PixelFormat']['RGBA'],_0x8e3758[_0x5dddd6(-0x64,-0x67)]=Cesium$4['PixelDatatype'][_0x5dddd6(-0x29,0x1d)];const _0x767a61=_0x8e3758,_0x5b2a3a={};function _0x5dddd6(_0x126a8c,_0x50c574){return _0x688102(_0x126a8c,_0x50c574- -0x492);}_0x5b2a3a[_0x480fba(0x21e,0x233)]=_0x54b62b,_0x5b2a3a[_0x5dddd6(-0x19,-0x6b)]=_0x54b62b[_0x5dddd6(-0x37,-0x6a)],_0x5b2a3a[_0x5dddd6(0x6b,0x57)]=_0x54b62b['drawingBufferHeight'],_0x5b2a3a['pixelFormat']=Cesium$4['PixelFormat'][_0x5dddd6(-0x28,-0xb)],_0x5b2a3a[_0x5dddd6(-0x7d,-0x67)]=Cesium$4[_0x5dddd6(-0x20,0x3)][_0x5dddd6(0xb9,0x7e)];const _0x3088f6=_0x5b2a3a,_0x52e822=_0x119153['length'],_0x2e7383=new Float32Array(_0x52e822*0x3);for(let _0x131b73=0x0;_0x131b73<_0x52e822;_0x131b73++){const _0x1682f6=Cesium$4['Color']['fromCssColorString'](_0x119153[_0x131b73]);_0x2e7383[0x3*_0x131b73]=_0x1682f6['red'],_0x2e7383[0x3*_0x131b73+0x1]=_0x1682f6['green'],_0x2e7383[0x3*_0x131b73+0x2]=_0x1682f6['blue'];}const _0x1248ca={'context':_0x54b62b,'width':_0x52e822,'height':0x1,'pixelFormat':Cesium$4['PixelFormat']['RGB'],'pixelDatatype':Cesium$4['PixelDatatype']['FLOAT'],'sampler':new Cesium$4['Sampler']({'minificationFilter':Cesium$4[_0x480fba(0x22d,0x225)]['LINEAR'],'magnificationFilter':Cesium$4['TextureMagnificationFilter']['LINEAR']})};this['textures']={'segmentsColor':Util['createTexture'](_0x767a61),'segmentsDepth':Util[_0x5dddd6(-0x65,0x1a)](_0x3088f6),'currentTrailsColor':Util['createTexture'](_0x767a61),'currentTrailsDepth':Util['createTexture'](_0x3088f6),'nextTrailsColor':Util[_0x5dddd6(0x37,0x1a)](_0x767a61),'nextTrailsDepth':Util[_0x480fba(0x21a,0x23a)](_0x3088f6),'colorTable':Util['createTexture'](_0x1248ca,_0x2e7383)};}['createRenderingFramebuffers'](_0x48e37b){function _0x5b54ab(_0x4c7f51,_0x5a1261){return _0x688102(_0x5a1261,_0x4c7f51- -0x2e6);}function _0x4692e7(_0x28f851,_0x5f213a){return _0x688102(_0x5f213a,_0x28f851- -0x110);}this['framebuffers']={'segments':Util[_0x4692e7(0x346,0x36f)](_0x48e37b,this[_0x4692e7(0x374,0x2fe)]['segmentsColor'],this['textures']['segmentsDepth']),'currentTrails':Util[_0x4692e7(0x346,0x363)](_0x48e37b,this['textures']['currentTrailsColor'],this[_0x4692e7(0x374,0x3c8)]['currentTrailsDepth']),'nextTrails':Util['createFramebuffer'](_0x48e37b,this[_0x4692e7(0x374,0x3cb)][_0x5b54ab(0x238,0x1e4)],this['textures']['nextTrailsDepth'])};}['createSegmentsGeometry'](_0x5d27f8){function _0x252db8(_0x16ab93,_0x1f2f49){return _0x688102(_0x16ab93,_0x1f2f49-0x43);}const _0x3bf9e4=0x4;let _0x591468=[];for(let _0x49f553=0x0;_0x49f553<_0x5d27f8['particlesTextureSize'];_0x49f553++){for(let _0x11fcc9=0x0;_0x11fcc9<_0x5d27f8[_0x4bd911(0x4cb,0x4f5)];_0x11fcc9++){for(let _0x1c7db0=0x0;_0x1c7db0<_0x3bf9e4;_0x1c7db0++){_0x591468['push'](_0x49f553/_0x5d27f8['particlesTextureSize']),_0x591468[_0x4bd911(0x4eb,0x4c2)](_0x11fcc9/_0x5d27f8[_0x4bd911(0x4cb,0x48d)]);}}}function _0x4bd911(_0x3a1e3c,_0x53937e){return _0x688102(_0x53937e,_0x3a1e3c-0x2a);}_0x591468=new Float32Array(_0x591468);let _0x13d7d6=[];for(let _0xaff3c7=0x0;_0xaff3c7<_0x5d27f8['maxParticles'];_0xaff3c7++){_0x13d7d6['push'](-0x1,-0x1,0x0,-0x1,0x1,0x0,0x1,-0x1,0x0,0x1,0x1,0x0);}_0x13d7d6=new Float32Array(_0x13d7d6);let _0x446356=[];for(let _0xad0e9b=0x0,_0x4a71fa=0x0;_0xad0e9b<_0x5d27f8[_0x252db8(0x53a,0x4c5)];_0xad0e9b++){_0x446356[_0x252db8(0x479,0x504)](_0x4a71fa+0x0,_0x4a71fa+0x1,_0x4a71fa+0x2,_0x4a71fa+0x2,_0x4a71fa+0x1,_0x4a71fa+0x3),_0x4a71fa+=_0x3bf9e4;}_0x446356=new Uint32Array(_0x446356);const _0x1eae86=new Cesium$4['Geometry']({'attributes':new Cesium$4['GeometryAttributes']({'st':new Cesium$4[(_0x252db8(0x488,0x4c1))]({'componentDatatype':Cesium$4[_0x4bd911(0x4f0,0x475)]['FLOAT'],'componentsPerAttribute':0x2,'values':_0x591468}),'normal':new Cesium$4['GeometryAttribute']({'componentDatatype':Cesium$4[_0x252db8(0x58b,0x509)]['FLOAT'],'componentsPerAttribute':0x3,'values':_0x13d7d6})}),'indices':_0x446356});return _0x1eae86;}['createRenderingPrimitives'](_0x1f63b6,_0x3473f4,_0x949b6c,_0x1407a3,_0x51aae8){const _0x5f2746=this,_0x1ab97c={};_0x1ab97c['st']=0x0,_0x1ab97c['normal']=0x1;const _0x45f81d={};_0x45f81d['sources']=[segmentDrawVert];const _0xff904a={};_0xff904a[_0x539cb8(-0x155,-0x18d)]=[segmentDrawFrag];const _0x29463b={};_0x29463b[_0x48591f(0x4f6,0x531)]=!![];const _0x594649={};_0x594649['viewport']=undefined,_0x594649[_0x48591f(0x44b,0x417)]=_0x29463b,_0x594649[_0x539cb8(-0x185,-0x1da)]=!![];const _0x4b7b5d={};_0x4b7b5d['position']=0x0,_0x4b7b5d['st']=0x1;const _0x1868cd={};_0x1868cd['defines']=[_0x539cb8(-0x188,-0x102)],_0x1868cd['sources']=[fullscreenVert];const _0x5596dc={};_0x5596dc['defines']=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x5596dc[_0x48591f(0x444,0x491)]=[trailDrawFrag];const _0x45b88e={};_0x45b88e[_0x48591f(0x44e,0x3c8)]=0x0,_0x45b88e['st']=0x1;const _0x5458c7={};_0x5458c7['defines']=[_0x539cb8(-0x188,-0x18b)],_0x5458c7[_0x539cb8(-0x155,-0x146)]=[fullscreenVert];const _0x40ea90={};function _0x539cb8(_0x26bc99,_0x242aa3){return _0x688102(_0x242aa3,_0x26bc99- -0x5a2);}_0x40ea90['defines']=['DISABLE_LOG_DEPTH_FRAGMENT_WRITE'],_0x40ea90[_0x539cb8(-0x155,-0x160)]=[screenDrawFrag];function _0x48591f(_0x57ba6b,_0x44a890){return _0x27456a(_0x57ba6b- -0xff,_0x44a890);}const _0x14dfb8={};_0x14dfb8['enabled']=![];const _0x1daf8e={};_0x1daf8e['enabled']=!![],this[_0x48591f(0x441,0x4ad)]={'segments':new CustomPrimitive({'commandType':_0x48591f(0x4d8,0x55f),'attributeLocations':_0x1ab97c,'geometry':this['createSegmentsGeometry'](_0x949b6c),'primitiveType':Cesium$4[_0x48591f(0x4df,0x52d)][_0x48591f(0x504,0x57a)],'uniformMap':{'previousParticlesPosition':function(){function _0x5999e3(_0x2a7a11,_0x3a1a20){return _0x48591f(_0x3a1a20- -0x37a,_0x2a7a11);}return _0x51aae8[_0x5999e3(0x1a8,0x127)]['previousParticlesPosition'];},'currentParticlesPosition':function(){function _0x2c5443(_0x1c8914,_0x389c83){return _0x48591f(_0x389c83- -0x3a1,_0x1c8914);}function _0x4c4713(_0x3bbaaa,_0x186995){return _0x48591f(_0x3bbaaa-0x162,_0x186995);}return _0x51aae8[_0x2c5443(0xd1,0x100)][_0x2c5443(0xb0,0x115)];},'postProcessingPosition':function(){return _0x51aae8['particlesTextures']['postProcessingPosition'];},'particlesSpeed':function(){function _0x3e5079(_0x3ea417,_0x89dcdd){return _0x48591f(_0x3ea417- -0x309,_0x89dcdd);}return _0x51aae8['particlesTextures'][_0x3e5079(0x18a,0x164)];},'colorTable':function(){function _0x3c0c05(_0x2a9781,_0x456b4e){return _0x539cb8(_0x2a9781-0x22,_0x456b4e);}return _0x5f2746[_0x3c0c05(-0xfc,-0xa1)]['colorTable'];},'aspect':function(){function _0x2b5a61(_0x34b532,_0x746b95){return _0x48591f(_0x34b532- -0x80,_0x746b95);}return _0x1f63b6[_0x2b5a61(0x39f,0x3f2)]/_0x1f63b6['drawingBufferHeight'];},'H':function(){function _0x19d91c(_0x50044d,_0x2e2284){return _0x539cb8(_0x2e2284-0xaa,_0x50044d);}return _0x3473f4['H'][_0x19d91c(0x91,0x14)];},'hRange':function(){return new Cesium$4['Cartesian2'](_0x3473f4['H']['min'],_0x3473f4['H']['max']);},'uSpeedRange':function(){function _0x44c356(_0x54ab40,_0x48ca0a){return _0x539cb8(_0x48ca0a-0x340,_0x54ab40);}return new Cesium$4[(_0x44c356(0x2e8,0x270))](_0x3473f4['U']['min'],_0x3473f4['U']['max']);},'vSpeedRange':function(){return new Cesium$4['Cartesian2'](_0x3473f4['V']['min'],_0x3473f4['V']['max']);},'wSpeedRange':function(){return new Cesium$4['Cartesian2'](_0x3473f4['W']['min'],_0x3473f4['W']['max']);},'pixelSize':function(){return _0x1407a3['pixelSize'];},'lineWidth':function(){return _0x949b6c['lineWidth'];},'particleHeight':function(){return _0x949b6c['particleHeight'];},'colour':function(){function _0x5de877(_0x3924bc,_0x4984e7){return _0x539cb8(_0x4984e7-0x1f,_0x3924bc);}return _0x5f2746[_0x5de877(-0x1dd,-0x153)];}},'vertexShaderSource':new Cesium$4[(_0x48591f(0x4a2,0x4ce))](_0x45f81d),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0xff904a),'rawRenderState':Util[_0x539cb8(-0x18c,-0x1ad)](_0x594649),'framebuffer':this[_0x539cb8(-0x14a,-0xd3)]['segments'],'autoClear':!![]}),'trails':new CustomPrimitive({'commandType':'Draw','attributeLocations':_0x4b7b5d,'geometry':Util[_0x48591f(0x4c7,0x53b)](),'primitiveType':Cesium$4[_0x48591f(0x4df,0x4bf)][_0x48591f(0x504,0x523)],'uniformMap':{'segmentsColorTexture':function(){return _0x5f2746['textures']['segmentsColor'];},'segmentsDepthTexture':function(){return _0x5f2746['textures']['segmentsDepth'];},'currentTrailsColor':function(){function _0xb0459c(_0x2ab707,_0x596255){return _0x48591f(_0x596255- -0x45d,_0x2ab707);}function _0xc8e64e(_0x53d3e3,_0x2e73c5){return _0x539cb8(_0x53d3e3-0x412,_0x2e73c5);}return _0x5f2746[_0xc8e64e(0x2c8,0x2ef)][_0xc8e64e(0x2d1,0x28a)][_0xb0459c(-0x38,-0x2)](0x0);},'trailsDepthTexture':function(){function _0xff5f61(_0x64fdac,_0x166629){return _0x48591f(_0x64fdac- -0x60d,_0x166629);}return _0x5f2746[_0xff5f61(-0x1be,-0x1c3)]['currentTrails']['depthTexture'];},'fadeOpacity':function(){return _0x949b6c['fadeOpacity'];}},'vertexShaderSource':new Cesium$4[(_0x48591f(0x4a2,0x4c5))](_0x1868cd),'fragmentShaderSource':new Cesium$4[(_0x539cb8(-0xf7,-0xe4))](_0x5596dc),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':{'enabled':!![],'func':Cesium$4[_0x48591f(0x41b,0x48a)]['ALWAYS']},'depthMask':!![]}),'framebuffer':this[_0x539cb8(-0x14a,-0x17c)]['nextTrails'],'autoClear':!![],'preExecute':function(){if(_0x949b6c['dynamic']){const _0x3db6c2=_0x5f2746['framebuffers'][_0x569251(0x2d7,0x29d)];_0x5f2746['framebuffers']['currentTrails']=_0x5f2746['framebuffers']['nextTrails'],_0x5f2746[_0x1d8520(0x30e,0x2b7)][_0x569251(0x379,0x3e0)]=_0x3db6c2;}function _0x1d8520(_0xcf697,_0x54b263){return _0x539cb8(_0x54b263-0x401,_0xcf697);}_0x5f2746[_0x1d8520(0x2ed,0x2a9)][_0x1d8520(0x2ee,0x332)]['commandToExecute']['framebuffer']=_0x5f2746[_0x1d8520(0x257,0x2b7)][_0x1d8520(0x359,0x362)];function _0x569251(_0x488fcd,_0x1b69f8){return _0x48591f(_0x488fcd- -0x181,_0x1b69f8);}_0x5f2746[_0x569251(0x2c0,0x33d)]['trails']['clearCommand']['framebuffer']=_0x5f2746['framebuffers']['nextTrails'];}}),'screen':new CustomPrimitive({'commandType':_0x48591f(0x4d8,0x55c),'attributeLocations':_0x45b88e,'geometry':Util[_0x48591f(0x4c7,0x511)](),'primitiveType':Cesium$4['PrimitiveType']['TRIANGLES'],'uniformMap':{'trailsColorTexture':function(){function _0x421b5c(_0x408023,_0x54357a){return _0x539cb8(_0x408023-0x420,_0x54357a);}return _0x5f2746['framebuffers']['nextTrails'][_0x421b5c(0x2e2,0x2ab)](0x0);},'trailsDepthTexture':function(){function _0x195953(_0x57b02e,_0x15b2c4){return _0x48591f(_0x57b02e- -0x109,_0x15b2c4);}return _0x5f2746[_0x195953(0x346,0x2db)]['nextTrails']['depthTexture'];}},'vertexShaderSource':new Cesium$4['ShaderSource'](_0x5458c7),'fragmentShaderSource':new Cesium$4['ShaderSource'](_0x40ea90),'rawRenderState':Util['createRawRenderState']({'viewport':undefined,'depthTest':_0x14dfb8,'depthMask':!![],'blending':_0x1daf8e}),'framebuffer':undefined})};}}var CalculateSpeedShader='#version\x20300\x20es\x0a\x0a//\x20the\x20size\x20of\x20UV\x20textures:\x20width\x20=\x20lon,\x20height\x20=\x20lat*lev\x0auniform\x20sampler2D\x20U;\x20//\x20eastward\x20wind\x0auniform\x20sampler2D\x20V;\x20//\x20northward\x20wind\x0auniform\x20sampler2D\x20W;\x20//\x20upward\x20wind\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\x0a//\x20used\x20to\x20calculate\x20the\x20wind\x20norm\x0auniform\x20vec2\x20uSpeedRange;\x20//\x20(min,\x20max);\x0auniform\x20vec2\x20vSpeedRange;\x0auniform\x20vec2\x20wSpeedRange;\x0auniform\x20float\x20speedScaleFactor;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20lonLatLev.x\x20=\x20clamp(lonLatLev.x,\x20minimum.x,\x20maximum.x);\x0a\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20minimum.y,\x20maximum.y);\x0a\x20\x20lonLatLev.z\x20=\x20clamp(lonLatLev.z,\x20minimum.z,\x20maximum.z);\x0a\x0a\x20\x20vec3\x20index3D\x20=\x20vec3(0.0f);\x0a\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20\x20\x20//\x20map\x20the\x20z-axis\x20value\x20to\x20the\x20nearest\x20bit\x20plane\x20to\x20ensure\x20that\x20the\x20result\x20is\x20an\x20integer\x0a\x20\x20index3D.z\x20=\x20ceil((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,\x207,\x208,\x209],\x20width\x20=\x202,\x20height\x20=\x202,\x20level\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\x206\x207\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x204\x205\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x202\x203\x0a\x20\x20\x20\x20//\x20\x20\x20\x20|\x20\x200\x201\x0a\x20\x20\x20\x20//\x20\x20\x200.0------1.0\x20s\x0a\x0a\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0afloat\x20getWindComponent(sampler2D\x20componentTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20float\x20result\x20=\x20texture(componentTexture,\x20normalizedIndex2D).r;\x0a\x20\x20return\x20result;\x0a}\x0a\x0afloat\x20interpolateTexture(sampler2D\x20componentTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20float\x20lon\x20=\x20lonLatLev.x;\x0a\x20\x20float\x20lat\x20=\x20lonLatLev.y;\x0a\x20\x20float\x20lev\x20=\x20lonLatLev.z;\x0a\x0a\x20\x20float\x20lon0\x20=\x20floor(lon\x20/\x20interval.x)\x20*\x20interval.x;\x0a\x20\x20float\x20lon1\x20=\x20lon0\x20+\x201.0f\x20*\x20interval.x;\x0a\x20\x20float\x20lat0\x20=\x20floor(lat\x20/\x20interval.y)\x20*\x20interval.y;\x0a\x20\x20float\x20lat1\x20=\x20lat0\x20+\x201.0f\x20*\x20interval.y;\x0a\x0a\x20\x20float\x20lon0_lat0\x20=\x20getWindComponent(componentTexture,\x20vec3(lon0,\x20lat0,\x20lev));\x0a\x20\x20float\x20lon1_lat0\x20=\x20getWindComponent(componentTexture,\x20vec3(lon1,\x20lat0,\x20lev));\x0a\x20\x20float\x20lon0_lat1\x20=\x20getWindComponent(componentTexture,\x20vec3(lon0,\x20lat1,\x20lev));\x0a\x20\x20float\x20lon1_lat1\x20=\x20getWindComponent(componentTexture,\x20vec3(lon1,\x20lat1,\x20lev));\x0a\x0a\x20\x20float\x20lon_lat0\x20=\x20mix(lon0_lat0,\x20lon1_lat0,\x20lon\x20-\x20lon0);\x0a\x20\x20float\x20lon_lat1\x20=\x20mix(lon0_lat1,\x20lon1_lat1,\x20lon\x20-\x20lon0);\x0a\x20\x20float\x20lon_lat\x20=\x20mix(lon_lat0,\x20lon_lat1,\x20lat\x20-\x20lat0);\x0a\x20\x20return\x20lon_lat;\x0a}\x0a\x0avec3\x20linearInterpolation(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20https://en.wikipedia.org/wiki/Bilinear_interpolation\x0a\x20\x20float\x20u\x20=\x20interpolateTexture(U,\x20lonLatLev);\x0a\x20\x20float\x20v\x20=\x20interpolateTexture(V,\x20lonLatLev);\x0a\x20\x20float\x20w\x20=\x20interpolateTexture(W,\x20lonLatLev);\x0a\x20\x20return\x20vec3(u,\x20v,\x20w);\x0a}\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\x20float\x20latitude\x20=\x20radians(lonLatLev.y);\x0a\x0a\x20\x20float\x20term1\x20=\x20111132.92f;\x0a\x20\x20float\x20term2\x20=\x20559.82f\x20*\x20cos(2.0f\x20*\x20latitude);\x0a\x20\x20float\x20term3\x20=\x201.175f\x20*\x20cos(4.0f\x20*\x20latitude);\x0a\x20\x20float\x20term4\x20=\x200.0023f\x20*\x20cos(6.0f\x20*\x20latitude);\x0a\x20\x20float\x20latLength\x20=\x20term1\x20-\x20term2\x20+\x20term3\x20-\x20term4;\x0a\x0a\x20\x20float\x20term5\x20=\x20111412.84f\x20*\x20cos(latitude);\x0a\x20\x20float\x20term6\x20=\x2093.5f\x20*\x20cos(3.0f\x20*\x20latitude);\x0a\x20\x20float\x20term7\x20=\x200.118f\x20*\x20cos(5.0f\x20*\x20latitude);\x0a\x20\x20float\x20longLength\x20=\x20term5\x20-\x20term6\x20+\x20term7;\x0a\x0a\x20\x20return\x20vec2(longLength,\x20latLength);\x0a}\x0a\x0avec3\x20convertSpeedUnitToLonLat(vec3\x20lonLatLev,\x20vec3\x20speed)\x20{\x0a\x20\x20vec2\x20lonLatLength\x20=\x20lengthOfLonLat(lonLatLev);\x0a\x20\x20float\x20u\x20=\x20speed.x\x20/\x20lonLatLength.x;\x0a\x20\x20float\x20v\x20=\x20speed.y\x20/\x20lonLatLength.y;\x0a\x20\x20float\x20w\x20=\x20speed.z;\x0a\x20\x20vec3\x20windVectorInLonLatLev\x20=\x20vec3(u,\x20v,\x20w);\x0a\x0a\x20\x20return\x20windVectorInLonLatLev;\x0a}\x0a\x0avec3\x20calculateSpeedByRungeKutta2(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20see\x20https://en.wikipedia.org/wiki/Runge%E2%80%93Kutta_methods#Second-order_methods_with_two_stages\x20for\x20detail\x0a\x20\x20const\x20float\x20h\x20=\x200.5f;\x0a\x0a\x20\x20vec3\x20y_n\x20=\x20lonLatLev;\x0a\x20\x20vec3\x20f_n\x20=\x20linearInterpolation(lonLatLev);\x0a\x20\x20vec3\x20midpoint\x20=\x20y_n\x20+\x200.5f\x20*\x20h\x20*\x20convertSpeedUnitToLonLat(y_n,\x20f_n)\x20*\x20speedScaleFactor;\x0a\x20\x20vec3\x20speed\x20=\x20h\x20*\x20linearInterpolation(midpoint)\x20*\x20speedScaleFactor;\x0a\x0a\x20\x20return\x20speed;\x0a}\x0a\x0avec2\x20getRange(vec2\x20range)\x20{\x0a\x20\x20float\x20x1\x20=\x200.0f\x20-\x20range.x;\x0a\x20\x20float\x20x2\x20=\x20range.y\x20-\x200.0f;\x0a\x20\x20if(x1\x20<\x200.0f\x20||\x20x2\x20<\x200.0f)\x20{\x0a\x20\x20\x20\x20return\x20vec2(abs(x1),\x20abs(x2));\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20return\x20vec2(0.0f,\x20abs(max(x1,\x20x2)));\x0a\x20\x20}\x0a}\x0a\x0afloat\x20calculateWindNorm(vec3\x20speed)\x20{\x0a\x20\x20vec3\x20percent\x20=\x20vec3(0.0f);\x0a\x20\x20vec2\x20uRange\x20=\x20getRange(uSpeedRange);\x0a\x20\x20vec2\x20vRange\x20=\x20getRange(vSpeedRange);\x0a\x20\x20vec2\x20wRange\x20=\x20getRange(wSpeedRange);\x0a\x20\x20if(length(speed.xyz)\x20==\x200.0f)\x20{\x0a\x20\x20\x20\x20return\x200.0f;\x0a\x20\x20}\x0a\x0a\x20\x20percent.x\x20=\x20(abs(speed.x)\x20-\x20uRange.x)\x20/\x20(uRange.y\x20-\x20uRange.x);\x0a\x20\x20percent.y\x20=\x20(abs(speed.y)\x20-\x20vRange.x)\x20/\x20(vRange.y\x20-\x20vRange.x);\x0a\x20\x20if(wSpeedRange.y\x20==\x20wSpeedRange.x)\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x200.0f;\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20percent.z\x20=\x20(abs(speed.z)\x20-\x20wRange.x)\x20/\x20(wRange.y\x20-\x20wRange.x);\x0a\x20\x20}\x0a\x20\x20float\x20norm\x20=\x20length(percent);\x0a\x0a\x20\x20return\x20norm;\x0a}\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec3\x20speedOrigin\x20=\x20linearInterpolation(lonLatLev);\x0a\x20\x20vec3\x20speed\x20=\x20calculateSpeedByRungeKutta2(lonLatLev);\x0a\x20\x20vec3\x20speedInLonLat\x20=\x20convertSpeedUnitToLonLat(lonLatLev,\x20speed);\x0a\x0a\x20\x20vec4\x20particleSpeed\x20=\x20vec4(speedInLonLat,\x20calculateWindNorm(speed\x20/\x20speedScaleFactor));\x0a\x20\x20\x20\x20//\x20gl_FragColor\x20=\x20particleSpeed;\x0a\x20\x20fragColor\x20=\x20vec4(speedInLonLat,\x20calculateWindNorm(speedOrigin));\x0a}\x0a',PostProcessingPositionShader='#version\x20300\x20es\x0aprecision\x20highp\x20float;\x0a\x0auniform\x20sampler2D\x20nextParticlesPosition;\x0auniform\x20sampler2D\x20particlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20norm)\x0a\x0auniform\x20sampler2D\x20H;\x20//\x20particles\x20height\x20textures\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\x0a//\x20range\x20(min,\x20max)\x0auniform\x20vec2\x20lonRange;\x0auniform\x20vec2\x20latRange;\x0auniform\x20vec2\x20viewerLonRange;\x0auniform\x20vec2\x20viewerLatRange;\x0a\x0aconst\x20float\x20randomCoefficient\x20=\x200.1f;\x20//\x20use\x20to\x20improve\x20the\x20pseudo-random\x20generator\x0aconst\x20float\x20dropRate\x20=\x200.1f;\x20//\x20drop\x20rate\x20is\x20a\x20chance\x20a\x20particle\x20will\x20restart\x20at\x20random\x20position\x20to\x20avoid\x20degeneration\x0aconst\x20float\x20dropRateBump\x20=\x200.1f;\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0avec2\x20mapPositionToNormalizedIndex2D(vec3\x20lonLatLev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20range\x20of\x20longitude\x20and\x20latitude\x0a\x20\x20lonLatLev.x\x20=\x20clamp(lonLatLev.x,\x20minimum.x,\x20maximum.x);\x0a\x20\x20lonLatLev.y\x20=\x20clamp(lonLatLev.y,\x20minimum.y,\x20maximum.y);\x0a\x20\x20lonLatLev.z\x20=\x20clamp(lonLatLev.z,\x20minimum.z,\x20maximum.z);\x0a\x0a\x20\x20vec3\x20index3D\x20=\x20vec3(0.0f);\x0a\x20\x20index3D.x\x20=\x20(lonLatLev.x\x20-\x20minimum.x)\x20/\x20interval.x;\x0a\x20\x20index3D.y\x20=\x20(lonLatLev.y\x20-\x20minimum.y)\x20/\x20interval.y;\x0a\x20\x20index3D.z\x20=\x20ceil((lonLatLev.z\x20-\x20minimum.z)\x20/\x20interval.z);\x0a\x0a\x20\x20vec2\x20index2D\x20=\x20vec2(index3D.x,\x20index3D.z\x20*\x20dimension.y\x20+\x20index3D.y);\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20vec2(index2D.x\x20/\x20dimension.x,\x20index2D.y\x20/\x20(dimension.y\x20*\x20dimension.z));\x0a\x20\x20return\x20normalizedIndex2D;\x0a}\x0a\x0avec4\x20getTextureValue(sampler2D\x20componentTexture,\x20vec3\x20lonLatLev)\x20{\x0a\x20\x20vec2\x20normalizedIndex2D\x20=\x20mapPositionToNormalizedIndex2D(lonLatLev);\x0a\x20\x20vec4\x20result\x20=\x20texture(componentTexture,\x20normalizedIndex2D);\x0a\x20\x20return\x20result;\x0a}\x0a\x0a//\x20pseudo-random\x20generator\x0aconst\x20vec3\x20randomConstants\x20=\x20vec3(12.9898f,\x2078.233f,\x204375.85453f);\x0aconst\x20vec2\x20normalRange\x20=\x20vec2(0.0f,\x201.0f);\x0afloat\x20rand(vec2\x20seed,\x20vec2\x20range)\x20{\x0a\x20\x20vec2\x20randomSeed\x20=\x20randomCoefficient\x20*\x20seed;\x0a\x20\x20float\x20temp\x20=\x20dot(randomConstants.xy,\x20randomSeed);\x0a\x20\x20temp\x20=\x20fract(sin(temp)\x20*\x20(randomConstants.z\x20+\x20temp));\x0a\x20\x20return\x20temp\x20*\x20(range.y\x20-\x20range.x)\x20+\x20range.x;\x0a}\x0a\x0abool\x20particleNoSpeed(vec3\x20particle)\x20{\x0a\x20\x20vec4\x20speed\x20=\x20getTextureValue(particlesSpeed,\x20particle);\x0a\x20\x20return\x20speed.r\x20==\x200.0f\x20&&\x20speed.g\x20==\x200.0f;\x0a}\x0a\x0avec3\x20generateRandomParticle(vec2\x20seed,\x20float\x20lev)\x20{\x0a\x20\x20\x20\x20//\x20ensure\x20the\x20longitude\x20is\x20in\x20[0,\x20360]\x0a\x20\x20float\x20randomLon\x20=\x20mod(rand(seed,\x20lonRange),\x20360.0f);\x0a\x20\x20float\x20randomLat\x20=\x20rand(-seed,\x20latRange);\x0a\x0a\x20\x20float\x20height\x20=\x20getTextureValue(H,\x20vec3(randomLon,\x20randomLat,\x20lev)).r;\x0a\x0a\x20\x20return\x20vec3(randomLon,\x20randomLat,\x20height);\x0a}\x0a\x0abool\x20particleOutbound(vec3\x20particle)\x20{\x0a\x20\x20return\x20particle.y\x20<\x20viewerLatRange.x\x20||\x20particle.y\x20>\x20viewerLatRange.y\x20||\x20particle.x\x20<\x20viewerLonRange.x\x20||\x20particle.x\x20>\x20viewerLonRange.y;\x0a}\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20vec3\x20nextParticle\x20=\x20texture(nextParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec4\x20nextSpeed\x20=\x20texture(particlesSpeed,\x20v_textureCoordinates);\x0a\x20\x20float\x20speedNorm\x20=\x20nextSpeed.a;\x0a\x20\x20float\x20particleDropRate\x20=\x20dropRate\x20+\x20dropRateBump\x20*\x20speedNorm;\x0a\x0a\x20\x20vec2\x20seed1\x20=\x20nextParticle.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20vec2\x20seed2\x20=\x20nextSpeed.xy\x20+\x20v_textureCoordinates;\x0a\x20\x20vec3\x20randomParticle\x20=\x20generateRandomParticle(seed1,\x20nextParticle.z);\x0a\x20\x20float\x20randomNumber\x20=\x20rand(seed2,\x20normalRange);\x0a\x0a\x20\x20if(randomNumber\x20<\x20particleDropRate\x20||\x20particleOutbound(nextParticle))\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(randomParticle,\x201.0f);\x20//\x201.0\x20means\x20this\x20is\x20a\x20random\x20particle\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(nextParticle,\x200.0f);\x0a\x20\x20}\x0a}\x0a',UpdatePositionShader='#version\x20300\x20es\x0a\x0aprecision\x20highp\x20float;\x0a\x0auniform\x20sampler2D\x20currentParticlesPosition;\x20//\x20(lon,\x20lat,\x20lev)\x0auniform\x20sampler2D\x20particlesSpeed;\x20//\x20(u,\x20v,\x20w,\x20norm)\x20Unit\x20converted\x20to\x20degrees\x20of\x20longitude\x20and\x20latitude\x0a\x0ain\x20vec2\x20v_textureCoordinates;\x0a\x0aout\x20vec4\x20fragColor;\x0a\x0avoid\x20main()\x20{\x0a\x20\x20\x20\x20//\x20texture\x20coordinate\x20must\x20be\x20normalized\x0a\x20\x20vec3\x20lonLatLev\x20=\x20texture(currentParticlesPosition,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec3\x20speed\x20=\x20texture(particlesSpeed,\x20v_textureCoordinates).rgb;\x0a\x20\x20vec3\x20nextParticle\x20=\x20lonLatLev\x20+\x20speed;\x0a\x20\x20if(length(speed.rgb)\x20>\x200.0f)\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(nextParticle,\x200.0f);\x0a\x20\x20}\x20else\x20{\x0a\x20\x20\x20\x20fragColor\x20=\x20vec4(0.0f);\x0a\x20\x20}\x0a}\x0a';const Cesium$3=mars3d__namespace['Cesium'];class ParticlesComputing{constructor(_0x75f299,_0x1e4924,_0x1c694a,_0x52bcfb){function _0x37c0b2(_0x574caf,_0xc74c68){return _0x27456a(_0xc74c68- -0x3e3,_0x574caf);}this['data']=_0x1e4924,this[_0x37c0b2(0xd9,0x156)](_0x75f299,_0x1e4924),this['createParticlesTextures'](_0x75f299,_0x1c694a,_0x52bcfb),this['createComputingPrimitives'](_0x1e4924,_0x1c694a,_0x52bcfb);}['createWindTextures'](_0x1b5c14,_0x17bf93){var _0x2d0320;const _0x1658a3={'context':_0x1b5c14,'width':_0x17bf93[_0x2b6efa(0x35b,0x372)][_0x29c54d(0x472,0x44b)],'height':_0x17bf93[_0x2b6efa(0x35b,0x35b)]['lat']*(_0x17bf93['dimensions']['lev']||0x1),'pixelFormat':Cesium$3['PixelFormat']['RED'],'pixelDatatype':Cesium$3[_0x2b6efa(0x353,0x38a)]['FLOAT'],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3['TextureMinificationFilter']['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x29c54d(_0x1e7213,_0x4df341){return _0x27456a(_0x4df341- -0xbd,_0x1e7213);}function _0x2b6efa(_0x1247fa,_0x58a34d){return _0x27456a(_0x1247fa- -0x238,_0x58a34d);}this[_0x2b6efa(0x354,0x39a)]={'U':Util[_0x29c54d(0x4d5,0x4e5)](_0x1658a3,_0x17bf93['U']['array']),'V':Util['createTexture'](_0x1658a3,_0x17bf93['V'][_0x29c54d(0x5c6,0x545)]),'W':Util['createTexture'](_0x1658a3,((_0x2d0320=_0x17bf93['W'])===null||_0x2d0320===void 0x0?void 0x0:_0x2d0320['array'])??_0x17bf93['U'][_0x2b6efa(0x3ca,0x3fb)]),'H':Util[_0x29c54d(0x481,0x4e5)](_0x1658a3,_0x17bf93['H']['array'])};}['createParticlesTextures'](_0x2b5bfc,_0x329767,_0x2454a2){const _0x13133b={'context':_0x2b5bfc,'width':_0x329767['particlesTextureSize'],'height':_0x329767['particlesTextureSize'],'pixelFormat':Cesium$3['PixelFormat'][_0x4b67bc(0x362,0x367)],'pixelDatatype':Cesium$3['PixelDatatype'][_0x2008fc(-0xad,-0xb3)],'flipY':![],'sampler':new Cesium$3['Sampler']({'minificationFilter':Cesium$3[_0x2008fc(-0x78,-0x87)]['NEAREST'],'magnificationFilter':Cesium$3['TextureMagnificationFilter']['NEAREST']})};function _0x4b67bc(_0x4d2575,_0x510421){return _0x27456a(_0x4d2575- -0x20a,_0x510421);}const _0x326007=this['randomizeParticles'](_0x329767['maxParticles'],_0x2454a2);function _0x2008fc(_0x4634f4,_0x1eff25){return _0x27456a(_0x4634f4- -0x605,_0x1eff25);}const _0x57cd41=new Float32Array(0x4*_0x329767['maxParticles'])['fill'](0x0);this['particlesTextures']={'previousParticlesPosition':Util[_0x4b67bc(0x398,0x38b)](_0x13133b,_0x326007),'currentParticlesPosition':Util['createTexture'](_0x13133b,_0x326007),'nextParticlesPosition':Util['createTexture'](_0x13133b,_0x326007),'postProcessingPosition':Util[_0x2008fc(-0x63,-0x38)](_0x13133b,_0x326007),'particlesSpeed':Util['createTexture'](_0x13133b,_0x57cd41)};}[_0x688102(0x53d,0x4b9)](_0x5db2b0,_0x46c4ae){function _0x3c0b4c(_0x1e3732,_0x1408c2){return _0x688102(_0x1e3732,_0x1408c2- -0x3f7);}const _0x2745f2=new Float32Array(0x4*_0x5db2b0);function _0x1268e5(_0x4eff00,_0x540ecd){return _0x27456a(_0x4eff00- -0x566,_0x540ecd);}for(let _0x3530cd=0x0;_0x3530cd<_0x5db2b0;_0x3530cd++){_0x2745f2[0x4*_0x3530cd]=Cesium$3[_0x3c0b4c(0xef,0xf6)][_0x1268e5(0x81,0x104)](_0x46c4ae[_0x3c0b4c(-0x48,0x40)]['x'],_0x46c4ae['lonRange']['y']),_0x2745f2[0x4*_0x3530cd+0x1]=Cesium$3['Math']['randomBetween'](_0x46c4ae[_0x3c0b4c(0x9f,0x63)]['x'],_0x46c4ae['latRange']['y']),_0x2745f2[0x4*_0x3530cd+0x2]=Cesium$3[_0x1268e5(0x7d,0xd6)][_0x3c0b4c(0x147,0xfa)](this[_0x1268e5(-0x36,-0x6d)]['lev']['min'],this['data']['lev'][_0x3c0b4c(0xdf,0x113)]),_0x2745f2[0x4*_0x3530cd+0x3]=0x0;}return _0x2745f2;}['getValidRange'](_0x543316){const _0x4c3627=[_0x543316['dimensions']['lon'],_0x543316['dimensions']['lat'],_0x543316['dimensions']['lev']],_0x3cda6d=[_0x543316['lon']['min'],_0x543316['lat']['min'],_0x543316['lev'][_0xd408bb(0x49f,0x512)]],_0x1c9cf3=[_0x543316['lon']['max'],_0x543316['lat'][_0xfc685(0x4be,0x456)],_0x543316[_0xd408bb(0x4ae,0x4fe)][_0xd408bb(0x597,0x5e6)]],_0xfa34c1=[(_0x1c9cf3[0x0]-_0x3cda6d[0x0])/(_0x4c3627[0x0]-0x1),(_0x1c9cf3[0x1]-_0x3cda6d[0x1])/(_0x4c3627[0x1]-0x1),_0x4c3627[0x2]>0x1?(_0x1c9cf3[0x2]-_0x3cda6d[0x2])/(_0x4c3627[0x2]-0x1):0x1],_0x6cd6f1=Math['floor'](Math['random']()*_0x543316['U'][_0xfc685(0x3d4,0x458)][_0xd408bb(0x54d,0x576)]);function _0xfc685(_0x1d107b,_0xb25b6a){return _0x27456a(_0xb25b6a- -0x1aa,_0x1d107b);}const _0x2e04db=_0x6cd6f1%(_0x4c3627[0x0]*_0x4c3627[0x1]);function _0xd408bb(_0x3b25f3,_0x7dbe79){return _0x688102(_0x3b25f3,_0x7dbe79-0xdc);}const _0x2d525=Math[_0xfc685(0x45e,0x462)](_0x2e04db/_0x4c3627[0x0]),_0x145491=_0x2e04db%_0x4c3627[0x0],_0x3be5f5=Cesium$3['Math']['randomBetween'](_0x3cda6d[0x0]+_0x145491*_0xfa34c1[0x0],_0x3cda6d[0x0]+(_0x145491+0x1)*_0xfa34c1[0x0]),_0x36d5f0=Cesium$3['Math']['randomBetween'](_0x3cda6d[0x1]+(_0x2d525-0x1)*_0xfa34c1[0x1],_0x3cda6d[0x1]+_0x2d525*_0xfa34c1[0x1]),_0x43142d=_0x543316['H'][_0xfc685(0x4c6,0x458)][_0x6cd6f1]||0x0;return[_0x3be5f5,_0x36d5f0,_0x43142d];}[_0x27456a(0x5f7,0x571)](){function _0x3cf44f(_0x399bc3,_0x124637){return _0x688102(_0x399bc3,_0x124637- -0x389);}Object['keys'](this[_0x3cf44f(0xca,0x121)])['forEach'](_0x137a18=>{this['particlesTextures'][_0x137a18]['destroy']();});}[_0x27456a(0x54b,0x5b9)](_0x480b2e,_0x2fe8b5,_0x315269){const _0xb0beaf=new Cesium$3['Cartesian3'](_0x480b2e['dimensions'][_0x4a495c(0x73,0x78)],_0x480b2e[_0x511cc9(-0x15d,-0x17d)]['lat'],_0x480b2e[_0x4a495c(0xfe,0xf1)][_0x511cc9(-0x1d8,-0x1a0)]),_0x1356a0=new Cesium$3['Cartesian3'](_0x480b2e[_0x4a495c(0x73,0xa)]['min'],_0x480b2e['lat']['min'],_0x480b2e['lev']['min']),_0x428bde=new Cesium$3['Cartesian3'](_0x480b2e[_0x4a495c(0x73,0x2d)]['max'],_0x480b2e[_0x511cc9(-0x192,-0x147)]['max'],_0x480b2e['lev']['max']),_0x585236=new Cesium$3['Cartesian3']((_0x428bde['x']-_0x1356a0['x'])/(_0xb0beaf['x']-0x1),(_0x428bde['y']-_0x1356a0['y'])/(_0xb0beaf['y']-0x1),_0xb0beaf['z']>0x1?(_0x428bde['z']-_0x1356a0['z'])/(_0xb0beaf['z']-0x1):0x1),_0x1c5411=new Cesium$3['Cartesian2'](_0x480b2e['lon'][_0x511cc9(-0x1c4,-0x1b9)],_0x480b2e['lon']['max']),_0x16ac56=new Cesium$3['Cartesian2'](_0x480b2e['lat']['min'],_0x480b2e['lat']['max']),_0x36793d=new Cesium$3['Cartesian2'](_0x480b2e['U']['min'],_0x480b2e['U'][_0x511cc9(-0xf0,-0x16c)]),_0x4c5f78=new Cesium$3['Cartesian2'](_0x480b2e['V']['min'],_0x480b2e['V']['max']),_0x566b80=new Cesium$3['Cartesian2'](_0x480b2e['W'][_0x511cc9(-0x1c4,-0x1d4)],_0x480b2e['W']['max']),_0xe966f4=this,_0x50b6d3={};_0x50b6d3['U']=function(){function _0x522c2e(_0x152df9,_0x2687ab){return _0x511cc9(_0x152df9-0x591,_0x2687ab);}return _0xe966f4[_0x522c2e(0x42d,0x45a)]['U'];},_0x50b6d3['V']=function(){function _0x2b2947(_0x58d826,_0x48bcd2){return _0x511cc9(_0x48bcd2-0x5d6,_0x58d826);}return _0xe966f4[_0x2b2947(0x40a,0x472)]['V'];},_0x50b6d3['W']=function(){return _0xe966f4['windTextures']['W'];};function _0x4a495c(_0x1e2da0,_0x29eafd){return _0x688102(_0x29eafd,_0x1e2da0- -0x39f);}_0x50b6d3['currentParticlesPosition']=function(){return _0xe966f4['particlesTextures']['currentParticlesPosition'];},_0x50b6d3['dimension']=function(){return _0xb0beaf;},_0x50b6d3[_0x4a495c(0x105,0x90)]=function(){return _0x1356a0;},_0x50b6d3['maximum']=function(){return _0x428bde;},_0x50b6d3['interval']=function(){return _0x585236;},_0x50b6d3[_0x4a495c(0x96,0x121)]=function(){return _0x36793d;};function _0x511cc9(_0x4ef67b,_0x17bcf2){return _0x27456a(_0x4ef67b- -0x6f0,_0x17bcf2);}_0x50b6d3['vSpeedRange']=function(){return _0x4c5f78;},_0x50b6d3[_0x4a495c(0xd6,0xde)]=function(){return _0x566b80;},_0x50b6d3[_0x4a495c(0x132,0xfc)]=function(){function _0x4c0825(_0x41a2dc,_0x3037d2){return _0x4a495c(_0x41a2dc- -0x6d,_0x3037d2);}return _0x315269[_0x4c0825(0x31,-0x2a)]*_0x2fe8b5['speedFactor'];};const _0x4373f6={};_0x4373f6['sources']=[CalculateSpeedShader];const _0x108e71={};_0x108e71['sources']=[UpdatePositionShader];const _0xac1805={};_0xac1805['sources']=[PostProcessingPositionShader],this['primitives']={'calculateSpeed':new CustomPrimitive({'commandType':_0x4a495c(0x179,0x158),'uniformMap':_0x50b6d3,'fragmentShaderSource':new Cesium$3[(_0x4a495c(0x10c,0xbe))](_0x4373f6),'outputTexture':this['particlesTextures']['particlesSpeed'],'preExecute':function(){function _0x1e2163(_0x55e6bf,_0x49b04d){return _0x4a495c(_0x55e6bf-0xcf,_0x49b04d);}if(_0x2fe8b5!==undefined&&_0x2fe8b5['dynamic']){const _0x583f28=_0xe966f4['particlesTextures']['previousParticlesPosition'];_0xe966f4[_0x1e2163(0x1da,0x208)][_0x1e2163(0x14e,0x156)]=_0xe966f4[_0x486d09(-0x158,-0x101)]['currentParticlesPosition'],_0xe966f4['particlesTextures'][_0x486d09(-0x15a,-0xec)]=_0xe966f4[_0x486d09(-0x15e,-0x101)]['postProcessingPosition'],_0xe966f4[_0x1e2163(0x1da,0x15d)]['postProcessingPosition']=_0x583f28;}function _0x486d09(_0xb69f,_0x1109f4){return _0x4a495c(_0x1109f4- -0x20c,_0xb69f);}_0xe966f4['primitives'][_0x1e2163(0x1a7,0x152)][_0x1e2163(0x1f7,0x23d)][_0x486d09(-0x1c3,-0x186)]=_0xe966f4['particlesTextures'][_0x486d09(-0x105,-0x10f)];}}),'updatePosition':new CustomPrimitive({'commandType':_0x511cc9(-0xe2,-0x113),'uniformMap':{'currentParticlesPosition':function(){return _0xe966f4['particlesTextures']['currentParticlesPosition'];},'particlesSpeed':function(){return _0xe966f4['particlesTextures']['particlesSpeed'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0x108e71),'outputTexture':this[_0x4a495c(0x10b,0x143)]['nextParticlesPosition'],'preExecute':function(){function _0x5a9f31(_0x76d2a9,_0x3a51a1){return _0x511cc9(_0x76d2a9-0x345,_0x3a51a1);}function _0x31fd79(_0x3d5977,_0x2f2c57){return _0x511cc9(_0x2f2c57-0x458,_0x3d5977);}_0xe966f4['primitives'][_0x31fd79(0x32d,0x341)][_0x5a9f31(0x212,0x293)]['outputTexture']=_0xe966f4[_0x31fd79(0x2d0,0x308)]['nextParticlesPosition'];}}),'postProcessingPosition':new CustomPrimitive({'commandType':'Compute','uniformMap':{'nextParticlesPosition':function(){function _0x265551(_0x1f6f2d,_0x135b5d){return _0x511cc9(_0x135b5d-0x750,_0x1f6f2d);}return _0xe966f4[_0x265551(0x5cd,0x600)]['nextParticlesPosition'];},'particlesSpeed':function(){return _0xe966f4['particlesTextures']['particlesSpeed'];},'viewerLonRange':function(){return _0x315269['lonRange'];},'viewerLatRange':function(){return _0x315269['latRange'];},'lonRange':function(){return _0x1c5411;},'latRange':function(){return _0x16ac56;},'dimension':function(){return _0xb0beaf;},'minimum':function(){return _0x1356a0;},'maximum':function(){return _0x428bde;},'interval':function(){return _0x585236;},'H':function(){function _0x60a276(_0x1ab6a5,_0x41233d){return _0x511cc9(_0x1ab6a5-0x4fd,_0x41233d);}return _0xe966f4[_0x60a276(0x399,0x39b)]['H'];},'randomCoefficient':function(){const _0x3ef285=Math['random']();return _0x3ef285;},'dropRate':function(){return _0x2fe8b5['dropRate'];},'dropRateBump':function(){return _0x2fe8b5['dropRateBump'];}},'fragmentShaderSource':new Cesium$3['ShaderSource'](_0xac1805),'outputTexture':this['particlesTextures'][_0x4a495c(0x12a,0xbd)],'preExecute':function(){function _0x71245c(_0x583516,_0xe848ca){return _0x4a495c(_0xe848ca- -0xb2,_0x583516);}function _0x5ccec1(_0x1e1edb,_0x3c0c17){return _0x4a495c(_0x1e1edb-0x7a,_0x3c0c17);}_0xe966f4[_0x71245c(0x5b,-0x7)][_0x71245c(0xe3,0x78)]['commandToExecute']['outputTexture']=_0xe966f4[_0x71245c(0x5,0x59)][_0x71245c(0xa,0x78)];}})};}}const Cesium$2=mars3d__namespace[_0x27456a(0x515,0x56a)];class ParticleSystem{constructor(_0x4ce1f2,_0x290ab7,_0x480694,_0x3138ad){this['context']=_0x4ce1f2;function _0x1226a9(_0x43af81,_0x4ae2cf){return _0x27456a(_0x4ae2cf- -0x316,_0x43af81);}_0x290ab7={..._0x290ab7};_0x290ab7['udata']&&_0x290ab7[_0x57191c(-0x138,-0x16e)]&&(_0x290ab7[_0x1226a9(0x2c5,0x27d)]={},_0x290ab7[_0x1226a9(0x2e6,0x27d)]['lon']=_0x290ab7['cols'],_0x290ab7['dimensions'][_0x57191c(-0x133,-0x1b1)]=_0x290ab7['rows'],_0x290ab7['dimensions']['lev']=_0x290ab7[_0x57191c(-0x179,-0x156)]||0x1,_0x290ab7['lon']={},_0x290ab7['lon']['min']=_0x290ab7['xmin'],_0x290ab7['lon']['max']=_0x290ab7['xmax'],_0x290ab7['lat']={},_0x290ab7['lat']['min']=_0x290ab7['ymin'],_0x290ab7[_0x57191c(-0x133,-0xbc)]['max']=_0x290ab7[_0x1226a9(0x1d7,0x214)],_0x290ab7['lev']={},_0x290ab7['lev']['min']=_0x290ab7['levmin']??0x1,_0x290ab7['lev']['max']=_0x290ab7['levmax']??0x1,_0x290ab7['U']={},_0x290ab7['U']['array']=new Float32Array(_0x290ab7['udata']),_0x290ab7['U']['min']=_0x290ab7[_0x1226a9(0x310,0x2d2)]??Math['min'](..._0x290ab7['udata']),_0x290ab7['U'][_0x57191c(-0x91,-0x23)]=_0x290ab7['umax']??Math['max'](..._0x290ab7['udata']),_0x290ab7['V']={},_0x290ab7['V'][_0x1226a9(0x2ec,0x2ec)]=new Float32Array(_0x290ab7[_0x1226a9(0x287,0x243)]),_0x290ab7['V'][_0x1226a9(0x29d,0x216)]=_0x290ab7['vmin']??Math['min'](..._0x290ab7['vdata']),_0x290ab7['V']['max']=_0x290ab7['vmax']??Math['max'](..._0x290ab7[_0x1226a9(0x2c3,0x243)]));!_0x290ab7['W']&&(_0x290ab7['W']={'array':new Float32Array(_0x290ab7['U']['array']['length']),'min':0x0,'max':0x0});if(!_0x290ab7['H']){var _0x1ef56d;_0x290ab7['H']={'array':new Float32Array(_0x290ab7['U']['array'][_0x1226a9(0x22c,0x27a)]),'min':0x0,'max':0x0};if((_0x1ef56d=_0x290ab7['lev'])!==null&&_0x1ef56d!==void 0x0&&_0x1ef56d['array']){const {lon:_0x52e30e,lat:_0x1ebed,lev:_0x2b99d2}=_0x290ab7[_0x57191c(-0xfe,-0x103)];for(let _0x1141ec=0x0;_0x1141ec<_0x2b99d2;_0x1141ec++){for(let _0x3c9c9b=0x0;_0x3c9c9b<_0x1ebed;_0x3c9c9b++){for(let _0x4f6f54=0x0;_0x4f6f54<_0x52e30e;_0x4f6f54++){const _0x5e6712=_0x1141ec*(_0x52e30e*_0x1ebed)+_0x3c9c9b*_0x52e30e+_0x4f6f54;_0x290ab7['H']['array'][_0x5e6712]=_0x290ab7[_0x57191c(-0x179,-0x203)]['array'][_0x1141ec];}}}_0x290ab7['H'][_0x1226a9(0x192,0x216)]=Math[_0x57191c(-0x165,-0x1a8)](..._0x290ab7['lev'][_0x57191c(-0x8f,-0xc5)]),_0x290ab7['H'][_0x1226a9(0x32f,0x2ea)]=Math[_0x57191c(-0x91,-0x49)](..._0x290ab7[_0x57191c(-0x179,-0x163)]['array']);}}this['data']=_0x290ab7;function _0x57191c(_0x7ae6c3,_0x171474){return _0x688102(_0x171474,_0x7ae6c3- -0x59b);}this['options']=_0x480694,this[_0x57191c(-0xe5,-0xf9)]=_0x3138ad,this[_0x1226a9(0x20e,0x1ee)]=new ParticlesComputing(this['context'],this['data'],this[_0x57191c(-0x14d,-0x13e)],this['viewerParameters']),this['particlesRendering']=new ParticlesRendering(this['context'],this['data'],this['options'],this[_0x1226a9(0x27d,0x296)],this['particlesComputing']);}[_0x27456a(0x585,0x507)](_0x1c48d5){function _0x1fd21c(_0x1f96e5,_0x3f3e5b){return _0x27456a(_0x1f96e5- -0xbf,_0x3f3e5b);}this[_0x1fd21c(0x445,0x49a)][_0x1fd21c(0x538,0x578)](),Object['keys'](this[_0x46b292(0x249,0x29f)]['windTextures'])['forEach'](_0x46b269=>{function _0x382c6c(_0x209f39,_0x40677e){return _0x1fd21c(_0x40677e- -0x3e4,_0x209f39);}function _0x59a4e8(_0x4f8fc7,_0x53ab98){return _0x46b292(_0x53ab98,_0x4f8fc7-0xfe);}this['particlesComputing'][_0x59a4e8(0x425,0x3b3)][_0x46b269][_0x59a4e8(0x3d8,0x356)]();}),this['particlesRendering']['textures'][_0x46b292(0x40f,0x3ae)][_0x1fd21c(0x480,0x3fd)]();function _0x46b292(_0x50171e,_0x5976a0){return _0x688102(_0x50171e,_0x5976a0- -0x16f);}Object['keys'](this[_0x46b292(0x355,0x30c)]['framebuffers'])[_0x46b292(0x37b,0x2f8)](_0x3eaee7=>{function _0x5be28a(_0x2f59ed,_0x362db6){return _0x46b292(_0x362db6,_0x2f59ed- -0x3d7);}this['particlesRendering']['framebuffers'][_0x3eaee7][_0x5be28a(-0xfd,-0xc4)]();}),this['context']=_0x1c48d5,this[_0x1fd21c(0x445,0x3df)]=new ParticlesComputing(this['context'],this['data'],this[_0x46b292(0x27a,0x2df)],this['viewerParameters']),this[_0x1fd21c(0x4b2,0x500)]=new ParticlesRendering(this[_0x46b292(0x2ec,0x336)],this['data'],this[_0x1fd21c(0x485,0x40c)],this['viewerParameters'],this[_0x1fd21c(0x445,0x46e)]);}['clearFramebuffers'](){function _0x309377(_0x3be480,_0x4a4660){return _0x688102(_0x3be480,_0x4a4660- -0x1dd);}const _0x216ede=new Cesium$2[(_0x309377(0x241,0x252))]({'color':new Cesium$2['Color'](0x0,0x0,0x0,0x0),'depth':0x1,'framebuffer':undefined,'pass':Cesium$2[_0x309377(0x2c6,0x2a2)]['OPAQUE']});function _0x223527(_0x12a308,_0x5e7b8b){return _0x688102(_0x12a308,_0x5e7b8b-0xa2);}Object['keys'](this[_0x309377(0x289,0x29e)]['framebuffers'])[_0x309377(0x2ec,0x28a)](_0x44608d=>{function _0x1c806e(_0x343743,_0xd0d22e){return _0x223527(_0xd0d22e,_0x343743-0x8d);}_0x216ede[_0x1c806e(0x5c1,0x648)]=this['particlesRendering'][_0x1c806e(0x587,0x521)][_0x44608d];function _0x322080(_0x207381,_0x4ebaf8){return _0x309377(_0x4ebaf8,_0x207381- -0x197);}_0x216ede[_0x322080(0x193,0x1de)](this['context']);});}['refreshParticles'](_0x4bce2c,_0x368a11=!![]){_0x368a11&&(this[_0xef1e0d(0x48d,0x45d)](),this[_0xef1e0d(0x3d8,0x375)]['destroyParticlesTextures'](),this['particlesComputing']['createParticlesTextures'](this[_0xef1e0d(0x3e3,0x40c)],this['options'],this['viewerParameters']));function _0xef1e0d(_0x45f72c,_0x5af2d9){return _0x27456a(_0x5af2d9- -0x18f,_0x45f72c);}function _0xba09ab(_0x238034,_0x362b32){return _0x688102(_0x362b32,_0x238034- -0xe7);}if(_0x4bce2c){var _0x48fe72;const _0x37d37c=this['particlesRendering'][_0xba09ab(0x365,0x336)](this[_0xba09ab(0x367,0x35b)]);this[_0xef1e0d(0x3c7,0x3e2)]['primitives'][_0xba09ab(0x3dc,0x42c)][_0xef1e0d(0x3e1,0x387)]=_0x37d37c;const _0x2f6d12=Cesium$2[_0xba09ab(0x3b7,0x385)]['fromGeometry']({'context':this['context'],'geometry':_0x37d37c,'attributeLocations':this['particlesRendering'][_0xef1e0d(0x385,0x3b1)][_0xef1e0d(0x43f,0x42a)][_0xef1e0d(0x3b5,0x3d3)],'bufferUsage':Cesium$2[_0xba09ab(0x389,0x3fd)][_0xba09ab(0x3e8,0x45b)]});(_0x48fe72=this['particlesRendering'][_0xef1e0d(0x3cb,0x3b1)])!==null&&_0x48fe72!==void 0x0&&(_0x48fe72=_0x48fe72['segments'])!==null&&_0x48fe72!==void 0x0&&_0x48fe72[_0xef1e0d(0x3d0,0x42e)]&&(this[_0xef1e0d(0x446,0x3e2)]['primitives'][_0xba09ab(0x3dc,0x408)]['commandToExecute'][_0xba09ab(0x400,0x423)]=_0x2f6d12);}}[_0x27456a(0x60d,0x693)](_0x47eb12){let _0x122f3a=![];function _0x2be5cc(_0x38e936,_0x438545){return _0x688102(_0x438545,_0x38e936-0xd2);}this['options'][_0x2be5cc(0x554,0x4db)]!==_0x47eb12[_0x2be5cc(0x554,0x5ca)]&&(_0x122f3a=!![]);Object['keys'](_0x47eb12)['forEach'](_0x14ee95=>{this['options'][_0x14ee95]=_0x47eb12[_0x14ee95];});function _0x5732ba(_0x2f24b8,_0x5aba7a){return _0x688102(_0x5aba7a,_0x2f24b8- -0x32d);}this['refreshParticles'](_0x122f3a,_0x47eb12['dynamic']);}['applyViewerParameters'](_0x4c31a4){function _0x57850d(_0x4fb9d4,_0x1d5f5b){return _0x688102(_0x1d5f5b,_0x4fb9d4- -0x286);}Object['keys'](_0x4c31a4)['forEach'](_0x10895a=>{function _0x29c8e3(_0x5391df,_0x524654){return _0x3e17(_0x5391df-0x70,_0x524654);}this[_0x29c8e3(0x2f2,0x332)][_0x10895a]=_0x4c31a4[_0x10895a];});function _0x3eb9c1(_0x1a998d,_0x3e32f1){return _0x27456a(_0x1a998d- -0x5b2,_0x3e32f1);}this[_0x57850d(0x1f3,0x23e)](![]),!this['options']['dynamic']&&(this[_0x57850d(0x1c8,0x1ce)]['dynamic']=!![],this[_0x57850d(0x291,0x2ca)](this[_0x3eb9c1(-0x6e,0xf)]),setTimeout(()=>{this['options']['dynamic']=![],this['setOptions'](this['options']);},0x1f4));}[_0x27456a(0x53f,0x5a6)](){clearTimeout(this['canrefresh']),this[_0x1252fe(0x572,0x599)]['destroyParticlesTextures']();function _0x2bc2ff(_0x125476,_0x967611){return _0x688102(_0x125476,_0x967611- -0x3ae);}Object['keys'](this[_0x1252fe(0x572,0x595)][_0x1252fe(0x5fa,0x63e)])[_0x1252fe(0x5cb,0x616)](_0x4cc4e9=>{function _0x2ec73a(_0x236184,_0x8180d4){return _0x2bc2ff(_0x8180d4,_0x236184-0x108);}function _0x51306b(_0x154805,_0x3e7017){return _0x2bc2ff(_0x154805,_0x3e7017-0x444);}this[_0x2ec73a(0x168,0xfa)]['windTextures'][_0x4cc4e9][_0x51306b(0x47f,0x4df)]();}),this['particlesRendering']['textures'][_0x1252fe(0x681,0x6d6)]['destroy']();function _0x1252fe(_0x1491fe,_0x3e85d3){return _0x27456a(_0x1491fe-0x6e,_0x3e85d3);}Object['keys'](this[_0x1252fe(0x5df,0x5d0)]['framebuffers'])[_0x1252fe(0x5cb,0x57a)](_0x1e3993=>{function _0x2a54d9(_0x321303,_0x3044ef){return _0x2bc2ff(_0x3044ef,_0x321303-0x35d);}function _0xb726ce(_0x2eaed3,_0x1fb8c4){return _0x2bc2ff(_0x2eaed3,_0x1fb8c4-0x3d);}this[_0x2a54d9(0x42a,0x474)][_0xb726ce(0x15a,0xe7)][_0x1e3993][_0xb726ce(0xc9,0xd8)]();});for(const _0x4317d2 in this){delete this[_0x4317d2];}}}const Cesium$1=mars3d__namespace['Cesium'],BaseLayer$1=mars3d__namespace['layer'][_0x27456a(0x610,0x5d1)],_0x53b579={};function _0x3e17(_0x2136b6,_0xc9f479){const _0x16833b=_0x1683();return _0x3e17=function(_0x3e175c,_0x2e6dcc){_0x3e175c=_0x3e175c-0x1da;let _0x54852e=_0x16833b[_0x3e175c];return _0x54852e;},_0x3e17(_0x2136b6,_0xc9f479);}_0x53b579['particlesNumber']=0x1000,_0x53b579['fixedHeight']=0x0,_0x53b579['fadeOpacity']=0.996,_0x53b579[_0x688102(0x489,0x413)]=0.003,_0x53b579['dropRateBump']=0.01,_0x53b579['speedFactor']=0.5,_0x53b579['lineWidth']=0x2,_0x53b579[_0x27456a(0x5db,0x5aa)]=[_0x27456a(0x51f,0x4e0)],_0x53b579['dynamic']=!![];const DEF_OPTIONS=_0x53b579;class WindLayer extends BaseLayer$1{constructor(_0x1ac2df={}){function _0x545802(_0x476507,_0x135a78){return _0x688102(_0x135a78,_0x476507- -0x23b);}_0x1ac2df={...DEF_OPTIONS,..._0x1ac2df},super(_0x1ac2df),this[_0x545802(0x2c5,0x2c0)](_0x1ac2df);}get['layer'](){function _0x4db0b6(_0x49205e,_0x5683f1){return _0x688102(_0x5683f1,_0x49205e- -0x4e3);}return this[_0x4db0b6(-0x99,-0x9f)];}get['data'](){function _0x398193(_0x3efc95,_0x241ee5){return _0x27456a(_0x241ee5- -0xc7,_0x3efc95);}return this[_0x398193(0x5ab,0x54a)];}set['data'](_0x47435f){function _0x15cc6a(_0xe3b617,_0x4a1f47){return _0x688102(_0x4a1f47,_0xe3b617- -0x5bc);}this[_0x15cc6a(-0xc1,-0xc8)](_0x47435f);}get[_0x688102(0x4ed,0x4e5)](){function _0x4739a4(_0x26a30f,_0x5dfec2){return _0x688102(_0x5dfec2,_0x26a30f- -0x4ac);}function _0x84184b(_0x1904c9,_0x10565b){return _0x27456a(_0x1904c9- -0x64c,_0x10565b);}return this[_0x84184b(-0x108,-0x131)][_0x4739a4(0x39,0x71)];}set['colors'](_0x35292c){this[_0x59fbb8(0x5c0,0x63f)][_0x3fcf81(0x171,0xf7)]=_0x35292c;if(this['particleSystem']){const _0x4ef164={};_0x4ef164['colors']=_0x35292c,this[_0x3fcf81(0x112,0xc0)]['setOptions'](_0x4ef164);}function _0x59fbb8(_0x1b0db5,_0x863b1e){return _0x688102(_0x863b1e,_0x1b0db5-0x172);}function _0x3fcf81(_0x7311,_0x2928ec){return _0x27456a(_0x7311- -0x46a,_0x2928ec);}this[_0x59fbb8(0x651,0x64d)]();}['_mountedHook'](){}['_addedHook'](){this['scene']=this['_map']['scene'],this[_0x1a6569(0x43f,0x43d)]=this['_map']['camera'];function _0x1163f0(_0x253c4f,_0x1f46a6){return _0x27456a(_0x1f46a6- -0x464,_0x253c4f);}this['primitives']=new Cesium$1[(_0x1163f0(0x89,0xdd))]();function _0x1a6569(_0x55bcd8,_0x71a304){return _0x27456a(_0x55bcd8- -0x1c9,_0x71a304);}this['_map'][_0x1163f0(0xeb,0xa2)]['primitives'][_0x1163f0(0x1fd,0x17e)](this['primitives']),this[_0x1a6569(0x3e3,0x3ba)]={'lonRange':new Cesium$1[(_0x1163f0(0x1cf,0x164))](),'latRange':new Cesium$1[(_0x1163f0(0x1ca,0x164))](),'pixelSize':0x0,'lonDisplayRange':new Cesium$1['Cartesian2'](),'latDisplayRange':new Cesium$1[(_0x1163f0(0x175,0x164))]()},this[_0x1a6569(0x33e,0x37b)]=new Cesium$1[(_0x1a6569(0x3f8,0x3ee))](Cesium$1['Cartesian3'][_0x1163f0(0xfd,0x185)],Cesium$1['Ellipsoid']['WGS84']['minimumRadius']),this[_0x1a6569(0x36b,0x32b)](),window[_0x1a6569(0x348,0x2c1)](_0x1163f0(0x11e,0x171),this[_0x1a6569(0x40c,0x3be)]['bind'](this),![]),this[_0x1a6569(0x34e,0x3d9)]=![],this['mouse_move']=![],this[_0x1a6569(0x35e,0x3da)]['on'](mars3d__namespace['EventType']['wheel'],this[_0x1163f0(0x10c,0x181)],this),this['_map']['on'](mars3d__namespace[_0x1163f0(0x17d,0x1b3)]['mouseDown'],this[_0x1163f0(0x1ae,0x166)],this),this[_0x1a6569(0x35e,0x3a6)]['on'](mars3d__namespace[_0x1a6569(0x44e,0x4c5)]['mouseUp'],this['_onMouseUpEvent'],this),this['_map']['on'](mars3d__namespace['EventType'][_0x1a6569(0x342,0x2e3)],this[_0x1a6569(0x3eb,0x383)],this),this['_data']&&this[_0x1163f0(0x215,0x18d)](this['_data']);}['_removedHook'](){window[_0x5241d9(0x2af,0x310)]('resize',this['resize']),this[_0x5241d9(0x2f5,0x2e1)]['off'](mars3d__namespace['EventType'][_0x2fbc76(0x619,0x645)],this['_onMap_preRenderEvent'],this);function _0x2fbc76(_0x70ca2,_0x13746d){return _0x688102(_0x70ca2,_0x13746d-0x19e);}this['_map']['off'](mars3d__namespace['EventType']['wheel'],this[_0x2fbc76(0x69d,0x68d)],this),this['_map'][_0x5241d9(0x31f,0x2e2)](mars3d__namespace['EventType']['mouseDown'],this['_onMouseDownEvent'],this);function _0x5241d9(_0x10fc10,_0x855040){return _0x688102(_0x10fc10,_0x855040- -0x150);}this['_map'][_0x5241d9(0x295,0x2e2)](mars3d__namespace[_0x2fbc76(0x70d,0x6bf)]['mouseUp'],this['_onMouseUpEvent'],this),this['_map'][_0x2fbc76(0x5e7,0x5d0)](mars3d__namespace[_0x2fbc76(0x6fa,0x6bf)]['mouseMove'],this['_onMouseMoveEvent'],this),this['primitives'][_0x5241d9(0x328,0x2f7)](),this[_0x2fbc76(0x57c,0x5cf)]['scene']['primitives']['remove'](this['primitives']);}['resize'](){if(!this['show']||!this['particleSystem'])return;function _0x1b6b7c(_0x13dc13,_0x37ccf5){return _0x688102(_0x13dc13,_0x37ccf5-0x193);}this[_0x1b6b7c(0x5e3,0x5dd)]['show']=![],this[_0x1b6b7c(0x5ff,0x5dd)][_0x1b6b7c(0x5c7,0x5da)]();function _0x51ee88(_0x38efd3,_0xf49cf1){return _0x688102(_0x38efd3,_0xf49cf1-0x98);}this['_map']['once'](mars3d__namespace['EventType']['preRender'],this['_onMap_preRenderEvent'],this);}['_onMap_preRenderEvent'](_0x59a4ae){this['particleSystem']['canvasResize'](this['scene']['context']);function _0xab5881(_0x4e9e73,_0x459177){return _0x688102(_0x459177,_0x4e9e73- -0x57c);}this['addPrimitives'](),this['primitives'][_0xab5881(-0xb4,-0x69)]=!![];}['_onMapWhellEvent'](_0x236368){clearTimeout(this['refreshTimer']);if(!this['show']||!this[_0x2cfb04(0x16b,0x146)])return;function _0x2cfb04(_0x59afd9,_0x41941b){return _0x27456a(_0x59afd9- -0x411,_0x41941b);}this['primitives']['show']=![],this['refreshTimer']=setTimeout(()=>{if(!this['show'])return;this['redraw']();},0xc8);}['_onMouseDownEvent'](_0x3c1062){this['mouse_down']=!![];}[_0x688102(0x483,0x4be)](_0x7b0aff){if(!this[_0x3af3a3(-0x145,-0x177)]||!this['particleSystem'])return;function _0x3af3a3(_0x39c7ba,_0x8b6734){return _0x27456a(_0x39c7ba- -0x703,_0x8b6734);}function _0x529755(_0x315047,_0x5d8cae){return _0x688102(_0x315047,_0x5d8cae- -0x32);}this[_0x3af3a3(-0x1ec,-0x269)]&&(this['primitives']['show']=![],this[_0x529755(0x4c5,0x4a9)]=!![]);}['_onMouseUpEvent'](_0x36912a){function _0x4a83ad(_0x58adba,_0x4ea8c0){return _0x27456a(_0x4ea8c0- -0x2e,_0x58adba);}if(!this['show']||!this['particleSystem'])return;function _0x1dbe1e(_0x34baa6,_0x552d14){return _0x688102(_0x552d14,_0x34baa6-0x155);}this['mouse_down']&&this['mouse_move']&&this['redraw'](),this[_0x1dbe1e(0x59f,0x52a)][_0x4a83ad(0x5f5,0x590)]=!![],this['mouse_down']=![],this['mouse_move']=![];}['redraw'](){if(!this[_0x485cbc(-0x1a0,-0x160)]||!this['show'])return;function _0x17eadd(_0x329ad2,_0x1ae659){return _0x688102(_0x1ae659,_0x329ad2- -0x2df);}this[_0x485cbc(-0x193,-0x129)]();function _0x485cbc(_0x2c93a8,_0x11451e){return _0x27456a(_0x2c93a8- -0x6c7,_0x11451e);}this['particleSystem']['applyViewerParameters'](this['viewerParameters']),this['primitives']['show']=!![];}['setData'](_0x4f0177){function _0x5396fb(_0x17b482,_0x5e1ae4){return _0x688102(_0x17b482,_0x5e1ae4- -0x35b);}this['_data']=_0x4f0177;this[_0x5396fb(0x16e,0x12b)]&&this['particleSystem'][_0x1631ae(0x5ad,0x566)]();function _0x1631ae(_0x44d60a,_0x3f83fa){return _0x27456a(_0x44d60a-0x6e,_0x3f83fa);}this['particleSystem']=new ParticleSystem(this[_0x5396fb(0xd3,0xb5)]['context'],_0x4f0177,this[_0x1631ae(0x64f,0x616)](),this['viewerParameters']),this['addPrimitives']();}['_setOptionsHook'](_0x5b2a57,_0x5ac592){function _0x3344b8(_0x21bd6c,_0x38f0bc){return _0x688102(_0x21bd6c,_0x38f0bc- -0x84);}if(_0x5b2a57)for(const _0x2f159d in _0x5b2a57){this[_0x2f159d]=_0x5b2a57[_0x2f159d];}this[_0x3344b8(0x3d0,0x402)]&&this['particleSystem']['setOptions'](this['getOptions']());}['getOptions'](){const _0x430f78=Math['ceil'](Math[_0x806354(-0xc6,-0x87)](this['particlesNumber']));this['particlesNumber']=_0x430f78*_0x430f78;function _0x3eeb9d(_0x1fe31d,_0x4a0912){return _0x27456a(_0x4a0912- -0x2ff,_0x1fe31d);}const _0x3c0b9f={};_0x3c0b9f[_0x806354(-0xce,-0x9a)]=_0x430f78,_0x3c0b9f['maxParticles']=this['particlesNumber'],_0x3c0b9f['colors']=this['colors'],_0x3c0b9f['particleHeight']=this[_0x3eeb9d(0x28b,0x236)],_0x3c0b9f['fadeOpacity']=this[_0x806354(0x0,-0x39)],_0x3c0b9f['dropRate']=this[_0x806354(-0x19c,-0x128)],_0x3c0b9f['dropRateBump']=this['dropRateBump'];function _0x806354(_0xd3f838,_0x2e3e86){return _0x27456a(_0x2e3e86- -0x631,_0xd3f838);}return _0x3c0b9f['speedFactor']=this['speedFactor'],_0x3c0b9f['lineWidth']=this['lineWidth'],_0x3c0b9f[_0x3eeb9d(0x255,0x223)]=this['dynamic'],_0x3c0b9f;}['addPrimitives'](){function _0x1d27ad(_0x58e54b,_0x45e2a6){return _0x27456a(_0x45e2a6-0x47,_0x58e54b);}function _0x8f79fa(_0x2025c6,_0x186580){return _0x27456a(_0x2025c6- -0x367,_0x186580);}this['primitives'][_0x1d27ad(0x5f6,0x629)](this['particleSystem']['particlesComputing']['primitives'][_0x8f79fa(0x206,0x241)]),this['primitives']['add'](this['particleSystem']['particlesComputing'][_0x8f79fa(0x1d9,0x1b7)]['updatePosition']),this[_0x8f79fa(0x1d9,0x15c)]['add'](this[_0x8f79fa(0x215,0x1da)][_0x8f79fa(0x19d,0x14d)]['primitives']['postProcessingPosition']),this['primitives'][_0x8f79fa(0x27b,0x302)](this[_0x1d27ad(0x64b,0x5c3)][_0x1d27ad(0x594,0x5b8)]['primitives'][_0x8f79fa(0x252,0x2da)]),this['primitives']['add'](this['particleSystem']['particlesRendering']['primitives'][_0x8f79fa(0x262,0x239)]),this['primitives'][_0x8f79fa(0x27b,0x238)](this['particleSystem'][_0x8f79fa(0x20a,0x188)][_0x8f79fa(0x1d9,0x15e)][_0x8f79fa(0x264,0x258)]);}['updateViewerParameters'](){let _0x365eb3=this['camera'][_0x189732(0x9c,0xa0)](this['scene']['globe']['ellipsoid']);if(!_0x365eb3){const _0x3a14b0=this['_map']['getExtent']();_0x365eb3=Cesium$1[_0x2e6c62(-0x30,-0x99)][_0x2e6c62(0x3b,0xae)](_0x3a14b0[_0x189732(0x17f,0x118)],_0x3a14b0['ymin'],_0x3a14b0['xmax'],_0x3a14b0['ymax']);}const _0x409ad6=Util['viewRectangleToLonLatRange'](_0x365eb3);this['_data']?(this['viewerParameters'][_0x2e6c62(-0x6a,-0xf1)]['x']=Math['max'](_0x409ad6['lon']['min'],this[_0x189732(0x117,0x183)]['xmin']),this['viewerParameters'][_0x2e6c62(-0x6a,-0xd8)]['y']=Math[_0x189732(0x39,0x9e)](_0x409ad6['lon']['max'],this[_0x2e6c62(0x7a,0x99)][_0x189732(0x145,0xf1)]),this['viewerParameters'][_0x2e6c62(-0x47,0xc)]['x']=Math['max'](_0x409ad6['lat']['min'],this['_data']['ymin']),this[_0x2e6c62(0x15,0x2e)][_0x189732(0x132,0xc2)]['y']=Math['min'](_0x409ad6['lat'][_0x2e6c62(0x69,0x76)],this[_0x2e6c62(0x7a,-0x2)]['ymax'])):(this[_0x2e6c62(0x15,-0x4)]['lonRange']['x']=_0x409ad6[_0x189732(0xc7,0x7a)][_0x2e6c62(-0x6b,-0x79)],this['viewerParameters']['lonRange']['y']=_0x409ad6['lon'][_0x2e6c62(0x69,-0x20)],this[_0x2e6c62(0x15,-0x5)][_0x189732(0x79,0xc2)]['x']=_0x409ad6['lat'][_0x2e6c62(-0x6b,-0xe3)],this[_0x189732(0x99,0x11e)][_0x189732(0x12b,0xc2)]['y']=_0x409ad6[_0x189732(0x9a,0xd0)]['max']);let _0x507219=this['camera']['getPixelSize'](this['globeBoundingSphere'],this[_0x189732(0xa6,0x78)][_0x189732(0xf5,0x90)],this[_0x189732(0xd0,0x78)][_0x2e6c62(0x38,0x24)]);const _0x29ebe8=this[_0x2e6c62(-0x91,-0xf9)]['drawingBufferHeight']*0.3;function _0x2e6c62(_0x1252d5,_0x445a91){return _0x688102(_0x445a91,_0x1252d5- -0x4a1);}_0x507219<_0x29ebe8&&(_0x507219=_0x29ebe8);function _0x189732(_0x33027c,_0x2ff608){return _0x688102(_0x33027c,_0x2ff608- -0x398);}this['viewerParameters'][_0x2e6c62(-0x64,0x1b)]=_0x507219;}}mars3d__namespace[_0x688102(0x3b0,0x426)][_0x27456a(0x573,0x4f9)]('wind',WindLayer),mars3d__namespace[_0x27456a(0x609,0x61c)][_0x688102(0x389,0x40f)]=WindLayer;class CanvasParticle{constructor(){this['lng']=null,this['lat']=null,this[_0x552e23(0x1,0x35)]=null;function _0x21eaa7(_0x35e88d,_0x21dbc3){return _0x27456a(_0x35e88d-0xb6,_0x21dbc3);}function _0x552e23(_0x1df88c,_0x3689b6){return _0x688102(_0x3689b6,_0x1df88c- -0x4ef);}this['tlat']=null,this[_0x552e23(0xd,0x47)]=null,this['speed']=null;}[_0x688102(0x4b0,0x449)](){for(const _0x5618d7 in this){delete this[_0x5618d7];}}}class CanvasWindField{constructor(_0x416059){this['setOptions'](_0x416059);}get[_0x27456a(0x570,0x5e9)](){return this['_speedRate'];}set['speedRate'](_0x346278){this['_speedRate']=(0x64-(_0x346278>0x63?0x63:_0x346278))*0x64,this['_calc_speedRate']=[(this['xmax']-this['xmin'])/this['_speedRate'],(this['ymax']-this['ymin'])/this['_speedRate']];}get['maxAge'](){function _0x170f9c(_0x2471d3,_0x4fe530){return _0x688102(_0x2471d3,_0x4fe530- -0x4b5);}return this[_0x170f9c(-0x5a,-0x6f)];}set['maxAge'](_0x483bee){function _0x5a1d65(_0x1fb132,_0x13034b){return _0x27456a(_0x1fb132- -0x4b4,_0x13034b);}this[_0x5a1d65(0x88,0x23)]=_0x483bee;}['setOptions'](_0x306568){this['options']=_0x306568,this['maxAge']=_0x306568['maxAge']||0x78;function _0x383a18(_0x117359,_0x3bd1af){return _0x688102(_0x3bd1af,_0x117359- -0x307);}this['speedRate']=_0x306568[_0x383a18(0x173,0x1b0)]||0x32;function _0x2643b9(_0xb52c11,_0x7241b5){return _0x27456a(_0xb52c11- -0x4a9,_0x7241b5);}this[_0x2643b9(0x158,0x19a)]=[];const _0x1533f7=_0x306568['particlesNumber']||0x1000;for(let _0x35b4fd=0x0;_0x35b4fd<_0x1533f7;_0x35b4fd++){const _0x1153ce=this['_randomParticle'](new CanvasParticle());this[_0x2643b9(0x158,0x146)]['push'](_0x1153ce);}}['setDate'](_0x33c677){this[_0x378b00(0x617,0x66b)]=_0x33c677['rows'],this['cols']=_0x33c677[_0x21eeb8(0x4e5,0x47c)],this['xmin']=_0x33c677['xmin'],this['xmax']=_0x33c677['xmax'];function _0x378b00(_0xf483bf,_0x482a49){return _0x688102(_0x482a49,_0xf483bf-0x15a);}this[_0x378b00(0x673,0x62b)]=_0x33c677[_0x21eeb8(0x4e2,0x49d)],this[_0x378b00(0x58e,0x5bd)]=_0x33c677['ymax'],this[_0x378b00(0x5fa,0x65b)]=[];const _0x86c642=_0x33c677['udata'],_0x1ac6ba=_0x33c677[_0x378b00(0x5bd,0x5c4)];let _0x1236f9=![];_0x86c642['length']===this[_0x21eeb8(0x486,0x48c)]&&_0x86c642[0x0]['length']===this['cols']&&(_0x1236f9=!![]);let _0x3c9da9=0x0,_0xef06a7=null,_0x1b8f03=null;function _0x21eeb8(_0x3887fc,_0x5e154b){return _0x688102(_0x5e154b,_0x3887fc- -0x37);}for(let _0x3af97b=0x0;_0x3af97b=this['cols']||_0x3c32b4>=this['rows'])return[0x0,0x0,0x0];const _0x550650=Math[_0x4d93c9(0x1e6,0x1ee)](_0xc419e6),_0x272fa6=Math['floor'](_0x3c32b4);if(_0x550650===_0xc419e6&&_0x272fa6===_0x3c32b4)return this['grid'][_0x3c32b4][_0xc419e6];const _0x397a13=_0x550650+0x1;function _0xae7c2c(_0x41c478,_0x243959){return _0x688102(_0x243959,_0x41c478- -0xa);}const _0x488457=_0x272fa6+0x1,_0x1adbfc=this['getUVByXY'](_0x550650,_0x272fa6),_0x12b558=this['getUVByXY'](_0x397a13,_0x272fa6),_0x10f6cf=this[_0xae7c2c(0x505,0x4db)](_0x550650,_0x488457);function _0x4d93c9(_0x1bec5b,_0x5b22cf){return _0x688102(_0x1bec5b,_0x5b22cf- -0x328);}const _0x138721=this['getUVByXY'](_0x397a13,_0x488457);let _0x2e1498=null;try{_0x2e1498=this[_0x4d93c9(0xfa,0x127)](_0xc419e6-_0x550650,_0x3c32b4-_0x272fa6,_0x1adbfc,_0x12b558,_0x10f6cf,_0x138721);}catch(_0x7702fa){console['log'](_0xc419e6,_0x3c32b4);}return _0x2e1498;}['_bilinearInterpolation'](_0x57d512,_0x6ad145,_0x3f94d4,_0x144e72,_0x223284,_0x478ab6){const _0x3d48f1=0x1-_0x57d512,_0x314a24=0x1-_0x6ad145,_0x56d13d=_0x3d48f1*_0x314a24,_0x130108=_0x57d512*_0x314a24,_0x48e0a4=_0x3d48f1*_0x6ad145,_0x834fb2=_0x57d512*_0x6ad145,_0x431dee=_0x3f94d4[0x0]*_0x56d13d+_0x144e72[0x0]*_0x130108+_0x223284[0x0]*_0x48e0a4+_0x478ab6[0x0]*_0x834fb2,_0x2c7686=_0x3f94d4[0x1]*_0x56d13d+_0x144e72[0x1]*_0x130108+_0x223284[0x1]*_0x48e0a4+_0x478ab6[0x1]*_0x834fb2;function _0x55f1ae(_0x15b861,_0x3e10b4){return _0x688102(_0x15b861,_0x3e10b4- -0xd0);}return this[_0x55f1ae(0x361,0x35a)](_0x431dee,_0x2c7686);}['_calcUV'](_0x28841e,_0x2b1cbf){function _0x23f881(_0x399007,_0x5623e9){return _0x27456a(_0x399007- -0x495,_0x5623e9);}return[+_0x28841e,+_0x2b1cbf,Math[_0x23f881(0x115,0xa4)](_0x28841e*_0x28841e+_0x2b1cbf*_0x2b1cbf)];}[_0x688102(0x43c,0x4b8)](_0x14907b,_0x34f8da){function _0x3c78b4(_0x30e875,_0x13ad7d){return _0x27456a(_0x30e875-0x5f,_0x13ad7d);}if(!this[_0x39ffca(0x147,0x124)](_0x14907b,_0x34f8da))return null;const _0x20991=this[_0x3c78b4(0x5cd,0x58c)](_0x14907b,_0x34f8da);function _0x39ffca(_0x233948,_0x30f9ea){return _0x27456a(_0x233948- -0x4a6,_0x30f9ea);}const _0x2e5e6e=this[_0x3c78b4(0x664,0x5e6)](_0x20991[0x0],_0x20991[0x1]);return _0x2e5e6e;}['isInExtent'](_0xfccfc0,_0x32d763){function _0x26db5b(_0x65d89a,_0xee3b48){return _0x688102(_0x65d89a,_0xee3b48- -0x6a);}function _0x2e525d(_0x3659e2,_0x1e4a8e){return _0x27456a(_0x1e4a8e- -0x61e,_0x3659e2);}return _0xfccfc0>=this[_0x26db5b(0x3eb,0x446)]&&_0xfccfc0<=this['xmax']&&_0x32d763>=this['ymin']&&_0x32d763<=this[_0x2e525d(-0xfa,-0xf4)]?!![]:![];}['getRandomLatLng'](){const _0x13d064=fRandomByfloat(this[_0x295588(0x559,0x5d3)],this[_0x23e0e7(0x40d,0x38e)]),_0x5dbfcd=fRandomByfloat(this['ymin'],this['ymax']),_0x194abb={};_0x194abb['lat']=_0x5dbfcd;function _0x295588(_0x30468a,_0x49a28e){return _0x27456a(_0x49a28e-0x2d,_0x30468a);}_0x194abb['lng']=_0x13d064;function _0x23e0e7(_0x1ee1a8,_0x411800){return _0x688102(_0x1ee1a8,_0x411800- -0xfb);}return _0x194abb;}['getParticles'](){function _0x22232c(_0x264d39,_0x4f626e){return _0x27456a(_0x264d39- -0x58d,_0x4f626e);}let _0x795236,_0x26b789,_0x1519ee;for(let _0x11c60a=0x0,_0x438b0d=this[_0x22232c(0x74,0x91)][_0x22232c(0x3,-0x3c)];_0x11c60a<_0x438b0d;_0x11c60a++){let _0x125f17=this[_0x36c724(0x485,0x4e2)][_0x11c60a];_0x125f17['age']<=0x0&&(_0x125f17=this[_0x22232c(-0xa,-0x57)](_0x125f17));if(_0x125f17['age']>0x0){const _0x40e14d=_0x125f17['tlng'],_0x32deac=_0x125f17['tlat'];_0x1519ee=this['getUVByPoint'](_0x40e14d,_0x32deac),_0x1519ee?(_0x795236=_0x40e14d+this['_calc_speedRate'][0x0]*_0x1519ee[0x0],_0x26b789=_0x32deac+this['_calc_speedRate'][0x1]*_0x1519ee[0x1],_0x125f17[_0x36c724(0x3d6,0x453)]=_0x40e14d,_0x125f17[_0x22232c(-0x2f,-0x41)]=_0x32deac,_0x125f17[_0x22232c(0x59,0x17)]=_0x795236,_0x125f17['tlat']=_0x26b789,_0x125f17[_0x22232c(-0x16,-0x9c)]=_0x1519ee[0x2],_0x125f17['age']--):_0x125f17['age']=0x0;}}function _0x36c724(_0x25f209,_0x2f8600){return _0x688102(_0x25f209,_0x2f8600- -0x29);}return this[_0x36c724(0x50f,0x4e2)];}['_randomParticle'](_0x1389aa){let _0x44543e,_0x5d4424;for(let _0x142fc1=0x0;_0x142fc1<0x1e;_0x142fc1++){_0x44543e=this[_0x5d6051(0x391,0x31f)](),_0x5d4424=this['getUVByPoint'](_0x44543e[_0x3de062(0x55d,0x51d)],_0x44543e['lat']);if(_0x5d4424&&_0x5d4424[0x2]>0x0)break;}function _0x5d6051(_0x592ba3,_0x21b720){return _0x27456a(_0x592ba3- -0x1d2,_0x21b720);}function _0x3de062(_0x49c4fd,_0x4a6c50){return _0x27456a(_0x4a6c50- -0x55,_0x49c4fd);}if(!_0x5d4424)return _0x1389aa;const _0xfd1b33=_0x44543e['lng']+this['_calc_speedRate'][0x0]*_0x5d4424[0x0],_0xf5b6de=_0x44543e[_0x5d6051(0x38c,0x376)]+this['_calc_speedRate'][0x1]*_0x5d4424[0x1];return _0x1389aa[_0x3de062(0x538,0x51d)]=_0x44543e[_0x3de062(0x4be,0x51d)],_0x1389aa['lat']=_0x44543e['lat'],_0x1389aa['tlng']=_0xfd1b33,_0x1389aa[_0x3de062(0x4bc,0x4e1)]=_0xf5b6de,_0x1389aa[_0x3de062(0x5e1,0x59d)]=Math['round'](Math['random']()*this['maxAge']),_0x1389aa['speed']=_0x5d4424[0x2],_0x1389aa;}['destroy'](){for(const _0x5b9cd3 in this){delete this[_0x5b9cd3];}}}function fRandomByfloat(_0x35e1d0,_0x10c4b0){function _0x1ed0f8(_0x3b05ca,_0x5d7430){return _0x27456a(_0x3b05ca- -0x5af,_0x5d7430);}return _0x35e1d0+Math[_0x1ed0f8(0x15,0x65)]()*(_0x10c4b0-_0x35e1d0);}const Cesium=mars3d__namespace[_0x27456a(0x515,0x49c)],BaseLayer=mars3d__namespace['layer'][_0x688102(0x53e,0x51a)];class CanvasWindLayer extends BaseLayer{constructor(_0x83dcdb={}){super(_0x83dcdb),this[_0x203bb4(0x35f,0x379)](_0x83dcdb);function _0x203bb4(_0x1ce624,_0x39c335){return _0x688102(_0x39c335,_0x1ce624- -0x1a1);}function _0x4f1085(_0x5ca081,_0x556afc){return _0x688102(_0x5ca081,_0x556afc- -0x204);}this[_0x4f1085(0x24b,0x297)]=null,_0x83dcdb['colors']&&_0x83dcdb[_0x4f1085(0x237,0x2a9)]&&(this['_colorRamp']=new mars3d__namespace['ColorRamp'](_0x83dcdb));}['_setOptionsHook'](_0x2428ee,_0x3188ec){this['frameTime']=0x3e8/(_0x2428ee[_0x298d25(0x559,0x50c)]||0xa),this['_pointerEvents']=this['options'][_0xb1a13d(0x312,0x325)]??![],this[_0xb1a13d(0x2b1,0x2d2)]=_0x2428ee[_0xb1a13d(0x2ab,0x2d2)]||_0x298d25(0x521,0x4c3),this['lineWidth']=_0x2428ee['lineWidth']||0x1,this[_0x298d25(0x4b8,0x498)]=_0x2428ee['fixedHeight']??0x0;function _0x298d25(_0x4f967e,_0x168ebe){return _0x27456a(_0x168ebe- -0x9d,_0x4f967e);}function _0xb1a13d(_0x120ade,_0xcb289f){return _0x27456a(_0xcb289f- -0x2d6,_0x120ade);}this['reverseY']=_0x2428ee[_0xb1a13d(0x2a9,0x2c2)]??![],this['windField']&&this[_0xb1a13d(0x1bf,0x238)][_0x298d25(0x50e,0x570)](_0x2428ee);}get[_0x27456a(0x609,0x665)](){return this['canvas'];}get[_0x688102(0x440,0x43c)](){return this['_map']['scene']['canvas']['clientWidth'];}get[_0x27456a(0x576,0x533)](){function _0x1c753c(_0x11ab88,_0x5b896c){return _0x688102(_0x5b896c,_0x11ab88- -0xd6);}function _0x1dc424(_0x3db912,_0x382478){return _0x688102(_0x3db912,_0x382478-0x49);}return this[_0x1dc424(0x4bb,0x47a)]['scene'][_0x1c753c(0x3c5,0x383)]['clientHeight'];}get['pointerEvents'](){function _0x40782e(_0x556220,_0x554bf1){return _0x688102(_0x554bf1,_0x556220- -0x4e0);}return this[_0x40782e(-0xad,-0x12f)];}set[_0x688102(0x552,0x505)](_0x1f3346){this['_pointerEvents']=_0x1f3346;if(!this[_0x14c051(-0x13,0x30)])return;function _0x544833(_0x4e50d9,_0x56eea0){return _0x688102(_0x4e50d9,_0x56eea0- -0x4a);}function _0x14c051(_0x555747,_0x2382b4){return _0x27456a(_0x2382b4- -0x561,_0x555747);}_0x1f3346?this['canvas'][_0x14c051(0xf7,0x6d)]['pointer-events']='all':this['canvas']['style']['pointer-events']='none';}get['particlesNumber'](){return this['options']['particlesNumber'];}set[_0x688102(0x4e7,0x46f)](_0x19a6b1){this[_0x1dcb9c(0x34e,0x38e)][_0x1dcb9c(0x36f,0x34d)]=_0x19a6b1;function _0x1dcb9c(_0x56373e,_0x4aa307){return _0x688102(_0x4aa307,_0x56373e- -0x100);}clearTimeout(this['_canrefresh']);function _0x4d75f5(_0x428ae8,_0x33a3e4){return _0x688102(_0x33a3e4,_0x428ae8- -0x38e);}this[_0x1dcb9c(0x3da,0x412)]=setTimeout(()=>{function _0x2f791a(_0x9f824,_0x34ee8c){return _0x4d75f5(_0x34ee8c- -0x21a,_0x9f824);}this[_0x2f791a(-0x10d,-0xae)]();},0x1f4);}get['speedRate'](){return this['options']['speedRate'];}set['speedRate'](_0x228ca1){this['options']['speedRate']=_0x228ca1;function _0x510c4f(_0x57d64e,_0x38b4e9){return _0x27456a(_0x38b4e9- -0xe4,_0x57d64e);}this['windField']&&(this['windField'][_0x510c4f(0x488,0x48c)]=_0x228ca1);}get['maxAge'](){return this['options']['maxAge'];}set['maxAge'](_0x8feaf6){function _0x4a1732(_0x1014da,_0x3559c1){return _0x688102(_0x3559c1,_0x1014da- -0x2c3);}function _0x4211f3(_0x272f0b,_0x5f4b45){return _0x688102(_0x5f4b45,_0x272f0b- -0x5c2);}this[_0x4a1732(0x18b,0x203)][_0x4a1732(0x154,0x1cf)]=_0x8feaf6,this['windField']&&(this[_0x4a1732(0x155,0xda)]['maxAge']=_0x8feaf6);}get[_0x27456a(0x530,0x542)](){return this['windData'];}set[_0x688102(0x491,0x43a)](_0x570845){function _0x596f55(_0x3f2555,_0x2f583c){return _0x27456a(_0x3f2555- -0x482,_0x2f583c);}this[_0x596f55(0x16f,0x119)](_0x570845);}get['rectangle'](){let _0x31d256=this['windData']['xmin'],_0x2cc05f=this['windData']['xmax'],_0x59bf1a=this[_0x5bd081(-0x71,-0x23)][_0x223354(0x4ad,0x43b)],_0xebc395=this['windData'][_0x223354(0x2fc,0x356)];_0x2cc05f>=0x167&&_0x31d256===0x0&&(_0x31d256=-0xb4,_0x2cc05f=0xb4);function _0x5bd081(_0x2dd67b,_0x4137f6){return _0x27456a(_0x4137f6- -0x5fb,_0x2dd67b);}function _0x223354(_0x4b1abb,_0xd63ce7){return _0x688102(_0x4b1abb,_0xd63ce7- -0xde);}return _0x31d256=Math['max'](_0x31d256,-0xb4),_0x2cc05f=Math['min'](_0x2cc05f,0xb4),_0x59bf1a=Math[_0x223354(0x3d1,0x42c)](_0x59bf1a,-0x5a),_0xebc395=Math[_0x223354(0x397,0x358)](_0xebc395,0x5a),Cesium[_0x223354(0x418,0x393)][_0x5bd081(-0x3b,-0x29)](_0x31d256,_0x59bf1a,_0x2cc05f,_0xebc395);}['_showHook'](_0x429e01){function _0x178e88(_0x5c3504,_0x1d1034){return _0x27456a(_0x1d1034- -0x50e,_0x5c3504);}function _0x2ac242(_0x20d360,_0x89e331){return _0x688102(_0x89e331,_0x20d360- -0x47e);}_0x429e01?this[_0x2ac242(0xa,0x6d)]():(this['windData']&&(this['options'][_0x2ac242(-0x44,0x1d)]=this['windData']),this[_0x178e88(0xb2,0x9d)]());}['_mountedHook'](){function _0x210cd6(_0x3ba5a0,_0x42bdeb){return _0x688102(_0x42bdeb,_0x3ba5a0- -0x369);}function _0x685847(_0x3d7819,_0x3dfbb6){return _0x27456a(_0x3d7819- -0x550,_0x3dfbb6);}this['options']['worker']?this[_0x210cd6(0x14e,0x127)]():this[_0x210cd6(0xaf,0xc8)]=new CanvasWindField(this['options']);}[_0x27456a(0x57e,0x603)](){function _0x2c1570(_0x5e9dcd,_0x2bd639){return _0x688102(_0x5e9dcd,_0x2bd639- -0x238);}this[_0x2c1570(0x1fe,0x263)]=this['_createCanvas']();const _0x7e7bd5={};_0x7e7bd5['willReadFrequently']=!![],this[_0xb9c7d9(0x404,0x3b3)]=this['canvas']['getContext']('2d',_0x7e7bd5),this[_0x2c1570(0x2e2,0x2d6)]();function _0xb9c7d9(_0x56387c,_0x51749b){return _0x688102(_0x56387c,_0x51749b- -0x161);}this[_0xb9c7d9(0x2d7,0x2ed)]['data']&&this['setData'](this[_0x2c1570(0x266,0x216)]['data']);}[_0x27456a(0x5ab,0x5ef)](){this['clear']();function _0x3803e8(_0x56b465,_0x1333ba){return _0x27456a(_0x56b465- -0x61,_0x1333ba);}function _0x139c28(_0x246d9a,_0x54a865){return _0x688102(_0x246d9a,_0x54a865-0x95);}this['unbindEvent'](),this['canvas']&&(this[_0x139c28(0x4f2,0x4c6)]['container'][_0x3803e8(0x4d6,0x537)](this[_0x3803e8(0x530,0x5ba)]),delete this['canvas']);}['_createCanvas'](){const _0x5a3f37=mars3d__namespace['DomUtil']['create'](_0x26ac24(0x3c6,0x403),_0x26ac24(0x44c,0x42d),this[_0x12c591(0x416,0x3ed)]['container']);_0x5a3f37['style'][_0x26ac24(0x3ad,0x3bf)]=_0x26ac24(0x434,0x48a),_0x5a3f37['style'][_0x12c591(0x43f,0x3ea)]='0px',_0x5a3f37[_0x26ac24(0x42e,0x440)]['left']='0px',_0x5a3f37[_0x12c591(0x506,0x494)]['width']=this['_map']['scene'][_0x26ac24(0x473,0x403)][_0x26ac24(0x4a8,0x466)]+'px',_0x5a3f37['style']['height']=this[_0x12c591(0x40e,0x3ed)]['scene']['canvas'][_0x12c591(0x49f,0x499)]+'px',_0x5a3f37['style']['pointerEvents']=this['_pointerEvents']?'auto':'none',_0x5a3f37['style'][_0x26ac24(0x3cb,0x3b0)]=this['options']['zIndex']??0x9,_0x5a3f37[_0x26ac24(0x402,0x38f)]=this['_map'][_0x12c591(0x374,0x3cc)]['canvas'][_0x26ac24(0x4e1,0x466)];function _0x26ac24(_0x2754ec,_0x485757){return _0x27456a(_0x485757- -0x18e,_0x2754ec);}function _0x12c591(_0x43c49e,_0x1fb996){return _0x27456a(_0x1fb996- -0x13a,_0x43c49e);}return _0x5a3f37[_0x26ac24(0x3c8,0x451)]=this['_map']['scene']['canvas']['clientHeight'],_0x5a3f37;}['resize'](){function _0x2213eb(_0x11d44e,_0x2d4f5b){return _0x27456a(_0x2d4f5b-0x19,_0x11d44e);}function _0x55be4c(_0x264e3a,_0x360f13){return _0x688102(_0x264e3a,_0x360f13- -0x1b8);}this['canvas']&&(this['canvas']['style'][_0x55be4c(0x2f7,0x26f)]=this['_map']['scene']['canvas']['clientWidth']+'px',this[_0x2213eb(0x5ce,0x5aa)]['style'][_0x55be4c(0x343,0x331)]=this[_0x2213eb(0x541,0x540)]['scene'][_0x2213eb(0x5ca,0x5aa)][_0x2213eb(0x5fa,0x5ec)]+'px',this['canvas']['width']=this[_0x2213eb(0x59a,0x540)]['scene']['canvas']['clientWidth'],this[_0x55be4c(0x2ed,0x2e3)][_0x55be4c(0x2bd,0x331)]=this[_0x55be4c(0x223,0x279)]['scene'][_0x2213eb(0x5c7,0x5aa)]['clientHeight']);}[_0x27456a(0x604,0x650)](){const _0x4d0f87=this;function _0x2e6091(_0x5baa7c,_0x2cff8a){return _0x27456a(_0x2cff8a- -0x118,_0x5baa7c);}let _0x540775=Date['now']();(function _0x4388c5(){function _0x3ec00d(_0x1e206a,_0x154958){return _0x3e17(_0x1e206a-0xc1,_0x154958);}if(_0x4d0f87['isDestroy'])return;function _0x5c7f0e(_0x49ceec,_0x2fd17a){return _0x3e17(_0x49ceec- -0x272,_0x2fd17a);}_0x4d0f87['_animateFrame']=window[_0x3ec00d(0x377,0x336)](_0x4388c5);if(_0x4d0f87['show']&&_0x4d0f87['windField']){const _0x162cc5=Date['now'](),_0x482ae7=_0x162cc5-_0x540775;_0x482ae7>_0x4d0f87[_0x5c7f0e(0x60,0x65)]&&(_0x540775=_0x162cc5-_0x482ae7%_0x4d0f87['frameTime'],_0x4d0f87['update']());}}(),window['addEventListener']('resize',this['resize']['bind'](this),![]),this[_0x2e6091(0x461,0x3ff)]=![],this[_0x5a6e06(0x2d,0x59)]=![]);function _0x5a6e06(_0x1c25d3,_0x36490f){return _0x27456a(_0x36490f- -0x578,_0x1c25d3);}this[_0x5a6e06(-0x6f,-0x34)]['mouseHidden']&&(this[_0x2e6091(0x3c6,0x40f)]['on'](mars3d__namespace[_0x2e6091(0x549,0x4ff)]['wheel'],this['_onMapWhellEvent'],this),this['_map']['on'](mars3d__namespace['EventType']['mouseDown'],this[_0x5a6e06(-0x2a,0x52)],this),this['_map']['on'](mars3d__namespace['EventType'][_0x2e6091(0x45f,0x43d)],this[_0x5a6e06(-0x42,-0x29)],this));}['unbindEvent'](){function _0x576f1a(_0x30c720,_0x5a5b07){return _0x27456a(_0x30c720- -0x20a,_0x5a5b07);}function _0xdf8da2(_0x1ec99d,_0x3cea81){return _0x688102(_0x3cea81,_0x1ec99d-0x25);}window['cancelAnimationFrame'](this[_0x576f1a(0x37f,0x3e3)]),delete this['_animateFrame'],window[_0x576f1a(0x34c,0x2fd)]('resize',this['resize']),this['options']['mouseHidden']&&(this[_0x576f1a(0x31d,0x38d)]['off'](mars3d__namespace['EventType']['wheel'],this['_onMapWhellEvent'],this),this['_map'][_0x576f1a(0x31e,0x39b)](mars3d__namespace['EventType']['mouseDown'],this[_0x576f1a(0x3c0,0x34e)],this),this['_map'][_0x576f1a(0x31e,0x2a5)](mars3d__namespace['EventType'][_0xdf8da2(0x484,0x4c0)],this[_0xdf8da2(0x47e,0x4b6)],this),this[_0xdf8da2(0x456,0x3cb)]['off'](mars3d__namespace['EventType']['mouseMove'],this[_0xdf8da2(0x4e3,0x4f0)],this));}['_onMapWhellEvent'](_0x35ecd4){function _0x46a1e3(_0x3c961f,_0x1a996c){return _0x27456a(_0x3c961f- -0x1b9,_0x1a996c);}clearTimeout(this['refreshTimer']);if(!this[_0x46a1e3(0x405,0x3b6)]||!this[_0x3a3bea(-0x4e,-0x3b)])return;function _0x3a3bea(_0x348712,_0xcd8cfa){return _0x27456a(_0x348712- -0x5df,_0xcd8cfa);}this['canvas']['style'][_0x3a3bea(-0x2f,0xf)]=_0x46a1e3(0x421,0x44b),this['refreshTimer']=setTimeout(()=>{function _0x524799(_0x35ba62,_0x5caedb){return _0x3a3bea(_0x5caedb-0x5b5,_0x35ba62);}if(!this['show'])return;function _0x39c468(_0x4f930e,_0x47d6f6){return _0x46a1e3(_0x47d6f6- -0x357,_0x4f930e);}this[_0x524799(0x5c0,0x5c6)](),this[_0x524799(0x553,0x567)][_0x39c468(0x4c,0xbe)]['visibility']='visible';},0xc8);}['_onMouseDownEvent'](_0x2fc521){function _0x101fb7(_0x5ae2c9,_0x3985f7){return _0x27456a(_0x5ae2c9- -0x4b1,_0x3985f7);}this[_0x101fb7(0x66,0x27)]=!![],this['_map'][_0x101fb7(0x77,0xed)](mars3d__namespace[_0x101fb7(0x166,0xeb)][_0x550518(0x4e,0x42)],this['_onMouseMoveEvent'],this);function _0x550518(_0x5486f2,_0x14b8dc){return _0x688102(_0x14b8dc,_0x5486f2- -0x3c7);}this['_map']['on'](mars3d__namespace['EventType']['mouseMove'],this[_0x550518(0xf7,0x16d)],this);}['_onMouseMoveEvent'](_0x102eb7){function _0x51fd53(_0x107bf4,_0x129826){return _0x27456a(_0x129826- -0x16d,_0x107bf4);}if(!this[_0x50f001(0x292,0x2ce)]||!this['canvas'])return;function _0x50f001(_0x3362be,_0x4721bc){return _0x688102(_0x4721bc,_0x3362be- -0x236);}this['mouse_down']&&(this['canvas'][_0x51fd53(0x408,0x461)]['visibility']=_0x50f001(0x2ae,0x26c),this['mouse_move']=!![]);}['_onMouseUpEvent'](_0x3bd1e0){if(!this['show']||!this['canvas'])return;function _0x31359c(_0x5aed68,_0x2e27d3){return _0x27456a(_0x2e27d3- -0x2e3,_0x5aed68);}this['_map'][_0x31359c(0x1e8,0x245)](mars3d__namespace['EventType'][_0x31359c(0x1c0,0x228)],this['_onMouseMoveEvent'],this);this['mouse_down']&&this[_0x12fb92(-0x33,0x13)]&&this[_0x12fb92(0x14,0x32)]();function _0x12fb92(_0x28f346,_0x5ba602){return _0x27456a(_0x5ba602- -0x5be,_0x28f346);}this['canvas'][_0x12fb92(0x43,0x10)]['visibility']='visible',this[_0x12fb92(-0xd2,-0xa7)]=![],this['mouse_move']=![];}['setData'](_0x110113){this['clear'](),this['windData']=_0x110113,this['windField']['setDate'](_0x110113);function _0x5f0ebd(_0xac4904,_0x5a1d31){return _0x688102(_0x5a1d31,_0xac4904- -0x1f0);}this[_0x5f0ebd(0x30a,0x31b)]();}['redraw'](){if(!this['show'])return;function _0x13cb22(_0x5bffae,_0x4f3ca9){return _0x688102(_0x5bffae,_0x4f3ca9- -0x5bd);}this[_0x13cb22(-0x1a3,-0x1a5)]['setOptions'](this['options']),this['update']();}[_0x688102(0x4fb,0x4d7)](){if(this[_0x3124c9(0x49c,0x486)])return;this['_updateIng']=!![];function _0x3124c9(_0x4da3a8,_0x21efd3){return _0x688102(_0x21efd3,_0x4da3a8- -0x5c);}if(this[_0x16d455(-0x42,0x23)])this['windField']['update']();else{const _0x181b1d=this[_0x16d455(-0x110,-0x11c)]['getParticles']();this['_drawLines'](_0x181b1d);}function _0x16d455(_0xd75c18,_0x403f3c){return _0x27456a(_0xd75c18- -0x61e,_0x403f3c);}this['_updateIng']=![];}['_drawLines'](_0x449186){function _0x2726aa(_0x5200a9,_0x4720fe){return _0x27456a(_0x4720fe- -0x62b,_0x5200a9);}this['_canvasParticles']=_0x449186,this['canvasContext']['globalCompositeOperation']=_0x20a07f(0x270,0x1f1),this['canvasContext'][_0x2726aa(-0xcc,-0x11c)](0x0,0x0,this['canvasWidth'],this[_0x2726aa(-0x93,-0xb5)]),this[_0x20a07f(0x2f6,0x2d7)]['globalCompositeOperation']=_0x2726aa(-0x2c,-0xb0),this[_0x20a07f(0x2f6,0x2fe)]['globalAlpha']=0.9;function _0x20a07f(_0x26a6c9,_0x2002df){return _0x27456a(_0x26a6c9- -0x314,_0x2002df);}const _0x4ac714=this[_0x2726aa(-0xc5,-0x104)][_0x20a07f(0x1f2,0x26d)]['mode']!==Cesium['SceneMode']['SCENE3D'],_0x2233d6=this['canvasWidth']*0.25;if(this['_colorRamp'])for(let _0x5398b3=0x0,_0x2f8cbf=_0x449186[_0x2726aa(-0x10f,-0x9b)];_0x5398b3<_0x2f8cbf;_0x5398b3++){const _0x89e3d=_0x449186[_0x5398b3],_0x2f6b54=this[_0x20a07f(0x21b,0x216)](_0x89e3d,_0x89e3d['lng'],_0x89e3d['lat'],_0x89e3d[_0x20a07f(0x20f,0x1d8)]),_0x1c2723=this['_tomap'](_0x89e3d,_0x89e3d['tlng'],_0x89e3d['tlat'],_0x89e3d['talt']);if(!_0x2f6b54||!_0x1c2723)continue;if(_0x4ac714&&Math['abs'](_0x2f6b54[0x0]-_0x1c2723[0x0])>=_0x2233d6)continue;this['canvasContext']['beginPath'](),this[_0x20a07f(0x2f6,0x29a)]['lineWidth']=this['lineWidth'],this['canvasContext']['strokeStyle']=this[_0x2726aa(-0x84,-0x40)]['getColor'](_0x89e3d['speed']),this['canvasContext'][_0x2726aa(-0xd4,-0x68)](_0x2f6b54[0x0],_0x2f6b54[0x1]),this[_0x20a07f(0x2f6,0x2f0)]['lineTo'](_0x1c2723[0x0],_0x1c2723[0x1]),this[_0x2726aa(-0x7f,-0x21)][_0x20a07f(0x23d,0x204)]();}else{this['canvasContext']['beginPath'](),this[_0x20a07f(0x2f6,0x2b4)]['lineWidth']=this['lineWidth'],this[_0x2726aa(0x7,-0x21)]['strokeStyle']=this[_0x2726aa(-0x60,-0x83)];for(let _0x4de8e6=0x0,_0x5b5ba5=_0x449186['length'];_0x4de8e6<_0x5b5ba5;_0x4de8e6++){const _0x30bb25=_0x449186[_0x4de8e6],_0x2a2e66=this['_tomap'](_0x30bb25,_0x30bb25[_0x2726aa(-0x30,-0xb9)],_0x30bb25['lat'],_0x30bb25[_0x2726aa(-0x113,-0x108)]),_0x2e6677=this[_0x20a07f(0x21b,0x28f)](_0x30bb25,_0x30bb25['tlng'],_0x30bb25[_0x20a07f(0x222,0x226)],_0x30bb25['talt']);if(!_0x2a2e66||!_0x2e6677)continue;if(_0x4ac714&&Math['abs'](_0x2a2e66[0x0]-_0x2e6677[0x0])>=_0x2233d6)continue;this['canvasContext'][_0x2726aa(-0xbd,-0x68)](_0x2a2e66[0x0],_0x2a2e66[0x1]),this['canvasContext'][_0x20a07f(0x23f,0x1b7)](_0x2e6677[0x0],_0x2e6677[0x1]);}this[_0x2726aa(0x60,-0x21)][_0x20a07f(0x23d,0x27e)]();}}['_tomap'](_0x3ce6bc,_0x11b60a,_0x58beb5,_0x5b9dfa){const _0x56ee93=Cesium['Cartesian3']['fromDegrees'](_0x11b60a,_0x58beb5,_0x5b9dfa??this[_0x464e05(0x41,0x18)]),_0x55e3cf=this[_0x464e05(0x6a,0xa)]['scene'];if(_0x55e3cf['mode']===Cesium['SceneMode']['SCENE3D']){const _0x369a85=new Cesium['EllipsoidalOccluder'](_0x55e3cf[_0x464e05(0x92,0x6a)]['ellipsoid'],_0x55e3cf[_0x464e05(0x115,0xeb)]['positionWC']),_0x4d8321=_0x369a85['isPointVisible'](_0x56ee93);if(!_0x4d8321)return _0x3ce6bc['age']=0x0,null;}function _0x464e05(_0x1b8be8,_0xcc5248){return _0x688102(_0x1b8be8,_0xcc5248- -0x427);}const _0xc8621=mars3d__namespace[_0xbd8e11(0x23,0x8a)][_0x464e05(0xd2,0xb7)](this[_0x464e05(0x3c,0xa)][_0x464e05(0x24,-0x17)],_0x56ee93);function _0xbd8e11(_0x3c1dfc,_0x952148){return _0x688102(_0x3c1dfc,_0x952148- -0x3ea);}return _0xc8621?[_0xc8621['x'],_0xc8621['y']]:null;}['clear'](){function _0x11d44d(_0x3ecc38,_0x371e0b){return _0x27456a(_0x371e0b- -0x32f,_0x3ecc38);}this[_0x11d44d(0x172,0x1df)]['clear'](),delete this['windData'];}[_0x27456a(0x5ad,0x61a)](){function _0x5bd647(_0x6358d6,_0x79f79b){return _0x27456a(_0x79f79b- -0x587,_0x6358d6);}function _0x443805(_0x156408,_0x38fa32){return _0x27456a(_0x38fa32- -0x440,_0x156408);}this[_0x443805(0x1bd,0x19c)]=new Worker(this['options']['worker']),this[_0x443805(0x11e,0x19c)]['onmessage']=_0x4f131c=>{function _0x54ee90(_0x33b69f,_0x57bad6){return _0x443805(_0x33b69f,_0x57bad6-0xce);}this['_drawLines'](_0x4f131c['data'][_0x54ee90(0x218,0x28f)]),this['_updateIng2']=![];},this['windField']={'init':_0xd66932=>{function _0x31d3e9(_0x78fe82,_0x3578d3){return _0x443805(_0x3578d3,_0x78fe82-0x340);}const _0x2acc11={};function _0x37f568(_0x5c7d47,_0x318ec3){return _0x5bd647(_0x318ec3,_0x5c7d47- -0xb5);}_0x2acc11['type']='init',_0x2acc11[_0x31d3e9(0x444,0x45a)]=_0xd66932,this[_0x31d3e9(0x4dc,0x48b)]['postMessage'](_0x2acc11);},'setOptions':_0x5b1341=>{const _0x566c91={};function _0x2135ea(_0x50f1dd,_0x34de47){return _0x5bd647(_0x34de47,_0x50f1dd- -0x8d);}_0x566c91['type']='setOptions';function _0x6aa499(_0x29de3f,_0x2f562a){return _0x5bd647(_0x2f562a,_0x29de3f- -0x13f);}_0x566c91[_0x6aa499(-0x182,-0x18f)]=_0x5b1341,this[_0x2135ea(-0x38,-0x87)]['postMessage'](_0x566c91);},'setDate':_0x15fa1a=>{function _0x141ca1(_0x4d5a01,_0x55a797){return _0x5bd647(_0x55a797,_0x4d5a01-0x3fa);}function _0x4c381b(_0x4238b9,_0x31f727){return _0x5bd647(_0x4238b9,_0x31f727-0xab);}const _0x203503={};_0x203503[_0x4c381b(-0xa,0x5e)]=_0x4c381b(0x36,0x7f),_0x203503[_0x4c381b(0x61,0x54)]=_0x15fa1a,this[_0x4c381b(0xce,0x100)]['postMessage'](_0x203503);},'update':()=>{function _0x3aa797(_0x49adaa,_0x50d0ab){return _0x5bd647(_0x50d0ab,_0x49adaa-0x5aa);}function _0x4341f3(_0x3f081c,_0x3939ad){return _0x443805(_0x3939ad,_0x3f081c-0x491);}if(this[_0x3aa797(0x52d,0x53e)])return;this['_updateIng2']=!![];const _0x4aef65={};_0x4aef65[_0x4341f3(0x58b,0x57f)]=_0x3aa797(0x5f0,0x633),this[_0x3aa797(0x5ff,0x5da)][_0x3aa797(0x638,0x5ca)](_0x4aef65);},'clear':()=>{function _0x152bd4(_0x5e5045,_0x2d9180){return _0x443805(_0x5e5045,_0x2d9180-0x4ed);}const _0x5f4084={};function _0x26278f(_0x46b32b,_0x4a5184){return _0x443805(_0x4a5184,_0x46b32b- -0x1d9);}_0x5f4084[_0x152bd4(0x5dd,0x5e7)]='clear',this['worker'][_0x152bd4(0x648,0x6c2)](_0x5f4084);}},this[_0x5bd647(-0x7b,-0x79)]['init'](this[_0x443805(0xcc,0x104)]);}}function _0x1683(){const _0x860f35=['Math','shaderProgram','_onMapWhellEvent','tlng','randomBetween','umin','ZERO','pixelFormat','_colorRamp','clearFramebuffers','isInExtent','_updateIng','blending','redraw','setData','age','clearCommand','clientWidth','enabled','_setOptionsHook','destroyParticlesTextures','fadeOpacity','nextTrails','3138336qjqOYK','pointerEvents','frameTime','execute','commandList','fragmentShaderSource','max','particles','array','TRIANGLES','bindEvent','getUVByXY','UNSIGNED_INT','autoClear','camera','layer','canvasContext','434049AWsGnW','floor','setOptions','Compute','ymin','BaseLayer','_data','cols','colorTable','nextTrailsColor','postMessage','pow','EventType','absolute','Matrix4','particlesComputing','WindLayer','scene','globeBoundingSphere','lon','dropRate','_updateIng2','mouseMove','createRawRenderState','maxAge','windField','fillRect','DISABLE_GL_POSITION_LOG_DEPTH','addEventListener','getV','depthMask','previousParticlesPosition','Cesium','geometry','mouse_down','lev','103908xvQChh','DepthFunction','outputTexture','LayerUtil','width','drawingBufferWidth','rgb(206,255,255)','_calcUV','pixelDatatype','dynamic','alt','top','ClearCommand','colour','_map','off','_pointerEvents','ymax','uSpeedRange','min','lonRange','computeViewRectangle','_tomap','data','uniformMap','canvasWidth','pixelSize','updateViewerParameters','fixedHeight','tlat','removeChild','arrayBufferView','createWindTextures','type','toDegrees','_maxAge','removeAll','zIndex','destroy','primitives','PrimitiveCollection','createSegmentsGeometry','sources','options','_bilinearInterpolation','reverse','default','west','clear','depthTest','createComputingPrimitives','createFramebuffer','position','framebuffers','_onMouseUpEvent','latRange','stroke','830598ABewxH','lineTo','5HiLfqH','mouseUp','removeEventListener','currentTrails','FLOAT','vdata','getColorTexture','setDate','commandType','forEach','lat','vertexShaderSource','#ffffff','TWO_PI','attributeLocations','getRandomLatLng','viewport','particlesNumber','BufferUsage','Rectangle','PI_OVER_THREE','viewRectangleToLonLatRange','PointTrans','wSpeedRange','RGBA','calculateSpeed','toGridXY','refreshParticles','speedRate','particlesRendering','lng','register','GeometryAttribute','Pass','canvasHeight','speed','maxParticles','Texture','textures','lighter','particleSystem','DEPTH_COMPONENT','_addedHook','xmax','createCommand','PI_OVER_TWO','__esModule','_randomParticle','destination-in','canvasResize','SCENE3D','globe','framebuffer','_animateFrame','Geometry','PixelDatatype','windTextures','TextureMinificationFilter','getDirection','persists','length','canvas','particlesSpeed','dimensions','VertexArray','mod','grid','particlesTextureSize','reverseY','createRenderingPrimitives','minimum','context','4iIbueA','preRender','100258wZKGqo','owner','particlesTextures','ShaderSource','createTexture','steps','CanvasWindField','UNSIGNED_BYTE','xmin','3089544HhiXMl','color','frameRate','sqrt','_removedHook','viewerParameters','initWorker','getUVByPoint','randomizeParticles','visibility','cos','defineProperty','rows','_onMouseMoveEvent','currentParticlesPosition','preExecute','push','getSpeed','segments','1014839WBDhnt','mars3d-canvasWind','ComponentDatatype','commandToExecute','show','postProcessingPosition','CanvasWindLayer','BoundingSphere','defined','moveTo','random','STATIC_DRAW','getFullscreenQuad','speedScaleFactor','Cartesian2','trails','_onMouseDownEvent','screen','atan2','update','style','drawingBufferHeight','_canrefresh','mouse_move','fromDegrees','clientHeight','toWindowCoordinates','resize','depthTexture','Draw','windData','updatePosition','hidden','colors','worker','vertexArray','PrimitiveType','height','requestAnimationFrame','getOptions','add'];_0x1683=function(){return _0x860f35;};return _0x1683();}mars3d__namespace[_0x688102(0x480,0x426)]['register']('canvasWind',CanvasWindLayer),mars3d__namespace[_0x688102(0x59a,0x513)][_0x27456a(0x5c0,0x5b0)]=CanvasWindLayer,mars3d__namespace['CanvasWindField']=CanvasWindField,mars3d__namespace['WindUtil']=WindUtil,exports[_0x27456a(0x5a4,0x5c9)]=CanvasWindField,exports['CanvasWindLayer']=CanvasWindLayer,exports['WindLayer']=WindLayer,exports['WindUtil']=WindUtil;const _0x43afe1={};_0x43afe1['value']=!![],Object['defineProperty'](exports,_0x688102(0x4f1,0x48c),_0x43afe1); })); diff --git a/src/components/mars-ui/README.md b/src/components/mars-ui/README.md index b88b0585e..1a7711a5c 100644 --- a/src/components/mars-ui/README.md +++ b/src/components/mars-ui/README.md @@ -45,7 +45,7 @@ MarsUIInstall(app); "consola": "^3.2.3", "echarts": "^5.4.3", "mars3d": "~3.8.0", - "mars3d-cesium": "~1.123.0", + "mars3d-cesium": "~1.124.0", "nprogress": "^0.2.0", "vite-plugin-style-import": "^2.0.0", "vue": "^3.2.27", diff --git a/src/example/control/basis/clockAnimate-duration/map.js b/src/example/control/basis/clockAnimate-duration/map.js index 9ccfbe445..be53af1d0 100644 --- a/src/example/control/basis/clockAnimate-duration/map.js +++ b/src/example/control/basis/clockAnimate-duration/map.js @@ -74,6 +74,27 @@ export function setClockAnimateTime(startTimes, stopTimes) { } function addDemoData() { + // 字幕 + const subtitles = new mars3d.control.Subtitles({ + list: [ + { text: "我是第1句话,0-5,持续5秒钟", start: 0, duration: 5 }, + { text: "我是第2句话,8-11,持续3秒钟", start: 8, duration: 3 }, + { text: "我是第3句话,15-19,持续4秒钟", start: 15, duration: 4 }, + { text: "我是第4句话,25-35,持续10秒钟", start: 25, duration: 10 }, + { text: "我是第5句话,40-60,持续60秒钟", start: 40, stop: 60 } // 其中stop和duration二选一 + ], + style: { + // 可以传入任意css值 + left: "30px", + right: "30px", + bottom: "60px", + fontSize: "30px", + fontFamily: "微软雅黑" + } + }) + map.addControl(subtitles) + + // 矢量对象 const graphic = new mars3d.graphic.BillboardEntity({ position: [116.313736, 30.86082, 420], @@ -87,6 +108,32 @@ function addDemoData() { map.graphicLayer.addGraphic(graphic) console.log(`1.测试矢量对象`, graphic) + const graphic2 = new mars3d.graphic.DivGraphic({ + position: [116.960075, 31.19609, 237.4], + style: { + html: `
安徽欢迎您
`, + horizontalOrigin: Cesium.HorizontalOrigin.CENTER, + verticalOrigin: Cesium.VerticalOrigin.BOTTOM + + // 高亮时的样式 + // highlight: { + // type: mars3d.EventType.click, + // className: "marsGreenGradientPnl-highlight" + // } + }, + attr: { remark: "示例3" } + }) + map.graphicLayer.addGraphic(graphic2) + + // 在指定时间范围显示对象 0-10,20-30,40-max + const now = map.clock.currentTime + graphic2.availability = [ + { start: now, stop: Cesium.JulianDate.addSeconds(now, 10, new Cesium.JulianDate()) }, + { start: Cesium.JulianDate.addSeconds(now, 20, new Cesium.JulianDate()), stop: Cesium.JulianDate.addSeconds(now, 30, new Cesium.JulianDate()) }, + { start: Cesium.JulianDate.addSeconds(now, 40, new Cesium.JulianDate()), stop: "2999-01-01 00:00:00" } + ] + console.log(`2.测试矢量对象2`, graphic2) + // 图层 const graphicLayer = new mars3d.layer.GeoJsonLayer({ name: "标绘示例数据", @@ -98,7 +145,7 @@ function addDemoData() { ] }) map.addLayer(graphicLayer) - console.log(`2.测试图层`, graphicLayer) + console.log(`3.测试图层`, graphicLayer) // 特效 const rainEffect = new mars3d.effect.RainEffect({ @@ -111,9 +158,37 @@ function addDemoData() { ] }) map.addEffect(rainEffect) - console.log(`3.测试特效`, rainEffect) + console.log(`4.测试特效`, rainEffect) + + autoAddTimeControl() +} + +function autoAddTimeControl() { + const taskResult = map.getTimeTaskList() + if (taskResult.duration > 0 && taskResult.list?.length > 0) { + console.log(`当前地图所有时序相关任务清单`, taskResult) + + // 停止,手动开始 + // map.clock.shouldAnimate = false + // 修改时间 + const startTime = map.clock.startTime + map.clock.currentTime = map.clock.startTime // 设置当前时间 = 开始时间 - // 打印列表 - console.log(`4.当前地图所有时序`, map.getAvailabilityList()) + const stopTime = Cesium.JulianDate.addSeconds(startTime, taskResult.duration + 1, new Cesium.JulianDate()) + map.clock.stopTime = stopTime + + // 添加控件 + if (!map.control.timeline) { + const clockAnimate = new mars3d.control.ClockAnimate({ format: "duration" }) + map.addControl(clockAnimate) + } + + if (map.control.timeline) { + map.control.timeline.zoomTo(startTime, stopTime) + } else { + const timeline = new mars3d.control.Timeline({ format: "duration" }) + map.addControl(timeline) + } + } } diff --git a/src/example/graphic/divGraphic/basis/map.js b/src/example/graphic/divGraphic/basis/map.js index c61f689ec..bbd6eb291 100644 --- a/src/example/graphic/divGraphic/basis/map.js +++ b/src/example/graphic/divGraphic/basis/map.js @@ -153,8 +153,8 @@ function addDemoGraphic4(graphicLayer) { position: [116.79013, 31.164872, 289], style: { image: "//data.mars3d.cn/img/marker/gif/typhoon.gif", - width: "50px", - height: "50px", + width: 50, + height: 50, distanceDisplayCondition: new Cesium.DistanceDisplayCondition(0, 200000) // 按视距距离显示 }, attr: { remark: "示例4" }, diff --git a/src/example/layer-graphic/draw/draw-model/index.vue b/src/example/layer-graphic/draw/draw-model/index.vue index 00469b6c0..fa57dc0bf 100644 --- a/src/example/layer-graphic/draw/draw-model/index.vue +++ b/src/example/layer-graphic/draw/draw-model/index.vue @@ -15,7 +15,7 @@
保存 - 打开... diff --git a/src/example/layer-graphic/draw/draw/index.vue b/src/example/layer-graphic/draw/draw/index.vue index ace3cfbd4..141278d0e 100644 --- a/src/example/layer-graphic/draw/draw/index.vue +++ b/src/example/layer-graphic/draw/draw/index.vue @@ -18,7 +18,7 @@ 数据管理:
- 打开 diff --git a/src/example/layer-graphic/draw/military/index.vue b/src/example/layer-graphic/draw/military/index.vue index 4960c51c5..8b4d2b204 100644 --- a/src/example/layer-graphic/draw/military/index.vue +++ b/src/example/layer-graphic/draw/military/index.vue @@ -20,7 +20,7 @@ 保存GeoJSON - 打开GeoJSON diff --git a/src/example/layer-tileset/monomer/building-edit/index.vue b/src/example/layer-tileset/monomer/building-edit/index.vue index da8769815..d953d27ba 100644 --- a/src/example/layer-tileset/monomer/building-edit/index.vue +++ b/src/example/layer-tileset/monomer/building-edit/index.vue @@ -4,7 +4,7 @@
- 打开 diff --git a/src/example/layer-tileset/monomer/household-edit/index.vue b/src/example/layer-tileset/monomer/household-edit/index.vue index 53d4edc50..c80dbeea3 100644 --- a/src/example/layer-tileset/monomer/household-edit/index.vue +++ b/src/example/layer-tileset/monomer/household-edit/index.vue @@ -4,7 +4,7 @@ 新增 导出 - 导入 diff --git a/src/example/thing/analysis/measure/index.vue b/src/example/thing/analysis/measure/index.vue index 04df19a18..a4e3368c5 100644 --- a/src/example/thing/analysis/measure/index.vue +++ b/src/example/thing/analysis/measure/index.vue @@ -19,7 +19,7 @@
保存Json - + 打开Json 清除 diff --git a/src/example/thing/other/task/CameraList.js b/src/example/thing/other/task/CameraList.js index 4c1809b32..01753ab0d 100644 --- a/src/example/thing/other/task/CameraList.js +++ b/src/example/thing/other/task/CameraList.js @@ -16,7 +16,7 @@ class CameraList extends mars3d.TaskItem { // 暂停(非必须) _pauseWork() { - this._disableWork() + // this._disableWork() } } mars3d.thing.Task.register("cameraList", CameraList) diff --git a/src/example/thing/other/task/map.js b/src/example/thing/other/task/map.js index 8c0e963d2..987502375 100644 --- a/src/example/thing/other/task/map.js +++ b/src/example/thing/other/task/map.js @@ -152,6 +152,8 @@ export function onMounted(mapInstance) { console.log(`当前共${task.count}个任务需要执行,总时长${task.duration}秒`, task) eventTarget.fire("getTableData", { list: task.listDX, allDuration: task.duration }) + + autoAddTimeControl() } /** @@ -170,3 +172,35 @@ export function startPlay() { export function updateShouldAnimate(value) { map.clock.shouldAnimate = value } + + + +function autoAddTimeControl() { + const taskResult = map.getTimeTaskList() + if (taskResult.duration > 0 && taskResult.list?.length > 0) { + console.log(`当前地图所有时序相关任务清单`, taskResult) + + // 停止,手动开始 + // map.clock.shouldAnimate = false + + // 修改时间 + const startTime = map.clock.startTime + map.clock.currentTime = map.clock.startTime // 设置当前时间 = 开始时间 + + const stopTime = Cesium.JulianDate.addSeconds(startTime, taskResult.duration + 1, new Cesium.JulianDate()) + map.clock.stopTime = stopTime + + // 添加控件 + if (!map.control.timeline) { + const clockAnimate = new mars3d.control.ClockAnimate({ format: "duration" }) + map.addControl(clockAnimate) + } + + if (map.control.timeline) { + map.control.timeline.zoomTo(startTime, stopTime) + } else { + const timeline = new mars3d.control.Timeline({ format: "duration" }) + map.addControl(timeline) + } + } +} diff --git a/src/widgets/basic/graphic-editor/config/style.js b/src/widgets/basic/graphic-editor/config/style.js index e7b461fa9..79824844e 100644 --- a/src/widgets/basic/graphic-editor/config/style.js +++ b/src/widgets/basic/graphic-editor/config/style.js @@ -863,6 +863,25 @@ const styleConfig = { { name: "html", label: "Html文本", type: "label", defval: "" } ] }, + divGif: { + name: "动态图标", + style: [ + { + name: "image", + label: "图标", + type: "label", + }, + { + name: "width", + label: "宽度", + type: "number", + min: 0, + step: 1, + defval: 0.0 + }, + { name: "height", label: "高度", type: "number", min: 0, step: 1, defval: 0.0 } + ] + }, billboardIndicator: { name: "可拖拽图标点", style: [